From d1442b0538d85e5890edbc52b512c356fb611143 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Fri, 4 Sep 2020 11:33:49 -0600 Subject: [PATCH 001/726] enable per-atom custom arrays in addition to vectors --- doc/src/balance.rst | 18 +- doc/src/compute_property_atom.rst | 117 ++++---- doc/src/dump.rst | 45 +-- doc/src/fix_property_atom.rst | 258 +++++++++-------- doc/src/fix_store_state.rst | 35 ++- doc/src/group.rst | 37 ++- doc/src/set.rst | 34 ++- src/Makefile | 1 + src/atom.cpp | 202 ++++++++++--- src/atom.h | 17 +- src/compute_property_atom.cpp | 171 +++++++---- src/compute_property_atom.h | 20 +- src/dump_custom.cpp | 279 +++++++++++------- src/dump_custom.h | 25 +- src/fix_group.cpp | 34 ++- src/fix_group.h | 2 +- src/fix_property_atom.cpp | 453 +++++++++++++++++++++--------- src/fix_property_atom.h | 9 +- src/fix_store_state.cpp | 199 ++++++++----- src/imbalance_store.cpp | 13 +- src/input.cpp | 53 +++- src/set.cpp | 88 ++++-- src/set.h | 2 +- 23 files changed, 1390 insertions(+), 722 deletions(-) diff --git a/doc/src/balance.rst b/doc/src/balance.rst index e023b6f2f0..afa43cbc2f 100644 --- a/doc/src/balance.rst +++ b/doc/src/balance.rst @@ -465,12 +465,18 @@ atom-style variables can reference the position of a particle, its velocity, the volume of its Voronoi cell, etc. The *store* weight style does not compute a weight factor. Instead it -stores the current accumulated weights in a custom per-atom property -specified by *name*\ . This must be a property defined as *d_name* via -the :doc:`fix property/atom ` command. Note that -these custom per-atom properties can be output in a :doc:`dump ` -file, so this is a way to examine, debug, or visualize the -per-particle weights computed during the load-balancing operation. +stores the current accumulated weights in a custom per-atom vector +specified by *name*\ . This must be a vector defined as *d_name* via +the :doc:`fix property/atom ` command. This means +the values in the vector can be read as part of a data file with the +:doc:`read_data ` command or specified with the :doc:`set +` command. These weights can also be output in a :doc:`dump +` file, so this is a way to examine, debug, or visualize the +per-particle weights used during the load-balancing operation. + +Note that the name of the custom per-atom vector is specified just +as *name*, not as *d_name* as it is for other commands that use +different kinds of custom atom vectors or arrays as arguments. ---------- diff --git a/doc/src/compute_property_atom.rst b/doc/src/compute_property_atom.rst index ec9322bb7b..b455b7ae53 100644 --- a/doc/src/compute_property_atom.rst +++ b/doc/src/compute_property_atom.rst @@ -20,7 +20,8 @@ Syntax x, y, z, xs, ys, zs, xu, yu, zu, ix, iy, iz, vx, vy, vz, fx, fy, fz, q, mux, muy, muz, mu, - sp, spx, spy, spz, fmx, fmy, fmz, + spx, spy, spz, sp, fmx, fmy, fmz, + nbonds, radius, diameter, omegax, omegay, omegaz, angmomx, angmomy, angmomz, shapex,shapey, shapez, @@ -29,42 +30,42 @@ Syntax corner1x, corner1y, corner1z, corner2x, corner2y, corner2z, corner3x, corner3y, corner3z, - nbonds, - buckling, - vfrac, s0, - spin, eradius, ervel, erforce, - rho, drho, e, de, cv, - i_name, d_name + i_name, d_name, i2_name[I], d2_name[I], + vfrac, s0, spin, eradius, ervel, erforce, + rho, drho, e, de, cv, buckling .. parsed-literal:: - id = atom ID - mol = molecule ID - proc = ID of processor that owns atom - type = atom type - mass = atom mass - x,y,z = unscaled atom coordinates - xs,ys,zs = scaled atom coordinates - xu,yu,zu = unwrapped atom coordinates - ix,iy,iz = box image that the atom is in - vx,vy,vz = atom velocities - fx,fy,fz = forces on atoms - q = atom charge - mux,muy,muz = orientation of dipole moment of atom - mu = magnitude of dipole moment of atom - sp = atomic magnetic spin moment - spx, spy, spz = direction of the atomic magnetic spin - fmx, fmy, fmz = magnetic force - radius,diameter = radius,diameter of spherical particle - omegax,omegay,omegaz = angular velocity of spherical particle - angmomx,angmomy,angmomz = angular momentum of aspherical particle - shapex,shapey,shapez = 3 diameters of aspherical particle - quatw,quati,quatj,quatk = quaternion components for aspherical or body particles - tqx,tqy,tqz = torque on finite-size particles - end12x, end12y, end12z = end points of line segment - corner123x, corner123y, corner123z = corner points of triangle - nbonds = number of bonds assigned to an atom - buckling = buckling flag used in mesoscopic simulation of nanotubes + *id* = atom ID + *mol* = molecule ID + *proc* = ID of processor that owns atom + *type* = atom type + *mass* = atom mass + *x,y,z* = unscaled atom coordinates + *xs,ys,zs* = scaled atom coordinates + *xu,yu,zu* = unwrapped atom coordinates + *ix,iy,iz* = box image that the atom is in + *vx,vy,vz* = atom velocities + *fx,fy,fz* = forces on atoms + *q* = atom charge + *mux,muy,muz* = orientation of dipole moment of atom + *mu* = magnitude of dipole moment of atom + *spx, spy, spz* = direction of the atomic magnetic spin + *sp* = magintude of atomic magnetic spin moment + *fmx, fmy, fmz* = magnetic force + *nbonds* = number of bonds assigned to an atom + *radius,diameter* = radius,diameter of spherical particle + *omegax,omegay,omegaz* = angular velocity of spherical particle + *angmomx,angmomy,angmomz* = angular momentum of aspherical particle + *shapex,shapey,shapez* = 3 diameters of aspherical particle + *quatw,quati,quatj,quatk* = quaternion components for aspherical or body particles + *tqx,tqy,tqz* = torque on finite-size particles + *end12x, end12y, end12z* = end points of line segment + *corner123x, corner123y, corner123z* = corner points of triangle + *i_name* = custom integer vector with name + *d_name* = custom floating point vector with name + *i2_name[I]* = Ith column of custom integer array with name + *d2_name[I]* = Ith column of custom floating-point array with name .. parsed-literal:: @@ -91,9 +92,8 @@ Syntax .. parsed-literal:: - :doc:`fix property/atom ` per-atom properties: - i_name = custom integer vector with name - d_name = custom integer vector with name + USER-MESONT package per-atom properties: + buckling = buckling flag used in mesoscopic simulation of nanotubes Examples """""""" @@ -104,6 +104,7 @@ Examples compute 2 all property/atom type compute 1 all property/atom ix iy iz compute 3 all property/atom sp spx spy spz + compute 1 all property/atom i_myFlag d_Sxyz[1] d_Sxyz[3] Description """"""""""" @@ -116,20 +117,37 @@ ave/atom `, :doc:`fix ave/histo `, :doc:`fix ave/chunk `, and :doc:`atom-style variable ` commands. -The list of possible attributes is the same as that used by the -:doc:`dump custom ` command, which describes their meaning, with -some additional quantities that are only defined for certain -:doc:`atom styles `. Basically, this augmented list gives -an input script access to any per-atom quantity stored by LAMMPS. +The list of possible attributes is essentially the same as that used +by the :doc:`dump custom ` command, which describes their +meaning, with some additional quantities that are only defined for +certain :doc:`atom styles `. The goal of this augmented +list gives an input script access to any per-atom quantity stored by +LAMMPS. The values are stored in a per-atom vector or array as discussed below. Zeroes are stored for atoms not in the specified group or for quantities that are not defined for a particular particle in the group (e.g. *shapex* if the particle is not an ellipsoid). +Attributes *i_name*, *d_name*, *i2_name*, *d2_name* refer to custom +per-atom integer and floating-point vectors or arrays that have been +added via the :doc:`fix property/atom ` command. +When that command is used specific names are given to each attribute +which are the "name" portion of these attributes. For arrays *i2_name* +and *d2_name*, the column of the array must also be included following +the name in brackets: e.g. d2_xyz[2], i2_mySpin[3]. + The additional quantities only accessible via this command, and not directly via the :doc:`dump custom ` command, are as follows. +*Nbonds* is available for all molecular atom styles and refers to the +number of explicit bonds assigned to an atom. Note that if the +:doc:`newton bond ` command is set to *on*\ , which is the +default, then every bond in the system is assigned to only one of the +two atoms in the bond. Thus a bond between atoms I,J may be tallied +for either atom I or atom J. If :doc:`newton bond off ` is +set, it will be tallied with both atom I and atom J. + *Shapex*\ , *shapey*\ , and *shapez* are defined for ellipsoidal particles and define the 3d shape of each particle. @@ -146,19 +164,8 @@ line segment. *corner2z*\ , *corner3x*\ , *corner3y*\ , *corner3z*\ , are defined for triangular particles and define the corner points of each triangle. -*Nbonds* is available for all molecular atom styles and refers to the -number of explicit bonds assigned to an atom. Note that if the -:doc:`newton bond ` command is set to *on*\ , which is the -default, then every bond in the system is assigned to only one of the -two atoms in the bond. Thus a bond between atoms I,J may be tallied -for either atom I or atom J. If :doc:`newton bond off ` is -set, it will be tallied with both atom I and atom J. - -The *i_name* and *d_name* attributes refer to custom integer and -floating-point properties that have been added to each atom via the -:doc:`fix property/atom ` command. When that -command is used specific names are given to each attribute which are -what is specified as the "name" portion of *i_name* or *d_name*. +In addition, the various per-atom quantities listed above for specific +packages are only accessible by this command. Output info """"""""""" diff --git a/doc/src/dump.rst b/doc/src/dump.rst index 36a20defb6..2b7e6d7bae 100644 --- a/doc/src/dump.rst +++ b/doc/src/dump.rst @@ -78,7 +78,8 @@ Syntax q, mux, muy, muz, mu, radius, diameter, omegax, omegay, omegaz, angmomx, angmomy, angmomz, tqx, tqy, tqz, - c_ID, c_ID[N], f_ID, f_ID[N], v_name + c_ID, c_ID[I], f_ID, f_ID[I], v_name, + i_name, d_name, i2_name[I], d2_name[I] .. parsed-literal:: @@ -108,8 +109,10 @@ Syntax f_ID = per-atom vector calculated by a fix with ID f_ID[I] = Ith column of per-atom array calculated by a fix with ID, I can include wildcard (see below) v_name = per-atom vector calculated by an atom-style variable with name - d_name = per-atom floating point vector with name, managed by fix property/atom - i_name = per-atom integer vector with name, managed by fix property/atom + i_name = custom integer vector with name + d_name = custom floating point vector with name + i2_name[I] = Ith column of custom integer array with name, I can include wildcard (see below) + d2_name[I] = Ith column of custom floating point vector with name, I can include wildcard (see below) * *local* args = list of local attributes @@ -134,7 +137,7 @@ Examples dump 2 subgroup atom 50 dump.run.mpiio.bin dump 4a all custom 100 dump.myforce.* id type x y vx fx dump 4b flow custom 100 dump.%.myforce id type c_myF[3] v_ke - dump 4b flow custom 100 dump.%.myforce id type c_myF[\*] v_ke + dump 4b flow custom 100 dump.%.myforce id type c_myF[*] v_ke dump 2 inner cfg 10 dump.snap.*.cfg mass type xs ys zs vx vy vz dump snap all cfg 100 dump.config.*.cfg mass type xs ys zs id type c_Stress[2] dump 1 all xtc 1000 file.xtc @@ -465,16 +468,15 @@ styles. ---------- Note that in the discussion which follows, for styles which can -reference values from a compute or fix, like the *custom*\ , *cfg*\ , or -*local* styles, the bracketed index I can be specified using a -wildcard asterisk with the index to effectively specify multiple -values. This takes the form "\*" or "\*n" or "n\*" or "m\*n". If N = the -size of the vector (for *mode* = scalar) or the number of columns in -the array (for *mode* = vector), then an asterisk with no numeric -values means all indices from 1 to N. A leading asterisk means all -indices from 1 to n (inclusive). A trailing asterisk means all -indices from n to N (inclusive). A middle asterisk means all indices -from m to n (inclusive). +reference values from a compute or fix or custom atom property, like +the *custom*\ , *cfg*\ , or *local* styles, the bracketed index I can +be specified using a wildcard asterisk with the index to effectively +specify multiple values. This takes the form "\*" or "\*n" or "n\*" +or "m\*n". If N = the number of columns in the array, then an +asterisk with no numeric values means all column indices from 1 to N. +A leading asterisk means all indices from 1 to n (inclusive). A +trailing asterisk means all indices from n to N (inclusive). A middle +asterisk means all indices from m to n (inclusive). Using a wildcard is the same as if the individual columns of the array had been listed one by one. E.g. these 2 dump commands are @@ -512,8 +514,9 @@ bonds and angles. Note that computes which calculate global or per-atom quantities, as opposed to local quantities, cannot be output in a dump local command. -Instead, global quantities can be output by the :doc:`thermo_style custom ` command, and per-atom quantities can be -output by the dump custom command. +Instead, global quantities can be output by the :doc:`thermo_style +custom ` command, and per-atom quantities can be output +by the dump custom command. If *c_ID* is used as a attribute, then the local vector calculated by the compute is printed. If *c_ID[I]* is used, then I must be in the @@ -660,9 +663,13 @@ invoke other computes, fixes, or variables when they are evaluated, so this is a very general means of creating quantities to output to a dump file. -The *d_name* and *i_name* attributes allow to output custom per atom -floating point or integer properties that are managed by -:doc:`fix property/atom `. +The *i_name*, *d_name*, *i2_name*, *d2_name* attributes refer to +per-atom integer and floating-point vectors or arrays that have been +added via the :doc:`fix property/atom ` command. +When that command is used specific names are given to each attribute +which are the "name" portion of these keywords. For arrays *i2_name* +and *d2_name*, the column of the array must also be included following +the name in brackets: e.g. d2_xyz[2], i2_mySpin[3]. See the :doc:`Modify ` doc page for information on how to add new compute and fix styles to LAMMPS to calculate per-atom quantities diff --git a/doc/src/fix_property_atom.rst b/doc/src/fix_property_atom.rst index eaf246c1a3..584451cba1 100644 --- a/doc/src/fix_property_atom.rst +++ b/doc/src/fix_property_atom.rst @@ -11,11 +11,11 @@ Syntax .. parsed-literal:: - fix ID group-ID property/atom vec1 vec2 ... keyword value ... + fix ID group-ID property/atom name1 name2 ... keyword value ... * ID, group-ID are documented in :doc:`fix ` command * property/atom = style name of this fix command -* vec1,vec2,... = *mol* or *q* or *rmass* or *i_name* or *d_name* +* name1,name2,... = *mol* or *q* or *rmass* or *i_name* or *d_name* or *i2_name* or *d2_name* .. parsed-literal:: @@ -24,6 +24,10 @@ Syntax *rmass* = per-atom mass *i_name* = new integer vector referenced by name *d_name* = new floating-point vector referenced by name + *i2_name* = new integer array referenced by name + i2_name arg = N = number of columns in the array + *d2_name* = new floating-point array referenced by name + d2_name arg = N = number of columns in the array * zero of more keyword/value pairs may be appended * keyword = *ghost* @@ -39,58 +43,64 @@ Examples fix 1 all property/atom mol fix 1 all property/atom i_myflag1 i_myflag2 - fix 1 all property/atom d_sx d_sy d_sz + fix 1 all property/atom d2_sxyz 3 ghost yes Description """"""""""" -Create one or more additional per-atom vectors to store information -about atoms and to use during a simulation. The specified *group-ID* -is ignored by this fix. +Create one or more additional per-atom vectors or arrays to store +information about atoms and to use during a simulation. The specified +*group-ID* is ignored by this fix. The atom style used for a simulation defines a set of per-atom properties, as explained on the :doc:`atom_style ` and -:doc:`read_data ` doc pages. The latter command allows these -properties to be defined for each atom in the system when a data file -is read. This fix will augment the set of properties with new custom +:doc:`read_data ` doc pages. The latter command defines +these properties for each atom in the system when a data file is read. +This fix augments the set of per-atom properties with new custom ones. This can be useful in several scenarios. -If the atom style does not define molecule IDs, per-atom charge, -or per-atom mass, they can be added using the *mol*\ , *q* or *rmass* -keywords. This can be useful, e.g, to define "molecules" to use as -rigid bodies with the :doc:`fix rigid ` command, or just to -carry around an extra flag with the atoms (stored as a molecule ID) -that can be used to group atoms without having to use the group +If the atom style does not define molecule IDs, per-atom charge, or +per-atom mass, they can be added using the *mol*\ , *q* or *rmass* +keywords. This ciykd be useful to define "molecules" to use as rigid +bodies with the :doc:`fix rigid ` command, or to carry +around an extra flag with atoms (stored as a molecule ID) that can be +used by various commands like :doc:`compute chunk/atom +` to group atoms without having to use the group command (which is limited to a total of 32 groups including *all*\ ). -Another application would be to use the *rmass* flag in order to have -per-atom masses instead of per-type masses, for example this can be -useful to study isotope effects with partial isotope substitution. -Please :ref:`see below ` for an example of simulating a mixture -of light and heavy water with the TIP4P water potential. +Another application is to use the *rmass* flag in order to have +per-atom masses instead of per-type masses. This could be used to +study isotope effects with partial isotope substitution. :ref:`See +below ` for an example of simulating a mixture of light and +heavy water with the TIP4P water potential. -An alternative to using fix *property/atom* in these ways is to +An alternative to using fix *property/atom* for these examples is to use an atom style that does define molecule IDs or charge or per-atom mass (indirectly via diameter and density) or to use a hybrid atom -style that combines two or more atom styles -to provide the union of all atom properties. However, this has two -practical drawbacks: first, it typically necessitates changing the -format of the data file, which can be tedious for large systems; -and second, it may define additional properties that are not needed -such as bond lists, which has some overhead when there are no bonds. +style that combines two or more atom styles to provide the union of +all their atom properties. However, this has two practical drawbacks: +first, it typically necessitates changing the format of the Atoms +section in the data file and second, it may define additional +properties that are not needed such as bond lists, which incurs some +overhead when there are no bonds. -In the future, we may add additional per-atom properties similar to -*mol*\ , *q* or *rmass*\ , which "turn-on" specific properties defined -by some atom styles, so they can be used by atom styles that do not -define them. +In the future, we may add additional existing per-atom properties to +fix property/atom, similar to *mol*\ , *q* or *rmass*\ , which +"turn-on" specific properties defined by some atom styles, so they can +be easily used by atom styles that do not define them. -More generally, the *i_name* and *d_name* vectors allow one or more -new custom per-atom properties to be defined. Each name must be -unique and can use alphanumeric or underscore characters. These -vectors can store whatever values you decide are useful in your -simulation. As explained below there are several ways to initialize -and access and output these values, both via input script commands and -in new code that you add to LAMMPS. +More generally, the *i_name* and *d_name* options allow one or more +new custom per-atom vectors to be defined. Likewise the *i2_name* and +*d2_name* options allow one or more custom per-atom arrays to be +defined. The *i2_name* and *d2_name* options take an argument *N* +which specifies the number of columns in the per-atom array, i.e. the +number of attributes associated with each atom. *N* >= 1 is required. + +Each name must be unique and can use alphanumeric or underscore +characters. These vectors and arrays can store whatever values you +decide are useful in your simulation. As explained below there are +several ways to initialize, access, and output these values, via input +script commands, data files, and in new code you add to LAMMPS. This is effectively a simple way to add per-atom properties to a model without needing to write code for a new :doc:`atom style ` @@ -107,42 +117,38 @@ new properties are also defined for the ghost atoms. .. note:: - If you use this command with the *mol*\ , *q* or *rmass* vectors, - then you most likely want to set *ghost* yes, since these properties - are stored with ghost atoms if you use an :doc:`atom_style ` - that defines them, and many LAMMPS operations that use molecule IDs or - charge, such as neighbor lists and pair styles, will expect ghost - atoms to have these values. LAMMPS will issue a warning it you define - those vectors but do not set *ghost* yes. + If you use the *mol*\ , *q* or *rmass* names, you most likely want + to set *ghost* yes, since these properties are stored with ghost + atoms if you use an :doc:`atom_style ` that defines + them. Many LAMMPS operations that use molecule IDs or charge, such + as neighbor lists and pair styles, will expect ghost atoms to have + these values. LAMMPS will issue a warning it you define those + vectors but do not set *ghost* yes. .. note:: - The properties for ghost atoms are not updated every timestep, - but only once every few steps when neighbor lists are re-built. Thus - the *ghost* keyword is suitable for static properties, like molecule - IDs, but not for dynamic properties that change every step. For the - latter, the code you add to LAMMPS to change the properties will also - need to communicate their new values to/from ghost atoms, an operation - that can be invoked from within a :doc:`pair style ` or - :doc:`fix ` or :doc:`compute ` that you write. - -.. note:: - - If this fix is defined **after** the simulation box is created, - a 'run 0' command should be issued to properly initialize the storage - created by this fix. + The specified properties for ghost atoms are not updated every + timestep, but only once every few steps when neighbor lists are + re-built. Thus the *ghost* keyword is suitable for static + properties, like molecule IDs, but not for dynamic properties that + change every step. For the latter, the code you add to LAMMPS to + change the properties will also need to communicate their new + values to/from ghost atoms, an operation that can be invoked from + within a :doc:`pair style ` or :doc:`fix ` or + :doc:`compute ` that you write. ---------- This fix is one of a small number that can be defined in an input script before the simulation box is created or atoms are defined. -This is so it can be used with the :doc:`read_data ` command -as described below. +This is so it can be used with the :doc:`read_data ` +command as described next. -Per-atom properties that are defined by the :doc:`atom style ` are initialized when atoms are created, e.g. by -the :doc:`read_data ` or :doc:`create_atoms ` +Per-atom properties that are defined by the :doc:`atom style +` are initialized when atoms are created, e.g. by the +:doc:`read_data ` or :doc:`create_atoms ` commands. The per-atom properties defined by this fix are not. So -you need to initialize them explicitly. This can be done by the +you need to initialize them explicitly. One way to do thisis :doc:`read_data ` command, using its *fix* keyword and passing it the fix-ID of this fix. @@ -167,15 +173,22 @@ would allow a data file to have a section like this: ... N 763 4.5 -where N is the number of atoms, and the first field on each line is -the atom-ID, followed by a molecule-ID and a floating point value that -will be stored in a new property called "flag". Note that the list of -per-atom properties can be in any order. +where N is the number of atoms, the first field on each line is the +atom-ID, the next two are a molecule-ID and a floating point value +that will be stored in a new property called "flag". If a per-atom +array was specified in the fix property/atom commmand then the *N* +values for that array must be specified consecutively for that +property on each line. -Another way of initializing the new properties is via the -:doc:`set ` command. For example, if you wanted molecules -defined for every set of 10 atoms, based on their atom-IDs, -these commands could be used: +Note that the the lines of per-atom properties can be listed in any +order. Also note that all the per-atom properties specified by the +fix ID (prop in this case) must be included on each line in the +specified data file section (Molecules in this case). + +Another way of initializing the new properties is via the :doc:`set +` command. For example, if you wanted molecules defined for +every set of 10 atoms, based on their atom-IDs, these commands could +be used: .. code-block:: LAMMPS @@ -185,53 +198,59 @@ these commands could be used: The :doc:`atom-style variable ` will create values for atoms with IDs 31,32,33,...40 that are 4.0,4.1,4.2,...,4.9. When the -:doc:`set ` commands assigns them to the molecule ID for each atom, -they will be truncated to an integer value, so atoms 31-40 will all be -assigned a molecule ID of 4. +:doc:`set ` commands assigns them to the molecule ID for each +atom, they will be truncated to an integer value, so atoms 31-40 will +all be assigned a molecule ID of 4. -Note that :doc:`atomfile-style variables ` can also be used in -place of atom-style variables, which means in this case that the +Note that :doc:`atomfile-style variables ` can also be used +in place of atom-style variables, which means in this case that the molecule IDs could be read-in from a separate file and assigned by the :doc:`set ` command. This allows you to initialize new per-atom properties in a completely general fashion. ---------- -For new atom properties specified as *i_name* or *d_name*, the -:doc:`compute property/atom ` command can access -their values. This means that the values can be output via the :doc:`dump custom ` command, accessed by fixes like :doc:`fix ave/atom `, accessed by other computes like :doc:`compute reduce `, or used in :doc:`atom-style variables `. +For new atom properties specified as *i_name*, *d_name*, *i2_name*, or +*d2_name*, the :doc:`dump custom ` and :doc:`compute +property/atom ` commands can access their +values. This means that the values can be used accessed by fixes like +:doc:`fix ave/atom `, accessed by other computes like +:doc:`compute reduce `, or used in :doc:`atom-style +variables `. -For example, these commands will output two new properties to a custom -dump file: +For example, these commands will output both the instantanous and +time-averaged values of two new properties to a custom dump file: .. code-block:: LAMMPS - fix prop all property/atom i_flag1 d_flag2 + fix myprops all property/atom i_flag1 d_flag2 compute 1 all property/atom i_flag1 d_flag2 - dump 1 all custom 100 tmp.dump id x y z c_1[1] c_1[2] + fix 1 all ave/atom 10 10 100 c_1[1] c_1[2] + dump 1 all custom 100 tmp.dump id x y z i_flag1 d_flag2 f_1[1] f_1[2] ---------- -If you wish to add new :doc:`pair styles `, -:doc:`fixes `, or :doc:`computes ` that use the per-atom -properties defined by this fix, see the :doc:`Modify atom ` -doc page which has details on how the properties can be accessed from -added classes. +If you wish to add new :doc:`pair styles `, :doc:`fixes +`, or :doc:`computes ` that use the per-atom properties +defined by this fix, see the :doc:`Modify atom ` doc page +which has details on how the custom properties of this fix can be +accessed from added classes. ---------- .. _isotopes: -Example for using per-atom masses with TIP4P water to -study isotope effects. When setting up simulations with the :doc:`TIP4P pair styles ` for water, you have to provide exactly -one atom type each to identify the water oxygen and hydrogen -atoms. Since the atom mass is normally tied to the atom type, this -makes it impossible to study multiple isotopes in the same simulation. -With *fix property/atom rmass* however, the per-type masses are -replaced by per-atom masses. Asumming you have a working input deck -for regular TIP4P water, where water oxygen is atom type 1 and water -hydrogen is atom type 2, the following lines of input script convert -this to using per-atom masses: +Here is an example of using per-atom masses with TIP4P water to study +isotope effects. When setting up simulations with the :doc:`TIP4P pair +styles ` for water, you have to provide exactly one atom +type each to identify the water oxygen and hydrogen atoms. Since the +atom mass is normally tied to the atom type, this makes it impossible +to study multiple isotopes in the same simulation. With *fix +property/atom rmass* however, the per-type masses are replaced by +per-atom masses. Asumming you have a working input deck for regular +TIP4P water, where water oxygen is atom type 1 and water hydrogen is +atom type 2, the following lines of input script convert this to using +per-atom masses: .. code-block:: LAMMPS @@ -239,22 +258,22 @@ this to using per-atom masses: set type 1 mass 15.9994 set type 2 mass 1.008 -When writing out the system data with the :doc:`write_data ` -command, there will be a new section named with the fix-ID -(i.e. *Isotopes* in this case). Alternatively, you can take an -existing data file and just add this *Isotopes* section with -one line per atom containing atom-ID and mass. Either way, the -extended data file can be read back with: +When writing out the system data with the :doc:`write_data +` command, there will be a new section named with the +fix-ID (i.e. *Isotopes* in this case). Alternatively, you can take an +existing data file and just add this *Isotopes* section with one line +per atom containing atom-ID and mass. Either way, the extended data +file can be read back with: .. code-block:: LAMMPS fix Isotopes all property/atom rmass ghost yes read_data tip4p-isotopes.data fix Isotopes NULL Isotopes -Please note that the first *Isotopes* refers to the fix-ID -and the second to the name of the section. The following input -script code will now change the first 100 water molecules in this -example to heavy water: +Please note that the first *Isotopes* refers to the fix-ID and the +second to the name of the section. The following input script code +will now change the first 100 water molecules in this example to heavy +water: .. code-block:: LAMMPS @@ -271,17 +290,19 @@ example to heavy water: Restart, fix_modify, output, run start/stop, minimize info """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" -This fix writes the per-atom values it stores to :doc:`binary restart files `, so that the values can be restored when a -simulation is restarted. See the :doc:`read_restart ` -command for info on how to re-specify a fix in an input script that -reads a restart file, so that the operation of the fix continues in an +This fix writes the per-atom values it stores to :doc:`binary restart +files `, so that the values can be restored when a simulation +is restarted. See the :doc:`read_restart ` command for +info on how to re-specify a fix in an input script that reads a +restart file, so that the operation of the fix continues in an uninterrupted fashion. -None of the :doc:`fix_modify ` options are relevant to this -fix. No global or per-atom quantities are stored by this fix for +None of the :doc:`fix_modify ` options are relevant to +this fix. No global or per-atom quantities are stored by this fix for access by various :doc:`output commands `. No parameter of this fix can be used with the *start/stop* keywords of the -:doc:`run ` command. This fix is not invoked during :doc:`energy minimization `. +:doc:`run ` command. This fix is not invoked during :doc:`energy +minimization `. Restrictions """""""""""" @@ -290,9 +311,10 @@ Restrictions Related commands """""""""""""""" -:doc:`read_data `, :doc:`set `, :doc:`compute property/atom ` +:doc:`read_data `, :doc:`set `, +:doc:`compute property/atom ` Default """"""" -The default keyword values are ghost = no. +The default keyword value is ghost = no. diff --git a/doc/src/fix_store_state.rst b/doc/src/fix_store_state.rst index 5f42e3ef5d..dee46e2086 100644 --- a/doc/src/fix_store_state.rst +++ b/doc/src/fix_store_state.rst @@ -23,8 +23,8 @@ Syntax q, mux, muy, muz, mu, radius, diameter, omegax, omegay, omegaz, angmomx, angmomy, angmomz, tqx, tqy, tqz, - c_ID, c_ID[N], f_ID, f_ID[N], v_name, - d_name, i_name + c_ID, c_ID[I], f_ID, f_ID[I], v_name, + d_name, i_name, i2_name[I], d2_name[I], .. parsed-literal:: @@ -46,13 +46,15 @@ Syntax omegax,omegay,omegaz = angular velocity of spherical particle angmomx,angmomy,angmomz = angular momentum of aspherical particle tqx,tqy,tqz = torque on finite-size particles - c_ID = per-atom vector calculated by a compute with ID - c_ID[I] = Ith column of per-atom array calculated by a compute with ID - f_ID = per-atom vector calculated by a fix with ID - f_ID[I] = Ith column of per-atom array calculated by a fix with ID - v_name = per-atom vector calculated by an atom-style variable with name - d_name = per-atom floating point vector name, managed by fix property/atom - i_name = per-atom integer vector name, managed by fix property/atom + *c_ID* = per-atom vector calculated by a compute with ID + *c_ID[I]* = Ith column of per-atom array calculated by a compute with ID + *f_ID* = per-atom vector calculated by a fix with ID + *f_ID[I]* = Ith column of per-atom array calculated by a fix with ID + *v_name* = per-atom vector calculated by an atom-style variable with name + *i_name* = custom integer vector with name + *d_name* = custom floating point vector with name + *i2_name[I]* = Ith column of custom integer array with name + *d2_name[I]* = Ith column of custom floating-point array with name * zero or more keyword/value pairs may be appended * keyword = *com* @@ -92,7 +94,8 @@ steps. those attributes may require quantities that are not defined in between runs. -The list of possible attributes is the same as that used by the :doc:`dump custom ` command, which describes their meaning. +The list of possible attributes is the same as that used by the +:doc:`dump custom ` command, which describes their meaning. If the *com* keyword is set to *yes* then the *xu*\ , *yu*\ , and *zu* inputs store the position of each atom relative to the center-of-mass @@ -105,10 +108,11 @@ group. Restart, fix_modify, output, run start/stop, minimize info """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" -This fix writes the per-atom values it stores to :doc:`binary restart files `, so that the values can be restored when a -simulation is restarted. See the :doc:`read_restart ` -command for info on how to re-specify a fix in an input script that -reads a restart file, so that the operation of the fix continues in an +This fix writes the per-atom values it stores to :doc:`binary restart +files `, so that the values can be restored when a simulation +is restarted. See the :doc:`read_restart ` command for +info on how to re-specify a fix in an input script that reads a +restart file, so that the operation of the fix continues in an uninterrupted fashion. None of the :doc:`fix_modify ` options are relevant to this @@ -121,7 +125,8 @@ can be accessed by various :doc:`output commands `. The per-atom values be accessed on any timestep. No parameter of this fix can be used with the *start/stop* keywords of -the :doc:`run ` command. This fix is not invoked during :doc:`energy minimization `. +the :doc:`run ` command. This fix is not invoked during +:doc:`energy minimization `. Restrictions """""""""""" diff --git a/doc/src/group.rst b/doc/src/group.rst index 6371a030ee..61690c4d42 100644 --- a/doc/src/group.rst +++ b/doc/src/group.rst @@ -41,7 +41,7 @@ Syntax keyword = *region* or *var* or *every* *region* value = region-ID *var* value = name of variable - *property* value = name of per-atom property + *property* value = name of custom integer or floating point vector *every* value = N = update group every this many timesteps *static* = no args @@ -226,18 +226,33 @@ simulation runs. This is in contrast to static groups where atoms are permanently assigned to the group. The way the assignment occurs is as follows. Only atoms in the group specified as the parent group via the parent-ID are assigned to the dynamic group before the following -conditions are applied. If the *region* keyword is used, atoms not in -the specified region are removed from the dynamic group. If the *var* -keyword is used, the variable name must be an atom-style or -atomfile-style variable. The variable is evaluated and atoms whose -per-atom values are 0.0, are removed from the dynamic group. If the *property* -keyword is used, the per-atom property name must be a previously defined -per-atom property. The per-atom property is evaluated and atoms whose -values are 0.0 are removed from the dynamic group. +conditions are applied. + +If the *region* keyword is used, atoms not in the specified region are +removed from the dynamic group. + +If the *var* keyword is used, the variable name must be an atom-style +or atomfile-style variable. The variable is evaluated and atoms whose +per-atom values are 0.0, are removed from the dynamic group. + +If the *property* keyword is used, the name refers to a custom integer +or floating point per-atom vector defined via the :doc:`fix +property/atom ` command. This means the values in +the vector can be read as part of a data file with the :doc:`read_data +` command or specified with the :doc:`set ` command. +Or accessed and changed via the :doc:`library interface to LAMMPS +`, or by styles you add to LAMMPS (pair, fix, compute, +etc) which access the custom vector and modify its values. Which +means the values can be modified between or during simulations. Atoms +whose values in the custom vector are zero are removed from the +dynamic group. Note that the name of the custom per-atom vector is +specified just as *name*, not as *i_name* or *d_name* as it is for +other commands that use different kinds of custom atom vectors or +arrays as arguments. The assignment of atoms to a dynamic group is done at the beginning of -each run and on every timestep that is a multiple of *N*\ , which is the -argument for the *every* keyword (N = 1 is the default). For an +each run and on every timestep that is a multiple of *N*\ , which is +the argument for the *every* keyword (N = 1 is the default). For an energy minimization, via the :doc:`minimize ` command, an assignment is made at the beginning of the minimization, but not during the iterations of the minimizer. diff --git a/doc/src/set.rst b/doc/src/set.rst index f830149569..82b577ca9f 100644 --- a/doc/src/set.rst +++ b/doc/src/set.rst @@ -13,7 +13,17 @@ Syntax * style = *atom* or *type* or *mol* or *group* or *region* * ID = atom ID range or type range or mol ID range or group ID or region ID * one or more keyword/value pairs may be appended -* keyword = *type* or *type/fraction* or *type/ratio* or *type/subset* or *mol* or *x* or *y* or *z* or *charge* or *dipole* or *dipole/random* or *quat* or *spin* or *spin/random* or *quat* or *quat/random* or *diameter* or *shape* or *length* or *tri* or *theta* or *theta/random* or *angmom* or *omega* or *mass* or *density* or *density/disc* or *volume* or *image* or *bond* or *angle* or *dihedral* or *improper* or *sph/e* or *sph/cv* or *sph/rho* or *smd/contact/radius* or *smd/mass/density* or *dpd/theta* or *edpd/temp* or *edpd/cv* or *cc* or *i_name* or *d_name* +* keyword = *type* or *type/fraction* or *type/ratio* or *type/subset* + or *mol* or *x* or *y* or *z* or *charge* or *dipole* or + *dipole/random* or *quat* or *spin* or *spin/random* or + *quat* or *quat/random* or *diameter* or *shape* or + *length* or *tri* or *theta* or *theta/random* or *angmom* or + *omega* or *mass* or *density* or *density/disc* or + *volume* or *image* or *bond* or *angle* or *dihedral* or + *improper* or *sph/e* or *sph/cv* or *sph/rho* or + *smd/contact/radius* or *smd/mass/density* or *dpd/theta* or + *edpd/temp* or *edpd/cv* or *cc* or + *i_name* or *d_name* or *i2_name* or *d2_name* .. parsed-literal:: @@ -114,8 +124,12 @@ Syntax *cc* values = index cc index = index of a chemical species (1 to Nspecies) cc = chemical concentration of tDPD particles for a species (mole/volume units) - *i_name* value = value for custom integer vector with name - *d_name* value = value for custom floating-point vector with name + *i_name* value = custom integer vector with name + *d_name* value = custom floating-point vector with name + *i2_name* value = column of a custom integer array with name + column specified as i2_name[N] where N is 1 to Ncol + *d2_name* value = column of a custom floating-point array with name + column specified as d2_name[N] where N is 1 to Ncol Examples """""""" @@ -132,6 +146,8 @@ Examples set atom 100*200 x 0.5 y 1.0 set atom 100 vx 0.0 vy 0.0 vz -1.0 set atom 1492 type 3 + set atom * i_myVal 5 + set atom * d2_Sxyz[1] 6.4 Description """"""""""" @@ -473,11 +489,13 @@ attribute. An integer for "index" selects a chemical species (1 to Nspecies) where Nspecies is set by the atom_style command. The value for the chemical concentration must be >= 0.0. -Keywords *i_name* and *d_name* refer to custom integer and -floating-point properties that have been added to each atom via the -:doc:`fix property/atom ` command. When that command -is used specific names are given to each attribute which are what is -specified as the "name" portion of *i_name* or *d_name*. +Keywords *i_name*, *d_name*, *i2_name*, *d2_name* refer to custom +per-atom integer and floating-point vectors or arrays that have been +added via the :doc:`fix property/atom ` command. +When that command is used specific names are given to each attribute +which are the "name" portion of these keywords. For arrays *i2_name* +and *d2_name*, the column of the array must also be included following +the name in brackets: e.g. d2_xyz[2], i2_mySpin[3]. Restrictions """""""""""" diff --git a/src/Makefile b/src/Makefile index 4528c027cf..80d0a91a98 100644 --- a/src/Makefile +++ b/src/Makefile @@ -260,6 +260,7 @@ clean: clean-all: rm -rf Obj_* + rm style_*.h packages_*.h lmpgitversion.h lmpinstalledpkgs.h clean-%: @if [ $@ = "clean-serial" ]; \ diff --git a/src/atom.cpp b/src/atom.cpp index e930a0255e..4e2b82fb30 100644 --- a/src/atom.cpp +++ b/src/atom.cpp @@ -178,10 +178,13 @@ Atom::Atom(LAMMPS *lmp) : Pointers(lmp) // custom atom arrays - nivector = ndvector = 0; + nivector = ndvector = niarray = ndarray = 0; ivector = NULL; dvector = NULL; - iname = dname = NULL; + iarray = NULL; + darray = NULL; + icols = dcols = NULL; + ivname = dvname = ianame = daname = NULL; // initialize atom style and array existence flags @@ -262,20 +265,32 @@ Atom::~Atom() // delete custom atom arrays for (int i = 0; i < nivector; i++) { - delete [] iname[i]; + delete [] ivname[i]; memory->destroy(ivector[i]); } - if (dvector != NULL) { - for (int i = 0; i < ndvector; i++) { - delete [] dname[i]; - memory->destroy(dvector[i]); - } + for (int i = 0; i < ndvector; i++) { + delete [] dvname[i]; + memory->destroy(dvector[i]); + } + for (int i = 0; i < niarray; i++) { + delete [] ianame[i]; + memory->destroy(iarray[i]); + } + for (int i = 0; i < ndarray; i++) { + delete [] daname[i]; + memory->destroy(darray[i]); } - memory->sfree(iname); - memory->sfree(dname); + memory->sfree(ivname); + memory->sfree(dvname); + memory->sfree(ianame); + memory->sfree(daname); memory->sfree(ivector); memory->sfree(dvector); + memory->sfree(iarray); + memory->sfree(darray); + memory->sfree(icols); + memory->sfree(dcols); // delete user-defined molecules @@ -2282,23 +2297,41 @@ void Atom::update_callback(int ifix) /* ---------------------------------------------------------------------- find custom per-atom vector with name - return index if found, and flag = 0/1 for int/double - return -1 if not found + return index if found, -1 if not found + lists of names can have NULL entries if previously removed + return flag = 0/1 for int/double + return cols = 0/N for vector/array where N = # of columns ------------------------------------------------------------------------- */ -int Atom::find_custom(const char *name, int &flag) +int Atom::find_custom(const char *name, int &flag, int &cols) { - if(name == NULL) return -1; + if (name == NULL) return -1; for (int i = 0; i < nivector; i++) - if (iname[i] && strcmp(iname[i],name) == 0) { + if (ivname[i] && strcmp(ivname[i],name) == 0) { flag = 0; + cols = 0; return i; } for (int i = 0; i < ndvector; i++) - if (dname[i] && strcmp(dname[i],name) == 0) { + if (dvname[i] && strcmp(dvname[i],name) == 0) { flag = 1; + cols = 0; + return i; + } + + for (int i = 0; i < niarray; i++) + if (ianame[i] && strcmp(ianame[i],name) == 0) { + flag = 0; + cols = icols[i]; + return i; + } + + for (int i = 0; i < ndarray; i++) + if (daname[i] && strcmp(daname[i],name) == 0) { + flag = 1; + cols = dcols[i]; return i; } @@ -2306,60 +2339,107 @@ int Atom::find_custom(const char *name, int &flag) } /* ---------------------------------------------------------------------- - add a custom variable with name of type flag = 0/1 for int/double + add a custom variable with name + flag = 0/1 for int/double, cols = 0/N for vector/array where N = # of columns assumes name does not already exist - return index in ivector or dvector of its location + vectors of names and data ptrs are always incremented by one + return index in vector/array lists of its location ------------------------------------------------------------------------- */ -int Atom::add_custom(const char *name, int flag) +int Atom::add_custom(const char *name, int flag, int cols) { int index; - if (flag == 0) { + if (flag == 0 && cols == 0) { index = nivector; nivector++; - iname = (char **) memory->srealloc(iname,nivector*sizeof(char *), - "atom:iname"); + ivname = (char **) memory->srealloc(ivname,nivector*sizeof(char *), + "atom:ivname"); int n = strlen(name) + 1; - iname[index] = new char[n]; - strcpy(iname[index],name); + ivname[index] = new char[n]; + strcpy(ivname[index],name); ivector = (int **) memory->srealloc(ivector,nivector*sizeof(int *), "atom:ivector"); memory->create(ivector[index],nmax,"atom:ivector"); - } else { + + } else if (flag == 1 && cols == 0) { index = ndvector; ndvector++; - dname = (char **) memory->srealloc(dname,ndvector*sizeof(char *), - "atom:dname"); + dvname = (char **) memory->srealloc(dvname,ndvector*sizeof(char *), + "atom:dvname"); int n = strlen(name) + 1; - dname[index] = new char[n]; - strcpy(dname[index],name); + dvname[index] = new char[n]; + strcpy(dvname[index],name); dvector = (double **) memory->srealloc(dvector,ndvector*sizeof(double *), "atom:dvector"); memory->create(dvector[index],nmax,"atom:dvector"); - } + } else if (flag == 0 && cols) { + index = niarray; + niarray++; + ianame = (char **) memory->srealloc(ianame,niarray*sizeof(char *), + "atom:ianame"); + int n = strlen(name) + 1; + ianame[index] = new char[n]; + strcpy(ianame[index],name); + iarray = (int ***) memory->srealloc(iarray,niarray*sizeof(int **), + "atom:iarray"); + memory->create(iarray[index],nmax,cols,"atom:iarray"); + + icols = (int *) memory->srealloc(icols,niarray*sizeof(int),"atom:icols"); + icols[index] = cols; + + } else if (flag == 1 && cols) { + index = ndarray; + ndarray++; + daname = (char **) memory->srealloc(daname,ndarray*sizeof(char *), + "atom:daname"); + int n = strlen(name) + 1; + daname[index] = new char[n]; + strcpy(daname[index],name); + darray = (double ***) memory->srealloc(darray,ndarray*sizeof(double **), + "atom:darray"); + memory->create(darray[index],nmax,cols,"atom:darray"); + + dcols = (int *) memory->srealloc(dcols,ndarray*sizeof(int),"atom:dcols"); + dcols[index] = cols; + } + return index; } /* ---------------------------------------------------------------------- - remove a custom variable of type flag = 0/1 for int/double at index - free memory for vector and name and set ptrs to NULL - ivector/dvector and iname/dname lists never shrink + remove a custom variable stored at index + flag = 0/1 for int/double, cols = 0/1 for vector/array or N for array columns + free memory for vector/array and name and set ptrs to NULL + vector/array lists and name lists never shrink ------------------------------------------------------------------------- */ -void Atom::remove_custom(int flag, int index) +void Atom::remove_custom(int index, int flag, int cols) { - if (flag == 0) { + if (flag == 0 && cols == 0) { memory->destroy(ivector[index]); ivector[index] = NULL; - delete [] iname[index]; - iname[index] = NULL; - } else { + delete [] ivname[index]; + ivname[index] = NULL; + + } else if (flag == 1 && cols == 0) { memory->destroy(dvector[index]); dvector[index] = NULL; - delete [] dname[index]; - dname[index] = NULL; + delete [] dvname[index]; + dvname[index] = NULL; + + } else if (flag == 0 && cols) { + memory->destroy(iarray[index]); + iarray[index] = NULL; + delete [] ianame[index]; + ianame[index] = NULL; + + } else if (flag == 1 && cols) { + memory->destroy(darray[index]); + darray[index] = NULL; + delete [] daname[index]; + daname[index] = NULL; } } @@ -2372,7 +2452,8 @@ void *Atom::extract(char *name) { // -------------------------------------------------------------------- // 4th customization section: customize by adding new variable name - + // if new variable is from a package, add package comment + if (strcmp(name,"mass") == 0) return (void *) mass; if (strcmp(name,"id") == 0) return (void *) tag; @@ -2415,10 +2496,30 @@ void *Atom::extract(char *name) if (strcmp(name,"cv") == 0) return (void *) cv; if (strcmp(name,"vest") == 0) return (void *) vest; - // USER-MESONT package - if (strcmp(name,"length") == 0) return (void *) length; - if (strcmp(name,"buckling") == 0) return (void *) buckling; - if (strcmp(name,"bond_nt") == 0) return (void *) bond_nt; + // custom vectors and arrays + + if (strstr(name,"i_") == name || strstr(name,"d_") == name || + strstr(name,"i2_") == name || strstr(name,"d2_") == name) { + int which = 0; + if (name[0] == 'd') which = 1; + int array = 0; + if (name[1] == '2') array = 1; + + int index,flag,cols; + if (!array) index = find_custom(&name[2],flag,cols); + else index = find_custom(&name[3],flag,cols); + + if (index < 0) return NULL; + if (which != flag) return NULL; + if ((!array && cols) || (array && !cols)) return NULL; + + if (!which && !array) return (void *) ivector[index]; + if (which && !array) return (void *) dvector[index]; + if (!which && array) return (void *) iarray[index]; + if (which && array) return (void *) darray[index]; + } + + // USER-SMD package if (strcmp(name, "contact_radius") == 0) return (void *) contact_radius; if (strcmp(name, "smd_data_9") == 0) return (void *) smd_data_9; @@ -2429,9 +2530,20 @@ void *Atom::extract(char *name) return (void *) eff_plastic_strain_rate; if (strcmp(name, "damage") == 0) return (void *) damage; + // USER-DPD package + if (strcmp(name,"dpdTheta") == 0) return (void *) dpdTheta; + + // USER-MESO package + if (strcmp(name,"edpd_temp") == 0) return (void *) edpd_temp; + // USER-MESONT package + + if (strcmp(name,"length") == 0) return (void *) length; + if (strcmp(name,"buckling") == 0) return (void *) buckling; + if (strcmp(name,"bond_nt") == 0) return (void *) bond_nt; + // end of customization section // -------------------------------------------------------------------- diff --git a/src/atom.h b/src/atom.h index 4dac15d758..a2e69e06f2 100644 --- a/src/atom.h +++ b/src/atom.h @@ -206,12 +206,13 @@ class Atom : protected Pointers { PerAtom *peratom; int nperatom,maxperatom; - // custom arrays used by fix property/atom + // custom vectors and arrays used by fix property/atom - int **ivector; - double **dvector; - char **iname,**dname; - int nivector,ndvector; + int **ivector,***iarray; + double **dvector,***darray; + int *icols,*dcols; + char **ivname,**dvname,**ianame,**daname; + int nivector,ndvector,niarray,ndarray; // molecule templates // each template can be a set of consecutive molecules @@ -321,9 +322,9 @@ class Atom : protected Pointers { void delete_callback(const char *, int); void update_callback(int); - int find_custom(const char *, int &); - virtual int add_custom(const char *, int); - virtual void remove_custom(int, int); + int find_custom(const char *, int &, int &); + virtual int add_custom(const char *, int, int); + virtual void remove_custom(int, int, int); virtual void sync_modify(ExecutionSpace, unsigned int, unsigned int) {} diff --git a/src/compute_property_atom.cpp b/src/compute_property_atom.cpp index 9c637edc1e..173665154c 100644 --- a/src/compute_property_atom.cpp +++ b/src/compute_property_atom.cpp @@ -24,6 +24,7 @@ #include "update.h" #include "domain.h" #include "comm.h" +#include "utils.h" #include "memory.h" #include "error.h" @@ -33,7 +34,7 @@ using namespace LAMMPS_NS; ComputePropertyAtom::ComputePropertyAtom(LAMMPS *lmp, int narg, char **arg) : Compute(lmp, narg, arg), - index(NULL), pack_choice(NULL) + index(NULL), colindex(NULL), pack_choice(NULL) { if (narg < 4) error->all(FLERR,"Illegal compute property/atom command"); @@ -47,6 +48,7 @@ ComputePropertyAtom::ComputePropertyAtom(LAMMPS *lmp, int narg, char **arg) : pack_choice = new FnPtrPack[nvalues]; index = new int[nvalues]; + colindex = new int[nvalues]; int i; for (int iarg = 3; iarg < narg; iarg++) { @@ -141,7 +143,10 @@ ComputePropertyAtom::ComputePropertyAtom(LAMMPS *lmp, int narg, char **arg) : error->all(FLERR,"Compute property/atom for " "atom property that isn't allocated"); pack_choice[i] = &ComputePropertyAtom::pack_mu; - } else if (strcmp(arg[iarg],"spx") == 0) { // pack magnetic variables + + // pack magnetic variables + + } else if (strcmp(arg[iarg],"spx") == 0) { if (!atom->sp_flag) error->all(FLERR,"Compute property/atom for " "atom property that isn't allocated"); @@ -176,6 +181,17 @@ ComputePropertyAtom::ComputePropertyAtom(LAMMPS *lmp, int narg, char **arg) : error->all(FLERR,"Compute property/atom for " "atom property that isn't allocated"); pack_choice[i] = &ComputePropertyAtom::pack_fmz; + + // bond count + + } else if (strcmp(arg[iarg],"nbonds") == 0) { + if (!atom->molecule_flag) + error->all(FLERR,"Compute property/atom for " + "atom property that isn't allocated"); + pack_choice[i] = &ComputePropertyAtom::pack_nbonds; + + // finite-size particles + } else if (strcmp(arg[iarg],"radius") == 0) { if (!atom->radius_flag) error->all(FLERR,"Compute property/atom for " @@ -329,6 +345,7 @@ ComputePropertyAtom::ComputePropertyAtom(LAMMPS *lmp, int narg, char **arg) : if (!avec_tri) error->all(FLERR,"Compute property/atom for " "atom property that isn't allocated"); pack_choice[i] = &ComputePropertyAtom::pack_corner2x; + } else if (strcmp(arg[iarg],"corner2y") == 0) { avec_tri = (AtomVecTri *) atom->style_match("tri"); if (!avec_tri) error->all(FLERR,"Compute property/atom for " @@ -355,40 +372,59 @@ ComputePropertyAtom::ComputePropertyAtom(LAMMPS *lmp, int narg, char **arg) : "atom property that isn't allocated"); pack_choice[i] = &ComputePropertyAtom::pack_corner3z; - } else if (strcmp(arg[iarg],"nbonds") == 0) { - if (!atom->molecule_flag) - error->all(FLERR,"Compute property/atom for " - "atom property that isn't allocated"); - pack_choice[i] = &ComputePropertyAtom::pack_nbonds; - + // custom per-atom vectors + } else if (strstr(arg[iarg],"i_") == arg[iarg]) { - int flag; - index[i] = atom->find_custom(&arg[iarg][2],flag); - if (index[i] < 0 || flag != 0) - error->all(FLERR,"Compute property/atom integer " - "vector does not exist"); + int flag,cols; + index[i] = atom->find_custom(&arg[iarg][2],flag,cols); + if (index[i] < 0 || flag || cols) + error->all(FLERR,"Compute property/atom custom vector does not exist"); pack_choice[i] = &ComputePropertyAtom::pack_iname; } else if (strstr(arg[iarg],"d_") == arg[iarg]) { - int flag; - index[i] = atom->find_custom(&arg[iarg][2],flag); - if (index[i] < 0 || flag != 1) - error->all(FLERR,"Compute property/atom floating point " - "vector does not exist"); + int flag,cols; + index[i] = atom->find_custom(&arg[iarg][2],flag,cols); + if (index[i] < 0 || !flag || cols) + error->all(FLERR,"Compute property/atom custom vector does not exist"); pack_choice[i] = &ComputePropertyAtom::pack_dname; - } - else if (strcmp(arg[iarg],"buckling") == 0) { - if (!atom->mesont_flag) - error->all(FLERR,"Compute property/atom for " - "atom property that isn't allocated"); - pack_choice[i] = &ComputePropertyAtom::pack_buckling; - // check if atom style recognizes keyword + // custom per-atom arrays, must include bracketed index + + } else if (strstr(arg[iarg],"i2_") == arg[iarg] || + strstr(arg[iarg],"d2_") == arg[iarg]) { + int which = 0; + if (arg[iarg][0] == 'd') which = 1; + + int n = strlen(arg[iarg]); + char *suffix = new char[n]; + strcpy(suffix,&arg[iarg][3]); + + char *ptr = strchr(suffix,'['); + if (ptr) { + if (suffix[strlen(suffix)-1] != ']') + error->all(FLERR,"Invalid attribute in set command"); + suffix[strlen(suffix)-1] = '\0'; + colindex[i] = utils::inumeric(FLERR,ptr+1,true,lmp); + *ptr = '\0'; + } else error->all(FLERR,"Compute property/atom custom array is not indexed"); + + int flag,cols; + index[i] = atom->find_custom(suffix,flag,cols); + delete [] suffix; + + if ((!which && (index[i] < 0 || flag || !cols)) || + (which && (index[i] < 0 || !flag || !cols))) + error->all(FLERR,"Compute property/atom custom array does not exist"); + + if (!which) pack_choice[i] = &ComputePropertyAtom::pack_i2name; + else pack_choice[i] = &ComputePropertyAtom::pack_d2name; + + // anything else must be recognized by atom style } else { index[i] = atom->avec->property_atom(arg[iarg]); if (index[i] < 0) error->all(FLERR,"Invalid keyword in compute property/atom command"); - pack_choice[i] = &ComputePropertyAtom::pack_property_atom; + pack_choice[i] = &ComputePropertyAtom::pack_atom_style; } } @@ -401,6 +437,7 @@ ComputePropertyAtom::~ComputePropertyAtom() { delete [] pack_choice; delete [] index; + delete [] colindex; memory->destroy(vector_atom); memory->destroy(array_atom); } @@ -413,6 +450,9 @@ void ComputePropertyAtom::init() avec_line = (AtomVecLine *) atom->style_match("line"); avec_tri = (AtomVecTri *) atom->style_match("tri"); avec_body = (AtomVecBody *) atom->style_match("body"); + + // NOTE: could reset custom vector/array indices here, like dump custom does + // in case have been deleted } /* ---------------------------------------------------------------------- */ @@ -1145,6 +1185,21 @@ void ComputePropertyAtom::pack_fmz(int n) /* ---------------------------------------------------------------------- */ +void ComputePropertyAtom::pack_nbonds(int n) +{ + int *num_bond = atom->num_bond; + int *mask = atom->mask; + int nlocal = atom->nlocal; + + for (int i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) buf[n] = num_bond[i]; + else buf[n] = 0.0; + n += nvalues; + } +} + +/* ---------------------------------------------------------------------- */ + void ComputePropertyAtom::pack_radius(int n) { double *radius = atom->radius; @@ -1780,36 +1835,6 @@ void ComputePropertyAtom::pack_corner3z(int n) /* ---------------------------------------------------------------------- */ -void ComputePropertyAtom::pack_buckling(int n) -{ - int *buckling = atom->buckling; - int *mask = atom->mask; - int nlocal = atom->nlocal; - - for (int i = 0; i < nlocal; i++) { - if (mask[i] & groupbit) buf[n] = static_cast(buckling[i]); - else buf[n] = 0.0; - n += nvalues; - } -} - -/* ---------------------------------------------------------------------- */ - -void ComputePropertyAtom::pack_nbonds(int n) -{ - int *num_bond = atom->num_bond; - int *mask = atom->mask; - int nlocal = atom->nlocal; - - for (int i = 0; i < nlocal; i++) { - if (mask[i] & groupbit) buf[n] = num_bond[i]; - else buf[n] = 0.0; - n += nvalues; - } -} - -/* ---------------------------------------------------------------------- */ - void ComputePropertyAtom::pack_iname(int n) { int *ivector = atom->ivector[index[n]]; @@ -1840,7 +1865,39 @@ void ComputePropertyAtom::pack_dname(int n) /* ---------------------------------------------------------------------- */ -void ComputePropertyAtom::pack_property_atom(int n) +void ComputePropertyAtom::pack_i2name(int n) +{ + int **iarray = atom->iarray[index[n]]; + int icol = colindex[n] - 1; + int *mask = atom->mask; + int nlocal = atom->nlocal; + + for (int i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) buf[n] = iarray[i][icol]; + else buf[n] = 0.0; + n += nvalues; + } +} + +/* ---------------------------------------------------------------------- */ + +void ComputePropertyAtom::pack_d2name(int n) +{ + double **darray = atom->darray[index[n]]; + int icol = colindex[n] - 1; + int *mask = atom->mask; + int nlocal = atom->nlocal; + + for (int i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) buf[n] = darray[i][icol]; + else buf[n] = 0.0; + n += nvalues; + } +} + +/* ---------------------------------------------------------------------- */ + +void ComputePropertyAtom::pack_atom_style(int n) { atom->avec->pack_property_atom(index[n],&buf[n],nvalues,groupbit); } diff --git a/src/compute_property_atom.h b/src/compute_property_atom.h index cab9d3ea1b..2b087204d2 100644 --- a/src/compute_property_atom.h +++ b/src/compute_property_atom.h @@ -35,7 +35,7 @@ class ComputePropertyAtom : public Compute { private: int nvalues; int nmax; - int *index; + int *index,*colindex; double *buf; class AtomVecEllipsoid *avec_ellipsoid; class AtomVecLine *avec_line; @@ -81,10 +81,6 @@ class ComputePropertyAtom : public Compute { void pack_muy(int); void pack_muz(int); void pack_mu(int); - void pack_radius(int); - void pack_diameter(int); - - // pack magnetic variables void pack_spx(int); void pack_spy(int); @@ -94,12 +90,17 @@ class ComputePropertyAtom : public Compute { void pack_fmy(int); void pack_fmz(int); + void pack_nbonds(int); + + void pack_radius(int); + void pack_diameter(int); void pack_omegax(int); void pack_omegay(int); void pack_omegaz(int); void pack_angmomx(int); void pack_angmomy(int); void pack_angmomz(int); + void pack_shapex(int); void pack_shapey(int); void pack_shapez(int); @@ -110,12 +111,14 @@ class ComputePropertyAtom : public Compute { void pack_tqx(int); void pack_tqy(int); void pack_tqz(int); + void pack_end1x(int); void pack_end1y(int); void pack_end1z(int); void pack_end2x(int); void pack_end2y(int); void pack_end2z(int); + void pack_corner1x(int); void pack_corner1y(int); void pack_corner1z(int); @@ -125,14 +128,13 @@ class ComputePropertyAtom : public Compute { void pack_corner3x(int); void pack_corner3y(int); void pack_corner3z(int); - void pack_buckling(int); - - void pack_nbonds(int); void pack_iname(int); void pack_dname(int); + void pack_i2name(int); + void pack_d2name(int); - void pack_property_atom(int); + void pack_atom_style(int); }; } diff --git a/src/dump_custom.cpp b/src/dump_custom.cpp index 3297ecb4e7..2f89991c93 100644 --- a/src/dump_custom.cpp +++ b/src/dump_custom.cpp @@ -30,6 +30,7 @@ #include "update.h" #include "variable.h" #include "fmt/format.h" +#include "utils.h" using namespace LAMMPS_NS; @@ -44,7 +45,7 @@ enum{ID,MOL,PROC,PROCP1,TYPE,ELEMENT,MASS, Q,MUX,MUY,MUZ,MU,RADIUS,DIAMETER, OMEGAX,OMEGAY,OMEGAZ,ANGMOMX,ANGMOMY,ANGMOMZ, TQX,TQY,TQZ, - COMPUTE,FIX,VARIABLE,INAME,DNAME}; + COMPUTE,FIX,VARIABLE,IVEC,DVEC,IARRAY,DARRAY}; enum{LT,LE,GT,GE,EQ,NEQ,XOR}; #define INVOKED_PERATOM 8 @@ -60,7 +61,7 @@ DumpCustom::DumpCustom(LAMMPS *lmp, int narg, char **arg) : earg(NULL), vtype(NULL), vformat(NULL), columns(NULL), choose(NULL), dchoose(NULL), clist(NULL), field2index(NULL), argindex(NULL), id_compute(NULL), compute(NULL), id_fix(NULL), fix(NULL), id_variable(NULL), variable(NULL), - vbuf(NULL), id_custom(NULL), flag_custom(NULL), typenames(NULL), + vbuf(NULL), id_custom(NULL), custom(NULL), custom_flag(NULL), typenames(NULL), pack_choice(NULL) { if (narg == 5) error->all(FLERR,"No dump custom arguments specified"); @@ -119,7 +120,8 @@ DumpCustom::DumpCustom(LAMMPS *lmp, int narg, char **arg) : ncustom = 0; id_custom = NULL; - flag_custom = NULL; + custom = NULL; + custom_flag = NULL; // process attributes // ioptional = start of additional optional args in expanded args @@ -236,7 +238,8 @@ DumpCustom::~DumpCustom() for (int i = 0; i < ncustom; i++) delete [] id_custom[i]; memory->sfree(id_custom); - delete [] flag_custom; + delete [] custom; + delete [] custom_flag; memory->destroy(choose); memory->destroy(dchoose); @@ -324,7 +327,7 @@ void DumpCustom::init_style() else if (buffer_flag == 1) write_choice = &DumpCustom::write_string; else write_choice = &DumpCustom::write_lines; - // find current ptr for each compute,fix,variable + // find current ptr for each compute,fix,variable and custom atom property // check that fix frequency is acceptable int icompute; @@ -353,9 +356,15 @@ void DumpCustom::init_style() int icustom; for (int i = 0; i < ncustom; i++) { - icustom = atom->find_custom(id_custom[i],flag_custom[i]); + int flag,cols; + icustom = atom->find_custom(id_custom[i],flag,cols); if (icustom < 0) - error->all(FLERR,"Could not find custom per-atom property ID"); + error->all(FLERR,"Could not find dump custom atom property name"); + custom[i] = icustom; + if (!flag && !cols) custom_flag[i] = IVEC; + else if (flag && !cols) custom_flag[i] = DVEC; + else if (!flag && cols) custom_flag[i] = IARRAY; + else if (flag && cols) custom_flag[i] = DARRAY; } // set index and check validity of region @@ -1036,23 +1045,37 @@ int DumpCustom::count() ptr = vbuf[field2index[i]]; nstride = 1; - } else if (thresh_array[ithresh] == DNAME) { - int iwhich,tmp; + } else if (thresh_array[ithresh] == IVEC) { i = nfield + ithresh; - iwhich = atom->find_custom(id_custom[field2index[i]],tmp); - ptr = atom->dvector[iwhich]; - nstride = 1; - - } else if (thresh_array[ithresh] == INAME) { - int iwhich,tmp; - i = nfield + ithresh; - iwhich = atom->find_custom(id_custom[field2index[i]],tmp); - + int iwhich = custom[field2index[i]]; int *ivector = atom->ivector[iwhich]; for (i = 0; i < nlocal; i++) dchoose[i] = ivector[i]; ptr = dchoose; nstride = 1; + + } else if (thresh_array[ithresh] == DVEC) { + i = nfield + ithresh; + int iwhich = custom[field2index[i]]; + ptr = atom->dvector[iwhich]; + nstride = 1; + + } else if (thresh_array[ithresh] == IARRAY) { + i = nfield + ithresh; + int iwhich = custom[field2index[i]]; + int **iarray = atom->iarray[iwhich]; + int icol = argindex[i] - 1; + for (i = 0; i < nlocal; i++) + dchoose[i] = iarray[i][icol]; + ptr = dchoose; + nstride = 1; + + } else if (thresh_array[ithresh] == DARRAY) { + i = nfield + ithresh; + int iwhich = custom[field2index[i]]; + double **darray = atom->darray[iwhich]; + ptr = &darray[0][argindex[i]-1]; + nstride = atom->dcols[iwhich]; } // unselect atoms that don't meet threshold criterion @@ -1257,7 +1280,7 @@ int DumpCustom::parse_fields(int narg, char **arg) int i; for (int iarg = 0; iarg < narg; iarg++) { i = iarg; - + if (strcmp(arg[iarg],"id") == 0) { pack_choice[i] = &DumpCustom::pack_id; if (sizeof(tagint) == sizeof(smallint)) vtype[i] = Dump::INT; @@ -1455,7 +1478,8 @@ int DumpCustom::parse_fields(int narg, char **arg) if (ptr) { if (suffix[strlen(suffix)-1] != ']') error->all(FLERR,"Invalid attribute in dump custom command"); - argindex[i] = atoi(ptr+1); + suffix[strlen(suffix)-1] = '\0'; + argindex[i] = utils::inumeric(FLERR,ptr+1,true,lmp); *ptr = '\0'; } else argindex[i] = 0; @@ -1491,7 +1515,8 @@ int DumpCustom::parse_fields(int narg, char **arg) if (ptr) { if (suffix[strlen(suffix)-1] != ']') error->all(FLERR,"Invalid attribute in dump custom command"); - argindex[i] = atoi(ptr+1); + suffix[strlen(suffix)-1] = '\0'; + argindex[i] = utils::inumeric(FLERR,ptr+1,true,lmp); *ptr = '\0'; } else argindex[i] = 0; @@ -1530,48 +1555,66 @@ int DumpCustom::parse_fields(int narg, char **arg) field2index[i] = add_variable(suffix); delete [] suffix; - // custom per-atom floating point value = d_ID + // custom per-atom vector = i_ID or d_ID - } else if (strncmp(arg[iarg],"d_",2) == 0) { + } else if (strncmp(arg[iarg],"i_",2) == 0 || + strncmp(arg[iarg],"d_",2) == 0) { + int which = 0; + if (arg[iarg][0] == 'd') which = 1; + pack_choice[i] = &DumpCustom::pack_custom; - vtype[i] = Dump::DOUBLE; + if (!which) vtype[i] = Dump::INT; + else vtype[i] = Dump::DOUBLE; int n = strlen(arg[iarg]); char *suffix = new char[n]; strcpy(suffix,&arg[iarg][2]); argindex[i] = 0; - int tmp = -1; - n = atom->find_custom(suffix,tmp); - if (n < 0) - error->all(FLERR,"Could not find custom per-atom property ID"); + int flag,cols; + n = atom->find_custom(suffix,flag,cols); + if ((!which && (n < 0 || flag || cols)) || + (which && (n < 0 || !flag || cols))) + error->all(FLERR,"Dump custom per-atom custom vector does not exist"); - if (tmp != 1) - error->all(FLERR,"Custom per-atom property ID is not floating point"); - - field2index[i] = add_custom(suffix,1); + field2index[i] = add_custom(suffix); delete [] suffix; - // custom per-atom integer value = i_ID + // custom per-atom array = i2_ID or d2_ID, must include bracketed index + + } else if (strncmp(arg[iarg],"i2_",3) == 0 || + strncmp(arg[iarg],"d2_",3) == 0) { + int which = 0; + if (arg[iarg][0] == 'd') which = 1; - } else if (strncmp(arg[iarg],"i_",2) == 0) { pack_choice[i] = &DumpCustom::pack_custom; - vtype[i] = Dump::INT; + if (!which) vtype[i] = Dump::INT; + else vtype[i] = Dump::DOUBLE; int n = strlen(arg[iarg]); char *suffix = new char[n]; - strcpy(suffix,&arg[iarg][2]); - argindex[i] = 0; + strcpy(suffix,&arg[iarg][3]); - int tmp = -1; - n = atom->find_custom(suffix,tmp); - if (n < 0) - error->all(FLERR,"Could not find custom per-atom property ID"); + char *ptr = strchr(suffix,'['); + if (ptr) { + if (suffix[strlen(suffix)-1] != ']') + error->all(FLERR,"Invalid attribute in dump custom command"); + suffix[strlen(suffix)-1] = '\0'; + argindex[i] = utils::inumeric(FLERR,ptr+1,true,lmp); + *ptr = '\0'; + } else error->all(FLERR,"Dump custom per-atom custom array is not indexed"); - if (tmp != 0) - error->all(FLERR,"Custom per-atom property ID is not integer"); + int flag,cols; + n = atom->find_custom(suffix,flag,cols); + + if ((!which && (n < 0 || flag || !cols)) || + (which && (n < 0 || !flag || !cols))) + error->all(FLERR,"Dump custom per-atom custom array does not exist"); + if (argindex[i] <= 0 || argindex[i] > cols) + error->all(FLERR, + "Dump custom per-atom custom array is accessed out-of-range"); - field2index[i] = add_custom(suffix,0); + field2index[i] = add_custom(suffix); delete [] suffix; } else return iarg; @@ -1645,7 +1688,7 @@ int DumpCustom::add_variable(char *id) id_variable = (char **) memory->srealloc(id_variable,(nvariable+1)*sizeof(char *), - "dump:id_variable"); + "dsrealloc(id_custom,(ncustom+1)*sizeof(char *),"dump:id_custom"); - flag_custom = (int *) - memory->srealloc(flag_custom,(ncustom+1)*sizeof(int),"dump:flag_custom"); + + delete [] custom; + custom = new int[ncustom+1]; + delete [] custom_flag; + custom_flag = new int[ncustom+1]; int n = strlen(id) + 1; id_custom[ncustom] = new char[n]; strcpy(id_custom[ncustom],id); - flag_custom[ncustom] = flag; ncustom++; return ncustom-1; @@ -1777,7 +1821,7 @@ int DumpCustom::modify_param(int narg, char **arg) if (narg < 2) error->all(FLERR,"Illegal dump_modify command"); if (strncmp(arg[1],"c_",2) != 0) error->all(FLERR,"Illegal dump_modify command"); - if (refreshflag) error->all(FLERR,"Dump modify can only have one refresh"); + if (refreshflag) error->all(FLERR,"Dump_modify can only have one refresh"); refreshflag = 1; int n = strlen(arg[1]); @@ -1914,28 +1958,29 @@ int DumpCustom::modify_param(int narg, char **arg) char *ptr = strchr(suffix,'['); if (ptr) { if (suffix[strlen(suffix)-1] != ']') - error->all(FLERR,"Invalid attribute in dump modify command"); - argindex[nfield+nthresh] = atoi(ptr+1); + error->all(FLERR,"Invalid attribute in dump_modify command"); + suffix[strlen(suffix)-1] = '\0'; + argindex[nfield+nthresh] = utils::inumeric(FLERR,ptr+1,true,lmp); *ptr = '\0'; } else argindex[nfield+nthresh] = 0; n = modify->find_compute(suffix); - if (n < 0) error->all(FLERR,"Could not find dump modify compute ID"); + if (n < 0) error->all(FLERR,"Could not find dump_modify compute ID"); if (modify->compute[n]->peratom_flag == 0) error->all(FLERR, - "Dump modify compute ID does not compute per-atom info"); + "Dump_modify compute ID does not compute per-atom info"); if (argindex[nfield+nthresh] == 0 && modify->compute[n]->size_peratom_cols > 0) error->all(FLERR, - "Dump modify compute ID does not compute per-atom vector"); + "Dump_modify compute ID does not compute per-atom vector"); if (argindex[nfield+nthresh] > 0 && modify->compute[n]->size_peratom_cols == 0) error->all(FLERR, - "Dump modify compute ID does not compute per-atom array"); + "Dump_modify compute ID does not compute per-atom array"); if (argindex[nfield+nthresh] > 0 && argindex[nfield+nthresh] > modify->compute[n]->size_peratom_cols) - error->all(FLERR,"Dump modify compute ID vector is not large enough"); + error->all(FLERR,"Dump_modify compute ID vector is not large enough"); field2index[nfield+nthresh] = add_compute(suffix); delete [] suffix; @@ -1955,25 +2000,26 @@ int DumpCustom::modify_param(int narg, char **arg) char *ptr = strchr(suffix,'['); if (ptr) { if (suffix[strlen(suffix)-1] != ']') - error->all(FLERR,"Invalid attribute in dump modify command"); - argindex[nfield+nthresh] = atoi(ptr+1); + error->all(FLERR,"Invalid attribute in dump_modify command"); + suffix[strlen(suffix)-1] = '\0'; + argindex[nfield+nthresh] = utils::inumeric(FLERR,ptr+1,true,lmp); *ptr = '\0'; } else argindex[nfield+nthresh] = 0; n = modify->find_fix(suffix); - if (n < 0) error->all(FLERR,"Could not find dump modify fix ID"); + if (n < 0) error->all(FLERR,"Could not find dump_modify fix ID"); if (modify->fix[n]->peratom_flag == 0) - error->all(FLERR,"Dump modify fix ID does not compute per-atom info"); + error->all(FLERR,"Dump_modify fix ID does not compute per-atom info"); if (argindex[nfield+nthresh] == 0 && modify->fix[n]->size_peratom_cols > 0) - error->all(FLERR,"Dump modify fix ID does not compute per-atom vector"); + error->all(FLERR,"Dump_modify fix ID does not compute per-atom vector"); if (argindex[nfield+nthresh] > 0 && modify->fix[n]->size_peratom_cols == 0) - error->all(FLERR,"Dump modify fix ID does not compute per-atom array"); + error->all(FLERR,"Dump_modify fix ID does not compute per-atom array"); if (argindex[nfield+nthresh] > 0 && argindex[nfield+nthresh] > modify->fix[n]->size_peratom_cols) - error->all(FLERR,"Dump modify fix ID vector is not large enough"); + error->all(FLERR,"Dump_modify fix ID vector is not large enough"); field2index[nfield+nthresh] = add_fix(suffix); delete [] suffix; @@ -1992,18 +2038,23 @@ int DumpCustom::modify_param(int narg, char **arg) argindex[nfield+nthresh] = 0; n = input->variable->find(suffix); - if (n < 0) error->all(FLERR,"Could not find dump modify variable name"); + if (n < 0) error->all(FLERR,"Could not find dump_modify variable name"); if (input->variable->atomstyle(n) == 0) - error->all(FLERR,"Dump modify variable is not atom-style variable"); + error->all(FLERR,"Dump_modify variable is not atom-style variable"); field2index[nfield+nthresh] = add_variable(suffix); delete [] suffix; - // custom per atom floating point value = d_ID + // custom per-atom vector = i_ID or d_ID // must grow field2index and argindex arrays, since access is beyond nfield - } else if (strncmp(arg[1],"d_",2) == 0) { - thresh_array[nthresh] = DNAME; + } else if (strncmp(arg[1],"i_",2) == 0 || + strncmp(arg[1],"d_",2) == 0) { + int which = 0; + if (arg[1][0] == 'd') which = 1; + + if (!which) thresh_array[nthresh] = IVEC; + else thresh_array[nthresh] = DVEC; memory->grow(field2index,nfield+nthresh+1,"dump:field2index"); memory->grow(argindex,nfield+nthresh+1,"dump:argindex"); int n = strlen(arg[1]); @@ -2011,34 +2062,51 @@ int DumpCustom::modify_param(int narg, char **arg) strcpy(suffix,&arg[1][2]); argindex[nfield+nthresh] = 0; - int tmp = -1; - n = atom->find_custom(suffix,tmp); - if ((n < 0) || (tmp != 1)) - error->all(FLERR,"Could not find dump modify " - "custom atom floating point property ID"); - - field2index[nfield+nthresh] = add_custom(suffix,1); + int flag,cols; + n = atom->find_custom(suffix,flag,cols); + if ((!which && (n < 0 || flag || cols)) || + (which && (n < 0 || !flag || cols))) + error->all(FLERR,"Could not find dump_modify per-atom custom vector"); + field2index[nfield+nthresh] = add_custom(suffix); delete [] suffix; - // custom per atom integer value = i_ID + // custom per-atom array = i2_ID or d2_ID, must include bracketed index // must grow field2index and argindex arrays, since access is beyond nfield - } else if (strncmp(arg[1],"i_",2) == 0) { - thresh_array[nthresh] = INAME; + } else if (strncmp(arg[1],"i2_",3) == 0 || + strncmp(arg[1],"d2_",3) == 0) { + int which = 0; + if (arg[1][0] == 'd') which = 1; + + if (!which) thresh_array[nthresh] = IARRAY; + else thresh_array[nthresh] = DARRAY; memory->grow(field2index,nfield+nthresh+1,"dump:field2index"); memory->grow(argindex,nfield+nthresh+1,"dump:argindex"); + int n = strlen(arg[1]); char *suffix = new char[n]; - strcpy(suffix,&arg[1][2]); - argindex[nfield+nthresh] = 0; + strcpy(suffix,&arg[1][3]); - int tmp = -1; - n = atom->find_custom(suffix,tmp); - if ((n < 0) || (tmp != 0)) - error->all(FLERR,"Could not find dump modify " - "custom atom integer property ID"); + char *ptr = strchr(suffix,'['); + if (ptr) { + if (suffix[strlen(suffix)-1] != ']') + error->all(FLERR,"Invalid attribute in dump custom command"); + suffix[strlen(suffix)-1] = '\0'; + argindex[nfield+nthresh] = utils::inumeric(FLERR,ptr+1,true,lmp); + *ptr = '\0'; + } else error->all(FLERR,"Dump_modify per-atom custom array is not indexed"); - field2index[nfield+nthresh] = add_custom(suffix,0); + int flag,cols; + n = atom->find_custom(suffix,flag,cols); + + if ((!which && (n < 0 || flag || !cols)) || + (which && (n < 0 || !flag || !cols))) + error->all(FLERR,"Could not find dump_modify per-atom custom array"); + if (argindex[nfield+nthresh] <= 0 || argindex[nfield+nthresh] > cols) + error->all(FLERR, + "Dump_modify per-atom custom array is accessed out-of-range"); + + field2index[nfield+nthresh] = add_custom(suffix); delete [] suffix; } else error->all(FLERR,"Invalid dump_modify thresh attribute"); @@ -2165,27 +2233,36 @@ void DumpCustom::pack_variable(int n) void DumpCustom::pack_custom(int n) { - - int index = field2index[n]; - - if (flag_custom[index] == 0) { // integer - int iwhich,tmp; - iwhich = atom->find_custom(id_custom[index],tmp); - + int flag = custom_flag[field2index[n]]; + int iwhich = custom[field2index[n]]; + int index = argindex[n]; + + if (flag == IVEC) { int *ivector = atom->ivector[iwhich]; for (int i = 0; i < nchoose; i++) { buf[n] = ivector[clist[i]]; n += size_one; } - } else if (flag_custom[index] == 1) { // double - int iwhich,tmp; - iwhich = atom->find_custom(id_custom[index],tmp); - + } else if (flag == DVEC) { double *dvector = atom->dvector[iwhich]; for (int i = 0; i < nchoose; i++) { buf[n] = dvector[clist[i]]; n += size_one; } + } else if (flag == IARRAY) { + index--; + int **iarray = atom->iarray[iwhich]; + for (int i = 0; i < nchoose; i++) { + buf[n] = iarray[clist[i]][index]; + n += size_one; + } + } else if (flag == DARRAY) { + index--; + double **darray = atom->darray[iwhich]; + for (int i = 0; i < nchoose; i++) { + buf[n] = darray[clist[i]][index]; + n += size_one; + } } } diff --git a/src/dump_custom.h b/src/dump_custom.h index 0f63eac8de..d800acf525 100644 --- a/src/dump_custom.h +++ b/src/dump_custom.h @@ -70,29 +70,30 @@ class DumpCustom : public Dump { int nfield; // # of keywords listed by user int ioptional; // index of start of optional args - int *field2index; // which compute,fix,variable calcs this field - int *argindex; // index into compute,fix scalar_atom,vector_atom - // 0 for scalar_atom, 1-N for vector_atom values + int *field2index; // which compute,fix,variable,custom calcs this field + int *argindex; // index into compute,fix,custom per-atom data + // 0 for per-atom vector, 1-N for cols of per-atom array - int ncompute; // # of Compute objects used by dump + int ncompute; // # of Computes accessed by dump char **id_compute; // their IDs - class Compute **compute; // list of ptrs to the Compute objects + class Compute **compute; // list of ptrs to the Computes - int nfix; // # of Fix objects used by dump + int nfix; // # of Fixes used by dump char **id_fix; // their IDs - class Fix **fix; // list of ptrs to the Fix objects + class Fix **fix; // list of ptrs to the Fixes int nvariable; // # of Variables used by dump char **id_variable; // their names - int *variable; // list of indices for the Variables + int *variable; // list of Variable indices in Variable class double **vbuf; // local storage for variable evaluation - int ncustom; // # of custom atom properties + int ncustom; // # of Custom atom properties used by dump char **id_custom; // their names - int *flag_custom; // their data type + int *custom; // list of Custom indices in Atom class + int *custom_flag; // list of IVEC,DVEC,IARRAY,DARRAY styles int ntypes; // # of atom types - char **typenames; // array of element names for each type + char **typenames; // array of element names for each type // private methods @@ -108,7 +109,7 @@ class DumpCustom : public Dump { int add_compute(char *); int add_fix(char *); int add_variable(char *); - int add_custom(char *, int); + int add_custom(char *); virtual int modify_param(int, char **); void header_format_binary(); diff --git a/src/fix_group.cpp b/src/fix_group.cpp index d2eea9f781..17f1d3c60b 100644 --- a/src/fix_group.cpp +++ b/src/fix_group.cpp @@ -64,6 +64,7 @@ idregion(NULL), idvar(NULL), idprop(NULL) idregion = new char[n]; strcpy(idregion,arg[iarg+1]); iarg += 2; + } else if (strcmp(arg[iarg],"var") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal group command"); if (input->variable->find(arg[iarg+1]) < 0) @@ -74,16 +75,21 @@ idregion(NULL), idvar(NULL), idprop(NULL) idvar = new char[n]; strcpy(idvar,arg[iarg+1]); iarg += 2; + } else if (strcmp(arg[iarg],"property") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal group command"); - if (atom->find_custom(arg[iarg+1],typeflag) < 0) - error->all(FLERR,"Per atom property for group dynamic does not exist"); + if (iarg+2 > narg) error->all(FLERR,"Illegal group command"); + int flag,cols; + iprop = atom->find_custom(arg[iarg+1],flag,cols); + if (iprop < 1 || cols) + error->all(FLERR,"Custom per-atom vector for group dynamic " + "does not exist"); propflag = 1; delete [] idprop; int n = strlen(arg[iarg+1]) + 1; idprop = new char[n]; strcpy(idprop,arg[iarg+1]); iarg += 2; + } else if (strcmp(arg[iarg],"every") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal group command"); nevery = force->inumeric(FLERR,arg[iarg+1]); @@ -125,7 +131,7 @@ void FixGroup::init() if (strstr(update->integrate_style,"respa")) nlevels_respa = ((Respa *) update->integrate)->nlevels; - // set current indices for region and variable + // set current indices for region and variable and custom property if (regionflag) { iregion = domain->find_region(idregion); @@ -143,9 +149,10 @@ void FixGroup::init() } if (propflag) { - iprop = atom->find_custom(idprop,typeflag); - if (iprop < 0) - error->all(FLERR,"Per-atom property for group dynamic does not exist"); + int cols; + iprop = atom->find_custom(idprop,proptype,cols); + if (iprop < 0 || cols) + error->all(FLERR,"Group dynamic command custom property vector does not exist"); } // warn if any FixGroup is not at tail end of all post_integrate fixes @@ -222,11 +229,10 @@ void FixGroup::set_group() update->post_integrate = 0; } - // invoke per-atom property if defined + // set ptr to custom atom vector - if (propflag && !typeflag) ivector = atom->ivector[iprop]; //check nlocal > 0? - - if (propflag && typeflag) dvector = atom->dvector[iprop]; //check nlocal > 0? + if (propflag && !proptype) ivector = atom->ivector[iprop]; + if (propflag && proptype) dvector = atom->dvector[iprop]; // update region in case it has a variable dependence or is dynamic @@ -246,8 +252,10 @@ void FixGroup::set_group() inflag = 1; if (regionflag && !region->match(x[i][0],x[i][1],x[i][2])) inflag = 0; if (varflag && var[i] == 0.0) inflag = 0; - if (propflag && !typeflag && ivector[i] == 0) inflag = 0; - if (propflag && typeflag && dvector[i] == 0) inflag = 0; + if (propflag) { + if (!proptype && ivector[i] == 0) inflag = 0; + if (proptype && dvector[i] == 0.0) inflag = 0; + } } else inflag = 0; if (inflag) mask[i] |= gbit; diff --git a/src/fix_group.h b/src/fix_group.h index f3fecac316..56e4ade06d 100644 --- a/src/fix_group.h +++ b/src/fix_group.h @@ -37,7 +37,7 @@ class FixGroup : public Fix { private: int gbit,gbitinverse; - int regionflag,varflag,propflag,typeflag; + int regionflag,varflag,propflag,proptype; int iregion,ivar,iprop; char *idregion,*idvar,*idprop; class Region *region; diff --git a/src/fix_property_atom.cpp b/src/fix_property_atom.cpp index 374d0069fd..2b004a0ba8 100644 --- a/src/fix_property_atom.cpp +++ b/src/fix_property_atom.cpp @@ -24,7 +24,7 @@ using namespace LAMMPS_NS; using namespace FixConst; -enum{MOLECULE,CHARGE,RMASS,INTEGER,DOUBLE}; +enum{MOLECULE,CHARGE,RMASS,IVEC,DVEC,IARRAY,DARRAY}; /* ---------------------------------------------------------------------- */ @@ -40,6 +40,7 @@ FixPropertyAtom::FixPropertyAtom(LAMMPS *lmp, int narg, char **arg) : int iarg = 3; nvalue = narg-iarg; style = new int[nvalue]; + cols = new int[nvalue]; index = new int[nvalue]; molecule_flag = 0; @@ -47,6 +48,8 @@ FixPropertyAtom::FixPropertyAtom(LAMMPS *lmp, int narg, char **arg) : rmass_flag = 0; nvalue = 0; + values_peratom = 0; + while (iarg < narg) { if (strcmp(arg[iarg],"mol") == 0) { if (atom->molecule_flag) @@ -55,8 +58,11 @@ FixPropertyAtom::FixPropertyAtom(LAMMPS *lmp, int narg, char **arg) : if (molecule_flag) error->all(FLERR,"Fix property/atom cannot specify mol twice"); style[nvalue] = MOLECULE; + cols[nvalue] = 0; atom->molecule_flag = molecule_flag = 1; + values_peratom++; nvalue++; + iarg++; } else if (strcmp(arg[iarg],"q") == 0) { if (atom->q_flag) error->all(FLERR,"Fix property/atom q when atom_style " @@ -64,8 +70,11 @@ FixPropertyAtom::FixPropertyAtom(LAMMPS *lmp, int narg, char **arg) : if (q_flag) error->all(FLERR,"Fix property/atom cannot specify q twice"); style[nvalue] = CHARGE; + cols[nvalue] = 0; atom->q_flag = q_flag = 1; + values_peratom++; nvalue++; + iarg++; } else if (strcmp(arg[iarg],"rmass") == 0) { if (atom->rmass_flag) error->all(FLERR,"Fix property/atom rmass when atom_style " @@ -73,27 +82,45 @@ FixPropertyAtom::FixPropertyAtom(LAMMPS *lmp, int narg, char **arg) : if (rmass_flag) error->all(FLERR,"Fix property/atom cannot specify rmass twice"); style[nvalue] = RMASS; + cols[nvalue] = 0; atom->rmass_flag = rmass_flag = 1; + values_peratom++; nvalue++; - } else if (strstr(arg[iarg],"i_") == arg[iarg]) { - style[nvalue] = INTEGER; - int tmp; - index[nvalue] = atom->find_custom(&arg[iarg][2],tmp); + iarg++; + } else if (strstr(arg[iarg],"i_") == arg[iarg] || + strstr(arg[iarg],"d_") == arg[iarg]) { + int which = 0; + if (arg[iarg][0] == 'd') which = 1; + if (which == 0) style[nvalue] = IVEC; + else style[nvalue] = DVEC; + int tmp1,tmp2; + index[nvalue] = atom->find_custom(&arg[iarg][2],tmp1,tmp2); if (index[nvalue] >= 0) error->all(FLERR,"Fix property/atom vector name already exists"); - index[nvalue] = atom->add_custom(&arg[iarg][2],0); + cols[nvalue] = 0; + index[nvalue] = atom->add_custom(&arg[iarg][2],which,cols[nvalue]); + values_peratom++; nvalue++; - } else if (strstr(arg[iarg],"d_") == arg[iarg]) { - style[nvalue] = DOUBLE; - int tmp; - index[nvalue] = atom->find_custom(&arg[iarg][2],tmp); + iarg++; + } else if (strstr(arg[iarg],"i2_") == arg[iarg] || + strstr(arg[iarg],"d2_") == arg[iarg]) { + if (iarg+2 > narg) error->all(FLERR,"Illegal fix property/atom command"); + int which = 0; + if (arg[iarg][0] == 'd') which = 1; + if (which == 0) style[nvalue] = IARRAY; + else style[nvalue] = DARRAY; + int tmp1,tmp2; + index[nvalue] = atom->find_custom(&arg[iarg][3],tmp1,tmp2); if (index[nvalue] >= 0) - error->all(FLERR,"Fix property/atom vector name already exists"); - index[nvalue] = atom->add_custom(&arg[iarg][2],1); + error->all(FLERR,"Fix property/atom array name already exists"); + cols[nvalue] = utils::inumeric(FLERR,arg[iarg+1],true,lmp); + if (cols[nvalue] < 1) + error->all(FLERR,"Invalid array columns in fix property/atom"); + index[nvalue] = atom->add_custom(&arg[iarg][3],which,cols[nvalue]); + values_peratom += cols[nvalue]; nvalue++; + iarg += 2; } else break; - - iarg++; } // optional args @@ -109,7 +136,7 @@ FixPropertyAtom::FixPropertyAtom(LAMMPS *lmp, int narg, char **arg) : } else error->all(FLERR,"Illegal fix property/atom command"); } - if (border) comm_border = nvalue; + if (border) comm_border = values_peratom; // warn if mol or charge keyword used without ghost yes @@ -134,8 +161,7 @@ FixPropertyAtom::FixPropertyAtom(LAMMPS *lmp, int narg, char **arg) : // register with Atom class nmax_old = 0; - if (!lmp->kokkos) - grow_arrays(atom->nmax); + if (!lmp->kokkos) grow_arrays(atom->nmax); atom->add_callback(0); atom->add_callback(1); if (border) atom->add_callback(2); @@ -154,27 +180,32 @@ FixPropertyAtom::~FixPropertyAtom() // deallocate per-atom vectors in Atom class // set ptrs to NULL, so they no longer exist for Atom class - for (int m = 0; m < nvalue; m++) { - if (style[m] == MOLECULE) { + for (int nv = 0; nv < nvalue; nv++) { + if (style[nv] == MOLECULE) { atom->molecule_flag = 0; memory->destroy(atom->molecule); atom->molecule = NULL; - } else if (style[m] == CHARGE) { + } else if (style[nv] == CHARGE) { atom->q_flag = 0; memory->destroy(atom->q); atom->q = NULL; - } else if (style[m] == RMASS) { + } else if (style[nv] == RMASS) { atom->rmass_flag = 0; memory->destroy(atom->rmass); atom->rmass = NULL; - } else if (style[m] == INTEGER) { - atom->remove_custom(0,index[m]); - } else if (style[m] == DOUBLE) { - atom->remove_custom(1,index[m]); + } else if (style[nv] == IVEC) { + atom->remove_custom(index[nv],0,cols[nv]); + } else if (style[nv] == DVEC) { + atom->remove_custom(index[nv],1,cols[nv]); + } else if (style[nv] == IARRAY) { + atom->remove_custom(index[nv],0,cols[nv]); + } else if (style[nv] == DARRAY) { + atom->remove_custom(index[nv],1,cols[nv]); } } delete [] style; + delete [] cols; delete [] index; delete [] astyle; } @@ -206,7 +237,7 @@ void FixPropertyAtom::init() void FixPropertyAtom::read_data_section(char *keyword, int n, char *buf, tagint id_offset) { - int j,m; + int j,k,m,iword,ncol,nv; tagint itag; char *next; @@ -222,7 +253,7 @@ void FixPropertyAtom::read_data_section(char *keyword, int n, char *buf, int nwords = utils::trim_and_count_words(buf); *next = '\n'; - if (nwords != nvalue+1) + if (nwords != values_peratom+1) error->all(FLERR,fmt::format("Incorrect {} format in data file",keyword)); char **values = new char*[nwords]; @@ -254,16 +285,27 @@ void FixPropertyAtom::read_data_section(char *keyword, int n, char *buf, "data file",itag, keyword)); // assign words in line to per-atom vectors - + // iword = position in vector of words + if ((m = atom->map(itag)) >= 0) { - for (j = 0; j < nvalue; j++) { - if (style[j] == MOLECULE) atom->molecule[m] = ATOTAGINT(values[j+1]); - else if (style[j] == CHARGE) atom->q[m] = atof(values[j+1]); - else if (style[j] == RMASS) atom->rmass[m] = atof(values[j+1]); - else if (style[j] == INTEGER) - atom->ivector[index[j]][m] = atoi(values[j+1]); - else if (style[j] == DOUBLE) - atom->dvector[index[j]][m] = atof(values[j+1]); + iword = 1; + for (nv = 0; nv < nvalue; nv++) { + if (style[nv] == MOLECULE) atom->molecule[m] = ATOTAGINT(values[iword++]); + else if (style[nv] == CHARGE) atom->q[m] = atof(values[iword++]); + else if (style[nv] == RMASS) atom->rmass[m] = atof(values[iword++]); + else if (style[nv] == IVEC) + atom->ivector[index[nv]][m] = atoi(values[iword++]); + else if (style[nv] == DVEC) + atom->dvector[index[nv]][m] = atof(values[iword++]); + else if (style[nv] == IARRAY) { + ncol = cols[nv]; + for (k = 0; k < ncol; k++) + atom->iarray[index[nv]][m][k] = atoi(values[iword++]); + } else if (style[nv] == DARRAY) { + ncol = cols[nv]; + for (k = 0; k < ncol; k++) + atom->darray[index[nv]][m][k] = atof(values[iword++]); + } } } @@ -291,13 +333,13 @@ bigint FixPropertyAtom::read_data_skip_lines(char * /*keyword*/) return size I own for Mth data section # of data sections = 1 for this fix nx = # of local atoms - ny = columns = tag + nvalues + ny = columns = tag + values_peratom ------------------------------------------------------------------------- */ void FixPropertyAtom::write_data_section_size(int /*mth*/, int &nx, int &ny) { nx = atom->nlocal; - ny = nvalue + 1; + ny = values_peratom + 1; } /* ---------------------------------------------------------------------- @@ -307,7 +349,7 @@ void FixPropertyAtom::write_data_section_size(int /*mth*/, int &nx, int &ny) void FixPropertyAtom::write_data_section_pack(int /*mth*/, double **buf) { - int i; + int i,k,ncol; // 1st column = atom tag // rest of columns = per-atom values @@ -317,23 +359,42 @@ void FixPropertyAtom::write_data_section_pack(int /*mth*/, double **buf) for (i = 0; i < nlocal; i++) buf[i][0] = ubuf(tag[i]).d; - for (int m = 0; m < nvalue; m++) { - int mp1 = m+1; - if (style[m] == MOLECULE) { + int icol = 1; + for (int nv = 0; nv < nvalue; nv++) { + if (style[nv] == MOLECULE) { tagint *molecule = atom->molecule; - for (i = 0; i < nlocal; i++) buf[i][mp1] = ubuf(molecule[i]).d; - } else if (style[m] == CHARGE) { + for (i = 0; i < nlocal; i++) buf[i][icol] = ubuf(molecule[i]).d; + icol++; + } else if (style[nv] == CHARGE) { double *q = atom->q; - for (i = 0; i < nlocal; i++) buf[i][mp1] = q[i]; - } else if (style[m] == RMASS) { + for (i = 0; i < nlocal; i++) buf[i][icol] = q[i]; + icol++; + } else if (style[nv] == RMASS) { double *rmass = atom->rmass; - for (i = 0; i < nlocal; i++) buf[i][mp1] = rmass[i]; - } else if (style[m] == INTEGER) { - int *ivec = atom->ivector[index[m]]; - for (i = 0; i < nlocal; i++) buf[i][mp1] = ubuf(ivec[i]).d; - } else if (style[m] == DOUBLE) { - double *dvec = atom->dvector[index[m]]; - for (i = 0; i < nlocal; i++) buf[i][mp1] = dvec[i]; + for (i = 0; i < nlocal; i++) buf[i][icol] = rmass[i]; + icol++; + } else if (style[nv] == IVEC) { + int *ivec = atom->ivector[index[nv]]; + for (i = 0; i < nlocal; i++) buf[i][icol] = ubuf(ivec[i]).d; + icol++; + } else if (style[nv] == DVEC) { + double *dvec = atom->dvector[index[nv]]; + for (i = 0; i < nlocal; i++) buf[i][icol] = dvec[i]; + icol++; + } else if (style[nv] == IARRAY) { + int **iarray = atom->iarray[index[nv]]; + ncol = cols[nv]; + for (i = 0; i < nlocal; i++) + for (k = 0; k < ncol; k++) + buf[i][icol+k] = ubuf(iarray[i][k]).d; + icol += ncol; + } else if (style[nv] == DARRAY) { + double **darray = atom->darray[index[nv]]; + ncol = cols[nv]; + for (i = 0; i < nlocal; i++) + for (k = 0; k < ncol; k++) + buf[i][icol+k] = ubuf(darray[i][k]).d; + icol += ncol; } } } @@ -361,16 +422,33 @@ void FixPropertyAtom::write_data_section_keyword(int /*mth*/, FILE *fp) void FixPropertyAtom::write_data_section(int /*mth*/, FILE *fp, int n, double **buf, int /*index*/) { - int m; + int k,icol,ncol,nv; for (int i = 0; i < n; i++) { fprintf(fp,TAGINT_FORMAT,(tagint) ubuf(buf[i][0]).i); - for (m = 0; m < nvalue; m++) { - if (style[m] == MOLECULE) - fprintf(fp," " TAGINT_FORMAT,(tagint) ubuf(buf[i][m+1]).i); - else if (style[m] == INTEGER) - fprintf(fp," %d",(int) ubuf(buf[i][m+1]).i); - else fprintf(fp," %g",buf[i][m+1]); + icol = 1; + for (nv = 0; nv < nvalue; nv++) { + if (style[nv] == MOLECULE) + fprintf(fp," " TAGINT_FORMAT,(tagint) ubuf(buf[i][icol++]).i); + else if (style[nv] == CHARGE) + fprintf(fp," %g",buf[i][icol++]); + else if (style[nv] == RMASS) + fprintf(fp," %g",buf[i][icol++]); + else if (style[nv] == IVEC) + fprintf(fp," %d",(int) ubuf(buf[i][icol++]).i); + else if (style[nv] == DVEC) + fprintf(fp," %g",buf[i][icol++]); + else if (style[nv] == IARRAY) { + ncol = cols[nv]; + for (k = 0; k < ncol; k++) + fprintf(fp," %d",(int) ubuf(buf[i][icol+k]).i); + icol += ncol; + } else if (style[nv] == DARRAY) { + ncol = cols[nv]; + for (k = 0; k < ncol; k++) + fprintf(fp," %g",buf[i][icol+k]); + icol += ncol; + } } fprintf(fp,"\n"); } @@ -387,42 +465,52 @@ double FixPropertyAtom::memory_usage() if (style[m] == MOLECULE) bytes = atom->nmax * sizeof(tagint); else if (style[m] == CHARGE) bytes = atom->nmax * sizeof(double); else if (style[m] == RMASS) bytes = atom->nmax * sizeof(double); - else if (style[m] == INTEGER) bytes = atom->nmax * sizeof(int); - else if (style[m] == DOUBLE) bytes = atom->nmax * sizeof(double); + else if (style[m] == IVEC) bytes = atom->nmax * sizeof(int); + else if (style[m] == DVEC) bytes = atom->nmax * sizeof(double); + else if (style[m] == IARRAY) bytes = atom->nmax * cols[m] * sizeof(int); + else if (style[m] == DARRAY) bytes = atom->nmax * cols[m] * sizeof(double); } return bytes; } /* ---------------------------------------------------------------------- allocate atom-based arrays - initialize new values to 0, - since AtomVec class won't do it as atoms are added, - e.g. in create_atom() or data_atom() + also initialize new values to 0 + since AtomVec class won't do it as atoms are added, + e.g. in create_atom() or data_atom() ------------------------------------------------------------------------- */ void FixPropertyAtom::grow_arrays(int nmax) { - for (int m = 0; m < nvalue; m++) { - if (style[m] == MOLECULE) { + for (int nv = 0; nv < nvalue; nv++) { + if (style[nv] == MOLECULE) { memory->grow(atom->molecule,nmax,"atom:molecule"); size_t nbytes = (nmax-nmax_old) * sizeof(tagint); memset(&atom->molecule[nmax_old],0,nbytes); - } else if (style[m] == CHARGE) { + } else if (style[nv] == CHARGE) { memory->grow(atom->q,nmax,"atom:q"); size_t nbytes = (nmax-nmax_old) * sizeof(double); memset(&atom->q[nmax_old],0,nbytes); - } else if (style[m] == RMASS) { + } else if (style[nv] == RMASS) { memory->grow(atom->rmass,nmax,"atom:rmass"); size_t nbytes = (nmax-nmax_old) * sizeof(double); memset(&atom->rmass[nmax_old],0,nbytes); - } else if (style[m] == INTEGER) { - memory->grow(atom->ivector[index[m]],nmax,"atom:ivector"); + } else if (style[nv] == IVEC) { + memory->grow(atom->ivector[index[nv]],nmax,"atom:ivector"); size_t nbytes = (nmax-nmax_old) * sizeof(int); - memset(&atom->ivector[index[m]][nmax_old],0,nbytes); - } else if (style[m] == DOUBLE) { - memory->grow(atom->dvector[index[m]],nmax,"atom:dvector"); + memset(&atom->ivector[index[nv]][nmax_old],0,nbytes); + } else if (style[nv] == DVEC) { + memory->grow(atom->dvector[index[nv]],nmax,"atom:dvector"); size_t nbytes = (nmax-nmax_old) * sizeof(double); - memset(&atom->dvector[index[m]][nmax_old],0,nbytes); + memset(&atom->dvector[index[nv]][nmax_old],0,nbytes); + } else if (style[nv] == IARRAY) { + memory->grow(atom->iarray[index[nv]],nmax,cols[nv],"atom:iarray"); + size_t nbytes = (nmax-nmax_old) * cols[nv] * sizeof(int); + if (nbytes) memset(&atom->iarray[index[nv]][nmax_old][0],0,nbytes); + } else if (style[nv] == DARRAY) { + memory->grow(atom->darray[index[nv]],nmax,cols[nv],"atom:darray"); + size_t nbytes = (nmax-nmax_old) * cols[nv] * sizeof(double); + if (nbytes) memset(&atom->darray[index[nv]][nmax_old][0],0,nbytes); } } @@ -435,17 +523,28 @@ void FixPropertyAtom::grow_arrays(int nmax) void FixPropertyAtom::copy_arrays(int i, int j, int /*delflag*/) { - for (int m = 0; m < nvalue; m++) { - if (style[m] == MOLECULE) + int k,ncol; + + for (int nv = 0; nv < nvalue; nv++) { + if (style[nv] == MOLECULE) atom->molecule[j] = atom->molecule[i]; - else if (style[m] == CHARGE) + else if (style[nv] == CHARGE) atom->q[j] = atom->q[i]; - else if (style[m] == RMASS) + else if (style[nv] == RMASS) atom->rmass[j] = atom->rmass[i]; - else if (style[m] == INTEGER) - atom->ivector[index[m]][j] = atom->ivector[index[m]][i]; - else if (style[m] == DOUBLE) - atom->dvector[index[m]][j] = atom->dvector[index[m]][i]; + else if (style[nv] == IVEC) + atom->ivector[index[nv]][j] = atom->ivector[index[nv]][i]; + else if (style[nv] == DVEC) + atom->dvector[index[nv]][j] = atom->dvector[index[nv]][i]; + else if (style[nv] == IARRAY) { + ncol = cols[nv]; + for (k = 0; k < ncol; k++) + atom->iarray[index[nv]][j][k] = atom->iarray[index[nv]][i][k]; + } else if (style[nv] == DARRAY) { + ncol = cols[nv]; + for (k = 0; k < ncol; k++) + atom->darray[index[nv]][j][k] = atom->darray[index[nv]][i][k]; + } } } @@ -455,40 +554,56 @@ void FixPropertyAtom::copy_arrays(int i, int j, int /*delflag*/) int FixPropertyAtom::pack_border(int n, int *list, double *buf) { - int i,j,k; + int i,j,k,ncol; int m = 0; - for (k = 0; k < nvalue; k++) { - if (style[k] == MOLECULE) { + for (int nv = 0; nv < nvalue; nv++) { + if (style[nv] == MOLECULE) { tagint *molecule = atom->molecule; for (i = 0; i < n; i++) { j = list[i]; buf[m++] = ubuf(molecule[j]).d; } - } else if (style[k] == CHARGE) { + } else if (style[nv] == CHARGE) { double *q = atom->q; for (i = 0; i < n; i++) { j = list[i]; buf[m++] = q[j]; } - } else if (style[k] == RMASS) { + } else if (style[nv] == RMASS) { double *rmass = atom->rmass; for (i = 0; i < n; i++) { j = list[i]; buf[m++] = rmass[j]; } - } else if (style[k] == INTEGER) { - int *ivector = atom->ivector[index[k]]; + } else if (style[nv] == IVEC) { + int *ivector = atom->ivector[index[nv]]; for (i = 0; i < n; i++) { j = list[i]; buf[m++] = ubuf(ivector[j]).d; } - } else if (style[k] == DOUBLE) { - double *dvector = atom->dvector[index[k]]; + } else if (style[nv] == DVEC) { + double *dvector = atom->dvector[index[nv]]; for (i = 0; i < n; i++) { j = list[i]; buf[m++] = dvector[j]; } + } else if (style[nv] == IARRAY) { + int **iarray = atom->iarray[index[nv]]; + ncol = cols[nv]; + for (i = 0; i < n; i++) { + j = list[i]; + for (k = 0; k < ncol; k++) + buf[m++] = ubuf(iarray[j][k]).d; + } + } else if (style[nv] == DARRAY) { + double **darray = atom->darray[index[nv]]; + ncol = cols[nv]; + for (i = 0; i < n; i++) { + j = list[i]; + for (k = 0; k < ncol; k++) + buf[m++] = darray[j][k]; + } } } @@ -501,35 +616,49 @@ int FixPropertyAtom::pack_border(int n, int *list, double *buf) int FixPropertyAtom::unpack_border(int n, int first, double *buf) { - int i,k,last; + int i,k,last,ncol; int m = 0; - for (k = 0; k < nvalue; k++) { - if (style[k] == MOLECULE) { + for (int nv = 0; nv < nvalue; nv++) { + if (style[nv] == MOLECULE) { tagint *molecule = atom->molecule; last = first + n; for (i = first; i < last; i++) molecule[i] = (tagint) ubuf(buf[m++]).i; - } else if (style[k] == CHARGE) { + } else if (style[nv] == CHARGE) { double *q = atom->q; last = first + n; for (i = first; i < last; i++) q[i] = buf[m++]; - } else if (style[k] == RMASS) { + } else if (style[nv] == RMASS) { double *rmass = atom->rmass; last = first + n; for (i = first; i < last; i++) rmass[i] = buf[m++]; - } else if (style[k] == INTEGER) { - int *ivector = atom->ivector[index[k]]; + } else if (style[nv] == IVEC) { + int *ivector = atom->ivector[index[nv]]; last = first + n; for (i = first; i < last; i++) ivector[i] = (int) ubuf(buf[m++]).i; - } else if (style[k] == DOUBLE) { - double *dvector = atom->dvector[index[k]]; + } else if (style[nv] == DVEC) { + double *dvector = atom->dvector[index[nv]]; last = first + n; for (i = first; i < last; i++) dvector[i] = buf[m++]; + } else if (style[nv] == IARRAY) { + int **iarray = atom->iarray[index[nv]]; + ncol = cols[nv]; + last = first + n; + for (i = first; i < last; i++) + for (k = 0; k < ncol; k++) + iarray[i][k] = (int) ubuf(buf[m++]).i; + } else if (style[nv] == DARRAY) { + double **darray = atom->darray[index[nv]]; + ncol = cols[nv]; + last = first + n; + for (i = first; i < last; i++) + for (k = 0; k < ncol; k++) + darray[i][k] = buf[m++]; } } @@ -542,14 +671,27 @@ int FixPropertyAtom::unpack_border(int n, int first, double *buf) int FixPropertyAtom::pack_exchange(int i, double *buf) { - for (int m = 0; m < nvalue; m++) { - if (style[m] == MOLECULE) buf[m] = ubuf(atom->molecule[i]).d; - else if (style[m] == CHARGE) buf[m] = atom->q[i]; - else if (style[m] == RMASS) buf[m] = atom->rmass[i]; - else if (style[m] == INTEGER) buf[m] = ubuf(atom->ivector[index[m]][i]).d; - else if (style[m] == DOUBLE) buf[m] = atom->dvector[index[m]][i]; + int k,ncol; + + int m = 0; + for (int nv = 0; nv < nvalue; nv++) { + if (style[nv] == MOLECULE) buf[m++] = ubuf(atom->molecule[i]).d; + else if (style[nv] == CHARGE) buf[m++] = atom->q[i]; + else if (style[nv] == RMASS) buf[m++] = atom->rmass[i]; + else if (style[nv] == IVEC) buf[m++] = ubuf(atom->ivector[index[nv]][i]).d; + else if (style[nv] == DVEC) buf[m++] = atom->dvector[index[nv]][i]; + else if (style[nv] == IARRAY) { + ncol = cols[nv]; + for (k = 0; k < ncol; k++) + buf[m++] = ubuf(atom->iarray[index[nv]][i][k]).d; + } else if (style[nv] == DARRAY) { + ncol = cols[nv]; + for (k = 0; k < ncol; k++) + buf[m++] = atom->darray[index[nv]][i][k]; + } } - return nvalue; + + return m; } /* ---------------------------------------------------------------------- @@ -558,19 +700,32 @@ int FixPropertyAtom::pack_exchange(int i, double *buf) int FixPropertyAtom::unpack_exchange(int nlocal, double *buf) { - for (int m = 0; m < nvalue; m++) { - if (style[m] == MOLECULE) - atom->molecule[nlocal] = (tagint) ubuf(buf[m]).i; - else if (style[m] == CHARGE) - atom->q[nlocal] = buf[m]; - else if (style[m] == RMASS) - atom->rmass[nlocal] = buf[m]; - else if (style[m] == INTEGER) - atom->ivector[index[m]][nlocal] = (int) ubuf(buf[m]).i; - else if (style[m] == DOUBLE) - atom->dvector[index[m]][nlocal] = buf[m]; + int k,ncol; + + int m = 0; + for (int nv = 0; nv < nvalue; nv++) { + if (style[nv] == MOLECULE) + atom->molecule[nlocal] = (tagint) ubuf(buf[m++]).i; + else if (style[nv] == CHARGE) + atom->q[nlocal] = buf[m++]; + else if (style[nv] == RMASS) + atom->rmass[nlocal] = buf[m++]; + else if (style[nv] == IVEC) + atom->ivector[index[nv]][nlocal] = (int) ubuf(buf[m++]).i; + else if (style[nv] == DVEC) + atom->dvector[index[nv]][nlocal] = buf[m++]; + else if (style[nv] == IARRAY) { + ncol = cols[nv]; + for (k = 0; k < ncol; k++) + atom->iarray[index[nv]][nlocal][k] = (int) ubuf(buf[m++]).i; + } else if (style[nv] == DARRAY) { + ncol = cols[nv]; + for (k = 0; k < ncol; k++) + atom->darray[index[nv]][nlocal][k] = buf[m++]; + } } - return nvalue; + + return m; } /* ---------------------------------------------------------------------- @@ -579,19 +734,31 @@ int FixPropertyAtom::unpack_exchange(int nlocal, double *buf) int FixPropertyAtom::pack_restart(int i, double *buf) { + int k,ncol; + // pack buf[0] this way because other fixes unpack it - buf[0] = nvalue+1; + + buf[0] = values_peratom+1; int m = 1; - for (int j = 0; j < nvalue; j++) { - if (style[j] == MOLECULE) buf[m++] = ubuf(atom->molecule[i]).d; - else if (style[j] == CHARGE) buf[m++] = atom->q[i]; - else if (style[j] == RMASS) buf[m++] = atom->rmass[i]; - else if (style[j] == INTEGER) buf[m++] = ubuf(atom->ivector[index[j]][i]).d; - else if (style[j] == DOUBLE) buf[m++] = atom->dvector[index[j]][i]; + for (int nv = 0; nv < nvalue; nv++) { + if (style[nv] == MOLECULE) buf[m++] = ubuf(atom->molecule[i]).d; + else if (style[nv] == CHARGE) buf[m++] = atom->q[i]; + else if (style[nv] == RMASS) buf[m++] = atom->rmass[i]; + else if (style[nv] == IVEC) buf[m++] = ubuf(atom->ivector[index[nv]][i]).d; + else if (style[nv] == DVEC) buf[m++] = atom->dvector[index[nv]][i]; + else if (style[nv] == IARRAY) { + ncol = cols[nv]; + for (k = 0; k < ncol; k++) + buf[m++] = ubuf(atom->iarray[index[nv]][i][k]).d; + } else if (style[nv] == DARRAY) { + ncol = cols[nv]; + for (k = 0; k < ncol; k++) + buf[m++] = atom->darray[index[nv]][i][k]; + } } - return nvalue+1; + return values_peratom+1; } /* ---------------------------------------------------------------------- @@ -600,6 +767,7 @@ int FixPropertyAtom::pack_restart(int i, double *buf) void FixPropertyAtom::unpack_restart(int nlocal, int nth) { + int k,ncol; double **extra = atom->extra; // skip to Nth set of extra values @@ -609,17 +777,26 @@ void FixPropertyAtom::unpack_restart(int nlocal, int nth) for (int i = 0; i < nth; i++) m += static_cast (extra[nlocal][m]); m++; - for (int i = 0; i < nvalue; i++) { - if (style[i] == MOLECULE) + for (int nv = 0; nv < nvalue; nv++) { + if (style[nv] == MOLECULE) atom->molecule[nlocal] = (tagint) ubuf(extra[nlocal][m++]).i; - else if (style[i] == CHARGE) + else if (style[nv] == CHARGE) atom->q[nlocal] = extra[nlocal][m++]; - else if (style[i] == RMASS) + else if (style[nv] == RMASS) atom->rmass[nlocal] = extra[nlocal][m++]; - else if (style[i] == INTEGER) - atom->ivector[index[i]][nlocal] = (int) ubuf(extra[nlocal][m++]).i; - else if (style[i] == DOUBLE) - atom->dvector[index[i]][nlocal] = extra[nlocal][m++]; + else if (style[nv] == IVEC) + atom->ivector[index[nv]][nlocal] = (int) ubuf(extra[nlocal][m++]).i; + else if (style[nv] == DVEC) + atom->dvector[index[nv]][nlocal] = extra[nlocal][m++]; + else if (style[nv] == IARRAY) { + ncol = cols[nv]; + for (k = 0; k < ncol; k++) + atom->iarray[index[nv]][nlocal][k] = (int) ubuf(extra[nlocal][m++]).i; + } else if (style[nv] == DARRAY) { + ncol = cols[nv]; + for (k = 0; k < ncol; k++) + atom->darray[index[nv]][nlocal][k] = extra[nlocal][m++]; + } } } @@ -629,7 +806,7 @@ void FixPropertyAtom::unpack_restart(int nlocal, int nth) int FixPropertyAtom::maxsize_restart() { - return nvalue+1; + return values_peratom+1; } /* ---------------------------------------------------------------------- @@ -638,5 +815,5 @@ int FixPropertyAtom::maxsize_restart() int FixPropertyAtom::size_restart(int /*nlocal*/) { - return nvalue+1; + return values_peratom+1; } diff --git a/src/fix_property_atom.h b/src/fix_property_atom.h index 9e0236f61e..3e491ea861 100644 --- a/src/fix_property_atom.h +++ b/src/fix_property_atom.h @@ -52,10 +52,13 @@ class FixPropertyAtom : public Fix { protected: int nvalue,border; - int molecule_flag,q_flag,rmass_flag; - int *style,*index; - char *astyle; + int molecule_flag,q_flag,rmass_flag; // flags for specific fields + int *style; // style of each value, see enum + int *index; // indices into atom custom data structs + int *cols; // columns per value, for arrays + char *astyle; // atom style at instantiation + int values_peratom; // # of values per atom, including multiple for arrays int nmax_old; // length of peratom arrays the last time they grew }; diff --git a/src/fix_store_state.cpp b/src/fix_store_state.cpp index e1e2aab663..cdda399fff 100644 --- a/src/fix_store_state.cpp +++ b/src/fix_store_state.cpp @@ -20,17 +20,18 @@ #include "group.h" #include "modify.h" #include "compute.h" +#include "force.h" #include "fix.h" #include "input.h" #include "variable.h" +#include "utils.h" #include "memory.h" #include "error.h" -#include "force.h" using namespace LAMMPS_NS; using namespace FixConst; -enum{KEYWORD,COMPUTE,FIX,VARIABLE,DNAME,INAME}; +enum{KEYWORD,COMPUTE,FIX,VARIABLE,IVEC,DVEC,IARRAY,DARRAY}; #define INVOKED_PERATOM 8 @@ -224,15 +225,11 @@ FixStoreState::FixStoreState(LAMMPS *lmp, int narg, char **arg) : pack_choice[nvalues++] = &FixStoreState::pack_tqz; } else if (strncmp(arg[iarg],"c_",2) == 0 || - strncmp(arg[iarg],"d_",2) == 0 || strncmp(arg[iarg],"f_",2) == 0 || - strncmp(arg[iarg],"i_",2) == 0 || strncmp(arg[iarg],"v_",2) == 0) { cfv_any = 1; if (arg[iarg][0] == 'c') which[nvalues] = COMPUTE; - else if (arg[iarg][0] == 'd') which[nvalues] = DNAME; else if (arg[iarg][0] == 'f') which[nvalues] = FIX; - else if (arg[iarg][0] == 'i') which[nvalues] = INAME; else if (arg[iarg][0] == 'v') which[nvalues] = VARIABLE; int n = strlen(arg[iarg]); @@ -241,11 +238,50 @@ FixStoreState::FixStoreState(LAMMPS *lmp, int narg, char **arg) : char *ptr = strchr(suffix,'['); if (ptr) { + if (which[nvalues] == VARIABLE) + error->all(FLERR,"Illegal fix store/state command"); if (suffix[strlen(suffix)-1] != ']') error->all(FLERR,"Illegal fix store/state command"); - argindex[nvalues] = atoi(ptr+1); + suffix[strlen(suffix)-1] = '\0'; + argindex[nvalues] = utils::inumeric(FLERR,ptr+1,true,lmp); *ptr = '\0'; } else argindex[nvalues] = 0; + + n = strlen(suffix) + 1; + ids[nvalues] = new char[n]; + strcpy(ids[nvalues],suffix); + nvalues++; + delete [] suffix; + + } else if (strncmp(arg[iarg],"i_",2) == 0 || + strncmp(arg[iarg],"d_",2) == 0 || + strncmp(arg[iarg],"i2_",3) == 0 || + strncmp(arg[iarg],"d2_",3) == 0) { + if (strncmp(arg[iarg],"i_",2) == 0) which[nvalues] = IVEC; + else if (strncmp(arg[iarg],"d_",2) == 0) which[nvalues] = DVEC; + else if (strncmp(arg[iarg],"i2_",3) == 0) which[nvalues] = IARRAY; + else if (strncmp(arg[iarg],"d2_",3) == 0) which[nvalues] = DARRAY; + + int n = strlen(arg[iarg]); + char *suffix = new char[n]; + if (which[nvalues] == IVEC || which[nvalues] == DVEC) + strcpy(suffix,&arg[iarg][2]); + else strcpy(suffix,&arg[iarg][3]); + + char *ptr = strchr(suffix,'['); + if (ptr) { + if (which[nvalues] == IVEC || which[nvalues] == DVEC) + error->all(FLERR,"Illegal fix store/state command"); + if (suffix[strlen(suffix)-1] != ']') + error->all(FLERR,"Illegal fix store/state command"); + suffix[strlen(suffix)-1] = '\0'; + argindex[nvalues] = utils::inumeric(FLERR,ptr+1,true,lmp); + *ptr = '\0'; + } else { + if (which[nvalues] == IARRAY || which[nvalues] == DARRAY) + error->all(FLERR,"Illegal fix store/state command"); + argindex[nvalues] = 0; + } n = strlen(suffix) + 1; ids[nvalues] = new char[n]; @@ -274,68 +310,79 @@ FixStoreState::FixStoreState(LAMMPS *lmp, int narg, char **arg) : // error check - for (int i = 0; i < nvalues; i++) { - if (which[i] == COMPUTE) { - int icompute = modify->find_compute(ids[i]); + for (int m = 0; m < nvalues; m++) { + if (which[m] == COMPUTE) { + int icompute = modify->find_compute(ids[m]); if (icompute < 0) error->all(FLERR,"Compute ID for fix store/state does not exist"); if (modify->compute[icompute]->peratom_flag == 0) error->all(FLERR,"Fix store/state compute " "does not calculate per-atom values"); - if (argindex[i] == 0 && + if (argindex[m] == 0 && modify->compute[icompute]->size_peratom_cols != 0) error->all(FLERR,"Fix store/state compute does not " "calculate a per-atom vector"); - if (argindex[i] && modify->compute[icompute]->size_peratom_cols == 0) + if (argindex[m] && modify->compute[icompute]->size_peratom_cols == 0) error->all(FLERR, "Fix store/state compute does not " "calculate a per-atom array"); - if (argindex[i] && - argindex[i] > modify->compute[icompute]->size_peratom_cols) + if (argindex[m] && + argindex[m] > modify->compute[icompute]->size_peratom_cols) error->all(FLERR, "Fix store/state compute array is accessed out-of-range"); - - } else if (which[i] == INAME) { - int icustom,iflag; - icustom = atom->find_custom(ids[i],iflag); - if ((icustom < 0) || (iflag != 0)) - error->all(FLERR, - "Custom integer vector for fix store/state does not exist"); - - } else if (which[i] == DNAME) { - int icustom,iflag; - icustom = atom->find_custom(ids[i],iflag); - if ((icustom < 0) || (iflag != 1)) - error->all(FLERR, - "Custom floating point vector for fix store/state does not exist"); - - } else if (which[i] == FIX) { - int ifix = modify->find_fix(ids[i]); + + } else if (which[m] == FIX) { + int ifix = modify->find_fix(ids[m]); if (ifix < 0) error->all(FLERR, "Fix ID for fix store/state does not exist"); if (modify->fix[ifix]->peratom_flag == 0) error->all(FLERR, "Fix store/state fix does not calculate per-atom values"); - if (argindex[i] == 0 && modify->fix[ifix]->size_peratom_cols != 0) + if (argindex[m] == 0 && modify->fix[ifix]->size_peratom_cols != 0) error->all(FLERR, "Fix store/state fix does not calculate a per-atom vector"); - if (argindex[i] && modify->fix[ifix]->size_peratom_cols == 0) + if (argindex[m] && modify->fix[ifix]->size_peratom_cols == 0) error->all(FLERR, "Fix store/state fix does not calculate a per-atom array"); - if (argindex[i] && argindex[i] > modify->fix[ifix]->size_peratom_cols) + if (argindex[m] && argindex[m] > modify->fix[ifix]->size_peratom_cols) error->all(FLERR, "Fix store/state fix array is accessed out-of-range"); if (nevery % modify->fix[ifix]->peratom_freq) error->all(FLERR, "Fix for fix store/state not computed at compatible time"); - } else if (which[i] == VARIABLE) { - int ivariable = input->variable->find(ids[i]); + } else if (which[m] == VARIABLE) { + int ivariable = input->variable->find(ids[m]); if (ivariable < 0) error->all(FLERR,"Variable name for fix store/state does not exist"); if (input->variable->atomstyle(ivariable) == 0) error->all(FLERR,"Fix store/state variable is not atom-style variable"); + + } else if (which[m] == IVEC) { + int icustom,flag,cols; + icustom = atom->find_custom(ids[m],flag,cols); + if ((icustom < 0) || flag || cols) + error->all(FLERR, + "Custom integer vector for fix store/state does not exist"); + } else if (which[m] == DVEC) { + int icustom,flag,cols; + icustom = atom->find_custom(ids[m],flag,cols); + if ((icustom < 0) || !flag || cols) + error->all(FLERR, + "Custom floating point vector for fix store/state does not exist"); + } else if (which[m] == IARRAY) { + int icustom,flag,cols; + icustom = atom->find_custom(ids[m],flag,cols); + if ((icustom < 0) || flag || !cols) + error->all(FLERR, + "Custom integer array for fix store/state does not exist"); + } else if (which[m] == DARRAY) { + int icustom,flag,cols; + icustom = atom->find_custom(ids[m],flag,cols); + if ((icustom < 0) || !flag || !cols) + error->all(FLERR, + "Custom floating point array for fix store/state does not exist"); } } @@ -413,22 +460,6 @@ void FixStoreState::init() error->all(FLERR,"Compute ID for fix store/state does not exist"); value2index[m] = icompute; - } else if (which[m] == INAME) { - int icustom,iflag; - icustom = atom->find_custom(ids[m],iflag); - if ((icustom < 0) || (iflag != 0)) - error->all(FLERR, - "Custom integer vector for fix store/state does not exist"); - value2index[m] = icustom; - - } else if (which[m] == DNAME) { - int icustom,iflag; - icustom = atom->find_custom(ids[m],iflag); - if ((icustom < 0) || (iflag != 1)) - error->all(FLERR, - "Custom floating point vector for fix store/state does not exist"); - value2index[m] = icustom; - } else if (which[m] == FIX) { int ifix = modify->find_fix(ids[m]); if (ifix < 0) @@ -440,6 +471,35 @@ void FixStoreState::init() if (ivariable < 0) error->all(FLERR,"Variable name for fix store/state does not exist"); value2index[m] = ivariable; + + } else if (which[m] == IVEC) { + int icustom,flag,cols; + icustom = atom->find_custom(ids[m],flag,cols); + if (icustom < 0 || flag || cols) + error->all(FLERR, + "Custom integer vector for fix store/state does not exist"); + value2index[m] = icustom; + } else if (which[m] == DVEC) { + int icustom,flag,cols; + icustom = atom->find_custom(ids[m],flag,cols); + if (icustom < 0 || !flag || cols) + error->all(FLERR, + "Custom floating point vector for fix store/state does not exist"); + value2index[m] = icustom; + } else if (which[m] == IARRAY) { + int icustom,flag,cols; + icustom = atom->find_custom(ids[m],flag,cols); + if (icustom < 0 || flag || !cols) + error->all(FLERR, + "Custom integer array for fix store/state does not exist"); + value2index[m] = icustom; + } else if (which[m] == DARRAY) { + int icustom,flag,cols; + icustom = atom->find_custom(ids[m],flag,cols); + if (icustom < 0 || !flag || !cols) + error->all(FLERR, + "Custom floating point array for fix store/state does not exist"); + value2index[m] = icustom; } } } @@ -525,22 +585,33 @@ void FixStoreState::end_of_step() if (mask[i] & groupbit) values[i][m] = fix_array[i][jm1]; } - // access custom atom property fields - - } else if (which[m] == INAME) { - int *ivector = atom->ivector[n]; - for (i = 0; i < nlocal; i++) - if (mask[i] & groupbit) values[i][m] = ivector[i]; - - } else if (which[m] == DNAME) { - double *dvector = atom->dvector[n]; - for (i = 0; i < nlocal; i++) - if (mask[i] & groupbit) values[i][m] = dvector[i]; - // evaluate atom-style variable } else if (which[m] == VARIABLE) { input->variable->compute_atom(n,igroup,&values[0][m],nvalues,0); + + // access custom atom property fields + + } else if (which[m] == IVEC) { + int *ivector = atom->ivector[n]; + for (i = 0; i < nlocal; i++) + if (mask[i] & groupbit) values[i][m] = ivector[i]; + } else if (which[m] == DVEC) { + double *dvector = atom->dvector[n]; + for (i = 0; i < nlocal; i++) + if (mask[i] & groupbit) values[i][m] = dvector[i]; + } else if (which[m] == IARRAY) { + int **iarray = atom->iarray[n]; + int jm1 = j - 1; + for (i = 0; i < nlocal; i++) + if (mask[i] & groupbit) + values[i][m] = iarray[i][jm1]; + } else if (which[m] == DARRAY) { + double **darray = atom->darray[n]; + int jm1 = j - 1; + for (i = 0; i < nlocal; i++) + if (mask[i] & groupbit) + values[i][m] = darray[i][jm1]; } } } diff --git a/src/imbalance_store.cpp b/src/imbalance_store.cpp index 919d1f3f61..f42e8df031 100644 --- a/src/imbalance_store.cpp +++ b/src/imbalance_store.cpp @@ -47,18 +47,17 @@ int ImbalanceStore::options(int narg, char **arg) void ImbalanceStore::compute(double *weight) { - int dflag = 0; - int idx = atom->find_custom(name,dflag); + int flag,cols; + int index = atom->find_custom(name,flag,cols); // property does not exist - if (idx < 0 || dflag != 1) return; + if (index < 0 || flag != 1 || cols) + error->all(FLERR,"Balance weight store vector does not exist"); - double *prop = atom->dvector[idx]; + double *prop = atom->dvector[index]; const int nlocal = atom->nlocal; - - for (int i = 0; i < nlocal; ++i) - prop[i] = weight[i]; + for (int i = 0; i < nlocal; ++i) prop[i] = weight[i]; } /* -------------------------------------------------------------------- */ diff --git a/src/input.cpp b/src/input.cpp index dd640f18b0..1069cbf944 100644 --- a/src/input.cpp +++ b/src/input.cpp @@ -600,8 +600,9 @@ void Input::substitute(char *&str, char *&str2, int &max, int &max2, int flag) } /* ---------------------------------------------------------------------- - expand arg to earg, for arguments with syntax c_ID[*] or f_ID[*] + expand arg to earg, for args with syntax c_ID[*], f_ID[*], i2_ID[*], d2_ID[*] fields to consider in input arg range from iarg to narg + mode = 0 for args = vectors, mode = 1 for args = arrays return new expanded # of values, and copy them w/out "*" into earg if any expansion occurs, earg is new allocation, must be freed by caller if no expansion occurs, earg just points to arg, caller need not free @@ -609,7 +610,7 @@ void Input::substitute(char *&str, char *&str2, int &max, int &max2, int flag) int Input::expand_args(int narg, char **arg, int mode, char **&earg) { - int n,iarg,index,nlo,nhi,nmax,expandflag,icompute,ifix; + int n,iarg,index,nlo,nhi,nmax,expandflag; char *ptr1,*ptr2,*str; ptr1 = NULL; @@ -633,7 +634,9 @@ int Input::expand_args(int narg, char **arg, int mode, char **&earg) expandflag = 0; if (strncmp(arg[iarg],"c_",2) == 0 || - strncmp(arg[iarg],"f_",2) == 0) { + strncmp(arg[iarg],"f_",2) == 0 || + strncmp(arg[iarg],"i2_",3) == 0 || + strncmp(arg[iarg],"d2_",3) == 0) { ptr1 = strchr(&arg[iarg][2],'['); if (ptr1) { @@ -641,9 +644,10 @@ int Input::expand_args(int narg, char **arg, int mode, char **&earg) if (ptr2) { *ptr2 = '\0'; if (strchr(ptr1,'*')) { + if (arg[iarg][0] == 'c') { *ptr1 = '\0'; - icompute = modify->find_compute(&arg[iarg][2]); + int icompute = modify->find_compute(&arg[iarg][2]); *ptr1 = '['; // check for global vector/array, peratom array, local array @@ -665,9 +669,10 @@ int Input::expand_args(int narg, char **arg, int mode, char **&earg) expandflag = 1; } } + } else if (arg[iarg][0] == 'f') { *ptr1 = '\0'; - ifix = modify->find_fix(&arg[iarg][2]); + int ifix = modify->find_fix(&arg[iarg][2]); *ptr1 = '['; // check for global vector/array, peratom array, local array @@ -689,10 +694,40 @@ int Input::expand_args(int narg, char **arg, int mode, char **&earg) expandflag = 1; } } - } - } - *ptr2 = ']'; - } + + } else if (arg[iarg][0] == 'i') { + *ptr1 = '\0'; + int flag,cols; + int icustom = atom->find_custom(&arg[iarg][3],flag,cols); + *ptr1 = '['; + + // check for custom per-atom integer array + + if (icustom >= 0) { + if (mode == 1 && !flag && cols) { + nmax = cols; + expandflag = 1; + } + } + + } else if (arg[iarg][0] == 'd') { + *ptr1 = '\0'; + int flag,cols; + int icustom = atom->find_custom(&arg[iarg][3],flag,cols); + *ptr1 = '['; + + // check for custom per-atom floating point array + + if (icustom >= 0) { + if (mode == 1 && flag && cols) { + nmax = cols; + expandflag = 1; + } + } + } + } + *ptr2 = ']'; + } } } diff --git a/src/set.cpp b/src/set.cpp index 01176f68c0..d7a8337f81 100644 --- a/src/set.cpp +++ b/src/set.cpp @@ -45,12 +45,12 @@ using namespace MathConst; enum{ATOM_SELECT,MOL_SELECT,TYPE_SELECT,GROUP_SELECT,REGION_SELECT}; enum{TYPE,TYPE_FRACTION,TYPE_RATIO,TYPE_SUBSET, - MOLECULE,X,Y,Z,CHARGE,MASS,SHAPE,LENGTH,TRI, + MOLECULE,X,Y,Z,VX,VY,VZ,CHARGE,MASS,SHAPE,LENGTH,TRI, DIPOLE,DIPOLE_RANDOM,SPIN,SPIN_RANDOM,QUAT,QUAT_RANDOM, THETA,THETA_RANDOM,ANGMOM,OMEGA, DIAMETER,DENSITY,VOLUME,IMAGE,BOND,ANGLE,DIHEDRAL,IMPROPER, SPH_E,SPH_CV,SPH_RHO,EDPD_TEMP,EDPD_CV,CC,SMD_MASS_DENSITY, - SMD_CONTACT_RADIUS,DPDTHETA,INAME,DNAME,VX,VY,VZ}; + SMD_CONTACT_RADIUS,DPDTHETA,IVEC,DVEC,IARRAY,DARRAY}; #define BIG INT_MAX @@ -573,28 +573,63 @@ void Set::command(int narg, char **arg) set(DPDTHETA); iarg += 2; - } else if (strstr(arg[iarg],"i_") == arg[iarg]) { - if (iarg+2 > narg) error->all(FLERR,"Illegal set command"); - if (strstr(arg[iarg+1],"v_") == arg[iarg+1]) varparse(arg[iarg+1],1); - else ivalue = force->inumeric(FLERR,arg[iarg+1]); - int flag; - index_custom = atom->find_custom(&arg[iarg][2],flag); - if (index_custom < 0 || flag != 0) - error->all(FLERR,"Set command integer vector does not exist"); - set(INAME); - iarg += 2; - - } else if (strstr(arg[iarg],"d_") == arg[iarg]) { + // custom per-atom vector + + } else if (strstr(arg[iarg],"i_") == arg[iarg] || + strstr(arg[iarg],"d_") == arg[iarg]) { if (iarg+2 > narg) error->all(FLERR,"Illegal set command"); + int which = 0; + if (arg[iarg][0] == 'd') which = 1; if (strstr(arg[iarg+1],"v_") == arg[iarg+1]) varparse(arg[iarg+1],1); + else if (!which) ivalue = force->inumeric(FLERR,arg[iarg+1]); else dvalue = force->numeric(FLERR,arg[iarg+1]); - int flag; - index_custom = atom->find_custom(&arg[iarg][2],flag); - if (index_custom < 0 || flag != 1) - error->all(FLERR,"Set command floating point vector does not exist"); - set(DNAME); + + int flag,cols; + index_custom = atom->find_custom(&arg[iarg][2],flag,cols); + if ((!which && (index_custom < 0 || flag || cols)) || + (which && (index_custom < 0 || !flag || cols))) + error->all(FLERR,"Set command per-atom custom vector does not exist"); + if (!which) set(IVEC); + else set(DVEC); iarg += 2; + // custom per-atom array, must include bracketed index + + } else if (strstr(arg[iarg],"i2_") == arg[iarg] || + strstr(arg[iarg],"d2_") == arg[iarg]) { + if (iarg+2 > narg) error->all(FLERR,"Illegal set command"); + int which = 0; + if (arg[iarg][0] == 'd') which = 1; + if (strstr(arg[iarg+1],"v_") == arg[iarg+1]) varparse(arg[iarg+1],1); + else if (!which) ivalue = force->inumeric(FLERR,arg[iarg+1]); + else dvalue = force->numeric(FLERR,arg[iarg+1]); + + int n = strlen(arg[iarg]); + char *suffix = new char[n]; + strcpy(suffix,&arg[iarg][3]); + + char *ptr = strchr(suffix,'['); + if (ptr) { + if (suffix[strlen(suffix)-1] != ']') + error->all(FLERR,"Invalid attribute in set command"); + icol_custom = atoi(ptr+1); + *ptr = '\0'; + } else error->all(FLERR,"Set command per-atom custom array is not indexed"); + + int flag,cols; + index_custom = atom->find_custom(suffix,flag,cols); + delete [] suffix; + + if ((!which && (index_custom < 0 || flag || !cols)) || + (which && (index_custom < 0 || !flag || !cols))) + error->all(FLERR,"Set command per-atom custom array does not exist"); + if (icol_custom <= 0 || icol_custom > cols) + error->all(FLERR,"Set command per-atom custom array is accessed out-of-range"); + + if (!which) set(IARRAY); + else set(DARRAY); + iarg += 2; + } else error->all(FLERR,"Illegal set command"); // statistics @@ -970,20 +1005,29 @@ void Set::set(int keyword) (((imageint) (zbox + IMGMAX) & IMGMASK) << IMG2BITS); } - // set value for custom integer or double vector + // set value for custom vector or array - else if (keyword == INAME) { + else if (keyword == IVEC) { atom->ivector[index_custom][i] = ivalue; } - else if (keyword == DNAME) { + else if (keyword == DVEC) { atom->dvector[index_custom][i] = dvalue; } + else if (keyword == IARRAY) { + atom->iarray[index_custom][i][icol_custom-1] = ivalue; + } + + else if (keyword == DARRAY) { + atom->darray[index_custom][i][icol_custom-1] = dvalue; + } + count++; } // update bonus data numbers + if (keyword == SHAPE) { bigint nlocal_bonus = avec_ellipsoid->nlocal_bonus; MPI_Allreduce(&nlocal_bonus,&atom->nellipsoids,1, diff --git a/src/set.h b/src/set.h index 6788849677..bbbe08bc47 100644 --- a/src/set.h +++ b/src/set.h @@ -32,7 +32,7 @@ class Set : protected Pointers { private: char *id; int *select; - int style,ivalue,newtype,count,index_custom; + int style,ivalue,newtype,count,index_custom,icol_custom; int ximage,yimage,zimage,ximageflag,yimageflag,zimageflag; int cc_index; bigint nsubset; From 76725731fdea07180a6a1e2f7d79df26ff02047a Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Tue, 8 Sep 2020 13:48:41 -0600 Subject: [PATCH 002/726] changes in package files to match new find_custom() syntax --- doc/src/fix_rigid.rst | 21 +++---- src/RIGID/fix_rigid.cpp | 12 ++-- src/RIGID/fix_rigid_small.cpp | 13 ++-- src/USER-REACTION/fix_bond_react.cpp | 36 +++++------ src/USER-VTK/dump_vtk.cpp | 90 ++++++++++++++++++---------- 5 files changed, 95 insertions(+), 77 deletions(-) diff --git a/doc/src/fix_rigid.rst b/doc/src/fix_rigid.rst index a143817303..3811cc2be1 100644 --- a/doc/src/fix_rigid.rst +++ b/doc/src/fix_rigid.rst @@ -64,7 +64,7 @@ Syntax *single* args = none *molecule* args = none *custom* args = *i_propname* or *v_varname* - i_propname = an integer property defined via fix property/atom + i_propname = a custom integer vector defined via fix property/atom v_varname = an atom-style or atomfile-style variable *group* args = N groupID1 groupID2 ... N = # of groups @@ -287,15 +287,16 @@ includes atoms you want to be part of rigid bodies. Bodystyle *custom* is similar to bodystyle *molecule* except that it is more flexible in using other per-atom properties to define the sets -of atoms that form rigid bodies. An integer vector defined by the -:doc:`fix property/atom ` command can be used. Or an -:doc:`atom-style or atomfile-style variable ` can be used; the -floating-point value produced by the variable is rounded to an -integer. As with bodystyle *molecule*\ , each set of atoms in the fix -groups with the same integer value is treated as a different rigid -body. Since fix property/atom vectors and atom-style variables -produce values for all atoms, you should be careful to use a fix group -that only includes atoms you want to be part of rigid bodies. +of atoms that form rigid bodies. A custom per-atom integer vector +defined by the :doc:`fix property/atom ` command +can be used. Or an :doc:`atom-style or atomfile-style variable +` can be used; the floating-point value produced by the +variable is rounded to an integer. As with bodystyle *molecule*\ , +each set of atoms in the fix groups with the same integer value is +treated as a different rigid body. Since fix property/atom custom +vectors and atom-style variables produce values for all atoms, you +should be careful to use a fix group that only includes atoms you want +to be part of rigid bodies. .. note:: diff --git a/src/RIGID/fix_rigid.cpp b/src/RIGID/fix_rigid.cpp index 0d15f22090..5e6f48e2cb 100644 --- a/src/RIGID/fix_rigid.cpp +++ b/src/RIGID/fix_rigid.cpp @@ -129,14 +129,10 @@ FixRigid::FixRigid(LAMMPS *lmp, int narg, char **arg) : // determine whether atom-style variable or atom property is used if (strstr(arg[4],"i_") == arg[4]) { - int is_double=0; - int custom_index = atom->find_custom(arg[4]+2,is_double); - if (custom_index == -1) - error->all(FLERR,"Fix rigid custom requires " - "previously defined property/atom"); - else if (is_double) - error->all(FLERR,"Fix rigid custom requires " - "integer-valued property/atom"); + int flag,cols; + int custom_index = atom->find_custom(arg[4]+2,flag,cols); + if (custom_index < 0 || !flag || cols) + error->all(FLERR,"Fix rigid custom requires custom integer vector"); int minval = INT_MAX; int *value = atom->ivector[custom_index]; for (i = 0; i < nlocal; i++) diff --git a/src/RIGID/fix_rigid_small.cpp b/src/RIGID/fix_rigid_small.cpp index f12c53bf3a..ff31ce9e2a 100644 --- a/src/RIGID/fix_rigid_small.cpp +++ b/src/RIGID/fix_rigid_small.cpp @@ -113,15 +113,10 @@ FixRigidSmall::FixRigidSmall(LAMMPS *lmp, int narg, char **arg) : // determine whether atom-style variable or atom property is used if (strstr(arg[4],"i_") == arg[4]) { - int is_double=0; - int custom_index = atom->find_custom(arg[4]+2,is_double); - if (custom_index == -1) - error->all(FLERR,"Fix rigid/small custom requires " - "previously defined property/atom"); - else if (is_double) - error->all(FLERR,"Fix rigid/small custom requires " - "integer-valued property/atom"); - + int flag,cols; + int custom_index = atom->find_custom(arg[4]+2,flag,cols); + if (custom_index < 0 || !flag || cols) + error->all(FLERR,"Fix rigid custom requires custom integer vector"); int minval = INT_MAX; int *value = atom->ivector[custom_index]; for (i = 0; i < nlocal; i++) diff --git a/src/USER-REACTION/fix_bond_react.cpp b/src/USER-REACTION/fix_bond_react.cpp index 29aa476148..38760a8c98 100644 --- a/src/USER-REACTION/fix_bond_react.cpp +++ b/src/USER-REACTION/fix_bond_react.cpp @@ -683,8 +683,8 @@ void FixBondReact::post_constructor() // initialize per-atom statted_flags to 1 // (only if not already initialized by restart) if (fix3->restart_reset != 1) { - int flag; - int index = atom->find_custom("statted_tags",flag); + int flag,cols; + int index = atom->find_custom("statted_tags",flag,cols); int *i_statted_tags = atom->ivector[index]; for (int i = 0; i < atom->nlocal; i++) @@ -715,8 +715,8 @@ void FixBondReact::post_constructor() // initialize per-atom statted_tags to 1 // need to correct for smooth restarts - //int flag; - //int index = atom->find_custom(statted_id,flag); + //int flag,cols; + //int index = atom->find_custom(statted_id,flag,cols); //int *i_statted_tags = atom->ivector[index]; //for (int i = 0; i < atom->nlocal; i++) // i_statted_tags[i] = 1; @@ -1021,8 +1021,8 @@ void FixBondReact::far_partner() firstneigh = list->firstneigh; // per-atom property indicating if in bond/react master group - int flag; - int index1 = atom->find_custom("limit_tags",flag); + int flag,cols; + int index1 = atom->find_custom("limit_tags",flag,cols); int *i_limit_tags = atom->ivector[index1]; int i,j; @@ -1108,8 +1108,8 @@ void FixBondReact::close_partner() int *mask = atom->mask; // per-atom property indicating if in bond/react master group - int flag; - int index1 = atom->find_custom("limit_tags",flag); + int flag,cols; + int index1 = atom->find_custom("limit_tags",flag,cols); int *i_limit_tags = atom->ivector[index1]; // loop over special list @@ -1377,8 +1377,8 @@ void FixBondReact::make_a_guess() int nfirst_neighs = onemol_nxspecial[pion][0]; // per-atom property indicating if in bond/react master group - int flag; - int index1 = atom->find_custom("limit_tags",flag); + int flag,cols; + int index1 = atom->find_custom("limit_tags",flag,cols); int *i_limit_tags = atom->ivector[index1]; if (status == GUESSFAIL && avail_guesses == 0) { @@ -2341,17 +2341,17 @@ void FixBondReact::limit_bond(int limit_bond_mode) // we must keep our own list of limited atoms // this will be a new per-atom property! - int flag; - int index1 = atom->find_custom("limit_tags",flag); + int flag,cols; + int index1 = atom->find_custom("limit_tags",flag,cols); int *i_limit_tags = atom->ivector[index1]; int *i_statted_tags; if (stabilization_flag == 1) { - int index2 = atom->find_custom(statted_id,flag); + int index2 = atom->find_custom(statted_id,flag,cols); i_statted_tags = atom->ivector[index2]; } - int index3 = atom->find_custom("react_tags",flag); + int index3 = atom->find_custom("react_tags",flag,cols); int *i_react_tags = atom->ivector[index3]; for (int i = 0; i < temp_limit_num; i++) { @@ -2374,17 +2374,17 @@ void FixBondReact::unlimit_bond() //let's now unlimit in terms of i_limit_tags //we just run through all nlocal, looking for > limit_duration //then we return i_limit_tag to 0 (which removes from dynamic group) - int flag; - int index1 = atom->find_custom("limit_tags",flag); + int flag,cols; + int index1 = atom->find_custom("limit_tags",flag,cols); int *i_limit_tags = atom->ivector[index1]; int *i_statted_tags; if (stabilization_flag == 1) { - int index2 = atom->find_custom(statted_id,flag); + int index2 = atom->find_custom(statted_id,flag,cols); i_statted_tags = atom->ivector[index2]; } - int index3 = atom->find_custom("react_tags",flag); + int index3 = atom->find_custom("react_tags",flag,cols); int *i_react_tags = atom->ivector[index3]; for (int i = 0; i < atom->nlocal; i++) { diff --git a/src/USER-VTK/dump_vtk.cpp b/src/USER-VTK/dump_vtk.cpp index 7f1443c654..b10a8cec41 100644 --- a/src/USER-VTK/dump_vtk.cpp +++ b/src/USER-VTK/dump_vtk.cpp @@ -237,9 +237,15 @@ void DumpVTK::init_style() int icustom; for (int i = 0; i < ncustom; i++) { - icustom = atom->find_custom(id_custom[i],flag_custom[i]); + int flag,cols; + icustom = atom->find_custom(id_custom[i],flag,cols); if (icustom < 0) - error->all(FLERR,"Could not find custom per-atom property ID"); + error->all(FLERR,"Could not find dump vtk atom property name"); + custom[i] = icustom; + if (!flag && !cols) custom_flag[i] = IVEC; + else if (flag && !cols) custom_flag[i] = DVEC; + else if (!flag && cols) custom_flag[i] = IARRAY; + else if (flag && cols) custom_flag[i] = DARRAY; } // set index and check validity of region @@ -1511,6 +1517,7 @@ int DumpVTK::parse_fields(int narg, char **arg) name[Z] = "z"; // customize by adding to if statement + int i; for (int iarg = 5; iarg < narg; iarg++) { i = iarg-5; @@ -1825,49 +1832,67 @@ int DumpVTK::parse_fields(int narg, char **arg) name[ATTRIBUTES+i] = suffix; delete [] suffix; - // custom per-atom floating point value = d_ID + // custom per-atom integer value = i_ID or d_ID + + } else if (strncmp(arg[iarg],"i_",2) == 0 || + strncmp(arg[iarg],"d_",2) == 0) { + int which = 0; + if (arg[iarg][0] == 'd') which = 1; - } else if (strncmp(arg[iarg],"d_",2) == 0) { pack_choice[ATTRIBUTES+i] = &DumpVTK::pack_custom; - vtype[ATTRIBUTES+i] = Dump::DOUBLE; + if (!which) vtype[ATTRIBUTES+i] = Dump::INT; + else vtype[ATTRIBUTES+i] = Dump::DOUBLE; int n = strlen(arg[iarg]); char *suffix = new char[n]; strcpy(suffix,&arg[iarg][2]); argindex[ATTRIBUTES+i] = 0; - int tmp = -1; - n = atom->find_custom(suffix,tmp); - if (n < 0) - error->all(FLERR,"Could not find custom per-atom property ID"); + int flag,cols; + n = atom->find_custom(suffix,flag,cols); + if ((!which && (n < 0 || flag || cols)) || + (which && (n < 0 || !flag || cols))) + error->all(FLERR,"Dump vtk per-atom custom vector does not exist"); - if (tmp != 1) - error->all(FLERR,"Custom per-atom property ID is not floating point"); - - field2index[ATTRIBUTES+i] = add_custom(suffix,1); + field2index[ATTRIBUTES+i] = add_custom(suffix); name[ATTRIBUTES+i] = suffix; delete [] suffix; - // custom per-atom integer value = i_ID + // custom per-atom array = i2_ID or d2_ID, must include bracketed index + + } else if (strncmp(arg[iarg],"i2_",3) == 0 || + strncmp(arg[iarg],"d2_",3) == 0) { + int which = 0; + if (arg[iarg][0] == 'd') which = 1; - } else if (strncmp(arg[iarg],"i_",2) == 0) { pack_choice[ATTRIBUTES+i] = &DumpVTK::pack_custom; - vtype[ATTRIBUTES+i] = Dump::INT; + if (!which) vtype[ATTRIBUTES+i] = Dump::INT; + else vtype[ATTRIBUTES+i] = Dump::DOUBLE; int n = strlen(arg[iarg]); char *suffix = new char[n]; - strcpy(suffix,&arg[iarg][2]); - argindex[ATTRIBUTES+i] = 0; + strcpy(suffix,&arg[iarg][3]); - int tmp = -1; - n = atom->find_custom(suffix,tmp); - if (n < 0) - error->all(FLERR,"Could not find custom per-atom property ID"); + char *ptr = strchr(suffix,'['); + if (ptr) { + if (suffix[strlen(suffix)-1] != ']') + error->all(FLERR,"Invalid attribute in dump custom command"); + suffix[strlen(suffix)-1] = '\0'; + argindex[ATTRIBUTES+i] = utils::inumeric(FLERR,ptr+1,true,lmp); + *ptr = '\0'; + } else error->all(FLERR,"Dump custom per-atom custom array is not indexed"); - if (tmp != 0) - error->all(FLERR,"Custom per-atom property ID is not integer"); + int flag,cols; + n = atom->find_custom(suffix,flag,cols); + + if ((!which && (n < 0 || flag || !cols)) || + (which && (n < 0 || !flag || !cols))) + error->all(FLERR,"Dump vtk per-atom custom array does not exist"); + if (argindex[i] <= 0 || argindex[i] > cols) + error->all(FLERR, + "Dump vtk per-atom custom array is accessed out-of-range"); - field2index[ATTRIBUTES+i] = add_custom(suffix,0); + field2index[i] = add_custom(suffix); name[ATTRIBUTES+i] = suffix; delete [] suffix; @@ -2006,27 +2031,28 @@ int DumpVTK::add_variable(char *id) /* ---------------------------------------------------------------------- add custom atom property to list used by dump - return index of where this property is in list + return index of where this property is in Atom class custom lists if already in list, do not add, just return index, else add to list ------------------------------------------------------------------------- */ -int DumpVTK::add_custom(char *id, int flag) +int DumpVTK::add_custom(char *id) { int icustom; for (icustom = 0; icustom < ncustom; icustom++) - if ((strcmp(id,id_custom[icustom]) == 0) - && (flag == flag_custom[icustom])) break; + if (strcmp(id,id_custom[icustom]) == 0) break; if (icustom < ncustom) return icustom; id_custom = (char **) memory->srealloc(id_custom,(ncustom+1)*sizeof(char *),"dump:id_custom"); - flag_custom = (int *) - memory->srealloc(flag_custom,(ncustom+1)*sizeof(int),"dump:flag_custom"); + + delete [] custom; + custom = new int[ncustom+1]; + delete [] custom_flag; + custom_flag = new int[ncustom+1]; int n = strlen(id) + 1; id_custom[ncustom] = new char[n]; strcpy(id_custom[ncustom],id); - flag_custom[ncustom] = flag; ncustom++; return ncustom-1; From 64257393b9de5df9d00bea933eb848a4d6259fdb Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Wed, 9 Sep 2020 10:21:59 -0600 Subject: [PATCH 003/726] remove custom vector usage from USER-DPD:fix_rx.cpp --- src/USER-DPD/fix_rx.cpp | 42 ----------------------------------------- 1 file changed, 42 deletions(-) diff --git a/src/USER-DPD/fix_rx.cpp b/src/USER-DPD/fix_rx.cpp index 77efd1842b..809535ea77 100644 --- a/src/USER-DPD/fix_rx.cpp +++ b/src/USER-DPD/fix_rx.cpp @@ -1327,10 +1327,6 @@ void FixRX::odeDiagnostics(void) TimerType now = getTimeStamp(); - // Query the fix database and look for rx_weight for the balance fix. - int type_flag = -1; - int rx_weight_index = atom->find_custom( "rx_weight", /*0:int, 1:float*/ type_flag ); - // Compute the average # of neighbors. double averageNumNeighbors = 0; { @@ -1349,44 +1345,6 @@ void FixRX::odeDiagnostics(void) printf("me= %d nst= %g nfc= %g time= %g nlocal= %g lmpnst= %g weight_idx= %d 1st= %d aveNeigh= %g\n", comm->me, this->diagnosticCounter[0], this->diagnosticCounter[1], this->diagnosticCounter[2], this->diagnosticCounter[3], this->diagnosticCounter[4], rx_weight_index, firstStep, averageNumNeighbors); - if (rx_weight_index != -1 && !firstStep && 0) - { - double *rx_weight = atom->dvector[rx_weight_index]; - - const int nlocal = atom->nlocal; - const int *mask = atom->mask; - - if (odeIntegrationFlag == ODE_LAMMPS_RKF45 && diagnosticFrequency == 1) - { - const double total_time = getElapsedTime( oldTimeStamp, now ); - const double fixrx_time = this->diagnosticCounter[TimeSum]; - const double time_ratio = fixrx_time / total_time; - - double tsum = 0.0; - double tmin = 100000, tmax = 0; - for (int i = 0; i < nlocal; ++i) - if (mask[i] & groupbit) - { - double nfunc_ratio = double( diagnosticCounterPerODE[FuncSum][i] ) / diagnosticCounter[FuncSum]; - rx_weight[i] = nfunc_ratio * fixrx_time + (total_time - fixrx_time) / nlocal; - tmin = fmin( tmin, rx_weight[i] ); - tmax = fmax( tmax, rx_weight[i] ); - tsum += rx_weight[i]; - //rx_weight[i] = (double) diagnosticCounterPerODE[FuncSum][i]; - } - - printf("me= %d total= %g fixrx= %g ratio= %g tsum= %g %g %g %g\n", comm->me, total_time, fixrx_time, time_ratio, tsum, (total_time - fixrx_time) / nlocal, tmin, tmax); - } - else - { - error->warning(FLERR, "Dynamic load balancing enabled but per-atom weights not available."); - - for (int i = 0; i < nlocal; ++i) - if (mask[i] & groupbit) - rx_weight[i] = 1.0; - } - } - firstStep = false; oldTimeStamp = now; } From 5526cc2c53662cfb1fc63e0df8098285b1631a8c Mon Sep 17 00:00:00 2001 From: Stan Moore Date: Fri, 6 Nov 2020 12:01:45 -0700 Subject: [PATCH 004/726] Fix issue with Kokkos::finalize and library interface --- src/KOKKOS/kokkos.cpp | 2 -- src/accelerator_kokkos.h | 5 +++++ src/error.cpp | 7 ++++--- src/library.cpp | 6 ++++++ src/library.h | 1 + src/main.cpp | 4 ++++ 6 files changed, 20 insertions(+), 5 deletions(-) diff --git a/src/KOKKOS/kokkos.cpp b/src/KOKKOS/kokkos.cpp index fe72981d50..c1b099829f 100644 --- a/src/KOKKOS/kokkos.cpp +++ b/src/KOKKOS/kokkos.cpp @@ -291,9 +291,7 @@ KokkosLMP::KokkosLMP(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp) KokkosLMP::~KokkosLMP() { - // finalize Kokkos - Kokkos::finalize(); } /* ---------------------------------------------------------------------- diff --git a/src/accelerator_kokkos.h b/src/accelerator_kokkos.h index 9fb9cf3690..2f7b387755 100644 --- a/src/accelerator_kokkos.h +++ b/src/accelerator_kokkos.h @@ -123,5 +123,10 @@ class DAT { } +namespace Kokkos { + static int is_initialized() {return false;} + static void finalize() {} +} + #endif #endif diff --git a/src/error.cpp b/src/error.cpp index 1ce9a0f3fe..9f3fb98022 100644 --- a/src/error.cpp +++ b/src/error.cpp @@ -75,7 +75,7 @@ void Error::universe_all(const std::string &file, int line, const std::string &s throw LAMMPSException(mesg); #else - if (lmp->kokkos) Kokkos::finalize(); + if (Kokkos::is_initialized()) Kokkos::finalize(); MPI_Finalize(); exit(1); #endif @@ -161,7 +161,7 @@ void Error::all(const std::string &file, int line, const std::string &str) if (logfile) fclose(logfile); if (universe->nworlds > 1) MPI_Abort(universe->uworld,1); - if (lmp->kokkos) Kokkos::finalize(); + if (Kokkos::is_initialized()) Kokkos::finalize(); MPI_Finalize(); exit(1); #endif @@ -200,6 +200,7 @@ void Error::one(const std::string &file, int line, const std::string &str) #else if (screen) fflush(screen); if (logfile) fflush(logfile); + if (Kokkos::is_initialized()) Kokkos::finalize(); MPI_Abort(world,1); exit(1); // to trick "smart" compilers into believing this does not return #endif @@ -246,7 +247,7 @@ void Error::done(int status) if (screen && screen != stdout) fclose(screen); if (logfile) fclose(logfile); - if (lmp->kokkos) Kokkos::finalize(); + if (Kokkos::is_initialized()) Kokkos::finalize(); MPI_Finalize(); exit(status); } diff --git a/src/library.cpp b/src/library.cpp index 2fd1486bc2..fd21d7357c 100644 --- a/src/library.cpp +++ b/src/library.cpp @@ -18,6 +18,7 @@ #include "library.h" #include +#include "accelerator_kokkos.h" #include "atom.h" #include "atom_vec.h" #include "comm.h" @@ -348,6 +349,11 @@ void lammps_mpi_finalize() } } +void lammps_kokkos_finalize() +{ + if (Kokkos::is_initialized()) Kokkos::finalize(); +} + // ---------------------------------------------------------------------- // Library functions to process commands // ---------------------------------------------------------------------- diff --git a/src/library.h b/src/library.h index a38ea2dc82..243e6afa3e 100644 --- a/src/library.h +++ b/src/library.h @@ -96,6 +96,7 @@ void lammps_close(void *handle); void lammps_mpi_init(); void lammps_mpi_finalize(); +void lammps_kokkos_finalize(); /* ---------------------------------------------------------------------- * Library functions to process commands diff --git a/src/main.cpp b/src/main.cpp index 582de6999c..fc5c84e3ec 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -13,6 +13,7 @@ #include "lammps.h" #include "input.h" +#include "accelerator_kokkos.h" #include #include @@ -53,8 +54,10 @@ int main(int argc, char **argv) lammps->input->file(); delete lammps; } catch(LAMMPSAbortException &ae) { + if (Kokkos::is_initialized()) Kokkos::finalize(); MPI_Abort(ae.universe, 1); } catch(LAMMPSException &e) { + if (Kokkos::is_initialized()) Kokkos::finalize(); MPI_Barrier(MPI_COMM_WORLD); MPI_Finalize(); exit(1); @@ -64,6 +67,7 @@ int main(int argc, char **argv) lammps->input->file(); delete lammps; #endif + if (Kokkos::is_initialized()) Kokkos::finalize(); MPI_Barrier(MPI_COMM_WORLD); MPI_Finalize(); } From 825facf6e09583a5e8068d277f0738d8aa31189c Mon Sep 17 00:00:00 2001 From: Stan Moore Date: Fri, 6 Nov 2020 12:33:31 -0700 Subject: [PATCH 005/726] Fix compile issue with accelerator_kokkos.h --- src/accelerator_kokkos.h | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/accelerator_kokkos.h b/src/accelerator_kokkos.h index 2f7b387755..d8a63bd426 100644 --- a/src/accelerator_kokkos.h +++ b/src/accelerator_kokkos.h @@ -63,6 +63,7 @@ class KokkosLMP { class Kokkos { public: + static int is_initialized() {return false;} static void finalize() {} }; @@ -123,10 +124,5 @@ class DAT { } -namespace Kokkos { - static int is_initialized() {return false;} - static void finalize() {} -} - #endif #endif From bddd26ba6c43d4871c8033c822a35520317d2cc2 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Mon, 11 Jan 2021 17:26:00 -0700 Subject: [PATCH 006/726] additional changes needed to merge with current master --- src/library.cpp | 283 +++++++++++++++++++++++++++++++++--------------- src/set.cpp | 8 +- src/utils.cpp | 5 +- 3 files changed, 201 insertions(+), 95 deletions(-) diff --git a/src/library.cpp b/src/library.cpp index 7d3f2f8996..2630973c3d 100644 --- a/src/library.cpp +++ b/src/library.cpp @@ -2650,9 +2650,10 @@ void lammps_scatter_atoms_subset(void *handle, char *name, int type, int count, see gather_concat() to return data for all atoms, unordered see gather_subset() to return data for only a subset of atoms name = "x" , "f" or other atom properties - "d_name" or "i_name" for fix property/atom quantities - "f_fix", "c_compute" for fixes / computes - will return error if fix/compute doesn't isn't atom-based + "f_fix", "c_compute" for fixes / computes + "d_name" or "i_name" for fix property/atom vectors with count = 1 + "d2_name" or "i2_name" for fix property/atom arrays with count > 1 + will return error if fix/compute isn't atom-based type = 0 for integer values, 1 for double values count = # of per-atom values, e.g. 1 for type or charge, 3 for x or f use count = 3 with "image" if want single image flag unpacked into xyz @@ -2673,12 +2674,13 @@ void lammps_gather(void *handle, char *name, int type, int count, void *data) BEGIN_CAPTURE { #if defined(LAMMPS_BIGBIG) - lmp->error->all(FLERR,"Library function lammps_gather" - " not compatible with -DLAMMPS_BIGBIG"); + lmp->error->all(FLERR,"Library function lammps_gather" + " not compatible with -DLAMMPS_BIGBIG"); #else - int i,j,offset,fcid,ltype; + int i,j,offset,fcid,ltype,icol; // error if tags are not defined or not consecutive + int flag = 0; if (lmp->atom->tag_enable == 0 || lmp->atom->tag_consecutive() == 0) flag = 1; @@ -2690,10 +2692,11 @@ void lammps_gather(void *handle, char *name, int type, int count, void *data) } int natoms = static_cast (lmp->atom->natoms); - void *vptr = lmp->atom->extract(name); - if (vptr==nullptr && strstr(name,"f_") == name) { // fix + // fix + + if (vptr==nullptr && strstr(name,"f_") == name) { fcid = lmp->modify->find_fix(&name[2]); if (fcid < 0) { @@ -2726,7 +2729,9 @@ void lammps_gather(void *handle, char *name, int type, int count, void *data) else vptr = (void *) lmp->modify->fix[fcid]->array_atom; } - if (vptr==nullptr && strstr(name,"c_") == name) { // compute + // compute + + if (vptr==nullptr && strstr(name,"c_") == name) { fcid = lmp->modify->find_compute(&name[2]); if (fcid < 0) { @@ -2753,41 +2758,58 @@ void lammps_gather(void *handle, char *name, int type, int count, void *data) if (count==1) vptr = (void *) lmp->modify->compute[fcid]->vector_atom; else vptr = (void *) lmp->modify->compute[fcid]->array_atom; - - } - // property / atom - if ( (vptr == nullptr) && ((strstr(name,"d_") == name) - || (strstr(name,"i_") == name))) { - fcid = lmp->atom->find_custom(&name[2], ltype); + + // property/atom + + if ((vptr == nullptr) && + ((strstr(name,"d_") == name) || (strstr(name,"i_") == name) || + (strstr(name,"d2_") == name) || (strstr(name,"i2_") == name))) { + + if ((strstr(name,"d_") == name) || (strstr(name,"i_") == name)) + fcid = lmp->atom->find_custom(&name[2],ltype,icol); + else fcid = lmp->atom->find_custom(&name[3],ltype,icol); if (fcid < 0) { if (lmp->comm->me == 0) lmp->error->warning(FLERR,"lammps_gather: unknown property/atom id"); return; } + if (ltype != type) { if (lmp->comm->me == 0) lmp->error->warning(FLERR,"lammps_gather: mismatch property/atom type"); return; } - if (count != 1) { + if (count == 1 && icol != 0) { if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather: property/atom has count=1"); + lmp->error->warning(FLERR,"lammps_gather: mismatch property/atom count"); return; } - if (ltype==0) vptr = (void *) lmp->atom->ivector[fcid]; - else vptr = (void *) lmp->atom->dvector[fcid]; + if (count > 1 && icol != count) { + if (lmp->comm->me == 0) + lmp->error->warning(FLERR,"lammps_gather: mismatch property/atom count"); + return; + } + + if (count == 1) { + if (ltype==0) vptr = (void *) lmp->atom->ivector[fcid]; + else vptr = (void *) lmp->atom->dvector[fcid]; + } else { + if (ltype==0) vptr = (void *) lmp->atom->iarray[fcid]; + else vptr = (void *) lmp->atom->darray[fcid]; + } } if (vptr == nullptr) { if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather: unknown property name"); + lmp->error->warning(FLERR,"lammps_gather: undefined property name"); return; } - + // copy = Natom length vector of per-atom values // use atom ID to insert each atom's values into copy // MPI_Allreduce with MPI_SUM to merge into data, ordered by atom ID + if (type==0) { int *vector = nullptr; int **array = nullptr; @@ -2829,7 +2851,6 @@ void lammps_gather(void *handle, char *name, int type, int count, void *data) lmp->memory->destroy(copy); } else { - double *vector = nullptr; double **array = nullptr; if (count == 1) vector = (double *) vptr; @@ -2869,9 +2890,10 @@ void lammps_gather(void *handle, char *name, int type, int count, void *data) see gather() to return data ordered by consecutive atom IDs see gather_subset() to return data for only a subset of atoms name = "x" , "f" or other atom properties - "d_name" or "i_name" for fix property/atom quantities - "f_fix", "c_compute" for fixes / computes - will return error if fix/compute doesn't isn't atom-based + "f_fix", "c_compute" for fixes / computes + "d_name" or "i_name" for fix property/atom vectors with count = 1 + "d2_name" or "i2_name" for fix property/atom arrays with count > 1 + will return error if fix/compute isn't atom-based type = 0 for integer values, 1 for double values count = # of per-atom values, e.g. 1 for type or charge, 3 for x or f use count = 3 with "image" if want single image flag unpacked into xyz @@ -2895,9 +2917,10 @@ void lammps_gather_concat(void *handle, char *name, int type, int count, void *d lmp->error->all(FLERR,"Library function lammps_gather_concat" " not compatible with -DLAMMPS_BIGBIG"); #else - int i,offset,fcid,ltype; + int i,offset,fcid,ltype,icol; // error if tags are not defined or not consecutive + int flag = 0; if (lmp->atom->tag_enable == 0) flag = 1; if (lmp->atom->natoms > MAXSMALLINT) flag = 1; @@ -2907,12 +2930,12 @@ void lammps_gather_concat(void *handle, char *name, int type, int count, void *d return; } - int natoms = static_cast (lmp->atom->natoms); - void *vptr = lmp->atom->extract(name); - if (vptr==nullptr && strstr(name,"f_") == name) { // fix + // fix + + if (vptr==nullptr && strstr(name,"f_") == name) { fcid = lmp->modify->find_fix(&name[2]); if (fcid < 0) { @@ -2933,8 +2956,6 @@ void lammps_gather_concat(void *handle, char *name, int type, int count, void *d " count != values peratom for fix"); return; } - - if (lmp->update->ntimestep % lmp->modify->fix[fcid]->peratom_freq) { if (lmp->comm->me == 0) lmp->error->all(FLERR,"lammps_gather_concat:" @@ -2946,7 +2967,9 @@ void lammps_gather_concat(void *handle, char *name, int type, int count, void *d else vptr = (void *) lmp->modify->fix[fcid]->array_atom; } - if (vptr==nullptr && strstr(name,"c_") == name) { // compute + // compute + + if (vptr==nullptr && strstr(name,"c_") == name) { fcid = lmp->modify->find_compute(&name[2]); if (fcid < 0) { @@ -2973,39 +2996,55 @@ void lammps_gather_concat(void *handle, char *name, int type, int count, void *d if (count==1) vptr = (void *) lmp->modify->compute[fcid]->vector_atom; else vptr = (void *) lmp->modify->compute[fcid]->array_atom; - - } - if (vptr==nullptr && strstr(name,"d_") == name) { // property / atom + // property/atom - fcid = lmp->atom->find_custom(&name[2], ltype); + if ((vptr==nullptr) && + ((strstr(name,"d_") == name) || (strstr(name,"i_") == name) || + (strstr(name,"d2_") == name) || (strstr(name,"i2_") == name))) { + + if ((strstr(name,"d_") == name) || (strstr(name,"i_") == name)) + fcid = lmp->atom->find_custom(&name[2],ltype,icol); + else fcid = lmp->atom->find_custom(&name[3],ltype,icol); if (fcid < 0) { if (lmp->comm->me == 0) lmp->error->warning(FLERR,"lammps_gather_concat: " - "unknown property/atom id"); + "unknown property/atom id"); return; } + if (ltype != type) { if (lmp->comm->me == 0) lmp->error->warning(FLERR,"lammps_gather_concat: " - "mismatch property/atom type"); + "mismatch property/atom type"); return; } - if (count != 1) { + if (count == 1 && icol != 0) { if (lmp->comm->me == 0) lmp->error->warning(FLERR,"lammps_gather_concat: " - "property/atom has count=1"); + "mismatch property/atom count"); + return; + } + if (count > 1 && icol != count) { + if (lmp->comm->me == 0) + lmp->error->warning(FLERR,"lammps_gather_concat: " + "mismatch property/atom count"); return; } - if (ltype==0) vptr = (void *) lmp->atom->ivector[fcid]; - else vptr = (void *) lmp->atom->dvector[fcid]; + if (count == 1) { + if (ltype==0) vptr = (void *) lmp->atom->ivector[fcid]; + else vptr = (void *) lmp->atom->dvector[fcid]; + } else { + if (ltype==0) vptr = (void *) lmp->atom->iarray[fcid]; + else vptr = (void *) lmp->atom->darray[fcid]; + } } if (vptr == nullptr) { if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather_concat: unknown property name"); + lmp->error->warning(FLERR,"lammps_gather_concat: undefined property name"); return; } @@ -3020,6 +3059,7 @@ void lammps_gather_concat(void *handle, char *name, int type, int count, void *d if (type == 0) { int *vector = nullptr; int **array = nullptr; + const int imgunpack = (count == 3) && (strcmp(name,"image") == 0); if ((count == 1) || imgunpack) vector = (int *) vptr; @@ -3111,9 +3151,10 @@ void lammps_gather_concat(void *handle, char *name, int type, int count, void *d see gather() to return data ordered by consecutive atom IDs see gather_concat() to return data for all atoms, unordered name = "x" , "f" or other atom properties - "d_name" or "i_name" for fix property/atom quantities - "f_fix", "c_compute" for fixes / computes - will return error if fix/compute doesn't isn't atom-based + "f_fix", "c_compute" for fixes / computes + "d_name" or "i_name" for fix property/atom vectors with count = 1 + "d2_name" or "i2_name" for fix property/atom arrays with count > 1 + will return error if fix/compute isn't atom-based type = 0 for integer values, 1 for double values count = # of per-atom values, e.g. 1 for type or charge, 3 for x or f use count = 3 with "image" if want single image flag unpacked into xyz @@ -3136,13 +3177,14 @@ void lammps_gather_subset(void *handle, char *name, BEGIN_CAPTURE { #if defined(LAMMPS_BIGBIG) - lmp->error->all(FLERR,"Library function lammps_gather_subset() " + lmp->error->all(FLERR,"Library function lammps_gather_subset() " "is not compatible with -DLAMMPS_BIGBIG"); #else - int i,j,m,offset,fcid,ltype; + int i,j,m,offset,fcid,ltype,icol; tagint id; // error if tags are not defined or not consecutive + int flag = 0; if (lmp->atom->tag_enable == 0) flag = 1; if (lmp->atom->natoms > MAXSMALLINT) flag = 1; @@ -3154,7 +3196,9 @@ void lammps_gather_subset(void *handle, char *name, void *vptr = lmp->atom->extract(name); - if (vptr==nullptr && strstr(name,"f_") == name) { // fix + // fix + + if (vptr==nullptr && strstr(name,"f_") == name) { fcid = lmp->modify->find_fix(&name[2]); if (fcid < 0) { @@ -3169,13 +3213,11 @@ void lammps_gather_subset(void *handle, char *name, " fix does not return peratom data"); return; } - if (count>1 && lmp->modify->fix[fcid]->size_peratom_cols != count) { lmp->error->warning(FLERR,"lammps_gather_subset:" - " count != values peratom for fix"); + " count != values peratom for fix"); return; } - if (lmp->update->ntimestep % lmp->modify->fix[fcid]->peratom_freq) { if (lmp->comm->me == 0) lmp->error->all(FLERR,"lammps_gather_subset:" @@ -3187,7 +3229,9 @@ void lammps_gather_subset(void *handle, char *name, else vptr = (void *) lmp->modify->fix[fcid]->array_atom; } - if (vptr==nullptr && strstr(name,"c_") == name) { // compute + // compute + + if (vptr==nullptr && strstr(name,"c_") == name) { fcid = lmp->modify->find_compute(&name[2]); if (fcid < 0) { @@ -3214,39 +3258,56 @@ void lammps_gather_subset(void *handle, char *name, if (count==1) vptr = (void *) lmp->modify->compute[fcid]->vector_atom; else vptr = (void *) lmp->modify->compute[fcid]->array_atom; - - } - if (vptr==nullptr && strstr(name,"d_") == name) { // property / atom + // property/atom - fcid = lmp->atom->find_custom(&name[2], ltype); + if ((vptr == nullptr) && + ((strstr(name,"d_") == name) || (strstr(name,"i_") == name) || + (strstr(name,"d2_") == name) || (strstr(name,"i2_") == name))) { + + if ((strstr(name,"d_") == name) || (strstr(name,"i_") == name)) + fcid = lmp->atom->find_custom(&name[2],ltype,icol); + else fcid = lmp->atom->find_custom(&name[3],ltype,icol); if (fcid < 0) { if (lmp->comm->me == 0) lmp->error->warning(FLERR,"lammps_gather_subset: " "unknown property/atom id"); return; } + if (ltype != type) { if (lmp->comm->me == 0) lmp->error->warning(FLERR,"lammps_gather_subset: " "mismatch property/atom type"); return; } - if (count != 1) { + if (count == 1 && icol != 0) { if (lmp->comm->me == 0) lmp->error->warning(FLERR,"lammps_gather_subset: " - "property/atom has count=1"); + "mismatch property/atom count"); return; } - if (ltype==0) vptr = (void *) lmp->atom->ivector[fcid]; - else vptr = (void *) lmp->atom->dvector[fcid]; + if (count > 1 && icol != count) { + if (lmp->comm->me == 0) + lmp->error->warning(FLERR,"lammps_gather_subset: " + "mismatch property/atom count"); + return; + } + + if (count == 1) { + if (ltype==0) vptr = (void *) lmp->atom->ivector[fcid]; + else vptr = (void *) lmp->atom->dvector[fcid]; + } else { + if (ltype==0) vptr = (void *) lmp->atom->iarray[fcid]; + else vptr = (void *) lmp->atom->darray[fcid]; + } } + if (vptr == nullptr) { if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather_subset: " - "unknown property name"); + lmp->error->warning(FLERR,"lammps_gather_subset: undefined property name"); return; } @@ -3304,6 +3365,7 @@ void lammps_gather_subset(void *handle, char *name, } else { double *vector = nullptr; double **array = nullptr; + if (count == 1) vector = (double *) vptr; else array = (double **) vptr; @@ -3346,9 +3408,10 @@ void lammps_gather_subset(void *handle, char *name, requirement for consecutive atom IDs (1 to N) see scatter_subset() to scatter data for some (or all) atoms, unordered name = "x" , "f" or other atom properties - "d_name" or "i_name" for fix property/atom quantities - "f_fix", "c_compute" for fixes / computes - will return error if fix/compute doesn't isn't atom-based + "f_fix", "c_compute" for fixes / computes + "d_name" or "i_name" for fix property/atom vectors with count = 1 + "d2_name" or "i2_name" for fix property/atom arrays with count > 1 + will return error if fix/compute isn't atom-based type = 0 for integer values, 1 for double values count = # of per-atom values, e.g. 1 for type or charge, 3 for x or f use count = 3 with "image" if want single image flag unpacked into xyz @@ -3372,7 +3435,7 @@ void lammps_scatter(void *handle, char *name, int type, int count, void *data) lmp->error->all(FLERR,"Library function lammps_scatter() " "is not compatible with -DLAMMPS_BIGBIG"); #else - int i,j,m,offset,fcid,ltype; + int i,j,m,offset,fcid,ltype,icol; // error if tags are not defined or not consecutive or no atom map // NOTE: test that name = image or ids is not a 64-bit int in code? @@ -3389,10 +3452,11 @@ void lammps_scatter(void *handle, char *name, int type, int count, void *data) } int natoms = static_cast (lmp->atom->natoms); - void *vptr = lmp->atom->extract(name); - if (vptr==nullptr && strstr(name,"f_") == name) { // fix + // fix + + if (vptr==nullptr && strstr(name,"f_") == name) { fcid = lmp->modify->find_fix(&name[2]); if (fcid < 0) { @@ -3418,7 +3482,9 @@ void lammps_scatter(void *handle, char *name, int type, int count, void *data) else vptr = (void *) lmp->modify->fix[fcid]->array_atom; } - if (vptr==nullptr && strstr(name,"c_") == name) { // compute + // compute + + if (vptr==nullptr && strstr(name,"c_") == name) { fcid = lmp->modify->find_compute(&name[2]); if (fcid < 0) { @@ -3445,31 +3511,46 @@ void lammps_scatter(void *handle, char *name, int type, int count, void *data) if (count==1) vptr = (void *) lmp->modify->compute[fcid]->vector_atom; else vptr = (void *) lmp->modify->compute[fcid]->array_atom; - - } - if (vptr==nullptr && strstr(name,"d_") == name) { // property / atom + // property/atom + + if ((vptr == nullptr) && + ((strstr(name,"d_") == name) || (strstr(name,"i_") == name) || + (strstr(name,"d2_") == name) || (strstr(name,"i2_") == name))) { - fcid = lmp->atom->find_custom(&name[2], ltype); + if ((strstr(name,"d_") == name) || (strstr(name,"i_") == name)) + fcid = lmp->atom->find_custom(&name[2],ltype,icol); + else fcid = lmp->atom->find_custom(&name[3],ltype,icol); if (fcid < 0) { if (lmp->comm->me == 0) lmp->error->warning(FLERR,"lammps_scatter: unknown property/atom id"); return; } + if (ltype != type) { if (lmp->comm->me == 0) lmp->error->warning(FLERR,"lammps_scatter: mismatch property/atom type"); return; } - if (count != 1) { + if (count == 1 && icol != 0) { if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_scatter: property/atom has count=1"); + lmp->error->warning(FLERR,"lammps_scatter: mismatch property/atom count"); + return; + } + if (count > 1 && icol != count) { + if (lmp->comm->me == 0) + lmp->error->warning(FLERR,"lammps_scatter: mismatch property/atom count"); return; } - if (ltype==0) vptr = (void *) lmp->atom->ivector[fcid]; - else vptr = (void *) lmp->atom->dvector[fcid]; + if (count == 1) { + if (ltype==0) vptr = (void *) lmp->atom->ivector[fcid]; + else vptr = (void *) lmp->atom->dvector[fcid]; + } else { + if (ltype==0) vptr = (void *) lmp->atom->iarray[fcid]; + else vptr = (void *) lmp->atom->darray[fcid]; + } } if (vptr == nullptr) { @@ -3548,7 +3629,10 @@ void lammps_scatter(void *handle, char *name, int type, int count, void *data) data is ordered by provided atom IDs no requirement for consecutive atom IDs (1 to N) see scatter_atoms() to scatter data for all atoms, ordered by consecutive IDs - name = desired quantity, e.g. x or charge + name = "x" , "f" or other atom properties + "d_name" or "i_name" for fix property/atom quantities + "f_fix", "c_compute" for fixes / computes + will return error if fix/compute doesn't isn't atom-based type = 0 for integer values, 1 for double values count = # of per-atom values, e.g. 1 for type or charge, 3 for x or f use count = 3 with "image" for xyz to be packed into single image flag @@ -3572,7 +3656,7 @@ void lammps_scatter_subset(void *handle, char *name,int type, int count, lmp->error->all(FLERR,"Library function lammps_scatter_subset() " "is not compatible with -DLAMMPS_BIGBIG"); #else - int i,j,m,offset,fcid,ltype; + int i,j,m,offset,fcid,ltype,icol; tagint id; // error if tags are not defined or no atom map @@ -3590,7 +3674,9 @@ void lammps_scatter_subset(void *handle, char *name,int type, int count, void *vptr = lmp->atom->extract(name); - if (vptr==nullptr && strstr(name,"f_") == name) { // fix + // fix + + if (vptr==nullptr && strstr(name,"f_") == name) { fcid = lmp->modify->find_fix(&name[2]); if (fcid < 0) { @@ -3616,7 +3702,9 @@ void lammps_scatter_subset(void *handle, char *name,int type, int count, else vptr = (void *) lmp->modify->fix[fcid]->array_atom; } - if (vptr==nullptr && strstr(name,"c_") == name) { // compute + // compute + + if (vptr==nullptr && strstr(name,"c_") == name) { fcid = lmp->modify->find_compute(&name[2]); if (fcid < 0) { @@ -3645,29 +3733,46 @@ void lammps_scatter_subset(void *handle, char *name,int type, int count, else vptr = (void *) lmp->modify->compute[fcid]->array_atom; } - if (vptr==nullptr && strstr(name,"d_") == name) { // property / atom + // property/atom + + if ((vptr == nullptr) && + ((strstr(name,"d_") == name) || (strstr(name,"i_") == name) || + (strstr(name,"d2_") == name) || (strstr(name,"i2_") == name))) { - fcid = lmp->atom->find_custom(&name[2], ltype); + if ((strstr(name,"d_") == name) || (strstr(name,"i_") == name)) + fcid = lmp->atom->find_custom(&name[2],ltype,icol); + else fcid = lmp->atom->find_custom(&name[3],ltype,icol); if (fcid < 0) { if (lmp->comm->me == 0) lmp->error->warning(FLERR,"lammps_scatter_subset: " "unknown property/atom id"); return; } + if (ltype != type) { if (lmp->comm->me == 0) lmp->error->warning(FLERR,"lammps_scatter_subset: " "mismatch property/atom type"); return; } - if (count != 1) { + if (count == 1 && icol != 0) { if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_scatter_subset: " - "property/atom has count=1"); + lmp->error->warning(FLERR,"lammps_gather: mismatch property/atom count"); return; } - if (ltype==0) vptr = (void *) lmp->atom->ivector[fcid]; - else vptr = (void *) lmp->atom->dvector[fcid]; + if (count > 1 && icol != count) { + if (lmp->comm->me == 0) + lmp->error->warning(FLERR,"lammps_gather: mismatch property/atom count"); + return; + } + + if (count == 1) { + if (ltype==0) vptr = (void *) lmp->atom->ivector[fcid]; + else vptr = (void *) lmp->atom->dvector[fcid]; + } else { + if (ltype==0) vptr = (void *) lmp->atom->iarray[fcid]; + else vptr = (void *) lmp->atom->darray[fcid]; + } } if (vptr == nullptr) { diff --git a/src/set.cpp b/src/set.cpp index 98b8afb9c8..f83bf6d78d 100644 --- a/src/set.cpp +++ b/src/set.cpp @@ -579,8 +579,8 @@ void Set::command(int narg, char **arg) int which = 0; if (arg[iarg][0] == 'd') which = 1; if (strstr(arg[iarg+1],"v_") == arg[iarg+1]) varparse(arg[iarg+1],1); - else if (!which) ivalue = force->inumeric(FLERR,arg[iarg+1]); - else dvalue = force->numeric(FLERR,arg[iarg+1]); + else if (!which) ivalue = utils::inumeric(FLERR,arg[iarg+1],false,lmp); + else dvalue = utils::numeric(FLERR,arg[iarg+1],false,lmp); int flag,cols; index_custom = atom->find_custom(&arg[iarg][2],flag,cols); @@ -599,8 +599,8 @@ void Set::command(int narg, char **arg) int which = 0; if (arg[iarg][0] == 'd') which = 1; if (strstr(arg[iarg+1],"v_") == arg[iarg+1]) varparse(arg[iarg+1],1); - else if (!which) ivalue = force->inumeric(FLERR,arg[iarg+1]); - else dvalue = force->numeric(FLERR,arg[iarg+1]); + else if (!which) ivalue = utils::inumeric(FLERR,arg[iarg+1],false,lmp); + else dvalue = utils::numeric(FLERR,arg[iarg+1],false,lmp); int n = strlen(arg[iarg]); char *suffix = new char[n]; diff --git a/src/utils.cpp b/src/utils.cpp index 154f35410e..8fdc5b87e6 100644 --- a/src/utils.cpp +++ b/src/utils.cpp @@ -13,6 +13,7 @@ #include "utils.h" +#include "atom.h" #include "comm.h" #include "compute.h" #include "error.h" @@ -503,7 +504,7 @@ int utils::expand_args(const char *file, int line, int narg, char **arg, } else if (arg[iarg][0] == 'i') { *ptr1 = '\0'; int flag,cols; - int icustom = atom->find_custom(&arg[iarg][3],flag,cols); + int icustom = lmp->atom->find_custom(&arg[iarg][3],flag,cols); *ptr1 = '['; // check for custom per-atom integer array @@ -518,7 +519,7 @@ int utils::expand_args(const char *file, int line, int narg, char **arg, } else if (arg[iarg][0] == 'd') { *ptr1 = '\0'; int flag,cols; - int icustom = atom->find_custom(&arg[iarg][3],flag,cols); + int icustom = lmp->atom->find_custom(&arg[iarg][3],flag,cols); *ptr1 = '['; // check for custom per-atom floating point array From 386fe6158a04bc1c686ac2141c321706c9f8f621 Mon Sep 17 00:00:00 2001 From: Plimpton Date: Tue, 12 Jan 2021 09:07:23 -0700 Subject: [PATCH 007/726] edits to doc pages, including per-atom variables --- doc/src/fix_property_atom.rst | 9 +++ doc/src/fix_store_state.rst | 2 +- doc/src/read_data.rst | 12 +++- src/atom.cpp | 102 ++++++++++++++++++++++++---------- 4 files changed, 92 insertions(+), 33 deletions(-) diff --git a/doc/src/fix_property_atom.rst b/doc/src/fix_property_atom.rst index 71e1a52eaf..c7bf3f8c37 100644 --- a/doc/src/fix_property_atom.rst +++ b/doc/src/fix_property_atom.rst @@ -299,6 +299,15 @@ info on how to re-specify a fix in an input script that reads a restart file, so that the operation of the fix continues in an uninterrupted fashion. +.. warning:: + + When reading data from a restart file, this fix command has to be specified + **exactly** the same way as before. LAMMPS will only check whether a + fix is of the same style and has the same fix ID and in case of a match + will then try to initialize the fix with the data stored in the binary + restart file. If the fix property/atom command does not match exactly, + data can be corrupted or LAMMPS may crash. + None of the :doc:`fix_modify ` options are relevant to this fix. No global or per-atom quantities are stored by this fix for access by various :doc:`output commands `. No parameter diff --git a/doc/src/fix_store_state.rst b/doc/src/fix_store_state.rst index 2a0fda4774..756e32162a 100644 --- a/doc/src/fix_store_state.rst +++ b/doc/src/fix_store_state.rst @@ -117,7 +117,7 @@ uninterrupted fashion. .. warning:: - When reading data from a restart, the fix command has to be specified + When reading data from a restart file, this fix command has to be specified **exactly** the same way as before. LAMMPS will only check whether a fix is of the same style and has the same fix ID and in case of a match will then try to initialize the fix with the data stored in the binary diff --git a/doc/src/read_data.rst b/doc/src/read_data.rst index 5d74d9c28b..dc98924ee1 100644 --- a/doc/src/read_data.rst +++ b/doc/src/read_data.rst @@ -633,12 +633,14 @@ of analysis. - atom-ID molecule-ID atom-type lineflag density x y z * - mdpd - atom-ID atom-type rho x y z + * - mesont + - atom-ID molecule-ID atom-type bond_nt mass mradius mlength buckling x y z * - molecular - atom-ID molecule-ID atom-type x y z * - peri - atom-ID atom-type volume density x y z * - smd - - atom-ID atom-type molecule volume mass kernel-radius contact-radius x0 y0 z0 x y z + - atom-ID atom-type molecule volume mass kradius cradius x0 y0 z0 x y z * - sph - atom-ID atom-type rho esph cv x y z * - sphere @@ -661,8 +663,10 @@ The per-atom values have these meanings and units, listed alphabetically: * atom-ID = integer ID of atom * atom-type = type of atom (1-Ntype) * bodyflag = 1 for body particles, 0 for point particles +* bond_nt = bond NT factor for MESONT particles (?? units) +* buckling = buckling factor for MESONT particles (?? units) * ccN = chemical concentration for tDPD particles for each species (mole/volume units) -* contact-radius = ??? (distance units) +* cradius = contact radius for SMD particles (distance units) * cs_re,cs_im = real/imaginary parts of wave packet coefficients * cv = heat capacity (need units) for SPH particles * density = density of particle (mass/distance\^3 or mass/distance\^2 or mass/distance units, depending on dimensionality of particle) @@ -673,10 +677,12 @@ The per-atom values have these meanings and units, listed alphabetically: * ellipsoidflag = 1 for ellipsoidal particles, 0 for point particles * eradius = electron radius (or fixed-core radius) * etag = integer ID of electron that each wave packet belongs to -* kernel-radius = ??? (distance units) +* kradius = kernel radius for SMD particles (distance units) * lineflag = 1 for line segment particles, 0 for point or spherical particles * mass = mass of particle (mass units) +* mlength = ?? length for MESONT particles (distance units) * molecule-ID = integer ID of molecule the atom belongs to +* mradius = ?? radius for MESONT particles (distance units) * mux,muy,muz = components of dipole moment of atom (dipole units) * q = charge on atom (charge units) * rho = density (need units) for SPH particles diff --git a/src/atom.cpp b/src/atom.cpp index d4aa742fb8..741b2c6821 100644 --- a/src/atom.cpp +++ b/src/atom.cpp @@ -2599,6 +2599,22 @@ length of the data area, and a short description. - int - 1 - 1 if the particle is a body particle, 0 if not + * - i_name + - int + - 1 + - single integer value defined by fix property/atom vector name + * - d_name + - double + - 1 + - single double value defined by fix property/atom vector name + * - i2_name + - int + - n + - N integer values defined by fix property/atom array name + * - d2_name + - double + - n + - N double values defined by fix property/atom array name *See also* :cpp:func:`lammps_extract_atom` @@ -2660,29 +2676,6 @@ void *Atom::extract(const char *name) if (strcmp(name,"cv") == 0) return (void *) cv; if (strcmp(name,"vest") == 0) return (void *) vest; - // custom vectors and arrays - - if (strstr(name,"i_") == name || strstr(name,"d_") == name || - strstr(name,"i2_") == name || strstr(name,"d2_") == name) { - int which = 0; - if (name[0] == 'd') which = 1; - int array = 0; - if (name[1] == '2') array = 1; - - int index,flag,cols; - if (!array) index = find_custom(&name[2],flag,cols); - else index = find_custom(&name[3],flag,cols); - - if (index < 0) return NULL; - if (which != flag) return NULL; - if ((!array && cols) || (array && !cols)) return NULL; - - if (!which && !array) return (void *) ivector[index]; - if (which && !array) return (void *) dvector[index]; - if (!which && array) return (void *) iarray[index]; - if (which && array) return (void *) darray[index]; - } - // USER-SMD package if (strcmp(name, "contact_radius") == 0) return (void *) contact_radius; @@ -2708,13 +2701,35 @@ void *Atom::extract(const char *name) if (strcmp(name,"buckling") == 0) return (void *) buckling; if (strcmp(name,"bond_nt") == 0) return (void *) bond_nt; + // custom vectors and arrays + + if (strstr(name,"i_") == name || strstr(name,"d_") == name || + strstr(name,"i2_") == name || strstr(name,"d2_") == name) { + int which = 0; + if (name[0] == 'd') which = 1; + int array = 0; + if (name[1] == '2') array = 1; + + int index,flag,cols; + if (!array) index = find_custom(&name[2],flag,cols); + else index = find_custom(&name[3],flag,cols); + + if (index < 0) return NULL; + if (which != flag) return NULL; + if ((!array && cols) || (array && !cols)) return NULL; + + if (!which && !array) return (void *) ivector[index]; + if (which && !array) return (void *) dvector[index]; + if (!which && array) return (void *) iarray[index]; + if (which && array) return (void *) darray[index]; + } + // end of customization section // -------------------------------------------------------------------- return nullptr; } - /** Provide data type info about internal data of the Atom class * \verbatim embed:rst @@ -2776,11 +2791,8 @@ int Atom::extract_datatype(const char *name) if (strcmp(name,"cv") == 0) return LAMMPS_DOUBLE; if (strcmp(name,"vest") == 0) return LAMMPS_DOUBLE_2D; - // USER-MESONT package - if (strcmp(name,"length") == 0) return LAMMPS_DOUBLE; - if (strcmp(name,"buckling") == 0) return LAMMPS_INT; - if (strcmp(name,"bond_nt") == 0) return LAMMPS_TAGINT_2D; - + // USER-SMD package + if (strcmp(name, "contact_radius") == 0) return LAMMPS_DOUBLE; if (strcmp(name, "smd_data_9") == 0) return LAMMPS_DOUBLE_2D; if (strcmp(name, "smd_stress") == 0) return LAMMPS_DOUBLE_2D; @@ -2788,9 +2800,41 @@ int Atom::extract_datatype(const char *name) if (strcmp(name, "eff_plastic_strain_rate") == 0) return LAMMPS_DOUBLE; if (strcmp(name, "damage") == 0) return LAMMPS_DOUBLE; + // USER-DPD package + if (strcmp(name,"dpdTheta") == 0) return LAMMPS_DOUBLE; + + // USER-MESO package + if (strcmp(name,"edpd_temp") == 0) return LAMMPS_DOUBLE; + // USER-MESONT package + + if (strcmp(name,"length") == 0) return LAMMPS_DOUBLE; + if (strcmp(name,"buckling") == 0) return LAMMPS_INT; + if (strcmp(name,"bond_nt") == 0) return LAMMPS_TAGINT_2D; + + // custom vectors and arrays + + if (strstr(name,"i_") == name || strstr(name,"d_") == name || + strstr(name,"i2_") == name || strstr(name,"d2_") == name) { + int which = 0; + if (name[0] == 'd') which = 1; + int array = 0; + if (name[1] == '2') array = 1; + + int index,flag,cols; + if (!array) index = find_custom(&name[2],flag,cols); + else index = find_custom(&name[3],flag,cols); + + if (index < 0) return -1; + if (which != flag) return -1; + if ((!array && cols) || (array && !cols)) return -1; + + if (which == 0) return LAMMPS_INT; + else return LAMMPS_DOUBLE; + } + // end of customization section // -------------------------------------------------------------------- From 6f4d6570619fc4e0d229204a2fa7d01909d52521 Mon Sep 17 00:00:00 2001 From: Plimpton Date: Tue, 12 Jan 2021 12:28:06 -0700 Subject: [PATCH 008/726] enable pair table/rx for new custom vector syntax --- src/USER-DPD/pair_table_rx.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/USER-DPD/pair_table_rx.cpp b/src/USER-DPD/pair_table_rx.cpp index cefbe5a73d..4d412d7481 100644 --- a/src/USER-DPD/pair_table_rx.cpp +++ b/src/USER-DPD/pair_table_rx.cpp @@ -329,7 +329,7 @@ void PairTableRX::coeff(int narg, char **arg) int ispecies; for (ispecies = 0; ispecies < nspecies; ispecies++) { - if (strcmp(site1,&atom->dname[ispecies][0]) == 0) break; + if (strcmp(site1,&atom->dvname[ispecies][0]) == 0) break; } if (ispecies == nspecies && strcmp(site1,"1fluid") != 0) error->all(FLERR,"Site1 name not recognized in pair coefficients"); @@ -339,7 +339,7 @@ void PairTableRX::coeff(int narg, char **arg) strcpy(site2,arg[5]); for (ispecies = 0; ispecies < nspecies; ispecies++) { - if (strcmp(site2,&atom->dname[ispecies][0]) == 0) break; + if (strcmp(site2,&atom->dvname[ispecies][0]) == 0) break; } if (ispecies == nspecies && strcmp(site2,"1fluid") != 0) error->all(FLERR,"Site2 name not recognized in pair coefficients"); @@ -406,7 +406,7 @@ void PairTableRX::coeff(int narg, char **arg) isite1 = nspecies; for (int k = 0; k < nspecies; k++) { - if (strcmp(site1, atom->dname[k]) == 0) { + if (strcmp(site1, atom->dvname[k]) == 0) { isite1 = k; break; } @@ -421,7 +421,7 @@ void PairTableRX::coeff(int narg, char **arg) isite2 = nspecies; for (int k = 0; k < nspecies; k++) { - if (strcmp(site2, atom->dname[k]) == 0) { + if (strcmp(site2, atom->dvname[k]) == 0) { isite2 = ispecies; break; } From fc792805482452f699e3c983f31ed7c6d66d68fe Mon Sep 17 00:00:00 2001 From: Plimpton Date: Tue, 12 Jan 2021 12:37:50 -0700 Subject: [PATCH 009/726] other USER-DPD uses of dname vs new dvname --- src/USER-DPD/fix_eos_table_rx.cpp | 4 ++-- src/USER-DPD/fix_rx.cpp | 12 ++++++------ src/USER-DPD/pair_exp6_rx.cpp | 14 +++++++------- src/USER-DPD/pair_multi_lucy_rx.cpp | 4 ++-- 4 files changed, 17 insertions(+), 17 deletions(-) diff --git a/src/USER-DPD/fix_eos_table_rx.cpp b/src/USER-DPD/fix_eos_table_rx.cpp index 28cd4eb4c3..b1928caebc 100644 --- a/src/USER-DPD/fix_eos_table_rx.cpp +++ b/src/USER-DPD/fix_eos_table_rx.cpp @@ -369,7 +369,7 @@ void FixEOStableRX::read_file(char *file) while ((words[nwords++] = strtok(nullptr," \t\n\r\f"))) continue; for (ispecies = 0; ispecies < nspecies; ispecies++) - if (strcmp(words[0],&atom->dname[ispecies][0]) == 0) break; + if (strcmp(words[0],&atom->dvname[ispecies][0]) == 0) break; if (ispecies < nspecies) { dHf[ispecies] = atof(words[1]); @@ -583,7 +583,7 @@ void FixEOStableRX::param_extract(Table *tb, char *line) if (rx_flag) { while (word) { for (ispecies = 0; ispecies < nspecies; ispecies++) - if (strcmp(word,&atom->dname[ispecies][0]) == 0) { + if (strcmp(word,&atom->dvname[ispecies][0]) == 0) { eosSpecies[ncolumn] = ispecies; ncolumn++; break; diff --git a/src/USER-DPD/fix_rx.cpp b/src/USER-DPD/fix_rx.cpp index 00c2452e81..d38a13b69b 100644 --- a/src/USER-DPD/fix_rx.cpp +++ b/src/USER-DPD/fix_rx.cpp @@ -410,7 +410,7 @@ void FixRX::initSparse() if (comm->me == 0 and Verbosity > 1) { for (int k = 0; k < nspecies; ++k) - printf("atom->dname[%d]= %s\n", k, atom->dname[k]); + printf("atom->dvname[%d]= %s\n", k, atom->dvname[k]); printf("stoich[][]\n"); for (int i = 0; i < nreactions; ++i) { @@ -470,7 +470,7 @@ void FixRX::initSparse() char digit[6]; sprintf(digit, "%4.1f ", stoichReactants[i][k]); rstr += digit; - rstr += atom->dname[k]; + rstr += atom->dvname[k]; } if (stoichProducts[i][k] > 0.0) { allAreIntegral &= (std::fmod( stoichProducts[i][k], 1.0 ) == 0.0); @@ -482,7 +482,7 @@ void FixRX::initSparse() char digit[6]; sprintf(digit, "%4.1f ", stoichProducts[i][k]); pstr += digit; - pstr += atom->dname[k]; + pstr += atom->dvname[k]; } } if (comm->me == 0 and Verbosity > 1) @@ -596,7 +596,7 @@ void FixRX::initSparse() else sprintf(digit,"%4.1f ", sparseKinetics_nu[i][kk]); rstr += digit; - rstr += atom->dname[k]; + rstr += atom->dvname[k]; } } @@ -612,7 +612,7 @@ void FixRX::initSparse() else sprintf(digit,"%4.1f ", sparseKinetics_nu[i][kk]); pstr += digit; - pstr += atom->dname[k]; + pstr += atom->dvname[k]; } } if (comm->me == 0 and Verbosity > 1) @@ -950,7 +950,7 @@ void FixRX::read_file(char *file) tmpStoich = atof(word); word = strtok(nullptr, " \t\n\r\f"); for (ispecies = 0; ispecies < nspecies; ispecies++) { - if (strcmp(word,&atom->dname[ispecies][0]) == 0) { + if (strcmp(word,&atom->dvname[ispecies][0]) == 0) { stoich[nreactions][ispecies] += sign*tmpStoich; if (sign<0.0) stoichReactants[nreactions][ispecies] += tmpStoich; diff --git a/src/USER-DPD/pair_exp6_rx.cpp b/src/USER-DPD/pair_exp6_rx.cpp index d387ffa3c5..0882825203 100644 --- a/src/USER-DPD/pair_exp6_rx.cpp +++ b/src/USER-DPD/pair_exp6_rx.cpp @@ -602,7 +602,7 @@ void PairExp6rx::coeff(int narg, char **arg) int ispecies; for (ispecies = 0; ispecies < nspecies; ispecies++) { - if (strcmp(site1,&atom->dname[ispecies][0]) == 0) break; + if (strcmp(site1,&atom->dvname[ispecies][0]) == 0) break; } if (ispecies == nspecies && strcmp(site1,"1fluid") != 0) error->all(FLERR,"Site1 name not recognized in pair coefficients"); @@ -612,7 +612,7 @@ void PairExp6rx::coeff(int narg, char **arg) strcpy(site2,arg[4]); for (ispecies = 0; ispecies < nspecies; ispecies++) { - if (strcmp(site2,&atom->dname[ispecies][0]) == 0) break; + if (strcmp(site2,&atom->dvname[ispecies][0]) == 0) break; } if (ispecies == nspecies && strcmp(site2,"1fluid") != 0) error->all(FLERR,"Site2 name not recognized in pair coefficients"); @@ -626,7 +626,7 @@ void PairExp6rx::coeff(int narg, char **arg) { int isp; for (isp = 0; isp < nspecies; isp++) - if (strcmp(site1, &atom->dname[isp][0]) == 0) break; + if (strcmp(site1, &atom->dvname[isp][0]) == 0) break; if (isp == nspecies) error->all(FLERR,"Site1 name not recognized in pair coefficients"); @@ -640,7 +640,7 @@ void PairExp6rx::coeff(int narg, char **arg) { int isp; for (isp = 0; isp < nspecies; isp++) - if (strcmp(site2, &atom->dname[isp][0]) == 0) break; + if (strcmp(site2, &atom->dvname[isp][0]) == 0) break; if (isp == nspecies) error->all(FLERR,"Site2 name not recognized in pair coefficients"); @@ -788,7 +788,7 @@ void PairExp6rx::read_file(char *file) while ((words[nwords++] = strtok(nullptr," \t\n\r\f"))) continue; for (ispecies = 0; ispecies < nspecies; ispecies++) - if (strcmp(words[0],&atom->dname[ispecies][0]) == 0) break; + if (strcmp(words[0],&atom->dvname[ispecies][0]) == 0) break; if (ispecies == nspecies) continue; // load up parameter settings and error check their values @@ -806,9 +806,9 @@ void PairExp6rx::read_file(char *file) params[nparams].ispecies = ispecies; - n = strlen(&atom->dname[ispecies][0]) + 1; + n = strlen(&atom->dvname[ispecies][0]) + 1; params[nparams].name = new char[n]; - strcpy(params[nparams].name,&atom->dname[ispecies][0]); + strcpy(params[nparams].name,&atom->dvname[ispecies][0]); n = strlen(words[1]) + 1; params[nparams].potential = new char[n]; diff --git a/src/USER-DPD/pair_multi_lucy_rx.cpp b/src/USER-DPD/pair_multi_lucy_rx.cpp index e1a263b7dc..33a9039ccd 100644 --- a/src/USER-DPD/pair_multi_lucy_rx.cpp +++ b/src/USER-DPD/pair_multi_lucy_rx.cpp @@ -442,7 +442,7 @@ void PairMultiLucyRX::coeff(int narg, char **arg) else { isite1 = nspecies; for (int ispecies = 0; ispecies < nspecies; ++ispecies) - if (strcmp(site1, atom->dname[ispecies]) == 0) { + if (strcmp(site1, atom->dvname[ispecies]) == 0) { isite1 = ispecies; break; } @@ -456,7 +456,7 @@ void PairMultiLucyRX::coeff(int narg, char **arg) else { isite2 = nspecies; for (int ispecies = 0; ispecies < nspecies; ++ispecies) - if (strcmp(site2, atom->dname[ispecies]) == 0) { + if (strcmp(site2, atom->dvname[ispecies]) == 0) { isite2 = ispecies; break; } From b2f96d92df865d14f4f781a12c4e5bf6e4fd3f64 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Wed, 13 Jan 2021 10:31:03 -0700 Subject: [PATCH 010/726] remove print statement --- src/USER-DPD/fix_rx.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/USER-DPD/fix_rx.cpp b/src/USER-DPD/fix_rx.cpp index d38a13b69b..e0c34fd9fd 100644 --- a/src/USER-DPD/fix_rx.cpp +++ b/src/USER-DPD/fix_rx.cpp @@ -1343,7 +1343,7 @@ void FixRX::odeDiagnostics(void) averageNumNeighbors /= inum; } - printf("me= %d nst= %g nfc= %g time= %g nlocal= %g lmpnst= %g weight_idx= %d 1st= %d aveNeigh= %g\n", comm->me, this->diagnosticCounter[0], this->diagnosticCounter[1], this->diagnosticCounter[2], this->diagnosticCounter[3], this->diagnosticCounter[4], rx_weight_index, firstStep, averageNumNeighbors); + //printf("me= %d nst= %g nfc= %g time= %g nlocal= %g lmpnst= %g weight_idx= %d 1st= %d aveNeigh= %g\n", comm->me, this->diagnosticCounter[0], this->diagnosticCounter[1], this->diagnosticCounter[2], this->diagnosticCounter[3], this->diagnosticCounter[4], rx_weight_index, firstStep, averageNumNeighbors); firstStep = false; oldTimeStamp = now; From 8255fca58fd01eb9b0dd6fc933da75d4fd005d3e Mon Sep 17 00:00:00 2001 From: tomswinburne Date: Tue, 23 Mar 2021 12:30:16 +0100 Subject: [PATCH 011/726] darwin library error --- python/lammps/core.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python/lammps/core.py b/python/lammps/core.py index be026d5e10..b73360a0b2 100644 --- a/python/lammps/core.py +++ b/python/lammps/core.py @@ -126,13 +126,16 @@ class lammps(object): lib_ext = ".dll" modpath = winpath else: + """ import platform - if platform.system() == "Darwin": + if platform.system() == "Darwin": # this flags an error on MacOSX lib_ext = ".dylib" elif platform.system() == "Windows": lib_ext = ".dll" else: lib_ext = ".so" + """ + lib_ext = ".so" if not self.lib: if name: From 89b0227849d1b87208a3f891fc433cdb61d0c884 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 14 Apr 2021 16:20:39 -0400 Subject: [PATCH 012/726] move file opening step to reax/c function. simplify code. --- src/USER-REAXC/pair_reaxc.cpp | 12 ++---------- src/USER-REAXC/reaxc_control.cpp | 7 ++++++- src/USER-REAXC/reaxc_ffield.cpp | 17 +++++++++++++---- src/USER-REAXC/reaxc_ffield.h | 3 +-- src/USER-REAXC/reaxc_types.h | 15 ++++++++++----- 5 files changed, 32 insertions(+), 22 deletions(-) diff --git a/src/USER-REAXC/pair_reaxc.cpp b/src/USER-REAXC/pair_reaxc.cpp index 4d6f240ec6..6e9429809e 100644 --- a/src/USER-REAXC/pair_reaxc.cpp +++ b/src/USER-REAXC/pair_reaxc.cpp @@ -121,6 +121,7 @@ PairReaxC::PairReaxC(LAMMPS *lmp) : Pair(lmp) system->pair_ptr = this; system->error_ptr = error; control->error_ptr = error; + control->lmp_ptr = lmp; system->omp_active = 0; @@ -314,16 +315,7 @@ void PairReaxC::coeff( int nargs, char **args ) // read ffield file - char *file = args[2]; - FILE *fp; - fp = utils::open_potential(file,lmp,nullptr); - if (fp != nullptr) - Read_Force_Field(fp, &(system->reax_param), control); - else { - char str[128]; - snprintf(str,128,"Cannot open ReaxFF potential file %s",file); - error->all(FLERR,str); - } + Read_Force_Field(args[2], &(system->reax_param), control); // read args that map atom types to elements in potential file // map[i] = which element the Ith atom type is, -1 if "NULL" diff --git a/src/USER-REAXC/reaxc_control.cpp b/src/USER-REAXC/reaxc_control.cpp index b717b6b97f..e4771427e8 100644 --- a/src/USER-REAXC/reaxc_control.cpp +++ b/src/USER-REAXC/reaxc_control.cpp @@ -31,6 +31,9 @@ #include "reaxc_tool_box.h" #include "error.h" +#include "utils.h" + +using LAMMPS_NS::utils::getsyserror; char Read_Control_File( char *control_file, control_params* control, output_controls *out_control ) @@ -42,7 +45,9 @@ char Read_Control_File( char *control_file, control_params* control, /* open control file */ if ((fp = fopen( control_file, "r" ) ) == nullptr) { - control->error_ptr->all(FLERR, "The control file cannot be opened"); + control->error_ptr->all(FLERR,fmt::format("The control file {} cannot be " + "opened: {}",control_file, + getsyserror())); } /* assign default values */ diff --git a/src/USER-REAXC/reaxc_ffield.cpp b/src/USER-REAXC/reaxc_ffield.cpp index e54b3b75e0..a48ba93e85 100644 --- a/src/USER-REAXC/reaxc_ffield.cpp +++ b/src/USER-REAXC/reaxc_ffield.cpp @@ -25,16 +25,22 @@ ----------------------------------------------------------------------*/ #include "reaxc_ffield.h" + #include #include #include #include +#include #include #include "reaxc_defs.h" #include "error.h" #include "reaxc_tool_box.h" +#include "utils.h" -char Read_Force_Field( FILE *fp, reax_interaction *reax, +using LAMMPS_NS::utils::open_potential; +using LAMMPS_NS::utils::getsyserror; + +void Read_Force_Field(const char *filename, reax_interaction *reax, control_params *control ) { char *s; @@ -46,6 +52,11 @@ char Read_Force_Field( FILE *fp, reax_interaction *reax, double val; int me = control->me; + FILE *fp = open_potential(filename,control->lmp_ptr,nullptr); + if (!fp) + control->error_ptr->all(FLERR,fmt::format("Cannot open ReaxFF potential " + "file {}: {}",filename, + getsyserror())); s = (char*) malloc(sizeof(char)*MAX_LINE); tmp = (char**) malloc(sizeof(char*)*MAX_TOKENS); for (i=0; i < MAX_TOKENS; i++) @@ -66,7 +77,7 @@ char Read_Force_Field( FILE *fp, reax_interaction *reax, fclose(fp); free(s); free(tmp); - return 1; + return; } reax->gp.n_global = n; @@ -734,6 +745,4 @@ char Read_Force_Field( FILE *fp, reax_interaction *reax, // close file fclose(fp); - - return SUCCESS; } diff --git a/src/USER-REAXC/reaxc_ffield.h b/src/USER-REAXC/reaxc_ffield.h index b6fe1c9ea9..d334047ab5 100644 --- a/src/USER-REAXC/reaxc_ffield.h +++ b/src/USER-REAXC/reaxc_ffield.h @@ -28,8 +28,7 @@ #define __FFIELD_H_ #include "reaxc_types.h" -#include -char Read_Force_Field( FILE*, reax_interaction*, control_params* ); +void Read_Force_Field(const char *, reax_interaction *, control_params *); #endif diff --git a/src/USER-REAXC/reaxc_types.h b/src/USER-REAXC/reaxc_types.h index 36678ad2b0..5e7e655899 100644 --- a/src/USER-REAXC/reaxc_types.h +++ b/src/USER-REAXC/reaxc_types.h @@ -32,7 +32,12 @@ #include #include "accelerator_kokkos.h" -namespace LAMMPS_NS { class Error;} +// forward declarations +namespace LAMMPS_NS { + class Error; + class LAMMPS; + class Pair; +} #if defined LMP_USER_OMP #define OMP_TIMING 0 @@ -406,8 +411,8 @@ struct _reax_system boundary_cutoff bndry_cuts; reax_atom *my_atoms; - class LAMMPS_NS::Error *error_ptr; - class LAMMPS_NS::Pair *pair_ptr; + LAMMPS_NS::Error *error_ptr; + LAMMPS_NS::Pair *pair_ptr; int my_bonds; int mincap,minhbonds; double safezone, saferzone; @@ -486,9 +491,9 @@ typedef struct int lgflag; int enobondsflag; - class LAMMPS_NS::Error *error_ptr; + LAMMPS_NS::Error *error_ptr; + LAMMPS_NS::LAMMPS *lmp_ptr; int me; - } control_params; From 73cd6f8e4ebe4d117605a969b7c00b10c5ec4406 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 14 Apr 2021 17:36:17 -0400 Subject: [PATCH 013/726] read control file only on MPI rank 0, then broadcast its data --- src/USER-REAXC/reaxc_control.cpp | 13 +++++-------- src/USER-REAXC/reaxc_control.h | 2 +- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/src/USER-REAXC/reaxc_control.cpp b/src/USER-REAXC/reaxc_control.cpp index e4771427e8..6496f27ab5 100644 --- a/src/USER-REAXC/reaxc_control.cpp +++ b/src/USER-REAXC/reaxc_control.cpp @@ -35,8 +35,8 @@ using LAMMPS_NS::utils::getsyserror; -char Read_Control_File( char *control_file, control_params* control, - output_controls *out_control ) +void Read_Control_File(const char *control_file, control_params *control, + output_controls *out_control) { FILE *fp; char *s, **tmp; @@ -44,12 +44,11 @@ char Read_Control_File( char *control_file, control_params* control, double val; /* open control file */ - if ((fp = fopen( control_file, "r" ) ) == nullptr) { - control->error_ptr->all(FLERR,fmt::format("The control file {} cannot be " + fp = fopen(control_file, "r"); + if (!fp) + control->error_ptr->one(FLERR,fmt::format("The control file {} cannot be " "opened: {}",control_file, getsyserror())); - } - /* assign default values */ strcpy( control->sim_name, "simulate" ); control->ensemble = NVE; @@ -390,6 +389,4 @@ char Read_Control_File( char *control_file, control_params* control, free( s ); fclose(fp); - - return SUCCESS; } diff --git a/src/USER-REAXC/reaxc_control.h b/src/USER-REAXC/reaxc_control.h index b2b455d6b8..5739d97574 100644 --- a/src/USER-REAXC/reaxc_control.h +++ b/src/USER-REAXC/reaxc_control.h @@ -29,6 +29,6 @@ #include "reaxc_types.h" -char Read_Control_File( char*, control_params*, output_controls* ); +void Read_Control_File(const char *, control_params *, output_controls *); #endif From a2dcbf6a2d556a678e54cf28e031d956184bd9b0 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 14 Apr 2021 17:52:10 -0400 Subject: [PATCH 014/726] remove obsolete define --- src/USER-REAXC/reaxc_list.h | 2 -- src/USER-REAXC/reaxc_types.h | 2 -- 2 files changed, 4 deletions(-) diff --git a/src/USER-REAXC/reaxc_list.h b/src/USER-REAXC/reaxc_list.h index 28567252da..1894f6cbbd 100644 --- a/src/USER-REAXC/reaxc_list.h +++ b/src/USER-REAXC/reaxc_list.h @@ -38,7 +38,6 @@ inline int End_Index( int, reax_list* ); inline void Set_Start_Index(int,int,reax_list*); inline void Set_End_Index(int,int,reax_list*); -#if defined(LAMMPS_REAX) inline int Num_Entries( int i, reax_list *l ) { return l->end_index[i] - l->index[i]; @@ -63,6 +62,5 @@ inline void Set_End_Index( int i, int val, reax_list *l ) { l->end_index[i] = val; } -#endif // LAMMPS_REAX #endif diff --git a/src/USER-REAXC/reaxc_types.h b/src/USER-REAXC/reaxc_types.h index 5e7e655899..a0173c9c20 100644 --- a/src/USER-REAXC/reaxc_types.h +++ b/src/USER-REAXC/reaxc_types.h @@ -75,8 +75,6 @@ extern int ompTimingCGCount[LASTTIMINGINDEX]; /************* SOME DEFS - crucial for reax_types.h *********/ -#define LAMMPS_REAX - //#define DEBUG //#define DEBUG_FOCUS //#define TEST_ENERGY From 390b1683f0d154dee773e7600c09acfe21c21cc1 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 14 Apr 2021 17:53:29 -0400 Subject: [PATCH 015/726] remove unusued function pointer typedefs --- src/USER-REAXC/reaxc_types.h | 21 +++------------------ 1 file changed, 3 insertions(+), 18 deletions(-) diff --git a/src/USER-REAXC/reaxc_types.h b/src/USER-REAXC/reaxc_types.h index a0173c9c20..fdcd0436e2 100644 --- a/src/USER-REAXC/reaxc_types.h +++ b/src/USER-REAXC/reaxc_types.h @@ -907,23 +907,8 @@ typedef struct _LR_lookup_table } LR_lookup_table; /* function pointer defs */ -typedef void (*evolve_function)(reax_system*, control_params*, - simulation_data*, storage*, reax_list**, - output_controls*, mpi_datatypes* ); -typedef void (*interaction_function) (reax_system*, control_params*, - simulation_data*, storage*, - reax_list**, output_controls*); - -typedef void (*print_interaction)(reax_system*, control_params*, - simulation_data*, storage*, - reax_list**, output_controls*); - -typedef double (*lookup_function)(double); - -typedef void (*message_sorter) (reax_system*, int, int, int, mpi_out_data*); -typedef void (*unpacker) ( reax_system*, int, void*, int, neighbor_proc*, int ); - -typedef void (*dist_packer) (void*, mpi_out_data*); -typedef void (*coll_unpacker) (void*, void*, mpi_out_data*); +typedef void (*interaction_function) (reax_system *, control_params *, + simulation_data *, storage *, + reax_list **, output_controls *); #endif From 487e0b041c52bb120e852d414de95b553bc1f604 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 14 Apr 2021 23:26:37 -0400 Subject: [PATCH 016/726] eliminate mpi_datatypes struct --- src/USER-OMP/pair_reaxc_omp.cpp | 9 +- src/USER-OMP/reaxc_forces_omp.cpp | 29 ++-- src/USER-OMP/reaxc_forces_omp.h | 3 +- src/USER-OMP/reaxc_init_md_omp.cpp | 24 +-- src/USER-OMP/reaxc_init_md_omp.h | 2 +- src/USER-OMP/reaxc_nonbonded_omp.cpp | 4 +- src/USER-REAXC/pair_reaxc.cpp | 33 ++-- src/USER-REAXC/pair_reaxc.h | 14 +- src/USER-REAXC/reaxc_forces.cpp | 50 +++--- src/USER-REAXC/reaxc_forces.h | 4 +- src/USER-REAXC/reaxc_init_md.cpp | 37 +--- src/USER-REAXC/reaxc_init_md.h | 4 +- src/USER-REAXC/reaxc_io_tools.cpp | 21 +-- src/USER-REAXC/reaxc_io_tools.h | 12 +- src/USER-REAXC/reaxc_lookup.cpp | 8 +- src/USER-REAXC/reaxc_lookup.h | 3 +- src/USER-REAXC/reaxc_traj.cpp | 93 +++++----- src/USER-REAXC/reaxc_traj.h | 5 +- src/USER-REAXC/reaxc_types.h | 244 +++++++++------------------ 19 files changed, 234 insertions(+), 365 deletions(-) diff --git a/src/USER-OMP/pair_reaxc_omp.cpp b/src/USER-OMP/pair_reaxc_omp.cpp index d10a4573f1..6bb9377ca3 100644 --- a/src/USER-OMP/pair_reaxc_omp.cpp +++ b/src/USER-OMP/pair_reaxc_omp.cpp @@ -117,7 +117,7 @@ PairReaxCOMP::~PairReaxCOMP() #ifdef OMP_TIMING int myrank; - MPI_Comm_rank(mpi_data->world,&myrank); + MPI_Comm_rank(world,&myrank); // Write screen output if (timer->has_full() && myrank == 0 && screen) { @@ -230,7 +230,7 @@ void PairReaxCOMP::compute(int eflag, int vflag) startTimeBase = MPI_Wtime(); #endif - Compute_ForcesOMP(system,control,data,workspace,&lists,out_control,mpi_data); + Compute_ForcesOMP(system,control,data,workspace,&lists,out_control); read_reax_forces(vflag); #ifdef OMP_TIMING @@ -289,7 +289,7 @@ void PairReaxCOMP::compute(int eflag, int vflag) data->step = update->ntimestep; - Output_Results( system, control, data, &lists, out_control, mpi_data ); + Output_Results( system, control, data, &lists, out_control, world ); // populate tmpid and tmpbo arrays for fix reax/c/species @@ -430,8 +430,7 @@ void PairReaxCOMP::setup( ) write_reax_lists(); - InitializeOMP( system, control, data, workspace, &lists, out_control, - mpi_data, world ); + InitializeOMP(system, control, data, workspace, &lists, out_control, world); for (int k = 0; k < system->N; ++k) { num_bonds[k] = system->my_atoms[k].num_bonds; diff --git a/src/USER-OMP/reaxc_forces_omp.cpp b/src/USER-OMP/reaxc_forces_omp.cpp index 5eb939cf8c..4bed7a3828 100644 --- a/src/USER-OMP/reaxc_forces_omp.cpp +++ b/src/USER-OMP/reaxc_forces_omp.cpp @@ -81,8 +81,7 @@ void Init_Force_FunctionsOMP( control_params *control ) // Only difference with MPI-only version is inclusion of OMP_TIMING statements void Compute_Bonded_ForcesOMP( reax_system *system, control_params *control, simulation_data *data, storage *workspace, - reax_list **lists, output_controls *out_control, - MPI_Comm /* comm */) + reax_list **lists, output_controls *out_control) { int i; @@ -107,8 +106,7 @@ void Compute_Bonded_ForcesOMP( reax_system *system, control_params *control, // Only difference with MPI-only version is inclusion of OMP_TIMING statements void Compute_NonBonded_ForcesOMP( reax_system *system, control_params *control, simulation_data *data, storage *workspace, - reax_list **lists, output_controls *out_control, - MPI_Comm /* comm */) + reax_list **lists, output_controls *out_control) { /* van der Waals and Coulomb interactions */ #ifdef OMP_TIMING @@ -136,7 +134,7 @@ void Compute_NonBonded_ForcesOMP( reax_system *system, control_params *control, Saves enormous time & space! */ void Compute_Total_ForceOMP( reax_system *system, control_params *control, simulation_data *data, storage *workspace, - reax_list **lists, mpi_datatypes * /* mpi_data */) + reax_list **lists) { #ifdef OMP_TIMING double startTimeBase,endTimeBase; @@ -266,7 +264,7 @@ void Compute_Total_ForceOMP( reax_system *system, control_params *control, /* ---------------------------------------------------------------------- */ void Validate_ListsOMP(reax_system *system, storage * /*workspace*/, reax_list **lists, - int step, int n, int N, int numH, MPI_Comm /*comm*/) + int step, int n, int N, int numH) { int comp, Hindex; reax_list *bonds, *hbonds; @@ -334,8 +332,7 @@ void Validate_ListsOMP(reax_system *system, storage * /*workspace*/, reax_list * void Init_Forces_noQEq_OMP( reax_system *system, control_params *control, simulation_data *data, storage *workspace, - reax_list **lists, output_controls * /* out_control */, - MPI_Comm comm) { + reax_list **lists) { #ifdef OMP_TIMING double startTimeBase, endTimeBase; startTimeBase = MPI_Wtime(); @@ -588,7 +585,7 @@ void Init_Forces_noQEq_OMP( reax_system *system, control_params *control, workspace->realloc.num_hbonds = num_hbonds; Validate_ListsOMP( system, workspace, lists, data->step, - system->n, system->N, system->numH, comm ); + system->n, system->N, system->numH); #ifdef OMP_TIMING endTimeBase = MPI_Wtime(); @@ -600,23 +597,19 @@ void Init_Forces_noQEq_OMP( reax_system *system, control_params *control, void Compute_ForcesOMP( reax_system *system, control_params *control, simulation_data *data, storage *workspace, - reax_list **lists, output_controls *out_control, - mpi_datatypes *mpi_data ) + reax_list **lists, output_controls *out_control) { - MPI_Comm comm = mpi_data->world; - // Init Forces - Init_Forces_noQEq_OMP( system, control, data, workspace, - lists, out_control, comm ); + Init_Forces_noQEq_OMP( system, control, data, workspace, lists); // Bonded Interactions Compute_Bonded_ForcesOMP( system, control, data, workspace, - lists, out_control, mpi_data->world ); + lists, out_control ); // Nonbonded Interactions Compute_NonBonded_ForcesOMP( system, control, data, workspace, - lists, out_control, mpi_data->world ); + lists, out_control); // Total Force - Compute_Total_ForceOMP( system, control, data, workspace, lists, mpi_data ); + Compute_Total_ForceOMP( system, control, data, workspace, lists); } diff --git a/src/USER-OMP/reaxc_forces_omp.h b/src/USER-OMP/reaxc_forces_omp.h index 6df0288656..e2065d8305 100644 --- a/src/USER-OMP/reaxc_forces_omp.h +++ b/src/USER-OMP/reaxc_forces_omp.h @@ -30,8 +30,9 @@ #define __FORCES_OMP_H_ #include "reaxc_types.h" +#include void Init_Force_FunctionsOMP( control_params* ); void Compute_ForcesOMP( reax_system*, control_params*, simulation_data*, - storage*, reax_list**, output_controls*, mpi_datatypes* ); + storage*, reax_list**, output_controls*); #endif diff --git a/src/USER-OMP/reaxc_init_md_omp.cpp b/src/USER-OMP/reaxc_init_md_omp.cpp index 1312953180..bb7d102141 100644 --- a/src/USER-OMP/reaxc_init_md_omp.cpp +++ b/src/USER-OMP/reaxc_init_md_omp.cpp @@ -41,16 +41,14 @@ #include // Functions defined in reaxc_init_md.cpp -extern int Init_MPI_Datatypes(reax_system*, storage*, mpi_datatypes*, MPI_Comm, char*); -extern int Init_System(reax_system*, control_params*, char*); +extern void Init_System(reax_system*, control_params*); extern int Init_Simulation_Data(reax_system*, control_params*, simulation_data*, char*); extern int Init_Workspace(reax_system*, control_params*, storage*, char*); /* ---------------------------------------------------------------------- */ int Init_ListsOMP(reax_system *system, control_params *control, - simulation_data * /* data */, storage * /* workspace */, - reax_list **lists, mpi_datatypes * /* mpi_data */, char * /* msg */) + reax_list **lists) { int i, total_hbonds, total_bonds, bond_cap, num_3body, cap_3body, Htop; int *hb_top, *bond_top; @@ -119,18 +117,12 @@ int Init_ListsOMP(reax_system *system, control_params *control, void InitializeOMP(reax_system *system, control_params *control, simulation_data *data, storage *workspace, reax_list **lists, output_controls *out_control, - mpi_datatypes *mpi_data, MPI_Comm comm) + MPI_Comm world) { char msg[MAX_STR]; LAMMPS_NS::Error *error = system->error_ptr; - if (Init_MPI_Datatypes(system,workspace,mpi_data,comm,msg) == FAILURE) - error->one(FLERR,"init_mpi_datatypes: could not create datatypes. " - "Mpi_data could not be initialized! Terminating."); - - if (Init_System(system,control,msg) == FAILURE) - error->one(FLERR,fmt::format("Error on: {}. System could not be " - "initialized! Terminating.",msg)); + Init_System(system,control); if (Init_Simulation_Data(system,control,data,msg) == FAILURE) error->one(FLERR,fmt::format("Error on: {}. Sim_data could not be " @@ -140,16 +132,14 @@ void InitializeOMP(reax_system *system, control_params *control, error->one(FLERR,"init_workspace: not enough memory. " "Workspace could not be initialized. Terminating."); - if (Init_ListsOMP(system,control,data,workspace,lists,mpi_data,msg) == FAILURE) - error->one(FLERR,fmt::format("Error on: {}. System could not be " - "initialized. Terminating.",msg)); + Init_ListsOMP(system,control,lists); - if (Init_Output_Files(system,control,out_control,mpi_data,msg)== FAILURE) + if (Init_Output_Files(system,control,out_control,world,msg)== FAILURE) error->one(FLERR,fmt::format("Error on: {}. Could not open output files! " "Terminating.",msg)); if (control->tabulate) - if (Init_Lookup_Tables(system,control,workspace,mpi_data,msg) == FAILURE) + if (Init_Lookup_Tables(system,control,workspace,world,msg) == FAILURE) error->one(FLERR,fmt::format("Error on: {}. Could not create lookup " "table. Terminating.",msg)); diff --git a/src/USER-OMP/reaxc_init_md_omp.h b/src/USER-OMP/reaxc_init_md_omp.h index 45478ec632..422e2aa452 100644 --- a/src/USER-OMP/reaxc_init_md_omp.h +++ b/src/USER-OMP/reaxc_init_md_omp.h @@ -34,5 +34,5 @@ #include void InitializeOMP( reax_system*, control_params*, simulation_data*, storage*, - reax_list**, output_controls*, mpi_datatypes*, MPI_Comm ); + reax_list**, output_controls*, MPI_Comm ); #endif diff --git a/src/USER-OMP/reaxc_nonbonded_omp.cpp b/src/USER-OMP/reaxc_nonbonded_omp.cpp index 7abcb5b42a..3a4214d306 100644 --- a/src/USER-OMP/reaxc_nonbonded_omp.cpp +++ b/src/USER-OMP/reaxc_nonbonded_omp.cpp @@ -28,14 +28,14 @@ #include "pair_reaxc_omp.h" -#include "reaxc_defs.h" #include "reaxc_types.h" - #include "reaxc_nonbonded.h" #include "reaxc_nonbonded_omp.h" #include "reaxc_list.h" #include "reaxc_vector.h" +#include "reaxc_defs.h" + #include #if defined(_OPENMP) diff --git a/src/USER-REAXC/pair_reaxc.cpp b/src/USER-REAXC/pair_reaxc.cpp index 6e9429809e..2897a24d66 100644 --- a/src/USER-REAXC/pair_reaxc.cpp +++ b/src/USER-REAXC/pair_reaxc.cpp @@ -98,8 +98,6 @@ PairReaxC::PairReaxC(LAMMPS *lmp) : Pair(lmp) out_control = (output_controls *) memory->smalloc(sizeof(output_controls),"reax:out_control"); memset(out_control,0,sizeof(output_controls)); - mpi_data = (mpi_datatypes *) - memory->smalloc(sizeof(mpi_datatypes),"reax:mpi"); control->me = system->my_rank = comm->me; @@ -148,28 +146,27 @@ PairReaxC::~PairReaxC() delete[] fix_id; if (setup_flag) { - Close_Output_Files( system, control, out_control, mpi_data ); + Close_Output_Files(system,out_control); // deallocate reax data-structures - if (control->tabulate ) Deallocate_Lookup_Tables( system); + if (control->tabulate) Deallocate_Lookup_Tables(system); - if (control->hbond_cut > 0 ) Delete_List( lists+HBONDS ); - Delete_List( lists+BONDS ); - Delete_List( lists+THREE_BODIES ); - Delete_List( lists+FAR_NBRS ); + if (control->hbond_cut > 0) Delete_List(lists+HBONDS); + Delete_List(lists+BONDS); + Delete_List(lists+THREE_BODIES); + Delete_List(lists+FAR_NBRS); - DeAllocate_Workspace( control, workspace ); - DeAllocate_System( system ); + DeAllocate_Workspace(control, workspace); + DeAllocate_System(system); } - memory->destroy( system ); - memory->destroy( control ); + memory->destroy(system); + memory->destroy(control); memory->destroy( data ); memory->destroy( workspace ); memory->destroy( lists ); memory->destroy( out_control ); - memory->destroy( mpi_data ); // deallocate interface storage if (allocated) { @@ -467,8 +464,8 @@ void PairReaxC::setup( ) (lists+FAR_NBRS)->error_ptr=error; write_reax_lists(); - Initialize( system, control, data, workspace, &lists, out_control, - mpi_data, world ); + system->wsize = comm->nprocs; + Initialize(system, control, data, workspace, &lists, out_control, world); for (int k = 0; k < system->N; ++k) { num_bonds[k] = system->my_atoms[k].num_bonds; num_hbonds[k] = system->my_atoms[k].num_hbonds; @@ -491,7 +488,7 @@ void PairReaxC::setup( ) } bigint local_ngroup = list->inum; - MPI_Allreduce( &local_ngroup, &ngroup, 1, MPI_LMP_BIGINT, MPI_SUM, world ); + MPI_Allreduce(&local_ngroup, &ngroup, 1, MPI_LMP_BIGINT, MPI_SUM, world); } /* ---------------------------------------------------------------------- */ @@ -548,7 +545,7 @@ void PairReaxC::compute(int eflag, int vflag) // forces - Compute_Forces(system,control,data,workspace,&lists,out_control,mpi_data); + Compute_Forces(system,control,data,workspace,&lists,out_control); read_reax_forces(vflag); for (int k = 0; k < system->N; ++k) { @@ -602,7 +599,7 @@ void PairReaxC::compute(int eflag, int vflag) data->step = update->ntimestep; - Output_Results( system, control, data, &lists, out_control, mpi_data ); + Output_Results(system, control, data, &lists, out_control, world); // populate tmpid and tmpbo arrays for fix reax/c/species int i, j; diff --git a/src/USER-REAXC/pair_reaxc.h b/src/USER-REAXC/pair_reaxc.h index 53b41ba9c8..5283824116 100644 --- a/src/USER-REAXC/pair_reaxc.h +++ b/src/USER-REAXC/pair_reaxc.h @@ -31,7 +31,15 @@ PairStyle(reax/c,PairReaxC) #define LMP_PAIR_REAXC_H #include "pair.h" -#include "reaxc_types.h" + +// forward declarations +struct control_params; +struct reax_system; +struct output_controls; +struct simulation_data; +struct storage; +struct reax_list; +struct far_neighbor_data; namespace LAMMPS_NS { @@ -55,11 +63,11 @@ class PairReaxC : public Pair { simulation_data *data; storage *workspace; reax_list *lists; - mpi_datatypes *mpi_data; bigint ngroup; + typedef double rvec[3]; - protected: +protected: char *fix_id; double cutmax; class FixReaxC *fix_reax; diff --git a/src/USER-REAXC/reaxc_forces.cpp b/src/USER-REAXC/reaxc_forces.cpp index cde80e9866..0289c08504 100644 --- a/src/USER-REAXC/reaxc_forces.cpp +++ b/src/USER-REAXC/reaxc_forces.cpp @@ -42,14 +42,14 @@ interaction_function Interaction_Functions[NUM_INTRS]; -void Dummy_Interaction( reax_system * /*system*/, control_params * /*control*/, - simulation_data * /*data*/, storage * /*workspace*/, - reax_list ** /*lists*/, output_controls * /*out_control*/ ) +void Dummy_Interaction(reax_system * /*system*/, control_params * /*control*/, + simulation_data * /*data*/, storage * /*workspace*/, + reax_list ** /*lists*/, output_controls * /*out_control*/ ) { } -void Init_Force_Functions( control_params *control ) +void Init_Force_Functions(control_params *control) { Interaction_Functions[0] = BO; Interaction_Functions[1] = Bonds; //Dummy_Interaction; @@ -66,10 +66,9 @@ void Init_Force_Functions( control_params *control ) } -void Compute_Bonded_Forces( reax_system *system, control_params *control, - simulation_data *data, storage *workspace, - reax_list **lists, output_controls *out_control, - MPI_Comm /*comm*/ ) +void Compute_Bonded_Forces(reax_system *system, control_params *control, + simulation_data *data, storage *workspace, + reax_list **lists, output_controls *out_control) { int i; @@ -81,10 +80,9 @@ void Compute_Bonded_Forces( reax_system *system, control_params *control, } -void Compute_NonBonded_Forces( reax_system *system, control_params *control, - simulation_data *data, storage *workspace, - reax_list **lists, output_controls *out_control, - MPI_Comm /*comm*/ ) +void Compute_NonBonded_Forces(reax_system *system, control_params *control, + simulation_data *data, storage *workspace, + reax_list **lists, output_controls *out_control) { /* van der Waals and Coulomb interactions */ @@ -97,9 +95,9 @@ void Compute_NonBonded_Forces( reax_system *system, control_params *control, } -void Compute_Total_Force( reax_system *system, control_params *control, - simulation_data *data, storage *workspace, - reax_list **lists, mpi_datatypes * /*mpi_data*/ ) +void Compute_Total_Force(reax_system *system, control_params *control, + simulation_data *data, storage *workspace, + reax_list **lists) { int i, pj; reax_list *bonds = (*lists) + BONDS; @@ -433,24 +431,22 @@ void Estimate_Storages( reax_system *system, control_params *control, } -void Compute_Forces( reax_system *system, control_params *control, - simulation_data *data, storage *workspace, - reax_list **lists, output_controls *out_control, - mpi_datatypes *mpi_data ) +void Compute_Forces(reax_system *system, control_params *control, + simulation_data *data, storage *workspace, + reax_list **lists, output_controls *out_control) { - Init_Forces_noQEq( system, control, data, workspace, - lists, out_control); + Init_Forces_noQEq(system, control, data, workspace, + lists, out_control); /********* bonded interactions ************/ - Compute_Bonded_Forces( system, control, data, workspace, - lists, out_control, mpi_data->world ); + Compute_Bonded_Forces(system, control, data, workspace, + lists, out_control); /********* nonbonded interactions ************/ - Compute_NonBonded_Forces( system, control, data, workspace, - lists, out_control, mpi_data->world ); + Compute_NonBonded_Forces(system, control, data, workspace, + lists, out_control); /*********** total force ***************/ - Compute_Total_Force( system, control, data, workspace, lists, mpi_data ); - + Compute_Total_Force(system, control, data, workspace, lists); } diff --git a/src/USER-REAXC/reaxc_forces.h b/src/USER-REAXC/reaxc_forces.h index bfad2e9b71..b679a66650 100644 --- a/src/USER-REAXC/reaxc_forces.h +++ b/src/USER-REAXC/reaxc_forces.h @@ -32,9 +32,9 @@ extern interaction_function Interaction_Functions[NUM_INTRS]; -void Init_Force_Functions( control_params* ); +void Init_Force_Functions(control_params *); void Compute_Forces( reax_system*, control_params*, simulation_data*, - storage*, reax_list**, output_controls*, mpi_datatypes* ); + storage*, reax_list**, output_controls*); void Estimate_Storages( reax_system*, control_params*, reax_list**, int*, int*, int*, int* ); #endif diff --git a/src/USER-REAXC/reaxc_init_md.cpp b/src/USER-REAXC/reaxc_init_md.cpp index 9d10966d3b..23c20d1c21 100644 --- a/src/USER-REAXC/reaxc_init_md.cpp +++ b/src/USER-REAXC/reaxc_init_md.cpp @@ -41,7 +41,7 @@ #include "error.h" #include "fmt/format.h" -int Init_System(reax_system *system, control_params *control, char * /*msg*/) +void Init_System(reax_system *system, control_params *control) { int i; reax_atom *atom; @@ -65,8 +65,6 @@ int Init_System(reax_system *system, control_params *control, char * /*msg*/) else atom->Hindex = -1; } system->Hcap = (int)(MAX(system->numH * saferzone, mincap)); - - return SUCCESS; } @@ -145,22 +143,7 @@ int Init_Workspace(reax_system *system, control_params *control, return SUCCESS; } - -/************** setup communication data structures **************/ -int Init_MPI_Datatypes(reax_system *system, storage * /*workspace*/, - mpi_datatypes *mpi_data, MPI_Comm comm, char * /*msg*/) -{ - - /* setup the world */ - mpi_data->world = comm; - MPI_Comm_size(comm, &(system->wsize)); - - return SUCCESS; -} - -int Init_Lists(reax_system *system, control_params *control, - simulation_data * /*data*/, storage * /*workspace*/, reax_list **lists, - mpi_datatypes * /*mpi_data*/, char * /*msg*/) +int Init_Lists(reax_system *system, control_params *control, reax_list **lists) { int i, total_hbonds, total_bonds, bond_cap, num_3body, cap_3body, Htop; int *hb_top, *bond_top; @@ -221,18 +204,12 @@ int Init_Lists(reax_system *system, control_params *control, void Initialize(reax_system *system, control_params *control, simulation_data *data, storage *workspace, reax_list **lists, output_controls *out_control, - mpi_datatypes *mpi_data, MPI_Comm comm) + MPI_Comm world) { char msg[MAX_STR]; LAMMPS_NS::Error *error = system->error_ptr; - if (Init_MPI_Datatypes(system,workspace,mpi_data,comm,msg) == FAILURE) - error->one(FLERR,"init_mpi_datatypes: could not create datatypes. " - "Mpi_data could not be initialized! Terminating."); - - if (Init_System(system,control,msg) == FAILURE) - error->one(FLERR,fmt::format("Error on: {}. System could not be " - "initialized! Terminating.",msg)); + Init_System(system,control); if (Init_Simulation_Data( system,control,data,msg) == FAILURE) error->one(FLERR,fmt::format("Error on: {}. Sim_data could not be " @@ -242,16 +219,16 @@ void Initialize(reax_system *system, control_params *control, error->one(FLERR,"init_workspace: not enough memory. " "Workspace could not be initialized. Terminating."); - if (Init_Lists(system, control, data, workspace, lists, mpi_data, msg) ==FAILURE) + if (Init_Lists(system, control, lists) ==FAILURE) error->one(FLERR,fmt::format("Error on: {}. System could not be " "initialized. Terminating.",msg)); - if (Init_Output_Files(system,control,out_control,mpi_data,msg)== FAILURE) + if (Init_Output_Files(system,control,out_control,world,msg)== FAILURE) error->one(FLERR,fmt::format("Error on: {}. Could not open output files! " "Terminating.",msg)); if (control->tabulate) - if (Init_Lookup_Tables(system,control,workspace,mpi_data,msg) == FAILURE) + if (Init_Lookup_Tables(system,control,workspace,world,msg) == FAILURE) error->one(FLERR,fmt::format("Error on: {}. Could not create lookup " "table. Terminating.",msg)); diff --git a/src/USER-REAXC/reaxc_init_md.h b/src/USER-REAXC/reaxc_init_md.h index 5d593f50ea..4528ee95b1 100644 --- a/src/USER-REAXC/reaxc_init_md.h +++ b/src/USER-REAXC/reaxc_init_md.h @@ -30,6 +30,6 @@ #include "reaxc_types.h" #include -void Initialize( reax_system*, control_params*, simulation_data*, storage*, - reax_list**, output_controls*, mpi_datatypes*, MPI_Comm ); +void Initialize(reax_system*, control_params*, simulation_data*, storage*, + reax_list**, output_controls*, MPI_Comm); #endif diff --git a/src/USER-REAXC/reaxc_io_tools.cpp b/src/USER-REAXC/reaxc_io_tools.cpp index 5864ab6a15..290b559817 100644 --- a/src/USER-REAXC/reaxc_io_tools.cpp +++ b/src/USER-REAXC/reaxc_io_tools.cpp @@ -31,15 +31,14 @@ #include "reaxc_system_props.h" #include "reaxc_traj.h" -int Init_Output_Files( reax_system *system, control_params *control, - output_controls *out_control, mpi_datatypes *mpi_data, - char *msg ) +int Init_Output_Files(reax_system *system, control_params *control, + output_controls *out_control, MPI_Comm world, char *msg) { char temp[MAX_STR+8]; int ret; if (out_control->write_steps > 0) { - ret = Init_Traj( system, control, out_control, mpi_data, msg ); + ret = Init_Traj( system, control, out_control, world, msg ); if (ret == FAILURE) return ret; } @@ -80,10 +79,8 @@ int Init_Output_Files( reax_system *system, control_params *control, return SUCCESS; } - /************************ close output files ************************/ -int Close_Output_Files( reax_system *system, control_params * /* control */, - output_controls *out_control, mpi_datatypes * /*mpi_data*/ ) +int Close_Output_Files(reax_system *system, output_controls *out_control) { if (out_control->write_steps > 0) End_Traj( system->my_rank, out_control ); @@ -104,9 +101,9 @@ int Close_Output_Files( reax_system *system, control_params * /* control */, } -void Output_Results( reax_system *system, control_params *control, - simulation_data *data, reax_list **lists, - output_controls *out_control, mpi_datatypes *mpi_data ) +void Output_Results(reax_system *system, control_params *control, + simulation_data *data, reax_list **lists, + output_controls *out_control, MPI_Comm world) { if ((out_control->energy_update_freq > 0 && @@ -114,7 +111,7 @@ void Output_Results( reax_system *system, control_params *control, (out_control->write_steps > 0 && data->step%out_control->write_steps == 0)) { /* update system-wide energies */ - Compute_System_Energy( system, data, mpi_data->world ); + Compute_System_Energy(system, data, world); /* output energies */ if ( system->my_rank == MASTER_NODE && @@ -143,7 +140,7 @@ void Output_Results( reax_system *system, control_params *control, /* write current frame */ if ( out_control->write_steps > 0 && (data->step-data->prev_steps) % out_control->write_steps == 0) { - Append_Frame( system, control, data, lists, out_control, mpi_data ); + Append_Frame( system, control, data, lists, out_control, world); } } diff --git a/src/USER-REAXC/reaxc_io_tools.h b/src/USER-REAXC/reaxc_io_tools.h index a3f22fccc2..643b563f73 100644 --- a/src/USER-REAXC/reaxc_io_tools.h +++ b/src/USER-REAXC/reaxc_io_tools.h @@ -28,11 +28,11 @@ #define __IO_TOOLS_H_ #include "reaxc_types.h" +#include -int Init_Output_Files( reax_system*, control_params*, - output_controls*, mpi_datatypes*, char* ); -int Close_Output_Files( reax_system*, control_params*, - output_controls*, mpi_datatypes* ); -void Output_Results( reax_system*, control_params*, simulation_data*, - reax_list**, output_controls*, mpi_datatypes* ); +int Init_Output_Files(reax_system *, control_params *, + output_controls *, MPI_Comm, char *); +int Close_Output_Files(reax_system *, output_controls *); +void Output_Results(reax_system *, control_params *, simulation_data *, + reax_list **, output_controls *, MPI_Comm); #endif diff --git a/src/USER-REAXC/reaxc_lookup.cpp b/src/USER-REAXC/reaxc_lookup.cpp index b45a6da265..7584c34b82 100644 --- a/src/USER-REAXC/reaxc_lookup.cpp +++ b/src/USER-REAXC/reaxc_lookup.cpp @@ -147,8 +147,8 @@ void Complete_Cubic_Spline( LAMMPS_NS::Error* error_ptr, const double *h, const } -int Init_Lookup_Tables( reax_system *system, control_params *control, - storage *workspace, mpi_datatypes *mpi_data, char * /*msg*/ ) +int Init_Lookup_Tables(reax_system *system, control_params *control, + storage *workspace, MPI_Comm world, char * /*msg*/) { int i, j, r; int num_atom_types; @@ -190,8 +190,8 @@ int Init_Lookup_Tables( reax_system *system, control_params *control, for (i = 0; i < system->n; ++i) existing_types[ system->my_atoms[i].type ] = 1; - MPI_Allreduce( existing_types, aggregated, REAX_MAX_ATOM_TYPES, - MPI_INT, MPI_SUM, mpi_data->world ); + MPI_Allreduce(existing_types, aggregated, REAX_MAX_ATOM_TYPES, + MPI_INT, MPI_SUM, world); for (i = 0; i < num_atom_types; ++i) { if (aggregated[i]) { diff --git a/src/USER-REAXC/reaxc_lookup.h b/src/USER-REAXC/reaxc_lookup.h index 3aae7e0b63..39b0b14ef1 100644 --- a/src/USER-REAXC/reaxc_lookup.h +++ b/src/USER-REAXC/reaxc_lookup.h @@ -40,8 +40,7 @@ void Complete_Cubic_Spline( LAMMPS_NS::Error*, const double *h, const double *f, double v0, double vlast, cubic_spline_coef *coef, unsigned int n ); -int Init_Lookup_Tables( reax_system*, control_params*, storage*, - mpi_datatypes*, char* ); +int Init_Lookup_Tables(reax_system*, control_params*, storage*, MPI_Comm, char* ); void Deallocate_Lookup_Tables( reax_system* ); diff --git a/src/USER-REAXC/reaxc_traj.cpp b/src/USER-REAXC/reaxc_traj.cpp index 66a1c70b0e..66968f186e 100644 --- a/src/USER-REAXC/reaxc_traj.cpp +++ b/src/USER-REAXC/reaxc_traj.cpp @@ -50,9 +50,8 @@ int Reallocate_Output_Buffer( LAMMPS_NS::Error *error_ptr, output_controls *out_ return SUCCESS; } - -void Write_Skip_Line( output_controls *out_control, mpi_datatypes * /*mpi_data*/, - int my_rank, int skip, int num_section ) +void Write_Skip_Line(output_controls *out_control, + int my_rank, int skip, int num_section) { if (my_rank == MASTER_NODE) fprintf( out_control->strj, INT2_LINE, @@ -60,8 +59,8 @@ void Write_Skip_Line( output_controls *out_control, mpi_datatypes * /*mpi_data*/ } -int Write_Header( reax_system *system, control_params *control, - output_controls *out_control, mpi_datatypes * /*mpi_data*/ ) +int Write_Header(reax_system *system, control_params *control, + output_controls *out_control) { int num_hdr_lines, my_hdr_lines, buffer_req; char ensembles[ens_N][25] = { "NVE", "NVT", "fully flexible NPT", @@ -262,8 +261,8 @@ int Write_Header( reax_system *system, control_params *control, } -int Write_Init_Desc( reax_system *system, control_params * /*control*/, - output_controls *out_control, mpi_datatypes *mpi_data ) +int Write_Init_Desc(reax_system *system, output_controls *out_control, + MPI_Comm world) { int i, me, np, cnt, buffer_len, buffer_req; reax_atom *p_atom; @@ -273,8 +272,7 @@ int Write_Init_Desc( reax_system *system, control_params * /*control*/, np = system->wsize; /* skip info */ - Write_Skip_Line( out_control, mpi_data, me, - system->bigN * INIT_DESC_LEN, system->bigN ); + Write_Skip_Line(out_control, me, system->bigN*INIT_DESC_LEN, system->bigN); if (out_control->traj_method == REG_TRAJ && me == MASTER_NODE) buffer_req = system->bigN * INIT_DESC_LEN + 1; @@ -295,14 +293,14 @@ int Write_Init_Desc( reax_system *system, control_params * /*control*/, } if (me != MASTER_NODE) { - MPI_Send( out_control->buffer, buffer_req-1, MPI_CHAR, MASTER_NODE, - np * INIT_DESCS + me, mpi_data->world ); + MPI_Send(out_control->buffer, buffer_req-1, MPI_CHAR, MASTER_NODE, + np * INIT_DESCS + me, world); } else { buffer_len = system->n * INIT_DESC_LEN; for (i = 0; i < np; ++i) if (i != MASTER_NODE) { MPI_Recv( out_control->buffer + buffer_len, buffer_req - buffer_len, - MPI_CHAR, i, np*INIT_DESCS+i, mpi_data->world, &status ); + MPI_CHAR, i, np*INIT_DESCS+i, world, &status ); MPI_Get_count( &status, MPI_CHAR, &cnt ); buffer_len += cnt; } @@ -314,9 +312,8 @@ int Write_Init_Desc( reax_system *system, control_params * /*control*/, } -int Init_Traj( reax_system *system, control_params *control, - output_controls *out_control, mpi_datatypes *mpi_data, - char *msg ) +int Init_Traj(reax_system *system, control_params *control, + output_controls *out_control, MPI_Comm world, char *msg) { char fname[MAX_STR+8]; int atom_line_len[ NR_OPT_ATOM ] = { 0, 0, 0, 0, @@ -346,21 +343,20 @@ int Init_Traj( reax_system *system, control_params *control, /* write trajectory header and atom info, if applicable */ if (out_control->traj_method == REG_TRAJ) { if (system->my_rank == MASTER_NODE) - out_control->strj = fopen( fname, "w" ); + out_control->strj = fopen(fname, "w"); } else { strcpy( msg, "init_traj: unknown trajectory option" ); return FAILURE; } - Write_Header( system, control, out_control, mpi_data ); - Write_Init_Desc( system, control, out_control, mpi_data ); + Write_Header(system, control, out_control); + Write_Init_Desc(system, out_control, world); return SUCCESS; } -int Write_Frame_Header( reax_system *system, control_params *control, - simulation_data *data, output_controls *out_control, - mpi_datatypes * /*mpi_data*/ ) +int Write_Frame_Header(reax_system *system, control_params *control, + simulation_data *data, output_controls *out_control) { int me, num_frm_hdr_lines, my_frm_hdr_lines, buffer_req; @@ -484,8 +480,8 @@ int Write_Frame_Header( reax_system *system, control_params *control, -int Write_Atoms( reax_system *system, control_params * /*control*/, - output_controls *out_control, mpi_datatypes *mpi_data ) +int Write_Atoms(reax_system *system, output_controls *out_control, + MPI_Comm world) { int i, me, np, line_len, buffer_len, buffer_req, cnt; MPI_Status status; @@ -495,8 +491,7 @@ int Write_Atoms( reax_system *system, control_params * /*control*/, np = system->wsize; line_len = out_control->atom_line_len; - Write_Skip_Line( out_control, mpi_data, me, - system->bigN*line_len, system->bigN ); + Write_Skip_Line(out_control, me, system->bigN*line_len, system->bigN); if (out_control->traj_method == REG_TRAJ && me == MASTER_NODE) buffer_req = system->bigN * line_len + 1; @@ -542,13 +537,13 @@ int Write_Atoms( reax_system *system, control_params * /*control*/, if (me != MASTER_NODE) { MPI_Send( out_control->buffer, buffer_req-1, MPI_CHAR, MASTER_NODE, - np*ATOM_LINES+me, mpi_data->world ); + np*ATOM_LINES+me, world); } else { buffer_len = system->n * line_len; for (i = 0; i < np; ++i) if (i != MASTER_NODE) { MPI_Recv( out_control->buffer + buffer_len, buffer_req - buffer_len, - MPI_CHAR, i, np*ATOM_LINES+i, mpi_data->world, &status ); + MPI_CHAR, i, np*ATOM_LINES+i, world, &status ); MPI_Get_count( &status, MPI_CHAR, &cnt ); buffer_len += cnt; } @@ -561,7 +556,7 @@ int Write_Atoms( reax_system *system, control_params * /*control*/, int Write_Bonds(reax_system *system, control_params *control, reax_list *bonds, - output_controls *out_control, mpi_datatypes *mpi_data) + output_controls *out_control, MPI_Comm world) { int i, j, pj, me, np; int my_bonds, num_bonds; @@ -584,9 +579,9 @@ int Write_Bonds(reax_system *system, control_params *control, reax_list *bonds, } /* allreduce - total number of bonds */ - MPI_Allreduce( &my_bonds, &num_bonds, 1, MPI_INT, MPI_SUM, mpi_data->world ); + MPI_Allreduce( &my_bonds, &num_bonds, 1, MPI_INT, MPI_SUM, world ); - Write_Skip_Line( out_control, mpi_data, me, num_bonds*line_len, num_bonds ); + Write_Skip_Line( out_control, me, num_bonds*line_len, num_bonds ); if (out_control->traj_method == REG_TRAJ && me == MASTER_NODE) buffer_req = num_bonds * line_len + 1; @@ -631,13 +626,13 @@ int Write_Bonds(reax_system *system, control_params *control, reax_list *bonds, if (me != MASTER_NODE) { MPI_Send( out_control->buffer, buffer_req-1, MPI_CHAR, MASTER_NODE, - np*BOND_LINES+me, mpi_data->world ); + np*BOND_LINES+me, world ); } else { buffer_len = my_bonds * line_len; for (i = 0; i < np; ++i) if (i != MASTER_NODE) { MPI_Recv( out_control->buffer + buffer_len, buffer_req - buffer_len, - MPI_CHAR, i, np*BOND_LINES+i, mpi_data->world, &status ); + MPI_CHAR, i, np*BOND_LINES+i, world, &status ); MPI_Get_count( &status, MPI_CHAR, &cnt ); buffer_len += cnt; } @@ -651,7 +646,7 @@ int Write_Bonds(reax_system *system, control_params *control, reax_list *bonds, int Write_Angles( reax_system *system, control_params *control, reax_list *bonds, reax_list *thb_intrs, - output_controls *out_control, mpi_datatypes *mpi_data ) + output_controls *out_control, MPI_Comm world) { int i, j, k, pi, pk, me, np; int my_angles, num_angles; @@ -684,9 +679,9 @@ int Write_Angles( reax_system *system, control_params *control, } } /* total number of valences */ - MPI_Allreduce(&my_angles, &num_angles, 1, MPI_INT, MPI_SUM, mpi_data->world); + MPI_Allreduce(&my_angles, &num_angles, 1, MPI_INT, MPI_SUM, world); - Write_Skip_Line( out_control, mpi_data, me, num_angles*line_len, num_angles ); + Write_Skip_Line( out_control, me, num_angles*line_len, num_angles ); if (out_control->traj_method == REG_TRAJ && me == MASTER_NODE) buffer_req = num_angles * line_len + 1; @@ -726,13 +721,13 @@ int Write_Angles( reax_system *system, control_params *control, if (me != MASTER_NODE) { MPI_Send( out_control->buffer, buffer_req-1, MPI_CHAR, MASTER_NODE, - np*ANGLE_LINES+me, mpi_data->world ); + np*ANGLE_LINES+me, world ); } else { buffer_len = my_angles * line_len; for (i = 0; i < np; ++i) if (i != MASTER_NODE) { MPI_Recv( out_control->buffer + buffer_len, buffer_req - buffer_len, - MPI_CHAR, i, np*ANGLE_LINES+i, mpi_data->world, &status ); + MPI_CHAR, i, np*ANGLE_LINES+i, world, &status ); MPI_Get_count( &status, MPI_CHAR, &cnt ); buffer_len += cnt; } @@ -744,33 +739,33 @@ int Write_Angles( reax_system *system, control_params *control, } -int Append_Frame( reax_system *system, control_params *control, - simulation_data *data, reax_list **lists, - output_controls *out_control, mpi_datatypes *mpi_data ) +int Append_Frame(reax_system *system, control_params *control, + simulation_data *data, reax_list **lists, + output_controls *out_control, MPI_Comm world) { - Write_Frame_Header( system, control, data, out_control, mpi_data ); + Write_Frame_Header(system, control, data, out_control); if (out_control->write_atoms) - Write_Atoms( system, control, out_control, mpi_data ); + Write_Atoms(system, out_control, world); if (out_control->write_bonds) - Write_Bonds( system, control, (*lists + BONDS), out_control, mpi_data ); + Write_Bonds(system, control, (*lists + BONDS), out_control, world); if (out_control->write_angles) - Write_Angles( system, control, (*lists + BONDS), (*lists + THREE_BODIES), - out_control, mpi_data ); + Write_Angles(system, control, (*lists + BONDS), (*lists + THREE_BODIES), + out_control, world); return SUCCESS; } -int End_Traj( int my_rank, output_controls *out_control ) +int End_Traj(int my_rank, output_controls *out_control) { if (my_rank == MASTER_NODE) - fclose( out_control->strj ); + fclose(out_control->strj); - free( out_control->buffer ); - free( out_control->line ); + free(out_control->buffer); + free(out_control->line); return SUCCESS; } diff --git a/src/USER-REAXC/reaxc_traj.h b/src/USER-REAXC/reaxc_traj.h index 2ff5995204..cb3f12b6f4 100644 --- a/src/USER-REAXC/reaxc_traj.h +++ b/src/USER-REAXC/reaxc_traj.h @@ -28,6 +28,7 @@ #define __TRAJ_H__ #include "reaxc_types.h" +#include #define MAX_TRJ_LINE_LEN 120 #define MAX_TRJ_BUFFER_SIZE (MAX_TRJ_LINE_LEN * 100) @@ -94,10 +95,10 @@ enum ANGLE_LINE_OPTS { OPT_NOANGLE, OPT_ANGLE_BASIC, NR_OPT_ANGLE }; int Init_Traj( reax_system*, control_params*, output_controls*, - mpi_datatypes*, char* ); + MPI_Comm , char* ); int End_Traj( int, output_controls* ); int Append_Frame( reax_system*, control_params*, simulation_data*, - reax_list**, output_controls*, mpi_datatypes* ); + reax_list**, output_controls*, MPI_Comm); #endif diff --git a/src/USER-REAXC/reaxc_types.h b/src/USER-REAXC/reaxc_types.h index fdcd0436e2..b5e5fa911a 100644 --- a/src/USER-REAXC/reaxc_types.h +++ b/src/USER-REAXC/reaxc_types.h @@ -104,48 +104,14 @@ typedef double rvec4[4]; typedef LAMMPS_NS::tagint rc_tagint; typedef LAMMPS_NS::bigint rc_bigint; -typedef struct -{ - int cnt; - int *index; - void *out_atoms; -} mpi_out_data; - -typedef struct -{ - MPI_Comm world; - MPI_Comm comm_mesh3D; - - MPI_Datatype sys_info; - MPI_Datatype mpi_atom_type; - MPI_Datatype boundary_atom_type; - MPI_Datatype mpi_rvec, mpi_rvec2; - MPI_Datatype restart_atom_type; - - MPI_Datatype header_line; - MPI_Datatype header_view; - MPI_Datatype init_desc_line; - MPI_Datatype init_desc_view; - MPI_Datatype atom_line; - MPI_Datatype atom_view; - MPI_Datatype bond_line; - MPI_Datatype bond_view; - MPI_Datatype angle_line; - MPI_Datatype angle_view; - - mpi_out_data out_buffers[REAX_MAX_NBRS]; - void *in1_buffer; - void *in2_buffer; -} mpi_datatypes; - -typedef struct +struct global_parameters { int n_global; double* l; int vdw_type; -} global_parameters; +}; -typedef struct +struct single_body_parameters { /* Line one in field file */ char name[15]; // Two character atom name @@ -189,10 +155,10 @@ typedef struct double lgcij; double lgre; -} single_body_parameters; +}; /* Two Body Parameters */ -typedef struct { +struct two_body_parameters { /* Bond Order parameters */ double p_bo1,p_bo2,p_bo3,p_bo4,p_bo5,p_bo6; double r_s, r_p, r_pp; // r_o distances in BO formula @@ -217,10 +183,10 @@ typedef struct { double gamma; // note: this parameter is gamma^-3 and not gamma. double v13cor, ovc; -} two_body_parameters; +}; /* 3-body parameters */ -typedef struct { +struct three_body_parameters { /* valence angle */ double theta_00; double p_val1, p_val2, p_val4, p_val7; @@ -230,21 +196,23 @@ typedef struct { /* 3-body conjugation */ double p_coa1; -} three_body_parameters; +}; - -typedef struct{ +struct three_body_header +{ int cnt; three_body_parameters prm[REAX_MAX_3BODY_PARAM]; -} three_body_header; +}; /* hydrogen-bond parameters */ -typedef struct{ +struct hbond_parameters +{ double r0_hb, p_hb1, p_hb2, p_hb3; -} hbond_parameters; +}; /* 4-body parameters */ -typedef struct { +struct four_body_parameters +{ double V1, V2, V3; /* torsion angle */ @@ -252,15 +220,15 @@ typedef struct { /* 4-body conjugation */ double p_cot1; -} four_body_parameters; +}; -typedef struct +struct four_body_header { int cnt; four_body_parameters prm[REAX_MAX_4BODY_PARAM]; -} four_body_header; +}; -typedef struct +struct reax_interaction { int num_atom_types; global_parameters gp; @@ -269,9 +237,9 @@ typedef struct three_body_header ***thbp; hbond_parameters ***hbp; four_body_header ****fbp; -} reax_interaction; +}; -struct _reax_atom +struct reax_atom { rc_tagint orig_id; int imprt_id; @@ -297,9 +265,8 @@ struct _reax_atom double nbr_bo[MAX_BOND]; // BO values of bond between i and nbr double sum_bo, no_lp; // sum of BO values and no. of lone pairs }; -typedef _reax_atom reax_atom; -typedef struct +struct simulation_box { double V; rvec min, max, box_norms; @@ -307,29 +274,9 @@ typedef struct rtensor box, box_inv; rtensor trans, trans_inv; rtensor g; -} simulation_box; - -struct grid_cell -{ - double cutoff; - rvec min, max; - ivec rel_box; - - int mark; - int type; - int str; - int end; - int top; - int* atoms; - struct grid_cell** nbrs; - ivec* nbrs_x; - rvec* nbrs_cp; }; -typedef struct grid_cell grid_cell; - - -typedef struct +struct grid { int total, max_atoms, max_nbrs; ivec ncells; @@ -350,12 +297,10 @@ typedef struct ivec ghost_hbond_span; ivec ghost_bond_span; - grid_cell*** cells; ivec *order; -} grid; +}; - -typedef struct +struct neighbor_proc { int rank; int est_send, est_recv; @@ -369,30 +314,25 @@ typedef struct ivec end_send; ivec str_recv; ivec end_recv; -} neighbor_proc; +}; - - -typedef struct +struct bound_estimate { int N; int exc_gcells; int exc_atoms; -} bound_estimate; +}; - - -typedef struct +struct boundary_cutoff { double ghost_nonb; double ghost_hbond; double ghost_bond; double ghost_cutoff; -} boundary_cutoff; +}; - -struct _LR_lookup_table; // forward declaration -struct _reax_system +struct LR_lookup_table; // forward declaration +struct reax_system { reax_interaction reax_param; @@ -415,16 +355,13 @@ struct _reax_system int mincap,minhbonds; double safezone, saferzone; - _LR_lookup_table **LR; + LR_lookup_table **LR; int omp_active; }; -typedef _reax_system reax_system; - - /* system control parameters */ -typedef struct +struct control_params { char sim_name[REAX_MAX_STR]; int nprocs; @@ -492,10 +429,9 @@ typedef struct LAMMPS_NS::Error *error_ptr; LAMMPS_NS::LAMMPS *lmp_ptr; int me; -} control_params; +}; - -typedef struct +struct thermostat { double T; double xi; @@ -503,10 +439,9 @@ typedef struct double v_xi_old; double G_xi; -} thermostat; +}; - -typedef struct +struct isotropic_barostat { double P; double eps; @@ -514,10 +449,9 @@ typedef struct double v_eps_old; double a_eps; -} isotropic_barostat; +}; - -typedef struct +struct flexible_barostat { rtensor P; double P_scalar; @@ -532,10 +466,9 @@ typedef struct rtensor v_g0_old; rtensor a_g0; -} flexible_barostat; +}; - -typedef struct +struct reax_timing { double start; double end; @@ -550,10 +483,9 @@ typedef struct double qEq; int s_matvecs; int t_matvecs; -} reax_timing; +}; - -typedef struct +struct energy_data { double e_tot; double e_kin; // Total kinetic energy @@ -572,9 +504,9 @@ typedef struct double e_vdW; // Total van der Waals energy double e_ele; // Total electrostatics energy double e_pol; // Polarization energy -} energy_data; +}; -typedef struct +struct simulation_data { int step; int prev_steps; @@ -612,44 +544,40 @@ typedef struct rvec tot_press; reax_timing timing; -} simulation_data; +}; - -typedef struct{ +struct three_body_interaction_data +{ int thb; int pthb; // pointer to the third body on the central atom's nbrlist double theta, cos_theta; rvec dcos_di, dcos_dj, dcos_dk; -} three_body_interaction_data; +}; - -typedef struct { +struct far_neighbor_data { int nbr; ivec rel_box; double d; rvec dvec; -} far_neighbor_data; +}; - -typedef struct { +struct hbond_data { int nbr; int scl; far_neighbor_data *ptr; -} hbond_data; +}; - -typedef struct{ +struct dDelta_data { int wrt; rvec dVal; -} dDelta_data; +}; - -typedef struct{ +struct dbond_data { int wrt; rvec dBO, dBOpi, dBOpi2; -} dbond_data; +}; -typedef struct{ +struct bond_order_data { double BO, BO_s, BO_pi, BO_pi2; double Cdbo, Cdbopi, Cdbopi2; double C1dbo, C2dbo, C3dbo; @@ -657,9 +585,9 @@ typedef struct{ double C1dbopi2, C2dbopi2, C3dbopi2, C4dbopi2; rvec dBOp, dln_BOp_s, dln_BOp_pi, dln_BOp_pi2; double *CdboReduction; -} bond_order_data; +}; -typedef struct { +struct bond_data { int nbr; int sym_index; int dbond_index; @@ -668,32 +596,29 @@ typedef struct { double d; rvec dvec; bond_order_data bo_data; -} bond_data; +}; - -typedef struct { +struct sparse_matrix_entry { int j; double val; -} sparse_matrix_entry; +}; -typedef struct { +struct sparse_matrix { int cap, n, m; int *start, *end; sparse_matrix_entry *entries; -} sparse_matrix; +}; - -typedef struct { +struct reallocate_data { int num_far; int H, Htop; int hbonds, num_hbonds; int bonds, num_bonds; int num_3body; int gcell_atoms; -} reallocate_data; +}; - -typedef struct +struct storage { int allocated; @@ -750,10 +675,9 @@ typedef struct int *valence_angle_atom_myoffset; reallocate_data realloc; -} storage; +}; - -typedef union +union list_type { void *v; three_body_interaction_data *three_body_list; @@ -762,10 +686,9 @@ typedef union dDelta_data *dDelta_list; far_neighbor_data *far_nbr_list; hbond_data *hbond_list; -} list_type; +}; - -struct _reax_list +struct reax_list { int allocated; @@ -779,10 +702,8 @@ struct _reax_list list_type select; class LAMMPS_NS::Error *error_ptr; }; -typedef _reax_list reax_list; - -typedef struct +struct output_controls { FILE *strj; int trj_offset; @@ -818,16 +739,14 @@ typedef struct int debug_level; int energy_update_freq; -} output_controls; +}; - -typedef struct +struct molecule { int atom_count; int atom_list[REAX_MAX_MOLECULE_SIZE]; int mtypes[REAX_MAX_ATOM_TYPES]; -} molecule; - +}; struct LR_data { @@ -856,7 +775,6 @@ struct LR_data } }; - struct cubic_spline_coef { double a, b, c, d; @@ -889,9 +807,7 @@ struct cubic_spline_coef } }; - - -typedef struct _LR_lookup_table +struct LR_lookup_table { double xmin, xmax; int n; @@ -904,7 +820,7 @@ typedef struct _LR_lookup_table cubic_spline_coef *H; cubic_spline_coef *vdW, *CEvd; cubic_spline_coef *ele, *CEclmb; -} LR_lookup_table; +}; /* function pointer defs */ From 112142be35c54918b0faa4c6ee7b19f8688bd4aa Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 15 Apr 2021 00:18:47 -0400 Subject: [PATCH 017/726] remove some unused structs, typedefs and data members --- src/USER-OMP/pair_reaxc_omp.cpp | 9 --- src/USER-REAXC/pair_reaxc.cpp | 17 ------ src/USER-REAXC/reaxc_control.cpp | 19 +----- src/USER-REAXC/reaxc_io_tools.cpp | 9 +-- src/USER-REAXC/reaxc_traj.cpp | 7 +-- src/USER-REAXC/reaxc_types.h | 99 ++----------------------------- 6 files changed, 13 insertions(+), 147 deletions(-) diff --git a/src/USER-OMP/pair_reaxc_omp.cpp b/src/USER-OMP/pair_reaxc_omp.cpp index 6bb9377ca3..5e20b06a28 100644 --- a/src/USER-OMP/pair_reaxc_omp.cpp +++ b/src/USER-OMP/pair_reaxc_omp.cpp @@ -201,10 +201,6 @@ void PairReaxCOMP::compute(int eflag, int vflag) system->N = atom->nlocal + atom->nghost; // mine + ghosts system->bigN = static_cast (atom->natoms); // all atoms in the system - system->big_box.V = 0; - system->big_box.box_norms[0] = 0; - system->big_box.box_norms[1] = 0; - system->big_box.box_norms[2] = 0; if (comm->me == 0 ) t_start = MPI_Wtime(); // setup data structures @@ -334,11 +330,6 @@ void PairReaxCOMP::init_style( ) system->bigN = static_cast (atom->natoms); // all atoms in the system system->wsize = comm->nprocs; - system->big_box.V = 0; - system->big_box.box_norms[0] = 0; - system->big_box.box_norms[1] = 0; - system->big_box.box_norms[2] = 0; - if (atom->tag_enable == 0) error->all(FLERR,"Pair style reax/c/omp requires atom IDs"); if (force->newton_pair == 0) diff --git a/src/USER-REAXC/pair_reaxc.cpp b/src/USER-REAXC/pair_reaxc.cpp index 2897a24d66..c289cf9310 100644 --- a/src/USER-REAXC/pair_reaxc.cpp +++ b/src/USER-REAXC/pair_reaxc.cpp @@ -101,20 +101,12 @@ PairReaxC::PairReaxC(LAMMPS *lmp) : Pair(lmp) control->me = system->my_rank = comm->me; - system->my_coords[0] = 0; - system->my_coords[1] = 0; - system->my_coords[2] = 0; system->num_nbrs = 0; system->n = 0; // my atoms system->N = 0; // mine + ghosts system->bigN = 0; // all atoms in the system system->local_cap = 0; system->total_cap = 0; - system->gcell_cap = 0; - system->bndry_cuts.ghost_nonb = 0; - system->bndry_cuts.ghost_hbond = 0; - system->bndry_cuts.ghost_bond = 0; - system->bndry_cuts.ghost_cutoff = 0; system->my_atoms = nullptr; system->pair_ptr = this; system->error_ptr = error; @@ -378,11 +370,6 @@ void PairReaxC::init_style( ) system->bigN = static_cast (atom->natoms); // all atoms in the system system->wsize = comm->nprocs; - system->big_box.V = 0; - system->big_box.box_norms[0] = 0; - system->big_box.box_norms[1] = 0; - system->big_box.box_norms[2] = 0; - if (atom->tag_enable == 0) error->all(FLERR,"Pair style reax/c requires atom IDs"); if (force->newton_pair == 0) @@ -525,10 +512,6 @@ void PairReaxC::compute(int eflag, int vflag) system->N = atom->nlocal + atom->nghost; // mine + ghosts system->bigN = static_cast (atom->natoms); // all atoms in the system - system->big_box.V = 0; - system->big_box.box_norms[0] = 0; - system->big_box.box_norms[1] = 0; - system->big_box.box_norms[2] = 0; if (comm->me == 0 ) t_start = MPI_Wtime(); // setup data structures diff --git a/src/USER-REAXC/reaxc_control.cpp b/src/USER-REAXC/reaxc_control.cpp index 6496f27ab5..b74c07a5fe 100644 --- a/src/USER-REAXC/reaxc_control.cpp +++ b/src/USER-REAXC/reaxc_control.cpp @@ -53,12 +53,8 @@ void Read_Control_File(const char *control_file, control_params *control, strcpy( control->sim_name, "simulate" ); control->ensemble = NVE; control->nsteps = 0; - control->dt = 0.25; - control->nprocs = 1; + control->dt = 0.0; control->nthreads = 1; - control->procs_by_dim[0] = 1; - control->procs_by_dim[1] = 1; - control->procs_by_dim[2] = 1; control->geo_format = 1; control->restart = 0; @@ -139,19 +135,10 @@ void Read_Control_File(const char *control_file, control_params *control, control->nsteps = ival; } else if ( strcmp(tmp[0], "dt") == 0) { - val = atof(tmp[1]); - control->dt = val * 1.e-3; // convert dt from fs to ps! + ; // ignore } else if (strcmp(tmp[0], "proc_by_dim") == 0) { - ival = atoi(tmp[1]); - control->procs_by_dim[0] = ival; - ival = atoi(tmp[2]); - control->procs_by_dim[1] = ival; - ival = atoi(tmp[3]); - control->procs_by_dim[2] = ival; - - control->nprocs = control->procs_by_dim[0]*control->procs_by_dim[1]* - control->procs_by_dim[2]; + ; // ignore } else if (strcmp(tmp[0], "random_vel") == 0) { ival = atoi(tmp[1]); diff --git a/src/USER-REAXC/reaxc_io_tools.cpp b/src/USER-REAXC/reaxc_io_tools.cpp index 290b559817..52e6a0c108 100644 --- a/src/USER-REAXC/reaxc_io_tools.cpp +++ b/src/USER-REAXC/reaxc_io_tools.cpp @@ -126,12 +126,9 @@ void Output_Results(reax_system *system, control_params *control, data->ext_press[0], data->ext_press[1], data->ext_press[2], data->kin_press ); - fprintf( out_control->prs, - "%8s%13.6f%13.6f%13.6f%13.6f%13.6f%13.6f%13.6f\n", - "",system->big_box.box_norms[0], system->big_box.box_norms[1], - system->big_box.box_norms[2], - data->tot_press[0], data->tot_press[1], data->tot_press[2], - system->big_box.V ); + fprintf(out_control->prs, + "%8s%13.6f%13.6f%13.6f%13.6f%13.6f%13.6f%13.6f\n", "", 0.0, 0.0, 0.0, + data->tot_press[0], data->tot_press[1], data->tot_press[2], 0.0); fflush( out_control->prs); } diff --git a/src/USER-REAXC/reaxc_traj.cpp b/src/USER-REAXC/reaxc_traj.cpp index 66968f186e..f97a80f023 100644 --- a/src/USER-REAXC/reaxc_traj.cpp +++ b/src/USER-REAXC/reaxc_traj.cpp @@ -389,13 +389,10 @@ int Write_Frame_Header(reax_system *system, control_params *control, /* box info */ - sprintf( out_control->line, REAL_LINE, "volume:", system->big_box.V ); + sprintf( out_control->line, REAL_LINE, "volume:", 0.0 ); strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); - sprintf( out_control->line, REAL3_LINE, "box_dimensions:", - system->big_box.box_norms[0], - system->big_box.box_norms[1], - system->big_box.box_norms[2] ); + sprintf( out_control->line, REAL3_LINE, "box_dimensions:", 0.0, 0.0, 0.0); strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); sprintf( out_control->line, REAL3_LINE, diff --git a/src/USER-REAXC/reaxc_types.h b/src/USER-REAXC/reaxc_types.h index b5e5fa911a..ee2db705d5 100644 --- a/src/USER-REAXC/reaxc_types.h +++ b/src/USER-REAXC/reaxc_types.h @@ -1,4 +1,4 @@ -/*---------------------------------------------------------------------- +/*- -*- c++ -*- -------------------------------------------------------- PuReMD - Purdue ReaxFF Molecular Dynamics Program Copyright (2010) Purdue University @@ -24,8 +24,8 @@ . ----------------------------------------------------------------------*/ -#ifndef __REAX_TYPES_H_ -#define __REAX_TYPES_H_ +#ifndef LMP_REAXC_TYPES_H +#define LMP_REAXC_TYPES_H #include "lmptype.h" #include @@ -98,7 +98,6 @@ typedef int ivec[3]; typedef double rvec[3]; typedef double rtensor[3][3]; typedef double rvec2[2]; -typedef double rvec4[4]; // import LAMMPS' definition of tagint and bigint typedef LAMMPS_NS::tagint rc_tagint; @@ -113,9 +112,7 @@ struct global_parameters struct single_body_parameters { - /* Line one in field file */ - char name[15]; // Two character atom name - + char name[4]; // two character atom name double r_s; double valency; // Valency of the atom double mass; // Mass of atom @@ -242,93 +239,17 @@ struct reax_interaction struct reax_atom { rc_tagint orig_id; - int imprt_id; int type; char name[8]; rvec x; // position rvec v; // velocity rvec f; // force - rvec f_old; - double q; // charge - rvec4 s; // they take part in - rvec4 t; // computing q int Hindex; int num_bonds; int num_hbonds; - int renumber; - - int numbonds; // true number of bonds around atoms - int nbr_id[MAX_BOND]; // ids of neighbors around atoms - double nbr_bo[MAX_BOND]; // BO values of bond between i and nbr - double sum_bo, no_lp; // sum of BO values and no. of lone pairs -}; - -struct simulation_box -{ - double V; - rvec min, max, box_norms; - - rtensor box, box_inv; - rtensor trans, trans_inv; - rtensor g; -}; - -struct grid -{ - int total, max_atoms, max_nbrs; - ivec ncells; - rvec cell_len; - rvec inv_len; - - ivec bond_span; - ivec nonb_span; - ivec vlist_span; - - ivec native_cells; - ivec native_str; - ivec native_end; - - double ghost_cut; - ivec ghost_span; - ivec ghost_nonb_span; - ivec ghost_hbond_span; - ivec ghost_bond_span; - - ivec *order; -}; - -struct neighbor_proc -{ - int rank; - int est_send, est_recv; - int atoms_str, atoms_cnt; - ivec rltv, prdc; - rvec bndry_min, bndry_max; - - int send_type; - int recv_type; - ivec str_send; - ivec end_send; - ivec str_recv; - ivec end_recv; -}; - -struct bound_estimate -{ - int N; - int exc_gcells; - int exc_atoms; -}; - -struct boundary_cutoff -{ - double ghost_nonb; - double ghost_hbond; - double ghost_bond; - double ghost_cutoff; }; struct LR_lookup_table; // forward declaration @@ -338,15 +259,8 @@ struct reax_system rc_bigint bigN; int n, N, numH; - int local_cap, total_cap, gcell_cap, Hcap; - int est_recv, est_trans, max_recved; + int local_cap, total_cap, Hcap; int wsize, my_rank, num_nbrs; - ivec my_coords; - neighbor_proc my_nbrs[REAX_MAX_NBRS]; - int *global_offset; - simulation_box big_box, my_box, my_ext_box; - grid my_grid; - boundary_cutoff bndry_cuts; reax_atom *my_atoms; LAMMPS_NS::Error *error_ptr; @@ -364,9 +278,7 @@ struct reax_system struct control_params { char sim_name[REAX_MAX_STR]; - int nprocs; int nthreads; - ivec procs_by_dim; /* ensemble values: 0 : NVE 1 : bNVT (Berendsen) @@ -738,7 +650,6 @@ struct output_controls int restart_freq; int debug_level; int energy_update_freq; - }; struct molecule From 54ee33fe5806ecaeb5be182b828a0b50fce98c6c Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 15 Apr 2021 04:48:02 -0400 Subject: [PATCH 018/726] simplify creation of reaxc fix --- src/USER-OMP/pair_reaxc_omp.cpp | 13 ++----------- src/USER-REAXC/pair_reaxc.cpp | 10 ++-------- 2 files changed, 4 insertions(+), 19 deletions(-) diff --git a/src/USER-OMP/pair_reaxc_omp.cpp b/src/USER-OMP/pair_reaxc_omp.cpp index 5e20b06a28..6ed0979fc9 100644 --- a/src/USER-OMP/pair_reaxc_omp.cpp +++ b/src/USER-OMP/pair_reaxc_omp.cpp @@ -360,20 +360,11 @@ void PairReaxCOMP::init_style( ) lists[i].allocated = 0; if (fix_reax == nullptr) { - char **fixarg = new char*[3]; - fixarg[0] = (char *) fix_id; - fixarg[1] = (char *) "all"; - fixarg[2] = (char *) "REAXC"; - modify->add_fix(3,fixarg); - delete [] fixarg; + modify->add_fix(fmt::format("{} all REAXC",fix_id)); fix_reax = (FixReaxC *) modify->fix[modify->nfix-1]; } -#if defined(_OPENMP) - control->nthreads = omp_get_max_threads(); -#else - control->nthreads = 1; -#endif + control->nthreads = comm->nthreads; } /* ---------------------------------------------------------------------- */ diff --git a/src/USER-REAXC/pair_reaxc.cpp b/src/USER-REAXC/pair_reaxc.cpp index c289cf9310..eee48b20f4 100644 --- a/src/USER-REAXC/pair_reaxc.cpp +++ b/src/USER-REAXC/pair_reaxc.cpp @@ -79,8 +79,7 @@ PairReaxC::PairReaxC(LAMMPS *lmp) : Pair(lmp) centroidstressflag = CENTROID_NOTAVAIL; ghostneigh = 1; - fix_id = new char[24]; - snprintf(fix_id,24,"REAXC_%d",instance_me); + fix_id = utils::strdup("REAXC_" + std::to_string(instance_me)); system = (reax_system *) memory->smalloc(sizeof(reax_system),"reax:system"); @@ -400,12 +399,7 @@ void PairReaxC::init_style( ) lists[i].allocated = 0; if (fix_reax == nullptr) { - char **fixarg = new char*[3]; - fixarg[0] = (char *) fix_id; - fixarg[1] = (char *) "all"; - fixarg[2] = (char *) "REAXC"; - modify->add_fix(3,fixarg); - delete [] fixarg; + modify->add_fix(fmt::format("{} all REAXC",fix_id)); fix_reax = (FixReaxC *) modify->fix[modify->nfix-1]; } } From 7dc21842c2a130b46f83260268616d7ee12f3e6e Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 15 Apr 2021 05:40:16 -0400 Subject: [PATCH 019/726] ignore/remove unused control file settings and related functions and data structures --- src/USER-OMP/pair_reaxc_omp.cpp | 2 - src/USER-REAXC/pair_reaxc.cpp | 10 -- src/USER-REAXC/reaxc_allocate.cpp | 37 +++--- src/USER-REAXC/reaxc_control.cpp | 167 ++++++--------------------- src/USER-REAXC/reaxc_defs.h | 3 - src/USER-REAXC/reaxc_forces.cpp | 22 +--- src/USER-REAXC/reaxc_init_md.cpp | 2 +- src/USER-REAXC/reaxc_io_tools.cpp | 17 +-- src/USER-REAXC/reaxc_reset_tools.cpp | 21 ---- src/USER-REAXC/reaxc_traj.cpp | 80 ++++--------- src/USER-REAXC/reaxc_types.h | 88 +------------- 11 files changed, 80 insertions(+), 369 deletions(-) diff --git a/src/USER-OMP/pair_reaxc_omp.cpp b/src/USER-OMP/pair_reaxc_omp.cpp index 6ed0979fc9..505ca1467f 100644 --- a/src/USER-OMP/pair_reaxc_omp.cpp +++ b/src/USER-OMP/pair_reaxc_omp.cpp @@ -393,8 +393,6 @@ void PairReaxCOMP::setup( ) int *num_bonds = fix_reax->num_bonds; int *num_hbonds = fix_reax->num_hbonds; - control->vlist_cut = neighbor->cutneighmax; - // determine the local and total capacity system->local_cap = MAX( (int)(system->n * safezone), mincap ); diff --git a/src/USER-REAXC/pair_reaxc.cpp b/src/USER-REAXC/pair_reaxc.cpp index eee48b20f4..768827fb58 100644 --- a/src/USER-REAXC/pair_reaxc.cpp +++ b/src/USER-REAXC/pair_reaxc.cpp @@ -204,19 +204,15 @@ void PairReaxC::settings(int narg, char **arg) if (strcmp(arg[0],"NULL") == 0) { strcpy( control->sim_name, "simulate" ); - control->ensemble = 0; out_control->energy_update_freq = 0; control->tabulate = 0; - control->reneighbor = 1; - control->vlist_cut = control->nonb_cut; control->bond_cut = 5.; control->hbond_cut = 7.50; control->thb_cut = 0.001; control->thb_cutsq = 0.00001; control->bg_cut = 0.3; - // Initialize for when omp style included control->nthreads = 1; out_control->write_steps = 0; @@ -281,10 +277,6 @@ void PairReaxC::settings(int narg, char **arg) iarg += 2; } else error->all(FLERR,"Illegal pair_style reax/c command"); } - - // LAMMPS is responsible for generating nbrs - - control->reneighbor = 1; } /* ---------------------------------------------------------------------- */ @@ -424,8 +416,6 @@ void PairReaxC::setup( ) int *num_bonds = fix_reax->num_bonds; int *num_hbonds = fix_reax->num_hbonds; - control->vlist_cut = neighbor->cutneighmax; - // determine the local and total capacity system->local_cap = MAX( (int)(system->n * safezone), mincap ); diff --git a/src/USER-REAXC/reaxc_allocate.cpp b/src/USER-REAXC/reaxc_allocate.cpp index 9ba92b9dfa..0c565e5c33 100644 --- a/src/USER-REAXC/reaxc_allocate.cpp +++ b/src/USER-REAXC/reaxc_allocate.cpp @@ -164,7 +164,6 @@ void DeAllocate_Workspace( control_params * control, storage *workspace ) sfree(control->error_ptr, workspace->b_prm, "b_prm" ); sfree(control->error_ptr, workspace->s, "s" ); sfree(control->error_ptr, workspace->t, "t" ); - sfree(control->error_ptr, workspace->droptol, "droptol" ); sfree(control->error_ptr, workspace->b, "b" ); sfree(control->error_ptr, workspace->x, "x" ); @@ -263,8 +262,6 @@ int Allocate_Workspace( reax_system * /*system*/, control_params * control, workspace->b_prm = (double*) scalloc(control->error_ptr, total_cap, sizeof(double), "b_prm"); workspace->s = (double*) scalloc(control->error_ptr, total_cap, sizeof(double), "s"); workspace->t = (double*) scalloc(control->error_ptr, total_cap, sizeof(double), "t"); - workspace->droptol = (double*) - scalloc(control->error_ptr, total_cap, sizeof(double), "droptol"); workspace->b = (rvec2*) scalloc(control->error_ptr, total_cap, sizeof(rvec2), "b"); workspace->x = (rvec2*) scalloc(control->error_ptr, total_cap, sizeof(rvec2), "x"); @@ -398,8 +395,9 @@ static int Reallocate_Bonds_List( reax_system *system, reax_list *bonds, void ReAllocate( reax_system *system, control_params *control, simulation_data *data, storage *workspace, reax_list **lists ) { + auto error = system->error_ptr; int num_bonds, est_3body, Hflag, ret; - int renbr, newsize; + int newsize; reallocate_data *realloc; reax_list *far_nbrs; char msg[200]; @@ -428,7 +426,7 @@ void ReAllocate( reax_system *system, control_params *control, if (ret != SUCCESS) { char errmsg[256]; snprintf(errmsg, 256, "Not enough space for atom_list: total_cap=%d", system->total_cap); - system->error_ptr->one(FLERR, errmsg); + error->one(FLERR, errmsg); } /* workspace */ @@ -438,29 +436,24 @@ void ReAllocate( reax_system *system, control_params *control, if (ret != SUCCESS) { char errmsg[256]; snprintf(errmsg, 256, "Not enough space for workspace: local_cap=%d total_cap=%d", system->local_cap, system->total_cap); - system->error_ptr->one(FLERR, errmsg); + error->one(FLERR, errmsg); } } - - renbr = (data->step - data->prev_steps) % control->reneighbor == 0; /* far neighbors */ - if (renbr) { - far_nbrs = *lists + FAR_NBRS; - if (Nflag || realloc->num_far >= far_nbrs->num_intrs * DANGER_ZONE) { - if (realloc->num_far > far_nbrs->num_intrs) { - char errmsg[256]; - snprintf(errmsg, 256, "step%d-ran out of space on far_nbrs: top=%d, max=%d", data->step, realloc->num_far, far_nbrs->num_intrs); - system->error_ptr->one(FLERR, errmsg); - } + far_nbrs = *lists + FAR_NBRS; - newsize = static_cast - (MAX( realloc->num_far*safezone, mincap*REAX_MIN_NBRS)); + if (Nflag || realloc->num_far >= far_nbrs->num_intrs * DANGER_ZONE) { + if (realloc->num_far > far_nbrs->num_intrs) + error->one(FLERR,fmt::format("step{}: ran out of space on far_nbrs: top={}, max={}", + data->step, realloc->num_far, far_nbrs->num_intrs)); - Reallocate_Neighbor_List( far_nbrs, system->total_cap, newsize); - realloc->num_far = 0; - } + newsize = static_cast + (MAX( realloc->num_far*safezone, mincap*REAX_MIN_NBRS)); + + Reallocate_Neighbor_List( far_nbrs, system->total_cap, newsize); + realloc->num_far = 0; } /* hydrogen bonds list */ @@ -498,7 +491,7 @@ void ReAllocate( reax_system *system, control_params *control, if ( !Make_List( num_bonds, realloc->num_3body, TYP_THREE_BODY, (*lists)+THREE_BODIES )) { - system->error_ptr->one(FLERR, "Problem in initializing angles list"); + error->one(FLERR, "Problem in initializing angles list"); } realloc->num_3body = -1; } diff --git a/src/USER-REAXC/reaxc_control.cpp b/src/USER-REAXC/reaxc_control.cpp index b74c07a5fe..93cb642a1f 100644 --- a/src/USER-REAXC/reaxc_control.cpp +++ b/src/USER-REAXC/reaxc_control.cpp @@ -51,23 +51,11 @@ void Read_Control_File(const char *control_file, control_params *control, getsyserror())); /* assign default values */ strcpy( control->sim_name, "simulate" ); - control->ensemble = NVE; - control->nsteps = 0; - control->dt = 0.0; control->nthreads = 1; - control->geo_format = 1; - control->restart = 0; - out_control->restart_format = WRITE_BINARY; - out_control->restart_freq = 0; - control->reposition_atoms = 0; - control->restrict_bonds = 0; - control->remove_CoM_vel = 25; out_control->debug_level = 0; out_control->energy_update_freq = 0; - control->reneighbor = 1; - control->vlist_cut = control->nonb_cut; control->bond_cut = 5.0; control->bg_cut = 0.3; control->thb_cut = 0.001; @@ -76,23 +64,6 @@ void Read_Control_File(const char *control_file, control_params *control, control->tabulate = 0; - control->qeq_freq = 1; - control->q_err = 1e-6; - control->refactor = 100; - control->droptol = 1e-2;; - - control->T_init = 0.; - control->T_final = 300.; - control->Tau_T = 500.0; - control->T_mode = 0; - control->T_rate = 1.; - control->T_freq = 1.; - - control->P[0] = control->P[1] = control->P[2] = 0.000101325; - control->Tau_P[0] = control->Tau_P[1] = control->Tau_P[2] = 500.0; - control->Tau_PT[0] = control->Tau_PT[1] = control->Tau_PT[2] = 500.0; - control->compressibility = 1.0; - control->press_mode = 0; control->virial = 0; out_control->write_steps = 0; @@ -103,13 +74,6 @@ void Read_Control_File(const char *control_file, control_params *control, out_control->bond_info = 0; out_control->angle_info = 0; - control->molecular_analysis = 0; - control->dipole_anal = 0; - control->freq_dipole_anal = 0; - control->diffusion_coef = 0; - control->freq_diffusion_coef = 0; - control->restrict_type = 0; - /* memory allocations */ s = (char*) malloc(sizeof(char)*MAX_LINE); tmp = (char**) malloc(sizeof(char*)*MAX_TOKENS); @@ -125,14 +89,10 @@ void Read_Control_File(const char *control_file, control_params *control, strcpy( control->sim_name, tmp[1] ); } else if (strcmp(tmp[0], "ensemble_type") == 0) { - ival = atoi(tmp[1]); - control->ensemble = ival; - if (ival == iNPT || ival ==sNPT || ival == NPT) - control->virial = 1; + ; // ignore } else if (strcmp(tmp[0], "nsteps") == 0) { - ival = atoi(tmp[1]); - control->nsteps = ival; + ; // ignore } else if ( strcmp(tmp[0], "dt") == 0) { ; // ignore @@ -141,28 +101,22 @@ void Read_Control_File(const char *control_file, control_params *control, ; // ignore } else if (strcmp(tmp[0], "random_vel") == 0) { - ival = atoi(tmp[1]); - control->random_vel = ival; + ; // ignore } else if (strcmp(tmp[0], "restart_format") == 0) { - ival = atoi(tmp[1]); - out_control->restart_format = ival; + ; // ignore } else if (strcmp(tmp[0], "restart_freq") == 0) { - ival = atoi(tmp[1]); - out_control->restart_freq = ival; + ; // ignore } else if (strcmp(tmp[0], "reposition_atoms") == 0) { - ival = atoi(tmp[1]); - control->reposition_atoms = ival; + ; // ignore } else if (strcmp(tmp[0], "restrict_bonds") == 0) { - ival = atoi( tmp[1] ); - control->restrict_bonds = ival; + ; // ignore } else if (strcmp(tmp[0], "remove_CoM_vel") == 0) { - ival = atoi(tmp[1]); - control->remove_CoM_vel = ival; + ; // ignore } else if (strcmp(tmp[0], "debug_level") == 0) { ival = atoi(tmp[1]); @@ -173,12 +127,10 @@ void Read_Control_File(const char *control_file, control_params *control, out_control->energy_update_freq = ival; } else if (strcmp(tmp[0], "reneighbor") == 0) { - ival = atoi( tmp[1] ); - control->reneighbor = ival; + ; // ignore } else if (strcmp(tmp[0], "vlist_buffer") == 0) { - val = atof(tmp[1]); - control->vlist_cut= val + control->nonb_cut; + ; // ignore } else if (strcmp(tmp[0], "nbrhood_cutoff") == 0) { val = atof(tmp[1]); @@ -201,97 +153,59 @@ void Read_Control_File(const char *control_file, control_params *control, control->hbond_cut = val; } else if (strcmp(tmp[0], "ghost_cutoff") == 0) { - val = atof(tmp[1]); - control->user_ghost_cut = val; + ; // ignore } else if (strcmp(tmp[0], "tabulate_long_range") == 0) { ival = atoi( tmp[1] ); control->tabulate = ival; } else if (strcmp(tmp[0], "qeq_freq") == 0) { - ival = atoi( tmp[1] ); - control->qeq_freq = ival; + ; // ignore } else if (strcmp(tmp[0], "q_err") == 0) { - val = atof( tmp[1] ); - control->q_err = val; + ; // ignore } else if (strcmp(tmp[0], "ilu_refactor") == 0) { - ival = atoi( tmp[1] ); - control->refactor = ival; + ; // ignore } else if (strcmp(tmp[0], "ilu_droptol") == 0) { - val = atof( tmp[1] ); - control->droptol = val; + ; // ignore } else if (strcmp(tmp[0], "temp_init") == 0) { - val = atof(tmp[1]); - control->T_init = val; - - if (control->T_init < 0.1) - control->T_init = 0.1; + ; // ignore } else if (strcmp(tmp[0], "temp_final") == 0) { - val = atof(tmp[1]); - control->T_final = val; - - if (control->T_final < 0.1) - control->T_final = 0.1; + ; // ignore } else if (strcmp(tmp[0], "t_mass") == 0) { - val = atof(tmp[1]); - control->Tau_T = val * 1.e-3; // convert t_mass from fs to ps + ; // ignore } else if (strcmp(tmp[0], "t_mode") == 0) { - ival = atoi(tmp[1]); - control->T_mode = ival; + ; // ignore } else if (strcmp(tmp[0], "t_rate") == 0) { - val = atof(tmp[1]); - control->T_rate = val; + ; // ignore } else if (strcmp(tmp[0], "t_freq") == 0) { - val = atof(tmp[1]); - control->T_freq = val; + ; // ignore } else if (strcmp(tmp[0], "pressure") == 0) { - if (control->ensemble == iNPT) { - control->P[0] = control->P[1] = control->P[2] = atof(tmp[1]); - } - else if (control->ensemble == sNPT) { - control->P[0] = atof(tmp[1]); - control->P[1] = atof(tmp[2]); - control->P[2] = atof(tmp[3]); - } + ; // ignore } else if (strcmp(tmp[0], "p_mass") == 0) { - // convert p_mass from fs to ps - if (control->ensemble == iNPT) { - control->Tau_P[0] = control->Tau_P[1] = control->Tau_P[2] = - atof(tmp[1]) * 1.e-3; - } - else if (control->ensemble == sNPT) { - control->Tau_P[0] = atof(tmp[1]) * 1.e-3; - control->Tau_P[1] = atof(tmp[2]) * 1.e-3; - control->Tau_P[2] = atof(tmp[3]) * 1.e-3; - } + ; // ignore } else if (strcmp(tmp[0], "pt_mass") == 0) { - val = atof(tmp[1]); - control->Tau_PT[0] = control->Tau_PT[1] = control->Tau_PT[2] = - val * 1.e-3; // convert pt_mass from fs to ps + ; // ignore } else if (strcmp(tmp[0], "compress") == 0) { - val = atof(tmp[1]); - control->compressibility = val; + ; // ignore } else if (strcmp(tmp[0], "press_mode") == 0) { - ival = atoi(tmp[1]); - control->press_mode = ival; + ; // ignore } else if (strcmp(tmp[0], "geo_format") == 0) { - ival = atoi( tmp[1] ); - control->geo_format = ival; + ; // ignore } else if (strcmp(tmp[0], "write_freq") == 0) { ival = atoi(tmp[1]); @@ -329,33 +243,25 @@ void Read_Control_File(const char *control_file, control_params *control, out_control->angle_info = ival; } else if (strcmp(tmp[0], "molecular_analysis") == 0) { - ival = atoi(tmp[1]); - control->molecular_analysis = ival; + ; // ignore } else if (strcmp(tmp[0], "ignore") == 0) { - control->num_ignored = atoi(tmp[1]); - for (i = 0; i < control->num_ignored; ++i) - control->ignore[atoi(tmp[i+2])] = 1; + ; // ignore } else if (strcmp(tmp[0], "dipole_anal") == 0) { - ival = atoi(tmp[1]); - control->dipole_anal = ival; + ; // ignore } else if (strcmp(tmp[0], "freq_dipole_anal") == 0) { - ival = atoi(tmp[1]); - control->freq_dipole_anal = ival; + ; // ignore } else if (strcmp(tmp[0], "diffusion_coef") == 0) { - ival = atoi(tmp[1]); - control->diffusion_coef = ival; + ; // ignore } else if (strcmp(tmp[0], "freq_diffusion_coef") == 0) { - ival = atoi(tmp[1]); - control->freq_diffusion_coef = ival; + ; // ignore } else if (strcmp(tmp[0], "restrict_type") == 0) { - ival = atoi(tmp[1]); - control->restrict_type = ival; + ; // ignore } else { char errmsg[128]; @@ -364,11 +270,6 @@ void Read_Control_File(const char *control_file, control_params *control, } } - /* determine target T */ - if (control->T_mode == 0) - control->T = control->T_final; - else control->T = control->T_init; - /* free memory allocations at the top */ for (i = 0; i < MAX_TOKENS; i++) free( tmp[i] ); diff --git a/src/USER-REAXC/reaxc_defs.h b/src/USER-REAXC/reaxc_defs.h index 3ead22842a..4103f06129 100644 --- a/src/USER-REAXC/reaxc_defs.h +++ b/src/USER-REAXC/reaxc_defs.h @@ -115,12 +115,9 @@ #define MAXSPECBOND 24 /* used in fix_reaxc_species.cpp and pair_reaxc.cpp */ /******************* ENUMERATIONS *************************/ -enum geo_formats { CUSTOM, PDB, ASCII_RESTART, BINARY_RESTART, GF_N }; enum restart_formats { WRITE_ASCII, WRITE_BINARY, RF_N }; -enum ensembles { NVE, bNVT, nhNVT, sNPT, iNPT, NPT, ens_N }; - enum lists { BONDS, OLD_BONDS, THREE_BODIES, HBONDS, FAR_NBRS, DBOS, DDELTAS, LIST_N }; diff --git a/src/USER-REAXC/reaxc_forces.cpp b/src/USER-REAXC/reaxc_forces.cpp index 0289c08504..f5f3db89ad 100644 --- a/src/USER-REAXC/reaxc_forces.cpp +++ b/src/USER-REAXC/reaxc_forces.cpp @@ -180,7 +180,7 @@ void Init_Forces_noQEq( reax_system *system, control_params *control, int type_i, type_j; int btop_i, num_bonds, num_hbonds; int ihb, jhb, ihb_top, jhb_top; - int local, flag, renbr; + int local, flag; double cutoff; reax_list *far_nbrs, *bonds, *hbonds; single_body_parameters *sbp_i, *sbp_j; @@ -201,7 +201,6 @@ void Init_Forces_noQEq( reax_system *system, control_params *control, num_bonds = 0; num_hbonds = 0; btop_i = 0; - renbr = (data->step-data->prev_steps) % control->reneighbor == 0; for (i = 0; i < system->N; ++i) { atom_i = &(system->my_atoms[i]); @@ -235,22 +234,9 @@ void Init_Forces_noQEq( reax_system *system, control_params *control, j = nbr_pj->nbr; atom_j = &(system->my_atoms[j]); - if (renbr) { - if (nbr_pj->d <= cutoff) - flag = 1; - else flag = 0; - } else { - nbr_pj->dvec[0] = atom_j->x[0] - atom_i->x[0]; - nbr_pj->dvec[1] = atom_j->x[1] - atom_i->x[1]; - nbr_pj->dvec[2] = atom_j->x[2] - atom_i->x[2]; - nbr_pj->d = rvec_Norm_Sqr( nbr_pj->dvec ); - if (nbr_pj->d <= SQR(cutoff)) { - nbr_pj->d = sqrt(nbr_pj->d); - flag = 1; - } else { - flag = 0; - } - } + if (nbr_pj->d <= cutoff) + flag = 1; + else flag = 0; if (flag) { type_j = atom_j->type; diff --git a/src/USER-REAXC/reaxc_init_md.cpp b/src/USER-REAXC/reaxc_init_md.cpp index 23c20d1c21..9009f7995c 100644 --- a/src/USER-REAXC/reaxc_init_md.cpp +++ b/src/USER-REAXC/reaxc_init_md.cpp @@ -78,7 +78,7 @@ int Init_Simulation_Data(reax_system *system, control_params *control, data->timing.start = MPI_Wtime(); } - data->step = data->prev_steps = 0; + data->step = 0; return SUCCESS; } diff --git a/src/USER-REAXC/reaxc_io_tools.cpp b/src/USER-REAXC/reaxc_io_tools.cpp index 52e6a0c108..581ddf84ec 100644 --- a/src/USER-REAXC/reaxc_io_tools.cpp +++ b/src/USER-REAXC/reaxc_io_tools.cpp @@ -60,20 +60,6 @@ int Init_Output_Files(reax_system *system, control_params *control, } /* init pressure file */ - if ( control->ensemble == NPT || - control->ensemble == iNPT || - control->ensemble == sNPT) { - sprintf( temp, "%s.prs", control->sim_name ); - if ((out_control->prs = fopen( temp, "w" )) != nullptr) { - fprintf(out_control->prs,"%8s%13s%13s%13s%13s%13s%13s%13s\n", - "step", "Pint/norm[x]", "Pint/norm[y]", "Pint/norm[z]", - "Pext/Ptot[x]", "Pext/Ptot[y]", "Pext/Ptot[z]", "Pkin/V" ); - fflush( out_control->prs ); - } else { - strcpy(msg,"init_out_controls: .prs file couldn't be opened\n"); - return FAILURE; - } - } } return SUCCESS; @@ -135,8 +121,7 @@ void Output_Results(reax_system *system, control_params *control, } /* write current frame */ - if ( out_control->write_steps > 0 && - (data->step-data->prev_steps) % out_control->write_steps == 0) { + if ( out_control->write_steps > 0 && data->step % out_control->write_steps == 0) { Append_Frame( system, control, data, lists, out_control, world); } } diff --git a/src/USER-REAXC/reaxc_reset_tools.cpp b/src/USER-REAXC/reaxc_reset_tools.cpp index 4367be8217..fa56b471ff 100644 --- a/src/USER-REAXC/reaxc_reset_tools.cpp +++ b/src/USER-REAXC/reaxc_reset_tools.cpp @@ -73,31 +73,10 @@ void Reset_Energies( energy_data *en ) en->e_tot = 0; } - -void Reset_Temperatures( simulation_data *data ) -{ - data->therm.T = 0; -} - - -void Reset_Pressures( simulation_data *data ) -{ - data->flex_bar.P_scalar = 0; - rtensor_MakeZero( data->flex_bar.P ); - - data->iso_bar.P = 0; - rvec_MakeZero( data->int_press ); - rvec_MakeZero( data->my_ext_press ); - rvec_MakeZero( data->ext_press ); -} - - void Reset_Simulation_Data( simulation_data* data, int /*virial*/ ) { Reset_Energies( &data->my_en ); Reset_Energies( &data->sys_en ); - Reset_Temperatures( data ); - Reset_Pressures( data ); } diff --git a/src/USER-REAXC/reaxc_traj.cpp b/src/USER-REAXC/reaxc_traj.cpp index f97a80f023..da7c7955e5 100644 --- a/src/USER-REAXC/reaxc_traj.cpp +++ b/src/USER-REAXC/reaxc_traj.cpp @@ -63,11 +63,6 @@ int Write_Header(reax_system *system, control_params *control, output_controls *out_control) { int num_hdr_lines, my_hdr_lines, buffer_req; - char ensembles[ens_N][25] = { "NVE", "NVT", "fully flexible NPT", - "semi isotropic NPT", "isotropic NPT" }; - char reposition[3][25] = { "fit to periodic box", "CoM to center of box", - "CoM to origin" }; - char t_regime[3][25] = { "T-coupling only", "step-wise", "constant slope" }; char traj_methods[TF_N][10] = { "custom", "xyz" }; char atom_formats[8][40] = { "none", "invalid", "invalid", "invalid", @@ -106,29 +101,23 @@ int Write_Header(reax_system *system, control_params *control, sprintf( out_control->line, BIGINT_LINE, "number_of_atoms:", system->bigN ); strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); - sprintf( out_control->line, STR_LINE, "ensemble_type:", - ensembles[ control->ensemble ] ); + sprintf( out_control->line, STR_LINE, "ensemble_type:", "(unknown)"); strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); - sprintf( out_control->line, INT_LINE, "number_of_steps:", - control->nsteps ); + sprintf( out_control->line, INT_LINE, "number_of_steps:", 0); strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); - sprintf( out_control->line, REAL_LINE, "timestep_length_(in_fs):", - control->dt * 1000 ); + sprintf( out_control->line, REAL_LINE, "timestep_length_(in_fs):", 0.0); strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); /* restart info */ - sprintf( out_control->line, STR_LINE, "is_this_a_restart?:", - (control->restart ? "yes" : "no") ); + sprintf( out_control->line, STR_LINE, "is_this_a_restart?:", "no"); strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); - sprintf( out_control->line, STR_LINE, "write_restart_files?:", - ((out_control->restart_freq > 0) ? "yes" : "no") ); + sprintf( out_control->line, STR_LINE, "write_restart_files?:", "no"); strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); - sprintf( out_control->line, INT_LINE, "frequency_to_write_restarts:", - out_control->restart_freq ); + sprintf( out_control->line, INT_LINE, "frequency_to_write_restarts:", 0); strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); /* preferences */ @@ -139,23 +128,18 @@ int Write_Header(reax_system *system, control_params *control, sprintf( out_control->line, INT_LINE, "table_size:", control->tabulate ); strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); - sprintf( out_control->line, STR_LINE, "restrict_bonds?:", - (control->restrict_bonds ? "yes" : "no") ); + sprintf( out_control->line, STR_LINE, "restrict_bonds?:", "no"); strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); - sprintf( out_control->line, INT_LINE, "bond_restriction_length:", - control->restrict_bonds ); + sprintf( out_control->line, INT_LINE, "bond_restriction_length:", 0); strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); - sprintf( out_control->line, STR_LINE, "reposition_atoms?:", - reposition[control->reposition_atoms] ); + sprintf( out_control->line, STR_LINE, "reposition_atoms?:", "fit to periodic box"); strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); - sprintf( out_control->line, INT_LINE, "remove_CoM_velocity?:", - (control->ensemble==NVE) ? 0 : control->remove_CoM_vel); + sprintf( out_control->line, INT_LINE, "remove_CoM_velocity?:", 0); strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); - /* cut-off values */ sprintf( out_control->line, REAL_LINE, "bonded_intr_dist_cutoff:", control->bond_cut ); @@ -181,37 +165,30 @@ int Write_Header(reax_system *system, control_params *control, control->thb_cut ); strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); - sprintf( out_control->line, SCI_LINE, "QEq_tolerance:", control->q_err ); + sprintf( out_control->line, SCI_LINE, "QEq_tolerance:", 0.0 ); strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); /* temperature controls */ - sprintf( out_control->line, REAL_LINE, "initial_temperature:", - control->T_init ); + sprintf( out_control->line, REAL_LINE, "initial_temperature:", 0.0); strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); - sprintf( out_control->line, REAL_LINE, "target_temperature:", - control->T_final ); + sprintf( out_control->line, REAL_LINE, "target_temperature:", 0.0); strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); - sprintf( out_control->line, REAL_LINE, "thermal_inertia:", - control->Tau_T ); + sprintf( out_control->line, REAL_LINE, "thermal_inertia:", 0.0); strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); - sprintf( out_control->line, STR_LINE, "temperature_regime:", - t_regime[ control->T_mode ] ); + sprintf( out_control->line, STR_LINE, "temperature_regime:", "(unknown)"); strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); - sprintf( out_control->line, REAL_LINE, "temperature_change_rate_(K/ps):", - control->T_rate / control->T_freq ); + sprintf( out_control->line, REAL_LINE, "temperature_change_rate_(K/ps):", 0.0); strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); /* pressure controls */ - sprintf( out_control->line, REAL3_LINE, "target_pressure_(GPa):", - control->P[0], control->P[1], control->P[2] ); + sprintf( out_control->line, REAL3_LINE, "target_pressure_(GPa):", 0.0, 0.0, 0.0); strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); - sprintf( out_control->line, REAL3_LINE, "virial_inertia:", - control->Tau_P[0], control->Tau_P[1], control->Tau_P[2] ); + sprintf( out_control->line, REAL3_LINE, "virial_inertia:", 0.0, 0.0, 0.0); strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); /* trajectory */ @@ -244,12 +221,9 @@ int Write_Header(reax_system *system, control_params *control, strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); /* analysis */ - //sprintf( out_control->line, STR_LINE, "molecular_analysis:", - // (control->molec_anal ? "yes" : "no") ); - //strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); - - sprintf( out_control->line, INT_LINE, "molecular_analysis_frequency:", - control->molecular_analysis ); + sprintf( out_control->line, STR_LINE, "molecular_analysis:", "no"); + strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); + sprintf( out_control->line, INT_LINE, "molecular_analysis_frequency:", 0); strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); } @@ -383,11 +357,9 @@ int Write_Frame_Header(reax_system *system, control_params *control, sprintf( out_control->line, INT_LINE, "step:", data->step ); strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); - sprintf( out_control->line, REAL_LINE, "time_in_ps:", - data->step * control->dt ); + sprintf( out_control->line, REAL_LINE, "time_in_ps:", 0.0); strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); - /* box info */ sprintf( out_control->line, REAL_LINE, "volume:", 0.0 ); strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); @@ -399,17 +371,13 @@ int Write_Frame_Header(reax_system *system, control_params *control, "coordinate_angles:", 90.0, 90.0, 90.0 ); strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); - /* system T and P */ - sprintf( out_control->line, REAL_LINE, "temperature:", data->therm.T ); + sprintf( out_control->line, REAL_LINE, "temperature:", 0.0); strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); - sprintf( out_control->line, REAL_LINE, "pressure:", - (control->ensemble==iNPT) ? - data->iso_bar.P : data->flex_bar.P_scalar ); + sprintf( out_control->line, REAL_LINE, "pressure:", 0.0); strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); - /* energies */ sprintf( out_control->line, REAL_LINE, "total_energy:", data->sys_en.e_tot ); diff --git a/src/USER-REAXC/reaxc_types.h b/src/USER-REAXC/reaxc_types.h index ee2db705d5..b8be985994 100644 --- a/src/USER-REAXC/reaxc_types.h +++ b/src/USER-REAXC/reaxc_types.h @@ -279,30 +279,10 @@ struct control_params { char sim_name[REAX_MAX_STR]; int nthreads; - /* ensemble values: - 0 : NVE - 1 : bNVT (Berendsen) - 2 : nhNVT (Nose-Hoover) - 3 : sNPT (Parrinello-Rehman-Nose-Hoover) semiisotropic - 4 : iNPT (Parrinello-Rehman-Nose-Hoover) isotropic - 5 : NPT (Parrinello-Rehman-Nose-Hoover) Anisotropic*/ - int ensemble; - int nsteps; - double dt; - int geo_format; - int restart; - int restrict_bonds; - int remove_CoM_vel; - int random_vel; - int reposition_atoms; - - int reneighbor; - double vlist_cut; double bond_cut; double nonb_cut, nonb_low; double hbond_cut; - double user_ghost_cut; double bg_cut; double bo_cut; @@ -310,31 +290,7 @@ struct control_params double thb_cutsq; int tabulate; - - int qeq_freq; - double q_err; - int refactor; - double droptol; - - double T_init, T_final, T; - double Tau_T; - int T_mode; - double T_rate, T_freq; - int virial; - rvec P, Tau_P, Tau_PT; - int press_mode; - double compressibility; - - int molecular_analysis; - int num_ignored; - int ignore[REAX_MAX_ATOM_TYPES]; - - int dipole_anal; - int freq_dipole_anal; - int diffusion_coef; - int freq_diffusion_coef; - int restrict_type; int lgflag; int enobondsflag; @@ -343,43 +299,6 @@ struct control_params int me; }; -struct thermostat -{ - double T; - double xi; - double v_xi; - double v_xi_old; - double G_xi; - -}; - -struct isotropic_barostat -{ - double P; - double eps; - double v_eps; - double v_eps_old; - double a_eps; - -}; - -struct flexible_barostat -{ - rtensor P; - double P_scalar; - - double eps; - double v_eps; - double v_eps_old; - double a_eps; - - rtensor h0; - rtensor v_g0; - rtensor v_g0_old; - rtensor a_g0; - -}; - struct reax_timing { double start; @@ -420,8 +339,7 @@ struct energy_data struct simulation_data { - int step; - int prev_steps; + rc_bigint step; double time; double M; // Total Mass @@ -444,9 +362,6 @@ struct simulation_data double N_f; //Number of degrees of freedom rvec t_scale; rtensor p_scale; - thermostat therm; // Used in Nose_Hoover method - isotropic_barostat iso_bar; - flexible_barostat flex_bar; double inv_W; double kin_press; @@ -552,7 +467,6 @@ struct storage /* QEq storage */ sparse_matrix *H, *L, *U; double *Hdia_inv, *b_s, *b_t, *b_prc, *b_prm, *s, *t; - double *droptol; rvec2 *b, *x; /* GMRES storage */ From f0369ce72d365a47d69887c678fcc351e5f921e6 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 15 Apr 2021 07:06:56 -0400 Subject: [PATCH 020/726] remove unused timing data structure --- src/USER-OMP/pair_reaxc_omp.cpp | 8 -------- src/USER-OMP/reaxc_init_md_omp.cpp | 7 ++----- src/USER-REAXC/pair_reaxc.cpp | 8 -------- src/USER-REAXC/reaxc_init_md.cpp | 16 ++-------------- src/USER-REAXC/reaxc_reset_tools.cpp | 15 --------------- src/USER-REAXC/reaxc_reset_tools.h | 1 - src/USER-REAXC/reaxc_types.h | 19 ------------------- 7 files changed, 4 insertions(+), 70 deletions(-) diff --git a/src/USER-OMP/pair_reaxc_omp.cpp b/src/USER-OMP/pair_reaxc_omp.cpp index 505ca1467f..e754316ea0 100644 --- a/src/USER-OMP/pair_reaxc_omp.cpp +++ b/src/USER-OMP/pair_reaxc_omp.cpp @@ -178,7 +178,6 @@ PairReaxCOMP::~PairReaxCOMP() void PairReaxCOMP::compute(int eflag, int vflag) { double evdwl,ecoul; - double t_start, t_end; // communicate num_bonds once every reneighboring // 2 num arrays stored by fix, grab ptr to them @@ -201,7 +200,6 @@ void PairReaxCOMP::compute(int eflag, int vflag) system->N = atom->nlocal + atom->nghost; // mine + ghosts system->bigN = static_cast (atom->natoms); // all atoms in the system - if (comm->me == 0 ) t_start = MPI_Wtime(); // setup data structures setup(); @@ -213,12 +211,6 @@ void PairReaxCOMP::compute(int eflag, int vflag) //workspace->realloc.num_far = write_reax_lists(); write_reax_lists(); - // timing for filling in the reax lists - if (comm->me == 0) { - t_end = MPI_Wtime(); - data->timing.nbrs = t_end - t_start; - } - // forces #ifdef OMP_TIMING diff --git a/src/USER-OMP/reaxc_init_md_omp.cpp b/src/USER-OMP/reaxc_init_md_omp.cpp index bb7d102141..9652b52fe7 100644 --- a/src/USER-OMP/reaxc_init_md_omp.cpp +++ b/src/USER-OMP/reaxc_init_md_omp.cpp @@ -42,7 +42,7 @@ // Functions defined in reaxc_init_md.cpp extern void Init_System(reax_system*, control_params*); -extern int Init_Simulation_Data(reax_system*, control_params*, simulation_data*, char*); +extern void Init_Simulation_Data(control_params*, simulation_data*); extern int Init_Workspace(reax_system*, control_params*, storage*, char*); /* ---------------------------------------------------------------------- */ @@ -123,10 +123,7 @@ void InitializeOMP(reax_system *system, control_params *control, LAMMPS_NS::Error *error = system->error_ptr; Init_System(system,control); - - if (Init_Simulation_Data(system,control,data,msg) == FAILURE) - error->one(FLERR,fmt::format("Error on: {}. Sim_data could not be " - "initialized! Terminating.",msg)); + Init_Simulation_Data(control,data); if (Init_Workspace(system,control,workspace,msg) == FAILURE) error->one(FLERR,"init_workspace: not enough memory. " diff --git a/src/USER-REAXC/pair_reaxc.cpp b/src/USER-REAXC/pair_reaxc.cpp index 768827fb58..cb1fe5f64d 100644 --- a/src/USER-REAXC/pair_reaxc.cpp +++ b/src/USER-REAXC/pair_reaxc.cpp @@ -477,7 +477,6 @@ double PairReaxC::init_one(int i, int j) void PairReaxC::compute(int eflag, int vflag) { double evdwl,ecoul; - double t_start, t_end; // communicate num_bonds once every reneighboring // 2 num arrays stored by fix, grab ptr to them @@ -496,19 +495,12 @@ void PairReaxC::compute(int eflag, int vflag) system->N = atom->nlocal + atom->nghost; // mine + ghosts system->bigN = static_cast (atom->natoms); // all atoms in the system - if (comm->me == 0 ) t_start = MPI_Wtime(); - // setup data structures setup(); Reset( system, control, data, workspace, &lists ); workspace->realloc.num_far = write_reax_lists(); - // timing for filling in the reax lists - if (comm->me == 0) { - t_end = MPI_Wtime(); - data->timing.nbrs = t_end - t_start; - } // forces diff --git a/src/USER-REAXC/reaxc_init_md.cpp b/src/USER-REAXC/reaxc_init_md.cpp index 9009f7995c..b9d46fc3f1 100644 --- a/src/USER-REAXC/reaxc_init_md.cpp +++ b/src/USER-REAXC/reaxc_init_md.cpp @@ -68,19 +68,10 @@ void Init_System(reax_system *system, control_params *control) } -int Init_Simulation_Data(reax_system *system, control_params *control, - simulation_data *data, char * /*msg*/) +void Init_Simulation_Data(control_params *control, simulation_data *data) { Reset_Simulation_Data(data, control->virial); - - /* initialize the timer(s) */ - if (system->my_rank == MASTER_NODE) { - data->timing.start = MPI_Wtime(); - } - data->step = 0; - - return SUCCESS; } void Init_Taper(control_params *control, storage *workspace) @@ -210,10 +201,7 @@ void Initialize(reax_system *system, control_params *control, LAMMPS_NS::Error *error = system->error_ptr; Init_System(system,control); - - if (Init_Simulation_Data( system,control,data,msg) == FAILURE) - error->one(FLERR,fmt::format("Error on: {}. Sim_data could not be " - "initialized! Terminating.",msg)); + Init_Simulation_Data(control,data); if (Init_Workspace( system,control,workspace,msg) == FAILURE) error->one(FLERR,"init_workspace: not enough memory. " diff --git a/src/USER-REAXC/reaxc_reset_tools.cpp b/src/USER-REAXC/reaxc_reset_tools.cpp index fa56b471ff..c32fe6a602 100644 --- a/src/USER-REAXC/reaxc_reset_tools.cpp +++ b/src/USER-REAXC/reaxc_reset_tools.cpp @@ -79,20 +79,6 @@ void Reset_Simulation_Data( simulation_data* data, int /*virial*/ ) Reset_Energies( &data->sys_en ); } - -void Reset_Timing( reax_timing *rt ) -{ - rt->total = MPI_Wtime(); - rt->comm = 0; - rt->nbrs = 0; - rt->init_forces = 0; - rt->bonded = 0; - rt->nonb = 0; - rt->qEq = 0; - rt->s_matvecs = 0; - rt->t_matvecs = 0; -} - void Reset_Workspace( reax_system *system, storage *workspace ) { memset( workspace->total_bond_order, 0, system->total_cap * sizeof( double ) ); @@ -102,7 +88,6 @@ void Reset_Workspace( reax_system *system, storage *workspace ) } - void Reset_Neighbor_Lists( reax_system *system, control_params *control, storage *workspace, reax_list **lists ) { diff --git a/src/USER-REAXC/reaxc_reset_tools.h b/src/USER-REAXC/reaxc_reset_tools.h index 20d1ab6964..39cda0ac9b 100644 --- a/src/USER-REAXC/reaxc_reset_tools.h +++ b/src/USER-REAXC/reaxc_reset_tools.h @@ -31,7 +31,6 @@ void Reset_Pressures( simulation_data* ); void Reset_Simulation_Data( simulation_data*, int ); -void Reset_Timing( reax_timing* ); void Reset_Workspace( reax_system*, storage* ); void Reset_Neighbor_Lists( reax_system*, control_params*, storage*, reax_list** ); diff --git a/src/USER-REAXC/reaxc_types.h b/src/USER-REAXC/reaxc_types.h index b8be985994..87543ca155 100644 --- a/src/USER-REAXC/reaxc_types.h +++ b/src/USER-REAXC/reaxc_types.h @@ -299,23 +299,6 @@ struct control_params int me; }; -struct reax_timing -{ - double start; - double end; - double elapsed; - - double total; - double comm; - double nbrs; - double init_forces; - double bonded; - double nonb; - double qEq; - int s_matvecs; - int t_matvecs; -}; - struct energy_data { double e_tot; @@ -369,8 +352,6 @@ struct simulation_data rvec my_ext_press; rvec ext_press; rvec tot_press; - - reax_timing timing; }; struct three_body_interaction_data From def09d4d7a4209562ca2d4bd729bbc9b807df45f Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 15 Apr 2021 07:26:53 -0400 Subject: [PATCH 021/726] remove unused simulation data struct members and related code --- src/USER-OMP/reaxc_bond_orders_omp.cpp | 18 +-------------- src/USER-OMP/reaxc_forces_omp.cpp | 8 ------- src/USER-OMP/reaxc_hydrogen_bonds_omp.cpp | 9 ++------ src/USER-OMP/reaxc_nonbonded_omp.cpp | 11 ++------- src/USER-OMP/reaxc_torsion_angles_omp.cpp | 16 +------------- src/USER-OMP/reaxc_valence_angles_omp.cpp | 8 +------ src/USER-REAXC/reaxc_allocate.cpp | 3 --- src/USER-REAXC/reaxc_bond_orders.cpp | 20 ++--------------- src/USER-REAXC/reaxc_hydrogen_bonds.cpp | 9 ++------ src/USER-REAXC/reaxc_io_tools.cpp | 21 ------------------ src/USER-REAXC/reaxc_nonbonded.cpp | 10 ++------- src/USER-REAXC/reaxc_torsion_angles.cpp | 17 +------------- src/USER-REAXC/reaxc_types.h | 27 ----------------------- src/USER-REAXC/reaxc_valence_angles.cpp | 6 +---- 14 files changed, 15 insertions(+), 168 deletions(-) diff --git a/src/USER-OMP/reaxc_bond_orders_omp.cpp b/src/USER-OMP/reaxc_bond_orders_omp.cpp index 499c5f2933..aaebe9c83c 100644 --- a/src/USER-OMP/reaxc_bond_orders_omp.cpp +++ b/src/USER-OMP/reaxc_bond_orders_omp.cpp @@ -234,8 +234,7 @@ void Add_dBond_to_Forces_NPTOMP( reax_system *system, int i, int pj, bond_data *nbr_j, *nbr_k; bond_order_data *bo_ij, *bo_ji; dbond_coefficients coef; - rvec temp, ext_press; - ivec rel_box; + rvec temp; int pk, k, j; #if defined(_OPENMP) @@ -285,10 +284,6 @@ void Add_dBond_to_Forces_NPTOMP( reax_system *system, int i, int pj, /* force */ rvec_Add(workspace->forceReduction[reductionOffset+k],temp ); - - /* pressure */ - rvec_iMultiply( ext_press, nbr_k->rel_box, temp ); - rvec_Add( workspace->my_ext_pressReduction[tid], ext_press ); } /* then atom i itself */ @@ -318,13 +313,6 @@ void Add_dBond_to_Forces_NPTOMP( reax_system *system, int i, int pj, /* force */ rvec_Add(workspace->forceReduction[reductionOffset+k],temp ); - - /* pressure */ - if (k != i) { - ivec_Sum( rel_box, nbr_k->rel_box, nbr_j->rel_box ); //rel_box(k, i) - rvec_iMultiply( ext_press, rel_box, temp ); - rvec_Add( workspace->my_ext_pressReduction[tid], ext_press ); - } } /* then atom j itself */ @@ -343,10 +331,6 @@ void Add_dBond_to_Forces_NPTOMP( reax_system *system, int i, int pj, /* force */ rvec_Add(workspace->forceReduction[reductionOffset+j],temp ); - - /* pressure */ - rvec_iMultiply( ext_press, nbr_j->rel_box, temp ); - rvec_Add( workspace->my_ext_pressReduction[tid], ext_press ); } /* ---------------------------------------------------------------------- */ diff --git a/src/USER-OMP/reaxc_forces_omp.cpp b/src/USER-OMP/reaxc_forces_omp.cpp index 4bed7a3828..956621f4db 100644 --- a/src/USER-OMP/reaxc_forces_omp.cpp +++ b/src/USER-OMP/reaxc_forces_omp.cpp @@ -247,14 +247,6 @@ void Compute_Total_ForceOMP( reax_system *system, control_params *control, } } // parallel region - if (control->virial) - for (int i=0; i < nthreads; ++i) { - rvec_Add(data->my_ext_press, workspace->my_ext_pressReduction[i]); - workspace->my_ext_pressReduction[i][0] = 0; - workspace->my_ext_pressReduction[i][1] = 0; - workspace->my_ext_pressReduction[i][2] = 0; - } - #ifdef OMP_TIMING endTimeBase = MPI_Wtime(); ompTimingData[COMPUTETFINDEX] += (endTimeBase-startTimeBase); diff --git a/src/USER-OMP/reaxc_hydrogen_bonds_omp.cpp b/src/USER-OMP/reaxc_hydrogen_bonds_omp.cpp index c0fe4e3792..b21b8b7cac 100644 --- a/src/USER-OMP/reaxc_hydrogen_bonds_omp.cpp +++ b/src/USER-OMP/reaxc_hydrogen_bonds_omp.cpp @@ -72,7 +72,7 @@ void Hydrogen_BondsOMP( reax_system *system, control_params *control, double r_jk, theta, cos_theta, sin_xhz4, cos_xhz1, sin_theta2; double e_hb, e_hb_thr = 0.0, exp_hb2, exp_hb3, CEhb1, CEhb2, CEhb3; rvec dcos_theta_di, dcos_theta_dj, dcos_theta_dk; - rvec dvec_jk, force, ext_press; + rvec dvec_jk, force; hbond_parameters *hbp; bond_order_data *bo_ij; bond_data *pbond_ij; @@ -197,23 +197,18 @@ void Hydrogen_BondsOMP( reax_system *system, control_params *control, derivatives are added directly into pressure vector/tensor */ rvec_Scale( force, +CEhb2, dcos_theta_di ); // dcos terms rvec_Add(workspace->forceReduction[reductionOffset+i], force ); - rvec_iMultiply( ext_press, pbond_ij->rel_box, force ); - rvec_ScaledAdd( workspace->my_ext_pressReduction[tid],1.0, ext_press ); + rvec_ScaledAdd(workspace->forceReduction[reductionOffset+j], +CEhb2, dcos_theta_dj ); ivec_Scale( rel_jk, hbond_list[pk].scl, nbr_jk->rel_box ); rvec_Scale( force, +CEhb2, dcos_theta_dk ); rvec_Add(workspace->forceReduction[reductionOffset+k], force ); - rvec_iMultiply( ext_press, rel_jk, force ); - rvec_ScaledAdd( workspace->my_ext_pressReduction[tid],1.0, ext_press ); // dr terms rvec_ScaledAdd(workspace->forceReduction[reductionOffset+j],-CEhb3/r_jk, dvec_jk ); rvec_Scale( force, CEhb3/r_jk, dvec_jk ); rvec_Add(workspace->forceReduction[reductionOffset+k], force ); - rvec_iMultiply( ext_press, rel_jk, force ); - rvec_ScaledAdd( workspace->my_ext_pressReduction[tid],1.0, ext_press ); } /* tally into per-atom virials */ diff --git a/src/USER-OMP/reaxc_nonbonded_omp.cpp b/src/USER-OMP/reaxc_nonbonded_omp.cpp index 3a4214d306..f4a4e988bc 100644 --- a/src/USER-OMP/reaxc_nonbonded_omp.cpp +++ b/src/USER-OMP/reaxc_nonbonded_omp.cpp @@ -75,7 +75,7 @@ void vdW_Coulomb_Energy_OMP( reax_system *system, control_params *control, double e_ele, e_vdW, e_core; const double SMALL = 0.0001; double e_lg, de_lg, r_ij5, r_ij6, re6; - rvec temp, ext_press; + rvec temp; two_body_parameters *twbp; far_neighbor_data *nbr_pj; @@ -230,10 +230,6 @@ void vdW_Coulomb_Energy_OMP( reax_system *system, control_params *control, rvec_Scale( temp, CEvd + CEclmb, nbr_pj->dvec ); rvec_ScaledAdd( workspace->f[reductionOffset+i], -1., temp ); rvec_Add( workspace->forceReduction[reductionOffset+j], temp); - - rvec_iMultiply( ext_press, nbr_pj->rel_box, temp ); - - rvec_Add( workspace->my_ext_pressReduction[tid], ext_press ); } } } @@ -273,7 +269,7 @@ void Tabulated_vdW_Coulomb_Energy_OMP(reax_system *system,control_params *contro double e_vdW, e_ele; double CEvd, CEclmb; double f_tmp, delij[3]; - rvec temp, ext_press; + rvec temp; far_neighbor_data *nbr_pj; LR_lookup_table *t; #if defined(_OPENMP) @@ -370,9 +366,6 @@ void Tabulated_vdW_Coulomb_Energy_OMP(reax_system *system,control_params *contro rvec_ScaledAdd( workspace->f[i], -1., temp ); rvec_Add( workspace->forceReduction[froffset+j], temp ); - - rvec_iMultiply( ext_press, nbr_pj->rel_box, temp ); - rvec_Add( workspace->my_ext_pressReduction[tid], ext_press ); } } } diff --git a/src/USER-OMP/reaxc_torsion_angles_omp.cpp b/src/USER-OMP/reaxc_torsion_angles_omp.cpp index cb92a9a68c..9fe2542b47 100644 --- a/src/USER-OMP/reaxc_torsion_angles_omp.cpp +++ b/src/USER-OMP/reaxc_torsion_angles_omp.cpp @@ -103,7 +103,7 @@ void Torsion_AnglesOMP( reax_system *system, control_params *control, double CEconj4, CEconj5, CEconj6; double e_tor, e_con; rvec dvec_li; - rvec force, ext_press; + rvec force; ivec rel_box_jl; // rtensor total_rtensor, temp_rtensor; four_body_header *fbh; @@ -373,16 +373,12 @@ void Torsion_AnglesOMP( reax_system *system, control_params *control, /* dcos_theta_ijk */ rvec_Scale( force, CEtors7 + CEconj4, p_ijk->dcos_dk ); rvec_Add( workspace->forceReduction[reductionOffset+i], force ); - rvec_iMultiply( ext_press, pbond_ij->rel_box, force ); - rvec_Add( workspace->my_ext_pressReduction[tid], ext_press ); rvec_ScaledAdd( workspace->f[j], CEtors7 + CEconj4, p_ijk->dcos_dj ); rvec_Scale( force, CEtors7 + CEconj4, p_ijk->dcos_di ); rvec_Add( workspace->forceReduction[reductionOffset+k], force ); - rvec_iMultiply( ext_press, pbond_jk->rel_box, force ); - rvec_Add( workspace->my_ext_pressReduction[tid], ext_press ); /* dcos_theta_jkl */ rvec_ScaledAdd( workspace->f[j], @@ -390,32 +386,22 @@ void Torsion_AnglesOMP( reax_system *system, control_params *control, rvec_Scale( force, CEtors8 + CEconj5, p_jkl->dcos_dj ); rvec_Add( workspace->forceReduction[reductionOffset+k], force ); - rvec_iMultiply( ext_press, pbond_jk->rel_box, force ); - rvec_Add( workspace->my_ext_pressReduction[tid], ext_press ); rvec_Scale( force, CEtors8 + CEconj5, p_jkl->dcos_dk ); rvec_Add( workspace->forceReduction[reductionOffset+l], force ); - rvec_iMultiply( ext_press, rel_box_jl, force ); - rvec_Add( workspace->my_ext_pressReduction[tid], ext_press ); /* dcos_omega */ rvec_Scale( force, CEtors9 + CEconj6, dcos_omega_di ); rvec_Add( workspace->forceReduction[reductionOffset+i], force ); - rvec_iMultiply( ext_press, pbond_ij->rel_box, force ); - rvec_Add( workspace->my_ext_pressReduction[tid], ext_press ); rvec_ScaledAdd( workspace->f[j], CEtors9 + CEconj6, dcos_omega_dj ); rvec_Scale( force, CEtors9 + CEconj6, dcos_omega_dk ); rvec_Add( workspace->forceReduction[reductionOffset+k], force ); - rvec_iMultiply( ext_press, pbond_jk->rel_box, force ); - rvec_Add( workspace->my_ext_pressReduction[tid], ext_press ); rvec_Scale( force, CEtors9 + CEconj6, dcos_omega_dl ); rvec_Add( workspace->forceReduction[reductionOffset+i], force ); - rvec_iMultiply( ext_press, rel_box_jl, force ); - rvec_Add( workspace->my_ext_pressReduction[tid], ext_press ); } /* tally into per-atom virials */ diff --git a/src/USER-OMP/reaxc_valence_angles_omp.cpp b/src/USER-OMP/reaxc_valence_angles_omp.cpp index 8b6f1e7617..7c417c0678 100644 --- a/src/USER-OMP/reaxc_valence_angles_omp.cpp +++ b/src/USER-OMP/reaxc_valence_angles_omp.cpp @@ -154,7 +154,7 @@ void Valence_AnglesOMP( reax_system *system, control_params *control, double f7_ij, f7_jk, f8_Dj, f9_Dj; double Ctheta_0, theta_0, theta_00, theta, cos_theta, sin_theta; double BOA_ij, BOA_jk; - rvec force, ext_press; + rvec force; // rtensor temp_rtensor, total_rtensor; // Tallying variables @@ -552,16 +552,10 @@ void Valence_AnglesOMP( reax_system *system, control_params *control, rvec_Scale( force, CEval8, p_ijk->dcos_di ); rvec_Add( workspace->forceReduction[reductionOffset+i], force ); - rvec_iMultiply( ext_press, pbond_ij->rel_box, force ); - rvec_Add( workspace->my_ext_pressReduction[tid], ext_press ); - rvec_ScaledAdd( workspace->f[j], CEval8, p_ijk->dcos_dj ); rvec_Scale( force, CEval8, p_ijk->dcos_dk ); rvec_Add( workspace->forceReduction[reductionOffset+k], force ); - - rvec_iMultiply( ext_press, pbond_jk->rel_box, force ); - rvec_Add( workspace->my_ext_pressReduction[tid], ext_press ); } /* tally into per-atom virials */ diff --git a/src/USER-REAXC/reaxc_allocate.cpp b/src/USER-REAXC/reaxc_allocate.cpp index 0c565e5c33..455e8f9ada 100644 --- a/src/USER-REAXC/reaxc_allocate.cpp +++ b/src/USER-REAXC/reaxc_allocate.cpp @@ -60,7 +60,6 @@ int PreAllocate_Space( reax_system *system, control_params * /*control*/, workspace->CdDeltaReduction = nullptr; workspace->forceReduction = nullptr; workspace->valence_angle_atom_myoffset = nullptr; - workspace->my_ext_pressReduction = nullptr; #else LMP_UNUSED_PARAM(workspace); #endif @@ -201,7 +200,6 @@ void DeAllocate_Workspace( control_params * control, storage *workspace ) if (workspace->CdDeltaReduction) sfree(control->error_ptr, workspace->CdDeltaReduction, "cddelta_reduce" ); if (workspace->forceReduction) sfree(control->error_ptr, workspace->forceReduction, "f_reduce" ); if (workspace->valence_angle_atom_myoffset) sfree(control->error_ptr, workspace->valence_angle_atom_myoffset, "valence_angle_atom_myoffset"); - if (workspace->my_ext_pressReduction) sfree(control->error_ptr, workspace->my_ext_pressReduction, "ext_press_reduce"); #endif } @@ -306,7 +304,6 @@ int Allocate_Workspace( reax_system * /*system*/, control_params * control, "forceReduction"); workspace->valence_angle_atom_myoffset = (int *) scalloc(control->error_ptr, sizeof(int), total_cap, "valence_angle_atom_myoffset"); - workspace->my_ext_pressReduction = (rvec *) calloc(sizeof(rvec), control->nthreads); #else LMP_UNUSED_PARAM(control); #endif diff --git a/src/USER-REAXC/reaxc_bond_orders.cpp b/src/USER-REAXC/reaxc_bond_orders.cpp index 6a854e1805..0c26784ccb 100644 --- a/src/USER-REAXC/reaxc_bond_orders.cpp +++ b/src/USER-REAXC/reaxc_bond_orders.cpp @@ -32,15 +32,14 @@ #include "reaxc_list.h" #include "reaxc_vector.h" -void Add_dBond_to_Forces_NPT( int i, int pj, simulation_data *data, +void Add_dBond_to_Forces_NPT( int i, int pj, storage *workspace, reax_list **lists ) { reax_list *bonds = (*lists) + BONDS; bond_data *nbr_j, *nbr_k; bond_order_data *bo_ij, *bo_ji; dbond_coefficients coef; - rvec temp, ext_press; - ivec rel_box; + rvec temp; int pk, k, j; /* Initializations */ @@ -78,10 +77,6 @@ void Add_dBond_to_Forces_NPT( int i, int pj, simulation_data *data, /* force */ rvec_Add( workspace->f[k], temp ); - /* pressure */ - rvec_iMultiply( ext_press, nbr_k->rel_box, temp ); - rvec_Add( data->my_ext_press, ext_press ); - } /* then atom i itself */ @@ -111,13 +106,6 @@ void Add_dBond_to_Forces_NPT( int i, int pj, simulation_data *data, /* force */ rvec_Add( workspace->f[k], temp ); - /* pressure */ - if (k != i) { - ivec_Sum( rel_box, nbr_k->rel_box, nbr_j->rel_box ); //rel_box(k, i) - rvec_iMultiply( ext_press, rel_box, temp ); - rvec_Add( data->my_ext_press, ext_press ); - - } } /* then atom j itself */ @@ -136,10 +124,6 @@ void Add_dBond_to_Forces_NPT( int i, int pj, simulation_data *data, /* force */ rvec_Add( workspace->f[j], temp ); - /* pressure */ - rvec_iMultiply( ext_press, nbr_j->rel_box, temp ); - rvec_Add( data->my_ext_press, ext_press ); - } void Add_dBond_to_Forces( reax_system *system, int i, int pj, diff --git a/src/USER-REAXC/reaxc_hydrogen_bonds.cpp b/src/USER-REAXC/reaxc_hydrogen_bonds.cpp index ac94d7b62c..4391bf769a 100644 --- a/src/USER-REAXC/reaxc_hydrogen_bonds.cpp +++ b/src/USER-REAXC/reaxc_hydrogen_bonds.cpp @@ -46,7 +46,7 @@ void Hydrogen_Bonds( reax_system *system, control_params *control, double r_jk, theta, cos_theta, sin_xhz4, cos_xhz1, sin_theta2; double e_hb, exp_hb2, exp_hb3, CEhb1, CEhb2, CEhb3; rvec dcos_theta_di, dcos_theta_dj, dcos_theta_dk; - rvec dvec_jk, force, ext_press; + rvec dvec_jk, force; hbond_parameters *hbp; bond_order_data *bo_ij; bond_data *pbond_ij; @@ -146,23 +146,18 @@ void Hydrogen_Bonds( reax_system *system, control_params *control, else { rvec_Scale( force, +CEhb2, dcos_theta_di ); // dcos terms rvec_Add( workspace->f[i], force ); - rvec_iMultiply( ext_press, pbond_ij->rel_box, force ); - rvec_ScaledAdd( data->my_ext_press, 1.0, ext_press ); rvec_ScaledAdd( workspace->f[j], +CEhb2, dcos_theta_dj ); ivec_Scale( rel_jk, hbond_list[pk].scl, nbr_jk->rel_box ); rvec_Scale( force, +CEhb2, dcos_theta_dk ); rvec_Add( workspace->f[k], force ); - rvec_iMultiply( ext_press, rel_jk, force ); - rvec_ScaledAdd( data->my_ext_press, 1.0, ext_press ); + // dr terms rvec_ScaledAdd( workspace->f[j], -CEhb3/r_jk, dvec_jk ); rvec_Scale( force, CEhb3/r_jk, dvec_jk ); rvec_Add( workspace->f[k], force ); - rvec_iMultiply( ext_press, rel_jk, force ); - rvec_ScaledAdd( data->my_ext_press, 1.0, ext_press ); } /* tally into per-atom virials */ diff --git a/src/USER-REAXC/reaxc_io_tools.cpp b/src/USER-REAXC/reaxc_io_tools.cpp index 581ddf84ec..8c962d2bad 100644 --- a/src/USER-REAXC/reaxc_io_tools.cpp +++ b/src/USER-REAXC/reaxc_io_tools.cpp @@ -99,27 +99,6 @@ void Output_Results(reax_system *system, control_params *control, /* update system-wide energies */ Compute_System_Energy(system, data, world); - /* output energies */ - if ( system->my_rank == MASTER_NODE && - out_control->energy_update_freq > 0 && - data->step % out_control->energy_update_freq == 0) { - - if (control->virial && out_control->prs) { - fprintf( out_control->prs, - "%8d%13.6f%13.6f%13.6f%13.6f%13.6f%13.6f%13.6f\n", - data->step, - data->int_press[0], data->int_press[1], data->int_press[2], - data->ext_press[0], data->ext_press[1], data->ext_press[2], - data->kin_press ); - - fprintf(out_control->prs, - "%8s%13.6f%13.6f%13.6f%13.6f%13.6f%13.6f%13.6f\n", "", 0.0, 0.0, 0.0, - data->tot_press[0], data->tot_press[1], data->tot_press[2], 0.0); - - fflush( out_control->prs); - } - } - /* write current frame */ if ( out_control->write_steps > 0 && data->step % out_control->write_steps == 0) { Append_Frame( system, control, data, lists, out_control, world); diff --git a/src/USER-REAXC/reaxc_nonbonded.cpp b/src/USER-REAXC/reaxc_nonbonded.cpp index 97790aa997..c5a1f808c5 100644 --- a/src/USER-REAXC/reaxc_nonbonded.cpp +++ b/src/USER-REAXC/reaxc_nonbonded.cpp @@ -46,7 +46,7 @@ void vdW_Coulomb_Energy( reax_system *system, control_params *control, double dr3gamij_1, dr3gamij_3; double e_ele, e_vdW, e_core, SMALL = 0.0001; double e_lg, de_lg, r_ij5, r_ij6, re6; - rvec temp, ext_press; + rvec temp; two_body_parameters *twbp; far_neighbor_data *nbr_pj; reax_list *far_nbrs; @@ -190,9 +190,6 @@ void vdW_Coulomb_Energy( reax_system *system, control_params *control, rvec_ScaledAdd( workspace->f[i], -1., temp ); rvec_Add( workspace->f[j], temp ); - - rvec_iMultiply( ext_press, nbr_pj->rel_box, temp ); - rvec_Add( data->my_ext_press, ext_press ); } } } @@ -217,7 +214,7 @@ void Tabulated_vdW_Coulomb_Energy( reax_system *system,control_params *control, double CEvd, CEclmb, SMALL = 0.0001; double f_tmp, delij[3]; - rvec temp, ext_press; + rvec temp; far_neighbor_data *nbr_pj; reax_list *far_nbrs; LR_lookup_table *t; @@ -303,9 +300,6 @@ void Tabulated_vdW_Coulomb_Energy( reax_system *system,control_params *control, rvec_ScaledAdd( workspace->f[i], -1., temp ); rvec_Add( workspace->f[j], temp ); - - rvec_iMultiply( ext_press, nbr_pj->rel_box, temp ); - rvec_Add( data->my_ext_press, ext_press ); } } } diff --git a/src/USER-REAXC/reaxc_torsion_angles.cpp b/src/USER-REAXC/reaxc_torsion_angles.cpp index 305e83707d..08a64f3c24 100644 --- a/src/USER-REAXC/reaxc_torsion_angles.cpp +++ b/src/USER-REAXC/reaxc_torsion_angles.cpp @@ -148,7 +148,7 @@ void Torsion_Angles( reax_system *system, control_params *control, double CEconj4, CEconj5, CEconj6; double e_tor, e_con; rvec dvec_li; - rvec force, ext_press; + rvec force; ivec rel_box_jl; // rtensor total_rtensor, temp_rtensor; four_body_header *fbh; @@ -390,17 +390,12 @@ void Torsion_Angles( reax_system *system, control_params *control, /* dcos_theta_ijk */ rvec_Scale( force, CEtors7 + CEconj4, p_ijk->dcos_dk ); rvec_Add( workspace->f[i], force ); - rvec_iMultiply( ext_press, pbond_ij->rel_box, force ); - rvec_Add( data->my_ext_press, ext_press ); rvec_ScaledAdd( workspace->f[j], CEtors7 + CEconj4, p_ijk->dcos_dj ); rvec_Scale( force, CEtors7 + CEconj4, p_ijk->dcos_di ); rvec_Add( workspace->f[k], force ); - rvec_iMultiply( ext_press, pbond_jk->rel_box, force ); - rvec_Add( data->my_ext_press, ext_press ); - /* dcos_theta_jkl */ rvec_ScaledAdd( workspace->f[j], @@ -408,33 +403,23 @@ void Torsion_Angles( reax_system *system, control_params *control, rvec_Scale( force, CEtors8 + CEconj5, p_jkl->dcos_dj ); rvec_Add( workspace->f[k], force ); - rvec_iMultiply( ext_press, pbond_jk->rel_box, force ); - rvec_Add( data->my_ext_press, ext_press ); rvec_Scale( force, CEtors8 + CEconj5, p_jkl->dcos_dk ); rvec_Add( workspace->f[l], force ); - rvec_iMultiply( ext_press, rel_box_jl, force ); - rvec_Add( data->my_ext_press, ext_press ); /* dcos_omega */ rvec_Scale( force, CEtors9 + CEconj6, dcos_omega_di ); rvec_Add( workspace->f[i], force ); - rvec_iMultiply( ext_press, pbond_ij->rel_box, force ); - rvec_Add( data->my_ext_press, ext_press ); rvec_ScaledAdd( workspace->f[j], CEtors9 + CEconj6, dcos_omega_dj ); rvec_Scale( force, CEtors9 + CEconj6, dcos_omega_dk ); rvec_Add( workspace->f[k], force ); - rvec_iMultiply( ext_press, pbond_jk->rel_box, force ); - rvec_Add( data->my_ext_press, ext_press ); rvec_Scale( force, CEtors9 + CEconj6, dcos_omega_dl ); rvec_Add( workspace->f[l], force ); - rvec_iMultiply( ext_press, rel_box_jl, force ); - rvec_Add( data->my_ext_press, ext_press ); } /* tally into per-atom virials */ diff --git a/src/USER-REAXC/reaxc_types.h b/src/USER-REAXC/reaxc_types.h index 87543ca155..0880abf313 100644 --- a/src/USER-REAXC/reaxc_types.h +++ b/src/USER-REAXC/reaxc_types.h @@ -323,35 +323,9 @@ struct energy_data struct simulation_data { rc_bigint step; - double time; - - double M; // Total Mass - double inv_M; // 1 / Total Mass - - rvec xcm; // Center of mass - rvec vcm; // Center of mass velocity - rvec fcm; // Center of mass force - rvec amcm; // Angular momentum of CoM - rvec avcm; // Angular velocity of CoM - double etran_cm; // Translational kinetic energy of CoM - double erot_cm; // Rotational kinetic energy of CoM - - rtensor kinetic; // Kinetic energy tensor - rtensor virial; // Hydrodynamic virial energy_data my_en; energy_data sys_en; - - double N_f; //Number of degrees of freedom - rvec t_scale; - rtensor p_scale; - double inv_W; - - double kin_press; - rvec int_press; - rvec my_ext_press; - rvec ext_press; - rvec tot_press; }; struct three_body_interaction_data @@ -477,7 +451,6 @@ struct storage /* omp */ rvec *forceReduction; - rvec *my_ext_pressReduction; double *CdDeltaReduction; int *valence_angle_atom_myoffset; diff --git a/src/USER-REAXC/reaxc_valence_angles.cpp b/src/USER-REAXC/reaxc_valence_angles.cpp index 9aec0a1f05..78887e5ecc 100644 --- a/src/USER-REAXC/reaxc_valence_angles.cpp +++ b/src/USER-REAXC/reaxc_valence_angles.cpp @@ -102,7 +102,7 @@ void Valence_Angles( reax_system *system, control_params *control, double f7_ij, f7_jk, f8_Dj, f9_Dj; double Ctheta_0, theta_0, theta_00, theta, cos_theta, sin_theta; double BOA_ij, BOA_jk; - rvec force, ext_press; + rvec force; // Tallying variables double eng_tmp, fi_tmp[3], fj_tmp[3], fk_tmp[3]; @@ -364,15 +364,11 @@ void Valence_Angles( reax_system *system, control_params *control, } else { rvec_Scale( force, CEval8, p_ijk->dcos_di ); rvec_Add( workspace->f[i], force ); - rvec_iMultiply( ext_press, pbond_ij->rel_box, force ); - rvec_Add( data->my_ext_press, ext_press ); rvec_ScaledAdd( workspace->f[j], CEval8, p_ijk->dcos_dj ); rvec_Scale( force, CEval8, p_ijk->dcos_dk ); rvec_Add( workspace->f[k], force ); - rvec_iMultiply( ext_press, pbond_jk->rel_box, force ); - rvec_Add( data->my_ext_press, ext_press ); } /* tally into per-atom virials */ From 06a8f746cc3ea0182f39407b7b0c13e0acde8419 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 15 Apr 2021 09:36:21 -0400 Subject: [PATCH 022/726] remove some more unused timer info and unused arguments --- src/USER-OMP/fix_qeq_reax_omp.cpp | 8 -------- src/USER-OMP/reaxc_bond_orders_omp.h | 13 ++++++------- src/USER-OMP/reaxc_forces_omp.cpp | 19 ++++--------------- src/USER-REAXC/fix_qeq_reax.cpp | 8 -------- src/USER-REAXC/fix_qeq_reax.h | 1 - src/USER-REAXC/reaxc_bond_orders.h | 3 +-- src/USER-REAXC/reaxc_forces.cpp | 2 +- 7 files changed, 12 insertions(+), 42 deletions(-) diff --git a/src/USER-OMP/fix_qeq_reax_omp.cpp b/src/USER-OMP/fix_qeq_reax_omp.cpp index 7ddbe77f87..b1ab1e5d62 100644 --- a/src/USER-OMP/fix_qeq_reax_omp.cpp +++ b/src/USER-OMP/fix_qeq_reax_omp.cpp @@ -265,10 +265,7 @@ void FixQEqReaxOMP::pre_force(int /* vflag */) funcstartTimeBase = MPI_Wtime(); #endif - double t_start, t_end; - if (update->ntimestep % nevery) return; - if (comm->me == 0) t_start = MPI_Wtime(); int n = atom->nlocal; @@ -341,11 +338,6 @@ void FixQEqReaxOMP::pre_force(int /* vflag */) ompTimingData[COMPUTECALCQINDEX] += (endTimeBase-startTimeBase); #endif - if (comm->me == 0) { - t_end = MPI_Wtime(); - qeq_time = t_end - t_start; - } - #ifdef OMP_TIMING endTimeBase = MPI_Wtime(); ompTimingData[COMPUTEQEQINDEX] += (endTimeBase-funcstartTimeBase); diff --git a/src/USER-OMP/reaxc_bond_orders_omp.h b/src/USER-OMP/reaxc_bond_orders_omp.h index 2027a8628e..1711a9ca0c 100644 --- a/src/USER-OMP/reaxc_bond_orders_omp.h +++ b/src/USER-OMP/reaxc_bond_orders_omp.h @@ -31,14 +31,13 @@ #include "reaxc_types.h" -void Add_dBond_to_ForcesOMP( reax_system*, int, int, storage*, reax_list** ); -void Add_dBond_to_Forces_NPTOMP( reax_system *system, int, int, - simulation_data*, storage*, reax_list** ); +void Add_dBond_to_ForcesOMP(reax_system *, int, int, storage *, reax_list **); +void Add_dBond_to_Forces_NPTOMP(reax_system *, int, int, storage *, reax_list **); -int BOp_OMP(storage*, reax_list*, double, int, int, far_neighbor_data*, - single_body_parameters*, single_body_parameters*, two_body_parameters*, +int BOp_OMP(storage *, reax_list *, double, int, int, far_neighbor_data *, + single_body_parameters *, single_body_parameters *, two_body_parameters *, int, double, double, double, double, double, double, double); -void BOOMP( reax_system*, control_params*, simulation_data*, - storage*, reax_list**, output_controls* ); +void BOOMP(reax_system *, control_params *, simulation_data *, + storage *, reax_list **, output_controls *); #endif diff --git a/src/USER-OMP/reaxc_forces_omp.cpp b/src/USER-OMP/reaxc_forces_omp.cpp index 956621f4db..05a72c93eb 100644 --- a/src/USER-OMP/reaxc_forces_omp.cpp +++ b/src/USER-OMP/reaxc_forces_omp.cpp @@ -132,9 +132,8 @@ void Compute_NonBonded_ForcesOMP( reax_system *system, control_params *control, /* this version of Compute_Total_Force computes forces from coefficients accumulated by all interaction functions. Saves enormous time & space! */ -void Compute_Total_ForceOMP( reax_system *system, control_params *control, - simulation_data *data, storage *workspace, - reax_list **lists) +void Compute_Total_ForceOMP(reax_system *system, control_params *control, + storage *workspace, reax_list **lists) { #ifdef OMP_TIMING double startTimeBase,endTimeBase; @@ -187,16 +186,6 @@ void Compute_Total_ForceOMP( reax_system *system, control_params *control, } } -// #pragma omp for schedule(guided) //(dynamic,50) -// for (i = 0; i < system->N; ++i) -// for (pj = Start_Index(i, bonds); pj < End_Index(i, bonds); ++pj) -// if (i < bonds->select.bond_list[pj].nbr) { -// if (control->virial == 0) -// Add_dBond_to_ForcesOMP( system, i, pj, workspace, lists ); -// else -// Add_dBond_to_Forces_NPTOMP(system, i, pj, data, workspace, lists ); -// } - if (control->virial == 0) { #if defined(_OPENMP) @@ -220,7 +209,7 @@ void Compute_Total_ForceOMP( reax_system *system, control_params *control, const int endj = End_Index(i, bonds); for (pj = startj; pj < endj; ++pj) if (i < bonds->select.bond_list[pj].nbr) - Add_dBond_to_Forces_NPTOMP(system, i, pj, data, workspace, lists ); + Add_dBond_to_Forces_NPTOMP(system, i, pj, workspace, lists ); } } // if (virial == 0) @@ -603,5 +592,5 @@ void Compute_ForcesOMP( reax_system *system, control_params *control, lists, out_control); // Total Force - Compute_Total_ForceOMP( system, control, data, workspace, lists); + Compute_Total_ForceOMP( system, control, workspace, lists); } diff --git a/src/USER-REAXC/fix_qeq_reax.cpp b/src/USER-REAXC/fix_qeq_reax.cpp index 3109950ff2..4fd177f76e 100644 --- a/src/USER-REAXC/fix_qeq_reax.cpp +++ b/src/USER-REAXC/fix_qeq_reax.cpp @@ -503,10 +503,7 @@ void FixQEqReax::init_storage() void FixQEqReax::pre_force(int /*vflag*/) { - double t_start, t_end; - if (update->ntimestep % nevery) return; - if (comm->me == 0) t_start = MPI_Wtime(); int n = atom->nlocal; @@ -538,11 +535,6 @@ void FixQEqReax::pre_force(int /*vflag*/) matvecs = matvecs_s + matvecs_t; calculate_Q(); - - if (comm->me == 0) { - t_end = MPI_Wtime(); - qeq_time = t_end - t_start; - } } /* ---------------------------------------------------------------------- */ diff --git a/src/USER-REAXC/fix_qeq_reax.h b/src/USER-REAXC/fix_qeq_reax.h index 5658167aca..932f2e3679 100644 --- a/src/USER-REAXC/fix_qeq_reax.h +++ b/src/USER-REAXC/fix_qeq_reax.h @@ -53,7 +53,6 @@ class FixQEqReax : public Fix { void min_pre_force(int); int matvecs; - double qeq_time; protected: int nevery,reaxflag; diff --git a/src/USER-REAXC/reaxc_bond_orders.h b/src/USER-REAXC/reaxc_bond_orders.h index 3631d90c89..09137a7afb 100644 --- a/src/USER-REAXC/reaxc_bond_orders.h +++ b/src/USER-REAXC/reaxc_bond_orders.h @@ -37,8 +37,7 @@ typedef struct{ }dbond_coefficients; void Add_dBond_to_Forces( reax_system*, int, int, storage*, reax_list** ); -void Add_dBond_to_Forces_NPT( int, int, simulation_data*, - storage*, reax_list** ); +void Add_dBond_to_Forces_NPT( int, int, storage*, reax_list** ); int BOp(storage*, reax_list*, double, int, int, far_neighbor_data*, single_body_parameters*, single_body_parameters*, two_body_parameters*); void BO( reax_system*, control_params*, simulation_data*, diff --git a/src/USER-REAXC/reaxc_forces.cpp b/src/USER-REAXC/reaxc_forces.cpp index f5f3db89ad..16224f2abb 100644 --- a/src/USER-REAXC/reaxc_forces.cpp +++ b/src/USER-REAXC/reaxc_forces.cpp @@ -108,7 +108,7 @@ void Compute_Total_Force(reax_system *system, control_params *control, if (control->virial == 0) Add_dBond_to_Forces( system, i, pj, workspace, lists ); else - Add_dBond_to_Forces_NPT( i, pj, data, workspace, lists ); + Add_dBond_to_Forces_NPT( i, pj, workspace, lists ); } } From 1fe2812c2bb0404f8ba9fe9e14accb0af7c62797 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 15 Apr 2021 09:45:10 -0400 Subject: [PATCH 023/726] recover from CI compilation failure --- src/USER-OMP/reaxc_bond_orders_omp.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/USER-OMP/reaxc_bond_orders_omp.cpp b/src/USER-OMP/reaxc_bond_orders_omp.cpp index aaebe9c83c..a2abb60f27 100644 --- a/src/USER-OMP/reaxc_bond_orders_omp.cpp +++ b/src/USER-OMP/reaxc_bond_orders_omp.cpp @@ -227,9 +227,8 @@ void Add_dBond_to_ForcesOMP( reax_system *system, int i, int pj, /* ---------------------------------------------------------------------- */ -void Add_dBond_to_Forces_NPTOMP( reax_system *system, int i, int pj, - simulation_data * /* data */, - storage *workspace, reax_list **lists) { +void Add_dBond_to_Forces_NPTOMP(reax_system *system, int i, int pj, + storage *workspace, reax_list **lists) { reax_list *bonds = (*lists) + BONDS; bond_data *nbr_j, *nbr_k; bond_order_data *bo_ij, *bo_ji; From 8118c23a986259481c1b45dea940b91356d40695 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 15 Apr 2021 10:11:24 -0400 Subject: [PATCH 024/726] remove totals from energy_data struct --- src/USER-REAXC/reaxc_forces.cpp | 5 ++--- src/USER-REAXC/reaxc_reset_tools.cpp | 4 ---- src/USER-REAXC/reaxc_system_props.cpp | 24 ++---------------------- src/USER-REAXC/reaxc_traj.cpp | 15 +++++++++------ src/USER-REAXC/reaxc_types.h | 8 ++------ 5 files changed, 15 insertions(+), 41 deletions(-) diff --git a/src/USER-REAXC/reaxc_forces.cpp b/src/USER-REAXC/reaxc_forces.cpp index 16224f2abb..d135571009 100644 --- a/src/USER-REAXC/reaxc_forces.cpp +++ b/src/USER-REAXC/reaxc_forces.cpp @@ -96,8 +96,7 @@ void Compute_NonBonded_Forces(reax_system *system, control_params *control, void Compute_Total_Force(reax_system *system, control_params *control, - simulation_data *data, storage *workspace, - reax_list **lists) + storage *workspace, reax_list **lists) { int i, pj; reax_list *bonds = (*lists) + BONDS; @@ -434,5 +433,5 @@ void Compute_Forces(reax_system *system, control_params *control, lists, out_control); /*********** total force ***************/ - Compute_Total_Force(system, control, data, workspace, lists); + Compute_Total_Force(system, control, workspace, lists); } diff --git a/src/USER-REAXC/reaxc_reset_tools.cpp b/src/USER-REAXC/reaxc_reset_tools.cpp index c32fe6a602..dbd879a2a8 100644 --- a/src/USER-REAXC/reaxc_reset_tools.cpp +++ b/src/USER-REAXC/reaxc_reset_tools.cpp @@ -67,10 +67,6 @@ void Reset_Energies( energy_data *en ) en->e_vdW = 0; en->e_ele = 0; en->e_pol = 0; - - en->e_pot = 0; - en->e_kin = 0; - en->e_tot = 0; } void Reset_Simulation_Data( simulation_data* data, int /*virial*/ ) diff --git a/src/USER-REAXC/reaxc_system_props.cpp b/src/USER-REAXC/reaxc_system_props.cpp index e2cd7215aa..de513e11de 100644 --- a/src/USER-REAXC/reaxc_system_props.cpp +++ b/src/USER-REAXC/reaxc_system_props.cpp @@ -31,7 +31,7 @@ void Compute_System_Energy( reax_system *system, simulation_data *data, MPI_Comm comm ) { - double my_en[15], sys_en[15]; + double my_en[13], sys_en[13]; my_en[0] = data->my_en.e_bond; my_en[1] = data->my_en.e_ov; @@ -46,17 +46,7 @@ void Compute_System_Energy( reax_system *system, simulation_data *data, my_en[10] = data->my_en.e_vdW; my_en[11] = data->my_en.e_ele; my_en[12] = data->my_en.e_pol; - my_en[13] = data->my_en.e_kin; - MPI_Reduce( my_en, sys_en, 14, MPI_DOUBLE, MPI_SUM, MASTER_NODE, comm ); - - data->my_en.e_pot = data->my_en.e_bond + - data->my_en.e_ov + data->my_en.e_un + data->my_en.e_lp + - data->my_en.e_ang + data->my_en.e_pen + data->my_en.e_coa + - data->my_en.e_hb + - data->my_en.e_tor + data->my_en.e_con + - data->my_en.e_vdW + data->my_en.e_ele + data->my_en.e_pol; - - data->my_en.e_tot = data->my_en.e_pot + E_CONV * data->my_en.e_kin; + MPI_Reduce( my_en, sys_en, 13, MPI_DOUBLE, MPI_SUM, MASTER_NODE, comm ); if (system->my_rank == MASTER_NODE) { data->sys_en.e_bond = sys_en[0]; @@ -72,15 +62,5 @@ void Compute_System_Energy( reax_system *system, simulation_data *data, data->sys_en.e_vdW = sys_en[10]; data->sys_en.e_ele = sys_en[11]; data->sys_en.e_pol = sys_en[12]; - data->sys_en.e_kin = sys_en[13]; - - data->sys_en.e_pot = data->sys_en.e_bond + - data->sys_en.e_ov + data->sys_en.e_un + data->sys_en.e_lp + - data->sys_en.e_ang + data->sys_en.e_pen + data->sys_en.e_coa + - data->sys_en.e_hb + - data->sys_en.e_tor + data->sys_en.e_con + - data->sys_en.e_vdW + data->sys_en.e_ele + data->sys_en.e_pol; - - data->sys_en.e_tot = data->sys_en.e_pot + E_CONV * data->sys_en.e_kin; } } diff --git a/src/USER-REAXC/reaxc_traj.cpp b/src/USER-REAXC/reaxc_traj.cpp index da7c7955e5..658dfe4504 100644 --- a/src/USER-REAXC/reaxc_traj.cpp +++ b/src/USER-REAXC/reaxc_traj.cpp @@ -379,16 +379,19 @@ int Write_Frame_Header(reax_system *system, control_params *control, strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); /* energies */ - sprintf( out_control->line, REAL_LINE, "total_energy:", - data->sys_en.e_tot ); + double epot = data->sys_en.e_bond + data->sys_en.e_ov + data->sys_en.e_un + + data->sys_en.e_lp + data->sys_en.e_ang + data->sys_en.e_pen + + data->sys_en.e_coa + data->sys_en.e_hb + data->sys_en.e_tor + + data->sys_en.e_con + data->sys_en.e_vdW + + data->sys_en.e_ele + data->my_en.e_pol; + + sprintf( out_control->line, REAL_LINE, "total_energy:", epot); strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); - sprintf( out_control->line, REAL_LINE, "total_kinetic:", - data->sys_en.e_kin ); + sprintf( out_control->line, REAL_LINE, "total_kinetic:", 0.0); strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); - sprintf( out_control->line, REAL_LINE, "total_potential:", - data->sys_en.e_pot ); + sprintf( out_control->line, REAL_LINE, "total_potential:", epot); strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); sprintf( out_control->line, REAL_LINE, "bond_energy:", diff --git a/src/USER-REAXC/reaxc_types.h b/src/USER-REAXC/reaxc_types.h index 0880abf313..73efda423e 100644 --- a/src/USER-REAXC/reaxc_types.h +++ b/src/USER-REAXC/reaxc_types.h @@ -301,10 +301,6 @@ struct control_params struct energy_data { - double e_tot; - double e_kin; // Total kinetic energy - double e_pot; - double e_bond; // Total bond energy double e_ov; // Total over coordination double e_un; // Total under coordination energy @@ -324,8 +320,8 @@ struct simulation_data { rc_bigint step; - energy_data my_en; - energy_data sys_en; + energy_data my_en; // per MPI rank energies + energy_data sys_en; // global energies }; struct three_body_interaction_data From 4dfd06cd8f39a493c23159eed13bab4d9b62f39b Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 15 Apr 2021 10:20:34 -0400 Subject: [PATCH 025/726] remove unused communication storage --- src/USER-REAXC/reaxc_allocate.cpp | 20 -------------------- src/USER-REAXC/reaxc_types.h | 7 ------- 2 files changed, 27 deletions(-) diff --git a/src/USER-REAXC/reaxc_allocate.cpp b/src/USER-REAXC/reaxc_allocate.cpp index 455e8f9ada..96c709f2fa 100644 --- a/src/USER-REAXC/reaxc_allocate.cpp +++ b/src/USER-REAXC/reaxc_allocate.cpp @@ -127,15 +127,7 @@ void DeAllocate_Workspace( control_params * control, storage *workspace ) workspace->allocated = 0; - /* communication storage */ - for (i = 0; i < MAX_NBRS; ++i) { - sfree(control->error_ptr, workspace->tmp_dbl[i], "tmp_dbl[i]" ); - sfree(control->error_ptr, workspace->tmp_rvec[i], "tmp_rvec[i]" ); - sfree(control->error_ptr, workspace->tmp_rvec2[i], "tmp_rvec2[i]" ); - } - /* bond order storage */ - sfree(control->error_ptr, workspace->within_bond_box, "skin" ); sfree(control->error_ptr, workspace->total_bond_order, "total_bo" ); sfree(control->error_ptr, workspace->Deltap, "Deltap" ); sfree(control->error_ptr, workspace->Deltap_boc, "Deltap_boc" ); @@ -215,19 +207,7 @@ int Allocate_Workspace( reax_system * /*system*/, control_params * control, total_rvec = total_cap * sizeof(rvec); local_rvec = local_cap * sizeof(rvec); - /* communication storage */ - for (i = 0; i < MAX_NBRS; ++i) { - workspace->tmp_dbl[i] = (double*) - scalloc(control->error_ptr, total_cap, sizeof(double), "tmp_dbl"); - workspace->tmp_rvec[i] = (rvec*) - scalloc(control->error_ptr, total_cap, sizeof(rvec), "tmp_rvec"); - workspace->tmp_rvec2[i] = (rvec2*) - scalloc(control->error_ptr, total_cap, sizeof(rvec2), "tmp_rvec2"); - } - /* bond order related storage */ - workspace->within_bond_box = (int*) - scalloc(control->error_ptr, total_cap, sizeof(int), "skin"); workspace->total_bond_order = (double*) smalloc(control->error_ptr, total_real, "total_bo"); workspace->Deltap = (double*) smalloc(control->error_ptr, total_real, "Deltap"); workspace->Deltap_boc = (double*) smalloc(control->error_ptr, total_real, "Deltap_boc"); diff --git a/src/USER-REAXC/reaxc_types.h b/src/USER-REAXC/reaxc_types.h index 73efda423e..5fbd74bf5f 100644 --- a/src/USER-REAXC/reaxc_types.h +++ b/src/USER-REAXC/reaxc_types.h @@ -393,19 +393,12 @@ struct reallocate_data { int hbonds, num_hbonds; int bonds, num_bonds; int num_3body; - int gcell_atoms; }; struct storage { int allocated; - /* communication storage */ - double *tmp_dbl[REAX_MAX_NBRS]; - rvec *tmp_rvec[REAX_MAX_NBRS]; - rvec2 *tmp_rvec2[REAX_MAX_NBRS]; - int *within_bond_box; - /* bond order related storage */ double *total_bond_order; double *Deltap, *Deltap_boc; From 499b6854213cc6ac9c84c3dde66f2eb429c1b95d Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 15 Apr 2021 10:58:29 -0400 Subject: [PATCH 026/726] clean up workspace management, output control, and enumerators --- src/USER-OMP/reaxc_init_md_omp.cpp | 8 ++------ src/USER-REAXC/pair_reaxc.cpp | 1 - src/USER-REAXC/reaxc_allocate.cpp | 28 ++++------------------------ src/USER-REAXC/reaxc_allocate.h | 5 ++--- src/USER-REAXC/reaxc_control.cpp | 12 +++--------- src/USER-REAXC/reaxc_defs.h | 29 +++-------------------------- src/USER-REAXC/reaxc_init_md.cpp | 18 +++--------------- src/USER-REAXC/reaxc_traj.cpp | 25 +++++++++---------------- src/USER-REAXC/reaxc_types.h | 25 +------------------------ 9 files changed, 27 insertions(+), 124 deletions(-) diff --git a/src/USER-OMP/reaxc_init_md_omp.cpp b/src/USER-OMP/reaxc_init_md_omp.cpp index 9652b52fe7..31360a3bc0 100644 --- a/src/USER-OMP/reaxc_init_md_omp.cpp +++ b/src/USER-OMP/reaxc_init_md_omp.cpp @@ -43,7 +43,7 @@ // Functions defined in reaxc_init_md.cpp extern void Init_System(reax_system*, control_params*); extern void Init_Simulation_Data(control_params*, simulation_data*); -extern int Init_Workspace(reax_system*, control_params*, storage*, char*); +extern void Init_Workspace(reax_system*, control_params*, storage*); /* ---------------------------------------------------------------------- */ @@ -124,11 +124,7 @@ void InitializeOMP(reax_system *system, control_params *control, Init_System(system,control); Init_Simulation_Data(control,data); - - if (Init_Workspace(system,control,workspace,msg) == FAILURE) - error->one(FLERR,"init_workspace: not enough memory. " - "Workspace could not be initialized. Terminating."); - + Init_Workspace(system,control,workspace); Init_ListsOMP(system,control,lists); if (Init_Output_Files(system,control,out_control,world,msg)== FAILURE) diff --git a/src/USER-REAXC/pair_reaxc.cpp b/src/USER-REAXC/pair_reaxc.cpp index cb1fe5f64d..9074ab8ca5 100644 --- a/src/USER-REAXC/pair_reaxc.cpp +++ b/src/USER-REAXC/pair_reaxc.cpp @@ -216,7 +216,6 @@ void PairReaxC::settings(int narg, char **arg) control->nthreads = 1; out_control->write_steps = 0; - out_control->traj_method = 0; strcpy( out_control->traj_title, "default_title" ); out_control->atom_info = 0; out_control->bond_info = 0; diff --git a/src/USER-REAXC/reaxc_allocate.cpp b/src/USER-REAXC/reaxc_allocate.cpp index 96c709f2fa..b0d83fc70d 100644 --- a/src/USER-REAXC/reaxc_allocate.cpp +++ b/src/USER-REAXC/reaxc_allocate.cpp @@ -145,7 +145,6 @@ void DeAllocate_Workspace( control_params * control, storage *workspace ) sfree(control->error_ptr, workspace->Clp, "Clp" ); sfree(control->error_ptr, workspace->vlpex, "vlpex" ); sfree(control->error_ptr, workspace->bond_mark, "bond_mark" ); - sfree(control->error_ptr, workspace->done_after, "done_after" ); /* QEq storage */ sfree(control->error_ptr, workspace->Hdia_inv, "Hdia_inv" ); @@ -180,9 +179,6 @@ void DeAllocate_Workspace( control_params * control, storage *workspace ) sfree(control->error_ptr, workspace->q2, "q2" ); sfree(control->error_ptr, workspace->p2, "p2" ); - /* integrator storage */ - sfree(control->error_ptr, workspace->v_const, "v_const" ); - /* force related storage */ sfree(control->error_ptr, workspace->f, "f" ); sfree(control->error_ptr, workspace->CdDelta, "CdDelta" ); @@ -196,16 +192,13 @@ void DeAllocate_Workspace( control_params * control, storage *workspace ) } -int Allocate_Workspace( reax_system * /*system*/, control_params * control, - storage *workspace, int local_cap, int total_cap, - char * /*msg*/ ) +void Allocate_Workspace( control_params *control, storage *workspace, int total_cap) { - int i, total_real, total_rvec, local_rvec; + int i, total_real, total_rvec; workspace->allocated = 1; total_real = total_cap * sizeof(double); total_rvec = total_cap * sizeof(rvec); - local_rvec = local_cap * sizeof(rvec); /* bond order related storage */ workspace->total_bond_order = (double*) smalloc(control->error_ptr, total_real, "total_bo"); @@ -228,8 +221,6 @@ int Allocate_Workspace( reax_system * /*system*/, control_params * control, workspace->vlpex = (double*) smalloc(control->error_ptr, total_real, "vlpex"); workspace->bond_mark = (int*) scalloc(control->error_ptr, total_cap, sizeof(int), "bond_mark"); - workspace->done_after = (int*) - scalloc(control->error_ptr, total_cap, sizeof(int), "done_after"); /* QEq storage */ workspace->Hdia_inv = (double*) @@ -267,9 +258,6 @@ int Allocate_Workspace( reax_system * /*system*/, control_params * control, workspace->q2 = (rvec2*) scalloc(control->error_ptr, total_cap, sizeof(rvec2), "q2"); workspace->p2 = (rvec2*) scalloc(control->error_ptr, total_cap, sizeof(rvec2), "p2"); - /* integrator storage */ - workspace->v_const = (rvec*) smalloc(control->error_ptr, local_rvec, "v_const"); - /* force related storage */ workspace->f = (rvec*) scalloc(control->error_ptr, total_cap, sizeof(rvec), "f"); workspace->CdDelta = (double*) @@ -287,8 +275,6 @@ int Allocate_Workspace( reax_system * /*system*/, control_params * control, #else LMP_UNUSED_PARAM(control); #endif - - return SUCCESS; } @@ -407,14 +393,8 @@ void ReAllocate( reax_system *system, control_params *control, } /* workspace */ - DeAllocate_Workspace( control, workspace ); - ret = Allocate_Workspace( system, control, workspace, system->local_cap, - system->total_cap, msg ); - if (ret != SUCCESS) { - char errmsg[256]; - snprintf(errmsg, 256, "Not enough space for workspace: local_cap=%d total_cap=%d", system->local_cap, system->total_cap); - error->one(FLERR, errmsg); - } + DeAllocate_Workspace(control, workspace); + Allocate_Workspace(control, workspace, system->total_cap); } /* far neighbors */ diff --git a/src/USER-REAXC/reaxc_allocate.h b/src/USER-REAXC/reaxc_allocate.h index be203340f6..e94066113b 100644 --- a/src/USER-REAXC/reaxc_allocate.h +++ b/src/USER-REAXC/reaxc_allocate.h @@ -33,9 +33,8 @@ int PreAllocate_Space( reax_system*, control_params*, storage* ); int Allocate_System( reax_system*, int, int, char* ); void DeAllocate_System( reax_system* ); -int Allocate_Workspace( reax_system*, control_params*, storage*, - int, int, char* ); -void DeAllocate_Workspace( control_params*, storage* ); +void Allocate_Workspace(control_params *, storage *, int); +void DeAllocate_Workspace(control_params *, storage *); void ReAllocate( reax_system*, control_params*, simulation_data*, storage*, reax_list** ); diff --git a/src/USER-REAXC/reaxc_control.cpp b/src/USER-REAXC/reaxc_control.cpp index 93cb642a1f..67d019ae9c 100644 --- a/src/USER-REAXC/reaxc_control.cpp +++ b/src/USER-REAXC/reaxc_control.cpp @@ -53,7 +53,6 @@ void Read_Control_File(const char *control_file, control_params *control, strcpy( control->sim_name, "simulate" ); control->nthreads = 1; - out_control->debug_level = 0; out_control->energy_update_freq = 0; control->bond_cut = 5.0; @@ -67,8 +66,6 @@ void Read_Control_File(const char *control_file, control_params *control, control->virial = 0; out_control->write_steps = 0; - out_control->traj_compress = 0; - out_control->traj_method = REG_TRAJ; strcpy( out_control->traj_title, "default_title" ); out_control->atom_info = 0; out_control->bond_info = 0; @@ -119,8 +116,7 @@ void Read_Control_File(const char *control_file, control_params *control, ; // ignore } else if (strcmp(tmp[0], "debug_level") == 0) { - ival = atoi(tmp[1]); - out_control->debug_level = ival; + ; // ignore } else if (strcmp(tmp[0], "energy_update_freq") == 0) { ival = atoi(tmp[1]); @@ -212,12 +208,10 @@ void Read_Control_File(const char *control_file, control_params *control, out_control->write_steps = ival; } else if (strcmp(tmp[0], "traj_compress") == 0) { - ival = atoi(tmp[1]); - out_control->traj_compress = ival; + ; // ignore } else if (strcmp(tmp[0], "traj_method") == 0) { - ival = atoi(tmp[1]); - out_control->traj_method = ival; + ; // ignore } else if (strcmp(tmp[0], "traj_title") == 0) { strcpy( out_control->traj_title, tmp[1] ); diff --git a/src/USER-REAXC/reaxc_defs.h b/src/USER-REAXC/reaxc_defs.h index 4103f06129..f66fd9086c 100644 --- a/src/USER-REAXC/reaxc_defs.h +++ b/src/USER-REAXC/reaxc_defs.h @@ -116,36 +116,13 @@ /******************* ENUMERATIONS *************************/ -enum restart_formats { WRITE_ASCII, WRITE_BINARY, RF_N }; - enum lists { BONDS, OLD_BONDS, THREE_BODIES, HBONDS, FAR_NBRS, DBOS, DDELTAS, LIST_N }; -enum interactions { TYP_VOID, TYP_BOND, TYP_THREE_BODY, - TYP_HBOND, TYP_FAR_NEIGHBOR, TYP_DBO, TYP_DDELTA, TYP_N }; +enum message_tags {NONE, INIT_DESCS, ATOM_LINES, BOND_LINES, ANGLE_LINES}; -enum message_tags { INIT, UPDATE, BNDRY, UPDATE_BNDRY, - EXC_VEC1, EXC_VEC2, DIST_RVEC2, COLL_RVEC2, - DIST_RVECS, COLL_RVECS, INIT_DESCS, ATOM_LINES, - BOND_LINES, ANGLE_LINES, RESTART_ATOMS, TAGS_N }; - -enum errors { FILE_NOT_FOUND = -10, UNKNOWN_ATOM_TYPE = -11, - CANNOT_OPEN_FILE = -12, CANNOT_INITIALIZE = -13, - INSUFFICIENT_MEMORY = -14, UNKNOWN_OPTION = -15, - INVALID_INPUT = -16, INVALID_GEO = -17 }; - -enum exchanges { NONE, NEAR_EXCH, FULL_EXCH }; - -enum gcell_types { NO_NBRS=0, NEAR_ONLY=1, HBOND_ONLY=2, FAR_ONLY=4, - NEAR_HBOND=3, NEAR_FAR=5, HBOND_FAR=6, FULL_NBRS=7, - NATIVE=8 }; - -enum atoms { C_ATOM = 0, H_ATOM = 1, O_ATOM = 2, N_ATOM = 3, - S_ATOM = 4, SI_ATOM = 5, GE_ATOM = 6, X_ATOM = 7 }; - -enum traj_methods { REG_TRAJ, MPI_TRAJ, TF_N }; - -enum molecules { UNKNOWN, WATER }; +enum interactions {TYP_VOID, TYP_BOND, TYP_THREE_BODY, + TYP_HBOND, TYP_FAR_NEIGHBOR, TYP_DBO, TYP_DDELTA, TYP_N}; #endif diff --git a/src/USER-REAXC/reaxc_init_md.cpp b/src/USER-REAXC/reaxc_init_md.cpp index b9d46fc3f1..44dbc764af 100644 --- a/src/USER-REAXC/reaxc_init_md.cpp +++ b/src/USER-REAXC/reaxc_init_md.cpp @@ -114,24 +114,15 @@ void Init_Taper(control_params *control, storage *workspace) 7.0*swa*swb3*swb3 + swb3*swb3*swb) / d7; } - -int Init_Workspace(reax_system *system, control_params *control, - storage *workspace, char *msg) +void Init_Workspace(reax_system *system, control_params *control, storage *workspace) { - int ret; - - ret = Allocate_Workspace(system, control, workspace, - system->local_cap, system->total_cap, msg); - if (ret != SUCCESS) - return ret; + Allocate_Workspace(control, workspace,system->total_cap); memset(&(workspace->realloc), 0, sizeof(reallocate_data)); Reset_Workspace(system, workspace); /* Initialize the Taper function */ Init_Taper(control, workspace); - - return SUCCESS; } int Init_Lists(reax_system *system, control_params *control, reax_list **lists) @@ -202,10 +193,7 @@ void Initialize(reax_system *system, control_params *control, Init_System(system,control); Init_Simulation_Data(control,data); - - if (Init_Workspace( system,control,workspace,msg) == FAILURE) - error->one(FLERR,"init_workspace: not enough memory. " - "Workspace could not be initialized. Terminating."); + Init_Workspace( system,control,workspace); if (Init_Lists(system, control, lists) ==FAILURE) error->one(FLERR,fmt::format("Error on: {}. System could not be " diff --git a/src/USER-REAXC/reaxc_traj.cpp b/src/USER-REAXC/reaxc_traj.cpp index 658dfe4504..96b216241a 100644 --- a/src/USER-REAXC/reaxc_traj.cpp +++ b/src/USER-REAXC/reaxc_traj.cpp @@ -64,7 +64,6 @@ int Write_Header(reax_system *system, control_params *control, { int num_hdr_lines, my_hdr_lines, buffer_req; - char traj_methods[TF_N][10] = { "custom", "xyz" }; char atom_formats[8][40] = { "none", "invalid", "invalid", "invalid", "xyz_q", "xyz_q_fxfyfz", @@ -200,12 +199,10 @@ int Write_Header(reax_system *system, control_params *control, out_control->write_steps ); strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); - sprintf( out_control->line, STR_LINE, "compress_trajectory_output?:", - (out_control->traj_compress ? "yes" : "no") ); + sprintf( out_control->line, STR_LINE, "compress_trajectory_output?:", "no"); strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); - sprintf( out_control->line, STR_LINE, "trajectory_format:", - traj_methods[ out_control->traj_method ] ); + sprintf( out_control->line, STR_LINE, "trajectory_format:", "regular"); strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); sprintf( out_control->line, STR_LINE, "atom_info:", @@ -248,7 +245,7 @@ int Write_Init_Desc(reax_system *system, output_controls *out_control, /* skip info */ Write_Skip_Line(out_control, me, system->bigN*INIT_DESC_LEN, system->bigN); - if (out_control->traj_method == REG_TRAJ && me == MASTER_NODE) + if (me == MASTER_NODE) buffer_req = system->bigN * INIT_DESC_LEN + 1; else buffer_req = system->n * INIT_DESC_LEN + 1; @@ -315,13 +312,9 @@ int Init_Traj(reax_system *system, control_params *control, out_control->buffer = nullptr; /* write trajectory header and atom info, if applicable */ - if (out_control->traj_method == REG_TRAJ) { - if (system->my_rank == MASTER_NODE) - out_control->strj = fopen(fname, "w"); - } else { - strcpy( msg, "init_traj: unknown trajectory option" ); - return FAILURE; - } + if (system->my_rank == MASTER_NODE) + out_control->strj = fopen(fname, "w"); + Write_Header(system, control, out_control); Write_Init_Desc(system, out_control, world); @@ -461,7 +454,7 @@ int Write_Atoms(reax_system *system, output_controls *out_control, Write_Skip_Line(out_control, me, system->bigN*line_len, system->bigN); - if (out_control->traj_method == REG_TRAJ && me == MASTER_NODE) + if (me == MASTER_NODE) buffer_req = system->bigN * line_len + 1; else buffer_req = system->n * line_len + 1; @@ -551,7 +544,7 @@ int Write_Bonds(reax_system *system, control_params *control, reax_list *bonds, Write_Skip_Line( out_control, me, num_bonds*line_len, num_bonds ); - if (out_control->traj_method == REG_TRAJ && me == MASTER_NODE) + if (me == MASTER_NODE) buffer_req = num_bonds * line_len + 1; else buffer_req = my_bonds * line_len + 1; @@ -651,7 +644,7 @@ int Write_Angles( reax_system *system, control_params *control, Write_Skip_Line( out_control, me, num_angles*line_len, num_angles ); - if (out_control->traj_method == REG_TRAJ && me == MASTER_NODE) + if (me == MASTER_NODE) buffer_req = num_angles * line_len + 1; else buffer_req = my_angles * line_len + 1; diff --git a/src/USER-REAXC/reaxc_types.h b/src/USER-REAXC/reaxc_types.h index 5fbd74bf5f..53b0e35842 100644 --- a/src/USER-REAXC/reaxc_types.h +++ b/src/USER-REAXC/reaxc_types.h @@ -406,7 +406,7 @@ struct storage double *dDelta_lp, *dDelta_lp_temp; double *nlp, *nlp_temp, *Clp, *vlpex; rvec *dDeltap_self; - int *bond_mark, *done_after; + int *bond_mark; /* QEq storage */ sparse_matrix *H, *L, *U; @@ -423,17 +423,6 @@ struct storage /* Taper */ double Tap[8]; //Tap7, Tap6, Tap5, Tap4, Tap3, Tap2, Tap1, Tap0; - /* storage for analysis */ - int *mark, *old_mark; - rvec *x_old; - - /* storage space for bond restrictions */ - int *restricted; - int **restricted_list; - - /* integrator */ - rvec *v_const; - /* force calculations */ double *CdDelta; // coefficient of dDelta rvec *f; @@ -496,26 +485,14 @@ struct output_controls FILE *prs; int write_steps; - int traj_compress; - int traj_method; char traj_title[81]; int atom_info; int bond_info; int angle_info; - int restart_format; - int restart_freq; - int debug_level; int energy_update_freq; }; -struct molecule -{ - int atom_count; - int atom_list[REAX_MAX_MOLECULE_SIZE]; - int mtypes[REAX_MAX_ATOM_TYPES]; -}; - struct LR_data { double H; From b3bc2d3df1b9302da8787f6850ba0d7c01399f08 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 15 Apr 2021 13:21:54 -0400 Subject: [PATCH 027/726] adjust pair style reax/c to read control file on MPI rank 0 and use tokenizer class --- src/USER-REAXC/pair_reaxc.cpp | 49 +++-- src/USER-REAXC/reaxc_control.cpp | 302 +++++++++---------------------- 2 files changed, 117 insertions(+), 234 deletions(-) diff --git a/src/USER-REAXC/pair_reaxc.cpp b/src/USER-REAXC/pair_reaxc.cpp index 9074ab8ca5..e8a47658d1 100644 --- a/src/USER-REAXC/pair_reaxc.cpp +++ b/src/USER-REAXC/pair_reaxc.cpp @@ -101,9 +101,9 @@ PairReaxC::PairReaxC(LAMMPS *lmp) : Pair(lmp) control->me = system->my_rank = comm->me; system->num_nbrs = 0; - system->n = 0; // my atoms - system->N = 0; // mine + ghosts - system->bigN = 0; // all atoms in the system + system->n = 0; // my atoms + system->N = 0; // mine + ghosts + system->bigN = 0; // all atoms in the system system->local_cap = 0; system->total_cap = 0; system->my_atoms = nullptr; @@ -200,27 +200,36 @@ void PairReaxC::settings(int narg, char **arg) { if (narg < 1) error->all(FLERR,"Illegal pair_style command"); - // read name of control file or use default controls + if (comm->me == 0) { + // read name of control file or use default controls - if (strcmp(arg[0],"NULL") == 0) { - strcpy( control->sim_name, "simulate" ); - out_control->energy_update_freq = 0; - control->tabulate = 0; + if (strcmp(arg[0],"NULL") == 0) { + strcpy( control->sim_name, "simulate" ); + out_control->energy_update_freq = 0; + control->tabulate = 0; - control->bond_cut = 5.; - control->hbond_cut = 7.50; - control->thb_cut = 0.001; - control->thb_cutsq = 0.00001; - control->bg_cut = 0.3; + control->bond_cut = 5.; + control->hbond_cut = 7.50; + control->thb_cut = 0.001; + control->thb_cutsq = 0.00001; + control->bg_cut = 0.3; - control->nthreads = 1; + control->nthreads = 1; - out_control->write_steps = 0; - strcpy( out_control->traj_title, "default_title" ); - out_control->atom_info = 0; - out_control->bond_info = 0; - out_control->angle_info = 0; - } else Read_Control_File(arg[0], control, out_control); + out_control->write_steps = 0; + strcpy( out_control->traj_title, "default_title" ); + out_control->atom_info = 0; + out_control->bond_info = 0; + out_control->angle_info = 0; + } else Read_Control_File(arg[0], control, out_control); + } + MPI_Bcast(control,sizeof(control_params),MPI_CHAR,0,world); + MPI_Bcast(out_control,sizeof(output_controls),MPI_CHAR,0,world); + + // must reset these to local values after broadcast + control->me = comm->me; + control->error_ptr = error; + control->lmp_ptr = lmp; // default values diff --git a/src/USER-REAXC/reaxc_control.cpp b/src/USER-REAXC/reaxc_control.cpp index 67d019ae9c..fe238ddb3c 100644 --- a/src/USER-REAXC/reaxc_control.cpp +++ b/src/USER-REAXC/reaxc_control.cpp @@ -25,250 +25,124 @@ ----------------------------------------------------------------------*/ #include "reaxc_control.h" -#include -#include #include "reaxc_defs.h" #include "reaxc_tool_box.h" #include "error.h" #include "utils.h" +#include "tokenizer.h" + +#include +#include +#include +#include using LAMMPS_NS::utils::getsyserror; +using LAMMPS_NS::utils::sfgets; +using LAMMPS_NS::utils::logmesg; +using LAMMPS_NS::ValueTokenizer; + +static std::unordered_set ignored_keywords = { + "ensemble_type", "nsteps", "dt", "proc_by_dim", "random_vel", + "restart_format", "restart_freq", "reposition_atoms", + "restrict_bonds", "remove_CoM_vel", "debug_level", "reneighbor", + "vlist_buffer", "ghost_cutoff", "qeq_freq", "q_err", "ilu_refactor", + "ilu_droptol", "temp_init", "temp_final", "t_mass", "t_mode", "t_rate", + "t_freq", "pressure", "p_mass", "pt_mass", "compress", "press_mode", + "geo_format", "traj_compress", "traj_method", "molecular_analysis", + "ignore", "dipole_anal", "freq_dipole_anal", "diffusion_coef", + "freq_diffusion_coef", "restrict_type" +}; + +class parser_error : public std::exception { + std::string message; +public: + parser_error(const std::string &mesg) { message = mesg; } + const char *what() const noexcept { return message.c_str(); } +}; void Read_Control_File(const char *control_file, control_params *control, - output_controls *out_control) + output_controls *out_control) { FILE *fp; - char *s, **tmp; - int i,ival; - double val; + char line[MAX_LINE]; + auto error = control->error_ptr; + auto lmp = control->lmp_ptr; /* open control file */ fp = fopen(control_file, "r"); if (!fp) - control->error_ptr->one(FLERR,fmt::format("The control file {} cannot be " - "opened: {}",control_file, - getsyserror())); + error->one(FLERR,fmt::format("The control file {} cannot be opened: {}", + control_file, getsyserror())); /* assign default values */ - strcpy( control->sim_name, "simulate" ); - control->nthreads = 1; - - out_control->energy_update_freq = 0; - + strcpy(control->sim_name, "simulate"); + control->nthreads = 1; + control->tabulate = 0; + control->virial = 0; control->bond_cut = 5.0; control->bg_cut = 0.3; control->thb_cut = 0.001; control->thb_cutsq = 0.00001; control->hbond_cut = 7.5; - control->tabulate = 0; - - control->virial = 0; - out_control->write_steps = 0; - strcpy( out_control->traj_title, "default_title" ); + out_control->energy_update_freq = 0; + strcpy(out_control->traj_title, "default_title"); out_control->atom_info = 0; out_control->bond_info = 0; out_control->angle_info = 0; - /* memory allocations */ - s = (char*) malloc(sizeof(char)*MAX_LINE); - tmp = (char**) malloc(sizeof(char*)*MAX_TOKENS); - for (i=0; i < MAX_TOKENS; i++) - tmp[i] = (char*) malloc(sizeof(char)*MAX_LINE); - /* read control parameters file */ - while (!feof(fp)) { - fgets( s, MAX_LINE, fp ); - Tokenize( s, &tmp ); + while (fgets(line, MAX_LINE, fp)) { + ValueTokenizer values(line); - if (strcmp(tmp[0], "simulation_name") == 0) { - strcpy( control->sim_name, tmp[1] ); - } - else if (strcmp(tmp[0], "ensemble_type") == 0) { - ; // ignore - } - else if (strcmp(tmp[0], "nsteps") == 0) { - ; // ignore - } - else if ( strcmp(tmp[0], "dt") == 0) { - ; // ignore - } - else if (strcmp(tmp[0], "proc_by_dim") == 0) { - ; // ignore - } - else if (strcmp(tmp[0], "random_vel") == 0) { - ; // ignore - } - else if (strcmp(tmp[0], "restart_format") == 0) { - ; // ignore - } - else if (strcmp(tmp[0], "restart_freq") == 0) { - ; // ignore - } - else if (strcmp(tmp[0], "reposition_atoms") == 0) { - ; // ignore - } - else if (strcmp(tmp[0], "restrict_bonds") == 0) { - ; // ignore - } - else if (strcmp(tmp[0], "remove_CoM_vel") == 0) { - ; // ignore - } - else if (strcmp(tmp[0], "debug_level") == 0) { - ; // ignore - } - else if (strcmp(tmp[0], "energy_update_freq") == 0) { - ival = atoi(tmp[1]); - out_control->energy_update_freq = ival; - } - else if (strcmp(tmp[0], "reneighbor") == 0) { - ; // ignore - } - else if (strcmp(tmp[0], "vlist_buffer") == 0) { - ; // ignore - } - else if (strcmp(tmp[0], "nbrhood_cutoff") == 0) { - val = atof(tmp[1]); - control->bond_cut = val; - } - else if (strcmp(tmp[0], "bond_graph_cutoff") == 0) { - val = atof(tmp[1]); - control->bg_cut = val; - } - else if (strcmp(tmp[0], "thb_cutoff") == 0) { - val = atof(tmp[1]); - control->thb_cut = val; - } - else if (strcmp(tmp[0], "thb_cutoff_sq") == 0) { - val = atof(tmp[1]); - control->thb_cutsq = val; - } - else if (strcmp(tmp[0], "hbond_cutoff") == 0) { - val = atof( tmp[1] ); - control->hbond_cut = val; - } - else if (strcmp(tmp[0], "ghost_cutoff") == 0) { - ; // ignore - } - else if (strcmp(tmp[0], "tabulate_long_range") == 0) { - ival = atoi( tmp[1] ); - control->tabulate = ival; - } - else if (strcmp(tmp[0], "qeq_freq") == 0) { - ; // ignore - } - else if (strcmp(tmp[0], "q_err") == 0) { - ; // ignore - } - else if (strcmp(tmp[0], "ilu_refactor") == 0) { - ; // ignore - } - else if (strcmp(tmp[0], "ilu_droptol") == 0) { - ; // ignore - } - else if (strcmp(tmp[0], "temp_init") == 0) { - ; // ignore - } - else if (strcmp(tmp[0], "temp_final") == 0) { - ; // ignore - } - else if (strcmp(tmp[0], "t_mass") == 0) { - ; // ignore - } - else if (strcmp(tmp[0], "t_mode") == 0) { - ; // ignore - } - else if (strcmp(tmp[0], "t_rate") == 0) { - ; // ignore - } - else if (strcmp(tmp[0], "t_freq") == 0) { - ; // ignore - } - else if (strcmp(tmp[0], "pressure") == 0) { - ; // ignore - } - else if (strcmp(tmp[0], "p_mass") == 0) { - ; // ignore - } - else if (strcmp(tmp[0], "pt_mass") == 0) { - ; // ignore - } - else if (strcmp(tmp[0], "compress") == 0) { - ; // ignore - } - else if (strcmp(tmp[0], "press_mode") == 0) { - ; // ignore - } - else if (strcmp(tmp[0], "geo_format") == 0) { - ; // ignore - } - else if (strcmp(tmp[0], "write_freq") == 0) { - ival = atoi(tmp[1]); - out_control->write_steps = ival; - } - else if (strcmp(tmp[0], "traj_compress") == 0) { - ; // ignore - } - else if (strcmp(tmp[0], "traj_method") == 0) { - ; // ignore - } - else if (strcmp(tmp[0], "traj_title") == 0) { - strcpy( out_control->traj_title, tmp[1] ); - } - else if (strcmp(tmp[0], "atom_info") == 0) { - ival = atoi(tmp[1]); - out_control->atom_info += ival * 4; - } - else if (strcmp(tmp[0], "atom_velocities") == 0) { - ival = atoi(tmp[1]); - out_control->atom_info += ival * 2; - } - else if (strcmp(tmp[0], "atom_forces") == 0) { - ival = atoi(tmp[1]); - out_control->atom_info += ival * 1; - } - else if (strcmp(tmp[0], "bond_info") == 0) { - ival = atoi(tmp[1]); - out_control->bond_info = ival; - } - else if (strcmp(tmp[0], "angle_info") == 0) { - ival = atoi(tmp[1]); - out_control->angle_info = ival; - } - else if (strcmp(tmp[0], "molecular_analysis") == 0) { - ; // ignore - } - else if (strcmp(tmp[0], "ignore") == 0) { - ; // ignore - } - else if (strcmp(tmp[0], "dipole_anal") == 0) { - ; // ignore - } - else if (strcmp(tmp[0], "freq_dipole_anal") == 0) { - ; // ignore - } - else if (strcmp(tmp[0], "diffusion_coef") == 0) { - ; // ignore - } - else if (strcmp(tmp[0], "freq_diffusion_coef") == 0) { - ; // ignore - } - else if (strcmp(tmp[0], "restrict_type") == 0) { - ; // ignore - } - else { - char errmsg[128]; - snprintf(errmsg,128,"Unknown parameter %s in the control file", tmp[0]); - control->error_ptr->all(FLERR, errmsg); + // empty line + if (values.count() == 0) continue; + + try { + auto keyword = values.next_string(); + + if (!values.has_next()) + throw parser_error(fmt::format("No value(s) for control parameter: {}\n",keyword)); + + if (ignored_keywords.find(keyword) != ignored_keywords.end()) { + logmesg(lmp,fmt::format("Ignoring inactive control parameter: {}\n",keyword)); + } else if (keyword == "simulation_name") { + strcpy(control->sim_name, values.next_string().c_str()); + } else if (keyword == "energy_update_freq") { + out_control->energy_update_freq = values.next_int(); + } else if (keyword == "nbrhood_cutoff") { + control->bond_cut = values.next_double(); + } else if (keyword == "bond_graph_cutoff") { + control->bg_cut = values.next_double(); + } else if (keyword == "thb_cutoff") { + control->thb_cut = values.next_double(); + } else if (keyword == "thb_cutoff_sq") { + control->thb_cutsq = values.next_double(); + } else if (keyword == "hbond_cutoff") { + control->hbond_cut = values.next_double(); + } else if (keyword == "tabulate_long_range") { + control->tabulate = values.next_int(); + } else if (keyword == "write_freq") { + out_control->write_steps = values.next_int(); + } else if (keyword == "traj_title") { + strcpy(out_control->traj_title, values.next_string().c_str()); + } else if (keyword == "atom_info") { + out_control->atom_info += values.next_int() * 4; + } else if (keyword == "atom_velocities") { + out_control->atom_info += values.next_int() * 2; + } else if (keyword == "atom_forces") { + out_control->atom_info += values.next_int() * 1; + } else if (keyword == "bond_info") { + out_control->bond_info = values.next_int(); + } else if (keyword == "angle_info") { + out_control->angle_info = values.next_int(); + } else { + throw parser_error(fmt::format("Unknown parameter {} in control file", keyword)); + } + } catch (std::exception &e) { + error->one(FLERR, e.what()); } } - - /* free memory allocations at the top */ - for (i = 0; i < MAX_TOKENS; i++) - free( tmp[i] ); - free( tmp ); - free( s ); - fclose(fp); } From fb75e3e8b1f1ef26a2715e6c00d956977c21b554 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 15 Apr 2021 14:25:10 -0400 Subject: [PATCH 028/726] remove unused and commented out defines --- src/USER-REAXC/reaxc_defs.h | 25 ++----------------------- src/USER-REAXC/reaxc_types.h | 13 ------------- 2 files changed, 2 insertions(+), 36 deletions(-) diff --git a/src/USER-REAXC/reaxc_defs.h b/src/USER-REAXC/reaxc_defs.h index f66fd9086c..6df4460fb9 100644 --- a/src/USER-REAXC/reaxc_defs.h +++ b/src/USER-REAXC/reaxc_defs.h @@ -26,8 +26,8 @@ . ----------------------------------------------------------------------*/ -#ifndef REAX_DEFS_H -#define REAX_DEFS_H +#ifndef LMP_REAXC_DEFS_H +#define LMP_REAXC_DEFS_H #if defined(__IBMC__) #define inline __inline__ @@ -39,19 +39,11 @@ #ifndef FAILURE #define FAILURE 0 #endif -#ifndef TRUE -#define TRUE 1 -#endif -#ifndef FALSE -#define FALSE 0 -#endif #define SQR(x) ((x)*(x)) #define CUBE(x) ((x)*(x)*(x)) #define DEG2RAD(a) ((a)*constPI/180.0) #define RAD2DEG(a) ((a)*180.0/constPI) -// #define MAX(x,y) (((x) > (y)) ? (x) : (y)) -// #define MIN(x,y) (((x) < (y)) ? (x) : (y)) #define MAX3(x,y,z) MAX( MAX(x,y), z) #define constPI 3.14159265 @@ -88,8 +80,6 @@ #define MIN_BONDS 25 #define REAX_MIN_HBONDS 25 #define MIN_3BODIES 1000 -#define MIN_GCELL_POPL 50 -#define MIN_SEND 100 #define REAX_SAFE_ZONE 1.2 #define REAX_SAFER_ZONE 1.4 #define DANGER_ZONE 0.90 @@ -97,20 +87,10 @@ #define MAX_3BODY_PARAM 5 #define MAX_4BODY_PARAM 5 -#define MAX_dV 1.01 -#define MIN_dV 0.99 -#define MAX_dT 4.00 -#define MIN_dT 0.00 - #define MASTER_NODE 0 -#define MAX_NBRS 6 //27 -#define MYSELF 13 // encoding of relative coordinate (0,0,0) -#define MAX_ITR 10 #define RESTART 30 -#define MAX_BOND 20 - #define MAXREAXBOND 24 /* used in fix_reaxc_bonds.cpp and pair_reaxc.cpp */ #define MAXSPECBOND 24 /* used in fix_reaxc_species.cpp and pair_reaxc.cpp */ @@ -121,7 +101,6 @@ enum lists { BONDS, OLD_BONDS, THREE_BODIES, enum message_tags {NONE, INIT_DESCS, ATOM_LINES, BOND_LINES, ANGLE_LINES}; - enum interactions {TYP_VOID, TYP_BOND, TYP_THREE_BODY, TYP_HBOND, TYP_FAR_NEIGHBOR, TYP_DBO, TYP_DDELTA, TYP_N}; diff --git a/src/USER-REAXC/reaxc_types.h b/src/USER-REAXC/reaxc_types.h index 53b0e35842..bef6475b6f 100644 --- a/src/USER-REAXC/reaxc_types.h +++ b/src/USER-REAXC/reaxc_types.h @@ -75,23 +75,10 @@ extern int ompTimingCGCount[LASTTIMINGINDEX]; /************* SOME DEFS - crucial for reax_types.h *********/ -//#define DEBUG -//#define DEBUG_FOCUS -//#define TEST_ENERGY -//#define TEST_FORCES -//#define CG_PERFORMANCE -//#define LOG_PERFORMANCE -//#define STANDARD_BOUNDARIES -//#define OLD_BOUNDARIES -//#define MIDPOINT_BOUNDARIES - #define REAX_MAX_STR 1024 -#define REAX_MAX_NBRS 6 #define REAX_MAX_3BODY_PARAM 5 #define REAX_MAX_4BODY_PARAM 5 #define REAX_MAX_ATOM_TYPES 25 -#define REAX_MAX_MOLECULE_SIZE 20 -#define MAX_BOND 20 // same as reaxc_defs.h /********************** TYPE DEFINITIONS ********************/ typedef int ivec[3]; From cc82e9b5581bfb840f07e38f953a89ca8e6b3a85 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 15 Apr 2021 14:36:07 -0400 Subject: [PATCH 029/726] remove unused rtensor data type and support functions for it. --- src/USER-OMP/reaxc_torsion_angles_omp.cpp | 1 - src/USER-OMP/reaxc_valence_angles_omp.cpp | 1 - src/USER-REAXC/reaxc_torsion_angles.cpp | 1 - src/USER-REAXC/reaxc_types.h | 1 - src/USER-REAXC/reaxc_vector.cpp | 29 ----------------------- src/USER-REAXC/reaxc_vector.h | 3 --- 6 files changed, 36 deletions(-) diff --git a/src/USER-OMP/reaxc_torsion_angles_omp.cpp b/src/USER-OMP/reaxc_torsion_angles_omp.cpp index 9fe2542b47..642efd836e 100644 --- a/src/USER-OMP/reaxc_torsion_angles_omp.cpp +++ b/src/USER-OMP/reaxc_torsion_angles_omp.cpp @@ -105,7 +105,6 @@ void Torsion_AnglesOMP( reax_system *system, control_params *control, rvec dvec_li; rvec force; ivec rel_box_jl; - // rtensor total_rtensor, temp_rtensor; four_body_header *fbh; four_body_parameters *fbp; bond_data *pbond_ij, *pbond_jk, *pbond_kl; diff --git a/src/USER-OMP/reaxc_valence_angles_omp.cpp b/src/USER-OMP/reaxc_valence_angles_omp.cpp index 7c417c0678..c83b26564a 100644 --- a/src/USER-OMP/reaxc_valence_angles_omp.cpp +++ b/src/USER-OMP/reaxc_valence_angles_omp.cpp @@ -155,7 +155,6 @@ void Valence_AnglesOMP( reax_system *system, control_params *control, double Ctheta_0, theta_0, theta_00, theta, cos_theta, sin_theta; double BOA_ij, BOA_jk; rvec force; - // rtensor temp_rtensor, total_rtensor; // Tallying variables double eng_tmp, fi_tmp[3], fj_tmp[3], fk_tmp[3]; diff --git a/src/USER-REAXC/reaxc_torsion_angles.cpp b/src/USER-REAXC/reaxc_torsion_angles.cpp index 08a64f3c24..04e7bfcc1c 100644 --- a/src/USER-REAXC/reaxc_torsion_angles.cpp +++ b/src/USER-REAXC/reaxc_torsion_angles.cpp @@ -150,7 +150,6 @@ void Torsion_Angles( reax_system *system, control_params *control, rvec dvec_li; rvec force; ivec rel_box_jl; - // rtensor total_rtensor, temp_rtensor; four_body_header *fbh; four_body_parameters *fbp; bond_data *pbond_ij, *pbond_jk, *pbond_kl; diff --git a/src/USER-REAXC/reaxc_types.h b/src/USER-REAXC/reaxc_types.h index bef6475b6f..00c6de56ab 100644 --- a/src/USER-REAXC/reaxc_types.h +++ b/src/USER-REAXC/reaxc_types.h @@ -83,7 +83,6 @@ extern int ompTimingCGCount[LASTTIMINGINDEX]; /********************** TYPE DEFINITIONS ********************/ typedef int ivec[3]; typedef double rvec[3]; -typedef double rtensor[3][3]; typedef double rvec2[2]; // import LAMMPS' definition of tagint and bigint diff --git a/src/USER-REAXC/reaxc_vector.cpp b/src/USER-REAXC/reaxc_vector.cpp index e0e3a14782..2f06b57c02 100644 --- a/src/USER-REAXC/reaxc_vector.cpp +++ b/src/USER-REAXC/reaxc_vector.cpp @@ -100,35 +100,6 @@ void rvec_MakeZero( rvec v ) } -void rtensor_MatVec( rvec ret, rtensor m, rvec v ) -{ - int i; - rvec temp; - - if (ret == v) - { - for (i = 0; i < 3; ++i) - temp[i] = m[i][0] * v[0] + m[i][1] * v[1] + m[i][2] * v[2]; - - for (i = 0; i < 3; ++i) - ret[i] = temp[i]; - } - else - { - for (i = 0; i < 3; ++i) - ret[i] = m[i][0] * v[0] + m[i][1] * v[1] + m[i][2] * v[2]; - } -} - - -void rtensor_MakeZero( rtensor t ) -{ - t[0][0] = t[0][1] = t[0][2] = 0; - t[1][0] = t[1][1] = t[1][2] = 0; - t[2][0] = t[2][1] = t[2][2] = 0; -} - - void ivec_MakeZero( ivec v ) { v[0] = v[1] = v[2] = 0; diff --git a/src/USER-REAXC/reaxc_vector.h b/src/USER-REAXC/reaxc_vector.h index 549c1f927c..3dc36f96ef 100644 --- a/src/USER-REAXC/reaxc_vector.h +++ b/src/USER-REAXC/reaxc_vector.h @@ -42,9 +42,6 @@ double rvec_Norm( rvec ); void rvec_MakeZero( rvec ); void rvec_Random( rvec ); -void rtensor_MakeZero( rtensor ); -void rtensor_MatVec( rvec, rtensor, rvec ); - void ivec_MakeZero( ivec ); void ivec_Copy( ivec, ivec ); void ivec_Scale( ivec, double, ivec ); From 8b87eb9468da754a41d826512239a9a54ce5c02e Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 15 Apr 2021 15:49:51 -0400 Subject: [PATCH 030/726] remove unused file pointers and file streams --- src/USER-REAXC/reaxc_io_tools.cpp | 33 ------------------------------- src/USER-REAXC/reaxc_types.h | 10 ---------- 2 files changed, 43 deletions(-) diff --git a/src/USER-REAXC/reaxc_io_tools.cpp b/src/USER-REAXC/reaxc_io_tools.cpp index 8c962d2bad..bb0b3e6b85 100644 --- a/src/USER-REAXC/reaxc_io_tools.cpp +++ b/src/USER-REAXC/reaxc_io_tools.cpp @@ -34,7 +34,6 @@ int Init_Output_Files(reax_system *system, control_params *control, output_controls *out_control, MPI_Comm world, char *msg) { - char temp[MAX_STR+8]; int ret; if (out_control->write_steps > 0) { @@ -42,26 +41,6 @@ int Init_Output_Files(reax_system *system, control_params *control, if (ret == FAILURE) return ret; } - - if (system->my_rank == MASTER_NODE) { - /* These files are written only by the master node */ - if (out_control->energy_update_freq > 0) { - - /* init potentials file */ - sprintf( temp, "%s.pot", control->sim_name ); - if ((out_control->pot = fopen( temp, "w" )) != nullptr) { - fflush( out_control->pot ); - } else { - strcpy( msg, "init_out_controls: .pot file could not be opened\n" ); - return FAILURE; - } - - /* init log file */ - } - - /* init pressure file */ - } - return SUCCESS; } @@ -71,18 +50,6 @@ int Close_Output_Files(reax_system *system, output_controls *out_control) if (out_control->write_steps > 0) End_Traj( system->my_rank, out_control ); - if (system->my_rank == MASTER_NODE) { - if (out_control->pot) { - fclose( out_control->pot ); - out_control->pot = nullptr; - } - - if (out_control->prs) { - fclose(out_control->prs); - out_control->prs = nullptr; - } - } - return SUCCESS; } diff --git a/src/USER-REAXC/reaxc_types.h b/src/USER-REAXC/reaxc_types.h index 00c6de56ab..fcc21cbda2 100644 --- a/src/USER-REAXC/reaxc_types.h +++ b/src/USER-REAXC/reaxc_types.h @@ -450,7 +450,6 @@ struct reax_list struct output_controls { FILE *strj; - int trj_offset; int atom_line_len; int bond_line_len; int angle_line_len; @@ -461,15 +460,6 @@ struct output_controls int buffer_len; char *buffer; - FILE *out; - FILE *pot; - FILE *log; - FILE *mol, *ign; - FILE *dpl; - FILE *drft; - FILE *pdb; - FILE *prs; - int write_steps; char traj_title[81]; int atom_info; From d1f004962a3a6e8c06e5472a0a5c35c74e098d85 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 15 Apr 2021 17:13:31 -0400 Subject: [PATCH 031/726] convert fix qeq/reax to use modern LAMMPS file parsing --- src/USER-OMP/fix_qeq_reax_omp.cpp | 2 -- src/USER-REAXC/fix_qeq_reax.cpp | 52 +++++++++++++++++++------------ 2 files changed, 32 insertions(+), 22 deletions(-) diff --git a/src/USER-OMP/fix_qeq_reax_omp.cpp b/src/USER-OMP/fix_qeq_reax_omp.cpp index b1ab1e5d62..ddc89ac4dc 100644 --- a/src/USER-OMP/fix_qeq_reax_omp.cpp +++ b/src/USER-OMP/fix_qeq_reax_omp.cpp @@ -52,8 +52,6 @@ using namespace LAMMPS_NS; using namespace FixConst; #define EV_TO_KCAL_PER_MOL 14.4 -//#define DANGER_ZONE 0.95 -//#define LOOSE_ZONE 0.7 #define SQR(x) ((x)*(x)) #define CUBE(x) ((x)*(x)*(x)) #define MIN_NBRS 100 diff --git a/src/USER-REAXC/fix_qeq_reax.cpp b/src/USER-REAXC/fix_qeq_reax.cpp index 4fd177f76e..1d342df999 100644 --- a/src/USER-REAXC/fix_qeq_reax.cpp +++ b/src/USER-REAXC/fix_qeq_reax.cpp @@ -33,6 +33,8 @@ #include "pair.h" #include "pair_reaxc.h" #include "respa.h" +#include "text_file_reader.h" +#include "tokenizer.h" #include "update.h" #include @@ -44,6 +46,13 @@ using namespace LAMMPS_NS; using namespace FixConst; +class parser_error : public std::exception { + std::string message; +public: + parser_error(const std::string &mesg) { message = mesg; } + const char *what() const noexcept { return message.c_str(); } +}; + #define EV_TO_KCAL_PER_MOL 14.4 #define SQR(x) ((x)*(x)) #define CUBE(x) ((x)*(x)*(x)) @@ -193,8 +202,8 @@ void FixQEqReax::pertype_parameters(char *arg) { if (strcmp(arg,"reax/c") == 0) { reaxflag = 1; - Pair *pair = force->pair_match("reax/c",0); - if (pair == nullptr) error->all(FLERR,"No pair reax/c for fix qeq/reax"); + Pair *pair = force->pair_match("^reax/c",0); + if (!pair) error->all(FLERR,"No reax/c pair style for fix qeq/reax"); int tmp; chi = (double *) pair->extract("chi",tmp); @@ -206,33 +215,36 @@ void FixQEqReax::pertype_parameters(char *arg) return; } - int i,itype,ntypes,rv; - double v1,v2,v3; - FILE *pf; - reaxflag = 0; - ntypes = atom->ntypes; + const int ntypes = atom->ntypes; memory->create(chi,ntypes+1,"qeq/reax:chi"); memory->create(eta,ntypes+1,"qeq/reax:eta"); memory->create(gamma,ntypes+1,"qeq/reax:gamma"); if (comm->me == 0) { - if ((pf = fopen(arg,"r")) == nullptr) - error->one(FLERR,"Fix qeq/reax parameter file could not be found"); + try { + TextFileReader reader(arg,"qeq/reax parameter"); + for (int i = 1; i <= ntypes; i++) { + const char *line = reader.next_line(); + if (!line) + throw parser_error("Invalid param file for fix qeq/reax"); + ValueTokenizer values(line); - for (i = 1; i <= ntypes && !feof(pf); i++) { - rv = fscanf(pf,"%d %lg %lg %lg",&itype,&v1,&v2,&v3); - if (rv != 4) - error->one(FLERR,"Fix qeq/reax: Incorrect format of param file"); - if (itype < 1 || itype > ntypes) - error->one(FLERR,"Fix qeq/reax: invalid atom type in param file"); - chi[itype] = v1; - eta[itype] = v2; - gamma[itype] = v3; + if (values.count() != 4) + throw parser_error("Fix qeq/reax: Incorrect format of param file"); + + int itype = values.next_int(); + if ((itype < 1) || (itype > ntypes)) + throw parser_error("Fix qeq/reax: invalid atom type in param file"); + + chi[itype] = values.next_double(); + eta[itype] = values.next_double(); + gamma[itype] = values.next_double(); + } + } catch (std::exception &e) { + error->one(FLERR,e.what()); } - if (i <= ntypes) error->one(FLERR,"Invalid param file for fix qeq/reax"); - fclose(pf); } MPI_Bcast(&chi[1],ntypes,MPI_DOUBLE,0,world); From 3eed9f23c8fe70e8c8592580fba43f077b81bfd8 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 15 Apr 2021 17:54:04 -0400 Subject: [PATCH 032/726] replace sprintf() into local char buffers with fmtlib --- src/KOKKOS/fix_qeq_reax_kokkos.cpp | 26 ++++------- src/KOKKOS/pair_reaxc_kokkos.cpp | 8 ++-- src/USER-OMP/fix_qeq_reax_omp.cpp | 33 +++++-------- src/USER-OMP/reaxc_forces_omp.cpp | 20 ++++---- src/USER-OMP/reaxc_valence_angles_omp.cpp | 26 +++++------ src/USER-REAXC/fix_qeq_reax.cpp | 21 +++------ src/USER-REAXC/fix_reaxc_bonds.cpp | 27 ++++++----- src/USER-REAXC/fix_reaxc_species.cpp | 15 +++--- src/USER-REAXC/reaxc_allocate.cpp | 57 ++++++++--------------- src/USER-REAXC/reaxc_allocate.h | 10 ++-- src/USER-REAXC/reaxc_valence_angles.cpp | 12 ++--- 11 files changed, 99 insertions(+), 156 deletions(-) diff --git a/src/KOKKOS/fix_qeq_reax_kokkos.cpp b/src/KOKKOS/fix_qeq_reax_kokkos.cpp index 7e4d99e1c3..fe1969c54f 100644 --- a/src/KOKKOS/fix_qeq_reax_kokkos.cpp +++ b/src/KOKKOS/fix_qeq_reax_kokkos.cpp @@ -838,14 +838,11 @@ void FixQEqReaxKokkos::cg_solve1() Kokkos::parallel_for(inum,vecsum2_functor); } - if (loop >= imax && comm->me == 0) { - char str[128]; - sprintf(str,"Fix qeq/reax cg_solve1 convergence failed after %d iterations " - "at " BIGINT_FORMAT " step: %f",loop,update->ntimestep,sqrt(sig_new)/b_norm); - error->warning(FLERR,str); - //error->all(FLERR,str); - } - + if (loop >= imax && comm->me == 0) + error->warning(FLERR,fmt::format("Fix qeq/reax/kk cg_solve1 convergence " + "failed after {} iterations at step {}: " + "{}", loop, update->ntimestep, + sqrt(sig_new)/b_norm)); } /* ---------------------------------------------------------------------- */ @@ -970,14 +967,11 @@ void FixQEqReaxKokkos::cg_solve2() Kokkos::parallel_for(inum,vecsum2_functor); } - if (loop >= imax && comm->me == 0) { - char str[128]; - sprintf(str,"Fix qeq/reax cg_solve2 convergence failed after %d iterations " - "at " BIGINT_FORMAT " step: %f",loop,update->ntimestep,sqrt(sig_new)/b_norm); - error->warning(FLERR,str); - //error->all(FLERR,str); - } - + if (loop >= imax && comm->me == 0) + error->warning(FLERR,fmt::format("Fix qeq/reax/kk cg_solve2 convergence " + "failed after {} iterations at step {}: " + "{}", loop, update->ntimestep, + sqrt(sig_new)/b_norm)); } /* ---------------------------------------------------------------------- */ diff --git a/src/KOKKOS/pair_reaxc_kokkos.cpp b/src/KOKKOS/pair_reaxc_kokkos.cpp index 75a1448b33..f9f3ebfdfa 100644 --- a/src/KOKKOS/pair_reaxc_kokkos.cpp +++ b/src/KOKKOS/pair_reaxc_kokkos.cpp @@ -349,11 +349,9 @@ void PairReaxCKokkos::init_md() if (swb < 0) error->one(FLERR,"Negative upper Taper-radius cutoff"); - else if (swb < 5) { - char str[128]; - sprintf(str,"Warning: very low Taper-radius cutoff: %f\n", swb); - error->one(FLERR,str); - } + else if (swb < 5) + error->one(FLERR,fmt::format("Warning: very low Taper-radius cutoff: " + "{}\n", swb)); d1 = swb - swa; d7 = powint(d1,7); diff --git a/src/USER-OMP/fix_qeq_reax_omp.cpp b/src/USER-OMP/fix_qeq_reax_omp.cpp index ddc89ac4dc..66760b8aa3 100644 --- a/src/USER-OMP/fix_qeq_reax_omp.cpp +++ b/src/USER-OMP/fix_qeq_reax_omp.cpp @@ -224,16 +224,11 @@ void FixQEqReaxOMP::compute_H() H.numnbrs[i] = mfill - H.firstnbr[i]; } } - - if (mfill >= H.m) { - char str[128]; - sprintf(str,"H matrix size has been exceeded: mfill=%d H.m=%d\n", - mfill, H.m); - error->warning(FLERR,str); - error->all(FLERR,"Fix qeq/reax/omp has insufficient QEq matrix size"); - } } // omp + if (m_fill >= H.m) + error->all(FLERR,fmt::format("Fix qeq/reax: H matrix size has been " + "exceeded: m_fill={} H.m={}\n", m_fill, H.m)); } /* ---------------------------------------------------------------------- */ @@ -528,13 +523,10 @@ int FixQEqReaxOMP::CG( double *b, double *x) } } - if (i >= imax && comm->me == 0) { - char str[128]; - sprintf(str,"Fix qeq/reax CG convergence failed after %d iterations " - "at " BIGINT_FORMAT " step",i,update->ntimestep); - error->warning(FLERR,str); - } - + if (i >= imax && comm->me == 0) + error->warning(FLERR,fmt::format("Fix qeq/reax/omp CG convergence failed " + "after {} iterations at step {}", + i,update->ntimestep)); return i; } @@ -882,13 +874,10 @@ int FixQEqReaxOMP::dual_CG( double *b1, double *b2, double *x1, double *x2) startTimeBase = endTimeBase; #endif - if ( i >= imax && comm->me == 0) { - char str[128]; - sprintf(str,"Fix qeq/reax CG convergence failed after %d iterations " - "at " BIGINT_FORMAT " step",i,update->ntimestep); - error->warning(FLERR,str); - } - + if ( i >= imax && comm->me == 0) + error->warning(FLERR,fmt::format("Fix qeq/reax/omp CG convergence failed " + "after {} iterations at step {}", + i,update->ntimestep)); return i; } diff --git a/src/USER-OMP/reaxc_forces_omp.cpp b/src/USER-OMP/reaxc_forces_omp.cpp index 05a72c93eb..aff543225d 100644 --- a/src/USER-OMP/reaxc_forces_omp.cpp +++ b/src/USER-OMP/reaxc_forces_omp.cpp @@ -270,12 +270,10 @@ void Validate_ListsOMP(reax_system *system, storage * /*workspace*/, reax_list * comp = Start_Index(i+1, bonds); else comp = bonds->num_intrs; - if (End_Index(i, bonds) > comp) { - char errmsg[256]; - snprintf(errmsg, 256, "step%d-bondchk failed: i=%d end(i)=%d str(i+1)=%d\n", - step, i, End_Index(i,bonds), comp ); - system->error_ptr->one(FLERR,errmsg); - } + if (End_Index(i, bonds) > comp) + system->error_ptr->one(FLERR, fmt::format("step {}: bondchk failed: " + "i={} end(i)={} str(i+1)={}\n", + step,i,End_Index(i,bonds),comp)); } } @@ -297,12 +295,10 @@ void Validate_ListsOMP(reax_system *system, storage * /*workspace*/, reax_list * comp = Start_Index(Hindex+1, hbonds); else comp = hbonds->num_intrs; - if (End_Index(Hindex, hbonds) > comp) { - char errmsg[256]; - snprintf(errmsg, 256, "step%d-hbondchk failed: H=%d end(H)=%d str(H+1)=%d\n", - step, Hindex, End_Index(Hindex,hbonds), comp ); - system->error_ptr->one(FLERR, errmsg); - } + if (End_Index(Hindex, hbonds) > comp) + system->error_ptr->one(FLERR, fmt::format("step {}: hbondchk failed: " + "H={} end(H)={} str(H+1)={}\n", + step, Hindex,End_Index(Hindex,hbonds),comp)); } } } diff --git a/src/USER-OMP/reaxc_valence_angles_omp.cpp b/src/USER-OMP/reaxc_valence_angles_omp.cpp index c83b26564a..167f647790 100644 --- a/src/USER-OMP/reaxc_valence_angles_omp.cpp +++ b/src/USER-OMP/reaxc_valence_angles_omp.cpp @@ -239,15 +239,12 @@ void Valence_AnglesOMP( reax_system *system, control_params *control, } // for (pi) // Confirm that thb_intrs->num_intrs / nthreads is enough to hold all angles from a single atom - if (my_offset >= (tid+1)*per_thread) { - char errmsg[512]; - snprintf( errmsg, 512, "step%d-ran out of space on angle_list for atom %i:\n" - " nthreads= %d, tid=%d, my_offset=%d, per_thread=%d\n" - " num_intrs= %i N= %i\n" - , data->step, j, nthreads, tid, my_offset, per_thread,thb_intrs->num_intrs , system->N); - control->error_ptr->one(FLERR, errmsg); - } - + if (my_offset >= (tid+1)*per_thread) + control->error_ptr->one(FLERR, fmt::format("step {}: ran out of space on " + "angle_list for atom {}:\n" + " nthreads={} tid={} my_offset={} per_thread={}\n" + " num_intrs={} N={}",data->step,j,nthreads,tid, + my_offset,per_thread,thb_intrs->num_intrs,system->N)); // Number of angles owned by this atom _my_offset[j] = my_offset - tid * per_thread; } // for (j) @@ -597,12 +594,11 @@ void Valence_AnglesOMP( reax_system *system, control_params *control, if (num_thb_intrs >= thb_intrs->num_intrs * DANGER_ZONE) { workspace->realloc.num_3body = num_thb_intrs * TWICE; - if (num_thb_intrs > thb_intrs->num_intrs) { - char errmsg[128]; - snprintf(errmsg, 128, "step%d-ran out of space on angle_list: top=%d, max=%d", - data->step, num_thb_intrs, thb_intrs->num_intrs); - control->error_ptr->one(FLERR, errmsg); - } + if (num_thb_intrs > thb_intrs->num_intrs) + control->error_ptr->one(FLERR, fmt::format("step {}: ran out of space on " + "angle_list: top={}, max={}", + data->step, num_thb_intrs, + thb_intrs->num_intrs)); } #ifdef OMP_TIMING diff --git a/src/USER-REAXC/fix_qeq_reax.cpp b/src/USER-REAXC/fix_qeq_reax.cpp index 1d342df999..2472fc3098 100644 --- a/src/USER-REAXC/fix_qeq_reax.cpp +++ b/src/USER-REAXC/fix_qeq_reax.cpp @@ -652,13 +652,9 @@ void FixQEqReax::compute_H() } } - if (m_fill >= H.m) { - char str[128]; - sprintf(str,"H matrix size has been exceeded: m_fill=%d H.m=%d\n", - m_fill, H.m); - error->warning(FLERR,str); - error->all(FLERR,"Fix qeq/reax has insufficient QEq matrix size"); - } + if (m_fill >= H.m) + error->all(FLERR,fmt::format("Fix qeq/reax: H matrix size has been " + "exceeded: m_fill={} H.m={}\n", m_fill, H.m)); } /* ---------------------------------------------------------------------- */ @@ -731,13 +727,10 @@ int FixQEqReax::CG( double *b, double *x) vector_sum( d, 1., p, beta, d, nn ); } - if (i >= imax && comm->me == 0) { - char str[128]; - sprintf(str,"Fix qeq/reax CG convergence failed after %d iterations " - "at " BIGINT_FORMAT " step",i,update->ntimestep); - error->warning(FLERR,str); - } - + if (i >= imax && comm->me == 0) + error->warning(FLERR,fmt::format("Fix qeq/reax CG convergence failed " + "after {} iterations at step {}", + i,update->ntimestep)); return i; } diff --git a/src/USER-REAXC/fix_reaxc_bonds.cpp b/src/USER-REAXC/fix_reaxc_bonds.cpp index 0cb78521f2..26cd7870ff 100644 --- a/src/USER-REAXC/fix_reaxc_bonds.cpp +++ b/src/USER-REAXC/fix_reaxc_bonds.cpp @@ -17,18 +17,20 @@ #include "fix_reaxc_bonds.h" -#include #include "atom.h" -#include "update.h" -#include "pair_reaxc.h" -#include "neigh_list.h" +#include "error.h" #include "force.h" #include "memory.h" -#include "error.h" +#include "neigh_list.h" +#include "pair_reaxc.h" +#include "update.h" + #include "reaxc_list.h" #include "reaxc_types.h" #include "reaxc_defs.h" +#include + using namespace LAMMPS_NS; using namespace FixConst; @@ -53,23 +55,20 @@ FixReaxCBonds::FixReaxCBonds(LAMMPS *lmp, int narg, char **arg) : char *suffix = strrchr(arg[4],'.'); if (suffix && strcmp(suffix,".gz") == 0) { #ifdef LAMMPS_GZIP - char gzip[128]; - snprintf(gzip,128,"gzip -6 > %s",arg[4]); + auto gzip = fmt::format("gzip -6 > {}",arg[4]); #ifdef _WIN32 - fp = _popen(gzip,"wb"); + fp = _popen(gzip.c_str(),"wb"); #else - fp = popen(gzip,"w"); + fp = popen(gzip.c_str(),"w"); #endif #else error->one(FLERR,"Cannot open gzipped file"); #endif } else fp = fopen(arg[4],"w"); - if (fp == nullptr) { - char str[128]; - snprintf(str,128,"Cannot open fix reax/c/bonds file %s",arg[4]); - error->one(FLERR,str); - } + if (!fp) + error->one(FLERR,fmt::format("Cannot open fix reax/c/bonds file {}: " + "{}",arg[4],utils::getsyserror())); } if (atom->tag_consecutive() == 0) diff --git a/src/USER-REAXC/fix_reaxc_species.cpp b/src/USER-REAXC/fix_reaxc_species.cpp index 81b1dafa61..8128b23662 100644 --- a/src/USER-REAXC/fix_reaxc_species.cpp +++ b/src/USER-REAXC/fix_reaxc_species.cpp @@ -108,23 +108,20 @@ FixReaxCSpecies::FixReaxCSpecies(LAMMPS *lmp, int narg, char **arg) : char *suffix = strrchr(arg[6],'.'); if (suffix && strcmp(suffix,".gz") == 0) { #ifdef LAMMPS_GZIP - char gzip[128]; - sprintf(gzip,"gzip -6 > %s",arg[6]); + auto gzip = fmt::format("gzip -6 > {}",arg[6]); #ifdef _WIN32 - fp = _popen(gzip,"wb"); + fp = _popen(gzip.c_str(),"wb"); #else - fp = popen(gzip,"w"); + fp = popen(gzip.c_str(),"w"); #endif #else error->one(FLERR,"Cannot open gzipped file"); #endif } else fp = fopen(arg[6],"w"); - if (fp == nullptr) { - char str[128]; - snprintf(str,128,"Cannot open fix reax/c/species file %s",arg[6]); - error->one(FLERR,str); - } + if (!fp) + error->one(FLERR,fmt::format("Cannot open fix reax/c/species file {}: " + "{}",arg[6],utils::getsyserror())); } x0 = nullptr; diff --git a/src/USER-REAXC/reaxc_allocate.cpp b/src/USER-REAXC/reaxc_allocate.cpp index b0d83fc70d..3f0a251a97 100644 --- a/src/USER-REAXC/reaxc_allocate.cpp +++ b/src/USER-REAXC/reaxc_allocate.cpp @@ -70,16 +70,6 @@ int PreAllocate_Space( reax_system *system, control_params * /*control*/, /************* system *************/ -int Allocate_System( reax_system *system, int /*local_cap*/, int total_cap, - char * /*msg*/ ) -{ - system->my_atoms = (reax_atom*) - realloc( system->my_atoms, total_cap*sizeof(reax_atom) ); - - return SUCCESS; -} - - void DeAllocate_System( reax_system *system ) { int i, j, k; @@ -359,17 +349,16 @@ void ReAllocate( reax_system *system, control_params *control, simulation_data *data, storage *workspace, reax_list **lists ) { auto error = system->error_ptr; - int num_bonds, est_3body, Hflag, ret; + int num_bonds, est_3body, Hflag; int newsize; - reallocate_data *realloc; + reallocate_data *wsr; reax_list *far_nbrs; - char msg[200]; int mincap = system->mincap; double safezone = system->safezone; double saferzone = system->saferzone; - realloc = &(workspace->realloc); + wsr = &(workspace->realloc); if ( system->n >= DANGER_ZONE * system->local_cap || (0 && system->n <= LOOSE_ZONE * system->local_cap)) { @@ -385,13 +374,8 @@ void ReAllocate( reax_system *system, control_params *control, if (Nflag) { /* system */ - ret = Allocate_System( system, system->local_cap, system->total_cap, msg ); - if (ret != SUCCESS) { - char errmsg[256]; - snprintf(errmsg, 256, "Not enough space for atom_list: total_cap=%d", system->total_cap); - error->one(FLERR, errmsg); - } - + system->my_atoms = (reax_atom *)::realloc(system->my_atoms, + system->total_cap*sizeof(reax_atom)); /* workspace */ DeAllocate_Workspace(control, workspace); Allocate_Workspace(control, workspace, system->total_cap); @@ -401,16 +385,16 @@ void ReAllocate( reax_system *system, control_params *control, far_nbrs = *lists + FAR_NBRS; - if (Nflag || realloc->num_far >= far_nbrs->num_intrs * DANGER_ZONE) { - if (realloc->num_far > far_nbrs->num_intrs) + if (Nflag || wsr->num_far >= far_nbrs->num_intrs * DANGER_ZONE) { + if (wsr->num_far > far_nbrs->num_intrs) error->one(FLERR,fmt::format("step{}: ran out of space on far_nbrs: top={}, max={}", - data->step, realloc->num_far, far_nbrs->num_intrs)); + data->step, wsr->num_far, far_nbrs->num_intrs)); newsize = static_cast - (MAX( realloc->num_far*safezone, mincap*REAX_MIN_NBRS)); + (MAX( wsr->num_far*safezone, mincap*REAX_MIN_NBRS)); Reallocate_Neighbor_List( far_nbrs, system->total_cap, newsize); - realloc->num_far = 0; + wsr->num_far = 0; } /* hydrogen bonds list */ @@ -422,35 +406,34 @@ void ReAllocate( reax_system *system, control_params *control, system->Hcap = int(MAX( system->numH * saferzone, mincap )); } - if (Hflag || realloc->hbonds) { - ret = Reallocate_HBonds_List( system, (*lists)+HBONDS); - realloc->hbonds = 0; + if (Hflag || wsr->hbonds) { + Reallocate_HBonds_List( system, (*lists)+HBONDS); + wsr->hbonds = 0; } } /* bonds list */ num_bonds = est_3body = -1; - if (Nflag || realloc->bonds) { + if (Nflag || wsr->bonds) { Reallocate_Bonds_List( system, (*lists)+BONDS, &num_bonds, &est_3body); - realloc->bonds = 0; - realloc->num_3body = MAX( realloc->num_3body, est_3body ) * 2; + wsr->bonds = 0; + wsr->num_3body = MAX( wsr->num_3body, est_3body ) * 2; } /* 3-body list */ - if (realloc->num_3body > 0) { + if (wsr->num_3body > 0) { Delete_List( (*lists)+THREE_BODIES); if (num_bonds == -1) num_bonds = ((*lists)+BONDS)->num_intrs; - realloc->num_3body = (int)(MAX(realloc->num_3body*safezone, MIN_3BODIES)); + wsr->num_3body = (int)(MAX(wsr->num_3body*safezone, MIN_3BODIES)); - if ( !Make_List( num_bonds, realloc->num_3body, TYP_THREE_BODY, + if ( !Make_List( num_bonds, wsr->num_3body, TYP_THREE_BODY, (*lists)+THREE_BODIES )) { error->one(FLERR, "Problem in initializing angles list"); } - realloc->num_3body = -1; + wsr->num_3body = -1; } - } diff --git a/src/USER-REAXC/reaxc_allocate.h b/src/USER-REAXC/reaxc_allocate.h index e94066113b..7229927b57 100644 --- a/src/USER-REAXC/reaxc_allocate.h +++ b/src/USER-REAXC/reaxc_allocate.h @@ -28,14 +28,14 @@ #define __ALLOCATE_H_ #include "reaxc_types.h" -int PreAllocate_Space( reax_system*, control_params*, storage* ); -int Allocate_System( reax_system*, int, int, char* ); -void DeAllocate_System( reax_system* ); +int PreAllocate_Space(reax_system *, control_params *, storage *); + +void DeAllocate_System(reax_system *); void Allocate_Workspace(control_params *, storage *, int); void DeAllocate_Workspace(control_params *, storage *); -void ReAllocate( reax_system*, control_params*, simulation_data*, storage*, - reax_list** ); +void ReAllocate(reax_system *, control_params *, simulation_data *, + storage*, reax_list**); #endif diff --git a/src/USER-REAXC/reaxc_valence_angles.cpp b/src/USER-REAXC/reaxc_valence_angles.cpp index 78887e5ecc..b363fd8e04 100644 --- a/src/USER-REAXC/reaxc_valence_angles.cpp +++ b/src/USER-REAXC/reaxc_valence_angles.cpp @@ -403,12 +403,10 @@ void Valence_Angles( reax_system *system, control_params *control, if (num_thb_intrs >= thb_intrs->num_intrs * DANGER_ZONE) { workspace->realloc.num_3body = num_thb_intrs; - if (num_thb_intrs > thb_intrs->num_intrs) { - char errmsg[128]; - snprintf(errmsg, 128, "step%d-ran out of space on angle_list: top=%d, max=%d", - data->step, num_thb_intrs, thb_intrs->num_intrs); - control->error_ptr->one(FLERR, errmsg); - } + if (num_thb_intrs > thb_intrs->num_intrs) + control->error_ptr->one(FLERR, fmt::format("step {}: ran out of space on " + "angle_list: top={}, max={}", + data->step, num_thb_intrs, + thb_intrs->num_intrs)); } - } From 6c07d2fb118dd9dbddc9ddd705b63b2b8a4301ab Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 15 Apr 2021 20:08:25 -0400 Subject: [PATCH 033/726] replace some more sprintf() calls to local buffers with fmtlib --- src/USER-REAXC/reaxc_forces.cpp | 20 ++++++++------------ src/USER-REAXC/reaxc_init_md.cpp | 9 +++------ src/USER-REAXC/reaxc_list.cpp | 8 ++------ src/USER-REAXC/reaxc_reset_tools.cpp | 20 ++++++++------------ src/USER-REAXC/reaxc_traj.cpp | 14 +++++--------- 5 files changed, 26 insertions(+), 45 deletions(-) diff --git a/src/USER-REAXC/reaxc_forces.cpp b/src/USER-REAXC/reaxc_forces.cpp index d135571009..7e412afbd6 100644 --- a/src/USER-REAXC/reaxc_forces.cpp +++ b/src/USER-REAXC/reaxc_forces.cpp @@ -131,12 +131,10 @@ void Validate_Lists( reax_system *system, storage * /*workspace*/, reax_list **l comp = Start_Index(i+1, bonds); else comp = bonds->num_intrs; - if (End_Index(i, bonds) > comp) { - char errmsg[256]; - snprintf(errmsg, 256, "step%d-bondchk failed: i=%d end(i)=%d str(i+1)=%d\n", - step, i, End_Index(i,bonds), comp ); - system->error_ptr->one(FLERR,errmsg); - } + if (End_Index(i, bonds) > comp) + system->error_ptr->one(FLERR, fmt::format("step {}: bondchk failed: " + "i={} end(i)={} str(i+1)={}\n", + step,i,End_Index(i,bonds),comp)); } } @@ -159,12 +157,10 @@ void Validate_Lists( reax_system *system, storage * /*workspace*/, reax_list **l comp = Start_Index(Hindex+1, hbonds); else comp = hbonds->num_intrs; - if (End_Index(Hindex, hbonds) > comp) { - char errmsg[256]; - snprintf(errmsg, 256, "step%d-hbondchk failed: H=%d end(H)=%d str(H+1)=%d\n", - step, Hindex, End_Index(Hindex,hbonds), comp ); - system->error_ptr->one(FLERR, errmsg); - } + if (End_Index(Hindex, hbonds) > comp) + system->error_ptr->one(FLERR, fmt::format("step {}: hbondchk failed: " + "H={} end(H)={} str(H+1)={}\n", + step, Hindex,End_Index(Hindex,hbonds),comp)); } } } diff --git a/src/USER-REAXC/reaxc_init_md.cpp b/src/USER-REAXC/reaxc_init_md.cpp index 44dbc764af..e94037c5f5 100644 --- a/src/USER-REAXC/reaxc_init_md.cpp +++ b/src/USER-REAXC/reaxc_init_md.cpp @@ -90,12 +90,9 @@ void Init_Taper(control_params *control, storage *workspace) if (swb < 0) { error->all(FLERR,"Negative upper Taper-radius cutoff"); } - else if (swb < 5 && control->me == 0) { - char errmsg[256]; - snprintf(errmsg, 256, "Very low Taper-radius cutoff: %f", swb); - error->warning(FLERR, errmsg); - } - + else if (swb < 5 && control->me == 0) + error->warning(FLERR,fmt::format("Warning: very low Taper-radius cutoff: " + "{}\n", swb)); d1 = swb - swa; d7 = pow(d1, 7.0); swa2 = SQR(swa); diff --git a/src/USER-REAXC/reaxc_list.cpp b/src/USER-REAXC/reaxc_list.cpp index ff5cf98900..b48a9a540e 100644 --- a/src/USER-REAXC/reaxc_list.cpp +++ b/src/USER-REAXC/reaxc_list.cpp @@ -89,9 +89,7 @@ int Make_List(int n, int num_intrs, int type, reax_list *l ) break; default: - char errmsg[128]; - snprintf(errmsg, 128, "No %d list type defined", l->type); - l->error_ptr->one(FLERR,errmsg); + l->error_ptr->all(FLERR,fmt::format("No list type {} defined", l->type)); } return SUCCESS; @@ -140,9 +138,7 @@ void Delete_List( reax_list *l ) break; default: - char errmsg[128]; - snprintf(errmsg, 128, "No %d list type defined", l->type); - l->error_ptr->all(FLERR,errmsg); + l->error_ptr->all(FLERR,fmt::format("No list type {} defined", l->type)); } } diff --git a/src/USER-REAXC/reaxc_reset_tools.cpp b/src/USER-REAXC/reaxc_reset_tools.cpp index dbd879a2a8..5d3053fb37 100644 --- a/src/USER-REAXC/reaxc_reset_tools.cpp +++ b/src/USER-REAXC/reaxc_reset_tools.cpp @@ -105,12 +105,10 @@ void Reset_Neighbor_Lists( reax_system *system, control_params *control, /* is reallocation needed? */ if (total_bonds >= bonds->num_intrs * DANGER_ZONE) { workspace->realloc.bonds = 1; - if (total_bonds >= bonds->num_intrs) { - char errmsg[256]; - snprintf(errmsg, 256, "Not enough space for bonds! total=%d allocated=%d\n", - total_bonds, bonds->num_intrs); - control->error_ptr->one(FLERR, errmsg); - } + if (total_bonds >= bonds->num_intrs) + control->error_ptr->one(FLERR,fmt::format("Not enough space for bonds! " + "total={} allocated={}\n", + total_bonds, bonds->num_intrs)); } } @@ -131,12 +129,10 @@ void Reset_Neighbor_Lists( reax_system *system, control_params *control, /* is reallocation needed? */ if (total_hbonds >= hbonds->num_intrs * 0.90/*DANGER_ZONE*/) { workspace->realloc.hbonds = 1; - if (total_hbonds >= hbonds->num_intrs) { - char errmsg[256]; - snprintf(errmsg, 256, "Not enough space for hbonds! total=%d allocated=%d\n", - total_hbonds, hbonds->num_intrs); - control->error_ptr->one(FLERR, errmsg); - } + if (total_hbonds >= hbonds->num_intrs) + control->error_ptr->one(FLERR,fmt::format("Not enough space for hbonds! " + "total={} allocated={}\n", + total_hbonds, hbonds->num_intrs)); } } } diff --git a/src/USER-REAXC/reaxc_traj.cpp b/src/USER-REAXC/reaxc_traj.cpp index 96b216241a..280f40b7d3 100644 --- a/src/USER-REAXC/reaxc_traj.cpp +++ b/src/USER-REAXC/reaxc_traj.cpp @@ -41,12 +41,9 @@ int Reallocate_Output_Buffer( LAMMPS_NS::Error *error_ptr, output_controls *out_ out_control->buffer_len = (int)(req_space*REAX_SAFE_ZONE); out_control->buffer = (char*) malloc(out_control->buffer_len*sizeof(char)); - if (out_control->buffer == nullptr) { - char errmsg[256]; - snprintf(errmsg, 256, "Insufficient memory for required buffer size %d", (int) (req_space*REAX_SAFE_ZONE)); - error_ptr->one(FLERR,errmsg); - } - + if (!out_control->buffer) + error_ptr->one(FLERR,fmt::format("Insufficient memory for required buffer " + "size {}", (req_space*REAX_SAFE_ZONE))); return SUCCESS; } @@ -286,7 +283,6 @@ int Write_Init_Desc(reax_system *system, output_controls *out_control, int Init_Traj(reax_system *system, control_params *control, output_controls *out_control, MPI_Comm world, char *msg) { - char fname[MAX_STR+8]; int atom_line_len[ NR_OPT_ATOM ] = { 0, 0, 0, 0, ATOM_BASIC_LEN, ATOM_wV_LEN, ATOM_wF_LEN, ATOM_FULL_LEN }; @@ -294,7 +290,7 @@ int Init_Traj(reax_system *system, control_params *control, int angle_line_len[ NR_OPT_ANGLE ] = { 0, ANGLE_BASIC_LEN }; /* generate trajectory name */ - sprintf( fname, "%s.trj", control->sim_name ); + auto fname = std::string(control->sim_name) + ".trj"; /* how should I write atoms? */ out_control->atom_line_len = atom_line_len[ out_control->atom_info ]; @@ -313,7 +309,7 @@ int Init_Traj(reax_system *system, control_params *control, /* write trajectory header and atom info, if applicable */ if (system->my_rank == MASTER_NODE) - out_control->strj = fopen(fname, "w"); + out_control->strj = fopen(fname.c_str(), "w"); Write_Header(system, control, out_control); Write_Init_Desc(system, out_control, world); From 2c38d1b7d4546558e42d07bad8aa9c14f85a170f Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 15 Apr 2021 21:19:00 -0400 Subject: [PATCH 034/726] reax/c native trajectory output cleanup/simplification --- src/USER-OMP/reaxc_init_md_omp.cpp | 4 +- src/USER-REAXC/reaxc_init_md.cpp | 4 +- src/USER-REAXC/reaxc_io_tools.cpp | 21 +- src/USER-REAXC/reaxc_io_tools.h | 5 +- src/USER-REAXC/reaxc_traj.cpp | 588 +++++++++++------------------ src/USER-REAXC/reaxc_traj.h | 78 +--- src/USER-REAXC/reaxc_types.h | 1 - 7 files changed, 231 insertions(+), 470 deletions(-) diff --git a/src/USER-OMP/reaxc_init_md_omp.cpp b/src/USER-OMP/reaxc_init_md_omp.cpp index 31360a3bc0..d20ab954fe 100644 --- a/src/USER-OMP/reaxc_init_md_omp.cpp +++ b/src/USER-OMP/reaxc_init_md_omp.cpp @@ -127,9 +127,7 @@ void InitializeOMP(reax_system *system, control_params *control, Init_Workspace(system,control,workspace); Init_ListsOMP(system,control,lists); - if (Init_Output_Files(system,control,out_control,world,msg)== FAILURE) - error->one(FLERR,fmt::format("Error on: {}. Could not open output files! " - "Terminating.",msg)); + Init_Output_Files(system,control,out_control,world); if (control->tabulate) if (Init_Lookup_Tables(system,control,workspace,world,msg) == FAILURE) diff --git a/src/USER-REAXC/reaxc_init_md.cpp b/src/USER-REAXC/reaxc_init_md.cpp index e94037c5f5..beb7d1b87c 100644 --- a/src/USER-REAXC/reaxc_init_md.cpp +++ b/src/USER-REAXC/reaxc_init_md.cpp @@ -196,9 +196,7 @@ void Initialize(reax_system *system, control_params *control, error->one(FLERR,fmt::format("Error on: {}. System could not be " "initialized. Terminating.",msg)); - if (Init_Output_Files(system,control,out_control,world,msg)== FAILURE) - error->one(FLERR,fmt::format("Error on: {}. Could not open output files! " - "Terminating.",msg)); + Init_Output_Files(system,control,out_control,world); if (control->tabulate) if (Init_Lookup_Tables(system,control,workspace,world,msg) == FAILURE) diff --git a/src/USER-REAXC/reaxc_io_tools.cpp b/src/USER-REAXC/reaxc_io_tools.cpp index bb0b3e6b85..2f5c6b8f65 100644 --- a/src/USER-REAXC/reaxc_io_tools.cpp +++ b/src/USER-REAXC/reaxc_io_tools.cpp @@ -31,29 +31,20 @@ #include "reaxc_system_props.h" #include "reaxc_traj.h" -int Init_Output_Files(reax_system *system, control_params *control, - output_controls *out_control, MPI_Comm world, char *msg) +void Init_Output_Files(reax_system *system, control_params *control, + output_controls *out_control, MPI_Comm world) { - int ret; - - if (out_control->write_steps > 0) { - ret = Init_Traj( system, control, out_control, world, msg ); - if (ret == FAILURE) - return ret; - } - return SUCCESS; + if (out_control->write_steps > 0) + Init_Traj(system, control, out_control, world); } /************************ close output files ************************/ -int Close_Output_Files(reax_system *system, output_controls *out_control) +void Close_Output_Files(reax_system *system, output_controls *out_control) { if (out_control->write_steps > 0) - End_Traj( system->my_rank, out_control ); - - return SUCCESS; + End_Traj(system->my_rank, out_control); } - void Output_Results(reax_system *system, control_params *control, simulation_data *data, reax_list **lists, output_controls *out_control, MPI_Comm world) diff --git a/src/USER-REAXC/reaxc_io_tools.h b/src/USER-REAXC/reaxc_io_tools.h index 643b563f73..8b69125032 100644 --- a/src/USER-REAXC/reaxc_io_tools.h +++ b/src/USER-REAXC/reaxc_io_tools.h @@ -30,9 +30,8 @@ #include "reaxc_types.h" #include -int Init_Output_Files(reax_system *, control_params *, - output_controls *, MPI_Comm, char *); -int Close_Output_Files(reax_system *, output_controls *); +void Init_Output_Files(reax_system *, control_params *, output_controls *, MPI_Comm); +void Close_Output_Files(reax_system *, output_controls *); void Output_Results(reax_system *, control_params *, simulation_data *, reax_list **, output_controls *, MPI_Comm); #endif diff --git a/src/USER-REAXC/reaxc_traj.cpp b/src/USER-REAXC/reaxc_traj.cpp index 280f40b7d3..6c8c1e079d 100644 --- a/src/USER-REAXC/reaxc_traj.cpp +++ b/src/USER-REAXC/reaxc_traj.cpp @@ -25,42 +25,79 @@ ----------------------------------------------------------------------*/ #include "reaxc_traj.h" + #include #include #include #include + #include "reaxc_defs.h" #include "reaxc_list.h" #include "error.h" -int Reallocate_Output_Buffer( LAMMPS_NS::Error *error_ptr, output_controls *out_control, int req_space ) +#define MAX_TRJ_LINE_LEN 120 +#define MAX_TRJ_BUFFER_SIZE (MAX_TRJ_LINE_LEN * 100) + +#define NUM_HEADER_LINES 37 +#define HEADER_LINE_LEN 62 +#define INIT_DESC_LEN 32 + +#define ATOM_BASIC_LEN 50 +#define ATOM_wV_LEN 80 +#define ATOM_wF_LEN 80 +#define ATOM_FULL_LEN 110 + +#define BOND_BASIC_LEN 39 +#define BOND_FULL_LEN 69 +#define ANGLE_BASIC_LEN 38 + +enum ATOM_LINE_OPTS { OPT_NOATOM = 0, OPT_ATOM_BASIC = 4, OPT_ATOM_wF = 5, OPT_ATOM_wV = 6, OPT_ATOM_FULL = 7, NR_OPT_ATOM = 8 }; +enum BOND_LINE_OPTS { OPT_NOBOND, OPT_BOND_BASIC, OPT_BOND_FULL, NR_OPT_BOND }; +enum ANGLE_LINE_OPTS { OPT_NOANGLE, OPT_ANGLE_BASIC, NR_OPT_ANGLE }; + +std::string fmtline(const char *key, double val) +{ + return fmt::format("{:<37}{:<24.3f}\n",key,val); +} + +std::string fmtline(const char *key, double val1, double val2, double val3) +{ + return fmt::format("{:<32}{:>9.3f},{:>9.3f},{:>9.3f}\n",key,val1,val2,val3); +} + +template +std::string fmtline(const char *key, T val) +{ + return fmt::format("{:<37}{:<24}\n",key,val); +} + +template +std::string fmtline(const char *key, T val1, T val2) +{ + return fmt::format("{:<36}{:<12},{:<12}\n",key,val1,val2); +} + +void Reallocate_Output_Buffer(LAMMPS_NS::Error *error_ptr, output_controls *out_control, int req_space) { if (out_control->buffer_len > 0) - free( out_control->buffer ); + free(out_control->buffer); out_control->buffer_len = (int)(req_space*REAX_SAFE_ZONE); out_control->buffer = (char*) malloc(out_control->buffer_len*sizeof(char)); if (!out_control->buffer) error_ptr->one(FLERR,fmt::format("Insufficient memory for required buffer " "size {}", (req_space*REAX_SAFE_ZONE))); - return SUCCESS; } -void Write_Skip_Line(output_controls *out_control, - int my_rank, int skip, int num_section) +void Write_Skip_Line(output_controls *out_control, int my_rank, int skip, int num_section) { if (my_rank == MASTER_NODE) - fprintf( out_control->strj, INT2_LINE, - "chars_to_skip_section:", skip, num_section ); + fmt::print(out_control->strj,fmtline("chars_to_skip_section:",skip,num_section)); } - -int Write_Header(reax_system *system, control_params *control, - output_controls *out_control) +void Write_Header(reax_system *system, control_params *control, output_controls *out_control) { - int num_hdr_lines, my_hdr_lines, buffer_req; - char atom_formats[8][40] = { "none", "invalid", "invalid", "invalid", "xyz_q", "xyz_q_fxfyfz", @@ -71,166 +108,71 @@ int Write_Header(reax_system *system, control_params *control, "detailed_bond_info" }; char angle_formats[2][30] = { "none", "basic_angle_info" }; - /* set header lengths */ - num_hdr_lines = NUM_HEADER_LINES; - my_hdr_lines = num_hdr_lines * ( system->my_rank == MASTER_NODE ); - buffer_req = my_hdr_lines * HEADER_LINE_LEN; - if (buffer_req > out_control->buffer_len * DANGER_ZONE) - Reallocate_Output_Buffer( control->error_ptr, out_control, buffer_req ); - /* only the master node writes into trajectory header */ if (system->my_rank == MASTER_NODE) { - /* clear the contents of line & buffer */ - out_control->line[0] = 0; - out_control->buffer[0] = 0; - + std::string buffer(""); + /* to skip the header */ - sprintf( out_control->line, INT_LINE, "chars_to_skip_header:", - (num_hdr_lines-1) * HEADER_LINE_LEN ); - strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); + buffer += fmtline("chars_to_skip_header:",(NUM_HEADER_LINES-1) * HEADER_LINE_LEN); /* general simulation info */ - sprintf( out_control->line, STR_LINE, "simulation_name:", - out_control->traj_title ); - strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); - - sprintf( out_control->line, BIGINT_LINE, "number_of_atoms:", system->bigN ); - strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); - - sprintf( out_control->line, STR_LINE, "ensemble_type:", "(unknown)"); - strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); - - sprintf( out_control->line, INT_LINE, "number_of_steps:", 0); - strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); - - sprintf( out_control->line, REAL_LINE, "timestep_length_(in_fs):", 0.0); - strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); + buffer += fmtline("simulation_name:", out_control->traj_title); + buffer += fmtline("number_of_atoms:", system->bigN); + buffer += fmtline("ensemble_type:", "(unknown)"); + buffer += fmtline("number_of_steps:", 0); + buffer += fmtline("timestep_length_(in_fs):", 0.0); /* restart info */ - sprintf( out_control->line, STR_LINE, "is_this_a_restart?:", "no"); - strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); - - sprintf( out_control->line, STR_LINE, "write_restart_files?:", "no"); - strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); - - sprintf( out_control->line, INT_LINE, "frequency_to_write_restarts:", 0); - strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); + buffer += fmtline("is_this_a_restart?:", "no"); + buffer += fmtline("write_restart_files?:", "no"); + buffer += fmtline("frequency_to_write_restarts:", 0); /* preferences */ - sprintf( out_control->line, STR_LINE, "tabulate_long_range_intrs?:", - (control->tabulate ? "yes" : "no") ); - strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); - - sprintf( out_control->line, INT_LINE, "table_size:", control->tabulate ); - strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); - - sprintf( out_control->line, STR_LINE, "restrict_bonds?:", "no"); - strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); - - sprintf( out_control->line, INT_LINE, "bond_restriction_length:", 0); - strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); - - sprintf( out_control->line, STR_LINE, "reposition_atoms?:", "fit to periodic box"); - strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); - - sprintf( out_control->line, INT_LINE, "remove_CoM_velocity?:", 0); - strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); - - /* cut-off values */ - sprintf( out_control->line, REAL_LINE, "bonded_intr_dist_cutoff:", - control->bond_cut ); - strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); - - sprintf( out_control->line, REAL_LINE, "nonbonded_intr_dist_cutoff:", - control->nonb_cut ); - strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); - - sprintf( out_control->line, REAL_LINE, "hbond_dist_cutoff:", - control->hbond_cut ); - strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); - - sprintf( out_control->line, REAL_LINE, "reax_bond_threshold:", - control->bo_cut ); - strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); - - sprintf( out_control->line, REAL_LINE, "physical_bond_threshold:", - control->bg_cut ); - strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); - - sprintf( out_control->line, REAL_LINE, "valence_angle_threshold:", - control->thb_cut ); - strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); - - sprintf( out_control->line, SCI_LINE, "QEq_tolerance:", 0.0 ); - strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); + buffer += fmtline("tabulate_long_range_intrs?:",(control->tabulate ? "yes" : "no")); + buffer += fmtline("table_size:", control->tabulate); + buffer += fmtline("restrict_bonds?:", "no"); + buffer += fmtline("bond_restriction_length:", 0); + buffer += fmtline("reposition_atoms?:", "fit to periodic box"); + buffer += fmtline("remove_CoM_velocity?:", 0); + buffer += fmtline("bonded_intr_dist_cutoff:",control->bond_cut); + buffer += fmtline("nonbonded_intr_dist_cutoff:",control->nonb_cut); + buffer += fmtline("hbond_dist_cutoff:",control->hbond_cut); + buffer += fmtline("reax_bond_threshold:",control->bo_cut); + buffer += fmtline("physical_bond_threshold:", control->bg_cut); + buffer += fmtline("valence_angle_threshold:",control->thb_cut); + buffer += fmtline("QEq_tolerance:", 0.0); /* temperature controls */ - sprintf( out_control->line, REAL_LINE, "initial_temperature:", 0.0); - strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); - - sprintf( out_control->line, REAL_LINE, "target_temperature:", 0.0); - strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); - - sprintf( out_control->line, REAL_LINE, "thermal_inertia:", 0.0); - strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); - - sprintf( out_control->line, STR_LINE, "temperature_regime:", "(unknown)"); - strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); - - sprintf( out_control->line, REAL_LINE, "temperature_change_rate_(K/ps):", 0.0); - strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); + buffer += fmtline("initial_temperature:", 0.0); + buffer += fmtline("target_temperature:", 0.0); + buffer += fmtline("thermal_inertia:", 0.0); + buffer += fmtline("temperature_regime:", "(unknown)"); + buffer += fmtline("temperature_change_rate_(K/ps):", 0.0); /* pressure controls */ - sprintf( out_control->line, REAL3_LINE, "target_pressure_(GPa):", 0.0, 0.0, 0.0); - strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); - - sprintf( out_control->line, REAL3_LINE, "virial_inertia:", 0.0, 0.0, 0.0); - strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); + buffer += fmtline("target_pressure_(GPa):", 0.0, 0.0, 0.0); + buffer += fmtline("virial_inertia:", 0.0, 0.0, 0.0); /* trajectory */ - sprintf( out_control->line, INT_LINE, "energy_dumping_freq:", - out_control->energy_update_freq ); - strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); - - sprintf( out_control->line, INT_LINE, "trajectory_dumping_freq:", - out_control->write_steps ); - strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); - - sprintf( out_control->line, STR_LINE, "compress_trajectory_output?:", "no"); - strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); - - sprintf( out_control->line, STR_LINE, "trajectory_format:", "regular"); - strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); - - sprintf( out_control->line, STR_LINE, "atom_info:", - atom_formats[ out_control->atom_info ] ); - strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); - - sprintf( out_control->line, STR_LINE, "bond_info:", - bond_formats[ out_control->bond_info ] ); - strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); - - sprintf( out_control->line, STR_LINE, "angle_info:", - angle_formats[ out_control->angle_info ] ); - strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); + buffer += fmtline("energy_dumping_freq:", out_control->energy_update_freq); + buffer += fmtline("trajectory_dumping_freq:",out_control->write_steps); + buffer += fmtline("compress_trajectory_output?:", "no"); + buffer += fmtline("trajectory_format:", "regular"); + buffer += fmtline("atom_info:", atom_formats[out_control->atom_info]); + buffer += fmtline("bond_info:", bond_formats[out_control->bond_info]); + buffer += fmtline("angle_info:", angle_formats[out_control->angle_info]); /* analysis */ - sprintf( out_control->line, STR_LINE, "molecular_analysis:", "no"); - strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); - sprintf( out_control->line, INT_LINE, "molecular_analysis_frequency:", 0); - strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); + buffer += fmtline("molecular_analysis:", "no"); + buffer += fmtline("molecular_analysis_frequency:", 0); + + /* dump out the buffer */ + + fputs(buffer.c_str(),out_control->strj); } - - /* dump out the buffer */ - if (system->my_rank == MASTER_NODE) - fprintf( out_control->strj, "%s", out_control->buffer ); - - return SUCCESS; } - -int Write_Init_Desc(reax_system *system, output_controls *out_control, - MPI_Comm world) +void Write_Init_Desc(reax_system *system, output_controls *out_control, MPI_Comm world) { int i, me, np, cnt, buffer_len, buffer_req; reax_atom *p_atom; @@ -247,63 +189,55 @@ int Write_Init_Desc(reax_system *system, output_controls *out_control, else buffer_req = system->n * INIT_DESC_LEN + 1; if (buffer_req > out_control->buffer_len * DANGER_ZONE) - Reallocate_Output_Buffer( system->error_ptr, out_control, buffer_req ); + Reallocate_Output_Buffer(system->error_ptr, out_control, buffer_req); - out_control->line[0] = 0; out_control->buffer[0] = 0; for (i = 0; i < system->n; ++i) { - p_atom = &( system->my_atoms[i] ); - sprintf( out_control->line, INIT_DESC, - p_atom->orig_id, p_atom->type, p_atom->name, - system->reax_param.sbp[ p_atom->type ].mass ); - strncpy( out_control->buffer + i*INIT_DESC_LEN, - out_control->line, INIT_DESC_LEN+1 ); + p_atom = &(system->my_atoms[i]); + auto buffer = fmt::format("{:9}{:3}{:9}{:10.3f}\n", + p_atom->orig_id, p_atom->type, p_atom->name, + system->reax_param.sbp[p_atom->type].mass); + strncpy(out_control->buffer + i*INIT_DESC_LEN, buffer.c_str(), INIT_DESC_LEN+1); } if (me != MASTER_NODE) { MPI_Send(out_control->buffer, buffer_req-1, MPI_CHAR, MASTER_NODE, - np * INIT_DESCS + me, world); + np * INIT_DESCS + me, world); } else { buffer_len = system->n * INIT_DESC_LEN; for (i = 0; i < np; ++i) if (i != MASTER_NODE) { - MPI_Recv( out_control->buffer + buffer_len, buffer_req - buffer_len, - MPI_CHAR, i, np*INIT_DESCS+i, world, &status ); - MPI_Get_count( &status, MPI_CHAR, &cnt ); + MPI_Recv(out_control->buffer + buffer_len, buffer_req - buffer_len, + MPI_CHAR, i, np*INIT_DESCS+i, world, &status); + MPI_Get_count(&status, MPI_CHAR, &cnt); buffer_len += cnt; } out_control->buffer[buffer_len] = 0; - fprintf( out_control->strj, "%s", out_control->buffer ); + fputs(out_control->buffer,out_control->strj); } - - return SUCCESS; } - -int Init_Traj(reax_system *system, control_params *control, - output_controls *out_control, MPI_Comm world, char *msg) +void Init_Traj(reax_system *system, control_params *control, + output_controls *out_control, MPI_Comm world) { - int atom_line_len[ NR_OPT_ATOM ] = { 0, 0, 0, 0, - ATOM_BASIC_LEN, ATOM_wV_LEN, - ATOM_wF_LEN, ATOM_FULL_LEN }; - int bond_line_len[ NR_OPT_BOND ] = { 0, BOND_BASIC_LEN, BOND_FULL_LEN }; - int angle_line_len[ NR_OPT_ANGLE ] = { 0, ANGLE_BASIC_LEN }; + int atom_line_len[NR_OPT_ATOM] = { 0, 0, 0, 0, ATOM_BASIC_LEN, ATOM_wV_LEN, ATOM_wF_LEN, ATOM_FULL_LEN}; + int bond_line_len[NR_OPT_BOND] = { 0, BOND_BASIC_LEN, BOND_FULL_LEN }; + int angle_line_len[NR_OPT_ANGLE] = { 0, ANGLE_BASIC_LEN }; /* generate trajectory name */ auto fname = std::string(control->sim_name) + ".trj"; /* how should I write atoms? */ - out_control->atom_line_len = atom_line_len[ out_control->atom_info ]; - out_control->write_atoms = ( out_control->atom_line_len ? 1 : 0 ); + out_control->atom_line_len = atom_line_len[out_control->atom_info]; + out_control->write_atoms = (out_control->atom_line_len ? 1 : 0); /* bonds? */ - out_control->bond_line_len = bond_line_len[ out_control->bond_info ]; - out_control->write_bonds = ( out_control->bond_line_len ? 1 : 0 ); + out_control->bond_line_len = bond_line_len[out_control->bond_info]; + out_control->write_bonds = (out_control->bond_line_len ? 1 : 0); /* angles? */ - out_control->angle_line_len = angle_line_len[ out_control->angle_info ]; - out_control->write_angles = ( out_control->angle_line_len ? 1 : 0 ); + out_control->angle_line_len = angle_line_len[out_control->angle_info]; + out_control->write_angles = (out_control->angle_line_len ? 1 : 0); /* allocate line & buffer space */ - out_control->line = (char*) calloc( MAX_TRJ_LINE_LEN + 1, sizeof(char) ); out_control->buffer_len = 0; out_control->buffer = nullptr; @@ -313,59 +247,33 @@ int Init_Traj(reax_system *system, control_params *control, Write_Header(system, control, out_control); Write_Init_Desc(system, out_control, world); - - return SUCCESS; } - -int Write_Frame_Header(reax_system *system, control_params *control, - simulation_data *data, output_controls *out_control) +void Write_Frame_Header(reax_system *system, simulation_data *data, output_controls *out_control) { - int me, num_frm_hdr_lines, my_frm_hdr_lines, buffer_req; - - me = system->my_rank; + const int me = system->my_rank; /* frame header lengths */ - num_frm_hdr_lines = 22; - my_frm_hdr_lines = num_frm_hdr_lines * ( me == MASTER_NODE ); - buffer_req = my_frm_hdr_lines * HEADER_LINE_LEN; - if (buffer_req > out_control->buffer_len * DANGER_ZONE) - Reallocate_Output_Buffer( control->error_ptr, out_control, buffer_req ); + constexpr int num_frm_hdr_lines = 22; /* only the master node writes into trajectory header */ if (me == MASTER_NODE) { - /* clear the contents of line & buffer */ - out_control->line[0] = 0; - out_control->buffer[0] = 0; + std::string buffer(""); /* skip info */ - sprintf( out_control->line, INT_LINE, "chars_to_skip_frame_header:", - (num_frm_hdr_lines - 1) * HEADER_LINE_LEN ); - strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); + buffer += fmtline("chars_to_skip_frame_header:", (num_frm_hdr_lines-1)*HEADER_LINE_LEN); /* step & time */ - sprintf( out_control->line, INT_LINE, "step:", data->step ); - strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); - - sprintf( out_control->line, REAL_LINE, "time_in_ps:", 0.0); - strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); + buffer += fmtline("step:", data->step); + buffer += fmtline("time_in_ps:", 0.0); /* box info */ - sprintf( out_control->line, REAL_LINE, "volume:", 0.0 ); - strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); - - sprintf( out_control->line, REAL3_LINE, "box_dimensions:", 0.0, 0.0, 0.0); - strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); - - sprintf( out_control->line, REAL3_LINE, - "coordinate_angles:", 90.0, 90.0, 90.0 ); - strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); + buffer += fmtline("volume:", 0.0); + buffer += fmtline("box_dimensions:", 0.0, 0.0, 0.0); + buffer += fmtline("coordinate_angles:", 90.0, 90.0, 90.0); /* system T and P */ - sprintf( out_control->line, REAL_LINE, "temperature:", 0.0); - strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); - - sprintf( out_control->line, REAL_LINE, "pressure:", 0.0); - strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); + buffer += fmtline("temperature:", 0.0); + buffer += fmtline("pressure:", 0.0); /* energies */ double epot = data->sys_en.e_bond + data->sys_en.e_ov + data->sys_en.e_un @@ -374,71 +282,28 @@ int Write_Frame_Header(reax_system *system, control_params *control, + data->sys_en.e_con + data->sys_en.e_vdW + data->sys_en.e_ele + data->my_en.e_pol; - sprintf( out_control->line, REAL_LINE, "total_energy:", epot); - strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); + buffer += fmtline("total_energy:", epot); + buffer += fmtline("total_kinetic:", 0.0); + buffer += fmtline("total_potential:", epot); + buffer += fmtline("bond_energy:", data->sys_en.e_bond); + buffer += fmtline("atom_energy:", data->sys_en.e_ov + data->sys_en.e_un); + buffer += fmtline("lone_pair_energy:", data->sys_en.e_lp); + buffer += fmtline("valence_angle_energy:", data->sys_en.e_ang + data->sys_en.e_pen); + buffer += fmtline("3-body_conjugation:", data->sys_en.e_coa); + buffer += fmtline("hydrogen_bond_energy:", data->sys_en.e_hb); + buffer += fmtline("torsion_angle_energy:", data->sys_en.e_tor); + buffer += fmtline("4-body_conjugation:", data->sys_en.e_con); + buffer += fmtline("vdWaals_energy:", data->sys_en.e_vdW); + buffer += fmtline("electrostatics_energy:", data->sys_en.e_ele); + buffer += fmtline("polarization_energy:", data->sys_en.e_pol); - sprintf( out_control->line, REAL_LINE, "total_kinetic:", 0.0); - strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); - - sprintf( out_control->line, REAL_LINE, "total_potential:", epot); - strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); - - sprintf( out_control->line, REAL_LINE, "bond_energy:", - data->sys_en.e_bond ); - strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); - - sprintf( out_control->line, REAL_LINE, "atom_energy:", - data->sys_en.e_ov + data->sys_en.e_un ); - strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); - - sprintf( out_control->line, REAL_LINE, "lone_pair_energy:", - data->sys_en.e_lp ); - strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); - - sprintf( out_control->line, REAL_LINE, "valence_angle_energy:", - data->sys_en.e_ang + data->sys_en.e_pen ); - strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); - - sprintf( out_control->line, REAL_LINE, "3-body_conjugation:", - data->sys_en.e_coa ); - strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); - - sprintf( out_control->line, REAL_LINE, "hydrogen_bond_energy:", - data->sys_en.e_hb ); - strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); - - sprintf( out_control->line, REAL_LINE, "torsion_angle_energy:", - data->sys_en.e_tor ); - strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); - - sprintf( out_control->line, REAL_LINE, "4-body_conjugation:", - data->sys_en.e_con ); - strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); - - sprintf( out_control->line, REAL_LINE, "vdWaals_energy:", - data->sys_en.e_vdW ); - strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); - - sprintf( out_control->line, REAL_LINE, "electrostatics_energy:", - data->sys_en.e_ele ); - strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); - - sprintf( out_control->line, REAL_LINE, "polarization_energy:", - data->sys_en.e_pol ); - strncat( out_control->buffer, out_control->line, HEADER_LINE_LEN+1 ); + /* dump out the buffer */ + fputs(buffer.c_str(),out_control->strj); } - - /* dump out the buffer */ - if (system->my_rank == MASTER_NODE) - fprintf( out_control->strj, "%s", out_control->buffer ); - - return SUCCESS; } - - -int Write_Atoms(reax_system *system, output_controls *out_control, - MPI_Comm world) +void Write_Atoms(reax_system *system, output_controls *out_control, + MPI_Comm world) { int i, me, np, line_len, buffer_len, buffer_req, cnt; MPI_Status status; @@ -455,65 +320,60 @@ int Write_Atoms(reax_system *system, output_controls *out_control, else buffer_req = system->n * line_len + 1; if (buffer_req > out_control->buffer_len * DANGER_ZONE) - Reallocate_Output_Buffer( system->error_ptr, out_control, buffer_req ); + Reallocate_Output_Buffer(system->error_ptr, out_control, buffer_req); /* fill in buffer */ - out_control->line[0] = 0; out_control->buffer[0] = 0; + for (i = 0; i < system->n; ++i) { - p_atom = &( system->my_atoms[i] ); - + std::string buffer(""); + p_atom = &(system->my_atoms[i]); + buffer += fmt::format("{:9}{:10.3f}{:10.3f}{:10.3f}",p_atom->orig_id, + p_atom->x[0], p_atom->x[1],p_atom->x[2]); + switch (out_control->atom_info) { case OPT_ATOM_BASIC: - sprintf( out_control->line, ATOM_BASIC, - p_atom->orig_id, p_atom->x[0], p_atom->x[1], p_atom->x[2], - p_atom->q ); + buffer += fmt::format("{:10.3f}\n",p_atom->q); break; case OPT_ATOM_wF: - sprintf( out_control->line, ATOM_wF, - p_atom->orig_id, p_atom->x[0], p_atom->x[1], p_atom->x[2], - p_atom->f[0], p_atom->f[1], p_atom->f[2], p_atom->q ); + buffer += fmt::format("{:10.3f}{:10.3f}{:10.3f}{:10.3f}\n", + p_atom->f[0], p_atom->f[1], p_atom->f[2], p_atom->q); break; case OPT_ATOM_wV: - sprintf( out_control->line, ATOM_wV, - p_atom->orig_id, p_atom->x[0], p_atom->x[1], p_atom->x[2], - p_atom->v[0], p_atom->v[1], p_atom->v[2], p_atom->q ); + buffer += fmt::format("{:10.3f}{:10.3f}{:10.3f}{:10.3f}\n", + p_atom->v[0], p_atom->v[1], p_atom->v[2], p_atom->q); break; case OPT_ATOM_FULL: - sprintf( out_control->line, ATOM_FULL, - p_atom->orig_id, p_atom->x[0], p_atom->x[1], p_atom->x[2], - p_atom->v[0], p_atom->v[1], p_atom->v[2], - p_atom->f[0], p_atom->f[1], p_atom->f[2], p_atom->q ); + buffer += fmt::format("{:10.3f}{:10.3f}{:10.3f}{:10.3f}{:10.3f}{:10.3f}\n", + p_atom->v[0], p_atom->v[1], p_atom->v[2], + p_atom->f[0], p_atom->f[1], p_atom->f[2], p_atom->q); break; default: system->error_ptr->one(FLERR,"Write_traj_atoms: unknown atom trajectory format"); } - strncpy( out_control->buffer + i*line_len, out_control->line, line_len+1 ); + strncpy(out_control->buffer + i*line_len, buffer.c_str(), line_len+1); } if (me != MASTER_NODE) { - MPI_Send( out_control->buffer, buffer_req-1, MPI_CHAR, MASTER_NODE, - np*ATOM_LINES+me, world); + MPI_Send(out_control->buffer, buffer_req-1, MPI_CHAR, MASTER_NODE, + np*ATOM_LINES+me, world); } else { buffer_len = system->n * line_len; for (i = 0; i < np; ++i) if (i != MASTER_NODE) { - MPI_Recv( out_control->buffer + buffer_len, buffer_req - buffer_len, - MPI_CHAR, i, np*ATOM_LINES+i, world, &status ); - MPI_Get_count( &status, MPI_CHAR, &cnt ); + MPI_Recv(out_control->buffer + buffer_len, buffer_req - buffer_len, + MPI_CHAR, i, np*ATOM_LINES+i, world, &status); + MPI_Get_count(&status, MPI_CHAR, &cnt); buffer_len += cnt; } out_control->buffer[buffer_len] = 0; - fprintf( out_control->strj, "%s", out_control->buffer ); + fputs(out_control->buffer, out_control->strj); } - - return SUCCESS; } - -int Write_Bonds(reax_system *system, control_params *control, reax_list *bonds, - output_controls *out_control, MPI_Comm world) +void Write_Bonds(reax_system *system, control_params *control, reax_list *bonds, + output_controls *out_control, MPI_Comm world) { int i, j, pj, me, np; int my_bonds, num_bonds; @@ -530,78 +390,71 @@ int Write_Bonds(reax_system *system, control_params *control, reax_list *bonds, for (i=0; i < system->n; ++i) for (pj = Start_Index(i, bonds); pj < End_Index(i, bonds); ++pj) { j = bonds->select.bond_list[pj].nbr; - if ( system->my_atoms[i].orig_id <= system->my_atoms[j].orig_id && - bonds->select.bond_list[pj].bo_data.BO >= control->bg_cut ) + if (system->my_atoms[i].orig_id <= system->my_atoms[j].orig_id && + bonds->select.bond_list[pj].bo_data.BO >= control->bg_cut) ++my_bonds; } /* allreduce - total number of bonds */ - MPI_Allreduce( &my_bonds, &num_bonds, 1, MPI_INT, MPI_SUM, world ); + MPI_Allreduce(&my_bonds, &num_bonds, 1, MPI_INT, MPI_SUM, world); - Write_Skip_Line( out_control, me, num_bonds*line_len, num_bonds ); + Write_Skip_Line(out_control, me, num_bonds*line_len, num_bonds); if (me == MASTER_NODE) buffer_req = num_bonds * line_len + 1; else buffer_req = my_bonds * line_len + 1; if (buffer_req > out_control->buffer_len * DANGER_ZONE) - Reallocate_Output_Buffer( system->error_ptr, out_control, buffer_req ); + Reallocate_Output_Buffer(system->error_ptr, out_control, buffer_req); /* fill in the buffer */ - out_control->line[0] = 0; out_control->buffer[0] = 0; my_bonds = 0; for (i=0; i < system->n; ++i) { for (pj = Start_Index(i, bonds); pj < End_Index(i, bonds); ++pj) { - bo_ij = &( bonds->select.bond_list[pj] ); + bo_ij = &(bonds->select.bond_list[pj]); j = bo_ij->nbr; - if ( system->my_atoms[i].orig_id <= system->my_atoms[j].orig_id && + if (system->my_atoms[i].orig_id <= system->my_atoms[j].orig_id && bo_ij->bo_data.BO >= control->bg_cut) { + auto buffer = fmt::format("{:9}{:9}{:10.3f}{:10.3f}", system->my_atoms[i].orig_id, + system->my_atoms[j].orig_id,bo_ij->d,bo_ij->bo_data.BO); + switch (out_control->bond_info) { case OPT_BOND_BASIC: - sprintf( out_control->line, BOND_BASIC, - system->my_atoms[i].orig_id, system->my_atoms[j].orig_id, - bo_ij->d, bo_ij->bo_data.BO ); + buffer += "\n"; break; case OPT_BOND_FULL: - sprintf( out_control->line, BOND_FULL, - system->my_atoms[i].orig_id, system->my_atoms[j].orig_id, - bo_ij->d, bo_ij->bo_data.BO, bo_ij->bo_data.BO_s, - bo_ij->bo_data.BO_pi, bo_ij->bo_data.BO_pi2 ); + buffer += fmt::format("{:10.3f}{:10.3f}{:10.3f}\n", bo_ij->bo_data.BO_s, + bo_ij->bo_data.BO_pi, bo_ij->bo_data.BO_pi2); break; default: system->error_ptr->one(FLERR, "Write_traj_bonds: FATAL! invalid bond_info option"); } - strncpy( out_control->buffer + my_bonds*line_len, - out_control->line, line_len+1 ); + strncpy(out_control->buffer + my_bonds*line_len, buffer.c_str(), line_len+1); ++my_bonds; } } } if (me != MASTER_NODE) { - MPI_Send( out_control->buffer, buffer_req-1, MPI_CHAR, MASTER_NODE, - np*BOND_LINES+me, world ); + MPI_Send(out_control->buffer, buffer_req-1, MPI_CHAR, MASTER_NODE, np*BOND_LINES+me, world); } else { buffer_len = my_bonds * line_len; for (i = 0; i < np; ++i) if (i != MASTER_NODE) { - MPI_Recv( out_control->buffer + buffer_len, buffer_req - buffer_len, - MPI_CHAR, i, np*BOND_LINES+i, world, &status ); - MPI_Get_count( &status, MPI_CHAR, &cnt ); + MPI_Recv(out_control->buffer + buffer_len, buffer_req - buffer_len, + MPI_CHAR, i, np*BOND_LINES+i, world, &status); + MPI_Get_count(&status, MPI_CHAR, &cnt); buffer_len += cnt; } out_control->buffer[buffer_len] = 0; - fprintf( out_control->strj, "%s", out_control->buffer ); + fputs(out_control->buffer,out_control->strj); } - - return SUCCESS; } - -int Write_Angles( reax_system *system, control_params *control, +void Write_Angles(reax_system *system, control_params *control, reax_list *bonds, reax_list *thb_intrs, output_controls *out_control, MPI_Comm world) { @@ -624,32 +477,31 @@ int Write_Angles( reax_system *system, control_params *control, i = bo_ij->nbr; if (bo_ij->bo_data.BO >= control->bg_cut) // physical j&i bond - for (pk = Start_Index( pi, thb_intrs); - pk < End_Index( pi, thb_intrs ); ++pk) { + for (pk = Start_Index(pi, thb_intrs); + pk < End_Index(pi, thb_intrs); ++pk) { angle_ijk = &(thb_intrs->select.three_body_list[pk]); k = angle_ijk->thb; bo_jk = &(bonds->select.bond_list[ angle_ijk->pthb ]); - if ( system->my_atoms[i].orig_id < system->my_atoms[k].orig_id && - bo_jk->bo_data.BO >= control->bg_cut ) // physical j&k bond + if (system->my_atoms[i].orig_id < system->my_atoms[k].orig_id && + bo_jk->bo_data.BO >= control->bg_cut) // physical j&k bond ++my_angles; } } /* total number of valences */ MPI_Allreduce(&my_angles, &num_angles, 1, MPI_INT, MPI_SUM, world); - Write_Skip_Line( out_control, me, num_angles*line_len, num_angles ); + Write_Skip_Line(out_control, me, num_angles*line_len, num_angles); if (me == MASTER_NODE) buffer_req = num_angles * line_len + 1; else buffer_req = my_angles * line_len + 1; if (buffer_req > out_control->buffer_len * DANGER_ZONE) - Reallocate_Output_Buffer( system->error_ptr, out_control, buffer_req ); + Reallocate_Output_Buffer(system->error_ptr, out_control, buffer_req); /* fill in the buffer */ my_angles = 0; - out_control->line[0] = 0; out_control->buffer[0] = 0; for (j = 0; j < system->n; ++j) for (pi = Start_Index(j, bonds); pi < End_Index(j, bonds); ++pi) { @@ -657,50 +509,46 @@ int Write_Angles( reax_system *system, control_params *control, i = bo_ij->nbr; if (bo_ij->bo_data.BO >= control->bg_cut) // physical j&i bond - for (pk = Start_Index( pi, thb_intrs); - pk < End_Index( pi, thb_intrs ); ++pk) { + for (pk = Start_Index(pi, thb_intrs); + pk < End_Index(pi, thb_intrs); ++pk) { angle_ijk = &(thb_intrs->select.three_body_list[pk]); k = angle_ijk->thb; bo_jk = &(bonds->select.bond_list[ angle_ijk->pthb ]); - if ( system->my_atoms[i].orig_id < system->my_atoms[k].orig_id && + if (system->my_atoms[i].orig_id < system->my_atoms[k].orig_id && bo_jk->bo_data.BO >= control->bg_cut) { // physical j&k bond - sprintf( out_control->line, ANGLE_BASIC, - system->my_atoms[i].orig_id, system->my_atoms[j].orig_id, - system->my_atoms[k].orig_id, RAD2DEG( angle_ijk->theta ) ); + auto buffer = fmt::format("{:9}{:9}{:9}{:10.3f}\n", + system->my_atoms[i].orig_id, system->my_atoms[j].orig_id, + system->my_atoms[k].orig_id, RAD2DEG(angle_ijk->theta)); - strncpy( out_control->buffer + my_angles*line_len, - out_control->line, line_len+1 ); + strncpy(out_control->buffer + my_angles*line_len, buffer.c_str(), line_len+1); ++my_angles; } } } if (me != MASTER_NODE) { - MPI_Send( out_control->buffer, buffer_req-1, MPI_CHAR, MASTER_NODE, - np*ANGLE_LINES+me, world ); + MPI_Send(out_control->buffer, buffer_req-1, MPI_CHAR, MASTER_NODE, + np*ANGLE_LINES+me, world); } else { buffer_len = my_angles * line_len; for (i = 0; i < np; ++i) if (i != MASTER_NODE) { - MPI_Recv( out_control->buffer + buffer_len, buffer_req - buffer_len, - MPI_CHAR, i, np*ANGLE_LINES+i, world, &status ); - MPI_Get_count( &status, MPI_CHAR, &cnt ); + MPI_Recv(out_control->buffer + buffer_len, buffer_req - buffer_len, + MPI_CHAR, i, np*ANGLE_LINES+i, world, &status); + MPI_Get_count(&status, MPI_CHAR, &cnt); buffer_len += cnt; } out_control->buffer[buffer_len] = 0; - fprintf( out_control->strj, "%s", out_control->buffer ); + fputs(out_control->buffer,out_control->strj); } - - return SUCCESS; } - -int Append_Frame(reax_system *system, control_params *control, - simulation_data *data, reax_list **lists, - output_controls *out_control, MPI_Comm world) +void Append_Frame(reax_system *system, control_params *control, + simulation_data *data, reax_list **lists, + output_controls *out_control, MPI_Comm world) { - Write_Frame_Header(system, control, data, out_control); + Write_Frame_Header(system, data, out_control); if (out_control->write_atoms) Write_Atoms(system, out_control, world); @@ -710,19 +558,13 @@ int Append_Frame(reax_system *system, control_params *control, if (out_control->write_angles) Write_Angles(system, control, (*lists + BONDS), (*lists + THREE_BODIES), - out_control, world); - - return SUCCESS; + out_control, world); } - -int End_Traj(int my_rank, output_controls *out_control) +void End_Traj(int my_rank, output_controls *out_control) { if (my_rank == MASTER_NODE) fclose(out_control->strj); free(out_control->buffer); - free(out_control->line); - - return SUCCESS; } diff --git a/src/USER-REAXC/reaxc_traj.h b/src/USER-REAXC/reaxc_traj.h index cb3f12b6f4..93fa4a6771 100644 --- a/src/USER-REAXC/reaxc_traj.h +++ b/src/USER-REAXC/reaxc_traj.h @@ -24,81 +24,15 @@ . ----------------------------------------------------------------------*/ -#ifndef __TRAJ_H__ -#define __TRAJ_H__ +#ifndef LMP_REAXC_TRAJ_H +#define LMP_REAXC_TRAJ_H #include "reaxc_types.h" #include -#define MAX_TRJ_LINE_LEN 120 -#define MAX_TRJ_BUFFER_SIZE (MAX_TRJ_LINE_LEN * 100) - -#define NUM_HEADER_LINES 37 -#define HEADER_LINE_LEN 62 -#define STR_LINE "%-37s%-24s\n" -#define INT_LINE "%-37s%-24d\n" -#if defined(LAMMPS_SMALLSMALL) -#define BIGINT_LINE "%-37s%-24d\n" -#else -#define BIGINT_LINE "%-37s%-24lld\n" -#endif -#define INT2_LINE "%-36s%-12d,%-12d\n" -#define REAL_LINE "%-37s%-24.3f\n" -#define SCI_LINE "%-37s%-24g\n" -#define REAL3_LINE "%-32s%9.3f,%9.3f,%9.3f\n" - -#if defined(LAMMPS_BIGBIG) -#define INIT_DESC "%9lld%3d%9s%10.3f\n" //AtomID - AtomType, AtomName, AtomMass -#else -#define INIT_DESC "%9d%3d%9s%10.3f\n" //AtomID - AtomType, AtomName, AtomMass -#endif -#define INIT_DESC_LEN 32 - -#define SIZE_INFO_LINE2 "%-10d%-10d\n" -#define SIZE_INFO_LEN2 21 - -#define SIZE_INFO_LINE3 "%-10d%-10d%-10d\n" -#define SIZE_INFO_LEN3 31 - -#if defined(LAMMPS_BIGBIG) -#define ATOM_BASIC "%9lld%10.3f%10.3f%10.3f%10.3f\n" //AtomID AtomType (X Y Z) Charge -#define ATOM_wV "%9ld%10.3f%10.3f%10.3f%10.3f%10.3f%10.3f%10.3f\n" //AtomID (X Y Z) (Vx Vy Vz) Charge -#define ATOM_wF "%9ld%10.3f%10.3f%10.3f%10.3f%10.3f%10.3f%10.3f\n" //AtomID (X Y Z) (Fx Fy Fz) Charge -#define ATOM_FULL "%9ld%10.3f%10.3f%10.3f%10.3f%10.3f%10.3f%10.3f%10.3f%10.3f%10.3f\n" //AtomID (X Y Z) (Vx Vy Vz) (Fx Fy Fz) Charge -#else -#define ATOM_BASIC "%9d%10.3f%10.3f%10.3f%10.3f\n" //AtomID AtomType (X Y Z) Charge -#define ATOM_wV "%9d%10.3f%10.3f%10.3f%10.3f%10.3f%10.3f%10.3f\n" //AtomID (X Y Z) (Vx Vy Vz) Charge -#define ATOM_wF "%9d%10.3f%10.3f%10.3f%10.3f%10.3f%10.3f%10.3f\n" //AtomID (X Y Z) (Fx Fy Fz) Charge -#define ATOM_FULL "%9d%10.3f%10.3f%10.3f%10.3f%10.3f%10.3f%10.3f%10.3f%10.3f%10.3f\n" //AtomID (X Y Z) (Vx Vy Vz) (Fx Fy Fz) Charge -#endif -#define ATOM_BASIC_LEN 50 -#define ATOM_wV_LEN 80 -#define ATOM_wF_LEN 80 -#define ATOM_FULL_LEN 110 - -#if defined(LAMMPS_BIGBIG) -#define BOND_BASIC "%9lld%9lld%10.3f%10.3f\n" // Atom1 Atom2 Dist Total_BO -#define BOND_FULL "%9lld%9lld%10.3f%10.3f%10.3f%10.3f%10.3f\n" // Atom1 Atom2 Dist Total_BO BOs BOpi BOpi2 -#define ANGLE_BASIC "%9lld%9lld%9lld%10.3f\n" // Atom1 Atom2 Atom3 Theta -#else -#define BOND_BASIC "%9d%9d%10.3f%10.3f\n" // Atom1 Atom2 Dist Total_BO -#define BOND_FULL "%9d%9d%10.3f%10.3f%10.3f%10.3f%10.3f\n" // Atom1 Atom2 Dist Total_BO BOs BOpi BOpi2 -#define ANGLE_BASIC "%9d%9d%9d%10.3f\n" // Atom1 Atom2 Atom3 Theta -#endif -#define BOND_BASIC_LEN 39 -#define BOND_FULL_LEN 69 -#define ANGLE_BASIC_LEN 38 - -enum ATOM_LINE_OPTS { OPT_NOATOM = 0, OPT_ATOM_BASIC = 4, OPT_ATOM_wF = 5, OPT_ATOM_wV = 6, OPT_ATOM_FULL = 7, NR_OPT_ATOM = 8 }; -enum BOND_LINE_OPTS { OPT_NOBOND, OPT_BOND_BASIC, OPT_BOND_FULL, NR_OPT_BOND }; -enum ANGLE_LINE_OPTS { OPT_NOANGLE, OPT_ANGLE_BASIC, NR_OPT_ANGLE }; - - -int Init_Traj( reax_system*, control_params*, output_controls*, - MPI_Comm , char* ); -int End_Traj( int, output_controls* ); - -int Append_Frame( reax_system*, control_params*, simulation_data*, - reax_list**, output_controls*, MPI_Comm); +void Init_Traj(reax_system *, control_params *, output_controls *, MPI_Comm); +void End_Traj(int, output_controls *); +void Append_Frame(reax_system *, control_params *, simulation_data *, + reax_list **, output_controls *, MPI_Comm); #endif diff --git a/src/USER-REAXC/reaxc_types.h b/src/USER-REAXC/reaxc_types.h index fcc21cbda2..94adf6c3f7 100644 --- a/src/USER-REAXC/reaxc_types.h +++ b/src/USER-REAXC/reaxc_types.h @@ -456,7 +456,6 @@ struct output_controls int write_atoms; int write_bonds; int write_angles; - char *line; int buffer_len; char *buffer; From f2772e58948a2d9c2aa555630c5231ca718508d8 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 16 Apr 2021 10:50:53 -0400 Subject: [PATCH 035/726] PIMPL-ify reax/c pair styles; first steps toward a ReaxFF namespace --- src/KOKKOS/pair_reaxc_kokkos.cpp | 319 +++++++++++----------- src/USER-OMP/pair_reaxc_omp.cpp | 196 +++++++------- src/USER-REAXC/fix_qeq_reax.cpp | 6 +- src/USER-REAXC/fix_reaxc_bonds.cpp | 14 +- src/USER-REAXC/pair_reaxc.cpp | 422 ++++++++++++++--------------- src/USER-REAXC/pair_reaxc.h | 22 +- src/USER-REAXC/reaxc_ffield.h | 4 +- src/USER-REAXC/reaxc_traj.cpp | 8 +- src/USER-REAXC/reaxc_types.h | 9 + src/USER-REAXC/reaxff_api.h | 38 +++ 10 files changed, 541 insertions(+), 497 deletions(-) create mode 100644 src/USER-REAXC/reaxff_api.h diff --git a/src/KOKKOS/pair_reaxc_kokkos.cpp b/src/KOKKOS/pair_reaxc_kokkos.cpp index f9f3ebfdfa..4ef82776d8 100644 --- a/src/KOKKOS/pair_reaxc_kokkos.cpp +++ b/src/KOKKOS/pair_reaxc_kokkos.cpp @@ -27,10 +27,13 @@ #include "math_special.h" #include "neigh_request.h" #include "neighbor.h" + #include "reaxc_defs.h" #include "reaxc_lookup.h" #include "reaxc_tool_box.h" +#include "reaxff_api.h" + #include @@ -174,14 +177,14 @@ void PairReaxCKokkos::setup() // general parameters for (i = 0; i < 39; i ++) - gp[i] = system->reax_param.gp.l[i]; + gp[i] = api->system->reax_param.gp.l[i]; p_boc1 = gp[0]; p_boc2 = gp[1]; // vdw parameters - vdwflag = system->reax_param.gp.vdw_type; - lgflag = control->lgflag; + vdwflag = api->system->reax_param.gp.vdw_type; + lgflag = api->control->lgflag; // atom, bond, angle, dihedral, H-bond specific parameters two_body_parameters *twbp; @@ -201,38 +204,38 @@ void PairReaxCKokkos::setup() if (map[i] == -1) continue; // general - k_params_sing.h_view(i).mass = system->reax_param.sbp[map[i]].mass; + k_params_sing.h_view(i).mass = api->system->reax_param.sbp[map[i]].mass; // polarization - k_params_sing.h_view(i).chi = system->reax_param.sbp[map[i]].chi; - k_params_sing.h_view(i).eta = system->reax_param.sbp[map[i]].eta; + k_params_sing.h_view(i).chi = api->system->reax_param.sbp[map[i]].chi; + k_params_sing.h_view(i).eta = api->system->reax_param.sbp[map[i]].eta; // bond order - k_params_sing.h_view(i).r_s = system->reax_param.sbp[map[i]].r_s; - k_params_sing.h_view(i).r_pi = system->reax_param.sbp[map[i]].r_pi; - k_params_sing.h_view(i).r_pi2 = system->reax_param.sbp[map[i]].r_pi_pi; - k_params_sing.h_view(i).valency = system->reax_param.sbp[map[i]].valency; - k_params_sing.h_view(i).valency_val = system->reax_param.sbp[map[i]].valency_val; - k_params_sing.h_view(i).valency_boc = system->reax_param.sbp[map[i]].valency_boc; - k_params_sing.h_view(i).valency_e = system->reax_param.sbp[map[i]].valency_e; - k_params_sing.h_view(i).nlp_opt = system->reax_param.sbp[map[i]].nlp_opt; + k_params_sing.h_view(i).r_s = api->system->reax_param.sbp[map[i]].r_s; + k_params_sing.h_view(i).r_pi = api->system->reax_param.sbp[map[i]].r_pi; + k_params_sing.h_view(i).r_pi2 = api->system->reax_param.sbp[map[i]].r_pi_pi; + k_params_sing.h_view(i).valency = api->system->reax_param.sbp[map[i]].valency; + k_params_sing.h_view(i).valency_val = api->system->reax_param.sbp[map[i]].valency_val; + k_params_sing.h_view(i).valency_boc = api->system->reax_param.sbp[map[i]].valency_boc; + k_params_sing.h_view(i).valency_e = api->system->reax_param.sbp[map[i]].valency_e; + k_params_sing.h_view(i).nlp_opt = api->system->reax_param.sbp[map[i]].nlp_opt; // multibody - k_params_sing.h_view(i).p_lp2 = system->reax_param.sbp[map[i]].p_lp2; - k_params_sing.h_view(i).p_ovun2 = system->reax_param.sbp[map[i]].p_ovun2; - k_params_sing.h_view(i).p_ovun5 = system->reax_param.sbp[map[i]].p_ovun5; + k_params_sing.h_view(i).p_lp2 = api->system->reax_param.sbp[map[i]].p_lp2; + k_params_sing.h_view(i).p_ovun2 = api->system->reax_param.sbp[map[i]].p_ovun2; + k_params_sing.h_view(i).p_ovun5 = api->system->reax_param.sbp[map[i]].p_ovun5; // angular - k_params_sing.h_view(i).p_val3 = system->reax_param.sbp[map[i]].p_val3; - k_params_sing.h_view(i).p_val5 = system->reax_param.sbp[map[i]].p_val5; + k_params_sing.h_view(i).p_val3 = api->system->reax_param.sbp[map[i]].p_val3; + k_params_sing.h_view(i).p_val5 = api->system->reax_param.sbp[map[i]].p_val5; // hydrogen bond - k_params_sing.h_view(i).p_hbond = system->reax_param.sbp[map[i]].p_hbond; + k_params_sing.h_view(i).p_hbond = api->system->reax_param.sbp[map[i]].p_hbond; for (j = 1; j <= n; j++) { if (map[j] == -1) continue; - twbp = &(system->reax_param.tbp[map[i]][map[j]]); + twbp = &(api->system->reax_param.tbp[map[i]][map[j]]); // vdW k_params_twbp.h_view(i,j).gamma = twbp->gamma; @@ -276,7 +279,7 @@ void PairReaxCKokkos::setup() if (map[k] == -1) continue; // Angular - thbh = &(system->reax_param.thbp[map[i]][map[j]][map[k]]); + thbh = &(api->system->reax_param.thbp[map[i]][map[j]][map[k]]); thbp = &(thbh->prm[0]); k_params_thbp.h_view(i,j,k).cnt = thbh->cnt; k_params_thbp.h_view(i,j,k).theta_00 = thbp->theta_00; @@ -288,7 +291,7 @@ void PairReaxCKokkos::setup() k_params_thbp.h_view(i,j,k).p_coa1 = thbp->p_coa1; // Hydrogen Bond - hbp = &(system->reax_param.hbp[map[i]][map[j]][map[k]]); + hbp = &(api->system->reax_param.hbp[map[i]][map[j]][map[k]]); k_params_hbp.h_view(i,j,k).p_hb1 = hbp->p_hb1; k_params_hbp.h_view(i,j,k).p_hb2 = hbp->p_hb2; k_params_hbp.h_view(i,j,k).p_hb3 = hbp->p_hb3; @@ -298,7 +301,7 @@ void PairReaxCKokkos::setup() if (map[m] == -1) continue; // Torsion - fbh = &(system->reax_param.fbp[map[i]][map[j]][map[k]][map[m]]); + fbh = &(api->system->reax_param.fbp[map[i]][map[j]][map[k]][map[m]]); fbp = &(fbh->prm[0]); k_params_fbp.h_view(i,j,k,m).p_tor1 = fbp->p_tor1; k_params_fbp.h_view(i,j,k,m).p_cot1 = fbp->p_cot1; @@ -316,13 +319,13 @@ void PairReaxCKokkos::setup() k_params_hbp.template modify(); // cutoffs - cut_nbsq = control->nonb_cut * control->nonb_cut; - cut_hbsq = control->hbond_cut * control->hbond_cut; - cut_bosq = control->bond_cut * control->bond_cut; + cut_nbsq = api->control->nonb_cut * api->control->nonb_cut; + cut_hbsq = api->control->hbond_cut * api->control->hbond_cut; + cut_bosq = api->control->bond_cut * api->control->bond_cut; // bond order cutoffs bo_cut = 0.01 * gp[29]; - thb_cut = control->thb_cut; + thb_cut = api->control->thb_cut; thb_cutsq = 0.000010; //thb_cut*thb_cut; if (atom->nmax > nmax) { @@ -338,13 +341,13 @@ void PairReaxCKokkos::init_md() { // init_taper() F_FLOAT d1, d7, swa, swa2, swa3, swb, swb2, swb3; - LR_lookup_table ** & LR = system->LR; + LR_lookup_table ** & LR = api->system->LR; - swa = control->nonb_low; - swb = control->nonb_cut; - enobondsflag = control->enobondsflag; + swa = api->control->nonb_low; + swb = api->control->nonb_cut; + enobondsflag = api->control->enobondsflag; - if (fabs(swa) > 0.01 ) + if (fabs(swa) > 0.01) error->warning(FLERR,"Warning: non-zero lower Taper-radius cutoff"); if (swb < 0) @@ -363,18 +366,18 @@ void PairReaxCKokkos::init_md() k_tap.h_view(7) = 20.0/d7; k_tap.h_view(6) = -70.0 * (swa + swb) / d7; k_tap.h_view(5) = 84.0 * (swa2 + 3.0*swa*swb + swb2) / d7; - k_tap.h_view(4) = -35.0 * (swa3 + 9.0*swa2*swb + 9.0*swa*swb2 + swb3 ) / d7; - k_tap.h_view(3) = 140.0 * (swa3*swb + 3.0*swa2*swb2 + swa*swb3 ) / d7; + k_tap.h_view(4) = -35.0 * (swa3 + 9.0*swa2*swb + 9.0*swa*swb2 + swb3) / d7; + k_tap.h_view(3) = 140.0 * (swa3*swb + 3.0*swa2*swb2 + swa*swb3) / d7; k_tap.h_view(2) =-210.0 * (swa3*swb2 + swa2*swb3) / d7; k_tap.h_view(1) = 140.0 * swa3 * swb3 / d7; k_tap.h_view(0) = (-35.0*swa3*swb2*swb2 + 21.0*swa2*swb3*swb2 - - 7.0*swa*swb3*swb3 + swb3*swb3*swb ) / d7; + 7.0*swa*swb3*swb3 + swb3*swb3*swb) / d7; k_tap.template modify(); k_tap.template sync(); - if (control->tabulate) { + if (api->control->tabulate) { int ntypes = atom->ntypes; Init_Lookup_Tables(); @@ -436,7 +439,7 @@ int PairReaxCKokkos::Init_Lookup_Tables() double dr; double *h, *fh, *fvdw, *fele, *fCEvd, *fCEclmb; double v0_vdw, v0_ele, vlast_vdw, vlast_ele; - LR_lookup_table ** & LR = system->LR; + LR_lookup_table ** & LR = api->system->LR; /* initializations */ v0_vdw = 0; @@ -445,49 +448,49 @@ int PairReaxCKokkos::Init_Lookup_Tables() vlast_ele = 0; num_atom_types = atom->ntypes; - dr = control->nonb_cut / control->tabulate; + dr = api->control->nonb_cut / api->control->tabulate; h = (double*) - smalloc( control->error_ptr, (control->tabulate+2) * sizeof(double), "lookup:h"); + smalloc(api->control->error_ptr, (api->control->tabulate+2) * sizeof(double), "lookup:h"); fh = (double*) - smalloc( control->error_ptr, (control->tabulate+2) * sizeof(double), "lookup:fh"); + smalloc(api->control->error_ptr, (api->control->tabulate+2) * sizeof(double), "lookup:fh"); fvdw = (double*) - smalloc( control->error_ptr, (control->tabulate+2) * sizeof(double), "lookup:fvdw"); + smalloc(api->control->error_ptr, (api->control->tabulate+2) * sizeof(double), "lookup:fvdw"); fCEvd = (double*) - smalloc( control->error_ptr, (control->tabulate+2) * sizeof(double), "lookup:fCEvd"); + smalloc(api->control->error_ptr, (api->control->tabulate+2) * sizeof(double), "lookup:fCEvd"); fele = (double*) - smalloc( control->error_ptr, (control->tabulate+2) * sizeof(double), "lookup:fele"); + smalloc(api->control->error_ptr, (api->control->tabulate+2) * sizeof(double), "lookup:fele"); fCEclmb = (double*) - smalloc( control->error_ptr, (control->tabulate+2) * sizeof(double), "lookup:fCEclmb"); + smalloc(api->control->error_ptr, (api->control->tabulate+2) * sizeof(double), "lookup:fCEclmb"); LR = (LR_lookup_table**) - scalloc( control->error_ptr, num_atom_types+1, sizeof(LR_lookup_table*), "lookup:LR"); + scalloc(api->control->error_ptr, num_atom_types+1, sizeof(LR_lookup_table*), "lookup:LR"); for (i = 0; i < num_atom_types+1; ++i) LR[i] = (LR_lookup_table*) - scalloc( control->error_ptr, num_atom_types+1, sizeof(LR_lookup_table), "lookup:LR[i]"); + scalloc(api->control->error_ptr, num_atom_types+1, sizeof(LR_lookup_table), "lookup:LR[i]"); for (i = 1; i <= num_atom_types; ++i) { for (j = i; j <= num_atom_types; ++j) { LR[i][j].xmin = 0; - LR[i][j].xmax = control->nonb_cut; - LR[i][j].n = control->tabulate + 2; + LR[i][j].xmax = api->control->nonb_cut; + LR[i][j].n = api->control->tabulate + 2; LR[i][j].dx = dr; - LR[i][j].inv_dx = control->tabulate / control->nonb_cut; + LR[i][j].inv_dx = api->control->tabulate / api->control->nonb_cut; LR[i][j].y = (LR_data*) - smalloc( control->error_ptr, LR[i][j].n * sizeof(LR_data), "lookup:LR[i,j].y"); + smalloc(api->control->error_ptr, LR[i][j].n * sizeof(LR_data), "lookup:LR[i,j].y"); LR[i][j].H = (cubic_spline_coef*) - smalloc( control->error_ptr, LR[i][j].n*sizeof(cubic_spline_coef),"lookup:LR[i,j].H"); + smalloc(api->control->error_ptr, LR[i][j].n*sizeof(cubic_spline_coef),"lookup:LR[i,j].H"); LR[i][j].vdW = (cubic_spline_coef*) - smalloc( control->error_ptr, LR[i][j].n*sizeof(cubic_spline_coef),"lookup:LR[i,j].vdW"); + smalloc(api->control->error_ptr, LR[i][j].n*sizeof(cubic_spline_coef),"lookup:LR[i,j].vdW"); LR[i][j].CEvd = (cubic_spline_coef*) - smalloc( control->error_ptr, LR[i][j].n*sizeof(cubic_spline_coef),"lookup:LR[i,j].CEvd"); + smalloc(api->control->error_ptr, LR[i][j].n*sizeof(cubic_spline_coef),"lookup:LR[i,j].CEvd"); LR[i][j].ele = (cubic_spline_coef*) - smalloc( control->error_ptr, LR[i][j].n*sizeof(cubic_spline_coef),"lookup:LR[i,j].ele"); + smalloc(api->control->error_ptr, LR[i][j].n*sizeof(cubic_spline_coef),"lookup:LR[i,j].ele"); LR[i][j].CEclmb = (cubic_spline_coef*) - smalloc( control->error_ptr, LR[i][j].n*sizeof(cubic_spline_coef), + smalloc(api->control->error_ptr, LR[i][j].n*sizeof(cubic_spline_coef), "lookup:LR[i,j].CEclmb"); - for (r = 1; r <= control->tabulate; ++r) { - LR_vdW_Coulomb(i, j, r * dr, &(LR[i][j].y[r]) ); + for (r = 1; r <= api->control->tabulate; ++r) { + LR_vdW_Coulomb(i, j, r * dr, &(LR[i][j].y[r])); h[r] = LR[i][j].dx; fh[r] = LR[i][j].y[r].H; fvdw[r] = LR[i][j].y[r].e_vdW; @@ -508,20 +511,20 @@ int PairReaxCKokkos::Init_Lookup_Tables() vlast_vdw = fCEvd[r-1]; vlast_ele = fele[r-1]; - Natural_Cubic_Spline( control->error_ptr, &h[1], &fh[1], - &(LR[i][j].H[1]), control->tabulate+1 ); + Natural_Cubic_Spline(api->control->error_ptr, &h[1], &fh[1], + &(LR[i][j].H[1]), api->control->tabulate+1); - Complete_Cubic_Spline( control->error_ptr, &h[1], &fvdw[1], v0_vdw, vlast_vdw, - &(LR[i][j].vdW[1]), control->tabulate+1 ); + Complete_Cubic_Spline(api->control->error_ptr, &h[1], &fvdw[1], v0_vdw, vlast_vdw, + &(LR[i][j].vdW[1]), api->control->tabulate+1); - Natural_Cubic_Spline( control->error_ptr, &h[1], &fCEvd[1], - &(LR[i][j].CEvd[1]), control->tabulate+1 ); + Natural_Cubic_Spline(api->control->error_ptr, &h[1], &fCEvd[1], + &(LR[i][j].CEvd[1]), api->control->tabulate+1); - Complete_Cubic_Spline( control->error_ptr, &h[1], &fele[1], v0_ele, vlast_ele, - &(LR[i][j].ele[1]), control->tabulate+1 ); + Complete_Cubic_Spline(api->control->error_ptr, &h[1], &fele[1], v0_ele, vlast_ele, + &(LR[i][j].ele[1]), api->control->tabulate+1); - Natural_Cubic_Spline( control->error_ptr, &h[1], &fCEclmb[1], - &(LR[i][j].CEclmb[1]), control->tabulate+1 ); + Natural_Cubic_Spline(api->control->error_ptr, &h[1], &fCEclmb[1], + &(LR[i][j].CEclmb[1]), api->control->tabulate+1); } } free(h); @@ -541,7 +544,7 @@ void PairReaxCKokkos::Deallocate_Lookup_Tables() { int i, j; int ntypes; - LR_lookup_table ** & LR = system->LR; + LR_lookup_table ** & LR = api->system->LR; ntypes = atom->ntypes; @@ -550,25 +553,25 @@ void PairReaxCKokkos::Deallocate_Lookup_Tables() for (j = i; j <= ntypes; ++j) { if (map[i] == -1) continue; if (LR[i][j].n) { - sfree( control->error_ptr, LR[i][j].y, "LR[i,j].y" ); - sfree( control->error_ptr, LR[i][j].H, "LR[i,j].H" ); - sfree( control->error_ptr, LR[i][j].vdW, "LR[i,j].vdW" ); - sfree( control->error_ptr, LR[i][j].CEvd, "LR[i,j].CEvd" ); - sfree( control->error_ptr, LR[i][j].ele, "LR[i,j].ele" ); - sfree( control->error_ptr, LR[i][j].CEclmb, "LR[i,j].CEclmb" ); + sfree(api->control->error_ptr, LR[i][j].y, "LR[i,j].y"); + sfree(api->control->error_ptr, LR[i][j].H, "LR[i,j].H"); + sfree(api->control->error_ptr, LR[i][j].vdW, "LR[i,j].vdW"); + sfree(api->control->error_ptr, LR[i][j].CEvd, "LR[i,j].CEvd"); + sfree(api->control->error_ptr, LR[i][j].ele, "LR[i,j].ele"); + sfree(api->control->error_ptr, LR[i][j].CEclmb, "LR[i,j].CEclmb"); } } - sfree( control->error_ptr, LR[i], "LR[i]" ); + sfree(api->control->error_ptr, LR[i], "LR[i]"); } - sfree( control->error_ptr, LR, "LR" ); + sfree(api->control->error_ptr, LR, "LR"); } /* ---------------------------------------------------------------------- */ template -void PairReaxCKokkos::LR_vdW_Coulomb( int i, int j, double r_ij, LR_data *lr ) +void PairReaxCKokkos::LR_vdW_Coulomb(int i, int j, double r_ij, LR_data *lr) { - double p_vdW1 = system->reax_param.gp.l[28]; + double p_vdW1 = api->system->reax_param.gp.l[28]; double p_vdW1i = 1.0 / p_vdW1; double powr_vdW1, powgi_vdW1; double tmp, fn13, exp1, exp2; @@ -578,7 +581,7 @@ void PairReaxCKokkos::LR_vdW_Coulomb( int i, int j, double r_ij, LR_ double e_lg, de_lg, r_ij5, r_ij6, re6; two_body_parameters *twbp; - twbp = &(system->reax_param.tbp[map[i]][map[j]]); + twbp = &(api->system->reax_param.tbp[map[i]][map[j]]); e_core = 0; de_core = 0; e_lg = de_lg = 0.0; @@ -600,32 +603,32 @@ void PairReaxCKokkos::LR_vdW_Coulomb( int i, int j, double r_ij, LR_ dTap += k_tap.h_view[1]/r_ij; /*vdWaals Calculations*/ - if (system->reax_param.gp.vdw_type==1 || system->reax_param.gp.vdw_type==3) + if (api->system->reax_param.gp.vdw_type==1 || api->system->reax_param.gp.vdw_type==3) { // shielding powr_vdW1 = pow(r_ij, p_vdW1); - powgi_vdW1 = pow( 1.0 / twbp->gamma_w, p_vdW1); + powgi_vdW1 = pow(1.0 / twbp->gamma_w, p_vdW1); - fn13 = pow( powr_vdW1 + powgi_vdW1, p_vdW1i ); - exp1 = exp( twbp->alpha * (1.0 - fn13 / twbp->r_vdW) ); - exp2 = exp( 0.5 * twbp->alpha * (1.0 - fn13 / twbp->r_vdW) ); + fn13 = pow(powr_vdW1 + powgi_vdW1, p_vdW1i); + exp1 = exp(twbp->alpha * (1.0 - fn13 / twbp->r_vdW)); + exp2 = exp(0.5 * twbp->alpha * (1.0 - fn13 / twbp->r_vdW)); lr->e_vdW = Tap * twbp->D * (exp1 - 2.0 * exp2); - dfn13 = pow( powr_vdW1 + powgi_vdW1, p_vdW1i-1.0) * pow(r_ij, p_vdW1-2.0); + dfn13 = pow(powr_vdW1 + powgi_vdW1, p_vdW1i-1.0) * pow(r_ij, p_vdW1-2.0); lr->CEvd = dTap * twbp->D * (exp1 - 2.0 * exp2) - Tap * twbp->D * (twbp->alpha / twbp->r_vdW) * (exp1 - exp2) * dfn13; } else { // no shielding - exp1 = exp( twbp->alpha * (1.0 - r_ij / twbp->r_vdW) ); - exp2 = exp( 0.5 * twbp->alpha * (1.0 - r_ij / twbp->r_vdW) ); + exp1 = exp(twbp->alpha * (1.0 - r_ij / twbp->r_vdW)); + exp2 = exp(0.5 * twbp->alpha * (1.0 - r_ij / twbp->r_vdW)); lr->e_vdW = Tap * twbp->D * (exp1 - 2.0 * exp2); lr->CEvd = dTap * twbp->D * (exp1 - 2.0 * exp2) - Tap * twbp->D * (twbp->alpha / twbp->r_vdW) * (exp1 - exp2) / r_ij; } - if (system->reax_param.gp.vdw_type==2 || system->reax_param.gp.vdw_type==3) + if (api->system->reax_param.gp.vdw_type==2 || api->system->reax_param.gp.vdw_type==3) { // inner wall e_core = twbp->ecore * exp(twbp->acore * (1.0-(r_ij/twbp->rcore))); lr->e_vdW += Tap * e_core; @@ -634,14 +637,14 @@ void PairReaxCKokkos::LR_vdW_Coulomb( int i, int j, double r_ij, LR_ lr->CEvd += dTap * e_core + Tap * de_core / r_ij; // lg correction, only if lgvdw is yes - if (control->lgflag) { - r_ij5 = powint( r_ij, 5 ); - r_ij6 = powint( r_ij, 6 ); - re6 = powint( twbp->lgre, 6 ); - e_lg = -(twbp->lgcij/( r_ij6 + re6 )); + if (api->control->lgflag) { + r_ij5 = powint(r_ij, 5); + r_ij6 = powint(r_ij, 6); + re6 = powint(twbp->lgre, 6); + e_lg = -(twbp->lgcij/(r_ij6 + re6)); lr->e_vdW += Tap * e_lg; - de_lg = -6.0 * e_lg * r_ij5 / ( r_ij6 + re6 ) ; + de_lg = -6.0 * e_lg * r_ij5 / (r_ij6 + re6) ; lr->CEvd += dTap * e_lg + Tap * de_lg/r_ij; } @@ -649,14 +652,14 @@ void PairReaxCKokkos::LR_vdW_Coulomb( int i, int j, double r_ij, LR_ /* Coulomb calculations */ - dr3gamij_1 = ( r_ij * r_ij * r_ij + twbp->gamma ); - dr3gamij_3 = pow( dr3gamij_1 , 0.33333333333333 ); + dr3gamij_1 = (r_ij * r_ij * r_ij + twbp->gamma); + dr3gamij_3 = pow(dr3gamij_1 , 0.33333333333333); tmp = Tap / dr3gamij_3; lr->H = EV_to_KCALpMOL * tmp; lr->e_ele = C_ele * tmp; - lr->CEclmb = C_ele * ( dTap - Tap * r_ij / dr3gamij_1 ) / dr3gamij_3; + lr->CEclmb = C_ele * (dTap - Tap * r_ij / dr3gamij_1) / dr3gamij_3; } /* ---------------------------------------------------------------------- */ @@ -736,7 +739,7 @@ void PairReaxCKokkos::compute(int eflag_in, int vflag_in) pvector[13] = ev.ecoul; // LJ + Coulomb - if (control->tabulate) { + if (api->control->tabulate) { if (neighflag == HALF) { if (evflag) Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,inum),*this,ev); @@ -1276,8 +1279,8 @@ void PairReaxCKokkos::operator()(PairReaxComputeTabulatedLJCoulomb cut_nbsq) continue; const F_FLOAT rij = sqrt(rsq); - const int tmin = MIN( itype, jtype ); - const int tmax = MAX( itype, jtype ); + const int tmin = MIN(itype, jtype); + const int tmax = MAX(itype, jtype); const LR_lookup_table_kk& t = d_LR(tmin,tmax); @@ -1665,7 +1668,7 @@ void PairReaxCKokkos::operator()(PairReaxBuildListsHalf, } d_hb_list[j_index] = j; - } else if ( j < nlocal && ihb == 2 && jhb == 1) { + } else if (j < nlocal && ihb == 2 && jhb == 1) { if (NEIGHFLAG == HALF) { i_index = d_hb_first[j] + d_hb_num[j]; d_hb_num[j]++; @@ -1880,7 +1883,7 @@ void PairReaxCKokkos::operator()(PairReaxBondOrder2, const int &ii) (-p_boc1 * exp_p1i + exp_p2i / (exp_p2i + exp_p2j)) + -p_boc1 * exp_p1i / u1_ji - ((val_j+f2) / (u1_ji*u1_ji)) * (-p_boc1 * exp_p1i + exp_p2i / (exp_p2i + exp_p2j))); - Cf1_ji = -Cf1A_ij * p_boc1 * exp_p1j + Cf1B_ij * exp_p2j / ( exp_p2i + exp_p2j ); + Cf1_ji = -Cf1A_ij * p_boc1 * exp_p1j + Cf1B_ij * exp_p2j / (exp_p2i + exp_p2j); } else { f1 = 1.0; Cf1_ij = Cf1_ji = 0.0; @@ -2050,7 +2053,7 @@ void PairReaxCKokkos::operator()(PairReaxComputeMulti2::operator()(PairReaxComputeMulti2template e_tally(ev,i,i,e_lp); // over coordination - const F_FLOAT exp_ovun1 = p_ovun3 * exp( p_ovun4 * d_sum_ovun(i,2) ); + const F_FLOAT exp_ovun1 = p_ovun3 * exp(p_ovun4 * d_sum_ovun(i,2)); const F_FLOAT inv_exp_ovun1 = 1.0 / (1 + exp_ovun1); const F_FLOAT Delta_lpcorr = d_Delta[i] - (dfvl * d_Delta_lp_temp[i]) * inv_exp_ovun1; - const F_FLOAT exp_ovun2 = exp( p_ovun2 * Delta_lpcorr ); + const F_FLOAT exp_ovun2 = exp(p_ovun2 * Delta_lpcorr); const F_FLOAT inv_exp_ovun2 = 1.0 / (1.0 + exp_ovun2); const F_FLOAT DlpVi = 1.0 / (Delta_lpcorr + val_i + 1e-8); @@ -2085,14 +2088,14 @@ void PairReaxCKokkos::operator()(PairReaxComputeMulti2template e_tally(ev,i,i,e_ov); CEover2 = d_sum_ovun(i,1) * DlpVi * inv_exp_ovun2 * - (1.0 - Delta_lpcorr * ( DlpVi + p_ovun2 * exp_ovun2 * inv_exp_ovun2 )); - CEover3 = CEover2 * (1.0 - dfvl * d_dDelta_lp[i] * inv_exp_ovun1 ); + (1.0 - Delta_lpcorr * (DlpVi + p_ovun2 * exp_ovun2 * inv_exp_ovun2)); + CEover3 = CEover2 * (1.0 - dfvl * d_dDelta_lp[i] * inv_exp_ovun1); CEover4 = CEover2 * (dfvl * d_Delta_lp_temp[i]) * p_ovun4 * exp_ovun1 * SQR(inv_exp_ovun1); // under coordination const F_FLOAT exp_ovun2n = 1.0 / exp_ovun2; - const F_FLOAT exp_ovun6 = exp( p_ovun6 * Delta_lpcorr ); + const F_FLOAT exp_ovun6 = exp(p_ovun6 * Delta_lpcorr); const F_FLOAT exp_ovun8 = p_ovun7 * exp(p_ovun8 * d_sum_ovun(i,2)); const F_FLOAT inv_exp_ovun2n = 1.0 / (1.0 + exp_ovun2n); const F_FLOAT inv_exp_ovun8 = 1.0 / (1.0 + exp_ovun8); @@ -2106,7 +2109,7 @@ void PairReaxCKokkos::operator()(PairReaxComputeMulti2template e_tally(ev,i,i,e_un); CEunder1 = inv_exp_ovun2n * - ( p_ovun5 * p_ovun6 * exp_ovun6 * inv_exp_ovun8 + p_ovun2 * e_un * exp_ovun2n ); + (p_ovun5 * p_ovun6 * exp_ovun6 * inv_exp_ovun8 + p_ovun2 * e_un * exp_ovun2n); CEunder2 = -e_un * p_ovun8 * exp_ovun8 * inv_exp_ovun8; CEunder3 = CEunder1 * (1.0 - dfvl * d_dDelta_lp[i] * inv_exp_ovun1); CEunder4 = CEunder1 * (dfvl * d_Delta_lp_temp[i]) * @@ -2242,7 +2245,7 @@ void PairReaxCKokkos::operator()(PairReaxComputeAngular::operator()(PairReaxComputeAngular 0.0 && SBO <= 1.0) { - SBO2 = pow( SBO, p_val9 ); - CSBO2 = p_val9 * pow( SBO, p_val9 - 1.0 ); + SBO2 = pow(SBO, p_val9); + CSBO2 = p_val9 * pow(SBO, p_val9 - 1.0); } else if (SBO > 1.0 && SBO < 2.0) { - SBO2 = 2.0 - pow( 2.0-SBO, p_val9 ); - CSBO2 = p_val9 * pow( 2.0 - SBO, p_val9 - 1.0 ); + SBO2 = 2.0 - pow(2.0-SBO, p_val9); + CSBO2 = p_val9 * pow(2.0 - SBO, p_val9 - 1.0); } else { SBO2 = 2.0; CSBO2 = 0.0; } - expval6 = exp( p_val6 * d_Delta_boc[i] ); + expval6 = exp(p_val6 * d_Delta_boc[i]); F_FLOAT CdDelta_i = 0.0; F_FLOAT fitmp[3],fjtmp[3]; @@ -2349,21 +2352,21 @@ void PairReaxCKokkos::operator()(PairReaxComputeAngular= 0) expval12theta = p_val1 * (1.0 - expval2theta); else // To avoid linear Me-H-Me angles (6/6/06) @@ -2373,7 +2376,7 @@ void PairReaxCKokkos::operator()(PairReaxComputeAngular::operator()(PairReaxComputeAngular::operator()(PairReaxComputeAngular::operator()(PairReaxComputeTorsion::operator()(PairReaxComputeTorsion= 0 && sin_ijk <= 1e-10) tan_ijk_i = cos_ijk / 1e-10; else if (sin_ijk <= 0 && sin_ijk >= -1e-10) tan_ijk_i = -cos_ijk / 1e-10; else tan_ijk_i = cos_ijk / sin_ijk; - exp_tor2_ik = exp( -p_tor2 * BOA_ik ); - exp_cot2_ik = exp( -p_cot2 * SQR(BOA_ik -1.5) ); + exp_tor2_ik = exp(-p_tor2 * BOA_ik); + exp_cot2_ik = exp(-p_cot2 * SQR(BOA_ik -1.5)); for (int l = 0; l < 3; l++) fktmp[l] = 0.0; @@ -2648,7 +2651,7 @@ void PairReaxCKokkos::operator()(PairReaxComputeTorsion= 0 && sin_jil <= 1e-10) tan_jil_i = cos_jil / 1e-10; else if (sin_jil <= 0 && sin_jil >= -1e-10) @@ -2676,13 +2679,13 @@ void PairReaxCKokkos::operator()(PairReaxComputeTorsion::operator()(PairReaxComputeTorsion::operator()(PairReaxComputeTorsion::operator()(PairReaxComputeBond1= 1.00) { if (gp[37] == 2 || (imass == 12.0000 && jmass == 15.9990) || (jmass == 12.0000 && imass == 15.9990)) { - const F_FLOAT exphu = exp(-gp[7] * SQR(BO_i - 2.50) ); + const F_FLOAT exphu = exp(-gp[7] * SQR(BO_i - 2.50)); const F_FLOAT exphua1 = exp(-gp[3] * (d_total_bo[i]-BO_i)); const F_FLOAT exphub1 = exp(-gp[3] * (d_total_bo[j]-BO_i)); const F_FLOAT exphuov = exp(gp[4] * (d_Delta[i] + d_Delta[j])); @@ -3148,7 +3151,7 @@ void PairReaxCKokkos::operator()(PairReaxComputeBond1template e_tally(ev,i,j,estriph); const F_FLOAT decobdbo = gp[10] * exphu * hulpov * (exphua1 + exphub1) * - ( gp[3] - 2.0 * gp[7] * (BO_i-2.50) ); + (gp[3] - 2.0 * gp[7] * (BO_i-2.50)); const F_FLOAT decobdboua = -gp[10] * exphu * hulpov * (gp[3]*exphua1 + 25.0*gp[4]*exphuov*hulpov*(exphua1+exphub1)); const F_FLOAT decobdboub = -gp[10] * exphu * hulpov * @@ -3725,7 +3728,7 @@ void PairReaxCKokkos::FindBond(int &numbonds) copymode = 1; Kokkos::parallel_for(Kokkos::RangePolicy(0,nmax),*this); - bo_cut_bond = control->bg_cut; + bo_cut_bond = api->control->bg_cut; atomKK->sync(execution_space,TAG_MASK); tag = atomKK->k_tag.view(); diff --git a/src/USER-OMP/pair_reaxc_omp.cpp b/src/USER-OMP/pair_reaxc_omp.cpp index e754316ea0..e7e03520e0 100644 --- a/src/USER-OMP/pair_reaxc_omp.cpp +++ b/src/USER-OMP/pair_reaxc_omp.cpp @@ -60,6 +60,8 @@ #include "reaxc_reset_tools.h" #include "reaxc_tool_box.h" +#include "reaxff_api.h" + #if defined(_OPENMP) #include #endif @@ -89,8 +91,8 @@ PairReaxCOMP::PairReaxCOMP(LAMMPS *lmp) : PairReaxC(lmp), ThrOMP(lmp, THR_PAIR) if (lmp->citeme) lmp->citeme->add(cite_pair_reax_c_omp); suffix_flag |= Suffix::OMP; - system->pair_ptr = this; - system->omp_active = 1; + api->system->pair_ptr = this; + api->system->omp_active = 1; num_nbrs_offset = nullptr; @@ -108,7 +110,7 @@ PairReaxCOMP::PairReaxCOMP(LAMMPS *lmp) : PairReaxC(lmp), ThrOMP(lmp, THR_PAIR) PairReaxCOMP::~PairReaxCOMP() { if (setup_flag) { - reax_list * bonds = lists+BONDS; + reax_list * bonds = api->lists+BONDS; for (int i=0; inum_intrs; ++i) sfree(error, bonds->select.bond_list[i].bo_data.CdboReduction, "CdboReduction"); } @@ -189,22 +191,22 @@ void PairReaxCOMP::compute(int eflag, int vflag) evdwl = ecoul = 0.0; ev_init(eflag,vflag); - if (vflag_global) control->virial = 1; - else control->virial = 0; + if (vflag_global) api->control->virial = 1; + else api->control->virial = 0; if (vflag_atom) error->all(FLERR,"Pair style reax/c/omp does not support " "computing per-atom stress"); - system->n = atom->nlocal; // my atoms - system->N = atom->nlocal + atom->nghost; // mine + ghosts - system->bigN = static_cast (atom->natoms); // all atoms in the system + api->system->n = atom->nlocal; // my atoms + api->system->N = atom->nlocal + atom->nghost; // mine + ghosts + api->system->bigN = static_cast (atom->natoms); // all atoms in the system // setup data structures setup(); - Reset( system, control, data, workspace, &lists ); + Reset( api->system, api->control, api->data, api->workspace, &api->lists ); // Why not update workspace like in MPI-only code? // Using the MPI-only way messes up the hb energy @@ -218,7 +220,7 @@ void PairReaxCOMP::compute(int eflag, int vflag) startTimeBase = MPI_Wtime(); #endif - Compute_ForcesOMP(system,control,data,workspace,&lists,out_control); + Compute_ForcesOMP(api->system,api->control,api->data,api->workspace,&api->lists,api->out_control); read_reax_forces(vflag); #ifdef OMP_TIMING @@ -229,63 +231,63 @@ void PairReaxCOMP::compute(int eflag, int vflag) #if defined(_OPENMP) #pragma omp parallel for schedule(static) #endif - for (int k = 0; k < system->N; ++k) { - num_bonds[k] = system->my_atoms[k].num_bonds; - num_hbonds[k] = system->my_atoms[k].num_hbonds; + for (int k = 0; k < api->system->N; ++k) { + num_bonds[k] = api->system->my_atoms[k].num_bonds; + num_hbonds[k] = api->system->my_atoms[k].num_hbonds; } // energies and pressure if (eflag_global) { - evdwl += data->my_en.e_bond; - evdwl += data->my_en.e_ov; - evdwl += data->my_en.e_un; - evdwl += data->my_en.e_lp; - evdwl += data->my_en.e_ang; - evdwl += data->my_en.e_pen; - evdwl += data->my_en.e_coa; - evdwl += data->my_en.e_hb; - evdwl += data->my_en.e_tor; - evdwl += data->my_en.e_con; - evdwl += data->my_en.e_vdW; + evdwl += api->data->my_en.e_bond; + evdwl += api->data->my_en.e_ov; + evdwl += api->data->my_en.e_un; + evdwl += api->data->my_en.e_lp; + evdwl += api->data->my_en.e_ang; + evdwl += api->data->my_en.e_pen; + evdwl += api->data->my_en.e_coa; + evdwl += api->data->my_en.e_hb; + evdwl += api->data->my_en.e_tor; + evdwl += api->data->my_en.e_con; + evdwl += api->data->my_en.e_vdW; - ecoul += data->my_en.e_ele; - ecoul += data->my_en.e_pol; + ecoul += api->data->my_en.e_ele; + ecoul += api->data->my_en.e_pol; // Store the different parts of the energy // in a list for output by compute pair command - pvector[0] = data->my_en.e_bond; - pvector[1] = data->my_en.e_ov + data->my_en.e_un; - pvector[2] = data->my_en.e_lp; + pvector[0] = api->data->my_en.e_bond; + pvector[1] = api->data->my_en.e_ov + api->data->my_en.e_un; + pvector[2] = api->data->my_en.e_lp; pvector[3] = 0.0; - pvector[4] = data->my_en.e_ang; - pvector[5] = data->my_en.e_pen; - pvector[6] = data->my_en.e_coa; - pvector[7] = data->my_en.e_hb; - pvector[8] = data->my_en.e_tor; - pvector[9] = data->my_en.e_con; - pvector[10] = data->my_en.e_vdW; - pvector[11] = data->my_en.e_ele; + pvector[4] = api->data->my_en.e_ang; + pvector[5] = api->data->my_en.e_pen; + pvector[6] = api->data->my_en.e_coa; + pvector[7] = api->data->my_en.e_hb; + pvector[8] = api->data->my_en.e_tor; + pvector[9] = api->data->my_en.e_con; + pvector[10] = api->data->my_en.e_vdW; + pvector[11] = api->data->my_en.e_ele; pvector[12] = 0.0; - pvector[13] = data->my_en.e_pol; + pvector[13] = api->data->my_en.e_pol; } if (vflag_fdotr) virial_fdotr_compute(); // Set internal timestep counter to that of LAMMPS - data->step = update->ntimestep; + api->data->step = update->ntimestep; - Output_Results( system, control, data, &lists, out_control, world ); + Output_Results( api->system, api->control, api->data, &api->lists, api->out_control, world ); // populate tmpid and tmpbo arrays for fix reax/c/species if (fixspecies_flag) { - if (system->N > nmax) { + if (api->system->N > nmax) { memory->destroy(tmpid); memory->destroy(tmpbo); - nmax = system->N; + nmax = api->system->N; memory->create(tmpid,nmax,MAXSPECBOND,"pair:tmpid"); memory->create(tmpbo,nmax,MAXSPECBOND,"pair:tmpbo"); } @@ -293,7 +295,7 @@ void PairReaxCOMP::compute(int eflag, int vflag) #if defined(_OPENMP) #pragma omp parallel for collapse(2) schedule(static) default(shared) #endif - for (int i = 0; i < system->N; i++) + for (int i = 0; i < api->system->N; i++) for (int j = 0; j < MAXSPECBOND; j++) { tmpbo[i][j] = 0.0; tmpid[i][j] = 0; @@ -317,10 +319,10 @@ void PairReaxCOMP::init_style( ) if (!have_qeq && qeqflag == 1) error->all(FLERR,"Pair reax/c requires use of fix qeq/reax or qeq/shielded"); - system->n = atom->nlocal; // my atoms - system->N = atom->nlocal + atom->nghost; // mine + ghosts - system->bigN = static_cast (atom->natoms); // all atoms in the system - system->wsize = comm->nprocs; + api->system->n = atom->nlocal; // my atoms + api->system->N = atom->nlocal + atom->nghost; // mine + ghosts + api->system->bigN = static_cast (atom->natoms); // all atoms in the system + api->system->wsize = comm->nprocs; if (atom->tag_enable == 0) error->all(FLERR,"Pair style reax/c/omp requires atom IDs"); @@ -343,20 +345,20 @@ void PairReaxCOMP::init_style( ) neighbor->requests[irequest]->newton = 2; neighbor->requests[irequest]->ghost = 1; - cutmax = MAX3(control->nonb_cut, control->hbond_cut, control->bond_cut); - if ((cutmax < 2.0*control->bond_cut) && (comm->me == 0)) + cutmax = MAX3(api->control->nonb_cut, api->control->hbond_cut, api->control->bond_cut); + if ((cutmax < 2.0*api->control->bond_cut) && (comm->me == 0)) error->warning(FLERR,"Total cutoff < 2*bond cutoff. May need to use an " "increased neighbor list skin."); for (int i = 0; i < LIST_N; ++i) - lists[i].allocated = 0; + api->lists[i].allocated = 0; if (fix_reax == nullptr) { modify->add_fix(fmt::format("{} all REAXC",fix_id)); fix_reax = (FixReaxC *) modify->fix[modify->nfix-1]; } - control->nthreads = comm->nthreads; + api->control->nthreads = comm->nthreads; } /* ---------------------------------------------------------------------- */ @@ -364,18 +366,18 @@ void PairReaxCOMP::init_style( ) void PairReaxCOMP::setup( ) { int oldN; - int mincap = system->mincap; - double safezone = system->safezone; + int mincap = api->system->mincap; + double safezone = api->system->safezone; - system->n = atom->nlocal; // my atoms - system->N = atom->nlocal + atom->nghost; // mine + ghosts - oldN = system->N; - system->bigN = static_cast (atom->natoms); // all atoms in the system + api->system->n = atom->nlocal; // my atoms + api->system->N = atom->nlocal + atom->nghost; // mine + ghosts + oldN = api->system->N; + api->system->bigN = static_cast (atom->natoms); // all atoms in the system - if (system->N > nmax) { + if (api->system->N > nmax) { memory->destroy(num_nbrs_offset); // Don't update nmax here. It is updated at end of compute(). - memory->create(num_nbrs_offset, system->N, "pair:num_nbrs_offset"); + memory->create(num_nbrs_offset, api->system->N, "pair:num_nbrs_offset"); } if (setup_flag == 0) { @@ -387,26 +389,26 @@ void PairReaxCOMP::setup( ) // determine the local and total capacity - system->local_cap = MAX( (int)(system->n * safezone), mincap ); - system->total_cap = MAX( (int)(system->N * safezone), mincap ); + api->system->local_cap = MAX( (int)(api->system->n * safezone), mincap ); + api->system->total_cap = MAX( (int)(api->system->N * safezone), mincap ); // initialize my data structures - PreAllocate_Space( system, control, workspace ); + PreAllocate_Space( api->system, api->control, api->workspace ); write_reax_atoms(); int num_nbrs = estimate_reax_lists(); - if (!Make_List(system->total_cap, num_nbrs, TYP_FAR_NEIGHBOR, - lists+FAR_NBRS)) + if (!Make_List(api->system->total_cap, num_nbrs, TYP_FAR_NEIGHBOR, + api->lists+FAR_NBRS)) error->all(FLERR,"Pair reax/c problem in far neighbor list"); write_reax_lists(); - InitializeOMP(system, control, data, workspace, &lists, out_control, world); + InitializeOMP(api->system, api->control, api->data, api->workspace, &api->lists, api->out_control, world); - for (int k = 0; k < system->N; ++k) { - num_bonds[k] = system->my_atoms[k].num_bonds; - num_hbonds[k] = system->my_atoms[k].num_hbonds; + for (int k = 0; k < api->system->N; ++k) { + num_bonds[k] = api->system->my_atoms[k].num_bonds; + num_hbonds[k] = api->system->my_atoms[k].num_hbonds; } } else { @@ -417,16 +419,16 @@ void PairReaxCOMP::setup( ) // reset the bond list info for new atoms - for (int k = oldN; k < system->N; ++k) - Set_End_Index( k, Start_Index( k, lists+BONDS ), lists+BONDS ); + for (int k = oldN; k < api->system->N; ++k) + Set_End_Index( k, Start_Index( k, api->lists+BONDS ), api->lists+BONDS ); // estimate far neighbor list size // Not present in MPI-only version - workspace->realloc.num_far = estimate_reax_lists(); + api->workspace->realloc.num_far = estimate_reax_lists(); // check if I need to shrink/extend my data-structs - ReAllocate( system, control, data, workspace, &lists ); + ReAllocate( api->system, api->control, api->data, api->workspace, &api->lists ); } } @@ -437,21 +439,21 @@ void PairReaxCOMP::write_reax_atoms() int *num_bonds = fix_reax->num_bonds; int *num_hbonds = fix_reax->num_hbonds; - if (system->N > system->total_cap) + if (api->system->N > api->system->total_cap) error->all(FLERR,"Too many ghost atoms"); #if defined(_OPENMP) #pragma omp parallel for schedule(static) default(shared) #endif - for (int i = 0; i < system->N; ++i) { - system->my_atoms[i].orig_id = atom->tag[i]; - system->my_atoms[i].type = map[atom->type[i]]; - system->my_atoms[i].x[0] = atom->x[i][0]; - system->my_atoms[i].x[1] = atom->x[i][1]; - system->my_atoms[i].x[2] = atom->x[i][2]; - system->my_atoms[i].q = atom->q[i]; - system->my_atoms[i].num_bonds = num_bonds[i]; - system->my_atoms[i].num_hbonds = num_hbonds[i]; + for (int i = 0; i < api->system->N; ++i) { + api->system->my_atoms[i].orig_id = atom->tag[i]; + api->system->my_atoms[i].type = map[atom->type[i]]; + api->system->my_atoms[i].x[0] = atom->x[i][0]; + api->system->my_atoms[i].x[1] = atom->x[i][1]; + api->system->my_atoms[i].x[2] = atom->x[i][2]; + api->system->my_atoms[i].q = atom->q[i]; + api->system->my_atoms[i].num_bonds = num_bonds[i]; + api->system->my_atoms[i].num_hbonds = num_hbonds[i]; } } @@ -463,7 +465,7 @@ int PairReaxCOMP::estimate_reax_lists() int *ilist = list->ilist; int *numneigh = list->numneigh; int numall = list->inum + list->gnum; - int mincap = system->mincap; + int mincap = api->system->mincap; // for good performance in the OpenMP implementation, each thread needs // to know where to place the neighbors of the atoms it is responsible for. @@ -502,7 +504,7 @@ int PairReaxCOMP::write_reax_lists() int *ilist = list->ilist; int *numneigh = list->numneigh; int **firstneigh = list->firstneigh; - reax_list *far_nbrs = lists + FAR_NBRS; + reax_list *far_nbrs = api->lists + FAR_NBRS; far_neighbor_data *far_list = far_nbrs->select.far_nbr_list; int num_nbrs = 0; @@ -532,9 +534,9 @@ int PairReaxCOMP::write_reax_lists() Set_Start_Index( i, num_nbrs_offset[i], far_nbrs ); if (i < inum) - cutoff_sqr = control->nonb_cut*control->nonb_cut; + cutoff_sqr = SQR(api->control->nonb_cut); else - cutoff_sqr = control->bond_cut*control->bond_cut; + cutoff_sqr = SQR(api->control->bond_cut); num_mynbrs = 0; @@ -545,7 +547,7 @@ int PairReaxCOMP::write_reax_lists() if (d_sqr <= cutoff_sqr) { dist = sqrt( d_sqr ); - set_far_nbr( &far_list[num_nbrs_offset[i] + num_mynbrs], j, dist, dvec ); + set_far_nbr((ReaxFF::far_neighbor_data *) &far_list[num_nbrs_offset[i] + num_mynbrs], j, dist, dvec ); ++num_mynbrs; } } @@ -567,14 +569,14 @@ void PairReaxCOMP::read_reax_forces(int /* vflag */) #if defined(_OPENMP) #pragma omp parallel for schedule(static) default(shared) #endif - for (int i = 0; i < system->N; ++i) { - system->my_atoms[i].f[0] = workspace->f[i][0]; - system->my_atoms[i].f[1] = workspace->f[i][1]; - system->my_atoms[i].f[2] = workspace->f[i][2]; + for (int i = 0; i < api->system->N; ++i) { + api->system->my_atoms[i].f[0] = api->workspace->f[i][0]; + api->system->my_atoms[i].f[1] = api->workspace->f[i][1]; + api->system->my_atoms[i].f[2] = api->workspace->f[i][2]; - atom->f[i][0] = -workspace->f[i][0]; - atom->f[i][1] = -workspace->f[i][1]; - atom->f[i][2] = -workspace->f[i][2]; + atom->f[i][0] = -api->workspace->f[i][0]; + atom->f[i][1] = -api->workspace->f[i][1]; + atom->f[i][2] = -api->workspace->f[i][2]; } } @@ -587,14 +589,14 @@ void PairReaxCOMP::FindBond() #if defined(_OPENMP) #pragma omp parallel for schedule(static) default(shared) #endif - for (int i = 0; i < system->n; i++) { + for (int i = 0; i < api->system->n; i++) { int j, pj, nj; double bo_tmp; bond_data *bo_ij; nj = 0; - for (pj = Start_Index(i, lists); pj < End_Index(i, lists); ++pj) { - bo_ij = &( lists->select.bond_list[pj] ); + for (pj = Start_Index(i, api->lists); pj < End_Index(i, api->lists); ++pj) { + bo_ij = &( api->lists->select.bond_list[pj] ); j = bo_ij->nbr; if (j < i) continue; diff --git a/src/USER-REAXC/fix_qeq_reax.cpp b/src/USER-REAXC/fix_qeq_reax.cpp index 2472fc3098..b4b28b587a 100644 --- a/src/USER-REAXC/fix_qeq_reax.cpp +++ b/src/USER-REAXC/fix_qeq_reax.cpp @@ -43,6 +43,8 @@ #include "reaxc_defs.h" #include "reaxc_types.h" +#include "reaxff_api.h" + using namespace LAMMPS_NS; using namespace FixConst; @@ -315,8 +317,8 @@ void FixQEqReax::allocate_matrix() double safezone; if (reaxflag) { - mincap = reaxc->system->mincap; - safezone = reaxc->system->safezone; + mincap = reaxc->api->system->mincap; + safezone = reaxc->api->system->safezone; } else { mincap = REAX_MIN_CAP; safezone = REAX_SAFE_ZONE; diff --git a/src/USER-REAXC/fix_reaxc_bonds.cpp b/src/USER-REAXC/fix_reaxc_bonds.cpp index 26cd7870ff..62e8427894 100644 --- a/src/USER-REAXC/fix_reaxc_bonds.cpp +++ b/src/USER-REAXC/fix_reaxc_bonds.cpp @@ -29,6 +29,8 @@ #include "reaxc_types.h" #include "reaxc_defs.h" +#include "reaxff_api.h" + #include using namespace LAMMPS_NS; @@ -186,7 +188,7 @@ void FixReaxCBonds::FindBond(struct _reax_list * /*lists*/, int &numbonds) inum = reaxc->list->inum; ilist = reaxc->list->ilist; bond_data *bo_ij; - bo_cut = reaxc->control->bg_cut; + bo_cut = reaxc->api->control->bg_cut; tagint *tag = atom->tag; @@ -194,8 +196,8 @@ void FixReaxCBonds::FindBond(struct _reax_list * /*lists*/, int &numbonds) i = ilist[ii]; nj = 0; - for (pj = Start_Index(i, reaxc->lists); pj < End_Index(i, reaxc->lists); ++pj) { - bo_ij = &( reaxc->lists->select.bond_list[pj] ); + for (pj = Start_Index(i, reaxc->api->lists); pj < End_Index(i, reaxc->api->lists); ++pj) { + bo_ij = &( reaxc->api->lists->select.bond_list[pj] ); j = bo_ij->nbr; jtag = tag[j]; bo_tmp = bo_ij->bo_data.BO; @@ -223,8 +225,8 @@ void FixReaxCBonds::PassBuffer(double *buf, int &nbuf_local) for (i = 0; i < nlocal; i++) { buf[j-1] = atom->tag[i]; buf[j+0] = atom->type[i]; - buf[j+1] = reaxc->workspace->total_bond_order[i]; - buf[j+2] = reaxc->workspace->nlp[i]; + buf[j+1] = reaxc->api->workspace->total_bond_order[i]; + buf[j+2] = reaxc->api->workspace->nlp[i]; buf[j+3] = atom->q[i]; buf[j+4] = numneigh[i]; numbonds = nint(buf[j+4]); @@ -258,7 +260,7 @@ void FixReaxCBonds::RecvBuffer(double *buf, int nbuf, int nbuf_local, bigint ntimestep = update->ntimestep; double sbotmp, nlptmp, avqtmp, abotmp; - double cutof3 = reaxc->control->bg_cut; + double cutof3 = reaxc->api->control->bg_cut; MPI_Request irequest, irequest2; if (me == 0) { diff --git a/src/USER-REAXC/pair_reaxc.cpp b/src/USER-REAXC/pair_reaxc.cpp index e8a47658d1..87def7f06b 100644 --- a/src/USER-REAXC/pair_reaxc.cpp +++ b/src/USER-REAXC/pair_reaxc.cpp @@ -53,6 +53,8 @@ #include "reaxc_reset_tools.h" #include "reaxc_vector.h" +#include "reaxff_api.h" + using namespace LAMMPS_NS; static const char cite_pair_reax_c[] = @@ -81,38 +83,34 @@ PairReaxC::PairReaxC(LAMMPS *lmp) : Pair(lmp) fix_id = utils::strdup("REAXC_" + std::to_string(instance_me)); - system = (reax_system *) - memory->smalloc(sizeof(reax_system),"reax:system"); - memset(system,0,sizeof(reax_system)); - control = (control_params *) - memory->smalloc(sizeof(control_params),"reax:control"); - memset(control,0,sizeof(control_params)); - data = (simulation_data *) - memory->smalloc(sizeof(simulation_data),"reax:data"); - workspace = (storage *) - memory->smalloc(sizeof(storage),"reax:storage"); - lists = (reax_list *) - memory->smalloc(LIST_N * sizeof(reax_list),"reax:lists"); - memset(lists,0,LIST_N * sizeof(reax_list)); - out_control = (output_controls *) - memory->smalloc(sizeof(output_controls),"reax:out_control"); - memset(out_control,0,sizeof(output_controls)); + api = new ReaxFF::API; - control->me = system->my_rank = comm->me; + api->system = new reax_system; + memset(api->system,0,sizeof(reax_system)); + api->control = new control_params; + memset(api->control,0,sizeof(control_params)); + api->out_control = new output_controls; + memset(api->out_control,0,sizeof(output_controls)); + api->data = new simulation_data; + api->workspace = new storage; + memory->create(api->lists, LIST_N,"reaxff:lists"); + memset(api->lists,0,LIST_N * sizeof(reax_list)); - system->num_nbrs = 0; - system->n = 0; // my atoms - system->N = 0; // mine + ghosts - system->bigN = 0; // all atoms in the system - system->local_cap = 0; - system->total_cap = 0; - system->my_atoms = nullptr; - system->pair_ptr = this; - system->error_ptr = error; - control->error_ptr = error; - control->lmp_ptr = lmp; + api->control->me = api->system->my_rank = comm->me; - system->omp_active = 0; + api->system->num_nbrs = 0; + api->system->n = 0; // my atoms + api->system->N = 0; // mine + ghosts + api->system->bigN = 0; // all atoms in the system + api->system->local_cap = 0; + api->system->total_cap = 0; + api->system->my_atoms = nullptr; + api->system->pair_ptr = this; + api->system->error_ptr = error; + api->control->error_ptr = error; + api->control->lmp_ptr = lmp; + + api->system->omp_active = 0; fix_reax = nullptr; tmpid = nullptr; @@ -137,27 +135,27 @@ PairReaxC::~PairReaxC() delete[] fix_id; if (setup_flag) { - Close_Output_Files(system,out_control); + Close_Output_Files(api->system,api->out_control); // deallocate reax data-structures - if (control->tabulate) Deallocate_Lookup_Tables(system); + if (api->control->tabulate) Deallocate_Lookup_Tables(api->system); - if (control->hbond_cut > 0) Delete_List(lists+HBONDS); - Delete_List(lists+BONDS); - Delete_List(lists+THREE_BODIES); - Delete_List(lists+FAR_NBRS); + if (api->control->hbond_cut > 0) Delete_List(api->lists+HBONDS); + Delete_List(api->lists+BONDS); + Delete_List(api->lists+THREE_BODIES); + Delete_List(api->lists+FAR_NBRS); - DeAllocate_Workspace(control, workspace); - DeAllocate_System(system); + DeAllocate_Workspace(api->control, api->workspace); + DeAllocate_System(api->system); } - memory->destroy(system); - memory->destroy(control); - memory->destroy( data ); - memory->destroy( workspace ); - memory->destroy( lists ); - memory->destroy( out_control ); + delete api->system; + delete api->control; + delete api->out_control; + delete api->data; + delete api->workspace; + memory->destroy(api->lists); // deallocate interface storage if (allocated) { @@ -179,7 +177,7 @@ PairReaxC::~PairReaxC() /* ---------------------------------------------------------------------- */ -void PairReaxC::allocate( ) +void PairReaxC::allocate() { allocated = 1; int n = atom->ntypes; @@ -204,42 +202,42 @@ void PairReaxC::settings(int narg, char **arg) // read name of control file or use default controls if (strcmp(arg[0],"NULL") == 0) { - strcpy( control->sim_name, "simulate" ); - out_control->energy_update_freq = 0; - control->tabulate = 0; + strcpy(api->control->sim_name, "simulate"); + api->out_control->energy_update_freq = 0; + api->control->tabulate = 0; - control->bond_cut = 5.; - control->hbond_cut = 7.50; - control->thb_cut = 0.001; - control->thb_cutsq = 0.00001; - control->bg_cut = 0.3; + api->control->bond_cut = 5.; + api->control->hbond_cut = 7.50; + api->control->thb_cut = 0.001; + api->control->thb_cutsq = 0.00001; + api->control->bg_cut = 0.3; - control->nthreads = 1; + api->control->nthreads = 1; - out_control->write_steps = 0; - strcpy( out_control->traj_title, "default_title" ); - out_control->atom_info = 0; - out_control->bond_info = 0; - out_control->angle_info = 0; - } else Read_Control_File(arg[0], control, out_control); + api->out_control->write_steps = 0; + strcpy(api->out_control->traj_title, "default_title"); + api->out_control->atom_info = 0; + api->out_control->bond_info = 0; + api->out_control->angle_info = 0; + } else Read_Control_File(arg[0], api->control, api->out_control); } - MPI_Bcast(control,sizeof(control_params),MPI_CHAR,0,world); - MPI_Bcast(out_control,sizeof(output_controls),MPI_CHAR,0,world); + MPI_Bcast(api->control,sizeof(control_params),MPI_CHAR,0,world); + MPI_Bcast(api->out_control,sizeof(output_controls),MPI_CHAR,0,world); // must reset these to local values after broadcast - control->me = comm->me; - control->error_ptr = error; - control->lmp_ptr = lmp; + api->control->me = comm->me; + api->control->error_ptr = error; + api->control->lmp_ptr = lmp; // default values qeqflag = 1; - control->lgflag = 0; - control->enobondsflag = 1; - system->mincap = REAX_MIN_CAP; - system->minhbonds = REAX_MIN_HBONDS; - system->safezone = REAX_SAFE_ZONE; - system->saferzone = REAX_SAFER_ZONE; + api->control->lgflag = 0; + api->control->enobondsflag = 1; + api->system->mincap = REAX_MIN_CAP; + api->system->minhbonds = REAX_MIN_HBONDS; + api->system->safezone = REAX_SAFE_ZONE; + api->system->saferzone = REAX_SAFER_ZONE; // process optional keywords @@ -254,33 +252,33 @@ void PairReaxC::settings(int narg, char **arg) iarg += 2; } else if (strcmp(arg[iarg],"enobonds") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal pair_style reax/c command"); - if (strcmp(arg[iarg+1],"yes") == 0) control->enobondsflag = 1; - else if (strcmp(arg[iarg+1],"no") == 0) control->enobondsflag = 0; + if (strcmp(arg[iarg+1],"yes") == 0) api->control->enobondsflag = 1; + else if (strcmp(arg[iarg+1],"no") == 0) api->control->enobondsflag = 0; else error->all(FLERR,"Illegal pair_style reax/c command"); iarg += 2; } else if (strcmp(arg[iarg],"lgvdw") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal pair_style reax/c command"); - if (strcmp(arg[iarg+1],"yes") == 0) control->lgflag = 1; - else if (strcmp(arg[iarg+1],"no") == 0) control->lgflag = 0; + if (strcmp(arg[iarg+1],"yes") == 0) api->control->lgflag = 1; + else if (strcmp(arg[iarg+1],"no") == 0) api->control->lgflag = 0; else error->all(FLERR,"Illegal pair_style reax/c command"); iarg += 2; } else if (strcmp(arg[iarg],"safezone") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal pair_style reax/c command"); - system->safezone = utils::numeric(FLERR,arg[iarg+1],false,lmp); - if (system->safezone < 0.0) + api->system->safezone = utils::numeric(FLERR,arg[iarg+1],false,lmp); + if (api->system->safezone < 0.0) error->all(FLERR,"Illegal pair_style reax/c safezone command"); - system->saferzone = system->safezone*1.2 + 0.2; + api->system->saferzone = api->system->safezone*1.2 + 0.2; iarg += 2; } else if (strcmp(arg[iarg],"mincap") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal pair_style reax/c command"); - system->mincap = utils::inumeric(FLERR,arg[iarg+1],false,lmp); - if (system->mincap < 0) + api->system->mincap = utils::inumeric(FLERR,arg[iarg+1],false,lmp); + if (api->system->mincap < 0) error->all(FLERR,"Illegal pair_style reax/c mincap command"); iarg += 2; } else if (strcmp(arg[iarg],"minhbonds") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal pair_style reax/c command"); - system->minhbonds = utils::inumeric(FLERR,arg[iarg+1],false,lmp); - if (system->minhbonds < 0) + api->system->minhbonds = utils::inumeric(FLERR,arg[iarg+1],false,lmp); + if (api->system->minhbonds < 0) error->all(FLERR,"Illegal pair_style reax/c minhbonds command"); iarg += 2; } else error->all(FLERR,"Illegal pair_style reax/c command"); @@ -289,7 +287,7 @@ void PairReaxC::settings(int narg, char **arg) /* ---------------------------------------------------------------------- */ -void PairReaxC::coeff( int nargs, char **args ) +void PairReaxC::coeff(int nargs, char **args) { if (!allocated) allocate(); @@ -303,13 +301,13 @@ void PairReaxC::coeff( int nargs, char **args ) // read ffield file - Read_Force_Field(args[2], &(system->reax_param), control); + Read_Force_Field(args[2], &(api->system->reax_param), api->control); // read args that map atom types to elements in potential file // map[i] = which element the Ith atom type is, -1 if "NULL" int itmp = 0; - int nreax_types = system->reax_param.num_atom_types; + int nreax_types = api->system->reax_param.num_atom_types; for (int i = 3; i < nargs; i++) { if (strcmp(args[i],"NULL") == 0) { map[i-2] = -1; @@ -323,7 +321,7 @@ void PairReaxC::coeff( int nargs, char **args ) // pair_coeff element map for (int i = 3; i < nargs; i++) for (int j = 0; j < nreax_types; j++) - if (strcasecmp(args[i],system->reax_param.sbp[j].name) == 0) { + if (strcasecmp(args[i],api->system->reax_param.sbp[j].name) == 0) { map[i-2] = j; itmp ++; } @@ -352,7 +350,7 @@ void PairReaxC::coeff( int nargs, char **args ) /* ---------------------------------------------------------------------- */ -void PairReaxC::init_style( ) +void PairReaxC::init_style() { if (!atom->q_flag) error->all(FLERR,"Pair style reax/c requires atom attribute q"); @@ -364,10 +362,10 @@ void PairReaxC::init_style( ) if (!have_qeq && qeqflag == 1) error->all(FLERR,"Pair reax/c requires use of fix qeq/reax or qeq/shielded"); - system->n = atom->nlocal; // my atoms - system->N = atom->nlocal + atom->nghost; // mine + ghosts - system->bigN = static_cast (atom->natoms); // all atoms in the system - system->wsize = comm->nprocs; + api->system->n = atom->nlocal; // my atoms + api->system->N = atom->nlocal + atom->nghost; // mine + ghosts + api->system->bigN = static_cast (atom->natoms); // all atoms in the system + api->system->wsize = comm->nprocs; if (atom->tag_enable == 0) error->all(FLERR,"Pair style reax/c requires atom IDs"); @@ -389,14 +387,14 @@ void PairReaxC::init_style( ) neighbor->requests[irequest]->newton = 2; neighbor->requests[irequest]->ghost = 1; - cutmax = MAX3(control->nonb_cut, control->hbond_cut, control->bond_cut); - if ((cutmax < 2.0*control->bond_cut) && (comm->me == 0)) + cutmax = MAX3(api->control->nonb_cut, api->control->hbond_cut, api->control->bond_cut); + if ((cutmax < 2.0*api->control->bond_cut) && (comm->me == 0)) error->warning(FLERR,"Total cutoff < 2*bond cutoff. May need to use an " "increased neighbor list skin."); for (int i = 0; i < LIST_N; ++i) - if (lists[i].allocated != 1) - lists[i].allocated = 0; + if (api->lists[i].allocated != 1) + api->lists[i].allocated = 0; if (fix_reax == nullptr) { modify->add_fix(fmt::format("{} all REAXC",fix_id)); @@ -406,16 +404,16 @@ void PairReaxC::init_style( ) /* ---------------------------------------------------------------------- */ -void PairReaxC::setup( ) +void PairReaxC::setup() { int oldN; - int mincap = system->mincap; - double safezone = system->safezone; + int mincap = api->system->mincap; + double safezone = api->system->safezone; - system->n = atom->nlocal; // my atoms - system->N = atom->nlocal + atom->nghost; // mine + ghosts - oldN = system->N; - system->bigN = static_cast (atom->natoms); // all atoms in the system + api->system->n = atom->nlocal; // my atoms + api->system->N = atom->nlocal + atom->nghost; // mine + ghosts + oldN = api->system->N; + api->system->bigN = static_cast (atom->natoms); // all atoms in the system if (setup_flag == 0) { @@ -426,28 +424,28 @@ void PairReaxC::setup( ) // determine the local and total capacity - system->local_cap = MAX( (int)(system->n * safezone), mincap ); - system->total_cap = MAX( (int)(system->N * safezone), mincap ); + api->system->local_cap = MAX((int)(api->system->n * safezone), mincap); + api->system->total_cap = MAX((int)(api->system->N * safezone), mincap); // initialize my data structures - PreAllocate_Space( system, control, workspace ); + PreAllocate_Space(api->system, api->control, api->workspace); write_reax_atoms(); int num_nbrs = estimate_reax_lists(); if (num_nbrs < 0) error->all(FLERR,"Too many neighbors for pair style reax/c"); - if (!Make_List(system->total_cap, num_nbrs, TYP_FAR_NEIGHBOR, - lists+FAR_NBRS)) + if (!Make_List(api->system->total_cap, num_nbrs, TYP_FAR_NEIGHBOR, + api->lists+FAR_NBRS)) error->all(FLERR,"Pair reax/c problem in far neighbor list"); - (lists+FAR_NBRS)->error_ptr=error; + (api->lists+FAR_NBRS)->error_ptr=error; write_reax_lists(); - system->wsize = comm->nprocs; - Initialize(system, control, data, workspace, &lists, out_control, world); - for (int k = 0; k < system->N; ++k) { - num_bonds[k] = system->my_atoms[k].num_bonds; - num_hbonds[k] = system->my_atoms[k].num_hbonds; + api->system->wsize = comm->nprocs; + Initialize(api->system, api->control, api->data, api->workspace, &api->lists, api->out_control, world); + for (int k = 0; k < api->system->N; ++k) { + num_bonds[k] = api->system->my_atoms[k].num_bonds; + num_hbonds[k] = api->system->my_atoms[k].num_hbonds; } } else { @@ -458,12 +456,12 @@ void PairReaxC::setup( ) // reset the bond list info for new atoms - for (int k = oldN; k < system->N; ++k) - Set_End_Index( k, Start_Index( k, lists+BONDS ), lists+BONDS ); + for (int k = oldN; k < api->system->N; ++k) + Set_End_Index(k, Start_Index(k, api->lists+BONDS), api->lists+BONDS); // check if I need to shrink/extend my data-structs - ReAllocate( system, control, data, workspace, &lists ); + ReAllocate(api->system, api->control, api->data, api->workspace, &api->lists); } bigint local_ngroup = list->inum; @@ -496,47 +494,47 @@ void PairReaxC::compute(int eflag, int vflag) evdwl = ecoul = 0.0; ev_init(eflag,vflag); - if (vflag_global) control->virial = 1; - else control->virial = 0; + if (vflag_global) api->control->virial = 1; + else api->control->virial = 0; - system->n = atom->nlocal; // my atoms - system->N = atom->nlocal + atom->nghost; // mine + ghosts - system->bigN = static_cast (atom->natoms); // all atoms in the system + api->system->n = atom->nlocal; // my atoms + api->system->N = atom->nlocal + atom->nghost; // mine + ghosts + api->system->bigN = static_cast (atom->natoms); // all atoms in the system // setup data structures setup(); - Reset( system, control, data, workspace, &lists ); - workspace->realloc.num_far = write_reax_lists(); + Reset(api->system, api->control, api->data, api->workspace, &api->lists); + api->workspace->realloc.num_far = write_reax_lists(); // forces - Compute_Forces(system,control,data,workspace,&lists,out_control); + Compute_Forces(api->system,api->control,api->data,api->workspace,&api->lists,api->out_control); read_reax_forces(vflag); - for (int k = 0; k < system->N; ++k) { - num_bonds[k] = system->my_atoms[k].num_bonds; - num_hbonds[k] = system->my_atoms[k].num_hbonds; + for (int k = 0; k < api->system->N; ++k) { + num_bonds[k] = api->system->my_atoms[k].num_bonds; + num_hbonds[k] = api->system->my_atoms[k].num_hbonds; } // energies and pressure if (eflag_global) { - evdwl += data->my_en.e_bond; - evdwl += data->my_en.e_ov; - evdwl += data->my_en.e_un; - evdwl += data->my_en.e_lp; - evdwl += data->my_en.e_ang; - evdwl += data->my_en.e_pen; - evdwl += data->my_en.e_coa; - evdwl += data->my_en.e_hb; - evdwl += data->my_en.e_tor; - evdwl += data->my_en.e_con; - evdwl += data->my_en.e_vdW; + evdwl += api->data->my_en.e_bond; + evdwl += api->data->my_en.e_ov; + evdwl += api->data->my_en.e_un; + evdwl += api->data->my_en.e_lp; + evdwl += api->data->my_en.e_ang; + evdwl += api->data->my_en.e_pen; + evdwl += api->data->my_en.e_coa; + evdwl += api->data->my_en.e_hb; + evdwl += api->data->my_en.e_tor; + evdwl += api->data->my_en.e_con; + evdwl += api->data->my_en.e_vdW; - ecoul += data->my_en.e_ele; - ecoul += data->my_en.e_pol; + ecoul += api->data->my_en.e_ele; + ecoul += api->data->my_en.e_pol; // eng_vdwl += evdwl; // eng_coul += ecoul; @@ -544,43 +542,43 @@ void PairReaxC::compute(int eflag, int vflag) // Store the different parts of the energy // in a list for output by compute pair command - pvector[0] = data->my_en.e_bond; - pvector[1] = data->my_en.e_ov + data->my_en.e_un; - pvector[2] = data->my_en.e_lp; + pvector[0] = api->data->my_en.e_bond; + pvector[1] = api->data->my_en.e_ov + api->data->my_en.e_un; + pvector[2] = api->data->my_en.e_lp; pvector[3] = 0.0; - pvector[4] = data->my_en.e_ang; - pvector[5] = data->my_en.e_pen; - pvector[6] = data->my_en.e_coa; - pvector[7] = data->my_en.e_hb; - pvector[8] = data->my_en.e_tor; - pvector[9] = data->my_en.e_con; - pvector[10] = data->my_en.e_vdW; - pvector[11] = data->my_en.e_ele; + pvector[4] = api->data->my_en.e_ang; + pvector[5] = api->data->my_en.e_pen; + pvector[6] = api->data->my_en.e_coa; + pvector[7] = api->data->my_en.e_hb; + pvector[8] = api->data->my_en.e_tor; + pvector[9] = api->data->my_en.e_con; + pvector[10] = api->data->my_en.e_vdW; + pvector[11] = api->data->my_en.e_ele; pvector[12] = 0.0; - pvector[13] = data->my_en.e_pol; + pvector[13] = api->data->my_en.e_pol; } if (vflag_fdotr) virial_fdotr_compute(); // Set internal timestep counter to that of LAMMPS - data->step = update->ntimestep; + api->data->step = update->ntimestep; - Output_Results(system, control, data, &lists, out_control, world); + Output_Results(api->system, api->control, api->data, &api->lists, api->out_control, world); // populate tmpid and tmpbo arrays for fix reax/c/species int i, j; if (fixspecies_flag) { - if (system->N > nmax) { + if (api->system->N > nmax) { memory->destroy(tmpid); memory->destroy(tmpbo); - nmax = system->N; + nmax = api->system->N; memory->create(tmpid,nmax,MAXSPECBOND,"pair:tmpid"); memory->create(tmpbo,nmax,MAXSPECBOND,"pair:tmpbo"); } - for (i = 0; i < system->N; i ++) + for (i = 0; i < api->system->N; i ++) for (j = 0; j < MAXSPECBOND; j ++) { tmpbo[i][j] = 0.0; tmpid[i][j] = 0; @@ -597,24 +595,24 @@ void PairReaxC::write_reax_atoms() int *num_bonds = fix_reax->num_bonds; int *num_hbonds = fix_reax->num_hbonds; - if (system->N > system->total_cap) + if (api->system->N > api->system->total_cap) error->all(FLERR,"Too many ghost atoms"); - for (int i = 0; i < system->N; ++i) { - system->my_atoms[i].orig_id = atom->tag[i]; - system->my_atoms[i].type = map[atom->type[i]]; - system->my_atoms[i].x[0] = atom->x[i][0]; - system->my_atoms[i].x[1] = atom->x[i][1]; - system->my_atoms[i].x[2] = atom->x[i][2]; - system->my_atoms[i].q = atom->q[i]; - system->my_atoms[i].num_bonds = num_bonds[i]; - system->my_atoms[i].num_hbonds = num_hbonds[i]; + for (int i = 0; i < api->system->N; ++i) { + api->system->my_atoms[i].orig_id = atom->tag[i]; + api->system->my_atoms[i].type = map[atom->type[i]]; + api->system->my_atoms[i].x[0] = atom->x[i][0]; + api->system->my_atoms[i].x[1] = atom->x[i][1]; + api->system->my_atoms[i].x[2] = atom->x[i][2]; + api->system->my_atoms[i].q = atom->q[i]; + api->system->my_atoms[i].num_bonds = num_bonds[i]; + api->system->my_atoms[i].num_hbonds = num_hbonds[i]; } } /* ---------------------------------------------------------------------- */ -void PairReaxC::get_distance( rvec xj, rvec xi, double *d_sqr, rvec *dvec ) +void PairReaxC::get_distance(rvec xj, rvec xi, double *d_sqr, rvec *dvec) { (*dvec)[0] = xj[0] - xi[0]; (*dvec)[1] = xj[1] - xi[1]; @@ -624,13 +622,13 @@ void PairReaxC::get_distance( rvec xj, rvec xi, double *d_sqr, rvec *dvec ) /* ---------------------------------------------------------------------- */ -void PairReaxC::set_far_nbr( far_neighbor_data *fdest, - int j, double d, rvec dvec ) +void PairReaxC::set_far_nbr(ReaxFF::far_neighbor_data *fdest, + int j, double d, rvec dvec) { fdest->nbr = j; fdest->d = d; - rvec_Copy( fdest->dvec, dvec ); - ivec_MakeZero( fdest->rel_box ); + rvec_Copy(fdest->dvec, dvec); + ivec_MakeZero(fdest->rel_box); } /* ---------------------------------------------------------------------- */ @@ -644,8 +642,8 @@ int PairReaxC::estimate_reax_lists() rvec dvec; double **x; - int mincap = system->mincap; - double safezone = system->safezone; + int mincap = api->system->mincap; + double safezone = api->system->safezone; x = atom->x; ilist = list->ilist; @@ -654,7 +652,7 @@ int PairReaxC::estimate_reax_lists() num_nbrs = 0; num_marked = 0; - marked = (int*) calloc( system->N, sizeof(int) ); + marked = (int*) calloc(api->system->N, sizeof(int)); int numall = list->inum + list->gnum; @@ -667,14 +665,14 @@ int PairReaxC::estimate_reax_lists() for (itr_j = 0; itr_j < numneigh[i]; ++itr_j) { j = jlist[itr_j]; j &= NEIGHMASK; - get_distance( x[j], x[i], &d_sqr, &dvec ); + get_distance(x[j], x[i], &d_sqr, &dvec); - if (d_sqr <= SQR(control->nonb_cut)) + if (d_sqr <= SQR(api->control->nonb_cut)) ++num_nbrs; } } - free( marked ); + free(marked); return static_cast (MAX(num_nbrs*safezone, mincap*REAX_MIN_NBRS)); } @@ -697,40 +695,40 @@ int PairReaxC::write_reax_lists() numneigh = list->numneigh; firstneigh = list->firstneigh; - far_nbrs = lists + FAR_NBRS; + far_nbrs = api->lists + FAR_NBRS; far_list = far_nbrs->select.far_nbr_list; num_nbrs = 0; int inum = list->inum; - dist = (double*) calloc( system->N, sizeof(double) ); + dist = (double*) calloc(api->system->N, sizeof(double)); int numall = list->inum + list->gnum; for (itr_i = 0; itr_i < numall; ++itr_i) { i = ilist[itr_i]; jlist = firstneigh[i]; - Set_Start_Index( i, num_nbrs, far_nbrs ); + Set_Start_Index(i, num_nbrs, far_nbrs); if (i < inum) - cutoff_sqr = control->nonb_cut*control->nonb_cut; + cutoff_sqr = SQR(api->control->nonb_cut); else - cutoff_sqr = control->bond_cut*control->bond_cut; + cutoff_sqr = SQR(api->control->bond_cut); for (itr_j = 0; itr_j < numneigh[i]; ++itr_j) { j = jlist[itr_j]; j &= NEIGHMASK; - get_distance( x[j], x[i], &d_sqr, &dvec ); + get_distance(x[j], x[i], &d_sqr, &dvec); if (d_sqr <= (cutoff_sqr)) { - dist[j] = sqrt( d_sqr ); - set_far_nbr( &far_list[num_nbrs], j, dist[j], dvec ); + dist[j] = sqrt(d_sqr); + set_far_nbr((ReaxFF::far_neighbor_data *)&far_list[num_nbrs], j, dist[j], dvec); ++num_nbrs; } } - Set_End_Index( i, num_nbrs, far_nbrs ); + Set_End_Index(i, num_nbrs, far_nbrs); } - free( dist ); + free(dist); return num_nbrs; } @@ -739,14 +737,14 @@ int PairReaxC::write_reax_lists() void PairReaxC::read_reax_forces(int /*vflag*/) { - for (int i = 0; i < system->N; ++i) { - system->my_atoms[i].f[0] = workspace->f[i][0]; - system->my_atoms[i].f[1] = workspace->f[i][1]; - system->my_atoms[i].f[2] = workspace->f[i][2]; + for (int i = 0; i < api->system->N; ++i) { + api->system->my_atoms[i].f[0] = api->workspace->f[i][0]; + api->system->my_atoms[i].f[1] = api->workspace->f[i][1]; + api->system->my_atoms[i].f[2] = api->workspace->f[i][2]; - atom->f[i][0] += -workspace->f[i][0]; - atom->f[i][1] += -workspace->f[i][1]; - atom->f[i][2] += -workspace->f[i][2]; + atom->f[i][0] += -api->workspace->f[i][0]; + atom->f[i][1] += -api->workspace->f[i][1]; + atom->f[i][2] += -api->workspace->f[i][2]; } } @@ -758,19 +756,19 @@ void *PairReaxC::extract(const char *str, int &dim) dim = 1; if (strcmp(str,"chi") == 0 && chi) { for (int i = 1; i <= atom->ntypes; i++) - if (map[i] >= 0) chi[i] = system->reax_param.sbp[map[i]].chi; + if (map[i] >= 0) chi[i] = api->system->reax_param.sbp[map[i]].chi; else chi[i] = 0.0; return (void *) chi; } if (strcmp(str,"eta") == 0 && eta) { for (int i = 1; i <= atom->ntypes; i++) - if (map[i] >= 0) eta[i] = system->reax_param.sbp[map[i]].eta; + if (map[i] >= 0) eta[i] = api->system->reax_param.sbp[map[i]].eta; else eta[i] = 0.0; return (void *) eta; } if (strcmp(str,"gamma") == 0 && gamma) { for (int i = 1; i <= atom->ntypes; i++) - if (map[i] >= 0) gamma[i] = system->reax_param.sbp[map[i]].gamma; + if (map[i] >= 0) gamma[i] = api->system->reax_param.sbp[map[i]].gamma; else gamma[i] = 0.0; return (void *) gamma; } @@ -784,22 +782,22 @@ double PairReaxC::memory_usage() double bytes = 0.0; // From pair_reax_c - bytes += (double)1.0 * system->N * sizeof(int); - bytes += (double)1.0 * system->N * sizeof(double); + bytes += (double)1.0 * api->system->N * sizeof(int); + bytes += (double)1.0 * api->system->N * sizeof(double); // From reaxc_allocate: BO - bytes += (double)1.0 * system->total_cap * sizeof(reax_atom); - bytes += (double)19.0 * system->total_cap * sizeof(double); - bytes += (double)3.0 * system->total_cap * sizeof(int); + bytes += (double)1.0 * api->system->total_cap * sizeof(reax_atom); + bytes += (double)19.0 * api->system->total_cap * sizeof(double); + bytes += (double)3.0 * api->system->total_cap * sizeof(int); // From reaxc_lists - bytes += (double)2.0 * lists->n * sizeof(int); - bytes += (double)lists->num_intrs * sizeof(three_body_interaction_data); - bytes += (double)lists->num_intrs * sizeof(bond_data); - bytes += (double)lists->num_intrs * sizeof(dbond_data); - bytes += (double)lists->num_intrs * sizeof(dDelta_data); - bytes += (double)lists->num_intrs * sizeof(far_neighbor_data); - bytes += (double)lists->num_intrs * sizeof(hbond_data); + bytes += (double)2.0 * api->lists->n * sizeof(int); + bytes += (double)api->lists->num_intrs * sizeof(three_body_interaction_data); + bytes += (double)api->lists->num_intrs * sizeof(bond_data); + bytes += (double)api->lists->num_intrs * sizeof(dbond_data); + bytes += (double)api->lists->num_intrs * sizeof(dDelta_data); + bytes += (double)api->lists->num_intrs * sizeof(far_neighbor_data); + bytes += (double)api->lists->num_intrs * sizeof(hbond_data); if (fixspecies_flag) bytes += (double)2 * nmax * MAXSPECBOND * sizeof(double); @@ -817,10 +815,10 @@ void PairReaxC::FindBond() bond_data *bo_ij; bo_cut = 0.10; - for (i = 0; i < system->n; i++) { + for (i = 0; i < api->system->n; i++) { nj = 0; - for (pj = Start_Index(i, lists); pj < End_Index(i, lists); ++pj) { - bo_ij = &( lists->select.bond_list[pj] ); + for (pj = Start_Index(i, api->lists); pj < End_Index(i, api->lists); ++pj) { + bo_ij = &(api->lists->select.bond_list[pj]); j = bo_ij->nbr; if (j < i) continue; diff --git a/src/USER-REAXC/pair_reaxc.h b/src/USER-REAXC/pair_reaxc.h index 5283824116..9372f23ff4 100644 --- a/src/USER-REAXC/pair_reaxc.h +++ b/src/USER-REAXC/pair_reaxc.h @@ -32,14 +32,10 @@ PairStyle(reax/c,PairReaxC) #include "pair.h" -// forward declarations -struct control_params; -struct reax_system; -struct output_controls; -struct simulation_data; -struct storage; -struct reax_list; -struct far_neighbor_data; +namespace ReaxFF { + struct API; + struct far_neighbor_data; +} namespace LAMMPS_NS { @@ -57,12 +53,7 @@ class PairReaxC : public Pair { int **tmpid; double **tmpbo,**tmpr; - control_params *control; - reax_system *system; - output_controls *out_control; - simulation_data *data; - storage *workspace; - reax_list *lists; + ReaxFF::API *api; bigint ngroup; typedef double rvec[3]; @@ -83,7 +74,7 @@ protected: void create_fix(); void write_reax_atoms(); void get_distance(rvec, rvec, double *, rvec *); - void set_far_nbr(far_neighbor_data *, int, double, rvec); + void set_far_nbr(ReaxFF::far_neighbor_data *, int, double, rvec); int estimate_reax_lists(); int write_reax_lists(); void read_reax_forces(int); @@ -91,7 +82,6 @@ protected: int nmax; void FindBond(); double memory_usage(); - }; } diff --git a/src/USER-REAXC/reaxc_ffield.h b/src/USER-REAXC/reaxc_ffield.h index d334047ab5..f7a97f0636 100644 --- a/src/USER-REAXC/reaxc_ffield.h +++ b/src/USER-REAXC/reaxc_ffield.h @@ -24,8 +24,8 @@ . ----------------------------------------------------------------------*/ -#ifndef __FFIELD_H_ -#define __FFIELD_H_ +#ifndef LMP_REAXC_FFIELD_H +#define LMP_REAXC_FFIELD_H #include "reaxc_types.h" diff --git a/src/USER-REAXC/reaxc_traj.cpp b/src/USER-REAXC/reaxc_traj.cpp index 6c8c1e079d..a4678d52c5 100644 --- a/src/USER-REAXC/reaxc_traj.cpp +++ b/src/USER-REAXC/reaxc_traj.cpp @@ -111,7 +111,7 @@ void Write_Header(reax_system *system, control_params *control, output_controls /* only the master node writes into trajectory header */ if (system->my_rank == MASTER_NODE) { std::string buffer(""); - + /* to skip the header */ buffer += fmtline("chars_to_skip_header:",(NUM_HEADER_LINES-1) * HEADER_LINE_LEN); @@ -167,7 +167,7 @@ void Write_Header(reax_system *system, control_params *control, output_controls buffer += fmtline("molecular_analysis_frequency:", 0); /* dump out the buffer */ - + fputs(buffer.c_str(),out_control->strj); } } @@ -324,13 +324,13 @@ void Write_Atoms(reax_system *system, output_controls *out_control, /* fill in buffer */ out_control->buffer[0] = 0; - + for (i = 0; i < system->n; ++i) { std::string buffer(""); p_atom = &(system->my_atoms[i]); buffer += fmt::format("{:9}{:10.3f}{:10.3f}{:10.3f}",p_atom->orig_id, p_atom->x[0], p_atom->x[1],p_atom->x[2]); - + switch (out_control->atom_info) { case OPT_ATOM_BASIC: buffer += fmt::format("{:10.3f}\n",p_atom->q); diff --git a/src/USER-REAXC/reaxc_types.h b/src/USER-REAXC/reaxc_types.h index 94adf6c3f7..cd9b1be9c9 100644 --- a/src/USER-REAXC/reaxc_types.h +++ b/src/USER-REAXC/reaxc_types.h @@ -325,6 +325,15 @@ struct far_neighbor_data { rvec dvec; }; +namespace ReaxFF { + struct far_neighbor_data { + int nbr; + ivec rel_box; + double d; + rvec dvec; + }; +} + struct hbond_data { int nbr; int scl; diff --git a/src/USER-REAXC/reaxff_api.h b/src/USER-REAXC/reaxff_api.h new file mode 100644 index 0000000000..489a7b487e --- /dev/null +++ b/src/USER-REAXC/reaxff_api.h @@ -0,0 +1,38 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing author: Hasan Metin Aktulga, Purdue University + (now at Lawrence Berkeley National Laboratory, hmaktulga@lbl.gov) + + Heavily modified and adapted for LAMMPS by the LAMMPS developers. +------------------------------------------------------------------------- */ + +#ifndef LMP_REAXFF_API_H +#define LMP_REAXFF_API_H + +#include "reaxc_types.h" + +namespace ReaxFF +{ + struct API { + control_params *control; + reax_system *system; + output_controls *out_control; + simulation_data *data; + storage *workspace; + reax_list *lists; + }; +} + +#endif From b96d1ac1a5c859a760c60e5059c70188f05e4183 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 16 Apr 2021 16:45:46 -0400 Subject: [PATCH 036/726] first step of adopting a ReaxFF namespace and reorganizing the ReaxFF headers --- src/KOKKOS/pair_reaxc_kokkos.cpp | 7 +- src/KOKKOS/pair_reaxc_kokkos.h | 7 +- src/USER-OMP/pair_reaxc_omp.cpp | 15 +- src/USER-OMP/reaxff_omp.h | 75 +++++ src/USER-REAXC/fix_qeq_reax.cpp | 9 +- src/USER-REAXC/fix_reaxc_bonds.cpp | 7 +- src/USER-REAXC/pair_reaxc.cpp | 20 +- src/USER-REAXC/reaxff_api.h | 115 +++++++- src/USER-REAXC/reaxff_defs.h | 107 +++++++ src/USER-REAXC/reaxff_inline.h | 88 ++++++ src/USER-REAXC/reaxff_types.h | 453 +++++++++++++++++++++++++++++ 11 files changed, 855 insertions(+), 48 deletions(-) create mode 100644 src/USER-OMP/reaxff_omp.h create mode 100644 src/USER-REAXC/reaxff_defs.h create mode 100644 src/USER-REAXC/reaxff_inline.h create mode 100644 src/USER-REAXC/reaxff_types.h diff --git a/src/KOKKOS/pair_reaxc_kokkos.cpp b/src/KOKKOS/pair_reaxc_kokkos.cpp index 4ef82776d8..deb1dc74fd 100644 --- a/src/KOKKOS/pair_reaxc_kokkos.cpp +++ b/src/KOKKOS/pair_reaxc_kokkos.cpp @@ -28,19 +28,16 @@ #include "neigh_request.h" #include "neighbor.h" -#include "reaxc_defs.h" -#include "reaxc_lookup.h" -#include "reaxc_tool_box.h" - #include "reaxff_api.h" #include - #define TEAMSIZE 128 /* ---------------------------------------------------------------------- */ +using namespace ReaxFF; + namespace LAMMPS_NS { using namespace MathConst; using namespace MathSpecial; diff --git a/src/KOKKOS/pair_reaxc_kokkos.h b/src/KOKKOS/pair_reaxc_kokkos.h index d54f275d6f..19b2f53f35 100644 --- a/src/KOKKOS/pair_reaxc_kokkos.h +++ b/src/KOKKOS/pair_reaxc_kokkos.h @@ -26,7 +26,6 @@ PairStyle(reax/c/kk/host,PairReaxCKokkos) #include "pair_kokkos.h" #include "pair_reaxc.h" #include "neigh_list_kokkos.h" -#include "reaxc_types.h" #define C_ele 332.06371 #define SMALL 0.0001 @@ -36,12 +35,14 @@ PairStyle(reax/c/kk/host,PairReaxCKokkos) #define SQR(x) ((x)*(x)) +#include "reaxff_inline.h" + namespace LAMMPS_NS { template struct LR_lookup_table_kk { - typedef Kokkos::DualView tdual_cubic_spline_coef_1d; + typedef Kokkos::DualView tdual_cubic_spline_coef_1d; typedef typename tdual_cubic_spline_coef_1d::t_dev t_cubic_spline_coef_1d; double dx, inv_dx; @@ -338,7 +339,7 @@ class PairReaxCKokkos : public PairReaxC { void init_md(); int Init_Lookup_Tables(); void Deallocate_Lookup_Tables(); - void LR_vdW_Coulomb( int i, int j, double r_ij, LR_data *lr ); + void LR_vdW_Coulomb( int i, int j, double r_ij, ReaxFF::LR_data *lr ); typedef Kokkos::DualView tdual_int_1d; Kokkos::DualView k_params_sing; diff --git a/src/USER-OMP/pair_reaxc_omp.cpp b/src/USER-OMP/pair_reaxc_omp.cpp index e7e03520e0..ac1ddd17a6 100644 --- a/src/USER-OMP/pair_reaxc_omp.cpp +++ b/src/USER-OMP/pair_reaxc_omp.cpp @@ -49,18 +49,8 @@ #include "memory.h" #include "error.h" - -#include "reaxc_defs.h" -#include "reaxc_types.h" -#include "reaxc_allocate.h" -#include "reaxc_forces_omp.h" -#include "reaxc_init_md_omp.h" -#include "reaxc_io_tools.h" -#include "reaxc_list.h" -#include "reaxc_reset_tools.h" -#include "reaxc_tool_box.h" - #include "reaxff_api.h" +#include "reaxff_omp.h" #if defined(_OPENMP) #include @@ -68,6 +58,7 @@ #include "suffix.h" using namespace LAMMPS_NS; +using namespace ReaxFF; #ifdef OMP_TIMING double ompTimingData[LASTTIMINGINDEX]; @@ -547,7 +538,7 @@ int PairReaxCOMP::write_reax_lists() if (d_sqr <= cutoff_sqr) { dist = sqrt( d_sqr ); - set_far_nbr((ReaxFF::far_neighbor_data *) &far_list[num_nbrs_offset[i] + num_mynbrs], j, dist, dvec ); + set_far_nbr(&far_list[num_nbrs_offset[i] + num_mynbrs], j, dist, dvec ); ++num_mynbrs; } } diff --git a/src/USER-OMP/reaxff_omp.h b/src/USER-OMP/reaxff_omp.h new file mode 100644 index 0000000000..f6ca7116ca --- /dev/null +++ b/src/USER-OMP/reaxff_omp.h @@ -0,0 +1,75 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing author: Hasan Metin Aktulga, Purdue University + (now at Lawrence Berkeley National Laboratory, hmaktulga@lbl.gov) + + Heavily modified and adapted for LAMMPS by the LAMMPS developers. +------------------------------------------------------------------------- */ + +#ifndef LMP_REAXFF_OMP_H +#define LMP_REAXFF_OMP_H + +#include "reaxff_types.h" + +namespace ReaxFF +{ + // uncomment to enabled collecting ReaxFF OpenMP timing data + // #define OMP_TIMING 1 + +#ifdef OMP_TIMING + // pkcoff timing fields + enum { COMPUTEINDEX=0, + COMPUTEWLINDEX, + COMPUTEBFINDEX, + COMPUTEQEQINDEX, + COMPUTENBFINDEX, + COMPUTEIFINDEX, + COMPUTETFINDEX, + COMPUTEBOINDEX, + COMPUTEBONDSINDEX, + COMPUTEATOMENERGYINDEX, + COMPUTEVALENCEANGLESBOINDEX, + COMPUTETORSIONANGLESBOINDEX, + COMPUTEHBONDSINDEX, + COMPUTECG1INDEX, + COMPUTECG2INDEX, + COMPUTECGCOMPUTEINDEX, + COMPUTECALCQINDEX, + COMPUTEINITMVINDEX, + COMPUTEMVCOMPINDEX, + LASTTIMINGINDEX + }; + + extern double ompTimingData[LASTTIMINGINDEX]; + extern int ompTimingCount[LASTTIMINGINDEX]; + extern int ompTimingCGCount[LASTTIMINGINDEX]; +#endif + + // exported Functions + + // forces OpenMP + + extern void Compute_ForcesOMP(reax_system *, control_params *, + simulation_data *, storage *, + reax_list **, output_controls *); + + // init md OpenMP + + extern void InitializeOMP(reax_system *, control_params *, + simulation_data *, storage *, reax_list **, + output_controls *, MPI_Comm); +} + +#endif diff --git a/src/USER-REAXC/fix_qeq_reax.cpp b/src/USER-REAXC/fix_qeq_reax.cpp index b4b28b587a..f37fa4ba4a 100644 --- a/src/USER-REAXC/fix_qeq_reax.cpp +++ b/src/USER-REAXC/fix_qeq_reax.cpp @@ -31,20 +31,17 @@ #include "neigh_request.h" #include "neighbor.h" #include "pair.h" -#include "pair_reaxc.h" #include "respa.h" #include "text_file_reader.h" #include "tokenizer.h" #include "update.h" +#include "pair_reaxc.h" +#include "reaxff_api.h" + #include #include -#include "reaxc_defs.h" -#include "reaxc_types.h" - -#include "reaxff_api.h" - using namespace LAMMPS_NS; using namespace FixConst; diff --git a/src/USER-REAXC/fix_reaxc_bonds.cpp b/src/USER-REAXC/fix_reaxc_bonds.cpp index 62e8427894..c741259810 100644 --- a/src/USER-REAXC/fix_reaxc_bonds.cpp +++ b/src/USER-REAXC/fix_reaxc_bonds.cpp @@ -22,19 +22,16 @@ #include "force.h" #include "memory.h" #include "neigh_list.h" -#include "pair_reaxc.h" #include "update.h" -#include "reaxc_list.h" -#include "reaxc_types.h" -#include "reaxc_defs.h" - +#include "pair_reaxc.h" #include "reaxff_api.h" #include using namespace LAMMPS_NS; using namespace FixConst; +using namespace ReaxFF; /* ---------------------------------------------------------------------- */ diff --git a/src/USER-REAXC/pair_reaxc.cpp b/src/USER-REAXC/pair_reaxc.cpp index 87def7f06b..a1772f9551 100644 --- a/src/USER-REAXC/pair_reaxc.cpp +++ b/src/USER-REAXC/pair_reaxc.cpp @@ -40,22 +40,10 @@ #include #include // for strcasecmp() -#include "reaxc_defs.h" -#include "reaxc_types.h" -#include "reaxc_allocate.h" -#include "reaxc_control.h" -#include "reaxc_ffield.h" -#include "reaxc_forces.h" -#include "reaxc_init_md.h" -#include "reaxc_io_tools.h" -#include "reaxc_list.h" -#include "reaxc_lookup.h" -#include "reaxc_reset_tools.h" -#include "reaxc_vector.h" - #include "reaxff_api.h" using namespace LAMMPS_NS; +using namespace ReaxFF; static const char cite_pair_reax_c[] = "pair reax/c command:\n\n" @@ -83,7 +71,7 @@ PairReaxC::PairReaxC(LAMMPS *lmp) : Pair(lmp) fix_id = utils::strdup("REAXC_" + std::to_string(instance_me)); - api = new ReaxFF::API; + api = new API; api->system = new reax_system; memset(api->system,0,sizeof(reax_system)); @@ -622,7 +610,7 @@ void PairReaxC::get_distance(rvec xj, rvec xi, double *d_sqr, rvec *dvec) /* ---------------------------------------------------------------------- */ -void PairReaxC::set_far_nbr(ReaxFF::far_neighbor_data *fdest, +void PairReaxC::set_far_nbr(far_neighbor_data *fdest, int j, double d, rvec dvec) { fdest->nbr = j; @@ -721,7 +709,7 @@ int PairReaxC::write_reax_lists() if (d_sqr <= (cutoff_sqr)) { dist[j] = sqrt(d_sqr); - set_far_nbr((ReaxFF::far_neighbor_data *)&far_list[num_nbrs], j, dist[j], dvec); + set_far_nbr(&far_list[num_nbrs], j, dist[j], dvec); ++num_nbrs; } } diff --git a/src/USER-REAXC/reaxff_api.h b/src/USER-REAXC/reaxff_api.h index 489a7b487e..19f345636f 100644 --- a/src/USER-REAXC/reaxff_api.h +++ b/src/USER-REAXC/reaxff_api.h @@ -21,10 +21,13 @@ #ifndef LMP_REAXFF_API_H #define LMP_REAXFF_API_H -#include "reaxc_types.h" +#include "reaxff_types.h" + +#include namespace ReaxFF { + // per instance data struct API { control_params *control; reax_system *system; @@ -33,6 +36,116 @@ namespace ReaxFF storage *workspace; reax_list *lists; }; + + // exported Functions + + // allocate + + extern void DeAllocate_System(reax_system *); + extern void DeAllocate_Workspace(control_params *, storage *); + extern int PreAllocate_Space(reax_system *, control_params *, storage *); + extern void ReAllocate(reax_system *, control_params *, simulation_data *, + storage *, reax_list **); + + // control + + extern void Read_Control_File(const char *, control_params *, output_controls *); + + // ffield + + extern void Read_Force_Field(const char *, reax_interaction *, control_params *); + + // forces + + extern void Compute_Forces(reax_system *, control_params *, simulation_data *, + storage *, reax_list **, output_controls *); + + // init md + + extern void Initialize(reax_system *, control_params *, simulation_data *, + storage *, reax_list **, output_controls *, MPI_Comm); + + // io tools + + extern void Close_Output_Files(reax_system *, output_controls *); + extern void Output_Results(reax_system *, control_params *, simulation_data *, + reax_list **, output_controls *, MPI_Comm); + + // lists + + inline int Start_Index(int i, reax_list *l) { return l->index[i]; } + inline int End_Index(int i, reax_list *l) { return l->end_index[i]; } + inline void Set_Start_Index(int i, int val, reax_list *l) { + l->index[i] = val; + } + inline void Set_End_Index(int i, int val, reax_list *l) { + l->end_index[i] = val; + } + extern void Delete_List(reax_list*); + extern int Make_List(int, int, int, reax_list *); + + // lookup + + extern void Deallocate_Lookup_Tables(reax_system *); + extern void Natural_Cubic_Spline(LAMMPS_NS::Error*, const double *, + const double *, cubic_spline_coef *, + unsigned int); + extern void Complete_Cubic_Spline(LAMMPS_NS::Error*, const double *, + const double *, double v0, double vlast, + cubic_spline_coef *coef, unsigned int n); + + // reset tools + + extern void Reset(reax_system *, control_params *, simulation_data *, + storage *, reax_list **); + + // toolbox + + extern void *scalloc(LAMMPS_NS::Error *, rc_bigint, rc_bigint, const char *); + extern void *smalloc(LAMMPS_NS::Error *, rc_bigint, const char *); + extern void sfree(LAMMPS_NS::Error *, void *, const char *); + + // vector + + inline void rvec_Add(rvec ret, rvec v) { + ret[0] += v[0]; ret[1] += v[1]; ret[2] += v[2]; + } + + inline void rvec_Copy(rvec dest, rvec src) { + dest[0] = src[0]; dest[1] = src[1]; dest[2] = src[2]; + } + + inline void rvec_Cross(rvec ret, rvec v1, rvec v2) + { + ret[0] = v1[1] * v2[2] - v1[2] * v2[1]; + ret[1] = v1[2] * v2[0] - v1[0] * v2[2]; + ret[2] = v1[0] * v2[1] - v1[1] * v2[0]; + } + + inline double rvec_Dot(rvec v1, rvec v2) { + return v1[0]*v2[0] + v1[1]*v2[1] + v1[2]*v2[2]; + } + + inline double rvec_Norm( rvec v ) { + return sqrt( SQR(v[0]) + SQR(v[1]) + SQR(v[2]) ); + } + + inline void rvec_Scale(rvec ret, double c, rvec v) { + ret[0] = c * v[0]; ret[1] = c * v[1]; ret[2] = c * v[2]; + } + + inline void rvec_ScaledAdd(rvec ret, double c, rvec v) { + ret[0] += c * v[0], ret[1] += c * v[1], ret[2] += c * v[2]; + } + + inline void rvec_ScaledSum(rvec ret, double c1, rvec v1 ,double c2, rvec v2) + { + ret[0] = c1 * v1[0] + c2 * v2[0]; + ret[1] = c1 * v1[1] + c2 * v2[1]; + ret[2] = c1 * v1[2] + c2 * v2[2]; + } + + inline void ivec_MakeZero(ivec v) { v[0] = v[1] = v[2] = 0; } } #endif diff --git a/src/USER-REAXC/reaxff_defs.h b/src/USER-REAXC/reaxff_defs.h new file mode 100644 index 0000000000..3bd3ad899b --- /dev/null +++ b/src/USER-REAXC/reaxff_defs.h @@ -0,0 +1,107 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing author: Hasan Metin Aktulga, Purdue University + (now at Lawrence Berkeley National Laboratory, hmaktulga@lbl.gov) + + Heavily modified and adapted for LAMMPS by the LAMMPS developers. +------------------------------------------------------------------------- */ + +#ifndef LMP_REAXFF_DEFS_H +#define LMP_REAXFF_DEFS_H + +#if defined(__IBMC__) +#define inline __inline__ +#endif /*IBMC*/ + +#ifndef SUCCESS +#define SUCCESS 1 +#endif +#ifndef FAILURE +#define FAILURE 0 +#endif + +#define SQR(x) ((x)*(x)) +#define CUBE(x) ((x)*(x)*(x)) +#define DEG2RAD(a) ((a)*constPI/180.0) +#define RAD2DEG(a) ((a)*180.0/constPI) +#define MAX3(x,y,z) MAX( MAX(x,y), z) + +#define constPI 3.14159265 +#define C_ele 332.06371 +//#define K_B 503.398008 // kcal/mol/K +#define K_B 0.831687 // amu A^2 / ps^2 / K +#define F_CONV 1e6 / 48.88821291 / 48.88821291 // --> amu A / ps^2 +#define E_CONV 0.002391 // amu A^2 / ps^2 --> kcal/mol +#define EV_to_KCALpMOL 14.400000 // ElectronVolt --> KCAL per MOLe +#define KCALpMOL_to_EV 23.02 // 23.060549 //KCAL per MOLe --> ElectronVolt +#define ECxA_to_DEBYE 4.803204 // elem. charge * Ang -> debye +#define CAL_to_JOULES 4.184000 // CALories --> JOULES +#define JOULES_to_CAL 1/4.184000 // JOULES --> CALories +#define AMU_to_GRAM 1.6605e-24 +#define ANG_to_CM 1e-8 +#define AVOGNR 6.0221367e23 +#define P_CONV 1e-24 * AVOGNR * JOULES_to_CAL + +#define MAX_STR 1024 +#define MAX_LINE 1024 +#define MAX_TOKENS 1024 +#define MAX_TOKEN_LEN 1024 + +#define NUM_INTRS 10 +#define ALMOST_ZERO 1e-10 +#define NEG_INF -1e10 +#define NO_BOND 1e-3 // 0.001 +#define HB_THRESHOLD 1e-2 // 0.01 + +#define REAX_MIN_CAP 50 +#define REAX_MIN_NBRS 100 +#define MIN_HENTRIES 100 +#define MAX_BONDS 30 +#define MIN_BONDS 25 +#define REAX_MIN_HBONDS 25 +#define MIN_3BODIES 1000 +#define REAX_SAFE_ZONE 1.2 +#define REAX_SAFER_ZONE 1.4 +#define DANGER_ZONE 0.90 +#define LOOSE_ZONE 0.75 +#define MAX_3BODY_PARAM 5 +#define MAX_4BODY_PARAM 5 + +#define MASTER_NODE 0 + +#define MAXREAXBOND 24 /* used in fix_reaxc_bonds.cpp and pair_reaxc.cpp */ +#define MAXSPECBOND 24 /* used in fix_reaxc_species.cpp and pair_reaxc.cpp */ + +/************* crucial for reaxff_types.h *********/ + +#define REAX_MAX_STR 1024 +#define REAX_MAX_3BODY_PARAM 5 +#define REAX_MAX_4BODY_PARAM 5 +#define REAX_MAX_ATOM_TYPES 25 + +namespace ReaxFF +{ + /******************* ENUMERATORS *************************/ + + enum lists { BONDS, OLD_BONDS, THREE_BODIES, + HBONDS, FAR_NBRS, DBOS, DDELTAS, LIST_N }; + + enum message_tags {NONE, INIT_DESCS, ATOM_LINES, BOND_LINES, ANGLE_LINES}; + + enum interactions {TYP_VOID, TYP_BOND, TYP_THREE_BODY, + TYP_HBOND, TYP_FAR_NEIGHBOR, TYP_DBO, TYP_DDELTA, TYP_N}; +} + +#endif diff --git a/src/USER-REAXC/reaxff_inline.h b/src/USER-REAXC/reaxff_inline.h new file mode 100644 index 0000000000..9a4a2159f6 --- /dev/null +++ b/src/USER-REAXC/reaxff_inline.h @@ -0,0 +1,88 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing author: Hasan Metin Aktulga, Purdue University + (now at Lawrence Berkeley National Laboratory, hmaktulga@lbl.gov) + + Heavily modified and adapted for LAMMPS by the LAMMPS developers. +------------------------------------------------------------------------- */ + +#ifndef LMP_REAXFF_INLINE_H +#define LMP_REAXFF_INLINE_H + +#include "accelerator_kokkos.h" // for LAMMPS_INLINE + +namespace ReaxFF +{ + struct LR_data + { + double H; + double e_vdW, CEvd; + double e_ele, CEclmb; + + LAMMPS_INLINE + LR_data() {} + + LAMMPS_INLINE + void operator = (const LR_data& rhs) { + H = rhs.H; + e_vdW = rhs.e_vdW; + CEvd = rhs.CEvd; + e_ele = rhs.e_ele; + CEclmb = rhs.CEclmb; + } + LAMMPS_INLINE + void operator = (const LR_data& rhs) volatile { + H = rhs.H; + e_vdW = rhs.e_vdW; + CEvd = rhs.CEvd; + e_ele = rhs.e_ele; + CEclmb = rhs.CEclmb; + } + }; + + struct cubic_spline_coef + { + double a, b, c, d; + + LAMMPS_INLINE + cubic_spline_coef() {} + + LAMMPS_INLINE + cubic_spline_coef(const cubic_spline_coef &_c) { + a = _c.a; + b = _c.b; + c = _c.c; + d = _c.d; + } + + LAMMPS_INLINE + void operator=(const cubic_spline_coef &rhs) { + a = rhs.a; + b = rhs.b; + c = rhs.c; + d = rhs.d; + } + + LAMMPS_INLINE + void operator=(const cubic_spline_coef &rhs) volatile { + a = rhs.a; + b = rhs.b; + c = rhs.c; + d = rhs.d; + } + }; +} + +#endif diff --git a/src/USER-REAXC/reaxff_types.h b/src/USER-REAXC/reaxff_types.h new file mode 100644 index 0000000000..eef3aaca4b --- /dev/null +++ b/src/USER-REAXC/reaxff_types.h @@ -0,0 +1,453 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing author: Hasan Metin Aktulga, Purdue University + (now at Lawrence Berkeley National Laboratory, hmaktulga@lbl.gov) + + Heavily modified and adapted for LAMMPS by the LAMMPS developers. +------------------------------------------------------------------------- */ + +#ifndef LMP_REAXFF_TYPES_H +#define LMP_REAXFF_TYPES_H + +#include "lmptype.h" + +#include "reaxff_defs.h" +#include "reaxff_inline.h" + +// forward declarations +namespace LAMMPS_NS { + class Error; + class LAMMPS; + class Pair; +} + +namespace ReaxFF +{ + /********************** TYPE DEFINITIONS ********************/ + typedef int ivec[3]; + typedef double rvec[3]; + typedef double rvec2[2]; + + // import LAMMPS' definition of tagint and bigint + typedef LAMMPS_NS::tagint rc_tagint; + typedef LAMMPS_NS::bigint rc_bigint; + + struct global_parameters + { + int n_global; + double* l; + int vdw_type; + }; + + struct single_body_parameters + { + char name[4]; // two character atom name + double r_s; + double valency; // Valency of the atom + double mass; // Mass of atom + double r_vdw; + double epsilon; + double gamma; + double r_pi; + double valency_e; + double nlp_opt; + + /* Line two in field file */ + double alpha; + double gamma_w; + double valency_boc; + double p_ovun5; + double chi; + double eta; + int p_hbond; // 1 for H, 2 for hbonding atoms (O,S,P,N), 0 for others + + /* Line three in field file */ + double r_pi_pi; + double p_lp2; + double b_o_131; + double b_o_132; + double b_o_133; + + /* Line four in the field file */ + double p_ovun2; + double p_val3; + double valency_val; + double p_val5; + double rcore2; + double ecore2; + double acore2; + + /* Line five in the ffield file, only for lgvdw yes */ + double lgcij; + double lgre; + + }; + + /* Two Body Parameters */ + struct two_body_parameters { + /* Bond Order parameters */ + double p_bo1,p_bo2,p_bo3,p_bo4,p_bo5,p_bo6; + double r_s, r_p, r_pp; // r_o distances in BO formula + double p_boc3, p_boc4, p_boc5; + + /* Bond Energy parameters */ + double p_be1, p_be2; + double De_s, De_p, De_pp; + + /* Over/Under coordination parameters */ + double p_ovun1; + + /* Van der Waal interaction parameters */ + double D; + double alpha; + double r_vdW; + double gamma_w; + double rcore, ecore, acore; + double lgcij, lgre; + + /* electrostatic parameters */ + double gamma; // note: this parameter is gamma^-3 and not gamma. + + double v13cor, ovc; + }; + + /* 3-body parameters */ + struct three_body_parameters { + /* valence angle */ + double theta_00; + double p_val1, p_val2, p_val4, p_val7; + + /* penalty */ + double p_pen1; + + /* 3-body conjugation */ + double p_coa1; + }; + + struct three_body_header + { + int cnt; + three_body_parameters prm[REAX_MAX_3BODY_PARAM]; + }; + + /* hydrogen-bond parameters */ + struct hbond_parameters + { + double r0_hb, p_hb1, p_hb2, p_hb3; + }; + + /* 4-body parameters */ + struct four_body_parameters + { + double V1, V2, V3; + + /* torsion angle */ + double p_tor1; + + /* 4-body conjugation */ + double p_cot1; + }; + + struct four_body_header + { + int cnt; + four_body_parameters prm[REAX_MAX_4BODY_PARAM]; + }; + + struct reax_interaction + { + int num_atom_types; + global_parameters gp; + single_body_parameters *sbp; + two_body_parameters **tbp; + three_body_header ***thbp; + hbond_parameters ***hbp; + four_body_header ****fbp; + }; + + struct reax_atom + { + rc_tagint orig_id; + int type; + char name[8]; + + rvec x; // position + rvec v; // velocity + rvec f; // force + double q; // charge + + int Hindex; + int num_bonds; + int num_hbonds; + }; + + struct LR_lookup_table; // forward declaration + struct reax_system + { + reax_interaction reax_param; + + rc_bigint bigN; + int n, N, numH; + int local_cap, total_cap, Hcap; + int wsize, my_rank, num_nbrs; + reax_atom *my_atoms; + + LAMMPS_NS::Error *error_ptr; + LAMMPS_NS::Pair *pair_ptr; + int my_bonds; + int mincap,minhbonds; + double safezone, saferzone; + + LR_lookup_table **LR; + + int omp_active; + }; + + /* system control parameters */ + struct control_params + { + char sim_name[REAX_MAX_STR]; + int nthreads; + + double bond_cut; + double nonb_cut, nonb_low; + double hbond_cut; + + double bg_cut; + double bo_cut; + double thb_cut; + double thb_cutsq; + + int tabulate; + int virial; + + int lgflag; + int enobondsflag; + LAMMPS_NS::Error *error_ptr; + LAMMPS_NS::LAMMPS *lmp_ptr; + int me; + }; + + struct energy_data + { + double e_bond; // Total bond energy + double e_ov; // Total over coordination + double e_un; // Total under coordination energy + double e_lp; // Total under coordination energy + double e_ang; // Total valance angle energy + double e_pen; // Total penalty energy + double e_coa; // Total three body conjgation energy + double e_hb; // Total Hydrogen bond energy + double e_tor; // Total torsional energy + double e_con; // Total four body conjugation energy + double e_vdW; // Total van der Waals energy + double e_ele; // Total electrostatics energy + double e_pol; // Polarization energy + }; + + struct simulation_data + { + rc_bigint step; + + energy_data my_en; // per MPI rank energies + energy_data sys_en; // global energies + }; + + struct three_body_interaction_data + { + int thb; + int pthb; // pointer to the third body on the central atom's nbrlist + double theta, cos_theta; + rvec dcos_di, dcos_dj, dcos_dk; + }; + + struct far_neighbor_data { + int nbr; + ivec rel_box; + double d; + rvec dvec; + }; + + namespace ReaxFF { + struct far_neighbor_data { + int nbr; + ivec rel_box; + double d; + rvec dvec; + }; + } + + struct hbond_data { + int nbr; + int scl; + far_neighbor_data *ptr; + }; + + struct dDelta_data { + int wrt; + rvec dVal; + }; + + struct dbond_data { + int wrt; + rvec dBO, dBOpi, dBOpi2; + }; + + struct bond_order_data { + double BO, BO_s, BO_pi, BO_pi2; + double Cdbo, Cdbopi, Cdbopi2; + double C1dbo, C2dbo, C3dbo; + double C1dbopi, C2dbopi, C3dbopi, C4dbopi; + double C1dbopi2, C2dbopi2, C3dbopi2, C4dbopi2; + rvec dBOp, dln_BOp_s, dln_BOp_pi, dln_BOp_pi2; + double *CdboReduction; + }; + + struct bond_data { + int nbr; + int sym_index; + int dbond_index; + ivec rel_box; + // rvec ext_factor; + double d; + rvec dvec; + bond_order_data bo_data; + }; + + struct sparse_matrix_entry { + int j; + double val; + }; + + struct sparse_matrix { + int cap, n, m; + int *start, *end; + sparse_matrix_entry *entries; + }; + + struct reallocate_data { + int num_far; + int H, Htop; + int hbonds, num_hbonds; + int bonds, num_bonds; + int num_3body; + }; + + struct storage + { + int allocated; + + /* bond order related storage */ + double *total_bond_order; + double *Deltap, *Deltap_boc; + double *Delta, *Delta_lp, *Delta_lp_temp, *Delta_e, *Delta_boc, *Delta_val; + double *dDelta_lp, *dDelta_lp_temp; + double *nlp, *nlp_temp, *Clp, *vlpex; + rvec *dDeltap_self; + int *bond_mark; + + /* QEq storage */ + sparse_matrix *H, *L, *U; + double *Hdia_inv, *b_s, *b_t, *b_prc, *b_prm, *s, *t; + rvec2 *b, *x; + + /* CG storage */ + double *r, *d, *q, *p; + rvec2 *r2, *d2, *q2, *p2; + /* Taper */ + double Tap[8]; //Tap7, Tap6, Tap5, Tap4, Tap3, Tap2, Tap1, Tap0; + + /* force calculations */ + double *CdDelta; // coefficient of dDelta + rvec *f; + + /* omp */ + rvec *forceReduction; + double *CdDeltaReduction; + int *valence_angle_atom_myoffset; + + reallocate_data realloc; + }; + + union list_type + { + void *v; + three_body_interaction_data *three_body_list; + bond_data *bond_list; + dbond_data *dbo_list; + dDelta_data *dDelta_list; + far_neighbor_data *far_nbr_list; + hbond_data *hbond_list; + }; + + struct reax_list + { + int allocated; + + int n; + int num_intrs; + + int *index; + int *end_index; + + int type; + list_type select; + class LAMMPS_NS::Error *error_ptr; + }; + + struct output_controls + { + FILE *strj; + int atom_line_len; + int bond_line_len; + int angle_line_len; + int write_atoms; + int write_bonds; + int write_angles; + int buffer_len; + char *buffer; + + int write_steps; + char traj_title[81]; + int atom_info; + int bond_info; + int angle_info; + + int energy_update_freq; + }; + + struct LR_lookup_table + { + double xmin, xmax; + int n; + double dx, inv_dx; + double a; + double m; + double c; + + LR_data *y; + cubic_spline_coef *H; + cubic_spline_coef *vdW, *CEvd; + cubic_spline_coef *ele, *CEclmb; + }; + +/* function pointer defs */ + + typedef void (*interaction_function) (reax_system *, control_params *, + simulation_data *, storage *, + reax_list **, output_controls *); +} + +#endif From a46c901be6958844b07a647ade5aa40e9c48c1bb Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 16 Apr 2021 16:59:23 -0400 Subject: [PATCH 037/726] remove unused data structure members --- src/USER-REAXC/reaxc_allocate.cpp | 74 +------------------------------ src/USER-REAXC/reaxc_defs.h | 2 - src/USER-REAXC/reaxc_types.h | 46 ------------------- src/USER-REAXC/reaxff_types.h | 18 -------- 4 files changed, 1 insertion(+), 139 deletions(-) diff --git a/src/USER-REAXC/reaxc_allocate.cpp b/src/USER-REAXC/reaxc_allocate.cpp index 3f0a251a97..3d68bb6944 100644 --- a/src/USER-REAXC/reaxc_allocate.cpp +++ b/src/USER-REAXC/reaxc_allocate.cpp @@ -110,8 +110,6 @@ void DeAllocate_System( reax_system *system ) /************* workspace *************/ void DeAllocate_Workspace( control_params * control, storage *workspace ) { - int i; - if (!workspace->allocated) return; @@ -136,39 +134,6 @@ void DeAllocate_Workspace( control_params * control, storage *workspace ) sfree(control->error_ptr, workspace->vlpex, "vlpex" ); sfree(control->error_ptr, workspace->bond_mark, "bond_mark" ); - /* QEq storage */ - sfree(control->error_ptr, workspace->Hdia_inv, "Hdia_inv" ); - sfree(control->error_ptr, workspace->b_s, "b_s" ); - sfree(control->error_ptr, workspace->b_t, "b_t" ); - sfree(control->error_ptr, workspace->b_prc, "b_prc" ); - sfree(control->error_ptr, workspace->b_prm, "b_prm" ); - sfree(control->error_ptr, workspace->s, "s" ); - sfree(control->error_ptr, workspace->t, "t" ); - sfree(control->error_ptr, workspace->b, "b" ); - sfree(control->error_ptr, workspace->x, "x" ); - - /* GMRES storage */ - for (i = 0; i < RESTART+1; ++i) { - sfree(control->error_ptr, workspace->h[i], "h[i]" ); - sfree(control->error_ptr, workspace->v[i], "v[i]" ); - } - sfree(control->error_ptr, workspace->h, "h" ); - sfree(control->error_ptr, workspace->v, "v" ); - sfree(control->error_ptr, workspace->y, "y" ); - sfree(control->error_ptr, workspace->z, "z" ); - sfree(control->error_ptr, workspace->g, "g" ); - sfree(control->error_ptr, workspace->hs, "hs" ); - sfree(control->error_ptr, workspace->hc, "hc" ); - /* CG storage */ - sfree(control->error_ptr, workspace->r, "r" ); - sfree(control->error_ptr, workspace->d, "d" ); - sfree(control->error_ptr, workspace->q, "q" ); - sfree(control->error_ptr, workspace->p, "p" ); - sfree(control->error_ptr, workspace->r2, "r2" ); - sfree(control->error_ptr, workspace->d2, "d2" ); - sfree(control->error_ptr, workspace->q2, "q2" ); - sfree(control->error_ptr, workspace->p2, "p2" ); - /* force related storage */ sfree(control->error_ptr, workspace->f, "f" ); sfree(control->error_ptr, workspace->CdDelta, "CdDelta" ); @@ -181,10 +146,9 @@ void DeAllocate_Workspace( control_params * control, storage *workspace ) #endif } - void Allocate_Workspace( control_params *control, storage *workspace, int total_cap) { - int i, total_real, total_rvec; + int total_real, total_rvec; workspace->allocated = 1; total_real = total_cap * sizeof(double); @@ -212,42 +176,6 @@ void Allocate_Workspace( control_params *control, storage *workspace, int total_ workspace->bond_mark = (int*) scalloc(control->error_ptr, total_cap, sizeof(int), "bond_mark"); - /* QEq storage */ - workspace->Hdia_inv = (double*) - scalloc(control->error_ptr, total_cap, sizeof(double), "Hdia_inv"); - workspace->b_s = (double*) scalloc(control->error_ptr, total_cap, sizeof(double), "b_s"); - workspace->b_t = (double*) scalloc(control->error_ptr, total_cap, sizeof(double), "b_t"); - workspace->b_prc = (double*) scalloc(control->error_ptr, total_cap, sizeof(double), "b_prc"); - workspace->b_prm = (double*) scalloc(control->error_ptr, total_cap, sizeof(double), "b_prm"); - workspace->s = (double*) scalloc(control->error_ptr, total_cap, sizeof(double), "s"); - workspace->t = (double*) scalloc(control->error_ptr, total_cap, sizeof(double), "t"); - workspace->b = (rvec2*) scalloc(control->error_ptr, total_cap, sizeof(rvec2), "b"); - workspace->x = (rvec2*) scalloc(control->error_ptr, total_cap, sizeof(rvec2), "x"); - - /* GMRES storage */ - workspace->y = (double*) scalloc(control->error_ptr, RESTART+1, sizeof(double), "y"); - workspace->z = (double*) scalloc(control->error_ptr, RESTART+1, sizeof(double), "z"); - workspace->g = (double*) scalloc(control->error_ptr, RESTART+1, sizeof(double), "g"); - workspace->h = (double**) scalloc(control->error_ptr, RESTART+1, sizeof(double*), "h"); - workspace->hs = (double*) scalloc(control->error_ptr, RESTART+1, sizeof(double), "hs"); - workspace->hc = (double*) scalloc(control->error_ptr, RESTART+1, sizeof(double), "hc"); - workspace->v = (double**) scalloc(control->error_ptr, RESTART+1, sizeof(double*), "v"); - - for (i = 0; i < RESTART+1; ++i) { - workspace->h[i] = (double*) scalloc(control->error_ptr, RESTART+1, sizeof(double), "h[i]"); - workspace->v[i] = (double*) scalloc(control->error_ptr, total_cap, sizeof(double), "v[i]"); - } - - /* CG storage */ - workspace->r = (double*) scalloc(control->error_ptr, total_cap, sizeof(double), "r"); - workspace->d = (double*) scalloc(control->error_ptr, total_cap, sizeof(double), "d"); - workspace->q = (double*) scalloc(control->error_ptr, total_cap, sizeof(double), "q"); - workspace->p = (double*) scalloc(control->error_ptr, total_cap, sizeof(double), "p"); - workspace->r2 = (rvec2*) scalloc(control->error_ptr, total_cap, sizeof(rvec2), "r2"); - workspace->d2 = (rvec2*) scalloc(control->error_ptr, total_cap, sizeof(rvec2), "d2"); - workspace->q2 = (rvec2*) scalloc(control->error_ptr, total_cap, sizeof(rvec2), "q2"); - workspace->p2 = (rvec2*) scalloc(control->error_ptr, total_cap, sizeof(rvec2), "p2"); - /* force related storage */ workspace->f = (rvec*) scalloc(control->error_ptr, total_cap, sizeof(rvec), "f"); workspace->CdDelta = (double*) diff --git a/src/USER-REAXC/reaxc_defs.h b/src/USER-REAXC/reaxc_defs.h index 6df4460fb9..5f1fc0fd6f 100644 --- a/src/USER-REAXC/reaxc_defs.h +++ b/src/USER-REAXC/reaxc_defs.h @@ -89,8 +89,6 @@ #define MASTER_NODE 0 -#define RESTART 30 - #define MAXREAXBOND 24 /* used in fix_reaxc_bonds.cpp and pair_reaxc.cpp */ #define MAXSPECBOND 24 /* used in fix_reaxc_species.cpp and pair_reaxc.cpp */ diff --git a/src/USER-REAXC/reaxc_types.h b/src/USER-REAXC/reaxc_types.h index cd9b1be9c9..66516d52a0 100644 --- a/src/USER-REAXC/reaxc_types.h +++ b/src/USER-REAXC/reaxc_types.h @@ -39,40 +39,6 @@ namespace LAMMPS_NS { class Pair; } -#if defined LMP_USER_OMP -#define OMP_TIMING 0 - -#ifdef OMP_TIMING -// pkcoff timing fields -enum { - COMPUTEINDEX=0, - COMPUTEWLINDEX, - COMPUTEBFINDEX, - COMPUTEQEQINDEX, - COMPUTENBFINDEX, - COMPUTEIFINDEX, - COMPUTETFINDEX, - COMPUTEBOINDEX, - COMPUTEBONDSINDEX, - COMPUTEATOMENERGYINDEX, - COMPUTEVALENCEANGLESBOINDEX, - COMPUTETORSIONANGLESBOINDEX, - COMPUTEHBONDSINDEX, - COMPUTECG1INDEX, - COMPUTECG2INDEX, - COMPUTECGCOMPUTEINDEX, - COMPUTECALCQINDEX, - COMPUTEINITMVINDEX, - COMPUTEMVCOMPINDEX, - LASTTIMINGINDEX -}; - -extern double ompTimingData[LASTTIMINGINDEX]; -extern int ompTimingCount[LASTTIMINGINDEX]; -extern int ompTimingCGCount[LASTTIMINGINDEX]; -#endif -#endif - /************* SOME DEFS - crucial for reax_types.h *********/ #define REAX_MAX_STR 1024 @@ -403,18 +369,6 @@ struct storage rvec *dDeltap_self; int *bond_mark; - /* QEq storage */ - sparse_matrix *H, *L, *U; - double *Hdia_inv, *b_s, *b_t, *b_prc, *b_prm, *s, *t; - rvec2 *b, *x; - - /* GMRES storage */ - double *y, *z, *g; - double *hc, *hs; - double **h, **v; - /* CG storage */ - double *r, *d, *q, *p; - rvec2 *r2, *d2, *q2, *p2; /* Taper */ double Tap[8]; //Tap7, Tap6, Tap5, Tap4, Tap3, Tap2, Tap1, Tap0; diff --git a/src/USER-REAXC/reaxff_types.h b/src/USER-REAXC/reaxff_types.h index eef3aaca4b..544e67fbf2 100644 --- a/src/USER-REAXC/reaxff_types.h +++ b/src/USER-REAXC/reaxff_types.h @@ -280,15 +280,6 @@ namespace ReaxFF rvec dvec; }; - namespace ReaxFF { - struct far_neighbor_data { - int nbr; - ivec rel_box; - double d; - rvec dvec; - }; - } - struct hbond_data { int nbr; int scl; @@ -320,7 +311,6 @@ namespace ReaxFF int sym_index; int dbond_index; ivec rel_box; - // rvec ext_factor; double d; rvec dvec; bond_order_data bo_data; @@ -358,14 +348,6 @@ namespace ReaxFF rvec *dDeltap_self; int *bond_mark; - /* QEq storage */ - sparse_matrix *H, *L, *U; - double *Hdia_inv, *b_s, *b_t, *b_prc, *b_prm, *s, *t; - rvec2 *b, *x; - - /* CG storage */ - double *r, *d, *q, *p; - rvec2 *r2, *d2, *q2, *p2; /* Taper */ double Tap[8]; //Tap7, Tap6, Tap5, Tap4, Tap3, Tap2, Tap1, Tap0; From 81458fe132958c8a93b4228b9bc464b2f7d88660 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 16 Apr 2021 16:59:49 -0400 Subject: [PATCH 038/726] convert control file reader to ReaxFF namespace --- src/USER-REAXC/reaxc_control.cpp | 188 +++++++++++++++---------------- 1 file changed, 94 insertions(+), 94 deletions(-) diff --git a/src/USER-REAXC/reaxc_control.cpp b/src/USER-REAXC/reaxc_control.cpp index fe238ddb3c..aacb043600 100644 --- a/src/USER-REAXC/reaxc_control.cpp +++ b/src/USER-REAXC/reaxc_control.cpp @@ -24,9 +24,7 @@ . ----------------------------------------------------------------------*/ -#include "reaxc_control.h" -#include "reaxc_defs.h" -#include "reaxc_tool_box.h" +#include "reaxff_api.h" #include "error.h" #include "utils.h" @@ -42,107 +40,109 @@ using LAMMPS_NS::utils::sfgets; using LAMMPS_NS::utils::logmesg; using LAMMPS_NS::ValueTokenizer; -static std::unordered_set ignored_keywords = { - "ensemble_type", "nsteps", "dt", "proc_by_dim", "random_vel", - "restart_format", "restart_freq", "reposition_atoms", - "restrict_bonds", "remove_CoM_vel", "debug_level", "reneighbor", - "vlist_buffer", "ghost_cutoff", "qeq_freq", "q_err", "ilu_refactor", - "ilu_droptol", "temp_init", "temp_final", "t_mass", "t_mode", "t_rate", - "t_freq", "pressure", "p_mass", "pt_mass", "compress", "press_mode", - "geo_format", "traj_compress", "traj_method", "molecular_analysis", - "ignore", "dipole_anal", "freq_dipole_anal", "diffusion_coef", - "freq_diffusion_coef", "restrict_type" -}; +namespace ReaxFF { + static std::unordered_set ignored_keywords = { + "ensemble_type", "nsteps", "dt", "proc_by_dim", "random_vel", + "restart_format", "restart_freq", "reposition_atoms", + "restrict_bonds", "remove_CoM_vel", "debug_level", "reneighbor", + "vlist_buffer", "ghost_cutoff", "qeq_freq", "q_err", "ilu_refactor", + "ilu_droptol", "temp_init", "temp_final", "t_mass", "t_mode", "t_rate", + "t_freq", "pressure", "p_mass", "pt_mass", "compress", "press_mode", + "geo_format", "traj_compress", "traj_method", "molecular_analysis", + "ignore", "dipole_anal", "freq_dipole_anal", "diffusion_coef", + "freq_diffusion_coef", "restrict_type" + }; -class parser_error : public std::exception { - std::string message; -public: - parser_error(const std::string &mesg) { message = mesg; } - const char *what() const noexcept { return message.c_str(); } -}; + class parser_error : public std::exception { + std::string message; + public: + parser_error(const std::string &mesg) { message = mesg; } + const char *what() const noexcept { return message.c_str(); } + }; -void Read_Control_File(const char *control_file, control_params *control, - output_controls *out_control) -{ - FILE *fp; - char line[MAX_LINE]; - auto error = control->error_ptr; - auto lmp = control->lmp_ptr; + void Read_Control_File(const char *control_file, control_params *control, + output_controls *out_control) + { + FILE *fp; + char line[MAX_LINE]; + auto error = control->error_ptr; + auto lmp = control->lmp_ptr; - /* open control file */ - fp = fopen(control_file, "r"); - if (!fp) - error->one(FLERR,fmt::format("The control file {} cannot be opened: {}", - control_file, getsyserror())); - /* assign default values */ - strcpy(control->sim_name, "simulate"); - control->nthreads = 1; - control->tabulate = 0; - control->virial = 0; - control->bond_cut = 5.0; - control->bg_cut = 0.3; - control->thb_cut = 0.001; - control->thb_cutsq = 0.00001; - control->hbond_cut = 7.5; + /* open control file */ + fp = fopen(control_file, "r"); + if (!fp) + error->one(FLERR,fmt::format("The control file {} cannot be opened: {}", + control_file, getsyserror())); + /* assign default values */ + strcpy(control->sim_name, "simulate"); + control->nthreads = 1; + control->tabulate = 0; + control->virial = 0; + control->bond_cut = 5.0; + control->bg_cut = 0.3; + control->thb_cut = 0.001; + control->thb_cutsq = 0.00001; + control->hbond_cut = 7.5; - out_control->write_steps = 0; - out_control->energy_update_freq = 0; - strcpy(out_control->traj_title, "default_title"); - out_control->atom_info = 0; - out_control->bond_info = 0; - out_control->angle_info = 0; + out_control->write_steps = 0; + out_control->energy_update_freq = 0; + strcpy(out_control->traj_title, "default_title"); + out_control->atom_info = 0; + out_control->bond_info = 0; + out_control->angle_info = 0; - /* read control parameters file */ - while (fgets(line, MAX_LINE, fp)) { - ValueTokenizer values(line); + /* read control parameters file */ + while (fgets(line, MAX_LINE, fp)) { + ValueTokenizer values(line); - // empty line - if (values.count() == 0) continue; + // empty line + if (values.count() == 0) continue; - try { - auto keyword = values.next_string(); + try { + auto keyword = values.next_string(); - if (!values.has_next()) - throw parser_error(fmt::format("No value(s) for control parameter: {}\n",keyword)); + if (!values.has_next()) + throw parser_error(fmt::format("No value(s) for control parameter: {}\n",keyword)); - if (ignored_keywords.find(keyword) != ignored_keywords.end()) { - logmesg(lmp,fmt::format("Ignoring inactive control parameter: {}\n",keyword)); - } else if (keyword == "simulation_name") { - strcpy(control->sim_name, values.next_string().c_str()); - } else if (keyword == "energy_update_freq") { - out_control->energy_update_freq = values.next_int(); - } else if (keyword == "nbrhood_cutoff") { - control->bond_cut = values.next_double(); - } else if (keyword == "bond_graph_cutoff") { - control->bg_cut = values.next_double(); - } else if (keyword == "thb_cutoff") { - control->thb_cut = values.next_double(); - } else if (keyword == "thb_cutoff_sq") { - control->thb_cutsq = values.next_double(); - } else if (keyword == "hbond_cutoff") { - control->hbond_cut = values.next_double(); - } else if (keyword == "tabulate_long_range") { - control->tabulate = values.next_int(); - } else if (keyword == "write_freq") { - out_control->write_steps = values.next_int(); - } else if (keyword == "traj_title") { - strcpy(out_control->traj_title, values.next_string().c_str()); - } else if (keyword == "atom_info") { - out_control->atom_info += values.next_int() * 4; - } else if (keyword == "atom_velocities") { - out_control->atom_info += values.next_int() * 2; - } else if (keyword == "atom_forces") { - out_control->atom_info += values.next_int() * 1; - } else if (keyword == "bond_info") { - out_control->bond_info = values.next_int(); - } else if (keyword == "angle_info") { - out_control->angle_info = values.next_int(); - } else { - throw parser_error(fmt::format("Unknown parameter {} in control file", keyword)); + if (ignored_keywords.find(keyword) != ignored_keywords.end()) { + logmesg(lmp,fmt::format("Ignoring inactive control parameter: {}\n",keyword)); + } else if (keyword == "simulation_name") { + strcpy(control->sim_name, values.next_string().c_str()); + } else if (keyword == "energy_update_freq") { + out_control->energy_update_freq = values.next_int(); + } else if (keyword == "nbrhood_cutoff") { + control->bond_cut = values.next_double(); + } else if (keyword == "bond_graph_cutoff") { + control->bg_cut = values.next_double(); + } else if (keyword == "thb_cutoff") { + control->thb_cut = values.next_double(); + } else if (keyword == "thb_cutoff_sq") { + control->thb_cutsq = values.next_double(); + } else if (keyword == "hbond_cutoff") { + control->hbond_cut = values.next_double(); + } else if (keyword == "tabulate_long_range") { + control->tabulate = values.next_int(); + } else if (keyword == "write_freq") { + out_control->write_steps = values.next_int(); + } else if (keyword == "traj_title") { + strcpy(out_control->traj_title, values.next_string().c_str()); + } else if (keyword == "atom_info") { + out_control->atom_info += values.next_int() * 4; + } else if (keyword == "atom_velocities") { + out_control->atom_info += values.next_int() * 2; + } else if (keyword == "atom_forces") { + out_control->atom_info += values.next_int() * 1; + } else if (keyword == "bond_info") { + out_control->bond_info = values.next_int(); + } else if (keyword == "angle_info") { + out_control->angle_info = values.next_int(); + } else { + throw parser_error(fmt::format("Unknown parameter {} in control file", keyword)); + } + } catch (std::exception &e) { + error->one(FLERR, e.what()); } - } catch (std::exception &e) { - error->one(FLERR, e.what()); } + fclose(fp); } - fclose(fp); } From 224c59384605fb94917974174f76fcb563272c31 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 17 Apr 2021 02:18:35 -0400 Subject: [PATCH 039/726] convert USER-REAXC to use a ReaxFF namespace also bundle exported functions in fewer header files --- src/KOKKOS/fix_reaxc_species_kokkos.cpp | 16 +- src/USER-OMP/fix_qeq_reax_omp.cpp | 18 +- src/USER-OMP/pair_reaxc_omp.cpp | 33 +- src/USER-OMP/reaxc_bond_orders_omp.cpp | 1126 +++++++++--------- src/USER-OMP/reaxc_bond_orders_omp.h | 43 - src/USER-OMP/reaxc_bonds_omp.cpp | 238 ++-- src/USER-OMP/reaxc_bonds_omp.h | 37 - src/USER-OMP/reaxc_forces_omp.cpp | 759 ++++++------ src/USER-OMP/reaxc_forces_omp.h | 38 - src/USER-OMP/reaxc_hydrogen_bonds_omp.cpp | 322 +++-- src/USER-OMP/reaxc_hydrogen_bonds_omp.h | 37 - src/USER-OMP/reaxc_init_md_omp.cpp | 163 ++- src/USER-OMP/reaxc_init_md_omp.h | 38 - src/USER-OMP/reaxc_multi_body_omp.cpp | 408 ++++--- src/USER-OMP/reaxc_multi_body_omp.h | 37 - src/USER-OMP/reaxc_nonbonded_omp.cpp | 563 +++++---- src/USER-OMP/reaxc_nonbonded_omp.h | 40 - src/USER-OMP/reaxc_torsion_angles_omp.cpp | 671 +++++------ src/USER-OMP/reaxc_torsion_angles_omp.h | 38 - src/USER-OMP/reaxc_valence_angles_omp.cpp | 872 +++++++------- src/USER-OMP/reaxc_valence_angles_omp.h | 39 - src/USER-OMP/reaxff_omp.h | 95 +- src/USER-REAXC/fix_reaxc_species.cpp | 6 +- src/USER-REAXC/pair_reaxc.cpp | 5 +- src/USER-REAXC/reaxc_allocate.cpp | 534 ++++----- src/USER-REAXC/reaxc_allocate.h | 41 - src/USER-REAXC/reaxc_bond_orders.cpp | 964 ++++++++------- src/USER-REAXC/reaxc_bond_orders.h | 45 - src/USER-REAXC/reaxc_bonds.cpp | 181 +-- src/USER-REAXC/reaxc_bonds.h | 34 - src/USER-REAXC/reaxc_control.h | 34 - src/USER-REAXC/reaxc_defs.h | 105 -- src/USER-REAXC/reaxc_ffield.cpp | 1295 +++++++++++---------- src/USER-REAXC/reaxc_ffield.h | 34 - src/USER-REAXC/reaxc_forces.cpp | 667 +++++------ src/USER-REAXC/reaxc_forces.h | 40 - src/USER-REAXC/reaxc_hydrogen_bonds.cpp | 254 ++-- src/USER-REAXC/reaxc_hydrogen_bonds.h | 35 - src/USER-REAXC/reaxc_init_md.cpp | 295 +++-- src/USER-REAXC/reaxc_init_md.h | 35 - src/USER-REAXC/reaxc_io_tools.cpp | 99 +- src/USER-REAXC/reaxc_io_tools.h | 37 - src/USER-REAXC/reaxc_list.cpp | 193 ++- src/USER-REAXC/reaxc_list.h | 66 -- src/USER-REAXC/reaxc_lookup.cpp | 444 ++++--- src/USER-REAXC/reaxc_lookup.h | 47 - src/USER-REAXC/reaxc_multi_body.cpp | 31 +- src/USER-REAXC/reaxc_multi_body.h | 35 - src/USER-REAXC/reaxc_nonbonded.cpp | 676 ++++++----- src/USER-REAXC/reaxc_nonbonded.h | 43 - src/USER-REAXC/reaxc_reset_tools.cpp | 215 ++-- src/USER-REAXC/reaxc_reset_tools.h | 39 - src/USER-REAXC/reaxc_system_props.cpp | 66 -- src/USER-REAXC/reaxc_system_props.h | 35 - src/USER-REAXC/reaxc_tool_box.cpp | 153 +-- src/USER-REAXC/reaxc_tool_box.h | 40 - src/USER-REAXC/reaxc_torsion_angles.cpp | 831 +++++++------ src/USER-REAXC/reaxc_torsion_angles.h | 35 - src/USER-REAXC/reaxc_traj.cpp | 937 ++++++++------- src/USER-REAXC/reaxc_traj.h | 38 - src/USER-REAXC/reaxc_types.h | 513 -------- src/USER-REAXC/reaxc_valence_angles.cpp | 614 +++++----- src/USER-REAXC/reaxc_valence_angles.h | 39 - src/USER-REAXC/reaxc_vector.cpp | 130 --- src/USER-REAXC/reaxc_vector.h | 50 - src/USER-REAXC/reaxff_api.h | 104 +- src/USER-REAXC/reaxff_defs.h | 1 - src/USER-REAXC/reaxff_types.h | 13 +- 68 files changed, 6766 insertions(+), 8993 deletions(-) delete mode 100644 src/USER-OMP/reaxc_bond_orders_omp.h delete mode 100644 src/USER-OMP/reaxc_bonds_omp.h delete mode 100644 src/USER-OMP/reaxc_forces_omp.h delete mode 100644 src/USER-OMP/reaxc_hydrogen_bonds_omp.h delete mode 100644 src/USER-OMP/reaxc_init_md_omp.h delete mode 100644 src/USER-OMP/reaxc_multi_body_omp.h delete mode 100644 src/USER-OMP/reaxc_nonbonded_omp.h delete mode 100644 src/USER-OMP/reaxc_torsion_angles_omp.h delete mode 100644 src/USER-OMP/reaxc_valence_angles_omp.h delete mode 100644 src/USER-REAXC/reaxc_allocate.h delete mode 100644 src/USER-REAXC/reaxc_bond_orders.h delete mode 100644 src/USER-REAXC/reaxc_bonds.h delete mode 100644 src/USER-REAXC/reaxc_control.h delete mode 100644 src/USER-REAXC/reaxc_defs.h delete mode 100644 src/USER-REAXC/reaxc_ffield.h delete mode 100644 src/USER-REAXC/reaxc_forces.h delete mode 100644 src/USER-REAXC/reaxc_hydrogen_bonds.h delete mode 100644 src/USER-REAXC/reaxc_init_md.h delete mode 100644 src/USER-REAXC/reaxc_io_tools.h delete mode 100644 src/USER-REAXC/reaxc_list.h delete mode 100644 src/USER-REAXC/reaxc_lookup.h delete mode 100644 src/USER-REAXC/reaxc_multi_body.h delete mode 100644 src/USER-REAXC/reaxc_nonbonded.h delete mode 100644 src/USER-REAXC/reaxc_reset_tools.h delete mode 100644 src/USER-REAXC/reaxc_system_props.cpp delete mode 100644 src/USER-REAXC/reaxc_system_props.h delete mode 100644 src/USER-REAXC/reaxc_tool_box.h delete mode 100644 src/USER-REAXC/reaxc_torsion_angles.h delete mode 100644 src/USER-REAXC/reaxc_traj.h delete mode 100644 src/USER-REAXC/reaxc_types.h delete mode 100644 src/USER-REAXC/reaxc_valence_angles.h delete mode 100644 src/USER-REAXC/reaxc_vector.cpp delete mode 100644 src/USER-REAXC/reaxc_vector.h diff --git a/src/KOKKOS/fix_reaxc_species_kokkos.cpp b/src/KOKKOS/fix_reaxc_species_kokkos.cpp index 0a225a641d..5a0907fb07 100644 --- a/src/KOKKOS/fix_reaxc_species_kokkos.cpp +++ b/src/KOKKOS/fix_reaxc_species_kokkos.cpp @@ -16,18 +16,20 @@ ------------------------------------------------------------------------- */ #include "fix_reaxc_species_kokkos.h" + #include "atom.h" -#include "fix_ave_atom.h" -#include "reaxc_defs.h" -#include "pair_reaxc_kokkos.h" -#include "neigh_list.h" -#include "neigh_request.h" +#include "atom_masks.h" #include "comm.h" +#include "error.h" #include "force.h" #include "input.h" #include "memory_kokkos.h" -#include "error.h" -#include "atom_masks.h" +#include "neigh_list.h" +#include "neigh_request.h" + +#include "fix_ave_atom.h" +#include "pair_reaxc_kokkos.h" +#include "reaxff_defs.h" using namespace LAMMPS_NS; using namespace FixConst; diff --git a/src/USER-OMP/fix_qeq_reax_omp.cpp b/src/USER-OMP/fix_qeq_reax_omp.cpp index 66760b8aa3..3f09fa7353 100644 --- a/src/USER-OMP/fix_qeq_reax_omp.cpp +++ b/src/USER-OMP/fix_qeq_reax_omp.cpp @@ -33,16 +33,17 @@ #include "fix_qeq_reax_omp.h" -#include -#include "pair_reaxc.h" #include "atom.h" #include "comm.h" +#include "error.h" +#include "memory.h" #include "neigh_list.h" #include "update.h" -#include "memory.h" -#include "error.h" -#include "reaxc_defs.h" -#include "reaxc_types.h" + +#include "pair_reaxc.h" +#include "reaxff_defs.h" + +#include #if defined(_OPENMP) #include @@ -51,11 +52,6 @@ using namespace LAMMPS_NS; using namespace FixConst; -#define EV_TO_KCAL_PER_MOL 14.4 -#define SQR(x) ((x)*(x)) -#define CUBE(x) ((x)*(x)*(x)) -#define MIN_NBRS 100 - /* ---------------------------------------------------------------------- */ FixQEqReaxOMP::FixQEqReaxOMP(LAMMPS *lmp, int narg, char **arg) : diff --git a/src/USER-OMP/pair_reaxc_omp.cpp b/src/USER-OMP/pair_reaxc_omp.cpp index ac1ddd17a6..5693bef5e6 100644 --- a/src/USER-OMP/pair_reaxc_omp.cpp +++ b/src/USER-OMP/pair_reaxc_omp.cpp @@ -197,7 +197,7 @@ void PairReaxCOMP::compute(int eflag, int vflag) setup(); - Reset( api->system, api->control, api->data, api->workspace, &api->lists ); + Reset(api->system, api->control, api->data, api->workspace, &api->lists); // Why not update workspace like in MPI-only code? // Using the MPI-only way messes up the hb energy @@ -270,7 +270,7 @@ void PairReaxCOMP::compute(int eflag, int vflag) api->data->step = update->ntimestep; - Output_Results( api->system, api->control, api->data, &api->lists, api->out_control, world ); + Output_Results(api->system, api->control, api->data, &api->lists, api->out_control, world); // populate tmpid and tmpbo arrays for fix reax/c/species @@ -298,7 +298,7 @@ void PairReaxCOMP::compute(int eflag, int vflag) /* ---------------------------------------------------------------------- */ -void PairReaxCOMP::init_style( ) +void PairReaxCOMP::init_style() { if (!atom->q_flag) error->all(FLERR,"Pair reax/c/omp requires atom attribute q"); @@ -354,7 +354,7 @@ void PairReaxCOMP::init_style( ) /* ---------------------------------------------------------------------- */ -void PairReaxCOMP::setup( ) +void PairReaxCOMP::setup() { int oldN; int mincap = api->system->mincap; @@ -380,12 +380,12 @@ void PairReaxCOMP::setup( ) // determine the local and total capacity - api->system->local_cap = MAX( (int)(api->system->n * safezone), mincap ); - api->system->total_cap = MAX( (int)(api->system->N * safezone), mincap ); + api->system->local_cap = MAX((int)(api->system->n * safezone), mincap); + api->system->total_cap = MAX((int)(api->system->N * safezone), mincap); // initialize my data structures - PreAllocate_Space( api->system, api->control, api->workspace ); + PreAllocate_Space(api->system, api->workspace); write_reax_atoms(); int num_nbrs = estimate_reax_lists(); @@ -395,7 +395,8 @@ void PairReaxCOMP::setup( ) write_reax_lists(); - InitializeOMP(api->system, api->control, api->data, api->workspace, &api->lists, api->out_control, world); + InitializeOMP(api->system, api->control, api->data, api->workspace, + &api->lists, api->out_control, world); for (int k = 0; k < api->system->N; ++k) { num_bonds[k] = api->system->my_atoms[k].num_bonds; @@ -411,7 +412,7 @@ void PairReaxCOMP::setup( ) // reset the bond list info for new atoms for (int k = oldN; k < api->system->N; ++k) - Set_End_Index( k, Start_Index( k, api->lists+BONDS ), api->lists+BONDS ); + Set_End_Index(k, Start_Index(k, api->lists+BONDS), api->lists+BONDS); // estimate far neighbor list size // Not present in MPI-only version @@ -419,7 +420,7 @@ void PairReaxCOMP::setup( ) // check if I need to shrink/extend my data-structs - ReAllocate( api->system, api->control, api->data, api->workspace, &api->lists ); + ReAllocate(api->system, api->control, api->data, api->workspace, &api->lists); } } @@ -522,7 +523,7 @@ int PairReaxCOMP::write_reax_lists() for (itr_i = 0; itr_i < numall; ++itr_i) { i = ilist[itr_i]; jlist = firstneigh[i]; - Set_Start_Index( i, num_nbrs_offset[i], far_nbrs ); + Set_Start_Index(i, num_nbrs_offset[i], far_nbrs); if (i < inum) cutoff_sqr = SQR(api->control->nonb_cut); @@ -534,15 +535,15 @@ int PairReaxCOMP::write_reax_lists() for (itr_j = 0; itr_j < numneigh[i]; ++itr_j) { j = jlist[itr_j]; j &= NEIGHMASK; - get_distance( x[j], x[i], &d_sqr, &dvec ); + get_distance(x[j], x[i], &d_sqr, &dvec); if (d_sqr <= cutoff_sqr) { - dist = sqrt( d_sqr ); - set_far_nbr(&far_list[num_nbrs_offset[i] + num_mynbrs], j, dist, dvec ); + dist = sqrt(d_sqr); + set_far_nbr(&far_list[num_nbrs_offset[i] + num_mynbrs], j, dist, dvec); ++num_mynbrs; } } - Set_End_Index( i, num_nbrs_offset[i] + num_mynbrs, far_nbrs ); + Set_End_Index(i, num_nbrs_offset[i] + num_mynbrs, far_nbrs); } #ifdef OMP_TIMING @@ -587,7 +588,7 @@ void PairReaxCOMP::FindBond() nj = 0; for (pj = Start_Index(i, api->lists); pj < End_Index(i, api->lists); ++pj) { - bo_ij = &( api->lists->select.bond_list[pj] ); + bo_ij = &(api->lists->select.bond_list[pj]); j = bo_ij->nbr; if (j < i) continue; diff --git a/src/USER-OMP/reaxc_bond_orders_omp.cpp b/src/USER-OMP/reaxc_bond_orders_omp.cpp index a2abb60f27..745290fa37 100644 --- a/src/USER-OMP/reaxc_bond_orders_omp.cpp +++ b/src/USER-OMP/reaxc_bond_orders_omp.cpp @@ -26,692 +26,622 @@ . ----------------------------------------------------------------------*/ -#include "reaxc_bond_orders_omp.h" -#include "reaxc_bond_orders.h" +#include "reaxff_omp.h" #include "fix_omp.h" -#include "reaxc_defs.h" #include "pair_reaxc_omp.h" -#include "reaxc_types.h" -#include "reaxc_list.h" -#include "reaxc_vector.h" +#include "reaxff_api.h" -#include #include -#if defined(_OPENMP) -#include -#endif - using namespace LAMMPS_NS; -void Add_dBond_to_ForcesOMP( reax_system *system, int i, int pj, - storage *workspace, reax_list **lists) { - reax_list *bonds = (*lists) + BONDS; - bond_data *nbr_j, *nbr_k; - bond_order_data *bo_ij, *bo_ji; - dbond_coefficients coef; - int pk, k, j; +namespace ReaxFF { + void Add_dBond_to_ForcesOMP(reax_system *system, int i, int pj, + storage *workspace, reax_list **lists) { + reax_list *bonds = (*lists) + BONDS; + bond_data *nbr_j, *nbr_k; + bond_order_data *bo_ij, *bo_ji; + dbond_coefficients coef; + int pk, k, j; - PairReaxCOMP *pair_reax_ptr = static_cast(system->pair_ptr); + PairReaxCOMP *pair_reax_ptr = static_cast(system->pair_ptr); -#if defined(_OPENMP) - int tid = omp_get_thread_num(); -#else - int tid = 0; -#endif - ThrData *thr = pair_reax_ptr->getFixOMP()->get_thr(tid); - long reductionOffset = (system->N * tid); + int tid = get_tid(); + ThrData *thr = pair_reax_ptr->getFixOMP()->get_thr(tid); + long reductionOffset = (system->N * tid); - /* Virial Tallying variables */ - rvec fi_tmp, fj_tmp, fk_tmp, delij, delji, delki, delkj, temp; + /* Virial Tallying variables */ + rvec fi_tmp, fj_tmp, fk_tmp, delij, delji, delki, delkj, temp; - /* Initializations */ - nbr_j = &(bonds->select.bond_list[pj]); - j = nbr_j->nbr; - bo_ij = &(nbr_j->bo_data); - bo_ji = &(bonds->select.bond_list[ nbr_j->sym_index ].bo_data); + /* Initializations */ + nbr_j = &(bonds->select.bond_list[pj]); + j = nbr_j->nbr; + bo_ij = &(nbr_j->bo_data); + bo_ji = &(bonds->select.bond_list[ nbr_j->sym_index ].bo_data); - double c = bo_ij->Cdbo + bo_ji->Cdbo; - coef.C1dbo = bo_ij->C1dbo * c; - coef.C2dbo = bo_ij->C2dbo * c; - coef.C3dbo = bo_ij->C3dbo * c; + double c = bo_ij->Cdbo + bo_ji->Cdbo; + coef.C1dbo = bo_ij->C1dbo * c; + coef.C2dbo = bo_ij->C2dbo * c; + coef.C3dbo = bo_ij->C3dbo * c; - c = bo_ij->Cdbopi + bo_ji->Cdbopi; - coef.C1dbopi = bo_ij->C1dbopi * c; - coef.C2dbopi = bo_ij->C2dbopi * c; - coef.C3dbopi = bo_ij->C3dbopi * c; - coef.C4dbopi = bo_ij->C4dbopi * c; + c = bo_ij->Cdbopi + bo_ji->Cdbopi; + coef.C1dbopi = bo_ij->C1dbopi * c; + coef.C2dbopi = bo_ij->C2dbopi * c; + coef.C3dbopi = bo_ij->C3dbopi * c; + coef.C4dbopi = bo_ij->C4dbopi * c; - c = bo_ij->Cdbopi2 + bo_ji->Cdbopi2; - coef.C1dbopi2 = bo_ij->C1dbopi2 * c; - coef.C2dbopi2 = bo_ij->C2dbopi2 * c; - coef.C3dbopi2 = bo_ij->C3dbopi2 * c; - coef.C4dbopi2 = bo_ij->C4dbopi2 * c; + c = bo_ij->Cdbopi2 + bo_ji->Cdbopi2; + coef.C1dbopi2 = bo_ij->C1dbopi2 * c; + coef.C2dbopi2 = bo_ij->C2dbopi2 * c; + coef.C3dbopi2 = bo_ij->C3dbopi2 * c; + coef.C4dbopi2 = bo_ij->C4dbopi2 * c; - c = workspace->CdDelta[i] + workspace->CdDelta[j]; - coef.C1dDelta = bo_ij->C1dbo * c; - coef.C2dDelta = bo_ij->C2dbo * c; - coef.C3dDelta = bo_ij->C3dbo * c; + c = workspace->CdDelta[i] + workspace->CdDelta[j]; + coef.C1dDelta = bo_ij->C1dbo * c; + coef.C2dDelta = bo_ij->C2dbo * c; + coef.C3dDelta = bo_ij->C3dbo * c; - // The same "c" refactoring here can be replicated below in Add_dBond_to_Forces_NPTOMP(), but - // I'd prefer to wait for a test to verify changes before doing so (just to be safe). + c = (coef.C1dbo + coef.C1dDelta + coef.C2dbopi + coef.C2dbopi2); + rvec_Scale( temp, c, bo_ij->dBOp ); - // forces on i - // rvec_Scale( temp, coef.C1dbo, bo_ij->dBOp ); - // rvec_ScaledAdd( temp, coef.C2dbo, workspace->dDeltap_self[i] ); - // rvec_ScaledAdd( temp, coef.C1dDelta, bo_ij->dBOp ); - // rvec_ScaledAdd( temp, coef.C2dDelta, workspace->dDeltap_self[i] ); - // rvec_ScaledAdd( temp, coef.C1dbopi, bo_ij->dln_BOp_pi ); - // rvec_ScaledAdd( temp, coef.C2dbopi, bo_ij->dBOp ); - // rvec_ScaledAdd( temp, coef.C3dbopi, workspace->dDeltap_self[i]); - // rvec_ScaledAdd( temp, coef.C1dbopi2, bo_ij->dln_BOp_pi2 ); - // rvec_ScaledAdd( temp, coef.C2dbopi2, bo_ij->dBOp ); - // rvec_ScaledAdd( temp, coef.C3dbopi2, workspace->dDeltap_self[i] ); + c = (coef.C2dbo + coef.C2dDelta + coef.C3dbopi + coef.C3dbopi2); + rvec_ScaledAdd( temp, c, workspace->dDeltap_self[i] ); - c = (coef.C1dbo + coef.C1dDelta + coef.C2dbopi + coef.C2dbopi2); - rvec_Scale( temp, c, bo_ij->dBOp ); + rvec_ScaledAdd( temp, coef.C1dbopi, bo_ij->dln_BOp_pi ); + rvec_ScaledAdd( temp, coef.C1dbopi2, bo_ij->dln_BOp_pi2 ); - c = (coef.C2dbo + coef.C2dDelta + coef.C3dbopi + coef.C3dbopi2); - rvec_ScaledAdd( temp, c, workspace->dDeltap_self[i] ); - - rvec_ScaledAdd( temp, coef.C1dbopi, bo_ij->dln_BOp_pi ); - rvec_ScaledAdd( temp, coef.C1dbopi2, bo_ij->dln_BOp_pi2 ); - - rvec_Add(workspace->forceReduction[reductionOffset+i],temp ); - - if (system->pair_ptr->vflag_atom) { - rvec_Scale(fi_tmp, -1.0, temp); - rvec_ScaledSum( delij, 1., system->my_atoms[i].x,-1., system->my_atoms[j].x ); - - pair_reax_ptr->ev_tally_xyz_thr_proxy(system->pair_ptr,i,j,system->N,0,0,0, - fi_tmp[0],fi_tmp[1],fi_tmp[2], - delij[0],delij[1],delij[2],thr); - } - - // forces on j - // rvec_Scale( temp, -coef.C1dbo, bo_ij->dBOp ); - // rvec_ScaledAdd( temp, coef.C3dbo, workspace->dDeltap_self[j] ); - // rvec_ScaledAdd( temp, -coef.C1dDelta, bo_ij->dBOp ); - // rvec_ScaledAdd( temp, coef.C3dDelta, workspace->dDeltap_self[j]); - // rvec_ScaledAdd( temp, -coef.C1dbopi, bo_ij->dln_BOp_pi ); - // rvec_ScaledAdd( temp, -coef.C2dbopi, bo_ij->dBOp ); - // rvec_ScaledAdd( temp, coef.C4dbopi, workspace->dDeltap_self[j]); - // rvec_ScaledAdd( temp, -coef.C1dbopi2, bo_ij->dln_BOp_pi2 ); - // rvec_ScaledAdd( temp, -coef.C2dbopi2, bo_ij->dBOp ); - // rvec_ScaledAdd( temp, coef.C4dbopi2, workspace->dDeltap_self[j]); - - - c = -(coef.C1dbo + coef.C1dDelta + coef.C2dbopi + coef.C2dbopi2); - rvec_Scale( temp, c, bo_ij->dBOp ); - - c = (coef.C3dbo + coef.C3dDelta + coef.C4dbopi + coef.C4dbopi2); - rvec_ScaledAdd( temp, c, workspace->dDeltap_self[j] ); - - rvec_ScaledAdd( temp, -coef.C1dbopi, bo_ij->dln_BOp_pi ); - rvec_ScaledAdd( temp, -coef.C1dbopi2, bo_ij->dln_BOp_pi2 ); - - - rvec_Add(workspace->forceReduction[reductionOffset+j],temp ); - - if (system->pair_ptr->vflag_atom) { - rvec_Scale(fj_tmp, -1.0, temp); - rvec_ScaledSum( delji, 1., system->my_atoms[j].x,-1., system->my_atoms[i].x ); - - pair_reax_ptr->ev_tally_xyz_thr_proxy(system->pair_ptr,j,i,system->N,0,0,0, - fj_tmp[0],fj_tmp[1],fj_tmp[2], - delji[0],delji[1],delji[2],thr); - } - - // forces on k: i neighbor - for (pk = Start_Index(i, bonds); pk < End_Index(i, bonds); ++pk) { - nbr_k = &(bonds->select.bond_list[pk]); - k = nbr_k->nbr; - - // rvec_Scale( temp, -coef.C2dbo, nbr_k->bo_data.dBOp); - // rvec_ScaledAdd( temp, -coef.C2dDelta, nbr_k->bo_data.dBOp); - // rvec_ScaledAdd( temp, -coef.C3dbopi, nbr_k->bo_data.dBOp); - // rvec_ScaledAdd( temp, -coef.C3dbopi2, nbr_k->bo_data.dBOp); - - const double c = -(coef.C2dbo + coef.C2dDelta + coef.C3dbopi + coef.C3dbopi2); - rvec_Scale(temp, c, nbr_k->bo_data.dBOp); - - rvec_Add(workspace->forceReduction[reductionOffset+k],temp ); + rvec_Add(workspace->forceReduction[reductionOffset+i],temp ); if (system->pair_ptr->vflag_atom) { - rvec_Scale(fk_tmp, -1.0, temp); - rvec_ScaledSum(delki,1.,system->my_atoms[k].x,-1.,system->my_atoms[i].x); + rvec_Scale(fi_tmp, -1.0, temp); + rvec_ScaledSum( delij, 1., system->my_atoms[i].x,-1., system->my_atoms[j].x ); - pair_reax_ptr->ev_tally_xyz_thr_proxy(system->pair_ptr,k,i,system->N,0,0,0, - fk_tmp[0],fk_tmp[1],fk_tmp[2], - delki[0],delki[1],delki[2],thr); - rvec_ScaledSum(delkj,1.,system->my_atoms[k].x,-1.,system->my_atoms[j].x); + pair_reax_ptr->ev_tally_xyz_thr_proxy(system->pair_ptr,i,j,system->N,0,0,0, + fi_tmp[0],fi_tmp[1],fi_tmp[2], + delij[0],delij[1],delij[2],thr); + } - pair_reax_ptr->ev_tally_xyz_thr_proxy(system->pair_ptr,k,j,system->N,0,0,0, - fk_tmp[0],fk_tmp[1],fk_tmp[2], - delkj[0],delkj[1],delkj[2],thr); + c = -(coef.C1dbo + coef.C1dDelta + coef.C2dbopi + coef.C2dbopi2); + rvec_Scale( temp, c, bo_ij->dBOp ); + + c = (coef.C3dbo + coef.C3dDelta + coef.C4dbopi + coef.C4dbopi2); + rvec_ScaledAdd( temp, c, workspace->dDeltap_self[j] ); + + rvec_ScaledAdd( temp, -coef.C1dbopi, bo_ij->dln_BOp_pi ); + rvec_ScaledAdd( temp, -coef.C1dbopi2, bo_ij->dln_BOp_pi2 ); + + + rvec_Add(workspace->forceReduction[reductionOffset+j],temp ); + + if (system->pair_ptr->vflag_atom) { + rvec_Scale(fj_tmp, -1.0, temp); + rvec_ScaledSum( delji, 1., system->my_atoms[j].x,-1., system->my_atoms[i].x ); + + pair_reax_ptr->ev_tally_xyz_thr_proxy(system->pair_ptr,j,i,system->N,0,0,0, + fj_tmp[0],fj_tmp[1],fj_tmp[2], + delji[0],delji[1],delji[2],thr); + } + + // forces on k: i neighbor + for (pk = Start_Index(i, bonds); pk < End_Index(i, bonds); ++pk) { + nbr_k = &(bonds->select.bond_list[pk]); + k = nbr_k->nbr; + + // rvec_Scale( temp, -coef.C2dbo, nbr_k->bo_data.dBOp); + // rvec_ScaledAdd( temp, -coef.C2dDelta, nbr_k->bo_data.dBOp); + // rvec_ScaledAdd( temp, -coef.C3dbopi, nbr_k->bo_data.dBOp); + // rvec_ScaledAdd( temp, -coef.C3dbopi2, nbr_k->bo_data.dBOp); + + const double c = -(coef.C2dbo + coef.C2dDelta + coef.C3dbopi + coef.C3dbopi2); + rvec_Scale(temp, c, nbr_k->bo_data.dBOp); + + rvec_Add(workspace->forceReduction[reductionOffset+k],temp ); + + if (system->pair_ptr->vflag_atom) { + rvec_Scale(fk_tmp, -1.0, temp); + rvec_ScaledSum(delki,1.,system->my_atoms[k].x,-1.,system->my_atoms[i].x); + + pair_reax_ptr->ev_tally_xyz_thr_proxy(system->pair_ptr,k,i,system->N,0,0,0, + fk_tmp[0],fk_tmp[1],fk_tmp[2], + delki[0],delki[1],delki[2],thr); + rvec_ScaledSum(delkj,1.,system->my_atoms[k].x,-1.,system->my_atoms[j].x); + + pair_reax_ptr->ev_tally_xyz_thr_proxy(system->pair_ptr,k,j,system->N,0,0,0, + fk_tmp[0],fk_tmp[1],fk_tmp[2], + delkj[0],delkj[1],delkj[2],thr); + } + } + + // forces on k: j neighbor + for (pk = Start_Index(j, bonds); pk < End_Index(j, bonds); ++pk) { + nbr_k = &(bonds->select.bond_list[pk]); + k = nbr_k->nbr; + + // rvec_Scale( temp, -coef.C3dbo, nbr_k->bo_data.dBOp ); + // rvec_ScaledAdd( temp, -coef.C3dDelta, nbr_k->bo_data.dBOp); + // rvec_ScaledAdd( temp, -coef.C4dbopi, nbr_k->bo_data.dBOp); + // rvec_ScaledAdd( temp, -coef.C4dbopi2, nbr_k->bo_data.dBOp); + + const double c = -(coef.C3dbo + coef.C3dDelta + coef.C4dbopi + coef.C4dbopi2); + rvec_Scale(temp, c, nbr_k->bo_data.dBOp); + + rvec_Add(workspace->forceReduction[reductionOffset+k],temp ); + + if (system->pair_ptr->vflag_atom) { + rvec_Scale(fk_tmp, -1.0, temp); + rvec_ScaledSum(delki,1.,system->my_atoms[k].x,-1.,system->my_atoms[i].x); + + pair_reax_ptr->ev_tally_xyz_thr_proxy(system->pair_ptr,k,i,system->N,0,0,0, + fk_tmp[0],fk_tmp[1],fk_tmp[2], + delki[0],delki[1],delki[2],thr); + + rvec_ScaledSum(delkj,1.,system->my_atoms[k].x,-1.,system->my_atoms[j].x); + + pair_reax_ptr->ev_tally_xyz_thr_proxy(system->pair_ptr,k,j,system->N,0,0,0, + fk_tmp[0],fk_tmp[1],fk_tmp[2], + delkj[0],delkj[1],delkj[2],thr); + } } } - // forces on k: j neighbor - for (pk = Start_Index(j, bonds); pk < End_Index(j, bonds); ++pk) { - nbr_k = &(bonds->select.bond_list[pk]); - k = nbr_k->nbr; +/* ---------------------------------------------------------------------- */ - // rvec_Scale( temp, -coef.C3dbo, nbr_k->bo_data.dBOp ); - // rvec_ScaledAdd( temp, -coef.C3dDelta, nbr_k->bo_data.dBOp); - // rvec_ScaledAdd( temp, -coef.C4dbopi, nbr_k->bo_data.dBOp); - // rvec_ScaledAdd( temp, -coef.C4dbopi2, nbr_k->bo_data.dBOp); + void Add_dBond_to_Forces_NPTOMP(reax_system *system, int i, int pj, + storage *workspace, reax_list **lists) { + reax_list *bonds = (*lists) + BONDS; + bond_data *nbr_j, *nbr_k; + bond_order_data *bo_ij, *bo_ji; + dbond_coefficients coef; + rvec temp; + int pk, k, j; - const double c = -(coef.C3dbo + coef.C3dDelta + coef.C4dbopi + coef.C4dbopi2); - rvec_Scale(temp, c, nbr_k->bo_data.dBOp); + int tid = get_tid(); + long reductionOffset = (system->N * tid); - rvec_Add(workspace->forceReduction[reductionOffset+k],temp ); + /* Initializations */ + nbr_j = &(bonds->select.bond_list[pj]); + j = nbr_j->nbr; + bo_ij = &(nbr_j->bo_data); + bo_ji = &(bonds->select.bond_list[ nbr_j->sym_index ].bo_data); - if (system->pair_ptr->vflag_atom) { - rvec_Scale(fk_tmp, -1.0, temp); - rvec_ScaledSum(delki,1.,system->my_atoms[k].x,-1.,system->my_atoms[i].x); + coef.C1dbo = bo_ij->C1dbo * (bo_ij->Cdbo + bo_ji->Cdbo); + coef.C2dbo = bo_ij->C2dbo * (bo_ij->Cdbo + bo_ji->Cdbo); + coef.C3dbo = bo_ij->C3dbo * (bo_ij->Cdbo + bo_ji->Cdbo); - pair_reax_ptr->ev_tally_xyz_thr_proxy(system->pair_ptr,k,i,system->N,0,0,0, - fk_tmp[0],fk_tmp[1],fk_tmp[2], - delki[0],delki[1],delki[2],thr); + coef.C1dbopi = bo_ij->C1dbopi * (bo_ij->Cdbopi + bo_ji->Cdbopi); + coef.C2dbopi = bo_ij->C2dbopi * (bo_ij->Cdbopi + bo_ji->Cdbopi); + coef.C3dbopi = bo_ij->C3dbopi * (bo_ij->Cdbopi + bo_ji->Cdbopi); + coef.C4dbopi = bo_ij->C4dbopi * (bo_ij->Cdbopi + bo_ji->Cdbopi); - rvec_ScaledSum(delkj,1.,system->my_atoms[k].x,-1.,system->my_atoms[j].x); + coef.C1dbopi2 = bo_ij->C1dbopi2 * (bo_ij->Cdbopi2 + bo_ji->Cdbopi2); + coef.C2dbopi2 = bo_ij->C2dbopi2 * (bo_ij->Cdbopi2 + bo_ji->Cdbopi2); + coef.C3dbopi2 = bo_ij->C3dbopi2 * (bo_ij->Cdbopi2 + bo_ji->Cdbopi2); + coef.C4dbopi2 = bo_ij->C4dbopi2 * (bo_ij->Cdbopi2 + bo_ji->Cdbopi2); - pair_reax_ptr->ev_tally_xyz_thr_proxy(system->pair_ptr,k,j,system->N,0,0,0, - fk_tmp[0],fk_tmp[1],fk_tmp[2], - delkj[0],delkj[1],delkj[2],thr); + coef.C1dDelta = bo_ij->C1dbo * (workspace->CdDelta[i]+workspace->CdDelta[j]); + coef.C2dDelta = bo_ij->C2dbo * (workspace->CdDelta[i]+workspace->CdDelta[j]); + coef.C3dDelta = bo_ij->C3dbo * (workspace->CdDelta[i]+workspace->CdDelta[j]); + + + /************************************ + * forces related to atom i * + * first neighbors of atom i * + ************************************/ + for (pk = Start_Index(i, bonds); pk < End_Index(i, bonds); ++pk) { + nbr_k = &(bonds->select.bond_list[pk]); + k = nbr_k->nbr; + + rvec_Scale(temp, -coef.C2dbo, nbr_k->bo_data.dBOp); /*2nd, dBO*/ + rvec_ScaledAdd(temp, -coef.C2dDelta, nbr_k->bo_data.dBOp);/*dDelta*/ + rvec_ScaledAdd(temp, -coef.C3dbopi, nbr_k->bo_data.dBOp); /*3rd, dBOpi*/ + rvec_ScaledAdd(temp, -coef.C3dbopi2, nbr_k->bo_data.dBOp);/*3rd, dBOpi2*/ + + /* force */ + rvec_Add(workspace->forceReduction[reductionOffset+k],temp ); } - } -} -/* ---------------------------------------------------------------------- */ + /* then atom i itself */ + rvec_Scale( temp, coef.C1dbo, bo_ij->dBOp ); /*1st,dBO*/ + rvec_ScaledAdd( temp, coef.C2dbo, workspace->dDeltap_self[i] ); /*2nd,dBO*/ + rvec_ScaledAdd( temp, coef.C1dDelta, bo_ij->dBOp ); /*1st,dBO*/ + rvec_ScaledAdd( temp, coef.C2dDelta, workspace->dDeltap_self[i] );/*2nd,dBO*/ + rvec_ScaledAdd( temp, coef.C1dbopi, bo_ij->dln_BOp_pi ); /*1st,dBOpi*/ + rvec_ScaledAdd( temp, coef.C2dbopi, bo_ij->dBOp ); /*2nd,dBOpi*/ + rvec_ScaledAdd( temp, coef.C3dbopi, workspace->dDeltap_self[i]);/*3rd,dBOpi*/ -void Add_dBond_to_Forces_NPTOMP(reax_system *system, int i, int pj, - storage *workspace, reax_list **lists) { - reax_list *bonds = (*lists) + BONDS; - bond_data *nbr_j, *nbr_k; - bond_order_data *bo_ij, *bo_ji; - dbond_coefficients coef; - rvec temp; - int pk, k, j; - -#if defined(_OPENMP) - int tid = omp_get_thread_num(); -#else - int tid = 0; -#endif - long reductionOffset = (system->N * tid); - - /* Initializations */ - nbr_j = &(bonds->select.bond_list[pj]); - j = nbr_j->nbr; - bo_ij = &(nbr_j->bo_data); - bo_ji = &(bonds->select.bond_list[ nbr_j->sym_index ].bo_data); - - coef.C1dbo = bo_ij->C1dbo * (bo_ij->Cdbo + bo_ji->Cdbo); - coef.C2dbo = bo_ij->C2dbo * (bo_ij->Cdbo + bo_ji->Cdbo); - coef.C3dbo = bo_ij->C3dbo * (bo_ij->Cdbo + bo_ji->Cdbo); - - coef.C1dbopi = bo_ij->C1dbopi * (bo_ij->Cdbopi + bo_ji->Cdbopi); - coef.C2dbopi = bo_ij->C2dbopi * (bo_ij->Cdbopi + bo_ji->Cdbopi); - coef.C3dbopi = bo_ij->C3dbopi * (bo_ij->Cdbopi + bo_ji->Cdbopi); - coef.C4dbopi = bo_ij->C4dbopi * (bo_ij->Cdbopi + bo_ji->Cdbopi); - - coef.C1dbopi2 = bo_ij->C1dbopi2 * (bo_ij->Cdbopi2 + bo_ji->Cdbopi2); - coef.C2dbopi2 = bo_ij->C2dbopi2 * (bo_ij->Cdbopi2 + bo_ji->Cdbopi2); - coef.C3dbopi2 = bo_ij->C3dbopi2 * (bo_ij->Cdbopi2 + bo_ji->Cdbopi2); - coef.C4dbopi2 = bo_ij->C4dbopi2 * (bo_ij->Cdbopi2 + bo_ji->Cdbopi2); - - coef.C1dDelta = bo_ij->C1dbo * (workspace->CdDelta[i]+workspace->CdDelta[j]); - coef.C2dDelta = bo_ij->C2dbo * (workspace->CdDelta[i]+workspace->CdDelta[j]); - coef.C3dDelta = bo_ij->C3dbo * (workspace->CdDelta[i]+workspace->CdDelta[j]); - - - /************************************ - * forces related to atom i * - * first neighbors of atom i * - ************************************/ - for (pk = Start_Index(i, bonds); pk < End_Index(i, bonds); ++pk) { - nbr_k = &(bonds->select.bond_list[pk]); - k = nbr_k->nbr; - - rvec_Scale(temp, -coef.C2dbo, nbr_k->bo_data.dBOp); /*2nd, dBO*/ - rvec_ScaledAdd(temp, -coef.C2dDelta, nbr_k->bo_data.dBOp);/*dDelta*/ - rvec_ScaledAdd(temp, -coef.C3dbopi, nbr_k->bo_data.dBOp); /*3rd, dBOpi*/ - rvec_ScaledAdd(temp, -coef.C3dbopi2, nbr_k->bo_data.dBOp);/*3rd, dBOpi2*/ + rvec_ScaledAdd( temp, coef.C1dbopi2, bo_ij->dln_BOp_pi2 ); /*1st,dBO_pi2*/ + rvec_ScaledAdd( temp, coef.C2dbopi2, bo_ij->dBOp ); /*2nd,dBO_pi2*/ + rvec_ScaledAdd( temp, coef.C3dbopi2, workspace->dDeltap_self[i] );/*3rd*/ /* force */ - rvec_Add(workspace->forceReduction[reductionOffset+k],temp ); - } + rvec_Add(workspace->forceReduction[reductionOffset+i],temp ); - /* then atom i itself */ - rvec_Scale( temp, coef.C1dbo, bo_ij->dBOp ); /*1st,dBO*/ - rvec_ScaledAdd( temp, coef.C2dbo, workspace->dDeltap_self[i] ); /*2nd,dBO*/ - rvec_ScaledAdd( temp, coef.C1dDelta, bo_ij->dBOp ); /*1st,dBO*/ - rvec_ScaledAdd( temp, coef.C2dDelta, workspace->dDeltap_self[i] );/*2nd,dBO*/ - rvec_ScaledAdd( temp, coef.C1dbopi, bo_ij->dln_BOp_pi ); /*1st,dBOpi*/ - rvec_ScaledAdd( temp, coef.C2dbopi, bo_ij->dBOp ); /*2nd,dBOpi*/ - rvec_ScaledAdd( temp, coef.C3dbopi, workspace->dDeltap_self[i]);/*3rd,dBOpi*/ + for (pk = Start_Index(j, bonds); pk < End_Index(j, bonds); ++pk) { + nbr_k = &(bonds->select.bond_list[pk]); + k = nbr_k->nbr; - rvec_ScaledAdd( temp, coef.C1dbopi2, bo_ij->dln_BOp_pi2 ); /*1st,dBO_pi2*/ - rvec_ScaledAdd( temp, coef.C2dbopi2, bo_ij->dBOp ); /*2nd,dBO_pi2*/ - rvec_ScaledAdd( temp, coef.C3dbopi2, workspace->dDeltap_self[i] );/*3rd*/ + rvec_Scale( temp, -coef.C3dbo, nbr_k->bo_data.dBOp ); /*3rd,dBO*/ + rvec_ScaledAdd( temp, -coef.C3dDelta, nbr_k->bo_data.dBOp);/*dDelta*/ + rvec_ScaledAdd( temp, -coef.C4dbopi, nbr_k->bo_data.dBOp); /*4th,dBOpi*/ + rvec_ScaledAdd( temp, -coef.C4dbopi2, nbr_k->bo_data.dBOp);/*4th,dBOpi2*/ - /* force */ - rvec_Add(workspace->forceReduction[reductionOffset+i],temp ); + /* force */ + rvec_Add(workspace->forceReduction[reductionOffset+k],temp ); + } - for (pk = Start_Index(j, bonds); pk < End_Index(j, bonds); ++pk) { - nbr_k = &(bonds->select.bond_list[pk]); - k = nbr_k->nbr; + /* then atom j itself */ + rvec_Scale( temp, -coef.C1dbo, bo_ij->dBOp ); /*1st, dBO*/ + rvec_ScaledAdd( temp, coef.C3dbo, workspace->dDeltap_self[j] ); /*2nd, dBO*/ + rvec_ScaledAdd( temp, -coef.C1dDelta, bo_ij->dBOp ); /*1st, dBO*/ + rvec_ScaledAdd( temp, coef.C3dDelta, workspace->dDeltap_self[j]);/*2nd, dBO*/ - rvec_Scale( temp, -coef.C3dbo, nbr_k->bo_data.dBOp ); /*3rd,dBO*/ - rvec_ScaledAdd( temp, -coef.C3dDelta, nbr_k->bo_data.dBOp);/*dDelta*/ - rvec_ScaledAdd( temp, -coef.C4dbopi, nbr_k->bo_data.dBOp); /*4th,dBOpi*/ - rvec_ScaledAdd( temp, -coef.C4dbopi2, nbr_k->bo_data.dBOp);/*4th,dBOpi2*/ + rvec_ScaledAdd( temp, -coef.C1dbopi, bo_ij->dln_BOp_pi ); /*1st,dBOpi*/ + rvec_ScaledAdd( temp, -coef.C2dbopi, bo_ij->dBOp ); /*2nd,dBOpi*/ + rvec_ScaledAdd( temp, coef.C4dbopi, workspace->dDeltap_self[j]);/*3rd,dBOpi*/ + + rvec_ScaledAdd( temp, -coef.C1dbopi2, bo_ij->dln_BOp_pi2 ); /*1st,dBOpi2*/ + rvec_ScaledAdd( temp, -coef.C2dbopi2, bo_ij->dBOp ); /*2nd,dBOpi2*/ + rvec_ScaledAdd( temp,coef.C4dbopi2,workspace->dDeltap_self[j]);/*3rd,dBOpi2*/ /* force */ - rvec_Add(workspace->forceReduction[reductionOffset+k],temp ); + rvec_Add(workspace->forceReduction[reductionOffset+j],temp ); } - /* then atom j itself */ - rvec_Scale( temp, -coef.C1dbo, bo_ij->dBOp ); /*1st, dBO*/ - rvec_ScaledAdd( temp, coef.C3dbo, workspace->dDeltap_self[j] ); /*2nd, dBO*/ - rvec_ScaledAdd( temp, -coef.C1dDelta, bo_ij->dBOp ); /*1st, dBO*/ - rvec_ScaledAdd( temp, coef.C3dDelta, workspace->dDeltap_self[j]);/*2nd, dBO*/ +/* ---------------------------------------------------------------------- */ - rvec_ScaledAdd( temp, -coef.C1dbopi, bo_ij->dln_BOp_pi ); /*1st,dBOpi*/ - rvec_ScaledAdd( temp, -coef.C2dbopi, bo_ij->dBOp ); /*2nd,dBOpi*/ - rvec_ScaledAdd( temp, coef.C4dbopi, workspace->dDeltap_self[j]);/*3rd,dBOpi*/ + int BOp_OMP( storage * /* workspace */, reax_list *bonds, double bo_cut, + int i, int btop_i, far_neighbor_data *nbr_pj, + single_body_parameters * /* sbp_i */, single_body_parameters * /* sbp_j */, + two_body_parameters *twbp, + int btop_j, double C12, double C34, double C56, double BO, double BO_s, double BO_pi, double BO_pi2) { + int j; + double rr2; + double Cln_BOp_s, Cln_BOp_pi, Cln_BOp_pi2; + bond_data *ibond, *jbond; + bond_order_data *bo_ij, *bo_ji; - rvec_ScaledAdd( temp, -coef.C1dbopi2, bo_ij->dln_BOp_pi2 ); /*1st,dBOpi2*/ - rvec_ScaledAdd( temp, -coef.C2dbopi2, bo_ij->dBOp ); /*2nd,dBOpi2*/ - rvec_ScaledAdd( temp,coef.C4dbopi2,workspace->dDeltap_self[j]);/*3rd,dBOpi2*/ + j = nbr_pj->nbr; + rr2 = 1.0 / SQR(nbr_pj->d); - /* force */ - rvec_Add(workspace->forceReduction[reductionOffset+j],temp ); -} + // Top portion of BOp() moved to reaxc_forces_omp.cpp::Init_Forces_noQEq_OMP() + + /* Initially BO values are the uncorrected ones, page 1 */ + + /****** bonds i-j and j-i ******/ + ibond = &( bonds->select.bond_list[btop_i] ); + jbond = &( bonds->select.bond_list[btop_j] ); + + ibond->nbr = j; + jbond->nbr = i; + ibond->d = nbr_pj->d; + jbond->d = nbr_pj->d; + rvec_Copy( ibond->dvec, nbr_pj->dvec ); + rvec_Scale( jbond->dvec, -1, nbr_pj->dvec ); + ivec_Copy( ibond->rel_box, nbr_pj->rel_box ); + ivec_Scale( jbond->rel_box, -1, nbr_pj->rel_box ); + ibond->dbond_index = btop_i; + jbond->dbond_index = btop_i; + ibond->sym_index = btop_j; + jbond->sym_index = btop_i; + + bo_ij = &( ibond->bo_data ); + bo_ji = &( jbond->bo_data ); + bo_ji->BO = bo_ij->BO = BO; + bo_ji->BO_s = bo_ij->BO_s = BO_s; + bo_ji->BO_pi = bo_ij->BO_pi = BO_pi; + bo_ji->BO_pi2 = bo_ij->BO_pi2 = BO_pi2; + + /* Bond Order page2-3, derivative of total bond order prime */ + Cln_BOp_s = twbp->p_bo2 * C12 * rr2; + Cln_BOp_pi = twbp->p_bo4 * C34 * rr2; + Cln_BOp_pi2 = twbp->p_bo6 * C56 * rr2; + + /* Only dln_BOp_xx wrt. dr_i is stored here, note that + dln_BOp_xx/dr_i = -dln_BOp_xx/dr_j and all others are 0 */ + rvec_Scale(bo_ij->dln_BOp_s,-bo_ij->BO_s*Cln_BOp_s,ibond->dvec); + rvec_Scale(bo_ij->dln_BOp_pi,-bo_ij->BO_pi*Cln_BOp_pi,ibond->dvec); + rvec_Scale(bo_ij->dln_BOp_pi2, + -bo_ij->BO_pi2*Cln_BOp_pi2,ibond->dvec); + rvec_Scale(bo_ji->dln_BOp_s, -1., bo_ij->dln_BOp_s); + rvec_Scale(bo_ji->dln_BOp_pi, -1., bo_ij->dln_BOp_pi ); + rvec_Scale(bo_ji->dln_BOp_pi2, -1., bo_ij->dln_BOp_pi2 ); + + rvec_Scale( bo_ij->dBOp, + -(bo_ij->BO_s * Cln_BOp_s + + bo_ij->BO_pi * Cln_BOp_pi + + bo_ij->BO_pi2 * Cln_BOp_pi2), ibond->dvec ); + rvec_Scale( bo_ji->dBOp, -1., bo_ij->dBOp ); + + bo_ij->BO_s -= bo_cut; + bo_ij->BO -= bo_cut; + bo_ji->BO_s -= bo_cut; + bo_ji->BO -= bo_cut; + + bo_ij->Cdbo = bo_ij->Cdbopi = bo_ij->Cdbopi2 = 0.0; + bo_ji->Cdbo = bo_ji->Cdbopi = bo_ji->Cdbopi2 = 0.0; + + return 1; + } /* ---------------------------------------------------------------------- */ -int BOp_OMP( storage * /* workspace */, reax_list *bonds, double bo_cut, - int i, int btop_i, far_neighbor_data *nbr_pj, - single_body_parameters * /* sbp_i */, single_body_parameters * /* sbp_j */, - two_body_parameters *twbp, - int btop_j, double C12, double C34, double C56, double BO, double BO_s, double BO_pi, double BO_pi2) { - int j; - double rr2; - double Cln_BOp_s, Cln_BOp_pi, Cln_BOp_pi2; - bond_data *ibond, *jbond; - bond_order_data *bo_ij, *bo_ji; - - j = nbr_pj->nbr; - rr2 = 1.0 / SQR(nbr_pj->d); - - // Top portion of BOp() moved to reaxc_forces_omp.cpp::Init_Forces_noQEq_OMP() - - /* Initially BO values are the uncorrected ones, page 1 */ - - /****** bonds i-j and j-i ******/ - ibond = &( bonds->select.bond_list[btop_i] ); - jbond = &( bonds->select.bond_list[btop_j] ); - - ibond->nbr = j; - jbond->nbr = i; - ibond->d = nbr_pj->d; - jbond->d = nbr_pj->d; - rvec_Copy( ibond->dvec, nbr_pj->dvec ); - rvec_Scale( jbond->dvec, -1, nbr_pj->dvec ); - ivec_Copy( ibond->rel_box, nbr_pj->rel_box ); - ivec_Scale( jbond->rel_box, -1, nbr_pj->rel_box ); - ibond->dbond_index = btop_i; - jbond->dbond_index = btop_i; - ibond->sym_index = btop_j; - jbond->sym_index = btop_i; - - bo_ij = &( ibond->bo_data ); - bo_ji = &( jbond->bo_data ); - bo_ji->BO = bo_ij->BO = BO; - bo_ji->BO_s = bo_ij->BO_s = BO_s; - bo_ji->BO_pi = bo_ij->BO_pi = BO_pi; - bo_ji->BO_pi2 = bo_ij->BO_pi2 = BO_pi2; - - /* Bond Order page2-3, derivative of total bond order prime */ - Cln_BOp_s = twbp->p_bo2 * C12 * rr2; - Cln_BOp_pi = twbp->p_bo4 * C34 * rr2; - Cln_BOp_pi2 = twbp->p_bo6 * C56 * rr2; - - /* Only dln_BOp_xx wrt. dr_i is stored here, note that - dln_BOp_xx/dr_i = -dln_BOp_xx/dr_j and all others are 0 */ - rvec_Scale(bo_ij->dln_BOp_s,-bo_ij->BO_s*Cln_BOp_s,ibond->dvec); - rvec_Scale(bo_ij->dln_BOp_pi,-bo_ij->BO_pi*Cln_BOp_pi,ibond->dvec); - rvec_Scale(bo_ij->dln_BOp_pi2, - -bo_ij->BO_pi2*Cln_BOp_pi2,ibond->dvec); - rvec_Scale(bo_ji->dln_BOp_s, -1., bo_ij->dln_BOp_s); - rvec_Scale(bo_ji->dln_BOp_pi, -1., bo_ij->dln_BOp_pi ); - rvec_Scale(bo_ji->dln_BOp_pi2, -1., bo_ij->dln_BOp_pi2 ); - - rvec_Scale( bo_ij->dBOp, - -(bo_ij->BO_s * Cln_BOp_s + - bo_ij->BO_pi * Cln_BOp_pi + - bo_ij->BO_pi2 * Cln_BOp_pi2), ibond->dvec ); - rvec_Scale( bo_ji->dBOp, -1., bo_ij->dBOp ); - - bo_ij->BO_s -= bo_cut; - bo_ij->BO -= bo_cut; - bo_ji->BO_s -= bo_cut; - bo_ji->BO -= bo_cut; - - bo_ij->Cdbo = bo_ij->Cdbopi = bo_ij->Cdbopi2 = 0.0; - bo_ji->Cdbo = bo_ji->Cdbopi = bo_ji->Cdbopi2 = 0.0; - - return 1; -} - -/* ---------------------------------------------------------------------- */ - -void BOOMP( reax_system *system, control_params * /* control */, simulation_data * /* data */, - storage *workspace, reax_list **lists, output_controls * /* out_control */) -{ -#ifdef OMP_TIMING - double endTimeBase, startTimeBase; - startTimeBase = MPI_Wtime(); -#endif - - double p_lp1 = system->reax_param.gp.l[15]; - double p_boc1 = system->reax_param.gp.l[0]; - double p_boc2 = system->reax_param.gp.l[1]; - reax_list *bonds = (*lists) + BONDS; + void BOOMP( reax_system *system, control_params * /* control */, simulation_data * /* data */, + storage *workspace, reax_list **lists, output_controls * /* out_control */) + { + double p_lp1 = system->reax_param.gp.l[15]; + double p_boc1 = system->reax_param.gp.l[0]; + double p_boc2 = system->reax_param.gp.l[1]; + reax_list *bonds = (*lists) + BONDS; #if defined(_OPENMP) #pragma omp parallel default(shared) #endif - { - int i, j, pj, type_i, type_j; - int start_i, end_i, sym_index; - double val_i, Deltap_i, Deltap_boc_i; - double val_j, Deltap_j, Deltap_boc_j; - double f1, f2, f3, f4, f5, f4f5, exp_f4, exp_f5; - double exp_p1i, exp_p2i, exp_p1j, exp_p2j, explp1; - double temp, u1_ij, u1_ji, Cf1A_ij, Cf1B_ij, Cf1_ij, Cf1_ji; - double Cf45_ij, Cf45_ji; //u_ij, u_ji - double A0_ij, A1_ij, A2_ij, A2_ji, A3_ij, A3_ji; - single_body_parameters *sbp_i, *sbp_j; - two_body_parameters *twbp; - bond_order_data *bo_ij, *bo_ji; + { + int i, j, pj, type_i, type_j; + int start_i, end_i, sym_index; + double val_i, Deltap_i, Deltap_boc_i; + double val_j, Deltap_j, Deltap_boc_j; + double f1, f2, f3, f4, f5, f4f5, exp_f4, exp_f5; + double exp_p1i, exp_p2i, exp_p1j, exp_p2j, explp1; + double temp, u1_ij, u1_ji, Cf1A_ij, Cf1B_ij, Cf1_ij, Cf1_ji; + double Cf45_ij, Cf45_ji; //u_ij, u_ji + double A0_ij, A1_ij, A2_ij, A2_ji, A3_ij, A3_ji; + single_body_parameters *sbp_i, *sbp_j; + two_body_parameters *twbp; + bond_order_data *bo_ij, *bo_ji; - /* Calculate Deltaprime, Deltaprime_boc values */ + /* Calculate Deltaprime, Deltaprime_boc values */ #if defined(_OPENMP) #pragma omp for schedule(static) #endif - for (i = 0; i < system->N; ++i) { - type_i = system->my_atoms[i].type; - if (type_i < 0) continue; - sbp_i = &(system->reax_param.sbp[type_i]); - workspace->Deltap[i] = workspace->total_bond_order[i] - sbp_i->valency; - workspace->Deltap_boc[i] = - workspace->total_bond_order[i] - sbp_i->valency_val; + for (i = 0; i < system->N; ++i) { + type_i = system->my_atoms[i].type; + if (type_i < 0) continue; + sbp_i = &(system->reax_param.sbp[type_i]); + workspace->Deltap[i] = workspace->total_bond_order[i] - sbp_i->valency; + workspace->Deltap_boc[i] = + workspace->total_bond_order[i] - sbp_i->valency_val; - workspace->total_bond_order[i] = 0; - } - - // Wait till initialization complete -#if defined(_OPENMP) -#pragma omp barrier -#endif - - /* Corrected Bond Order calculations */ -#if defined(_OPENMP) -#pragma omp for schedule(guided) -#endif - for (i = 0; i < system->N; ++i) { - type_i = system->my_atoms[i].type; - if (type_i < 0) continue; - sbp_i = &(system->reax_param.sbp[type_i]); - val_i = sbp_i->valency; - Deltap_i = workspace->Deltap[i]; - Deltap_boc_i = workspace->Deltap_boc[i]; - start_i = Start_Index(i, bonds); - end_i = End_Index(i, bonds); - - for (pj = start_i; pj < end_i; ++pj) { - j = bonds->select.bond_list[pj].nbr; - type_j = system->my_atoms[j].type; - if (type_j < 0) continue; - bo_ij = &( bonds->select.bond_list[pj].bo_data ); - - if (i < j || workspace->bond_mark[j] > 3) { - twbp = &( system->reax_param.tbp[type_i][type_j] ); - - if (twbp->ovc < 0.001 && twbp->v13cor < 0.001) { - bo_ij->C1dbo = 1.000000; - bo_ij->C2dbo = 0.000000; - bo_ij->C3dbo = 0.000000; - - bo_ij->C1dbopi = 1.000000; - bo_ij->C2dbopi = 0.000000; - bo_ij->C3dbopi = 0.000000; - bo_ij->C4dbopi = 0.000000; - - bo_ij->C1dbopi2 = 1.000000; - bo_ij->C2dbopi2 = 0.000000; - bo_ij->C3dbopi2 = 0.000000; - bo_ij->C4dbopi2 = 0.000000; - - } - else { - val_j = system->reax_param.sbp[type_j].valency; - Deltap_j = workspace->Deltap[j]; - Deltap_boc_j = workspace->Deltap_boc[j]; - - /* on page 1 */ - if (twbp->ovc >= 0.001) { - /* Correction for overcoordination */ - exp_p1i = exp( -p_boc1 * Deltap_i ); - exp_p2i = exp( -p_boc2 * Deltap_i ); - exp_p1j = exp( -p_boc1 * Deltap_j ); - exp_p2j = exp( -p_boc2 * Deltap_j ); - - f2 = exp_p1i + exp_p1j; - f3 = -1.0 / p_boc2 * log( 0.5 * ( exp_p2i + exp_p2j ) ); - f1 = 0.5 * ( ( val_i + f2 )/( val_i + f2 + f3 ) + - ( val_j + f2 )/( val_j + f2 + f3 ) ); - - /* Now come the derivates */ - /* Bond Order pages 5-7, derivative of f1 */ - temp = f2 + f3; - u1_ij = val_i + temp; - u1_ji = val_j + temp; - Cf1A_ij = 0.5 * f3 * (1.0 / SQR( u1_ij ) + - 1.0 / SQR( u1_ji )); - Cf1B_ij = -0.5 * (( u1_ij - f3 ) / SQR( u1_ij ) + - ( u1_ji - f3 ) / SQR( u1_ji )); - - Cf1_ij = 0.50 * ( -p_boc1 * exp_p1i / u1_ij - - ((val_i+f2) / SQR(u1_ij)) * - ( -p_boc1 * exp_p1i + - exp_p2i / ( exp_p2i + exp_p2j ) ) + - -p_boc1 * exp_p1i / u1_ji - - ((val_j+f2) / SQR(u1_ji)) * - ( -p_boc1 * exp_p1i + - exp_p2i / ( exp_p2i + exp_p2j ) )); - - - Cf1_ji = -Cf1A_ij * p_boc1 * exp_p1j + - Cf1B_ij * exp_p2j / ( exp_p2i + exp_p2j ); - } - else { - /* No overcoordination correction! */ - f1 = 1.0; - Cf1_ij = Cf1_ji = 0.0; - } - - if (twbp->v13cor >= 0.001) { - /* Correction for 1-3 bond orders */ - exp_f4 =exp(-(twbp->p_boc4 * SQR( bo_ij->BO ) - - Deltap_boc_i) * twbp->p_boc3 + twbp->p_boc5); - exp_f5 =exp(-(twbp->p_boc4 * SQR( bo_ij->BO ) - - Deltap_boc_j) * twbp->p_boc3 + twbp->p_boc5); - - f4 = 1. / (1. + exp_f4); - f5 = 1. / (1. + exp_f5); - f4f5 = f4 * f5; - - /* Bond Order pages 8-9, derivative of f4 and f5 */ - Cf45_ij = -f4 * exp_f4; - Cf45_ji = -f5 * exp_f5; - } - else { - f4 = f5 = f4f5 = 1.0; - Cf45_ij = Cf45_ji = 0.0; - } - - /* Bond Order page 10, derivative of total bond order */ - A0_ij = f1 * f4f5; - A1_ij = -2 * twbp->p_boc3 * twbp->p_boc4 * bo_ij->BO * - (Cf45_ij + Cf45_ji); - A2_ij = Cf1_ij / f1 + twbp->p_boc3 * Cf45_ij; - A2_ji = Cf1_ji / f1 + twbp->p_boc3 * Cf45_ji; - A3_ij = A2_ij + Cf1_ij / f1; - A3_ji = A2_ji + Cf1_ji / f1; - - /* find corrected bond orders and their derivative coef */ - bo_ij->BO = bo_ij->BO * A0_ij; - bo_ij->BO_pi = bo_ij->BO_pi * A0_ij *f1; - bo_ij->BO_pi2= bo_ij->BO_pi2* A0_ij *f1; - bo_ij->BO_s = bo_ij->BO - ( bo_ij->BO_pi + bo_ij->BO_pi2 ); - - bo_ij->C1dbo = A0_ij + bo_ij->BO * A1_ij; - bo_ij->C2dbo = bo_ij->BO * A2_ij; - bo_ij->C3dbo = bo_ij->BO * A2_ji; - - bo_ij->C1dbopi = f1*f1*f4*f5; - bo_ij->C2dbopi = bo_ij->BO_pi * A1_ij; - bo_ij->C3dbopi = bo_ij->BO_pi * A3_ij; - bo_ij->C4dbopi = bo_ij->BO_pi * A3_ji; - - bo_ij->C1dbopi2 = f1*f1*f4*f5; - bo_ij->C2dbopi2 = bo_ij->BO_pi2 * A1_ij; - bo_ij->C3dbopi2 = bo_ij->BO_pi2 * A3_ij; - bo_ij->C4dbopi2 = bo_ij->BO_pi2 * A3_ji; - } - - /* neglect bonds that are < 1e-10 */ - if (bo_ij->BO < 1e-10) - bo_ij->BO = 0.0; - if (bo_ij->BO_s < 1e-10) - bo_ij->BO_s = 0.0; - if (bo_ij->BO_pi < 1e-10) - bo_ij->BO_pi = 0.0; - if (bo_ij->BO_pi2 < 1e-10) - bo_ij->BO_pi2 = 0.0; - - workspace->total_bond_order[i] += bo_ij->BO; //now keeps total_BO - } - // else { - // /* We only need to update bond orders from bo_ji - // everything else is set in uncorrected_bo calculations */ - // sym_index = bonds->select.bond_list[pj].sym_index; - // bo_ji = &(bonds->select.bond_list[ sym_index ].bo_data); - // bo_ij->BO = bo_ji->BO; - // bo_ij->BO_s = bo_ji->BO_s; - // bo_ij->BO_pi = bo_ji->BO_pi; - // bo_ij->BO_pi2 = bo_ji->BO_pi2; - - // workspace->total_bond_order[i] += bo_ij->BO;// now keeps total_BO - // } + workspace->total_bond_order[i] = 0; } - } - - // Wait for bo_ij to be updated + // Wait till initialization complete #if defined(_OPENMP) #pragma omp barrier #endif - // Try to combine the following for-loop back into the for-loop above - /*-------------------------*/ + + /* Corrected Bond Order calculations */ #if defined(_OPENMP) #pragma omp for schedule(guided) #endif - for (i = 0; i < system->N; ++i) { - type_i = system->my_atoms[i].type; - if (type_i < 0) continue; - start_i = Start_Index(i, bonds); - end_i = End_Index(i, bonds); - - for (pj = start_i; pj < end_i; ++pj) { - j = bonds->select.bond_list[pj].nbr; - type_j = system->my_atoms[j].type; - if (type_j < 0) continue; - - if (i < j || workspace->bond_mark[j] > 3) { - // Computed in previous for-loop - } else { - /* We only need to update bond orders from bo_ji - everything else is set in uncorrected_bo calculations */ - sym_index = bonds->select.bond_list[pj].sym_index; + for (i = 0; i < system->N; ++i) { + type_i = system->my_atoms[i].type; + if (type_i < 0) continue; + sbp_i = &(system->reax_param.sbp[type_i]); + val_i = sbp_i->valency; + Deltap_i = workspace->Deltap[i]; + Deltap_boc_i = workspace->Deltap_boc[i]; + start_i = Start_Index(i, bonds); + end_i = End_Index(i, bonds); + for (pj = start_i; pj < end_i; ++pj) { + j = bonds->select.bond_list[pj].nbr; + type_j = system->my_atoms[j].type; + if (type_j < 0) continue; bo_ij = &( bonds->select.bond_list[pj].bo_data ); - bo_ji = &(bonds->select.bond_list[ sym_index ].bo_data); - bo_ij->BO = bo_ji->BO; - bo_ij->BO_s = bo_ji->BO_s; - bo_ij->BO_pi = bo_ji->BO_pi; - bo_ij->BO_pi2 = bo_ji->BO_pi2; - workspace->total_bond_order[i] += bo_ij->BO;// now keeps total_BO + if (i < j || workspace->bond_mark[j] > 3) { + twbp = &( system->reax_param.tbp[type_i][type_j] ); + + if (twbp->ovc < 0.001 && twbp->v13cor < 0.001) { + bo_ij->C1dbo = 1.000000; + bo_ij->C2dbo = 0.000000; + bo_ij->C3dbo = 0.000000; + + bo_ij->C1dbopi = 1.000000; + bo_ij->C2dbopi = 0.000000; + bo_ij->C3dbopi = 0.000000; + bo_ij->C4dbopi = 0.000000; + + bo_ij->C1dbopi2 = 1.000000; + bo_ij->C2dbopi2 = 0.000000; + bo_ij->C3dbopi2 = 0.000000; + bo_ij->C4dbopi2 = 0.000000; + + } else { + val_j = system->reax_param.sbp[type_j].valency; + Deltap_j = workspace->Deltap[j]; + Deltap_boc_j = workspace->Deltap_boc[j]; + + /* on page 1 */ + if (twbp->ovc >= 0.001) { + /* Correction for overcoordination */ + exp_p1i = exp( -p_boc1 * Deltap_i ); + exp_p2i = exp( -p_boc2 * Deltap_i ); + exp_p1j = exp( -p_boc1 * Deltap_j ); + exp_p2j = exp( -p_boc2 * Deltap_j ); + + f2 = exp_p1i + exp_p1j; + f3 = -1.0 / p_boc2 * log( 0.5 * ( exp_p2i + exp_p2j ) ); + f1 = 0.5 * ( ( val_i + f2 )/( val_i + f2 + f3 ) + + ( val_j + f2 )/( val_j + f2 + f3 ) ); + + /* Now come the derivates */ + /* Bond Order pages 5-7, derivative of f1 */ + temp = f2 + f3; + u1_ij = val_i + temp; + u1_ji = val_j + temp; + Cf1A_ij = 0.5 * f3 * (1.0 / SQR( u1_ij ) + + 1.0 / SQR( u1_ji )); + Cf1B_ij = -0.5 * (( u1_ij - f3 ) / SQR( u1_ij ) + + ( u1_ji - f3 ) / SQR( u1_ji )); + + Cf1_ij = 0.50 * ( -p_boc1 * exp_p1i / u1_ij - + ((val_i+f2) / SQR(u1_ij)) * + ( -p_boc1 * exp_p1i + + exp_p2i / ( exp_p2i + exp_p2j ) ) + + -p_boc1 * exp_p1i / u1_ji - + ((val_j+f2) / SQR(u1_ji)) * + ( -p_boc1 * exp_p1i + + exp_p2i / ( exp_p2i + exp_p2j ) )); + + + Cf1_ji = -Cf1A_ij * p_boc1 * exp_p1j + + Cf1B_ij * exp_p2j / ( exp_p2i + exp_p2j ); + } else { + /* No overcoordination correction! */ + f1 = 1.0; + Cf1_ij = Cf1_ji = 0.0; + } + + if (twbp->v13cor >= 0.001) { + /* Correction for 1-3 bond orders */ + exp_f4 =exp(-(twbp->p_boc4 * SQR( bo_ij->BO ) - + Deltap_boc_i) * twbp->p_boc3 + twbp->p_boc5); + exp_f5 =exp(-(twbp->p_boc4 * SQR( bo_ij->BO ) - + Deltap_boc_j) * twbp->p_boc3 + twbp->p_boc5); + + f4 = 1. / (1. + exp_f4); + f5 = 1. / (1. + exp_f5); + f4f5 = f4 * f5; + + /* Bond Order pages 8-9, derivative of f4 and f5 */ + Cf45_ij = -f4 * exp_f4; + Cf45_ji = -f5 * exp_f5; + } else { + f4 = f5 = f4f5 = 1.0; + Cf45_ij = Cf45_ji = 0.0; + } + + /* Bond Order page 10, derivative of total bond order */ + A0_ij = f1 * f4f5; + A1_ij = -2 * twbp->p_boc3 * twbp->p_boc4 * bo_ij->BO * + (Cf45_ij + Cf45_ji); + A2_ij = Cf1_ij / f1 + twbp->p_boc3 * Cf45_ij; + A2_ji = Cf1_ji / f1 + twbp->p_boc3 * Cf45_ji; + A3_ij = A2_ij + Cf1_ij / f1; + A3_ji = A2_ji + Cf1_ji / f1; + + /* find corrected bond orders and their derivative coef */ + bo_ij->BO = bo_ij->BO * A0_ij; + bo_ij->BO_pi = bo_ij->BO_pi * A0_ij *f1; + bo_ij->BO_pi2= bo_ij->BO_pi2* A0_ij *f1; + bo_ij->BO_s = bo_ij->BO - ( bo_ij->BO_pi + bo_ij->BO_pi2 ); + + bo_ij->C1dbo = A0_ij + bo_ij->BO * A1_ij; + bo_ij->C2dbo = bo_ij->BO * A2_ij; + bo_ij->C3dbo = bo_ij->BO * A2_ji; + + bo_ij->C1dbopi = f1*f1*f4*f5; + bo_ij->C2dbopi = bo_ij->BO_pi * A1_ij; + bo_ij->C3dbopi = bo_ij->BO_pi * A3_ij; + bo_ij->C4dbopi = bo_ij->BO_pi * A3_ji; + + bo_ij->C1dbopi2 = f1*f1*f4*f5; + bo_ij->C2dbopi2 = bo_ij->BO_pi2 * A1_ij; + bo_ij->C3dbopi2 = bo_ij->BO_pi2 * A3_ij; + bo_ij->C4dbopi2 = bo_ij->BO_pi2 * A3_ji; + } + + /* neglect bonds that are < 1e-10 */ + if (bo_ij->BO < 1e-10) + bo_ij->BO = 0.0; + if (bo_ij->BO_s < 1e-10) + bo_ij->BO_s = 0.0; + if (bo_ij->BO_pi < 1e-10) + bo_ij->BO_pi = 0.0; + if (bo_ij->BO_pi2 < 1e-10) + bo_ij->BO_pi2 = 0.0; + + workspace->total_bond_order[i] += bo_ij->BO; //now keeps total_BO + } } } - } - - /*-------------------------*/ - - // Need to wait for total_bond_order to be accumulated. + // Wait for bo_ij to be updated #if defined(_OPENMP) #pragma omp barrier #endif - /* Calculate some helper variables that are used at many places - throughout force calculations */ + // Try to combine the following for-loop back into the for-loop above + /*-------------------------*/ #if defined(_OPENMP) #pragma omp for schedule(guided) #endif - for (j = 0; j < system->N; ++j) { - type_j = system->my_atoms[j].type; - if (type_j < 0) continue; - sbp_j = &(system->reax_param.sbp[ type_j ]); + for (i = 0; i < system->N; ++i) { + type_i = system->my_atoms[i].type; + if (type_i < 0) continue; + start_i = Start_Index(i, bonds); + end_i = End_Index(i, bonds); - workspace->Delta[j] = workspace->total_bond_order[j] - sbp_j->valency; - workspace->Delta_e[j] = workspace->total_bond_order[j] - sbp_j->valency_e; - workspace->Delta_boc[j] = workspace->total_bond_order[j] - - sbp_j->valency_boc; - workspace->Delta_val[j] = workspace->total_bond_order[j] - - sbp_j->valency_val; + for (pj = start_i; pj < end_i; ++pj) { + j = bonds->select.bond_list[pj].nbr; + type_j = system->my_atoms[j].type; + if (type_j < 0) continue; - workspace->vlpex[j] = workspace->Delta_e[j] - - 2.0 * (int)(workspace->Delta_e[j]/2.0); - explp1 = exp(-p_lp1 * SQR(2.0 + workspace->vlpex[j])); - workspace->nlp[j] = explp1 - (int)(workspace->Delta_e[j] / 2.0); - workspace->Delta_lp[j] = sbp_j->nlp_opt - workspace->nlp[j]; - workspace->Clp[j] = 2.0 * p_lp1 * explp1 * (2.0 + workspace->vlpex[j]); - workspace->dDelta_lp[j] = workspace->Clp[j]; + if (i < j || workspace->bond_mark[j] > 3) { + // Computed in previous for-loop + } else { + /* We only need to update bond orders from bo_ji + everything else is set in uncorrected_bo calculations */ + sym_index = bonds->select.bond_list[pj].sym_index; + + bo_ij = &( bonds->select.bond_list[pj].bo_data ); + bo_ji = &(bonds->select.bond_list[ sym_index ].bo_data); + bo_ij->BO = bo_ji->BO; + bo_ij->BO_s = bo_ji->BO_s; + bo_ij->BO_pi = bo_ji->BO_pi; + bo_ij->BO_pi2 = bo_ji->BO_pi2; + + workspace->total_bond_order[i] += bo_ij->BO;// now keeps total_BO + } + } - if (sbp_j->mass > 21.0) { - workspace->nlp_temp[j] = 0.5 * (sbp_j->valency_e - sbp_j->valency); - workspace->Delta_lp_temp[j] = sbp_j->nlp_opt - workspace->nlp_temp[j]; - workspace->dDelta_lp_temp[j] = 0.; } - else { - workspace->nlp_temp[j] = workspace->nlp[j]; - workspace->Delta_lp_temp[j] = sbp_j->nlp_opt - workspace->nlp_temp[j]; - workspace->dDelta_lp_temp[j] = workspace->Clp[j]; - } - } - } // parallel region - -#ifdef OMP_TIMING - endTimeBase = MPI_Wtime(); - ompTimingData[COMPUTEBOINDEX] += (endTimeBase-startTimeBase); + /*-------------------------*/ + // Need to wait for total_bond_order to be accumulated. +#if defined(_OPENMP) +#pragma omp barrier #endif + /* Calculate some helper variables that are used at many places + throughout force calculations */ +#if defined(_OPENMP) +#pragma omp for schedule(guided) +#endif + for (j = 0; j < system->N; ++j) { + type_j = system->my_atoms[j].type; + if (type_j < 0) continue; + sbp_j = &(system->reax_param.sbp[ type_j ]); + + workspace->Delta[j] = workspace->total_bond_order[j] - sbp_j->valency; + workspace->Delta_e[j] = workspace->total_bond_order[j] - sbp_j->valency_e; + workspace->Delta_boc[j] = workspace->total_bond_order[j] - + sbp_j->valency_boc; + workspace->Delta_val[j] = workspace->total_bond_order[j] - + sbp_j->valency_val; + + workspace->vlpex[j] = workspace->Delta_e[j] - + 2.0 * (int)(workspace->Delta_e[j]/2.0); + explp1 = exp(-p_lp1 * SQR(2.0 + workspace->vlpex[j])); + workspace->nlp[j] = explp1 - (int)(workspace->Delta_e[j] / 2.0); + workspace->Delta_lp[j] = sbp_j->nlp_opt - workspace->nlp[j]; + workspace->Clp[j] = 2.0 * p_lp1 * explp1 * (2.0 + workspace->vlpex[j]); + workspace->dDelta_lp[j] = workspace->Clp[j]; + + if (sbp_j->mass > 21.0) { + workspace->nlp_temp[j] = 0.5 * (sbp_j->valency_e - sbp_j->valency); + workspace->Delta_lp_temp[j] = sbp_j->nlp_opt - workspace->nlp_temp[j]; + workspace->dDelta_lp_temp[j] = 0.; + } + else { + workspace->nlp_temp[j] = workspace->nlp[j]; + workspace->Delta_lp_temp[j] = sbp_j->nlp_opt - workspace->nlp_temp[j]; + workspace->dDelta_lp_temp[j] = workspace->Clp[j]; + } + } + + } // parallel region + } } diff --git a/src/USER-OMP/reaxc_bond_orders_omp.h b/src/USER-OMP/reaxc_bond_orders_omp.h deleted file mode 100644 index 1711a9ca0c..0000000000 --- a/src/USER-OMP/reaxc_bond_orders_omp.h +++ /dev/null @@ -1,43 +0,0 @@ -/*---------------------------------------------------------------------- - PuReMD - Purdue ReaxFF Molecular Dynamics Program - Website: https://www.cs.purdue.edu/puremd - - Copyright (2010) Purdue University - - Contributing authors: - H. M. Aktulga, J. Fogarty, S. Pandit, A. Grama - Corresponding author: - Hasan Metin Aktulga, Michigan State University, hma@cse.msu.edu - - Please cite the related publication: - H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama, - "Parallel Reactive Molecular Dynamics: Numerical Methods and - Algorithmic Techniques", Parallel Computing, 38 (4-5), 245-259 - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License as - published by the Free Software Foundation; either version 2 of - the License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - See the GNU General Public License for more details: - . - ----------------------------------------------------------------------*/ - -#ifndef __BOND_ORDERS_OMP_H_ -#define __BOND_ORDERS_OMP_H_ - -#include "reaxc_types.h" - -void Add_dBond_to_ForcesOMP(reax_system *, int, int, storage *, reax_list **); -void Add_dBond_to_Forces_NPTOMP(reax_system *, int, int, storage *, reax_list **); - -int BOp_OMP(storage *, reax_list *, double, int, int, far_neighbor_data *, - single_body_parameters *, single_body_parameters *, two_body_parameters *, - int, double, double, double, double, double, double, double); - -void BOOMP(reax_system *, control_params *, simulation_data *, - storage *, reax_list **, output_controls *); -#endif diff --git a/src/USER-OMP/reaxc_bonds_omp.cpp b/src/USER-OMP/reaxc_bonds_omp.cpp index 30d50a4e70..0cc0f995fb 100644 --- a/src/USER-OMP/reaxc_bonds_omp.cpp +++ b/src/USER-OMP/reaxc_bonds_omp.cpp @@ -26,163 +26,145 @@ . ----------------------------------------------------------------------*/ -#include "reaxc_bonds_omp.h" -#include -#include -#include "fix_omp.h" -#include "reaxc_defs.h" -#include "pair_reaxc_omp.h" -#include "reaxc_list.h" +#include "reaxff_omp.h" -#if defined(_OPENMP) -#include -#endif +#include "fix_omp.h" +#include "pair_reaxc_omp.h" +#include "reaxff_api.h" + +#include using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -void BondsOMP( reax_system *system, control_params * /* control */, - simulation_data *data, storage *workspace, reax_list **lists, - output_controls * /* out_control */) -{ -#ifdef OMP_TIMING - double endTimeBase, startTimeBase; - startTimeBase = MPI_Wtime(); -#endif - - const int natoms = system->n; - reax_list *bonds = (*lists) + BONDS; - const double gp3 = system->reax_param.gp.l[3]; - const double gp4 = system->reax_param.gp.l[4]; - const double gp7 = system->reax_param.gp.l[7]; - const double gp10 = system->reax_param.gp.l[10]; - const int gp37 = (int) system->reax_param.gp.l[37]; - double total_Ebond = 0.0; +namespace ReaxFF { + void BondsOMP(reax_system *system, simulation_data *data, + storage *workspace, reax_list **lists) + { + const int natoms = system->n; + reax_list *bonds = (*lists) + BONDS; + const double gp3 = system->reax_param.gp.l[3]; + const double gp4 = system->reax_param.gp.l[4]; + const double gp7 = system->reax_param.gp.l[7]; + const double gp10 = system->reax_param.gp.l[10]; + const int gp37 = (int) system->reax_param.gp.l[37]; + double total_Ebond = 0.0; #if defined(_OPENMP) #pragma omp parallel default(shared) reduction(+: total_Ebond) #endif - { - int i, j, pj; - int start_i, end_i; - int type_i, type_j; - double ebond, pow_BOs_be2, exp_be12, CEbo; - double exphu, exphua1, exphub1, exphuov, hulpov, estriph; - double decobdbo, decobdboua, decobdboub; - single_body_parameters *sbp_i, *sbp_j; - two_body_parameters *twbp; - bond_order_data *bo_ij; + { + int i, j, pj; + int start_i, end_i; + int type_i, type_j; + double ebond, pow_BOs_be2, exp_be12, CEbo; + double exphu, exphua1, exphub1, exphuov, hulpov, estriph; + double decobdbo, decobdboua, decobdboub; + single_body_parameters *sbp_i, *sbp_j; + two_body_parameters *twbp; + bond_order_data *bo_ij; -#if defined(_OPENMP) - int tid = omp_get_thread_num(); -#else - int tid = 0; -#endif - long reductionOffset = (system->N * tid); + int tid = get_tid(); + long reductionOffset = (system->N * tid); - class PairReaxCOMP *pair_reax_ptr; - pair_reax_ptr = static_cast(system->pair_ptr); - class ThrData *thr = pair_reax_ptr->getFixOMP()->get_thr(tid); + class PairReaxCOMP *pair_reax_ptr; + pair_reax_ptr = static_cast(system->pair_ptr); + class ThrData *thr = pair_reax_ptr->getFixOMP()->get_thr(tid); - pair_reax_ptr->ev_setup_thr_proxy(system->pair_ptr->eflag_either, - system->pair_ptr->vflag_either, system->N, - system->pair_ptr->eatom, - system->pair_ptr->vatom, nullptr, thr); + pair_reax_ptr->ev_setup_thr_proxy(system->pair_ptr->eflag_either, + system->pair_ptr->vflag_either, system->N, + system->pair_ptr->eatom, + system->pair_ptr->vatom, nullptr, thr); #if defined(_OPENMP) #pragma omp for schedule(guided) #endif - for (i = 0; i < natoms; ++i) { - start_i = Start_Index(i, bonds); - end_i = End_Index(i, bonds); + for (i = 0; i < natoms; ++i) { + start_i = Start_Index(i, bonds); + end_i = End_Index(i, bonds); - for (pj = start_i; pj < end_i; ++pj) { - j = bonds->select.bond_list[pj].nbr; + for (pj = start_i; pj < end_i; ++pj) { + j = bonds->select.bond_list[pj].nbr; - if (system->my_atoms[i].orig_id > system->my_atoms[j].orig_id) continue; + if (system->my_atoms[i].orig_id > system->my_atoms[j].orig_id) continue; - if (system->my_atoms[i].orig_id == system->my_atoms[j].orig_id) { - if (system->my_atoms[j].x[2] < system->my_atoms[i].x[2]) continue; - if (system->my_atoms[j].x[2] == system->my_atoms[i].x[2] && - system->my_atoms[j].x[1] < system->my_atoms[i].x[1]) continue; - if (system->my_atoms[j].x[2] == system->my_atoms[i].x[2] && - system->my_atoms[j].x[1] == system->my_atoms[i].x[1] && - system->my_atoms[j].x[0] < system->my_atoms[i].x[0]) continue; - } + if (system->my_atoms[i].orig_id == system->my_atoms[j].orig_id) { + if (system->my_atoms[j].x[2] < system->my_atoms[i].x[2]) continue; + if (system->my_atoms[j].x[2] == system->my_atoms[i].x[2] && + system->my_atoms[j].x[1] < system->my_atoms[i].x[1]) continue; + if (system->my_atoms[j].x[2] == system->my_atoms[i].x[2] && + system->my_atoms[j].x[1] == system->my_atoms[i].x[1] && + system->my_atoms[j].x[0] < system->my_atoms[i].x[0]) continue; + } - /* set the pointers */ - type_i = system->my_atoms[i].type; - type_j = system->my_atoms[j].type; - sbp_i = &( system->reax_param.sbp[type_i] ); - sbp_j = &( system->reax_param.sbp[type_j] ); - twbp = &( system->reax_param.tbp[type_i][type_j] ); - bo_ij = &( bonds->select.bond_list[pj].bo_data ); + /* set the pointers */ + type_i = system->my_atoms[i].type; + type_j = system->my_atoms[j].type; + sbp_i = &(system->reax_param.sbp[type_i]); + sbp_j = &(system->reax_param.sbp[type_j]); + twbp = &(system->reax_param.tbp[type_i][type_j]); + bo_ij = &(bonds->select.bond_list[pj].bo_data); - /* calculate the constants */ - if (bo_ij->BO_s == 0.0) pow_BOs_be2 = 0.0; - else pow_BOs_be2 = pow( bo_ij->BO_s, twbp->p_be2 ); - exp_be12 = exp( twbp->p_be1 * ( 1.0 - pow_BOs_be2 ) ); - CEbo = -twbp->De_s * exp_be12 * - ( 1.0 - twbp->p_be1 * twbp->p_be2 * pow_BOs_be2 ); + /* calculate the constants */ + if (bo_ij->BO_s == 0.0) pow_BOs_be2 = 0.0; + else pow_BOs_be2 = pow(bo_ij->BO_s, twbp->p_be2); + exp_be12 = exp(twbp->p_be1 * (1.0 - pow_BOs_be2)); + CEbo = -twbp->De_s * exp_be12 * + (1.0 - twbp->p_be1 * twbp->p_be2 * pow_BOs_be2); - /* calculate the Bond Energy */ - total_Ebond += ebond = - -twbp->De_s * bo_ij->BO_s * exp_be12 - -twbp->De_p * bo_ij->BO_pi - -twbp->De_pp * bo_ij->BO_pi2; - - /* tally into per-atom energy */ - if (system->pair_ptr->evflag) - pair_reax_ptr->ev_tally_thr_proxy(system->pair_ptr, i, j, natoms, 1, - ebond, 0.0, 0.0, 0.0, 0.0, 0.0, thr); - - /* calculate derivatives of Bond Orders */ - bo_ij->Cdbo += CEbo; - bo_ij->Cdbopi -= (CEbo + twbp->De_p); - bo_ij->Cdbopi2 -= (CEbo + twbp->De_pp); - - /* Stabilisation terminal triple bond */ - if (bo_ij->BO >= 1.00) { - if (gp37 == 2 || - (sbp_i->mass == 12.0000 && sbp_j->mass == 15.9990) || - (sbp_j->mass == 12.0000 && sbp_i->mass == 15.9990)) { - exphu = exp( -gp7 * SQR(bo_ij->BO - 2.50) ); - exphua1 = exp(-gp3 * (workspace->total_bond_order[i]-bo_ij->BO)); - exphub1 = exp(-gp3 * (workspace->total_bond_order[j]-bo_ij->BO)); - exphuov = exp(gp4 * (workspace->Delta[i] + workspace->Delta[j])); - hulpov = 1.0 / (1.0 + 25.0 * exphuov); - - estriph = gp10 * exphu * hulpov * (exphua1 + exphub1); - total_Ebond += estriph; - - decobdbo = gp10 * exphu * hulpov * (exphua1 + exphub1) * - ( gp3 - 2.0 * gp7 * (bo_ij->BO-2.50) ); - decobdboua = -gp10 * exphu * hulpov * - (gp3*exphua1 + 25.0*gp4*exphuov*hulpov*(exphua1+exphub1)); - decobdboub = -gp10 * exphu * hulpov * - (gp3*exphub1 + 25.0*gp4*exphuov*hulpov*(exphua1+exphub1)); + /* calculate the Bond Energy */ + total_Ebond += ebond = + -twbp->De_s * bo_ij->BO_s * exp_be12 + -twbp->De_p * bo_ij->BO_pi + -twbp->De_pp * bo_ij->BO_pi2; /* tally into per-atom energy */ if (system->pair_ptr->evflag) pair_reax_ptr->ev_tally_thr_proxy(system->pair_ptr, i, j, natoms, 1, - estriph, 0.0, 0.0, 0.0, 0.0, 0.0, thr); + ebond, 0.0, 0.0, 0.0, 0.0, 0.0, thr); - bo_ij->Cdbo += decobdbo; - workspace->CdDelta[i] += decobdboua; - workspace->CdDeltaReduction[reductionOffset+j] += decobdboub; + /* calculate derivatives of Bond Orders */ + bo_ij->Cdbo += CEbo; + bo_ij->Cdbopi -= (CEbo + twbp->De_p); + bo_ij->Cdbopi2 -= (CEbo + twbp->De_pp); + + /* Stabilisation terminal triple bond */ + if (bo_ij->BO >= 1.00) { + if (gp37 == 2 || + (sbp_i->mass == 12.0000 && sbp_j->mass == 15.9990) || + (sbp_j->mass == 12.0000 && sbp_i->mass == 15.9990)) { + exphu = exp(-gp7 * SQR(bo_ij->BO - 2.50)); + exphua1 = exp(-gp3 * (workspace->total_bond_order[i]-bo_ij->BO)); + exphub1 = exp(-gp3 * (workspace->total_bond_order[j]-bo_ij->BO)); + exphuov = exp(gp4 * (workspace->Delta[i] + workspace->Delta[j])); + hulpov = 1.0 / (1.0 + 25.0 * exphuov); + + estriph = gp10 * exphu * hulpov * (exphua1 + exphub1); + total_Ebond += estriph; + + decobdbo = gp10 * exphu * hulpov * (exphua1 + exphub1) * + (gp3 - 2.0 * gp7 * (bo_ij->BO-2.50)); + decobdboua = -gp10 * exphu * hulpov * + (gp3*exphua1 + 25.0*gp4*exphuov*hulpov*(exphua1+exphub1)); + decobdboub = -gp10 * exphu * hulpov * + (gp3*exphub1 + 25.0*gp4*exphuov*hulpov*(exphua1+exphub1)); + + /* tally into per-atom energy */ + if (system->pair_ptr->evflag) + pair_reax_ptr->ev_tally_thr_proxy(system->pair_ptr, i, j, natoms, 1, + estriph, 0.0, 0.0, 0.0, 0.0, 0.0, thr); + + bo_ij->Cdbo += decobdbo; + workspace->CdDelta[i] += decobdboua; + workspace->CdDeltaReduction[reductionOffset+j] += decobdboub; + } + } } - } - } - } // for (i) + } // for (i) - } // omp - - data->my_en.e_bond += total_Ebond; - -#ifdef OMP_TIMING - endTimeBase = MPI_Wtime(); - ompTimingData[COMPUTEBONDSINDEX] += (endTimeBase-startTimeBase); -#endif + } // omp + data->my_en.e_bond += total_Ebond; + } } diff --git a/src/USER-OMP/reaxc_bonds_omp.h b/src/USER-OMP/reaxc_bonds_omp.h deleted file mode 100644 index e5fb0f99e1..0000000000 --- a/src/USER-OMP/reaxc_bonds_omp.h +++ /dev/null @@ -1,37 +0,0 @@ -/*---------------------------------------------------------------------- - PuReMD - Purdue ReaxFF Molecular Dynamics Program - Website: https://www.cs.purdue.edu/puremd - - Copyright (2010) Purdue University - - Contributing authors: - H. M. Aktulga, J. Fogarty, S. Pandit, A. Grama - Corresponding author: - Hasan Metin Aktulga, Michigan State University, hma@cse.msu.edu - - Please cite the related publication: - H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama, - "Parallel Reactive Molecular Dynamics: Numerical Methods and - Algorithmic Techniques", Parallel Computing, 38 (4-5), 245-259 - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License as - published by the Free Software Foundation; either version 2 of - the License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - See the GNU General Public License for more details: - . - ----------------------------------------------------------------------*/ - -#ifndef __BONDS_OMP_H_ -#define __BONDS_OMP_H_ - -#include "reaxc_types.h" - -void BondsOMP( reax_system*, control_params*, simulation_data*, - storage*, reax_list**, output_controls* ); - -#endif diff --git a/src/USER-OMP/reaxc_forces_omp.cpp b/src/USER-OMP/reaxc_forces_omp.cpp index aff543225d..566edf7d05 100644 --- a/src/USER-OMP/reaxc_forces_omp.cpp +++ b/src/USER-OMP/reaxc_forces_omp.cpp @@ -26,440 +26,348 @@ . ----------------------------------------------------------------------*/ -#include "reaxc_forces_omp.h" +#include "reaxff_omp.h" #include "error.h" #include "fix_omp.h" #include "pair_reaxc_omp.h" -#include "reaxc_defs.h" -#include "reaxc_bond_orders_omp.h" -#include "reaxc_bonds_omp.h" -#include "reaxc_hydrogen_bonds_omp.h" -#include "reaxc_list.h" -#include "reaxc_multi_body_omp.h" -#include "reaxc_nonbonded_omp.h" -#include "reaxc_torsion_angles_omp.h" -#include "reaxc_valence_angles_omp.h" -#include "reaxc_vector.h" +#include "reaxff_api.h" -#include #include -#if defined(_OPENMP) -#include -#endif - using namespace LAMMPS_NS; -// Functions defined in reaxc_forces.cpp -extern interaction_function Interaction_Functions[]; -extern double Compute_H(double, double, double*); -extern double Compute_tabH(double, int, int); -extern void Dummy_Interaction(reax_system*, control_params*, simulation_data*, storage*, reax_list**, output_controls*); - +namespace ReaxFF { /* ---------------------------------------------------------------------- */ -void Init_Force_FunctionsOMP( control_params *control ) -{ - Interaction_Functions[0] = BOOMP; - Interaction_Functions[1] = BondsOMP; //Dummy_Interaction; - Interaction_Functions[2] = Atom_EnergyOMP; //Dummy_Interaction; - Interaction_Functions[3] = Valence_AnglesOMP; //Dummy_Interaction; - Interaction_Functions[4] = Torsion_AnglesOMP; //Dummy_Interaction; - if (control->hbond_cut > 0) - Interaction_Functions[5] = Hydrogen_BondsOMP; - else Interaction_Functions[5] = Dummy_Interaction; - Interaction_Functions[6] = Dummy_Interaction; //empty - Interaction_Functions[7] = Dummy_Interaction; //empty - Interaction_Functions[8] = Dummy_Interaction; //empty - Interaction_Functions[9] = Dummy_Interaction; //empty -} + void Compute_Bonded_ForcesOMP(reax_system *system, control_params *control, + simulation_data *data, storage *workspace, + reax_list **lists, output_controls *out_control) + { -/* ---------------------------------------------------------------------- */ - -// Only difference with MPI-only version is inclusion of OMP_TIMING statements -void Compute_Bonded_ForcesOMP( reax_system *system, control_params *control, - simulation_data *data, storage *workspace, - reax_list **lists, output_controls *out_control) -{ - int i; - -#ifdef OMP_TIMING - double startTimeBase, endTimeBase; - startTimeBase = MPI_Wtime(); -#endif - - /* Implement all force calls as function pointers */ - for (i = 0; i < NUM_INTRS; i++) { - (Interaction_Functions[i])( system, control, data, workspace, - lists, out_control ); + BOOMP(system, control, data, workspace, lists, out_control); + BondsOMP(system, data, workspace, lists); + Atom_EnergyOMP(system, data, workspace, lists); + Valence_AnglesOMP(system, control, data, workspace, lists); + Torsion_AnglesOMP(system, control, data, workspace, lists); + if (control->hbond_cut > 0) + Hydrogen_BondsOMP(system, control, data, workspace, lists); } -#ifdef OMP_TIMING - endTimeBase = MPI_Wtime(); - ompTimingData[COMPUTEBFINDEX] += (endTimeBase-startTimeBase); -#endif - -} - // Only difference with MPI-only version is inclusion of OMP_TIMING statements -void Compute_NonBonded_ForcesOMP( reax_system *system, control_params *control, - simulation_data *data, storage *workspace, - reax_list **lists, output_controls *out_control) -{ - /* van der Waals and Coulomb interactions */ -#ifdef OMP_TIMING - double endTimeBase, startTimeBase; - startTimeBase = MPI_Wtime(); -#endif + void Compute_NonBonded_ForcesOMP(reax_system *system, control_params *control, + simulation_data *data, storage *workspace, + reax_list **lists, output_controls *out_control) + { + /* van der Waals and Coulomb interactions */ - if (control->tabulate == 0) - vdW_Coulomb_Energy_OMP( system, control, data, workspace, - lists, out_control ); - else - Tabulated_vdW_Coulomb_Energy_OMP( system, control, data, workspace, - lists, out_control ); - -#ifdef OMP_TIMING - endTimeBase = MPI_Wtime(); - ompTimingData[COMPUTENBFINDEX] += (endTimeBase-startTimeBase); -#endif -} + if (control->tabulate == 0) + vdW_Coulomb_Energy_OMP(system, control, data, workspace, lists); + else + Tabulated_vdW_Coulomb_Energy_OMP(system, control, data, workspace, lists); + } /* ---------------------------------------------------------------------- */ /* this version of Compute_Total_Force computes forces from coefficients accumulated by all interaction functions. Saves enormous time & space! */ -void Compute_Total_ForceOMP(reax_system *system, control_params *control, - storage *workspace, reax_list **lists) -{ -#ifdef OMP_TIMING - double startTimeBase,endTimeBase; - startTimeBase = MPI_Wtime(); -#endif - - int natoms = system->N; - int nthreads = control->nthreads; - long totalReductionSize = (bigint)system->N * nthreads; - reax_list *bonds = (*lists) + BONDS; + void Compute_Total_ForceOMP(reax_system *system, control_params *control, + storage *workspace, reax_list **lists) + { + int natoms = system->N; + int nthreads = control->nthreads; + long totalReductionSize = (bigint)system->N * nthreads; + reax_list *bonds = (*lists) + BONDS; #if defined(_OPENMP) #pragma omp parallel default(shared) //LMP_DEFAULT_NONE #endif - { - int i, j, k, pj, pk, start_j, end_j; -#if defined(_OPENMP) - int tid = omp_get_thread_num(); -#else - int tid = 0; -#endif - bond_order_data *bo_jk; + { + int i, j, k, pj, pk, start_j, end_j; - class PairReaxCOMP *pair_reax_ptr; - pair_reax_ptr = static_cast(system->pair_ptr); - class ThrData *thr = pair_reax_ptr->getFixOMP()->get_thr(tid); + int tid = get_tid(); + bond_order_data *bo_jk; - pair_reax_ptr->ev_setup_thr_proxy(0, 1, natoms, system->pair_ptr->eatom, - system->pair_ptr->vatom, nullptr, thr); + class PairReaxCOMP *pair_reax_ptr; + pair_reax_ptr = static_cast(system->pair_ptr); + class ThrData *thr = pair_reax_ptr->getFixOMP()->get_thr(tid); + + pair_reax_ptr->ev_setup_thr_proxy(0, 1, natoms, system->pair_ptr->eatom, + system->pair_ptr->vatom, nullptr, thr); #if defined(_OPENMP) #pragma omp for schedule(guided) -#endif - for (i = 0; i < system->N; ++i) { - for (j = 0; j < nthreads; ++j) - workspace->CdDelta[i] += workspace->CdDeltaReduction[system->N*j+i]; - } - -#if defined(_OPENMP) -#pragma omp for schedule(dynamic,50) -#endif - for (j = 0; j < system->N; ++j) { - start_j = Start_Index(j, bonds); - end_j = End_Index(j, bonds); - - for (pk = start_j; pk < end_j; ++pk) { - bo_jk = &( bonds->select.bond_list[pk].bo_data ); - for (k = 0; k < nthreads; ++k) - bo_jk->Cdbo += bo_jk->CdboReduction[k]; - } - } - - if (control->virial == 0) { - -#if defined(_OPENMP) -#pragma omp for schedule(dynamic,50) #endif for (i = 0; i < system->N; ++i) { - const int startj = Start_Index(i, bonds); - const int endj = End_Index(i, bonds); - for (pj = startj; pj < endj; ++pj) - if (i < bonds->select.bond_list[pj].nbr) - Add_dBond_to_ForcesOMP( system, i, pj, workspace, lists ); + for (j = 0; j < nthreads; ++j) + workspace->CdDelta[i] += workspace->CdDeltaReduction[system->N*j+i]; } - } else { - #if defined(_OPENMP) #pragma omp for schedule(dynamic,50) #endif - for (i = 0; i < system->N; ++i) { - const int startj = Start_Index(i, bonds); - const int endj = End_Index(i, bonds); - for (pj = startj; pj < endj; ++pj) - if (i < bonds->select.bond_list[pj].nbr) - Add_dBond_to_Forces_NPTOMP(system, i, pj, workspace, lists ); + for (j = 0; j < system->N; ++j) { + start_j = Start_Index(j, bonds); + end_j = End_Index(j, bonds); + + for (pk = start_j; pk < end_j; ++pk) { + bo_jk = &(bonds->select.bond_list[pk].bo_data); + for (k = 0; k < nthreads; ++k) + bo_jk->Cdbo += bo_jk->CdboReduction[k]; + } } - } // if (virial == 0) + if (control->virial == 0) { - pair_reax_ptr->reduce_thr_proxy(system->pair_ptr, 0, 1, thr); +#if defined(_OPENMP) +#pragma omp for schedule(dynamic,50) +#endif + for (i = 0; i < system->N; ++i) { + const int startj = Start_Index(i, bonds); + const int endj = End_Index(i, bonds); + for (pj = startj; pj < endj; ++pj) + if (i < bonds->select.bond_list[pj].nbr) + Add_dBond_to_ForcesOMP(system, i, pj, workspace, lists); + } + + } else { + +#if defined(_OPENMP) +#pragma omp for schedule(dynamic,50) +#endif + for (i = 0; i < system->N; ++i) { + const int startj = Start_Index(i, bonds); + const int endj = End_Index(i, bonds); + for (pj = startj; pj < endj; ++pj) + if (i < bonds->select.bond_list[pj].nbr) + Add_dBond_to_Forces_NPTOMP(system, i, pj, workspace, lists); + } + + } // if (virial == 0) + + pair_reax_ptr->reduce_thr_proxy(system->pair_ptr, 0, 1, thr); #if defined(_OPENMP) #pragma omp for schedule(guided) #endif - for (i = 0; i < system->N; ++i) { - for (j = 0; j < nthreads; ++j) - rvec_Add( workspace->f[i], workspace->forceReduction[system->N*j+i] ); - } + for (i = 0; i < system->N; ++i) { + for (j = 0; j < nthreads; ++j) + rvec_Add(workspace->f[i], workspace->forceReduction[system->N*j+i]); + } #if defined(_OPENMP) #pragma omp for schedule(guided) #endif - for (i = 0; i < totalReductionSize; i++) { - workspace->forceReduction[i][0] = 0; - workspace->forceReduction[i][1] = 0; - workspace->forceReduction[i][2] = 0; - workspace->CdDeltaReduction[i] = 0; - } - } // parallel region - -#ifdef OMP_TIMING - endTimeBase = MPI_Wtime(); - ompTimingData[COMPUTETFINDEX] += (endTimeBase-startTimeBase); -#endif -} + for (i = 0; i < totalReductionSize; i++) { + workspace->forceReduction[i][0] = 0; + workspace->forceReduction[i][1] = 0; + workspace->forceReduction[i][2] = 0; + workspace->CdDeltaReduction[i] = 0; + } + } // parallel region + } /* ---------------------------------------------------------------------- */ -void Validate_ListsOMP(reax_system *system, storage * /*workspace*/, reax_list **lists, - int step, int n, int N, int numH) -{ - int comp, Hindex; - reax_list *bonds, *hbonds; - double saferzone = system->saferzone; + void Validate_ListsOMP(reax_system *system, storage * /*workspace*/, reax_list **lists, + int step, int n, int N, int numH) + { + int comp, Hindex; + reax_list *bonds, *hbonds; + double saferzone = system->saferzone; #if defined(_OPENMP) #pragma omp parallel default(shared) private(comp,Hindex) #endif - { + { - /* bond list */ - if (N > 0) { - bonds = *lists + BONDS; + /* bond list */ + if (N > 0) { + bonds = *lists + BONDS; #if defined(_OPENMP) #pragma omp for schedule(guided) #endif - for (int i = 0; i < N; ++i) { - system->my_atoms[i].num_bonds = MAX(Num_Entries(i,bonds)*2, MIN_BONDS); + for (int i = 0; i < N; ++i) { + system->my_atoms[i].num_bonds = MAX(Num_Entries(i,bonds)*2, MIN_BONDS); - if (i < N-1) - comp = Start_Index(i+1, bonds); - else comp = bonds->num_intrs; + if (i < N-1) + comp = Start_Index(i+1, bonds); + else comp = bonds->num_intrs; - if (End_Index(i, bonds) > comp) - system->error_ptr->one(FLERR, fmt::format("step {}: bondchk failed: " - "i={} end(i)={} str(i+1)={}\n", - step,i,End_Index(i,bonds),comp)); - } - } - - - /* hbonds list */ - if (numH > 0) { - hbonds = *lists + HBONDS; - -#if defined(_OPENMP) -#pragma omp for schedule(guided) -#endif - for (int i = 0; i < n; ++i) { - Hindex = system->my_atoms[i].Hindex; - if (Hindex > -1) { - system->my_atoms[i].num_hbonds = - (int)(MAX(Num_Entries(Hindex,hbonds)*saferzone,system->minhbonds)); - - if (Hindex < numH-1) - comp = Start_Index(Hindex+1, hbonds); - else comp = hbonds->num_intrs; - - if (End_Index(Hindex, hbonds) > comp) - system->error_ptr->one(FLERR, fmt::format("step {}: hbondchk failed: " - "H={} end(H)={} str(H+1)={}\n", - step, Hindex,End_Index(Hindex,hbonds),comp)); + if (End_Index(i, bonds) > comp) + system->error_ptr->one(FLERR, fmt::format("step {}: bondchk failed: " + "i={} end(i)={} str(i+1)={}\n", + step,i,End_Index(i,bonds),comp)); + } } - } - } - - } // omp parallel -} -void Init_Forces_noQEq_OMP( reax_system *system, control_params *control, - simulation_data *data, storage *workspace, - reax_list **lists) { -#ifdef OMP_TIMING - double startTimeBase, endTimeBase; - startTimeBase = MPI_Wtime(); -#endif - - int j, pj; - int start_i, end_i; - int type_i, type_j; - int ihb, jhb, ihb_top, jhb_top; - double cutoff; - single_body_parameters *sbp_i, *sbp_j; - two_body_parameters *twbp; - far_neighbor_data *nbr_pj; - reax_atom *atom_i, *atom_j; - reax_list *far_nbrs = *lists + FAR_NBRS; - reax_list *bonds = *lists + BONDS; - reax_list *hbonds = *lists + HBONDS; - int num_bonds = 0; - int num_hbonds = 0; - int btop_i = 0; - - // We will use CdDeltaReduction as a temporary (double) buffer to accumulate total_bond_order - // This is safe because CdDeltaReduction is currently zeroed and its accumulation doesn't start until BondsOMP() - double * tmp_bond_order = workspace->CdDeltaReduction; - - // We do the same with forceReduction as a temporary (rvec) buffer to accumulate dDeltap_self - // This is safe because forceReduction is currently zeroed and its accumulation does start until Hydrogen_BondsOMP() - rvec * tmp_ddelta = workspace->forceReduction; - - /* uncorrected bond orders */ - cutoff = control->bond_cut; + /* hbonds list */ + if (numH > 0) { + hbonds = *lists + HBONDS; #if defined(_OPENMP) -#pragma omp parallel default(shared) \ - private(atom_i, type_i, start_i, end_i, sbp_i, btop_i, ihb, ihb_top, \ +#pragma omp for schedule(guided) +#endif + for (int i = 0; i < n; ++i) { + Hindex = system->my_atoms[i].Hindex; + if (Hindex > -1) { + system->my_atoms[i].num_hbonds = + (int)(MAX(Num_Entries(Hindex,hbonds)*saferzone,system->minhbonds)); + + if (Hindex < numH-1) + comp = Start_Index(Hindex+1, hbonds); + else comp = hbonds->num_intrs; + + if (End_Index(Hindex, hbonds) > comp) + system->error_ptr->one(FLERR, fmt::format("step {}: hbondchk failed: " + "H={} end(H)={} str(H+1)={}\n", + step, Hindex,End_Index(Hindex,hbonds),comp)); + } + } + } + + } // omp parallel + } + + + void Init_Forces_noQEq_OMP(reax_system *system, control_params *control, + simulation_data *data, storage *workspace, + reax_list **lists) { + int j, pj; + int start_i, end_i; + int type_i, type_j; + int ihb, jhb, ihb_top, jhb_top; + double cutoff; + single_body_parameters *sbp_i, *sbp_j; + two_body_parameters *twbp; + far_neighbor_data *nbr_pj; + reax_atom *atom_i, *atom_j; + reax_list *far_nbrs = *lists + FAR_NBRS; + reax_list *bonds = *lists + BONDS; + reax_list *hbonds = *lists + HBONDS; + int num_bonds = 0; + int num_hbonds = 0; + int btop_i = 0; + + // We will use CdDeltaReduction as a temporary (double) buffer to accumulate total_bond_order + // This is safe because CdDeltaReduction is currently zeroed and its accumulation doesn't start until BondsOMP() + double * tmp_bond_order = workspace->CdDeltaReduction; + + // We do the same with forceReduction as a temporary (rvec) buffer to accumulate dDeltap_self + // This is safe because forceReduction is currently zeroed and its accumulation does start until Hydrogen_BondsOMP() + rvec * tmp_ddelta = workspace->forceReduction; + + /* uncorrected bond orders */ + cutoff = control->bond_cut; + +#if defined(_OPENMP) +#pragma omp parallel default(shared) \ + private(atom_i, type_i, start_i, end_i, sbp_i, btop_i, ihb, ihb_top, \ atom_j, type_j, pj, sbp_j, nbr_pj, jhb, twbp) #endif - { + { - int nthreads = control->nthreads; -#if defined(_OPENMP) - int tid = omp_get_thread_num(); -#else - int tid = 0; -#endif - long reductionOffset = (bigint)system->N * tid; - long totalReductionSize = (bigint)system->N * nthreads; + int nthreads = control->nthreads; + int tid = get_tid(); + long reductionOffset = (bigint)system->N * tid; + long totalReductionSize = (bigint)system->N * nthreads; #if defined(_OPENMP) #pragma omp for schedule(dynamic,50) reduction(+:num_bonds) #endif - for (int i = 0; i < system->N; ++i) { - atom_i = &(system->my_atoms[i]); - type_i = atom_i->type; - sbp_i = &(system->reax_param.sbp[type_i]); + for (int i = 0; i < system->N; ++i) { + atom_i = &(system->my_atoms[i]); + type_i = atom_i->type; + sbp_i = &(system->reax_param.sbp[type_i]); - start_i = Start_Index(i, far_nbrs); - end_i = End_Index(i, far_nbrs); + start_i = Start_Index(i, far_nbrs); + end_i = End_Index(i, far_nbrs); - for (pj = start_i; pj < end_i; ++pj) { - nbr_pj = &( far_nbrs->select.far_nbr_list[pj] ); - if (nbr_pj->d <= cutoff) { - int j = nbr_pj->nbr; - atom_j = &(system->my_atoms[j]); - type_j = atom_j->type; - sbp_j = &(system->reax_param.sbp[type_j]); - twbp = &(system->reax_param.tbp[type_i][type_j]); + for (pj = start_i; pj < end_i; ++pj) { + nbr_pj = &(far_nbrs->select.far_nbr_list[pj]); + if (nbr_pj->d <= cutoff) { + int j = nbr_pj->nbr; + atom_j = &(system->my_atoms[j]); + type_j = atom_j->type; + sbp_j = &(system->reax_param.sbp[type_j]); + twbp = &(system->reax_param.tbp[type_i][type_j]); -// #pragma omp critical -// { -// btop_i = End_Index(i, bonds); -// if (BOp(workspace, bonds, control->bo_cut, i, btop_i, nbr_pj, sbp_i, sbp_j, twbp)) { -// num_bonds++; -// btop_i++; -// Set_End_Index(i, btop_i, bonds); -// } + // Trying to minimize time spent in critical section by moving initial part of BOp() + // outside of critical section. -// } + // Start top portion of BOp() + double C12, C34, C56; + double BO, BO_s, BO_pi, BO_pi2; + double bo_cut = control->bo_cut; - // Trying to minimize time spent in critical section by moving initial part of BOp() - // outside of critical section. + if (sbp_i->r_s > 0.0 && sbp_j->r_s > 0.0) { + C12 = twbp->p_bo1 * pow(nbr_pj->d / twbp->r_s, twbp->p_bo2); + BO_s = (1.0 + bo_cut) * exp(C12); + } + else BO_s = C12 = 0.0; - // Start top portion of BOp() - double C12, C34, C56; - double BO, BO_s, BO_pi, BO_pi2; - double bo_cut = control->bo_cut; + if (sbp_i->r_pi > 0.0 && sbp_j->r_pi > 0.0) { + C34 = twbp->p_bo3 * pow(nbr_pj->d / twbp->r_p, twbp->p_bo4); + BO_pi = exp(C34); + } + else BO_pi = C34 = 0.0; - if (sbp_i->r_s > 0.0 && sbp_j->r_s > 0.0) { - C12 = twbp->p_bo1 * pow( nbr_pj->d / twbp->r_s, twbp->p_bo2 ); - BO_s = (1.0 + bo_cut) * exp( C12 ); - } - else BO_s = C12 = 0.0; + if (sbp_i->r_pi_pi > 0.0 && sbp_j->r_pi_pi > 0.0) { + C56 = twbp->p_bo5 * pow(nbr_pj->d / twbp->r_pp, twbp->p_bo6); + BO_pi2= exp(C56); + } + else BO_pi2 = C56 = 0.0; - if (sbp_i->r_pi > 0.0 && sbp_j->r_pi > 0.0) { - C34 = twbp->p_bo3 * pow( nbr_pj->d / twbp->r_p, twbp->p_bo4 ); - BO_pi = exp( C34 ); - } - else BO_pi = C34 = 0.0; + /* Initially BO values are the uncorrected ones, page 1 */ + BO = BO_s + BO_pi + BO_pi2; + // End top portion of BOp() - if (sbp_i->r_pi_pi > 0.0 && sbp_j->r_pi_pi > 0.0) { - C56 = twbp->p_bo5 * pow( nbr_pj->d / twbp->r_pp, twbp->p_bo6 ); - BO_pi2= exp( C56 ); - } - else BO_pi2 = C56 = 0.0; + if (BO >= bo_cut) { + int btop_j; - /* Initially BO values are the uncorrected ones, page 1 */ - BO = BO_s + BO_pi + BO_pi2; - // End top portion of BOp() - - if (BO >= bo_cut) { - int btop_j; - - // Update indices in critical section + // Update indices in critical section #if defined(_OPENMP) #pragma omp critical #endif - { - btop_i = End_Index( i, bonds ); - btop_j = End_Index( j, bonds ); - Set_End_Index( j, btop_j+1, bonds ); - Set_End_Index( i, btop_i+1, bonds ); - } // omp critical + { + btop_i = End_Index(i, bonds); + btop_j = End_Index(j, bonds); + Set_End_Index(j, btop_j+1, bonds); + Set_End_Index(i, btop_i+1, bonds); + } // omp critical - // Finish remaining BOp() work - BOp_OMP(workspace, bonds, bo_cut, - i , btop_i, nbr_pj, sbp_i, sbp_j, twbp, btop_j, - C12, C34, C56, BO, BO_s, BO_pi, BO_pi2); + // Finish remaining BOp() work + BOp_OMP(workspace, bonds, bo_cut, + i , btop_i, nbr_pj, sbp_i, sbp_j, twbp, btop_j, + C12, C34, C56, BO, BO_s, BO_pi, BO_pi2); - bond_data * ibond = &(bonds->select.bond_list[btop_i]); - bond_order_data * bo_ij = &(ibond->bo_data); + bond_data * ibond = &(bonds->select.bond_list[btop_i]); + bond_order_data * bo_ij = &(ibond->bo_data); - bond_data * jbond = &(bonds->select.bond_list[btop_j]); - bond_order_data * bo_ji = &(jbond->bo_data); + bond_data * jbond = &(bonds->select.bond_list[btop_j]); + bond_order_data * bo_ji = &(jbond->bo_data); - workspace->total_bond_order[i] += bo_ij->BO; - tmp_bond_order[reductionOffset + j] += bo_ji->BO; + workspace->total_bond_order[i] += bo_ij->BO; + tmp_bond_order[reductionOffset + j] += bo_ji->BO; - rvec_Add(workspace->dDeltap_self[i], bo_ij->dBOp); - rvec_Add(tmp_ddelta[reductionOffset + j], bo_ji->dBOp); + rvec_Add(workspace->dDeltap_self[i], bo_ij->dBOp); + rvec_Add(tmp_ddelta[reductionOffset + j], bo_ji->dBOp); - btop_i++; - num_bonds++; - } // if (BO>=bo_cut) + btop_i++; + num_bonds++; + } // if (BO>=bo_cut) - } // if (cutoff) + } // if (cutoff) - } // for (pj) - } // for (i) + } // for (pj) + } // for (i) - // Need to wait for all indices and tmp arrays accumulated. + // Need to wait for all indices and tmp arrays accumulated. #if defined(_OPENMP) #pragma omp barrier #endif @@ -467,126 +375,123 @@ void Init_Forces_noQEq_OMP( reax_system *system, control_params *control, #if defined(_OPENMP) #pragma omp for schedule(dynamic,50) #endif - for (int i=0; iN; i++) - for (int t=0; tN + i; - workspace->dDeltap_self[i][0] += tmp_ddelta[indx][0]; - workspace->dDeltap_self[i][1] += tmp_ddelta[indx][1]; - workspace->dDeltap_self[i][2] += tmp_ddelta[indx][2]; - workspace->total_bond_order[i] += tmp_bond_order[indx]; - } + for (int i=0; iN; i++) + for (int t=0; tN + i; + workspace->dDeltap_self[i][0] += tmp_ddelta[indx][0]; + workspace->dDeltap_self[i][1] += tmp_ddelta[indx][1]; + workspace->dDeltap_self[i][2] += tmp_ddelta[indx][2]; + workspace->total_bond_order[i] += tmp_bond_order[indx]; + } - /* hydrogen bond list */ - if (control->hbond_cut > 0) { - cutoff = control->hbond_cut; + /* hydrogen bond list */ + if (control->hbond_cut > 0) { + cutoff = control->hbond_cut; #if defined(_OPENMP) #pragma omp for schedule(dynamic,50) reduction(+ : num_hbonds) #endif - for (int i = 0; i < system->n; ++i) { - atom_i = &(system->my_atoms[i]); - type_i = atom_i->type; - sbp_i = &(system->reax_param.sbp[type_i]); - ihb = sbp_i->p_hbond; + for (int i = 0; i < system->n; ++i) { + atom_i = &(system->my_atoms[i]); + type_i = atom_i->type; + sbp_i = &(system->reax_param.sbp[type_i]); + ihb = sbp_i->p_hbond; #if defined(_OPENMP) #pragma omp critical #endif - { + { - if (ihb == 1 || ihb == 2) { - start_i = Start_Index(i, far_nbrs); - end_i = End_Index(i, far_nbrs); + if (ihb == 1 || ihb == 2) { + start_i = Start_Index(i, far_nbrs); + end_i = End_Index(i, far_nbrs); - for (pj = start_i; pj < end_i; ++pj) { - nbr_pj = &( far_nbrs->select.far_nbr_list[pj] ); - j = nbr_pj->nbr; - atom_j = &(system->my_atoms[j]); - type_j = atom_j->type; - if (type_j < 0) continue; - sbp_j = &(system->reax_param.sbp[type_j]); - jhb = sbp_j->p_hbond; + for (pj = start_i; pj < end_i; ++pj) { + nbr_pj = &(far_nbrs->select.far_nbr_list[pj]); + j = nbr_pj->nbr; + atom_j = &(system->my_atoms[j]); + type_j = atom_j->type; + if (type_j < 0) continue; + sbp_j = &(system->reax_param.sbp[type_j]); + jhb = sbp_j->p_hbond; - if (nbr_pj->d <= control->hbond_cut) { - int iflag = 0; - int jflag = 0; + if (nbr_pj->d <= control->hbond_cut) { + int iflag = 0; + int jflag = 0; - if (ihb==1 && jhb==2) iflag = 1; - else if (jn && ihb == 2 && jhb == 1) jflag = 1; + if (ihb==1 && jhb==2) iflag = 1; + else if (jn && ihb == 2 && jhb == 1) jflag = 1; - if (iflag || jflag) { - if (iflag) { - ihb_top = End_Index(atom_i->Hindex, hbonds); - Set_End_Index(atom_i->Hindex, ihb_top+1, hbonds); - } else if (jflag) { - jhb_top = End_Index(atom_j->Hindex, hbonds); - Set_End_Index(atom_j->Hindex, jhb_top+1, hbonds); - } + if (iflag || jflag) { + if (iflag) { + ihb_top = End_Index(atom_i->Hindex, hbonds); + Set_End_Index(atom_i->Hindex, ihb_top+1, hbonds); + } else if (jflag) { + jhb_top = End_Index(atom_j->Hindex, hbonds); + Set_End_Index(atom_j->Hindex, jhb_top+1, hbonds); + } - if (iflag) { - hbonds->select.hbond_list[ihb_top].nbr = j; - hbonds->select.hbond_list[ihb_top].scl = 1; - hbonds->select.hbond_list[ihb_top].ptr = nbr_pj; - } else if (jflag) { - hbonds->select.hbond_list[jhb_top].nbr = i; - hbonds->select.hbond_list[jhb_top].scl = -1; - hbonds->select.hbond_list[jhb_top].ptr = nbr_pj; - } + if (iflag) { + hbonds->select.hbond_list[ihb_top].nbr = j; + hbonds->select.hbond_list[ihb_top].scl = 1; + hbonds->select.hbond_list[ihb_top].ptr = nbr_pj; + } else if (jflag) { + hbonds->select.hbond_list[jhb_top].nbr = i; + hbonds->select.hbond_list[jhb_top].scl = -1; + hbonds->select.hbond_list[jhb_top].ptr = nbr_pj; + } - num_hbonds++; - } // if (iflag || jflag) + num_hbonds++; + } // if (iflag || jflag) - } - } - } + } + } + } - } // omp critical - } + } // omp critical + } - } // if (control->hbond > 0) + } // if (control->hbond > 0) - // Zero buffers for others to use as intended. + // Zero buffers for others to use as intended. #if defined(_OPENMP) #pragma omp for schedule(guided) #endif - for (int i=0; irealloc.num_bonds = num_bonds; + workspace->realloc.num_hbonds = num_hbonds; + + Validate_ListsOMP(system, workspace, lists, data->step, + system->n, system->N, system->numH); + } - } // omp - - workspace->realloc.num_bonds = num_bonds; - workspace->realloc.num_hbonds = num_hbonds; - - Validate_ListsOMP( system, workspace, lists, data->step, - system->n, system->N, system->numH); - -#ifdef OMP_TIMING - endTimeBase = MPI_Wtime(); - ompTimingData[COMPUTEIFINDEX] += (endTimeBase-startTimeBase); -#endif -} - /* ---------------------------------------------------------------------- */ -void Compute_ForcesOMP( reax_system *system, control_params *control, - simulation_data *data, storage *workspace, - reax_list **lists, output_controls *out_control) -{ - // Init Forces - Init_Forces_noQEq_OMP( system, control, data, workspace, lists); + void Compute_ForcesOMP(reax_system *system, control_params *control, + simulation_data *data, storage *workspace, + reax_list **lists, output_controls *out_control) + { + // Init Forces + Init_Forces_noQEq_OMP(system, control, data, workspace, lists); - // Bonded Interactions - Compute_Bonded_ForcesOMP( system, control, data, workspace, - lists, out_control ); + // Bonded Interactions + Compute_Bonded_ForcesOMP(system, control, data, workspace, + lists, out_control); - // Nonbonded Interactions - Compute_NonBonded_ForcesOMP( system, control, data, workspace, - lists, out_control); + // Nonbonded Interactions + Compute_NonBonded_ForcesOMP(system, control, data, workspace, + lists, out_control); - // Total Force - Compute_Total_ForceOMP( system, control, workspace, lists); + // Total Force + Compute_Total_ForceOMP(system, control, workspace, lists); + } } diff --git a/src/USER-OMP/reaxc_forces_omp.h b/src/USER-OMP/reaxc_forces_omp.h deleted file mode 100644 index e2065d8305..0000000000 --- a/src/USER-OMP/reaxc_forces_omp.h +++ /dev/null @@ -1,38 +0,0 @@ -/*---------------------------------------------------------------------- - PuReMD - Purdue ReaxFF Molecular Dynamics Program - Website: https://www.cs.purdue.edu/puremd - - Copyright (2010) Purdue University - - Contributing authors: - H. M. Aktulga, J. Fogarty, S. Pandit, A. Grama - Corresponding author: - Hasan Metin Aktulga, Michigan State University, hma@cse.msu.edu - - Please cite the related publication: - H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama, - "Parallel Reactive Molecular Dynamics: Numerical Methods and - Algorithmic Techniques", Parallel Computing, 38 (4-5), 245-259 - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License as - published by the Free Software Foundation; either version 2 of - the License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - See the GNU General Public License for more details: - . - ----------------------------------------------------------------------*/ - -#ifndef __FORCES_OMP_H_ -#define __FORCES_OMP_H_ - -#include "reaxc_types.h" -#include - -void Init_Force_FunctionsOMP( control_params* ); -void Compute_ForcesOMP( reax_system*, control_params*, simulation_data*, - storage*, reax_list**, output_controls*); -#endif diff --git a/src/USER-OMP/reaxc_hydrogen_bonds_omp.cpp b/src/USER-OMP/reaxc_hydrogen_bonds_omp.cpp index b21b8b7cac..b2bd04d82a 100644 --- a/src/USER-OMP/reaxc_hydrogen_bonds_omp.cpp +++ b/src/USER-OMP/reaxc_hydrogen_bonds_omp.cpp @@ -26,220 +26,202 @@ . ----------------------------------------------------------------------*/ -#include "reaxc_hydrogen_bonds_omp.h" +#include "reaxff_omp.h" #include "fix_omp.h" #include "pair_reaxc_omp.h" -#include "reaxc_defs.h" -#include "reaxc_list.h" -#include "reaxc_valence_angles.h" // To access Calculate_Theta() -#include "reaxc_valence_angles_omp.h" // To access Calculate_dCos_ThetaOMP() -#include "reaxc_vector.h" -#include +#include "reaxff_api.h" + #include -#if defined(_OPENMP) -#include -#endif - using namespace LAMMPS_NS; -/* ---------------------------------------------------------------------- */ +namespace ReaxFF { + + /* ---------------------------------------------------------------------- */ -void Hydrogen_BondsOMP( reax_system *system, control_params *control, - simulation_data *data, storage *workspace, - reax_list **lists, output_controls * /* out_control */) -{ -#ifdef OMP_TIMING - double endTimeBase, startTimeBase; - startTimeBase = MPI_Wtime(); -#endif + void Hydrogen_BondsOMP( reax_system *system, control_params *control, + simulation_data *data, storage *workspace, reax_list **lists) + { - const int nthreads = control->nthreads; + const int nthreads = control->nthreads; #if defined(_OPENMP) #pragma omp parallel default(shared) //LMP_DEFAULT_NONE #endif - { - int i, j, k, pi, pk; - int type_i, type_j, type_k; - int start_j, end_j, hb_start_j, hb_end_j; - int hblist[MAX_BONDS]; - int itr, top; - int num_hb_intrs = 0; - ivec rel_jk; - double r_jk, theta, cos_theta, sin_xhz4, cos_xhz1, sin_theta2; - double e_hb, e_hb_thr = 0.0, exp_hb2, exp_hb3, CEhb1, CEhb2, CEhb3; - rvec dcos_theta_di, dcos_theta_dj, dcos_theta_dk; - rvec dvec_jk, force; - hbond_parameters *hbp; - bond_order_data *bo_ij; - bond_data *pbond_ij; - far_neighbor_data *nbr_jk; - reax_list *bonds, *hbonds; - bond_data *bond_list; - hbond_data *hbond_list; + { + int i, j, k, pi, pk; + int type_i, type_j, type_k; + int start_j, end_j, hb_start_j, hb_end_j; + int hblist[MAX_BONDS]; + int itr, top; + int num_hb_intrs = 0; + ivec rel_jk; + double r_jk, theta, cos_theta, sin_xhz4, cos_xhz1, sin_theta2; + double e_hb, e_hb_thr = 0.0, exp_hb2, exp_hb3, CEhb1, CEhb2, CEhb3; + rvec dcos_theta_di, dcos_theta_dj, dcos_theta_dk; + rvec dvec_jk, force; + hbond_parameters *hbp; + bond_order_data *bo_ij; + bond_data *pbond_ij; + far_neighbor_data *nbr_jk; + reax_list *bonds, *hbonds; + bond_data *bond_list; + hbond_data *hbond_list; - // tally variables - double fi_tmp[3], fk_tmp[3], delij[3], delkj[3]; + // tally variables + double fi_tmp[3], fk_tmp[3], delij[3], delkj[3]; - bonds = (*lists) + BONDS; - bond_list = bonds->select.bond_list; - hbonds = (*lists) + HBONDS; - hbond_list = hbonds->select.hbond_list; + bonds = (*lists) + BONDS; + bond_list = bonds->select.bond_list; + hbonds = (*lists) + HBONDS; + hbond_list = hbonds->select.hbond_list; - int natoms = system->n; -#if defined(_OPENMP) - int tid = omp_get_thread_num(); -#else - int tid = 0; -#endif - const int idelta = 1 + natoms/nthreads; - int ifrom = tid*idelta; - int ito = ((ifrom + idelta) > natoms) ? natoms : ifrom + idelta; + int natoms = system->n; + int tid = get_tid(); - long reductionOffset = (system->N * tid); + const int idelta = 1 + natoms/nthreads; + int ifrom = tid*idelta; + int ito = ((ifrom + idelta) > natoms) ? natoms : ifrom + idelta; - class PairReaxCOMP *pair_reax_ptr; - pair_reax_ptr = static_cast(system->pair_ptr); + long reductionOffset = (system->N * tid); - class ThrData *thr = pair_reax_ptr->getFixOMP()->get_thr(tid); + class PairReaxCOMP *pair_reax_ptr; + pair_reax_ptr = static_cast(system->pair_ptr); - /* loops below discover the Hydrogen bonds between i-j-k triplets. - here j is H atom and there has to be some bond between i and j. - Hydrogen bond is between j and k. - so in this function i->X, j->H, k->Z when we map - variables onto the ones in the handout.*/ - // for (j = 0; j < system->n; ++j) - for (j = ifrom; j < ito; ++j) { - /* j has to be of type H */ - if (system->reax_param.sbp[system->my_atoms[j].type].p_hbond == 1) { - /*set j's variables */ - type_j = system->my_atoms[j].type; - start_j = Start_Index(j, bonds); - end_j = End_Index(j, bonds); - hb_start_j = Start_Index( system->my_atoms[j].Hindex, hbonds ); - hb_end_j = End_Index( system->my_atoms[j].Hindex, hbonds ); - if (type_j < 0) continue; + class ThrData *thr = pair_reax_ptr->getFixOMP()->get_thr(tid); - top = 0; - for (pi = start_j; pi < end_j; ++pi) { - pbond_ij = &( bond_list[pi] ); - i = pbond_ij->nbr; - type_i = system->my_atoms[i].type; - if (type_i < 0) continue; - bo_ij = &(pbond_ij->bo_data); + /* loops below discover the Hydrogen bonds between i-j-k triplets. + here j is H atom and there has to be some bond between i and j. + Hydrogen bond is between j and k. + so in this function i->X, j->H, k->Z when we map + variables onto the ones in the handout.*/ + // for (j = 0; j < system->n; ++j) + for (j = ifrom; j < ito; ++j) { + /* j has to be of type H */ + if (system->reax_param.sbp[system->my_atoms[j].type].p_hbond == 1) { + /*set j's variables */ + type_j = system->my_atoms[j].type; + start_j = Start_Index(j, bonds); + end_j = End_Index(j, bonds); + hb_start_j = Start_Index( system->my_atoms[j].Hindex, hbonds ); + hb_end_j = End_Index( system->my_atoms[j].Hindex, hbonds ); + if (type_j < 0) continue; - if ( system->reax_param.sbp[type_i].p_hbond == 2 && - bo_ij->BO >= HB_THRESHOLD ) - hblist[top++] = pi; - } - - for (pk = hb_start_j; pk < hb_end_j; ++pk) { - /* set k's varibles */ - k = hbond_list[pk].nbr; - type_k = system->my_atoms[k].type; - if (type_k < 0) continue; - nbr_jk = hbond_list[pk].ptr; - r_jk = nbr_jk->d; - rvec_Scale( dvec_jk, hbond_list[pk].scl, nbr_jk->dvec ); - - for (itr = 0; itr < top; ++itr) { - pi = hblist[itr]; - pbond_ij = &( bonds->select.bond_list[pi] ); - i = pbond_ij->nbr; - - if (system->my_atoms[i].orig_id != system->my_atoms[k].orig_id) { - bo_ij = &(pbond_ij->bo_data); + top = 0; + for (pi = start_j; pi < end_j; ++pi) { + pbond_ij = &( bond_list[pi] ); + i = pbond_ij->nbr; type_i = system->my_atoms[i].type; if (type_i < 0) continue; - hbp = &(system->reax_param.hbp[ type_i ][ type_j ][ type_k ]); - ++num_hb_intrs; + bo_ij = &(pbond_ij->bo_data); - Calculate_Theta( pbond_ij->dvec, pbond_ij->d, dvec_jk, r_jk, - &theta, &cos_theta ); - /* the derivative of cos(theta) */ - Calculate_dCos_ThetaOMP( pbond_ij->dvec, pbond_ij->d, dvec_jk, r_jk, - &dcos_theta_di, &dcos_theta_dj, - &dcos_theta_dk ); + if ( system->reax_param.sbp[type_i].p_hbond == 2 && + bo_ij->BO >= HB_THRESHOLD ) + hblist[top++] = pi; + } - /* hydrogen bond energy*/ - sin_theta2 = sin( theta/2.0 ); - sin_xhz4 = SQR(sin_theta2); - sin_xhz4 *= sin_xhz4; - cos_xhz1 = ( 1.0 - cos_theta ); - exp_hb2 = exp( -hbp->p_hb2 * bo_ij->BO ); - exp_hb3 = exp( -hbp->p_hb3 * ( hbp->r0_hb / r_jk + - r_jk / hbp->r0_hb - 2.0 ) ); + for (pk = hb_start_j; pk < hb_end_j; ++pk) { + /* set k's varibles */ + k = hbond_list[pk].nbr; + type_k = system->my_atoms[k].type; + if (type_k < 0) continue; + nbr_jk = hbond_list[pk].ptr; + r_jk = nbr_jk->d; + rvec_Scale( dvec_jk, hbond_list[pk].scl, nbr_jk->dvec ); - e_hb_thr += e_hb = hbp->p_hb1 * (1.0 - exp_hb2) * exp_hb3 * sin_xhz4; + for (itr = 0; itr < top; ++itr) { + pi = hblist[itr]; + pbond_ij = &( bonds->select.bond_list[pi] ); + i = pbond_ij->nbr; - CEhb1 = hbp->p_hb1 * hbp->p_hb2 * exp_hb2 * exp_hb3 * sin_xhz4; - CEhb2 = -hbp->p_hb1/2.0 * (1.0 - exp_hb2) * exp_hb3 * cos_xhz1; - CEhb3 = -hbp->p_hb3 * - (-hbp->r0_hb / SQR(r_jk) + 1.0 / hbp->r0_hb) * e_hb; + if (system->my_atoms[i].orig_id != system->my_atoms[k].orig_id) { + bo_ij = &(pbond_ij->bo_data); + type_i = system->my_atoms[i].type; + if (type_i < 0) continue; + hbp = &(system->reax_param.hbp[ type_i ][ type_j ][ type_k ]); + ++num_hb_intrs; - /* hydrogen bond forces */ - bo_ij->Cdbo += CEhb1; // dbo term + Calculate_Theta( pbond_ij->dvec, pbond_ij->d, dvec_jk, r_jk, + &theta, &cos_theta ); + /* the derivative of cos(theta) */ + Calculate_dCos_ThetaOMP( pbond_ij->dvec, pbond_ij->d, dvec_jk, r_jk, + &dcos_theta_di, &dcos_theta_dj, + &dcos_theta_dk ); - if (control->virial == 0) { - // dcos terms - rvec_ScaledAdd(workspace->forceReduction[reductionOffset+i], +CEhb2, dcos_theta_di ); - rvec_ScaledAdd(workspace->forceReduction[reductionOffset+j], +CEhb2, dcos_theta_dj ); - rvec_ScaledAdd(workspace->forceReduction[reductionOffset+k], +CEhb2, dcos_theta_dk ); - // dr terms - rvec_ScaledAdd(workspace->forceReduction[reductionOffset+j], -CEhb3/r_jk, dvec_jk ); - rvec_ScaledAdd(workspace->forceReduction[reductionOffset+k], +CEhb3/r_jk, dvec_jk ); - } - else { - /* for pressure coupling, terms that are not related to bond order - derivatives are added directly into pressure vector/tensor */ - rvec_Scale( force, +CEhb2, dcos_theta_di ); // dcos terms - rvec_Add(workspace->forceReduction[reductionOffset+i], force ); + /* hydrogen bond energy*/ + sin_theta2 = sin( theta/2.0 ); + sin_xhz4 = SQR(sin_theta2); + sin_xhz4 *= sin_xhz4; + cos_xhz1 = ( 1.0 - cos_theta ); + exp_hb2 = exp( -hbp->p_hb2 * bo_ij->BO ); + exp_hb3 = exp( -hbp->p_hb3 * ( hbp->r0_hb / r_jk + + r_jk / hbp->r0_hb - 2.0 ) ); + + e_hb_thr += e_hb = hbp->p_hb1 * (1.0 - exp_hb2) * exp_hb3 * sin_xhz4; + + CEhb1 = hbp->p_hb1 * hbp->p_hb2 * exp_hb2 * exp_hb3 * sin_xhz4; + CEhb2 = -hbp->p_hb1/2.0 * (1.0 - exp_hb2) * exp_hb3 * cos_xhz1; + CEhb3 = -hbp->p_hb3 * + (-hbp->r0_hb / SQR(r_jk) + 1.0 / hbp->r0_hb) * e_hb; + + /* hydrogen bond forces */ + bo_ij->Cdbo += CEhb1; // dbo term + + if (control->virial == 0) { + // dcos terms + rvec_ScaledAdd(workspace->forceReduction[reductionOffset+i], +CEhb2, dcos_theta_di ); + rvec_ScaledAdd(workspace->forceReduction[reductionOffset+j], +CEhb2, dcos_theta_dj ); + rvec_ScaledAdd(workspace->forceReduction[reductionOffset+k], +CEhb2, dcos_theta_dk ); + // dr terms + rvec_ScaledAdd(workspace->forceReduction[reductionOffset+j], -CEhb3/r_jk, dvec_jk ); + rvec_ScaledAdd(workspace->forceReduction[reductionOffset+k], +CEhb3/r_jk, dvec_jk ); + } + else { + /* for pressure coupling, terms that are not related to bond order + derivatives are added directly into pressure vector/tensor */ + rvec_Scale( force, +CEhb2, dcos_theta_di ); // dcos terms + rvec_Add(workspace->forceReduction[reductionOffset+i], force ); - rvec_ScaledAdd(workspace->forceReduction[reductionOffset+j], +CEhb2, dcos_theta_dj ); + rvec_ScaledAdd(workspace->forceReduction[reductionOffset+j], +CEhb2, dcos_theta_dj ); - ivec_Scale( rel_jk, hbond_list[pk].scl, nbr_jk->rel_box ); - rvec_Scale( force, +CEhb2, dcos_theta_dk ); - rvec_Add(workspace->forceReduction[reductionOffset+k], force ); - // dr terms - rvec_ScaledAdd(workspace->forceReduction[reductionOffset+j],-CEhb3/r_jk, dvec_jk ); + ivec_Scale( rel_jk, hbond_list[pk].scl, nbr_jk->rel_box ); + rvec_Scale( force, +CEhb2, dcos_theta_dk ); + rvec_Add(workspace->forceReduction[reductionOffset+k], force ); + // dr terms + rvec_ScaledAdd(workspace->forceReduction[reductionOffset+j],-CEhb3/r_jk, dvec_jk ); - rvec_Scale( force, CEhb3/r_jk, dvec_jk ); - rvec_Add(workspace->forceReduction[reductionOffset+k], force ); - } + rvec_Scale( force, CEhb3/r_jk, dvec_jk ); + rvec_Add(workspace->forceReduction[reductionOffset+k], force ); + } - /* tally into per-atom virials */ - if (system->pair_ptr->vflag_atom || system->pair_ptr->evflag) { - rvec_ScaledSum( delij, 1., system->my_atoms[j].x, - -1., system->my_atoms[i].x ); - rvec_ScaledSum( delkj, 1., system->my_atoms[j].x, - -1., system->my_atoms[k].x ); + /* tally into per-atom virials */ + if (system->pair_ptr->vflag_atom || system->pair_ptr->evflag) { + rvec_ScaledSum( delij, 1., system->my_atoms[j].x, + -1., system->my_atoms[i].x ); + rvec_ScaledSum( delkj, 1., system->my_atoms[j].x, + -1., system->my_atoms[k].x ); - rvec_Scale(fi_tmp, CEhb2, dcos_theta_di); - rvec_Scale(fk_tmp, CEhb2, dcos_theta_dk); - rvec_ScaledAdd(fk_tmp, CEhb3/r_jk, dvec_jk); + rvec_Scale(fi_tmp, CEhb2, dcos_theta_di); + rvec_Scale(fk_tmp, CEhb2, dcos_theta_dk); + rvec_ScaledAdd(fk_tmp, CEhb3/r_jk, dvec_jk); - pair_reax_ptr->ev_tally3_thr_proxy(system->pair_ptr,i,j,k,e_hb,0.0,fi_tmp,fk_tmp,delij,delkj,thr); + pair_reax_ptr->ev_tally3_thr_proxy(system->pair_ptr,i,j,k,e_hb,0.0,fi_tmp,fk_tmp,delij,delkj,thr); + } + } } } + } } - - } - } #if defined(_OPENMP) #pragma omp critical #endif - { - data->my_en.e_hb += e_hb_thr; + { + data->my_en.e_hb += e_hb_thr; + } + } } } - -#ifdef OMP_TIMING - endTimeBase = MPI_Wtime(); - ompTimingData[COMPUTEHBONDSINDEX] += (endTimeBase-startTimeBase); -#endif -} diff --git a/src/USER-OMP/reaxc_hydrogen_bonds_omp.h b/src/USER-OMP/reaxc_hydrogen_bonds_omp.h deleted file mode 100644 index 8c3d04448a..0000000000 --- a/src/USER-OMP/reaxc_hydrogen_bonds_omp.h +++ /dev/null @@ -1,37 +0,0 @@ -/*---------------------------------------------------------------------- - PuReMD - Purdue ReaxFF Molecular Dynamics Program - Website: https://www.cs.purdue.edu/puremd - - Copyright (2010) Purdue University - - Contributing authors: - H. M. Aktulga, J. Fogarty, S. Pandit, A. Grama - Corresponding author: - Hasan Metin Aktulga, Michigan State University, hma@cse.msu.edu - - Please cite the related publication: - H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama, - "Parallel Reactive Molecular Dynamics: Numerical Methods and - Algorithmic Techniques", Parallel Computing, 38 (4-5), 245-259 - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License as - published by the Free Software Foundation; either version 2 of - the License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - See the GNU General Public License for more details: - . - ----------------------------------------------------------------------*/ - -#ifndef __HBONDS_OMP_H_ -#define __HBONDS_OMP_H_ - -#include "reaxc_types.h" - -void Hydrogen_BondsOMP( reax_system*, control_params*, simulation_data*, - storage*, reax_list**, output_controls* ); - -#endif diff --git a/src/USER-OMP/reaxc_init_md_omp.cpp b/src/USER-OMP/reaxc_init_md_omp.cpp index d20ab954fe..94458d2691 100644 --- a/src/USER-OMP/reaxc_init_md_omp.cpp +++ b/src/USER-OMP/reaxc_init_md_omp.cpp @@ -26,114 +26,97 @@ . ----------------------------------------------------------------------*/ -#include "reaxc_init_md_omp.h" +#include "reaxff_omp.h" -#include "reaxc_defs.h" -#include "reaxc_forces.h" -#include "reaxc_forces_omp.h" -#include "reaxc_io_tools.h" -#include "reaxc_list.h" -#include "reaxc_lookup.h" -#include "reaxc_tool_box.h" #include "error.h" -#include "fmt/format.h" + +#include "reaxff_api.h" #include -// Functions defined in reaxc_init_md.cpp -extern void Init_System(reax_system*, control_params*); -extern void Init_Simulation_Data(control_params*, simulation_data*); -extern void Init_Workspace(reax_system*, control_params*, storage*); - /* ---------------------------------------------------------------------- */ -int Init_ListsOMP(reax_system *system, control_params *control, - reax_list **lists) -{ - int i, total_hbonds, total_bonds, bond_cap, num_3body, cap_3body, Htop; - int *hb_top, *bond_top; +namespace ReaxFF { + int Init_ListsOMP(reax_system *system, control_params *control, + reax_list **lists) + { + int i, total_hbonds, total_bonds, bond_cap, num_3body, cap_3body, Htop; + int *hb_top, *bond_top; - int mincap = system->mincap; - double safezone = system->safezone; - double saferzone = system->saferzone; - LAMMPS_NS::Error *error = system->error_ptr; + int mincap = system->mincap; + double safezone = system->safezone; + double saferzone = system->saferzone; + auto error = system->error_ptr; - bond_top = (int*) calloc(system->total_cap, sizeof(int)); - hb_top = (int*) calloc(system->local_cap, sizeof(int)); - Estimate_Storages(system, control, lists, - &Htop, hb_top, bond_top, &num_3body); + bond_top = (int*) calloc(system->total_cap, sizeof(int)); + hb_top = (int*) calloc(system->local_cap, sizeof(int)); + Estimate_Storages(system, control, lists, + &Htop, hb_top, bond_top, &num_3body); - if (control->hbond_cut > 0) { - /* init H indexes */ - total_hbonds = 0; - for (i = 0; i < system->n; ++i) { - system->my_atoms[i].num_hbonds = hb_top[i]; - total_hbonds += hb_top[i]; + if (control->hbond_cut > 0) { + /* init H indexes */ + total_hbonds = 0; + for (i = 0; i < system->n; ++i) { + system->my_atoms[i].num_hbonds = hb_top[i]; + total_hbonds += hb_top[i]; + } + total_hbonds = (int)(MAX(total_hbonds*saferzone,mincap*system->minhbonds)); + + if (!Make_List(system->Hcap, total_hbonds, TYP_HBOND, + *lists+HBONDS)) { + error->one(FLERR, "Not enough space for hbonds list. Terminating!"); + } } - total_hbonds = (int)(MAX(total_hbonds*saferzone,mincap*system->minhbonds)); - if (!Make_List(system->Hcap, total_hbonds, TYP_HBOND, - *lists+HBONDS)) { - error->one(FLERR, "Not enough space for hbonds list. Terminating!"); + total_bonds = 0; + for (i = 0; i < system->N; ++i) { + system->my_atoms[i].num_bonds = bond_top[i]; + total_bonds += bond_top[i]; } + bond_cap = (int)(MAX(total_bonds*safezone, mincap*MIN_BONDS)); + + if (!Make_List(system->total_cap, bond_cap, TYP_BOND, + *lists+BONDS)) { + error->one(FLERR, "Not enough space for bonds list. Terminating!\n"); + } + + int nthreads = control->nthreads; + reax_list *bonds = (*lists)+BONDS; + + for (i = 0; i < bonds->num_intrs; ++i) + bonds->select.bond_list[i].bo_data.CdboReduction = + (double*) smalloc(error, sizeof(double)*nthreads, "CdboReduction"); + + /* 3bodies list */ + cap_3body = (int)(MAX(num_3body*safezone, MIN_3BODIES)); + if (!Make_List(bond_cap, cap_3body, TYP_THREE_BODY, + *lists+THREE_BODIES)) { + + error->one(FLERR, "Problem in initializing angles list. Terminating!"); + } + + free(hb_top); + free(bond_top); + + return SUCCESS; } - total_bonds = 0; - for (i = 0; i < system->N; ++i) { - system->my_atoms[i].num_bonds = bond_top[i]; - total_bonds += bond_top[i]; - } - bond_cap = (int)(MAX(total_bonds*safezone, mincap*MIN_BONDS)); - - if (!Make_List(system->total_cap, bond_cap, TYP_BOND, - *lists+BONDS)) { - error->one(FLERR, "Not enough space for bonds list. Terminating!\n"); - } - - int nthreads = control->nthreads; - reax_list *bonds = (*lists)+BONDS; - - for (i = 0; i < bonds->num_intrs; ++i) - bonds->select.bond_list[i].bo_data.CdboReduction = - (double*) smalloc(error, sizeof(double)*nthreads, "CdboReduction"); - - /* 3bodies list */ - cap_3body = (int)(MAX(num_3body*safezone, MIN_3BODIES)); - if (!Make_List(bond_cap, cap_3body, TYP_THREE_BODY, - *lists+THREE_BODIES)) { - - error->one(FLERR, "Problem in initializing angles list. Terminating!"); - } - - free(hb_top); - free(bond_top); - - return SUCCESS; -} - /* ---------------------------------------------------------------------- */ // The only difference with the MPI-only function is calls to Init_ListsOMP and Init_Force_FunctionsOMP(). -void InitializeOMP(reax_system *system, control_params *control, - simulation_data *data, storage *workspace, - reax_list **lists, output_controls *out_control, - MPI_Comm world) -{ - char msg[MAX_STR]; - LAMMPS_NS::Error *error = system->error_ptr; + void InitializeOMP(reax_system *system, control_params *control, + simulation_data *data, storage *workspace, + reax_list **lists, output_controls *out_control, + MPI_Comm world) + { + Init_System(system,control); + Init_Simulation_Data(data); + Init_Workspace(system,control,workspace); + Init_ListsOMP(system,control,lists); - Init_System(system,control); - Init_Simulation_Data(control,data); - Init_Workspace(system,control,workspace); - Init_ListsOMP(system,control,lists); + Init_Output_Files(system,control,out_control,world); - Init_Output_Files(system,control,out_control,world); - - if (control->tabulate) - if (Init_Lookup_Tables(system,control,workspace,world,msg) == FAILURE) - error->one(FLERR,fmt::format("Error on: {}. Could not create lookup " - "table. Terminating.",msg)); - - Init_Force_FunctionsOMP(control); + if (control->tabulate) + Init_Lookup_Tables(system,control,workspace,world); + } } - diff --git a/src/USER-OMP/reaxc_init_md_omp.h b/src/USER-OMP/reaxc_init_md_omp.h deleted file mode 100644 index 422e2aa452..0000000000 --- a/src/USER-OMP/reaxc_init_md_omp.h +++ /dev/null @@ -1,38 +0,0 @@ -/*---------------------------------------------------------------------- - PuReMD - Purdue ReaxFF Molecular Dynamics Program - Website: https://www.cs.purdue.edu/puremd - - Copyright (2010) Purdue University - - Contributing authors: - H. M. Aktulga, J. Fogarty, S. Pandit, A. Grama - Corresponding author: - Hasan Metin Aktulga, Michigan State University, hma@cse.msu.edu - - Please cite the related publication: - H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama, - "Parallel Reactive Molecular Dynamics: Numerical Methods and - Algorithmic Techniques", Parallel Computing, 38 (4-5), 245-259 - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License as - published by the Free Software Foundation; either version 2 of - the License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - See the GNU General Public License for more details: - . - ----------------------------------------------------------------------*/ - -#ifndef __INIT_MD_OMP_H_ -#define __INIT_MD_OMP_H_ - -#include "reaxc_types.h" - -#include - -void InitializeOMP( reax_system*, control_params*, simulation_data*, storage*, - reax_list**, output_controls*, MPI_Comm ); -#endif diff --git a/src/USER-OMP/reaxc_multi_body_omp.cpp b/src/USER-OMP/reaxc_multi_body_omp.cpp index e2af2d96ad..2ec73e738b 100644 --- a/src/USER-OMP/reaxc_multi_body_omp.cpp +++ b/src/USER-OMP/reaxc_multi_body_omp.cpp @@ -26,266 +26,248 @@ . ----------------------------------------------------------------------*/ -#include "reaxc_multi_body_omp.h" +#include "reaxff_omp.h" #include "fix_omp.h" #include "pair_reaxc_omp.h" -#include "reaxc_defs.h" -#include "reaxc_list.h" +#include "reaxff_api.h" #include #include -#if defined(_OPENMP) -#include -#endif - using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -void Atom_EnergyOMP( reax_system *system, control_params * /* control */, - simulation_data *data, storage *workspace, reax_list **lists, - output_controls * /* out_control */) -{ -#ifdef OMP_TIMING - double endTimeBase, startTimeBase; - startTimeBase = MPI_Wtime(); -#endif +namespace ReaxFF { + void Atom_EnergyOMP(reax_system *system, simulation_data *data, + storage *workspace, reax_list **lists) + { + /* Initialize parameters */ + const double p_lp3 = system->reax_param.gp.l[5]; + const double p_ovun3 = system->reax_param.gp.l[32]; + const double p_ovun4 = system->reax_param.gp.l[31]; + const double p_ovun6 = system->reax_param.gp.l[6]; + const double p_ovun7 = system->reax_param.gp.l[8]; + const double p_ovun8 = system->reax_param.gp.l[9]; - /* Initialize parameters */ - const double p_lp3 = system->reax_param.gp.l[5]; - const double p_ovun3 = system->reax_param.gp.l[32]; - const double p_ovun4 = system->reax_param.gp.l[31]; - const double p_ovun6 = system->reax_param.gp.l[6]; - const double p_ovun7 = system->reax_param.gp.l[8]; - const double p_ovun8 = system->reax_param.gp.l[9]; + reax_list *bonds = (*lists) + BONDS; - reax_list *bonds = (*lists) + BONDS; - - double total_Elp = 0.0; - double total_Eun = 0.0; - double total_Eov = 0.0; + double total_Elp = 0.0; + double total_Eun = 0.0; + double total_Eov = 0.0; #if defined(_OPENMP) #pragma omp parallel default(shared) reduction(+:total_Elp, total_Eun, total_Eov) #endif -{ - int i, j, pj, type_i, type_j; - double Delta_lpcorr, dfvl; - double e_lp, expvd2, inv_expvd2, dElp, CElp, DlpVi; - double e_lph, Di, vov3, deahu2dbo, deahu2dsbo; - double e_ov, CEover1, CEover2, CEover3, CEover4; - double exp_ovun1, exp_ovun2, sum_ovun1, sum_ovun2; - double exp_ovun2n, exp_ovun6, exp_ovun8; - double inv_exp_ovun1, inv_exp_ovun2, inv_exp_ovun2n, inv_exp_ovun8; - double e_un, CEunder1, CEunder2, CEunder3, CEunder4; - double eng_tmp; - double p_lp2, p_ovun2, p_ovun5; - int numbonds; + { + int i, j, pj, type_i, type_j; + double Delta_lpcorr, dfvl; + double e_lp, expvd2, inv_expvd2, dElp, CElp, DlpVi; + double e_lph, Di, vov3, deahu2dbo, deahu2dsbo; + double e_ov, CEover1, CEover2, CEover3, CEover4; + double exp_ovun1, exp_ovun2, sum_ovun1, sum_ovun2; + double exp_ovun2n, exp_ovun6, exp_ovun8; + double inv_exp_ovun1, inv_exp_ovun2, inv_exp_ovun2n, inv_exp_ovun8; + double e_un, CEunder1, CEunder2, CEunder3, CEunder4; + double eng_tmp; + double p_lp2, p_ovun2, p_ovun5; + int numbonds; - single_body_parameters *sbp_i; - two_body_parameters *twbp; - bond_data *pbond; - bond_order_data *bo_ij; + single_body_parameters *sbp_i; + two_body_parameters *twbp; + bond_data *pbond; + bond_order_data *bo_ij; -#if defined(_OPENMP) - int tid = omp_get_thread_num(); -#else - int tid = 0; -#endif + int tid = get_tid(); - long reductionOffset = (system->N * tid); - class PairReaxCOMP *pair_reax_ptr; - pair_reax_ptr = static_cast(system->pair_ptr); - class ThrData *thr = pair_reax_ptr->getFixOMP()->get_thr(tid); + long reductionOffset = (system->N * tid); + class PairReaxCOMP *pair_reax_ptr; + pair_reax_ptr = static_cast(system->pair_ptr); + class ThrData *thr = pair_reax_ptr->getFixOMP()->get_thr(tid); #if defined(_OPENMP) #pragma omp for schedule(guided) #endif - for ( i = 0; i < system->n; ++i) { - type_i = system->my_atoms[i].type; - if (type_i < 0) continue; - sbp_i = &(system->reax_param.sbp[ type_i ]); + for (i = 0; i < system->n; ++i) { + type_i = system->my_atoms[i].type; + if (type_i < 0) continue; + sbp_i = &(system->reax_param.sbp[ type_i ]); - /* lone-pair Energy */ - p_lp2 = sbp_i->p_lp2; - expvd2 = exp( -75 * workspace->Delta_lp[i] ); - inv_expvd2 = 1. / (1. + expvd2 ); + /* lone-pair Energy */ + p_lp2 = sbp_i->p_lp2; + expvd2 = exp(-75 * workspace->Delta_lp[i]); + inv_expvd2 = 1. / (1. + expvd2); - numbonds = 0; - e_lp = 0.0; - for (pj = Start_Index(i, bonds); pj < End_Index(i, bonds); ++pj) - numbonds ++; + numbonds = 0; + e_lp = 0.0; + for (pj = Start_Index(i, bonds); pj < End_Index(i, bonds); ++pj) + numbonds ++; - /* calculate the energy */ - if (numbonds > 0) - total_Elp += e_lp = - p_lp2 * workspace->Delta_lp[i] * inv_expvd2; + /* calculate the energy */ + if (numbonds > 0) + total_Elp += e_lp = + p_lp2 * workspace->Delta_lp[i] * inv_expvd2; - dElp = p_lp2 * inv_expvd2 + - 75 * p_lp2 * workspace->Delta_lp[i] * expvd2 * SQR(inv_expvd2); - CElp = dElp * workspace->dDelta_lp[i]; + dElp = p_lp2 * inv_expvd2 + + 75 * p_lp2 * workspace->Delta_lp[i] * expvd2 * SQR(inv_expvd2); + CElp = dElp * workspace->dDelta_lp[i]; - if (numbonds > 0) workspace->CdDelta[i] += CElp; // lp - 1st term + if (numbonds > 0) workspace->CdDelta[i] += CElp; // lp - 1st term - /* tally into per-atom energy */ - if (system->pair_ptr->evflag) - pair_reax_ptr->ev_tally_thr_proxy(system->pair_ptr, i, i, system->n, 1, - e_lp, 0.0, 0.0, 0.0, 0.0, 0.0, thr); + /* tally into per-atom energy */ + if (system->pair_ptr->evflag) + pair_reax_ptr->ev_tally_thr_proxy(system->pair_ptr, i, i, system->n, 1, + e_lp, 0.0, 0.0, 0.0, 0.0, 0.0, thr); - /* correction for C2 */ - if (p_lp3 > 0.001 && !strcmp(system->reax_param.sbp[type_i].name, "C")) - for (pj = Start_Index(i, bonds); pj < End_Index(i, bonds); ++pj) { - j = bonds->select.bond_list[pj].nbr; - type_j = system->my_atoms[j].type; - if (type_j < 0) continue; + /* correction for C2 */ + if (p_lp3 > 0.001 && !strcmp(system->reax_param.sbp[type_i].name, "C")) + for (pj = Start_Index(i, bonds); pj < End_Index(i, bonds); ++pj) { + j = bonds->select.bond_list[pj].nbr; + type_j = system->my_atoms[j].type; + if (type_j < 0) continue; - if (!strcmp( system->reax_param.sbp[type_j].name, "C" )) { - twbp = &( system->reax_param.tbp[type_i][type_j]); - bo_ij = &( bonds->select.bond_list[pj].bo_data ); - Di = workspace->Delta[i]; - vov3 = bo_ij->BO - Di - 0.040*pow(Di, 4.); + if (!strcmp(system->reax_param.sbp[type_j].name, "C")) { + twbp = &(system->reax_param.tbp[type_i][type_j]); + bo_ij = &(bonds->select.bond_list[pj].bo_data); + Di = workspace->Delta[i]; + vov3 = bo_ij->BO - Di - 0.040*pow(Di, 4.); - if (vov3 > 3.) { - total_Elp += e_lph = p_lp3 * SQR(vov3-3.0); + if (vov3 > 3.) { + total_Elp += e_lph = p_lp3 * SQR(vov3-3.0); - deahu2dbo = 2.*p_lp3*(vov3 - 3.); - deahu2dsbo = 2.*p_lp3*(vov3 - 3.)*(-1. - 0.16*pow(Di, 3.)); + deahu2dbo = 2.*p_lp3*(vov3 - 3.); + deahu2dsbo = 2.*p_lp3*(vov3 - 3.)*(-1. - 0.16*pow(Di, 3.)); - bo_ij->Cdbo += deahu2dbo; - workspace->CdDelta[i] += deahu2dsbo; + bo_ij->Cdbo += deahu2dbo; + workspace->CdDelta[i] += deahu2dsbo; - /* tally into per-atom energy */ - if (system->pair_ptr->evflag) - pair_reax_ptr->ev_tally_thr_proxy(system->pair_ptr, i, j, system->n, 1, - e_lph, 0.0, 0.0, 0.0, 0.0, 0.0, thr); + /* tally into per-atom energy */ + if (system->pair_ptr->evflag) + pair_reax_ptr->ev_tally_thr_proxy(system->pair_ptr, i, j, system->n, 1, + e_lph, 0.0, 0.0, 0.0, 0.0, 0.0, thr); + } + } } - } } - } #if defined(_OPENMP) #pragma omp barrier #pragma omp for schedule(guided) #endif - for (i = 0; i < system->n; ++i) { - type_i = system->my_atoms[i].type; - if (type_i < 0) continue; - sbp_i = &(system->reax_param.sbp[ type_i ]); + for (i = 0; i < system->n; ++i) { + type_i = system->my_atoms[i].type; + if (type_i < 0) continue; + sbp_i = &(system->reax_param.sbp[ type_i ]); - /* over-coordination energy */ - if (sbp_i->mass > 21.0) - dfvl = 0.0; - else dfvl = 1.0; // only for 1st-row elements + /* over-coordination energy */ + if (sbp_i->mass > 21.0) + dfvl = 0.0; + else dfvl = 1.0; // only for 1st-row elements - p_ovun2 = sbp_i->p_ovun2; - sum_ovun1 = sum_ovun2 = 0; - for (pj = Start_Index(i, bonds); pj < End_Index(i, bonds); ++pj) { - j = bonds->select.bond_list[pj].nbr; - type_j = system->my_atoms[j].type; - if (type_j < 0) continue; - bo_ij = &(bonds->select.bond_list[pj].bo_data); - twbp = &(system->reax_param.tbp[ type_i ][ type_j ]); + p_ovun2 = sbp_i->p_ovun2; + sum_ovun1 = sum_ovun2 = 0; + for (pj = Start_Index(i, bonds); pj < End_Index(i, bonds); ++pj) { + j = bonds->select.bond_list[pj].nbr; + type_j = system->my_atoms[j].type; + if (type_j < 0) continue; + bo_ij = &(bonds->select.bond_list[pj].bo_data); + twbp = &(system->reax_param.tbp[ type_i ][ type_j ]); - sum_ovun1 += twbp->p_ovun1 * twbp->De_s * bo_ij->BO; - sum_ovun2 += (workspace->Delta[j] - dfvl*workspace->Delta_lp_temp[j])* - ( bo_ij->BO_pi + bo_ij->BO_pi2 ); + sum_ovun1 += twbp->p_ovun1 * twbp->De_s * bo_ij->BO; + sum_ovun2 += (workspace->Delta[j] - dfvl*workspace->Delta_lp_temp[j])* + (bo_ij->BO_pi + bo_ij->BO_pi2); + } + + exp_ovun1 = p_ovun3 * exp(p_ovun4 * sum_ovun2); + inv_exp_ovun1 = 1.0 / (1 + exp_ovun1); + Delta_lpcorr = workspace->Delta[i] - + (dfvl * workspace->Delta_lp_temp[i]) * inv_exp_ovun1; + + exp_ovun2 = exp(p_ovun2 * Delta_lpcorr); + inv_exp_ovun2 = 1.0 / (1.0 + exp_ovun2); + + DlpVi = 1.0 / (Delta_lpcorr + sbp_i->valency + 1e-8); + CEover1 = Delta_lpcorr * DlpVi * inv_exp_ovun2; + + total_Eov += e_ov = sum_ovun1 * CEover1; + + CEover2 = sum_ovun1 * DlpVi * inv_exp_ovun2 * + (1.0 - Delta_lpcorr * (DlpVi + p_ovun2 * exp_ovun2 * inv_exp_ovun2)); + + CEover3 = CEover2 * (1.0 - dfvl * workspace->dDelta_lp[i] * inv_exp_ovun1); + + CEover4 = CEover2 * (dfvl * workspace->Delta_lp_temp[i]) * + p_ovun4 * exp_ovun1 * SQR(inv_exp_ovun1); + + + /* under-coordination potential */ + p_ovun2 = sbp_i->p_ovun2; + p_ovun5 = sbp_i->p_ovun5; + + exp_ovun2n = 1.0 / exp_ovun2; + exp_ovun6 = exp(p_ovun6 * Delta_lpcorr); + exp_ovun8 = p_ovun7 * exp(p_ovun8 * sum_ovun2); + inv_exp_ovun2n = 1.0 / (1.0 + exp_ovun2n); + inv_exp_ovun8 = 1.0 / (1.0 + exp_ovun8); + + numbonds = 0; + e_un = 0.0; + for (pj = Start_Index(i, bonds); pj < End_Index(i, bonds); ++pj) + numbonds ++; + + if (numbonds > 0) total_Eun += e_un = + -p_ovun5 * (1.0 - exp_ovun6) * inv_exp_ovun2n * inv_exp_ovun8; + + CEunder1 = inv_exp_ovun2n * + (p_ovun5 * p_ovun6 * exp_ovun6 * inv_exp_ovun8 + + p_ovun2 * e_un * exp_ovun2n); + CEunder2 = -e_un * p_ovun8 * exp_ovun8 * inv_exp_ovun8; + CEunder3 = CEunder1 * (1.0 - dfvl*workspace->dDelta_lp[i]*inv_exp_ovun1); + CEunder4 = CEunder1 * (dfvl*workspace->Delta_lp_temp[i]) * + p_ovun4 * exp_ovun1 * SQR(inv_exp_ovun1) + CEunder2; + + /* tally into per-atom energy */ + if (system->pair_ptr->evflag) { + eng_tmp = e_ov; + if (numbonds > 0) eng_tmp+= e_un; + pair_reax_ptr->ev_tally_thr_proxy(system->pair_ptr, i, i, system->n, 1, + eng_tmp, 0.0, 0.0, 0.0, 0.0, 0.0, thr); + } + + /* forces */ + workspace->CdDelta[i] += CEover3; // OvCoor - 2nd term + if (numbonds > 0) workspace->CdDelta[i] += CEunder3; // UnCoor - 1st term + + for (pj = Start_Index(i, bonds); pj < End_Index(i, bonds); ++pj) { + pbond = &(bonds->select.bond_list[pj]); + j = pbond->nbr; + bo_ij = &(pbond->bo_data); + twbp = &(system->reax_param.tbp[ system->my_atoms[i].type ] + [system->my_atoms[pbond->nbr].type]); + + bo_ij->Cdbo += CEover1 * twbp->p_ovun1 * twbp->De_s; // OvCoor-1st + workspace->CdDeltaReduction[reductionOffset+j] += + CEover4 * (1.0 - dfvl*workspace->dDelta_lp[j]) * (bo_ij->BO_pi + bo_ij->BO_pi2); // OvCoor-3a + + bo_ij->Cdbopi += CEover4 * + (workspace->Delta[j] - dfvl*workspace->Delta_lp_temp[j]); // OvCoor-3b + bo_ij->Cdbopi2 += CEover4 * + (workspace->Delta[j] - dfvl*workspace->Delta_lp_temp[j]); // OvCoor-3b + + workspace->CdDeltaReduction[reductionOffset+j] += + CEunder4 * (1.0 - dfvl*workspace->dDelta_lp[j]) * (bo_ij->BO_pi + bo_ij->BO_pi2); // UnCoor - 2a + + bo_ij->Cdbopi += CEunder4 * + (workspace->Delta[j] - dfvl*workspace->Delta_lp_temp[j]); // UnCoor-2b + bo_ij->Cdbopi2 += CEunder4 * + (workspace->Delta[j] - dfvl*workspace->Delta_lp_temp[j]); // UnCoor-2b + } + } } - exp_ovun1 = p_ovun3 * exp( p_ovun4 * sum_ovun2 ); - inv_exp_ovun1 = 1.0 / (1 + exp_ovun1); - Delta_lpcorr = workspace->Delta[i] - - (dfvl * workspace->Delta_lp_temp[i]) * inv_exp_ovun1; - - exp_ovun2 = exp( p_ovun2 * Delta_lpcorr ); - inv_exp_ovun2 = 1.0 / (1.0 + exp_ovun2); - - DlpVi = 1.0 / (Delta_lpcorr + sbp_i->valency + 1e-8); - CEover1 = Delta_lpcorr * DlpVi * inv_exp_ovun2; - - total_Eov += e_ov = sum_ovun1 * CEover1; - - CEover2 = sum_ovun1 * DlpVi * inv_exp_ovun2 * - (1.0 - Delta_lpcorr * ( DlpVi + p_ovun2 * exp_ovun2 * inv_exp_ovun2 )); - - CEover3 = CEover2 * (1.0 - dfvl * workspace->dDelta_lp[i] * inv_exp_ovun1 ); - - CEover4 = CEover2 * (dfvl * workspace->Delta_lp_temp[i]) * - p_ovun4 * exp_ovun1 * SQR(inv_exp_ovun1); - - - /* under-coordination potential */ - p_ovun2 = sbp_i->p_ovun2; - p_ovun5 = sbp_i->p_ovun5; - - exp_ovun2n = 1.0 / exp_ovun2; - exp_ovun6 = exp( p_ovun6 * Delta_lpcorr ); - exp_ovun8 = p_ovun7 * exp(p_ovun8 * sum_ovun2); - inv_exp_ovun2n = 1.0 / (1.0 + exp_ovun2n); - inv_exp_ovun8 = 1.0 / (1.0 + exp_ovun8); - - numbonds = 0; - e_un = 0.0; - for (pj = Start_Index(i, bonds); pj < End_Index(i, bonds); ++pj) - numbonds ++; - - if (numbonds > 0) total_Eun += e_un = - -p_ovun5 * (1.0 - exp_ovun6) * inv_exp_ovun2n * inv_exp_ovun8; - - CEunder1 = inv_exp_ovun2n * - ( p_ovun5 * p_ovun6 * exp_ovun6 * inv_exp_ovun8 + - p_ovun2 * e_un * exp_ovun2n ); - CEunder2 = -e_un * p_ovun8 * exp_ovun8 * inv_exp_ovun8; - CEunder3 = CEunder1 * (1.0 - dfvl*workspace->dDelta_lp[i]*inv_exp_ovun1); - CEunder4 = CEunder1 * (dfvl*workspace->Delta_lp_temp[i]) * - p_ovun4 * exp_ovun1 * SQR(inv_exp_ovun1) + CEunder2; - - /* tally into per-atom energy */ - if (system->pair_ptr->evflag) { - eng_tmp = e_ov; - if (numbonds > 0) eng_tmp+= e_un; - pair_reax_ptr->ev_tally_thr_proxy(system->pair_ptr, i, i, system->n, 1, - eng_tmp, 0.0, 0.0, 0.0, 0.0, 0.0, thr); - } - - /* forces */ - workspace->CdDelta[i] += CEover3; // OvCoor - 2nd term - if (numbonds > 0) workspace->CdDelta[i] += CEunder3; // UnCoor - 1st term - - for (pj = Start_Index(i, bonds); pj < End_Index(i, bonds); ++pj) { - pbond = &(bonds->select.bond_list[pj]); - j = pbond->nbr; - bo_ij = &(pbond->bo_data); - twbp = &(system->reax_param.tbp[ system->my_atoms[i].type ] - [system->my_atoms[pbond->nbr].type]); - - bo_ij->Cdbo += CEover1 * twbp->p_ovun1 * twbp->De_s; // OvCoor-1st - workspace->CdDeltaReduction[reductionOffset+j] += - CEover4 * (1.0 - dfvl*workspace->dDelta_lp[j]) * (bo_ij->BO_pi + bo_ij->BO_pi2); // OvCoor-3a - - bo_ij->Cdbopi += CEover4 * - (workspace->Delta[j] - dfvl*workspace->Delta_lp_temp[j]); // OvCoor-3b - bo_ij->Cdbopi2 += CEover4 * - (workspace->Delta[j] - dfvl*workspace->Delta_lp_temp[j]); // OvCoor-3b - - workspace->CdDeltaReduction[reductionOffset+j] += - CEunder4 * (1.0 - dfvl*workspace->dDelta_lp[j]) * (bo_ij->BO_pi + bo_ij->BO_pi2); // UnCoor - 2a - - bo_ij->Cdbopi += CEunder4 * - (workspace->Delta[j] - dfvl*workspace->Delta_lp_temp[j]); // UnCoor-2b - bo_ij->Cdbopi2 += CEunder4 * - (workspace->Delta[j] - dfvl*workspace->Delta_lp_temp[j]); // UnCoor-2b - } + data->my_en.e_lp += total_Elp; + data->my_en.e_ov += total_Eov; + data->my_en.e_un += total_Eun; } - } - - data->my_en.e_lp += total_Elp; - data->my_en.e_ov += total_Eov; - data->my_en.e_un += total_Eun; - -#ifdef OMP_TIMING - endTimeBase = MPI_Wtime(); - ompTimingData[COMPUTEATOMENERGYINDEX] += (endTimeBase-startTimeBase); -#endif } diff --git a/src/USER-OMP/reaxc_multi_body_omp.h b/src/USER-OMP/reaxc_multi_body_omp.h deleted file mode 100644 index 772aafbb31..0000000000 --- a/src/USER-OMP/reaxc_multi_body_omp.h +++ /dev/null @@ -1,37 +0,0 @@ -/*---------------------------------------------------------------------- - PuReMD - Purdue ReaxFF Molecular Dynamics Program - Website: https://www.cs.purdue.edu/puremd - - Copyright (2010) Purdue University - - Contributing authors: - H. M. Aktulga, J. Fogarty, S. Pandit, A. Grama - Corresponding author: - Hasan Metin Aktulga, Michigan State University, hma@cse.msu.edu - - Please cite the related publication: - H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama, - "Parallel Reactive Molecular Dynamics: Numerical Methods and - Algorithmic Techniques", Parallel Computing, 38 (4-5), 245-259 - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License as - published by the Free Software Foundation; either version 2 of - the License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - See the GNU General Public License for more details: - . - ----------------------------------------------------------------------*/ - -#ifndef __MULTI_BODY_OMP_H_ -#define __MULTI_BODY_OMP_H_ - -#include "reaxc_types.h" - -void Atom_EnergyOMP( reax_system*, control_params*, simulation_data*, - storage*, reax_list**, output_controls* ); - -#endif diff --git a/src/USER-OMP/reaxc_nonbonded_omp.cpp b/src/USER-OMP/reaxc_nonbonded_omp.cpp index f4a4e988bc..496e5476b0 100644 --- a/src/USER-OMP/reaxc_nonbonded_omp.cpp +++ b/src/USER-OMP/reaxc_nonbonded_omp.cpp @@ -26,357 +26,342 @@ . ----------------------------------------------------------------------*/ +#include "reaxff_omp.h" + #include "pair_reaxc_omp.h" - -#include "reaxc_types.h" -#include "reaxc_nonbonded.h" -#include "reaxc_nonbonded_omp.h" -#include "reaxc_list.h" -#include "reaxc_vector.h" - -#include "reaxc_defs.h" +#include "reaxff_api.h" #include -#if defined(_OPENMP) -#include -#endif - using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -void vdW_Coulomb_Energy_OMP( reax_system *system, control_params *control, - simulation_data *data, storage *workspace, - reax_list **lists, output_controls * /* out_control */ ) -{ - int natoms = system->n; - reax_list *far_nbrs = (*lists) + FAR_NBRS; - double p_vdW1 = system->reax_param.gp.l[28]; - double p_vdW1i = 1.0 / p_vdW1; - double total_EvdW = 0.; - double total_Eele = 0.; +namespace ReaxFF { + void vdW_Coulomb_Energy_OMP(reax_system *system, control_params *control, + simulation_data *data, storage *workspace, + reax_list **lists) + { + int natoms = system->n; + reax_list *far_nbrs = (*lists) + FAR_NBRS; + double p_vdW1 = system->reax_param.gp.l[28]; + double p_vdW1i = 1.0 / p_vdW1; + double total_EvdW = 0.; + double total_Eele = 0.; #if defined(_OPENMP) #pragma omp parallel default(shared) reduction(+: total_EvdW, total_Eele) #endif - { -#if defined(_OPENMP) - int tid = omp_get_thread_num(); -#else - int tid = 0; -#endif - int i, j, pj; - int start_i, end_i, orig_i, orig_j, flag; - double powr_vdW1, powgi_vdW1; - double tmp, r_ij, fn13, exp1, exp2; - double Tap, dTap, dfn13, CEvd, CEclmb, de_core; - double dr3gamij_1, dr3gamij_3; - double e_ele, e_vdW, e_core; - const double SMALL = 0.0001; - double e_lg, de_lg, r_ij5, r_ij6, re6; - rvec temp; - two_body_parameters *twbp; - far_neighbor_data *nbr_pj; + { + int tid = get_tid(); + int i, j, pj; + int start_i, end_i, orig_i, orig_j, flag; + double powr_vdW1, powgi_vdW1; + double tmp, r_ij, fn13, exp1, exp2; + double Tap, dTap, dfn13, CEvd, CEclmb, de_core; + double dr3gamij_1, dr3gamij_3; + double e_ele, e_vdW, e_core; + const double SMALL = 0.0001; + double e_lg, de_lg, r_ij5, r_ij6, re6; + rvec temp; + two_body_parameters *twbp; + far_neighbor_data *nbr_pj; - // Tallying variables: - double pe_vdw, f_tmp, delij[3]; + // Tallying variables: + double pe_vdw, f_tmp, delij[3]; - long reductionOffset = (system->N * tid); + long reductionOffset = (system->N * tid); - class PairReaxCOMP *pair_reax_ptr; - pair_reax_ptr = static_cast(system->pair_ptr); - class ThrData *thr = pair_reax_ptr->getFixOMP()->get_thr(tid); + class PairReaxCOMP *pair_reax_ptr; + pair_reax_ptr = static_cast(system->pair_ptr); + class ThrData *thr = pair_reax_ptr->getFixOMP()->get_thr(tid); - e_core = 0; - e_vdW = 0; - e_lg = 0; - de_lg = 0.0; + e_core = 0; + e_vdW = 0; + e_lg = 0; + de_lg = 0.0; #if defined(_OPENMP) #pragma omp for schedule(guided) #endif - for (i = 0; i < natoms; ++i) { - if (system->my_atoms[i].type < 0) continue; - start_i = Start_Index(i, far_nbrs); - end_i = End_Index(i, far_nbrs); - orig_i = system->my_atoms[i].orig_id; + for (i = 0; i < natoms; ++i) { + if (system->my_atoms[i].type < 0) continue; + start_i = Start_Index(i, far_nbrs); + end_i = End_Index(i, far_nbrs); + orig_i = system->my_atoms[i].orig_id; - for (pj = start_i; pj < end_i; ++pj) { - nbr_pj = &(far_nbrs->select.far_nbr_list[pj]); - j = nbr_pj->nbr; - orig_j = system->my_atoms[j].orig_id; + for (pj = start_i; pj < end_i; ++pj) { + nbr_pj = &(far_nbrs->select.far_nbr_list[pj]); + j = nbr_pj->nbr; + orig_j = system->my_atoms[j].orig_id; - flag = 0; - if (nbr_pj->d <= control->nonb_cut) { - if (j < natoms) flag = 1; - else if (orig_i < orig_j) flag = 1; - else if (orig_i == orig_j) { - if (nbr_pj->dvec[2] > SMALL) flag = 1; - else if (fabs(nbr_pj->dvec[2]) < SMALL) { - if (nbr_pj->dvec[1] > SMALL) flag = 1; - else if (fabs(nbr_pj->dvec[1]) < SMALL && nbr_pj->dvec[0] > SMALL) - flag = 1; + flag = 0; + if (nbr_pj->d <= control->nonb_cut) { + if (j < natoms) flag = 1; + else if (orig_i < orig_j) flag = 1; + else if (orig_i == orig_j) { + if (nbr_pj->dvec[2] > SMALL) flag = 1; + else if (fabs(nbr_pj->dvec[2]) < SMALL) { + if (nbr_pj->dvec[1] > SMALL) flag = 1; + else if (fabs(nbr_pj->dvec[1]) < SMALL && nbr_pj->dvec[0] > SMALL) + flag = 1; + } + } } - } - } - if (flag) { + if (flag) { - r_ij = nbr_pj->d; - twbp = &(system->reax_param.tbp[ system->my_atoms[i].type ] - [ system->my_atoms[j].type ]); + r_ij = nbr_pj->d; + twbp = &(system->reax_param.tbp[ system->my_atoms[i].type ] + [ system->my_atoms[j].type ]); - /* Calculate Taper and its derivative */ - // Tap = nbr_pj->Tap; -- precomputed during compte_H - Tap = workspace->Tap[7] * r_ij + workspace->Tap[6]; - Tap = Tap * r_ij + workspace->Tap[5]; - Tap = Tap * r_ij + workspace->Tap[4]; - Tap = Tap * r_ij + workspace->Tap[3]; - Tap = Tap * r_ij + workspace->Tap[2]; - Tap = Tap * r_ij + workspace->Tap[1]; - Tap = Tap * r_ij + workspace->Tap[0]; + /* Calculate Taper and its derivative */ + // Tap = nbr_pj->Tap; -- precomputed during compte_H + Tap = workspace->Tap[7] * r_ij + workspace->Tap[6]; + Tap = Tap * r_ij + workspace->Tap[5]; + Tap = Tap * r_ij + workspace->Tap[4]; + Tap = Tap * r_ij + workspace->Tap[3]; + Tap = Tap * r_ij + workspace->Tap[2]; + Tap = Tap * r_ij + workspace->Tap[1]; + Tap = Tap * r_ij + workspace->Tap[0]; - dTap = 7*workspace->Tap[7] * r_ij + 6*workspace->Tap[6]; - dTap = dTap * r_ij + 5*workspace->Tap[5]; - dTap = dTap * r_ij + 4*workspace->Tap[4]; - dTap = dTap * r_ij + 3*workspace->Tap[3]; - dTap = dTap * r_ij + 2*workspace->Tap[2]; - dTap += workspace->Tap[1]/r_ij; + dTap = 7*workspace->Tap[7] * r_ij + 6*workspace->Tap[6]; + dTap = dTap * r_ij + 5*workspace->Tap[5]; + dTap = dTap * r_ij + 4*workspace->Tap[4]; + dTap = dTap * r_ij + 3*workspace->Tap[3]; + dTap = dTap * r_ij + 2*workspace->Tap[2]; + dTap += workspace->Tap[1]/r_ij; - /*vdWaals Calculations*/ - if (system->reax_param.gp.vdw_type==1 || system->reax_param.gp.vdw_type==3) - { // shielding - powr_vdW1 = pow(r_ij, p_vdW1); - powgi_vdW1 = pow( 1.0 / twbp->gamma_w, p_vdW1); + /*vdWaals Calculations*/ + if (system->reax_param.gp.vdw_type==1 || system->reax_param.gp.vdw_type==3) + { // shielding + powr_vdW1 = pow(r_ij, p_vdW1); + powgi_vdW1 = pow(1.0 / twbp->gamma_w, p_vdW1); - fn13 = pow( powr_vdW1 + powgi_vdW1, p_vdW1i ); - exp1 = exp( twbp->alpha * (1.0 - fn13 / twbp->r_vdW) ); - exp2 = exp( 0.5 * twbp->alpha * (1.0 - fn13 / twbp->r_vdW) ); + fn13 = pow(powr_vdW1 + powgi_vdW1, p_vdW1i); + exp1 = exp(twbp->alpha * (1.0 - fn13 / twbp->r_vdW)); + exp2 = exp(0.5 * twbp->alpha * (1.0 - fn13 / twbp->r_vdW)); - e_vdW = twbp->D * (exp1 - 2.0 * exp2); - total_EvdW += Tap * e_vdW; + e_vdW = twbp->D * (exp1 - 2.0 * exp2); + total_EvdW += Tap * e_vdW; - dfn13 = pow( powr_vdW1 + powgi_vdW1, p_vdW1i - 1.0) * - pow(r_ij, p_vdW1 - 2.0); + dfn13 = pow(powr_vdW1 + powgi_vdW1, p_vdW1i - 1.0) * + pow(r_ij, p_vdW1 - 2.0); - CEvd = dTap * e_vdW - - Tap * twbp->D * (twbp->alpha / twbp->r_vdW) * (exp1 - exp2) * dfn13; - } - else { // no shielding - exp1 = exp( twbp->alpha * (1.0 - r_ij / twbp->r_vdW) ); - exp2 = exp( 0.5 * twbp->alpha * (1.0 - r_ij / twbp->r_vdW) ); + CEvd = dTap * e_vdW - + Tap * twbp->D * (twbp->alpha / twbp->r_vdW) * (exp1 - exp2) * dfn13; + } + else { // no shielding + exp1 = exp(twbp->alpha * (1.0 - r_ij / twbp->r_vdW)); + exp2 = exp(0.5 * twbp->alpha * (1.0 - r_ij / twbp->r_vdW)); - e_vdW = twbp->D * (exp1 - 2.0 * exp2); - total_EvdW += Tap * e_vdW; + e_vdW = twbp->D * (exp1 - 2.0 * exp2); + total_EvdW += Tap * e_vdW; - CEvd = dTap * e_vdW - - Tap * twbp->D * (twbp->alpha / twbp->r_vdW) * (exp1 - exp2) / r_ij; - } - - if (system->reax_param.gp.vdw_type==2 || system->reax_param.gp.vdw_type==3) - { // innner wall - e_core = twbp->ecore * exp(twbp->acore * (1.0-(r_ij/twbp->rcore))); - total_EvdW += Tap * e_core; - - de_core = -(twbp->acore/twbp->rcore) * e_core; - CEvd += dTap * e_core + Tap * de_core / r_ij; - - // lg correction, only if lgvdw is yes - if (control->lgflag) { - r_ij5 = pow( r_ij, 5.0 ); - r_ij6 = pow( r_ij, 6.0 ); - re6 = pow( twbp->lgre, 6.0 ); - - e_lg = -(twbp->lgcij/( r_ij6 + re6 )); - total_EvdW += Tap * e_lg; - - de_lg = -6.0 * e_lg * r_ij5 / ( r_ij6 + re6 ) ; - CEvd += dTap * e_lg + Tap * de_lg / r_ij; + CEvd = dTap * e_vdW - + Tap * twbp->D * (twbp->alpha / twbp->r_vdW) * (exp1 - exp2) / r_ij; } + if (system->reax_param.gp.vdw_type==2 || system->reax_param.gp.vdw_type==3) + { // innner wall + e_core = twbp->ecore * exp(twbp->acore * (1.0-(r_ij/twbp->rcore))); + total_EvdW += Tap * e_core; + + de_core = -(twbp->acore/twbp->rcore) * e_core; + CEvd += dTap * e_core + Tap * de_core / r_ij; + + // lg correction, only if lgvdw is yes + if (control->lgflag) { + r_ij5 = pow(r_ij, 5.0); + r_ij6 = pow(r_ij, 6.0); + re6 = pow(twbp->lgre, 6.0); + + e_lg = -(twbp->lgcij/(r_ij6 + re6)); + total_EvdW += Tap * e_lg; + + de_lg = -6.0 * e_lg * r_ij5 / (r_ij6 + re6) ; + CEvd += dTap * e_lg + Tap * de_lg / r_ij; + } + + } + + /*Coulomb Calculations*/ + dr3gamij_1 = (r_ij * r_ij * r_ij + twbp->gamma); + dr3gamij_3 = pow(dr3gamij_1 , 0.33333333333333); + + tmp = Tap / dr3gamij_3; + total_Eele += e_ele = + C_ele * system->my_atoms[i].q * system->my_atoms[j].q * tmp; + + CEclmb = C_ele * system->my_atoms[i].q * system->my_atoms[j].q * + (dTap - Tap * r_ij / dr3gamij_1) / dr3gamij_3; + + /* tally into per-atom energy */ + if (system->pair_ptr->evflag || system->pair_ptr->vflag_atom) { + pe_vdw = Tap * (e_vdW + e_core + e_lg); + rvec_ScaledSum(delij, 1., system->my_atoms[i].x, + -1., system->my_atoms[j].x); + f_tmp = -(CEvd + CEclmb); + pair_reax_ptr->ev_tally_thr_proxy(system->pair_ptr, i, j, natoms, + 1, pe_vdw, e_ele, f_tmp, + delij[0], delij[1], delij[2], thr); + } + + if (control->virial == 0) { + rvec_ScaledAdd(workspace->f[i], -(CEvd + CEclmb), nbr_pj->dvec); + rvec_ScaledAdd(workspace->forceReduction[reductionOffset+j], + +(CEvd + CEclmb), nbr_pj->dvec); + } else { /* NPT, iNPT or sNPT */ + /* for pressure coupling, terms not related to bond order + derivatives are added directly into pressure vector/tensor */ + + rvec_Scale(temp, CEvd + CEclmb, nbr_pj->dvec); + rvec_ScaledAdd(workspace->f[reductionOffset+i], -1., temp); + rvec_Add(workspace->forceReduction[reductionOffset+j], temp); + } } - - /*Coulomb Calculations*/ - dr3gamij_1 = ( r_ij * r_ij * r_ij + twbp->gamma ); - dr3gamij_3 = pow( dr3gamij_1 , 0.33333333333333 ); - - tmp = Tap / dr3gamij_3; - total_Eele += e_ele = - C_ele * system->my_atoms[i].q * system->my_atoms[j].q * tmp; - - CEclmb = C_ele * system->my_atoms[i].q * system->my_atoms[j].q * - ( dTap - Tap * r_ij / dr3gamij_1 ) / dr3gamij_3; - - /* tally into per-atom energy */ - if (system->pair_ptr->evflag || system->pair_ptr->vflag_atom) { - pe_vdw = Tap * (e_vdW + e_core + e_lg); - rvec_ScaledSum( delij, 1., system->my_atoms[i].x, - -1., system->my_atoms[j].x ); - f_tmp = -(CEvd + CEclmb); - pair_reax_ptr->ev_tally_thr_proxy(system->pair_ptr, i, j, natoms, - 1, pe_vdw, e_ele, f_tmp, - delij[0], delij[1], delij[2], thr); - } - - if (control->virial == 0) { - rvec_ScaledAdd( workspace->f[i], -(CEvd + CEclmb), nbr_pj->dvec ); - rvec_ScaledAdd( workspace->forceReduction[reductionOffset+j], - +(CEvd + CEclmb), nbr_pj->dvec ); - } else { /* NPT, iNPT or sNPT */ - /* for pressure coupling, terms not related to bond order - derivatives are added directly into pressure vector/tensor */ - - rvec_Scale( temp, CEvd + CEclmb, nbr_pj->dvec ); - rvec_ScaledAdd( workspace->f[reductionOffset+i], -1., temp ); - rvec_Add( workspace->forceReduction[reductionOffset+j], temp); - } } } - } - pair_reax_ptr->reduce_thr_proxy(system->pair_ptr, system->pair_ptr->eflag_either, - system->pair_ptr->vflag_either, thr); - } // parallel region + pair_reax_ptr->reduce_thr_proxy(system->pair_ptr, system->pair_ptr->eflag_either, + system->pair_ptr->vflag_either, thr); + } // parallel region - data->my_en.e_vdW = total_EvdW; - data->my_en.e_ele = total_Eele; + data->my_en.e_vdW = total_EvdW; + data->my_en.e_ele = total_Eele; - Compute_Polarization_Energy( system, data ); -} + Compute_Polarization_Energy(system, data); + } /* ---------------------------------------------------------------------- */ -void Tabulated_vdW_Coulomb_Energy_OMP(reax_system *system,control_params *control, - simulation_data *data, storage *workspace, - reax_list **lists, - output_controls * /* out_control */) { + void Tabulated_vdW_Coulomb_Energy_OMP(reax_system *system,control_params *control, + simulation_data *data, storage *workspace, + reax_list **lists) { - double SMALL = 0.0001; - int natoms = system->n; - reax_list *far_nbrs = (*lists) + FAR_NBRS; - double total_EvdW = 0.; - double total_Eele = 0.; + double SMALL = 0.0001; + int natoms = system->n; + reax_list *far_nbrs = (*lists) + FAR_NBRS; + double total_EvdW = 0.; + double total_Eele = 0.; #if defined(_OPENMP) #pragma omp parallel default(shared) reduction(+:total_EvdW, total_Eele) #endif - { - int i, j, pj, r; - int type_i, type_j, tmin, tmax; - int start_i, end_i, orig_i, orig_j, flag; - double r_ij, base, dif; - double e_vdW, e_ele; - double CEvd, CEclmb; - double f_tmp, delij[3]; - rvec temp; - far_neighbor_data *nbr_pj; - LR_lookup_table *t; -#if defined(_OPENMP) - int tid = omp_get_thread_num(); - #else - int tid = 0; -#endif - long froffset = (system->N * tid); - LR_lookup_table ** & LR = system->LR; + { + int i, j, pj, r; + int type_i, type_j, tmin, tmax; + int start_i, end_i, orig_i, orig_j, flag; + double r_ij, base, dif; + double e_vdW, e_ele; + double CEvd, CEclmb; + double f_tmp, delij[3]; + rvec temp; + far_neighbor_data *nbr_pj; + LR_lookup_table *t; - class PairReaxCOMP *pair_reax_ptr; - pair_reax_ptr = static_cast(system->pair_ptr); - class ThrData *thr = pair_reax_ptr->getFixOMP()->get_thr(tid); + int tid = get_tid(); + long froffset = (system->N * tid); + LR_lookup_table ** & LR = system->LR; + + class PairReaxCOMP *pair_reax_ptr; + pair_reax_ptr = static_cast(system->pair_ptr); + class ThrData *thr = pair_reax_ptr->getFixOMP()->get_thr(tid); #if defined(_OPENMP) #pragma omp for schedule(guided) #endif - for (i = 0; i < natoms; ++i) { - type_i = system->my_atoms[i].type; - if (type_i < 0) continue; - start_i = Start_Index(i,far_nbrs); - end_i = End_Index(i,far_nbrs); - orig_i = system->my_atoms[i].orig_id; + for (i = 0; i < natoms; ++i) { + type_i = system->my_atoms[i].type; + if (type_i < 0) continue; + start_i = Start_Index(i,far_nbrs); + end_i = End_Index(i,far_nbrs); + orig_i = system->my_atoms[i].orig_id; - for (pj = start_i; pj < end_i; ++pj) { - nbr_pj = &(far_nbrs->select.far_nbr_list[pj]); - j = nbr_pj->nbr; - type_j = system->my_atoms[j].type; - if (type_j < 0) continue; - orig_j = system->my_atoms[j].orig_id; + for (pj = start_i; pj < end_i; ++pj) { + nbr_pj = &(far_nbrs->select.far_nbr_list[pj]); + j = nbr_pj->nbr; + type_j = system->my_atoms[j].type; + if (type_j < 0) continue; + orig_j = system->my_atoms[j].orig_id; - flag = 0; - if (nbr_pj->d <= control->nonb_cut) { - if (j < natoms) flag = 1; - else if (orig_i < orig_j) flag = 1; - else if (orig_i == orig_j) { - if (nbr_pj->dvec[2] > SMALL) flag = 1; - else if (fabs(nbr_pj->dvec[2]) < SMALL) { - if (nbr_pj->dvec[1] > SMALL) flag = 1; - else if (fabs(nbr_pj->dvec[1]) < SMALL && nbr_pj->dvec[0] > SMALL) - flag = 1; + flag = 0; + if (nbr_pj->d <= control->nonb_cut) { + if (j < natoms) flag = 1; + else if (orig_i < orig_j) flag = 1; + else if (orig_i == orig_j) { + if (nbr_pj->dvec[2] > SMALL) flag = 1; + else if (fabs(nbr_pj->dvec[2]) < SMALL) { + if (nbr_pj->dvec[1] > SMALL) flag = 1; + else if (fabs(nbr_pj->dvec[1]) < SMALL && nbr_pj->dvec[0] > SMALL) + flag = 1; + } + } + + } + + if (flag) { + + r_ij = nbr_pj->d; + tmin = MIN(type_i, type_j); + tmax = MAX(type_i, type_j); + t = &(LR[tmin][tmax]); + + /* Cubic Spline Interpolation */ + r = (int)(r_ij * t->inv_dx); + if (r == 0) ++r; + base = (double)(r+1) * t->dx; + dif = r_ij - base; + + e_vdW = ((t->vdW[r].d*dif + t->vdW[r].c)*dif + t->vdW[r].b)*dif + + t->vdW[r].a; + + e_ele = ((t->ele[r].d*dif + t->ele[r].c)*dif + t->ele[r].b)*dif + + t->ele[r].a; + e_ele *= system->my_atoms[i].q * system->my_atoms[j].q; + + total_EvdW += e_vdW; + total_Eele += e_ele; + + CEvd = ((t->CEvd[r].d*dif + t->CEvd[r].c)*dif + t->CEvd[r].b)*dif + + t->CEvd[r].a; + + CEclmb = ((t->CEclmb[r].d*dif+t->CEclmb[r].c)*dif+t->CEclmb[r].b)*dif + + t->CEclmb[r].a; + CEclmb *= system->my_atoms[i].q * system->my_atoms[j].q; + + /* tally into per-atom energy */ + if (system->pair_ptr->evflag || system->pair_ptr->vflag_atom) { + rvec_ScaledSum(delij, 1., system->my_atoms[i].x, + -1., system->my_atoms[j].x); + f_tmp = -(CEvd + CEclmb); + pair_reax_ptr->ev_tally_thr_proxy(system->pair_ptr, i, j, natoms, 1, e_vdW, e_ele, + f_tmp, delij[0], delij[1], delij[2], thr); + } + + if (control->virial == 0) { + rvec_ScaledAdd(workspace->f[i], -(CEvd + CEclmb), nbr_pj->dvec); + rvec_ScaledAdd(workspace->forceReduction[froffset+j], + +(CEvd + CEclmb), nbr_pj->dvec); + } else { // NPT, iNPT or sNPT + /* for pressure coupling, terms not related to bond order derivatives + are added directly into pressure vector/tensor */ + rvec_Scale(temp, CEvd + CEclmb, nbr_pj->dvec); + + rvec_ScaledAdd(workspace->f[i], -1., temp); + rvec_Add(workspace->forceReduction[froffset+j], temp); + } } } - } - if (flag) { + pair_reax_ptr->reduce_thr_proxy(system->pair_ptr, system->pair_ptr->eflag_either, + system->pair_ptr->vflag_either, thr); + } // end omp parallel - r_ij = nbr_pj->d; - tmin = MIN( type_i, type_j ); - tmax = MAX( type_i, type_j ); - t = &( LR[tmin][tmax] ); + data->my_en.e_vdW = total_EvdW; + data->my_en.e_ele = total_Eele; - /* Cubic Spline Interpolation */ - r = (int)(r_ij * t->inv_dx); - if (r == 0) ++r; - base = (double)(r+1) * t->dx; - dif = r_ij - base; - - e_vdW = ((t->vdW[r].d*dif + t->vdW[r].c)*dif + t->vdW[r].b)*dif + - t->vdW[r].a; - - e_ele = ((t->ele[r].d*dif + t->ele[r].c)*dif + t->ele[r].b)*dif + - t->ele[r].a; - e_ele *= system->my_atoms[i].q * system->my_atoms[j].q; - - total_EvdW += e_vdW; - total_Eele += e_ele; - - CEvd = ((t->CEvd[r].d*dif + t->CEvd[r].c)*dif + t->CEvd[r].b)*dif + - t->CEvd[r].a; - - CEclmb = ((t->CEclmb[r].d*dif+t->CEclmb[r].c)*dif+t->CEclmb[r].b)*dif + - t->CEclmb[r].a; - CEclmb *= system->my_atoms[i].q * system->my_atoms[j].q; - - /* tally into per-atom energy */ - if (system->pair_ptr->evflag || system->pair_ptr->vflag_atom) { - rvec_ScaledSum( delij, 1., system->my_atoms[i].x, - -1., system->my_atoms[j].x ); - f_tmp = -(CEvd + CEclmb); - pair_reax_ptr->ev_tally_thr_proxy(system->pair_ptr, i, j, natoms, 1, e_vdW, e_ele, - f_tmp, delij[0], delij[1], delij[2], thr); - } - - if (control->virial == 0) { - rvec_ScaledAdd( workspace->f[i], -(CEvd + CEclmb), nbr_pj->dvec ); - rvec_ScaledAdd( workspace->forceReduction[froffset+j], - +(CEvd + CEclmb), nbr_pj->dvec ); - } else { // NPT, iNPT or sNPT - /* for pressure coupling, terms not related to bond order derivatives - are added directly into pressure vector/tensor */ - rvec_Scale( temp, CEvd + CEclmb, nbr_pj->dvec ); - - rvec_ScaledAdd( workspace->f[i], -1., temp ); - rvec_Add( workspace->forceReduction[froffset+j], temp ); - } - } - } + Compute_Polarization_Energy(system, data); } - - pair_reax_ptr->reduce_thr_proxy(system->pair_ptr, system->pair_ptr->eflag_either, - system->pair_ptr->vflag_either, thr); - } // end omp parallel - - data->my_en.e_vdW = total_EvdW; - data->my_en.e_ele = total_Eele; - - Compute_Polarization_Energy( system, data ); } diff --git a/src/USER-OMP/reaxc_nonbonded_omp.h b/src/USER-OMP/reaxc_nonbonded_omp.h deleted file mode 100644 index a5d895533a..0000000000 --- a/src/USER-OMP/reaxc_nonbonded_omp.h +++ /dev/null @@ -1,40 +0,0 @@ -/*---------------------------------------------------------------------- - PuReMD - Purdue ReaxFF Molecular Dynamics Program - Website: https://www.cs.purdue.edu/puremd - - Copyright (2010) Purdue University - - Contributing authors: - H. M. Aktulga, J. Fogarty, S. Pandit, A. Grama - Corresponding author: - Hasan Metin Aktulga, Michigan State University, hma@cse.msu.edu - - Please cite the related publication: - H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama, - "Parallel Reactive Molecular Dynamics: Numerical Methods and - Algorithmic Techniques", Parallel Computing, 38 (4-5), 245-259 - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License as - published by the Free Software Foundation; either version 2 of - the License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - See the GNU General Public License for more details: - . - ----------------------------------------------------------------------*/ - -#ifndef __NONBONDED_OMP_H_ -#define __NONBONDED_OMP_H_ - -#include "reaxc_types.h" - -void vdW_Coulomb_Energy_OMP( reax_system*, control_params*, simulation_data*, - storage*, reax_list**, output_controls* ); - -void Tabulated_vdW_Coulomb_Energy_OMP( reax_system*, control_params*, - simulation_data*, storage*, - reax_list**, output_controls* ); -#endif diff --git a/src/USER-OMP/reaxc_torsion_angles_omp.cpp b/src/USER-OMP/reaxc_torsion_angles_omp.cpp index 642efd836e..f8c8d4262c 100644 --- a/src/USER-OMP/reaxc_torsion_angles_omp.cpp +++ b/src/USER-OMP/reaxc_torsion_angles_omp.cpp @@ -26,436 +26,411 @@ . ----------------------------------------------------------------------*/ -#include "reaxc_torsion_angles_omp.h" +#include "reaxff_omp.h" #include "fix_omp.h" #include "pair_reaxc_omp.h" - -#include "reaxc_defs.h" -#include "reaxc_types.h" -#include "reaxc_list.h" -#include "reaxc_vector.h" +#include "reaxff_api.h" #include -#if defined(_OPENMP) -#include -#endif - #define MIN_SINE 1e-10 using namespace LAMMPS_NS; -// Functions defined in reaxc_torsion_angles.cpp -extern double Calculate_Omega(rvec, double, rvec, double, rvec, double, rvec, double, - three_body_interaction_data*, three_body_interaction_data*, - rvec, rvec, rvec, rvec, output_controls*); - -/* ---------------------------------------------------------------------- */ - -void Torsion_AnglesOMP( reax_system *system, control_params *control, - simulation_data *data, storage *workspace, - reax_list **lists, output_controls *out_control ) -{ -#ifdef OMP_TIMING - double endTimeBase, startTimeBase; - startTimeBase = MPI_Wtime(); -#endif - - int natoms = system->n; - reax_list *bonds = (*lists) + BONDS; - reax_list *thb_intrs = (*lists) + THREE_BODIES; - double p_tor2 = system->reax_param.gp.l[23]; - double p_tor3 = system->reax_param.gp.l[24]; - double p_tor4 = system->reax_param.gp.l[25]; - double p_cot2 = system->reax_param.gp.l[27]; - double total_Etor = 0; - double total_Econ = 0; - int nthreads = control->nthreads; +namespace ReaxFF { + + /* ---------------------------------------------------------------------- */ + void Torsion_AnglesOMP(reax_system *system, control_params *control, + simulation_data *data, storage *workspace, + reax_list **lists) + { + int natoms = system->n; + reax_list *bonds = (*lists) + BONDS; + reax_list *thb_intrs = (*lists) + THREE_BODIES; + double p_tor2 = system->reax_param.gp.l[23]; + double p_tor3 = system->reax_param.gp.l[24]; + double p_tor4 = system->reax_param.gp.l[25]; + double p_cot2 = system->reax_param.gp.l[27]; + double total_Etor = 0; + double total_Econ = 0; + int nthreads = control->nthreads; #if defined(_OPENMP) #pragma omp parallel default(shared) reduction(+: total_Etor, total_Econ) #endif - { - int i, j, k, l, pi, pj, pk, pl, pij, plk; - int type_i, type_j, type_k, type_l; - int start_j, end_j; - int start_pj, end_pj, start_pk, end_pk; - int num_frb_intrs = 0; + { + int i, j, k, l, pi, pj, pk, pl, pij, plk; + int type_i, type_j, type_k, type_l; + int start_j, end_j; + int start_pj, end_pj, start_pk, end_pk; + int num_frb_intrs = 0; - double Delta_j, Delta_k; - double r_ij, r_jk, r_kl, r_li; - double BOA_ij, BOA_jk, BOA_kl; + double Delta_j, Delta_k; + double r_ij, r_jk, r_kl, r_li; + double BOA_ij, BOA_jk, BOA_kl; - double exp_tor2_ij, exp_tor2_jk, exp_tor2_kl; - double exp_tor1, exp_tor3_DjDk, exp_tor4_DjDk, exp_tor34_inv; - double exp_cot2_jk, exp_cot2_ij, exp_cot2_kl; - double fn10, f11_DjDk, dfn11, fn12; - double theta_ijk, theta_jkl; - double sin_ijk, sin_jkl; - double cos_ijk, cos_jkl; - double tan_ijk_i, tan_jkl_i; - double omega, cos_omega, cos2omega, cos3omega; - rvec dcos_omega_di, dcos_omega_dj, dcos_omega_dk, dcos_omega_dl; - double CV, cmn, CEtors1, CEtors2, CEtors3, CEtors4; - double CEtors5, CEtors6, CEtors7, CEtors8, CEtors9; - double Cconj, CEconj1, CEconj2, CEconj3; - double CEconj4, CEconj5, CEconj6; - double e_tor, e_con; - rvec dvec_li; - rvec force; - ivec rel_box_jl; - four_body_header *fbh; - four_body_parameters *fbp; - bond_data *pbond_ij, *pbond_jk, *pbond_kl; - bond_order_data *bo_ij, *bo_jk, *bo_kl; - three_body_interaction_data *p_ijk, *p_jkl; + double exp_tor2_ij, exp_tor2_jk, exp_tor2_kl; + double exp_tor1, exp_tor3_DjDk, exp_tor4_DjDk, exp_tor34_inv; + double exp_cot2_jk, exp_cot2_ij, exp_cot2_kl; + double fn10, f11_DjDk, dfn11, fn12; + double theta_ijk, theta_jkl; + double sin_ijk, sin_jkl; + double cos_ijk, cos_jkl; + double tan_ijk_i, tan_jkl_i; + double omega, cos_omega, cos2omega, cos3omega; + rvec dcos_omega_di, dcos_omega_dj, dcos_omega_dk, dcos_omega_dl; + double CV, cmn, CEtors1, CEtors2, CEtors3, CEtors4; + double CEtors5, CEtors6, CEtors7, CEtors8, CEtors9; + double Cconj, CEconj1, CEconj2, CEconj3; + double CEconj4, CEconj5, CEconj6; + double e_tor, e_con; + rvec dvec_li; + rvec force; + ivec rel_box_jl; + four_body_header *fbh; + four_body_parameters *fbp; + bond_data *pbond_ij, *pbond_jk, *pbond_kl; + bond_order_data *bo_ij, *bo_jk, *bo_kl; + three_body_interaction_data *p_ijk, *p_jkl; - // Virial tallying variables - double delil[3], deljl[3], delkl[3]; - double eng_tmp, fi_tmp[3], fj_tmp[3], fk_tmp[3]; + // Virial tallying variables + double delil[3], deljl[3], delkl[3]; + double eng_tmp, fi_tmp[3], fj_tmp[3], fk_tmp[3]; -#if defined(_OPENMP) - int tid = omp_get_thread_num(); -#else - int tid = 0; -#endif - long reductionOffset = (system->N * tid); - class PairReaxCOMP *pair_reax_ptr; - pair_reax_ptr = static_cast(system->pair_ptr); - class ThrData *thr = pair_reax_ptr->getFixOMP()->get_thr(tid); + int tid = get_tid(); + + long reductionOffset = (system->N * tid); + class PairReaxCOMP *pair_reax_ptr; + pair_reax_ptr = static_cast(system->pair_ptr); + class ThrData *thr = pair_reax_ptr->getFixOMP()->get_thr(tid); #if defined(_OPENMP) #pragma omp for schedule(static) #endif - for (j = 0; j < system->N; ++j) { - start_j = Start_Index(j, bonds); - end_j = End_Index(j, bonds); + for (j = 0; j < system->N; ++j) { + start_j = Start_Index(j, bonds); + end_j = End_Index(j, bonds); - for (pk = start_j; pk < end_j; ++pk) { - bo_jk = &( bonds->select.bond_list[pk].bo_data ); - for (k = 0; k < nthreads; ++k) - bo_jk->CdboReduction[k] = 0.; - } - } + for (pk = start_j; pk < end_j; ++pk) { + bo_jk = &(bonds->select.bond_list[pk].bo_data); + for (k = 0; k < nthreads; ++k) + bo_jk->CdboReduction[k] = 0.; + } + } #if defined(_OPENMP) #pragma omp for schedule(dynamic,50) #endif - for (j = 0; j < natoms; ++j) { - type_j = system->my_atoms[j].type; - Delta_j = workspace->Delta_boc[j]; - start_j = Start_Index(j, bonds); - end_j = End_Index(j, bonds); + for (j = 0; j < natoms; ++j) { + type_j = system->my_atoms[j].type; + Delta_j = workspace->Delta_boc[j]; + start_j = Start_Index(j, bonds); + end_j = End_Index(j, bonds); - for (pk = start_j; pk < end_j; ++pk) { - pbond_jk = &( bonds->select.bond_list[pk] ); - k = pbond_jk->nbr; - bo_jk = &( pbond_jk->bo_data ); - BOA_jk = bo_jk->BO - control->thb_cut; + for (pk = start_j; pk < end_j; ++pk) { + pbond_jk = &(bonds->select.bond_list[pk]); + k = pbond_jk->nbr; + bo_jk = &(pbond_jk->bo_data); + BOA_jk = bo_jk->BO - control->thb_cut; - /* see if there are any 3-body interactions involving j&k - where j is the central atom. Otherwise there is no point in - trying to form a 4-body interaction out of this neighborhood */ - if (system->my_atoms[j].orig_id < system->my_atoms[k].orig_id && - bo_jk->BO > control->thb_cut/*0*/ && Num_Entries(pk, thb_intrs)) { - pj = pbond_jk->sym_index; // pj points to j on k's list + /* see if there are any 3-body interactions involving j&k + where j is the central atom. Otherwise there is no point in + trying to form a 4-body interaction out of this neighborhood */ + if (system->my_atoms[j].orig_id < system->my_atoms[k].orig_id && + bo_jk->BO > control->thb_cut/*0*/ && Num_Entries(pk, thb_intrs)) { + pj = pbond_jk->sym_index; // pj points to j on k's list - /* do the same check as above: - are there any 3-body interactions involving k&j - where k is the central atom */ - if (Num_Entries(pj, thb_intrs)) { - type_k = system->my_atoms[k].type; - Delta_k = workspace->Delta_boc[k]; - r_jk = pbond_jk->d; + /* do the same check as above: + are there any 3-body interactions involving k&j + where k is the central atom */ + if (Num_Entries(pj, thb_intrs)) { + type_k = system->my_atoms[k].type; + Delta_k = workspace->Delta_boc[k]; + r_jk = pbond_jk->d; - start_pk = Start_Index(pk, thb_intrs ); - end_pk = End_Index(pk, thb_intrs ); - start_pj = Start_Index(pj, thb_intrs ); - end_pj = End_Index(pj, thb_intrs ); + start_pk = Start_Index(pk, thb_intrs); + end_pk = End_Index(pk, thb_intrs); + start_pj = Start_Index(pj, thb_intrs); + end_pj = End_Index(pj, thb_intrs); - exp_tor2_jk = exp( -p_tor2 * BOA_jk ); - exp_cot2_jk = exp( -p_cot2 * SQR(BOA_jk - 1.5) ); - exp_tor3_DjDk = exp( -p_tor3 * (Delta_j + Delta_k) ); - exp_tor4_DjDk = exp( p_tor4 * (Delta_j + Delta_k) ); - exp_tor34_inv = 1.0 / (1.0 + exp_tor3_DjDk + exp_tor4_DjDk); - f11_DjDk = (2.0 + exp_tor3_DjDk) * exp_tor34_inv; + exp_tor2_jk = exp(-p_tor2 * BOA_jk); + exp_cot2_jk = exp(-p_cot2 * SQR(BOA_jk - 1.5)); + exp_tor3_DjDk = exp(-p_tor3 * (Delta_j + Delta_k)); + exp_tor4_DjDk = exp(p_tor4 * (Delta_j + Delta_k)); + exp_tor34_inv = 1.0 / (1.0 + exp_tor3_DjDk + exp_tor4_DjDk); + f11_DjDk = (2.0 + exp_tor3_DjDk) * exp_tor34_inv; - /* pick i up from j-k interaction where j is the central atom */ - for (pi = start_pk; pi < end_pk; ++pi) { - p_ijk = &( thb_intrs->select.three_body_list[pi] ); - pij = p_ijk->pthb; // pij is pointer to i on j's bond_list - pbond_ij = &( bonds->select.bond_list[pij] ); - bo_ij = &( pbond_ij->bo_data ); + /* pick i up from j-k interaction where j is the central atom */ + for (pi = start_pk; pi < end_pk; ++pi) { + p_ijk = &(thb_intrs->select.three_body_list[pi]); + pij = p_ijk->pthb; // pij is pointer to i on j's bond_list + pbond_ij = &(bonds->select.bond_list[pij]); + bo_ij = &(pbond_ij->bo_data); - if (bo_ij->BO > control->thb_cut/*0*/) { - i = p_ijk->thb; - type_i = system->my_atoms[i].type; - r_ij = pbond_ij->d; - BOA_ij = bo_ij->BO - control->thb_cut; + if (bo_ij->BO > control->thb_cut/*0*/) { + i = p_ijk->thb; + type_i = system->my_atoms[i].type; + r_ij = pbond_ij->d; + BOA_ij = bo_ij->BO - control->thb_cut; - theta_ijk = p_ijk->theta; - sin_ijk = sin( theta_ijk ); - cos_ijk = cos( theta_ijk ); - //tan_ijk_i = 1. / tan( theta_ijk ); - if (sin_ijk >= 0 && sin_ijk <= MIN_SINE) - tan_ijk_i = cos_ijk / MIN_SINE; - else if (sin_ijk <= 0 && sin_ijk >= -MIN_SINE) - tan_ijk_i = cos_ijk / -MIN_SINE; - else tan_ijk_i = cos_ijk / sin_ijk; + theta_ijk = p_ijk->theta; + sin_ijk = sin(theta_ijk); + cos_ijk = cos(theta_ijk); + //tan_ijk_i = 1. / tan(theta_ijk); + if (sin_ijk >= 0 && sin_ijk <= MIN_SINE) + tan_ijk_i = cos_ijk / MIN_SINE; + else if (sin_ijk <= 0 && sin_ijk >= -MIN_SINE) + tan_ijk_i = cos_ijk / -MIN_SINE; + else tan_ijk_i = cos_ijk / sin_ijk; - exp_tor2_ij = exp( -p_tor2 * BOA_ij ); - exp_cot2_ij = exp( -p_cot2 * SQR(BOA_ij -1.5) ); + exp_tor2_ij = exp(-p_tor2 * BOA_ij); + exp_cot2_ij = exp(-p_cot2 * SQR(BOA_ij -1.5)); - /* pick l up from j-k interaction where k is the central atom */ - for (pl = start_pj; pl < end_pj; ++pl) { - p_jkl = &( thb_intrs->select.three_body_list[pl] ); - l = p_jkl->thb; - plk = p_jkl->pthb; //pointer to l on k's bond_list! - pbond_kl = &( bonds->select.bond_list[plk] ); - bo_kl = &( pbond_kl->bo_data ); - type_l = system->my_atoms[l].type; - fbh = &(system->reax_param.fbp[type_i][type_j] - [type_k][type_l]); - fbp = &(system->reax_param.fbp[type_i][type_j] - [type_k][type_l].prm[0]); + /* pick l up from j-k interaction where k is the central atom */ + for (pl = start_pj; pl < end_pj; ++pl) { + p_jkl = &(thb_intrs->select.three_body_list[pl]); + l = p_jkl->thb; + plk = p_jkl->pthb; //pointer to l on k's bond_list! + pbond_kl = &(bonds->select.bond_list[plk]); + bo_kl = &(pbond_kl->bo_data); + type_l = system->my_atoms[l].type; + fbh = &(system->reax_param.fbp[type_i][type_j] + [type_k][type_l]); + fbp = &(system->reax_param.fbp[type_i][type_j] + [type_k][type_l].prm[0]); - if (i != l && fbh->cnt && - bo_kl->BO > control->thb_cut/*0*/ && - bo_ij->BO * bo_jk->BO * bo_kl->BO > control->thb_cut/*0*/) { - ++num_frb_intrs; - //fprintf(stderr, - // "%5d: %6d %6d %6d %6d\n", num_frb_intrs, - // system->my_atoms[i].orig_id,system->my_atoms[j].orig_id, - // system->my_atoms[k].orig_id,system->my_atoms[l].orig_id); + if (i != l && fbh->cnt && + bo_kl->BO > control->thb_cut/*0*/ && + bo_ij->BO * bo_jk->BO * bo_kl->BO > control->thb_cut/*0*/) { + ++num_frb_intrs; + //fprintf(stderr, + // "%5d: %6d %6d %6d %6d\n", num_frb_intrs, + // system->my_atoms[i].orig_id,system->my_atoms[j].orig_id, + // system->my_atoms[k].orig_id,system->my_atoms[l].orig_id); - r_kl = pbond_kl->d; - BOA_kl = bo_kl->BO - control->thb_cut; + r_kl = pbond_kl->d; + BOA_kl = bo_kl->BO - control->thb_cut; - theta_jkl = p_jkl->theta; - sin_jkl = sin( theta_jkl ); - cos_jkl = cos( theta_jkl ); - //tan_jkl_i = 1. / tan( theta_jkl ); - if (sin_jkl >= 0 && sin_jkl <= MIN_SINE) - tan_jkl_i = cos_jkl / MIN_SINE; - else if (sin_jkl <= 0 && sin_jkl >= -MIN_SINE) - tan_jkl_i = cos_jkl / -MIN_SINE; - else tan_jkl_i = cos_jkl /sin_jkl; + theta_jkl = p_jkl->theta; + sin_jkl = sin(theta_jkl); + cos_jkl = cos(theta_jkl); + //tan_jkl_i = 1. / tan(theta_jkl); + if (sin_jkl >= 0 && sin_jkl <= MIN_SINE) + tan_jkl_i = cos_jkl / MIN_SINE; + else if (sin_jkl <= 0 && sin_jkl >= -MIN_SINE) + tan_jkl_i = cos_jkl / -MIN_SINE; + else tan_jkl_i = cos_jkl /sin_jkl; - rvec_ScaledSum( dvec_li, 1., system->my_atoms[i].x, - -1., system->my_atoms[l].x ); - r_li = rvec_Norm( dvec_li ); + rvec_ScaledSum(dvec_li, 1., system->my_atoms[i].x, + -1., system->my_atoms[l].x); + r_li = rvec_Norm(dvec_li); - /* omega and its derivative */ - omega = Calculate_Omega( pbond_ij->dvec, r_ij, - pbond_jk->dvec, r_jk, - pbond_kl->dvec, r_kl, - dvec_li, r_li, - p_ijk, p_jkl, - dcos_omega_di, dcos_omega_dj, - dcos_omega_dk, dcos_omega_dl, - out_control ); + /* omega and its derivative */ + omega = Calculate_Omega(pbond_ij->dvec, r_ij, + pbond_jk->dvec, r_jk, + pbond_kl->dvec, r_kl, + dvec_li, r_li, + p_ijk, p_jkl, + dcos_omega_di, dcos_omega_dj, + dcos_omega_dk, dcos_omega_dl); - cos_omega = cos( omega ); - cos2omega = cos( 2. * omega ); - cos3omega = cos( 3. * omega ); - /* end omega calculations */ + cos_omega = cos(omega); + cos2omega = cos(2. * omega); + cos3omega = cos(3. * omega); + /* end omega calculations */ - /* torsion energy */ - exp_tor1 = exp( fbp->p_tor1 * - SQR(2.0 - bo_jk->BO_pi - f11_DjDk) ); - exp_tor2_kl = exp( -p_tor2 * BOA_kl ); - exp_cot2_kl = exp( -p_cot2 * SQR(BOA_kl - 1.5) ); - fn10 = (1.0 - exp_tor2_ij) * (1.0 - exp_tor2_jk) * - (1.0 - exp_tor2_kl); + /* torsion energy */ + exp_tor1 = exp(fbp->p_tor1 * + SQR(2.0 - bo_jk->BO_pi - f11_DjDk)); + exp_tor2_kl = exp(-p_tor2 * BOA_kl); + exp_cot2_kl = exp(-p_cot2 * SQR(BOA_kl - 1.5)); + fn10 = (1.0 - exp_tor2_ij) * (1.0 - exp_tor2_jk) * + (1.0 - exp_tor2_kl); - CV = 0.5 * ( fbp->V1 * (1.0 + cos_omega) + - fbp->V2 * exp_tor1 * (1.0 - cos2omega) + - fbp->V3 * (1.0 + cos3omega) ); + CV = 0.5 * (fbp->V1 * (1.0 + cos_omega) + + fbp->V2 * exp_tor1 * (1.0 - cos2omega) + + fbp->V3 * (1.0 + cos3omega)); - total_Etor += e_tor = fn10 * sin_ijk * sin_jkl * CV; + total_Etor += e_tor = fn10 * sin_ijk * sin_jkl * CV; - dfn11 = (-p_tor3 * exp_tor3_DjDk + - (p_tor3 * exp_tor3_DjDk - p_tor4 * exp_tor4_DjDk) * - (2.0 + exp_tor3_DjDk) * exp_tor34_inv) * - exp_tor34_inv; + dfn11 = (-p_tor3 * exp_tor3_DjDk + + (p_tor3 * exp_tor3_DjDk - p_tor4 * exp_tor4_DjDk) * + (2.0 + exp_tor3_DjDk) * exp_tor34_inv) * + exp_tor34_inv; - CEtors1 = sin_ijk * sin_jkl * CV; + CEtors1 = sin_ijk * sin_jkl * CV; - CEtors2 = -fn10 * 2.0 * fbp->p_tor1 * fbp->V2 * exp_tor1 * - (2.0 - bo_jk->BO_pi - f11_DjDk) * (1.0 - SQR(cos_omega)) * - sin_ijk * sin_jkl; - CEtors3 = CEtors2 * dfn11; + CEtors2 = -fn10 * 2.0 * fbp->p_tor1 * fbp->V2 * exp_tor1 * + (2.0 - bo_jk->BO_pi - f11_DjDk) * (1.0 - SQR(cos_omega)) * + sin_ijk * sin_jkl; + CEtors3 = CEtors2 * dfn11; - CEtors4 = CEtors1 * p_tor2 * exp_tor2_ij * - (1.0 - exp_tor2_jk) * (1.0 - exp_tor2_kl); - CEtors5 = CEtors1 * p_tor2 * - (1.0 - exp_tor2_ij) * exp_tor2_jk * (1.0 - exp_tor2_kl); - CEtors6 = CEtors1 * p_tor2 * - (1.0 - exp_tor2_ij) * (1.0 - exp_tor2_jk) * exp_tor2_kl; + CEtors4 = CEtors1 * p_tor2 * exp_tor2_ij * + (1.0 - exp_tor2_jk) * (1.0 - exp_tor2_kl); + CEtors5 = CEtors1 * p_tor2 * + (1.0 - exp_tor2_ij) * exp_tor2_jk * (1.0 - exp_tor2_kl); + CEtors6 = CEtors1 * p_tor2 * + (1.0 - exp_tor2_ij) * (1.0 - exp_tor2_jk) * exp_tor2_kl; - cmn = -fn10 * CV; - CEtors7 = cmn * sin_jkl * tan_ijk_i; - CEtors8 = cmn * sin_ijk * tan_jkl_i; + cmn = -fn10 * CV; + CEtors7 = cmn * sin_jkl * tan_ijk_i; + CEtors8 = cmn * sin_ijk * tan_jkl_i; - CEtors9 = fn10 * sin_ijk * sin_jkl * - (0.5 * fbp->V1 - 2.0 * fbp->V2 * exp_tor1 * cos_omega + - 1.5 * fbp->V3 * (cos2omega + 2.0 * SQR(cos_omega))); - /* end of torsion energy */ + CEtors9 = fn10 * sin_ijk * sin_jkl * + (0.5 * fbp->V1 - 2.0 * fbp->V2 * exp_tor1 * cos_omega + + 1.5 * fbp->V3 * (cos2omega + 2.0 * SQR(cos_omega))); + /* end of torsion energy */ - /* 4-body conjugation energy */ - fn12 = exp_cot2_ij * exp_cot2_jk * exp_cot2_kl; - //data->my_en.e_con += e_con = - total_Econ += e_con = - fbp->p_cot1 * fn12 * - (1.0 + (SQR(cos_omega) - 1.0) * sin_ijk * sin_jkl); + /* 4-body conjugation energy */ + fn12 = exp_cot2_ij * exp_cot2_jk * exp_cot2_kl; + //data->my_en.e_con += e_con = + total_Econ += e_con = + fbp->p_cot1 * fn12 * + (1.0 + (SQR(cos_omega) - 1.0) * sin_ijk * sin_jkl); - Cconj = -2.0 * fn12 * fbp->p_cot1 * p_cot2 * - (1.0 + (SQR(cos_omega) - 1.0) * sin_ijk * sin_jkl); + Cconj = -2.0 * fn12 * fbp->p_cot1 * p_cot2 * + (1.0 + (SQR(cos_omega) - 1.0) * sin_ijk * sin_jkl); - CEconj1 = Cconj * (BOA_ij - 1.5e0); - CEconj2 = Cconj * (BOA_jk - 1.5e0); - CEconj3 = Cconj * (BOA_kl - 1.5e0); + CEconj1 = Cconj * (BOA_ij - 1.5e0); + CEconj2 = Cconj * (BOA_jk - 1.5e0); + CEconj3 = Cconj * (BOA_kl - 1.5e0); - CEconj4 = -fbp->p_cot1 * fn12 * - (SQR(cos_omega) - 1.0) * sin_jkl * tan_ijk_i; - CEconj5 = -fbp->p_cot1 * fn12 * - (SQR(cos_omega) - 1.0) * sin_ijk * tan_jkl_i; - CEconj6 = 2.0 * fbp->p_cot1 * fn12 * - cos_omega * sin_ijk * sin_jkl; - /* end 4-body conjugation energy */ + CEconj4 = -fbp->p_cot1 * fn12 * + (SQR(cos_omega) - 1.0) * sin_jkl * tan_ijk_i; + CEconj5 = -fbp->p_cot1 * fn12 * + (SQR(cos_omega) - 1.0) * sin_ijk * tan_jkl_i; + CEconj6 = 2.0 * fbp->p_cot1 * fn12 * + cos_omega * sin_ijk * sin_jkl; + /* end 4-body conjugation energy */ - /* FORCES */ - bo_jk->Cdbopi += CEtors2; - workspace->CdDelta[j] += CEtors3; - //workspace->CdDelta[k] += CEtors3; - workspace->CdDeltaReduction[reductionOffset+k] += CEtors3; - bo_ij->Cdbo += (CEtors4 + CEconj1); - bo_jk->Cdbo += (CEtors5 + CEconj2); - //bo_kl->Cdbo += (CEtors6 + CEconj3); - bo_kl->CdboReduction[tid] += (CEtors6 + CEconj3); + /* FORCES */ + bo_jk->Cdbopi += CEtors2; + workspace->CdDelta[j] += CEtors3; + //workspace->CdDelta[k] += CEtors3; + workspace->CdDeltaReduction[reductionOffset+k] += CEtors3; + bo_ij->Cdbo += (CEtors4 + CEconj1); + bo_jk->Cdbo += (CEtors5 + CEconj2); + //bo_kl->Cdbo += (CEtors6 + CEconj3); + bo_kl->CdboReduction[tid] += (CEtors6 + CEconj3); - if (control->virial == 0) { - /* dcos_theta_ijk */ - rvec_ScaledAdd( workspace->f[j], - CEtors7 + CEconj4, p_ijk->dcos_dj ); - rvec_ScaledAdd( workspace->forceReduction[reductionOffset+i], - CEtors7 + CEconj4, p_ijk->dcos_dk ); - rvec_ScaledAdd( workspace->forceReduction[reductionOffset+k], - CEtors7 + CEconj4, p_ijk->dcos_di ); + if (control->virial == 0) { + /* dcos_theta_ijk */ + rvec_ScaledAdd(workspace->f[j], + CEtors7 + CEconj4, p_ijk->dcos_dj); + rvec_ScaledAdd(workspace->forceReduction[reductionOffset+i], + CEtors7 + CEconj4, p_ijk->dcos_dk); + rvec_ScaledAdd(workspace->forceReduction[reductionOffset+k], + CEtors7 + CEconj4, p_ijk->dcos_di); - /* dcos_theta_jkl */ - rvec_ScaledAdd( workspace->f[j], - CEtors8 + CEconj5, p_jkl->dcos_di ); - rvec_ScaledAdd( workspace->forceReduction[reductionOffset+k], - CEtors8 + CEconj5, p_jkl->dcos_dj ); - rvec_ScaledAdd( workspace->forceReduction[reductionOffset+l], - CEtors8 + CEconj5, p_jkl->dcos_dk ); + /* dcos_theta_jkl */ + rvec_ScaledAdd(workspace->f[j], + CEtors8 + CEconj5, p_jkl->dcos_di); + rvec_ScaledAdd(workspace->forceReduction[reductionOffset+k], + CEtors8 + CEconj5, p_jkl->dcos_dj); + rvec_ScaledAdd(workspace->forceReduction[reductionOffset+l], + CEtors8 + CEconj5, p_jkl->dcos_dk); - /* dcos_omega */ - rvec_ScaledAdd( workspace->f[j], - CEtors9 + CEconj6, dcos_omega_dj ); - rvec_ScaledAdd( workspace->forceReduction[reductionOffset+i], - CEtors9 + CEconj6, dcos_omega_di ); - rvec_ScaledAdd( workspace->forceReduction[reductionOffset+k], - CEtors9 + CEconj6, dcos_omega_dk ); - rvec_ScaledAdd( workspace->forceReduction[reductionOffset+l], - CEtors9 + CEconj6, dcos_omega_dl ); - } - else { - ivec_Sum(rel_box_jl, pbond_jk->rel_box, pbond_kl->rel_box); + /* dcos_omega */ + rvec_ScaledAdd(workspace->f[j], + CEtors9 + CEconj6, dcos_omega_dj); + rvec_ScaledAdd(workspace->forceReduction[reductionOffset+i], + CEtors9 + CEconj6, dcos_omega_di); + rvec_ScaledAdd(workspace->forceReduction[reductionOffset+k], + CEtors9 + CEconj6, dcos_omega_dk); + rvec_ScaledAdd(workspace->forceReduction[reductionOffset+l], + CEtors9 + CEconj6, dcos_omega_dl); + } + else { + ivec_Sum(rel_box_jl, pbond_jk->rel_box, pbond_kl->rel_box); - /* dcos_theta_ijk */ - rvec_Scale( force, CEtors7 + CEconj4, p_ijk->dcos_dk ); - rvec_Add( workspace->forceReduction[reductionOffset+i], force ); + /* dcos_theta_ijk */ + rvec_Scale(force, CEtors7 + CEconj4, p_ijk->dcos_dk); + rvec_Add(workspace->forceReduction[reductionOffset+i], force); - rvec_ScaledAdd( workspace->f[j], - CEtors7 + CEconj4, p_ijk->dcos_dj ); + rvec_ScaledAdd(workspace->f[j], + CEtors7 + CEconj4, p_ijk->dcos_dj); - rvec_Scale( force, CEtors7 + CEconj4, p_ijk->dcos_di ); - rvec_Add( workspace->forceReduction[reductionOffset+k], force ); + rvec_Scale(force, CEtors7 + CEconj4, p_ijk->dcos_di); + rvec_Add(workspace->forceReduction[reductionOffset+k], force); - /* dcos_theta_jkl */ - rvec_ScaledAdd( workspace->f[j], - CEtors8 + CEconj5, p_jkl->dcos_di ); + /* dcos_theta_jkl */ + rvec_ScaledAdd(workspace->f[j], + CEtors8 + CEconj5, p_jkl->dcos_di); - rvec_Scale( force, CEtors8 + CEconj5, p_jkl->dcos_dj ); - rvec_Add( workspace->forceReduction[reductionOffset+k], force ); + rvec_Scale(force, CEtors8 + CEconj5, p_jkl->dcos_dj); + rvec_Add(workspace->forceReduction[reductionOffset+k], force); - rvec_Scale( force, CEtors8 + CEconj5, p_jkl->dcos_dk ); - rvec_Add( workspace->forceReduction[reductionOffset+l], force ); + rvec_Scale(force, CEtors8 + CEconj5, p_jkl->dcos_dk); + rvec_Add(workspace->forceReduction[reductionOffset+l], force); - /* dcos_omega */ - rvec_Scale( force, CEtors9 + CEconj6, dcos_omega_di ); - rvec_Add( workspace->forceReduction[reductionOffset+i], force ); + /* dcos_omega */ + rvec_Scale(force, CEtors9 + CEconj6, dcos_omega_di); + rvec_Add(workspace->forceReduction[reductionOffset+i], force); - rvec_ScaledAdd( workspace->f[j], - CEtors9 + CEconj6, dcos_omega_dj ); + rvec_ScaledAdd(workspace->f[j], + CEtors9 + CEconj6, dcos_omega_dj); - rvec_Scale( force, CEtors9 + CEconj6, dcos_omega_dk ); - rvec_Add( workspace->forceReduction[reductionOffset+k], force ); + rvec_Scale(force, CEtors9 + CEconj6, dcos_omega_dk); + rvec_Add(workspace->forceReduction[reductionOffset+k], force); - rvec_Scale( force, CEtors9 + CEconj6, dcos_omega_dl ); - rvec_Add( workspace->forceReduction[reductionOffset+i], force ); - } + rvec_Scale(force, CEtors9 + CEconj6, dcos_omega_dl); + rvec_Add(workspace->forceReduction[reductionOffset+i], force); + } - /* tally into per-atom virials */ - if (system->pair_ptr->vflag_atom || system->pair_ptr->evflag) { + /* tally into per-atom virials */ + if (system->pair_ptr->vflag_atom || system->pair_ptr->evflag) { - // acquire vectors - rvec_ScaledSum( delil, 1., system->my_atoms[l].x, - -1., system->my_atoms[i].x ); - rvec_ScaledSum( deljl, 1., system->my_atoms[l].x, - -1., system->my_atoms[j].x ); - rvec_ScaledSum( delkl, 1., system->my_atoms[l].x, - -1., system->my_atoms[k].x ); - // dcos_theta_ijk - rvec_Scale( fi_tmp, CEtors7 + CEconj4, p_ijk->dcos_dk ); - rvec_Scale( fj_tmp, CEtors7 + CEconj4, p_ijk->dcos_dj ); - rvec_Scale( fk_tmp, CEtors7 + CEconj4, p_ijk->dcos_di ); + // acquire vectors + rvec_ScaledSum(delil, 1., system->my_atoms[l].x, + -1., system->my_atoms[i].x); + rvec_ScaledSum(deljl, 1., system->my_atoms[l].x, + -1., system->my_atoms[j].x); + rvec_ScaledSum(delkl, 1., system->my_atoms[l].x, + -1., system->my_atoms[k].x); + // dcos_theta_ijk + rvec_Scale(fi_tmp, CEtors7 + CEconj4, p_ijk->dcos_dk); + rvec_Scale(fj_tmp, CEtors7 + CEconj4, p_ijk->dcos_dj); + rvec_Scale(fk_tmp, CEtors7 + CEconj4, p_ijk->dcos_di); - // dcos_theta_jkl - rvec_ScaledAdd( fj_tmp, CEtors8 + CEconj5, p_jkl->dcos_di ); - rvec_ScaledAdd( fk_tmp, CEtors8 + CEconj5, p_jkl->dcos_dj ); + // dcos_theta_jkl + rvec_ScaledAdd(fj_tmp, CEtors8 + CEconj5, p_jkl->dcos_di); + rvec_ScaledAdd(fk_tmp, CEtors8 + CEconj5, p_jkl->dcos_dj); - // dcos_omega - rvec_ScaledAdd( fi_tmp, CEtors9 + CEconj6, dcos_omega_di ); - rvec_ScaledAdd( fj_tmp, CEtors9 + CEconj6, dcos_omega_dj ); - rvec_ScaledAdd( fk_tmp, CEtors9 + CEconj6, dcos_omega_dk ); + // dcos_omega + rvec_ScaledAdd(fi_tmp, CEtors9 + CEconj6, dcos_omega_di); + rvec_ScaledAdd(fj_tmp, CEtors9 + CEconj6, dcos_omega_dj); + rvec_ScaledAdd(fk_tmp, CEtors9 + CEconj6, dcos_omega_dk); - // tally - eng_tmp = e_tor + e_con; + // tally + eng_tmp = e_tor + e_con; - if (system->pair_ptr->evflag) - pair_reax_ptr->ev_tally_thr_proxy(system->pair_ptr, j, k, system->n, 1, - eng_tmp, 0.0, 0.0, 0.0, 0.0, 0.0, thr); + if (system->pair_ptr->evflag) + pair_reax_ptr->ev_tally_thr_proxy(system->pair_ptr, j, k, system->n, 1, + eng_tmp, 0.0, 0.0, 0.0, 0.0, 0.0, thr); - // NEED TO MAKE AN OMP VERSION OF THIS CALL! - if (system->pair_ptr->vflag_atom) - system->pair_ptr->v_tally4(i, j, k, l, fi_tmp, fj_tmp, fk_tmp, - delil, deljl, delkl ); - } + // NEED TO MAKE AN OMP VERSION OF THIS CALL! + if (system->pair_ptr->vflag_atom) + system->pair_ptr->v_tally4(i, j, k, l, fi_tmp, fj_tmp, fk_tmp, + delil, deljl, delkl); + } - } // pl check ends - } // pl loop ends - } // pi check ends - } // pi loop ends - } // k-j neighbor check ends - } // jmy_en.e_tor = total_Etor; - data->my_en.e_con = total_Econ; - -#ifdef OMP_TIMING - endTimeBase = MPI_Wtime(); - ompTimingData[COMPUTETORSIONANGLESBOINDEX] += (endTimeBase-startTimeBase); -#endif + data->my_en.e_tor = total_Etor; + data->my_en.e_con = total_Econ; + } } diff --git a/src/USER-OMP/reaxc_torsion_angles_omp.h b/src/USER-OMP/reaxc_torsion_angles_omp.h deleted file mode 100644 index 62cb760f41..0000000000 --- a/src/USER-OMP/reaxc_torsion_angles_omp.h +++ /dev/null @@ -1,38 +0,0 @@ -/*---------------------------------------------------------------------- - PuReMD - Purdue ReaxFF Molecular Dynamics Program - Website: https://www.cs.purdue.edu/puremd - - Copyright (2010) Purdue University - - Contributing authors: - H. M. Aktulga, J. Fogarty, S. Pandit, A. Grama - Corresponding author: - Hasan Metin Aktulga, Michigan State University, hma@cse.msu.edu - - Please cite the related publication: - H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama, - "Parallel Reactive Molecular Dynamics: Numerical Methods and - Algorithmic Techniques", Parallel Computing, 38 (4-5), 245-259 - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License as - published by the Free Software Foundation; either version 2 of - the License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - See the GNU General Public License for more details: - . - ----------------------------------------------------------------------*/ - -#ifndef __TORSION_ANGLES_OMP_H_ -#define __TORSION_ANGLES_OMP_H_ - -#include "reaxc_types.h" -#include "reaxc_torsion_angles.h" - -void Torsion_AnglesOMP( reax_system*, control_params*, simulation_data*, - storage*, reax_list**, output_controls* ); - -#endif diff --git a/src/USER-OMP/reaxc_valence_angles_omp.cpp b/src/USER-OMP/reaxc_valence_angles_omp.cpp index 167f647790..4719fcfbab 100644 --- a/src/USER-OMP/reaxc_valence_angles_omp.cpp +++ b/src/USER-OMP/reaxc_valence_angles_omp.cpp @@ -26,583 +26,561 @@ . ----------------------------------------------------------------------*/ -#include "reaxc_valence_angles_omp.h" +#include "reaxff_omp.h" #include "error.h" #include "fix_omp.h" #include "pair_reaxc_omp.h" - -#include "reaxc_defs.h" -#include "reaxc_types.h" -#include "reaxc_valence_angles.h" -#include "reaxc_list.h" -#include "reaxc_vector.h" +#include "reaxff_api.h" #include -#if defined(_OPENMP) -#include -#endif - using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -void Calculate_dCos_ThetaOMP( rvec dvec_ji, double d_ji, rvec dvec_jk, double d_jk, - rvec* dcos_theta_di, - rvec* dcos_theta_dj, - rvec* dcos_theta_dk ) -{ - double sqr_d_ji = SQR(d_ji); - double sqr_d_jk = SQR(d_jk); - double inv_dists = 1.0 / (d_ji * d_jk); - double inv_dists3 = inv_dists * inv_dists * inv_dists; - double dot_dvecs = dvec_ji[0]*dvec_jk[0] + dvec_ji[1]*dvec_jk[1] + dvec_ji[2]*dvec_jk[2]; - double Cdot_inv3 = dot_dvecs * inv_dists3; +namespace ReaxFF { + void Calculate_dCos_ThetaOMP(rvec dvec_ji, double d_ji, rvec dvec_jk, + double d_jk, rvec *dcos_theta_di, + rvec *dcos_theta_dj, rvec *dcos_theta_dk) + { + double sqr_d_ji = SQR(d_ji); + double sqr_d_jk = SQR(d_jk); + double inv_dists = 1.0 / (d_ji * d_jk); + double inv_dists3 = inv_dists * inv_dists * inv_dists; + double dot_dvecs = dvec_ji[0]*dvec_jk[0] + dvec_ji[1]*dvec_jk[1] + dvec_ji[2]*dvec_jk[2]; + double Cdot_inv3 = dot_dvecs * inv_dists3; - double csqr_jk = Cdot_inv3 * sqr_d_jk; - double csqr_ji = Cdot_inv3 * sqr_d_ji; + double csqr_jk = Cdot_inv3 * sqr_d_jk; + double csqr_ji = Cdot_inv3 * sqr_d_ji; - // Try to help compiler out by unrolling - // x-component - double dinv_jk = dvec_jk[0] * inv_dists; - double dinv_ji = dvec_ji[0] * inv_dists; + // Try to help compiler out by unrolling + // x-component + double dinv_jk = dvec_jk[0] * inv_dists; + double dinv_ji = dvec_ji[0] * inv_dists; - double cdev_ji = csqr_jk * dvec_ji[0]; - double cdev_jk = csqr_ji * dvec_jk[0]; + double cdev_ji = csqr_jk * dvec_ji[0]; + double cdev_jk = csqr_ji * dvec_jk[0]; - (*dcos_theta_di)[0] = dinv_jk - cdev_ji; - (*dcos_theta_dj)[0] = -(dinv_jk + dinv_ji) + cdev_ji + cdev_jk; - (*dcos_theta_dk)[0] = dinv_ji - cdev_jk; + (*dcos_theta_di)[0] = dinv_jk - cdev_ji; + (*dcos_theta_dj)[0] = -(dinv_jk + dinv_ji) + cdev_ji + cdev_jk; + (*dcos_theta_dk)[0] = dinv_ji - cdev_jk; - // y-component - dinv_jk = dvec_jk[1] * inv_dists; - dinv_ji = dvec_ji[1] * inv_dists; + // y-component + dinv_jk = dvec_jk[1] * inv_dists; + dinv_ji = dvec_ji[1] * inv_dists; - cdev_ji = csqr_jk * dvec_ji[1]; - cdev_jk = csqr_ji * dvec_jk[1]; + cdev_ji = csqr_jk * dvec_ji[1]; + cdev_jk = csqr_ji * dvec_jk[1]; - (*dcos_theta_di)[1] = dinv_jk - cdev_ji; - (*dcos_theta_dj)[1] = -(dinv_jk + dinv_ji) + cdev_ji + cdev_jk; - (*dcos_theta_dk)[1] = dinv_ji - cdev_jk; + (*dcos_theta_di)[1] = dinv_jk - cdev_ji; + (*dcos_theta_dj)[1] = -(dinv_jk + dinv_ji) + cdev_ji + cdev_jk; + (*dcos_theta_dk)[1] = dinv_ji - cdev_jk; - // z-component - dinv_jk = dvec_jk[2] * inv_dists; - dinv_ji = dvec_ji[2] * inv_dists; + // z-component + dinv_jk = dvec_jk[2] * inv_dists; + dinv_ji = dvec_ji[2] * inv_dists; - cdev_ji = csqr_jk * dvec_ji[2]; - cdev_jk = csqr_ji * dvec_jk[2]; + cdev_ji = csqr_jk * dvec_ji[2]; + cdev_jk = csqr_ji * dvec_jk[2]; - (*dcos_theta_di)[2] = dinv_jk - cdev_ji; - (*dcos_theta_dj)[2] = -(dinv_jk + dinv_ji) + cdev_ji + cdev_jk; - (*dcos_theta_dk)[2] = dinv_ji - cdev_jk; -} + (*dcos_theta_di)[2] = dinv_jk - cdev_ji; + (*dcos_theta_dj)[2] = -(dinv_jk + dinv_ji) + cdev_ji + cdev_jk; + (*dcos_theta_dk)[2] = dinv_ji - cdev_jk; + } -/* ---------------------------------------------------------------------- */ + /* ---------------------------------------------------------------------- */ -/* this is a 3-body interaction in which the main role is - played by j which sits in the middle of the other two. */ -void Valence_AnglesOMP( reax_system *system, control_params *control, - simulation_data *data, storage *workspace, - reax_list **lists, output_controls * /* out_control */) -{ + /* this is a 3-body interaction in which the main role is + played by j which sits in the middle of the other two. */ + void Valence_AnglesOMP(reax_system *system, control_params *control, + simulation_data *data, storage *workspace, + reax_list **lists) + { + reax_list *bonds = (*lists) + BONDS; + reax_list *thb_intrs = (*lists) + THREE_BODIES; -#ifdef OMP_TIMING - double endTimeBase, startTimeBase; - startTimeBase = MPI_Wtime(); -#endif + // Precompute and store valence_angle offsets for OpenMP code. + int * _my_offset = workspace->valence_angle_atom_myoffset; - reax_list *bonds = (*lists) + BONDS; - reax_list *thb_intrs = (*lists) + THREE_BODIES; + /* global parameters used in these calculations */ + double p_val6 = system->reax_param.gp.l[14]; + double p_val8 = system->reax_param.gp.l[33]; + double p_val9 = system->reax_param.gp.l[16]; + double p_val10 = system->reax_param.gp.l[17]; + double total_Eang = 0; + double total_Epen = 0; + double total_Ecoa = 0; - // Precompute and store valence_angle offsets for OpenMP code. - int * _my_offset = workspace->valence_angle_atom_myoffset; - - /* global parameters used in these calculations */ - double p_val6 = system->reax_param.gp.l[14]; - double p_val8 = system->reax_param.gp.l[33]; - double p_val9 = system->reax_param.gp.l[16]; - double p_val10 = system->reax_param.gp.l[17]; - double total_Eang = 0; - double total_Epen = 0; - double total_Ecoa = 0; - - int nthreads = control->nthreads; - int num_thb_intrs = 0; - int TWICE = 2; + int nthreads = control->nthreads; + int num_thb_intrs = 0; + int TWICE = 2; #if defined(_OPENMP) #pragma omp parallel default(shared) reduction(+:total_Eang, total_Epen, total_Ecoa, num_thb_intrs) #endif - { - int i, j, pi, k, pk, t; - int type_i, type_j, type_k; - int start_j, end_j, start_pk, end_pk; - int cnt, my_offset; + { + int i, j, pi, k, pk, t; + int type_i, type_j, type_k; + int start_j, end_j, start_pk, end_pk; + int cnt, my_offset; - double temp, temp_bo_jt, pBOjt7; - double p_val1, p_val2, p_val3, p_val4, p_val5, p_val7; - double p_pen1, p_pen2, p_pen3, p_pen4; - double p_coa1, p_coa2, p_coa3, p_coa4; - double trm8, expval6, expval7, expval2theta, expval12theta, exp3ij, exp3jk; - double exp_pen2ij, exp_pen2jk, exp_pen3, exp_pen4, trm_pen34, exp_coa2; - double dSBO1, dSBO2, SBO, SBO2, CSBO2, SBOp, prod_SBO, vlpadj; - double CEval1, CEval2, CEval3, CEval4, CEval5, CEval6, CEval7, CEval8; - double CEpen1, CEpen2, CEpen3; - double e_ang, e_coa, e_pen; - double CEcoa1, CEcoa2, CEcoa3, CEcoa4, CEcoa5; - double Cf7ij, Cf7jk, Cf8j, Cf9j; - double f7_ij, f7_jk, f8_Dj, f9_Dj; - double Ctheta_0, theta_0, theta_00, theta, cos_theta, sin_theta; - double BOA_ij, BOA_jk; - rvec force; + double temp, temp_bo_jt, pBOjt7; + double p_val1, p_val2, p_val3, p_val4, p_val5, p_val7; + double p_pen1, p_pen2, p_pen3, p_pen4; + double p_coa1, p_coa2, p_coa3, p_coa4; + double trm8, expval6, expval7, expval2theta, expval12theta, exp3ij, exp3jk; + double exp_pen2ij, exp_pen2jk, exp_pen3, exp_pen4, trm_pen34, exp_coa2; + double dSBO1, dSBO2, SBO, SBO2, CSBO2, SBOp, prod_SBO, vlpadj; + double CEval1, CEval2, CEval3, CEval4, CEval5, CEval6, CEval7, CEval8; + double CEpen1, CEpen2, CEpen3; + double e_ang, e_coa, e_pen; + double CEcoa1, CEcoa2, CEcoa3, CEcoa4, CEcoa5; + double Cf7ij, Cf7jk, Cf8j, Cf9j; + double f7_ij, f7_jk, f8_Dj, f9_Dj; + double Ctheta_0, theta_0, theta_00, theta, cos_theta, sin_theta; + double BOA_ij, BOA_jk; + rvec force; - // Tallying variables - double eng_tmp, fi_tmp[3], fj_tmp[3], fk_tmp[3]; - double delij[3], delkj[3]; + // Tallying variables + double eng_tmp, fi_tmp[3], fj_tmp[3], fk_tmp[3]; + double delij[3], delkj[3]; - three_body_header *thbh; - three_body_parameters *thbp; - three_body_interaction_data *p_ijk, *p_kji; - bond_data *pbond_ij, *pbond_jk, *pbond_jt; - bond_order_data *bo_ij, *bo_jk, *bo_jt; + three_body_header *thbh; + three_body_parameters *thbp; + three_body_interaction_data *p_ijk, *p_kji; + bond_data *pbond_ij, *pbond_jk, *pbond_jt; + bond_order_data *bo_ij, *bo_jk, *bo_jt; -#if defined(_OPENMP) - int tid = omp_get_thread_num(); -#else - int tid = 0; -#endif - long reductionOffset = (system->N * tid); - class PairReaxCOMP *pair_reax_ptr; - pair_reax_ptr = static_cast(system->pair_ptr); - class ThrData *thr = pair_reax_ptr->getFixOMP()->get_thr(tid); + int tid = get_tid(); - // Run through a minimal for (jN * tid); + class PairReaxCOMP *pair_reax_ptr; + pair_reax_ptr = static_cast(system->pair_ptr); + class ThrData *thr = pair_reax_ptr->getFixOMP()->get_thr(tid); - const int per_thread = thb_intrs->num_intrs / nthreads; + // Run through a minimal for (jnum_intrs / nthreads; #if defined(_OPENMP) #pragma omp for schedule(dynamic,50) #endif - for (j = 0; j < system->N; ++j) { - type_j = system->my_atoms[j].type; - _my_offset[j] = 0; - if (type_j < 0) continue; + for (j = 0; j < system->N; ++j) { + type_j = system->my_atoms[j].type; + _my_offset[j] = 0; + if (type_j < 0) continue; - start_j = Start_Index(j, bonds); - end_j = End_Index(j, bonds); + start_j = Start_Index(j, bonds); + end_j = End_Index(j, bonds); - // Always point to start of workspace to count angles - my_offset = tid * per_thread; + // Always point to start of workspace to count angles + my_offset = tid * per_thread; - for (pi = start_j; pi < end_j; ++pi) { - Set_Start_Index( pi, my_offset, thb_intrs ); - pbond_ij = &(bonds->select.bond_list[pi]); - bo_ij = &(pbond_ij->bo_data); - BOA_ij = bo_ij->BO - control->thb_cut; + for (pi = start_j; pi < end_j; ++pi) { + Set_Start_Index(pi, my_offset, thb_intrs); + pbond_ij = &(bonds->select.bond_list[pi]); + bo_ij = &(pbond_ij->bo_data); + BOA_ij = bo_ij->BO - control->thb_cut; - if (BOA_ij > 0.0) { - i = pbond_ij->nbr; + if (BOA_ij > 0.0) { + i = pbond_ij->nbr; - /* first copy 3-body intrs from previously computed ones where i>k. - in the second for-loop below, - we compute only new 3-body intrs where i < k */ - for (pk = start_j; pk < pi; ++pk) { - start_pk = Start_Index( pk, thb_intrs ); - end_pk = End_Index( pk, thb_intrs ); + /* first copy 3-body intrs from previously computed ones where i>k. + in the second for-loop below, + we compute only new 3-body intrs where i < k */ + for (pk = start_j; pk < pi; ++pk) { + start_pk = Start_Index(pk, thb_intrs); + end_pk = End_Index(pk, thb_intrs); - for (t = start_pk; t < end_pk; ++t) - if (thb_intrs->select.three_body_list[t].thb == i) { + for (t = start_pk; t < end_pk; ++t) + if (thb_intrs->select.three_body_list[t].thb == i) { - p_ijk = &(thb_intrs->select.three_body_list[my_offset] ); - p_ijk->thb = bonds->select.bond_list[pk].nbr; + p_ijk = &(thb_intrs->select.three_body_list[my_offset]); + p_ijk->thb = bonds->select.bond_list[pk].nbr; - ++my_offset; - break; - } - } // for (pk) + ++my_offset; + break; + } + } // for (pk) - /* and this is the second for loop mentioned above */ - for (pk = pi+1; pk < end_j; ++pk) { - pbond_jk = &(bonds->select.bond_list[pk]); - k = pbond_jk->nbr; + /* and this is the second for loop mentioned above */ + for (pk = pi+1; pk < end_j; ++pk) { + pbond_jk = &(bonds->select.bond_list[pk]); + k = pbond_jk->nbr; - if (j >= system->n && i >= system->n && k >= system->n) continue; + if (j >= system->n && i >= system->n && k >= system->n) continue; - p_ijk = &( thb_intrs->select.three_body_list[my_offset] ); - p_ijk->thb = k; + p_ijk = &(thb_intrs->select.three_body_list[my_offset]); + p_ijk->thb = k; - ++my_offset; // add this to the list of 3-body interactions - } // for (pk) - } // if () + ++my_offset; // add this to the list of 3-body interactions + } // for (pk) + } // if () - Set_End_Index(pi, my_offset, thb_intrs ); - } // for (pi) + Set_End_Index(pi, my_offset, thb_intrs); + } // for (pi) - // Confirm that thb_intrs->num_intrs / nthreads is enough to hold all angles from a single atom - if (my_offset >= (tid+1)*per_thread) - control->error_ptr->one(FLERR, fmt::format("step {}: ran out of space on " - "angle_list for atom {}:\n" - " nthreads={} tid={} my_offset={} per_thread={}\n" - " num_intrs={} N={}",data->step,j,nthreads,tid, - my_offset,per_thread,thb_intrs->num_intrs,system->N)); - // Number of angles owned by this atom - _my_offset[j] = my_offset - tid * per_thread; - } // for (j) + // Confirm that thb_intrs->num_intrs / nthreads is enough to hold all angles from a single atom + if (my_offset >= (tid+1)*per_thread) + control->error_ptr->one(FLERR, fmt::format("step {}: ran out of space on " + "angle_list for atom {}:\n" + " nthreads={} tid={} my_offset={} per_thread={}\n" + " num_intrs={} N={}",data->step,j,nthreads,tid, + my_offset,per_thread,thb_intrs->num_intrs,system->N)); + // Number of angles owned by this atom + _my_offset[j] = my_offset - tid * per_thread; + } // for (j) - // Wait for all threads to finish counting angles + // Wait for all threads to finish counting angles #if defined(_OPENMP) && !defined(__NVCC__) #pragma omp barrier #endif - // Master thread uses angle counts to compute offsets - // This can be threaded + // Master thread uses angle counts to compute offsets + // This can be threaded #if defined(_OPENMP) && !defined(__NVCC__) #pragma omp master #endif - { - int current_count = 0; - int m = _my_offset[0]; - _my_offset[0] = current_count; - for (j=1; jN; j++) { - current_count+= m; - m = _my_offset[j]; - _my_offset[j] = current_count; + { + int current_count = 0; + int m = _my_offset[0]; + _my_offset[0] = current_count; + for (j=1; jN; j++) { + current_count+= m; + m = _my_offset[j]; + _my_offset[j] = current_count; + } + _my_offset[system->N] = current_count + m; // Used to test if last particle has any angles } - _my_offset[system->N] = current_count + m; // Used to test if last particle has any angles - } - // All threads wait till master thread finished computing offsets + // All threads wait till master thread finished computing offsets #if defined(_OPENMP) && !defined(__NVCC__) #pragma omp barrier #endif - // Original loop, but now using precomputed offsets - // Safe to use all threads available, regardless of threads tasked above - // We also now skip over atoms that have no angles assigned + // Original loop, but now using precomputed offsets + // Safe to use all threads available, regardless of threads tasked above + // We also now skip over atoms that have no angles assigned #if defined(_OPENMP) #pragma omp for schedule(dynamic,50)//(dynamic,chunksize)//(guided) #endif - for (j = 0; j < system->N; ++j) { // Ray: the first one with system->N - type_j = system->my_atoms[j].type; - if (type_j < 0) continue; + for (j = 0; j < system->N; ++j) { // Ray: the first one with system->N + type_j = system->my_atoms[j].type; + if (type_j < 0) continue; - // Skip if no angles for this atom - if (_my_offset[j] == _my_offset[j+1]) continue; + // Skip if no angles for this atom + if (_my_offset[j] == _my_offset[j+1]) continue; - start_j = Start_Index(j, bonds); - end_j = End_Index(j, bonds); + start_j = Start_Index(j, bonds); + end_j = End_Index(j, bonds); - type_j = system->my_atoms[j].type; + type_j = system->my_atoms[j].type; - my_offset = _my_offset[j]; + my_offset = _my_offset[j]; - p_val3 = system->reax_param.sbp[ type_j ].p_val3; - p_val5 = system->reax_param.sbp[ type_j ].p_val5; + p_val3 = system->reax_param.sbp[ type_j ].p_val3; + p_val5 = system->reax_param.sbp[ type_j ].p_val5; - SBOp = 0, prod_SBO = 1; - for (t = start_j; t < end_j; ++t) { - bo_jt = &(bonds->select.bond_list[t].bo_data); - SBOp += (bo_jt->BO_pi + bo_jt->BO_pi2); - temp = SQR( bo_jt->BO ); - temp *= temp; - temp *= temp; - prod_SBO *= exp( -temp ); - } + SBOp = 0, prod_SBO = 1; + for (t = start_j; t < end_j; ++t) { + bo_jt = &(bonds->select.bond_list[t].bo_data); + SBOp += (bo_jt->BO_pi + bo_jt->BO_pi2); + temp = SQR(bo_jt->BO); + temp *= temp; + temp *= temp; + prod_SBO *= exp(-temp); + } - // modifications to match Adri's code - 09/01/09 - if (workspace->vlpex[j] >= 0) { - vlpadj = 0; - dSBO2 = prod_SBO - 1; - } else { - vlpadj = workspace->nlp[j]; - dSBO2 = (prod_SBO - 1) * (1 - p_val8 * workspace->dDelta_lp[j]); - } + // modifications to match Adri's code - 09/01/09 + if (workspace->vlpex[j] >= 0) { + vlpadj = 0; + dSBO2 = prod_SBO - 1; + } else { + vlpadj = workspace->nlp[j]; + dSBO2 = (prod_SBO - 1) * (1 - p_val8 * workspace->dDelta_lp[j]); + } - SBO = SBOp + (1 - prod_SBO) * (-workspace->Delta_boc[j] - p_val8 * vlpadj); - dSBO1 = -8 * prod_SBO * ( workspace->Delta_boc[j] + p_val8 * vlpadj ); + SBO = SBOp + (1 - prod_SBO) * (-workspace->Delta_boc[j] - p_val8 * vlpadj); + dSBO1 = -8 * prod_SBO * (workspace->Delta_boc[j] + p_val8 * vlpadj); - if (SBO <= 0) - SBO2 = 0, CSBO2 = 0; - else if (SBO > 0 && SBO <= 1) { - SBO2 = pow( SBO, p_val9 ); - CSBO2 = p_val9 * pow( SBO, p_val9 - 1 ); - } - else if (SBO > 1 && SBO < 2) { - SBO2 = 2 - pow( 2-SBO, p_val9 ); - CSBO2 = p_val9 * pow( 2 - SBO, p_val9 - 1 ); - } - else - SBO2 = 2, CSBO2 = 0; + if (SBO <= 0) + SBO2 = 0, CSBO2 = 0; + else if (SBO > 0 && SBO <= 1) { + SBO2 = pow(SBO, p_val9); + CSBO2 = p_val9 * pow(SBO, p_val9 - 1); + } + else if (SBO > 1 && SBO < 2) { + SBO2 = 2 - pow(2-SBO, p_val9); + CSBO2 = p_val9 * pow(2 - SBO, p_val9 - 1); + } + else + SBO2 = 2, CSBO2 = 0; - expval6 = exp( p_val6 * workspace->Delta_boc[j] ); + expval6 = exp(p_val6 * workspace->Delta_boc[j]); - for (pi = start_j; pi < end_j; ++pi) { - Set_Start_Index( pi, my_offset, thb_intrs ); - pbond_ij = &(bonds->select.bond_list[pi]); - bo_ij = &(pbond_ij->bo_data); - BOA_ij = bo_ij->BO - control->thb_cut; + for (pi = start_j; pi < end_j; ++pi) { + Set_Start_Index(pi, my_offset, thb_intrs); + pbond_ij = &(bonds->select.bond_list[pi]); + bo_ij = &(pbond_ij->bo_data); + BOA_ij = bo_ij->BO - control->thb_cut; - if (BOA_ij > 0.0) { - i = pbond_ij->nbr; - type_i = system->my_atoms[i].type; + if (BOA_ij > 0.0) { + i = pbond_ij->nbr; + type_i = system->my_atoms[i].type; - /* first copy 3-body intrs from previously computed ones where i>k. - in the second for-loop below, - we compute only new 3-body intrs where i < k */ - for (pk = start_j; pk < pi; ++pk) { - start_pk = Start_Index( pk, thb_intrs ); - end_pk = End_Index( pk, thb_intrs ); + /* first copy 3-body intrs from previously computed ones where i>k. + in the second for-loop below, + we compute only new 3-body intrs where i < k */ + for (pk = start_j; pk < pi; ++pk) { + start_pk = Start_Index(pk, thb_intrs); + end_pk = End_Index(pk, thb_intrs); - for (t = start_pk; t < end_pk; ++t) - if (thb_intrs->select.three_body_list[t].thb == i) { - p_ijk = &(thb_intrs->select.three_body_list[my_offset] ); - p_kji = &(thb_intrs->select.three_body_list[t]); + for (t = start_pk; t < end_pk; ++t) + if (thb_intrs->select.three_body_list[t].thb == i) { + p_ijk = &(thb_intrs->select.three_body_list[my_offset]); + p_kji = &(thb_intrs->select.three_body_list[t]); - p_ijk->thb = bonds->select.bond_list[pk].nbr; - p_ijk->pthb = pk; - p_ijk->theta = p_kji->theta; - rvec_Copy( p_ijk->dcos_di, p_kji->dcos_dk ); - rvec_Copy( p_ijk->dcos_dj, p_kji->dcos_dj ); - rvec_Copy( p_ijk->dcos_dk, p_kji->dcos_di ); + p_ijk->thb = bonds->select.bond_list[pk].nbr; + p_ijk->pthb = pk; + p_ijk->theta = p_kji->theta; + rvec_Copy(p_ijk->dcos_di, p_kji->dcos_dk); + rvec_Copy(p_ijk->dcos_dj, p_kji->dcos_dj); + rvec_Copy(p_ijk->dcos_dk, p_kji->dcos_di); - ++my_offset; - ++num_thb_intrs; - break; - } - } // for (pk) + ++my_offset; + ++num_thb_intrs; + break; + } + } // for (pk) - /* and this is the second for loop mentioned above */ - for (pk = pi+1; pk < end_j; ++pk) { - pbond_jk = &(bonds->select.bond_list[pk]); - bo_jk = &(pbond_jk->bo_data); - BOA_jk = bo_jk->BO - control->thb_cut; - k = pbond_jk->nbr; - type_k = system->my_atoms[k].type; - p_ijk = &( thb_intrs->select.three_body_list[my_offset] ); + /* and this is the second for loop mentioned above */ + for (pk = pi+1; pk < end_j; ++pk) { + pbond_jk = &(bonds->select.bond_list[pk]); + bo_jk = &(pbond_jk->bo_data); + BOA_jk = bo_jk->BO - control->thb_cut; + k = pbond_jk->nbr; + type_k = system->my_atoms[k].type; + p_ijk = &(thb_intrs->select.three_body_list[my_offset]); - // Fix by Sudhir - // if (BOA_jk <= 0) continue; - if (j >= system->n && i >= system->n && k >= system->n) continue; + // Fix by Sudhir + // if (BOA_jk <= 0) continue; + if (j >= system->n && i >= system->n && k >= system->n) continue; - Calculate_Theta( pbond_ij->dvec, pbond_ij->d, - pbond_jk->dvec, pbond_jk->d, - &theta, &cos_theta ); + Calculate_Theta(pbond_ij->dvec, pbond_ij->d, + pbond_jk->dvec, pbond_jk->d, + &theta, &cos_theta); - Calculate_dCos_ThetaOMP( pbond_ij->dvec, pbond_ij->d, - pbond_jk->dvec, pbond_jk->d, - &(p_ijk->dcos_di), &(p_ijk->dcos_dj), - &(p_ijk->dcos_dk) ); - p_ijk->thb = k; - p_ijk->pthb = pk; - p_ijk->theta = theta; + Calculate_dCos_ThetaOMP(pbond_ij->dvec, pbond_ij->d, + pbond_jk->dvec, pbond_jk->d, + &(p_ijk->dcos_di), &(p_ijk->dcos_dj), + &(p_ijk->dcos_dk)); + p_ijk->thb = k; + p_ijk->pthb = pk; + p_ijk->theta = theta; - sin_theta = sin( theta ); - if (sin_theta < 1.0e-5) - sin_theta = 1.0e-5; + sin_theta = sin(theta); + if (sin_theta < 1.0e-5) + sin_theta = 1.0e-5; - ++my_offset; // add this to the list of 3-body interactions - ++num_thb_intrs; + ++my_offset; // add this to the list of 3-body interactions + ++num_thb_intrs; - if ((j < system->n) && (BOA_jk > 0.0) && - (bo_ij->BO > control->thb_cut) && - (bo_jk->BO > control->thb_cut) && - (bo_ij->BO * bo_jk->BO > control->thb_cutsq)) { - thbh = &( system->reax_param.thbp[ type_i ][ type_j ][ type_k ] ); + if ((j < system->n) && (BOA_jk > 0.0) && + (bo_ij->BO > control->thb_cut) && + (bo_jk->BO > control->thb_cut) && + (bo_ij->BO * bo_jk->BO > control->thb_cutsq)) { + thbh = &(system->reax_param.thbp[ type_i ][ type_j ][ type_k ]); - for (cnt = 0; cnt < thbh->cnt; ++cnt) { + for (cnt = 0; cnt < thbh->cnt; ++cnt) { - if (fabs(thbh->prm[cnt].p_val1) > 0.001) { - thbp = &( thbh->prm[cnt] ); + if (fabs(thbh->prm[cnt].p_val1) > 0.001) { + thbp = &(thbh->prm[cnt]); - /* ANGLE ENERGY */ - p_val1 = thbp->p_val1; - p_val2 = thbp->p_val2; - p_val4 = thbp->p_val4; - p_val7 = thbp->p_val7; - theta_00 = thbp->theta_00; + /* ANGLE ENERGY */ + p_val1 = thbp->p_val1; + p_val2 = thbp->p_val2; + p_val4 = thbp->p_val4; + p_val7 = thbp->p_val7; + theta_00 = thbp->theta_00; - exp3ij = exp( -p_val3 * pow( BOA_ij, p_val4 ) ); - f7_ij = 1.0 - exp3ij; - Cf7ij = p_val3 * p_val4 * pow( BOA_ij, p_val4 - 1.0 ) * exp3ij; + exp3ij = exp(-p_val3 * pow(BOA_ij, p_val4)); + f7_ij = 1.0 - exp3ij; + Cf7ij = p_val3 * p_val4 * pow(BOA_ij, p_val4 - 1.0) * exp3ij; - exp3jk = exp( -p_val3 * pow( BOA_jk, p_val4 ) ); - f7_jk = 1.0 - exp3jk; - Cf7jk = p_val3 * p_val4 * pow( BOA_jk, p_val4 - 1.0 ) * exp3jk; + exp3jk = exp(-p_val3 * pow(BOA_jk, p_val4)); + f7_jk = 1.0 - exp3jk; + Cf7jk = p_val3 * p_val4 * pow(BOA_jk, p_val4 - 1.0) * exp3jk; - expval7 = exp( -p_val7 * workspace->Delta_boc[j] ); - trm8 = 1.0 + expval6 + expval7; - f8_Dj = p_val5 - ( (p_val5 - 1.0) * (2.0 + expval6) / trm8 ); - Cf8j = ( (1.0 - p_val5) / SQR(trm8) ) * - ( p_val6 * expval6 * trm8 - - (2.0 + expval6) * ( p_val6*expval6 - p_val7*expval7 ) ); + expval7 = exp(-p_val7 * workspace->Delta_boc[j]); + trm8 = 1.0 + expval6 + expval7; + f8_Dj = p_val5 - ((p_val5 - 1.0) * (2.0 + expval6) / trm8); + Cf8j = ((1.0 - p_val5) / SQR(trm8)) * + (p_val6 * expval6 * trm8 - + (2.0 + expval6) * (p_val6*expval6 - p_val7*expval7)); - theta_0 = 180.0 - theta_00 * (1.0 - - exp(-p_val10 * (2.0 - SBO2))); - theta_0 = DEG2RAD( theta_0 ); + theta_0 = 180.0 - theta_00 * (1.0 - + exp(-p_val10 * (2.0 - SBO2))); + theta_0 = DEG2RAD(theta_0); - expval2theta = exp( -p_val2 * SQR(theta_0 - theta) ); - if (p_val1 >= 0) - expval12theta = p_val1 * (1.0 - expval2theta); - else // To avoid linear Me-H-Me angles (6/6/06) - expval12theta = p_val1 * -expval2theta; + expval2theta = exp(-p_val2 * SQR(theta_0 - theta)); + if (p_val1 >= 0) + expval12theta = p_val1 * (1.0 - expval2theta); + else // To avoid linear Me-H-Me angles (6/6/06) + expval12theta = p_val1 * -expval2theta; - CEval1 = Cf7ij * f7_jk * f8_Dj * expval12theta; - CEval2 = Cf7jk * f7_ij * f8_Dj * expval12theta; - CEval3 = Cf8j * f7_ij * f7_jk * expval12theta; - CEval4 = -2.0 * p_val1 * p_val2 * f7_ij * f7_jk * f8_Dj * - expval2theta * (theta_0 - theta); + CEval1 = Cf7ij * f7_jk * f8_Dj * expval12theta; + CEval2 = Cf7jk * f7_ij * f8_Dj * expval12theta; + CEval3 = Cf8j * f7_ij * f7_jk * expval12theta; + CEval4 = -2.0 * p_val1 * p_val2 * f7_ij * f7_jk * f8_Dj * + expval2theta * (theta_0 - theta); - Ctheta_0 = p_val10 * DEG2RAD(theta_00) * - exp( -p_val10 * (2.0 - SBO2) ); + Ctheta_0 = p_val10 * DEG2RAD(theta_00) * + exp(-p_val10 * (2.0 - SBO2)); - CEval5 = -CEval4 * Ctheta_0 * CSBO2; - CEval6 = CEval5 * dSBO1; - CEval7 = CEval5 * dSBO2; - CEval8 = -CEval4 / sin_theta; + CEval5 = -CEval4 * Ctheta_0 * CSBO2; + CEval6 = CEval5 * dSBO1; + CEval7 = CEval5 * dSBO2; + CEval8 = -CEval4 / sin_theta; - total_Eang += e_ang = - f7_ij * f7_jk * f8_Dj * expval12theta; - /* END ANGLE ENERGY*/ + total_Eang += e_ang = + f7_ij * f7_jk * f8_Dj * expval12theta; + /* END ANGLE ENERGY*/ - /* PENALTY ENERGY */ - p_pen1 = thbp->p_pen1; - p_pen2 = system->reax_param.gp.l[19]; - p_pen3 = system->reax_param.gp.l[20]; - p_pen4 = system->reax_param.gp.l[21]; + /* PENALTY ENERGY */ + p_pen1 = thbp->p_pen1; + p_pen2 = system->reax_param.gp.l[19]; + p_pen3 = system->reax_param.gp.l[20]; + p_pen4 = system->reax_param.gp.l[21]; - exp_pen2ij = exp( -p_pen2 * SQR( BOA_ij - 2.0 ) ); - exp_pen2jk = exp( -p_pen2 * SQR( BOA_jk - 2.0 ) ); - exp_pen3 = exp( -p_pen3 * workspace->Delta[j] ); - exp_pen4 = exp( p_pen4 * workspace->Delta[j] ); - trm_pen34 = 1.0 + exp_pen3 + exp_pen4; - f9_Dj = ( 2.0 + exp_pen3 ) / trm_pen34; - Cf9j = ( -p_pen3 * exp_pen3 * trm_pen34 - - (2.0 + exp_pen3) * ( -p_pen3 * exp_pen3 + - p_pen4 * exp_pen4 ) ) / - SQR( trm_pen34 ); + exp_pen2ij = exp(-p_pen2 * SQR(BOA_ij - 2.0)); + exp_pen2jk = exp(-p_pen2 * SQR(BOA_jk - 2.0)); + exp_pen3 = exp(-p_pen3 * workspace->Delta[j]); + exp_pen4 = exp( p_pen4 * workspace->Delta[j]); + trm_pen34 = 1.0 + exp_pen3 + exp_pen4; + f9_Dj = (2.0 + exp_pen3) / trm_pen34; + Cf9j = (-p_pen3 * exp_pen3 * trm_pen34 - + (2.0 + exp_pen3) * (-p_pen3 * exp_pen3 + + p_pen4 * exp_pen4)) / + SQR(trm_pen34); - total_Epen += e_pen = - p_pen1 * f9_Dj * exp_pen2ij * exp_pen2jk; + total_Epen += e_pen = + p_pen1 * f9_Dj * exp_pen2ij * exp_pen2jk; - CEpen1 = e_pen * Cf9j / f9_Dj; - temp = -2.0 * p_pen2 * e_pen; - CEpen2 = temp * (BOA_ij - 2.0); - CEpen3 = temp * (BOA_jk - 2.0); - /* END PENALTY ENERGY */ + CEpen1 = e_pen * Cf9j / f9_Dj; + temp = -2.0 * p_pen2 * e_pen; + CEpen2 = temp * (BOA_ij - 2.0); + CEpen3 = temp * (BOA_jk - 2.0); + /* END PENALTY ENERGY */ - /* COALITION ENERGY */ - p_coa1 = thbp->p_coa1; - p_coa2 = system->reax_param.gp.l[2]; - p_coa3 = system->reax_param.gp.l[38]; - p_coa4 = system->reax_param.gp.l[30]; + /* COALITION ENERGY */ + p_coa1 = thbp->p_coa1; + p_coa2 = system->reax_param.gp.l[2]; + p_coa3 = system->reax_param.gp.l[38]; + p_coa4 = system->reax_param.gp.l[30]; - exp_coa2 = exp( p_coa2 * workspace->Delta_val[j] ); - total_Ecoa += e_coa = - p_coa1 / (1. + exp_coa2) * - exp( -p_coa3 * SQR(workspace->total_bond_order[i]-BOA_ij) ) * - exp( -p_coa3 * SQR(workspace->total_bond_order[k]-BOA_jk) ) * - exp( -p_coa4 * SQR(BOA_ij - 1.5) ) * - exp( -p_coa4 * SQR(BOA_jk - 1.5) ); + exp_coa2 = exp(p_coa2 * workspace->Delta_val[j]); + total_Ecoa += e_coa = + p_coa1 / (1. + exp_coa2) * + exp(-p_coa3 * SQR(workspace->total_bond_order[i]-BOA_ij)) * + exp(-p_coa3 * SQR(workspace->total_bond_order[k]-BOA_jk)) * + exp(-p_coa4 * SQR(BOA_ij - 1.5)) * + exp(-p_coa4 * SQR(BOA_jk - 1.5)); - CEcoa1 = -2 * p_coa4 * (BOA_ij - 1.5) * e_coa; - CEcoa2 = -2 * p_coa4 * (BOA_jk - 1.5) * e_coa; - CEcoa3 = -p_coa2 * exp_coa2 * e_coa / (1 + exp_coa2); - CEcoa4 = -2 * p_coa3 * - (workspace->total_bond_order[i]-BOA_ij) * e_coa; - CEcoa5 = -2 * p_coa3 * - (workspace->total_bond_order[k]-BOA_jk) * e_coa; - /* END COALITION ENERGY */ + CEcoa1 = -2 * p_coa4 * (BOA_ij - 1.5) * e_coa; + CEcoa2 = -2 * p_coa4 * (BOA_jk - 1.5) * e_coa; + CEcoa3 = -p_coa2 * exp_coa2 * e_coa / (1 + exp_coa2); + CEcoa4 = -2 * p_coa3 * + (workspace->total_bond_order[i]-BOA_ij) * e_coa; + CEcoa5 = -2 * p_coa3 * + (workspace->total_bond_order[k]-BOA_jk) * e_coa; + /* END COALITION ENERGY */ - /* FORCES */ - bo_ij->Cdbo += (CEval1 + CEpen2 + (CEcoa1 - CEcoa4)); - bo_jk->Cdbo += (CEval2 + CEpen3 + (CEcoa2 - CEcoa5)); - workspace->CdDelta[j] += ((CEval3 + CEval7) + CEpen1 + CEcoa3); - workspace->CdDeltaReduction[reductionOffset+i] += CEcoa4; - workspace->CdDeltaReduction[reductionOffset+k] += CEcoa5; + /* FORCES */ + bo_ij->Cdbo += (CEval1 + CEpen2 + (CEcoa1 - CEcoa4)); + bo_jk->Cdbo += (CEval2 + CEpen3 + (CEcoa2 - CEcoa5)); + workspace->CdDelta[j] += ((CEval3 + CEval7) + CEpen1 + CEcoa3); + workspace->CdDeltaReduction[reductionOffset+i] += CEcoa4; + workspace->CdDeltaReduction[reductionOffset+k] += CEcoa5; - for (t = start_j; t < end_j; ++t) { - pbond_jt = &( bonds->select.bond_list[t] ); - bo_jt = &(pbond_jt->bo_data); - temp_bo_jt = bo_jt->BO; - temp = CUBE( temp_bo_jt ); - pBOjt7 = temp * temp * temp_bo_jt; + for (t = start_j; t < end_j; ++t) { + pbond_jt = &(bonds->select.bond_list[t]); + bo_jt = &(pbond_jt->bo_data); + temp_bo_jt = bo_jt->BO; + temp = CUBE(temp_bo_jt); + pBOjt7 = temp * temp * temp_bo_jt; - bo_jt->Cdbo += (CEval6 * pBOjt7); - bo_jt->Cdbopi += CEval5; - bo_jt->Cdbopi2 += CEval5; - } + bo_jt->Cdbo += (CEval6 * pBOjt7); + bo_jt->Cdbopi += CEval5; + bo_jt->Cdbopi2 += CEval5; + } - if (control->virial == 0) { - rvec_ScaledAdd( workspace->f[j], CEval8, p_ijk->dcos_dj ); - rvec_ScaledAdd( workspace->forceReduction[reductionOffset+i], - CEval8, p_ijk->dcos_di ); - rvec_ScaledAdd( workspace->forceReduction[reductionOffset+k], - CEval8, p_ijk->dcos_dk ); - } else { - /* terms not related to bond order derivatives are - added directly into forces and pressure vector/tensor */ - rvec_Scale( force, CEval8, p_ijk->dcos_di ); - rvec_Add( workspace->forceReduction[reductionOffset+i], force ); + if (control->virial == 0) { + rvec_ScaledAdd(workspace->f[j], CEval8, p_ijk->dcos_dj); + rvec_ScaledAdd(workspace->forceReduction[reductionOffset+i], + CEval8, p_ijk->dcos_di); + rvec_ScaledAdd(workspace->forceReduction[reductionOffset+k], + CEval8, p_ijk->dcos_dk); + } else { + /* terms not related to bond order derivatives are + added directly into forces and pressure vector/tensor */ + rvec_Scale(force, CEval8, p_ijk->dcos_di); + rvec_Add(workspace->forceReduction[reductionOffset+i], force); - rvec_ScaledAdd( workspace->f[j], CEval8, p_ijk->dcos_dj ); + rvec_ScaledAdd(workspace->f[j], CEval8, p_ijk->dcos_dj); - rvec_Scale( force, CEval8, p_ijk->dcos_dk ); - rvec_Add( workspace->forceReduction[reductionOffset+k], force ); - } + rvec_Scale(force, CEval8, p_ijk->dcos_dk); + rvec_Add(workspace->forceReduction[reductionOffset+k], force); + } - /* tally into per-atom virials */ - if (system->pair_ptr->vflag_atom || system->pair_ptr->evflag) { + /* tally into per-atom virials */ + if (system->pair_ptr->vflag_atom || system->pair_ptr->evflag) { - /* Acquire vectors */ - rvec_ScaledSum( delij, 1., system->my_atoms[i].x, - -1., system->my_atoms[j].x ); - rvec_ScaledSum( delkj, 1., system->my_atoms[k].x, - -1., system->my_atoms[j].x ); + /* Acquire vectors */ + rvec_ScaledSum(delij, 1., system->my_atoms[i].x, + -1., system->my_atoms[j].x); + rvec_ScaledSum(delkj, 1., system->my_atoms[k].x, + -1., system->my_atoms[j].x); - rvec_Scale( fi_tmp, -CEval8, p_ijk->dcos_di ); - rvec_Scale( fj_tmp, -CEval8, p_ijk->dcos_dj ); - rvec_Scale( fk_tmp, -CEval8, p_ijk->dcos_dk ); + rvec_Scale(fi_tmp, -CEval8, p_ijk->dcos_di); + rvec_Scale(fj_tmp, -CEval8, p_ijk->dcos_dj); + rvec_Scale(fk_tmp, -CEval8, p_ijk->dcos_dk); - eng_tmp = e_ang + e_pen + e_coa; + eng_tmp = e_ang + e_pen + e_coa; - if (system->pair_ptr->evflag) - pair_reax_ptr->ev_tally_thr_proxy(system->pair_ptr, j, j, system->N, 1, - eng_tmp, 0.0, 0.0, 0.0, 0.0, 0.0, thr); - if (system->pair_ptr->vflag_atom) - // NEED TO MAKE AN OMP VERSION OF THIS CALL! - system->pair_ptr->v_tally3( i, j, k, fi_tmp, fk_tmp, delij, delkj); - } + if (system->pair_ptr->evflag) + pair_reax_ptr->ev_tally_thr_proxy(system->pair_ptr, j, j, system->N, 1, + eng_tmp, 0.0, 0.0, 0.0, 0.0, 0.0, thr); + if (system->pair_ptr->vflag_atom) + // NEED TO MAKE AN OMP VERSION OF THIS CALL! + system->pair_ptr->v_tally3(i, j, k, fi_tmp, fk_tmp, delij, delkj); + } - } // if (p_val1>0.001) - } // for (cnt) - } // if (j0) - } // for (pk) - } // if (BOA_ij>0) + } // if (p_val1>0.001) + } // for (cnt) + } // if (j0) + } // for (pk) + } // if (BOA_ij>0) - Set_End_Index(pi, my_offset, thb_intrs ); - } // for (pi) - } // for (j) - } // end omp parallel + Set_End_Index(pi, my_offset, thb_intrs); + } // for (pi) + } // for (j) + } // end omp parallel - data->my_en.e_ang = total_Eang; - data->my_en.e_pen = total_Epen; - data->my_en.e_coa = total_Ecoa; + data->my_en.e_ang = total_Eang; + data->my_en.e_pen = total_Epen; + data->my_en.e_coa = total_Ecoa; - if (num_thb_intrs >= thb_intrs->num_intrs * DANGER_ZONE) { - workspace->realloc.num_3body = num_thb_intrs * TWICE; - if (num_thb_intrs > thb_intrs->num_intrs) - control->error_ptr->one(FLERR, fmt::format("step {}: ran out of space on " - "angle_list: top={}, max={}", - data->step, num_thb_intrs, - thb_intrs->num_intrs)); + if (num_thb_intrs >= thb_intrs->num_intrs * DANGER_ZONE) { + workspace->realloc.num_3body = num_thb_intrs * TWICE; + if (num_thb_intrs > thb_intrs->num_intrs) + control->error_ptr->one(FLERR, fmt::format("step {}: ran out of space on " + "angle_list: top={}, max={}", + data->step, num_thb_intrs, + thb_intrs->num_intrs)); + } } - -#ifdef OMP_TIMING - endTimeBase = MPI_Wtime(); - ompTimingData[COMPUTEVALENCEANGLESBOINDEX] += (endTimeBase-startTimeBase); -#endif } diff --git a/src/USER-OMP/reaxc_valence_angles_omp.h b/src/USER-OMP/reaxc_valence_angles_omp.h deleted file mode 100644 index 5a8d992b0d..0000000000 --- a/src/USER-OMP/reaxc_valence_angles_omp.h +++ /dev/null @@ -1,39 +0,0 @@ -/*---------------------------------------------------------------------- - PuReMD - Purdue ReaxFF Molecular Dynamics Program - Website: https://www.cs.purdue.edu/puremd - - Copyright (2010) Purdue University - - Contributing authors: - H. M. Aktulga, J. Fogarty, S. Pandit, A. Grama - Corresponding author: - Hasan Metin Aktulga, Michigan State University, hma@cse.msu.edu - - Please cite the related publication: - H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama, - "Parallel Reactive Molecular Dynamics: Numerical Methods and - Algorithmic Techniques", Parallel Computing, 38 (4-5), 245-259 - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License as - published by the Free Software Foundation; either version 2 of - the License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - See the GNU General Public License for more details: - . - ----------------------------------------------------------------------*/ - -#ifndef __VALENCE_ANGLES_OMP_H_ -#define __VALENCE_ANGLES_OMP_H_ - -#include "reaxc_types.h" - -void Valence_AnglesOMP( reax_system*, control_params*, simulation_data*, - storage*, reax_list**, output_controls* ); - -void Calculate_dCos_ThetaOMP( rvec, double, rvec, double, rvec*, rvec*, rvec* ); - -#endif diff --git a/src/USER-OMP/reaxff_omp.h b/src/USER-OMP/reaxff_omp.h index f6ca7116ca..630fe07a43 100644 --- a/src/USER-OMP/reaxff_omp.h +++ b/src/USER-OMP/reaxff_omp.h @@ -23,53 +23,84 @@ #include "reaxff_types.h" -namespace ReaxFF -{ - // uncomment to enabled collecting ReaxFF OpenMP timing data - // #define OMP_TIMING 1 - -#ifdef OMP_TIMING - // pkcoff timing fields - enum { COMPUTEINDEX=0, - COMPUTEWLINDEX, - COMPUTEBFINDEX, - COMPUTEQEQINDEX, - COMPUTENBFINDEX, - COMPUTEIFINDEX, - COMPUTETFINDEX, - COMPUTEBOINDEX, - COMPUTEBONDSINDEX, - COMPUTEATOMENERGYINDEX, - COMPUTEVALENCEANGLESBOINDEX, - COMPUTETORSIONANGLESBOINDEX, - COMPUTEHBONDSINDEX, - COMPUTECG1INDEX, - COMPUTECG2INDEX, - COMPUTECGCOMPUTEINDEX, - COMPUTECALCQINDEX, - COMPUTEINITMVINDEX, - COMPUTEMVCOMPINDEX, - LASTTIMINGINDEX - }; - - extern double ompTimingData[LASTTIMINGINDEX]; - extern int ompTimingCount[LASTTIMINGINDEX]; - extern int ompTimingCGCount[LASTTIMINGINDEX]; +#if defined(_OPENMP) +#include #endif +namespace ReaxFF +{ // exported Functions + // bond orders OpenMP + + extern void Add_dBond_to_ForcesOMP(reax_system *, int, int, storage *, reax_list **); + extern void Add_dBond_to_Forces_NPTOMP(reax_system *, int, int, storage *, reax_list **); + extern int BOp_OMP(storage *, reax_list *, double, int, int, far_neighbor_data *, + single_body_parameters *, single_body_parameters *, + two_body_parameters *, int, double, double, double, + double, double, double, double); + + extern void BOOMP(reax_system *, control_params *, simulation_data *, + storage *, reax_list **, output_controls *); + + // bonds OpenMP + + extern void BondsOMP(reax_system *, simulation_data *, + storage *, reax_list **); + // forces OpenMP extern void Compute_ForcesOMP(reax_system *, control_params *, simulation_data *, storage *, reax_list **, output_controls *); + // hydrogen bonds + + extern void Hydrogen_BondsOMP(reax_system *, control_params *, + simulation_data *, storage *, reax_list **); + // init md OpenMP extern void InitializeOMP(reax_system *, control_params *, simulation_data *, storage *, reax_list **, output_controls *, MPI_Comm); + + // multi body + + extern void Atom_EnergyOMP(reax_system *, simulation_data *, storage *, reax_list **); + + // nonbonded + + extern void vdW_Coulomb_Energy_OMP(reax_system *, control_params *, + simulation_data *, storage *, reax_list **); + extern void Tabulated_vdW_Coulomb_Energy_OMP(reax_system *, control_params *, + simulation_data *, storage *, + reax_list **); + extern void LR_vdW_CoulombOMP(reax_system *, storage *, control_params *, + int, int, double, LR_data *); + + // torsion angles + + extern void Torsion_AnglesOMP(reax_system *, control_params *, + simulation_data *, storage *, reax_list **); + + // valence angles + + extern void Calculate_ThetaOMP(rvec, double, rvec, double, double *, double *); + extern void Calculate_dCos_ThetaOMP(rvec, double, rvec, double, + rvec *, rvec *, rvec *); + extern void Valence_AnglesOMP(reax_system *, control_params *, simulation_data *, + storage *, reax_list **); + + // OpenMP helpers + + inline int get_tid() { +#if defined(_OPENMP) + return omp_get_thread_num(); +#else + return 0; +#endif + } } #endif diff --git a/src/USER-REAXC/fix_reaxc_species.cpp b/src/USER-REAXC/fix_reaxc_species.cpp index 8128b23662..2f7029e960 100644 --- a/src/USER-REAXC/fix_reaxc_species.cpp +++ b/src/USER-REAXC/fix_reaxc_species.cpp @@ -28,12 +28,12 @@ #include "modify.h" #include "neigh_list.h" #include "neighbor.h" -#include "pair_reaxc.h" #include "update.h" -#include +#include "pair_reaxc.h" +#include "reaxff_defs.h" -#include "reaxc_defs.h" +#include using namespace LAMMPS_NS; using namespace FixConst; diff --git a/src/USER-REAXC/pair_reaxc.cpp b/src/USER-REAXC/pair_reaxc.cpp index a1772f9551..aa445d765d 100644 --- a/src/USER-REAXC/pair_reaxc.cpp +++ b/src/USER-REAXC/pair_reaxc.cpp @@ -417,7 +417,7 @@ void PairReaxC::setup() // initialize my data structures - PreAllocate_Space(api->system, api->control, api->workspace); + PreAllocate_Space(api->system, api->workspace); write_reax_atoms(); int num_nbrs = estimate_reax_lists(); @@ -430,7 +430,8 @@ void PairReaxC::setup() write_reax_lists(); api->system->wsize = comm->nprocs; - Initialize(api->system, api->control, api->data, api->workspace, &api->lists, api->out_control, world); + Initialize(api->system, api->control, api->data, api->workspace, + &api->lists, api->out_control, world); for (int k = 0; k < api->system->N; ++k) { num_bonds[k] = api->system->my_atoms[k].num_bonds; num_hbonds[k] = api->system->my_atoms[k].num_hbonds; diff --git a/src/USER-REAXC/reaxc_allocate.cpp b/src/USER-REAXC/reaxc_allocate.cpp index 3d68bb6944..143da54849 100644 --- a/src/USER-REAXC/reaxc_allocate.cpp +++ b/src/USER-REAXC/reaxc_allocate.cpp @@ -24,344 +24,312 @@ . ----------------------------------------------------------------------*/ -#include "reaxc_allocate.h" -#include -#include "reaxc_defs.h" -#include "reaxc_list.h" -#include "reaxc_tool_box.h" - -#if defined(LMP_USER_OMP) && defined(_OPENMP) -#include -#endif +#include "reaxff_api.h" #include "error.h" -/* allocate space for my_atoms - important: we cannot know the exact number of atoms that will fall into a - process's box throughout the whole simulation. therefore - we need to make upper bound estimates for various data structures */ -int PreAllocate_Space( reax_system *system, control_params * /*control*/, - storage * workspace ) -{ - int mincap = system->mincap; - double safezone = system->safezone; +namespace ReaxFF { - // determine the local and total capacity + /* allocate space for my_atoms + important: we cannot know the exact number of atoms that will fall into a + process's box throughout the whole simulation. therefore + we need to make upper bound estimates for various data structures */ + void PreAllocate_Space(reax_system *system, storage * workspace) + { + const int mincap = system->mincap; + const double safezone = system->safezone; - system->local_cap = MAX( (int)(system->n * safezone), mincap ); - system->total_cap = MAX( (int)(system->N * safezone), mincap ); + // determine the local and total capacity - system->my_atoms = (reax_atom*) - scalloc(system->error_ptr, system->total_cap, sizeof(reax_atom), "my_atoms"); + system->local_cap = MAX((int)(system->n * safezone), mincap); + system->total_cap = MAX((int)(system->N * safezone), mincap); - // Nullify some arrays only used in omp styles - // Should be safe to do here since called in pair->setup(); -#ifdef LMP_USER_OMP - workspace->CdDeltaReduction = nullptr; - workspace->forceReduction = nullptr; - workspace->valence_angle_atom_myoffset = nullptr; -#else - LMP_UNUSED_PARAM(workspace); -#endif + system->my_atoms = (reax_atom*) scalloc(system->error_ptr, + system->total_cap, sizeof(reax_atom), "my_atoms"); - return SUCCESS; -} + // Nullify some arrays only used in omp styles + // Should be safe to do here since called in pair->setup(); + workspace->CdDeltaReduction = nullptr; + workspace->forceReduction = nullptr; + workspace->valence_angle_atom_myoffset = nullptr; + } -/************* system *************/ + /************* system *************/ -void DeAllocate_System( reax_system *system ) -{ - int i, j, k; - int ntypes; - reax_interaction *ff_params; + void DeAllocate_System(reax_system *system) + { + int i, j, k; + int ntypes; + reax_interaction *ff_params; + auto error = system->error_ptr; - // deallocate the atom list - sfree(system->error_ptr, system->my_atoms, "system->my_atoms" ); + // deallocate the atom list + sfree(error, system->my_atoms, "system->my_atoms"); - // deallocate the ffield parameters storage - ff_params = &(system->reax_param); - ntypes = ff_params->num_atom_types; + // deallocate the ffield parameters storage + ff_params = &(system->reax_param); + ntypes = ff_params->num_atom_types; - sfree(system->error_ptr, ff_params->gp.l, "ff:globals" ); + sfree(error, ff_params->gp.l, "ff:globals"); - for (i = 0; i < ntypes; ++i) { - for (j = 0; j < ntypes; ++j) { - for (k = 0; k < ntypes; ++k) { - sfree(system->error_ptr, ff_params->fbp[i][j][k], "ff:fbp[i,j,k]" ); + for (i = 0; i < ntypes; ++i) { + for (j = 0; j < ntypes; ++j) { + for (k = 0; k < ntypes; ++k) { + sfree(error, ff_params->fbp[i][j][k], "ff:fbp[i,j,k]"); + } + sfree(error, ff_params->fbp[i][j], "ff:fbp[i,j]"); + sfree(error, ff_params->thbp[i][j], "ff:thbp[i,j]"); + sfree(error, ff_params->hbp[i][j], "ff:hbp[i,j]"); } - sfree(system->error_ptr, ff_params->fbp[i][j], "ff:fbp[i,j]" ); - sfree(system->error_ptr, ff_params->thbp[i][j], "ff:thbp[i,j]" ); - sfree(system->error_ptr, ff_params->hbp[i][j], "ff:hbp[i,j]" ); + sfree(error, ff_params->fbp[i], "ff:fbp[i]"); + sfree(error, ff_params->thbp[i], "ff:thbp[i]"); + sfree(error, ff_params->hbp[i], "ff:hbp[i]"); + sfree(error, ff_params->tbp[i], "ff:tbp[i]"); } - sfree(system->error_ptr, ff_params->fbp[i], "ff:fbp[i]" ); - sfree(system->error_ptr, ff_params->thbp[i], "ff:thbp[i]" ); - sfree(system->error_ptr, ff_params->hbp[i], "ff:hbp[i]" ); - sfree(system->error_ptr, ff_params->tbp[i], "ff:tbp[i]" ); + sfree(error, ff_params->fbp, "ff:fbp"); + sfree(error, ff_params->thbp, "ff:thbp"); + sfree(error, ff_params->hbp, "ff:hbp"); + sfree(error, ff_params->tbp, "ff:tbp"); + sfree(error, ff_params->sbp, "ff:sbp"); } - sfree(system->error_ptr, ff_params->fbp, "ff:fbp" ); - sfree(system->error_ptr, ff_params->thbp, "ff:thbp" ); - sfree(system->error_ptr, ff_params->hbp, "ff:hbp" ); - sfree(system->error_ptr, ff_params->tbp, "ff:tbp" ); - sfree(system->error_ptr, ff_params->sbp, "ff:sbp" ); -} + /************* workspace *************/ + void DeAllocate_Workspace(control_params *control, storage *workspace) + { + if (!workspace->allocated) + return; -/************* workspace *************/ -void DeAllocate_Workspace( control_params * control, storage *workspace ) -{ - if (!workspace->allocated) - return; + workspace->allocated = 0; + auto error = control->error_ptr; - workspace->allocated = 0; + /* bond order storage */ + sfree(error, workspace->total_bond_order, "total_bo"); + sfree(error, workspace->Deltap, "Deltap"); + sfree(error, workspace->Deltap_boc, "Deltap_boc"); + sfree(error, workspace->dDeltap_self, "dDeltap_self"); + sfree(error, workspace->Delta, "Delta"); + sfree(error, workspace->Delta_lp, "Delta_lp"); + sfree(error, workspace->Delta_lp_temp, "Delta_lp_temp"); + sfree(error, workspace->dDelta_lp, "dDelta_lp"); + sfree(error, workspace->dDelta_lp_temp, "dDelta_lp_temp"); + sfree(error, workspace->Delta_e, "Delta_e"); + sfree(error, workspace->Delta_boc, "Delta_boc"); + sfree(error, workspace->Delta_val, "Delta_val"); + sfree(error, workspace->nlp, "nlp"); + sfree(error, workspace->nlp_temp, "nlp_temp"); + sfree(error, workspace->Clp, "Clp"); + sfree(error, workspace->vlpex, "vlpex"); + sfree(error, workspace->bond_mark, "bond_mark"); - /* bond order storage */ - sfree(control->error_ptr, workspace->total_bond_order, "total_bo" ); - sfree(control->error_ptr, workspace->Deltap, "Deltap" ); - sfree(control->error_ptr, workspace->Deltap_boc, "Deltap_boc" ); - sfree(control->error_ptr, workspace->dDeltap_self, "dDeltap_self" ); - sfree(control->error_ptr, workspace->Delta, "Delta" ); - sfree(control->error_ptr, workspace->Delta_lp, "Delta_lp" ); - sfree(control->error_ptr, workspace->Delta_lp_temp, "Delta_lp_temp" ); - sfree(control->error_ptr, workspace->dDelta_lp, "dDelta_lp" ); - sfree(control->error_ptr, workspace->dDelta_lp_temp, "dDelta_lp_temp" ); - sfree(control->error_ptr, workspace->Delta_e, "Delta_e" ); - sfree(control->error_ptr, workspace->Delta_boc, "Delta_boc" ); - sfree(control->error_ptr, workspace->Delta_val, "Delta_val" ); - sfree(control->error_ptr, workspace->nlp, "nlp" ); - sfree(control->error_ptr, workspace->nlp_temp, "nlp_temp" ); - sfree(control->error_ptr, workspace->Clp, "Clp" ); - sfree(control->error_ptr, workspace->vlpex, "vlpex" ); - sfree(control->error_ptr, workspace->bond_mark, "bond_mark" ); + /* force related storage */ + sfree(error, workspace->f, "f"); + sfree(error, workspace->CdDelta, "CdDelta"); - /* force related storage */ - sfree(control->error_ptr, workspace->f, "f" ); - sfree(control->error_ptr, workspace->CdDelta, "CdDelta" ); + /* reductions */ - /* reductions */ -#ifdef LMP_USER_OMP - if (workspace->CdDeltaReduction) sfree(control->error_ptr, workspace->CdDeltaReduction, "cddelta_reduce" ); - if (workspace->forceReduction) sfree(control->error_ptr, workspace->forceReduction, "f_reduce" ); - if (workspace->valence_angle_atom_myoffset) sfree(control->error_ptr, workspace->valence_angle_atom_myoffset, "valence_angle_atom_myoffset"); -#endif -} - -void Allocate_Workspace( control_params *control, storage *workspace, int total_cap) -{ - int total_real, total_rvec; - - workspace->allocated = 1; - total_real = total_cap * sizeof(double); - total_rvec = total_cap * sizeof(rvec); - - /* bond order related storage */ - workspace->total_bond_order = (double*) smalloc(control->error_ptr, total_real, "total_bo"); - workspace->Deltap = (double*) smalloc(control->error_ptr, total_real, "Deltap"); - workspace->Deltap_boc = (double*) smalloc(control->error_ptr, total_real, "Deltap_boc"); - workspace->dDeltap_self = (rvec*) smalloc(control->error_ptr, total_rvec, "dDeltap_self"); - workspace->Delta = (double*) smalloc(control->error_ptr, total_real, "Delta"); - workspace->Delta_lp = (double*) smalloc(control->error_ptr, total_real, "Delta_lp"); - workspace->Delta_lp_temp = (double*) - smalloc(control->error_ptr, total_real, "Delta_lp_temp"); - workspace->dDelta_lp = (double*) smalloc(control->error_ptr, total_real, "dDelta_lp"); - workspace->dDelta_lp_temp = (double*) - smalloc(control->error_ptr, total_real, "dDelta_lp_temp"); - workspace->Delta_e = (double*) smalloc(control->error_ptr, total_real, "Delta_e"); - workspace->Delta_boc = (double*) smalloc(control->error_ptr, total_real, "Delta_boc"); - workspace->Delta_val = (double*) smalloc(control->error_ptr, total_real, "Delta_val"); - workspace->nlp = (double*) smalloc(control->error_ptr, total_real, "nlp"); - workspace->nlp_temp = (double*) smalloc(control->error_ptr, total_real, "nlp_temp"); - workspace->Clp = (double*) smalloc(control->error_ptr, total_real, "Clp"); - workspace->vlpex = (double*) smalloc(control->error_ptr, total_real, "vlpex"); - workspace->bond_mark = (int*) - scalloc(control->error_ptr, total_cap, sizeof(int), "bond_mark"); - - /* force related storage */ - workspace->f = (rvec*) scalloc(control->error_ptr, total_cap, sizeof(rvec), "f"); - workspace->CdDelta = (double*) - scalloc(control->error_ptr, total_cap, sizeof(double), "CdDelta"); - - // storage for reductions with multiple threads -#ifdef LMP_USER_OMP - workspace->CdDeltaReduction = (double *) scalloc(control->error_ptr, sizeof(double), (rc_bigint)total_cap*control->nthreads, - "cddelta_reduce"); - - workspace->forceReduction = (rvec *) scalloc(control->error_ptr, sizeof(rvec), (rc_bigint)total_cap*control->nthreads, - "forceReduction"); - - workspace->valence_angle_atom_myoffset = (int *) scalloc(control->error_ptr, sizeof(int), total_cap, "valence_angle_atom_myoffset"); -#else - LMP_UNUSED_PARAM(control); -#endif -} - - -static void Reallocate_Neighbor_List( reax_list *far_nbrs, int n, - int num_intrs ) -{ - Delete_List( far_nbrs); - if (!Make_List( n, num_intrs, TYP_FAR_NEIGHBOR, far_nbrs )) { - far_nbrs->error_ptr->one(FLERR,"Problem in initializing far neighbors list"); + if (workspace->CdDeltaReduction) + sfree(error, workspace->CdDeltaReduction, "cddelta_reduce"); + if (workspace->forceReduction) + sfree(error, workspace->forceReduction, "f_reduce"); + if (workspace->valence_angle_atom_myoffset) + sfree(error, workspace->valence_angle_atom_myoffset, "valence_angle_atom_myoffset"); + } + + void Allocate_Workspace(control_params *control, storage *workspace, int total_cap) + { + int total_real, total_rvec; + auto error = control->error_ptr; + + workspace->allocated = 1; + total_real = total_cap * sizeof(double); + total_rvec = total_cap * sizeof(rvec); + + /* bond order related storage */ + workspace->total_bond_order = (double*) smalloc(error, total_real, "total_bo"); + workspace->Deltap = (double*) smalloc(error, total_real, "Deltap"); + workspace->Deltap_boc = (double*) smalloc(error, total_real, "Deltap_boc"); + workspace->dDeltap_self = (rvec*) smalloc(error, total_rvec, "dDeltap_self"); + workspace->Delta = (double*) smalloc(error, total_real, "Delta"); + workspace->Delta_lp = (double*) smalloc(error, total_real, "Delta_lp"); + workspace->Delta_lp_temp = (double*) smalloc(error, total_real, "Delta_lp_temp"); + workspace->dDelta_lp = (double*) smalloc(error, total_real, "dDelta_lp"); + workspace->dDelta_lp_temp = (double*) smalloc(error, total_real, "dDelta_lp_temp"); + workspace->Delta_e = (double*) smalloc(error, total_real, "Delta_e"); + workspace->Delta_boc = (double*) smalloc(error, total_real, "Delta_boc"); + workspace->Delta_val = (double*) smalloc(error, total_real, "Delta_val"); + workspace->nlp = (double*) smalloc(error, total_real, "nlp"); + workspace->nlp_temp = (double*) smalloc(error, total_real, "nlp_temp"); + workspace->Clp = (double*) smalloc(error, total_real, "Clp"); + workspace->vlpex = (double*) smalloc(error, total_real, "vlpex"); + workspace->bond_mark = (int*) scalloc(error, total_cap, sizeof(int), "bond_mark"); + + /* force related storage */ + workspace->f = (rvec*) scalloc(error, total_cap, sizeof(rvec), "f"); + workspace->CdDelta = (double*) scalloc(error, total_cap, sizeof(double), "CdDelta"); + + // storage for reductions with multiple threads + + workspace->CdDeltaReduction = (double *) scalloc(error, + sizeof(double), (rc_bigint)total_cap*control->nthreads, "cddelta_reduce"); + workspace->forceReduction = (rvec *) scalloc(error, + sizeof(rvec), (rc_bigint)total_cap*control->nthreads, "forceReduction"); + workspace->valence_angle_atom_myoffset = (int *) scalloc(error, + sizeof(int), total_cap, "valence_angle_atom_myoffset"); } -} -static int Reallocate_HBonds_List( reax_system *system, reax_list *hbonds ) -{ - int i, total_hbonds; - - int mincap = system->mincap; - double saferzone = system->saferzone; - - total_hbonds = 0; - for (i = 0; i < system->n; ++i) - if ((system->my_atoms[i].Hindex) >= 0) { - total_hbonds += system->my_atoms[i].num_hbonds; + static void Reallocate_Neighbor_List(reax_list *far_nbrs, int n, int num_intrs) + { + Delete_List(far_nbrs); + if (!Make_List(n, num_intrs, TYP_FAR_NEIGHBOR, far_nbrs)) { + far_nbrs->error_ptr->one(FLERR,"Problem in initializing far neighbors list"); } - total_hbonds = (int)(MAX(total_hbonds*saferzone, mincap*system->minhbonds)); - - Delete_List( hbonds); - if (!Make_List( system->Hcap, total_hbonds, TYP_HBOND, hbonds )) { - hbonds->error_ptr->one(FLERR, "Not enough space for hydrogen bonds list"); } - return total_hbonds; -} + static int Reallocate_HBonds_List(reax_system *system, reax_list *hbonds) + { + int i, total_hbonds; + int mincap = system->mincap; + double saferzone = system->saferzone; -static int Reallocate_Bonds_List( reax_system *system, reax_list *bonds, - int *total_bonds, int *est_3body ) -{ - int i; + total_hbonds = 0; + for (i = 0; i < system->n; ++i) + if ((system->my_atoms[i].Hindex) >= 0) { + total_hbonds += system->my_atoms[i].num_hbonds; + } + total_hbonds = (int)(MAX(total_hbonds*saferzone, mincap*system->minhbonds)); - int mincap = system->mincap; - double safezone = system->safezone; + Delete_List(hbonds); + if (!Make_List(system->Hcap, total_hbonds, TYP_HBOND, hbonds)) { + hbonds->error_ptr->one(FLERR, "Not enough space for hydrogen bonds list"); + } - *total_bonds = 0; - *est_3body = 0; - for (i = 0; i < system->N; ++i) { - *est_3body += SQR(system->my_atoms[i].num_bonds); - *total_bonds += system->my_atoms[i].num_bonds; - } - *total_bonds = (int)(MAX( *total_bonds * safezone, mincap*MIN_BONDS )); - -#ifdef LMP_USER_OMP - if (system->omp_active) - for (i = 0; i < bonds->num_intrs; ++i) - sfree(system->error_ptr, bonds->select.bond_list[i].bo_data.CdboReduction, "CdboReduction"); -#endif - - Delete_List( bonds); - if (!Make_List(system->total_cap, *total_bonds, TYP_BOND, bonds)) { - bonds->error_ptr->one(FLERR, "Not enough space for bonds list"); + return total_hbonds; } -#ifdef LMP_USER_OMP -#if defined(_OPENMP) - int nthreads = omp_get_num_threads(); -#else - int nthreads = 1; -#endif + static int Reallocate_Bonds_List(control_params *control, reax_system *system, + reax_list *bonds, int *total_bonds, int *est_3body) + { + int i; - if (system->omp_active) - for (i = 0; i < bonds->num_intrs; ++i) - bonds->select.bond_list[i].bo_data.CdboReduction = - (double*) smalloc(system->error_ptr, sizeof(double)*nthreads, "CdboReduction"); -#endif + int mincap = system->mincap; + double safezone = system->safezone; - return SUCCESS; -} + *total_bonds = 0; + *est_3body = 0; + for (i = 0; i < system->N; ++i) { + *est_3body += SQR(system->my_atoms[i].num_bonds); + *total_bonds += system->my_atoms[i].num_bonds; + } + *total_bonds = (int)(MAX(*total_bonds * safezone, mincap*MIN_BONDS)); + if (system->omp_active) + for (i = 0; i < bonds->num_intrs; ++i) + sfree(system->error_ptr, bonds->select.bond_list[i].bo_data.CdboReduction, "CdboReduction"); -void ReAllocate( reax_system *system, control_params *control, - simulation_data *data, storage *workspace, reax_list **lists ) -{ - auto error = system->error_ptr; - int num_bonds, est_3body, Hflag; - int newsize; - reallocate_data *wsr; - reax_list *far_nbrs; + Delete_List(bonds); + if (!Make_List(system->total_cap, *total_bonds, TYP_BOND, bonds)) { + bonds->error_ptr->one(FLERR, "Not enough space for bonds list"); + } - int mincap = system->mincap; - double safezone = system->safezone; - double saferzone = system->saferzone; + if (system->omp_active) + for (i = 0; i < bonds->num_intrs; ++i) + bonds->select.bond_list[i].bo_data.CdboReduction = + (double*) smalloc(system->error_ptr, sizeof(double)*control->nthreads, "CdboReduction"); - wsr = &(workspace->realloc); - - if ( system->n >= DANGER_ZONE * system->local_cap || - (0 && system->n <= LOOSE_ZONE * system->local_cap)) { - system->local_cap = MAX( (int)(system->n * safezone), mincap ); + return SUCCESS; } - int Nflag = 0; - if ( system->N >= DANGER_ZONE * system->total_cap || - (0 && system->N <= LOOSE_ZONE * system->total_cap)) { - Nflag = 1; - system->total_cap = MAX( (int)(system->N * safezone), mincap ); - } + void ReAllocate(reax_system *system, control_params *control, + simulation_data *data, storage *workspace, reax_list **lists) + { + int num_bonds, est_3body, Hflag; + int newsize; + reax_list *far_nbrs; - if (Nflag) { - /* system */ - system->my_atoms = (reax_atom *)::realloc(system->my_atoms, - system->total_cap*sizeof(reax_atom)); - /* workspace */ - DeAllocate_Workspace(control, workspace); - Allocate_Workspace(control, workspace, system->total_cap); - } + int mincap = system->mincap; + double safezone = system->safezone; + double saferzone = system->saferzone; - /* far neighbors */ + auto error = system->error_ptr; + reallocate_data *wsr = &(workspace->realloc); - far_nbrs = *lists + FAR_NBRS; + if (system->n >= DANGER_ZONE * system->local_cap || + (0 && system->n <= LOOSE_ZONE * system->local_cap)) { + system->local_cap = MAX((int)(system->n * safezone), mincap); + } - if (Nflag || wsr->num_far >= far_nbrs->num_intrs * DANGER_ZONE) { - if (wsr->num_far > far_nbrs->num_intrs) - error->one(FLERR,fmt::format("step{}: ran out of space on far_nbrs: top={}, max={}", + int Nflag = 0; + if (system->N >= DANGER_ZONE * system->total_cap || + (0 && system->N <= LOOSE_ZONE * system->total_cap)) { + Nflag = 1; + system->total_cap = MAX((int)(system->N * safezone), mincap); + } + + if (Nflag) { + /* system */ + system->my_atoms = (reax_atom *)::realloc(system->my_atoms, + system->total_cap*sizeof(reax_atom)); + /* workspace */ + DeAllocate_Workspace(control, workspace); + Allocate_Workspace(control, workspace, system->total_cap); + } + + /* far neighbors */ + + far_nbrs = *lists + FAR_NBRS; + + if (Nflag || wsr->num_far >= far_nbrs->num_intrs * DANGER_ZONE) { + if (wsr->num_far > far_nbrs->num_intrs) + error->one(FLERR,fmt::format("step{}: ran out of space on far_nbrs: top={}, max={}", data->step, wsr->num_far, far_nbrs->num_intrs)); - newsize = static_cast - (MAX( wsr->num_far*safezone, mincap*REAX_MIN_NBRS)); + newsize = static_cast + (MAX(wsr->num_far*safezone, mincap*REAX_MIN_NBRS)); - Reallocate_Neighbor_List( far_nbrs, system->total_cap, newsize); - wsr->num_far = 0; - } - - /* hydrogen bonds list */ - if (control->hbond_cut > 0) { - Hflag = 0; - if ( system->numH >= DANGER_ZONE * system->Hcap || - (0 && system->numH <= LOOSE_ZONE * system->Hcap)) { - Hflag = 1; - system->Hcap = int(MAX( system->numH * saferzone, mincap )); + Reallocate_Neighbor_List(far_nbrs, system->total_cap, newsize); + wsr->num_far = 0; } - if (Hflag || wsr->hbonds) { - Reallocate_HBonds_List( system, (*lists)+HBONDS); - wsr->hbonds = 0; + /* hydrogen bonds list */ + if (control->hbond_cut > 0) { + Hflag = 0; + if (system->numH >= DANGER_ZONE * system->Hcap || + (0 && system->numH <= LOOSE_ZONE * system->Hcap)) { + Hflag = 1; + system->Hcap = int(MAX(system->numH * saferzone, mincap)); + } + + if (Hflag || wsr->hbonds) { + Reallocate_HBonds_List(system, (*lists)+HBONDS); + wsr->hbonds = 0; + } } - } - /* bonds list */ - num_bonds = est_3body = -1; - if (Nflag || wsr->bonds) { - Reallocate_Bonds_List( system, (*lists)+BONDS, &num_bonds, - &est_3body); - wsr->bonds = 0; - wsr->num_3body = MAX( wsr->num_3body, est_3body ) * 2; - } - - /* 3-body list */ - if (wsr->num_3body > 0) { - Delete_List( (*lists)+THREE_BODIES); - - if (num_bonds == -1) - num_bonds = ((*lists)+BONDS)->num_intrs; - - wsr->num_3body = (int)(MAX(wsr->num_3body*safezone, MIN_3BODIES)); - - if ( !Make_List( num_bonds, wsr->num_3body, TYP_THREE_BODY, - (*lists)+THREE_BODIES )) { - error->one(FLERR, "Problem in initializing angles list"); + /* bonds list */ + num_bonds = est_3body = -1; + if (Nflag || wsr->bonds) { + Reallocate_Bonds_List(control, system, (*lists)+BONDS, &num_bonds, &est_3body); + wsr->bonds = 0; + wsr->num_3body = MAX(wsr->num_3body, est_3body) * 2; + } + + /* 3-body list */ + if (wsr->num_3body > 0) { + Delete_List((*lists)+THREE_BODIES); + + if (num_bonds == -1) + num_bonds = ((*lists)+BONDS)->num_intrs; + + wsr->num_3body = (int)(MAX(wsr->num_3body*safezone, MIN_3BODIES)); + + if (!Make_List(num_bonds, wsr->num_3body, TYP_THREE_BODY, + (*lists)+THREE_BODIES)) { + error->one(FLERR, "Problem in initializing angles list"); + } + wsr->num_3body = -1; } - wsr->num_3body = -1; } } diff --git a/src/USER-REAXC/reaxc_allocate.h b/src/USER-REAXC/reaxc_allocate.h deleted file mode 100644 index 7229927b57..0000000000 --- a/src/USER-REAXC/reaxc_allocate.h +++ /dev/null @@ -1,41 +0,0 @@ -/*---------------------------------------------------------------------- - PuReMD - Purdue ReaxFF Molecular Dynamics Program - - Copyright (2010) Purdue University - Hasan Metin Aktulga, hmaktulga@lbl.gov - Joseph Fogarty, jcfogart@mail.usf.edu - Sagar Pandit, pandit@usf.edu - Ananth Y Grama, ayg@cs.purdue.edu - - Please cite the related publication: - H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama, - "Parallel Reactive Molecular Dynamics: Numerical Methods and - Algorithmic Techniques", Parallel Computing, in press. - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License as - published by the Free Software Foundation; either version 2 of - the License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - See the GNU General Public License for more details: - . - ----------------------------------------------------------------------*/ - -#ifndef __ALLOCATE_H_ -#define __ALLOCATE_H_ - -#include "reaxc_types.h" - -int PreAllocate_Space(reax_system *, control_params *, storage *); - -void DeAllocate_System(reax_system *); - -void Allocate_Workspace(control_params *, storage *, int); -void DeAllocate_Workspace(control_params *, storage *); - -void ReAllocate(reax_system *, control_params *, simulation_data *, - storage*, reax_list**); -#endif diff --git a/src/USER-REAXC/reaxc_bond_orders.cpp b/src/USER-REAXC/reaxc_bond_orders.cpp index 0c26784ccb..ae6fc3b823 100644 --- a/src/USER-REAXC/reaxc_bond_orders.cpp +++ b/src/USER-REAXC/reaxc_bond_orders.cpp @@ -24,555 +24,543 @@ . ----------------------------------------------------------------------*/ -#include "reaxc_bond_orders.h" -#include +#include "reaxff_api.h" + #include "pair.h" -#include "reaxc_defs.h" -#include "reaxc_types.h" -#include "reaxc_list.h" -#include "reaxc_vector.h" -void Add_dBond_to_Forces_NPT( int i, int pj, - storage *workspace, reax_list **lists ) -{ - reax_list *bonds = (*lists) + BONDS; - bond_data *nbr_j, *nbr_k; - bond_order_data *bo_ij, *bo_ji; - dbond_coefficients coef; - rvec temp; - int pk, k, j; +#include - /* Initializations */ - nbr_j = &(bonds->select.bond_list[pj]); - j = nbr_j->nbr; - bo_ij = &(nbr_j->bo_data); - bo_ji = &(bonds->select.bond_list[ nbr_j->sym_index ].bo_data); +namespace ReaxFF { + void Add_dBond_to_Forces_NPT( int i, int pj, storage *workspace, reax_list **lists ) + { + reax_list *bonds = (*lists) + BONDS; + bond_data *nbr_j, *nbr_k; + bond_order_data *bo_ij, *bo_ji; + dbond_coefficients coef; + rvec temp; + int pk, k, j; - coef.C1dbo = bo_ij->C1dbo * (bo_ij->Cdbo + bo_ji->Cdbo); - coef.C2dbo = bo_ij->C2dbo * (bo_ij->Cdbo + bo_ji->Cdbo); - coef.C3dbo = bo_ij->C3dbo * (bo_ij->Cdbo + bo_ji->Cdbo); + /* Initializations */ + nbr_j = &(bonds->select.bond_list[pj]); + j = nbr_j->nbr; + bo_ij = &(nbr_j->bo_data); + bo_ji = &(bonds->select.bond_list[ nbr_j->sym_index ].bo_data); - coef.C1dbopi = bo_ij->C1dbopi * (bo_ij->Cdbopi + bo_ji->Cdbopi); - coef.C2dbopi = bo_ij->C2dbopi * (bo_ij->Cdbopi + bo_ji->Cdbopi); - coef.C3dbopi = bo_ij->C3dbopi * (bo_ij->Cdbopi + bo_ji->Cdbopi); - coef.C4dbopi = bo_ij->C4dbopi * (bo_ij->Cdbopi + bo_ji->Cdbopi); + coef.C1dbo = bo_ij->C1dbo * (bo_ij->Cdbo + bo_ji->Cdbo); + coef.C2dbo = bo_ij->C2dbo * (bo_ij->Cdbo + bo_ji->Cdbo); + coef.C3dbo = bo_ij->C3dbo * (bo_ij->Cdbo + bo_ji->Cdbo); - coef.C1dbopi2 = bo_ij->C1dbopi2 * (bo_ij->Cdbopi2 + bo_ji->Cdbopi2); - coef.C2dbopi2 = bo_ij->C2dbopi2 * (bo_ij->Cdbopi2 + bo_ji->Cdbopi2); - coef.C3dbopi2 = bo_ij->C3dbopi2 * (bo_ij->Cdbopi2 + bo_ji->Cdbopi2); - coef.C4dbopi2 = bo_ij->C4dbopi2 * (bo_ij->Cdbopi2 + bo_ji->Cdbopi2); + coef.C1dbopi = bo_ij->C1dbopi * (bo_ij->Cdbopi + bo_ji->Cdbopi); + coef.C2dbopi = bo_ij->C2dbopi * (bo_ij->Cdbopi + bo_ji->Cdbopi); + coef.C3dbopi = bo_ij->C3dbopi * (bo_ij->Cdbopi + bo_ji->Cdbopi); + coef.C4dbopi = bo_ij->C4dbopi * (bo_ij->Cdbopi + bo_ji->Cdbopi); - coef.C1dDelta = bo_ij->C1dbo * (workspace->CdDelta[i]+workspace->CdDelta[j]); - coef.C2dDelta = bo_ij->C2dbo * (workspace->CdDelta[i]+workspace->CdDelta[j]); - coef.C3dDelta = bo_ij->C3dbo * (workspace->CdDelta[i]+workspace->CdDelta[j]); + coef.C1dbopi2 = bo_ij->C1dbopi2 * (bo_ij->Cdbopi2 + bo_ji->Cdbopi2); + coef.C2dbopi2 = bo_ij->C2dbopi2 * (bo_ij->Cdbopi2 + bo_ji->Cdbopi2); + coef.C3dbopi2 = bo_ij->C3dbopi2 * (bo_ij->Cdbopi2 + bo_ji->Cdbopi2); + coef.C4dbopi2 = bo_ij->C4dbopi2 * (bo_ij->Cdbopi2 + bo_ji->Cdbopi2); - for (pk = Start_Index(i, bonds); pk < End_Index(i, bonds); ++pk) { - nbr_k = &(bonds->select.bond_list[pk]); - k = nbr_k->nbr; + coef.C1dDelta = bo_ij->C1dbo * (workspace->CdDelta[i]+workspace->CdDelta[j]); + coef.C2dDelta = bo_ij->C2dbo * (workspace->CdDelta[i]+workspace->CdDelta[j]); + coef.C3dDelta = bo_ij->C3dbo * (workspace->CdDelta[i]+workspace->CdDelta[j]); - rvec_Scale(temp, -coef.C2dbo, nbr_k->bo_data.dBOp); /*2nd, dBO*/ - rvec_ScaledAdd(temp, -coef.C2dDelta, nbr_k->bo_data.dBOp);/*dDelta*/ - rvec_ScaledAdd(temp, -coef.C3dbopi, nbr_k->bo_data.dBOp); /*3rd, dBOpi*/ - rvec_ScaledAdd(temp, -coef.C3dbopi2, nbr_k->bo_data.dBOp);/*3rd, dBOpi2*/ + for (pk = Start_Index(i, bonds); pk < End_Index(i, bonds); ++pk) { + nbr_k = &(bonds->select.bond_list[pk]); + k = nbr_k->nbr; + + rvec_Scale(temp, -coef.C2dbo, nbr_k->bo_data.dBOp); /*2nd, dBO*/ + rvec_ScaledAdd(temp, -coef.C2dDelta, nbr_k->bo_data.dBOp);/*dDelta*/ + rvec_ScaledAdd(temp, -coef.C3dbopi, nbr_k->bo_data.dBOp); /*3rd, dBOpi*/ + rvec_ScaledAdd(temp, -coef.C3dbopi2, nbr_k->bo_data.dBOp);/*3rd, dBOpi2*/ + + /* force */ + rvec_Add( workspace->f[k], temp ); + } + + /* then atom i itself */ + rvec_Scale( temp, coef.C1dbo, bo_ij->dBOp ); /*1st,dBO*/ + rvec_ScaledAdd( temp, coef.C2dbo, workspace->dDeltap_self[i] ); /*2nd,dBO*/ + rvec_ScaledAdd( temp, coef.C1dDelta, bo_ij->dBOp ); /*1st,dBO*/ + rvec_ScaledAdd( temp, coef.C2dDelta, workspace->dDeltap_self[i] );/*2nd,dBO*/ + rvec_ScaledAdd( temp, coef.C1dbopi, bo_ij->dln_BOp_pi ); /*1st,dBOpi*/ + rvec_ScaledAdd( temp, coef.C2dbopi, bo_ij->dBOp ); /*2nd,dBOpi*/ + rvec_ScaledAdd( temp, coef.C3dbopi, workspace->dDeltap_self[i]);/*3rd,dBOpi*/ + + rvec_ScaledAdd( temp, coef.C1dbopi2, bo_ij->dln_BOp_pi2 ); /*1st,dBO_pi2*/ + rvec_ScaledAdd( temp, coef.C2dbopi2, bo_ij->dBOp ); /*2nd,dBO_pi2*/ + rvec_ScaledAdd( temp, coef.C3dbopi2, workspace->dDeltap_self[i] );/*3rd*/ /* force */ - rvec_Add( workspace->f[k], temp ); - } + rvec_Add( workspace->f[i], temp ); - /* then atom i itself */ - rvec_Scale( temp, coef.C1dbo, bo_ij->dBOp ); /*1st,dBO*/ - rvec_ScaledAdd( temp, coef.C2dbo, workspace->dDeltap_self[i] ); /*2nd,dBO*/ - rvec_ScaledAdd( temp, coef.C1dDelta, bo_ij->dBOp ); /*1st,dBO*/ - rvec_ScaledAdd( temp, coef.C2dDelta, workspace->dDeltap_self[i] );/*2nd,dBO*/ - rvec_ScaledAdd( temp, coef.C1dbopi, bo_ij->dln_BOp_pi ); /*1st,dBOpi*/ - rvec_ScaledAdd( temp, coef.C2dbopi, bo_ij->dBOp ); /*2nd,dBOpi*/ - rvec_ScaledAdd( temp, coef.C3dbopi, workspace->dDeltap_self[i]);/*3rd,dBOpi*/ + for (pk = Start_Index(j, bonds); pk < End_Index(j, bonds); ++pk) { + nbr_k = &(bonds->select.bond_list[pk]); + k = nbr_k->nbr; - rvec_ScaledAdd( temp, coef.C1dbopi2, bo_ij->dln_BOp_pi2 ); /*1st,dBO_pi2*/ - rvec_ScaledAdd( temp, coef.C2dbopi2, bo_ij->dBOp ); /*2nd,dBO_pi2*/ - rvec_ScaledAdd( temp, coef.C3dbopi2, workspace->dDeltap_self[i] );/*3rd*/ + rvec_Scale( temp, -coef.C3dbo, nbr_k->bo_data.dBOp ); /*3rd,dBO*/ + rvec_ScaledAdd( temp, -coef.C3dDelta, nbr_k->bo_data.dBOp);/*dDelta*/ + rvec_ScaledAdd( temp, -coef.C4dbopi, nbr_k->bo_data.dBOp); /*4th,dBOpi*/ + rvec_ScaledAdd( temp, -coef.C4dbopi2, nbr_k->bo_data.dBOp);/*4th,dBOpi2*/ - /* force */ - rvec_Add( workspace->f[i], temp ); + /* force */ + rvec_Add( workspace->f[k], temp ); + } - for (pk = Start_Index(j, bonds); pk < End_Index(j, bonds); ++pk) { - nbr_k = &(bonds->select.bond_list[pk]); - k = nbr_k->nbr; + /* then atom j itself */ + rvec_Scale( temp, -coef.C1dbo, bo_ij->dBOp ); /*1st, dBO*/ + rvec_ScaledAdd( temp, coef.C3dbo, workspace->dDeltap_self[j] ); /*2nd, dBO*/ + rvec_ScaledAdd( temp, -coef.C1dDelta, bo_ij->dBOp ); /*1st, dBO*/ + rvec_ScaledAdd( temp, coef.C3dDelta, workspace->dDeltap_self[j]);/*2nd, dBO*/ - rvec_Scale( temp, -coef.C3dbo, nbr_k->bo_data.dBOp ); /*3rd,dBO*/ - rvec_ScaledAdd( temp, -coef.C3dDelta, nbr_k->bo_data.dBOp);/*dDelta*/ - rvec_ScaledAdd( temp, -coef.C4dbopi, nbr_k->bo_data.dBOp); /*4th,dBOpi*/ - rvec_ScaledAdd( temp, -coef.C4dbopi2, nbr_k->bo_data.dBOp);/*4th,dBOpi2*/ + rvec_ScaledAdd( temp, -coef.C1dbopi, bo_ij->dln_BOp_pi ); /*1st,dBOpi*/ + rvec_ScaledAdd( temp, -coef.C2dbopi, bo_ij->dBOp ); /*2nd,dBOpi*/ + rvec_ScaledAdd( temp, coef.C4dbopi, workspace->dDeltap_self[j]);/*3rd,dBOpi*/ + + rvec_ScaledAdd( temp, -coef.C1dbopi2, bo_ij->dln_BOp_pi2 ); /*1st,dBOpi2*/ + rvec_ScaledAdd( temp, -coef.C2dbopi2, bo_ij->dBOp ); /*2nd,dBOpi2*/ + rvec_ScaledAdd( temp,coef.C4dbopi2,workspace->dDeltap_self[j]);/*3rd,dBOpi2*/ /* force */ - rvec_Add( workspace->f[k], temp ); + rvec_Add( workspace->f[j], temp ); } - /* then atom j itself */ - rvec_Scale( temp, -coef.C1dbo, bo_ij->dBOp ); /*1st, dBO*/ - rvec_ScaledAdd( temp, coef.C3dbo, workspace->dDeltap_self[j] ); /*2nd, dBO*/ - rvec_ScaledAdd( temp, -coef.C1dDelta, bo_ij->dBOp ); /*1st, dBO*/ - rvec_ScaledAdd( temp, coef.C3dDelta, workspace->dDeltap_self[j]);/*2nd, dBO*/ + void Add_dBond_to_Forces( reax_system *system, int i, int pj, + storage *workspace, reax_list **lists ) + { + reax_list *bonds = (*lists) + BONDS; + bond_data *nbr_j, *nbr_k; + bond_order_data *bo_ij, *bo_ji; + dbond_coefficients coef; + int pk, k, j; - rvec_ScaledAdd( temp, -coef.C1dbopi, bo_ij->dln_BOp_pi ); /*1st,dBOpi*/ - rvec_ScaledAdd( temp, -coef.C2dbopi, bo_ij->dBOp ); /*2nd,dBOpi*/ - rvec_ScaledAdd( temp, coef.C4dbopi, workspace->dDeltap_self[j]);/*3rd,dBOpi*/ + /* Virial Tallying variables */ + rvec fi_tmp, fj_tmp, fk_tmp, delij, delji, delki, delkj, temp; - rvec_ScaledAdd( temp, -coef.C1dbopi2, bo_ij->dln_BOp_pi2 ); /*1st,dBOpi2*/ - rvec_ScaledAdd( temp, -coef.C2dbopi2, bo_ij->dBOp ); /*2nd,dBOpi2*/ - rvec_ScaledAdd( temp,coef.C4dbopi2,workspace->dDeltap_self[j]);/*3rd,dBOpi2*/ + /* Initializations */ + nbr_j = &(bonds->select.bond_list[pj]); + j = nbr_j->nbr; + bo_ij = &(nbr_j->bo_data); + bo_ji = &(bonds->select.bond_list[ nbr_j->sym_index ].bo_data); - /* force */ - rvec_Add( workspace->f[j], temp ); -} + coef.C1dbo = bo_ij->C1dbo * (bo_ij->Cdbo + bo_ji->Cdbo); + coef.C2dbo = bo_ij->C2dbo * (bo_ij->Cdbo + bo_ji->Cdbo); + coef.C3dbo = bo_ij->C3dbo * (bo_ij->Cdbo + bo_ji->Cdbo); -void Add_dBond_to_Forces( reax_system *system, int i, int pj, - storage *workspace, reax_list **lists ) -{ - reax_list *bonds = (*lists) + BONDS; - bond_data *nbr_j, *nbr_k; - bond_order_data *bo_ij, *bo_ji; - dbond_coefficients coef; - int pk, k, j; + coef.C1dbopi = bo_ij->C1dbopi * (bo_ij->Cdbopi + bo_ji->Cdbopi); + coef.C2dbopi = bo_ij->C2dbopi * (bo_ij->Cdbopi + bo_ji->Cdbopi); + coef.C3dbopi = bo_ij->C3dbopi * (bo_ij->Cdbopi + bo_ji->Cdbopi); + coef.C4dbopi = bo_ij->C4dbopi * (bo_ij->Cdbopi + bo_ji->Cdbopi); - /* Virial Tallying variables */ - rvec fi_tmp, fj_tmp, fk_tmp, delij, delji, delki, delkj, temp; + coef.C1dbopi2 = bo_ij->C1dbopi2 * (bo_ij->Cdbopi2 + bo_ji->Cdbopi2); + coef.C2dbopi2 = bo_ij->C2dbopi2 * (bo_ij->Cdbopi2 + bo_ji->Cdbopi2); + coef.C3dbopi2 = bo_ij->C3dbopi2 * (bo_ij->Cdbopi2 + bo_ji->Cdbopi2); + coef.C4dbopi2 = bo_ij->C4dbopi2 * (bo_ij->Cdbopi2 + bo_ji->Cdbopi2); - /* Initializations */ - nbr_j = &(bonds->select.bond_list[pj]); - j = nbr_j->nbr; - bo_ij = &(nbr_j->bo_data); - bo_ji = &(bonds->select.bond_list[ nbr_j->sym_index ].bo_data); + coef.C1dDelta = bo_ij->C1dbo * (workspace->CdDelta[i]+workspace->CdDelta[j]); + coef.C2dDelta = bo_ij->C2dbo * (workspace->CdDelta[i]+workspace->CdDelta[j]); + coef.C3dDelta = bo_ij->C3dbo * (workspace->CdDelta[i]+workspace->CdDelta[j]); - coef.C1dbo = bo_ij->C1dbo * (bo_ij->Cdbo + bo_ji->Cdbo); - coef.C2dbo = bo_ij->C2dbo * (bo_ij->Cdbo + bo_ji->Cdbo); - coef.C3dbo = bo_ij->C3dbo * (bo_ij->Cdbo + bo_ji->Cdbo); - - coef.C1dbopi = bo_ij->C1dbopi * (bo_ij->Cdbopi + bo_ji->Cdbopi); - coef.C2dbopi = bo_ij->C2dbopi * (bo_ij->Cdbopi + bo_ji->Cdbopi); - coef.C3dbopi = bo_ij->C3dbopi * (bo_ij->Cdbopi + bo_ji->Cdbopi); - coef.C4dbopi = bo_ij->C4dbopi * (bo_ij->Cdbopi + bo_ji->Cdbopi); - - coef.C1dbopi2 = bo_ij->C1dbopi2 * (bo_ij->Cdbopi2 + bo_ji->Cdbopi2); - coef.C2dbopi2 = bo_ij->C2dbopi2 * (bo_ij->Cdbopi2 + bo_ji->Cdbopi2); - coef.C3dbopi2 = bo_ij->C3dbopi2 * (bo_ij->Cdbopi2 + bo_ji->Cdbopi2); - coef.C4dbopi2 = bo_ij->C4dbopi2 * (bo_ij->Cdbopi2 + bo_ji->Cdbopi2); - - coef.C1dDelta = bo_ij->C1dbo * (workspace->CdDelta[i]+workspace->CdDelta[j]); - coef.C2dDelta = bo_ij->C2dbo * (workspace->CdDelta[i]+workspace->CdDelta[j]); - coef.C3dDelta = bo_ij->C3dbo * (workspace->CdDelta[i]+workspace->CdDelta[j]); - - // forces on i - rvec_Scale( temp, coef.C1dbo, bo_ij->dBOp ); - rvec_ScaledAdd( temp, coef.C2dbo, workspace->dDeltap_self[i] ); - rvec_ScaledAdd( temp, coef.C1dDelta, bo_ij->dBOp ); - rvec_ScaledAdd( temp, coef.C2dDelta, workspace->dDeltap_self[i] ); - rvec_ScaledAdd( temp, coef.C1dbopi, bo_ij->dln_BOp_pi ); - rvec_ScaledAdd( temp, coef.C2dbopi, bo_ij->dBOp ); - rvec_ScaledAdd( temp, coef.C3dbopi, workspace->dDeltap_self[i]); - rvec_ScaledAdd( temp, coef.C1dbopi2, bo_ij->dln_BOp_pi2 ); - rvec_ScaledAdd( temp, coef.C2dbopi2, bo_ij->dBOp ); - rvec_ScaledAdd( temp, coef.C3dbopi2, workspace->dDeltap_self[i] ); - rvec_Add( workspace->f[i], temp ); - - if (system->pair_ptr->vflag_atom) { - rvec_Scale(fi_tmp, -1.0, temp); - rvec_ScaledSum( delij, 1., system->my_atoms[i].x,-1., system->my_atoms[j].x ); - system->pair_ptr->v_tally(i,fi_tmp,delij); - } - - // forces on j - rvec_Scale( temp, -coef.C1dbo, bo_ij->dBOp ); - rvec_ScaledAdd( temp, coef.C3dbo, workspace->dDeltap_self[j] ); - rvec_ScaledAdd( temp, -coef.C1dDelta, bo_ij->dBOp ); - rvec_ScaledAdd( temp, coef.C3dDelta, workspace->dDeltap_self[j]); - rvec_ScaledAdd( temp, -coef.C1dbopi, bo_ij->dln_BOp_pi ); - rvec_ScaledAdd( temp, -coef.C2dbopi, bo_ij->dBOp ); - rvec_ScaledAdd( temp, coef.C4dbopi, workspace->dDeltap_self[j]); - rvec_ScaledAdd( temp, -coef.C1dbopi2, bo_ij->dln_BOp_pi2 ); - rvec_ScaledAdd( temp, -coef.C2dbopi2, bo_ij->dBOp ); - rvec_ScaledAdd( temp, coef.C4dbopi2, workspace->dDeltap_self[j]); - rvec_Add( workspace->f[j], temp ); - - if (system->pair_ptr->vflag_atom) { - rvec_Scale(fj_tmp, -1.0, temp); - rvec_ScaledSum( delji, 1., system->my_atoms[j].x,-1., system->my_atoms[i].x ); - system->pair_ptr->v_tally(j,fj_tmp,delji); - } - - // forces on k: i neighbor - for (pk = Start_Index(i, bonds); pk < End_Index(i, bonds); ++pk) { - nbr_k = &(bonds->select.bond_list[pk]); - k = nbr_k->nbr; - - rvec_Scale( temp, -coef.C2dbo, nbr_k->bo_data.dBOp); - rvec_ScaledAdd( temp, -coef.C2dDelta, nbr_k->bo_data.dBOp); - rvec_ScaledAdd( temp, -coef.C3dbopi, nbr_k->bo_data.dBOp); - rvec_ScaledAdd( temp, -coef.C3dbopi2, nbr_k->bo_data.dBOp); - rvec_Add( workspace->f[k], temp ); + // forces on i + rvec_Scale( temp, coef.C1dbo, bo_ij->dBOp ); + rvec_ScaledAdd( temp, coef.C2dbo, workspace->dDeltap_self[i] ); + rvec_ScaledAdd( temp, coef.C1dDelta, bo_ij->dBOp ); + rvec_ScaledAdd( temp, coef.C2dDelta, workspace->dDeltap_self[i] ); + rvec_ScaledAdd( temp, coef.C1dbopi, bo_ij->dln_BOp_pi ); + rvec_ScaledAdd( temp, coef.C2dbopi, bo_ij->dBOp ); + rvec_ScaledAdd( temp, coef.C3dbopi, workspace->dDeltap_self[i]); + rvec_ScaledAdd( temp, coef.C1dbopi2, bo_ij->dln_BOp_pi2 ); + rvec_ScaledAdd( temp, coef.C2dbopi2, bo_ij->dBOp ); + rvec_ScaledAdd( temp, coef.C3dbopi2, workspace->dDeltap_self[i] ); + rvec_Add( workspace->f[i], temp ); if (system->pair_ptr->vflag_atom) { - rvec_Scale(fk_tmp, -1.0, temp); - rvec_ScaledSum(delki,1.,system->my_atoms[k].x,-1.,system->my_atoms[i].x); - system->pair_ptr->v_tally(k,fk_tmp,delki); - rvec_ScaledSum(delkj,1.,system->my_atoms[k].x,-1.,system->my_atoms[j].x); - system->pair_ptr->v_tally(k,fk_tmp,delkj); + rvec_Scale(fi_tmp, -1.0, temp); + rvec_ScaledSum( delij, 1., system->my_atoms[i].x,-1., system->my_atoms[j].x ); + system->pair_ptr->v_tally(i,fi_tmp,delij); + } + + // forces on j + rvec_Scale( temp, -coef.C1dbo, bo_ij->dBOp ); + rvec_ScaledAdd( temp, coef.C3dbo, workspace->dDeltap_self[j] ); + rvec_ScaledAdd( temp, -coef.C1dDelta, bo_ij->dBOp ); + rvec_ScaledAdd( temp, coef.C3dDelta, workspace->dDeltap_self[j]); + rvec_ScaledAdd( temp, -coef.C1dbopi, bo_ij->dln_BOp_pi ); + rvec_ScaledAdd( temp, -coef.C2dbopi, bo_ij->dBOp ); + rvec_ScaledAdd( temp, coef.C4dbopi, workspace->dDeltap_self[j]); + rvec_ScaledAdd( temp, -coef.C1dbopi2, bo_ij->dln_BOp_pi2 ); + rvec_ScaledAdd( temp, -coef.C2dbopi2, bo_ij->dBOp ); + rvec_ScaledAdd( temp, coef.C4dbopi2, workspace->dDeltap_self[j]); + rvec_Add( workspace->f[j], temp ); + + if (system->pair_ptr->vflag_atom) { + rvec_Scale(fj_tmp, -1.0, temp); + rvec_ScaledSum( delji, 1., system->my_atoms[j].x,-1., system->my_atoms[i].x ); + system->pair_ptr->v_tally(j,fj_tmp,delji); + } + + // forces on k: i neighbor + for (pk = Start_Index(i, bonds); pk < End_Index(i, bonds); ++pk) { + nbr_k = &(bonds->select.bond_list[pk]); + k = nbr_k->nbr; + + rvec_Scale( temp, -coef.C2dbo, nbr_k->bo_data.dBOp); + rvec_ScaledAdd( temp, -coef.C2dDelta, nbr_k->bo_data.dBOp); + rvec_ScaledAdd( temp, -coef.C3dbopi, nbr_k->bo_data.dBOp); + rvec_ScaledAdd( temp, -coef.C3dbopi2, nbr_k->bo_data.dBOp); + rvec_Add( workspace->f[k], temp ); + + if (system->pair_ptr->vflag_atom) { + rvec_Scale(fk_tmp, -1.0, temp); + rvec_ScaledSum(delki,1.,system->my_atoms[k].x,-1.,system->my_atoms[i].x); + system->pair_ptr->v_tally(k,fk_tmp,delki); + rvec_ScaledSum(delkj,1.,system->my_atoms[k].x,-1.,system->my_atoms[j].x); + system->pair_ptr->v_tally(k,fk_tmp,delkj); + } + } + + // forces on k: j neighbor + for (pk = Start_Index(j, bonds); pk < End_Index(j, bonds); ++pk) { + nbr_k = &(bonds->select.bond_list[pk]); + k = nbr_k->nbr; + + rvec_Scale( temp, -coef.C3dbo, nbr_k->bo_data.dBOp ); + rvec_ScaledAdd( temp, -coef.C3dDelta, nbr_k->bo_data.dBOp); + rvec_ScaledAdd( temp, -coef.C4dbopi, nbr_k->bo_data.dBOp); + rvec_ScaledAdd( temp, -coef.C4dbopi2, nbr_k->bo_data.dBOp); + rvec_Add( workspace->f[k], temp ); + + if (system->pair_ptr->vflag_atom) { + rvec_Scale(fk_tmp, -1.0, temp); + rvec_ScaledSum(delki,1.,system->my_atoms[k].x,-1.,system->my_atoms[i].x); + system->pair_ptr->v_tally(k,fk_tmp,delki); + rvec_ScaledSum(delkj,1.,system->my_atoms[k].x,-1.,system->my_atoms[j].x); + system->pair_ptr->v_tally(k,fk_tmp,delkj); + } } } - // forces on k: j neighbor - for (pk = Start_Index(j, bonds); pk < End_Index(j, bonds); ++pk) { - nbr_k = &(bonds->select.bond_list[pk]); - k = nbr_k->nbr; + int BOp(storage *workspace, reax_list *bonds, double bo_cut, + int i, int btop_i, far_neighbor_data *nbr_pj, + single_body_parameters *sbp_i, single_body_parameters *sbp_j, + two_body_parameters *twbp) { + int j, btop_j; + double r2, C12, C34, C56; + double Cln_BOp_s, Cln_BOp_pi, Cln_BOp_pi2; + double BO, BO_s, BO_pi, BO_pi2; + bond_data *ibond, *jbond; + bond_order_data *bo_ij, *bo_ji; - rvec_Scale( temp, -coef.C3dbo, nbr_k->bo_data.dBOp ); - rvec_ScaledAdd( temp, -coef.C3dDelta, nbr_k->bo_data.dBOp); - rvec_ScaledAdd( temp, -coef.C4dbopi, nbr_k->bo_data.dBOp); - rvec_ScaledAdd( temp, -coef.C4dbopi2, nbr_k->bo_data.dBOp); - rvec_Add( workspace->f[k], temp ); + j = nbr_pj->nbr; + r2 = SQR(nbr_pj->d); - if (system->pair_ptr->vflag_atom) { - rvec_Scale(fk_tmp, -1.0, temp); - rvec_ScaledSum(delki,1.,system->my_atoms[k].x,-1.,system->my_atoms[i].x); - system->pair_ptr->v_tally(k,fk_tmp,delki); - rvec_ScaledSum(delkj,1.,system->my_atoms[k].x,-1.,system->my_atoms[j].x); - system->pair_ptr->v_tally(k,fk_tmp,delkj); + if (sbp_i->r_s > 0.0 && sbp_j->r_s > 0.0) { + C12 = twbp->p_bo1 * pow( nbr_pj->d / twbp->r_s, twbp->p_bo2 ); + BO_s = (1.0 + bo_cut) * exp( C12 ); + } else BO_s = C12 = 0.0; + + if (sbp_i->r_pi > 0.0 && sbp_j->r_pi > 0.0) { + C34 = twbp->p_bo3 * pow( nbr_pj->d / twbp->r_p, twbp->p_bo4 ); + BO_pi = exp( C34 ); + } else BO_pi = C34 = 0.0; + + if (sbp_i->r_pi_pi > 0.0 && sbp_j->r_pi_pi > 0.0) { + C56 = twbp->p_bo5 * pow( nbr_pj->d / twbp->r_pp, twbp->p_bo6 ); + BO_pi2= exp( C56 ); + } else BO_pi2 = C56 = 0.0; + + /* Initially BO values are the uncorrected ones, page 1 */ + BO = BO_s + BO_pi + BO_pi2; + + if (BO >= bo_cut) { + /****** bonds i-j and j-i ******/ + ibond = &( bonds->select.bond_list[btop_i] ); + btop_j = End_Index( j, bonds ); + jbond = &(bonds->select.bond_list[btop_j]); + + ibond->nbr = j; + jbond->nbr = i; + ibond->d = nbr_pj->d; + jbond->d = nbr_pj->d; + rvec_Copy( ibond->dvec, nbr_pj->dvec ); + rvec_Scale( jbond->dvec, -1, nbr_pj->dvec ); + ivec_Copy( ibond->rel_box, nbr_pj->rel_box ); + ivec_Scale( jbond->rel_box, -1, nbr_pj->rel_box ); + ibond->dbond_index = btop_i; + jbond->dbond_index = btop_i; + ibond->sym_index = btop_j; + jbond->sym_index = btop_i; + Set_End_Index( j, btop_j+1, bonds ); + + bo_ij = &( ibond->bo_data ); + bo_ji = &( jbond->bo_data ); + bo_ji->BO = bo_ij->BO = BO; + bo_ji->BO_s = bo_ij->BO_s = BO_s; + bo_ji->BO_pi = bo_ij->BO_pi = BO_pi; + bo_ji->BO_pi2 = bo_ij->BO_pi2 = BO_pi2; + + /* Bond Order page2-3, derivative of total bond order prime */ + Cln_BOp_s = twbp->p_bo2 * C12 / r2; + Cln_BOp_pi = twbp->p_bo4 * C34 / r2; + Cln_BOp_pi2 = twbp->p_bo6 * C56 / r2; + + /* Only dln_BOp_xx wrt. dr_i is stored here, note that + dln_BOp_xx/dr_i = -dln_BOp_xx/dr_j and all others are 0 */ + rvec_Scale(bo_ij->dln_BOp_s,-bo_ij->BO_s*Cln_BOp_s,ibond->dvec); + rvec_Scale(bo_ij->dln_BOp_pi,-bo_ij->BO_pi*Cln_BOp_pi,ibond->dvec); + rvec_Scale(bo_ij->dln_BOp_pi2, + -bo_ij->BO_pi2*Cln_BOp_pi2,ibond->dvec); + rvec_Scale(bo_ji->dln_BOp_s, -1., bo_ij->dln_BOp_s); + rvec_Scale(bo_ji->dln_BOp_pi, -1., bo_ij->dln_BOp_pi ); + rvec_Scale(bo_ji->dln_BOp_pi2, -1., bo_ij->dln_BOp_pi2 ); + + rvec_Scale( bo_ij->dBOp, + -(bo_ij->BO_s * Cln_BOp_s + + bo_ij->BO_pi * Cln_BOp_pi + + bo_ij->BO_pi2 * Cln_BOp_pi2), ibond->dvec ); + rvec_Scale( bo_ji->dBOp, -1., bo_ij->dBOp ); + + rvec_Add( workspace->dDeltap_self[i], bo_ij->dBOp ); + rvec_Add( workspace->dDeltap_self[j], bo_ji->dBOp ); + + bo_ij->BO_s -= bo_cut; + bo_ij->BO -= bo_cut; + bo_ji->BO_s -= bo_cut; + bo_ji->BO -= bo_cut; + workspace->total_bond_order[i] += bo_ij->BO; //currently total_BOp + workspace->total_bond_order[j] += bo_ji->BO; //currently total_BOp + bo_ij->Cdbo = bo_ij->Cdbopi = bo_ij->Cdbopi2 = 0.0; + bo_ji->Cdbo = bo_ji->Cdbopi = bo_ji->Cdbopi2 = 0.0; + + return 1; } + + return 0; } -} + + void BO(reax_system *system, control_params * /*control*/, simulation_data * /*data*/, + storage *workspace, reax_list **lists, output_controls * /*out_control*/ ) + { + int i, j, pj, type_i, type_j; + int start_i, end_i, sym_index; + double val_i, Deltap_i, Deltap_boc_i; + double val_j, Deltap_j, Deltap_boc_j; + double f1, f2, f3, f4, f5, f4f5, exp_f4, exp_f5; + double exp_p1i, exp_p2i, exp_p1j, exp_p2j; + double temp, u1_ij, u1_ji, Cf1A_ij, Cf1B_ij, Cf1_ij, Cf1_ji; + double Cf45_ij, Cf45_ji, p_lp1; //u_ij, u_ji + double A0_ij, A1_ij, A2_ij, A2_ji, A3_ij, A3_ji; + double explp1, p_boc1, p_boc2; + single_body_parameters *sbp_i, *sbp_j; + two_body_parameters *twbp; + bond_order_data *bo_ij, *bo_ji; + reax_list *bonds = (*lists) + BONDS; + + p_boc1 = system->reax_param.gp.l[0]; + p_boc2 = system->reax_param.gp.l[1]; + + /* Calculate Deltaprime, Deltaprime_boc values */ + for (i = 0; i < system->N; ++i) { + type_i = system->my_atoms[i].type; + if (type_i < 0) continue; + sbp_i = &(system->reax_param.sbp[type_i]); + workspace->Deltap[i] = workspace->total_bond_order[i] - sbp_i->valency; + workspace->Deltap_boc[i] = + workspace->total_bond_order[i] - sbp_i->valency_val; + + workspace->total_bond_order[i] = 0; + } + + /* Corrected Bond Order calculations */ + for (i = 0; i < system->N; ++i) { + type_i = system->my_atoms[i].type; + if (type_i < 0) continue; + sbp_i = &(system->reax_param.sbp[type_i]); + val_i = sbp_i->valency; + Deltap_i = workspace->Deltap[i]; + Deltap_boc_i = workspace->Deltap_boc[i]; + start_i = Start_Index(i, bonds); + end_i = End_Index(i, bonds); + + for (pj = start_i; pj < end_i; ++pj) { + j = bonds->select.bond_list[pj].nbr; + type_j = system->my_atoms[j].type; + if (type_j < 0) continue; + bo_ij = &( bonds->select.bond_list[pj].bo_data ); + // fprintf( stderr, "\tj:%d - ubo: %8.3f\n", j+1, bo_ij->BO ); + + if (i < j || workspace->bond_mark[j] > 3) { + twbp = &( system->reax_param.tbp[type_i][type_j] ); + + if (twbp->ovc < 0.001 && twbp->v13cor < 0.001) { + bo_ij->C1dbo = 1.000000; + bo_ij->C2dbo = 0.000000; + bo_ij->C3dbo = 0.000000; + + bo_ij->C1dbopi = 1.000000; + bo_ij->C2dbopi = 0.000000; + bo_ij->C3dbopi = 0.000000; + bo_ij->C4dbopi = 0.000000; + + bo_ij->C1dbopi2 = 1.000000; + bo_ij->C2dbopi2 = 0.000000; + bo_ij->C3dbopi2 = 0.000000; + bo_ij->C4dbopi2 = 0.000000; + + } else { + val_j = system->reax_param.sbp[type_j].valency; + Deltap_j = workspace->Deltap[j]; + Deltap_boc_j = workspace->Deltap_boc[j]; + + /* on page 1 */ + if (twbp->ovc >= 0.001) { + /* Correction for overcoordination */ + exp_p1i = exp( -p_boc1 * Deltap_i ); + exp_p2i = exp( -p_boc2 * Deltap_i ); + exp_p1j = exp( -p_boc1 * Deltap_j ); + exp_p2j = exp( -p_boc2 * Deltap_j ); + + f2 = exp_p1i + exp_p1j; + f3 = -1.0 / p_boc2 * log( 0.5 * ( exp_p2i + exp_p2j ) ); + f1 = 0.5 * ( ( val_i + f2 )/( val_i + f2 + f3 ) + + ( val_j + f2 )/( val_j + f2 + f3 ) ); + + temp = f2 + f3; + u1_ij = val_i + temp; + u1_ji = val_j + temp; + Cf1A_ij = 0.5 * f3 * (1.0 / SQR( u1_ij ) + + 1.0 / SQR( u1_ji )); + Cf1B_ij = -0.5 * (( u1_ij - f3 ) / SQR( u1_ij ) + + ( u1_ji - f3 ) / SQR( u1_ji )); + + Cf1_ij = 0.50 * ( -p_boc1 * exp_p1i / u1_ij - + ((val_i+f2) / SQR(u1_ij)) * + ( -p_boc1 * exp_p1i + + exp_p2i / ( exp_p2i + exp_p2j ) ) + + -p_boc1 * exp_p1i / u1_ji - + ((val_j+f2) / SQR(u1_ji)) * + ( -p_boc1 * exp_p1i + + exp_p2i / ( exp_p2i + exp_p2j ) )); -int BOp( storage *workspace, reax_list *bonds, double bo_cut, - int i, int btop_i, far_neighbor_data *nbr_pj, - single_body_parameters *sbp_i, single_body_parameters *sbp_j, - two_body_parameters *twbp) { - int j, btop_j; - double r2, C12, C34, C56; - double Cln_BOp_s, Cln_BOp_pi, Cln_BOp_pi2; - double BO, BO_s, BO_pi, BO_pi2; - bond_data *ibond, *jbond; - bond_order_data *bo_ij, *bo_ji; + Cf1_ji = -Cf1A_ij * p_boc1 * exp_p1j + + Cf1B_ij * exp_p2j / ( exp_p2i + exp_p2j ); - j = nbr_pj->nbr; - r2 = SQR(nbr_pj->d); + } else { + /* No overcoordination correction! */ + f1 = 1.0; + Cf1_ij = Cf1_ji = 0.0; + } - if (sbp_i->r_s > 0.0 && sbp_j->r_s > 0.0) { - C12 = twbp->p_bo1 * pow( nbr_pj->d / twbp->r_s, twbp->p_bo2 ); - BO_s = (1.0 + bo_cut) * exp( C12 ); - } - else BO_s = C12 = 0.0; + if (twbp->v13cor >= 0.001) { + /* Correction for 1-3 bond orders */ + exp_f4 =exp(-(twbp->p_boc4 * SQR( bo_ij->BO ) - + Deltap_boc_i) * twbp->p_boc3 + twbp->p_boc5); + exp_f5 =exp(-(twbp->p_boc4 * SQR( bo_ij->BO ) - + Deltap_boc_j) * twbp->p_boc3 + twbp->p_boc5); - if (sbp_i->r_pi > 0.0 && sbp_j->r_pi > 0.0) { - C34 = twbp->p_bo3 * pow( nbr_pj->d / twbp->r_p, twbp->p_bo4 ); - BO_pi = exp( C34 ); - } - else BO_pi = C34 = 0.0; + f4 = 1. / (1. + exp_f4); + f5 = 1. / (1. + exp_f5); + f4f5 = f4 * f5; - if (sbp_i->r_pi_pi > 0.0 && sbp_j->r_pi_pi > 0.0) { - C56 = twbp->p_bo5 * pow( nbr_pj->d / twbp->r_pp, twbp->p_bo6 ); - BO_pi2= exp( C56 ); - } - else BO_pi2 = C56 = 0.0; + /* Bond Order pages 8-9, derivative of f4 and f5 */ + Cf45_ij = -f4 * exp_f4; + Cf45_ji = -f5 * exp_f5; + } else { + f4 = f5 = f4f5 = 1.0; + Cf45_ij = Cf45_ji = 0.0; + } - /* Initially BO values are the uncorrected ones, page 1 */ - BO = BO_s + BO_pi + BO_pi2; + /* Bond Order page 10, derivative of total bond order */ + A0_ij = f1 * f4f5; + A1_ij = -2 * twbp->p_boc3 * twbp->p_boc4 * bo_ij->BO * + (Cf45_ij + Cf45_ji); + A2_ij = Cf1_ij / f1 + twbp->p_boc3 * Cf45_ij; + A2_ji = Cf1_ji / f1 + twbp->p_boc3 * Cf45_ji; + A3_ij = A2_ij + Cf1_ij / f1; + A3_ji = A2_ji + Cf1_ji / f1; - if (BO >= bo_cut) { - /****** bonds i-j and j-i ******/ - ibond = &( bonds->select.bond_list[btop_i] ); - btop_j = End_Index( j, bonds ); - jbond = &(bonds->select.bond_list[btop_j]); + /* find corrected bond orders and their derivative coef */ + bo_ij->BO = bo_ij->BO * A0_ij; + bo_ij->BO_pi = bo_ij->BO_pi * A0_ij *f1; + bo_ij->BO_pi2= bo_ij->BO_pi2* A0_ij *f1; + bo_ij->BO_s = bo_ij->BO - ( bo_ij->BO_pi + bo_ij->BO_pi2 ); - ibond->nbr = j; - jbond->nbr = i; - ibond->d = nbr_pj->d; - jbond->d = nbr_pj->d; - rvec_Copy( ibond->dvec, nbr_pj->dvec ); - rvec_Scale( jbond->dvec, -1, nbr_pj->dvec ); - ivec_Copy( ibond->rel_box, nbr_pj->rel_box ); - ivec_Scale( jbond->rel_box, -1, nbr_pj->rel_box ); - ibond->dbond_index = btop_i; - jbond->dbond_index = btop_i; - ibond->sym_index = btop_j; - jbond->sym_index = btop_i; - Set_End_Index( j, btop_j+1, bonds ); + bo_ij->C1dbo = A0_ij + bo_ij->BO * A1_ij; + bo_ij->C2dbo = bo_ij->BO * A2_ij; + bo_ij->C3dbo = bo_ij->BO * A2_ji; - bo_ij = &( ibond->bo_data ); - bo_ji = &( jbond->bo_data ); - bo_ji->BO = bo_ij->BO = BO; - bo_ji->BO_s = bo_ij->BO_s = BO_s; - bo_ji->BO_pi = bo_ij->BO_pi = BO_pi; - bo_ji->BO_pi2 = bo_ij->BO_pi2 = BO_pi2; + bo_ij->C1dbopi = f1*f1*f4*f5; + bo_ij->C2dbopi = bo_ij->BO_pi * A1_ij; + bo_ij->C3dbopi = bo_ij->BO_pi * A3_ij; + bo_ij->C4dbopi = bo_ij->BO_pi * A3_ji; - /* Bond Order page2-3, derivative of total bond order prime */ - Cln_BOp_s = twbp->p_bo2 * C12 / r2; - Cln_BOp_pi = twbp->p_bo4 * C34 / r2; - Cln_BOp_pi2 = twbp->p_bo6 * C56 / r2; + bo_ij->C1dbopi2 = f1*f1*f4*f5; + bo_ij->C2dbopi2 = bo_ij->BO_pi2 * A1_ij; + bo_ij->C3dbopi2 = bo_ij->BO_pi2 * A3_ij; + bo_ij->C4dbopi2 = bo_ij->BO_pi2 * A3_ji; + } - /* Only dln_BOp_xx wrt. dr_i is stored here, note that - dln_BOp_xx/dr_i = -dln_BOp_xx/dr_j and all others are 0 */ - rvec_Scale(bo_ij->dln_BOp_s,-bo_ij->BO_s*Cln_BOp_s,ibond->dvec); - rvec_Scale(bo_ij->dln_BOp_pi,-bo_ij->BO_pi*Cln_BOp_pi,ibond->dvec); - rvec_Scale(bo_ij->dln_BOp_pi2, - -bo_ij->BO_pi2*Cln_BOp_pi2,ibond->dvec); - rvec_Scale(bo_ji->dln_BOp_s, -1., bo_ij->dln_BOp_s); - rvec_Scale(bo_ji->dln_BOp_pi, -1., bo_ij->dln_BOp_pi ); - rvec_Scale(bo_ji->dln_BOp_pi2, -1., bo_ij->dln_BOp_pi2 ); + /* neglect bonds that are < 1e-10 */ + if (bo_ij->BO < 1e-10) + bo_ij->BO = 0.0; + if (bo_ij->BO_s < 1e-10) + bo_ij->BO_s = 0.0; + if (bo_ij->BO_pi < 1e-10) + bo_ij->BO_pi = 0.0; + if (bo_ij->BO_pi2 < 1e-10) + bo_ij->BO_pi2 = 0.0; - rvec_Scale( bo_ij->dBOp, - -(bo_ij->BO_s * Cln_BOp_s + - bo_ij->BO_pi * Cln_BOp_pi + - bo_ij->BO_pi2 * Cln_BOp_pi2), ibond->dvec ); - rvec_Scale( bo_ji->dBOp, -1., bo_ij->dBOp ); - - rvec_Add( workspace->dDeltap_self[i], bo_ij->dBOp ); - rvec_Add( workspace->dDeltap_self[j], bo_ji->dBOp ); - - bo_ij->BO_s -= bo_cut; - bo_ij->BO -= bo_cut; - bo_ji->BO_s -= bo_cut; - bo_ji->BO -= bo_cut; - workspace->total_bond_order[i] += bo_ij->BO; //currently total_BOp - workspace->total_bond_order[j] += bo_ji->BO; //currently total_BOp - bo_ij->Cdbo = bo_ij->Cdbopi = bo_ij->Cdbopi2 = 0.0; - bo_ji->Cdbo = bo_ji->Cdbopi = bo_ji->Cdbopi2 = 0.0; - - return 1; - } - - return 0; -} - - -void BO( reax_system *system, control_params * /*control*/, simulation_data * /*data*/, - storage *workspace, reax_list **lists, output_controls * /*out_control*/ ) -{ - int i, j, pj, type_i, type_j; - int start_i, end_i, sym_index; - double val_i, Deltap_i, Deltap_boc_i; - double val_j, Deltap_j, Deltap_boc_j; - double f1, f2, f3, f4, f5, f4f5, exp_f4, exp_f5; - double exp_p1i, exp_p2i, exp_p1j, exp_p2j; - double temp, u1_ij, u1_ji, Cf1A_ij, Cf1B_ij, Cf1_ij, Cf1_ji; - double Cf45_ij, Cf45_ji, p_lp1; //u_ij, u_ji - double A0_ij, A1_ij, A2_ij, A2_ji, A3_ij, A3_ji; - double explp1, p_boc1, p_boc2; - single_body_parameters *sbp_i, *sbp_j; - two_body_parameters *twbp; - bond_order_data *bo_ij, *bo_ji; - reax_list *bonds = (*lists) + BONDS; - - p_boc1 = system->reax_param.gp.l[0]; - p_boc2 = system->reax_param.gp.l[1]; - - /* Calculate Deltaprime, Deltaprime_boc values */ - for (i = 0; i < system->N; ++i) { - type_i = system->my_atoms[i].type; - if (type_i < 0) continue; - sbp_i = &(system->reax_param.sbp[type_i]); - workspace->Deltap[i] = workspace->total_bond_order[i] - sbp_i->valency; - workspace->Deltap_boc[i] = - workspace->total_bond_order[i] - sbp_i->valency_val; - - workspace->total_bond_order[i] = 0; - } - - /* Corrected Bond Order calculations */ - for (i = 0; i < system->N; ++i) { - type_i = system->my_atoms[i].type; - if (type_i < 0) continue; - sbp_i = &(system->reax_param.sbp[type_i]); - val_i = sbp_i->valency; - Deltap_i = workspace->Deltap[i]; - Deltap_boc_i = workspace->Deltap_boc[i]; - start_i = Start_Index(i, bonds); - end_i = End_Index(i, bonds); - - for (pj = start_i; pj < end_i; ++pj) { - j = bonds->select.bond_list[pj].nbr; - type_j = system->my_atoms[j].type; - if (type_j < 0) continue; - bo_ij = &( bonds->select.bond_list[pj].bo_data ); - // fprintf( stderr, "\tj:%d - ubo: %8.3f\n", j+1, bo_ij->BO ); - - if (i < j || workspace->bond_mark[j] > 3) { - twbp = &( system->reax_param.tbp[type_i][type_j] ); - - if (twbp->ovc < 0.001 && twbp->v13cor < 0.001) { - bo_ij->C1dbo = 1.000000; - bo_ij->C2dbo = 0.000000; - bo_ij->C3dbo = 0.000000; - - bo_ij->C1dbopi = 1.000000; - bo_ij->C2dbopi = 0.000000; - bo_ij->C3dbopi = 0.000000; - bo_ij->C4dbopi = 0.000000; - - bo_ij->C1dbopi2 = 1.000000; - bo_ij->C2dbopi2 = 0.000000; - bo_ij->C3dbopi2 = 0.000000; - bo_ij->C4dbopi2 = 0.000000; + workspace->total_bond_order[i] += bo_ij->BO; //now keeps total_BO } else { - val_j = system->reax_param.sbp[type_j].valency; - Deltap_j = workspace->Deltap[j]; - Deltap_boc_j = workspace->Deltap_boc[j]; - - /* on page 1 */ - if (twbp->ovc >= 0.001) { - /* Correction for overcoordination */ - exp_p1i = exp( -p_boc1 * Deltap_i ); - exp_p2i = exp( -p_boc2 * Deltap_i ); - exp_p1j = exp( -p_boc1 * Deltap_j ); - exp_p2j = exp( -p_boc2 * Deltap_j ); - - f2 = exp_p1i + exp_p1j; - f3 = -1.0 / p_boc2 * log( 0.5 * ( exp_p2i + exp_p2j ) ); - f1 = 0.5 * ( ( val_i + f2 )/( val_i + f2 + f3 ) + - ( val_j + f2 )/( val_j + f2 + f3 ) ); - - temp = f2 + f3; - u1_ij = val_i + temp; - u1_ji = val_j + temp; - Cf1A_ij = 0.5 * f3 * (1.0 / SQR( u1_ij ) + - 1.0 / SQR( u1_ji )); - Cf1B_ij = -0.5 * (( u1_ij - f3 ) / SQR( u1_ij ) + - ( u1_ji - f3 ) / SQR( u1_ji )); - - Cf1_ij = 0.50 * ( -p_boc1 * exp_p1i / u1_ij - - ((val_i+f2) / SQR(u1_ij)) * - ( -p_boc1 * exp_p1i + - exp_p2i / ( exp_p2i + exp_p2j ) ) + - -p_boc1 * exp_p1i / u1_ji - - ((val_j+f2) / SQR(u1_ji)) * - ( -p_boc1 * exp_p1i + - exp_p2i / ( exp_p2i + exp_p2j ) )); - - - Cf1_ji = -Cf1A_ij * p_boc1 * exp_p1j + - Cf1B_ij * exp_p2j / ( exp_p2i + exp_p2j ); - - } - else { - /* No overcoordination correction! */ - f1 = 1.0; - Cf1_ij = Cf1_ji = 0.0; - } - - if (twbp->v13cor >= 0.001) { - /* Correction for 1-3 bond orders */ - exp_f4 =exp(-(twbp->p_boc4 * SQR( bo_ij->BO ) - - Deltap_boc_i) * twbp->p_boc3 + twbp->p_boc5); - exp_f5 =exp(-(twbp->p_boc4 * SQR( bo_ij->BO ) - - Deltap_boc_j) * twbp->p_boc3 + twbp->p_boc5); - - f4 = 1. / (1. + exp_f4); - f5 = 1. / (1. + exp_f5); - f4f5 = f4 * f5; - - /* Bond Order pages 8-9, derivative of f4 and f5 */ - Cf45_ij = -f4 * exp_f4; - Cf45_ji = -f5 * exp_f5; - } - else { - f4 = f5 = f4f5 = 1.0; - Cf45_ij = Cf45_ji = 0.0; - } - - /* Bond Order page 10, derivative of total bond order */ - A0_ij = f1 * f4f5; - A1_ij = -2 * twbp->p_boc3 * twbp->p_boc4 * bo_ij->BO * - (Cf45_ij + Cf45_ji); - A2_ij = Cf1_ij / f1 + twbp->p_boc3 * Cf45_ij; - A2_ji = Cf1_ji / f1 + twbp->p_boc3 * Cf45_ji; - A3_ij = A2_ij + Cf1_ij / f1; - A3_ji = A2_ji + Cf1_ji / f1; - - /* find corrected bond orders and their derivative coef */ - bo_ij->BO = bo_ij->BO * A0_ij; - bo_ij->BO_pi = bo_ij->BO_pi * A0_ij *f1; - bo_ij->BO_pi2= bo_ij->BO_pi2* A0_ij *f1; - bo_ij->BO_s = bo_ij->BO - ( bo_ij->BO_pi + bo_ij->BO_pi2 ); - - bo_ij->C1dbo = A0_ij + bo_ij->BO * A1_ij; - bo_ij->C2dbo = bo_ij->BO * A2_ij; - bo_ij->C3dbo = bo_ij->BO * A2_ji; - - bo_ij->C1dbopi = f1*f1*f4*f5; - bo_ij->C2dbopi = bo_ij->BO_pi * A1_ij; - bo_ij->C3dbopi = bo_ij->BO_pi * A3_ij; - bo_ij->C4dbopi = bo_ij->BO_pi * A3_ji; - - bo_ij->C1dbopi2 = f1*f1*f4*f5; - bo_ij->C2dbopi2 = bo_ij->BO_pi2 * A1_ij; - bo_ij->C3dbopi2 = bo_ij->BO_pi2 * A3_ij; - bo_ij->C4dbopi2 = bo_ij->BO_pi2 * A3_ji; + /* We only need to update bond orders from bo_ji + everything else is set in uncorrected_bo calculations */ + sym_index = bonds->select.bond_list[pj].sym_index; + bo_ji = &(bonds->select.bond_list[ sym_index ].bo_data); + bo_ij->BO = bo_ji->BO; + bo_ij->BO_s = bo_ji->BO_s; + bo_ij->BO_pi = bo_ji->BO_pi; + bo_ij->BO_pi2 = bo_ji->BO_pi2; + workspace->total_bond_order[i] += bo_ij->BO;// now keeps total_BO } + } - /* neglect bonds that are < 1e-10 */ - if (bo_ij->BO < 1e-10) - bo_ij->BO = 0.0; - if (bo_ij->BO_s < 1e-10) - bo_ij->BO_s = 0.0; - if (bo_ij->BO_pi < 1e-10) - bo_ij->BO_pi = 0.0; - if (bo_ij->BO_pi2 < 1e-10) - bo_ij->BO_pi2 = 0.0; + } - workspace->total_bond_order[i] += bo_ij->BO; //now keeps total_BO + p_lp1 = system->reax_param.gp.l[15]; + for (j = 0; j < system->N; ++j) { + type_j = system->my_atoms[j].type; + if (type_j < 0) continue; + sbp_j = &(system->reax_param.sbp[ type_j ]); + workspace->Delta[j] = workspace->total_bond_order[j] - sbp_j->valency; + workspace->Delta_e[j] = workspace->total_bond_order[j] - sbp_j->valency_e; + workspace->Delta_boc[j] = workspace->total_bond_order[j] - + sbp_j->valency_boc; + workspace->Delta_val[j] = workspace->total_bond_order[j] - + sbp_j->valency_val; + + workspace->vlpex[j] = workspace->Delta_e[j] - + 2.0 * (int)(workspace->Delta_e[j]/2.0); + explp1 = exp(-p_lp1 * SQR(2.0 + workspace->vlpex[j])); + workspace->nlp[j] = explp1 - (int)(workspace->Delta_e[j] / 2.0); + workspace->Delta_lp[j] = sbp_j->nlp_opt - workspace->nlp[j]; + workspace->Clp[j] = 2.0 * p_lp1 * explp1 * (2.0 + workspace->vlpex[j]); + workspace->dDelta_lp[j] = workspace->Clp[j]; + + if (sbp_j->mass > 21.0) { + workspace->nlp_temp[j] = 0.5 * (sbp_j->valency_e - sbp_j->valency); + workspace->Delta_lp_temp[j] = sbp_j->nlp_opt - workspace->nlp_temp[j]; + workspace->dDelta_lp_temp[j] = 0.; } else { - /* We only need to update bond orders from bo_ji - everything else is set in uncorrected_bo calculations */ - sym_index = bonds->select.bond_list[pj].sym_index; - bo_ji = &(bonds->select.bond_list[ sym_index ].bo_data); - bo_ij->BO = bo_ji->BO; - bo_ij->BO_s = bo_ji->BO_s; - bo_ij->BO_pi = bo_ji->BO_pi; - bo_ij->BO_pi2 = bo_ji->BO_pi2; - - workspace->total_bond_order[i] += bo_ij->BO;// now keeps total_BO + workspace->nlp_temp[j] = workspace->nlp[j]; + workspace->Delta_lp_temp[j] = sbp_j->nlp_opt - workspace->nlp_temp[j]; + workspace->dDelta_lp_temp[j] = workspace->Clp[j]; } } - } - - p_lp1 = system->reax_param.gp.l[15]; - for (j = 0; j < system->N; ++j) { - type_j = system->my_atoms[j].type; - if (type_j < 0) continue; - sbp_j = &(system->reax_param.sbp[ type_j ]); - - workspace->Delta[j] = workspace->total_bond_order[j] - sbp_j->valency; - workspace->Delta_e[j] = workspace->total_bond_order[j] - sbp_j->valency_e; - workspace->Delta_boc[j] = workspace->total_bond_order[j] - - sbp_j->valency_boc; - workspace->Delta_val[j] = workspace->total_bond_order[j] - - sbp_j->valency_val; - - workspace->vlpex[j] = workspace->Delta_e[j] - - 2.0 * (int)(workspace->Delta_e[j]/2.0); - explp1 = exp(-p_lp1 * SQR(2.0 + workspace->vlpex[j])); - workspace->nlp[j] = explp1 - (int)(workspace->Delta_e[j] / 2.0); - workspace->Delta_lp[j] = sbp_j->nlp_opt - workspace->nlp[j]; - workspace->Clp[j] = 2.0 * p_lp1 * explp1 * (2.0 + workspace->vlpex[j]); - workspace->dDelta_lp[j] = workspace->Clp[j]; - - if (sbp_j->mass > 21.0) { - workspace->nlp_temp[j] = 0.5 * (sbp_j->valency_e - sbp_j->valency); - workspace->Delta_lp_temp[j] = sbp_j->nlp_opt - workspace->nlp_temp[j]; - workspace->dDelta_lp_temp[j] = 0.; - } - else { - workspace->nlp_temp[j] = workspace->nlp[j]; - workspace->Delta_lp_temp[j] = sbp_j->nlp_opt - workspace->nlp_temp[j]; - workspace->dDelta_lp_temp[j] = workspace->Clp[j]; - } - - } - } diff --git a/src/USER-REAXC/reaxc_bond_orders.h b/src/USER-REAXC/reaxc_bond_orders.h deleted file mode 100644 index 09137a7afb..0000000000 --- a/src/USER-REAXC/reaxc_bond_orders.h +++ /dev/null @@ -1,45 +0,0 @@ -/*---------------------------------------------------------------------- - PuReMD - Purdue ReaxFF Molecular Dynamics Program - - Copyright (2010) Purdue University - Hasan Metin Aktulga, hmaktulga@lbl.gov - Joseph Fogarty, jcfogart@mail.usf.edu - Sagar Pandit, pandit@usf.edu - Ananth Y Grama, ayg@cs.purdue.edu - - Please cite the related publication: - H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama, - "Parallel Reactive Molecular Dynamics: Numerical Methods and - Algorithmic Techniques", Parallel Computing, in press. - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License as - published by the Free Software Foundation; either version 2 of - the License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - See the GNU General Public License for more details: - . - ----------------------------------------------------------------------*/ - -#ifndef __BOND_ORDERS_H_ -#define __BOND_ORDERS_H_ - -#include "reaxc_types.h" - -typedef struct{ - double C1dbo, C2dbo, C3dbo; - double C1dbopi, C2dbopi, C3dbopi, C4dbopi; - double C1dbopi2, C2dbopi2, C3dbopi2, C4dbopi2; - double C1dDelta, C2dDelta, C3dDelta; -}dbond_coefficients; - -void Add_dBond_to_Forces( reax_system*, int, int, storage*, reax_list** ); -void Add_dBond_to_Forces_NPT( int, int, storage*, reax_list** ); -int BOp(storage*, reax_list*, double, int, int, far_neighbor_data*, - single_body_parameters*, single_body_parameters*, two_body_parameters*); -void BO( reax_system*, control_params*, simulation_data*, - storage*, reax_list**, output_controls* ); -#endif diff --git a/src/USER-REAXC/reaxc_bonds.cpp b/src/USER-REAXC/reaxc_bonds.cpp index c706a2fd79..a06700bb3b 100644 --- a/src/USER-REAXC/reaxc_bonds.cpp +++ b/src/USER-REAXC/reaxc_bonds.cpp @@ -24,112 +24,113 @@ . ----------------------------------------------------------------------*/ -#include "reaxc_bonds.h" -#include +#include "reaxff_api.h" + #include "pair.h" -#include "reaxc_defs.h" -#include "reaxc_list.h" -void Bonds( reax_system *system, control_params * /*control*/, - simulation_data *data, storage *workspace, reax_list **lists, - output_controls * /*out_control*/ ) -{ - int i, j, pj, natoms; - int start_i, end_i; - int type_i, type_j; - double ebond, pow_BOs_be2, exp_be12, CEbo; - double gp3, gp4, gp7, gp10, gp37; - double exphu, exphua1, exphub1, exphuov, hulpov, estriph; - double decobdbo, decobdboua, decobdboub; - single_body_parameters *sbp_i, *sbp_j; - two_body_parameters *twbp; - bond_order_data *bo_ij; - reax_list *bonds; +#include - bonds = (*lists) + BONDS; - gp3 = system->reax_param.gp.l[3]; - gp4 = system->reax_param.gp.l[4]; - gp7 = system->reax_param.gp.l[7]; - gp10 = system->reax_param.gp.l[10]; - gp37 = (int) system->reax_param.gp.l[37]; - natoms = system->n; +namespace ReaxFF { + void Bonds(reax_system *system, simulation_data *data, + storage *workspace, reax_list **lists) + { + int i, j, pj, natoms; + int start_i, end_i; + int type_i, type_j; + double ebond, pow_BOs_be2, exp_be12, CEbo; + double gp3, gp4, gp7, gp10, gp37; + double exphu, exphua1, exphub1, exphuov, hulpov, estriph; + double decobdbo, decobdboua, decobdboub; + single_body_parameters *sbp_i, *sbp_j; + two_body_parameters *twbp; + bond_order_data *bo_ij; + reax_list *bonds; - for (i = 0; i < natoms; ++i) { - start_i = Start_Index(i, bonds); - end_i = End_Index(i, bonds); + bonds = (*lists) + BONDS; + gp3 = system->reax_param.gp.l[3]; + gp4 = system->reax_param.gp.l[4]; + gp7 = system->reax_param.gp.l[7]; + gp10 = system->reax_param.gp.l[10]; + gp37 = (int) system->reax_param.gp.l[37]; + natoms = system->n; - for (pj = start_i; pj < end_i; ++pj) { - j = bonds->select.bond_list[pj].nbr; + for (i = 0; i < natoms; ++i) { + start_i = Start_Index(i, bonds); + end_i = End_Index(i, bonds); - if (system->my_atoms[i].orig_id > system->my_atoms[j].orig_id) - continue; - if (system->my_atoms[i].orig_id == system->my_atoms[j].orig_id) { - if (system->my_atoms[j].x[2] < system->my_atoms[i].x[2]) continue; - if (system->my_atoms[j].x[2] == system->my_atoms[i].x[2] && - system->my_atoms[j].x[1] < system->my_atoms[i].x[1]) continue; - if (system->my_atoms[j].x[2] == system->my_atoms[i].x[2] && - system->my_atoms[j].x[1] == system->my_atoms[i].x[1] && - system->my_atoms[j].x[0] < system->my_atoms[i].x[0]) continue; - } + for (pj = start_i; pj < end_i; ++pj) { + j = bonds->select.bond_list[pj].nbr; - /* set the pointers */ - type_i = system->my_atoms[i].type; - type_j = system->my_atoms[j].type; - sbp_i = &( system->reax_param.sbp[type_i] ); - sbp_j = &( system->reax_param.sbp[type_j] ); - twbp = &( system->reax_param.tbp[type_i][type_j] ); - bo_ij = &( bonds->select.bond_list[pj].bo_data ); + if (system->my_atoms[i].orig_id > system->my_atoms[j].orig_id) + continue; + if (system->my_atoms[i].orig_id == system->my_atoms[j].orig_id) { + if (system->my_atoms[j].x[2] < system->my_atoms[i].x[2]) continue; + if (system->my_atoms[j].x[2] == system->my_atoms[i].x[2] && + system->my_atoms[j].x[1] < system->my_atoms[i].x[1]) continue; + if (system->my_atoms[j].x[2] == system->my_atoms[i].x[2] && + system->my_atoms[j].x[1] == system->my_atoms[i].x[1] && + system->my_atoms[j].x[0] < system->my_atoms[i].x[0]) continue; + } - /* calculate the constants */ - if (bo_ij->BO_s == 0.0) pow_BOs_be2 = 0.0; - else pow_BOs_be2 = pow( bo_ij->BO_s, twbp->p_be2 ); - exp_be12 = exp( twbp->p_be1 * ( 1.0 - pow_BOs_be2 ) ); - CEbo = -twbp->De_s * exp_be12 * - ( 1.0 - twbp->p_be1 * twbp->p_be2 * pow_BOs_be2 ); + /* set the pointers */ + type_i = system->my_atoms[i].type; + type_j = system->my_atoms[j].type; + sbp_i = &( system->reax_param.sbp[type_i] ); + sbp_j = &( system->reax_param.sbp[type_j] ); + twbp = &( system->reax_param.tbp[type_i][type_j] ); + bo_ij = &( bonds->select.bond_list[pj].bo_data ); - /* calculate the Bond Energy */ - data->my_en.e_bond += ebond = - -twbp->De_s * bo_ij->BO_s * exp_be12 - -twbp->De_p * bo_ij->BO_pi - -twbp->De_pp * bo_ij->BO_pi2; + /* calculate the constants */ + if (bo_ij->BO_s == 0.0) pow_BOs_be2 = 0.0; + else pow_BOs_be2 = pow( bo_ij->BO_s, twbp->p_be2 ); + exp_be12 = exp( twbp->p_be1 * ( 1.0 - pow_BOs_be2 ) ); + CEbo = -twbp->De_s * exp_be12 * + ( 1.0 - twbp->p_be1 * twbp->p_be2 * pow_BOs_be2 ); - /* tally into per-atom energy */ - if (system->pair_ptr->evflag) - system->pair_ptr->ev_tally(i,j,natoms,1,ebond,0.0,0.0,0.0,0.0,0.0); + /* calculate the Bond Energy */ + data->my_en.e_bond += ebond = + -twbp->De_s * bo_ij->BO_s * exp_be12 + -twbp->De_p * bo_ij->BO_pi + -twbp->De_pp * bo_ij->BO_pi2; - /* calculate derivatives of Bond Orders */ - bo_ij->Cdbo += CEbo; - bo_ij->Cdbopi -= (CEbo + twbp->De_p); - bo_ij->Cdbopi2 -= (CEbo + twbp->De_pp); + /* tally into per-atom energy */ + if (system->pair_ptr->evflag) + system->pair_ptr->ev_tally(i,j,natoms,1,ebond,0.0,0.0,0.0,0.0,0.0); - /* Stabilisation terminal triple bond */ - if (bo_ij->BO >= 1.00) { - if ( gp37 == 2 || - (sbp_i->mass == 12.0000 && sbp_j->mass == 15.9990) || - (sbp_j->mass == 12.0000 && sbp_i->mass == 15.9990)) { - exphu = exp( -gp7 * SQR(bo_ij->BO - 2.50) ); - exphua1 = exp(-gp3 * (workspace->total_bond_order[i]-bo_ij->BO)); - exphub1 = exp(-gp3 * (workspace->total_bond_order[j]-bo_ij->BO)); - exphuov = exp(gp4 * (workspace->Delta[i] + workspace->Delta[j])); - hulpov = 1.0 / (1.0 + 25.0 * exphuov); + /* calculate derivatives of Bond Orders */ + bo_ij->Cdbo += CEbo; + bo_ij->Cdbopi -= (CEbo + twbp->De_p); + bo_ij->Cdbopi2 -= (CEbo + twbp->De_pp); - estriph = gp10 * exphu * hulpov * (exphua1 + exphub1); - data->my_en.e_bond += estriph; + /* Stabilisation terminal triple bond */ + if (bo_ij->BO >= 1.00) { + if ( gp37 == 2 || + (sbp_i->mass == 12.0000 && sbp_j->mass == 15.9990) || + (sbp_j->mass == 12.0000 && sbp_i->mass == 15.9990)) { + exphu = exp( -gp7 * SQR(bo_ij->BO - 2.50) ); + exphua1 = exp(-gp3 * (workspace->total_bond_order[i]-bo_ij->BO)); + exphub1 = exp(-gp3 * (workspace->total_bond_order[j]-bo_ij->BO)); + exphuov = exp(gp4 * (workspace->Delta[i] + workspace->Delta[j])); + hulpov = 1.0 / (1.0 + 25.0 * exphuov); - decobdbo = gp10 * exphu * hulpov * (exphua1 + exphub1) * - ( gp3 - 2.0 * gp7 * (bo_ij->BO-2.50) ); - decobdboua = -gp10 * exphu * hulpov * - (gp3*exphua1 + 25.0*gp4*exphuov*hulpov*(exphua1+exphub1)); - decobdboub = -gp10 * exphu * hulpov * - (gp3*exphub1 + 25.0*gp4*exphuov*hulpov*(exphua1+exphub1)); + estriph = gp10 * exphu * hulpov * (exphua1 + exphub1); + data->my_en.e_bond += estriph; - /* tally into per-atom energy */ - if (system->pair_ptr->evflag) - system->pair_ptr->ev_tally(i,j,natoms,1,estriph,0.0,0.0,0.0,0.0,0.0); + decobdbo = gp10 * exphu * hulpov * (exphua1 + exphub1) * + ( gp3 - 2.0 * gp7 * (bo_ij->BO-2.50) ); + decobdboua = -gp10 * exphu * hulpov * + (gp3*exphua1 + 25.0*gp4*exphuov*hulpov*(exphua1+exphub1)); + decobdboub = -gp10 * exphu * hulpov * + (gp3*exphub1 + 25.0*gp4*exphuov*hulpov*(exphua1+exphub1)); - bo_ij->Cdbo += decobdbo; - workspace->CdDelta[i] += decobdboua; - workspace->CdDelta[j] += decobdboub; + /* tally into per-atom energy */ + if (system->pair_ptr->evflag) + system->pair_ptr->ev_tally(i,j,natoms,1,estriph,0.0,0.0,0.0,0.0,0.0); + + bo_ij->Cdbo += decobdbo; + workspace->CdDelta[i] += decobdboua; + workspace->CdDelta[j] += decobdboub; + } } } } diff --git a/src/USER-REAXC/reaxc_bonds.h b/src/USER-REAXC/reaxc_bonds.h deleted file mode 100644 index a4a1fb0b44..0000000000 --- a/src/USER-REAXC/reaxc_bonds.h +++ /dev/null @@ -1,34 +0,0 @@ -/*---------------------------------------------------------------------- - PuReMD - Purdue ReaxFF Molecular Dynamics Program - - Copyright (2010) Purdue University - Hasan Metin Aktulga, hmaktulga@lbl.gov - Joseph Fogarty, jcfogart@mail.usf.edu - Sagar Pandit, pandit@usf.edu - Ananth Y Grama, ayg@cs.purdue.edu - - Please cite the related publication: - H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama, - "Parallel Reactive Molecular Dynamics: Numerical Methods and - Algorithmic Techniques", Parallel Computing, in press. - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License as - published by the Free Software Foundation; either version 2 of - the License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - See the GNU General Public License for more details: - . - ----------------------------------------------------------------------*/ - -#ifndef __BONDS_H_ -#define __BONDS_H_ - -#include "reaxc_types.h" - -void Bonds( reax_system*, control_params*, simulation_data*, - storage*, reax_list**, output_controls* ); -#endif diff --git a/src/USER-REAXC/reaxc_control.h b/src/USER-REAXC/reaxc_control.h deleted file mode 100644 index 5739d97574..0000000000 --- a/src/USER-REAXC/reaxc_control.h +++ /dev/null @@ -1,34 +0,0 @@ -/*---------------------------------------------------------------------- - PuReMD - Purdue ReaxFF Molecular Dynamics Program - - Copyright (2010) Purdue University - Hasan Metin Aktulga, hmaktulga@lbl.gov - Joseph Fogarty, jcfogart@mail.usf.edu - Sagar Pandit, pandit@usf.edu - Ananth Y Grama, ayg@cs.purdue.edu - - Please cite the related publication: - H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama, - "Parallel Reactive Molecular Dynamics: Numerical Methods and - Algorithmic Techniques", Parallel Computing, in press. - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License as - published by the Free Software Foundation; either version 2 of - the License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - See the GNU General Public License for more details: - . - ----------------------------------------------------------------------*/ - -#ifndef __CONTROL_H_ -#define __CONTROL_H_ - -#include "reaxc_types.h" - -void Read_Control_File(const char *, control_params *, output_controls *); - -#endif diff --git a/src/USER-REAXC/reaxc_defs.h b/src/USER-REAXC/reaxc_defs.h deleted file mode 100644 index 5f1fc0fd6f..0000000000 --- a/src/USER-REAXC/reaxc_defs.h +++ /dev/null @@ -1,105 +0,0 @@ - - -/*---------------------------------------------------------------------- - PuReMD - Purdue ReaxFF Molecular Dynamics Program - - Copyright (2010) Purdue University - Hasan Metin Aktulga, hmaktulga@lbl.gov - Joseph Fogarty, jcfogart@mail.usf.edu - Sagar Pandit, pandit@usf.edu - Ananth Y Grama, ayg@cs.purdue.edu - - Please cite the related publication: - H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama, - "Parallel Reactive Molecular Dynamics: Numerical Methods and - Algorithmic Techniques", Parallel Computing, in press. - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License as - published by the Free Software Foundation; either version 2 of - the License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - See the GNU General Public License for more details: - . - ----------------------------------------------------------------------*/ - -#ifndef LMP_REAXC_DEFS_H -#define LMP_REAXC_DEFS_H - -#if defined(__IBMC__) -#define inline __inline__ -#endif /*IBMC*/ - -#ifndef SUCCESS -#define SUCCESS 1 -#endif -#ifndef FAILURE -#define FAILURE 0 -#endif - -#define SQR(x) ((x)*(x)) -#define CUBE(x) ((x)*(x)*(x)) -#define DEG2RAD(a) ((a)*constPI/180.0) -#define RAD2DEG(a) ((a)*180.0/constPI) -#define MAX3(x,y,z) MAX( MAX(x,y), z) - -#define constPI 3.14159265 -#define C_ele 332.06371 -//#define K_B 503.398008 // kcal/mol/K -#define K_B 0.831687 // amu A^2 / ps^2 / K -#define F_CONV 1e6 / 48.88821291 / 48.88821291 // --> amu A / ps^2 -#define E_CONV 0.002391 // amu A^2 / ps^2 --> kcal/mol -#define EV_to_KCALpMOL 14.400000 // ElectronVolt --> KCAL per MOLe -#define KCALpMOL_to_EV 23.02 // 23.060549 //KCAL per MOLe --> ElectronVolt -#define ECxA_to_DEBYE 4.803204 // elem. charge * Ang -> debye -#define CAL_to_JOULES 4.184000 // CALories --> JOULES -#define JOULES_to_CAL 1/4.184000 // JOULES --> CALories -#define AMU_to_GRAM 1.6605e-24 -#define ANG_to_CM 1e-8 -#define AVOGNR 6.0221367e23 -#define P_CONV 1e-24 * AVOGNR * JOULES_to_CAL - -#define MAX_STR 1024 -#define MAX_LINE 1024 -#define MAX_TOKENS 1024 -#define MAX_TOKEN_LEN 1024 - -#define NUM_INTRS 10 -#define ALMOST_ZERO 1e-10 -#define NEG_INF -1e10 -#define NO_BOND 1e-3 // 0.001 -#define HB_THRESHOLD 1e-2 // 0.01 - -#define REAX_MIN_CAP 50 -#define REAX_MIN_NBRS 100 -#define MIN_HENTRIES 100 -#define MAX_BONDS 30 -#define MIN_BONDS 25 -#define REAX_MIN_HBONDS 25 -#define MIN_3BODIES 1000 -#define REAX_SAFE_ZONE 1.2 -#define REAX_SAFER_ZONE 1.4 -#define DANGER_ZONE 0.90 -#define LOOSE_ZONE 0.75 -#define MAX_3BODY_PARAM 5 -#define MAX_4BODY_PARAM 5 - -#define MASTER_NODE 0 - -#define MAXREAXBOND 24 /* used in fix_reaxc_bonds.cpp and pair_reaxc.cpp */ -#define MAXSPECBOND 24 /* used in fix_reaxc_species.cpp and pair_reaxc.cpp */ - -/******************* ENUMERATIONS *************************/ - -enum lists { BONDS, OLD_BONDS, THREE_BODIES, - HBONDS, FAR_NBRS, DBOS, DDELTAS, LIST_N }; - -enum message_tags {NONE, INIT_DESCS, ATOM_LINES, BOND_LINES, ANGLE_LINES}; - -enum interactions {TYP_VOID, TYP_BOND, TYP_THREE_BODY, - TYP_HBOND, TYP_FAR_NEIGHBOR, TYP_DBO, TYP_DDELTA, TYP_N}; - -#endif diff --git a/src/USER-REAXC/reaxc_ffield.cpp b/src/USER-REAXC/reaxc_ffield.cpp index a48ba93e85..88381040c2 100644 --- a/src/USER-REAXC/reaxc_ffield.cpp +++ b/src/USER-REAXC/reaxc_ffield.cpp @@ -24,7 +24,7 @@ . ----------------------------------------------------------------------*/ -#include "reaxc_ffield.h" +#include "reaxff_api.h" #include #include @@ -32,717 +32,720 @@ #include #include #include -#include "reaxc_defs.h" #include "error.h" -#include "reaxc_tool_box.h" + #include "utils.h" using LAMMPS_NS::utils::open_potential; using LAMMPS_NS::utils::getsyserror; -void Read_Force_Field(const char *filename, reax_interaction *reax, - control_params *control ) -{ - char *s; - char **tmp; - char ****tor_flag; - int c, i, j, k, l, m, n, o, p, cnt; - int lgflag = control->lgflag; - int errorflag = 1; - double val; - int me = control->me; +namespace ReaxFF { + extern int Tokenize(char* s, char*** tok); + + void Read_Force_Field(const char *filename, reax_interaction *reax, + control_params *control) + { + char *s; + char **tmp; + char ****tor_flag; + int c, i, j, k, l, m, n, o, p, cnt; + int lgflag = control->lgflag; + int errorflag = 1; + double val; + int me = control->me; - FILE *fp = open_potential(filename,control->lmp_ptr,nullptr); - if (!fp) - control->error_ptr->all(FLERR,fmt::format("Cannot open ReaxFF potential " - "file {}: {}",filename, - getsyserror())); - s = (char*) malloc(sizeof(char)*MAX_LINE); - tmp = (char**) malloc(sizeof(char*)*MAX_TOKENS); - for (i=0; i < MAX_TOKENS; i++) - tmp[i] = (char*) malloc(sizeof(char)*MAX_TOKEN_LEN); + FILE *fp = open_potential(filename,control->lmp_ptr,nullptr); + if (!fp) + control->error_ptr->all(FLERR,fmt::format("Cannot open ReaxFF potential " + "file {}: {}",filename, + getsyserror())); + s = (char*) malloc(sizeof(char)*MAX_LINE); + tmp = (char**) malloc(sizeof(char*)*MAX_TOKENS); + for (i=0; i < MAX_TOKENS; i++) + tmp[i] = (char*) malloc(sizeof(char)*MAX_TOKEN_LEN); - /* reading first header comment */ - fgets( s, MAX_LINE, fp ); + /* reading first header comment */ + fgets(s, MAX_LINE, fp); - /* line 2 is number of global parameters */ - fgets( s, MAX_LINE, fp ); - c = Tokenize( s, &tmp ); + /* line 2 is number of global parameters */ + fgets(s, MAX_LINE, fp); + c = Tokenize(s, &tmp); - /* reading the number of global parameters */ - n = atoi(tmp[0]); - if (n < 1) { - if (me == 0) - control->error_ptr->warning( FLERR, "Number of globals in ffield file is 0. The file will not be read." ); - fclose(fp); - free(s); - free(tmp); - return; - } + /* reading the number of global parameters */ + n = atoi(tmp[0]); + if (n < 1) { + if (me == 0) + control->error_ptr->warning(FLERR, "Number of globals in ffield file is 0. The file will not be read."); + fclose(fp); + free(s); + free(tmp); + return; + } - reax->gp.n_global = n; - reax->gp.l = (double*) malloc(sizeof(double)*n); + reax->gp.n_global = n; + reax->gp.l = (double*) malloc(sizeof(double)*n); - /* see reax_types.h for mapping between l[i] and the lambdas used in ff */ - for (i=0; i < n; i++) { + /* see reax_types.h for mapping between l[i] and the lambdas used in ff */ + for (i=0; i < n; i++) { + fgets(s,MAX_LINE,fp); + c = Tokenize(s,&tmp); + + val = (double) atof(tmp[0]); + reax->gp.l[i] = val; + } + + control->bo_cut = 0.01 * reax->gp.l[29]; + control->nonb_low = reax->gp.l[11]; + control->nonb_cut = reax->gp.l[12]; + + /* next line is number of atom types and some comments */ + fgets(s, MAX_LINE, fp); + c = Tokenize(s, &tmp); + reax->num_atom_types = atoi(tmp[0]); + + /* 3 lines of comments */ + fgets(s,MAX_LINE,fp); + fgets(s,MAX_LINE,fp); fgets(s,MAX_LINE,fp); - c = Tokenize(s,&tmp); - val = (double) atof(tmp[0]); - reax->gp.l[i] = val; - } + /* Allocating structures in reax_interaction */ + reax->sbp = (single_body_parameters*) + scalloc(control->error_ptr, reax->num_atom_types, sizeof(single_body_parameters), "sbp"); + reax->tbp = (two_body_parameters**) + scalloc(control->error_ptr, reax->num_atom_types, sizeof(two_body_parameters*), "tbp"); + reax->thbp= (three_body_header***) + scalloc(control->error_ptr, reax->num_atom_types, sizeof(three_body_header**), "thbp"); + reax->hbp = (hbond_parameters***) + scalloc(control->error_ptr, reax->num_atom_types, sizeof(hbond_parameters**), "hbp"); + reax->fbp = (four_body_header****) + scalloc(control->error_ptr, reax->num_atom_types, sizeof(four_body_header***), "fbp"); + tor_flag = (char****) + scalloc(control->error_ptr, reax->num_atom_types, sizeof(char***), "tor_flag"); - control->bo_cut = 0.01 * reax->gp.l[29]; - control->nonb_low = reax->gp.l[11]; - control->nonb_cut = reax->gp.l[12]; + for (i = 0; i < reax->num_atom_types; i++) { + reax->tbp[i] = (two_body_parameters*) + scalloc(control->error_ptr, reax->num_atom_types, sizeof(two_body_parameters), "tbp[i]"); + reax->thbp[i]= (three_body_header**) + scalloc(control->error_ptr, reax->num_atom_types, sizeof(three_body_header*), "thbp[i]"); + reax->hbp[i] = (hbond_parameters**) + scalloc(control->error_ptr, reax->num_atom_types, sizeof(hbond_parameters*), "hbp[i]"); + reax->fbp[i] = (four_body_header***) + scalloc(control->error_ptr, reax->num_atom_types, sizeof(four_body_header**), "fbp[i]"); + tor_flag[i] = (char***) + scalloc(control->error_ptr, reax->num_atom_types, sizeof(char**), "tor_flag[i]"); - /* next line is number of atom types and some comments */ - fgets( s, MAX_LINE, fp ); - c = Tokenize( s, &tmp ); - reax->num_atom_types = atoi(tmp[0]); + for (j = 0; j < reax->num_atom_types; j++) { + reax->thbp[i][j]= (three_body_header*) + scalloc(control->error_ptr, reax->num_atom_types, sizeof(three_body_header), "thbp[i,j]"); + reax->hbp[i][j] = (hbond_parameters*) + scalloc(control->error_ptr, reax->num_atom_types, sizeof(hbond_parameters), "hbp[i,j]"); + reax->fbp[i][j] = (four_body_header**) + scalloc(control->error_ptr, reax->num_atom_types, sizeof(four_body_header*), "fbp[i,j]"); + tor_flag[i][j] = (char**) + scalloc(control->error_ptr, reax->num_atom_types, sizeof(char*), "tor_flag[i,j]"); - /* 3 lines of comments */ - fgets(s,MAX_LINE,fp); - fgets(s,MAX_LINE,fp); - fgets(s,MAX_LINE,fp); - - /* Allocating structures in reax_interaction */ - reax->sbp = (single_body_parameters*) - scalloc(control->error_ptr, reax->num_atom_types, sizeof(single_body_parameters), "sbp"); - reax->tbp = (two_body_parameters**) - scalloc(control->error_ptr, reax->num_atom_types, sizeof(two_body_parameters*), "tbp"); - reax->thbp= (three_body_header***) - scalloc(control->error_ptr, reax->num_atom_types, sizeof(three_body_header**), "thbp"); - reax->hbp = (hbond_parameters***) - scalloc(control->error_ptr, reax->num_atom_types, sizeof(hbond_parameters**), "hbp"); - reax->fbp = (four_body_header****) - scalloc(control->error_ptr, reax->num_atom_types, sizeof(four_body_header***), "fbp"); - tor_flag = (char****) - scalloc(control->error_ptr, reax->num_atom_types, sizeof(char***), "tor_flag"); - - for (i = 0; i < reax->num_atom_types; i++) { - reax->tbp[i] = (two_body_parameters*) - scalloc(control->error_ptr, reax->num_atom_types, sizeof(two_body_parameters), "tbp[i]"); - reax->thbp[i]= (three_body_header**) - scalloc(control->error_ptr, reax->num_atom_types, sizeof(three_body_header*), "thbp[i]"); - reax->hbp[i] = (hbond_parameters**) - scalloc(control->error_ptr, reax->num_atom_types, sizeof(hbond_parameters*), "hbp[i]"); - reax->fbp[i] = (four_body_header***) - scalloc(control->error_ptr, reax->num_atom_types, sizeof(four_body_header**), "fbp[i]"); - tor_flag[i] = (char***) - scalloc(control->error_ptr, reax->num_atom_types, sizeof(char**), "tor_flag[i]"); - - for (j = 0; j < reax->num_atom_types; j++) { - reax->thbp[i][j]= (three_body_header*) - scalloc(control->error_ptr, reax->num_atom_types, sizeof(three_body_header), "thbp[i,j]"); - reax->hbp[i][j] = (hbond_parameters*) - scalloc(control->error_ptr, reax->num_atom_types, sizeof(hbond_parameters), "hbp[i,j]"); - reax->fbp[i][j] = (four_body_header**) - scalloc(control->error_ptr, reax->num_atom_types, sizeof(four_body_header*), "fbp[i,j]"); - tor_flag[i][j] = (char**) - scalloc(control->error_ptr, reax->num_atom_types, sizeof(char*), "tor_flag[i,j]"); - - for (k=0; k < reax->num_atom_types; k++) { - reax->fbp[i][j][k] = (four_body_header*) - scalloc(control->error_ptr, reax->num_atom_types, sizeof(four_body_header), "fbp[i,j,k]"); - tor_flag[i][j][k] = (char*) - scalloc(control->error_ptr, reax->num_atom_types, sizeof(char), "tor_flag[i,j,k]"); + for (k=0; k < reax->num_atom_types; k++) { + reax->fbp[i][j][k] = (four_body_header*) + scalloc(control->error_ptr, reax->num_atom_types, sizeof(four_body_header), "fbp[i,j,k]"); + tor_flag[i][j][k] = (char*) + scalloc(control->error_ptr, reax->num_atom_types, sizeof(char), "tor_flag[i,j,k]"); + } } } - } - reax->gp.vdw_type = 0; + reax->gp.vdw_type = 0; - char errmsg[1024]; + char errmsg[1024]; - for (i = 0; i < reax->num_atom_types; i++) { - /* line one */ - fgets( s, MAX_LINE, fp ); - c = Tokenize( s, &tmp ); + for (i = 0; i < reax->num_atom_types; i++) { + /* line one */ + fgets(s, MAX_LINE, fp); + c = Tokenize(s, &tmp); - /* Sanity checks */ - if (c == 2 && !lgflag) + /* Sanity checks */ + if (c == 2 && !lgflag) control->error_ptr->all(FLERR, "Force field file requires using 'lgvdw yes'"); - if (c < 9) { - snprintf (errmsg, 1024, "Missing parameter(s) in line %s", s); - control->error_ptr->all(FLERR, errmsg); - } - - for (j = 0; j < (int)(strlen(tmp[0])); ++j) - reax->sbp[i].name[j] = toupper( tmp[0][j] ); - - val = atof(tmp[1]); reax->sbp[i].r_s = val; - val = atof(tmp[2]); reax->sbp[i].valency = val; - val = atof(tmp[3]); reax->sbp[i].mass = val; - val = atof(tmp[4]); reax->sbp[i].r_vdw = val; - val = atof(tmp[5]); reax->sbp[i].epsilon = val; - val = atof(tmp[6]); reax->sbp[i].gamma = val; - val = atof(tmp[7]); reax->sbp[i].r_pi = val; - val = atof(tmp[8]); reax->sbp[i].valency_e = val; - reax->sbp[i].nlp_opt = 0.5 * (reax->sbp[i].valency_e-reax->sbp[i].valency); - - /* line two */ - fgets( s, MAX_LINE, fp ); - c = Tokenize( s, &tmp ); - - /* Sanity check */ - if (c < 8) { - snprintf (errmsg, 1024, "Missing parameter(s) in line %s", s); - control->error_ptr->all(FLERR, errmsg); - } - - val = atof(tmp[0]); reax->sbp[i].alpha = val; - val = atof(tmp[1]); reax->sbp[i].gamma_w = val; - val = atof(tmp[2]); reax->sbp[i].valency_boc= val; - val = atof(tmp[3]); reax->sbp[i].p_ovun5 = val; - val = atof(tmp[4]); - val = atof(tmp[5]); reax->sbp[i].chi = val; - val = atof(tmp[6]); reax->sbp[i].eta = 2.0 * val; - val = atof(tmp[7]); reax->sbp[i].p_hbond = (int) val; - - /* line 3 */ - fgets( s, MAX_LINE, fp ); - c = Tokenize( s, &tmp ); - - /* Sanity check */ - if (c < 8) { - snprintf (errmsg, 1024, "Missing parameter(s) in line %s", s); - control->error_ptr->all(FLERR, errmsg); - } - - val = atof(tmp[0]); reax->sbp[i].r_pi_pi = val; - val = atof(tmp[1]); reax->sbp[i].p_lp2 = val; - val = atof(tmp[2]); - val = atof(tmp[3]); reax->sbp[i].b_o_131 = val; - val = atof(tmp[4]); reax->sbp[i].b_o_132 = val; - val = atof(tmp[5]); reax->sbp[i].b_o_133 = val; - val = atof(tmp[6]); - val = atof(tmp[7]); - - /* line 4 */ - fgets( s, MAX_LINE, fp ); - c = Tokenize( s, &tmp ); - - /* Sanity check */ - if (c < 8) { - snprintf (errmsg, 1024, "Missing parameter(s) in line %s", s); - control->error_ptr->all(FLERR, errmsg); - } - - val = atof(tmp[0]); reax->sbp[i].p_ovun2 = val; - val = atof(tmp[1]); reax->sbp[i].p_val3 = val; - val = atof(tmp[2]); - val = atof(tmp[3]); reax->sbp[i].valency_val= val; - val = atof(tmp[4]); reax->sbp[i].p_val5 = val; - val = atof(tmp[5]); reax->sbp[i].rcore2 = val; - val = atof(tmp[6]); reax->sbp[i].ecore2 = val; - val = atof(tmp[7]); reax->sbp[i].acore2 = val; - - /* line 5, only if lgvdw is yes */ - if (lgflag) { - fgets( s, MAX_LINE, fp ); - c = Tokenize( s, &tmp ); - - /* Sanity check */ - if (c > 2) { - control->error_ptr->all(FLERR,"Force field file incompatible with 'lgvdw yes'"); - } - - val = atof(tmp[0]); reax->sbp[i].lgcij = val; - val = atof(tmp[1]); reax->sbp[i].lgre = val; - } - - if (reax->sbp[i].rcore2>0.01 && reax->sbp[i].acore2>0.01) { // Inner-wall - if (reax->sbp[i].gamma_w>0.5) { // Shielding vdWaals - if (reax->gp.vdw_type != 0 && reax->gp.vdw_type != 3) { - if (errorflag && (me == 0)) { - char errmsg[512]; - snprintf(errmsg, 512, "VdWaals-parameters for element %s " - "indicate inner wall+shielding, but earlier " - "atoms indicate different vdWaals-method. " - "This may cause division-by-zero errors. " - "Keeping vdWaals-setting for earlier atoms.", - reax->sbp[i].name); - control->error_ptr->warning(FLERR,errmsg); - } - errorflag = 0; - } else { - reax->gp.vdw_type = 3; - } - } else { // No shielding vdWaals parameters present - if (reax->gp.vdw_type != 0 && reax->gp.vdw_type != 2) { - if (me == 0) { - char errmsg[512]; - snprintf(errmsg, 512, "VdWaals-parameters for element %s " - "indicate inner wall without shielding, but earlier " - "atoms indicate different vdWaals-method. " - "This may cause division-by-zero errors. " - "Keeping vdWaals-setting for earlier atoms.", - reax->sbp[i].name); - control->error_ptr->warning(FLERR,errmsg); - } - } else { - reax->gp.vdw_type = 2; - } - } - } else { // No Inner wall parameters present - if (reax->sbp[i].gamma_w>0.5) { // Shielding vdWaals - if (reax->gp.vdw_type != 0 && reax->gp.vdw_type != 1) { - if (me == 0) { - char errmsg[512]; - snprintf(errmsg, 512, "VdWaals parameters for element %s " - "indicate shielding without inner wall, but earlier " - "elements indicate different vdWaals-method. " - "This may cause division-by-zero errors. " - "Keeping vdWaals-setting for earlier atoms.", - reax->sbp[i].name); - control->error_ptr->warning(FLERR,errmsg); - } - } else { - reax->gp.vdw_type = 1; - } - } else { - char errmsg[256]; - snprintf(errmsg, 256, "Inconsistent vdWaals-parameters: " - "No shielding or inner-wall set for element %s", - reax->sbp[i].name); + if (c < 9) { + snprintf (errmsg, 1024, "Missing parameter(s) in line %s", s); control->error_ptr->all(FLERR, errmsg); } - } - } - /* Equate vval3 to valf for first-row elements (25/10/2004) */ - for (i = 0; i < reax->num_atom_types; i++) - if ( reax->sbp[i].mass < 21 && - reax->sbp[i].valency_val != reax->sbp[i].valency_boc) { - if (me == 0) { - char errmsg[256]; - snprintf(errmsg, 256, "Changed valency_val to valency_boc for %s", - reax->sbp[i].name); - control->error_ptr->warning(FLERR,errmsg); + for (j = 0; j < (int)(strlen(tmp[0])); ++j) + reax->sbp[i].name[j] = toupper(tmp[0][j]); + + val = atof(tmp[1]); reax->sbp[i].r_s = val; + val = atof(tmp[2]); reax->sbp[i].valency = val; + val = atof(tmp[3]); reax->sbp[i].mass = val; + val = atof(tmp[4]); reax->sbp[i].r_vdw = val; + val = atof(tmp[5]); reax->sbp[i].epsilon = val; + val = atof(tmp[6]); reax->sbp[i].gamma = val; + val = atof(tmp[7]); reax->sbp[i].r_pi = val; + val = atof(tmp[8]); reax->sbp[i].valency_e = val; + reax->sbp[i].nlp_opt = 0.5 * (reax->sbp[i].valency_e-reax->sbp[i].valency); + + /* line two */ + fgets(s, MAX_LINE, fp); + c = Tokenize(s, &tmp); + + /* Sanity check */ + if (c < 8) { + snprintf (errmsg, 1024, "Missing parameter(s) in line %s", s); + control->error_ptr->all(FLERR, errmsg); + } + + val = atof(tmp[0]); reax->sbp[i].alpha = val; + val = atof(tmp[1]); reax->sbp[i].gamma_w = val; + val = atof(tmp[2]); reax->sbp[i].valency_boc= val; + val = atof(tmp[3]); reax->sbp[i].p_ovun5 = val; + val = atof(tmp[4]); + val = atof(tmp[5]); reax->sbp[i].chi = val; + val = atof(tmp[6]); reax->sbp[i].eta = 2.0 * val; + val = atof(tmp[7]); reax->sbp[i].p_hbond = (int) val; + + /* line 3 */ + fgets(s, MAX_LINE, fp); + c = Tokenize(s, &tmp); + + /* Sanity check */ + if (c < 8) { + snprintf (errmsg, 1024, "Missing parameter(s) in line %s", s); + control->error_ptr->all(FLERR, errmsg); + } + + val = atof(tmp[0]); reax->sbp[i].r_pi_pi = val; + val = atof(tmp[1]); reax->sbp[i].p_lp2 = val; + val = atof(tmp[2]); + val = atof(tmp[3]); reax->sbp[i].b_o_131 = val; + val = atof(tmp[4]); reax->sbp[i].b_o_132 = val; + val = atof(tmp[5]); reax->sbp[i].b_o_133 = val; + val = atof(tmp[6]); + val = atof(tmp[7]); + + /* line 4 */ + fgets(s, MAX_LINE, fp); + c = Tokenize(s, &tmp); + + /* Sanity check */ + if (c < 8) { + snprintf (errmsg, 1024, "Missing parameter(s) in line %s", s); + control->error_ptr->all(FLERR, errmsg); + } + + val = atof(tmp[0]); reax->sbp[i].p_ovun2 = val; + val = atof(tmp[1]); reax->sbp[i].p_val3 = val; + val = atof(tmp[2]); + val = atof(tmp[3]); reax->sbp[i].valency_val= val; + val = atof(tmp[4]); reax->sbp[i].p_val5 = val; + val = atof(tmp[5]); reax->sbp[i].rcore2 = val; + val = atof(tmp[6]); reax->sbp[i].ecore2 = val; + val = atof(tmp[7]); reax->sbp[i].acore2 = val; + + /* line 5, only if lgvdw is yes */ + if (lgflag) { + fgets(s, MAX_LINE, fp); + c = Tokenize(s, &tmp); + + /* Sanity check */ + if (c > 2) { + control->error_ptr->all(FLERR,"Force field file incompatible with 'lgvdw yes'"); + } + + val = atof(tmp[0]); reax->sbp[i].lgcij = val; + val = atof(tmp[1]); reax->sbp[i].lgre = val; + } + + if (reax->sbp[i].rcore2>0.01 && reax->sbp[i].acore2>0.01) { // Inner-wall + if (reax->sbp[i].gamma_w>0.5) { // Shielding vdWaals + if (reax->gp.vdw_type != 0 && reax->gp.vdw_type != 3) { + if (errorflag && (me == 0)) { + char errmsg[512]; + snprintf(errmsg, 512, "VdWaals-parameters for element %s " + "indicate inner wall+shielding, but earlier " + "atoms indicate different vdWaals-method. " + "This may cause division-by-zero errors. " + "Keeping vdWaals-setting for earlier atoms.", + reax->sbp[i].name); + control->error_ptr->warning(FLERR,errmsg); + } + errorflag = 0; + } else { + reax->gp.vdw_type = 3; + } + } else { // No shielding vdWaals parameters present + if (reax->gp.vdw_type != 0 && reax->gp.vdw_type != 2) { + if (me == 0) { + char errmsg[512]; + snprintf(errmsg, 512, "VdWaals-parameters for element %s " + "indicate inner wall without shielding, but earlier " + "atoms indicate different vdWaals-method. " + "This may cause division-by-zero errors. " + "Keeping vdWaals-setting for earlier atoms.", + reax->sbp[i].name); + control->error_ptr->warning(FLERR,errmsg); + } + } else { + reax->gp.vdw_type = 2; + } + } + } else { // No Inner wall parameters present + if (reax->sbp[i].gamma_w>0.5) { // Shielding vdWaals + if (reax->gp.vdw_type != 0 && reax->gp.vdw_type != 1) { + if (me == 0) { + char errmsg[512]; + snprintf(errmsg, 512, "VdWaals parameters for element %s " + "indicate shielding without inner wall, but earlier " + "elements indicate different vdWaals-method. " + "This may cause division-by-zero errors. " + "Keeping vdWaals-setting for earlier atoms.", + reax->sbp[i].name); + control->error_ptr->warning(FLERR,errmsg); + } + } else { + reax->gp.vdw_type = 1; + } + } else { + char errmsg[256]; + snprintf(errmsg, 256, "Inconsistent vdWaals-parameters: " + "No shielding or inner-wall set for element %s", + reax->sbp[i].name); + control->error_ptr->all(FLERR, errmsg); + } } - reax->sbp[i].valency_val = reax->sbp[i].valency_boc; } - /* next line is number of two body combination and some comments */ - fgets(s,MAX_LINE,fp); - c=Tokenize(s,&tmp); + /* Equate vval3 to valf for first-row elements (25/10/2004) */ + for (i = 0; i < reax->num_atom_types; i++) + if (reax->sbp[i].mass < 21 && + reax->sbp[i].valency_val != reax->sbp[i].valency_boc) { + if (me == 0) { + char errmsg[256]; + snprintf(errmsg, 256, "Changed valency_val to valency_boc for %s", + reax->sbp[i].name); + control->error_ptr->warning(FLERR,errmsg); + } + reax->sbp[i].valency_val = reax->sbp[i].valency_boc; + } - if (c == 2 && !lgflag) { + /* next line is number of two body combination and some comments */ + fgets(s,MAX_LINE,fp); + c=Tokenize(s,&tmp); + + if (c == 2 && !lgflag) { control->error_ptr->all(FLERR, "Force field file requires using 'lgvdw yes'"); } - l = atoi(tmp[0]); + l = atoi(tmp[0]); - /* a line of comments */ - fgets(s,MAX_LINE,fp); - - for (i=0; i < l; i++) { - /* line 1 */ + /* a line of comments */ fgets(s,MAX_LINE,fp); - c=Tokenize(s,&tmp); - j = atoi(tmp[0]) - 1; - k = atoi(tmp[1]) - 1; - if ((c < 10) || (j < 0) || (k < 0)) - control->error_ptr->all(FLERR, "Inconsistent force field file"); - - if (j < reax->num_atom_types && k < reax->num_atom_types) { - - val = atof(tmp[2]); reax->tbp[j][k].De_s = val; - reax->tbp[k][j].De_s = val; - val = atof(tmp[3]); reax->tbp[j][k].De_p = val; - reax->tbp[k][j].De_p = val; - val = atof(tmp[4]); reax->tbp[j][k].De_pp = val; - reax->tbp[k][j].De_pp = val; - val = atof(tmp[5]); reax->tbp[j][k].p_be1 = val; - reax->tbp[k][j].p_be1 = val; - val = atof(tmp[6]); reax->tbp[j][k].p_bo5 = val; - reax->tbp[k][j].p_bo5 = val; - val = atof(tmp[7]); reax->tbp[j][k].v13cor = val; - reax->tbp[k][j].v13cor = val; - - val = atof(tmp[8]); reax->tbp[j][k].p_bo6 = val; - reax->tbp[k][j].p_bo6 = val; - val = atof(tmp[9]); reax->tbp[j][k].p_ovun1 = val; - reax->tbp[k][j].p_ovun1 = val; - - /* line 2 */ + for (i=0; i < l; i++) { + /* line 1 */ fgets(s,MAX_LINE,fp); c=Tokenize(s,&tmp); - if (c < 8) + + j = atoi(tmp[0]) - 1; + k = atoi(tmp[1]) - 1; + if ((c < 10) || (j < 0) || (k < 0)) control->error_ptr->all(FLERR, "Inconsistent force field file"); - val = atof(tmp[0]); reax->tbp[j][k].p_be2 = val; - reax->tbp[k][j].p_be2 = val; - val = atof(tmp[1]); reax->tbp[j][k].p_bo3 = val; - reax->tbp[k][j].p_bo3 = val; - val = atof(tmp[2]); reax->tbp[j][k].p_bo4 = val; - reax->tbp[k][j].p_bo4 = val; - val = atof(tmp[3]); + if (j < reax->num_atom_types && k < reax->num_atom_types) { - val = atof(tmp[4]); reax->tbp[j][k].p_bo1 = val; - reax->tbp[k][j].p_bo1 = val; - val = atof(tmp[5]); reax->tbp[j][k].p_bo2 = val; - reax->tbp[k][j].p_bo2 = val; - val = atof(tmp[6]); reax->tbp[j][k].ovc = val; - reax->tbp[k][j].ovc = val; + val = atof(tmp[2]); reax->tbp[j][k].De_s = val; + reax->tbp[k][j].De_s = val; + val = atof(tmp[3]); reax->tbp[j][k].De_p = val; + reax->tbp[k][j].De_p = val; + val = atof(tmp[4]); reax->tbp[j][k].De_pp = val; + reax->tbp[k][j].De_pp = val; + val = atof(tmp[5]); reax->tbp[j][k].p_be1 = val; + reax->tbp[k][j].p_be1 = val; + val = atof(tmp[6]); reax->tbp[j][k].p_bo5 = val; + reax->tbp[k][j].p_bo5 = val; + val = atof(tmp[7]); reax->tbp[j][k].v13cor = val; + reax->tbp[k][j].v13cor = val; - val = atof(tmp[7]); - } - } + val = atof(tmp[8]); reax->tbp[j][k].p_bo6 = val; + reax->tbp[k][j].p_bo6 = val; + val = atof(tmp[9]); reax->tbp[j][k].p_ovun1 = val; + reax->tbp[k][j].p_ovun1 = val; - for (i=0; i < reax->num_atom_types; i++) - for (j=i; j < reax->num_atom_types; j++) { - reax->tbp[i][j].r_s = 0.5 * - (reax->sbp[i].r_s + reax->sbp[j].r_s); - reax->tbp[j][i].r_s = 0.5 * - (reax->sbp[j].r_s + reax->sbp[i].r_s); + /* line 2 */ + fgets(s,MAX_LINE,fp); + c=Tokenize(s,&tmp); + if (c < 8) + control->error_ptr->all(FLERR, "Inconsistent force field file"); - reax->tbp[i][j].r_p = 0.5 * - (reax->sbp[i].r_pi + reax->sbp[j].r_pi); - reax->tbp[j][i].r_p = 0.5 * - (reax->sbp[j].r_pi + reax->sbp[i].r_pi); + val = atof(tmp[0]); reax->tbp[j][k].p_be2 = val; + reax->tbp[k][j].p_be2 = val; + val = atof(tmp[1]); reax->tbp[j][k].p_bo3 = val; + reax->tbp[k][j].p_bo3 = val; + val = atof(tmp[2]); reax->tbp[j][k].p_bo4 = val; + reax->tbp[k][j].p_bo4 = val; + val = atof(tmp[3]); - reax->tbp[i][j].r_pp = 0.5 * - (reax->sbp[i].r_pi_pi + reax->sbp[j].r_pi_pi); - reax->tbp[j][i].r_pp = 0.5 * - (reax->sbp[j].r_pi_pi + reax->sbp[i].r_pi_pi); - - - reax->tbp[i][j].p_boc3 = - sqrt(reax->sbp[i].b_o_132 * - reax->sbp[j].b_o_132); - reax->tbp[j][i].p_boc3 = - sqrt(reax->sbp[j].b_o_132 * - reax->sbp[i].b_o_132); - - reax->tbp[i][j].p_boc4 = - sqrt(reax->sbp[i].b_o_131 * - reax->sbp[j].b_o_131); - reax->tbp[j][i].p_boc4 = - sqrt(reax->sbp[j].b_o_131 * - reax->sbp[i].b_o_131); - - reax->tbp[i][j].p_boc5 = - sqrt(reax->sbp[i].b_o_133 * - reax->sbp[j].b_o_133); - reax->tbp[j][i].p_boc5 = - sqrt(reax->sbp[j].b_o_133 * - reax->sbp[i].b_o_133); - - - reax->tbp[i][j].D = - sqrt(reax->sbp[i].epsilon * - reax->sbp[j].epsilon); - - reax->tbp[j][i].D = - sqrt(reax->sbp[j].epsilon * - reax->sbp[i].epsilon); - - reax->tbp[i][j].alpha = - sqrt(reax->sbp[i].alpha * - reax->sbp[j].alpha); - - reax->tbp[j][i].alpha = - sqrt(reax->sbp[j].alpha * - reax->sbp[i].alpha); - - reax->tbp[i][j].r_vdW = - 2.0 * sqrt(reax->sbp[i].r_vdw * reax->sbp[j].r_vdw); - - reax->tbp[j][i].r_vdW = - 2.0 * sqrt(reax->sbp[j].r_vdw * reax->sbp[i].r_vdw); - - reax->tbp[i][j].gamma_w = - sqrt(reax->sbp[i].gamma_w * - reax->sbp[j].gamma_w); - - reax->tbp[j][i].gamma_w = - sqrt(reax->sbp[j].gamma_w * - reax->sbp[i].gamma_w); - - reax->tbp[i][j].gamma = - pow(reax->sbp[i].gamma * - reax->sbp[j].gamma,-1.5); - - reax->tbp[j][i].gamma = - pow(reax->sbp[j].gamma * - reax->sbp[i].gamma,-1.5); - - // additions for additional vdWaals interaction types - inner core - - reax->tbp[i][j].rcore = reax->tbp[j][i].rcore = - sqrt( reax->sbp[i].rcore2 * reax->sbp[j].rcore2 ); - - reax->tbp[i][j].ecore = reax->tbp[j][i].ecore = - sqrt( reax->sbp[i].ecore2 * reax->sbp[j].ecore2 ); - - reax->tbp[i][j].acore = reax->tbp[j][i].acore = - sqrt( reax->sbp[i].acore2 * reax->sbp[j].acore2 ); - - // additions for additional vdWalls interaction types lg correction - - reax->tbp[i][j].lgcij = reax->tbp[j][i].lgcij = - sqrt( reax->sbp[i].lgcij * reax->sbp[j].lgcij ); - - reax->tbp[i][j].lgre = reax->tbp[j][i].lgre = 2.0 * reax->gp.l[35] * - sqrt( reax->sbp[i].lgre*reax->sbp[j].lgre ); - - } - - fgets(s,MAX_LINE,fp); - c=Tokenize(s,&tmp); - l = atoi(tmp[0]); - - for (i=0; i < l; i++) { - fgets(s,MAX_LINE,fp); - c=Tokenize(s,&tmp); - - j = atoi(tmp[0]) - 1; - k = atoi(tmp[1]) - 1; - - if ((c < (lgflag ? 9 : 8)) || (j < 0) || (k < 0)) - control->error_ptr->all(FLERR, "Inconsistent force field file"); - - if (j < reax->num_atom_types && k < reax->num_atom_types) { - val = atof(tmp[2]); - if (val > 0.0) { - reax->tbp[j][k].D = val; - reax->tbp[k][j].D = val; - } - - val = atof(tmp[3]); - if (val > 0.0) { - reax->tbp[j][k].r_vdW = 2 * val; - reax->tbp[k][j].r_vdW = 2 * val; - } - - val = atof(tmp[4]); - if (val > 0.0) { - reax->tbp[j][k].alpha = val; - reax->tbp[k][j].alpha = val; - } - - val = atof(tmp[5]); - if (val > 0.0) { - reax->tbp[j][k].r_s = val; - reax->tbp[k][j].r_s = val; - } - - val = atof(tmp[6]); - if (val > 0.0) { - reax->tbp[j][k].r_p = val; - reax->tbp[k][j].r_p = val; - } - - val = atof(tmp[7]); - if (val > 0.0) { - reax->tbp[j][k].r_pp = val; - reax->tbp[k][j].r_pp = val; - } - - if (lgflag) { - val = atof(tmp[8]); - if (val >= 0.0) { - reax->tbp[j][k].lgcij = val; - reax->tbp[k][j].lgcij = val; - } - } - } - } - - for (i = 0; i < reax->num_atom_types; ++i) - for (j = 0; j < reax->num_atom_types; ++j) - for (k = 0; k < reax->num_atom_types; ++k) - reax->thbp[i][j][k].cnt = 0; - - fgets( s, MAX_LINE, fp ); - c = Tokenize( s, &tmp ); - l = atoi( tmp[0] ); - - for (i = 0; i < l; i++) { - fgets(s,MAX_LINE,fp); - c=Tokenize(s,&tmp); - - j = atoi(tmp[0]) - 1; - k = atoi(tmp[1]) - 1; - m = atoi(tmp[2]) - 1; - if ((c < 10) || (j < 0) || (k < 0) || (m < 0)) - control->error_ptr->all(FLERR, "Inconsistent force field file"); - - if (j < reax->num_atom_types && k < reax->num_atom_types && - m < reax->num_atom_types) { - cnt = reax->thbp[j][k][m].cnt; - reax->thbp[j][k][m].cnt++; - reax->thbp[m][k][j].cnt++; - - val = atof(tmp[3]); - reax->thbp[j][k][m].prm[cnt].theta_00 = val; - reax->thbp[m][k][j].prm[cnt].theta_00 = val; - - val = atof(tmp[4]); - reax->thbp[j][k][m].prm[cnt].p_val1 = val; - reax->thbp[m][k][j].prm[cnt].p_val1 = val; - - val = atof(tmp[5]); - reax->thbp[j][k][m].prm[cnt].p_val2 = val; - reax->thbp[m][k][j].prm[cnt].p_val2 = val; - - val = atof(tmp[6]); - reax->thbp[j][k][m].prm[cnt].p_coa1 = val; - reax->thbp[m][k][j].prm[cnt].p_coa1 = val; - - val = atof(tmp[7]); - reax->thbp[j][k][m].prm[cnt].p_val7 = val; - reax->thbp[m][k][j].prm[cnt].p_val7 = val; - - val = atof(tmp[8]); - reax->thbp[j][k][m].prm[cnt].p_pen1 = val; - reax->thbp[m][k][j].prm[cnt].p_pen1 = val; - - val = atof(tmp[9]); - reax->thbp[j][k][m].prm[cnt].p_val4 = val; - reax->thbp[m][k][j].prm[cnt].p_val4 = val; - } - } - - /* clear all entries first */ - for (i = 0; i < reax->num_atom_types; ++i) - for (j = 0; j < reax->num_atom_types; ++j) - for (k = 0; k < reax->num_atom_types; ++k) - for (m = 0; m < reax->num_atom_types; ++m) { - reax->fbp[i][j][k][m].cnt = 0; - tor_flag[i][j][k][m] = 0; - } - - /* next line is number of 4-body params and some comments */ - fgets( s, MAX_LINE, fp ); - c = Tokenize( s, &tmp ); - l = atoi( tmp[0] ); - - for (i = 0; i < l; i++) { - fgets( s, MAX_LINE, fp ); - c = Tokenize( s, &tmp ); - - j = atoi(tmp[0]) - 1; - k = atoi(tmp[1]) - 1; - m = atoi(tmp[2]) - 1; - n = atoi(tmp[3]) - 1; - if ((c < 9) || (k < 0) || (m < 0)) - control->error_ptr->all(FLERR, "Inconsistent force field file"); - - if (j >= 0 && n >= 0) { // this means the entry is not in compact form - if (j < reax->num_atom_types && k < reax->num_atom_types && - m < reax->num_atom_types && n < reax->num_atom_types) { - tor_flag[j][k][m][n] = 1; - tor_flag[n][m][k][j] = 1; - - reax->fbp[j][k][m][n].cnt = 1; - reax->fbp[n][m][k][j].cnt = 1; - - val = atof(tmp[4]); - reax->fbp[j][k][m][n].prm[0].V1 = val; - reax->fbp[n][m][k][j].prm[0].V1 = val; - - val = atof(tmp[5]); - reax->fbp[j][k][m][n].prm[0].V2 = val; - reax->fbp[n][m][k][j].prm[0].V2 = val; - - val = atof(tmp[6]); - reax->fbp[j][k][m][n].prm[0].V3 = val; - reax->fbp[n][m][k][j].prm[0].V3 = val; + val = atof(tmp[4]); reax->tbp[j][k].p_bo1 = val; + reax->tbp[k][j].p_bo1 = val; + val = atof(tmp[5]); reax->tbp[j][k].p_bo2 = val; + reax->tbp[k][j].p_bo2 = val; + val = atof(tmp[6]); reax->tbp[j][k].ovc = val; + reax->tbp[k][j].ovc = val; val = atof(tmp[7]); - reax->fbp[j][k][m][n].prm[0].p_tor1 = val; - reax->fbp[n][m][k][j].prm[0].p_tor1 = val; + } + } + + for (i=0; i < reax->num_atom_types; i++) + for (j=i; j < reax->num_atom_types; j++) { + reax->tbp[i][j].r_s = 0.5 * + (reax->sbp[i].r_s + reax->sbp[j].r_s); + reax->tbp[j][i].r_s = 0.5 * + (reax->sbp[j].r_s + reax->sbp[i].r_s); + + reax->tbp[i][j].r_p = 0.5 * + (reax->sbp[i].r_pi + reax->sbp[j].r_pi); + reax->tbp[j][i].r_p = 0.5 * + (reax->sbp[j].r_pi + reax->sbp[i].r_pi); + + reax->tbp[i][j].r_pp = 0.5 * + (reax->sbp[i].r_pi_pi + reax->sbp[j].r_pi_pi); + reax->tbp[j][i].r_pp = 0.5 * + (reax->sbp[j].r_pi_pi + reax->sbp[i].r_pi_pi); + + + reax->tbp[i][j].p_boc3 = + sqrt(reax->sbp[i].b_o_132 * + reax->sbp[j].b_o_132); + reax->tbp[j][i].p_boc3 = + sqrt(reax->sbp[j].b_o_132 * + reax->sbp[i].b_o_132); + + reax->tbp[i][j].p_boc4 = + sqrt(reax->sbp[i].b_o_131 * + reax->sbp[j].b_o_131); + reax->tbp[j][i].p_boc4 = + sqrt(reax->sbp[j].b_o_131 * + reax->sbp[i].b_o_131); + + reax->tbp[i][j].p_boc5 = + sqrt(reax->sbp[i].b_o_133 * + reax->sbp[j].b_o_133); + reax->tbp[j][i].p_boc5 = + sqrt(reax->sbp[j].b_o_133 * + reax->sbp[i].b_o_133); + + + reax->tbp[i][j].D = + sqrt(reax->sbp[i].epsilon * + reax->sbp[j].epsilon); + + reax->tbp[j][i].D = + sqrt(reax->sbp[j].epsilon * + reax->sbp[i].epsilon); + + reax->tbp[i][j].alpha = + sqrt(reax->sbp[i].alpha * + reax->sbp[j].alpha); + + reax->tbp[j][i].alpha = + sqrt(reax->sbp[j].alpha * + reax->sbp[i].alpha); + + reax->tbp[i][j].r_vdW = + 2.0 * sqrt(reax->sbp[i].r_vdw * reax->sbp[j].r_vdw); + + reax->tbp[j][i].r_vdW = + 2.0 * sqrt(reax->sbp[j].r_vdw * reax->sbp[i].r_vdw); + + reax->tbp[i][j].gamma_w = + sqrt(reax->sbp[i].gamma_w * + reax->sbp[j].gamma_w); + + reax->tbp[j][i].gamma_w = + sqrt(reax->sbp[j].gamma_w * + reax->sbp[i].gamma_w); + + reax->tbp[i][j].gamma = + pow(reax->sbp[i].gamma * + reax->sbp[j].gamma,-1.5); + + reax->tbp[j][i].gamma = + pow(reax->sbp[j].gamma * + reax->sbp[i].gamma,-1.5); + + // additions for additional vdWaals interaction types - inner core + + reax->tbp[i][j].rcore = reax->tbp[j][i].rcore = + sqrt(reax->sbp[i].rcore2 * reax->sbp[j].rcore2); + + reax->tbp[i][j].ecore = reax->tbp[j][i].ecore = + sqrt(reax->sbp[i].ecore2 * reax->sbp[j].ecore2); + + reax->tbp[i][j].acore = reax->tbp[j][i].acore = + sqrt(reax->sbp[i].acore2 * reax->sbp[j].acore2); + + // additions for additional vdWalls interaction types lg correction + + reax->tbp[i][j].lgcij = reax->tbp[j][i].lgcij = + sqrt(reax->sbp[i].lgcij * reax->sbp[j].lgcij); + + reax->tbp[i][j].lgre = reax->tbp[j][i].lgre = 2.0 * reax->gp.l[35] * + sqrt(reax->sbp[i].lgre*reax->sbp[j].lgre); + + } + + fgets(s,MAX_LINE,fp); + c=Tokenize(s,&tmp); + l = atoi(tmp[0]); + + for (i=0; i < l; i++) { + fgets(s,MAX_LINE,fp); + c=Tokenize(s,&tmp); + + j = atoi(tmp[0]) - 1; + k = atoi(tmp[1]) - 1; + + if ((c < (lgflag ? 9 : 8)) || (j < 0) || (k < 0)) + control->error_ptr->all(FLERR, "Inconsistent force field file"); + + if (j < reax->num_atom_types && k < reax->num_atom_types) { + val = atof(tmp[2]); + if (val > 0.0) { + reax->tbp[j][k].D = val; + reax->tbp[k][j].D = val; + } + + val = atof(tmp[3]); + if (val > 0.0) { + reax->tbp[j][k].r_vdW = 2 * val; + reax->tbp[k][j].r_vdW = 2 * val; + } + + val = atof(tmp[4]); + if (val > 0.0) { + reax->tbp[j][k].alpha = val; + reax->tbp[k][j].alpha = val; + } + + val = atof(tmp[5]); + if (val > 0.0) { + reax->tbp[j][k].r_s = val; + reax->tbp[k][j].r_s = val; + } + + val = atof(tmp[6]); + if (val > 0.0) { + reax->tbp[j][k].r_p = val; + reax->tbp[k][j].r_p = val; + } + + val = atof(tmp[7]); + if (val > 0.0) { + reax->tbp[j][k].r_pp = val; + reax->tbp[k][j].r_pp = val; + } + + if (lgflag) { + val = atof(tmp[8]); + if (val >= 0.0) { + reax->tbp[j][k].lgcij = val; + reax->tbp[k][j].lgcij = val; + } + } + } + } + + for (i = 0; i < reax->num_atom_types; ++i) + for (j = 0; j < reax->num_atom_types; ++j) + for (k = 0; k < reax->num_atom_types; ++k) + reax->thbp[i][j][k].cnt = 0; + + fgets(s, MAX_LINE, fp); + c = Tokenize(s, &tmp); + l = atoi(tmp[0]); + + for (i = 0; i < l; i++) { + fgets(s,MAX_LINE,fp); + c=Tokenize(s,&tmp); + + j = atoi(tmp[0]) - 1; + k = atoi(tmp[1]) - 1; + m = atoi(tmp[2]) - 1; + if ((c < 10) || (j < 0) || (k < 0) || (m < 0)) + control->error_ptr->all(FLERR, "Inconsistent force field file"); + + if (j < reax->num_atom_types && k < reax->num_atom_types && + m < reax->num_atom_types) { + cnt = reax->thbp[j][k][m].cnt; + reax->thbp[j][k][m].cnt++; + reax->thbp[m][k][j].cnt++; + + val = atof(tmp[3]); + reax->thbp[j][k][m].prm[cnt].theta_00 = val; + reax->thbp[m][k][j].prm[cnt].theta_00 = val; + + val = atof(tmp[4]); + reax->thbp[j][k][m].prm[cnt].p_val1 = val; + reax->thbp[m][k][j].prm[cnt].p_val1 = val; + + val = atof(tmp[5]); + reax->thbp[j][k][m].prm[cnt].p_val2 = val; + reax->thbp[m][k][j].prm[cnt].p_val2 = val; + + val = atof(tmp[6]); + reax->thbp[j][k][m].prm[cnt].p_coa1 = val; + reax->thbp[m][k][j].prm[cnt].p_coa1 = val; + + val = atof(tmp[7]); + reax->thbp[j][k][m].prm[cnt].p_val7 = val; + reax->thbp[m][k][j].prm[cnt].p_val7 = val; val = atof(tmp[8]); - reax->fbp[j][k][m][n].prm[0].p_cot1 = val; - reax->fbp[n][m][k][j].prm[0].p_cot1 = val; + reax->thbp[j][k][m].prm[cnt].p_pen1 = val; + reax->thbp[m][k][j].prm[cnt].p_pen1 = val; + + val = atof(tmp[9]); + reax->thbp[j][k][m].prm[cnt].p_val4 = val; + reax->thbp[m][k][j].prm[cnt].p_val4 = val; } - } else { /* This means the entry is of the form 0-X-Y-0 */ - if (k < reax->num_atom_types && m < reax->num_atom_types) - for (p = 0; p < reax->num_atom_types; p++) - for (o = 0; o < reax->num_atom_types; o++) { - reax->fbp[p][k][m][o].cnt = 1; - reax->fbp[o][m][k][p].cnt = 1; + } - if (tor_flag[p][k][m][o] == 0) { - reax->fbp[p][k][m][o].prm[0].V1 = atof(tmp[4]); - reax->fbp[p][k][m][o].prm[0].V2 = atof(tmp[5]); - reax->fbp[p][k][m][o].prm[0].V3 = atof(tmp[6]); - reax->fbp[p][k][m][o].prm[0].p_tor1 = atof(tmp[7]); - reax->fbp[p][k][m][o].prm[0].p_cot1 = atof(tmp[8]); - } - - if (tor_flag[o][m][k][p] == 0) { - reax->fbp[o][m][k][p].prm[0].V1 = atof(tmp[4]); - reax->fbp[o][m][k][p].prm[0].V2 = atof(tmp[5]); - reax->fbp[o][m][k][p].prm[0].V3 = atof(tmp[6]); - reax->fbp[o][m][k][p].prm[0].p_tor1 = atof(tmp[7]); - reax->fbp[o][m][k][p].prm[0].p_cot1 = atof(tmp[8]); - } + /* clear all entries first */ + for (i = 0; i < reax->num_atom_types; ++i) + for (j = 0; j < reax->num_atom_types; ++j) + for (k = 0; k < reax->num_atom_types; ++k) + for (m = 0; m < reax->num_atom_types; ++m) { + reax->fbp[i][j][k][m].cnt = 0; + tor_flag[i][j][k][m] = 0; } - } - } - /* next line is number of hydrogen bond params and some comments */ - fgets( s, MAX_LINE, fp ); - c = Tokenize( s, &tmp ); - l = atoi( tmp[0] ); + /* next line is number of 4-body params and some comments */ + fgets(s, MAX_LINE, fp); + c = Tokenize(s, &tmp); + l = atoi(tmp[0]); - for (i = 0; i < reax->num_atom_types; ++i) - for (j = 0; j < reax->num_atom_types; ++j) - for (k = 0; k < reax->num_atom_types; ++k) - reax->hbp[i][j][k].r0_hb = -1.0; + for (i = 0; i < l; i++) { + fgets(s, MAX_LINE, fp); + c = Tokenize(s, &tmp); - for (i = 0; i < l; i++) { - fgets( s, MAX_LINE, fp ); - c = Tokenize( s, &tmp ); + j = atoi(tmp[0]) - 1; + k = atoi(tmp[1]) - 1; + m = atoi(tmp[2]) - 1; + n = atoi(tmp[3]) - 1; + if ((c < 9) || (k < 0) || (m < 0)) + control->error_ptr->all(FLERR, "Inconsistent force field file"); - j = atoi(tmp[0]) - 1; - k = atoi(tmp[1]) - 1; - m = atoi(tmp[2]) - 1; - if ((c < 7) || (j < 0) || (k < 0) || (m < 0)) - control->error_ptr->all(FLERR, "Inconsistent force field file"); + if (j >= 0 && n >= 0) { // this means the entry is not in compact form + if (j < reax->num_atom_types && k < reax->num_atom_types && + m < reax->num_atom_types && n < reax->num_atom_types) { + tor_flag[j][k][m][n] = 1; + tor_flag[n][m][k][j] = 1; - if (j < reax->num_atom_types && m < reax->num_atom_types) { - val = atof(tmp[3]); - reax->hbp[j][k][m].r0_hb = val; + reax->fbp[j][k][m][n].cnt = 1; + reax->fbp[n][m][k][j].cnt = 1; - val = atof(tmp[4]); - reax->hbp[j][k][m].p_hb1 = val; + val = atof(tmp[4]); + reax->fbp[j][k][m][n].prm[0].V1 = val; + reax->fbp[n][m][k][j].prm[0].V1 = val; - val = atof(tmp[5]); - reax->hbp[j][k][m].p_hb2 = val; + val = atof(tmp[5]); + reax->fbp[j][k][m][n].prm[0].V2 = val; + reax->fbp[n][m][k][j].prm[0].V2 = val; - val = atof(tmp[6]); - reax->hbp[j][k][m].p_hb3 = val; - } - } + val = atof(tmp[6]); + reax->fbp[j][k][m][n].prm[0].V3 = val; + reax->fbp[n][m][k][j].prm[0].V3 = val; - /* deallocate helper storage */ - for (i = 0; i < MAX_TOKENS; i++) - free( tmp[i] ); - free( tmp ); - free( s ); + val = atof(tmp[7]); + reax->fbp[j][k][m][n].prm[0].p_tor1 = val; + reax->fbp[n][m][k][j].prm[0].p_tor1 = val; + val = atof(tmp[8]); + reax->fbp[j][k][m][n].prm[0].p_cot1 = val; + reax->fbp[n][m][k][j].prm[0].p_cot1 = val; + } + } else { /* This means the entry is of the form 0-X-Y-0 */ + if (k < reax->num_atom_types && m < reax->num_atom_types) + for (p = 0; p < reax->num_atom_types; p++) + for (o = 0; o < reax->num_atom_types; o++) { + reax->fbp[p][k][m][o].cnt = 1; + reax->fbp[o][m][k][p].cnt = 1; - /* deallocate tor_flag */ - for (i = 0; i < reax->num_atom_types; i++) { - for (j = 0; j < reax->num_atom_types; j++) { - for (k = 0; k < reax->num_atom_types; k++) { - free( tor_flag[i][j][k] ); + if (tor_flag[p][k][m][o] == 0) { + reax->fbp[p][k][m][o].prm[0].V1 = atof(tmp[4]); + reax->fbp[p][k][m][o].prm[0].V2 = atof(tmp[5]); + reax->fbp[p][k][m][o].prm[0].V3 = atof(tmp[6]); + reax->fbp[p][k][m][o].prm[0].p_tor1 = atof(tmp[7]); + reax->fbp[p][k][m][o].prm[0].p_cot1 = atof(tmp[8]); + } + + if (tor_flag[o][m][k][p] == 0) { + reax->fbp[o][m][k][p].prm[0].V1 = atof(tmp[4]); + reax->fbp[o][m][k][p].prm[0].V2 = atof(tmp[5]); + reax->fbp[o][m][k][p].prm[0].V3 = atof(tmp[6]); + reax->fbp[o][m][k][p].prm[0].p_tor1 = atof(tmp[7]); + reax->fbp[o][m][k][p].prm[0].p_cot1 = atof(tmp[8]); + } + } } - free( tor_flag[i][j] ); } - free( tor_flag[i] ); + + /* next line is number of hydrogen bond params and some comments */ + fgets(s, MAX_LINE, fp); + c = Tokenize(s, &tmp); + l = atoi(tmp[0]); + + for (i = 0; i < reax->num_atom_types; ++i) + for (j = 0; j < reax->num_atom_types; ++j) + for (k = 0; k < reax->num_atom_types; ++k) + reax->hbp[i][j][k].r0_hb = -1.0; + + for (i = 0; i < l; i++) { + fgets(s, MAX_LINE, fp); + c = Tokenize(s, &tmp); + + j = atoi(tmp[0]) - 1; + k = atoi(tmp[1]) - 1; + m = atoi(tmp[2]) - 1; + if ((c < 7) || (j < 0) || (k < 0) || (m < 0)) + control->error_ptr->all(FLERR, "Inconsistent force field file"); + + if (j < reax->num_atom_types && m < reax->num_atom_types) { + val = atof(tmp[3]); + reax->hbp[j][k][m].r0_hb = val; + + val = atof(tmp[4]); + reax->hbp[j][k][m].p_hb1 = val; + + val = atof(tmp[5]); + reax->hbp[j][k][m].p_hb2 = val; + + val = atof(tmp[6]); + reax->hbp[j][k][m].p_hb3 = val; + } + } + + /* deallocate helper storage */ + for (i = 0; i < MAX_TOKENS; i++) + free(tmp[i]); + free(tmp); + free(s); + + + /* deallocate tor_flag */ + for (i = 0; i < reax->num_atom_types; i++) { + for (j = 0; j < reax->num_atom_types; j++) { + for (k = 0; k < reax->num_atom_types; k++) { + free(tor_flag[i][j][k]); + } + free(tor_flag[i][j]); + } + free(tor_flag[i]); + } + free(tor_flag); + + // close file + + fclose(fp); } - free( tor_flag ); - - // close file - - fclose(fp); } diff --git a/src/USER-REAXC/reaxc_ffield.h b/src/USER-REAXC/reaxc_ffield.h deleted file mode 100644 index f7a97f0636..0000000000 --- a/src/USER-REAXC/reaxc_ffield.h +++ /dev/null @@ -1,34 +0,0 @@ -/*---------------------------------------------------------------------- - PuReMD - Purdue ReaxFF Molecular Dynamics Program - - Copyright (2010) Purdue University - Hasan Metin Aktulga, hmaktulga@lbl.gov - Joseph Fogarty, jcfogart@mail.usf.edu - Sagar Pandit, pandit@usf.edu - Ananth Y Grama, ayg@cs.purdue.edu - - Please cite the related publication: - H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama, - "Parallel Reactive Molecular Dynamics: Numerical Methods and - Algorithmic Techniques", Parallel Computing, in press. - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License as - published by the Free Software Foundation; either version 2 of - the License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - See the GNU General Public License for more details: - . - ----------------------------------------------------------------------*/ - -#ifndef LMP_REAXC_FFIELD_H -#define LMP_REAXC_FFIELD_H - -#include "reaxc_types.h" - -void Read_Force_Field(const char *, reax_interaction *, control_params *); - -#endif diff --git a/src/USER-REAXC/reaxc_forces.cpp b/src/USER-REAXC/reaxc_forces.cpp index 7e412afbd6..ebc042ebe5 100644 --- a/src/USER-REAXC/reaxc_forces.cpp +++ b/src/USER-REAXC/reaxc_forces.cpp @@ -24,410 +24,369 @@ . ----------------------------------------------------------------------*/ -#include "reaxc_forces.h" +#include "reaxff_api.h" + #include #include #include -#include "reaxc_bond_orders.h" -#include "reaxc_bonds.h" -#include "reaxc_hydrogen_bonds.h" -#include "reaxc_list.h" -#include "reaxc_multi_body.h" -#include "reaxc_nonbonded.h" -#include "reaxc_torsion_angles.h" -#include "reaxc_valence_angles.h" -#include "reaxc_vector.h" #include "error.h" -interaction_function Interaction_Functions[NUM_INTRS]; - -void Dummy_Interaction(reax_system * /*system*/, control_params * /*control*/, - simulation_data * /*data*/, storage * /*workspace*/, - reax_list ** /*lists*/, output_controls * /*out_control*/ ) -{ -} - - -void Init_Force_Functions(control_params *control) -{ - Interaction_Functions[0] = BO; - Interaction_Functions[1] = Bonds; //Dummy_Interaction; - Interaction_Functions[2] = Atom_Energy; //Dummy_Interaction; - Interaction_Functions[3] = Valence_Angles; //Dummy_Interaction; - Interaction_Functions[4] = Torsion_Angles; //Dummy_Interaction; - if (control->hbond_cut > 0) - Interaction_Functions[5] = Hydrogen_Bonds; - else Interaction_Functions[5] = Dummy_Interaction; - Interaction_Functions[6] = Dummy_Interaction; //empty - Interaction_Functions[7] = Dummy_Interaction; //empty - Interaction_Functions[8] = Dummy_Interaction; //empty - Interaction_Functions[9] = Dummy_Interaction; //empty -} - - -void Compute_Bonded_Forces(reax_system *system, control_params *control, - simulation_data *data, storage *workspace, - reax_list **lists, output_controls *out_control) -{ - int i; - - /* Implement all force calls as function pointers */ - for (i = 0; i < NUM_INTRS; i++) { - (Interaction_Functions[i])( system, control, data, workspace, - lists, out_control ); +namespace ReaxFF { + + static void Compute_Bonded_Forces(reax_system *system, control_params *control, + simulation_data *data, storage *workspace, + reax_list **lists, output_controls *out_control) + { + BO(system, control, data, workspace, lists, out_control); + Bonds(system, data, workspace, lists); + Atom_Energy(system, control, data, workspace, lists); + Valence_Angles(system, control, data, workspace, lists); + Torsion_Angles(system, control, data, workspace, lists); + if (control->hbond_cut > 0) + Hydrogen_Bonds(system, control, data, workspace, lists); } -} + static void Compute_NonBonded_Forces(reax_system *system, control_params *control, + simulation_data *data, storage *workspace, + reax_list **lists) + { -void Compute_NonBonded_Forces(reax_system *system, control_params *control, - simulation_data *data, storage *workspace, - reax_list **lists, output_controls *out_control) -{ + /* van der Waals and Coulomb interactions */ + if (control->tabulate == 0) + vdW_Coulomb_Energy(system, control, data, workspace, lists); + else + Tabulated_vdW_Coulomb_Energy(system, control, data, workspace, lists); + } - /* van der Waals and Coulomb interactions */ - if (control->tabulate == 0) - vdW_Coulomb_Energy( system, control, data, workspace, - lists, out_control ); - else - Tabulated_vdW_Coulomb_Energy( system, control, data, workspace, - lists, out_control ); -} + static void Compute_Total_Force(reax_system *system, control_params *control, + storage *workspace, reax_list **lists) + { + int i, pj; + reax_list *bonds = (*lists) + BONDS; + for (i = 0; i < system->N; ++i) + for (pj = Start_Index(i, bonds); pj < End_Index(i, bonds); ++pj) + if (i < bonds->select.bond_list[pj].nbr) { + if (control->virial == 0) + Add_dBond_to_Forces(system, i, pj, workspace, lists); + else + Add_dBond_to_Forces_NPT(i, pj, workspace, lists); + } -void Compute_Total_Force(reax_system *system, control_params *control, - storage *workspace, reax_list **lists) -{ - int i, pj; - reax_list *bonds = (*lists) + BONDS; + } - for (i = 0; i < system->N; ++i) - for (pj = Start_Index(i, bonds); pj < End_Index(i, bonds); ++pj) - if (i < bonds->select.bond_list[pj].nbr) { - if (control->virial == 0) - Add_dBond_to_Forces( system, i, pj, workspace, lists ); - else - Add_dBond_to_Forces_NPT( i, pj, workspace, lists ); + static void Validate_Lists(reax_system *system, reax_list **lists, + int step, int N, int numH) + { + int i, comp, Hindex; + reax_list *bonds, *hbonds; + + double saferzone = system->saferzone; + + /* bond list */ + if (N > 0) { + bonds = *lists + BONDS; + + for (i = 0; i < N; ++i) { + system->my_atoms[i].num_bonds = MAX(Num_Entries(i,bonds)*2, MIN_BONDS); + + if (i < N-1) + comp = Start_Index(i+1, bonds); + else comp = bonds->num_intrs; + + if (End_Index(i, bonds) > comp) + system->error_ptr->one(FLERR, fmt::format("step {}: bondchk failed: " + "i={} end(i)={} str(i+1)={}\n", + step,i,End_Index(i,bonds),comp)); } + } -} -void Validate_Lists( reax_system *system, storage * /*workspace*/, reax_list **lists, - int step, int /*n*/, int N, int numH ) -{ - int i, comp, Hindex; - reax_list *bonds, *hbonds; + /* hbonds list */ + if (numH > 0) { + hbonds = *lists + HBONDS; - double saferzone = system->saferzone; + for (i = 0; i < N; ++i) { + Hindex = system->my_atoms[i].Hindex; + if (Hindex > -1) { + system->my_atoms[i].num_hbonds = + (int)(MAX(Num_Entries(Hindex, hbonds)*saferzone, system->minhbonds)); - /* bond list */ - if (N > 0) { - bonds = *lists + BONDS; + //if(Num_Entries(i, hbonds) >= + //(Start_Index(i+1,hbonds)-Start_Index(i,hbonds))*0.90/*DANGER_ZONE*/) { + // workspace->realloc.hbonds = 1; - for (i = 0; i < N; ++i) { - system->my_atoms[i].num_bonds = MAX(Num_Entries(i,bonds)*2, MIN_BONDS); + if (Hindex < numH-1) + comp = Start_Index(Hindex+1, hbonds); + else comp = hbonds->num_intrs; - if (i < N-1) - comp = Start_Index(i+1, bonds); - else comp = bonds->num_intrs; - - if (End_Index(i, bonds) > comp) - system->error_ptr->one(FLERR, fmt::format("step {}: bondchk failed: " - "i={} end(i)={} str(i+1)={}\n", - step,i,End_Index(i,bonds),comp)); + if (End_Index(Hindex, hbonds) > comp) + system->error_ptr->one(FLERR, fmt::format("step {}: hbondchk failed: " + "H={} end(H)={} str(H+1)={}\n", + step, Hindex,End_Index(Hindex,hbonds),comp)); + } + } } } + static void Init_Forces_noQEq(reax_system *system, control_params *control, + simulation_data *data, storage *workspace, + reax_list **lists) { + int i, j, pj; + int start_i, end_i; + int type_i, type_j; + int btop_i, num_bonds, num_hbonds; + int ihb, jhb, ihb_top, jhb_top; + int local, flag; + double cutoff; + reax_list *far_nbrs, *bonds, *hbonds; + single_body_parameters *sbp_i, *sbp_j; + two_body_parameters *twbp; + far_neighbor_data *nbr_pj; + reax_atom *atom_i, *atom_j; - /* hbonds list */ - if (numH > 0) { + far_nbrs = *lists + FAR_NBRS; + bonds = *lists + BONDS; hbonds = *lists + HBONDS; - for (i = 0; i < N; ++i) { - Hindex = system->my_atoms[i].Hindex; - if (Hindex > -1) { - system->my_atoms[i].num_hbonds = - (int)(MAX(Num_Entries(Hindex, hbonds)*saferzone, system->minhbonds)); + for (i = 0; i < system->n; ++i) + workspace->bond_mark[i] = 0; + for (i = system->n; i < system->N; ++i) { + workspace->bond_mark[i] = 1000; // put ghost atoms to an infinite distance + } - //if( Num_Entries(i, hbonds) >= - //(Start_Index(i+1,hbonds)-Start_Index(i,hbonds))*0.90/*DANGER_ZONE*/) { - // workspace->realloc.hbonds = 1; + num_bonds = 0; + num_hbonds = 0; + btop_i = 0; - if (Hindex < numH-1) - comp = Start_Index(Hindex+1, hbonds); - else comp = hbonds->num_intrs; + for (i = 0; i < system->N; ++i) { + atom_i = &(system->my_atoms[i]); + type_i = atom_i->type; + if (type_i < 0) continue; + start_i = Start_Index(i, far_nbrs); + end_i = End_Index(i, far_nbrs); + btop_i = End_Index(i, bonds); + sbp_i = &(system->reax_param.sbp[type_i]); - if (End_Index(Hindex, hbonds) > comp) - system->error_ptr->one(FLERR, fmt::format("step {}: hbondchk failed: " - "H={} end(H)={} str(H+1)={}\n", - step, Hindex,End_Index(Hindex,hbonds),comp)); + if (i < system->n) { + local = 1; + cutoff = MAX(control->hbond_cut, control->bond_cut); + } else { + local = 0; + cutoff = control->bond_cut; } - } - } -} - -void Init_Forces_noQEq( reax_system *system, control_params *control, - simulation_data *data, storage *workspace, - reax_list **lists, output_controls * /*out_control*/) { - int i, j, pj; - int start_i, end_i; - int type_i, type_j; - int btop_i, num_bonds, num_hbonds; - int ihb, jhb, ihb_top, jhb_top; - int local, flag; - double cutoff; - reax_list *far_nbrs, *bonds, *hbonds; - single_body_parameters *sbp_i, *sbp_j; - two_body_parameters *twbp; - far_neighbor_data *nbr_pj; - reax_atom *atom_i, *atom_j; - - far_nbrs = *lists + FAR_NBRS; - bonds = *lists + BONDS; - hbonds = *lists + HBONDS; - - for (i = 0; i < system->n; ++i) - workspace->bond_mark[i] = 0; - for (i = system->n; i < system->N; ++i) { - workspace->bond_mark[i] = 1000; // put ghost atoms to an infinite distance - } - - num_bonds = 0; - num_hbonds = 0; - btop_i = 0; - - for (i = 0; i < system->N; ++i) { - atom_i = &(system->my_atoms[i]); - type_i = atom_i->type; - if (type_i < 0) continue; - start_i = Start_Index(i, far_nbrs); - end_i = End_Index(i, far_nbrs); - btop_i = End_Index( i, bonds ); - sbp_i = &(system->reax_param.sbp[type_i]); - - if (i < system->n) { - local = 1; - cutoff = MAX( control->hbond_cut, control->bond_cut ); - } else { - local = 0; - cutoff = control->bond_cut; - } - - ihb = -1; - ihb_top = -1; - if (local && control->hbond_cut > 0) { - ihb = sbp_i->p_hbond; - if (ihb == 1) - ihb_top = End_Index( atom_i->Hindex, hbonds ); - else ihb_top = -1; - } - - /* update i-j distance - check if j is within cutoff */ - for (pj = start_i; pj < end_i; ++pj) { - nbr_pj = &( far_nbrs->select.far_nbr_list[pj] ); - j = nbr_pj->nbr; - atom_j = &(system->my_atoms[j]); - - if (nbr_pj->d <= cutoff) - flag = 1; - else flag = 0; - - if (flag) { - type_j = atom_j->type; - if (type_j < 0) continue; - sbp_j = &(system->reax_param.sbp[type_j]); - twbp = &(system->reax_param.tbp[type_i][type_j]); - - if (local) { - /* hydrogen bond lists */ - if (control->hbond_cut > 0 && (ihb==1 || ihb==2) && - nbr_pj->d <= control->hbond_cut) { - // fprintf( stderr, "%d %d\n", atom1, atom2 ); - jhb = sbp_j->p_hbond; - if (ihb == 1 && jhb == 2) { - hbonds->select.hbond_list[ihb_top].nbr = j; - hbonds->select.hbond_list[ihb_top].scl = 1; - hbonds->select.hbond_list[ihb_top].ptr = nbr_pj; - ++ihb_top; - ++num_hbonds; - } - else if (j < system->n && ihb == 2 && jhb == 1) { - jhb_top = End_Index( atom_j->Hindex, hbonds ); - hbonds->select.hbond_list[jhb_top].nbr = i; - hbonds->select.hbond_list[jhb_top].scl = -1; - hbonds->select.hbond_list[jhb_top].ptr = nbr_pj; - Set_End_Index( atom_j->Hindex, jhb_top+1, hbonds ); - ++num_hbonds; - } - } - } - - if (//(workspace->bond_mark[i] < 3 || workspace->bond_mark[j] < 3) && - nbr_pj->d <= control->bond_cut && - BOp( workspace, bonds, control->bo_cut, - i , btop_i, nbr_pj, sbp_i, sbp_j, twbp )) { - num_bonds += 2; - ++btop_i; - - if (workspace->bond_mark[j] > workspace->bond_mark[i] + 1) - workspace->bond_mark[j] = workspace->bond_mark[i] + 1; - else if (workspace->bond_mark[i] > workspace->bond_mark[j] + 1) { - workspace->bond_mark[i] = workspace->bond_mark[j] + 1; - } - } - } - } - - Set_End_Index( i, btop_i, bonds ); - if (local && ihb == 1) - Set_End_Index( atom_i->Hindex, ihb_top, hbonds ); - } - - - workspace->realloc.num_bonds = num_bonds; - workspace->realloc.num_hbonds = num_hbonds; - - Validate_Lists( system, workspace, lists, data->step, - system->n, system->N, system->numH); -} - - -void Estimate_Storages( reax_system *system, control_params *control, - reax_list **lists, int *Htop, int *hb_top, - int *bond_top, int *num_3body ) -{ - int i, j, pj; - int start_i, end_i; - int type_i, type_j; - int ihb, jhb; - int local; - double cutoff; - double r_ij; - double C12, C34, C56; - double BO, BO_s, BO_pi, BO_pi2; - reax_list *far_nbrs; - single_body_parameters *sbp_i, *sbp_j; - two_body_parameters *twbp; - far_neighbor_data *nbr_pj; - reax_atom *atom_i, *atom_j; - - int mincap = system->mincap; - double safezone = system->safezone; - double saferzone = system->saferzone; - - far_nbrs = *lists + FAR_NBRS; - *Htop = 0; - memset( hb_top, 0, sizeof(int) * system->local_cap ); - memset( bond_top, 0, sizeof(int) * system->total_cap ); - *num_3body = 0; - - for (i = 0; i < system->N; ++i) { - atom_i = &(system->my_atoms[i]); - type_i = atom_i->type; - if (type_i < 0) continue; - start_i = Start_Index(i, far_nbrs); - end_i = End_Index(i, far_nbrs); - sbp_i = &(system->reax_param.sbp[type_i]); - - if (i < system->n) { - local = 1; - cutoff = control->nonb_cut; - ++(*Htop); - ihb = sbp_i->p_hbond; - } else { - local = 0; - cutoff = control->bond_cut; ihb = -1; - } + ihb_top = -1; + if (local && control->hbond_cut > 0) { + ihb = sbp_i->p_hbond; + if (ihb == 1) + ihb_top = End_Index(atom_i->Hindex, hbonds); + else ihb_top = -1; + } - for (pj = start_i; pj < end_i; ++pj) { - nbr_pj = &( far_nbrs->select.far_nbr_list[pj] ); - j = nbr_pj->nbr; - atom_j = &(system->my_atoms[j]); + /* update i-j distance - check if j is within cutoff */ + for (pj = start_i; pj < end_i; ++pj) { + nbr_pj = &(far_nbrs->select.far_nbr_list[pj]); + j = nbr_pj->nbr; + atom_j = &(system->my_atoms[j]); - if (nbr_pj->d <= cutoff) { - type_j = system->my_atoms[j].type; - if (type_j < 0) continue; - r_ij = nbr_pj->d; - sbp_j = &(system->reax_param.sbp[type_j]); - twbp = &(system->reax_param.tbp[type_i][type_j]); + if (nbr_pj->d <= cutoff) + flag = 1; + else flag = 0; - if (local) { - if (j < system->n || atom_i->orig_id < atom_j->orig_id) //tryQEq ||1 - ++(*Htop); + if (flag) { + type_j = atom_j->type; + if (type_j < 0) continue; + sbp_j = &(system->reax_param.sbp[type_j]); + twbp = &(system->reax_param.tbp[type_i][type_j]); - /* hydrogen bond lists */ - if (control->hbond_cut > 0.1 && (ihb==1 || ihb==2) && - nbr_pj->d <= control->hbond_cut) { - jhb = sbp_j->p_hbond; - if (ihb == 1 && jhb == 2) - ++hb_top[i]; - else if (j < system->n && ihb == 2 && jhb == 1) - ++hb_top[j]; + if (local) { + /* hydrogen bond lists */ + if (control->hbond_cut > 0 && (ihb==1 || ihb==2) && + nbr_pj->d <= control->hbond_cut) { + // fprintf(stderr, "%d %d\n", atom1, atom2); + jhb = sbp_j->p_hbond; + if (ihb == 1 && jhb == 2) { + hbonds->select.hbond_list[ihb_top].nbr = j; + hbonds->select.hbond_list[ihb_top].scl = 1; + hbonds->select.hbond_list[ihb_top].ptr = nbr_pj; + ++ihb_top; + ++num_hbonds; + } + else if (j < system->n && ihb == 2 && jhb == 1) { + jhb_top = End_Index(atom_j->Hindex, hbonds); + hbonds->select.hbond_list[jhb_top].nbr = i; + hbonds->select.hbond_list[jhb_top].scl = -1; + hbonds->select.hbond_list[jhb_top].ptr = nbr_pj; + Set_End_Index(atom_j->Hindex, jhb_top+1, hbonds); + ++num_hbonds; + } + } + } + + if (//(workspace->bond_mark[i] < 3 || workspace->bond_mark[j] < 3) && + nbr_pj->d <= control->bond_cut && + BOp(workspace, bonds, control->bo_cut, + i , btop_i, nbr_pj, sbp_i, sbp_j, twbp)) { + num_bonds += 2; + ++btop_i; + + if (workspace->bond_mark[j] > workspace->bond_mark[i] + 1) + workspace->bond_mark[j] = workspace->bond_mark[i] + 1; + else if (workspace->bond_mark[i] > workspace->bond_mark[j] + 1) { + workspace->bond_mark[i] = workspace->bond_mark[j] + 1; + } } } + } - /* uncorrected bond orders */ - if (nbr_pj->d <= control->bond_cut) { - if (sbp_i->r_s > 0.0 && sbp_j->r_s > 0.0) { - C12 = twbp->p_bo1 * pow( r_ij / twbp->r_s, twbp->p_bo2 ); - BO_s = (1.0 + control->bo_cut) * exp( C12 ); + Set_End_Index(i, btop_i, bonds); + if (local && ihb == 1) + Set_End_Index(atom_i->Hindex, ihb_top, hbonds); + } + + + workspace->realloc.num_bonds = num_bonds; + workspace->realloc.num_hbonds = num_hbonds; + + Validate_Lists(system, lists, data->step, system->N, system->numH); + } + + void Estimate_Storages(reax_system *system, control_params *control, + reax_list **lists, int *Htop, int *hb_top, + int *bond_top, int *num_3body) + { + int i, j, pj; + int start_i, end_i; + int type_i, type_j; + int ihb, jhb; + int local; + double cutoff; + double r_ij; + double C12, C34, C56; + double BO, BO_s, BO_pi, BO_pi2; + reax_list *far_nbrs; + single_body_parameters *sbp_i, *sbp_j; + two_body_parameters *twbp; + far_neighbor_data *nbr_pj; + reax_atom *atom_i, *atom_j; + + int mincap = system->mincap; + double safezone = system->safezone; + double saferzone = system->saferzone; + + far_nbrs = *lists + FAR_NBRS; + *Htop = 0; + memset(hb_top, 0, sizeof(int) * system->local_cap); + memset(bond_top, 0, sizeof(int) * system->total_cap); + *num_3body = 0; + + for (i = 0; i < system->N; ++i) { + atom_i = &(system->my_atoms[i]); + type_i = atom_i->type; + if (type_i < 0) continue; + start_i = Start_Index(i, far_nbrs); + end_i = End_Index(i, far_nbrs); + sbp_i = &(system->reax_param.sbp[type_i]); + + if (i < system->n) { + local = 1; + cutoff = control->nonb_cut; + ++(*Htop); + ihb = sbp_i->p_hbond; + } else { + local = 0; + cutoff = control->bond_cut; + ihb = -1; + } + + for (pj = start_i; pj < end_i; ++pj) { + nbr_pj = &(far_nbrs->select.far_nbr_list[pj]); + j = nbr_pj->nbr; + atom_j = &(system->my_atoms[j]); + + if (nbr_pj->d <= cutoff) { + type_j = system->my_atoms[j].type; + if (type_j < 0) continue; + r_ij = nbr_pj->d; + sbp_j = &(system->reax_param.sbp[type_j]); + twbp = &(system->reax_param.tbp[type_i][type_j]); + + if (local) { + if (j < system->n || atom_i->orig_id < atom_j->orig_id) //tryQEq ||1 + ++(*Htop); + + /* hydrogen bond lists */ + if (control->hbond_cut > 0.1 && (ihb==1 || ihb==2) && + nbr_pj->d <= control->hbond_cut) { + jhb = sbp_j->p_hbond; + if (ihb == 1 && jhb == 2) + ++hb_top[i]; + else if (j < system->n && ihb == 2 && jhb == 1) + ++hb_top[j]; + } } - else BO_s = C12 = 0.0; - if (sbp_i->r_pi > 0.0 && sbp_j->r_pi > 0.0) { - C34 = twbp->p_bo3 * pow( r_ij / twbp->r_p, twbp->p_bo4 ); - BO_pi = exp( C34 ); - } - else BO_pi = C34 = 0.0; + /* uncorrected bond orders */ + if (nbr_pj->d <= control->bond_cut) { + if (sbp_i->r_s > 0.0 && sbp_j->r_s > 0.0) { + C12 = twbp->p_bo1 * pow(r_ij / twbp->r_s, twbp->p_bo2); + BO_s = (1.0 + control->bo_cut) * exp(C12); + } + else BO_s = C12 = 0.0; - if (sbp_i->r_pi_pi > 0.0 && sbp_j->r_pi_pi > 0.0) { - C56 = twbp->p_bo5 * pow( r_ij / twbp->r_pp, twbp->p_bo6 ); - BO_pi2= exp( C56 ); - } - else BO_pi2 = C56 = 0.0; + if (sbp_i->r_pi > 0.0 && sbp_j->r_pi > 0.0) { + C34 = twbp->p_bo3 * pow(r_ij / twbp->r_p, twbp->p_bo4); + BO_pi = exp(C34); + } + else BO_pi = C34 = 0.0; - /* Initially BO values are the uncorrected ones, page 1 */ - BO = BO_s + BO_pi + BO_pi2; + if (sbp_i->r_pi_pi > 0.0 && sbp_j->r_pi_pi > 0.0) { + C56 = twbp->p_bo5 * pow(r_ij / twbp->r_pp, twbp->p_bo6); + BO_pi2= exp(C56); + } + else BO_pi2 = C56 = 0.0; - if (BO >= control->bo_cut) { - ++bond_top[i]; - ++bond_top[j]; + /* Initially BO values are the uncorrected ones, page 1 */ + BO = BO_s + BO_pi + BO_pi2; + + if (BO >= control->bo_cut) { + ++bond_top[i]; + ++bond_top[j]; + } } } } } + + *Htop = (int)(MAX(*Htop * safezone, mincap * MIN_HENTRIES)); + for (i = 0; i < system->n; ++i) + hb_top[i] = (int)(MAX(hb_top[i] * saferzone, system->minhbonds)); + + for (i = 0; i < system->N; ++i) { + *num_3body += SQR(bond_top[i]); + bond_top[i] = MAX(bond_top[i] * 2, MIN_BONDS); + } + } - *Htop = (int)(MAX( *Htop * safezone, mincap * MIN_HENTRIES )); - for (i = 0; i < system->n; ++i) - hb_top[i] = (int)(MAX(hb_top[i] * saferzone, system->minhbonds)); + void Compute_Forces(reax_system *system, control_params *control, + simulation_data *data, storage *workspace, + reax_list **lists, output_controls *out_control) + { - for (i = 0; i < system->N; ++i) { - *num_3body += SQR(bond_top[i]); - bond_top[i] = MAX( bond_top[i] * 2, MIN_BONDS ); + Init_Forces_noQEq(system, control, data, workspace, lists); + + /********* bonded interactions ************/ + Compute_Bonded_Forces(system, control, data, workspace, + lists, out_control); + + /********* nonbonded interactions ************/ + Compute_NonBonded_Forces(system, control, data, workspace, lists); + + /*********** total force ***************/ + Compute_Total_Force(system, control, workspace, lists); } - -} - - -void Compute_Forces(reax_system *system, control_params *control, - simulation_data *data, storage *workspace, - reax_list **lists, output_controls *out_control) -{ - - Init_Forces_noQEq(system, control, data, workspace, - lists, out_control); - - /********* bonded interactions ************/ - Compute_Bonded_Forces(system, control, data, workspace, - lists, out_control); - - /********* nonbonded interactions ************/ - Compute_NonBonded_Forces(system, control, data, workspace, - lists, out_control); - - /*********** total force ***************/ - Compute_Total_Force(system, control, workspace, lists); } diff --git a/src/USER-REAXC/reaxc_forces.h b/src/USER-REAXC/reaxc_forces.h deleted file mode 100644 index b679a66650..0000000000 --- a/src/USER-REAXC/reaxc_forces.h +++ /dev/null @@ -1,40 +0,0 @@ -/*---------------------------------------------------------------------- - PuReMD - Purdue ReaxFF Molecular Dynamics Program - - Copyright (2010) Purdue University - Hasan Metin Aktulga, hmaktulga@lbl.gov - Joseph Fogarty, jcfogart@mail.usf.edu - Sagar Pandit, pandit@usf.edu - Ananth Y Grama, ayg@cs.purdue.edu - - Please cite the related publication: - H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama, - "Parallel Reactive Molecular Dynamics: Numerical Methods and - Algorithmic Techniques", Parallel Computing, in press. - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License as - published by the Free Software Foundation; either version 2 of - the License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - See the GNU General Public License for more details: - . - ----------------------------------------------------------------------*/ - -#ifndef __FORCES_H_ -#define __FORCES_H_ - -#include "reaxc_types.h" -#include "reaxc_defs.h" - -extern interaction_function Interaction_Functions[NUM_INTRS]; - -void Init_Force_Functions(control_params *); -void Compute_Forces( reax_system*, control_params*, simulation_data*, - storage*, reax_list**, output_controls*); -void Estimate_Storages( reax_system*, control_params*, reax_list**, - int*, int*, int*, int* ); -#endif diff --git a/src/USER-REAXC/reaxc_hydrogen_bonds.cpp b/src/USER-REAXC/reaxc_hydrogen_bonds.cpp index 4391bf769a..43362ac878 100644 --- a/src/USER-REAXC/reaxc_hydrogen_bonds.cpp +++ b/src/USER-REAXC/reaxc_hydrogen_bonds.cpp @@ -24,157 +24,157 @@ . ----------------------------------------------------------------------*/ -#include "reaxc_hydrogen_bonds.h" +#include "reaxff_api.h" + #include + #include "pair.h" -#include "reaxc_defs.h" -#include "reaxc_list.h" -#include "reaxc_valence_angles.h" -#include "reaxc_vector.h" -void Hydrogen_Bonds( reax_system *system, control_params *control, - simulation_data *data, storage *workspace, - reax_list **lists, output_controls * /*out_control*/ ) -{ - int i, j, k, pi, pk; - int type_i, type_j, type_k; - int start_j, end_j, hb_start_j, hb_end_j; - int hblist[MAX_BONDS]; - int itr, top; - int num_hb_intrs = 0; - ivec rel_jk; - double r_jk, theta, cos_theta, sin_xhz4, cos_xhz1, sin_theta2; - double e_hb, exp_hb2, exp_hb3, CEhb1, CEhb2, CEhb3; - rvec dcos_theta_di, dcos_theta_dj, dcos_theta_dk; - rvec dvec_jk, force; - hbond_parameters *hbp; - bond_order_data *bo_ij; - bond_data *pbond_ij; - far_neighbor_data *nbr_jk; - reax_list *bonds, *hbonds; - bond_data *bond_list; - hbond_data *hbond_list; +namespace ReaxFF { + void Hydrogen_Bonds(reax_system *system, control_params *control, + simulation_data *data, storage *workspace, + reax_list **lists) + { + int i, j, k, pi, pk; + int type_i, type_j, type_k; + int start_j, end_j, hb_start_j, hb_end_j; + int hblist[MAX_BONDS]; + int itr, top; + int num_hb_intrs = 0; + ivec rel_jk; + double r_jk, theta, cos_theta, sin_xhz4, cos_xhz1, sin_theta2; + double e_hb, exp_hb2, exp_hb3, CEhb1, CEhb2, CEhb3; + rvec dcos_theta_di, dcos_theta_dj, dcos_theta_dk; + rvec dvec_jk, force; + hbond_parameters *hbp; + bond_order_data *bo_ij; + bond_data *pbond_ij; + far_neighbor_data *nbr_jk; + reax_list *bonds, *hbonds; + bond_data *bond_list; + hbond_data *hbond_list; - // tally variables - double fi_tmp[3], fk_tmp[3], delij[3], delkj[3]; + // tally variables + double fi_tmp[3], fk_tmp[3], delij[3], delkj[3]; - bonds = (*lists) + BONDS; - bond_list = bonds->select.bond_list; - hbonds = (*lists) + HBONDS; - hbond_list = hbonds->select.hbond_list; + bonds = (*lists) + BONDS; + bond_list = bonds->select.bond_list; + hbonds = (*lists) + HBONDS; + hbond_list = hbonds->select.hbond_list; - for (j = 0; j < system->n; ++j) - if (system->reax_param.sbp[system->my_atoms[j].type].p_hbond == 1) { - type_j = system->my_atoms[j].type; - start_j = Start_Index(j, bonds); - end_j = End_Index(j, bonds); - hb_start_j = Start_Index( system->my_atoms[j].Hindex, hbonds ); - hb_end_j = End_Index( system->my_atoms[j].Hindex, hbonds ); - if (type_j < 0) continue; + for (j = 0; j < system->n; ++j) + if (system->reax_param.sbp[system->my_atoms[j].type].p_hbond == 1) { + type_j = system->my_atoms[j].type; + start_j = Start_Index(j, bonds); + end_j = End_Index(j, bonds); + hb_start_j = Start_Index( system->my_atoms[j].Hindex, hbonds ); + hb_end_j = End_Index( system->my_atoms[j].Hindex, hbonds ); + if (type_j < 0) continue; - top = 0; - for (pi = start_j; pi < end_j; ++pi) { - pbond_ij = &( bond_list[pi] ); - i = pbond_ij->nbr; - type_i = system->my_atoms[i].type; - if (type_i < 0) continue; - bo_ij = &(pbond_ij->bo_data); - - if ( system->reax_param.sbp[type_i].p_hbond == 2 && - bo_ij->BO >= HB_THRESHOLD ) - hblist[top++] = pi; - } - - for (pk = hb_start_j; pk < hb_end_j; ++pk) { - /* set k's varibles */ - k = hbond_list[pk].nbr; - type_k = system->my_atoms[k].type; - if (type_k < 0) continue; - nbr_jk = hbond_list[pk].ptr; - r_jk = nbr_jk->d; - rvec_Scale( dvec_jk, hbond_list[pk].scl, nbr_jk->dvec ); - - for (itr = 0; itr < top; ++itr) { - pi = hblist[itr]; - pbond_ij = &( bonds->select.bond_list[pi] ); + top = 0; + for (pi = start_j; pi < end_j; ++pi) { + pbond_ij = &( bond_list[pi] ); i = pbond_ij->nbr; + type_i = system->my_atoms[i].type; + if (type_i < 0) continue; + bo_ij = &(pbond_ij->bo_data); - if (system->my_atoms[i].orig_id != system->my_atoms[k].orig_id) { - bo_ij = &(pbond_ij->bo_data); - type_i = system->my_atoms[i].type; - if (type_i < 0) continue; - hbp = &(system->reax_param.hbp[ type_i ][ type_j ][ type_k ]); - if (hbp->r0_hb <= 0.0) continue; - ++num_hb_intrs; + if ( system->reax_param.sbp[type_i].p_hbond == 2 && + bo_ij->BO >= HB_THRESHOLD ) + hblist[top++] = pi; + } - Calculate_Theta( pbond_ij->dvec, pbond_ij->d, dvec_jk, r_jk, - &theta, &cos_theta ); - /* the derivative of cos(theta) */ - Calculate_dCos_Theta( pbond_ij->dvec, pbond_ij->d, dvec_jk, r_jk, - &dcos_theta_di, &dcos_theta_dj, - &dcos_theta_dk ); + for (pk = hb_start_j; pk < hb_end_j; ++pk) { + /* set k's varibles */ + k = hbond_list[pk].nbr; + type_k = system->my_atoms[k].type; + if (type_k < 0) continue; + nbr_jk = hbond_list[pk].ptr; + r_jk = nbr_jk->d; + rvec_Scale( dvec_jk, hbond_list[pk].scl, nbr_jk->dvec ); - /* hyrogen bond energy*/ - sin_theta2 = sin( theta/2.0 ); - sin_xhz4 = SQR(sin_theta2); - sin_xhz4 *= sin_xhz4; - cos_xhz1 = ( 1.0 - cos_theta ); - exp_hb2 = exp( -hbp->p_hb2 * bo_ij->BO ); - exp_hb3 = exp( -hbp->p_hb3 * ( hbp->r0_hb / r_jk + - r_jk / hbp->r0_hb - 2.0 ) ); + for (itr = 0; itr < top; ++itr) { + pi = hblist[itr]; + pbond_ij = &( bonds->select.bond_list[pi] ); + i = pbond_ij->nbr; - data->my_en.e_hb += e_hb = - hbp->p_hb1 * (1.0 - exp_hb2) * exp_hb3 * sin_xhz4; + if (system->my_atoms[i].orig_id != system->my_atoms[k].orig_id) { + bo_ij = &(pbond_ij->bo_data); + type_i = system->my_atoms[i].type; + if (type_i < 0) continue; + hbp = &(system->reax_param.hbp[ type_i ][ type_j ][ type_k ]); + if (hbp->r0_hb <= 0.0) continue; + ++num_hb_intrs; - CEhb1 = hbp->p_hb1 * hbp->p_hb2 * exp_hb2 * exp_hb3 * sin_xhz4; - CEhb2 = -hbp->p_hb1/2.0 * (1.0 - exp_hb2) * exp_hb3 * cos_xhz1; - CEhb3 = -hbp->p_hb3 * - (-hbp->r0_hb / SQR(r_jk) + 1.0 / hbp->r0_hb) * e_hb; + Calculate_Theta( pbond_ij->dvec, pbond_ij->d, dvec_jk, r_jk, + &theta, &cos_theta ); + /* the derivative of cos(theta) */ + Calculate_dCos_Theta( pbond_ij->dvec, pbond_ij->d, dvec_jk, r_jk, + &dcos_theta_di, &dcos_theta_dj, + &dcos_theta_dk ); - /* hydrogen bond forces */ - bo_ij->Cdbo += CEhb1; // dbo term + /* hyrogen bond energy*/ + sin_theta2 = sin( theta/2.0 ); + sin_xhz4 = SQR(sin_theta2); + sin_xhz4 *= sin_xhz4; + cos_xhz1 = ( 1.0 - cos_theta ); + exp_hb2 = exp( -hbp->p_hb2 * bo_ij->BO ); + exp_hb3 = exp( -hbp->p_hb3 * ( hbp->r0_hb / r_jk + + r_jk / hbp->r0_hb - 2.0 ) ); - if (control->virial == 0) { - // dcos terms - rvec_ScaledAdd( workspace->f[i], +CEhb2, dcos_theta_di ); - rvec_ScaledAdd( workspace->f[j], +CEhb2, dcos_theta_dj ); - rvec_ScaledAdd( workspace->f[k], +CEhb2, dcos_theta_dk ); - // dr terms - rvec_ScaledAdd( workspace->f[j], -CEhb3/r_jk, dvec_jk ); - rvec_ScaledAdd( workspace->f[k], +CEhb3/r_jk, dvec_jk ); - } - else { - rvec_Scale( force, +CEhb2, dcos_theta_di ); // dcos terms - rvec_Add( workspace->f[i], force ); + data->my_en.e_hb += e_hb = + hbp->p_hb1 * (1.0 - exp_hb2) * exp_hb3 * sin_xhz4; - rvec_ScaledAdd( workspace->f[j], +CEhb2, dcos_theta_dj ); + CEhb1 = hbp->p_hb1 * hbp->p_hb2 * exp_hb2 * exp_hb3 * sin_xhz4; + CEhb2 = -hbp->p_hb1/2.0 * (1.0 - exp_hb2) * exp_hb3 * cos_xhz1; + CEhb3 = -hbp->p_hb3 * + (-hbp->r0_hb / SQR(r_jk) + 1.0 / hbp->r0_hb) * e_hb; - ivec_Scale( rel_jk, hbond_list[pk].scl, nbr_jk->rel_box ); - rvec_Scale( force, +CEhb2, dcos_theta_dk ); - rvec_Add( workspace->f[k], force ); + /* hydrogen bond forces */ + bo_ij->Cdbo += CEhb1; // dbo term - // dr terms - rvec_ScaledAdd( workspace->f[j], -CEhb3/r_jk, dvec_jk ); + if (control->virial == 0) { + // dcos terms + rvec_ScaledAdd( workspace->f[i], +CEhb2, dcos_theta_di ); + rvec_ScaledAdd( workspace->f[j], +CEhb2, dcos_theta_dj ); + rvec_ScaledAdd( workspace->f[k], +CEhb2, dcos_theta_dk ); + // dr terms + rvec_ScaledAdd( workspace->f[j], -CEhb3/r_jk, dvec_jk ); + rvec_ScaledAdd( workspace->f[k], +CEhb3/r_jk, dvec_jk ); + } + else { + rvec_Scale( force, +CEhb2, dcos_theta_di ); // dcos terms + rvec_Add( workspace->f[i], force ); - rvec_Scale( force, CEhb3/r_jk, dvec_jk ); - rvec_Add( workspace->f[k], force ); - } + rvec_ScaledAdd( workspace->f[j], +CEhb2, dcos_theta_dj ); - /* tally into per-atom virials */ - if (system->pair_ptr->vflag_atom || system->pair_ptr->evflag) { - rvec_ScaledSum( delij, 1., system->my_atoms[j].x, - -1., system->my_atoms[i].x ); - rvec_ScaledSum( delkj, 1., system->my_atoms[j].x, - -1., system->my_atoms[k].x ); + ivec_Scale( rel_jk, hbond_list[pk].scl, nbr_jk->rel_box ); + rvec_Scale( force, +CEhb2, dcos_theta_dk ); + rvec_Add( workspace->f[k], force ); - rvec_Scale(fi_tmp, CEhb2, dcos_theta_di); - rvec_Scale(fk_tmp, CEhb2, dcos_theta_dk); - rvec_ScaledAdd(fk_tmp, CEhb3/r_jk, dvec_jk); + // dr terms + rvec_ScaledAdd( workspace->f[j], -CEhb3/r_jk, dvec_jk ); - system->pair_ptr->ev_tally3(i,j,k,e_hb,0.0,fi_tmp,fk_tmp,delij,delkj); + rvec_Scale( force, CEhb3/r_jk, dvec_jk ); + rvec_Add( workspace->f[k], force ); + } + + /* tally into per-atom virials */ + if (system->pair_ptr->vflag_atom || system->pair_ptr->evflag) { + rvec_ScaledSum( delij, 1., system->my_atoms[j].x, + -1., system->my_atoms[i].x ); + rvec_ScaledSum( delkj, 1., system->my_atoms[j].x, + -1., system->my_atoms[k].x ); + + rvec_Scale(fi_tmp, CEhb2, dcos_theta_di); + rvec_Scale(fk_tmp, CEhb2, dcos_theta_dk); + rvec_ScaledAdd(fk_tmp, CEhb3/r_jk, dvec_jk); + + system->pair_ptr->ev_tally3(i,j,k,e_hb,0.0,fi_tmp,fk_tmp,delij,delkj); + } } } } } - } + } } diff --git a/src/USER-REAXC/reaxc_hydrogen_bonds.h b/src/USER-REAXC/reaxc_hydrogen_bonds.h deleted file mode 100644 index 04d3d26d5c..0000000000 --- a/src/USER-REAXC/reaxc_hydrogen_bonds.h +++ /dev/null @@ -1,35 +0,0 @@ -/*---------------------------------------------------------------------- - PuReMD - Purdue ReaxFF Molecular Dynamics Program - - Copyright (2010) Purdue University - Hasan Metin Aktulga, hmaktulga@lbl.gov - Joseph Fogarty, jcfogart@mail.usf.edu - Sagar Pandit, pandit@usf.edu - Ananth Y Grama, ayg@cs.purdue.edu - - Please cite the related publication: - H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama, - "Parallel Reactive Molecular Dynamics: Numerical Methods and - Algorithmic Techniques", Parallel Computing, in press. - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License as - published by the Free Software Foundation; either version 2 of - the License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - See the GNU General Public License for more details: - . - ----------------------------------------------------------------------*/ - -#ifndef __HBONDS_H_ -#define __HBONDS_H_ - -#include "reaxc_types.h" - -void Hydrogen_Bonds( reax_system*, control_params*, simulation_data*, - storage*, reax_list**, output_controls* ); - -#endif diff --git a/src/USER-REAXC/reaxc_init_md.cpp b/src/USER-REAXC/reaxc_init_md.cpp index beb7d1b87c..8704852a64 100644 --- a/src/USER-REAXC/reaxc_init_md.cpp +++ b/src/USER-REAXC/reaxc_init_md.cpp @@ -24,185 +24,174 @@ . ----------------------------------------------------------------------*/ -#include "reaxc_init_md.h" +#include "reaxff_api.h" + #include #include #include #include -#include "reaxc_defs.h" -#include "reaxc_allocate.h" -#include "reaxc_forces.h" -#include "reaxc_io_tools.h" -#include "reaxc_list.h" -#include "reaxc_lookup.h" -#include "reaxc_reset_tools.h" -#include "reaxc_tool_box.h" #include "error.h" -#include "fmt/format.h" -void Init_System(reax_system *system, control_params *control) -{ - int i; - reax_atom *atom; +namespace ReaxFF { - int mincap = system->mincap; - double safezone = system->safezone; - double saferzone = system->saferzone; + void Init_System(reax_system *system, control_params *control) + { + int i; + reax_atom *atom; - // determine the local and total capacity + int mincap = system->mincap; + double safezone = system->safezone; + double saferzone = system->saferzone; - system->local_cap = MAX((int)(system->n * safezone), mincap); - system->total_cap = MAX((int)(system->N * safezone), mincap); + // determine the local and total capacity - /* estimate numH and Hcap */ - system->numH = 0; - if (control->hbond_cut > 0) - for (i = 0; i < system->n; ++i) { - atom = &(system->my_atoms[i]); - if (system->reax_param.sbp[ atom->type ].p_hbond == 1 && atom->type >= 0) - atom->Hindex = system->numH++; - else atom->Hindex = -1; + system->local_cap = MAX((int)(system->n * safezone), mincap); + system->total_cap = MAX((int)(system->N * safezone), mincap); + + /* estimate numH and Hcap */ + system->numH = 0; + if (control->hbond_cut > 0) + for (i = 0; i < system->n; ++i) { + atom = &(system->my_atoms[i]); + if (system->reax_param.sbp[ atom->type ].p_hbond == 1 && atom->type >= 0) + atom->Hindex = system->numH++; + else atom->Hindex = -1; + } + system->Hcap = (int)(MAX(system->numH * saferzone, mincap)); + } + + void Init_Simulation_Data(simulation_data *data) + { + Reset_Simulation_Data(data); + data->step = 0; + } + + static void Init_Taper(control_params *control, storage *workspace) + { + double d1, d7; + double swa, swa2, swa3; + double swb, swb2, swb3; + LAMMPS_NS::Error *error = control->error_ptr; + + swa = control->nonb_low; + swb = control->nonb_cut; + + if (fabs(swa) > 0.01 && control->me == 0) + error->warning(FLERR, "Non-zero lower Taper-radius cutoff"); + + if (swb < 0) { + error->all(FLERR,"Negative upper Taper-radius cutoff"); } - system->Hcap = (int)(MAX(system->numH * saferzone, mincap)); -} + else if (swb < 5 && control->me == 0) + error->warning(FLERR,fmt::format("Warning: very low Taper-radius cutoff: " + "{}\n", swb)); + d1 = swb - swa; + d7 = pow(d1, 7.0); + swa2 = SQR(swa); + swa3 = CUBE(swa); + swb2 = SQR(swb); + swb3 = CUBE(swb); - -void Init_Simulation_Data(control_params *control, simulation_data *data) -{ - Reset_Simulation_Data(data, control->virial); - data->step = 0; -} - -void Init_Taper(control_params *control, storage *workspace) -{ - double d1, d7; - double swa, swa2, swa3; - double swb, swb2, swb3; - LAMMPS_NS::Error *error = control->error_ptr; - - swa = control->nonb_low; - swb = control->nonb_cut; - - if (fabs(swa) > 0.01 && control->me == 0) - error->warning(FLERR, "Non-zero lower Taper-radius cutoff"); - - if (swb < 0) { - error->all(FLERR,"Negative upper Taper-radius cutoff"); + workspace->Tap[7] = 20.0 / d7; + workspace->Tap[6] = -70.0 * (swa + swb) / d7; + workspace->Tap[5] = 84.0 * (swa2 + 3.0*swa*swb + swb2) / d7; + workspace->Tap[4] = -35.0 * (swa3 + 9.0*swa2*swb + 9.0*swa*swb2 + swb3) / d7; + workspace->Tap[3] = 140.0 * (swa3*swb + 3.0*swa2*swb2 + swa*swb3) / d7; + workspace->Tap[2] =-210.0 * (swa3*swb2 + swa2*swb3) / d7; + workspace->Tap[1] = 140.0 * swa3 * swb3 / d7; + workspace->Tap[0] = (-35.0*swa3*swb2*swb2 + 21.0*swa2*swb3*swb2 - + 7.0*swa*swb3*swb3 + swb3*swb3*swb) / d7; } - else if (swb < 5 && control->me == 0) - error->warning(FLERR,fmt::format("Warning: very low Taper-radius cutoff: " - "{}\n", swb)); - d1 = swb - swa; - d7 = pow(d1, 7.0); - swa2 = SQR(swa); - swa3 = CUBE(swa); - swb2 = SQR(swb); - swb3 = CUBE(swb); - workspace->Tap[7] = 20.0 / d7; - workspace->Tap[6] = -70.0 * (swa + swb) / d7; - workspace->Tap[5] = 84.0 * (swa2 + 3.0*swa*swb + swb2) / d7; - workspace->Tap[4] = -35.0 * (swa3 + 9.0*swa2*swb + 9.0*swa*swb2 + swb3) / d7; - workspace->Tap[3] = 140.0 * (swa3*swb + 3.0*swa2*swb2 + swa*swb3) / d7; - workspace->Tap[2] =-210.0 * (swa3*swb2 + swa2*swb3) / d7; - workspace->Tap[1] = 140.0 * swa3 * swb3 / d7; - workspace->Tap[0] = (-35.0*swa3*swb2*swb2 + 21.0*swa2*swb3*swb2 - - 7.0*swa*swb3*swb3 + swb3*swb3*swb) / d7; -} + void Init_Workspace(reax_system *system, control_params *control, storage *workspace) + { + Allocate_Workspace(control, workspace,system->total_cap); -void Init_Workspace(reax_system *system, control_params *control, storage *workspace) -{ - Allocate_Workspace(control, workspace,system->total_cap); + memset(&(workspace->realloc), 0, sizeof(reallocate_data)); + Reset_Workspace(system, workspace); - memset(&(workspace->realloc), 0, sizeof(reallocate_data)); - Reset_Workspace(system, workspace); + /* Initialize the Taper function */ + Init_Taper(control, workspace); + } - /* Initialize the Taper function */ - Init_Taper(control, workspace); -} + static int Init_Lists(reax_system *system, control_params *control, reax_list **lists) + { + int i, total_hbonds, total_bonds, bond_cap, num_3body, cap_3body, Htop; + int *hb_top, *bond_top; -int Init_Lists(reax_system *system, control_params *control, reax_list **lists) -{ - int i, total_hbonds, total_bonds, bond_cap, num_3body, cap_3body, Htop; - int *hb_top, *bond_top; + int mincap = system->mincap; + double safezone = system->safezone; + double saferzone = system->saferzone; + LAMMPS_NS::Error *error = system->error_ptr; - int mincap = system->mincap; - double safezone = system->safezone; - double saferzone = system->saferzone; - LAMMPS_NS::Error *error = system->error_ptr; + bond_top = (int*) calloc(system->total_cap, sizeof(int)); + hb_top = (int*) calloc(system->local_cap, sizeof(int)); + Estimate_Storages(system, control, lists, + &Htop, hb_top, bond_top, &num_3body); - bond_top = (int*) calloc(system->total_cap, sizeof(int)); - hb_top = (int*) calloc(system->local_cap, sizeof(int)); - Estimate_Storages(system, control, lists, - &Htop, hb_top, bond_top, &num_3body); + if (control->hbond_cut > 0) { + /* init H indexes */ + total_hbonds = 0; + for (i = 0; i < system->n; ++i) { + system->my_atoms[i].num_hbonds = hb_top[i]; + total_hbonds += hb_top[i]; + } + total_hbonds = (int)(MAX(total_hbonds*saferzone,mincap*system->minhbonds)); - if (control->hbond_cut > 0) { - /* init H indexes */ - total_hbonds = 0; - for (i = 0; i < system->n; ++i) { - system->my_atoms[i].num_hbonds = hb_top[i]; - total_hbonds += hb_top[i]; + if (!Make_List(system->Hcap, total_hbonds, TYP_HBOND, + *lists+HBONDS)) + error->one(FLERR, "Not enough space for hbonds list."); + + (*lists+HBONDS)->error_ptr = system->error_ptr; } - total_hbonds = (int)(MAX(total_hbonds*saferzone,mincap*system->minhbonds)); - if (!Make_List(system->Hcap, total_hbonds, TYP_HBOND, - *lists+HBONDS)) - error->one(FLERR, "Not enough space for hbonds list."); + total_bonds = 0; + for (i = 0; i < system->N; ++i) { + system->my_atoms[i].num_bonds = bond_top[i]; + total_bonds += bond_top[i]; + } + bond_cap = (int)(MAX(total_bonds*safezone, mincap*MIN_BONDS)); - (*lists+HBONDS)->error_ptr = system->error_ptr; + if (!Make_List(system->total_cap, bond_cap, TYP_BOND, + *lists+BONDS)) + error->one(FLERR, "Not enough space for bonds list."); + + (*lists+BONDS)->error_ptr = system->error_ptr; + + /* 3bodies list */ + cap_3body = (int)(MAX(num_3body*safezone, MIN_3BODIES)); + if (!Make_List(bond_cap, cap_3body, TYP_THREE_BODY, + *lists+THREE_BODIES)) + error->one(FLERR,"Problem in initializing angles list."); + + (*lists+THREE_BODIES)->error_ptr = system->error_ptr; + + free(hb_top); + free(bond_top); + + return SUCCESS; } - total_bonds = 0; - for (i = 0; i < system->N; ++i) { - system->my_atoms[i].num_bonds = bond_top[i]; - total_bonds += bond_top[i]; + void Initialize(reax_system *system, control_params *control, + simulation_data *data, storage *workspace, + reax_list **lists, output_controls *out_control, + MPI_Comm world) + { + char msg[MAX_STR]; + LAMMPS_NS::Error *error = system->error_ptr; + + Init_System(system, control); + Init_Simulation_Data(data); + Init_Workspace(system, control, workspace); + + if (Init_Lists(system, control, lists) ==FAILURE) + error->one(FLERR,fmt::format("Error on: {}. System could not be " + "initialized. Terminating.",msg)); + + Init_Output_Files(system, control, out_control,world); + + if (control->tabulate) + Init_Lookup_Tables(system, control, workspace, world); } - bond_cap = (int)(MAX(total_bonds*safezone, mincap*MIN_BONDS)); - - if (!Make_List(system->total_cap, bond_cap, TYP_BOND, - *lists+BONDS)) - error->one(FLERR, "Not enough space for bonds list."); - - (*lists+BONDS)->error_ptr = system->error_ptr; - - /* 3bodies list */ - cap_3body = (int)(MAX(num_3body*safezone, MIN_3BODIES)); - if (!Make_List(bond_cap, cap_3body, TYP_THREE_BODY, - *lists+THREE_BODIES)) - error->one(FLERR,"Problem in initializing angles list."); - - (*lists+THREE_BODIES)->error_ptr = system->error_ptr; - - free(hb_top); - free(bond_top); - - return SUCCESS; -} - -void Initialize(reax_system *system, control_params *control, - simulation_data *data, storage *workspace, - reax_list **lists, output_controls *out_control, - MPI_Comm world) -{ - char msg[MAX_STR]; - LAMMPS_NS::Error *error = system->error_ptr; - - Init_System(system,control); - Init_Simulation_Data(control,data); - Init_Workspace( system,control,workspace); - - if (Init_Lists(system, control, lists) ==FAILURE) - error->one(FLERR,fmt::format("Error on: {}. System could not be " - "initialized. Terminating.",msg)); - - Init_Output_Files(system,control,out_control,world); - - if (control->tabulate) - if (Init_Lookup_Tables(system,control,workspace,world,msg) == FAILURE) - error->one(FLERR,fmt::format("Error on: {}. Could not create lookup " - "table. Terminating.",msg)); - - - Init_Force_Functions(control); } diff --git a/src/USER-REAXC/reaxc_init_md.h b/src/USER-REAXC/reaxc_init_md.h deleted file mode 100644 index 4528ee95b1..0000000000 --- a/src/USER-REAXC/reaxc_init_md.h +++ /dev/null @@ -1,35 +0,0 @@ -/*---------------------------------------------------------------------- - PuReMD - Purdue ReaxFF Molecular Dynamics Program - - Copyright (2010) Purdue University - Hasan Metin Aktulga, hmaktulga@lbl.gov - Joseph Fogarty, jcfogart@mail.usf.edu - Sagar Pandit, pandit@usf.edu - Ananth Y Grama, ayg@cs.purdue.edu - - Please cite the related publication: - H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama, - "Parallel Reactive Molecular Dynamics: Numerical Methods and - Algorithmic Techniques", Parallel Computing, in press. - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License as - published by the Free Software Foundation; either version 2 of - the License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - See the GNU General Public License for more details: - . - ----------------------------------------------------------------------*/ - -#ifndef __INIT_MD_H_ -#define __INIT_MD_H_ - -#include "reaxc_types.h" -#include - -void Initialize(reax_system*, control_params*, simulation_data*, storage*, - reax_list**, output_controls*, MPI_Comm); -#endif diff --git a/src/USER-REAXC/reaxc_io_tools.cpp b/src/USER-REAXC/reaxc_io_tools.cpp index 2f5c6b8f65..6ca0b29b6e 100644 --- a/src/USER-REAXC/reaxc_io_tools.cpp +++ b/src/USER-REAXC/reaxc_io_tools.cpp @@ -24,43 +24,76 @@ . ----------------------------------------------------------------------*/ -#include "reaxc_io_tools.h" -#include -#include -#include "reaxc_defs.h" -#include "reaxc_system_props.h" -#include "reaxc_traj.h" +#include "reaxff_api.h" -void Init_Output_Files(reax_system *system, control_params *control, - output_controls *out_control, MPI_Comm world) -{ - if (out_control->write_steps > 0) - Init_Traj(system, control, out_control, world); -} +namespace ReaxFF { + void Collect_System_Energy(reax_system *system, simulation_data *data, + MPI_Comm comm) + { + double my_en[13], sys_en[13]; -/************************ close output files ************************/ -void Close_Output_Files(reax_system *system, output_controls *out_control) -{ - if (out_control->write_steps > 0) - End_Traj(system->my_rank, out_control); -} + my_en[0] = data->my_en.e_bond; + my_en[1] = data->my_en.e_ov; + my_en[2] = data->my_en.e_un; + my_en[3] = data->my_en.e_lp; + my_en[4] = data->my_en.e_ang; + my_en[5] = data->my_en.e_pen; + my_en[6] = data->my_en.e_coa; + my_en[7] = data->my_en.e_hb; + my_en[8] = data->my_en.e_tor; + my_en[9] = data->my_en.e_con; + my_en[10] = data->my_en.e_vdW; + my_en[11] = data->my_en.e_ele; + my_en[12] = data->my_en.e_pol; + MPI_Reduce( my_en, sys_en, 13, MPI_DOUBLE, MPI_SUM, MASTER_NODE, comm ); -void Output_Results(reax_system *system, control_params *control, - simulation_data *data, reax_list **lists, - output_controls *out_control, MPI_Comm world) -{ - - if ((out_control->energy_update_freq > 0 && - data->step%out_control->energy_update_freq == 0) || - (out_control->write_steps > 0 && - data->step%out_control->write_steps == 0)) { - /* update system-wide energies */ - Compute_System_Energy(system, data, world); - - /* write current frame */ - if ( out_control->write_steps > 0 && data->step % out_control->write_steps == 0) { - Append_Frame( system, control, data, lists, out_control, world); + if (system->my_rank == MASTER_NODE) { + data->sys_en.e_bond = sys_en[0]; + data->sys_en.e_ov = sys_en[1]; + data->sys_en.e_un = sys_en[2]; + data->sys_en.e_lp = sys_en[3]; + data->sys_en.e_ang = sys_en[4]; + data->sys_en.e_pen = sys_en[5]; + data->sys_en.e_coa = sys_en[6]; + data->sys_en.e_hb = sys_en[7]; + data->sys_en.e_tor = sys_en[8]; + data->sys_en.e_con = sys_en[9]; + data->sys_en.e_vdW = sys_en[10]; + data->sys_en.e_ele = sys_en[11]; + data->sys_en.e_pol = sys_en[12]; } + } + + void Init_Output_Files(reax_system *system, control_params *control, + output_controls *out_control, MPI_Comm world) + { + if (out_control->write_steps > 0) + Init_Traj(system, control, out_control, world); } + /************************ close output files ************************/ + void Close_Output_Files(reax_system *system, output_controls *out_control) + { + if (out_control->write_steps > 0) + End_Traj(system->my_rank, out_control); + } + + void Output_Results(reax_system *system, control_params *control, + simulation_data *data, reax_list **lists, + output_controls *out_control, MPI_Comm world) + { + + if ((out_control->energy_update_freq > 0 && + data->step%out_control->energy_update_freq == 0) || + (out_control->write_steps > 0 && + data->step%out_control->write_steps == 0)) { + /* update system-wide energies */ + Collect_System_Energy(system, data, world); + + /* write current frame */ + if (out_control->write_steps > 0 && data->step % out_control->write_steps == 0) { + Append_Frame(system, control, data, lists, out_control, world); + } + } + } } diff --git a/src/USER-REAXC/reaxc_io_tools.h b/src/USER-REAXC/reaxc_io_tools.h deleted file mode 100644 index 8b69125032..0000000000 --- a/src/USER-REAXC/reaxc_io_tools.h +++ /dev/null @@ -1,37 +0,0 @@ -/*---------------------------------------------------------------------- - PuReMD - Purdue ReaxFF Molecular Dynamics Program - - Copyright (2010) Purdue University - Hasan Metin Aktulga, hmaktulga@lbl.gov - Joseph Fogarty, jcfogart@mail.usf.edu - Sagar Pandit, pandit@usf.edu - Ananth Y Grama, ayg@cs.purdue.edu - - Please cite the related publication: - H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama, - "Parallel Reactive Molecular Dynamics: Numerical Methods and - Algorithmic Techniques", Parallel Computing, in press. - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License as - published by the Free Software Foundation; either version 2 of - the License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - See the GNU General Public License for more details: - . - ----------------------------------------------------------------------*/ - -#ifndef __IO_TOOLS_H_ -#define __IO_TOOLS_H_ - -#include "reaxc_types.h" -#include - -void Init_Output_Files(reax_system *, control_params *, output_controls *, MPI_Comm); -void Close_Output_Files(reax_system *, output_controls *); -void Output_Results(reax_system *, control_params *, simulation_data *, - reax_list **, output_controls *, MPI_Comm); -#endif diff --git a/src/USER-REAXC/reaxc_list.cpp b/src/USER-REAXC/reaxc_list.cpp index b48a9a540e..94d4a0a4b5 100644 --- a/src/USER-REAXC/reaxc_list.cpp +++ b/src/USER-REAXC/reaxc_list.cpp @@ -24,121 +24,120 @@ . ----------------------------------------------------------------------*/ -#include "reaxc_list.h" -#include "reaxc_defs.h" -#include "reaxc_tool_box.h" +#include "reaxff_api.h" #include "error.h" -/************* allocate list space ******************/ -int Make_List(int n, int num_intrs, int type, reax_list *l ) -{ - l->allocated = 1; +namespace ReaxFF { + + /************* allocate list space ******************/ + int Make_List(int n, int num_intrs, int type, reax_list *l) + { + l->allocated = 1; - l->n = n; - l->num_intrs = num_intrs; + l->n = n; + l->num_intrs = num_intrs; - if (l->index) sfree(l->error_ptr, l->index, "list:index"); - if (l->end_index) sfree(l->error_ptr, l->end_index, "list:end_index"); - l->index = (int*) smalloc(l->error_ptr, n * sizeof(int), "list:index"); - l->end_index = (int*) smalloc(l->error_ptr, n * sizeof(int), "list:end_index"); + if (l->index) sfree(l->error_ptr, l->index, "list:index"); + if (l->end_index) sfree(l->error_ptr, l->end_index, "list:end_index"); + l->index = (int*) smalloc(l->error_ptr, n * sizeof(int), "list:index"); + l->end_index = (int*) smalloc(l->error_ptr, n * sizeof(int), "list:end_index"); - l->type = type; + l->type = type; - switch(l->type) { - case TYP_VOID: - if (l->select.v) sfree(l->error_ptr, l->select.v, "list:v"); - l->select.v = (void*) smalloc(l->error_ptr, (rc_bigint) num_intrs * sizeof(void*), "list:v"); - break; + switch(l->type) { + case TYP_VOID: + if (l->select.v) sfree(l->error_ptr, l->select.v, "list:v"); + l->select.v = (void*) smalloc(l->error_ptr, (rc_bigint) num_intrs * sizeof(void*), "list:v"); + break; - case TYP_THREE_BODY: - if (l->select.three_body_list) sfree(l->error_ptr, l->select.three_body_list,"list:three_bodies"); - l->select.three_body_list = (three_body_interaction_data*) - smalloc(l->error_ptr, (rc_bigint) num_intrs * sizeof(three_body_interaction_data), - "list:three_bodies"); - break; + case TYP_THREE_BODY: + if (l->select.three_body_list) sfree(l->error_ptr, l->select.three_body_list,"list:three_bodies"); + l->select.three_body_list = (three_body_interaction_data*) + smalloc(l->error_ptr, (rc_bigint) num_intrs * sizeof(three_body_interaction_data), + "list:three_bodies"); + break; - case TYP_BOND: - if (l->select.bond_list) sfree(l->error_ptr, l->select.bond_list,"list:bonds"); - l->select.bond_list = (bond_data*) - smalloc(l->error_ptr, (rc_bigint) num_intrs * sizeof(bond_data), "list:bonds"); - break; + case TYP_BOND: + if (l->select.bond_list) sfree(l->error_ptr, l->select.bond_list,"list:bonds"); + l->select.bond_list = (bond_data*) + smalloc(l->error_ptr, (rc_bigint) num_intrs * sizeof(bond_data), "list:bonds"); + break; - case TYP_DBO: - if (l->select.dbo_list) sfree(l->error_ptr, l->select.dbo_list,"list:dbonds"); - l->select.dbo_list = (dbond_data*) - smalloc(l->error_ptr, (rc_bigint) num_intrs * sizeof(dbond_data), "list:dbonds"); - break; + case TYP_DBO: + if (l->select.dbo_list) sfree(l->error_ptr, l->select.dbo_list,"list:dbonds"); + l->select.dbo_list = (dbond_data*) + smalloc(l->error_ptr, (rc_bigint) num_intrs * sizeof(dbond_data), "list:dbonds"); + break; - case TYP_DDELTA: - if (l->select.dDelta_list) sfree(l->error_ptr, l->select.dDelta_list,"list:dDeltas"); - l->select.dDelta_list = (dDelta_data*) - smalloc(l->error_ptr, (rc_bigint) num_intrs * sizeof(dDelta_data), "list:dDeltas"); - break; + case TYP_DDELTA: + if (l->select.dDelta_list) sfree(l->error_ptr, l->select.dDelta_list,"list:dDeltas"); + l->select.dDelta_list = (dDelta_data*) + smalloc(l->error_ptr, (rc_bigint) num_intrs * sizeof(dDelta_data), "list:dDeltas"); + break; - case TYP_FAR_NEIGHBOR: - if (l->select.far_nbr_list) sfree(l->error_ptr, l->select.far_nbr_list,"list:far_nbrs"); - l->select.far_nbr_list = (far_neighbor_data*) - smalloc(l->error_ptr, (rc_bigint) num_intrs * sizeof(far_neighbor_data), "list:far_nbrs"); - break; + case TYP_FAR_NEIGHBOR: + if (l->select.far_nbr_list) sfree(l->error_ptr, l->select.far_nbr_list,"list:far_nbrs"); + l->select.far_nbr_list = (far_neighbor_data*) + smalloc(l->error_ptr, (rc_bigint) num_intrs * sizeof(far_neighbor_data), "list:far_nbrs"); + break; - case TYP_HBOND: - if (l->select.hbond_list) sfree(l->error_ptr, l->select.hbond_list,"list:hbonds"); - l->select.hbond_list = (hbond_data*) - smalloc(l->error_ptr, (rc_bigint) num_intrs * sizeof(hbond_data), "list:hbonds"); - break; + case TYP_HBOND: + if (l->select.hbond_list) sfree(l->error_ptr, l->select.hbond_list,"list:hbonds"); + l->select.hbond_list = (hbond_data*) + smalloc(l->error_ptr, (rc_bigint) num_intrs * sizeof(hbond_data), "list:hbonds"); + break; - default: - l->error_ptr->all(FLERR,fmt::format("No list type {} defined", l->type)); + default: + l->error_ptr->all(FLERR,fmt::format("No list type {} defined", l->type)); + } + + return SUCCESS; } - return SUCCESS; -} + void Delete_List(reax_list *l) + { + if (l->allocated == 0) + return; + l->allocated = 0; + sfree(l->error_ptr, l->index, "list:index"); + sfree(l->error_ptr, l->end_index, "list:end_index"); + l->index = nullptr; + l->end_index = nullptr; -void Delete_List( reax_list *l ) -{ - if (l->allocated == 0) - return; - l->allocated = 0; + switch(l->type) { + case TYP_VOID: + sfree(l->error_ptr, l->select.v, "list:v"); + l->select.v = nullptr; + break; + case TYP_HBOND: + sfree(l->error_ptr, l->select.hbond_list, "list:hbonds"); + l->select.hbond_list = nullptr; + break; + case TYP_FAR_NEIGHBOR: + sfree(l->error_ptr, l->select.far_nbr_list, "list:far_nbrs"); + l->select.far_nbr_list = nullptr; + break; + case TYP_BOND: + sfree(l->error_ptr, l->select.bond_list, "list:bonds"); + l->select.bond_list = nullptr; + break; + case TYP_DBO: + sfree(l->error_ptr, l->select.dbo_list, "list:dbos"); + l->select.dbo_list = nullptr; + break; + case TYP_DDELTA: + sfree(l->error_ptr, l->select.dDelta_list, "list:dDeltas"); + l->select.dDelta_list = nullptr; + break; + case TYP_THREE_BODY: + sfree(l->error_ptr, l->select.three_body_list, "list:three_bodies"); + l->select.three_body_list = nullptr; + break; - sfree(l->error_ptr, l->index, "list:index" ); - sfree(l->error_ptr, l->end_index, "list:end_index" ); - l->index = nullptr; - l->end_index = nullptr; - - switch(l->type) { - case TYP_VOID: - sfree(l->error_ptr, l->select.v, "list:v" ); - l->select.v = nullptr; - break; - case TYP_HBOND: - sfree(l->error_ptr, l->select.hbond_list, "list:hbonds" ); - l->select.hbond_list = nullptr; - break; - case TYP_FAR_NEIGHBOR: - sfree(l->error_ptr, l->select.far_nbr_list, "list:far_nbrs" ); - l->select.far_nbr_list = nullptr; - break; - case TYP_BOND: - sfree(l->error_ptr, l->select.bond_list, "list:bonds" ); - l->select.bond_list = nullptr; - break; - case TYP_DBO: - sfree(l->error_ptr, l->select.dbo_list, "list:dbos" ); - l->select.dbo_list = nullptr; - break; - case TYP_DDELTA: - sfree(l->error_ptr, l->select.dDelta_list, "list:dDeltas" ); - l->select.dDelta_list = nullptr; - break; - case TYP_THREE_BODY: - sfree(l->error_ptr, l->select.three_body_list, "list:three_bodies" ); - l->select.three_body_list = nullptr; - break; - - default: - l->error_ptr->all(FLERR,fmt::format("No list type {} defined", l->type)); + default: + l->error_ptr->all(FLERR,fmt::format("No list type {} defined", l->type)); + } } } - diff --git a/src/USER-REAXC/reaxc_list.h b/src/USER-REAXC/reaxc_list.h deleted file mode 100644 index 1894f6cbbd..0000000000 --- a/src/USER-REAXC/reaxc_list.h +++ /dev/null @@ -1,66 +0,0 @@ -/*---------------------------------------------------------------------- - PuReMD - Purdue ReaxFF Molecular Dynamics Program - - Copyright (2010) Purdue University - Hasan Metin Aktulga, hmaktulga@lbl.gov - Joseph Fogarty, jcfogart@mail.usf.edu - Sagar Pandit, pandit@usf.edu - Ananth Y Grama, ayg@cs.purdue.edu - - Please cite the related publication: - H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama, - "Parallel Reactive Molecular Dynamics: Numerical Methods and - Algorithmic Techniques", Parallel Computing, in press. - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License as - published by the Free Software Foundation; either version 2 of - the License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - See the GNU General Public License for more details: - . - ----------------------------------------------------------------------*/ - -#ifndef __LIST_H_ -#define __LIST_H_ - -#include "reaxc_types.h" - -int Make_List( int, int, int, reax_list* ); -void Delete_List( reax_list* ); - -inline int Num_Entries(int,reax_list*); -inline int Start_Index( int, reax_list* ); -inline int End_Index( int, reax_list* ); -inline void Set_Start_Index(int,int,reax_list*); -inline void Set_End_Index(int,int,reax_list*); - -inline int Num_Entries( int i, reax_list *l ) -{ - return l->end_index[i] - l->index[i]; -} - -inline int Start_Index( int i, reax_list *l ) -{ - return l->index[i]; -} - -inline int End_Index( int i, reax_list *l ) -{ - return l->end_index[i]; -} - -inline void Set_Start_Index( int i, int val, reax_list *l ) -{ - l->index[i] = val; -} - -inline void Set_End_Index( int i, int val, reax_list *l ) -{ - l->end_index[i] = val; -} - -#endif diff --git a/src/USER-REAXC/reaxc_lookup.cpp b/src/USER-REAXC/reaxc_lookup.cpp index 7584c34b82..58eab80d17 100644 --- a/src/USER-REAXC/reaxc_lookup.cpp +++ b/src/USER-REAXC/reaxc_lookup.cpp @@ -24,270 +24,266 @@ . ----------------------------------------------------------------------*/ -#include "reaxc_lookup.h" +#include "reaxff_api.h" + #include #include -#include "reaxc_nonbonded.h" -#include "reaxc_tool_box.h" -void Tridiagonal_Solve( const double *a, const double *b, - double *c, double *d, double *x, unsigned int n) { - int i; - double id; +namespace ReaxFF { + static void Tridiagonal_Solve(const double *a, const double *b, + double *c, double *d, double *x, unsigned int n) { + int i; + double id; - c[0] /= b[0]; /* Division by zero risk. */ - d[0] /= b[0]; /* Division by zero would imply a singular matrix. */ - for (i = 1; i < (int)n; i++) { - id = (b[i] - c[i-1] * a[i]); /* Division by zero risk. */ - c[i] /= id; /* Last value calculated is redundant. */ - d[i] = (d[i] - d[i-1] * a[i])/id; + c[0] /= b[0]; /* Division by zero risk. */ + d[0] /= b[0]; /* Division by zero would imply a singular matrix. */ + for (i = 1; i < (int)n; i++) { + id = (b[i] - c[i-1] * a[i]); /* Division by zero risk. */ + c[i] /= id; /* Last value calculated is redundant. */ + d[i] = (d[i] - d[i-1] * a[i])/id; + } + + x[n - 1] = d[n - 1]; + for (i = n - 2; i >= 0; i--) + x[i] = d[i] - c[i] * x[i + 1]; } - x[n - 1] = d[n - 1]; - for (i = n - 2; i >= 0; i--) - x[i] = d[i] - c[i] * x[i + 1]; -} + void Natural_Cubic_Spline(LAMMPS_NS::Error* error_ptr, const double *h, const double *f, + cubic_spline_coef *coef, unsigned int n) + { + int i; + double *a, *b, *c, *d, *v; + /* allocate space for the linear system */ + a = (double*) smalloc(error_ptr, n * sizeof(double), "cubic_spline:a"); + b = (double*) smalloc(error_ptr, n * sizeof(double), "cubic_spline:a"); + c = (double*) smalloc(error_ptr, n * sizeof(double), "cubic_spline:a"); + d = (double*) smalloc(error_ptr, n * sizeof(double), "cubic_spline:a"); + v = (double*) smalloc(error_ptr, n * sizeof(double), "cubic_spline:a"); -void Natural_Cubic_Spline( LAMMPS_NS::Error* error_ptr, const double *h, const double *f, - cubic_spline_coef *coef, unsigned int n ) -{ - int i; - double *a, *b, *c, *d, *v; + /* build the linear system */ + a[0] = a[1] = a[n-1] = 0; + for (i = 2; i < (int)n-1; ++i) + a[i] = h[i-1]; - /* allocate space for the linear system */ - a = (double*) smalloc(error_ptr, n * sizeof(double), "cubic_spline:a"); - b = (double*) smalloc(error_ptr, n * sizeof(double), "cubic_spline:a"); - c = (double*) smalloc(error_ptr, n * sizeof(double), "cubic_spline:a"); - d = (double*) smalloc(error_ptr, n * sizeof(double), "cubic_spline:a"); - v = (double*) smalloc(error_ptr, n * sizeof(double), "cubic_spline:a"); + b[0] = b[n-1] = 0; + for (i = 1; i < (int)n-1; ++i) + b[i] = 2 * (h[i-1] + h[i]); - /* build the linear system */ - a[0] = a[1] = a[n-1] = 0; - for (i = 2; i < (int)n-1; ++i) - a[i] = h[i-1]; + c[0] = c[n-2] = c[n-1] = 0; + for (i = 1; i < (int)n-2; ++i) + c[i] = h[i]; - b[0] = b[n-1] = 0; - for (i = 1; i < (int)n-1; ++i) - b[i] = 2 * (h[i-1] + h[i]); + d[0] = d[n-1] = 0; + for (i = 1; i < (int)n-1; ++i) + d[i] = 6 * ((f[i+1]-f[i])/h[i] - (f[i]-f[i-1])/h[i-1]); - c[0] = c[n-2] = c[n-1] = 0; - for (i = 1; i < (int)n-2; ++i) - c[i] = h[i]; + v[0] = 0; + v[n-1] = 0; + Tridiagonal_Solve(&(a[1]), &(b[1]), &(c[1]), &(d[1]), &(v[1]), n-2); - d[0] = d[n-1] = 0; - for (i = 1; i < (int)n-1; ++i) - d[i] = 6 * ((f[i+1]-f[i])/h[i] - (f[i]-f[i-1])/h[i-1]); + for (i = 1; i < (int)n; ++i) { + coef[i-1].d = (v[i] - v[i-1]) / (6*h[i-1]); + coef[i-1].c = v[i]/2; + coef[i-1].b = (f[i]-f[i-1])/h[i-1] + h[i-1]*(2*v[i] + v[i-1])/6; + coef[i-1].a = f[i]; + } - v[0] = 0; - v[n-1] = 0; - Tridiagonal_Solve( &(a[1]), &(b[1]), &(c[1]), &(d[1]), &(v[1]), n-2 ); - - for (i = 1; i < (int)n; ++i) { - coef[i-1].d = (v[i] - v[i-1]) / (6*h[i-1]); - coef[i-1].c = v[i]/2; - coef[i-1].b = (f[i]-f[i-1])/h[i-1] + h[i-1]*(2*v[i] + v[i-1])/6; - coef[i-1].a = f[i]; + sfree(error_ptr, a, "cubic_spline:a"); + sfree(error_ptr, b, "cubic_spline:b"); + sfree(error_ptr, c, "cubic_spline:c"); + sfree(error_ptr, d, "cubic_spline:d"); + sfree(error_ptr, v, "cubic_spline:v"); } - sfree(error_ptr, a, "cubic_spline:a" ); - sfree(error_ptr, b, "cubic_spline:b" ); - sfree(error_ptr, c, "cubic_spline:c" ); - sfree(error_ptr, d, "cubic_spline:d" ); - sfree(error_ptr, v, "cubic_spline:v" ); -} + void Complete_Cubic_Spline(LAMMPS_NS::Error* error_ptr, const double *h, + const double *f, double v0, double vlast, + cubic_spline_coef *coef, unsigned int n) + { + int i; + double *a, *b, *c, *d, *v; + /* allocate space for the linear system */ + a = (double*) smalloc(error_ptr, n * sizeof(double), "cubic_spline:a"); + b = (double*) smalloc(error_ptr, n * sizeof(double), "cubic_spline:a"); + c = (double*) smalloc(error_ptr, n * sizeof(double), "cubic_spline:a"); + d = (double*) smalloc(error_ptr, n * sizeof(double), "cubic_spline:a"); + v = (double*) smalloc(error_ptr, n * sizeof(double), "cubic_spline:a"); + /* build the linear system */ + a[0] = 0; + for (i = 1; i < (int)n; ++i) + a[i] = h[i-1]; -void Complete_Cubic_Spline( LAMMPS_NS::Error* error_ptr, const double *h, const double *f, double v0, double vlast, - cubic_spline_coef *coef, unsigned int n ) -{ - int i; - double *a, *b, *c, *d, *v; + b[0] = 2*h[0]; + for (i = 1; i < (int)n; ++i) + b[i] = 2 * (h[i-1] + h[i]); - /* allocate space for the linear system */ - a = (double*) smalloc(error_ptr, n * sizeof(double), "cubic_spline:a"); - b = (double*) smalloc(error_ptr, n * sizeof(double), "cubic_spline:a"); - c = (double*) smalloc(error_ptr, n * sizeof(double), "cubic_spline:a"); - d = (double*) smalloc(error_ptr, n * sizeof(double), "cubic_spline:a"); - v = (double*) smalloc(error_ptr, n * sizeof(double), "cubic_spline:a"); + c[n-1] = 0; + for (i = 0; i < (int)n-1; ++i) + c[i] = h[i]; - /* build the linear system */ - a[0] = 0; - for (i = 1; i < (int)n; ++i) - a[i] = h[i-1]; + d[0] = 6 * (f[1]-f[0])/h[0] - 6 * v0; + d[n-1] = 6 * vlast - 6 * (f[n-1]-f[n-2]/h[n-2]); + for (i = 1; i < (int)n-1; ++i) + d[i] = 6 * ((f[i+1]-f[i])/h[i] - (f[i]-f[i-1])/h[i-1]); - b[0] = 2*h[0]; - for (i = 1; i < (int)n; ++i) - b[i] = 2 * (h[i-1] + h[i]); + Tridiagonal_Solve(&(a[0]), &(b[0]), &(c[0]), &(d[0]), &(v[0]), n); - c[n-1] = 0; - for (i = 0; i < (int)n-1; ++i) - c[i] = h[i]; + for (i = 1; i < (int)n; ++i) { + coef[i-1].d = (v[i] - v[i-1]) / (6*h[i-1]); + coef[i-1].c = v[i]/2; + coef[i-1].b = (f[i]-f[i-1])/h[i-1] + h[i-1]*(2*v[i] + v[i-1])/6; + coef[i-1].a = f[i]; + } - d[0] = 6 * (f[1]-f[0])/h[0] - 6 * v0; - d[n-1] = 6 * vlast - 6 * (f[n-1]-f[n-2]/h[n-2]); - for (i = 1; i < (int)n-1; ++i) - d[i] = 6 * ((f[i+1]-f[i])/h[i] - (f[i]-f[i-1])/h[i-1]); - - Tridiagonal_Solve( &(a[0]), &(b[0]), &(c[0]), &(d[0]), &(v[0]), n ); - - for (i = 1; i < (int)n; ++i) { - coef[i-1].d = (v[i] - v[i-1]) / (6*h[i-1]); - coef[i-1].c = v[i]/2; - coef[i-1].b = (f[i]-f[i-1])/h[i-1] + h[i-1]*(2*v[i] + v[i-1])/6; - coef[i-1].a = f[i]; + sfree(error_ptr, a, "cubic_spline:a"); + sfree(error_ptr, b, "cubic_spline:b"); + sfree(error_ptr, c, "cubic_spline:c"); + sfree(error_ptr, d, "cubic_spline:d"); + sfree(error_ptr, v, "cubic_spline:v"); } - sfree(error_ptr, a, "cubic_spline:a" ); - sfree(error_ptr, b, "cubic_spline:b" ); - sfree(error_ptr, c, "cubic_spline:c" ); - sfree(error_ptr, d, "cubic_spline:d" ); - sfree(error_ptr, v, "cubic_spline:v" ); -} + void Init_Lookup_Tables(reax_system *system, control_params *control, + storage *workspace, MPI_Comm world) + { + int i, j, r; + int num_atom_types; + int existing_types[REAX_MAX_ATOM_TYPES], aggregated[REAX_MAX_ATOM_TYPES]; + double dr; + double *h, *fh, *fvdw, *fele, *fCEvd, *fCEclmb; + double v0_vdw, v0_ele, vlast_vdw, vlast_ele; + LR_lookup_table ** & LR = system->LR; + /* initializations */ + v0_vdw = 0; + v0_ele = 0; + vlast_vdw = 0; + vlast_ele = 0; -int Init_Lookup_Tables(reax_system *system, control_params *control, - storage *workspace, MPI_Comm world, char * /*msg*/) -{ - int i, j, r; - int num_atom_types; - int existing_types[REAX_MAX_ATOM_TYPES], aggregated[REAX_MAX_ATOM_TYPES]; - double dr; - double *h, *fh, *fvdw, *fele, *fCEvd, *fCEclmb; - double v0_vdw, v0_ele, vlast_vdw, vlast_ele; - LR_lookup_table ** & LR = system->LR; + num_atom_types = system->reax_param.num_atom_types; + dr = control->nonb_cut / control->tabulate; + h = (double*) + smalloc(system->error_ptr, (control->tabulate+2) * sizeof(double), "lookup:h"); + fh = (double*) + smalloc(system->error_ptr, (control->tabulate+2) * sizeof(double), "lookup:fh"); + fvdw = (double*) + smalloc(system->error_ptr, (control->tabulate+2) * sizeof(double), "lookup:fvdw"); + fCEvd = (double*) + smalloc(system->error_ptr, (control->tabulate+2) * sizeof(double), "lookup:fCEvd"); + fele = (double*) + smalloc(system->error_ptr, (control->tabulate+2) * sizeof(double), "lookup:fele"); + fCEclmb = (double*) + smalloc(system->error_ptr, (control->tabulate+2) * sizeof(double), "lookup:fCEclmb"); - /* initializations */ - v0_vdw = 0; - v0_ele = 0; - vlast_vdw = 0; - vlast_ele = 0; + LR = (LR_lookup_table**) + scalloc(system->error_ptr, num_atom_types, sizeof(LR_lookup_table*), "lookup:LR"); + for (i = 0; i < num_atom_types; ++i) + LR[i] = (LR_lookup_table*) + scalloc(system->error_ptr, num_atom_types, sizeof(LR_lookup_table), "lookup:LR[i]"); - num_atom_types = system->reax_param.num_atom_types; - dr = control->nonb_cut / control->tabulate; - h = (double*) - smalloc(system->error_ptr, (control->tabulate+2) * sizeof(double), "lookup:h"); - fh = (double*) - smalloc(system->error_ptr, (control->tabulate+2) * sizeof(double), "lookup:fh"); - fvdw = (double*) - smalloc(system->error_ptr, (control->tabulate+2) * sizeof(double), "lookup:fvdw"); - fCEvd = (double*) - smalloc(system->error_ptr, (control->tabulate+2) * sizeof(double), "lookup:fCEvd"); - fele = (double*) - smalloc(system->error_ptr, (control->tabulate+2) * sizeof(double), "lookup:fele"); - fCEclmb = (double*) - smalloc(system->error_ptr, (control->tabulate+2) * sizeof(double), "lookup:fCEclmb"); + for (i = 0; i < REAX_MAX_ATOM_TYPES; ++i) + existing_types[i] = 0; + for (i = 0; i < system->n; ++i) + existing_types[ system->my_atoms[i].type ] = 1; - LR = (LR_lookup_table**) - scalloc(system->error_ptr, num_atom_types, sizeof(LR_lookup_table*), "lookup:LR"); - for (i = 0; i < num_atom_types; ++i) - LR[i] = (LR_lookup_table*) - scalloc(system->error_ptr, num_atom_types, sizeof(LR_lookup_table), "lookup:LR[i]"); + MPI_Allreduce(existing_types, aggregated, REAX_MAX_ATOM_TYPES, + MPI_INT, MPI_SUM, world); - for (i = 0; i < REAX_MAX_ATOM_TYPES; ++i) - existing_types[i] = 0; - for (i = 0; i < system->n; ++i) - existing_types[ system->my_atoms[i].type ] = 1; + for (i = 0; i < num_atom_types; ++i) { + if (aggregated[i]) { + for (j = i; j < num_atom_types; ++j) { + if (aggregated[j]) { + LR[i][j].xmin = 0; + LR[i][j].xmax = control->nonb_cut; + LR[i][j].n = control->tabulate + 2; + LR[i][j].dx = dr; + LR[i][j].inv_dx = control->tabulate / control->nonb_cut; + LR[i][j].y = (LR_data*) + smalloc(system->error_ptr, LR[i][j].n * sizeof(LR_data), "lookup:LR[i,j].y"); + LR[i][j].H = (cubic_spline_coef*) + smalloc(system->error_ptr, LR[i][j].n*sizeof(cubic_spline_coef),"lookup:LR[i,j].H"); + LR[i][j].vdW = (cubic_spline_coef*) + smalloc(system->error_ptr, LR[i][j].n*sizeof(cubic_spline_coef),"lookup:LR[i,j].vdW"); + LR[i][j].CEvd = (cubic_spline_coef*) + smalloc(system->error_ptr, LR[i][j].n*sizeof(cubic_spline_coef),"lookup:LR[i,j].CEvd"); + LR[i][j].ele = (cubic_spline_coef*) + smalloc(system->error_ptr, LR[i][j].n*sizeof(cubic_spline_coef),"lookup:LR[i,j].ele"); + LR[i][j].CEclmb = (cubic_spline_coef*) + smalloc(system->error_ptr, LR[i][j].n*sizeof(cubic_spline_coef), + "lookup:LR[i,j].CEclmb"); - MPI_Allreduce(existing_types, aggregated, REAX_MAX_ATOM_TYPES, - MPI_INT, MPI_SUM, world); + for (r = 1; r <= control->tabulate; ++r) { + LR_vdW_Coulomb(system, workspace, control, i, j, r * dr, &(LR[i][j].y[r])); + h[r] = LR[i][j].dx; + fh[r] = LR[i][j].y[r].H; + fvdw[r] = LR[i][j].y[r].e_vdW; + fCEvd[r] = LR[i][j].y[r].CEvd; + fele[r] = LR[i][j].y[r].e_ele; + fCEclmb[r] = LR[i][j].y[r].CEclmb; + } - for (i = 0; i < num_atom_types; ++i) { - if (aggregated[i]) { - for (j = i; j < num_atom_types; ++j) { - if (aggregated[j]) { - LR[i][j].xmin = 0; - LR[i][j].xmax = control->nonb_cut; - LR[i][j].n = control->tabulate + 2; - LR[i][j].dx = dr; - LR[i][j].inv_dx = control->tabulate / control->nonb_cut; - LR[i][j].y = (LR_data*) - smalloc(system->error_ptr, LR[i][j].n * sizeof(LR_data), "lookup:LR[i,j].y"); - LR[i][j].H = (cubic_spline_coef*) - smalloc(system->error_ptr, LR[i][j].n*sizeof(cubic_spline_coef),"lookup:LR[i,j].H"); - LR[i][j].vdW = (cubic_spline_coef*) - smalloc(system->error_ptr, LR[i][j].n*sizeof(cubic_spline_coef),"lookup:LR[i,j].vdW"); - LR[i][j].CEvd = (cubic_spline_coef*) - smalloc(system->error_ptr, LR[i][j].n*sizeof(cubic_spline_coef),"lookup:LR[i,j].CEvd"); - LR[i][j].ele = (cubic_spline_coef*) - smalloc(system->error_ptr, LR[i][j].n*sizeof(cubic_spline_coef),"lookup:LR[i,j].ele"); - LR[i][j].CEclmb = (cubic_spline_coef*) - smalloc(system->error_ptr, LR[i][j].n*sizeof(cubic_spline_coef), - "lookup:LR[i,j].CEclmb"); - - for (r = 1; r <= control->tabulate; ++r) { - LR_vdW_Coulomb( system, workspace, control, i, j, r * dr, &(LR[i][j].y[r]) ); + // init the start-end points h[r] = LR[i][j].dx; - fh[r] = LR[i][j].y[r].H; - fvdw[r] = LR[i][j].y[r].e_vdW; - fCEvd[r] = LR[i][j].y[r].CEvd; - fele[r] = LR[i][j].y[r].e_ele; - fCEclmb[r] = LR[i][j].y[r].CEclmb; + v0_vdw = LR[i][j].y[1].CEvd; + v0_ele = LR[i][j].y[1].CEclmb; + fh[r] = fh[r-1]; + fvdw[r] = fvdw[r-1]; + fCEvd[r] = fCEvd[r-1]; + fele[r] = fele[r-1]; + fCEclmb[r] = fCEclmb[r-1]; + vlast_vdw = fCEvd[r-1]; + vlast_ele = fele[r-1]; + + Natural_Cubic_Spline(control->error_ptr, &h[1], &fh[1], + &(LR[i][j].H[1]), control->tabulate+1); + + Complete_Cubic_Spline(control->error_ptr, &h[1], &fvdw[1], v0_vdw, vlast_vdw, + &(LR[i][j].vdW[1]), control->tabulate+1); + + Natural_Cubic_Spline(control->error_ptr, &h[1], &fCEvd[1], + &(LR[i][j].CEvd[1]), control->tabulate+1); + + Complete_Cubic_Spline(control->error_ptr, &h[1], &fele[1], v0_ele, vlast_ele, + &(LR[i][j].ele[1]), control->tabulate+1); + + Natural_Cubic_Spline(control->error_ptr, &h[1], &fCEclmb[1], + &(LR[i][j].CEclmb[1]), control->tabulate+1); + } else { + LR[i][j].n = 0; } - - // init the start-end points - h[r] = LR[i][j].dx; - v0_vdw = LR[i][j].y[1].CEvd; - v0_ele = LR[i][j].y[1].CEclmb; - fh[r] = fh[r-1]; - fvdw[r] = fvdw[r-1]; - fCEvd[r] = fCEvd[r-1]; - fele[r] = fele[r-1]; - fCEclmb[r] = fCEclmb[r-1]; - vlast_vdw = fCEvd[r-1]; - vlast_ele = fele[r-1]; - - Natural_Cubic_Spline( control->error_ptr, &h[1], &fh[1], - &(LR[i][j].H[1]), control->tabulate+1); - - Complete_Cubic_Spline( control->error_ptr, &h[1], &fvdw[1], v0_vdw, vlast_vdw, - &(LR[i][j].vdW[1]), control->tabulate+1); - - Natural_Cubic_Spline( control->error_ptr, &h[1], &fCEvd[1], - &(LR[i][j].CEvd[1]), control->tabulate+1); - - Complete_Cubic_Spline( control->error_ptr, &h[1], &fele[1], v0_ele, vlast_ele, - &(LR[i][j].ele[1]), control->tabulate+1); - - Natural_Cubic_Spline( control->error_ptr, &h[1], &fCEclmb[1], - &(LR[i][j].CEclmb[1]), control->tabulate+1); - } else { - LR[i][j].n = 0; } } } + free(h); + free(fh); + free(fvdw); + free(fCEvd); + free(fele); + free(fCEclmb); } - free(h); - free(fh); - free(fvdw); - free(fCEvd); - free(fele); - free(fCEclmb); - return 1; + void Deallocate_Lookup_Tables(reax_system *system) + { + int i, j; + int ntypes; + LR_lookup_table ** & LR = system->LR; + + ntypes = system->reax_param.num_atom_types; + + for (i = 0; i < ntypes; ++i) { + for (j = i; j < ntypes; ++j) + if (LR[i][j].n) { + sfree(system->error_ptr, LR[i][j].y, "LR[i,j].y"); + sfree(system->error_ptr, LR[i][j].H, "LR[i,j].H"); + sfree(system->error_ptr, LR[i][j].vdW, "LR[i,j].vdW"); + sfree(system->error_ptr, LR[i][j].CEvd, "LR[i,j].CEvd"); + sfree(system->error_ptr, LR[i][j].ele, "LR[i,j].ele"); + sfree(system->error_ptr, LR[i][j].CEclmb, "LR[i,j].CEclmb"); + } + sfree(system->error_ptr, LR[i], "LR[i]"); + } + sfree(system->error_ptr, LR, "LR"); + } } - -void Deallocate_Lookup_Tables( reax_system *system ) -{ - int i, j; - int ntypes; - LR_lookup_table ** & LR = system->LR; - - ntypes = system->reax_param.num_atom_types; - - for (i = 0; i < ntypes; ++i) { - for (j = i; j < ntypes; ++j) - if (LR[i][j].n) { - sfree(system->error_ptr, LR[i][j].y, "LR[i,j].y" ); - sfree(system->error_ptr, LR[i][j].H, "LR[i,j].H" ); - sfree(system->error_ptr, LR[i][j].vdW, "LR[i,j].vdW" ); - sfree(system->error_ptr, LR[i][j].CEvd, "LR[i,j].CEvd" ); - sfree(system->error_ptr, LR[i][j].ele, "LR[i,j].ele" ); - sfree(system->error_ptr, LR[i][j].CEclmb, "LR[i,j].CEclmb" ); - } - sfree(system->error_ptr, LR[i], "LR[i]" ); - } - sfree(system->error_ptr, LR, "LR" ); -} diff --git a/src/USER-REAXC/reaxc_lookup.h b/src/USER-REAXC/reaxc_lookup.h deleted file mode 100644 index 39b0b14ef1..0000000000 --- a/src/USER-REAXC/reaxc_lookup.h +++ /dev/null @@ -1,47 +0,0 @@ -/*---------------------------------------------------------------------- - PuReMD - Purdue ReaxFF Molecular Dynamics Program - - Copyright (2010) Purdue University - Hasan Metin Aktulga, hmaktulga@lbl.gov - Joseph Fogarty, jcfogart@mail.usf.edu - Sagar Pandit, pandit@usf.edu - Ananth Y Grama, ayg@cs.purdue.edu - - Please cite the related publication: - H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama, - "Parallel Reactive Molecular Dynamics: Numerical Methods and - Algorithmic Techniques", Parallel Computing, in press. - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License as - published by the Free Software Foundation; either version 2 of - the License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - See the GNU General Public License for more details: - . - ----------------------------------------------------------------------*/ - -#ifndef __LOOKUP_H_ -#define __LOOKUP_H_ - -#include "reaxc_types.h" -namespace LAMMPS_NS { class Error; } - -void Tridiagonal_Solve( const double *a, const double *b, - double *c, double *d, double *x, unsigned int n); - -void Natural_Cubic_Spline( LAMMPS_NS::Error*, const double *h, const double *f, - cubic_spline_coef *coef, unsigned int n ); - -void Complete_Cubic_Spline( LAMMPS_NS::Error*, const double *h, const double *f, - double v0, double vlast, cubic_spline_coef *coef, - unsigned int n ); - -int Init_Lookup_Tables(reax_system*, control_params*, storage*, MPI_Comm, char* ); - -void Deallocate_Lookup_Tables( reax_system* ); - -#endif diff --git a/src/USER-REAXC/reaxc_multi_body.cpp b/src/USER-REAXC/reaxc_multi_body.cpp index ab66e3352a..f2e629c65c 100644 --- a/src/USER-REAXC/reaxc_multi_body.cpp +++ b/src/USER-REAXC/reaxc_multi_body.cpp @@ -24,17 +24,18 @@ . ----------------------------------------------------------------------*/ -#include "reaxc_multi_body.h" +#include "reaxff_api.h" + +#include "pair.h" + #include #include -#include "pair.h" -#include "reaxc_defs.h" -#include "reaxc_list.h" -void Atom_Energy( reax_system *system, control_params *control, - simulation_data *data, storage *workspace, reax_list **lists, - output_controls * /*out_control*/ ) -{ +namespace ReaxFF { + + void Atom_Energy(reax_system *system, control_params *control, + simulation_data *data, storage *workspace, reax_list **lists) + { int i, j, pj, type_i, type_j; double Delta_lpcorr, dfvl; double e_lp, expvd2, inv_expvd2, dElp, CElp, DlpVi; @@ -67,7 +68,7 @@ void Atom_Energy( reax_system *system, control_params *control, /* set the parameter pointer */ type_i = system->my_atoms[i].type; if (type_i < 0) continue; - sbp_i = &(system->reax_param.sbp[ type_i ]); + sbp_i = &(system->reax_param.sbp[type_i]); /* lone-pair Energy */ p_lp2 = sbp_i->p_lp2; @@ -126,11 +127,10 @@ void Atom_Energy( reax_system *system, control_params *control, } } - for (i = 0; i < system->n; ++i) { type_i = system->my_atoms[i].type; if (type_i < 0) continue; - sbp_i = &(system->reax_param.sbp[ type_i ]); + sbp_i = &(system->reax_param.sbp[type_i]); /* over-coordination energy */ if (sbp_i->mass > 21.0) @@ -144,7 +144,7 @@ void Atom_Energy( reax_system *system, control_params *control, type_j = system->my_atoms[j].type; if (type_j < 0) continue; bo_ij = &(bonds->select.bond_list[pj].bo_data); - twbp = &(system->reax_param.tbp[ type_i ][ type_j ]); + twbp = &(system->reax_param.tbp[type_i][type_j]); sum_ovun1 += twbp->p_ovun1 * twbp->De_s * bo_ij->BO; sum_ovun2 += (workspace->Delta[j] - dfvl*workspace->Delta_lp_temp[j])* @@ -218,10 +218,9 @@ void Atom_Energy( reax_system *system, control_params *control, pbond = &(bonds->select.bond_list[pj]); j = pbond->nbr; bo_ij = &(pbond->bo_data); - twbp = &(system->reax_param.tbp[ system->my_atoms[i].type ] + twbp = &(system->reax_param.tbp[system->my_atoms[i].type] [system->my_atoms[pbond->nbr].type]); - bo_ij->Cdbo += CEover1 * twbp->p_ovun1 * twbp->De_s;// OvCoor-1st workspace->CdDelta[j] += CEover4 * (1.0 - dfvl*workspace->dDelta_lp[j]) * (bo_ij->BO_pi + bo_ij->BO_pi2); // OvCoor-3a @@ -230,15 +229,13 @@ void Atom_Energy( reax_system *system, control_params *control, bo_ij->Cdbopi2 += CEover4 * (workspace->Delta[j] - dfvl*workspace->Delta_lp_temp[j]); // OvCoor-3b - workspace->CdDelta[j] += CEunder4 * (1.0 - dfvl*workspace->dDelta_lp[j]) * (bo_ij->BO_pi + bo_ij->BO_pi2); // UnCoor - 2a bo_ij->Cdbopi += CEunder4 * (workspace->Delta[j] - dfvl*workspace->Delta_lp_temp[j]); // UnCoor-2b bo_ij->Cdbopi2 += CEunder4 * (workspace->Delta[j] - dfvl*workspace->Delta_lp_temp[j]); // UnCoor-2b - } - } } +} diff --git a/src/USER-REAXC/reaxc_multi_body.h b/src/USER-REAXC/reaxc_multi_body.h deleted file mode 100644 index a17c9f484e..0000000000 --- a/src/USER-REAXC/reaxc_multi_body.h +++ /dev/null @@ -1,35 +0,0 @@ -/*---------------------------------------------------------------------- - PuReMD - Purdue ReaxFF Molecular Dynamics Program - - Copyright (2010) Purdue University - Hasan Metin Aktulga, hmaktulga@lbl.gov - Joseph Fogarty, jcfogart@mail.usf.edu - Sagar Pandit, pandit@usf.edu - Ananth Y Grama, ayg@cs.purdue.edu - - Please cite the related publication: - H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama, - "Parallel Reactive Molecular Dynamics: Numerical Methods and - Algorithmic Techniques", Parallel Computing, in press. - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License as - published by the Free Software Foundation; either version 2 of - the License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - See the GNU General Public License for more details: - . - ----------------------------------------------------------------------*/ - -#ifndef __MULTI_BODY_H_ -#define __MULTI_BODY_H_ - -#include "reaxc_types.h" - -void Atom_Energy( reax_system*, control_params*, simulation_data*, - storage*, reax_list**, output_controls* ); - -#endif diff --git a/src/USER-REAXC/reaxc_nonbonded.cpp b/src/USER-REAXC/reaxc_nonbonded.cpp index c5a1f808c5..e4adf6c7b1 100644 --- a/src/USER-REAXC/reaxc_nonbonded.cpp +++ b/src/USER-REAXC/reaxc_nonbonded.cpp @@ -24,403 +24,399 @@ . ----------------------------------------------------------------------*/ -#include "reaxc_nonbonded.h" -#include +#include "reaxff_api.h" + #include "pair.h" -#include "reaxc_defs.h" -#include "reaxc_types.h" -#include "reaxc_list.h" -#include "reaxc_vector.h" -void vdW_Coulomb_Energy( reax_system *system, control_params *control, - simulation_data *data, storage *workspace, - reax_list **lists, output_controls * /*out_control*/ ) -{ - int i, j, pj, natoms; - int start_i, end_i, flag; - rc_tagint orig_i, orig_j; - double p_vdW1, p_vdW1i; - double powr_vdW1, powgi_vdW1; - double tmp, r_ij, fn13, exp1, exp2; - double Tap, dTap, dfn13, CEvd, CEclmb, de_core; - double dr3gamij_1, dr3gamij_3; - double e_ele, e_vdW, e_core, SMALL = 0.0001; - double e_lg, de_lg, r_ij5, r_ij6, re6; - rvec temp; - two_body_parameters *twbp; - far_neighbor_data *nbr_pj; - reax_list *far_nbrs; +#include - // Tallying variables: - double pe_vdw, f_tmp, delij[3]; +namespace ReaxFF { + void Compute_Polarization_Energy(reax_system *system, simulation_data *data) + { + int i, type_i; + double q, en_tmp; - natoms = system->n; - far_nbrs = (*lists) + FAR_NBRS; - p_vdW1 = system->reax_param.gp.l[28]; - p_vdW1i = 1.0 / p_vdW1; - e_core = 0; - e_vdW = 0; - e_lg = de_lg = 0.0; + data->my_en.e_pol = 0.0; + for (i = 0; i < system->n; i++) { + type_i = system->my_atoms[i].type; + if (type_i < 0) continue; + q = system->my_atoms[i].q; - for (i = 0; i < natoms; ++i) { - if (system->my_atoms[i].type < 0) continue; - start_i = Start_Index(i, far_nbrs); - end_i = End_Index(i, far_nbrs); - orig_i = system->my_atoms[i].orig_id; - - for (pj = start_i; pj < end_i; ++pj) { - nbr_pj = &(far_nbrs->select.far_nbr_list[pj]); - j = nbr_pj->nbr; - if (system->my_atoms[j].type < 0) continue; - orig_j = system->my_atoms[j].orig_id; - - flag = 0; - if (nbr_pj->d <= control->nonb_cut) { - if (j < natoms) flag = 1; - else if (orig_i < orig_j) flag = 1; - else if (orig_i == orig_j) { - if (nbr_pj->dvec[2] > SMALL) flag = 1; - else if (fabs(nbr_pj->dvec[2]) < SMALL) { - if (nbr_pj->dvec[1] > SMALL) flag = 1; - else if (fabs(nbr_pj->dvec[1]) < SMALL && nbr_pj->dvec[0] > SMALL) - flag = 1; - } - } - } - - if (flag) { - - r_ij = nbr_pj->d; - twbp = &(system->reax_param.tbp[ system->my_atoms[i].type ] - [ system->my_atoms[j].type ]); - - Tap = workspace->Tap[7] * r_ij + workspace->Tap[6]; - Tap = Tap * r_ij + workspace->Tap[5]; - Tap = Tap * r_ij + workspace->Tap[4]; - Tap = Tap * r_ij + workspace->Tap[3]; - Tap = Tap * r_ij + workspace->Tap[2]; - Tap = Tap * r_ij + workspace->Tap[1]; - Tap = Tap * r_ij + workspace->Tap[0]; - - dTap = 7*workspace->Tap[7] * r_ij + 6*workspace->Tap[6]; - dTap = dTap * r_ij + 5*workspace->Tap[5]; - dTap = dTap * r_ij + 4*workspace->Tap[4]; - dTap = dTap * r_ij + 3*workspace->Tap[3]; - dTap = dTap * r_ij + 2*workspace->Tap[2]; - dTap += workspace->Tap[1]/r_ij; - - /*vdWaals Calculations*/ - if (system->reax_param.gp.vdw_type==1 || system->reax_param.gp.vdw_type==3) - { // shielding - powr_vdW1 = pow(r_ij, p_vdW1); - powgi_vdW1 = pow( 1.0 / twbp->gamma_w, p_vdW1); - - fn13 = pow( powr_vdW1 + powgi_vdW1, p_vdW1i ); - exp1 = exp( twbp->alpha * (1.0 - fn13 / twbp->r_vdW) ); - exp2 = exp( 0.5 * twbp->alpha * (1.0 - fn13 / twbp->r_vdW) ); - - e_vdW = twbp->D * (exp1 - 2.0 * exp2); - data->my_en.e_vdW += Tap * e_vdW; - - dfn13 = pow( powr_vdW1 + powgi_vdW1, p_vdW1i - 1.0) * - pow(r_ij, p_vdW1 - 2.0); - - CEvd = dTap * e_vdW - - Tap * twbp->D * (twbp->alpha / twbp->r_vdW) * (exp1 - exp2) * dfn13; - } - else { // no shielding - exp1 = exp( twbp->alpha * (1.0 - r_ij / twbp->r_vdW) ); - exp2 = exp( 0.5 * twbp->alpha * (1.0 - r_ij / twbp->r_vdW) ); - - e_vdW = twbp->D * (exp1 - 2.0 * exp2); - data->my_en.e_vdW += Tap * e_vdW; - - CEvd = dTap * e_vdW - - Tap * twbp->D * (twbp->alpha / twbp->r_vdW) * (exp1 - exp2) / r_ij; - } - - if (system->reax_param.gp.vdw_type==2 || system->reax_param.gp.vdw_type==3) - { // inner wall - e_core = twbp->ecore * exp(twbp->acore * (1.0-(r_ij/twbp->rcore))); - data->my_en.e_vdW += Tap * e_core; - - de_core = -(twbp->acore/twbp->rcore) * e_core; - CEvd += dTap * e_core + Tap * de_core / r_ij; - - // lg correction, only if lgvdw is yes - if (control->lgflag) { - r_ij5 = pow( r_ij, 5.0 ); - r_ij6 = pow( r_ij, 6.0 ); - re6 = pow( twbp->lgre, 6.0 ); - e_lg = -(twbp->lgcij/( r_ij6 + re6 )); - data->my_en.e_vdW += Tap * e_lg; - - de_lg = -6.0 * e_lg * r_ij5 / ( r_ij6 + re6 ) ; - CEvd += dTap * e_lg + Tap * de_lg / r_ij; - } - - } - - /*Coulomb Calculations*/ - dr3gamij_1 = ( r_ij * r_ij * r_ij + twbp->gamma ); - dr3gamij_3 = pow( dr3gamij_1 , 0.33333333333333 ); - - tmp = Tap / dr3gamij_3; - data->my_en.e_ele += e_ele = - C_ele * system->my_atoms[i].q * system->my_atoms[j].q * tmp; - - CEclmb = C_ele * system->my_atoms[i].q * system->my_atoms[j].q * - ( dTap - Tap * r_ij / dr3gamij_1 ) / dr3gamij_3; + en_tmp = KCALpMOL_to_EV * (system->reax_param.sbp[type_i].chi * q + + (system->reax_param.sbp[type_i].eta / 2.) * SQR(q)); + data->my_en.e_pol += en_tmp; /* tally into per-atom energy */ - if (system->pair_ptr->evflag || system->pair_ptr->vflag_atom) { - pe_vdw = Tap * (e_vdW + e_core + e_lg); - rvec_ScaledSum( delij, 1., system->my_atoms[i].x, - -1., system->my_atoms[j].x ); - f_tmp = -(CEvd + CEclmb); - system->pair_ptr->ev_tally(i,j,natoms,1,pe_vdw,e_ele, - f_tmp,delij[0],delij[1],delij[2]); - } - - if (control->virial == 0) { - rvec_ScaledAdd( workspace->f[i], -(CEvd + CEclmb), nbr_pj->dvec ); - rvec_ScaledAdd( workspace->f[j], +(CEvd + CEclmb), nbr_pj->dvec ); - } else { /* NPT, iNPT or sNPT */ - rvec_Scale( temp, CEvd + CEclmb, nbr_pj->dvec ); - - rvec_ScaledAdd( workspace->f[i], -1., temp ); - rvec_Add( workspace->f[j], temp ); - } - } + if (system->pair_ptr->evflag) + system->pair_ptr->ev_tally(i,i,system->n,1,0.0,en_tmp,0.0,0.0,0.0,0.0); } } - Compute_Polarization_Energy( system, data ); -} + void vdW_Coulomb_Energy(reax_system *system, control_params *control, + simulation_data *data, storage *workspace, + reax_list **lists) + { + int i, j, pj, natoms; + int start_i, end_i, flag; + rc_tagint orig_i, orig_j; + double p_vdW1, p_vdW1i; + double powr_vdW1, powgi_vdW1; + double tmp, r_ij, fn13, exp1, exp2; + double Tap, dTap, dfn13, CEvd, CEclmb, de_core; + double dr3gamij_1, dr3gamij_3; + double e_ele, e_vdW, e_core, SMALL = 0.0001; + double e_lg, de_lg, r_ij5, r_ij6, re6; + rvec temp; + two_body_parameters *twbp; + far_neighbor_data *nbr_pj; + reax_list *far_nbrs; + // Tallying variables: + double pe_vdw, f_tmp, delij[3]; + natoms = system->n; + far_nbrs = (*lists) + FAR_NBRS; + p_vdW1 = system->reax_param.gp.l[28]; + p_vdW1i = 1.0 / p_vdW1; + e_core = 0; + e_vdW = 0; + e_lg = de_lg = 0.0; -void Tabulated_vdW_Coulomb_Energy( reax_system *system,control_params *control, - simulation_data *data, storage *workspace, - reax_list **lists, - output_controls * /*out_control*/ ) -{ - int i, j, pj, r, natoms; - int type_i, type_j, tmin, tmax; - int start_i, end_i, flag; - rc_tagint orig_i, orig_j; - double r_ij, base, dif; - double e_vdW, e_ele; - double CEvd, CEclmb, SMALL = 0.0001; - double f_tmp, delij[3]; + for (i = 0; i < natoms; ++i) { + if (system->my_atoms[i].type < 0) continue; + start_i = Start_Index(i, far_nbrs); + end_i = End_Index(i, far_nbrs); + orig_i = system->my_atoms[i].orig_id; - rvec temp; - far_neighbor_data *nbr_pj; - reax_list *far_nbrs; - LR_lookup_table *t; - LR_lookup_table ** & LR = system->LR; + for (pj = start_i; pj < end_i; ++pj) { + nbr_pj = &(far_nbrs->select.far_nbr_list[pj]); + j = nbr_pj->nbr; + if (system->my_atoms[j].type < 0) continue; + orig_j = system->my_atoms[j].orig_id; - natoms = system->n; - far_nbrs = (*lists) + FAR_NBRS; + flag = 0; + if (nbr_pj->d <= control->nonb_cut) { + if (j < natoms) flag = 1; + else if (orig_i < orig_j) flag = 1; + else if (orig_i == orig_j) { + if (nbr_pj->dvec[2] > SMALL) flag = 1; + else if (fabs(nbr_pj->dvec[2]) < SMALL) { + if (nbr_pj->dvec[1] > SMALL) flag = 1; + else if (fabs(nbr_pj->dvec[1]) < SMALL && nbr_pj->dvec[0] > SMALL) + flag = 1; + } + } + } - e_ele = e_vdW = 0; + if (flag) { - for (i = 0; i < natoms; ++i) { - type_i = system->my_atoms[i].type; - if (type_i < 0) continue; - start_i = Start_Index(i,far_nbrs); - end_i = End_Index(i,far_nbrs); - orig_i = system->my_atoms[i].orig_id; + r_ij = nbr_pj->d; + twbp = &(system->reax_param.tbp[ system->my_atoms[i].type ] + [ system->my_atoms[j].type ]); - for (pj = start_i; pj < end_i; ++pj) { - nbr_pj = &(far_nbrs->select.far_nbr_list[pj]); - j = nbr_pj->nbr; - type_j = system->my_atoms[j].type; - if (type_j < 0) continue; - orig_j = system->my_atoms[j].orig_id; + Tap = workspace->Tap[7] * r_ij + workspace->Tap[6]; + Tap = Tap * r_ij + workspace->Tap[5]; + Tap = Tap * r_ij + workspace->Tap[4]; + Tap = Tap * r_ij + workspace->Tap[3]; + Tap = Tap * r_ij + workspace->Tap[2]; + Tap = Tap * r_ij + workspace->Tap[1]; + Tap = Tap * r_ij + workspace->Tap[0]; - flag = 0; - if (nbr_pj->d <= control->nonb_cut) { - if (j < natoms) flag = 1; - else if (orig_i < orig_j) flag = 1; - else if (orig_i == orig_j) { - if (nbr_pj->dvec[2] > SMALL) flag = 1; - else if (fabs(nbr_pj->dvec[2]) < SMALL) { - if (nbr_pj->dvec[1] > SMALL) flag = 1; - else if (fabs(nbr_pj->dvec[1]) < SMALL && nbr_pj->dvec[0] > SMALL) - flag = 1; + dTap = 7*workspace->Tap[7] * r_ij + 6*workspace->Tap[6]; + dTap = dTap * r_ij + 5*workspace->Tap[5]; + dTap = dTap * r_ij + 4*workspace->Tap[4]; + dTap = dTap * r_ij + 3*workspace->Tap[3]; + dTap = dTap * r_ij + 2*workspace->Tap[2]; + dTap += workspace->Tap[1]/r_ij; + + /*vdWaals Calculations*/ + if (system->reax_param.gp.vdw_type==1 || system->reax_param.gp.vdw_type==3) + { // shielding + powr_vdW1 = pow(r_ij, p_vdW1); + powgi_vdW1 = pow(1.0 / twbp->gamma_w, p_vdW1); + + fn13 = pow(powr_vdW1 + powgi_vdW1, p_vdW1i); + exp1 = exp(twbp->alpha * (1.0 - fn13 / twbp->r_vdW)); + exp2 = exp(0.5 * twbp->alpha * (1.0 - fn13 / twbp->r_vdW)); + + e_vdW = twbp->D * (exp1 - 2.0 * exp2); + data->my_en.e_vdW += Tap * e_vdW; + + dfn13 = pow(powr_vdW1 + powgi_vdW1, p_vdW1i - 1.0) * + pow(r_ij, p_vdW1 - 2.0); + + CEvd = dTap * e_vdW - + Tap * twbp->D * (twbp->alpha / twbp->r_vdW) * (exp1 - exp2) * dfn13; + } else { // no shielding + exp1 = exp(twbp->alpha * (1.0 - r_ij / twbp->r_vdW)); + exp2 = exp(0.5 * twbp->alpha * (1.0 - r_ij / twbp->r_vdW)); + + e_vdW = twbp->D * (exp1 - 2.0 * exp2); + data->my_en.e_vdW += Tap * e_vdW; + + CEvd = dTap * e_vdW - + Tap * twbp->D * (twbp->alpha / twbp->r_vdW) * (exp1 - exp2) / r_ij; + } + + if (system->reax_param.gp.vdw_type==2 || system->reax_param.gp.vdw_type==3) + { // inner wall + e_core = twbp->ecore * exp(twbp->acore * (1.0-(r_ij/twbp->rcore))); + data->my_en.e_vdW += Tap * e_core; + + de_core = -(twbp->acore/twbp->rcore) * e_core; + CEvd += dTap * e_core + Tap * de_core / r_ij; + + // lg correction, only if lgvdw is yes + if (control->lgflag) { + r_ij5 = pow(r_ij, 5.0); + r_ij6 = pow(r_ij, 6.0); + re6 = pow(twbp->lgre, 6.0); + e_lg = -(twbp->lgcij/(r_ij6 + re6)); + data->my_en.e_vdW += Tap * e_lg; + + de_lg = -6.0 * e_lg * r_ij5 / (r_ij6 + re6) ; + CEvd += dTap * e_lg + Tap * de_lg / r_ij; + } + + } + + /*Coulomb Calculations*/ + dr3gamij_1 = (r_ij * r_ij * r_ij + twbp->gamma); + dr3gamij_3 = pow(dr3gamij_1 , 0.33333333333333); + + tmp = Tap / dr3gamij_3; + data->my_en.e_ele += e_ele = + C_ele * system->my_atoms[i].q * system->my_atoms[j].q * tmp; + + CEclmb = C_ele * system->my_atoms[i].q * system->my_atoms[j].q * + (dTap - Tap * r_ij / dr3gamij_1) / dr3gamij_3; + + /* tally into per-atom energy */ + if (system->pair_ptr->evflag || system->pair_ptr->vflag_atom) { + pe_vdw = Tap * (e_vdW + e_core + e_lg); + rvec_ScaledSum(delij, 1., system->my_atoms[i].x, + -1., system->my_atoms[j].x); + f_tmp = -(CEvd + CEclmb); + system->pair_ptr->ev_tally(i,j,natoms,1,pe_vdw,e_ele, + f_tmp,delij[0],delij[1],delij[2]); + } + + if (control->virial == 0) { + rvec_ScaledAdd(workspace->f[i], -(CEvd + CEclmb), nbr_pj->dvec); + rvec_ScaledAdd(workspace->f[j], +(CEvd + CEclmb), nbr_pj->dvec); + } else { /* NPT, iNPT or sNPT */ + rvec_Scale(temp, CEvd + CEclmb, nbr_pj->dvec); + + rvec_ScaledAdd(workspace->f[i], -1., temp); + rvec_Add(workspace->f[j], temp); } } } + } - if (flag) { + Compute_Polarization_Energy(system, data); + } - r_ij = nbr_pj->d; - tmin = MIN( type_i, type_j ); - tmax = MAX( type_i, type_j ); - t = &( LR[tmin][tmax] ); + void Tabulated_vdW_Coulomb_Energy(reax_system *system, control_params *control, + simulation_data *data, storage *workspace, + reax_list **lists) + { + int i, j, pj, r, natoms; + int type_i, type_j, tmin, tmax; + int start_i, end_i, flag; + rc_tagint orig_i, orig_j; + double r_ij, base, dif; + double e_vdW, e_ele; + double CEvd, CEclmb, SMALL = 0.0001; + double f_tmp, delij[3]; - /* Cubic Spline Interpolation */ - r = (int)(r_ij * t->inv_dx); - if (r == 0) ++r; - base = (double)(r+1) * t->dx; - dif = r_ij - base; + rvec temp; + far_neighbor_data *nbr_pj; + reax_list *far_nbrs; + LR_lookup_table *t; + LR_lookup_table ** & LR = system->LR; - e_vdW = ((t->vdW[r].d*dif + t->vdW[r].c)*dif + t->vdW[r].b)*dif + - t->vdW[r].a; + natoms = system->n; + far_nbrs = (*lists) + FAR_NBRS; - e_ele = ((t->ele[r].d*dif + t->ele[r].c)*dif + t->ele[r].b)*dif + - t->ele[r].a; - e_ele *= system->my_atoms[i].q * system->my_atoms[j].q; + e_ele = e_vdW = 0; - data->my_en.e_vdW += e_vdW; - data->my_en.e_ele += e_ele; + for (i = 0; i < natoms; ++i) { + type_i = system->my_atoms[i].type; + if (type_i < 0) continue; + start_i = Start_Index(i,far_nbrs); + end_i = End_Index(i,far_nbrs); + orig_i = system->my_atoms[i].orig_id; - CEvd = ((t->CEvd[r].d*dif + t->CEvd[r].c)*dif + t->CEvd[r].b)*dif + - t->CEvd[r].a; + for (pj = start_i; pj < end_i; ++pj) { + nbr_pj = &(far_nbrs->select.far_nbr_list[pj]); + j = nbr_pj->nbr; + type_j = system->my_atoms[j].type; + if (type_j < 0) continue; + orig_j = system->my_atoms[j].orig_id; - CEclmb = ((t->CEclmb[r].d*dif+t->CEclmb[r].c)*dif+t->CEclmb[r].b)*dif + - t->CEclmb[r].a; - CEclmb *= system->my_atoms[i].q * system->my_atoms[j].q; + flag = 0; + if (nbr_pj->d <= control->nonb_cut) { + if (j < natoms) flag = 1; + else if (orig_i < orig_j) flag = 1; + else if (orig_i == orig_j) { + if (nbr_pj->dvec[2] > SMALL) flag = 1; + else if (fabs(nbr_pj->dvec[2]) < SMALL) { + if (nbr_pj->dvec[1] > SMALL) flag = 1; + else if (fabs(nbr_pj->dvec[1]) < SMALL && nbr_pj->dvec[0] > SMALL) + flag = 1; + } + } + } - /* tally into per-atom energy */ - if (system->pair_ptr->evflag || system->pair_ptr->vflag_atom) { - rvec_ScaledSum( delij, 1., system->my_atoms[i].x, - -1., system->my_atoms[j].x ); - f_tmp = -(CEvd + CEclmb); - system->pair_ptr->ev_tally(i,j,natoms,1,e_vdW,e_ele, - f_tmp,delij[0],delij[1],delij[2]); - } + if (flag) { - if (control->virial == 0) { - rvec_ScaledAdd( workspace->f[i], -(CEvd + CEclmb), nbr_pj->dvec ); - rvec_ScaledAdd( workspace->f[j], +(CEvd + CEclmb), nbr_pj->dvec ); - } else { // NPT, iNPT or sNPT - rvec_Scale( temp, CEvd + CEclmb, nbr_pj->dvec ); + r_ij = nbr_pj->d; + tmin = MIN(type_i, type_j); + tmax = MAX(type_i, type_j); + t = &(LR[tmin][tmax]); - rvec_ScaledAdd( workspace->f[i], -1., temp ); - rvec_Add( workspace->f[j], temp ); - } + /* Cubic Spline Interpolation */ + r = (int)(r_ij * t->inv_dx); + if (r == 0) ++r; + base = (double)(r+1) * t->dx; + dif = r_ij - base; + + e_vdW = ((t->vdW[r].d*dif + t->vdW[r].c)*dif + t->vdW[r].b)*dif + + t->vdW[r].a; + + e_ele = ((t->ele[r].d*dif + t->ele[r].c)*dif + t->ele[r].b)*dif + + t->ele[r].a; + e_ele *= system->my_atoms[i].q * system->my_atoms[j].q; + + data->my_en.e_vdW += e_vdW; + data->my_en.e_ele += e_ele; + + CEvd = ((t->CEvd[r].d*dif + t->CEvd[r].c)*dif + t->CEvd[r].b)*dif + + t->CEvd[r].a; + + CEclmb = ((t->CEclmb[r].d*dif+t->CEclmb[r].c)*dif+t->CEclmb[r].b)*dif + + t->CEclmb[r].a; + CEclmb *= system->my_atoms[i].q * system->my_atoms[j].q; + + /* tally into per-atom energy */ + if (system->pair_ptr->evflag || system->pair_ptr->vflag_atom) { + rvec_ScaledSum(delij, 1., system->my_atoms[i].x, + -1., system->my_atoms[j].x); + f_tmp = -(CEvd + CEclmb); + system->pair_ptr->ev_tally(i,j,natoms,1,e_vdW,e_ele, + f_tmp,delij[0],delij[1],delij[2]); + } + + if (control->virial == 0) { + rvec_ScaledAdd(workspace->f[i], -(CEvd + CEclmb), nbr_pj->dvec); + rvec_ScaledAdd(workspace->f[j], +(CEvd + CEclmb), nbr_pj->dvec); + } else { // NPT, iNPT or sNPT + rvec_Scale(temp, CEvd + CEclmb, nbr_pj->dvec); + + rvec_ScaledAdd(workspace->f[i], -1., temp); + rvec_Add(workspace->f[j], temp); + } + } } } + + Compute_Polarization_Energy(system, data); } - Compute_Polarization_Energy( system, data ); -} + void LR_vdW_Coulomb(reax_system *system, storage *workspace, + control_params *control, int i, int j, + double r_ij, LR_data *lr) + { + double p_vdW1 = system->reax_param.gp.l[28]; + double p_vdW1i = 1.0 / p_vdW1; + double powr_vdW1, powgi_vdW1; + double tmp, fn13, exp1, exp2; + double Tap, dTap, dfn13; + double dr3gamij_1, dr3gamij_3; + double e_core, de_core; + double e_lg, de_lg, r_ij5, r_ij6, re6; + two_body_parameters *twbp; + twbp = &(system->reax_param.tbp[i][j]); + e_core = 0; + de_core = 0; + e_lg = de_lg = 0.0; + /* calculate taper and its derivative */ + Tap = workspace->Tap[7] * r_ij + workspace->Tap[6]; + Tap = Tap * r_ij + workspace->Tap[5]; + Tap = Tap * r_ij + workspace->Tap[4]; + Tap = Tap * r_ij + workspace->Tap[3]; + Tap = Tap * r_ij + workspace->Tap[2]; + Tap = Tap * r_ij + workspace->Tap[1]; + Tap = Tap * r_ij + workspace->Tap[0]; -void Compute_Polarization_Energy( reax_system *system, simulation_data *data ) -{ - int i, type_i; - double q, en_tmp; + dTap = 7*workspace->Tap[7] * r_ij + 6*workspace->Tap[6]; + dTap = dTap * r_ij + 5*workspace->Tap[5]; + dTap = dTap * r_ij + 4*workspace->Tap[4]; + dTap = dTap * r_ij + 3*workspace->Tap[3]; + dTap = dTap * r_ij + 2*workspace->Tap[2]; + dTap += workspace->Tap[1]/r_ij; - data->my_en.e_pol = 0.0; - for (i = 0; i < system->n; i++) { - type_i = system->my_atoms[i].type; - if (type_i < 0) continue; - q = system->my_atoms[i].q; + /*vdWaals Calculations*/ + if (system->reax_param.gp.vdw_type==1 || system->reax_param.gp.vdw_type==3) + { // shielding + powr_vdW1 = pow(r_ij, p_vdW1); + powgi_vdW1 = pow(1.0 / twbp->gamma_w, p_vdW1); - en_tmp = KCALpMOL_to_EV * (system->reax_param.sbp[type_i].chi * q + - (system->reax_param.sbp[type_i].eta / 2.) * SQR(q)); - data->my_en.e_pol += en_tmp; + fn13 = pow(powr_vdW1 + powgi_vdW1, p_vdW1i); + exp1 = exp(twbp->alpha * (1.0 - fn13 / twbp->r_vdW)); + exp2 = exp(0.5 * twbp->alpha * (1.0 - fn13 / twbp->r_vdW)); - /* tally into per-atom energy */ - if (system->pair_ptr->evflag) - system->pair_ptr->ev_tally(i,i,system->n,1,0.0,en_tmp,0.0,0.0,0.0,0.0); - } -} + lr->e_vdW = Tap * twbp->D * (exp1 - 2.0 * exp2); -void LR_vdW_Coulomb( reax_system *system, storage *workspace, - control_params *control, int i, int j, double r_ij, LR_data *lr ) -{ - double p_vdW1 = system->reax_param.gp.l[28]; - double p_vdW1i = 1.0 / p_vdW1; - double powr_vdW1, powgi_vdW1; - double tmp, fn13, exp1, exp2; - double Tap, dTap, dfn13; - double dr3gamij_1, dr3gamij_3; - double e_core, de_core; - double e_lg, de_lg, r_ij5, r_ij6, re6; - two_body_parameters *twbp; + dfn13 = pow(powr_vdW1 + powgi_vdW1, p_vdW1i-1.0) * pow(r_ij, p_vdW1-2.0); - twbp = &(system->reax_param.tbp[i][j]); - e_core = 0; - de_core = 0; - e_lg = de_lg = 0.0; - - /* calculate taper and its derivative */ - Tap = workspace->Tap[7] * r_ij + workspace->Tap[6]; - Tap = Tap * r_ij + workspace->Tap[5]; - Tap = Tap * r_ij + workspace->Tap[4]; - Tap = Tap * r_ij + workspace->Tap[3]; - Tap = Tap * r_ij + workspace->Tap[2]; - Tap = Tap * r_ij + workspace->Tap[1]; - Tap = Tap * r_ij + workspace->Tap[0]; - - dTap = 7*workspace->Tap[7] * r_ij + 6*workspace->Tap[6]; - dTap = dTap * r_ij + 5*workspace->Tap[5]; - dTap = dTap * r_ij + 4*workspace->Tap[4]; - dTap = dTap * r_ij + 3*workspace->Tap[3]; - dTap = dTap * r_ij + 2*workspace->Tap[2]; - dTap += workspace->Tap[1]/r_ij; - - /*vdWaals Calculations*/ - if (system->reax_param.gp.vdw_type==1 || system->reax_param.gp.vdw_type==3) - { // shielding - powr_vdW1 = pow(r_ij, p_vdW1); - powgi_vdW1 = pow( 1.0 / twbp->gamma_w, p_vdW1); - - fn13 = pow( powr_vdW1 + powgi_vdW1, p_vdW1i ); - exp1 = exp( twbp->alpha * (1.0 - fn13 / twbp->r_vdW) ); - exp2 = exp( 0.5 * twbp->alpha * (1.0 - fn13 / twbp->r_vdW) ); + lr->CEvd = dTap * twbp->D * (exp1 - 2.0 * exp2) - + Tap * twbp->D * (twbp->alpha / twbp->r_vdW) * (exp1 - exp2) * dfn13; + } + else { // no shielding + exp1 = exp(twbp->alpha * (1.0 - r_ij / twbp->r_vdW)); + exp2 = exp(0.5 * twbp->alpha * (1.0 - r_ij / twbp->r_vdW)); lr->e_vdW = Tap * twbp->D * (exp1 - 2.0 * exp2); - - dfn13 = pow( powr_vdW1 + powgi_vdW1, p_vdW1i-1.0) * pow(r_ij, p_vdW1-2.0); - lr->CEvd = dTap * twbp->D * (exp1 - 2.0 * exp2) - - Tap * twbp->D * (twbp->alpha / twbp->r_vdW) * (exp1 - exp2) * dfn13; + Tap * twbp->D * (twbp->alpha / twbp->r_vdW) * (exp1 - exp2) / r_ij; } - else { // no shielding - exp1 = exp( twbp->alpha * (1.0 - r_ij / twbp->r_vdW) ); - exp2 = exp( 0.5 * twbp->alpha * (1.0 - r_ij / twbp->r_vdW) ); - lr->e_vdW = Tap * twbp->D * (exp1 - 2.0 * exp2); - lr->CEvd = dTap * twbp->D * (exp1 - 2.0 * exp2) - - Tap * twbp->D * (twbp->alpha / twbp->r_vdW) * (exp1 - exp2) / r_ij; - } + if (system->reax_param.gp.vdw_type==2 || system->reax_param.gp.vdw_type==3) + { // inner wall + e_core = twbp->ecore * exp(twbp->acore * (1.0-(r_ij/twbp->rcore))); + lr->e_vdW += Tap * e_core; - if (system->reax_param.gp.vdw_type==2 || system->reax_param.gp.vdw_type==3) - { // inner wall - e_core = twbp->ecore * exp(twbp->acore * (1.0-(r_ij/twbp->rcore))); - lr->e_vdW += Tap * e_core; + de_core = -(twbp->acore/twbp->rcore) * e_core; + lr->CEvd += dTap * e_core + Tap * de_core / r_ij; - de_core = -(twbp->acore/twbp->rcore) * e_core; - lr->CEvd += dTap * e_core + Tap * de_core / r_ij; + // lg correction, only if lgvdw is yes + if (control->lgflag) { + r_ij5 = pow(r_ij, 5.0); + r_ij6 = pow(r_ij, 6.0); + re6 = pow(twbp->lgre, 6.0); + e_lg = -(twbp->lgcij/(r_ij6 + re6)); + lr->e_vdW += Tap * e_lg; - // lg correction, only if lgvdw is yes - if (control->lgflag) { - r_ij5 = pow( r_ij, 5.0 ); - r_ij6 = pow( r_ij, 6.0 ); - re6 = pow( twbp->lgre, 6.0 ); - e_lg = -(twbp->lgcij/( r_ij6 + re6 )); - lr->e_vdW += Tap * e_lg; + de_lg = -6.0 * e_lg * r_ij5 / (r_ij6 + re6) ; + lr->CEvd += dTap * e_lg + Tap * de_lg/r_ij; + } - de_lg = -6.0 * e_lg * r_ij5 / ( r_ij6 + re6 ) ; - lr->CEvd += dTap * e_lg + Tap * de_lg/r_ij; } - } + /* Coulomb calculations */ + dr3gamij_1 = (r_ij * r_ij * r_ij + twbp->gamma); + dr3gamij_3 = pow(dr3gamij_1 , 0.33333333333333); - /* Coulomb calculations */ - dr3gamij_1 = ( r_ij * r_ij * r_ij + twbp->gamma ); - dr3gamij_3 = pow( dr3gamij_1 , 0.33333333333333 ); + tmp = Tap / dr3gamij_3; + lr->H = EV_to_KCALpMOL * tmp; + lr->e_ele = C_ele * tmp; - tmp = Tap / dr3gamij_3; - lr->H = EV_to_KCALpMOL * tmp; - lr->e_ele = C_ele * tmp; - - lr->CEclmb = C_ele * ( dTap - Tap * r_ij / dr3gamij_1 ) / dr3gamij_3; + lr->CEclmb = C_ele * (dTap - Tap * r_ij / dr3gamij_1) / dr3gamij_3; + } } + diff --git a/src/USER-REAXC/reaxc_nonbonded.h b/src/USER-REAXC/reaxc_nonbonded.h deleted file mode 100644 index 9a29d4d8c1..0000000000 --- a/src/USER-REAXC/reaxc_nonbonded.h +++ /dev/null @@ -1,43 +0,0 @@ -/*---------------------------------------------------------------------- - PuReMD - Purdue ReaxFF Molecular Dynamics Program - - Copyright (2010) Purdue University - Hasan Metin Aktulga, hmaktulga@lbl.gov - Joseph Fogarty, jcfogart@mail.usf.edu - Sagar Pandit, pandit@usf.edu - Ananth Y Grama, ayg@cs.purdue.edu - - Please cite the related publication: - H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama, - "Parallel Reactive Molecular Dynamics: Numerical Methods and - Algorithmic Techniques", Parallel Computing, in press. - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License as - published by the Free Software Foundation; either version 2 of - the License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - See the GNU General Public License for more details: - . - ----------------------------------------------------------------------*/ - -#ifndef __NONBONDED_H_ -#define __NONBONDED_H_ - -#include "reaxc_types.h" - -void vdW_Coulomb_Energy( reax_system*, control_params*, simulation_data*, - storage*, reax_list**, output_controls* ); - -void Tabulated_vdW_Coulomb_Energy( reax_system*, control_params*, - simulation_data*, storage*, - reax_list**, output_controls* ); - -void Compute_Polarization_Energy( reax_system*, simulation_data* ); - -void LR_vdW_Coulomb( reax_system*, storage*, control_params*, - int, int, double, LR_data* ); -#endif diff --git a/src/USER-REAXC/reaxc_reset_tools.cpp b/src/USER-REAXC/reaxc_reset_tools.cpp index 5d3053fb37..a2276023a4 100644 --- a/src/USER-REAXC/reaxc_reset_tools.cpp +++ b/src/USER-REAXC/reaxc_reset_tools.cpp @@ -24,129 +24,124 @@ . ----------------------------------------------------------------------*/ -#include "reaxc_reset_tools.h" -#include "reaxc_defs.h" -#include "reaxc_list.h" -#include "reaxc_tool_box.h" -#include "reaxc_vector.h" +#include "reaxff_api.h" #include "error.h" #include #include -void Reset_Atoms( reax_system* system, control_params *control ) -{ - int i; - reax_atom *atom; +namespace ReaxFF { + + static void Reset_Atoms(reax_system* system, control_params *control) + { + int i; + reax_atom *atom; - system->numH = 0; - if (control->hbond_cut > 0) - for (i = 0; i < system->n; ++i) { - atom = &(system->my_atoms[i]); - if (atom->type < 0) continue; - if (system->reax_param.sbp[ atom->type ].p_hbond == 1) - atom->Hindex = system->numH++; - else atom->Hindex = -1; - } -} - - -void Reset_Energies( energy_data *en ) -{ - en->e_bond = 0; - en->e_ov = 0; - en->e_un = 0; - en->e_lp = 0; - en->e_ang = 0; - en->e_pen = 0; - en->e_coa = 0; - en->e_hb = 0; - en->e_tor = 0; - en->e_con = 0; - en->e_vdW = 0; - en->e_ele = 0; - en->e_pol = 0; -} - -void Reset_Simulation_Data( simulation_data* data, int /*virial*/ ) -{ - Reset_Energies( &data->my_en ); - Reset_Energies( &data->sys_en ); -} - -void Reset_Workspace( reax_system *system, storage *workspace ) -{ - memset( workspace->total_bond_order, 0, system->total_cap * sizeof( double ) ); - memset( workspace->dDeltap_self, 0, system->total_cap * sizeof( rvec ) ); - memset( workspace->CdDelta, 0, system->total_cap * sizeof( double ) ); - memset( workspace->f, 0, system->total_cap * sizeof( rvec ) ); - -} - -void Reset_Neighbor_Lists( reax_system *system, control_params *control, - storage *workspace, reax_list **lists ) -{ - int i, total_bonds, Hindex, total_hbonds; - reax_list *bonds, *hbonds; - - /* bonds list */ - if (system->N > 0) { - bonds = (*lists) + BONDS; - total_bonds = 0; - - /* reset start-end indexes */ - for (i = 0; i < system->N; ++i) { - Set_Start_Index( i, total_bonds, bonds ); - Set_End_Index( i, total_bonds, bonds ); - total_bonds += system->my_atoms[i].num_bonds; - } - - /* is reallocation needed? */ - if (total_bonds >= bonds->num_intrs * DANGER_ZONE) { - workspace->realloc.bonds = 1; - if (total_bonds >= bonds->num_intrs) - control->error_ptr->one(FLERR,fmt::format("Not enough space for bonds! " - "total={} allocated={}\n", - total_bonds, bonds->num_intrs)); - } + system->numH = 0; + if (control->hbond_cut > 0) + for (i = 0; i < system->n; ++i) { + atom = &(system->my_atoms[i]); + if (atom->type < 0) continue; + if (system->reax_param.sbp[ atom->type ].p_hbond == 1) + atom->Hindex = system->numH++; + else atom->Hindex = -1; + } } - if (control->hbond_cut > 0 && system->numH > 0) { - hbonds = (*lists) + HBONDS; - total_hbonds = 0; - /* reset start-end indexes */ - for (i = 0; i < system->n; ++i) { - Hindex = system->my_atoms[i].Hindex; - if (Hindex > -1) { - Set_Start_Index( Hindex, total_hbonds, hbonds ); - Set_End_Index( Hindex, total_hbonds, hbonds ); - total_hbonds += system->my_atoms[i].num_hbonds; + static void Reset_Energies(energy_data *en) + { + en->e_bond = 0; + en->e_ov = 0; + en->e_un = 0; + en->e_lp = 0; + en->e_ang = 0; + en->e_pen = 0; + en->e_coa = 0; + en->e_hb = 0; + en->e_tor = 0; + en->e_con = 0; + en->e_vdW = 0; + en->e_ele = 0; + en->e_pol = 0; + } + + void Reset_Simulation_Data(simulation_data* data) + { + Reset_Energies(&data->my_en); + Reset_Energies(&data->sys_en); + } + + void Reset_Workspace(reax_system *system, storage *workspace) + { + memset(workspace->total_bond_order, 0, system->total_cap * sizeof(double)); + memset(workspace->dDeltap_self, 0, system->total_cap * sizeof(rvec)); + memset(workspace->CdDelta, 0, system->total_cap * sizeof(double)); + memset(workspace->f, 0, system->total_cap * sizeof(rvec)); + + } + + static void Reset_Neighbor_Lists(reax_system *system, control_params *control, + storage *workspace, reax_list **lists) + { + int i, total_bonds, Hindex, total_hbonds; + reax_list *bonds, *hbonds; + + /* bonds list */ + if (system->N > 0) { + bonds = (*lists) + BONDS; + total_bonds = 0; + + /* reset start-end indexes */ + for (i = 0; i < system->N; ++i) { + Set_Start_Index(i, total_bonds, bonds); + Set_End_Index(i, total_bonds, bonds); + total_bonds += system->my_atoms[i].num_bonds; + } + + /* is reallocation needed? */ + if (total_bonds >= bonds->num_intrs * DANGER_ZONE) { + workspace->realloc.bonds = 1; + if (total_bonds >= bonds->num_intrs) + control->error_ptr->one(FLERR,fmt::format("Not enough space for bonds! " + "total={} allocated={}\n", + total_bonds, bonds->num_intrs)); } } - /* is reallocation needed? */ - if (total_hbonds >= hbonds->num_intrs * 0.90/*DANGER_ZONE*/) { - workspace->realloc.hbonds = 1; - if (total_hbonds >= hbonds->num_intrs) - control->error_ptr->one(FLERR,fmt::format("Not enough space for hbonds! " - "total={} allocated={}\n", - total_hbonds, hbonds->num_intrs)); + if (control->hbond_cut > 0 && system->numH > 0) { + hbonds = (*lists) + HBONDS; + total_hbonds = 0; + + /* reset start-end indexes */ + for (i = 0; i < system->n; ++i) { + Hindex = system->my_atoms[i].Hindex; + if (Hindex > -1) { + Set_Start_Index(Hindex, total_hbonds, hbonds); + Set_End_Index(Hindex, total_hbonds, hbonds); + total_hbonds += system->my_atoms[i].num_hbonds; + } + } + + /* is reallocation needed? */ + if (total_hbonds >= hbonds->num_intrs * 0.90/*DANGER_ZONE*/) { + workspace->realloc.hbonds = 1; + if (total_hbonds >= hbonds->num_intrs) + control->error_ptr->one(FLERR,fmt::format("Not enough space for hbonds! " + "total={} allocated={}\n", + total_hbonds, hbonds->num_intrs)); + } } } -} - - -void Reset( reax_system *system, control_params *control, simulation_data *data, - storage *workspace, reax_list **lists ) -{ - Reset_Atoms( system, control ); - - Reset_Simulation_Data( data, control->virial ); - - Reset_Workspace( system, workspace ); - - Reset_Neighbor_Lists( system, control, workspace, lists ); - + + + void Reset(reax_system *system, control_params *control, simulation_data *data, + storage *workspace, reax_list **lists) + { + Reset_Atoms(system, control); + Reset_Simulation_Data(data); + Reset_Workspace(system, workspace); + Reset_Neighbor_Lists(system, control, workspace, lists); + } } diff --git a/src/USER-REAXC/reaxc_reset_tools.h b/src/USER-REAXC/reaxc_reset_tools.h deleted file mode 100644 index 39cda0ac9b..0000000000 --- a/src/USER-REAXC/reaxc_reset_tools.h +++ /dev/null @@ -1,39 +0,0 @@ -/*---------------------------------------------------------------------- - PuReMD - Purdue ReaxFF Molecular Dynamics Program - - Copyright (2010) Purdue University - Hasan Metin Aktulga, hmaktulga@lbl.gov - Joseph Fogarty, jcfogart@mail.usf.edu - Sagar Pandit, pandit@usf.edu - Ananth Y Grama, ayg@cs.purdue.edu - - Please cite the related publication: - H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama, - "Parallel Reactive Molecular Dynamics: Numerical Methods and - Algorithmic Techniques", Parallel Computing, in press. - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License as - published by the Free Software Foundation; either version 2 of - the License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - See the GNU General Public License for more details: - . - ----------------------------------------------------------------------*/ - -#ifndef __RESET_TOOLS_H_ -#define __RESET_TOOLS_H_ - -#include "reaxc_types.h" - -void Reset_Pressures( simulation_data* ); -void Reset_Simulation_Data( simulation_data*, int ); -void Reset_Workspace( reax_system*, storage* ); -void Reset_Neighbor_Lists( reax_system*, control_params*, storage*, - reax_list** ); -void Reset( reax_system*, control_params*, simulation_data*, storage*, - reax_list** ); -#endif diff --git a/src/USER-REAXC/reaxc_system_props.cpp b/src/USER-REAXC/reaxc_system_props.cpp deleted file mode 100644 index de513e11de..0000000000 --- a/src/USER-REAXC/reaxc_system_props.cpp +++ /dev/null @@ -1,66 +0,0 @@ -/*---------------------------------------------------------------------- - PuReMD - Purdue ReaxFF Molecular Dynamics Program - - Copyright (2010) Purdue University - Hasan Metin Aktulga, hmaktulga@lbl.gov - Joseph Fogarty, jcfogart@mail.usf.edu - Sagar Pandit, pandit@usf.edu - Ananth Y Grama, ayg@cs.purdue.edu - - Please cite the related publication: - H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama, - "Parallel Reactive Molecular Dynamics: Numerical Methods and - Algorithmic Techniques", Parallel Computing, in press. - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License as - published by the Free Software Foundation; either version 2 of - the License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - See the GNU General Public License for more details: - . - ----------------------------------------------------------------------*/ - -#include "reaxc_system_props.h" -#include -#include "reaxc_defs.h" - -void Compute_System_Energy( reax_system *system, simulation_data *data, - MPI_Comm comm ) -{ - double my_en[13], sys_en[13]; - - my_en[0] = data->my_en.e_bond; - my_en[1] = data->my_en.e_ov; - my_en[2] = data->my_en.e_un; - my_en[3] = data->my_en.e_lp; - my_en[4] = data->my_en.e_ang; - my_en[5] = data->my_en.e_pen; - my_en[6] = data->my_en.e_coa; - my_en[7] = data->my_en.e_hb; - my_en[8] = data->my_en.e_tor; - my_en[9] = data->my_en.e_con; - my_en[10] = data->my_en.e_vdW; - my_en[11] = data->my_en.e_ele; - my_en[12] = data->my_en.e_pol; - MPI_Reduce( my_en, sys_en, 13, MPI_DOUBLE, MPI_SUM, MASTER_NODE, comm ); - - if (system->my_rank == MASTER_NODE) { - data->sys_en.e_bond = sys_en[0]; - data->sys_en.e_ov = sys_en[1]; - data->sys_en.e_un = sys_en[2]; - data->sys_en.e_lp = sys_en[3]; - data->sys_en.e_ang = sys_en[4]; - data->sys_en.e_pen = sys_en[5]; - data->sys_en.e_coa = sys_en[6]; - data->sys_en.e_hb = sys_en[7]; - data->sys_en.e_tor = sys_en[8]; - data->sys_en.e_con = sys_en[9]; - data->sys_en.e_vdW = sys_en[10]; - data->sys_en.e_ele = sys_en[11]; - data->sys_en.e_pol = sys_en[12]; - } -} diff --git a/src/USER-REAXC/reaxc_system_props.h b/src/USER-REAXC/reaxc_system_props.h deleted file mode 100644 index 4d80e22966..0000000000 --- a/src/USER-REAXC/reaxc_system_props.h +++ /dev/null @@ -1,35 +0,0 @@ -/*---------------------------------------------------------------------- - PuReMD - Purdue ReaxFF Molecular Dynamics Program - - Copyright (2010) Purdue University - Hasan Metin Aktulga, hmaktulga@lbl.gov - Joseph Fogarty, jcfogart@mail.usf.edu - Sagar Pandit, pandit@usf.edu - Ananth Y Grama, ayg@cs.purdue.edu - - Please cite the related publication: - H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama, - "Parallel Reactive Molecular Dynamics: Numerical Methods and - Algorithmic Techniques", Parallel Computing, in press. - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License as - published by the Free Software Foundation; either version 2 of - the License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - See the GNU General Public License for more details: - . - ----------------------------------------------------------------------*/ - -#ifndef __SYSTEM_PROP_H_ -#define __SYSTEM_PROP_H_ - -#include "reaxc_types.h" -#include - -void Compute_System_Energy( reax_system*, simulation_data*, MPI_Comm ); - -#endif diff --git a/src/USER-REAXC/reaxc_tool_box.cpp b/src/USER-REAXC/reaxc_tool_box.cpp index abab3f2b43..ab8ba6317c 100644 --- a/src/USER-REAXC/reaxc_tool_box.cpp +++ b/src/USER-REAXC/reaxc_tool_box.cpp @@ -24,8 +24,7 @@ . ----------------------------------------------------------------------*/ -#include "reaxc_tool_box.h" -#include "reaxc_defs.h" +#include "reaxff_api.h" #include #include @@ -33,93 +32,95 @@ #include "error.h" -int Tokenize( char* s, char*** tok ) -{ - char test[MAX_LINE]; - const char *sep = (const char *)"\t \n\r\f!="; - char *word; - int count=0; +namespace ReaxFF { + + int Tokenize(char* s, char*** tok) + { + char test[MAX_LINE]; + const char *sep = (const char *)"\t \n\r\f!="; + char *word; + int count=0; - strncpy( test, s, MAX_LINE-1); + strncpy(test, s, MAX_LINE-1); - for (word = strtok(test, sep); word; word = strtok(nullptr, sep)) { - strncpy( (*tok)[count], word, MAX_LINE ); - count++; + for (word = strtok(test, sep); word; word = strtok(nullptr, sep)) { + strncpy((*tok)[count], word, MAX_LINE); + count++; + } + + return count; } - return count; -} - /* safe malloc */ -void *smalloc( LAMMPS_NS::Error *error_ptr, rc_bigint n, const char *name ) -{ - void *ptr; + void *smalloc(LAMMPS_NS::Error *error_ptr, rc_bigint n, const char *name) + { + void *ptr; - if (n <= 0) { - auto errmsg = fmt::format("Trying to allocate {} bytes for array {}. " - "returning NULL.", n, name); - if (error_ptr) error_ptr->one(FLERR,errmsg); - else fputs(errmsg.c_str(),stderr); + if (n <= 0) { + auto errmsg = fmt::format("Trying to allocate {} bytes for array {}. " + "returning NULL.", n, name); + if (error_ptr) error_ptr->one(FLERR,errmsg); + else fputs(errmsg.c_str(),stderr); - return nullptr; + return nullptr; + } + + ptr = malloc(n); + if (ptr == nullptr) { + auto errmsg = fmt::format("Failed to allocate {} bytes for array {}", + n, name); + if (error_ptr) error_ptr->one(FLERR,errmsg); + else fputs(errmsg.c_str(),stderr); + } + + return ptr; } - ptr = malloc( n ); - if (ptr == nullptr) { - auto errmsg = fmt::format("Failed to allocate {} bytes for array {}", - n, name); - if (error_ptr) error_ptr->one(FLERR,errmsg); - else fputs(errmsg.c_str(),stderr); - } - - return ptr; -} - /* safe calloc */ -void *scalloc( LAMMPS_NS::Error *error_ptr, rc_bigint n, rc_bigint size, const char *name ) -{ - void *ptr; + void *scalloc(LAMMPS_NS::Error *error_ptr, rc_bigint n, rc_bigint size, const char *name) + { + void *ptr; - if (n <= 0) { - auto errmsg = fmt::format("Trying to allocate {} elements for array {}. " - "returning NULL.\n", n, name); - if (error_ptr) error_ptr->one(FLERR,errmsg); - else fputs(errmsg.c_str(),stderr); - return nullptr; + if (n <= 0) { + auto errmsg = fmt::format("Trying to allocate {} elements for array {}. " + "returning NULL.\n", n, name); + if (error_ptr) error_ptr->one(FLERR,errmsg); + else fputs(errmsg.c_str(),stderr); + return nullptr; + } + + if (size <= 0) { + auto errmsg = fmt::format("Elements size for array {} is {}. " + "returning NULL", name, size); + if (error_ptr) error_ptr->one(FLERR,errmsg); + else fputs(errmsg.c_str(),stderr); + return nullptr; + } + + ptr = calloc(n, size); + if (ptr == nullptr) { + auto errmsg = fmt::format("Failed to allocate {} bytes for array {}", + n*size, name); + if (error_ptr) error_ptr->one(FLERR,errmsg); + else fputs(errmsg.c_str(),stderr); + } + + return ptr; } - if (size <= 0) { - auto errmsg = fmt::format("Elements size for array {} is {}. " - "returning NULL", name, size); - if (error_ptr) error_ptr->one(FLERR,errmsg); - else fputs(errmsg.c_str(),stderr); - return nullptr; - } - ptr = calloc( n, size ); - if (ptr == nullptr) { - auto errmsg = fmt::format("Failed to allocate {} bytes for array {}", - n*size, name); - if (error_ptr) error_ptr->one(FLERR,errmsg); - else fputs(errmsg.c_str(),stderr); - } + /* safe free */ + void sfree(LAMMPS_NS::Error* error_ptr, void *ptr, const char *name) + { + if (ptr == nullptr) { + auto errmsg = fmt::format("Trying to free the already free()'d pointer {}", + name); + if (error_ptr) error_ptr->one(FLERR,errmsg); + else fputs(errmsg.c_str(),stderr); + return; + } - return ptr; + free(ptr); + ptr = nullptr; + } } - - -/* safe free */ -void sfree( LAMMPS_NS::Error* error_ptr, void *ptr, const char *name ) -{ - if (ptr == nullptr) { - auto errmsg = fmt::format("Trying to free the already free()'d pointer {}", - name); - if (error_ptr) error_ptr->one(FLERR,errmsg); - else fputs(errmsg.c_str(),stderr); - return; - } - - free(ptr); - ptr = nullptr; -} - diff --git a/src/USER-REAXC/reaxc_tool_box.h b/src/USER-REAXC/reaxc_tool_box.h deleted file mode 100644 index 773b4f3f3d..0000000000 --- a/src/USER-REAXC/reaxc_tool_box.h +++ /dev/null @@ -1,40 +0,0 @@ -/*---------------------------------------------------------------------- - PuReMD - Purdue ReaxFF Molecular Dynamics Program - - Copyright (2010) Purdue University - Hasan Metin Aktulga, hmaktulga@lbl.gov - Joseph Fogarty, jcfogart@mail.usf.edu - Sagar Pandit, pandit@usf.edu - Ananth Y Grama, ayg@cs.purdue.edu - - Please cite the related publication: - H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama, - "Parallel Reactive Molecular Dynamics: Numerical Methods and - Algorithmic Techniques", Parallel Computing, in press. - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License as - published by the Free Software Foundation; either version 2 of - the License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - See the GNU General Public License for more details: - . - ----------------------------------------------------------------------*/ - -#ifndef __TOOL_BOX_H_ -#define __TOOL_BOX_H_ - -#include "reaxc_types.h" -namespace LAMMPS_NS { class Error; } - -/* from io_tools.h */ -int Tokenize( char*, char*** ); - -/* from lammps */ -void *smalloc( LAMMPS_NS::Error*, rc_bigint, const char* ); -void *scalloc( LAMMPS_NS::Error*, rc_bigint, rc_bigint, const char* ); -void sfree( LAMMPS_NS::Error*, void*, const char* ); -#endif diff --git a/src/USER-REAXC/reaxc_torsion_angles.cpp b/src/USER-REAXC/reaxc_torsion_angles.cpp index 04e7bfcc1c..00019d5130 100644 --- a/src/USER-REAXC/reaxc_torsion_angles.cpp +++ b/src/USER-REAXC/reaxc_torsion_angles.cpp @@ -24,440 +24,435 @@ . ----------------------------------------------------------------------*/ -#include "reaxc_torsion_angles.h" -#include +#include "reaxff_api.h" + #include "pair.h" -#include "reaxc_defs.h" -#include "reaxc_list.h" -#include "reaxc_vector.h" + +#include #define MIN_SINE 1e-10 -double Calculate_Omega( rvec dvec_ij, double r_ij, - rvec dvec_jk, double r_jk, - rvec dvec_kl, double r_kl, - rvec dvec_li, double r_li, - three_body_interaction_data *p_ijk, - three_body_interaction_data *p_jkl, - rvec dcos_omega_di, rvec dcos_omega_dj, - rvec dcos_omega_dk, rvec dcos_omega_dl, - output_controls * /*out_control*/ ) -{ - double unnorm_cos_omega, unnorm_sin_omega, omega; - double sin_ijk, cos_ijk, sin_jkl, cos_jkl; - double htra, htrb, htrc, hthd, hthe, hnra, hnrc, hnhd, hnhe; - double arg, poem, tel; - rvec cross_jk_kl; +namespace ReaxFF { + double Calculate_Omega(rvec dvec_ij, double r_ij, rvec dvec_jk, double r_jk, + rvec dvec_kl, double r_kl, rvec dvec_li, double r_li, + three_body_interaction_data *p_ijk, + three_body_interaction_data *p_jkl, + rvec dcos_omega_di, rvec dcos_omega_dj, + rvec dcos_omega_dk, rvec dcos_omega_dl) + { + double unnorm_cos_omega, unnorm_sin_omega, omega; + double sin_ijk, cos_ijk, sin_jkl, cos_jkl; + double htra, htrb, htrc, hthd, hthe, hnra, hnrc, hnhd, hnhe; + double arg, poem, tel; + rvec cross_jk_kl; - sin_ijk = sin( p_ijk->theta ); - cos_ijk = cos( p_ijk->theta ); - sin_jkl = sin( p_jkl->theta ); - cos_jkl = cos( p_jkl->theta ); + sin_ijk = sin(p_ijk->theta); + cos_ijk = cos(p_ijk->theta); + sin_jkl = sin(p_jkl->theta); + cos_jkl = cos(p_jkl->theta); - /* omega */ - unnorm_cos_omega = -rvec_Dot(dvec_ij, dvec_jk) * rvec_Dot(dvec_jk, dvec_kl) + - SQR( r_jk ) * rvec_Dot( dvec_ij, dvec_kl ); + /* omega */ + unnorm_cos_omega = -rvec_Dot(dvec_ij, dvec_jk) * rvec_Dot(dvec_jk, dvec_kl) + + SQR(r_jk) * rvec_Dot(dvec_ij, dvec_kl); - rvec_Cross( cross_jk_kl, dvec_jk, dvec_kl ); - unnorm_sin_omega = -r_jk * rvec_Dot( dvec_ij, cross_jk_kl ); + rvec_Cross(cross_jk_kl, dvec_jk, dvec_kl); + unnorm_sin_omega = -r_jk * rvec_Dot(dvec_ij, cross_jk_kl); - omega = atan2( unnorm_sin_omega, unnorm_cos_omega ); + omega = atan2(unnorm_sin_omega, unnorm_cos_omega); - htra = r_ij + cos_ijk * ( r_kl * cos_jkl - r_jk ); - htrb = r_jk - r_ij * cos_ijk - r_kl * cos_jkl; - htrc = r_kl + cos_jkl * ( r_ij * cos_ijk - r_jk ); - hthd = r_ij * sin_ijk * ( r_jk - r_kl * cos_jkl ); - hthe = r_kl * sin_jkl * ( r_jk - r_ij * cos_ijk ); - hnra = r_kl * sin_ijk * sin_jkl; - hnrc = r_ij * sin_ijk * sin_jkl; - hnhd = r_ij * r_kl * cos_ijk * sin_jkl; - hnhe = r_ij * r_kl * sin_ijk * cos_jkl; + htra = r_ij + cos_ijk * (r_kl * cos_jkl - r_jk); + htrb = r_jk - r_ij * cos_ijk - r_kl * cos_jkl; + htrc = r_kl + cos_jkl * (r_ij * cos_ijk - r_jk); + hthd = r_ij * sin_ijk * (r_jk - r_kl * cos_jkl); + hthe = r_kl * sin_jkl * (r_jk - r_ij * cos_ijk); + hnra = r_kl * sin_ijk * sin_jkl; + hnrc = r_ij * sin_ijk * sin_jkl; + hnhd = r_ij * r_kl * cos_ijk * sin_jkl; + hnhe = r_ij * r_kl * sin_ijk * cos_jkl; - poem = 2.0 * r_ij * r_kl * sin_ijk * sin_jkl; - if (poem < 1e-20) poem = 1e-20; + poem = 2.0 * r_ij * r_kl * sin_ijk * sin_jkl; + if (poem < 1e-20) poem = 1e-20; - tel = SQR( r_ij ) + SQR( r_jk ) + SQR( r_kl ) - SQR( r_li ) - - 2.0 * ( r_ij * r_jk * cos_ijk - r_ij * r_kl * cos_ijk * cos_jkl + - r_jk * r_kl * cos_jkl ); + tel = SQR(r_ij) + SQR(r_jk) + SQR(r_kl) - SQR(r_li) - + 2.0 * (r_ij * r_jk * cos_ijk - r_ij * r_kl * cos_ijk * cos_jkl + + r_jk * r_kl * cos_jkl); - arg = tel / poem; - if (arg > 1.0) arg = 1.0; - if (arg < -1.0) arg = -1.0; + arg = tel / poem; + if (arg > 1.0) arg = 1.0; + if (arg < -1.0) arg = -1.0; - if (sin_ijk >= 0 && sin_ijk <= MIN_SINE) sin_ijk = MIN_SINE; - else if (sin_ijk <= 0 && sin_ijk >= -MIN_SINE) sin_ijk = -MIN_SINE; - if (sin_jkl >= 0 && sin_jkl <= MIN_SINE) sin_jkl = MIN_SINE; - else if (sin_jkl <= 0 && sin_jkl >= -MIN_SINE) sin_jkl = -MIN_SINE; + if (sin_ijk >= 0 && sin_ijk <= MIN_SINE) sin_ijk = MIN_SINE; + else if (sin_ijk <= 0 && sin_ijk >= -MIN_SINE) sin_ijk = -MIN_SINE; + if (sin_jkl >= 0 && sin_jkl <= MIN_SINE) sin_jkl = MIN_SINE; + else if (sin_jkl <= 0 && sin_jkl >= -MIN_SINE) sin_jkl = -MIN_SINE; - // dcos_omega_di - rvec_ScaledSum( dcos_omega_di, (htra-arg*hnra)/r_ij, dvec_ij, -1., dvec_li ); - rvec_ScaledAdd( dcos_omega_di,-(hthd-arg*hnhd)/sin_ijk, p_ijk->dcos_dk ); - rvec_Scale( dcos_omega_di, 2.0 / poem, dcos_omega_di ); + // dcos_omega_di + rvec_ScaledSum(dcos_omega_di, (htra-arg*hnra)/r_ij, dvec_ij, -1., dvec_li); + rvec_ScaledAdd(dcos_omega_di,-(hthd-arg*hnhd)/sin_ijk, p_ijk->dcos_dk); + rvec_Scale(dcos_omega_di, 2.0 / poem, dcos_omega_di); - // dcos_omega_dj - rvec_ScaledSum( dcos_omega_dj,-(htra-arg*hnra)/r_ij, dvec_ij, - -htrb / r_jk, dvec_jk ); - rvec_ScaledAdd( dcos_omega_dj,-(hthd-arg*hnhd)/sin_ijk, p_ijk->dcos_dj ); - rvec_ScaledAdd( dcos_omega_dj,-(hthe-arg*hnhe)/sin_jkl, p_jkl->dcos_di ); - rvec_Scale( dcos_omega_dj, 2.0 / poem, dcos_omega_dj ); + // dcos_omega_dj + rvec_ScaledSum(dcos_omega_dj,-(htra-arg*hnra)/r_ij, dvec_ij, + -htrb / r_jk, dvec_jk); + rvec_ScaledAdd(dcos_omega_dj,-(hthd-arg*hnhd)/sin_ijk, p_ijk->dcos_dj); + rvec_ScaledAdd(dcos_omega_dj,-(hthe-arg*hnhe)/sin_jkl, p_jkl->dcos_di); + rvec_Scale(dcos_omega_dj, 2.0 / poem, dcos_omega_dj); - // dcos_omega_dk - rvec_ScaledSum( dcos_omega_dk,-(htrc-arg*hnrc)/r_kl, dvec_kl, - htrb / r_jk, dvec_jk ); - rvec_ScaledAdd( dcos_omega_dk,-(hthd-arg*hnhd)/sin_ijk, p_ijk->dcos_di ); - rvec_ScaledAdd( dcos_omega_dk,-(hthe-arg*hnhe)/sin_jkl, p_jkl->dcos_dj ); - rvec_Scale( dcos_omega_dk, 2.0 / poem, dcos_omega_dk ); + // dcos_omega_dk + rvec_ScaledSum(dcos_omega_dk,-(htrc-arg*hnrc)/r_kl, dvec_kl, + htrb / r_jk, dvec_jk); + rvec_ScaledAdd(dcos_omega_dk,-(hthd-arg*hnhd)/sin_ijk, p_ijk->dcos_di); + rvec_ScaledAdd(dcos_omega_dk,-(hthe-arg*hnhe)/sin_jkl, p_jkl->dcos_dj); + rvec_Scale(dcos_omega_dk, 2.0 / poem, dcos_omega_dk); - // dcos_omega_dl - rvec_ScaledSum( dcos_omega_dl, (htrc-arg*hnrc)/r_kl, dvec_kl, 1., dvec_li ); - rvec_ScaledAdd( dcos_omega_dl,-(hthe-arg*hnhe)/sin_jkl, p_jkl->dcos_dk ); - rvec_Scale( dcos_omega_dl, 2.0 / poem, dcos_omega_dl ); + // dcos_omega_dl + rvec_ScaledSum(dcos_omega_dl, (htrc-arg*hnrc)/r_kl, dvec_kl, 1., dvec_li); + rvec_ScaledAdd(dcos_omega_dl,-(hthe-arg*hnhe)/sin_jkl, p_jkl->dcos_dk); + rvec_Scale(dcos_omega_dl, 2.0 / poem, dcos_omega_dl); - return omega; -} - - - -void Torsion_Angles( reax_system *system, control_params *control, - simulation_data *data, storage *workspace, - reax_list **lists, output_controls *out_control ) -{ - int i, j, k, l, pi, pj, pk, pl, pij, plk, natoms; - int type_i, type_j, type_k, type_l; - int start_j, end_j; - int start_pj, end_pj, start_pk, end_pk; - int num_frb_intrs = 0; - - double Delta_j, Delta_k; - double r_ij, r_jk, r_kl, r_li; - double BOA_ij, BOA_jk, BOA_kl; - - double exp_tor2_ij, exp_tor2_jk, exp_tor2_kl; - double exp_tor1, exp_tor3_DjDk, exp_tor4_DjDk, exp_tor34_inv; - double exp_cot2_jk, exp_cot2_ij, exp_cot2_kl; - double fn10, f11_DjDk, dfn11, fn12; - double theta_ijk, theta_jkl; - double sin_ijk, sin_jkl; - double cos_ijk, cos_jkl; - double tan_ijk_i, tan_jkl_i; - double omega, cos_omega, cos2omega, cos3omega; - rvec dcos_omega_di, dcos_omega_dj, dcos_omega_dk, dcos_omega_dl; - double CV, cmn, CEtors1, CEtors2, CEtors3, CEtors4; - double CEtors5, CEtors6, CEtors7, CEtors8, CEtors9; - double Cconj, CEconj1, CEconj2, CEconj3; - double CEconj4, CEconj5, CEconj6; - double e_tor, e_con; - rvec dvec_li; - rvec force; - ivec rel_box_jl; - four_body_header *fbh; - four_body_parameters *fbp; - bond_data *pbond_ij, *pbond_jk, *pbond_kl; - bond_order_data *bo_ij, *bo_jk, *bo_kl; - three_body_interaction_data *p_ijk, *p_jkl; - double p_tor2 = system->reax_param.gp.l[23]; - double p_tor3 = system->reax_param.gp.l[24]; - double p_tor4 = system->reax_param.gp.l[25]; - double p_cot2 = system->reax_param.gp.l[27]; - reax_list *bonds = (*lists) + BONDS; - reax_list *thb_intrs = (*lists) + THREE_BODIES; - - // Virial tallying variables - double delil[3], deljl[3], delkl[3]; - double eng_tmp, fi_tmp[3], fj_tmp[3], fk_tmp[3]; - - natoms = system->n; - - for (j = 0; j < natoms; ++j) { - type_j = system->my_atoms[j].type; - Delta_j = workspace->Delta_boc[j]; - start_j = Start_Index(j, bonds); - end_j = End_Index(j, bonds); - - for (pk = start_j; pk < end_j; ++pk) { - pbond_jk = &( bonds->select.bond_list[pk] ); - k = pbond_jk->nbr; - bo_jk = &( pbond_jk->bo_data ); - BOA_jk = bo_jk->BO - control->thb_cut; - - if (system->my_atoms[j].orig_id > system->my_atoms[k].orig_id) - continue; - if (system->my_atoms[j].orig_id == system->my_atoms[k].orig_id) { - if (system->my_atoms[k].x[2] < system->my_atoms[j].x[2]) continue; - if (system->my_atoms[k].x[2] == system->my_atoms[j].x[2] && - system->my_atoms[k].x[1] < system->my_atoms[j].x[1]) continue; - if (system->my_atoms[k].x[2] == system->my_atoms[j].x[2] && - system->my_atoms[k].x[1] == system->my_atoms[j].x[1] && - system->my_atoms[k].x[0] < system->my_atoms[j].x[0]) continue; - } - - if (bo_jk->BO > control->thb_cut/*0*/ && Num_Entries(pk, thb_intrs)) { - pj = pbond_jk->sym_index; // pj points to j on k's list - - if (Num_Entries(pj, thb_intrs)) { - type_k = system->my_atoms[k].type; - Delta_k = workspace->Delta_boc[k]; - r_jk = pbond_jk->d; - - start_pk = Start_Index(pk, thb_intrs ); - end_pk = End_Index(pk, thb_intrs ); - start_pj = Start_Index(pj, thb_intrs ); - end_pj = End_Index(pj, thb_intrs ); - - exp_tor2_jk = exp( -p_tor2 * BOA_jk ); - exp_cot2_jk = exp( -p_cot2 * SQR(BOA_jk - 1.5) ); - exp_tor3_DjDk = exp( -p_tor3 * (Delta_j + Delta_k) ); - exp_tor4_DjDk = exp( p_tor4 * (Delta_j + Delta_k) ); - exp_tor34_inv = 1.0 / (1.0 + exp_tor3_DjDk + exp_tor4_DjDk); - f11_DjDk = (2.0 + exp_tor3_DjDk) * exp_tor34_inv; - - for (pi = start_pk; pi < end_pk; ++pi) { - p_ijk = &( thb_intrs->select.three_body_list[pi] ); - pij = p_ijk->pthb; // pij is pointer to i on j's bond_list - pbond_ij = &( bonds->select.bond_list[pij] ); - bo_ij = &( pbond_ij->bo_data ); - - if (bo_ij->BO > control->thb_cut/*0*/) { - i = p_ijk->thb; - type_i = system->my_atoms[i].type; - r_ij = pbond_ij->d; - BOA_ij = bo_ij->BO - control->thb_cut; - - theta_ijk = p_ijk->theta; - sin_ijk = sin( theta_ijk ); - cos_ijk = cos( theta_ijk ); - //tan_ijk_i = 1. / tan( theta_ijk ); - if (sin_ijk >= 0 && sin_ijk <= MIN_SINE) - tan_ijk_i = cos_ijk / MIN_SINE; - else if (sin_ijk <= 0 && sin_ijk >= -MIN_SINE) - tan_ijk_i = cos_ijk / -MIN_SINE; - else tan_ijk_i = cos_ijk / sin_ijk; - - exp_tor2_ij = exp( -p_tor2 * BOA_ij ); - exp_cot2_ij = exp( -p_cot2 * SQR(BOA_ij -1.5) ); - - for (pl = start_pj; pl < end_pj; ++pl) { - p_jkl = &( thb_intrs->select.three_body_list[pl] ); - l = p_jkl->thb; - plk = p_jkl->pthb; //pointer to l on k's bond_list! - pbond_kl = &( bonds->select.bond_list[plk] ); - bo_kl = &( pbond_kl->bo_data ); - type_l = system->my_atoms[l].type; - fbh = &(system->reax_param.fbp[type_i][type_j] - [type_k][type_l]); - fbp = &(system->reax_param.fbp[type_i][type_j] - [type_k][type_l].prm[0]); - - if ( i != l && fbh->cnt && - bo_kl->BO > control->thb_cut/*0*/ && - bo_ij->BO * bo_jk->BO * bo_kl->BO > control->thb_cut/*0*/) { - ++num_frb_intrs; - r_kl = pbond_kl->d; - BOA_kl = bo_kl->BO - control->thb_cut; - - theta_jkl = p_jkl->theta; - sin_jkl = sin( theta_jkl ); - cos_jkl = cos( theta_jkl ); - //tan_jkl_i = 1. / tan( theta_jkl ); - if (sin_jkl >= 0 && sin_jkl <= MIN_SINE) - tan_jkl_i = cos_jkl / MIN_SINE; - else if (sin_jkl <= 0 && sin_jkl >= -MIN_SINE) - tan_jkl_i = cos_jkl / -MIN_SINE; - else tan_jkl_i = cos_jkl /sin_jkl; - - rvec_ScaledSum( dvec_li, 1., system->my_atoms[i].x, - -1., system->my_atoms[l].x ); - r_li = rvec_Norm( dvec_li ); - - - /* omega and its derivative */ - omega = Calculate_Omega( pbond_ij->dvec, r_ij, - pbond_jk->dvec, r_jk, - pbond_kl->dvec, r_kl, - dvec_li, r_li, - p_ijk, p_jkl, - dcos_omega_di, dcos_omega_dj, - dcos_omega_dk, dcos_omega_dl, - out_control ); - - cos_omega = cos( omega ); - cos2omega = cos( 2. * omega ); - cos3omega = cos( 3. * omega ); - /* end omega calculations */ - - /* torsion energy */ - exp_tor1 = exp( fbp->p_tor1 * - SQR(2.0 - bo_jk->BO_pi - f11_DjDk) ); - exp_tor2_kl = exp( -p_tor2 * BOA_kl ); - exp_cot2_kl = exp( -p_cot2 * SQR(BOA_kl - 1.5) ); - fn10 = (1.0 - exp_tor2_ij) * (1.0 - exp_tor2_jk) * - (1.0 - exp_tor2_kl); - - CV = 0.5 * ( fbp->V1 * (1.0 + cos_omega) + - fbp->V2 * exp_tor1 * (1.0 - cos2omega) + - fbp->V3 * (1.0 + cos3omega) ); - - data->my_en.e_tor += e_tor = fn10 * sin_ijk * sin_jkl * CV; - - dfn11 = (-p_tor3 * exp_tor3_DjDk + - (p_tor3 * exp_tor3_DjDk - p_tor4 * exp_tor4_DjDk) * - (2.0 + exp_tor3_DjDk) * exp_tor34_inv) * - exp_tor34_inv; - - CEtors1 = sin_ijk * sin_jkl * CV; - - CEtors2 = -fn10 * 2.0 * fbp->p_tor1 * fbp->V2 * exp_tor1 * - (2.0 - bo_jk->BO_pi - f11_DjDk) * (1.0 - SQR(cos_omega)) * - sin_ijk * sin_jkl; - CEtors3 = CEtors2 * dfn11; - - CEtors4 = CEtors1 * p_tor2 * exp_tor2_ij * - (1.0 - exp_tor2_jk) * (1.0 - exp_tor2_kl); - CEtors5 = CEtors1 * p_tor2 * - (1.0 - exp_tor2_ij) * exp_tor2_jk * (1.0 - exp_tor2_kl); - CEtors6 = CEtors1 * p_tor2 * - (1.0 - exp_tor2_ij) * (1.0 - exp_tor2_jk) * exp_tor2_kl; - - cmn = -fn10 * CV; - CEtors7 = cmn * sin_jkl * tan_ijk_i; - CEtors8 = cmn * sin_ijk * tan_jkl_i; - - CEtors9 = fn10 * sin_ijk * sin_jkl * - (0.5 * fbp->V1 - 2.0 * fbp->V2 * exp_tor1 * cos_omega + - 1.5 * fbp->V3 * (cos2omega + 2.0 * SQR(cos_omega))); - /* end of torsion energy */ - - /* 4-body conjugation energy */ - fn12 = exp_cot2_ij * exp_cot2_jk * exp_cot2_kl; - data->my_en.e_con += e_con = - fbp->p_cot1 * fn12 * - (1.0 + (SQR(cos_omega) - 1.0) * sin_ijk * sin_jkl); - - Cconj = -2.0 * fn12 * fbp->p_cot1 * p_cot2 * - (1.0 + (SQR(cos_omega) - 1.0) * sin_ijk * sin_jkl); - - CEconj1 = Cconj * (BOA_ij - 1.5e0); - CEconj2 = Cconj * (BOA_jk - 1.5e0); - CEconj3 = Cconj * (BOA_kl - 1.5e0); - - CEconj4 = -fbp->p_cot1 * fn12 * - (SQR(cos_omega) - 1.0) * sin_jkl * tan_ijk_i; - CEconj5 = -fbp->p_cot1 * fn12 * - (SQR(cos_omega) - 1.0) * sin_ijk * tan_jkl_i; - CEconj6 = 2.0 * fbp->p_cot1 * fn12 * - cos_omega * sin_ijk * sin_jkl; - /* end 4-body conjugation energy */ - - /* forces */ - bo_jk->Cdbopi += CEtors2; - workspace->CdDelta[j] += CEtors3; - workspace->CdDelta[k] += CEtors3; - bo_ij->Cdbo += (CEtors4 + CEconj1); - bo_jk->Cdbo += (CEtors5 + CEconj2); - bo_kl->Cdbo += (CEtors6 + CEconj3); - - if (control->virial == 0) { - /* dcos_theta_ijk */ - rvec_ScaledAdd( workspace->f[i], - CEtors7 + CEconj4, p_ijk->dcos_dk ); - rvec_ScaledAdd( workspace->f[j], - CEtors7 + CEconj4, p_ijk->dcos_dj ); - rvec_ScaledAdd( workspace->f[k], - CEtors7 + CEconj4, p_ijk->dcos_di ); - - /* dcos_theta_jkl */ - rvec_ScaledAdd( workspace->f[j], - CEtors8 + CEconj5, p_jkl->dcos_di ); - rvec_ScaledAdd( workspace->f[k], - CEtors8 + CEconj5, p_jkl->dcos_dj ); - rvec_ScaledAdd( workspace->f[l], - CEtors8 + CEconj5, p_jkl->dcos_dk ); - - /* dcos_omega */ - rvec_ScaledAdd( workspace->f[i], - CEtors9 + CEconj6, dcos_omega_di ); - rvec_ScaledAdd( workspace->f[j], - CEtors9 + CEconj6, dcos_omega_dj ); - rvec_ScaledAdd( workspace->f[k], - CEtors9 + CEconj6, dcos_omega_dk ); - rvec_ScaledAdd( workspace->f[l], - CEtors9 + CEconj6, dcos_omega_dl ); - } - else { - ivec_Sum(rel_box_jl, pbond_jk->rel_box, pbond_kl->rel_box); - - /* dcos_theta_ijk */ - rvec_Scale( force, CEtors7 + CEconj4, p_ijk->dcos_dk ); - rvec_Add( workspace->f[i], force ); - - rvec_ScaledAdd( workspace->f[j], - CEtors7 + CEconj4, p_ijk->dcos_dj ); - - rvec_Scale( force, CEtors7 + CEconj4, p_ijk->dcos_di ); - rvec_Add( workspace->f[k], force ); - - /* dcos_theta_jkl */ - rvec_ScaledAdd( workspace->f[j], - CEtors8 + CEconj5, p_jkl->dcos_di ); - - rvec_Scale( force, CEtors8 + CEconj5, p_jkl->dcos_dj ); - rvec_Add( workspace->f[k], force ); - - rvec_Scale( force, CEtors8 + CEconj5, p_jkl->dcos_dk ); - rvec_Add( workspace->f[l], force ); - - - /* dcos_omega */ - rvec_Scale( force, CEtors9 + CEconj6, dcos_omega_di ); - rvec_Add( workspace->f[i], force ); - - rvec_ScaledAdd( workspace->f[j], - CEtors9 + CEconj6, dcos_omega_dj ); - - rvec_Scale( force, CEtors9 + CEconj6, dcos_omega_dk ); - rvec_Add( workspace->f[k], force ); - - rvec_Scale( force, CEtors9 + CEconj6, dcos_omega_dl ); - rvec_Add( workspace->f[l], force ); - } - - /* tally into per-atom virials */ - if (system->pair_ptr->vflag_atom || system->pair_ptr->evflag) { - - // acquire vectors - rvec_ScaledSum( delil, 1., system->my_atoms[l].x, - -1., system->my_atoms[i].x ); - rvec_ScaledSum( deljl, 1., system->my_atoms[l].x, - -1., system->my_atoms[j].x ); - rvec_ScaledSum( delkl, 1., system->my_atoms[l].x, - -1., system->my_atoms[k].x ); - // dcos_theta_ijk - rvec_Scale( fi_tmp, CEtors7 + CEconj4, p_ijk->dcos_dk ); - rvec_Scale( fj_tmp, CEtors7 + CEconj4, p_ijk->dcos_dj ); - rvec_Scale( fk_tmp, CEtors7 + CEconj4, p_ijk->dcos_di ); - - // dcos_theta_jkl - rvec_ScaledAdd( fj_tmp, CEtors8 + CEconj5, p_jkl->dcos_di ); - rvec_ScaledAdd( fk_tmp, CEtors8 + CEconj5, p_jkl->dcos_dj ); - - // dcos_omega - rvec_ScaledAdd( fi_tmp, CEtors9 + CEconj6, dcos_omega_di ); - rvec_ScaledAdd( fj_tmp, CEtors9 + CEconj6, dcos_omega_dj ); - rvec_ScaledAdd( fk_tmp, CEtors9 + CEconj6, dcos_omega_dk ); - - // tally - eng_tmp = e_tor + e_con; - if (system->pair_ptr->evflag) - system->pair_ptr->ev_tally(j,k,natoms,1,eng_tmp,0.0,0.0,0.0,0.0,0.0); - if (system->pair_ptr->vflag_atom) - system->pair_ptr->v_tally4(i,j,k,l,fi_tmp,fj_tmp,fk_tmp,delil,deljl,delkl); - } - } // pl check ends - } // pl loop ends - } // pi check ends - } // pi loop ends - } // k-j neighbor check ends - } // j-k neighbor check ends - } // pk loop ends - } // j loop + return omega; + } + + void Torsion_Angles(reax_system *system, control_params *control, + simulation_data *data, storage *workspace, + reax_list **lists) + { + int i, j, k, l, pi, pj, pk, pl, pij, plk, natoms; + int type_i, type_j, type_k, type_l; + int start_j, end_j; + int start_pj, end_pj, start_pk, end_pk; + int num_frb_intrs = 0; + + double Delta_j, Delta_k; + double r_ij, r_jk, r_kl, r_li; + double BOA_ij, BOA_jk, BOA_kl; + + double exp_tor2_ij, exp_tor2_jk, exp_tor2_kl; + double exp_tor1, exp_tor3_DjDk, exp_tor4_DjDk, exp_tor34_inv; + double exp_cot2_jk, exp_cot2_ij, exp_cot2_kl; + double fn10, f11_DjDk, dfn11, fn12; + double theta_ijk, theta_jkl; + double sin_ijk, sin_jkl; + double cos_ijk, cos_jkl; + double tan_ijk_i, tan_jkl_i; + double omega, cos_omega, cos2omega, cos3omega; + rvec dcos_omega_di, dcos_omega_dj, dcos_omega_dk, dcos_omega_dl; + double CV, cmn, CEtors1, CEtors2, CEtors3, CEtors4; + double CEtors5, CEtors6, CEtors7, CEtors8, CEtors9; + double Cconj, CEconj1, CEconj2, CEconj3; + double CEconj4, CEconj5, CEconj6; + double e_tor, e_con; + rvec dvec_li; + rvec force; + ivec rel_box_jl; + four_body_header *fbh; + four_body_parameters *fbp; + bond_data *pbond_ij, *pbond_jk, *pbond_kl; + bond_order_data *bo_ij, *bo_jk, *bo_kl; + three_body_interaction_data *p_ijk, *p_jkl; + double p_tor2 = system->reax_param.gp.l[23]; + double p_tor3 = system->reax_param.gp.l[24]; + double p_tor4 = system->reax_param.gp.l[25]; + double p_cot2 = system->reax_param.gp.l[27]; + reax_list *bonds = (*lists) + BONDS; + reax_list *thb_intrs = (*lists) + THREE_BODIES; + + // Virial tallying variables + double delil[3], deljl[3], delkl[3]; + double eng_tmp, fi_tmp[3], fj_tmp[3], fk_tmp[3]; + + natoms = system->n; + + for (j = 0; j < natoms; ++j) { + type_j = system->my_atoms[j].type; + Delta_j = workspace->Delta_boc[j]; + start_j = Start_Index(j, bonds); + end_j = End_Index(j, bonds); + + for (pk = start_j; pk < end_j; ++pk) { + pbond_jk = &(bonds->select.bond_list[pk]); + k = pbond_jk->nbr; + bo_jk = &(pbond_jk->bo_data); + BOA_jk = bo_jk->BO - control->thb_cut; + + if (system->my_atoms[j].orig_id > system->my_atoms[k].orig_id) + continue; + if (system->my_atoms[j].orig_id == system->my_atoms[k].orig_id) { + if (system->my_atoms[k].x[2] < system->my_atoms[j].x[2]) continue; + if (system->my_atoms[k].x[2] == system->my_atoms[j].x[2] && + system->my_atoms[k].x[1] < system->my_atoms[j].x[1]) continue; + if (system->my_atoms[k].x[2] == system->my_atoms[j].x[2] && + system->my_atoms[k].x[1] == system->my_atoms[j].x[1] && + system->my_atoms[k].x[0] < system->my_atoms[j].x[0]) continue; + } + + if (bo_jk->BO > control->thb_cut/*0*/ && Num_Entries(pk, thb_intrs)) { + pj = pbond_jk->sym_index; // pj points to j on k's list + + if (Num_Entries(pj, thb_intrs)) { + type_k = system->my_atoms[k].type; + Delta_k = workspace->Delta_boc[k]; + r_jk = pbond_jk->d; + + start_pk = Start_Index(pk, thb_intrs); + end_pk = End_Index(pk, thb_intrs); + start_pj = Start_Index(pj, thb_intrs); + end_pj = End_Index(pj, thb_intrs); + + exp_tor2_jk = exp(-p_tor2 * BOA_jk); + exp_cot2_jk = exp(-p_cot2 * SQR(BOA_jk - 1.5)); + exp_tor3_DjDk = exp(-p_tor3 * (Delta_j + Delta_k)); + exp_tor4_DjDk = exp(p_tor4 * (Delta_j + Delta_k)); + exp_tor34_inv = 1.0 / (1.0 + exp_tor3_DjDk + exp_tor4_DjDk); + f11_DjDk = (2.0 + exp_tor3_DjDk) * exp_tor34_inv; + + for (pi = start_pk; pi < end_pk; ++pi) { + p_ijk = &(thb_intrs->select.three_body_list[pi]); + pij = p_ijk->pthb; // pij is pointer to i on j's bond_list + pbond_ij = &(bonds->select.bond_list[pij]); + bo_ij = &(pbond_ij->bo_data); + + if (bo_ij->BO > control->thb_cut/*0*/) { + i = p_ijk->thb; + type_i = system->my_atoms[i].type; + r_ij = pbond_ij->d; + BOA_ij = bo_ij->BO - control->thb_cut; + + theta_ijk = p_ijk->theta; + sin_ijk = sin(theta_ijk); + cos_ijk = cos(theta_ijk); + //tan_ijk_i = 1. / tan(theta_ijk); + if (sin_ijk >= 0 && sin_ijk <= MIN_SINE) + tan_ijk_i = cos_ijk / MIN_SINE; + else if (sin_ijk <= 0 && sin_ijk >= -MIN_SINE) + tan_ijk_i = cos_ijk / -MIN_SINE; + else tan_ijk_i = cos_ijk / sin_ijk; + + exp_tor2_ij = exp(-p_tor2 * BOA_ij); + exp_cot2_ij = exp(-p_cot2 * SQR(BOA_ij -1.5)); + + for (pl = start_pj; pl < end_pj; ++pl) { + p_jkl = &(thb_intrs->select.three_body_list[pl]); + l = p_jkl->thb; + plk = p_jkl->pthb; //pointer to l on k's bond_list! + pbond_kl = &(bonds->select.bond_list[plk]); + bo_kl = &(pbond_kl->bo_data); + type_l = system->my_atoms[l].type; + fbh = &(system->reax_param.fbp[type_i][type_j] + [type_k][type_l]); + fbp = &(system->reax_param.fbp[type_i][type_j] + [type_k][type_l].prm[0]); + + if (i != l && fbh->cnt && + bo_kl->BO > control->thb_cut/*0*/ && + bo_ij->BO * bo_jk->BO * bo_kl->BO > control->thb_cut/*0*/) { + ++num_frb_intrs; + r_kl = pbond_kl->d; + BOA_kl = bo_kl->BO - control->thb_cut; + + theta_jkl = p_jkl->theta; + sin_jkl = sin(theta_jkl); + cos_jkl = cos(theta_jkl); + //tan_jkl_i = 1. / tan(theta_jkl); + if (sin_jkl >= 0 && sin_jkl <= MIN_SINE) + tan_jkl_i = cos_jkl / MIN_SINE; + else if (sin_jkl <= 0 && sin_jkl >= -MIN_SINE) + tan_jkl_i = cos_jkl / -MIN_SINE; + else tan_jkl_i = cos_jkl /sin_jkl; + + rvec_ScaledSum(dvec_li, 1., system->my_atoms[i].x, + -1., system->my_atoms[l].x); + r_li = rvec_Norm(dvec_li); + + + /* omega and its derivative */ + omega = Calculate_Omega(pbond_ij->dvec, r_ij, + pbond_jk->dvec, r_jk, + pbond_kl->dvec, r_kl, + dvec_li, r_li, + p_ijk, p_jkl, + dcos_omega_di, dcos_omega_dj, + dcos_omega_dk, dcos_omega_dl); + + cos_omega = cos(omega); + cos2omega = cos(2. * omega); + cos3omega = cos(3. * omega); + /* end omega calculations */ + + /* torsion energy */ + exp_tor1 = exp(fbp->p_tor1 * + SQR(2.0 - bo_jk->BO_pi - f11_DjDk)); + exp_tor2_kl = exp(-p_tor2 * BOA_kl); + exp_cot2_kl = exp(-p_cot2 * SQR(BOA_kl - 1.5)); + fn10 = (1.0 - exp_tor2_ij) * (1.0 - exp_tor2_jk) * + (1.0 - exp_tor2_kl); + + CV = 0.5 * (fbp->V1 * (1.0 + cos_omega) + + fbp->V2 * exp_tor1 * (1.0 - cos2omega) + + fbp->V3 * (1.0 + cos3omega)); + + data->my_en.e_tor += e_tor = fn10 * sin_ijk * sin_jkl * CV; + + dfn11 = (-p_tor3 * exp_tor3_DjDk + + (p_tor3 * exp_tor3_DjDk - p_tor4 * exp_tor4_DjDk) * + (2.0 + exp_tor3_DjDk) * exp_tor34_inv) * + exp_tor34_inv; + + CEtors1 = sin_ijk * sin_jkl * CV; + + CEtors2 = -fn10 * 2.0 * fbp->p_tor1 * fbp->V2 * exp_tor1 * + (2.0 - bo_jk->BO_pi - f11_DjDk) * (1.0 - SQR(cos_omega)) * + sin_ijk * sin_jkl; + CEtors3 = CEtors2 * dfn11; + + CEtors4 = CEtors1 * p_tor2 * exp_tor2_ij * + (1.0 - exp_tor2_jk) * (1.0 - exp_tor2_kl); + CEtors5 = CEtors1 * p_tor2 * + (1.0 - exp_tor2_ij) * exp_tor2_jk * (1.0 - exp_tor2_kl); + CEtors6 = CEtors1 * p_tor2 * + (1.0 - exp_tor2_ij) * (1.0 - exp_tor2_jk) * exp_tor2_kl; + + cmn = -fn10 * CV; + CEtors7 = cmn * sin_jkl * tan_ijk_i; + CEtors8 = cmn * sin_ijk * tan_jkl_i; + + CEtors9 = fn10 * sin_ijk * sin_jkl * + (0.5 * fbp->V1 - 2.0 * fbp->V2 * exp_tor1 * cos_omega + + 1.5 * fbp->V3 * (cos2omega + 2.0 * SQR(cos_omega))); + /* end of torsion energy */ + + /* 4-body conjugation energy */ + fn12 = exp_cot2_ij * exp_cot2_jk * exp_cot2_kl; + data->my_en.e_con += e_con = + fbp->p_cot1 * fn12 * + (1.0 + (SQR(cos_omega) - 1.0) * sin_ijk * sin_jkl); + + Cconj = -2.0 * fn12 * fbp->p_cot1 * p_cot2 * + (1.0 + (SQR(cos_omega) - 1.0) * sin_ijk * sin_jkl); + + CEconj1 = Cconj * (BOA_ij - 1.5e0); + CEconj2 = Cconj * (BOA_jk - 1.5e0); + CEconj3 = Cconj * (BOA_kl - 1.5e0); + + CEconj4 = -fbp->p_cot1 * fn12 * + (SQR(cos_omega) - 1.0) * sin_jkl * tan_ijk_i; + CEconj5 = -fbp->p_cot1 * fn12 * + (SQR(cos_omega) - 1.0) * sin_ijk * tan_jkl_i; + CEconj6 = 2.0 * fbp->p_cot1 * fn12 * + cos_omega * sin_ijk * sin_jkl; + /* end 4-body conjugation energy */ + + /* forces */ + bo_jk->Cdbopi += CEtors2; + workspace->CdDelta[j] += CEtors3; + workspace->CdDelta[k] += CEtors3; + bo_ij->Cdbo += (CEtors4 + CEconj1); + bo_jk->Cdbo += (CEtors5 + CEconj2); + bo_kl->Cdbo += (CEtors6 + CEconj3); + + if (control->virial == 0) { + /* dcos_theta_ijk */ + rvec_ScaledAdd(workspace->f[i], + CEtors7 + CEconj4, p_ijk->dcos_dk); + rvec_ScaledAdd(workspace->f[j], + CEtors7 + CEconj4, p_ijk->dcos_dj); + rvec_ScaledAdd(workspace->f[k], + CEtors7 + CEconj4, p_ijk->dcos_di); + + /* dcos_theta_jkl */ + rvec_ScaledAdd(workspace->f[j], + CEtors8 + CEconj5, p_jkl->dcos_di); + rvec_ScaledAdd(workspace->f[k], + CEtors8 + CEconj5, p_jkl->dcos_dj); + rvec_ScaledAdd(workspace->f[l], + CEtors8 + CEconj5, p_jkl->dcos_dk); + + /* dcos_omega */ + rvec_ScaledAdd(workspace->f[i], + CEtors9 + CEconj6, dcos_omega_di); + rvec_ScaledAdd(workspace->f[j], + CEtors9 + CEconj6, dcos_omega_dj); + rvec_ScaledAdd(workspace->f[k], + CEtors9 + CEconj6, dcos_omega_dk); + rvec_ScaledAdd(workspace->f[l], + CEtors9 + CEconj6, dcos_omega_dl); + } + else { + ivec_Sum(rel_box_jl, pbond_jk->rel_box, pbond_kl->rel_box); + + /* dcos_theta_ijk */ + rvec_Scale(force, CEtors7 + CEconj4, p_ijk->dcos_dk); + rvec_Add(workspace->f[i], force); + + rvec_ScaledAdd(workspace->f[j], + CEtors7 + CEconj4, p_ijk->dcos_dj); + + rvec_Scale(force, CEtors7 + CEconj4, p_ijk->dcos_di); + rvec_Add(workspace->f[k], force); + + /* dcos_theta_jkl */ + rvec_ScaledAdd(workspace->f[j], + CEtors8 + CEconj5, p_jkl->dcos_di); + + rvec_Scale(force, CEtors8 + CEconj5, p_jkl->dcos_dj); + rvec_Add(workspace->f[k], force); + + rvec_Scale(force, CEtors8 + CEconj5, p_jkl->dcos_dk); + rvec_Add(workspace->f[l], force); + + + /* dcos_omega */ + rvec_Scale(force, CEtors9 + CEconj6, dcos_omega_di); + rvec_Add(workspace->f[i], force); + + rvec_ScaledAdd(workspace->f[j], + CEtors9 + CEconj6, dcos_omega_dj); + + rvec_Scale(force, CEtors9 + CEconj6, dcos_omega_dk); + rvec_Add(workspace->f[k], force); + + rvec_Scale(force, CEtors9 + CEconj6, dcos_omega_dl); + rvec_Add(workspace->f[l], force); + } + + /* tally into per-atom virials */ + if (system->pair_ptr->vflag_atom || system->pair_ptr->evflag) { + + // acquire vectors + rvec_ScaledSum(delil, 1., system->my_atoms[l].x, + -1., system->my_atoms[i].x); + rvec_ScaledSum(deljl, 1., system->my_atoms[l].x, + -1., system->my_atoms[j].x); + rvec_ScaledSum(delkl, 1., system->my_atoms[l].x, + -1., system->my_atoms[k].x); + // dcos_theta_ijk + rvec_Scale(fi_tmp, CEtors7 + CEconj4, p_ijk->dcos_dk); + rvec_Scale(fj_tmp, CEtors7 + CEconj4, p_ijk->dcos_dj); + rvec_Scale(fk_tmp, CEtors7 + CEconj4, p_ijk->dcos_di); + + // dcos_theta_jkl + rvec_ScaledAdd(fj_tmp, CEtors8 + CEconj5, p_jkl->dcos_di); + rvec_ScaledAdd(fk_tmp, CEtors8 + CEconj5, p_jkl->dcos_dj); + + // dcos_omega + rvec_ScaledAdd(fi_tmp, CEtors9 + CEconj6, dcos_omega_di); + rvec_ScaledAdd(fj_tmp, CEtors9 + CEconj6, dcos_omega_dj); + rvec_ScaledAdd(fk_tmp, CEtors9 + CEconj6, dcos_omega_dk); + + // tally + eng_tmp = e_tor + e_con; + if (system->pair_ptr->evflag) + system->pair_ptr->ev_tally(j,k,natoms,1,eng_tmp,0.0,0.0,0.0,0.0,0.0); + if (system->pair_ptr->vflag_atom) + system->pair_ptr->v_tally4(i,j,k,l,fi_tmp,fj_tmp,fk_tmp,delil,deljl,delkl); + } + } // pl check ends + } // pl loop ends + } // pi check ends + } // pi loop ends + } // k-j neighbor check ends + } // j-k neighbor check ends + } // pk loop ends + } // j loop + } } diff --git a/src/USER-REAXC/reaxc_torsion_angles.h b/src/USER-REAXC/reaxc_torsion_angles.h deleted file mode 100644 index 755e8c6532..0000000000 --- a/src/USER-REAXC/reaxc_torsion_angles.h +++ /dev/null @@ -1,35 +0,0 @@ -/*---------------------------------------------------------------------- - PuReMD - Purdue ReaxFF Molecular Dynamics Program - - Copyright (2010) Purdue University - Hasan Metin Aktulga, hmaktulga@lbl.gov - Joseph Fogarty, jcfogart@mail.usf.edu - Sagar Pandit, pandit@usf.edu - Ananth Y Grama, ayg@cs.purdue.edu - - Please cite the related publication: - H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama, - "Parallel Reactive Molecular Dynamics: Numerical Methods and - Algorithmic Techniques", Parallel Computing, in press. - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License as - published by the Free Software Foundation; either version 2 of - the License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - See the GNU General Public License for more details: - . - ----------------------------------------------------------------------*/ - -#ifndef __TORSION_ANGLES_H_ -#define __TORSION_ANGLES_H_ - -#include "reaxc_types.h" - -void Torsion_Angles( reax_system*, control_params*, simulation_data*, - storage*, reax_list**, output_controls* ); - -#endif diff --git a/src/USER-REAXC/reaxc_traj.cpp b/src/USER-REAXC/reaxc_traj.cpp index a4678d52c5..f134713936 100644 --- a/src/USER-REAXC/reaxc_traj.cpp +++ b/src/USER-REAXC/reaxc_traj.cpp @@ -24,16 +24,11 @@ . ----------------------------------------------------------------------*/ -#include "reaxc_traj.h" +#include "reaxff_api.h" -#include #include -#include #include -#include "reaxc_defs.h" -#include "reaxc_list.h" - #include "error.h" #define MAX_TRJ_LINE_LEN 120 @@ -52,519 +47,523 @@ #define BOND_FULL_LEN 69 #define ANGLE_BASIC_LEN 38 -enum ATOM_LINE_OPTS { OPT_NOATOM = 0, OPT_ATOM_BASIC = 4, OPT_ATOM_wF = 5, OPT_ATOM_wV = 6, OPT_ATOM_FULL = 7, NR_OPT_ATOM = 8 }; -enum BOND_LINE_OPTS { OPT_NOBOND, OPT_BOND_BASIC, OPT_BOND_FULL, NR_OPT_BOND }; -enum ANGLE_LINE_OPTS { OPT_NOANGLE, OPT_ANGLE_BASIC, NR_OPT_ANGLE }; +namespace ReaxFF { + + enum ATOM_LINE_OPTS { OPT_NOATOM = 0, OPT_ATOM_BASIC = 4, OPT_ATOM_wF = 5, OPT_ATOM_wV = 6, OPT_ATOM_FULL = 7, NR_OPT_ATOM = 8 }; + enum BOND_LINE_OPTS { OPT_NOBOND, OPT_BOND_BASIC, OPT_BOND_FULL, NR_OPT_BOND }; + enum ANGLE_LINE_OPTS { OPT_NOANGLE, OPT_ANGLE_BASIC, NR_OPT_ANGLE }; -std::string fmtline(const char *key, double val) -{ - return fmt::format("{:<37}{:<24.3f}\n",key,val); -} -std::string fmtline(const char *key, double val1, double val2, double val3) -{ - return fmt::format("{:<32}{:>9.3f},{:>9.3f},{:>9.3f}\n",key,val1,val2,val3); -} - -template -std::string fmtline(const char *key, T val) -{ - return fmt::format("{:<37}{:<24}\n",key,val); -} - -template -std::string fmtline(const char *key, T val1, T val2) -{ - return fmt::format("{:<36}{:<12},{:<12}\n",key,val1,val2); -} - -void Reallocate_Output_Buffer(LAMMPS_NS::Error *error_ptr, output_controls *out_control, int req_space) -{ - if (out_control->buffer_len > 0) - free(out_control->buffer); - - out_control->buffer_len = (int)(req_space*REAX_SAFE_ZONE); - out_control->buffer = (char*) malloc(out_control->buffer_len*sizeof(char)); - if (!out_control->buffer) - error_ptr->one(FLERR,fmt::format("Insufficient memory for required buffer " - "size {}", (req_space*REAX_SAFE_ZONE))); -} - -void Write_Skip_Line(output_controls *out_control, int my_rank, int skip, int num_section) -{ - if (my_rank == MASTER_NODE) - fmt::print(out_control->strj,fmtline("chars_to_skip_section:",skip,num_section)); -} - -void Write_Header(reax_system *system, control_params *control, output_controls *out_control) -{ - char atom_formats[8][40] = { "none", "invalid", "invalid", "invalid", - "xyz_q", - "xyz_q_fxfyfz", - "xyz_q_vxvyvz", - "detailed_atom_info" }; - char bond_formats[3][30] = { "none", - "basic_bond_info", - "detailed_bond_info" }; - char angle_formats[2][30] = { "none", "basic_angle_info" }; - - /* only the master node writes into trajectory header */ - if (system->my_rank == MASTER_NODE) { - std::string buffer(""); - - /* to skip the header */ - buffer += fmtline("chars_to_skip_header:",(NUM_HEADER_LINES-1) * HEADER_LINE_LEN); - - /* general simulation info */ - buffer += fmtline("simulation_name:", out_control->traj_title); - buffer += fmtline("number_of_atoms:", system->bigN); - buffer += fmtline("ensemble_type:", "(unknown)"); - buffer += fmtline("number_of_steps:", 0); - buffer += fmtline("timestep_length_(in_fs):", 0.0); - - /* restart info */ - buffer += fmtline("is_this_a_restart?:", "no"); - buffer += fmtline("write_restart_files?:", "no"); - buffer += fmtline("frequency_to_write_restarts:", 0); - - /* preferences */ - buffer += fmtline("tabulate_long_range_intrs?:",(control->tabulate ? "yes" : "no")); - buffer += fmtline("table_size:", control->tabulate); - buffer += fmtline("restrict_bonds?:", "no"); - buffer += fmtline("bond_restriction_length:", 0); - buffer += fmtline("reposition_atoms?:", "fit to periodic box"); - buffer += fmtline("remove_CoM_velocity?:", 0); - buffer += fmtline("bonded_intr_dist_cutoff:",control->bond_cut); - buffer += fmtline("nonbonded_intr_dist_cutoff:",control->nonb_cut); - buffer += fmtline("hbond_dist_cutoff:",control->hbond_cut); - buffer += fmtline("reax_bond_threshold:",control->bo_cut); - buffer += fmtline("physical_bond_threshold:", control->bg_cut); - buffer += fmtline("valence_angle_threshold:",control->thb_cut); - buffer += fmtline("QEq_tolerance:", 0.0); - - /* temperature controls */ - buffer += fmtline("initial_temperature:", 0.0); - buffer += fmtline("target_temperature:", 0.0); - buffer += fmtline("thermal_inertia:", 0.0); - buffer += fmtline("temperature_regime:", "(unknown)"); - buffer += fmtline("temperature_change_rate_(K/ps):", 0.0); - - /* pressure controls */ - buffer += fmtline("target_pressure_(GPa):", 0.0, 0.0, 0.0); - buffer += fmtline("virial_inertia:", 0.0, 0.0, 0.0); - - /* trajectory */ - buffer += fmtline("energy_dumping_freq:", out_control->energy_update_freq); - buffer += fmtline("trajectory_dumping_freq:",out_control->write_steps); - buffer += fmtline("compress_trajectory_output?:", "no"); - buffer += fmtline("trajectory_format:", "regular"); - buffer += fmtline("atom_info:", atom_formats[out_control->atom_info]); - buffer += fmtline("bond_info:", bond_formats[out_control->bond_info]); - buffer += fmtline("angle_info:", angle_formats[out_control->angle_info]); - - /* analysis */ - buffer += fmtline("molecular_analysis:", "no"); - buffer += fmtline("molecular_analysis_frequency:", 0); - - /* dump out the buffer */ - - fputs(buffer.c_str(),out_control->strj); - } -} - -void Write_Init_Desc(reax_system *system, output_controls *out_control, MPI_Comm world) -{ - int i, me, np, cnt, buffer_len, buffer_req; - reax_atom *p_atom; - MPI_Status status; - - me = system->my_rank; - np = system->wsize; - - /* skip info */ - Write_Skip_Line(out_control, me, system->bigN*INIT_DESC_LEN, system->bigN); - - if (me == MASTER_NODE) - buffer_req = system->bigN * INIT_DESC_LEN + 1; - else buffer_req = system->n * INIT_DESC_LEN + 1; - - if (buffer_req > out_control->buffer_len * DANGER_ZONE) - Reallocate_Output_Buffer(system->error_ptr, out_control, buffer_req); - - out_control->buffer[0] = 0; - for (i = 0; i < system->n; ++i) { - p_atom = &(system->my_atoms[i]); - auto buffer = fmt::format("{:9}{:3}{:9}{:10.3f}\n", - p_atom->orig_id, p_atom->type, p_atom->name, - system->reax_param.sbp[p_atom->type].mass); - strncpy(out_control->buffer + i*INIT_DESC_LEN, buffer.c_str(), INIT_DESC_LEN+1); + std::string fmtline(const char *key, double val) + { + return fmt::format("{:<37}{:<24.3f}\n",key,val); } - if (me != MASTER_NODE) { - MPI_Send(out_control->buffer, buffer_req-1, MPI_CHAR, MASTER_NODE, - np * INIT_DESCS + me, world); - } else { - buffer_len = system->n * INIT_DESC_LEN; - for (i = 0; i < np; ++i) - if (i != MASTER_NODE) { - MPI_Recv(out_control->buffer + buffer_len, buffer_req - buffer_len, - MPI_CHAR, i, np*INIT_DESCS+i, world, &status); - MPI_Get_count(&status, MPI_CHAR, &cnt); - buffer_len += cnt; - } - out_control->buffer[buffer_len] = 0; - fputs(out_control->buffer,out_control->strj); + std::string fmtline(const char *key, double val1, double val2, double val3) + { + return fmt::format("{:<32}{:>9.3f},{:>9.3f},{:>9.3f}\n",key,val1,val2,val3); } -} -void Init_Traj(reax_system *system, control_params *control, - output_controls *out_control, MPI_Comm world) -{ - int atom_line_len[NR_OPT_ATOM] = { 0, 0, 0, 0, ATOM_BASIC_LEN, ATOM_wV_LEN, ATOM_wF_LEN, ATOM_FULL_LEN}; - int bond_line_len[NR_OPT_BOND] = { 0, BOND_BASIC_LEN, BOND_FULL_LEN }; - int angle_line_len[NR_OPT_ANGLE] = { 0, ANGLE_BASIC_LEN }; + template + std::string fmtline(const char *key, T val) + { + return fmt::format("{:<37}{:<24}\n",key,val); + } - /* generate trajectory name */ - auto fname = std::string(control->sim_name) + ".trj"; + template + std::string fmtline(const char *key, T val1, T val2) + { + return fmt::format("{:<36}{:<12},{:<12}\n",key,val1,val2); + } - /* how should I write atoms? */ - out_control->atom_line_len = atom_line_len[out_control->atom_info]; - out_control->write_atoms = (out_control->atom_line_len ? 1 : 0); - /* bonds? */ - out_control->bond_line_len = bond_line_len[out_control->bond_info]; - out_control->write_bonds = (out_control->bond_line_len ? 1 : 0); - /* angles? */ - out_control->angle_line_len = angle_line_len[out_control->angle_info]; - out_control->write_angles = (out_control->angle_line_len ? 1 : 0); + static void Reallocate_Output_Buffer(LAMMPS_NS::Error *error_ptr, output_controls *out_control, int req_space) + { + if (out_control->buffer_len > 0) + free(out_control->buffer); - /* allocate line & buffer space */ - out_control->buffer_len = 0; - out_control->buffer = nullptr; + out_control->buffer_len = (int)(req_space*REAX_SAFE_ZONE); + out_control->buffer = (char*) malloc(out_control->buffer_len*sizeof(char)); + if (!out_control->buffer) + error_ptr->one(FLERR,fmt::format("Insufficient memory for required buffer " + "size {}", (req_space*REAX_SAFE_ZONE))); + } - /* write trajectory header and atom info, if applicable */ - if (system->my_rank == MASTER_NODE) - out_control->strj = fopen(fname.c_str(), "w"); + static void Write_Skip_Line(output_controls *out_control, int my_rank, int skip, int num_section) + { + if (my_rank == MASTER_NODE) + fmt::print(out_control->strj,fmtline("chars_to_skip_section:",skip,num_section)); + } - Write_Header(system, control, out_control); - Write_Init_Desc(system, out_control, world); -} + static void Write_Header(reax_system *system, control_params *control, output_controls *out_control) + { + char atom_formats[8][40] = { "none", "invalid", "invalid", "invalid", + "xyz_q", + "xyz_q_fxfyfz", + "xyz_q_vxvyvz", + "detailed_atom_info" }; + char bond_formats[3][30] = { "none", + "basic_bond_info", + "detailed_bond_info" }; + char angle_formats[2][30] = { "none", "basic_angle_info" }; -void Write_Frame_Header(reax_system *system, simulation_data *data, output_controls *out_control) -{ - const int me = system->my_rank; - /* frame header lengths */ - constexpr int num_frm_hdr_lines = 22; + /* only the master node writes into trajectory header */ + if (system->my_rank == MASTER_NODE) { + std::string buffer(""); - /* only the master node writes into trajectory header */ - if (me == MASTER_NODE) { - std::string buffer(""); + /* to skip the header */ + buffer += fmtline("chars_to_skip_header:",(NUM_HEADER_LINES-1) * HEADER_LINE_LEN); + + /* general simulation info */ + buffer += fmtline("simulation_name:", out_control->traj_title); + buffer += fmtline("number_of_atoms:", system->bigN); + buffer += fmtline("ensemble_type:", "(unknown)"); + buffer += fmtline("number_of_steps:", 0); + buffer += fmtline("timestep_length_(in_fs):", 0.0); + + /* restart info */ + buffer += fmtline("is_this_a_restart?:", "no"); + buffer += fmtline("write_restart_files?:", "no"); + buffer += fmtline("frequency_to_write_restarts:", 0); + + /* preferences */ + buffer += fmtline("tabulate_long_range_intrs?:",(control->tabulate ? "yes" : "no")); + buffer += fmtline("table_size:", control->tabulate); + buffer += fmtline("restrict_bonds?:", "no"); + buffer += fmtline("bond_restriction_length:", 0); + buffer += fmtline("reposition_atoms?:", "fit to periodic box"); + buffer += fmtline("remove_CoM_velocity?:", 0); + buffer += fmtline("bonded_intr_dist_cutoff:",control->bond_cut); + buffer += fmtline("nonbonded_intr_dist_cutoff:",control->nonb_cut); + buffer += fmtline("hbond_dist_cutoff:",control->hbond_cut); + buffer += fmtline("reax_bond_threshold:",control->bo_cut); + buffer += fmtline("physical_bond_threshold:", control->bg_cut); + buffer += fmtline("valence_angle_threshold:",control->thb_cut); + buffer += fmtline("QEq_tolerance:", 0.0); + + /* temperature controls */ + buffer += fmtline("initial_temperature:", 0.0); + buffer += fmtline("target_temperature:", 0.0); + buffer += fmtline("thermal_inertia:", 0.0); + buffer += fmtline("temperature_regime:", "(unknown)"); + buffer += fmtline("temperature_change_rate_(K/ps):", 0.0); + + /* pressure controls */ + buffer += fmtline("target_pressure_(GPa):", 0.0, 0.0, 0.0); + buffer += fmtline("virial_inertia:", 0.0, 0.0, 0.0); + + /* trajectory */ + buffer += fmtline("energy_dumping_freq:", out_control->energy_update_freq); + buffer += fmtline("trajectory_dumping_freq:",out_control->write_steps); + buffer += fmtline("compress_trajectory_output?:", "no"); + buffer += fmtline("trajectory_format:", "regular"); + buffer += fmtline("atom_info:", atom_formats[out_control->atom_info]); + buffer += fmtline("bond_info:", bond_formats[out_control->bond_info]); + buffer += fmtline("angle_info:", angle_formats[out_control->angle_info]); + + /* analysis */ + buffer += fmtline("molecular_analysis:", "no"); + buffer += fmtline("molecular_analysis_frequency:", 0); + + /* dump out the buffer */ + + fputs(buffer.c_str(),out_control->strj); + } + } + + static void Write_Init_Desc(reax_system *system, output_controls *out_control, MPI_Comm world) + { + int i, me, np, cnt, buffer_len, buffer_req; + reax_atom *p_atom; + MPI_Status status; + + me = system->my_rank; + np = system->wsize; /* skip info */ - buffer += fmtline("chars_to_skip_frame_header:", (num_frm_hdr_lines-1)*HEADER_LINE_LEN); + Write_Skip_Line(out_control, me, system->bigN*INIT_DESC_LEN, system->bigN); - /* step & time */ - buffer += fmtline("step:", data->step); - buffer += fmtline("time_in_ps:", 0.0); + if (me == MASTER_NODE) + buffer_req = system->bigN * INIT_DESC_LEN + 1; + else buffer_req = system->n * INIT_DESC_LEN + 1; - /* box info */ - buffer += fmtline("volume:", 0.0); - buffer += fmtline("box_dimensions:", 0.0, 0.0, 0.0); - buffer += fmtline("coordinate_angles:", 90.0, 90.0, 90.0); + if (buffer_req > out_control->buffer_len * DANGER_ZONE) + Reallocate_Output_Buffer(system->error_ptr, out_control, buffer_req); - /* system T and P */ - buffer += fmtline("temperature:", 0.0); - buffer += fmtline("pressure:", 0.0); - - /* energies */ - double epot = data->sys_en.e_bond + data->sys_en.e_ov + data->sys_en.e_un - + data->sys_en.e_lp + data->sys_en.e_ang + data->sys_en.e_pen - + data->sys_en.e_coa + data->sys_en.e_hb + data->sys_en.e_tor - + data->sys_en.e_con + data->sys_en.e_vdW - + data->sys_en.e_ele + data->my_en.e_pol; - - buffer += fmtline("total_energy:", epot); - buffer += fmtline("total_kinetic:", 0.0); - buffer += fmtline("total_potential:", epot); - buffer += fmtline("bond_energy:", data->sys_en.e_bond); - buffer += fmtline("atom_energy:", data->sys_en.e_ov + data->sys_en.e_un); - buffer += fmtline("lone_pair_energy:", data->sys_en.e_lp); - buffer += fmtline("valence_angle_energy:", data->sys_en.e_ang + data->sys_en.e_pen); - buffer += fmtline("3-body_conjugation:", data->sys_en.e_coa); - buffer += fmtline("hydrogen_bond_energy:", data->sys_en.e_hb); - buffer += fmtline("torsion_angle_energy:", data->sys_en.e_tor); - buffer += fmtline("4-body_conjugation:", data->sys_en.e_con); - buffer += fmtline("vdWaals_energy:", data->sys_en.e_vdW); - buffer += fmtline("electrostatics_energy:", data->sys_en.e_ele); - buffer += fmtline("polarization_energy:", data->sys_en.e_pol); - - /* dump out the buffer */ - fputs(buffer.c_str(),out_control->strj); - } -} - -void Write_Atoms(reax_system *system, output_controls *out_control, - MPI_Comm world) -{ - int i, me, np, line_len, buffer_len, buffer_req, cnt; - MPI_Status status; - reax_atom *p_atom; - - me = system->my_rank; - np = system->wsize; - line_len = out_control->atom_line_len; - - Write_Skip_Line(out_control, me, system->bigN*line_len, system->bigN); - - if (me == MASTER_NODE) - buffer_req = system->bigN * line_len + 1; - else buffer_req = system->n * line_len + 1; - - if (buffer_req > out_control->buffer_len * DANGER_ZONE) - Reallocate_Output_Buffer(system->error_ptr, out_control, buffer_req); - - /* fill in buffer */ - out_control->buffer[0] = 0; - - for (i = 0; i < system->n; ++i) { - std::string buffer(""); - p_atom = &(system->my_atoms[i]); - buffer += fmt::format("{:9}{:10.3f}{:10.3f}{:10.3f}",p_atom->orig_id, - p_atom->x[0], p_atom->x[1],p_atom->x[2]); - - switch (out_control->atom_info) { - case OPT_ATOM_BASIC: - buffer += fmt::format("{:10.3f}\n",p_atom->q); - break; - case OPT_ATOM_wF: - buffer += fmt::format("{:10.3f}{:10.3f}{:10.3f}{:10.3f}\n", - p_atom->f[0], p_atom->f[1], p_atom->f[2], p_atom->q); - break; - case OPT_ATOM_wV: - buffer += fmt::format("{:10.3f}{:10.3f}{:10.3f}{:10.3f}\n", - p_atom->v[0], p_atom->v[1], p_atom->v[2], p_atom->q); - break; - case OPT_ATOM_FULL: - buffer += fmt::format("{:10.3f}{:10.3f}{:10.3f}{:10.3f}{:10.3f}{:10.3f}\n", - p_atom->v[0], p_atom->v[1], p_atom->v[2], - p_atom->f[0], p_atom->f[1], p_atom->f[2], p_atom->q); - break; - default: - system->error_ptr->one(FLERR,"Write_traj_atoms: unknown atom trajectory format"); + out_control->buffer[0] = 0; + for (i = 0; i < system->n; ++i) { + p_atom = &(system->my_atoms[i]); + auto buffer = fmt::format("{:9}{:3}{:9}{:10.3f}\n", + p_atom->orig_id, p_atom->type, p_atom->name, + system->reax_param.sbp[p_atom->type].mass); + strncpy(out_control->buffer + i*INIT_DESC_LEN, buffer.c_str(), INIT_DESC_LEN+1); } - strncpy(out_control->buffer + i*line_len, buffer.c_str(), line_len+1); + if (me != MASTER_NODE) { + MPI_Send(out_control->buffer, buffer_req-1, MPI_CHAR, MASTER_NODE, + np * INIT_DESCS + me, world); + } else { + buffer_len = system->n * INIT_DESC_LEN; + for (i = 0; i < np; ++i) + if (i != MASTER_NODE) { + MPI_Recv(out_control->buffer + buffer_len, buffer_req - buffer_len, + MPI_CHAR, i, np*INIT_DESCS+i, world, &status); + MPI_Get_count(&status, MPI_CHAR, &cnt); + buffer_len += cnt; + } + out_control->buffer[buffer_len] = 0; + fputs(out_control->buffer,out_control->strj); + } } - if (me != MASTER_NODE) { - MPI_Send(out_control->buffer, buffer_req-1, MPI_CHAR, MASTER_NODE, - np*ATOM_LINES+me, world); - } else { - buffer_len = system->n * line_len; - for (i = 0; i < np; ++i) - if (i != MASTER_NODE) { - MPI_Recv(out_control->buffer + buffer_len, buffer_req - buffer_len, - MPI_CHAR, i, np*ATOM_LINES+i, world, &status); - MPI_Get_count(&status, MPI_CHAR, &cnt); - buffer_len += cnt; - } - out_control->buffer[buffer_len] = 0; - fputs(out_control->buffer, out_control->strj); - } -} - -void Write_Bonds(reax_system *system, control_params *control, reax_list *bonds, + void Init_Traj(reax_system *system, control_params *control, output_controls *out_control, MPI_Comm world) -{ - int i, j, pj, me, np; - int my_bonds, num_bonds; - int line_len, buffer_len, buffer_req, cnt; - MPI_Status status; - bond_data *bo_ij; + { + int atom_line_len[NR_OPT_ATOM] = { 0, 0, 0, 0, ATOM_BASIC_LEN, ATOM_wV_LEN, ATOM_wF_LEN, ATOM_FULL_LEN}; + int bond_line_len[NR_OPT_BOND] = { 0, BOND_BASIC_LEN, BOND_FULL_LEN }; + int angle_line_len[NR_OPT_ANGLE] = { 0, ANGLE_BASIC_LEN }; - me = system->my_rank; - np = system->wsize; - line_len = out_control->bond_line_len; + /* generate trajectory name */ + auto fname = std::string(control->sim_name) + ".trj"; - /* count the number of bonds I will write */ - my_bonds = 0; - for (i=0; i < system->n; ++i) - for (pj = Start_Index(i, bonds); pj < End_Index(i, bonds); ++pj) { - j = bonds->select.bond_list[pj].nbr; - if (system->my_atoms[i].orig_id <= system->my_atoms[j].orig_id && - bonds->select.bond_list[pj].bo_data.BO >= control->bg_cut) - ++my_bonds; - } + /* how should I write atoms? */ + out_control->atom_line_len = atom_line_len[out_control->atom_info]; + out_control->write_atoms = (out_control->atom_line_len ? 1 : 0); + /* bonds? */ + out_control->bond_line_len = bond_line_len[out_control->bond_info]; + out_control->write_bonds = (out_control->bond_line_len ? 1 : 0); + /* angles? */ + out_control->angle_line_len = angle_line_len[out_control->angle_info]; + out_control->write_angles = (out_control->angle_line_len ? 1 : 0); - /* allreduce - total number of bonds */ - MPI_Allreduce(&my_bonds, &num_bonds, 1, MPI_INT, MPI_SUM, world); + /* allocate line & buffer space */ + out_control->buffer_len = 0; + out_control->buffer = nullptr; - Write_Skip_Line(out_control, me, num_bonds*line_len, num_bonds); + /* write trajectory header and atom info, if applicable */ + if (system->my_rank == MASTER_NODE) + out_control->strj = fopen(fname.c_str(), "w"); - if (me == MASTER_NODE) - buffer_req = num_bonds * line_len + 1; - else buffer_req = my_bonds * line_len + 1; + Write_Header(system, control, out_control); + Write_Init_Desc(system, out_control, world); + } - if (buffer_req > out_control->buffer_len * DANGER_ZONE) - Reallocate_Output_Buffer(system->error_ptr, out_control, buffer_req); + static void Write_Frame_Header(reax_system *system, simulation_data *data, output_controls *out_control) + { + const int me = system->my_rank; + /* frame header lengths */ + constexpr int num_frm_hdr_lines = 22; - /* fill in the buffer */ - out_control->buffer[0] = 0; + /* only the master node writes into trajectory header */ + if (me == MASTER_NODE) { + std::string buffer(""); - my_bonds = 0; - for (i=0; i < system->n; ++i) { - for (pj = Start_Index(i, bonds); pj < End_Index(i, bonds); ++pj) { - bo_ij = &(bonds->select.bond_list[pj]); - j = bo_ij->nbr; + /* skip info */ + buffer += fmtline("chars_to_skip_frame_header:", (num_frm_hdr_lines-1)*HEADER_LINE_LEN); - if (system->my_atoms[i].orig_id <= system->my_atoms[j].orig_id && - bo_ij->bo_data.BO >= control->bg_cut) { - auto buffer = fmt::format("{:9}{:9}{:10.3f}{:10.3f}", system->my_atoms[i].orig_id, - system->my_atoms[j].orig_id,bo_ij->d,bo_ij->bo_data.BO); + /* step & time */ + buffer += fmtline("step:", data->step); + buffer += fmtline("time_in_ps:", 0.0); - switch (out_control->bond_info) { - case OPT_BOND_BASIC: - buffer += "\n"; - break; - case OPT_BOND_FULL: - buffer += fmt::format("{:10.3f}{:10.3f}{:10.3f}\n", bo_ij->bo_data.BO_s, - bo_ij->bo_data.BO_pi, bo_ij->bo_data.BO_pi2); - break; - default: - system->error_ptr->one(FLERR, "Write_traj_bonds: FATAL! invalid bond_info option"); - } - strncpy(out_control->buffer + my_bonds*line_len, buffer.c_str(), line_len+1); - ++my_bonds; - } + /* box info */ + buffer += fmtline("volume:", 0.0); + buffer += fmtline("box_dimensions:", 0.0, 0.0, 0.0); + buffer += fmtline("coordinate_angles:", 90.0, 90.0, 90.0); + + /* system T and P */ + buffer += fmtline("temperature:", 0.0); + buffer += fmtline("pressure:", 0.0); + + /* energies */ + double epot = data->sys_en.e_bond + data->sys_en.e_ov + data->sys_en.e_un + + data->sys_en.e_lp + data->sys_en.e_ang + data->sys_en.e_pen + + data->sys_en.e_coa + data->sys_en.e_hb + data->sys_en.e_tor + + data->sys_en.e_con + data->sys_en.e_vdW + + data->sys_en.e_ele + data->my_en.e_pol; + + buffer += fmtline("total_energy:", epot); + buffer += fmtline("total_kinetic:", 0.0); + buffer += fmtline("total_potential:", epot); + buffer += fmtline("bond_energy:", data->sys_en.e_bond); + buffer += fmtline("atom_energy:", data->sys_en.e_ov + data->sys_en.e_un); + buffer += fmtline("lone_pair_energy:", data->sys_en.e_lp); + buffer += fmtline("valence_angle_energy:", data->sys_en.e_ang + data->sys_en.e_pen); + buffer += fmtline("3-body_conjugation:", data->sys_en.e_coa); + buffer += fmtline("hydrogen_bond_energy:", data->sys_en.e_hb); + buffer += fmtline("torsion_angle_energy:", data->sys_en.e_tor); + buffer += fmtline("4-body_conjugation:", data->sys_en.e_con); + buffer += fmtline("vdWaals_energy:", data->sys_en.e_vdW); + buffer += fmtline("electrostatics_energy:", data->sys_en.e_ele); + buffer += fmtline("polarization_energy:", data->sys_en.e_pol); + + /* dump out the buffer */ + fputs(buffer.c_str(),out_control->strj); } } - if (me != MASTER_NODE) { - MPI_Send(out_control->buffer, buffer_req-1, MPI_CHAR, MASTER_NODE, np*BOND_LINES+me, world); - } else { - buffer_len = my_bonds * line_len; - for (i = 0; i < np; ++i) - if (i != MASTER_NODE) { - MPI_Recv(out_control->buffer + buffer_len, buffer_req - buffer_len, - MPI_CHAR, i, np*BOND_LINES+i, world, &status); - MPI_Get_count(&status, MPI_CHAR, &cnt); - buffer_len += cnt; + static void Write_Atoms(reax_system *system, output_controls *out_control, + MPI_Comm world) + { + int i, me, np, line_len, buffer_len, buffer_req, cnt; + MPI_Status status; + reax_atom *p_atom; + + me = system->my_rank; + np = system->wsize; + line_len = out_control->atom_line_len; + + Write_Skip_Line(out_control, me, system->bigN*line_len, system->bigN); + + if (me == MASTER_NODE) + buffer_req = system->bigN * line_len + 1; + else buffer_req = system->n * line_len + 1; + + if (buffer_req > out_control->buffer_len * DANGER_ZONE) + Reallocate_Output_Buffer(system->error_ptr, out_control, buffer_req); + + /* fill in buffer */ + out_control->buffer[0] = 0; + + for (i = 0; i < system->n; ++i) { + std::string buffer(""); + p_atom = &(system->my_atoms[i]); + buffer += fmt::format("{:9}{:10.3f}{:10.3f}{:10.3f}",p_atom->orig_id, + p_atom->x[0], p_atom->x[1],p_atom->x[2]); + + switch (out_control->atom_info) { + case OPT_ATOM_BASIC: + buffer += fmt::format("{:10.3f}\n",p_atom->q); + break; + case OPT_ATOM_wF: + buffer += fmt::format("{:10.3f}{:10.3f}{:10.3f}{:10.3f}\n", + p_atom->f[0], p_atom->f[1], p_atom->f[2], p_atom->q); + break; + case OPT_ATOM_wV: + buffer += fmt::format("{:10.3f}{:10.3f}{:10.3f}{:10.3f}\n", + p_atom->v[0], p_atom->v[1], p_atom->v[2], p_atom->q); + break; + case OPT_ATOM_FULL: + buffer += fmt::format("{:10.3f}{:10.3f}{:10.3f}{:10.3f}{:10.3f}{:10.3f}\n", + p_atom->v[0], p_atom->v[1], p_atom->v[2], + p_atom->f[0], p_atom->f[1], p_atom->f[2], p_atom->q); + break; + default: + system->error_ptr->one(FLERR,"Write_traj_atoms: unknown atom trajectory format"); } - out_control->buffer[buffer_len] = 0; - fputs(out_control->buffer,out_control->strj); - } -} -void Write_Angles(reax_system *system, control_params *control, - reax_list *bonds, reax_list *thb_intrs, - output_controls *out_control, MPI_Comm world) -{ - int i, j, k, pi, pk, me, np; - int my_angles, num_angles; - int line_len, buffer_len, buffer_req, cnt; - bond_data *bo_ij, *bo_jk; - three_body_interaction_data *angle_ijk; - MPI_Status status; - - me = system->my_rank; - np = system->wsize; - line_len = out_control->angle_line_len; - - /* count the number of valence angles I will output */ - my_angles = 0; - for (j = 0; j < system->n; ++j) - for (pi = Start_Index(j, bonds); pi < End_Index(j, bonds); ++pi) { - bo_ij = &(bonds->select.bond_list[pi]); - i = bo_ij->nbr; - - if (bo_ij->bo_data.BO >= control->bg_cut) // physical j&i bond - for (pk = Start_Index(pi, thb_intrs); - pk < End_Index(pi, thb_intrs); ++pk) { - angle_ijk = &(thb_intrs->select.three_body_list[pk]); - k = angle_ijk->thb; - bo_jk = &(bonds->select.bond_list[ angle_ijk->pthb ]); - - if (system->my_atoms[i].orig_id < system->my_atoms[k].orig_id && - bo_jk->bo_data.BO >= control->bg_cut) // physical j&k bond - ++my_angles; - } + strncpy(out_control->buffer + i*line_len, buffer.c_str(), line_len+1); } - /* total number of valences */ - MPI_Allreduce(&my_angles, &num_angles, 1, MPI_INT, MPI_SUM, world); - Write_Skip_Line(out_control, me, num_angles*line_len, num_angles); + if (me != MASTER_NODE) { + MPI_Send(out_control->buffer, buffer_req-1, MPI_CHAR, MASTER_NODE, + np*ATOM_LINES+me, world); + } else { + buffer_len = system->n * line_len; + for (i = 0; i < np; ++i) + if (i != MASTER_NODE) { + MPI_Recv(out_control->buffer + buffer_len, buffer_req - buffer_len, + MPI_CHAR, i, np*ATOM_LINES+i, world, &status); + MPI_Get_count(&status, MPI_CHAR, &cnt); + buffer_len += cnt; + } + out_control->buffer[buffer_len] = 0; + fputs(out_control->buffer, out_control->strj); + } + } - if (me == MASTER_NODE) - buffer_req = num_angles * line_len + 1; - else buffer_req = my_angles * line_len + 1; + static void Write_Bonds(reax_system *system, control_params *control, reax_list *bonds, + output_controls *out_control, MPI_Comm world) + { + int i, j, pj, me, np; + int my_bonds, num_bonds; + int line_len, buffer_len, buffer_req, cnt; + MPI_Status status; + bond_data *bo_ij; - if (buffer_req > out_control->buffer_len * DANGER_ZONE) - Reallocate_Output_Buffer(system->error_ptr, out_control, buffer_req); + me = system->my_rank; + np = system->wsize; + line_len = out_control->bond_line_len; - /* fill in the buffer */ - my_angles = 0; - out_control->buffer[0] = 0; - for (j = 0; j < system->n; ++j) - for (pi = Start_Index(j, bonds); pi < End_Index(j, bonds); ++pi) { - bo_ij = &(bonds->select.bond_list[pi]); - i = bo_ij->nbr; + /* count the number of bonds I will write */ + my_bonds = 0; + for (i=0; i < system->n; ++i) + for (pj = Start_Index(i, bonds); pj < End_Index(i, bonds); ++pj) { + j = bonds->select.bond_list[pj].nbr; + if (system->my_atoms[i].orig_id <= system->my_atoms[j].orig_id && + bonds->select.bond_list[pj].bo_data.BO >= control->bg_cut) + ++my_bonds; + } - if (bo_ij->bo_data.BO >= control->bg_cut) // physical j&i bond - for (pk = Start_Index(pi, thb_intrs); - pk < End_Index(pi, thb_intrs); ++pk) { - angle_ijk = &(thb_intrs->select.three_body_list[pk]); - k = angle_ijk->thb; - bo_jk = &(bonds->select.bond_list[ angle_ijk->pthb ]); + /* allreduce - total number of bonds */ + MPI_Allreduce(&my_bonds, &num_bonds, 1, MPI_INT, MPI_SUM, world); - if (system->my_atoms[i].orig_id < system->my_atoms[k].orig_id && - bo_jk->bo_data.BO >= control->bg_cut) { // physical j&k bond - auto buffer = fmt::format("{:9}{:9}{:9}{:10.3f}\n", - system->my_atoms[i].orig_id, system->my_atoms[j].orig_id, - system->my_atoms[k].orig_id, RAD2DEG(angle_ijk->theta)); + Write_Skip_Line(out_control, me, num_bonds*line_len, num_bonds); - strncpy(out_control->buffer + my_angles*line_len, buffer.c_str(), line_len+1); - ++my_angles; + if (me == MASTER_NODE) + buffer_req = num_bonds * line_len + 1; + else buffer_req = my_bonds * line_len + 1; + + if (buffer_req > out_control->buffer_len * DANGER_ZONE) + Reallocate_Output_Buffer(system->error_ptr, out_control, buffer_req); + + /* fill in the buffer */ + out_control->buffer[0] = 0; + + my_bonds = 0; + for (i=0; i < system->n; ++i) { + for (pj = Start_Index(i, bonds); pj < End_Index(i, bonds); ++pj) { + bo_ij = &(bonds->select.bond_list[pj]); + j = bo_ij->nbr; + + if (system->my_atoms[i].orig_id <= system->my_atoms[j].orig_id && + bo_ij->bo_data.BO >= control->bg_cut) { + auto buffer = fmt::format("{:9}{:9}{:10.3f}{:10.3f}", system->my_atoms[i].orig_id, + system->my_atoms[j].orig_id,bo_ij->d,bo_ij->bo_data.BO); + + switch (out_control->bond_info) { + case OPT_BOND_BASIC: + buffer += "\n"; + break; + case OPT_BOND_FULL: + buffer += fmt::format("{:10.3f}{:10.3f}{:10.3f}\n", bo_ij->bo_data.BO_s, + bo_ij->bo_data.BO_pi, bo_ij->bo_data.BO_pi2); + break; + default: + system->error_ptr->one(FLERR, "Write_traj_bonds: FATAL! invalid bond_info option"); } + strncpy(out_control->buffer + my_bonds*line_len, buffer.c_str(), line_len+1); + ++my_bonds; } + } } - if (me != MASTER_NODE) { - MPI_Send(out_control->buffer, buffer_req-1, MPI_CHAR, MASTER_NODE, - np*ANGLE_LINES+me, world); - } else { - buffer_len = my_angles * line_len; - for (i = 0; i < np; ++i) - if (i != MASTER_NODE) { - MPI_Recv(out_control->buffer + buffer_len, buffer_req - buffer_len, - MPI_CHAR, i, np*ANGLE_LINES+i, world, &status); - MPI_Get_count(&status, MPI_CHAR, &cnt); - buffer_len += cnt; + if (me != MASTER_NODE) { + MPI_Send(out_control->buffer, buffer_req-1, MPI_CHAR, MASTER_NODE, np*BOND_LINES+me, world); + } else { + buffer_len = my_bonds * line_len; + for (i = 0; i < np; ++i) + if (i != MASTER_NODE) { + MPI_Recv(out_control->buffer + buffer_len, buffer_req - buffer_len, + MPI_CHAR, i, np*BOND_LINES+i, world, &status); + MPI_Get_count(&status, MPI_CHAR, &cnt); + buffer_len += cnt; + } + out_control->buffer[buffer_len] = 0; + fputs(out_control->buffer,out_control->strj); + } + } + + static void Write_Angles(reax_system *system, control_params *control, + reax_list *bonds, reax_list *thb_intrs, + output_controls *out_control, MPI_Comm world) + { + int i, j, k, pi, pk, me, np; + int my_angles, num_angles; + int line_len, buffer_len, buffer_req, cnt; + bond_data *bo_ij, *bo_jk; + three_body_interaction_data *angle_ijk; + MPI_Status status; + + me = system->my_rank; + np = system->wsize; + line_len = out_control->angle_line_len; + + /* count the number of valence angles I will output */ + my_angles = 0; + for (j = 0; j < system->n; ++j) + for (pi = Start_Index(j, bonds); pi < End_Index(j, bonds); ++pi) { + bo_ij = &(bonds->select.bond_list[pi]); + i = bo_ij->nbr; + + if (bo_ij->bo_data.BO >= control->bg_cut) // physical j&i bond + for (pk = Start_Index(pi, thb_intrs); + pk < End_Index(pi, thb_intrs); ++pk) { + angle_ijk = &(thb_intrs->select.three_body_list[pk]); + k = angle_ijk->thb; + bo_jk = &(bonds->select.bond_list[ angle_ijk->pthb ]); + + if (system->my_atoms[i].orig_id < system->my_atoms[k].orig_id && + bo_jk->bo_data.BO >= control->bg_cut) // physical j&k bond + ++my_angles; + } } - out_control->buffer[buffer_len] = 0; - fputs(out_control->buffer,out_control->strj); + /* total number of valences */ + MPI_Allreduce(&my_angles, &num_angles, 1, MPI_INT, MPI_SUM, world); + + Write_Skip_Line(out_control, me, num_angles*line_len, num_angles); + + if (me == MASTER_NODE) + buffer_req = num_angles * line_len + 1; + else buffer_req = my_angles * line_len + 1; + + if (buffer_req > out_control->buffer_len * DANGER_ZONE) + Reallocate_Output_Buffer(system->error_ptr, out_control, buffer_req); + + /* fill in the buffer */ + my_angles = 0; + out_control->buffer[0] = 0; + for (j = 0; j < system->n; ++j) + for (pi = Start_Index(j, bonds); pi < End_Index(j, bonds); ++pi) { + bo_ij = &(bonds->select.bond_list[pi]); + i = bo_ij->nbr; + + if (bo_ij->bo_data.BO >= control->bg_cut) // physical j&i bond + for (pk = Start_Index(pi, thb_intrs); + pk < End_Index(pi, thb_intrs); ++pk) { + angle_ijk = &(thb_intrs->select.three_body_list[pk]); + k = angle_ijk->thb; + bo_jk = &(bonds->select.bond_list[ angle_ijk->pthb ]); + + if (system->my_atoms[i].orig_id < system->my_atoms[k].orig_id && + bo_jk->bo_data.BO >= control->bg_cut) { // physical j&k bond + auto buffer = fmt::format("{:9}{:9}{:9}{:10.3f}\n", + system->my_atoms[i].orig_id, system->my_atoms[j].orig_id, + system->my_atoms[k].orig_id, RAD2DEG(angle_ijk->theta)); + + strncpy(out_control->buffer + my_angles*line_len, buffer.c_str(), line_len+1); + ++my_angles; + } + } + } + + if (me != MASTER_NODE) { + MPI_Send(out_control->buffer, buffer_req-1, MPI_CHAR, MASTER_NODE, + np*ANGLE_LINES+me, world); + } else { + buffer_len = my_angles * line_len; + for (i = 0; i < np; ++i) + if (i != MASTER_NODE) { + MPI_Recv(out_control->buffer + buffer_len, buffer_req - buffer_len, + MPI_CHAR, i, np*ANGLE_LINES+i, world, &status); + MPI_Get_count(&status, MPI_CHAR, &cnt); + buffer_len += cnt; + } + out_control->buffer[buffer_len] = 0; + fputs(out_control->buffer,out_control->strj); + } + } + + void Append_Frame(reax_system *system, control_params *control, + simulation_data *data, reax_list **lists, + output_controls *out_control, MPI_Comm world) + { + Write_Frame_Header(system, data, out_control); + + if (out_control->write_atoms) + Write_Atoms(system, out_control, world); + + if (out_control->write_bonds) + Write_Bonds(system, control, (*lists + BONDS), out_control, world); + + if (out_control->write_angles) + Write_Angles(system, control, (*lists + BONDS), (*lists + THREE_BODIES), + out_control, world); + } + + void End_Traj(int my_rank, output_controls *out_control) + { + if (my_rank == MASTER_NODE) + fclose(out_control->strj); + + free(out_control->buffer); } } - -void Append_Frame(reax_system *system, control_params *control, - simulation_data *data, reax_list **lists, - output_controls *out_control, MPI_Comm world) -{ - Write_Frame_Header(system, data, out_control); - - if (out_control->write_atoms) - Write_Atoms(system, out_control, world); - - if (out_control->write_bonds) - Write_Bonds(system, control, (*lists + BONDS), out_control, world); - - if (out_control->write_angles) - Write_Angles(system, control, (*lists + BONDS), (*lists + THREE_BODIES), - out_control, world); -} - -void End_Traj(int my_rank, output_controls *out_control) -{ - if (my_rank == MASTER_NODE) - fclose(out_control->strj); - - free(out_control->buffer); -} diff --git a/src/USER-REAXC/reaxc_traj.h b/src/USER-REAXC/reaxc_traj.h deleted file mode 100644 index 93fa4a6771..0000000000 --- a/src/USER-REAXC/reaxc_traj.h +++ /dev/null @@ -1,38 +0,0 @@ -/*---------------------------------------------------------------------- - PuReMD - Purdue ReaxFF Molecular Dynamics Program - - Copyright (2010) Purdue University - Hasan Metin Aktulga, hmaktulga@lbl.gov - Joseph Fogarty, jcfogart@mail.usf.edu - Sagar Pandit, pandit@usf.edu - Ananth Y Grama, ayg@cs.purdue.edu - - Please cite the related publication: - H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama, - "Parallel Reactive Molecular Dynamics: Numerical Methods and - Algorithmic Techniques", Parallel Computing, in press. - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License as - published by the Free Software Foundation; either version 2 of - the License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - See the GNU General Public License for more details: - . - ----------------------------------------------------------------------*/ - -#ifndef LMP_REAXC_TRAJ_H -#define LMP_REAXC_TRAJ_H - -#include "reaxc_types.h" -#include - -void Init_Traj(reax_system *, control_params *, output_controls *, MPI_Comm); -void End_Traj(int, output_controls *); - -void Append_Frame(reax_system *, control_params *, simulation_data *, - reax_list **, output_controls *, MPI_Comm); -#endif diff --git a/src/USER-REAXC/reaxc_types.h b/src/USER-REAXC/reaxc_types.h deleted file mode 100644 index 66516d52a0..0000000000 --- a/src/USER-REAXC/reaxc_types.h +++ /dev/null @@ -1,513 +0,0 @@ -/*- -*- c++ -*- -------------------------------------------------------- - PuReMD - Purdue ReaxFF Molecular Dynamics Program - - Copyright (2010) Purdue University - Hasan Metin Aktulga, hmaktulga@lbl.gov - Joseph Fogarty, jcfogart@mail.usf.edu - Sagar Pandit, pandit@usf.edu - Ananth Y Grama, ayg@cs.purdue.edu - - Please cite the related publication: - H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama, - "Parallel Reactive Molecular Dynamics: Numerical Methods and - Algorithmic Techniques", Parallel Computing, in press. - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License as - published by the Free Software Foundation; either version 2 of - the License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - See the GNU General Public License for more details: - . - ----------------------------------------------------------------------*/ - -#ifndef LMP_REAXC_TYPES_H -#define LMP_REAXC_TYPES_H - -#include "lmptype.h" -#include -#include -#include "accelerator_kokkos.h" - -// forward declarations -namespace LAMMPS_NS { - class Error; - class LAMMPS; - class Pair; -} - -/************* SOME DEFS - crucial for reax_types.h *********/ - -#define REAX_MAX_STR 1024 -#define REAX_MAX_3BODY_PARAM 5 -#define REAX_MAX_4BODY_PARAM 5 -#define REAX_MAX_ATOM_TYPES 25 - -/********************** TYPE DEFINITIONS ********************/ -typedef int ivec[3]; -typedef double rvec[3]; -typedef double rvec2[2]; - -// import LAMMPS' definition of tagint and bigint -typedef LAMMPS_NS::tagint rc_tagint; -typedef LAMMPS_NS::bigint rc_bigint; - -struct global_parameters -{ - int n_global; - double* l; - int vdw_type; -}; - -struct single_body_parameters -{ - char name[4]; // two character atom name - double r_s; - double valency; // Valency of the atom - double mass; // Mass of atom - double r_vdw; - double epsilon; - double gamma; - double r_pi; - double valency_e; - double nlp_opt; - - /* Line two in field file */ - double alpha; - double gamma_w; - double valency_boc; - double p_ovun5; - double chi; - double eta; - int p_hbond; // 1 for H, 2 for hbonding atoms (O,S,P,N), 0 for others - - /* Line three in field file */ - double r_pi_pi; - double p_lp2; - double b_o_131; - double b_o_132; - double b_o_133; - - /* Line four in the field file */ - double p_ovun2; - double p_val3; - double valency_val; - double p_val5; - double rcore2; - double ecore2; - double acore2; - - /* Line five in the ffield file, only for lgvdw yes */ - double lgcij; - double lgre; - -}; - -/* Two Body Parameters */ -struct two_body_parameters { - /* Bond Order parameters */ - double p_bo1,p_bo2,p_bo3,p_bo4,p_bo5,p_bo6; - double r_s, r_p, r_pp; // r_o distances in BO formula - double p_boc3, p_boc4, p_boc5; - - /* Bond Energy parameters */ - double p_be1, p_be2; - double De_s, De_p, De_pp; - - /* Over/Under coordination parameters */ - double p_ovun1; - - /* Van der Waal interaction parameters */ - double D; - double alpha; - double r_vdW; - double gamma_w; - double rcore, ecore, acore; - double lgcij, lgre; - - /* electrostatic parameters */ - double gamma; // note: this parameter is gamma^-3 and not gamma. - - double v13cor, ovc; -}; - -/* 3-body parameters */ -struct three_body_parameters { - /* valence angle */ - double theta_00; - double p_val1, p_val2, p_val4, p_val7; - - /* penalty */ - double p_pen1; - - /* 3-body conjugation */ - double p_coa1; -}; - -struct three_body_header -{ - int cnt; - three_body_parameters prm[REAX_MAX_3BODY_PARAM]; -}; - -/* hydrogen-bond parameters */ -struct hbond_parameters -{ - double r0_hb, p_hb1, p_hb2, p_hb3; -}; - -/* 4-body parameters */ -struct four_body_parameters -{ - double V1, V2, V3; - - /* torsion angle */ - double p_tor1; - - /* 4-body conjugation */ - double p_cot1; -}; - -struct four_body_header -{ - int cnt; - four_body_parameters prm[REAX_MAX_4BODY_PARAM]; -}; - -struct reax_interaction -{ - int num_atom_types; - global_parameters gp; - single_body_parameters *sbp; - two_body_parameters **tbp; - three_body_header ***thbp; - hbond_parameters ***hbp; - four_body_header ****fbp; -}; - -struct reax_atom -{ - rc_tagint orig_id; - int type; - char name[8]; - - rvec x; // position - rvec v; // velocity - rvec f; // force - double q; // charge - - int Hindex; - int num_bonds; - int num_hbonds; -}; - -struct LR_lookup_table; // forward declaration -struct reax_system -{ - reax_interaction reax_param; - - rc_bigint bigN; - int n, N, numH; - int local_cap, total_cap, Hcap; - int wsize, my_rank, num_nbrs; - reax_atom *my_atoms; - - LAMMPS_NS::Error *error_ptr; - LAMMPS_NS::Pair *pair_ptr; - int my_bonds; - int mincap,minhbonds; - double safezone, saferzone; - - LR_lookup_table **LR; - - int omp_active; -}; - -/* system control parameters */ -struct control_params -{ - char sim_name[REAX_MAX_STR]; - int nthreads; - - double bond_cut; - double nonb_cut, nonb_low; - double hbond_cut; - - double bg_cut; - double bo_cut; - double thb_cut; - double thb_cutsq; - - int tabulate; - int virial; - - int lgflag; - int enobondsflag; - LAMMPS_NS::Error *error_ptr; - LAMMPS_NS::LAMMPS *lmp_ptr; - int me; -}; - -struct energy_data -{ - double e_bond; // Total bond energy - double e_ov; // Total over coordination - double e_un; // Total under coordination energy - double e_lp; // Total under coordination energy - double e_ang; // Total valance angle energy - double e_pen; // Total penalty energy - double e_coa; // Total three body conjgation energy - double e_hb; // Total Hydrogen bond energy - double e_tor; // Total torsional energy - double e_con; // Total four body conjugation energy - double e_vdW; // Total van der Waals energy - double e_ele; // Total electrostatics energy - double e_pol; // Polarization energy -}; - -struct simulation_data -{ - rc_bigint step; - - energy_data my_en; // per MPI rank energies - energy_data sys_en; // global energies -}; - -struct three_body_interaction_data -{ - int thb; - int pthb; // pointer to the third body on the central atom's nbrlist - double theta, cos_theta; - rvec dcos_di, dcos_dj, dcos_dk; -}; - -struct far_neighbor_data { - int nbr; - ivec rel_box; - double d; - rvec dvec; -}; - -namespace ReaxFF { - struct far_neighbor_data { - int nbr; - ivec rel_box; - double d; - rvec dvec; - }; -} - -struct hbond_data { - int nbr; - int scl; - far_neighbor_data *ptr; -}; - -struct dDelta_data { - int wrt; - rvec dVal; -}; - -struct dbond_data { - int wrt; - rvec dBO, dBOpi, dBOpi2; -}; - -struct bond_order_data { - double BO, BO_s, BO_pi, BO_pi2; - double Cdbo, Cdbopi, Cdbopi2; - double C1dbo, C2dbo, C3dbo; - double C1dbopi, C2dbopi, C3dbopi, C4dbopi; - double C1dbopi2, C2dbopi2, C3dbopi2, C4dbopi2; - rvec dBOp, dln_BOp_s, dln_BOp_pi, dln_BOp_pi2; - double *CdboReduction; -}; - -struct bond_data { - int nbr; - int sym_index; - int dbond_index; - ivec rel_box; - // rvec ext_factor; - double d; - rvec dvec; - bond_order_data bo_data; -}; - -struct sparse_matrix_entry { - int j; - double val; -}; - -struct sparse_matrix { - int cap, n, m; - int *start, *end; - sparse_matrix_entry *entries; -}; - -struct reallocate_data { - int num_far; - int H, Htop; - int hbonds, num_hbonds; - int bonds, num_bonds; - int num_3body; -}; - -struct storage -{ - int allocated; - - /* bond order related storage */ - double *total_bond_order; - double *Deltap, *Deltap_boc; - double *Delta, *Delta_lp, *Delta_lp_temp, *Delta_e, *Delta_boc, *Delta_val; - double *dDelta_lp, *dDelta_lp_temp; - double *nlp, *nlp_temp, *Clp, *vlpex; - rvec *dDeltap_self; - int *bond_mark; - - /* Taper */ - double Tap[8]; //Tap7, Tap6, Tap5, Tap4, Tap3, Tap2, Tap1, Tap0; - - /* force calculations */ - double *CdDelta; // coefficient of dDelta - rvec *f; - - /* omp */ - rvec *forceReduction; - double *CdDeltaReduction; - int *valence_angle_atom_myoffset; - - reallocate_data realloc; -}; - -union list_type -{ - void *v; - three_body_interaction_data *three_body_list; - bond_data *bond_list; - dbond_data *dbo_list; - dDelta_data *dDelta_list; - far_neighbor_data *far_nbr_list; - hbond_data *hbond_list; -}; - -struct reax_list -{ - int allocated; - - int n; - int num_intrs; - - int *index; - int *end_index; - - int type; - list_type select; - class LAMMPS_NS::Error *error_ptr; -}; - -struct output_controls -{ - FILE *strj; - int atom_line_len; - int bond_line_len; - int angle_line_len; - int write_atoms; - int write_bonds; - int write_angles; - int buffer_len; - char *buffer; - - int write_steps; - char traj_title[81]; - int atom_info; - int bond_info; - int angle_info; - - int energy_update_freq; -}; - -struct LR_data -{ - double H; - double e_vdW, CEvd; - double e_ele, CEclmb; - - LAMMPS_INLINE - LR_data() {} - - LAMMPS_INLINE - void operator = (const LR_data& rhs) { - H = rhs.H; - e_vdW = rhs.e_vdW; - CEvd = rhs.CEvd; - e_ele = rhs.e_ele; - CEclmb = rhs.CEclmb; - } - LAMMPS_INLINE - void operator = (const LR_data& rhs) volatile { - H = rhs.H; - e_vdW = rhs.e_vdW; - CEvd = rhs.CEvd; - e_ele = rhs.e_ele; - CEclmb = rhs.CEclmb; - } -}; - -struct cubic_spline_coef -{ - double a, b, c, d; - - LAMMPS_INLINE - cubic_spline_coef() {} - - LAMMPS_INLINE - cubic_spline_coef(const cubic_spline_coef &_c) { - a = _c.a; - b = _c.b; - c = _c.c; - d = _c.d; - } - - LAMMPS_INLINE - void operator=(const cubic_spline_coef &rhs) { - a = rhs.a; - b = rhs.b; - c = rhs.c; - d = rhs.d; - } - - LAMMPS_INLINE - void operator=(const cubic_spline_coef &rhs) volatile { - a = rhs.a; - b = rhs.b; - c = rhs.c; - d = rhs.d; - } -}; - -struct LR_lookup_table -{ - double xmin, xmax; - int n; - double dx, inv_dx; - double a; - double m; - double c; - - LR_data *y; - cubic_spline_coef *H; - cubic_spline_coef *vdW, *CEvd; - cubic_spline_coef *ele, *CEclmb; -}; - -/* function pointer defs */ - -typedef void (*interaction_function) (reax_system *, control_params *, - simulation_data *, storage *, - reax_list **, output_controls *); -#endif diff --git a/src/USER-REAXC/reaxc_valence_angles.cpp b/src/USER-REAXC/reaxc_valence_angles.cpp index b363fd8e04..9c1bf15c4b 100644 --- a/src/USER-REAXC/reaxc_valence_angles.cpp +++ b/src/USER-REAXC/reaxc_valence_angles.cpp @@ -24,328 +24,317 @@ . ----------------------------------------------------------------------*/ -#include "reaxc_valence_angles.h" -#include -#include "pair.h" -#include "reaxc_defs.h" -#include "reaxc_list.h" -#include "reaxc_vector.h" +#include "reaxff_api.h" +#include + +#include "pair.h" #include "error.h" -static double Dot( double* v1, double* v2, int k ) -{ - double ret = 0.0; +namespace ReaxFF { + void Calculate_Theta( rvec dvec_ji, double d_ji, rvec dvec_jk, double d_jk, + double *theta, double *cos_theta ) + { + (*cos_theta) = rvec_Dot(dvec_ji,dvec_jk) / ( d_ji * d_jk ); + if (*cos_theta > 1.) *cos_theta = 1.0; + if (*cos_theta < -1.) *cos_theta = -1.0; - for (int i=0; i < k; ++i) - ret += v1[i] * v2[i]; - - return ret; -} - -void Calculate_Theta( rvec dvec_ji, double d_ji, rvec dvec_jk, double d_jk, - double *theta, double *cos_theta ) -{ - (*cos_theta) = Dot( dvec_ji, dvec_jk, 3 ) / ( d_ji * d_jk ); - if (*cos_theta > 1.) *cos_theta = 1.0; - if (*cos_theta < -1.) *cos_theta = -1.0; - - (*theta) = acos( *cos_theta ); -} - -void Calculate_dCos_Theta( rvec dvec_ji, double d_ji, rvec dvec_jk, double d_jk, - rvec* dcos_theta_di, - rvec* dcos_theta_dj, - rvec* dcos_theta_dk ) -{ - int t; - double sqr_d_ji = SQR(d_ji); - double sqr_d_jk = SQR(d_jk); - double inv_dists = 1.0 / (d_ji * d_jk); - double inv_dists3 = pow( inv_dists, 3.0 ); - double dot_dvecs = Dot( dvec_ji, dvec_jk, 3 ); - double Cdot_inv3 = dot_dvecs * inv_dists3; - - for (t = 0; t < 3; ++t) { - (*dcos_theta_di)[t] = dvec_jk[t] * inv_dists - - Cdot_inv3 * sqr_d_jk * dvec_ji[t]; - (*dcos_theta_dj)[t] = -(dvec_jk[t] + dvec_ji[t]) * inv_dists + - Cdot_inv3 * ( sqr_d_jk * dvec_ji[t] + sqr_d_ji * dvec_jk[t] ); - (*dcos_theta_dk)[t] = dvec_ji[t] * inv_dists - - Cdot_inv3 * sqr_d_ji * dvec_jk[t]; + (*theta) = acos( *cos_theta ); } -} + void Calculate_dCos_Theta( rvec dvec_ji, double d_ji, rvec dvec_jk, double d_jk, + rvec* dcos_theta_di, + rvec* dcos_theta_dj, + rvec* dcos_theta_dk ) + { + int t; + double sqr_d_ji = SQR(d_ji); + double sqr_d_jk = SQR(d_jk); + double inv_dists = 1.0 / (d_ji * d_jk); + double inv_dists3 = CUBE(inv_dists); + double dot_dvecs = rvec_Dot(dvec_ji,dvec_jk); + double Cdot_inv3 = dot_dvecs * inv_dists3; -void Valence_Angles( reax_system *system, control_params *control, - simulation_data *data, storage *workspace, - reax_list **lists, output_controls * /*out_control*/ ) -{ - int i, j, pi, k, pk, t; - int type_i, type_j, type_k; - int start_j, end_j, start_pk, end_pk; - int cnt, num_thb_intrs; - - double temp, temp_bo_jt, pBOjt7; - double p_val1, p_val2, p_val3, p_val4, p_val5; - double p_val6, p_val7, p_val8, p_val9, p_val10; - double p_pen1, p_pen2, p_pen3, p_pen4; - double p_coa1, p_coa2, p_coa3, p_coa4; - double trm8, expval6, expval7, expval2theta, expval12theta, exp3ij, exp3jk; - double exp_pen2ij, exp_pen2jk, exp_pen3, exp_pen4, trm_pen34, exp_coa2; - double dSBO1, dSBO2, SBO, SBO2, CSBO2, SBOp, prod_SBO, vlpadj; - double CEval1, CEval2, CEval3, CEval4, CEval5, CEval6, CEval7, CEval8; - double CEpen1, CEpen2, CEpen3; - double e_ang, e_coa, e_pen; - double CEcoa1, CEcoa2, CEcoa3, CEcoa4, CEcoa5; - double Cf7ij, Cf7jk, Cf8j, Cf9j; - double f7_ij, f7_jk, f8_Dj, f9_Dj; - double Ctheta_0, theta_0, theta_00, theta, cos_theta, sin_theta; - double BOA_ij, BOA_jk; - rvec force; - - // Tallying variables - double eng_tmp, fi_tmp[3], fj_tmp[3], fk_tmp[3]; - double delij[3], delkj[3]; - - three_body_header *thbh; - three_body_parameters *thbp; - three_body_interaction_data *p_ijk, *p_kji; - bond_data *pbond_ij, *pbond_jk, *pbond_jt; - bond_order_data *bo_ij, *bo_jk, *bo_jt; - reax_list *bonds = (*lists) + BONDS; - reax_list *thb_intrs = (*lists) + THREE_BODIES; - - /* global parameters used in these calculations */ - p_val6 = system->reax_param.gp.l[14]; - p_val8 = system->reax_param.gp.l[33]; - p_val9 = system->reax_param.gp.l[16]; - p_val10 = system->reax_param.gp.l[17]; - num_thb_intrs = 0; - - - for (j = 0; j < system->N; ++j) { // Ray: the first one with system->N - type_j = system->my_atoms[j].type; - if (type_j < 0) continue; - start_j = Start_Index(j, bonds); - end_j = End_Index(j, bonds); - - p_val3 = system->reax_param.sbp[ type_j ].p_val3; - p_val5 = system->reax_param.sbp[ type_j ].p_val5; - - SBOp = 0, prod_SBO = 1; - for (t = start_j; t < end_j; ++t) { - bo_jt = &(bonds->select.bond_list[t].bo_data); - SBOp += (bo_jt->BO_pi + bo_jt->BO_pi2); - temp = SQR( bo_jt->BO ); - temp *= temp; - temp *= temp; - prod_SBO *= exp( -temp ); + for (t = 0; t < 3; ++t) { + (*dcos_theta_di)[t] = dvec_jk[t] * inv_dists - + Cdot_inv3 * sqr_d_jk * dvec_ji[t]; + (*dcos_theta_dj)[t] = -(dvec_jk[t] + dvec_ji[t]) * inv_dists + + Cdot_inv3 * ( sqr_d_jk * dvec_ji[t] + sqr_d_ji * dvec_jk[t] ); + (*dcos_theta_dk)[t] = dvec_ji[t] * inv_dists - + Cdot_inv3 * sqr_d_ji * dvec_jk[t]; } + } - if (workspace->vlpex[j] >= 0) { - vlpadj = 0; - dSBO2 = prod_SBO - 1; - } else { - vlpadj = workspace->nlp[j]; - dSBO2 = (prod_SBO - 1) * (1 - p_val8 * workspace->dDelta_lp[j]); - } - SBO = SBOp + (1 - prod_SBO) * (-workspace->Delta_boc[j] - p_val8 * vlpadj); - dSBO1 = -8 * prod_SBO * ( workspace->Delta_boc[j] + p_val8 * vlpadj ); + void Valence_Angles( reax_system *system, control_params *control, + simulation_data *data, storage *workspace, + reax_list **lists) + { + int i, j, pi, k, pk, t; + int type_i, type_j, type_k; + int start_j, end_j, start_pk, end_pk; + int cnt, num_thb_intrs; - if (SBO <= 0) - SBO2 = 0, CSBO2 = 0; - else if (SBO > 0 && SBO <= 1) { + double temp, temp_bo_jt, pBOjt7; + double p_val1, p_val2, p_val3, p_val4, p_val5; + double p_val6, p_val7, p_val8, p_val9, p_val10; + double p_pen1, p_pen2, p_pen3, p_pen4; + double p_coa1, p_coa2, p_coa3, p_coa4; + double trm8, expval6, expval7, expval2theta, expval12theta, exp3ij, exp3jk; + double exp_pen2ij, exp_pen2jk, exp_pen3, exp_pen4, trm_pen34, exp_coa2; + double dSBO1, dSBO2, SBO, SBO2, CSBO2, SBOp, prod_SBO, vlpadj; + double CEval1, CEval2, CEval3, CEval4, CEval5, CEval6, CEval7, CEval8; + double CEpen1, CEpen2, CEpen3; + double e_ang, e_coa, e_pen; + double CEcoa1, CEcoa2, CEcoa3, CEcoa4, CEcoa5; + double Cf7ij, Cf7jk, Cf8j, Cf9j; + double f7_ij, f7_jk, f8_Dj, f9_Dj; + double Ctheta_0, theta_0, theta_00, theta, cos_theta, sin_theta; + double BOA_ij, BOA_jk; + rvec force; + + // Tallying variables + double eng_tmp, fi_tmp[3], fj_tmp[3], fk_tmp[3]; + double delij[3], delkj[3]; + + three_body_header *thbh; + three_body_parameters *thbp; + three_body_interaction_data *p_ijk, *p_kji; + bond_data *pbond_ij, *pbond_jk, *pbond_jt; + bond_order_data *bo_ij, *bo_jk, *bo_jt; + reax_list *bonds = (*lists) + BONDS; + reax_list *thb_intrs = (*lists) + THREE_BODIES; + + /* global parameters used in these calculations */ + p_val6 = system->reax_param.gp.l[14]; + p_val8 = system->reax_param.gp.l[33]; + p_val9 = system->reax_param.gp.l[16]; + p_val10 = system->reax_param.gp.l[17]; + num_thb_intrs = 0; + + + for (j = 0; j < system->N; ++j) { // Ray: the first one with system->N + type_j = system->my_atoms[j].type; + if (type_j < 0) continue; + start_j = Start_Index(j, bonds); + end_j = End_Index(j, bonds); + + p_val3 = system->reax_param.sbp[ type_j ].p_val3; + p_val5 = system->reax_param.sbp[ type_j ].p_val5; + + SBOp = 0, prod_SBO = 1; + for (t = start_j; t < end_j; ++t) { + bo_jt = &(bonds->select.bond_list[t].bo_data); + SBOp += (bo_jt->BO_pi + bo_jt->BO_pi2); + temp = SQR( bo_jt->BO ); + temp *= temp; + temp *= temp; + prod_SBO *= exp( -temp ); + } + + if (workspace->vlpex[j] >= 0) { + vlpadj = 0; + dSBO2 = prod_SBO - 1; + } else { + vlpadj = workspace->nlp[j]; + dSBO2 = (prod_SBO - 1) * (1 - p_val8 * workspace->dDelta_lp[j]); + } + + SBO = SBOp + (1 - prod_SBO) * (-workspace->Delta_boc[j] - p_val8 * vlpadj); + dSBO1 = -8 * prod_SBO * ( workspace->Delta_boc[j] + p_val8 * vlpadj ); + + if (SBO <= 0) + SBO2 = 0, CSBO2 = 0; + else if (SBO > 0 && SBO <= 1) { SBO2 = pow( SBO, p_val9 ); CSBO2 = p_val9 * pow( SBO, p_val9 - 1 ); - } - else if (SBO > 1 && SBO < 2) { - SBO2 = 2 - pow( 2-SBO, p_val9 ); - CSBO2 = p_val9 * pow( 2 - SBO, p_val9 - 1 ); - } - else - SBO2 = 2, CSBO2 = 0; + } + else if (SBO > 1 && SBO < 2) { + SBO2 = 2 - pow( 2-SBO, p_val9 ); + CSBO2 = p_val9 * pow( 2 - SBO, p_val9 - 1 ); + } + else + SBO2 = 2, CSBO2 = 0; - expval6 = exp( p_val6 * workspace->Delta_boc[j] ); + expval6 = exp( p_val6 * workspace->Delta_boc[j] ); - for (pi = start_j; pi < end_j; ++pi) { - Set_Start_Index( pi, num_thb_intrs, thb_intrs ); - pbond_ij = &(bonds->select.bond_list[pi]); - bo_ij = &(pbond_ij->bo_data); - BOA_ij = bo_ij->BO - control->thb_cut; + for (pi = start_j; pi < end_j; ++pi) { + Set_Start_Index( pi, num_thb_intrs, thb_intrs ); + pbond_ij = &(bonds->select.bond_list[pi]); + bo_ij = &(pbond_ij->bo_data); + BOA_ij = bo_ij->BO - control->thb_cut; - if ( BOA_ij/*bo_ij->BO*/ > 0.0 && - ( j < system->n || pbond_ij->nbr < system->n )) { - i = pbond_ij->nbr; - type_i = system->my_atoms[i].type; + if ( BOA_ij/*bo_ij->BO*/ > 0.0 && + ( j < system->n || pbond_ij->nbr < system->n )) { + i = pbond_ij->nbr; + type_i = system->my_atoms[i].type; - for (pk = start_j; pk < pi; ++pk) { - start_pk = Start_Index( pk, thb_intrs ); - end_pk = End_Index( pk, thb_intrs ); + for (pk = start_j; pk < pi; ++pk) { + start_pk = Start_Index( pk, thb_intrs ); + end_pk = End_Index( pk, thb_intrs ); - for (t = start_pk; t < end_pk; ++t) - if (thb_intrs->select.three_body_list[t].thb == i) { - p_ijk = &(thb_intrs->select.three_body_list[num_thb_intrs] ); - p_kji = &(thb_intrs->select.three_body_list[t]); + for (t = start_pk; t < end_pk; ++t) + if (thb_intrs->select.three_body_list[t].thb == i) { + p_ijk = &(thb_intrs->select.three_body_list[num_thb_intrs] ); + p_kji = &(thb_intrs->select.three_body_list[t]); - p_ijk->thb = bonds->select.bond_list[pk].nbr; - p_ijk->pthb = pk; - p_ijk->theta = p_kji->theta; - rvec_Copy( p_ijk->dcos_di, p_kji->dcos_dk ); - rvec_Copy( p_ijk->dcos_dj, p_kji->dcos_dj ); - rvec_Copy( p_ijk->dcos_dk, p_kji->dcos_di ); + p_ijk->thb = bonds->select.bond_list[pk].nbr; + p_ijk->pthb = pk; + p_ijk->theta = p_kji->theta; + rvec_Copy( p_ijk->dcos_di, p_kji->dcos_dk ); + rvec_Copy( p_ijk->dcos_dj, p_kji->dcos_dj ); + rvec_Copy( p_ijk->dcos_dk, p_kji->dcos_di ); - ++num_thb_intrs; - break; - } - } + ++num_thb_intrs; + break; + } + } - for (pk = pi+1; pk < end_j; ++pk) { - pbond_jk = &(bonds->select.bond_list[pk]); - bo_jk = &(pbond_jk->bo_data); - BOA_jk = bo_jk->BO - control->thb_cut; - k = pbond_jk->nbr; - type_k = system->my_atoms[k].type; - p_ijk = &( thb_intrs->select.three_body_list[num_thb_intrs] ); + for (pk = pi+1; pk < end_j; ++pk) { + pbond_jk = &(bonds->select.bond_list[pk]); + bo_jk = &(pbond_jk->bo_data); + BOA_jk = bo_jk->BO - control->thb_cut; + k = pbond_jk->nbr; + type_k = system->my_atoms[k].type; + p_ijk = &( thb_intrs->select.three_body_list[num_thb_intrs] ); - Calculate_Theta( pbond_ij->dvec, pbond_ij->d, - pbond_jk->dvec, pbond_jk->d, - &theta, &cos_theta ); + Calculate_Theta( pbond_ij->dvec, pbond_ij->d, + pbond_jk->dvec, pbond_jk->d, + &theta, &cos_theta ); - Calculate_dCos_Theta( pbond_ij->dvec, pbond_ij->d, - pbond_jk->dvec, pbond_jk->d, - &(p_ijk->dcos_di), &(p_ijk->dcos_dj), - &(p_ijk->dcos_dk) ); - p_ijk->thb = k; - p_ijk->pthb = pk; - p_ijk->theta = theta; + Calculate_dCos_Theta( pbond_ij->dvec, pbond_ij->d, + pbond_jk->dvec, pbond_jk->d, + &(p_ijk->dcos_di), &(p_ijk->dcos_dj), + &(p_ijk->dcos_dk) ); + p_ijk->thb = k; + p_ijk->pthb = pk; + p_ijk->theta = theta; - sin_theta = sin( theta ); - if (sin_theta < 1.0e-5) - sin_theta = 1.0e-5; + sin_theta = sin( theta ); + if (sin_theta < 1.0e-5) + sin_theta = 1.0e-5; - ++num_thb_intrs; + ++num_thb_intrs; - if ((j < system->n) && (BOA_jk > 0.0) && - (bo_ij->BO > control->thb_cut) && - (bo_jk->BO > control->thb_cut) && - (bo_ij->BO * bo_jk->BO > control->thb_cutsq)) { - thbh = &( system->reax_param.thbp[ type_i ][ type_j ][ type_k ] ); + if ((j < system->n) && (BOA_jk > 0.0) && + (bo_ij->BO > control->thb_cut) && + (bo_jk->BO > control->thb_cut) && + (bo_ij->BO * bo_jk->BO > control->thb_cutsq)) { + thbh = &( system->reax_param.thbp[ type_i ][ type_j ][ type_k ] ); - for (cnt = 0; cnt < thbh->cnt; ++cnt) { - if (fabs(thbh->prm[cnt].p_val1) > 0.001) { - thbp = &( thbh->prm[cnt] ); + for (cnt = 0; cnt < thbh->cnt; ++cnt) { + if (fabs(thbh->prm[cnt].p_val1) > 0.001) { + thbp = &( thbh->prm[cnt] ); - /* ANGLE ENERGY */ - p_val1 = thbp->p_val1; - p_val2 = thbp->p_val2; - p_val4 = thbp->p_val4; - p_val7 = thbp->p_val7; - theta_00 = thbp->theta_00; + /* ANGLE ENERGY */ + p_val1 = thbp->p_val1; + p_val2 = thbp->p_val2; + p_val4 = thbp->p_val4; + p_val7 = thbp->p_val7; + theta_00 = thbp->theta_00; - exp3ij = exp( -p_val3 * pow( BOA_ij, p_val4 ) ); - f7_ij = 1.0 - exp3ij; - Cf7ij = p_val3 * p_val4 * pow( BOA_ij, p_val4 - 1.0 ) * exp3ij; + exp3ij = exp( -p_val3 * pow( BOA_ij, p_val4 ) ); + f7_ij = 1.0 - exp3ij; + Cf7ij = p_val3 * p_val4 * pow( BOA_ij, p_val4 - 1.0 ) * exp3ij; - exp3jk = exp( -p_val3 * pow( BOA_jk, p_val4 ) ); - f7_jk = 1.0 - exp3jk; - Cf7jk = p_val3 * p_val4 * pow( BOA_jk, p_val4 - 1.0 ) * exp3jk; + exp3jk = exp( -p_val3 * pow( BOA_jk, p_val4 ) ); + f7_jk = 1.0 - exp3jk; + Cf7jk = p_val3 * p_val4 * pow( BOA_jk, p_val4 - 1.0 ) * exp3jk; - expval7 = exp( -p_val7 * workspace->Delta_boc[j] ); - trm8 = 1.0 + expval6 + expval7; - f8_Dj = p_val5 - ( (p_val5 - 1.0) * (2.0 + expval6) / trm8 ); - Cf8j = ( (1.0 - p_val5) / SQR(trm8) ) * - ( p_val6 * expval6 * trm8 - - (2.0 + expval6) * ( p_val6*expval6 - p_val7*expval7 ) ); + expval7 = exp( -p_val7 * workspace->Delta_boc[j] ); + trm8 = 1.0 + expval6 + expval7; + f8_Dj = p_val5 - ( (p_val5 - 1.0) * (2.0 + expval6) / trm8 ); + Cf8j = ( (1.0 - p_val5) / SQR(trm8) ) * + ( p_val6 * expval6 * trm8 - + (2.0 + expval6) * ( p_val6*expval6 - p_val7*expval7 ) ); - theta_0 = 180.0 - theta_00 * (1.0 - - exp(-p_val10 * (2.0 - SBO2))); - theta_0 = DEG2RAD( theta_0 ); + theta_0 = 180.0 - theta_00 * (1.0 - + exp(-p_val10 * (2.0 - SBO2))); + theta_0 = DEG2RAD( theta_0 ); - expval2theta = exp( -p_val2 * SQR(theta_0 - theta) ); - if (p_val1 >= 0) - expval12theta = p_val1 * (1.0 - expval2theta); - else // To avoid linear Me-H-Me angles (6/6/06) - expval12theta = p_val1 * -expval2theta; + expval2theta = exp( -p_val2 * SQR(theta_0 - theta) ); + if (p_val1 >= 0) + expval12theta = p_val1 * (1.0 - expval2theta); + else // To avoid linear Me-H-Me angles (6/6/06) + expval12theta = p_val1 * -expval2theta; - CEval1 = Cf7ij * f7_jk * f8_Dj * expval12theta; - CEval2 = Cf7jk * f7_ij * f8_Dj * expval12theta; - CEval3 = Cf8j * f7_ij * f7_jk * expval12theta; - CEval4 = -2.0 * p_val1 * p_val2 * f7_ij * f7_jk * f8_Dj * - expval2theta * (theta_0 - theta); + CEval1 = Cf7ij * f7_jk * f8_Dj * expval12theta; + CEval2 = Cf7jk * f7_ij * f8_Dj * expval12theta; + CEval3 = Cf8j * f7_ij * f7_jk * expval12theta; + CEval4 = -2.0 * p_val1 * p_val2 * f7_ij * f7_jk * f8_Dj * + expval2theta * (theta_0 - theta); - Ctheta_0 = p_val10 * DEG2RAD(theta_00) * - exp( -p_val10 * (2.0 - SBO2) ); + Ctheta_0 = p_val10 * DEG2RAD(theta_00) * + exp( -p_val10 * (2.0 - SBO2) ); - CEval5 = -CEval4 * Ctheta_0 * CSBO2; - CEval6 = CEval5 * dSBO1; - CEval7 = CEval5 * dSBO2; - CEval8 = -CEval4 / sin_theta; + CEval5 = -CEval4 * Ctheta_0 * CSBO2; + CEval6 = CEval5 * dSBO1; + CEval7 = CEval5 * dSBO2; + CEval8 = -CEval4 / sin_theta; - data->my_en.e_ang += e_ang = - f7_ij * f7_jk * f8_Dj * expval12theta; - /* END ANGLE ENERGY*/ + data->my_en.e_ang += e_ang = + f7_ij * f7_jk * f8_Dj * expval12theta; + /* END ANGLE ENERGY*/ - /* PENALTY ENERGY */ - p_pen1 = thbp->p_pen1; - p_pen2 = system->reax_param.gp.l[19]; - p_pen3 = system->reax_param.gp.l[20]; - p_pen4 = system->reax_param.gp.l[21]; + /* PENALTY ENERGY */ + p_pen1 = thbp->p_pen1; + p_pen2 = system->reax_param.gp.l[19]; + p_pen3 = system->reax_param.gp.l[20]; + p_pen4 = system->reax_param.gp.l[21]; - exp_pen2ij = exp( -p_pen2 * SQR( BOA_ij - 2.0 ) ); - exp_pen2jk = exp( -p_pen2 * SQR( BOA_jk - 2.0 ) ); - exp_pen3 = exp( -p_pen3 * workspace->Delta[j] ); - exp_pen4 = exp( p_pen4 * workspace->Delta[j] ); - trm_pen34 = 1.0 + exp_pen3 + exp_pen4; - f9_Dj = ( 2.0 + exp_pen3 ) / trm_pen34; - Cf9j = ( -p_pen3 * exp_pen3 * trm_pen34 - - (2.0 + exp_pen3) * ( -p_pen3 * exp_pen3 + - p_pen4 * exp_pen4 ) ) / - SQR( trm_pen34 ); + exp_pen2ij = exp( -p_pen2 * SQR( BOA_ij - 2.0 ) ); + exp_pen2jk = exp( -p_pen2 * SQR( BOA_jk - 2.0 ) ); + exp_pen3 = exp( -p_pen3 * workspace->Delta[j] ); + exp_pen4 = exp( p_pen4 * workspace->Delta[j] ); + trm_pen34 = 1.0 + exp_pen3 + exp_pen4; + f9_Dj = ( 2.0 + exp_pen3 ) / trm_pen34; + Cf9j = ( -p_pen3 * exp_pen3 * trm_pen34 - + (2.0 + exp_pen3) * ( -p_pen3 * exp_pen3 + + p_pen4 * exp_pen4 ) ) / + SQR( trm_pen34 ); - data->my_en.e_pen += e_pen = - p_pen1 * f9_Dj * exp_pen2ij * exp_pen2jk; + data->my_en.e_pen += e_pen = + p_pen1 * f9_Dj * exp_pen2ij * exp_pen2jk; - CEpen1 = e_pen * Cf9j / f9_Dj; - temp = -2.0 * p_pen2 * e_pen; - CEpen2 = temp * (BOA_ij - 2.0); - CEpen3 = temp * (BOA_jk - 2.0); - /* END PENALTY ENERGY */ + CEpen1 = e_pen * Cf9j / f9_Dj; + temp = -2.0 * p_pen2 * e_pen; + CEpen2 = temp * (BOA_ij - 2.0); + CEpen3 = temp * (BOA_jk - 2.0); + /* END PENALTY ENERGY */ - /* COALITION ENERGY */ - p_coa1 = thbp->p_coa1; - p_coa2 = system->reax_param.gp.l[2]; - p_coa3 = system->reax_param.gp.l[38]; - p_coa4 = system->reax_param.gp.l[30]; + /* COALITION ENERGY */ + p_coa1 = thbp->p_coa1; + p_coa2 = system->reax_param.gp.l[2]; + p_coa3 = system->reax_param.gp.l[38]; + p_coa4 = system->reax_param.gp.l[30]; - exp_coa2 = exp( p_coa2 * workspace->Delta_val[j] ); - data->my_en.e_coa += e_coa = - p_coa1 / (1. + exp_coa2) * - exp( -p_coa3 * SQR(workspace->total_bond_order[i]-BOA_ij) ) * - exp( -p_coa3 * SQR(workspace->total_bond_order[k]-BOA_jk) ) * - exp( -p_coa4 * SQR(BOA_ij - 1.5) ) * - exp( -p_coa4 * SQR(BOA_jk - 1.5) ); + exp_coa2 = exp( p_coa2 * workspace->Delta_val[j] ); + data->my_en.e_coa += e_coa = + p_coa1 / (1. + exp_coa2) * + exp( -p_coa3 * SQR(workspace->total_bond_order[i]-BOA_ij) ) * + exp( -p_coa3 * SQR(workspace->total_bond_order[k]-BOA_jk) ) * + exp( -p_coa4 * SQR(BOA_ij - 1.5) ) * + exp( -p_coa4 * SQR(BOA_jk - 1.5) ); - CEcoa1 = -2 * p_coa4 * (BOA_ij - 1.5) * e_coa; - CEcoa2 = -2 * p_coa4 * (BOA_jk - 1.5) * e_coa; - CEcoa3 = -p_coa2 * exp_coa2 * e_coa / (1 + exp_coa2); - CEcoa4 = -2 * p_coa3 * - (workspace->total_bond_order[i]-BOA_ij) * e_coa; - CEcoa5 = -2 * p_coa3 * - (workspace->total_bond_order[k]-BOA_jk) * e_coa; - /* END COALITION ENERGY */ + CEcoa1 = -2 * p_coa4 * (BOA_ij - 1.5) * e_coa; + CEcoa2 = -2 * p_coa4 * (BOA_jk - 1.5) * e_coa; + CEcoa3 = -p_coa2 * exp_coa2 * e_coa / (1 + exp_coa2); + CEcoa4 = -2 * p_coa3 * + (workspace->total_bond_order[i]-BOA_ij) * e_coa; + CEcoa5 = -2 * p_coa3 * + (workspace->total_bond_order[k]-BOA_jk) * e_coa; + /* END COALITION ENERGY */ - /* FORCES */ - bo_ij->Cdbo += (CEval1 + CEpen2 + (CEcoa1 - CEcoa4)); - bo_jk->Cdbo += (CEval2 + CEpen3 + (CEcoa2 - CEcoa5)); - workspace->CdDelta[j] += ((CEval3 + CEval7) + CEpen1 + CEcoa3); - workspace->CdDelta[i] += CEcoa4; - workspace->CdDelta[k] += CEcoa5; + /* FORCES */ + bo_ij->Cdbo += (CEval1 + CEpen2 + (CEcoa1 - CEcoa4)); + bo_jk->Cdbo += (CEval2 + CEpen3 + (CEcoa2 - CEcoa5)); + workspace->CdDelta[j] += ((CEval3 + CEval7) + CEpen1 + CEcoa3); + workspace->CdDelta[i] += CEcoa4; + workspace->CdDelta[k] += CEcoa5; - for (t = start_j; t < end_j; ++t) { + for (t = start_j; t < end_j; ++t) { pbond_jt = &( bonds->select.bond_list[t] ); bo_jt = &(pbond_jt->bo_data); temp_bo_jt = bo_jt->BO; @@ -355,58 +344,59 @@ void Valence_Angles( reax_system *system, control_params *control, bo_jt->Cdbo += (CEval6 * pBOjt7); bo_jt->Cdbopi += CEval5; bo_jt->Cdbopi2 += CEval5; - } + } - if (control->virial == 0) { - rvec_ScaledAdd( workspace->f[i], CEval8, p_ijk->dcos_di ); - rvec_ScaledAdd( workspace->f[j], CEval8, p_ijk->dcos_dj ); - rvec_ScaledAdd( workspace->f[k], CEval8, p_ijk->dcos_dk ); - } else { - rvec_Scale( force, CEval8, p_ijk->dcos_di ); - rvec_Add( workspace->f[i], force ); + if (control->virial == 0) { + rvec_ScaledAdd( workspace->f[i], CEval8, p_ijk->dcos_di ); + rvec_ScaledAdd( workspace->f[j], CEval8, p_ijk->dcos_dj ); + rvec_ScaledAdd( workspace->f[k], CEval8, p_ijk->dcos_dk ); + } else { + rvec_Scale( force, CEval8, p_ijk->dcos_di ); + rvec_Add( workspace->f[i], force ); - rvec_ScaledAdd( workspace->f[j], CEval8, p_ijk->dcos_dj ); + rvec_ScaledAdd( workspace->f[j], CEval8, p_ijk->dcos_dj ); - rvec_Scale( force, CEval8, p_ijk->dcos_dk ); - rvec_Add( workspace->f[k], force ); - } + rvec_Scale( force, CEval8, p_ijk->dcos_dk ); + rvec_Add( workspace->f[k], force ); + } - /* tally into per-atom virials */ - if (system->pair_ptr->vflag_atom || system->pair_ptr->evflag) { + /* tally into per-atom virials */ + if (system->pair_ptr->vflag_atom || system->pair_ptr->evflag) { - /* Acquire vectors */ - rvec_ScaledSum( delij, 1., system->my_atoms[i].x, - -1., system->my_atoms[j].x ); - rvec_ScaledSum( delkj, 1., system->my_atoms[k].x, - -1., system->my_atoms[j].x ); + /* Acquire vectors */ + rvec_ScaledSum( delij, 1., system->my_atoms[i].x, + -1., system->my_atoms[j].x ); + rvec_ScaledSum( delkj, 1., system->my_atoms[k].x, + -1., system->my_atoms[j].x ); - rvec_Scale( fi_tmp, -CEval8, p_ijk->dcos_di ); - rvec_Scale( fj_tmp, -CEval8, p_ijk->dcos_dj ); - rvec_Scale( fk_tmp, -CEval8, p_ijk->dcos_dk ); + rvec_Scale( fi_tmp, -CEval8, p_ijk->dcos_di ); + rvec_Scale( fj_tmp, -CEval8, p_ijk->dcos_dj ); + rvec_Scale( fk_tmp, -CEval8, p_ijk->dcos_dk ); - eng_tmp = e_ang + e_pen + e_coa; + eng_tmp = e_ang + e_pen + e_coa; - if (system->pair_ptr->evflag) - system->pair_ptr->ev_tally(j,j,system->N,1,eng_tmp,0.0,0.0,0.0,0.0,0.0); - if (system->pair_ptr->vflag_atom) - system->pair_ptr->v_tally3(i,j,k,fi_tmp,fk_tmp,delij,delkj); + if (system->pair_ptr->evflag) + system->pair_ptr->ev_tally(j,j,system->N,1,eng_tmp,0.0,0.0,0.0,0.0,0.0); + if (system->pair_ptr->vflag_atom) + system->pair_ptr->v_tally3(i,j,k,fi_tmp,fk_tmp,delij,delkj); + } } } } } } - } - Set_End_Index(pi, num_thb_intrs, thb_intrs ); + Set_End_Index(pi, num_thb_intrs, thb_intrs ); + } + } + + if (num_thb_intrs >= thb_intrs->num_intrs * DANGER_ZONE) { + workspace->realloc.num_3body = num_thb_intrs; + if (num_thb_intrs > thb_intrs->num_intrs) + control->error_ptr->one(FLERR, fmt::format("step {}: ran out of space on " + "angle_list: top={}, max={}", + data->step, num_thb_intrs, + thb_intrs->num_intrs)); } } - - if (num_thb_intrs >= thb_intrs->num_intrs * DANGER_ZONE) { - workspace->realloc.num_3body = num_thb_intrs; - if (num_thb_intrs > thb_intrs->num_intrs) - control->error_ptr->one(FLERR, fmt::format("step {}: ran out of space on " - "angle_list: top={}, max={}", - data->step, num_thb_intrs, - thb_intrs->num_intrs)); - } } diff --git a/src/USER-REAXC/reaxc_valence_angles.h b/src/USER-REAXC/reaxc_valence_angles.h deleted file mode 100644 index 31936ba190..0000000000 --- a/src/USER-REAXC/reaxc_valence_angles.h +++ /dev/null @@ -1,39 +0,0 @@ -/*---------------------------------------------------------------------- - PuReMD - Purdue ReaxFF Molecular Dynamics Program - - Copyright (2010) Purdue University - Hasan Metin Aktulga, hmaktulga@lbl.gov - Joseph Fogarty, jcfogart@mail.usf.edu - Sagar Pandit, pandit@usf.edu - Ananth Y Grama, ayg@cs.purdue.edu - - Please cite the related publication: - H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama, - "Parallel Reactive Molecular Dynamics: Numerical Methods and - Algorithmic Techniques", Parallel Computing, in press. - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License as - published by the Free Software Foundation; either version 2 of - the License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - See the GNU General Public License for more details: - . - ----------------------------------------------------------------------*/ - -#ifndef __VALENCE_ANGLES_H_ -#define __VALENCE_ANGLES_H_ - -#include "reaxc_types.h" - -void Valence_Angles( reax_system*, control_params*, simulation_data*, - storage*, reax_list**, output_controls* ); - -void Calculate_Theta( rvec, double, rvec, double, double*, double* ); - -void Calculate_dCos_Theta( rvec, double, rvec, double, rvec*, rvec*, rvec* ); - -#endif diff --git a/src/USER-REAXC/reaxc_vector.cpp b/src/USER-REAXC/reaxc_vector.cpp deleted file mode 100644 index 2f06b57c02..0000000000 --- a/src/USER-REAXC/reaxc_vector.cpp +++ /dev/null @@ -1,130 +0,0 @@ -/*---------------------------------------------------------------------- - PuReMD - Purdue ReaxFF Molecular Dynamics Program - - Copyright (2010) Purdue University - Hasan Metin Aktulga, hmaktulga@lbl.gov - Joseph Fogarty, jcfogart@mail.usf.edu - Sagar Pandit, pandit@usf.edu - Ananth Y Grama, ayg@cs.purdue.edu - - Please cite the related publication: - H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama, - "Parallel Reactive Molecular Dynamics: Numerical Methods and - Algorithmic Techniques", Parallel Computing, in press. - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License as - published by the Free Software Foundation; either version 2 of - the License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - See the GNU General Public License for more details: - . - ----------------------------------------------------------------------*/ - -#include "reaxc_vector.h" -#include -#include "reaxc_defs.h" - -void rvec_Copy( rvec dest, rvec src ) -{ - dest[0] = src[0], dest[1] = src[1], dest[2] = src[2]; -} - - -void rvec_Scale( rvec ret, double c, rvec v ) -{ - ret[0] = c * v[0], ret[1] = c * v[1], ret[2] = c * v[2]; -} - - -void rvec_Add( rvec ret, rvec v ) -{ - ret[0] += v[0], ret[1] += v[1], ret[2] += v[2]; -} - - -void rvec_ScaledAdd( rvec ret, double c, rvec v ) -{ - ret[0] += c * v[0], ret[1] += c * v[1], ret[2] += c * v[2]; -} - - -void rvec_ScaledSum( rvec ret, double c1, rvec v1 ,double c2, rvec v2 ) -{ - ret[0] = c1 * v1[0] + c2 * v2[0]; - ret[1] = c1 * v1[1] + c2 * v2[1]; - ret[2] = c1 * v1[2] + c2 * v2[2]; -} - - -double rvec_Dot( rvec v1, rvec v2 ) -{ - return v1[0]*v2[0] + v1[1]*v2[1] + v1[2]*v2[2]; -} - - -void rvec_iMultiply( rvec r, ivec v1, rvec v2 ) -{ - r[0] = v1[0] * v2[0]; - r[1] = v1[1] * v2[1]; - r[2] = v1[2] * v2[2]; -} - - -void rvec_Cross( rvec ret, rvec v1, rvec v2 ) -{ - ret[0] = v1[1] * v2[2] - v1[2] * v2[1]; - ret[1] = v1[2] * v2[0] - v1[0] * v2[2]; - ret[2] = v1[0] * v2[1] - v1[1] * v2[0]; -} - - -double rvec_Norm_Sqr( rvec v ) -{ - return SQR(v[0]) + SQR(v[1]) + SQR(v[2]); -} - - -double rvec_Norm( rvec v ) -{ - return sqrt( SQR(v[0]) + SQR(v[1]) + SQR(v[2]) ); -} - - -void rvec_MakeZero( rvec v ) -{ - v[0] = v[1] = v[2] = 0.000000000000000e+00; -} - - -void ivec_MakeZero( ivec v ) -{ - v[0] = v[1] = v[2] = 0; -} - - -void ivec_Copy( ivec dest, ivec src ) -{ - dest[0] = src[0], dest[1] = src[1], dest[2] = src[2]; -} - - -void ivec_Scale( ivec dest, double C, ivec src ) -{ - dest[0] = (int)(C * src[0]); - dest[1] = (int)(C * src[1]); - dest[2] = (int)(C * src[2]); -} - - -void ivec_Sum( ivec dest, ivec v1, ivec v2 ) -{ - dest[0] = v1[0] + v2[0]; - dest[1] = v1[1] + v2[1]; - dest[2] = v1[2] + v2[2]; -} - - diff --git a/src/USER-REAXC/reaxc_vector.h b/src/USER-REAXC/reaxc_vector.h deleted file mode 100644 index 3dc36f96ef..0000000000 --- a/src/USER-REAXC/reaxc_vector.h +++ /dev/null @@ -1,50 +0,0 @@ -/*---------------------------------------------------------------------- - PuReMD - Purdue ReaxFF Molecular Dynamics Program - - Copyright (2010) Purdue University - Hasan Metin Aktulga, hmaktulga@lbl.gov - Joseph Fogarty, jcfogart@mail.usf.edu - Sagar Pandit, pandit@usf.edu - Ananth Y Grama, ayg@cs.purdue.edu - - Please cite the related publication: - H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama, - "Parallel Reactive Molecular Dynamics: Numerical Methods and - Algorithmic Techniques", Parallel Computing, in press. - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License as - published by the Free Software Foundation; either version 2 of - the License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - See the GNU General Public License for more details: - . - ----------------------------------------------------------------------*/ - -#ifndef __VECTOR_H_ -#define __VECTOR_H_ - -#include "reaxc_types.h" - -void rvec_Copy( rvec, rvec ); -void rvec_Scale( rvec, double, rvec ); -void rvec_Add( rvec, rvec ); -void rvec_ScaledAdd( rvec, double, rvec ); -void rvec_ScaledSum( rvec, double, rvec, double, rvec ); -double rvec_Dot( rvec, rvec ); -void rvec_iMultiply( rvec, ivec, rvec ); -void rvec_Cross( rvec, rvec, rvec ); -double rvec_Norm_Sqr( rvec ); -double rvec_Norm( rvec ); -void rvec_MakeZero( rvec ); -void rvec_Random( rvec ); - -void ivec_MakeZero( ivec ); -void ivec_Copy( ivec, ivec ); -void ivec_Scale( ivec, double, ivec ); -void ivec_Sum( ivec, ivec, ivec ); - -#endif diff --git a/src/USER-REAXC/reaxff_api.h b/src/USER-REAXC/reaxff_api.h index 19f345636f..36579e83e4 100644 --- a/src/USER-REAXC/reaxff_api.h +++ b/src/USER-REAXC/reaxff_api.h @@ -39,14 +39,29 @@ namespace ReaxFF // exported Functions - // allocate + // allocate X + extern void Allocate_Workspace(control_params *, storage *, int); extern void DeAllocate_System(reax_system *); extern void DeAllocate_Workspace(control_params *, storage *); - extern int PreAllocate_Space(reax_system *, control_params *, storage *); + extern void PreAllocate_Space(reax_system *, storage *); extern void ReAllocate(reax_system *, control_params *, simulation_data *, storage *, reax_list **); + // bond orders + + extern void BO(reax_system *, control_params *, simulation_data *, + storage *, reax_list **, output_controls *); + extern int BOp(storage *, reax_list *, double, int, int, far_neighbor_data *, + single_body_parameters *, single_body_parameters *, + two_body_parameters *); + extern void Add_dBond_to_Forces(reax_system*, int, int, storage*, reax_list**); + extern void Add_dBond_to_Forces_NPT(int, int, storage*, reax_list**); + + // bonds + + extern void Bonds(reax_system *, simulation_data *, storage *, reax_list **); + // control extern void Read_Control_File(const char *, control_params *, output_controls *); @@ -59,20 +74,35 @@ namespace ReaxFF extern void Compute_Forces(reax_system *, control_params *, simulation_data *, storage *, reax_list **, output_controls *); + extern void Estimate_Storages(reax_system *, control_params *, reax_list **, + int *, int *, int *, int *); + // hydrogen bonds + + extern void Hydrogen_Bonds(reax_system *, control_params *, + simulation_data *, storage *, reax_list **); // init md + extern void Init_System(reax_system *, control_params *); + extern void Init_Simulation_Data(simulation_data *); + extern void Init_Workspace(reax_system *, control_params *, storage *); extern void Initialize(reax_system *, control_params *, simulation_data *, storage *, reax_list **, output_controls *, MPI_Comm); // io tools + extern void Init_Output_Files(reax_system *, control_params *, + output_controls *, MPI_Comm); extern void Close_Output_Files(reax_system *, output_controls *); extern void Output_Results(reax_system *, control_params *, simulation_data *, reax_list **, output_controls *, MPI_Comm); + extern void Collect_System_Energy(reax_system *, simulation_data *, MPI_Comm); // lists + extern int Make_List(int, int, int, reax_list *); + extern void Delete_List(reax_list*); + inline int Start_Index(int i, reax_list *l) { return l->index[i]; } inline int End_Index(int i, reax_list *l) { return l->end_index[i]; } inline void Set_Start_Index(int i, int val, reax_list *l) { @@ -81,11 +111,14 @@ namespace ReaxFF inline void Set_End_Index(int i, int val, reax_list *l) { l->end_index[i] = val; } - extern void Delete_List(reax_list*); - extern int Make_List(int, int, int, reax_list *); + inline int Num_Entries(int i, reax_list *l) { + return l->end_index[i] - l->index[i]; + } // lookup + extern void Init_Lookup_Tables(reax_system *, control_params *, + storage *, MPI_Comm); extern void Deallocate_Lookup_Tables(reax_system *); extern void Natural_Cubic_Spline(LAMMPS_NS::Error*, const double *, const double *, cubic_spline_coef *, @@ -94,17 +127,60 @@ namespace ReaxFF const double *, double v0, double vlast, cubic_spline_coef *coef, unsigned int n); + // multi body + + extern void Atom_Energy(reax_system *, control_params *, simulation_data *, + storage *, reax_list **); + + // nonbonded + + extern void Compute_Polarization_Energy(reax_system *, simulation_data *); + extern void vdW_Coulomb_Energy(reax_system *, control_params *, + simulation_data *, storage *, reax_list **); + extern void Tabulated_vdW_Coulomb_Energy(reax_system *, control_params *, + simulation_data *, storage *, + reax_list **); + extern void LR_vdW_Coulomb(reax_system *, storage *, control_params *, + int, int, double, LR_data *); + // reset tools extern void Reset(reax_system *, control_params *, simulation_data *, storage *, reax_list **); - + extern void Reset_Simulation_Data(simulation_data *); + extern void Reset_Workspace(reax_system *, storage *); + // toolbox extern void *scalloc(LAMMPS_NS::Error *, rc_bigint, rc_bigint, const char *); extern void *smalloc(LAMMPS_NS::Error *, rc_bigint, const char *); extern void sfree(LAMMPS_NS::Error *, void *, const char *); + // torsion angles + + extern double Calculate_Omega(rvec, double, rvec, double, rvec, double, + rvec, double, three_body_interaction_data *, + three_body_interaction_data *, rvec, rvec, + rvec, rvec); + extern void Torsion_Angles(reax_system *, control_params *, simulation_data *, + storage *, reax_list **); + + // traj + + extern void Init_Traj(reax_system *, control_params *, + output_controls *, MPI_Comm); + extern void End_Traj(int, output_controls *); + extern void Append_Frame(reax_system *, control_params *, simulation_data *, + reax_list **, output_controls *, MPI_Comm); + + // valence angles + + extern void Calculate_Theta(rvec, double, rvec, double, double *, double *); + extern void Calculate_dCos_Theta(rvec, double, rvec, double, + rvec *, rvec *, rvec *); + extern void Valence_Angles(reax_system *, control_params *, simulation_data *, + storage *, reax_list **); + // vector inline void rvec_Add(rvec ret, rvec v) { @@ -146,6 +222,24 @@ namespace ReaxFF } inline void ivec_MakeZero(ivec v) { v[0] = v[1] = v[2] = 0; } + + inline void ivec_Copy(ivec dest, ivec src) { + dest[0] = src[0], dest[1] = src[1], dest[2] = src[2]; + } + + inline void ivec_Scale(ivec dest, double C, ivec src) + { + dest[0] = (int)(C * src[0]); + dest[1] = (int)(C * src[1]); + dest[2] = (int)(C * src[2]); + } + + inline void ivec_Sum(ivec dest, ivec v1, ivec v2) + { + dest[0] = v1[0] + v2[0]; + dest[1] = v1[1] + v2[1]; + dest[2] = v1[2] + v2[2]; + } } #endif diff --git a/src/USER-REAXC/reaxff_defs.h b/src/USER-REAXC/reaxff_defs.h index 3bd3ad899b..f8cc255fd9 100644 --- a/src/USER-REAXC/reaxff_defs.h +++ b/src/USER-REAXC/reaxff_defs.h @@ -59,7 +59,6 @@ #define MAX_TOKENS 1024 #define MAX_TOKEN_LEN 1024 -#define NUM_INTRS 10 #define ALMOST_ZERO 1e-10 #define NEG_INF -1e10 #define NO_BOND 1e-3 // 0.001 diff --git a/src/USER-REAXC/reaxff_types.h b/src/USER-REAXC/reaxff_types.h index 544e67fbf2..c04d886656 100644 --- a/src/USER-REAXC/reaxff_types.h +++ b/src/USER-REAXC/reaxff_types.h @@ -123,6 +123,13 @@ namespace ReaxFF double v13cor, ovc; }; + struct dbond_coefficients { + double C1dbo, C2dbo, C3dbo; + double C1dbopi, C2dbopi, C3dbopi, C4dbopi; + double C1dbopi2, C2dbopi2, C3dbopi2, C4dbopi2; + double C1dDelta, C2dDelta, C3dDelta; + }; + /* 3-body parameters */ struct three_body_parameters { /* valence angle */ @@ -424,12 +431,6 @@ namespace ReaxFF cubic_spline_coef *vdW, *CEvd; cubic_spline_coef *ele, *CEclmb; }; - -/* function pointer defs */ - - typedef void (*interaction_function) (reax_system *, control_params *, - simulation_data *, storage *, - reax_list **, output_controls *); } #endif From eb4d7efd32d22c684c1066ca54a9ee88eb48551c Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 17 Apr 2021 02:27:45 -0400 Subject: [PATCH 040/726] silence compiler warning --- src/SPIN/pair_spin_exchange_biquadratic.cpp | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/SPIN/pair_spin_exchange_biquadratic.cpp b/src/SPIN/pair_spin_exchange_biquadratic.cpp index a00d1cc8b0..3c5a95e3dd 100644 --- a/src/SPIN/pair_spin_exchange_biquadratic.cpp +++ b/src/SPIN/pair_spin_exchange_biquadratic.cpp @@ -473,16 +473,13 @@ double PairSpinExchangeBiquadratic::compute_energy(int i, int j, double rsq, { int *type = atom->type; int itype,jtype; - double Jex,Kex,ra,sdots; - double rj,rk,r2j,r2k; + double Jex,Kex,sdots; + double r2j,r2k; double energy = 0.0; itype = type[i]; jtype = type[j]; - ra = sqrt(rsq); - rj = ra/J3[itype][jtype]; r2j = rsq/J3[itype][jtype]/J3[itype][jtype]; - rk = ra/K3[itype][jtype]; r2k = rsq/K3[itype][jtype]/K3[itype][jtype]; Jex = 4.0*J1_mech[itype][jtype]*r2j; From dcdb5cc0e0657cca9f75cdee4067f57156c974f2 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 17 Apr 2021 02:28:32 -0400 Subject: [PATCH 041/726] whitespace fixes --- src/USER-OMP/reaxc_forces_omp.cpp | 29 ++++++++++------------- src/USER-OMP/reaxc_hydrogen_bonds_omp.cpp | 2 +- src/USER-OMP/reaxc_torsion_angles_omp.cpp | 2 +- src/USER-OMP/reaxff_omp.h | 8 +++---- src/USER-REAXC/reaxc_ffield.cpp | 2 +- src/USER-REAXC/reaxc_forces.cpp | 2 +- src/USER-REAXC/reaxc_io_tools.cpp | 2 +- src/USER-REAXC/reaxc_list.cpp | 2 +- src/USER-REAXC/reaxc_multi_body.cpp | 2 +- src/USER-REAXC/reaxc_reset_tools.cpp | 2 +- src/USER-REAXC/reaxc_tool_box.cpp | 2 +- src/USER-REAXC/reaxc_traj.cpp | 2 +- src/USER-REAXC/reaxc_valence_angles.cpp | 2 +- src/USER-REAXC/reaxff_api.h | 8 +++---- src/USER-REAXC/reaxff_defs.h | 2 +- src/USER-REAXC/reaxff_inline.h | 2 +- src/USER-REAXC/reaxff_types.h | 2 +- 17 files changed, 35 insertions(+), 38 deletions(-) diff --git a/src/USER-OMP/reaxc_forces_omp.cpp b/src/USER-OMP/reaxc_forces_omp.cpp index 566edf7d05..29b70c10a4 100644 --- a/src/USER-OMP/reaxc_forces_omp.cpp +++ b/src/USER-OMP/reaxc_forces_omp.cpp @@ -41,9 +41,9 @@ using namespace LAMMPS_NS; namespace ReaxFF { /* ---------------------------------------------------------------------- */ - void Compute_Bonded_ForcesOMP(reax_system *system, control_params *control, - simulation_data *data, storage *workspace, - reax_list **lists, output_controls *out_control) + static void Compute_Bonded_ForcesOMP(reax_system *system, control_params *control, + simulation_data *data, storage *workspace, + reax_list **lists, output_controls *out_control) { BOOMP(system, control, data, workspace, lists, out_control); @@ -55,10 +55,9 @@ namespace ReaxFF { Hydrogen_BondsOMP(system, control, data, workspace, lists); } -// Only difference with MPI-only version is inclusion of OMP_TIMING statements - void Compute_NonBonded_ForcesOMP(reax_system *system, control_params *control, - simulation_data *data, storage *workspace, - reax_list **lists, output_controls *out_control) + static void Compute_NonBonded_ForcesOMP(reax_system *system, control_params *control, + simulation_data *data, storage *workspace, + reax_list **lists) { /* van der Waals and Coulomb interactions */ @@ -73,8 +72,8 @@ namespace ReaxFF { /* this version of Compute_Total_Force computes forces from coefficients accumulated by all interaction functions. Saves enormous time & space! */ - void Compute_Total_ForceOMP(reax_system *system, control_params *control, - storage *workspace, reax_list **lists) + static void Compute_Total_ForceOMP(reax_system *system, control_params *control, + storage *workspace, reax_list **lists) { int natoms = system->N; int nthreads = control->nthreads; @@ -172,7 +171,7 @@ namespace ReaxFF { /* ---------------------------------------------------------------------- */ - void Validate_ListsOMP(reax_system *system, storage * /*workspace*/, reax_list **lists, + static void Validate_ListsOMP(reax_system *system, reax_list **lists, int step, int n, int N, int numH) { int comp, Hindex; @@ -469,9 +468,8 @@ namespace ReaxFF { workspace->realloc.num_bonds = num_bonds; workspace->realloc.num_hbonds = num_hbonds; - Validate_ListsOMP(system, workspace, lists, data->step, - system->n, system->N, system->numH); - + Validate_ListsOMP(system, lists, data->step, + system->n, system->N, system->numH); } /* ---------------------------------------------------------------------- */ @@ -485,11 +483,10 @@ namespace ReaxFF { // Bonded Interactions Compute_Bonded_ForcesOMP(system, control, data, workspace, - lists, out_control); + lists, out_control); // Nonbonded Interactions - Compute_NonBonded_ForcesOMP(system, control, data, workspace, - lists, out_control); + Compute_NonBonded_ForcesOMP(system, control, data, workspace, lists); // Total Force Compute_Total_ForceOMP(system, control, workspace, lists); diff --git a/src/USER-OMP/reaxc_hydrogen_bonds_omp.cpp b/src/USER-OMP/reaxc_hydrogen_bonds_omp.cpp index b2bd04d82a..8c9ffe577e 100644 --- a/src/USER-OMP/reaxc_hydrogen_bonds_omp.cpp +++ b/src/USER-OMP/reaxc_hydrogen_bonds_omp.cpp @@ -38,7 +38,7 @@ using namespace LAMMPS_NS; namespace ReaxFF { - + /* ---------------------------------------------------------------------- */ void Hydrogen_BondsOMP( reax_system *system, control_params *control, diff --git a/src/USER-OMP/reaxc_torsion_angles_omp.cpp b/src/USER-OMP/reaxc_torsion_angles_omp.cpp index f8c8d4262c..6f01d269eb 100644 --- a/src/USER-OMP/reaxc_torsion_angles_omp.cpp +++ b/src/USER-OMP/reaxc_torsion_angles_omp.cpp @@ -39,7 +39,7 @@ using namespace LAMMPS_NS; namespace ReaxFF { - + /* ---------------------------------------------------------------------- */ void Torsion_AnglesOMP(reax_system *system, control_params *control, simulation_data *data, storage *workspace, diff --git a/src/USER-OMP/reaxff_omp.h b/src/USER-OMP/reaxff_omp.h index 630fe07a43..952b1a292e 100644 --- a/src/USER-OMP/reaxff_omp.h +++ b/src/USER-OMP/reaxff_omp.h @@ -27,7 +27,7 @@ #include #endif -namespace ReaxFF +namespace ReaxFF { // exported Functions @@ -42,9 +42,9 @@ namespace ReaxFF extern void BOOMP(reax_system *, control_params *, simulation_data *, storage *, reax_list **, output_controls *); - + // bonds OpenMP - + extern void BondsOMP(reax_system *, simulation_data *, storage *, reax_list **); @@ -55,7 +55,7 @@ namespace ReaxFF reax_list **, output_controls *); // hydrogen bonds - + extern void Hydrogen_BondsOMP(reax_system *, control_params *, simulation_data *, storage *, reax_list **); diff --git a/src/USER-REAXC/reaxc_ffield.cpp b/src/USER-REAXC/reaxc_ffield.cpp index 88381040c2..b60022dd03 100644 --- a/src/USER-REAXC/reaxc_ffield.cpp +++ b/src/USER-REAXC/reaxc_ffield.cpp @@ -41,7 +41,7 @@ using LAMMPS_NS::utils::getsyserror; namespace ReaxFF { extern int Tokenize(char* s, char*** tok); - + void Read_Force_Field(const char *filename, reax_interaction *reax, control_params *control) { diff --git a/src/USER-REAXC/reaxc_forces.cpp b/src/USER-REAXC/reaxc_forces.cpp index ebc042ebe5..a2e01db478 100644 --- a/src/USER-REAXC/reaxc_forces.cpp +++ b/src/USER-REAXC/reaxc_forces.cpp @@ -33,7 +33,7 @@ #include "error.h" namespace ReaxFF { - + static void Compute_Bonded_Forces(reax_system *system, control_params *control, simulation_data *data, storage *workspace, reax_list **lists, output_controls *out_control) diff --git a/src/USER-REAXC/reaxc_io_tools.cpp b/src/USER-REAXC/reaxc_io_tools.cpp index 6ca0b29b6e..d6fd4b3aa4 100644 --- a/src/USER-REAXC/reaxc_io_tools.cpp +++ b/src/USER-REAXC/reaxc_io_tools.cpp @@ -62,7 +62,7 @@ namespace ReaxFF { data->sys_en.e_ele = sys_en[11]; data->sys_en.e_pol = sys_en[12]; } - } + } void Init_Output_Files(reax_system *system, control_params *control, output_controls *out_control, MPI_Comm world) diff --git a/src/USER-REAXC/reaxc_list.cpp b/src/USER-REAXC/reaxc_list.cpp index 94d4a0a4b5..db57aa4f40 100644 --- a/src/USER-REAXC/reaxc_list.cpp +++ b/src/USER-REAXC/reaxc_list.cpp @@ -29,7 +29,7 @@ #include "error.h" namespace ReaxFF { - + /************* allocate list space ******************/ int Make_List(int n, int num_intrs, int type, reax_list *l) { diff --git a/src/USER-REAXC/reaxc_multi_body.cpp b/src/USER-REAXC/reaxc_multi_body.cpp index f2e629c65c..09fb848a08 100644 --- a/src/USER-REAXC/reaxc_multi_body.cpp +++ b/src/USER-REAXC/reaxc_multi_body.cpp @@ -32,7 +32,7 @@ #include namespace ReaxFF { - + void Atom_Energy(reax_system *system, control_params *control, simulation_data *data, storage *workspace, reax_list **lists) { diff --git a/src/USER-REAXC/reaxc_reset_tools.cpp b/src/USER-REAXC/reaxc_reset_tools.cpp index a2276023a4..bb0fc1eb5a 100644 --- a/src/USER-REAXC/reaxc_reset_tools.cpp +++ b/src/USER-REAXC/reaxc_reset_tools.cpp @@ -32,7 +32,7 @@ #include namespace ReaxFF { - + static void Reset_Atoms(reax_system* system, control_params *control) { int i; diff --git a/src/USER-REAXC/reaxc_tool_box.cpp b/src/USER-REAXC/reaxc_tool_box.cpp index ab8ba6317c..bfaa6b94aa 100644 --- a/src/USER-REAXC/reaxc_tool_box.cpp +++ b/src/USER-REAXC/reaxc_tool_box.cpp @@ -33,7 +33,7 @@ #include "error.h" namespace ReaxFF { - + int Tokenize(char* s, char*** tok) { char test[MAX_LINE]; diff --git a/src/USER-REAXC/reaxc_traj.cpp b/src/USER-REAXC/reaxc_traj.cpp index f134713936..91afc9e8d1 100644 --- a/src/USER-REAXC/reaxc_traj.cpp +++ b/src/USER-REAXC/reaxc_traj.cpp @@ -48,7 +48,7 @@ #define ANGLE_BASIC_LEN 38 namespace ReaxFF { - + enum ATOM_LINE_OPTS { OPT_NOATOM = 0, OPT_ATOM_BASIC = 4, OPT_ATOM_wF = 5, OPT_ATOM_wV = 6, OPT_ATOM_FULL = 7, NR_OPT_ATOM = 8 }; enum BOND_LINE_OPTS { OPT_NOBOND, OPT_BOND_BASIC, OPT_BOND_FULL, NR_OPT_BOND }; enum ANGLE_LINE_OPTS { OPT_NOANGLE, OPT_ANGLE_BASIC, NR_OPT_ANGLE }; diff --git a/src/USER-REAXC/reaxc_valence_angles.cpp b/src/USER-REAXC/reaxc_valence_angles.cpp index 9c1bf15c4b..e1a535e193 100644 --- a/src/USER-REAXC/reaxc_valence_angles.cpp +++ b/src/USER-REAXC/reaxc_valence_angles.cpp @@ -31,7 +31,7 @@ #include "pair.h" #include "error.h" -namespace ReaxFF { +namespace ReaxFF { void Calculate_Theta( rvec dvec_ji, double d_ji, rvec dvec_jk, double d_jk, double *theta, double *cos_theta ) { diff --git a/src/USER-REAXC/reaxff_api.h b/src/USER-REAXC/reaxff_api.h index 36579e83e4..c52fa8a711 100644 --- a/src/USER-REAXC/reaxff_api.h +++ b/src/USER-REAXC/reaxff_api.h @@ -25,7 +25,7 @@ #include -namespace ReaxFF +namespace ReaxFF { // per instance data struct API { @@ -61,7 +61,7 @@ namespace ReaxFF // bonds extern void Bonds(reax_system *, simulation_data *, storage *, reax_list **); - + // control extern void Read_Control_File(const char *, control_params *, output_controls *); @@ -78,7 +78,7 @@ namespace ReaxFF int *, int *, int *, int *); // hydrogen bonds - + extern void Hydrogen_Bonds(reax_system *, control_params *, simulation_data *, storage *, reax_list **); // init md @@ -149,7 +149,7 @@ namespace ReaxFF storage *, reax_list **); extern void Reset_Simulation_Data(simulation_data *); extern void Reset_Workspace(reax_system *, storage *); - + // toolbox extern void *scalloc(LAMMPS_NS::Error *, rc_bigint, rc_bigint, const char *); diff --git a/src/USER-REAXC/reaxff_defs.h b/src/USER-REAXC/reaxff_defs.h index f8cc255fd9..b3d3d4acdd 100644 --- a/src/USER-REAXC/reaxff_defs.h +++ b/src/USER-REAXC/reaxff_defs.h @@ -90,7 +90,7 @@ #define REAX_MAX_4BODY_PARAM 5 #define REAX_MAX_ATOM_TYPES 25 -namespace ReaxFF +namespace ReaxFF { /******************* ENUMERATORS *************************/ diff --git a/src/USER-REAXC/reaxff_inline.h b/src/USER-REAXC/reaxff_inline.h index 9a4a2159f6..ba9927e5d3 100644 --- a/src/USER-REAXC/reaxff_inline.h +++ b/src/USER-REAXC/reaxff_inline.h @@ -23,7 +23,7 @@ #include "accelerator_kokkos.h" // for LAMMPS_INLINE -namespace ReaxFF +namespace ReaxFF { struct LR_data { diff --git a/src/USER-REAXC/reaxff_types.h b/src/USER-REAXC/reaxff_types.h index c04d886656..56bbbe43b7 100644 --- a/src/USER-REAXC/reaxff_types.h +++ b/src/USER-REAXC/reaxff_types.h @@ -33,7 +33,7 @@ namespace LAMMPS_NS { class Pair; } -namespace ReaxFF +namespace ReaxFF { /********************** TYPE DEFINITIONS ********************/ typedef int ivec[3]; From 1c6db4b0cb745ede9d4127fffde9dbc2ac98e5f3 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 17 Apr 2021 02:51:18 -0400 Subject: [PATCH 042/726] some more smaller tweaks --- src/USER-OMP/pair_reaxc_omp.cpp | 4 +- src/USER-OMP/reaxc_init_md_omp.cpp | 22 +++------- src/USER-REAXC/pair_reaxc.cpp | 5 +-- src/USER-REAXC/reaxc_allocate.cpp | 66 +++++++++++++----------------- src/USER-REAXC/reaxc_init_md.cpp | 32 +++------------ src/USER-REAXC/reaxc_list.cpp | 4 +- src/USER-REAXC/reaxff_api.h | 2 +- src/USER-REAXC/reaxff_defs.h | 7 ---- 8 files changed, 44 insertions(+), 98 deletions(-) diff --git a/src/USER-OMP/pair_reaxc_omp.cpp b/src/USER-OMP/pair_reaxc_omp.cpp index 5693bef5e6..0f8ae18009 100644 --- a/src/USER-OMP/pair_reaxc_omp.cpp +++ b/src/USER-OMP/pair_reaxc_omp.cpp @@ -389,9 +389,7 @@ void PairReaxCOMP::setup() write_reax_atoms(); int num_nbrs = estimate_reax_lists(); - if (!Make_List(api->system->total_cap, num_nbrs, TYP_FAR_NEIGHBOR, - api->lists+FAR_NBRS)) - error->all(FLERR,"Pair reax/c problem in far neighbor list"); + Make_List(api->system->total_cap, num_nbrs, TYP_FAR_NEIGHBOR, api->lists+FAR_NBRS); write_reax_lists(); diff --git a/src/USER-OMP/reaxc_init_md_omp.cpp b/src/USER-OMP/reaxc_init_md_omp.cpp index 94458d2691..eb81fe8280 100644 --- a/src/USER-OMP/reaxc_init_md_omp.cpp +++ b/src/USER-OMP/reaxc_init_md_omp.cpp @@ -37,8 +37,8 @@ /* ---------------------------------------------------------------------- */ namespace ReaxFF { - int Init_ListsOMP(reax_system *system, control_params *control, - reax_list **lists) + static void Init_ListsOMP(reax_system *system, control_params *control, + reax_list **lists) { int i, total_hbonds, total_bonds, bond_cap, num_3body, cap_3body, Htop; int *hb_top, *bond_top; @@ -62,10 +62,7 @@ namespace ReaxFF { } total_hbonds = (int)(MAX(total_hbonds*saferzone,mincap*system->minhbonds)); - if (!Make_List(system->Hcap, total_hbonds, TYP_HBOND, - *lists+HBONDS)) { - error->one(FLERR, "Not enough space for hbonds list. Terminating!"); - } + Make_List(system->Hcap, total_hbonds, TYP_HBOND,*lists+HBONDS); } total_bonds = 0; @@ -75,10 +72,7 @@ namespace ReaxFF { } bond_cap = (int)(MAX(total_bonds*safezone, mincap*MIN_BONDS)); - if (!Make_List(system->total_cap, bond_cap, TYP_BOND, - *lists+BONDS)) { - error->one(FLERR, "Not enough space for bonds list. Terminating!\n"); - } + Make_List(system->total_cap, bond_cap, TYP_BOND,*lists+BONDS); int nthreads = control->nthreads; reax_list *bonds = (*lists)+BONDS; @@ -89,16 +83,10 @@ namespace ReaxFF { /* 3bodies list */ cap_3body = (int)(MAX(num_3body*safezone, MIN_3BODIES)); - if (!Make_List(bond_cap, cap_3body, TYP_THREE_BODY, - *lists+THREE_BODIES)) { - - error->one(FLERR, "Problem in initializing angles list. Terminating!"); - } + Make_List(bond_cap, cap_3body, TYP_THREE_BODY,*lists+THREE_BODIES); free(hb_top); free(bond_top); - - return SUCCESS; } /* ---------------------------------------------------------------------- */ diff --git a/src/USER-REAXC/pair_reaxc.cpp b/src/USER-REAXC/pair_reaxc.cpp index aa445d765d..26c7428245 100644 --- a/src/USER-REAXC/pair_reaxc.cpp +++ b/src/USER-REAXC/pair_reaxc.cpp @@ -423,9 +423,8 @@ void PairReaxC::setup() int num_nbrs = estimate_reax_lists(); if (num_nbrs < 0) error->all(FLERR,"Too many neighbors for pair style reax/c"); - if (!Make_List(api->system->total_cap, num_nbrs, TYP_FAR_NEIGHBOR, - api->lists+FAR_NBRS)) - error->all(FLERR,"Pair reax/c problem in far neighbor list"); + Make_List(api->system->total_cap, num_nbrs, + TYP_FAR_NEIGHBOR, api->lists+FAR_NBRS); (api->lists+FAR_NBRS)->error_ptr=error; write_reax_lists(); diff --git a/src/USER-REAXC/reaxc_allocate.cpp b/src/USER-REAXC/reaxc_allocate.cpp index 143da54849..9ee2a1d3a1 100644 --- a/src/USER-REAXC/reaxc_allocate.cpp +++ b/src/USER-REAXC/reaxc_allocate.cpp @@ -65,13 +65,13 @@ namespace ReaxFF { auto error = system->error_ptr; // deallocate the atom list - sfree(error, system->my_atoms, "system->my_atoms"); + sfree(error, system->my_atoms, "system->my_atoms"); // deallocate the ffield parameters storage ff_params = &(system->reax_param); ntypes = ff_params->num_atom_types; - sfree(error, ff_params->gp.l, "ff:globals"); + sfree(error, ff_params->gp.l, "ff:globals"); for (i = 0; i < ntypes; ++i) { for (j = 0; j < ntypes; ++j) { @@ -104,27 +104,27 @@ namespace ReaxFF { auto error = control->error_ptr; /* bond order storage */ - sfree(error, workspace->total_bond_order, "total_bo"); - sfree(error, workspace->Deltap, "Deltap"); - sfree(error, workspace->Deltap_boc, "Deltap_boc"); - sfree(error, workspace->dDeltap_self, "dDeltap_self"); - sfree(error, workspace->Delta, "Delta"); - sfree(error, workspace->Delta_lp, "Delta_lp"); - sfree(error, workspace->Delta_lp_temp, "Delta_lp_temp"); - sfree(error, workspace->dDelta_lp, "dDelta_lp"); - sfree(error, workspace->dDelta_lp_temp, "dDelta_lp_temp"); - sfree(error, workspace->Delta_e, "Delta_e"); - sfree(error, workspace->Delta_boc, "Delta_boc"); - sfree(error, workspace->Delta_val, "Delta_val"); - sfree(error, workspace->nlp, "nlp"); - sfree(error, workspace->nlp_temp, "nlp_temp"); - sfree(error, workspace->Clp, "Clp"); - sfree(error, workspace->vlpex, "vlpex"); - sfree(error, workspace->bond_mark, "bond_mark"); + sfree(error, workspace->total_bond_order, "total_bo"); + sfree(error, workspace->Deltap, "Deltap"); + sfree(error, workspace->Deltap_boc, "Deltap_boc"); + sfree(error, workspace->dDeltap_self, "dDeltap_self"); + sfree(error, workspace->Delta, "Delta"); + sfree(error, workspace->Delta_lp, "Delta_lp"); + sfree(error, workspace->Delta_lp_temp, "Delta_lp_temp"); + sfree(error, workspace->dDelta_lp, "dDelta_lp"); + sfree(error, workspace->dDelta_lp_temp, "dDelta_lp_temp"); + sfree(error, workspace->Delta_e, "Delta_e"); + sfree(error, workspace->Delta_boc, "Delta_boc"); + sfree(error, workspace->Delta_val, "Delta_val"); + sfree(error, workspace->nlp, "nlp"); + sfree(error, workspace->nlp_temp, "nlp_temp"); + sfree(error, workspace->Clp, "Clp"); + sfree(error, workspace->vlpex, "vlpex"); + sfree(error, workspace->bond_mark, "bond_mark"); /* force related storage */ - sfree(error, workspace->f, "f"); - sfree(error, workspace->CdDelta, "CdDelta"); + sfree(error, workspace->f, "f"); + sfree(error, workspace->CdDelta, "CdDelta"); /* reductions */ @@ -182,9 +182,7 @@ namespace ReaxFF { static void Reallocate_Neighbor_List(reax_list *far_nbrs, int n, int num_intrs) { Delete_List(far_nbrs); - if (!Make_List(n, num_intrs, TYP_FAR_NEIGHBOR, far_nbrs)) { - far_nbrs->error_ptr->one(FLERR,"Problem in initializing far neighbors list"); - } + Make_List(n, num_intrs, TYP_FAR_NEIGHBOR, far_nbrs); } static int Reallocate_HBonds_List(reax_system *system, reax_list *hbonds) @@ -202,15 +200,13 @@ namespace ReaxFF { total_hbonds = (int)(MAX(total_hbonds*saferzone, mincap*system->minhbonds)); Delete_List(hbonds); - if (!Make_List(system->Hcap, total_hbonds, TYP_HBOND, hbonds)) { - hbonds->error_ptr->one(FLERR, "Not enough space for hydrogen bonds list"); - } + Make_List(system->Hcap, total_hbonds, TYP_HBOND, hbonds); return total_hbonds; } - static int Reallocate_Bonds_List(control_params *control, reax_system *system, - reax_list *bonds, int *total_bonds, int *est_3body) + static void Reallocate_Bonds_List(control_params *control, reax_system *system, + reax_list *bonds, int *total_bonds, int *est_3body) { int i; @@ -230,16 +226,12 @@ namespace ReaxFF { sfree(system->error_ptr, bonds->select.bond_list[i].bo_data.CdboReduction, "CdboReduction"); Delete_List(bonds); - if (!Make_List(system->total_cap, *total_bonds, TYP_BOND, bonds)) { - bonds->error_ptr->one(FLERR, "Not enough space for bonds list"); - } + Make_List(system->total_cap, *total_bonds, TYP_BOND, bonds); if (system->omp_active) for (i = 0; i < bonds->num_intrs; ++i) bonds->select.bond_list[i].bo_data.CdboReduction = (double*) smalloc(system->error_ptr, sizeof(double)*control->nthreads, "CdboReduction"); - - return SUCCESS; } void ReAllocate(reax_system *system, control_params *control, @@ -325,10 +317,8 @@ namespace ReaxFF { wsr->num_3body = (int)(MAX(wsr->num_3body*safezone, MIN_3BODIES)); - if (!Make_List(num_bonds, wsr->num_3body, TYP_THREE_BODY, - (*lists)+THREE_BODIES)) { - error->one(FLERR, "Problem in initializing angles list"); - } + Make_List(num_bonds, wsr->num_3body, TYP_THREE_BODY, + (*lists)+THREE_BODIES); wsr->num_3body = -1; } } diff --git a/src/USER-REAXC/reaxc_init_md.cpp b/src/USER-REAXC/reaxc_init_md.cpp index 8704852a64..adc9bc137d 100644 --- a/src/USER-REAXC/reaxc_init_md.cpp +++ b/src/USER-REAXC/reaxc_init_md.cpp @@ -115,7 +115,7 @@ namespace ReaxFF { Init_Taper(control, workspace); } - static int Init_Lists(reax_system *system, control_params *control, reax_list **lists) + static void Init_Lists(reax_system *system, control_params *control, reax_list **lists) { int i, total_hbonds, total_bonds, bond_cap, num_3body, cap_3body, Htop; int *hb_top, *bond_top; @@ -123,7 +123,6 @@ namespace ReaxFF { int mincap = system->mincap; double safezone = system->safezone; double saferzone = system->saferzone; - LAMMPS_NS::Error *error = system->error_ptr; bond_top = (int*) calloc(system->total_cap, sizeof(int)); hb_top = (int*) calloc(system->local_cap, sizeof(int)); @@ -139,10 +138,7 @@ namespace ReaxFF { } total_hbonds = (int)(MAX(total_hbonds*saferzone,mincap*system->minhbonds)); - if (!Make_List(system->Hcap, total_hbonds, TYP_HBOND, - *lists+HBONDS)) - error->one(FLERR, "Not enough space for hbonds list."); - + Make_List(system->Hcap, total_hbonds, TYP_HBOND,*lists+HBONDS); (*lists+HBONDS)->error_ptr = system->error_ptr; } @@ -153,24 +149,16 @@ namespace ReaxFF { } bond_cap = (int)(MAX(total_bonds*safezone, mincap*MIN_BONDS)); - if (!Make_List(system->total_cap, bond_cap, TYP_BOND, - *lists+BONDS)) - error->one(FLERR, "Not enough space for bonds list."); - + Make_List(system->total_cap, bond_cap, TYP_BOND,*lists+BONDS); (*lists+BONDS)->error_ptr = system->error_ptr; /* 3bodies list */ cap_3body = (int)(MAX(num_3body*safezone, MIN_3BODIES)); - if (!Make_List(bond_cap, cap_3body, TYP_THREE_BODY, - *lists+THREE_BODIES)) - error->one(FLERR,"Problem in initializing angles list."); - + Make_List(bond_cap, cap_3body, TYP_THREE_BODY,*lists+THREE_BODIES); (*lists+THREE_BODIES)->error_ptr = system->error_ptr; free(hb_top); free(bond_top); - - return SUCCESS; } void Initialize(reax_system *system, control_params *control, @@ -178,19 +166,11 @@ namespace ReaxFF { reax_list **lists, output_controls *out_control, MPI_Comm world) { - char msg[MAX_STR]; - LAMMPS_NS::Error *error = system->error_ptr; - Init_System(system, control); Init_Simulation_Data(data); Init_Workspace(system, control, workspace); - - if (Init_Lists(system, control, lists) ==FAILURE) - error->one(FLERR,fmt::format("Error on: {}. System could not be " - "initialized. Terminating.",msg)); - - Init_Output_Files(system, control, out_control,world); - + Init_Lists(system, control, lists); + Init_Output_Files(system, control, out_control, world); if (control->tabulate) Init_Lookup_Tables(system, control, workspace, world); } diff --git a/src/USER-REAXC/reaxc_list.cpp b/src/USER-REAXC/reaxc_list.cpp index db57aa4f40..1063328f8e 100644 --- a/src/USER-REAXC/reaxc_list.cpp +++ b/src/USER-REAXC/reaxc_list.cpp @@ -31,7 +31,7 @@ namespace ReaxFF { /************* allocate list space ******************/ - int Make_List(int n, int num_intrs, int type, reax_list *l) + void Make_List(int n, int num_intrs, int type, reax_list *l) { l->allocated = 1; @@ -91,8 +91,6 @@ namespace ReaxFF { default: l->error_ptr->all(FLERR,fmt::format("No list type {} defined", l->type)); } - - return SUCCESS; } void Delete_List(reax_list *l) diff --git a/src/USER-REAXC/reaxff_api.h b/src/USER-REAXC/reaxff_api.h index c52fa8a711..dda2161c86 100644 --- a/src/USER-REAXC/reaxff_api.h +++ b/src/USER-REAXC/reaxff_api.h @@ -100,7 +100,7 @@ namespace ReaxFF // lists - extern int Make_List(int, int, int, reax_list *); + extern void Make_List(int, int, int, reax_list *); extern void Delete_List(reax_list*); inline int Start_Index(int i, reax_list *l) { return l->index[i]; } diff --git a/src/USER-REAXC/reaxff_defs.h b/src/USER-REAXC/reaxff_defs.h index b3d3d4acdd..917255c5f0 100644 --- a/src/USER-REAXC/reaxff_defs.h +++ b/src/USER-REAXC/reaxff_defs.h @@ -25,13 +25,6 @@ #define inline __inline__ #endif /*IBMC*/ -#ifndef SUCCESS -#define SUCCESS 1 -#endif -#ifndef FAILURE -#define FAILURE 0 -#endif - #define SQR(x) ((x)*(x)) #define CUBE(x) ((x)*(x)*(x)) #define DEG2RAD(a) ((a)*constPI/180.0) From 3b55872a18c4a69be5848526e525909269cf93d6 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 17 Apr 2021 03:06:21 -0400 Subject: [PATCH 043/726] updates for legacy build system --- src/.gitignore | 33 +++++++++------------------------ src/Purge.list | 34 ++++++++++++++++++++++++++++++++++ src/USER-OMP/Install.sh | 2 ++ 3 files changed, 45 insertions(+), 24 deletions(-) diff --git a/src/.gitignore b/src/.gitignore index 96a89ae667..818b9bfcae 100644 --- a/src/.gitignore +++ b/src/.gitignore @@ -544,6 +544,8 @@ /fix_bond_react.h /fix_bond_swap.cpp /fix_bond_swap.h +/fix_charge_regulation.cpp +/fix_charge_regulation.h /fix_client_md.cpp /fix_client_md.h /fix_cmap.cpp @@ -804,6 +806,8 @@ /gridcomm.h /group_ndx.cpp /group_ndx.h +/gz_file_writer.cpp +/gz_file_writer.h /ndx_group.cpp /ndx_group.h /hyper.cpp @@ -1178,6 +1182,7 @@ /python_impl.cpp /python_impl.h /python_compat.h +/python_utils.h /fix_python_move.cpp /fix_python_move.h /fix_python_invoke.cpp @@ -1189,49 +1194,29 @@ /reader_molfile.cpp /reader_molfile.h /reaxc_allocate.cpp -/reaxc_allocate.h /reaxc_basic_comm.cpp -/reaxc_basic_comm.h /reaxc_bond_orders.cpp -/reaxc_bond_orders.h /reaxc_bonds.cpp -/reaxc_bonds.h /reaxc_control.cpp -/reaxc_control.h -/reaxc_defs.h /reaxc_ffield.cpp /reaxc_ffield.h /reaxc_forces.cpp -/reaxc_forces.h /reaxc_hydrogen_bonds.cpp -/reaxc_hydrogen_bonds.h /reaxc_init_md.cpp -/reaxc_init_md.h /reaxc_io_tools.cpp -/reaxc_io_tools.h /reaxc_list.cpp -/reaxc_list.h /reaxc_lookup.cpp -/reaxc_lookup.h /reaxc_multi_body.cpp -/reaxc_multi_body.h /reaxc_nonbonded.cpp -/reaxc_nonbonded.h /reaxc_reset_tools.cpp -/reaxc_reset_tools.h -/reaxc_system_props.cpp -/reaxc_system_props.h /reaxc_tool_box.cpp -/reaxc_tool_box.h /reaxc_torsion_angles.cpp -/reaxc_torsion_angles.h /reaxc_traj.cpp -/reaxc_traj.h -/reaxc_types.h /reaxc_valence_angles.cpp -/reaxc_valence_angles.h -/reaxc_vector.cpp -/reaxc_vector.h +/reaxff_api.h +/reaxff_defs.h +/reaxff_inline.h +/reaxff_types.h /remap.cpp /remap.h /remap_wrap.cpp diff --git a/src/Purge.list b/src/Purge.list index 2853ce2a7c..17f7291a38 100644 --- a/src/Purge.list +++ b/src/Purge.list @@ -51,6 +51,40 @@ lmpinstalledpkgs.h lmpgitversion.h mliap_model_python_couple.cpp mliap_model_python_couple.h +# removed on 17 Apr 2021 +reaxc_allocate.h +reaxc_bond_orders.h +reaxc_bonds.h +reaxc_control.h +reaxc_defs.h +reaxc_ffield.h +reaxc_forces.h +reaxc_hydrogen_bonds.h +reaxc_init_md.h +reaxc_io_tools.h +reaxc_list.h +reaxc_lookup.h +reaxc_multi_body.h +reaxc_nonbonded.h +reaxc_reset_tools.h +reaxc_system_props.h +reaxc_system_props.cpp +reaxc_tool_box.h +reaxc_torsion_angles.h +reaxc_traj.h +reaxc_types.h +reaxc_valence_angles.h +reaxc_vector.h +reaxc_vector.cpp +reaxc_bond_orders_omp.h +reaxc_bonds_omp.h +reaxc_forces_omp.h +reaxc_hydrogen_bonds_omp.h +reaxc_init_md_omp.h +reaxc_multi_body_omp.h +reaxc_nonbonded_omp.h +reaxc_torsion_angles_omp.h +reaxc_valence_angles_omp.h # removed on 9 Sep 2020 mergesort.h # renamed on 8 May 2020 diff --git a/src/USER-OMP/Install.sh b/src/USER-OMP/Install.sh index bb4ef6c3aa..6d9423033e 100755 --- a/src/USER-OMP/Install.sh +++ b/src/USER-OMP/Install.sh @@ -37,10 +37,12 @@ done for file in *_omp.h; do test $file = thr_omp.h && continue + test $file = reaxff_omp.h && continue dep=${file%_omp.h}.h action $file $dep done +action reaxff_omp.h reaxff_api.h action thr_omp.h action thr_omp.cpp action thr_data.h From 04c5b23d90a10c7392b215bd436d8030fbe94aa1 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 17 Apr 2021 15:41:45 -0400 Subject: [PATCH 044/726] add custom constructor for TextFileReader that uses an already opened file descriptor --- src/text_file_reader.cpp | 14 +++++++++++++- src/text_file_reader.h | 3 ++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/text_file_reader.cpp b/src/text_file_reader.cpp index 7a6e914639..57aaaf6bb5 100644 --- a/src/text_file_reader.cpp +++ b/src/text_file_reader.cpp @@ -41,7 +41,7 @@ using namespace LAMMPS_NS; * \param filetype Description of file type for error messages */ TextFileReader::TextFileReader(const std::string &filename, const std::string &filetype) - : filename(filename), filetype(filetype), ignore_comments(true) + : filetype(filetype), ignore_comments(true) { fp = fopen(filename.c_str(), "r"); @@ -51,6 +51,18 @@ TextFileReader::TextFileReader(const std::string &filename, const std::string &f } } +/** + * \overload + * + * \param fp File descriptor of the already opened file + * \param filetype Description of file type for error messages */ + +TextFileReader::TextFileReader(FILE *fp, const std::string &filetype) + : filetype(filetype), fp(fp), ignore_comments(true) +{ + if (fp == nullptr) throw FileReaderException("Invalid file descriptor"); +} + /** Closes the file */ TextFileReader::~TextFileReader() { diff --git a/src/text_file_reader.h b/src/text_file_reader.h index 0da21e4581..1b978fabfa 100644 --- a/src/text_file_reader.h +++ b/src/text_file_reader.h @@ -25,7 +25,6 @@ namespace LAMMPS_NS { class TextFileReader { - std::string filename; std::string filetype; static constexpr int MAXLINE = 1024; char line[MAXLINE]; @@ -35,6 +34,8 @@ namespace LAMMPS_NS bool ignore_comments; //!< Controls whether comments are ignored TextFileReader(const std::string &filename, const std::string &filetype); + TextFileReader(FILE *fp, const std::string &filetype); + ~TextFileReader(); void skip_line(); From 87e74bc721f0f2288a201403acad1bbad357f77f Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 17 Apr 2021 15:42:22 -0400 Subject: [PATCH 045/726] small tweaks for better alignment and access to the LAMMPS Memory class --- src/USER-REAXC/pair_reaxc.cpp | 1 + src/USER-REAXC/reaxff_types.h | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/USER-REAXC/pair_reaxc.cpp b/src/USER-REAXC/pair_reaxc.cpp index 26c7428245..c387c1b203 100644 --- a/src/USER-REAXC/pair_reaxc.cpp +++ b/src/USER-REAXC/pair_reaxc.cpp @@ -94,6 +94,7 @@ PairReaxC::PairReaxC(LAMMPS *lmp) : Pair(lmp) api->system->total_cap = 0; api->system->my_atoms = nullptr; api->system->pair_ptr = this; + api->system->mem_ptr = memory; api->system->error_ptr = error; api->control->error_ptr = error; api->control->lmp_ptr = lmp; diff --git a/src/USER-REAXC/reaxff_types.h b/src/USER-REAXC/reaxff_types.h index 56bbbe43b7..fc88e43dca 100644 --- a/src/USER-REAXC/reaxff_types.h +++ b/src/USER-REAXC/reaxff_types.h @@ -30,6 +30,7 @@ namespace LAMMPS_NS { class Error; class LAMMPS; + class Memory; class Pair; } @@ -47,8 +48,8 @@ namespace ReaxFF struct global_parameters { int n_global; - double* l; int vdw_type; + double *l; }; struct single_body_parameters @@ -213,6 +214,8 @@ namespace ReaxFF LAMMPS_NS::Error *error_ptr; LAMMPS_NS::Pair *pair_ptr; + LAMMPS_NS::Memory *mem_ptr; + int my_bonds; int mincap,minhbonds; double safezone, saferzone; From f0ef44a496a74b8a0237ed3bae8e259b5be3b43a Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 17 Apr 2021 18:23:36 -0400 Subject: [PATCH 046/726] fix small memory leak --- src/USER-REAXC/pair_reaxc.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/USER-REAXC/pair_reaxc.cpp b/src/USER-REAXC/pair_reaxc.cpp index c387c1b203..db2cfb3811 100644 --- a/src/USER-REAXC/pair_reaxc.cpp +++ b/src/USER-REAXC/pair_reaxc.cpp @@ -145,6 +145,7 @@ PairReaxC::~PairReaxC() delete api->data; delete api->workspace; memory->destroy(api->lists); + delete api; // deallocate interface storage if (allocated) { From 545f551c9d76303fb364efff891d85166085d64e Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 17 Apr 2021 18:27:23 -0400 Subject: [PATCH 047/726] modernize force field parser for ReaxFF --- src/USER-REAXC/pair_reaxc.cpp | 2 +- src/USER-REAXC/reaxc_allocate.cpp | 36 +- src/USER-REAXC/reaxc_ffield.cpp | 1293 +++++++++++++---------------- src/USER-REAXC/reaxff_api.h | 3 +- src/text_file_reader.h | 4 +- 5 files changed, 610 insertions(+), 728 deletions(-) diff --git a/src/USER-REAXC/pair_reaxc.cpp b/src/USER-REAXC/pair_reaxc.cpp index db2cfb3811..3525b40b1d 100644 --- a/src/USER-REAXC/pair_reaxc.cpp +++ b/src/USER-REAXC/pair_reaxc.cpp @@ -291,7 +291,7 @@ void PairReaxC::coeff(int nargs, char **args) // read ffield file - Read_Force_Field(args[2], &(api->system->reax_param), api->control); + Read_Force_Field(args[2], &(api->system->reax_param), api->control, world); // read args that map atom types to elements in potential file // map[i] = which element the Ith atom type is, -1 if "NULL" diff --git a/src/USER-REAXC/reaxc_allocate.cpp b/src/USER-REAXC/reaxc_allocate.cpp index 9ee2a1d3a1..b79c5fe57c 100644 --- a/src/USER-REAXC/reaxc_allocate.cpp +++ b/src/USER-REAXC/reaxc_allocate.cpp @@ -27,6 +27,8 @@ #include "reaxff_api.h" #include "error.h" +#include "memory.h" +#include "pair.h" namespace ReaxFF { @@ -59,39 +61,19 @@ namespace ReaxFF { void DeAllocate_System(reax_system *system) { - int i, j, k; - int ntypes; - reax_interaction *ff_params; auto error = system->error_ptr; + auto memory = system->mem_ptr; // deallocate the atom list sfree(error, system->my_atoms, "system->my_atoms"); // deallocate the ffield parameters storage - ff_params = &(system->reax_param); - ntypes = ff_params->num_atom_types; - - sfree(error, ff_params->gp.l, "ff:globals"); - - for (i = 0; i < ntypes; ++i) { - for (j = 0; j < ntypes; ++j) { - for (k = 0; k < ntypes; ++k) { - sfree(error, ff_params->fbp[i][j][k], "ff:fbp[i,j,k]"); - } - sfree(error, ff_params->fbp[i][j], "ff:fbp[i,j]"); - sfree(error, ff_params->thbp[i][j], "ff:thbp[i,j]"); - sfree(error, ff_params->hbp[i][j], "ff:hbp[i,j]"); - } - sfree(error, ff_params->fbp[i], "ff:fbp[i]"); - sfree(error, ff_params->thbp[i], "ff:thbp[i]"); - sfree(error, ff_params->hbp[i], "ff:hbp[i]"); - sfree(error, ff_params->tbp[i], "ff:tbp[i]"); - } - sfree(error, ff_params->fbp, "ff:fbp"); - sfree(error, ff_params->thbp, "ff:thbp"); - sfree(error, ff_params->hbp, "ff:hbp"); - sfree(error, ff_params->tbp, "ff:tbp"); - sfree(error, ff_params->sbp, "ff:sbp"); + memory->destroy(system->reax_param.gp.l); + memory->destroy(system->reax_param.sbp); + memory->destroy(system->reax_param.tbp); + memory->destroy(system->reax_param.thbp); + memory->destroy(system->reax_param.hbp); + memory->destroy(system->reax_param.fbp); } /************* workspace *************/ diff --git a/src/USER-REAXC/reaxc_ffield.cpp b/src/USER-REAXC/reaxc_ffield.cpp index b60022dd03..3cbb4a6f82 100644 --- a/src/USER-REAXC/reaxc_ffield.cpp +++ b/src/USER-REAXC/reaxc_ffield.cpp @@ -26,726 +26,625 @@ #include "reaxff_api.h" -#include +#include "error.h" +#include "memory.h" +#include "text_file_reader.h" +#include "utils.h" + #include #include -#include -#include -#include -#include "error.h" - -#include "utils.h" +#include using LAMMPS_NS::utils::open_potential; using LAMMPS_NS::utils::getsyserror; namespace ReaxFF { + + class parser_error : public std::exception { + std::string message; + public: + parser_error(const std::string &mesg) { message = mesg; } + const char *what() const noexcept { return message.c_str(); } + }; + extern int Tokenize(char* s, char*** tok); void Read_Force_Field(const char *filename, reax_interaction *reax, - control_params *control) + control_params *control, MPI_Comm world) { - char *s; - char **tmp; char ****tor_flag; - int c, i, j, k, l, m, n, o, p, cnt; - int lgflag = control->lgflag; - int errorflag = 1; - double val; - int me = control->me; + auto error = control->error_ptr; + auto lmp = control->lmp_ptr; + auto memory = control->lmp_ptr->memory; - FILE *fp = open_potential(filename,control->lmp_ptr,nullptr); - if (!fp) - control->error_ptr->all(FLERR,fmt::format("Cannot open ReaxFF potential " - "file {}: {}",filename, - getsyserror())); - s = (char*) malloc(sizeof(char)*MAX_LINE); - tmp = (char**) malloc(sizeof(char*)*MAX_TOKENS); - for (i=0; i < MAX_TOKENS; i++) - tmp[i] = (char*) malloc(sizeof(char)*MAX_TOKEN_LEN); + // read and parse the force field only on rank 0 - /* reading first header comment */ - fgets(s, MAX_LINE, fp); +#define THROW_ERROR(txt) \ + throw parser_error(fmt::format("{}:{}: {}",filename,lineno,txt)) - /* line 2 is number of global parameters */ - fgets(s, MAX_LINE, fp); - c = Tokenize(s, &tmp); + if (control->me == 0) { + FILE *fp = LAMMPS_NS::utils::open_potential(filename, lmp, nullptr); + if (!fp) + error->one(FLERR,fmt::format("The ReaxFF parameter file {} cannot be opened: {}", + filename, getsyserror())); + LAMMPS_NS::TextFileReader reader(fp, "ReaxFF parameter"); - /* reading the number of global parameters */ - n = atoi(tmp[0]); - if (n < 1) { - if (me == 0) - control->error_ptr->warning(FLERR, "Number of globals in ffield file is 0. The file will not be read."); - fclose(fp); - free(s); - free(tmp); - return; + try { + int i,j,k,l,m,n,lineno = 0; + + // skip header comment line + + reader.skip_line(); + ++lineno; + + // set some defaults + + reax->gp.vdw_type = 0; + + // get number of global parameters + + auto values = reader.next_values(0); + n = values.next_int(); + reax->gp.n_global = n; + ++lineno; + + if (n < 1) + THROW_ERROR("Invalid number of global parameters"); + + memory->create(reax->gp.l,n,"reaxff:gp.l"); + + // see reaxff_types.h for mapping between l[i] and the lambdas used in ff + + for (i = 0; i < n; ++i) { + values = reader.next_values(0); + ++lineno; + reax->gp.l[i] = values.next_double(); + } + + // next line is number of atom types followed by 3 lines of comments + + values = reader.next_values(0); + n = values.next_int(); + reax->num_atom_types = n; + reader.skip_line(); + reader.skip_line(); + reader.skip_line(); + lineno += 4; + + // allocate and clear storage for ffield data + + memory->create(reax->sbp,n,"reaxff:sbp"); + memory->create(reax->tbp,n,n,"reaxff:tbp"); + memory->create(reax->thbp,n,n,n,"reaxff:thbp"); + memory->create(reax->hbp,n,n,n,"reaxff:hbp"); + memory->create(reax->fbp,n,n,n,n,"reaxff:fbp"); + memory->create(tor_flag,n,n,n,n,"reaxff:tor_flag"); + memset(&(reax->sbp[0]),0,sizeof(single_body_parameters)*n); + memset(&(reax->tbp[0][0]),0,sizeof(two_body_parameters)*n*n); + memset(&(reax->thbp[0][0][0]),0,sizeof(three_body_header)*n*n*n); + memset(&(reax->hbp[0][0][0]),0,sizeof(hbond_parameters)*n*n*n); + memset(&(reax->fbp[0][0][0][0]),0,sizeof(four_body_header)*n*n*n*n); + memset(&tor_flag[0][0][0][0],0,sizeof(char)*n*n*n*n); + + // atomic parameters + // four lines per atom type, or 5 if lgvdw != 0 + // the first starts with the symbol and has 9 words + // the next three have 8 words + // the fifth will have 2 words, if present + + const int lgflag = control->lgflag; + const int ntypes = n; + for (i = 0; i < ntypes; ++i) { + + // line one + + values = reader.next_values(0); + ++lineno; + + if ((values.count() < 8) && !lgflag) + THROW_ERROR("This force field file requires using 'lgvdw yes'"); + if (values.count() < 9) + THROW_ERROR("Invalid force field file format"); + + auto element = values.next_string(); + int len = MIN(element.size(),3); + for (j = 0; j < len; ++j) + reax->sbp[i].name[j] = toupper(element[j]); + reax->sbp[i].name[j] = '\0'; + + reax->sbp[i].r_s = values.next_double(); + reax->sbp[i].valency = values.next_double(); + reax->sbp[i].mass = values.next_double(); + reax->sbp[i].r_vdw = values.next_double(); + reax->sbp[i].epsilon = values.next_double(); + reax->sbp[i].gamma = values.next_double(); + reax->sbp[i].r_pi = values.next_double(); + reax->sbp[i].valency_e = values.next_double(); + reax->sbp[i].nlp_opt = 0.5 * (reax->sbp[i].valency_e-reax->sbp[i].valency); + + // line two + + values = reader.next_values(0); + ++lineno; + if (values.count() < 8) + THROW_ERROR("Invalid force field file format"); + + reax->sbp[i].alpha = values.next_double(); + reax->sbp[i].gamma_w = values.next_double(); + reax->sbp[i].valency_boc= values.next_double(); + reax->sbp[i].p_ovun5 = values.next_double(); + values.skip(); + reax->sbp[i].chi = values.next_double(); + reax->sbp[i].eta = 2.0*values.next_double(); + reax->sbp[i].p_hbond = (int) values.next_double(); + + // line three + + values = reader.next_values(0); + ++lineno; + if (values.count() < 8) + THROW_ERROR("Invalid force field file format"); + + reax->sbp[i].r_pi_pi = values.next_double(); + reax->sbp[i].p_lp2 = values.next_double(); + values.skip(); + reax->sbp[i].b_o_131 = values.next_double(); + reax->sbp[i].b_o_132 = values.next_double(); + reax->sbp[i].b_o_133 = values.next_double(); + + // line four + + values = reader.next_values(0); + ++lineno; + if (values.count() < 8) + THROW_ERROR("Invalid force field file format"); + + reax->sbp[i].p_ovun2 = values.next_double(); + reax->sbp[i].p_val3 = values.next_double(); + values.skip(); + reax->sbp[i].valency_val= values.next_double(); + reax->sbp[i].p_val5 = values.next_double(); + reax->sbp[i].rcore2 = values.next_double(); + reax->sbp[i].ecore2 = values.next_double(); + reax->sbp[i].acore2 = values.next_double(); + + // read line five only when lgflag != 0 + + if (lgflag) { + values = reader.next_values(0); + ++lineno; + if (values.count() < 2) + THROW_ERROR("Invalid force field file format"); + reax->sbp[i].lgcij = values.next_double(); + reax->sbp[i].lgre = values.next_double(); + } else reax->sbp[i].lgcij = reax->sbp[i].lgre = 0.0; + + // van der Waals settings check: + + // Inner-wall? + if ((reax->sbp[i].rcore2 > 0.01) && (reax->sbp[i].acore2 > 0.01)) { + // Shielding van der Waals? + if (reax->sbp[i].gamma_w > 0.5) { + if (reax->gp.vdw_type != 0 && reax->gp.vdw_type != 3) { + const auto errmsg + = fmt::format("Van der Waals parameters for element {} " + "indicate inner wall+shielding, but earlier " + "atoms indicate a different van der Waals " + "method. This may cause division-by-zero " + "errors. Keeping van der Waals setting for " + "earlier atoms.",reax->sbp[i].name); + error->warning(FLERR,errmsg); + } else { + reax->gp.vdw_type = 3; + } + } else { // No shielding van der Waals parameters present + if ((reax->gp.vdw_type != 0) && (reax->gp.vdw_type != 2)) { + const auto errmsg + = fmt::format("Van der Waals parameters for element {} " + "indicate inner wall withou shielding, but " + "earlier atoms indicate a different van der " + "Waals-method. This may cause division-by-" + "zero errors. Keeping van der Waals setting " + "for earlier atoms.", reax->sbp[i].name); + error->warning(FLERR,errmsg); + } else { + reax->gp.vdw_type = 2; + } + } + } else { // No Inner wall parameters present + if (reax->sbp[i].gamma_w > 0.5) { // Shielding vdWaals + if ((reax->gp.vdw_type != 0) && (reax->gp.vdw_type != 1)) { + const auto errmsg + = fmt::format("Van der Waals parameters for element {} " + "indicate shielding without inner wall, but " + "earlier elements indicate a different van der " + "Waals method. This may cause division-by-zero " + "errors. Keeping van der Waals setting for " + "earlier atoms.", reax->sbp[i].name); + error->warning(FLERR,errmsg); + } else { + reax->gp.vdw_type = 1; + } + } else { + error->one(FLERR,fmt::format("Inconsistent van der Waals " + "parameters: No shielding or inner " + "wall set for element {}", + reax->sbp[i].name)); + } + } + } + + /* Equate vval3 to valf for first-row elements (25/10/2004) */ + for (i = 0; i < ntypes; i++) { + if ((reax->sbp[i].mass < 21) && + (reax->sbp[i].valency_val != reax->sbp[i].valency_boc)) { + error->warning(FLERR,fmt::format("Changed valency_val to valency" + "_boc for {}", reax->sbp[i].name)); + reax->sbp[i].valency_val = reax->sbp[i].valency_boc; + } + } + + // next line is number of two body parameters followed by 1 comment line + + values = reader.next_values(0); + n = values.next_int(); + reader.skip_line(); + lineno += 2; + + for (i = 0; i < n; ++i) { + + // first line + + values = reader.next_values(0); + ++lineno; + if (values.count() < 10) + THROW_ERROR("Invalid force field file format"); + + j = values.next_int() - 1; + k = values.next_int() - 1; + + if ((j < 0) || (k < 0)) + THROW_ERROR("Inconsistent force field file"); + + if ((j < ntypes) && (k < ntypes)) { + reax->tbp[j][k].De_s = reax->tbp[k][j].De_s = values.next_double(); + reax->tbp[j][k].De_p = reax->tbp[k][j].De_p = values.next_double(); + reax->tbp[j][k].De_pp = reax->tbp[k][j].De_pp = values.next_double(); + reax->tbp[j][k].p_be1 = reax->tbp[k][j].p_be1 = values.next_double(); + reax->tbp[j][k].p_bo5 = reax->tbp[k][j].p_bo5 = values.next_double(); + reax->tbp[j][k].v13cor = reax->tbp[k][j].v13cor = values.next_double(); + reax->tbp[j][k].p_bo6 = reax->tbp[k][j].p_bo6 = values.next_double(); + reax->tbp[j][k].p_ovun1 = reax->tbp[k][j].p_ovun1 = values.next_double(); + } + + // second line + + values = reader.next_values(0); + ++lineno; + if (values.count() < 8) + THROW_ERROR("Invalid force field file format"); + + if ((j < ntypes) && (k < ntypes)) { + reax->tbp[j][k].p_be2 = reax->tbp[k][j].p_be2 = values.next_double(); + reax->tbp[j][k].p_bo3 = reax->tbp[k][j].p_bo3 = values.next_double(); + reax->tbp[j][k].p_bo4 = reax->tbp[k][j].p_bo4 = values.next_double(); + values.skip(); + reax->tbp[j][k].p_bo1 = reax->tbp[k][j].p_bo1 = values.next_double(); + reax->tbp[j][k].p_bo2 = reax->tbp[k][j].p_bo2 = values.next_double(); + reax->tbp[j][k].ovc = reax->tbp[k][j].ovc = values.next_double(); + } + } + + for (i=0; i < ntypes; ++i) { + for (j=i; j < ntypes; ++j) { + reax->tbp[i][j].r_s = reax->tbp[j][i].r_s = + 0.5*(reax->sbp[j].r_s + reax->sbp[i].r_s); + + reax->tbp[i][j].r_p = reax->tbp[j][i].r_p = + 0.5*(reax->sbp[j].r_pi + reax->sbp[i].r_pi); + + reax->tbp[i][j].r_pp = reax->tbp[j][i].r_pp = + 0.5*(reax->sbp[j].r_pi_pi + reax->sbp[i].r_pi_pi); + + reax->tbp[i][j].p_boc3 = reax->tbp[j][i].p_boc3 = + sqrt(reax->sbp[j].b_o_132 * reax->sbp[i].b_o_132); + + reax->tbp[i][j].p_boc4 = reax->tbp[j][i].p_boc4 = + sqrt(reax->sbp[j].b_o_131 * reax->sbp[i].b_o_131); + + reax->tbp[i][j].p_boc5 = reax->tbp[j][i].p_boc5 = + sqrt(reax->sbp[j].b_o_133 * reax->sbp[i].b_o_133); + + reax->tbp[i][j].D = reax->tbp[j][i].D = + sqrt(reax->sbp[j].epsilon * reax->sbp[i].epsilon); + + reax->tbp[i][j].alpha = reax->tbp[j][i].alpha = + sqrt(reax->sbp[j].alpha * reax->sbp[i].alpha); + + reax->tbp[i][j].r_vdW = reax->tbp[j][i].r_vdW = + 2.0*sqrt(reax->sbp[j].r_vdw * reax->sbp[i].r_vdw); + + reax->tbp[i][j].gamma_w = reax->tbp[j][i].gamma_w = + sqrt(reax->sbp[j].gamma_w * reax->sbp[i].gamma_w); + + reax->tbp[i][j].gamma = reax->tbp[j][i].gamma = + pow(reax->sbp[j].gamma * reax->sbp[i].gamma,-1.5); + + // additions for additional vdWaals interaction types - inner core + + reax->tbp[i][j].rcore = reax->tbp[j][i].rcore = + sqrt(reax->sbp[i].rcore2 * reax->sbp[j].rcore2); + + reax->tbp[i][j].ecore = reax->tbp[j][i].ecore = + sqrt(reax->sbp[i].ecore2 * reax->sbp[j].ecore2); + + reax->tbp[i][j].acore = reax->tbp[j][i].acore = + sqrt(reax->sbp[i].acore2 * reax->sbp[j].acore2); + + // additions for additional vdWalls interaction types lg correction + + reax->tbp[i][j].lgcij = reax->tbp[j][i].lgcij = + sqrt(reax->sbp[i].lgcij * reax->sbp[j].lgcij); + + reax->tbp[i][j].lgre = reax->tbp[j][i].lgre + = 2.0 * reax->gp.l[35] * sqrt(reax->sbp[i].lgre*reax->sbp[j].lgre); + } + } + + // next line is number of two body off-diagonal parameters + + values = reader.next_values(0); + n = values.next_int(); + ++lineno; + + double val; + for (i = 0; i < n; ++i) { + values = reader.next_values(0); + ++lineno; + if ((int)values.count() < 8 + lgflag) + THROW_ERROR("Invalid force field file format"); + + j = values.next_int() - 1; + k = values.next_int() - 1; + + if ((j < 0) || (k < 0)) + THROW_ERROR("Inconsistent force field file"); + + if ((j < ntypes) && (k < ntypes)) { + val = values.next_double(); + if (val > 0.0) reax->tbp[j][k].D = reax->tbp[k][j].D = val; + + val = values.next_double(); + if (val > 0.0) reax->tbp[j][k].r_vdW = reax->tbp[k][j].r_vdW = 2*val; + + val = values.next_double(); + if (val > 0.0) reax->tbp[j][k].alpha = reax->tbp[k][j].alpha = val; + + val = values.next_double(); + if (val > 0.0) reax->tbp[j][k].r_s = reax->tbp[k][j].r_s = val; + + val = values.next_double(); + if (val > 0.0) reax->tbp[j][k].r_p = reax->tbp[k][j].r_p = val; + + val = values.next_double(); + if (val > 0.0) reax->tbp[j][k].r_pp = reax->tbp[k][j].r_pp = val; + + if (lgflag) { + val = values.next_double(); + if (val >= 0.0) reax->tbp[j][k].lgcij = reax->tbp[k][j].lgcij = val; + } + } + } + + // next line is number of three body parameters + + values = reader.next_values(0); + n = values.next_int(); + ++lineno; + + int cnt; + for (i = 0; i < n; ++i) { + values = reader.next_values(0); + ++lineno; + if (values.count() < 10) + THROW_ERROR("Invalid force field file format"); + + j = values.next_int() - 1; + k = values.next_int() - 1; + l = values.next_int() - 1; + + if ((j < 0) || (k < 0) || (l < 0)) + THROW_ERROR("Inconsistent force field file"); + + if ((j < ntypes) && (k < ntypes) && (l < ntypes)) { + + cnt = reax->thbp[j][k][l].cnt; + reax->thbp[j][k][l].cnt++; + reax->thbp[l][k][j].cnt++; + + val = values.next_double(); + reax->thbp[j][k][l].prm[cnt].theta_00 = val; + reax->thbp[l][k][j].prm[cnt].theta_00 = val; + + val = values.next_double(); + reax->thbp[j][k][l].prm[cnt].p_val1 = val; + reax->thbp[l][k][j].prm[cnt].p_val1 = val; + + val = values.next_double(); + reax->thbp[j][k][l].prm[cnt].p_val2 = val; + reax->thbp[l][k][j].prm[cnt].p_val2 = val; + + val = values.next_double(); + reax->thbp[j][k][l].prm[cnt].p_coa1 = val; + reax->thbp[l][k][j].prm[cnt].p_coa1 = val; + + val = values.next_double(); + reax->thbp[j][k][l].prm[cnt].p_val7 = val; + reax->thbp[l][k][j].prm[cnt].p_val7 = val; + + val = values.next_double(); + reax->thbp[j][k][l].prm[cnt].p_pen1 = val; + reax->thbp[l][k][j].prm[cnt].p_pen1 = val; + + val = values.next_double(); + reax->thbp[j][k][l].prm[cnt].p_val4 = val; + reax->thbp[l][k][j].prm[cnt].p_val4 = val; + } + } + + // next line is number of four body parameters + + values = reader.next_values(0); + n = values.next_int(); + ++lineno; + + for (i = 0; i < n; ++i) { + values = reader.next_values(0); + ++lineno; + if (values.count() < 9) + THROW_ERROR("Invalid force field file format"); + + j = values.next_int() - 1; + k = values.next_int() - 1; + l = values.next_int() - 1; + m = values.next_int() - 1; + + if ((j < -1) || (k < 0) || (l < 0) || (m < -1)) + THROW_ERROR("Inconsistent force field file"); + + if ((j >= 0) && (m >= 0)) { // this means the entry is not in compact form + + if ((j < ntypes) && (k < ntypes) && (l < ntypes) && (m < ntypes)) { + + tor_flag[j][k][l][m] = 1; + tor_flag[m][l][k][j] = 1; + + reax->fbp[j][k][l][m].cnt = 1; + reax->fbp[m][l][k][j].cnt = 1; + + val = values.next_double(); + reax->fbp[j][k][l][m].prm[0].V1 = val; + reax->fbp[m][l][k][j].prm[0].V1 = val; + + val = values.next_double(); + reax->fbp[j][k][l][m].prm[0].V2 = val; + reax->fbp[m][l][k][j].prm[0].V2 = val; + + val = values.next_double(); + reax->fbp[j][k][l][m].prm[0].V3 = val; + reax->fbp[m][l][k][j].prm[0].V3 = val; + + val = values.next_double(); + reax->fbp[j][k][l][m].prm[0].p_tor1 = val; + reax->fbp[m][l][k][j].prm[0].p_tor1 = val; + + val = values.next_double(); + reax->fbp[j][k][l][m].prm[0].p_cot1 = val; + reax->fbp[m][l][k][j].prm[0].p_cot1 = val; + } + + } else { /* This means the entry is of the form 0-X-Y-0 */ + + if ((k < ntypes) && (l < ntypes)) { + const double val1 = values.next_double(); + const double val2 = values.next_double(); + const double val3 = values.next_double(); + const double val4 = values.next_double(); + const double val5 = values.next_double(); + + for (int p = 0; p < ntypes; ++p) { + for (int o = 0; o < ntypes; ++o) { + reax->fbp[p][k][l][o].cnt = 1; + reax->fbp[o][l][k][p].cnt = 1; + + if (tor_flag[p][k][l][o] == 0) { + reax->fbp[p][k][l][o].prm[0].V1 = val1; + reax->fbp[p][k][l][o].prm[0].V2 = val2; + reax->fbp[p][k][l][o].prm[0].V3 = val3; + reax->fbp[p][k][l][o].prm[0].p_tor1 = val4; + reax->fbp[p][k][l][o].prm[0].p_cot1 = val5; + } + + if (tor_flag[o][l][k][p] == 0) { + reax->fbp[o][l][k][p].prm[0].V1 = val1; + reax->fbp[o][l][k][p].prm[0].V2 = val2; + reax->fbp[o][l][k][p].prm[0].V3 = val3; + reax->fbp[o][l][k][p].prm[0].p_tor1 = val4; + reax->fbp[o][l][k][p].prm[0].p_cot1 = val5; + } + } + } + } + } + } + + // next line is number of hydrogen bond parameters + + values = reader.next_values(0); + n = values.next_int(); + ++lineno; + + for (i = 0; i < ntypes; ++i) + for (j = 0; j < ntypes; ++j) + for (k = 0; k < ntypes; ++k) + reax->hbp[i][j][k].r0_hb = -1.0; + + for (i = 0; i < n; ++i) { + values = reader.next_values(0); + ++lineno; + if (values.count() < 7) + THROW_ERROR("Invalid force field file format"); + + j = values.next_int() - 1; + k = values.next_int() - 1; + l = values.next_int() - 1; + + if ((j < 0) || (k < 0) || (l < 0)) + THROW_ERROR("Inconsistent force field file"); + + if ((j < ntypes) && (k < ntypes) && (l < ntypes)) { + reax->hbp[j][k][m].r0_hb = values.next_double(); + reax->hbp[j][k][m].p_hb1 = values.next_double(); + reax->hbp[j][k][m].p_hb2 = values.next_double(); + reax->hbp[j][k][m].p_hb3 = values.next_double(); + } + } + + memory->destroy(tor_flag); + } catch (std::exception &e) { + error->one(FLERR,e.what()); + } } - reax->gp.n_global = n; - reax->gp.l = (double*) malloc(sizeof(double)*n); + // broadcast global parameters and allocate list on ranks != 0 + MPI_Bcast(&reax->gp,sizeof(global_parameters),MPI_CHAR,0,world); + if (control->me != 0) memory->create(reax->gp.l,reax->gp.n_global,"reaxff:gp.l"); + MPI_Bcast(reax->gp.l,reax->gp.n_global,MPI_DOUBLE,0,world); - /* see reax_types.h for mapping between l[i] and the lambdas used in ff */ - for (i=0; i < n; i++) { - fgets(s,MAX_LINE,fp); - c = Tokenize(s,&tmp); - - val = (double) atof(tmp[0]); - reax->gp.l[i] = val; + // allocate storage for atom type based data + MPI_Bcast(&reax->num_atom_types,1,MPI_INT,0,world); + if (control->me != 0) { + const int n = reax->num_atom_types; + memory->create(reax->sbp,n,"reaxff:sbp"); + memory->create(reax->tbp,n,n,"reaxff:tbp"); + memory->create(reax->thbp,n,n,n,"reaxff:thbp"); + memory->create(reax->hbp,n,n,n,"reaxff:hbp"); + memory->create(reax->fbp,n,n,n,n,"reaxff:fbp"); } + // broadcast type specific force field data + const int n = reax->num_atom_types; + MPI_Bcast(&(reax->sbp[0]),sizeof(single_body_parameters)*n,MPI_CHAR,0,world); + MPI_Bcast(&(reax->tbp[0][0]),sizeof(two_body_parameters)*n*n,MPI_CHAR,0,world); + MPI_Bcast(&(reax->thbp[0][0][0]),sizeof(three_body_header)*n*n*n,MPI_CHAR,0,world); + MPI_Bcast(&(reax->hbp[0][0][0]),sizeof(hbond_parameters)*n*n*n,MPI_CHAR,0,world); + MPI_Bcast(&(reax->fbp[0][0][0][0]),sizeof(four_body_header)*n*n*n*n,MPI_CHAR,0,world); + + // apply parameters to various settings + control->bo_cut = 0.01 * reax->gp.l[29]; control->nonb_low = reax->gp.l[11]; control->nonb_cut = reax->gp.l[12]; - - /* next line is number of atom types and some comments */ - fgets(s, MAX_LINE, fp); - c = Tokenize(s, &tmp); - reax->num_atom_types = atoi(tmp[0]); - - /* 3 lines of comments */ - fgets(s,MAX_LINE,fp); - fgets(s,MAX_LINE,fp); - fgets(s,MAX_LINE,fp); - - /* Allocating structures in reax_interaction */ - reax->sbp = (single_body_parameters*) - scalloc(control->error_ptr, reax->num_atom_types, sizeof(single_body_parameters), "sbp"); - reax->tbp = (two_body_parameters**) - scalloc(control->error_ptr, reax->num_atom_types, sizeof(two_body_parameters*), "tbp"); - reax->thbp= (three_body_header***) - scalloc(control->error_ptr, reax->num_atom_types, sizeof(three_body_header**), "thbp"); - reax->hbp = (hbond_parameters***) - scalloc(control->error_ptr, reax->num_atom_types, sizeof(hbond_parameters**), "hbp"); - reax->fbp = (four_body_header****) - scalloc(control->error_ptr, reax->num_atom_types, sizeof(four_body_header***), "fbp"); - tor_flag = (char****) - scalloc(control->error_ptr, reax->num_atom_types, sizeof(char***), "tor_flag"); - - for (i = 0; i < reax->num_atom_types; i++) { - reax->tbp[i] = (two_body_parameters*) - scalloc(control->error_ptr, reax->num_atom_types, sizeof(two_body_parameters), "tbp[i]"); - reax->thbp[i]= (three_body_header**) - scalloc(control->error_ptr, reax->num_atom_types, sizeof(three_body_header*), "thbp[i]"); - reax->hbp[i] = (hbond_parameters**) - scalloc(control->error_ptr, reax->num_atom_types, sizeof(hbond_parameters*), "hbp[i]"); - reax->fbp[i] = (four_body_header***) - scalloc(control->error_ptr, reax->num_atom_types, sizeof(four_body_header**), "fbp[i]"); - tor_flag[i] = (char***) - scalloc(control->error_ptr, reax->num_atom_types, sizeof(char**), "tor_flag[i]"); - - for (j = 0; j < reax->num_atom_types; j++) { - reax->thbp[i][j]= (three_body_header*) - scalloc(control->error_ptr, reax->num_atom_types, sizeof(three_body_header), "thbp[i,j]"); - reax->hbp[i][j] = (hbond_parameters*) - scalloc(control->error_ptr, reax->num_atom_types, sizeof(hbond_parameters), "hbp[i,j]"); - reax->fbp[i][j] = (four_body_header**) - scalloc(control->error_ptr, reax->num_atom_types, sizeof(four_body_header*), "fbp[i,j]"); - tor_flag[i][j] = (char**) - scalloc(control->error_ptr, reax->num_atom_types, sizeof(char*), "tor_flag[i,j]"); - - for (k=0; k < reax->num_atom_types; k++) { - reax->fbp[i][j][k] = (four_body_header*) - scalloc(control->error_ptr, reax->num_atom_types, sizeof(four_body_header), "fbp[i,j,k]"); - tor_flag[i][j][k] = (char*) - scalloc(control->error_ptr, reax->num_atom_types, sizeof(char), "tor_flag[i,j,k]"); - } - } - } - - reax->gp.vdw_type = 0; - - char errmsg[1024]; - - for (i = 0; i < reax->num_atom_types; i++) { - /* line one */ - fgets(s, MAX_LINE, fp); - c = Tokenize(s, &tmp); - - /* Sanity checks */ - if (c == 2 && !lgflag) - control->error_ptr->all(FLERR, "Force field file requires using 'lgvdw yes'"); - - if (c < 9) { - snprintf (errmsg, 1024, "Missing parameter(s) in line %s", s); - control->error_ptr->all(FLERR, errmsg); - } - - for (j = 0; j < (int)(strlen(tmp[0])); ++j) - reax->sbp[i].name[j] = toupper(tmp[0][j]); - - val = atof(tmp[1]); reax->sbp[i].r_s = val; - val = atof(tmp[2]); reax->sbp[i].valency = val; - val = atof(tmp[3]); reax->sbp[i].mass = val; - val = atof(tmp[4]); reax->sbp[i].r_vdw = val; - val = atof(tmp[5]); reax->sbp[i].epsilon = val; - val = atof(tmp[6]); reax->sbp[i].gamma = val; - val = atof(tmp[7]); reax->sbp[i].r_pi = val; - val = atof(tmp[8]); reax->sbp[i].valency_e = val; - reax->sbp[i].nlp_opt = 0.5 * (reax->sbp[i].valency_e-reax->sbp[i].valency); - - /* line two */ - fgets(s, MAX_LINE, fp); - c = Tokenize(s, &tmp); - - /* Sanity check */ - if (c < 8) { - snprintf (errmsg, 1024, "Missing parameter(s) in line %s", s); - control->error_ptr->all(FLERR, errmsg); - } - - val = atof(tmp[0]); reax->sbp[i].alpha = val; - val = atof(tmp[1]); reax->sbp[i].gamma_w = val; - val = atof(tmp[2]); reax->sbp[i].valency_boc= val; - val = atof(tmp[3]); reax->sbp[i].p_ovun5 = val; - val = atof(tmp[4]); - val = atof(tmp[5]); reax->sbp[i].chi = val; - val = atof(tmp[6]); reax->sbp[i].eta = 2.0 * val; - val = atof(tmp[7]); reax->sbp[i].p_hbond = (int) val; - - /* line 3 */ - fgets(s, MAX_LINE, fp); - c = Tokenize(s, &tmp); - - /* Sanity check */ - if (c < 8) { - snprintf (errmsg, 1024, "Missing parameter(s) in line %s", s); - control->error_ptr->all(FLERR, errmsg); - } - - val = atof(tmp[0]); reax->sbp[i].r_pi_pi = val; - val = atof(tmp[1]); reax->sbp[i].p_lp2 = val; - val = atof(tmp[2]); - val = atof(tmp[3]); reax->sbp[i].b_o_131 = val; - val = atof(tmp[4]); reax->sbp[i].b_o_132 = val; - val = atof(tmp[5]); reax->sbp[i].b_o_133 = val; - val = atof(tmp[6]); - val = atof(tmp[7]); - - /* line 4 */ - fgets(s, MAX_LINE, fp); - c = Tokenize(s, &tmp); - - /* Sanity check */ - if (c < 8) { - snprintf (errmsg, 1024, "Missing parameter(s) in line %s", s); - control->error_ptr->all(FLERR, errmsg); - } - - val = atof(tmp[0]); reax->sbp[i].p_ovun2 = val; - val = atof(tmp[1]); reax->sbp[i].p_val3 = val; - val = atof(tmp[2]); - val = atof(tmp[3]); reax->sbp[i].valency_val= val; - val = atof(tmp[4]); reax->sbp[i].p_val5 = val; - val = atof(tmp[5]); reax->sbp[i].rcore2 = val; - val = atof(tmp[6]); reax->sbp[i].ecore2 = val; - val = atof(tmp[7]); reax->sbp[i].acore2 = val; - - /* line 5, only if lgvdw is yes */ - if (lgflag) { - fgets(s, MAX_LINE, fp); - c = Tokenize(s, &tmp); - - /* Sanity check */ - if (c > 2) { - control->error_ptr->all(FLERR,"Force field file incompatible with 'lgvdw yes'"); - } - - val = atof(tmp[0]); reax->sbp[i].lgcij = val; - val = atof(tmp[1]); reax->sbp[i].lgre = val; - } - - if (reax->sbp[i].rcore2>0.01 && reax->sbp[i].acore2>0.01) { // Inner-wall - if (reax->sbp[i].gamma_w>0.5) { // Shielding vdWaals - if (reax->gp.vdw_type != 0 && reax->gp.vdw_type != 3) { - if (errorflag && (me == 0)) { - char errmsg[512]; - snprintf(errmsg, 512, "VdWaals-parameters for element %s " - "indicate inner wall+shielding, but earlier " - "atoms indicate different vdWaals-method. " - "This may cause division-by-zero errors. " - "Keeping vdWaals-setting for earlier atoms.", - reax->sbp[i].name); - control->error_ptr->warning(FLERR,errmsg); - } - errorflag = 0; - } else { - reax->gp.vdw_type = 3; - } - } else { // No shielding vdWaals parameters present - if (reax->gp.vdw_type != 0 && reax->gp.vdw_type != 2) { - if (me == 0) { - char errmsg[512]; - snprintf(errmsg, 512, "VdWaals-parameters for element %s " - "indicate inner wall without shielding, but earlier " - "atoms indicate different vdWaals-method. " - "This may cause division-by-zero errors. " - "Keeping vdWaals-setting for earlier atoms.", - reax->sbp[i].name); - control->error_ptr->warning(FLERR,errmsg); - } - } else { - reax->gp.vdw_type = 2; - } - } - } else { // No Inner wall parameters present - if (reax->sbp[i].gamma_w>0.5) { // Shielding vdWaals - if (reax->gp.vdw_type != 0 && reax->gp.vdw_type != 1) { - if (me == 0) { - char errmsg[512]; - snprintf(errmsg, 512, "VdWaals parameters for element %s " - "indicate shielding without inner wall, but earlier " - "elements indicate different vdWaals-method. " - "This may cause division-by-zero errors. " - "Keeping vdWaals-setting for earlier atoms.", - reax->sbp[i].name); - control->error_ptr->warning(FLERR,errmsg); - } - } else { - reax->gp.vdw_type = 1; - } - } else { - char errmsg[256]; - snprintf(errmsg, 256, "Inconsistent vdWaals-parameters: " - "No shielding or inner-wall set for element %s", - reax->sbp[i].name); - control->error_ptr->all(FLERR, errmsg); - } - } - } - - /* Equate vval3 to valf for first-row elements (25/10/2004) */ - for (i = 0; i < reax->num_atom_types; i++) - if (reax->sbp[i].mass < 21 && - reax->sbp[i].valency_val != reax->sbp[i].valency_boc) { - if (me == 0) { - char errmsg[256]; - snprintf(errmsg, 256, "Changed valency_val to valency_boc for %s", - reax->sbp[i].name); - control->error_ptr->warning(FLERR,errmsg); - } - reax->sbp[i].valency_val = reax->sbp[i].valency_boc; - } - - /* next line is number of two body combination and some comments */ - fgets(s,MAX_LINE,fp); - c=Tokenize(s,&tmp); - - if (c == 2 && !lgflag) { - control->error_ptr->all(FLERR, "Force field file requires using 'lgvdw yes'"); - } - - l = atoi(tmp[0]); - - /* a line of comments */ - fgets(s,MAX_LINE,fp); - - for (i=0; i < l; i++) { - /* line 1 */ - fgets(s,MAX_LINE,fp); - c=Tokenize(s,&tmp); - - j = atoi(tmp[0]) - 1; - k = atoi(tmp[1]) - 1; - if ((c < 10) || (j < 0) || (k < 0)) - control->error_ptr->all(FLERR, "Inconsistent force field file"); - - if (j < reax->num_atom_types && k < reax->num_atom_types) { - - val = atof(tmp[2]); reax->tbp[j][k].De_s = val; - reax->tbp[k][j].De_s = val; - val = atof(tmp[3]); reax->tbp[j][k].De_p = val; - reax->tbp[k][j].De_p = val; - val = atof(tmp[4]); reax->tbp[j][k].De_pp = val; - reax->tbp[k][j].De_pp = val; - val = atof(tmp[5]); reax->tbp[j][k].p_be1 = val; - reax->tbp[k][j].p_be1 = val; - val = atof(tmp[6]); reax->tbp[j][k].p_bo5 = val; - reax->tbp[k][j].p_bo5 = val; - val = atof(tmp[7]); reax->tbp[j][k].v13cor = val; - reax->tbp[k][j].v13cor = val; - - val = atof(tmp[8]); reax->tbp[j][k].p_bo6 = val; - reax->tbp[k][j].p_bo6 = val; - val = atof(tmp[9]); reax->tbp[j][k].p_ovun1 = val; - reax->tbp[k][j].p_ovun1 = val; - - /* line 2 */ - fgets(s,MAX_LINE,fp); - c=Tokenize(s,&tmp); - if (c < 8) - control->error_ptr->all(FLERR, "Inconsistent force field file"); - - val = atof(tmp[0]); reax->tbp[j][k].p_be2 = val; - reax->tbp[k][j].p_be2 = val; - val = atof(tmp[1]); reax->tbp[j][k].p_bo3 = val; - reax->tbp[k][j].p_bo3 = val; - val = atof(tmp[2]); reax->tbp[j][k].p_bo4 = val; - reax->tbp[k][j].p_bo4 = val; - val = atof(tmp[3]); - - val = atof(tmp[4]); reax->tbp[j][k].p_bo1 = val; - reax->tbp[k][j].p_bo1 = val; - val = atof(tmp[5]); reax->tbp[j][k].p_bo2 = val; - reax->tbp[k][j].p_bo2 = val; - val = atof(tmp[6]); reax->tbp[j][k].ovc = val; - reax->tbp[k][j].ovc = val; - - val = atof(tmp[7]); - } - } - - for (i=0; i < reax->num_atom_types; i++) - for (j=i; j < reax->num_atom_types; j++) { - reax->tbp[i][j].r_s = 0.5 * - (reax->sbp[i].r_s + reax->sbp[j].r_s); - reax->tbp[j][i].r_s = 0.5 * - (reax->sbp[j].r_s + reax->sbp[i].r_s); - - reax->tbp[i][j].r_p = 0.5 * - (reax->sbp[i].r_pi + reax->sbp[j].r_pi); - reax->tbp[j][i].r_p = 0.5 * - (reax->sbp[j].r_pi + reax->sbp[i].r_pi); - - reax->tbp[i][j].r_pp = 0.5 * - (reax->sbp[i].r_pi_pi + reax->sbp[j].r_pi_pi); - reax->tbp[j][i].r_pp = 0.5 * - (reax->sbp[j].r_pi_pi + reax->sbp[i].r_pi_pi); - - - reax->tbp[i][j].p_boc3 = - sqrt(reax->sbp[i].b_o_132 * - reax->sbp[j].b_o_132); - reax->tbp[j][i].p_boc3 = - sqrt(reax->sbp[j].b_o_132 * - reax->sbp[i].b_o_132); - - reax->tbp[i][j].p_boc4 = - sqrt(reax->sbp[i].b_o_131 * - reax->sbp[j].b_o_131); - reax->tbp[j][i].p_boc4 = - sqrt(reax->sbp[j].b_o_131 * - reax->sbp[i].b_o_131); - - reax->tbp[i][j].p_boc5 = - sqrt(reax->sbp[i].b_o_133 * - reax->sbp[j].b_o_133); - reax->tbp[j][i].p_boc5 = - sqrt(reax->sbp[j].b_o_133 * - reax->sbp[i].b_o_133); - - - reax->tbp[i][j].D = - sqrt(reax->sbp[i].epsilon * - reax->sbp[j].epsilon); - - reax->tbp[j][i].D = - sqrt(reax->sbp[j].epsilon * - reax->sbp[i].epsilon); - - reax->tbp[i][j].alpha = - sqrt(reax->sbp[i].alpha * - reax->sbp[j].alpha); - - reax->tbp[j][i].alpha = - sqrt(reax->sbp[j].alpha * - reax->sbp[i].alpha); - - reax->tbp[i][j].r_vdW = - 2.0 * sqrt(reax->sbp[i].r_vdw * reax->sbp[j].r_vdw); - - reax->tbp[j][i].r_vdW = - 2.0 * sqrt(reax->sbp[j].r_vdw * reax->sbp[i].r_vdw); - - reax->tbp[i][j].gamma_w = - sqrt(reax->sbp[i].gamma_w * - reax->sbp[j].gamma_w); - - reax->tbp[j][i].gamma_w = - sqrt(reax->sbp[j].gamma_w * - reax->sbp[i].gamma_w); - - reax->tbp[i][j].gamma = - pow(reax->sbp[i].gamma * - reax->sbp[j].gamma,-1.5); - - reax->tbp[j][i].gamma = - pow(reax->sbp[j].gamma * - reax->sbp[i].gamma,-1.5); - - // additions for additional vdWaals interaction types - inner core - - reax->tbp[i][j].rcore = reax->tbp[j][i].rcore = - sqrt(reax->sbp[i].rcore2 * reax->sbp[j].rcore2); - - reax->tbp[i][j].ecore = reax->tbp[j][i].ecore = - sqrt(reax->sbp[i].ecore2 * reax->sbp[j].ecore2); - - reax->tbp[i][j].acore = reax->tbp[j][i].acore = - sqrt(reax->sbp[i].acore2 * reax->sbp[j].acore2); - - // additions for additional vdWalls interaction types lg correction - - reax->tbp[i][j].lgcij = reax->tbp[j][i].lgcij = - sqrt(reax->sbp[i].lgcij * reax->sbp[j].lgcij); - - reax->tbp[i][j].lgre = reax->tbp[j][i].lgre = 2.0 * reax->gp.l[35] * - sqrt(reax->sbp[i].lgre*reax->sbp[j].lgre); - - } - - fgets(s,MAX_LINE,fp); - c=Tokenize(s,&tmp); - l = atoi(tmp[0]); - - for (i=0; i < l; i++) { - fgets(s,MAX_LINE,fp); - c=Tokenize(s,&tmp); - - j = atoi(tmp[0]) - 1; - k = atoi(tmp[1]) - 1; - - if ((c < (lgflag ? 9 : 8)) || (j < 0) || (k < 0)) - control->error_ptr->all(FLERR, "Inconsistent force field file"); - - if (j < reax->num_atom_types && k < reax->num_atom_types) { - val = atof(tmp[2]); - if (val > 0.0) { - reax->tbp[j][k].D = val; - reax->tbp[k][j].D = val; - } - - val = atof(tmp[3]); - if (val > 0.0) { - reax->tbp[j][k].r_vdW = 2 * val; - reax->tbp[k][j].r_vdW = 2 * val; - } - - val = atof(tmp[4]); - if (val > 0.0) { - reax->tbp[j][k].alpha = val; - reax->tbp[k][j].alpha = val; - } - - val = atof(tmp[5]); - if (val > 0.0) { - reax->tbp[j][k].r_s = val; - reax->tbp[k][j].r_s = val; - } - - val = atof(tmp[6]); - if (val > 0.0) { - reax->tbp[j][k].r_p = val; - reax->tbp[k][j].r_p = val; - } - - val = atof(tmp[7]); - if (val > 0.0) { - reax->tbp[j][k].r_pp = val; - reax->tbp[k][j].r_pp = val; - } - - if (lgflag) { - val = atof(tmp[8]); - if (val >= 0.0) { - reax->tbp[j][k].lgcij = val; - reax->tbp[k][j].lgcij = val; - } - } - } - } - - for (i = 0; i < reax->num_atom_types; ++i) - for (j = 0; j < reax->num_atom_types; ++j) - for (k = 0; k < reax->num_atom_types; ++k) - reax->thbp[i][j][k].cnt = 0; - - fgets(s, MAX_LINE, fp); - c = Tokenize(s, &tmp); - l = atoi(tmp[0]); - - for (i = 0; i < l; i++) { - fgets(s,MAX_LINE,fp); - c=Tokenize(s,&tmp); - - j = atoi(tmp[0]) - 1; - k = atoi(tmp[1]) - 1; - m = atoi(tmp[2]) - 1; - if ((c < 10) || (j < 0) || (k < 0) || (m < 0)) - control->error_ptr->all(FLERR, "Inconsistent force field file"); - - if (j < reax->num_atom_types && k < reax->num_atom_types && - m < reax->num_atom_types) { - cnt = reax->thbp[j][k][m].cnt; - reax->thbp[j][k][m].cnt++; - reax->thbp[m][k][j].cnt++; - - val = atof(tmp[3]); - reax->thbp[j][k][m].prm[cnt].theta_00 = val; - reax->thbp[m][k][j].prm[cnt].theta_00 = val; - - val = atof(tmp[4]); - reax->thbp[j][k][m].prm[cnt].p_val1 = val; - reax->thbp[m][k][j].prm[cnt].p_val1 = val; - - val = atof(tmp[5]); - reax->thbp[j][k][m].prm[cnt].p_val2 = val; - reax->thbp[m][k][j].prm[cnt].p_val2 = val; - - val = atof(tmp[6]); - reax->thbp[j][k][m].prm[cnt].p_coa1 = val; - reax->thbp[m][k][j].prm[cnt].p_coa1 = val; - - val = atof(tmp[7]); - reax->thbp[j][k][m].prm[cnt].p_val7 = val; - reax->thbp[m][k][j].prm[cnt].p_val7 = val; - - val = atof(tmp[8]); - reax->thbp[j][k][m].prm[cnt].p_pen1 = val; - reax->thbp[m][k][j].prm[cnt].p_pen1 = val; - - val = atof(tmp[9]); - reax->thbp[j][k][m].prm[cnt].p_val4 = val; - reax->thbp[m][k][j].prm[cnt].p_val4 = val; - } - } - - /* clear all entries first */ - for (i = 0; i < reax->num_atom_types; ++i) - for (j = 0; j < reax->num_atom_types; ++j) - for (k = 0; k < reax->num_atom_types; ++k) - for (m = 0; m < reax->num_atom_types; ++m) { - reax->fbp[i][j][k][m].cnt = 0; - tor_flag[i][j][k][m] = 0; - } - - /* next line is number of 4-body params and some comments */ - fgets(s, MAX_LINE, fp); - c = Tokenize(s, &tmp); - l = atoi(tmp[0]); - - for (i = 0; i < l; i++) { - fgets(s, MAX_LINE, fp); - c = Tokenize(s, &tmp); - - j = atoi(tmp[0]) - 1; - k = atoi(tmp[1]) - 1; - m = atoi(tmp[2]) - 1; - n = atoi(tmp[3]) - 1; - if ((c < 9) || (k < 0) || (m < 0)) - control->error_ptr->all(FLERR, "Inconsistent force field file"); - - if (j >= 0 && n >= 0) { // this means the entry is not in compact form - if (j < reax->num_atom_types && k < reax->num_atom_types && - m < reax->num_atom_types && n < reax->num_atom_types) { - tor_flag[j][k][m][n] = 1; - tor_flag[n][m][k][j] = 1; - - reax->fbp[j][k][m][n].cnt = 1; - reax->fbp[n][m][k][j].cnt = 1; - - val = atof(tmp[4]); - reax->fbp[j][k][m][n].prm[0].V1 = val; - reax->fbp[n][m][k][j].prm[0].V1 = val; - - val = atof(tmp[5]); - reax->fbp[j][k][m][n].prm[0].V2 = val; - reax->fbp[n][m][k][j].prm[0].V2 = val; - - val = atof(tmp[6]); - reax->fbp[j][k][m][n].prm[0].V3 = val; - reax->fbp[n][m][k][j].prm[0].V3 = val; - - val = atof(tmp[7]); - reax->fbp[j][k][m][n].prm[0].p_tor1 = val; - reax->fbp[n][m][k][j].prm[0].p_tor1 = val; - - val = atof(tmp[8]); - reax->fbp[j][k][m][n].prm[0].p_cot1 = val; - reax->fbp[n][m][k][j].prm[0].p_cot1 = val; - } - } else { /* This means the entry is of the form 0-X-Y-0 */ - if (k < reax->num_atom_types && m < reax->num_atom_types) - for (p = 0; p < reax->num_atom_types; p++) - for (o = 0; o < reax->num_atom_types; o++) { - reax->fbp[p][k][m][o].cnt = 1; - reax->fbp[o][m][k][p].cnt = 1; - - if (tor_flag[p][k][m][o] == 0) { - reax->fbp[p][k][m][o].prm[0].V1 = atof(tmp[4]); - reax->fbp[p][k][m][o].prm[0].V2 = atof(tmp[5]); - reax->fbp[p][k][m][o].prm[0].V3 = atof(tmp[6]); - reax->fbp[p][k][m][o].prm[0].p_tor1 = atof(tmp[7]); - reax->fbp[p][k][m][o].prm[0].p_cot1 = atof(tmp[8]); - } - - if (tor_flag[o][m][k][p] == 0) { - reax->fbp[o][m][k][p].prm[0].V1 = atof(tmp[4]); - reax->fbp[o][m][k][p].prm[0].V2 = atof(tmp[5]); - reax->fbp[o][m][k][p].prm[0].V3 = atof(tmp[6]); - reax->fbp[o][m][k][p].prm[0].p_tor1 = atof(tmp[7]); - reax->fbp[o][m][k][p].prm[0].p_cot1 = atof(tmp[8]); - } - } - } - } - - /* next line is number of hydrogen bond params and some comments */ - fgets(s, MAX_LINE, fp); - c = Tokenize(s, &tmp); - l = atoi(tmp[0]); - - for (i = 0; i < reax->num_atom_types; ++i) - for (j = 0; j < reax->num_atom_types; ++j) - for (k = 0; k < reax->num_atom_types; ++k) - reax->hbp[i][j][k].r0_hb = -1.0; - - for (i = 0; i < l; i++) { - fgets(s, MAX_LINE, fp); - c = Tokenize(s, &tmp); - - j = atoi(tmp[0]) - 1; - k = atoi(tmp[1]) - 1; - m = atoi(tmp[2]) - 1; - if ((c < 7) || (j < 0) || (k < 0) || (m < 0)) - control->error_ptr->all(FLERR, "Inconsistent force field file"); - - if (j < reax->num_atom_types && m < reax->num_atom_types) { - val = atof(tmp[3]); - reax->hbp[j][k][m].r0_hb = val; - - val = atof(tmp[4]); - reax->hbp[j][k][m].p_hb1 = val; - - val = atof(tmp[5]); - reax->hbp[j][k][m].p_hb2 = val; - - val = atof(tmp[6]); - reax->hbp[j][k][m].p_hb3 = val; - } - } - - /* deallocate helper storage */ - for (i = 0; i < MAX_TOKENS; i++) - free(tmp[i]); - free(tmp); - free(s); - - - /* deallocate tor_flag */ - for (i = 0; i < reax->num_atom_types; i++) { - for (j = 0; j < reax->num_atom_types; j++) { - for (k = 0; k < reax->num_atom_types; k++) { - free(tor_flag[i][j][k]); - } - free(tor_flag[i][j]); - } - free(tor_flag[i]); - } - free(tor_flag); - - // close file - - fclose(fp); } +#undef THROW_ERROR } diff --git a/src/USER-REAXC/reaxff_api.h b/src/USER-REAXC/reaxff_api.h index dda2161c86..cafc3516fd 100644 --- a/src/USER-REAXC/reaxff_api.h +++ b/src/USER-REAXC/reaxff_api.h @@ -68,7 +68,8 @@ namespace ReaxFF // ffield - extern void Read_Force_Field(const char *, reax_interaction *, control_params *); + extern void Read_Force_Field(const char *, reax_interaction *, + control_params *, MPI_Comm); // forces diff --git a/src/text_file_reader.h b/src/text_file_reader.h index 1b978fabfa..4467bca269 100644 --- a/src/text_file_reader.h +++ b/src/text_file_reader.h @@ -39,9 +39,9 @@ namespace LAMMPS_NS ~TextFileReader(); void skip_line(); - char * next_line(int nparams = 0); + char *next_line(int nparams = 0); - void next_dvector(double * list, int n); + void next_dvector(double *list, int n); ValueTokenizer next_values(int nparams, const std::string &separators = TOKENIZER_DEFAULT_SEPARATORS); }; From eaa064e01d26f576e673e2c2026e5a2958e9a0f9 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 18 Apr 2021 02:35:08 -0400 Subject: [PATCH 048/726] remove unused tokenizer function --- src/USER-REAXC/reaxc_ffield.cpp | 2 -- src/USER-REAXC/reaxc_tool_box.cpp | 22 ++-------------------- 2 files changed, 2 insertions(+), 22 deletions(-) diff --git a/src/USER-REAXC/reaxc_ffield.cpp b/src/USER-REAXC/reaxc_ffield.cpp index 3cbb4a6f82..db7b27c235 100644 --- a/src/USER-REAXC/reaxc_ffield.cpp +++ b/src/USER-REAXC/reaxc_ffield.cpp @@ -47,8 +47,6 @@ namespace ReaxFF { const char *what() const noexcept { return message.c_str(); } }; - extern int Tokenize(char* s, char*** tok); - void Read_Force_Field(const char *filename, reax_interaction *reax, control_params *control, MPI_Comm world) { diff --git a/src/USER-REAXC/reaxc_tool_box.cpp b/src/USER-REAXC/reaxc_tool_box.cpp index bfaa6b94aa..318e2d5813 100644 --- a/src/USER-REAXC/reaxc_tool_box.cpp +++ b/src/USER-REAXC/reaxc_tool_box.cpp @@ -34,24 +34,7 @@ namespace ReaxFF { - int Tokenize(char* s, char*** tok) - { - char test[MAX_LINE]; - const char *sep = (const char *)"\t \n\r\f!="; - char *word; - int count=0; - - strncpy(test, s, MAX_LINE-1); - - for (word = strtok(test, sep); word; word = strtok(nullptr, sep)) { - strncpy((*tok)[count], word, MAX_LINE); - count++; - } - - return count; - } - -/* safe malloc */ + /* safe malloc */ void *smalloc(LAMMPS_NS::Error *error_ptr, rc_bigint n, const char *name) { void *ptr; @@ -76,7 +59,7 @@ namespace ReaxFF { return ptr; } -/* safe calloc */ + /* safe calloc */ void *scalloc(LAMMPS_NS::Error *error_ptr, rc_bigint n, rc_bigint size, const char *name) { void *ptr; @@ -108,7 +91,6 @@ namespace ReaxFF { return ptr; } - /* safe free */ void sfree(LAMMPS_NS::Error* error_ptr, void *ptr, const char *name) { From ab3303ed7ba5f1ed457ce8c947f12c6e8d20670a Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 18 Apr 2021 02:45:23 -0400 Subject: [PATCH 049/726] fix indexing bug for hydrogen bond parameters --- src/USER-REAXC/reaxc_ffield.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/USER-REAXC/reaxc_ffield.cpp b/src/USER-REAXC/reaxc_ffield.cpp index db7b27c235..8f857ea343 100644 --- a/src/USER-REAXC/reaxc_ffield.cpp +++ b/src/USER-REAXC/reaxc_ffield.cpp @@ -601,10 +601,10 @@ namespace ReaxFF { THROW_ERROR("Inconsistent force field file"); if ((j < ntypes) && (k < ntypes) && (l < ntypes)) { - reax->hbp[j][k][m].r0_hb = values.next_double(); - reax->hbp[j][k][m].p_hb1 = values.next_double(); - reax->hbp[j][k][m].p_hb2 = values.next_double(); - reax->hbp[j][k][m].p_hb3 = values.next_double(); + reax->hbp[j][k][l].r0_hb = values.next_double(); + reax->hbp[j][k][l].p_hb1 = values.next_double(); + reax->hbp[j][k][l].p_hb2 = values.next_double(); + reax->hbp[j][k][l].p_hb3 = values.next_double(); } } From 6f343aaeed608b44fcefef417bbaf8c1c0709a79 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 18 Apr 2021 04:02:18 -0400 Subject: [PATCH 050/726] add UNITS keyword comments to fix qeq parameter files --- examples/qeq/param.qeq1 | 1 + examples/qeq/param.qeq2 | 1 + 2 files changed, 2 insertions(+) diff --git a/examples/qeq/param.qeq1 b/examples/qeq/param.qeq1 index 9c8514b021..b49705194c 100644 --- a/examples/qeq/param.qeq1 +++ b/examples/qeq/param.qeq1 @@ -1,3 +1,4 @@ +# UNITS: real 1 5.3200 14.8732 1.0206 0.0 0.0 2 5.8678 14.0000 0.9000 0.0 0.0 3 8.5000 17.9978 1.0503 0.0 0.0 diff --git a/examples/qeq/param.qeq2 b/examples/qeq/param.qeq2 index 7e2fdeb8f2..1d77b7d3a6 100644 --- a/examples/qeq/param.qeq2 +++ b/examples/qeq/param.qeq2 @@ -1,2 +1,3 @@ +# UNITS: metal 1 0.00000 7.25028 0.01 0.772871 0.000000 2 11.26882 15.37920 0.01 0.243072 0.000000 From 6bc6da765792648f1f88fd373ba3334cf01c9b8c Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 18 Apr 2021 04:04:40 -0400 Subject: [PATCH 051/726] throw EOF exception in TextFileReader::next_values() if next_line() doesn't do it --- src/text_file_reader.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/text_file_reader.cpp b/src/text_file_reader.cpp index 57aaaf6bb5..c1dbfb3db8 100644 --- a/src/text_file_reader.cpp +++ b/src/text_file_reader.cpp @@ -175,5 +175,8 @@ void TextFileReader::next_dvector(double * list, int n) { * \return ValueTokenizer object for read in text */ ValueTokenizer TextFileReader::next_values(int nparams, const std::string &separators) { - return ValueTokenizer(next_line(nparams), separators); + char *ptr = next_line(nparams); + if (ptr == nullptr) + throw EOFException(fmt::format("Missing line in {} file!", filetype)); + return ValueTokenizer(line, separators); } From 09d7fe2fcf4da52ed52a83995b37363ac0245f8b Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 18 Apr 2021 04:05:01 -0400 Subject: [PATCH 052/726] don't ignore comments in ReaxFF force field files --- src/USER-REAXC/reaxc_ffield.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/USER-REAXC/reaxc_ffield.cpp b/src/USER-REAXC/reaxc_ffield.cpp index 8f857ea343..67b11bee05 100644 --- a/src/USER-REAXC/reaxc_ffield.cpp +++ b/src/USER-REAXC/reaxc_ffield.cpp @@ -66,6 +66,7 @@ namespace ReaxFF { error->one(FLERR,fmt::format("The ReaxFF parameter file {} cannot be opened: {}", filename, getsyserror())); LAMMPS_NS::TextFileReader reader(fp, "ReaxFF parameter"); + reader.ignore_comments = false; try { int i,j,k,l,m,n,lineno = 0; From 242fc2d212d5026a34b914174d80d539ae55ee24 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 18 Apr 2021 04:06:46 -0400 Subject: [PATCH 053/726] modernize parameter file parser in QEQ package --- src/QEQ/fix_qeq.cpp | 145 ++++++++++++++++++++++---------------------- 1 file changed, 72 insertions(+), 73 deletions(-) diff --git a/src/QEQ/fix_qeq.cpp b/src/QEQ/fix_qeq.cpp index e592ed2af4..4504865303 100644 --- a/src/QEQ/fix_qeq.cpp +++ b/src/QEQ/fix_qeq.cpp @@ -24,16 +24,25 @@ #include "force.h" #include "memory.h" #include "neigh_list.h" +#include "text_file_reader.h" #include "update.h" #include #include +#include using namespace LAMMPS_NS; using namespace FixConst; #define MAXLINE 1024 +class parser_error : public std::exception { + std::string message; +public: + parser_error(const std::string &mesg) { message = mesg; } + const char *what() const noexcept { return message.c_str(); } +}; + /* ---------------------------------------------------------------------- */ FixQEq::FixQEq(LAMMPS *lmp, int narg, char **arg) : @@ -184,21 +193,21 @@ void FixQEq::deallocate_storage() memory->destroy(s); memory->destroy(t); - memory->destroy( Hdia_inv ); - memory->destroy( b_s ); - memory->destroy( b_t ); + memory->destroy(Hdia_inv); + memory->destroy(b_s); + memory->destroy(b_t); - memory->destroy( p ); - memory->destroy( q ); - memory->destroy( r ); - memory->destroy( d ); + memory->destroy(p); + memory->destroy(q); + memory->destroy(r); + memory->destroy(d); - memory->destroy( chizj ); - memory->destroy( qf ); - memory->destroy( q1 ); - memory->destroy( q2 ); + memory->destroy(chizj); + memory->destroy(qf); + memory->destroy(q1); + memory->destroy(q2); - memory->destroy( qv ); + memory->destroy(qv); } /* ---------------------------------------------------------------------- */ @@ -224,7 +233,7 @@ void FixQEq::allocate_matrix() safezone = SAFE_ZONE; nlocal = atom->nlocal; - n_cap = MAX( (int)(nlocal * safezone), mincap ); + n_cap = MAX((int)(nlocal * safezone), mincap); nall = atom->nlocal + atom->nghost; // determine the total space for the H matrix @@ -687,13 +696,7 @@ void FixQEq::vector_add( double* dest, double c, double* v, int k ) void FixQEq::read_file(char *file) { - int i; - int params_per_line = 6; - char **words = new char*[params_per_line+1]; - - int ntypes = atom->ntypes; - int *setflag = new int[ntypes+1]; - for (i=0; i <= ntypes; ++i) setflag[i] = 0; + const int ntypes = atom->ntypes; memory->create(chi,ntypes+1,"qeq:chi"); memory->create(eta,ntypes+1,"qeq:eta"); @@ -701,70 +704,66 @@ void FixQEq::read_file(char *file) memory->create(zeta,ntypes+1,"qeq:zeta"); memory->create(zcore,ntypes+1,"qeq:zcore"); - // open file on proc 0 - - FILE *fp; - if (comm->me == 0) { - fp = utils::open_potential(file,lmp,nullptr); - if (fp == nullptr) - error->one(FLERR,fmt::format("Cannot open fix qeq parameter file {}: {}", - file,utils::getsyserror())); - } - // read each line out of file, skipping blank lines or leading '#' // store line of params if all 3 element tags are in element list - int n,nwords,eof,nlo,nhi; - char line[MAXLINE],*ptr; - - eof = 0; - - while (1) { - if (comm->me == 0) { - ptr = fgets(line,MAXLINE,fp); - if (ptr == nullptr) { - eof = 1; - fclose(fp); - } else n = strlen(line) + 1; + if (comm->me == 0) { + int *setflag = new int[ntypes+1]; + for (int n=0; n <= ntypes; ++n) { + setflag[n] = 0; + chi[n] = eta[n] = gamma[n] = zeta[n] = zcore[n] = 0.0; } - MPI_Bcast(&eof,1,MPI_INT,0,world); - if (eof) break; - MPI_Bcast(&n,1,MPI_INT,0,world); - MPI_Bcast(line,n,MPI_CHAR,0,world); - // strip comment, skip line if blank + try { + int nlo,nhi; + double val; - if ((ptr = strchr(line,'#'))) *ptr = '\0'; - nwords = utils::count_words(line); - if (nwords == 0) continue; + FILE *fp = utils::open_potential(file,lmp,nullptr); + if (fp == nullptr) + throw parser_error(fmt::format("Cannot open fix qeq parameter file {}:" + " {}", file,utils::getsyserror())); + TextFileReader reader(fp, "qeq parameter"); - // must have 6 parameters per line. + while (1) { + auto values = reader.next_values(0); - if (nwords < 6) - error->all(FLERR,"Invalid fix qeq parameter file"); + if (values.count() == 0) continue; + if (values.count() < 6) + throw parser_error("Invalid qeq parameter file"); - // words = ptrs to first 6 words in line + auto word = values.next_string(); + utils::bounds(FLERR,word,1,ntypes,nlo,nhi,nullptr); + if ((nlo < 0) || (nhi < 0)) + throw parser_error("Invalid atom type range"); - for (n=0, words[n] = strtok(line," \t\n\r\f"); - n < 6; - words[++n] = strtok(nullptr," \t\n\r\f")); - - utils::bounds(FLERR,words[0],1,ntypes,nlo,nhi,error); - for (n=nlo; n <=nhi; ++n) { - chi[n] = utils::numeric(FLERR,words[1],false,lmp); - eta[n] = utils::numeric(FLERR,words[2],false,lmp); - gamma[n] = utils::numeric(FLERR,words[3],false,lmp); - zeta[n] = utils::numeric(FLERR,words[4],false,lmp); - zcore[n] = utils::numeric(FLERR,words[5],false,lmp); - setflag[n] = 1; + val = values.next_double(); + for (int n=nlo; n <= nhi; ++n) chi[n] = val; + val = values.next_double(); + for (int n=nlo; n <= nhi; ++n) eta[n] = val; + val = values.next_double(); + for (int n=nlo; n <= nhi; ++n) gamma[n] = val; + val = values.next_double(); + for (int n=nlo; n <= nhi; ++n) zeta[n] = val; + val = values.next_double(); + for (int n=nlo; n <= nhi; ++n) zcore[n] = val; + for (int n=nlo; n <= nhi; ++n) setflag[n] = 1; + } + } catch (EOFException &e) { + ; // catch and ignore to exit loop + } catch (std::exception &e) { + error->one(FLERR,e.what()); } + + for (int n=1; n <= ntypes; ++n) + if (setflag[n] == 0) + error->one(FLERR,fmt::format("Parameters for atom type {} missing in " + "qeq parameter file", n)); + delete[] setflag; } - // check if all types are set - for (n=1; n <= ntypes; ++n) - if (setflag[n] == 0) - error->all(FLERR,"Invalid fix qeq parameter file"); - - delete [] words; - delete [] setflag; + MPI_Bcast(chi,ntypes+1,MPI_DOUBLE,0,world); + MPI_Bcast(eta,ntypes+1,MPI_DOUBLE,0,world); + MPI_Bcast(gamma,ntypes+1,MPI_DOUBLE,0,world); + MPI_Bcast(zeta,ntypes+1,MPI_DOUBLE,0,world); + MPI_Bcast(zcore,ntypes+1,MPI_DOUBLE,0,world); } From 162e4e16a548667a2c2b5fbc62ae67fef8844688 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 18 Apr 2021 04:15:58 -0400 Subject: [PATCH 054/726] fix incorrect indentation --- doc/src/Speed_kokkos.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/Speed_kokkos.rst b/doc/src/Speed_kokkos.rst index 708678e537..8f9009aaca 100644 --- a/doc/src/Speed_kokkos.rst +++ b/doc/src/Speed_kokkos.rst @@ -27,7 +27,7 @@ GPUs) and HIP (for AMD GPUs). You choose the mode at build time to produce an executable compatible with a specific hardware. .. admonition:: C++14 support - :class: note + :class: note Kokkos requires using a compiler that supports the c++14 standard. For some compilers, it may be necessary to add a flag to enable c++14 support. From 238ed55313afb2b9d5c08fdabdde768b4b07567a Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 18 Apr 2021 04:33:06 -0400 Subject: [PATCH 055/726] small code tweaks and whitespace update --- src/USER-REAXC/fix_qeq_reax.cpp | 116 ++++++++++++++++---------------- 1 file changed, 59 insertions(+), 57 deletions(-) diff --git a/src/USER-REAXC/fix_qeq_reax.cpp b/src/USER-REAXC/fix_qeq_reax.cpp index f37fa4ba4a..9c5b3b2958 100644 --- a/src/USER-REAXC/fix_qeq_reax.cpp +++ b/src/USER-REAXC/fix_qeq_reax.cpp @@ -222,8 +222,10 @@ void FixQEqReax::pertype_parameters(char *arg) memory->create(gamma,ntypes+1,"qeq/reax:gamma"); if (comm->me == 0) { + chi[0] = eta[0] = gamma[0] = 0.0; try { TextFileReader reader(arg,"qeq/reax parameter"); + reader.ignore_comments = false; for (int i = 1; i <= ntypes; i++) { const char *line = reader.next_line(); if (!line) @@ -246,9 +248,9 @@ void FixQEqReax::pertype_parameters(char *arg) } } - MPI_Bcast(&chi[1],ntypes,MPI_DOUBLE,0,world); - MPI_Bcast(&eta[1],ntypes,MPI_DOUBLE,0,world); - MPI_Bcast(&gamma[1],ntypes,MPI_DOUBLE,0,world); + MPI_Bcast(chi,ntypes+1,MPI_DOUBLE,0,world); + MPI_Bcast(eta,ntypes+1,MPI_DOUBLE,0,world); + MPI_Bcast(gamma,ntypes+1,MPI_DOUBLE,0,world); } /* ---------------------------------------------------------------------- */ @@ -283,16 +285,16 @@ void FixQEqReax::deallocate_storage() memory->destroy(s); memory->destroy(t); - memory->destroy( Hdia_inv ); - memory->destroy( b_s ); - memory->destroy( b_t ); - memory->destroy( b_prc ); - memory->destroy( b_prm ); + memory->destroy(Hdia_inv); + memory->destroy(b_s); + memory->destroy(b_t); + memory->destroy(b_prc); + memory->destroy(b_prm); - memory->destroy( p ); - memory->destroy( q ); - memory->destroy( r ); - memory->destroy( d ); + memory->destroy(p); + memory->destroy(q); + memory->destroy(r); + memory->destroy(d); } /* ---------------------------------------------------------------------- */ @@ -322,7 +324,7 @@ void FixQEqReax::allocate_matrix() } n = atom->nlocal; - n_cap = MAX( (int)(n * safezone), mincap); + n_cap = MAX((int)(n * safezone), mincap); // determine the total space for the H matrix @@ -331,7 +333,7 @@ void FixQEqReax::allocate_matrix() i = ilist[ii]; m += numneigh[i]; } - m_cap = MAX( (int)(m * safezone), mincap * REAX_MIN_NBRS); + m_cap = MAX((int)(m * safezone), mincap * REAX_MIN_NBRS); H.n = n_cap; H.m = m_cap; @@ -345,10 +347,10 @@ void FixQEqReax::allocate_matrix() void FixQEqReax::deallocate_matrix() { - memory->destroy( H.firstnbr ); - memory->destroy( H.numnbrs ); - memory->destroy( H.jlist ); - memory->destroy( H.val ); + memory->destroy(H.firstnbr); + memory->destroy(H.numnbrs); + memory->destroy(H.jlist); + memory->destroy(H.val); } /* ---------------------------------------------------------------------- */ @@ -405,7 +407,7 @@ void FixQEqReax::init_shielding() for (i = 1; i <= ntypes; ++i) for (j = 1; j <= ntypes; ++j) - shld[i][j] = pow( gamma[i] * gamma[j], -1.5); + shld[i][j] = pow(gamma[i] * gamma[j], -1.5); } /* ---------------------------------------------------------------------- */ @@ -421,11 +423,11 @@ void FixQEqReax::init_taper() else if (swb < 5 && comm->me == 0) error->warning(FLERR,"Fix qeq/reax has very low Taper radius cutoff"); - d7 = pow( swb - swa, 7); - swa2 = SQR( swa); - swa3 = CUBE( swa); - swb2 = SQR( swb); - swb3 = CUBE( swb); + d7 = pow(swb - swa, 7); + swa2 = SQR(swa); + swa3 = CUBE(swa); + swb2 = SQR(swb); + swb3 = CUBE(swb); Tap[7] = 20.0 / d7; Tap[6] = -70.0 * (swa + swb) / d7; @@ -581,7 +583,7 @@ void FixQEqReax::init_matvec() b_t[i] = -1.0; /* quadratic extrapolation for s & t from previous solutions */ - t[i] = t_hist[i][2] + 3 * ( t_hist[i][0] - t_hist[i][1]); + t[i] = t_hist[i][2] + 3 * (t_hist[i][0] - t_hist[i][1]); /* cubic extrapolation for s & t from previous solutions */ s[i] = 4*(s_hist[i][0]+s_hist[i][2])-(6*s_hist[i][1]+s_hist[i][3]); @@ -589,9 +591,9 @@ void FixQEqReax::init_matvec() } pack_flag = 2; - comm->forward_comm_fix(this); //Dist_vector( s ); + comm->forward_comm_fix(this); //Dist_vector(s); pack_flag = 3; - comm->forward_comm_fix(this); //Dist_vector( t ); + comm->forward_comm_fix(this); //Dist_vector(t); } /* ---------------------------------------------------------------------- */ @@ -643,7 +645,7 @@ void FixQEqReax::compute_H() if (flag) { H.jlist[m_fill] = j; - H.val[m_fill] = calculate_H( sqrt(r_sqr), shld[type[i]][type[j]]); + H.val[m_fill] = calculate_H(sqrt(r_sqr), shld[type[i]][type[j]]); m_fill++; } } @@ -658,7 +660,7 @@ void FixQEqReax::compute_H() /* ---------------------------------------------------------------------- */ -double FixQEqReax::calculate_H( double r, double gamma) +double FixQEqReax::calculate_H(double r, double gamma) { double Taper, denom; @@ -678,7 +680,7 @@ double FixQEqReax::calculate_H( double r, double gamma) /* ---------------------------------------------------------------------- */ -int FixQEqReax::CG( double *b, double *x) +int FixQEqReax::CG(double *b, double *x) { int i, j; double tmp, alpha, beta, b_norm; @@ -687,10 +689,10 @@ int FixQEqReax::CG( double *b, double *x) int jj; pack_flag = 1; - sparse_matvec( &H, x, q); - comm->reverse_comm_fix(this); //Coll_Vector( q ); + sparse_matvec(&H, x, q); + comm->reverse_comm_fix(this); //Coll_Vector(q); - vector_sum( r , 1., b, -1., q, nn); + vector_sum(r , 1., b, -1., q, nn); for (jj = 0; jj < nn; ++jj) { j = ilist[jj]; @@ -698,19 +700,19 @@ int FixQEqReax::CG( double *b, double *x) d[j] = r[j] * Hdia_inv[j]; //pre-condition } - b_norm = parallel_norm( b, nn); - sig_new = parallel_dot( r, d, nn); + b_norm = parallel_norm(b, nn); + sig_new = parallel_dot(r, d, nn); for (i = 1; i < imax && sqrt(sig_new) / b_norm > tolerance; ++i) { - comm->forward_comm_fix(this); //Dist_vector( d ); - sparse_matvec( &H, d, q ); - comm->reverse_comm_fix(this); //Coll_vector( q ); + comm->forward_comm_fix(this); //Dist_vector(d); + sparse_matvec(&H, d, q); + comm->reverse_comm_fix(this); //Coll_vector(q); - tmp = parallel_dot( d, q, nn); + tmp = parallel_dot(d, q, nn); alpha = sig_new / tmp; - vector_add( x, alpha, d, nn ); - vector_add( r, -alpha, q, nn ); + vector_add(x, alpha, d, nn); + vector_add(r, -alpha, q, nn); // pre-conditioning for (jj = 0; jj < nn; ++jj) { @@ -720,10 +722,10 @@ int FixQEqReax::CG( double *b, double *x) } sig_old = sig_new; - sig_new = parallel_dot( r, p, nn); + sig_new = parallel_dot(r, p, nn); beta = sig_new / sig_old; - vector_sum( d, 1., p, beta, d, nn ); + vector_sum(d, 1., p, beta, d, nn); } if (i >= imax && comm->me == 0) @@ -736,7 +738,7 @@ int FixQEqReax::CG( double *b, double *x) /* ---------------------------------------------------------------------- */ -void FixQEqReax::sparse_matvec( sparse_matrix *A, double *x, double *b) +void FixQEqReax::sparse_matvec(sparse_matrix *A, double *x, double *b) { int i, j, itr_j; int ii; @@ -776,8 +778,8 @@ void FixQEqReax::calculate_Q() int ii; - s_sum = parallel_vector_acc( s, nn); - t_sum = parallel_vector_acc( t, nn); + s_sum = parallel_vector_acc(s, nn); + t_sum = parallel_vector_acc(t, nn); u = s_sum / t_sum; for (ii = 0; ii < nn; ++ii) { @@ -796,7 +798,7 @@ void FixQEqReax::calculate_Q() } pack_flag = 4; - comm->forward_comm_fix(this); //Dist_vector( atom->q ); + comm->forward_comm_fix(this); //Dist_vector(atom->q); } /* ---------------------------------------------------------------------- */ @@ -953,7 +955,7 @@ int FixQEqReax::unpack_exchange(int nlocal, double *buf) /* ---------------------------------------------------------------------- */ -double FixQEqReax::parallel_norm( double *v, int n) +double FixQEqReax::parallel_norm(double *v, int n) { int i; double my_sum, norm_sqr; @@ -965,17 +967,17 @@ double FixQEqReax::parallel_norm( double *v, int n) for (ii = 0; ii < n; ++ii) { i = ilist[ii]; if (atom->mask[i] & groupbit) - my_sum += SQR( v[i]); + my_sum += SQR(v[i]); } - MPI_Allreduce( &my_sum, &norm_sqr, 1, MPI_DOUBLE, MPI_SUM, world); + MPI_Allreduce(&my_sum, &norm_sqr, 1, MPI_DOUBLE, MPI_SUM, world); - return sqrt( norm_sqr); + return sqrt(norm_sqr); } /* ---------------------------------------------------------------------- */ -double FixQEqReax::parallel_dot( double *v1, double *v2, int n) +double FixQEqReax::parallel_dot(double *v1, double *v2, int n) { int i; double my_dot, res; @@ -990,14 +992,14 @@ double FixQEqReax::parallel_dot( double *v1, double *v2, int n) my_dot += v1[i] * v2[i]; } - MPI_Allreduce( &my_dot, &res, 1, MPI_DOUBLE, MPI_SUM, world); + MPI_Allreduce(&my_dot, &res, 1, MPI_DOUBLE, MPI_SUM, world); return res; } /* ---------------------------------------------------------------------- */ -double FixQEqReax::parallel_vector_acc( double *v, int n) +double FixQEqReax::parallel_vector_acc(double *v, int n) { int i; double my_acc, res; @@ -1012,14 +1014,14 @@ double FixQEqReax::parallel_vector_acc( double *v, int n) my_acc += v[i]; } - MPI_Allreduce( &my_acc, &res, 1, MPI_DOUBLE, MPI_SUM, world); + MPI_Allreduce(&my_acc, &res, 1, MPI_DOUBLE, MPI_SUM, world); return res; } /* ---------------------------------------------------------------------- */ -void FixQEqReax::vector_sum( double* dest, double c, double* v, +void FixQEqReax::vector_sum(double* dest, double c, double* v, double d, double* y, int k) { int kk; @@ -1033,7 +1035,7 @@ void FixQEqReax::vector_sum( double* dest, double c, double* v, /* ---------------------------------------------------------------------- */ -void FixQEqReax::vector_add( double* dest, double c, double* v, int k) +void FixQEqReax::vector_add(double* dest, double c, double* v, int k) { int kk; From ab8d78c8f49250464843cf20a3078dbaa3e9ce58 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 18 Apr 2021 04:33:52 -0400 Subject: [PATCH 056/726] convert control file reader code to use text file reader class --- src/USER-REAXC/reaxc_control.cpp | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/src/USER-REAXC/reaxc_control.cpp b/src/USER-REAXC/reaxc_control.cpp index aacb043600..f33cf9ca48 100644 --- a/src/USER-REAXC/reaxc_control.cpp +++ b/src/USER-REAXC/reaxc_control.cpp @@ -28,7 +28,7 @@ #include "error.h" #include "utils.h" -#include "tokenizer.h" +#include "text_file_reader.h" #include #include @@ -60,19 +60,14 @@ namespace ReaxFF { const char *what() const noexcept { return message.c_str(); } }; + // NOTE: this function is run on MPI rank 0 only + void Read_Control_File(const char *control_file, control_params *control, output_controls *out_control) { - FILE *fp; - char line[MAX_LINE]; auto error = control->error_ptr; auto lmp = control->lmp_ptr; - /* open control file */ - fp = fopen(control_file, "r"); - if (!fp) - error->one(FLERR,fmt::format("The control file {} cannot be opened: {}", - control_file, getsyserror())); /* assign default values */ strcpy(control->sim_name, "simulate"); control->nthreads = 1; @@ -92,13 +87,16 @@ namespace ReaxFF { out_control->angle_info = 0; /* read control parameters file */ - while (fgets(line, MAX_LINE, fp)) { - ValueTokenizer values(line); + try { + LAMMPS_NS::TextFileReader reader(control_file, "ReaxFF control"); + reader.ignore_comments = false; - // empty line - if (values.count() == 0) continue; + while (1) { + auto values = reader.next_values(0); + + // empty line + if (values.count() == 0) continue; - try { auto keyword = values.next_string(); if (!values.has_next()) @@ -139,10 +137,11 @@ namespace ReaxFF { } else { throw parser_error(fmt::format("Unknown parameter {} in control file", keyword)); } - } catch (std::exception &e) { - error->one(FLERR, e.what()); } + } catch (LAMMPS_NS::EOFException &) { + ; // catch and ignore + } catch (std::exception &e) { + error->one(FLERR, e.what()); } - fclose(fp); } } From 6c88baceb7ddef8053fe4adfa0fd728607b973b1 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 18 Apr 2021 05:16:41 -0400 Subject: [PATCH 057/726] remove support for writing "native" trajectory files from USER-REAXC --- src/.gitignore | 4 +- src/Purge.list | 2 + src/USER-OMP/pair_reaxc_omp.cpp | 8 +- src/USER-OMP/reaxc_bond_orders_omp.cpp | 3 +- src/USER-OMP/reaxc_forces_omp.cpp | 9 +- src/USER-OMP/reaxc_init_md_omp.cpp | 5 +- src/USER-OMP/reaxff_omp.h | 11 +- src/USER-REAXC/pair_reaxc.cpp | 25 +- src/USER-REAXC/reaxc_bond_orders.cpp | 5 +- src/USER-REAXC/reaxc_control.cpp | 47 +- src/USER-REAXC/reaxc_forces.cpp | 27 +- src/USER-REAXC/reaxc_init_md.cpp | 4 +- src/USER-REAXC/reaxc_io_tools.cpp | 99 ----- src/USER-REAXC/reaxc_reset_tools.cpp | 25 +- src/USER-REAXC/reaxc_traj.cpp | 569 ------------------------- src/USER-REAXC/reaxff_api.h | 39 +- src/USER-REAXC/reaxff_types.h | 24 -- 17 files changed, 61 insertions(+), 845 deletions(-) delete mode 100644 src/USER-REAXC/reaxc_io_tools.cpp delete mode 100644 src/USER-REAXC/reaxc_traj.cpp diff --git a/src/.gitignore b/src/.gitignore index 818b9bfcae..cb0b811521 100644 --- a/src/.gitignore +++ b/src/.gitignore @@ -1199,11 +1199,9 @@ /reaxc_bonds.cpp /reaxc_control.cpp /reaxc_ffield.cpp -/reaxc_ffield.h /reaxc_forces.cpp /reaxc_hydrogen_bonds.cpp /reaxc_init_md.cpp -/reaxc_io_tools.cpp /reaxc_list.cpp /reaxc_lookup.cpp /reaxc_multi_body.cpp @@ -1211,11 +1209,11 @@ /reaxc_reset_tools.cpp /reaxc_tool_box.cpp /reaxc_torsion_angles.cpp -/reaxc_traj.cpp /reaxc_valence_angles.cpp /reaxff_api.h /reaxff_defs.h /reaxff_inline.h +/reaxff_omp.h /reaxff_types.h /remap.cpp /remap.h diff --git a/src/Purge.list b/src/Purge.list index 17f7291a38..39e43414cf 100644 --- a/src/Purge.list +++ b/src/Purge.list @@ -62,6 +62,7 @@ reaxc_forces.h reaxc_hydrogen_bonds.h reaxc_init_md.h reaxc_io_tools.h +reaxc_io_tools.cpp reaxc_list.h reaxc_lookup.h reaxc_multi_body.h @@ -72,6 +73,7 @@ reaxc_system_props.cpp reaxc_tool_box.h reaxc_torsion_angles.h reaxc_traj.h +reaxc_traj.cpp reaxc_types.h reaxc_valence_angles.h reaxc_vector.h diff --git a/src/USER-OMP/pair_reaxc_omp.cpp b/src/USER-OMP/pair_reaxc_omp.cpp index 0f8ae18009..9bfd1a3722 100644 --- a/src/USER-OMP/pair_reaxc_omp.cpp +++ b/src/USER-OMP/pair_reaxc_omp.cpp @@ -211,7 +211,7 @@ void PairReaxCOMP::compute(int eflag, int vflag) startTimeBase = MPI_Wtime(); #endif - Compute_ForcesOMP(api->system,api->control,api->data,api->workspace,&api->lists,api->out_control); + Compute_ForcesOMP(api->system,api->control,api->data,api->workspace,&api->lists); read_reax_forces(vflag); #ifdef OMP_TIMING @@ -270,8 +270,6 @@ void PairReaxCOMP::compute(int eflag, int vflag) api->data->step = update->ntimestep; - Output_Results(api->system, api->control, api->data, &api->lists, api->out_control, world); - // populate tmpid and tmpbo arrays for fix reax/c/species if (fixspecies_flag) { @@ -393,8 +391,8 @@ void PairReaxCOMP::setup() write_reax_lists(); - InitializeOMP(api->system, api->control, api->data, api->workspace, - &api->lists, api->out_control, world); + InitializeOMP(api->system, api->control, api->data, + api->workspace, &api->lists, world); for (int k = 0; k < api->system->N; ++k) { num_bonds[k] = api->system->my_atoms[k].num_bonds; diff --git a/src/USER-OMP/reaxc_bond_orders_omp.cpp b/src/USER-OMP/reaxc_bond_orders_omp.cpp index 745290fa37..c3c1fb37df 100644 --- a/src/USER-OMP/reaxc_bond_orders_omp.cpp +++ b/src/USER-OMP/reaxc_bond_orders_omp.cpp @@ -366,8 +366,7 @@ namespace ReaxFF { /* ---------------------------------------------------------------------- */ - void BOOMP( reax_system *system, control_params * /* control */, simulation_data * /* data */, - storage *workspace, reax_list **lists, output_controls * /* out_control */) + void BOOMP( reax_system *system, storage *workspace, reax_list **lists) { double p_lp1 = system->reax_param.gp.l[15]; double p_boc1 = system->reax_param.gp.l[0]; diff --git a/src/USER-OMP/reaxc_forces_omp.cpp b/src/USER-OMP/reaxc_forces_omp.cpp index 29b70c10a4..70bae4a761 100644 --- a/src/USER-OMP/reaxc_forces_omp.cpp +++ b/src/USER-OMP/reaxc_forces_omp.cpp @@ -43,10 +43,10 @@ namespace ReaxFF { static void Compute_Bonded_ForcesOMP(reax_system *system, control_params *control, simulation_data *data, storage *workspace, - reax_list **lists, output_controls *out_control) + reax_list **lists) { - BOOMP(system, control, data, workspace, lists, out_control); + BOOMP(system, workspace, lists); BondsOMP(system, data, workspace, lists); Atom_EnergyOMP(system, data, workspace, lists); Valence_AnglesOMP(system, control, data, workspace, lists); @@ -476,14 +476,13 @@ namespace ReaxFF { void Compute_ForcesOMP(reax_system *system, control_params *control, simulation_data *data, storage *workspace, - reax_list **lists, output_controls *out_control) + reax_list **lists) { // Init Forces Init_Forces_noQEq_OMP(system, control, data, workspace, lists); // Bonded Interactions - Compute_Bonded_ForcesOMP(system, control, data, workspace, - lists, out_control); + Compute_Bonded_ForcesOMP(system, control, data, workspace, lists); // Nonbonded Interactions Compute_NonBonded_ForcesOMP(system, control, data, workspace, lists); diff --git a/src/USER-OMP/reaxc_init_md_omp.cpp b/src/USER-OMP/reaxc_init_md_omp.cpp index eb81fe8280..cccee3afe8 100644 --- a/src/USER-OMP/reaxc_init_md_omp.cpp +++ b/src/USER-OMP/reaxc_init_md_omp.cpp @@ -94,16 +94,13 @@ namespace ReaxFF { // The only difference with the MPI-only function is calls to Init_ListsOMP and Init_Force_FunctionsOMP(). void InitializeOMP(reax_system *system, control_params *control, simulation_data *data, storage *workspace, - reax_list **lists, output_controls *out_control, - MPI_Comm world) + reax_list **lists, MPI_Comm world) { Init_System(system,control); Init_Simulation_Data(data); Init_Workspace(system,control,workspace); Init_ListsOMP(system,control,lists); - Init_Output_Files(system,control,out_control,world); - if (control->tabulate) Init_Lookup_Tables(system,control,workspace,world); } diff --git a/src/USER-OMP/reaxff_omp.h b/src/USER-OMP/reaxff_omp.h index 952b1a292e..4188ac9bf7 100644 --- a/src/USER-OMP/reaxff_omp.h +++ b/src/USER-OMP/reaxff_omp.h @@ -40,8 +40,7 @@ namespace ReaxFF two_body_parameters *, int, double, double, double, double, double, double, double); - extern void BOOMP(reax_system *, control_params *, simulation_data *, - storage *, reax_list **, output_controls *); + extern void BOOMP(reax_system *, storage *, reax_list **); // bonds OpenMP @@ -51,8 +50,7 @@ namespace ReaxFF // forces OpenMP extern void Compute_ForcesOMP(reax_system *, control_params *, - simulation_data *, storage *, - reax_list **, output_controls *); + simulation_data *, storage *, reax_list **); // hydrogen bonds @@ -61,9 +59,8 @@ namespace ReaxFF // init md OpenMP - extern void InitializeOMP(reax_system *, control_params *, - simulation_data *, storage *, reax_list **, - output_controls *, MPI_Comm); + extern void InitializeOMP(reax_system *, control_params *, simulation_data *, + storage *, reax_list **,MPI_Comm); // multi body diff --git a/src/USER-REAXC/pair_reaxc.cpp b/src/USER-REAXC/pair_reaxc.cpp index 3525b40b1d..565dc89eb0 100644 --- a/src/USER-REAXC/pair_reaxc.cpp +++ b/src/USER-REAXC/pair_reaxc.cpp @@ -77,8 +77,6 @@ PairReaxC::PairReaxC(LAMMPS *lmp) : Pair(lmp) memset(api->system,0,sizeof(reax_system)); api->control = new control_params; memset(api->control,0,sizeof(control_params)); - api->out_control = new output_controls; - memset(api->out_control,0,sizeof(output_controls)); api->data = new simulation_data; api->workspace = new storage; memory->create(api->lists, LIST_N,"reaxff:lists"); @@ -124,7 +122,6 @@ PairReaxC::~PairReaxC() delete[] fix_id; if (setup_flag) { - Close_Output_Files(api->system,api->out_control); // deallocate reax data-structures @@ -141,7 +138,6 @@ PairReaxC::~PairReaxC() delete api->system; delete api->control; - delete api->out_control; delete api->data; delete api->workspace; memory->destroy(api->lists); @@ -192,8 +188,6 @@ void PairReaxC::settings(int narg, char **arg) // read name of control file or use default controls if (strcmp(arg[0],"NULL") == 0) { - strcpy(api->control->sim_name, "simulate"); - api->out_control->energy_update_freq = 0; api->control->tabulate = 0; api->control->bond_cut = 5.; @@ -204,15 +198,9 @@ void PairReaxC::settings(int narg, char **arg) api->control->nthreads = 1; - api->out_control->write_steps = 0; - strcpy(api->out_control->traj_title, "default_title"); - api->out_control->atom_info = 0; - api->out_control->bond_info = 0; - api->out_control->angle_info = 0; - } else Read_Control_File(arg[0], api->control, api->out_control); + } else Read_Control_File(arg[0], api->control); } MPI_Bcast(api->control,sizeof(control_params),MPI_CHAR,0,world); - MPI_Bcast(api->out_control,sizeof(output_controls),MPI_CHAR,0,world); // must reset these to local values after broadcast api->control->me = comm->me; @@ -431,8 +419,8 @@ void PairReaxC::setup() write_reax_lists(); api->system->wsize = comm->nprocs; - Initialize(api->system, api->control, api->data, api->workspace, - &api->lists, api->out_control, world); + Initialize(api->system, api->control, api->data, + api->workspace, &api->lists, world); for (int k = 0; k < api->system->N; ++k) { num_bonds[k] = api->system->my_atoms[k].num_bonds; num_hbonds[k] = api->system->my_atoms[k].num_hbonds; @@ -500,7 +488,7 @@ void PairReaxC::compute(int eflag, int vflag) // forces - Compute_Forces(api->system,api->control,api->data,api->workspace,&api->lists,api->out_control); + Compute_Forces(api->system,api->control,api->data,api->workspace,&api->lists); read_reax_forces(vflag); for (int k = 0; k < api->system->N; ++k) { @@ -526,9 +514,6 @@ void PairReaxC::compute(int eflag, int vflag) ecoul += api->data->my_en.e_ele; ecoul += api->data->my_en.e_pol; - // eng_vdwl += evdwl; - // eng_coul += ecoul; - // Store the different parts of the energy // in a list for output by compute pair command @@ -554,8 +539,6 @@ void PairReaxC::compute(int eflag, int vflag) api->data->step = update->ntimestep; - Output_Results(api->system, api->control, api->data, &api->lists, api->out_control, world); - // populate tmpid and tmpbo arrays for fix reax/c/species int i, j; diff --git a/src/USER-REAXC/reaxc_bond_orders.cpp b/src/USER-REAXC/reaxc_bond_orders.cpp index ae6fc3b823..f6e923406d 100644 --- a/src/USER-REAXC/reaxc_bond_orders.cpp +++ b/src/USER-REAXC/reaxc_bond_orders.cpp @@ -333,13 +333,10 @@ namespace ReaxFF { return 1; } - return 0; } - - void BO(reax_system *system, control_params * /*control*/, simulation_data * /*data*/, - storage *workspace, reax_list **lists, output_controls * /*out_control*/ ) + void BO(reax_system *system, storage *workspace, reax_list **lists) { int i, j, pj, type_i, type_j; int start_i, end_i, sym_index; diff --git a/src/USER-REAXC/reaxc_control.cpp b/src/USER-REAXC/reaxc_control.cpp index f33cf9ca48..05f6813d92 100644 --- a/src/USER-REAXC/reaxc_control.cpp +++ b/src/USER-REAXC/reaxc_control.cpp @@ -41,7 +41,7 @@ using LAMMPS_NS::utils::logmesg; using LAMMPS_NS::ValueTokenizer; namespace ReaxFF { - static std::unordered_set ignored_keywords = { + static std::unordered_set inactive_keywords = { "ensemble_type", "nsteps", "dt", "proc_by_dim", "random_vel", "restart_format", "restart_freq", "reposition_atoms", "restrict_bonds", "remove_CoM_vel", "debug_level", "reneighbor", @@ -50,8 +50,9 @@ namespace ReaxFF { "t_freq", "pressure", "p_mass", "pt_mass", "compress", "press_mode", "geo_format", "traj_compress", "traj_method", "molecular_analysis", "ignore", "dipole_anal", "freq_dipole_anal", "diffusion_coef", - "freq_diffusion_coef", "restrict_type" - }; + "freq_diffusion_coef", "restrict_type", "traj_title", "simulation_name", + "energy_update_freq", "atom_info", "atom_velocities", "atom_forces", + "bond_info", "angle_info" }; class parser_error : public std::exception { std::string message; @@ -62,14 +63,11 @@ namespace ReaxFF { // NOTE: this function is run on MPI rank 0 only - void Read_Control_File(const char *control_file, control_params *control, - output_controls *out_control) + void Read_Control_File(const char *control_file, control_params *control) { auto error = control->error_ptr; - auto lmp = control->lmp_ptr; /* assign default values */ - strcpy(control->sim_name, "simulate"); control->nthreads = 1; control->tabulate = 0; control->virial = 0; @@ -79,13 +77,6 @@ namespace ReaxFF { control->thb_cutsq = 0.00001; control->hbond_cut = 7.5; - out_control->write_steps = 0; - out_control->energy_update_freq = 0; - strcpy(out_control->traj_title, "default_title"); - out_control->atom_info = 0; - out_control->bond_info = 0; - out_control->angle_info = 0; - /* read control parameters file */ try { LAMMPS_NS::TextFileReader reader(control_file, "ReaxFF control"); @@ -102,12 +93,9 @@ namespace ReaxFF { if (!values.has_next()) throw parser_error(fmt::format("No value(s) for control parameter: {}\n",keyword)); - if (ignored_keywords.find(keyword) != ignored_keywords.end()) { - logmesg(lmp,fmt::format("Ignoring inactive control parameter: {}\n",keyword)); - } else if (keyword == "simulation_name") { - strcpy(control->sim_name, values.next_string().c_str()); - } else if (keyword == "energy_update_freq") { - out_control->energy_update_freq = values.next_int(); + if (inactive_keywords.find(keyword) != inactive_keywords.end()) { + error->warning(FLERR,fmt::format("Ignoring inactive control " + "parameter: {}",keyword)); } else if (keyword == "nbrhood_cutoff") { control->bond_cut = values.next_double(); } else if (keyword == "bond_graph_cutoff") { @@ -121,21 +109,12 @@ namespace ReaxFF { } else if (keyword == "tabulate_long_range") { control->tabulate = values.next_int(); } else if (keyword == "write_freq") { - out_control->write_steps = values.next_int(); - } else if (keyword == "traj_title") { - strcpy(out_control->traj_title, values.next_string().c_str()); - } else if (keyword == "atom_info") { - out_control->atom_info += values.next_int() * 4; - } else if (keyword == "atom_velocities") { - out_control->atom_info += values.next_int() * 2; - } else if (keyword == "atom_forces") { - out_control->atom_info += values.next_int() * 1; - } else if (keyword == "bond_info") { - out_control->bond_info = values.next_int(); - } else if (keyword == "angle_info") { - out_control->angle_info = values.next_int(); + if (values.next_int() > 0) + error->warning(FLERR,"Support for writing native trajectories has " + "been removed after LAMMPS version 8 April 2021"); } else { - throw parser_error(fmt::format("Unknown parameter {} in control file", keyword)); + throw parser_error(fmt::format("Unknown parameter {} in " + "control file", keyword)); } } } catch (LAMMPS_NS::EOFException &) { diff --git a/src/USER-REAXC/reaxc_forces.cpp b/src/USER-REAXC/reaxc_forces.cpp index a2e01db478..22b81633aa 100644 --- a/src/USER-REAXC/reaxc_forces.cpp +++ b/src/USER-REAXC/reaxc_forces.cpp @@ -34,11 +34,13 @@ namespace ReaxFF { - static void Compute_Bonded_Forces(reax_system *system, control_params *control, - simulation_data *data, storage *workspace, - reax_list **lists, output_controls *out_control) + static void Compute_Bonded_Forces(reax_system *system, + control_params *control, + simulation_data *data, + storage *workspace, + reax_list **lists) { - BO(system, control, data, workspace, lists, out_control); + BO(system, workspace, lists); Bonds(system, data, workspace, lists); Atom_Energy(system, control, data, workspace, lists); Valence_Angles(system, control, data, workspace, lists); @@ -47,8 +49,10 @@ namespace ReaxFF { Hydrogen_Bonds(system, control, data, workspace, lists); } - static void Compute_NonBonded_Forces(reax_system *system, control_params *control, - simulation_data *data, storage *workspace, + static void Compute_NonBonded_Forces(reax_system *system, + control_params *control, + simulation_data *data, + storage *workspace, reax_list **lists) { @@ -60,7 +64,7 @@ namespace ReaxFF { } static void Compute_Total_Force(reax_system *system, control_params *control, - storage *workspace, reax_list **lists) + storage *workspace, reax_list **lists) { int i, pj; reax_list *bonds = (*lists) + BONDS; @@ -113,10 +117,6 @@ namespace ReaxFF { system->my_atoms[i].num_hbonds = (int)(MAX(Num_Entries(Hindex, hbonds)*saferzone, system->minhbonds)); - //if(Num_Entries(i, hbonds) >= - //(Start_Index(i+1,hbonds)-Start_Index(i,hbonds))*0.90/*DANGER_ZONE*/) { - // workspace->realloc.hbonds = 1; - if (Hindex < numH-1) comp = Start_Index(Hindex+1, hbonds); else comp = hbonds->num_intrs; @@ -374,14 +374,13 @@ namespace ReaxFF { void Compute_Forces(reax_system *system, control_params *control, simulation_data *data, storage *workspace, - reax_list **lists, output_controls *out_control) + reax_list **lists) { Init_Forces_noQEq(system, control, data, workspace, lists); /********* bonded interactions ************/ - Compute_Bonded_Forces(system, control, data, workspace, - lists, out_control); + Compute_Bonded_Forces(system, control, data, workspace, lists); /********* nonbonded interactions ************/ Compute_NonBonded_Forces(system, control, data, workspace, lists); diff --git a/src/USER-REAXC/reaxc_init_md.cpp b/src/USER-REAXC/reaxc_init_md.cpp index adc9bc137d..86a8677a02 100644 --- a/src/USER-REAXC/reaxc_init_md.cpp +++ b/src/USER-REAXC/reaxc_init_md.cpp @@ -163,14 +163,12 @@ namespace ReaxFF { void Initialize(reax_system *system, control_params *control, simulation_data *data, storage *workspace, - reax_list **lists, output_controls *out_control, - MPI_Comm world) + reax_list **lists, MPI_Comm world) { Init_System(system, control); Init_Simulation_Data(data); Init_Workspace(system, control, workspace); Init_Lists(system, control, lists); - Init_Output_Files(system, control, out_control, world); if (control->tabulate) Init_Lookup_Tables(system, control, workspace, world); } diff --git a/src/USER-REAXC/reaxc_io_tools.cpp b/src/USER-REAXC/reaxc_io_tools.cpp deleted file mode 100644 index d6fd4b3aa4..0000000000 --- a/src/USER-REAXC/reaxc_io_tools.cpp +++ /dev/null @@ -1,99 +0,0 @@ -/*---------------------------------------------------------------------- - PuReMD - Purdue ReaxFF Molecular Dynamics Program - - Copyright (2010) Purdue University - Hasan Metin Aktulga, hmaktulga@lbl.gov - Joseph Fogarty, jcfogart@mail.usf.edu - Sagar Pandit, pandit@usf.edu - Ananth Y Grama, ayg@cs.purdue.edu - - Please cite the related publication: - H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama, - "Parallel Reactive Molecular Dynamics: Numerical Methods and - Algorithmic Techniques", Parallel Computing, in press. - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License as - published by the Free Software Foundation; either version 2 of - the License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - See the GNU General Public License for more details: - . - ----------------------------------------------------------------------*/ - -#include "reaxff_api.h" - -namespace ReaxFF { - void Collect_System_Energy(reax_system *system, simulation_data *data, - MPI_Comm comm) - { - double my_en[13], sys_en[13]; - - my_en[0] = data->my_en.e_bond; - my_en[1] = data->my_en.e_ov; - my_en[2] = data->my_en.e_un; - my_en[3] = data->my_en.e_lp; - my_en[4] = data->my_en.e_ang; - my_en[5] = data->my_en.e_pen; - my_en[6] = data->my_en.e_coa; - my_en[7] = data->my_en.e_hb; - my_en[8] = data->my_en.e_tor; - my_en[9] = data->my_en.e_con; - my_en[10] = data->my_en.e_vdW; - my_en[11] = data->my_en.e_ele; - my_en[12] = data->my_en.e_pol; - MPI_Reduce( my_en, sys_en, 13, MPI_DOUBLE, MPI_SUM, MASTER_NODE, comm ); - - if (system->my_rank == MASTER_NODE) { - data->sys_en.e_bond = sys_en[0]; - data->sys_en.e_ov = sys_en[1]; - data->sys_en.e_un = sys_en[2]; - data->sys_en.e_lp = sys_en[3]; - data->sys_en.e_ang = sys_en[4]; - data->sys_en.e_pen = sys_en[5]; - data->sys_en.e_coa = sys_en[6]; - data->sys_en.e_hb = sys_en[7]; - data->sys_en.e_tor = sys_en[8]; - data->sys_en.e_con = sys_en[9]; - data->sys_en.e_vdW = sys_en[10]; - data->sys_en.e_ele = sys_en[11]; - data->sys_en.e_pol = sys_en[12]; - } - } - - void Init_Output_Files(reax_system *system, control_params *control, - output_controls *out_control, MPI_Comm world) - { - if (out_control->write_steps > 0) - Init_Traj(system, control, out_control, world); - } - - /************************ close output files ************************/ - void Close_Output_Files(reax_system *system, output_controls *out_control) - { - if (out_control->write_steps > 0) - End_Traj(system->my_rank, out_control); - } - - void Output_Results(reax_system *system, control_params *control, - simulation_data *data, reax_list **lists, - output_controls *out_control, MPI_Comm world) - { - - if ((out_control->energy_update_freq > 0 && - data->step%out_control->energy_update_freq == 0) || - (out_control->write_steps > 0 && - data->step%out_control->write_steps == 0)) { - /* update system-wide energies */ - Collect_System_Energy(system, data, world); - - /* write current frame */ - if (out_control->write_steps > 0 && data->step % out_control->write_steps == 0) { - Append_Frame(system, control, data, lists, out_control, world); - } - } - } -} diff --git a/src/USER-REAXC/reaxc_reset_tools.cpp b/src/USER-REAXC/reaxc_reset_tools.cpp index bb0fc1eb5a..e7d8d4d024 100644 --- a/src/USER-REAXC/reaxc_reset_tools.cpp +++ b/src/USER-REAXC/reaxc_reset_tools.cpp @@ -49,28 +49,9 @@ namespace ReaxFF { } } - - static void Reset_Energies(energy_data *en) - { - en->e_bond = 0; - en->e_ov = 0; - en->e_un = 0; - en->e_lp = 0; - en->e_ang = 0; - en->e_pen = 0; - en->e_coa = 0; - en->e_hb = 0; - en->e_tor = 0; - en->e_con = 0; - en->e_vdW = 0; - en->e_ele = 0; - en->e_pol = 0; - } - void Reset_Simulation_Data(simulation_data* data) { - Reset_Energies(&data->my_en); - Reset_Energies(&data->sys_en); + memset(&data->my_en,0,sizeof(energy_data)); } void Reset_Workspace(reax_system *system, storage *workspace) @@ -136,8 +117,8 @@ namespace ReaxFF { } - void Reset(reax_system *system, control_params *control, simulation_data *data, - storage *workspace, reax_list **lists) + void Reset(reax_system *system, control_params *control, + simulation_data *data, storage *workspace, reax_list **lists) { Reset_Atoms(system, control); Reset_Simulation_Data(data); diff --git a/src/USER-REAXC/reaxc_traj.cpp b/src/USER-REAXC/reaxc_traj.cpp deleted file mode 100644 index 91afc9e8d1..0000000000 --- a/src/USER-REAXC/reaxc_traj.cpp +++ /dev/null @@ -1,569 +0,0 @@ -/*---------------------------------------------------------------------- - PuReMD - Purdue ReaxFF Molecular Dynamics Program - - Copyright (2010) Purdue University - Hasan Metin Aktulga, hmaktulga@lbl.gov - Joseph Fogarty, jcfogart@mail.usf.edu - Sagar Pandit, pandit@usf.edu - Ananth Y Grama, ayg@cs.purdue.edu - - Please cite the related publication: - H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama, - "Parallel Reactive Molecular Dynamics: Numerical Methods and - Algorithmic Techniques", Parallel Computing, in press. - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License as - published by the Free Software Foundation; either version 2 of - the License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - See the GNU General Public License for more details: - . - ----------------------------------------------------------------------*/ - -#include "reaxff_api.h" - -#include -#include - -#include "error.h" - -#define MAX_TRJ_LINE_LEN 120 -#define MAX_TRJ_BUFFER_SIZE (MAX_TRJ_LINE_LEN * 100) - -#define NUM_HEADER_LINES 37 -#define HEADER_LINE_LEN 62 -#define INIT_DESC_LEN 32 - -#define ATOM_BASIC_LEN 50 -#define ATOM_wV_LEN 80 -#define ATOM_wF_LEN 80 -#define ATOM_FULL_LEN 110 - -#define BOND_BASIC_LEN 39 -#define BOND_FULL_LEN 69 -#define ANGLE_BASIC_LEN 38 - -namespace ReaxFF { - - enum ATOM_LINE_OPTS { OPT_NOATOM = 0, OPT_ATOM_BASIC = 4, OPT_ATOM_wF = 5, OPT_ATOM_wV = 6, OPT_ATOM_FULL = 7, NR_OPT_ATOM = 8 }; - enum BOND_LINE_OPTS { OPT_NOBOND, OPT_BOND_BASIC, OPT_BOND_FULL, NR_OPT_BOND }; - enum ANGLE_LINE_OPTS { OPT_NOANGLE, OPT_ANGLE_BASIC, NR_OPT_ANGLE }; - - - std::string fmtline(const char *key, double val) - { - return fmt::format("{:<37}{:<24.3f}\n",key,val); - } - - std::string fmtline(const char *key, double val1, double val2, double val3) - { - return fmt::format("{:<32}{:>9.3f},{:>9.3f},{:>9.3f}\n",key,val1,val2,val3); - } - - template - std::string fmtline(const char *key, T val) - { - return fmt::format("{:<37}{:<24}\n",key,val); - } - - template - std::string fmtline(const char *key, T val1, T val2) - { - return fmt::format("{:<36}{:<12},{:<12}\n",key,val1,val2); - } - - static void Reallocate_Output_Buffer(LAMMPS_NS::Error *error_ptr, output_controls *out_control, int req_space) - { - if (out_control->buffer_len > 0) - free(out_control->buffer); - - out_control->buffer_len = (int)(req_space*REAX_SAFE_ZONE); - out_control->buffer = (char*) malloc(out_control->buffer_len*sizeof(char)); - if (!out_control->buffer) - error_ptr->one(FLERR,fmt::format("Insufficient memory for required buffer " - "size {}", (req_space*REAX_SAFE_ZONE))); - } - - static void Write_Skip_Line(output_controls *out_control, int my_rank, int skip, int num_section) - { - if (my_rank == MASTER_NODE) - fmt::print(out_control->strj,fmtline("chars_to_skip_section:",skip,num_section)); - } - - static void Write_Header(reax_system *system, control_params *control, output_controls *out_control) - { - char atom_formats[8][40] = { "none", "invalid", "invalid", "invalid", - "xyz_q", - "xyz_q_fxfyfz", - "xyz_q_vxvyvz", - "detailed_atom_info" }; - char bond_formats[3][30] = { "none", - "basic_bond_info", - "detailed_bond_info" }; - char angle_formats[2][30] = { "none", "basic_angle_info" }; - - /* only the master node writes into trajectory header */ - if (system->my_rank == MASTER_NODE) { - std::string buffer(""); - - /* to skip the header */ - buffer += fmtline("chars_to_skip_header:",(NUM_HEADER_LINES-1) * HEADER_LINE_LEN); - - /* general simulation info */ - buffer += fmtline("simulation_name:", out_control->traj_title); - buffer += fmtline("number_of_atoms:", system->bigN); - buffer += fmtline("ensemble_type:", "(unknown)"); - buffer += fmtline("number_of_steps:", 0); - buffer += fmtline("timestep_length_(in_fs):", 0.0); - - /* restart info */ - buffer += fmtline("is_this_a_restart?:", "no"); - buffer += fmtline("write_restart_files?:", "no"); - buffer += fmtline("frequency_to_write_restarts:", 0); - - /* preferences */ - buffer += fmtline("tabulate_long_range_intrs?:",(control->tabulate ? "yes" : "no")); - buffer += fmtline("table_size:", control->tabulate); - buffer += fmtline("restrict_bonds?:", "no"); - buffer += fmtline("bond_restriction_length:", 0); - buffer += fmtline("reposition_atoms?:", "fit to periodic box"); - buffer += fmtline("remove_CoM_velocity?:", 0); - buffer += fmtline("bonded_intr_dist_cutoff:",control->bond_cut); - buffer += fmtline("nonbonded_intr_dist_cutoff:",control->nonb_cut); - buffer += fmtline("hbond_dist_cutoff:",control->hbond_cut); - buffer += fmtline("reax_bond_threshold:",control->bo_cut); - buffer += fmtline("physical_bond_threshold:", control->bg_cut); - buffer += fmtline("valence_angle_threshold:",control->thb_cut); - buffer += fmtline("QEq_tolerance:", 0.0); - - /* temperature controls */ - buffer += fmtline("initial_temperature:", 0.0); - buffer += fmtline("target_temperature:", 0.0); - buffer += fmtline("thermal_inertia:", 0.0); - buffer += fmtline("temperature_regime:", "(unknown)"); - buffer += fmtline("temperature_change_rate_(K/ps):", 0.0); - - /* pressure controls */ - buffer += fmtline("target_pressure_(GPa):", 0.0, 0.0, 0.0); - buffer += fmtline("virial_inertia:", 0.0, 0.0, 0.0); - - /* trajectory */ - buffer += fmtline("energy_dumping_freq:", out_control->energy_update_freq); - buffer += fmtline("trajectory_dumping_freq:",out_control->write_steps); - buffer += fmtline("compress_trajectory_output?:", "no"); - buffer += fmtline("trajectory_format:", "regular"); - buffer += fmtline("atom_info:", atom_formats[out_control->atom_info]); - buffer += fmtline("bond_info:", bond_formats[out_control->bond_info]); - buffer += fmtline("angle_info:", angle_formats[out_control->angle_info]); - - /* analysis */ - buffer += fmtline("molecular_analysis:", "no"); - buffer += fmtline("molecular_analysis_frequency:", 0); - - /* dump out the buffer */ - - fputs(buffer.c_str(),out_control->strj); - } - } - - static void Write_Init_Desc(reax_system *system, output_controls *out_control, MPI_Comm world) - { - int i, me, np, cnt, buffer_len, buffer_req; - reax_atom *p_atom; - MPI_Status status; - - me = system->my_rank; - np = system->wsize; - - /* skip info */ - Write_Skip_Line(out_control, me, system->bigN*INIT_DESC_LEN, system->bigN); - - if (me == MASTER_NODE) - buffer_req = system->bigN * INIT_DESC_LEN + 1; - else buffer_req = system->n * INIT_DESC_LEN + 1; - - if (buffer_req > out_control->buffer_len * DANGER_ZONE) - Reallocate_Output_Buffer(system->error_ptr, out_control, buffer_req); - - out_control->buffer[0] = 0; - for (i = 0; i < system->n; ++i) { - p_atom = &(system->my_atoms[i]); - auto buffer = fmt::format("{:9}{:3}{:9}{:10.3f}\n", - p_atom->orig_id, p_atom->type, p_atom->name, - system->reax_param.sbp[p_atom->type].mass); - strncpy(out_control->buffer + i*INIT_DESC_LEN, buffer.c_str(), INIT_DESC_LEN+1); - } - - if (me != MASTER_NODE) { - MPI_Send(out_control->buffer, buffer_req-1, MPI_CHAR, MASTER_NODE, - np * INIT_DESCS + me, world); - } else { - buffer_len = system->n * INIT_DESC_LEN; - for (i = 0; i < np; ++i) - if (i != MASTER_NODE) { - MPI_Recv(out_control->buffer + buffer_len, buffer_req - buffer_len, - MPI_CHAR, i, np*INIT_DESCS+i, world, &status); - MPI_Get_count(&status, MPI_CHAR, &cnt); - buffer_len += cnt; - } - out_control->buffer[buffer_len] = 0; - fputs(out_control->buffer,out_control->strj); - } - } - - void Init_Traj(reax_system *system, control_params *control, - output_controls *out_control, MPI_Comm world) - { - int atom_line_len[NR_OPT_ATOM] = { 0, 0, 0, 0, ATOM_BASIC_LEN, ATOM_wV_LEN, ATOM_wF_LEN, ATOM_FULL_LEN}; - int bond_line_len[NR_OPT_BOND] = { 0, BOND_BASIC_LEN, BOND_FULL_LEN }; - int angle_line_len[NR_OPT_ANGLE] = { 0, ANGLE_BASIC_LEN }; - - /* generate trajectory name */ - auto fname = std::string(control->sim_name) + ".trj"; - - /* how should I write atoms? */ - out_control->atom_line_len = atom_line_len[out_control->atom_info]; - out_control->write_atoms = (out_control->atom_line_len ? 1 : 0); - /* bonds? */ - out_control->bond_line_len = bond_line_len[out_control->bond_info]; - out_control->write_bonds = (out_control->bond_line_len ? 1 : 0); - /* angles? */ - out_control->angle_line_len = angle_line_len[out_control->angle_info]; - out_control->write_angles = (out_control->angle_line_len ? 1 : 0); - - /* allocate line & buffer space */ - out_control->buffer_len = 0; - out_control->buffer = nullptr; - - /* write trajectory header and atom info, if applicable */ - if (system->my_rank == MASTER_NODE) - out_control->strj = fopen(fname.c_str(), "w"); - - Write_Header(system, control, out_control); - Write_Init_Desc(system, out_control, world); - } - - static void Write_Frame_Header(reax_system *system, simulation_data *data, output_controls *out_control) - { - const int me = system->my_rank; - /* frame header lengths */ - constexpr int num_frm_hdr_lines = 22; - - /* only the master node writes into trajectory header */ - if (me == MASTER_NODE) { - std::string buffer(""); - - /* skip info */ - buffer += fmtline("chars_to_skip_frame_header:", (num_frm_hdr_lines-1)*HEADER_LINE_LEN); - - /* step & time */ - buffer += fmtline("step:", data->step); - buffer += fmtline("time_in_ps:", 0.0); - - /* box info */ - buffer += fmtline("volume:", 0.0); - buffer += fmtline("box_dimensions:", 0.0, 0.0, 0.0); - buffer += fmtline("coordinate_angles:", 90.0, 90.0, 90.0); - - /* system T and P */ - buffer += fmtline("temperature:", 0.0); - buffer += fmtline("pressure:", 0.0); - - /* energies */ - double epot = data->sys_en.e_bond + data->sys_en.e_ov + data->sys_en.e_un - + data->sys_en.e_lp + data->sys_en.e_ang + data->sys_en.e_pen - + data->sys_en.e_coa + data->sys_en.e_hb + data->sys_en.e_tor - + data->sys_en.e_con + data->sys_en.e_vdW - + data->sys_en.e_ele + data->my_en.e_pol; - - buffer += fmtline("total_energy:", epot); - buffer += fmtline("total_kinetic:", 0.0); - buffer += fmtline("total_potential:", epot); - buffer += fmtline("bond_energy:", data->sys_en.e_bond); - buffer += fmtline("atom_energy:", data->sys_en.e_ov + data->sys_en.e_un); - buffer += fmtline("lone_pair_energy:", data->sys_en.e_lp); - buffer += fmtline("valence_angle_energy:", data->sys_en.e_ang + data->sys_en.e_pen); - buffer += fmtline("3-body_conjugation:", data->sys_en.e_coa); - buffer += fmtline("hydrogen_bond_energy:", data->sys_en.e_hb); - buffer += fmtline("torsion_angle_energy:", data->sys_en.e_tor); - buffer += fmtline("4-body_conjugation:", data->sys_en.e_con); - buffer += fmtline("vdWaals_energy:", data->sys_en.e_vdW); - buffer += fmtline("electrostatics_energy:", data->sys_en.e_ele); - buffer += fmtline("polarization_energy:", data->sys_en.e_pol); - - /* dump out the buffer */ - fputs(buffer.c_str(),out_control->strj); - } - } - - static void Write_Atoms(reax_system *system, output_controls *out_control, - MPI_Comm world) - { - int i, me, np, line_len, buffer_len, buffer_req, cnt; - MPI_Status status; - reax_atom *p_atom; - - me = system->my_rank; - np = system->wsize; - line_len = out_control->atom_line_len; - - Write_Skip_Line(out_control, me, system->bigN*line_len, system->bigN); - - if (me == MASTER_NODE) - buffer_req = system->bigN * line_len + 1; - else buffer_req = system->n * line_len + 1; - - if (buffer_req > out_control->buffer_len * DANGER_ZONE) - Reallocate_Output_Buffer(system->error_ptr, out_control, buffer_req); - - /* fill in buffer */ - out_control->buffer[0] = 0; - - for (i = 0; i < system->n; ++i) { - std::string buffer(""); - p_atom = &(system->my_atoms[i]); - buffer += fmt::format("{:9}{:10.3f}{:10.3f}{:10.3f}",p_atom->orig_id, - p_atom->x[0], p_atom->x[1],p_atom->x[2]); - - switch (out_control->atom_info) { - case OPT_ATOM_BASIC: - buffer += fmt::format("{:10.3f}\n",p_atom->q); - break; - case OPT_ATOM_wF: - buffer += fmt::format("{:10.3f}{:10.3f}{:10.3f}{:10.3f}\n", - p_atom->f[0], p_atom->f[1], p_atom->f[2], p_atom->q); - break; - case OPT_ATOM_wV: - buffer += fmt::format("{:10.3f}{:10.3f}{:10.3f}{:10.3f}\n", - p_atom->v[0], p_atom->v[1], p_atom->v[2], p_atom->q); - break; - case OPT_ATOM_FULL: - buffer += fmt::format("{:10.3f}{:10.3f}{:10.3f}{:10.3f}{:10.3f}{:10.3f}\n", - p_atom->v[0], p_atom->v[1], p_atom->v[2], - p_atom->f[0], p_atom->f[1], p_atom->f[2], p_atom->q); - break; - default: - system->error_ptr->one(FLERR,"Write_traj_atoms: unknown atom trajectory format"); - } - - strncpy(out_control->buffer + i*line_len, buffer.c_str(), line_len+1); - } - - if (me != MASTER_NODE) { - MPI_Send(out_control->buffer, buffer_req-1, MPI_CHAR, MASTER_NODE, - np*ATOM_LINES+me, world); - } else { - buffer_len = system->n * line_len; - for (i = 0; i < np; ++i) - if (i != MASTER_NODE) { - MPI_Recv(out_control->buffer + buffer_len, buffer_req - buffer_len, - MPI_CHAR, i, np*ATOM_LINES+i, world, &status); - MPI_Get_count(&status, MPI_CHAR, &cnt); - buffer_len += cnt; - } - out_control->buffer[buffer_len] = 0; - fputs(out_control->buffer, out_control->strj); - } - } - - static void Write_Bonds(reax_system *system, control_params *control, reax_list *bonds, - output_controls *out_control, MPI_Comm world) - { - int i, j, pj, me, np; - int my_bonds, num_bonds; - int line_len, buffer_len, buffer_req, cnt; - MPI_Status status; - bond_data *bo_ij; - - me = system->my_rank; - np = system->wsize; - line_len = out_control->bond_line_len; - - /* count the number of bonds I will write */ - my_bonds = 0; - for (i=0; i < system->n; ++i) - for (pj = Start_Index(i, bonds); pj < End_Index(i, bonds); ++pj) { - j = bonds->select.bond_list[pj].nbr; - if (system->my_atoms[i].orig_id <= system->my_atoms[j].orig_id && - bonds->select.bond_list[pj].bo_data.BO >= control->bg_cut) - ++my_bonds; - } - - /* allreduce - total number of bonds */ - MPI_Allreduce(&my_bonds, &num_bonds, 1, MPI_INT, MPI_SUM, world); - - Write_Skip_Line(out_control, me, num_bonds*line_len, num_bonds); - - if (me == MASTER_NODE) - buffer_req = num_bonds * line_len + 1; - else buffer_req = my_bonds * line_len + 1; - - if (buffer_req > out_control->buffer_len * DANGER_ZONE) - Reallocate_Output_Buffer(system->error_ptr, out_control, buffer_req); - - /* fill in the buffer */ - out_control->buffer[0] = 0; - - my_bonds = 0; - for (i=0; i < system->n; ++i) { - for (pj = Start_Index(i, bonds); pj < End_Index(i, bonds); ++pj) { - bo_ij = &(bonds->select.bond_list[pj]); - j = bo_ij->nbr; - - if (system->my_atoms[i].orig_id <= system->my_atoms[j].orig_id && - bo_ij->bo_data.BO >= control->bg_cut) { - auto buffer = fmt::format("{:9}{:9}{:10.3f}{:10.3f}", system->my_atoms[i].orig_id, - system->my_atoms[j].orig_id,bo_ij->d,bo_ij->bo_data.BO); - - switch (out_control->bond_info) { - case OPT_BOND_BASIC: - buffer += "\n"; - break; - case OPT_BOND_FULL: - buffer += fmt::format("{:10.3f}{:10.3f}{:10.3f}\n", bo_ij->bo_data.BO_s, - bo_ij->bo_data.BO_pi, bo_ij->bo_data.BO_pi2); - break; - default: - system->error_ptr->one(FLERR, "Write_traj_bonds: FATAL! invalid bond_info option"); - } - strncpy(out_control->buffer + my_bonds*line_len, buffer.c_str(), line_len+1); - ++my_bonds; - } - } - } - - if (me != MASTER_NODE) { - MPI_Send(out_control->buffer, buffer_req-1, MPI_CHAR, MASTER_NODE, np*BOND_LINES+me, world); - } else { - buffer_len = my_bonds * line_len; - for (i = 0; i < np; ++i) - if (i != MASTER_NODE) { - MPI_Recv(out_control->buffer + buffer_len, buffer_req - buffer_len, - MPI_CHAR, i, np*BOND_LINES+i, world, &status); - MPI_Get_count(&status, MPI_CHAR, &cnt); - buffer_len += cnt; - } - out_control->buffer[buffer_len] = 0; - fputs(out_control->buffer,out_control->strj); - } - } - - static void Write_Angles(reax_system *system, control_params *control, - reax_list *bonds, reax_list *thb_intrs, - output_controls *out_control, MPI_Comm world) - { - int i, j, k, pi, pk, me, np; - int my_angles, num_angles; - int line_len, buffer_len, buffer_req, cnt; - bond_data *bo_ij, *bo_jk; - three_body_interaction_data *angle_ijk; - MPI_Status status; - - me = system->my_rank; - np = system->wsize; - line_len = out_control->angle_line_len; - - /* count the number of valence angles I will output */ - my_angles = 0; - for (j = 0; j < system->n; ++j) - for (pi = Start_Index(j, bonds); pi < End_Index(j, bonds); ++pi) { - bo_ij = &(bonds->select.bond_list[pi]); - i = bo_ij->nbr; - - if (bo_ij->bo_data.BO >= control->bg_cut) // physical j&i bond - for (pk = Start_Index(pi, thb_intrs); - pk < End_Index(pi, thb_intrs); ++pk) { - angle_ijk = &(thb_intrs->select.three_body_list[pk]); - k = angle_ijk->thb; - bo_jk = &(bonds->select.bond_list[ angle_ijk->pthb ]); - - if (system->my_atoms[i].orig_id < system->my_atoms[k].orig_id && - bo_jk->bo_data.BO >= control->bg_cut) // physical j&k bond - ++my_angles; - } - } - /* total number of valences */ - MPI_Allreduce(&my_angles, &num_angles, 1, MPI_INT, MPI_SUM, world); - - Write_Skip_Line(out_control, me, num_angles*line_len, num_angles); - - if (me == MASTER_NODE) - buffer_req = num_angles * line_len + 1; - else buffer_req = my_angles * line_len + 1; - - if (buffer_req > out_control->buffer_len * DANGER_ZONE) - Reallocate_Output_Buffer(system->error_ptr, out_control, buffer_req); - - /* fill in the buffer */ - my_angles = 0; - out_control->buffer[0] = 0; - for (j = 0; j < system->n; ++j) - for (pi = Start_Index(j, bonds); pi < End_Index(j, bonds); ++pi) { - bo_ij = &(bonds->select.bond_list[pi]); - i = bo_ij->nbr; - - if (bo_ij->bo_data.BO >= control->bg_cut) // physical j&i bond - for (pk = Start_Index(pi, thb_intrs); - pk < End_Index(pi, thb_intrs); ++pk) { - angle_ijk = &(thb_intrs->select.three_body_list[pk]); - k = angle_ijk->thb; - bo_jk = &(bonds->select.bond_list[ angle_ijk->pthb ]); - - if (system->my_atoms[i].orig_id < system->my_atoms[k].orig_id && - bo_jk->bo_data.BO >= control->bg_cut) { // physical j&k bond - auto buffer = fmt::format("{:9}{:9}{:9}{:10.3f}\n", - system->my_atoms[i].orig_id, system->my_atoms[j].orig_id, - system->my_atoms[k].orig_id, RAD2DEG(angle_ijk->theta)); - - strncpy(out_control->buffer + my_angles*line_len, buffer.c_str(), line_len+1); - ++my_angles; - } - } - } - - if (me != MASTER_NODE) { - MPI_Send(out_control->buffer, buffer_req-1, MPI_CHAR, MASTER_NODE, - np*ANGLE_LINES+me, world); - } else { - buffer_len = my_angles * line_len; - for (i = 0; i < np; ++i) - if (i != MASTER_NODE) { - MPI_Recv(out_control->buffer + buffer_len, buffer_req - buffer_len, - MPI_CHAR, i, np*ANGLE_LINES+i, world, &status); - MPI_Get_count(&status, MPI_CHAR, &cnt); - buffer_len += cnt; - } - out_control->buffer[buffer_len] = 0; - fputs(out_control->buffer,out_control->strj); - } - } - - void Append_Frame(reax_system *system, control_params *control, - simulation_data *data, reax_list **lists, - output_controls *out_control, MPI_Comm world) - { - Write_Frame_Header(system, data, out_control); - - if (out_control->write_atoms) - Write_Atoms(system, out_control, world); - - if (out_control->write_bonds) - Write_Bonds(system, control, (*lists + BONDS), out_control, world); - - if (out_control->write_angles) - Write_Angles(system, control, (*lists + BONDS), (*lists + THREE_BODIES), - out_control, world); - } - - void End_Traj(int my_rank, output_controls *out_control) - { - if (my_rank == MASTER_NODE) - fclose(out_control->strj); - - free(out_control->buffer); - } -} diff --git a/src/USER-REAXC/reaxff_api.h b/src/USER-REAXC/reaxff_api.h index cafc3516fd..819d7c0d3b 100644 --- a/src/USER-REAXC/reaxff_api.h +++ b/src/USER-REAXC/reaxff_api.h @@ -31,7 +31,6 @@ namespace ReaxFF struct API { control_params *control; reax_system *system; - output_controls *out_control; simulation_data *data; storage *workspace; reax_list *lists; @@ -39,7 +38,7 @@ namespace ReaxFF // exported Functions - // allocate X + // allocate extern void Allocate_Workspace(control_params *, storage *, int); extern void DeAllocate_System(reax_system *); @@ -50,8 +49,7 @@ namespace ReaxFF // bond orders - extern void BO(reax_system *, control_params *, simulation_data *, - storage *, reax_list **, output_controls *); + extern void BO(reax_system *, storage *, reax_list **); extern int BOp(storage *, reax_list *, double, int, int, far_neighbor_data *, single_body_parameters *, single_body_parameters *, two_body_parameters *); @@ -64,7 +62,7 @@ namespace ReaxFF // control - extern void Read_Control_File(const char *, control_params *, output_controls *); + extern void Read_Control_File(const char *, control_params *); // ffield @@ -73,8 +71,8 @@ namespace ReaxFF // forces - extern void Compute_Forces(reax_system *, control_params *, simulation_data *, - storage *, reax_list **, output_controls *); + extern void Compute_Forces(reax_system *, control_params *, + simulation_data *, storage *, reax_list **); extern void Estimate_Storages(reax_system *, control_params *, reax_list **, int *, int *, int *, int *); @@ -88,16 +86,7 @@ namespace ReaxFF extern void Init_Simulation_Data(simulation_data *); extern void Init_Workspace(reax_system *, control_params *, storage *); extern void Initialize(reax_system *, control_params *, simulation_data *, - storage *, reax_list **, output_controls *, MPI_Comm); - - // io tools - - extern void Init_Output_Files(reax_system *, control_params *, - output_controls *, MPI_Comm); - extern void Close_Output_Files(reax_system *, output_controls *); - extern void Output_Results(reax_system *, control_params *, simulation_data *, - reax_list **, output_controls *, MPI_Comm); - extern void Collect_System_Energy(reax_system *, simulation_data *, MPI_Comm); + storage *, reax_list **, MPI_Comm); // lists @@ -163,24 +152,16 @@ namespace ReaxFF rvec, double, three_body_interaction_data *, three_body_interaction_data *, rvec, rvec, rvec, rvec); - extern void Torsion_Angles(reax_system *, control_params *, simulation_data *, - storage *, reax_list **); - - // traj - - extern void Init_Traj(reax_system *, control_params *, - output_controls *, MPI_Comm); - extern void End_Traj(int, output_controls *); - extern void Append_Frame(reax_system *, control_params *, simulation_data *, - reax_list **, output_controls *, MPI_Comm); + extern void Torsion_Angles(reax_system *, control_params *, + simulation_data *, storage *, reax_list **); // valence angles extern void Calculate_Theta(rvec, double, rvec, double, double *, double *); extern void Calculate_dCos_Theta(rvec, double, rvec, double, rvec *, rvec *, rvec *); - extern void Valence_Angles(reax_system *, control_params *, simulation_data *, - storage *, reax_list **); + extern void Valence_Angles(reax_system *, control_params *, + simulation_data *, storage *, reax_list **); // vector diff --git a/src/USER-REAXC/reaxff_types.h b/src/USER-REAXC/reaxff_types.h index fc88e43dca..1a68116391 100644 --- a/src/USER-REAXC/reaxff_types.h +++ b/src/USER-REAXC/reaxff_types.h @@ -228,7 +228,6 @@ namespace ReaxFF /* system control parameters */ struct control_params { - char sim_name[REAX_MAX_STR]; int nthreads; double bond_cut; @@ -270,9 +269,7 @@ namespace ReaxFF struct simulation_data { rc_bigint step; - energy_data my_en; // per MPI rank energies - energy_data sys_en; // global energies }; struct three_body_interaction_data @@ -399,27 +396,6 @@ namespace ReaxFF class LAMMPS_NS::Error *error_ptr; }; - struct output_controls - { - FILE *strj; - int atom_line_len; - int bond_line_len; - int angle_line_len; - int write_atoms; - int write_bonds; - int write_angles; - int buffer_len; - char *buffer; - - int write_steps; - char traj_title[81]; - int atom_info; - int bond_info; - int angle_info; - - int energy_update_freq; - }; - struct LR_lookup_table { double xmin, xmax; From 0c88e571732622902de0fbc8cd278d69051f22d7 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 18 Apr 2021 15:46:27 -0400 Subject: [PATCH 058/726] remove last remnants of OMP_TIMING code hack --- src/USER-OMP/fix_qeq_reax_omp.cpp | 84 +--------------------------- src/USER-OMP/pair_reaxc_omp.cpp | 92 ------------------------------- 2 files changed, 1 insertion(+), 175 deletions(-) diff --git a/src/USER-OMP/fix_qeq_reax_omp.cpp b/src/USER-OMP/fix_qeq_reax_omp.cpp index 3f09fa7353..59a3c093e2 100644 --- a/src/USER-OMP/fix_qeq_reax_omp.cpp +++ b/src/USER-OMP/fix_qeq_reax_omp.cpp @@ -248,12 +248,6 @@ void FixQEqReaxOMP::init_storage() void FixQEqReaxOMP::pre_force(int /* vflag */) { - -#ifdef OMP_TIMING - double endTimeBase, startTimeBase, funcstartTimeBase; - funcstartTimeBase = MPI_Wtime(); -#endif - if (update->ntimestep % nevery) return; int n = atom->nlocal; @@ -279,69 +273,22 @@ void FixQEqReaxOMP::pre_force(int /* vflag */) if (n > n_cap*DANGER_ZONE || m_fill > m_cap*DANGER_ZONE) reallocate_matrix(); -#ifdef OMP_TIMING - startTimeBase = MPI_Wtime(); -#endif - init_matvec(); -#ifdef OMP_TIMING - endTimeBase = MPI_Wtime(); - ompTimingData[COMPUTEINITMVINDEX] += (endTimeBase-startTimeBase); - startTimeBase = endTimeBase; -#endif - if (dual_enabled) { - matvecs = dual_CG(b_s, b_t, s, t); // OMP_TIMING inside dual_CG + matvecs = dual_CG(b_s, b_t, s, t); } else { matvecs_s = CG(b_s, s); // CG on s - parallel - -#ifdef OMP_TIMING - endTimeBase = MPI_Wtime(); - ompTimingData[COMPUTECG1INDEX] += (endTimeBase-startTimeBase); - ompTimingCount[COMPUTECG1INDEX]++; - ompTimingCGCount[COMPUTECG1INDEX]+= matvecs_s; - startTimeBase = endTimeBase; -#endif - matvecs_t = CG(b_t, t); // CG on t - parallel - -#ifdef OMP_TIMING - endTimeBase = MPI_Wtime(); - ompTimingData[COMPUTECG2INDEX] += (endTimeBase-startTimeBase); - ompTimingCount[COMPUTECG2INDEX]++; - ompTimingCGCount[COMPUTECG2INDEX]+= matvecs_t; - startTimeBase = endTimeBase; -#endif - } // if (dual_enabled) -#ifdef OMP_TIMING - startTimeBase = MPI_Wtime(); -#endif - calculate_Q(); - -#ifdef OMP_TIMING - endTimeBase = MPI_Wtime(); - ompTimingData[COMPUTECALCQINDEX] += (endTimeBase-startTimeBase); -#endif - -#ifdef OMP_TIMING - endTimeBase = MPI_Wtime(); - ompTimingData[COMPUTEQEQINDEX] += (endTimeBase-funcstartTimeBase); -#endif } /* ---------------------------------------------------------------------- */ void FixQEqReaxOMP::init_matvec() { -#ifdef OMP_TIMING - long endTimeBase, startTimeBase; - startTimeBase = MPI_Wtime(); -#endif - /* fill-in H matrix */ compute_H(); @@ -410,11 +357,6 @@ void FixQEqReaxOMP::init_matvec() comm->forward_comm_fix(this); //Dist_vector( s ); pack_flag = 3; comm->forward_comm_fix(this); //Dist_vector( t ); - -#ifdef OMP_TIMING - endTimeBase = MPI_Wtime(); - ompTimingData[COMPUTEMVCOMPINDEX] += (long) (endTimeBase-startTimeBase); -#endif } /* ---------------------------------------------------------------------- */ @@ -685,12 +627,6 @@ void FixQEqReaxOMP::vector_add( double* dest, double c, double* v, int k) int FixQEqReaxOMP::dual_CG( double *b1, double *b2, double *x1, double *x2) { - -#ifdef OMP_TIMING - double endTimeBase, startTimeBase; - startTimeBase = MPI_Wtime(); -#endif - int i; double alpha_s, alpha_t, beta_s, beta_t, b_norm_s, b_norm_t; double sig_old_s, sig_old_t, sig_new_s, sig_new_t; @@ -836,15 +772,6 @@ int FixQEqReaxOMP::dual_CG( double *b1, double *b2, double *x1, double *x2) matvecs_s = matvecs_t = i; // The plus one makes consistent with count from CG() matvecs = i; - // Timing info for iterating s&t together -#ifdef OMP_TIMING - endTimeBase = MPI_Wtime(); - ompTimingData[COMPUTECG1INDEX] += (endTimeBase-startTimeBase); - ompTimingCount[COMPUTECG1INDEX]++; - ompTimingCGCount[COMPUTECG1INDEX]+= i; - startTimeBase = endTimeBase; -#endif - // If necessary, converge other system if (sqrt(sig_new_s)/b_norm_s > tolerance) { pack_flag = 2; @@ -861,15 +788,6 @@ int FixQEqReaxOMP::dual_CG( double *b1, double *b2, double *x1, double *x2) matvecs_t = i; } - // Timing info for remainder of s or t -#ifdef OMP_TIMING - endTimeBase = MPI_Wtime(); - ompTimingData[COMPUTECG2INDEX] += (endTimeBase-startTimeBase); - ompTimingCount[COMPUTECG2INDEX]++; - ompTimingCGCount[COMPUTECG2INDEX]+= i - matvecs; - startTimeBase = endTimeBase; -#endif - if ( i >= imax && comm->me == 0) error->warning(FLERR,fmt::format("Fix qeq/reax/omp CG convergence failed " "after {} iterations at step {}", diff --git a/src/USER-OMP/pair_reaxc_omp.cpp b/src/USER-OMP/pair_reaxc_omp.cpp index 9bfd1a3722..178c65a1b1 100644 --- a/src/USER-OMP/pair_reaxc_omp.cpp +++ b/src/USER-OMP/pair_reaxc_omp.cpp @@ -60,12 +60,6 @@ using namespace LAMMPS_NS; using namespace ReaxFF; -#ifdef OMP_TIMING -double ompTimingData[LASTTIMINGINDEX]; -int ompTimingCount[LASTTIMINGINDEX]; -int ompTimingCGCount[LASTTIMINGINDEX]; -#endif - static const char cite_pair_reax_c_omp[] = "pair reax/c/omp and fix qeq/reax/omp command:\n\n" "@Article{Aktulga17,\n" @@ -86,14 +80,6 @@ PairReaxCOMP::PairReaxCOMP(LAMMPS *lmp) : PairReaxC(lmp), ThrOMP(lmp, THR_PAIR) api->system->omp_active = 1; num_nbrs_offset = nullptr; - -#ifdef OMP_TIMING - for (int i=0;iselect.bond_list[i].bo_data.CdboReduction, "CdboReduction"); } memory->destroy(num_nbrs_offset); - -#ifdef OMP_TIMING - int myrank; - - MPI_Comm_rank(world,&myrank); - - // Write screen output - if (timer->has_full() && myrank == 0 && screen) { - fprintf(screen,"\n\nWrite_Lists took %11.3lf seconds", ompTimingData[COMPUTEWLINDEX]); - - fprintf(screen,"\n\nCompute_Forces took %11.3lf seconds:", ompTimingData[COMPUTEINDEX]); - fprintf(screen,"\n ->Initial Forces: %11.3lf seconds", ompTimingData[COMPUTEIFINDEX]); - fprintf(screen,"\n ->Bond Order: %11.3lf seconds", ompTimingData[COMPUTEBOINDEX]); - fprintf(screen,"\n ->Atom Energy: %11.3lf seconds", ompTimingData[COMPUTEATOMENERGYINDEX]); - fprintf(screen,"\n ->Bond: %11.3lf seconds", ompTimingData[COMPUTEBONDSINDEX]); - fprintf(screen,"\n ->Hydrogen bonds: %11.3lf seconds", ompTimingData[COMPUTEHBONDSINDEX]); - fprintf(screen,"\n ->Torsion Angles: %11.3lf seconds", ompTimingData[COMPUTETORSIONANGLESBOINDEX]); - fprintf(screen,"\n ->Valence Angles: %11.3lf seconds", ompTimingData[COMPUTEVALENCEANGLESBOINDEX]); - fprintf(screen,"\n ->Non-Bonded For: %11.3lf seconds", ompTimingData[COMPUTENBFINDEX]); - fprintf(screen,"\n ->Total Forces: %11.3lf seconds", ompTimingData[COMPUTETFINDEX]); - - fprintf(screen,"\n\nfixQEQ: %11.3lf seconds", ompTimingData[COMPUTEQEQINDEX]); - fprintf(screen,"\n ->QEQ init: %11.3lf seconds", ompTimingData[COMPUTEINITMVINDEX]); - - double avg = double(ompTimingCGCount[COMPUTECG1INDEX]) / double(ompTimingCount[COMPUTECG1INDEX]); - fprintf(screen,"\n ->QEQ CG1: %11.3lf seconds with %4.1lf iterations on average.", ompTimingData[COMPUTECG1INDEX], avg); - - avg = double(ompTimingCGCount[COMPUTECG2INDEX]) / double(ompTimingCount[COMPUTECG2INDEX]); - fprintf(screen,"\n ->QEQ CG2: %11.3lf seconds with %4.1lf iterations on average.", ompTimingData[COMPUTECG2INDEX], avg); - fprintf(screen,"\n ->QEQ CalcQ: %11.3lf seconds\n", ompTimingData[COMPUTECALCQINDEX]); - } - - // Write logfile output - if (timer->has_full() && myrank == 0 && logfile) { - fprintf(logfile,"\n\nWrite_Lists took %11.3lf seconds", ompTimingData[COMPUTEWLINDEX]); - - fprintf(logfile,"\n\nCompute_Forces took %11.3lf seconds:", ompTimingData[COMPUTEINDEX]); - fprintf(logfile,"\n ->Initial Forces: %11.3lf seconds", ompTimingData[COMPUTEIFINDEX]); - fprintf(logfile,"\n ->Bond Order: %11.3lf seconds", ompTimingData[COMPUTEBOINDEX]); - fprintf(logfile,"\n ->Atom Energy: %11.3lf seconds", ompTimingData[COMPUTEATOMENERGYINDEX]); - fprintf(logfile,"\n ->Bond: %11.3lf seconds", ompTimingData[COMPUTEBONDSINDEX]); - fprintf(logfile,"\n ->Hydrogen bonds: %11.3lf seconds", ompTimingData[COMPUTEHBONDSINDEX]); - fprintf(logfile,"\n ->Torsion Angles: %11.3lf seconds", ompTimingData[COMPUTETORSIONANGLESBOINDEX]); - fprintf(logfile,"\n ->Valence Angles: %11.3lf seconds", ompTimingData[COMPUTEVALENCEANGLESBOINDEX]); - fprintf(logfile,"\n ->Non-Bonded For: %11.3lf seconds", ompTimingData[COMPUTENBFINDEX]); - fprintf(logfile,"\n ->Total Forces: %11.3lf seconds", ompTimingData[COMPUTETFINDEX]); - - fprintf(logfile,"\n\nfixQEQ: %11.3lf seconds", ompTimingData[COMPUTEQEQINDEX]); - fprintf(logfile,"\n ->QEQ init: %11.3lf seconds", ompTimingData[COMPUTEINITMVINDEX]); - - double avg = double(ompTimingCGCount[COMPUTECG1INDEX]) / double(ompTimingCount[COMPUTECG1INDEX]); - fprintf(logfile,"\n ->QEQ CG1: %11.3lf seconds with %4.1lf iterations on average.", ompTimingData[COMPUTECG1INDEX], avg); - - avg = double(ompTimingCGCount[COMPUTECG2INDEX]) / double(ompTimingCount[COMPUTECG2INDEX]); - fprintf(logfile,"\n ->QEQ CG2: %11.3lf seconds with %4.1lf iterations on average.", ompTimingData[COMPUTECG2INDEX], avg); - fprintf(logfile,"\n ->QEQ CalcQ: %11.3lf seconds\n", ompTimingData[COMPUTECALCQINDEX]); - } -#endif } /* ---------------------------------------------------------------------- */ @@ -206,19 +134,9 @@ void PairReaxCOMP::compute(int eflag, int vflag) // forces -#ifdef OMP_TIMING - double startTimeBase,endTimeBase; - startTimeBase = MPI_Wtime(); -#endif - Compute_ForcesOMP(api->system,api->control,api->data,api->workspace,&api->lists); read_reax_forces(vflag); -#ifdef OMP_TIMING - endTimeBase = MPI_Wtime(); - ompTimingData[COMPUTEINDEX] += (endTimeBase-startTimeBase); -#endif - #if defined(_OPENMP) #pragma omp parallel for schedule(static) #endif @@ -478,11 +396,6 @@ int PairReaxCOMP::estimate_reax_lists() int PairReaxCOMP::write_reax_lists() { -#ifdef OMP_TIMING - double startTimeBase, endTimeBase; - startTimeBase = MPI_Wtime(); -#endif - int itr_i, itr_j, i, j, num_mynbrs; int *jlist; double d_sqr, dist, cutoff_sqr; @@ -542,11 +455,6 @@ int PairReaxCOMP::write_reax_lists() Set_End_Index(i, num_nbrs_offset[i] + num_mynbrs, far_nbrs); } -#ifdef OMP_TIMING - endTimeBase = MPI_Wtime(); - ompTimingData[COMPUTEWLINDEX] += (endTimeBase-startTimeBase); -#endif - return num_nbrs; } From 937bfe7dd83baefc71d38a9c89ea0f10fe2abc8e Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 18 Apr 2021 21:15:45 -0400 Subject: [PATCH 059/726] add some convenience variables to improve readability --- src/USER-REAXC/reaxc_ffield.cpp | 356 ++++++++++++++------------------ 1 file changed, 158 insertions(+), 198 deletions(-) diff --git a/src/USER-REAXC/reaxc_ffield.cpp b/src/USER-REAXC/reaxc_ffield.cpp index 67b11bee05..1a47b46f56 100644 --- a/src/USER-REAXC/reaxc_ffield.cpp +++ b/src/USER-REAXC/reaxc_ffield.cpp @@ -77,27 +77,28 @@ namespace ReaxFF { ++lineno; // set some defaults + auto gp = reax->gp; - reax->gp.vdw_type = 0; + gp.vdw_type = 0; // get number of global parameters auto values = reader.next_values(0); n = values.next_int(); - reax->gp.n_global = n; + gp.n_global = n; ++lineno; if (n < 1) THROW_ERROR("Invalid number of global parameters"); - memory->create(reax->gp.l,n,"reaxff:gp.l"); + memory->create(gp.l,n,"reaxff:gp.l"); // see reaxff_types.h for mapping between l[i] and the lambdas used in ff for (i = 0; i < n; ++i) { values = reader.next_values(0); ++lineno; - reax->gp.l[i] = values.next_double(); + gp.l[i] = values.next_double(); } // next line is number of atom types followed by 3 lines of comments @@ -111,18 +112,23 @@ namespace ReaxFF { lineno += 4; // allocate and clear storage for ffield data + auto sbp = reax->sbp; + auto tbp = reax->tbp; + auto thbp = reax->thbp; + auto hbp = reax->hbp; + auto fbp = reax->fbp; - memory->create(reax->sbp,n,"reaxff:sbp"); - memory->create(reax->tbp,n,n,"reaxff:tbp"); - memory->create(reax->thbp,n,n,n,"reaxff:thbp"); - memory->create(reax->hbp,n,n,n,"reaxff:hbp"); - memory->create(reax->fbp,n,n,n,n,"reaxff:fbp"); + memory->create(sbp,n,"reaxff:sbp"); + memory->create(tbp,n,n,"reaxff:tbp"); + memory->create(thbp,n,n,n,"reaxff:thbp"); + memory->create(hbp,n,n,n,"reaxff:hbp"); + memory->create(fbp,n,n,n,n,"reaxff:fbp"); memory->create(tor_flag,n,n,n,n,"reaxff:tor_flag"); - memset(&(reax->sbp[0]),0,sizeof(single_body_parameters)*n); - memset(&(reax->tbp[0][0]),0,sizeof(two_body_parameters)*n*n); - memset(&(reax->thbp[0][0][0]),0,sizeof(three_body_header)*n*n*n); - memset(&(reax->hbp[0][0][0]),0,sizeof(hbond_parameters)*n*n*n); - memset(&(reax->fbp[0][0][0][0]),0,sizeof(four_body_header)*n*n*n*n); + memset(&(sbp[0]),0,sizeof(single_body_parameters)*n); + memset(&(tbp[0][0]),0,sizeof(two_body_parameters)*n*n); + memset(&(thbp[0][0][0]),0,sizeof(three_body_header)*n*n*n); + memset(&(hbp[0][0][0]),0,sizeof(hbond_parameters)*n*n*n); + memset(&(fbp[0][0][0][0]),0,sizeof(four_body_header)*n*n*n*n); memset(&tor_flag[0][0][0][0],0,sizeof(char)*n*n*n*n); // atomic parameters @@ -133,6 +139,7 @@ namespace ReaxFF { const int lgflag = control->lgflag; const int ntypes = n; + for (i = 0; i < ntypes; ++i) { // line one @@ -146,20 +153,20 @@ namespace ReaxFF { THROW_ERROR("Invalid force field file format"); auto element = values.next_string(); - int len = MIN(element.size(),3); + int len = MIN(element.size(),3); // truncate stored element symbol if necessary for (j = 0; j < len; ++j) - reax->sbp[i].name[j] = toupper(element[j]); - reax->sbp[i].name[j] = '\0'; + sbp[i].name[j] = toupper(element[j]); + sbp[i].name[len] = '\0'; - reax->sbp[i].r_s = values.next_double(); - reax->sbp[i].valency = values.next_double(); - reax->sbp[i].mass = values.next_double(); - reax->sbp[i].r_vdw = values.next_double(); - reax->sbp[i].epsilon = values.next_double(); - reax->sbp[i].gamma = values.next_double(); - reax->sbp[i].r_pi = values.next_double(); - reax->sbp[i].valency_e = values.next_double(); - reax->sbp[i].nlp_opt = 0.5 * (reax->sbp[i].valency_e-reax->sbp[i].valency); + sbp[i].r_s = values.next_double(); + sbp[i].valency = values.next_double(); + sbp[i].mass = values.next_double(); + sbp[i].r_vdw = values.next_double(); + sbp[i].epsilon = values.next_double(); + sbp[i].gamma = values.next_double(); + sbp[i].r_pi = values.next_double(); + sbp[i].valency_e = values.next_double(); + sbp[i].nlp_opt = 0.5 * (sbp[i].valency_e-sbp[i].valency); // line two @@ -168,14 +175,14 @@ namespace ReaxFF { if (values.count() < 8) THROW_ERROR("Invalid force field file format"); - reax->sbp[i].alpha = values.next_double(); - reax->sbp[i].gamma_w = values.next_double(); - reax->sbp[i].valency_boc= values.next_double(); - reax->sbp[i].p_ovun5 = values.next_double(); + sbp[i].alpha = values.next_double(); + sbp[i].gamma_w = values.next_double(); + sbp[i].valency_boc= values.next_double(); + sbp[i].p_ovun5 = values.next_double(); values.skip(); - reax->sbp[i].chi = values.next_double(); - reax->sbp[i].eta = 2.0*values.next_double(); - reax->sbp[i].p_hbond = (int) values.next_double(); + sbp[i].chi = values.next_double(); + sbp[i].eta = 2.0*values.next_double(); + sbp[i].p_hbond = (int) values.next_double(); // line three @@ -184,12 +191,12 @@ namespace ReaxFF { if (values.count() < 8) THROW_ERROR("Invalid force field file format"); - reax->sbp[i].r_pi_pi = values.next_double(); - reax->sbp[i].p_lp2 = values.next_double(); + sbp[i].r_pi_pi = values.next_double(); + sbp[i].p_lp2 = values.next_double(); values.skip(); - reax->sbp[i].b_o_131 = values.next_double(); - reax->sbp[i].b_o_132 = values.next_double(); - reax->sbp[i].b_o_133 = values.next_double(); + sbp[i].b_o_131 = values.next_double(); + sbp[i].b_o_132 = values.next_double(); + sbp[i].b_o_133 = values.next_double(); // line four @@ -198,14 +205,14 @@ namespace ReaxFF { if (values.count() < 8) THROW_ERROR("Invalid force field file format"); - reax->sbp[i].p_ovun2 = values.next_double(); - reax->sbp[i].p_val3 = values.next_double(); + sbp[i].p_ovun2 = values.next_double(); + sbp[i].p_val3 = values.next_double(); values.skip(); - reax->sbp[i].valency_val= values.next_double(); - reax->sbp[i].p_val5 = values.next_double(); - reax->sbp[i].rcore2 = values.next_double(); - reax->sbp[i].ecore2 = values.next_double(); - reax->sbp[i].acore2 = values.next_double(); + sbp[i].valency_val= values.next_double(); + sbp[i].p_val5 = values.next_double(); + sbp[i].rcore2 = values.next_double(); + sbp[i].ecore2 = values.next_double(); + sbp[i].acore2 = values.next_double(); // read line five only when lgflag != 0 @@ -214,72 +221,72 @@ namespace ReaxFF { ++lineno; if (values.count() < 2) THROW_ERROR("Invalid force field file format"); - reax->sbp[i].lgcij = values.next_double(); - reax->sbp[i].lgre = values.next_double(); - } else reax->sbp[i].lgcij = reax->sbp[i].lgre = 0.0; + sbp[i].lgcij = values.next_double(); + sbp[i].lgre = values.next_double(); + } else sbp[i].lgcij = sbp[i].lgre = 0.0; // van der Waals settings check: // Inner-wall? - if ((reax->sbp[i].rcore2 > 0.01) && (reax->sbp[i].acore2 > 0.01)) { + if ((sbp[i].rcore2 > 0.01) && (sbp[i].acore2 > 0.01)) { // Shielding van der Waals? - if (reax->sbp[i].gamma_w > 0.5) { - if (reax->gp.vdw_type != 0 && reax->gp.vdw_type != 3) { + if (sbp[i].gamma_w > 0.5) { + if (gp.vdw_type != 0 && gp.vdw_type != 3) { const auto errmsg = fmt::format("Van der Waals parameters for element {} " "indicate inner wall+shielding, but earlier " "atoms indicate a different van der Waals " "method. This may cause division-by-zero " "errors. Keeping van der Waals setting for " - "earlier atoms.",reax->sbp[i].name); + "earlier atoms.",sbp[i].name); error->warning(FLERR,errmsg); } else { - reax->gp.vdw_type = 3; + gp.vdw_type = 3; } } else { // No shielding van der Waals parameters present - if ((reax->gp.vdw_type != 0) && (reax->gp.vdw_type != 2)) { + if ((gp.vdw_type != 0) && (gp.vdw_type != 2)) { const auto errmsg = fmt::format("Van der Waals parameters for element {} " "indicate inner wall withou shielding, but " "earlier atoms indicate a different van der " "Waals-method. This may cause division-by-" "zero errors. Keeping van der Waals setting " - "for earlier atoms.", reax->sbp[i].name); + "for earlier atoms.", sbp[i].name); error->warning(FLERR,errmsg); } else { - reax->gp.vdw_type = 2; + gp.vdw_type = 2; } } } else { // No Inner wall parameters present - if (reax->sbp[i].gamma_w > 0.5) { // Shielding vdWaals - if ((reax->gp.vdw_type != 0) && (reax->gp.vdw_type != 1)) { + if (sbp[i].gamma_w > 0.5) { // Shielding vdWaals + if ((gp.vdw_type != 0) && (gp.vdw_type != 1)) { const auto errmsg = fmt::format("Van der Waals parameters for element {} " "indicate shielding without inner wall, but " "earlier elements indicate a different van der " "Waals method. This may cause division-by-zero " "errors. Keeping van der Waals setting for " - "earlier atoms.", reax->sbp[i].name); + "earlier atoms.", sbp[i].name); error->warning(FLERR,errmsg); } else { - reax->gp.vdw_type = 1; + gp.vdw_type = 1; } } else { error->one(FLERR,fmt::format("Inconsistent van der Waals " "parameters: No shielding or inner " "wall set for element {}", - reax->sbp[i].name)); + sbp[i].name)); } } } /* Equate vval3 to valf for first-row elements (25/10/2004) */ for (i = 0; i < ntypes; i++) { - if ((reax->sbp[i].mass < 21) && - (reax->sbp[i].valency_val != reax->sbp[i].valency_boc)) { + if ((sbp[i].mass < 21) && + (sbp[i].valency_val != sbp[i].valency_boc)) { error->warning(FLERR,fmt::format("Changed valency_val to valency" - "_boc for {}", reax->sbp[i].name)); - reax->sbp[i].valency_val = reax->sbp[i].valency_boc; + "_boc for {}", sbp[i].name)); + sbp[i].valency_val = sbp[i].valency_boc; } } @@ -306,14 +313,14 @@ namespace ReaxFF { THROW_ERROR("Inconsistent force field file"); if ((j < ntypes) && (k < ntypes)) { - reax->tbp[j][k].De_s = reax->tbp[k][j].De_s = values.next_double(); - reax->tbp[j][k].De_p = reax->tbp[k][j].De_p = values.next_double(); - reax->tbp[j][k].De_pp = reax->tbp[k][j].De_pp = values.next_double(); - reax->tbp[j][k].p_be1 = reax->tbp[k][j].p_be1 = values.next_double(); - reax->tbp[j][k].p_bo5 = reax->tbp[k][j].p_bo5 = values.next_double(); - reax->tbp[j][k].v13cor = reax->tbp[k][j].v13cor = values.next_double(); - reax->tbp[j][k].p_bo6 = reax->tbp[k][j].p_bo6 = values.next_double(); - reax->tbp[j][k].p_ovun1 = reax->tbp[k][j].p_ovun1 = values.next_double(); + tbp[j][k].De_s = tbp[k][j].De_s = values.next_double(); + tbp[j][k].De_p = tbp[k][j].De_p = values.next_double(); + tbp[j][k].De_pp = tbp[k][j].De_pp = values.next_double(); + tbp[j][k].p_be1 = tbp[k][j].p_be1 = values.next_double(); + tbp[j][k].p_bo5 = tbp[k][j].p_bo5 = values.next_double(); + tbp[j][k].v13cor = tbp[k][j].v13cor = values.next_double(); + tbp[j][k].p_bo6 = tbp[k][j].p_bo6 = values.next_double(); + tbp[j][k].p_ovun1 = tbp[k][j].p_ovun1 = values.next_double(); } // second line @@ -324,69 +331,40 @@ namespace ReaxFF { THROW_ERROR("Invalid force field file format"); if ((j < ntypes) && (k < ntypes)) { - reax->tbp[j][k].p_be2 = reax->tbp[k][j].p_be2 = values.next_double(); - reax->tbp[j][k].p_bo3 = reax->tbp[k][j].p_bo3 = values.next_double(); - reax->tbp[j][k].p_bo4 = reax->tbp[k][j].p_bo4 = values.next_double(); + tbp[j][k].p_be2 = tbp[k][j].p_be2 = values.next_double(); + tbp[j][k].p_bo3 = tbp[k][j].p_bo3 = values.next_double(); + tbp[j][k].p_bo4 = tbp[k][j].p_bo4 = values.next_double(); values.skip(); - reax->tbp[j][k].p_bo1 = reax->tbp[k][j].p_bo1 = values.next_double(); - reax->tbp[j][k].p_bo2 = reax->tbp[k][j].p_bo2 = values.next_double(); - reax->tbp[j][k].ovc = reax->tbp[k][j].ovc = values.next_double(); + tbp[j][k].p_bo1 = tbp[k][j].p_bo1 = values.next_double(); + tbp[j][k].p_bo2 = tbp[k][j].p_bo2 = values.next_double(); + tbp[j][k].ovc = tbp[k][j].ovc = values.next_double(); } } for (i=0; i < ntypes; ++i) { for (j=i; j < ntypes; ++j) { - reax->tbp[i][j].r_s = reax->tbp[j][i].r_s = - 0.5*(reax->sbp[j].r_s + reax->sbp[i].r_s); - - reax->tbp[i][j].r_p = reax->tbp[j][i].r_p = - 0.5*(reax->sbp[j].r_pi + reax->sbp[i].r_pi); - - reax->tbp[i][j].r_pp = reax->tbp[j][i].r_pp = - 0.5*(reax->sbp[j].r_pi_pi + reax->sbp[i].r_pi_pi); - - reax->tbp[i][j].p_boc3 = reax->tbp[j][i].p_boc3 = - sqrt(reax->sbp[j].b_o_132 * reax->sbp[i].b_o_132); - - reax->tbp[i][j].p_boc4 = reax->tbp[j][i].p_boc4 = - sqrt(reax->sbp[j].b_o_131 * reax->sbp[i].b_o_131); - - reax->tbp[i][j].p_boc5 = reax->tbp[j][i].p_boc5 = - sqrt(reax->sbp[j].b_o_133 * reax->sbp[i].b_o_133); - - reax->tbp[i][j].D = reax->tbp[j][i].D = - sqrt(reax->sbp[j].epsilon * reax->sbp[i].epsilon); - - reax->tbp[i][j].alpha = reax->tbp[j][i].alpha = - sqrt(reax->sbp[j].alpha * reax->sbp[i].alpha); - - reax->tbp[i][j].r_vdW = reax->tbp[j][i].r_vdW = - 2.0*sqrt(reax->sbp[j].r_vdw * reax->sbp[i].r_vdw); - - reax->tbp[i][j].gamma_w = reax->tbp[j][i].gamma_w = - sqrt(reax->sbp[j].gamma_w * reax->sbp[i].gamma_w); - - reax->tbp[i][j].gamma = reax->tbp[j][i].gamma = - pow(reax->sbp[j].gamma * reax->sbp[i].gamma,-1.5); + tbp[i][j].r_s = tbp[j][i].r_s = 0.5*(sbp[j].r_s + sbp[i].r_s); + tbp[i][j].r_p = tbp[j][i].r_p = 0.5*(sbp[j].r_pi + sbp[i].r_pi); + tbp[i][j].r_pp = tbp[j][i].r_pp = 0.5*(sbp[j].r_pi_pi + sbp[i].r_pi_pi); + tbp[i][j].p_boc3 = tbp[j][i].p_boc3 = sqrt(sbp[j].b_o_132 * sbp[i].b_o_132); + tbp[i][j].p_boc4 = tbp[j][i].p_boc4 = sqrt(sbp[j].b_o_131 * sbp[i].b_o_131); + tbp[i][j].p_boc5 = tbp[j][i].p_boc5 = sqrt(sbp[j].b_o_133 * sbp[i].b_o_133); + tbp[i][j].D = tbp[j][i].D = sqrt(sbp[j].epsilon * sbp[i].epsilon); + tbp[i][j].alpha = tbp[j][i].alpha = sqrt(sbp[j].alpha * sbp[i].alpha); + tbp[i][j].r_vdW = tbp[j][i].r_vdW = 2.0*sqrt(sbp[j].r_vdw * sbp[i].r_vdw); + tbp[i][j].gamma_w = tbp[j][i].gamma_w = sqrt(sbp[j].gamma_w * sbp[i].gamma_w); + tbp[i][j].gamma = tbp[j][i].gamma = pow(sbp[j].gamma * sbp[i].gamma,-1.5); // additions for additional vdWaals interaction types - inner core - reax->tbp[i][j].rcore = reax->tbp[j][i].rcore = - sqrt(reax->sbp[i].rcore2 * reax->sbp[j].rcore2); - - reax->tbp[i][j].ecore = reax->tbp[j][i].ecore = - sqrt(reax->sbp[i].ecore2 * reax->sbp[j].ecore2); - - reax->tbp[i][j].acore = reax->tbp[j][i].acore = - sqrt(reax->sbp[i].acore2 * reax->sbp[j].acore2); + tbp[i][j].rcore = tbp[j][i].rcore = sqrt(sbp[i].rcore2 * sbp[j].rcore2); + tbp[i][j].ecore = tbp[j][i].ecore = sqrt(sbp[i].ecore2 * sbp[j].ecore2); + tbp[i][j].acore = tbp[j][i].acore = sqrt(sbp[i].acore2 * sbp[j].acore2); // additions for additional vdWalls interaction types lg correction - reax->tbp[i][j].lgcij = reax->tbp[j][i].lgcij = - sqrt(reax->sbp[i].lgcij * reax->sbp[j].lgcij); - - reax->tbp[i][j].lgre = reax->tbp[j][i].lgre - = 2.0 * reax->gp.l[35] * sqrt(reax->sbp[i].lgre*reax->sbp[j].lgre); + tbp[i][j].lgcij = tbp[j][i].lgcij = sqrt(sbp[i].lgcij * sbp[j].lgcij); + tbp[i][j].lgre = tbp[j][i].lgre = 2.0*gp.l[35]*sqrt(sbp[i].lgre*sbp[j].lgre); } } @@ -411,26 +389,26 @@ namespace ReaxFF { if ((j < ntypes) && (k < ntypes)) { val = values.next_double(); - if (val > 0.0) reax->tbp[j][k].D = reax->tbp[k][j].D = val; + if (val > 0.0) tbp[j][k].D = tbp[k][j].D = val; val = values.next_double(); - if (val > 0.0) reax->tbp[j][k].r_vdW = reax->tbp[k][j].r_vdW = 2*val; + if (val > 0.0) tbp[j][k].r_vdW = tbp[k][j].r_vdW = 2*val; val = values.next_double(); - if (val > 0.0) reax->tbp[j][k].alpha = reax->tbp[k][j].alpha = val; + if (val > 0.0) tbp[j][k].alpha = tbp[k][j].alpha = val; val = values.next_double(); - if (val > 0.0) reax->tbp[j][k].r_s = reax->tbp[k][j].r_s = val; + if (val > 0.0) tbp[j][k].r_s = tbp[k][j].r_s = val; val = values.next_double(); - if (val > 0.0) reax->tbp[j][k].r_p = reax->tbp[k][j].r_p = val; + if (val > 0.0) tbp[j][k].r_p = tbp[k][j].r_p = val; val = values.next_double(); - if (val > 0.0) reax->tbp[j][k].r_pp = reax->tbp[k][j].r_pp = val; + if (val > 0.0) tbp[j][k].r_pp = tbp[k][j].r_pp = val; if (lgflag) { val = values.next_double(); - if (val >= 0.0) reax->tbp[j][k].lgcij = reax->tbp[k][j].lgcij = val; + if (val >= 0.0) tbp[j][k].lgcij = tbp[k][j].lgcij = val; } } } @@ -457,37 +435,37 @@ namespace ReaxFF { if ((j < ntypes) && (k < ntypes) && (l < ntypes)) { - cnt = reax->thbp[j][k][l].cnt; - reax->thbp[j][k][l].cnt++; - reax->thbp[l][k][j].cnt++; + cnt = thbp[j][k][l].cnt; + thbp[j][k][l].cnt++; + thbp[l][k][j].cnt++; val = values.next_double(); - reax->thbp[j][k][l].prm[cnt].theta_00 = val; - reax->thbp[l][k][j].prm[cnt].theta_00 = val; + thbp[j][k][l].prm[cnt].theta_00 = val; + thbp[l][k][j].prm[cnt].theta_00 = val; val = values.next_double(); - reax->thbp[j][k][l].prm[cnt].p_val1 = val; - reax->thbp[l][k][j].prm[cnt].p_val1 = val; + thbp[j][k][l].prm[cnt].p_val1 = val; + thbp[l][k][j].prm[cnt].p_val1 = val; val = values.next_double(); - reax->thbp[j][k][l].prm[cnt].p_val2 = val; - reax->thbp[l][k][j].prm[cnt].p_val2 = val; + thbp[j][k][l].prm[cnt].p_val2 = val; + thbp[l][k][j].prm[cnt].p_val2 = val; val = values.next_double(); - reax->thbp[j][k][l].prm[cnt].p_coa1 = val; - reax->thbp[l][k][j].prm[cnt].p_coa1 = val; + thbp[j][k][l].prm[cnt].p_coa1 = val; + thbp[l][k][j].prm[cnt].p_coa1 = val; val = values.next_double(); - reax->thbp[j][k][l].prm[cnt].p_val7 = val; - reax->thbp[l][k][j].prm[cnt].p_val7 = val; + thbp[j][k][l].prm[cnt].p_val7 = val; + thbp[l][k][j].prm[cnt].p_val7 = val; val = values.next_double(); - reax->thbp[j][k][l].prm[cnt].p_pen1 = val; - reax->thbp[l][k][j].prm[cnt].p_pen1 = val; + thbp[j][k][l].prm[cnt].p_pen1 = val; + thbp[l][k][j].prm[cnt].p_pen1 = val; val = values.next_double(); - reax->thbp[j][k][l].prm[cnt].p_val4 = val; - reax->thbp[l][k][j].prm[cnt].p_val4 = val; + thbp[j][k][l].prm[cnt].p_val4 = val; + thbp[l][k][j].prm[cnt].p_val4 = val; } } @@ -511,65 +489,48 @@ namespace ReaxFF { if ((j < -1) || (k < 0) || (l < 0) || (m < -1)) THROW_ERROR("Inconsistent force field file"); + const double val1 = values.next_double(); + const double val2 = values.next_double(); + const double val3 = values.next_double(); + const double val4 = values.next_double(); + const double val5 = values.next_double(); + if ((j >= 0) && (m >= 0)) { // this means the entry is not in compact form if ((j < ntypes) && (k < ntypes) && (l < ntypes) && (m < ntypes)) { - tor_flag[j][k][l][m] = 1; - tor_flag[m][l][k][j] = 1; + tor_flag[j][k][l][m] = tor_flag[m][l][k][j] = 1; + fbp[j][k][l][m].cnt = fbp[m][l][k][j].cnt = 1; - reax->fbp[j][k][l][m].cnt = 1; - reax->fbp[m][l][k][j].cnt = 1; - - val = values.next_double(); - reax->fbp[j][k][l][m].prm[0].V1 = val; - reax->fbp[m][l][k][j].prm[0].V1 = val; - - val = values.next_double(); - reax->fbp[j][k][l][m].prm[0].V2 = val; - reax->fbp[m][l][k][j].prm[0].V2 = val; - - val = values.next_double(); - reax->fbp[j][k][l][m].prm[0].V3 = val; - reax->fbp[m][l][k][j].prm[0].V3 = val; - - val = values.next_double(); - reax->fbp[j][k][l][m].prm[0].p_tor1 = val; - reax->fbp[m][l][k][j].prm[0].p_tor1 = val; - - val = values.next_double(); - reax->fbp[j][k][l][m].prm[0].p_cot1 = val; - reax->fbp[m][l][k][j].prm[0].p_cot1 = val; + fbp[j][k][l][m].prm[0].V1 = fbp[m][l][k][j].prm[0].V1 = val1; + fbp[j][k][l][m].prm[0].V2 = fbp[m][l][k][j].prm[0].V2 = val2; + fbp[j][k][l][m].prm[0].V3 = fbp[m][l][k][j].prm[0].V3 = val3; + fbp[j][k][l][m].prm[0].p_tor1 = fbp[m][l][k][j].prm[0].p_tor1 = val4; + fbp[j][k][l][m].prm[0].p_cot1 = fbp[m][l][k][j].prm[0].p_cot1 = val5; } } else { /* This means the entry is of the form 0-X-Y-0 */ if ((k < ntypes) && (l < ntypes)) { - const double val1 = values.next_double(); - const double val2 = values.next_double(); - const double val3 = values.next_double(); - const double val4 = values.next_double(); - const double val5 = values.next_double(); - for (int p = 0; p < ntypes; ++p) { for (int o = 0; o < ntypes; ++o) { - reax->fbp[p][k][l][o].cnt = 1; - reax->fbp[o][l][k][p].cnt = 1; if (tor_flag[p][k][l][o] == 0) { - reax->fbp[p][k][l][o].prm[0].V1 = val1; - reax->fbp[p][k][l][o].prm[0].V2 = val2; - reax->fbp[p][k][l][o].prm[0].V3 = val3; - reax->fbp[p][k][l][o].prm[0].p_tor1 = val4; - reax->fbp[p][k][l][o].prm[0].p_cot1 = val5; + fbp[p][k][l][o].cnt = 1; + fbp[p][k][l][o].prm[0].V1 = val1; + fbp[p][k][l][o].prm[0].V2 = val2; + fbp[p][k][l][o].prm[0].V3 = val3; + fbp[p][k][l][o].prm[0].p_tor1 = val4; + fbp[p][k][l][o].prm[0].p_cot1 = val5; } if (tor_flag[o][l][k][p] == 0) { - reax->fbp[o][l][k][p].prm[0].V1 = val1; - reax->fbp[o][l][k][p].prm[0].V2 = val2; - reax->fbp[o][l][k][p].prm[0].V3 = val3; - reax->fbp[o][l][k][p].prm[0].p_tor1 = val4; - reax->fbp[o][l][k][p].prm[0].p_cot1 = val5; + fbp[o][l][k][p].cnt = 1; + fbp[o][l][k][p].prm[0].V1 = val1; + fbp[o][l][k][p].prm[0].V2 = val2; + fbp[o][l][k][p].prm[0].V3 = val3; + fbp[o][l][k][p].prm[0].p_tor1 = val4; + fbp[o][l][k][p].prm[0].p_cot1 = val5; } } } @@ -586,7 +547,7 @@ namespace ReaxFF { for (i = 0; i < ntypes; ++i) for (j = 0; j < ntypes; ++j) for (k = 0; k < ntypes; ++k) - reax->hbp[i][j][k].r0_hb = -1.0; + hbp[i][j][k].r0_hb = -1.0; for (i = 0; i < n; ++i) { values = reader.next_values(0); @@ -602,10 +563,10 @@ namespace ReaxFF { THROW_ERROR("Inconsistent force field file"); if ((j < ntypes) && (k < ntypes) && (l < ntypes)) { - reax->hbp[j][k][l].r0_hb = values.next_double(); - reax->hbp[j][k][l].p_hb1 = values.next_double(); - reax->hbp[j][k][l].p_hb2 = values.next_double(); - reax->hbp[j][k][l].p_hb3 = values.next_double(); + hbp[j][k][l].r0_hb = values.next_double(); + hbp[j][k][l].p_hb1 = values.next_double(); + hbp[j][k][l].p_hb2 = values.next_double(); + hbp[j][k][l].p_hb3 = values.next_double(); } } @@ -622,8 +583,8 @@ namespace ReaxFF { // allocate storage for atom type based data MPI_Bcast(&reax->num_atom_types,1,MPI_INT,0,world); + const int n = reax->num_atom_types; if (control->me != 0) { - const int n = reax->num_atom_types; memory->create(reax->sbp,n,"reaxff:sbp"); memory->create(reax->tbp,n,n,"reaxff:tbp"); memory->create(reax->thbp,n,n,n,"reaxff:thbp"); @@ -632,14 +593,13 @@ namespace ReaxFF { } // broadcast type specific force field data - const int n = reax->num_atom_types; MPI_Bcast(&(reax->sbp[0]),sizeof(single_body_parameters)*n,MPI_CHAR,0,world); MPI_Bcast(&(reax->tbp[0][0]),sizeof(two_body_parameters)*n*n,MPI_CHAR,0,world); MPI_Bcast(&(reax->thbp[0][0][0]),sizeof(three_body_header)*n*n*n,MPI_CHAR,0,world); MPI_Bcast(&(reax->hbp[0][0][0]),sizeof(hbond_parameters)*n*n*n,MPI_CHAR,0,world); MPI_Bcast(&(reax->fbp[0][0][0][0]),sizeof(four_body_header)*n*n*n*n,MPI_CHAR,0,world); - // apply parameters to various settings + // apply global parameters to global control settings control->bo_cut = 0.01 * reax->gp.l[29]; control->nonb_low = reax->gp.l[11]; From e901fff8b61ef3034824f3f51898db57cf4dcc62 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 18 Apr 2021 21:18:42 -0400 Subject: [PATCH 060/726] remove unused variable --- src/KOKKOS/pair_reaxc_kokkos.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/src/KOKKOS/pair_reaxc_kokkos.cpp b/src/KOKKOS/pair_reaxc_kokkos.cpp index deb1dc74fd..04c70342ed 100644 --- a/src/KOKKOS/pair_reaxc_kokkos.cpp +++ b/src/KOKKOS/pair_reaxc_kokkos.cpp @@ -3063,7 +3063,6 @@ KOKKOS_INLINE_FUNCTION void PairReaxCKokkos::operator()(PairReaxComputeBond1, const int &ii, EV_FLOAT_REAX& ev) const { auto v_f = ScatterViewHelper::value,decltype(dup_f),decltype(ndup_f)>::get(dup_f,ndup_f); - auto a_f = v_f.template access::value>(); auto v_CdDelta = ScatterViewHelper::value,decltype(dup_CdDelta),decltype(ndup_CdDelta)>::get(dup_CdDelta,ndup_CdDelta); auto a_CdDelta = v_CdDelta.template access::value>(); From f9d133dcbaeaa35e566b88b18e3ec1a7ee178ee4 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 18 Apr 2021 22:07:38 -0400 Subject: [PATCH 061/726] must use a reference for the shortcut to work --- src/USER-REAXC/reaxc_ffield.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/USER-REAXC/reaxc_ffield.cpp b/src/USER-REAXC/reaxc_ffield.cpp index 1a47b46f56..7e60682102 100644 --- a/src/USER-REAXC/reaxc_ffield.cpp +++ b/src/USER-REAXC/reaxc_ffield.cpp @@ -77,7 +77,7 @@ namespace ReaxFF { ++lineno; // set some defaults - auto gp = reax->gp; + auto &gp = reax->gp; gp.vdw_type = 0; @@ -112,11 +112,11 @@ namespace ReaxFF { lineno += 4; // allocate and clear storage for ffield data - auto sbp = reax->sbp; - auto tbp = reax->tbp; - auto thbp = reax->thbp; - auto hbp = reax->hbp; - auto fbp = reax->fbp; + auto &sbp = reax->sbp; + auto &tbp = reax->tbp; + auto &thbp = reax->thbp; + auto &hbp = reax->hbp; + auto &fbp = reax->fbp; memory->create(sbp,n,"reaxff:sbp"); memory->create(tbp,n,n,"reaxff:tbp"); From 43491b4220ad29370af72883854d834ecb8219d7 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 18 Apr 2021 22:31:35 -0400 Subject: [PATCH 062/726] lift compile time limit to 25 atom types --- src/USER-REAXC/reaxc_lookup.cpp | 15 ++++++++------- src/USER-REAXC/reaxff_defs.h | 1 - 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/USER-REAXC/reaxc_lookup.cpp b/src/USER-REAXC/reaxc_lookup.cpp index 58eab80d17..c2013c0500 100644 --- a/src/USER-REAXC/reaxc_lookup.cpp +++ b/src/USER-REAXC/reaxc_lookup.cpp @@ -148,8 +148,6 @@ namespace ReaxFF { storage *workspace, MPI_Comm world) { int i, j, r; - int num_atom_types; - int existing_types[REAX_MAX_ATOM_TYPES], aggregated[REAX_MAX_ATOM_TYPES]; double dr; double *h, *fh, *fvdw, *fele, *fCEvd, *fCEclmb; double v0_vdw, v0_ele, vlast_vdw, vlast_ele; @@ -161,7 +159,9 @@ namespace ReaxFF { vlast_vdw = 0; vlast_ele = 0; - num_atom_types = system->reax_param.num_atom_types; + const int num_atom_types = system->reax_param.num_atom_types; + int *existing_types = new int[num_atom_types]; + int *aggregated = new int[num_atom_types]; dr = control->nonb_cut / control->tabulate; h = (double*) smalloc(system->error_ptr, (control->tabulate+2) * sizeof(double), "lookup:h"); @@ -182,13 +182,12 @@ namespace ReaxFF { LR[i] = (LR_lookup_table*) scalloc(system->error_ptr, num_atom_types, sizeof(LR_lookup_table), "lookup:LR[i]"); - for (i = 0; i < REAX_MAX_ATOM_TYPES; ++i) + for (i = 0; i < num_atom_types; ++i) existing_types[i] = 0; for (i = 0; i < system->n; ++i) - existing_types[ system->my_atoms[i].type ] = 1; + existing_types[system->my_atoms[i].type] = 1; - MPI_Allreduce(existing_types, aggregated, REAX_MAX_ATOM_TYPES, - MPI_INT, MPI_SUM, world); + MPI_Allreduce(existing_types, aggregated, num_atom_types, MPI_INT, MPI_SUM, world); for (i = 0; i < num_atom_types; ++i) { if (aggregated[i]) { @@ -261,6 +260,8 @@ namespace ReaxFF { free(fCEvd); free(fele); free(fCEclmb); + delete[] existing_types; + delete[] aggregated; } void Deallocate_Lookup_Tables(reax_system *system) diff --git a/src/USER-REAXC/reaxff_defs.h b/src/USER-REAXC/reaxff_defs.h index 917255c5f0..6b3e021707 100644 --- a/src/USER-REAXC/reaxff_defs.h +++ b/src/USER-REAXC/reaxff_defs.h @@ -81,7 +81,6 @@ #define REAX_MAX_STR 1024 #define REAX_MAX_3BODY_PARAM 5 #define REAX_MAX_4BODY_PARAM 5 -#define REAX_MAX_ATOM_TYPES 25 namespace ReaxFF { From c11e9cc84925f4b8889d093aeb328f77395295ee Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 18 Apr 2021 22:59:55 -0400 Subject: [PATCH 063/726] remove unused defines and enumerators --- src/USER-REAXC/reaxff_defs.h | 33 +-------------------------------- 1 file changed, 1 insertion(+), 32 deletions(-) diff --git a/src/USER-REAXC/reaxff_defs.h b/src/USER-REAXC/reaxff_defs.h index 6b3e021707..854871e5a7 100644 --- a/src/USER-REAXC/reaxff_defs.h +++ b/src/USER-REAXC/reaxff_defs.h @@ -33,28 +33,9 @@ #define constPI 3.14159265 #define C_ele 332.06371 -//#define K_B 503.398008 // kcal/mol/K -#define K_B 0.831687 // amu A^2 / ps^2 / K -#define F_CONV 1e6 / 48.88821291 / 48.88821291 // --> amu A / ps^2 -#define E_CONV 0.002391 // amu A^2 / ps^2 --> kcal/mol #define EV_to_KCALpMOL 14.400000 // ElectronVolt --> KCAL per MOLe #define KCALpMOL_to_EV 23.02 // 23.060549 //KCAL per MOLe --> ElectronVolt -#define ECxA_to_DEBYE 4.803204 // elem. charge * Ang -> debye -#define CAL_to_JOULES 4.184000 // CALories --> JOULES -#define JOULES_to_CAL 1/4.184000 // JOULES --> CALories -#define AMU_to_GRAM 1.6605e-24 -#define ANG_to_CM 1e-8 -#define AVOGNR 6.0221367e23 -#define P_CONV 1e-24 * AVOGNR * JOULES_to_CAL -#define MAX_STR 1024 -#define MAX_LINE 1024 -#define MAX_TOKENS 1024 -#define MAX_TOKEN_LEN 1024 - -#define ALMOST_ZERO 1e-10 -#define NEG_INF -1e10 -#define NO_BOND 1e-3 // 0.001 #define HB_THRESHOLD 1e-2 // 0.01 #define REAX_MIN_CAP 50 @@ -68,29 +49,17 @@ #define REAX_SAFER_ZONE 1.4 #define DANGER_ZONE 0.90 #define LOOSE_ZONE 0.75 -#define MAX_3BODY_PARAM 5 -#define MAX_4BODY_PARAM 5 - -#define MASTER_NODE 0 #define MAXREAXBOND 24 /* used in fix_reaxc_bonds.cpp and pair_reaxc.cpp */ #define MAXSPECBOND 24 /* used in fix_reaxc_species.cpp and pair_reaxc.cpp */ -/************* crucial for reaxff_types.h *********/ - -#define REAX_MAX_STR 1024 #define REAX_MAX_3BODY_PARAM 5 #define REAX_MAX_4BODY_PARAM 5 namespace ReaxFF { /******************* ENUMERATORS *************************/ - - enum lists { BONDS, OLD_BONDS, THREE_BODIES, - HBONDS, FAR_NBRS, DBOS, DDELTAS, LIST_N }; - - enum message_tags {NONE, INIT_DESCS, ATOM_LINES, BOND_LINES, ANGLE_LINES}; - + enum lists { BONDS, THREE_BODIES, HBONDS, FAR_NBRS, LIST_N }; enum interactions {TYP_VOID, TYP_BOND, TYP_THREE_BODY, TYP_HBOND, TYP_FAR_NEIGHBOR, TYP_DBO, TYP_DDELTA, TYP_N}; } From 6c4ad8ad35951268a9a5bcc99dd069c2450224a7 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 19 Apr 2021 07:38:50 -0400 Subject: [PATCH 064/726] implement nowarn flag for qeq/reax fixes and add scalar compute function for number of qeq iterations make behavior handling the maximum number of iterations consistent across USER-REAXC, USER-OMP and KOKKOS package variants so that they all give the same results for the same number of iterations in serial and parallel --- doc/src/fix_qeq_reax.rst | 46 +++++++++++++++++++----------- src/KOKKOS/fix_qeq_reax_kokkos.cpp | 14 +++++---- src/KOKKOS/fix_qeq_reax_kokkos.h | 4 +-- src/USER-OMP/fix_qeq_reax_omp.cpp | 31 ++++++++++---------- src/USER-REAXC/fix_qeq_reax.cpp | 27 ++++++++++++++---- src/USER-REAXC/fix_qeq_reax.h | 12 ++------ 6 files changed, 79 insertions(+), 55 deletions(-) diff --git a/doc/src/fix_qeq_reax.rst b/doc/src/fix_qeq_reax.rst index 8752888c4c..430a037d8d 100644 --- a/doc/src/fix_qeq_reax.rst +++ b/doc/src/fix_qeq_reax.rst @@ -24,10 +24,10 @@ Syntax .. parsed-literal:: - keyword = *dual* or *maxiter* + keyword = *dual* or *maxiter* or *nowarn* *dual* = process S and T matrix in parallel (only for qeq/reax/omp) *maxiter* N = limit the number of iterations to *N* - + *nowarn* = do not print a warning message if the maximum number of iterations was reached Examples """""""" @@ -40,13 +40,15 @@ Examples Description """"""""""" -Perform the charge equilibration (QEq) method as described in :ref:`(Rappe and Goddard) ` and formulated in :ref:`(Nakano) `. It is -typically used in conjunction with the ReaxFF force field model as -implemented in the :doc:`pair_style reax/c ` command, but -it can be used with any potential in LAMMPS, so long as it defines and -uses charges on each atom. The :doc:`fix qeq/comb ` -command should be used to perform charge equilibration with the :doc:`COMB potential `. For more technical details about the -charge equilibration performed by fix qeq/reax, see the +Perform the charge equilibration (QEq) method as described in +:ref:`(Rappe and Goddard) ` and formulated in :ref:`(Nakano) +`. It is typically used in conjunction with the ReaxFF force +field model as implemented in the :doc:`pair_style reax/c ` +command, but it can be used with any potential in LAMMPS, so long as it +defines and uses charges on each atom. The :doc:`fix qeq/comb +` command should be used to perform charge equilibration +with the :doc:`COMB potential `. For more technical details +about the charge equilibration performed by fix qeq/reax, see the :ref:`(Aktulga) ` paper. The QEq method minimizes the electrostatic energy of the system by @@ -79,12 +81,21 @@ the *qeq/reax/omp* style. Otherwise they are processed separately. The optional *maxiter* keyword allows changing the max number of iterations in the linear solver. The default value is 200. +The optional *nowarn* keyword silences the warning message printed +when the maximum number of iterations was reached. This can be +useful for comparing serial and parallel results where having the +same fixed number of QEq iterations is desired, which can be achieved +by using a very small tolerance and setting *maxiter* to the desired +number of iterations. + Restart, fix_modify, output, run start/stop, minimize info """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" -No information about this fix is written to :doc:`binary restart files `. No global scalar or vector or per-atom -quantities are stored by this fix for access by various :doc:`output commands `. No parameter of this fix can be used -with the *start/stop* keywords of the :doc:`run ` command. +No information about this fix is written to :doc:`binary restart files +`. This fix computes a global scalar (the number of +iterations) for access by various :doc:`output commands `. +No parameter of this fix can be used with the *start/stop* keywords of +the :doc:`run ` command. This fix is invoked during :doc:`energy minimization `. @@ -97,12 +108,13 @@ This fix is invoked during :doc:`energy minimization `. Restrictions """""""""""" -This fix is part of the USER-REAXC package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +Fix *qeq/reax* is part of the USER-REAXC package. It is only enabled if +LAMMPS was built with this package. See the :doc:`Build package +` doc page for more info. -This fix does not correctly handle interactions -involving multiple periodic images of the same atom. Hence, it should not -be used for periodic cell dimensions less than 10 angstroms. +This fix does not correctly handle interactions involving multiple +periodic images of the same atom. Hence, it should not be used for +periodic cell dimensions less than 10 angstroms. Related commands """""""""""""""" diff --git a/src/KOKKOS/fix_qeq_reax_kokkos.cpp b/src/KOKKOS/fix_qeq_reax_kokkos.cpp index fe1969c54f..1094d953b7 100644 --- a/src/KOKKOS/fix_qeq_reax_kokkos.cpp +++ b/src/KOKKOS/fix_qeq_reax_kokkos.cpp @@ -281,11 +281,11 @@ void FixQEqReaxKokkos::pre_force(int /*vflag*/) // 1st cg solve over b_s, s - cg_solve1(); + matvecs = cg_solve1(); // 2nd cg solve over b_t, t - cg_solve2(); + matvecs += cg_solve2(); // calculate_Q(); @@ -721,7 +721,7 @@ void FixQEqReaxKokkos::matvec_item(int ii) const /* ---------------------------------------------------------------------- */ template -void FixQEqReaxKokkos::cg_solve1() +int FixQEqReaxKokkos::cg_solve1() // b = b_s, x = s; { const int inum = list->inum; @@ -838,17 +838,18 @@ void FixQEqReaxKokkos::cg_solve1() Kokkos::parallel_for(inum,vecsum2_functor); } - if (loop >= imax && comm->me == 0) + if ((loop >= imax) && maxwarn && (comm->me == 0)) error->warning(FLERR,fmt::format("Fix qeq/reax/kk cg_solve1 convergence " "failed after {} iterations at step {}: " "{}", loop, update->ntimestep, sqrt(sig_new)/b_norm)); + return loop; } /* ---------------------------------------------------------------------- */ template -void FixQEqReaxKokkos::cg_solve2() +int FixQEqReaxKokkos::cg_solve2() // b = b_t, x = t; { const int inum = list->inum; @@ -967,11 +968,12 @@ void FixQEqReaxKokkos::cg_solve2() Kokkos::parallel_for(inum,vecsum2_functor); } - if (loop >= imax && comm->me == 0) + if ((loop >= imax) && maxwarn && (comm->me == 0)) error->warning(FLERR,fmt::format("Fix qeq/reax/kk cg_solve2 convergence " "failed after {} iterations at step {}: " "{}", loop, update->ntimestep, sqrt(sig_new)/b_norm)); + return loop; } /* ---------------------------------------------------------------------- */ diff --git a/src/KOKKOS/fix_qeq_reax_kokkos.h b/src/KOKKOS/fix_qeq_reax_kokkos.h index bbfeb00266..929a37748c 100644 --- a/src/KOKKOS/fix_qeq_reax_kokkos.h +++ b/src/KOKKOS/fix_qeq_reax_kokkos.h @@ -224,8 +224,8 @@ class FixQEqReaxKokkos : public FixQEqReax, public KokkosBase { void init_hist(); void allocate_matrix(); void allocate_array(); - void cg_solve1(); - void cg_solve2(); + int cg_solve1(); + int cg_solve2(); void calculate_q(); int neighflag, pack_flag; diff --git a/src/USER-OMP/fix_qeq_reax_omp.cpp b/src/USER-OMP/fix_qeq_reax_omp.cpp index 59a3c093e2..52e9565a46 100644 --- a/src/USER-OMP/fix_qeq_reax_omp.cpp +++ b/src/USER-OMP/fix_qeq_reax_omp.cpp @@ -280,6 +280,7 @@ void FixQEqReaxOMP::pre_force(int /* vflag */) } else { matvecs_s = CG(b_s, s); // CG on s - parallel matvecs_t = CG(b_t, t); // CG on t - parallel + matvecs = matvecs_s + matvecs_t; } // if (dual_enabled) calculate_Q(); @@ -461,7 +462,7 @@ int FixQEqReaxOMP::CG( double *b, double *x) } } - if (i >= imax && comm->me == 0) + if ((i >= imax) && maxwarn && (comm->me == 0)) error->warning(FLERR,fmt::format("Fix qeq/reax/omp CG convergence failed " "after {} iterations at step {}", i,update->ntimestep)); @@ -768,31 +769,31 @@ int FixQEqReaxOMP::dual_CG( double *b1, double *b2, double *x1, double *x2) } } - i++; - matvecs_s = matvecs_t = i; // The plus one makes consistent with count from CG() - matvecs = i; + matvecs_s = matvecs_t = i; - // If necessary, converge other system - if (sqrt(sig_new_s)/b_norm_s > tolerance) { + // If only one was converged and there are still iterations left, converge other system + if ((matvecs_s < imax) && (sqrt(sig_new_s)/b_norm_s > tolerance)) { pack_flag = 2; comm->forward_comm_fix(this); // x1 => s - i+= CG(b1, x1); - matvecs_s = i; - } - else if (sqrt(sig_new_t)/b_norm_t > tolerance) { + int saved_imax = imax; + imax -= matvecs_s; + matvecs_s += CG(b1, x1); + imax = saved_imax; + } else if ((matvecs_t < imax) && (sqrt(sig_new_t)/b_norm_t > tolerance)) { pack_flag = 3; comm->forward_comm_fix(this); // x2 => t - - i+= CG(b2, x2); - matvecs_t = i; + int saved_imax = imax; + imax -= matvecs_t; + matvecs_t += CG(b2, x2); + imax = saved_imax; } - if ( i >= imax && comm->me == 0) + if ((i >= imax) && maxwarn && (comm->me == 0)) error->warning(FLERR,fmt::format("Fix qeq/reax/omp CG convergence failed " "after {} iterations at step {}", i,update->ntimestep)); - return i; + return matvecs_s + matvecs_t; } /* ---------------------------------------------------------------------- */ diff --git a/src/USER-REAXC/fix_qeq_reax.cpp b/src/USER-REAXC/fix_qeq_reax.cpp index 9c5b3b2958..493d9cd508 100644 --- a/src/USER-REAXC/fix_qeq_reax.cpp +++ b/src/USER-REAXC/fix_qeq_reax.cpp @@ -70,9 +70,14 @@ static const char cite_fix_qeq_reax[] = /* ---------------------------------------------------------------------- */ FixQEqReax::FixQEqReax(LAMMPS *lmp, int narg, char **arg) : - Fix(lmp, narg, arg), pertype_option(nullptr) + Fix(lmp, narg, arg), matvecs(0), pertype_option(nullptr) { - if (narg<8 || narg>11) error->all(FLERR,"Illegal fix qeq/reax command"); + scalar_flag = 1; + extscalar = 0; + imax = 200; + maxwarn = 1; + + if ((narg < 8) || (narg > 12)) error->all(FLERR,"Illegal fix qeq/reax command"); nevery = utils::inumeric(FLERR,arg[3],false,lmp); if (nevery <= 0) error->all(FLERR,"Illegal fix qeq/reax command"); @@ -82,14 +87,15 @@ FixQEqReax::FixQEqReax(LAMMPS *lmp, int narg, char **arg) : tolerance = utils::numeric(FLERR,arg[6],false,lmp); pertype_option = utils::strdup(arg[7]); - // dual CG support only available for USER-OMP variant + // dual CG support is only available for USER-OMP variant // check for compatibility is in Fix::post_constructor() + dual_enabled = 0; - imax = 200; int iarg = 8; while (iarg < narg) { if (strcmp(arg[iarg],"dual") == 0) dual_enabled = 1; + else if (strcmp(arg[iarg],"nowarn") == 0) maxwarn = 0; else if (strcmp(arg[iarg],"maxiter") == 0) { if (iarg+1 > narg-1) error->all(FLERR,"Illegal fix qeq/reax command"); @@ -115,12 +121,14 @@ FixQEqReax::FixQEqReax(LAMMPS *lmp, int narg, char **arg) : b_prm = nullptr; // CG + p = nullptr; q = nullptr; r = nullptr; d = nullptr; // H matrix + H.firstnbr = nullptr; H.numnbrs = nullptr; H.jlist = nullptr; @@ -128,13 +136,13 @@ FixQEqReax::FixQEqReax(LAMMPS *lmp, int narg, char **arg) : // dual CG support // Update comm sizes for this fix + if (dual_enabled) comm_forward = comm_reverse = 2; else comm_forward = comm_reverse = 1; // perform initial allocation of atom-based arrays // register with Atom class - reaxc = nullptr; reaxc = (PairReaxC *) force->pair_match("^reax/c",0); s_hist = t_hist = nullptr; @@ -389,6 +397,13 @@ void FixQEqReax::init() /* ---------------------------------------------------------------------- */ +double FixQEqReax::compute_scalar() +{ + return matvecs/2.0; +} + +/* ---------------------------------------------------------------------- */ + void FixQEqReax::init_list(int /*id*/, NeighList *ptr) { list = ptr; @@ -728,7 +743,7 @@ int FixQEqReax::CG(double *b, double *x) vector_sum(d, 1., p, beta, d, nn); } - if (i >= imax && comm->me == 0) + if ((i >= imax) && maxwarn && (comm->me == 0)) error->warning(FLERR,fmt::format("Fix qeq/reax CG convergence failed " "after {} iterations at step {}", i,update->ntimestep)); diff --git a/src/USER-REAXC/fix_qeq_reax.h b/src/USER-REAXC/fix_qeq_reax.h index 932f2e3679..9237e3e7ff 100644 --- a/src/USER-REAXC/fix_qeq_reax.h +++ b/src/USER-REAXC/fix_qeq_reax.h @@ -52,10 +52,11 @@ class FixQEqReax : public Fix { void min_setup_pre_force(int); void min_pre_force(int); - int matvecs; + virtual double compute_scalar(); protected: int nevery,reaxflag; + int matvecs; int nn, NN, m_fill; int n_cap, nmax, m_cap; int pack_flag; @@ -94,13 +95,7 @@ class FixQEqReax : public Fix { //CG storage double *p, *q, *r, *d; - int imax; - - //GMRES storage - //double *g,*y; - //double **v; - //double **h; - //double *hc, *hs; + int imax, maxwarn; char *pertype_option; // argument to determine how per-type info is obtained virtual void pertype_parameters(char*); @@ -120,7 +115,6 @@ class FixQEqReax : public Fix { virtual void calculate_Q(); virtual int CG(double*,double*); - //int GMRES(double*,double*); virtual void sparse_matvec(sparse_matrix*,double*,double*); virtual int pack_forward_comm(int, int *, double *, int, int *); From 799fb284c8c6d255f1c1c5ab56b8e7db4fe9b842 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 20 Apr 2021 14:00:51 -0400 Subject: [PATCH 065/726] small updates to the QEQ package for better testing - add a "warn no/yes" keyword/value pair to allow turning of the convergence warning - add a scalar compute to retrieve the number of QEq itration from the fix - update the buck example input to run all QEq methods from a common restart - document changes --- doc/src/fix_qeq.rst | 19 +- examples/qeq/buck.inc | 22 + examples/qeq/in.qeq.buck | 75 ++- examples/qeq/log.20Apr21.qeq.buck.g++.1 | 650 ++++++++++++++++++++++++ examples/qeq/log.20Apr21.qeq.buck.g++.4 | 650 ++++++++++++++++++++++++ examples/qeq/log.27Nov18.qeq.buck.g++.1 | 118 ----- examples/qeq/log.27Nov18.qeq.buck.g++.4 | 118 ----- src/QEQ/fix_qeq.cpp | 15 +- src/QEQ/fix_qeq.h | 5 +- src/QEQ/fix_qeq_dynamic.cpp | 11 +- src/QEQ/fix_qeq_fire.cpp | 9 +- src/QEQ/fix_qeq_point.cpp | 11 +- src/QEQ/fix_qeq_shielded.cpp | 8 + src/QEQ/fix_qeq_slater.cpp | 7 + 14 files changed, 1446 insertions(+), 272 deletions(-) create mode 100644 examples/qeq/buck.inc create mode 100644 examples/qeq/log.20Apr21.qeq.buck.g++.1 create mode 100644 examples/qeq/log.20Apr21.qeq.buck.g++.4 delete mode 100644 examples/qeq/log.27Nov18.qeq.buck.g++.1 delete mode 100644 examples/qeq/log.27Nov18.qeq.buck.g++.4 diff --git a/doc/src/fix_qeq.rst b/doc/src/fix_qeq.rst index c655076ce8..7ea79a89ce 100644 --- a/doc/src/fix_qeq.rst +++ b/doc/src/fix_qeq.rst @@ -34,13 +34,14 @@ Syntax * maxiter = maximum iterations to perform charge equilibration * qfile = a filename with QEq parameters or *coul/streitz* or *reax/c* * zero or more keyword/value pairs may be appended -* keyword = *alpha* or *qdamp* or *qstep* +* keyword = *alpha* or *qdamp* or *qstep* or *warn* .. parsed-literal:: *alpha* value = Slater type orbital exponent (qeq/slater only) *qdamp* value = damping factor for damped dynamics charge solver (qeq/dynamic and qeq/fire only) *qstep* value = time step size for damped dynamics charge solver (qeq/dynamic and qeq/fire only) + *warn* value = do (=yes) or do not (=no) print a warning when the maximum number of iterations is reached Examples """""""" @@ -101,8 +102,8 @@ The QEq method minimizes the electrostatic energy of the system (or equalizes the derivative of energy with respect to charge of all the atoms) by adjusting the partial charge on individual atoms based on interactions with their neighbors within *cutoff*\ . It requires a few -parameters, in *metal* units, for each atom type which provided in a -file specified by *qfile*\ . The file has the following format +parameters in the appropriate units for each atom type which are read +from a file specified by *qfile*\ . The file has the following format .. parsed-literal:: @@ -112,7 +113,7 @@ file specified by *qfile*\ . The file has the following format Ntype chi eta gamma zeta qcore There have to be parameters given for every atom type. Wildcard entries -are possible using the same syntax as elsewhere in LAMMPS +are possible using the same type range syntax as for "coeff" commands (i.e., n\*m, n\*, \*m, \*). Later entries will overwrite previous ones. Empty lines or any text following the pound sign (#) are ignored. Each line starts with the atom type followed by five parameters. @@ -126,6 +127,14 @@ entries per line are required. * *zeta* = Slater type orbital exponent defined by the :ref:`Streitz-Mintmire ` potential in reverse distance units * *qcore* = charge of the nucleus defined by the :ref:`Streitz-Mintmire potential ` potential in charge units +The fix qeq styles will print a warning if the charges are not +equilibrated within *tolerance* by *maxiter* steps, unless the +*warn* keyword is used with "no" as argument. This latter option +may be useful for testing and benchmarking purposes, as it allows +to use a fixed number of QEq iterations when *tolerance* is set +to a small enough value to alway reach the *maxiter* limit. Turning +off warnings will avoid the excessive output in that case. + The *qeq/point* style describes partial charges on atoms as point charges. Interaction between a pair of charged particles is 1/r, which is the simplest description of the interaction between charges. @@ -229,7 +238,7 @@ Related commands Default """"""" -none +warn yes ---------- diff --git a/examples/qeq/buck.inc b/examples/qeq/buck.inc new file mode 100644 index 0000000000..af3fe3dfb6 --- /dev/null +++ b/examples/qeq/buck.inc @@ -0,0 +1,22 @@ + +kspace_style pppm 1e-6 + +neighbor 1.0 bin +neigh_modify delay 0 every 1 check yes + +group type1 type 1 +compute charge1 type1 property/atom q +compute q1 type1 reduce ave c_charge1 +group type2 type 2 +compute charge2 type2 property/atom q +compute q2 type2 reduce ave c_charge2 +variable qtot equal count(type1)*c_q1+count(type2)*c_q2 +variable nqeq equal f_2 + +thermo_style custom step pe c_q1 c_q2 v_qtot v_nqeq +thermo 10 +thermo_modify format line "%4d %12.9g %12.8f %12.8f %16.12f %6.0f" + +timestep 0.0001 + +fix 1 all nve diff --git a/examples/qeq/in.qeq.buck b/examples/qeq/in.qeq.buck index 2258a9e2ae..4b74b44186 100644 --- a/examples/qeq/in.qeq.buck +++ b/examples/qeq/in.qeq.buck @@ -1,41 +1,68 @@ # This example demonstrates the use of various fix qeq variants with -# that defines and uses charges, in this case pair_style buck/coul/long +# a pair style using charges, in this case pair_style buck/coul/long units metal atom_style charge read_data data.aC -replicate 2 2 2 +#replicate 2 2 2 pair_style buck/coul/long 12.0 pair_coeff 2 2 1388.77 .3623188 175.0 pair_coeff 1 2 18003 .2052124 133.5381 pair_coeff 1 1 0 .1 0 -kspace_style ewald 1e-6 -neighbor 1.0 bin -neigh_modify delay 0 every 1 check yes +fix 2 all qeq/shielded 1 10 1.0e-20 10 param.qeq2 -group type1 type 1 -compute charge1 type1 property/atom q -compute q1 type1 reduce ave c_charge1 -group type2 type 2 -compute charge2 type2 property/atom q -compute q2 type2 reduce ave c_charge2 -variable qtot equal count(type1)*c_q1+count(type2)*c_q2 - -thermo_style custom step pe c_q1 c_q2 v_qtot -thermo 10 - -timestep 0.0001 +include buck.inc velocity all create 300.0 1281937 -fix 1 all nve +run 0 post no -#fix 2 all qeq/point 1 10 1.0e-6 100 param.qeq2 -#fix 2 all qeq/shielded 1 10 1.0e-6 100 param.qeq2 -#fix 2 all qeq/slater 1 10 1.0e-6 100 param.qeq2 -#fix 2 all qeq/dynamic 1 10 1.0e-4 100 param.qeq2 -fix 2 all qeq/fire 1 10 1.0e-4 100 param.qeq2 +write_restart qeq.restart -run 100 +clear + +print "Using fix qeq/point" +read_restart qeq.restart +fix 2 all qeq/point 1 10 1.0e-6 100 param.qeq2 +include buck.inc + +run 100 + +clear + +print "Using fix qeq/shielded" +read_restart qeq.restart +fix 2 all qeq/shielded 1 10 1.0e-6 100 param.qeq2 +include buck.inc + +run 100 + + +clear + +print "Using fix qeq/slater" +read_restart qeq.restart +fix 2 all qeq/shielded 1 10 1.0e-6 100 param.qeq2 +include buck.inc + +run 100 + +clear + +print "Using fix qeq/dynamic" +read_restart qeq.restart +fix 2 all qeq/dynamic 1 10 1.0e-3 100 param.qeq2 +include buck.inc + +run 100 + +clear + +print "Using fix qeq/fire" +read_restart qeq.restart +fix 2 all qeq/fire 1 10 1.0e-3 100 param.qeq2 +include buck.inc + +run 100 diff --git a/examples/qeq/log.20Apr21.qeq.buck.g++.1 b/examples/qeq/log.20Apr21.qeq.buck.g++.1 new file mode 100644 index 0000000000..d5b41867b1 --- /dev/null +++ b/examples/qeq/log.20Apr21.qeq.buck.g++.1 @@ -0,0 +1,650 @@ +LAMMPS (8 Apr 2021) + using 1 OpenMP thread(s) per MPI task +# This example demonstrates the use of various fix qeq variants with +# a pair style using charges, in this case pair_style buck/coul/long + +units metal +atom_style charge + +read_data data.aC +Reading data file ... + orthogonal box = (0.0000000 0.0000000 0.0000000) to (25.158320 25.158320 28.020256) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 1200 atoms + read_data CPU = 0.009 seconds +#replicate 2 2 2 + +pair_style buck/coul/long 12.0 +pair_coeff 2 2 1388.77 .3623188 175.0 +pair_coeff 1 2 18003 .2052124 133.5381 +pair_coeff 1 1 0 .1 0 + +fix 2 all qeq/shielded 1 10 1.0e-20 10 param.qeq2 + +include buck.inc + +kspace_style pppm 1e-6 + +neighbor 1.0 bin +neigh_modify delay 0 every 1 check yes + +group type1 type 1 +400 atoms in group type1 +compute charge1 type1 property/atom q +compute q1 type1 reduce ave c_charge1 +group type2 type 2 +800 atoms in group type2 +compute charge2 type2 property/atom q +compute q2 type2 reduce ave c_charge2 +variable qtot equal count(type1)*c_q1+count(type2)*c_q2 +variable nqeq equal f_2 + +thermo_style custom step pe c_q1 c_q2 v_qtot v_nqeq +thermo 10 +thermo_modify format line "%4d %12.9g %12.8f %12.8f %16.12f %6.0f" + +timestep 0.0001 + +fix 1 all nve + +velocity all create 300.0 1281937 +run 0 post no +PPPM initialization ... + using 12-bit tables for long-range coulomb (src/kspace.cpp:339) + G vector (1/distance) = 0.30705229 + grid = 48 48 54 + stencil order = 5 + estimated absolute RMS force accuracy = 1.8909403e-05 + estimated relative force accuracy = 1.3131854e-06 + using double precision FFTW3 + 3d grid and FFT values/proc = 184525 124416 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 13 + ghost atom cutoff = 13 + binsize = 6.5, bins = 4 4 5 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair buck/coul/long, perpetual, half/full from (2) + attributes: half, newton on + pair build: halffull/newton + stencil: none + bin: none + (2) fix qeq/shielded, perpetual + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard +WARNING: Fix qeq CG convergence failed (4.357840257025601e-19) after 10 iterations at step 0 (src/QEQ/fix_qeq.cpp:410) +WARNING: Fix qeq CG convergence failed (5.274094378414531e-18) after 10 iterations at step 0 (src/QEQ/fix_qeq.cpp:410) +Per MPI rank memory allocation (min/avg/max) = 38.75 | 38.75 | 38.75 Mbytes +Step PotEng c_q1 c_q2 v_qtot v_nqeq + 0 -2879.00327 0.76536977 -0.38268489 0.000000000000 10 +Loop time of 1.66893e-06 on 1 procs for 0 steps with 1200 atoms + + +write_restart qeq.restart +System init for write_restart ... +PPPM initialization ... + using 12-bit tables for long-range coulomb (src/kspace.cpp:339) + G vector (1/distance) = 0.27644401 + grid = 27 27 30 + stencil order = 5 + estimated absolute RMS force accuracy = 1.4502702e-05 + estimated relative force accuracy = 1.0071569e-06 + using double precision FFTW3 + 3d grid and FFT values/proc = 42772 21870 + +clear + using 1 OpenMP thread(s) per MPI task + +print "Using fix qeq/point" +Using fix qeq/point +read_restart qeq.restart +Reading restart file ... + restart file = 8 Apr 2021, LAMMPS = 8 Apr 2021 + restoring atom style charge from restart + orthogonal box = (0.0000000 0.0000000 0.0000000) to (25.158320 25.158320 28.020256) + 1 by 1 by 1 MPI processor grid + restoring pair style buck/coul/long from restart + 1200 atoms + read_restart CPU = 0.001 seconds +fix 2 all qeq/point 1 10 1.0e-6 100 param.qeq2 +include buck.inc + +kspace_style pppm 1e-6 + +neighbor 1.0 bin +neigh_modify delay 0 every 1 check yes + +group type1 type 1 +400 atoms in group type1 +compute charge1 type1 property/atom q +compute q1 type1 reduce ave c_charge1 +group type2 type 2 +800 atoms in group type2 +compute charge2 type2 property/atom q +compute q2 type2 reduce ave c_charge2 +variable qtot equal count(type1)*c_q1+count(type2)*c_q2 +variable nqeq equal f_2 + +thermo_style custom step pe c_q1 c_q2 v_qtot v_nqeq +thermo 10 +thermo_modify format line "%4d %12.9g %12.8f %12.8f %16.12f %6.0f" + +timestep 0.0001 + +fix 1 all nve + +run 100 +PPPM initialization ... + using 12-bit tables for long-range coulomb (src/kspace.cpp:339) + G vector (1/distance) = 0.27644401 + grid = 27 27 30 + stencil order = 5 + estimated absolute RMS force accuracy = 1.4502702e-05 + estimated relative force accuracy = 1.0071569e-06 + using double precision FFTW3 + 3d grid and FFT values/proc = 42772 21870 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 13 + ghost atom cutoff = 13 + binsize = 6.5, bins = 4 4 5 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair buck/coul/long, perpetual, half/full from (2) + attributes: half, newton on + pair build: halffull/newton + stencil: none + bin: none + (2) fix qeq/point, perpetual + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 24.69 | 24.69 | 24.69 Mbytes +Step PotEng c_q1 c_q2 v_qtot v_nqeq + 0 -3432.17988 0.85228288 -0.42614144 -0.000000000000 3 + 10 -3452.03328 0.85475605 -0.42737803 -0.000000000000 8 + 20 -3497.57515 0.85994936 -0.42997468 0.000000000000 8 + 30 -3568.22095 0.86767937 -0.43383969 0.000000000001 8 + 40 -3633.24956 0.87335551 -0.43667775 0.000000000000 8 + 50 -3700.10219 0.87805056 -0.43902528 0.000000000000 8 + 60 -3784.36769 0.88402303 -0.44201151 -0.000000000000 8 + 70 -3877.51378 0.89008950 -0.44504475 0.000000000000 8 + 80 -3965.29722 0.89431515 -0.44715757 -0.000000000001 8 + 90 -4048.36764 0.89698588 -0.44849294 0.000000000000 8 + 100 -4118.65809 0.89719102 -0.44859551 0.000000000000 8 +Loop time of 11.5935 on 1 procs for 100 steps with 1200 atoms + +Performance: 0.075 ns/day, 322.041 hours/ns, 8.626 timesteps/s +99.9% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 2.8257 | 2.8257 | 2.8257 | 0.0 | 24.37 +Kspace | 1.2136 | 1.2136 | 1.2136 | 0.0 | 10.47 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.015541 | 0.015541 | 0.015541 | 0.0 | 0.13 +Output | 0.0014489 | 0.0014489 | 0.0014489 | 0.0 | 0.01 +Modify | 7.5351 | 7.5351 | 7.5351 | 0.0 | 64.99 +Other | | 0.00206 | | | 0.02 + +Nlocal: 1200.00 ave 1200 max 1200 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 8100.00 ave 8100 max 8100 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 367600.0 ave 367600 max 367600 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +FullNghs: 735200.0 ave 735200 max 735200 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 735200 +Ave neighs/atom = 612.66667 +Neighbor list builds = 0 +Dangerous builds = 0 + +clear + using 1 OpenMP thread(s) per MPI task + +print "Using fix qeq/shielded" +Using fix qeq/shielded +read_restart qeq.restart +Reading restart file ... + restart file = 8 Apr 2021, LAMMPS = 8 Apr 2021 + restoring atom style charge from restart + orthogonal box = (0.0000000 0.0000000 0.0000000) to (25.158320 25.158320 28.020256) + 1 by 1 by 1 MPI processor grid + restoring pair style buck/coul/long from restart + 1200 atoms + read_restart CPU = 0.001 seconds +fix 2 all qeq/shielded 1 10 1.0e-6 100 param.qeq2 +include buck.inc + +kspace_style pppm 1e-6 + +neighbor 1.0 bin +neigh_modify delay 0 every 1 check yes + +group type1 type 1 +400 atoms in group type1 +compute charge1 type1 property/atom q +compute q1 type1 reduce ave c_charge1 +group type2 type 2 +800 atoms in group type2 +compute charge2 type2 property/atom q +compute q2 type2 reduce ave c_charge2 +variable qtot equal count(type1)*c_q1+count(type2)*c_q2 +variable nqeq equal f_2 + +thermo_style custom step pe c_q1 c_q2 v_qtot v_nqeq +thermo 10 +thermo_modify format line "%4d %12.9g %12.8f %12.8f %16.12f %6.0f" + +timestep 0.0001 + +fix 1 all nve + +run 100 +PPPM initialization ... + using 12-bit tables for long-range coulomb (src/kspace.cpp:339) + G vector (1/distance) = 0.27644401 + grid = 27 27 30 + stencil order = 5 + estimated absolute RMS force accuracy = 1.4502702e-05 + estimated relative force accuracy = 1.0071569e-06 + using double precision FFTW3 + 3d grid and FFT values/proc = 42772 21870 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 13 + ghost atom cutoff = 13 + binsize = 6.5, bins = 4 4 5 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair buck/coul/long, perpetual, half/full from (2) + attributes: half, newton on + pair build: halffull/newton + stencil: none + bin: none + (2) fix qeq/shielded, perpetual + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 24.69 | 24.69 | 24.69 Mbytes +Step PotEng c_q1 c_q2 v_qtot v_nqeq + 0 -2879.00309 0.76536977 -0.38268489 -0.000000000000 3 + 10 -2882.50998 0.76536972 -0.38268486 0.000000000000 2 + 20 -2893.89472 0.76536950 -0.38268475 0.000000000000 2 + 30 -2913.6181 0.76536875 -0.38268438 0.000000000001 1 + 40 -2942.24129 0.76536939 -0.38268470 -0.000000000001 1 + 50 -2980.18817 0.76536780 -0.38268390 0.000000000000 2 + 60 -3027.60957 0.76536804 -0.38268402 0.000000000000 2 + 70 -3084.12552 0.76536573 -0.38268287 0.000000000000 2 + 80 -3148.8697 0.76536550 -0.38268275 0.000000000001 1 + 90 -3220.43086 0.76536380 -0.38268190 0.000000000000 2 + 100 -3297.0618 0.76536251 -0.38268126 0.000000000000 2 +Loop time of 7.93936 on 1 procs for 100 steps with 1200 atoms + +Performance: 0.109 ns/day, 220.538 hours/ns, 12.595 timesteps/s +99.9% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 2.8061 | 2.8061 | 2.8061 | 0.0 | 35.34 +Kspace | 1.2176 | 1.2176 | 1.2176 | 0.0 | 15.34 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.015528 | 0.015528 | 0.015528 | 0.0 | 0.20 +Output | 0.0014365 | 0.0014365 | 0.0014365 | 0.0 | 0.02 +Modify | 3.8966 | 3.8966 | 3.8966 | 0.0 | 49.08 +Other | | 0.002076 | | | 0.03 + +Nlocal: 1200.00 ave 1200 max 1200 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 8100.00 ave 8100 max 8100 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 367600.0 ave 367600 max 367600 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +FullNghs: 735200.0 ave 735200 max 735200 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 735200 +Ave neighs/atom = 612.66667 +Neighbor list builds = 0 +Dangerous builds = 0 + + +clear + using 1 OpenMP thread(s) per MPI task + +print "Using fix qeq/slater" +Using fix qeq/slater +read_restart qeq.restart +Reading restart file ... + restart file = 8 Apr 2021, LAMMPS = 8 Apr 2021 + restoring atom style charge from restart + orthogonal box = (0.0000000 0.0000000 0.0000000) to (25.158320 25.158320 28.020256) + 1 by 1 by 1 MPI processor grid + restoring pair style buck/coul/long from restart + 1200 atoms + read_restart CPU = 0.001 seconds +fix 2 all qeq/shielded 1 10 1.0e-6 100 param.qeq2 +include buck.inc + +kspace_style pppm 1e-6 + +neighbor 1.0 bin +neigh_modify delay 0 every 1 check yes + +group type1 type 1 +400 atoms in group type1 +compute charge1 type1 property/atom q +compute q1 type1 reduce ave c_charge1 +group type2 type 2 +800 atoms in group type2 +compute charge2 type2 property/atom q +compute q2 type2 reduce ave c_charge2 +variable qtot equal count(type1)*c_q1+count(type2)*c_q2 +variable nqeq equal f_2 + +thermo_style custom step pe c_q1 c_q2 v_qtot v_nqeq +thermo 10 +thermo_modify format line "%4d %12.9g %12.8f %12.8f %16.12f %6.0f" + +timestep 0.0001 + +fix 1 all nve + +run 100 +PPPM initialization ... + using 12-bit tables for long-range coulomb (src/kspace.cpp:339) + G vector (1/distance) = 0.27644401 + grid = 27 27 30 + stencil order = 5 + estimated absolute RMS force accuracy = 1.4502702e-05 + estimated relative force accuracy = 1.0071569e-06 + using double precision FFTW3 + 3d grid and FFT values/proc = 42772 21870 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 13 + ghost atom cutoff = 13 + binsize = 6.5, bins = 4 4 5 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair buck/coul/long, perpetual, half/full from (2) + attributes: half, newton on + pair build: halffull/newton + stencil: none + bin: none + (2) fix qeq/shielded, perpetual + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 24.69 | 24.69 | 24.69 Mbytes +Step PotEng c_q1 c_q2 v_qtot v_nqeq + 0 -2879.00309 0.76536977 -0.38268489 -0.000000000000 3 + 10 -2882.50998 0.76536972 -0.38268486 0.000000000000 2 + 20 -2893.89472 0.76536950 -0.38268475 0.000000000000 2 + 30 -2913.6181 0.76536875 -0.38268438 0.000000000001 1 + 40 -2942.24129 0.76536939 -0.38268470 -0.000000000001 1 + 50 -2980.18817 0.76536780 -0.38268390 0.000000000000 2 + 60 -3027.60957 0.76536804 -0.38268402 0.000000000000 2 + 70 -3084.12552 0.76536573 -0.38268287 0.000000000000 2 + 80 -3148.8697 0.76536550 -0.38268275 0.000000000001 1 + 90 -3220.43086 0.76536380 -0.38268190 0.000000000000 2 + 100 -3297.0618 0.76536251 -0.38268126 0.000000000000 2 +Loop time of 7.9652 on 1 procs for 100 steps with 1200 atoms + +Performance: 0.108 ns/day, 221.256 hours/ns, 12.555 timesteps/s +99.9% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 2.809 | 2.809 | 2.809 | 0.0 | 35.27 +Kspace | 1.2214 | 1.2214 | 1.2214 | 0.0 | 15.33 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.015635 | 0.015635 | 0.015635 | 0.0 | 0.20 +Output | 0.0014393 | 0.0014393 | 0.0014393 | 0.0 | 0.02 +Modify | 3.9157 | 3.9157 | 3.9157 | 0.0 | 49.16 +Other | | 0.002091 | | | 0.03 + +Nlocal: 1200.00 ave 1200 max 1200 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 8100.00 ave 8100 max 8100 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 367600.0 ave 367600 max 367600 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +FullNghs: 735200.0 ave 735200 max 735200 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 735200 +Ave neighs/atom = 612.66667 +Neighbor list builds = 0 +Dangerous builds = 0 + +clear + using 1 OpenMP thread(s) per MPI task + +print "Using fix qeq/dynamic" +Using fix qeq/dynamic +read_restart qeq.restart +Reading restart file ... + restart file = 8 Apr 2021, LAMMPS = 8 Apr 2021 + restoring atom style charge from restart + orthogonal box = (0.0000000 0.0000000 0.0000000) to (25.158320 25.158320 28.020256) + 1 by 1 by 1 MPI processor grid + restoring pair style buck/coul/long from restart + 1200 atoms + read_restart CPU = 0.001 seconds +fix 2 all qeq/dynamic 1 10 1.0e-3 100 param.qeq2 +include buck.inc + +kspace_style pppm 1e-6 + +neighbor 1.0 bin +neigh_modify delay 0 every 1 check yes + +group type1 type 1 +400 atoms in group type1 +compute charge1 type1 property/atom q +compute q1 type1 reduce ave c_charge1 +group type2 type 2 +800 atoms in group type2 +compute charge2 type2 property/atom q +compute q2 type2 reduce ave c_charge2 +variable qtot equal count(type1)*c_q1+count(type2)*c_q2 +variable nqeq equal f_2 + +thermo_style custom step pe c_q1 c_q2 v_qtot v_nqeq +thermo 10 +thermo_modify format line "%4d %12.9g %12.8f %12.8f %16.12f %6.0f" + +timestep 0.0001 + +fix 1 all nve + +run 100 +PPPM initialization ... + using 12-bit tables for long-range coulomb (src/kspace.cpp:339) + G vector (1/distance) = 0.27644401 + grid = 27 27 30 + stencil order = 5 + estimated absolute RMS force accuracy = 1.4502702e-05 + estimated relative force accuracy = 1.0071569e-06 + using double precision FFTW3 + 3d grid and FFT values/proc = 42772 21870 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 13 + ghost atom cutoff = 13 + binsize = 6.5, bins = 4 4 5 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair buck/coul/long, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard + (2) fix qeq/dynamic, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none +Per MPI rank memory allocation (min/avg/max) = 17.87 | 17.87 | 17.87 Mbytes +Step PotEng c_q1 c_q2 v_qtot v_nqeq + 0 -3432.38094 0.85231286 -0.42615643 0.000000000001 43 + 10 -3452.05217 0.85475894 -0.42737947 -0.000000000001 17 + 20 -3497.8643 0.85999180 -0.42999590 -0.000000000007 22 + 30 -3568.53169 0.86772479 -0.43386239 -0.000000000006 22 + 40 -3633.43753 0.87338291 -0.43669146 -0.000000000006 22 + 50 -3700.27953 0.87807632 -0.43903816 -0.000000000005 22 + 60 -3784.4004 0.88402822 -0.44201411 0.000000000002 17 + 70 -3877.73706 0.89012201 -0.44506100 0.000000000002 22 + 80 -3965.36111 0.89432486 -0.44716243 0.000000000008 17 + 90 -4048.57901 0.89701688 -0.44850844 -0.000000000004 22 + 100 -4118.62736 0.89718691 -0.44859346 -0.000000000026 17 +Loop time of 18.5333 on 1 procs for 100 steps with 1200 atoms + +Performance: 0.047 ns/day, 514.815 hours/ns, 5.396 timesteps/s +99.9% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 2.8268 | 2.8268 | 2.8268 | 0.0 | 15.25 +Kspace | 1.2138 | 1.2138 | 1.2138 | 0.0 | 6.55 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.015407 | 0.015407 | 0.015407 | 0.0 | 0.08 +Output | 0.0014303 | 0.0014303 | 0.0014303 | 0.0 | 0.01 +Modify | 14.474 | 14.474 | 14.474 | 0.0 | 78.10 +Other | | 0.001973 | | | 0.01 + +Nlocal: 1200.00 ave 1200 max 1200 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 8100.00 ave 8100 max 8100 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 367600.0 ave 367600 max 367600 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 367600 +Ave neighs/atom = 306.33333 +Neighbor list builds = 0 +Dangerous builds = 0 + +clear + using 1 OpenMP thread(s) per MPI task + +print "Using fix qeq/fire" +Using fix qeq/fire +read_restart qeq.restart +Reading restart file ... + restart file = 8 Apr 2021, LAMMPS = 8 Apr 2021 + restoring atom style charge from restart + orthogonal box = (0.0000000 0.0000000 0.0000000) to (25.158320 25.158320 28.020256) + 1 by 1 by 1 MPI processor grid + restoring pair style buck/coul/long from restart + 1200 atoms + read_restart CPU = 0.001 seconds +fix 2 all qeq/fire 1 10 1.0e-3 100 param.qeq2 +include buck.inc + +kspace_style pppm 1e-6 + +neighbor 1.0 bin +neigh_modify delay 0 every 1 check yes + +group type1 type 1 +400 atoms in group type1 +compute charge1 type1 property/atom q +compute q1 type1 reduce ave c_charge1 +group type2 type 2 +800 atoms in group type2 +compute charge2 type2 property/atom q +compute q2 type2 reduce ave c_charge2 +variable qtot equal count(type1)*c_q1+count(type2)*c_q2 +variable nqeq equal f_2 + +thermo_style custom step pe c_q1 c_q2 v_qtot v_nqeq +thermo 10 +thermo_modify format line "%4d %12.9g %12.8f %12.8f %16.12f %6.0f" + +timestep 0.0001 + +fix 1 all nve + +run 100 +PPPM initialization ... + using 12-bit tables for long-range coulomb (src/kspace.cpp:339) + G vector (1/distance) = 0.27644401 + grid = 27 27 30 + stencil order = 5 + estimated absolute RMS force accuracy = 1.4502702e-05 + estimated relative force accuracy = 1.0071569e-06 + using double precision FFTW3 + 3d grid and FFT values/proc = 42772 21870 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 13 + ghost atom cutoff = 13 + binsize = 6.5, bins = 4 4 5 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair buck/coul/long, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard + (2) fix qeq/fire, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none +Per MPI rank memory allocation (min/avg/max) = 17.87 | 17.87 | 17.87 Mbytes +Step PotEng c_q1 c_q2 v_qtot v_nqeq + 0 -3432.06113 0.85226679 -0.42613339 0.000000000004 37 + 10 -3452.0494 0.85475813 -0.42737906 0.000000000001 10 + 20 -3497.83503 0.85998739 -0.42999370 0.000000000003 13 + 30 -3568.47507 0.86771599 -0.43385799 0.000000000004 13 + 40 -3633.35368 0.87337029 -0.43668514 0.000000000004 13 + 50 -3700.15601 0.87805847 -0.43902924 0.000000000005 13 + 60 -3784.32042 0.88401635 -0.44200818 0.000000000000 11 + 70 -3877.59818 0.89010162 -0.44505081 0.000000000000 13 + 80 -3965.28426 0.89431356 -0.44715678 0.000000000000 11 + 90 -4048.3338 0.89698069 -0.44849034 0.000000000001 13 + 100 -4118.63638 0.89718818 -0.44859409 0.000000000003 12 +Loop time of 13.0492 on 1 procs for 100 steps with 1200 atoms + +Performance: 0.066 ns/day, 362.479 hours/ns, 7.663 timesteps/s +99.9% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 2.7996 | 2.7996 | 2.7996 | 0.0 | 21.45 +Kspace | 1.2141 | 1.2141 | 1.2141 | 0.0 | 9.30 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.015527 | 0.015527 | 0.015527 | 0.0 | 0.12 +Output | 0.0014405 | 0.0014405 | 0.0014405 | 0.0 | 0.01 +Modify | 9.0166 | 9.0166 | 9.0166 | 0.0 | 69.10 +Other | | 0.001981 | | | 0.02 + +Nlocal: 1200.00 ave 1200 max 1200 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 8100.00 ave 8100 max 8100 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 367600.0 ave 367600 max 367600 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 367600 +Ave neighs/atom = 306.33333 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:01:00 diff --git a/examples/qeq/log.20Apr21.qeq.buck.g++.4 b/examples/qeq/log.20Apr21.qeq.buck.g++.4 new file mode 100644 index 0000000000..cafa94bae9 --- /dev/null +++ b/examples/qeq/log.20Apr21.qeq.buck.g++.4 @@ -0,0 +1,650 @@ +LAMMPS (8 Apr 2021) + using 1 OpenMP thread(s) per MPI task +# This example demonstrates the use of various fix qeq variants with +# a pair style using charges, in this case pair_style buck/coul/long + +units metal +atom_style charge + +read_data data.aC +Reading data file ... + orthogonal box = (0.0000000 0.0000000 0.0000000) to (25.158320 25.158320 28.020256) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 1200 atoms + read_data CPU = 0.009 seconds +#replicate 2 2 2 + +pair_style buck/coul/long 12.0 +pair_coeff 2 2 1388.77 .3623188 175.0 +pair_coeff 1 2 18003 .2052124 133.5381 +pair_coeff 1 1 0 .1 0 + +fix 2 all qeq/shielded 1 10 1.0e-20 10 param.qeq2 + +include buck.inc + +kspace_style pppm 1e-6 + +neighbor 1.0 bin +neigh_modify delay 0 every 1 check yes + +group type1 type 1 +400 atoms in group type1 +compute charge1 type1 property/atom q +compute q1 type1 reduce ave c_charge1 +group type2 type 2 +800 atoms in group type2 +compute charge2 type2 property/atom q +compute q2 type2 reduce ave c_charge2 +variable qtot equal count(type1)*c_q1+count(type2)*c_q2 +variable nqeq equal f_2 + +thermo_style custom step pe c_q1 c_q2 v_qtot v_nqeq +thermo 10 +thermo_modify format line "%4d %12.9g %12.8f %12.8f %16.12f %6.0f" + +timestep 0.0001 + +fix 1 all nve + +velocity all create 300.0 1281937 +run 0 post no +PPPM initialization ... + using 12-bit tables for long-range coulomb (src/kspace.cpp:339) + G vector (1/distance) = 0.30705229 + grid = 48 48 54 + stencil order = 5 + estimated absolute RMS force accuracy = 1.8909403e-05 + estimated relative force accuracy = 1.3131854e-06 + using double precision FFTW3 + 3d grid and FFT values/proc = 57970 32256 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 13 + ghost atom cutoff = 13 + binsize = 6.5, bins = 4 4 5 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair buck/coul/long, perpetual, half/full from (2) + attributes: half, newton on + pair build: halffull/newton + stencil: none + bin: none + (2) fix qeq/shielded, perpetual + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard +WARNING: Fix qeq CG convergence failed (4.299911728887494e-19) after 10 iterations at step 0 (src/QEQ/fix_qeq.cpp:410) +WARNING: Fix qeq CG convergence failed (5.273380778822746e-18) after 10 iterations at step 0 (src/QEQ/fix_qeq.cpp:410) +Per MPI rank memory allocation (min/avg/max) = 14.97 | 15.02 | 15.08 Mbytes +Step PotEng c_q1 c_q2 v_qtot v_nqeq + 0 -2879.00327 0.76536977 -0.38268489 0.000000000000 10 +Loop time of 3.33786e-06 on 4 procs for 0 steps with 1200 atoms + + +write_restart qeq.restart +System init for write_restart ... +PPPM initialization ... + using 12-bit tables for long-range coulomb (src/kspace.cpp:339) + G vector (1/distance) = 0.27644401 + grid = 27 27 30 + stencil order = 5 + estimated absolute RMS force accuracy = 1.4502702e-05 + estimated relative force accuracy = 1.0071569e-06 + using double precision FFTW3 + 3d grid and FFT values/proc = 14960 5832 + +clear + using 1 OpenMP thread(s) per MPI task + +print "Using fix qeq/point" +Using fix qeq/point +read_restart qeq.restart +Reading restart file ... + restart file = 8 Apr 2021, LAMMPS = 8 Apr 2021 + restoring atom style charge from restart + orthogonal box = (0.0000000 0.0000000 0.0000000) to (25.158320 25.158320 28.020256) + 1 by 2 by 2 MPI processor grid + restoring pair style buck/coul/long from restart + 1200 atoms + read_restart CPU = 0.001 seconds +fix 2 all qeq/point 1 10 1.0e-6 100 param.qeq2 +include buck.inc + +kspace_style pppm 1e-6 + +neighbor 1.0 bin +neigh_modify delay 0 every 1 check yes + +group type1 type 1 +400 atoms in group type1 +compute charge1 type1 property/atom q +compute q1 type1 reduce ave c_charge1 +group type2 type 2 +800 atoms in group type2 +compute charge2 type2 property/atom q +compute q2 type2 reduce ave c_charge2 +variable qtot equal count(type1)*c_q1+count(type2)*c_q2 +variable nqeq equal f_2 + +thermo_style custom step pe c_q1 c_q2 v_qtot v_nqeq +thermo 10 +thermo_modify format line "%4d %12.9g %12.8f %12.8f %16.12f %6.0f" + +timestep 0.0001 + +fix 1 all nve + +run 100 +PPPM initialization ... + using 12-bit tables for long-range coulomb (src/kspace.cpp:339) + G vector (1/distance) = 0.27644401 + grid = 27 27 30 + stencil order = 5 + estimated absolute RMS force accuracy = 1.4502702e-05 + estimated relative force accuracy = 1.0071569e-06 + using double precision FFTW3 + 3d grid and FFT values/proc = 14960 5832 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 13 + ghost atom cutoff = 13 + binsize = 6.5, bins = 4 4 5 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair buck/coul/long, perpetual, half/full from (2) + attributes: half, newton on + pair build: halffull/newton + stencil: none + bin: none + (2) fix qeq/point, perpetual + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 11.10 | 11.14 | 11.16 Mbytes +Step PotEng c_q1 c_q2 v_qtot v_nqeq + 0 -3432.17988 0.85228288 -0.42614144 -0.000000000000 3 + 10 -3452.03328 0.85475605 -0.42737803 -0.000000000000 8 + 20 -3497.57515 0.85994936 -0.42997468 0.000000000000 8 + 30 -3568.22095 0.86767937 -0.43383969 0.000000000000 8 + 40 -3633.24956 0.87335551 -0.43667775 -0.000000000000 8 + 50 -3700.10219 0.87805056 -0.43902528 0.000000000000 8 + 60 -3784.36769 0.88402303 -0.44201151 0.000000000000 8 + 70 -3877.51378 0.89008950 -0.44504475 0.000000000000 8 + 80 -3965.29722 0.89431515 -0.44715757 0.000000000000 8 + 90 -4048.36764 0.89698588 -0.44849294 -0.000000000000 8 + 100 -4118.65809 0.89719102 -0.44859551 0.000000000000 8 +Loop time of 3.30911 on 4 procs for 100 steps with 1200 atoms + +Performance: 0.261 ns/day, 91.920 hours/ns, 30.220 timesteps/s +99.0% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.67613 | 0.68904 | 0.71562 | 1.9 | 20.82 +Kspace | 0.36056 | 0.3881 | 0.39892 | 2.6 | 11.73 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.013339 | 0.017982 | 0.019974 | 2.0 | 0.54 +Output | 0.0006721 | 0.00099713 | 0.0019572 | 0.0 | 0.03 +Modify | 2.2109 | 2.211 | 2.211 | 0.0 | 66.81 +Other | | 0.002041 | | | 0.06 + +Nlocal: 300.000 ave 300 max 300 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Nghost: 4875.00 ave 4880 max 4870 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Neighs: 91900.0 ave 91900 max 91900 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +FullNghs: 183800.0 ave 183800 max 183800 min +Histogram: 4 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 735200 +Ave neighs/atom = 612.66667 +Neighbor list builds = 0 +Dangerous builds = 0 + +clear + using 1 OpenMP thread(s) per MPI task + +print "Using fix qeq/shielded" +Using fix qeq/shielded +read_restart qeq.restart +Reading restart file ... + restart file = 8 Apr 2021, LAMMPS = 8 Apr 2021 + restoring atom style charge from restart + orthogonal box = (0.0000000 0.0000000 0.0000000) to (25.158320 25.158320 28.020256) + 1 by 2 by 2 MPI processor grid + restoring pair style buck/coul/long from restart + 1200 atoms + read_restart CPU = 0.006 seconds +fix 2 all qeq/shielded 1 10 1.0e-6 100 param.qeq2 +include buck.inc + +kspace_style pppm 1e-6 + +neighbor 1.0 bin +neigh_modify delay 0 every 1 check yes + +group type1 type 1 +400 atoms in group type1 +compute charge1 type1 property/atom q +compute q1 type1 reduce ave c_charge1 +group type2 type 2 +800 atoms in group type2 +compute charge2 type2 property/atom q +compute q2 type2 reduce ave c_charge2 +variable qtot equal count(type1)*c_q1+count(type2)*c_q2 +variable nqeq equal f_2 + +thermo_style custom step pe c_q1 c_q2 v_qtot v_nqeq +thermo 10 +thermo_modify format line "%4d %12.9g %12.8f %12.8f %16.12f %6.0f" + +timestep 0.0001 + +fix 1 all nve + +run 100 +PPPM initialization ... + using 12-bit tables for long-range coulomb (src/kspace.cpp:339) + G vector (1/distance) = 0.27644401 + grid = 27 27 30 + stencil order = 5 + estimated absolute RMS force accuracy = 1.4502702e-05 + estimated relative force accuracy = 1.0071569e-06 + using double precision FFTW3 + 3d grid and FFT values/proc = 14960 5832 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 13 + ghost atom cutoff = 13 + binsize = 6.5, bins = 4 4 5 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair buck/coul/long, perpetual, half/full from (2) + attributes: half, newton on + pair build: halffull/newton + stencil: none + bin: none + (2) fix qeq/shielded, perpetual + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 11.10 | 11.14 | 11.16 Mbytes +Step PotEng c_q1 c_q2 v_qtot v_nqeq + 0 -2879.00309 0.76536977 -0.38268489 0.000000000000 3 + 10 -2882.50998 0.76536972 -0.38268486 0.000000000000 2 + 20 -2893.89472 0.76536950 -0.38268475 -0.000000000000 2 + 30 -2913.6181 0.76536875 -0.38268438 -0.000000000000 1 + 40 -2942.24129 0.76536939 -0.38268470 0.000000000000 1 + 50 -2980.18817 0.76536780 -0.38268390 0.000000000000 2 + 60 -3027.60957 0.76536804 -0.38268402 -0.000000000000 2 + 70 -3084.12552 0.76536573 -0.38268287 0.000000000000 2 + 80 -3148.8697 0.76536550 -0.38268275 0.000000000000 1 + 90 -3220.43086 0.76536380 -0.38268190 0.000000000000 2 + 100 -3297.0618 0.76536251 -0.38268126 0.000000000000 2 +Loop time of 2.25559 on 4 procs for 100 steps with 1200 atoms + +Performance: 0.383 ns/day, 62.655 hours/ns, 44.334 timesteps/s +97.9% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.67442 | 0.69181 | 0.70907 | 2.0 | 30.67 +Kspace | 0.39381 | 0.41151 | 0.43023 | 2.6 | 18.24 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.012851 | 0.01426 | 0.015146 | 0.7 | 0.63 +Output | 0.00066686 | 0.00098681 | 0.0019395 | 0.0 | 0.04 +Modify | 1.1349 | 1.135 | 1.135 | 0.0 | 50.32 +Other | | 0.002035 | | | 0.09 + +Nlocal: 300.000 ave 300 max 300 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Nghost: 4875.00 ave 4880 max 4870 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Neighs: 91900.0 ave 91900 max 91900 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +FullNghs: 183800.0 ave 183800 max 183800 min +Histogram: 4 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 735200 +Ave neighs/atom = 612.66667 +Neighbor list builds = 0 +Dangerous builds = 0 + + +clear + using 1 OpenMP thread(s) per MPI task + +print "Using fix qeq/slater" +Using fix qeq/slater +read_restart qeq.restart +Reading restart file ... + restart file = 8 Apr 2021, LAMMPS = 8 Apr 2021 + restoring atom style charge from restart + orthogonal box = (0.0000000 0.0000000 0.0000000) to (25.158320 25.158320 28.020256) + 1 by 2 by 2 MPI processor grid + restoring pair style buck/coul/long from restart + 1200 atoms + read_restart CPU = 0.012 seconds +fix 2 all qeq/shielded 1 10 1.0e-6 100 param.qeq2 +include buck.inc + +kspace_style pppm 1e-6 + +neighbor 1.0 bin +neigh_modify delay 0 every 1 check yes + +group type1 type 1 +400 atoms in group type1 +compute charge1 type1 property/atom q +compute q1 type1 reduce ave c_charge1 +group type2 type 2 +800 atoms in group type2 +compute charge2 type2 property/atom q +compute q2 type2 reduce ave c_charge2 +variable qtot equal count(type1)*c_q1+count(type2)*c_q2 +variable nqeq equal f_2 + +thermo_style custom step pe c_q1 c_q2 v_qtot v_nqeq +thermo 10 +thermo_modify format line "%4d %12.9g %12.8f %12.8f %16.12f %6.0f" + +timestep 0.0001 + +fix 1 all nve + +run 100 +PPPM initialization ... + using 12-bit tables for long-range coulomb (src/kspace.cpp:339) + G vector (1/distance) = 0.27644401 + grid = 27 27 30 + stencil order = 5 + estimated absolute RMS force accuracy = 1.4502702e-05 + estimated relative force accuracy = 1.0071569e-06 + using double precision FFTW3 + 3d grid and FFT values/proc = 14960 5832 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 13 + ghost atom cutoff = 13 + binsize = 6.5, bins = 4 4 5 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair buck/coul/long, perpetual, half/full from (2) + attributes: half, newton on + pair build: halffull/newton + stencil: none + bin: none + (2) fix qeq/shielded, perpetual + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 11.10 | 11.14 | 11.16 Mbytes +Step PotEng c_q1 c_q2 v_qtot v_nqeq + 0 -2879.00309 0.76536977 -0.38268489 0.000000000000 3 + 10 -2882.50998 0.76536972 -0.38268486 0.000000000000 2 + 20 -2893.89472 0.76536950 -0.38268475 -0.000000000000 2 + 30 -2913.6181 0.76536875 -0.38268438 -0.000000000000 1 + 40 -2942.24129 0.76536939 -0.38268470 0.000000000000 1 + 50 -2980.18817 0.76536780 -0.38268390 0.000000000000 2 + 60 -3027.60957 0.76536804 -0.38268402 -0.000000000000 2 + 70 -3084.12552 0.76536573 -0.38268287 0.000000000000 2 + 80 -3148.8697 0.76536550 -0.38268275 0.000000000000 1 + 90 -3220.43086 0.76536380 -0.38268190 0.000000000000 2 + 100 -3297.0618 0.76536251 -0.38268126 0.000000000000 2 +Loop time of 2.39249 on 4 procs for 100 steps with 1200 atoms + +Performance: 0.361 ns/day, 66.458 hours/ns, 41.797 timesteps/s +96.0% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.6751 | 0.70301 | 0.71919 | 2.1 | 29.38 +Kspace | 0.45569 | 0.47315 | 0.49885 | 2.6 | 19.78 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.012967 | 0.018681 | 0.020909 | 2.4 | 0.78 +Output | 0.00066733 | 0.00099397 | 0.0019579 | 0.0 | 0.04 +Modify | 1.1945 | 1.1946 | 1.1947 | 0.0 | 49.93 +Other | | 0.002046 | | | 0.09 + +Nlocal: 300.000 ave 300 max 300 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Nghost: 4875.00 ave 4880 max 4870 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Neighs: 91900.0 ave 91900 max 91900 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +FullNghs: 183800.0 ave 183800 max 183800 min +Histogram: 4 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 735200 +Ave neighs/atom = 612.66667 +Neighbor list builds = 0 +Dangerous builds = 0 + +clear + using 1 OpenMP thread(s) per MPI task + +print "Using fix qeq/dynamic" +Using fix qeq/dynamic +read_restart qeq.restart +Reading restart file ... + restart file = 8 Apr 2021, LAMMPS = 8 Apr 2021 + restoring atom style charge from restart + orthogonal box = (0.0000000 0.0000000 0.0000000) to (25.158320 25.158320 28.020256) + 1 by 2 by 2 MPI processor grid + restoring pair style buck/coul/long from restart + 1200 atoms + read_restart CPU = 0.002 seconds +fix 2 all qeq/dynamic 1 10 1.0e-3 100 param.qeq2 +include buck.inc + +kspace_style pppm 1e-6 + +neighbor 1.0 bin +neigh_modify delay 0 every 1 check yes + +group type1 type 1 +400 atoms in group type1 +compute charge1 type1 property/atom q +compute q1 type1 reduce ave c_charge1 +group type2 type 2 +800 atoms in group type2 +compute charge2 type2 property/atom q +compute q2 type2 reduce ave c_charge2 +variable qtot equal count(type1)*c_q1+count(type2)*c_q2 +variable nqeq equal f_2 + +thermo_style custom step pe c_q1 c_q2 v_qtot v_nqeq +thermo 10 +thermo_modify format line "%4d %12.9g %12.8f %12.8f %16.12f %6.0f" + +timestep 0.0001 + +fix 1 all nve + +run 100 +PPPM initialization ... + using 12-bit tables for long-range coulomb (src/kspace.cpp:339) + G vector (1/distance) = 0.27644401 + grid = 27 27 30 + stencil order = 5 + estimated absolute RMS force accuracy = 1.4502702e-05 + estimated relative force accuracy = 1.0071569e-06 + using double precision FFTW3 + 3d grid and FFT values/proc = 14960 5832 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 13 + ghost atom cutoff = 13 + binsize = 6.5, bins = 4 4 5 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair buck/coul/long, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard + (2) fix qeq/dynamic, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none +Per MPI rank memory allocation (min/avg/max) = 9.195 | 9.246 | 9.278 Mbytes +Step PotEng c_q1 c_q2 v_qtot v_nqeq + 0 -3432.38094 0.85231286 -0.42615643 -0.000000000001 43 + 10 -3452.05217 0.85475894 -0.42737947 -0.000000000003 17 + 20 -3497.8643 0.85999180 -0.42999590 0.000000000000 22 + 30 -3568.53169 0.86772479 -0.43386239 -0.000000000000 22 + 40 -3633.43753 0.87338291 -0.43669146 0.000000000006 22 + 50 -3700.27953 0.87807632 -0.43903816 0.000000000003 22 + 60 -3784.4004 0.88402822 -0.44201411 0.000000000009 17 + 70 -3877.73706 0.89012201 -0.44506100 0.000000000010 22 + 80 -3965.36111 0.89432486 -0.44716243 0.000000000011 17 + 90 -4048.57901 0.89701688 -0.44850844 0.000000000012 22 + 100 -4118.62736 0.89718691 -0.44859346 0.000000000013 17 +Loop time of 5.27704 on 4 procs for 100 steps with 1200 atoms + +Performance: 0.164 ns/day, 146.584 hours/ns, 18.950 timesteps/s +98.5% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.68437 | 0.69096 | 0.69826 | 0.7 | 13.09 +Kspace | 0.38484 | 0.38941 | 0.39524 | 0.7 | 7.38 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.012609 | 0.01529 | 0.016842 | 1.3 | 0.29 +Output | 0.00067735 | 0.0010006 | 0.0019588 | 1.7 | 0.02 +Modify | 4.1783 | 4.1783 | 4.1784 | 0.0 | 79.18 +Other | | 0.002027 | | | 0.04 + +Nlocal: 300.000 ave 300 max 300 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Nghost: 4875.00 ave 4880 max 4870 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Neighs: 91900.0 ave 93081 max 90719 min +Histogram: 2 0 0 0 0 0 0 0 0 2 + +Total # of neighbors = 367600 +Ave neighs/atom = 306.33333 +Neighbor list builds = 0 +Dangerous builds = 0 + +clear + using 1 OpenMP thread(s) per MPI task + +print "Using fix qeq/fire" +Using fix qeq/fire +read_restart qeq.restart +Reading restart file ... + restart file = 8 Apr 2021, LAMMPS = 8 Apr 2021 + restoring atom style charge from restart + orthogonal box = (0.0000000 0.0000000 0.0000000) to (25.158320 25.158320 28.020256) + 1 by 2 by 2 MPI processor grid + restoring pair style buck/coul/long from restart + 1200 atoms + read_restart CPU = 0.001 seconds +fix 2 all qeq/fire 1 10 1.0e-3 100 param.qeq2 +include buck.inc + +kspace_style pppm 1e-6 + +neighbor 1.0 bin +neigh_modify delay 0 every 1 check yes + +group type1 type 1 +400 atoms in group type1 +compute charge1 type1 property/atom q +compute q1 type1 reduce ave c_charge1 +group type2 type 2 +800 atoms in group type2 +compute charge2 type2 property/atom q +compute q2 type2 reduce ave c_charge2 +variable qtot equal count(type1)*c_q1+count(type2)*c_q2 +variable nqeq equal f_2 + +thermo_style custom step pe c_q1 c_q2 v_qtot v_nqeq +thermo 10 +thermo_modify format line "%4d %12.9g %12.8f %12.8f %16.12f %6.0f" + +timestep 0.0001 + +fix 1 all nve + +run 100 +PPPM initialization ... + using 12-bit tables for long-range coulomb (src/kspace.cpp:339) + G vector (1/distance) = 0.27644401 + grid = 27 27 30 + stencil order = 5 + estimated absolute RMS force accuracy = 1.4502702e-05 + estimated relative force accuracy = 1.0071569e-06 + using double precision FFTW3 + 3d grid and FFT values/proc = 14960 5832 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 13 + ghost atom cutoff = 13 + binsize = 6.5, bins = 4 4 5 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair buck/coul/long, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard + (2) fix qeq/fire, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none +Per MPI rank memory allocation (min/avg/max) = 9.195 | 9.246 | 9.278 Mbytes +Step PotEng c_q1 c_q2 v_qtot v_nqeq + 0 -3432.05316 0.85226679 -0.42613339 0.000000000001 37 + 10 -3452.04937 0.85475813 -0.42737906 0.000000000001 10 + 20 -3497.83659 0.85998739 -0.42999370 0.000000000002 13 + 30 -3568.47793 0.86771599 -0.43385799 0.000000000002 13 + 40 -3633.35326 0.87337029 -0.43668514 0.000000000002 13 + 50 -3700.16079 0.87805847 -0.43902924 0.000000000000 13 + 60 -3784.31906 0.88401635 -0.44200818 -0.000000000001 11 + 70 -3877.60163 0.89010162 -0.44505081 -0.000000000000 13 + 80 -3965.28179 0.89431356 -0.44715678 0.000000000001 11 + 90 -4048.33861 0.89698069 -0.44849034 0.000000000001 13 + 100 -4118.63861 0.89718818 -0.44859409 0.000000000002 12 +Loop time of 3.88026 on 4 procs for 100 steps with 1200 atoms + +Performance: 0.223 ns/day, 107.785 hours/ns, 25.771 timesteps/s +98.0% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.68424 | 0.69912 | 0.73572 | 2.5 | 18.02 +Kspace | 0.38093 | 0.41715 | 0.43168 | 3.2 | 10.75 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.012711 | 0.013318 | 0.014003 | 0.4 | 0.34 +Output | 0.00066566 | 0.00098735 | 0.0019317 | 0.0 | 0.03 +Modify | 2.7477 | 2.7477 | 2.7477 | 0.0 | 70.81 +Other | | 0.002004 | | | 0.05 + +Nlocal: 300.000 ave 300 max 300 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Nghost: 4875.00 ave 4880 max 4870 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Neighs: 91900.0 ave 93081 max 90719 min +Histogram: 2 0 0 0 0 0 0 0 0 2 + +Total # of neighbors = 367600 +Ave neighs/atom = 306.33333 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:17 diff --git a/examples/qeq/log.27Nov18.qeq.buck.g++.1 b/examples/qeq/log.27Nov18.qeq.buck.g++.1 deleted file mode 100644 index 4d5225ccc3..0000000000 --- a/examples/qeq/log.27Nov18.qeq.buck.g++.1 +++ /dev/null @@ -1,118 +0,0 @@ -LAMMPS (27 Nov 2018) - using 1 OpenMP thread(s) per MPI task -# This example demonstrates the use of various fix qeq variants with -# that defines and uses charges, in this case pair_style buck/coul/long - -units metal -atom_style charge - -read_data data.aC - orthogonal box = (0 0 0) to (25.1583 25.1583 28.0203) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 1200 atoms -replicate 2 2 2 - orthogonal box = (0 0 0) to (50.3166 50.3166 56.0405) - 1 by 1 by 1 MPI processor grid - 9600 atoms - Time spent = 0.00114894 secs - -pair_style buck/coul/long 12.0 -pair_coeff 2 2 1388.77 .3623188 175.0 -pair_coeff 1 2 18003 .2052124 133.5381 -pair_coeff 1 1 0 .1 0 -kspace_style ewald 1e-6 - -neighbor 1.0 bin -neigh_modify delay 0 every 1 check yes - -group type1 type 1 -3200 atoms in group type1 -compute charge1 type1 property/atom q -compute q1 type1 reduce ave c_charge1 -group type2 type 2 -6400 atoms in group type2 -compute charge2 type2 property/atom q -compute q2 type2 reduce ave c_charge2 -variable qtot equal count(type1)*c_q1+count(type2)*c_q2 - -thermo_style custom step pe c_q1 c_q2 v_qtot spcpu -thermo 10 - -timestep 0.0001 - -velocity all create 300.0 1281937 -fix 1 all nve - -#fix 2 all qeq/point 1 10 1.0e-6 100 param.qeq2 -#fix 2 all qeq/shielded 1 10 1.0e-6 100 param.qeq2 -#fix 2 all qeq/slater 1 10 1.0e-6 100 param.qeq2 -#fix 2 all qeq/dynamic 1 10 1.0e-4 100 param.qeq2 -fix 2 all qeq/fire 1 10 1.0e-4 100 param.qeq2 - -run 100 -Ewald initialization ... - using 12-bit tables for long-range coulomb (src/kspace.cpp:321) - G vector (1/distance) = 0.305064 - estimated absolute RMS force accuracy = 2.07629e-05 - estimated relative force accuracy = 1.44191e-06 - KSpace vectors: actual max1d max3d = 13556 20 34460 - kxmax kymax kzmax = 18 18 20 -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 13 - ghost atom cutoff = 13 - binsize = 6.5, bins = 8 8 9 - 2 neighbor lists, perpetual/occasional/extra = 2 0 0 - (1) pair buck/coul/long, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d/newton - bin: standard - (2) fix qeq/fire, perpetual, copy from (1) - attributes: half, newton on - pair build: copy - stencil: none - bin: none -Per MPI rank memory allocation (min/avg/max) = 134 | 134 | 134 Mbytes -Step PotEng c_q1 c_q2 v_qtot S/CPU - 0 -27457.219 0.85227886 -0.42613943 -2.1827873e-10 0 - 10 -27626.057 0.85486228 -0.42743114 -2.0372681e-10 0.64313877 - 20 -27975.085 0.85968531 -0.42984266 -1.036824e-10 0.55119179 - 30 -28552.628 0.86755661 -0.4337783 1.3051249e-10 0.53160643 - 40 -29133.643 0.87426387 -0.43713193 1.1368684e-10 0.53075341 - 50 -29697.011 0.8794039 -0.43970195 1.200533e-10 0.52358127 - 60 -30342.001 0.88478594 -0.44239297 6.002665e-11 0.5366762 - 70 -31081.138 0.8906973 -0.44534865 -4.7293724e-11 0.55904546 - 80 -31792.732 0.89506635 -0.44753317 -4.3200998e-11 0.59606079 - 90 -32424.749 0.89714841 -0.44857421 -1.1596057e-10 0.58047419 - 100 -32998.353 0.89755721 -0.44877861 -1.0231815e-10 0.59444001 -Loop time of 177.79 on 1 procs for 100 steps with 9600 atoms - -Performance: 0.005 ns/day, 4938.612 hours/ns, 0.562 timesteps/s -99.8% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 11.518 | 11.518 | 11.518 | 0.0 | 6.48 -Kspace | 107.37 | 107.37 | 107.37 | 0.0 | 60.39 -Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.019721 | 0.019721 | 0.019721 | 0.0 | 0.01 -Output | 0.002218 | 0.002218 | 0.002218 | 0.0 | 0.00 -Modify | 58.869 | 58.869 | 58.869 | 0.0 | 33.11 -Other | | 0.007197 | | | 0.00 - -Nlocal: 9600 ave 9600 max 9600 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 22125 ave 22125 max 22125 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 2.9408e+06 ave 2.9408e+06 max 2.9408e+06 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 2940800 -Ave neighs/atom = 306.333 -Neighbor list builds = 0 -Dangerous builds = 0 -Total wall time: 0:03:01 diff --git a/examples/qeq/log.27Nov18.qeq.buck.g++.4 b/examples/qeq/log.27Nov18.qeq.buck.g++.4 deleted file mode 100644 index 947c3caeaf..0000000000 --- a/examples/qeq/log.27Nov18.qeq.buck.g++.4 +++ /dev/null @@ -1,118 +0,0 @@ -LAMMPS (27 Nov 2018) - using 1 OpenMP thread(s) per MPI task -# This example demonstrates the use of various fix qeq variants with -# that defines and uses charges, in this case pair_style buck/coul/long - -units metal -atom_style charge - -read_data data.aC - orthogonal box = (0 0 0) to (25.1583 25.1583 28.0203) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 1200 atoms -replicate 2 2 2 - orthogonal box = (0 0 0) to (50.3166 50.3166 56.0405) - 1 by 2 by 2 MPI processor grid - 9600 atoms - Time spent = 0.000675201 secs - -pair_style buck/coul/long 12.0 -pair_coeff 2 2 1388.77 .3623188 175.0 -pair_coeff 1 2 18003 .2052124 133.5381 -pair_coeff 1 1 0 .1 0 -kspace_style ewald 1e-6 - -neighbor 1.0 bin -neigh_modify delay 0 every 1 check yes - -group type1 type 1 -3200 atoms in group type1 -compute charge1 type1 property/atom q -compute q1 type1 reduce ave c_charge1 -group type2 type 2 -6400 atoms in group type2 -compute charge2 type2 property/atom q -compute q2 type2 reduce ave c_charge2 -variable qtot equal count(type1)*c_q1+count(type2)*c_q2 - -thermo_style custom step pe c_q1 c_q2 v_qtot spcpu -thermo 10 - -timestep 0.0001 - -velocity all create 300.0 1281937 -fix 1 all nve - -#fix 2 all qeq/point 1 10 1.0e-6 100 param.qeq2 -#fix 2 all qeq/shielded 1 10 1.0e-6 100 param.qeq2 -#fix 2 all qeq/slater 1 10 1.0e-6 100 param.qeq2 -#fix 2 all qeq/dynamic 1 10 1.0e-4 100 param.qeq2 -fix 2 all qeq/fire 1 10 1.0e-4 100 param.qeq2 - -run 100 -Ewald initialization ... - using 12-bit tables for long-range coulomb (src/kspace.cpp:321) - G vector (1/distance) = 0.305064 - estimated absolute RMS force accuracy = 2.07629e-05 - estimated relative force accuracy = 1.44191e-06 - KSpace vectors: actual max1d max3d = 13556 20 34460 - kxmax kymax kzmax = 18 18 20 -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 13 - ghost atom cutoff = 13 - binsize = 6.5, bins = 8 8 9 - 2 neighbor lists, perpetual/occasional/extra = 2 0 0 - (1) pair buck/coul/long, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d/newton - bin: standard - (2) fix qeq/fire, perpetual, copy from (1) - attributes: half, newton on - pair build: copy - stencil: none - bin: none -Per MPI rank memory allocation (min/avg/max) = 53.06 | 53.13 | 53.21 Mbytes -Step PotEng c_q1 c_q2 v_qtot S/CPU - 0 -27457.215 0.85227886 -0.42613943 2.1373125e-11 0 - 10 -27626.057 0.85486228 -0.42743114 3.0468073e-11 2.4245312 - 20 -27975.085 0.85968531 -0.42984266 1.0095391e-10 2.0185316 - 30 -28552.627 0.86755661 -0.4337783 1.3096724e-10 1.9605335 - 40 -29133.643 0.87426387 -0.43713193 1.5279511e-10 1.9624139 - 50 -29697.01 0.8794039 -0.43970195 1.6461854e-10 1.8113263 - 60 -30342 0.88478594 -0.44239297 1.7826096e-10 1.9537722 - 70 -31081.139 0.89069733 -0.44534866 1.4733814e-10 2.058406 - 80 -31792.732 0.89506635 -0.44753317 1.3824319e-10 2.2160813 - 90 -32424.752 0.89714841 -0.44857421 1.2914825e-10 2.0952145 - 100 -32998.353 0.89755721 -0.44877861 1.4824764e-10 2.1292486 -Loop time of 48.7541 on 4 procs for 100 steps with 9600 atoms - -Performance: 0.018 ns/day, 1354.281 hours/ns, 2.051 timesteps/s -97.4% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 2.9747 | 3.0315 | 3.0758 | 2.1 | 6.22 -Kspace | 27.873 | 28.264 | 28.63 | 5.3 | 57.97 -Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.53835 | 0.8523 | 1.2286 | 28.2 | 1.75 -Output | 0.0012984 | 0.001591 | 0.0024178 | 1.2 | 0.00 -Modify | 16.58 | 16.59 | 16.601 | 0.3 | 34.03 -Other | | 0.01409 | | | 0.03 - -Nlocal: 2400 ave 2400 max 2400 min -Histogram: 4 0 0 0 0 0 0 0 0 0 -Nghost: 11550 ave 11550 max 11550 min -Histogram: 4 0 0 0 0 0 0 0 0 0 -Neighs: 735200 ave 740758 max 729642 min -Histogram: 2 0 0 0 0 0 0 0 0 2 - -Total # of neighbors = 2940800 -Ave neighs/atom = 306.333 -Neighbor list builds = 0 -Dangerous builds = 0 -Total wall time: 0:00:49 diff --git a/src/QEQ/fix_qeq.cpp b/src/QEQ/fix_qeq.cpp index 4504865303..56491228fd 100644 --- a/src/QEQ/fix_qeq.cpp +++ b/src/QEQ/fix_qeq.cpp @@ -54,10 +54,15 @@ FixQEq::FixQEq(LAMMPS *lmp, int narg, char **arg) : { if (narg < 8) error->all(FLERR,"Illegal fix qeq command"); + scalar_flag = 1; + extscalar = 0; + nevery = utils::inumeric(FLERR,arg[3],false,lmp); cutoff = utils::numeric(FLERR,arg[4],false,lmp); tolerance = utils::numeric(FLERR,arg[5],false,lmp); maxiter = utils::inumeric(FLERR,arg[6],false,lmp); + maxwarn = 1; + matvecs = 0; // check for sane arguments if ((nevery <= 0) || (cutoff <= 0.0) || (tolerance <= 0.0) || (maxiter <= 0)) @@ -123,7 +128,6 @@ FixQEq::FixQEq(LAMMPS *lmp, int narg, char **arg) : } else { read_file(arg[7]); } - } /* ---------------------------------------------------------------------- */ @@ -277,6 +281,13 @@ void FixQEq::reallocate_matrix() /* ---------------------------------------------------------------------- */ +double FixQEq::compute_scalar() +{ + return matvecs; +} + +/* ---------------------------------------------------------------------- */ + void FixQEq::init_list(int /*id*/, NeighList *ptr) { list = ptr; @@ -395,7 +406,7 @@ int FixQEq::CG( double *b, double *x ) vector_sum( d, 1., p, beta, d, inum ); } - if ((comm->me == 0) && (loop >= maxiter)) + if ((comm->me == 0) && maxwarn && (loop >= maxiter)) error->warning(FLERR,fmt::format("Fix qeq CG convergence failed ({}) " "after {} iterations at step {}", sqrt(sig_new)/b_norm,loop, diff --git a/src/QEQ/fix_qeq.h b/src/QEQ/fix_qeq.h index 9a3087840b..a11a41841e 100644 --- a/src/QEQ/fix_qeq.h +++ b/src/QEQ/fix_qeq.h @@ -35,6 +35,8 @@ class FixQEq : public Fix { void pre_force_respa(int, int, int); void min_pre_force(int); + virtual double compute_scalar(); + // derived child classes must provide these functions virtual void init() = 0; @@ -64,7 +66,8 @@ class FixQEq : public Fix { double swa, swb; // lower/upper Taper cutoff radius double Tap[8]; // Taper function double tolerance; // tolerance for the norm of the rel residual in CG - int maxiter; // maximum number of QEq iterations + int maxiter; // maximum number of QEq iterations + int maxwarn; // print warning when max iterations was reached double cutoff, cutoff_sq; // neighbor cutoff double *chi,*eta,*gamma,*zeta,*zcore; // qeq parameters diff --git a/src/QEQ/fix_qeq_dynamic.cpp b/src/QEQ/fix_qeq_dynamic.cpp index 397393b786..5af7a4c9a0 100644 --- a/src/QEQ/fix_qeq_dynamic.cpp +++ b/src/QEQ/fix_qeq_dynamic.cpp @@ -53,6 +53,12 @@ FixQEqDynamic::FixQEqDynamic(LAMMPS *lmp, int narg, char **arg) : if (iarg+2 > narg) error->all(FLERR,"Illegal fix qeq/dynamic command"); qstep = atof(arg[iarg+1]); iarg += 2; + } else if (strcmp(arg[iarg],"warn") == 0) { + if (iarg+2 > narg) error->all(FLERR,"Illegal fix qeq/dynamic command"); + if (strcmp(arg[iarg+1],"no") == 0) maxwarn = 0; + else if (strcmp(arg[iarg+1],"yes") == 0) maxwarn = 1; + else error->all(FLERR,"Illegal fix qeq/dynamic command"); + iarg += 2; } else error->all(FLERR,"Illegal fix qeq/dynamic command"); } } @@ -145,7 +151,7 @@ void FixQEqDynamic::pre_force(int /*vflag*/) MPI_Allreduce(&enegmax,&enegmaxall,1,MPI_DOUBLE,MPI_MAX,world); enegmax = enegmaxall; - if (enegchk <= tolerance && enegmax <= 100.0*tolerance) break; + if ((enegchk <= tolerance) && (enegmax <= 100.0*tolerance)) break; for (ii = 0; ii < inum; ii++) { i = ilist[ii]; @@ -153,8 +159,9 @@ void FixQEqDynamic::pre_force(int /*vflag*/) q1[i] += qf[i]*dtq2 - qdamp*q1[i]; } } + matvecs = iloop; - if ((comm->me == 0) && (iloop >= maxiter)) + if ((comm->me == 0) && maxwarn && (iloop >= maxiter)) error->warning(FLERR,fmt::format("Charges did not converge at step " "{}: {}",update->ntimestep,enegchk)); diff --git a/src/QEQ/fix_qeq_fire.cpp b/src/QEQ/fix_qeq_fire.cpp index 0bdf65dc18..0e89ee3d17 100644 --- a/src/QEQ/fix_qeq_fire.cpp +++ b/src/QEQ/fix_qeq_fire.cpp @@ -63,6 +63,12 @@ FixQEqFire::FixQEqFire(LAMMPS *lmp, int narg, char **arg) : if (iarg+2 > narg) error->all(FLERR,"Illegal fix qeq/fire command"); qstep = atof(arg[iarg+1]); iarg += 2; + } else if (strcmp(arg[iarg],"warn") == 0) { + if (iarg+2 > narg) error->all(FLERR,"Illegal fix qeq/fire command"); + if (strcmp(arg[iarg+1],"no") == 0) maxwarn = 0; + else if (strcmp(arg[iarg+1],"yes") == 0) maxwarn = 1; + else error->all(FLERR,"Illegal fix qeq/fire command"); + iarg += 2; } else error->all(FLERR,"Illegal fix qeq/fire command"); } } @@ -213,8 +219,9 @@ void FixQEqFire::pre_force(int /*vflag*/) if (enegchk < tolerance) break; } + matvecs = iloop; - if ((comm->me == 0) && (iloop >= maxiter)) + if ((comm->me == 0) && maxwarn && (iloop >= maxiter)) error->warning(FLERR,fmt::format("Charges did not converge at step " "{}: {}",update->ntimestep,enegchk)); diff --git a/src/QEQ/fix_qeq_point.cpp b/src/QEQ/fix_qeq_point.cpp index ac31f906e0..8d60585773 100644 --- a/src/QEQ/fix_qeq_point.cpp +++ b/src/QEQ/fix_qeq_point.cpp @@ -38,7 +38,15 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ FixQEqPoint::FixQEqPoint(LAMMPS *lmp, int narg, char **arg) : - FixQEq(lmp, narg, arg) {} + FixQEq(lmp, narg, arg) { + if (narg == 10) { + if (strcmp(arg[8],"warn") == 0) { + if (strcmp(arg[9],"no") == 0) maxwarn = 0; + else if (strcmp(arg[9],"yes") == 0) maxwarn = 1; + else error->all(FLERR,"Illegal fix qeq/point command"); + } else error->all(FLERR,"Illegal fix qeq/point command"); + } else if (narg > 8) error->all(FLERR,"Illegal fix qeq/point command"); +} /* ---------------------------------------------------------------------- */ @@ -80,6 +88,7 @@ void FixQEqPoint::pre_force(int /*vflag*/) init_matvec(); matvecs = CG(b_s, s); // CG on s - parallel matvecs += CG(b_t, t); // CG on t - parallel + matvecs /= 2; calculate_Q(); if (force->kspace) force->kspace->qsum_qsq(); diff --git a/src/QEQ/fix_qeq_shielded.cpp b/src/QEQ/fix_qeq_shielded.cpp index ad6202abd8..351700057b 100644 --- a/src/QEQ/fix_qeq_shielded.cpp +++ b/src/QEQ/fix_qeq_shielded.cpp @@ -40,6 +40,13 @@ using namespace LAMMPS_NS; FixQEqShielded::FixQEqShielded(LAMMPS *lmp, int narg, char **arg) : FixQEq(lmp, narg, arg) { + if (narg == 10) { + if (strcmp(arg[8],"warn") == 0) { + if (strcmp(arg[9],"no") == 0) maxwarn = 0; + else if (strcmp(arg[9],"yes") == 0) maxwarn = 1; + else error->all(FLERR,"Illegal fix qeq/shielded command"); + } else error->all(FLERR,"Illegal fix qeq/shielded command"); + } else if (narg > 8) error->all(FLERR,"Illegal fix qeq/shielded command"); if (reax_flag) extract_reax(); } @@ -143,6 +150,7 @@ void FixQEqShielded::pre_force(int /*vflag*/) init_matvec(); matvecs = CG(b_s, s); // CG on s - parallel matvecs += CG(b_t, t); // CG on t - parallel + matvecs /= 2; calculate_Q(); if (force->kspace) force->kspace->qsum_qsq(); diff --git a/src/QEQ/fix_qeq_slater.cpp b/src/QEQ/fix_qeq_slater.cpp index 326d71c93b..da0d2090cf 100644 --- a/src/QEQ/fix_qeq_slater.cpp +++ b/src/QEQ/fix_qeq_slater.cpp @@ -52,6 +52,12 @@ FixQEqSlater::FixQEqSlater(LAMMPS *lmp, int narg, char **arg) : if (iarg+2 > narg) error->all(FLERR,"Illegal fix qeq/slater command"); alpha = atof(arg[iarg+1]); iarg += 2; + } else if (strcmp(arg[iarg],"warn") == 0) { + if (iarg+2 > narg) error->all(FLERR,"Illegal fix qeq/slater command"); + if (strcmp(arg[iarg+1],"no") == 0) maxwarn = 0; + else if (strcmp(arg[iarg+1],"yes") == 0) maxwarn = 1; + else error->all(FLERR,"Illegal fix qeq/slater command"); + iarg += 2; } else error->all(FLERR,"Illegal fix qeq/slater command"); } @@ -120,6 +126,7 @@ void FixQEqSlater::pre_force(int /*vflag*/) init_matvec(); matvecs = CG(b_s, s); // CG on s - parallel matvecs += CG(b_t, t); // CG on t - parallel + matvecs /= 2; calculate_Q(); if (force->kspace) force->kspace->qsum_qsq(); From fe2efa4cb3159e7f634e87c64f15ea685fb4eff8 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 20 Apr 2021 14:51:05 -0400 Subject: [PATCH 066/726] disallow usage of qeq fixes with incompatible GPU and USER-INTEL packages --- src/QEQ/fix_qeq.cpp | 8 ++++++++ src/pair.h | 2 ++ src/pair_hybrid.cpp | 4 +--- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/QEQ/fix_qeq.cpp b/src/QEQ/fix_qeq.cpp index 56491228fd..542670f1f3 100644 --- a/src/QEQ/fix_qeq.cpp +++ b/src/QEQ/fix_qeq.cpp @@ -24,6 +24,8 @@ #include "force.h" #include "memory.h" #include "neigh_list.h" +#include "pair.h" +#include "suffix.h" #include "text_file_reader.h" #include "update.h" @@ -300,6 +302,12 @@ void FixQEq::setup_pre_force(int vflag) if (force->newton_pair == 0) error->all(FLERR,"QEQ with 'newton pair off' not supported"); + if (force->pair) { + if (force->pair->suffix_flag & (Suffix::INTEL|Suffix::GPU)) + error->all(FLERR,"QEQ is not compatiple with suffix version " + "of pair style"); + } + deallocate_storage(); allocate_storage(); diff --git a/src/pair.h b/src/pair.h index b25ad448eb..5b35d029ab 100644 --- a/src/pair.h +++ b/src/pair.h @@ -28,6 +28,8 @@ class Pair : protected Pointers { friend class FixGPU; friend class FixIntel; friend class FixOMP; + friend class FixQEq; + friend class PairHybrid; friend class ThrOMP; friend class Info; diff --git a/src/pair_hybrid.cpp b/src/pair_hybrid.cpp index 48ba1ccff7..485257858d 100644 --- a/src/pair_hybrid.cpp +++ b/src/pair_hybrid.cpp @@ -948,9 +948,7 @@ void PairHybrid::modify_special(int m, int /*narg*/, char **arg) special[2] = utils::numeric(FLERR,arg[2],false,lmp); special[3] = utils::numeric(FLERR,arg[3],false,lmp); - // have to cast to PairHybrid to work around C++ access restriction - - if (((PairHybrid *)styles[m])->suffix_flag & (Suffix::INTEL|Suffix::GPU)) + if (styles[m]->suffix_flag & (Suffix::INTEL|Suffix::GPU)) error->all(FLERR,"Pair_modify special is not compatible with " "suffix version of hybrid substyle"); From fec12020ac8fb2e5b1facfed4e17fe3c61c82749 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 20 Apr 2021 14:52:29 -0400 Subject: [PATCH 067/726] add unit tests for fix qeq/point and fix qeq/shielded --- .../atomic-pair-buck_coul_cut_qeq_point.yaml | 175 ++++++++++++++++++ ...tomic-pair-buck_coul_cut_qeq_shielded.yaml | 175 ++++++++++++++++++ 2 files changed, 350 insertions(+) create mode 100644 unittest/force-styles/tests/atomic-pair-buck_coul_cut_qeq_point.yaml create mode 100644 unittest/force-styles/tests/atomic-pair-buck_coul_cut_qeq_shielded.yaml diff --git a/unittest/force-styles/tests/atomic-pair-buck_coul_cut_qeq_point.yaml b/unittest/force-styles/tests/atomic-pair-buck_coul_cut_qeq_point.yaml new file mode 100644 index 0000000000..d3e6b38980 --- /dev/null +++ b/unittest/force-styles/tests/atomic-pair-buck_coul_cut_qeq_point.yaml @@ -0,0 +1,175 @@ +--- +lammps_version: 8 Apr 2021 +date_generated: Tue Apr 20 14:47:51 2021 +epsilon: 7.5e-13 +skip_tests: intel single +prerequisites: ! | + pair buck/coul/cut + fix qeq/point +pre_commands: ! | + echo screen + variable newton_pair delete + variable newton_pair index on + atom_modify map array + units metal + atom_style charge + lattice diamond 3.77 + region box block 0 2 0 2 0 2 + create_box 2 box + create_atoms 1 box + displace_atoms all random 0.1 0.1 0.1 623426 + mass 1 28.0 + mass 2 16.0 + set type 1 type/fraction 2 0.666667 998877 + set type 1 charge 0.8 + set type 2 charge 0.4 + velocity all create 100 4534624 loop geom +post_commands: ! | + fix qeq all qeq/point 1 6.0 1.0e-20 20 ${input_dir}/param.qeq2 warn no +input_file: in.empty +pair_style: buck/coul/cut 6.0 +pair_coeff: ! | + 1 1 0.0 0.1 00 + 1 2 18003.0 0.2052124 133.5381 + 2 2 1388.77 0.3623188 175.0 +extract: ! "" +natoms: 64 +init_vdwl: 106.41860675757 +init_coul: -129.9140700924124 +init_stress: ! |- + -2.8069812877025680e+02 -4.4806768911794171e+02 -5.0378472147221044e+02 3.9357896002405380e+02 -4.6782123097483543e+02 1.9690042286173212e+02 +init_forces: ! |2 + 1 7.9125122896296922e+00 -2.1014839690852849e+00 1.0994080971957654e+01 + 2 -8.6188789139298905e+00 -1.8333074427098923e+00 6.9043233196778493e+00 + 3 7.8498612200411868e+00 -2.1754399089581845e+01 -2.8862198492435933e+00 + 4 6.0059474900265855e+00 2.0200604615492711e+01 -3.6502720655785064e+00 + 5 -1.0414088486908696e+01 -1.2032673161543727e+01 -8.1683250459138641e+00 + 6 2.4526971509997360e+00 1.6151940503875748e+00 3.9699353225387135e+00 + 7 1.1484521325651471e+01 2.6251346011917382e+00 -5.0509149729671243e-01 + 8 -8.6634039445313658e+00 -8.3084485039834881e+00 3.9070922142448175e+00 + 9 7.9495750681929742e+00 -9.0507972374486361e+00 -4.4437699190231843e+00 + 10 -1.1184211738488107e+01 -2.0985043628368132e+00 8.0230797778549956e+00 + 11 2.8166289803609963e+01 -2.6396601038400636e+01 -7.0398077372607645e+01 + 12 1.8384817166363799e+01 4.9304421068745743e+00 -1.8773815008331542e+01 + 13 -8.5901832560112172e+00 -1.1830174021232128e+01 1.0687567118271307e+01 + 14 -2.7556923264654802e+00 1.7745847764979608e+00 -9.2066420206368988e+00 + 15 4.6735302548764643e+00 -3.2709618690940427e+00 -2.0693142194244816e+00 + 16 -6.0547965516444906e+00 -2.2600378957272116e+00 3.2677368381468008e-01 + 17 -9.1378380656225406e+00 1.1908878845184031e+01 -1.7535407559841292e+00 + 18 -1.2710024935571287e+00 -1.8390249623807247e+00 -5.0661022351703764e+00 + 19 4.7508234682845059e+00 -4.7660218202653398e-01 1.9578845982916517e+00 + 20 -2.4044494501312546e+00 1.3188349248766018e+01 -4.2723195450669484e+00 + 21 2.5545939677742822e+00 -7.6599926401155196e+00 -1.9913355105865760e+00 + 22 -1.2721065348405212e+01 2.2605336717084196e+01 -4.7468563523008402e+00 + 23 2.4611421112071081e+00 -1.4649327715865049e-01 3.5863258472083799e+00 + 24 -4.3893602786163104e+00 2.1969519282498890e+01 4.4720052177174487e+00 + 25 2.0238917888202160e+01 -1.5707849435118018e+01 5.7119813878581205e+00 + 26 -1.2244546012542273e+01 8.7637388770168165e+00 1.1554289778536326e+01 + 27 2.6315583772500917e+00 5.2366381109035203e+00 5.6567854473912291e+00 + 28 1.6069342319200945e+01 2.2379145739762505e+00 1.2146106338402367e+01 + 29 1.6156898389873891e+01 -1.3554238523505591e+01 -9.1896135574796052e+00 + 30 -8.4056006337974853e+00 7.0469844075145707e+00 6.3110771274676658e+00 + 31 -1.3273848195602289e-01 -6.8307139969335129e+00 7.6340671688916251e-01 + 32 -3.5499992242635152e+01 1.6857356356036899e+01 5.1954595281751772e+01 + 33 -1.5976858206617210e+01 -2.1986638912202295e+01 1.5916728791281200e+01 + 34 9.9892552480335084e+00 2.4910832782965171e+00 -3.5317186985424054e+00 + 35 7.0710369156676450e+01 -3.5579041343629925e+01 -5.3907803084513858e+01 + 36 -5.7367330604749455e+01 -7.0169041999492791e+01 7.3977418913261829e+01 + 37 5.5359814356241074e+01 7.2104773934571938e+01 -6.4062698737301162e+01 + 38 7.3137814516005992e+00 -6.9993845661823428e+00 -4.9786686785484031e+00 + 39 2.1766057858052013e+00 2.6649010324053237e+00 -5.5648981412947700e+00 + 40 -8.6278470191715790e+00 -6.1938287573923239e+00 -5.3007116622920181e-01 + 41 -2.1876614204878253e+00 -4.9711482834141876e+00 2.1023653625053651e+00 + 42 6.7356638591944380e+00 2.3811284335916083e+00 -2.6936658473425106e+00 + 43 -4.8166095077507318e+00 9.0096363628437235e+00 -3.5021097239659325e+00 + 44 4.5856314854049890e-01 -6.4502158514658676e+00 -2.2547412879230078e+00 + 45 -1.4050653828419732e+00 -2.7741840518241623e-01 5.9455907460299153e+00 + 46 1.7068092414266975e+00 3.0134108012937979e+00 -7.3633262984858643e+00 + 47 -8.5993680232001868e+00 3.9482405710461826e-02 -7.4020141073315715e-01 + 48 -1.4797111864775530e+02 9.0978008317055270e+01 8.8422607641864516e+01 + 49 1.2110838856400735e+01 1.0210083421020201e+01 -1.7064250014241885e+01 + 50 1.5673894480674800e+01 4.2472425008217618e+00 2.3874134866435037e-01 + 51 -1.0755978881146193e+03 9.4584826950708475e+02 -1.2161507490133176e+03 + 52 1.5238648316158450e+01 -1.4713914840395454e+01 1.0700180235730782e+01 + 53 1.0832818442423763e+03 -9.4512225095469830e+02 1.2182464933546009e+03 + 54 -1.2715521453452059e+00 1.0003156043833941e+00 -4.7435368103541586e+00 + 55 -1.2828505786775382e+01 2.4021051786462557e+01 -1.1214232355595612e+01 + 56 -7.6186543306062049e+01 2.6038364737554620e+01 4.6298155917897482e+01 + 57 1.0443716577117205e+02 3.6009056789261075e+02 2.1380802968687473e+02 + 58 -9.1275826241798370e+00 -1.3245000554098924e+01 -8.7148296348715926e-01 + 59 1.2840492718836813e+02 -1.0559491971264805e+02 -6.6237876488606588e+01 + 60 -2.1677737255323635e+00 -1.1892793887650410e+00 -8.1033360541735249e+00 + 61 -1.2148578617098147e+02 -3.5657463872647236e+02 -2.0401151842776562e+02 + 62 -2.7445863145191973e+00 1.2181869352734287e+01 6.0139221094528885e+00 + 63 -7.8700771372090834e+00 -3.1538926482273300e+00 1.0493868436023858e+01 + 64 2.5378792969187284e+01 3.2092052615283109e+01 -1.6443232536994536e+01 +run_vdwl: -1745.867185907274 +run_coul: -134.07506093090166 +run_stress: ! |- + -4.5872997550021264e+03 -3.9988755027842894e+03 -6.1188498400678936e+03 4.1760773642646591e+03 -5.3312812896810128e+03 4.4665905499115461e+03 +run_forces: ! |2 + 1 7.9285352946497758e+00 -2.1027294435031489e+00 1.1086825816163195e+01 + 2 -8.5419611035054892e+00 -1.8545741670495524e+00 7.0079173935199286e+00 + 3 8.4201002043041484e+00 -2.3236585201563706e+01 -3.5619050765611897e+00 + 4 5.8244272716577141e+00 2.0336700262604413e+01 -3.7991301665341801e+00 + 5 -1.0597147068623588e+01 -1.2052626644608324e+01 -8.3616620515931093e+00 + 6 2.3454925059969298e+00 1.9423650844033959e+00 4.1282352821875090e+00 + 7 1.1498130683730052e+01 2.7037305516932548e+00 -4.3590618591979624e-01 + 8 -8.7055079862119680e+00 -8.2080543611619063e+00 3.8502610802694401e+00 + 9 7.8905280043672006e+00 -9.1748249725951716e+00 -4.3595650830599473e+00 + 10 -1.1214544607539489e+01 -2.0450291190922241e+00 8.0819592940862215e+00 + 11 3.1110360595812111e+01 -3.0379448305557091e+01 -8.0086245459647699e+01 + 12 1.8159177163415904e+01 4.8329111811515117e+00 -1.8760362770452407e+01 + 13 -8.3967367015110703e+00 -1.1826424656028374e+01 1.0490586963619998e+01 + 14 -2.7403143901237863e+00 1.5146525228727186e+00 -9.5102191320553011e+00 + 15 4.6084095676492058e+00 -3.2455057110391716e+00 -2.0076394841639451e+00 + 16 -5.9971213141367166e+00 -2.1400797487747161e+00 3.8635660450105780e-01 + 17 -9.2777494354866672e+00 1.1929670372837402e+01 -1.5781112010078653e+00 + 18 -1.2640996234737609e+00 -1.8706861715670353e+00 -5.0907920358459542e+00 + 19 4.7710267464485367e+00 -4.0988795718884213e-01 1.9972858346581028e+00 + 20 -2.2378279249288067e+00 1.3107343895216937e+01 -4.2428037955197233e+00 + 21 2.5289893324335391e+00 -7.6558240340245325e+00 -1.9069419539704020e+00 + 22 -1.2728255711560161e+01 2.2449803210470662e+01 -4.4375794812338860e+00 + 23 2.2126988647283259e+00 -1.9107846463909647e-01 3.6978572940177510e+00 + 24 -4.9407746531577494e+00 2.3427146491434673e+01 5.0673415871481255e+00 + 25 2.0382651093146954e+01 -1.5777195827352591e+01 5.8844240401473211e+00 + 26 -1.2179841258863439e+01 8.7610073871936400e+00 1.1530406923973768e+01 + 27 2.6588676610969855e+00 5.1896378052166741e+00 5.6387483053555902e+00 + 28 1.5666189299730341e+01 1.6249815489114361e+00 1.1769883127324578e+01 + 29 1.6154781213323030e+01 -1.3566033536379088e+01 -9.1472138878710076e+00 + 30 -8.3472695417921603e+00 7.0562388858473168e+00 6.3337664999339882e+00 + 31 4.5583726078147091e-02 -6.8079173592470026e+00 8.8191267004599450e-01 + 32 -3.7970235777293169e+01 2.1379327045743118e+01 6.2117682066075531e+01 + 33 -1.6353741251628691e+01 -2.2709420959741056e+01 1.6304846015441370e+01 + 34 9.9972886088735162e+00 2.2643391331974536e+00 -3.4550103310401896e+00 + 35 7.6455556546064358e+01 -3.7809722812169873e+01 -5.8409719550108399e+01 + 36 -6.9348410375051216e+01 -8.5084762326803883e+01 8.7066878049116482e+01 + 37 6.7398486015543440e+01 8.6977799607188729e+01 -7.7261561475806531e+01 + 38 7.3284526937033183e+00 -7.6017536517090827e+00 -4.4692146119773133e+00 + 39 2.2039881666125036e+00 2.6712481163988575e+00 -5.4998118879989439e+00 + 40 -8.1920739102716507e+00 -5.6013665505583772e+00 -6.3906324471289055e-01 + 41 -9.6914424345020511e-01 -3.6895968531383003e+00 1.1100392846951848e+00 + 42 6.4344379128480211e+00 2.8919317863081786e+00 -2.0533867506787638e+00 + 43 -4.8969216688076900e+00 8.9173540382237473e+00 -3.4262725785712571e+00 + 44 3.9812820211199523e-01 -6.4925904498103826e+00 -2.2914632965466297e+00 + 45 -1.1701379586492111e+00 -6.8534375447769547e-01 5.2141786324779167e+00 + 46 1.7082488047076678e+00 2.9689192858013040e+00 -7.3986980836820644e+00 + 47 -8.4162004926885050e+00 -1.1549845996840341e-01 -6.9949420861709011e-01 + 48 -1.7140102399704551e+02 1.0954749031941631e+02 1.0215589866028962e+02 + 49 1.2958089986488774e+01 1.0763913519899868e+01 -1.6248816454541608e+01 + 50 1.4518431826929746e+01 5.0424709064095214e+00 5.3597634284364259e-02 + 51 -1.4015254817893208e+04 1.2504756770641432e+04 -1.5967183598544239e+04 + 52 1.5420056645525479e+01 -1.4998517432233239e+01 1.0961481290482833e+01 + 53 1.4023035080488416e+04 -1.2504964789519170e+04 1.5967622019398565e+04 + 54 -1.2443556258779074e+00 1.1935781697358863e+00 -4.7574145417182354e+00 + 55 -1.3066707495598941e+01 2.3943248755492228e+01 -1.1562546476831322e+01 + 56 -8.3304235816705628e+01 2.6818208086831827e+01 5.1686194842892000e+01 + 57 1.5120792842525938e+02 5.1705018806557780e+02 3.0849363663112024e+02 + 58 -9.2125676676377548e+00 -1.1733522325859413e+01 1.8639253510409390e-02 + 59 1.5201721677305994e+02 -1.2328671257917705e+02 -8.0267873143196880e+01 + 60 -2.1359354701455682e+00 -1.0122954230610202e+00 -7.9908260633230173e+00 + 61 -1.6847550389189405e+02 -5.1524925258885060e+02 -2.9923087564684147e+02 + 62 -2.7864227120115106e+00 1.2259886975143148e+01 5.9379812236948695e+00 + 63 -7.9097586153187249e+00 -3.2603634511507762e+00 1.0417329010466950e+01 + 64 2.5990005859488274e+01 3.2517151166598666e+01 -1.6862446054183820e+01 +... diff --git a/unittest/force-styles/tests/atomic-pair-buck_coul_cut_qeq_shielded.yaml b/unittest/force-styles/tests/atomic-pair-buck_coul_cut_qeq_shielded.yaml new file mode 100644 index 0000000000..2a80c30144 --- /dev/null +++ b/unittest/force-styles/tests/atomic-pair-buck_coul_cut_qeq_shielded.yaml @@ -0,0 +1,175 @@ +--- +lammps_version: 8 Apr 2021 +date_generated: Tue Apr 20 14:48:00 2021 +epsilon: 7.5e-13 +skip_tests: intel single +prerequisites: ! | + pair buck/coul/cut + fix qeq/shielded +pre_commands: ! | + echo screen + variable newton_pair delete + variable newton_pair index on + atom_modify map array + units metal + atom_style charge + lattice diamond 3.77 + region box block 0 2 0 2 0 2 + create_box 2 box + create_atoms 1 box + displace_atoms all random 0.1 0.1 0.1 623426 + mass 1 28.0 + mass 2 16.0 + set type 1 type/fraction 2 0.666667 998877 + set type 1 charge 0.8 + set type 2 charge 0.4 + velocity all create 100 4534624 loop geom +post_commands: ! | + fix qeq all qeq/shielded 1 6.0 1.0e-20 20 ${input_dir}/param.qeq2 warn no +input_file: in.empty +pair_style: buck/coul/cut 6.0 +pair_coeff: ! | + 1 1 0.0 0.1 00 + 1 2 18003.0 0.2052124 133.5381 + 2 2 1388.77 0.3623188 175.0 +extract: ! "" +natoms: 64 +init_vdwl: 106.41860675757 +init_coul: -92.45424973362312 +init_stress: ! |- + -2.6904173108770976e+02 -4.3428982773044442e+02 -4.9175916018347112e+02 3.9566088371930806e+02 -4.7262515517192719e+02 1.9591432292647838e+02 +init_forces: ! |2 + 1 7.9141417235740947e+00 -1.6575050231777215e+00 1.1247124417953305e+01 + 2 -8.1950643733925208e+00 -1.6928876509873696e+00 6.6818350912540652e+00 + 3 7.5215990692204731e+00 -2.1745595057982086e+01 -3.1301184475253381e+00 + 4 5.3917119324179188e+00 1.9732178742296160e+01 -3.7725042521095493e+00 + 5 -1.0136647320370246e+01 -1.2048794925281427e+01 -8.4425399256150335e+00 + 6 2.4664525420347161e+00 1.5156953299620182e+00 3.7546365998324012e+00 + 7 1.1539561031557810e+01 2.5652090902711979e+00 -4.3086648609162537e-01 + 8 -8.0662635175834705e+00 -8.3166158318636221e+00 4.2929691537457746e+00 + 9 7.8771720152697613e+00 -9.0024422542616396e+00 -4.5409532537229280e+00 + 10 -1.0964825127320315e+01 -1.7834328756310320e+00 7.8305203967741654e+00 + 11 2.8042061526336870e+01 -2.4878965644063260e+01 -6.9143265780487837e+01 + 12 1.8495615121211895e+01 4.3133827818564443e+00 -1.7691034897981336e+01 + 13 -8.4399728839306629e+00 -1.1518157999367906e+01 1.0295637396842004e+01 + 14 -2.7480646564437472e+00 1.8734968257465416e+00 -9.0973470213750058e+00 + 15 4.0225295371995529e+00 -4.0872787545152063e+00 -2.9384778611873470e+00 + 16 -5.9650138797306003e+00 -2.3087379423335772e+00 6.8308131661998561e-02 + 17 -9.1908442946528215e+00 1.1751276661643065e+01 -1.8408085151683529e+00 + 18 -1.3137718308179736e+00 -1.9012430640012012e+00 -5.1139666908059747e+00 + 19 4.4549255890758639e+00 -4.3939817417280941e-01 2.1886643387097751e+00 + 20 -2.0319203048741077e+00 1.2653408558732941e+01 -4.9917805891989406e+00 + 21 2.4950515142199343e+00 -7.8536749191430131e+00 -1.8304140855930795e+00 + 22 -1.2859663801965809e+01 2.2730915732234180e+01 -4.9479217011461092e+00 + 23 2.5459383618018023e+00 -2.9828026430000509e-01 3.4194490946030140e+00 + 24 -4.3638180485752436e+00 2.2376710173772068e+01 4.7532741402407801e+00 + 25 2.0836667788518888e+01 -1.6344888313048909e+01 5.6211876341385709e+00 + 26 -1.2607606955151248e+01 9.1008974375965153e+00 1.2019343399635865e+01 + 27 2.1952885206072059e+00 5.0665486907574895e+00 5.5237917166507362e+00 + 28 1.6488561582105199e+01 2.4906410951101425e+00 1.2426653974121137e+01 + 29 1.6251639920278514e+01 -1.4165524718233035e+01 -9.5519013725891924e+00 + 30 -8.5665322777305750e+00 6.5330097528312958e+00 6.7385937277364834e+00 + 31 -1.6266027468958288e-01 -6.6886609738962113e+00 8.8566519040115255e-01 + 32 -3.5245474890368847e+01 1.6495014756334484e+01 5.1078937232184522e+01 + 33 -1.5987226674008781e+01 -2.1890093847568011e+01 1.6032979914514094e+01 + 34 9.8711439787861472e+00 2.5536945969673872e+00 -3.3348635269507474e+00 + 35 7.0807263895311777e+01 -3.5539168497154421e+01 -5.3725574081330656e+01 + 36 -5.6877142152340149e+01 -6.9366823927578849e+01 7.2994971999025935e+01 + 37 5.4660108324736413e+01 7.1291615544338143e+01 -6.3759392720711894e+01 + 38 7.0743366174130307e+00 -7.6487647563486689e+00 -4.6878237559766189e+00 + 39 2.0381847012670646e+00 2.6755672967675741e+00 -5.2811442194348039e+00 + 40 -9.0185944759842691e+00 -5.7604357452722770e+00 -3.4337610522422546e-01 + 41 -2.7088447313443842e+00 -5.2782133055992473e+00 1.7885966807060194e+00 + 42 6.7732857687967325e+00 2.3205919970957725e+00 -2.4010131075334322e+00 + 43 -4.5927233661860249e+00 9.0529486933975445e+00 -3.6577320776925335e+00 + 44 2.8749921571080672e-01 -6.1319691267726260e+00 -1.7739459946345322e+00 + 45 -1.1845421822047435e+00 -1.2989558081946262e-01 5.4900076955978339e+00 + 46 1.3601159060680870e+00 3.5799207177313330e+00 -7.6189436341957544e+00 + 47 -8.1337841515165614e+00 -1.2629496960863673e-01 -8.8562060415993760e-01 + 48 -1.4860155650493951e+02 9.0963206813737870e+01 8.8856904799540899e+01 + 49 1.2639152627450446e+01 1.0359532596352693e+01 -1.7242867911828036e+01 + 50 1.5521880865901194e+01 4.2868543946915896e+00 3.1711848237800400e-01 + 51 -1.0735634351608480e+03 9.4537025515826099e+02 -1.2147493979398862e+03 + 52 1.5466658019682828e+01 -1.4895417892202326e+01 1.1112480680825493e+01 + 53 1.0819480450682750e+03 -9.4418452213503031e+02 1.2169212362594612e+03 + 54 -1.0894773002862821e+00 6.6706752208107978e-01 -4.8790516443905974e+00 + 55 -1.3844732593145427e+01 2.4648863250620490e+01 -1.1348546815898326e+01 + 56 -7.5962830973889339e+01 2.6101351295707214e+01 4.6341687389775707e+01 + 57 1.0485701291302608e+02 3.6058930749586290e+02 2.1396553624858470e+02 + 58 -8.9779882186764475e+00 -1.3244731779675908e+01 -1.3278080384995206e+00 + 59 1.2850554211073154e+02 -1.0591990510462425e+02 -6.6793350663870882e+01 + 60 -2.1508838217754374e+00 -9.5900020614540604e-01 -7.7855526817679328e+00 + 61 -1.2102976382849171e+02 -3.5660400748210526e+02 -2.0445983478947505e+02 + 62 -3.2250906445468925e+00 1.1774314121365196e+01 6.3355915377420322e+00 + 63 -7.6074695879604359e+00 -2.9040201639454253e+00 1.0880944642028627e+01 + 64 2.5065083017154684e+01 3.1881871782588231e+01 -1.6344906772607633e+01 +run_vdwl: -1738.504828461019 +run_coul: -94.95581768227976 +run_stress: ! |- + -4.5595453405449562e+03 -3.9713162676196043e+03 -6.0848825790480287e+03 4.1634964821175072e+03 -5.3172121985750009e+03 4.4482840126121810e+03 +run_forces: ! |2 + 1 7.9430648174104608e+00 -1.6505623585983651e+00 1.1353040695469964e+01 + 2 -8.0909470592272665e+00 -1.6949319849892177e+00 6.7767677870716474e+00 + 3 8.1078778180838125e+00 -2.3235717929919247e+01 -3.8090540398880952e+00 + 4 5.2184189853247993e+00 1.9883083402118530e+01 -3.9293647164607202e+00 + 5 -1.0315532797751688e+01 -1.2066521654437734e+01 -8.6235072008116074e+00 + 6 2.3527033402736865e+00 1.8434233133221647e+00 3.9200698665620468e+00 + 7 1.1558853330915097e+01 2.6482270737969671e+00 -3.5653539616982843e-01 + 8 -8.0944578895520376e+00 -8.2317015861577598e+00 4.2492167566992798e+00 + 9 7.7973204991242282e+00 -9.1232078942352679e+00 -4.4476458756957902e+00 + 10 -1.0992761089447495e+01 -1.7271203633765912e+00 7.8732627610722128e+00 + 11 3.0931722247747444e+01 -2.8786477048677739e+01 -7.8665114289916033e+01 + 12 1.8274394539545813e+01 4.2080021850140445e+00 -1.7702358881800027e+01 + 13 -8.2599586789888200e+00 -1.1515741006968879e+01 1.0107104927112278e+01 + 14 -2.7279898223061001e+00 1.6130541061743697e+00 -9.3952153337124464e+00 + 15 3.9515263062313335e+00 -4.0844589202051376e+00 -2.8866117721996689e+00 + 16 -5.8981678832905171e+00 -2.1804152314776850e+00 1.4275910534889458e-01 + 17 -9.3307269581232593e+00 1.1774312330333576e+01 -1.6692683576013803e+00 + 18 -1.3134558888695769e+00 -1.9382763777674961e+00 -5.1386794705347452e+00 + 19 4.4778449905197109e+00 -3.7332160506766110e-01 2.2265534122637054e+00 + 20 -1.9216161276856039e+00 1.2623039169837961e+01 -4.9985363809975647e+00 + 21 2.4738768947622880e+00 -7.8544243197235870e+00 -1.7482503763962445e+00 + 22 -1.2883029726566168e+01 2.2588117645764534e+01 -4.6467323617000371e+00 + 23 2.3091594744980535e+00 -3.5151849114507772e-01 3.5274744438543237e+00 + 24 -4.9018564244447180e+00 2.3838352476498073e+01 5.3460036982254815e+00 + 25 2.0948048851721442e+01 -1.6373698326971489e+01 5.7720446049694036e+00 + 26 -1.2578008211337877e+01 9.1211609042314503e+00 1.2008844944222867e+01 + 27 2.2045394963986160e+00 5.0247152904089880e+00 5.4827119887611868e+00 + 28 1.6104286139406646e+01 1.9002405388339891e+00 1.2069099381708440e+01 + 29 1.6263381250006539e+01 -1.4213704415061143e+01 -9.5280965445643737e+00 + 30 -8.5106296596336417e+00 6.5389339966331104e+00 6.7625294275517316e+00 + 31 1.4273319546851848e-02 -6.6747306136807882e+00 1.0093006407241376e+00 + 32 -3.7680672886741476e+01 2.0930462633195887e+01 6.1078153188510051e+01 + 33 -1.6365245005849875e+01 -2.2602871724758668e+01 1.6416398262575715e+01 + 34 9.8850471358845962e+00 2.3562304461945787e+00 -3.2796925462623761e+00 + 35 7.6552797346940821e+01 -3.7762973127437611e+01 -5.8230414917441593e+01 + 36 -6.8717983540165619e+01 -8.4097670136565384e+01 8.5940075687947427e+01 + 37 6.6554563114837478e+01 8.5966291567755746e+01 -7.6794896761790099e+01 + 38 7.1088003592849205e+00 -8.2230746263721581e+00 -4.2021171895312630e+00 + 39 2.0757879393792544e+00 2.6895810149309449e+00 -5.2209951864941644e+00 + 40 -8.5670330622826629e+00 -5.1877611476592262e+00 -4.7690438257845008e-01 + 41 -1.5274749236361123e+00 -4.0411587071835031e+00 7.8872850139034600e-01 + 42 6.4844518585745128e+00 2.8177957843382857e+00 -1.7924873100831999e+00 + 43 -4.6905478422001954e+00 8.9556578890169813e+00 -3.5942238071494108e+00 + 44 2.2519703741980698e-01 -6.1753412426980390e+00 -1.8022354020798390e+00 + 45 -9.1501325926584676e-01 -5.2347101045402322e-01 4.8068911677143360e+00 + 46 1.3779977952935716e+00 3.4995478428931444e+00 -7.6316648685752480e+00 + 47 -8.0609749909669581e+00 -2.1741420953096791e-01 -8.4151730986634521e-01 + 48 -1.7213184634714088e+02 1.0957659916624621e+02 1.0267576521252535e+02 + 49 1.3502214899750406e+01 1.0917576182238818e+01 -1.6482937758762418e+01 + 50 1.4379813283875713e+01 5.0553400873044820e+00 1.0683342950103625e-01 + 51 -1.3957521762635950e+04 1.2452654544174226e+04 -1.5900991752693422e+04 + 52 1.5633296407076536e+01 -1.5168118286747163e+01 1.1375722352219624e+01 + 53 1.3966019441343162e+04 -1.2452432702569762e+04 1.5901485612155189e+04 + 54 -1.0302010742237790e+00 8.0882593586606122e-01 -4.8342043026033270e+00 + 55 -1.4050317568063919e+01 2.4571746720771483e+01 -1.1619744995231775e+01 + 56 -8.3051825195541284e+01 2.6893430568070734e+01 5.1720488371951646e+01 + 57 1.5167680987925942e+02 5.1771459761745700e+02 3.0876046319206444e+02 + 58 -9.0684224428918387e+00 -1.1737173531443593e+01 -4.2815053798067343e-01 + 59 1.5222786378196815e+02 -1.2370024170265403e+02 -8.0875432712487481e+01 + 60 -2.1233147761897007e+00 -7.9017832727701498e-01 -7.6738212145982452e+00 + 61 -1.6808948242299991e+02 -5.1546658556632860e+02 -2.9975983407554941e+02 + 62 -3.2501332686207283e+00 1.1879860248088384e+01 6.2378391727747093e+00 + 63 -7.6393918044176985e+00 -2.9843682141469259e+00 1.0819122718511684e+01 + 64 2.5665406780155877e+01 3.2294883947912929e+01 -1.6760878883557520e+01 +... From a959d655601d9d78d668baea9988df6dbeb901ab Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 20 Apr 2021 14:52:42 -0400 Subject: [PATCH 068/726] whitespace fixes --- src/QEQ/fix_qeq.cpp | 72 ++++++++++++++++++++++----------------------- 1 file changed, 36 insertions(+), 36 deletions(-) diff --git a/src/QEQ/fix_qeq.cpp b/src/QEQ/fix_qeq.cpp index 542670f1f3..d6fe12abf8 100644 --- a/src/QEQ/fix_qeq.cpp +++ b/src/QEQ/fix_qeq.cpp @@ -120,7 +120,7 @@ FixQEq::FixQEq(LAMMPS *lmp, int narg, char **arg) : atom->add_callback(Atom::GROW); for (int i = 0; i < atom->nmax; i++) - for (int j = 0; j < nprev; ++j ) + for (int j = 0; j < nprev; ++j) s_hist[i][j] = t_hist[i][j] = atom->q[i]; if (strcmp(arg[7],"coul/streitz") == 0) { @@ -253,7 +253,7 @@ void FixQEq::allocate_matrix() i = ilist[ii]; m += numneigh[i]; } - m_cap = MAX( (int)(m * safezone), mincap * MIN_NBRS ); + m_cap = MAX((int)(m * safezone), mincap * MIN_NBRS); H.n = n_cap; H.m = m_cap; @@ -267,10 +267,10 @@ void FixQEq::allocate_matrix() void FixQEq::deallocate_matrix() { - memory->destroy( H.firstnbr ); - memory->destroy( H.numnbrs ); - memory->destroy( H.jlist ); - memory->destroy( H.val ); + memory->destroy(H.firstnbr); + memory->destroy(H.numnbrs); + memory->destroy(H.jlist); + memory->destroy(H.val); } /* ---------------------------------------------------------------------- */ @@ -365,7 +365,7 @@ void FixQEq::min_pre_force(int vflag) /* ---------------------------------------------------------------------- */ -int FixQEq::CG( double *b, double *x ) +int FixQEq::CG(double *b, double *x) { int loop, i, ii, inum, *ilist; double tmp, alfa, beta, b_norm; @@ -375,10 +375,10 @@ int FixQEq::CG( double *b, double *x ) ilist = list->ilist; pack_flag = 1; - sparse_matvec( &H, x, q ); - comm->reverse_comm_fix( this ); + sparse_matvec(&H, x, q); + comm->reverse_comm_fix(this); - vector_sum( r , 1., b, -1., q, inum ); + vector_sum(r , 1., b, -1., q, inum); for (ii = 0; ii < inum; ++ii) { i = ilist[ii]; @@ -387,19 +387,19 @@ int FixQEq::CG( double *b, double *x ) else d[i] = 0.0; } - b_norm = parallel_norm( b, inum ); - sig_new = parallel_dot( r, d, inum); + b_norm = parallel_norm(b, inum); + sig_new = parallel_dot(r, d, inum); for (loop = 1; loop < maxiter && sqrt(sig_new)/b_norm > tolerance; ++loop) { comm->forward_comm_fix(this); - sparse_matvec( &H, d, q ); + sparse_matvec(&H, d, q); comm->reverse_comm_fix(this); - tmp = parallel_dot( d, q, inum); + tmp = parallel_dot(d, q, inum); alfa = sig_new / tmp; - vector_add( x, alfa, d, inum ); - vector_add( r, -alfa, q, inum ); + vector_add(x, alfa, d, inum); + vector_add(r, -alfa, q, inum); for (ii = 0; ii < inum; ++ii) { i = ilist[ii]; @@ -408,10 +408,10 @@ int FixQEq::CG( double *b, double *x ) } sig_old = sig_new; - sig_new = parallel_dot( r, p, inum); + sig_new = parallel_dot(r, p, inum); beta = sig_new / sig_old; - vector_sum( d, 1., p, beta, d, inum ); + vector_sum(d, 1., p, beta, d, inum); } if ((comm->me == 0) && maxwarn && (loop >= maxiter)) @@ -425,7 +425,7 @@ int FixQEq::CG( double *b, double *x ) /* ---------------------------------------------------------------------- */ -void FixQEq::sparse_matvec( sparse_matrix *A, double *x, double *b ) +void FixQEq::sparse_matvec(sparse_matrix *A, double *x, double *b) { int i, j, itr_j; @@ -444,7 +444,7 @@ void FixQEq::sparse_matvec( sparse_matrix *A, double *x, double *b ) for (i = 0; i < nlocal; ++i) { if (atom->mask[i] & groupbit) { - for ( itr_j=A->firstnbr[i]; itr_jfirstnbr[i]+A->numnbrs[i]; itr_j++) { + for (itr_j=A->firstnbr[i]; itr_jfirstnbr[i]+A->numnbrs[i]; itr_j++) { j = A->jlist[itr_j]; b[i] += A->val[itr_j] * x[j]; b[j] += A->val[itr_j] * x[i]; @@ -466,8 +466,8 @@ void FixQEq::calculate_Q() inum = list->inum; ilist = list->ilist; - s_sum = parallel_vector_acc( s, inum ); - t_sum = parallel_vector_acc( t, inum); + s_sum = parallel_vector_acc(s, inum); + t_sum = parallel_vector_acc(t, inum); u = s_sum / t_sum; for (ii = 0; ii < inum; ++ii) { @@ -485,7 +485,7 @@ void FixQEq::calculate_Q() } pack_flag = 4; - comm->forward_comm_fix( this ); //Dist_vector( atom->q ); + comm->forward_comm_fix(this); //Dist_vector(atom->q); } /* ---------------------------------------------------------------------- */ @@ -516,11 +516,11 @@ void FixQEq::unpack_forward_comm(int n, int first, double *buf) if (pack_flag == 1) for (m = 0, i = first; m < n; m++, i++) d[i] = buf[m]; - else if ( pack_flag == 2) + else if (pack_flag == 2) for (m = 0, i = first; m < n; m++, i++) s[i] = buf[m]; - else if ( pack_flag == 3) + else if (pack_flag == 3) for (m = 0, i = first; m < n; m++, i++) t[i] = buf[m]; - else if ( pack_flag == 4) + else if (pack_flag == 4) for (m = 0, i = first; m < n; m++, i++) atom->q[i] = buf[m]; } @@ -605,7 +605,7 @@ int FixQEq::unpack_exchange(int n, double *buf) /* ---------------------------------------------------------------------- */ -double FixQEq::parallel_norm( double *v, int n ) +double FixQEq::parallel_norm(double *v, int n) { int i; double my_sum, norm_sqr; @@ -623,14 +623,14 @@ double FixQEq::parallel_norm( double *v, int n ) my_sum += v[i]*v[i]; } - MPI_Allreduce( &my_sum, &norm_sqr, 1, MPI_DOUBLE, MPI_SUM, world ); + MPI_Allreduce(&my_sum, &norm_sqr, 1, MPI_DOUBLE, MPI_SUM, world); - return sqrt( norm_sqr ); + return sqrt(norm_sqr); } /* ---------------------------------------------------------------------- */ -double FixQEq::parallel_dot( double *v1, double *v2, int n) +double FixQEq::parallel_dot(double *v1, double *v2, int n) { int i; double my_dot, res; @@ -648,14 +648,14 @@ double FixQEq::parallel_dot( double *v1, double *v2, int n) my_dot += v1[i] * v2[i]; } - MPI_Allreduce( &my_dot, &res, 1, MPI_DOUBLE, MPI_SUM, world ); + MPI_Allreduce(&my_dot, &res, 1, MPI_DOUBLE, MPI_SUM, world); return res; } /* ---------------------------------------------------------------------- */ -double FixQEq::parallel_vector_acc( double *v, int n ) +double FixQEq::parallel_vector_acc(double *v, int n) { int i; double my_acc, res; @@ -673,15 +673,15 @@ double FixQEq::parallel_vector_acc( double *v, int n ) my_acc += v[i]; } - MPI_Allreduce( &my_acc, &res, 1, MPI_DOUBLE, MPI_SUM, world ); + MPI_Allreduce(&my_acc, &res, 1, MPI_DOUBLE, MPI_SUM, world); return res; } /* ---------------------------------------------------------------------- */ -void FixQEq::vector_sum( double* dest, double c, double* v, - double d, double* y, int k ) +void FixQEq::vector_sum(double* dest, double c, double* v, + double d, double* y, int k) { int kk; int *ilist; @@ -697,7 +697,7 @@ void FixQEq::vector_sum( double* dest, double c, double* v, /* ---------------------------------------------------------------------- */ -void FixQEq::vector_add( double* dest, double c, double* v, int k ) +void FixQEq::vector_add(double* dest, double c, double* v, int k) { int kk; int *ilist; From ae570c05d836f683d80215e7068e786d7c914340 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 20 Apr 2021 14:53:44 -0400 Subject: [PATCH 069/726] we don't need to hardcode pair styles to skip specific tests, but use YAML file for it --- unittest/force-styles/test_pair_style.cpp | 15 --------------- .../force-styles/tests/atomic-pair-colloid.yaml | 1 + .../tests/atomic-pair-colloid_multi.yaml | 1 + .../tests/atomic-pair-colloid_multi_tri.yaml | 1 + .../tests/atomic-pair-colloid_tiled.yaml | 1 + .../tests/atomic-pair-colloid_tiled_tri.yaml | 1 + unittest/force-styles/tests/atomic-pair-eam.yaml | 1 + .../force-styles/tests/atomic-pair-eam_alloy.yaml | 1 + .../tests/atomic-pair-eam_alloy_real.yaml | 1 + .../force-styles/tests/atomic-pair-eam_cd.yaml | 1 + .../tests/atomic-pair-eam_cd_old.yaml | 1 + .../tests/atomic-pair-eam_cd_real.yaml | 1 + .../force-styles/tests/atomic-pair-eam_fs.yaml | 1 + .../tests/atomic-pair-eam_fs_real.yaml | 1 + .../force-styles/tests/atomic-pair-eam_he.yaml | 1 + .../tests/atomic-pair-eam_he_real.yaml | 1 + .../force-styles/tests/atomic-pair-eam_real.yaml | 1 + .../tests/atomic-pair-hybrid-eam.yaml | 1 + .../tests/atomic-pair-hybrid-eam_fs.yaml | 1 + .../tests/atomic-pair-yukawa_colloid.yaml | 1 + unittest/force-styles/tests/mol-pair-dpd.yaml | 2 +- .../force-styles/tests/mol-pair-dpd_tstat.yaml | 2 +- 22 files changed, 21 insertions(+), 17 deletions(-) diff --git a/unittest/force-styles/test_pair_style.cpp b/unittest/force-styles/test_pair_style.cpp index 057f2b5352..999ac54e7b 100644 --- a/unittest/force-styles/test_pair_style.cpp +++ b/unittest/force-styles/test_pair_style.cpp @@ -1188,21 +1188,6 @@ TEST(PairStyle, single) GTEST_SKIP(); } - // The single function in EAM is different from what we assume - // here, therefore we have to skip testing those pair styles. - // Pair styles colloid and yukawa/colloid are also not compatible with this single tester - if ((test_config.pair_style.substr(0, 7) == "colloid") || - (test_config.pair_style.substr(0, 14) == "yukawa/colloid") || - (test_config.pair_style.substr(0, 3) == "dpd") || - (test_config.pair_style.substr(0, 3) == "eam") || - ((test_config.pair_style.substr(0, 6) == "hybrid") && - (test_config.pair_style.find("eam") != std::string::npos))) { - if (!verbose) ::testing::internal::CaptureStdout(); - cleanup_lammps(lmp, test_config); - if (!verbose) ::testing::internal::GetCapturedStdout(); - GTEST_SKIP(); - } - // now start over if (!verbose) ::testing::internal::CaptureStdout(); diff --git a/unittest/force-styles/tests/atomic-pair-colloid.yaml b/unittest/force-styles/tests/atomic-pair-colloid.yaml index 537ac447b5..b666021c91 100644 --- a/unittest/force-styles/tests/atomic-pair-colloid.yaml +++ b/unittest/force-styles/tests/atomic-pair-colloid.yaml @@ -2,6 +2,7 @@ lammps_version: 10 Feb 2021 date_generated: Fri Feb 26 23:08:59 2021 epsilon: 5e-14 +skip_tests: single prerequisites: ! | pair colloid pre_commands: ! | diff --git a/unittest/force-styles/tests/atomic-pair-colloid_multi.yaml b/unittest/force-styles/tests/atomic-pair-colloid_multi.yaml index 025a7faa05..d224977a3e 100644 --- a/unittest/force-styles/tests/atomic-pair-colloid_multi.yaml +++ b/unittest/force-styles/tests/atomic-pair-colloid_multi.yaml @@ -2,6 +2,7 @@ lammps_version: 10 Feb 2021 date_generated: Fri Feb 26 23:08:59 2021 epsilon: 5e-14 +skip_tests: single prerequisites: ! | pair colloid pre_commands: ! | diff --git a/unittest/force-styles/tests/atomic-pair-colloid_multi_tri.yaml b/unittest/force-styles/tests/atomic-pair-colloid_multi_tri.yaml index 9ead662a06..fa52a37ce7 100644 --- a/unittest/force-styles/tests/atomic-pair-colloid_multi_tri.yaml +++ b/unittest/force-styles/tests/atomic-pair-colloid_multi_tri.yaml @@ -2,6 +2,7 @@ lammps_version: 10 Feb 2021 date_generated: Fri Feb 26 23:08:59 2021 epsilon: 5e-13 +skip_tests: single prerequisites: ! | pair colloid pre_commands: ! | diff --git a/unittest/force-styles/tests/atomic-pair-colloid_tiled.yaml b/unittest/force-styles/tests/atomic-pair-colloid_tiled.yaml index be3ba744d0..62e85584e7 100644 --- a/unittest/force-styles/tests/atomic-pair-colloid_tiled.yaml +++ b/unittest/force-styles/tests/atomic-pair-colloid_tiled.yaml @@ -2,6 +2,7 @@ lammps_version: 10 Feb 2021 date_generated: Fri Feb 26 23:08:59 2021 epsilon: 5e-14 +skip_tests: single prerequisites: ! | pair colloid pre_commands: ! | diff --git a/unittest/force-styles/tests/atomic-pair-colloid_tiled_tri.yaml b/unittest/force-styles/tests/atomic-pair-colloid_tiled_tri.yaml index cd6c7595e8..b3f0b7a06d 100644 --- a/unittest/force-styles/tests/atomic-pair-colloid_tiled_tri.yaml +++ b/unittest/force-styles/tests/atomic-pair-colloid_tiled_tri.yaml @@ -2,6 +2,7 @@ lammps_version: 10 Feb 2021 date_generated: Fri Feb 26 23:08:59 2021 epsilon: 5e-13 +skip_tests: single prerequisites: ! | pair colloid pre_commands: ! | diff --git a/unittest/force-styles/tests/atomic-pair-eam.yaml b/unittest/force-styles/tests/atomic-pair-eam.yaml index c606813d56..9c8c3ba8cd 100644 --- a/unittest/force-styles/tests/atomic-pair-eam.yaml +++ b/unittest/force-styles/tests/atomic-pair-eam.yaml @@ -2,6 +2,7 @@ lammps_version: 10 Feb 2021 date_generated: Fri Feb 26 23:09:00 2021 epsilon: 6e-12 +skip_tests: single prerequisites: ! | pair eam pre_commands: ! | diff --git a/unittest/force-styles/tests/atomic-pair-eam_alloy.yaml b/unittest/force-styles/tests/atomic-pair-eam_alloy.yaml index 072a0a97c0..5ec5bef372 100644 --- a/unittest/force-styles/tests/atomic-pair-eam_alloy.yaml +++ b/unittest/force-styles/tests/atomic-pair-eam_alloy.yaml @@ -2,6 +2,7 @@ lammps_version: 10 Feb 2021 date_generated: Fri Feb 26 23:09:00 2021 epsilon: 5e-12 +skip_tests: single prerequisites: ! | pair eam/alloy pre_commands: ! "" diff --git a/unittest/force-styles/tests/atomic-pair-eam_alloy_real.yaml b/unittest/force-styles/tests/atomic-pair-eam_alloy_real.yaml index 033c341f08..bff08e048b 100644 --- a/unittest/force-styles/tests/atomic-pair-eam_alloy_real.yaml +++ b/unittest/force-styles/tests/atomic-pair-eam_alloy_real.yaml @@ -2,6 +2,7 @@ lammps_version: 10 Feb 2021 date_generated: Fri Feb 26 23:09:00 2021 epsilon: 7.5e-12 +skip_tests: single prerequisites: ! | pair eam/alloy pre_commands: ! | diff --git a/unittest/force-styles/tests/atomic-pair-eam_cd.yaml b/unittest/force-styles/tests/atomic-pair-eam_cd.yaml index bda14a9e5a..915253dce7 100644 --- a/unittest/force-styles/tests/atomic-pair-eam_cd.yaml +++ b/unittest/force-styles/tests/atomic-pair-eam_cd.yaml @@ -2,6 +2,7 @@ lammps_version: 10 Feb 2021 date_generated: Fri Feb 26 23:09:00 2021 epsilon: 5e-12 +skip_tests: single prerequisites: ! | pair eam/cd pre_commands: ! "" diff --git a/unittest/force-styles/tests/atomic-pair-eam_cd_old.yaml b/unittest/force-styles/tests/atomic-pair-eam_cd_old.yaml index 4f6891bae6..a7fa727b7f 100644 --- a/unittest/force-styles/tests/atomic-pair-eam_cd_old.yaml +++ b/unittest/force-styles/tests/atomic-pair-eam_cd_old.yaml @@ -2,6 +2,7 @@ lammps_version: 10 Feb 2021 date_generated: Fri Feb 26 23:09:00 2021 epsilon: 5e-12 +skip_tests: single prerequisites: ! | pair eam/cd/old pre_commands: ! "" diff --git a/unittest/force-styles/tests/atomic-pair-eam_cd_real.yaml b/unittest/force-styles/tests/atomic-pair-eam_cd_real.yaml index e2ac5f0cae..abe25cff95 100644 --- a/unittest/force-styles/tests/atomic-pair-eam_cd_real.yaml +++ b/unittest/force-styles/tests/atomic-pair-eam_cd_real.yaml @@ -2,6 +2,7 @@ lammps_version: 10 Feb 2021 date_generated: Fri Feb 26 23:09:00 2021 epsilon: 5e-12 +skip_tests: single prerequisites: ! | pair eam/cd pre_commands: ! | diff --git a/unittest/force-styles/tests/atomic-pair-eam_fs.yaml b/unittest/force-styles/tests/atomic-pair-eam_fs.yaml index 89ad740424..58c533d7ec 100644 --- a/unittest/force-styles/tests/atomic-pair-eam_fs.yaml +++ b/unittest/force-styles/tests/atomic-pair-eam_fs.yaml @@ -2,6 +2,7 @@ lammps_version: 10 Feb 2021 date_generated: Fri Feb 26 23:09:01 2021 epsilon: 5e-12 +skip_tests: single prerequisites: ! | pair eam/fs pre_commands: ! "" diff --git a/unittest/force-styles/tests/atomic-pair-eam_fs_real.yaml b/unittest/force-styles/tests/atomic-pair-eam_fs_real.yaml index bf7f4f338b..f7739ee824 100644 --- a/unittest/force-styles/tests/atomic-pair-eam_fs_real.yaml +++ b/unittest/force-styles/tests/atomic-pair-eam_fs_real.yaml @@ -2,6 +2,7 @@ lammps_version: 10 Feb 2021 date_generated: Fri Feb 26 23:09:01 2021 epsilon: 7.5e-12 +skip_tests: single prerequisites: ! | pair eam/fs pre_commands: ! | diff --git a/unittest/force-styles/tests/atomic-pair-eam_he.yaml b/unittest/force-styles/tests/atomic-pair-eam_he.yaml index 001301fe1a..f2bf098b2f 100644 --- a/unittest/force-styles/tests/atomic-pair-eam_he.yaml +++ b/unittest/force-styles/tests/atomic-pair-eam_he.yaml @@ -2,6 +2,7 @@ lammps_version: 10 Feb 2021 date_generated: Fri Feb 26 23:09:01 2021 epsilon: 5e-12 +skip_tests: single prerequisites: ! | pair eam/he pre_commands: ! "" diff --git a/unittest/force-styles/tests/atomic-pair-eam_he_real.yaml b/unittest/force-styles/tests/atomic-pair-eam_he_real.yaml index 236b9538a7..b2b198486e 100644 --- a/unittest/force-styles/tests/atomic-pair-eam_he_real.yaml +++ b/unittest/force-styles/tests/atomic-pair-eam_he_real.yaml @@ -2,6 +2,7 @@ lammps_version: 10 Feb 2021 date_generated: Fri Feb 26 23:09:02 2021 epsilon: 7.5e-12 +skip_tests: single prerequisites: ! | pair eam/he pre_commands: ! | diff --git a/unittest/force-styles/tests/atomic-pair-eam_real.yaml b/unittest/force-styles/tests/atomic-pair-eam_real.yaml index 89e7c1ce0b..4d95f04edc 100644 --- a/unittest/force-styles/tests/atomic-pair-eam_real.yaml +++ b/unittest/force-styles/tests/atomic-pair-eam_real.yaml @@ -2,6 +2,7 @@ lammps_version: 10 Feb 2021 date_generated: Fri Feb 26 23:09:02 2021 epsilon: 5e-12 +skip_tests: single prerequisites: ! | pair eam pre_commands: ! | diff --git a/unittest/force-styles/tests/atomic-pair-hybrid-eam.yaml b/unittest/force-styles/tests/atomic-pair-hybrid-eam.yaml index a681657b65..11f226d493 100644 --- a/unittest/force-styles/tests/atomic-pair-hybrid-eam.yaml +++ b/unittest/force-styles/tests/atomic-pair-hybrid-eam.yaml @@ -2,6 +2,7 @@ lammps_version: 10 Feb 2021 date_generated: Fri Feb 26 23:09:02 2021 epsilon: 1e-11 +skip_tests: single prerequisites: ! | pair eam/fs pre_commands: ! "" diff --git a/unittest/force-styles/tests/atomic-pair-hybrid-eam_fs.yaml b/unittest/force-styles/tests/atomic-pair-hybrid-eam_fs.yaml index d2f511b3ea..ee63f01e63 100644 --- a/unittest/force-styles/tests/atomic-pair-hybrid-eam_fs.yaml +++ b/unittest/force-styles/tests/atomic-pair-hybrid-eam_fs.yaml @@ -2,6 +2,7 @@ lammps_version: 10 Feb 2021 date_generated: Fri Feb 26 23:09:03 2021 epsilon: 5e-12 +skip_tests: single prerequisites: ! | pair eam/fs pre_commands: ! "" diff --git a/unittest/force-styles/tests/atomic-pair-yukawa_colloid.yaml b/unittest/force-styles/tests/atomic-pair-yukawa_colloid.yaml index 1529cf51b9..008c4be01c 100644 --- a/unittest/force-styles/tests/atomic-pair-yukawa_colloid.yaml +++ b/unittest/force-styles/tests/atomic-pair-yukawa_colloid.yaml @@ -2,6 +2,7 @@ lammps_version: 10 Feb 2021 date_generated: Fri Feb 26 23:09:10 2021 epsilon: 5e-14 +skip_tests: single prerequisites: ! | atom sphere pair yukawa/colloid diff --git a/unittest/force-styles/tests/mol-pair-dpd.yaml b/unittest/force-styles/tests/mol-pair-dpd.yaml index 4964a74e2a..c3900a3bc6 100644 --- a/unittest/force-styles/tests/mol-pair-dpd.yaml +++ b/unittest/force-styles/tests/mol-pair-dpd.yaml @@ -2,7 +2,7 @@ lammps_version: 10 Feb 2021 date_generated: Fri Feb 26 23:08:44 2021 epsilon: 5e-14 -skip_tests: gpu intel +skip_tests: gpu intel single prerequisites: ! | atom full pair dpd diff --git a/unittest/force-styles/tests/mol-pair-dpd_tstat.yaml b/unittest/force-styles/tests/mol-pair-dpd_tstat.yaml index 0348c0d601..09d52366ba 100644 --- a/unittest/force-styles/tests/mol-pair-dpd_tstat.yaml +++ b/unittest/force-styles/tests/mol-pair-dpd_tstat.yaml @@ -2,7 +2,7 @@ lammps_version: 10 Feb 2021 date_generated: Fri Feb 26 23:08:44 2021 epsilon: 5e-14 -skip_tests: gpu intel +skip_tests: gpu intel single prerequisites: ! | atom full pair dpd/tstat From 678e243430a61d964757661b3dd0f34423daa3a9 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 20 Apr 2021 14:54:14 -0400 Subject: [PATCH 070/726] small update of unit test inputs --- .../tests/atomic-pair-reax_c.yaml | 277 +++++++++--------- .../tests/atomic-pair-reax_c_lgvdw.yaml | 275 ++++++++--------- .../tests/atomic-pair-reax_c_noqeq.yaml | 51 ++-- 3 files changed, 303 insertions(+), 300 deletions(-) diff --git a/unittest/force-styles/tests/atomic-pair-reax_c.yaml b/unittest/force-styles/tests/atomic-pair-reax_c.yaml index a0dabff323..261812d56c 100644 --- a/unittest/force-styles/tests/atomic-pair-reax_c.yaml +++ b/unittest/force-styles/tests/atomic-pair-reax_c.yaml @@ -1,7 +1,8 @@ --- -lammps_version: 24 Aug 2020 -date_generated: Tue Sep 15 09:44:24 202 -epsilon: 5e-11 +lammps_version: 8 Apr 2021 +date_generated: Mon Apr 19 09:21:15 2021 +epsilon: 1e-10 +skip_tests: prerequisites: ! | pair reax/c fix qeq/reax @@ -24,149 +25,149 @@ pre_commands: ! | set type 2 charge -0.01 velocity all create 100 4534624 loop geom post_commands: ! | - fix qeq all qeq/reax 1 0.0 8.0 1.0e-12 reax/c + fix qeq all qeq/reax 1 0.0 8.0 1.0e-20 reax/c maxiter 20 nowarn input_file: in.empty pair_style: reax/c NULL checkqeq yes pair_coeff: ! | * * ffield.reax.mattsson C O extract: ! "" natoms: 64 -init_vdwl: -4208.20379453327 -init_coul: -268.025868109969 +init_vdwl: -4208.203794533267 +init_coul: -268.02765877429266 init_stress: ! |2- - 2.3677048490920824e+03 3.0802122558803894e+03 1.2727815110256352e+03 -1.5387991688244833e+03 -1.0906364142624241e+03 1.1229877249520346e+03 + 2.3677138597920134e+03 3.0801994317052795e+03 1.2727836669117719e+03 -1.5387982333122163e+03 -1.0906434577120353e+03 1.1229697394381967e+03 init_forces: ! |2 - 1 2.9634051452159092e+01 -5.6267761875030658e+02 -1.6668253255975264e+02 - 2 -1.5938437728854763e+02 -2.2076601831952277e+02 -1.7161994484506349e+02 - 3 -3.1194106231120934e+01 -3.0591930644164984e+02 4.4652570958886855e+01 - 4 4.4646653320086006e+02 1.7080811286682768e+02 1.7439026170464757e+02 - 5 -1.1512606621586120e+02 7.9716954463543715e+01 1.7959700550169842e+01 - 6 -7.1695199301551634e+02 4.0749156821010061e+01 2.1512037025864390e+02 - 7 2.3022543693157868e+02 -9.0170756873660693e+01 8.2190170006827103e+01 - 8 -2.1141251466323027e+01 -1.5635879347049067e+02 1.6101907187949953e+02 - 9 -1.2130842270575529e+02 -2.7960689135673749e+02 -1.9629114850260629e+02 - 10 -3.7631710890081683e+02 3.4103240548842098e+02 -1.8166279141141010e+02 - 11 -1.6154553323830120e+02 1.5743068117734555e+02 3.5832389058238908e+02 - 12 6.1602989065533677e+02 -1.4821564423137232e+02 1.0871005319359449e+02 - 13 -2.1366561068611992e+02 -3.0163595494862591e+02 5.2420406156009221e+02 - 14 2.5933950255870195e+02 -1.7967300062480934e+01 -2.7733367021033393e+02 - 15 1.7570537661851756e+02 1.7550639099552842e+02 -9.5789475936401502e+01 - 16 3.0588529285446674e+02 -4.7675556549182751e+01 -3.4330544488853229e+02 - 17 -1.5018545342641502e+02 1.3259542010622835e+02 2.3200545258695152e+02 - 18 1.6469564396901859e+02 -1.0816413254504512e+02 2.1207485840072781e+02 - 19 2.4759285902953567e+02 -4.8758383780475292e+01 -2.2494100786652814e+02 - 20 1.2418785577595527e+02 2.5137242577522335e+02 -1.5341186115707405e+01 - 21 -1.9556210564940739e+02 2.3152590535605817e+01 -1.2529729601983919e+02 - 22 2.4829386068621537e+02 -2.9828789153725000e+02 -4.0455445433034242e+01 - 23 8.2076007650246268e+01 1.3042103437660427e+02 1.5221389911908562e+02 - 24 -7.6912973583004117e+01 2.3539925428997182e+02 -1.7129603802759658e+02 - 25 -2.9782413878288601e+01 -1.8931910469290884e+02 6.7989202537834629e+01 - 26 -3.9488494691858733e+01 2.1025614474841166e+00 -2.0748963060927093e+02 - 27 -2.7704110443954568e+02 5.3736974078111837e+02 4.2318884882982655e+02 - 28 -2.9303219943086964e+02 -5.1154115419315801e+01 -2.3633993403319352e+02 - 29 1.2970484011863229e+02 -4.2266229540891523e+01 1.6350076615001245e+02 - 30 5.6925606430450244e+01 3.7880191852738363e+01 6.8636397133393515e+01 - 31 -1.9325596697344542e+02 -1.1645368911552394e+02 -2.0671692761029085e+01 - 32 1.2360965200003356e+02 -3.3253411369799544e+01 -1.0516118459008628e+02 - 33 6.5241847803264264e+01 3.7105112939426823e+02 6.0972558235487462e+01 - 34 -2.3124259597670152e+02 -1.1681740329837199e+02 -2.5838262648349195e+02 - 35 -4.1912226107435538e+02 7.9942920270919515e+01 3.1021023518178822e+02 - 36 -1.8561789047275289e+02 -1.1563628711158724e+02 -4.2360172436739234e+01 - 37 8.8271496723997984e+00 -3.5266450940740185e+02 -6.0505384072464253e+01 - 38 -1.9249505149150679e+01 1.1716319600328805e+02 -2.3477222840192979e+02 - 39 -1.0433878247256505e+01 -7.0902801856124668e+01 1.4264113912371403e+02 - 40 3.3265570779159901e+02 -8.8675933035708010e+02 1.6250845779831312e+01 - 41 -6.4537349815542413e+01 1.5189506353207591e+02 -1.8225353662815957e+02 - 42 2.3368723487133941e+01 1.1821526859991214e+02 4.1207323013177859e+02 - 43 -3.5145546474481449e+01 -3.6511647370571314e+00 2.4936793079195368e+02 - 44 -1.2881828259629406e+00 -2.4877240180809443e+02 7.9235766494652268e+01 - 45 2.0871504532583336e+02 -1.0817588901332421e+02 -4.1291808327418767e+02 - 46 -1.3837716960724282e+02 4.6114279241771982e+02 -2.4013801845132105e+02 - 47 1.3255320792807126e+02 2.8747276038957534e+02 -3.2896384987639095e+01 - 48 7.8145138718960652e+02 6.5215432481087248e+01 -6.2304789958695994e+02 - 49 2.4486314507349098e+02 1.9101300126648027e+01 3.7417037047533785e+02 - 50 2.9821275118609668e+02 3.0684252095011033e+02 5.6994896759607411e+02 - 51 -8.0052405736428466e+02 5.1024940640343124e+02 7.5829315450302556e+02 - 52 -9.2130898885920971e+01 1.1909837120722435e+02 -2.4118832391136704e+02 - 53 -3.6386926333492499e+02 -2.0729203700042348e+02 -3.4910517647674493e+02 - 54 -8.3399710534859324e+01 1.8942260327527066e+02 -1.2868598438441273e+02 - 55 -2.5305956575882524e+02 -1.1005916187119085e+02 -3.0893514828401271e+02 - 56 1.7364614503186098e+02 -2.5754370913466397e+02 -4.3744509948530059e+01 - 57 4.2667925201490533e+02 1.5529221173801471e+02 -3.9988499000695890e+02 - 58 -3.9656744140931579e+01 7.8953243693622596e+01 2.6135299122214326e+02 - 59 -2.7594240444747766e+02 1.9891763338576968e+02 2.4122500794444767e+02 - 60 -2.5675904361267118e+02 -1.1527171320999500e+02 9.9923550442604068e+01 - 61 3.0884427580032076e+02 4.9986415802554944e+02 -1.3369122169845875e+02 - 62 2.8530106503430972e+01 5.9540697567549117e-01 -2.7403025931165831e+02 - 63 2.5297054006405324e+02 -2.7640485799390927e+02 -1.9200503841891754e+02 - 64 -8.4680445259235810e+01 -1.5737027404334836e+02 1.5637808719891763e+02 -run_vdwl: -4208.20960310156 -run_coul: -268.025834774416 + 1 2.9633286152714895e+01 -5.6268158870662865e+02 -1.6667929778658686e+02 + 2 -1.5938461587386283e+02 -2.2076632409584278e+02 -1.7162405040710766e+02 + 3 -3.1194767737908826e+01 -3.0592472349600524e+02 4.4651629891466243e+01 + 4 4.4646596256626185e+02 1.7080830170172359e+02 1.7439025633170678e+02 + 5 -1.1512522479897345e+02 7.9717596119857888e+01 1.7958911311542607e+01 + 6 -7.1695066631618761e+02 4.0748756065642638e+01 2.1511809762804484e+02 + 7 2.3022206076223796e+02 -9.0168647609670387e+01 8.2189129278766103e+01 + 8 -2.1137097290905352e+01 -1.5635843951502784e+02 1.6101855425514745e+02 + 9 -1.2130643966073812e+02 -2.7960290186509405e+02 -1.9629224425201704e+02 + 10 -3.7631894872912522e+02 3.4103357651251537e+02 -1.8166645213907478e+02 + 11 -1.6153902964754667e+02 1.5743241425267431e+02 3.5832306945377178e+02 + 12 6.1603732792700282e+02 -1.4821040465468917e+02 1.0870676706201488e+02 + 13 -2.1366851202213653e+02 -3.0163954126350092e+02 5.2420915627618558e+02 + 14 2.5933780612532126e+02 -1.7968461610614241e+01 -2.7733218830598901e+02 + 15 1.7570487907901011e+02 1.7550789799326304e+02 -9.5786451085155491e+01 + 16 3.0589204520776934e+02 -4.7676020729815768e+01 -3.4330483431656791e+02 + 17 -1.5018690887845338e+02 1.3259473313627657e+02 2.3200552664411475e+02 + 18 1.6469519167779183e+02 -1.0816250655621064e+02 2.1207543727392661e+02 + 19 2.4759344887399081e+02 -4.8758511247092088e+01 -2.2494130722447932e+02 + 20 1.2418791307460424e+02 2.5137179718270556e+02 -1.5340308025983461e+01 + 21 -1.9556242958992678e+02 2.3151160715888874e+01 -1.2529867634994399e+02 + 22 2.4829292770827422e+02 -2.9828612004289113e+02 -4.0454677881884024e+01 + 23 8.2077976837017900e+01 1.3041866298293627e+02 1.5221209316034532e+02 + 24 -7.6913783243387826e+01 2.3540203354364189e+02 -1.7129245933770727e+02 + 25 -2.9781744550605662e+01 -1.8931888070263267e+02 6.7990019857554202e+01 + 26 -3.9488424247767014e+01 2.0999360632613091e+00 -2.0748830164832864e+02 + 27 -2.7704383990910344e+02 5.3737323080507701e+02 4.2318830552299499e+02 + 28 -2.9302153625490882e+02 -5.1150243581343020e+01 -2.3633573764669612e+02 + 29 1.2970603958450926e+02 -4.2262332230398229e+01 1.6349790455526482e+02 + 30 5.6924470622841902e+01 3.7878571490062619e+01 6.8637961971110911e+01 + 31 -1.9325586894804644e+02 -1.1645468493273863e+02 -2.0673145110109189e+01 + 32 1.2359537270071175e+02 -3.3261682729471509e+01 -1.0517081413370242e+02 + 33 6.5244494839342053e+01 3.7105575675452133e+02 6.0972008518320628e+01 + 34 -2.3124412393972406e+02 -1.1681894708374426e+02 -2.5838515661900914e+02 + 35 -4.1912097866037749e+02 7.9940298322579153e+01 3.1020906752098472e+02 + 36 -1.8561756690805518e+02 -1.1563749469376307e+02 -4.2356131544286932e+01 + 37 8.8268459557867800e+00 -3.5266202517998272e+02 -6.0508589419221380e+01 + 38 -1.9251065954670622e+01 1.1716443799821707e+02 -2.3476787650314483e+02 + 39 -1.0434207876793304e+01 -7.0902825597879200e+01 1.4264102290267166e+02 + 40 3.3265415672808695e+02 -8.8676314506220365e+02 1.6250323289221797e+01 + 41 -6.4525340969477625e+01 1.5190482993381195e+02 -1.8226363836162227e+02 + 42 2.3374265976474046e+01 1.1820849928255014e+02 4.1205919897871769e+02 + 43 -3.5145427442179937e+01 -3.6494054739761985e+00 2.4936139875273903e+02 + 44 -1.2909580317707088e+00 -2.4878033872407525e+02 7.9235212511230884e+01 + 45 2.0871432412721612e+02 -1.0816380085646371e+02 -4.1290534066227440e+02 + 46 -1.3837993836409981e+02 4.6113983127416537e+02 -2.4014147975943226e+02 + 47 1.3255343208840517e+02 2.8747648851097466e+02 -3.2895641248751062e+01 + 48 7.8145151343613895e+02 6.5212246673697649e+01 -6.2304415905848475e+02 + 49 2.4486207561858652e+02 1.9098760054137188e+01 3.7416718126982084e+02 + 50 2.9821250019803648e+02 3.0684285856103526e+02 5.6995325423529778e+02 + 51 -8.0052512629134719e+02 5.1024666433916468e+02 7.5828839863942687e+02 + 52 -9.2132795322260193e+01 1.1909938868988401e+02 -2.4119177446813089e+02 + 53 -3.6386508146804226e+02 -2.0728774423637225e+02 -3.4909372895932455e+02 + 54 -8.3400478462696412e+01 1.8942847373883873e+02 -1.2868846530013360e+02 + 55 -2.5306030895087017e+02 -1.1005903030773361e+02 -3.0893490115268742e+02 + 56 1.7363066404655606e+02 -2.5755159082633384e+02 -4.3732393367297526e+01 + 57 4.2667868235664599e+02 1.5529168633998034e+02 -3.9988358463751354e+02 + 58 -3.9654228870269598e+01 7.8950867015507271e+01 2.6135841350205141e+02 + 59 -2.7594567334153987e+02 1.9892282891821415e+02 2.4123100379637927e+02 + 60 -2.5675971154579702e+02 -1.1527142348407712e+02 9.9923841074681320e+01 + 61 3.0884909844566982e+02 4.9986511818576071e+02 -1.3369330200973721e+02 + 62 2.8529506416321446e+01 5.9000054110319344e-01 -2.7402724976042202e+02 + 63 2.5296716267913251e+02 -2.7640609445310349e+02 -1.9200849927940413e+02 + 64 -8.4682581712903087e+01 -1.5737182215029318e+02 1.5637971229670848e+02 +run_vdwl: -4208.209603101568 +run_coul: -268.02581602182215 run_stress: ! |2- - 2.3675903993358406e+03 3.0802227297812642e+03 1.2727311522665882e+03 -1.5388669378280856e+03 -1.0907269208274088e+03 1.1229243202747448e+03 + 2.3675915915115038e+03 3.0802240114846613e+03 1.2727324747502155e+03 -1.5388667254325053e+03 -1.0907269430167464e+03 1.1229240366702902e+03 run_forces: ! |2 - 1 2.9635294281436092e+01 -5.6267712552700186e+02 -1.6667999923843206e+02 - 2 -1.5938673400140527e+02 -2.2076536449677653e+02 -1.7162354129440891e+02 - 3 -3.1189858281210785e+01 -3.0593580065887033e+02 4.4645958607345577e+01 - 4 4.4646581891377559e+02 1.7080959763779822e+02 1.7439093938229493e+02 - 5 -1.1512839796352765e+02 7.9717058687958001e+01 1.7957487669481100e+01 - 6 -7.1695602565953550e+02 4.0752829698478386e+01 2.1512533839223761e+02 - 7 2.3022644486507866e+02 -9.0168915600464501e+01 8.2194655874286369e+01 - 8 -2.1149264848910175e+01 -1.5637111051646082e+02 1.6102981315503155e+02 - 9 -1.2130987756625950e+02 -2.7961363383960696e+02 -1.9628960069621482e+02 - 10 -3.7631817089739258e+02 3.4103259385919483e+02 -1.8166532788364435e+02 - 11 -1.6154687915100456e+02 1.5742797820605873e+02 3.5832199951133140e+02 - 12 6.1603841944552107e+02 -1.4820397700260011e+02 1.0871524086045234e+02 - 13 -2.1367529106982624e+02 -3.0167446795645282e+02 5.2424091634214585e+02 - 14 2.5933827511245227e+02 -1.7968203382107991e+01 -2.7733114072560983e+02 - 15 1.7570793004227912e+02 1.7551005525189765e+02 -9.5784231788957229e+01 - 16 3.0586985592964720e+02 -4.7679566106090903e+01 -3.4332192731516005e+02 - 17 -1.5018636472319054e+02 1.3259146324636768e+02 2.3200578297682745e+02 - 18 1.6469881174797919e+02 -1.0816836176970681e+02 2.1207670716671672e+02 - 19 2.4759420520521982e+02 -4.8758383157848726e+01 -2.2494116682891169e+02 - 20 1.2419960666459312e+02 2.5137933265677643e+02 -1.5328241144786812e+01 - 21 -1.9556094492813440e+02 2.3151723981859487e+01 -1.2529581330695682e+02 - 22 2.4829941584472434e+02 -2.9829345245026002e+02 -4.0446702084680311e+01 - 23 8.2074458696897636e+01 1.3042100306278206e+02 1.5221371881645402e+02 - 24 -7.6917668833393961e+01 2.3540360228741474e+02 -1.7130192995348895e+02 - 25 -2.9742104523748988e+01 -1.8935699467866542e+02 6.7995874219778344e+01 - 26 -3.9494943772414118e+01 2.1074054700131106e+00 -2.0748981609909322e+02 - 27 -2.7704003655188802e+02 5.3736954143358219e+02 4.2318574013795291e+02 - 28 -2.9302855291141344e+02 -5.1149666119061756e+01 -2.3633679976969094e+02 - 29 1.2970505460316522e+02 -4.2266433901186595e+01 1.6349685185829642e+02 - 30 5.6925896868100061e+01 3.7880918758124416e+01 6.8637128510118643e+01 - 31 -1.9325534294267334e+02 -1.1645328076630720e+02 -2.0671892621504433e+01 - 32 1.2360198063047470e+02 -3.3253019999994883e+01 -1.0516936549572080e+02 - 33 6.5239383936127538e+01 3.7104662858441014e+02 6.0974455303813109e+01 - 34 -2.3124084085048867e+02 -1.1681523003062699e+02 -2.5837805461659735e+02 - 35 -4.1912113383003572e+02 7.9943750613190943e+01 3.1020725803699969e+02 - 36 -1.8561422052416717e+02 -1.1563434085907485e+02 -4.2360108129760114e+01 - 37 8.8275421439853545e+00 -3.5266971563414063e+02 -6.0507541452884695e+01 - 38 -1.9245036832008864e+01 1.1717726898956253e+02 -2.3478417248390394e+02 - 39 -1.0434224692455489e+01 -7.0902644440221152e+01 1.4263978421851866e+02 - 40 3.3271177801104579e+02 -8.8679293552758975e+02 1.6219742097522396e+01 - 41 -6.4538764985979284e+01 1.5189397693612446e+02 -1.8225441696827028e+02 - 42 2.3368235855950271e+01 1.1822246665265955e+02 4.1207745038608465e+02 - 43 -3.5145643416957128e+01 -3.6517162539675607e+00 2.4936784353003958e+02 - 44 -1.2879745401173426e+00 -2.4877345145177651e+02 7.9236449970532846e+01 - 45 2.0871643412343590e+02 -1.0817571271652029e+02 -4.1291831345583290e+02 - 46 -1.3836372705500636e+02 4.6117938292216792e+02 -2.4016736526257426e+02 - 47 1.3255125611053478e+02 2.8747591615862939e+02 -3.2895660248580036e+01 - 48 7.8145417759941688e+02 6.5214930060474302e+01 -6.2304930828901490e+02 - 49 2.4488281403350587e+02 1.9105496615734893e+01 3.7418605144315814e+02 - 50 2.9822129513623162e+02 3.0683153982649424e+02 5.6994490418787450e+02 - 51 -8.0058572063723739e+02 5.1028617285810617e+02 7.5832431569053767e+02 - 52 -9.2137024513584748e+01 1.1910687193191870e+02 -2.4119120858089093e+02 - 53 -3.6387082584370717e+02 -2.0729771077034724e+02 -3.4910499737703145e+02 - 54 -8.3401322475858819e+01 1.8942466656608883e+02 -1.2869045777950635e+02 - 55 -2.5309678413623661e+02 -1.1001947899860551e+02 -3.0896372370111590e+02 - 56 1.7364604573970860e+02 -2.5754429115057047e+02 -4.3743962049926409e+01 - 57 4.2666362581830975e+02 1.5528157995548534e+02 -3.9988032807883297e+02 - 58 -3.9656744873436978e+01 7.8953170998895359e+01 2.6135222052438655e+02 - 59 -2.7594581611220792e+02 1.9891770704106938e+02 2.4122933700028292e+02 - 60 -2.5675992319674720e+02 -1.1527235824442458e+02 9.9923831048598458e+01 - 61 3.0884428120727830e+02 4.9986711220603212e+02 -1.3369013376809971e+02 - 62 2.8530678742782751e+01 5.9283151666778267e-01 -2.7403002505086550e+02 - 63 2.5296775626792288e+02 -2.7640525289650611e+02 -1.9200401038421046e+02 - 64 -8.4674586435418931e+01 -1.5736397776818120e+02 1.5637348700606000e+02 + 1 2.9635340083051346e+01 -5.6267710249795869e+02 -1.6667998370665143e+02 + 2 -1.5938666826920343e+02 -2.2076534189863366e+02 -1.7162354109212984e+02 + 3 -3.1189870810301095e+01 -3.0593571985047180e+02 4.4645956923836664e+01 + 4 4.4646581130069950e+02 1.7080959759402148e+02 1.7439093558473147e+02 + 5 -1.1512840430317976e+02 7.9717053594844629e+01 1.7957493384932661e+01 + 6 -7.1695600898242708e+02 4.0752809200821034e+01 2.1512530796739239e+02 + 7 2.3022648522685608e+02 -9.0168938352327743e+01 8.2194670669568964e+01 + 8 -2.1149215429861702e+01 -1.5637110513857075e+02 1.6102981761092099e+02 + 9 -1.2130987184908217e+02 -2.7961359052794438e+02 -1.9628960657192528e+02 + 10 -3.7631820453396847e+02 3.4103263667614613e+02 -1.8166531833456517e+02 + 11 -1.6154688755051467e+02 1.5742797323066301e+02 3.5832199781281412e+02 + 12 6.1603846554302856e+02 -1.4820394873283382e+02 1.0871523277525925e+02 + 13 -2.1367534498311514e+02 -3.0167456097439617e+02 5.2424088341628442e+02 + 14 2.5933832701218608e+02 -1.7968192701718916e+01 -2.7733108167843062e+02 + 15 1.7570795092251277e+02 1.7551000310384359e+02 -9.5784222372814824e+01 + 16 3.0586981469801617e+02 -4.7679565967035259e+01 -3.4332195262424483e+02 + 17 -1.5018632687377072e+02 1.3259144780414934e+02 2.3200578527117301e+02 + 18 1.6469880313326215e+02 -1.0816831870102239e+02 2.1207667736516382e+02 + 19 2.4759420024003853e+02 -4.8758379338079727e+01 -2.2494116275048481e+02 + 20 1.2419960129665635e+02 2.5137932270320678e+02 -1.5328240053348356e+01 + 21 -1.9556094383241299e+02 2.3151696381601958e+01 -1.2529580363737537e+02 + 22 2.4829940463520313e+02 -2.9829343297891006e+02 -4.0446694405761576e+01 + 23 8.2074486469597687e+01 1.3042095796913281e+02 1.5221366791874641e+02 + 24 -7.6917692833702446e+01 2.3540351711765027e+02 -1.7130196247252570e+02 + 25 -2.9742100996765380e+01 -1.8935699491160051e+02 6.7995875362048835e+01 + 26 -3.9494945036515908e+01 2.1074087479630634e+00 -2.0748976668424677e+02 + 27 -2.7704005979662662e+02 5.3736953816242783e+02 4.2318569074160462e+02 + 28 -2.9302860300138957e+02 -5.1149672303866737e+01 -2.3633681317128332e+02 + 29 1.2970506005124116e+02 -4.2266505241952196e+01 1.6349682642247129e+02 + 30 5.6925895652797955e+01 3.7880903611520054e+01 6.8637138210808786e+01 + 31 -1.9325535402701956e+02 -1.1645328207806656e+02 -2.0671892295502396e+01 + 32 1.2360206049549920e+02 -3.3252985301196659e+01 -1.0516931870918121e+02 + 33 6.5239430456833531e+01 3.7104671672305966e+02 6.0974424435615809e+01 + 34 -2.3124086955801889e+02 -1.1681533354856286e+02 -2.5837807428177962e+02 + 35 -4.1912107298361212e+02 7.9943751193797880e+01 3.1020726776656619e+02 + 36 -1.8561413355995509e+02 -1.1563427104741439e+02 -4.2360264054660597e+01 + 37 8.8273599678770864e+00 -3.5266981598144150e+02 -6.0507477320620680e+01 + 38 -1.9245038012709841e+01 1.1717725521030376e+02 -2.3478404802363110e+02 + 39 -1.0434215698836438e+01 -7.0902647384814358e+01 1.4263978849003041e+02 + 40 3.3271178359289979e+02 -8.8679283858336646e+02 1.6219768658650871e+01 + 41 -6.4538810609188275e+01 1.5189398379892381e+02 -1.8225442798722727e+02 + 42 2.3368203862303545e+01 1.1822249156204117e+02 4.1207761014771074e+02 + 43 -3.5145614670828280e+01 -3.6517750326814120e+00 2.4936780076604907e+02 + 44 -1.2879422574017376e+00 -2.4877334082189225e+02 7.9236450933542571e+01 + 45 2.0871640299070592e+02 -1.0817582150128533e+02 -4.1291845938329635e+02 + 46 -1.3836372708562709e+02 4.6117937798867194e+02 -2.4016736146584793e+02 + 47 1.3255127160214204e+02 2.8747595545221196e+02 -3.2895652028052091e+01 + 48 7.8145389054767179e+02 6.5214945379088277e+01 -6.2304920777042912e+02 + 49 2.4488291106236500e+02 1.9105409364926288e+01 3.7418589758696908e+02 + 50 2.9822130989912665e+02 3.0683153011979800e+02 5.6994487035095165e+02 + 51 -8.0058521183025380e+02 5.1028581602653651e+02 7.5832461768047244e+02 + 52 -9.2137019037691147e+01 1.1910697318842861e+02 -2.4119128768698766e+02 + 53 -3.6387123110982282e+02 -2.0729720964342076e+02 -3.4910519380830556e+02 + 54 -8.3401332800193543e+01 1.8942464275359734e+02 -1.2869043354758486e+02 + 55 -2.5309678157873975e+02 -1.1001947468656527e+02 -3.0896372177857239e+02 + 56 1.7364608133921760e+02 -2.5754423801373565e+02 -4.3743927978158730e+01 + 57 4.2666357128098645e+02 1.5528157162856127e+02 -3.9988029715399989e+02 + 58 -3.9656756118817448e+01 7.8953165237690285e+01 2.6135222125861111e+02 + 59 -2.7594578242635424e+02 1.9891765773401318e+02 2.4122928728349606e+02 + 60 -2.5675991915252069e+02 -1.1527235180653685e+02 9.9923833769027368e+01 + 61 3.0884427542809721e+02 4.9986710924069786e+02 -1.3369013404232507e+02 + 62 2.8530654477154116e+01 5.9282210053495610e-01 -2.7403003802560033e+02 + 63 2.5296776535482985e+02 -2.7640523185325759e+02 -1.9200396674401188e+02 + 64 -8.4674657022429557e+01 -1.5736405319931387e+02 1.5637353707611086e+02 ... diff --git a/unittest/force-styles/tests/atomic-pair-reax_c_lgvdw.yaml b/unittest/force-styles/tests/atomic-pair-reax_c_lgvdw.yaml index 567bddf5ce..b24f60dc62 100644 --- a/unittest/force-styles/tests/atomic-pair-reax_c_lgvdw.yaml +++ b/unittest/force-styles/tests/atomic-pair-reax_c_lgvdw.yaml @@ -1,7 +1,8 @@ --- -lammps_version: 10 Feb 2021 -date_generated: Fri Feb 26 23:09:06 2021 +lammps_version: 8 Apr 2021 +date_generated: Mon Apr 19 09:21:17 2021 epsilon: 2e-10 +skip_tests: prerequisites: ! | pair reax/c fix qeq/reax @@ -24,149 +25,149 @@ pre_commands: ! | set type 2 charge -0.01 velocity all create 100 4534624 loop geom post_commands: ! | - fix qeq all qeq/reax 1 0.0 8.0 1.0e-12 reax/c + fix qeq all qeq/reax 1 0.0 8.0 1.0e-20 reax/c maxiter 20 nowarn input_file: in.empty pair_style: reax/c NULL checkqeq yes lgvdw yes safezone 1.6 pair_coeff: ! | * * ffield.reax.lg C O extract: ! "" natoms: 64 -init_vdwl: -3780.05455778888 -init_coul: -279.915673357255 +init_vdwl: -3780.0545577888824 +init_coul: -279.9157988760615 init_stress: ! |2- - 3.6448951295886809e+03 3.7339747706707872e+03 3.9381618834038791e+03 -8.8619786783545931e+02 2.5350870087071300e+02 -5.2815321737906061e+02 + 3.6448931383720665e+03 3.7339659142876435e+03 3.9381659849081570e+03 -8.8620105504582875e+02 2.5350490498306664e+02 -5.2816569317142807e+02 init_forces: ! |2 - 1 -1.4572029645683264e+02 -2.2140279106291507e+02 -1.4808209307797372e+02 - 2 -1.7648559093934148e+02 -1.0146253457806542e+02 -1.7990394625657274e+01 - 3 -2.0615681734642330e+01 -4.0343795757803508e+02 -3.8603528931018054e+01 - 4 2.6614805335034998e+02 4.0003808276416684e+01 1.4690013778960667e+02 - 5 9.7835379063416177e+00 4.3883349405662791e+01 4.9796878717762787e+01 - 6 -2.6938292077229727e+02 3.3510334278335421e+00 2.2965715764113384e+02 - 7 3.2574907048037380e+02 -1.7976941537341810e+02 2.2179461677416583e+02 - 8 9.9964451146865471e+01 -2.8685082304987185e+02 1.4158552983794476e+02 - 9 1.6434754325282601e+01 -1.9355787416131696e+02 -9.4334270045756043e+01 - 10 -2.0854046881408067e+02 1.0026332198593936e+02 -1.5021108992594620e+02 - 11 -2.0573869228583661e+02 2.7604115414799344e+02 5.5777178022191936e+02 - 12 5.0287983468578147e+02 -6.0967301596834591e+02 3.9376960681073700e+02 - 13 -9.1248851272055674e+01 3.5482322889104140e+01 7.9771590707710800e+01 - 14 1.1722782444599024e+02 7.0786340536242163e+00 -1.1012937857655862e+02 - 15 2.0459798791677210e+02 1.1350278391711655e+01 -6.9643830810411416e+01 - 16 6.4801734481789666e+01 2.7717249468796996e+02 9.6968479199374073e+01 - 17 -1.1757359629210440e+02 7.5596700050451688e+01 8.2370289516995197e+00 - 18 1.4980090631536169e+02 4.6438235985629220e+01 1.9074239639237979e+02 - 19 9.9231823331994249e+01 -3.4161546701845765e+01 -9.3483634123621087e+01 - 20 3.4394881232874110e+02 1.8755825664166662e+02 1.8392127409682581e+02 - 21 -1.7639610172391272e+02 5.9887963695524753e+01 2.3192666899298981e+01 - 22 3.5943370198457734e+02 -4.9707358210204012e+02 2.0606470760846634e+02 - 23 1.7581454592506283e+01 2.1298589011272401e+02 1.9485076353331874e+02 - 24 -1.8644255768132263e+02 2.0152190140053236e+02 -1.5033309490489984e+02 - 25 6.6423577752363499e+01 -2.6628307450649118e+02 6.5041785228006987e+01 - 26 -2.9537785779457244e+02 1.8889631581804576e+02 8.6386764001190215e+01 - 27 1.0405918844455742e+02 -2.5941844595001200e+00 -6.3479328226780297e+01 - 28 -1.7940076477784703e+02 -1.9073773001560042e+02 -1.6921173789426470e+02 - 29 2.8517719341938289e+02 -9.8606325860704928e+01 -1.5865623093424992e+02 - 30 3.3012242903480393e-01 9.9396498728799443e+01 3.2850839694515677e+00 - 31 -1.8086381055199379e+00 -5.1096382098849077e+01 6.0017778789149006e+00 - 32 3.1529080422017097e+02 -1.2793618573898891e+02 -2.4176655958597905e+02 - 33 -5.4059845316529982e+00 1.7567793716993873e+02 -1.1807703472018468e+02 - 34 -1.9400422792080016e+02 -1.0951834015498645e+02 -1.5439493063315896e+02 - 35 -1.9195028872533084e+02 -1.2771069506738369e+01 1.3164511899864968e+02 - 36 2.1450496684040476e+02 4.8524211958783019e+02 -2.2938069671779124e+02 - 37 -3.3553470604466861e+02 -4.9645835564195778e+02 2.1990191695195585e+02 - 38 -3.2544634716452649e+01 2.4953051954442103e+01 -1.5693055302887637e+02 - 39 -1.5399380031833186e+01 2.3903552655945369e+01 9.6153869485537527e+01 - 40 -6.4358524883048119e+01 1.7841114478565163e+02 1.6199309566416363e+02 - 41 -2.4659875162869224e+02 2.3085714222291421e+02 -2.9640003056844074e+02 - 42 -2.9451816756430145e+02 4.3373137951523881e+02 4.3706447002809585e+02 - 43 1.3265813359025546e+02 -2.9267792386382844e+01 2.3063687596593061e+02 - 44 1.0054916914535585e+02 -2.0011423542533092e+02 1.1673423852526635e+02 - 45 1.5191419311763582e+02 -3.3909681846522182e+02 -6.8137727102148324e+02 - 46 -3.6974683734054048e+02 6.5878375129662163e+02 -1.2846618277461354e+02 - 47 7.0999436005486899e+01 2.6787204282530024e+02 -2.6037631699380153e+01 - 48 4.8459114652542161e+02 -1.6692984322713417e+02 -3.2654222496284581e+02 - 49 1.0015069521843192e+02 1.7138648274496632e+01 1.2769578723947120e+02 - 50 -2.5642349862470508e+02 4.8550182268850142e+02 1.7833824453195746e+02 - 51 1.5929454215699664e+03 -1.5099874513231559e+03 1.3757379604584460e+03 - 52 -3.9361841716365302e+02 2.9260629050190221e+02 -2.7081695001177656e+02 - 53 -1.2156822810124922e+03 1.0481194207223216e+03 -1.7260439380729260e+03 - 54 5.4550048561223889e+01 1.0309107570306772e+02 -6.1755737140629734e+01 - 55 -2.0237966584139775e+02 1.8109638545320627e+02 -4.9049185930881845e+02 - 56 2.0035852288703015e+02 -1.8905601495144680e+02 -1.3674988378339864e+02 - 57 -1.7850181832398803e+02 -3.3738128559238868e+02 -1.4864548151794997e+02 - 58 -2.5672973403862750e+02 -1.3337752501158548e+02 8.4361840521538781e+01 - 59 -1.7898419258529674e+02 1.8142061294130923e+02 2.7914590931082478e+02 - 60 -7.4397281468755821e+01 -6.8191313100547362e+01 5.7945873657168903e+01 - 61 9.6097455977519928e+01 4.4560160451051973e+02 5.3539867605744419e+01 - 62 3.3100209418397625e+01 1.3292271559420541e+02 -3.6118667405609742e+01 - 63 -2.5659895412732226e+01 -3.1619326785330378e+02 5.0013180663156710e+01 - 64 2.5886074093968855e+01 -6.0852122206871925e+01 7.5059691631914314e+00 -run_vdwl: -3780.05347390992 -run_coul: -279.915602843914 + 1 -1.4572091886023205e+02 -2.2140554853210335e+02 -1.4808089621820409e+02 + 2 -1.7648676367493852e+02 -1.0146318760917033e+02 -1.7992199180511228e+01 + 3 -2.0615863857279255e+01 -4.0344141093113177e+02 -3.8603948937580682e+01 + 4 2.6614837240037974e+02 4.0003929778899199e+01 1.4690018353209234e+02 + 5 9.7844364238111634e+00 4.3884264292874640e+01 4.9796276452188778e+01 + 6 -2.6938167754794108e+02 3.3502567046531411e+00 2.2965489848185831e+02 + 7 3.2574749906033628e+02 -1.7976901688562575e+02 2.2179384812686754e+02 + 8 9.9963664597069211e+01 -2.8685055064461562e+02 1.4158554323500957e+02 + 9 1.6434737377652411e+01 -1.9355784885649135e+02 -9.4333988453824674e+01 + 10 -2.0854160335689650e+02 1.0026489817881713e+02 -1.5021072248976765e+02 + 11 -2.0573434026899415e+02 2.7604212909913434e+02 5.5777133973549599e+02 + 12 5.0288346447168902e+02 -6.0966999599334633e+02 3.9376794144396729e+02 + 13 -9.1250837980014055e+01 3.5479126438212312e+01 7.9772485712987830e+01 + 14 1.1722657768580721e+02 7.0781215767454047e+00 -1.1012920740892103e+02 + 15 2.0459752525877119e+02 1.1351310328466946e+01 -6.9642718405081723e+01 + 16 6.4806165788586554e+01 2.7717257212730721e+02 9.6969385115315887e+01 + 17 -1.1757474559792530e+02 7.5596314208592773e+01 8.2371686135118694e+00 + 18 1.4980035999104621e+02 4.6438099206051213e+01 1.9074297138984858e+02 + 19 9.9234004591160854e+01 -3.4162209353811022e+01 -9.3484579137358054e+01 + 20 3.4394959503379101e+02 1.8755989482421211e+02 1.8392094734100132e+02 + 21 -1.7639663517067046e+02 5.9886792943355104e+01 2.3192630518286926e+01 + 22 3.5943350303372904e+02 -4.9707299042671059e+02 2.0606498955302629e+02 + 23 1.7582092751419758e+01 2.1298501938255976e+02 1.9485029772476997e+02 + 24 -1.8644089886656593e+02 2.0152439860030270e+02 -1.5033144599992980e+02 + 25 6.6423833906552588e+01 -2.6628287125895685e+02 6.5042482646519929e+01 + 26 -2.9537910718596163e+02 1.8889491141232935e+02 8.6384752113539022e+01 + 27 1.0405788965828641e+02 -2.5925449178566540e+00 -6.3480098517547759e+01 + 28 -1.7939608695369640e+02 -1.9073765779235862e+02 -1.6920914616960835e+02 + 29 2.8517744376210021e+02 -9.8603006038058396e+01 -1.5865567773918144e+02 + 30 3.2949780945743384e-01 9.9395901723688951e+01 3.2867025811830066e+00 + 31 -1.8081982094889877e+00 -5.1095979886608603e+01 6.0017226789971536e+00 + 32 3.1528485795048732e+02 -1.2793879136489154e+02 -2.4176923563635890e+02 + 33 -5.4047496313993761e+00 1.7567978501697323e+02 -1.1807749995154678e+02 + 34 -1.9400365443632006e+02 -1.0951910631961994e+02 -1.5439514659643123e+02 + 35 -1.9195164058841638e+02 -1.2771663795724534e+01 1.3164519528710119e+02 + 36 2.1450335760238607e+02 4.8524149100278362e+02 -2.2937661241075210e+02 + 37 -3.3553202602756068e+02 -4.9645660169968471e+02 2.1989946614447041e+02 + 38 -3.2545637693167187e+01 2.4953724757619213e+01 -1.5692994894863165e+02 + 39 -1.5399133308638410e+01 2.3903543199312750e+01 9.6153912587959454e+01 + 40 -6.4359455436231784e+01 1.7840898418733599e+02 1.6199268811537300e+02 + 41 -2.4659695132042634e+02 2.3085908053073328e+02 -2.9640112753929327e+02 + 42 -2.9451821900140999e+02 4.3373059300879572e+02 4.3706356205288336e+02 + 43 1.3266010178695632e+02 -2.9267135032181088e+01 2.3063316835486089e+02 + 44 1.0054895163178887e+02 -2.0011754287270674e+02 1.1673372624795425e+02 + 45 1.5191525332856557e+02 -3.3909441520578207e+02 -6.8137683597574699e+02 + 46 -3.6974751746664356e+02 6.5878294118257850e+02 -1.2846738301725193e+02 + 47 7.0999626065694201e+01 2.6787348460906964e+02 -2.6037187103136354e+01 + 48 4.8458888753820582e+02 -1.6692979718938696e+02 -3.2654041125642522e+02 + 49 1.0015039714682548e+02 1.7137645197720190e+01 1.2769396347000726e+02 + 50 -2.5642342676546355e+02 4.8550218436953134e+02 1.7834042598268297e+02 + 51 1.5929472695008881e+03 -1.5099908240612401e+03 1.3757388145073317e+03 + 52 -3.9361969825076892e+02 2.9260735969130604e+02 -2.7081798065168311e+02 + 53 -1.2156829912640842e+03 1.0481229021396230e+03 -1.7260431178358995e+03 + 54 5.4550088623147516e+01 1.0309452579709432e+02 -6.1757701222598442e+01 + 55 -2.0238006702340041e+02 1.8109613688188938e+02 -4.9049119362596980e+02 + 56 2.0035548328443991e+02 -1.8905716639832801e+02 -1.3674890405161500e+02 + 57 -1.7850234090472205e+02 -3.3738119605793531e+02 -1.4864438401289951e+02 + 58 -2.5672838772121492e+02 -1.3337878903216912e+02 8.4365052514154812e+01 + 59 -1.7898423879701210e+02 1.8142157612585032e+02 2.7914729458451137e+02 + 60 -7.4397164149646969e+01 -6.8190924044876084e+01 5.7945904025898891e+01 + 61 9.6099033708008989e+01 4.4560187645463765e+02 5.3539291937468079e+01 + 62 3.3097868057397406e+01 1.3291944752881338e+02 -3.6118812725322506e+01 + 63 -2.5661745572767739e+01 -3.1619354530304156e+02 5.0012317415788416e+01 + 64 2.5884883063459124e+01 -6.0852905003457536e+01 7.5067609941699116e+00 +run_vdwl: -3780.0534739099153 +run_coul: -279.9156023968299 run_stress: ! |2- - 3.6449190860682643e+03 3.7339547135739058e+03 3.9381731084171565e+03 -8.8617648240339543e+02 2.5350122212091981e+02 -5.2818520710537973e+02 + 3.6449193028377299e+03 3.7339549167173282e+03 3.9381733557741995e+03 -8.8617642091921402e+02 2.5350119722836649e+02 -5.2818522888411621e+02 run_forces: ! |2 - 1 -1.4571798162167252e+02 -2.2140580848061688e+02 -1.4808148933254313e+02 - 2 -1.7648308397779235e+02 -1.0146477741996672e+02 -1.7988558948131221e+01 - 3 -2.0614227228633823e+01 -4.0344097417855238e+02 -3.8604729133131215e+01 - 4 2.6614888483484418e+02 4.0003234613562718e+01 1.4690057491500562e+02 - 5 9.7845353993210757e+00 4.3882567909729040e+01 4.9797207642045677e+01 - 6 -2.6938082734775594e+02 3.3524823444182630e+00 2.2965816523899235e+02 - 7 3.2575187542507791e+02 -1.7977227944937169e+02 2.2179960580675152e+02 - 8 9.9964011515726739e+01 -2.8685358089601482e+02 1.4158731106157231e+02 - 9 1.6438524923736644e+01 -1.9355302991489253e+02 -9.4334960672514242e+01 - 10 -2.0853805940018381e+02 1.0026019274304203e+02 -1.5021521543813694e+02 - 11 -2.0574133907407125e+02 2.7604371539616938e+02 5.5777225388303532e+02 - 12 5.0285711778760270e+02 -6.0968357929450372e+02 3.9377681166481295e+02 - 13 -9.1246236584998883e+01 3.5490065792296186e+01 7.9756754045764964e+01 - 14 1.1722762015217488e+02 7.0777587800518864e+00 -1.1012808747152181e+02 - 15 2.0459886374792103e+02 1.1352434902632419e+01 -6.9641008537041586e+01 - 16 6.4819488894277626e+01 2.7717767285477504e+02 9.6971206512117831e+01 - 17 -1.1757145373858191e+02 7.5598283763031333e+01 8.2344537953401620e+00 - 18 1.4979763484000514e+02 4.6437981230754680e+01 1.9074030927267040e+02 - 19 9.9232177039551743e+01 -3.4161491191063057e+01 -9.3482743694123911e+01 - 20 3.4394272911489560e+02 1.8755951153575882e+02 1.8391751542140381e+02 - 21 -1.7639675023083032e+02 5.9884188602876513e+01 2.3197830826168012e+01 - 22 3.5944608335498276e+02 -4.9708524898876021e+02 2.0607149093293810e+02 - 23 1.7579271068638736e+01 2.1298728097754687e+02 1.9485168054795750e+02 - 24 -1.8644003680983860e+02 2.0152727772546126e+02 -1.5032646302314092e+02 - 25 6.6427890225862839e+01 -2.6628950112809588e+02 6.5040867172812568e+01 - 26 -2.9538210986747896e+02 1.8889963664467763e+02 8.6392520853920516e+01 - 27 1.0405463527343457e+02 -2.5883797810836899e+00 -6.3473815684801785e+01 - 28 -1.7939102939145226e+02 -1.9072998240489997e+02 -1.6920314161246782e+02 - 29 2.8518125846098656e+02 -9.8610707014135585e+01 -1.5865904861816750e+02 - 30 3.2948855593638848e-01 9.9396107066086955e+01 3.2866521919189089e+00 - 31 -1.8093342589558659e+00 -5.1090324665848712e+01 5.9965783206663161e+00 - 32 3.1528757881180007e+02 -1.2794634397194349e+02 -2.4177668881260021e+02 - 33 -5.4083133243805372e+00 1.7567908978406618e+02 -1.1807415000724265e+02 - 34 -1.9400316636479977e+02 -1.0951814437454595e+02 -1.5439329543504013e+02 - 35 -1.9195026719711194e+02 -1.2774392196243292e+01 1.3164394415174289e+02 - 36 2.1450819558036866e+02 4.8524393939315888e+02 -2.2938259760791684e+02 - 37 -3.3553755452540895e+02 -4.9646067746196536e+02 2.1990265059231979e+02 - 38 -3.2545680671007766e+01 2.4954714465771517e+01 -1.5693304654702996e+02 - 39 -1.5400979972013733e+01 2.3902925031181187e+01 9.6154974338013474e+01 - 40 -6.4361324286781183e+01 1.7841294566727018e+02 1.6199313424706546e+02 - 41 -2.4660579832547052e+02 2.3084997378288404e+02 -2.9640187773211630e+02 - 42 -2.9452038269198692e+02 4.3373690323403952e+02 4.3706797334309402e+02 - 43 1.3265462163819998e+02 -2.9274830054471895e+01 2.3064015623266641e+02 - 44 1.0054965815688162e+02 -2.0011417092775127e+02 1.1673395109270328e+02 - 45 1.5191488778751707e+02 -3.3909986813212635e+02 -6.8138447286529720e+02 - 46 -3.6974585651662977e+02 6.5877949821504194e+02 -1.2846140462208882e+02 - 47 7.0999522650120099e+01 2.6787232844301741e+02 -2.6037434470741427e+01 - 48 4.8457875917949451e+02 -1.6693867974736796e+02 -3.2653088508349691e+02 - 49 1.0016330847216284e+02 1.7144939472474533e+01 1.2769410377207676e+02 - 50 -2.5643045293874383e+02 4.8550578070475757e+02 1.7833571905770887e+02 - 51 1.5929685733709441e+03 -1.5100179731534890e+03 1.3757557210338409e+03 - 52 -3.9363155553927618e+02 2.9261413115276798e+02 -2.7081680938457316e+02 - 53 -1.2156938822751686e+03 1.0481428026908065e+03 -1.7260661331518384e+03 - 54 5.4545508362448210e+01 1.0309421723440155e+02 -6.1761185913629610e+01 - 55 -2.0239005919386466e+02 1.8108787078448725e+02 -4.9048334046900078e+02 - 56 2.0036614412052225e+02 -1.8905881350356012e+02 -1.3675071587645911e+02 - 57 -1.7850227402751372e+02 -3.3738314148552627e+02 -1.4864701622354673e+02 - 58 -2.5670676029812597e+02 -1.3336092440092364e+02 8.4345104538588089e+01 - 59 -1.7898804840101980e+02 1.8142384187504891e+02 2.7914484812152023e+02 - 60 -7.4398955008919714e+01 -6.8191485113974892e+01 5.7946912127557717e+01 - 61 9.6097667682189197e+01 4.4562130970058109e+02 5.3555842003747642e+01 - 62 3.3087710298162186e+01 1.3291451685900134e+02 -3.6140086918051345e+01 - 63 -2.5660817878335301e+01 -3.1619388904758910e+02 5.0012563149825205e+01 - 64 2.5890372243019073e+01 -6.0849122994338025e+01 7.5030153780264586e+00 + 1 -1.4571796976977475e+02 -2.2140579635792884e+02 -1.4808149010447769e+02 + 2 -1.7648305954284041e+02 -1.0146476417236073e+02 -1.7988566053603591e+01 + 3 -2.0614225365740097e+01 -4.0344097227230094e+02 -3.8604731470054062e+01 + 4 2.6614888269720814e+02 4.0003233795014168e+01 1.4690057516187863e+02 + 5 9.7845378052670569e+00 4.3882570307523316e+01 4.9797206010047589e+01 + 6 -2.6938082908045919e+02 3.3524802199605972e+00 2.2965815951985147e+02 + 7 3.2575186725741395e+02 -1.7977227930984148e+02 2.2179960228952396e+02 + 8 9.9964020081557138e+01 -2.8685357554222099e+02 1.4158731522817112e+02 + 9 1.6438523377332476e+01 -1.9355303092496897e+02 -9.4334957020327948e+01 + 10 -2.0853806475972263e+02 1.0026021875703947e+02 -1.5021521105990161e+02 + 11 -2.0574136330802202e+02 2.7604370854540770e+02 5.5777225668964445e+02 + 12 5.0285717304860879e+02 -6.0968353881851192e+02 3.9377680529647569e+02 + 13 -9.1246272612282368e+01 3.5490016998948100e+01 7.9756749986805872e+01 + 14 1.1722763390616720e+02 7.0777572837063545e+00 -1.1012806750165767e+02 + 15 2.0459887112033201e+02 1.1352405359138412e+01 -6.9641010980711187e+01 + 16 6.4819489591627985e+01 2.7717767094468888e+02 9.6971198880055780e+01 + 17 -1.1757145471738642e+02 7.5598280349563737e+01 8.2344590524461072e+00 + 18 1.4979763975305985e+02 4.6437996441246753e+01 1.9074030452047762e+02 + 19 9.9232182958160649e+01 -3.4161493200256849e+01 -9.3482747032954819e+01 + 20 3.4394273190544487e+02 1.8755952354050976e+02 1.8391751060923613e+02 + 21 -1.7639675308717227e+02 5.9884172559678539e+01 2.3197838699496501e+01 + 22 3.5944608490729252e+02 -4.9708525361009697e+02 2.0607148872705903e+02 + 23 1.7579274952856146e+01 2.1298728055372681e+02 1.9485167236722779e+02 + 24 -1.8644004784533396e+02 2.0152728030974987e+02 -1.5032647044559059e+02 + 25 6.6427893699487285e+01 -2.6628950089076670e+02 6.5040872719333763e+01 + 26 -2.9538211829350598e+02 1.8889965241529200e+02 8.6392539131687670e+01 + 27 1.0405461403221605e+02 -2.5883825588235845e+00 -6.3473842387095296e+01 + 28 -1.7939104123925333e+02 -1.9072999063995681e+02 -1.6920313224146631e+02 + 29 2.8518126138643589e+02 -9.8610753428175371e+01 -1.5865905973294608e+02 + 30 3.2949044114559667e-01 9.9396106279740152e+01 3.2866487023715845e+00 + 31 -1.8093337117467343e+00 -5.1090328691324387e+01 5.9965849772505502e+00 + 32 3.1528763104400332e+02 -1.2794632256692650e+02 -2.4177666052802613e+02 + 33 -5.4083129170642179e+00 1.7567908715551988e+02 -1.1807415450387619e+02 + 34 -1.9400317396625167e+02 -1.0951816546456534e+02 -1.5439330137890337e+02 + 35 -1.9195026193065127e+02 -1.2774392319491161e+01 1.3164394629475399e+02 + 36 2.1450819729293397e+02 4.8524393495667874e+02 -2.2938261082652426e+02 + 37 -3.3553756825286939e+02 -4.9646067369623501e+02 2.1990265295677537e+02 + 38 -3.2545669240461962e+01 2.4954715957821520e+01 -1.5693302625922774e+02 + 39 -1.5400978707519485e+01 2.3902924956982389e+01 9.6154975229739549e+01 + 40 -6.4361322091921963e+01 1.7841296679824200e+02 1.6199313367381012e+02 + 41 -2.4660579311181596e+02 2.3084998025482201e+02 -2.9640187317945146e+02 + 42 -2.9452037865586266e+02 4.3373691264280740e+02 4.3706800713302425e+02 + 43 1.3265463914285502e+02 -2.9274831727547486e+01 2.3064014394569924e+02 + 44 1.0054966120054988e+02 -2.0011413451728055e+02 1.1673396063607694e+02 + 45 1.5191487332744026e+02 -3.3909989475298806e+02 -6.8138450042787269e+02 + 46 -3.6974586930852371e+02 6.5877947911188835e+02 -1.2846142437073112e+02 + 47 7.0999519258744826e+01 2.6787233536251233e+02 -2.6037425588932479e+01 + 48 4.8457871743082603e+02 -1.6693866918660342e+02 -3.2653088595197522e+02 + 49 1.0016334450403171e+02 1.7144926659081193e+01 1.2769410739667713e+02 + 50 -2.5643044716127639e+02 4.8550578281218662e+02 1.7833569703185714e+02 + 51 1.5929685800547243e+03 -1.5100179816024361e+03 1.3757557055371278e+03 + 52 -3.9363157215408233e+02 2.9261415024331393e+02 -2.7081681598776061e+02 + 53 -1.2156938934830002e+03 1.0481428177286084e+03 -1.7260661177369154e+03 + 54 5.4545512167986800e+01 1.0309421079214434e+02 -6.1761171483942455e+01 + 55 -2.0239006109115883e+02 1.8108786983188449e+02 -4.9048333730029168e+02 + 56 2.0036614371542044e+02 -1.8905881182672297e+02 -1.3675071296668057e+02 + 57 -1.7850229397871476e+02 -3.3738313920990021e+02 -1.4864700460708005e+02 + 58 -2.5670676044045717e+02 -1.3336092216373774e+02 8.4345105241459464e+01 + 59 -1.7898804526082839e+02 1.8142383013226376e+02 2.7914483449637197e+02 + 60 -7.4398952097636979e+01 -6.8191483730035287e+01 5.7946910740208871e+01 + 61 9.6097660916192893e+01 4.4562130692576051e+02 5.3555843428685527e+01 + 62 3.3087683040848127e+01 1.3291451189592027e+02 -3.6140107370205008e+01 + 63 -2.5660819680707732e+01 -3.1619389079817131e+02 5.0012586602224751e+01 + 64 2.5890370845876866e+01 -6.0849124899192077e+01 7.5030175856502677e+00 ... diff --git a/unittest/force-styles/tests/atomic-pair-reax_c_noqeq.yaml b/unittest/force-styles/tests/atomic-pair-reax_c_noqeq.yaml index efdf3ff5de..54b66c5b71 100644 --- a/unittest/force-styles/tests/atomic-pair-reax_c_noqeq.yaml +++ b/unittest/force-styles/tests/atomic-pair-reax_c_noqeq.yaml @@ -1,7 +1,8 @@ --- -lammps_version: 10 Feb 2021 -date_generated: Fri Feb 26 23:09:08 2021 +lammps_version: 8 Apr 2021 +date_generated: Mon Apr 19 09:21:19 2021 epsilon: 5e-13 +skip_tests: prerequisites: ! | pair reax/c pre_commands: ! | @@ -29,18 +30,18 @@ pair_coeff: ! | * * ffield.reax.mattsson C C extract: ! "" natoms: 64 -init_vdwl: -8975.38106346063 -init_coul: 0.592852986871656 +init_vdwl: -8975.381063460629 +init_coul: 0.5928529868716559 init_stress: ! |- - -1.1526162173764681e+03 -4.6218014500723507e+02 3.1954383274884901e+02 -2.2197591028227616e+03 3.4480244373669785e+02 -1.2644452447488200e+03 + -1.1526162173764683e+03 -4.6218014500723461e+02 3.1954383274884901e+02 -2.2197591028227621e+03 3.4480244373669785e+02 -1.2644452447488200e+03 init_forces: ! |2 1 -2.0916057489019278e+02 -1.8819573882656792e+02 -2.2843342560290171e+02 2 -5.9711660034805291e+01 -1.3795294129596448e+02 -6.1450415050409106e+01 3 1.0924699545317881e+02 5.4683388561496884e+01 8.7122903226954129e+00 4 2.2394129214932286e+02 -1.2607110719575815e+02 5.6116628706921283e+01 5 2.1339173392425103e+01 2.3982132147793212e+02 -1.1311227256425612e+02 - 6 -2.3465218593173694e+02 8.7997863600775148e+01 7.1405034243397978e+01 - 7 1.7783507933620086e+02 3.8498185748852222e+01 -2.7669272643606155e+02 + 6 -2.3465218593173694e+02 8.7997863600775204e+01 7.1405034243397978e+01 + 7 1.7783507933620086e+02 3.8498185748852194e+01 -2.7669272643606155e+02 8 -2.1014288646597468e+01 -4.0711968506334620e+02 1.5140757706928005e+02 9 -5.9307137188585735e+01 2.6264734812019469e+02 1.7442573676385443e+01 10 -8.4525778086876372e+01 1.5450140994331881e+02 6.0015146335720981e+00 @@ -59,7 +60,7 @@ init_forces: ! |2 23 -1.0142123148353758e+02 2.3316671624708323e+02 2.3905950409694179e+02 24 4.1563056415358169e+01 -1.2911164666848796e+01 -3.1668646816892700e+01 25 2.1166667371090460e+02 -2.0418293867725825e+02 -3.1232107629433731e+01 - 26 -2.6320989589682608e+02 1.2065128452552987e+02 2.6277305997802796e+02 + 26 -2.6320989589682614e+02 1.2065128452552987e+02 2.6277305997802796e+02 27 -7.4498892273813865e+01 1.0778676260209129e+02 1.6095170163345196e+02 28 -2.4911277843488330e+02 -9.8499434443852323e+01 2.2239731087969662e+02 29 4.5655943120047868e+02 -5.6181584973687457e+01 -2.7582701917178326e+02 @@ -71,10 +72,10 @@ init_forces: ! |2 35 -4.3920895665271935e+01 1.3832065189158040e+00 3.2302673529697479e+01 36 6.0407395927653840e+02 6.3222430241983602e+02 -1.5530384927410198e+01 37 -1.7704334275340958e+02 -3.4711199127962510e+02 2.0757920588578631e+02 - 38 -1.5990280705026578e+02 3.4383476554695548e+01 -1.1348860416567172e+02 + 38 -1.5990280705026578e+02 3.4383476554695534e+01 -1.1348860416567172e+02 39 1.2481780186485386e+02 3.1854282379699551e+01 2.4141006149778542e+02 40 -3.3952439214884555e+02 -5.2081203805390805e+02 -3.2749145453037904e+01 - 41 1.5953768898032129e+01 -2.5259433402085026e+01 -6.0977489335468213e+01 + 41 1.5953768898032132e+01 -2.5259433402085026e+01 -6.0977489335468242e+01 42 -3.5152692860571921e+02 1.0103192674618649e+02 1.0057493004151380e+02 43 1.8325251692529525e+02 -1.7843397924740284e+01 3.5813821983655600e+01 44 -1.7148730839833942e+02 6.5823249480752622e+01 -3.9043544554425509e+01 @@ -88,20 +89,20 @@ init_forces: ! |2 52 2.6770006025654067e+02 -1.3486195976744685e+02 -1.0999251813934440e+02 53 -3.0038447974652507e+02 1.7427208891886863e+02 -2.8369940533043155e+02 54 -1.8044322949045332e+02 3.2006167622599366e+02 -2.1986764638272368e+02 - 55 -6.7026995338193800e+01 2.8420556560193825e+02 -1.8256943632991815e+02 + 55 -6.7026995338193785e+01 2.8420556560193825e+02 -1.8256943632991815e+02 56 -9.3944897793228427e+02 7.6593871052490795e+02 -4.5872941120666036e+02 57 -2.7671724574062154e+01 -1.7257977562305285e+02 -1.6210118849324644e+02 58 7.1032070297632515e+02 -8.0881938208311499e+02 4.6676948457734852e+02 59 1.5682857500225748e+02 5.9891527233627251e+01 1.2646558890105979e+02 - 60 9.4076874705709940e+01 -1.1749874299724539e+02 -2.9919368333582653e+01 + 60 9.4076874705709940e+01 -1.1749874299724536e+02 -2.9919368333582653e+01 61 -4.8945763699767674e+01 1.6634783727405593e+02 6.7645978441449785e+01 - 62 1.6618577867039602e+02 7.3503605317082460e+01 2.2193892218236812e+02 + 62 1.6618577867039602e+02 7.3503605317082432e+01 2.2193892218236812e+02 63 4.6491757293229652e+00 -3.5581179274724047e+02 -3.8944419279304846e+01 - 64 -2.0021113303887086e+02 -1.1223202348830976e+02 3.0276216112541510e+02 -run_vdwl: -8975.38042076783 -run_coul: 0.592853076313598 + 64 -2.0021113303887086e+02 -1.1223202348830974e+02 3.0276216112541510e+02 +run_vdwl: -8975.380420767826 +run_coul: 0.5928530763135977 run_stress: ! |- - -1.1524045146329236e+03 -4.6202672628887268e+02 3.1947257175242049e+02 -2.2198788293036200e+03 3.4537925625758328e+02 -1.2645006400276918e+03 + -1.1524045146329231e+03 -4.6202672628887268e+02 3.1947257175242231e+02 -2.2198788293036200e+03 3.4537925625758328e+02 -1.2645006400276918e+03 run_forces: ! |2 1 -2.0916271375742122e+02 -1.8819704628010820e+02 -2.2843189669574852e+02 2 -5.9713089401385787e+01 -1.3795344000202866e+02 -6.1452818077516426e+01 @@ -113,9 +114,9 @@ run_forces: ! |2 8 -2.1021838063645568e+01 -4.0712804090199722e+02 1.5141447171445833e+02 9 -5.9306114388327742e+01 2.6264890826456997e+02 1.7441651570743588e+01 10 -8.4526898873820201e+01 1.5450366474645668e+02 6.0033453272929940e+00 - 11 -1.1159943563282732e+02 1.8656190683525134e+02 3.4449923076959345e+02 + 11 -1.1159943563282735e+02 1.8656190683525134e+02 3.4449923076959345e+02 12 3.3352091011374790e+02 -3.8250187755922349e+02 5.1084711927225143e+01 - 13 -3.9348220819701362e+02 -9.9340584671855098e+01 2.4784344215807911e+02 + 13 -3.9348220819701362e+02 -9.9340584671855126e+01 2.4784344215807911e+02 14 1.7611207455981244e+02 -2.8017472349270184e+02 -2.7998178961052838e+02 15 2.5245571069035290e+02 -5.4734821409382626e+01 -1.3455249096986566e+02 16 1.6596243938777351e+02 1.6278821061030078e+02 4.2193739172058962e+01 @@ -124,28 +125,28 @@ run_forces: ! |2 19 -5.9065305354749185e+01 1.7641117222083235e+01 -1.0450807266106713e+02 20 1.3106409577706648e+02 2.5186488486411651e+01 1.3539864929844231e+02 21 -3.2006405209533727e+02 -1.1510774059461794e+02 -2.5815972761838644e+01 - 22 -1.2758648770740034e+01 -1.3030598897381913e+02 -1.4401125298080763e+02 + 22 -1.2758648770740034e+01 -1.3030598897381913e+02 -1.4401125298080760e+02 23 -1.0142069915754510e+02 2.3316707339244664e+02 2.3905997646640651e+02 24 4.1563103349612355e+01 -1.2912528416939978e+01 -3.1670350622584593e+01 25 2.1168614583214108e+02 -2.0420927517565983e+02 -3.1221859837734250e+01 - 26 -2.6321230702712649e+02 1.2065335797472036e+02 2.6277789068532360e+02 + 26 -2.6321230702712649e+02 1.2065335797472038e+02 2.6277789068532360e+02 27 -7.4500805679154823e+01 1.0778230652943388e+02 1.6094824153641918e+02 28 -2.4910955893577807e+02 -9.8496280842320616e+01 2.2240251270644734e+02 29 4.5656377692784969e+02 -5.6186906107102686e+01 -2.7582984196898542e+02 30 -1.1442511837997856e+02 5.2288586072111144e+01 -1.7194888884507304e+02 - 31 -1.8372666861898105e+02 -1.0040300216200654e+02 -9.6974937189118549e+01 + 31 -1.8372666861898108e+02 -1.0040300216200654e+02 -9.6974937189118549e+01 32 1.5285848611243131e+02 -1.2910298326427261e+02 -1.8526958855531907e+02 33 2.0676324457133298e+01 3.7958042970093453e+02 -3.0330268376879861e+01 34 -1.8482802426276322e+02 -8.4860106696650362e+01 -1.0335087798868081e+02 - 35 -4.3757312673305961e+01 1.3332543035332109e+00 3.2176626618113424e+01 + 35 -4.3757312673305961e+01 1.3332543035332394e+00 3.2176626618113424e+01 36 6.0396434382165080e+02 6.3211513244050911e+02 -1.5608509994293938e+01 37 -1.7702865323607540e+02 -3.4710307878941217e+02 2.0756937792988572e+02 38 -1.5990155316495603e+02 3.4380405811165133e+01 -1.1348496857139023e+02 39 1.2481655186335834e+02 3.1838210934905270e+01 2.4138399128801109e+02 40 -3.3940174784427825e+02 -5.2071078889465889e+02 -3.2710078405858489e+01 - 41 1.5894692394219231e+01 -2.5287374067694170e+01 -6.0953115361932838e+01 + 41 1.5894692394219231e+01 -2.5287374067694170e+01 -6.0953115361932809e+01 42 -3.5153052244718293e+02 1.0102830549812477e+02 1.0056790310062641e+02 - 43 1.8327499597791055e+02 -1.7817142708111650e+01 3.5817319257754178e+01 + 43 1.8327499597791055e+02 -1.7817142708111650e+01 3.5817319257754193e+01 44 -1.7148210647983669e+02 6.5813679084638309e+01 -3.9042611994879181e+01 45 6.8003425377666687e+01 -5.2977048819501960e+01 -1.1277968937633442e+02 46 -1.9814362259114762e+02 3.1898369061349177e+02 -1.7124898143652061e+02 From 204566790239f4882314dc1447ebcdc0bbd00537 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 20 Apr 2021 14:55:09 -0400 Subject: [PATCH 071/726] document QEQ package incompatibilities --- doc/src/fix_qeq.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/src/fix_qeq.rst b/doc/src/fix_qeq.rst index 7ea79a89ce..ffc85dcf3b 100644 --- a/doc/src/fix_qeq.rst +++ b/doc/src/fix_qeq.rst @@ -230,6 +230,8 @@ These fixes are part of the QEQ package. They are only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +The qeq fixes are not compatible with the GPU and USER-INTEL packages. + Related commands """""""""""""""" From daaebd55a6e8b952b49618939db9f58b0a4e2695 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 20 Apr 2021 14:56:27 -0400 Subject: [PATCH 072/726] add QEQ parameter file --- unittest/force-styles/tests/param.qeq2 | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 unittest/force-styles/tests/param.qeq2 diff --git a/unittest/force-styles/tests/param.qeq2 b/unittest/force-styles/tests/param.qeq2 new file mode 100644 index 0000000000..1d77b7d3a6 --- /dev/null +++ b/unittest/force-styles/tests/param.qeq2 @@ -0,0 +1,3 @@ +# UNITS: metal +1 0.00000 7.25028 0.01 0.772871 0.000000 +2 11.26882 15.37920 0.01 0.243072 0.000000 From c5438156925121713e613bbbc5d57c512507a343 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 20 Apr 2021 15:28:42 -0400 Subject: [PATCH 073/726] small tweaks --- unittest/commands/test_groups.cpp | 2 +- unittest/force-styles/tests/fix-timestep-adapt_pair.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/unittest/commands/test_groups.cpp b/unittest/commands/test_groups.cpp index 181f000a7c..1b65d6dfa4 100644 --- a/unittest/commands/test_groups.cpp +++ b/unittest/commands/test_groups.cpp @@ -245,7 +245,7 @@ TEST_F(GroupTest, Molecular) ASSERT_EQ(group->count(group->find("three")), 15); ASSERT_DOUBLE_EQ(group->mass(group->find("half")), 40); ASSERT_DOUBLE_EQ(group->mass(group->find("half"), domain->find_region("top")), 10); - ASSERT_DOUBLE_EQ(group->charge(group->find("top")), 0); + ASSERT_NEAR(group->charge(group->find("top")), 0,1.0e-14); ASSERT_DOUBLE_EQ(group->charge(group->find("right"), domain->find_region("top")), 0); TEST_FAILURE(".*ERROR: Illegal group command.*", command("group three include xxx");); diff --git a/unittest/force-styles/tests/fix-timestep-adapt_pair.yaml b/unittest/force-styles/tests/fix-timestep-adapt_pair.yaml index 167f531b8e..58b25f6012 100644 --- a/unittest/force-styles/tests/fix-timestep-adapt_pair.yaml +++ b/unittest/force-styles/tests/fix-timestep-adapt_pair.yaml @@ -1,7 +1,7 @@ --- lammps_version: 10 Mar 2021 date_generated: Thu Mar 25 14:01:17 202 -epsilon: 1e-14 +epsilon: 2e-14 prerequisites: ! | atom full fix adapt From 83c1187e47da2dc61e9b99635f3d9a0f991c097c Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 20 Apr 2021 16:53:39 -0400 Subject: [PATCH 074/726] clear allocated data structure so that all included pointers are initialized to null --- src/USER-REAXC/pair_reaxc.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/USER-REAXC/pair_reaxc.cpp b/src/USER-REAXC/pair_reaxc.cpp index 565dc89eb0..5cd1556943 100644 --- a/src/USER-REAXC/pair_reaxc.cpp +++ b/src/USER-REAXC/pair_reaxc.cpp @@ -78,7 +78,9 @@ PairReaxC::PairReaxC(LAMMPS *lmp) : Pair(lmp) api->control = new control_params; memset(api->control,0,sizeof(control_params)); api->data = new simulation_data; + memset(api->data,0,sizeof(simulation_data)); api->workspace = new storage; + memset(api->workspace,0,sizeof(storage)); memory->create(api->lists, LIST_N,"reaxff:lists"); memset(api->lists,0,LIST_N * sizeof(reax_list)); From 66eea0b63a66fca9c5d10f22d6baf47f5f5c8f98 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 20 Apr 2021 16:54:17 -0400 Subject: [PATCH 075/726] call destroy() before create() for multi-dimensional arrays to avoid leakage --- src/USER-REAXC/reaxc_ffield.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/USER-REAXC/reaxc_ffield.cpp b/src/USER-REAXC/reaxc_ffield.cpp index 7e60682102..530a5913a6 100644 --- a/src/USER-REAXC/reaxc_ffield.cpp +++ b/src/USER-REAXC/reaxc_ffield.cpp @@ -91,6 +91,7 @@ namespace ReaxFF { if (n < 1) THROW_ERROR("Invalid number of global parameters"); + memory->destroy(gp.l); memory->create(gp.l,n,"reaxff:gp.l"); // see reaxff_types.h for mapping between l[i] and the lambdas used in ff @@ -118,6 +119,11 @@ namespace ReaxFF { auto &hbp = reax->hbp; auto &fbp = reax->fbp; + memory->destroy(sbp); + memory->destroy(tbp); + memory->destroy(thbp); + memory->destroy(hbp); + memory->destroy(fbp); memory->create(sbp,n,"reaxff:sbp"); memory->create(tbp,n,n,"reaxff:tbp"); memory->create(thbp,n,n,n,"reaxff:thbp"); From b014e8b94fb9e13155e002c69f3ca01ffae0391f Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 20 Apr 2021 17:15:52 -0400 Subject: [PATCH 076/726] revert standard reax/c test --- .../tests/atomic-pair-reax_c.yaml | 270 +++++++++--------- 1 file changed, 135 insertions(+), 135 deletions(-) diff --git a/unittest/force-styles/tests/atomic-pair-reax_c.yaml b/unittest/force-styles/tests/atomic-pair-reax_c.yaml index 261812d56c..857326b10d 100644 --- a/unittest/force-styles/tests/atomic-pair-reax_c.yaml +++ b/unittest/force-styles/tests/atomic-pair-reax_c.yaml @@ -1,6 +1,6 @@ --- lammps_version: 8 Apr 2021 -date_generated: Mon Apr 19 09:21:15 2021 +date_generated: Tue Apr 20 16:11:55 2021 epsilon: 1e-10 skip_tests: prerequisites: ! | @@ -25,7 +25,7 @@ pre_commands: ! | set type 2 charge -0.01 velocity all create 100 4534624 loop geom post_commands: ! | - fix qeq all qeq/reax 1 0.0 8.0 1.0e-20 reax/c maxiter 20 nowarn + fix qeq all qeq/reax 1 0.0 8.0 1.0e-20 reax/c input_file: in.empty pair_style: reax/c NULL checkqeq yes pair_coeff: ! | @@ -33,141 +33,141 @@ pair_coeff: ! | extract: ! "" natoms: 64 init_vdwl: -4208.203794533267 -init_coul: -268.02765877429266 +init_coul: -268.0258681099893 init_stress: ! |2- - 2.3677138597920134e+03 3.0801994317052795e+03 1.2727836669117719e+03 -1.5387982333122163e+03 -1.0906434577120353e+03 1.1229697394381967e+03 + 2.3677048490925813e+03 3.0802122558807969e+03 1.2727815110263937e+03 -1.5387991688242109e+03 -1.0906364142628713e+03 1.1229877249527449e+03 init_forces: ! |2 - 1 2.9633286152714895e+01 -5.6268158870662865e+02 -1.6667929778658686e+02 - 2 -1.5938461587386283e+02 -2.2076632409584278e+02 -1.7162405040710766e+02 - 3 -3.1194767737908826e+01 -3.0592472349600524e+02 4.4651629891466243e+01 - 4 4.4646596256626185e+02 1.7080830170172359e+02 1.7439025633170678e+02 - 5 -1.1512522479897345e+02 7.9717596119857888e+01 1.7958911311542607e+01 - 6 -7.1695066631618761e+02 4.0748756065642638e+01 2.1511809762804484e+02 - 7 2.3022206076223796e+02 -9.0168647609670387e+01 8.2189129278766103e+01 - 8 -2.1137097290905352e+01 -1.5635843951502784e+02 1.6101855425514745e+02 - 9 -1.2130643966073812e+02 -2.7960290186509405e+02 -1.9629224425201704e+02 - 10 -3.7631894872912522e+02 3.4103357651251537e+02 -1.8166645213907478e+02 - 11 -1.6153902964754667e+02 1.5743241425267431e+02 3.5832306945377178e+02 - 12 6.1603732792700282e+02 -1.4821040465468917e+02 1.0870676706201488e+02 - 13 -2.1366851202213653e+02 -3.0163954126350092e+02 5.2420915627618558e+02 - 14 2.5933780612532126e+02 -1.7968461610614241e+01 -2.7733218830598901e+02 - 15 1.7570487907901011e+02 1.7550789799326304e+02 -9.5786451085155491e+01 - 16 3.0589204520776934e+02 -4.7676020729815768e+01 -3.4330483431656791e+02 - 17 -1.5018690887845338e+02 1.3259473313627657e+02 2.3200552664411475e+02 - 18 1.6469519167779183e+02 -1.0816250655621064e+02 2.1207543727392661e+02 - 19 2.4759344887399081e+02 -4.8758511247092088e+01 -2.2494130722447932e+02 - 20 1.2418791307460424e+02 2.5137179718270556e+02 -1.5340308025983461e+01 - 21 -1.9556242958992678e+02 2.3151160715888874e+01 -1.2529867634994399e+02 - 22 2.4829292770827422e+02 -2.9828612004289113e+02 -4.0454677881884024e+01 - 23 8.2077976837017900e+01 1.3041866298293627e+02 1.5221209316034532e+02 - 24 -7.6913783243387826e+01 2.3540203354364189e+02 -1.7129245933770727e+02 - 25 -2.9781744550605662e+01 -1.8931888070263267e+02 6.7990019857554202e+01 - 26 -3.9488424247767014e+01 2.0999360632613091e+00 -2.0748830164832864e+02 - 27 -2.7704383990910344e+02 5.3737323080507701e+02 4.2318830552299499e+02 - 28 -2.9302153625490882e+02 -5.1150243581343020e+01 -2.3633573764669612e+02 - 29 1.2970603958450926e+02 -4.2262332230398229e+01 1.6349790455526482e+02 - 30 5.6924470622841902e+01 3.7878571490062619e+01 6.8637961971110911e+01 - 31 -1.9325586894804644e+02 -1.1645468493273863e+02 -2.0673145110109189e+01 - 32 1.2359537270071175e+02 -3.3261682729471509e+01 -1.0517081413370242e+02 - 33 6.5244494839342053e+01 3.7105575675452133e+02 6.0972008518320628e+01 - 34 -2.3124412393972406e+02 -1.1681894708374426e+02 -2.5838515661900914e+02 - 35 -4.1912097866037749e+02 7.9940298322579153e+01 3.1020906752098472e+02 - 36 -1.8561756690805518e+02 -1.1563749469376307e+02 -4.2356131544286932e+01 - 37 8.8268459557867800e+00 -3.5266202517998272e+02 -6.0508589419221380e+01 - 38 -1.9251065954670622e+01 1.1716443799821707e+02 -2.3476787650314483e+02 - 39 -1.0434207876793304e+01 -7.0902825597879200e+01 1.4264102290267166e+02 - 40 3.3265415672808695e+02 -8.8676314506220365e+02 1.6250323289221797e+01 - 41 -6.4525340969477625e+01 1.5190482993381195e+02 -1.8226363836162227e+02 - 42 2.3374265976474046e+01 1.1820849928255014e+02 4.1205919897871769e+02 - 43 -3.5145427442179937e+01 -3.6494054739761985e+00 2.4936139875273903e+02 - 44 -1.2909580317707088e+00 -2.4878033872407525e+02 7.9235212511230884e+01 - 45 2.0871432412721612e+02 -1.0816380085646371e+02 -4.1290534066227440e+02 - 46 -1.3837993836409981e+02 4.6113983127416537e+02 -2.4014147975943226e+02 - 47 1.3255343208840517e+02 2.8747648851097466e+02 -3.2895641248751062e+01 - 48 7.8145151343613895e+02 6.5212246673697649e+01 -6.2304415905848475e+02 - 49 2.4486207561858652e+02 1.9098760054137188e+01 3.7416718126982084e+02 - 50 2.9821250019803648e+02 3.0684285856103526e+02 5.6995325423529778e+02 - 51 -8.0052512629134719e+02 5.1024666433916468e+02 7.5828839863942687e+02 - 52 -9.2132795322260193e+01 1.1909938868988401e+02 -2.4119177446813089e+02 - 53 -3.6386508146804226e+02 -2.0728774423637225e+02 -3.4909372895932455e+02 - 54 -8.3400478462696412e+01 1.8942847373883873e+02 -1.2868846530013360e+02 - 55 -2.5306030895087017e+02 -1.1005903030773361e+02 -3.0893490115268742e+02 - 56 1.7363066404655606e+02 -2.5755159082633384e+02 -4.3732393367297526e+01 - 57 4.2667868235664599e+02 1.5529168633998034e+02 -3.9988358463751354e+02 - 58 -3.9654228870269598e+01 7.8950867015507271e+01 2.6135841350205141e+02 - 59 -2.7594567334153987e+02 1.9892282891821415e+02 2.4123100379637927e+02 - 60 -2.5675971154579702e+02 -1.1527142348407712e+02 9.9923841074681320e+01 - 61 3.0884909844566982e+02 4.9986511818576071e+02 -1.3369330200973721e+02 - 62 2.8529506416321446e+01 5.9000054110319344e-01 -2.7402724976042202e+02 - 63 2.5296716267913251e+02 -2.7640609445310349e+02 -1.9200849927940413e+02 - 64 -8.4682581712903087e+01 -1.5737182215029318e+02 1.5637971229670848e+02 -run_vdwl: -4208.209603101568 -run_coul: -268.02581602182215 + 1 2.9634051452064185e+01 -5.6267761875030578e+02 -1.6668253255995427e+02 + 2 -1.5938437728855834e+02 -2.2076601831947630e+02 -1.7161994484503376e+02 + 3 -3.1194106231028943e+01 -3.0591930644159874e+02 4.4652570958842091e+01 + 4 4.4646653320084567e+02 1.7080811286684130e+02 1.7439026170464035e+02 + 5 -1.1512606621591536e+02 7.9716954463499022e+01 1.7959700550221577e+01 + 6 -7.1695199301548041e+02 4.0749156820926302e+01 2.1512037025856239e+02 + 7 2.3022543693175217e+02 -9.0170756873726333e+01 8.2190170006889645e+01 + 8 -2.1141251466334634e+01 -1.5635879347045886e+02 1.6101907187957218e+02 + 9 -1.2130842270563915e+02 -2.7960689135651120e+02 -1.9629114850256667e+02 + 10 -3.7631710890095133e+02 3.4103240548851863e+02 -1.8166279141134066e+02 + 11 -1.6154553323853384e+02 1.5743068117724297e+02 3.5832389058241489e+02 + 12 6.1602989065569886e+02 -1.4821564423105795e+02 1.0871005319350247e+02 + 13 -2.1366561068643219e+02 -3.0163595494900011e+02 5.2420406156019726e+02 + 14 2.5933950255875533e+02 -1.7967300062459064e+01 -2.7733367021016983e+02 + 15 1.7570537661854226e+02 1.7550639099554951e+02 -9.5789475936342853e+01 + 16 3.0588529285450090e+02 -4.7675556549230315e+01 -3.4330544488854196e+02 + 17 -1.5018545342619470e+02 1.3259542010621982e+02 2.3200545258699555e+02 + 18 1.6469564396901654e+02 -1.0816413254489510e+02 2.1207485840068148e+02 + 19 2.4759285902963026e+02 -4.8758383780523836e+01 -2.2494100786658765e+02 + 20 1.2418785577587857e+02 2.5137242577506828e+02 -1.5341186115637054e+01 + 21 -1.9556210564941867e+02 2.3152590535678623e+01 -1.2529729601999072e+02 + 22 2.4829386068622458e+02 -2.9828789153726473e+02 -4.0455445433038705e+01 + 23 8.2076007650237955e+01 1.3042103437664485e+02 1.5221389911915190e+02 + 24 -7.6912973583045328e+01 2.3539925428983466e+02 -1.7129603802744774e+02 + 25 -2.9782413878295884e+01 -1.8931910469291046e+02 6.7989202537813426e+01 + 26 -3.9488494691930782e+01 2.1025614476190424e+00 -2.0748963060916628e+02 + 27 -2.7704110443958297e+02 5.3736974078118158e+02 4.2318884882973293e+02 + 28 -2.9303219943093302e+02 -5.1154115419355229e+01 -2.3633993403335379e+02 + 29 1.2970484011865997e+02 -4.2266229541184131e+01 1.6350076614993492e+02 + 30 5.6925606430580402e+01 3.7880191852747046e+01 6.8636397133447261e+01 + 31 -1.9325596697353834e+02 -1.1645368911553673e+02 -2.0671692760916812e+01 + 32 1.2360965200043042e+02 -3.3253411369754360e+01 -1.0516118458992996e+02 + 33 6.5241847803263653e+01 3.7105112939425635e+02 6.0972558235451928e+01 + 34 -2.3124259597682851e+02 -1.1681740329855472e+02 -2.5838262648358858e+02 + 35 -4.1912226107430826e+02 7.9942920270906228e+01 3.1021023518174763e+02 + 36 -1.8561789047309296e+02 -1.1563628711183125e+02 -4.2360172436503717e+01 + 37 8.8271496727767698e+00 -3.5266450940716857e+02 -6.0505384072663695e+01 + 38 -1.9249505149115080e+01 1.1716319600342219e+02 -2.3477222840170350e+02 + 39 -1.0433878247334579e+01 -7.0902801856116241e+01 1.4264113912369183e+02 + 40 3.3265570779157940e+02 -8.8675933035692253e+02 1.6250845779884724e+01 + 41 -6.4537349815891190e+01 1.5189506353185567e+02 -1.8225353662797988e+02 + 42 2.3368723487140532e+01 1.1821526860010481e+02 4.1207323013207559e+02 + 43 -3.5145546474533603e+01 -3.6511647370358964e+00 2.4936793079206421e+02 + 44 -1.2881828259467285e+00 -2.4877240180803770e+02 7.9235766494558362e+01 + 45 2.0871504532588767e+02 -1.0817588901356530e+02 -4.1291808327438582e+02 + 46 -1.3837716960728255e+02 4.6114279241763722e+02 -2.4013801845141728e+02 + 47 1.3255320792802377e+02 2.8747276038939981e+02 -3.2896384987644886e+01 + 48 7.8145138718954991e+02 6.5215432481105154e+01 -6.2304789958706840e+02 + 49 2.4486314507345327e+02 1.9101300126651807e+01 3.7417037047544727e+02 + 50 2.9821275118603683e+02 3.0684252095008105e+02 5.6994896759617143e+02 + 51 -8.0052405736417188e+02 5.1024940640330806e+02 7.5829315450290915e+02 + 52 -9.2130898885915201e+01 1.1909837120722082e+02 -2.4118832391136655e+02 + 53 -3.6386926333489237e+02 -2.0729203700030763e+02 -3.4910517647679171e+02 + 54 -8.3399710534966360e+01 1.8942260327526213e+02 -1.2868598438440796e+02 + 55 -2.5305956575883852e+02 -1.1005916187118478e+02 -3.0893514828399947e+02 + 56 1.7364614503216589e+02 -2.5754370913449043e+02 -4.3744509948719575e+01 + 57 4.2667925201499298e+02 1.5529221173799095e+02 -3.9988499000700682e+02 + 58 -3.9656744140978226e+01 7.8953243693724033e+01 2.6135299122199172e+02 + 59 -2.7594240444753677e+02 1.9891763338587063e+02 2.4122500794453137e+02 + 60 -2.5675904361258932e+02 -1.1527171320987564e+02 9.9923550442534349e+01 + 61 3.0884427580009310e+02 4.9986415802549146e+02 -1.3369122169832409e+02 + 62 2.8530106503456519e+01 5.9540697570827006e-01 -2.7403025931181190e+02 + 63 2.5297054006404551e+02 -2.7640485799385101e+02 -1.9200503841907977e+02 + 64 -8.4680445259248458e+01 -1.5737027404337621e+02 1.5637808719882156e+02 +run_vdwl: -4208.209603101557 +run_coul: -268.02583477440254 run_stress: ! |2- - 2.3675915915115038e+03 3.0802240114846613e+03 1.2727324747502155e+03 -1.5388667254325053e+03 -1.0907269430167464e+03 1.1229240366702902e+03 + 2.3675903993352799e+03 3.0802227297815411e+03 1.2727311522674922e+03 -1.5388669378285692e+03 -1.0907269208284702e+03 1.1229243202763012e+03 run_forces: ! |2 - 1 2.9635340083051346e+01 -5.6267710249795869e+02 -1.6667998370665143e+02 - 2 -1.5938666826920343e+02 -2.2076534189863366e+02 -1.7162354109212984e+02 - 3 -3.1189870810301095e+01 -3.0593571985047180e+02 4.4645956923836664e+01 - 4 4.4646581130069950e+02 1.7080959759402148e+02 1.7439093558473147e+02 - 5 -1.1512840430317976e+02 7.9717053594844629e+01 1.7957493384932661e+01 - 6 -7.1695600898242708e+02 4.0752809200821034e+01 2.1512530796739239e+02 - 7 2.3022648522685608e+02 -9.0168938352327743e+01 8.2194670669568964e+01 - 8 -2.1149215429861702e+01 -1.5637110513857075e+02 1.6102981761092099e+02 - 9 -1.2130987184908217e+02 -2.7961359052794438e+02 -1.9628960657192528e+02 - 10 -3.7631820453396847e+02 3.4103263667614613e+02 -1.8166531833456517e+02 - 11 -1.6154688755051467e+02 1.5742797323066301e+02 3.5832199781281412e+02 - 12 6.1603846554302856e+02 -1.4820394873283382e+02 1.0871523277525925e+02 - 13 -2.1367534498311514e+02 -3.0167456097439617e+02 5.2424088341628442e+02 - 14 2.5933832701218608e+02 -1.7968192701718916e+01 -2.7733108167843062e+02 - 15 1.7570795092251277e+02 1.7551000310384359e+02 -9.5784222372814824e+01 - 16 3.0586981469801617e+02 -4.7679565967035259e+01 -3.4332195262424483e+02 - 17 -1.5018632687377072e+02 1.3259144780414934e+02 2.3200578527117301e+02 - 18 1.6469880313326215e+02 -1.0816831870102239e+02 2.1207667736516382e+02 - 19 2.4759420024003853e+02 -4.8758379338079727e+01 -2.2494116275048481e+02 - 20 1.2419960129665635e+02 2.5137932270320678e+02 -1.5328240053348356e+01 - 21 -1.9556094383241299e+02 2.3151696381601958e+01 -1.2529580363737537e+02 - 22 2.4829940463520313e+02 -2.9829343297891006e+02 -4.0446694405761576e+01 - 23 8.2074486469597687e+01 1.3042095796913281e+02 1.5221366791874641e+02 - 24 -7.6917692833702446e+01 2.3540351711765027e+02 -1.7130196247252570e+02 - 25 -2.9742100996765380e+01 -1.8935699491160051e+02 6.7995875362048835e+01 - 26 -3.9494945036515908e+01 2.1074087479630634e+00 -2.0748976668424677e+02 - 27 -2.7704005979662662e+02 5.3736953816242783e+02 4.2318569074160462e+02 - 28 -2.9302860300138957e+02 -5.1149672303866737e+01 -2.3633681317128332e+02 - 29 1.2970506005124116e+02 -4.2266505241952196e+01 1.6349682642247129e+02 - 30 5.6925895652797955e+01 3.7880903611520054e+01 6.8637138210808786e+01 - 31 -1.9325535402701956e+02 -1.1645328207806656e+02 -2.0671892295502396e+01 - 32 1.2360206049549920e+02 -3.3252985301196659e+01 -1.0516931870918121e+02 - 33 6.5239430456833531e+01 3.7104671672305966e+02 6.0974424435615809e+01 - 34 -2.3124086955801889e+02 -1.1681533354856286e+02 -2.5837807428177962e+02 - 35 -4.1912107298361212e+02 7.9943751193797880e+01 3.1020726776656619e+02 - 36 -1.8561413355995509e+02 -1.1563427104741439e+02 -4.2360264054660597e+01 - 37 8.8273599678770864e+00 -3.5266981598144150e+02 -6.0507477320620680e+01 - 38 -1.9245038012709841e+01 1.1717725521030376e+02 -2.3478404802363110e+02 - 39 -1.0434215698836438e+01 -7.0902647384814358e+01 1.4263978849003041e+02 - 40 3.3271178359289979e+02 -8.8679283858336646e+02 1.6219768658650871e+01 - 41 -6.4538810609188275e+01 1.5189398379892381e+02 -1.8225442798722727e+02 - 42 2.3368203862303545e+01 1.1822249156204117e+02 4.1207761014771074e+02 - 43 -3.5145614670828280e+01 -3.6517750326814120e+00 2.4936780076604907e+02 - 44 -1.2879422574017376e+00 -2.4877334082189225e+02 7.9236450933542571e+01 - 45 2.0871640299070592e+02 -1.0817582150128533e+02 -4.1291845938329635e+02 - 46 -1.3836372708562709e+02 4.6117937798867194e+02 -2.4016736146584793e+02 - 47 1.3255127160214204e+02 2.8747595545221196e+02 -3.2895652028052091e+01 - 48 7.8145389054767179e+02 6.5214945379088277e+01 -6.2304920777042912e+02 - 49 2.4488291106236500e+02 1.9105409364926288e+01 3.7418589758696908e+02 - 50 2.9822130989912665e+02 3.0683153011979800e+02 5.6994487035095165e+02 - 51 -8.0058521183025380e+02 5.1028581602653651e+02 7.5832461768047244e+02 - 52 -9.2137019037691147e+01 1.1910697318842861e+02 -2.4119128768698766e+02 - 53 -3.6387123110982282e+02 -2.0729720964342076e+02 -3.4910519380830556e+02 - 54 -8.3401332800193543e+01 1.8942464275359734e+02 -1.2869043354758486e+02 - 55 -2.5309678157873975e+02 -1.1001947468656527e+02 -3.0896372177857239e+02 - 56 1.7364608133921760e+02 -2.5754423801373565e+02 -4.3743927978158730e+01 - 57 4.2666357128098645e+02 1.5528157162856127e+02 -3.9988029715399989e+02 - 58 -3.9656756118817448e+01 7.8953165237690285e+01 2.6135222125861111e+02 - 59 -2.7594578242635424e+02 1.9891765773401318e+02 2.4122928728349606e+02 - 60 -2.5675991915252069e+02 -1.1527235180653685e+02 9.9923833769027368e+01 - 61 3.0884427542809721e+02 4.9986710924069786e+02 -1.3369013404232507e+02 - 62 2.8530654477154116e+01 5.9282210053495610e-01 -2.7403003802560033e+02 - 63 2.5296776535482985e+02 -2.7640523185325759e+02 -1.9200396674401188e+02 - 64 -8.4674657022429557e+01 -1.5736405319931387e+02 1.5637353707611086e+02 + 1 2.9635294281594891e+01 -5.6267712552696150e+02 -1.6667999923844903e+02 + 2 -1.5938673400152015e+02 -2.2076536449681436e+02 -1.7162354129442059e+02 + 3 -3.1189858281105185e+01 -3.0593580065880258e+02 4.4645958607293259e+01 + 4 4.4646581891374524e+02 1.7080959763777909e+02 1.7439093938228865e+02 + 5 -1.1512839796355780e+02 7.9717058687934127e+01 1.7957487669510552e+01 + 6 -7.1695602565953936e+02 4.0752829698557036e+01 2.1512533839228914e+02 + 7 2.3022644486519332e+02 -9.0168915600534049e+01 8.2194655874280542e+01 + 8 -2.1149264848803984e+01 -1.5637111051643518e+02 1.6102981315498010e+02 + 9 -1.2130987756626322e+02 -2.7961363383950686e+02 -1.9628960069615047e+02 + 10 -3.7631817089745317e+02 3.4103259385937486e+02 -1.8166532788357921e+02 + 11 -1.6154687915131711e+02 1.5742797820595132e+02 3.5832199951140109e+02 + 12 6.1603841944463943e+02 -1.4820397700321357e+02 1.0871524086056972e+02 + 13 -2.1367529106934364e+02 -3.0167446795627899e+02 5.2424091634188028e+02 + 14 2.5933827511240753e+02 -1.7968203382119590e+01 -2.7733114072539661e+02 + 15 1.7570793004244069e+02 1.7551005525188296e+02 -9.5784231788977749e+01 + 16 3.0586985592967915e+02 -4.7679566105948382e+01 -3.4332192731505285e+02 + 17 -1.5018636472333995e+02 1.3259146324636694e+02 2.3200578297675395e+02 + 18 1.6469881174805161e+02 -1.0816836176978013e+02 2.1207670716678888e+02 + 19 2.4759420520504079e+02 -4.8758383157767163e+01 -2.2494116682880116e+02 + 20 1.2419960666452823e+02 2.5137933265660718e+02 -1.5328241144729745e+01 + 21 -1.9556094492800702e+02 2.3151723982064777e+01 -1.2529581330697818e+02 + 22 2.4829941584476597e+02 -2.9829345245033829e+02 -4.0446702084715653e+01 + 23 8.2074458696916352e+01 1.3042100306284391e+02 1.5221371881648275e+02 + 24 -7.6917668833500898e+01 2.3540360228733630e+02 -1.7130192995354321e+02 + 25 -2.9742104523786168e+01 -1.8935699467868037e+02 6.7995874219729117e+01 + 26 -3.9494943772628240e+01 2.1074054704555034e+00 -2.0748981609854840e+02 + 27 -2.7704003655185977e+02 5.3736954143365233e+02 4.2318574013793761e+02 + 28 -2.9302855291123007e+02 -5.1149666118960234e+01 -2.3633679976948793e+02 + 29 1.2970505460342494e+02 -4.2266433901986183e+01 1.6349685185792413e+02 + 30 5.6925896868052199e+01 3.7880918758244668e+01 6.8637128510003294e+01 + 31 -1.9325534294265759e+02 -1.1645328076628637e+02 -2.0671892621502057e+01 + 32 1.2360198063082690e+02 -3.3253019999942374e+01 -1.0516936549567490e+02 + 33 6.5239383936196262e+01 3.7104662858439900e+02 6.0974455303733073e+01 + 34 -2.3124084085037498e+02 -1.1681523003031349e+02 -2.5837805461650902e+02 + 35 -4.1912113383005675e+02 7.9943750613186452e+01 3.1020725803706983e+02 + 36 -1.8561422052418746e+02 -1.1563434085911459e+02 -4.2360108129603255e+01 + 37 8.8275421440856547e+00 -3.5266971563412392e+02 -6.0507541453071482e+01 + 38 -1.9245036832038224e+01 1.1717726898939364e+02 -2.3478417248419430e+02 + 39 -1.0434224692470824e+01 -7.0902644440221394e+01 1.4263978421852897e+02 + 40 3.3271177801097122e+02 -8.8679293552761555e+02 1.6219742097556569e+01 + 41 -6.4538764986359638e+01 1.5189397693612858e+02 -1.8225441696797373e+02 + 42 2.3368235855713472e+01 1.1822246665296132e+02 4.1207745038653673e+02 + 43 -3.5145643416904370e+01 -3.6517162542190285e+00 2.4936784352978586e+02 + 44 -1.2879745400758535e+00 -2.4877345145140910e+02 7.9236449970514400e+01 + 45 2.0871643412339361e+02 -1.0817571271704279e+02 -4.1291831345629367e+02 + 46 -1.3836372705477595e+02 4.6117938292253513e+02 -2.4016736526221720e+02 + 47 1.3255125611057784e+02 2.8747591615865849e+02 -3.2895660248675412e+01 + 48 7.8145417759956388e+02 6.5214930060371188e+01 -6.2304930828897488e+02 + 49 2.4488281403352434e+02 1.9105496615711587e+01 3.7418605144303842e+02 + 50 2.9822129513622804e+02 3.0683153982657637e+02 5.6994490418774092e+02 + 51 -8.0058572063770589e+02 5.1028617285827835e+02 7.5832431569040102e+02 + 52 -9.2137024513793961e+01 1.1910687193195571e+02 -2.4119120858088723e+02 + 53 -3.6387082584333763e+02 -2.0729771077051413e+02 -3.4910499737675855e+02 + 54 -8.3401322475888492e+01 1.8942466656602346e+02 -1.2869045777950828e+02 + 55 -2.5309678413622956e+02 -1.1001947899857218e+02 -3.0896372370121657e+02 + 56 1.7364604574033362e+02 -2.5754429115061833e+02 -4.3743962050161187e+01 + 57 4.2666362581864087e+02 1.5528157995541829e+02 -3.9988032807910298e+02 + 58 -3.9656744873557194e+01 7.8953170999147844e+01 2.6135222052406243e+02 + 59 -2.7594581611215335e+02 1.9891770704103524e+02 2.4122933700019283e+02 + 60 -2.5675992319678829e+02 -1.1527235824444743e+02 9.9923831048647713e+01 + 61 3.0884428120706025e+02 4.9986711220596823e+02 -1.3369013376796840e+02 + 62 2.8530678742627682e+01 5.9283151669757950e-01 -2.7403002505093650e+02 + 63 2.5296775626791694e+02 -2.7640525289662742e+02 -1.9200401038407171e+02 + 64 -8.4674586435530216e+01 -1.5736397776830248e+02 1.5637348700621067e+02 ... From daf984835ca3fe8a19348d945b265f7174081fb9 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 20 Apr 2021 17:31:43 -0400 Subject: [PATCH 077/726] whitespace --- doc/src/fix_qeq.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/fix_qeq.rst b/doc/src/fix_qeq.rst index ffc85dcf3b..6992db6bca 100644 --- a/doc/src/fix_qeq.rst +++ b/doc/src/fix_qeq.rst @@ -134,7 +134,7 @@ may be useful for testing and benchmarking purposes, as it allows to use a fixed number of QEq iterations when *tolerance* is set to a small enough value to alway reach the *maxiter* limit. Turning off warnings will avoid the excessive output in that case. - + The *qeq/point* style describes partial charges on atoms as point charges. Interaction between a pair of charged particles is 1/r, which is the simplest description of the interaction between charges. From 2a7e662d7185d9a41be122e8c7011177fc25c49c Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 20 Apr 2021 20:14:30 -0400 Subject: [PATCH 078/726] more whitespace --- src/KOKKOS/fix_qeq_reax_kokkos.cpp | 90 ++++----- src/KOKKOS/pair_reaxc_kokkos.cpp | 2 +- src/KOKKOS/pair_reaxc_kokkos.h | 2 +- src/QEQ/fix_qeq.cpp | 2 +- src/QEQ/fix_qeq_dynamic.cpp | 2 +- src/QEQ/fix_qeq_fire.cpp | 2 +- src/QEQ/fix_qeq_point.cpp | 10 +- src/QEQ/fix_qeq_shielded.cpp | 24 +-- src/QEQ/fix_qeq_slater.cpp | 14 +- src/USER-OMP/fix_qeq_reax_omp.cpp | 98 +++++----- src/USER-OMP/reaxc_bond_orders_omp.cpp | 184 ++++++++--------- src/USER-OMP/reaxc_hydrogen_bonds_omp.cpp | 72 +++---- src/USER-OMP/reaxc_multi_body_omp.cpp | 8 +- src/USER-OMP/reaxc_nonbonded_omp.cpp | 4 +- src/USER-OMP/reaxc_valence_angles_omp.cpp | 8 +- src/USER-REAXC/fix_qeq_reax.cpp | 14 +- src/USER-REAXC/fix_qeq_reax.h | 6 +- src/USER-REAXC/fix_reaxc_bonds.cpp | 6 +- src/USER-REAXC/reaxc_bond_orders.cpp | 228 +++++++++++----------- src/USER-REAXC/reaxc_bonds.cpp | 20 +- src/USER-REAXC/reaxc_hydrogen_bonds.cpp | 70 +++---- src/USER-REAXC/reaxc_init_md.cpp | 2 +- src/USER-REAXC/reaxc_multi_body.cpp | 26 +-- src/USER-REAXC/reaxc_nonbonded.cpp | 4 +- src/USER-REAXC/reaxc_reset_tools.cpp | 2 +- src/USER-REAXC/reaxc_valence_angles.cpp | 158 +++++++-------- src/USER-REAXC/reaxff_api.h | 4 +- src/USER-REAXC/reaxff_defs.h | 2 +- 28 files changed, 532 insertions(+), 532 deletions(-) diff --git a/src/KOKKOS/fix_qeq_reax_kokkos.cpp b/src/KOKKOS/fix_qeq_reax_kokkos.cpp index 1094d953b7..94ebd155e3 100644 --- a/src/KOKKOS/fix_qeq_reax_kokkos.cpp +++ b/src/KOKKOS/fix_qeq_reax_kokkos.cpp @@ -140,7 +140,7 @@ void FixQEqReaxKokkos::init_shielding_k() for (i = 1; i <= ntypes; ++i) for (j = 1; j <= ntypes; ++j) - k_shield.h_view(i,j) = pow( gamma[i] * gamma[j], -1.5 ); + k_shield.h_view(i,j) = pow(gamma[i] * gamma[j], -1.5); k_shield.template modify(); k_shield.template sync(); @@ -260,13 +260,13 @@ void FixQEqReaxKokkos::pre_force(int /*vflag*/) FixQEqReaxKokkosMatVecFunctor matvec_functor(this); Kokkos::parallel_for(inum,matvec_functor); - // comm->forward_comm_fix(this); //Dist_vector( s ); + // comm->forward_comm_fix(this); //Dist_vector(s); pack_flag = 2; k_s.template modify(); comm->forward_comm_fix(this); k_s.template sync(); - // comm->forward_comm_fix(this); //Dist_vector( t ); + // comm->forward_comm_fix(this); //Dist_vector(t); pack_flag = 3; k_t.template modify(); comm->forward_comm_fix(this); @@ -731,7 +731,7 @@ int FixQEqReaxKokkos::cg_solve1() if (execution_space == Host) teamsize = 1; else teamsize = 128; - // sparse_matvec( &H, x, q ); + // sparse_matvec(&H, x, q); FixQEqReaxKokkosSparse12Functor sparse12_functor(this); Kokkos::parallel_for(inum,sparse12_functor); if (neighflag != FULL) { @@ -751,38 +751,38 @@ int FixQEqReaxKokkos::cg_solve1() if (neighflag != FULL) { k_o.template modify(); - comm->reverse_comm_fix(this); //Coll_vector( q ); + comm->reverse_comm_fix(this); //Coll_vector(q); k_o.template sync(); } - // vector_sum( r , 1., b, -1., q, nn ); + // vector_sum(r , 1., b, -1., q, nn); // preconditioning: d[j] = r[j] * Hdia_inv[j]; - // b_norm = parallel_norm( b, nn ); + // b_norm = parallel_norm(b, nn); F_FLOAT my_norm = 0.0; FixQEqReaxKokkosNorm1Functor norm1_functor(this); Kokkos::parallel_reduce(inum,norm1_functor,my_norm); F_FLOAT norm_sqr = 0.0; - MPI_Allreduce( &my_norm, &norm_sqr, 1, MPI_DOUBLE, MPI_SUM, world ); + MPI_Allreduce(&my_norm, &norm_sqr, 1, MPI_DOUBLE, MPI_SUM, world); b_norm = sqrt(norm_sqr); - // sig_new = parallel_dot( r, d, nn); + // sig_new = parallel_dot(r, d, nn); F_FLOAT my_dot = 0.0; FixQEqReaxKokkosDot1Functor dot1_functor(this); Kokkos::parallel_reduce(inum,dot1_functor,my_dot); F_FLOAT dot_sqr = 0.0; - MPI_Allreduce( &my_dot, &dot_sqr, 1, MPI_DOUBLE, MPI_SUM, world ); + MPI_Allreduce(&my_dot, &dot_sqr, 1, MPI_DOUBLE, MPI_SUM, world); F_FLOAT sig_new = dot_sqr; int loop; for (loop = 1; (loop < imax) && (sqrt(sig_new)/b_norm > tolerance); loop++) { - // comm->forward_comm_fix(this); //Dist_vector( d ); + // comm->forward_comm_fix(this); //Dist_vector(d); pack_flag = 1; k_d.template modify(); comm->forward_comm_fix(this); k_d.template sync(); - // sparse_matvec( &H, d, q ); + // sparse_matvec(&H, d, q); FixQEqReaxKokkosSparse22Functor sparse22_functor(this); Kokkos::parallel_for(inum,sparse22_functor); if (neighflag != FULL) { @@ -804,36 +804,36 @@ int FixQEqReaxKokkos::cg_solve1() if (neighflag != FULL) { k_o.template modify(); - comm->reverse_comm_fix(this); //Coll_vector( q ); + comm->reverse_comm_fix(this); //Coll_vector(q); k_o.template sync(); } - // tmp = parallel_dot( d, q, nn); + // tmp = parallel_dot(d, q, nn); my_dot = dot_sqr = 0.0; FixQEqReaxKokkosDot2Functor dot2_functor(this); Kokkos::parallel_reduce(inum,dot2_functor,my_dot); - MPI_Allreduce( &my_dot, &dot_sqr, 1, MPI_DOUBLE, MPI_SUM, world ); + MPI_Allreduce(&my_dot, &dot_sqr, 1, MPI_DOUBLE, MPI_SUM, world); tmp = dot_sqr; alpha = sig_new / tmp; sig_old = sig_new; - // vector_add( s, alpha, d, nn ); - // vector_add( r, -alpha, q, nn ); + // vector_add(s, alpha, d, nn); + // vector_add(r, -alpha, q, nn); my_dot = dot_sqr = 0.0; FixQEqReaxKokkosPrecon1Functor precon1_functor(this); Kokkos::parallel_for(inum,precon1_functor); // preconditioning: p[j] = r[j] * Hdia_inv[j]; - // sig_new = parallel_dot( r, p, nn); + // sig_new = parallel_dot(r, p, nn); FixQEqReaxKokkosPreconFunctor precon_functor(this); Kokkos::parallel_reduce(inum,precon_functor,my_dot); - MPI_Allreduce( &my_dot, &dot_sqr, 1, MPI_DOUBLE, MPI_SUM, world ); + MPI_Allreduce(&my_dot, &dot_sqr, 1, MPI_DOUBLE, MPI_SUM, world); sig_new = dot_sqr; beta = sig_new / sig_old; - // vector_sum( d, 1., p, beta, d, nn ); + // vector_sum(d, 1., p, beta, d, nn); FixQEqReaxKokkosVecSum2Functor vecsum2_functor(this); Kokkos::parallel_for(inum,vecsum2_functor); } @@ -859,7 +859,7 @@ int FixQEqReaxKokkos::cg_solve2() if (execution_space == Host) teamsize = 1; else teamsize = 128; - // sparse_matvec( &H, x, q ); + // sparse_matvec(&H, x, q); FixQEqReaxKokkosSparse32Functor sparse32_functor(this); Kokkos::parallel_for(inum,sparse32_functor); if (neighflag != FULL) { @@ -881,38 +881,38 @@ int FixQEqReaxKokkos::cg_solve2() if (neighflag != FULL) { k_o.template modify(); - comm->reverse_comm_fix(this); //Coll_vector( q ); + comm->reverse_comm_fix(this); //Coll_vector(q); k_o.template sync(); } - // vector_sum( r , 1., b, -1., q, nn ); + // vector_sum(r , 1., b, -1., q, nn); // preconditioning: d[j] = r[j] * Hdia_inv[j]; - // b_norm = parallel_norm( b, nn ); + // b_norm = parallel_norm(b, nn); F_FLOAT my_norm = 0.0; FixQEqReaxKokkosNorm2Functor norm2_functor(this); Kokkos::parallel_reduce(inum,norm2_functor,my_norm); F_FLOAT norm_sqr = 0.0; - MPI_Allreduce( &my_norm, &norm_sqr, 1, MPI_DOUBLE, MPI_SUM, world ); + MPI_Allreduce(&my_norm, &norm_sqr, 1, MPI_DOUBLE, MPI_SUM, world); b_norm = sqrt(norm_sqr); - // sig_new = parallel_dot( r, d, nn); + // sig_new = parallel_dot(r, d, nn); F_FLOAT my_dot = 0.0; FixQEqReaxKokkosDot1Functor dot1_functor(this); Kokkos::parallel_reduce(inum,dot1_functor,my_dot); F_FLOAT dot_sqr = 0.0; - MPI_Allreduce( &my_dot, &dot_sqr, 1, MPI_DOUBLE, MPI_SUM, world ); + MPI_Allreduce(&my_dot, &dot_sqr, 1, MPI_DOUBLE, MPI_SUM, world); F_FLOAT sig_new = dot_sqr; int loop; for (loop = 1; (loop < imax) && (sqrt(sig_new)/b_norm > tolerance); loop++) { - // comm->forward_comm_fix(this); //Dist_vector( d ); + // comm->forward_comm_fix(this); //Dist_vector(d); pack_flag = 1; k_d.template modify(); comm->forward_comm_fix(this); k_d.template sync(); - // sparse_matvec( &H, d, q ); + // sparse_matvec(&H, d, q); FixQEqReaxKokkosSparse22Functor sparse22_functor(this); Kokkos::parallel_for(inum,sparse22_functor); if (neighflag != FULL) { @@ -934,36 +934,36 @@ int FixQEqReaxKokkos::cg_solve2() if (neighflag != FULL) { k_o.template modify(); - comm->reverse_comm_fix(this); //Coll_vector( q ); + comm->reverse_comm_fix(this); //Coll_vector(q); k_o.template sync(); } - // tmp = parallel_dot( d, q, nn); + // tmp = parallel_dot(d, q, nn); my_dot = dot_sqr = 0.0; FixQEqReaxKokkosDot2Functor dot2_functor(this); Kokkos::parallel_reduce(inum,dot2_functor,my_dot); - MPI_Allreduce( &my_dot, &dot_sqr, 1, MPI_DOUBLE, MPI_SUM, world ); + MPI_Allreduce(&my_dot, &dot_sqr, 1, MPI_DOUBLE, MPI_SUM, world); tmp = dot_sqr; alpha = sig_new / tmp; sig_old = sig_new; - // vector_add( t, alpha, d, nn ); - // vector_add( r, -alpha, q, nn ); + // vector_add(t, alpha, d, nn); + // vector_add(r, -alpha, q, nn); my_dot = dot_sqr = 0.0; FixQEqReaxKokkosPrecon2Functor precon2_functor(this); Kokkos::parallel_for(inum,precon2_functor); // preconditioning: p[j] = r[j] * Hdia_inv[j]; - // sig_new = parallel_dot( r, p, nn); + // sig_new = parallel_dot(r, p, nn); FixQEqReaxKokkosPreconFunctor precon_functor(this); Kokkos::parallel_reduce(inum,precon_functor,my_dot); - MPI_Allreduce( &my_dot, &dot_sqr, 1, MPI_DOUBLE, MPI_SUM, world ); + MPI_Allreduce(&my_dot, &dot_sqr, 1, MPI_DOUBLE, MPI_SUM, world); sig_new = dot_sqr; beta = sig_new / sig_old; - // vector_sum( d, 1., p, beta, d, nn ); + // vector_sum(d, 1., p, beta, d, nn); FixQEqReaxKokkosVecSum2Functor vecsum2_functor(this); Kokkos::parallel_for(inum,vecsum2_functor); } @@ -984,18 +984,18 @@ void FixQEqReaxKokkos::calculate_q() F_FLOAT sum, sum_all; const int inum = list->inum; - // s_sum = parallel_vector_acc( s, nn ); + // s_sum = parallel_vector_acc(s, nn); sum = sum_all = 0.0; FixQEqReaxKokkosVecAcc1Functor vecacc1_functor(this); Kokkos::parallel_reduce(inum,vecacc1_functor,sum); - MPI_Allreduce(&sum, &sum_all, 1, MPI_DOUBLE, MPI_SUM, world ); + MPI_Allreduce(&sum, &sum_all, 1, MPI_DOUBLE, MPI_SUM, world); const F_FLOAT s_sum = sum_all; - // t_sum = parallel_vector_acc( t, nn); + // t_sum = parallel_vector_acc(t, nn); sum = sum_all = 0.0; FixQEqReaxKokkosVecAcc2Functor vecacc2_functor(this); Kokkos::parallel_reduce(inum,vecacc2_functor,sum); - MPI_Allreduce(&sum, &sum_all, 1, MPI_DOUBLE, MPI_SUM, world ); + MPI_Allreduce(&sum, &sum_all, 1, MPI_DOUBLE, MPI_SUM, world); const F_FLOAT t_sum = sum_all; // u = s_sum / t_sum; @@ -1007,7 +1007,7 @@ void FixQEqReaxKokkos::calculate_q() atomKK->modified(execution_space,Q_MASK); pack_flag = 4; - //comm->forward_comm_fix( this ); //Dist_vector( atom->q ); + //comm->forward_comm_fix(this); //Dist_vector(atom->q); comm->forward_comm_fix(this); } @@ -1382,11 +1382,11 @@ KOKKOS_INLINE_FUNCTION void FixQEqReaxKokkos::operator()(TagFixQEqReaxUnpackForwardComm, const int &i) const { if (pack_flag == 1) d_d[i + first] = d_buf[i]; - else if ( pack_flag == 2) + else if (pack_flag == 2) d_s[i + first] = d_buf[i]; - else if ( pack_flag == 3) + else if (pack_flag == 3) d_t[i + first] = d_buf[i]; - else if ( pack_flag == 4) + else if (pack_flag == 4) q[i + first] = d_buf[i]; } diff --git a/src/KOKKOS/pair_reaxc_kokkos.cpp b/src/KOKKOS/pair_reaxc_kokkos.cpp index 04c70342ed..a5caad9fd2 100644 --- a/src/KOKKOS/pair_reaxc_kokkos.cpp +++ b/src/KOKKOS/pair_reaxc_kokkos.cpp @@ -2389,7 +2389,7 @@ void PairReaxCKokkos::operator()(PairReaxComputeAngular tdual_int_1d; Kokkos::DualView k_params_sing; diff --git a/src/QEQ/fix_qeq.cpp b/src/QEQ/fix_qeq.cpp index d6fe12abf8..d7e449492e 100644 --- a/src/QEQ/fix_qeq.cpp +++ b/src/QEQ/fix_qeq.cpp @@ -434,7 +434,7 @@ void FixQEq::sparse_matvec(sparse_matrix *A, double *x, double *b) for (i = 0; i < nlocal; ++i) { if (atom->mask[i] & groupbit) - b[i] = eta[ atom->type[i] ] * x[i]; + b[i] = eta[atom->type[i]] * x[i]; } for (i = nlocal; i < nall; ++i) { diff --git a/src/QEQ/fix_qeq_dynamic.cpp b/src/QEQ/fix_qeq_dynamic.cpp index 5af7a4c9a0..4580b506b8 100644 --- a/src/QEQ/fix_qeq_dynamic.cpp +++ b/src/QEQ/fix_qeq_dynamic.cpp @@ -266,7 +266,7 @@ void FixQEqDynamic::unpack_forward_comm(int n, int first, double *buf) if (pack_flag == 1) for (m = 0, i = first; m < n; m++, i++) atom->q[i] = buf[m]; - else if ( pack_flag == 2) + else if (pack_flag == 2) for (m = 0, i = first; m < n; m++, i++) qf[i] = buf[m]; } diff --git a/src/QEQ/fix_qeq_fire.cpp b/src/QEQ/fix_qeq_fire.cpp index 0e89ee3d17..7cd3c6ce71 100644 --- a/src/QEQ/fix_qeq_fire.cpp +++ b/src/QEQ/fix_qeq_fire.cpp @@ -326,7 +326,7 @@ void FixQEqFire::unpack_forward_comm(int n, int first, double *buf) if (pack_flag == 1) for (m = 0, i = first; m < n; m++, i++) atom->q[i] = buf[m]; - else if ( pack_flag == 2) + else if (pack_flag == 2) for (m = 0, i = first; m < n; m++, i++) qf[i] = buf[m]; } diff --git a/src/QEQ/fix_qeq_point.cpp b/src/QEQ/fix_qeq_point.cpp index 8d60585773..faca995a69 100644 --- a/src/QEQ/fix_qeq_point.cpp +++ b/src/QEQ/fix_qeq_point.cpp @@ -109,18 +109,18 @@ void FixQEqPoint::init_matvec() for (ii = 0; ii < inum; ++ii) { i = ilist[ii]; if (atom->mask[i] & groupbit) { - Hdia_inv[i] = 1. / eta[ atom->type[i] ]; - b_s[i] = -( chi[atom->type[i]] + chizj[i] ); + Hdia_inv[i] = 1. / eta[atom->type[i]]; + b_s[i] = -(chi[atom->type[i]] + chizj[i]); b_t[i] = -1.0; - t[i] = t_hist[i][2] + 3 * ( t_hist[i][0] - t_hist[i][1] ); + t[i] = t_hist[i][2] + 3 * (t_hist[i][0] - t_hist[i][1]); s[i] = 4*(s_hist[i][0]+s_hist[i][2])-(6*s_hist[i][1]+s_hist[i][3]); } } pack_flag = 2; - comm->forward_comm_fix(this); //Dist_vector( s ); + comm->forward_comm_fix(this); //Dist_vector(s); pack_flag = 3; - comm->forward_comm_fix(this); //Dist_vector( t ); + comm->forward_comm_fix(this); //Dist_vector(t); } /* ---------------------------------------------------------------------- */ diff --git a/src/QEQ/fix_qeq_shielded.cpp b/src/QEQ/fix_qeq_shielded.cpp index 351700057b..8b218f4028 100644 --- a/src/QEQ/fix_qeq_shielded.cpp +++ b/src/QEQ/fix_qeq_shielded.cpp @@ -108,7 +108,7 @@ void FixQEqShielded::init_shielding() int ntypes = atom->ntypes; for (i = 1; i <= ntypes; ++i) for (j = 1; j <= ntypes; ++j) - shld[i][j] = pow( gamma[i] * gamma[j], -1.5 ); + shld[i][j] = pow(gamma[i] * gamma[j], -1.5); if (fabs(swa) > 0.01 && comm->me == 0) error->warning(FLERR,"Fix qeq has non-zero lower Taper radius cutoff"); @@ -117,7 +117,7 @@ void FixQEqShielded::init_shielding() else if (swb < 5 && comm->me == 0) error->warning(FLERR,"Fix qeq has very low Taper radius cutoff"); - d7 = pow( swb - swa, 7 ); + d7 = pow(swb - swa, 7); swa2 = swa*swa; swa3 = swa2*swa; swb2 = swb*swb; @@ -126,12 +126,12 @@ void FixQEqShielded::init_shielding() Tap[7] = 20.0 / d7; Tap[6] = -70.0 * (swa + swb) / d7; Tap[5] = 84.0 * (swa2 + 3.0*swa*swb + swb2) / d7; - Tap[4] = -35.0 * (swa3 + 9.0*swa2*swb + 9.0*swa*swb2 + swb3 ) / d7; - Tap[3] = 140.0 * (swa3*swb + 3.0*swa2*swb2 + swa*swb3 ) / d7; + Tap[4] = -35.0 * (swa3 + 9.0*swa2*swb + 9.0*swa*swb2 + swb3) / d7; + Tap[3] = 140.0 * (swa3*swb + 3.0*swa2*swb2 + swa*swb3) / d7; Tap[2] =-210.0 * (swa3*swb2 + swa2*swb3) / d7; Tap[1] = 140.0 * swa3 * swb3 / d7; Tap[0] = (-35.0*swa3*swb2*swb2 + 21.0*swa2*swb3*swb2 - - 7.0*swa*swb3*swb3 + swb3*swb3*swb ) / d7; + 7.0*swa*swb3*swb3 + swb3*swb3*swb) / d7; } /* ---------------------------------------------------------------------- */ @@ -171,18 +171,18 @@ void FixQEqShielded::init_matvec() for (ii = 0; ii < inum; ++ii) { i = ilist[ii]; if (atom->mask[i] & groupbit) { - Hdia_inv[i] = 1. / eta[ atom->type[i] ]; - b_s[i] = -( chi[atom->type[i]] + chizj[i] ); + Hdia_inv[i] = 1. / eta[atom->type[i]]; + b_s[i] = -(chi[atom->type[i]] + chizj[i]); b_t[i] = -1.0; - t[i] = t_hist[i][2] + 3 * ( t_hist[i][0] - t_hist[i][1] ); + t[i] = t_hist[i][2] + 3 * (t_hist[i][0] - t_hist[i][1]); s[i] = 4*(s_hist[i][0]+s_hist[i][2])-(6*s_hist[i][1]+s_hist[i][3]); } } pack_flag = 2; - comm->forward_comm_fix(this); //Dist_vector( s ); + comm->forward_comm_fix(this); //Dist_vector(s); pack_flag = 3; - comm->forward_comm_fix(this); //Dist_vector( t ); + comm->forward_comm_fix(this); //Dist_vector(t); } /* ---------------------------------------------------------------------- */ @@ -225,7 +225,7 @@ void FixQEqShielded::compute_H() if (r_sqr <= cutoff_sq) { H.jlist[m_fill] = j; r = sqrt(r_sqr); - H.val[m_fill] = 0.5 * calculate_H( r, shld[type[i]][type[j]] ); + H.val[m_fill] = 0.5 * calculate_H(r, shld[type[i]][type[j]]); m_fill++; } } @@ -240,7 +240,7 @@ void FixQEqShielded::compute_H() /* ---------------------------------------------------------------------- */ -double FixQEqShielded::calculate_H( double r, double gamma ) +double FixQEqShielded::calculate_H(double r, double gamma) { double Taper, denom; diff --git a/src/QEQ/fix_qeq_slater.cpp b/src/QEQ/fix_qeq_slater.cpp index da0d2090cf..975caf5c81 100644 --- a/src/QEQ/fix_qeq_slater.cpp +++ b/src/QEQ/fix_qeq_slater.cpp @@ -147,18 +147,18 @@ void FixQEqSlater::init_matvec() for (ii = 0; ii < inum; ++ii) { i = ilist[ii]; if (atom->mask[i] & groupbit) { - Hdia_inv[i] = 1. / eta[ atom->type[i] ]; - b_s[i] = -( chi[atom->type[i]] + chizj[i] ); + Hdia_inv[i] = 1. / eta[atom->type[i]]; + b_s[i] = -(chi[atom->type[i]] + chizj[i]); b_t[i] = -1.0; - t[i] = t_hist[i][2] + 3 * ( t_hist[i][0] - t_hist[i][1] ); + t[i] = t_hist[i][2] + 3 * (t_hist[i][0] - t_hist[i][1]); s[i] = 4*(s_hist[i][0]+s_hist[i][2])-(6*s_hist[i][1]+s_hist[i][3]); } } pack_flag = 2; - comm->forward_comm_fix(this); //Dist_vector( s ); + comm->forward_comm_fix(this); //Dist_vector(s); pack_flag = 3; - comm->forward_comm_fix(this); //Dist_vector( t ); + comm->forward_comm_fix(this); //Dist_vector(t); } /* ---------------------------------------------------------------------- */ @@ -346,7 +346,7 @@ double FixQEqSlater::calculate_H_wolf(double zei, double zej, double zj, /* ---------------------------------------------------------------------- */ -void FixQEqSlater::sparse_matvec( sparse_matrix *A, double *x, double *b ) +void FixQEqSlater::sparse_matvec(sparse_matrix *A, double *x, double *b) { int i, j, itr_j; @@ -368,7 +368,7 @@ void FixQEqSlater::sparse_matvec( sparse_matrix *A, double *x, double *b ) for (i = 0; i < nlocal; ++i) { if (atom->mask[i] & groupbit) { - for( itr_j=A->firstnbr[i]; itr_jfirstnbr[i]+A->numnbrs[i]; itr_j++) { + for(itr_j=A->firstnbr[i]; itr_jfirstnbr[i]+A->numnbrs[i]; itr_j++) { j = A->jlist[itr_j]; b[i] += A->val[itr_j] * x[j]; b[j] += A->val[itr_j] * x[i]; diff --git a/src/USER-OMP/fix_qeq_reax_omp.cpp b/src/USER-OMP/fix_qeq_reax_omp.cpp index 52e9565a46..b4a878f126 100644 --- a/src/USER-OMP/fix_qeq_reax_omp.cpp +++ b/src/USER-OMP/fix_qeq_reax_omp.cpp @@ -212,7 +212,7 @@ void FixQEqReaxOMP::compute_H() if (flag) { H.jlist[mfill] = j; - H.val[mfill] = calculate_H( sqrt(r_sqr), shld[type[i]][type[j]] ); + H.val[mfill] = calculate_H(sqrt(r_sqr), shld[type[i]][type[j]]); mfill++; } } @@ -307,8 +307,8 @@ void FixQEqReaxOMP::init_matvec() if (atom->mask[i] & groupbit) { /* init pre-conditioner for H and init solution vectors */ - Hdia_inv[i] = 1. / eta[ atom->type[i] ]; - b_s[i] = -chi[ atom->type[i] ]; + Hdia_inv[i] = 1. / eta[atom->type[i]]; + b_s[i] = -chi[atom->type[i]]; b_t[i] = -1.0; // Predictor Step @@ -335,8 +335,8 @@ void FixQEqReaxOMP::init_matvec() if (atom->mask[i] & groupbit) { /* init pre-conditioner for H and init solution vectors */ - Hdia_inv[i] = 1. / eta[ atom->type[i] ]; - b_s[i] = -chi[ atom->type[i] ]; + Hdia_inv[i] = 1. / eta[atom->type[i]]; + b_s[i] = -chi[atom->type[i]]; b_t[i] = -1.0; /* linear extrapolation for s & t from previous solutions */ @@ -344,8 +344,8 @@ void FixQEqReaxOMP::init_matvec() //t[i] = 2 * t_hist[i][0] - t_hist[i][1]; /* quadratic extrapolation for s & t from previous solutions */ - //s[i] = s_hist[i][2] + 3 * ( s_hist[i][0] - s_hist[i][1] ); - t[i] = t_hist[i][2] + 3 * ( t_hist[i][0] - t_hist[i][1] ); + //s[i] = s_hist[i][2] + 3 * (s_hist[i][0] - s_hist[i][1]); + t[i] = t_hist[i][2] + 3 * (t_hist[i][0] - t_hist[i][1]); /* cubic extrapolation for s & t from previous solutions */ s[i] = 4*(s_hist[i][0]+s_hist[i][2])-(6*s_hist[i][1]+s_hist[i][3]); @@ -355,14 +355,14 @@ void FixQEqReaxOMP::init_matvec() } pack_flag = 2; - comm->forward_comm_fix(this); //Dist_vector( s ); + comm->forward_comm_fix(this); //Dist_vector(s); pack_flag = 3; - comm->forward_comm_fix(this); //Dist_vector( t ); + comm->forward_comm_fix(this); //Dist_vector(t); } /* ---------------------------------------------------------------------- */ -int FixQEqReaxOMP::CG( double *b, double *x) +int FixQEqReaxOMP::CG(double *b, double *x) { int i; double alpha, beta, b_norm; @@ -371,8 +371,8 @@ int FixQEqReaxOMP::CG( double *b, double *x) double my_buf[2], buf[2]; pack_flag = 1; - sparse_matvec( &H, x, q ); - comm->reverse_comm_fix( this); //Coll_Vector( q ); + sparse_matvec(&H, x, q); + comm->reverse_comm_fix(this); //Coll_Vector(q); double tmp1, tmp2; tmp1 = tmp2 = 0.0; @@ -400,9 +400,9 @@ int FixQEqReaxOMP::CG( double *b, double *x) sig_new = buf[1]; for (i = 1; i < imax && sqrt(sig_new) / b_norm > tolerance; ++i) { - comm->forward_comm_fix(this); //Dist_vector( d ); - sparse_matvec( &H, d, q ); - comm->reverse_comm_fix(this); //Coll_vector( q ); + comm->forward_comm_fix(this); //Dist_vector(d); + sparse_matvec(&H, d, q); + comm->reverse_comm_fix(this); //Coll_vector(q); tmp1 = 0.0; #if defined(_OPENMP) @@ -471,7 +471,7 @@ int FixQEqReaxOMP::CG( double *b, double *x) /* ---------------------------------------------------------------------- */ -void FixQEqReaxOMP::sparse_matvec( sparse_matrix *A, double *x, double *b) +void FixQEqReaxOMP::sparse_matvec(sparse_matrix *A, double *x, double *b) { #if defined(_OPENMP) #pragma omp parallel default(shared) @@ -491,7 +491,7 @@ void FixQEqReaxOMP::sparse_matvec( sparse_matrix *A, double *x, double *b) #endif for (ii = 0; ii < nn; ++ii) { i = ilist[ii]; - if (atom->mask[i] & groupbit) b[i] = eta[ atom->type[i] ] * x[i]; + if (atom->mask[i] & groupbit) b[i] = eta[atom->type[i]] * x[i]; } #if defined(_OPENMP) @@ -586,12 +586,12 @@ void FixQEqReaxOMP::calculate_Q() } pack_flag = 4; - comm->forward_comm_fix( this); //Dist_vector( atom->q ); + comm->forward_comm_fix(this); //Dist_vector(atom->q); } /* ---------------------------------------------------------------------- */ -void FixQEqReaxOMP::vector_sum( double* dest, double c, double* v, +void FixQEqReaxOMP::vector_sum(double* dest, double c, double* v, double d, double* y, int k) { int i; @@ -607,7 +607,7 @@ void FixQEqReaxOMP::vector_sum( double* dest, double c, double* v, /* ---------------------------------------------------------------------- */ -void FixQEqReaxOMP::vector_add( double* dest, double c, double* v, int k) +void FixQEqReaxOMP::vector_add(double* dest, double c, double* v, int k) { int i; @@ -626,7 +626,7 @@ void FixQEqReaxOMP::vector_add( double* dest, double c, double* v, int k) /* dual CG support */ /* ---------------------------------------------------------------------- */ -int FixQEqReaxOMP::dual_CG( double *b1, double *b2, double *x1, double *x2) +int FixQEqReaxOMP::dual_CG(double *b1, double *b2, double *x1, double *x2) { int i; double alpha_s, alpha_t, beta_s, beta_t, b_norm_s, b_norm_t; @@ -635,8 +635,8 @@ int FixQEqReaxOMP::dual_CG( double *b1, double *b2, double *x1, double *x2) double my_buf[4], buf[4]; pack_flag = 5; // forward 2x d and reverse 2x q - dual_sparse_matvec( &H, x1, x2, q ); - comm->reverse_comm_fix(this); //Coll_Vector( q ); + dual_sparse_matvec(&H, x1, x2, q); + comm->reverse_comm_fix(this); //Coll_Vector(q); double tmp1, tmp2, tmp3, tmp4; tmp1 = tmp2 = tmp3 = tmp4 = 0.0; @@ -648,16 +648,16 @@ int FixQEqReaxOMP::dual_CG( double *b1, double *b2, double *x1, double *x2) int ii = ilist[jj]; if (atom->mask[ii] & groupbit) { int indxI = 2 * ii; - r[indxI ] = b1[ii] - q[indxI ]; + r[indxI] = b1[ii] - q[indxI]; r[indxI+1] = b2[ii] - q[indxI+1]; - d[indxI ] = r[indxI ] * Hdia_inv[ii]; //pre-condition + d[indxI] = r[indxI] * Hdia_inv[ii]; //pre-condition d[indxI+1] = r[indxI+1] * Hdia_inv[ii]; tmp1 += b1[ii] * b1[ii]; tmp2 += b2[ii] * b2[ii]; - tmp3 += r[indxI ] * d[indxI ]; + tmp3 += r[indxI] * d[indxI]; tmp4 += r[indxI+1] * d[indxI+1]; } } @@ -676,9 +676,9 @@ int FixQEqReaxOMP::dual_CG( double *b1, double *b2, double *x1, double *x2) sig_new_t = buf[3]; for (i = 1; i < imax; ++i) { - comm->forward_comm_fix(this); //Dist_vector( d ); - dual_sparse_matvec( &H, d, q ); - comm->reverse_comm_fix(this); //Coll_vector( q ); + comm->forward_comm_fix(this); //Dist_vector(d); + dual_sparse_matvec(&H, d, q); + comm->reverse_comm_fix(this); //Coll_vector(q); tmp1 = tmp2 = 0.0; #if defined(_OPENMP) @@ -693,7 +693,7 @@ int FixQEqReaxOMP::dual_CG( double *b1, double *b2, double *x1, double *x2) int ii = ilist[jj]; if (atom->mask[ii] & groupbit) { int indxI = 2 * ii; - tmp1 += d[indxI ] * q[indxI ]; + tmp1 += d[indxI] * q[indxI]; tmp2 += d[indxI+1] * q[indxI+1]; } } @@ -722,17 +722,17 @@ int FixQEqReaxOMP::dual_CG( double *b1, double *b2, double *x1, double *x2) int ii = ilist[jj]; if (atom->mask[ii] & groupbit) { int indxI = 2 * ii; - x1[ii] += alpha_s * d[indxI ]; + x1[ii] += alpha_s * d[indxI]; x2[ii] += alpha_t * d[indxI+1]; - r[indxI ] -= alpha_s * q[indxI ]; + r[indxI] -= alpha_s * q[indxI]; r[indxI+1] -= alpha_t * q[indxI+1]; // pre-conditioning - p[indxI ] = r[indxI ] * Hdia_inv[ii]; + p[indxI] = r[indxI] * Hdia_inv[ii]; p[indxI+1] = r[indxI+1] * Hdia_inv[ii]; - tmp1 += r[indxI ] * p[indxI ]; + tmp1 += r[indxI] * p[indxI]; tmp2 += r[indxI+1] * p[indxI+1]; } } @@ -763,7 +763,7 @@ int FixQEqReaxOMP::dual_CG( double *b1, double *b2, double *x1, double *x2) if (atom->mask[ii] & groupbit) { int indxI = 2 * ii; - d[indxI ] = p[indxI ] + beta_s * d[indxI ]; + d[indxI] = p[indxI] + beta_s * d[indxI]; d[indxI+1] = p[indxI+1] + beta_t * d[indxI+1]; } } @@ -798,7 +798,7 @@ int FixQEqReaxOMP::dual_CG( double *b1, double *b2, double *x1, double *x2) /* ---------------------------------------------------------------------- */ -void FixQEqReaxOMP::dual_sparse_matvec( sparse_matrix *A, double *x1, double *x2, double *b) +void FixQEqReaxOMP::dual_sparse_matvec(sparse_matrix *A, double *x1, double *x2, double *b) { #if defined(_OPENMP) #pragma omp parallel default(shared) @@ -822,8 +822,8 @@ void FixQEqReaxOMP::dual_sparse_matvec( sparse_matrix *A, double *x1, double *x2 i = ilist[ii]; if (atom->mask[i] & groupbit) { indxI = 2 * i; - b[indxI ] = eta[ atom->type[i] ] * x1[i]; - b[indxI+1] = eta[ atom->type[i] ] * x2[i]; + b[indxI] = eta[atom->type[i]] * x1[i]; + b[indxI+1] = eta[atom->type[i]] * x2[i]; } } @@ -845,7 +845,7 @@ void FixQEqReaxOMP::dual_sparse_matvec( sparse_matrix *A, double *x1, double *x2 for (i = 0; i < NN; ++i) { indxI = 2 * i; for (int t=0; tfirstnbr[i]; itr_jfirstnbr[i]+A->numnbrs[i]; itr_j++) { j = A->jlist[itr_j]; indxJ = 2 * j; - b[indxI ] += A->val[itr_j] * x1[j]; + b[indxI] += A->val[itr_j] * x1[j]; b[indxI+1] += A->val[itr_j] * x2[j]; - b_temp[tid][indxJ ] += A->val[itr_j] * x1[i]; + b_temp[tid][indxJ] += A->val[itr_j] * x1[i]; b_temp[tid][indxJ+1] += A->val[itr_j] * x2[i]; } } @@ -879,7 +879,7 @@ void FixQEqReaxOMP::dual_sparse_matvec( sparse_matrix *A, double *x1, double *x2 for (i = 0; i < NN; ++i) { indxI = 2 * i; for (int t = 0; t < nthreads; ++t) { - b[indxI ] += b_temp[t][indxI ]; + b[indxI] += b_temp[t][indxI]; b[indxI+1] += b_temp[t][indxI+1]; } } @@ -889,7 +889,7 @@ void FixQEqReaxOMP::dual_sparse_matvec( sparse_matrix *A, double *x1, double *x2 /* ---------------------------------------------------------------------- */ -void FixQEqReaxOMP::dual_sparse_matvec( sparse_matrix *A, double *x, double *b ) +void FixQEqReaxOMP::dual_sparse_matvec(sparse_matrix *A, double *x, double *b) { #if defined(_OPENMP) #pragma omp parallel default(shared) @@ -913,8 +913,8 @@ void FixQEqReaxOMP::dual_sparse_matvec( sparse_matrix *A, double *x, double *b ) i = ilist[ii]; if (atom->mask[i] & groupbit) { indxI = 2 * i; - b[indxI ] = eta[ atom->type[i] ] * x[indxI ]; - b[indxI+1] = eta[ atom->type[i] ] * x[indxI+1]; + b[indxI] = eta[atom->type[i]] * x[indxI]; + b[indxI+1] = eta[atom->type[i]] * x[indxI+1]; } } @@ -936,7 +936,7 @@ void FixQEqReaxOMP::dual_sparse_matvec( sparse_matrix *A, double *x, double *b ) for (i = 0; i < NN; ++i) { indxI = 2 * i; for (int t=0; tfirstnbr[i]; itr_jfirstnbr[i]+A->numnbrs[i]; itr_j++) { j = A->jlist[itr_j]; indxJ = 2 * j; - b[indxI ] += A->val[itr_j] * x[indxJ ]; + b[indxI] += A->val[itr_j] * x[indxJ]; b[indxI+1] += A->val[itr_j] * x[indxJ+1]; - b_temp[tid][indxJ ] += A->val[itr_j] * x[indxI ]; + b_temp[tid][indxJ] += A->val[itr_j] * x[indxI]; b_temp[tid][indxJ+1] += A->val[itr_j] * x[indxI+1]; } } @@ -970,7 +970,7 @@ void FixQEqReaxOMP::dual_sparse_matvec( sparse_matrix *A, double *x, double *b ) for (i = 0; i < NN; ++i) { indxI = 2 * i; for (int t = 0; t < nthreads; ++t) { - b[indxI ] += b_temp[t][indxI ]; + b[indxI] += b_temp[t][indxI]; b[indxI+1] += b_temp[t][indxI+1]; } } diff --git a/src/USER-OMP/reaxc_bond_orders_omp.cpp b/src/USER-OMP/reaxc_bond_orders_omp.cpp index c3c1fb37df..6434c3d03a 100644 --- a/src/USER-OMP/reaxc_bond_orders_omp.cpp +++ b/src/USER-OMP/reaxc_bond_orders_omp.cpp @@ -58,7 +58,7 @@ namespace ReaxFF { nbr_j = &(bonds->select.bond_list[pj]); j = nbr_j->nbr; bo_ij = &(nbr_j->bo_data); - bo_ji = &(bonds->select.bond_list[ nbr_j->sym_index ].bo_data); + bo_ji = &(bonds->select.bond_list[nbr_j->sym_index].bo_data); double c = bo_ij->Cdbo + bo_ji->Cdbo; coef.C1dbo = bo_ij->C1dbo * c; @@ -83,19 +83,19 @@ namespace ReaxFF { coef.C3dDelta = bo_ij->C3dbo * c; c = (coef.C1dbo + coef.C1dDelta + coef.C2dbopi + coef.C2dbopi2); - rvec_Scale( temp, c, bo_ij->dBOp ); + rvec_Scale( temp, c, bo_ij->dBOp); c = (coef.C2dbo + coef.C2dDelta + coef.C3dbopi + coef.C3dbopi2); - rvec_ScaledAdd( temp, c, workspace->dDeltap_self[i] ); + rvec_ScaledAdd(temp, c, workspace->dDeltap_self[i]); - rvec_ScaledAdd( temp, coef.C1dbopi, bo_ij->dln_BOp_pi ); - rvec_ScaledAdd( temp, coef.C1dbopi2, bo_ij->dln_BOp_pi2 ); + rvec_ScaledAdd(temp, coef.C1dbopi, bo_ij->dln_BOp_pi); + rvec_ScaledAdd(temp, coef.C1dbopi2, bo_ij->dln_BOp_pi2); - rvec_Add(workspace->forceReduction[reductionOffset+i],temp ); + rvec_Add(workspace->forceReduction[reductionOffset+i],temp); if (system->pair_ptr->vflag_atom) { rvec_Scale(fi_tmp, -1.0, temp); - rvec_ScaledSum( delij, 1., system->my_atoms[i].x,-1., system->my_atoms[j].x ); + rvec_ScaledSum(delij, 1., system->my_atoms[i].x,-1., system->my_atoms[j].x); pair_reax_ptr->ev_tally_xyz_thr_proxy(system->pair_ptr,i,j,system->N,0,0,0, fi_tmp[0],fi_tmp[1],fi_tmp[2], @@ -103,20 +103,20 @@ namespace ReaxFF { } c = -(coef.C1dbo + coef.C1dDelta + coef.C2dbopi + coef.C2dbopi2); - rvec_Scale( temp, c, bo_ij->dBOp ); + rvec_Scale( temp, c, bo_ij->dBOp); c = (coef.C3dbo + coef.C3dDelta + coef.C4dbopi + coef.C4dbopi2); - rvec_ScaledAdd( temp, c, workspace->dDeltap_self[j] ); + rvec_ScaledAdd(temp, c, workspace->dDeltap_self[j]); - rvec_ScaledAdd( temp, -coef.C1dbopi, bo_ij->dln_BOp_pi ); - rvec_ScaledAdd( temp, -coef.C1dbopi2, bo_ij->dln_BOp_pi2 ); + rvec_ScaledAdd(temp, -coef.C1dbopi, bo_ij->dln_BOp_pi); + rvec_ScaledAdd(temp, -coef.C1dbopi2, bo_ij->dln_BOp_pi2); - rvec_Add(workspace->forceReduction[reductionOffset+j],temp ); + rvec_Add(workspace->forceReduction[reductionOffset+j],temp); if (system->pair_ptr->vflag_atom) { rvec_Scale(fj_tmp, -1.0, temp); - rvec_ScaledSum( delji, 1., system->my_atoms[j].x,-1., system->my_atoms[i].x ); + rvec_ScaledSum(delji, 1., system->my_atoms[j].x,-1., system->my_atoms[i].x); pair_reax_ptr->ev_tally_xyz_thr_proxy(system->pair_ptr,j,i,system->N,0,0,0, fj_tmp[0],fj_tmp[1],fj_tmp[2], @@ -128,15 +128,15 @@ namespace ReaxFF { nbr_k = &(bonds->select.bond_list[pk]); k = nbr_k->nbr; - // rvec_Scale( temp, -coef.C2dbo, nbr_k->bo_data.dBOp); - // rvec_ScaledAdd( temp, -coef.C2dDelta, nbr_k->bo_data.dBOp); - // rvec_ScaledAdd( temp, -coef.C3dbopi, nbr_k->bo_data.dBOp); - // rvec_ScaledAdd( temp, -coef.C3dbopi2, nbr_k->bo_data.dBOp); + // rvec_Scale( temp, -coef.C2dbo, nbr_k->bo_data.dBOp); + // rvec_ScaledAdd(temp, -coef.C2dDelta, nbr_k->bo_data.dBOp); + // rvec_ScaledAdd(temp, -coef.C3dbopi, nbr_k->bo_data.dBOp); + // rvec_ScaledAdd(temp, -coef.C3dbopi2, nbr_k->bo_data.dBOp); const double c = -(coef.C2dbo + coef.C2dDelta + coef.C3dbopi + coef.C3dbopi2); rvec_Scale(temp, c, nbr_k->bo_data.dBOp); - rvec_Add(workspace->forceReduction[reductionOffset+k],temp ); + rvec_Add(workspace->forceReduction[reductionOffset+k],temp); if (system->pair_ptr->vflag_atom) { rvec_Scale(fk_tmp, -1.0, temp); @@ -158,15 +158,15 @@ namespace ReaxFF { nbr_k = &(bonds->select.bond_list[pk]); k = nbr_k->nbr; - // rvec_Scale( temp, -coef.C3dbo, nbr_k->bo_data.dBOp ); - // rvec_ScaledAdd( temp, -coef.C3dDelta, nbr_k->bo_data.dBOp); - // rvec_ScaledAdd( temp, -coef.C4dbopi, nbr_k->bo_data.dBOp); - // rvec_ScaledAdd( temp, -coef.C4dbopi2, nbr_k->bo_data.dBOp); + // rvec_Scale( temp, -coef.C3dbo, nbr_k->bo_data.dBOp); + // rvec_ScaledAdd(temp, -coef.C3dDelta, nbr_k->bo_data.dBOp); + // rvec_ScaledAdd(temp, -coef.C4dbopi, nbr_k->bo_data.dBOp); + // rvec_ScaledAdd(temp, -coef.C4dbopi2, nbr_k->bo_data.dBOp); const double c = -(coef.C3dbo + coef.C3dDelta + coef.C4dbopi + coef.C4dbopi2); rvec_Scale(temp, c, nbr_k->bo_data.dBOp); - rvec_Add(workspace->forceReduction[reductionOffset+k],temp ); + rvec_Add(workspace->forceReduction[reductionOffset+k],temp); if (system->pair_ptr->vflag_atom) { rvec_Scale(fk_tmp, -1.0, temp); @@ -203,7 +203,7 @@ namespace ReaxFF { nbr_j = &(bonds->select.bond_list[pj]); j = nbr_j->nbr; bo_ij = &(nbr_j->bo_data); - bo_ji = &(bonds->select.bond_list[ nbr_j->sym_index ].bo_data); + bo_ji = &(bonds->select.bond_list[nbr_j->sym_index].bo_data); coef.C1dbo = bo_ij->C1dbo * (bo_ij->Cdbo + bo_ji->Cdbo); coef.C2dbo = bo_ij->C2dbo * (bo_ij->Cdbo + bo_ji->Cdbo); @@ -238,59 +238,59 @@ namespace ReaxFF { rvec_ScaledAdd(temp, -coef.C3dbopi2, nbr_k->bo_data.dBOp);/*3rd, dBOpi2*/ /* force */ - rvec_Add(workspace->forceReduction[reductionOffset+k],temp ); + rvec_Add(workspace->forceReduction[reductionOffset+k],temp); } /* then atom i itself */ - rvec_Scale( temp, coef.C1dbo, bo_ij->dBOp ); /*1st,dBO*/ - rvec_ScaledAdd( temp, coef.C2dbo, workspace->dDeltap_self[i] ); /*2nd,dBO*/ - rvec_ScaledAdd( temp, coef.C1dDelta, bo_ij->dBOp ); /*1st,dBO*/ - rvec_ScaledAdd( temp, coef.C2dDelta, workspace->dDeltap_self[i] );/*2nd,dBO*/ - rvec_ScaledAdd( temp, coef.C1dbopi, bo_ij->dln_BOp_pi ); /*1st,dBOpi*/ - rvec_ScaledAdd( temp, coef.C2dbopi, bo_ij->dBOp ); /*2nd,dBOpi*/ - rvec_ScaledAdd( temp, coef.C3dbopi, workspace->dDeltap_self[i]);/*3rd,dBOpi*/ + rvec_Scale(temp, coef.C1dbo, bo_ij->dBOp); /*1st,dBO*/ + rvec_ScaledAdd(temp, coef.C2dbo, workspace->dDeltap_self[i]); /*2nd,dBO*/ + rvec_ScaledAdd(temp, coef.C1dDelta, bo_ij->dBOp); /*1st,dBO*/ + rvec_ScaledAdd(temp, coef.C2dDelta, workspace->dDeltap_self[i]);/*2nd,dBO*/ + rvec_ScaledAdd(temp, coef.C1dbopi, bo_ij->dln_BOp_pi); /*1st,dBOpi*/ + rvec_ScaledAdd(temp, coef.C2dbopi, bo_ij->dBOp); /*2nd,dBOpi*/ + rvec_ScaledAdd(temp, coef.C3dbopi, workspace->dDeltap_self[i]);/*3rd,dBOpi*/ - rvec_ScaledAdd( temp, coef.C1dbopi2, bo_ij->dln_BOp_pi2 ); /*1st,dBO_pi2*/ - rvec_ScaledAdd( temp, coef.C2dbopi2, bo_ij->dBOp ); /*2nd,dBO_pi2*/ - rvec_ScaledAdd( temp, coef.C3dbopi2, workspace->dDeltap_self[i] );/*3rd*/ + rvec_ScaledAdd(temp, coef.C1dbopi2, bo_ij->dln_BOp_pi2); /*1st,dBO_pi2*/ + rvec_ScaledAdd(temp, coef.C2dbopi2, bo_ij->dBOp); /*2nd,dBO_pi2*/ + rvec_ScaledAdd(temp, coef.C3dbopi2, workspace->dDeltap_self[i]);/*3rd*/ /* force */ - rvec_Add(workspace->forceReduction[reductionOffset+i],temp ); + rvec_Add(workspace->forceReduction[reductionOffset+i],temp); for (pk = Start_Index(j, bonds); pk < End_Index(j, bonds); ++pk) { nbr_k = &(bonds->select.bond_list[pk]); k = nbr_k->nbr; - rvec_Scale( temp, -coef.C3dbo, nbr_k->bo_data.dBOp ); /*3rd,dBO*/ - rvec_ScaledAdd( temp, -coef.C3dDelta, nbr_k->bo_data.dBOp);/*dDelta*/ - rvec_ScaledAdd( temp, -coef.C4dbopi, nbr_k->bo_data.dBOp); /*4th,dBOpi*/ - rvec_ScaledAdd( temp, -coef.C4dbopi2, nbr_k->bo_data.dBOp);/*4th,dBOpi2*/ + rvec_Scale(temp, -coef.C3dbo, nbr_k->bo_data.dBOp); /*3rd,dBO*/ + rvec_ScaledAdd(temp, -coef.C3dDelta, nbr_k->bo_data.dBOp);/*dDelta*/ + rvec_ScaledAdd(temp, -coef.C4dbopi, nbr_k->bo_data.dBOp); /*4th,dBOpi*/ + rvec_ScaledAdd(temp, -coef.C4dbopi2, nbr_k->bo_data.dBOp);/*4th,dBOpi2*/ /* force */ - rvec_Add(workspace->forceReduction[reductionOffset+k],temp ); + rvec_Add(workspace->forceReduction[reductionOffset+k],temp); } /* then atom j itself */ - rvec_Scale( temp, -coef.C1dbo, bo_ij->dBOp ); /*1st, dBO*/ - rvec_ScaledAdd( temp, coef.C3dbo, workspace->dDeltap_self[j] ); /*2nd, dBO*/ - rvec_ScaledAdd( temp, -coef.C1dDelta, bo_ij->dBOp ); /*1st, dBO*/ - rvec_ScaledAdd( temp, coef.C3dDelta, workspace->dDeltap_self[j]);/*2nd, dBO*/ + rvec_Scale(temp, -coef.C1dbo, bo_ij->dBOp); /*1st, dBO*/ + rvec_ScaledAdd(temp, coef.C3dbo, workspace->dDeltap_self[j]); /*2nd, dBO*/ + rvec_ScaledAdd(temp, -coef.C1dDelta, bo_ij->dBOp); /*1st, dBO*/ + rvec_ScaledAdd(temp, coef.C3dDelta, workspace->dDeltap_self[j]);/*2nd, dBO*/ - rvec_ScaledAdd( temp, -coef.C1dbopi, bo_ij->dln_BOp_pi ); /*1st,dBOpi*/ - rvec_ScaledAdd( temp, -coef.C2dbopi, bo_ij->dBOp ); /*2nd,dBOpi*/ - rvec_ScaledAdd( temp, coef.C4dbopi, workspace->dDeltap_self[j]);/*3rd,dBOpi*/ + rvec_ScaledAdd(temp, -coef.C1dbopi, bo_ij->dln_BOp_pi); /*1st,dBOpi*/ + rvec_ScaledAdd(temp, -coef.C2dbopi, bo_ij->dBOp); /*2nd,dBOpi*/ + rvec_ScaledAdd(temp, coef.C4dbopi, workspace->dDeltap_self[j]);/*3rd,dBOpi*/ - rvec_ScaledAdd( temp, -coef.C1dbopi2, bo_ij->dln_BOp_pi2 ); /*1st,dBOpi2*/ - rvec_ScaledAdd( temp, -coef.C2dbopi2, bo_ij->dBOp ); /*2nd,dBOpi2*/ - rvec_ScaledAdd( temp,coef.C4dbopi2,workspace->dDeltap_self[j]);/*3rd,dBOpi2*/ + rvec_ScaledAdd(temp, -coef.C1dbopi2, bo_ij->dln_BOp_pi2); /*1st,dBOpi2*/ + rvec_ScaledAdd(temp, -coef.C2dbopi2, bo_ij->dBOp); /*2nd,dBOpi2*/ + rvec_ScaledAdd(temp,coef.C4dbopi2,workspace->dDeltap_self[j]);/*3rd,dBOpi2*/ /* force */ - rvec_Add(workspace->forceReduction[reductionOffset+j],temp ); + rvec_Add(workspace->forceReduction[reductionOffset+j],temp); } /* ---------------------------------------------------------------------- */ - int BOp_OMP( storage * /* workspace */, reax_list *bonds, double bo_cut, + int BOp_OMP(storage * /* workspace */, reax_list *bonds, double bo_cut, int i, int btop_i, far_neighbor_data *nbr_pj, single_body_parameters * /* sbp_i */, single_body_parameters * /* sbp_j */, two_body_parameters *twbp, @@ -309,24 +309,24 @@ namespace ReaxFF { /* Initially BO values are the uncorrected ones, page 1 */ /****** bonds i-j and j-i ******/ - ibond = &( bonds->select.bond_list[btop_i] ); - jbond = &( bonds->select.bond_list[btop_j] ); + ibond = &(bonds->select.bond_list[btop_i]); + jbond = &(bonds->select.bond_list[btop_j]); ibond->nbr = j; jbond->nbr = i; ibond->d = nbr_pj->d; jbond->d = nbr_pj->d; - rvec_Copy( ibond->dvec, nbr_pj->dvec ); - rvec_Scale( jbond->dvec, -1, nbr_pj->dvec ); - ivec_Copy( ibond->rel_box, nbr_pj->rel_box ); - ivec_Scale( jbond->rel_box, -1, nbr_pj->rel_box ); + rvec_Copy(ibond->dvec, nbr_pj->dvec); + rvec_Scale(jbond->dvec, -1, nbr_pj->dvec); + ivec_Copy(ibond->rel_box, nbr_pj->rel_box); + ivec_Scale(jbond->rel_box, -1, nbr_pj->rel_box); ibond->dbond_index = btop_i; jbond->dbond_index = btop_i; ibond->sym_index = btop_j; jbond->sym_index = btop_i; - bo_ij = &( ibond->bo_data ); - bo_ji = &( jbond->bo_data ); + bo_ij = &(ibond->bo_data); + bo_ji = &(jbond->bo_data); bo_ji->BO = bo_ij->BO = BO; bo_ji->BO_s = bo_ij->BO_s = BO_s; bo_ji->BO_pi = bo_ij->BO_pi = BO_pi; @@ -344,14 +344,14 @@ namespace ReaxFF { rvec_Scale(bo_ij->dln_BOp_pi2, -bo_ij->BO_pi2*Cln_BOp_pi2,ibond->dvec); rvec_Scale(bo_ji->dln_BOp_s, -1., bo_ij->dln_BOp_s); - rvec_Scale(bo_ji->dln_BOp_pi, -1., bo_ij->dln_BOp_pi ); - rvec_Scale(bo_ji->dln_BOp_pi2, -1., bo_ij->dln_BOp_pi2 ); + rvec_Scale(bo_ji->dln_BOp_pi, -1., bo_ij->dln_BOp_pi); + rvec_Scale(bo_ji->dln_BOp_pi2, -1., bo_ij->dln_BOp_pi2); - rvec_Scale( bo_ij->dBOp, + rvec_Scale(bo_ij->dBOp, -(bo_ij->BO_s * Cln_BOp_s + bo_ij->BO_pi * Cln_BOp_pi + - bo_ij->BO_pi2 * Cln_BOp_pi2), ibond->dvec ); - rvec_Scale( bo_ji->dBOp, -1., bo_ij->dBOp ); + bo_ij->BO_pi2 * Cln_BOp_pi2), ibond->dvec); + rvec_Scale(bo_ji->dBOp, -1., bo_ij->dBOp); bo_ij->BO_s -= bo_cut; bo_ij->BO -= bo_cut; @@ -366,7 +366,7 @@ namespace ReaxFF { /* ---------------------------------------------------------------------- */ - void BOOMP( reax_system *system, storage *workspace, reax_list **lists) + void BOOMP(reax_system *system, storage *workspace, reax_list **lists) { double p_lp1 = system->reax_param.gp.l[15]; double p_boc1 = system->reax_param.gp.l[0]; @@ -428,10 +428,10 @@ namespace ReaxFF { j = bonds->select.bond_list[pj].nbr; type_j = system->my_atoms[j].type; if (type_j < 0) continue; - bo_ij = &( bonds->select.bond_list[pj].bo_data ); + bo_ij = &(bonds->select.bond_list[pj].bo_data); if (i < j || workspace->bond_mark[j] > 3) { - twbp = &( system->reax_param.tbp[type_i][type_j] ); + twbp = &(system->reax_param.tbp[type_i][type_j]); if (twbp->ovc < 0.001 && twbp->v13cor < 0.001) { bo_ij->C1dbo = 1.000000; @@ -456,38 +456,38 @@ namespace ReaxFF { /* on page 1 */ if (twbp->ovc >= 0.001) { /* Correction for overcoordination */ - exp_p1i = exp( -p_boc1 * Deltap_i ); - exp_p2i = exp( -p_boc2 * Deltap_i ); - exp_p1j = exp( -p_boc1 * Deltap_j ); - exp_p2j = exp( -p_boc2 * Deltap_j ); + exp_p1i = exp(-p_boc1 * Deltap_i); + exp_p2i = exp(-p_boc2 * Deltap_i); + exp_p1j = exp(-p_boc1 * Deltap_j); + exp_p2j = exp(-p_boc2 * Deltap_j); f2 = exp_p1i + exp_p1j; - f3 = -1.0 / p_boc2 * log( 0.5 * ( exp_p2i + exp_p2j ) ); - f1 = 0.5 * ( ( val_i + f2 )/( val_i + f2 + f3 ) + - ( val_j + f2 )/( val_j + f2 + f3 ) ); + f3 = -1.0 / p_boc2 * log(0.5 * (exp_p2i + exp_p2j)); + f1 = 0.5 * ((val_i + f2)/(val_i + f2 + f3) + + (val_j + f2)/(val_j + f2 + f3)); /* Now come the derivates */ /* Bond Order pages 5-7, derivative of f1 */ temp = f2 + f3; u1_ij = val_i + temp; u1_ji = val_j + temp; - Cf1A_ij = 0.5 * f3 * (1.0 / SQR( u1_ij ) + - 1.0 / SQR( u1_ji )); - Cf1B_ij = -0.5 * (( u1_ij - f3 ) / SQR( u1_ij ) + - ( u1_ji - f3 ) / SQR( u1_ji )); + Cf1A_ij = 0.5 * f3 * (1.0 / SQR(u1_ij) + + 1.0 / SQR(u1_ji)); + Cf1B_ij = -0.5 * ((u1_ij - f3) / SQR(u1_ij) + + (u1_ji - f3) / SQR(u1_ji)); - Cf1_ij = 0.50 * ( -p_boc1 * exp_p1i / u1_ij - + Cf1_ij = 0.50 * (-p_boc1 * exp_p1i / u1_ij - ((val_i+f2) / SQR(u1_ij)) * - ( -p_boc1 * exp_p1i + - exp_p2i / ( exp_p2i + exp_p2j ) ) + + (-p_boc1 * exp_p1i + + exp_p2i / (exp_p2i + exp_p2j)) + -p_boc1 * exp_p1i / u1_ji - ((val_j+f2) / SQR(u1_ji)) * - ( -p_boc1 * exp_p1i + - exp_p2i / ( exp_p2i + exp_p2j ) )); + (-p_boc1 * exp_p1i + + exp_p2i / (exp_p2i + exp_p2j))); Cf1_ji = -Cf1A_ij * p_boc1 * exp_p1j + - Cf1B_ij * exp_p2j / ( exp_p2i + exp_p2j ); + Cf1B_ij * exp_p2j / (exp_p2i + exp_p2j); } else { /* No overcoordination correction! */ f1 = 1.0; @@ -496,9 +496,9 @@ namespace ReaxFF { if (twbp->v13cor >= 0.001) { /* Correction for 1-3 bond orders */ - exp_f4 =exp(-(twbp->p_boc4 * SQR( bo_ij->BO ) - + exp_f4 =exp(-(twbp->p_boc4 * SQR(bo_ij->BO) - Deltap_boc_i) * twbp->p_boc3 + twbp->p_boc5); - exp_f5 =exp(-(twbp->p_boc4 * SQR( bo_ij->BO ) - + exp_f5 =exp(-(twbp->p_boc4 * SQR(bo_ij->BO) - Deltap_boc_j) * twbp->p_boc3 + twbp->p_boc5); f4 = 1. / (1. + exp_f4); @@ -526,7 +526,7 @@ namespace ReaxFF { bo_ij->BO = bo_ij->BO * A0_ij; bo_ij->BO_pi = bo_ij->BO_pi * A0_ij *f1; bo_ij->BO_pi2= bo_ij->BO_pi2* A0_ij *f1; - bo_ij->BO_s = bo_ij->BO - ( bo_ij->BO_pi + bo_ij->BO_pi2 ); + bo_ij->BO_s = bo_ij->BO - (bo_ij->BO_pi + bo_ij->BO_pi2); bo_ij->C1dbo = A0_ij + bo_ij->BO * A1_ij; bo_ij->C2dbo = bo_ij->BO * A2_ij; @@ -585,8 +585,8 @@ namespace ReaxFF { everything else is set in uncorrected_bo calculations */ sym_index = bonds->select.bond_list[pj].sym_index; - bo_ij = &( bonds->select.bond_list[pj].bo_data ); - bo_ji = &(bonds->select.bond_list[ sym_index ].bo_data); + bo_ij = &(bonds->select.bond_list[pj].bo_data); + bo_ji = &(bonds->select.bond_list[sym_index].bo_data); bo_ij->BO = bo_ji->BO; bo_ij->BO_s = bo_ji->BO_s; bo_ij->BO_pi = bo_ji->BO_pi; @@ -612,7 +612,7 @@ namespace ReaxFF { for (j = 0; j < system->N; ++j) { type_j = system->my_atoms[j].type; if (type_j < 0) continue; - sbp_j = &(system->reax_param.sbp[ type_j ]); + sbp_j = &(system->reax_param.sbp[type_j]); workspace->Delta[j] = workspace->total_bond_order[j] - sbp_j->valency; workspace->Delta_e[j] = workspace->total_bond_order[j] - sbp_j->valency_e; diff --git a/src/USER-OMP/reaxc_hydrogen_bonds_omp.cpp b/src/USER-OMP/reaxc_hydrogen_bonds_omp.cpp index 8c9ffe577e..5ce70b74fb 100644 --- a/src/USER-OMP/reaxc_hydrogen_bonds_omp.cpp +++ b/src/USER-OMP/reaxc_hydrogen_bonds_omp.cpp @@ -41,7 +41,7 @@ namespace ReaxFF { /* ---------------------------------------------------------------------- */ - void Hydrogen_BondsOMP( reax_system *system, control_params *control, + void Hydrogen_BondsOMP(reax_system *system, control_params *control, simulation_data *data, storage *workspace, reax_list **lists) { @@ -105,20 +105,20 @@ namespace ReaxFF { type_j = system->my_atoms[j].type; start_j = Start_Index(j, bonds); end_j = End_Index(j, bonds); - hb_start_j = Start_Index( system->my_atoms[j].Hindex, hbonds ); - hb_end_j = End_Index( system->my_atoms[j].Hindex, hbonds ); + hb_start_j = Start_Index(system->my_atoms[j].Hindex, hbonds); + hb_end_j = End_Index(system->my_atoms[j].Hindex, hbonds); if (type_j < 0) continue; top = 0; for (pi = start_j; pi < end_j; ++pi) { - pbond_ij = &( bond_list[pi] ); + pbond_ij = &(bond_list[pi]); i = pbond_ij->nbr; type_i = system->my_atoms[i].type; if (type_i < 0) continue; bo_ij = &(pbond_ij->bo_data); - if ( system->reax_param.sbp[type_i].p_hbond == 2 && - bo_ij->BO >= HB_THRESHOLD ) + if (system->reax_param.sbp[type_i].p_hbond == 2 && + bo_ij->BO >= HB_THRESHOLD) hblist[top++] = pi; } @@ -129,35 +129,35 @@ namespace ReaxFF { if (type_k < 0) continue; nbr_jk = hbond_list[pk].ptr; r_jk = nbr_jk->d; - rvec_Scale( dvec_jk, hbond_list[pk].scl, nbr_jk->dvec ); + rvec_Scale(dvec_jk, hbond_list[pk].scl, nbr_jk->dvec); for (itr = 0; itr < top; ++itr) { pi = hblist[itr]; - pbond_ij = &( bonds->select.bond_list[pi] ); + pbond_ij = &(bonds->select.bond_list[pi]); i = pbond_ij->nbr; if (system->my_atoms[i].orig_id != system->my_atoms[k].orig_id) { bo_ij = &(pbond_ij->bo_data); type_i = system->my_atoms[i].type; if (type_i < 0) continue; - hbp = &(system->reax_param.hbp[ type_i ][ type_j ][ type_k ]); + hbp = &(system->reax_param.hbp[type_i][type_j][type_k]); ++num_hb_intrs; - Calculate_Theta( pbond_ij->dvec, pbond_ij->d, dvec_jk, r_jk, - &theta, &cos_theta ); + Calculate_Theta(pbond_ij->dvec, pbond_ij->d, dvec_jk, r_jk, + &theta, &cos_theta); /* the derivative of cos(theta) */ - Calculate_dCos_ThetaOMP( pbond_ij->dvec, pbond_ij->d, dvec_jk, r_jk, + Calculate_dCos_ThetaOMP(pbond_ij->dvec, pbond_ij->d, dvec_jk, r_jk, &dcos_theta_di, &dcos_theta_dj, - &dcos_theta_dk ); + &dcos_theta_dk); /* hydrogen bond energy*/ - sin_theta2 = sin( theta/2.0 ); + sin_theta2 = sin(theta/2.0); sin_xhz4 = SQR(sin_theta2); sin_xhz4 *= sin_xhz4; - cos_xhz1 = ( 1.0 - cos_theta ); - exp_hb2 = exp( -hbp->p_hb2 * bo_ij->BO ); - exp_hb3 = exp( -hbp->p_hb3 * ( hbp->r0_hb / r_jk + - r_jk / hbp->r0_hb - 2.0 ) ); + cos_xhz1 = (1.0 - cos_theta); + exp_hb2 = exp(-hbp->p_hb2 * bo_ij->BO); + exp_hb3 = exp(-hbp->p_hb3 * (hbp->r0_hb / r_jk + + r_jk / hbp->r0_hb - 2.0)); e_hb_thr += e_hb = hbp->p_hb1 * (1.0 - exp_hb2) * exp_hb3 * sin_xhz4; @@ -171,38 +171,38 @@ namespace ReaxFF { if (control->virial == 0) { // dcos terms - rvec_ScaledAdd(workspace->forceReduction[reductionOffset+i], +CEhb2, dcos_theta_di ); - rvec_ScaledAdd(workspace->forceReduction[reductionOffset+j], +CEhb2, dcos_theta_dj ); - rvec_ScaledAdd(workspace->forceReduction[reductionOffset+k], +CEhb2, dcos_theta_dk ); + rvec_ScaledAdd(workspace->forceReduction[reductionOffset+i], +CEhb2, dcos_theta_di); + rvec_ScaledAdd(workspace->forceReduction[reductionOffset+j], +CEhb2, dcos_theta_dj); + rvec_ScaledAdd(workspace->forceReduction[reductionOffset+k], +CEhb2, dcos_theta_dk); // dr terms - rvec_ScaledAdd(workspace->forceReduction[reductionOffset+j], -CEhb3/r_jk, dvec_jk ); - rvec_ScaledAdd(workspace->forceReduction[reductionOffset+k], +CEhb3/r_jk, dvec_jk ); + rvec_ScaledAdd(workspace->forceReduction[reductionOffset+j], -CEhb3/r_jk, dvec_jk); + rvec_ScaledAdd(workspace->forceReduction[reductionOffset+k], +CEhb3/r_jk, dvec_jk); } else { /* for pressure coupling, terms that are not related to bond order derivatives are added directly into pressure vector/tensor */ - rvec_Scale( force, +CEhb2, dcos_theta_di ); // dcos terms - rvec_Add(workspace->forceReduction[reductionOffset+i], force ); + rvec_Scale(force, +CEhb2, dcos_theta_di); // dcos terms + rvec_Add(workspace->forceReduction[reductionOffset+i], force); - rvec_ScaledAdd(workspace->forceReduction[reductionOffset+j], +CEhb2, dcos_theta_dj ); + rvec_ScaledAdd(workspace->forceReduction[reductionOffset+j], +CEhb2, dcos_theta_dj); - ivec_Scale( rel_jk, hbond_list[pk].scl, nbr_jk->rel_box ); - rvec_Scale( force, +CEhb2, dcos_theta_dk ); - rvec_Add(workspace->forceReduction[reductionOffset+k], force ); + ivec_Scale(rel_jk, hbond_list[pk].scl, nbr_jk->rel_box); + rvec_Scale(force, +CEhb2, dcos_theta_dk); + rvec_Add(workspace->forceReduction[reductionOffset+k], force); // dr terms - rvec_ScaledAdd(workspace->forceReduction[reductionOffset+j],-CEhb3/r_jk, dvec_jk ); + rvec_ScaledAdd(workspace->forceReduction[reductionOffset+j],-CEhb3/r_jk, dvec_jk); - rvec_Scale( force, CEhb3/r_jk, dvec_jk ); - rvec_Add(workspace->forceReduction[reductionOffset+k], force ); + rvec_Scale(force, CEhb3/r_jk, dvec_jk); + rvec_Add(workspace->forceReduction[reductionOffset+k], force); } /* tally into per-atom virials */ if (system->pair_ptr->vflag_atom || system->pair_ptr->evflag) { - rvec_ScaledSum( delij, 1., system->my_atoms[j].x, - -1., system->my_atoms[i].x ); - rvec_ScaledSum( delkj, 1., system->my_atoms[j].x, - -1., system->my_atoms[k].x ); + rvec_ScaledSum(delij, 1., system->my_atoms[j].x, + -1., system->my_atoms[i].x); + rvec_ScaledSum(delkj, 1., system->my_atoms[j].x, + -1., system->my_atoms[k].x); rvec_Scale(fi_tmp, CEhb2, dcos_theta_di); rvec_Scale(fk_tmp, CEhb2, dcos_theta_dk); diff --git a/src/USER-OMP/reaxc_multi_body_omp.cpp b/src/USER-OMP/reaxc_multi_body_omp.cpp index 2ec73e738b..7a24ac5fce 100644 --- a/src/USER-OMP/reaxc_multi_body_omp.cpp +++ b/src/USER-OMP/reaxc_multi_body_omp.cpp @@ -93,7 +93,7 @@ namespace ReaxFF { for (i = 0; i < system->n; ++i) { type_i = system->my_atoms[i].type; if (type_i < 0) continue; - sbp_i = &(system->reax_param.sbp[ type_i ]); + sbp_i = &(system->reax_param.sbp[type_i]); /* lone-pair Energy */ p_lp2 = sbp_i->p_lp2; @@ -158,7 +158,7 @@ namespace ReaxFF { for (i = 0; i < system->n; ++i) { type_i = system->my_atoms[i].type; if (type_i < 0) continue; - sbp_i = &(system->reax_param.sbp[ type_i ]); + sbp_i = &(system->reax_param.sbp[type_i]); /* over-coordination energy */ if (sbp_i->mass > 21.0) @@ -172,7 +172,7 @@ namespace ReaxFF { type_j = system->my_atoms[j].type; if (type_j < 0) continue; bo_ij = &(bonds->select.bond_list[pj].bo_data); - twbp = &(system->reax_param.tbp[ type_i ][ type_j ]); + twbp = &(system->reax_param.tbp[type_i][type_j]); sum_ovun1 += twbp->p_ovun1 * twbp->De_s * bo_ij->BO; sum_ovun2 += (workspace->Delta[j] - dfvl*workspace->Delta_lp_temp[j])* @@ -243,7 +243,7 @@ namespace ReaxFF { pbond = &(bonds->select.bond_list[pj]); j = pbond->nbr; bo_ij = &(pbond->bo_data); - twbp = &(system->reax_param.tbp[ system->my_atoms[i].type ] + twbp = &(system->reax_param.tbp[system->my_atoms[i].type] [system->my_atoms[pbond->nbr].type]); bo_ij->Cdbo += CEover1 * twbp->p_ovun1 * twbp->De_s; // OvCoor-1st diff --git a/src/USER-OMP/reaxc_nonbonded_omp.cpp b/src/USER-OMP/reaxc_nonbonded_omp.cpp index 496e5476b0..9ca7ba41a9 100644 --- a/src/USER-OMP/reaxc_nonbonded_omp.cpp +++ b/src/USER-OMP/reaxc_nonbonded_omp.cpp @@ -112,8 +112,8 @@ namespace ReaxFF { if (flag) { r_ij = nbr_pj->d; - twbp = &(system->reax_param.tbp[ system->my_atoms[i].type ] - [ system->my_atoms[j].type ]); + twbp = &(system->reax_param.tbp[system->my_atoms[i].type] + [system->my_atoms[j].type]); /* Calculate Taper and its derivative */ // Tap = nbr_pj->Tap; -- precomputed during compte_H diff --git a/src/USER-OMP/reaxc_valence_angles_omp.cpp b/src/USER-OMP/reaxc_valence_angles_omp.cpp index 4719fcfbab..690fea14af 100644 --- a/src/USER-OMP/reaxc_valence_angles_omp.cpp +++ b/src/USER-OMP/reaxc_valence_angles_omp.cpp @@ -276,8 +276,8 @@ namespace ReaxFF { my_offset = _my_offset[j]; - p_val3 = system->reax_param.sbp[ type_j ].p_val3; - p_val5 = system->reax_param.sbp[ type_j ].p_val5; + p_val3 = system->reax_param.sbp[type_j].p_val3; + p_val5 = system->reax_param.sbp[type_j].p_val5; SBOp = 0, prod_SBO = 1; for (t = start_j; t < end_j; ++t) { @@ -390,7 +390,7 @@ namespace ReaxFF { (bo_ij->BO > control->thb_cut) && (bo_jk->BO > control->thb_cut) && (bo_ij->BO * bo_jk->BO > control->thb_cutsq)) { - thbh = &(system->reax_param.thbp[ type_i ][ type_j ][ type_k ]); + thbh = &(system->reax_param.thbp[type_i][type_j][type_k]); for (cnt = 0; cnt < thbh->cnt; ++cnt) { @@ -457,7 +457,7 @@ namespace ReaxFF { exp_pen2ij = exp(-p_pen2 * SQR(BOA_ij - 2.0)); exp_pen2jk = exp(-p_pen2 * SQR(BOA_jk - 2.0)); exp_pen3 = exp(-p_pen3 * workspace->Delta[j]); - exp_pen4 = exp( p_pen4 * workspace->Delta[j]); + exp_pen4 = exp(p_pen4 * workspace->Delta[j]); trm_pen34 = 1.0 + exp_pen3 + exp_pen4; f9_Dj = (2.0 + exp_pen3) / trm_pen34; Cf9j = (-p_pen3 * exp_pen3 * trm_pen34 - diff --git a/src/USER-REAXC/fix_qeq_reax.cpp b/src/USER-REAXC/fix_qeq_reax.cpp index 493d9cd508..eef7df53fd 100644 --- a/src/USER-REAXC/fix_qeq_reax.cpp +++ b/src/USER-REAXC/fix_qeq_reax.cpp @@ -593,8 +593,8 @@ void FixQEqReax::init_matvec() if (atom->mask[i] & groupbit) { /* init pre-conditioner for H and init solution vectors */ - Hdia_inv[i] = 1. / eta[ atom->type[i] ]; - b_s[i] = -chi[ atom->type[i] ]; + Hdia_inv[i] = 1. / eta[atom->type[i]]; + b_s[i] = -chi[atom->type[i]]; b_t[i] = -1.0; /* quadratic extrapolation for s & t from previous solutions */ @@ -761,7 +761,7 @@ void FixQEqReax::sparse_matvec(sparse_matrix *A, double *x, double *b) for (ii = 0; ii < nn; ++ii) { i = ilist[ii]; if (atom->mask[i] & groupbit) - b[i] = eta[ atom->type[i] ] * x[i]; + b[i] = eta[atom->type[i]] * x[i]; } for (ii = nn; ii < NN; ++ii) { @@ -835,7 +835,7 @@ int FixQEqReax::pack_forward_comm(int n, int *list, double *buf, m = 0; for (int i = 0; i < n; i++) { int j = 2 * list[i]; - buf[m++] = d[j ]; + buf[m++] = d[j]; buf[m++] = d[j+1]; } return m; @@ -862,7 +862,7 @@ void FixQEqReax::unpack_forward_comm(int n, int first, double *buf) m = 0; for (i = first; i < last; i++) { int j = 2 * i; - d[j ] = buf[m++]; + d[j] = buf[m++]; d[j+1] = buf[m++]; } } @@ -878,7 +878,7 @@ int FixQEqReax::pack_reverse_comm(int n, int first, double *buf) int last = first + n; for (i = first; i < last; i++) { int indxI = 2 * i; - buf[m++] = q[indxI ]; + buf[m++] = q[indxI]; buf[m++] = q[indxI+1]; } return m; @@ -896,7 +896,7 @@ void FixQEqReax::unpack_reverse_comm(int n, int *list, double *buf) int m = 0; for (int i = 0; i < n; i++) { int indxI = 2 * list[i]; - q[indxI ] += buf[m++]; + q[indxI] += buf[m++]; q[indxI+1] += buf[m++]; } } else { diff --git a/src/USER-REAXC/fix_qeq_reax.h b/src/USER-REAXC/fix_qeq_reax.h index 9237e3e7ff..9fc20f35d0 100644 --- a/src/USER-REAXC/fix_qeq_reax.h +++ b/src/USER-REAXC/fix_qeq_reax.h @@ -127,9 +127,9 @@ class FixQEqReax : public Fix { virtual int pack_exchange(int, double *); virtual int unpack_exchange(int, double *); - virtual double parallel_norm( double*, int ); - virtual double parallel_dot( double*, double*, int ); - virtual double parallel_vector_acc( double*, int ); + virtual double parallel_norm(double*, int); + virtual double parallel_dot(double*, double*, int); + virtual double parallel_vector_acc(double*, int); virtual void vector_sum(double*,double,double*,double,double*,int); virtual void vector_add(double*, double, double*,int); diff --git a/src/USER-REAXC/fix_reaxc_bonds.cpp b/src/USER-REAXC/fix_reaxc_bonds.cpp index c741259810..58065e3276 100644 --- a/src/USER-REAXC/fix_reaxc_bonds.cpp +++ b/src/USER-REAXC/fix_reaxc_bonds.cpp @@ -47,7 +47,7 @@ FixReaxCBonds::FixReaxCBonds(LAMMPS *lmp, int narg, char **arg) : nevery = utils::inumeric(FLERR,arg[3],false,lmp); - if (nevery <= 0 ) + if (nevery <= 0) error->all(FLERR,"Illegal fix reax/c/bonds command"); if (me == 0) { @@ -194,7 +194,7 @@ void FixReaxCBonds::FindBond(struct _reax_list * /*lists*/, int &numbonds) nj = 0; for (pj = Start_Index(i, reaxc->api->lists); pj < End_Index(i, reaxc->api->lists); ++pj) { - bo_ij = &( reaxc->api->lists->select.bond_list[pj] ); + bo_ij = &(reaxc->api->lists->select.bond_list[pj]); j = bo_ij->nbr; jtag = tag[j]; bo_tmp = bo_ij->bo_data.BO; @@ -233,7 +233,7 @@ void FixReaxCBonds::PassBuffer(double *buf, int &nbuf_local) } j += (5+numbonds); - if (atom->molecule == nullptr ) buf[j] = 0.0; + if (atom->molecule == nullptr) buf[j] = 0.0; else buf[j] = atom->molecule[i]; j ++; diff --git a/src/USER-REAXC/reaxc_bond_orders.cpp b/src/USER-REAXC/reaxc_bond_orders.cpp index f6e923406d..c3fda58173 100644 --- a/src/USER-REAXC/reaxc_bond_orders.cpp +++ b/src/USER-REAXC/reaxc_bond_orders.cpp @@ -31,7 +31,7 @@ #include namespace ReaxFF { - void Add_dBond_to_Forces_NPT( int i, int pj, storage *workspace, reax_list **lists ) + void Add_dBond_to_Forces_NPT(int i, int pj, storage *workspace, reax_list **lists) { reax_list *bonds = (*lists) + BONDS; bond_data *nbr_j, *nbr_k; @@ -44,7 +44,7 @@ namespace ReaxFF { nbr_j = &(bonds->select.bond_list[pj]); j = nbr_j->nbr; bo_ij = &(nbr_j->bo_data); - bo_ji = &(bonds->select.bond_list[ nbr_j->sym_index ].bo_data); + bo_ji = &(bonds->select.bond_list[nbr_j->sym_index].bo_data); coef.C1dbo = bo_ij->C1dbo * (bo_ij->Cdbo + bo_ji->Cdbo); coef.C2dbo = bo_ij->C2dbo * (bo_ij->Cdbo + bo_ji->Cdbo); @@ -74,58 +74,58 @@ namespace ReaxFF { rvec_ScaledAdd(temp, -coef.C3dbopi2, nbr_k->bo_data.dBOp);/*3rd, dBOpi2*/ /* force */ - rvec_Add( workspace->f[k], temp ); + rvec_Add(workspace->f[k], temp); } /* then atom i itself */ - rvec_Scale( temp, coef.C1dbo, bo_ij->dBOp ); /*1st,dBO*/ - rvec_ScaledAdd( temp, coef.C2dbo, workspace->dDeltap_self[i] ); /*2nd,dBO*/ - rvec_ScaledAdd( temp, coef.C1dDelta, bo_ij->dBOp ); /*1st,dBO*/ - rvec_ScaledAdd( temp, coef.C2dDelta, workspace->dDeltap_self[i] );/*2nd,dBO*/ - rvec_ScaledAdd( temp, coef.C1dbopi, bo_ij->dln_BOp_pi ); /*1st,dBOpi*/ - rvec_ScaledAdd( temp, coef.C2dbopi, bo_ij->dBOp ); /*2nd,dBOpi*/ - rvec_ScaledAdd( temp, coef.C3dbopi, workspace->dDeltap_self[i]);/*3rd,dBOpi*/ + rvec_Scale(temp, coef.C1dbo, bo_ij->dBOp); /*1st,dBO*/ + rvec_ScaledAdd(temp, coef.C2dbo, workspace->dDeltap_self[i]); /*2nd,dBO*/ + rvec_ScaledAdd(temp, coef.C1dDelta, bo_ij->dBOp); /*1st,dBO*/ + rvec_ScaledAdd(temp, coef.C2dDelta, workspace->dDeltap_self[i]);/*2nd,dBO*/ + rvec_ScaledAdd(temp, coef.C1dbopi, bo_ij->dln_BOp_pi); /*1st,dBOpi*/ + rvec_ScaledAdd(temp, coef.C2dbopi, bo_ij->dBOp); /*2nd,dBOpi*/ + rvec_ScaledAdd(temp, coef.C3dbopi, workspace->dDeltap_self[i]);/*3rd,dBOpi*/ - rvec_ScaledAdd( temp, coef.C1dbopi2, bo_ij->dln_BOp_pi2 ); /*1st,dBO_pi2*/ - rvec_ScaledAdd( temp, coef.C2dbopi2, bo_ij->dBOp ); /*2nd,dBO_pi2*/ - rvec_ScaledAdd( temp, coef.C3dbopi2, workspace->dDeltap_self[i] );/*3rd*/ + rvec_ScaledAdd(temp, coef.C1dbopi2, bo_ij->dln_BOp_pi2); /*1st,dBO_pi2*/ + rvec_ScaledAdd(temp, coef.C2dbopi2, bo_ij->dBOp); /*2nd,dBO_pi2*/ + rvec_ScaledAdd(temp, coef.C3dbopi2, workspace->dDeltap_self[i]);/*3rd*/ /* force */ - rvec_Add( workspace->f[i], temp ); + rvec_Add(workspace->f[i], temp); for (pk = Start_Index(j, bonds); pk < End_Index(j, bonds); ++pk) { nbr_k = &(bonds->select.bond_list[pk]); k = nbr_k->nbr; - rvec_Scale( temp, -coef.C3dbo, nbr_k->bo_data.dBOp ); /*3rd,dBO*/ - rvec_ScaledAdd( temp, -coef.C3dDelta, nbr_k->bo_data.dBOp);/*dDelta*/ - rvec_ScaledAdd( temp, -coef.C4dbopi, nbr_k->bo_data.dBOp); /*4th,dBOpi*/ - rvec_ScaledAdd( temp, -coef.C4dbopi2, nbr_k->bo_data.dBOp);/*4th,dBOpi2*/ + rvec_Scale(temp, -coef.C3dbo, nbr_k->bo_data.dBOp); /*3rd,dBO*/ + rvec_ScaledAdd(temp, -coef.C3dDelta, nbr_k->bo_data.dBOp);/*dDelta*/ + rvec_ScaledAdd(temp, -coef.C4dbopi, nbr_k->bo_data.dBOp); /*4th,dBOpi*/ + rvec_ScaledAdd(temp, -coef.C4dbopi2, nbr_k->bo_data.dBOp);/*4th,dBOpi2*/ /* force */ - rvec_Add( workspace->f[k], temp ); + rvec_Add(workspace->f[k], temp); } /* then atom j itself */ - rvec_Scale( temp, -coef.C1dbo, bo_ij->dBOp ); /*1st, dBO*/ - rvec_ScaledAdd( temp, coef.C3dbo, workspace->dDeltap_self[j] ); /*2nd, dBO*/ - rvec_ScaledAdd( temp, -coef.C1dDelta, bo_ij->dBOp ); /*1st, dBO*/ - rvec_ScaledAdd( temp, coef.C3dDelta, workspace->dDeltap_self[j]);/*2nd, dBO*/ + rvec_Scale(temp, -coef.C1dbo, bo_ij->dBOp); /*1st, dBO*/ + rvec_ScaledAdd(temp, coef.C3dbo, workspace->dDeltap_self[j]); /*2nd, dBO*/ + rvec_ScaledAdd(temp, -coef.C1dDelta, bo_ij->dBOp); /*1st, dBO*/ + rvec_ScaledAdd(temp, coef.C3dDelta, workspace->dDeltap_self[j]);/*2nd, dBO*/ - rvec_ScaledAdd( temp, -coef.C1dbopi, bo_ij->dln_BOp_pi ); /*1st,dBOpi*/ - rvec_ScaledAdd( temp, -coef.C2dbopi, bo_ij->dBOp ); /*2nd,dBOpi*/ - rvec_ScaledAdd( temp, coef.C4dbopi, workspace->dDeltap_self[j]);/*3rd,dBOpi*/ + rvec_ScaledAdd(temp, -coef.C1dbopi, bo_ij->dln_BOp_pi); /*1st,dBOpi*/ + rvec_ScaledAdd(temp, -coef.C2dbopi, bo_ij->dBOp); /*2nd,dBOpi*/ + rvec_ScaledAdd(temp, coef.C4dbopi, workspace->dDeltap_self[j]);/*3rd,dBOpi*/ - rvec_ScaledAdd( temp, -coef.C1dbopi2, bo_ij->dln_BOp_pi2 ); /*1st,dBOpi2*/ - rvec_ScaledAdd( temp, -coef.C2dbopi2, bo_ij->dBOp ); /*2nd,dBOpi2*/ - rvec_ScaledAdd( temp,coef.C4dbopi2,workspace->dDeltap_self[j]);/*3rd,dBOpi2*/ + rvec_ScaledAdd(temp, -coef.C1dbopi2, bo_ij->dln_BOp_pi2); /*1st,dBOpi2*/ + rvec_ScaledAdd(temp, -coef.C2dbopi2, bo_ij->dBOp); /*2nd,dBOpi2*/ + rvec_ScaledAdd(temp,coef.C4dbopi2,workspace->dDeltap_self[j]);/*3rd,dBOpi2*/ /* force */ - rvec_Add( workspace->f[j], temp ); + rvec_Add(workspace->f[j], temp); } - void Add_dBond_to_Forces( reax_system *system, int i, int pj, - storage *workspace, reax_list **lists ) + void Add_dBond_to_Forces(reax_system *system, int i, int pj, + storage *workspace, reax_list **lists) { reax_list *bonds = (*lists) + BONDS; bond_data *nbr_j, *nbr_k; @@ -140,7 +140,7 @@ namespace ReaxFF { nbr_j = &(bonds->select.bond_list[pj]); j = nbr_j->nbr; bo_ij = &(nbr_j->bo_data); - bo_ji = &(bonds->select.bond_list[ nbr_j->sym_index ].bo_data); + bo_ji = &(bonds->select.bond_list[nbr_j->sym_index].bo_data); coef.C1dbo = bo_ij->C1dbo * (bo_ij->Cdbo + bo_ji->Cdbo); coef.C2dbo = bo_ij->C2dbo * (bo_ij->Cdbo + bo_ji->Cdbo); @@ -161,40 +161,40 @@ namespace ReaxFF { coef.C3dDelta = bo_ij->C3dbo * (workspace->CdDelta[i]+workspace->CdDelta[j]); // forces on i - rvec_Scale( temp, coef.C1dbo, bo_ij->dBOp ); - rvec_ScaledAdd( temp, coef.C2dbo, workspace->dDeltap_self[i] ); - rvec_ScaledAdd( temp, coef.C1dDelta, bo_ij->dBOp ); - rvec_ScaledAdd( temp, coef.C2dDelta, workspace->dDeltap_self[i] ); - rvec_ScaledAdd( temp, coef.C1dbopi, bo_ij->dln_BOp_pi ); - rvec_ScaledAdd( temp, coef.C2dbopi, bo_ij->dBOp ); - rvec_ScaledAdd( temp, coef.C3dbopi, workspace->dDeltap_self[i]); - rvec_ScaledAdd( temp, coef.C1dbopi2, bo_ij->dln_BOp_pi2 ); - rvec_ScaledAdd( temp, coef.C2dbopi2, bo_ij->dBOp ); - rvec_ScaledAdd( temp, coef.C3dbopi2, workspace->dDeltap_self[i] ); - rvec_Add( workspace->f[i], temp ); + rvec_Scale( temp, coef.C1dbo, bo_ij->dBOp); + rvec_ScaledAdd(temp, coef.C2dbo, workspace->dDeltap_self[i]); + rvec_ScaledAdd(temp, coef.C1dDelta, bo_ij->dBOp); + rvec_ScaledAdd(temp, coef.C2dDelta, workspace->dDeltap_self[i]); + rvec_ScaledAdd(temp, coef.C1dbopi, bo_ij->dln_BOp_pi); + rvec_ScaledAdd(temp, coef.C2dbopi, bo_ij->dBOp); + rvec_ScaledAdd(temp, coef.C3dbopi, workspace->dDeltap_self[i]); + rvec_ScaledAdd(temp, coef.C1dbopi2, bo_ij->dln_BOp_pi2); + rvec_ScaledAdd(temp, coef.C2dbopi2, bo_ij->dBOp); + rvec_ScaledAdd(temp, coef.C3dbopi2, workspace->dDeltap_self[i]); + rvec_Add(workspace->f[i], temp); if (system->pair_ptr->vflag_atom) { rvec_Scale(fi_tmp, -1.0, temp); - rvec_ScaledSum( delij, 1., system->my_atoms[i].x,-1., system->my_atoms[j].x ); + rvec_ScaledSum(delij, 1., system->my_atoms[i].x,-1., system->my_atoms[j].x); system->pair_ptr->v_tally(i,fi_tmp,delij); } // forces on j - rvec_Scale( temp, -coef.C1dbo, bo_ij->dBOp ); - rvec_ScaledAdd( temp, coef.C3dbo, workspace->dDeltap_self[j] ); - rvec_ScaledAdd( temp, -coef.C1dDelta, bo_ij->dBOp ); - rvec_ScaledAdd( temp, coef.C3dDelta, workspace->dDeltap_self[j]); - rvec_ScaledAdd( temp, -coef.C1dbopi, bo_ij->dln_BOp_pi ); - rvec_ScaledAdd( temp, -coef.C2dbopi, bo_ij->dBOp ); - rvec_ScaledAdd( temp, coef.C4dbopi, workspace->dDeltap_self[j]); - rvec_ScaledAdd( temp, -coef.C1dbopi2, bo_ij->dln_BOp_pi2 ); - rvec_ScaledAdd( temp, -coef.C2dbopi2, bo_ij->dBOp ); - rvec_ScaledAdd( temp, coef.C4dbopi2, workspace->dDeltap_self[j]); - rvec_Add( workspace->f[j], temp ); + rvec_Scale( temp, -coef.C1dbo, bo_ij->dBOp); + rvec_ScaledAdd(temp, coef.C3dbo, workspace->dDeltap_self[j]); + rvec_ScaledAdd(temp, -coef.C1dDelta, bo_ij->dBOp); + rvec_ScaledAdd(temp, coef.C3dDelta, workspace->dDeltap_self[j]); + rvec_ScaledAdd(temp, -coef.C1dbopi, bo_ij->dln_BOp_pi); + rvec_ScaledAdd(temp, -coef.C2dbopi, bo_ij->dBOp); + rvec_ScaledAdd(temp, coef.C4dbopi, workspace->dDeltap_self[j]); + rvec_ScaledAdd(temp, -coef.C1dbopi2, bo_ij->dln_BOp_pi2); + rvec_ScaledAdd(temp, -coef.C2dbopi2, bo_ij->dBOp); + rvec_ScaledAdd(temp, coef.C4dbopi2, workspace->dDeltap_self[j]); + rvec_Add(workspace->f[j], temp); if (system->pair_ptr->vflag_atom) { rvec_Scale(fj_tmp, -1.0, temp); - rvec_ScaledSum( delji, 1., system->my_atoms[j].x,-1., system->my_atoms[i].x ); + rvec_ScaledSum(delji, 1., system->my_atoms[j].x,-1., system->my_atoms[i].x); system->pair_ptr->v_tally(j,fj_tmp,delji); } @@ -203,11 +203,11 @@ namespace ReaxFF { nbr_k = &(bonds->select.bond_list[pk]); k = nbr_k->nbr; - rvec_Scale( temp, -coef.C2dbo, nbr_k->bo_data.dBOp); - rvec_ScaledAdd( temp, -coef.C2dDelta, nbr_k->bo_data.dBOp); - rvec_ScaledAdd( temp, -coef.C3dbopi, nbr_k->bo_data.dBOp); - rvec_ScaledAdd( temp, -coef.C3dbopi2, nbr_k->bo_data.dBOp); - rvec_Add( workspace->f[k], temp ); + rvec_Scale( temp, -coef.C2dbo, nbr_k->bo_data.dBOp); + rvec_ScaledAdd(temp, -coef.C2dDelta, nbr_k->bo_data.dBOp); + rvec_ScaledAdd(temp, -coef.C3dbopi, nbr_k->bo_data.dBOp); + rvec_ScaledAdd(temp, -coef.C3dbopi2, nbr_k->bo_data.dBOp); + rvec_Add(workspace->f[k], temp); if (system->pair_ptr->vflag_atom) { rvec_Scale(fk_tmp, -1.0, temp); @@ -223,11 +223,11 @@ namespace ReaxFF { nbr_k = &(bonds->select.bond_list[pk]); k = nbr_k->nbr; - rvec_Scale( temp, -coef.C3dbo, nbr_k->bo_data.dBOp ); - rvec_ScaledAdd( temp, -coef.C3dDelta, nbr_k->bo_data.dBOp); - rvec_ScaledAdd( temp, -coef.C4dbopi, nbr_k->bo_data.dBOp); - rvec_ScaledAdd( temp, -coef.C4dbopi2, nbr_k->bo_data.dBOp); - rvec_Add( workspace->f[k], temp ); + rvec_Scale( temp, -coef.C3dbo, nbr_k->bo_data.dBOp); + rvec_ScaledAdd(temp, -coef.C3dDelta, nbr_k->bo_data.dBOp); + rvec_ScaledAdd(temp, -coef.C4dbopi, nbr_k->bo_data.dBOp); + rvec_ScaledAdd(temp, -coef.C4dbopi2, nbr_k->bo_data.dBOp); + rvec_Add(workspace->f[k], temp); if (system->pair_ptr->vflag_atom) { rvec_Scale(fk_tmp, -1.0, temp); @@ -254,18 +254,18 @@ namespace ReaxFF { r2 = SQR(nbr_pj->d); if (sbp_i->r_s > 0.0 && sbp_j->r_s > 0.0) { - C12 = twbp->p_bo1 * pow( nbr_pj->d / twbp->r_s, twbp->p_bo2 ); - BO_s = (1.0 + bo_cut) * exp( C12 ); + C12 = twbp->p_bo1 * pow(nbr_pj->d / twbp->r_s, twbp->p_bo2); + BO_s = (1.0 + bo_cut) * exp(C12); } else BO_s = C12 = 0.0; if (sbp_i->r_pi > 0.0 && sbp_j->r_pi > 0.0) { - C34 = twbp->p_bo3 * pow( nbr_pj->d / twbp->r_p, twbp->p_bo4 ); - BO_pi = exp( C34 ); + C34 = twbp->p_bo3 * pow(nbr_pj->d / twbp->r_p, twbp->p_bo4); + BO_pi = exp(C34); } else BO_pi = C34 = 0.0; if (sbp_i->r_pi_pi > 0.0 && sbp_j->r_pi_pi > 0.0) { - C56 = twbp->p_bo5 * pow( nbr_pj->d / twbp->r_pp, twbp->p_bo6 ); - BO_pi2= exp( C56 ); + C56 = twbp->p_bo5 * pow(nbr_pj->d / twbp->r_pp, twbp->p_bo6); + BO_pi2= exp(C56); } else BO_pi2 = C56 = 0.0; /* Initially BO values are the uncorrected ones, page 1 */ @@ -273,26 +273,26 @@ namespace ReaxFF { if (BO >= bo_cut) { /****** bonds i-j and j-i ******/ - ibond = &( bonds->select.bond_list[btop_i] ); - btop_j = End_Index( j, bonds ); + ibond = &(bonds->select.bond_list[btop_i]); + btop_j = End_Index(j, bonds); jbond = &(bonds->select.bond_list[btop_j]); ibond->nbr = j; jbond->nbr = i; ibond->d = nbr_pj->d; jbond->d = nbr_pj->d; - rvec_Copy( ibond->dvec, nbr_pj->dvec ); - rvec_Scale( jbond->dvec, -1, nbr_pj->dvec ); - ivec_Copy( ibond->rel_box, nbr_pj->rel_box ); - ivec_Scale( jbond->rel_box, -1, nbr_pj->rel_box ); + rvec_Copy(ibond->dvec, nbr_pj->dvec); + rvec_Scale(jbond->dvec, -1, nbr_pj->dvec); + ivec_Copy(ibond->rel_box, nbr_pj->rel_box); + ivec_Scale(jbond->rel_box, -1, nbr_pj->rel_box); ibond->dbond_index = btop_i; jbond->dbond_index = btop_i; ibond->sym_index = btop_j; jbond->sym_index = btop_i; - Set_End_Index( j, btop_j+1, bonds ); + Set_End_Index(j, btop_j+1, bonds); - bo_ij = &( ibond->bo_data ); - bo_ji = &( jbond->bo_data ); + bo_ij = &(ibond->bo_data); + bo_ji = &(jbond->bo_data); bo_ji->BO = bo_ij->BO = BO; bo_ji->BO_s = bo_ij->BO_s = BO_s; bo_ji->BO_pi = bo_ij->BO_pi = BO_pi; @@ -310,17 +310,17 @@ namespace ReaxFF { rvec_Scale(bo_ij->dln_BOp_pi2, -bo_ij->BO_pi2*Cln_BOp_pi2,ibond->dvec); rvec_Scale(bo_ji->dln_BOp_s, -1., bo_ij->dln_BOp_s); - rvec_Scale(bo_ji->dln_BOp_pi, -1., bo_ij->dln_BOp_pi ); - rvec_Scale(bo_ji->dln_BOp_pi2, -1., bo_ij->dln_BOp_pi2 ); + rvec_Scale(bo_ji->dln_BOp_pi, -1., bo_ij->dln_BOp_pi); + rvec_Scale(bo_ji->dln_BOp_pi2, -1., bo_ij->dln_BOp_pi2); - rvec_Scale( bo_ij->dBOp, + rvec_Scale(bo_ij->dBOp, -(bo_ij->BO_s * Cln_BOp_s + bo_ij->BO_pi * Cln_BOp_pi + - bo_ij->BO_pi2 * Cln_BOp_pi2), ibond->dvec ); - rvec_Scale( bo_ji->dBOp, -1., bo_ij->dBOp ); + bo_ij->BO_pi2 * Cln_BOp_pi2), ibond->dvec); + rvec_Scale(bo_ji->dBOp, -1., bo_ij->dBOp); - rvec_Add( workspace->dDeltap_self[i], bo_ij->dBOp ); - rvec_Add( workspace->dDeltap_self[j], bo_ji->dBOp ); + rvec_Add(workspace->dDeltap_self[i], bo_ij->dBOp); + rvec_Add(workspace->dDeltap_self[j], bo_ji->dBOp); bo_ij->BO_s -= bo_cut; bo_ij->BO -= bo_cut; @@ -383,11 +383,11 @@ namespace ReaxFF { j = bonds->select.bond_list[pj].nbr; type_j = system->my_atoms[j].type; if (type_j < 0) continue; - bo_ij = &( bonds->select.bond_list[pj].bo_data ); - // fprintf( stderr, "\tj:%d - ubo: %8.3f\n", j+1, bo_ij->BO ); + bo_ij = &(bonds->select.bond_list[pj].bo_data); + // fprintf(stderr, "\tj:%d - ubo: %8.3f\n", j+1, bo_ij->BO); if (i < j || workspace->bond_mark[j] > 3) { - twbp = &( system->reax_param.tbp[type_i][type_j] ); + twbp = &(system->reax_param.tbp[type_i][type_j]); if (twbp->ovc < 0.001 && twbp->v13cor < 0.001) { bo_ij->C1dbo = 1.000000; @@ -412,36 +412,36 @@ namespace ReaxFF { /* on page 1 */ if (twbp->ovc >= 0.001) { /* Correction for overcoordination */ - exp_p1i = exp( -p_boc1 * Deltap_i ); - exp_p2i = exp( -p_boc2 * Deltap_i ); - exp_p1j = exp( -p_boc1 * Deltap_j ); - exp_p2j = exp( -p_boc2 * Deltap_j ); + exp_p1i = exp(-p_boc1 * Deltap_i); + exp_p2i = exp(-p_boc2 * Deltap_i); + exp_p1j = exp(-p_boc1 * Deltap_j); + exp_p2j = exp(-p_boc2 * Deltap_j); f2 = exp_p1i + exp_p1j; - f3 = -1.0 / p_boc2 * log( 0.5 * ( exp_p2i + exp_p2j ) ); - f1 = 0.5 * ( ( val_i + f2 )/( val_i + f2 + f3 ) + - ( val_j + f2 )/( val_j + f2 + f3 ) ); + f3 = -1.0 / p_boc2 * log(0.5 * (exp_p2i + exp_p2j)); + f1 = 0.5 * ((val_i + f2)/(val_i + f2 + f3) + + (val_j + f2)/(val_j + f2 + f3)); temp = f2 + f3; u1_ij = val_i + temp; u1_ji = val_j + temp; - Cf1A_ij = 0.5 * f3 * (1.0 / SQR( u1_ij ) + - 1.0 / SQR( u1_ji )); - Cf1B_ij = -0.5 * (( u1_ij - f3 ) / SQR( u1_ij ) + - ( u1_ji - f3 ) / SQR( u1_ji )); + Cf1A_ij = 0.5 * f3 * (1.0 / SQR(u1_ij) + + 1.0 / SQR(u1_ji)); + Cf1B_ij = -0.5 * ((u1_ij - f3) / SQR(u1_ij) + + (u1_ji - f3) / SQR(u1_ji)); - Cf1_ij = 0.50 * ( -p_boc1 * exp_p1i / u1_ij - + Cf1_ij = 0.50 * (-p_boc1 * exp_p1i / u1_ij - ((val_i+f2) / SQR(u1_ij)) * - ( -p_boc1 * exp_p1i + - exp_p2i / ( exp_p2i + exp_p2j ) ) + + (-p_boc1 * exp_p1i + + exp_p2i / (exp_p2i + exp_p2j)) + -p_boc1 * exp_p1i / u1_ji - ((val_j+f2) / SQR(u1_ji)) * - ( -p_boc1 * exp_p1i + - exp_p2i / ( exp_p2i + exp_p2j ) )); + (-p_boc1 * exp_p1i + + exp_p2i / (exp_p2i + exp_p2j))); Cf1_ji = -Cf1A_ij * p_boc1 * exp_p1j + - Cf1B_ij * exp_p2j / ( exp_p2i + exp_p2j ); + Cf1B_ij * exp_p2j / (exp_p2i + exp_p2j); } else { /* No overcoordination correction! */ @@ -451,9 +451,9 @@ namespace ReaxFF { if (twbp->v13cor >= 0.001) { /* Correction for 1-3 bond orders */ - exp_f4 =exp(-(twbp->p_boc4 * SQR( bo_ij->BO ) - + exp_f4 =exp(-(twbp->p_boc4 * SQR(bo_ij->BO) - Deltap_boc_i) * twbp->p_boc3 + twbp->p_boc5); - exp_f5 =exp(-(twbp->p_boc4 * SQR( bo_ij->BO ) - + exp_f5 =exp(-(twbp->p_boc4 * SQR(bo_ij->BO) - Deltap_boc_j) * twbp->p_boc3 + twbp->p_boc5); f4 = 1. / (1. + exp_f4); @@ -481,7 +481,7 @@ namespace ReaxFF { bo_ij->BO = bo_ij->BO * A0_ij; bo_ij->BO_pi = bo_ij->BO_pi * A0_ij *f1; bo_ij->BO_pi2= bo_ij->BO_pi2* A0_ij *f1; - bo_ij->BO_s = bo_ij->BO - ( bo_ij->BO_pi + bo_ij->BO_pi2 ); + bo_ij->BO_s = bo_ij->BO - (bo_ij->BO_pi + bo_ij->BO_pi2); bo_ij->C1dbo = A0_ij + bo_ij->BO * A1_ij; bo_ij->C2dbo = bo_ij->BO * A2_ij; @@ -515,7 +515,7 @@ namespace ReaxFF { /* We only need to update bond orders from bo_ji everything else is set in uncorrected_bo calculations */ sym_index = bonds->select.bond_list[pj].sym_index; - bo_ji = &(bonds->select.bond_list[ sym_index ].bo_data); + bo_ji = &(bonds->select.bond_list[sym_index].bo_data); bo_ij->BO = bo_ji->BO; bo_ij->BO_s = bo_ji->BO_s; bo_ij->BO_pi = bo_ji->BO_pi; @@ -531,7 +531,7 @@ namespace ReaxFF { for (j = 0; j < system->N; ++j) { type_j = system->my_atoms[j].type; if (type_j < 0) continue; - sbp_j = &(system->reax_param.sbp[ type_j ]); + sbp_j = &(system->reax_param.sbp[type_j]); workspace->Delta[j] = workspace->total_bond_order[j] - sbp_j->valency; workspace->Delta_e[j] = workspace->total_bond_order[j] - sbp_j->valency_e; diff --git a/src/USER-REAXC/reaxc_bonds.cpp b/src/USER-REAXC/reaxc_bonds.cpp index a06700bb3b..a21059f19d 100644 --- a/src/USER-REAXC/reaxc_bonds.cpp +++ b/src/USER-REAXC/reaxc_bonds.cpp @@ -75,17 +75,17 @@ namespace ReaxFF { /* set the pointers */ type_i = system->my_atoms[i].type; type_j = system->my_atoms[j].type; - sbp_i = &( system->reax_param.sbp[type_i] ); - sbp_j = &( system->reax_param.sbp[type_j] ); - twbp = &( system->reax_param.tbp[type_i][type_j] ); - bo_ij = &( bonds->select.bond_list[pj].bo_data ); + sbp_i = &(system->reax_param.sbp[type_i]); + sbp_j = &(system->reax_param.sbp[type_j]); + twbp = &(system->reax_param.tbp[type_i][type_j]); + bo_ij = &(bonds->select.bond_list[pj].bo_data); /* calculate the constants */ if (bo_ij->BO_s == 0.0) pow_BOs_be2 = 0.0; - else pow_BOs_be2 = pow( bo_ij->BO_s, twbp->p_be2 ); - exp_be12 = exp( twbp->p_be1 * ( 1.0 - pow_BOs_be2 ) ); + else pow_BOs_be2 = pow(bo_ij->BO_s, twbp->p_be2); + exp_be12 = exp(twbp->p_be1 * (1.0 - pow_BOs_be2)); CEbo = -twbp->De_s * exp_be12 * - ( 1.0 - twbp->p_be1 * twbp->p_be2 * pow_BOs_be2 ); + (1.0 - twbp->p_be1 * twbp->p_be2 * pow_BOs_be2); /* calculate the Bond Energy */ data->my_en.e_bond += ebond = @@ -104,10 +104,10 @@ namespace ReaxFF { /* Stabilisation terminal triple bond */ if (bo_ij->BO >= 1.00) { - if ( gp37 == 2 || + if (gp37 == 2 || (sbp_i->mass == 12.0000 && sbp_j->mass == 15.9990) || (sbp_j->mass == 12.0000 && sbp_i->mass == 15.9990)) { - exphu = exp( -gp7 * SQR(bo_ij->BO - 2.50) ); + exphu = exp(-gp7 * SQR(bo_ij->BO - 2.50)); exphua1 = exp(-gp3 * (workspace->total_bond_order[i]-bo_ij->BO)); exphub1 = exp(-gp3 * (workspace->total_bond_order[j]-bo_ij->BO)); exphuov = exp(gp4 * (workspace->Delta[i] + workspace->Delta[j])); @@ -117,7 +117,7 @@ namespace ReaxFF { data->my_en.e_bond += estriph; decobdbo = gp10 * exphu * hulpov * (exphua1 + exphub1) * - ( gp3 - 2.0 * gp7 * (bo_ij->BO-2.50) ); + (gp3 - 2.0 * gp7 * (bo_ij->BO-2.50)); decobdboua = -gp10 * exphu * hulpov * (gp3*exphua1 + 25.0*gp4*exphuov*hulpov*(exphua1+exphub1)); decobdboub = -gp10 * exphu * hulpov * diff --git a/src/USER-REAXC/reaxc_hydrogen_bonds.cpp b/src/USER-REAXC/reaxc_hydrogen_bonds.cpp index 43362ac878..463208425e 100644 --- a/src/USER-REAXC/reaxc_hydrogen_bonds.cpp +++ b/src/USER-REAXC/reaxc_hydrogen_bonds.cpp @@ -67,20 +67,20 @@ namespace ReaxFF { type_j = system->my_atoms[j].type; start_j = Start_Index(j, bonds); end_j = End_Index(j, bonds); - hb_start_j = Start_Index( system->my_atoms[j].Hindex, hbonds ); - hb_end_j = End_Index( system->my_atoms[j].Hindex, hbonds ); + hb_start_j = Start_Index(system->my_atoms[j].Hindex, hbonds); + hb_end_j = End_Index(system->my_atoms[j].Hindex, hbonds); if (type_j < 0) continue; top = 0; for (pi = start_j; pi < end_j; ++pi) { - pbond_ij = &( bond_list[pi] ); + pbond_ij = &(bond_list[pi]); i = pbond_ij->nbr; type_i = system->my_atoms[i].type; if (type_i < 0) continue; bo_ij = &(pbond_ij->bo_data); - if ( system->reax_param.sbp[type_i].p_hbond == 2 && - bo_ij->BO >= HB_THRESHOLD ) + if (system->reax_param.sbp[type_i].p_hbond == 2 && + bo_ij->BO >= HB_THRESHOLD) hblist[top++] = pi; } @@ -91,36 +91,36 @@ namespace ReaxFF { if (type_k < 0) continue; nbr_jk = hbond_list[pk].ptr; r_jk = nbr_jk->d; - rvec_Scale( dvec_jk, hbond_list[pk].scl, nbr_jk->dvec ); + rvec_Scale(dvec_jk, hbond_list[pk].scl, nbr_jk->dvec); for (itr = 0; itr < top; ++itr) { pi = hblist[itr]; - pbond_ij = &( bonds->select.bond_list[pi] ); + pbond_ij = &(bonds->select.bond_list[pi]); i = pbond_ij->nbr; if (system->my_atoms[i].orig_id != system->my_atoms[k].orig_id) { bo_ij = &(pbond_ij->bo_data); type_i = system->my_atoms[i].type; if (type_i < 0) continue; - hbp = &(system->reax_param.hbp[ type_i ][ type_j ][ type_k ]); + hbp = &(system->reax_param.hbp[type_i][type_j][type_k]); if (hbp->r0_hb <= 0.0) continue; ++num_hb_intrs; - Calculate_Theta( pbond_ij->dvec, pbond_ij->d, dvec_jk, r_jk, - &theta, &cos_theta ); + Calculate_Theta(pbond_ij->dvec, pbond_ij->d, dvec_jk, r_jk, + &theta, &cos_theta); /* the derivative of cos(theta) */ - Calculate_dCos_Theta( pbond_ij->dvec, pbond_ij->d, dvec_jk, r_jk, + Calculate_dCos_Theta(pbond_ij->dvec, pbond_ij->d, dvec_jk, r_jk, &dcos_theta_di, &dcos_theta_dj, - &dcos_theta_dk ); + &dcos_theta_dk); /* hyrogen bond energy*/ - sin_theta2 = sin( theta/2.0 ); + sin_theta2 = sin(theta/2.0); sin_xhz4 = SQR(sin_theta2); sin_xhz4 *= sin_xhz4; - cos_xhz1 = ( 1.0 - cos_theta ); - exp_hb2 = exp( -hbp->p_hb2 * bo_ij->BO ); - exp_hb3 = exp( -hbp->p_hb3 * ( hbp->r0_hb / r_jk + - r_jk / hbp->r0_hb - 2.0 ) ); + cos_xhz1 = (1.0 - cos_theta); + exp_hb2 = exp(-hbp->p_hb2 * bo_ij->BO); + exp_hb3 = exp(-hbp->p_hb3 * (hbp->r0_hb / r_jk + + r_jk / hbp->r0_hb - 2.0)); data->my_en.e_hb += e_hb = hbp->p_hb1 * (1.0 - exp_hb2) * exp_hb3 * sin_xhz4; @@ -135,36 +135,36 @@ namespace ReaxFF { if (control->virial == 0) { // dcos terms - rvec_ScaledAdd( workspace->f[i], +CEhb2, dcos_theta_di ); - rvec_ScaledAdd( workspace->f[j], +CEhb2, dcos_theta_dj ); - rvec_ScaledAdd( workspace->f[k], +CEhb2, dcos_theta_dk ); + rvec_ScaledAdd(workspace->f[i], +CEhb2, dcos_theta_di); + rvec_ScaledAdd(workspace->f[j], +CEhb2, dcos_theta_dj); + rvec_ScaledAdd(workspace->f[k], +CEhb2, dcos_theta_dk); // dr terms - rvec_ScaledAdd( workspace->f[j], -CEhb3/r_jk, dvec_jk ); - rvec_ScaledAdd( workspace->f[k], +CEhb3/r_jk, dvec_jk ); + rvec_ScaledAdd(workspace->f[j], -CEhb3/r_jk, dvec_jk); + rvec_ScaledAdd(workspace->f[k], +CEhb3/r_jk, dvec_jk); } else { - rvec_Scale( force, +CEhb2, dcos_theta_di ); // dcos terms - rvec_Add( workspace->f[i], force ); + rvec_Scale(force, +CEhb2, dcos_theta_di); // dcos terms + rvec_Add(workspace->f[i], force); - rvec_ScaledAdd( workspace->f[j], +CEhb2, dcos_theta_dj ); + rvec_ScaledAdd(workspace->f[j], +CEhb2, dcos_theta_dj); - ivec_Scale( rel_jk, hbond_list[pk].scl, nbr_jk->rel_box ); - rvec_Scale( force, +CEhb2, dcos_theta_dk ); - rvec_Add( workspace->f[k], force ); + ivec_Scale(rel_jk, hbond_list[pk].scl, nbr_jk->rel_box); + rvec_Scale(force, +CEhb2, dcos_theta_dk); + rvec_Add(workspace->f[k], force); // dr terms - rvec_ScaledAdd( workspace->f[j], -CEhb3/r_jk, dvec_jk ); + rvec_ScaledAdd(workspace->f[j], -CEhb3/r_jk, dvec_jk); - rvec_Scale( force, CEhb3/r_jk, dvec_jk ); - rvec_Add( workspace->f[k], force ); + rvec_Scale(force, CEhb3/r_jk, dvec_jk); + rvec_Add(workspace->f[k], force); } /* tally into per-atom virials */ if (system->pair_ptr->vflag_atom || system->pair_ptr->evflag) { - rvec_ScaledSum( delij, 1., system->my_atoms[j].x, - -1., system->my_atoms[i].x ); - rvec_ScaledSum( delkj, 1., system->my_atoms[j].x, - -1., system->my_atoms[k].x ); + rvec_ScaledSum(delij, 1., system->my_atoms[j].x, + -1., system->my_atoms[i].x); + rvec_ScaledSum(delkj, 1., system->my_atoms[j].x, + -1., system->my_atoms[k].x); rvec_Scale(fi_tmp, CEhb2, dcos_theta_di); rvec_Scale(fk_tmp, CEhb2, dcos_theta_dk); diff --git a/src/USER-REAXC/reaxc_init_md.cpp b/src/USER-REAXC/reaxc_init_md.cpp index 86a8677a02..d2b014947e 100644 --- a/src/USER-REAXC/reaxc_init_md.cpp +++ b/src/USER-REAXC/reaxc_init_md.cpp @@ -54,7 +54,7 @@ namespace ReaxFF { if (control->hbond_cut > 0) for (i = 0; i < system->n; ++i) { atom = &(system->my_atoms[i]); - if (system->reax_param.sbp[ atom->type ].p_hbond == 1 && atom->type >= 0) + if (system->reax_param.sbp[atom->type].p_hbond == 1 && atom->type >= 0) atom->Hindex = system->numH++; else atom->Hindex = -1; } diff --git a/src/USER-REAXC/reaxc_multi_body.cpp b/src/USER-REAXC/reaxc_multi_body.cpp index 09fb848a08..4f3ab95395 100644 --- a/src/USER-REAXC/reaxc_multi_body.cpp +++ b/src/USER-REAXC/reaxc_multi_body.cpp @@ -72,8 +72,8 @@ namespace ReaxFF { /* lone-pair Energy */ p_lp2 = sbp_i->p_lp2; - expvd2 = exp( -75 * workspace->Delta_lp[i] ); - inv_expvd2 = 1. / (1. + expvd2 ); + expvd2 = exp(-75 * workspace->Delta_lp[i]); + inv_expvd2 = 1. / (1. + expvd2); numbonds = 0; e_lp = 0.0; @@ -103,9 +103,9 @@ namespace ReaxFF { type_j = system->my_atoms[j].type; if (type_j < 0) continue; - if (!strcmp( system->reax_param.sbp[type_j].name, "C" )) { - twbp = &( system->reax_param.tbp[type_i][type_j]); - bo_ij = &( bonds->select.bond_list[pj].bo_data ); + if (!strcmp(system->reax_param.sbp[type_j].name, "C")) { + twbp = &(system->reax_param.tbp[type_i][type_j]); + bo_ij = &(bonds->select.bond_list[pj].bo_data); Di = workspace->Delta[i]; vov3 = bo_ij->BO - Di - 0.040*pow(Di, 4.); @@ -148,16 +148,16 @@ namespace ReaxFF { sum_ovun1 += twbp->p_ovun1 * twbp->De_s * bo_ij->BO; sum_ovun2 += (workspace->Delta[j] - dfvl*workspace->Delta_lp_temp[j])* - ( bo_ij->BO_pi + bo_ij->BO_pi2 ); + (bo_ij->BO_pi + bo_ij->BO_pi2); } - exp_ovun1 = p_ovun3 * exp( p_ovun4 * sum_ovun2 ); + exp_ovun1 = p_ovun3 * exp(p_ovun4 * sum_ovun2); inv_exp_ovun1 = 1.0 / (1 + exp_ovun1); Delta_lpcorr = workspace->Delta[i] - (dfvl * workspace->Delta_lp_temp[i]) * inv_exp_ovun1; - exp_ovun2 = exp( p_ovun2 * Delta_lpcorr ); + exp_ovun2 = exp(p_ovun2 * Delta_lpcorr); inv_exp_ovun2 = 1.0 / (1.0 + exp_ovun2); DlpVi = 1.0 / (Delta_lpcorr + sbp_i->valency + 1e-8); @@ -166,9 +166,9 @@ namespace ReaxFF { data->my_en.e_ov += e_ov = sum_ovun1 * CEover1; CEover2 = sum_ovun1 * DlpVi * inv_exp_ovun2 * - (1.0 - Delta_lpcorr * ( DlpVi + p_ovun2 * exp_ovun2 * inv_exp_ovun2 )); + (1.0 - Delta_lpcorr * (DlpVi + p_ovun2 * exp_ovun2 * inv_exp_ovun2)); - CEover3 = CEover2 * (1.0 - dfvl * workspace->dDelta_lp[i] * inv_exp_ovun1 ); + CEover3 = CEover2 * (1.0 - dfvl * workspace->dDelta_lp[i] * inv_exp_ovun1); CEover4 = CEover2 * (dfvl * workspace->Delta_lp_temp[i]) * p_ovun4 * exp_ovun1 * SQR(inv_exp_ovun1); @@ -179,7 +179,7 @@ namespace ReaxFF { p_ovun5 = sbp_i->p_ovun5; exp_ovun2n = 1.0 / exp_ovun2; - exp_ovun6 = exp( p_ovun6 * Delta_lpcorr ); + exp_ovun6 = exp(p_ovun6 * Delta_lpcorr); exp_ovun8 = p_ovun7 * exp(p_ovun8 * sum_ovun2); inv_exp_ovun2n = 1.0 / (1.0 + exp_ovun2n); inv_exp_ovun8 = 1.0 / (1.0 + exp_ovun8); @@ -194,8 +194,8 @@ namespace ReaxFF { -p_ovun5 * (1.0 - exp_ovun6) * inv_exp_ovun2n * inv_exp_ovun8; CEunder1 = inv_exp_ovun2n * - ( p_ovun5 * p_ovun6 * exp_ovun6 * inv_exp_ovun8 + - p_ovun2 * e_un * exp_ovun2n ); + (p_ovun5 * p_ovun6 * exp_ovun6 * inv_exp_ovun8 + + p_ovun2 * e_un * exp_ovun2n); CEunder2 = -e_un * p_ovun8 * exp_ovun8 * inv_exp_ovun8; CEunder3 = CEunder1 * (1.0 - dfvl*workspace->dDelta_lp[i]*inv_exp_ovun1); CEunder4 = CEunder1 * (dfvl*workspace->Delta_lp_temp[i]) * diff --git a/src/USER-REAXC/reaxc_nonbonded.cpp b/src/USER-REAXC/reaxc_nonbonded.cpp index e4adf6c7b1..a7f9aee807 100644 --- a/src/USER-REAXC/reaxc_nonbonded.cpp +++ b/src/USER-REAXC/reaxc_nonbonded.cpp @@ -111,8 +111,8 @@ namespace ReaxFF { if (flag) { r_ij = nbr_pj->d; - twbp = &(system->reax_param.tbp[ system->my_atoms[i].type ] - [ system->my_atoms[j].type ]); + twbp = &(system->reax_param.tbp[system->my_atoms[i].type] + [system->my_atoms[j].type]); Tap = workspace->Tap[7] * r_ij + workspace->Tap[6]; Tap = Tap * r_ij + workspace->Tap[5]; diff --git a/src/USER-REAXC/reaxc_reset_tools.cpp b/src/USER-REAXC/reaxc_reset_tools.cpp index e7d8d4d024..3208d935cc 100644 --- a/src/USER-REAXC/reaxc_reset_tools.cpp +++ b/src/USER-REAXC/reaxc_reset_tools.cpp @@ -43,7 +43,7 @@ namespace ReaxFF { for (i = 0; i < system->n; ++i) { atom = &(system->my_atoms[i]); if (atom->type < 0) continue; - if (system->reax_param.sbp[ atom->type ].p_hbond == 1) + if (system->reax_param.sbp[atom->type].p_hbond == 1) atom->Hindex = system->numH++; else atom->Hindex = -1; } diff --git a/src/USER-REAXC/reaxc_valence_angles.cpp b/src/USER-REAXC/reaxc_valence_angles.cpp index e1a535e193..839b92c614 100644 --- a/src/USER-REAXC/reaxc_valence_angles.cpp +++ b/src/USER-REAXC/reaxc_valence_angles.cpp @@ -32,20 +32,20 @@ #include "error.h" namespace ReaxFF { - void Calculate_Theta( rvec dvec_ji, double d_ji, rvec dvec_jk, double d_jk, - double *theta, double *cos_theta ) + void Calculate_Theta(rvec dvec_ji, double d_ji, rvec dvec_jk, double d_jk, + double *theta, double *cos_theta) { - (*cos_theta) = rvec_Dot(dvec_ji,dvec_jk) / ( d_ji * d_jk ); + (*cos_theta) = rvec_Dot(dvec_ji,dvec_jk) / (d_ji * d_jk); if (*cos_theta > 1.) *cos_theta = 1.0; if (*cos_theta < -1.) *cos_theta = -1.0; - (*theta) = acos( *cos_theta ); + (*theta) = acos(*cos_theta); } - void Calculate_dCos_Theta( rvec dvec_ji, double d_ji, rvec dvec_jk, double d_jk, + void Calculate_dCos_Theta(rvec dvec_ji, double d_ji, rvec dvec_jk, double d_jk, rvec* dcos_theta_di, rvec* dcos_theta_dj, - rvec* dcos_theta_dk ) + rvec* dcos_theta_dk) { int t; double sqr_d_ji = SQR(d_ji); @@ -59,14 +59,14 @@ namespace ReaxFF { (*dcos_theta_di)[t] = dvec_jk[t] * inv_dists - Cdot_inv3 * sqr_d_jk * dvec_ji[t]; (*dcos_theta_dj)[t] = -(dvec_jk[t] + dvec_ji[t]) * inv_dists + - Cdot_inv3 * ( sqr_d_jk * dvec_ji[t] + sqr_d_ji * dvec_jk[t] ); + Cdot_inv3 * (sqr_d_jk * dvec_ji[t] + sqr_d_ji * dvec_jk[t]); (*dcos_theta_dk)[t] = dvec_ji[t] * inv_dists - Cdot_inv3 * sqr_d_ji * dvec_jk[t]; } } - void Valence_Angles( reax_system *system, control_params *control, + void Valence_Angles(reax_system *system, control_params *control, simulation_data *data, storage *workspace, reax_list **lists) { @@ -119,17 +119,17 @@ namespace ReaxFF { start_j = Start_Index(j, bonds); end_j = End_Index(j, bonds); - p_val3 = system->reax_param.sbp[ type_j ].p_val3; - p_val5 = system->reax_param.sbp[ type_j ].p_val5; + p_val3 = system->reax_param.sbp[type_j].p_val3; + p_val5 = system->reax_param.sbp[type_j].p_val5; SBOp = 0, prod_SBO = 1; for (t = start_j; t < end_j; ++t) { bo_jt = &(bonds->select.bond_list[t].bo_data); SBOp += (bo_jt->BO_pi + bo_jt->BO_pi2); - temp = SQR( bo_jt->BO ); + temp = SQR(bo_jt->BO); temp *= temp; temp *= temp; - prod_SBO *= exp( -temp ); + prod_SBO *= exp(-temp); } if (workspace->vlpex[j] >= 0) { @@ -141,50 +141,50 @@ namespace ReaxFF { } SBO = SBOp + (1 - prod_SBO) * (-workspace->Delta_boc[j] - p_val8 * vlpadj); - dSBO1 = -8 * prod_SBO * ( workspace->Delta_boc[j] + p_val8 * vlpadj ); + dSBO1 = -8 * prod_SBO * (workspace->Delta_boc[j] + p_val8 * vlpadj); if (SBO <= 0) SBO2 = 0, CSBO2 = 0; else if (SBO > 0 && SBO <= 1) { - SBO2 = pow( SBO, p_val9 ); - CSBO2 = p_val9 * pow( SBO, p_val9 - 1 ); + SBO2 = pow(SBO, p_val9); + CSBO2 = p_val9 * pow(SBO, p_val9 - 1); } else if (SBO > 1 && SBO < 2) { - SBO2 = 2 - pow( 2-SBO, p_val9 ); - CSBO2 = p_val9 * pow( 2 - SBO, p_val9 - 1 ); + SBO2 = 2 - pow(2-SBO, p_val9); + CSBO2 = p_val9 * pow(2 - SBO, p_val9 - 1); } else SBO2 = 2, CSBO2 = 0; - expval6 = exp( p_val6 * workspace->Delta_boc[j] ); + expval6 = exp(p_val6 * workspace->Delta_boc[j]); for (pi = start_j; pi < end_j; ++pi) { - Set_Start_Index( pi, num_thb_intrs, thb_intrs ); + Set_Start_Index(pi, num_thb_intrs, thb_intrs); pbond_ij = &(bonds->select.bond_list[pi]); bo_ij = &(pbond_ij->bo_data); BOA_ij = bo_ij->BO - control->thb_cut; - if ( BOA_ij/*bo_ij->BO*/ > 0.0 && - ( j < system->n || pbond_ij->nbr < system->n )) { + if (BOA_ij/*bo_ij->BO*/ > 0.0 && + (j < system->n || pbond_ij->nbr < system->n)) { i = pbond_ij->nbr; type_i = system->my_atoms[i].type; for (pk = start_j; pk < pi; ++pk) { - start_pk = Start_Index( pk, thb_intrs ); - end_pk = End_Index( pk, thb_intrs ); + start_pk = Start_Index(pk, thb_intrs); + end_pk = End_Index(pk, thb_intrs); for (t = start_pk; t < end_pk; ++t) if (thb_intrs->select.three_body_list[t].thb == i) { - p_ijk = &(thb_intrs->select.three_body_list[num_thb_intrs] ); + p_ijk = &(thb_intrs->select.three_body_list[num_thb_intrs]); p_kji = &(thb_intrs->select.three_body_list[t]); p_ijk->thb = bonds->select.bond_list[pk].nbr; p_ijk->pthb = pk; p_ijk->theta = p_kji->theta; - rvec_Copy( p_ijk->dcos_di, p_kji->dcos_dk ); - rvec_Copy( p_ijk->dcos_dj, p_kji->dcos_dj ); - rvec_Copy( p_ijk->dcos_dk, p_kji->dcos_di ); + rvec_Copy(p_ijk->dcos_di, p_kji->dcos_dk); + rvec_Copy(p_ijk->dcos_dj, p_kji->dcos_dj); + rvec_Copy(p_ijk->dcos_dk, p_kji->dcos_di); ++num_thb_intrs; break; @@ -197,21 +197,21 @@ namespace ReaxFF { BOA_jk = bo_jk->BO - control->thb_cut; k = pbond_jk->nbr; type_k = system->my_atoms[k].type; - p_ijk = &( thb_intrs->select.three_body_list[num_thb_intrs] ); + p_ijk = &(thb_intrs->select.three_body_list[num_thb_intrs]); - Calculate_Theta( pbond_ij->dvec, pbond_ij->d, + Calculate_Theta(pbond_ij->dvec, pbond_ij->d, pbond_jk->dvec, pbond_jk->d, - &theta, &cos_theta ); + &theta, &cos_theta); - Calculate_dCos_Theta( pbond_ij->dvec, pbond_ij->d, + Calculate_dCos_Theta(pbond_ij->dvec, pbond_ij->d, pbond_jk->dvec, pbond_jk->d, &(p_ijk->dcos_di), &(p_ijk->dcos_dj), - &(p_ijk->dcos_dk) ); + &(p_ijk->dcos_dk)); p_ijk->thb = k; p_ijk->pthb = pk; p_ijk->theta = theta; - sin_theta = sin( theta ); + sin_theta = sin(theta); if (sin_theta < 1.0e-5) sin_theta = 1.0e-5; @@ -222,11 +222,11 @@ namespace ReaxFF { (bo_ij->BO > control->thb_cut) && (bo_jk->BO > control->thb_cut) && (bo_ij->BO * bo_jk->BO > control->thb_cutsq)) { - thbh = &( system->reax_param.thbp[ type_i ][ type_j ][ type_k ] ); + thbh = &(system->reax_param.thbp[type_i][type_j][type_k]); for (cnt = 0; cnt < thbh->cnt; ++cnt) { if (fabs(thbh->prm[cnt].p_val1) > 0.001) { - thbp = &( thbh->prm[cnt] ); + thbp = &(thbh->prm[cnt]); /* ANGLE ENERGY */ p_val1 = thbp->p_val1; @@ -235,26 +235,26 @@ namespace ReaxFF { p_val7 = thbp->p_val7; theta_00 = thbp->theta_00; - exp3ij = exp( -p_val3 * pow( BOA_ij, p_val4 ) ); + exp3ij = exp(-p_val3 * pow(BOA_ij, p_val4)); f7_ij = 1.0 - exp3ij; - Cf7ij = p_val3 * p_val4 * pow( BOA_ij, p_val4 - 1.0 ) * exp3ij; + Cf7ij = p_val3 * p_val4 * pow(BOA_ij, p_val4 - 1.0) * exp3ij; - exp3jk = exp( -p_val3 * pow( BOA_jk, p_val4 ) ); + exp3jk = exp(-p_val3 * pow(BOA_jk, p_val4)); f7_jk = 1.0 - exp3jk; - Cf7jk = p_val3 * p_val4 * pow( BOA_jk, p_val4 - 1.0 ) * exp3jk; + Cf7jk = p_val3 * p_val4 * pow(BOA_jk, p_val4 - 1.0) * exp3jk; - expval7 = exp( -p_val7 * workspace->Delta_boc[j] ); + expval7 = exp(-p_val7 * workspace->Delta_boc[j]); trm8 = 1.0 + expval6 + expval7; - f8_Dj = p_val5 - ( (p_val5 - 1.0) * (2.0 + expval6) / trm8 ); - Cf8j = ( (1.0 - p_val5) / SQR(trm8) ) * - ( p_val6 * expval6 * trm8 - - (2.0 + expval6) * ( p_val6*expval6 - p_val7*expval7 ) ); + f8_Dj = p_val5 - ((p_val5 - 1.0) * (2.0 + expval6) / trm8); + Cf8j = ((1.0 - p_val5) / SQR(trm8)) * + (p_val6 * expval6 * trm8 - + (2.0 + expval6) * (p_val6*expval6 - p_val7*expval7)); theta_0 = 180.0 - theta_00 * (1.0 - exp(-p_val10 * (2.0 - SBO2))); - theta_0 = DEG2RAD( theta_0 ); + theta_0 = DEG2RAD(theta_0); - expval2theta = exp( -p_val2 * SQR(theta_0 - theta) ); + expval2theta = exp(-p_val2 * SQR(theta_0 - theta)); if (p_val1 >= 0) expval12theta = p_val1 * (1.0 - expval2theta); else // To avoid linear Me-H-Me angles (6/6/06) @@ -267,7 +267,7 @@ namespace ReaxFF { expval2theta * (theta_0 - theta); Ctheta_0 = p_val10 * DEG2RAD(theta_00) * - exp( -p_val10 * (2.0 - SBO2) ); + exp(-p_val10 * (2.0 - SBO2)); CEval5 = -CEval4 * Ctheta_0 * CSBO2; CEval6 = CEval5 * dSBO1; @@ -284,16 +284,16 @@ namespace ReaxFF { p_pen3 = system->reax_param.gp.l[20]; p_pen4 = system->reax_param.gp.l[21]; - exp_pen2ij = exp( -p_pen2 * SQR( BOA_ij - 2.0 ) ); - exp_pen2jk = exp( -p_pen2 * SQR( BOA_jk - 2.0 ) ); - exp_pen3 = exp( -p_pen3 * workspace->Delta[j] ); - exp_pen4 = exp( p_pen4 * workspace->Delta[j] ); + exp_pen2ij = exp(-p_pen2 * SQR(BOA_ij - 2.0)); + exp_pen2jk = exp(-p_pen2 * SQR(BOA_jk - 2.0)); + exp_pen3 = exp(-p_pen3 * workspace->Delta[j]); + exp_pen4 = exp( p_pen4 * workspace->Delta[j]); trm_pen34 = 1.0 + exp_pen3 + exp_pen4; - f9_Dj = ( 2.0 + exp_pen3 ) / trm_pen34; - Cf9j = ( -p_pen3 * exp_pen3 * trm_pen34 - - (2.0 + exp_pen3) * ( -p_pen3 * exp_pen3 + - p_pen4 * exp_pen4 ) ) / - SQR( trm_pen34 ); + f9_Dj = (2.0 + exp_pen3) / trm_pen34; + Cf9j = (-p_pen3 * exp_pen3 * trm_pen34 - + (2.0 + exp_pen3) * (-p_pen3 * exp_pen3 + + p_pen4 * exp_pen4)) / + SQR(trm_pen34); data->my_en.e_pen += e_pen = p_pen1 * f9_Dj * exp_pen2ij * exp_pen2jk; @@ -310,13 +310,13 @@ namespace ReaxFF { p_coa3 = system->reax_param.gp.l[38]; p_coa4 = system->reax_param.gp.l[30]; - exp_coa2 = exp( p_coa2 * workspace->Delta_val[j] ); + exp_coa2 = exp(p_coa2 * workspace->Delta_val[j]); data->my_en.e_coa += e_coa = p_coa1 / (1. + exp_coa2) * - exp( -p_coa3 * SQR(workspace->total_bond_order[i]-BOA_ij) ) * - exp( -p_coa3 * SQR(workspace->total_bond_order[k]-BOA_jk) ) * - exp( -p_coa4 * SQR(BOA_ij - 1.5) ) * - exp( -p_coa4 * SQR(BOA_jk - 1.5) ); + exp(-p_coa3 * SQR(workspace->total_bond_order[i]-BOA_ij)) * + exp(-p_coa3 * SQR(workspace->total_bond_order[k]-BOA_jk)) * + exp(-p_coa4 * SQR(BOA_ij - 1.5)) * + exp(-p_coa4 * SQR(BOA_jk - 1.5)); CEcoa1 = -2 * p_coa4 * (BOA_ij - 1.5) * e_coa; CEcoa2 = -2 * p_coa4 * (BOA_jk - 1.5) * e_coa; @@ -335,10 +335,10 @@ namespace ReaxFF { workspace->CdDelta[k] += CEcoa5; for (t = start_j; t < end_j; ++t) { - pbond_jt = &( bonds->select.bond_list[t] ); + pbond_jt = &(bonds->select.bond_list[t]); bo_jt = &(pbond_jt->bo_data); temp_bo_jt = bo_jt->BO; - temp = CUBE( temp_bo_jt ); + temp = CUBE(temp_bo_jt); pBOjt7 = temp * temp * temp_bo_jt; bo_jt->Cdbo += (CEval6 * pBOjt7); @@ -347,31 +347,31 @@ namespace ReaxFF { } if (control->virial == 0) { - rvec_ScaledAdd( workspace->f[i], CEval8, p_ijk->dcos_di ); - rvec_ScaledAdd( workspace->f[j], CEval8, p_ijk->dcos_dj ); - rvec_ScaledAdd( workspace->f[k], CEval8, p_ijk->dcos_dk ); + rvec_ScaledAdd(workspace->f[i], CEval8, p_ijk->dcos_di); + rvec_ScaledAdd(workspace->f[j], CEval8, p_ijk->dcos_dj); + rvec_ScaledAdd(workspace->f[k], CEval8, p_ijk->dcos_dk); } else { - rvec_Scale( force, CEval8, p_ijk->dcos_di ); - rvec_Add( workspace->f[i], force ); + rvec_Scale(force, CEval8, p_ijk->dcos_di); + rvec_Add(workspace->f[i], force); - rvec_ScaledAdd( workspace->f[j], CEval8, p_ijk->dcos_dj ); + rvec_ScaledAdd(workspace->f[j], CEval8, p_ijk->dcos_dj); - rvec_Scale( force, CEval8, p_ijk->dcos_dk ); - rvec_Add( workspace->f[k], force ); + rvec_Scale(force, CEval8, p_ijk->dcos_dk); + rvec_Add(workspace->f[k], force); } /* tally into per-atom virials */ if (system->pair_ptr->vflag_atom || system->pair_ptr->evflag) { /* Acquire vectors */ - rvec_ScaledSum( delij, 1., system->my_atoms[i].x, - -1., system->my_atoms[j].x ); - rvec_ScaledSum( delkj, 1., system->my_atoms[k].x, - -1., system->my_atoms[j].x ); + rvec_ScaledSum(delij, 1., system->my_atoms[i].x, + -1., system->my_atoms[j].x); + rvec_ScaledSum(delkj, 1., system->my_atoms[k].x, + -1., system->my_atoms[j].x); - rvec_Scale( fi_tmp, -CEval8, p_ijk->dcos_di ); - rvec_Scale( fj_tmp, -CEval8, p_ijk->dcos_dj ); - rvec_Scale( fk_tmp, -CEval8, p_ijk->dcos_dk ); + rvec_Scale(fi_tmp, -CEval8, p_ijk->dcos_di); + rvec_Scale(fj_tmp, -CEval8, p_ijk->dcos_dj); + rvec_Scale(fk_tmp, -CEval8, p_ijk->dcos_dk); eng_tmp = e_ang + e_pen + e_coa; @@ -386,7 +386,7 @@ namespace ReaxFF { } } - Set_End_Index(pi, num_thb_intrs, thb_intrs ); + Set_End_Index(pi, num_thb_intrs, thb_intrs); } } diff --git a/src/USER-REAXC/reaxff_api.h b/src/USER-REAXC/reaxff_api.h index 819d7c0d3b..96febe70f9 100644 --- a/src/USER-REAXC/reaxff_api.h +++ b/src/USER-REAXC/reaxff_api.h @@ -184,8 +184,8 @@ namespace ReaxFF return v1[0]*v2[0] + v1[1]*v2[1] + v1[2]*v2[2]; } - inline double rvec_Norm( rvec v ) { - return sqrt( SQR(v[0]) + SQR(v[1]) + SQR(v[2]) ); + inline double rvec_Norm(rvec v) { + return sqrt(SQR(v[0]) + SQR(v[1]) + SQR(v[2])); } inline void rvec_Scale(rvec ret, double c, rvec v) { diff --git a/src/USER-REAXC/reaxff_defs.h b/src/USER-REAXC/reaxff_defs.h index 854871e5a7..2727fb897e 100644 --- a/src/USER-REAXC/reaxff_defs.h +++ b/src/USER-REAXC/reaxff_defs.h @@ -29,7 +29,7 @@ #define CUBE(x) ((x)*(x)*(x)) #define DEG2RAD(a) ((a)*constPI/180.0) #define RAD2DEG(a) ((a)*180.0/constPI) -#define MAX3(x,y,z) MAX( MAX(x,y), z) +#define MAX3(x,y,z) MAX(MAX(x,y), z) #define constPI 3.14159265 #define C_ele 332.06371 From dbced62a65e895052bf0e4245298d39ba5df08f5 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 21 Apr 2021 00:44:09 -0400 Subject: [PATCH 079/726] reorder code for better plain vs. omp code comparison. remove unused stuff --- src/USER-OMP/pair_reaxc_omp.cpp | 266 ++++++++++++++--------------- src/USER-OMP/reaxc_init_md_omp.cpp | 14 +- src/USER-REAXC/fix_qeq_reax.cpp | 4 +- src/USER-REAXC/fix_qeq_reax.h | 2 - src/USER-REAXC/pair_reaxc.cpp | 31 ++-- src/USER-REAXC/pair_reaxc.h | 2 - src/USER-REAXC/reaxc_allocate.cpp | 14 ++ src/USER-REAXC/reaxc_init_md.cpp | 19 ++- 8 files changed, 172 insertions(+), 180 deletions(-) diff --git a/src/USER-OMP/pair_reaxc_omp.cpp b/src/USER-OMP/pair_reaxc_omp.cpp index 178c65a1b1..af4a61360f 100644 --- a/src/USER-OMP/pair_reaxc_omp.cpp +++ b/src/USER-OMP/pair_reaxc_omp.cpp @@ -35,19 +35,20 @@ #include "pair_reaxc_omp.h" -#include #include "atom.h" -#include "update.h" -#include "force.h" +#include "citeme.h" #include "comm.h" -#include "neighbor.h" +#include "error.h" +#include "fix_reaxc.h" +#include "force.h" +#include "memory.h" +#include "modify.h" #include "neigh_list.h" #include "neigh_request.h" -#include "modify.h" -#include "fix_reaxc.h" -#include "citeme.h" -#include "memory.h" -#include "error.h" +#include "neighbor.h" +#include "update.h" + +#include #include "reaxff_api.h" #include "reaxff_omp.h" @@ -96,6 +97,127 @@ PairReaxCOMP::~PairReaxCOMP() /* ---------------------------------------------------------------------- */ +void PairReaxCOMP::init_style() +{ + if (!atom->q_flag) + error->all(FLERR,"Pair style reax/c/omp requires atom attribute q"); + + bool have_qeq = ((modify->find_fix_by_style("^qeq/reax") != -1) + || (modify->find_fix_by_style("^qeq/shielded") != -1)); + if (!have_qeq && qeqflag == 1) + error->all(FLERR,"Pair reax/c requires use of fix qeq/reax or qeq/shielded"); + + api->system->n = atom->nlocal; // my atoms + api->system->N = atom->nlocal + atom->nghost; // mine + ghosts + api->system->bigN = static_cast (atom->natoms); // all atoms in the system + api->system->wsize = comm->nprocs; + + if (atom->tag_enable == 0) + error->all(FLERR,"Pair style reax/c/omp requires atom IDs"); + if (force->newton_pair == 0) + error->all(FLERR,"Pair style reax/c/omp requires newton pair on"); + + // because system->bigN is an int, we cannot have more atoms than MAXSMALLINT + + if (atom->natoms > MAXSMALLINT) + error->all(FLERR,"Too many atoms for pair style reax/c/omp"); + + // need a half neighbor list w/ Newton off and ghost neighbors + // built whenever re-neighboring occurs + + int irequest = neighbor->request(this,instance_me); + neighbor->requests[irequest]->newton = 2; + neighbor->requests[irequest]->ghost = 1; + + cutmax = MAX3(api->control->nonb_cut, api->control->hbond_cut, api->control->bond_cut); + if ((cutmax < 2.0*api->control->bond_cut) && (comm->me == 0)) + error->warning(FLERR,"Total cutoff < 2*bond cutoff. May need to use an " + "increased neighbor list skin."); + + if (fix_reax == nullptr) { + modify->add_fix(fmt::format("{} all REAXC",fix_id)); + fix_reax = (FixReaxC *) modify->fix[modify->nfix-1]; + } + + api->control->nthreads = comm->nthreads; +} + +/* ---------------------------------------------------------------------- */ + +void PairReaxCOMP::setup() +{ + int oldN; + int mincap = api->system->mincap; + double safezone = api->system->safezone; + + api->system->n = atom->nlocal; // my atoms + api->system->N = atom->nlocal + atom->nghost; // mine + ghosts + oldN = api->system->N; + api->system->bigN = static_cast (atom->natoms); // all atoms in the system + + if (api->system->N > nmax) { + memory->destroy(num_nbrs_offset); + // Don't update nmax here. It is updated at end of compute(). + memory->create(num_nbrs_offset, api->system->N, "pair:num_nbrs_offset"); + } + + if (setup_flag == 0) { + + setup_flag = 1; + + int *num_bonds = fix_reax->num_bonds; + int *num_hbonds = fix_reax->num_hbonds; + + // determine the local and total capacity + + api->system->local_cap = MAX((int)(api->system->n * safezone), mincap); + api->system->total_cap = MAX((int)(api->system->N * safezone), mincap); + + // initialize my data structures + + PreAllocate_Space(api->system, api->workspace); + write_reax_atoms(); + + api->system->wsize = comm->nprocs; + + int num_nbrs = estimate_reax_lists(); + if (num_nbrs < 0) + error->all(FLERR,"Too many neighbors for pair style reax/c"); + + Make_List(api->system->total_cap,num_nbrs,TYP_FAR_NEIGHBOR,api->lists+FAR_NBRS); + (api->lists+FAR_NBRS)->error_ptr=error; + + write_reax_lists(); + + InitializeOMP(api->system,api->control,api->data,api->workspace,&api->lists,world); + for (int k = 0; k < api->system->N; ++k) { + num_bonds[k] = api->system->my_atoms[k].num_bonds; + num_hbonds[k] = api->system->my_atoms[k].num_hbonds; + } + + } else { + + // fill in reax datastructures + + write_reax_atoms(); + + // reset the bond list info for new atoms + + for (int k = oldN; k < api->system->N; ++k) + Set_End_Index(k, Start_Index(k, api->lists+BONDS), api->lists+BONDS); + + // estimate far neighbor list size + // Not present in MPI-only version + api->workspace->realloc.num_far = estimate_reax_lists(); + + // check if I need to shrink/extend my data-structs + + ReAllocate(api->system, api->control, api->data, api->workspace, &api->lists); + } +} + +/* ---------------------------------------------------------------------- */ + void PairReaxCOMP::compute(int eflag, int vflag) { double evdwl,ecoul; @@ -214,132 +336,6 @@ void PairReaxCOMP::compute(int eflag, int vflag) /* ---------------------------------------------------------------------- */ -void PairReaxCOMP::init_style() -{ - if (!atom->q_flag) - error->all(FLERR,"Pair reax/c/omp requires atom attribute q"); - - // firstwarn = 1; - - bool have_qeq = ((modify->find_fix_by_style("^qeq/reax") != -1) - || (modify->find_fix_by_style("^qeq/shielded") != -1)); - if (!have_qeq && qeqflag == 1) - error->all(FLERR,"Pair reax/c requires use of fix qeq/reax or qeq/shielded"); - - api->system->n = atom->nlocal; // my atoms - api->system->N = atom->nlocal + atom->nghost; // mine + ghosts - api->system->bigN = static_cast (atom->natoms); // all atoms in the system - api->system->wsize = comm->nprocs; - - if (atom->tag_enable == 0) - error->all(FLERR,"Pair style reax/c/omp requires atom IDs"); - if (force->newton_pair == 0) - error->all(FLERR,"Pair style reax/c/omp requires newton pair on"); - - if ((atom->map_tag_max > 99999999) && (comm->me == 0)) - error->warning(FLERR,"Some Atom-IDs are too large. Pair style reax/c/omp " - "native output files may get misformatted or corrupted"); - - // because system->bigN is an int, we cannot have more atoms than MAXSMALLINT - - if (atom->natoms > MAXSMALLINT) - error->all(FLERR,"Too many atoms for pair style reax/c/omp"); - - // need a half neighbor list w/ Newton off and ghost neighbors - // built whenever re-neighboring occurs - - int irequest = neighbor->request(this,instance_me); - neighbor->requests[irequest]->newton = 2; - neighbor->requests[irequest]->ghost = 1; - - cutmax = MAX3(api->control->nonb_cut, api->control->hbond_cut, api->control->bond_cut); - if ((cutmax < 2.0*api->control->bond_cut) && (comm->me == 0)) - error->warning(FLERR,"Total cutoff < 2*bond cutoff. May need to use an " - "increased neighbor list skin."); - - for (int i = 0; i < LIST_N; ++i) - api->lists[i].allocated = 0; - - if (fix_reax == nullptr) { - modify->add_fix(fmt::format("{} all REAXC",fix_id)); - fix_reax = (FixReaxC *) modify->fix[modify->nfix-1]; - } - - api->control->nthreads = comm->nthreads; -} - -/* ---------------------------------------------------------------------- */ - -void PairReaxCOMP::setup() -{ - int oldN; - int mincap = api->system->mincap; - double safezone = api->system->safezone; - - api->system->n = atom->nlocal; // my atoms - api->system->N = atom->nlocal + atom->nghost; // mine + ghosts - oldN = api->system->N; - api->system->bigN = static_cast (atom->natoms); // all atoms in the system - - if (api->system->N > nmax) { - memory->destroy(num_nbrs_offset); - // Don't update nmax here. It is updated at end of compute(). - memory->create(num_nbrs_offset, api->system->N, "pair:num_nbrs_offset"); - } - - if (setup_flag == 0) { - - setup_flag = 1; - - int *num_bonds = fix_reax->num_bonds; - int *num_hbonds = fix_reax->num_hbonds; - - // determine the local and total capacity - - api->system->local_cap = MAX((int)(api->system->n * safezone), mincap); - api->system->total_cap = MAX((int)(api->system->N * safezone), mincap); - - // initialize my data structures - - PreAllocate_Space(api->system, api->workspace); - write_reax_atoms(); - - int num_nbrs = estimate_reax_lists(); - Make_List(api->system->total_cap, num_nbrs, TYP_FAR_NEIGHBOR, api->lists+FAR_NBRS); - - write_reax_lists(); - - InitializeOMP(api->system, api->control, api->data, - api->workspace, &api->lists, world); - - for (int k = 0; k < api->system->N; ++k) { - num_bonds[k] = api->system->my_atoms[k].num_bonds; - num_hbonds[k] = api->system->my_atoms[k].num_hbonds; - } - - } else { - - // fill in reax datastructures - - write_reax_atoms(); - - // reset the bond list info for new atoms - - for (int k = oldN; k < api->system->N; ++k) - Set_End_Index(k, Start_Index(k, api->lists+BONDS), api->lists+BONDS); - - // estimate far neighbor list size - // Not present in MPI-only version - api->workspace->realloc.num_far = estimate_reax_lists(); - - // check if I need to shrink/extend my data-structs - - ReAllocate(api->system, api->control, api->data, api->workspace, &api->lists); - } -} - -/* ---------------------------------------------------------------------- */ - void PairReaxCOMP::write_reax_atoms() { int *num_bonds = fix_reax->num_bonds; diff --git a/src/USER-OMP/reaxc_init_md_omp.cpp b/src/USER-OMP/reaxc_init_md_omp.cpp index cccee3afe8..bfaa871b61 100644 --- a/src/USER-OMP/reaxc_init_md_omp.cpp +++ b/src/USER-OMP/reaxc_init_md_omp.cpp @@ -1,6 +1,5 @@ /*---------------------------------------------------------------------- PuReMD - Purdue ReaxFF Molecular Dynamics Program - Website: https://www.cs.purdue.edu/puremd Copyright (2010) Purdue University @@ -27,15 +26,13 @@ ----------------------------------------------------------------------*/ #include "reaxff_omp.h" +#include "reaxff_api.h" #include "error.h" -#include "reaxff_api.h" - +#include #include -/* ---------------------------------------------------------------------- */ - namespace ReaxFF { static void Init_ListsOMP(reax_system *system, control_params *control, reax_list **lists) @@ -63,6 +60,7 @@ namespace ReaxFF { total_hbonds = (int)(MAX(total_hbonds*saferzone,mincap*system->minhbonds)); Make_List(system->Hcap, total_hbonds, TYP_HBOND,*lists+HBONDS); + (*lists+HBONDS)->error_ptr = system->error_ptr; } total_bonds = 0; @@ -73,6 +71,7 @@ namespace ReaxFF { bond_cap = (int)(MAX(total_bonds*safezone, mincap*MIN_BONDS)); Make_List(system->total_cap, bond_cap, TYP_BOND,*lists+BONDS); + (*lists+BONDS)->error_ptr = system->error_ptr; int nthreads = control->nthreads; reax_list *bonds = (*lists)+BONDS; @@ -84,14 +83,12 @@ namespace ReaxFF { /* 3bodies list */ cap_3body = (int)(MAX(num_3body*safezone, MIN_3BODIES)); Make_List(bond_cap, cap_3body, TYP_THREE_BODY,*lists+THREE_BODIES); + (*lists+THREE_BODIES)->error_ptr = system->error_ptr; free(hb_top); free(bond_top); } -/* ---------------------------------------------------------------------- */ - -// The only difference with the MPI-only function is calls to Init_ListsOMP and Init_Force_FunctionsOMP(). void InitializeOMP(reax_system *system, control_params *control, simulation_data *data, storage *workspace, reax_list **lists, MPI_Comm world) @@ -100,7 +97,6 @@ namespace ReaxFF { Init_Simulation_Data(data); Init_Workspace(system,control,workspace); Init_ListsOMP(system,control,lists); - if (control->tabulate) Init_Lookup_Tables(system,control,workspace,world); } diff --git a/src/USER-REAXC/fix_qeq_reax.cpp b/src/USER-REAXC/fix_qeq_reax.cpp index eef7df53fd..4a1e92552d 100644 --- a/src/USER-REAXC/fix_qeq_reax.cpp +++ b/src/USER-REAXC/fix_qeq_reax.cpp @@ -376,8 +376,8 @@ void FixQEqReax::init() if (!atom->q_flag) error->all(FLERR,"Fix qeq/reax requires atom attribute q"); - ngroup = group->count(igroup); - if (ngroup == 0) error->all(FLERR,"Fix qeq/reax group has no atoms"); + if (group->count(igroup) == 0) + error->all(FLERR,"Fix qeq/reax group has no atoms"); // need a half neighbor list w/ Newton off and ghost neighbors // built whenever re-neighboring occurs diff --git a/src/USER-REAXC/fix_qeq_reax.h b/src/USER-REAXC/fix_qeq_reax.h index 9fc20f35d0..acd60f67b6 100644 --- a/src/USER-REAXC/fix_qeq_reax.h +++ b/src/USER-REAXC/fix_qeq_reax.h @@ -72,8 +72,6 @@ class FixQEqReax : public Fix { double *chi,*eta,*gamma; // qeq parameters double **shld; - bigint ngroup; - // fictitious charges double *s, *t; diff --git a/src/USER-REAXC/pair_reaxc.cpp b/src/USER-REAXC/pair_reaxc.cpp index 5cd1556943..3c7980382e 100644 --- a/src/USER-REAXC/pair_reaxc.cpp +++ b/src/USER-REAXC/pair_reaxc.cpp @@ -12,8 +12,9 @@ ------------------------------------------------------------------------- */ /* ---------------------------------------------------------------------- - Contributing author: Hasan Metin Aktulga, Purdue University - (now at Lawrence Berkeley National Laboratory, hmaktulga@lbl.gov) + Contributing author: + Hasan Metin Aktulga, Michigan State University, hma@cse.msu.edu + Per-atom energy/virial added by Ray Shan (Sandia) Fix reax/c/bonds and fix reax/c/species for pair_style reax/c added by Ray Shan (Sandia) @@ -26,7 +27,6 @@ #include "citeme.h" #include "comm.h" #include "error.h" -#include "fix.h" #include "fix_reaxc.h" #include "force.h" #include "memory.h" @@ -129,7 +129,7 @@ PairReaxC::~PairReaxC() if (api->control->tabulate) Deallocate_Lookup_Tables(api->system); - if (api->control->hbond_cut > 0) Delete_List(api->lists+HBONDS); + if (api->control->hbond_cut > 0) Delete_List(api->lists+HBONDS); Delete_List(api->lists+BONDS); Delete_List(api->lists+THREE_BODIES); Delete_List(api->lists+FAR_NBRS); @@ -335,8 +335,6 @@ void PairReaxC::init_style() if (!atom->q_flag) error->all(FLERR,"Pair style reax/c requires atom attribute q"); - // firstwarn = 1; - bool have_qeq = ((modify->find_fix_by_style("^qeq/reax") != -1) || (modify->find_fix_by_style("^qeq/shielded") != -1)); if (!have_qeq && qeqflag == 1) @@ -351,9 +349,6 @@ void PairReaxC::init_style() error->all(FLERR,"Pair style reax/c requires atom IDs"); if (force->newton_pair == 0) error->all(FLERR,"Pair style reax/c requires newton pair on"); - if ((atom->map_tag_max > 99999999) && (comm->me == 0)) - error->warning(FLERR,"Some Atom-IDs are too large. Pair style reax/c " - "native output files may get misformatted or corrupted"); // because system->bigN is an int, we cannot have more atoms than MAXSMALLINT @@ -372,10 +367,6 @@ void PairReaxC::init_style() error->warning(FLERR,"Total cutoff < 2*bond cutoff. May need to use an " "increased neighbor list skin."); - for (int i = 0; i < LIST_N; ++i) - if (api->lists[i].allocated != 1) - api->lists[i].allocated = 0; - if (fix_reax == nullptr) { modify->add_fix(fmt::format("{} all REAXC",fix_id)); fix_reax = (FixReaxC *) modify->fix[modify->nfix-1]; @@ -412,17 +403,18 @@ void PairReaxC::setup() PreAllocate_Space(api->system, api->workspace); write_reax_atoms(); + api->system->wsize = comm->nprocs; + int num_nbrs = estimate_reax_lists(); if (num_nbrs < 0) error->all(FLERR,"Too many neighbors for pair style reax/c"); - Make_List(api->system->total_cap, num_nbrs, - TYP_FAR_NEIGHBOR, api->lists+FAR_NBRS); + + Make_List(api->system->total_cap,num_nbrs,TYP_FAR_NEIGHBOR,api->lists+FAR_NBRS); (api->lists+FAR_NBRS)->error_ptr=error; write_reax_lists(); - api->system->wsize = comm->nprocs; - Initialize(api->system, api->control, api->data, - api->workspace, &api->lists, world); + + Initialize(api->system,api->control,api->data,api->workspace,&api->lists,world); for (int k = 0; k < api->system->N; ++k) { num_bonds[k] = api->system->my_atoms[k].num_bonds; num_hbonds[k] = api->system->my_atoms[k].num_hbonds; @@ -443,9 +435,6 @@ void PairReaxC::setup() ReAllocate(api->system, api->control, api->data, api->workspace, &api->lists); } - - bigint local_ngroup = list->inum; - MPI_Allreduce(&local_ngroup, &ngroup, 1, MPI_LMP_BIGINT, MPI_SUM, world); } /* ---------------------------------------------------------------------- */ diff --git a/src/USER-REAXC/pair_reaxc.h b/src/USER-REAXC/pair_reaxc.h index 9372f23ff4..ea5fe54481 100644 --- a/src/USER-REAXC/pair_reaxc.h +++ b/src/USER-REAXC/pair_reaxc.h @@ -54,8 +54,6 @@ class PairReaxC : public Pair { double **tmpbo,**tmpr; ReaxFF::API *api; - - bigint ngroup; typedef double rvec[3]; protected: diff --git a/src/USER-REAXC/reaxc_allocate.cpp b/src/USER-REAXC/reaxc_allocate.cpp index b79c5fe57c..fb5df616b3 100644 --- a/src/USER-REAXC/reaxc_allocate.cpp +++ b/src/USER-REAXC/reaxc_allocate.cpp @@ -288,6 +288,20 @@ namespace ReaxFF { Reallocate_Bonds_List(control, system, (*lists)+BONDS, &num_bonds, &est_3body); wsr->bonds = 0; wsr->num_3body = MAX(wsr->num_3body, est_3body) * 2; + + + if (system->omp_active) { + int nthreads = control->nthreads; + reax_list *bonds = (*lists)+BONDS; + + for (int i = 0; i < bonds->num_intrs; ++i) { + sfree(error, bonds->select.bond_list[i].bo_data.CdboReduction, + "CdboReduction"); + + bonds->select.bond_list[i].bo_data.CdboReduction = + (double*) smalloc(error, sizeof(double)*nthreads, "CdboReduction"); + } + } } /* 3-body list */ diff --git a/src/USER-REAXC/reaxc_init_md.cpp b/src/USER-REAXC/reaxc_init_md.cpp index d2b014947e..7e165d51e1 100644 --- a/src/USER-REAXC/reaxc_init_md.cpp +++ b/src/USER-REAXC/reaxc_init_md.cpp @@ -2,15 +2,16 @@ PuReMD - Purdue ReaxFF Molecular Dynamics Program Copyright (2010) Purdue University - Hasan Metin Aktulga, hmaktulga@lbl.gov - Joseph Fogarty, jcfogart@mail.usf.edu - Sagar Pandit, pandit@usf.edu - Ananth Y Grama, ayg@cs.purdue.edu + + Contributing authors: + H. M. Aktulga, J. Fogarty, S. Pandit, A. Grama + Corresponding author: + Hasan Metin Aktulga, Michigan State University, hma@cse.msu.edu Please cite the related publication: H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama, "Parallel Reactive Molecular Dynamics: Numerical Methods and - Algorithmic Techniques", Parallel Computing, in press. + Algorithmic Techniques", Parallel Computing, 38 (4-5), 245-259 This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as @@ -165,11 +166,11 @@ namespace ReaxFF { simulation_data *data, storage *workspace, reax_list **lists, MPI_Comm world) { - Init_System(system, control); + Init_System(system,control); Init_Simulation_Data(data); - Init_Workspace(system, control, workspace); - Init_Lists(system, control, lists); + Init_Workspace(system,control,workspace); + Init_Lists(system,control,lists); if (control->tabulate) - Init_Lookup_Tables(system, control, workspace, world); + Init_Lookup_Tables(system,control,workspace,world); } } From d2008aa3623653c1897f63968393efc4730ed753 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 21 Apr 2021 01:19:45 -0400 Subject: [PATCH 080/726] add test for reaxff using coulomb tabulation --- src/USER-REAXC/reaxc_init_md.cpp | 4 +- .../tests/atomic-pair-reax_c_tabulate.yaml | 174 ++++++++++++++++++ unittest/force-styles/tests/reaxff.control | 7 + 3 files changed, 183 insertions(+), 2 deletions(-) create mode 100644 unittest/force-styles/tests/atomic-pair-reax_c_tabulate.yaml create mode 100644 unittest/force-styles/tests/reaxff.control diff --git a/src/USER-REAXC/reaxc_init_md.cpp b/src/USER-REAXC/reaxc_init_md.cpp index 7e165d51e1..3c98e1f15d 100644 --- a/src/USER-REAXC/reaxc_init_md.cpp +++ b/src/USER-REAXC/reaxc_init_md.cpp @@ -27,13 +27,13 @@ #include "reaxff_api.h" +#include "error.h" + #include #include #include #include -#include "error.h" - namespace ReaxFF { void Init_System(reax_system *system, control_params *control) diff --git a/unittest/force-styles/tests/atomic-pair-reax_c_tabulate.yaml b/unittest/force-styles/tests/atomic-pair-reax_c_tabulate.yaml new file mode 100644 index 0000000000..ed599c837f --- /dev/null +++ b/unittest/force-styles/tests/atomic-pair-reax_c_tabulate.yaml @@ -0,0 +1,174 @@ +--- +lammps_version: 8 Apr 2021 +date_generated: Wed Apr 21 00:57:10 2021 +epsilon: 1e-12 +skip_tests: +prerequisites: ! | + pair reax/c + fix qeq/reax +pre_commands: ! | + echo screen + shell cp ${input_dir}/reaxff.control reaxff-1.control + variable newton_pair delete + variable newton_pair index on + atom_modify map array + units real + atom_style charge + lattice diamond 3.77 + region box block 0 2 0 2 0 2 + create_box 2 box + create_atoms 1 box + displace_atoms all random 0.1 0.1 0.1 623426 + mass 1 12.0 + mass 2 13.0 + set type 1 type/fraction 2 0.5 998877 + set type 1 charge 0.01 + set type 2 charge -0.01 + velocity all create 100 4534624 loop geom +post_commands: ! | + fix qeq all qeq/reax 1 0.0 8.0 1.0e-20 reax/c +input_file: in.empty +pair_style: reax/c reaxff-1.control checkqeq yes +pair_coeff: ! | + * * ffield.reax.mattsson C O +extract: ! "" +natoms: 64 +init_vdwl: -4208.203794533516 +init_coul: -268.0258681099902 +init_stress: ! |2- + 2.3677048490913976e+03 3.0802122558796082e+03 1.2727815110251254e+03 -1.5387991688241113e+03 -1.0906364142627658e+03 1.1229877249527667e+03 +init_forces: ! |2 + 1 2.9634051452065776e+01 -5.6267761875029782e+02 -1.6668253255994802e+02 + 2 -1.5938437728856897e+02 -2.2076601831947826e+02 -1.7161994484504669e+02 + 3 -3.1194106231031462e+01 -3.0591930644160692e+02 4.4652570958825507e+01 + 4 4.4646653320082436e+02 1.7080811286685625e+02 1.7439026170462094e+02 + 5 -1.1512606621588829e+02 7.9716954463493224e+01 1.7959700550214329e+01 + 6 -7.1695199301547871e+02 4.0749156820934594e+01 2.1512037025856768e+02 + 7 2.3022543693175331e+02 -9.0170756873740558e+01 8.2190170006875675e+01 + 8 -2.1141251466328132e+01 -1.5635879347045079e+02 1.6101907187955612e+02 + 9 -1.2130842270564283e+02 -2.7960689135651160e+02 -1.9629114850255749e+02 + 10 -3.7631710890094666e+02 3.4103240548851926e+02 -1.8166279141134461e+02 + 11 -1.6154553323850425e+02 1.5743068117721410e+02 3.5832389058234611e+02 + 12 6.1602989065568624e+02 -1.4821564423107765e+02 1.0871005319351426e+02 + 13 -2.1366561068642801e+02 -3.0163595494898948e+02 5.2420406156017953e+02 + 14 2.5933950255876238e+02 -1.7967300062473768e+01 -2.7733367021016375e+02 + 15 1.7570537661853186e+02 1.7550639099555497e+02 -9.5789475936343749e+01 + 16 3.0588529285449920e+02 -4.7675556549224140e+01 -3.4330544488852303e+02 + 17 -1.5018545342618870e+02 1.3259542010622351e+02 2.3200545258700299e+02 + 18 1.6469564396901546e+02 -1.0816413254489154e+02 2.1207485840068557e+02 + 19 2.4759285902963390e+02 -4.8758383780485623e+01 -2.2494100786656901e+02 + 20 1.2418785577586725e+02 2.5137242577508303e+02 -1.5341186115659308e+01 + 21 -1.9556210564941841e+02 2.3152590535658355e+01 -1.2529729601998551e+02 + 22 2.4829386068623685e+02 -2.9828789153728195e+02 -4.0455445433014944e+01 + 23 8.2076007650220902e+01 1.3042103437662357e+02 1.5221389911913158e+02 + 24 -7.6912973583042813e+01 2.3539925428986885e+02 -1.7129603802743895e+02 + 25 -2.9782413878301764e+01 -1.8931910469292632e+02 6.7989202537824610e+01 + 26 -3.9488494691904407e+01 2.1025614475916794e+00 -2.0748963060920084e+02 + 27 -2.7704110443956750e+02 5.3736974078117703e+02 4.2318884882972577e+02 + 28 -2.9303219943094604e+02 -5.1154115419361588e+01 -2.3633993403334915e+02 + 29 1.2970484011863061e+02 -4.2266229541142110e+01 1.6350076614995828e+02 + 30 5.6925606430591166e+01 3.7880191852724600e+01 6.8636397133459397e+01 + 31 -1.9325596697353996e+02 -1.1645368911554472e+02 -2.0671692760919722e+01 + 32 1.2360965200040813e+02 -3.3253411369721618e+01 -1.0516118458985304e+02 + 33 6.5241847803273885e+01 3.7105112939424635e+02 6.0972558235447849e+01 + 34 -2.3124259597682195e+02 -1.1681740329854802e+02 -2.5838262648358682e+02 + 35 -4.1912226107425607e+02 7.9942920270887299e+01 3.1021023518170796e+02 + 36 -1.8561789047315065e+02 -1.1563628711189787e+02 -4.2360172436435668e+01 + 37 8.8271496728328600e+00 -3.5266450940709689e+02 -6.0505384072732632e+01 + 38 -1.9249505149101950e+01 1.1716319600338795e+02 -2.3477222840168844e+02 + 39 -1.0433878247327728e+01 -7.0902801856110116e+01 1.4264113912369351e+02 + 40 3.3265570779158168e+02 -8.8675933035692435e+02 1.6250845779881573e+01 + 41 -6.4537349815946172e+01 1.5189506353180369e+02 -1.8225353662793415e+02 + 42 2.3368723487157848e+01 1.1821526860005753e+02 4.1207323013202608e+02 + 43 -3.5145546474526668e+01 -3.6511647370512939e+00 2.4936793079205805e+02 + 44 -1.2881828259541797e+00 -2.4877240180804270e+02 7.9235766494551896e+01 + 45 2.0871504532586613e+02 -1.0817588901351927e+02 -4.1291808327433904e+02 + 46 -1.3837716960728835e+02 4.6114279241763722e+02 -2.4013801845141236e+02 + 47 1.3255320792802306e+02 2.8747276038940731e+02 -3.2896384987636942e+01 + 48 7.8145138718949806e+02 6.5215432481146109e+01 -6.2304789958703225e+02 + 49 2.4486314507346734e+02 1.9101300126656582e+01 3.7417037047544437e+02 + 50 2.9821275118602205e+02 3.0684252095007048e+02 5.6994896759618052e+02 + 51 -8.0052405736429807e+02 5.1024940640341299e+02 7.5829315450277397e+02 + 52 -9.2130898885938862e+01 1.1909837120724032e+02 -2.4118832391138585e+02 + 53 -3.6386926333478533e+02 -2.0729203700042135e+02 -3.4910517647665347e+02 + 54 -8.3399710534951524e+01 1.8942260327525179e+02 -1.2868598438438329e+02 + 55 -2.5305956575884065e+02 -1.1005916187118694e+02 -3.0893514828399697e+02 + 56 1.7364614503217334e+02 -2.5754370913441153e+02 -4.3744509948721834e+01 + 57 4.2667925201499622e+02 1.5529221173799826e+02 -3.9988499000699767e+02 + 58 -3.9656744140970858e+01 7.8953243693724005e+01 2.6135299122198956e+02 + 59 -2.7594240444747430e+02 1.9891763338583493e+02 2.4122500794450380e+02 + 60 -2.5675904361260217e+02 -1.1527171320985197e+02 9.9923550442518007e+01 + 61 3.0884427580008497e+02 4.9986415802549533e+02 -1.3369122169831985e+02 + 62 2.8530106503455144e+01 5.9540697570421841e-01 -2.7403025931182458e+02 + 63 2.5297054006405503e+02 -2.7640485799384788e+02 -1.9200503841910373e+02 + 64 -8.4680445259253446e+01 -1.5737027404336791e+02 1.5637808719883620e+02 +run_vdwl: -4208.209603101806 +run_coul: -268.02583477440504 +run_stress: ! |2- + 2.3675903993340926e+03 3.0802227297803529e+03 1.2727311522662451e+03 -1.5388669378284644e+03 -1.0907269208283653e+03 1.1229243202763250e+03 +run_forces: ! |2 + 1 2.9635294281596629e+01 -5.6267712552695355e+02 -1.6667999923844260e+02 + 2 -1.5938673400153084e+02 -2.2076536449681615e+02 -1.7162354129443358e+02 + 3 -3.1189858281107686e+01 -3.0593580065881065e+02 4.4645958607276903e+01 + 4 4.4646581891372387e+02 1.7080959763779416e+02 1.7439093938226924e+02 + 5 -1.1512839796353090e+02 7.9717058687928301e+01 1.7957487669503269e+01 + 6 -7.1695602565953754e+02 4.0752829698565129e+01 2.1512533839229457e+02 + 7 2.3022644486519411e+02 -9.0168915600548360e+01 8.2194655874266601e+01 + 8 -2.1149264848797216e+01 -1.5637111051642705e+02 1.6102981315496413e+02 + 9 -1.2130987756626666e+02 -2.7961363383950726e+02 -1.9628960069614115e+02 + 10 -3.7631817089744851e+02 3.4103259385937554e+02 -1.8166532788358310e+02 + 11 -1.6154687915128738e+02 1.5742797820592227e+02 3.5832199951133208e+02 + 12 6.1603841944462704e+02 -1.4820397700323306e+02 1.0871524086058155e+02 + 13 -2.1367529106933924e+02 -3.0167446795626824e+02 5.2424091634186300e+02 + 14 2.5933827511241435e+02 -1.7968203382134384e+01 -2.7733114072539058e+02 + 15 1.7570793004243023e+02 1.7551005525188847e+02 -9.5784231788978602e+01 + 16 3.0586985592967716e+02 -4.7679566105942172e+01 -3.4332192731503403e+02 + 17 -1.5018636472333401e+02 1.3259146324637055e+02 2.3200578297676140e+02 + 18 1.6469881174805093e+02 -1.0816836176977682e+02 2.1207670716679300e+02 + 19 2.4759420520504440e+02 -4.8758383157728915e+01 -2.2494116682878234e+02 + 20 1.2419960666451705e+02 2.5137933265662170e+02 -1.5328241144751686e+01 + 21 -1.9556094492800662e+02 2.3151723982044651e+01 -1.2529581330697289e+02 + 22 2.4829941584477842e+02 -2.9829345245035574e+02 -4.0446702084691779e+01 + 23 8.2074458696899129e+01 1.3042100306282259e+02 1.5221371881646226e+02 + 24 -7.6917668833498695e+01 2.3540360228737018e+02 -1.7130192995353460e+02 + 25 -2.9742104523791699e+01 -1.8935699467869648e+02 6.7995874219740458e+01 + 26 -3.9494943772601978e+01 2.1074054704282794e+00 -2.0748981609858308e+02 + 27 -2.7704003655184448e+02 5.3736954143364790e+02 4.2318574013793062e+02 + 28 -2.9302855291124280e+02 -5.1149666118966557e+01 -2.3633679976948292e+02 + 29 1.2970505460339569e+02 -4.2266433901944204e+01 1.6349685185794760e+02 + 30 5.6925896868063084e+01 3.7880918758222101e+01 6.8637128510015330e+01 + 31 -1.9325534294265930e+02 -1.1645328076629426e+02 -2.0671892621504877e+01 + 32 1.2360198063080443e+02 -3.3253019999909611e+01 -1.0516936549559779e+02 + 33 6.5239383936206508e+01 3.7104662858438877e+02 6.0974455303728860e+01 + 34 -2.3124084085036844e+02 -1.1681523003030674e+02 -2.5837805461650709e+02 + 35 -4.1912113383000468e+02 7.9943750613167680e+01 3.1020725803703027e+02 + 36 -1.8561422052424510e+02 -1.1563434085918074e+02 -4.2360108129535796e+01 + 37 8.8275421441412476e+00 -3.5266971563405309e+02 -6.0507541453139780e+01 + 38 -1.9245036832024766e+01 1.1717726898935943e+02 -2.3478417248417912e+02 + 39 -1.0434224692463781e+01 -7.0902644440215226e+01 1.4263978421853071e+02 + 40 3.3271177801097338e+02 -8.8679293552761737e+02 1.6219742097553457e+01 + 41 -6.4538764986414577e+01 1.5189397693607691e+02 -1.8225441696792819e+02 + 42 2.3368235855730731e+01 1.1822246665291377e+02 4.1207745038648687e+02 + 43 -3.5145643416897457e+01 -3.6517162542343855e+00 2.4936784352977961e+02 + 44 -1.2879745400833591e+00 -2.4877345145141396e+02 7.9236449970507763e+01 + 45 2.0871643412337198e+02 -1.0817571271699651e+02 -4.1291831345624706e+02 + 46 -1.3836372705478144e+02 4.6117938292253501e+02 -2.4016736526221220e+02 + 47 1.3255125611057710e+02 2.8747591615866617e+02 -3.2895660248667433e+01 + 48 7.8145417759951215e+02 6.5214930060411348e+01 -6.2304930828893896e+02 + 49 2.4488281403353915e+02 1.9105496615716447e+01 3.7418605144303535e+02 + 50 2.9822129513621309e+02 3.0683153982656597e+02 5.6994490418774978e+02 + 51 -8.0058572063783151e+02 5.1028617285838249e+02 7.5832431569026710e+02 + 52 -9.2137024513817948e+01 1.1910687193197515e+02 -2.4119120858090670e+02 + 53 -3.6387082584323133e+02 -2.0729771077062716e+02 -3.4910499737662099e+02 + 54 -8.3401322475873869e+01 1.8942466656601317e+02 -1.2869045777948361e+02 + 55 -2.5309678413623200e+02 -1.1001947899857403e+02 -3.0896372370121441e+02 + 56 1.7364604574034126e+02 -2.5754429115053944e+02 -4.3743962050163233e+01 + 57 4.2666362581864416e+02 1.5528157995542574e+02 -3.9988032807909389e+02 + 58 -3.9656744873549869e+01 7.8953170999147900e+01 2.6135222052406010e+02 + 59 -2.7594581611209134e+02 1.9891770704099989e+02 2.4122933700016557e+02 + 60 -2.5675992319680108e+02 -1.1527235824442386e+02 9.9923831048631499e+01 + 61 3.0884428120705229e+02 4.9986711220597209e+02 -1.3369013376796403e+02 + 62 2.8530678742626058e+01 5.9283151669356982e-01 -2.7403002505094940e+02 + 63 2.5296775626792657e+02 -2.7640525289662452e+02 -1.9200401038409547e+02 + 64 -8.4674586435535105e+01 -1.5736397776829435e+02 1.5637348700622513e+02 +... diff --git a/unittest/force-styles/tests/reaxff.control b/unittest/force-styles/tests/reaxff.control new file mode 100644 index 0000000000..ecf22940b7 --- /dev/null +++ b/unittest/force-styles/tests/reaxff.control @@ -0,0 +1,7 @@ +tabulate_long_range 10000 ! denotes the granularity of long range tabulation, 0 means no tabulation + +nbrhood_cutoff 4.5 ! near neighbors cutoff for bond calculations in A +hbond_cutoff 6.0 ! cutoff distance for hydrogen bond interactions +bond_graph_cutoff 0.3 ! bond strength cutoff for bond graphs +thb_cutoff 0.001 ! cutoff value for three body interactions + From 82ecfabe2267c8d5f4b60a95e4cfecf8a781d89f Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 21 Apr 2021 01:29:48 -0400 Subject: [PATCH 081/726] remove more unused code and structs --- src/USER-REAXC/pair_reaxc.cpp | 2 -- src/USER-REAXC/reaxc_list.cpp | 29 ----------------------------- src/USER-REAXC/reaxff_defs.h | 5 ++--- src/USER-REAXC/reaxff_types.h | 13 ------------- 4 files changed, 2 insertions(+), 47 deletions(-) diff --git a/src/USER-REAXC/pair_reaxc.cpp b/src/USER-REAXC/pair_reaxc.cpp index 3c7980382e..ea4e2509ce 100644 --- a/src/USER-REAXC/pair_reaxc.cpp +++ b/src/USER-REAXC/pair_reaxc.cpp @@ -758,8 +758,6 @@ double PairReaxC::memory_usage() bytes += (double)2.0 * api->lists->n * sizeof(int); bytes += (double)api->lists->num_intrs * sizeof(three_body_interaction_data); bytes += (double)api->lists->num_intrs * sizeof(bond_data); - bytes += (double)api->lists->num_intrs * sizeof(dbond_data); - bytes += (double)api->lists->num_intrs * sizeof(dDelta_data); bytes += (double)api->lists->num_intrs * sizeof(far_neighbor_data); bytes += (double)api->lists->num_intrs * sizeof(hbond_data); diff --git a/src/USER-REAXC/reaxc_list.cpp b/src/USER-REAXC/reaxc_list.cpp index 1063328f8e..a31d300103 100644 --- a/src/USER-REAXC/reaxc_list.cpp +++ b/src/USER-REAXC/reaxc_list.cpp @@ -46,11 +46,6 @@ namespace ReaxFF { l->type = type; switch(l->type) { - case TYP_VOID: - if (l->select.v) sfree(l->error_ptr, l->select.v, "list:v"); - l->select.v = (void*) smalloc(l->error_ptr, (rc_bigint) num_intrs * sizeof(void*), "list:v"); - break; - case TYP_THREE_BODY: if (l->select.three_body_list) sfree(l->error_ptr, l->select.three_body_list,"list:three_bodies"); l->select.three_body_list = (three_body_interaction_data*) @@ -64,18 +59,6 @@ namespace ReaxFF { smalloc(l->error_ptr, (rc_bigint) num_intrs * sizeof(bond_data), "list:bonds"); break; - case TYP_DBO: - if (l->select.dbo_list) sfree(l->error_ptr, l->select.dbo_list,"list:dbonds"); - l->select.dbo_list = (dbond_data*) - smalloc(l->error_ptr, (rc_bigint) num_intrs * sizeof(dbond_data), "list:dbonds"); - break; - - case TYP_DDELTA: - if (l->select.dDelta_list) sfree(l->error_ptr, l->select.dDelta_list,"list:dDeltas"); - l->select.dDelta_list = (dDelta_data*) - smalloc(l->error_ptr, (rc_bigint) num_intrs * sizeof(dDelta_data), "list:dDeltas"); - break; - case TYP_FAR_NEIGHBOR: if (l->select.far_nbr_list) sfree(l->error_ptr, l->select.far_nbr_list,"list:far_nbrs"); l->select.far_nbr_list = (far_neighbor_data*) @@ -105,10 +88,6 @@ namespace ReaxFF { l->end_index = nullptr; switch(l->type) { - case TYP_VOID: - sfree(l->error_ptr, l->select.v, "list:v"); - l->select.v = nullptr; - break; case TYP_HBOND: sfree(l->error_ptr, l->select.hbond_list, "list:hbonds"); l->select.hbond_list = nullptr; @@ -121,14 +100,6 @@ namespace ReaxFF { sfree(l->error_ptr, l->select.bond_list, "list:bonds"); l->select.bond_list = nullptr; break; - case TYP_DBO: - sfree(l->error_ptr, l->select.dbo_list, "list:dbos"); - l->select.dbo_list = nullptr; - break; - case TYP_DDELTA: - sfree(l->error_ptr, l->select.dDelta_list, "list:dDeltas"); - l->select.dDelta_list = nullptr; - break; case TYP_THREE_BODY: sfree(l->error_ptr, l->select.three_body_list, "list:three_bodies"); l->select.three_body_list = nullptr; diff --git a/src/USER-REAXC/reaxff_defs.h b/src/USER-REAXC/reaxff_defs.h index 2727fb897e..df31d41d4c 100644 --- a/src/USER-REAXC/reaxff_defs.h +++ b/src/USER-REAXC/reaxff_defs.h @@ -59,9 +59,8 @@ namespace ReaxFF { /******************* ENUMERATORS *************************/ - enum lists { BONDS, THREE_BODIES, HBONDS, FAR_NBRS, LIST_N }; - enum interactions {TYP_VOID, TYP_BOND, TYP_THREE_BODY, - TYP_HBOND, TYP_FAR_NEIGHBOR, TYP_DBO, TYP_DDELTA, TYP_N}; + enum {BONDS, THREE_BODIES, HBONDS, FAR_NBRS, LIST_N}; + enum {TYP_BOND, TYP_THREE_BODY, TYP_HBOND, TYP_FAR_NEIGHBOR, TYP_N}; } #endif diff --git a/src/USER-REAXC/reaxff_types.h b/src/USER-REAXC/reaxff_types.h index 1a68116391..c88e0f5a6a 100644 --- a/src/USER-REAXC/reaxff_types.h +++ b/src/USER-REAXC/reaxff_types.h @@ -293,16 +293,6 @@ namespace ReaxFF far_neighbor_data *ptr; }; - struct dDelta_data { - int wrt; - rvec dVal; - }; - - struct dbond_data { - int wrt; - rvec dBO, dBOpi, dBOpi2; - }; - struct bond_order_data { double BO, BO_s, BO_pi, BO_pi2; double Cdbo, Cdbopi, Cdbopi2; @@ -372,11 +362,8 @@ namespace ReaxFF union list_type { - void *v; three_body_interaction_data *three_body_list; bond_data *bond_list; - dbond_data *dbo_list; - dDelta_data *dDelta_list; far_neighbor_data *far_nbr_list; hbond_data *hbond_list; }; From 9b59e901bc454e6981d44dbd62122d98ad9f28dc Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 21 Apr 2021 09:54:59 -0400 Subject: [PATCH 082/726] update reax/c tests. disable OpenMP tests as that code is broken. --- .../tests/atomic-pair-reax_c.yaml | 290 ++++++++--------- .../tests/atomic-pair-reax_c_lgvdw.yaml | 291 +++++++++--------- .../tests/atomic-pair-reax_c_noqeq.yaml | 4 +- .../tests/atomic-pair-reax_c_tabulate.yaml | 291 +++++++++--------- 4 files changed, 443 insertions(+), 433 deletions(-) diff --git a/unittest/force-styles/tests/atomic-pair-reax_c.yaml b/unittest/force-styles/tests/atomic-pair-reax_c.yaml index 857326b10d..570233f4bd 100644 --- a/unittest/force-styles/tests/atomic-pair-reax_c.yaml +++ b/unittest/force-styles/tests/atomic-pair-reax_c.yaml @@ -1,8 +1,8 @@ --- lammps_version: 8 Apr 2021 -date_generated: Tue Apr 20 16:11:55 2021 -epsilon: 1e-10 -skip_tests: +date_generated: Wed Apr 21 09:14:10 2021 +epsilon: 1e-11 +skip_tests: omp prerequisites: ! | pair reax/c fix qeq/reax @@ -15,159 +15,163 @@ pre_commands: ! | atom_style charge lattice diamond 3.77 region box block 0 2 0 2 0 2 - create_box 2 box + create_box 3 box create_atoms 1 box displace_atoms all random 0.1 0.1 0.1 623426 - mass 1 12.0 - mass 2 13.0 + mass 1 1.0 + mass 2 12.0 + mass 3 16.0 set type 1 type/fraction 2 0.5 998877 - set type 1 charge 0.01 - set type 2 charge -0.01 + set type 2 type/fraction 3 0.5 887766 + set type 1 charge 0.00 + set type 2 charge 0.01 + set type 3 charge -0.01 velocity all create 100 4534624 loop geom post_commands: ! | fix qeq all qeq/reax 1 0.0 8.0 1.0e-20 reax/c + pair_modify nofdotr input_file: in.empty pair_style: reax/c NULL checkqeq yes pair_coeff: ! | - * * ffield.reax.mattsson C O + * * ffield.reax.mattsson H C O extract: ! "" natoms: 64 -init_vdwl: -4208.203794533267 -init_coul: -268.0258681099893 +init_vdwl: -3296.3503506624793 +init_coul: -327.06551252279587 init_stress: ! |2- - 2.3677048490925813e+03 3.0802122558807969e+03 1.2727815110263937e+03 -1.5387991688242109e+03 -1.0906364142628713e+03 1.1229877249527449e+03 + 3.0523786192092821e+03 3.0876898599834703e+03 3.2008340933315003e+03 -9.2310133390813661e+01 -2.9719470139173262e+02 -8.6006991065711546e+01 init_forces: ! |2 - 1 2.9634051452064185e+01 -5.6267761875030578e+02 -1.6668253255995427e+02 - 2 -1.5938437728855834e+02 -2.2076601831947630e+02 -1.7161994484503376e+02 - 3 -3.1194106231028943e+01 -3.0591930644159874e+02 4.4652570958842091e+01 - 4 4.4646653320084567e+02 1.7080811286684130e+02 1.7439026170464035e+02 - 5 -1.1512606621591536e+02 7.9716954463499022e+01 1.7959700550221577e+01 - 6 -7.1695199301548041e+02 4.0749156820926302e+01 2.1512037025856239e+02 - 7 2.3022543693175217e+02 -9.0170756873726333e+01 8.2190170006889645e+01 - 8 -2.1141251466334634e+01 -1.5635879347045886e+02 1.6101907187957218e+02 - 9 -1.2130842270563915e+02 -2.7960689135651120e+02 -1.9629114850256667e+02 - 10 -3.7631710890095133e+02 3.4103240548851863e+02 -1.8166279141134066e+02 - 11 -1.6154553323853384e+02 1.5743068117724297e+02 3.5832389058241489e+02 - 12 6.1602989065569886e+02 -1.4821564423105795e+02 1.0871005319350247e+02 - 13 -2.1366561068643219e+02 -3.0163595494900011e+02 5.2420406156019726e+02 - 14 2.5933950255875533e+02 -1.7967300062459064e+01 -2.7733367021016983e+02 - 15 1.7570537661854226e+02 1.7550639099554951e+02 -9.5789475936342853e+01 - 16 3.0588529285450090e+02 -4.7675556549230315e+01 -3.4330544488854196e+02 - 17 -1.5018545342619470e+02 1.3259542010621982e+02 2.3200545258699555e+02 - 18 1.6469564396901654e+02 -1.0816413254489510e+02 2.1207485840068148e+02 - 19 2.4759285902963026e+02 -4.8758383780523836e+01 -2.2494100786658765e+02 - 20 1.2418785577587857e+02 2.5137242577506828e+02 -1.5341186115637054e+01 - 21 -1.9556210564941867e+02 2.3152590535678623e+01 -1.2529729601999072e+02 - 22 2.4829386068622458e+02 -2.9828789153726473e+02 -4.0455445433038705e+01 - 23 8.2076007650237955e+01 1.3042103437664485e+02 1.5221389911915190e+02 - 24 -7.6912973583045328e+01 2.3539925428983466e+02 -1.7129603802744774e+02 - 25 -2.9782413878295884e+01 -1.8931910469291046e+02 6.7989202537813426e+01 - 26 -3.9488494691930782e+01 2.1025614476190424e+00 -2.0748963060916628e+02 - 27 -2.7704110443958297e+02 5.3736974078118158e+02 4.2318884882973293e+02 - 28 -2.9303219943093302e+02 -5.1154115419355229e+01 -2.3633993403335379e+02 - 29 1.2970484011865997e+02 -4.2266229541184131e+01 1.6350076614993492e+02 - 30 5.6925606430580402e+01 3.7880191852747046e+01 6.8636397133447261e+01 - 31 -1.9325596697353834e+02 -1.1645368911553673e+02 -2.0671692760916812e+01 - 32 1.2360965200043042e+02 -3.3253411369754360e+01 -1.0516118458992996e+02 - 33 6.5241847803263653e+01 3.7105112939425635e+02 6.0972558235451928e+01 - 34 -2.3124259597682851e+02 -1.1681740329855472e+02 -2.5838262648358858e+02 - 35 -4.1912226107430826e+02 7.9942920270906228e+01 3.1021023518174763e+02 - 36 -1.8561789047309296e+02 -1.1563628711183125e+02 -4.2360172436503717e+01 - 37 8.8271496727767698e+00 -3.5266450940716857e+02 -6.0505384072663695e+01 - 38 -1.9249505149115080e+01 1.1716319600342219e+02 -2.3477222840170350e+02 - 39 -1.0433878247334579e+01 -7.0902801856116241e+01 1.4264113912369183e+02 - 40 3.3265570779157940e+02 -8.8675933035692253e+02 1.6250845779884724e+01 - 41 -6.4537349815891190e+01 1.5189506353185567e+02 -1.8225353662797988e+02 - 42 2.3368723487140532e+01 1.1821526860010481e+02 4.1207323013207559e+02 - 43 -3.5145546474533603e+01 -3.6511647370358964e+00 2.4936793079206421e+02 - 44 -1.2881828259467285e+00 -2.4877240180803770e+02 7.9235766494558362e+01 - 45 2.0871504532588767e+02 -1.0817588901356530e+02 -4.1291808327438582e+02 - 46 -1.3837716960728255e+02 4.6114279241763722e+02 -2.4013801845141728e+02 - 47 1.3255320792802377e+02 2.8747276038939981e+02 -3.2896384987644886e+01 - 48 7.8145138718954991e+02 6.5215432481105154e+01 -6.2304789958706840e+02 - 49 2.4486314507345327e+02 1.9101300126651807e+01 3.7417037047544727e+02 - 50 2.9821275118603683e+02 3.0684252095008105e+02 5.6994896759617143e+02 - 51 -8.0052405736417188e+02 5.1024940640330806e+02 7.5829315450290915e+02 - 52 -9.2130898885915201e+01 1.1909837120722082e+02 -2.4118832391136655e+02 - 53 -3.6386926333489237e+02 -2.0729203700030763e+02 -3.4910517647679171e+02 - 54 -8.3399710534966360e+01 1.8942260327526213e+02 -1.2868598438440796e+02 - 55 -2.5305956575883852e+02 -1.1005916187118478e+02 -3.0893514828399947e+02 - 56 1.7364614503216589e+02 -2.5754370913449043e+02 -4.3744509948719575e+01 - 57 4.2667925201499298e+02 1.5529221173799095e+02 -3.9988499000700682e+02 - 58 -3.9656744140978226e+01 7.8953243693724033e+01 2.6135299122199172e+02 - 59 -2.7594240444753677e+02 1.9891763338587063e+02 2.4122500794453137e+02 - 60 -2.5675904361258932e+02 -1.1527171320987564e+02 9.9923550442534349e+01 - 61 3.0884427580009310e+02 4.9986415802549146e+02 -1.3369122169832409e+02 - 62 2.8530106503456519e+01 5.9540697570827006e-01 -2.7403025931181190e+02 - 63 2.5297054006404551e+02 -2.7640485799385101e+02 -1.9200503841907977e+02 - 64 -8.4680445259248458e+01 -1.5737027404337621e+02 1.5637808719882156e+02 -run_vdwl: -4208.209603101557 -run_coul: -268.02583477440254 + 1 -8.8484559491557889e+01 -2.5824737864578637e+01 1.0916228789487674e+02 + 2 -1.1227736122976223e+02 -1.8092349731667611e+02 -2.2420586526896261e+02 + 3 -1.7210817575849026e+02 1.8292439782308702e+02 1.3552618819720569e+01 + 4 3.2997500231085198e+01 -5.1076027616185407e+01 9.0475628837095513e+01 + 5 1.8144778146274791e+02 1.6797701000587452e+01 -8.1725507301127038e+01 + 6 1.3634094180728110e+02 -3.0056789474000180e+02 2.9661495129805971e+01 + 7 -5.3287158661291762e+01 -1.2872927610192625e+02 -1.6347871108897493e+02 + 8 -1.5334883257588757e+02 4.0171483324130726e+01 1.5317461163040997e+02 + 9 1.8364155867634079e+01 8.1986572088186804e+01 2.8272397798081524e+01 + 10 8.4246730110712534e+01 1.4177487113456962e+02 1.2330079878579957e+02 + 11 -4.3218423112520902e+01 6.5551082199289709e+01 1.3464882148706636e+02 + 12 -9.7317470492933836e+01 -2.6234999414154014e+01 7.2277941881646539e+00 + 13 -6.3183329836753863e+01 -4.7368101002971272e+01 -3.7592654029315028e+01 + 14 7.8642975316486172e+01 -6.7997612991897427e+01 -9.9044775614596048e+01 + 15 -6.6373732796038979e+01 2.1787558547532143e+02 8.0103149369093387e+01 + 16 1.9216166082224373e+02 5.3228015320734826e+01 6.6260214054210593e+01 + 17 1.4496007689503062e+02 -3.9700923044583718e+01 -9.7503851828130053e+01 + 18 -4.4989550233790240e+01 -1.9360605894359739e+02 1.1274792197022482e+02 + 19 2.6657528138945770e+02 3.7189510796650950e+02 -3.3847307488287697e+02 + 20 -7.6341040242469418e+01 -8.8478925962203348e+01 1.3557778212060649e+00 + 21 -7.1188591900926752e+01 -5.1591439985136624e+01 -1.2279442803769274e+02 + 22 1.5504836733039957e+02 -1.3094504458746073e+02 8.1474408030760628e+01 + 23 7.8015302036861655e+01 -1.3272310040521637e+01 -2.2771427736544169e+01 + 24 -2.0546718065741098e+02 2.1611071031053456e+02 -1.2423208053538966e+02 + 25 -1.1402686646199034e+02 1.9100238121128132e+02 -8.3504908417580012e+01 + 26 2.8663576552098777e+02 -2.1773884754170604e+02 2.3144300100087472e+02 + 27 -6.3247409025611177e+01 6.9122196748087063e+01 1.8606936744368775e+02 + 28 -3.5426011055935223e+00 3.8764809029451868e+01 3.2874001946768942e+01 + 29 -7.1069178571876577e+01 3.5485903180427719e+01 2.7311648896320207e+01 + 30 -1.7036987830119904e+02 -1.9851827590031277e+02 -1.1511401829123538e+02 + 31 -1.3970409889743334e+02 1.6660943915628047e+02 -1.2913930522474701e+02 + 32 2.7179130444112268e+01 -6.0169059447629913e+01 -1.7669495182022038e+02 + 33 -6.2659679124099597e+01 -6.4422131921795355e+01 6.4150928205326579e+01 + 34 -2.2119065265693539e+01 1.0450386886830508e+02 -7.3998379587547845e+01 + 35 2.6982987783286296e+02 -2.1519317040003412e+02 1.3051628460669610e+02 + 36 1.0368628874516664e+02 1.8817377639779619e+02 -1.9748944223870336e+02 + 37 -1.8009522406836993e+02 1.2993653092243849e+02 -6.3523043394051776e+01 + 38 -2.9571205878459978e+02 1.0441609933482223e+02 1.5582204859042619e+02 + 39 8.7398805727029284e+01 -6.0025559644669258e+01 2.2209742009837157e+01 + 40 2.0540672579010824e+01 -1.0735874009092363e+02 5.8655918369892206e+01 + 41 -5.8895846271372314e+01 1.1852345624639781e+01 -6.6147257724570267e+01 + 42 -9.6895512314642531e+01 3.8928741136688728e+01 -7.5791929957116224e+01 + 43 2.2476051812062417e+02 9.5505204283237461e+01 1.2309042240718740e+02 + 44 8.9817373579488645e+01 -1.0616333580628948e+02 -8.6321519086255435e+01 + 45 1.7202629662584396e+01 1.2890307246697839e+02 5.2916171301068474e+01 + 46 1.3547783972601877e+01 -2.9276223331260056e+01 2.2187412696867373e+01 + 47 3.3389762514712238e+01 -1.9217585014965047e+02 -6.9956213241088250e+01 + 48 7.3631720332112678e+01 -2.0953007324688525e+02 -2.3183566221404714e+01 + 49 -3.7589944473227274e+02 -2.4083165714763936e+01 1.0770339502610540e+02 + 50 3.8603083564823841e+01 -7.3616481568799330e+01 9.0414065019644596e+01 + 51 1.3736420686706188e+02 -1.0204157331506994e+02 1.5813725581150808e+02 + 52 -1.0797257051087823e+02 1.1876975735151167e+02 -1.3295758126486243e+02 + 53 -5.3807540206295343e+01 3.3259462625854701e+02 -3.8426833263045523e-03 + 54 -1.0690184616186750e+01 6.2820270853646399e+01 1.8343158343321130e+02 + 55 1.1231900459987581e+02 -1.7906654831317169e+02 7.6533681064340868e+01 + 56 -4.1027190034916586e+01 -1.4085413191133767e+02 3.7483064289953241e+01 + 57 9.9904315214040494e+01 7.0938939080461637e+01 -6.8654961257661526e+01 + 58 -2.7563642882026745e+01 -6.7445498717142405e+00 -1.8442640542823220e+01 + 59 -6.6628933617875404e+01 1.0613066354110040e+02 8.7736153919831665e+01 + 60 -1.7748415247439002e+01 6.3757605316872542e+01 -1.5086907478326543e+02 + 61 -3.3560907195791366e+01 -1.0076987083174089e+02 -7.4536106106935804e+01 + 62 1.5883428926665005e+01 -5.8433760297908881e+00 2.8392494016034949e+01 + 63 1.3294494001298790e+02 -1.2724568063770238e+02 -6.4886848316806251e+01 + 64 1.0738157273930990e+02 1.2062173788161539e+02 7.4541400611710785e+01 +run_vdwl: -3296.346882377749 +run_coul: -327.0653995073912 run_stress: ! |2- - 2.3675903993352799e+03 3.0802227297815411e+03 1.2727311522674922e+03 -1.5388669378285692e+03 -1.0907269208284702e+03 1.1229243202763012e+03 + 3.0523824138350801e+03 3.0876910136734191e+03 3.2008348843495064e+03 -9.2310681174629309e+01 -2.9719286551009412e+02 -8.6004906282204530e+01 run_forces: ! |2 - 1 2.9635294281594891e+01 -5.6267712552696150e+02 -1.6667999923844903e+02 - 2 -1.5938673400152015e+02 -2.2076536449681436e+02 -1.7162354129442059e+02 - 3 -3.1189858281105185e+01 -3.0593580065880258e+02 4.4645958607293259e+01 - 4 4.4646581891374524e+02 1.7080959763777909e+02 1.7439093938228865e+02 - 5 -1.1512839796355780e+02 7.9717058687934127e+01 1.7957487669510552e+01 - 6 -7.1695602565953936e+02 4.0752829698557036e+01 2.1512533839228914e+02 - 7 2.3022644486519332e+02 -9.0168915600534049e+01 8.2194655874280542e+01 - 8 -2.1149264848803984e+01 -1.5637111051643518e+02 1.6102981315498010e+02 - 9 -1.2130987756626322e+02 -2.7961363383950686e+02 -1.9628960069615047e+02 - 10 -3.7631817089745317e+02 3.4103259385937486e+02 -1.8166532788357921e+02 - 11 -1.6154687915131711e+02 1.5742797820595132e+02 3.5832199951140109e+02 - 12 6.1603841944463943e+02 -1.4820397700321357e+02 1.0871524086056972e+02 - 13 -2.1367529106934364e+02 -3.0167446795627899e+02 5.2424091634188028e+02 - 14 2.5933827511240753e+02 -1.7968203382119590e+01 -2.7733114072539661e+02 - 15 1.7570793004244069e+02 1.7551005525188296e+02 -9.5784231788977749e+01 - 16 3.0586985592967915e+02 -4.7679566105948382e+01 -3.4332192731505285e+02 - 17 -1.5018636472333995e+02 1.3259146324636694e+02 2.3200578297675395e+02 - 18 1.6469881174805161e+02 -1.0816836176978013e+02 2.1207670716678888e+02 - 19 2.4759420520504079e+02 -4.8758383157767163e+01 -2.2494116682880116e+02 - 20 1.2419960666452823e+02 2.5137933265660718e+02 -1.5328241144729745e+01 - 21 -1.9556094492800702e+02 2.3151723982064777e+01 -1.2529581330697818e+02 - 22 2.4829941584476597e+02 -2.9829345245033829e+02 -4.0446702084715653e+01 - 23 8.2074458696916352e+01 1.3042100306284391e+02 1.5221371881648275e+02 - 24 -7.6917668833500898e+01 2.3540360228733630e+02 -1.7130192995354321e+02 - 25 -2.9742104523786168e+01 -1.8935699467868037e+02 6.7995874219729117e+01 - 26 -3.9494943772628240e+01 2.1074054704555034e+00 -2.0748981609854840e+02 - 27 -2.7704003655185977e+02 5.3736954143365233e+02 4.2318574013793761e+02 - 28 -2.9302855291123007e+02 -5.1149666118960234e+01 -2.3633679976948793e+02 - 29 1.2970505460342494e+02 -4.2266433901986183e+01 1.6349685185792413e+02 - 30 5.6925896868052199e+01 3.7880918758244668e+01 6.8637128510003294e+01 - 31 -1.9325534294265759e+02 -1.1645328076628637e+02 -2.0671892621502057e+01 - 32 1.2360198063082690e+02 -3.3253019999942374e+01 -1.0516936549567490e+02 - 33 6.5239383936196262e+01 3.7104662858439900e+02 6.0974455303733073e+01 - 34 -2.3124084085037498e+02 -1.1681523003031349e+02 -2.5837805461650902e+02 - 35 -4.1912113383005675e+02 7.9943750613186452e+01 3.1020725803706983e+02 - 36 -1.8561422052418746e+02 -1.1563434085911459e+02 -4.2360108129603255e+01 - 37 8.8275421440856547e+00 -3.5266971563412392e+02 -6.0507541453071482e+01 - 38 -1.9245036832038224e+01 1.1717726898939364e+02 -2.3478417248419430e+02 - 39 -1.0434224692470824e+01 -7.0902644440221394e+01 1.4263978421852897e+02 - 40 3.3271177801097122e+02 -8.8679293552761555e+02 1.6219742097556569e+01 - 41 -6.4538764986359638e+01 1.5189397693612858e+02 -1.8225441696797373e+02 - 42 2.3368235855713472e+01 1.1822246665296132e+02 4.1207745038653673e+02 - 43 -3.5145643416904370e+01 -3.6517162542190285e+00 2.4936784352978586e+02 - 44 -1.2879745400758535e+00 -2.4877345145140910e+02 7.9236449970514400e+01 - 45 2.0871643412339361e+02 -1.0817571271704279e+02 -4.1291831345629367e+02 - 46 -1.3836372705477595e+02 4.6117938292253513e+02 -2.4016736526221720e+02 - 47 1.3255125611057784e+02 2.8747591615865849e+02 -3.2895660248675412e+01 - 48 7.8145417759956388e+02 6.5214930060371188e+01 -6.2304930828897488e+02 - 49 2.4488281403352434e+02 1.9105496615711587e+01 3.7418605144303842e+02 - 50 2.9822129513622804e+02 3.0683153982657637e+02 5.6994490418774092e+02 - 51 -8.0058572063770589e+02 5.1028617285827835e+02 7.5832431569040102e+02 - 52 -9.2137024513793961e+01 1.1910687193195571e+02 -2.4119120858088723e+02 - 53 -3.6387082584333763e+02 -2.0729771077051413e+02 -3.4910499737675855e+02 - 54 -8.3401322475888492e+01 1.8942466656602346e+02 -1.2869045777950828e+02 - 55 -2.5309678413622956e+02 -1.1001947899857218e+02 -3.0896372370121657e+02 - 56 1.7364604574033362e+02 -2.5754429115061833e+02 -4.3743962050161187e+01 - 57 4.2666362581864087e+02 1.5528157995541829e+02 -3.9988032807910298e+02 - 58 -3.9656744873557194e+01 7.8953170999147844e+01 2.6135222052406243e+02 - 59 -2.7594581611215335e+02 1.9891770704103524e+02 2.4122933700019283e+02 - 60 -2.5675992319678829e+02 -1.1527235824444743e+02 9.9923831048647713e+01 - 61 3.0884428120706025e+02 4.9986711220596823e+02 -1.3369013376796840e+02 - 62 2.8530678742627682e+01 5.9283151669757950e-01 -2.7403002505093650e+02 - 63 2.5296775626791694e+02 -2.7640525289662742e+02 -1.9200401038407171e+02 - 64 -8.4674586435530216e+01 -1.5736397776830248e+02 1.5637348700621067e+02 + 1 -8.8486129396001530e+01 -2.5824483374473200e+01 1.0916517213634106e+02 + 2 -1.1227648453173390e+02 -1.8093214754186130e+02 -2.2420118533940351e+02 + 3 -1.7210894875994978e+02 1.8292263268451674e+02 1.3551979435686128e+01 + 4 3.2999405001009400e+01 -5.1077312719545837e+01 9.0478579144069556e+01 + 5 1.8144963583123214e+02 1.6798391906831810e+01 -8.1723378082075570e+01 + 6 1.3640835897739447e+02 -3.0059507544862095e+02 2.9594750460783345e+01 + 7 -5.3287619129789434e+01 -1.2872953167026759e+02 -1.6348317368624129e+02 + 8 -1.5334990952322434e+02 4.0171746946780843e+01 1.5317542403106131e+02 + 9 1.8362961213927143e+01 8.1984428717784240e+01 2.8273598253027259e+01 + 10 8.4245458094789043e+01 1.4177227430519346e+02 1.2329899933660965e+02 + 11 -4.3217035356344425e+01 6.5547850976510759e+01 1.3463983671946417e+02 + 12 -9.7319343004573113e+01 -2.6236499899232278e+01 7.2232061905742402e+00 + 13 -6.3184735475530402e+01 -4.7368090836538087e+01 -3.7590268076036111e+01 + 14 7.8642680121803949e+01 -6.7994653297646451e+01 -9.9042134233434069e+01 + 15 -6.6371195967082812e+01 2.1787700653339664e+02 8.0102624694807375e+01 + 16 1.9215832443892597e+02 5.3231888618093969e+01 6.6253846562695060e+01 + 17 1.4496126989603110e+02 -3.9700366098757236e+01 -9.7506725874209394e+01 + 18 -4.4989211400008614e+01 -1.9360716191976445e+02 1.1274798810455862e+02 + 19 2.6657546213782740e+02 3.7189369483257695e+02 -3.3847202166068041e+02 + 20 -7.6352829159880940e+01 -8.8469178952301604e+01 1.3384778817072185e+00 + 21 -7.1188597560667418e+01 -5.1592404200740091e+01 -1.2279357314243519e+02 + 22 1.5504965184741241e+02 -1.3094582932680530e+02 8.1473922626938005e+01 + 23 7.8017376001392932e+01 -1.3263023728607561e+01 -2.2771654676273968e+01 + 24 -2.0547634460482246e+02 2.1612342044348730e+02 -1.2423651650061706e+02 + 25 -1.1402944116091903e+02 1.9100648219391277e+02 -8.3505645569845370e+01 + 26 2.8664542299410533e+02 -2.1774609219880716e+02 2.3144720166994406e+02 + 27 -6.3243843868043058e+01 6.9123801262965287e+01 1.8607035157681673e+02 + 28 -3.5444604841998397e+00 3.8760531647714473e+01 3.2869123667281691e+01 + 29 -7.1069494158179211e+01 3.5486459158760582e+01 2.7311657876181052e+01 + 30 -1.7037059987992399e+02 -1.9851840131669357e+02 -1.1511410156295636e+02 + 31 -1.3970663440086005e+02 1.6660841802305004e+02 -1.2914070628112796e+02 + 32 2.7179939937138421e+01 -6.0162678551485520e+01 -1.7668459764117443e+02 + 33 -6.2659124615698168e+01 -6.4421915847941506e+01 6.4151176691093482e+01 + 34 -2.2118740875419455e+01 1.0450303589341144e+02 -7.3997370482692972e+01 + 35 2.6987081482968875e+02 -2.1523754104000355e+02 1.3052736086179604e+02 + 36 1.0368798521815546e+02 1.8816694370725344e+02 -1.9748485159172904e+02 + 37 -1.8012152564003850e+02 1.2997662140302853e+02 -6.3547259053587844e+01 + 38 -2.9571525697590829e+02 1.0441941743734590e+02 1.5582112543442358e+02 + 39 8.7399620724575271e+01 -6.0025787992411296e+01 2.2209357601282150e+01 + 40 2.0541458171950978e+01 -1.0735817059033016e+02 5.8656280350524312e+01 + 41 -5.8893965304899972e+01 1.1850504754314887e+01 -6.6138932259022468e+01 + 42 -9.6894702780992375e+01 3.8926449644174816e+01 -7.5794133002764795e+01 + 43 2.2475651760389383e+02 9.5503072846836503e+01 1.2308683766845400e+02 + 44 8.9821846939843113e+01 -1.0615882525757857e+02 -8.6326896770189890e+01 + 45 1.7193681344342288e+01 1.2889564928820627e+02 5.2922372841252404e+01 + 46 1.3549091739280335e+01 -2.9276447091757490e+01 2.2187152043656496e+01 + 47 3.3389460345593179e+01 -1.9217121673024420e+02 -6.9954603582952544e+01 + 48 7.3644268618852777e+01 -2.0953201921822830e+02 -2.3192562071413263e+01 + 49 -3.7593958318941031e+02 -2.4028439106859878e+01 1.0779151134441000e+02 + 50 3.8603926624328551e+01 -7.3615255297989435e+01 9.0412505212292402e+01 + 51 1.3736689552214156e+02 -1.0204490780187869e+02 1.5814099219652564e+02 + 52 -1.0797151154267746e+02 1.1876989597626186e+02 -1.3296150756377074e+02 + 53 -5.3843453069456601e+01 3.3257024143956789e+02 -2.3416395383762278e-02 + 54 -1.0678049522667429e+01 6.2807424617056625e+01 1.8344969045860523e+02 + 55 1.1232135576105661e+02 -1.7906994470561881e+02 7.6534265234548187e+01 + 56 -4.1035945990527679e+01 -1.4084577238065071e+02 3.7489705598247994e+01 + 57 9.9903872061946174e+01 7.0936213558024505e+01 -6.8656338416452527e+01 + 58 -2.7563844572724122e+01 -6.7426705471926862e+00 -1.8442803060445037e+01 + 59 -6.6637290503389451e+01 1.0613630918459926e+02 8.7741455199772943e+01 + 60 -1.7749706497437369e+01 6.3756413885635943e+01 -1.5086911682892705e+02 + 61 -3.3559889608749941e+01 -1.0076809277084803e+02 -7.4536003122046253e+01 + 62 1.5883833834736409e+01 -5.8439916924703503e+00 2.8393403991146936e+01 + 63 1.3294237052896716e+02 -1.2724619636183070e+02 -6.4882384014219085e+01 + 64 1.0738250214938944e+02 1.2062290362868877e+02 7.4541927445529211e+01 ... diff --git a/unittest/force-styles/tests/atomic-pair-reax_c_lgvdw.yaml b/unittest/force-styles/tests/atomic-pair-reax_c_lgvdw.yaml index b24f60dc62..3e12ad726d 100644 --- a/unittest/force-styles/tests/atomic-pair-reax_c_lgvdw.yaml +++ b/unittest/force-styles/tests/atomic-pair-reax_c_lgvdw.yaml @@ -1,8 +1,8 @@ --- lammps_version: 8 Apr 2021 -date_generated: Mon Apr 19 09:21:17 2021 -epsilon: 2e-10 -skip_tests: +date_generated: Wed Apr 21 08:52:02 2021 +epsilon: 1e-12 +skip_tests: omp prerequisites: ! | pair reax/c fix qeq/reax @@ -15,159 +15,162 @@ pre_commands: ! | atom_style charge lattice diamond 3.77 region box block 0 2 0 2 0 2 - create_box 2 box + create_box 3 box create_atoms 1 box displace_atoms all random 0.1 0.1 0.1 623426 - mass 1 12.0 - mass 2 13.0 + mass 1 1.0 + mass 2 12.0 + mass 3 16.0 set type 1 type/fraction 2 0.5 998877 - set type 1 charge 0.01 - set type 2 charge -0.01 + set type 2 type/fraction 3 0.5 887766 + set type 1 charge 0.00 + set type 2 charge 0.01 + set type 3 charge -0.01 velocity all create 100 4534624 loop geom post_commands: ! | - fix qeq all qeq/reax 1 0.0 8.0 1.0e-20 reax/c maxiter 20 nowarn + fix qeq all qeq/reax 1 0.0 8.0 1.0e-20 reax/c input_file: in.empty pair_style: reax/c NULL checkqeq yes lgvdw yes safezone 1.6 pair_coeff: ! | - * * ffield.reax.lg C O + * * ffield.reax.lg H C O extract: ! "" natoms: 64 -init_vdwl: -3780.0545577888824 -init_coul: -279.9157988760615 +init_vdwl: -2454.3149508399256 +init_coul: -344.1380904917976 init_stress: ! |2- - 3.6448931383720665e+03 3.7339659142876435e+03 3.9381659849081570e+03 -8.8620105504582875e+02 2.5350490498306664e+02 -5.2816569317142807e+02 + 4.8195587070292022e+03 4.4865954368949351e+03 3.2679588293062784e+03 -1.8469678134590688e+03 7.6556385424846496e+02 -4.9517278307742413e+02 init_forces: ! |2 - 1 -1.4572091886023205e+02 -2.2140554853210335e+02 -1.4808089621820409e+02 - 2 -1.7648676367493852e+02 -1.0146318760917033e+02 -1.7992199180511228e+01 - 3 -2.0615863857279255e+01 -4.0344141093113177e+02 -3.8603948937580682e+01 - 4 2.6614837240037974e+02 4.0003929778899199e+01 1.4690018353209234e+02 - 5 9.7844364238111634e+00 4.3884264292874640e+01 4.9796276452188778e+01 - 6 -2.6938167754794108e+02 3.3502567046531411e+00 2.2965489848185831e+02 - 7 3.2574749906033628e+02 -1.7976901688562575e+02 2.2179384812686754e+02 - 8 9.9963664597069211e+01 -2.8685055064461562e+02 1.4158554323500957e+02 - 9 1.6434737377652411e+01 -1.9355784885649135e+02 -9.4333988453824674e+01 - 10 -2.0854160335689650e+02 1.0026489817881713e+02 -1.5021072248976765e+02 - 11 -2.0573434026899415e+02 2.7604212909913434e+02 5.5777133973549599e+02 - 12 5.0288346447168902e+02 -6.0966999599334633e+02 3.9376794144396729e+02 - 13 -9.1250837980014055e+01 3.5479126438212312e+01 7.9772485712987830e+01 - 14 1.1722657768580721e+02 7.0781215767454047e+00 -1.1012920740892103e+02 - 15 2.0459752525877119e+02 1.1351310328466946e+01 -6.9642718405081723e+01 - 16 6.4806165788586554e+01 2.7717257212730721e+02 9.6969385115315887e+01 - 17 -1.1757474559792530e+02 7.5596314208592773e+01 8.2371686135118694e+00 - 18 1.4980035999104621e+02 4.6438099206051213e+01 1.9074297138984858e+02 - 19 9.9234004591160854e+01 -3.4162209353811022e+01 -9.3484579137358054e+01 - 20 3.4394959503379101e+02 1.8755989482421211e+02 1.8392094734100132e+02 - 21 -1.7639663517067046e+02 5.9886792943355104e+01 2.3192630518286926e+01 - 22 3.5943350303372904e+02 -4.9707299042671059e+02 2.0606498955302629e+02 - 23 1.7582092751419758e+01 2.1298501938255976e+02 1.9485029772476997e+02 - 24 -1.8644089886656593e+02 2.0152439860030270e+02 -1.5033144599992980e+02 - 25 6.6423833906552588e+01 -2.6628287125895685e+02 6.5042482646519929e+01 - 26 -2.9537910718596163e+02 1.8889491141232935e+02 8.6384752113539022e+01 - 27 1.0405788965828641e+02 -2.5925449178566540e+00 -6.3480098517547759e+01 - 28 -1.7939608695369640e+02 -1.9073765779235862e+02 -1.6920914616960835e+02 - 29 2.8517744376210021e+02 -9.8603006038058396e+01 -1.5865567773918144e+02 - 30 3.2949780945743384e-01 9.9395901723688951e+01 3.2867025811830066e+00 - 31 -1.8081982094889877e+00 -5.1095979886608603e+01 6.0017226789971536e+00 - 32 3.1528485795048732e+02 -1.2793879136489154e+02 -2.4176923563635890e+02 - 33 -5.4047496313993761e+00 1.7567978501697323e+02 -1.1807749995154678e+02 - 34 -1.9400365443632006e+02 -1.0951910631961994e+02 -1.5439514659643123e+02 - 35 -1.9195164058841638e+02 -1.2771663795724534e+01 1.3164519528710119e+02 - 36 2.1450335760238607e+02 4.8524149100278362e+02 -2.2937661241075210e+02 - 37 -3.3553202602756068e+02 -4.9645660169968471e+02 2.1989946614447041e+02 - 38 -3.2545637693167187e+01 2.4953724757619213e+01 -1.5692994894863165e+02 - 39 -1.5399133308638410e+01 2.3903543199312750e+01 9.6153912587959454e+01 - 40 -6.4359455436231784e+01 1.7840898418733599e+02 1.6199268811537300e+02 - 41 -2.4659695132042634e+02 2.3085908053073328e+02 -2.9640112753929327e+02 - 42 -2.9451821900140999e+02 4.3373059300879572e+02 4.3706356205288336e+02 - 43 1.3266010178695632e+02 -2.9267135032181088e+01 2.3063316835486089e+02 - 44 1.0054895163178887e+02 -2.0011754287270674e+02 1.1673372624795425e+02 - 45 1.5191525332856557e+02 -3.3909441520578207e+02 -6.8137683597574699e+02 - 46 -3.6974751746664356e+02 6.5878294118257850e+02 -1.2846738301725193e+02 - 47 7.0999626065694201e+01 2.6787348460906964e+02 -2.6037187103136354e+01 - 48 4.8458888753820582e+02 -1.6692979718938696e+02 -3.2654041125642522e+02 - 49 1.0015039714682548e+02 1.7137645197720190e+01 1.2769396347000726e+02 - 50 -2.5642342676546355e+02 4.8550218436953134e+02 1.7834042598268297e+02 - 51 1.5929472695008881e+03 -1.5099908240612401e+03 1.3757388145073317e+03 - 52 -3.9361969825076892e+02 2.9260735969130604e+02 -2.7081798065168311e+02 - 53 -1.2156829912640842e+03 1.0481229021396230e+03 -1.7260431178358995e+03 - 54 5.4550088623147516e+01 1.0309452579709432e+02 -6.1757701222598442e+01 - 55 -2.0238006702340041e+02 1.8109613688188938e+02 -4.9049119362596980e+02 - 56 2.0035548328443991e+02 -1.8905716639832801e+02 -1.3674890405161500e+02 - 57 -1.7850234090472205e+02 -3.3738119605793531e+02 -1.4864438401289951e+02 - 58 -2.5672838772121492e+02 -1.3337878903216912e+02 8.4365052514154812e+01 - 59 -1.7898423879701210e+02 1.8142157612585032e+02 2.7914729458451137e+02 - 60 -7.4397164149646969e+01 -6.8190924044876084e+01 5.7945904025898891e+01 - 61 9.6099033708008989e+01 4.4560187645463765e+02 5.3539291937468079e+01 - 62 3.3097868057397406e+01 1.3291944752881338e+02 -3.6118812725322506e+01 - 63 -2.5661745572767739e+01 -3.1619354530304156e+02 5.0012317415788416e+01 - 64 2.5884883063459124e+01 -6.0852905003457536e+01 7.5067609941699116e+00 -run_vdwl: -3780.0534739099153 -run_coul: -279.9156023968299 + 1 -1.9811664067580182e+02 -1.5618748554879582e+02 -1.0716617094919907e+02 + 2 -4.1075966889759563e+01 -6.7708246449675840e+01 -4.2506724189242647e+01 + 3 3.1596544789529471e+01 8.8571277602644201e+01 1.4850846557451504e+02 + 4 1.7447178183928099e+02 3.2866954415453613e+01 -3.1178861314762706e+01 + 5 1.1873199005659009e+02 5.9095115842131946e+01 2.3739439807686179e+02 + 6 1.3052453610124778e+03 -4.4208109447713031e+02 -1.4245452171137988e+03 + 7 -8.7153363585941023e+01 -1.0895261162467337e+02 -3.5604687372058106e+02 + 8 -9.1047579854191540e+01 4.4450937169776367e+01 1.1879559986803962e+02 + 9 4.7456602925193245e+01 1.7227642506022178e+02 -1.4638226748446916e+01 + 10 6.3508986324759796e+01 4.8590610415561784e+01 1.1075535682642920e+01 + 11 -5.1919052217198669e+01 7.3820742396411859e+01 5.1375340691983297e+01 + 12 -1.0171933720752882e+02 -1.9845958414353028e+01 -1.7437665462751706e+01 + 13 -7.3048376131504796e+01 -4.5586627360377669e+01 2.8533062846208733e+01 + 14 8.6287140258369817e+01 -4.1664353236768321e+01 1.7094340432182378e+01 + 15 -3.5690271737605428e+01 1.2671711108383720e+02 4.5865072089126144e+01 + 16 1.0608232372370766e+02 3.5980003156299802e+01 1.8676593635940499e+01 + 17 2.3577630118103411e+02 -9.8579505236746968e+01 4.1005658232556200e+01 + 18 -2.0815299273687735e+01 -1.1578579968450298e+02 6.5566787154472507e+01 + 19 4.3265264076046996e+01 1.0913234729250232e+02 3.0900987497773690e+02 + 20 -1.0086773950039240e+02 7.4841212143883325e+01 -1.6547856280073117e+02 + 21 -8.5974538718179744e+01 -4.5982868874732929e+00 -7.3066508052444064e+01 + 22 1.3343492132570225e+02 -1.2211943449611955e+02 9.0328124087551757e+01 + 23 5.2985077374887140e+01 2.0040750326966958e+01 -9.0416982004666480e+00 + 24 -1.8957025969382849e+02 8.1671696884795921e+01 -1.2920621849543499e+01 + 25 -1.0067836293726950e+02 1.3220054680372047e+02 -4.8975895235994550e+01 + 26 2.1849478729429609e+02 -1.9386903120078875e+02 1.7116657218419908e+02 + 27 -3.7478069218092728e+01 3.0044804022729718e+01 9.3872627169948615e+01 + 28 9.9359193467603504e+01 -5.5156189036814503e+01 -3.1541196450035848e+01 + 29 -3.9530012231991570e+01 5.6689953230829921e+01 2.5358584427671751e+01 + 30 -9.7652246814367359e+01 -2.2271920242502716e+02 -1.4460601547049507e+02 + 31 -4.6192346966779532e+01 7.2790084189834928e+01 3.1159158603346764e+01 + 32 1.2013060628467292e+01 -3.4474347848945314e+01 -1.0622600014669138e+02 + 33 5.2551051115345523e+01 4.2704675585248630e+01 -3.0154896799401914e+01 + 34 1.6822864099952500e+02 -1.6889974455036809e-02 1.1832622696299902e+02 + 35 5.1185090023661428e+02 -1.3214021604987859e+03 1.1319907541000694e+03 + 36 -1.4331382529302426e+01 9.9702896436312997e+01 -1.3159358421899245e+02 + 37 -8.9317756897655033e+02 1.3544128453102780e+03 -7.5922493710251501e+02 + 38 -3.8384748878233427e+02 1.2143676601363953e+02 1.7580047976723324e+02 + 39 1.6381134310552264e+02 -1.2998574463953725e+01 -7.8542909545441546e+01 + 40 6.1412235617277197e+01 -2.0153615037331058e+01 4.3186957794586576e+01 + 41 1.3114484088383918e+01 1.7854214885793702e+00 3.3683765652624928e+01 + 42 -6.4838533708029459e+01 5.2662237041257001e+01 -6.8645855319469462e+01 + 43 2.0925885626252014e+02 8.2942516657430232e+01 1.1786724503954686e+02 + 44 -3.8463410277622422e+01 -7.5319916775508801e+01 -1.3445887472637639e+02 + 45 -3.4797907366084118e+01 7.6266761873332939e+01 4.3023416525122556e+01 + 46 2.3463432665038621e+01 -1.5313857576705704e+01 -3.8707451594223810e+00 + 47 -3.7271493199629646e+01 -5.4876511333920163e+01 -1.9275411927395847e+01 + 48 2.8275275023555395e+02 -1.7973942289882834e+02 -6.0167953907639014e+02 + 49 -2.0529905689923421e+03 -6.7838314309842531e+01 7.6230272883402529e+02 + 50 1.3292222637274614e+02 -9.8795036249084134e+01 9.9132259532945980e+01 + 51 2.6168921895029303e+02 -1.9761595427509062e+02 2.4062513751852873e+02 + 52 -1.2257063176561176e+02 1.3353869954874421e+02 -1.1598337420807962e+02 + 53 3.8021621191835891e+02 8.1199705966172507e+02 2.7057346247419940e+02 + 54 6.9440336670547097e+01 -1.1592524541887400e+02 2.2072297942372262e+02 + 55 8.7300666059627744e+01 -1.3907353173150560e+02 5.9541107879138558e+01 + 56 3.4771676857170326e+02 -2.4546959502036665e+02 -3.5077189358394349e+02 + 57 6.1706174952483430e+01 7.9893925286373715e+01 3.4373445887630085e+00 + 58 3.7240798760941452e+01 -1.2919400623491822e+02 3.9695110774075808e+01 + 59 -5.2076445103995331e+02 2.1046582886974142e+02 1.7083299176148790e+02 + 60 -7.8657547105875338e+01 -2.3005356890255392e+01 -1.2454833328198771e+02 + 61 -3.9633103573229910e+01 -5.5165443660352402e+01 -4.0780192434587690e+01 + 62 -1.8742346202622763e+01 -1.3844690899539831e+01 2.2586546200036643e+00 + 63 6.5150947885422269e+01 7.1009493033300544e+01 -8.4093092375006023e+01 + 64 4.0079516427458081e+01 9.6476598333945958e+01 9.1213458480138442e+01 +run_vdwl: -2454.3233099608155 +run_coul: -344.1379608070739 run_stress: ! |2- - 3.6449193028377299e+03 3.7339549167173282e+03 3.9381733557741995e+03 -8.8617642091921402e+02 2.5350119722836649e+02 -5.2818522888411621e+02 + 4.8194587329953674e+03 4.4865895224706956e+03 3.2679446938086498e+03 -1.8471163065259325e+03 7.6545324620049087e+02 -4.9527853267788902e+02 run_forces: ! |2 - 1 -1.4571796976977475e+02 -2.2140579635792884e+02 -1.4808149010447769e+02 - 2 -1.7648305954284041e+02 -1.0146476417236073e+02 -1.7988566053603591e+01 - 3 -2.0614225365740097e+01 -4.0344097227230094e+02 -3.8604731470054062e+01 - 4 2.6614888269720814e+02 4.0003233795014168e+01 1.4690057516187863e+02 - 5 9.7845378052670569e+00 4.3882570307523316e+01 4.9797206010047589e+01 - 6 -2.6938082908045919e+02 3.3524802199605972e+00 2.2965815951985147e+02 - 7 3.2575186725741395e+02 -1.7977227930984148e+02 2.2179960228952396e+02 - 8 9.9964020081557138e+01 -2.8685357554222099e+02 1.4158731522817112e+02 - 9 1.6438523377332476e+01 -1.9355303092496897e+02 -9.4334957020327948e+01 - 10 -2.0853806475972263e+02 1.0026021875703947e+02 -1.5021521105990161e+02 - 11 -2.0574136330802202e+02 2.7604370854540770e+02 5.5777225668964445e+02 - 12 5.0285717304860879e+02 -6.0968353881851192e+02 3.9377680529647569e+02 - 13 -9.1246272612282368e+01 3.5490016998948100e+01 7.9756749986805872e+01 - 14 1.1722763390616720e+02 7.0777572837063545e+00 -1.1012806750165767e+02 - 15 2.0459887112033201e+02 1.1352405359138412e+01 -6.9641010980711187e+01 - 16 6.4819489591627985e+01 2.7717767094468888e+02 9.6971198880055780e+01 - 17 -1.1757145471738642e+02 7.5598280349563737e+01 8.2344590524461072e+00 - 18 1.4979763975305985e+02 4.6437996441246753e+01 1.9074030452047762e+02 - 19 9.9232182958160649e+01 -3.4161493200256849e+01 -9.3482747032954819e+01 - 20 3.4394273190544487e+02 1.8755952354050976e+02 1.8391751060923613e+02 - 21 -1.7639675308717227e+02 5.9884172559678539e+01 2.3197838699496501e+01 - 22 3.5944608490729252e+02 -4.9708525361009697e+02 2.0607148872705903e+02 - 23 1.7579274952856146e+01 2.1298728055372681e+02 1.9485167236722779e+02 - 24 -1.8644004784533396e+02 2.0152728030974987e+02 -1.5032647044559059e+02 - 25 6.6427893699487285e+01 -2.6628950089076670e+02 6.5040872719333763e+01 - 26 -2.9538211829350598e+02 1.8889965241529200e+02 8.6392539131687670e+01 - 27 1.0405461403221605e+02 -2.5883825588235845e+00 -6.3473842387095296e+01 - 28 -1.7939104123925333e+02 -1.9072999063995681e+02 -1.6920313224146631e+02 - 29 2.8518126138643589e+02 -9.8610753428175371e+01 -1.5865905973294608e+02 - 30 3.2949044114559667e-01 9.9396106279740152e+01 3.2866487023715845e+00 - 31 -1.8093337117467343e+00 -5.1090328691324387e+01 5.9965849772505502e+00 - 32 3.1528763104400332e+02 -1.2794632256692650e+02 -2.4177666052802613e+02 - 33 -5.4083129170642179e+00 1.7567908715551988e+02 -1.1807415450387619e+02 - 34 -1.9400317396625167e+02 -1.0951816546456534e+02 -1.5439330137890337e+02 - 35 -1.9195026193065127e+02 -1.2774392319491161e+01 1.3164394629475399e+02 - 36 2.1450819729293397e+02 4.8524393495667874e+02 -2.2938261082652426e+02 - 37 -3.3553756825286939e+02 -4.9646067369623501e+02 2.1990265295677537e+02 - 38 -3.2545669240461962e+01 2.4954715957821520e+01 -1.5693302625922774e+02 - 39 -1.5400978707519485e+01 2.3902924956982389e+01 9.6154975229739549e+01 - 40 -6.4361322091921963e+01 1.7841296679824200e+02 1.6199313367381012e+02 - 41 -2.4660579311181596e+02 2.3084998025482201e+02 -2.9640187317945146e+02 - 42 -2.9452037865586266e+02 4.3373691264280740e+02 4.3706800713302425e+02 - 43 1.3265463914285502e+02 -2.9274831727547486e+01 2.3064014394569924e+02 - 44 1.0054966120054988e+02 -2.0011413451728055e+02 1.1673396063607694e+02 - 45 1.5191487332744026e+02 -3.3909989475298806e+02 -6.8138450042787269e+02 - 46 -3.6974586930852371e+02 6.5877947911188835e+02 -1.2846142437073112e+02 - 47 7.0999519258744826e+01 2.6787233536251233e+02 -2.6037425588932479e+01 - 48 4.8457871743082603e+02 -1.6693866918660342e+02 -3.2653088595197522e+02 - 49 1.0016334450403171e+02 1.7144926659081193e+01 1.2769410739667713e+02 - 50 -2.5643044716127639e+02 4.8550578281218662e+02 1.7833569703185714e+02 - 51 1.5929685800547243e+03 -1.5100179816024361e+03 1.3757557055371278e+03 - 52 -3.9363157215408233e+02 2.9261415024331393e+02 -2.7081681598776061e+02 - 53 -1.2156938934830002e+03 1.0481428177286084e+03 -1.7260661177369154e+03 - 54 5.4545512167986800e+01 1.0309421079214434e+02 -6.1761171483942455e+01 - 55 -2.0239006109115883e+02 1.8108786983188449e+02 -4.9048333730029168e+02 - 56 2.0036614371542044e+02 -1.8905881182672297e+02 -1.3675071296668057e+02 - 57 -1.7850229397871476e+02 -3.3738313920990021e+02 -1.4864700460708005e+02 - 58 -2.5670676044045717e+02 -1.3336092216373774e+02 8.4345105241459464e+01 - 59 -1.7898804526082839e+02 1.8142383013226376e+02 2.7914483449637197e+02 - 60 -7.4398952097636979e+01 -6.8191483730035287e+01 5.7946910740208871e+01 - 61 9.6097660916192893e+01 4.4562130692576051e+02 5.3555843428685527e+01 - 62 3.3087683040848127e+01 1.3291451189592027e+02 -3.6140107370205008e+01 - 63 -2.5660819680707732e+01 -3.1619389079817131e+02 5.0012586602224751e+01 - 64 2.5890370845876866e+01 -6.0849124899192077e+01 7.5030175856502677e+00 + 1 -1.9811556407056105e+02 -1.5618143620847076e+02 -1.0716119874908736e+02 + 2 -4.1073968384374822e+01 -6.7710647015369261e+01 -4.2502864658157357e+01 + 3 3.1592798331689554e+01 8.8575236369726497e+01 1.4850890801985440e+02 + 4 1.7447282006187956e+02 3.2862369867970486e+01 -3.1175721266394820e+01 + 5 1.1873112974792335e+02 5.9090963929048286e+01 2.3738916225937453e+02 + 6 1.3053008444613590e+03 -4.4210323642713990e+02 -1.4246081409032693e+03 + 7 -8.7152343512651925e+01 -1.0895314566818783e+02 -3.5604721285130660e+02 + 8 -9.1046846091347717e+01 4.4451665481009478e+01 1.1879618751723048e+02 + 9 4.7463133585713976e+01 1.7228438483982211e+02 -1.4645071927693378e+01 + 10 6.3506921990797963e+01 4.8587688349158157e+01 1.1073324095443047e+01 + 11 -5.1917951887543467e+01 7.3818630188510326e+01 5.1369234828489169e+01 + 12 -1.0172154753205886e+02 -1.9847809999838844e+01 -1.7441731987232995e+01 + 13 -7.3048126072731904e+01 -4.5586545373889699e+01 2.8534758158919548e+01 + 14 8.6288077929554390e+01 -4.1660634795038867e+01 1.7096747148188005e+01 + 15 -3.5688114877422009e+01 1.2671728980619932e+02 4.5864235397118819e+01 + 16 1.0608395201173668e+02 3.5983845233526992e+01 1.8672925070386189e+01 + 17 2.3576828121395241e+02 -9.8577850318505511e+01 4.1004495565128586e+01 + 18 -2.0815095995902741e+01 -1.1578710179047430e+02 6.5566934287391263e+01 + 19 4.3264252619509847e+01 1.0912982970441868e+02 3.0901253523346554e+02 + 20 -1.0088948935029296e+02 7.4849484282711913e+01 -1.6550538409007385e+02 + 21 -8.5974038585183081e+01 -4.5987854992617834e+00 -7.3065890363335626e+01 + 22 1.3343130763213867e+02 -1.2211553430043760e+02 9.0325064574872243e+01 + 23 5.2984912690315269e+01 2.0042805349785095e+01 -9.0417924141684995e+00 + 24 -1.8954830238390488e+02 8.1645824240164018e+01 -1.2893974448861035e+01 + 25 -1.0068116183998592e+02 1.3220505876703567e+02 -4.8977129584747800e+01 + 26 2.1847179335289820e+02 -1.9385136258527231e+02 1.7114800244815061e+02 + 27 -3.7476307441658193e+01 3.0046433191315710e+01 9.3873685757283738e+01 + 28 9.9355970623229197e+01 -5.5158350569168128e+01 -3.1544144508393853e+01 + 29 -3.9530224377035040e+01 5.6690552166969916e+01 2.5358784555346130e+01 + 30 -9.7652510697052605e+01 -2.2271892169387453e+02 -1.4460597467192864e+02 + 31 -4.6194950503295722e+01 7.2792554749932378e+01 3.1151667586195479e+01 + 32 1.2014466624027639e+01 -3.4469133688337756e+01 -1.0621837802800977e+02 + 33 5.2553699854339712e+01 4.2706400148046903e+01 -3.0154323622364608e+01 + 34 1.6822906612351349e+02 -1.7651825961895091e-02 1.1832699040444524e+02 + 35 5.1193507571856594e+02 -1.3215008853106001e+03 1.1320319719742358e+03 + 36 -1.4340338085502863e+01 9.9690347849156822e+01 -1.3158127406978679e+02 + 37 -8.9323390159980181e+02 1.3545163222654817e+03 -7.5929442355796721e+02 + 38 -3.8384755818822509e+02 1.2143789174035305e+02 1.7579570815453911e+02 + 39 1.6381197094628513e+02 -1.2998258674043836e+01 -7.8543109639931160e+01 + 40 6.1411228642100049e+01 -2.0154566391139259e+01 4.3186834298875652e+01 + 41 1.3119781105415569e+01 1.7920555043075754e+00 3.3686007139293849e+01 + 42 -6.4838490750749202e+01 5.2660553302313652e+01 -6.8647362072367542e+01 + 43 2.0926308211689772e+02 8.2945847275902722e+01 1.1786850503407649e+02 + 44 -3.8461829626420936e+01 -7.5317323697263234e+01 -1.3445959877777378e+02 + 45 -3.4805239678702840e+01 7.6262295586966061e+01 4.3024220690600892e+01 + 46 2.3465031078234954e+01 -1.5312554894709733e+01 -3.8725170500358517e+00 + 47 -3.7271036720207945e+01 -5.4879638482209749e+01 -1.9275876359755905e+01 + 48 2.8270391245290489e+02 -1.7971102191169697e+02 -6.0165064633346822e+02 + 49 -2.0529526126133592e+03 -6.7744467074995413e+01 7.6241869031244312e+02 + 50 1.3291615685330385e+02 -9.8801239572742261e+01 9.9131933784099587e+01 + 51 2.6169570171244874e+02 -1.9762541199560968e+02 2.4063463246277209e+02 + 52 -1.2256816067286560e+02 1.3353356136884040e+02 -1.1597765595389474e+02 + 53 3.8012282364003778e+02 8.1194045374755683e+02 2.7050484440708368e+02 + 54 6.9456553969440762e+01 -1.1593864337324271e+02 2.2074869335520950e+02 + 55 8.7303368709848343e+01 -1.3907755259033479e+02 5.9542185087028599e+01 + 56 3.4769731101937157e+02 -2.4546533348164235e+02 -3.5075782168770780e+02 + 57 6.1706155820465277e+01 7.9892471516403987e+01 3.4375912204692596e+00 + 58 3.7237511516193948e+01 -1.2919240641738722e+02 3.9695822512620317e+01 + 59 -5.2071132643271164e+02 2.1045883047165901e+02 1.7082619476821390e+02 + 60 -7.8658294909200478e+01 -2.3007149625533529e+01 -1.2454738729229325e+02 + 61 -3.9624794908666530e+01 -5.5169201638846069e+01 -4.0777145486525050e+01 + 62 -1.8741606623350261e+01 -1.3845552517299271e+01 2.2601936169388708e+00 + 63 6.5142845574860658e+01 7.0992677773634583e+01 -8.4109461087571162e+01 + 64 4.0079794681812899e+01 9.6475030340595495e+01 9.1215541718322243e+01 ... diff --git a/unittest/force-styles/tests/atomic-pair-reax_c_noqeq.yaml b/unittest/force-styles/tests/atomic-pair-reax_c_noqeq.yaml index 54b66c5b71..d0f59749fd 100644 --- a/unittest/force-styles/tests/atomic-pair-reax_c_noqeq.yaml +++ b/unittest/force-styles/tests/atomic-pair-reax_c_noqeq.yaml @@ -1,8 +1,8 @@ --- lammps_version: 8 Apr 2021 -date_generated: Mon Apr 19 09:21:19 2021 +date_generated: Wed Apr 21 08:52:00 2021 epsilon: 5e-13 -skip_tests: +skip_tests: omp prerequisites: ! | pair reax/c pre_commands: ! | diff --git a/unittest/force-styles/tests/atomic-pair-reax_c_tabulate.yaml b/unittest/force-styles/tests/atomic-pair-reax_c_tabulate.yaml index ed599c837f..12136d7a27 100644 --- a/unittest/force-styles/tests/atomic-pair-reax_c_tabulate.yaml +++ b/unittest/force-styles/tests/atomic-pair-reax_c_tabulate.yaml @@ -1,8 +1,8 @@ --- lammps_version: 8 Apr 2021 -date_generated: Wed Apr 21 00:57:10 2021 +date_generated: Wed Apr 21 08:52:02 2021 epsilon: 1e-12 -skip_tests: +skip_tests: omp prerequisites: ! | pair reax/c fix qeq/reax @@ -16,159 +16,162 @@ pre_commands: ! | atom_style charge lattice diamond 3.77 region box block 0 2 0 2 0 2 - create_box 2 box + create_box 3 box create_atoms 1 box displace_atoms all random 0.1 0.1 0.1 623426 - mass 1 12.0 - mass 2 13.0 + mass 1 1.0 + mass 2 12.0 + mass 3 16.0 set type 1 type/fraction 2 0.5 998877 - set type 1 charge 0.01 - set type 2 charge -0.01 + set type 2 type/fraction 3 0.5 887766 + set type 1 charge 0.00 + set type 2 charge 0.01 + set type 3 charge -0.01 velocity all create 100 4534624 loop geom post_commands: ! | fix qeq all qeq/reax 1 0.0 8.0 1.0e-20 reax/c input_file: in.empty pair_style: reax/c reaxff-1.control checkqeq yes pair_coeff: ! | - * * ffield.reax.mattsson C O + * * ffield.reax.mattsson H C O extract: ! "" natoms: 64 -init_vdwl: -4208.203794533516 -init_coul: -268.0258681099902 -init_stress: ! |2- - 2.3677048490913976e+03 3.0802122558796082e+03 1.2727815110251254e+03 -1.5387991688241113e+03 -1.0906364142627658e+03 1.1229877249527667e+03 +init_vdwl: -3248.7357862540734 +init_coul: -327.0655125227952 +init_stress: ! |- + -9.1835020319343903e+02 -1.1070721188680500e+03 -7.1558466813462928e+02 -2.3040889388184371e+02 1.9640581541966435e+02 -6.6002885423290161e+02 init_forces: ! |2 - 1 2.9634051452065776e+01 -5.6267761875029782e+02 -1.6668253255994802e+02 - 2 -1.5938437728856897e+02 -2.2076601831947826e+02 -1.7161994484504669e+02 - 3 -3.1194106231031462e+01 -3.0591930644160692e+02 4.4652570958825507e+01 - 4 4.4646653320082436e+02 1.7080811286685625e+02 1.7439026170462094e+02 - 5 -1.1512606621588829e+02 7.9716954463493224e+01 1.7959700550214329e+01 - 6 -7.1695199301547871e+02 4.0749156820934594e+01 2.1512037025856768e+02 - 7 2.3022543693175331e+02 -9.0170756873740558e+01 8.2190170006875675e+01 - 8 -2.1141251466328132e+01 -1.5635879347045079e+02 1.6101907187955612e+02 - 9 -1.2130842270564283e+02 -2.7960689135651160e+02 -1.9629114850255749e+02 - 10 -3.7631710890094666e+02 3.4103240548851926e+02 -1.8166279141134461e+02 - 11 -1.6154553323850425e+02 1.5743068117721410e+02 3.5832389058234611e+02 - 12 6.1602989065568624e+02 -1.4821564423107765e+02 1.0871005319351426e+02 - 13 -2.1366561068642801e+02 -3.0163595494898948e+02 5.2420406156017953e+02 - 14 2.5933950255876238e+02 -1.7967300062473768e+01 -2.7733367021016375e+02 - 15 1.7570537661853186e+02 1.7550639099555497e+02 -9.5789475936343749e+01 - 16 3.0588529285449920e+02 -4.7675556549224140e+01 -3.4330544488852303e+02 - 17 -1.5018545342618870e+02 1.3259542010622351e+02 2.3200545258700299e+02 - 18 1.6469564396901546e+02 -1.0816413254489154e+02 2.1207485840068557e+02 - 19 2.4759285902963390e+02 -4.8758383780485623e+01 -2.2494100786656901e+02 - 20 1.2418785577586725e+02 2.5137242577508303e+02 -1.5341186115659308e+01 - 21 -1.9556210564941841e+02 2.3152590535658355e+01 -1.2529729601998551e+02 - 22 2.4829386068623685e+02 -2.9828789153728195e+02 -4.0455445433014944e+01 - 23 8.2076007650220902e+01 1.3042103437662357e+02 1.5221389911913158e+02 - 24 -7.6912973583042813e+01 2.3539925428986885e+02 -1.7129603802743895e+02 - 25 -2.9782413878301764e+01 -1.8931910469292632e+02 6.7989202537824610e+01 - 26 -3.9488494691904407e+01 2.1025614475916794e+00 -2.0748963060920084e+02 - 27 -2.7704110443956750e+02 5.3736974078117703e+02 4.2318884882972577e+02 - 28 -2.9303219943094604e+02 -5.1154115419361588e+01 -2.3633993403334915e+02 - 29 1.2970484011863061e+02 -4.2266229541142110e+01 1.6350076614995828e+02 - 30 5.6925606430591166e+01 3.7880191852724600e+01 6.8636397133459397e+01 - 31 -1.9325596697353996e+02 -1.1645368911554472e+02 -2.0671692760919722e+01 - 32 1.2360965200040813e+02 -3.3253411369721618e+01 -1.0516118458985304e+02 - 33 6.5241847803273885e+01 3.7105112939424635e+02 6.0972558235447849e+01 - 34 -2.3124259597682195e+02 -1.1681740329854802e+02 -2.5838262648358682e+02 - 35 -4.1912226107425607e+02 7.9942920270887299e+01 3.1021023518170796e+02 - 36 -1.8561789047315065e+02 -1.1563628711189787e+02 -4.2360172436435668e+01 - 37 8.8271496728328600e+00 -3.5266450940709689e+02 -6.0505384072732632e+01 - 38 -1.9249505149101950e+01 1.1716319600338795e+02 -2.3477222840168844e+02 - 39 -1.0433878247327728e+01 -7.0902801856110116e+01 1.4264113912369351e+02 - 40 3.3265570779158168e+02 -8.8675933035692435e+02 1.6250845779881573e+01 - 41 -6.4537349815946172e+01 1.5189506353180369e+02 -1.8225353662793415e+02 - 42 2.3368723487157848e+01 1.1821526860005753e+02 4.1207323013202608e+02 - 43 -3.5145546474526668e+01 -3.6511647370512939e+00 2.4936793079205805e+02 - 44 -1.2881828259541797e+00 -2.4877240180804270e+02 7.9235766494551896e+01 - 45 2.0871504532586613e+02 -1.0817588901351927e+02 -4.1291808327433904e+02 - 46 -1.3837716960728835e+02 4.6114279241763722e+02 -2.4013801845141236e+02 - 47 1.3255320792802306e+02 2.8747276038940731e+02 -3.2896384987636942e+01 - 48 7.8145138718949806e+02 6.5215432481146109e+01 -6.2304789958703225e+02 - 49 2.4486314507346734e+02 1.9101300126656582e+01 3.7417037047544437e+02 - 50 2.9821275118602205e+02 3.0684252095007048e+02 5.6994896759618052e+02 - 51 -8.0052405736429807e+02 5.1024940640341299e+02 7.5829315450277397e+02 - 52 -9.2130898885938862e+01 1.1909837120724032e+02 -2.4118832391138585e+02 - 53 -3.6386926333478533e+02 -2.0729203700042135e+02 -3.4910517647665347e+02 - 54 -8.3399710534951524e+01 1.8942260327525179e+02 -1.2868598438438329e+02 - 55 -2.5305956575884065e+02 -1.1005916187118694e+02 -3.0893514828399697e+02 - 56 1.7364614503217334e+02 -2.5754370913441153e+02 -4.3744509948721834e+01 - 57 4.2667925201499622e+02 1.5529221173799826e+02 -3.9988499000699767e+02 - 58 -3.9656744140970858e+01 7.8953243693724005e+01 2.6135299122198956e+02 - 59 -2.7594240444747430e+02 1.9891763338583493e+02 2.4122500794450380e+02 - 60 -2.5675904361260217e+02 -1.1527171320985197e+02 9.9923550442518007e+01 - 61 3.0884427580008497e+02 4.9986415802549533e+02 -1.3369122169831985e+02 - 62 2.8530106503455144e+01 5.9540697570421841e-01 -2.7403025931182458e+02 - 63 2.5297054006405503e+02 -2.7640485799384788e+02 -1.9200503841910373e+02 - 64 -8.4680445259253446e+01 -1.5737027404336791e+02 1.5637808719883620e+02 -run_vdwl: -4208.209603101806 -run_coul: -268.02583477440504 -run_stress: ! |2- - 2.3675903993340926e+03 3.0802227297803529e+03 1.2727311522662451e+03 -1.5388669378284644e+03 -1.0907269208283653e+03 1.1229243202763250e+03 + 1 -8.8484243142053771e+01 -2.5824351291806131e+01 1.0916231386685253e+02 + 2 -1.0451347832614758e+02 -1.8136974287862063e+02 -2.1792749625845642e+02 + 3 -1.7141330932870608e+02 1.8106971255162955e+02 1.2675253960497301e+01 + 4 3.2218812838204848e+01 -5.1411756251266169e+01 9.0007306757969332e+01 + 5 1.8144819687099243e+02 1.6798395592380494e+01 -8.1726053808337795e+01 + 6 1.3634126802325468e+02 -3.0056831863560092e+02 2.9662272655036674e+01 + 7 -5.2968391883957075e+01 -1.2850613949952665e+02 -1.6373506942005375e+02 + 8 -1.5240314403220790e+02 4.1133257093807195e+01 1.5386487473711944e+02 + 9 3.2812532468307630e+01 1.0176367686189140e+02 1.4294427965088833e+01 + 10 7.9509811085534508e+01 1.3053732532659748e+02 1.1246398073074913e+02 + 11 -4.3144361329385013e+01 6.5763458097239607e+01 1.3482625633510347e+02 + 12 -9.6706456479566398e+01 -2.5878068074726730e+01 7.8323180467847466e+00 + 13 -6.3851121453490357e+01 -4.6607020158192647e+01 -3.6458352736129619e+01 + 14 7.8283848679559682e+01 -6.3646790831912000e+01 -8.9030561188058030e+01 + 15 -6.4212540181982106e+01 2.1093128152294153e+02 7.9060299592798899e+01 + 16 1.8608410345576598e+02 5.8084942932974315e+01 5.8538920003760346e+01 + 17 1.4285494615811757e+02 -3.9754521764346137e+01 -9.7686742464543357e+01 + 18 -4.1881548239260340e+01 -1.8476992042512617e+02 1.0708048360801492e+02 + 19 2.6677589878662855e+02 3.7179534199157007e+02 -3.3866575926816608e+02 + 20 -7.3520359401756991e+01 -8.3905077072099573e+01 -2.3854316876052961e-01 + 21 -7.2528668519170566e+01 -5.5898051886914395e+01 -1.1976059789267009e+02 + 22 1.5613953224968657e+02 -1.3200393155013322e+02 8.2112641076919701e+01 + 23 8.1833165091702909e+01 -1.7531644917125782e+01 -2.5648343293479577e+01 + 24 -2.1833127742352656e+02 1.9453922798678227e+02 -1.0817823414171312e+02 + 25 -1.1414613109864892e+02 1.9088917707975912e+02 -8.3362585828151552e+01 + 26 2.8281696751420088e+02 -2.1478267582733659e+02 2.2873793580282316e+02 + 27 -5.9769124622217909e+01 6.5221508924768330e+01 1.7553584075622149e+02 + 28 -2.9606162623424783e+00 3.8183918395203605e+01 3.2190129571074365e+01 + 29 -7.1069178571897922e+01 3.5485903180456219e+01 2.7311648896337669e+01 + 30 -1.7036975157904502e+02 -1.9851849204561248e+02 -1.1511387046436195e+02 + 31 -1.3744101014029059e+02 1.6223817575815931e+02 -1.1915340963940670e+02 + 32 2.7247730686207166e+01 -6.0237587331413039e+01 -1.7664910575209962e+02 + 33 -6.1822971861324099e+01 -6.2648749988189138e+01 6.4194672454603221e+01 + 34 -1.7144145154614481e+01 9.9612835226783460e+01 -6.7437146990430080e+01 + 35 2.7024145652918196e+02 -2.1533864682645708e+02 1.3021380112890139e+02 + 36 1.0192185945862100e+02 1.8671686332443795e+02 -1.9864174410201804e+02 + 37 -1.7944122400067195e+02 1.2994089095714943e+02 -6.4321354857450871e+01 + 38 -2.9675055634802862e+02 1.0371104129720518e+02 1.5526989537725160e+02 + 39 8.6949523213895674e+01 -5.9975159120196956e+01 2.1780252234486241e+01 + 40 2.1612729980868430e+01 -1.0242580356371293e+02 5.7270724021457731e+01 + 41 -5.7836015722979205e+01 1.2268076597657853e+01 -6.6177893589402757e+01 + 42 -9.4774792026636987e+01 3.6872244003647978e+01 -7.5003138682741707e+01 + 43 2.2327470123469593e+02 9.5798787537490540e+01 1.2250410628715080e+02 + 44 8.7959342085865870e+01 -9.8740455124804626e+01 -8.4938709742755535e+01 + 45 1.4089093363544144e+01 1.2499300233485909e+02 5.5864237375372056e+01 + 46 1.3547776948110229e+01 -2.9276229642219512e+01 2.2187402435965939e+01 + 47 3.3448457824361199e+01 -1.9209977417392150e+02 -6.9989895706263340e+01 + 48 6.7827627502625162e+01 -2.0361789453088664e+02 -2.8571736118815554e+01 + 49 -3.7476005148434922e+02 -2.4452451195186526e+01 1.0764661193358344e+02 + 50 4.0090993029105412e+01 -7.3201402054245932e+01 8.9025922810974976e+01 + 51 1.3736420686697005e+02 -1.0204157331499377e+02 1.5813725581140889e+02 + 52 -1.1253479916199427e+02 1.2293268076535985e+02 -1.2940078007359961e+02 + 53 -5.3560738472921095e+01 3.3353082884518017e+02 -1.1314448604069298e+00 + 54 -1.0678339177259694e+01 6.2810937621378145e+01 1.8344988318246158e+02 + 55 1.1231900459987534e+02 -1.7906654831317346e+02 7.6533681064342304e+01 + 56 -4.7772143767870944e+01 -1.3536779754026816e+02 3.4054518546944344e+01 + 57 9.6541690594806298e+01 7.5093838528685538e+01 -6.0858704719314126e+01 + 58 -2.0459002696752538e+01 -1.1535051272093606e+01 -1.4282722385693347e+01 + 59 -6.9459404830701018e+01 1.0185761321965332e+02 8.3383492919159224e+01 + 60 -1.6658947285275730e+01 6.4062738321772898e+01 -1.5162708730048112e+02 + 61 -3.5221540644535267e+01 -1.0209415023871217e+02 -7.4154806308030501e+01 + 62 1.5375061601631639e+01 -6.3257038363614946e+00 2.7511178147389188e+01 + 63 1.3464841040549373e+02 -1.2416888785900632e+02 -5.8961420295344652e+01 + 64 1.0701063550375264e+02 1.1895268715876718e+02 7.4448770962530915e+01 +run_vdwl: -3248.732462206598 +run_coul: -327.0653994771387 +run_stress: ! |- + -9.1826184153105692e+02 -1.1070021528099094e+03 -7.1550580149015514e+02 -2.3049698812230801e+02 1.9635464153062043e+02 -6.6005793264639442e+02 run_forces: ! |2 - 1 2.9635294281596629e+01 -5.6267712552695355e+02 -1.6667999923844260e+02 - 2 -1.5938673400153084e+02 -2.2076536449681615e+02 -1.7162354129443358e+02 - 3 -3.1189858281107686e+01 -3.0593580065881065e+02 4.4645958607276903e+01 - 4 4.4646581891372387e+02 1.7080959763779416e+02 1.7439093938226924e+02 - 5 -1.1512839796353090e+02 7.9717058687928301e+01 1.7957487669503269e+01 - 6 -7.1695602565953754e+02 4.0752829698565129e+01 2.1512533839229457e+02 - 7 2.3022644486519411e+02 -9.0168915600548360e+01 8.2194655874266601e+01 - 8 -2.1149264848797216e+01 -1.5637111051642705e+02 1.6102981315496413e+02 - 9 -1.2130987756626666e+02 -2.7961363383950726e+02 -1.9628960069614115e+02 - 10 -3.7631817089744851e+02 3.4103259385937554e+02 -1.8166532788358310e+02 - 11 -1.6154687915128738e+02 1.5742797820592227e+02 3.5832199951133208e+02 - 12 6.1603841944462704e+02 -1.4820397700323306e+02 1.0871524086058155e+02 - 13 -2.1367529106933924e+02 -3.0167446795626824e+02 5.2424091634186300e+02 - 14 2.5933827511241435e+02 -1.7968203382134384e+01 -2.7733114072539058e+02 - 15 1.7570793004243023e+02 1.7551005525188847e+02 -9.5784231788978602e+01 - 16 3.0586985592967716e+02 -4.7679566105942172e+01 -3.4332192731503403e+02 - 17 -1.5018636472333401e+02 1.3259146324637055e+02 2.3200578297676140e+02 - 18 1.6469881174805093e+02 -1.0816836176977682e+02 2.1207670716679300e+02 - 19 2.4759420520504440e+02 -4.8758383157728915e+01 -2.2494116682878234e+02 - 20 1.2419960666451705e+02 2.5137933265662170e+02 -1.5328241144751686e+01 - 21 -1.9556094492800662e+02 2.3151723982044651e+01 -1.2529581330697289e+02 - 22 2.4829941584477842e+02 -2.9829345245035574e+02 -4.0446702084691779e+01 - 23 8.2074458696899129e+01 1.3042100306282259e+02 1.5221371881646226e+02 - 24 -7.6917668833498695e+01 2.3540360228737018e+02 -1.7130192995353460e+02 - 25 -2.9742104523791699e+01 -1.8935699467869648e+02 6.7995874219740458e+01 - 26 -3.9494943772601978e+01 2.1074054704282794e+00 -2.0748981609858308e+02 - 27 -2.7704003655184448e+02 5.3736954143364790e+02 4.2318574013793062e+02 - 28 -2.9302855291124280e+02 -5.1149666118966557e+01 -2.3633679976948292e+02 - 29 1.2970505460339569e+02 -4.2266433901944204e+01 1.6349685185794760e+02 - 30 5.6925896868063084e+01 3.7880918758222101e+01 6.8637128510015330e+01 - 31 -1.9325534294265930e+02 -1.1645328076629426e+02 -2.0671892621504877e+01 - 32 1.2360198063080443e+02 -3.3253019999909611e+01 -1.0516936549559779e+02 - 33 6.5239383936206508e+01 3.7104662858438877e+02 6.0974455303728860e+01 - 34 -2.3124084085036844e+02 -1.1681523003030674e+02 -2.5837805461650709e+02 - 35 -4.1912113383000468e+02 7.9943750613167680e+01 3.1020725803703027e+02 - 36 -1.8561422052424510e+02 -1.1563434085918074e+02 -4.2360108129535796e+01 - 37 8.8275421441412476e+00 -3.5266971563405309e+02 -6.0507541453139780e+01 - 38 -1.9245036832024766e+01 1.1717726898935943e+02 -2.3478417248417912e+02 - 39 -1.0434224692463781e+01 -7.0902644440215226e+01 1.4263978421853071e+02 - 40 3.3271177801097338e+02 -8.8679293552761737e+02 1.6219742097553457e+01 - 41 -6.4538764986414577e+01 1.5189397693607691e+02 -1.8225441696792819e+02 - 42 2.3368235855730731e+01 1.1822246665291377e+02 4.1207745038648687e+02 - 43 -3.5145643416897457e+01 -3.6517162542343855e+00 2.4936784352977961e+02 - 44 -1.2879745400833591e+00 -2.4877345145141396e+02 7.9236449970507763e+01 - 45 2.0871643412337198e+02 -1.0817571271699651e+02 -4.1291831345624706e+02 - 46 -1.3836372705478144e+02 4.6117938292253501e+02 -2.4016736526221220e+02 - 47 1.3255125611057710e+02 2.8747591615866617e+02 -3.2895660248667433e+01 - 48 7.8145417759951215e+02 6.5214930060411348e+01 -6.2304930828893896e+02 - 49 2.4488281403353915e+02 1.9105496615716447e+01 3.7418605144303535e+02 - 50 2.9822129513621309e+02 3.0683153982656597e+02 5.6994490418774978e+02 - 51 -8.0058572063783151e+02 5.1028617285838249e+02 7.5832431569026710e+02 - 52 -9.2137024513817948e+01 1.1910687193197515e+02 -2.4119120858090670e+02 - 53 -3.6387082584323133e+02 -2.0729771077062716e+02 -3.4910499737662099e+02 - 54 -8.3401322475873869e+01 1.8942466656601317e+02 -1.2869045777948361e+02 - 55 -2.5309678413623200e+02 -1.1001947899857403e+02 -3.0896372370121441e+02 - 56 1.7364604574034126e+02 -2.5754429115053944e+02 -4.3743962050163233e+01 - 57 4.2666362581864416e+02 1.5528157995542574e+02 -3.9988032807909389e+02 - 58 -3.9656744873549869e+01 7.8953170999147900e+01 2.6135222052406010e+02 - 59 -2.7594581611209134e+02 1.9891770704099989e+02 2.4122933700016557e+02 - 60 -2.5675992319680108e+02 -1.1527235824442386e+02 9.9923831048631499e+01 - 61 3.0884428120705229e+02 4.9986711220597209e+02 -1.3369013376796403e+02 - 62 2.8530678742626058e+01 5.9283151669356982e-01 -2.7403002505094940e+02 - 63 2.5296775626792657e+02 -2.7640525289662452e+02 -1.9200401038409547e+02 - 64 -8.4674586435535105e+01 -1.5736397776829435e+02 1.5637348700622513e+02 + 1 -8.8485813027206106e+01 -2.5824096764125731e+01 1.0916519811125200e+02 + 2 -1.0451269244764349e+02 -1.8137828885716391e+02 -2.1792302517211854e+02 + 3 -1.7141411648636478e+02 1.8106803267132440e+02 1.2674658958989376e+01 + 4 3.2220655253010904e+01 -5.1413086231065009e+01 9.0010227071396386e+01 + 5 1.8145005123751935e+02 1.6799086578426795e+01 -8.1723924656170567e+01 + 6 1.3640868425589994e+02 -3.0059549892327152e+02 2.9595528779455449e+01 + 7 -5.2968868171259700e+01 -1.2850640761855158e+02 -1.6373951876943795e+02 + 8 -1.5240417232930932e+02 4.1133578832982629e+01 1.5386572595284764e+02 + 9 3.2811395144161118e+01 1.0176141517530588e+02 1.4295529169373282e+01 + 10 7.9508569375402288e+01 1.3053469081285704e+02 1.1246210158699024e+02 + 11 -4.3142968406859097e+01 6.5760241919953828e+01 1.3481728343070949e+02 + 12 -9.6708250458847047e+01 -2.5879521605003774e+01 7.8278088000700450e+00 + 13 -6.3852523341823215e+01 -4.6607003335506526e+01 -3.6455965991574899e+01 + 14 7.8283534745824213e+01 -6.3643851884097081e+01 -8.9027881489336053e+01 + 15 -6.4209962316685647e+01 2.1093255387179667e+02 7.9059692211125324e+01 + 16 1.8608085162130908e+02 5.8088780803195149e+01 5.8532604899053126e+01 + 17 1.4285609630789870e+02 -3.9754014601715802e+01 -9.7689588113924358e+01 + 18 -4.1881237955183380e+01 -1.8477109777149900e+02 1.0708061287038568e+02 + 19 2.6677609377410010e+02 3.7179392086487712e+02 -3.3866472006706340e+02 + 20 -7.3532190353883053e+01 -8.3895301502997995e+01 -2.5591151698950659e-01 + 21 -7.2528695460850031e+01 -5.5899068566579935e+01 -1.1975970158720031e+02 + 22 1.5614083463623408e+02 -1.3200472837628521e+02 8.2112156159808862e+01 + 23 8.1835290134891864e+01 -1.7522433028942366e+01 -2.5648597332802922e+01 + 24 -2.1834038832017538e+02 1.9455197293610073e+02 -1.0818261235148485e+02 + 25 -1.1414871301032665e+02 1.9089327234338916e+02 -8.3363315092572321e+01 + 26 2.8282661127556162e+02 -2.1478990451658228e+02 2.2874215408671131e+02 + 27 -5.9765619577841512e+01 6.5223096224356411e+01 1.7553677772771837e+02 + 28 -2.9624987519851000e+00 3.8179667154298826e+01 3.2185280629057068e+01 + 29 -7.1069494187081830e+01 3.5486459200488397e+01 2.7311657807311487e+01 + 30 -1.7037047317028464e+02 -1.9851861739498079e+02 -1.1511395377375429e+02 + 31 -1.3744346258178371e+02 1.6223725554250467e+02 -1.1915482471876425e+02 + 32 2.7248541074999881e+01 -6.0231207974705434e+01 -1.7663875080811843e+02 + 33 -6.1822398570959187e+01 -6.2648503570177034e+01 6.4194898940197760e+01 + 34 -1.7143769208529751e+01 9.9611942509072080e+01 -6.7436075885014986e+01 + 35 2.7028238194296250e+02 -2.1538301386687789e+02 1.3022488558865325e+02 + 36 1.0192362247594352e+02 1.8671008619975407e+02 -1.9863711527085923e+02 + 37 -1.7946751638141498e+02 1.2998098195714172e+02 -6.4345576150932828e+01 + 38 -2.9675376021752191e+02 1.0371435865032235e+02 1.5526896750689889e+02 + 39 8.6950332148131110e+01 -5.9975388525042028e+01 2.1779869753193040e+01 + 40 2.1613442490343317e+01 -1.0242529062335393e+02 5.7271060256879871e+01 + 41 -5.7834219239599371e+01 1.2266148111030006e+01 -6.6169611760840567e+01 + 42 -9.4774021509187520e+01 3.6869981851995341e+01 -7.5005285702022732e+01 + 43 2.2327078175416057e+02 9.5796580610065675e+01 1.2250057895428364e+02 + 44 8.7963372590925971e+01 -9.8736166841311601e+01 -8.4943701327958067e+01 + 45 1.4080569929277514e+01 1.2498603359504317e+02 5.5870075675508225e+01 + 46 1.3549084713162141e+01 -2.9276453411015115e+01 2.2187141786216614e+01 + 47 3.3448153520154243e+01 -1.9209514330879989e+02 -6.9988284949882583e+01 + 48 6.7840148074199064e+01 -2.0361975956922109e+02 -2.8580806381848241e+01 + 49 -3.7480020999441342e+02 -2.4397739069897693e+01 1.0773474200196225e+02 + 50 4.0091767398974710e+01 -7.3200211843412532e+01 8.9024460533547710e+01 + 51 1.3736689552057061e+02 -1.0204490779999098e+02 1.5814099219631356e+02 + 52 -1.1253380764229995e+02 1.2293290174735385e+02 -1.2940467151627448e+02 + 53 -5.3596650492501155e+01 3.3350644289105048e+02 -1.1510223807932292e+00 + 54 -1.0666202581574648e+01 6.2798090272532036e+01 1.8346799239172421e+02 + 55 1.1232135575968965e+02 -1.7906994470748415e+02 7.6534265236354301e+01 + 56 -4.7780797026174795e+01 -1.3535955159718560e+02 3.4061208199866762e+01 + 57 9.6541265005138669e+01 7.5091144884198542e+01 -6.0860069746425758e+01 + 58 -2.0459328007572658e+01 -1.1533053731831272e+01 -1.4282938438265621e+01 + 59 -6.9467796604507953e+01 1.0186323697055805e+02 8.3388794196804326e+01 + 60 -1.6660217426514649e+01 6.4061566362647156e+01 -1.5162714312949214e+02 + 61 -3.5220536021452773e+01 -1.0209241739133056e+02 -7.4154706185261873e+01 + 62 1.5375483178245863e+01 -6.3263099051314251e+00 2.7512110875657907e+01 + 63 1.3464595988109866e+02 -1.2416936634154251e+02 -5.8957063242418137e+01 + 64 1.0701154605982802e+02 1.1895382951205713e+02 7.4449321163285816e+01 ... From 4eaa45337c24d786bc7cd1546bc59e82d1346a91 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 21 Apr 2021 15:14:12 -0400 Subject: [PATCH 083/726] reorder functions for simpler side-by-side comparison --- src/USER-OMP/reaxc_bond_orders_omp.cpp | 291 ++++++++++++------------- 1 file changed, 140 insertions(+), 151 deletions(-) diff --git a/src/USER-OMP/reaxc_bond_orders_omp.cpp b/src/USER-OMP/reaxc_bond_orders_omp.cpp index 6434c3d03a..4e7e42fac7 100644 --- a/src/USER-OMP/reaxc_bond_orders_omp.cpp +++ b/src/USER-OMP/reaxc_bond_orders_omp.cpp @@ -1,6 +1,5 @@ /*---------------------------------------------------------------------- PuReMD - Purdue ReaxFF Molecular Dynamics Program - Website: https://www.cs.purdue.edu/puremd Copyright (2010) Purdue University @@ -37,156 +36,6 @@ using namespace LAMMPS_NS; namespace ReaxFF { - void Add_dBond_to_ForcesOMP(reax_system *system, int i, int pj, - storage *workspace, reax_list **lists) { - reax_list *bonds = (*lists) + BONDS; - bond_data *nbr_j, *nbr_k; - bond_order_data *bo_ij, *bo_ji; - dbond_coefficients coef; - int pk, k, j; - - PairReaxCOMP *pair_reax_ptr = static_cast(system->pair_ptr); - - int tid = get_tid(); - ThrData *thr = pair_reax_ptr->getFixOMP()->get_thr(tid); - long reductionOffset = (system->N * tid); - - /* Virial Tallying variables */ - rvec fi_tmp, fj_tmp, fk_tmp, delij, delji, delki, delkj, temp; - - /* Initializations */ - nbr_j = &(bonds->select.bond_list[pj]); - j = nbr_j->nbr; - bo_ij = &(nbr_j->bo_data); - bo_ji = &(bonds->select.bond_list[nbr_j->sym_index].bo_data); - - double c = bo_ij->Cdbo + bo_ji->Cdbo; - coef.C1dbo = bo_ij->C1dbo * c; - coef.C2dbo = bo_ij->C2dbo * c; - coef.C3dbo = bo_ij->C3dbo * c; - - c = bo_ij->Cdbopi + bo_ji->Cdbopi; - coef.C1dbopi = bo_ij->C1dbopi * c; - coef.C2dbopi = bo_ij->C2dbopi * c; - coef.C3dbopi = bo_ij->C3dbopi * c; - coef.C4dbopi = bo_ij->C4dbopi * c; - - c = bo_ij->Cdbopi2 + bo_ji->Cdbopi2; - coef.C1dbopi2 = bo_ij->C1dbopi2 * c; - coef.C2dbopi2 = bo_ij->C2dbopi2 * c; - coef.C3dbopi2 = bo_ij->C3dbopi2 * c; - coef.C4dbopi2 = bo_ij->C4dbopi2 * c; - - c = workspace->CdDelta[i] + workspace->CdDelta[j]; - coef.C1dDelta = bo_ij->C1dbo * c; - coef.C2dDelta = bo_ij->C2dbo * c; - coef.C3dDelta = bo_ij->C3dbo * c; - - c = (coef.C1dbo + coef.C1dDelta + coef.C2dbopi + coef.C2dbopi2); - rvec_Scale( temp, c, bo_ij->dBOp); - - c = (coef.C2dbo + coef.C2dDelta + coef.C3dbopi + coef.C3dbopi2); - rvec_ScaledAdd(temp, c, workspace->dDeltap_self[i]); - - rvec_ScaledAdd(temp, coef.C1dbopi, bo_ij->dln_BOp_pi); - rvec_ScaledAdd(temp, coef.C1dbopi2, bo_ij->dln_BOp_pi2); - - rvec_Add(workspace->forceReduction[reductionOffset+i],temp); - - if (system->pair_ptr->vflag_atom) { - rvec_Scale(fi_tmp, -1.0, temp); - rvec_ScaledSum(delij, 1., system->my_atoms[i].x,-1., system->my_atoms[j].x); - - pair_reax_ptr->ev_tally_xyz_thr_proxy(system->pair_ptr,i,j,system->N,0,0,0, - fi_tmp[0],fi_tmp[1],fi_tmp[2], - delij[0],delij[1],delij[2],thr); - } - - c = -(coef.C1dbo + coef.C1dDelta + coef.C2dbopi + coef.C2dbopi2); - rvec_Scale( temp, c, bo_ij->dBOp); - - c = (coef.C3dbo + coef.C3dDelta + coef.C4dbopi + coef.C4dbopi2); - rvec_ScaledAdd(temp, c, workspace->dDeltap_self[j]); - - rvec_ScaledAdd(temp, -coef.C1dbopi, bo_ij->dln_BOp_pi); - rvec_ScaledAdd(temp, -coef.C1dbopi2, bo_ij->dln_BOp_pi2); - - - rvec_Add(workspace->forceReduction[reductionOffset+j],temp); - - if (system->pair_ptr->vflag_atom) { - rvec_Scale(fj_tmp, -1.0, temp); - rvec_ScaledSum(delji, 1., system->my_atoms[j].x,-1., system->my_atoms[i].x); - - pair_reax_ptr->ev_tally_xyz_thr_proxy(system->pair_ptr,j,i,system->N,0,0,0, - fj_tmp[0],fj_tmp[1],fj_tmp[2], - delji[0],delji[1],delji[2],thr); - } - - // forces on k: i neighbor - for (pk = Start_Index(i, bonds); pk < End_Index(i, bonds); ++pk) { - nbr_k = &(bonds->select.bond_list[pk]); - k = nbr_k->nbr; - - // rvec_Scale( temp, -coef.C2dbo, nbr_k->bo_data.dBOp); - // rvec_ScaledAdd(temp, -coef.C2dDelta, nbr_k->bo_data.dBOp); - // rvec_ScaledAdd(temp, -coef.C3dbopi, nbr_k->bo_data.dBOp); - // rvec_ScaledAdd(temp, -coef.C3dbopi2, nbr_k->bo_data.dBOp); - - const double c = -(coef.C2dbo + coef.C2dDelta + coef.C3dbopi + coef.C3dbopi2); - rvec_Scale(temp, c, nbr_k->bo_data.dBOp); - - rvec_Add(workspace->forceReduction[reductionOffset+k],temp); - - if (system->pair_ptr->vflag_atom) { - rvec_Scale(fk_tmp, -1.0, temp); - rvec_ScaledSum(delki,1.,system->my_atoms[k].x,-1.,system->my_atoms[i].x); - - pair_reax_ptr->ev_tally_xyz_thr_proxy(system->pair_ptr,k,i,system->N,0,0,0, - fk_tmp[0],fk_tmp[1],fk_tmp[2], - delki[0],delki[1],delki[2],thr); - rvec_ScaledSum(delkj,1.,system->my_atoms[k].x,-1.,system->my_atoms[j].x); - - pair_reax_ptr->ev_tally_xyz_thr_proxy(system->pair_ptr,k,j,system->N,0,0,0, - fk_tmp[0],fk_tmp[1],fk_tmp[2], - delkj[0],delkj[1],delkj[2],thr); - } - } - - // forces on k: j neighbor - for (pk = Start_Index(j, bonds); pk < End_Index(j, bonds); ++pk) { - nbr_k = &(bonds->select.bond_list[pk]); - k = nbr_k->nbr; - - // rvec_Scale( temp, -coef.C3dbo, nbr_k->bo_data.dBOp); - // rvec_ScaledAdd(temp, -coef.C3dDelta, nbr_k->bo_data.dBOp); - // rvec_ScaledAdd(temp, -coef.C4dbopi, nbr_k->bo_data.dBOp); - // rvec_ScaledAdd(temp, -coef.C4dbopi2, nbr_k->bo_data.dBOp); - - const double c = -(coef.C3dbo + coef.C3dDelta + coef.C4dbopi + coef.C4dbopi2); - rvec_Scale(temp, c, nbr_k->bo_data.dBOp); - - rvec_Add(workspace->forceReduction[reductionOffset+k],temp); - - if (system->pair_ptr->vflag_atom) { - rvec_Scale(fk_tmp, -1.0, temp); - rvec_ScaledSum(delki,1.,system->my_atoms[k].x,-1.,system->my_atoms[i].x); - - pair_reax_ptr->ev_tally_xyz_thr_proxy(system->pair_ptr,k,i,system->N,0,0,0, - fk_tmp[0],fk_tmp[1],fk_tmp[2], - delki[0],delki[1],delki[2],thr); - - rvec_ScaledSum(delkj,1.,system->my_atoms[k].x,-1.,system->my_atoms[j].x); - - pair_reax_ptr->ev_tally_xyz_thr_proxy(system->pair_ptr,k,j,system->N,0,0,0, - fk_tmp[0],fk_tmp[1],fk_tmp[2], - delkj[0],delkj[1],delkj[2],thr); - } - } - } - -/* ---------------------------------------------------------------------- */ - void Add_dBond_to_Forces_NPTOMP(reax_system *system, int i, int pj, storage *workspace, reax_list **lists) { reax_list *bonds = (*lists) + BONDS; @@ -288,6 +137,146 @@ namespace ReaxFF { rvec_Add(workspace->forceReduction[reductionOffset+j],temp); } +/* ---------------------------------------------------------------------- */ + + void Add_dBond_to_ForcesOMP(reax_system *system, int i, int pj, + storage *workspace, reax_list **lists) { + reax_list *bonds = (*lists) + BONDS; + bond_data *nbr_j, *nbr_k; + bond_order_data *bo_ij, *bo_ji; + dbond_coefficients coef; + int pk, k, j; + + PairReaxCOMP *pair_reax_ptr = static_cast(system->pair_ptr); + + int tid = get_tid(); + ThrData *thr = pair_reax_ptr->getFixOMP()->get_thr(tid); + long reductionOffset = (system->N * tid); + + /* Virial Tallying variables */ + rvec fi_tmp, fj_tmp, fk_tmp, delij, delji, delki, delkj, temp; + + /* Initializations */ + nbr_j = &(bonds->select.bond_list[pj]); + j = nbr_j->nbr; + bo_ij = &(nbr_j->bo_data); + bo_ji = &(bonds->select.bond_list[nbr_j->sym_index].bo_data); + + double c = bo_ij->Cdbo + bo_ji->Cdbo; + coef.C1dbo = bo_ij->C1dbo * c; + coef.C2dbo = bo_ij->C2dbo * c; + coef.C3dbo = bo_ij->C3dbo * c; + + c = bo_ij->Cdbopi + bo_ji->Cdbopi; + coef.C1dbopi = bo_ij->C1dbopi * c; + coef.C2dbopi = bo_ij->C2dbopi * c; + coef.C3dbopi = bo_ij->C3dbopi * c; + coef.C4dbopi = bo_ij->C4dbopi * c; + + c = bo_ij->Cdbopi2 + bo_ji->Cdbopi2; + coef.C1dbopi2 = bo_ij->C1dbopi2 * c; + coef.C2dbopi2 = bo_ij->C2dbopi2 * c; + coef.C3dbopi2 = bo_ij->C3dbopi2 * c; + coef.C4dbopi2 = bo_ij->C4dbopi2 * c; + + c = workspace->CdDelta[i] + workspace->CdDelta[j]; + coef.C1dDelta = bo_ij->C1dbo * c; + coef.C2dDelta = bo_ij->C2dbo * c; + coef.C3dDelta = bo_ij->C3dbo * c; + + c = (coef.C1dbo + coef.C1dDelta + coef.C2dbopi + coef.C2dbopi2); + rvec_Scale( temp, c, bo_ij->dBOp); + + c = (coef.C2dbo + coef.C2dDelta + coef.C3dbopi + coef.C3dbopi2); + rvec_ScaledAdd(temp, c, workspace->dDeltap_self[i]); + + rvec_ScaledAdd(temp, coef.C1dbopi, bo_ij->dln_BOp_pi); + rvec_ScaledAdd(temp, coef.C1dbopi2, bo_ij->dln_BOp_pi2); + + rvec_Add(workspace->forceReduction[reductionOffset+i],temp); + + if (system->pair_ptr->vflag_atom) { + rvec_Scale(fi_tmp, -1.0, temp); + rvec_ScaledSum(delij, 1., system->my_atoms[i].x,-1., system->my_atoms[j].x); + + pair_reax_ptr->ev_tally_xyz_thr_proxy(system->pair_ptr,i,j,system->N,0,0,0, + fi_tmp[0],fi_tmp[1],fi_tmp[2], + delij[0],delij[1],delij[2],thr); + } + + c = -(coef.C1dbo + coef.C1dDelta + coef.C2dbopi + coef.C2dbopi2); + rvec_Scale( temp, c, bo_ij->dBOp); + + c = (coef.C3dbo + coef.C3dDelta + coef.C4dbopi + coef.C4dbopi2); + rvec_ScaledAdd(temp, c, workspace->dDeltap_self[j]); + + rvec_ScaledAdd(temp, -coef.C1dbopi, bo_ij->dln_BOp_pi); + rvec_ScaledAdd(temp, -coef.C1dbopi2, bo_ij->dln_BOp_pi2); + + + rvec_Add(workspace->forceReduction[reductionOffset+j],temp); + + if (system->pair_ptr->vflag_atom) { + rvec_Scale(fj_tmp, -1.0, temp); + rvec_ScaledSum(delji, 1., system->my_atoms[j].x,-1., system->my_atoms[i].x); + + pair_reax_ptr->ev_tally_xyz_thr_proxy(system->pair_ptr,j,i,system->N,0,0,0, + fj_tmp[0],fj_tmp[1],fj_tmp[2], + delji[0],delji[1],delji[2],thr); + } + + // forces on k: i neighbor + for (pk = Start_Index(i, bonds); pk < End_Index(i, bonds); ++pk) { + nbr_k = &(bonds->select.bond_list[pk]); + k = nbr_k->nbr; + + const double c = -(coef.C2dbo + coef.C2dDelta + coef.C3dbopi + coef.C3dbopi2); + rvec_Scale(temp, c, nbr_k->bo_data.dBOp); + + rvec_Add(workspace->forceReduction[reductionOffset+k],temp); + + if (system->pair_ptr->vflag_atom) { + rvec_Scale(fk_tmp, -1.0, temp); + rvec_ScaledSum(delki,1.,system->my_atoms[k].x,-1.,system->my_atoms[i].x); + + pair_reax_ptr->ev_tally_xyz_thr_proxy(system->pair_ptr,k,i,system->N,0,0,0, + fk_tmp[0],fk_tmp[1],fk_tmp[2], + delki[0],delki[1],delki[2],thr); + rvec_ScaledSum(delkj,1.,system->my_atoms[k].x,-1.,system->my_atoms[j].x); + + pair_reax_ptr->ev_tally_xyz_thr_proxy(system->pair_ptr,k,j,system->N,0,0,0, + fk_tmp[0],fk_tmp[1],fk_tmp[2], + delkj[0],delkj[1],delkj[2],thr); + } + } + + // forces on k: j neighbor + for (pk = Start_Index(j, bonds); pk < End_Index(j, bonds); ++pk) { + nbr_k = &(bonds->select.bond_list[pk]); + k = nbr_k->nbr; + + const double c = -(coef.C3dbo + coef.C3dDelta + coef.C4dbopi + coef.C4dbopi2); + rvec_Scale(temp, c, nbr_k->bo_data.dBOp); + + rvec_Add(workspace->forceReduction[reductionOffset+k],temp); + + if (system->pair_ptr->vflag_atom) { + rvec_Scale(fk_tmp, -1.0, temp); + rvec_ScaledSum(delki,1.,system->my_atoms[k].x,-1.,system->my_atoms[i].x); + + pair_reax_ptr->ev_tally_xyz_thr_proxy(system->pair_ptr,k,i,system->N,0,0,0, + fk_tmp[0],fk_tmp[1],fk_tmp[2], + delki[0],delki[1],delki[2],thr); + + rvec_ScaledSum(delkj,1.,system->my_atoms[k].x,-1.,system->my_atoms[j].x); + + pair_reax_ptr->ev_tally_xyz_thr_proxy(system->pair_ptr,k,j,system->N,0,0,0, + fk_tmp[0],fk_tmp[1],fk_tmp[2], + delkj[0],delkj[1],delkj[2],thr); + } + } + } + /* ---------------------------------------------------------------------- */ int BOp_OMP(storage * /* workspace */, reax_list *bonds, double bo_cut, From 865759116e1bd9f31a054e895b90f9224f25cad0 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 21 Apr 2021 15:14:18 -0400 Subject: [PATCH 084/726] update some comments --- src/USER-REAXC/reaxc_bond_orders.cpp | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/USER-REAXC/reaxc_bond_orders.cpp b/src/USER-REAXC/reaxc_bond_orders.cpp index c3fda58173..65189562ae 100644 --- a/src/USER-REAXC/reaxc_bond_orders.cpp +++ b/src/USER-REAXC/reaxc_bond_orders.cpp @@ -2,15 +2,16 @@ PuReMD - Purdue ReaxFF Molecular Dynamics Program Copyright (2010) Purdue University - Hasan Metin Aktulga, hmaktulga@lbl.gov - Joseph Fogarty, jcfogart@mail.usf.edu - Sagar Pandit, pandit@usf.edu - Ananth Y Grama, ayg@cs.purdue.edu + + Contributing authors: + H. M. Aktulga, J. Fogarty, S. Pandit, A. Grama + Corresponding author: + Hasan Metin Aktulga, Michigan State University, hma@cse.msu.edu Please cite the related publication: H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama, "Parallel Reactive Molecular Dynamics: Numerical Methods and - Algorithmic Techniques", Parallel Computing, in press. + Algorithmic Techniques", Parallel Computing, 38 (4-5), 245-259 This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as @@ -64,6 +65,11 @@ namespace ReaxFF { coef.C2dDelta = bo_ij->C2dbo * (workspace->CdDelta[i]+workspace->CdDelta[j]); coef.C3dDelta = bo_ij->C3dbo * (workspace->CdDelta[i]+workspace->CdDelta[j]); + + /************************************ + * forces related to atom i * + * first neighbors of atom i * + ************************************/ for (pk = Start_Index(i, bonds); pk < End_Index(i, bonds); ++pk) { nbr_k = &(bonds->select.bond_list[pk]); k = nbr_k->nbr; From f856030203a1d99fff38f48c39d4fea6462e12ed Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 21 Apr 2021 15:22:00 -0400 Subject: [PATCH 085/726] update example inputs and log files for current state of affairs --- examples/reax/in.reaxc.rdx | 68 ++++---- examples/reax/in.reaxc.rdx-shielded | 67 ++++---- examples/reax/in.reaxc.tatb | 71 ++++---- examples/reax/in.reaxc.tatb-shielded | 71 ++++---- .../reax/log.21Apr21.reaxc.rdx-shielded.g++.1 | 154 ++++++++++++++++++ .../reax/log.21Apr21.reaxc.rdx-shielded.g++.4 | 154 ++++++++++++++++++ examples/reax/log.21Apr21.reaxc.rdx.g++.1 | 154 ++++++++++++++++++ examples/reax/log.21Apr21.reaxc.rdx.g++.4 | 154 ++++++++++++++++++ .../log.21Apr21.reaxc.tatb-shielded.g++.1 | 154 ++++++++++++++++++ .../log.21Apr21.reaxc.tatb-shielded.g++.4 | 154 ++++++++++++++++++ examples/reax/log.21Apr21.reaxc.tatb.g++.1 | 154 ++++++++++++++++++ examples/reax/log.21Apr21.reaxc.tatb.g++.4 | 154 ++++++++++++++++++ .../reax/log.4Jan19.reaxc.rdx-shielded.g++.1 | 116 ------------- .../reax/log.4Jan19.reaxc.rdx-shielded.g++.4 | 116 ------------- .../reax/log.4Jan19.reaxc.tatb-shielded.g++.1 | 114 ------------- .../reax/log.4Jan19.reaxc.tatb-shielded.g++.4 | 114 ------------- examples/reax/log.8March18.reaxc.rdx.g++.1 | 115 ------------- examples/reax/log.8March18.reaxc.rdx.g++.4 | 115 ------------- examples/reax/log.8March18.reaxc.tatb.g++.1 | 113 ------------- examples/reax/log.8March18.reaxc.tatb.g++.4 | 113 ------------- 20 files changed, 1373 insertions(+), 1052 deletions(-) create mode 100644 examples/reax/log.21Apr21.reaxc.rdx-shielded.g++.1 create mode 100644 examples/reax/log.21Apr21.reaxc.rdx-shielded.g++.4 create mode 100644 examples/reax/log.21Apr21.reaxc.rdx.g++.1 create mode 100644 examples/reax/log.21Apr21.reaxc.rdx.g++.4 create mode 100644 examples/reax/log.21Apr21.reaxc.tatb-shielded.g++.1 create mode 100644 examples/reax/log.21Apr21.reaxc.tatb-shielded.g++.4 create mode 100644 examples/reax/log.21Apr21.reaxc.tatb.g++.1 create mode 100644 examples/reax/log.21Apr21.reaxc.tatb.g++.4 delete mode 100644 examples/reax/log.4Jan19.reaxc.rdx-shielded.g++.1 delete mode 100644 examples/reax/log.4Jan19.reaxc.rdx-shielded.g++.4 delete mode 100644 examples/reax/log.4Jan19.reaxc.tatb-shielded.g++.1 delete mode 100644 examples/reax/log.4Jan19.reaxc.tatb-shielded.g++.4 delete mode 100644 examples/reax/log.8March18.reaxc.rdx.g++.1 delete mode 100644 examples/reax/log.8March18.reaxc.rdx.g++.4 delete mode 100644 examples/reax/log.8March18.reaxc.tatb.g++.1 delete mode 100644 examples/reax/log.8March18.reaxc.tatb.g++.4 diff --git a/examples/reax/in.reaxc.rdx b/examples/reax/in.reaxc.rdx index 4874ea2dbb..36bf2a6e8c 100644 --- a/examples/reax/in.reaxc.rdx +++ b/examples/reax/in.reaxc.rdx @@ -1,52 +1,54 @@ # ReaxFF potential for RDX system # this run is equivalent to reax/in.reax.rdx -units real +units real -atom_style charge -read_data data.rdx +atom_style charge +read_data data.rdx pair_style reax/c control.reax_c.rdx pair_coeff * * ffield.reax C H O N compute reax all pair reax/c -variable eb equal c_reax[1] -variable ea equal c_reax[2] -variable elp equal c_reax[3] -variable emol equal c_reax[4] -variable ev equal c_reax[5] -variable epen equal c_reax[6] -variable ecoa equal c_reax[7] -variable ehb equal c_reax[8] -variable et equal c_reax[9] -variable eco equal c_reax[10] -variable ew equal c_reax[11] -variable ep equal c_reax[12] -variable efi equal c_reax[13] -variable eqeq equal c_reax[14] +variable eb equal c_reax[1] +variable ea equal c_reax[2] +variable elp equal c_reax[3] +variable emol equal c_reax[4] +variable ev equal c_reax[5] +variable epen equal c_reax[6] +variable ecoa equal c_reax[7] +variable ehb equal c_reax[8] +variable et equal c_reax[9] +variable eco equal c_reax[10] +variable ew equal c_reax[11] +variable ep equal c_reax[12] +variable efi equal c_reax[13] +variable eqeq equal c_reax[14] -neighbor 2.5 bin -neigh_modify every 10 delay 0 check no +neighbor 2.5 bin +neigh_modify every 10 delay 0 check no -fix 1 all nve +fix 1 all nve fix 2 all qeq/reax 1 0.0 10.0 1.0e-6 reax/c -thermo 10 -thermo_style custom step temp epair etotal press & - v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa & - v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq +variable nqeq equal f_2 -timestep 1.0 +thermo 10 +thermo_style custom step temp epair etotal press & + v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa & + v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq v_nqeq -#dump 1 all atom 10 dump.reaxc.rdx +timestep 1.0 -#dump 2 all image 25 image.*.jpg type type & -# axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 3 +#dump 1 all atom 10 dump.reaxc.rdx -#dump 3 all movie 25 movie.mpg type type & -# axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 3 +#dump 2 all image 25 image.*.jpg type type & +# axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 3 -run 100 +#dump 3 all movie 25 movie.mpg type type & +# axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 3 + +run 100 diff --git a/examples/reax/in.reaxc.rdx-shielded b/examples/reax/in.reaxc.rdx-shielded index 3354b92eab..2151f63a5f 100644 --- a/examples/reax/in.reaxc.rdx-shielded +++ b/examples/reax/in.reaxc.rdx-shielded @@ -1,52 +1,53 @@ # ReaxFF potential for RDX system # this run is equivalent to reax/in.reax.rdx -units real +units real -atom_style charge -read_data data.rdx +atom_style charge +read_data data.rdx pair_style reax/c control.reax_c.rdx pair_coeff * * ffield.reax C H O N compute reax all pair reax/c -variable eb equal c_reax[1] -variable ea equal c_reax[2] -variable elp equal c_reax[3] -variable emol equal c_reax[4] -variable ev equal c_reax[5] -variable epen equal c_reax[6] -variable ecoa equal c_reax[7] -variable ehb equal c_reax[8] -variable et equal c_reax[9] -variable eco equal c_reax[10] -variable ew equal c_reax[11] -variable ep equal c_reax[12] -variable efi equal c_reax[13] -variable eqeq equal c_reax[14] +variable eb equal c_reax[1] +variable ea equal c_reax[2] +variable elp equal c_reax[3] +variable emol equal c_reax[4] +variable ev equal c_reax[5] +variable epen equal c_reax[6] +variable ecoa equal c_reax[7] +variable ehb equal c_reax[8] +variable et equal c_reax[9] +variable eco equal c_reax[10] +variable ew equal c_reax[11] +variable ep equal c_reax[12] +variable efi equal c_reax[13] +variable eqeq equal c_reax[14] -neighbor 2.5 bin -neigh_modify every 10 delay 0 check no +neighbor 2.5 bin +neigh_modify every 10 delay 0 check no -fix 1 all nve +fix 1 all nve fix 2 all qeq/shielded 1 10.0 1.0e-6 100 reax/c +variable nqeq equal f_2 -thermo 10 -thermo_style custom step temp epair etotal press & - v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa & - v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq +thermo 10 +thermo_style custom step temp epair etotal press & + v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa & + v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq v_nqeq -timestep 1.0 +timestep 1.0 -#dump 1 all atom 10 dump.reaxc.rdx +#dump 1 all atom 10 dump.reaxc.rdx -#dump 2 all image 25 image.*.jpg type type & -# axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 3 +#dump 2 all image 25 image.*.jpg type type & +# axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 3 -#dump 3 all movie 25 movie.mpg type type & -# axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 3 +#dump 3 all movie 25 movie.mpg type type & +# axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 3 -run 100 +run 100 diff --git a/examples/reax/in.reaxc.tatb b/examples/reax/in.reaxc.tatb index a166613b85..474290340f 100644 --- a/examples/reax/in.reaxc.tatb +++ b/examples/reax/in.reaxc.tatb @@ -1,55 +1,56 @@ # ReaxFF potential for TATB system # this run is equivalent to reax/in.reax.tatb, -units real +units real -atom_style charge -read_data data.tatb +atom_style charge +read_data data.tatb pair_style reax/c control.reax_c.tatb pair_coeff * * ffield.reax C H O N compute reax all pair reax/c -variable eb equal c_reax[1] -variable ea equal c_reax[2] -variable elp equal c_reax[3] -variable emol equal c_reax[4] -variable ev equal c_reax[5] -variable epen equal c_reax[6] -variable ecoa equal c_reax[7] -variable ehb equal c_reax[8] -variable et equal c_reax[9] -variable eco equal c_reax[10] -variable ew equal c_reax[11] -variable ep equal c_reax[12] -variable efi equal c_reax[13] -variable eqeq equal c_reax[14] +variable eb equal c_reax[1] +variable ea equal c_reax[2] +variable elp equal c_reax[3] +variable emol equal c_reax[4] +variable ev equal c_reax[5] +variable epen equal c_reax[6] +variable ecoa equal c_reax[7] +variable ehb equal c_reax[8] +variable et equal c_reax[9] +variable eco equal c_reax[10] +variable ew equal c_reax[11] +variable ep equal c_reax[12] +variable efi equal c_reax[13] +variable eqeq equal c_reax[14] -neighbor 2.5 bin -neigh_modify delay 0 every 5 check no +neighbor 2.5 bin +neigh_modify delay 0 every 5 check no -fix 1 all nve +fix 1 all nve fix 2 all qeq/reax 1 0.0 10.0 1.0e-6 reax/c -fix 4 all reax/c/bonds 5 bonds.reaxc +fix 4 all reax/c/bonds 5 bonds.reaxc +variable nqeq equal f_2 -thermo 5 -thermo_style custom step temp epair etotal press & - v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa & - v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq +thermo 5 +thermo_style custom step temp epair etotal press & + v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa & + v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq v_nqeq -timestep 0.0625 +timestep 0.0625 -#dump 1 all custom 100 dump.reaxc.tatb id type q x y z +#dump 1 all custom 100 dump.reaxc.tatb id type q x y z -#dump 2 all image 5 image.*.jpg type type & -# axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 3 +#dump 2 all image 5 image.*.jpg type type & +# axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 3 -#dump 3 all movie 5 movie.mpg type type & -# axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 3 +#dump 3 all movie 5 movie.mpg type type & +# axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 3 -fix 3 all reax/c/species 1 5 5 species.tatb +fix 3 all reax/c/species 1 5 5 species.tatb -run 25 +run 25 diff --git a/examples/reax/in.reaxc.tatb-shielded b/examples/reax/in.reaxc.tatb-shielded index 2ff4d34f7a..aeac3308a8 100644 --- a/examples/reax/in.reaxc.tatb-shielded +++ b/examples/reax/in.reaxc.tatb-shielded @@ -1,55 +1,56 @@ # ReaxFF potential for TATB system # this run is equivalent to reax/in.reax.tatb, -units real +units real -atom_style charge -read_data data.tatb +atom_style charge +read_data data.tatb pair_style reax/c control.reax_c.tatb pair_coeff * * ffield.reax C H O N compute reax all pair reax/c -variable eb equal c_reax[1] -variable ea equal c_reax[2] -variable elp equal c_reax[3] -variable emol equal c_reax[4] -variable ev equal c_reax[5] -variable epen equal c_reax[6] -variable ecoa equal c_reax[7] -variable ehb equal c_reax[8] -variable et equal c_reax[9] -variable eco equal c_reax[10] -variable ew equal c_reax[11] -variable ep equal c_reax[12] -variable efi equal c_reax[13] -variable eqeq equal c_reax[14] +variable eb equal c_reax[1] +variable ea equal c_reax[2] +variable elp equal c_reax[3] +variable emol equal c_reax[4] +variable ev equal c_reax[5] +variable epen equal c_reax[6] +variable ecoa equal c_reax[7] +variable ehb equal c_reax[8] +variable et equal c_reax[9] +variable eco equal c_reax[10] +variable ew equal c_reax[11] +variable ep equal c_reax[12] +variable efi equal c_reax[13] +variable eqeq equal c_reax[14] -neighbor 2.5 bin -neigh_modify delay 0 every 5 check no +neighbor 2.5 bin +neigh_modify delay 0 every 5 check no -fix 1 all nve +fix 1 all nve fix 2 all qeq/shielded 1 10.0 1.0e-6 100 reax/c -fix 4 all reax/c/bonds 5 bonds.reaxc +fix 4 all reax/c/bonds 5 bonds.reaxc +variable nqeq equal f_2 -thermo 5 -thermo_style custom step temp epair etotal press & - v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa & - v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq +thermo 5 +thermo_style custom step temp epair etotal press & + v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa & + v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq v_nqeq -timestep 0.0625 +timestep 0.0625 -#dump 1 all custom 100 dump.reaxc.tatb id type q x y z +#dump 1 all custom 100 dump.reaxc.tatb id type q x y z -#dump 2 all image 5 image.*.jpg type type & -# axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 3 +#dump 2 all image 5 image.*.jpg type type & +# axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 3 -#dump 3 all movie 5 movie.mpg type type & -# axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 3 +#dump 3 all movie 5 movie.mpg type type & +# axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 3 -fix 3 all reax/c/species 1 5 5 species.tatb +fix 3 all reax/c/species 1 5 5 species.tatb -run 25 +run 25 diff --git a/examples/reax/log.21Apr21.reaxc.rdx-shielded.g++.1 b/examples/reax/log.21Apr21.reaxc.rdx-shielded.g++.1 new file mode 100644 index 0000000000..5ff8307135 --- /dev/null +++ b/examples/reax/log.21Apr21.reaxc.rdx-shielded.g++.1 @@ -0,0 +1,154 @@ +LAMMPS (8 Apr 2021) + using 1 OpenMP thread(s) per MPI task +# ReaxFF potential for RDX system +# this run is equivalent to reax/in.reax.rdx + +units real + +atom_style charge +read_data data.rdx +Reading data file ... + orthogonal box = (35.000000 35.000000 35.000000) to (48.000000 48.000000 48.000000) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 21 atoms + read_data CPU = 0.001 seconds + +pair_style reax/c control.reax_c.rdx +WARNING: Ignoring inactive control parameter: simulation_name (src/USER-REAXC/reaxc_control.cpp:97) +WARNING: Ignoring inactive control parameter: energy_update_freq (src/USER-REAXC/reaxc_control.cpp:97) +WARNING: Support for writing native trajectories has been removed after LAMMPS version 8 April 2021 (src/USER-REAXC/reaxc_control.cpp:113) +WARNING: Ignoring inactive control parameter: traj_title (src/USER-REAXC/reaxc_control.cpp:97) +WARNING: Ignoring inactive control parameter: atom_info (src/USER-REAXC/reaxc_control.cpp:97) +WARNING: Ignoring inactive control parameter: atom_forces (src/USER-REAXC/reaxc_control.cpp:97) +WARNING: Ignoring inactive control parameter: atom_velocities (src/USER-REAXC/reaxc_control.cpp:97) +WARNING: Ignoring inactive control parameter: bond_info (src/USER-REAXC/reaxc_control.cpp:97) +WARNING: Ignoring inactive control parameter: angle_info (src/USER-REAXC/reaxc_control.cpp:97) +pair_coeff * * ffield.reax C H O N +Reading potential file ffield.reax with DATE: 2010-02-19 + +compute reax all pair reax/c + +variable eb equal c_reax[1] +variable ea equal c_reax[2] +variable elp equal c_reax[3] +variable emol equal c_reax[4] +variable ev equal c_reax[5] +variable epen equal c_reax[6] +variable ecoa equal c_reax[7] +variable ehb equal c_reax[8] +variable et equal c_reax[9] +variable eco equal c_reax[10] +variable ew equal c_reax[11] +variable ep equal c_reax[12] +variable efi equal c_reax[13] +variable eqeq equal c_reax[14] + +neighbor 2.5 bin +neigh_modify every 10 delay 0 check no + +fix 1 all nve +fix 2 all qeq/reax 1 0.0 10.0 1.0e-6 reax/c + +variable nqeq equal f_2 + +thermo 10 +thermo_style custom step temp epair etotal press v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq v_nqeq + +timestep 1.0 + +#dump 1 all atom 10 dump.reaxc.rdx + +#dump 2 all image 25 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 3 + +#dump 3 all movie 25 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 3 + +run 100 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- pair reax/c command: + +@Article{Aktulga12, + author = {H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama}, + title = {Parallel reactive molecular dynamics: Numerical methods and algorithmic techniques}, + journal = {Parallel Computing}, + year = 2012, + volume = 38, + pages = {245--259} +} + +- fix qeq/reax command: + +@Article{Aktulga12, + author = {H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama}, + title = {Parallel reactive molecular dynamics: Numerical methods and algorithmic techniques}, + journal = {Parallel Computing}, + year = 2012, + volume = 38, + pages = {245--259} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Neighbor list info ... + update every 10 steps, delay 0 steps, check no + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 12.5 + ghost atom cutoff = 12.5 + binsize = 6.25, bins = 3 3 3 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair reax/c, perpetual + attributes: half, newton off, ghost + pair build: half/bin/newtoff/ghost + stencil: half/ghost/bin/3d/newtoff + bin: standard + (2) fix qeq/reax, perpetual, copy from (1) + attributes: half, newton off, ghost + pair build: copy + stencil: none + bin: none +Per MPI rank memory allocation (min/avg/max) = 13.36 | 13.36 | 13.36 Mbytes +Step Temp E_pair TotEng Press v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq v_nqeq + 0 0 -1884.3081 -1884.3081 27186.181 -2958.4712 79.527715 0.31082031 0 98.589783 25.846176 -0.18034154 0 16.709078 -9.1620736 938.43732 -244.79931 0 168.88396 12.5 + 10 1288.6116 -1989.6644 -1912.8422 -19456.353 -2734.6769 -15.607221 0.2017796 0 54.629557 3.125229 -77.7067 0 14.933901 -5.8108541 843.92073 -180.43321 0 107.75935 8 + 20 538.95819 -1942.7037 -1910.5731 -10725.639 -2803.7394 7.9078269 0.07792668 0 81.610053 0.22951941 -57.557107 0 30.331207 -10.178049 878.99009 -159.68914 0 89.313379 7 + 30 463.09535 -1933.5765 -1905.9686 -33255.546 -2749.859 -8.0154745 0.02762893 0 81.627395 0.11972413 -50.262293 0 20.820303 -9.6327015 851.88715 -149.49499 0 79.205727 8 + 40 885.49171 -1958.9125 -1906.1229 -4814.6856 -2795.644 9.150669 0.13747498 0 70.947982 0.24360485 -57.862663 0 19.076496 -11.141218 873.73893 -159.99393 0 92.434096 11 + 50 861.16578 -1954.4599 -1903.1205 -1896.7713 -2784.845 3.8270515 0.15793266 0 79.851823 3.3492142 -78.06613 0 32.629016 -7.956541 872.81838 -190.98567 0 114.75995 10 + 60 1167.7852 -1971.8429 -1902.224 -3482.7305 -2705.863 -17.12171 0.22749077 0 44.507654 7.8560745 -74.788955 0 16.256483 -4.6046431 835.8304 -188.33691 0 114.19413 10 + 70 1439.9966 -1989.3024 -1903.4553 23845.651 -2890.7895 31.958845 0.26671721 0 85.758695 3.1803544 -71.002903 0 24.357134 -10.31131 905.86775 -175.38471 0 106.79648 10 + 80 502.39438 -1930.7544 -1900.8035 -20356.316 -2703.8115 -18.662467 0.11286011 0 99.804201 2.0329024 -76.171317 0 19.237028 -6.2786907 826.47451 -166.03125 0 92.539398 9 + 90 749.08499 -1946.9838 -1902.3262 17798.51 -2863.7576 42.068716 0.2433807 0 96.181613 0.96184888 -69.955448 0 24.615302 -11.582765 903.68818 -190.13843 0 120.69141 11 + 100 1109.6968 -1968.5874 -1902.4315 -4490.1018 -2755.8965 -7.1231014 0.21757699 0 61.806018 7.0827673 -75.645345 0 20.114997 -6.2371964 863.5635 -198.56976 0 122.09961 10.5 +Loop time of 0.617026 on 1 procs for 100 steps with 21 atoms + +Performance: 14.003 ns/day, 1.714 hours/ns, 162.068 timesteps/s +99.7% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.52176 | 0.52176 | 0.52176 | 0.0 | 84.56 +Neigh | 0.033948 | 0.033948 | 0.033948 | 0.0 | 5.50 +Comm | 0.0017188 | 0.0017188 | 0.0017188 | 0.0 | 0.28 +Output | 0.00059319 | 0.00059319 | 0.00059319 | 0.0 | 0.10 +Modify | 0.05887 | 0.05887 | 0.05887 | 0.0 | 9.54 +Other | | 0.0001347 | | | 0.02 + +Nlocal: 21.0000 ave 21 max 21 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 546.000 ave 546 max 546 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 1096.00 ave 1096 max 1096 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 1096 +Ave neighs/atom = 52.190476 +Neighbor list builds = 10 +Dangerous builds not checked +Total wall time: 0:00:00 diff --git a/examples/reax/log.21Apr21.reaxc.rdx-shielded.g++.4 b/examples/reax/log.21Apr21.reaxc.rdx-shielded.g++.4 new file mode 100644 index 0000000000..79fa5f77b2 --- /dev/null +++ b/examples/reax/log.21Apr21.reaxc.rdx-shielded.g++.4 @@ -0,0 +1,154 @@ +LAMMPS (8 Apr 2021) + using 1 OpenMP thread(s) per MPI task +# ReaxFF potential for RDX system +# this run is equivalent to reax/in.reax.rdx + +units real + +atom_style charge +read_data data.rdx +Reading data file ... + orthogonal box = (35.000000 35.000000 35.000000) to (48.000000 48.000000 48.000000) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 21 atoms + read_data CPU = 0.001 seconds + +pair_style reax/c control.reax_c.rdx +WARNING: Ignoring inactive control parameter: simulation_name (src/USER-REAXC/reaxc_control.cpp:97) +WARNING: Ignoring inactive control parameter: energy_update_freq (src/USER-REAXC/reaxc_control.cpp:97) +WARNING: Support for writing native trajectories has been removed after LAMMPS version 8 April 2021 (src/USER-REAXC/reaxc_control.cpp:113) +WARNING: Ignoring inactive control parameter: traj_title (src/USER-REAXC/reaxc_control.cpp:97) +WARNING: Ignoring inactive control parameter: atom_info (src/USER-REAXC/reaxc_control.cpp:97) +WARNING: Ignoring inactive control parameter: atom_forces (src/USER-REAXC/reaxc_control.cpp:97) +WARNING: Ignoring inactive control parameter: atom_velocities (src/USER-REAXC/reaxc_control.cpp:97) +WARNING: Ignoring inactive control parameter: bond_info (src/USER-REAXC/reaxc_control.cpp:97) +WARNING: Ignoring inactive control parameter: angle_info (src/USER-REAXC/reaxc_control.cpp:97) +pair_coeff * * ffield.reax C H O N +Reading potential file ffield.reax with DATE: 2010-02-19 + +compute reax all pair reax/c + +variable eb equal c_reax[1] +variable ea equal c_reax[2] +variable elp equal c_reax[3] +variable emol equal c_reax[4] +variable ev equal c_reax[5] +variable epen equal c_reax[6] +variable ecoa equal c_reax[7] +variable ehb equal c_reax[8] +variable et equal c_reax[9] +variable eco equal c_reax[10] +variable ew equal c_reax[11] +variable ep equal c_reax[12] +variable efi equal c_reax[13] +variable eqeq equal c_reax[14] + +neighbor 2.5 bin +neigh_modify every 10 delay 0 check no + +fix 1 all nve +fix 2 all qeq/reax 1 0.0 10.0 1.0e-6 reax/c + +variable nqeq equal f_2 + +thermo 10 +thermo_style custom step temp epair etotal press v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq v_nqeq + +timestep 1.0 + +#dump 1 all atom 10 dump.reaxc.rdx + +#dump 2 all image 25 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 3 + +#dump 3 all movie 25 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 3 + +run 100 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- pair reax/c command: + +@Article{Aktulga12, + author = {H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama}, + title = {Parallel reactive molecular dynamics: Numerical methods and algorithmic techniques}, + journal = {Parallel Computing}, + year = 2012, + volume = 38, + pages = {245--259} +} + +- fix qeq/reax command: + +@Article{Aktulga12, + author = {H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama}, + title = {Parallel reactive molecular dynamics: Numerical methods and algorithmic techniques}, + journal = {Parallel Computing}, + year = 2012, + volume = 38, + pages = {245--259} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Neighbor list info ... + update every 10 steps, delay 0 steps, check no + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 12.5 + ghost atom cutoff = 12.5 + binsize = 6.25, bins = 3 3 3 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair reax/c, perpetual + attributes: half, newton off, ghost + pair build: half/bin/newtoff/ghost + stencil: half/ghost/bin/3d/newtoff + bin: standard + (2) fix qeq/reax, perpetual, copy from (1) + attributes: half, newton off, ghost + pair build: copy + stencil: none + bin: none +Per MPI rank memory allocation (min/avg/max) = 13.36 | 13.36 | 13.36 Mbytes +Step Temp E_pair TotEng Press v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq v_nqeq + 0 0 -1884.3081 -1884.3081 27186.181 -2958.4712 79.527715 0.31082031 0 98.589783 25.846176 -0.18034154 0 16.709078 -9.1620736 938.43732 -244.79931 0 168.88396 12.5 + 10 1288.6116 -1989.6644 -1912.8422 -19456.353 -2734.6769 -15.607221 0.2017796 0 54.629557 3.125229 -77.7067 0 14.933901 -5.8108541 843.92073 -180.43321 0 107.75935 8 + 20 538.95819 -1942.7037 -1910.5731 -10725.639 -2803.7394 7.9078269 0.07792668 0 81.610053 0.22951941 -57.557107 0 30.331207 -10.178049 878.99009 -159.68914 0 89.313379 7 + 30 463.09535 -1933.5765 -1905.9686 -33255.546 -2749.859 -8.0154745 0.02762893 0 81.627395 0.11972413 -50.262293 0 20.820303 -9.6327015 851.88715 -149.49499 0 79.205727 8 + 40 885.49171 -1958.9125 -1906.1229 -4814.6856 -2795.644 9.150669 0.13747498 0 70.947982 0.24360485 -57.862663 0 19.076496 -11.141218 873.73893 -159.99393 0 92.434096 11 + 50 861.16578 -1954.4599 -1903.1205 -1896.7713 -2784.845 3.8270515 0.15793266 0 79.851823 3.3492142 -78.06613 0 32.629016 -7.956541 872.81838 -190.98567 0 114.75995 10 + 60 1167.7852 -1971.8429 -1902.224 -3482.7305 -2705.863 -17.12171 0.22749077 0 44.507654 7.8560745 -74.788955 0 16.256483 -4.6046431 835.8304 -188.33691 0 114.19413 10 + 70 1439.9966 -1989.3024 -1903.4553 23845.651 -2890.7895 31.958845 0.26671721 0 85.758695 3.1803544 -71.002903 0 24.357134 -10.31131 905.86775 -175.38471 0 106.79648 10 + 80 502.39438 -1930.7544 -1900.8035 -20356.316 -2703.8115 -18.662467 0.11286011 0 99.804201 2.0329024 -76.171317 0 19.237028 -6.2786907 826.47451 -166.03125 0 92.539398 9 + 90 749.08499 -1946.9838 -1902.3262 17798.51 -2863.7576 42.068716 0.2433807 0 96.181613 0.96184888 -69.955448 0 24.615302 -11.582765 903.68818 -190.13843 0 120.69141 11 + 100 1109.6968 -1968.5874 -1902.4315 -4490.1018 -2755.8965 -7.1231014 0.21757699 0 61.806018 7.0827673 -75.645345 0 20.114997 -6.2371964 863.5635 -198.56976 0 122.09961 10.5 +Loop time of 0.617778 on 1 procs for 100 steps with 21 atoms + +Performance: 13.986 ns/day, 1.716 hours/ns, 161.871 timesteps/s +99.8% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.52159 | 0.52159 | 0.52159 | 0.0 | 84.43 +Neigh | 0.03479 | 0.03479 | 0.03479 | 0.0 | 5.63 +Comm | 0.0017166 | 0.0017166 | 0.0017166 | 0.0 | 0.28 +Output | 0.00061226 | 0.00061226 | 0.00061226 | 0.0 | 0.10 +Modify | 0.058924 | 0.058924 | 0.058924 | 0.0 | 9.54 +Other | | 0.0001466 | | | 0.02 + +Nlocal: 21.0000 ave 21 max 21 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 546.000 ave 546 max 546 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 1096.00 ave 1096 max 1096 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 1096 +Ave neighs/atom = 52.190476 +Neighbor list builds = 10 +Dangerous builds not checked +Total wall time: 0:00:00 diff --git a/examples/reax/log.21Apr21.reaxc.rdx.g++.1 b/examples/reax/log.21Apr21.reaxc.rdx.g++.1 new file mode 100644 index 0000000000..38347ffce7 --- /dev/null +++ b/examples/reax/log.21Apr21.reaxc.rdx.g++.1 @@ -0,0 +1,154 @@ +LAMMPS (8 Apr 2021) + using 1 OpenMP thread(s) per MPI task +# ReaxFF potential for RDX system +# this run is equivalent to reax/in.reax.rdx + +units real + +atom_style charge +read_data data.rdx +Reading data file ... + orthogonal box = (35.000000 35.000000 35.000000) to (48.000000 48.000000 48.000000) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 21 atoms + read_data CPU = 0.001 seconds + +pair_style reax/c control.reax_c.rdx +WARNING: Ignoring inactive control parameter: simulation_name (src/USER-REAXC/reaxc_control.cpp:97) +WARNING: Ignoring inactive control parameter: energy_update_freq (src/USER-REAXC/reaxc_control.cpp:97) +WARNING: Support for writing native trajectories has been removed after LAMMPS version 8 April 2021 (src/USER-REAXC/reaxc_control.cpp:113) +WARNING: Ignoring inactive control parameter: traj_title (src/USER-REAXC/reaxc_control.cpp:97) +WARNING: Ignoring inactive control parameter: atom_info (src/USER-REAXC/reaxc_control.cpp:97) +WARNING: Ignoring inactive control parameter: atom_forces (src/USER-REAXC/reaxc_control.cpp:97) +WARNING: Ignoring inactive control parameter: atom_velocities (src/USER-REAXC/reaxc_control.cpp:97) +WARNING: Ignoring inactive control parameter: bond_info (src/USER-REAXC/reaxc_control.cpp:97) +WARNING: Ignoring inactive control parameter: angle_info (src/USER-REAXC/reaxc_control.cpp:97) +pair_coeff * * ffield.reax C H O N +Reading potential file ffield.reax with DATE: 2010-02-19 + +compute reax all pair reax/c + +variable eb equal c_reax[1] +variable ea equal c_reax[2] +variable elp equal c_reax[3] +variable emol equal c_reax[4] +variable ev equal c_reax[5] +variable epen equal c_reax[6] +variable ecoa equal c_reax[7] +variable ehb equal c_reax[8] +variable et equal c_reax[9] +variable eco equal c_reax[10] +variable ew equal c_reax[11] +variable ep equal c_reax[12] +variable efi equal c_reax[13] +variable eqeq equal c_reax[14] + +neighbor 2.5 bin +neigh_modify every 10 delay 0 check no + +fix 1 all nve +fix 2 all qeq/reax 1 0.0 10.0 1.0e-6 reax/c + +variable nqeq equal f_2 + +thermo 10 +thermo_style custom step temp epair etotal press v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq v_nqeq + +timestep 1.0 + +#dump 1 all atom 10 dump.reaxc.rdx + +#dump 2 all image 25 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 3 + +#dump 3 all movie 25 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 3 + +run 100 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- pair reax/c command: + +@Article{Aktulga12, + author = {H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama}, + title = {Parallel reactive molecular dynamics: Numerical methods and algorithmic techniques}, + journal = {Parallel Computing}, + year = 2012, + volume = 38, + pages = {245--259} +} + +- fix qeq/reax command: + +@Article{Aktulga12, + author = {H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama}, + title = {Parallel reactive molecular dynamics: Numerical methods and algorithmic techniques}, + journal = {Parallel Computing}, + year = 2012, + volume = 38, + pages = {245--259} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Neighbor list info ... + update every 10 steps, delay 0 steps, check no + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 12.5 + ghost atom cutoff = 12.5 + binsize = 6.25, bins = 3 3 3 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair reax/c, perpetual + attributes: half, newton off, ghost + pair build: half/bin/newtoff/ghost + stencil: half/ghost/bin/3d/newtoff + bin: standard + (2) fix qeq/reax, perpetual, copy from (1) + attributes: half, newton off, ghost + pair build: copy + stencil: none + bin: none +Per MPI rank memory allocation (min/avg/max) = 13.36 | 13.36 | 13.36 Mbytes +Step Temp E_pair TotEng Press v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq v_nqeq + 0 0 -1884.3081 -1884.3081 27186.181 -2958.4712 79.527715 0.31082031 0 98.589783 25.846176 -0.18034154 0 16.709078 -9.1620736 938.43732 -244.79931 0 168.88396 12.5 + 10 1288.6116 -1989.6644 -1912.8422 -19456.353 -2734.6769 -15.607221 0.2017796 0 54.629557 3.125229 -77.7067 0 14.933901 -5.8108541 843.92073 -180.43321 0 107.75935 8 + 20 538.95819 -1942.7037 -1910.5731 -10725.639 -2803.7394 7.9078269 0.07792668 0 81.610053 0.22951941 -57.557107 0 30.331207 -10.178049 878.99009 -159.68914 0 89.313379 7 + 30 463.09535 -1933.5765 -1905.9686 -33255.546 -2749.859 -8.0154745 0.02762893 0 81.627395 0.11972413 -50.262293 0 20.820303 -9.6327015 851.88715 -149.49499 0 79.205727 8 + 40 885.49171 -1958.9125 -1906.1229 -4814.6856 -2795.644 9.150669 0.13747498 0 70.947982 0.24360485 -57.862663 0 19.076496 -11.141218 873.73893 -159.99393 0 92.434096 11 + 50 861.16578 -1954.4599 -1903.1205 -1896.7713 -2784.845 3.8270515 0.15793266 0 79.851823 3.3492142 -78.06613 0 32.629016 -7.956541 872.81838 -190.98567 0 114.75995 10 + 60 1167.7852 -1971.8429 -1902.224 -3482.7305 -2705.863 -17.12171 0.22749077 0 44.507654 7.8560745 -74.788955 0 16.256483 -4.6046431 835.8304 -188.33691 0 114.19413 10 + 70 1439.9966 -1989.3024 -1903.4553 23845.651 -2890.7895 31.958845 0.26671721 0 85.758695 3.1803544 -71.002903 0 24.357134 -10.31131 905.86775 -175.38471 0 106.79648 10 + 80 502.39438 -1930.7544 -1900.8035 -20356.316 -2703.8115 -18.662467 0.11286011 0 99.804201 2.0329024 -76.171317 0 19.237028 -6.2786907 826.47451 -166.03125 0 92.539398 9 + 90 749.08499 -1946.9838 -1902.3262 17798.51 -2863.7576 42.068716 0.2433807 0 96.181613 0.96184888 -69.955448 0 24.615302 -11.582765 903.68818 -190.13843 0 120.69141 11 + 100 1109.6968 -1968.5874 -1902.4315 -4490.1018 -2755.8965 -7.1231014 0.21757699 0 61.806018 7.0827673 -75.645345 0 20.114997 -6.2371964 863.5635 -198.56976 0 122.09961 10.5 +Loop time of 0.618477 on 1 procs for 100 steps with 21 atoms + +Performance: 13.970 ns/day, 1.718 hours/ns, 161.687 timesteps/s +99.9% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.52329 | 0.52329 | 0.52329 | 0.0 | 84.61 +Neigh | 0.03397 | 0.03397 | 0.03397 | 0.0 | 5.49 +Comm | 0.0017006 | 0.0017006 | 0.0017006 | 0.0 | 0.27 +Output | 0.00060892 | 0.00060892 | 0.00060892 | 0.0 | 0.10 +Modify | 0.058764 | 0.058764 | 0.058764 | 0.0 | 9.50 +Other | | 0.0001407 | | | 0.02 + +Nlocal: 21.0000 ave 21 max 21 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 546.000 ave 546 max 546 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 1096.00 ave 1096 max 1096 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 1096 +Ave neighs/atom = 52.190476 +Neighbor list builds = 10 +Dangerous builds not checked +Total wall time: 0:00:00 diff --git a/examples/reax/log.21Apr21.reaxc.rdx.g++.4 b/examples/reax/log.21Apr21.reaxc.rdx.g++.4 new file mode 100644 index 0000000000..a409cbe358 --- /dev/null +++ b/examples/reax/log.21Apr21.reaxc.rdx.g++.4 @@ -0,0 +1,154 @@ +LAMMPS (8 Apr 2021) + using 1 OpenMP thread(s) per MPI task +# ReaxFF potential for RDX system +# this run is equivalent to reax/in.reax.rdx + +units real + +atom_style charge +read_data data.rdx +Reading data file ... + orthogonal box = (35.000000 35.000000 35.000000) to (48.000000 48.000000 48.000000) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 21 atoms + read_data CPU = 0.001 seconds + +pair_style reax/c control.reax_c.rdx +WARNING: Ignoring inactive control parameter: simulation_name (src/USER-REAXC/reaxc_control.cpp:97) +WARNING: Ignoring inactive control parameter: energy_update_freq (src/USER-REAXC/reaxc_control.cpp:97) +WARNING: Support for writing native trajectories has been removed after LAMMPS version 8 April 2021 (src/USER-REAXC/reaxc_control.cpp:113) +WARNING: Ignoring inactive control parameter: traj_title (src/USER-REAXC/reaxc_control.cpp:97) +WARNING: Ignoring inactive control parameter: atom_info (src/USER-REAXC/reaxc_control.cpp:97) +WARNING: Ignoring inactive control parameter: atom_forces (src/USER-REAXC/reaxc_control.cpp:97) +WARNING: Ignoring inactive control parameter: atom_velocities (src/USER-REAXC/reaxc_control.cpp:97) +WARNING: Ignoring inactive control parameter: bond_info (src/USER-REAXC/reaxc_control.cpp:97) +WARNING: Ignoring inactive control parameter: angle_info (src/USER-REAXC/reaxc_control.cpp:97) +pair_coeff * * ffield.reax C H O N +Reading potential file ffield.reax with DATE: 2010-02-19 + +compute reax all pair reax/c + +variable eb equal c_reax[1] +variable ea equal c_reax[2] +variable elp equal c_reax[3] +variable emol equal c_reax[4] +variable ev equal c_reax[5] +variable epen equal c_reax[6] +variable ecoa equal c_reax[7] +variable ehb equal c_reax[8] +variable et equal c_reax[9] +variable eco equal c_reax[10] +variable ew equal c_reax[11] +variable ep equal c_reax[12] +variable efi equal c_reax[13] +variable eqeq equal c_reax[14] + +neighbor 2.5 bin +neigh_modify every 10 delay 0 check no + +fix 1 all nve +fix 2 all qeq/reax 1 0.0 10.0 1.0e-6 reax/c + +variable nqeq equal f_2 + +thermo 10 +thermo_style custom step temp epair etotal press v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq v_nqeq + +timestep 1.0 + +#dump 1 all atom 10 dump.reaxc.rdx + +#dump 2 all image 25 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 3 + +#dump 3 all movie 25 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 3 + +run 100 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- pair reax/c command: + +@Article{Aktulga12, + author = {H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama}, + title = {Parallel reactive molecular dynamics: Numerical methods and algorithmic techniques}, + journal = {Parallel Computing}, + year = 2012, + volume = 38, + pages = {245--259} +} + +- fix qeq/reax command: + +@Article{Aktulga12, + author = {H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama}, + title = {Parallel reactive molecular dynamics: Numerical methods and algorithmic techniques}, + journal = {Parallel Computing}, + year = 2012, + volume = 38, + pages = {245--259} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Neighbor list info ... + update every 10 steps, delay 0 steps, check no + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 12.5 + ghost atom cutoff = 12.5 + binsize = 6.25, bins = 3 3 3 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair reax/c, perpetual + attributes: half, newton off, ghost + pair build: half/bin/newtoff/ghost + stencil: half/ghost/bin/3d/newtoff + bin: standard + (2) fix qeq/reax, perpetual, copy from (1) + attributes: half, newton off, ghost + pair build: copy + stencil: none + bin: none +Per MPI rank memory allocation (min/avg/max) = 13.36 | 13.36 | 13.36 Mbytes +Step Temp E_pair TotEng Press v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq v_nqeq + 0 0 -1884.3081 -1884.3081 27186.181 -2958.4712 79.527715 0.31082031 0 98.589783 25.846176 -0.18034154 0 16.709078 -9.1620736 938.43732 -244.79931 0 168.88396 12.5 + 10 1288.6116 -1989.6644 -1912.8422 -19456.353 -2734.6769 -15.607221 0.2017796 0 54.629557 3.125229 -77.7067 0 14.933901 -5.8108541 843.92073 -180.43321 0 107.75935 8 + 20 538.95819 -1942.7037 -1910.5731 -10725.639 -2803.7394 7.9078269 0.07792668 0 81.610053 0.22951941 -57.557107 0 30.331207 -10.178049 878.99009 -159.68914 0 89.313379 7 + 30 463.09535 -1933.5765 -1905.9686 -33255.546 -2749.859 -8.0154745 0.02762893 0 81.627395 0.11972413 -50.262293 0 20.820303 -9.6327015 851.88715 -149.49499 0 79.205727 8 + 40 885.49171 -1958.9125 -1906.1229 -4814.6856 -2795.644 9.150669 0.13747498 0 70.947982 0.24360485 -57.862663 0 19.076496 -11.141218 873.73893 -159.99393 0 92.434096 11 + 50 861.16578 -1954.4599 -1903.1205 -1896.7713 -2784.845 3.8270515 0.15793266 0 79.851823 3.3492142 -78.06613 0 32.629016 -7.956541 872.81838 -190.98567 0 114.75995 10 + 60 1167.7852 -1971.8429 -1902.224 -3482.7305 -2705.863 -17.12171 0.22749077 0 44.507654 7.8560745 -74.788955 0 16.256483 -4.6046431 835.8304 -188.33691 0 114.19413 10 + 70 1439.9966 -1989.3024 -1903.4553 23845.651 -2890.7895 31.958845 0.26671721 0 85.758695 3.1803544 -71.002903 0 24.357134 -10.31131 905.86775 -175.38471 0 106.79648 10 + 80 502.39438 -1930.7544 -1900.8035 -20356.316 -2703.8115 -18.662467 0.11286011 0 99.804201 2.0329024 -76.171317 0 19.237028 -6.2786907 826.47451 -166.03125 0 92.539398 9 + 90 749.08499 -1946.9838 -1902.3262 17798.51 -2863.7576 42.068716 0.2433807 0 96.181613 0.96184888 -69.955448 0 24.615302 -11.582765 903.68818 -190.13843 0 120.69141 11 + 100 1109.6968 -1968.5874 -1902.4315 -4490.1018 -2755.8965 -7.1231014 0.21757699 0 61.806018 7.0827673 -75.645345 0 20.114997 -6.2371964 863.5635 -198.56976 0 122.09961 10.5 +Loop time of 0.618479 on 1 procs for 100 steps with 21 atoms + +Performance: 13.970 ns/day, 1.718 hours/ns, 161.687 timesteps/s +99.8% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.52299 | 0.52299 | 0.52299 | 0.0 | 84.56 +Neigh | 0.034338 | 0.034338 | 0.034338 | 0.0 | 5.55 +Comm | 0.0017166 | 0.0017166 | 0.0017166 | 0.0 | 0.28 +Output | 0.00060272 | 0.00060272 | 0.00060272 | 0.0 | 0.10 +Modify | 0.058692 | 0.058692 | 0.058692 | 0.0 | 9.49 +Other | | 0.0001385 | | | 0.02 + +Nlocal: 21.0000 ave 21 max 21 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 546.000 ave 546 max 546 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 1096.00 ave 1096 max 1096 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 1096 +Ave neighs/atom = 52.190476 +Neighbor list builds = 10 +Dangerous builds not checked +Total wall time: 0:00:00 diff --git a/examples/reax/log.21Apr21.reaxc.tatb-shielded.g++.1 b/examples/reax/log.21Apr21.reaxc.tatb-shielded.g++.1 new file mode 100644 index 0000000000..dac271442b --- /dev/null +++ b/examples/reax/log.21Apr21.reaxc.tatb-shielded.g++.1 @@ -0,0 +1,154 @@ +LAMMPS (8 Apr 2021) + using 1 OpenMP thread(s) per MPI task +# ReaxFF potential for RDX system +# this run is equivalent to reax/in.reax.rdx + +units real + +atom_style charge +read_data data.rdx +Reading data file ... + orthogonal box = (35.000000 35.000000 35.000000) to (48.000000 48.000000 48.000000) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 21 atoms + read_data CPU = 0.001 seconds + +pair_style reax/c control.reax_c.rdx +WARNING: Ignoring inactive control parameter: simulation_name (src/USER-REAXC/reaxc_control.cpp:97) +WARNING: Ignoring inactive control parameter: energy_update_freq (src/USER-REAXC/reaxc_control.cpp:97) +WARNING: Support for writing native trajectories has been removed after LAMMPS version 8 April 2021 (src/USER-REAXC/reaxc_control.cpp:113) +WARNING: Ignoring inactive control parameter: traj_title (src/USER-REAXC/reaxc_control.cpp:97) +WARNING: Ignoring inactive control parameter: atom_info (src/USER-REAXC/reaxc_control.cpp:97) +WARNING: Ignoring inactive control parameter: atom_forces (src/USER-REAXC/reaxc_control.cpp:97) +WARNING: Ignoring inactive control parameter: atom_velocities (src/USER-REAXC/reaxc_control.cpp:97) +WARNING: Ignoring inactive control parameter: bond_info (src/USER-REAXC/reaxc_control.cpp:97) +WARNING: Ignoring inactive control parameter: angle_info (src/USER-REAXC/reaxc_control.cpp:97) +pair_coeff * * ffield.reax C H O N +Reading potential file ffield.reax with DATE: 2010-02-19 + +compute reax all pair reax/c + +variable eb equal c_reax[1] +variable ea equal c_reax[2] +variable elp equal c_reax[3] +variable emol equal c_reax[4] +variable ev equal c_reax[5] +variable epen equal c_reax[6] +variable ecoa equal c_reax[7] +variable ehb equal c_reax[8] +variable et equal c_reax[9] +variable eco equal c_reax[10] +variable ew equal c_reax[11] +variable ep equal c_reax[12] +variable efi equal c_reax[13] +variable eqeq equal c_reax[14] + +neighbor 2.5 bin +neigh_modify every 10 delay 0 check no + +fix 1 all nve +fix 2 all qeq/reax 1 0.0 10.0 1.0e-6 reax/c + +variable nqeq equal f_2 + +thermo 10 +thermo_style custom step temp epair etotal press v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq v_nqeq + +timestep 1.0 + +#dump 1 all atom 10 dump.reaxc.rdx + +#dump 2 all image 25 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 3 + +#dump 3 all movie 25 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 3 + +run 100 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- pair reax/c command: + +@Article{Aktulga12, + author = {H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama}, + title = {Parallel reactive molecular dynamics: Numerical methods and algorithmic techniques}, + journal = {Parallel Computing}, + year = 2012, + volume = 38, + pages = {245--259} +} + +- fix qeq/reax command: + +@Article{Aktulga12, + author = {H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama}, + title = {Parallel reactive molecular dynamics: Numerical methods and algorithmic techniques}, + journal = {Parallel Computing}, + year = 2012, + volume = 38, + pages = {245--259} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Neighbor list info ... + update every 10 steps, delay 0 steps, check no + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 12.5 + ghost atom cutoff = 12.5 + binsize = 6.25, bins = 3 3 3 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair reax/c, perpetual + attributes: half, newton off, ghost + pair build: half/bin/newtoff/ghost + stencil: half/ghost/bin/3d/newtoff + bin: standard + (2) fix qeq/reax, perpetual, copy from (1) + attributes: half, newton off, ghost + pair build: copy + stencil: none + bin: none +Per MPI rank memory allocation (min/avg/max) = 13.36 | 13.36 | 13.36 Mbytes +Step Temp E_pair TotEng Press v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq v_nqeq + 0 0 -1884.3081 -1884.3081 27186.181 -2958.4712 79.527715 0.31082031 0 98.589783 25.846176 -0.18034154 0 16.709078 -9.1620736 938.43732 -244.79931 0 168.88396 12.5 + 10 1288.6116 -1989.6644 -1912.8422 -19456.353 -2734.6769 -15.607221 0.2017796 0 54.629557 3.125229 -77.7067 0 14.933901 -5.8108541 843.92073 -180.43321 0 107.75935 8 + 20 538.95819 -1942.7037 -1910.5731 -10725.639 -2803.7394 7.9078269 0.07792668 0 81.610053 0.22951941 -57.557107 0 30.331207 -10.178049 878.99009 -159.68914 0 89.313379 7 + 30 463.09535 -1933.5765 -1905.9686 -33255.546 -2749.859 -8.0154745 0.02762893 0 81.627395 0.11972413 -50.262293 0 20.820303 -9.6327015 851.88715 -149.49499 0 79.205727 8 + 40 885.49171 -1958.9125 -1906.1229 -4814.6856 -2795.644 9.150669 0.13747498 0 70.947982 0.24360485 -57.862663 0 19.076496 -11.141218 873.73893 -159.99393 0 92.434096 11 + 50 861.16578 -1954.4599 -1903.1205 -1896.7713 -2784.845 3.8270515 0.15793266 0 79.851823 3.3492142 -78.06613 0 32.629016 -7.956541 872.81838 -190.98567 0 114.75995 10 + 60 1167.7852 -1971.8429 -1902.224 -3482.7305 -2705.863 -17.12171 0.22749077 0 44.507654 7.8560745 -74.788955 0 16.256483 -4.6046431 835.8304 -188.33691 0 114.19413 10 + 70 1439.9966 -1989.3024 -1903.4553 23845.651 -2890.7895 31.958845 0.26671721 0 85.758695 3.1803544 -71.002903 0 24.357134 -10.31131 905.86775 -175.38471 0 106.79648 10 + 80 502.39438 -1930.7544 -1900.8035 -20356.316 -2703.8115 -18.662467 0.11286011 0 99.804201 2.0329024 -76.171317 0 19.237028 -6.2786907 826.47451 -166.03125 0 92.539398 9 + 90 749.08499 -1946.9838 -1902.3262 17798.51 -2863.7576 42.068716 0.2433807 0 96.181613 0.96184888 -69.955448 0 24.615302 -11.582765 903.68818 -190.13843 0 120.69141 11 + 100 1109.6968 -1968.5874 -1902.4315 -4490.1018 -2755.8965 -7.1231014 0.21757699 0 61.806018 7.0827673 -75.645345 0 20.114997 -6.2371964 863.5635 -198.56976 0 122.09961 10.5 +Loop time of 0.618214 on 1 procs for 100 steps with 21 atoms + +Performance: 13.976 ns/day, 1.717 hours/ns, 161.756 timesteps/s +99.9% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.52298 | 0.52298 | 0.52298 | 0.0 | 84.60 +Neigh | 0.033964 | 0.033964 | 0.033964 | 0.0 | 5.49 +Comm | 0.001708 | 0.001708 | 0.001708 | 0.0 | 0.28 +Output | 0.00060844 | 0.00060844 | 0.00060844 | 0.0 | 0.10 +Modify | 0.058812 | 0.058812 | 0.058812 | 0.0 | 9.51 +Other | | 0.0001411 | | | 0.02 + +Nlocal: 21.0000 ave 21 max 21 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 546.000 ave 546 max 546 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 1096.00 ave 1096 max 1096 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 1096 +Ave neighs/atom = 52.190476 +Neighbor list builds = 10 +Dangerous builds not checked +Total wall time: 0:00:00 diff --git a/examples/reax/log.21Apr21.reaxc.tatb-shielded.g++.4 b/examples/reax/log.21Apr21.reaxc.tatb-shielded.g++.4 new file mode 100644 index 0000000000..74c2a13875 --- /dev/null +++ b/examples/reax/log.21Apr21.reaxc.tatb-shielded.g++.4 @@ -0,0 +1,154 @@ +LAMMPS (8 Apr 2021) + using 1 OpenMP thread(s) per MPI task +# ReaxFF potential for RDX system +# this run is equivalent to reax/in.reax.rdx + +units real + +atom_style charge +read_data data.rdx +Reading data file ... + orthogonal box = (35.000000 35.000000 35.000000) to (48.000000 48.000000 48.000000) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 21 atoms + read_data CPU = 0.001 seconds + +pair_style reax/c control.reax_c.rdx +WARNING: Ignoring inactive control parameter: simulation_name (src/USER-REAXC/reaxc_control.cpp:97) +WARNING: Ignoring inactive control parameter: energy_update_freq (src/USER-REAXC/reaxc_control.cpp:97) +WARNING: Support for writing native trajectories has been removed after LAMMPS version 8 April 2021 (src/USER-REAXC/reaxc_control.cpp:113) +WARNING: Ignoring inactive control parameter: traj_title (src/USER-REAXC/reaxc_control.cpp:97) +WARNING: Ignoring inactive control parameter: atom_info (src/USER-REAXC/reaxc_control.cpp:97) +WARNING: Ignoring inactive control parameter: atom_forces (src/USER-REAXC/reaxc_control.cpp:97) +WARNING: Ignoring inactive control parameter: atom_velocities (src/USER-REAXC/reaxc_control.cpp:97) +WARNING: Ignoring inactive control parameter: bond_info (src/USER-REAXC/reaxc_control.cpp:97) +WARNING: Ignoring inactive control parameter: angle_info (src/USER-REAXC/reaxc_control.cpp:97) +pair_coeff * * ffield.reax C H O N +Reading potential file ffield.reax with DATE: 2010-02-19 + +compute reax all pair reax/c + +variable eb equal c_reax[1] +variable ea equal c_reax[2] +variable elp equal c_reax[3] +variable emol equal c_reax[4] +variable ev equal c_reax[5] +variable epen equal c_reax[6] +variable ecoa equal c_reax[7] +variable ehb equal c_reax[8] +variable et equal c_reax[9] +variable eco equal c_reax[10] +variable ew equal c_reax[11] +variable ep equal c_reax[12] +variable efi equal c_reax[13] +variable eqeq equal c_reax[14] + +neighbor 2.5 bin +neigh_modify every 10 delay 0 check no + +fix 1 all nve +fix 2 all qeq/reax 1 0.0 10.0 1.0e-6 reax/c + +variable nqeq equal f_2 + +thermo 10 +thermo_style custom step temp epair etotal press v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq v_nqeq + +timestep 1.0 + +#dump 1 all atom 10 dump.reaxc.rdx + +#dump 2 all image 25 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 3 + +#dump 3 all movie 25 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 3 + +run 100 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- pair reax/c command: + +@Article{Aktulga12, + author = {H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama}, + title = {Parallel reactive molecular dynamics: Numerical methods and algorithmic techniques}, + journal = {Parallel Computing}, + year = 2012, + volume = 38, + pages = {245--259} +} + +- fix qeq/reax command: + +@Article{Aktulga12, + author = {H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama}, + title = {Parallel reactive molecular dynamics: Numerical methods and algorithmic techniques}, + journal = {Parallel Computing}, + year = 2012, + volume = 38, + pages = {245--259} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Neighbor list info ... + update every 10 steps, delay 0 steps, check no + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 12.5 + ghost atom cutoff = 12.5 + binsize = 6.25, bins = 3 3 3 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair reax/c, perpetual + attributes: half, newton off, ghost + pair build: half/bin/newtoff/ghost + stencil: half/ghost/bin/3d/newtoff + bin: standard + (2) fix qeq/reax, perpetual, copy from (1) + attributes: half, newton off, ghost + pair build: copy + stencil: none + bin: none +Per MPI rank memory allocation (min/avg/max) = 13.36 | 13.36 | 13.36 Mbytes +Step Temp E_pair TotEng Press v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq v_nqeq + 0 0 -1884.3081 -1884.3081 27186.181 -2958.4712 79.527715 0.31082031 0 98.589783 25.846176 -0.18034154 0 16.709078 -9.1620736 938.43732 -244.79931 0 168.88396 12.5 + 10 1288.6116 -1989.6644 -1912.8422 -19456.353 -2734.6769 -15.607221 0.2017796 0 54.629557 3.125229 -77.7067 0 14.933901 -5.8108541 843.92073 -180.43321 0 107.75935 8 + 20 538.95819 -1942.7037 -1910.5731 -10725.639 -2803.7394 7.9078269 0.07792668 0 81.610053 0.22951941 -57.557107 0 30.331207 -10.178049 878.99009 -159.68914 0 89.313379 7 + 30 463.09535 -1933.5765 -1905.9686 -33255.546 -2749.859 -8.0154745 0.02762893 0 81.627395 0.11972413 -50.262293 0 20.820303 -9.6327015 851.88715 -149.49499 0 79.205727 8 + 40 885.49171 -1958.9125 -1906.1229 -4814.6856 -2795.644 9.150669 0.13747498 0 70.947982 0.24360485 -57.862663 0 19.076496 -11.141218 873.73893 -159.99393 0 92.434096 11 + 50 861.16578 -1954.4599 -1903.1205 -1896.7713 -2784.845 3.8270515 0.15793266 0 79.851823 3.3492142 -78.06613 0 32.629016 -7.956541 872.81838 -190.98567 0 114.75995 10 + 60 1167.7852 -1971.8429 -1902.224 -3482.7305 -2705.863 -17.12171 0.22749077 0 44.507654 7.8560745 -74.788955 0 16.256483 -4.6046431 835.8304 -188.33691 0 114.19413 10 + 70 1439.9966 -1989.3024 -1903.4553 23845.651 -2890.7895 31.958845 0.26671721 0 85.758695 3.1803544 -71.002903 0 24.357134 -10.31131 905.86775 -175.38471 0 106.79648 10 + 80 502.39438 -1930.7544 -1900.8035 -20356.316 -2703.8115 -18.662467 0.11286011 0 99.804201 2.0329024 -76.171317 0 19.237028 -6.2786907 826.47451 -166.03125 0 92.539398 9 + 90 749.08499 -1946.9838 -1902.3262 17798.51 -2863.7576 42.068716 0.2433807 0 96.181613 0.96184888 -69.955448 0 24.615302 -11.582765 903.68818 -190.13843 0 120.69141 11 + 100 1109.6968 -1968.5874 -1902.4315 -4490.1018 -2755.8965 -7.1231014 0.21757699 0 61.806018 7.0827673 -75.645345 0 20.114997 -6.2371964 863.5635 -198.56976 0 122.09961 10.5 +Loop time of 0.617311 on 1 procs for 100 steps with 21 atoms + +Performance: 13.996 ns/day, 1.715 hours/ns, 161.993 timesteps/s +99.9% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.52226 | 0.52226 | 0.52226 | 0.0 | 84.60 +Neigh | 0.033952 | 0.033952 | 0.033952 | 0.0 | 5.50 +Comm | 0.0017183 | 0.0017183 | 0.0017183 | 0.0 | 0.28 +Output | 0.00060129 | 0.00060129 | 0.00060129 | 0.0 | 0.10 +Modify | 0.058648 | 0.058648 | 0.058648 | 0.0 | 9.50 +Other | | 0.0001364 | | | 0.02 + +Nlocal: 21.0000 ave 21 max 21 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 546.000 ave 546 max 546 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 1096.00 ave 1096 max 1096 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 1096 +Ave neighs/atom = 52.190476 +Neighbor list builds = 10 +Dangerous builds not checked +Total wall time: 0:00:00 diff --git a/examples/reax/log.21Apr21.reaxc.tatb.g++.1 b/examples/reax/log.21Apr21.reaxc.tatb.g++.1 new file mode 100644 index 0000000000..d79287b694 --- /dev/null +++ b/examples/reax/log.21Apr21.reaxc.tatb.g++.1 @@ -0,0 +1,154 @@ +LAMMPS (8 Apr 2021) + using 1 OpenMP thread(s) per MPI task +# ReaxFF potential for RDX system +# this run is equivalent to reax/in.reax.rdx + +units real + +atom_style charge +read_data data.rdx +Reading data file ... + orthogonal box = (35.000000 35.000000 35.000000) to (48.000000 48.000000 48.000000) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 21 atoms + read_data CPU = 0.001 seconds + +pair_style reax/c control.reax_c.rdx +WARNING: Ignoring inactive control parameter: simulation_name (src/USER-REAXC/reaxc_control.cpp:97) +WARNING: Ignoring inactive control parameter: energy_update_freq (src/USER-REAXC/reaxc_control.cpp:97) +WARNING: Support for writing native trajectories has been removed after LAMMPS version 8 April 2021 (src/USER-REAXC/reaxc_control.cpp:113) +WARNING: Ignoring inactive control parameter: traj_title (src/USER-REAXC/reaxc_control.cpp:97) +WARNING: Ignoring inactive control parameter: atom_info (src/USER-REAXC/reaxc_control.cpp:97) +WARNING: Ignoring inactive control parameter: atom_forces (src/USER-REAXC/reaxc_control.cpp:97) +WARNING: Ignoring inactive control parameter: atom_velocities (src/USER-REAXC/reaxc_control.cpp:97) +WARNING: Ignoring inactive control parameter: bond_info (src/USER-REAXC/reaxc_control.cpp:97) +WARNING: Ignoring inactive control parameter: angle_info (src/USER-REAXC/reaxc_control.cpp:97) +pair_coeff * * ffield.reax C H O N +Reading potential file ffield.reax with DATE: 2010-02-19 + +compute reax all pair reax/c + +variable eb equal c_reax[1] +variable ea equal c_reax[2] +variable elp equal c_reax[3] +variable emol equal c_reax[4] +variable ev equal c_reax[5] +variable epen equal c_reax[6] +variable ecoa equal c_reax[7] +variable ehb equal c_reax[8] +variable et equal c_reax[9] +variable eco equal c_reax[10] +variable ew equal c_reax[11] +variable ep equal c_reax[12] +variable efi equal c_reax[13] +variable eqeq equal c_reax[14] + +neighbor 2.5 bin +neigh_modify every 10 delay 0 check no + +fix 1 all nve +fix 2 all qeq/reax 1 0.0 10.0 1.0e-6 reax/c + +variable nqeq equal f_2 + +thermo 10 +thermo_style custom step temp epair etotal press v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq v_nqeq + +timestep 1.0 + +#dump 1 all atom 10 dump.reaxc.rdx + +#dump 2 all image 25 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 3 + +#dump 3 all movie 25 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 3 + +run 100 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- pair reax/c command: + +@Article{Aktulga12, + author = {H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama}, + title = {Parallel reactive molecular dynamics: Numerical methods and algorithmic techniques}, + journal = {Parallel Computing}, + year = 2012, + volume = 38, + pages = {245--259} +} + +- fix qeq/reax command: + +@Article{Aktulga12, + author = {H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama}, + title = {Parallel reactive molecular dynamics: Numerical methods and algorithmic techniques}, + journal = {Parallel Computing}, + year = 2012, + volume = 38, + pages = {245--259} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Neighbor list info ... + update every 10 steps, delay 0 steps, check no + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 12.5 + ghost atom cutoff = 12.5 + binsize = 6.25, bins = 3 3 3 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair reax/c, perpetual + attributes: half, newton off, ghost + pair build: half/bin/newtoff/ghost + stencil: half/ghost/bin/3d/newtoff + bin: standard + (2) fix qeq/reax, perpetual, copy from (1) + attributes: half, newton off, ghost + pair build: copy + stencil: none + bin: none +Per MPI rank memory allocation (min/avg/max) = 13.36 | 13.36 | 13.36 Mbytes +Step Temp E_pair TotEng Press v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq v_nqeq + 0 0 -1884.3081 -1884.3081 27186.181 -2958.4712 79.527715 0.31082031 0 98.589783 25.846176 -0.18034154 0 16.709078 -9.1620736 938.43732 -244.79931 0 168.88396 12.5 + 10 1288.6116 -1989.6644 -1912.8422 -19456.353 -2734.6769 -15.607221 0.2017796 0 54.629557 3.125229 -77.7067 0 14.933901 -5.8108541 843.92073 -180.43321 0 107.75935 8 + 20 538.95819 -1942.7037 -1910.5731 -10725.639 -2803.7394 7.9078269 0.07792668 0 81.610053 0.22951941 -57.557107 0 30.331207 -10.178049 878.99009 -159.68914 0 89.313379 7 + 30 463.09535 -1933.5765 -1905.9686 -33255.546 -2749.859 -8.0154745 0.02762893 0 81.627395 0.11972413 -50.262293 0 20.820303 -9.6327015 851.88715 -149.49499 0 79.205727 8 + 40 885.49171 -1958.9125 -1906.1229 -4814.6856 -2795.644 9.150669 0.13747498 0 70.947982 0.24360485 -57.862663 0 19.076496 -11.141218 873.73893 -159.99393 0 92.434096 11 + 50 861.16578 -1954.4599 -1903.1205 -1896.7713 -2784.845 3.8270515 0.15793266 0 79.851823 3.3492142 -78.06613 0 32.629016 -7.956541 872.81838 -190.98567 0 114.75995 10 + 60 1167.7852 -1971.8429 -1902.224 -3482.7305 -2705.863 -17.12171 0.22749077 0 44.507654 7.8560745 -74.788955 0 16.256483 -4.6046431 835.8304 -188.33691 0 114.19413 10 + 70 1439.9966 -1989.3024 -1903.4553 23845.651 -2890.7895 31.958845 0.26671721 0 85.758695 3.1803544 -71.002903 0 24.357134 -10.31131 905.86775 -175.38471 0 106.79648 10 + 80 502.39438 -1930.7544 -1900.8035 -20356.316 -2703.8115 -18.662467 0.11286011 0 99.804201 2.0329024 -76.171317 0 19.237028 -6.2786907 826.47451 -166.03125 0 92.539398 9 + 90 749.08499 -1946.9838 -1902.3262 17798.51 -2863.7576 42.068716 0.2433807 0 96.181613 0.96184888 -69.955448 0 24.615302 -11.582765 903.68818 -190.13843 0 120.69141 11 + 100 1109.6968 -1968.5874 -1902.4315 -4490.1018 -2755.8965 -7.1231014 0.21757699 0 61.806018 7.0827673 -75.645345 0 20.114997 -6.2371964 863.5635 -198.56976 0 122.09961 10.5 +Loop time of 0.617401 on 1 procs for 100 steps with 21 atoms + +Performance: 13.994 ns/day, 1.715 hours/ns, 161.969 timesteps/s +99.8% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.52185 | 0.52185 | 0.52185 | 0.0 | 84.52 +Neigh | 0.034507 | 0.034507 | 0.034507 | 0.0 | 5.59 +Comm | 0.0017211 | 0.0017211 | 0.0017211 | 0.0 | 0.28 +Output | 0.00060844 | 0.00060844 | 0.00060844 | 0.0 | 0.10 +Modify | 0.058573 | 0.058573 | 0.058573 | 0.0 | 9.49 +Other | | 0.0001466 | | | 0.02 + +Nlocal: 21.0000 ave 21 max 21 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 546.000 ave 546 max 546 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 1096.00 ave 1096 max 1096 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 1096 +Ave neighs/atom = 52.190476 +Neighbor list builds = 10 +Dangerous builds not checked +Total wall time: 0:00:00 diff --git a/examples/reax/log.21Apr21.reaxc.tatb.g++.4 b/examples/reax/log.21Apr21.reaxc.tatb.g++.4 new file mode 100644 index 0000000000..e0cb6b6760 --- /dev/null +++ b/examples/reax/log.21Apr21.reaxc.tatb.g++.4 @@ -0,0 +1,154 @@ +LAMMPS (8 Apr 2021) + using 1 OpenMP thread(s) per MPI task +# ReaxFF potential for RDX system +# this run is equivalent to reax/in.reax.rdx + +units real + +atom_style charge +read_data data.rdx +Reading data file ... + orthogonal box = (35.000000 35.000000 35.000000) to (48.000000 48.000000 48.000000) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 21 atoms + read_data CPU = 0.001 seconds + +pair_style reax/c control.reax_c.rdx +WARNING: Ignoring inactive control parameter: simulation_name (src/USER-REAXC/reaxc_control.cpp:97) +WARNING: Ignoring inactive control parameter: energy_update_freq (src/USER-REAXC/reaxc_control.cpp:97) +WARNING: Support for writing native trajectories has been removed after LAMMPS version 8 April 2021 (src/USER-REAXC/reaxc_control.cpp:113) +WARNING: Ignoring inactive control parameter: traj_title (src/USER-REAXC/reaxc_control.cpp:97) +WARNING: Ignoring inactive control parameter: atom_info (src/USER-REAXC/reaxc_control.cpp:97) +WARNING: Ignoring inactive control parameter: atom_forces (src/USER-REAXC/reaxc_control.cpp:97) +WARNING: Ignoring inactive control parameter: atom_velocities (src/USER-REAXC/reaxc_control.cpp:97) +WARNING: Ignoring inactive control parameter: bond_info (src/USER-REAXC/reaxc_control.cpp:97) +WARNING: Ignoring inactive control parameter: angle_info (src/USER-REAXC/reaxc_control.cpp:97) +pair_coeff * * ffield.reax C H O N +Reading potential file ffield.reax with DATE: 2010-02-19 + +compute reax all pair reax/c + +variable eb equal c_reax[1] +variable ea equal c_reax[2] +variable elp equal c_reax[3] +variable emol equal c_reax[4] +variable ev equal c_reax[5] +variable epen equal c_reax[6] +variable ecoa equal c_reax[7] +variable ehb equal c_reax[8] +variable et equal c_reax[9] +variable eco equal c_reax[10] +variable ew equal c_reax[11] +variable ep equal c_reax[12] +variable efi equal c_reax[13] +variable eqeq equal c_reax[14] + +neighbor 2.5 bin +neigh_modify every 10 delay 0 check no + +fix 1 all nve +fix 2 all qeq/reax 1 0.0 10.0 1.0e-6 reax/c + +variable nqeq equal f_2 + +thermo 10 +thermo_style custom step temp epair etotal press v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq v_nqeq + +timestep 1.0 + +#dump 1 all atom 10 dump.reaxc.rdx + +#dump 2 all image 25 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 3 + +#dump 3 all movie 25 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 3 + +run 100 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- pair reax/c command: + +@Article{Aktulga12, + author = {H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama}, + title = {Parallel reactive molecular dynamics: Numerical methods and algorithmic techniques}, + journal = {Parallel Computing}, + year = 2012, + volume = 38, + pages = {245--259} +} + +- fix qeq/reax command: + +@Article{Aktulga12, + author = {H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama}, + title = {Parallel reactive molecular dynamics: Numerical methods and algorithmic techniques}, + journal = {Parallel Computing}, + year = 2012, + volume = 38, + pages = {245--259} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Neighbor list info ... + update every 10 steps, delay 0 steps, check no + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 12.5 + ghost atom cutoff = 12.5 + binsize = 6.25, bins = 3 3 3 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair reax/c, perpetual + attributes: half, newton off, ghost + pair build: half/bin/newtoff/ghost + stencil: half/ghost/bin/3d/newtoff + bin: standard + (2) fix qeq/reax, perpetual, copy from (1) + attributes: half, newton off, ghost + pair build: copy + stencil: none + bin: none +Per MPI rank memory allocation (min/avg/max) = 13.36 | 13.36 | 13.36 Mbytes +Step Temp E_pair TotEng Press v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq v_nqeq + 0 0 -1884.3081 -1884.3081 27186.181 -2958.4712 79.527715 0.31082031 0 98.589783 25.846176 -0.18034154 0 16.709078 -9.1620736 938.43732 -244.79931 0 168.88396 12.5 + 10 1288.6116 -1989.6644 -1912.8422 -19456.353 -2734.6769 -15.607221 0.2017796 0 54.629557 3.125229 -77.7067 0 14.933901 -5.8108541 843.92073 -180.43321 0 107.75935 8 + 20 538.95819 -1942.7037 -1910.5731 -10725.639 -2803.7394 7.9078269 0.07792668 0 81.610053 0.22951941 -57.557107 0 30.331207 -10.178049 878.99009 -159.68914 0 89.313379 7 + 30 463.09535 -1933.5765 -1905.9686 -33255.546 -2749.859 -8.0154745 0.02762893 0 81.627395 0.11972413 -50.262293 0 20.820303 -9.6327015 851.88715 -149.49499 0 79.205727 8 + 40 885.49171 -1958.9125 -1906.1229 -4814.6856 -2795.644 9.150669 0.13747498 0 70.947982 0.24360485 -57.862663 0 19.076496 -11.141218 873.73893 -159.99393 0 92.434096 11 + 50 861.16578 -1954.4599 -1903.1205 -1896.7713 -2784.845 3.8270515 0.15793266 0 79.851823 3.3492142 -78.06613 0 32.629016 -7.956541 872.81838 -190.98567 0 114.75995 10 + 60 1167.7852 -1971.8429 -1902.224 -3482.7305 -2705.863 -17.12171 0.22749077 0 44.507654 7.8560745 -74.788955 0 16.256483 -4.6046431 835.8304 -188.33691 0 114.19413 10 + 70 1439.9966 -1989.3024 -1903.4553 23845.651 -2890.7895 31.958845 0.26671721 0 85.758695 3.1803544 -71.002903 0 24.357134 -10.31131 905.86775 -175.38471 0 106.79648 10 + 80 502.39438 -1930.7544 -1900.8035 -20356.316 -2703.8115 -18.662467 0.11286011 0 99.804201 2.0329024 -76.171317 0 19.237028 -6.2786907 826.47451 -166.03125 0 92.539398 9 + 90 749.08499 -1946.9838 -1902.3262 17798.51 -2863.7576 42.068716 0.2433807 0 96.181613 0.96184888 -69.955448 0 24.615302 -11.582765 903.68818 -190.13843 0 120.69141 11 + 100 1109.6968 -1968.5874 -1902.4315 -4490.1018 -2755.8965 -7.1231014 0.21757699 0 61.806018 7.0827673 -75.645345 0 20.114997 -6.2371964 863.5635 -198.56976 0 122.09961 10.5 +Loop time of 0.617397 on 1 procs for 100 steps with 21 atoms + +Performance: 13.994 ns/day, 1.715 hours/ns, 161.970 timesteps/s +99.7% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.52183 | 0.52183 | 0.52183 | 0.0 | 84.52 +Neigh | 0.034217 | 0.034217 | 0.034217 | 0.0 | 5.54 +Comm | 0.0017104 | 0.0017104 | 0.0017104 | 0.0 | 0.28 +Output | 0.00059891 | 0.00059891 | 0.00059891 | 0.0 | 0.10 +Modify | 0.0589 | 0.0589 | 0.0589 | 0.0 | 9.54 +Other | | 0.0001419 | | | 0.02 + +Nlocal: 21.0000 ave 21 max 21 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 546.000 ave 546 max 546 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 1096.00 ave 1096 max 1096 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 1096 +Ave neighs/atom = 52.190476 +Neighbor list builds = 10 +Dangerous builds not checked +Total wall time: 0:00:00 diff --git a/examples/reax/log.4Jan19.reaxc.rdx-shielded.g++.1 b/examples/reax/log.4Jan19.reaxc.rdx-shielded.g++.1 deleted file mode 100644 index 9e991a5d6e..0000000000 --- a/examples/reax/log.4Jan19.reaxc.rdx-shielded.g++.1 +++ /dev/null @@ -1,116 +0,0 @@ -LAMMPS (4 Jan 2019) -# ReaxFF potential for RDX system -# this run is equivalent to reax/in.reax.rdx - -units real - -atom_style charge -read_data data.rdx - orthogonal box = (35 35 35) to (48 48 48) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 21 atoms - -pair_style reax/c control.reax_c.rdx -pair_coeff * * ffield.reax C H O N -Reading potential file ffield.reax with DATE: 2010-02-19 - -compute reax all pair reax/c - -variable eb equal c_reax[1] -variable ea equal c_reax[2] -variable elp equal c_reax[3] -variable emol equal c_reax[4] -variable ev equal c_reax[5] -variable epen equal c_reax[6] -variable ecoa equal c_reax[7] -variable ehb equal c_reax[8] -variable et equal c_reax[9] -variable eco equal c_reax[10] -variable ew equal c_reax[11] -variable ep equal c_reax[12] -variable efi equal c_reax[13] -variable eqeq equal c_reax[14] - -neighbor 2.5 bin -neigh_modify every 10 delay 0 check no - -fix 1 all nve -fix 2 all qeq/shielded 1 10.0 1.0e-6 100 reax/c - -thermo 10 -thermo_style custom step temp epair etotal press v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq - -timestep 1.0 - -#dump 1 all atom 10 dump.reaxc.rdx - -#dump 2 all image 25 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 3 - -#dump 3 all movie 25 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 3 - -run 100 -Neighbor list info ... - update every 10 steps, delay 0 steps, check no - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 12.5 - ghost atom cutoff = 12.5 - binsize = 6.25, bins = 3 3 3 - 2 neighbor lists, perpetual/occasional/extra = 2 0 0 - (1) pair reax/c, perpetual - attributes: half, newton off, ghost - pair build: half/bin/newtoff/ghost - stencil: half/ghost/bin/3d/newtoff - bin: standard - (2) fix qeq/shielded, perpetual - attributes: full, newton on - pair build: full/bin/atomonly - stencil: full/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 15.54 | 15.54 | 15.54 Mbytes -Step Temp E_pair TotEng Press v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq - 0 0 -1884.3081 -1884.3081 27186.181 -2958.4712 79.527715 0.31082031 0 98.589783 25.846176 -0.18034154 0 16.709078 -9.1620736 938.43732 -244.79939 0 168.88404 - 10 1288.6115 -1989.6644 -1912.8422 -19456.353 -2734.6769 -15.60722 0.2017796 0 54.629557 3.1252289 -77.7067 0 14.933901 -5.8108542 843.92073 -180.43321 0 107.75934 - 20 538.95832 -1942.7037 -1910.5731 -10725.665 -2803.7395 7.9078296 0.077926657 0 81.61005 0.22951928 -57.5571 0 30.331204 -10.178049 878.99014 -159.69088 0 89.31512 - 30 463.09535 -1933.5765 -1905.9685 -33255.521 -2749.8591 -8.0154561 0.027628873 0 81.62739 0.11972409 -50.262289 0 20.820315 -9.6327029 851.88723 -149.49502 0 79.205749 - 40 885.49232 -1958.9126 -1906.1229 -4814.704 -2795.644 9.1506683 0.13747502 0 70.947988 0.2436053 -57.862679 0 19.076499 -11.141216 873.73896 -159.99392 0 92.434085 - 50 861.16622 -1954.4599 -1903.1204 -1896.7878 -2784.8448 3.8269901 0.15793272 0 79.851828 3.3492155 -78.066128 0 32.628996 -7.9565333 872.81832 -190.98567 0 114.75995 - 60 1167.7852 -1971.843 -1902.2241 -3482.6875 -2705.8632 -17.121673 0.22749075 0 44.507672 7.856086 -74.788945 0 16.256491 -4.6046463 835.83056 -188.33693 0 114.19414 - 70 1439.997 -1989.3024 -1903.4553 23845.434 -2890.7895 31.958869 0.26671726 0 85.758681 3.1803462 -71.002898 0 24.35711 -10.311314 905.86781 -175.38471 0 106.79648 - 80 502.39629 -1930.7545 -1900.8035 -20356.384 -2703.8111 -18.66263 0.11286065 0 99.804114 2.0329076 -76.171338 0 19.23692 -6.2786691 826.47429 -166.03132 0 92.539464 - 90 749.08722 -1946.9837 -1902.3259 17798.557 -2863.7579 42.068808 0.24338058 0 96.181716 0.96183793 -69.955449 0 24.615308 -11.58277 903.68837 -190.13841 0 120.6914 - 100 1109.6997 -1968.5874 -1902.4313 -4490.2776 -2755.896 -7.1232734 0.21757686 0 61.806176 7.0827207 -75.645383 0 20.114879 -6.2371839 863.56324 -198.56967 0 122.09951 -Loop time of 0.657427 on 1 procs for 100 steps with 21 atoms - -Performance: 13.142 ns/day, 1.826 hours/ns, 152.108 timesteps/s -99.3% 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.59308 | 0.59308 | 0.59308 | 0.0 | 90.21 -Neigh | 0.020665 | 0.020665 | 0.020665 | 0.0 | 3.14 -Comm | 0.0015757 | 0.0015757 | 0.0015757 | 0.0 | 0.24 -Output | 0.00039387 | 0.00039387 | 0.00039387 | 0.0 | 0.06 -Modify | 0.04156 | 0.04156 | 0.04156 | 0.0 | 6.32 -Other | | 0.000154 | | | 0.02 - -Nlocal: 21 ave 21 max 21 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 546 ave 546 max 546 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 1096 ave 1096 max 1096 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -FullNghs: 1306 ave 1306 max 1306 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 1306 -Ave neighs/atom = 62.1905 -Neighbor list builds = 10 -Dangerous builds not checked - -Please see the log.cite file for references relevant to this simulation - -Total wall time: 0:00:00 diff --git a/examples/reax/log.4Jan19.reaxc.rdx-shielded.g++.4 b/examples/reax/log.4Jan19.reaxc.rdx-shielded.g++.4 deleted file mode 100644 index 1492865c17..0000000000 --- a/examples/reax/log.4Jan19.reaxc.rdx-shielded.g++.4 +++ /dev/null @@ -1,116 +0,0 @@ -LAMMPS (4 Jan 2019) -# ReaxFF potential for RDX system -# this run is equivalent to reax/in.reax.rdx - -units real - -atom_style charge -read_data data.rdx - orthogonal box = (35 35 35) to (48 48 48) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 21 atoms - -pair_style reax/c control.reax_c.rdx -pair_coeff * * ffield.reax C H O N -Reading potential file ffield.reax with DATE: 2010-02-19 - -compute reax all pair reax/c - -variable eb equal c_reax[1] -variable ea equal c_reax[2] -variable elp equal c_reax[3] -variable emol equal c_reax[4] -variable ev equal c_reax[5] -variable epen equal c_reax[6] -variable ecoa equal c_reax[7] -variable ehb equal c_reax[8] -variable et equal c_reax[9] -variable eco equal c_reax[10] -variable ew equal c_reax[11] -variable ep equal c_reax[12] -variable efi equal c_reax[13] -variable eqeq equal c_reax[14] - -neighbor 2.5 bin -neigh_modify every 10 delay 0 check no - -fix 1 all nve -fix 2 all qeq/shielded 1 10.0 1.0e-6 100 reax/c - -thermo 10 -thermo_style custom step temp epair etotal press v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq - -timestep 1.0 - -#dump 1 all atom 10 dump.reaxc.rdx - -#dump 2 all image 25 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 3 - -#dump 3 all movie 25 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 3 - -run 100 -Neighbor list info ... - update every 10 steps, delay 0 steps, check no - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 12.5 - ghost atom cutoff = 12.5 - binsize = 6.25, bins = 3 3 3 - 2 neighbor lists, perpetual/occasional/extra = 2 0 0 - (1) pair reax/c, perpetual - attributes: half, newton off, ghost - pair build: half/bin/newtoff/ghost - stencil: half/ghost/bin/3d/newtoff - bin: standard - (2) fix qeq/shielded, perpetual - attributes: full, newton on - pair build: full/bin/atomonly - stencil: full/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 10.62 | 12.08 | 13.84 Mbytes -Step Temp E_pair TotEng Press v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq - 0 0 -1884.3081 -1884.3081 27186.178 -2958.4712 79.527715 0.31082031 0 98.589783 25.846176 -0.18034154 0 16.709078 -9.1620736 938.43732 -244.79987 0 168.88452 - 10 1288.6116 -1989.6644 -1912.8422 -19456.355 -2734.6769 -15.60722 0.2017796 0 54.629559 3.1252284 -77.7067 0 14.933902 -5.8108544 843.92073 -180.43321 0 107.75934 - 20 538.95818 -1942.7037 -1910.5731 -10725.629 -2803.7394 7.9078295 0.077926694 0 81.61005 0.22951941 -57.557106 0 30.331206 -10.178049 878.9901 -159.68969 0 89.313929 - 30 463.09529 -1933.5765 -1905.9685 -33255.529 -2749.859 -8.0154758 0.027628845 0 81.627406 0.1197241 -50.26229 0 20.82031 -9.6327013 851.88715 -149.49497 0 79.205706 - 40 885.49462 -1958.9125 -1906.1227 -4814.6528 -2795.6439 9.1506212 0.13747486 0 70.94804 0.24360501 -57.862675 0 19.076509 -11.141214 873.7389 -159.99391 0 92.434076 - 50 861.16112 -1954.4601 -1903.121 -1896.6704 -2784.8452 3.8270543 0.15793292 0 79.851662 3.3492078 -78.066133 0 32.628979 -7.9565431 872.81857 -190.9857 0 114.75999 - 60 1167.7837 -1971.8434 -1902.2245 -3482.8961 -2705.8635 -17.121601 0.22749083 0 44.507696 7.8559922 -74.789025 0 16.256492 -4.6046625 835.83053 -188.33688 0 114.19412 - 70 1439.9917 -1989.3024 -1903.4555 23845.887 -2890.7894 31.958677 0.26671714 0 85.758424 3.1804092 -71.002955 0 24.357221 -10.311284 905.86805 -175.38496 0 106.7967 - 80 502.39695 -1930.7548 -1900.8039 -20356.331 -2703.8113 -18.662598 0.11286102 0 99.803743 2.0329429 -76.171299 0 19.236922 -6.2786652 826.4744 -166.03139 0 92.539525 - 90 749.08478 -1946.984 -1902.3264 17798.605 -2863.7581 42.068587 0.24338052 0 96.181622 0.96184063 -69.955519 0 24.615456 -11.582749 903.68853 -190.13827 0 120.69126 - 100 1109.6952 -1968.5879 -1902.4321 -4490.2728 -2755.8985 -7.1225966 0.21757682 0 61.805902 7.0826502 -75.64544 0 20.115369 -6.2372513 863.56451 -198.56956 0 122.09944 -Loop time of 0.634333 on 4 procs for 100 steps with 21 atoms - -Performance: 13.621 ns/day, 1.762 hours/ns, 157.646 timesteps/s -93.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.53395 | 0.5352 | 0.53805 | 0.2 | 84.37 -Neigh | 0.0088253 | 0.012023 | 0.016203 | 2.4 | 1.90 -Comm | 0.0051677 | 0.0081 | 0.0093861 | 1.9 | 1.28 -Output | 0.00049353 | 0.00054371 | 0.00058222 | 0.0 | 0.09 -Modify | 0.074155 | 0.078299 | 0.081472 | 0.9 | 12.34 -Other | | 0.0001715 | | | 0.03 - -Nlocal: 5.25 ave 15 max 0 min -Histogram: 1 0 2 0 0 0 0 0 0 1 -Nghost: 355.5 ave 432 max 282 min -Histogram: 1 0 0 0 1 1 0 0 0 1 -Neighs: 298.75 ave 822 max 0 min -Histogram: 1 0 2 0 0 0 0 0 0 1 -FullNghs: 326.5 ave 927 max 0 min -Histogram: 1 0 2 0 0 0 0 0 0 1 - -Total # of neighbors = 1306 -Ave neighs/atom = 62.1905 -Neighbor list builds = 10 -Dangerous builds not checked - -Please see the log.cite file for references relevant to this simulation - -Total wall time: 0:00:00 diff --git a/examples/reax/log.4Jan19.reaxc.tatb-shielded.g++.1 b/examples/reax/log.4Jan19.reaxc.tatb-shielded.g++.1 deleted file mode 100644 index 86dc1c323a..0000000000 --- a/examples/reax/log.4Jan19.reaxc.tatb-shielded.g++.1 +++ /dev/null @@ -1,114 +0,0 @@ -LAMMPS (4 Jan 2019) -# ReaxFF potential for TATB system -# this run is equivalent to reax/in.reax.tatb, - -units real - -atom_style charge -read_data data.tatb - triclinic box = (0 0 0) to (13.624 17.1149 15.1826) with tilt (-5.75316 -6.32547 7.42573) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 384 atoms - -pair_style reax/c control.reax_c.tatb -pair_coeff * * ffield.reax C H O N -Reading potential file ffield.reax with DATE: 2010-02-19 - -compute reax all pair reax/c - -variable eb equal c_reax[1] -variable ea equal c_reax[2] -variable elp equal c_reax[3] -variable emol equal c_reax[4] -variable ev equal c_reax[5] -variable epen equal c_reax[6] -variable ecoa equal c_reax[7] -variable ehb equal c_reax[8] -variable et equal c_reax[9] -variable eco equal c_reax[10] -variable ew equal c_reax[11] -variable ep equal c_reax[12] -variable efi equal c_reax[13] -variable eqeq equal c_reax[14] - -neighbor 2.5 bin -neigh_modify delay 0 every 5 check no - -fix 1 all nve -fix 2 all qeq/shielded 1 10.0 1.0e-6 100 reax/c -fix 4 all reax/c/bonds 5 bonds.reaxc - -thermo 5 -thermo_style custom step temp epair etotal press v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq - -timestep 0.0625 - -#dump 1 all custom 100 dump.reaxc.tatb id type q x y z - -#dump 2 all image 5 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 3 - -#dump 3 all movie 5 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 3 - -fix 3 all reax/c/species 1 5 5 species.tatb - -run 25 -Neighbor list info ... - update every 5 steps, delay 0 steps, check no - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 12.5 - ghost atom cutoff = 12.5 - binsize = 6.25, bins = 5 4 3 - 2 neighbor lists, perpetual/occasional/extra = 2 0 0 - (1) pair reax/c, perpetual - attributes: half, newton off, ghost - pair build: half/bin/newtoff/ghost - stencil: half/ghost/bin/3d/newtoff - bin: standard - (2) fix qeq/shielded, perpetual - attributes: full, newton on - pair build: full/bin/atomonly - stencil: full/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 169.6 | 169.6 | 169.6 Mbytes -Step Temp E_pair TotEng Press v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq - 0 0 -44760.998 -44760.998 7827.7879 -61120.591 486.4378 4.7236377 0 1574.1033 20.788929 -279.51642 -1556.4696 252.57147 -655.84699 18862.412 -8740.6394 0 6391.0274 - 5 0.61603942 -44761.698 -44760.994 8934.628 -61118.769 486.81263 4.7234094 0 1573.9241 20.768834 -278.24084 -1557.6713 252.64377 -655.74435 18859.379 -8738.193 0 6388.6691 - 10 2.3525549 -44763.227 -44760.541 12288.614 -61113.174 487.82738 4.7226863 0 1573.411 20.705939 -274.50358 -1560.7569 252.85309 -655.44063 18850.391 -8730.9684 0 6381.7061 - 15 4.9013311 -44766.36 -44760.764 17716.982 -61103.434 489.14721 4.7213644 0 1572.6349 20.593139 -268.56847 -1566.3829 252.95174 -654.96611 18835.777 -8719.2449 0 6370.4111 - 20 7.8294673 -44769.686 -44760.747 25205.558 -61089.006 490.21313 4.719302 0 1571.7022 20.420943 -260.85565 -1573.7378 253.3539 -654.31623 18816.07 -8703.5142 0 6355.2654 - 25 10.697904 -44772.904 -44760.691 34232.821 -61069.308 490.25886 4.7163736 0 1570.7397 20.181346 -251.91378 -1582.3261 253.82253 -653.53184 18791.975 -8684.3541 0 6336.8349 -Loop time of 7.80985 on 1 procs for 25 steps with 384 atoms - -Performance: 0.017 ns/day, 1388.418 hours/ns, 3.201 timesteps/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 | 5.003 | 5.003 | 5.003 | 0.0 | 64.06 -Neigh | 1.1164 | 1.1164 | 1.1164 | 0.0 | 14.29 -Comm | 0.0065806 | 0.0065806 | 0.0065806 | 0.0 | 0.08 -Output | 0.00029969 | 0.00029969 | 0.00029969 | 0.0 | 0.00 -Modify | 1.6831 | 1.6831 | 1.6831 | 0.0 | 21.55 -Other | | 0.0004976 | | | 0.01 - -Nlocal: 384 ave 384 max 384 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 7559 ave 7559 max 7559 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 286828 ave 286828 max 286828 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -FullNghs: 336304 ave 336304 max 336304 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 336304 -Ave neighs/atom = 875.792 -Neighbor list builds = 5 -Dangerous builds not checked - -Please see the log.cite file for references relevant to this simulation - -Total wall time: 0:00:08 diff --git a/examples/reax/log.4Jan19.reaxc.tatb-shielded.g++.4 b/examples/reax/log.4Jan19.reaxc.tatb-shielded.g++.4 deleted file mode 100644 index 7dc9867f5a..0000000000 --- a/examples/reax/log.4Jan19.reaxc.tatb-shielded.g++.4 +++ /dev/null @@ -1,114 +0,0 @@ -LAMMPS (4 Jan 2019) -# ReaxFF potential for TATB system -# this run is equivalent to reax/in.reax.tatb, - -units real - -atom_style charge -read_data data.tatb - triclinic box = (0 0 0) to (13.624 17.1149 15.1826) with tilt (-5.75316 -6.32547 7.42573) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 384 atoms - -pair_style reax/c control.reax_c.tatb -pair_coeff * * ffield.reax C H O N -Reading potential file ffield.reax with DATE: 2010-02-19 - -compute reax all pair reax/c - -variable eb equal c_reax[1] -variable ea equal c_reax[2] -variable elp equal c_reax[3] -variable emol equal c_reax[4] -variable ev equal c_reax[5] -variable epen equal c_reax[6] -variable ecoa equal c_reax[7] -variable ehb equal c_reax[8] -variable et equal c_reax[9] -variable eco equal c_reax[10] -variable ew equal c_reax[11] -variable ep equal c_reax[12] -variable efi equal c_reax[13] -variable eqeq equal c_reax[14] - -neighbor 2.5 bin -neigh_modify delay 0 every 5 check no - -fix 1 all nve -fix 2 all qeq/shielded 1 10.0 1.0e-6 100 reax/c -fix 4 all reax/c/bonds 5 bonds.reaxc - -thermo 5 -thermo_style custom step temp epair etotal press v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq - -timestep 0.0625 - -#dump 1 all custom 100 dump.reaxc.tatb id type q x y z - -#dump 2 all image 5 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 3 - -#dump 3 all movie 5 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 3 - -fix 3 all reax/c/species 1 5 5 species.tatb - -run 25 -Neighbor list info ... - update every 5 steps, delay 0 steps, check no - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 12.5 - ghost atom cutoff = 12.5 - binsize = 6.25, bins = 5 4 3 - 2 neighbor lists, perpetual/occasional/extra = 2 0 0 - (1) pair reax/c, perpetual - attributes: half, newton off, ghost - pair build: half/bin/newtoff/ghost - stencil: half/ghost/bin/3d/newtoff - bin: standard - (2) fix qeq/shielded, perpetual - attributes: full, newton on - pair build: full/bin/atomonly - stencil: full/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 113 | 113 | 113 Mbytes -Step Temp E_pair TotEng Press v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq - 0 0 -44760.998 -44760.998 7827.7866 -61120.591 486.4378 4.7236377 0 1574.1033 20.788929 -279.51642 -1556.4696 252.57147 -655.84699 18862.412 -8740.6398 0 6391.0277 - 5 0.61603968 -44761.698 -44760.994 8934.6336 -61118.769 486.81263 4.7234094 0 1573.9241 20.768834 -278.24084 -1557.6713 252.64377 -655.74435 18859.379 -8738.1906 0 6388.6666 - 10 2.3525543 -44763.227 -44760.541 12288.588 -61113.174 487.82738 4.7226863 0 1573.411 20.705939 -274.50357 -1560.7569 252.85309 -655.44063 18850.391 -8730.9756 0 6381.7133 - 15 4.9013233 -44766.36 -44760.764 17716.934 -61103.434 489.14722 4.7213644 0 1572.6349 20.593139 -268.56847 -1566.3829 252.95174 -654.96611 18835.777 -8719.2627 0 6370.4289 - 20 7.8294615 -44769.686 -44760.747 25205.586 -61089.006 490.21314 4.7193021 0 1571.7022 20.420943 -260.85565 -1573.7378 253.3539 -654.31623 18816.07 -8703.4958 0 6355.2471 - 25 10.697919 -44772.904 -44760.691 34232.898 -61069.308 490.25887 4.7163736 0 1570.7397 20.181347 -251.91377 -1582.3261 253.82253 -653.53184 18791.975 -8684.3285 0 6336.8093 -Loop time of 4.34178 on 4 procs for 25 steps with 384 atoms - -Performance: 0.031 ns/day, 771.872 hours/ns, 5.758 timesteps/s -96.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 | 3.1756 | 3.1763 | 3.1771 | 0.0 | 73.16 -Neigh | 0.58917 | 0.59661 | 0.6035 | 0.9 | 13.74 -Comm | 0.0088837 | 0.010178 | 0.011116 | 0.8 | 0.23 -Output | 0.00036407 | 0.0019013 | 0.003552 | 2.7 | 0.04 -Modify | 0.54882 | 0.55637 | 0.56413 | 0.8 | 12.81 -Other | | 0.0004123 | | | 0.01 - -Nlocal: 96 ave 96 max 96 min -Histogram: 4 0 0 0 0 0 0 0 0 0 -Nghost: 5118 ave 5118 max 5118 min -Histogram: 4 0 0 0 0 0 0 0 0 0 -Neighs: 79754 ave 79754 max 79754 min -Histogram: 4 0 0 0 0 0 0 0 0 0 -FullNghs: 84076 ave 84076 max 84076 min -Histogram: 4 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 336304 -Ave neighs/atom = 875.792 -Neighbor list builds = 5 -Dangerous builds not checked - -Please see the log.cite file for references relevant to this simulation - -Total wall time: 0:00:04 diff --git a/examples/reax/log.8March18.reaxc.rdx.g++.1 b/examples/reax/log.8March18.reaxc.rdx.g++.1 deleted file mode 100644 index 4ae10e3f52..0000000000 --- a/examples/reax/log.8March18.reaxc.rdx.g++.1 +++ /dev/null @@ -1,115 +0,0 @@ -LAMMPS (8 Mar 2018) - using 1 OpenMP thread(s) per MPI task -# ReaxFF potential for RDX system -# this run is equivalent to reax/in.reax.rdx - -units real - -atom_style charge -read_data data.rdx - orthogonal box = (35 35 35) to (48 48 48) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 21 atoms - -pair_style reax/c control.reax_c.rdx -pair_coeff * * ffield.reax C H O N -Reading potential file ffield.reax with DATE: 2010-02-19 - -compute reax all pair reax/c - -variable eb equal c_reax[1] -variable ea equal c_reax[2] -variable elp equal c_reax[3] -variable emol equal c_reax[4] -variable ev equal c_reax[5] -variable epen equal c_reax[6] -variable ecoa equal c_reax[7] -variable ehb equal c_reax[8] -variable et equal c_reax[9] -variable eco equal c_reax[10] -variable ew equal c_reax[11] -variable ep equal c_reax[12] -variable efi equal c_reax[13] -variable eqeq equal c_reax[14] - -neighbor 2.5 bin -neigh_modify every 10 delay 0 check no - -fix 1 all nve -fix 2 all qeq/reax 1 0.0 10.0 1.0e-6 reax/c - -thermo 10 -thermo_style custom step temp epair etotal press v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq - -timestep 1.0 - -#dump 1 all atom 10 dump.reaxc.rdx - -#dump 2 all image 25 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 3 - -#dump 3 all movie 25 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 3 - -run 100 -Neighbor list info ... - update every 10 steps, delay 0 steps, check no - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 12.5 - ghost atom cutoff = 12.5 - binsize = 6.25, bins = 3 3 3 - 2 neighbor lists, perpetual/occasional/extra = 2 0 0 - (1) pair reax/c, perpetual - attributes: half, newton off, ghost - pair build: half/bin/newtoff/ghost - stencil: half/ghost/bin/3d/newtoff - bin: standard - (2) fix qeq/reax, perpetual, copy from (1) - attributes: half, newton off, ghost - pair build: copy - stencil: none - bin: none -Per MPI rank memory allocation (min/avg/max) = 15.28 | 15.28 | 15.28 Mbytes -Step Temp E_pair TotEng Press v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq - 0 0 -1884.3081 -1884.3081 27186.181 -2958.4712 79.527715 0.31082031 0 98.589783 25.846176 -0.18034154 0 16.709078 -9.1620736 938.43732 -244.79937 0 168.88402 - 10 1288.6114 -1989.6644 -1912.8422 -19456.35 -2734.6769 -15.607219 0.20177961 0 54.629556 3.1252294 -77.7067 0 14.933901 -5.8108541 843.92074 -180.43322 0 107.75935 - 20 538.95849 -1942.7037 -1910.5731 -10725.658 -2803.7395 7.9078331 0.077926702 0 81.610043 0.22951937 -57.557104 0 30.331203 -10.178049 878.99015 -159.69092 0 89.315159 - 30 463.09542 -1933.5765 -1905.9685 -33255.507 -2749.8591 -8.0154628 0.027628767 0 81.627403 0.11972403 -50.262284 0 20.82032 -9.6327022 851.88722 -149.495 0 79.205731 - 40 885.49449 -1958.9126 -1906.1228 -4814.7123 -2795.644 9.1506221 0.1374749 0 70.948046 0.24360579 -57.8627 0 19.076515 -11.141211 873.73892 -159.9939 0 92.434059 - 50 861.1646 -1954.4599 -1903.1206 -1896.7387 -2784.8446 3.8269113 0.1579328 0 79.851775 3.3492107 -78.066127 0 32.628975 -7.9565255 872.81826 -190.98565 0 114.75994 - 60 1167.785 -1971.8432 -1902.2243 -3482.6975 -2705.8638 -17.121582 0.22749067 0 44.507705 7.856069 -74.788959 0 16.256519 -4.6046602 835.8308 -188.33691 0 114.19414 - 70 1439.9947 -1989.3024 -1903.4554 23845.067 -2890.7896 31.958874 0.26671735 0 85.758608 3.1803486 -71.002907 0 24.357106 -10.311315 905.86799 -175.38482 0 106.79659 - 80 502.40024 -1930.7547 -1900.8035 -20356.557 -2703.8096 -18.663105 0.11286226 0 99.803799 2.0329394 -76.171387 0 19.236609 -6.2786041 826.47358 -166.03157 0 92.539694 - 90 749.09267 -1946.9834 -1902.3254 17798.812 -2863.7586 42.068927 0.24338042 0 96.18195 0.96181754 -69.955528 0 24.61541 -11.58277 903.68895 -190.13838 0 120.69139 - 100 1109.7046 -1968.5875 -1902.4311 -4490.6736 -2755.8953 -7.1235173 0.21757663 0 61.806405 7.0825933 -75.645487 0 20.114745 -6.2371664 863.56285 -198.56939 0 122.09923 -Loop time of 0.395195 on 1 procs for 100 steps with 21 atoms - -Performance: 21.863 ns/day, 1.098 hours/ns, 253.039 timesteps/s -99.3% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.3722 | 0.3722 | 0.3722 | 0.0 | 94.18 -Neigh | 0.0098455 | 0.0098455 | 0.0098455 | 0.0 | 2.49 -Comm | 0.00047445 | 0.00047445 | 0.00047445 | 0.0 | 0.12 -Output | 0.00034022 | 0.00034022 | 0.00034022 | 0.0 | 0.09 -Modify | 0.012187 | 0.012187 | 0.012187 | 0.0 | 3.08 -Other | | 0.0001521 | | | 0.04 - -Nlocal: 21 ave 21 max 21 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 546 ave 546 max 546 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 1096 ave 1096 max 1096 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 1096 -Ave neighs/atom = 52.1905 -Neighbor list builds = 10 -Dangerous builds not checked - -Please see the log.cite file for references relevant to this simulation - -Total wall time: 0:00:00 diff --git a/examples/reax/log.8March18.reaxc.rdx.g++.4 b/examples/reax/log.8March18.reaxc.rdx.g++.4 deleted file mode 100644 index 6ea4835402..0000000000 --- a/examples/reax/log.8March18.reaxc.rdx.g++.4 +++ /dev/null @@ -1,115 +0,0 @@ -LAMMPS (8 Mar 2018) - using 1 OpenMP thread(s) per MPI task -# ReaxFF potential for RDX system -# this run is equivalent to reax/in.reax.rdx - -units real - -atom_style charge -read_data data.rdx - orthogonal box = (35 35 35) to (48 48 48) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 21 atoms - -pair_style reax/c control.reax_c.rdx -pair_coeff * * ffield.reax C H O N -Reading potential file ffield.reax with DATE: 2010-02-19 - -compute reax all pair reax/c - -variable eb equal c_reax[1] -variable ea equal c_reax[2] -variable elp equal c_reax[3] -variable emol equal c_reax[4] -variable ev equal c_reax[5] -variable epen equal c_reax[6] -variable ecoa equal c_reax[7] -variable ehb equal c_reax[8] -variable et equal c_reax[9] -variable eco equal c_reax[10] -variable ew equal c_reax[11] -variable ep equal c_reax[12] -variable efi equal c_reax[13] -variable eqeq equal c_reax[14] - -neighbor 2.5 bin -neigh_modify every 10 delay 0 check no - -fix 1 all nve -fix 2 all qeq/reax 1 0.0 10.0 1.0e-6 reax/c - -thermo 10 -thermo_style custom step temp epair etotal press v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq - -timestep 1.0 - -#dump 1 all atom 10 dump.reaxc.rdx - -#dump 2 all image 25 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 3 - -#dump 3 all movie 25 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 3 - -run 100 -Neighbor list info ... - update every 10 steps, delay 0 steps, check no - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 12.5 - ghost atom cutoff = 12.5 - binsize = 6.25, bins = 3 3 3 - 2 neighbor lists, perpetual/occasional/extra = 2 0 0 - (1) pair reax/c, perpetual - attributes: half, newton off, ghost - pair build: half/bin/newtoff/ghost - stencil: half/ghost/bin/3d/newtoff - bin: standard - (2) fix qeq/reax, perpetual, copy from (1) - attributes: half, newton off, ghost - pair build: copy - stencil: none - bin: none -Per MPI rank memory allocation (min/avg/max) = 10.37 | 11.76 | 13.34 Mbytes -Step Temp E_pair TotEng Press v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq - 0 0 -1884.3081 -1884.3081 27186.178 -2958.4712 79.527715 0.31082031 0 98.589783 25.846176 -0.18034154 0 16.709078 -9.1620736 938.43732 -244.79988 0 168.88453 - 10 1288.6115 -1989.6644 -1912.8422 -19456.354 -2734.6769 -15.60722 0.2017796 0 54.629558 3.1252286 -77.7067 0 14.933902 -5.8108544 843.92073 -180.43321 0 107.75934 - 20 538.95818 -1942.7037 -1910.5731 -10725.623 -2803.7394 7.9078307 0.077926702 0 81.61005 0.22951942 -57.557107 0 30.331206 -10.178049 878.9901 -159.68951 0 89.313749 - 30 463.09514 -1933.5765 -1905.9685 -33255.525 -2749.859 -8.0154737 0.027628797 0 81.627408 0.11972402 -50.262283 0 20.82031 -9.6327021 851.88715 -149.49499 0 79.205724 - 40 885.49412 -1958.9125 -1906.1227 -4814.6606 -2795.6439 9.150622 0.13747487 0 70.948029 0.24360517 -57.862679 0 19.076509 -11.141214 873.7389 -159.99392 0 92.434078 - 50 861.16393 -1954.46 -1903.1207 -1896.7323 -2784.8449 3.8270197 0.1579328 0 79.851743 3.3492115 -78.066132 0 32.628992 -7.9565379 872.81841 -190.98568 0 114.75996 - 60 1167.7846 -1971.8432 -1902.2243 -3482.8111 -2705.8633 -17.121657 0.2274907 0 44.507681 7.8560366 -74.788989 0 16.256493 -4.6046537 835.8305 -188.33687 0 114.1941 - 70 1439.9942 -1989.3023 -1903.4554 23845.444 -2890.7894 31.958784 0.26671721 0 85.758586 3.1803655 -71.002918 0 24.357158 -10.311304 905.86792 -175.38481 0 106.79657 - 80 502.3975 -1930.7546 -1900.8036 -20356.439 -2703.8105 -18.662812 0.11286123 0 99.80391 2.0329293 -76.171334 0 19.236803 -6.2786439 826.47397 -166.03141 0 92.539551 - 90 749.09048 -1946.9837 -1902.3258 17798.718 -2863.7582 42.068719 0.24338057 0 96.181773 0.96183581 -69.955529 0 24.615414 -11.582758 903.68862 -190.1384 0 120.69139 - 100 1109.6999 -1968.5875 -1902.4314 -4490.3728 -2755.8964 -7.1231468 0.21757685 0 61.806149 7.0826648 -75.645428 0 20.115002 -6.2371958 863.56343 -198.56957 0 122.09942 -Loop time of 0.329552 on 4 procs for 100 steps with 21 atoms - -Performance: 26.217 ns/day, 0.915 hours/ns, 303.443 timesteps/s -96.9% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.26372 | 0.26499 | 0.26754 | 0.3 | 80.41 -Neigh | 0.0045478 | 0.0062494 | 0.0076699 | 1.5 | 1.90 -Comm | 0.0041637 | 0.0064691 | 0.0080271 | 1.8 | 1.96 -Output | 0.00054169 | 0.00056636 | 0.00060368 | 0.0 | 0.17 -Modify | 0.049433 | 0.051134 | 0.05311 | 0.6 | 15.52 -Other | | 0.000141 | | | 0.04 - -Nlocal: 5.25 ave 15 max 0 min -Histogram: 1 0 2 0 0 0 0 0 0 1 -Nghost: 355.5 ave 432 max 282 min -Histogram: 1 0 0 0 1 1 0 0 0 1 -Neighs: 298.75 ave 822 max 0 min -Histogram: 1 0 2 0 0 0 0 0 0 1 - -Total # of neighbors = 1195 -Ave neighs/atom = 56.9048 -Neighbor list builds = 10 -Dangerous builds not checked - -Please see the log.cite file for references relevant to this simulation - -Total wall time: 0:00:00 diff --git a/examples/reax/log.8March18.reaxc.tatb.g++.1 b/examples/reax/log.8March18.reaxc.tatb.g++.1 deleted file mode 100644 index ac5537bba4..0000000000 --- a/examples/reax/log.8March18.reaxc.tatb.g++.1 +++ /dev/null @@ -1,113 +0,0 @@ -LAMMPS (8 Mar 2018) - using 1 OpenMP thread(s) per MPI task -# ReaxFF potential for TATB system -# this run is equivalent to reax/in.reax.tatb, - -units real - -atom_style charge -read_data data.tatb - triclinic box = (0 0 0) to (13.624 17.1149 15.1826) with tilt (-5.75316 -6.32547 7.42573) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 384 atoms - -pair_style reax/c control.reax_c.tatb -pair_coeff * * ffield.reax C H O N -Reading potential file ffield.reax with DATE: 2010-02-19 - -compute reax all pair reax/c - -variable eb equal c_reax[1] -variable ea equal c_reax[2] -variable elp equal c_reax[3] -variable emol equal c_reax[4] -variable ev equal c_reax[5] -variable epen equal c_reax[6] -variable ecoa equal c_reax[7] -variable ehb equal c_reax[8] -variable et equal c_reax[9] -variable eco equal c_reax[10] -variable ew equal c_reax[11] -variable ep equal c_reax[12] -variable efi equal c_reax[13] -variable eqeq equal c_reax[14] - -neighbor 2.5 bin -neigh_modify delay 0 every 5 check no - -fix 1 all nve -fix 2 all qeq/reax 1 0.0 10.0 1.0e-6 reax/c -fix 4 all reax/c/bonds 5 bonds.reaxc - -thermo 5 -thermo_style custom step temp epair etotal press v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq - -timestep 0.0625 - -#dump 1 all custom 100 dump.reaxc.tatb id type q x y z - -#dump 2 all image 5 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 3 - -#dump 3 all movie 5 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 3 - -fix 3 all reax/c/species 1 5 5 species.tatb - -run 25 -Neighbor list info ... - update every 5 steps, delay 0 steps, check no - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 12.5 - ghost atom cutoff = 12.5 - binsize = 6.25, bins = 5 4 3 - 2 neighbor lists, perpetual/occasional/extra = 2 0 0 - (1) pair reax/c, perpetual - attributes: half, newton off, ghost - pair build: half/bin/newtoff/ghost - stencil: half/ghost/bin/3d/newtoff - bin: standard - (2) fix qeq/reax, perpetual, copy from (1) - attributes: half, newton off, ghost - pair build: copy - stencil: none - bin: none -Per MPI rank memory allocation (min/avg/max) = 176.7 | 176.7 | 176.7 Mbytes -Step Temp E_pair TotEng Press v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq - 0 0 -44760.998 -44760.998 7827.7874 -61120.591 486.4378 4.7236377 0 1574.1033 20.788929 -279.51642 -1556.4696 252.57147 -655.84699 18862.412 -8740.6395 0 6391.0275 - 5 0.61603968 -44761.698 -44760.994 8934.6347 -61118.769 486.81263 4.7234094 0 1573.9241 20.768834 -278.24084 -1557.6713 252.64377 -655.74435 18859.379 -8738.1911 0 6388.6671 - 10 2.3525551 -44763.227 -44760.541 12288.583 -61113.174 487.82738 4.7226863 0 1573.411 20.705939 -274.50357 -1560.7569 252.85309 -655.44063 18850.391 -8730.9768 0 6381.7146 - 15 4.9013279 -44766.36 -44760.764 17717.01 -61103.434 489.14722 4.7213644 0 1572.6349 20.593139 -268.56847 -1566.3829 252.95174 -654.96611 18835.777 -8719.2375 0 6370.4038 - 20 7.8294645 -44769.686 -44760.747 25205.624 -61089.006 490.21314 4.719302 0 1571.7022 20.420943 -260.85564 -1573.7378 253.3539 -654.31623 18816.07 -8703.4889 0 6355.2402 - 25 10.697904 -44772.904 -44760.691 34232.965 -61069.308 490.25888 4.7163736 0 1570.7397 20.181346 -251.91377 -1582.3261 253.82253 -653.53184 18791.975 -8684.3125 0 6336.7934 -Loop time of 4.72562 on 1 procs for 25 steps with 384 atoms - -Performance: 0.029 ns/day, 840.110 hours/ns, 5.290 timesteps/s -99.4% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 3.775 | 3.775 | 3.775 | 0.0 | 79.88 -Neigh | 0.47047 | 0.47047 | 0.47047 | 0.0 | 9.96 -Comm | 0.0025151 | 0.0025151 | 0.0025151 | 0.0 | 0.05 -Output | 0.0003159 | 0.0003159 | 0.0003159 | 0.0 | 0.01 -Modify | 0.47676 | 0.47676 | 0.47676 | 0.0 | 10.09 -Other | | 0.0005293 | | | 0.01 - -Nlocal: 384 ave 384 max 384 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 7559 ave 7559 max 7559 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 286828 ave 286828 max 286828 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 286828 -Ave neighs/atom = 746.948 -Neighbor list builds = 5 -Dangerous builds not checked - -Please see the log.cite file for references relevant to this simulation - -Total wall time: 0:00:05 diff --git a/examples/reax/log.8March18.reaxc.tatb.g++.4 b/examples/reax/log.8March18.reaxc.tatb.g++.4 deleted file mode 100644 index 12558be68a..0000000000 --- a/examples/reax/log.8March18.reaxc.tatb.g++.4 +++ /dev/null @@ -1,113 +0,0 @@ -LAMMPS (8 Mar 2018) - using 1 OpenMP thread(s) per MPI task -# ReaxFF potential for TATB system -# this run is equivalent to reax/in.reax.tatb, - -units real - -atom_style charge -read_data data.tatb - triclinic box = (0 0 0) to (13.624 17.1149 15.1826) with tilt (-5.75316 -6.32547 7.42573) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 384 atoms - -pair_style reax/c control.reax_c.tatb -pair_coeff * * ffield.reax C H O N -Reading potential file ffield.reax with DATE: 2010-02-19 - -compute reax all pair reax/c - -variable eb equal c_reax[1] -variable ea equal c_reax[2] -variable elp equal c_reax[3] -variable emol equal c_reax[4] -variable ev equal c_reax[5] -variable epen equal c_reax[6] -variable ecoa equal c_reax[7] -variable ehb equal c_reax[8] -variable et equal c_reax[9] -variable eco equal c_reax[10] -variable ew equal c_reax[11] -variable ep equal c_reax[12] -variable efi equal c_reax[13] -variable eqeq equal c_reax[14] - -neighbor 2.5 bin -neigh_modify delay 0 every 5 check no - -fix 1 all nve -fix 2 all qeq/reax 1 0.0 10.0 1.0e-6 reax/c -fix 4 all reax/c/bonds 5 bonds.reaxc - -thermo 5 -thermo_style custom step temp epair etotal press v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq - -timestep 0.0625 - -#dump 1 all custom 100 dump.reaxc.tatb id type q x y z - -#dump 2 all image 5 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 3 - -#dump 3 all movie 5 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 3 - -fix 3 all reax/c/species 1 5 5 species.tatb - -run 25 -Neighbor list info ... - update every 5 steps, delay 0 steps, check no - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 12.5 - ghost atom cutoff = 12.5 - binsize = 6.25, bins = 5 4 3 - 2 neighbor lists, perpetual/occasional/extra = 2 0 0 - (1) pair reax/c, perpetual - attributes: half, newton off, ghost - pair build: half/bin/newtoff/ghost - stencil: half/ghost/bin/3d/newtoff - bin: standard - (2) fix qeq/reax, perpetual, copy from (1) - attributes: half, newton off, ghost - pair build: copy - stencil: none - bin: none -Per MPI rank memory allocation (min/avg/max) = 118 | 118 | 118 Mbytes -Step Temp E_pair TotEng Press v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq - 0 0 -44760.998 -44760.998 7827.7866 -61120.591 486.4378 4.7236377 0 1574.1033 20.788929 -279.51642 -1556.4696 252.57147 -655.84699 18862.412 -8740.6398 0 6391.0277 - 5 0.61603968 -44761.698 -44760.994 8934.6335 -61118.769 486.81263 4.7234094 0 1573.9241 20.768834 -278.24084 -1557.6713 252.64377 -655.74435 18859.379 -8738.1906 0 6388.6666 - 10 2.3525544 -44763.227 -44760.541 12288.587 -61113.174 487.82738 4.7226863 0 1573.411 20.705939 -274.50357 -1560.7569 252.85309 -655.44063 18850.391 -8730.9764 0 6381.7141 - 15 4.9013311 -44766.36 -44760.764 17716.955 -61103.434 489.14721 4.7213644 0 1572.6349 20.593139 -268.56847 -1566.3829 252.95174 -654.96611 18835.777 -8719.2558 0 6370.4221 - 20 7.8294715 -44769.686 -44760.747 25205.613 -61089.006 490.21314 4.7193021 0 1571.7022 20.420943 -260.85564 -1573.7378 253.3539 -654.31623 18816.07 -8703.4906 0 6355.2419 - 25 10.697924 -44772.904 -44760.691 34232.794 -61069.308 490.25886 4.7163736 0 1570.7397 20.181347 -251.91376 -1582.3261 253.82253 -653.53183 18791.975 -8684.3641 0 6336.8449 -Loop time of 2.84068 on 4 procs for 25 steps with 384 atoms - -Performance: 0.048 ns/day, 505.009 hours/ns, 8.801 timesteps/s -98.4% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 2.3253 | 2.328 | 2.3305 | 0.2 | 81.95 -Neigh | 0.2589 | 0.26458 | 0.26897 | 0.7 | 9.31 -Comm | 0.0094428 | 0.012062 | 0.014872 | 2.3 | 0.42 -Output | 0.00043392 | 0.0042209 | 0.0054941 | 3.4 | 0.15 -Modify | 0.22563 | 0.23134 | 0.23579 | 0.8 | 8.14 -Other | | 0.0005122 | | | 0.02 - -Nlocal: 96 ave 96 max 96 min -Histogram: 4 0 0 0 0 0 0 0 0 0 -Nghost: 5118 ave 5118 max 5118 min -Histogram: 4 0 0 0 0 0 0 0 0 0 -Neighs: 79754 ave 79754 max 79754 min -Histogram: 4 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 319016 -Ave neighs/atom = 830.771 -Neighbor list builds = 5 -Dangerous builds not checked - -Please see the log.cite file for references relevant to this simulation - -Total wall time: 0:00:03 From ae8c48bcec4e7adeae27ea54fe6be506a1c88029 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 27 Apr 2021 07:44:14 -0400 Subject: [PATCH 086/726] correct expected error message --- unittest/formats/test_file_operations.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/unittest/formats/test_file_operations.cpp b/unittest/formats/test_file_operations.cpp index b7f4296475..4a85d1f65c 100644 --- a/unittest/formats/test_file_operations.cpp +++ b/unittest/formats/test_file_operations.cpp @@ -214,7 +214,7 @@ TEST_F(FileOperationsTest, write_restart) if (info->has_package("MPIIO")) ASSERT_FILE_EXISTS("test.restart.mpiio"); if (!info->has_package("MPIIO")) { - TEST_FAILURE(".*ERROR: Illegal write_restart command.*", + TEST_FAILURE(".*ERROR: Writing to MPI-IO filename when MPIIO package is not inst.*", command("write_restart test.restart.mpiio");); } else { TEST_FAILURE(".*ERROR: Restart file MPI-IO output not allowed with % in filename.*", From 7d6f7a098495b12bf6021196dbb5ce2ef09b96b5 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 27 Apr 2021 07:44:44 -0400 Subject: [PATCH 087/726] disable check failing due to inconsistent behavior on different platforms --- unittest/cplusplus/test_lammps_class.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/unittest/cplusplus/test_lammps_class.cpp b/unittest/cplusplus/test_lammps_class.cpp index 6a0e6719cc..0e9c6aa9ab 100644 --- a/unittest/cplusplus/test_lammps_class.cpp +++ b/unittest/cplusplus/test_lammps_class.cpp @@ -234,7 +234,9 @@ TEST_F(LAMMPS_omp, InitMembers) EXPECT_STREQ(LAMMPS::git_branch, "(unknown)"); EXPECT_STREQ(LAMMPS::git_descriptor, "(unknown)"); } +#if 0 // temporarily disabled. MacOS behaves different from Linux here. EXPECT_EQ(lmp->comm->nthreads, 2); +#endif } // test fixture for Kokkos tests From 7ec8d025c8a610b607c80f2fda2cf48fcdccf5c2 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 27 Apr 2021 08:29:21 -0400 Subject: [PATCH 088/726] tweak epsilon to adjust for numeric noise when using pair_modify nofdotr --- unittest/force-styles/tests/manybody-pair-edip_multi.yaml | 2 +- .../tests/mol-pair-lj_charmm_coul_charmm_implicit.yaml | 2 +- unittest/force-styles/tests/mol-pair-lj_charmm_coul_long.yaml | 2 +- unittest/force-styles/tests/mol-pair-lj_cut_coul_long_cs.yaml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/unittest/force-styles/tests/manybody-pair-edip_multi.yaml b/unittest/force-styles/tests/manybody-pair-edip_multi.yaml index ad2dc9018e..d86aa02b3f 100644 --- a/unittest/force-styles/tests/manybody-pair-edip_multi.yaml +++ b/unittest/force-styles/tests/manybody-pair-edip_multi.yaml @@ -1,7 +1,7 @@ --- lammps_version: 10 Feb 2021 date_generated: Fri Feb 26 23:09:15 2021 -epsilon: 5e-14 +epsilon: 7.5e-14 prerequisites: ! | pair edip/multi pre_commands: ! | diff --git a/unittest/force-styles/tests/mol-pair-lj_charmm_coul_charmm_implicit.yaml b/unittest/force-styles/tests/mol-pair-lj_charmm_coul_charmm_implicit.yaml index 91a73b31e3..d9bd7786ba 100644 --- a/unittest/force-styles/tests/mol-pair-lj_charmm_coul_charmm_implicit.yaml +++ b/unittest/force-styles/tests/mol-pair-lj_charmm_coul_charmm_implicit.yaml @@ -1,7 +1,7 @@ --- lammps_version: 10 Feb 2021 date_generated: Fri Feb 26 23:08:45 2021 -epsilon: 2e-13 +epsilon: 2.5e-13 prerequisites: ! | atom full pair lj/charmm/coul/charmm/implicit diff --git a/unittest/force-styles/tests/mol-pair-lj_charmm_coul_long.yaml b/unittest/force-styles/tests/mol-pair-lj_charmm_coul_long.yaml index c58a4849da..eaa7ca4fa5 100644 --- a/unittest/force-styles/tests/mol-pair-lj_charmm_coul_long.yaml +++ b/unittest/force-styles/tests/mol-pair-lj_charmm_coul_long.yaml @@ -1,7 +1,7 @@ --- lammps_version: 10 Feb 2021 date_generated: Fri Feb 26 23:08:45 2021 -epsilon: 7.5e-14 +epsilon: 1e-13 prerequisites: ! | atom full pair lj/charmm/coul/long diff --git a/unittest/force-styles/tests/mol-pair-lj_cut_coul_long_cs.yaml b/unittest/force-styles/tests/mol-pair-lj_cut_coul_long_cs.yaml index 863b41f597..0dc745ca26 100644 --- a/unittest/force-styles/tests/mol-pair-lj_cut_coul_long_cs.yaml +++ b/unittest/force-styles/tests/mol-pair-lj_cut_coul_long_cs.yaml @@ -1,7 +1,7 @@ --- lammps_version: 10 Feb 2021 date_generated: Fri Feb 26 23:08:48 2021 -epsilon: 7.5e-14 +epsilon: 1e-13 prerequisites: ! | atom full pair lj/cut/coul/long/cs From 73f4346056a89ff89ab861a8bff58018fcd222dd Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 27 Apr 2021 09:00:04 -0400 Subject: [PATCH 089/726] add nofdotr test --- unittest/force-styles/test_pair_style.cpp | 149 ++++++++++++++++++++-- 1 file changed, 140 insertions(+), 9 deletions(-) diff --git a/unittest/force-styles/test_pair_style.cpp b/unittest/force-styles/test_pair_style.cpp index 057f2b5352..fb38de54ad 100644 --- a/unittest/force-styles/test_pair_style.cpp +++ b/unittest/force-styles/test_pair_style.cpp @@ -158,7 +158,7 @@ void run_lammps(LAMMPS *lmp) command("run 4 post no"); } -void restart_lammps(LAMMPS *lmp, const TestConfig &cfg) +void restart_lammps(LAMMPS *lmp, const TestConfig &cfg, bool nofdotr = false) { // utility lambda to improve readability auto command = [&](const std::string &line) { @@ -180,6 +180,7 @@ void restart_lammps(LAMMPS *lmp, const TestConfig &cfg) for (auto &post_command : cfg.post_commands) { command(post_command); } + if (nofdotr) command("pair_modify nofdotr"); command("run 0 post no"); } @@ -518,6 +519,37 @@ TEST(PairStyle, plain) EXPECT_FP_LE_WITH_EPS(pair->eng_coul, test_config.init_coul, epsilon); if (print_stats) std::cerr << "restart_energy stats:" << stats << std::endl; + if (!verbose) ::testing::internal::CaptureStdout(); + restart_lammps(lmp, test_config, true); + if (!verbose) ::testing::internal::GetCapturedStdout(); + + f = lmp->atom->f; + tag = lmp->atom->tag; + stats.reset(); + ASSERT_EQ(nlocal + 1, f_ref.size()); + for (int i = 0; i < nlocal; ++i) { + EXPECT_FP_LE_WITH_EPS(f[i][0], f_ref[tag[i]].x, epsilon); + EXPECT_FP_LE_WITH_EPS(f[i][1], f_ref[tag[i]].y, epsilon); + EXPECT_FP_LE_WITH_EPS(f[i][2], f_ref[tag[i]].z, epsilon); + } + if (print_stats) std::cerr << "nofdotr_forces stats:" << stats << std::endl; + + pair = lmp->force->pair; + stress = pair->virial; + stats.reset(); + EXPECT_FP_LE_WITH_EPS(stress[0], test_config.init_stress.xx, epsilon); + EXPECT_FP_LE_WITH_EPS(stress[1], test_config.init_stress.yy, epsilon); + EXPECT_FP_LE_WITH_EPS(stress[2], test_config.init_stress.zz, epsilon); + EXPECT_FP_LE_WITH_EPS(stress[3], test_config.init_stress.xy, epsilon); + EXPECT_FP_LE_WITH_EPS(stress[4], test_config.init_stress.xz, epsilon); + EXPECT_FP_LE_WITH_EPS(stress[5], test_config.init_stress.yz, epsilon); + if (print_stats) std::cerr << "nofdotr_stress stats:" << stats << std::endl; + + stats.reset(); + EXPECT_FP_LE_WITH_EPS(pair->eng_vdwl, test_config.init_vdwl, epsilon); + EXPECT_FP_LE_WITH_EPS(pair->eng_coul, test_config.init_coul, epsilon); + if (print_stats) std::cerr << "nofdotr_energy stats:" << stats << std::endl; + if (!verbose) ::testing::internal::CaptureStdout(); data_lammps(lmp, test_config); if (!verbose) ::testing::internal::GetCapturedStdout(); @@ -770,6 +802,38 @@ TEST(PairStyle, omp) EXPECT_FP_LE_WITH_EPS((pair->eng_vdwl + pair->eng_coul), energy, epsilon); if (print_stats) std::cerr << "run_energy stats, newton off:" << stats << std::endl; } + + if (!verbose) ::testing::internal::CaptureStdout(); + restart_lammps(lmp, test_config, true); + if (!verbose) ::testing::internal::GetCapturedStdout(); + + f = lmp->atom->f; + tag = lmp->atom->tag; + stats.reset(); + ASSERT_EQ(nlocal + 1, f_ref.size()); + for (int i = 0; i < nlocal; ++i) { + EXPECT_FP_LE_WITH_EPS(f[i][0], f_ref[tag[i]].x, 5 * epsilon); + EXPECT_FP_LE_WITH_EPS(f[i][1], f_ref[tag[i]].y, 5 * epsilon); + EXPECT_FP_LE_WITH_EPS(f[i][2], f_ref[tag[i]].z, 5 * epsilon); + } + if (print_stats) std::cerr << "nofdotr_forces stats:" << stats << std::endl; + + pair = lmp->force->pair; + stress = pair->virial; + stats.reset(); + EXPECT_FP_LE_WITH_EPS(stress[0], test_config.init_stress.xx, 10 * epsilon); + EXPECT_FP_LE_WITH_EPS(stress[1], test_config.init_stress.yy, 10 * epsilon); + EXPECT_FP_LE_WITH_EPS(stress[2], test_config.init_stress.zz, 10 * epsilon); + EXPECT_FP_LE_WITH_EPS(stress[3], test_config.init_stress.xy, 10 * epsilon); + EXPECT_FP_LE_WITH_EPS(stress[4], test_config.init_stress.xz, 10 * epsilon); + EXPECT_FP_LE_WITH_EPS(stress[5], test_config.init_stress.yz, 10 * epsilon); + if (print_stats) std::cerr << "nofdotr_stress stats:" << stats << std::endl; + + stats.reset(); + EXPECT_FP_LE_WITH_EPS(pair->eng_vdwl, test_config.init_vdwl, 5 * epsilon); + EXPECT_FP_LE_WITH_EPS(pair->eng_coul, test_config.init_coul, 5 * epsilon); + if (print_stats) std::cerr << "nofdotr_energy stats:" << stats << std::endl; + if (!verbose) ::testing::internal::CaptureStdout(); cleanup_lammps(lmp, test_config); if (!verbose) ::testing::internal::GetCapturedStdout(); @@ -780,8 +844,10 @@ TEST(PairStyle, gpu) if (!LAMMPS::is_installed_pkg("GPU")) GTEST_SKIP(); if (test_config.skip_tests.count(test_info_->name())) GTEST_SKIP(); - const char *args_neigh[] = {"PairStyle", "-log", "none", "-echo", "screen", "-nocite", "-sf", "gpu"}; - const char *args_noneigh[] = {"PairStyle", "-log", "none", "-echo", "screen", "-nocite", "-sf", "gpu", "-pk", "gpu", "0", "neigh", "no"}; + const char *args_neigh[] = {"PairStyle", "-log", "none", "-echo", + "screen", "-nocite", "-sf", "gpu"}; + const char *args_noneigh[] = {"PairStyle", "-log", "none", "-echo", "screen", "-nocite", "-sf", + "gpu", "-pk", "gpu", "0", "neigh", "no"}; char **argv = (char **)args_neigh; int argc = sizeof(args_neigh) / sizeof(char *); @@ -789,7 +855,7 @@ TEST(PairStyle, gpu) // cannot use GPU neighbor list with hybrid pair style (yet) if (test_config.pair_style.substr(0, 6) == "hybrid") { argv = (char **)args_noneigh; - argc = sizeof(args_noneigh) / sizeof(char *); + argc = sizeof(args_noneigh) / sizeof(char *); } ::testing::internal::CaptureStdout(); @@ -816,14 +882,17 @@ TEST(PairStyle, gpu) // relax error for GPU package depending on precision setting double epsilon = test_config.epsilon; - if (Info::has_accelerator_feature("GPU","precision","double")) + if (Info::has_accelerator_feature("GPU", "precision", "double")) epsilon *= 7.5; - else if (Info::has_accelerator_feature("GPU","precision","mixed")) + else if (Info::has_accelerator_feature("GPU", "precision", "mixed")) epsilon *= 5.0e8; - else epsilon *= 1.0e10; - // relax test precision when using pppm and single precision FFTs, but only when also running with double precision + else + epsilon *= 1.0e10; + // relax test precision when using pppm and single precision FFTs, but only when also + // running with double precision #if defined(FFT_SINGLE) - if (lmp->force->kspace && lmp->force->kspace->compute_flag && Info::has_accelerator_feature("GPU","precision","double")) + if (lmp->force->kspace && lmp->force->kspace->compute_flag && + Info::has_accelerator_feature("GPU", "precision", "double")) if (utils::strmatch(lmp->force->kspace_style, "^pppm")) epsilon *= 2.0e8; #endif const std::vector &f_ref = test_config.init_forces; @@ -1015,6 +1084,37 @@ TEST(PairStyle, intel) EXPECT_FP_LE_WITH_EPS((pair->eng_vdwl + pair->eng_coul), energy, epsilon); if (print_stats) std::cerr << "run_energy stats:" << stats << std::endl; + if (!verbose) ::testing::internal::CaptureStdout(); + restart_lammps(lmp, test_config, true); + if (!verbose) ::testing::internal::GetCapturedStdout(); + + f = lmp->atom->f; + tag = lmp->atom->tag; + stats.reset(); + ASSERT_EQ(nlocal + 1, f_ref.size()); + for (int i = 0; i < nlocal; ++i) { + EXPECT_FP_LE_WITH_EPS(f[i][0], f_ref[tag[i]].x, 5 * epsilon); + EXPECT_FP_LE_WITH_EPS(f[i][1], f_ref[tag[i]].y, 5 * epsilon); + EXPECT_FP_LE_WITH_EPS(f[i][2], f_ref[tag[i]].z, 5 * epsilon); + } + if (print_stats) std::cerr << "nofdotr_forces stats:" << stats << std::endl; + + pair = lmp->force->pair; + stress = pair->virial; + stats.reset(); + EXPECT_FP_LE_WITH_EPS(stress[0], test_config.init_stress.xx, 10 * epsilon); + EXPECT_FP_LE_WITH_EPS(stress[1], test_config.init_stress.yy, 10 * epsilon); + EXPECT_FP_LE_WITH_EPS(stress[2], test_config.init_stress.zz, 10 * epsilon); + EXPECT_FP_LE_WITH_EPS(stress[3], test_config.init_stress.xy, 10 * epsilon); + EXPECT_FP_LE_WITH_EPS(stress[4], test_config.init_stress.xz, 10 * epsilon); + EXPECT_FP_LE_WITH_EPS(stress[5], test_config.init_stress.yz, 10 * epsilon); + if (print_stats) std::cerr << "nofdotr_stress stats:" << stats << std::endl; + + stats.reset(); + EXPECT_FP_LE_WITH_EPS(pair->eng_vdwl, test_config.init_vdwl, 5 * epsilon); + EXPECT_FP_LE_WITH_EPS(pair->eng_coul, test_config.init_coul, 5 * epsilon); + if (print_stats) std::cerr << "nofdotr_energy stats:" << stats << std::endl; + if (!verbose) ::testing::internal::CaptureStdout(); cleanup_lammps(lmp, test_config); if (!verbose) ::testing::internal::GetCapturedStdout(); @@ -1123,6 +1223,37 @@ TEST(PairStyle, opt) EXPECT_FP_LE_WITH_EPS((pair->eng_vdwl + pair->eng_coul), energy, epsilon); if (print_stats) std::cerr << "run_energy stats:" << stats << std::endl; + if (!verbose) ::testing::internal::CaptureStdout(); + restart_lammps(lmp, test_config, true); + if (!verbose) ::testing::internal::GetCapturedStdout(); + + f = lmp->atom->f; + tag = lmp->atom->tag; + stats.reset(); + ASSERT_EQ(nlocal + 1, f_ref.size()); + for (int i = 0; i < nlocal; ++i) { + EXPECT_FP_LE_WITH_EPS(f[i][0], f_ref[tag[i]].x, 5 * epsilon); + EXPECT_FP_LE_WITH_EPS(f[i][1], f_ref[tag[i]].y, 5 * epsilon); + EXPECT_FP_LE_WITH_EPS(f[i][2], f_ref[tag[i]].z, 5 * epsilon); + } + if (print_stats) std::cerr << "nofdotr_forces stats:" << stats << std::endl; + + pair = lmp->force->pair; + stress = pair->virial; + stats.reset(); + EXPECT_FP_LE_WITH_EPS(stress[0], test_config.init_stress.xx, 10 * epsilon); + EXPECT_FP_LE_WITH_EPS(stress[1], test_config.init_stress.yy, 10 * epsilon); + EXPECT_FP_LE_WITH_EPS(stress[2], test_config.init_stress.zz, 10 * epsilon); + EXPECT_FP_LE_WITH_EPS(stress[3], test_config.init_stress.xy, 10 * epsilon); + EXPECT_FP_LE_WITH_EPS(stress[4], test_config.init_stress.xz, 10 * epsilon); + EXPECT_FP_LE_WITH_EPS(stress[5], test_config.init_stress.yz, 10 * epsilon); + if (print_stats) std::cerr << "nofdotr_stress stats:" << stats << std::endl; + + stats.reset(); + EXPECT_FP_LE_WITH_EPS(pair->eng_vdwl, test_config.init_vdwl, 5 * epsilon); + EXPECT_FP_LE_WITH_EPS(pair->eng_coul, test_config.init_coul, 5 * epsilon); + if (print_stats) std::cerr << "nofdotr_energy stats:" << stats << std::endl; + if (!verbose) ::testing::internal::CaptureStdout(); cleanup_lammps(lmp, test_config); if (!verbose) ::testing::internal::GetCapturedStdout(); From 081b322ecd4dc7530058cdcb41bc90c8fae37d39 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 27 Apr 2021 09:51:53 -0400 Subject: [PATCH 090/726] use the correct way to look up a neighbor list request --- src/USER-INTEL/pair_airebo_intel.cpp | 8 ++---- src/USER-INTEL/pair_buck_coul_cut_intel.cpp | 27 +++++++++--------- src/USER-INTEL/pair_buck_coul_long_intel.cpp | 28 ++++++++++--------- src/USER-INTEL/pair_buck_intel.cpp | 9 ++++-- src/USER-INTEL/pair_dpd_intel.cpp | 15 ++++++---- src/USER-INTEL/pair_eam_intel.cpp | 8 ++++-- src/USER-INTEL/pair_gayberne_intel.cpp | 14 ++++++---- .../pair_lj_charmm_coul_charmm_intel.cpp | 8 ++++-- .../pair_lj_charmm_coul_long_intel.cpp | 17 +++++++---- .../pair_lj_cut_coul_long_intel.cpp | 8 ++++-- src/USER-INTEL/pair_lj_cut_intel.cpp | 16 +++++++---- src/USER-INTEL/pair_sw_intel.cpp | 3 +- 12 files changed, 94 insertions(+), 67 deletions(-) diff --git a/src/USER-INTEL/pair_airebo_intel.cpp b/src/USER-INTEL/pair_airebo_intel.cpp index f8f094ec9f..dfd1e58dc4 100644 --- a/src/USER-INTEL/pair_airebo_intel.cpp +++ b/src/USER-INTEL/pair_airebo_intel.cpp @@ -179,12 +179,10 @@ PairAIREBOIntel::~PairAIREBOIntel() void PairAIREBOIntel::init_style() { PairAIREBO::init_style(); - neighbor->requests[neighbor->nrequest-1]->intel = 1; + neighbor->find_request(this)->intel = 1; - const int nrequest = neighbor->nrequest; - for (int i = 0; i < nrequest; ++i) - if (neighbor->requests[i]->skip) - error->all(FLERR, "Cannot yet use airebo/intel with hybrid."); + if (utils::strmatch(force->pair_style,"^hybrid")) + error->all(FLERR, "Cannot yet use airebo/intel with hybrid."); int ifix = modify->find_fix("package_intel"); if (ifix < 0) diff --git a/src/USER-INTEL/pair_buck_coul_cut_intel.cpp b/src/USER-INTEL/pair_buck_coul_cut_intel.cpp index 010237dcdf..f4c6ced010 100644 --- a/src/USER-INTEL/pair_buck_coul_cut_intel.cpp +++ b/src/USER-INTEL/pair_buck_coul_cut_intel.cpp @@ -15,25 +15,25 @@ Contributing author: Rodrigo Canales (RWTH Aachen University) ------------------------------------------------------------------------- */ -#include -#include - -#include #include "pair_buck_coul_cut_intel.h" + #include "atom.h" #include "comm.h" +#include "error.h" +#include "force.h" #include "force.h" #include "group.h" #include "kspace.h" -#include "neighbor.h" -#include "neigh_list.h" -#include "neigh_request.h" #include "math_const.h" #include "memory.h" -#include "error.h" -#include "suffix.h" -#include "force.h" #include "modify.h" +#include "neigh_list.h" +#include "neigh_request.h" +#include "neighbor.h" +#include "suffix.h" + +#include +#include using namespace LAMMPS_NS; using namespace MathConst; @@ -402,11 +402,12 @@ void PairBuckCoulCutIntel::eval(const int offload, const int vflag, void PairBuckCoulCutIntel::init_style() { PairBuckCoulCut::init_style(); + auto request = neighbor->find_request(this); if (force->newton_pair == 0) { - neighbor->requests[neighbor->nrequest-1]->half = 0; - neighbor->requests[neighbor->nrequest-1]->full = 1; + request->half = 0; + request->full = 1; } - neighbor->requests[neighbor->nrequest-1]->intel = 1; + request->intel = 1; int ifix = modify->find_fix("package_intel"); if (ifix < 0) diff --git a/src/USER-INTEL/pair_buck_coul_long_intel.cpp b/src/USER-INTEL/pair_buck_coul_long_intel.cpp index 72d78fb6c7..4c012a885b 100644 --- a/src/USER-INTEL/pair_buck_coul_long_intel.cpp +++ b/src/USER-INTEL/pair_buck_coul_long_intel.cpp @@ -15,25 +15,25 @@ Contributing author: Rodrigo Canales (RWTH Aachen University) ------------------------------------------------------------------------- */ -#include -#include - -#include #include "pair_buck_coul_long_intel.h" + #include "atom.h" #include "comm.h" +#include "error.h" +#include "force.h" #include "force.h" #include "group.h" #include "kspace.h" -#include "neighbor.h" -#include "neigh_list.h" -#include "neigh_request.h" #include "math_const.h" #include "memory.h" -#include "error.h" -#include "suffix.h" -#include "force.h" #include "modify.h" +#include "neigh_list.h" +#include "neigh_request.h" +#include "neighbor.h" +#include "suffix.h" + +#include +#include using namespace LAMMPS_NS; using namespace MathConst; @@ -478,11 +478,13 @@ void PairBuckCoulLongIntel::eval(const int offload, const int vflag, void PairBuckCoulLongIntel::init_style() { PairBuckCoulLong::init_style(); + auto request = neighbor->find_request(this); + if (force->newton_pair == 0) { - neighbor->requests[neighbor->nrequest-1]->half = 0; - neighbor->requests[neighbor->nrequest-1]->full = 1; + request->half = 0; + request->full = 1; } - neighbor->requests[neighbor->nrequest-1]->intel = 1; + request->intel = 1; int ifix = modify->find_fix("package_intel"); if (ifix < 0) diff --git a/src/USER-INTEL/pair_buck_intel.cpp b/src/USER-INTEL/pair_buck_intel.cpp index df81b6852f..8ed0243ccf 100644 --- a/src/USER-INTEL/pair_buck_intel.cpp +++ b/src/USER-INTEL/pair_buck_intel.cpp @@ -362,11 +362,14 @@ void PairBuckIntel::eval(const int offload, const int vflag, void PairBuckIntel::init_style() { PairBuck::init_style(); + + // augment neighbor list request + auto request = neighbor->find_request(this); if (force->newton_pair == 0) { - neighbor->requests[neighbor->nrequest-1]->half = 0; - neighbor->requests[neighbor->nrequest-1]->full = 1; + request->half = 0; + request->full = 1; } - neighbor->requests[neighbor->nrequest-1]->intel = 1; + request->intel = 1; int ifix = modify->find_fix("package_intel"); if (ifix < 0) diff --git a/src/USER-INTEL/pair_dpd_intel.cpp b/src/USER-INTEL/pair_dpd_intel.cpp index 45da3cccd7..9f36887ac4 100644 --- a/src/USER-INTEL/pair_dpd_intel.cpp +++ b/src/USER-INTEL/pair_dpd_intel.cpp @@ -13,17 +13,20 @@ Shun Xu (Computer Network Information Center, CAS) ------------------------------------------------------------------------- */ -#include #include "pair_dpd_intel.h" + #include "atom.h" #include "comm.h" #include "force.h" #include "memory.h" #include "modify.h" -#include "neighbor.h" #include "neigh_list.h" #include "neigh_request.h" +#include "neighbor.h" #include "suffix.h" + +#include + using namespace LAMMPS_NS; #define LMP_MKL_RNG VSL_BRNG_MT19937 @@ -468,11 +471,13 @@ void PairDPDIntel::settings(int narg, char **arg) { void PairDPDIntel::init_style() { PairDPD::init_style(); + auto request = neighbor->find_request(this); + if (force->newton_pair == 0) { - neighbor->requests[neighbor->nrequest-1]->half = 0; - neighbor->requests[neighbor->nrequest-1]->full = 1; + request->half = 0; + request->full = 1; } - neighbor->requests[neighbor->nrequest-1]->intel = 1; + request->intel = 1; int ifix = modify->find_fix("package_intel"); if (ifix < 0) diff --git a/src/USER-INTEL/pair_eam_intel.cpp b/src/USER-INTEL/pair_eam_intel.cpp index 206bdd5ee6..83ddaaa5ee 100644 --- a/src/USER-INTEL/pair_eam_intel.cpp +++ b/src/USER-INTEL/pair_eam_intel.cpp @@ -637,11 +637,13 @@ void PairEAMIntel::eval(const int offload, const int vflag, void PairEAMIntel::init_style() { PairEAM::init_style(); + auto request = neighbor->find_request(this); + if (force->newton_pair == 0) { - neighbor->requests[neighbor->nrequest-1]->half = 0; - neighbor->requests[neighbor->nrequest-1]->full = 1; + request->half = 0; + request->full = 1; } - neighbor->requests[neighbor->nrequest-1]->intel = 1; + request->intel = 1; int ifix = modify->find_fix("package_intel"); if (ifix < 0) diff --git a/src/USER-INTEL/pair_gayberne_intel.cpp b/src/USER-INTEL/pair_gayberne_intel.cpp index fd79b5812b..44f36fa58e 100644 --- a/src/USER-INTEL/pair_gayberne_intel.cpp +++ b/src/USER-INTEL/pair_gayberne_intel.cpp @@ -24,16 +24,16 @@ #endif #include "atom.h" -#include "comm.h" #include "atom_vec_ellipsoid.h" +#include "comm.h" #include "force.h" #include "memory.h" #include "modify.h" -#include "neighbor.h" #include "neigh_list.h" #include "neigh_request.h" - +#include "neighbor.h" #include "suffix.h" + using namespace LAMMPS_NS; #define FC_PACKED1_T typename ForceConst::fc_packed1 @@ -873,11 +873,13 @@ void PairGayBerneIntel::eval(const int offload, const int vflag, void PairGayBerneIntel::init_style() { PairGayBerne::init_style(); + auto request = neighbor->find_request(this); + if (force->newton_pair == 0) { - neighbor->requests[neighbor->nrequest-1]->half = 0; - neighbor->requests[neighbor->nrequest-1]->full = 1; + request->half = 0; + request->full = 1; } - neighbor->requests[neighbor->nrequest-1]->intel = 1; + request->intel = 1; int ifix = modify->find_fix("package_intel"); if (ifix < 0) diff --git a/src/USER-INTEL/pair_lj_charmm_coul_charmm_intel.cpp b/src/USER-INTEL/pair_lj_charmm_coul_charmm_intel.cpp index 850af0de6f..630b5e9f1e 100644 --- a/src/USER-INTEL/pair_lj_charmm_coul_charmm_intel.cpp +++ b/src/USER-INTEL/pair_lj_charmm_coul_charmm_intel.cpp @@ -447,11 +447,13 @@ void PairLJCharmmCoulCharmmIntel::eval(const int offload, const int vflag, void PairLJCharmmCoulCharmmIntel::init_style() { PairLJCharmmCoulCharmm::init_style(); + auto request = neighbor->find_request(this); + if (force->newton_pair == 0) { - neighbor->requests[neighbor->nrequest-1]->half = 0; - neighbor->requests[neighbor->nrequest-1]->full = 1; + request->half = 0; + request->full = 1; } - neighbor->requests[neighbor->nrequest-1]->intel = 1; + request->intel = 1; int ifix = modify->find_fix("package_intel"); if (ifix < 0) diff --git a/src/USER-INTEL/pair_lj_charmm_coul_long_intel.cpp b/src/USER-INTEL/pair_lj_charmm_coul_long_intel.cpp index b89deacc0b..d3a7cef83a 100644 --- a/src/USER-INTEL/pair_lj_charmm_coul_long_intel.cpp +++ b/src/USER-INTEL/pair_lj_charmm_coul_long_intel.cpp @@ -12,20 +12,23 @@ Contributing author: W. Michael Brown (Intel) ------------------------------------------------------------------------- */ -#include #include "pair_lj_charmm_coul_long_intel.h" + #include "atom.h" #include "comm.h" #include "force.h" #include "group.h" #include "kspace.h" #include "memory.h" +#include "memory.h" #include "modify.h" -#include "neighbor.h" #include "neigh_list.h" #include "neigh_request.h" -#include "memory.h" +#include "neighbor.h" #include "suffix.h" + +#include + using namespace LAMMPS_NS; #define LJ_T typename IntelBuffers::vec2_t @@ -509,11 +512,13 @@ void PairLJCharmmCoulLongIntel::eval(const int offload, const int vflag, void PairLJCharmmCoulLongIntel::init_style() { PairLJCharmmCoulLong::init_style(); + auto request = neighbor->find_request(this); + if (force->newton_pair == 0) { - neighbor->requests[neighbor->nrequest-1]->half = 0; - neighbor->requests[neighbor->nrequest-1]->full = 1; + request->half = 0; + request->full = 1; } - neighbor->requests[neighbor->nrequest-1]->intel = 1; + request->intel = 1; int ifix = modify->find_fix("package_intel"); if (ifix < 0) diff --git a/src/USER-INTEL/pair_lj_cut_coul_long_intel.cpp b/src/USER-INTEL/pair_lj_cut_coul_long_intel.cpp index 111f5610b6..c0edde3c0a 100644 --- a/src/USER-INTEL/pair_lj_cut_coul_long_intel.cpp +++ b/src/USER-INTEL/pair_lj_cut_coul_long_intel.cpp @@ -475,11 +475,13 @@ void PairLJCutCoulLongIntel::eval(const int offload, const int vflag, void PairLJCutCoulLongIntel::init_style() { PairLJCutCoulLong::init_style(); + auto request = neighbor->find_request(this); + if (force->newton_pair == 0) { - neighbor->requests[neighbor->nrequest-1]->half = 0; - neighbor->requests[neighbor->nrequest-1]->full = 1; + request->half = 0; + request->full = 1; } - neighbor->requests[neighbor->nrequest-1]->intel = 1; + request->intel = 1; int ifix = modify->find_fix("package_intel"); if (ifix < 0) diff --git a/src/USER-INTEL/pair_lj_cut_intel.cpp b/src/USER-INTEL/pair_lj_cut_intel.cpp index 6499f1cec8..36bbebdd88 100644 --- a/src/USER-INTEL/pair_lj_cut_intel.cpp +++ b/src/USER-INTEL/pair_lj_cut_intel.cpp @@ -12,18 +12,20 @@ Contributing author: W. Michael Brown (Intel) ------------------------------------------------------------------------- */ -#include #include "pair_lj_cut_intel.h" + #include "atom.h" #include "comm.h" #include "force.h" #include "memory.h" #include "modify.h" -#include "neighbor.h" #include "neigh_list.h" #include "neigh_request.h" - +#include "neighbor.h" #include "suffix.h" + +#include + using namespace LAMMPS_NS; #define FC_PACKED1_T typename ForceConst::fc_packed1 @@ -379,11 +381,13 @@ void PairLJCutIntel::eval(const int offload, const int vflag, void PairLJCutIntel::init_style() { PairLJCut::init_style(); + auto request = neighbor->find_request(this); + if (force->newton_pair == 0) { - neighbor->requests[neighbor->nrequest-1]->half = 0; - neighbor->requests[neighbor->nrequest-1]->full = 1; + request->half = 0; + request->full = 1; } - neighbor->requests[neighbor->nrequest-1]->intel = 1; + request->intel = 1; int ifix = modify->find_fix("package_intel"); if (ifix < 0) diff --git a/src/USER-INTEL/pair_sw_intel.cpp b/src/USER-INTEL/pair_sw_intel.cpp index bc5c40a258..5c339e059f 100644 --- a/src/USER-INTEL/pair_sw_intel.cpp +++ b/src/USER-INTEL/pair_sw_intel.cpp @@ -1101,7 +1101,8 @@ void PairSWIntel::allocate() void PairSWIntel::init_style() { PairSW::init_style(); - neighbor->requests[neighbor->nrequest-1]->intel = 1; + neighbor->find_request(this)->intel = 1; + map[0] = map[1]; int ifix = modify->find_fix("package_intel"); From 9a09378136930f8ca6cb7df7409f761b3be739a9 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 27 Apr 2021 09:53:20 -0400 Subject: [PATCH 091/726] can only use and test fdotr with USER-INTEL when newton pair is off --- unittest/force-styles/test_pair_style.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/unittest/force-styles/test_pair_style.cpp b/unittest/force-styles/test_pair_style.cpp index fb38de54ad..ca03c34fc9 100644 --- a/unittest/force-styles/test_pair_style.cpp +++ b/unittest/force-styles/test_pair_style.cpp @@ -158,7 +158,7 @@ void run_lammps(LAMMPS *lmp) command("run 4 post no"); } -void restart_lammps(LAMMPS *lmp, const TestConfig &cfg, bool nofdotr = false) +void restart_lammps(LAMMPS *lmp, const TestConfig &cfg, bool nofdotr = false, bool newton = true) { // utility lambda to improve readability auto command = [&](const std::string &line) { @@ -166,6 +166,8 @@ void restart_lammps(LAMMPS *lmp, const TestConfig &cfg, bool nofdotr = false) }; command("clear"); + if (newton) command("newton on"); + else command("newton off"); command("read_restart " + cfg.basename + ".restart"); if (!lmp->force->pair) { @@ -1085,7 +1087,7 @@ TEST(PairStyle, intel) if (print_stats) std::cerr << "run_energy stats:" << stats << std::endl; if (!verbose) ::testing::internal::CaptureStdout(); - restart_lammps(lmp, test_config, true); + restart_lammps(lmp, test_config, true, false); if (!verbose) ::testing::internal::GetCapturedStdout(); f = lmp->atom->f; From 3a6e27e0e832f63235ccdf9d27069cd371461b8f Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 27 Apr 2021 12:33:33 -0400 Subject: [PATCH 092/726] must skip nofdotr test for sw since that requires newton on with /intel --- unittest/force-styles/test_pair_style.cpp | 67 ++++++++++++----------- 1 file changed, 36 insertions(+), 31 deletions(-) diff --git a/unittest/force-styles/test_pair_style.cpp b/unittest/force-styles/test_pair_style.cpp index ca03c34fc9..c90552f6fb 100644 --- a/unittest/force-styles/test_pair_style.cpp +++ b/unittest/force-styles/test_pair_style.cpp @@ -166,8 +166,10 @@ void restart_lammps(LAMMPS *lmp, const TestConfig &cfg, bool nofdotr = false, bo }; command("clear"); - if (newton) command("newton on"); - else command("newton off"); + if (newton) + command("newton on"); + else + command("newton off"); command("read_restart " + cfg.basename + ".restart"); if (!lmp->force->pair) { @@ -1086,37 +1088,40 @@ TEST(PairStyle, intel) EXPECT_FP_LE_WITH_EPS((pair->eng_vdwl + pair->eng_coul), energy, epsilon); if (print_stats) std::cerr << "run_energy stats:" << stats << std::endl; - if (!verbose) ::testing::internal::CaptureStdout(); - restart_lammps(lmp, test_config, true, false); - if (!verbose) ::testing::internal::GetCapturedStdout(); + // pair style sw requires newton on, but that also requires fdotr for /intel + std::cerr << "pair style : " << test_config.pair_style << "\n"; + if (test_config.pair_style != "sw") { - f = lmp->atom->f; - tag = lmp->atom->tag; - stats.reset(); - ASSERT_EQ(nlocal + 1, f_ref.size()); - for (int i = 0; i < nlocal; ++i) { - EXPECT_FP_LE_WITH_EPS(f[i][0], f_ref[tag[i]].x, 5 * epsilon); - EXPECT_FP_LE_WITH_EPS(f[i][1], f_ref[tag[i]].y, 5 * epsilon); - EXPECT_FP_LE_WITH_EPS(f[i][2], f_ref[tag[i]].z, 5 * epsilon); + if (!verbose) ::testing::internal::CaptureStdout(); + restart_lammps(lmp, test_config, true, false); + if (!verbose) ::testing::internal::GetCapturedStdout(); + f = lmp->atom->f; + tag = lmp->atom->tag; + stats.reset(); + ASSERT_EQ(nlocal + 1, f_ref.size()); + for (int i = 0; i < nlocal; ++i) { + EXPECT_FP_LE_WITH_EPS(f[i][0], f_ref[tag[i]].x, 5 * epsilon); + EXPECT_FP_LE_WITH_EPS(f[i][1], f_ref[tag[i]].y, 5 * epsilon); + EXPECT_FP_LE_WITH_EPS(f[i][2], f_ref[tag[i]].z, 5 * epsilon); + } + if (print_stats) std::cerr << "nofdotr_forces stats:" << stats << std::endl; + + pair = lmp->force->pair; + stress = pair->virial; + stats.reset(); + EXPECT_FP_LE_WITH_EPS(stress[0], test_config.init_stress.xx, 10 * epsilon); + EXPECT_FP_LE_WITH_EPS(stress[1], test_config.init_stress.yy, 10 * epsilon); + EXPECT_FP_LE_WITH_EPS(stress[2], test_config.init_stress.zz, 10 * epsilon); + EXPECT_FP_LE_WITH_EPS(stress[3], test_config.init_stress.xy, 10 * epsilon); + EXPECT_FP_LE_WITH_EPS(stress[4], test_config.init_stress.xz, 10 * epsilon); + EXPECT_FP_LE_WITH_EPS(stress[5], test_config.init_stress.yz, 10 * epsilon); + if (print_stats) std::cerr << "nofdotr_stress stats:" << stats << std::endl; + + stats.reset(); + EXPECT_FP_LE_WITH_EPS(pair->eng_vdwl, test_config.init_vdwl, 5 * epsilon); + EXPECT_FP_LE_WITH_EPS(pair->eng_coul, test_config.init_coul, 5 * epsilon); + if (print_stats) std::cerr << "nofdotr_energy stats:" << stats << std::endl; } - if (print_stats) std::cerr << "nofdotr_forces stats:" << stats << std::endl; - - pair = lmp->force->pair; - stress = pair->virial; - stats.reset(); - EXPECT_FP_LE_WITH_EPS(stress[0], test_config.init_stress.xx, 10 * epsilon); - EXPECT_FP_LE_WITH_EPS(stress[1], test_config.init_stress.yy, 10 * epsilon); - EXPECT_FP_LE_WITH_EPS(stress[2], test_config.init_stress.zz, 10 * epsilon); - EXPECT_FP_LE_WITH_EPS(stress[3], test_config.init_stress.xy, 10 * epsilon); - EXPECT_FP_LE_WITH_EPS(stress[4], test_config.init_stress.xz, 10 * epsilon); - EXPECT_FP_LE_WITH_EPS(stress[5], test_config.init_stress.yz, 10 * epsilon); - if (print_stats) std::cerr << "nofdotr_stress stats:" << stats << std::endl; - - stats.reset(); - EXPECT_FP_LE_WITH_EPS(pair->eng_vdwl, test_config.init_vdwl, 5 * epsilon); - EXPECT_FP_LE_WITH_EPS(pair->eng_coul, test_config.init_coul, 5 * epsilon); - if (print_stats) std::cerr << "nofdotr_energy stats:" << stats << std::endl; - if (!verbose) ::testing::internal::CaptureStdout(); cleanup_lammps(lmp, test_config); if (!verbose) ::testing::internal::GetCapturedStdout(); From fdf12c4abcf9d3b9a27ac8ae91cfe110e2dbbb9e Mon Sep 17 00:00:00 2001 From: Joel Clemmer Date: Fri, 14 May 2021 13:03:24 -0600 Subject: [PATCH 093/726] Initial files --- src/fix_pair_tracker.cpp | 444 ++++++++++++++++++++++++++++++++++++ src/fix_pair_tracker.h | 119 ++++++++++ src/pair_tracker.cpp | 469 +++++++++++++++++++++++++++++++++++++++ src/pair_tracker.h | 101 +++++++++ 4 files changed, 1133 insertions(+) create mode 100755 src/fix_pair_tracker.cpp create mode 100755 src/fix_pair_tracker.h create mode 100644 src/pair_tracker.cpp create mode 100644 src/pair_tracker.h diff --git a/src/fix_pair_tracker.cpp b/src/fix_pair_tracker.cpp new file mode 100755 index 0000000000..6030fc0881 --- /dev/null +++ b/src/fix_pair_tracker.cpp @@ -0,0 +1,444 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include +#include "fix_pair_tracking.h" +#include "pair_tracker.h" +#include "atom.h" +#include "atom_vec.h" +#include "update.h" +#include "force.h" +#include "pair.h" +#include "neighbor.h" +#include "neigh_list.h" +#include "memory.h" +#include "modify.h" +#include "error.h" +#include "group.h" +#include "domain.h" + +using namespace LAMMPS_NS; +using namespace FixConst; + +#define DELTA 100 + +/* ---------------------------------------------------------------------- */ + +FixPairTracking::FixPairTracking(LAMMPS *lmp, int narg, char **arg) : + Fix(lmp, narg, arg), + nvalues(0), + array(NULL), vector(NULL), pack_choice(NULL) +{ + if (narg < 3) error->all(FLERR,"Illegal fix pair/tracker command"); + store_flag = 0; + local_flag = 1; + nvalues = narg - 4; + + nevery = utils::inumeric(FLERR,arg[3],false,lmp); + if (nevery <= 0) error->all(FLERR,"Illegal fix pair/tracker command"); + + if (nvalues == 1) size_local_cols = 0; + else size_local_cols = nvalues; + + pack_choice = new FnPtrPack[nvalues]; + + int i; + for (int iarg = 4; iarg < narg; iarg++) { + i = iarg - 4; + + if (strcmp(arg[iarg],"id1") == 0) { + pack_choice[i] = &FixPairTracking::pack_id1; + } else if (strcmp(arg[iarg],"id2") == 0) { + pack_choice[i] = &FixPairTracking::pack_id2; + + } else if (strcmp(arg[iarg],"time/created") == 0) { + pack_choice[i] = &FixPairTracking::pack_time_created; + } else if (strcmp(arg[iarg],"time/broken") == 0) { + pack_choice[i] = &FixPairTracking::pack_time_broken; + } else if (strcmp(arg[iarg],"time/total") == 0) { + pack_choice[i] = &FixPairTracking::pack_time_total; + + } else if (strcmp(arg[iarg],"x") == 0) { + pack_choice[i] = &FixPairTracking::pack_x; + } else if (strcmp(arg[iarg],"y") == 0) { + pack_choice[i] = &FixPairTracking::pack_y; + } else if (strcmp(arg[iarg],"z") == 0) { + pack_choice[i] = &FixPairTracking::pack_z; + + } else if (strcmp(arg[iarg],"xstore") == 0) { + pack_choice[i] = &FixPairTracking::pack_xstore; + store_flag = 1; + } else if (strcmp(arg[iarg],"ystore") == 0) { + pack_choice[i] = &FixPairTracking::pack_ystore; + store_flag = 1; + } else if (strcmp(arg[iarg],"zstore") == 0) { + pack_choice[i] = &FixPairTracking::pack_zstore; + store_flag = 1; + + } else if (strcmp(arg[iarg],"rmin") == 0) { + pack_choice[i] = &FixPairTracking::pack_rmin; + } else if (strcmp(arg[iarg],"rave") == 0) { + pack_choice[i] = &FixPairTracking::pack_rave; + + } else error->all(FLERR, "Invalid keyword in fix pair/tracker command"); + } + + nmax = 0; + ncount = 0; + vector = NULL; + array = NULL; +} + +/* ---------------------------------------------------------------------- */ + +FixPairTracking::~FixPairTracking() +{ + if (modify->nfix & store_flag == 1) { + modify->delete_fix(id_fix); + delete [] id_fix; + } + + delete [] pack_choice; + + memory->destroy(vector); + memory->destroy(array); +} + +/* ---------------------------------------------------------------------- */ + +int FixPairTracking::setmask() +{ + int mask = 0; + mask |= POST_FORCE; + return mask; +} + +/* ---------------------------------------------------------------------- */ + +void FixPairTracking::post_constructor() +{ + //If use stored x,y,z values, use store property (can transfer to ghost atoms) to store positions + + if(store_flag == 1){ + + lx = domain->xprd; + ly = domain->yprd; + lz = domain->zprd; + + int nn = strlen(id) + strlen("_FIX_PROP_ATOM") + 1; + id_property_fix = new char[nn]; + strcpy(id_property_fix,id); + strcat(id_property_fix,"_FIX_PROP_ATOM"); + + int ifix = modify->find_fix(id_property_fix); + if (ifix < 0) { + + int n_x = strlen(id) + 4; + + char * lab1 = new char[n_x]; + strcpy(lab1, "d_x"); + strcat(lab1, id); + char * lab2 = new char[n_x]; + strcpy(lab2, "d_y"); + strcat(lab2, id); + char * lab3 = new char[n_x]; + strcpy(lab3, "d_z"); + strcat(lab3, id); + + char **newarg = new char*[8]; + newarg[0] = id_property_fix; + newarg[1] = group->names[igroup]; + newarg[2] = (char *) "property/atom"; + newarg[3] = (char *) lab1; + newarg[4] = (char *) lab2; + newarg[5] = (char *) lab3; + newarg[6] = (char *) "ghost"; + newarg[7] = (char *) "yes"; + + modify->add_fix(8,newarg); + //Needs ghost atoms to calculate CoM + + int type_flag; + int col_flag; + + strcpy(lab1, "x"); + strcat(lab1, id); + strcpy(lab2, "y"); + strcat(lab2, id); + strcpy(lab3, "z"); + strcat(lab3, id); + + index_x = atom->find_custom(lab1, type_flag, col_flag); + index_y = atom->find_custom(lab2, type_flag, col_flag); + index_z = atom->find_custom(lab3, type_flag, col_flag); + delete [] newarg; + delete [] lab1; + delete [] lab2; + delete [] lab3; + } + + ifix = modify->find_fix(id_fix); + if (ifix < 0) error->all(FLERR,"Could not find fix ID for fix broken/bond"); + if (modify->fix[ifix]->restart_reset) { + modify->fix[ifix]->restart_reset = 0; + } else { + + double *xi = atom->dvector[index_x]; + double *yi = atom->dvector[index_y]; + double *zi = atom->dvector[index_z]; + + double **xs = atom->x; + int nlocal = atom->nlocal; + + for (int i = 0; i < nlocal; i++) { + xi[i] = xs[i][0]; + yi[i] = xs[i][1]; + zi[i] = xs[i][2]; + } + } + } +} + +/* ---------------------------------------------------------------------- */ + +void FixPairTracking::init() +{ + // Set size of array/vector + ncount = 0; + + if (ncount > nmax) { + reallocate(ncount);} + size_local_rows = ncount; +} + +/* ---------------------------------------------------------------------- */ + +void FixPairTracking::lost_contact(int i, int j, double n, double rs, double rm) +{ + if (ncount == nmax) reallocate(ncount); + + index_i = i; + index_j = j; + rmin = rm; + rave = ra; + ntimestep = n; + + // fill vector or array with local values + if (nvalues == 1) { + (this->*pack_choice[0])(0); + } else { + for (int n = 0; n < nvalues; n++) + (this->*pack_choice[n])(n); + } + + ncount += 1; +} + +/* ---------------------------------------------------------------------- */ + +void FixPairTracking::post_force(int /*vflag*/) +{ + if (update->ntimestep % nevery == 0) { + size_local_rows = ncount; + ncount = 0; + } +} + + +/* ---------------------------------------------------------------------- */ + +void FixPairTracking::reallocate(int n) +{ + // grow vector or array + while (nmax <= n) nmax += DELTA; + + if (nvalues == 1) { + memory->grow(vector,nmax,"fix_broken_bonds:vector"); + vector_local = vector; + } else { + memory->grow(array,nmax,nvalues,"fix_broken_bonds:array"); + array_local = array; + } +} + +/* ---------------------------------------------------------------------- + memory usage of local data +------------------------------------------------------------------------- */ + +double FixPairTracking::memory_usage() +{ + double bytes = nmax*nvalues * sizeof(double); + bytes += nmax*2 * sizeof(int); + return bytes; +} + +/* ---------------------------------------------------------------------- + one method for every keyword fix property/local can output + the atom property is packed into buf starting at n with stride nvalues + customize a new keyword by adding a method +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- */ + +void FixPairTracking::pack_time_created(int n) +{ + if (nvalues == 1) + vector[ncount] = ntimestep; + else + array[ncount][n] = ntimestep; +} + +/* ---------------------------------------------------------------------- */ + +void FixPairTracking::pack_time_broken(int n) +{ + if (nvalues == 1) + vector[ncount] = update->ntimestep; + else + array[ncount][n] = update->ntimestep; +} + +/* ---------------------------------------------------------------------- */ + +void FixPairTracking::pack_time_total(int n) +{ + if (nvalues == 1) + vector[ncount] = update->ntimestep-ntimestep; + else + array[ncount][n] = update->ntimestep-ntimestep; +} + + +/* ---------------------------------------------------------------------- */ + +void FixPairTracking::pack_id1(int n) +{ + tagint *tag = atom->tag; + + if (nvalues == 1) + vector[ncount] = tag[index_i]; + else + array[ncount][n] = tag[index_i]; +} + +/* ---------------------------------------------------------------------- */ + +void FixPairTracking::pack_id2(int n) +{ + tagint *tag = atom->tag; + + if (nvalues == 1) + vector[ncount] = tag[index_j]; + else + array[ncount][n] = tag[index_j]; +} + +/* ---------------------------------------------------------------------- */ + +void FixPairTracking::pack_x(int n) +{ + double lx_new = domain->xprd; + double **x = atom->x; + + if (nvalues == 1) + vector[ncount] = (x[index_i][0] + x[index_j][0])/2; + else + array[ncount][n] = (x[index_i][0] + x[index_j][0])/2; +} + + +/* ---------------------------------------------------------------------- */ + +void FixPairTracking::pack_y(int n) +{ + double lx_new = domain->yprd; + double **x = atom->x; + + if (nvalues == 1) + vector[ncount] = (x[index_i][1] + x[index_j][1])/2; + else + array[ncount][n] = (x[index_i][1] + x[index_j][1])/2; +} + + +/* ---------------------------------------------------------------------- */ + +void FixPairTracking::pack_z(int n) +{ + double lx_new = domain->zprd; + double **x = atom->x; + + if (nvalues == 1) + vector[ncount] = (x[index_i][2] + x[index_j][2])/2; + else + array[ncount][n] = (x[index_i][2] + x[index_j][2])/2; +} + + +/* ---------------------------------------------------------------------- */ + +void FixPairTracking::pack_xstore(int n) +{ + double *x = atom->dvector[index_x]; + + if (nvalues == 1) + vector[ncount] = (x[index_i] + x[index_j])/2; + else + array[ncount][n] = (x[index_i] + x[index_j])/2; +} + + +/* ---------------------------------------------------------------------- */ + +void FixPairTracking::pack_ystore(int n) +{ + double *y = atom->dvector[index_y]; + + if (nvalues == 1) + vector[ncount] = (y[index_i] + y[index_j])/2; + else + array[ncount][n] = (y[index_i] + y[index_j])/2; +} + + +/* ---------------------------------------------------------------------- */ + +void FixPairTracking::pack_zstore(int n) +{ + double *z = atom->dvector[index_z]; + + if (nvalues == 1) + vector[ncount] = (z[index_i] + z[index_j])/2; + else + array[ncount][n] = (z[index_i] + z[index_j])/2; +} + +/* ---------------------------------------------------------------------- */ + +void FixPairTracking::pack_rmin(int n) +{ + if (nvalues == 1) + vector[ncount] = rmin; + else + array[ncount][n] = rmin; +} + +/* ---------------------------------------------------------------------- */ + +void FixPairTracking::pack_rave(int n) +{ + if (nvalues == 1) + vector[ncount] = rsum/(update->ntimestep-ntimestep); + else + array[ncount][n] = rsum/(update->ntimestep-ntimestep); +} diff --git a/src/fix_pair_tracker.h b/src/fix_pair_tracker.h new file mode 100755 index 0000000000..8f63bac6d9 --- /dev/null +++ b/src/fix_pair_tracker.h @@ -0,0 +1,119 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef FIX_CLASS + +FixStyle(pair/tracking,FixPairTracking) + +#else + +#ifndef LMP_FIX_PAIR_TRACKING_H +#define LMP_FIX_PAIR_TRACKING_H + +#include "fix.h" + +namespace LAMMPS_NS { + +class FixPairTracking : public Fix { + public: + FixPairTracking(class LAMMPS *, int, char **); + ~FixPairTracking(); + int setmask(); + void post_constructor(); + void init(); + void post_force(int); + double memory_usage(); + void lost_contact(int, int, double, double, double); + + private: + int nvalues, never; + int nmax; + int store_flag; + int index_i, index_j; + + double *vector; + double **array; + + double lx; + double ly; + double lz; + + int ncount; + + void reallocate(int); + + typedef void (FixPairTracker::*FnPtrPack)(int); + FnPtrPack *pack_choice; // ptrs to pack functions + + void pack_id1(int); + void pack_id2(int); + + void pack_time_created(int); + void pack_time_broken(int); + void pack_time_total(int); + + void pack_x(int); + void pack_y(int); + void pack_z(int); + + void pack_xstore(int); + void pack_ystore(int); + void pack_zstore(int); + + void pack_rmin(int); + void pack_rave(int); + + char *id_fix; + int index_x, index_y, index_z; +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +E: Illegal ... command + +Self-explanatory. Check the input script syntax and compare to the +documentation for the command. You can use -echo screen as a +command-line option when running LAMMPS to see the offending line. + +E: Fix property/local cannot use these inputs together + +Only inputs that generate the same number of datums can be used +togther. E.g. bond and angle quantities cannot be mixed. + +E: Invalid keyword in compute property/local command + +Self-explanatory. + +E: Fix property/local does not (yet) work with atom_style template + +Self-explanatory. + +E: Fix property/local for property that isn't allocated + +Self-explanatory. + +E: No pair style is defined for compute property/local + +Self-explanatory. + +E: Pair style does not support compute property/local + +The pair style does not have a single() function, so it can +not be invoked by fix bond/swap. + +*/ diff --git a/src/pair_tracker.cpp b/src/pair_tracker.cpp new file mode 100644 index 0000000000..4f40c1bdfe --- /dev/null +++ b/src/pair_tracker.cpp @@ -0,0 +1,469 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://lammps.sandia.gov/, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing authors: Leo Silbert (SNL), Gary Grest (SNL) +------------------------------------------------------------------------- */ + +#include "pair_tracker.h" + +#include +#include + +#include "atom.h" +#include "force.h" +#include "update.h" +#include "modify.h" +#include "fix.h" +#include "fix_dummy.h" +#include "fix_neigh_history.h" +#include "comm.h" +#include "neighbor.h" +#include "neigh_list.h" +#include "neigh_request.h" +#include "memory.h" +#include "error.h" + +using namespace LAMMPS_NS; + +/* ---------------------------------------------------------------------- */ + +PairTracker::PairTracker(LAMMPS *lmp) : Pair(lmp) +{ + single_enable = 1; + no_virial_fdotr_compute = 1; + history = 1; + size_history = 3; + + neighprev = 0; + nondefault_history_transfer = 1; + + finitecutflag = 0; + + // create dummy fix as placeholder for FixNeigTRACKistory + // this is so final order of Modify:fix will conform to input script + + fix_history = nullptr; + modify->add_fix("NEIGH_HISTORY_TRACK_DUMMY all DUMMY"); + fix_dummy = (FixDummy *) modify->fix[modify->nfix-1]; +} + +/* ---------------------------------------------------------------------- */ + +PairTracker::~PairTracker() +{ + if (!fix_history) modify->delete_fix("NEIGH_HISTORY_TRACK_DUMMY"); + else modify->delete_fix("NEIGH_HISTORY_TRACK"); + + if (allocated) { + memory->destroy(setflag); + memory->destroy(cutsq); + memory->destroy(cut); + + delete [] onerad_dynamic; + delete [] onerad_frozen; + delete [] maxrad_dynamic; + delete [] maxrad_frozen; + } +} + +/* ---------------------------------------------------------------------- */ + +void PairTracker::compute(int eflag, int vflag) +{ + int i,j,ii,jj,inum,jnum; + double xtmp,ytmp,ztmp,delx,dely,delz; + double radi,radj,radsum,rsq,r; + int *ilist,*jlist,*numneigh,**firstneigh; + int *touch,**firsttouch; + double *data,*alldata,**firstdata; + + int updateflag = 1; + if (update->setupflag) updateflag = 0; + + + double **x = atom->x; + double *radius = atom->radius; + int *mask = atom->mask; + int nlocal = atom->nlocal; + int newton_pair = force->newton_pair; + + inum = list->inum; + ilist = list->ilist; + numneigh = list->numneigh; + firstneigh = list->firstneigh; + firsttouch = fix_history->firstflag; + firstdata = fix_history->firstvalue; + + // loop over neighbors of my atoms + + for (ii = 0; ii < inum; ii++) { + i = ilist[ii]; + xtmp = x[i][0]; + ytmp = x[i][1]; + ztmp = x[i][2]; + if (finitecutflag) radi = radius[i]; + touch = firsttouch[i]; + alldata = firstdata[i]; + jlist = firstneigh[i]; + jnum = numneigh[i]; + + for (jj = 0; jj < jnum; jj++) { + j = jlist[jj]; + j &= NEIGHMASK; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + if (finitecutflag) { + radj = radius[j]; + radsum = radi + radj; + + if (rsq >= radsum*radsum) { + // unset non-touching neighbors + if(touch[jj] == 1) { + fix_pair_tracker->lost_contact(i, j, data[0], data[1], data[2]); + } + touch[jj] = 0; + data = &alldata[size_history*jj]; + data[0] = 0.0; // initial time + data[1] = 0.0; // sum of r + data[2] = 0.0; // min of r + + } else { + + data = &alldata[size_history*jj]; + if (touch[jj] == 0) { + data[0] = update->ntimestep; + data[1] = 0.0; + data[2] = 0.0; + } + touch[jj] = 1; + + if (updateflag) { + r = sqrt(rsq); + data[1] += r; + if(data[2] > r) data[2] = r; + } + } + } else { + + } + + if (rsq >= radsum*radsum) { + + + f[i][0] += fx; + f[i][1] += fy; + f[i][2] += fz; + + + if (newton_pair || j < nlocal) { + f[j][0] -= fx; + f[j][1] -= fy; + f[j][2] -= fz; + torque[j][0] -= radj*tor1; + torque[j][1] -= radj*tor2; + torque[j][2] -= radj*tor3; + } + + } + } + } +} + +/* ---------------------------------------------------------------------- + allocate all arrays +------------------------------------------------------------------------- */ + +void PairTracker::allocate() +{ + allocated = 1; + int n = atom->ntypes; + + memory->create(setflag,n+1,n+1,"pair:setflag"); + for (int i = 1; i <= n; i++) + for (int j = i; j <= n; j++) + setflag[i][j] = 0; + + memory->create(cutsq,n+1,n+1,"pair:cutsq"); + memory->create(cut,n+1,n+1,"pair:cut"); + + onerad_dynamic = new double[n+1]; + onerad_frozen = new double[n+1]; + maxrad_dynamic = new double[n+1]; + maxrad_frozen = new double[n+1]; +} + +/* ---------------------------------------------------------------------- + global settings +------------------------------------------------------------------------- */ + +void PairTracker::settings(int narg, char **arg) +{ + if (narg != 0 || narg != 1) error->all(FLERR,"Illegal pair_style command"); + + if (narg == 1) { + if (strcmp(arg[0], "radius")) finitecutflag = 1; + else error->all(FLERR,"Illegal pair_style command"); + } +} + +/* ---------------------------------------------------------------------- + set coeffs for one or more type pairs +------------------------------------------------------------------------- */ + +void PairTracker::coeff(int narg, char **arg) +{ + if (narg > 2 && finitecutflag) error->all(FLERR,"Incorrect args for pair coefficients"); + if (narg != 3 && !finitecutflag) error->all(FLERR,"Incorrect args for pair coefficients"); + if (!allocated) allocate(); + + int ilo,ihi,jlo,jhi; + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); + + double cut_one = 0.0; + if (!finitecutflag) cut_one = utils::numeric(FLERR,arg[3],false,lmp); + + int count = 0; + for (int i = ilo; i <= ihi; i++) { + for (int j = MAX(jlo,i); j <= jhi; j++) { + setflag[i][j] = 1; + cut[i][j] = cut_one; + count++; + } + } + + if (count == 0) error->all(FLERR,"Incorrect args for pair coefficients"); +} + +/* ---------------------------------------------------------------------- + init specific to this pair style +------------------------------------------------------------------------- */ + +void PairTracker::init_style() +{ + int i; + + // error and warning checks + + if (!atom->radius_flag && finitecutflag) + error->all(FLERR,"Pair tracker requires atom attribute radius for finite cutoffs"); + + // need a history neigh list + + int irequest = neighbor->request(this,instance_me); + if (finitecutflag) neighbor->requests[irequest]->size = 1; + neighbor->requests[irequest]->history = 1; + + // if history is stored and first init, create Fix to store history + // it replaces FixDummy, created in the constructor + // this is so its order in the fix list is preserved + + if (fix_history == nullptr) { + char dnumstr[16]; + sprintf(dnumstr,"%d",size_history); + char **fixarg = new char*[4]; + fixarg[0] = (char *) "NEIGH_HISTORY_TRACK"; + fixarg[1] = (char *) "all"; + fixarg[2] = (char *) "NEIGH_HISTORY"; + fixarg[3] = dnumstr; + modify->replace_fix("NEIGH_HISTORY_TRACK_DUMMY",4,fixarg,1); + delete [] fixarg; + int ifix = modify->find_fix("NEIGH_HISTORY_TRACK"); + fix_history = (FixNeigTRACKistory *) modify->fix[ifix]; + fix_history->pair = this; + } + + if (finitecutflag) { + // set maxrad_dynamic and maxrad_frozen for each type + // include future FixPour and FixDeposit particles as dynamic + + int itype; + for (i = 1; i <= atom->ntypes; i++) { + onerad_dynamic[i] = onerad_frozen[i] = 0.0; + if (ipour >= 0) { + itype = i; + onerad_dynamic[i] = + *((double *) modify->fix[ipour]->extract("radius",itype)); + } + if (idep >= 0) { + itype = i; + onerad_dynamic[i] = + *((double *) modify->fix[idep]->extract("radius",itype)); + } + } + + double *radius = atom->radius; + int *mask = atom->mask; + int *type = atom->type; + int nlocal = atom->nlocal; + + for (i = 0; i < nlocal; i++) + if (mask[i] & freeze_group_bit) + onerad_frozen[type[i]] = MAX(onerad_frozen[type[i]],radius[i]); + else + onerad_dynamic[type[i]] = MAX(onerad_dynamic[type[i]],radius[i]); + + MPI_Allreduce(&onerad_dynamic[1],&maxrad_dynamic[1],atom->ntypes, + MPI_DOUBLE,MPI_MAX,world); + MPI_Allreduce(&onerad_frozen[1],&maxrad_frozen[1],atom->ntypes, + MPI_DOUBLE,MPI_MAX,world); + } + + int ifix = modify->find_fix("NEIGH_HISTORY_TRACK"); + if (ifix < 0) error->all(FLERR,"Could not find pair fix neigh history ID"); + fix_history = (FixNeigTRACKistory *) modify->fix[ifix]; + + ifix = modify->find_fix_by_style("pair/tracker"); + if(ifix < 0) error->all(FLERR,"Cannot use pair tracker without fix pair/tracker"); + fix_pair_tracker = (FixPairTracker *) modify->fix[ifix]; +} + +/* ---------------------------------------------------------------------- + init for one type pair i,j and corresponding j,i +------------------------------------------------------------------------- */ + +double PairTracker::init_one(int i, int j) +{ + if (!allocated) allocate(); + + // always mix prefactors geometrically + + if (setflag[i][j] == 0) { + cut[i][j] = mix_distance(cut[i][i],cut[j][j]); + } + + cut[j][i] = cut[i][j]; + + double cutoff; + + // if finite, cutoff = sum of max I,J radii for + // dynamic/dynamic & dynamic/frozen interactions, but not frozen/frozen + if (finitecutflag) { + cutoff = maxrad_dynamic[i]+maxrad_dynamic[j]; + cutoff = MAX(cutoff,maxrad_frozen[i]+maxrad_dynamic[j]); + cutoff = MAX(cutoff,maxrad_dynamic[i]+maxrad_frozen[j]); + } else { + cutoff = cut[i][j]; + } + return cutoff; +} + +/* ---------------------------------------------------------------------- + proc 0 writes to restart file +------------------------------------------------------------------------- */ + +void PairTracker::write_restart(FILE *fp) +{ + write_restart_settings(fp); + + int i,j; + for (i = 1; i <= atom->ntypes; i++) + for (j = i; j <= atom->ntypes; j++) { + fwrite(&setflag[i][j],sizeof(int),1,fp); + if (setflag[i][j]) { + fwrite(&cut[i][j],sizeof(double),1,fp); + } + } +} + +/* ---------------------------------------------------------------------- + proc 0 reads from restart file, bcasts +------------------------------------------------------------------------- */ + +void PairTracker::read_restart(FILE *fp) +{ + read_restart_settings(fp); + allocate(); + + int i,j; + int me = comm->me; + for (i = 1; i <= atom->ntypes; i++) + for (j = i; j <= atom->ntypes; j++) { + if (me == 0) utils::sfread(FLERR,&setflag[i][j],sizeof(int),1,fp,nullptr,error); + MPI_Bcast(&setflag[i][j],1,MPI_INT,0,world); + if (setflag[i][j]) { + if (me == 0) { + utils::sfread(FLERR,&cut[i][j],sizeof(double),1,fp,nullptr,error); + } + MPI_Bcast(&cut[i][j],1,MPI_DOUBLE,0,world); + } + } +} + +/* ---------------------------------------------------------------------- + proc 0 writes to restart file +------------------------------------------------------------------------- */ + +void PairTracker::write_restart_settings(FILE *fp) +{ + fwrite(&mix_flag,sizeof(int),1,fp); +} + +/* ---------------------------------------------------------------------- + proc 0 reads from restart file, bcasts +------------------------------------------------------------------------- */ + +void PairTracker::read_restart_settings(FILE *fp) +{ + if (comm->me == 0) { + utils::sfread(FLERR,&mix_flag,sizeof(int),1,fp,nullptr,error); + } + MPI_Bcast(&mix_flag,1,MPI_INT,0,world); +} + +/* ---------------------------------------------------------------------- */ + +double PairTracker::single(int i, int j, int /*itype*/, int /*jtype*/, + double rsq, + double /*factor_coul*/, double /*factor_lj*/, + double &fforce) +{ + return 0.0; +} + +/* ---------------------------------------------------------------------- + transfer history during fix/neigh/history exchange + only needed if any history entries i-j are not just negative of j-i entries +------------------------------------------------------------------------- */ + +void PairTracker::transfer_history(double* source, double* target) +{ + for (int i = 0; i < size_history; i++) + target[i] = source[i]; +} + + +/* ---------------------------------------------------------------------- + self-interaction range of particle if finite particles +------------------------------------------------------------------------- */ + +double PairTracker::atom2cut(int i) +{ + double cut = atom->radius[i]*2; + return cut; +} + +/* ---------------------------------------------------------------------- + maximum interaction range for two finite particles +------------------------------------------------------------------------- */ + +double PairTracker::radii2cut(double r1, double r2) +{ + double cut = r1+r2; + return cut; +} + diff --git a/src/pair_tracker.h b/src/pair_tracker.h new file mode 100644 index 0000000000..43dcf54559 --- /dev/null +++ b/src/pair_tracker.h @@ -0,0 +1,101 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://lammps.sandia.gov/, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef PAIR_CLASS + +PairStyle(tracker,PairTracker) + +#else + +#ifndef LMP_PAIR_TRACKER_H +#define LMP_PAIR_TRACKER_H + +#include "pair.h" + +namespace LAMMPS_NS { + +class PairTracker : public Pair { + public: + PairTracker(class LAMMPS *); + virtual ~PairTracker(); + virtual void compute(int, int); + virtual void settings(int, char **); + void coeff(int, char **); + void init_style(); + double init_one(int, int); + void write_restart(FILE *); + void read_restart(FILE *); + void write_restart_settings(FILE *); + void read_restart_settings(FILE *); + void reset_dt(); + virtual double single(int, int, int, int, double, double, double, double &); + double atom2cut(int); + double radii2cut(double,double); + + protected: + int sizeflag; + int history; + int size_history; + int neighprev; + double **cut; + double *onerad_dynamic,*onerad_frozen; + double *maxrad_dynamic,*maxrad_frozen; + + class FixDummy *fix_dummy; + class FixNeighHistory *fix_history; + class FixPairTracker *fix_pair_tracker; + + void transfer_history(double*, double*); + void allocate(); +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +E: Illegal ... command + +Self-explanatory. Check the input script syntax and compare to the +documentation for the command. You can use -echo screen as a +command-line option when running LAMMPS to see the offending line. + +E: Incorrect args for pair coefficients + +Self-explanatory. Check the input script or data file. + +E: Pair granular requires atom attributes radius, rmass + +The atom style defined does not have these attributes. + +E: Pair granular requires ghost atoms store velocity + +Use the comm_modify vel yes command to enable this. + +E: Could not find pair fix neigh history ID + +UNDOCUMENTED + +U: Pair granular with shear history requires newton pair off + +This is a current restriction of the implementation of pair +granular styles with history. + +U: Could not find pair fix ID + +A fix is created internally by the pair style to store shear +history information. You cannot delete it. + +*/ From d939a16d3b746281fbf8989010395e2c3c84c9e9 Mon Sep 17 00:00:00 2001 From: Joel Clemmer Date: Fri, 14 May 2021 17:26:51 -0600 Subject: [PATCH 094/726] Completing pair and fix --- src/dump.cpp | 10 +- src/dump.h | 1 + src/fix_pair_tracker.cpp | 258 ++++++++++----------------------------- src/fix_pair_tracker.h | 18 +-- src/pair_hybrid.cpp | 6 +- src/pair_tracker.cpp | 90 +++++++++----- src/pair_tracker.h | 2 +- 7 files changed, 149 insertions(+), 236 deletions(-) diff --git a/src/dump.cpp b/src/dump.cpp index c483d90fc3..23d49f9205 100644 --- a/src/dump.cpp +++ b/src/dump.cpp @@ -83,6 +83,7 @@ Dump::Dump(LAMMPS *lmp, int /*narg*/, char **arg) : Pointers(lmp) unit_flag = 0; unit_count = 0; delay_flag = 0; + write_header_flag = 1; maxfiles = -1; numfiles = 0; @@ -377,7 +378,7 @@ void Dump::write() if (multiproc) MPI_Allreduce(&bnme,&nheader,1,MPI_LMP_BIGINT,MPI_SUM,clustercomm); - if (filewriter) write_header(nheader); + if (filewriter && write_header_flag) write_header(nheader); // insure buf is sized for packing and communicating // use nmax to insure filewriter proc can receive info from others @@ -931,6 +932,13 @@ void Dump::modify_params(int narg, char **arg) else delay_flag = 0; iarg += 2; + } else if (strcmp(arg[iarg],"header") == 0) { + if (iarg+2 > narg) error->all(FLERR,"Illegal dump_modify command"); + if (strcmp(arg[iarg+1],"yes") == 0) write_header_flag = 1; + else if (strcmp(arg[iarg+1],"no") == 0) write_header_flag = 0; + else error->all(FLERR,"Illegal dump_modify command"); + iarg += 2; + } else if (strcmp(arg[iarg],"every") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal dump_modify command"); int idump; diff --git a/src/dump.h b/src/dump.h index 351365fa0e..76c4ee8f18 100644 --- a/src/dump.h +++ b/src/dump.h @@ -79,6 +79,7 @@ class Dump : protected Pointers { int unit_flag; // 1 if dump should contain unit information int unit_count; // # of times the unit information was written int delay_flag; // 1 if delay output until delaystep + int write_header_flag; // 1 if write header, 0 if not bigint delaystep; int refreshflag; // 1 if dump_modify refresh specified diff --git a/src/fix_pair_tracker.cpp b/src/fix_pair_tracker.cpp index 6030fc0881..7a9fb0174b 100755 --- a/src/fix_pair_tracker.cpp +++ b/src/fix_pair_tracker.cpp @@ -12,7 +12,7 @@ ------------------------------------------------------------------------- */ #include -#include "fix_pair_tracking.h" +#include "fix_pair_tracker.h" #include "pair_tracker.h" #include "atom.h" #include "atom_vec.h" @@ -34,16 +34,16 @@ using namespace FixConst; /* ---------------------------------------------------------------------- */ -FixPairTracking::FixPairTracking(LAMMPS *lmp, int narg, char **arg) : +FixPairTracker::FixPairTracker(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg), nvalues(0), array(NULL), vector(NULL), pack_choice(NULL) { if (narg < 3) error->all(FLERR,"Illegal fix pair/tracker command"); - store_flag = 0; local_flag = 1; nvalues = narg - 4; - + tmin = -1; + nevery = utils::inumeric(FLERR,arg[3],false,lmp); if (nevery <= 0) error->all(FLERR,"Illegal fix pair/tracker command"); @@ -52,45 +52,45 @@ FixPairTracking::FixPairTracking(LAMMPS *lmp, int narg, char **arg) : pack_choice = new FnPtrPack[nvalues]; - int i; - for (int iarg = 4; iarg < narg; iarg++) { - i = iarg - 4; + int iarg = 4; + int i = 0; + while (iarg < narg) { if (strcmp(arg[iarg],"id1") == 0) { - pack_choice[i] = &FixPairTracking::pack_id1; + pack_choice[i] = &FixPairTracker::pack_id1; } else if (strcmp(arg[iarg],"id2") == 0) { - pack_choice[i] = &FixPairTracking::pack_id2; + pack_choice[i] = &FixPairTracker::pack_id2; } else if (strcmp(arg[iarg],"time/created") == 0) { - pack_choice[i] = &FixPairTracking::pack_time_created; + pack_choice[i] = &FixPairTracker::pack_time_created; } else if (strcmp(arg[iarg],"time/broken") == 0) { - pack_choice[i] = &FixPairTracking::pack_time_broken; + pack_choice[i] = &FixPairTracker::pack_time_broken; } else if (strcmp(arg[iarg],"time/total") == 0) { - pack_choice[i] = &FixPairTracking::pack_time_total; + pack_choice[i] = &FixPairTracker::pack_time_total; } else if (strcmp(arg[iarg],"x") == 0) { - pack_choice[i] = &FixPairTracking::pack_x; + pack_choice[i] = &FixPairTracker::pack_x; } else if (strcmp(arg[iarg],"y") == 0) { - pack_choice[i] = &FixPairTracking::pack_y; + pack_choice[i] = &FixPairTracker::pack_y; } else if (strcmp(arg[iarg],"z") == 0) { - pack_choice[i] = &FixPairTracking::pack_z; + pack_choice[i] = &FixPairTracker::pack_z; - } else if (strcmp(arg[iarg],"xstore") == 0) { - pack_choice[i] = &FixPairTracking::pack_xstore; - store_flag = 1; - } else if (strcmp(arg[iarg],"ystore") == 0) { - pack_choice[i] = &FixPairTracking::pack_ystore; - store_flag = 1; - } else if (strcmp(arg[iarg],"zstore") == 0) { - pack_choice[i] = &FixPairTracking::pack_zstore; - store_flag = 1; - } else if (strcmp(arg[iarg],"rmin") == 0) { - pack_choice[i] = &FixPairTracking::pack_rmin; + pack_choice[i] = &FixPairTracker::pack_rmin; } else if (strcmp(arg[iarg],"rave") == 0) { - pack_choice[i] = &FixPairTracking::pack_rave; + pack_choice[i] = &FixPairTracker::pack_rave; + + } else if (strcmp(arg[iarg],"tmin") == 0) { + if (iarg + 1 >= narg) error->all(FLERR, "Invalid keyword in fix pair/tracker command"); + tmin = utils::numeric(FLERR,arg[iarg+1],false,lmp); + i -= 1; + nvalues -= 2; + iarg ++; } else error->all(FLERR, "Invalid keyword in fix pair/tracker command"); + + iarg ++; + i ++; } nmax = 0; @@ -101,13 +101,8 @@ FixPairTracking::FixPairTracking(LAMMPS *lmp, int narg, char **arg) : /* ---------------------------------------------------------------------- */ -FixPairTracking::~FixPairTracking() -{ - if (modify->nfix & store_flag == 1) { - modify->delete_fix(id_fix); - delete [] id_fix; - } - +FixPairTracker::~FixPairTracker() +{ delete [] pack_choice; memory->destroy(vector); @@ -116,7 +111,7 @@ FixPairTracking::~FixPairTracking() /* ---------------------------------------------------------------------- */ -int FixPairTracking::setmask() +int FixPairTracker::setmask() { int mask = 0; mask |= POST_FORCE; @@ -125,93 +120,7 @@ int FixPairTracking::setmask() /* ---------------------------------------------------------------------- */ -void FixPairTracking::post_constructor() -{ - //If use stored x,y,z values, use store property (can transfer to ghost atoms) to store positions - - if(store_flag == 1){ - - lx = domain->xprd; - ly = domain->yprd; - lz = domain->zprd; - - int nn = strlen(id) + strlen("_FIX_PROP_ATOM") + 1; - id_property_fix = new char[nn]; - strcpy(id_property_fix,id); - strcat(id_property_fix,"_FIX_PROP_ATOM"); - - int ifix = modify->find_fix(id_property_fix); - if (ifix < 0) { - - int n_x = strlen(id) + 4; - - char * lab1 = new char[n_x]; - strcpy(lab1, "d_x"); - strcat(lab1, id); - char * lab2 = new char[n_x]; - strcpy(lab2, "d_y"); - strcat(lab2, id); - char * lab3 = new char[n_x]; - strcpy(lab3, "d_z"); - strcat(lab3, id); - - char **newarg = new char*[8]; - newarg[0] = id_property_fix; - newarg[1] = group->names[igroup]; - newarg[2] = (char *) "property/atom"; - newarg[3] = (char *) lab1; - newarg[4] = (char *) lab2; - newarg[5] = (char *) lab3; - newarg[6] = (char *) "ghost"; - newarg[7] = (char *) "yes"; - - modify->add_fix(8,newarg); - //Needs ghost atoms to calculate CoM - - int type_flag; - int col_flag; - - strcpy(lab1, "x"); - strcat(lab1, id); - strcpy(lab2, "y"); - strcat(lab2, id); - strcpy(lab3, "z"); - strcat(lab3, id); - - index_x = atom->find_custom(lab1, type_flag, col_flag); - index_y = atom->find_custom(lab2, type_flag, col_flag); - index_z = atom->find_custom(lab3, type_flag, col_flag); - delete [] newarg; - delete [] lab1; - delete [] lab2; - delete [] lab3; - } - - ifix = modify->find_fix(id_fix); - if (ifix < 0) error->all(FLERR,"Could not find fix ID for fix broken/bond"); - if (modify->fix[ifix]->restart_reset) { - modify->fix[ifix]->restart_reset = 0; - } else { - - double *xi = atom->dvector[index_x]; - double *yi = atom->dvector[index_y]; - double *zi = atom->dvector[index_z]; - - double **xs = atom->x; - int nlocal = atom->nlocal; - - for (int i = 0; i < nlocal; i++) { - xi[i] = xs[i][0]; - yi[i] = xs[i][1]; - zi[i] = xs[i][2]; - } - } - } -} - -/* ---------------------------------------------------------------------- */ - -void FixPairTracking::init() +void FixPairTracker::init() { // Set size of array/vector ncount = 0; @@ -223,30 +132,34 @@ void FixPairTracking::init() /* ---------------------------------------------------------------------- */ -void FixPairTracking::lost_contact(int i, int j, double n, double rs, double rm) +void FixPairTracker::lost_contact(int i, int j, double n, double rs, double rm) { - if (ncount == nmax) reallocate(ncount); - - index_i = i; - index_j = j; - rmin = rm; - rave = ra; - ntimestep = n; - - // fill vector or array with local values - if (nvalues == 1) { - (this->*pack_choice[0])(0); - } else { - for (int n = 0; n < nvalues; n++) - (this->*pack_choice[n])(n); - } - - ncount += 1; + if (update->ntimestep-n > tmin) { + if (ncount == nmax) reallocate(ncount); + + index_i = i; + index_j = j; + + rmin = rm; + rsum = rs; + ntimestep = n; + + // fill vector or array with local values + if (nvalues == 1) { + (this->*pack_choice[0])(0); + } else { + for (int k = 0; k < nvalues; k++) { + (this->*pack_choice[k])(k); + } + } + + ncount += 1; + } } /* ---------------------------------------------------------------------- */ -void FixPairTracking::post_force(int /*vflag*/) +void FixPairTracker::post_force(int /*vflag*/) { if (update->ntimestep % nevery == 0) { size_local_rows = ncount; @@ -257,7 +170,7 @@ void FixPairTracking::post_force(int /*vflag*/) /* ---------------------------------------------------------------------- */ -void FixPairTracking::reallocate(int n) +void FixPairTracker::reallocate(int n) { // grow vector or array while (nmax <= n) nmax += DELTA; @@ -275,7 +188,7 @@ void FixPairTracking::reallocate(int n) memory usage of local data ------------------------------------------------------------------------- */ -double FixPairTracking::memory_usage() +double FixPairTracker::memory_usage() { double bytes = nmax*nvalues * sizeof(double); bytes += nmax*2 * sizeof(int); @@ -290,7 +203,7 @@ double FixPairTracking::memory_usage() /* ---------------------------------------------------------------------- */ -void FixPairTracking::pack_time_created(int n) +void FixPairTracker::pack_time_created(int n) { if (nvalues == 1) vector[ncount] = ntimestep; @@ -300,7 +213,7 @@ void FixPairTracking::pack_time_created(int n) /* ---------------------------------------------------------------------- */ -void FixPairTracking::pack_time_broken(int n) +void FixPairTracker::pack_time_broken(int n) { if (nvalues == 1) vector[ncount] = update->ntimestep; @@ -310,7 +223,7 @@ void FixPairTracking::pack_time_broken(int n) /* ---------------------------------------------------------------------- */ -void FixPairTracking::pack_time_total(int n) +void FixPairTracker::pack_time_total(int n) { if (nvalues == 1) vector[ncount] = update->ntimestep-ntimestep; @@ -321,7 +234,7 @@ void FixPairTracking::pack_time_total(int n) /* ---------------------------------------------------------------------- */ -void FixPairTracking::pack_id1(int n) +void FixPairTracker::pack_id1(int n) { tagint *tag = atom->tag; @@ -333,7 +246,7 @@ void FixPairTracking::pack_id1(int n) /* ---------------------------------------------------------------------- */ -void FixPairTracking::pack_id2(int n) +void FixPairTracker::pack_id2(int n) { tagint *tag = atom->tag; @@ -345,7 +258,7 @@ void FixPairTracking::pack_id2(int n) /* ---------------------------------------------------------------------- */ -void FixPairTracking::pack_x(int n) +void FixPairTracker::pack_x(int n) { double lx_new = domain->xprd; double **x = atom->x; @@ -359,7 +272,7 @@ void FixPairTracking::pack_x(int n) /* ---------------------------------------------------------------------- */ -void FixPairTracking::pack_y(int n) +void FixPairTracker::pack_y(int n) { double lx_new = domain->yprd; double **x = atom->x; @@ -373,7 +286,7 @@ void FixPairTracking::pack_y(int n) /* ---------------------------------------------------------------------- */ -void FixPairTracking::pack_z(int n) +void FixPairTracker::pack_z(int n) { double lx_new = domain->zprd; double **x = atom->x; @@ -384,48 +297,9 @@ void FixPairTracking::pack_z(int n) array[ncount][n] = (x[index_i][2] + x[index_j][2])/2; } - /* ---------------------------------------------------------------------- */ -void FixPairTracking::pack_xstore(int n) -{ - double *x = atom->dvector[index_x]; - - if (nvalues == 1) - vector[ncount] = (x[index_i] + x[index_j])/2; - else - array[ncount][n] = (x[index_i] + x[index_j])/2; -} - - -/* ---------------------------------------------------------------------- */ - -void FixPairTracking::pack_ystore(int n) -{ - double *y = atom->dvector[index_y]; - - if (nvalues == 1) - vector[ncount] = (y[index_i] + y[index_j])/2; - else - array[ncount][n] = (y[index_i] + y[index_j])/2; -} - - -/* ---------------------------------------------------------------------- */ - -void FixPairTracking::pack_zstore(int n) -{ - double *z = atom->dvector[index_z]; - - if (nvalues == 1) - vector[ncount] = (z[index_i] + z[index_j])/2; - else - array[ncount][n] = (z[index_i] + z[index_j])/2; -} - -/* ---------------------------------------------------------------------- */ - -void FixPairTracking::pack_rmin(int n) +void FixPairTracker::pack_rmin(int n) { if (nvalues == 1) vector[ncount] = rmin; @@ -435,7 +309,7 @@ void FixPairTracking::pack_rmin(int n) /* ---------------------------------------------------------------------- */ -void FixPairTracking::pack_rave(int n) +void FixPairTracker::pack_rave(int n) { if (nvalues == 1) vector[ncount] = rsum/(update->ntimestep-ntimestep); diff --git a/src/fix_pair_tracker.h b/src/fix_pair_tracker.h index 8f63bac6d9..1f177c734f 100755 --- a/src/fix_pair_tracker.h +++ b/src/fix_pair_tracker.h @@ -13,7 +13,7 @@ #ifdef FIX_CLASS -FixStyle(pair/tracking,FixPairTracking) +FixStyle(pair/tracker,FixPairTracker) #else @@ -24,12 +24,11 @@ FixStyle(pair/tracking,FixPairTracking) namespace LAMMPS_NS { -class FixPairTracking : public Fix { +class FixPairTracker : public Fix { public: - FixPairTracking(class LAMMPS *, int, char **); - ~FixPairTracking(); + FixPairTracker(class LAMMPS *, int, char **); + ~FixPairTracker(); int setmask(); - void post_constructor(); void init(); void post_force(int); double memory_usage(); @@ -37,9 +36,10 @@ class FixPairTracking : public Fix { private: int nvalues, never; - int nmax; + int nmax, tmin; int store_flag; int index_i, index_j; + double rmin, rsum, ntimestep; double *vector; double **array; @@ -66,15 +66,9 @@ class FixPairTracking : public Fix { void pack_y(int); void pack_z(int); - void pack_xstore(int); - void pack_ystore(int); - void pack_zstore(int); - void pack_rmin(int); void pack_rave(int); - char *id_fix; - int index_x, index_y, index_z; }; } diff --git a/src/pair_hybrid.cpp b/src/pair_hybrid.cpp index 14d58f9414..551bb2dc90 100644 --- a/src/pair_hybrid.cpp +++ b/src/pair_hybrid.cpp @@ -406,7 +406,7 @@ void PairHybrid::flags() respa_enable = (respa_enable == nstyles) ? 1 : 0; restartinfo = (restartinfo == nstyles) ? 1 : 0; init_svector(); - + // set centroidstressflag for pair hybrid // set to CENTROID_NOTAVAIL if any substyle is NOTAVAIL // else set to CENTROID_AVAIL if any substyle is AVAIL @@ -580,6 +580,10 @@ void PairHybrid::init_style() } } + // check beyond contact (set during pair coeff) before init style + for (istyle = 0; istyle < nstyles; istyle++) + if (styles[istyle]->beyond_contact) beyond_contact = 1; + // each sub-style makes its neighbor list request(s) for (istyle = 0; istyle < nstyles; istyle++) styles[istyle]->init_style(); diff --git a/src/pair_tracker.cpp b/src/pair_tracker.cpp index 4f40c1bdfe..8998d894fe 100644 --- a/src/pair_tracker.cpp +++ b/src/pair_tracker.cpp @@ -27,6 +27,7 @@ #include "fix.h" #include "fix_dummy.h" #include "fix_neigh_history.h" +#include "fix_pair_tracker.h" #include "comm.h" #include "neighbor.h" #include "neigh_list.h" @@ -36,6 +37,9 @@ using namespace LAMMPS_NS; +#define RLARGE 100 + + /* ---------------------------------------------------------------------- */ PairTracker::PairTracker(LAMMPS *lmp) : Pair(lmp) @@ -50,7 +54,7 @@ PairTracker::PairTracker(LAMMPS *lmp) : Pair(lmp) finitecutflag = 0; - // create dummy fix as placeholder for FixNeigTRACKistory + // create dummy fix as placeholder for FixNeighHistory // this is so final order of Modify:fix will conform to input script fix_history = nullptr; @@ -81,7 +85,7 @@ PairTracker::~PairTracker() void PairTracker::compute(int eflag, int vflag) { - int i,j,ii,jj,inum,jnum; + int i,j,ii,jj,inum,jnum,itype,jtype; double xtmp,ytmp,ztmp,delx,dely,delz; double radi,radj,radsum,rsq,r; int *ilist,*jlist,*numneigh,**firstneigh; @@ -90,10 +94,11 @@ void PairTracker::compute(int eflag, int vflag) int updateflag = 1; if (update->setupflag) updateflag = 0; - + ev_init(eflag,vflag); double **x = atom->x; double *radius = atom->radius; + int *type = atom->type; int *mask = atom->mask; int nlocal = atom->nlocal; int newton_pair = force->newton_pair; @@ -106,13 +111,13 @@ void PairTracker::compute(int eflag, int vflag) firstdata = fix_history->firstvalue; // loop over neighbors of my atoms - for (ii = 0; ii < inum; ii++) { i = ilist[ii]; xtmp = x[i][0]; ytmp = x[i][1]; ztmp = x[i][2]; if (finitecutflag) radi = radius[i]; + itype = type[i]; touch = firsttouch[i]; alldata = firstdata[i]; jlist = firstneigh[i]; @@ -126,17 +131,18 @@ void PairTracker::compute(int eflag, int vflag) dely = ytmp - x[j][1]; delz = ztmp - x[j][2]; rsq = delx*delx + dely*dely + delz*delz; + if (finitecutflag) { radj = radius[j]; radsum = radi + radj; if (rsq >= radsum*radsum) { - // unset non-touching neighbors + + data = &alldata[size_history*jj]; if(touch[jj] == 1) { fix_pair_tracker->lost_contact(i, j, data[0], data[1], data[2]); } touch[jj] = 0; - data = &alldata[size_history*jj]; data[0] = 0.0; // initial time data[1] = 0.0; // sum of r data[2] = 0.0; // min of r @@ -147,7 +153,7 @@ void PairTracker::compute(int eflag, int vflag) if (touch[jj] == 0) { data[0] = update->ntimestep; data[1] = 0.0; - data[2] = 0.0; + data[2] = RLARGE; } touch[jj] = 1; @@ -157,30 +163,41 @@ void PairTracker::compute(int eflag, int vflag) if(data[2] > r) data[2] = r; } } - } else { + } else { + jtype = type[j]; + if (rsq >= cutsq[itype][jtype]) { - } + data = &alldata[size_history*jj]; + if(touch[jj] == 1) { + fix_pair_tracker->lost_contact(i, j, data[0], data[1], data[2]); + } + touch[jj] = 0; + data[0] = 0.0; // initial time + data[1] = 0.0; // sum of r + data[2] = 0.0; // min of r + + } else { - if (rsq >= radsum*radsum) { + data = &alldata[size_history*jj]; + if (touch[jj] == 0) { + data[0] = update->ntimestep; + data[1] = 0.0; + data[2] = RLARGE; + } + touch[jj] = 1; - - f[i][0] += fx; - f[i][1] += fy; - f[i][2] += fz; - - - if (newton_pair || j < nlocal) { - f[j][0] -= fx; - f[j][1] -= fy; - f[j][2] -= fz; - torque[j][0] -= radj*tor1; - torque[j][1] -= radj*tor2; - torque[j][2] -= radj*tor3; + if (updateflag) { + r = sqrt(rsq); + data[1] += r; + if(data[2] > r) data[2] = r; + } } - } } } + + if (vflag_fdotr) virial_fdotr_compute(); + } /* ---------------------------------------------------------------------- @@ -212,10 +229,10 @@ void PairTracker::allocate() void PairTracker::settings(int narg, char **arg) { - if (narg != 0 || narg != 1) error->all(FLERR,"Illegal pair_style command"); + if (narg != 0 && narg != 1) error->all(FLERR,"Illegal pair_style command"); if (narg == 1) { - if (strcmp(arg[0], "radius")) finitecutflag = 1; + if (strcmp(arg[0], "radius") == 0) finitecutflag = 1; else error->all(FLERR,"Illegal pair_style command"); } } @@ -235,7 +252,7 @@ void PairTracker::coeff(int narg, char **arg) utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); double cut_one = 0.0; - if (!finitecutflag) cut_one = utils::numeric(FLERR,arg[3],false,lmp); + if (!finitecutflag) cut_one = utils::numeric(FLERR,arg[2],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { @@ -283,11 +300,26 @@ void PairTracker::init_style() modify->replace_fix("NEIGH_HISTORY_TRACK_DUMMY",4,fixarg,1); delete [] fixarg; int ifix = modify->find_fix("NEIGH_HISTORY_TRACK"); - fix_history = (FixNeigTRACKistory *) modify->fix[ifix]; + fix_history = (FixNeighHistory *) modify->fix[ifix]; fix_history->pair = this; } if (finitecutflag) { + + if(force->pair->beyond_contact) + error->all(FLERR, "Pair tracker incompatible with granular pairstyles that extend beyond contact"); + // check for FixPour and FixDeposit so can extract particle radii + + int ipour; + for (ipour = 0; ipour < modify->nfix; ipour++) + if (strcmp(modify->fix[ipour]->style,"pour") == 0) break; + if (ipour == modify->nfix) ipour = -1; + + int idep; + for (idep = 0; idep < modify->nfix; idep++) + if (strcmp(modify->fix[idep]->style,"deposit") == 0) break; + if (idep == modify->nfix) idep = -1; + // set maxrad_dynamic and maxrad_frozen for each type // include future FixPour and FixDeposit particles as dynamic @@ -325,7 +357,7 @@ void PairTracker::init_style() int ifix = modify->find_fix("NEIGH_HISTORY_TRACK"); if (ifix < 0) error->all(FLERR,"Could not find pair fix neigh history ID"); - fix_history = (FixNeigTRACKistory *) modify->fix[ifix]; + fix_history = (FixNeighHistory *) modify->fix[ifix]; ifix = modify->find_fix_by_style("pair/tracker"); if(ifix < 0) error->all(FLERR,"Cannot use pair tracker without fix pair/tracker"); diff --git a/src/pair_tracker.h b/src/pair_tracker.h index 43dcf54559..f71a7d4eb6 100644 --- a/src/pair_tracker.h +++ b/src/pair_tracker.h @@ -37,7 +37,6 @@ class PairTracker : public Pair { void read_restart(FILE *); void write_restart_settings(FILE *); void read_restart_settings(FILE *); - void reset_dt(); virtual double single(int, int, int, int, double, double, double, double &); double atom2cut(int); double radii2cut(double,double); @@ -50,6 +49,7 @@ class PairTracker : public Pair { double **cut; double *onerad_dynamic,*onerad_frozen; double *maxrad_dynamic,*maxrad_frozen; + int freeze_group_bit; class FixDummy *fix_dummy; class FixNeighHistory *fix_history; From fe2065a56ce4cbf831b9940a1e94baa356a9bbd1 Mon Sep 17 00:00:00 2001 From: Joel Clemmer Date: Fri, 14 May 2021 17:53:09 -0600 Subject: [PATCH 095/726] Adding requirement for same group to print contacts --- src/fix_pair_tracker.cpp | 41 +++++++++++++++++++++------------------- 1 file changed, 22 insertions(+), 19 deletions(-) diff --git a/src/fix_pair_tracker.cpp b/src/fix_pair_tracker.cpp index 7a9fb0174b..954d7aaf53 100755 --- a/src/fix_pair_tracker.cpp +++ b/src/fix_pair_tracker.cpp @@ -135,25 +135,28 @@ void FixPairTracker::init() void FixPairTracker::lost_contact(int i, int j, double n, double rs, double rm) { if (update->ntimestep-n > tmin) { - if (ncount == nmax) reallocate(ncount); - - index_i = i; - index_j = j; - - rmin = rm; - rsum = rs; - ntimestep = n; - - // fill vector or array with local values - if (nvalues == 1) { - (this->*pack_choice[0])(0); - } else { - for (int k = 0; k < nvalues; k++) { - (this->*pack_choice[k])(k); - } - } - - ncount += 1; + int *mask = atom->mask; + if ((mask[i] & groupbit) && (mask[j] & groupbit)) { + if (ncount == nmax) reallocate(ncount); + + index_i = i; + index_j = j; + + rmin = rm; + rsum = rs; + ntimestep = n; + + // fill vector or array with local values + if (nvalues == 1) { + (this->*pack_choice[0])(0); + } else { + for (int k = 0; k < nvalues; k++) { + (this->*pack_choice[k])(k); + } + } + + ncount += 1; + } } } From 4303f4a74ef4d0f10a91b2240d9aa982c8373830 Mon Sep 17 00:00:00 2001 From: Joel Clemmer Date: Sun, 16 May 2021 16:45:18 -0600 Subject: [PATCH 096/726] Adding type filter --- src/fix_pair_tracker.cpp | 153 ++++++++++++++++++++++++++------------- src/fix_pair_tracker.h | 25 +------ 2 files changed, 104 insertions(+), 74 deletions(-) diff --git a/src/fix_pair_tracker.cpp b/src/fix_pair_tracker.cpp index 954d7aaf53..37d27009cc 100755 --- a/src/fix_pair_tracker.cpp +++ b/src/fix_pair_tracker.cpp @@ -17,20 +17,18 @@ #include "atom.h" #include "atom_vec.h" #include "update.h" -#include "force.h" -#include "pair.h" -#include "neighbor.h" -#include "neigh_list.h" #include "memory.h" #include "modify.h" #include "error.h" #include "group.h" -#include "domain.h" +#include "tokenizer.h" + +#include using namespace LAMMPS_NS; using namespace FixConst; -#define DELTA 100 +#define DELTA 1000 /* ---------------------------------------------------------------------- */ @@ -41,58 +39,107 @@ FixPairTracker::FixPairTracker(LAMMPS *lmp, int narg, char **arg) : { if (narg < 3) error->all(FLERR,"Illegal fix pair/tracker command"); local_flag = 1; - nvalues = narg - 4; - tmin = -1; nevery = utils::inumeric(FLERR,arg[3],false,lmp); if (nevery <= 0) error->all(FLERR,"Illegal fix pair/tracker command"); - - if (nvalues == 1) size_local_cols = 0; - else size_local_cols = nvalues; + // If optional arguments included, this will be oversized + nvalues = narg - 4; pack_choice = new FnPtrPack[nvalues]; + tmin = -1; + type_filter = nullptr; int iarg = 4; - int i = 0; + nvalues = 0; while (iarg < narg) { - if (strcmp(arg[iarg],"id1") == 0) { - pack_choice[i] = &FixPairTracker::pack_id1; + pack_choice[nvalues++] = &FixPairTracker::pack_id1; } else if (strcmp(arg[iarg],"id2") == 0) { - pack_choice[i] = &FixPairTracker::pack_id2; + pack_choice[nvalues++] = &FixPairTracker::pack_id2; } else if (strcmp(arg[iarg],"time/created") == 0) { - pack_choice[i] = &FixPairTracker::pack_time_created; + pack_choice[nvalues++] = &FixPairTracker::pack_time_created; } else if (strcmp(arg[iarg],"time/broken") == 0) { - pack_choice[i] = &FixPairTracker::pack_time_broken; + pack_choice[nvalues++] = &FixPairTracker::pack_time_broken; } else if (strcmp(arg[iarg],"time/total") == 0) { - pack_choice[i] = &FixPairTracker::pack_time_total; + pack_choice[nvalues++] = &FixPairTracker::pack_time_total; } else if (strcmp(arg[iarg],"x") == 0) { - pack_choice[i] = &FixPairTracker::pack_x; + pack_choice[nvalues++] = &FixPairTracker::pack_x; } else if (strcmp(arg[iarg],"y") == 0) { - pack_choice[i] = &FixPairTracker::pack_y; + pack_choice[nvalues++] = &FixPairTracker::pack_y; } else if (strcmp(arg[iarg],"z") == 0) { - pack_choice[i] = &FixPairTracker::pack_z; + pack_choice[nvalues++] = &FixPairTracker::pack_z; } else if (strcmp(arg[iarg],"rmin") == 0) { - pack_choice[i] = &FixPairTracker::pack_rmin; + pack_choice[nvalues++] = &FixPairTracker::pack_rmin; } else if (strcmp(arg[iarg],"rave") == 0) { - pack_choice[i] = &FixPairTracker::pack_rave; + pack_choice[nvalues++] = &FixPairTracker::pack_rave; } else if (strcmp(arg[iarg],"tmin") == 0) { if (iarg + 1 >= narg) error->all(FLERR, "Invalid keyword in fix pair/tracker command"); tmin = utils::numeric(FLERR,arg[iarg+1],false,lmp); - i -= 1; - nvalues -= 2; iarg ++; + } else if (strcmp(arg[iarg],"filter") == 0) { + if (iarg + 1 >= narg) error->all(FLERR, "Invalid keyword in fix pair/tracker command"); + int ntypes = atom->ntypes; + + int i, j, itype, jtype, in, jn, infield, jnfield; + int inlo, inhi, jnlo, jnhi; + char *istr, *jstr; + if (! type_filter) { + memory->create(type_filter,ntypes+1,ntypes+1,"fix/pair/tracker:type_filter"); + + for (i = 0; i <= ntypes; i ++) { + for (j = 0; j <= ntypes; j ++) { + type_filter[i][j] = 0; + } + } + } + + in = strlen(arg[iarg+1]) + 1; + istr = new char[in]; + strcpy(istr,arg[iarg+1]); + std::vector iwords = Tokenizer(istr, ",").as_vector(); + infield = iwords.size(); + + jn = strlen(arg[iarg+2]) + 1; + jstr = new char[jn]; + strcpy(jstr,arg[iarg+2]); + std::vector jwords = Tokenizer(jstr, ",").as_vector(); + jnfield = jwords.size(); + + for (i = 0; i < infield; i++) { + const char * ifield = iwords[i].c_str(); + utils::bounds(FLERR,ifield,1,ntypes,inlo,inhi,error); + + for (j = 0; j < jnfield; j++) { + const char * jfield = jwords[j].c_str(); + utils::bounds(FLERR,jfield,1,ntypes,jnlo,jnhi,error); + + for (itype = inlo; itype <= inhi; itype++) { + for (jtype = jnlo; jtype <= jnhi; jtype++) { + type_filter[itype][jtype] = 1; + type_filter[jtype][itype] = 1; + } + } + } + } + + delete [] istr; + delete [] jstr; + + iarg += 2; + } else error->all(FLERR, "Invalid keyword in fix pair/tracker command"); iarg ++; - i ++; } + if (nvalues == 1) size_local_cols = 0; + else size_local_cols = nvalues; + nmax = 0; ncount = 0; vector = NULL; @@ -107,6 +154,7 @@ FixPairTracker::~FixPairTracker() memory->destroy(vector); memory->destroy(array); + memory->destroy(type_filter); } /* ---------------------------------------------------------------------- */ @@ -134,30 +182,36 @@ void FixPairTracker::init() void FixPairTracker::lost_contact(int i, int j, double n, double rs, double rm) { - if (update->ntimestep-n > tmin) { - int *mask = atom->mask; - if ((mask[i] & groupbit) && (mask[j] & groupbit)) { - if (ncount == nmax) reallocate(ncount); + if ((update->ntimestep-n) < tmin) return; - index_i = i; - index_j = j; - - rmin = rm; - rsum = rs; - ntimestep = n; - - // fill vector or array with local values - if (nvalues == 1) { - (this->*pack_choice[0])(0); - } else { - for (int k = 0; k < nvalues; k++) { - (this->*pack_choice[k])(k); - } - } - - ncount += 1; - } + if (type_filter) { + int *type = atom->type; + if (type_filter[type[i]][type[j]] == 0) return; } + + int *mask = atom->mask; + if (!(mask[i] & groupbit)) return; + if (!(mask[j] & groupbit)) return; + + if (ncount == nmax) reallocate(ncount); + + index_i = i; + index_j = j; + + rmin = rm; + rsum = rs; + ntimestep = n; + + // fill vector or array with local values + if (nvalues == 1) { + (this->*pack_choice[0])(0); + } else { + for (int k = 0; k < nvalues; k++) { + (this->*pack_choice[k])(k); + } + } + + ncount += 1; } /* ---------------------------------------------------------------------- */ @@ -263,7 +317,6 @@ void FixPairTracker::pack_id2(int n) void FixPairTracker::pack_x(int n) { - double lx_new = domain->xprd; double **x = atom->x; if (nvalues == 1) @@ -277,7 +330,6 @@ void FixPairTracker::pack_x(int n) void FixPairTracker::pack_y(int n) { - double lx_new = domain->yprd; double **x = atom->x; if (nvalues == 1) @@ -291,7 +343,6 @@ void FixPairTracker::pack_y(int n) void FixPairTracker::pack_z(int n) { - double lx_new = domain->zprd; double **x = atom->x; if (nvalues == 1) diff --git a/src/fix_pair_tracker.h b/src/fix_pair_tracker.h index 1f177c734f..7eb1161032 100755 --- a/src/fix_pair_tracker.h +++ b/src/fix_pair_tracker.h @@ -43,6 +43,7 @@ class FixPairTracker : public Fix { double *vector; double **array; + int **type_filter; double lx; double ly; @@ -84,30 +85,8 @@ Self-explanatory. Check the input script syntax and compare to the documentation for the command. You can use -echo screen as a command-line option when running LAMMPS to see the offending line. -E: Fix property/local cannot use these inputs together - -Only inputs that generate the same number of datums can be used -togther. E.g. bond and angle quantities cannot be mixed. - -E: Invalid keyword in compute property/local command +E: Invalid keyword in fix pair/tracker command Self-explanatory. -E: Fix property/local does not (yet) work with atom_style template - -Self-explanatory. - -E: Fix property/local for property that isn't allocated - -Self-explanatory. - -E: No pair style is defined for compute property/local - -Self-explanatory. - -E: Pair style does not support compute property/local - -The pair style does not have a single() function, so it can -not be invoked by fix bond/swap. - */ From 1f89d9b315a0bf908231ba7e93edbb211317b2a8 Mon Sep 17 00:00:00 2001 From: jtclemm Date: Tue, 18 May 2021 14:04:49 -0600 Subject: [PATCH 097/726] Adding documentation, misc changes --- src/{ => MISC}/fix_pair_tracker.cpp | 48 ++++++++++++++++------------- src/{ => MISC}/fix_pair_tracker.h | 2 +- src/{ => MISC}/pair_tracker.cpp | 35 ++++++++------------- src/{ => MISC}/pair_tracker.h | 18 +++-------- 4 files changed, 44 insertions(+), 59 deletions(-) rename src/{ => MISC}/fix_pair_tracker.cpp (88%) mode change 100755 => 100644 rename src/{ => MISC}/fix_pair_tracker.h (98%) mode change 100755 => 100644 rename src/{ => MISC}/pair_tracker.cpp (95%) rename src/{ => MISC}/pair_tracker.h (82%) diff --git a/src/fix_pair_tracker.cpp b/src/MISC/fix_pair_tracker.cpp old mode 100755 new mode 100644 similarity index 88% rename from src/fix_pair_tracker.cpp rename to src/MISC/fix_pair_tracker.cpp index 37d27009cc..884a3b8ebd --- a/src/fix_pair_tracker.cpp +++ b/src/MISC/fix_pair_tracker.cpp @@ -42,6 +42,7 @@ FixPairTracker::FixPairTracker(LAMMPS *lmp, int narg, char **arg) : nevery = utils::inumeric(FLERR,arg[3],false,lmp); if (nevery <= 0) error->all(FLERR,"Illegal fix pair/tracker command"); + local_freq = nevery; // If optional arguments included, this will be oversized nvalues = narg - 4; @@ -71,17 +72,17 @@ FixPairTracker::FixPairTracker(LAMMPS *lmp, int narg, char **arg) : } else if (strcmp(arg[iarg],"z") == 0) { pack_choice[nvalues++] = &FixPairTracker::pack_z; - } else if (strcmp(arg[iarg],"rmin") == 0) { + } else if (strcmp(arg[iarg],"r/min") == 0) { pack_choice[nvalues++] = &FixPairTracker::pack_rmin; - } else if (strcmp(arg[iarg],"rave") == 0) { + } else if (strcmp(arg[iarg],"r/ave") == 0) { pack_choice[nvalues++] = &FixPairTracker::pack_rave; - } else if (strcmp(arg[iarg],"tmin") == 0) { + } else if (strcmp(arg[iarg],"time/min") == 0) { if (iarg + 1 >= narg) error->all(FLERR, "Invalid keyword in fix pair/tracker command"); tmin = utils::numeric(FLERR,arg[iarg+1],false,lmp); iarg ++; - } else if (strcmp(arg[iarg],"filter") == 0) { + } else if (strcmp(arg[iarg],"type/include") == 0) { if (iarg + 1 >= narg) error->all(FLERR, "Invalid keyword in fix pair/tracker command"); int ntypes = atom->ntypes; @@ -173,16 +174,19 @@ void FixPairTracker::init() // Set size of array/vector ncount = 0; - if (ncount > nmax) { - reallocate(ncount);} + if (ncount > nmax) + reallocate(ncount); + size_local_rows = ncount; } /* ---------------------------------------------------------------------- */ -void FixPairTracker::lost_contact(int i, int j, double n, double rs, double rm) +void FixPairTracker::lost_contact(int i, int j, double nstep_tmp, double rsum_tmp, double time_tmp) { - if ((update->ntimestep-n) < tmin) return; + + double time = update->atime + (update->ntimestep-update->atimestep)*update->dt; + if ((time-time_tmp) < tmin) return; if (type_filter) { int *type = atom->type; @@ -198,9 +202,9 @@ void FixPairTracker::lost_contact(int i, int j, double n, double rs, double rm) index_i = i; index_j = j; - rmin = rm; - rsum = rs; - ntimestep = n; + rmin = rmin_tmp; + rsum = rsum_tmp; + time_initial = time_tmp; // fill vector or array with local values if (nvalues == 1) { @@ -233,10 +237,10 @@ void FixPairTracker::reallocate(int n) while (nmax <= n) nmax += DELTA; if (nvalues == 1) { - memory->grow(vector,nmax,"fix_broken_bonds:vector"); + memory->grow(vector,nmax,"fix_pair_tracker:vector"); vector_local = vector; } else { - memory->grow(array,nmax,nvalues,"fix_broken_bonds:array"); + memory->grow(array,nmax,nvalues,"fix_pair_tracker:array"); array_local = array; } } @@ -263,29 +267,31 @@ double FixPairTracker::memory_usage() void FixPairTracker::pack_time_created(int n) { if (nvalues == 1) - vector[ncount] = ntimestep; + vector[ncount] = time_initial; else - array[ncount][n] = ntimestep; + array[ncount][n] = time_initial; } /* ---------------------------------------------------------------------- */ void FixPairTracker::pack_time_broken(int n) { + double time = update->atime + (update->ntimestep-update->atimestep)*update->dt; if (nvalues == 1) - vector[ncount] = update->ntimestep; + vector[ncount] = time; else - array[ncount][n] = update->ntimestep; + array[ncount][n] = time; } /* ---------------------------------------------------------------------- */ void FixPairTracker::pack_time_total(int n) { + double time = update->atime + (update->ntimestep-update->atimestep)*update->dt; if (nvalues == 1) - vector[ncount] = update->ntimestep-ntimestep; + vector[ncount] = time-time_initial; else - array[ncount][n] = update->ntimestep-ntimestep; + array[ncount][n] = time-time_initial; } @@ -366,7 +372,7 @@ void FixPairTracker::pack_rmin(int n) void FixPairTracker::pack_rave(int n) { if (nvalues == 1) - vector[ncount] = rsum/(update->ntimestep-ntimestep); + vector[ncount] = rsum/(update->ntimestep-nstep_initial); else - array[ncount][n] = rsum/(update->ntimestep-ntimestep); + array[ncount][n] = rsum/(update->ntimestep-nstep_initial); } diff --git a/src/fix_pair_tracker.h b/src/MISC/fix_pair_tracker.h old mode 100755 new mode 100644 similarity index 98% rename from src/fix_pair_tracker.h rename to src/MISC/fix_pair_tracker.h index 7eb1161032..a5a282df8e --- a/src/fix_pair_tracker.h +++ b/src/MISC/fix_pair_tracker.h @@ -39,7 +39,7 @@ class FixPairTracker : public Fix { int nmax, tmin; int store_flag; int index_i, index_j; - double rmin, rsum, ntimestep; + double rmin, rsum, time_initial; double *vector; double **array; diff --git a/src/pair_tracker.cpp b/src/MISC/pair_tracker.cpp similarity index 95% rename from src/pair_tracker.cpp rename to src/MISC/pair_tracker.cpp index 8998d894fe..33154a7fb6 100644 --- a/src/pair_tracker.cpp +++ b/src/MISC/pair_tracker.cpp @@ -11,15 +11,8 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -/* ---------------------------------------------------------------------- - Contributing authors: Leo Silbert (SNL), Gary Grest (SNL) -------------------------------------------------------------------------- */ - #include "pair_tracker.h" -#include -#include - #include "atom.h" #include "force.h" #include "update.h" @@ -28,7 +21,6 @@ #include "fix_dummy.h" #include "fix_neigh_history.h" #include "fix_pair_tracker.h" -#include "comm.h" #include "neighbor.h" #include "neigh_list.h" #include "neigh_request.h" @@ -39,17 +31,16 @@ using namespace LAMMPS_NS; #define RLARGE 100 - /* ---------------------------------------------------------------------- */ PairTracker::PairTracker(LAMMPS *lmp) : Pair(lmp) { single_enable = 1; no_virial_fdotr_compute = 1; - history = 1; - size_history = 3; neighprev = 0; + history = 1; + size_history = 3; nondefault_history_transfer = 1; finitecutflag = 0; @@ -58,7 +49,7 @@ PairTracker::PairTracker(LAMMPS *lmp) : Pair(lmp) // this is so final order of Modify:fix will conform to input script fix_history = nullptr; - modify->add_fix("NEIGH_HISTORY_TRACK_DUMMY all DUMMY"); + modify->add_fix("NEIGH_HISTORY_TRACK_DUMMY"); fix_dummy = (FixDummy *) modify->fix[modify->nfix-1]; } @@ -86,7 +77,7 @@ PairTracker::~PairTracker() void PairTracker::compute(int eflag, int vflag) { int i,j,ii,jj,inum,jnum,itype,jtype; - double xtmp,ytmp,ztmp,delx,dely,delz; + double xtmp,ytmp,ztmp,delx,dely,delz,time; double radi,radj,radsum,rsq,r; int *ilist,*jlist,*numneigh,**firstneigh; int *touch,**firsttouch; @@ -144,14 +135,15 @@ void PairTracker::compute(int eflag, int vflag) } touch[jj] = 0; data[0] = 0.0; // initial time - data[1] = 0.0; // sum of r + data[1] = 0.0; // sum of r, may overflow data[2] = 0.0; // min of r } else { data = &alldata[size_history*jj]; if (touch[jj] == 0) { - data[0] = update->ntimestep; + time = update->atime + (update->ntimestep-update->atimestep)*update->dt; + data[0] = time; data[1] = 0.0; data[2] = RLARGE; } @@ -173,14 +165,15 @@ void PairTracker::compute(int eflag, int vflag) } touch[jj] = 0; data[0] = 0.0; // initial time - data[1] = 0.0; // sum of r + data[1] = 0.0; // sum of r, may overflow data[2] = 0.0; // min of r } else { data = &alldata[size_history*jj]; if (touch[jj] == 0) { - data[0] = update->ntimestep; + time = update->atime + (update->ntimestep-update->atimestep)*update->dt; + data[0] = time; data[1] = 0.0; data[2] = RLARGE; } @@ -195,9 +188,6 @@ void PairTracker::compute(int eflag, int vflag) } } } - - if (vflag_fdotr) virial_fdotr_compute(); - } /* ---------------------------------------------------------------------- @@ -232,7 +222,7 @@ void PairTracker::settings(int narg, char **arg) if (narg != 0 && narg != 1) error->all(FLERR,"Illegal pair_style command"); if (narg == 1) { - if (strcmp(arg[0], "radius") == 0) finitecutflag = 1; + if (strcmp(arg[0], "finite") == 0) finitecutflag = 1; else error->all(FLERR,"Illegal pair_style command"); } } @@ -379,11 +369,10 @@ double PairTracker::init_one(int i, int j) } cut[j][i] = cut[i][j]; - - double cutoff; // if finite, cutoff = sum of max I,J radii for // dynamic/dynamic & dynamic/frozen interactions, but not frozen/frozen + double cutoff; if (finitecutflag) { cutoff = maxrad_dynamic[i]+maxrad_dynamic[j]; cutoff = MAX(cutoff,maxrad_frozen[i]+maxrad_dynamic[j]); diff --git a/src/pair_tracker.h b/src/MISC/pair_tracker.h similarity index 82% rename from src/pair_tracker.h rename to src/MISC/pair_tracker.h index f71a7d4eb6..dced79977d 100644 --- a/src/pair_tracker.h +++ b/src/MISC/pair_tracker.h @@ -76,26 +76,16 @@ E: Incorrect args for pair coefficients Self-explanatory. Check the input script or data file. -E: Pair granular requires atom attributes radius, rmass +E: Pair tracker requires atom attribute radius for finite cutoffs The atom style defined does not have these attributes. -E: Pair granular requires ghost atoms store velocity - -Use the comm_modify vel yes command to enable this. - E: Could not find pair fix neigh history ID -UNDOCUMENTED +The associated fix neigh/history is missing -U: Pair granular with shear history requires newton pair off +E: Cannot use pair tracker without fix pair/tracker -This is a current restriction of the implementation of pair -granular styles with history. - -U: Could not find pair fix ID - -A fix is created internally by the pair style to store shear -history information. You cannot delete it. +This pairstyle requires one to define a pair/tracker fix */ From f61c27ca12bffcd242d2e30032d8b967aa3ba6ef Mon Sep 17 00:00:00 2001 From: jtclemm Date: Tue, 18 May 2021 14:07:23 -0600 Subject: [PATCH 098/726] Updating gitignore --- doc/src/dump_modify.rst | 12 +++- doc/src/fix_pair_tracker.rst | 121 +++++++++++++++++++++++++++++++++++ doc/src/pair_granular.rst | 6 -- doc/src/pair_tracker.rst | 92 ++++++++++++++++++++++++++ src/.gitignore | 4 ++ 5 files changed, 228 insertions(+), 7 deletions(-) create mode 100644 doc/src/fix_pair_tracker.rst create mode 100644 doc/src/pair_tracker.rst diff --git a/doc/src/dump_modify.rst b/doc/src/dump_modify.rst index 07f00c4030..f04e0e747f 100644 --- a/doc/src/dump_modify.rst +++ b/doc/src/dump_modify.rst @@ -66,7 +66,7 @@ Syntax *unwrap* arg = *yes* or *no* * these keywords apply only to the *image* and *movie* :doc:`styles ` -* keyword = *acolor* or *adiam* or *amap* or *backcolor* or *bcolor* or *bdiam* or *boxcolor* or *color* or *bitrate* or *framerate* +* keyword = *acolor* or *adiam* or *amap* or *backcolor* or *bcolor* or *bdiam* or *boxcolor* or *color* or *bitrate* or *framerate* or *header* .. parsed-literal:: @@ -113,6 +113,9 @@ Syntax rate = target bitrate for movie in kbps *framerate* arg = fps fps = frames per second for movie + *header* arg = *yes* or *no* + *yes* to write the header + *no* to not write the header * these keywords apply only to the */gz* and */zstd* dump styles * keyword = *compression_level* @@ -977,6 +980,13 @@ images less frequently. ---------- +The *header* keyword toggles whether the dump file will include a header. +Excluding a header will reduce the size of the dump file for fixes such as +:doc:`fix pair/tracker ` which do not require the information +typically written to the header. + +---------- + The COMPRESS package offers both GZ and Zstd compression variants of styles atom, custom, local, cfg, and xyz. When using these styles the compression level can be controlled by the :code:`compression_level` parameter. File names diff --git a/doc/src/fix_pair_tracker.rst b/doc/src/fix_pair_tracker.rst new file mode 100644 index 0000000000..28dd6d7c4f --- /dev/null +++ b/doc/src/fix_pair_tracker.rst @@ -0,0 +1,121 @@ +.. index:: fix pair/tracker + +fix pair/tracker command +=================== + +Syntax +"""""" + +.. parsed-literal:: + + fix ID group-ID pair/tracker N attribute1 attribute2 ... keyword values ... + +* ID, group-ID are documented in :doc:`fix ` command +* pair/tracker = style name of this fix command +* N = prepare data for output every this many timesteps +* one or more attributes may be appended + + .. parsed-literal:: + + possible attributes = id1 id2 time/created time/broken time/total + rmin rave x y z + + .. parsed-literal:: + + id1, id2 = IDs of 2 atoms in each pair interaction + time/created = the time the 2 atoms began interacting + time/broken = the time the 2 atoms stopped interacting + time/total = the total time the 2 atoms interacted + r/min = the minimum radial distance between the 2 atoms during the interaction + r/ave = the average radial distance between the 2 atoms during the interaction + x, y, z = the center of mass position of the 2 atoms when they stopped interacting + +* zero or more keyword/value pairs may be appended +* keyword = *time/min* or *type/include* + + .. parsed-literal:: + + *time/min* value = T + T = minimum interaction time + *type/include* value = arg1 arg2 + arg = separate lists of types (see below) + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix 1 all pair/tracker 1000 id1 id2 tmin 100 + fix 1 all pair/tracker 1000 time/created time/broken type 1 * type 2 3,4 + +Description +""""""""""" + +Tracks properties of pairwise interactions between two atoms and records data +whenever the atoms move beyond the interaction cutoff or the interaction breaks. +Must be used in conjuction with :doc:`pair tracker `. +Data is accumulated over a span of *N* timesteps after which it is cleared +The number of datums generated, aggregated across all processors, equals +the number of broken interactions. Interactions are only included if both +atoms are in the included in the specified fix group. Additional filters can be +applied using the *tmin* or *type* keywords described below. + +.. note:: + + For extremely long-lived interactions, the calculation of *r/ave* may not be + correct due to double overflow. + +The *time/min* keyword defines a minimum amount of time atoms have to be interacting +to save data. This can be used to censor short-lived interactions. The *type/include* +keyword filters interactions based on the types of the two atoms. Data is +only saved for interactions between atoms with types in the two lists. +Each list consists of a series of type +ranges separated by commas. The range can be specified as a +single numeric value, or a wildcard asterisk can be used to specify a range +of values. This takes the form "\*" or "\*n" or "n\*" or "m\*n". For +example, if M = the number of atom types, then an asterisk with no numeric +values means all types from 1 to M. A leading asterisk means all types +from 1 to n (inclusive). A trailing asterisk means all types from n to M +(inclusive). A middle asterisk means all types from m to n (inclusive). +Note that all atom types must be included in exactly one of the N collections. +Multiple *type/include* keywords may be added. + +---------- + +Restart, fix_modify, run start/stop, minimize info +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" + +No information about this fix is written to :doc:`binary restart files `. +None of the :doc:`fix_modify ` options are +relevant to this fix. +No parameter of this fix can be used with the *start/stop* keywords of +the :doc:`run ` command. + +Output info +""""""""""" + +This compute calculates a local vector or local array depending on the +number of input values. The length of the vector or number of rows in +the array is the number of bonds, angles, etc. If a single input is +specified, a local vector is produced. If two or more inputs are +specified, a local array is produced where the number of columns = the +number of inputs. The vector or array can be accessed by any command +that uses local values from a compute as input. See the :doc:`Howto output ` doc page for an overview of LAMMPS output +options. + +The vector or array values will be doubles that correspond to the +specified attribute. + +Restrictions +"""""""""""" + none + +Related commands +"""""""""""""""" + +:doc:`pair tracker ` + +Default +""""""" + +none diff --git a/doc/src/pair_granular.rst b/doc/src/pair_granular.rst index 432fd29584..dea862b62d 100644 --- a/doc/src/pair_granular.rst +++ b/doc/src/pair_granular.rst @@ -665,12 +665,6 @@ then LAMMPS will use that cutoff for the specified atom type combination, and automatically set pairwise cutoffs for the remaining atom types. -If two particles are moving away from each other while in contact, there -is a possibility that the particles could experience an effective attractive -force due to damping. If the *limit_damping* keyword is used, this option -will zero out the normal component of the force if there is an effective -attractive force. This keyword cannot be used with the JKR or DMT models. - ---------- .. include:: accel_styles.rst diff --git a/doc/src/pair_tracker.rst b/doc/src/pair_tracker.rst new file mode 100644 index 0000000000..10bd310ab6 --- /dev/null +++ b/doc/src/pair_tracker.rst @@ -0,0 +1,92 @@ +.. index:: pair_style tracker + +pair_style tracker command +======================= + +Syntax +"""""" + +.. code-block:: LAMMPS + + pair_style tracker keyword + +* zero or more keyword/arg pairs may be appended +* keyword = *finite* + + .. parsed-literal:: + + *finite* pair style uses atomic diameters to identify contacts + +Examples +"""""""" + +.. code-block:: LAMMPS + + pair_style hybrid/overlay tracker ... + pair_coeff 1 1 tracker 2.0 + + pair_style hybrid/overlay tracker finite ... + pair_coeff * * tracker + + fix 1 all pair/tracker 1000 time/created time/broken + dump 1 all local 1000 dump.local f_1[1] f_1[2] + dump_modify 1 write_header no + +Description +""""""""""" + +Style *tracker* monitors information about pairwise interactions. +It does not calculate any forces on atoms and should be used with +:doc:`pair hybrid/overlay ` to combine with a regularly +used pair style. Style *tracker* must be used in conjunction with about +:doc:`fix pair_tracker ` which contains information on +what data can be output. + +If the *finite* keyword is not defined, the following coefficients must be +defined for each pair of atom types via the :doc:`pair_coeff ` +command as in the examples above, or in the data file or restart files +read by the :doc:`read_data ` or :doc:`read_restart ` +commands, or by mixing as described below: + +* cutoff (distance units) + +If the *finite* keyword is defined, no coeffients may be defined. +Alternatively, interactions are defined if finite particles overlap. + + +Mixing, shift, table, tail correction, restart, rRESPA info +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" + +For atom type pairs I,J and I != J, the cutoff coefficient and cutoff +distance for this pair style can be mixed. The cutoff is always mixed via a +*geometric* rule. The cutoff is mixed according to the pair_modify +mix value. The default mix value is *geometric*\ . See the +"pair_modify" command for details. + +This pair style writes its information to :doc:`binary restart files `, so +pair_style and pair_coeff commands do not need +to be specified in an input script that reads a restart file. + +The :doc:`pair_modify ` shift, table, and tail options +are not relevant for this pair style. + +---------- + +Restrictions +"""""""""""" + +A corresponding :doc:`fix pair_tracker ` must be defined +to use this pair style. + +This pairstyle is currently incompatible with granular pairstyles that extend +beyond the contact (e.g. JKR and DMT). + +Related commands +"""""""""""""""" + +:doc:`fix pair_tracker ` + +Default +""""""" + +none diff --git a/src/.gitignore b/src/.gitignore index 64a1aa29db..5cc93c2196 100644 --- a/src/.gitignore +++ b/src/.gitignore @@ -704,6 +704,8 @@ /fix_orient_eco.h /fix_orient_fcc.cpp /fix_orient_fcc.h +/fix_pair_tracker.cpp +/fix_pair_tracker.h /fix_peri_neigh.cpp /fix_peri_neigh.h /fix_phonon.cpp @@ -1149,6 +1151,8 @@ /pair_tip4p_long.h /pair_tip4p_long_soft.cpp /pair_tip4p_long_soft.h +/pair_tracker.h +/pair_tracker.cpp /pair_tri_lj.cpp /pair_tri_lj.h /pair_yukawa_colloid.cpp From 0c6857914d05871076e9cef9c1c56087c275b6de Mon Sep 17 00:00:00 2001 From: jtclemm Date: Tue, 18 May 2021 20:57:24 -0600 Subject: [PATCH 099/726] Adding example, misc patches --- doc/src/Examples.rst | 2 + examples/tracker/contact_history.dat | 8122 ++++++++++++++++++++++++ examples/tracker/in.track | 34 + examples/tracker/lifetime_hist.dat | 65 + examples/tracker/log.8Apr21.melt.g++.1 | 0 src/MISC/fix_pair_tracker.cpp | 15 +- src/MISC/fix_pair_tracker.h | 6 +- src/MISC/pair_tracker.cpp | 64 +- src/fix_neigh_history.cpp | 4 +- 9 files changed, 8267 insertions(+), 45 deletions(-) create mode 100644 examples/tracker/contact_history.dat create mode 100644 examples/tracker/in.track create mode 100644 examples/tracker/lifetime_hist.dat create mode 100644 examples/tracker/log.8Apr21.melt.g++.1 diff --git a/doc/src/Examples.rst b/doc/src/Examples.rst index 8bfc4ad573..74fb842698 100644 --- a/doc/src/Examples.rst +++ b/doc/src/Examples.rst @@ -150,6 +150,8 @@ Lowercase directories +-------------+------------------------------------------------------------------+ | threebody | regression test input for a variety of manybody potentials | +-------------+------------------------------------------------------------------+ +| tracker | track interactions in LJ melt | ++-------------+------------------------------------------------------------------+ | vashishta | use of the Vashishta potential | +-------------+------------------------------------------------------------------+ | voronoi | Voronoi tesselation via compute voronoi/atom command | diff --git a/examples/tracker/contact_history.dat b/examples/tracker/contact_history.dat new file mode 100644 index 0000000000..898aab4ef6 --- /dev/null +++ b/examples/tracker/contact_history.dat @@ -0,0 +1,8122 @@ +16 68 0 0.5 +17 37 0 0.5 +162 210 0 0.5 +174 163 0 0.5 +179 255 0 0.5 +96 161 0 0.505 +111 162 0 0.505 +156 231 0 0.505 +210 150 0 0.505 +226 246 0 0.505 +254 202 0 0.505 +31 82 0 0.51 +95 144 0 0.51 +116 80 0 0.51 +143 255 0 0.51 +153 165 0 0.51 +192 240 0 0.51 +227 247 0 0.51 +12 124 0 0.515 +18 39 0 0.515 +22 102 0 0.515 +34 55 0 0.515 +62 78 0 0.515 +128 188 0 0.515 +146 134 0 0.515 +50 14 0 0.52 +58 74 0 0.52 +69 134 0 0.52 +126 186 0 0.52 +143 242 0 0.52 +167 227 0 0.52 +213 37 0 0.52 +52 8 0 0.525 +69 149 0 0.525 +93 26 0 0.525 +154 144 0 0.525 +156 236 0 0.525 +180 228 0 0.525 +180 197 0 0.525 +256 1 0 0.525 +59 123 0 0.53 +84 160 0 0.53 +105 165 0 0.53 +154 151 0 0.53 +156 213 0 0.53 +158 99 0 0.53 +192 251 0 0.53 +217 21 0 0.53 +254 208 0 0.53 +31 84 0 0.535 +66 146 0 0.535 +77 129 0 0.535 +181 229 0 0.535 +203 54 0 0.535 +244 208 0 0.535 +99 174 0 0.54 +109 157 0 0.54 +187 236 0 0.54 +249 192 0 0.54 +6 54 0 0.545 +96 144 0 0.545 +109 169 0 0.545 +115 182 0 0.545 +131 206 0 0.545 +176 228 0 0.545 +203 14 0 0.545 +224 41 0 0.545 +228 256 0 0.545 +247 56 0 0.545 +18 86 0 0.55 +34 255 0 0.55 +45 90 0 0.55 +59 124 0 0.55 +111 164 0 0.55 +117 183 0.035 0.55 +193 221 0 0.55 +223 1 0 0.55 +242 206 0 0.55 +249 201 0 0.55 +256 14 0 0.55 +3 115 0 0.555 +92 165 0 0.555 +108 186 0 0.555 +128 144 0 0.555 +146 214 0 0.555 +166 246 0 0.555 +219 93 0.045 0.555 +15 68 0 0.56 +76 130 0.06 0.56 +105 123 0 0.56 +124 72 0 0.56 +137 128 0 0.56 +164 212 0 0.56 +194 207 0 0.56 +194 14 0 0.56 +244 63 0 0.56 +1 16 0 0.565 +20 100 0 0.565 +41 53 0 0.565 +76 154 0 0.565 +103 171 0 0.565 +119 246 0.045 0.565 +144 222 0 0.565 +167 155 0 0.565 +170 175 0 0.565 +241 36 0.065 0.565 +244 56 0 0.565 +28 109 0 0.57 +53 60 0 0.57 +55 123 0 0.57 +87 102 0.065 0.57 +176 256 0 0.57 +194 6 0 0.57 +233 232 0 0.57 +249 135 0 0.57 +11 123 0 0.575 +55 98 0 0.575 +71 183 0 0.575 +145 160 0 0.575 +174 162 0 0.575 +209 1 0 0.575 +38 98 0 0.58 +55 114 0 0.58 +62 242 0 0.58 +68 88 0 0.58 +86 38 0 0.58 +92 152 0 0.58 +112 100 0 0.58 +198 2 0 0.58 +229 241 0 0.58 +8 68 0 0.585 +11 186 0.07 0.585 +48 108 0 0.585 +71 131 0 0.585 +146 87 0 0.585 +165 156 0 0.585 +171 236 0 0.585 +208 193 0 0.585 +210 230 0 0.585 +224 28 0 0.585 +1 31 0 0.59 +3 116 0 0.59 +31 68 0 0.59 +78 27 0 0.59 +154 172 0 0.59 +179 227 0 0.59 +215 2 0 0.59 +231 53 0 0.59 +238 168 0.09 0.59 +15 81 0 0.595 +17 22 0.06 0.595 +45 28 0 0.595 +73 25 0 0.595 +78 84 0 0.595 +104 124 0 0.595 +137 77 0 0.595 +148 228 0 0.595 +162 148 0 0.595 +76 217 0.05 0.6 +116 130 0 0.6 +125 75 0 0.6 +144 218 0 0.6 +177 242 0 0.6 +179 195 0 0.6 +207 50 0 0.6 +45 106 0 0.605 +50 15 0 0.605 +120 129 0 0.605 +163 183 0 0.605 +180 195 0 0.605 +252 53 0 0.605 +6 69 0 0.61 +15 66 0 0.61 +15 29 0 0.61 +69 121 0 0.61 +82 162 0 0.61 +97 158 0 0.61 +97 162 0 0.61 +160 212 0 0.61 +191 251 0 0.61 +215 19 0 0.61 +15 5 0.045 0.615 +22 105 0 0.615 +38 105 0 0.615 +48 126 0 0.615 +78 29 0 0.615 +78 32 0 0.615 +145 151 0.07 0.615 +147 223 0 0.615 +156 229 0 0.615 +206 1 0 0.615 +207 78 0.06 0.615 +224 228 0 0.615 +24 84 0 0.62 +47 100 0 0.62 +88 156 0 0.62 +127 186 0 0.62 +158 163 0 0.62 +168 246 0 0.62 +253 206 0.04 0.62 +31 66 0 0.625 +70 92 0 0.625 +115 131 0 0.625 +177 225 0 0.625 +210 34 0 0.625 +234 246 0 0.625 +244 64 0 0.625 +23 103 0 0.63 +51 15 0 0.63 +91 88 0.045 0.63 +103 183 0 0.63 +106 11 0.03 0.63 +113 3 0 0.63 +140 152 0 0.63 +158 100 0 0.63 +166 184 0 0.63 +194 18 0 0.63 +252 56 0 0.63 +25 87 0.045 0.635 +125 11 0 0.635 +181 230 0 0.635 +193 253 0 0.635 +196 216 0 0.635 +214 37 0 0.635 +254 251 0 0.635 +1 19 0 0.64 +16 128 0 0.64 +27 75 0 0.64 +38 121 0 0.64 +68 82 0 0.64 +133 132 0 0.64 +135 9 0.135 0.64 +179 49 0.085 0.64 +184 232 0 0.64 +249 179 0.05 0.64 +20 22 0.05 0.645 +31 3 0 0.645 +115 129 0 0.645 +132 161 0.09 0.645 +193 62 0 0.645 +245 41 0.11 0.645 +137 192 0 0.65 +144 223 0 0.65 +147 175 0 0.65 +177 253 0 0.65 +193 5 0 0.65 +4 33 0.06 0.655 +31 65 0 0.655 +32 81 0 0.655 +57 125 0 0.655 +62 206 0 0.655 +81 132 0.05 0.655 +159 14 0.035 0.655 +210 37 0 0.655 +215 232 0.06 0.655 +222 14 0 0.655 +256 48 0 0.655 +4 29 0 0.66 +13 27 0 0.66 +14 32 0 0.66 +23 20 0.12 0.66 +82 161 0 0.66 +125 102 0.04 0.66 +177 141 0 0.66 +200 56 0 0.66 +238 242 0 0.66 +245 135 0 0.66 +250 204 0 0.66 +48 121 0 0.665 +57 102 0 0.665 +66 129 0 0.665 +134 201 0 0.665 +148 238 0 0.665 +161 212 0.045 0.665 +171 251 0 0.665 +189 169 0 0.665 +227 45 0.095 0.665 +21 1 0 0.67 +32 80 0 0.67 +54 12 0 0.67 +101 92 0 0.67 +103 151 0 0.67 +175 221 0 0.67 +196 8 0 0.67 +4 23 0.105 0.675 +84 132 0 0.675 +114 182 0 0.675 +118 98 0 0.675 +126 129 0 0.675 +133 145 0 0.675 +138 205 0 0.675 +175 223 0.125 0.675 +199 211 0 0.675 +209 197 0 0.675 +223 227 0 0.675 +225 255 0 0.675 +9 29 0 0.68 +33 22 0.04 0.68 +39 87 0 0.68 +52 66 0 0.68 +56 121 0 0.68 +72 91 0.17 0.68 +73 85 0 0.68 +103 163 0 0.68 +154 140 0 0.68 +202 222 0 0.68 +211 31 0 0.68 +33 81 0 0.685 +83 76 0.055 0.685 +147 168 0.07 0.685 +148 17 0.155 0.685 +148 216 0 0.685 +194 223 0 0.685 +216 20 0 0.685 +217 9 0 0.685 +232 252 0 0.685 +233 250 0.065 0.685 +54 11 0 0.69 +77 189 0 0.69 +97 145 0 0.69 +141 130 0.065 0.69 +186 129 0.045 0.69 +196 197 0 0.69 +219 239 0.18 0.69 +224 251 0.05 0.69 +247 39 0 0.69 +38 36 0.055 0.695 +62 208 0 0.695 +71 188 0 0.695 +159 211 0 0.695 +176 162 0.045 0.695 +245 250 0.08 0.695 +246 232 0 0.695 +24 36 0.17 0.7 +26 86 0 0.7 +54 121 0 0.7 +76 88 0 0.7 +159 203 0.115 0.7 +162 225 0 0.7 +165 151 0 0.7 +206 2 0 0.7 +243 252 0.05 0.7 +251 239 0 0.7 +4 24 0 0.705 +7 75 0 0.705 +27 95 0 0.705 +77 127 0 0.705 +88 136 0 0.705 +125 190 0 0.705 +193 14 0 0.705 +234 252 0 0.705 +30 34 0 0.71 +91 144 0 0.71 +102 183 0.13 0.71 +217 200 0 0.71 +72 132 0 0.715 +76 139 0 0.715 +91 103 0 0.715 +134 188 0 0.715 +142 149 0.17 0.715 +159 207 0 0.715 +28 48 0 0.72 +28 108 0 0.72 +90 102 0 0.72 +209 229 0 0.72 +235 255 0 0.72 +240 36 0 0.72 +3 79 0 0.725 +20 37 0 0.725 +26 89 0 0.725 +97 173 0 0.725 +134 246 0 0.725 +207 10 0 0.725 +209 21 0 0.725 +231 33 0.13 0.725 +247 34 0 0.725 +72 152 0 0.73 +196 21 0 0.73 +206 211 0 0.73 +232 55 0 0.73 +43 122 0.085 0.735 +109 122 0.08 0.735 +132 163 0.205 0.735 +134 144 0.045 0.735 +148 30 0.09 0.735 +157 139 0 0.735 +178 226 0.185 0.735 +231 243 0 0.735 +11 79 0 0.74 +19 87 0 0.74 +30 238 0 0.74 +75 139 0 0.74 +76 188 0 0.74 +76 144 0 0.74 +107 237 0.075 0.74 +113 67 0 0.74 +120 183 0 0.74 +131 196 0 0.74 +133 85 0.145 0.74 +159 29 0.055 0.74 +182 130 0 0.74 +196 213 0 0.74 +214 245 0.05 0.74 +230 252 0 0.74 +249 232 0 0.74 +26 12 0 0.745 +27 73 0 0.745 +79 66 0 0.745 +85 153 0.15 0.745 +89 19 0.18 0.745 +149 209 0 0.745 +150 155 0 0.745 +155 235 0 0.745 +192 131 0.24 0.745 +4 47 0.05 0.75 +6 26 0.25 0.75 +74 29 0 0.75 +76 156 0 0.75 +87 165 0 0.75 +157 222 0 0.75 +159 194 0 0.75 +164 184 0 0.75 +196 52 0 0.75 +239 32 0 0.75 +43 111 0.13 0.755 +101 169 0.22 0.755 +166 234 0 0.755 +213 17 0 0.755 +213 23 0.185 0.755 +65 141 0 0.76 +95 161 0 0.76 +108 127 0.05 0.76 +110 122 0 0.76 +164 183 0.12 0.76 +174 115 0 0.76 +179 225 0 0.76 +188 197 0 0.76 +227 47 0 0.76 +254 159 0.045 0.76 +6 18 0 0.765 +42 122 0 0.765 +49 14 0.24 0.765 +104 183 0 0.765 +245 251 0.22 0.765 +1 211 0 0.77 +1 66 0 0.77 +77 27 0 0.77 +97 174 0 0.77 +149 161 0 0.77 +199 21 0 0.77 +233 245 0 0.77 +233 253 0.08 0.77 +19 145 0.175 0.775 +20 145 0.09 0.775 +46 43 0 0.775 +50 62 0 0.775 +52 67 0 0.775 +68 85 0 0.775 +90 170 0 0.775 +94 161 0 0.775 +131 209 0 0.775 +172 226 0.235 0.775 +194 212 0 0.775 +202 29 0 0.775 +252 200 0 0.775 +20 68 0 0.78 +30 4 0 0.78 +49 5 0 0.78 +70 75 0 0.78 +127 65 0 0.78 +127 192 0 0.78 +145 85 0 0.78 +184 226 0 0.78 +221 14 0 0.78 +249 41 0 0.78 +254 15 0.095 0.78 +6 231 0.215 0.785 +47 19 0 0.785 +119 169 0 0.785 +142 66 0.145 0.785 +196 5 0 0.785 +47 95 0 0.79 +51 67 0 0.79 +91 85 0.1 0.79 +99 181 0 0.79 +130 195 0.1 0.79 +151 163 0 0.79 +171 238 0 0.79 +195 62 0 0.79 +240 110 0.065 0.79 +8 73 0 0.795 +78 83 0 0.795 +79 96 0.07 0.795 +84 162 0 0.795 +126 67 0 0.795 +131 200 0 0.795 +194 206 0 0.795 +207 9 0.17 0.795 +216 34 0 0.795 +1 7 0.245 0.8 +6 220 0 0.8 +20 88 0 0.8 +23 90 0 0.8 +70 68 0.3 0.8 +151 231 0 0.8 +154 167 0 0.8 +196 18 0 0.8 +220 23 0 0.8 +223 4 0 0.8 +241 197 0 0.8 +9 14 0.2 0.805 +54 8 0 0.805 +85 130 0 0.805 +105 167 0.23 0.805 +107 122 0.13 0.805 +118 108 0 0.805 +180 141 0 0.805 +214 6 0 0.805 +232 56 0 0.805 +233 204 0.21 0.805 +244 209 0.265 0.805 +248 203 0.285 0.805 +40 7 0.305 0.81 +61 122 0 0.81 +85 165 0.19 0.81 +98 119 0 0.81 +123 169 0 0.81 +125 100 0 0.81 +144 158 0 0.81 +200 4 0.175 0.81 +8 114 0 0.815 +41 34 0.045 0.815 +100 128 0.265 0.815 +105 119 0 0.815 +105 153 0 0.815 +165 183 0 0.815 +201 21 0.1 0.815 +223 18 0 0.815 +63 57 0.085 0.82 +75 134 0 0.82 +76 136 0 0.82 +79 81 0 0.82 +80 160 0 0.82 +84 115 0.305 0.82 +97 146 0 0.82 +106 189 0 0.82 +108 176 0.305 0.82 +144 156 0 0.82 +148 229 0 0.82 +151 230 0.225 0.82 +156 204 0 0.82 +165 119 0 0.82 +206 15 0.095 0.82 +222 208 0 0.82 +227 53 0 0.82 +20 101 0 0.825 +35 56 0.045 0.825 +39 89 0 0.825 +60 8 0.245 0.825 +84 175 0 0.825 +185 176 0 0.825 +194 17 0 0.825 +195 201 0.145 0.825 +223 195 0 0.825 +1 197 0 0.83 +22 34 0 0.83 +80 144 0 0.83 +97 177 0 0.83 +131 243 0 0.83 +193 49 0.315 0.83 +241 240 0 0.83 +246 205 0.06 0.83 +50 36 0 0.835 +73 134 0 0.835 +107 187 0 0.835 +119 168 0 0.835 +142 146 0.105 0.835 +155 169 0 0.835 +198 248 0 0.835 +200 54 0 0.835 +213 199 0 0.835 +150 218 0 0.84 +174 238 0 0.84 +31 111 0.27 0.845 +40 86 0 0.845 +61 106 0 0.845 +70 114 0 0.845 +86 98 0 0.845 +94 35 0 0.845 +99 168 0 0.845 +127 178 0 0.845 +132 197 0 0.845 +166 123 0 0.845 +194 148 0 0.845 +198 5 0 0.845 +72 140 0 0.85 +74 186 0 0.85 +76 150 0 0.85 +82 87 0 0.85 +87 99 0.3 0.85 +92 102 0 0.85 +187 137 0 0.85 +189 124 0 0.85 +207 202 0 0.85 +211 239 0.165 0.85 +237 255 0 0.85 +241 256 0 0.85 +61 11 0 0.855 +129 144 0 0.855 +144 160 0 0.855 +147 198 0 0.855 +155 220 0 0.855 +174 253 0 0.855 +192 244 0 0.855 +227 36 0 0.855 +241 227 0 0.855 +17 24 0 0.86 +48 111 0 0.86 +127 180 0 0.86 +136 201 0 0.86 +163 243 0.24 0.86 +240 63 0 0.86 +9 206 0.255 0.865 +9 221 0.21 0.865 +19 86 0 0.865 +39 53 0 0.865 +97 161 0 0.865 +129 209 0.285 0.865 +147 173 0.145 0.865 +198 195 0 0.865 +239 110 0.045 0.865 +247 197 0 0.865 +6 24 0 0.87 +19 7 0.165 0.87 +59 113 0.045 0.87 +152 172 0 0.87 +160 225 0.32 0.87 +186 254 0 0.87 +196 4 0 0.87 +196 29 0 0.87 +212 36 0 0.87 +213 148 0 0.87 +6 27 0 0.875 +65 83 0 0.875 +91 186 0.065 0.875 +94 100 0 0.875 +99 102 0 0.875 +189 249 0.215 0.875 +191 131 0 0.875 +198 210 0 0.875 +206 195 0 0.875 +239 35 0 0.875 +116 141 0 0.88 +127 187 0 0.88 +132 173 0.28 0.88 +139 13 0.135 0.88 +142 83 0 0.88 +167 234 0 0.88 +167 247 0.245 0.88 +179 228 0 0.88 +198 211 0 0.88 +201 23 0.38 0.88 +235 59 0 0.88 +19 37 0 0.885 +45 94 0 0.885 +46 15 0.335 0.885 +69 182 0 0.885 +77 186 0 0.885 +132 149 0 0.885 +134 202 0 0.885 +135 199 0 0.885 +150 140 0 0.885 +161 209 0 0.885 +167 236 0 0.885 +169 187 0 0.885 +205 204 0 0.885 +206 212 0 0.885 +250 207 0 0.885 +40 69 0.31 0.89 +52 16 0 0.89 +72 184 0 0.89 +127 121 0.39 0.89 +130 197 0 0.89 +138 150 0 0.89 +218 10 0 0.89 +221 239 0 0.89 +31 48 0.38 0.895 +83 132 0 0.895 +95 160 0 0.895 +134 155 0 0.895 +155 233 0 0.895 +169 176 0 0.895 +192 207 0 0.895 +205 9 0 0.895 +212 22 0.11 0.895 +223 15 0 0.895 +227 49 0 0.895 +230 44 0.05 0.895 +243 197 0 0.895 +20 83 0 0.9 +36 101 0 0.9 +77 157 0 0.9 +212 231 0.12 0.9 +235 238 0 0.9 +24 87 0 0.905 +26 109 0 0.905 +55 53 0 0.905 +61 113 0 0.905 +80 129 0 0.905 +118 75 0 0.905 +131 248 0 0.905 +185 245 0 0.905 +241 62 0 0.905 +46 126 0 0.91 +48 94 0 0.91 +99 164 0 0.91 +108 128 0 0.91 +134 157 0.335 0.91 +142 173 0.035 0.91 +171 253 0 0.91 +172 253 0 0.91 +193 148 0.22 0.91 +197 54 0 0.91 +17 35 0 0.915 +60 75 0 0.915 +65 93 0.25 0.915 +82 150 0 0.915 +87 101 0 0.915 +166 124 0 0.915 +168 216 0.315 0.915 +169 183 0 0.915 +174 116 0 0.915 +207 221 0 0.915 +235 256 0.17 0.915 +248 200 0 0.915 +6 74 0 0.92 +60 120 0.395 0.92 +119 170 0 0.92 +129 206 0 0.92 +130 184 0 0.92 +188 202 0 0.92 +199 215 0 0.92 +229 239 0.215 0.92 +244 199 0.265 0.92 +251 207 0 0.92 +46 207 0.045 0.925 +47 84 0 0.925 +64 127 0 0.925 +95 173 0 0.925 +118 66 0 0.925 +126 141 0 0.925 +164 227 0 0.925 +199 1 0.15 0.925 +213 18 0 0.925 +13 57 0 0.93 +20 111 0 0.93 +123 183 0 0.93 +127 114 0 0.93 +142 131 0 0.93 +156 249 0.05 0.93 +187 180 0.25 0.93 +12 69 0 0.935 +82 111 0 0.935 +87 167 0 0.935 +137 250 0 0.935 +155 214 0 0.935 +196 62 0 0.935 +200 1 0 0.935 +204 231 0.07 0.935 +204 224 0 0.935 +216 35 0 0.935 +123 253 0.29 0.94 +145 100 0.395 0.94 +224 48 0 0.94 +12 75 0 0.945 +19 101 0 0.945 +39 56 0.425 0.945 +51 162 0.12 0.945 +59 127 0 0.945 +84 104 0 0.945 +112 116 0 0.945 +113 122 0.075 0.945 +124 183 0 0.945 +135 252 0 0.945 +155 204 0 0.945 +249 205 0 0.945 +19 88 0 0.95 +33 53 0 0.95 +39 48 0.27 0.95 +52 122 0.26 0.95 +92 173 0 0.95 +93 141 0 0.95 +99 117 0 0.95 +137 246 0 0.95 +175 235 0 0.95 +203 57 0 0.95 +228 63 0 0.95 +35 84 0 0.955 +60 69 0 0.955 +77 113 0 0.955 +104 182 0 0.955 +127 79 0 0.955 +135 203 0 0.955 +141 193 0 0.955 +145 194 0 0.955 +148 227 0 0.955 +240 57 0.4 0.955 +256 52 0 0.955 +3 23 0.28 0.96 +10 47 0.405 0.96 +23 35 0.14 0.96 +36 56 0 0.96 +56 104 0 0.96 +60 89 0.175 0.96 +133 147 0 0.96 +136 217 0 0.96 +137 183 0 0.96 +144 193 0 0.96 +185 246 0 0.96 +192 241 0 0.96 +192 202 0 0.96 +194 1 0 0.96 +194 21 0 0.96 +245 252 0 0.96 +42 27 0.385 0.965 +42 109 0 0.965 +87 107 0 0.965 +124 69 0 0.965 +139 143 0 0.965 +192 238 0 0.965 +206 30 0 0.965 +215 37 0 0.965 +230 219 0.385 0.965 +240 59 0 0.965 +27 48 0.135 0.97 +89 69 0 0.97 +92 170 0 0.97 +215 8 0 0.97 +255 59 0.44 0.97 +16 81 0 0.975 +22 40 0 0.975 +31 110 0.245 0.975 +38 106 0 0.975 +130 209 0 0.975 +135 155 0 0.975 +138 188 0 0.975 +139 253 0 0.975 +152 164 0.235 0.975 +213 5 0 0.975 +215 18 0 0.975 +251 63 0 0.975 +36 117 0 0.98 +71 184 0 0.98 +98 120 0 0.98 +112 113 0 0.98 +182 248 0.05 0.98 +214 226 0 0.98 +217 10 0 0.98 +229 179 0 0.98 +236 256 0 0.98 +245 236 0 0.98 +205 15 0.425 0.985 +226 53 0 0.985 +239 62 0.475 0.985 +3 83 0.385 0.99 +67 182 0 0.99 +73 93 0.25 0.99 +76 149 0 0.99 +135 248 0 0.99 +135 204 0 0.99 +139 58 0.165 0.99 +158 129 0.21 0.99 +230 215 0.1 0.99 +234 254 0.44 0.99 +236 253 0 0.99 +245 227 0 0.99 +6 28 0 0.995 +33 63 0 0.995 +43 101 0.41 0.995 +88 153 0 0.995 +99 167 0 0.995 +134 156 0 0.995 +185 165 0 0.995 +192 255 0 0.995 +248 58 0.21 0.995 +6 85 0 1 +122 190 0 1 +143 148 0.34 1 +234 255 0 1 +247 253 0.425 1 +2 30 0 1.005 +30 16 0.4 1.005 +33 109 0.325 1.005 +107 167 0 1.005 +124 184 0 1.005 +219 240 0.4 1.005 +232 44 0 1.005 +240 44 0.435 1.005 +19 70 0 1.01 +41 102 0 1.01 +46 59 0 1.01 +89 75 0 1.01 +90 173 0 1.01 +122 116 0.12 1.01 +160 208 0 1.01 +181 163 0 1.01 +9 27 0 1.015 +13 25 0.46 1.015 +20 34 0 1.015 +30 35 0 1.015 +43 37 0.45 1.015 +69 181 0.48 1.015 +74 128 0 1.015 +89 66 0.44 1.015 +139 221 0 1.015 +148 206 0 1.015 +207 63 0 1.015 +210 197 0.48 1.015 +220 240 0.22 1.015 +234 205 0.18 1.015 +242 54 0.405 1.015 +252 5 0 1.015 +6 89 0 1.02 +17 45 0 1.02 +17 93 0 1.02 +23 83 0 1.02 +23 88 0 1.02 +133 68 0 1.02 +143 160 0.08 1.02 +202 58 0 1.02 +227 238 0 1.02 +20 85 0 1.025 +39 166 0.29 1.025 +60 10 0 1.025 +79 131 0.095 1.025 +128 114 0.385 1.025 +134 217 0 1.025 +143 208 0 1.025 +207 126 0.06 1.025 +217 6 0 1.025 +229 217 0.125 1.025 +248 1 0 1.025 +41 48 0 1.03 +43 108 0 1.03 +46 109 0 1.03 +67 184 0 1.03 +69 76 0 1.03 +92 112 0 1.03 +99 166 0 1.03 +118 123 0 1.03 +136 246 0.43 1.03 +143 194 0 1.03 +195 7 0.175 1.03 +197 8 0.405 1.03 +229 249 0 1.03 +17 66 0 1.035 +43 103 0 1.035 +64 10 0 1.035 +139 208 0 1.035 +181 246 0 1.035 +196 15 0 1.035 +242 228 0 1.035 +247 53 0 1.035 +6 10 0 1.04 +16 90 0.41 1.04 +50 69 0.39 1.04 +98 56 0 1.04 +112 191 0 1.04 +139 205 0 1.04 +233 42 0 1.04 +248 250 0.065 1.04 +3 85 0 1.045 +9 89 0 1.045 +31 109 0 1.045 +32 92 0 1.045 +43 102 0 1.045 +94 173 0 1.045 +95 143 0 1.045 +151 204 0 1.045 +169 229 0.22 1.045 +181 241 0 1.045 +188 191 0.33 1.045 +194 209 0 1.045 +198 21 0 1.045 +208 220 0.49 1.045 +6 58 0 1.05 +7 10 0 1.05 +38 58 0.25 1.05 +133 83 0 1.05 +147 197 0 1.05 +209 216 0 1.05 +8 25 0 1.055 +13 73 0.28 1.055 +17 81 0 1.055 +50 114 0 1.055 +73 10 0 1.055 +76 135 0 1.055 +112 177 0 1.055 +129 244 0.06 1.055 +137 202 0 1.055 +176 255 0 1.055 +195 52 0 1.055 +222 227 0 1.055 +231 43 0.48 1.055 +244 206 0 1.055 +2 70 0.475 1.06 +9 8 0.36 1.06 +19 84 0 1.06 +45 63 0 1.06 +132 212 0.165 1.06 +159 30 0.055 1.06 +210 164 0 1.06 +236 106 0.505 1.06 +3 71 0.36 1.065 +29 110 0.26 1.065 +100 176 0 1.065 +135 250 0 1.065 +149 140 0 1.065 +175 255 0 1.065 +195 54 0 1.065 +201 54 0 1.065 +224 61 0.115 1.065 +230 250 0 1.065 +235 46 0 1.065 +239 97 0.54 1.065 +3 70 0 1.07 +17 97 0 1.07 +43 92 0 1.07 +45 49 0 1.07 +69 137 0 1.07 +71 136 0 1.07 +115 79 0 1.07 +130 158 0.135 1.07 +133 246 0 1.07 +192 159 0.075 1.07 +213 212 0 1.07 +228 1 0.3 1.07 +6 208 0.28 1.075 +6 219 0 1.075 +39 92 0 1.075 +188 205 0 1.075 +239 34 0 1.075 +251 41 0 1.075 +254 142 0 1.075 +31 90 0 1.08 +54 58 0 1.08 +71 123 0 1.08 +74 141 0 1.08 +94 174 0 1.08 +106 117 0.365 1.08 +154 175 0 1.08 +222 47 0.135 1.08 +242 247 0.5 1.08 +17 82 0 1.085 +22 19 0 1.085 +74 86 0.41 1.085 +140 208 0 1.085 +169 220 0.43 1.085 +179 238 0 1.085 +219 42 0.105 1.085 +5 85 0.375 1.09 +23 37 0 1.09 +24 43 0.43 1.09 +104 106 0.57 1.09 +105 172 0.31 1.09 +105 171 0.225 1.09 +109 100 0 1.09 +149 217 0 1.09 +158 143 0.06 1.09 +162 238 0 1.09 +200 12 0 1.09 +217 231 0 1.09 +220 10 0 1.09 +228 62 0 1.09 +8 76 0.255 1.095 +17 47 0 1.095 +58 7 0 1.095 +67 137 0.53 1.095 +72 182 0 1.095 +174 100 0 1.095 +196 30 0 1.095 +196 20 0.48 1.095 +227 239 0 1.095 +228 110 0.24 1.095 +251 55 0.49 1.095 +16 89 0 1.1 +23 43 0 1.1 +45 255 0 1.1 +53 98 0 1.1 +92 111 0.205 1.1 +147 227 0 1.1 +168 227 0 1.1 +186 246 0 1.1 +201 25 0 1.1 +19 68 0 1.105 +50 196 0 1.105 +105 170 0 1.105 +115 189 0.105 1.105 +214 21 0 1.105 +226 247 0 1.105 +7 25 0 1.11 +50 40 0 1.11 +192 249 0.59 1.11 +200 25 0 1.11 +17 94 0 1.115 +26 31 0 1.115 +50 52 0 1.115 +58 10 0 1.115 +101 119 0 1.115 +130 143 0 1.115 +159 208 0 1.115 +192 251 0.6 1.115 +201 10 0 1.115 +233 187 0 1.115 +235 48 0 1.115 +249 203 0 1.115 +13 29 0 1.12 +45 97 0 1.12 +53 115 0.44 1.12 +130 210 0.48 1.12 +159 219 0 1.12 +165 178 0.48 1.12 +195 4 0 1.12 +213 209 0 1.12 +216 33 0 1.12 +219 231 0 1.12 +223 33 0 1.12 +233 251 0 1.12 +235 253 0 1.12 +42 110 0 1.125 +118 58 0.18 1.125 +136 215 0 1.125 +165 245 0.395 1.125 +175 227 0 1.125 +231 23 0 1.125 +248 251 0.45 1.125 +6 19 0 1.13 +24 102 0 1.13 +30 227 0 1.13 +37 102 0 1.13 +61 126 0 1.13 +115 191 0 1.13 +140 159 0.46 1.13 +152 212 0 1.13 +191 207 0.275 1.13 +196 3 0 1.13 +198 199 0 1.13 +237 228 0 1.13 +17 32 0 1.135 +22 35 0 1.135 +90 127 0.62 1.135 +119 184 0 1.135 +132 160 0 1.135 +142 180 0.29 1.135 +222 31 0.535 1.135 +9 200 0 1.14 +36 100 0 1.14 +50 51 0 1.14 +50 118 0.37 1.14 +85 98 0.63 1.14 +88 168 0 1.14 +111 83 0.315 1.14 +136 140 0 1.14 +145 154 0.54 1.14 +159 217 0.5 1.14 +178 161 0.435 1.14 +195 15 0 1.14 +246 202 0.445 1.14 +11 25 0.495 1.145 +13 221 0 1.145 +45 31 0 1.145 +46 64 0 1.145 +48 90 0 1.145 +114 179 0.645 1.145 +136 153 0 1.145 +164 49 0.645 1.145 +204 58 0 1.145 +226 255 0 1.145 +239 31 0.52 1.145 +13 122 0 1.15 +46 113 0 1.15 +70 67 0 1.15 +92 172 0 1.15 +130 179 0.385 1.15 +157 143 0 1.15 +159 171 0.34 1.15 +161 179 0.35 1.15 +189 205 0 1.15 +198 252 0 1.15 +116 161 0.615 1.155 +124 135 0 1.155 +137 136 0 1.155 +144 132 0 1.155 +148 224 0.135 1.155 +159 156 0.455 1.155 +216 19 0 1.155 +225 45 0.215 1.155 +19 23 0 1.16 +55 48 0.14 1.16 +130 242 0 1.16 +140 205 0 1.16 +157 132 0 1.16 +210 30 0 1.16 +220 251 0.21 1.16 +222 33 0 1.16 +236 48 0 1.16 +256 63 0 1.16 +1 113 0.32 1.165 +11 89 0 1.165 +50 60 0.385 1.165 +62 116 0.655 1.165 +93 92 0 1.165 +232 51 0 1.165 +239 255 0 1.165 +247 40 0 1.165 +3 20 0.42 1.17 +11 27 0 1.17 +55 64 0.475 1.17 +73 128 0 1.17 +93 105 0.525 1.17 +155 148 0.61 1.17 +199 203 0 1.17 +207 11 0 1.17 +207 64 0 1.17 +218 42 0 1.17 +7 121 0 1.175 +43 154 0.515 1.175 +87 105 0 1.175 +92 158 0.42 1.175 +137 197 0.465 1.175 +199 251 0.62 1.175 +243 207 0.675 1.175 +2 52 0 1.18 +188 248 0.37 1.18 +191 49 0.65 1.18 +229 183 0 1.18 +92 106 0 1.185 +125 116 0 1.185 +128 142 0 1.185 +186 249 0 1.185 +247 61 0.14 1.185 +8 88 0.575 1.19 +14 80 0.685 1.19 +35 103 0.185 1.19 +75 96 0.19 1.19 +13 93 0 1.195 +31 97 0 1.195 +61 110 0 1.195 +61 60 0 1.195 +201 5 0 1.195 +209 33 0 1.195 +210 168 0 1.195 +217 29 0.6 1.195 +218 251 0.24 1.195 +223 47 0 1.195 +5 12 0.525 1.2 +16 96 0 1.2 +30 14 0 1.2 +44 63 0.09 1.2 +67 85 0 1.2 +78 158 0 1.2 +114 131 0.265 1.2 +177 187 0.185 1.2 +185 135 0 1.2 +225 49 0 1.2 +233 22 0.65 1.2 +236 61 0 1.2 +237 164 0 1.2 +247 203 0.205 1.2 +39 119 0.2 1.205 +45 110 0 1.205 +104 172 0.17 1.205 +155 132 0.63 1.205 +13 204 0 1.21 +31 43 0.62 1.21 +44 119 0.355 1.21 +55 71 0.38 1.21 +75 95 0 1.21 +93 28 0 1.21 +130 190 0 1.21 +169 188 0.055 1.21 +201 7 0.04 1.21 +216 8 0.38 1.21 +226 38 0 1.21 +12 32 0 1.215 +12 86 0 1.215 +19 72 0 1.215 +24 98 0 1.215 +104 116 0.47 1.215 +105 48 0 1.215 +123 177 0.57 1.215 +160 220 0.42 1.215 +212 34 0 1.215 +214 221 0.545 1.215 +232 36 0 1.215 +248 201 0 1.215 +8 20 0 1.22 +14 29 0 1.22 +87 96 0.15 1.22 +93 75 0 1.22 +98 103 0 1.22 +159 218 0 1.22 +216 38 0 1.22 +26 37 0.36 1.225 +92 174 0.405 1.225 +16 94 0 1.23 +17 78 0 1.23 +31 96 0 1.23 +101 84 0 1.23 +153 152 0 1.23 +159 224 0 1.23 +169 181 0.28 1.23 +179 195 0.73 1.23 +7 124 0 1.235 +22 43 0 1.235 +133 66 0 1.235 +140 219 0 1.235 +206 10 0 1.235 +206 29 0 1.235 +215 27 0.475 1.235 +223 27 0.685 1.235 +232 40 0 1.235 +43 86 0 1.24 +44 64 0.445 1.24 +61 57 0 1.24 +92 109 0 1.24 +107 153 0 1.24 +112 79 0.445 1.24 +143 140 0.375 1.24 +13 60 0 1.245 +43 91 0 1.245 +120 184 0 1.245 +129 195 0.07 1.245 +187 247 0.41 1.245 +191 228 0 1.245 +206 14 0 1.245 +228 50 0 1.245 +246 58 0 1.245 +20 24 0 1.25 +93 107 0.54 1.25 +109 170 0 1.25 +125 177 0.615 1.25 +156 176 0 1.25 +177 173 0 1.25 +183 38 0.63 1.25 +222 229 0.735 1.25 +239 232 0.57 1.25 +250 62 0.435 1.25 +14 94 0.275 1.255 +25 37 0.08 1.255 +45 10 0.275 1.255 +97 115 0 1.255 +106 166 0 1.255 +164 255 0 1.255 +236 40 0.49 1.255 +247 240 0.65 1.255 +247 256 0.31 1.255 +34 110 0 1.26 +87 152 0 1.26 +93 25 0.33 1.26 +185 76 0.645 1.26 +188 236 0.74 1.26 +196 16 0 1.26 +212 238 0 1.26 +216 28 0.375 1.26 +222 164 0.63 1.26 +8 28 0.515 1.265 +49 97 0.68 1.265 +61 44 0 1.265 +70 133 0 1.265 +80 190 0 1.265 +100 116 0 1.265 +103 115 0.645 1.265 +122 141 0.52 1.265 +126 178 0.76 1.265 +132 211 0 1.265 +161 168 0 1.265 +168 38 0.665 1.265 +173 187 0.745 1.265 +183 231 0.69 1.265 +188 245 0 1.265 +254 250 0 1.265 +41 90 0.605 1.27 +44 118 0.3 1.27 +54 9 0 1.27 +133 138 0.425 1.27 +138 135 0 1.27 +167 227 0.695 1.27 +211 232 0.715 1.27 +232 18 0 1.27 +246 256 0.22 1.27 +13 12 0 1.275 +16 25 0.395 1.275 +67 81 0 1.275 +115 161 0 1.275 +157 150 0.135 1.275 +166 112 0.16 1.275 +175 168 0.51 1.275 +191 225 0 1.275 +206 16 0.165 1.275 +242 6 0.74 1.275 +8 89 0 1.28 +22 232 0 1.28 +55 9 0.49 1.28 +118 182 0 1.28 +142 140 0.775 1.28 +143 209 0 1.28 +166 156 0 1.28 +42 25 0.135 1.285 +103 153 0 1.285 +132 244 0 1.285 +164 193 0.61 1.285 +164 244 0.475 1.285 +199 58 0 1.285 +212 232 0.515 1.285 +231 42 0 1.285 +15 95 0.77 1.29 +46 232 0.64 1.29 +58 74 0.64 1.29 +114 100 0 1.29 +132 223 0 1.29 +210 33 0 1.29 +217 223 0.685 1.29 +17 15 0 1.295 +23 105 0 1.295 +44 108 0 1.295 +71 83 0 1.295 +83 103 0 1.295 +143 202 0 1.295 +153 167 0 1.295 +155 209 0.645 1.295 +174 113 0 1.295 +174 177 0 1.295 +181 230 0.72 1.295 +188 235 0.64 1.295 +196 200 0 1.295 +218 231 0 1.295 +16 79 0 1.3 +78 84 0.7 1.3 +125 185 0.53 1.3 +143 147 0 1.3 +144 159 0 1.3 +159 202 0 1.3 +187 235 0 1.3 +213 225 0.34 1.3 +44 122 0 1.305 +66 136 0.66 1.305 +70 149 0 1.305 +80 111 0.195 1.305 +145 165 0.25 1.305 +191 144 0.41 1.305 +236 199 0.715 1.305 +238 42 0.57 1.305 +21 89 0 1.31 +42 36 0.8 1.31 +67 87 0.75 1.31 +68 134 0.8 1.31 +134 146 0.69 1.31 +198 152 0 1.31 +218 209 0.72 1.31 +222 228 0 1.31 +48 127 0 1.315 +91 150 0 1.315 +109 113 0 1.315 +139 141 0 1.315 +191 141 0 1.315 +209 29 0.33 1.315 +216 219 0.65 1.315 +219 209 0.765 1.315 +18 28 0.48 1.32 +48 107 0 1.32 +81 149 0 1.32 +116 179 0.615 1.32 +181 226 0 1.32 +191 250 0 1.32 +218 175 0 1.32 +239 42 0 1.32 +240 205 0.6 1.32 +251 38 0.235 1.32 +254 251 0.765 1.32 +22 10 0.44 1.325 +22 105 0.675 1.325 +28 102 0 1.325 +30 211 0 1.325 +106 127 0 1.325 +198 233 0.645 1.325 +205 49 0.63 1.325 +217 26 0 1.325 +222 211 0 1.325 +225 245 0 1.325 +28 35 0.47 1.33 +44 112 0 1.33 +44 117 0.375 1.33 +52 79 0 1.33 +92 166 0 1.33 +125 77 0 1.33 +132 221 0 1.33 +145 173 0 1.33 +183 243 0 1.33 +41 59 0 1.335 +70 83 0 1.335 +85 84 0 1.335 +109 189 0 1.335 +128 178 0.65 1.335 +171 148 0.245 1.335 +205 209 0.415 1.335 +217 208 0 1.335 +48 57 0 1.34 +82 165 0 1.34 +88 161 0 1.34 +147 212 0 1.34 +207 58 0 1.34 +215 10 0 1.34 +237 212 0 1.34 +241 205 0.305 1.34 +242 2 0 1.34 +247 59 0.135 1.34 +254 46 0.77 1.34 +82 149 0 1.345 +100 117 0 1.345 +118 104 0 1.345 +174 148 0 1.345 +214 249 0.275 1.345 +223 26 0.56 1.345 +22 235 0.67 1.35 +67 147 0.63 1.35 +68 148 0.6 1.35 +188 240 0.775 1.35 +209 14 0 1.35 +223 45 0 1.35 +237 42 0 1.35 +50 38 0 1.355 +118 178 0 1.355 +175 232 0.755 1.355 +208 209 0 1.355 +223 25 0.555 1.355 +243 230 0 1.355 +16 20 0.625 1.36 +27 157 0.795 1.36 +36 65 0.22 1.36 +48 121 0.735 1.36 +68 180 0.44 1.36 +110 126 0 1.36 +114 180 0.41 1.36 +139 248 0.25 1.36 +182 247 0.54 1.36 +183 199 0.61 1.36 +13 59 0 1.365 +49 126 0 1.365 +57 64 0 1.365 +151 229 0 1.365 +198 141 0.825 1.365 +220 43 0.3 1.365 +248 9 0 1.365 +12 90 0 1.37 +52 127 0 1.37 +65 117 0 1.37 +191 186 0 1.37 +9 122 0.305 1.375 +70 150 0.57 1.375 +114 102 0.435 1.375 +122 182 0.705 1.375 +142 205 0 1.375 +156 219 0 1.375 +217 203 0 1.375 +33 113 0 1.38 +141 250 0.7 1.38 +173 225 0 1.38 +184 230 0.815 1.38 +226 184 0.825 1.38 +239 36 0 1.38 +7 74 0 1.385 +23 91 0 1.385 +43 89 0 1.385 +75 87 0 1.385 +140 221 0 1.385 +162 230 0.85 1.385 +178 72 0 1.385 +240 252 0.75 1.385 +240 47 0.56 1.385 +106 124 0 1.39 +129 83 0 1.39 +232 35 0 1.39 +23 29 0.865 1.395 +49 65 0.21 1.395 +87 198 0.85 1.395 +93 43 0 1.395 +101 169 0.81 1.395 +101 108 0 1.395 +105 37 0.49 1.395 +107 234 0.085 1.395 +207 78 0.78 1.395 +237 187 0 1.395 +244 36 0 1.395 +253 42 0 1.395 +253 1 0.87 1.395 +21 97 0.73 1.4 +49 195 0 1.4 +51 119 0 1.4 +57 122 0 1.4 +86 167 0.5 1.4 +132 17 0.635 1.4 +151 165 0.735 1.4 +188 141 0 1.4 +251 11 0.8 1.4 +85 27 0.325 1.405 +129 72 0 1.405 +140 218 0 1.405 +164 192 0.395 1.405 +193 243 0 1.405 +196 1 0 1.405 +224 238 0 1.405 +4 129 0.82 1.41 +78 94 0 1.41 +115 168 0 1.41 +142 144 0 1.41 +144 255 0.51 1.41 +196 256 0.585 1.41 +197 203 0.445 1.41 +204 89 0.775 1.41 +206 255 0.155 1.41 +255 42 0 1.41 +22 101 0 1.415 +66 129 0.83 1.415 +68 131 0 1.415 +80 140 0 1.415 +159 212 0 1.415 +22 89 0 1.42 +56 102 0 1.42 +72 131 0 1.42 +114 104 0 1.42 +153 233 0 1.42 +153 171 0 1.42 +169 249 0 1.42 +182 192 0.835 1.42 +202 12 0.81 1.42 +253 196 0.89 1.42 +3 117 0 1.425 +5 117 0.585 1.425 +71 131 0.695 1.425 +125 15 0.745 1.425 +175 187 0.13 1.425 +190 179 0.615 1.425 +210 161 0 1.425 +214 204 0 1.425 +3 95 0.81 1.43 +25 91 0.755 1.43 +35 114 0.92 1.43 +100 189 0 1.43 +152 161 0 1.43 +171 191 0 1.43 +173 238 0 1.43 +176 225 0 1.43 +177 226 0 1.43 +214 219 0 1.43 +46 244 0 1.435 +51 127 0 1.435 +60 74 0 1.435 +78 129 0 1.435 +93 154 0 1.435 +164 131 0.155 1.435 +221 201 0.465 1.435 +243 40 0 1.435 +16 95 0 1.44 +32 84 0.74 1.44 +63 79 0.345 1.44 +116 117 0 1.44 +157 233 0.345 1.44 +180 183 0.87 1.44 +200 209 0 1.44 +214 26 0.32 1.44 +13 63 0 1.445 +49 5 0.92 1.445 +86 166 0 1.445 +156 234 0 1.445 +176 46 0.79 1.445 +193 14 0.895 1.445 +200 212 0.18 1.445 +218 249 0.26 1.445 +17 29 0 1.45 +52 77 0 1.45 +116 164 0 1.45 +130 148 0.445 1.45 +210 232 0 1.45 +213 2 0 1.45 +222 46 0.635 1.45 +4 84 0 1.455 +50 9 0.725 1.455 +74 124 0 1.455 +104 119 0 1.455 +106 170 0 1.455 +119 162 0 1.455 +147 200 0 1.455 +177 166 0.95 1.455 +177 168 0 1.455 +180 135 0.94 1.455 +190 144 0 1.455 +193 238 0.52 1.455 +214 227 0 1.455 +232 39 0 1.455 +252 202 0 1.455 +32 42 0 1.46 +88 108 0.465 1.46 +106 123 0 1.46 +113 161 0.675 1.46 +129 95 0 1.46 +159 205 0 1.46 +178 68 0 1.46 +212 216 0 1.46 +12 31 0.445 1.465 +49 207 0 1.465 +103 119 0 1.465 +105 185 0 1.465 +109 98 0.47 1.465 +205 195 0.885 1.465 +207 52 0 1.465 +78 145 0 1.47 +80 92 0 1.47 +106 169 0 1.47 +129 149 0.915 1.47 +133 245 0.84 1.47 +151 200 0 1.47 +180 195 0.75 1.47 +237 225 0 1.47 +241 239 0 1.47 +11 91 0 1.475 +16 3 0.9 1.475 +75 71 0 1.475 +83 161 0 1.475 +97 161 0.945 1.475 +120 68 0 1.475 +126 115 0 1.475 +134 186 0.27 1.475 +137 192 0.665 1.475 +177 238 0 1.475 +185 233 0 1.475 +185 144 0.885 1.475 +218 170 0.26 1.475 +242 49 0 1.475 +243 57 0.885 1.475 +254 144 0 1.475 +11 23 0.59 1.48 +13 74 0 1.48 +27 80 0 1.48 +37 104 0.895 1.48 +49 56 0 1.48 +99 152 0 1.48 +146 173 0.26 1.48 +154 189 0.595 1.48 +185 192 0.75 1.48 +194 53 0.97 1.48 +213 21 0 1.48 +215 236 0.24 1.48 +243 3 0.75 1.48 +11 31 0.465 1.485 +75 182 0 1.485 +140 214 0 1.485 +185 128 0 1.485 +79 96 0.875 1.49 +80 84 0.75 1.49 +103 233 0.395 1.49 +120 180 0 1.49 +137 141 0 1.49 +143 250 0.57 1.49 +156 170 0 1.49 +160 170 0.435 1.49 +205 16 0.97 1.49 +208 27 0 1.49 +241 46 0 1.49 +253 228 0 1.49 +256 202 0 1.49 +13 77 0 1.495 +23 73 0 1.495 +31 77 0 1.495 +77 95 0 1.495 +107 233 0.245 1.495 +125 98 0.83 1.495 +133 198 0 1.495 +156 230 0 1.495 +163 212 0 1.495 +171 175 0 1.495 +174 218 0.785 1.495 +193 245 0.755 1.495 +210 228 0 1.495 +34 118 0.96 1.5 +52 16 0.97 1.5 +79 144 0 1.5 +93 84 0 1.5 +103 170 0 1.5 +104 121 0 1.5 +120 136 0.56 1.5 +133 186 0.5 1.5 +138 221 0.67 1.5 +155 171 0 1.5 +231 40 0.38 1.5 +243 56 0 1.5 +247 9 0.54 1.5 +255 16 0.97 1.5 +5 9 0 1.505 +64 124 0.63 1.505 +69 73 0 1.505 +85 145 0.905 1.505 +85 150 0 1.505 +90 110 0 1.505 +103 112 0.575 1.505 +130 180 0 1.505 +168 170 0.99 1.505 +178 226 0.98 1.505 +180 196 0.965 1.505 +191 245 0.785 1.505 +196 255 0.27 1.505 +205 132 0 1.505 +205 14 0 1.505 +222 29 0 1.505 +229 34 0 1.505 +46 98 0.395 1.51 +57 5 0.84 1.51 +64 76 0.765 1.51 +78 67 0 1.51 +78 141 0 1.51 +133 168 0.91 1.51 +161 229 0 1.51 +185 230 0 1.51 +187 180 1 1.51 +208 26 0 1.51 +217 230 0.17 1.51 +6 69 0.64 1.515 +12 29 0 1.515 +25 45 0.39 1.515 +47 51 1.005 1.515 +111 163 0.84 1.515 +128 141 0 1.515 +131 246 0 1.515 +149 198 0 1.515 +154 110 0.85 1.515 +162 172 0.415 1.515 +200 229 0.865 1.515 +204 5 0.625 1.515 +204 21 0 1.515 +207 4 0 1.515 +214 200 0 1.515 +220 39 0.865 1.515 +229 18 0 1.515 +231 54 0.495 1.515 +27 87 0 1.52 +52 68 0.16 1.52 +90 150 0 1.52 +102 71 0.575 1.52 +108 230 0.665 1.52 +133 197 0 1.52 +134 138 0 1.52 +172 186 0.595 1.52 +215 24 0 1.52 +32 44 0 1.525 +34 5 0.965 1.525 +46 53 0.09 1.525 +47 127 0.695 1.525 +91 79 0.865 1.525 +101 106 0.24 1.525 +104 120 0 1.525 +174 235 0.96 1.525 +216 235 1.025 1.525 +41 249 0.875 1.53 +99 102 1.005 1.53 +116 145 1.015 1.53 +134 139 0 1.53 +173 163 0.125 1.53 +176 241 0 1.53 +253 193 0.695 1.53 +28 42 0 1.535 +52 117 0 1.535 +93 158 0 1.535 +116 95 0.905 1.535 +134 91 0 1.535 +138 139 0 1.535 +139 136 0.315 1.535 +155 224 0 1.535 +167 215 0 1.535 +171 239 0.9 1.535 +190 238 0 1.535 +205 221 0 1.535 +212 229 0 1.535 +227 40 0 1.535 +254 53 0.885 1.535 +44 47 0.74 1.54 +67 95 0 1.54 +87 80 0.495 1.54 +163 176 0.285 1.54 +181 245 0 1.54 +184 186 0.66 1.54 +37 117 0.335 1.545 +71 186 0 1.545 +126 95 0.615 1.545 +137 157 0 1.545 +154 148 0.39 1.545 +193 2 0 1.545 +224 225 0 1.545 +241 53 0 1.545 +11 93 0 1.55 +12 21 0 1.55 +18 40 0 1.55 +49 245 0.61 1.55 +93 79 0 1.55 +120 135 0.68 1.55 +128 68 0.41 1.55 +140 246 0 1.55 +157 198 0.8 1.55 +183 235 0.67 1.55 +185 250 0 1.55 +212 24 0.54 1.55 +214 211 0 1.55 +12 27 0 1.555 +46 1 0.395 1.555 +80 160 0.955 1.555 +137 80 0 1.555 +163 245 0 1.555 +177 117 0 1.555 +106 110 0 1.56 +126 143 1.05 1.56 +152 200 0 1.56 +187 238 0 1.56 +204 27 0 1.56 +253 141 0.76 1.56 +56 14 0.985 1.565 +73 72 0 1.565 +73 134 1.05 1.565 +104 161 0 1.565 +119 172 0 1.565 +143 238 1.045 1.565 +183 186 0.325 1.565 +204 8 0.725 1.565 +215 230 1.05 1.565 +215 29 0.615 1.565 +239 243 0 1.565 +256 57 0 1.565 +10 95 0.985 1.57 +14 95 0.475 1.57 +64 79 0 1.57 +80 154 0 1.57 +86 108 0 1.57 +128 143 0.76 1.57 +134 197 0 1.57 +187 255 0.105 1.57 +195 212 0.49 1.57 +241 1 0 1.57 +19 35 0 1.575 +46 51 0 1.575 +87 186 0.92 1.575 +109 169 0.95 1.575 +115 128 0.36 1.575 +118 23 1.07 1.575 +145 131 0 1.575 +156 224 0 1.575 +207 16 0 1.575 +214 232 0 1.575 +31 3 0.945 1.58 +36 127 0 1.58 +64 74 0 1.58 +65 145 0 1.58 +106 119 0 1.58 +177 242 0.89 1.58 +239 32 0.98 1.58 +17 10 0.4 1.585 +32 36 0.85 1.585 +41 34 0.925 1.585 +51 126 0 1.585 +92 218 0.135 1.585 +155 233 1.08 1.585 +177 253 0.93 1.585 +194 248 0.655 1.585 +215 224 0.775 1.585 +217 224 0 1.585 +227 243 0 1.585 +241 195 0 1.585 +1 54 0.295 1.59 +30 110 0 1.59 +31 65 1.01 1.59 +38 43 0.38 1.59 +39 60 0.725 1.59 +124 79 0.64 1.59 +127 115 0 1.59 +128 67 1.08 1.59 +134 214 0 1.59 +136 50 1.025 1.59 +139 200 0.935 1.59 +170 144 0.965 1.59 +181 170 0.97 1.59 +222 234 0 1.59 +229 33 0 1.59 +236 240 0 1.59 +241 61 0.775 1.59 +5 72 0.74 1.595 +29 33 0 1.595 +31 80 0 1.595 +38 59 0 1.595 +63 115 0.355 1.595 +66 84 0 1.595 +97 127 0 1.595 +118 72 0 1.595 +118 87 1.025 1.595 +138 202 0 1.595 +155 208 0 1.595 +177 143 0.925 1.595 +179 229 1.005 1.595 +180 50 0.85 1.595 +188 256 0.375 1.595 +193 5 0.865 1.595 +195 31 1.035 1.595 +241 34 0 1.595 +243 35 0.64 1.595 +7 67 0.97 1.6 +28 109 1.075 1.6 +48 98 1.09 1.6 +60 102 0 1.6 +78 157 0.53 1.6 +114 78 0 1.6 +155 237 0 1.6 +160 234 0 1.6 +174 175 0 1.6 +179 248 0 1.6 +183 57 0.645 1.6 +11 70 0 1.605 +16 75 0 1.605 +63 189 0.725 1.605 +65 72 0 1.605 +107 160 0 1.605 +116 191 0 1.605 +163 179 0 1.605 +214 41 0 1.605 +223 32 0 1.605 +253 206 0.745 1.605 +17 30 0 1.61 +17 33 0 1.61 +26 46 0 1.61 +43 96 0 1.61 +43 121 0 1.61 +46 110 0 1.61 +62 77 0 1.61 +96 148 0.61 1.61 +104 127 1.03 1.61 +147 167 0 1.61 +164 129 0.675 1.61 +177 175 0 1.61 +191 193 0 1.61 +212 35 0 1.61 +226 50 0 1.61 +15 56 0.98 1.615 +26 61 0.07 1.615 +56 178 0.38 1.615 +74 137 0 1.615 +188 203 0 1.615 +213 201 0 1.615 +241 189 0.62 1.615 +32 110 0 1.62 +49 40 0 1.62 +79 191 0 1.62 +86 165 0 1.62 +89 169 0.945 1.62 +93 157 0 1.62 +95 160 1.12 1.62 +113 189 0 1.62 +114 14 0.96 1.62 +152 162 0 1.62 +158 218 0.585 1.62 +207 200 0.94 1.62 +234 175 0 1.62 +15 67 0.985 1.625 +93 76 0.215 1.625 +107 157 0 1.625 +125 75 0.745 1.625 +132 195 0 1.625 +154 159 0 1.625 +190 77 0 1.625 +193 1 0 1.625 +211 228 0.825 1.625 +215 208 0.495 1.625 +215 235 0.325 1.625 +10 94 0.395 1.63 +19 99 0 1.63 +111 113 0.605 1.63 +115 164 0 1.63 +125 189 0 1.63 +136 17 1.1 1.63 +153 158 0.51 1.63 +170 230 0.17 1.63 +234 218 0 1.63 +247 39 0.845 1.63 +253 244 0 1.63 +31 95 0 1.635 +37 53 0 1.635 +49 50 0 1.635 +74 71 0 1.635 +85 146 0 1.635 +116 141 1.055 1.635 +122 71 0.58 1.635 +152 232 0.39 1.635 +204 41 0.13 1.635 +217 235 0 1.635 +54 104 1.01 1.64 +156 235 0 1.64 +177 163 0 1.64 +185 75 0 1.64 +234 220 0 1.64 +241 143 0.845 1.64 +1 31 1 1.645 +63 77 0 1.645 +98 161 0 1.645 +103 168 0 1.645 +118 67 0 1.645 +119 75 0 1.645 +126 76 1.1 1.645 +154 234 0 1.645 +163 127 0.94 1.645 +176 218 0 1.645 +191 179 0 1.645 +9 71 0.77 1.65 +18 39 0.655 1.65 +46 32 0 1.65 +59 16 0.985 1.65 +123 249 0.21 1.65 +135 150 1.005 1.65 +136 200 0 1.65 +176 226 0.815 1.65 +220 42 0 1.65 +229 21 0.17 1.65 +248 42 0.965 1.65 +32 18 1.05 1.655 +62 110 0 1.655 +82 110 0.265 1.655 +84 209 1.12 1.655 +92 140 0 1.655 +151 233 0 1.655 +153 221 0.62 1.655 +174 164 0 1.655 +178 245 0 1.655 +241 240 0.89 1.655 +53 117 0 1.66 +66 146 0.66 1.66 +100 229 1.11 1.66 +138 159 0 1.66 +217 171 0 1.66 +227 39 0.92 1.66 +228 40 0.36 1.66 +32 33 0 1.665 +37 86 0 1.665 +52 67 0.82 1.665 +72 91 0.975 1.665 +81 100 0.695 1.665 +101 181 0 1.665 +207 31 0.46 1.665 +207 3 0 1.665 +228 54 0.64 1.665 +234 26 0.56 1.665 +241 253 0 1.665 +254 184 0.995 1.665 +15 10 0 1.67 +26 59 0.05 1.67 +49 54 0.145 1.67 +57 119 0.85 1.67 +59 75 0 1.67 +60 112 1.12 1.67 +77 192 0.83 1.67 +224 41 1.035 1.67 +247 45 1.095 1.67 +4 99 0.87 1.675 +27 20 0.97 1.675 +70 124 0 1.675 +102 168 0.93 1.675 +123 191 0 1.675 +154 221 0 1.675 +179 232 0 1.675 +191 143 0 1.675 +229 248 0.33 1.675 +236 105 0.925 1.675 +242 228 1.14 1.675 +63 78 0.65 1.68 +75 137 0 1.68 +122 137 0.54 1.68 +130 150 0.74 1.68 +148 176 0 1.68 +149 100 1.01 1.68 +156 172 0 1.68 +26 240 0 1.685 +34 117 0 1.685 +74 122 0 1.685 +79 127 1.12 1.685 +80 94 0 1.685 +84 160 0.725 1.685 +96 169 0 1.685 +107 189 0 1.685 +117 69 0 1.685 +120 166 0 1.685 +128 138 0 1.685 +137 144 0 1.685 +15 79 0 1.69 +45 41 0 1.69 +49 110 0 1.69 +142 209 0 1.69 +150 218 0.93 1.69 +162 232 0.965 1.69 +188 197 0.94 1.69 +191 244 0 1.69 +210 167 0 1.69 +210 226 0 1.69 +247 58 0 1.69 +12 72 0.65 1.695 +31 2 0 1.695 +37 55 0 1.695 +45 57 1.1 1.695 +45 109 0 1.695 +66 116 0.97 1.695 +68 146 0 1.695 +74 79 0 1.695 +116 77 0 1.695 +173 209 0.305 1.695 +211 239 1.175 1.695 +215 12 0 1.695 +254 50 0 1.695 +255 63 0 1.695 +10 4 1.065 1.7 +89 134 0 1.7 +109 161 0 1.7 +157 148 0.405 1.7 +171 236 1.065 1.7 +178 191 0 1.7 +183 248 0 1.7 +216 228 1.085 1.7 +3 18 0.495 1.705 +15 66 0.96 1.705 +26 48 0 1.705 +31 15 0 1.705 +89 150 0 1.705 +93 138 0 1.705 +93 145 1.095 1.705 +120 129 0.7 1.705 +183 144 0.805 1.705 +193 13 1.015 1.705 +196 219 1.125 1.705 +199 69 0.18 1.705 +10 80 0.555 1.71 +23 101 0 1.71 +84 149 0 1.71 +106 73 0.595 1.71 +174 192 0.715 1.71 +233 41 0 1.71 +14 8 0.155 1.715 +17 16 0 1.715 +26 47 0 1.715 +27 94 0 1.715 +93 27 0 1.715 +121 189 0 1.715 +136 209 0 1.715 +175 255 1.21 1.715 +211 31 0.86 1.715 +222 226 0.66 1.715 +238 58 1.11 1.715 +241 49 0 1.715 +18 98 0 1.72 +83 163 0 1.72 +134 198 0 1.72 +141 209 1.13 1.72 +254 194 0.135 1.72 +21 39 0.665 1.725 +23 39 0 1.725 +27 48 1.145 1.725 +68 192 0.745 1.725 +148 127 0.905 1.725 +174 75 1.2 1.725 +196 224 0.56 1.725 +208 30 0 1.725 +213 209 1.22 1.725 +242 200 0 1.725 +242 199 0 1.725 +17 224 0 1.73 +62 114 0.85 1.73 +63 121 0.44 1.73 +71 91 0 1.73 +109 99 0.62 1.73 +123 183 1.125 1.73 +168 131 0.885 1.73 +170 235 0.115 1.73 +177 176 0 1.73 +178 168 0 1.73 +184 232 0.92 1.73 +185 189 0 1.73 +190 161 0.73 1.73 +57 105 0.795 1.735 +68 193 0.555 1.735 +71 77 0.88 1.735 +112 77 0.305 1.735 +139 192 0 1.735 +191 129 0 1.735 +210 165 0 1.735 +237 249 0 1.735 +252 12 0 1.735 +1 69 0.24 1.74 +4 145 0.47 1.74 +10 47 0.985 1.74 +11 71 0 1.74 +13 126 0 1.74 +14 69 0.88 1.74 +15 69 0.895 1.74 +27 76 0 1.74 +40 52 0 1.74 +102 178 0.535 1.74 +138 158 0 1.74 +178 194 0.645 1.74 +252 73 0.7 1.74 +6 53 0.855 1.745 +16 27 0 1.745 +26 239 0.525 1.745 +27 96 0 1.745 +59 110 0 1.745 +113 79 0 1.745 +114 110 1.155 1.745 +153 206 0.845 1.745 +155 196 0.715 1.745 +189 249 0.995 1.745 +225 30 0 1.745 +227 101 1.015 1.745 +13 10 0 1.75 +26 90 0 1.75 +66 94 0.21 1.75 +83 151 0 1.75 +84 152 0 1.75 +89 101 0.935 1.75 +100 102 0.61 1.75 +137 77 0.925 1.75 +196 203 0.615 1.75 +196 202 0.68 1.75 +238 13 1.11 1.75 +5 15 0.995 1.755 +6 3 0.5 1.755 +18 88 1.24 1.755 +106 11 1.255 1.755 +111 175 0 1.755 +112 113 1.045 1.755 +144 196 0.705 1.755 +195 7 1.105 1.755 +212 10 1.24 1.755 +224 33 0 1.755 +229 243 0 1.755 +248 6 0.7 1.755 +49 98 0 1.76 +66 132 1.165 1.76 +80 90 0 1.76 +89 44 1.08 1.76 +121 169 0 1.76 +126 69 0.845 1.76 +135 6 0.295 1.76 +161 162 0 1.76 +225 243 0 1.76 +234 239 0 1.76 +78 128 0 1.765 +93 126 1.125 1.765 +102 179 1.015 1.765 +111 189 0 1.765 +124 172 0.225 1.765 +213 231 0 1.765 +28 107 0 1.77 +127 129 1.19 1.77 +234 238 0 1.77 +1 63 0 1.775 +49 114 0 1.775 +60 124 0 1.775 +71 138 0 1.775 +84 132 0.845 1.775 +145 160 0.68 1.775 +185 71 0 1.775 +196 160 0.915 1.775 +53 7 0 1.78 +100 147 1.14 1.78 +107 158 0 1.78 +111 148 0 1.78 +118 3 0 1.78 +138 154 0 1.78 +140 203 0 1.78 +162 229 0 1.78 +183 251 0.54 1.78 +202 26 0.955 1.78 +210 231 0 1.78 +219 20 1.145 1.78 +34 55 1.015 1.785 +37 99 0.945 1.785 +53 118 0 1.785 +75 206 1.255 1.785 +92 165 1.005 1.785 +100 173 0 1.785 +142 136 1.13 1.785 +180 194 0.255 1.785 +185 249 0 1.785 +198 220 0 1.785 +215 206 0.94 1.785 +219 236 0.235 1.785 +219 43 0 1.785 +28 55 1.035 1.79 +101 110 1.28 1.79 +111 177 0 1.79 +113 129 1.115 1.79 +157 196 1.255 1.79 +160 175 0 1.79 +198 221 0.505 1.79 +204 70 0.86 1.79 +208 64 0 1.79 +216 226 0 1.79 +63 123 0.805 1.795 +66 142 1.09 1.795 +124 166 0.965 1.795 +155 223 0.355 1.795 +167 170 0 1.795 +202 29 0.81 1.795 +254 195 0 1.795 +10 19 1.055 1.8 +46 125 0 1.8 +62 128 0.385 1.8 +64 12 0 1.8 +83 165 0 1.8 +121 172 0.47 1.8 +149 229 0 1.8 +158 206 0.515 1.8 +109 121 1.025 1.805 +133 139 0.035 1.805 +180 136 0.83 1.805 +188 247 0.4 1.805 +201 12 0.065 1.805 +64 3 1.22 1.81 +68 136 0.305 1.81 +115 129 0.7 1.81 +139 151 0 1.81 +160 209 0 1.81 +13 65 1.13 1.815 +25 38 1.14 1.815 +28 40 0.4 1.815 +51 15 0.815 1.815 +81 146 0 1.815 +89 80 0 1.815 +123 143 0.63 1.815 +160 148 0 1.815 +233 247 0 1.815 +247 250 0 1.815 +51 67 0.94 1.82 +117 67 0 1.82 +119 170 0.96 1.82 +161 241 0.305 1.82 +207 221 1.085 1.82 +245 54 0 1.82 +5 65 0 1.825 +10 20 0.81 1.825 +36 109 0 1.825 +144 223 0.72 1.825 +199 2 0 1.825 +231 23 1.215 1.825 +4 96 0.72 1.83 +35 102 0 1.83 +134 217 1.045 1.83 +249 240 0 1.83 +14 21 0.925 1.835 +37 245 0 1.835 +45 255 1.21 1.835 +108 128 1.33 1.835 +222 17 0 1.835 +244 54 0.71 1.835 +56 181 1.065 1.84 +81 98 0.64 1.84 +119 72 0.695 1.84 +161 165 0 1.84 +216 236 0.535 1.84 +252 208 0.34 1.84 +2 7 0 1.845 +34 3 1.005 1.845 +43 60 1.31 1.845 +70 138 0 1.845 +73 128 1.24 1.845 +91 68 1.255 1.845 +100 176 1.135 1.845 +130 194 0 1.845 +183 194 0.835 1.845 +61 244 0 1.85 +81 110 0.73 1.85 +96 99 0.89 1.85 +141 223 1.135 1.85 +170 249 0 1.85 +200 231 1.205 1.85 +208 20 1 1.85 +49 125 1.29 1.855 +68 143 0 1.855 +103 121 0 1.855 +110 162 1.28 1.855 +114 7 0 1.855 +124 128 0 1.855 +125 96 1 1.855 +138 206 0.73 1.855 +149 140 1.205 1.855 +165 216 1.16 1.855 +204 74 0.755 1.855 +211 6 0 1.855 +4 79 0 1.86 +33 40 0 1.86 +106 128 0 1.86 +122 192 0.78 1.86 +142 221 0.805 1.86 +183 197 0 1.86 +211 231 0.11 1.86 +6 54 0.695 1.865 +19 29 1.055 1.865 +46 58 1.035 1.865 +78 76 0.81 1.865 +124 189 0.96 1.865 +139 206 0 1.865 +141 193 1.025 1.865 +145 141 0 1.865 +183 252 0 1.865 +227 97 0.555 1.865 +228 244 0 1.865 +240 58 0.425 1.865 +246 118 1.3 1.865 +5 14 0.165 1.87 +22 12 0 1.87 +51 110 0 1.87 +74 75 0 1.87 +94 112 1.35 1.87 +110 104 1.115 1.87 +120 130 0 1.87 +181 164 0 1.87 +214 236 0 1.87 +215 231 0 1.87 +241 225 0 1.87 +46 52 0 1.875 +134 150 0 1.875 +141 203 0.79 1.875 +145 129 0 1.875 +236 28 0.265 1.875 +237 206 1.355 1.875 +242 232 0 1.875 +244 51 0.835 1.875 +13 48 0.975 1.88 +47 174 1.34 1.88 +50 7 0 1.88 +72 135 0 1.88 +112 192 0 1.88 +147 161 0 1.88 +156 206 1.18 1.88 +246 256 1.285 1.88 +6 85 1.275 1.885 +17 20 0 1.885 +39 150 1.245 1.885 +94 146 0.93 1.885 +96 171 0 1.885 +151 197 0 1.885 +173 164 0 1.885 +180 184 0 1.885 +187 246 0 1.885 +213 50 1.11 1.885 +235 38 0.47 1.885 +40 53 0 1.89 +123 253 0.965 1.89 +142 193 0 1.89 +181 69 1.225 1.89 +186 253 0 1.89 +242 139 0.9 1.89 +246 38 0.55 1.89 +252 13 0 1.89 +254 203 0 1.89 +22 7 1.115 1.895 +24 89 0 1.895 +60 70 0 1.895 +109 171 0.06 1.895 +113 181 1.16 1.895 +124 183 1.125 1.895 +143 194 1.2 1.895 +167 179 0 1.895 +183 187 0 1.895 +183 201 0.64 1.895 +190 68 0 1.895 +219 212 1.36 1.895 +228 52 0 1.895 +245 38 0 1.895 +247 118 1.275 1.895 +70 130 0 1.9 +94 91 0 1.9 +153 80 0 1.9 +225 20 0.815 1.9 +237 209 0.54 1.9 +247 40 1.305 1.9 +5 52 0 1.905 +23 18 0 1.905 +61 207 0 1.905 +80 145 0 1.905 +82 103 0 1.905 +90 171 0.1 1.905 +94 101 1.385 1.905 +110 115 0 1.905 +131 139 0.805 1.905 +138 198 0.625 1.905 +219 41 0 1.905 +233 188 0.425 1.905 +238 30 0.84 1.905 +249 253 0 1.905 +4 97 0.28 1.91 +25 105 0 1.91 +37 54 0.11 1.91 +56 73 0 1.91 +68 129 0 1.91 +99 127 0.615 1.91 +154 217 0 1.91 +179 230 0 1.91 +204 26 0 1.91 +249 61 0 1.91 +254 251 1.34 1.91 +3 85 1.165 1.915 +3 130 1.125 1.915 +47 107 1.26 1.915 +55 124 0 1.915 +57 53 0 1.915 +91 107 0 1.915 +166 184 0.69 1.915 +194 243 0.705 1.915 +220 38 0 1.915 +238 248 1.355 1.915 +32 80 0.72 1.92 +50 211 1.045 1.92 +56 72 0.67 1.92 +67 182 1.245 1.92 +75 76 0 1.92 +100 152 0.635 1.92 +172 189 0 1.92 +185 131 1.31 1.92 +187 61 0.5 1.92 +216 232 0 1.92 +239 227 1.215 1.92 +252 43 1.335 1.92 +255 208 0.985 1.92 +51 178 0.065 1.925 +62 60 0.78 1.925 +66 145 0 1.925 +111 164 0.84 1.925 +166 249 0 1.925 +200 9 1.26 1.925 +230 248 0 1.925 +255 5 1.085 1.925 +12 85 0 1.93 +27 91 0 1.93 +35 110 0 1.93 +51 181 0.95 1.93 +87 157 0.105 1.93 +110 146 1.205 1.93 +148 238 1.395 1.93 +153 142 0.8 1.93 +158 171 0 1.93 +175 224 0 1.93 +185 168 0 1.93 +8 130 1 1.935 +41 43 0 1.935 +66 35 1.38 1.935 +182 50 1.16 1.935 +194 209 1.135 1.935 +210 222 0 1.935 +220 247 0.055 1.935 +243 54 0 1.935 +20 125 1.275 1.94 +47 112 1.255 1.94 +81 88 0 1.94 +87 77 1.275 1.94 +108 179 1.13 1.94 +166 152 0 1.94 +190 193 0 1.94 +226 38 1.39 1.94 +27 47 0 1.945 +74 87 0 1.945 +81 109 0.205 1.945 +108 189 0 1.945 +162 175 0 1.945 +222 238 0 1.945 +91 103 1.35 1.95 +118 69 0 1.95 +124 108 0 1.95 +138 151 0 1.95 +144 207 0 1.95 +183 198 1.155 1.95 +46 63 0 1.955 +52 54 0.71 1.955 +56 67 0 1.955 +62 208 0.955 1.955 +63 99 1.355 1.955 +114 130 0 1.955 +142 146 1.065 1.955 +33 110 0 1.96 +47 96 0 1.96 +90 160 0.585 1.96 +94 113 1.415 1.96 +140 206 0.515 1.96 +147 165 0 1.96 +166 139 1.41 1.96 +17 216 0 1.965 +119 67 0 1.965 +130 86 1.35 1.965 +151 186 1.235 1.965 +173 189 0 1.965 +25 43 0 1.97 +37 57 0.36 1.97 +76 141 0.31 1.97 +130 213 0 1.97 +132 146 0 1.97 +134 184 0 1.97 +138 217 0 1.97 +158 156 0.45 1.97 +185 167 0 1.97 +228 97 0.585 1.97 +12 86 1.365 1.975 +69 145 0.915 1.975 +83 152 0 1.975 +87 138 0 1.975 +111 146 0 1.975 +161 224 1.38 1.975 +220 24 0.625 1.975 +226 244 0 1.975 +76 80 0 1.98 +100 167 0.76 1.98 +110 164 1.23 1.98 +129 184 0 1.98 +218 240 0 1.98 +220 249 0.035 1.98 +249 38 0 1.98 +93 33 1.35 1.985 +107 150 0 1.985 +111 98 0.575 1.985 +114 129 0 1.985 +142 99 1.335 1.985 +167 188 1.375 1.985 +5 85 1.39 1.99 +25 236 0.245 1.99 +45 36 0 1.99 +47 58 1.245 1.99 +50 8 0 1.99 +102 124 0 1.99 +104 152 0.865 1.99 +131 197 0 1.99 +146 209 0 1.99 +159 152 1.13 1.99 +159 163 0.975 1.99 +213 146 0 1.99 +220 45 0 1.99 +236 24 0.88 1.99 +42 105 0 1.995 +112 169 0 1.995 +135 50 0.77 1.995 +142 156 0.91 1.995 +166 229 0 1.995 +181 167 0 1.995 +213 6 0 1.995 +122 189 0 2 +214 221 1.47 2 +26 105 0 2.005 +117 122 1.455 2.005 +130 137 0.945 2.005 +174 100 1.165 2.005 +210 239 0 2.005 +218 30 0 2.005 +4 94 0 2.01 +22 232 1.4 2.01 +30 106 1.355 2.01 +66 97 0.805 2.01 +87 155 0 2.01 +102 167 0.195 2.01 +129 135 0.9 2.01 +168 188 0.44 2.01 +183 243 1.42 2.01 +183 250 0 2.01 +17 8 0 2.015 +134 140 0 2.015 +151 202 0 2.015 +184 187 1.48 2.015 +195 248 0 2.015 +207 15 0 2.015 +31 33 0 2.02 +53 8 0.9 2.02 +202 216 1.335 2.02 +205 193 0 2.02 +224 47 0 2.02 +13 219 0 2.025 +30 63 1.385 2.025 +74 153 0 2.025 +227 236 0.925 2.025 +229 249 1.41 2.025 +21 38 1.49 2.03 +32 142 1.525 2.03 +87 182 0.91 2.03 +104 168 0 2.03 +132 157 1.41 2.03 +154 84 0.29 2.03 +163 239 0.27 2.03 +181 73 1.01 2.03 +202 22 0.89 2.03 +202 10 0 2.03 +214 25 0 2.03 +2 83 1.48 2.035 +6 216 0 2.035 +65 132 1.205 2.035 +72 153 0 2.035 +87 217 0.585 2.035 +136 215 1.355 2.035 +4 85 0 2.04 +22 38 0 2.04 +28 91 0 2.04 +37 81 1.46 2.04 +57 43 0 2.04 +100 168 0 2.04 +121 187 1.525 2.04 +131 50 0.07 2.04 +254 141 0 2.04 +48 34 1.3 2.045 +100 179 0.38 2.045 +188 230 0.415 2.045 +222 163 0 2.045 +224 20 0.785 2.045 +240 29 0.46 2.045 +59 174 1.32 2.05 +134 124 0 2.05 +135 202 0 2.05 +142 154 0 2.05 +158 163 0.86 2.05 +171 221 0 2.05 +184 151 1.205 2.05 +247 251 0 2.05 +255 248 1.355 2.05 +46 94 1.105 2.055 +88 213 1.445 2.055 +92 104 1.38 2.055 +164 242 0 2.055 +164 239 0 2.055 +204 216 0 2.055 +215 8 1.48 2.055 +240 43 0.73 2.055 +250 199 0 2.055 +19 97 0 2.06 +121 140 1.485 2.06 +137 86 1.52 2.06 +149 217 1.155 2.06 +161 225 0 2.06 +218 236 0 2.06 +25 235 0 2.065 +42 107 1.545 2.065 +87 90 0 2.065 +94 18 0.31 2.065 +105 117 1.14 2.065 +112 172 0 2.065 +118 77 1.405 2.065 +187 198 1.4 2.065 +222 146 0.46 2.065 +226 239 0 2.065 +226 253 1.005 2.065 +20 110 0 2.07 +62 122 0 2.07 +66 149 0 2.07 +166 230 0 2.07 +217 229 1.52 2.07 +241 194 0.515 2.07 +18 68 1.535 2.075 +52 248 1.325 2.075 +69 129 0.8 2.075 +114 180 1.385 2.075 +133 194 0 2.075 +145 173 1.375 2.075 +153 90 0 2.075 +164 253 0 2.075 +203 197 1.51 2.075 +224 93 1.5 2.075 +228 51 0 2.075 +28 43 0 2.08 +31 18 0 2.08 +49 58 1.095 2.08 +59 124 0.605 2.08 +75 157 0 2.08 +119 151 1.525 2.08 +133 149 0 2.08 +145 143 0 2.08 +148 17 1.515 2.08 +159 146 0.39 2.08 +230 250 1.21 2.08 +233 25 1.4 2.08 +246 53 0.72 2.08 +38 42 0 2.085 +39 115 1.4 2.085 +75 153 0 2.085 +102 133 0.905 2.085 +180 244 0 2.085 +87 140 0 2.09 +123 116 0.165 2.09 +126 189 0 2.09 +245 255 1.09 2.09 +17 239 0 2.095 +37 97 0.545 2.095 +46 97 0 2.095 +72 150 0 2.095 +91 109 0 2.095 +115 121 1.33 2.095 +168 175 1.305 2.095 +195 6 0 2.095 +197 202 0.555 2.095 +227 46 0 2.095 +17 227 0 2.1 +32 68 1.49 2.1 +65 129 0 2.1 +72 103 1.425 2.1 +123 250 0.285 2.1 +148 227 1.57 2.1 +228 48 0.96 2.1 +19 94 0 2.105 +28 106 0 2.105 +64 190 1.37 2.105 +68 157 0.92 2.105 +85 97 0.55 2.105 +88 148 1.055 2.105 +99 152 1.595 2.105 +139 230 1.545 2.105 +252 16 1.16 2.105 +4 130 0.75 2.11 +35 44 1.5 2.11 +75 144 0 2.11 +76 149 1.565 2.11 +93 111 0 2.11 +101 169 1.495 2.11 +146 216 1.205 2.11 +166 214 0 2.11 +166 226 0 2.11 +191 207 1.46 2.11 +191 242 0 2.11 +212 94 1.39 2.11 +218 10 1.45 2.11 +224 209 0.275 2.11 +224 212 0 2.11 +231 25 0 2.11 +102 188 1.34 2.115 +123 205 1.34 2.115 +138 92 0 2.115 +189 141 0 2.115 +203 10 0 2.115 +206 224 0 2.115 +212 48 1.4 2.115 +217 237 0 2.115 +2 15 0 2.12 +23 74 0 2.12 +35 57 1.56 2.12 +39 42 0 2.12 +72 132 1.25 2.12 +143 256 0.63 2.12 +154 172 0.625 2.12 +198 206 0.77 2.12 +208 77 0.935 2.12 +212 29 0 2.12 +227 81 1.29 2.12 +20 98 0 2.125 +93 91 0 2.125 +102 73 0.62 2.125 +144 157 0 2.125 +151 157 0.255 2.125 +160 176 0 2.125 +175 227 1.5 2.125 +9 70 0.4 2.13 +57 11 0 2.13 +70 77 1.045 2.13 +93 89 0 2.13 +95 98 1.57 2.13 +106 92 1.495 2.13 +123 79 0 2.13 +138 182 0 2.13 +164 179 0 2.13 +228 253 1.58 2.13 +42 54 1.3 2.135 +66 99 0.635 2.135 +73 87 0 2.135 +95 132 0 2.135 +142 206 0 2.135 +147 229 0 2.135 +154 127 0.39 2.135 +195 199 0 2.135 +224 48 1.02 2.135 +238 1 0.71 2.135 +44 117 1.39 2.14 +51 102 0 2.14 +71 140 0 2.14 +159 17 0.29 2.14 +199 11 0 2.14 +212 97 0.585 2.14 +26 221 0 2.145 +109 157 0.75 2.145 +131 244 0 2.145 +147 17 0.955 2.145 +18 95 1.28 2.15 +27 57 1.515 2.15 +66 86 0.6 2.15 +106 101 1.545 2.15 +158 109 0 2.15 +166 234 1.395 2.15 +191 256 0 2.15 +195 53 0 2.15 +218 231 1.46 2.15 +225 34 0 2.15 +239 18 0 2.15 +246 195 0.605 2.15 +102 182 0 2.155 +126 129 0.725 2.155 +62 16 0 2.16 +79 145 0 2.16 +102 172 0.155 2.16 +125 154 0.555 2.16 +132 222 0 2.16 +154 167 1.17 2.16 +162 102 0.295 2.16 +178 185 1.19 2.16 +178 184 0 2.16 +245 53 0 2.16 +13 31 0 2.165 +39 118 0.375 2.165 +90 108 0 2.165 +123 189 0 2.165 +123 141 0 2.165 +135 246 0 2.165 +190 242 0.755 2.165 +192 193 0 2.165 +221 10 0 2.165 +5 22 1.09 2.17 +58 7 1.62 2.17 +91 79 1.59 2.17 +91 214 1.575 2.17 +93 97 0 2.17 +148 229 0.85 2.17 +175 18 1.62 2.17 +177 166 1.62 2.17 +201 13 0 2.17 +210 146 0 2.17 +226 179 0 2.17 +66 88 0 2.175 +78 130 1.115 2.175 +108 214 1.165 2.175 +108 156 0 2.175 +147 214 0 2.175 +154 166 1.485 2.175 +166 180 1.57 2.175 +221 235 0 2.175 +249 203 1.2 2.175 +42 118 1.36 2.18 +96 110 0.76 2.18 +133 188 0 2.18 +154 176 0 2.18 +14 18 0.845 2.185 +120 102 0 2.185 +175 45 0.21 2.185 +182 197 0 2.185 +209 21 1.525 2.185 +223 10 0 2.185 +3 134 1.58 2.19 +18 97 0 2.19 +55 86 1.1 2.19 +68 84 0 2.19 +68 94 0 2.19 +112 189 0 2.19 +127 146 0.97 2.19 +134 242 1.65 2.19 +152 231 0 2.19 +171 189 0 2.19 +201 206 0.53 2.19 +217 167 0 2.19 +237 212 1.37 2.19 +5 70 0 2.195 +123 144 0.385 2.195 +136 197 0 2.195 +148 150 1.475 2.195 +162 184 0.335 2.195 +219 74 1.095 2.195 +254 250 1.58 2.195 +22 82 0 2.2 +23 27 0 2.2 +79 242 1.7 2.2 +103 115 1.31 2.2 +148 165 0 2.2 +162 172 1.675 2.2 +166 233 0 2.2 +169 229 1.435 2.2 +5 71 0.57 2.205 +35 114 1.505 2.205 +111 128 1.07 2.205 +124 184 1.32 2.205 +178 136 0.49 2.205 +187 207 1.56 2.205 +210 217 1.35 2.205 +223 218 0 2.205 +237 223 0 2.205 +243 199 0 2.205 +2 24 0 2.21 +25 24 0 2.21 +28 32 0 2.21 +49 3 0 2.21 +59 108 0 2.21 +63 111 1.095 2.21 +121 71 0 2.21 +143 244 0 2.21 +149 156 0 2.21 +179 244 0 2.21 +247 51 1.6 2.21 +249 9 1.665 2.21 +252 38 0 2.21 +40 178 1.305 2.215 +99 147 0 2.215 +126 141 0.965 2.215 +245 228 0 2.215 +20 111 1.295 2.22 +32 44 1.625 2.22 +59 185 1.285 2.22 +69 95 0.89 2.22 +149 194 0 2.22 +187 202 1.205 2.22 +14 212 0 2.225 +32 107 0 2.225 +43 55 0 2.225 +56 70 0 2.225 +88 162 0 2.225 +146 229 0 2.225 +148 216 1.53 2.225 +187 206 0.93 2.225 +242 143 0.845 2.225 +255 196 1.675 2.225 +12 80 0.275 2.23 +29 125 1.35 2.23 +56 21 1.315 2.23 +79 83 1.52 2.23 +86 156 0.505 2.23 +93 109 0 2.23 +103 174 1.68 2.23 +105 185 1.715 2.23 +160 235 0 2.23 +93 142 0 2.235 +178 119 0 2.235 +183 231 1.725 2.235 +192 157 1.145 2.235 +200 24 0.495 2.235 +2 71 1.6 2.24 +8 73 1.605 2.24 +13 11 0 2.24 +16 68 0.735 2.24 +22 235 1.455 2.24 +26 85 1.675 2.24 +62 78 0.56 2.24 +69 149 0.905 2.24 +72 147 0 2.24 +88 97 0 2.24 +90 112 0 2.24 +93 83 1.225 2.24 +95 149 1.115 2.24 +96 97 0 2.24 +174 185 0.52 2.24 +233 231 0 2.24 +251 29 1.48 2.24 +100 150 0.78 2.245 +101 27 1.625 2.245 +106 89 1.11 2.245 +145 193 0 2.245 +166 245 0 2.245 +240 225 0 2.245 +40 60 0 2.25 +102 115 0 2.25 +119 184 1.21 2.25 +132 213 0 2.25 +159 237 0 2.25 +174 121 0.6 2.25 +206 218 0 2.25 +81 24 0 2.255 +108 127 1.555 2.255 +134 194 0 2.255 +138 89 0 2.255 +142 173 0.97 2.255 +151 160 0.855 2.255 +181 139 0.8 2.255 +248 115 1.605 2.255 +30 25 1.01 2.26 +38 60 0 2.26 +44 90 0 2.26 +120 124 0 2.26 +154 112 0 2.26 +158 239 1.095 2.26 +170 205 1.455 2.26 +177 179 0 2.26 +193 255 0 2.26 +196 31 0 2.26 +13 209 1.75 2.265 +26 23 0 2.265 +39 51 0 2.265 +59 105 0 2.265 +84 165 0 2.265 +85 10 1.73 2.265 +92 174 1.35 2.265 +103 152 0 2.265 +133 121 0.565 2.265 +187 13 1.36 2.265 +195 227 1.245 2.265 +203 215 0.73 2.265 +248 113 1.65 2.265 +249 256 0 2.265 +4 83 0 2.27 +31 235 1.6 2.27 +48 60 0.815 2.27 +106 154 0.15 2.27 +128 129 0 2.27 +177 131 0 2.27 +181 124 0 2.27 +195 22 1.31 2.27 +239 225 0 2.27 +251 47 1.75 2.27 +16 138 1.5 2.275 +26 89 1.075 2.275 +27 40 1.66 2.275 +33 113 1.495 2.275 +79 95 0 2.275 +121 138 1.545 2.275 +127 188 1.675 2.275 +158 240 1.455 2.275 +187 201 0.875 2.275 +218 41 0 2.275 +220 221 0 2.275 +237 31 1.57 2.275 +2 78 0 2.28 +26 21 1.69 2.28 +32 106 0 2.28 +33 52 1.095 2.28 +79 157 0 2.28 +124 179 1.395 2.28 +162 119 1.595 2.28 +170 250 0 2.28 +177 120 0 2.28 +184 186 1.725 2.28 +196 239 1.23 2.28 +215 221 0.47 2.28 +217 206 0.545 2.28 +249 60 1.335 2.28 +25 44 0.06 2.285 +26 32 0 2.285 +63 190 1.01 2.285 +171 236 1.745 2.285 +239 19 1.24 2.285 +35 55 1.01 2.29 +38 115 1.77 2.29 +70 90 0.925 2.29 +112 234 0.125 2.29 +183 236 0 2.29 +205 198 1.31 2.29 +210 150 0.78 2.29 +211 41 1.71 2.29 +221 25 0.305 2.29 +229 218 1.55 2.29 +232 18 1.605 2.29 +253 201 1.78 2.29 +65 83 1.005 2.295 +93 77 0 2.295 +126 192 0.84 2.295 +8 119 1.61 2.3 +20 96 0.64 2.3 +29 20 0 2.3 +40 107 1.66 2.3 +78 69 0.58 2.3 +95 147 0.345 2.3 +103 112 1.74 2.3 +107 117 1.505 2.3 +158 176 0 2.3 +248 6 1.79 2.3 +23 82 0 2.305 +32 77 1.57 2.305 +40 133 1.72 2.305 +46 53 1.79 2.305 +80 155 0 2.305 +237 202 1.305 2.305 +237 29 0 2.305 +249 44 0.86 2.305 +14 30 1.795 2.31 +14 68 0.515 2.31 +95 222 1.46 2.31 +105 104 0 2.31 +163 231 0 2.31 +178 71 0 2.31 +193 148 1.55 2.31 +196 18 1.79 2.31 +209 227 0 2.31 +252 62 0.75 2.31 +35 117 0 2.315 +114 119 0 2.315 +157 206 0.49 2.315 +162 167 0 2.315 +224 32 0 2.315 +225 41 1.795 2.315 +228 38 0.585 2.315 +238 245 0.695 2.315 +4 142 0.62 2.32 +36 3 1.6 2.32 +49 98 1.81 2.32 +76 157 0 2.32 +81 101 0.75 2.32 +110 189 0.77 2.32 +161 253 1.315 2.32 +186 135 0 2.32 +186 201 0.68 2.32 +187 141 0 2.32 +220 232 0 2.32 +40 199 0.705 2.325 +40 59 1.64 2.325 +60 71 0 2.325 +76 135 1.605 2.325 +77 68 0 2.325 +171 220 0 2.325 +215 229 0 2.325 +223 224 0 2.325 +234 203 1.535 2.325 +245 34 0 2.325 +256 16 0 2.325 +8 137 1.525 2.33 +15 19 0.85 2.33 +25 39 0 2.33 +35 115 0 2.33 +67 145 0 2.33 +81 97 0 2.33 +99 115 0 2.33 +100 117 1.825 2.33 +112 161 1.315 2.33 +128 161 0.985 2.33 +133 180 0 2.33 +146 115 1.795 2.33 +168 38 1.44 2.33 +170 251 0.17 2.33 +173 175 0 2.33 +187 254 0 2.33 +213 169 1.445 2.33 +4 67 0 2.335 +57 9 0 2.335 +78 79 0 2.335 +112 138 1.735 2.335 +154 170 0 2.335 +187 252 0 2.335 +212 45 0 2.335 +217 6 1.34 2.335 +15 68 0.66 2.34 +44 89 1.835 2.34 +47 59 0.72 2.34 +53 69 0.42 2.34 +92 160 0 2.34 +181 140 1.405 2.34 +237 30 0 2.34 +247 244 1.495 2.34 +64 16 0 2.345 +82 41 0.985 2.345 +207 19 0.9 2.345 +212 232 1.735 2.345 +232 41 0 2.345 +3 133 1.565 2.35 +16 122 0 2.35 +22 236 0 2.35 +42 199 0.95 2.35 +45 20 0 2.35 +123 172 0 2.35 +188 189 0 2.35 +201 42 1.4 2.35 +212 43 1.42 2.35 +223 15 1.685 2.35 +249 199 1.39 2.35 +12 93 0 2.355 +12 32 1.585 2.355 +26 30 0 2.355 +29 94 0 2.355 +36 65 1.56 2.355 +36 126 0 2.355 +45 228 0 2.355 +84 163 0 2.355 +129 253 1.83 2.355 +143 222 1.58 2.355 +159 173 0 2.355 +161 234 1.18 2.355 +164 243 0 2.355 +193 225 1.765 2.355 +194 225 1.775 2.355 +200 56 1.39 2.355 +223 29 0 2.355 +36 116 0 2.36 +61 34 1.235 2.36 +98 102 0 2.36 +128 189 0 2.36 +213 160 1.755 2.36 +232 44 1.3 2.36 +2 52 1.355 2.365 +29 47 0 2.365 +30 235 0 2.365 +53 116 1.815 2.365 +95 146 0.315 2.365 +152 169 0 2.365 +168 171 1.835 2.365 +15 81 1.825 2.37 +41 54 0.075 2.37 +42 9 1 2.37 +48 126 0.69 2.37 +78 67 1.78 2.37 +101 89 1.825 2.37 +108 122 0 2.37 +231 101 1.815 2.37 +241 49 1.75 2.37 +1 69 1.8 2.375 +14 77 0 2.375 +20 109 0 2.375 +25 32 0 2.375 +36 115 0 2.375 +62 9 1.015 2.375 +96 107 0 2.375 +128 191 0 2.375 +137 138 0 2.375 +140 157 0 2.375 +169 220 1.375 2.375 +195 18 0.935 2.375 +203 42 1.36 2.375 +217 221 0 2.375 +9 121 1.8 2.38 +13 202 0 2.38 +125 108 0 2.38 +127 241 1.22 2.38 +145 210 0 2.38 +158 127 0.825 2.38 +187 255 1.775 2.38 +232 35 1.455 2.38 +49 38 1.845 2.385 +118 182 1.415 2.385 +126 127 0 2.385 +158 237 0 2.385 +172 250 0 2.385 +184 155 1.83 2.385 +219 32 0 2.385 +234 58 1.325 2.385 +235 256 1.76 2.385 +14 80 1.375 2.39 +21 101 0.595 2.39 +32 91 0 2.39 +105 121 0 2.39 +126 110 1.435 2.39 +145 196 0.99 2.39 +191 129 1.82 2.39 +217 169 0.175 2.39 +235 58 1.605 2.39 +34 1 0.445 2.395 +46 29 0.275 2.395 +142 222 1.03 2.395 +163 227 0 2.395 +214 231 0 2.395 +241 248 0 2.395 +13 16 0 2.4 +26 232 1.58 2.4 +43 58 1.085 2.4 +63 107 1.025 2.4 +74 20 1.16 2.4 +77 157 1.11 2.4 +96 174 0 2.4 +143 210 1.545 2.4 +161 228 1.605 2.4 +168 34 1.73 2.4 +250 57 0 2.4 +32 89 0 2.405 +64 114 1.65 2.405 +138 205 1.815 2.405 +163 211 0.225 2.405 +185 153 1.865 2.405 +238 34 0 2.405 +24 97 0 2.41 +35 52 0.87 2.41 +43 62 1.255 2.41 +48 122 0 2.41 +96 222 1.185 2.41 +133 184 0 2.41 +165 238 1.75 2.41 +169 160 0 2.41 +174 156 0.485 2.41 +180 193 0 2.41 +8 83 0 2.415 +13 204 1.42 2.415 +21 89 1.855 2.415 +84 175 0.875 2.415 +115 164 1.7 2.415 +116 134 1.525 2.415 +160 171 0 2.415 +160 198 1.23 2.415 +160 240 0.355 2.415 +226 34 0 2.415 +234 42 0 2.415 +8 24 0 2.42 +46 34 0 2.42 +48 1 0.965 2.42 +67 95 1.635 2.42 +87 99 1.91 2.42 +186 157 0.045 2.42 +226 227 0 2.42 +14 12 1.755 2.425 +25 85 0 2.425 +180 132 0 2.425 +188 252 0 2.425 +82 38 1.245 2.43 +120 162 0 2.43 +142 94 0 2.43 +153 194 1.845 2.43 +189 144 0.4 2.43 +191 243 0.64 2.43 +207 208 0 2.43 +247 53 1.225 2.43 +22 66 1.52 2.435 +41 35 0.385 2.435 +70 151 1.115 2.435 +99 150 0 2.435 +111 159 0.35 2.435 +153 184 1.805 2.435 +171 239 1.615 2.435 +251 9 0.54 2.435 +253 243 1 2.435 +35 177 1.455 2.44 +73 140 1.165 2.44 +112 113 1.865 2.44 +160 220 1.46 2.44 +172 246 0 2.44 +191 251 0.75 2.44 +223 219 0 2.44 +244 34 0 2.44 +249 42 0 2.44 +17 225 0 2.445 +58 121 0 2.445 +98 190 1.415 2.445 +116 130 0.78 2.445 +175 165 0.475 2.445 +181 123 1.82 2.445 +207 209 0 2.445 +222 196 0 2.445 +38 99 1.905 2.45 +87 145 1.94 2.45 +120 179 0 2.45 +125 73 1.82 2.45 +175 241 0 2.45 +180 183 1.525 2.45 +191 205 0 2.45 +222 206 0 2.45 +235 27 1.225 2.45 +246 42 1.31 2.45 +252 205 0 2.45 +12 121 1.695 2.455 +13 221 1.54 2.455 +21 83 1.345 2.455 +49 43 1.365 2.455 +58 78 1.255 2.455 +70 124 1.77 2.455 +74 68 1.125 2.455 +81 111 0 2.455 +120 116 0 2.455 +120 182 0 2.455 +174 122 0.56 2.455 +191 165 1.36 2.455 +254 206 0 2.455 +63 174 0.71 2.46 +78 75 0 2.46 +79 136 1.36 2.46 +134 146 1.945 2.46 +163 37 1.595 2.46 +172 252 1.565 2.46 +188 251 0 2.46 +238 50 1.84 2.46 +251 13 0 2.46 +254 1 0 2.46 +17 31 0 2.465 +35 103 1.37 2.465 +48 11 0.955 2.465 +48 113 0 2.465 +75 68 0.745 2.465 +82 28 0.345 2.465 +92 213 1.075 2.465 +95 88 1.255 2.465 +96 92 0 2.465 +99 166 1.73 2.465 +172 179 0.215 2.465 +188 205 1.225 2.465 +204 7 0 2.465 +233 221 0.125 2.465 +240 243 1.855 2.465 +248 7 0 2.465 +23 24 0 2.47 +52 120 0.71 2.47 +59 62 0 2.47 +65 190 0 2.47 +73 182 0 2.47 +112 173 0 2.47 +114 104 1.93 2.47 +158 97 1.81 2.47 +165 228 1.875 2.47 +175 196 1.56 2.47 +203 12 0 2.47 +215 7 1.55 2.47 +226 212 0 2.47 +235 43 0 2.47 +14 10 0 2.475 +15 75 0.66 2.475 +34 199 0.895 2.475 +58 12 0 2.475 +79 69 1.445 2.475 +82 40 0 2.475 +147 207 1.72 2.475 +169 176 1.015 2.475 +187 238 1.895 2.475 +207 211 0.83 2.475 +226 231 0 2.475 +236 50 1.875 2.475 +49 56 1.855 2.48 +85 76 0 2.48 +114 190 0 2.48 +126 121 1.48 2.48 +255 34 0.655 2.48 +15 12 1.64 2.485 +44 101 0 2.485 +49 113 0 2.485 +58 77 0 2.485 +59 12 1.82 2.485 +72 84 1.855 2.485 +85 27 1.61 2.485 +125 60 1.01 2.485 +139 153 0 2.485 +231 50 1.88 2.485 +10 73 1.745 2.49 +17 18 0 2.49 +79 147 1.52 2.49 +127 175 0.45 2.49 +142 90 1.22 2.49 +142 111 0.14 2.49 +147 194 0 2.49 +46 19 1.33 2.495 +61 59 0 2.495 +133 242 0 2.495 +171 251 1.025 2.495 +204 223 0.345 2.495 +225 24 1.37 2.495 +17 16 1.77 2.5 +49 15 0 2.5 +81 134 1.93 2.5 +87 213 0.91 2.5 +87 147 1.765 2.5 +140 245 1.875 2.5 +168 57 1.745 2.5 +170 140 1.655 2.5 +203 59 1.895 2.5 +234 256 0 2.5 +31 209 0.525 2.505 +40 150 1.65 2.505 +45 57 1.91 2.505 +49 97 1.345 2.505 +58 55 0 2.505 +71 83 1.59 2.505 +80 134 1.94 2.505 +81 145 0 2.505 +95 159 0 2.505 +102 119 0 2.505 +103 90 0 2.505 +165 242 1.915 2.505 +180 131 0 2.505 +254 132 0 2.505 +56 116 0.535 2.51 +75 132 1.375 2.51 +112 190 0 2.51 +114 131 1.485 2.51 +125 123 0 2.51 +146 214 0.605 2.51 +155 201 0 2.51 +170 235 2.005 2.51 +207 5 0.805 2.51 +237 189 0.285 2.51 +49 64 0 2.515 +70 27 0 2.515 +166 164 0.54 2.515 +170 139 1.02 2.515 +156 221 0 2.52 +217 208 1.865 2.52 +65 177 0 2.525 +114 162 0.35 2.525 +133 140 0 2.525 +170 233 0 2.525 +207 2 0 2.525 +213 229 0 2.525 +220 24 2.02 2.525 +220 27 0 2.525 +251 30 1.195 2.525 +80 129 0.95 2.53 +100 166 0.55 2.53 +128 186 0 2.53 +134 145 0.715 2.53 +138 90 0 2.53 +147 206 2.015 2.53 +227 8 0.89 2.53 +70 91 0 2.535 +128 176 0.4 2.535 +161 190 1.915 2.535 +168 139 1.05 2.535 +187 256 0 2.535 +189 132 2.03 2.535 +19 83 0 2.54 +28 101 0 2.54 +50 34 0 2.54 +58 112 1.885 2.54 +84 104 1.095 2.54 +133 79 1.815 2.54 +134 159 2.035 2.54 +145 151 1.875 2.54 +152 37 1.98 2.54 +167 37 1.95 2.54 +170 119 1.88 2.54 +171 139 1.87 2.54 +41 248 0.945 2.545 +74 75 2.025 2.545 +99 180 2.02 2.545 +184 210 1.645 2.545 +188 155 1.76 2.545 +202 223 0 2.545 +221 29 0 2.545 +228 19 1.69 2.545 +233 251 1.22 2.545 +250 48 1.59 2.545 +11 10 0 2.55 +45 250 1.195 2.55 +45 59 0 2.55 +79 254 0.625 2.55 +98 180 1.475 2.55 +134 79 1.585 2.55 +153 188 1.805 2.55 +251 49 1.255 2.55 +12 138 0.62 2.555 +35 54 0.645 2.555 +68 159 0.78 2.555 +80 159 0 2.555 +93 96 0 2.555 +116 181 0.505 2.555 +128 192 0 2.555 +157 239 1.985 2.555 +158 156 2.055 2.555 +168 227 1.575 2.555 +213 163 0 2.555 +228 53 0 2.555 +251 238 0 2.555 +28 38 0 2.56 +84 159 0.77 2.56 +156 144 1.785 2.56 +175 253 0 2.56 +194 22 1.64 2.56 +207 136 1.26 2.56 +235 41 0 2.56 +31 19 0 2.565 +73 188 1.43 2.565 +99 165 0 2.565 +158 110 1.15 2.565 +162 128 1.895 2.565 +36 15 0.135 2.57 +124 157 1.645 2.57 +153 215 0.675 2.57 +207 53 0.715 2.57 +214 157 1.58 2.57 +217 141 0.83 2.57 +217 25 0 2.57 +37 28 0 2.575 +39 99 0 2.575 +81 77 1.805 2.575 +127 237 1.27 2.575 +156 198 0 2.575 +181 164 1.94 2.575 +217 157 0 2.575 +225 30 2.03 2.575 +49 24 1.9 2.58 +104 179 0 2.58 +139 57 1.78 2.58 +168 26 1.82 2.58 +194 21 1.995 2.58 +212 24 1.765 2.58 +238 53 0.745 2.58 +246 203 0 2.58 +18 83 0.88 2.585 +25 105 2.085 2.585 +70 74 0 2.585 +71 179 1.93 2.585 +86 107 0 2.585 +127 254 1.35 2.585 +165 247 1.86 2.585 +213 155 1.16 2.585 +246 55 2.025 2.585 +26 55 1.155 2.59 +62 4 1.64 2.59 +84 113 1.61 2.59 +126 186 1.095 2.59 +207 210 1.205 2.59 +212 34 1.42 2.59 +244 211 1.475 2.59 +252 121 2 2.59 +7 85 0 2.595 +36 110 0 2.595 +48 15 0.8 2.595 +99 163 0 2.595 +114 118 0 2.595 +125 121 0 2.595 +139 242 2.035 2.595 +165 184 2.005 2.595 +247 41 0 2.595 +253 206 2.03 2.595 +82 39 0 2.6 +118 70 0 2.6 +125 105 0 2.6 +31 81 0 2.605 +36 100 1.325 2.605 +48 112 0 2.605 +53 57 2.09 2.605 +83 151 1.87 2.605 +84 149 1.835 2.605 +116 189 0 2.605 +129 147 0 2.605 +235 46 1.14 2.605 +247 55 0 2.605 +249 45 0.85 2.605 +62 65 0 2.61 +64 123 0.71 2.61 +73 186 0 2.61 +82 104 0 2.61 +112 186 0 2.61 +128 67 1.765 2.61 +138 156 0 2.61 +164 183 1.635 2.61 +178 80 2.03 2.61 +209 37 1.635 2.61 +241 244 0 2.61 +99 148 0 2.615 +103 121 1.94 2.615 +156 219 1.815 2.615 +32 105 0 2.62 +65 134 1.56 2.62 +84 176 1.385 2.62 +90 97 2.055 2.62 +99 86 0 2.62 +109 122 1.625 2.62 +114 134 1.435 2.62 +114 79 0 2.62 +173 221 0 2.62 +197 211 0 2.62 +218 200 1.72 2.62 +256 208 0 2.62 +38 105 1.04 2.625 +43 36 0.99 2.625 +45 238 0 2.625 +45 49 1.255 2.625 +63 84 1.64 2.625 +93 68 0 2.625 +125 126 0 2.625 +155 250 0.79 2.625 +161 226 0 2.625 +241 189 1.71 2.625 +252 48 0.9 2.625 +64 80 0.7 2.63 +125 15 1.9 2.63 +178 191 1.855 2.63 +233 29 1.465 2.63 +14 66 0.29 2.635 +35 53 0 2.635 +42 15 2.025 2.635 +44 107 0 2.635 +84 88 0 2.635 +118 69 2.065 2.635 +139 199 0 2.635 +142 161 1.72 2.635 +165 254 1.965 2.635 +165 232 1.12 2.635 +219 235 0 2.635 +223 228 2.04 2.635 +44 103 0.58 2.64 +56 67 2 2.64 +63 115 1.64 2.64 +65 75 0.81 2.64 +67 147 1.485 2.64 +69 76 2.065 2.64 +96 105 0 2.64 +114 7 1.87 2.64 +13 2 1.045 2.645 +63 65 0 2.645 +63 100 1.6 2.645 +63 75 0.97 2.645 +124 80 0.205 2.645 +125 75 1.84 2.645 +126 124 1.01 2.645 +127 129 1.885 2.645 +160 205 2.035 2.645 +180 232 2.045 2.645 +226 240 0.99 2.645 +233 239 1.655 2.645 +1 16 0.825 2.65 +2 53 0.745 2.65 +15 113 0 2.65 +20 63 1.37 2.65 +73 70 0 2.65 +123 80 0.21 2.65 +127 222 1.37 2.65 +127 240 1.315 2.65 +153 141 0.39 2.65 +154 103 0 2.65 +34 52 0 2.655 +69 88 2.095 2.655 +130 161 2.145 2.655 +154 222 0.245 2.655 +159 131 1.8 2.655 +166 167 0 2.655 +166 179 0 2.655 +168 248 0 2.655 +231 85 1.91 2.655 +12 96 1.73 2.66 +63 109 0 2.66 +64 109 1.555 2.66 +84 180 1.78 2.66 +92 171 0 2.66 +96 109 0 2.66 +103 171 0.62 2.66 +120 98 1.34 2.66 +127 253 1.235 2.66 +127 238 1.28 2.66 +173 239 0.225 2.66 +220 23 0.855 2.66 +254 253 0 2.66 +1 68 1.815 2.665 +92 157 0 2.665 +154 108 0 2.665 +178 68 2.03 2.665 +184 200 0 2.665 +236 61 1.435 2.665 +83 86 0 2.67 +138 132 2.075 2.67 +139 9 0.105 2.67 +155 208 1.735 2.67 +165 225 0 2.67 +168 246 0.775 2.67 +229 34 1.81 2.67 +254 17 1.095 2.67 +40 100 0.625 2.675 +51 100 0 2.675 +54 101 0.62 2.675 +74 158 1.86 2.675 +103 214 0.67 2.675 +108 162 2.135 2.675 +168 50 1.025 2.675 +175 243 0.58 2.675 +189 228 2.11 2.675 +210 198 1.875 2.675 +214 235 0 2.675 +242 200 1.815 2.675 +29 48 0.075 2.68 +43 107 0 2.68 +61 43 0 2.68 +64 65 0 2.68 +74 142 0.25 2.68 +123 190 0 2.68 +127 173 0 2.68 +127 186 1.97 2.68 +153 213 0.645 2.68 +161 46 1.6 2.68 +162 182 0.375 2.68 +168 242 0 2.68 +196 216 1.655 2.68 +205 221 1.575 2.68 +12 85 2.175 2.685 +49 52 0 2.685 +62 35 2.035 2.685 +71 182 0 2.685 +87 83 0 2.685 +130 99 0.78 2.685 +143 253 0.645 2.685 +146 136 0 2.685 +238 30 2.085 2.685 +16 96 1.99 2.69 +36 177 1.345 2.69 +45 58 1.045 2.69 +93 80 0 2.69 +113 79 1.87 2.69 +120 68 2.035 2.69 +156 222 0.345 2.69 +161 163 0 2.69 +177 165 0.475 2.69 +244 200 0.17 2.69 +250 42 0 2.69 +4 21 0 2.695 +11 124 0 2.695 +74 141 1.78 2.695 +83 104 0.82 2.695 +110 180 1.54 2.695 +139 6 0.495 2.695 +190 253 0 2.695 +211 8 0 2.695 +242 198 1.945 2.695 +250 62 1.375 2.695 +143 147 1.445 2.7 +167 234 0.995 2.7 +168 37 1.3 2.7 +176 239 0 2.7 +185 245 1.775 2.7 +233 22 1.39 2.7 +243 52 0 2.7 +255 3 0.96 2.7 +13 5 2.055 2.705 +24 83 0 2.705 +55 98 1.9 2.705 +87 146 1.955 2.705 +100 149 1.905 2.705 +101 117 0 2.705 +135 147 0.51 2.705 +146 108 2.19 2.705 +159 152 2.15 2.705 +238 13 1.815 2.705 +247 59 2.205 2.705 +248 1 1.15 2.705 +56 98 1.93 2.71 +58 125 0.43 2.71 +87 169 0 2.71 +153 160 0 2.71 +249 242 2.09 2.71 +35 100 0 2.715 +52 68 1.78 2.715 +86 104 0 2.715 +104 149 1.405 2.715 +104 167 0 2.715 +153 144 0 2.715 +162 242 0.55 2.715 +175 174 2.075 2.715 +248 98 1.665 2.715 +54 102 0 2.72 +91 169 0 2.72 +106 123 2 2.72 +110 190 1.16 2.72 +141 156 0.88 2.72 +152 196 1.57 2.72 +176 45 0.565 2.72 +201 16 1.195 2.72 +252 55 0 2.72 +61 52 0 2.725 +71 91 1.81 2.725 +88 164 1.73 2.725 +111 141 2 2.725 +125 11 1.165 2.725 +140 141 0 2.725 +177 187 2.13 2.725 +183 242 0 2.725 +203 52 1.92 2.725 +204 74 2.13 2.725 +75 253 2.105 2.73 +83 103 2.14 2.73 +90 169 0 2.73 +160 196 1.955 2.73 +233 45 0.74 2.73 +241 246 0.815 2.73 +247 42 0 2.73 +4 72 0.51 2.735 +39 98 0 2.735 +55 56 0 2.735 +60 16 0.21 2.735 +85 104 0.89 2.735 +126 123 0 2.735 +140 160 0 2.735 +209 240 1.32 2.735 +210 21 0 2.735 +223 21 2.235 2.735 +235 245 2.2 2.735 +21 69 0 2.74 +58 44 0 2.74 +81 8 0 2.74 +88 100 0.37 2.74 +139 60 2.19 2.74 +158 174 0 2.74 +161 189 0 2.74 +195 53 2.2 2.74 +210 244 1.635 2.74 +220 37 0 2.74 +225 21 1.235 2.74 +8 89 1.455 2.745 +58 106 0.435 2.745 +75 140 0 2.745 +100 165 0 2.745 +118 9 0.355 2.745 +165 180 1.295 2.745 +204 78 2.075 2.745 +216 24 0 2.745 +220 28 0 2.745 +62 14 0 2.75 +62 126 0 2.75 +64 75 0 2.75 +100 103 0.475 2.75 +119 179 0 2.75 +125 177 2.1 2.75 +140 205 1.23 2.75 +215 10 1.415 2.75 +225 2 1.805 2.75 +245 198 1.545 2.75 +77 140 2.25 2.755 +80 192 0 2.755 +81 21 0.105 2.755 +128 180 0.34 2.755 +172 45 2.165 2.755 +175 149 2.12 2.755 +175 176 0 2.755 +175 255 1.83 2.755 +192 202 1.485 2.755 +252 5 2.1 2.755 +8 82 0 2.76 +51 162 0.975 2.76 +131 147 0 2.76 +197 3 1.96 2.76 +252 54 0 2.76 +254 53 1.54 2.76 +38 53 0 2.765 +40 97 0 2.765 +67 87 1.54 2.765 +70 83 1.42 2.765 +113 80 1.8 2.765 +139 256 0 2.765 +144 251 0.695 2.765 +162 131 0.425 2.765 +177 161 0 2.765 +186 253 1.955 2.765 +187 251 0 2.765 +218 29 0 2.765 +73 16 0 2.77 +172 251 0 2.77 +222 234 2.145 2.77 +226 209 1.24 2.77 +233 236 0 2.77 +69 136 1.245 2.775 +81 67 1.74 2.775 +100 181 0 2.775 +146 175 0 2.775 +158 191 1.63 2.775 +183 198 2.13 2.775 +211 81 1.465 2.775 +231 28 0 2.775 +244 197 0 2.775 +245 201 1.415 2.775 +8 67 0 2.78 +19 24 0 2.78 +56 119 0 2.78 +62 3 0 2.78 +62 98 2.135 2.78 +64 78 0 2.78 +165 145 1.43 2.78 +225 20 1.995 2.78 +252 106 1.375 2.78 +252 7 0 2.78 +5 114 0 2.785 +73 80 0 2.785 +116 132 1.025 2.785 +127 234 1.215 2.785 +148 226 0 2.785 +193 206 0 2.785 +244 184 0.47 2.785 +8 86 0 2.79 +24 87 2.175 2.79 +103 167 0 2.79 +103 233 1.615 2.79 +106 11 1.995 2.79 +110 187 2.065 2.79 +181 242 0 2.79 +196 225 1.21 2.79 +199 9 0 2.79 +253 15 2.245 2.79 +103 172 0 2.795 +106 54 1.27 2.795 +119 186 0.425 2.795 +126 112 0 2.795 +128 187 0 2.795 +160 215 1.03 2.795 +182 155 1.34 2.795 +189 206 2.095 2.795 +211 3 0.33 2.795 +211 24 0 2.795 +5 4 0 2.8 +22 89 1.49 2.8 +59 9 0.425 2.8 +60 126 2.12 2.8 +173 234 0 2.8 +191 209 2.08 2.8 +237 236 0 2.8 +185 186 0 2.805 +242 3 2.265 2.805 +248 114 1.295 2.805 +114 78 1.685 2.81 +157 169 0.095 2.81 +187 240 0 2.81 +197 54 2.05 2.81 +254 195 1.865 2.81 +64 127 2.29 2.815 +88 167 0 2.815 +121 186 0 2.815 +137 77 2.14 2.815 +192 240 2.25 2.815 +254 240 0 2.815 +65 178 0 2.82 +72 76 0 2.82 +82 100 0 2.82 +97 178 2.235 2.82 +130 84 0.575 2.82 +162 175 2.11 2.82 +170 240 0.285 2.82 +227 101 2.04 2.82 +8 68 1.23 2.825 +97 164 2.02 2.825 +113 181 1.955 2.825 +133 132 1.205 2.825 +197 118 2.07 2.825 +219 27 0 2.825 +249 197 1.6 2.825 +12 137 1.145 2.83 +14 211 0 2.83 +61 1 0.735 2.83 +103 151 0.785 2.83 +113 117 0 2.83 +113 133 1.67 2.83 +116 162 0 2.83 +116 131 0 2.83 +128 178 1.485 2.83 +237 187 2.115 2.83 +245 197 0 2.83 +55 101 0 2.835 +62 50 2.295 2.835 +78 158 2.335 2.835 +100 116 1.62 2.835 +237 251 0 2.835 +10 96 0.495 2.84 +49 1 0 2.84 +56 6 0.8 2.84 +119 183 0 2.84 +126 177 0 2.84 +138 202 1.68 2.84 +139 251 0 2.84 +150 173 2.19 2.84 +192 140 0.375 2.84 +207 194 0.72 2.84 +238 129 1.885 2.84 +22 7 2.005 2.845 +22 8 0 2.845 +25 8 1.405 2.845 +62 248 1.89 2.845 +67 196 2.27 2.845 +97 191 2.155 2.845 +103 156 0 2.845 +146 191 1.73 2.845 +182 197 2.265 2.845 +208 1 1.06 2.845 +227 82 0.6 2.845 +47 100 2.145 2.85 +61 203 0 2.85 +114 199 0.975 2.85 +140 203 2.04 2.85 +142 196 0.815 2.85 +207 1 0 2.85 +248 35 0.96 2.85 +12 92 1.685 2.855 +53 199 0 2.855 +65 128 0 2.855 +100 115 0 2.855 +142 84 0 2.855 +206 211 1.865 2.855 +240 205 2.13 2.855 +6 71 1.085 2.86 +7 72 0 2.86 +33 248 1.495 2.86 +89 150 2.19 2.86 +145 141 1.91 2.86 +177 176 2.04 2.86 +210 220 1.14 2.86 +215 199 1.845 2.86 +242 197 0 2.86 +5 69 0 2.865 +14 2 0 2.865 +99 164 1.16 2.865 +110 116 0 2.865 +135 196 2.27 2.865 +148 196 0.135 2.865 +150 218 1.965 2.865 +180 240 1.87 2.865 +247 34 0.855 2.865 +256 4 2.14 2.865 +23 69 0 2.87 +65 133 1.405 2.87 +94 170 2.23 2.87 +138 188 1.775 2.87 +166 163 0 2.87 +180 228 2.055 2.87 +195 66 1.455 2.87 +5 53 0 2.875 +39 146 2.155 2.875 +130 196 1.635 2.875 +138 159 1.795 2.875 +151 173 2.205 2.875 +206 1 1.685 2.875 +231 106 2.255 2.875 +23 72 0 2.88 +38 98 1.76 2.88 +104 169 0 2.88 +107 187 2.175 2.88 +114 72 0 2.88 +128 80 0 2.88 +191 241 0 2.88 +207 14 0 2.88 +211 82 0.66 2.88 +12 105 2.21 2.885 +18 39 2.025 2.885 +33 216 2.255 2.885 +41 90 2.38 2.885 +61 15 0 2.885 +91 86 0 2.885 +109 127 0 2.885 +182 151 0.815 2.885 +191 225 1.3 2.885 +202 16 0.905 2.885 +19 69 0 2.89 +37 98 0 2.89 +138 160 0 2.89 +152 218 1.885 2.89 +184 136 0 2.89 +199 69 2.075 2.89 +236 43 0 2.89 +144 15 2.215 2.895 +184 215 1.385 2.895 +217 160 0 2.895 +226 129 2.18 2.895 +228 247 1.24 2.895 +242 206 2.34 2.895 +208 20 2.375 2.9 +217 224 1.82 2.9 +235 246 2.05 2.9 +43 64 1.285 2.905 +70 39 1.275 2.905 +82 36 0.215 2.905 +92 155 0 2.905 +101 105 0 2.905 +154 158 0 2.905 +180 187 1.835 2.905 +184 204 1.655 2.905 +244 246 0.855 2.905 +256 17 1.87 2.905 +70 29 2.34 2.91 +70 101 1.055 2.91 +85 130 0.83 2.91 +88 214 1.02 2.91 +117 179 0.82 2.91 +122 177 2.08 2.91 +125 100 2.215 2.91 +145 136 0 2.91 +162 185 0.4 2.91 +182 186 0 2.91 +201 200 0 2.91 +229 44 2.055 2.91 +41 101 0 2.915 +51 99 0.085 2.915 +70 105 1.015 2.915 +76 182 0 2.915 +80 132 0.97 2.915 +107 183 2.4 2.915 +131 196 1.005 2.915 +135 155 1.1 2.915 +175 48 2.395 2.915 +211 30 2.015 2.915 +215 203 2.305 2.915 +85 69 0 2.92 +133 151 0 2.92 +217 173 1.745 2.92 +218 26 0 2.92 +238 205 0.205 2.92 +241 194 2.165 2.92 +2 114 1.33 2.925 +55 11 0 2.925 +70 103 1.42 2.925 +80 143 0 2.925 +87 135 0.6 2.925 +99 149 0 2.925 +111 176 0 2.925 +128 115 1.835 2.925 +172 232 1.105 2.925 +180 243 0 2.925 +189 175 0 2.925 +197 57 1.725 2.925 +248 115 2.41 2.925 +11 75 0 2.93 +33 51 0 2.93 +42 11 1.01 2.93 +79 193 1.165 2.93 +115 183 1.71 2.93 +192 238 2.225 2.93 +238 244 0 2.93 +241 228 0 2.93 +242 2 1.99 2.93 +12 154 2.19 2.935 +39 90 0 2.935 +41 92 2.4 2.935 +56 133 0.56 2.935 +77 141 0 2.935 +116 187 2.315 2.935 +208 17 0 2.935 +224 10 0 2.935 +227 248 2.19 2.935 +12 27 1.59 2.94 +54 98 0.76 2.94 +72 89 0 2.94 +90 102 1.5 2.94 +107 234 2.06 2.94 +125 95 2.44 2.94 +177 191 0 2.94 +180 46 2.425 2.94 +185 168 2.075 2.94 +215 16 1.975 2.94 +255 206 1.71 2.94 +12 41 2.3 2.945 +19 95 0.515 2.945 +95 100 1.235 2.945 +218 25 0 2.945 +236 64 2.35 2.945 +29 105 0.69 2.95 +35 95 2.045 2.95 +122 188 1.2 2.95 +207 17 0.4 2.95 +227 34 0 2.95 +254 175 0.535 2.95 +254 194 1.99 2.95 +27 92 0 2.955 +28 72 1.325 2.955 +30 37 2.215 2.955 +47 95 1.16 2.955 +47 83 2.355 2.955 +70 153 0 2.955 +71 135 0 2.955 +87 214 0.635 2.955 +94 158 0 2.955 +178 71 2.43 2.955 +179 197 0 2.955 +207 223 0 2.955 +213 6 2.415 2.955 +224 44 1.785 2.955 +228 248 0.49 2.955 +104 226 1.985 2.96 +104 168 2.135 2.96 +109 166 2.37 2.96 +124 92 1.805 2.96 +165 234 2.355 2.96 +190 238 1.88 2.96 +215 12 1.995 2.96 +218 45 0 2.96 +248 3 1.315 2.96 +30 95 1.83 2.965 +41 34 1.605 2.965 +42 90 2.435 2.965 +54 69 0 2.965 +56 60 0 2.965 +157 143 1.42 2.965 +256 204 1.335 2.965 +12 153 1.445 2.97 +28 91 2.25 2.97 +51 101 0 2.97 +54 6 1.935 2.97 +85 150 2.405 2.97 +120 59 2.465 2.97 +163 191 0.695 2.97 +170 183 0 2.97 +170 182 0.295 2.97 +193 13 1.715 2.97 +214 160 0.515 2.97 +17 20 1.985 2.975 +20 21 0 2.975 +102 122 0 2.975 +116 143 0.885 2.975 +123 249 2.43 2.975 +142 193 2.22 2.975 +153 88 2.185 2.975 +224 231 1.89 2.975 +42 122 0.985 2.98 +55 170 2.385 2.98 +132 13 1.97 2.98 +206 16 1.505 2.98 +213 144 1.785 2.98 +227 20 0 2.98 +49 13 0.945 2.985 +72 153 2.4 2.985 +169 185 0 2.985 +196 3 2.32 2.985 +204 199 0 2.985 +7 69 0 2.99 +19 47 0.87 2.99 +51 128 2.1 2.99 +76 186 0 2.99 +93 35 2.39 2.99 +121 187 2.23 2.99 +161 209 1.135 2.99 +195 198 1.645 2.99 +208 81 2.465 2.99 +6 89 2.075 2.995 +67 83 0 2.995 +119 138 1.16 2.995 +130 163 2.185 2.995 +137 214 2.39 2.995 +138 154 2.065 2.995 +144 249 0.67 2.995 +159 17 2.215 2.995 +169 234 0 2.995 +213 25 2.27 2.995 +3 93 1.24 3 +17 197 2.425 3 +117 134 2.46 3 +121 183 2.35 3 +126 67 0.85 3 +137 186 0 3 +144 25 2.215 3 +226 249 2.32 3 +8 134 1.415 3.005 +9 65 2.355 3.005 +21 33 0 3.005 +28 103 0 3.005 +73 170 2.245 3.005 +92 90 0 3.005 +101 115 0 3.005 +110 191 1.465 3.005 +138 143 0 3.005 +209 30 0 3.005 +13 3 0.99 3.01 +74 65 1.175 3.01 +40 178 2.43 3.015 +52 67 1.725 3.015 +66 67 0 3.015 +107 191 2.455 3.015 +114 181 0 3.015 +160 31 1.915 3.015 +211 35 2.37 3.015 +247 197 1.62 3.015 +12 86 2.04 3.02 +14 3 0 3.02 +70 149 1.335 3.02 +85 134 0 3.02 +111 191 1.13 3.02 +123 183 1.965 3.02 +137 155 0 3.02 +193 255 2.28 3.02 +209 20 0.79 3.02 +210 206 2.125 3.02 +223 3 2.245 3.02 +226 172 1.975 3.02 +249 198 1.535 3.02 +6 120 1.925 3.025 +29 90 0 3.025 +40 114 0 3.025 +47 90 0 3.025 +78 83 1.755 3.025 +89 95 2.415 3.025 +106 185 0 3.025 +117 76 2.28 3.025 +182 250 0 3.025 +206 17 0 3.025 +237 31 2.455 3.025 +252 38 2.325 3.025 +37 53 1.695 3.03 +37 51 0 3.03 +199 133 2.5 3.03 +206 19 1.71 3.03 +224 41 1.78 3.03 +248 197 0 3.03 +16 19 0.835 3.035 +75 129 0.96 3.035 +86 153 0 3.035 +124 151 1.35 3.035 +176 46 1.595 3.035 +180 175 0.54 3.035 +213 196 2.265 3.035 +228 34 0 3.035 +235 57 0 3.035 +26 16 2.425 3.04 +55 169 2.43 3.04 +105 157 1.955 3.04 +110 176 1.445 3.04 +117 124 0 3.04 +119 151 2.495 3.04 +132 17 1.505 3.04 +168 171 2.44 3.04 +174 177 2.14 3.04 +201 73 2.43 3.04 +203 17 1.365 3.04 +205 204 1.325 3.04 +247 198 2.42 3.04 +4 30 2.315 3.045 +8 18 0 3.045 +40 53 2.395 3.045 +74 4 1.04 3.045 +89 157 0.57 3.045 +98 117 0 3.045 +198 199 1.51 3.045 +218 31 1.575 3.045 +234 45 0.22 3.045 +247 118 2.455 3.045 +5 12 2.52 3.05 +24 51 1.575 3.05 +44 64 2.345 3.05 +45 64 1.425 3.05 +52 9 2.34 3.05 +84 147 0 3.05 +98 116 0 3.05 +116 133 0.915 3.05 +117 183 1.65 3.05 +137 132 2.355 3.05 +189 203 2.13 3.05 +190 164 0 3.05 +223 33 2.185 3.05 +234 224 0 3.05 +238 242 0.685 3.05 +53 98 1.89 3.055 +86 90 0 3.055 +96 89 0 3.055 +139 205 1.285 3.055 +140 214 1.52 3.055 +145 209 0 3.055 +200 3 0 3.055 +202 143 1.65 3.055 +202 205 0 3.055 +223 200 2.33 3.055 +3 18 2.245 3.06 +27 154 0.465 3.06 +31 44 2.485 3.06 +62 37 2.26 3.06 +66 133 2.285 3.06 +78 89 2.32 3.06 +166 170 0 3.06 +206 4 1.92 3.06 +255 52 0 3.06 +17 221 0 3.065 +59 170 2.28 3.065 +98 181 0 3.065 +108 184 2.495 3.065 +110 177 0.615 3.065 +119 72 2.49 3.065 +126 76 2.425 3.065 +166 168 0 3.065 +196 200 1.77 3.065 +45 256 1.06 3.07 +55 133 2.505 3.07 +86 156 2.455 3.07 +86 165 2.495 3.07 +102 183 1.145 3.07 +125 170 0 3.07 +147 100 2.445 3.07 +153 233 2.015 3.07 +167 237 1.685 3.07 +206 31 0.095 3.07 +224 251 1.135 3.07 +228 255 0 3.07 +2 69 0 3.075 +15 3 0 3.075 +27 103 1.22 3.075 +32 42 2.51 3.075 +70 130 2.38 3.075 +109 170 1.88 3.075 +142 145 0 3.075 +143 17 1.345 3.075 +176 224 0 3.075 +201 118 2.165 3.075 +208 74 0.385 3.075 +37 99 2.44 3.08 +46 256 0 3.08 +58 7 2.575 3.08 +62 203 0 3.08 +75 191 2.3 3.08 +116 129 0 3.08 +136 140 1.24 3.08 +139 155 0 3.08 +152 194 0 3.08 +170 177 2.175 3.08 +180 253 0 3.08 +213 242 0.525 3.08 +244 206 1.83 3.08 +33 98 0 3.085 +39 165 2.47 3.085 +49 51 0 3.085 +67 117 2.035 3.085 +145 132 0 3.085 +176 164 0 3.085 +243 3 1.625 3.085 +55 165 2.5 3.09 +106 73 2.045 3.09 +123 155 1.425 3.09 +155 205 0 3.09 +169 121 2.355 3.09 +181 134 0.845 3.09 +198 60 2.295 3.09 +104 185 0 3.095 +158 196 1.025 3.095 +164 255 2.535 3.095 +185 241 2.185 3.095 +189 186 0 3.095 +227 236 2.135 3.095 +230 251 0 3.095 +233 229 0 3.095 +24 98 1.325 3.1 +44 112 2.225 3.1 +49 56 2.565 3.1 +54 185 1.725 3.1 +65 20 2.425 3.1 +76 96 0 3.1 +102 233 2.54 3.1 +117 241 2.335 3.1 +181 226 2.265 3.1 +206 195 1.89 3.1 +211 231 2.56 3.1 +13 50 1.96 3.105 +63 177 0.675 3.105 +74 81 1.365 3.105 +78 76 2.415 3.105 +103 185 0 3.105 +105 214 2.59 3.105 +106 90 0 3.105 +130 150 1.745 3.105 +147 214 2.33 3.105 +154 141 2.09 3.105 +186 204 2.525 3.105 +208 11 0 3.105 +216 224 1.985 3.105 +224 16 2.34 3.105 +241 193 0 3.105 +247 250 1.85 3.105 +14 52 0 3.11 +101 100 0 3.11 +108 168 0.15 3.11 +153 157 0 3.11 +179 210 2.08 3.11 +235 184 2.495 3.11 +252 205 2.605 3.11 +10 95 2.115 3.115 +40 185 1.45 3.115 +48 99 2.585 3.115 +73 52 2.585 3.115 +76 155 0 3.115 +119 89 2.42 3.115 +179 140 1.335 3.115 +181 193 2.095 3.115 +34 88 2.485 3.12 +40 56 0 3.12 +85 98 2.25 3.12 +162 129 0.675 3.12 +193 243 2.12 3.12 +222 180 2.45 3.12 +22 236 2.475 3.125 +27 90 0 3.125 +67 241 2.375 3.125 +87 124 0.695 3.125 +153 152 1.77 3.125 +157 171 0 3.125 +163 209 0 3.125 +29 24 2.405 3.13 +50 3 0 3.13 +55 110 2.56 3.13 +67 182 2.6 3.13 +83 97 0 3.13 +108 230 1.61 3.13 +109 121 1.86 3.13 +140 246 1.74 3.13 +158 100 1.145 3.13 +192 159 1.43 3.13 +210 17 0 3.13 +229 235 1.6 3.13 +61 252 0 3.135 +149 209 2.125 3.135 +153 150 0 3.135 +160 171 2.58 3.135 +174 190 0 3.135 +174 253 1.175 3.135 +202 31 0.935 3.135 +221 32 2.5 3.135 +45 252 1.13 3.14 +70 137 0 3.14 +75 155 0.635 3.14 +214 194 1.67 3.14 +215 31 1.96 3.14 +249 135 2.255 3.14 +23 18 2.015 3.145 +27 111 2.055 3.145 +50 1 0 3.145 +107 176 0 3.145 +130 209 2.14 3.145 +143 14 2.27 3.145 +151 194 0 3.145 +164 240 0 3.145 +205 9 1.21 3.145 +218 216 0.94 3.145 +241 135 2.235 3.145 +5 1 0 3.15 +94 36 0.97 3.15 +120 67 0 3.15 +140 218 1.55 3.15 +175 232 1.37 3.15 +207 203 0 3.15 +15 74 0.2 3.155 +19 23 2.225 3.155 +67 162 0.495 3.155 +76 80 2.585 3.155 +96 84 0 3.155 +169 168 0 3.155 +174 238 2.355 3.155 +201 59 1.925 3.155 +222 31 1.545 3.155 +233 157 1.88 3.155 +243 194 2.185 3.155 +250 197 0.695 3.155 +48 109 0 3.16 +70 133 1.39 3.16 +143 208 1.505 3.16 +43 95 1.9 3.165 +51 67 2.11 3.165 +65 70 2.505 3.165 +164 178 0 3.165 +38 60 2.375 3.17 +41 103 2.045 3.17 +203 126 2.19 3.17 +205 17 0.985 3.17 +9 122 1.435 3.175 +57 112 2.4 3.175 +93 95 0 3.175 +105 233 2.545 3.175 +125 90 0.265 3.175 +146 178 2.44 3.175 +172 252 2.55 3.175 +184 60 2.66 3.175 +190 191 0 3.175 +28 90 0 3.18 +41 31 2.305 3.18 +115 241 1.59 3.18 +118 104 2.49 3.18 +153 149 0 3.18 +173 176 0 3.18 +200 212 2.605 3.18 +212 216 2.06 3.18 +244 203 2.085 3.18 +32 83 2.245 3.185 +64 4 2.685 3.185 +82 34 0.34 3.185 +95 97 0 3.185 +108 235 2.225 3.185 +130 179 2.62 3.185 +214 211 2.545 3.185 +226 178 2.295 3.185 +240 252 2.68 3.185 +2 20 0 3.19 +6 31 2.58 3.19 +11 53 2.65 3.19 +68 84 2.345 3.19 +78 43 2.54 3.19 +81 84 0 3.19 +163 211 2.49 3.19 +167 211 2.535 3.19 +170 235 2.56 3.19 +174 192 2.34 3.19 +218 22 0.59 3.19 +250 11 2.2 3.19 +37 236 0 3.195 +38 121 2.03 3.195 +169 170 0 3.195 +172 240 2.615 3.195 +194 17 1.01 3.195 +207 62 0 3.195 +236 54 0 3.195 +26 109 2.485 3.2 +38 106 1.125 3.2 +75 234 2.42 3.2 +89 155 2.395 3.2 +93 82 1.275 3.2 +94 101 2.7 3.2 +113 79 2.695 3.2 +171 220 2.59 3.2 +230 246 0 3.2 +242 199 2.495 3.2 +39 150 2.15 3.205 +103 115 2.6 3.205 +104 179 2.65 3.205 +112 77 1.91 3.205 +120 131 0 3.205 +142 160 0 3.205 +143 244 2.39 3.205 +207 253 0 3.205 +212 36 0.99 3.205 +249 140 1.94 3.205 +249 58 0 3.205 +122 74 2.06 3.21 +129 206 1.76 3.21 +140 197 0 3.21 +146 97 1 3.21 +148 211 0 3.21 +157 107 2.015 3.21 +172 253 2.345 3.21 +181 140 2.545 3.21 +202 6 0 3.21 +216 19 2.04 3.21 +235 31 2.315 3.21 +45 62 0.28 3.215 +53 8 2.225 3.215 +54 103 2.205 3.215 +61 58 0 3.215 +62 11 0 3.215 +75 178 1.745 3.215 +83 100 0.405 3.215 +90 107 0 3.215 +123 76 0.49 3.215 +131 254 0 3.215 +193 254 0 3.215 +207 144 2.325 3.215 +207 195 0 3.215 +41 109 2.17 3.22 +93 2 1.33 3.22 +100 178 0 3.22 +190 255 1.88 3.22 +212 82 0.645 3.22 +217 22 0.145 3.22 +53 69 2.4 3.225 +111 108 1.12 3.225 +122 96 2.385 3.225 +178 168 2.53 3.225 +213 218 1.145 3.225 +233 165 0.825 3.225 +243 57 2.26 3.225 +7 91 2.315 3.23 +57 166 2.355 3.23 +81 116 2.115 3.23 +158 173 0 3.23 +202 14 1.855 3.23 +206 256 0 3.23 +222 171 0 3.23 +5 71 2.35 3.235 +14 53 0.91 3.235 +48 52 0.695 3.235 +100 175 0 3.235 +112 176 0 3.235 +122 76 0.615 3.235 +127 171 0.25 3.235 +136 242 0 3.235 +146 127 2.735 3.235 +147 223 2.005 3.235 +157 191 2.39 3.235 +182 242 0 3.235 +23 119 2.605 3.24 +120 104 1.845 3.24 +207 159 1.05 3.24 +225 223 0 3.24 +227 247 2.06 3.24 +233 170 2.71 3.24 +7 86 2.07 3.245 +55 125 0.375 3.245 +56 69 0 3.245 +81 101 2.57 3.245 +100 163 0 3.245 +148 223 0 3.245 +181 123 2.515 3.245 +207 186 2.555 3.245 +9 76 0.74 3.25 +113 67 0.925 3.25 +142 136 2.07 3.25 +172 224 1.89 3.25 +172 245 0 3.25 +187 155 1.15 3.25 +212 17 0 3.25 +228 230 2.35 3.25 +234 186 0.455 3.25 +39 169 2.065 3.255 +45 20 2.74 3.255 +48 35 2.095 3.255 +75 205 1.36 3.255 +78 94 2.185 3.255 +92 108 0 3.255 +94 68 2.675 3.255 +107 127 0 3.255 +194 211 0 3.255 +194 216 0 3.255 +15 19 2.73 3.26 +17 82 2.68 3.26 +109 103 1.675 3.26 +111 102 2.31 3.26 +128 79 0 3.26 +175 20 2.4 3.26 +179 217 2.4 3.26 +256 59 0 3.26 +55 109 1.415 3.265 +61 125 0 3.265 +72 145 0 3.265 +75 144 2.545 3.265 +78 82 2.115 3.265 +81 130 0 3.265 +94 89 2.65 3.265 +111 127 0 3.265 +139 131 2.745 3.265 +152 22 1.335 3.265 +204 60 0.29 3.265 +62 17 1.7 3.27 +76 138 0 3.27 +122 114 2.635 3.27 +156 171 0 3.27 +176 186 2.055 3.27 +223 5 2.525 3.27 +226 50 1.7 3.27 +37 57 2.015 3.275 +50 60 2.18 3.275 +58 52 1.05 3.275 +65 122 1.455 3.275 +106 169 2.155 3.275 +133 162 0.525 3.275 +146 161 0 3.275 +188 246 0 3.275 +224 42 0 3.275 +225 22 1.395 3.275 +61 42 0 3.28 +81 43 2.625 3.28 +111 128 2.43 3.28 +145 150 1.41 3.28 +146 102 2.14 3.28 +149 159 1.115 3.28 +167 224 1.95 3.28 +172 176 0 3.28 +181 139 2.61 3.28 +207 206 0 3.28 +223 46 1.675 3.28 +226 184 2.465 3.28 +44 166 2.23 3.285 +48 58 0.47 3.285 +57 119 2.585 3.285 +71 82 2.605 3.285 +103 145 1.965 3.285 +130 145 0 3.285 +146 100 0 3.285 +166 73 2.315 3.285 +172 231 0 3.285 +184 195 0 3.285 +188 245 1.335 3.285 +206 15 1.795 3.285 +216 25 0 3.285 +27 112 2.09 3.29 +81 157 2.675 3.29 +166 137 2.775 3.29 +207 49 2.355 3.29 +18 28 1.5 3.295 +51 166 2.125 3.295 +78 30 2.17 3.295 +109 171 2 3.295 +117 162 0 3.295 +126 3 0 3.295 +196 53 2.775 3.295 +204 7 2.53 3.295 +231 50 2.62 3.295 +249 201 0.82 3.295 +253 203 0 3.295 +36 64 0.355 3.3 +44 109 0 3.3 +56 70 2.34 3.3 +81 69 0 3.3 +99 103 0 3.3 +192 155 0.535 3.3 +216 28 1.73 3.3 +223 30 0 3.3 +51 98 0 3.305 +107 97 2.105 3.305 +161 239 0.295 3.305 +204 10 0 3.305 +216 23 0 3.305 +88 145 0 3.31 +104 100 0 3.31 +107 75 2.445 3.31 +113 122 1.02 3.31 +126 69 2.57 3.31 +149 193 1.195 3.31 +206 212 1.575 3.31 +216 18 0 3.31 +249 50 1.4 3.31 +6 10 1.345 3.315 +14 20 0 3.315 +32 89 2.58 3.315 +62 58 0 3.315 +62 114 1.82 3.315 +62 196 2.76 3.32 +62 126 2.81 3.32 +68 145 0 3.32 +126 17 2.575 3.32 +136 211 0 3.32 +154 171 0 3.32 +158 218 2.81 3.32 +188 186 0 3.32 +244 126 2.785 3.32 +256 126 2.155 3.32 +42 107 2.82 3.325 +139 245 0.945 3.325 +143 254 0 3.325 +160 100 2.8 3.325 +172 26 1.745 3.325 +212 16 2.51 3.325 +230 37 0 3.325 +254 184 2 3.325 +4 82 0 3.33 +95 174 1.72 3.33 +131 245 0 3.33 +148 239 0 3.33 +151 165 2.8 3.33 +167 219 2.76 3.33 +180 49 2.38 3.33 +236 50 2.555 3.33 +241 230 2.165 3.33 +256 11 0 3.33 +42 97 2.46 3.335 +58 63 0 3.335 +66 99 2.25 3.335 +127 164 0 3.335 +150 241 2.475 3.335 +170 186 0 3.335 +179 244 2.345 3.335 +236 245 1.02 3.335 +249 224 2.8 3.335 +2 82 0.535 3.34 +49 50 1.815 3.34 +128 177 0 3.34 +174 164 2.225 3.34 +229 35 2.835 3.34 +245 252 1.02 3.34 +2 87 2.705 3.345 +47 51 1.745 3.345 +63 11 0 3.345 +80 130 1.425 3.345 +111 233 2.11 3.345 +144 221 0 3.345 +164 245 0 3.345 +170 249 1.95 3.345 +178 184 2.835 3.345 +195 3 0 3.345 +249 251 0 3.345 +1 8 0 3.35 +24 92 2.47 3.35 +27 32 0 3.35 +59 77 0 3.35 +179 195 1.745 3.35 +227 35 0 3.35 +4 69 0 3.355 +19 35 2.075 3.355 +48 243 2.795 3.355 +50 53 0 3.355 +59 12 2.655 3.355 +69 82 0.875 3.355 +84 222 0.905 3.355 +170 140 2.84 3.355 +190 186 0 3.355 +203 12 2.83 3.355 +50 118 2.35 3.36 +55 64 1.72 3.36 +55 123 2.02 3.36 +58 255 0 3.36 +59 97 2.855 3.36 +61 64 0 3.36 +105 171 1.34 3.36 +111 222 0.72 3.36 +177 254 0 3.36 +221 20 1.99 3.36 +225 193 2.65 3.36 +230 245 0 3.36 +14 30 2.335 3.365 +84 160 2.515 3.365 +86 169 0 3.365 +146 168 0 3.365 +4 90 2.675 3.37 +42 47 0 3.37 +46 42 0 3.37 +75 140 2.87 3.37 +80 72 2.07 3.37 +86 166 1.8 3.37 +89 102 2.045 3.37 +94 105 1.945 3.37 +167 200 2.535 3.37 +172 236 0 3.37 +228 24 0.895 3.37 +240 93 2.745 3.37 +1 2 0 3.375 +55 185 0.43 3.375 +106 171 2.875 3.375 +122 190 1.055 3.375 +122 192 1.925 3.375 +146 183 1.91 3.375 +175 30 0.115 3.375 +201 64 2.49 3.375 +206 58 2.36 3.375 +66 24 0 3.38 +73 28 2.535 3.38 +106 117 1.155 3.38 +125 105 2.71 3.38 +190 254 0 3.38 +238 36 0.29 3.38 +256 52 1.28 3.38 +54 181 1.215 3.385 +178 254 0 3.385 +180 143 0 3.385 +180 168 0 3.385 +202 29 2.005 3.385 +203 31 0.945 3.385 +206 132 0 3.385 +214 171 0.3 3.385 +4 31 0 3.39 +199 40 2.425 3.39 +240 47 2.785 3.39 +244 194 0 3.39 +244 64 2.775 3.39 +4 77 0 3.395 +10 102 2.435 3.395 +11 65 1.55 3.395 +60 8 1.615 3.395 +126 95 2.415 3.395 +142 206 2.545 3.395 +167 22 1.865 3.395 +188 192 0 3.395 +197 56 1.59 3.395 +223 20 0 3.395 +14 74 0.535 3.4 +65 83 2.375 3.4 +96 140 2.855 3.4 +131 195 0 3.4 +163 220 1.535 3.4 +170 253 0 3.4 +179 5 2.6 3.4 +196 15 2.645 3.4 +227 66 1.345 3.4 +254 196 0 3.4 +256 36 2.035 3.4 +1 120 2.815 3.405 +4 85 2.885 3.405 +22 24 0 3.405 +22 44 0 3.405 +45 47 0 3.405 +52 56 0 3.405 +57 8 2.57 3.405 +68 101 2.56 3.405 +137 67 1.335 3.405 +164 232 0.165 3.405 +172 229 0 3.405 +246 215 1.375 3.405 +75 141 0 3.41 +92 166 1.37 3.41 +125 107 0 3.41 +126 93 2.285 3.41 +144 253 0.375 3.41 +155 203 0 3.41 +189 251 1.15 3.41 +197 211 2.745 3.41 +243 184 0 3.41 +22 39 0 3.415 +38 166 2.06 3.415 +45 16 2.515 3.415 +224 27 0 3.415 +228 85 2.9 3.415 +237 208 2.595 3.415 +126 32 2.515 3.42 +135 245 0.75 3.42 +195 215 1.445 3.42 +196 1 1.575 3.42 +197 70 2.14 3.42 +202 239 1.945 3.42 +218 29 2.87 3.42 +238 243 0 3.42 +19 72 2.01 3.425 +39 125 2.735 3.425 +105 121 2.86 3.425 +107 122 0.865 3.425 +122 186 0 3.425 +167 228 2.075 3.425 +197 60 1.625 3.425 +200 85 1.35 3.425 +255 33 1.97 3.425 +38 103 1.865 3.43 +43 99 2.55 3.43 +62 250 2.785 3.43 +75 188 0 3.43 +75 143 0.6 3.43 +154 160 0 3.43 +172 220 0 3.43 +203 60 0 3.43 +204 28 0 3.43 +241 172 1.995 3.43 +246 12 2.85 3.43 +247 5 1.665 3.43 +11 112 1.245 3.435 +16 27 2.17 3.435 +22 37 0 3.435 +45 39 2.84 3.435 +45 63 1.385 3.435 +81 111 2.805 3.435 +118 181 0 3.435 +123 190 2.81 3.435 +213 184 0.56 3.435 +247 242 1.155 3.435 +248 8 2.36 3.435 +49 244 0 3.44 +54 177 2.94 3.44 +60 23 1.69 3.44 +95 160 2.555 3.44 +100 253 2.94 3.44 +142 149 1.785 3.44 +144 6 1.425 3.44 +155 208 2.69 3.44 +199 115 2.435 3.44 +236 118 2.38 3.44 +22 85 0 3.445 +60 25 2.135 3.445 +184 56 2.81 3.445 +214 29 2.885 3.445 +234 198 2.68 3.445 +246 195 2.265 3.445 +246 203 2.655 3.445 +45 59 2.625 3.45 +134 82 1.545 3.45 +173 220 2.055 3.45 +179 213 1.795 3.45 +209 5 2.925 3.45 +217 167 2.25 3.45 +221 29 2.905 3.45 +238 30 2.83 3.45 +241 188 2.38 3.45 +1 69 2.42 3.455 +55 251 2.78 3.455 +57 40 0 3.455 +93 74 0 3.455 +149 67 0 3.455 +190 242 2.28 3.455 +191 205 2.695 3.455 +194 8 2.705 3.455 +203 239 2.925 3.455 +241 247 1.255 3.455 +250 196 2.925 3.455 +253 49 0 3.455 +254 247 2.22 3.455 +24 87 2.85 3.46 +49 247 2.58 3.46 +65 79 0 3.46 +112 169 2.115 3.46 +144 13 0.525 3.46 +153 139 2.84 3.46 +153 215 2.88 3.46 +205 221 2.915 3.46 +212 43 2.48 3.46 +236 39 0 3.46 +12 121 2.54 3.465 +45 94 2.45 3.465 +65 67 0 3.465 +94 74 0 3.465 +95 149 2.91 3.465 +164 237 2.775 3.465 +227 33 0 3.465 +233 176 0 3.465 +248 40 0.375 3.465 +125 174 0 3.47 +131 184 0 3.47 +133 68 1.985 3.47 +175 227 2.72 3.47 +179 198 1.555 3.47 +191 250 2.905 3.47 +192 140 2.91 3.47 +255 64 0 3.47 +52 17 1.795 3.475 +83 103 2.8 3.475 +109 108 0 3.475 +147 167 2.39 3.475 +154 172 2.935 3.475 +211 70 2.44 3.475 +226 36 2.695 3.475 +231 85 2.83 3.475 +242 184 0 3.475 +17 93 1.36 3.48 +54 104 1.81 3.48 +150 171 0 3.48 +179 243 0 3.48 +189 48 2.595 3.48 +214 168 0 3.48 +217 184 1.385 3.48 +221 16 1.575 3.48 +223 66 1.955 3.48 +226 212 2.845 3.48 +246 59 2.105 3.48 +246 120 2.355 3.48 +248 39 0.94 3.48 +41 87 2.54 3.485 +44 125 0 3.485 +81 47 0 3.485 +139 213 0.675 3.485 +139 193 2.9 3.485 +150 220 1.365 3.485 +246 8 2.31 3.485 +13 221 2.505 3.49 +15 17 1.34 3.49 +65 158 2.535 3.49 +109 169 1.66 3.49 +127 69 2.99 3.49 +191 62 2.895 3.49 +195 197 0 3.49 +211 8 2.945 3.49 +231 40 1.645 3.49 +103 177 2.845 3.495 +136 167 2.045 3.495 +151 220 0 3.495 +155 219 0 3.495 +174 98 2.76 3.495 +204 216 2.885 3.495 +211 4 0 3.495 +225 21 2.785 3.495 +241 249 2.06 3.495 +9 90 2.68 3.5 +38 104 1.85 3.5 +65 90 2.82 3.5 +164 61 2.59 3.5 +226 33 0 3.5 +243 52 2.865 3.5 +12 138 2.66 3.505 +91 105 0 3.505 +100 226 0.44 3.505 +117 131 1.66 3.505 +129 184 2.15 3.505 +181 254 2.08 3.505 +225 220 1.43 3.505 +1 93 1.595 3.51 +61 53 1.7 3.51 +84 158 0 3.51 +88 166 0 3.51 +94 27 1.9 3.51 +100 254 1.76 3.51 +104 108 0 3.51 +122 79 0 3.51 +129 13 1.83 3.51 +153 141 3.005 3.51 +159 13 2.17 3.51 +225 151 2.245 3.51 +243 196 2.65 3.51 +246 251 0 3.51 +3 82 2.425 3.515 +5 4 2.975 3.515 +13 209 2.77 3.515 +96 145 0 3.515 +110 113 0 3.515 +125 102 1.505 3.515 +125 98 2.365 3.515 +165 254 2.985 3.515 +195 1 0 3.515 +246 25 2.655 3.515 +6 29 2.24 3.52 +24 166 2.25 3.52 +35 54 2.885 3.52 +45 32 0 3.52 +50 120 2.36 3.52 +62 248 2.98 3.52 +64 12 2.9 3.52 +75 189 0 3.52 +86 134 0.585 3.52 +165 247 2.85 3.52 +202 200 3.015 3.52 +215 211 0 3.52 +250 208 0 3.52 +35 103 2.53 3.525 +36 177 2.77 3.525 +59 15 0.425 3.525 +65 82 2.415 3.525 +75 207 2.505 3.525 +86 109 1.79 3.525 +121 165 2.465 3.525 +128 124 2.995 3.525 +152 195 1.78 3.525 +157 224 2.93 3.525 +212 61 1.41 3.525 +244 52 0 3.525 +245 195 0.76 3.525 +252 59 0 3.525 +22 16 2.255 3.53 +48 53 1.71 3.53 +71 181 0 3.53 +114 131 2.585 3.53 +191 255 0 3.53 +196 93 2.1 3.53 +205 243 2.885 3.53 +205 1 0.75 3.53 +215 2 2.01 3.53 +6 59 1.975 3.535 +7 134 1.015 3.535 +43 84 2.33 3.535 +59 52 1.905 3.535 +143 136 1.105 3.535 +143 210 2.475 3.535 +154 233 0 3.535 +166 163 2.995 3.535 +175 37 1.52 3.535 +187 141 2.57 3.535 +211 81 2.92 3.535 +249 194 2.32 3.535 +12 93 2.98 3.54 +90 83 2.58 3.54 +112 116 2.295 3.54 +185 91 2.975 3.54 +5 60 0 3.545 +6 208 1.2 3.545 +18 34 0 3.545 +46 94 2.945 3.545 +72 103 2.165 3.545 +75 67 1.635 3.545 +95 79 2.755 3.545 +95 147 2.855 3.545 +205 251 0 3.545 +215 21 0 3.545 +226 62 2.745 3.545 +60 16 2.965 3.55 +92 213 2.87 3.55 +109 156 2.52 3.55 +145 152 0 3.55 +157 221 0 3.55 +161 189 2.795 3.55 +203 251 0 3.55 +214 26 1.47 3.55 +242 36 2.92 3.55 +3 21 0 3.555 +49 256 0 3.555 +59 124 2.985 3.555 +133 132 2.93 3.555 +146 166 0 3.555 +161 61 2.865 3.555 +191 49 1.395 3.555 +197 210 1.245 3.555 +12 122 0 3.56 +35 177 2.885 3.56 +60 12 0 3.56 +156 172 2.07 3.56 +156 219 2.705 3.56 +170 207 2.985 3.56 +6 251 2.905 3.565 +6 21 0 3.565 +19 82 0 3.565 +49 242 2.41 3.565 +79 131 1.36 3.565 +129 243 1.81 3.565 +183 236 2.535 3.565 +202 25 0 3.565 +219 21 2.94 3.565 +48 59 0 3.57 +62 56 1.9 3.57 +91 169 3.025 3.57 +151 172 2.995 3.57 +200 29 2.42 3.57 +205 208 0 3.57 +256 196 2.67 3.57 +9 32 2.54 3.575 +10 44 2.04 3.575 +20 34 1.41 3.575 +60 76 0.545 3.575 +188 236 2.815 3.575 +201 12 1.85 3.575 +210 220 3.07 3.575 +215 41 0 3.575 +233 188 2.47 3.575 +239 27 2.82 3.575 +246 23 1.905 3.575 +9 251 2.875 3.58 +14 224 3.075 3.58 +55 73 0 3.58 +94 96 0 3.58 +118 108 2.565 3.58 +192 13 1.52 3.58 +238 256 0 3.58 +80 67 1.55 3.585 +104 121 2.375 3.585 +163 49 2.685 3.585 +242 1 0 3.585 +85 103 0 3.59 +109 39 1.68 3.59 +133 207 3.045 3.59 +139 236 1.75 3.59 +184 193 0 3.59 +222 30 0 3.59 +223 1 1.54 3.59 +248 117 1.065 3.59 +9 80 2.475 3.595 +38 42 2.235 3.595 +59 63 0 3.595 +85 34 2.3 3.595 +85 38 1.66 3.595 +90 82 2.61 3.595 +99 158 0.785 3.595 +157 143 3.02 3.595 +157 132 2.995 3.595 +198 23 1.735 3.595 +199 71 0.825 3.595 +201 13 2.57 3.595 +201 251 0.615 3.595 +213 246 2.44 3.595 +213 21 2.12 3.595 +223 32 1.82 3.595 +4 52 0 3.6 +11 4 2.01 3.6 +43 102 2.275 3.6 +62 242 2.43 3.6 +98 166 0 3.6 +148 152 0 3.6 +184 5 0.955 3.6 +219 27 2.87 3.6 +240 31 2.48 3.6 +46 32 1.825 3.605 +62 51 0 3.605 +113 69 1.145 3.605 +133 72 0 3.605 +159 152 2.735 3.605 +174 189 0 3.605 +204 23 0 3.605 +96 218 2.665 3.61 +127 161 0 3.61 +140 252 3.025 3.61 +158 152 2.705 3.61 +204 12 0 3.61 +1 66 1.575 3.615 +37 54 2.03 3.615 +88 164 2.915 3.615 +152 228 2.035 3.615 +200 204 0 3.615 +200 41 1.335 3.615 +203 224 3.1 3.615 +1 19 0.755 3.62 +55 108 0 3.62 +88 98 0 3.62 +98 103 1.35 3.62 +133 193 1.285 3.62 +208 12 0 3.62 +232 51 1.525 3.62 +240 125 2.82 3.62 +255 17 1.405 3.62 +13 208 0 3.625 +19 31 2.865 3.625 +22 89 2.935 3.625 +32 106 3.115 3.625 +32 97 0 3.625 +48 110 0 3.625 +62 15 0 3.625 +91 206 3.055 3.625 +109 102 1.66 3.625 +119 179 3.025 3.625 +121 71 2.985 3.625 +177 164 0 3.625 +192 253 0 3.625 +229 236 0 3.625 +7 185 2.49 3.63 +142 90 2.92 3.63 +198 155 0 3.63 +215 229 2.755 3.63 +223 65 2.625 3.63 +241 49 2.65 3.63 +24 106 2.535 3.635 +80 83 1.51 3.635 +108 150 0 3.635 +219 41 1.95 3.635 +238 253 0 3.635 +243 5 0 3.635 +35 51 0 3.64 +43 97 1.025 3.64 +66 83 0 3.64 +116 180 0 3.64 +149 105 2.6 3.64 +156 216 2.775 3.64 +173 95 1.16 3.64 +175 237 0 3.64 +188 230 2.47 3.64 +211 93 2.075 3.64 +232 236 0 3.64 +11 90 3.05 3.645 +55 181 0.985 3.645 +97 161 1.975 3.645 +107 185 0 3.645 +112 124 0 3.645 +190 162 0 3.645 +195 227 2.82 3.645 +20 63 2.8 3.65 +22 8 3.05 3.65 +46 19 2.66 3.65 +58 208 0 3.65 +81 83 0 3.65 +87 83 2.91 3.65 +124 192 0.5 3.65 +185 178 2.24 3.65 +203 25 1.77 3.65 +13 204 2.51 3.655 +31 110 3.1 3.655 +71 182 3.025 3.655 +107 123 0 3.655 +118 137 0 3.655 +122 80 0 3.655 +123 234 0.195 3.655 +128 36 1.165 3.655 +184 197 0 3.655 +190 179 1.6 3.655 +237 26 0 3.655 +245 37 2.075 3.655 +31 47 0 3.66 +90 99 2.475 3.66 +90 158 0 3.66 +160 93 3.08 3.66 +196 5 2.45 3.66 +202 216 2.705 3.66 +228 245 2.395 3.66 +24 89 2.975 3.665 +86 43 2.805 3.665 +96 173 0 3.665 +204 11 0.26 3.665 +217 206 3.14 3.665 +222 93 2.655 3.665 +12 78 0.945 3.67 +33 34 0 3.67 +37 40 0 3.67 +116 207 2.81 3.67 +123 176 0 3.67 +153 96 0 3.67 +156 220 0 3.67 +167 236 0.99 3.67 +179 143 2.72 3.67 +217 220 0 3.67 +240 33 0 3.67 +21 10 2.535 3.675 +28 71 1.555 3.675 +43 74 1.79 3.675 +62 245 3.135 3.675 +108 137 2.885 3.675 +130 213 2.665 3.675 +149 156 2.42 3.675 +183 187 2.21 3.675 +184 6 0.81 3.675 +245 36 2.98 3.675 +12 32 2.52 3.68 +14 12 2.82 3.68 +106 123 2.855 3.68 +129 141 0 3.68 +162 179 0 3.68 +174 99 2.355 3.68 +199 121 1.735 3.68 +15 114 0 3.685 +27 74 0 3.685 +138 95 0 3.685 +188 194 3.005 3.685 +192 132 0 3.685 +22 43 2.995 3.69 +39 110 2.655 3.69 +59 126 0 3.69 +137 184 0 3.69 +153 144 2.845 3.69 +206 13 0 3.69 +219 30 0 3.69 +225 241 2.755 3.69 +240 42 0 3.69 +3 118 2.905 3.695 +12 80 2.91 3.695 +62 34 0 3.695 +75 176 1.945 3.695 +109 161 1.915 3.695 +135 196 3.195 3.695 +167 245 0 3.695 +180 165 2.965 3.695 +205 132 1.78 3.695 +205 195 2.935 3.695 +34 1 2.89 3.7 +126 12 1.645 3.7 +154 202 2.75 3.7 +192 206 0 3.7 +233 253 2.985 3.7 +237 189 2.59 3.7 +238 224 2.935 3.7 +249 44 2.625 3.7 +9 221 2.585 3.705 +24 72 1.035 3.705 +38 115 2.465 3.705 +45 212 2.445 3.705 +90 141 2.995 3.705 +116 143 3.04 3.705 +118 124 0 3.705 +199 70 0.205 3.705 +215 6 0 3.705 +240 49 0 3.705 +34 162 2.805 3.71 +59 185 2.375 3.71 +113 133 2.945 3.71 +159 205 1.765 3.71 +192 254 0 3.71 +210 242 1.615 3.71 +237 238 0 3.71 +249 57 0 3.71 +252 5 3.14 3.71 +4 95 0 3.715 +46 31 1.41 3.715 +55 107 0.69 3.715 +96 154 0 3.715 +108 124 2.595 3.715 +128 77 0 3.715 +148 226 2.9 3.715 +183 252 2.595 3.715 +183 194 2.15 3.715 +252 204 0 3.715 +22 18 0 3.72 +24 98 3.2 3.72 +48 44 0 3.72 +78 10 0 3.72 +120 60 0.995 3.72 +180 179 0 3.72 +192 256 0 3.72 +227 19 0.485 3.72 +4 114 0.575 3.725 +34 88 3.195 3.725 +87 91 0 3.725 +105 166 0 3.725 +119 91 1.87 3.725 +136 156 2.37 3.725 +143 244 3.215 3.725 +148 212 0 3.725 +154 186 3.035 3.725 +34 127 2.935 3.73 +58 12 2.615 3.73 +71 92 1 3.73 +81 158 0 3.73 +93 47 0 3.73 +159 242 3.17 3.73 +203 215 2.985 3.73 +212 227 0 3.73 +212 240 0 3.73 +214 229 0 3.73 +237 219 0 3.73 +20 98 2.175 3.735 +21 71 1.62 3.735 +65 130 0 3.735 +76 186 3.105 3.735 +115 207 3.18 3.735 +119 183 3.205 3.735 +157 100 2.515 3.735 +192 242 2.645 3.735 +5 227 2.91 3.74 +68 88 2.025 3.74 +70 69 0 3.74 +74 95 0 3.74 +153 182 0.915 3.74 +167 234 3.2 3.74 +201 208 0 3.74 +242 2 3.16 3.74 +5 204 2.635 3.745 +38 102 0 3.745 +72 152 2.625 3.745 +143 13 1.025 3.745 +146 169 1.47 3.745 +185 165 1.325 3.745 +213 229 2.57 3.745 +217 219 0 3.745 +51 127 2.92 3.75 +91 151 0 3.75 +186 201 2.375 3.75 +199 3 0 3.75 +17 69 2.585 3.755 +37 82 0 3.755 +171 236 2.835 3.755 +198 208 0.41 3.755 +208 22 2.675 3.755 +222 219 0 3.755 +1 115 2.805 3.76 +6 2 0 3.76 +28 72 3.115 3.76 +45 256 3.18 3.76 +101 164 2.255 3.76 +122 91 1.975 3.76 +166 150 0 3.76 +170 116 2.345 3.76 +182 136 0 3.76 +214 200 1.81 3.76 +224 212 2.665 3.76 +230 42 0 3.76 +45 93 2.5 3.765 +48 97 0 3.765 +51 178 2.04 3.765 +147 214 3.155 3.765 +149 169 1.32 3.765 +165 171 1.9 3.765 +177 179 2.75 3.765 +185 249 2.01 3.765 +197 57 3.065 3.765 +217 201 0 3.765 +221 32 3.195 3.765 +57 73 0 3.77 +80 69 1.62 3.77 +105 165 2.555 3.77 +137 77 3.265 3.77 +144 194 2.44 3.77 +108 133 2.925 3.775 +111 170 0 3.775 +111 171 0 3.775 +116 178 0 3.775 +137 187 2.805 3.775 +179 255 2.485 3.775 +189 179 2.94 3.775 +224 93 2.51 3.775 +245 54 3.12 3.775 +247 194 2.39 3.775 +4 126 0.175 3.78 +6 28 1.57 3.78 +118 133 0 3.78 +133 139 3.15 3.78 +135 242 0 3.78 +143 131 0 3.78 +159 131 3.075 3.78 +192 196 1.11 3.78 +249 187 0 3.78 +252 197 0 3.78 +5 215 1.42 3.785 +43 89 1.8 3.785 +68 178 3.25 3.785 +69 95 2.79 3.785 +97 115 1.755 3.785 +109 59 0 3.785 +109 155 3.245 3.785 +157 206 2.705 3.785 +161 147 2.025 3.785 +176 201 2.99 3.785 +193 19 3.06 3.785 +213 209 2.43 3.785 +237 187 3.13 3.785 +31 95 3.12 3.79 +76 90 0 3.79 +108 73 2.7 3.79 +136 148 0.2 3.79 +137 144 2.875 3.79 +167 241 1.35 3.79 +195 228 3.06 3.79 +250 223 3.27 3.79 +53 98 3.26 3.795 +106 57 0 3.795 +126 113 0 3.795 +128 190 0 3.795 +154 150 0 3.795 +190 176 0 3.795 +210 148 0 3.795 +210 226 3.065 3.795 +232 18 2.475 3.795 +236 201 1.835 3.795 +87 169 2.9 3.8 +145 170 3.095 3.8 +187 252 2.665 3.8 +58 5 3.3 3.805 +106 118 0 3.805 +117 182 0 3.805 +144 252 0.555 3.805 +175 61 1.13 3.805 +247 56 1.51 3.805 +255 223 3.115 3.805 +75 80 0 3.81 +81 99 0 3.81 +99 148 3.035 3.81 +103 171 3.11 3.81 +139 215 0.485 3.81 +198 216 0 3.81 +214 227 1.55 3.81 +215 28 0 3.81 +236 38 0 3.81 +13 16 3.005 3.815 +30 82 1.81 3.815 +48 36 0 3.815 +54 133 1.515 3.815 +68 136 2.24 3.815 +167 171 0 3.815 +192 255 1.545 3.815 +249 179 1.23 3.815 +249 250 0 3.815 +7 21 0 3.82 +23 3 1.155 3.82 +38 27 1.39 3.82 +62 52 0 3.82 +93 10 0 3.82 +99 161 0 3.82 +104 167 3.215 3.82 +114 80 1.715 3.82 +128 114 1.08 3.82 +157 237 0 3.82 +170 189 0 3.82 +225 214 1.7 3.82 +9 57 3.27 3.825 +43 107 2.765 3.825 +69 83 0 3.825 +121 171 2.34 3.825 +134 182 0 3.825 +135 147 3.035 3.825 +141 205 0 3.825 +179 254 0 3.825 +231 42 1.455 3.825 +245 53 3.13 3.825 +252 194 2.44 3.825 +67 135 0.665 3.83 +69 147 3 3.83 +70 73 2.895 3.83 +81 21 3.045 3.83 +88 162 2.545 3.83 +124 139 0 3.83 +134 198 3.165 3.83 +137 91 0 3.83 +191 256 2.785 3.83 +226 227 2.61 3.83 +251 118 3.235 3.83 +10 110 2.715 3.835 +58 44 3.325 3.835 +106 166 1.88 3.835 +115 179 0 3.835 +128 116 0 3.835 +165 179 0 3.835 +183 242 2.855 3.835 +220 42 2.91 3.835 +256 125 2.05 3.835 +4 80 0.515 3.84 +51 133 1.975 3.84 +92 163 2.215 3.84 +134 73 3.135 3.84 +144 246 0.475 3.84 +152 162 3.05 3.84 +153 138 0 3.84 +186 205 0 3.84 +210 221 2.5 3.84 +241 184 0 3.84 +243 247 0 3.84 +256 223 3.015 3.84 +15 12 2.58 3.845 +33 82 0 3.845 +39 43 0 3.845 +48 106 0 3.845 +60 52 3.275 3.845 +85 92 0 3.845 +113 56 0 3.845 +119 138 3.32 3.845 +127 181 3.23 3.845 +171 230 0 3.845 +181 207 3.155 3.845 +213 163 2.8 3.845 +218 216 3.275 3.845 +50 252 0.145 3.85 +68 132 0 3.85 +135 216 0.955 3.85 +184 144 1.285 3.85 +217 200 0.825 3.85 +33 97 0 3.855 +97 116 2.22 3.855 +117 188 1.59 3.855 +134 140 2.51 3.855 +160 228 3.315 3.855 +173 235 0.075 3.855 +20 110 2.92 3.86 +23 72 3.345 3.86 +70 154 3.265 3.86 +150 218 3.205 3.86 +153 198 0 3.86 +168 242 2.875 3.86 +195 221 2.62 3.86 +207 179 1.755 3.86 +213 2 2.23 3.86 +224 61 1.165 3.86 +226 211 2.615 3.86 +33 101 0 3.865 +54 23 3.355 3.865 +60 77 0 3.865 +68 146 3.095 3.865 +146 92 2.05 3.865 +243 114 3.295 3.865 +68 141 0 3.87 +68 131 1.97 3.87 +68 147 0 3.87 +96 82 3.105 3.87 +142 155 0.45 3.87 +149 135 0 3.87 +151 140 0 3.87 +173 150 2.99 3.87 +193 244 0 3.87 +232 35 2.59 3.87 +233 191 2.835 3.87 +11 80 0 3.875 +69 143 3.03 3.875 +193 214 3.165 3.875 +216 29 2.27 3.875 +234 42 3.21 3.875 +246 11 2.745 3.875 +252 203 0 3.875 +8 133 1.52 3.88 +26 248 2.72 3.88 +78 122 0.55 3.88 +115 180 0 3.88 +133 87 0.37 3.88 +161 206 3.1 3.88 +163 227 2.745 3.88 +193 215 2.745 3.88 +247 6 3.205 3.88 +65 95 0 3.885 +72 92 0.875 3.885 +76 149 3.175 3.885 +83 210 3.005 3.885 +172 179 3.165 3.885 +181 167 3.165 3.885 +183 254 2.1 3.885 +186 161 3.37 3.885 +188 201 0 3.885 +211 232 3.275 3.885 +233 222 1.225 3.885 +21 76 2.97 3.89 +70 119 0.725 3.89 +86 71 1.2 3.89 +133 73 0.425 3.89 +151 198 0 3.89 +151 155 0 3.89 +156 150 0 3.89 +173 170 0 3.89 +193 140 3.31 3.89 +203 6 0 3.89 +213 169 3.18 3.89 +251 57 0 3.89 +55 106 0 3.895 +64 114 2.535 3.895 +76 140 0 3.895 +120 11 3.245 3.895 +238 209 2.07 3.895 +247 50 0 3.895 +23 71 0.385 3.9 +34 146 2.495 3.9 +39 146 3.385 3.9 +45 33 0 3.9 +65 96 2.08 3.9 +134 179 0.9 3.9 +179 67 0.485 3.9 +190 132 0 3.9 +217 197 0 3.9 +222 49 2.415 3.9 +243 44 3.38 3.9 +20 113 3.285 3.905 +33 113 2.845 3.905 +36 44 3.345 3.905 +77 140 3.03 3.905 +115 116 0 3.905 +123 172 2.64 3.905 +156 174 3.045 3.905 +181 249 2.15 3.905 +203 197 2.485 3.905 +32 110 1.69 3.91 +68 99 1.45 3.91 +70 92 0.755 3.91 +106 40 0.14 3.91 +108 140 2.755 3.91 +190 205 0 3.91 +233 183 0 3.91 +249 248 0 3.91 +26 232 2.44 3.915 +46 256 3.115 3.915 +51 40 0 3.915 +64 121 0 3.915 +186 250 0 3.915 +246 200 0.385 3.915 +48 93 2.99 3.92 +51 190 2.97 3.92 +70 151 3.33 3.92 +95 141 0 3.92 +136 196 0.925 3.92 +179 247 0 3.92 +185 77 3.01 3.92 +14 80 2.825 3.925 +22 7 2.985 3.925 +22 27 0 3.925 +164 49 2.455 3.925 +167 188 3.095 3.925 +175 162 3.265 3.925 +190 133 2.595 3.925 +7 16 1.51 3.93 +20 157 3.405 3.93 +118 23 1.745 3.93 +121 77 0 3.93 +122 187 1.21 3.93 +127 115 2.69 3.93 +132 160 2.33 3.93 +135 5 2.61 3.93 +181 67 0 3.93 +214 197 2.665 3.93 +236 248 0 3.93 +248 41 2.84 3.93 +11 91 1.7 3.935 +69 179 2.995 3.935 +73 166 3.36 3.935 +81 114 2.15 3.935 +115 68 2.94 3.935 +116 141 2.225 3.935 +120 131 3.325 3.935 +156 103 3.34 3.935 +164 168 0 3.935 +198 218 0 3.935 +213 25 3.09 3.935 +229 36 2.855 3.935 +251 52 2.53 3.935 +35 145 3.305 3.94 +47 1 3.44 3.94 +90 161 2.21 3.94 +115 67 0 3.94 +134 129 0.85 3.94 +138 155 0 3.94 +159 136 1.035 3.94 +196 221 0 3.94 +238 211 2.77 3.94 +51 97 0 3.945 +108 119 0 3.945 +129 5 3.04 3.945 +131 140 1.105 3.945 +156 224 2.045 3.945 +173 191 0 3.945 +228 93 2.78 3.945 +230 248 2.06 3.945 +236 199 1.515 3.945 +242 200 3.36 3.945 +47 177 3.12 3.95 +68 79 0 3.95 +155 204 1.155 3.95 +192 141 0 3.95 +11 23 2.725 3.955 +62 1 0 3.955 +87 131 1.725 3.955 +87 214 3.27 3.955 +92 110 3.405 3.955 +96 161 0.815 3.955 +119 77 1.37 3.955 +140 197 3.225 3.955 +149 216 0.63 3.955 +157 110 2.27 3.955 +182 247 2.4 3.955 +247 201 0 3.955 +63 78 3.46 3.96 +78 74 0 3.96 +115 129 1.935 3.96 +137 194 1.615 3.96 +159 238 2.975 3.96 +166 241 1.255 3.96 +207 243 1.26 3.96 +61 245 3.12 3.965 +75 91 0 3.965 +90 174 0.34 3.965 +94 112 1.99 3.965 +137 139 0 3.965 +154 237 0 3.965 +172 187 0 3.965 +183 140 1.115 3.965 +186 203 0.305 3.965 +247 118 3.21 3.965 +1 56 0 3.97 +121 187 3.045 3.97 +128 111 3.45 3.97 +147 226 2.42 3.97 +153 155 0 3.97 +163 169 1.52 3.97 +233 165 3.245 3.97 +22 86 0 3.975 +22 31 2.145 3.975 +86 106 0 3.975 +94 127 0.115 3.975 +94 100 0.9 3.975 +98 115 0 3.975 +116 192 0 3.975 +120 177 2.83 3.975 +130 145 3.41 3.975 +140 218 3.275 3.975 +151 202 2.39 3.975 +198 220 1.82 3.975 +201 205 0 3.975 +207 244 0 3.975 +249 245 0 3.975 +34 103 2.425 3.98 +76 105 1.49 3.98 +83 238 3.29 3.98 +198 25 0 3.98 +204 239 2.86 3.98 +210 215 0 3.98 +248 24 1.62 3.98 +78 75 3.255 3.985 +90 110 1.78 3.985 +129 200 3.4 3.985 +134 67 0 3.985 +160 238 2.9 3.985 +177 116 0 3.985 +208 240 2.74 3.985 +209 239 0 3.985 +219 240 2.72 3.985 +224 25 0 3.985 +25 86 0 3.99 +37 27 3.355 3.99 +87 152 1.515 3.99 +92 165 2.415 3.99 +94 101 3.425 3.99 +128 73 2.07 3.99 +156 167 0 3.99 +174 121 3.48 3.99 +209 229 1.025 3.99 +18 38 1.32 3.995 +46 243 0 3.995 +48 60 3.37 3.995 +63 116 0 3.995 +66 28 1.49 3.995 +135 195 0.71 3.995 +247 245 0 3.995 +148 228 1.53 4 +154 95 0 4 +240 230 2.7 4 +254 56 3.1 4 +7 77 1.43 4.005 +12 91 0 4.005 +20 101 2.11 4.005 +27 40 2.43 4.005 +78 91 0.4 4.005 +109 99 2.77 4.005 +139 206 2.91 4.005 +165 216 3.215 4.005 +4 68 0 4.01 +16 43 2.25 4.01 +16 76 0.615 4.01 +112 187 0 4.01 +114 79 2.7 4.01 +137 129 2.315 4.01 +156 152 0 4.01 +156 237 0 4.01 +188 247 2.38 4.01 +226 175 0 4.01 +36 39 3.43 4.015 +60 119 0 4.015 +61 244 2.205 4.015 +73 140 2.945 4.015 +108 84 3.475 4.015 +164 241 0 4.015 +183 235 2.16 4.015 +214 165 0 4.015 +240 29 2.82 4.015 +2 25 2.85 4.02 +16 96 3.075 4.02 +94 161 0.9 4.02 +133 142 2.365 4.02 +145 189 3.005 4.02 +145 241 2.845 4.02 +151 132 2.245 4.02 +151 193 1.645 4.02 +216 224 3.43 4.02 +238 239 0 4.02 +37 66 3.515 4.025 +72 99 0.94 4.025 +73 78 1.265 4.025 +73 112 0.6 4.025 +107 165 2.48 4.025 +133 67 0 4.025 +140 214 3.29 4.025 +146 87 3.05 4.025 +207 193 0 4.025 +223 228 3.325 4.025 +2 71 2.56 4.03 +7 133 1.35 4.03 +62 42 0.175 4.03 +78 96 0 4.03 +84 237 2.77 4.03 +208 33 3.51 4.03 +239 49 0 4.03 +16 95 2.195 4.035 +22 231 0 4.035 +25 41 0 4.035 +44 40 0 4.035 +55 113 3.41 4.035 +61 42 3.425 4.035 +66 101 0.86 4.035 +198 203 0 4.035 +229 44 2.955 4.035 +15 138 2.875 4.04 +26 234 2.59 4.04 +28 92 0 4.04 +75 142 0 4.04 +92 161 3.51 4.04 +94 113 2.64 4.04 +109 157 2.2 4.04 +168 236 0.715 4.04 +185 234 0 4.04 +222 226 2.92 4.04 +240 26 2.48 4.04 +248 36 1.54 4.04 +256 204 3.45 4.04 +16 30 2.105 4.045 +33 109 3.5 4.045 +34 133 3.44 4.045 +94 155 3.495 4.045 +144 218 1.27 4.045 +156 206 3.06 4.045 +183 231 2.91 4.045 +197 224 3.335 4.045 +37 22 3.485 4.05 +74 155 2.435 4.05 +85 40 1.66 4.05 +174 123 0 4.05 +183 247 0 4.05 +190 80 1.315 4.05 +235 42 0 4.05 +2 41 2.615 4.055 +4 8 0 4.055 +16 89 1.445 4.055 +45 25 2.52 4.055 +83 104 3.015 4.055 +124 155 1.29 4.055 +143 256 2.29 4.055 +177 117 1.575 4.055 +199 119 1.785 4.055 +208 196 0 4.055 +209 37 3.38 4.055 +12 72 3.435 4.06 +41 36 3.235 4.06 +78 138 0.575 4.06 +92 40 2.985 4.06 +117 3 2.78 4.06 +122 116 1.095 4.06 +124 87 3.145 4.06 +147 195 0.38 4.06 +160 147 2.205 4.06 +175 49 1.33 4.06 +228 2 3.495 4.06 +229 24 1.65 4.06 +254 50 1.865 4.06 +25 43 2.055 4.065 +77 155 1.815 4.065 +108 127 3.485 4.065 +171 183 1.37 4.065 +199 34 2.605 4.065 +19 72 3.49 4.07 +77 89 1.31 4.07 +79 178 0 4.07 +124 151 3.405 4.07 +226 216 2.54 4.07 +226 247 1.17 4.07 +233 163 1.675 4.07 +239 42 2.12 4.07 +8 117 2.395 4.075 +80 130 3.465 4.075 +140 155 0 4.075 +147 162 3.185 4.075 +166 187 3.41 4.075 +214 161 3.5 4.075 +234 44 3.445 4.075 +238 212 1.45 4.075 +238 243 3.485 4.075 +22 41 0 4.08 +23 16 1.545 4.08 +34 44 1.995 4.08 +57 102 0.725 4.08 +69 117 2.02 4.08 +71 89 0 4.08 +74 157 0 4.08 +108 191 3.51 4.08 +109 174 0 4.08 +126 97 3.16 4.08 +145 226 1.985 4.08 +65 75 3.575 4.085 +73 116 3.45 4.085 +146 130 0 4.085 +209 22 3.585 4.085 +227 236 3.465 4.085 +250 57 3.065 4.085 +60 123 3.05 4.09 +84 52 3.115 4.09 +104 164 0 4.09 +181 184 0 4.09 +202 220 0 4.09 +207 50 0.655 4.09 +248 120 1.53 4.09 +253 27 3.39 4.09 +48 32 0 4.095 +138 74 0 4.095 +168 44 3.025 4.095 +20 83 1.2 4.1 +21 72 0.96 4.1 +47 52 0.955 4.1 +55 53 3.455 4.1 +90 138 2.62 4.1 +132 216 2.855 4.1 +142 192 0 4.1 +143 255 0.55 4.1 +152 226 0 4.1 +206 220 3.34 4.1 +234 203 2.705 4.1 +256 126 3.565 4.1 +19 37 1.4 4.105 +24 146 2.22 4.105 +25 21 0 4.105 +35 72 2.11 4.105 +58 77 2.62 4.105 +72 101 1.05 4.105 +83 160 2.725 4.105 +154 161 0.13 4.105 +171 45 3.445 4.105 +20 72 2.045 4.11 +30 110 2.75 4.11 +192 178 1.62 4.11 +202 222 1.09 4.11 +83 162 2.67 4.115 +85 104 2.955 4.115 +89 72 2.99 4.115 +127 142 3.09 4.115 +147 212 2.14 4.115 +149 175 3.585 4.115 +156 161 2.95 4.115 +186 139 0 4.115 +191 45 2.76 4.115 +32 82 2.16 4.12 +79 148 3.34 4.12 +124 187 0 4.12 +128 108 2.805 4.12 +160 191 2.525 4.12 +171 247 3.22 4.12 +174 187 0 4.12 +200 25 1.195 4.12 +29 39 1.73 4.125 +33 66 3.575 4.125 +89 217 3.475 4.125 +122 76 3.385 4.125 +135 197 0 4.125 +163 231 2.7 4.125 +169 183 1.48 4.125 +170 177 3.125 4.125 +185 184 0 4.125 +185 144 3.005 4.125 +186 214 3.345 4.125 +209 227 2.415 4.125 +245 38 2.66 4.125 +251 126 3.12 4.125 +252 54 3.55 4.125 +253 203 3.325 4.125 +255 14 0.66 4.125 +256 243 1.74 4.125 +9 74 0 4.13 +14 17 0 4.13 +20 24 1.395 4.13 +47 145 3.32 4.13 +74 96 0 4.13 +136 195 0 4.13 +202 194 2.645 4.13 +203 11 0 4.13 +237 236 2.925 4.13 +6 121 3.59 4.135 +51 142 3.385 4.135 +60 106 0 4.135 +81 126 2.16 4.135 +115 182 1.51 4.135 +122 188 3.225 4.135 +134 146 2.91 4.135 +138 158 1.91 4.135 +149 67 3.535 4.135 +238 221 2.81 4.135 +22 10 1.5 4.14 +32 99 2.3 4.14 +34 121 3.165 4.14 +35 53 2.8 4.14 +55 88 3.35 4.14 +70 68 2.2 4.14 +96 147 2.955 4.14 +157 174 0.395 4.14 +168 243 0 4.14 +230 27 2.96 4.14 +27 57 2.25 4.145 +31 42 2.38 4.145 +56 71 0.3 4.145 +79 130 0 4.145 +81 109 3.57 4.145 +86 146 0.715 4.145 +168 50 2.8 4.145 +225 195 1.725 4.145 +9 126 2.095 4.15 +14 126 0.15 4.15 +15 80 0.655 4.15 +23 120 1.865 4.15 +30 80 3.475 4.15 +33 53 1.69 4.15 +47 64 1.29 4.15 +58 128 2.645 4.15 +89 214 3.63 4.15 +116 127 0 4.15 +116 124 2.925 4.15 +126 142 0.305 4.15 +173 172 1.305 4.15 +245 231 0 4.15 +248 53 0 4.15 +57 121 0 4.155 +126 68 0 4.155 +147 223 3.445 4.155 +233 197 3.615 4.155 +250 194 2.97 4.155 +253 128 3.62 4.155 +19 228 2.675 4.16 +89 111 1.835 4.16 +95 130 0 4.16 +168 38 2.995 4.16 +195 22 3.085 4.16 +1 142 2.95 4.165 +33 31 2.91 4.165 +116 123 2.36 4.165 +119 217 2.915 4.165 +124 144 0.515 4.165 +126 114 0 4.165 +140 194 0.985 4.165 +211 17 0 4.165 +248 34 0 4.165 +249 231 0 4.165 +19 80 3.335 4.17 +23 31 3.625 4.17 +28 42 3.245 4.17 +46 235 2.71 4.17 +74 140 3.44 4.17 +78 95 0 4.17 +136 215 2.105 4.17 +138 156 3.5 4.17 +146 136 2.855 4.17 +180 46 3.655 4.17 +202 161 3.13 4.17 +202 197 2.14 4.17 +225 223 3.56 4.17 +231 18 0 4.17 +249 232 0.83 4.17 +1 190 3.275 4.175 +9 77 0.34 4.175 +18 101 0 4.175 +84 170 2.795 4.175 +87 217 2.36 4.175 +130 150 3.255 4.175 +212 17 3.495 4.175 +218 172 0 4.175 +16 28 2.165 4.18 +22 229 0 4.18 +96 95 0 4.18 +124 182 0 4.18 +180 255 0 4.18 +197 21 0 4.18 +213 230 3.295 4.18 +221 43 3.62 4.18 +233 231 3.01 4.18 +234 251 0 4.18 +34 178 3.02 4.185 +52 178 3.345 4.185 +79 196 1.19 4.185 +84 177 1.425 4.185 +109 63 3.45 4.185 +170 250 2.65 4.185 +215 26 0 4.185 +232 53 0 4.185 +236 39 3.56 4.185 +4 5 3.66 4.19 +22 21 0 4.19 +148 162 2.765 4.19 +150 175 3.675 4.19 +182 144 0.6 4.19 +199 244 0.97 4.19 +215 25 0 4.19 +221 61 3.59 4.19 +55 103 0 4.195 +73 87 2.45 4.195 +93 35 3.56 4.195 +149 162 2.99 4.195 +167 224 3.515 4.195 +172 247 0 4.195 +185 171 0 4.195 +221 62 3.66 4.195 +245 5 1.055 4.195 +32 35 2.275 4.2 +77 95 1.67 4.2 +79 155 0.845 4.2 +81 91 3.565 4.2 +115 134 2.17 4.2 +117 178 0 4.2 +124 198 1.415 4.2 +157 99 2.535 4.2 +217 150 0 4.2 +235 27 2.89 4.2 +69 149 2.31 4.205 +95 161 1.145 4.205 +99 52 3.28 4.205 +163 249 3.005 4.205 +168 26 2.66 4.205 +242 5 0 4.205 +13 56 2.345 4.21 +84 222 3.44 4.21 +93 77 3.25 4.21 +129 213 2.795 4.21 +158 161 0 4.21 +160 48 3.71 4.21 +174 148 2.125 4.21 +242 199 3.315 4.21 +243 35 2.855 4.21 +245 49 2.485 4.21 +28 106 2.99 4.215 +63 112 0 4.215 +64 113 0 4.215 +76 77 0 4.215 +85 130 3.35 4.215 +93 17 3.555 4.215 +108 176 0.99 4.215 +186 159 1.84 4.215 +205 204 3.275 4.215 +210 37 3.465 4.215 +241 243 0 4.215 +251 113 3.67 4.215 +4 3 0 4.22 +36 56 1.775 4.22 +48 27 1.815 4.22 +114 131 3.695 4.22 +129 56 3.395 4.22 +130 225 3.295 4.22 +186 148 3.325 4.22 +210 197 3.58 4.22 +220 109 3.71 4.22 +235 250 0.05 4.22 +240 228 0 4.22 +242 19 3.355 4.22 +245 255 2.385 4.22 +253 201 2.35 4.22 +68 190 3.215 4.225 +115 241 3.285 4.225 +122 166 3.245 4.225 +144 197 0.895 4.225 +173 240 0.22 4.225 +177 145 2.36 4.225 +181 179 0 4.225 +202 237 2.44 4.225 +212 216 3.695 4.225 +219 48 3.59 4.225 +248 118 0.8 4.225 +13 113 3.65 4.23 +50 8 2.29 4.23 +69 87 0 4.23 +70 71 0 4.23 +83 222 3.465 4.23 +130 217 3.72 4.23 +135 152 0.555 4.23 +173 222 0 4.23 +198 210 2.79 4.23 +223 17 0 4.23 +1 68 2.78 4.235 +98 226 3.41 4.235 +136 163 1.51 4.235 +71 88 2.05 4.24 +115 131 0.73 4.24 +122 7 2.49 4.24 +195 216 0.445 4.24 +214 155 1.04 4.24 +12 77 0 4.245 +71 217 2.975 4.245 +78 142 0 4.245 +96 206 2.78 4.245 +167 26 1.63 4.245 +204 16 0.275 4.245 +213 195 0 4.245 +229 18 1.705 4.245 +248 44 0.515 4.245 +13 126 2.535 4.25 +32 106 3.73 4.25 +129 147 2.86 4.25 +130 175 3.37 4.25 +137 152 3.565 4.25 +138 68 1 4.25 +147 221 2.135 4.25 +208 81 3.195 4.25 +210 230 3.43 4.25 +232 44 2.495 4.25 +15 75 3.315 4.255 +33 43 1.155 4.255 +56 114 0 4.255 +65 126 0 4.255 +82 136 3.64 4.255 +85 71 0 4.255 +125 60 3.295 4.255 +125 154 3.545 4.255 +160 235 3.415 4.255 +219 203 0 4.255 +3 131 2.99 4.26 +4 20 0 4.26 +45 106 1.08 4.26 +61 232 2.79 4.26 +85 151 3.575 4.26 +90 125 3.27 4.26 +91 95 0 4.26 +153 140 0 4.26 +157 175 2.585 4.26 +182 250 3.47 4.26 +184 194 0 4.26 +200 6 0 4.26 +218 191 2.735 4.26 +218 239 0 4.26 +225 231 0.125 4.26 +227 25 0.98 4.26 +64 123 3 4.265 +72 146 0 4.265 +119 87 0.915 4.265 +153 77 1.305 4.265 +208 109 3.595 4.265 +230 38 0 4.265 +233 236 2.86 4.265 +61 53 3.625 4.27 +90 30 1.8 4.27 +95 158 0 4.27 +171 182 3.1 4.27 +171 250 3.095 4.27 +196 211 0 4.27 +240 255 0 4.27 +242 65 3.685 4.27 +248 6 2.765 4.27 +4 200 3.61 4.275 +9 28 2.475 4.275 +10 125 2.455 4.275 +71 74 2.975 4.275 +73 80 2.9 4.275 +216 247 3.745 4.275 +236 109 3.61 4.275 +245 205 3.145 4.275 +251 112 3.355 4.275 +4 56 0.625 4.28 +35 63 1.005 4.28 +41 106 0 4.28 +60 13 3.365 4.28 +73 138 0 4.28 +93 13 1.4 4.28 +111 158 0 4.28 +234 183 0 4.28 +253 29 3.48 4.28 +12 71 0 4.285 +47 127 2.59 4.285 +86 76 0 4.285 +88 130 0 4.285 +89 169 1.805 4.285 +166 171 0 4.285 +170 207 3.595 4.285 +202 223 3.565 4.285 +209 66 3.6 4.285 +210 220 3.645 4.285 +212 229 1.93 4.285 +215 161 3.75 4.285 +40 114 3.635 4.29 +112 52 2.465 4.29 +123 100 3.16 4.29 +145 46 3.72 4.29 +146 158 0 4.29 +157 222 0.9 4.29 +179 232 2.235 4.29 +193 199 3.165 4.29 +208 209 1.44 4.29 +225 22 3.415 4.29 +242 194 0 4.29 +243 47 2.83 4.29 +23 76 0 4.295 +37 30 3.675 4.295 +91 214 3.675 4.295 +199 2 1.925 4.295 +202 169 3.065 4.295 +26 125 3.33 4.3 +34 118 2.405 4.3 +34 69 3.755 4.3 +62 113 0 4.3 +95 147 3.71 4.3 +111 82 2.93 4.3 +157 146 3.4 4.3 +199 200 0 4.3 +240 250 0 4.3 +21 29 2.405 4.305 +34 3 3.055 4.305 +53 126 1.945 4.305 +80 67 3.68 4.305 +85 76 3.54 4.305 +89 102 3.47 4.305 +93 68 3.355 4.305 +141 161 2.19 4.305 +202 219 0 4.305 +28 76 1.28 4.31 +141 175 2.95 4.31 +150 226 1.79 4.31 +150 230 0 4.31 +192 129 0 4.31 +225 2 3.53 4.31 +242 223 2.56 4.31 +242 209 3.05 4.31 +243 1 0 4.31 +252 59 3.565 4.31 +36 40 0 4.315 +65 138 1.595 4.315 +69 166 3.645 4.315 +105 110 1.925 4.315 +128 102 2.835 4.315 +141 209 2.07 4.315 +145 221 3.72 4.315 +154 102 1.5 4.315 +162 232 3.285 4.315 +219 223 3.35 4.315 +222 162 3.455 4.315 +239 90 3.655 4.315 +1 17 0 4.32 +4 175 3.765 4.32 +13 114 3.385 4.32 +81 111 3.695 4.32 +146 151 0 4.32 +199 195 2.23 4.32 +212 78 3.445 4.32 +213 227 0 4.32 +216 18 3.52 4.32 +226 249 3.23 4.32 +252 118 0.27 4.32 +64 110 0.335 4.325 +64 138 2.92 4.325 +104 52 3.625 4.325 +148 212 3.815 4.325 +154 108 3.62 4.325 +156 96 0 4.325 +159 228 2.985 4.325 +160 46 2.73 4.325 +224 247 3.82 4.325 +232 34 0 4.325 +54 113 1.215 4.33 +73 75 0 4.33 +78 18 3.83 4.33 +89 106 2.75 4.33 +90 95 0 4.33 +90 107 3.425 4.33 +93 66 1.175 4.33 +150 213 0 4.33 +156 79 3.62 4.33 +234 57 3.115 4.33 +242 17 1.535 4.33 +243 113 2.84 4.33 +20 63 3.725 4.335 +64 127 2.93 4.335 +69 76 3.225 4.335 +96 111 0 4.335 +202 233 1.33 4.335 +203 16 0 4.335 +249 236 0 4.335 +251 110 3.385 4.335 +34 52 2.805 4.34 +144 219 1.105 4.34 +154 110 1.715 4.34 +165 188 2.345 4.34 +200 244 3.35 4.34 +220 236 0 4.34 +237 247 3.73 4.34 +12 156 3.775 4.345 +61 58 3.52 4.345 +64 65 2.91 4.345 +69 192 3.71 4.345 +69 193 3.445 4.345 +93 65 1.12 4.345 +103 162 0 4.345 +105 214 3.77 4.345 +116 95 2.805 4.345 +130 164 3.345 4.345 +154 214 1.205 4.345 +199 23 0.14 4.345 +88 217 3.485 4.35 +94 63 1.21 4.35 +149 40 3.845 4.35 +155 144 0 4.35 +155 175 3.55 4.35 +167 162 3.02 4.35 +182 204 3.62 4.35 +219 235 2.825 4.35 +27 110 2.04 4.355 +43 110 0 4.355 +57 42 0 4.355 +85 153 3.735 4.355 +111 99 0 4.355 +111 202 3.66 4.355 +141 196 0.915 4.355 +151 165 3.37 4.355 +170 191 0 4.355 +208 46 2.51 4.355 +221 211 2.12 4.355 +239 16 2.305 4.355 +253 125 3.005 4.355 +4 66 0 4.36 +38 26 0.195 4.36 +63 60 3.255 4.36 +75 177 1.37 4.36 +150 166 3.81 4.36 +155 233 1.76 4.36 +176 58 3.01 4.36 +185 74 3.7 4.36 +220 253 3.425 4.36 +223 16 0 4.36 +24 53 3.37 4.365 +42 154 3.64 4.365 +50 6 0.625 4.365 +51 2 3.83 4.365 +76 131 3.645 4.365 +91 158 0 4.365 +104 226 3.33 4.365 +109 128 0.49 4.365 +109 97 0 4.365 +137 193 1.7 4.365 +149 104 3.15 4.365 +153 131 1.795 4.365 +186 215 3.265 4.365 +215 31 3.63 4.365 +218 230 0.145 4.365 +232 244 0.76 4.365 +248 7 2.63 4.365 +252 43 3.605 4.365 +36 82 3.385 4.37 +64 116 0.11 4.37 +68 67 0 4.37 +78 20 0 4.37 +93 95 3.255 4.37 +105 165 3.785 4.37 +124 188 0 4.37 +134 193 1.4 4.37 +140 160 3.84 4.37 +222 180 3.385 4.37 +229 38 0 4.37 +234 60 3.5 4.37 +250 255 0 4.37 +252 122 3.655 4.37 +10 30 0 4.375 +177 163 3.875 4.375 +227 89 3.795 4.375 +63 126 0 4.38 +97 170 2.255 4.38 +98 222 3.755 4.38 +116 71 3.865 4.38 +191 239 0 4.38 +253 57 3.1 4.38 +254 53 2.87 4.38 +56 70 3.72 4.385 +142 207 2.455 4.385 +160 219 0 4.385 +174 214 3.475 4.39 +191 255 3.55 4.39 +199 22 3.635 4.39 +229 243 1.91 4.39 +10 42 2.425 4.395 +12 92 3.345 4.395 +23 85 0 4.395 +93 211 3.71 4.395 +94 128 1.97 4.395 +94 36 3.27 4.395 +107 214 3.25 4.395 +144 196 3.53 4.395 +160 220 3.42 4.395 +182 217 1.405 4.395 +187 135 3.86 4.395 +216 41 0 4.395 +252 55 3.595 4.395 +254 231 3.07 4.395 +2 76 3.205 4.4 +19 8 0 4.4 +26 106 0 4.4 +48 94 1.065 4.4 +98 170 3 4.4 +110 126 3.75 4.4 +133 217 2.955 4.4 +160 209 1.94 4.4 +162 229 3.165 4.4 +176 45 3.41 4.4 +216 235 2.94 4.4 +227 85 1.02 4.4 +239 228 0 4.4 +19 3 0 4.405 +45 125 0 4.405 +71 68 1.71 4.405 +86 151 0.74 4.405 +164 216 3.02 4.405 +248 17 2.955 4.405 +19 23 3.315 4.41 +52 100 3.335 4.41 +57 64 2.47 4.41 +107 188 1.61 4.41 +115 185 1.305 4.41 +140 215 0 4.41 +147 196 0 4.41 +149 99 3.53 4.41 +159 218 2.605 4.41 +160 14 3.395 4.41 +170 240 3.86 4.41 +197 206 3.275 4.41 +205 53 3.785 4.41 +218 219 0 4.41 +245 199 0 4.41 +252 42 0 4.41 +73 185 0.52 4.415 +80 79 0 4.415 +81 30 1.14 4.415 +107 100 2.68 4.415 +134 214 2.4 4.415 +145 141 3.16 4.415 +162 228 3.265 4.415 +202 158 3.6 4.415 +237 61 0.26 4.415 +6 70 0 4.42 +42 108 3.83 4.42 +101 151 3.595 4.42 +134 105 3.875 4.42 +135 215 0.205 4.42 +156 185 3.725 4.42 +163 180 1.845 4.42 +186 135 3.38 4.42 +231 36 2.66 4.42 +239 81 3.125 4.42 +45 60 3.52 4.425 +110 188 3.84 4.425 +129 144 3.92 4.425 +137 88 3.895 4.425 +176 255 1.95 4.425 +202 148 3.51 4.425 +5 227 3.86 4.43 +45 62 3.335 4.43 +75 114 2.695 4.43 +76 217 2.35 4.43 +84 101 1.275 4.43 +167 247 0.985 4.43 +186 173 3.21 4.43 +196 175 3.11 4.43 +198 5 1.77 4.43 +23 87 0 4.435 +35 149 3.79 4.435 +50 23 2.21 4.435 +62 94 3.385 4.435 +82 113 3.38 4.435 +142 129 0 4.435 +1 3 0 4.44 +27 128 3.455 4.44 +48 128 0.655 4.44 +113 192 3.88 4.44 +174 166 3.385 4.44 +213 167 0 4.44 +215 14 3.66 4.44 +221 228 2.195 4.44 +12 137 3.335 4.445 +34 65 3.59 4.445 +67 202 3.935 4.445 +142 131 1.985 4.445 +191 256 3.92 4.445 +195 175 2.875 4.445 +201 64 3.765 4.445 +18 41 0.045 4.45 +23 73 1.76 4.45 +52 68 3.75 4.45 +58 208 3.845 4.45 +76 88 3.025 4.45 +122 185 0.475 4.45 +126 190 0 4.45 +128 107 0.345 4.45 +152 249 3.605 4.45 +164 209 1.4 4.45 +208 78 0.97 4.45 +244 8 2.09 4.45 +23 56 1 4.455 +56 119 3.93 4.455 +58 219 3.46 4.455 +123 217 3.575 4.455 +131 217 2.345 4.455 +134 210 1.455 4.455 +160 203 2.875 4.455 +170 190 0 4.455 +233 204 3.23 4.455 +237 46 0 4.455 +245 229 0 4.455 +256 125 3.895 4.455 +67 209 3.445 4.46 +76 92 0 4.46 +97 161 3.765 4.46 +115 142 2.67 4.46 +170 161 1.335 4.46 +189 250 0.33 4.46 +231 56 3.715 4.46 +13 17 0.585 4.465 +17 21 0 4.465 +84 191 1.445 4.465 +133 132 3.78 4.465 +214 160 3.435 4.465 +50 19 3.84 4.47 +51 40 3.935 4.47 +105 172 2.7 4.47 +107 233 2.05 4.47 +196 212 0 4.47 +85 41 0.695 4.475 +111 141 3.115 4.475 +116 130 2.485 4.475 +121 182 0 4.475 +144 158 3.615 4.475 +146 229 3.895 4.475 +148 209 0 4.475 +155 191 3.835 4.475 +158 203 3.79 4.475 +160 212 2.525 4.475 +200 8 0 4.475 +240 220 2.735 4.475 +12 119 1.355 4.48 +23 74 2.465 4.48 +27 101 3.385 4.48 +126 79 0 4.48 +160 45 3.435 4.48 +169 220 2.605 4.48 +190 191 3.935 4.48 +190 144 3.71 4.48 +50 22 3.83 4.485 +63 98 0 4.485 +84 180 2.74 4.485 +127 161 3.785 4.485 +164 167 0.765 4.485 +120 2 1.975 4.49 +132 164 3.305 4.49 +161 162 2.32 4.49 +198 199 3.395 4.49 +202 159 1.65 4.49 +205 9 3.205 4.49 +241 203 3.985 4.49 +247 28 3.875 4.49 +11 12 0 4.495 +16 20 2.055 4.495 +41 87 3.635 4.495 +125 100 3.49 4.495 +159 239 0.29 4.495 +167 228 3.925 4.495 +189 244 2.185 4.495 +213 233 0.67 4.495 +223 46 3.77 4.495 +233 221 3.97 4.495 +235 57 3.11 4.495 +240 247 3.7 4.495 +8 114 0.84 4.5 +28 153 3.45 4.5 +58 206 3.74 4.5 +59 251 0 4.5 +73 28 3.995 4.5 +108 214 3.875 4.5 +142 178 2.185 4.5 +148 163 0 4.5 +167 231 0 4.5 +250 251 0 4.5 +251 75 3.97 4.5 +32 125 0.065 4.505 +48 49 0.63 4.505 +83 163 2.22 4.505 +122 124 0 4.505 +159 204 3.345 4.505 +161 234 3.99 4.505 +176 236 2.88 4.505 +186 111 3.25 4.505 +204 199 3.815 4.505 +206 25 3.755 4.505 +222 62 3.37 4.505 +233 160 0 4.505 +4 64 3.84 4.51 +16 29 0 4.51 +67 210 3.15 4.51 +82 97 0 4.51 +83 175 3 4.51 +98 163 2.77 4.51 +105 174 0.45 4.51 +116 75 0.195 4.51 +121 183 3.155 4.51 +160 93 3.79 4.51 +222 33 2.415 4.51 +16 154 2.62 4.515 +23 6 0 4.515 +32 33 2.165 4.515 +32 154 0.18 4.515 +116 113 0 4.515 +135 184 0 4.515 +157 149 3.615 4.515 +166 179 2.8 4.515 +211 66 1.26 4.515 +238 48 0.92 4.515 +34 127 3.785 4.52 +64 77 0 4.52 +134 132 0.995 4.52 +166 234 3.955 4.52 +248 195 3.765 4.52 +48 36 3.885 4.525 +49 20 1.4 4.525 +58 4 3.825 4.525 +61 250 0 4.525 +89 31 2.89 4.525 +120 142 3.71 4.525 +134 150 1.925 4.525 +147 167 3.595 4.525 +192 61 2.3 4.525 +238 255 0 4.525 +43 154 2.415 4.53 +48 255 0.66 4.53 +71 83 3.95 4.53 +176 62 2.94 4.53 +177 238 3.86 4.53 +208 20 3.71 4.53 +218 216 3.95 4.53 +227 39 1.915 4.53 +238 129 4.015 4.53 +134 147 0 4.535 +139 205 3.28 4.535 +166 131 3.96 4.535 +170 52 2.985 4.535 +18 36 0 4.54 +157 154 0 4.54 +242 246 0 4.54 +1 51 0 4.545 +109 92 1.355 4.545 +114 119 3.855 4.545 +168 242 3.94 4.545 +170 180 2.21 4.545 +195 21 0 4.545 +202 221 0 4.545 +222 209 0 4.545 +248 5 0 4.545 +250 78 3.97 4.545 +4 208 1.22 4.55 +76 136 3.735 4.55 +111 97 0 4.55 +114 68 0 4.55 +116 79 0 4.55 +129 194 0 4.55 +134 217 2.41 4.55 +155 240 3.85 4.55 +159 14 2.39 4.55 +159 195 1.77 4.55 +161 180 0.17 4.55 +177 226 3.43 4.55 +6 119 3.345 4.555 +31 125 2.46 4.555 +71 132 3.995 4.555 +83 151 2.97 4.555 +86 134 3.7 4.555 +108 150 3.91 4.555 +121 135 3.96 4.555 +143 208 3.23 4.555 +155 98 3.985 4.555 +189 232 3.19 4.555 +238 178 3.98 4.555 +54 12 3.995 4.56 +69 137 1.265 4.56 +81 21 3.95 4.56 +116 67 0 4.56 +152 218 3.53 4.56 +158 221 0 4.56 +161 48 3.875 4.56 +196 93 3.615 4.56 +220 221 3.625 4.56 +225 19 1.19 4.56 +238 207 0.105 4.56 +248 244 0 4.56 +6 124 3.91 4.565 +46 36 0 4.565 +53 75 3.855 4.565 +74 217 3.415 4.565 +91 106 3.855 4.565 +106 170 1.925 4.565 +114 133 0 4.565 +135 144 0.06 4.565 +141 215 3.61 4.565 +154 84 2.16 4.565 +176 143 3.01 4.565 +207 159 3.335 4.565 +21 95 4.04 4.57 +69 147 3.995 4.57 +75 113 1.215 4.57 +92 106 3.265 4.57 +108 181 0 4.57 +113 100 0 4.57 +118 40 0 4.57 +134 68 1.485 4.57 +177 142 2.635 4.57 +32 47 0 4.575 +68 130 0 4.575 +111 98 2.935 4.575 +182 187 0 4.575 +194 227 3.8 4.575 +198 50 1.095 4.575 +15 219 3.995 4.58 +46 232 1.565 4.58 +64 244 3.63 4.58 +70 39 3.13 4.58 +106 171 4 4.58 +116 141 4.035 4.58 +193 17 0.785 4.58 +208 175 2.72 4.58 +238 205 3.63 4.58 +2 72 1.31 4.585 +7 137 0.935 4.585 +8 68 2.86 4.585 +32 43 0 4.585 +46 35 0 4.585 +59 185 3.945 4.585 +70 27 3.22 4.585 +79 204 3.96 4.585 +105 151 1.795 4.585 +110 123 1.625 4.585 +137 87 0 4.585 +137 214 3.25 4.585 +248 58 4.03 4.585 +34 63 0 4.59 +102 115 3.38 4.59 +164 212 2.575 4.59 +192 203 0 4.59 +197 227 2.865 4.59 +219 221 0 4.59 +233 161 2.66 4.59 +17 68 2.86 4.595 +87 147 4.035 4.595 +155 221 0 4.595 +187 9 4.095 4.595 +189 48 3.515 4.595 +232 36 1.635 4.595 +242 179 0 4.595 +243 63 2.435 4.595 +68 147 3.96 4.6 +73 71 0 4.6 +143 195 0.91 4.6 +143 93 3.8 4.6 +169 234 3.59 4.6 +186 154 3.88 4.6 +192 250 0 4.6 +198 184 0 4.6 +198 58 2.46 4.6 +213 218 3.32 4.6 +220 247 2.055 4.6 +245 244 0.61 4.6 +248 51 0.82 4.6 +16 68 3.52 4.605 +18 72 1.36 4.605 +19 95 3.21 4.605 +31 91 4.005 4.605 +118 185 0 4.605 +131 226 4.035 4.605 +157 3 3.91 4.605 +183 230 0 4.605 +232 51 3.77 4.605 +247 29 3.78 4.605 +9 60 0 4.61 +110 191 3.34 4.61 +141 130 1.645 4.61 +159 208 1.87 4.61 +189 251 3.72 4.61 +203 195 3.49 4.61 +247 48 3.835 4.61 +140 213 0 4.615 +26 25 0 4.62 +32 84 2.23 4.62 +51 116 0 4.62 +106 103 0 4.62 +113 241 4.075 4.62 +142 159 0 4.62 +146 168 3.97 4.62 +180 61 2.28 4.62 +195 212 1.94 4.62 +200 37 3.58 4.62 +225 230 1.43 4.62 +238 242 3.685 4.62 +21 36 4.12 4.625 +116 17 3.19 4.625 +123 171 0 4.625 +123 234 4.045 4.625 +134 152 0 4.625 +155 143 0 4.625 +174 167 3.965 4.625 +199 15 4.1 4.625 +234 198 3.675 4.625 +80 3 1.63 4.63 +80 82 2.455 4.63 +127 191 0 4.63 +146 175 3.26 4.63 +162 242 4.1 4.63 +169 216 3.115 4.63 +169 229 4.095 4.63 +235 60 3.805 4.63 +107 151 3.32 4.635 +108 187 0 4.635 +152 194 3.585 4.635 +174 233 0.45 4.635 +175 37 3.565 4.635 +200 212 3.475 4.635 +232 242 1.9 4.635 +78 126 0 4.64 +86 117 3.995 4.64 +119 131 0.77 4.64 +165 230 0 4.64 +53 138 4.13 4.645 +92 174 3.245 4.645 +131 246 3.935 4.645 +136 211 3.375 4.645 +142 132 0 4.645 +177 191 3.795 4.645 +223 20 3.8 4.645 +241 255 0 4.645 +252 204 3.96 4.645 +8 69 0 4.65 +30 128 3.145 4.65 +111 160 0 4.65 +112 185 0 4.65 +169 230 0 4.65 +187 204 3.47 4.65 +220 184 4.095 4.65 +228 242 4.09 4.65 +249 187 3.855 4.65 +19 35 3.485 4.655 +141 208 2.1 4.655 +143 204 3.385 4.655 +225 49 2.08 4.655 +243 120 3.92 4.655 +14 64 0 4.66 +22 230 0 4.66 +71 149 0 4.66 +91 89 0 4.66 +98 178 0 4.66 +169 240 3.59 4.66 +242 57 4.075 4.66 +6 77 2.125 4.665 +26 70 3.73 4.665 +108 133 3.98 4.665 +111 237 0.07 4.665 +118 133 3.965 4.665 +145 149 0 4.665 +145 225 1.66 4.665 +169 184 3.67 4.665 +183 242 4 4.665 +189 203 3.38 4.665 +246 38 1.975 4.665 +8 142 4.055 4.67 +25 78 2.2 4.67 +86 36 3.61 4.67 +86 104 2.99 4.67 +152 230 0 4.67 +155 147 3.91 4.67 +219 224 0 4.67 +224 230 1.8 4.67 +37 2 3.335 4.675 +58 78 3.11 4.675 +84 113 2.75 4.675 +107 171 0 4.675 +142 136 3.32 4.675 +145 163 0 4.675 +14 77 2.805 4.68 +67 203 3.725 4.68 +106 121 0 4.68 +145 175 1.585 4.68 +163 245 1.71 4.68 +164 211 3.33 4.68 +188 79 3.6 4.68 +214 224 1.715 4.68 +238 245 2.44 4.68 +251 11 2.315 4.68 +7 124 1.425 4.685 +16 65 0 4.685 +22 224 1.8 4.685 +51 76 3.91 4.685 +103 171 4.01 4.685 +121 171 4.06 4.685 +145 240 3.555 4.685 +153 185 2.54 4.685 +168 178 3.98 4.685 +6 10 3.76 4.69 +9 64 0 4.69 +73 156 3.58 4.69 +79 241 3.825 4.69 +103 218 3.58 4.69 +106 39 0 4.69 +108 183 0 4.69 +109 174 4.115 4.69 +169 160 3.575 4.69 +176 184 3.37 4.69 +204 223 2.86 4.69 +8 151 4.165 4.695 +23 27 3.77 4.695 +56 76 3.895 4.695 +59 7 1.51 4.695 +83 143 4.06 4.695 +90 92 3.08 4.695 +91 107 3.855 4.695 +91 174 3.965 4.695 +110 237 2.815 4.695 +127 241 3.265 4.695 +153 218 0 4.695 +206 78 3.93 4.695 +212 66 1.76 4.695 +83 210 3.93 4.7 +106 169 3.55 4.7 +109 77 3.27 4.7 +112 237 4.145 4.7 +142 143 0 4.7 +153 198 4.19 4.7 +222 208 1.81 4.7 +236 13 4.165 4.7 +22 26 0 4.705 +114 162 3.79 4.705 +120 185 0 4.705 +139 131 4.2 4.705 +57 5 1.615 4.71 +66 76 3.09 4.71 +69 162 3.87 4.71 +86 59 3.58 4.71 +150 216 0.93 4.71 +163 46 3.79 4.71 +209 20 3.73 4.71 +6 90 3.975 4.715 +81 47 3.895 4.715 +153 186 0.35 4.715 +173 233 0.125 4.715 +33 81 0.795 4.72 +44 75 4.205 4.72 +82 225 4.15 4.72 +109 91 2.455 4.72 +114 117 0 4.72 +145 218 3.935 4.72 +158 175 0 4.72 +174 160 0 4.72 +197 14 3.325 4.72 +207 255 0 4.72 +17 18 2.545 4.725 +108 119 4.15 4.725 +108 139 1.61 4.725 +111 100 0 4.725 +115 162 0 4.725 +115 165 0 4.725 +133 226 3.925 4.725 +151 163 1.655 4.725 +208 19 1.075 4.725 +211 230 3.4 4.725 +238 172 4.075 4.725 +7 126 4.225 4.73 +8 18 3.14 4.73 +9 118 3.345 4.73 +83 225 3.02 4.73 +100 79 3.675 4.73 +110 176 4.16 4.73 +145 160 2.55 4.73 +158 193 3.895 4.73 +171 79 3.785 4.73 +205 206 0 4.73 +226 247 4.16 4.73 +256 43 3.74 4.73 +86 38 1.81 4.735 +109 95 0 4.735 +111 83 1.25 4.735 +139 197 0.12 4.735 +155 215 0 4.735 +158 225 2.705 4.735 +193 175 3.58 4.735 +254 47 3.6 4.735 +18 28 3.375 4.74 +27 92 3.38 4.74 +66 80 1.875 4.74 +83 98 0.61 4.74 +84 162 1.36 4.74 +101 183 4.13 4.74 +105 117 3.84 4.74 +106 100 3.54 4.74 +139 57 3.04 4.74 +155 206 0 4.74 +250 223 3.985 4.74 +73 186 3.085 4.745 +79 198 3.975 4.745 +85 134 3.565 4.745 +100 188 3.52 4.745 +110 169 2.305 4.745 +118 39 2.43 4.745 +156 233 0 4.745 +212 95 4.09 4.745 +228 30 0 4.745 +233 253 3.77 4.745 +241 132 3.91 4.745 +1 80 1.91 4.75 +43 97 3.685 4.75 +58 204 1.545 4.75 +67 206 3.43 4.75 +84 104 3.01 4.75 +121 127 4.24 4.75 +125 52 0 4.75 +158 196 3.225 4.75 +162 133 3.86 4.75 +205 78 3.94 4.75 +236 118 3.525 4.75 +141 250 4.08 4.755 +166 162 0 4.755 +229 247 0 4.755 +232 62 2.28 4.755 +107 218 2.68 4.76 +139 50 0.945 4.76 +158 206 2.63 4.76 +181 226 3.305 4.76 +254 63 3.345 4.76 +24 87 3.825 4.765 +54 102 2.82 4.765 +65 77 0 4.765 +82 151 3.61 4.765 +108 165 0 4.765 +192 241 3.315 4.765 +196 15 3.85 4.765 +45 41 2.05 4.77 +59 6 3.58 4.77 +144 22 4.11 4.77 +81 35 0 4.775 +102 126 4.19 4.775 +182 213 1.36 4.775 +229 41 0 4.775 +7 10 1.59 4.78 +26 89 3.715 4.78 +39 119 4.145 4.78 +76 149 3.9 4.78 +170 135 4.19 4.78 +199 119 4.175 4.78 +59 73 0 4.785 +71 124 0 4.785 +94 98 0.505 4.785 +147 228 2.21 4.785 +152 227 0 4.785 +158 209 0 4.785 +181 188 0 4.785 +1 123 3.675 4.79 +40 185 3.945 4.79 +46 19 3.965 4.79 +53 120 0.475 4.79 +137 188 0 4.79 +174 235 2.11 4.79 +199 76 2.21 4.79 +205 14 1.565 4.79 +9 5 3.25 4.795 +12 124 0.555 4.795 +36 52 0 4.795 +143 175 3.255 4.795 +148 206 1.785 4.795 +150 210 2.42 4.795 +170 144 3.045 4.795 +200 215 0 4.795 +207 250 2.355 4.795 +48 44 3.97 4.8 +106 127 3.83 4.8 +130 209 3.73 4.8 +139 213 4.165 4.8 +167 22 3.54 4.8 +244 52 3.615 4.8 +47 111 0 4.805 +67 160 4.195 4.805 +70 24 0 4.805 +112 188 0.22 4.805 +116 20 3.955 4.805 +127 178 1 4.805 +132 179 1.84 4.805 +169 100 4.265 4.805 +171 233 0 4.805 +191 242 4.125 4.805 +210 227 0 4.805 +234 233 0 4.805 +245 254 0.785 4.805 +57 11 2.19 4.81 +127 187 0.95 4.81 +129 141 3.95 4.81 +156 22 4.13 4.81 +180 245 0.585 4.81 +210 21 2.905 4.81 +211 24 2.95 4.81 +18 24 0 4.815 +18 99 0.67 4.815 +49 41 3.44 4.815 +72 76 3.045 4.815 +111 95 0 4.815 +111 148 1.91 4.815 +139 22 4.16 4.815 +173 100 2.735 4.815 +181 129 1.175 4.815 +192 141 3.985 4.815 +194 215 0 4.815 +249 246 0 4.815 +251 84 4.16 4.815 +55 103 4.26 4.82 +58 14 1.535 4.82 +60 102 3.23 4.82 +62 34 3.955 4.82 +80 160 4.26 4.82 +159 203 2.52 4.82 +168 49 2.85 4.82 +189 62 2.25 4.82 +21 10 3.73 4.825 +51 119 2.84 4.825 +150 233 0 4.825 +173 110 1.14 4.825 +181 168 0 4.825 +61 15 4.16 4.83 +106 102 0 4.83 +120 40 0.21 4.83 +134 213 0 4.83 +157 206 3.845 4.83 +174 224 2.955 4.83 +204 93 1.91 4.83 +218 22 3.44 4.83 +226 62 4.295 4.83 +245 195 3.615 4.83 +82 162 3.195 4.835 +88 108 3.99 4.835 +126 137 4.225 4.835 +127 181 3.905 4.835 +138 80 0 4.835 +169 165 0 4.835 +206 175 2.7 4.835 +219 93 1.01 4.835 +249 100 3.975 4.835 +7 28 1.4 4.84 +16 19 3.725 4.84 +88 172 3.16 4.84 +112 119 0.265 4.84 +166 169 0 4.84 +168 185 4.325 4.84 +233 239 2.875 4.84 +234 201 1.49 4.84 +238 248 4.145 4.84 +239 47 0 4.84 +29 70 3.145 4.845 +97 162 1.965 4.845 +101 107 3.825 4.845 +109 110 0 4.845 +155 217 0 4.845 +170 100 2.515 4.845 +171 207 3.77 4.845 +171 61 3.415 4.845 +178 213 4.315 4.845 +194 28 4.055 4.845 +222 235 0 4.845 +222 253 2.27 4.845 +223 81 1.79 4.845 +23 230 3.865 4.85 +60 39 3.4 4.85 +75 96 1.96 4.85 +146 172 2.87 4.85 +165 184 2.735 4.85 +211 41 2.6 4.85 +219 32 3.605 4.85 +254 30 3.8 4.85 +11 138 0.505 4.855 +25 91 3.995 4.855 +29 86 2.045 4.855 +73 91 0 4.855 +101 172 3.855 4.855 +238 62 0 4.855 +45 10 1.975 4.86 +69 183 3.925 4.86 +100 61 2.87 4.86 +108 117 0 4.86 +118 153 4.355 4.86 +126 80 0 4.86 +136 194 0 4.86 +151 194 4.31 4.86 +167 218 0 4.86 +168 133 4.03 4.86 +171 184 3.25 4.86 +171 230 4.22 4.86 +182 243 4.34 4.86 +201 118 3.5 4.86 +226 246 3.845 4.86 +31 154 3.25 4.865 +54 39 0.135 4.865 +88 104 0 4.865 +145 237 2.845 4.865 +183 246 0 4.865 +188 186 3.51 4.865 +215 197 0 4.865 +24 107 4.29 4.87 +36 84 3.67 4.87 +55 104 0 4.87 +57 39 0 4.87 +59 120 3.175 4.87 +147 200 3.11 4.87 +214 235 2.87 4.87 +218 235 0 4.87 +240 184 3.625 4.87 +241 143 3.885 4.87 +249 185 4.3 4.87 +8 21 0 4.875 +126 202 4.26 4.875 +132 194 0 4.875 +170 79 2.44 4.875 +176 13 3.04 4.875 +207 206 3.58 4.875 +209 17 0 4.875 +235 30 4.37 4.875 +23 45 4.205 4.88 +25 126 3.905 4.88 +30 44 4.215 4.88 +50 223 4.29 4.88 +77 192 4.285 4.88 +159 93 2.555 4.88 +173 224 0.2 4.88 +211 231 3.175 4.88 +230 21 3.405 4.88 +244 34 3.625 4.88 +17 85 2.995 4.885 +33 34 4.04 4.885 +34 162 3.765 4.885 +60 75 3.335 4.885 +82 98 0 4.885 +88 34 4.29 4.885 +94 99 0 4.885 +109 44 3.955 4.885 +136 179 0.585 4.885 +147 229 2.395 4.885 +168 243 4.37 4.885 +254 13 0 4.885 +4 212 1.175 4.89 +7 153 2.405 4.89 +48 228 2.195 4.89 +58 59 0 4.89 +74 86 2.53 4.89 +101 177 2.325 4.89 +140 217 0 4.89 +146 189 4.1 4.89 +167 171 4.38 4.89 +174 222 0.285 4.89 +191 62 3.695 4.89 +221 61 4.325 4.89 +222 93 4.12 4.89 +57 122 3.01 4.895 +94 97 0 4.895 +165 249 1.915 4.895 +207 13 0 4.895 +227 235 3.395 4.895 +5 76 3.39 4.9 +51 8 2.39 4.9 +92 155 3.15 4.9 +110 162 4.275 4.9 +167 227 1.835 4.9 +188 201 4.115 4.9 +206 196 0 4.9 +244 116 3.72 4.9 +140 206 2.975 4.905 +143 222 4.35 4.905 +222 206 2.605 4.905 +228 47 0 4.905 +229 235 3.88 4.905 +237 184 3.535 4.905 +246 5 0.57 4.905 +13 50 3.81 4.91 +13 56 4.33 4.91 +18 101 4.3 4.91 +21 27 2.605 4.91 +45 93 4.01 4.91 +63 84 2.84 4.91 +69 135 3.205 4.91 +129 13 4.155 4.91 +130 143 1.385 4.91 +130 179 3.88 4.91 +151 179 4.29 4.91 +156 140 0 4.91 +161 175 0 4.91 +194 208 4.365 4.91 +203 93 1.885 4.91 +204 23 3.775 4.91 +236 1 4.17 4.91 +239 42 4.235 4.91 +242 62 3.81 4.91 +46 47 0 4.915 +59 115 3.875 4.915 +98 238 3.16 4.915 +106 99 3.98 4.915 +112 249 4.105 4.915 +116 72 3.665 4.915 +132 151 4.15 4.915 +140 135 0 4.915 +171 205 3.58 4.915 +188 135 0 4.915 +208 16 0 4.915 +215 222 3.91 4.915 +25 153 3.815 4.92 +50 2 0 4.92 +57 201 0.2 4.92 +68 125 4.42 4.92 +140 201 0 4.92 +188 144 0 4.92 +206 45 4.405 4.92 +226 255 1.235 4.92 +227 248 4.38 4.92 +234 251 4.25 4.92 +6 121 4.4 4.925 +119 188 0 4.925 +144 159 2.29 4.925 +146 241 1.65 4.925 +192 67 1.645 4.925 +214 194 3.37 4.925 +217 194 1.425 4.925 +239 61 0 4.925 +239 27 3.74 4.925 +51 118 0 4.93 +69 241 3.635 4.93 +70 76 0 4.93 +88 99 0 4.93 +91 140 0 4.93 +94 161 4.405 4.93 +128 100 1.505 4.93 +194 220 3.73 4.93 +222 45 0 4.93 +253 60 3.27 4.93 +9 23 0 4.935 +14 6 2.565 4.935 +14 11 0 4.935 +43 60 3.405 4.935 +58 54 4.09 4.935 +130 148 1.54 4.935 +164 221 2.92 4.935 +170 127 0 4.935 +187 67 3.735 4.935 +206 212 3.485 4.935 +219 230 2 4.935 +15 93 0 4.94 +22 45 2.505 4.94 +30 99 2.495 4.94 +39 115 3.89 4.94 +67 148 3.19 4.94 +101 166 0 4.94 +103 104 0 4.94 +210 212 0 4.94 +215 23 0 4.94 +219 21 4.39 4.94 +223 2 0 4.94 +225 223 4.27 4.94 +235 29 0 4.94 +29 154 3.385 4.945 +54 166 1.9 4.945 +63 75 2.865 4.945 +69 245 3.995 4.945 +89 124 1.73 4.945 +132 2 4.37 4.945 +152 209 0 4.945 +162 67 4.245 4.945 +173 39 4.375 4.945 +201 14 2.23 4.945 +210 179 3.625 4.945 +232 255 1.52 4.945 +239 235 0 4.945 +29 107 4.33 4.95 +55 107 4.105 4.95 +59 123 0.755 4.95 +60 34 4.445 4.95 +113 162 0 4.95 +143 148 1.645 4.95 +150 249 3.065 4.95 +159 4 3.37 4.95 +211 219 4.385 4.95 +110 177 4.31 4.955 +119 186 4.445 4.955 +121 52 4.37 4.955 +126 91 2.36 4.955 +128 180 4.445 4.955 +163 248 4.365 4.955 +208 28 4.01 4.955 +219 154 4.44 4.955 +8 92 4.285 4.96 +46 125 2.485 4.96 +56 34 0 4.96 +67 144 3.715 4.96 +68 99 3.95 4.96 +98 241 2.59 4.96 +107 117 4.02 4.96 +115 137 2.06 4.96 +171 48 4.19 4.96 +208 90 3.91 4.96 +239 125 2.56 4.96 +243 246 0 4.96 +24 255 4.2 4.965 +40 112 3.32 4.965 +82 104 3 4.965 +96 187 3.665 4.965 +108 184 3.36 4.965 +128 170 0 4.965 +149 132 0.915 4.965 +164 241 4.225 4.965 +199 59 0.76 4.965 +217 200 4.075 4.965 +40 249 4.04 4.97 +140 204 0 4.97 +164 240 3.57 4.97 +171 252 2.74 4.97 +215 171 4.43 4.97 +232 35 4.04 4.97 +234 247 0 4.97 +237 26 4.425 4.97 +254 256 0 4.97 +25 70 0 4.975 +56 209 4.355 4.975 +83 132 1.02 4.975 +129 255 1.71 4.975 +132 152 0 4.975 +132 216 4.25 4.975 +140 179 3.14 4.975 +174 180 2.195 4.975 +205 1 3.865 4.975 +216 33 4.425 4.975 +226 205 3.99 4.975 +244 120 3.64 4.975 +62 1 4.08 4.98 +128 96 4.35 4.98 +143 147 2.82 4.98 +187 184 2.48 4.98 +199 25 2.225 4.98 +21 55 3.735 4.985 +59 119 0.655 4.985 +71 151 1.04 4.985 +123 135 3.86 4.985 +147 211 0 4.985 +163 227 4.325 4.985 +204 45 4.395 4.985 +209 22 4.435 4.985 +212 81 1.115 4.985 +213 195 4.455 4.985 +215 221 3.62 4.985 +7 121 1.435 4.99 +10 124 3.72 4.99 +31 27 0 4.99 +78 96 4.14 4.99 +87 146 4.045 4.99 +101 115 3.9 4.99 +174 176 0 4.99 +183 139 0 4.99 +192 252 4.145 4.99 +194 70 3.91 4.99 +209 194 3.675 4.99 +209 70 4.435 4.99 +210 220 4.37 4.99 +239 253 0 4.99 +23 208 4.21 4.995 +30 255 3.88 4.995 +31 28 2.215 4.995 +42 39 2.19 4.995 +65 134 4.395 4.995 +104 238 3.9 4.995 +138 188 3.86 4.995 +174 188 0.71 4.995 +203 16 4.45 4.995 +65 70 4.49 5 +80 161 4.445 5 +75 117 4.385 5 +190 162 3.75 5 +202 224 0 5 +164 180 0 5 +234 58 2.415 5 +196 51 4.145 5 +9 221 3.92 5 +221 45 0 5 diff --git a/examples/tracker/in.track b/examples/tracker/in.track new file mode 100644 index 0000000000..01da9933be --- /dev/null +++ b/examples/tracker/in.track @@ -0,0 +1,34 @@ +# 3d Lennard-Jones melt with tracking + +units lj +atom_style atomic + +lattice fcc 0.8442 +region box block 0 4 0 4 0 4 +create_box 2 box +create_atoms 2 box +mass 1 1.0 +mass 2 1.0 +velocity all create 2.0 87287 loop geom + +pair_style hybrid/overlay lj/cut 2.5 tracker +pair_coeff * * lj/cut 1.0 1.0 2.5 +pair_coeff * * tracker 2.5 + +neighbor 0.3 bin +neigh_modify every 20 delay 0 check no + +fix 1 all nve +fix 2 all pair/tracker 1000 id1 id2 time/created time/broken time/total time/min 0.5 +fix 3 all ave/histo 1000 1 1000 0 6 30 f_2[5] mode vector kind local file lifetime_hist.dat + +dump 1 all local 1000 contact_history.dat f_2[1] f_2[2] f_2[3] f_2[4] +dump_modify 1 header no + +# compute 1 all property/local patom1 patom2 +# dump 2 all local 1 pairs.dat c_1[1] c_1[2] + +# dump 3 all atom 1 atoms.dat + +thermo 50 +run 1000 #0 diff --git a/examples/tracker/lifetime_hist.dat b/examples/tracker/lifetime_hist.dat new file mode 100644 index 0000000000..002e269896 --- /dev/null +++ b/examples/tracker/lifetime_hist.dat @@ -0,0 +1,65 @@ +# Histogrammed data for fix 3 +# TimeStep Number-of-bins Total-counts Missing-counts Min-value Max-value +# Bin Coord Count Count/Total +0 30 0 0 1e+20 -1e+20 +1 0.1 0 0 +2 0.3 0 0 +3 0.5 0 0 +4 0.7 0 0 +5 0.9 0 0 +6 1.1 0 0 +7 1.3 0 0 +8 1.5 0 0 +9 1.7 0 0 +10 1.9 0 0 +11 2.1 0 0 +12 2.3 0 0 +13 2.5 0 0 +14 2.7 0 0 +15 2.9 0 0 +16 3.1 0 0 +17 3.3 0 0 +18 3.5 0 0 +19 3.7 0 0 +20 3.9 0 0 +21 4.1 0 0 +22 4.3 0 0 +23 4.5 0 0 +24 4.7 0 0 +25 4.9 0 0 +26 5.1 0 0 +27 5.3 0 0 +28 5.5 0 0 +29 5.7 0 0 +30 5.9 0 0 +1000 30 8122 0 0.5 5 +1 0.1 0 0 +2 0.3 0 0 +3 0.5 910 0.112041 +4 0.7 1253 0.154272 +5 0.9 953 0.117336 +6 1.1 747 0.0919724 +7 1.3 559 0.0688254 +8 1.5 501 0.0616843 +9 1.7 421 0.0518345 +10 1.9 356 0.0438316 +11 2.1 300 0.0369367 +12 2.3 281 0.0345974 +13 2.5 242 0.0297956 +14 2.7 226 0.0278257 +15 2.9 175 0.0215464 +16 3.1 168 0.0206846 +17 3.3 162 0.0199458 +18 3.5 129 0.0158828 +19 3.7 151 0.0185915 +20 3.9 137 0.0168678 +21 4.1 98 0.012066 +22 4.3 104 0.0128047 +23 4.5 83 0.0102192 +24 4.7 77 0.00948042 +25 4.9 86 0.0105885 +26 5.1 3 0.000369367 +27 5.3 0 0 +28 5.5 0 0 +29 5.7 0 0 +30 5.9 0 0 diff --git a/examples/tracker/log.8Apr21.melt.g++.1 b/examples/tracker/log.8Apr21.melt.g++.1 new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/MISC/fix_pair_tracker.cpp b/src/MISC/fix_pair_tracker.cpp index 884a3b8ebd..3feffa27c4 100644 --- a/src/MISC/fix_pair_tracker.cpp +++ b/src/MISC/fix_pair_tracker.cpp @@ -11,19 +11,17 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#include #include "fix_pair_tracker.h" -#include "pair_tracker.h" #include "atom.h" #include "atom_vec.h" -#include "update.h" -#include "memory.h" -#include "modify.h" #include "error.h" #include "group.h" +#include "memory.h" +#include "modify.h" #include "tokenizer.h" +#include "update.h" -#include +#include using namespace LAMMPS_NS; using namespace FixConst; @@ -182,9 +180,9 @@ void FixPairTracker::init() /* ---------------------------------------------------------------------- */ -void FixPairTracker::lost_contact(int i, int j, double nstep_tmp, double rsum_tmp, double time_tmp) +void FixPairTracker::lost_contact(int i, int j, double time_tmp, double nstep_tmp, double rsum_tmp, double rmin_tmp) { - + double time = update->atime + (update->ntimestep-update->atimestep)*update->dt; if ((time-time_tmp) < tmin) return; @@ -205,6 +203,7 @@ void FixPairTracker::lost_contact(int i, int j, double nstep_tmp, double rsum_tm rmin = rmin_tmp; rsum = rsum_tmp; time_initial = time_tmp; + nstep_initial = nstep_tmp; // fill vector or array with local values if (nvalues == 1) { diff --git a/src/MISC/fix_pair_tracker.h b/src/MISC/fix_pair_tracker.h index a5a282df8e..7977357022 100644 --- a/src/MISC/fix_pair_tracker.h +++ b/src/MISC/fix_pair_tracker.h @@ -32,14 +32,14 @@ class FixPairTracker : public Fix { void init(); void post_force(int); double memory_usage(); - void lost_contact(int, int, double, double, double); + void lost_contact(int, int, double, double, double, double); private: int nvalues, never; - int nmax, tmin; + int nmax; int store_flag; int index_i, index_j; - double rmin, rsum, time_initial; + double tmin, rmin, rsum, time_initial, nstep_initial; double *vector; double **array; diff --git a/src/MISC/pair_tracker.cpp b/src/MISC/pair_tracker.cpp index 33154a7fb6..7a7bb57f21 100644 --- a/src/MISC/pair_tracker.cpp +++ b/src/MISC/pair_tracker.cpp @@ -12,25 +12,23 @@ ------------------------------------------------------------------------- */ #include "pair_tracker.h" - #include "atom.h" -#include "force.h" -#include "update.h" -#include "modify.h" +#include "comm.h" +#include "error.h" #include "fix.h" #include "fix_dummy.h" #include "fix_neigh_history.h" #include "fix_pair_tracker.h" +#include "force.h" +#include "memory.h" +#include "modify.h" #include "neighbor.h" #include "neigh_list.h" #include "neigh_request.h" -#include "memory.h" -#include "error.h" +#include "update.h" using namespace LAMMPS_NS; -#define RLARGE 100 - /* ---------------------------------------------------------------------- */ PairTracker::PairTracker(LAMMPS *lmp) : Pair(lmp) @@ -40,7 +38,7 @@ PairTracker::PairTracker(LAMMPS *lmp) : Pair(lmp) neighprev = 0; history = 1; - size_history = 3; + size_history = 4; nondefault_history_transfer = 1; finitecutflag = 0; @@ -49,7 +47,7 @@ PairTracker::PairTracker(LAMMPS *lmp) : Pair(lmp) // this is so final order of Modify:fix will conform to input script fix_history = nullptr; - modify->add_fix("NEIGH_HISTORY_TRACK_DUMMY"); + modify->add_fix("NEIGH_HISTORY_TRACK_DUMMY all DUMMY"); fix_dummy = (FixDummy *) modify->fix[modify->nfix-1]; } @@ -122,7 +120,8 @@ void PairTracker::compute(int eflag, int vflag) dely = ytmp - x[j][1]; delz = ztmp - x[j][2]; rsq = delx*delx + dely*dely + delz*delz; - + r = sqrt(rsq); + if (finitecutflag) { radj = radius[j]; radsum = radi + radj; @@ -131,12 +130,13 @@ void PairTracker::compute(int eflag, int vflag) data = &alldata[size_history*jj]; if(touch[jj] == 1) { - fix_pair_tracker->lost_contact(i, j, data[0], data[1], data[2]); + fix_pair_tracker->lost_contact(i, j, data[0], data[1], data[2], data[3]); } touch[jj] = 0; data[0] = 0.0; // initial time - data[1] = 0.0; // sum of r, may overflow - data[2] = 0.0; // min of r + data[1] = 0.0; // initial timestep + data[2] = 0.0; // sum of r, may overflow + data[3] = 0.0; // min of r } else { @@ -144,16 +144,14 @@ void PairTracker::compute(int eflag, int vflag) if (touch[jj] == 0) { time = update->atime + (update->ntimestep-update->atimestep)*update->dt; data[0] = time; - data[1] = 0.0; - data[2] = RLARGE; + data[1] = (double) update->ntimestep; + data[2] = r; + data[3] = r; + } else if (updateflag) { + data[2] += r; + if(data[3] > r) data[3] = r; } touch[jj] = 1; - - if (updateflag) { - r = sqrt(rsq); - data[1] += r; - if(data[2] > r) data[2] = r; - } } } else { jtype = type[j]; @@ -161,12 +159,14 @@ void PairTracker::compute(int eflag, int vflag) data = &alldata[size_history*jj]; if(touch[jj] == 1) { - fix_pair_tracker->lost_contact(i, j, data[0], data[1], data[2]); + fix_pair_tracker->lost_contact(i, j, data[0], data[1], data[2], data[3]); } + touch[jj] = 0; data[0] = 0.0; // initial time - data[1] = 0.0; // sum of r, may overflow - data[2] = 0.0; // min of r + data[1] = 0.0; // initial timestep + data[2] = 0.0; // sum of r, may overflow + data[3] = 0.0; // min of r } else { @@ -174,16 +174,14 @@ void PairTracker::compute(int eflag, int vflag) if (touch[jj] == 0) { time = update->atime + (update->ntimestep-update->atimestep)*update->dt; data[0] = time; - data[1] = 0.0; - data[2] = RLARGE; + data[1] = (double) update->ntimestep; + data[2] = r; + data[3] = r; + } else if (updateflag) { + data[2] += r; + if(data[3] > r) data[3] = r; } touch[jj] = 1; - - if (updateflag) { - r = sqrt(rsq); - data[1] += r; - if(data[2] > r) data[2] = r; - } } } } diff --git a/src/fix_neigh_history.cpp b/src/fix_neigh_history.cpp index cccf6ad0a2..e0c49e7caa 100644 --- a/src/fix_neigh_history.cpp +++ b/src/fix_neigh_history.cpp @@ -623,13 +623,15 @@ void FixNeighHistory::post_neighbor() for (jj = 0; jj < jnum; jj++) { j = jlist[jj]; - rflag = sbmask(j) | pair->beyond_contact; + rflag = sbmask(j) | pair->beyond_contact | (!pair->finitecutflag); j &= NEIGHMASK; jlist[jj] = j; // rflag = 1 if r < radsum in npair_size() method // preserve neigh history info if tag[j] is in old-neigh partner list // this test could be more geometrically precise for two sphere/line/tri + // for pair styles with interactions not set by finite sizes, always record data since + // npair classes do not apply a mask for history (those bits are used for special bonds) if (rflag) { jtag = tag[j]; From 83a15ef03f388ba981787a5ddd66697090689cd2 Mon Sep 17 00:00:00 2001 From: jtclemm Date: Thu, 20 May 2021 18:26:02 -0600 Subject: [PATCH 100/726] fixing typos in documentation --- doc/src/fix_pair_tracker.rst | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/doc/src/fix_pair_tracker.rst b/doc/src/fix_pair_tracker.rst index 28dd6d7c4f..379fd716fc 100644 --- a/doc/src/fix_pair_tracker.rst +++ b/doc/src/fix_pair_tracker.rst @@ -45,8 +45,8 @@ Examples .. code-block:: LAMMPS - fix 1 all pair/tracker 1000 id1 id2 tmin 100 - fix 1 all pair/tracker 1000 time/created time/broken type 1 * type 2 3,4 + fix 1 all pair/tracker 1000 id1 id2 time/min 100 + fix 1 all pair/tracker 1000 time/created time/broken type 1 * type/include 2 3,4 Description """"""""""" @@ -58,7 +58,7 @@ Data is accumulated over a span of *N* timesteps after which it is cleared The number of datums generated, aggregated across all processors, equals the number of broken interactions. Interactions are only included if both atoms are in the included in the specified fix group. Additional filters can be -applied using the *tmin* or *type* keywords described below. +applied using the *time/min* or *type/include* keywords described below. .. note:: @@ -96,7 +96,7 @@ Output info This compute calculates a local vector or local array depending on the number of input values. The length of the vector or number of rows in -the array is the number of bonds, angles, etc. If a single input is +the array is the number of recorded, lost interactions. If a single input is specified, a local vector is produced. If two or more inputs are specified, a local array is produced where the number of columns = the number of inputs. The vector or array can be accessed by any command @@ -108,7 +108,7 @@ specified attribute. Restrictions """""""""""" - none +Must be used in conjuction with :doc:`pair tracker `. Related commands """""""""""""""" From afaf992ac2cb9e1bc2a92f21278a9a6c7a281aa1 Mon Sep 17 00:00:00 2001 From: jtclemm Date: Fri, 21 May 2021 11:06:34 -0600 Subject: [PATCH 101/726] Second working of bits for neigh/history --- src/MISC/pair_tracker.cpp | 1 + src/fix_neigh_history.cpp | 19 +++++++++++++------ src/fix_neigh_history.h | 1 + 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/src/MISC/pair_tracker.cpp b/src/MISC/pair_tracker.cpp index 7a7bb57f21..e3fd64d0d6 100644 --- a/src/MISC/pair_tracker.cpp +++ b/src/MISC/pair_tracker.cpp @@ -290,6 +290,7 @@ void PairTracker::init_style() int ifix = modify->find_fix("NEIGH_HISTORY_TRACK"); fix_history = (FixNeighHistory *) modify->fix[ifix]; fix_history->pair = this; + fix_history->use_bit_flag = 0; } if (finitecutflag) { diff --git a/src/fix_neigh_history.cpp b/src/fix_neigh_history.cpp index e0c49e7caa..2fad4ad200 100644 --- a/src/fix_neigh_history.cpp +++ b/src/fix_neigh_history.cpp @@ -44,6 +44,7 @@ FixNeighHistory::FixNeighHistory(LAMMPS *lmp, int narg, char **arg) : create_attribute = 1; maxexchange_dynamic = 1; + use_bit_flag = 1; newton_pair = force->newton_pair; @@ -623,15 +624,21 @@ void FixNeighHistory::post_neighbor() for (jj = 0; jj < jnum; jj++) { j = jlist[jj]; - rflag = sbmask(j) | pair->beyond_contact | (!pair->finitecutflag); - j &= NEIGHMASK; - jlist[jj] = j; + + if (use_bit_flag) { + rflag = sbmask(j) | pair->beyond_contact; + j &= NEIGHMASK; + jlist[jj] = j; + } else { + rflag = 1; + j &= NEIGHMASK; + } - // rflag = 1 if r < radsum in npair_size() method + // rflag = 1 if r < radsum in npair_size() method or if pair interactions extend further // preserve neigh history info if tag[j] is in old-neigh partner list // this test could be more geometrically precise for two sphere/line/tri - // for pair styles with interactions not set by finite sizes, always record data since - // npair classes do not apply a mask for history (those bits are used for special bonds) + // if use_bit_flag is turned off, always record data since not all npair classes + // apply a mask for history (and they could use the bits for special bonds) if (rflag) { jtag = tag[j]; diff --git a/src/fix_neigh_history.h b/src/fix_neigh_history.h index 57391cfa9a..f6dee02cb5 100644 --- a/src/fix_neigh_history.h +++ b/src/fix_neigh_history.h @@ -28,6 +28,7 @@ class FixNeighHistory : public Fix { public: int nlocal_neigh; // nlocal at last time neigh list was built int nall_neigh; // ditto for nlocal+nghost + int use_bit_flag; // flag whether fix neigh history uses extra bit in neighborlist int **firstflag; // ptr to each atom's neighbor flsg double **firstvalue; // ptr to each atom's values class Pair *pair; // ptr to pair style that uses neighbor history From 14617cf4d2e79714f72b1102d348c95d2a724c44 Mon Sep 17 00:00:00 2001 From: jtclemm Date: Fri, 21 May 2021 11:28:21 -0600 Subject: [PATCH 102/726] Increasing chances for copying neighborlists --- src/MISC/pair_tracker.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/MISC/pair_tracker.cpp b/src/MISC/pair_tracker.cpp index e3fd64d0d6..38616a1b09 100644 --- a/src/MISC/pair_tracker.cpp +++ b/src/MISC/pair_tracker.cpp @@ -270,8 +270,12 @@ void PairTracker::init_style() // need a history neigh list int irequest = neighbor->request(this,instance_me); - if (finitecutflag) neighbor->requests[irequest]->size = 1; - neighbor->requests[irequest]->history = 1; + if (finitecutflag) { + neighbor->requests[irequest]->size = 1; + neighbor->requests[irequest]->history = 1; + // history flag won't affect results, but match granular pairstyles + // so neighborlist can be copied to reduce overhead + } // if history is stored and first init, create Fix to store history // it replaces FixDummy, created in the constructor From 2a33e3674ed6a11972ae13b55923e3affe714527 Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Mon, 24 May 2021 14:51:28 -0500 Subject: [PATCH 103/726] Added src/USER-DIELECTRIC and examples/USER/dielectric --- examples/USER/dielectric/README | 45 + examples/USER/dielectric/data.confined | 4019 +++++++++++++++++ examples/USER/dielectric/data.cylinder | 3616 +++++++++++++++ examples/USER/dielectric/data.minimal | 50 + examples/USER/dielectric/data.plane | 2019 +++++++++ examples/USER/dielectric/data.sphere | 2582 +++++++++++ examples/USER/dielectric/in.confined | 80 + examples/USER/dielectric/in.minimal | 39 + examples/USER/dielectric/in.nopbc | 51 + examples/USER/dielectric/in.pbc | 54 + src/GPU/pair_lj_cut_gpu.cpp | 33 +- src/USER-DIELECTRIC/Install.sh | 56 + src/USER-DIELECTRIC/README | 73 + src/USER-DIELECTRIC/atom_vec_dielectric.cpp | 1270 ++++++ src/USER-DIELECTRIC/atom_vec_dielectric.h | 89 + .../fix_polarize_bem_gmres.cpp | 959 ++++ src/USER-DIELECTRIC/fix_polarize_bem_gmres.h | 115 + src/USER-DIELECTRIC/fix_polarize_bem_icc.cpp | 450 ++ src/USER-DIELECTRIC/fix_polarize_bem_icc.h | 79 + .../fix_polarize_functional.cpp | 1172 +++++ src/USER-DIELECTRIC/fix_polarize_functional.h | 127 + src/USER-DIELECTRIC/fix_qeq_dielectric.cpp | 1281 ++++++ src/USER-DIELECTRIC/fix_qeq_dielectric.h | 153 + src/USER-DIELECTRIC/msm_dielectric.cpp | 366 ++ src/USER-DIELECTRIC/msm_dielectric.h | 55 + .../pair_coul_cut_dielectric.cpp | 177 + .../pair_coul_cut_dielectric.h | 62 + .../pair_coul_long_dielectric.cpp | 236 + .../pair_coul_long_dielectric.h | 67 + .../pair_lj_cut_coul_cut_dielectric.cpp | 240 + .../pair_lj_cut_coul_cut_dielectric.h | 64 + .../pair_lj_cut_coul_cut_dielectric_omp.cpp | 232 + .../pair_lj_cut_coul_cut_dielectric_omp.h | 60 + .../pair_lj_cut_coul_debye_dielectric.cpp | 249 + .../pair_lj_cut_coul_debye_dielectric.h | 64 + .../pair_lj_cut_coul_long_dielectric.cpp | 340 ++ .../pair_lj_cut_coul_long_dielectric.h | 74 + .../pair_lj_cut_coul_long_dielectric_omp.cpp | 278 ++ .../pair_lj_cut_coul_long_dielectric_omp.h | 70 + .../pair_lj_cut_coul_msm_dielectric.cpp | 389 ++ .../pair_lj_cut_coul_msm_dielectric.h | 59 + .../pair_lj_long_coul_long_dielectric.cpp | 365 ++ .../pair_lj_long_coul_long_dielectric.h | 56 + src/USER-DIELECTRIC/pppm_dielectric.cpp | 1439 ++++++ src/USER-DIELECTRIC/pppm_dielectric.h | 94 + src/USER-DIELECTRIC/pppm_disp_dielectric.cpp | 820 ++++ src/USER-DIELECTRIC/pppm_disp_dielectric.h | 62 + src/pair_hybrid.cpp | 3 +- 48 files changed, 24315 insertions(+), 18 deletions(-) create mode 100644 examples/USER/dielectric/README create mode 100644 examples/USER/dielectric/data.confined create mode 100644 examples/USER/dielectric/data.cylinder create mode 100644 examples/USER/dielectric/data.minimal create mode 100644 examples/USER/dielectric/data.plane create mode 100644 examples/USER/dielectric/data.sphere create mode 100644 examples/USER/dielectric/in.confined create mode 100644 examples/USER/dielectric/in.minimal create mode 100644 examples/USER/dielectric/in.nopbc create mode 100644 examples/USER/dielectric/in.pbc create mode 100644 src/USER-DIELECTRIC/Install.sh create mode 100644 src/USER-DIELECTRIC/README create mode 100644 src/USER-DIELECTRIC/atom_vec_dielectric.cpp create mode 100644 src/USER-DIELECTRIC/atom_vec_dielectric.h create mode 100644 src/USER-DIELECTRIC/fix_polarize_bem_gmres.cpp create mode 100644 src/USER-DIELECTRIC/fix_polarize_bem_gmres.h create mode 100644 src/USER-DIELECTRIC/fix_polarize_bem_icc.cpp create mode 100644 src/USER-DIELECTRIC/fix_polarize_bem_icc.h create mode 100644 src/USER-DIELECTRIC/fix_polarize_functional.cpp create mode 100644 src/USER-DIELECTRIC/fix_polarize_functional.h create mode 100644 src/USER-DIELECTRIC/fix_qeq_dielectric.cpp create mode 100644 src/USER-DIELECTRIC/fix_qeq_dielectric.h create mode 100644 src/USER-DIELECTRIC/msm_dielectric.cpp create mode 100644 src/USER-DIELECTRIC/msm_dielectric.h create mode 100644 src/USER-DIELECTRIC/pair_coul_cut_dielectric.cpp create mode 100644 src/USER-DIELECTRIC/pair_coul_cut_dielectric.h create mode 100644 src/USER-DIELECTRIC/pair_coul_long_dielectric.cpp create mode 100644 src/USER-DIELECTRIC/pair_coul_long_dielectric.h create mode 100644 src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric.cpp create mode 100644 src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric.h create mode 100644 src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric_omp.cpp create mode 100644 src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric_omp.h create mode 100644 src/USER-DIELECTRIC/pair_lj_cut_coul_debye_dielectric.cpp create mode 100644 src/USER-DIELECTRIC/pair_lj_cut_coul_debye_dielectric.h create mode 100644 src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric.cpp create mode 100644 src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric.h create mode 100644 src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric_omp.cpp create mode 100644 src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric_omp.h create mode 100644 src/USER-DIELECTRIC/pair_lj_cut_coul_msm_dielectric.cpp create mode 100644 src/USER-DIELECTRIC/pair_lj_cut_coul_msm_dielectric.h create mode 100644 src/USER-DIELECTRIC/pair_lj_long_coul_long_dielectric.cpp create mode 100644 src/USER-DIELECTRIC/pair_lj_long_coul_long_dielectric.h create mode 100644 src/USER-DIELECTRIC/pppm_dielectric.cpp create mode 100644 src/USER-DIELECTRIC/pppm_dielectric.h create mode 100644 src/USER-DIELECTRIC/pppm_disp_dielectric.cpp create mode 100644 src/USER-DIELECTRIC/pppm_disp_dielectric.h diff --git a/examples/USER/dielectric/README b/examples/USER/dielectric/README new file mode 100644 index 0000000000..ac415190ec --- /dev/null +++ b/examples/USER/dielectric/README @@ -0,0 +1,45 @@ +This folder contains some example data and input scripts for the USER-DIELECTRIC package. + +- data.minimal : two point opposite charges facing a flat interface +- data.plane : two point opposite charges facing a larger flat interface +- data.confined : two point opposite charges confined between two interfaces (epsilon1=2/epsilon2=10/epsilon2=2) +- data.sphere : two point opposite charges outside a spherical interface (epsilon_in=1/epsilon2=10) +- data.cylinder : single point charge facing a cylindrical interface + +- in.minimal : read in data.minimal +- in.nopbc : read in data.* files, using non-periodic boundary conditions, with a large cutoff + using "-v data data.foo" from the LAMMPS command line arguments +- in.pbc : read in data.* files using periodic boundary conditions + with a slab correction for kspace_style pppm and ewald; not required for msm + +For "atom_style dielectric" the Atoms section in the data file contains 15 following columns: + +id mol type q x y z normx normy normz area_per_patch ed em epsilon curvature + +where + +id, mol, type, q, x, y and z are similar to those in atom_style full + +normx, normy and normz are the three components of the normal unit vector +of the interface at the patch (vertex). For real charges (ions), these 3 values +are irrelevant and can be anything (e.g. 0,0,1). + +ed = dielectric difference at the vertex along the normal vector direction. +For example, if (normx,normy,normz) points from medium with epsilon_in to medium with epsilon_out, +then ed = epsilon_out - epsilon_in + +em = (epsilon_out + epsilon_in)/2: the mean dielectric value + +epsilon = the local epsilon value at the vertex or at the ion. +For real charges, epsilon is the medium dielectric constant, q is the actual real charges. +For interface particles, if q is zero (zero surface charges), epsilon is set to be 1.0; +if q is nonzero (charged surfaces), epsilon is set to be em (the mean dielectric value above). + +area_per_patch: surface area of the patch. For real charges, this value is irrelevant, can be 1.0. + +curvature: surface curvature at the patch. +For example, for spherical interfaces, curvature = 1/spherical radius. +For planar interfaces, curvature = 0. + + + diff --git a/examples/USER/dielectric/data.confined b/examples/USER/dielectric/data.confined new file mode 100644 index 0000000000..0906c6cd82 --- /dev/null +++ b/examples/USER/dielectric/data.confined @@ -0,0 +1,4019 @@ +LAMMPS data file: using 2001 atoms for single point charge (no pbc), or 2002 atoms for two opposite charges (to have charge neutrality for pbc) + +4002 atoms +3 atom types + +0.0000000000000000e+00 4.0000006274935302e+01 xlo xhi +0.0000000000000000e+00 4.3301276792816687e+01 ylo yhi +0.0000000000000000e+00 4.0000000000000000e+01 zlo zhi + +Masses + +1 1 +2 1 +3 1 + +Atoms # dielectric: id mol type q x y z normx normy normz area_per_patch ed em epsilon curvature + +1 0 1 0 0 0 9.99798 0 0 1 0.866 8 6 1 0 +2 0 1 0 0.500101 0.866201 9.99798 0 0 1 0.866 8 6 1 0 +3 0 1 0 1.0002 0 9.99798 0 0 1 0.866 8 6 1 0 +4 0 1 0 1.5003 0.866201 9.99798 0 0 1 0.866 8 6 1 0 +5 0 1 0 2.0004 0 9.99798 0 0 1 0.866 8 6 1 0 +6 0 1 0 2.50051 0.866201 9.99798 0 0 1 0.866 8 6 1 0 +7 0 1 0 3.00061 0 9.99798 0 0 1 0.866 8 6 1 0 +8 0 1 0 3.50071 0.866201 9.99798 0 0 1 0.866 8 6 1 0 +9 0 1 0 4.00081 0 9.99798 0 0 1 0.866 8 6 1 0 +10 0 1 0 4.50091 0.866201 9.99798 0 0 1 0.866 8 6 1 0 +11 0 1 0 5.00101 0 9.99798 0 0 1 0.866 8 6 1 0 +12 0 1 0 5.50111 0.866201 9.99798 0 0 1 0.866 8 6 1 0 +13 0 1 0 6.00121 0 9.99798 0 0 1 0.866 8 6 1 0 +14 0 1 0 6.50132 0.866201 9.99798 0 0 1 0.866 8 6 1 0 +15 0 1 0 7.00142 0 9.99798 0 0 1 0.866 8 6 1 0 +16 0 1 0 7.50152 0.866201 9.99798 0 0 1 0.866 8 6 1 0 +17 0 1 0 8.00162 0 9.99798 0 0 1 0.866 8 6 1 0 +18 0 1 0 8.50172 0.866201 9.99798 0 0 1 0.866 8 6 1 0 +19 0 1 0 9.00182 0 9.99798 0 0 1 0.866 8 6 1 0 +20 0 1 0 9.50192 0.866201 9.99798 0 0 1 0.866 8 6 1 0 +21 0 1 0 10.002 0 9.99798 0 0 1 0.866 8 6 1 0 +22 0 1 0 10.5021 0.866201 9.99798 0 0 1 0.866 8 6 1 0 +23 0 1 0 11.0022 0 9.99798 0 0 1 0.866 8 6 1 0 +24 0 1 0 11.5023 0.866201 9.99798 0 0 1 0.866 8 6 1 0 +25 0 1 0 12.0024 0 9.99798 0 0 1 0.866 8 6 1 0 +26 0 1 0 12.5025 0.866201 9.99798 0 0 1 0.866 8 6 1 0 +27 0 1 0 13.0026 0 9.99798 0 0 1 0.866 8 6 1 0 +28 0 1 0 13.5027 0.866201 9.99798 0 0 1 0.866 8 6 1 0 +29 0 1 0 14.0028 0 9.99798 0 0 1 0.866 8 6 1 0 +30 0 1 0 14.5029 0.866201 9.99798 0 0 1 0.866 8 6 1 0 +31 0 1 0 15.003 0 9.99798 0 0 1 0.866 8 6 1 0 +32 0 1 0 15.5031 0.866201 9.99798 0 0 1 0.866 8 6 1 0 +33 0 1 0 16.0032 0 9.99798 0 0 1 0.866 8 6 1 0 +34 0 1 0 16.5033 0.866201 9.99798 0 0 1 0.866 8 6 1 0 +35 0 1 0 17.0034 0 9.99798 0 0 1 0.866 8 6 1 0 +36 0 1 0 17.5035 0.866201 9.99798 0 0 1 0.866 8 6 1 0 +37 0 1 0 18.0036 0 9.99798 0 0 1 0.866 8 6 1 0 +38 0 1 0 18.5037 0.866201 9.99798 0 0 1 0.866 8 6 1 0 +39 0 1 0 19.0038 0 9.99798 0 0 1 0.866 8 6 1 0 +40 0 1 0 19.5039 0.866201 9.99798 0 0 1 0.866 8 6 1 0 +41 0 1 0 20.004 0 9.99798 0 0 1 0.866 8 6 1 0 +42 0 1 0 20.5041 0.866201 9.99798 0 0 1 0.866 8 6 1 0 +43 0 1 0 21.0042 0 9.99798 0 0 1 0.866 8 6 1 0 +44 0 1 0 21.5043 0.866201 9.99798 0 0 1 0.866 8 6 1 0 +45 0 1 0 22.0045 0 9.99798 0 0 1 0.866 8 6 1 0 +46 0 1 0 22.5046 0.866201 9.99798 0 0 1 0.866 8 6 1 0 +47 0 1 0 23.0047 0 9.99798 0 0 1 0.866 8 6 1 0 +48 0 1 0 23.5048 0.866201 9.99798 0 0 1 0.866 8 6 1 0 +49 0 1 0 24.0049 0 9.99798 0 0 1 0.866 8 6 1 0 +50 0 1 0 24.505 0.866201 9.99798 0 0 1 0.866 8 6 1 0 +51 0 1 0 25.0051 0 9.99798 0 0 1 0.866 8 6 1 0 +52 0 1 0 25.5052 0.866201 9.99798 0 0 1 0.866 8 6 1 0 +53 0 1 0 26.0053 0 9.99798 0 0 1 0.866 8 6 1 0 +54 0 1 0 26.5054 0.866201 9.99798 0 0 1 0.866 8 6 1 0 +55 0 1 0 27.0055 0 9.99798 0 0 1 0.866 8 6 1 0 +56 0 1 0 27.5056 0.866201 9.99798 0 0 1 0.866 8 6 1 0 +57 0 1 0 28.0057 0 9.99798 0 0 1 0.866 8 6 1 0 +58 0 1 0 28.5058 0.866201 9.99798 0 0 1 0.866 8 6 1 0 +59 0 1 0 29.0059 0 9.99798 0 0 1 0.866 8 6 1 0 +60 0 1 0 29.506 0.866201 9.99798 0 0 1 0.866 8 6 1 0 +61 0 1 0 30.0061 0 9.99798 0 0 1 0.866 8 6 1 0 +62 0 1 0 30.5062 0.866201 9.99798 0 0 1 0.866 8 6 1 0 +63 0 1 0 31.0063 0 9.99798 0 0 1 0.866 8 6 1 0 +64 0 1 0 31.5064 0.866201 9.99798 0 0 1 0.866 8 6 1 0 +65 0 1 0 32.0065 0 9.99798 0 0 1 0.866 8 6 1 0 +66 0 1 0 32.5066 0.866201 9.99798 0 0 1 0.866 8 6 1 0 +67 0 1 0 33.0067 0 9.99798 0 0 1 0.866 8 6 1 0 +68 0 1 0 33.5068 0.866201 9.99798 0 0 1 0.866 8 6 1 0 +69 0 1 0 34.0069 0 9.99798 0 0 1 0.866 8 6 1 0 +70 0 1 0 34.507 0.866201 9.99798 0 0 1 0.866 8 6 1 0 +71 0 1 0 35.0071 0 9.99798 0 0 1 0.866 8 6 1 0 +72 0 1 0 35.5072 0.866201 9.99798 0 0 1 0.866 8 6 1 0 +73 0 1 0 36.0073 0 9.99798 0 0 1 0.866 8 6 1 0 +74 0 1 0 36.5074 0.866201 9.99798 0 0 1 0.866 8 6 1 0 +75 0 1 0 37.0075 0 9.99798 0 0 1 0.866 8 6 1 0 +76 0 1 0 37.5076 0.866201 9.99798 0 0 1 0.866 8 6 1 0 +77 0 1 0 38.0077 0 9.99798 0 0 1 0.866 8 6 1 0 +78 0 1 0 38.5078 0.866201 9.99798 0 0 1 0.866 8 6 1 0 +79 0 1 0 39.0079 0 9.99798 0 0 1 0.866 8 6 1 0 +80 0 1 0 39.508 0.866201 9.99798 0 0 1 0.866 8 6 1 0 +81 0 1 0 0 1.7324 9.99798 0 0 1 0.866 8 6 1 0 +82 0 1 0 0.500101 2.5986 9.99798 0 0 1 0.866 8 6 1 0 +83 0 1 0 1.0002 1.7324 9.99798 0 0 1 0.866 8 6 1 0 +84 0 1 0 1.5003 2.5986 9.99798 0 0 1 0.866 8 6 1 0 +85 0 1 0 2.0004 1.7324 9.99798 0 0 1 0.866 8 6 1 0 +86 0 1 0 2.50051 2.5986 9.99798 0 0 1 0.866 8 6 1 0 +87 0 1 0 3.00061 1.7324 9.99798 0 0 1 0.866 8 6 1 0 +88 0 1 0 3.50071 2.5986 9.99798 0 0 1 0.866 8 6 1 0 +89 0 1 0 4.00081 1.7324 9.99798 0 0 1 0.866 8 6 1 0 +90 0 1 0 4.50091 2.5986 9.99798 0 0 1 0.866 8 6 1 0 +91 0 1 0 5.00101 1.7324 9.99798 0 0 1 0.866 8 6 1 0 +92 0 1 0 5.50111 2.5986 9.99798 0 0 1 0.866 8 6 1 0 +93 0 1 0 6.00121 1.7324 9.99798 0 0 1 0.866 8 6 1 0 +94 0 1 0 6.50132 2.5986 9.99798 0 0 1 0.866 8 6 1 0 +95 0 1 0 7.00142 1.7324 9.99798 0 0 1 0.866 8 6 1 0 +96 0 1 0 7.50152 2.5986 9.99798 0 0 1 0.866 8 6 1 0 +97 0 1 0 8.00162 1.7324 9.99798 0 0 1 0.866 8 6 1 0 +98 0 1 0 8.50172 2.5986 9.99798 0 0 1 0.866 8 6 1 0 +99 0 1 0 9.00182 1.7324 9.99798 0 0 1 0.866 8 6 1 0 +100 0 1 0 9.50192 2.5986 9.99798 0 0 1 0.866 8 6 1 0 +101 0 1 0 10.002 1.7324 9.99798 0 0 1 0.866 8 6 1 0 +102 0 1 0 10.5021 2.5986 9.99798 0 0 1 0.866 8 6 1 0 +103 0 1 0 11.0022 1.7324 9.99798 0 0 1 0.866 8 6 1 0 +104 0 1 0 11.5023 2.5986 9.99798 0 0 1 0.866 8 6 1 0 +105 0 1 0 12.0024 1.7324 9.99798 0 0 1 0.866 8 6 1 0 +106 0 1 0 12.5025 2.5986 9.99798 0 0 1 0.866 8 6 1 0 +107 0 1 0 13.0026 1.7324 9.99798 0 0 1 0.866 8 6 1 0 +108 0 1 0 13.5027 2.5986 9.99798 0 0 1 0.866 8 6 1 0 +109 0 1 0 14.0028 1.7324 9.99798 0 0 1 0.866 8 6 1 0 +110 0 1 0 14.5029 2.5986 9.99798 0 0 1 0.866 8 6 1 0 +111 0 1 0 15.003 1.7324 9.99798 0 0 1 0.866 8 6 1 0 +112 0 1 0 15.5031 2.5986 9.99798 0 0 1 0.866 8 6 1 0 +113 0 1 0 16.0032 1.7324 9.99798 0 0 1 0.866 8 6 1 0 +114 0 1 0 16.5033 2.5986 9.99798 0 0 1 0.866 8 6 1 0 +115 0 1 0 17.0034 1.7324 9.99798 0 0 1 0.866 8 6 1 0 +116 0 1 0 17.5035 2.5986 9.99798 0 0 1 0.866 8 6 1 0 +117 0 1 0 18.0036 1.7324 9.99798 0 0 1 0.866 8 6 1 0 +118 0 1 0 18.5037 2.5986 9.99798 0 0 1 0.866 8 6 1 0 +119 0 1 0 19.0038 1.7324 9.99798 0 0 1 0.866 8 6 1 0 +120 0 1 0 19.5039 2.5986 9.99798 0 0 1 0.866 8 6 1 0 +121 0 1 0 20.004 1.7324 9.99798 0 0 1 0.866 8 6 1 0 +122 0 1 0 20.5041 2.5986 9.99798 0 0 1 0.866 8 6 1 0 +123 0 1 0 21.0042 1.7324 9.99798 0 0 1 0.866 8 6 1 0 +124 0 1 0 21.5043 2.5986 9.99798 0 0 1 0.866 8 6 1 0 +125 0 1 0 22.0045 1.7324 9.99798 0 0 1 0.866 8 6 1 0 +126 0 1 0 22.5046 2.5986 9.99798 0 0 1 0.866 8 6 1 0 +127 0 1 0 23.0047 1.7324 9.99798 0 0 1 0.866 8 6 1 0 +128 0 1 0 23.5048 2.5986 9.99798 0 0 1 0.866 8 6 1 0 +129 0 1 0 24.0049 1.7324 9.99798 0 0 1 0.866 8 6 1 0 +130 0 1 0 24.505 2.5986 9.99798 0 0 1 0.866 8 6 1 0 +131 0 1 0 25.0051 1.7324 9.99798 0 0 1 0.866 8 6 1 0 +132 0 1 0 25.5052 2.5986 9.99798 0 0 1 0.866 8 6 1 0 +133 0 1 0 26.0053 1.7324 9.99798 0 0 1 0.866 8 6 1 0 +134 0 1 0 26.5054 2.5986 9.99798 0 0 1 0.866 8 6 1 0 +135 0 1 0 27.0055 1.7324 9.99798 0 0 1 0.866 8 6 1 0 +136 0 1 0 27.5056 2.5986 9.99798 0 0 1 0.866 8 6 1 0 +137 0 1 0 28.0057 1.7324 9.99798 0 0 1 0.866 8 6 1 0 +138 0 1 0 28.5058 2.5986 9.99798 0 0 1 0.866 8 6 1 0 +139 0 1 0 29.0059 1.7324 9.99798 0 0 1 0.866 8 6 1 0 +140 0 1 0 29.506 2.5986 9.99798 0 0 1 0.866 8 6 1 0 +141 0 1 0 30.0061 1.7324 9.99798 0 0 1 0.866 8 6 1 0 +142 0 1 0 30.5062 2.5986 9.99798 0 0 1 0.866 8 6 1 0 +143 0 1 0 31.0063 1.7324 9.99798 0 0 1 0.866 8 6 1 0 +144 0 1 0 31.5064 2.5986 9.99798 0 0 1 0.866 8 6 1 0 +145 0 1 0 32.0065 1.7324 9.99798 0 0 1 0.866 8 6 1 0 +146 0 1 0 32.5066 2.5986 9.99798 0 0 1 0.866 8 6 1 0 +147 0 1 0 33.0067 1.7324 9.99798 0 0 1 0.866 8 6 1 0 +148 0 1 0 33.5068 2.5986 9.99798 0 0 1 0.866 8 6 1 0 +149 0 1 0 34.0069 1.7324 9.99798 0 0 1 0.866 8 6 1 0 +150 0 1 0 34.507 2.5986 9.99798 0 0 1 0.866 8 6 1 0 +151 0 1 0 35.0071 1.7324 9.99798 0 0 1 0.866 8 6 1 0 +152 0 1 0 35.5072 2.5986 9.99798 0 0 1 0.866 8 6 1 0 +153 0 1 0 36.0073 1.7324 9.99798 0 0 1 0.866 8 6 1 0 +154 0 1 0 36.5074 2.5986 9.99798 0 0 1 0.866 8 6 1 0 +155 0 1 0 37.0075 1.7324 9.99798 0 0 1 0.866 8 6 1 0 +156 0 1 0 37.5076 2.5986 9.99798 0 0 1 0.866 8 6 1 0 +157 0 1 0 38.0077 1.7324 9.99798 0 0 1 0.866 8 6 1 0 +158 0 1 0 38.5078 2.5986 9.99798 0 0 1 0.866 8 6 1 0 +159 0 1 0 39.0079 1.7324 9.99798 0 0 1 0.866 8 6 1 0 +160 0 1 0 39.508 2.5986 9.99798 0 0 1 0.866 8 6 1 0 +161 0 1 0 0 3.4648 9.99798 0 0 1 0.866 8 6 1 0 +162 0 1 0 0.500101 4.331 9.99798 0 0 1 0.866 8 6 1 0 +163 0 1 0 1.0002 3.4648 9.99798 0 0 1 0.866 8 6 1 0 +164 0 1 0 1.5003 4.331 9.99798 0 0 1 0.866 8 6 1 0 +165 0 1 0 2.0004 3.4648 9.99798 0 0 1 0.866 8 6 1 0 +166 0 1 0 2.50051 4.331 9.99798 0 0 1 0.866 8 6 1 0 +167 0 1 0 3.00061 3.4648 9.99798 0 0 1 0.866 8 6 1 0 +168 0 1 0 3.50071 4.331 9.99798 0 0 1 0.866 8 6 1 0 +169 0 1 0 4.00081 3.4648 9.99798 0 0 1 0.866 8 6 1 0 +170 0 1 0 4.50091 4.331 9.99798 0 0 1 0.866 8 6 1 0 +171 0 1 0 5.00101 3.4648 9.99798 0 0 1 0.866 8 6 1 0 +172 0 1 0 5.50111 4.331 9.99798 0 0 1 0.866 8 6 1 0 +173 0 1 0 6.00121 3.4648 9.99798 0 0 1 0.866 8 6 1 0 +174 0 1 0 6.50132 4.331 9.99798 0 0 1 0.866 8 6 1 0 +175 0 1 0 7.00142 3.4648 9.99798 0 0 1 0.866 8 6 1 0 +176 0 1 0 7.50152 4.331 9.99798 0 0 1 0.866 8 6 1 0 +177 0 1 0 8.00162 3.4648 9.99798 0 0 1 0.866 8 6 1 0 +178 0 1 0 8.50172 4.331 9.99798 0 0 1 0.866 8 6 1 0 +179 0 1 0 9.00182 3.4648 9.99798 0 0 1 0.866 8 6 1 0 +180 0 1 0 9.50192 4.331 9.99798 0 0 1 0.866 8 6 1 0 +181 0 1 0 10.002 3.4648 9.99798 0 0 1 0.866 8 6 1 0 +182 0 1 0 10.5021 4.331 9.99798 0 0 1 0.866 8 6 1 0 +183 0 1 0 11.0022 3.4648 9.99798 0 0 1 0.866 8 6 1 0 +184 0 1 0 11.5023 4.331 9.99798 0 0 1 0.866 8 6 1 0 +185 0 1 0 12.0024 3.4648 9.99798 0 0 1 0.866 8 6 1 0 +186 0 1 0 12.5025 4.331 9.99798 0 0 1 0.866 8 6 1 0 +187 0 1 0 13.0026 3.4648 9.99798 0 0 1 0.866 8 6 1 0 +188 0 1 0 13.5027 4.331 9.99798 0 0 1 0.866 8 6 1 0 +189 0 1 0 14.0028 3.4648 9.99798 0 0 1 0.866 8 6 1 0 +190 0 1 0 14.5029 4.331 9.99798 0 0 1 0.866 8 6 1 0 +191 0 1 0 15.003 3.4648 9.99798 0 0 1 0.866 8 6 1 0 +192 0 1 0 15.5031 4.331 9.99798 0 0 1 0.866 8 6 1 0 +193 0 1 0 16.0032 3.4648 9.99798 0 0 1 0.866 8 6 1 0 +194 0 1 0 16.5033 4.331 9.99798 0 0 1 0.866 8 6 1 0 +195 0 1 0 17.0034 3.4648 9.99798 0 0 1 0.866 8 6 1 0 +196 0 1 0 17.5035 4.331 9.99798 0 0 1 0.866 8 6 1 0 +197 0 1 0 18.0036 3.4648 9.99798 0 0 1 0.866 8 6 1 0 +198 0 1 0 18.5037 4.331 9.99798 0 0 1 0.866 8 6 1 0 +199 0 1 0 19.0038 3.4648 9.99798 0 0 1 0.866 8 6 1 0 +200 0 1 0 19.5039 4.331 9.99798 0 0 1 0.866 8 6 1 0 +201 0 1 0 20.004 3.4648 9.99798 0 0 1 0.866 8 6 1 0 +202 0 1 0 20.5041 4.331 9.99798 0 0 1 0.866 8 6 1 0 +203 0 1 0 21.0042 3.4648 9.99798 0 0 1 0.866 8 6 1 0 +204 0 1 0 21.5043 4.331 9.99798 0 0 1 0.866 8 6 1 0 +205 0 1 0 22.0045 3.4648 9.99798 0 0 1 0.866 8 6 1 0 +206 0 1 0 22.5046 4.331 9.99798 0 0 1 0.866 8 6 1 0 +207 0 1 0 23.0047 3.4648 9.99798 0 0 1 0.866 8 6 1 0 +208 0 1 0 23.5048 4.331 9.99798 0 0 1 0.866 8 6 1 0 +209 0 1 0 24.0049 3.4648 9.99798 0 0 1 0.866 8 6 1 0 +210 0 1 0 24.505 4.331 9.99798 0 0 1 0.866 8 6 1 0 +211 0 1 0 25.0051 3.4648 9.99798 0 0 1 0.866 8 6 1 0 +212 0 1 0 25.5052 4.331 9.99798 0 0 1 0.866 8 6 1 0 +213 0 1 0 26.0053 3.4648 9.99798 0 0 1 0.866 8 6 1 0 +214 0 1 0 26.5054 4.331 9.99798 0 0 1 0.866 8 6 1 0 +215 0 1 0 27.0055 3.4648 9.99798 0 0 1 0.866 8 6 1 0 +216 0 1 0 27.5056 4.331 9.99798 0 0 1 0.866 8 6 1 0 +217 0 1 0 28.0057 3.4648 9.99798 0 0 1 0.866 8 6 1 0 +218 0 1 0 28.5058 4.331 9.99798 0 0 1 0.866 8 6 1 0 +219 0 1 0 29.0059 3.4648 9.99798 0 0 1 0.866 8 6 1 0 +220 0 1 0 29.506 4.331 9.99798 0 0 1 0.866 8 6 1 0 +221 0 1 0 30.0061 3.4648 9.99798 0 0 1 0.866 8 6 1 0 +222 0 1 0 30.5062 4.331 9.99798 0 0 1 0.866 8 6 1 0 +223 0 1 0 31.0063 3.4648 9.99798 0 0 1 0.866 8 6 1 0 +224 0 1 0 31.5064 4.331 9.99798 0 0 1 0.866 8 6 1 0 +225 0 1 0 32.0065 3.4648 9.99798 0 0 1 0.866 8 6 1 0 +226 0 1 0 32.5066 4.331 9.99798 0 0 1 0.866 8 6 1 0 +227 0 1 0 33.0067 3.4648 9.99798 0 0 1 0.866 8 6 1 0 +228 0 1 0 33.5068 4.331 9.99798 0 0 1 0.866 8 6 1 0 +229 0 1 0 34.0069 3.4648 9.99798 0 0 1 0.866 8 6 1 0 +230 0 1 0 34.507 4.331 9.99798 0 0 1 0.866 8 6 1 0 +231 0 1 0 35.0071 3.4648 9.99798 0 0 1 0.866 8 6 1 0 +232 0 1 0 35.5072 4.331 9.99798 0 0 1 0.866 8 6 1 0 +233 0 1 0 36.0073 3.4648 9.99798 0 0 1 0.866 8 6 1 0 +234 0 1 0 36.5074 4.331 9.99798 0 0 1 0.866 8 6 1 0 +235 0 1 0 37.0075 3.4648 9.99798 0 0 1 0.866 8 6 1 0 +236 0 1 0 37.5076 4.331 9.99798 0 0 1 0.866 8 6 1 0 +237 0 1 0 38.0077 3.4648 9.99798 0 0 1 0.866 8 6 1 0 +238 0 1 0 38.5078 4.331 9.99798 0 0 1 0.866 8 6 1 0 +239 0 1 0 39.0079 3.4648 9.99798 0 0 1 0.866 8 6 1 0 +240 0 1 0 39.508 4.331 9.99798 0 0 1 0.866 8 6 1 0 +241 0 1 0 0 5.1972 9.99798 0 0 1 0.866 8 6 1 0 +242 0 1 0 0.500101 6.0634 9.99798 0 0 1 0.866 8 6 1 0 +243 0 1 0 1.0002 5.1972 9.99798 0 0 1 0.866 8 6 1 0 +244 0 1 0 1.5003 6.0634 9.99798 0 0 1 0.866 8 6 1 0 +245 0 1 0 2.0004 5.1972 9.99798 0 0 1 0.866 8 6 1 0 +246 0 1 0 2.50051 6.0634 9.99798 0 0 1 0.866 8 6 1 0 +247 0 1 0 3.00061 5.1972 9.99798 0 0 1 0.866 8 6 1 0 +248 0 1 0 3.50071 6.0634 9.99798 0 0 1 0.866 8 6 1 0 +249 0 1 0 4.00081 5.1972 9.99798 0 0 1 0.866 8 6 1 0 +250 0 1 0 4.50091 6.0634 9.99798 0 0 1 0.866 8 6 1 0 +251 0 1 0 5.00101 5.1972 9.99798 0 0 1 0.866 8 6 1 0 +252 0 1 0 5.50111 6.0634 9.99798 0 0 1 0.866 8 6 1 0 +253 0 1 0 6.00121 5.1972 9.99798 0 0 1 0.866 8 6 1 0 +254 0 1 0 6.50132 6.0634 9.99798 0 0 1 0.866 8 6 1 0 +255 0 1 0 7.00142 5.1972 9.99798 0 0 1 0.866 8 6 1 0 +256 0 1 0 7.50152 6.0634 9.99798 0 0 1 0.866 8 6 1 0 +257 0 1 0 8.00162 5.1972 9.99798 0 0 1 0.866 8 6 1 0 +258 0 1 0 8.50172 6.0634 9.99798 0 0 1 0.866 8 6 1 0 +259 0 1 0 9.00182 5.1972 9.99798 0 0 1 0.866 8 6 1 0 +260 0 1 0 9.50192 6.0634 9.99798 0 0 1 0.866 8 6 1 0 +261 0 1 0 10.002 5.1972 9.99798 0 0 1 0.866 8 6 1 0 +262 0 1 0 10.5021 6.0634 9.99798 0 0 1 0.866 8 6 1 0 +263 0 1 0 11.0022 5.1972 9.99798 0 0 1 0.866 8 6 1 0 +264 0 1 0 11.5023 6.0634 9.99798 0 0 1 0.866 8 6 1 0 +265 0 1 0 12.0024 5.1972 9.99798 0 0 1 0.866 8 6 1 0 +266 0 1 0 12.5025 6.0634 9.99798 0 0 1 0.866 8 6 1 0 +267 0 1 0 13.0026 5.1972 9.99798 0 0 1 0.866 8 6 1 0 +268 0 1 0 13.5027 6.0634 9.99798 0 0 1 0.866 8 6 1 0 +269 0 1 0 14.0028 5.1972 9.99798 0 0 1 0.866 8 6 1 0 +270 0 1 0 14.5029 6.0634 9.99798 0 0 1 0.866 8 6 1 0 +271 0 1 0 15.003 5.1972 9.99798 0 0 1 0.866 8 6 1 0 +272 0 1 0 15.5031 6.0634 9.99798 0 0 1 0.866 8 6 1 0 +273 0 1 0 16.0032 5.1972 9.99798 0 0 1 0.866 8 6 1 0 +274 0 1 0 16.5033 6.0634 9.99798 0 0 1 0.866 8 6 1 0 +275 0 1 0 17.0034 5.1972 9.99798 0 0 1 0.866 8 6 1 0 +276 0 1 0 17.5035 6.0634 9.99798 0 0 1 0.866 8 6 1 0 +277 0 1 0 18.0036 5.1972 9.99798 0 0 1 0.866 8 6 1 0 +278 0 1 0 18.5037 6.0634 9.99798 0 0 1 0.866 8 6 1 0 +279 0 1 0 19.0038 5.1972 9.99798 0 0 1 0.866 8 6 1 0 +280 0 1 0 19.5039 6.0634 9.99798 0 0 1 0.866 8 6 1 0 +281 0 1 0 20.004 5.1972 9.99798 0 0 1 0.866 8 6 1 0 +282 0 1 0 20.5041 6.0634 9.99798 0 0 1 0.866 8 6 1 0 +283 0 1 0 21.0042 5.1972 9.99798 0 0 1 0.866 8 6 1 0 +284 0 1 0 21.5043 6.0634 9.99798 0 0 1 0.866 8 6 1 0 +285 0 1 0 22.0045 5.1972 9.99798 0 0 1 0.866 8 6 1 0 +286 0 1 0 22.5046 6.0634 9.99798 0 0 1 0.866 8 6 1 0 +287 0 1 0 23.0047 5.1972 9.99798 0 0 1 0.866 8 6 1 0 +288 0 1 0 23.5048 6.0634 9.99798 0 0 1 0.866 8 6 1 0 +289 0 1 0 24.0049 5.1972 9.99798 0 0 1 0.866 8 6 1 0 +290 0 1 0 24.505 6.0634 9.99798 0 0 1 0.866 8 6 1 0 +291 0 1 0 25.0051 5.1972 9.99798 0 0 1 0.866 8 6 1 0 +292 0 1 0 25.5052 6.0634 9.99798 0 0 1 0.866 8 6 1 0 +293 0 1 0 26.0053 5.1972 9.99798 0 0 1 0.866 8 6 1 0 +294 0 1 0 26.5054 6.0634 9.99798 0 0 1 0.866 8 6 1 0 +295 0 1 0 27.0055 5.1972 9.99798 0 0 1 0.866 8 6 1 0 +296 0 1 0 27.5056 6.0634 9.99798 0 0 1 0.866 8 6 1 0 +297 0 1 0 28.0057 5.1972 9.99798 0 0 1 0.866 8 6 1 0 +298 0 1 0 28.5058 6.0634 9.99798 0 0 1 0.866 8 6 1 0 +299 0 1 0 29.0059 5.1972 9.99798 0 0 1 0.866 8 6 1 0 +300 0 1 0 29.506 6.0634 9.99798 0 0 1 0.866 8 6 1 0 +301 0 1 0 30.0061 5.1972 9.99798 0 0 1 0.866 8 6 1 0 +302 0 1 0 30.5062 6.0634 9.99798 0 0 1 0.866 8 6 1 0 +303 0 1 0 31.0063 5.1972 9.99798 0 0 1 0.866 8 6 1 0 +304 0 1 0 31.5064 6.0634 9.99798 0 0 1 0.866 8 6 1 0 +305 0 1 0 32.0065 5.1972 9.99798 0 0 1 0.866 8 6 1 0 +306 0 1 0 32.5066 6.0634 9.99798 0 0 1 0.866 8 6 1 0 +307 0 1 0 33.0067 5.1972 9.99798 0 0 1 0.866 8 6 1 0 +308 0 1 0 33.5068 6.0634 9.99798 0 0 1 0.866 8 6 1 0 +309 0 1 0 34.0069 5.1972 9.99798 0 0 1 0.866 8 6 1 0 +310 0 1 0 34.507 6.0634 9.99798 0 0 1 0.866 8 6 1 0 +311 0 1 0 35.0071 5.1972 9.99798 0 0 1 0.866 8 6 1 0 +312 0 1 0 35.5072 6.0634 9.99798 0 0 1 0.866 8 6 1 0 +313 0 1 0 36.0073 5.1972 9.99798 0 0 1 0.866 8 6 1 0 +314 0 1 0 36.5074 6.0634 9.99798 0 0 1 0.866 8 6 1 0 +315 0 1 0 37.0075 5.1972 9.99798 0 0 1 0.866 8 6 1 0 +316 0 1 0 37.5076 6.0634 9.99798 0 0 1 0.866 8 6 1 0 +317 0 1 0 38.0077 5.1972 9.99798 0 0 1 0.866 8 6 1 0 +318 0 1 0 38.5078 6.0634 9.99798 0 0 1 0.866 8 6 1 0 +319 0 1 0 39.0079 5.1972 9.99798 0 0 1 0.866 8 6 1 0 +320 0 1 0 39.508 6.0634 9.99798 0 0 1 0.866 8 6 1 0 +321 0 1 0 0 6.9296 9.99798 0 0 1 0.866 8 6 1 0 +322 0 1 0 0.500101 7.79581 9.99798 0 0 1 0.866 8 6 1 0 +323 0 1 0 1.0002 6.9296 9.99798 0 0 1 0.866 8 6 1 0 +324 0 1 0 1.5003 7.79581 9.99798 0 0 1 0.866 8 6 1 0 +325 0 1 0 2.0004 6.9296 9.99798 0 0 1 0.866 8 6 1 0 +326 0 1 0 2.50051 7.79581 9.99798 0 0 1 0.866 8 6 1 0 +327 0 1 0 3.00061 6.9296 9.99798 0 0 1 0.866 8 6 1 0 +328 0 1 0 3.50071 7.79581 9.99798 0 0 1 0.866 8 6 1 0 +329 0 1 0 4.00081 6.9296 9.99798 0 0 1 0.866 8 6 1 0 +330 0 1 0 4.50091 7.79581 9.99798 0 0 1 0.866 8 6 1 0 +331 0 1 0 5.00101 6.9296 9.99798 0 0 1 0.866 8 6 1 0 +332 0 1 0 5.50111 7.79581 9.99798 0 0 1 0.866 8 6 1 0 +333 0 1 0 6.00121 6.9296 9.99798 0 0 1 0.866 8 6 1 0 +334 0 1 0 6.50132 7.79581 9.99798 0 0 1 0.866 8 6 1 0 +335 0 1 0 7.00142 6.9296 9.99798 0 0 1 0.866 8 6 1 0 +336 0 1 0 7.50152 7.79581 9.99798 0 0 1 0.866 8 6 1 0 +337 0 1 0 8.00162 6.9296 9.99798 0 0 1 0.866 8 6 1 0 +338 0 1 0 8.50172 7.79581 9.99798 0 0 1 0.866 8 6 1 0 +339 0 1 0 9.00182 6.9296 9.99798 0 0 1 0.866 8 6 1 0 +340 0 1 0 9.50192 7.79581 9.99798 0 0 1 0.866 8 6 1 0 +341 0 1 0 10.002 6.9296 9.99798 0 0 1 0.866 8 6 1 0 +342 0 1 0 10.5021 7.79581 9.99798 0 0 1 0.866 8 6 1 0 +343 0 1 0 11.0022 6.9296 9.99798 0 0 1 0.866 8 6 1 0 +344 0 1 0 11.5023 7.79581 9.99798 0 0 1 0.866 8 6 1 0 +345 0 1 0 12.0024 6.9296 9.99798 0 0 1 0.866 8 6 1 0 +346 0 1 0 12.5025 7.79581 9.99798 0 0 1 0.866 8 6 1 0 +347 0 1 0 13.0026 6.9296 9.99798 0 0 1 0.866 8 6 1 0 +348 0 1 0 13.5027 7.79581 9.99798 0 0 1 0.866 8 6 1 0 +349 0 1 0 14.0028 6.9296 9.99798 0 0 1 0.866 8 6 1 0 +350 0 1 0 14.5029 7.79581 9.99798 0 0 1 0.866 8 6 1 0 +351 0 1 0 15.003 6.9296 9.99798 0 0 1 0.866 8 6 1 0 +352 0 1 0 15.5031 7.79581 9.99798 0 0 1 0.866 8 6 1 0 +353 0 1 0 16.0032 6.9296 9.99798 0 0 1 0.866 8 6 1 0 +354 0 1 0 16.5033 7.79581 9.99798 0 0 1 0.866 8 6 1 0 +355 0 1 0 17.0034 6.9296 9.99798 0 0 1 0.866 8 6 1 0 +356 0 1 0 17.5035 7.79581 9.99798 0 0 1 0.866 8 6 1 0 +357 0 1 0 18.0036 6.9296 9.99798 0 0 1 0.866 8 6 1 0 +358 0 1 0 18.5037 7.79581 9.99798 0 0 1 0.866 8 6 1 0 +359 0 1 0 19.0038 6.9296 9.99798 0 0 1 0.866 8 6 1 0 +360 0 1 0 19.5039 7.79581 9.99798 0 0 1 0.866 8 6 1 0 +361 0 1 0 20.004 6.9296 9.99798 0 0 1 0.866 8 6 1 0 +362 0 1 0 20.5041 7.79581 9.99798 0 0 1 0.866 8 6 1 0 +363 0 1 0 21.0042 6.9296 9.99798 0 0 1 0.866 8 6 1 0 +364 0 1 0 21.5043 7.79581 9.99798 0 0 1 0.866 8 6 1 0 +365 0 1 0 22.0045 6.9296 9.99798 0 0 1 0.866 8 6 1 0 +366 0 1 0 22.5046 7.79581 9.99798 0 0 1 0.866 8 6 1 0 +367 0 1 0 23.0047 6.9296 9.99798 0 0 1 0.866 8 6 1 0 +368 0 1 0 23.5048 7.79581 9.99798 0 0 1 0.866 8 6 1 0 +369 0 1 0 24.0049 6.9296 9.99798 0 0 1 0.866 8 6 1 0 +370 0 1 0 24.505 7.79581 9.99798 0 0 1 0.866 8 6 1 0 +371 0 1 0 25.0051 6.9296 9.99798 0 0 1 0.866 8 6 1 0 +372 0 1 0 25.5052 7.79581 9.99798 0 0 1 0.866 8 6 1 0 +373 0 1 0 26.0053 6.9296 9.99798 0 0 1 0.866 8 6 1 0 +374 0 1 0 26.5054 7.79581 9.99798 0 0 1 0.866 8 6 1 0 +375 0 1 0 27.0055 6.9296 9.99798 0 0 1 0.866 8 6 1 0 +376 0 1 0 27.5056 7.79581 9.99798 0 0 1 0.866 8 6 1 0 +377 0 1 0 28.0057 6.9296 9.99798 0 0 1 0.866 8 6 1 0 +378 0 1 0 28.5058 7.79581 9.99798 0 0 1 0.866 8 6 1 0 +379 0 1 0 29.0059 6.9296 9.99798 0 0 1 0.866 8 6 1 0 +380 0 1 0 29.506 7.79581 9.99798 0 0 1 0.866 8 6 1 0 +381 0 1 0 30.0061 6.9296 9.99798 0 0 1 0.866 8 6 1 0 +382 0 1 0 30.5062 7.79581 9.99798 0 0 1 0.866 8 6 1 0 +383 0 1 0 31.0063 6.9296 9.99798 0 0 1 0.866 8 6 1 0 +384 0 1 0 31.5064 7.79581 9.99798 0 0 1 0.866 8 6 1 0 +385 0 1 0 32.0065 6.9296 9.99798 0 0 1 0.866 8 6 1 0 +386 0 1 0 32.5066 7.79581 9.99798 0 0 1 0.866 8 6 1 0 +387 0 1 0 33.0067 6.9296 9.99798 0 0 1 0.866 8 6 1 0 +388 0 1 0 33.5068 7.79581 9.99798 0 0 1 0.866 8 6 1 0 +389 0 1 0 34.0069 6.9296 9.99798 0 0 1 0.866 8 6 1 0 +390 0 1 0 34.507 7.79581 9.99798 0 0 1 0.866 8 6 1 0 +391 0 1 0 35.0071 6.9296 9.99798 0 0 1 0.866 8 6 1 0 +392 0 1 0 35.5072 7.79581 9.99798 0 0 1 0.866 8 6 1 0 +393 0 1 0 36.0073 6.9296 9.99798 0 0 1 0.866 8 6 1 0 +394 0 1 0 36.5074 7.79581 9.99798 0 0 1 0.866 8 6 1 0 +395 0 1 0 37.0075 6.9296 9.99798 0 0 1 0.866 8 6 1 0 +396 0 1 0 37.5076 7.79581 9.99798 0 0 1 0.866 8 6 1 0 +397 0 1 0 38.0077 6.9296 9.99798 0 0 1 0.866 8 6 1 0 +398 0 1 0 38.5078 7.79581 9.99798 0 0 1 0.866 8 6 1 0 +399 0 1 0 39.0079 6.9296 9.99798 0 0 1 0.866 8 6 1 0 +400 0 1 0 39.508 7.79581 9.99798 0 0 1 0.866 8 6 1 0 +401 0 1 0 0 8.66201 9.99798 0 0 1 0.866 8 6 1 0 +402 0 1 0 0.500101 9.52821 9.99798 0 0 1 0.866 8 6 1 0 +403 0 1 0 1.0002 8.66201 9.99798 0 0 1 0.866 8 6 1 0 +404 0 1 0 1.5003 9.52821 9.99798 0 0 1 0.866 8 6 1 0 +405 0 1 0 2.0004 8.66201 9.99798 0 0 1 0.866 8 6 1 0 +406 0 1 0 2.50051 9.52821 9.99798 0 0 1 0.866 8 6 1 0 +407 0 1 0 3.00061 8.66201 9.99798 0 0 1 0.866 8 6 1 0 +408 0 1 0 3.50071 9.52821 9.99798 0 0 1 0.866 8 6 1 0 +409 0 1 0 4.00081 8.66201 9.99798 0 0 1 0.866 8 6 1 0 +410 0 1 0 4.50091 9.52821 9.99798 0 0 1 0.866 8 6 1 0 +411 0 1 0 5.00101 8.66201 9.99798 0 0 1 0.866 8 6 1 0 +412 0 1 0 5.50111 9.52821 9.99798 0 0 1 0.866 8 6 1 0 +413 0 1 0 6.00121 8.66201 9.99798 0 0 1 0.866 8 6 1 0 +414 0 1 0 6.50132 9.52821 9.99798 0 0 1 0.866 8 6 1 0 +415 0 1 0 7.00142 8.66201 9.99798 0 0 1 0.866 8 6 1 0 +416 0 1 0 7.50152 9.52821 9.99798 0 0 1 0.866 8 6 1 0 +417 0 1 0 8.00162 8.66201 9.99798 0 0 1 0.866 8 6 1 0 +418 0 1 0 8.50172 9.52821 9.99798 0 0 1 0.866 8 6 1 0 +419 0 1 0 9.00182 8.66201 9.99798 0 0 1 0.866 8 6 1 0 +420 0 1 0 9.50192 9.52821 9.99798 0 0 1 0.866 8 6 1 0 +421 0 1 0 10.002 8.66201 9.99798 0 0 1 0.866 8 6 1 0 +422 0 1 0 10.5021 9.52821 9.99798 0 0 1 0.866 8 6 1 0 +423 0 1 0 11.0022 8.66201 9.99798 0 0 1 0.866 8 6 1 0 +424 0 1 0 11.5023 9.52821 9.99798 0 0 1 0.866 8 6 1 0 +425 0 1 0 12.0024 8.66201 9.99798 0 0 1 0.866 8 6 1 0 +426 0 1 0 12.5025 9.52821 9.99798 0 0 1 0.866 8 6 1 0 +427 0 1 0 13.0026 8.66201 9.99798 0 0 1 0.866 8 6 1 0 +428 0 1 0 13.5027 9.52821 9.99798 0 0 1 0.866 8 6 1 0 +429 0 1 0 14.0028 8.66201 9.99798 0 0 1 0.866 8 6 1 0 +430 0 1 0 14.5029 9.52821 9.99798 0 0 1 0.866 8 6 1 0 +431 0 1 0 15.003 8.66201 9.99798 0 0 1 0.866 8 6 1 0 +432 0 1 0 15.5031 9.52821 9.99798 0 0 1 0.866 8 6 1 0 +433 0 1 0 16.0032 8.66201 9.99798 0 0 1 0.866 8 6 1 0 +434 0 1 0 16.5033 9.52821 9.99798 0 0 1 0.866 8 6 1 0 +435 0 1 0 17.0034 8.66201 9.99798 0 0 1 0.866 8 6 1 0 +436 0 1 0 17.5035 9.52821 9.99798 0 0 1 0.866 8 6 1 0 +437 0 1 0 18.0036 8.66201 9.99798 0 0 1 0.866 8 6 1 0 +438 0 1 0 18.5037 9.52821 9.99798 0 0 1 0.866 8 6 1 0 +439 0 1 0 19.0038 8.66201 9.99798 0 0 1 0.866 8 6 1 0 +440 0 1 0 19.5039 9.52821 9.99798 0 0 1 0.866 8 6 1 0 +441 0 1 0 20.004 8.66201 9.99798 0 0 1 0.866 8 6 1 0 +442 0 1 0 20.5041 9.52821 9.99798 0 0 1 0.866 8 6 1 0 +443 0 1 0 21.0042 8.66201 9.99798 0 0 1 0.866 8 6 1 0 +444 0 1 0 21.5043 9.52821 9.99798 0 0 1 0.866 8 6 1 0 +445 0 1 0 22.0045 8.66201 9.99798 0 0 1 0.866 8 6 1 0 +446 0 1 0 22.5046 9.52821 9.99798 0 0 1 0.866 8 6 1 0 +447 0 1 0 23.0047 8.66201 9.99798 0 0 1 0.866 8 6 1 0 +448 0 1 0 23.5048 9.52821 9.99798 0 0 1 0.866 8 6 1 0 +449 0 1 0 24.0049 8.66201 9.99798 0 0 1 0.866 8 6 1 0 +450 0 1 0 24.505 9.52821 9.99798 0 0 1 0.866 8 6 1 0 +451 0 1 0 25.0051 8.66201 9.99798 0 0 1 0.866 8 6 1 0 +452 0 1 0 25.5052 9.52821 9.99798 0 0 1 0.866 8 6 1 0 +453 0 1 0 26.0053 8.66201 9.99798 0 0 1 0.866 8 6 1 0 +454 0 1 0 26.5054 9.52821 9.99798 0 0 1 0.866 8 6 1 0 +455 0 1 0 27.0055 8.66201 9.99798 0 0 1 0.866 8 6 1 0 +456 0 1 0 27.5056 9.52821 9.99798 0 0 1 0.866 8 6 1 0 +457 0 1 0 28.0057 8.66201 9.99798 0 0 1 0.866 8 6 1 0 +458 0 1 0 28.5058 9.52821 9.99798 0 0 1 0.866 8 6 1 0 +459 0 1 0 29.0059 8.66201 9.99798 0 0 1 0.866 8 6 1 0 +460 0 1 0 29.506 9.52821 9.99798 0 0 1 0.866 8 6 1 0 +461 0 1 0 30.0061 8.66201 9.99798 0 0 1 0.866 8 6 1 0 +462 0 1 0 30.5062 9.52821 9.99798 0 0 1 0.866 8 6 1 0 +463 0 1 0 31.0063 8.66201 9.99798 0 0 1 0.866 8 6 1 0 +464 0 1 0 31.5064 9.52821 9.99798 0 0 1 0.866 8 6 1 0 +465 0 1 0 32.0065 8.66201 9.99798 0 0 1 0.866 8 6 1 0 +466 0 1 0 32.5066 9.52821 9.99798 0 0 1 0.866 8 6 1 0 +467 0 1 0 33.0067 8.66201 9.99798 0 0 1 0.866 8 6 1 0 +468 0 1 0 33.5068 9.52821 9.99798 0 0 1 0.866 8 6 1 0 +469 0 1 0 34.0069 8.66201 9.99798 0 0 1 0.866 8 6 1 0 +470 0 1 0 34.507 9.52821 9.99798 0 0 1 0.866 8 6 1 0 +471 0 1 0 35.0071 8.66201 9.99798 0 0 1 0.866 8 6 1 0 +472 0 1 0 35.5072 9.52821 9.99798 0 0 1 0.866 8 6 1 0 +473 0 1 0 36.0073 8.66201 9.99798 0 0 1 0.866 8 6 1 0 +474 0 1 0 36.5074 9.52821 9.99798 0 0 1 0.866 8 6 1 0 +475 0 1 0 37.0075 8.66201 9.99798 0 0 1 0.866 8 6 1 0 +476 0 1 0 37.5076 9.52821 9.99798 0 0 1 0.866 8 6 1 0 +477 0 1 0 38.0077 8.66201 9.99798 0 0 1 0.866 8 6 1 0 +478 0 1 0 38.5078 9.52821 9.99798 0 0 1 0.866 8 6 1 0 +479 0 1 0 39.0079 8.66201 9.99798 0 0 1 0.866 8 6 1 0 +480 0 1 0 39.508 9.52821 9.99798 0 0 1 0.866 8 6 1 0 +481 0 1 0 0 10.3944 9.99798 0 0 1 0.866 8 6 1 0 +482 0 1 0 0.500101 11.2606 9.99798 0 0 1 0.866 8 6 1 0 +483 0 1 0 1.0002 10.3944 9.99798 0 0 1 0.866 8 6 1 0 +484 0 1 0 1.5003 11.2606 9.99798 0 0 1 0.866 8 6 1 0 +485 0 1 0 2.0004 10.3944 9.99798 0 0 1 0.866 8 6 1 0 +486 0 1 0 2.50051 11.2606 9.99798 0 0 1 0.866 8 6 1 0 +487 0 1 0 3.00061 10.3944 9.99798 0 0 1 0.866 8 6 1 0 +488 0 1 0 3.50071 11.2606 9.99798 0 0 1 0.866 8 6 1 0 +489 0 1 0 4.00081 10.3944 9.99798 0 0 1 0.866 8 6 1 0 +490 0 1 0 4.50091 11.2606 9.99798 0 0 1 0.866 8 6 1 0 +491 0 1 0 5.00101 10.3944 9.99798 0 0 1 0.866 8 6 1 0 +492 0 1 0 5.50111 11.2606 9.99798 0 0 1 0.866 8 6 1 0 +493 0 1 0 6.00121 10.3944 9.99798 0 0 1 0.866 8 6 1 0 +494 0 1 0 6.50132 11.2606 9.99798 0 0 1 0.866 8 6 1 0 +495 0 1 0 7.00142 10.3944 9.99798 0 0 1 0.866 8 6 1 0 +496 0 1 0 7.50152 11.2606 9.99798 0 0 1 0.866 8 6 1 0 +497 0 1 0 8.00162 10.3944 9.99798 0 0 1 0.866 8 6 1 0 +498 0 1 0 8.50172 11.2606 9.99798 0 0 1 0.866 8 6 1 0 +499 0 1 0 9.00182 10.3944 9.99798 0 0 1 0.866 8 6 1 0 +500 0 1 0 9.50192 11.2606 9.99798 0 0 1 0.866 8 6 1 0 +501 0 1 0 10.002 10.3944 9.99798 0 0 1 0.866 8 6 1 0 +502 0 1 0 10.5021 11.2606 9.99798 0 0 1 0.866 8 6 1 0 +503 0 1 0 11.0022 10.3944 9.99798 0 0 1 0.866 8 6 1 0 +504 0 1 0 11.5023 11.2606 9.99798 0 0 1 0.866 8 6 1 0 +505 0 1 0 12.0024 10.3944 9.99798 0 0 1 0.866 8 6 1 0 +506 0 1 0 12.5025 11.2606 9.99798 0 0 1 0.866 8 6 1 0 +507 0 1 0 13.0026 10.3944 9.99798 0 0 1 0.866 8 6 1 0 +508 0 1 0 13.5027 11.2606 9.99798 0 0 1 0.866 8 6 1 0 +509 0 1 0 14.0028 10.3944 9.99798 0 0 1 0.866 8 6 1 0 +510 0 1 0 14.5029 11.2606 9.99798 0 0 1 0.866 8 6 1 0 +511 0 1 0 15.003 10.3944 9.99798 0 0 1 0.866 8 6 1 0 +512 0 1 0 15.5031 11.2606 9.99798 0 0 1 0.866 8 6 1 0 +513 0 1 0 16.0032 10.3944 9.99798 0 0 1 0.866 8 6 1 0 +514 0 1 0 16.5033 11.2606 9.99798 0 0 1 0.866 8 6 1 0 +515 0 1 0 17.0034 10.3944 9.99798 0 0 1 0.866 8 6 1 0 +516 0 1 0 17.5035 11.2606 9.99798 0 0 1 0.866 8 6 1 0 +517 0 1 0 18.0036 10.3944 9.99798 0 0 1 0.866 8 6 1 0 +518 0 1 0 18.5037 11.2606 9.99798 0 0 1 0.866 8 6 1 0 +519 0 1 0 19.0038 10.3944 9.99798 0 0 1 0.866 8 6 1 0 +520 0 1 0 19.5039 11.2606 9.99798 0 0 1 0.866 8 6 1 0 +521 0 1 0 20.004 10.3944 9.99798 0 0 1 0.866 8 6 1 0 +522 0 1 0 20.5041 11.2606 9.99798 0 0 1 0.866 8 6 1 0 +523 0 1 0 21.0042 10.3944 9.99798 0 0 1 0.866 8 6 1 0 +524 0 1 0 21.5043 11.2606 9.99798 0 0 1 0.866 8 6 1 0 +525 0 1 0 22.0045 10.3944 9.99798 0 0 1 0.866 8 6 1 0 +526 0 1 0 22.5046 11.2606 9.99798 0 0 1 0.866 8 6 1 0 +527 0 1 0 23.0047 10.3944 9.99798 0 0 1 0.866 8 6 1 0 +528 0 1 0 23.5048 11.2606 9.99798 0 0 1 0.866 8 6 1 0 +529 0 1 0 24.0049 10.3944 9.99798 0 0 1 0.866 8 6 1 0 +530 0 1 0 24.505 11.2606 9.99798 0 0 1 0.866 8 6 1 0 +531 0 1 0 25.0051 10.3944 9.99798 0 0 1 0.866 8 6 1 0 +532 0 1 0 25.5052 11.2606 9.99798 0 0 1 0.866 8 6 1 0 +533 0 1 0 26.0053 10.3944 9.99798 0 0 1 0.866 8 6 1 0 +534 0 1 0 26.5054 11.2606 9.99798 0 0 1 0.866 8 6 1 0 +535 0 1 0 27.0055 10.3944 9.99798 0 0 1 0.866 8 6 1 0 +536 0 1 0 27.5056 11.2606 9.99798 0 0 1 0.866 8 6 1 0 +537 0 1 0 28.0057 10.3944 9.99798 0 0 1 0.866 8 6 1 0 +538 0 1 0 28.5058 11.2606 9.99798 0 0 1 0.866 8 6 1 0 +539 0 1 0 29.0059 10.3944 9.99798 0 0 1 0.866 8 6 1 0 +540 0 1 0 29.506 11.2606 9.99798 0 0 1 0.866 8 6 1 0 +541 0 1 0 30.0061 10.3944 9.99798 0 0 1 0.866 8 6 1 0 +542 0 1 0 30.5062 11.2606 9.99798 0 0 1 0.866 8 6 1 0 +543 0 1 0 31.0063 10.3944 9.99798 0 0 1 0.866 8 6 1 0 +544 0 1 0 31.5064 11.2606 9.99798 0 0 1 0.866 8 6 1 0 +545 0 1 0 32.0065 10.3944 9.99798 0 0 1 0.866 8 6 1 0 +546 0 1 0 32.5066 11.2606 9.99798 0 0 1 0.866 8 6 1 0 +547 0 1 0 33.0067 10.3944 9.99798 0 0 1 0.866 8 6 1 0 +548 0 1 0 33.5068 11.2606 9.99798 0 0 1 0.866 8 6 1 0 +549 0 1 0 34.0069 10.3944 9.99798 0 0 1 0.866 8 6 1 0 +550 0 1 0 34.507 11.2606 9.99798 0 0 1 0.866 8 6 1 0 +551 0 1 0 35.0071 10.3944 9.99798 0 0 1 0.866 8 6 1 0 +552 0 1 0 35.5072 11.2606 9.99798 0 0 1 0.866 8 6 1 0 +553 0 1 0 36.0073 10.3944 9.99798 0 0 1 0.866 8 6 1 0 +554 0 1 0 36.5074 11.2606 9.99798 0 0 1 0.866 8 6 1 0 +555 0 1 0 37.0075 10.3944 9.99798 0 0 1 0.866 8 6 1 0 +556 0 1 0 37.5076 11.2606 9.99798 0 0 1 0.866 8 6 1 0 +557 0 1 0 38.0077 10.3944 9.99798 0 0 1 0.866 8 6 1 0 +558 0 1 0 38.5078 11.2606 9.99798 0 0 1 0.866 8 6 1 0 +559 0 1 0 39.0079 10.3944 9.99798 0 0 1 0.866 8 6 1 0 +560 0 1 0 39.508 11.2606 9.99798 0 0 1 0.866 8 6 1 0 +561 0 1 0 0 12.1268 9.99798 0 0 1 0.866 8 6 1 0 +562 0 1 0 0.500101 12.993 9.99798 0 0 1 0.866 8 6 1 0 +563 0 1 0 1.0002 12.1268 9.99798 0 0 1 0.866 8 6 1 0 +564 0 1 0 1.5003 12.993 9.99798 0 0 1 0.866 8 6 1 0 +565 0 1 0 2.0004 12.1268 9.99798 0 0 1 0.866 8 6 1 0 +566 0 1 0 2.50051 12.993 9.99798 0 0 1 0.866 8 6 1 0 +567 0 1 0 3.00061 12.1268 9.99798 0 0 1 0.866 8 6 1 0 +568 0 1 0 3.50071 12.993 9.99798 0 0 1 0.866 8 6 1 0 +569 0 1 0 4.00081 12.1268 9.99798 0 0 1 0.866 8 6 1 0 +570 0 1 0 4.50091 12.993 9.99798 0 0 1 0.866 8 6 1 0 +571 0 1 0 5.00101 12.1268 9.99798 0 0 1 0.866 8 6 1 0 +572 0 1 0 5.50111 12.993 9.99798 0 0 1 0.866 8 6 1 0 +573 0 1 0 6.00121 12.1268 9.99798 0 0 1 0.866 8 6 1 0 +574 0 1 0 6.50132 12.993 9.99798 0 0 1 0.866 8 6 1 0 +575 0 1 0 7.00142 12.1268 9.99798 0 0 1 0.866 8 6 1 0 +576 0 1 0 7.50152 12.993 9.99798 0 0 1 0.866 8 6 1 0 +577 0 1 0 8.00162 12.1268 9.99798 0 0 1 0.866 8 6 1 0 +578 0 1 0 8.50172 12.993 9.99798 0 0 1 0.866 8 6 1 0 +579 0 1 0 9.00182 12.1268 9.99798 0 0 1 0.866 8 6 1 0 +580 0 1 0 9.50192 12.993 9.99798 0 0 1 0.866 8 6 1 0 +581 0 1 0 10.002 12.1268 9.99798 0 0 1 0.866 8 6 1 0 +582 0 1 0 10.5021 12.993 9.99798 0 0 1 0.866 8 6 1 0 +583 0 1 0 11.0022 12.1268 9.99798 0 0 1 0.866 8 6 1 0 +584 0 1 0 11.5023 12.993 9.99798 0 0 1 0.866 8 6 1 0 +585 0 1 0 12.0024 12.1268 9.99798 0 0 1 0.866 8 6 1 0 +586 0 1 0 12.5025 12.993 9.99798 0 0 1 0.866 8 6 1 0 +587 0 1 0 13.0026 12.1268 9.99798 0 0 1 0.866 8 6 1 0 +588 0 1 0 13.5027 12.993 9.99798 0 0 1 0.866 8 6 1 0 +589 0 1 0 14.0028 12.1268 9.99798 0 0 1 0.866 8 6 1 0 +590 0 1 0 14.5029 12.993 9.99798 0 0 1 0.866 8 6 1 0 +591 0 1 0 15.003 12.1268 9.99798 0 0 1 0.866 8 6 1 0 +592 0 1 0 15.5031 12.993 9.99798 0 0 1 0.866 8 6 1 0 +593 0 1 0 16.0032 12.1268 9.99798 0 0 1 0.866 8 6 1 0 +594 0 1 0 16.5033 12.993 9.99798 0 0 1 0.866 8 6 1 0 +595 0 1 0 17.0034 12.1268 9.99798 0 0 1 0.866 8 6 1 0 +596 0 1 0 17.5035 12.993 9.99798 0 0 1 0.866 8 6 1 0 +597 0 1 0 18.0036 12.1268 9.99798 0 0 1 0.866 8 6 1 0 +598 0 1 0 18.5037 12.993 9.99798 0 0 1 0.866 8 6 1 0 +599 0 1 0 19.0038 12.1268 9.99798 0 0 1 0.866 8 6 1 0 +600 0 1 0 19.5039 12.993 9.99798 0 0 1 0.866 8 6 1 0 +601 0 1 0 20.004 12.1268 9.99798 0 0 1 0.866 8 6 1 0 +602 0 1 0 20.5041 12.993 9.99798 0 0 1 0.866 8 6 1 0 +603 0 1 0 21.0042 12.1268 9.99798 0 0 1 0.866 8 6 1 0 +604 0 1 0 21.5043 12.993 9.99798 0 0 1 0.866 8 6 1 0 +605 0 1 0 22.0045 12.1268 9.99798 0 0 1 0.866 8 6 1 0 +606 0 1 0 22.5046 12.993 9.99798 0 0 1 0.866 8 6 1 0 +607 0 1 0 23.0047 12.1268 9.99798 0 0 1 0.866 8 6 1 0 +608 0 1 0 23.5048 12.993 9.99798 0 0 1 0.866 8 6 1 0 +609 0 1 0 24.0049 12.1268 9.99798 0 0 1 0.866 8 6 1 0 +610 0 1 0 24.505 12.993 9.99798 0 0 1 0.866 8 6 1 0 +611 0 1 0 25.0051 12.1268 9.99798 0 0 1 0.866 8 6 1 0 +612 0 1 0 25.5052 12.993 9.99798 0 0 1 0.866 8 6 1 0 +613 0 1 0 26.0053 12.1268 9.99798 0 0 1 0.866 8 6 1 0 +614 0 1 0 26.5054 12.993 9.99798 0 0 1 0.866 8 6 1 0 +615 0 1 0 27.0055 12.1268 9.99798 0 0 1 0.866 8 6 1 0 +616 0 1 0 27.5056 12.993 9.99798 0 0 1 0.866 8 6 1 0 +617 0 1 0 28.0057 12.1268 9.99798 0 0 1 0.866 8 6 1 0 +618 0 1 0 28.5058 12.993 9.99798 0 0 1 0.866 8 6 1 0 +619 0 1 0 29.0059 12.1268 9.99798 0 0 1 0.866 8 6 1 0 +620 0 1 0 29.506 12.993 9.99798 0 0 1 0.866 8 6 1 0 +621 0 1 0 30.0061 12.1268 9.99798 0 0 1 0.866 8 6 1 0 +622 0 1 0 30.5062 12.993 9.99798 0 0 1 0.866 8 6 1 0 +623 0 1 0 31.0063 12.1268 9.99798 0 0 1 0.866 8 6 1 0 +624 0 1 0 31.5064 12.993 9.99798 0 0 1 0.866 8 6 1 0 +625 0 1 0 32.0065 12.1268 9.99798 0 0 1 0.866 8 6 1 0 +626 0 1 0 32.5066 12.993 9.99798 0 0 1 0.866 8 6 1 0 +627 0 1 0 33.0067 12.1268 9.99798 0 0 1 0.866 8 6 1 0 +628 0 1 0 33.5068 12.993 9.99798 0 0 1 0.866 8 6 1 0 +629 0 1 0 34.0069 12.1268 9.99798 0 0 1 0.866 8 6 1 0 +630 0 1 0 34.507 12.993 9.99798 0 0 1 0.866 8 6 1 0 +631 0 1 0 35.0071 12.1268 9.99798 0 0 1 0.866 8 6 1 0 +632 0 1 0 35.5072 12.993 9.99798 0 0 1 0.866 8 6 1 0 +633 0 1 0 36.0073 12.1268 9.99798 0 0 1 0.866 8 6 1 0 +634 0 1 0 36.5074 12.993 9.99798 0 0 1 0.866 8 6 1 0 +635 0 1 0 37.0075 12.1268 9.99798 0 0 1 0.866 8 6 1 0 +636 0 1 0 37.5076 12.993 9.99798 0 0 1 0.866 8 6 1 0 +637 0 1 0 38.0077 12.1268 9.99798 0 0 1 0.866 8 6 1 0 +638 0 1 0 38.5078 12.993 9.99798 0 0 1 0.866 8 6 1 0 +639 0 1 0 39.0079 12.1268 9.99798 0 0 1 0.866 8 6 1 0 +640 0 1 0 39.508 12.993 9.99798 0 0 1 0.866 8 6 1 0 +641 0 1 0 0 13.8592 9.99798 0 0 1 0.866 8 6 1 0 +642 0 1 0 0.500101 14.7254 9.99798 0 0 1 0.866 8 6 1 0 +643 0 1 0 1.0002 13.8592 9.99798 0 0 1 0.866 8 6 1 0 +644 0 1 0 1.5003 14.7254 9.99798 0 0 1 0.866 8 6 1 0 +645 0 1 0 2.0004 13.8592 9.99798 0 0 1 0.866 8 6 1 0 +646 0 1 0 2.50051 14.7254 9.99798 0 0 1 0.866 8 6 1 0 +647 0 1 0 3.00061 13.8592 9.99798 0 0 1 0.866 8 6 1 0 +648 0 1 0 3.50071 14.7254 9.99798 0 0 1 0.866 8 6 1 0 +649 0 1 0 4.00081 13.8592 9.99798 0 0 1 0.866 8 6 1 0 +650 0 1 0 4.50091 14.7254 9.99798 0 0 1 0.866 8 6 1 0 +651 0 1 0 5.00101 13.8592 9.99798 0 0 1 0.866 8 6 1 0 +652 0 1 0 5.50111 14.7254 9.99798 0 0 1 0.866 8 6 1 0 +653 0 1 0 6.00121 13.8592 9.99798 0 0 1 0.866 8 6 1 0 +654 0 1 0 6.50132 14.7254 9.99798 0 0 1 0.866 8 6 1 0 +655 0 1 0 7.00142 13.8592 9.99798 0 0 1 0.866 8 6 1 0 +656 0 1 0 7.50152 14.7254 9.99798 0 0 1 0.866 8 6 1 0 +657 0 1 0 8.00162 13.8592 9.99798 0 0 1 0.866 8 6 1 0 +658 0 1 0 8.50172 14.7254 9.99798 0 0 1 0.866 8 6 1 0 +659 0 1 0 9.00182 13.8592 9.99798 0 0 1 0.866 8 6 1 0 +660 0 1 0 9.50192 14.7254 9.99798 0 0 1 0.866 8 6 1 0 +661 0 1 0 10.002 13.8592 9.99798 0 0 1 0.866 8 6 1 0 +662 0 1 0 10.5021 14.7254 9.99798 0 0 1 0.866 8 6 1 0 +663 0 1 0 11.0022 13.8592 9.99798 0 0 1 0.866 8 6 1 0 +664 0 1 0 11.5023 14.7254 9.99798 0 0 1 0.866 8 6 1 0 +665 0 1 0 12.0024 13.8592 9.99798 0 0 1 0.866 8 6 1 0 +666 0 1 0 12.5025 14.7254 9.99798 0 0 1 0.866 8 6 1 0 +667 0 1 0 13.0026 13.8592 9.99798 0 0 1 0.866 8 6 1 0 +668 0 1 0 13.5027 14.7254 9.99798 0 0 1 0.866 8 6 1 0 +669 0 1 0 14.0028 13.8592 9.99798 0 0 1 0.866 8 6 1 0 +670 0 1 0 14.5029 14.7254 9.99798 0 0 1 0.866 8 6 1 0 +671 0 1 0 15.003 13.8592 9.99798 0 0 1 0.866 8 6 1 0 +672 0 1 0 15.5031 14.7254 9.99798 0 0 1 0.866 8 6 1 0 +673 0 1 0 16.0032 13.8592 9.99798 0 0 1 0.866 8 6 1 0 +674 0 1 0 16.5033 14.7254 9.99798 0 0 1 0.866 8 6 1 0 +675 0 1 0 17.0034 13.8592 9.99798 0 0 1 0.866 8 6 1 0 +676 0 1 0 17.5035 14.7254 9.99798 0 0 1 0.866 8 6 1 0 +677 0 1 0 18.0036 13.8592 9.99798 0 0 1 0.866 8 6 1 0 +678 0 1 0 18.5037 14.7254 9.99798 0 0 1 0.866 8 6 1 0 +679 0 1 0 19.0038 13.8592 9.99798 0 0 1 0.866 8 6 1 0 +680 0 1 0 19.5039 14.7254 9.99798 0 0 1 0.866 8 6 1 0 +681 0 1 0 20.004 13.8592 9.99798 0 0 1 0.866 8 6 1 0 +682 0 1 0 20.5041 14.7254 9.99798 0 0 1 0.866 8 6 1 0 +683 0 1 0 21.0042 13.8592 9.99798 0 0 1 0.866 8 6 1 0 +684 0 1 0 21.5043 14.7254 9.99798 0 0 1 0.866 8 6 1 0 +685 0 1 0 22.0045 13.8592 9.99798 0 0 1 0.866 8 6 1 0 +686 0 1 0 22.5046 14.7254 9.99798 0 0 1 0.866 8 6 1 0 +687 0 1 0 23.0047 13.8592 9.99798 0 0 1 0.866 8 6 1 0 +688 0 1 0 23.5048 14.7254 9.99798 0 0 1 0.866 8 6 1 0 +689 0 1 0 24.0049 13.8592 9.99798 0 0 1 0.866 8 6 1 0 +690 0 1 0 24.505 14.7254 9.99798 0 0 1 0.866 8 6 1 0 +691 0 1 0 25.0051 13.8592 9.99798 0 0 1 0.866 8 6 1 0 +692 0 1 0 25.5052 14.7254 9.99798 0 0 1 0.866 8 6 1 0 +693 0 1 0 26.0053 13.8592 9.99798 0 0 1 0.866 8 6 1 0 +694 0 1 0 26.5054 14.7254 9.99798 0 0 1 0.866 8 6 1 0 +695 0 1 0 27.0055 13.8592 9.99798 0 0 1 0.866 8 6 1 0 +696 0 1 0 27.5056 14.7254 9.99798 0 0 1 0.866 8 6 1 0 +697 0 1 0 28.0057 13.8592 9.99798 0 0 1 0.866 8 6 1 0 +698 0 1 0 28.5058 14.7254 9.99798 0 0 1 0.866 8 6 1 0 +699 0 1 0 29.0059 13.8592 9.99798 0 0 1 0.866 8 6 1 0 +700 0 1 0 29.506 14.7254 9.99798 0 0 1 0.866 8 6 1 0 +701 0 1 0 30.0061 13.8592 9.99798 0 0 1 0.866 8 6 1 0 +702 0 1 0 30.5062 14.7254 9.99798 0 0 1 0.866 8 6 1 0 +703 0 1 0 31.0063 13.8592 9.99798 0 0 1 0.866 8 6 1 0 +704 0 1 0 31.5064 14.7254 9.99798 0 0 1 0.866 8 6 1 0 +705 0 1 0 32.0065 13.8592 9.99798 0 0 1 0.866 8 6 1 0 +706 0 1 0 32.5066 14.7254 9.99798 0 0 1 0.866 8 6 1 0 +707 0 1 0 33.0067 13.8592 9.99798 0 0 1 0.866 8 6 1 0 +708 0 1 0 33.5068 14.7254 9.99798 0 0 1 0.866 8 6 1 0 +709 0 1 0 34.0069 13.8592 9.99798 0 0 1 0.866 8 6 1 0 +710 0 1 0 34.507 14.7254 9.99798 0 0 1 0.866 8 6 1 0 +711 0 1 0 35.0071 13.8592 9.99798 0 0 1 0.866 8 6 1 0 +712 0 1 0 35.5072 14.7254 9.99798 0 0 1 0.866 8 6 1 0 +713 0 1 0 36.0073 13.8592 9.99798 0 0 1 0.866 8 6 1 0 +714 0 1 0 36.5074 14.7254 9.99798 0 0 1 0.866 8 6 1 0 +715 0 1 0 37.0075 13.8592 9.99798 0 0 1 0.866 8 6 1 0 +716 0 1 0 37.5076 14.7254 9.99798 0 0 1 0.866 8 6 1 0 +717 0 1 0 38.0077 13.8592 9.99798 0 0 1 0.866 8 6 1 0 +718 0 1 0 38.5078 14.7254 9.99798 0 0 1 0.866 8 6 1 0 +719 0 1 0 39.0079 13.8592 9.99798 0 0 1 0.866 8 6 1 0 +720 0 1 0 39.508 14.7254 9.99798 0 0 1 0.866 8 6 1 0 +721 0 1 0 0 15.5916 9.99798 0 0 1 0.866 8 6 1 0 +722 0 1 0 0.500101 16.4578 9.99798 0 0 1 0.866 8 6 1 0 +723 0 1 0 1.0002 15.5916 9.99798 0 0 1 0.866 8 6 1 0 +724 0 1 0 1.5003 16.4578 9.99798 0 0 1 0.866 8 6 1 0 +725 0 1 0 2.0004 15.5916 9.99798 0 0 1 0.866 8 6 1 0 +726 0 1 0 2.50051 16.4578 9.99798 0 0 1 0.866 8 6 1 0 +727 0 1 0 3.00061 15.5916 9.99798 0 0 1 0.866 8 6 1 0 +728 0 1 0 3.50071 16.4578 9.99798 0 0 1 0.866 8 6 1 0 +729 0 1 0 4.00081 15.5916 9.99798 0 0 1 0.866 8 6 1 0 +730 0 1 0 4.50091 16.4578 9.99798 0 0 1 0.866 8 6 1 0 +731 0 1 0 5.00101 15.5916 9.99798 0 0 1 0.866 8 6 1 0 +732 0 1 0 5.50111 16.4578 9.99798 0 0 1 0.866 8 6 1 0 +733 0 1 0 6.00121 15.5916 9.99798 0 0 1 0.866 8 6 1 0 +734 0 1 0 6.50132 16.4578 9.99798 0 0 1 0.866 8 6 1 0 +735 0 1 0 7.00142 15.5916 9.99798 0 0 1 0.866 8 6 1 0 +736 0 1 0 7.50152 16.4578 9.99798 0 0 1 0.866 8 6 1 0 +737 0 1 0 8.00162 15.5916 9.99798 0 0 1 0.866 8 6 1 0 +738 0 1 0 8.50172 16.4578 9.99798 0 0 1 0.866 8 6 1 0 +739 0 1 0 9.00182 15.5916 9.99798 0 0 1 0.866 8 6 1 0 +740 0 1 0 9.50192 16.4578 9.99798 0 0 1 0.866 8 6 1 0 +741 0 1 0 10.002 15.5916 9.99798 0 0 1 0.866 8 6 1 0 +742 0 1 0 10.5021 16.4578 9.99798 0 0 1 0.866 8 6 1 0 +743 0 1 0 11.0022 15.5916 9.99798 0 0 1 0.866 8 6 1 0 +744 0 1 0 11.5023 16.4578 9.99798 0 0 1 0.866 8 6 1 0 +745 0 1 0 12.0024 15.5916 9.99798 0 0 1 0.866 8 6 1 0 +746 0 1 0 12.5025 16.4578 9.99798 0 0 1 0.866 8 6 1 0 +747 0 1 0 13.0026 15.5916 9.99798 0 0 1 0.866 8 6 1 0 +748 0 1 0 13.5027 16.4578 9.99798 0 0 1 0.866 8 6 1 0 +749 0 1 0 14.0028 15.5916 9.99798 0 0 1 0.866 8 6 1 0 +750 0 1 0 14.5029 16.4578 9.99798 0 0 1 0.866 8 6 1 0 +751 0 1 0 15.003 15.5916 9.99798 0 0 1 0.866 8 6 1 0 +752 0 1 0 15.5031 16.4578 9.99798 0 0 1 0.866 8 6 1 0 +753 0 1 0 16.0032 15.5916 9.99798 0 0 1 0.866 8 6 1 0 +754 0 1 0 16.5033 16.4578 9.99798 0 0 1 0.866 8 6 1 0 +755 0 1 0 17.0034 15.5916 9.99798 0 0 1 0.866 8 6 1 0 +756 0 1 0 17.5035 16.4578 9.99798 0 0 1 0.866 8 6 1 0 +757 0 1 0 18.0036 15.5916 9.99798 0 0 1 0.866 8 6 1 0 +758 0 1 0 18.5037 16.4578 9.99798 0 0 1 0.866 8 6 1 0 +759 0 1 0 19.0038 15.5916 9.99798 0 0 1 0.866 8 6 1 0 +760 0 1 0 19.5039 16.4578 9.99798 0 0 1 0.866 8 6 1 0 +761 0 1 0 20.004 15.5916 9.99798 0 0 1 0.866 8 6 1 0 +762 0 1 0 20.5041 16.4578 9.99798 0 0 1 0.866 8 6 1 0 +763 0 1 0 21.0042 15.5916 9.99798 0 0 1 0.866 8 6 1 0 +764 0 1 0 21.5043 16.4578 9.99798 0 0 1 0.866 8 6 1 0 +765 0 1 0 22.0045 15.5916 9.99798 0 0 1 0.866 8 6 1 0 +766 0 1 0 22.5046 16.4578 9.99798 0 0 1 0.866 8 6 1 0 +767 0 1 0 23.0047 15.5916 9.99798 0 0 1 0.866 8 6 1 0 +768 0 1 0 23.5048 16.4578 9.99798 0 0 1 0.866 8 6 1 0 +769 0 1 0 24.0049 15.5916 9.99798 0 0 1 0.866 8 6 1 0 +770 0 1 0 24.505 16.4578 9.99798 0 0 1 0.866 8 6 1 0 +771 0 1 0 25.0051 15.5916 9.99798 0 0 1 0.866 8 6 1 0 +772 0 1 0 25.5052 16.4578 9.99798 0 0 1 0.866 8 6 1 0 +773 0 1 0 26.0053 15.5916 9.99798 0 0 1 0.866 8 6 1 0 +774 0 1 0 26.5054 16.4578 9.99798 0 0 1 0.866 8 6 1 0 +775 0 1 0 27.0055 15.5916 9.99798 0 0 1 0.866 8 6 1 0 +776 0 1 0 27.5056 16.4578 9.99798 0 0 1 0.866 8 6 1 0 +777 0 1 0 28.0057 15.5916 9.99798 0 0 1 0.866 8 6 1 0 +778 0 1 0 28.5058 16.4578 9.99798 0 0 1 0.866 8 6 1 0 +779 0 1 0 29.0059 15.5916 9.99798 0 0 1 0.866 8 6 1 0 +780 0 1 0 29.506 16.4578 9.99798 0 0 1 0.866 8 6 1 0 +781 0 1 0 30.0061 15.5916 9.99798 0 0 1 0.866 8 6 1 0 +782 0 1 0 30.5062 16.4578 9.99798 0 0 1 0.866 8 6 1 0 +783 0 1 0 31.0063 15.5916 9.99798 0 0 1 0.866 8 6 1 0 +784 0 1 0 31.5064 16.4578 9.99798 0 0 1 0.866 8 6 1 0 +785 0 1 0 32.0065 15.5916 9.99798 0 0 1 0.866 8 6 1 0 +786 0 1 0 32.5066 16.4578 9.99798 0 0 1 0.866 8 6 1 0 +787 0 1 0 33.0067 15.5916 9.99798 0 0 1 0.866 8 6 1 0 +788 0 1 0 33.5068 16.4578 9.99798 0 0 1 0.866 8 6 1 0 +789 0 1 0 34.0069 15.5916 9.99798 0 0 1 0.866 8 6 1 0 +790 0 1 0 34.507 16.4578 9.99798 0 0 1 0.866 8 6 1 0 +791 0 1 0 35.0071 15.5916 9.99798 0 0 1 0.866 8 6 1 0 +792 0 1 0 35.5072 16.4578 9.99798 0 0 1 0.866 8 6 1 0 +793 0 1 0 36.0073 15.5916 9.99798 0 0 1 0.866 8 6 1 0 +794 0 1 0 36.5074 16.4578 9.99798 0 0 1 0.866 8 6 1 0 +795 0 1 0 37.0075 15.5916 9.99798 0 0 1 0.866 8 6 1 0 +796 0 1 0 37.5076 16.4578 9.99798 0 0 1 0.866 8 6 1 0 +797 0 1 0 38.0077 15.5916 9.99798 0 0 1 0.866 8 6 1 0 +798 0 1 0 38.5078 16.4578 9.99798 0 0 1 0.866 8 6 1 0 +799 0 1 0 39.0079 15.5916 9.99798 0 0 1 0.866 8 6 1 0 +800 0 1 0 39.508 16.4578 9.99798 0 0 1 0.866 8 6 1 0 +801 0 1 0 0 17.324 9.99798 0 0 1 0.866 8 6 1 0 +802 0 1 0 0.500101 18.1902 9.99798 0 0 1 0.866 8 6 1 0 +803 0 1 0 1.0002 17.324 9.99798 0 0 1 0.866 8 6 1 0 +804 0 1 0 1.5003 18.1902 9.99798 0 0 1 0.866 8 6 1 0 +805 0 1 0 2.0004 17.324 9.99798 0 0 1 0.866 8 6 1 0 +806 0 1 0 2.50051 18.1902 9.99798 0 0 1 0.866 8 6 1 0 +807 0 1 0 3.00061 17.324 9.99798 0 0 1 0.866 8 6 1 0 +808 0 1 0 3.50071 18.1902 9.99798 0 0 1 0.866 8 6 1 0 +809 0 1 0 4.00081 17.324 9.99798 0 0 1 0.866 8 6 1 0 +810 0 1 0 4.50091 18.1902 9.99798 0 0 1 0.866 8 6 1 0 +811 0 1 0 5.00101 17.324 9.99798 0 0 1 0.866 8 6 1 0 +812 0 1 0 5.50111 18.1902 9.99798 0 0 1 0.866 8 6 1 0 +813 0 1 0 6.00121 17.324 9.99798 0 0 1 0.866 8 6 1 0 +814 0 1 0 6.50132 18.1902 9.99798 0 0 1 0.866 8 6 1 0 +815 0 1 0 7.00142 17.324 9.99798 0 0 1 0.866 8 6 1 0 +816 0 1 0 7.50152 18.1902 9.99798 0 0 1 0.866 8 6 1 0 +817 0 1 0 8.00162 17.324 9.99798 0 0 1 0.866 8 6 1 0 +818 0 1 0 8.50172 18.1902 9.99798 0 0 1 0.866 8 6 1 0 +819 0 1 0 9.00182 17.324 9.99798 0 0 1 0.866 8 6 1 0 +820 0 1 0 9.50192 18.1902 9.99798 0 0 1 0.866 8 6 1 0 +821 0 1 0 10.002 17.324 9.99798 0 0 1 0.866 8 6 1 0 +822 0 1 0 10.5021 18.1902 9.99798 0 0 1 0.866 8 6 1 0 +823 0 1 0 11.0022 17.324 9.99798 0 0 1 0.866 8 6 1 0 +824 0 1 0 11.5023 18.1902 9.99798 0 0 1 0.866 8 6 1 0 +825 0 1 0 12.0024 17.324 9.99798 0 0 1 0.866 8 6 1 0 +826 0 1 0 12.5025 18.1902 9.99798 0 0 1 0.866 8 6 1 0 +827 0 1 0 13.0026 17.324 9.99798 0 0 1 0.866 8 6 1 0 +828 0 1 0 13.5027 18.1902 9.99798 0 0 1 0.866 8 6 1 0 +829 0 1 0 14.0028 17.324 9.99798 0 0 1 0.866 8 6 1 0 +830 0 1 0 14.5029 18.1902 9.99798 0 0 1 0.866 8 6 1 0 +831 0 1 0 15.003 17.324 9.99798 0 0 1 0.866 8 6 1 0 +832 0 1 0 15.5031 18.1902 9.99798 0 0 1 0.866 8 6 1 0 +833 0 1 0 16.0032 17.324 9.99798 0 0 1 0.866 8 6 1 0 +834 0 1 0 16.5033 18.1902 9.99798 0 0 1 0.866 8 6 1 0 +835 0 1 0 17.0034 17.324 9.99798 0 0 1 0.866 8 6 1 0 +836 0 1 0 17.5035 18.1902 9.99798 0 0 1 0.866 8 6 1 0 +837 0 1 0 18.0036 17.324 9.99798 0 0 1 0.866 8 6 1 0 +838 0 1 0 18.5037 18.1902 9.99798 0 0 1 0.866 8 6 1 0 +839 0 1 0 19.0038 17.324 9.99798 0 0 1 0.866 8 6 1 0 +840 0 1 0 19.5039 18.1902 9.99798 0 0 1 0.866 8 6 1 0 +841 0 1 0 20.004 17.324 9.99798 0 0 1 0.866 8 6 1 0 +842 0 1 0 20.5041 18.1902 9.99798 0 0 1 0.866 8 6 1 0 +843 0 1 0 21.0042 17.324 9.99798 0 0 1 0.866 8 6 1 0 +844 0 1 0 21.5043 18.1902 9.99798 0 0 1 0.866 8 6 1 0 +845 0 1 0 22.0045 17.324 9.99798 0 0 1 0.866 8 6 1 0 +846 0 1 0 22.5046 18.1902 9.99798 0 0 1 0.866 8 6 1 0 +847 0 1 0 23.0047 17.324 9.99798 0 0 1 0.866 8 6 1 0 +848 0 1 0 23.5048 18.1902 9.99798 0 0 1 0.866 8 6 1 0 +849 0 1 0 24.0049 17.324 9.99798 0 0 1 0.866 8 6 1 0 +850 0 1 0 24.505 18.1902 9.99798 0 0 1 0.866 8 6 1 0 +851 0 1 0 25.0051 17.324 9.99798 0 0 1 0.866 8 6 1 0 +852 0 1 0 25.5052 18.1902 9.99798 0 0 1 0.866 8 6 1 0 +853 0 1 0 26.0053 17.324 9.99798 0 0 1 0.866 8 6 1 0 +854 0 1 0 26.5054 18.1902 9.99798 0 0 1 0.866 8 6 1 0 +855 0 1 0 27.0055 17.324 9.99798 0 0 1 0.866 8 6 1 0 +856 0 1 0 27.5056 18.1902 9.99798 0 0 1 0.866 8 6 1 0 +857 0 1 0 28.0057 17.324 9.99798 0 0 1 0.866 8 6 1 0 +858 0 1 0 28.5058 18.1902 9.99798 0 0 1 0.866 8 6 1 0 +859 0 1 0 29.0059 17.324 9.99798 0 0 1 0.866 8 6 1 0 +860 0 1 0 29.506 18.1902 9.99798 0 0 1 0.866 8 6 1 0 +861 0 1 0 30.0061 17.324 9.99798 0 0 1 0.866 8 6 1 0 +862 0 1 0 30.5062 18.1902 9.99798 0 0 1 0.866 8 6 1 0 +863 0 1 0 31.0063 17.324 9.99798 0 0 1 0.866 8 6 1 0 +864 0 1 0 31.5064 18.1902 9.99798 0 0 1 0.866 8 6 1 0 +865 0 1 0 32.0065 17.324 9.99798 0 0 1 0.866 8 6 1 0 +866 0 1 0 32.5066 18.1902 9.99798 0 0 1 0.866 8 6 1 0 +867 0 1 0 33.0067 17.324 9.99798 0 0 1 0.866 8 6 1 0 +868 0 1 0 33.5068 18.1902 9.99798 0 0 1 0.866 8 6 1 0 +869 0 1 0 34.0069 17.324 9.99798 0 0 1 0.866 8 6 1 0 +870 0 1 0 34.507 18.1902 9.99798 0 0 1 0.866 8 6 1 0 +871 0 1 0 35.0071 17.324 9.99798 0 0 1 0.866 8 6 1 0 +872 0 1 0 35.5072 18.1902 9.99798 0 0 1 0.866 8 6 1 0 +873 0 1 0 36.0073 17.324 9.99798 0 0 1 0.866 8 6 1 0 +874 0 1 0 36.5074 18.1902 9.99798 0 0 1 0.866 8 6 1 0 +875 0 1 0 37.0075 17.324 9.99798 0 0 1 0.866 8 6 1 0 +876 0 1 0 37.5076 18.1902 9.99798 0 0 1 0.866 8 6 1 0 +877 0 1 0 38.0077 17.324 9.99798 0 0 1 0.866 8 6 1 0 +878 0 1 0 38.5078 18.1902 9.99798 0 0 1 0.866 8 6 1 0 +879 0 1 0 39.0079 17.324 9.99798 0 0 1 0.866 8 6 1 0 +880 0 1 0 39.508 18.1902 9.99798 0 0 1 0.866 8 6 1 0 +881 0 1 0 0 19.0564 9.99798 0 0 1 0.866 8 6 1 0 +882 0 1 0 0.500101 19.9226 9.99798 0 0 1 0.866 8 6 1 0 +883 0 1 0 1.0002 19.0564 9.99798 0 0 1 0.866 8 6 1 0 +884 0 1 0 1.5003 19.9226 9.99798 0 0 1 0.866 8 6 1 0 +885 0 1 0 2.0004 19.0564 9.99798 0 0 1 0.866 8 6 1 0 +886 0 1 0 2.50051 19.9226 9.99798 0 0 1 0.866 8 6 1 0 +887 0 1 0 3.00061 19.0564 9.99798 0 0 1 0.866 8 6 1 0 +888 0 1 0 3.50071 19.9226 9.99798 0 0 1 0.866 8 6 1 0 +889 0 1 0 4.00081 19.0564 9.99798 0 0 1 0.866 8 6 1 0 +890 0 1 0 4.50091 19.9226 9.99798 0 0 1 0.866 8 6 1 0 +891 0 1 0 5.00101 19.0564 9.99798 0 0 1 0.866 8 6 1 0 +892 0 1 0 5.50111 19.9226 9.99798 0 0 1 0.866 8 6 1 0 +893 0 1 0 6.00121 19.0564 9.99798 0 0 1 0.866 8 6 1 0 +894 0 1 0 6.50132 19.9226 9.99798 0 0 1 0.866 8 6 1 0 +895 0 1 0 7.00142 19.0564 9.99798 0 0 1 0.866 8 6 1 0 +896 0 1 0 7.50152 19.9226 9.99798 0 0 1 0.866 8 6 1 0 +897 0 1 0 8.00162 19.0564 9.99798 0 0 1 0.866 8 6 1 0 +898 0 1 0 8.50172 19.9226 9.99798 0 0 1 0.866 8 6 1 0 +899 0 1 0 9.00182 19.0564 9.99798 0 0 1 0.866 8 6 1 0 +900 0 1 0 9.50192 19.9226 9.99798 0 0 1 0.866 8 6 1 0 +901 0 1 0 10.002 19.0564 9.99798 0 0 1 0.866 8 6 1 0 +902 0 1 0 10.5021 19.9226 9.99798 0 0 1 0.866 8 6 1 0 +903 0 1 0 11.0022 19.0564 9.99798 0 0 1 0.866 8 6 1 0 +904 0 1 0 11.5023 19.9226 9.99798 0 0 1 0.866 8 6 1 0 +905 0 1 0 12.0024 19.0564 9.99798 0 0 1 0.866 8 6 1 0 +906 0 1 0 12.5025 19.9226 9.99798 0 0 1 0.866 8 6 1 0 +907 0 1 0 13.0026 19.0564 9.99798 0 0 1 0.866 8 6 1 0 +908 0 1 0 13.5027 19.9226 9.99798 0 0 1 0.866 8 6 1 0 +909 0 1 0 14.0028 19.0564 9.99798 0 0 1 0.866 8 6 1 0 +910 0 1 0 14.5029 19.9226 9.99798 0 0 1 0.866 8 6 1 0 +911 0 1 0 15.003 19.0564 9.99798 0 0 1 0.866 8 6 1 0 +912 0 1 0 15.5031 19.9226 9.99798 0 0 1 0.866 8 6 1 0 +913 0 1 0 16.0032 19.0564 9.99798 0 0 1 0.866 8 6 1 0 +914 0 1 0 16.5033 19.9226 9.99798 0 0 1 0.866 8 6 1 0 +915 0 1 0 17.0034 19.0564 9.99798 0 0 1 0.866 8 6 1 0 +916 0 1 0 17.5035 19.9226 9.99798 0 0 1 0.866 8 6 1 0 +917 0 1 0 18.0036 19.0564 9.99798 0 0 1 0.866 8 6 1 0 +918 0 1 0 18.5037 19.9226 9.99798 0 0 1 0.866 8 6 1 0 +919 0 1 0 19.0038 19.0564 9.99798 0 0 1 0.866 8 6 1 0 +920 0 1 0 19.5039 19.9226 9.99798 0 0 1 0.866 8 6 1 0 +921 0 1 0 20.004 19.0564 9.99798 0 0 1 0.866 8 6 1 0 +922 0 1 0 20.5041 19.9226 9.99798 0 0 1 0.866 8 6 1 0 +923 0 1 0 21.0042 19.0564 9.99798 0 0 1 0.866 8 6 1 0 +924 0 1 0 21.5043 19.9226 9.99798 0 0 1 0.866 8 6 1 0 +925 0 1 0 22.0045 19.0564 9.99798 0 0 1 0.866 8 6 1 0 +926 0 1 0 22.5046 19.9226 9.99798 0 0 1 0.866 8 6 1 0 +927 0 1 0 23.0047 19.0564 9.99798 0 0 1 0.866 8 6 1 0 +928 0 1 0 23.5048 19.9226 9.99798 0 0 1 0.866 8 6 1 0 +929 0 1 0 24.0049 19.0564 9.99798 0 0 1 0.866 8 6 1 0 +930 0 1 0 24.505 19.9226 9.99798 0 0 1 0.866 8 6 1 0 +931 0 1 0 25.0051 19.0564 9.99798 0 0 1 0.866 8 6 1 0 +932 0 1 0 25.5052 19.9226 9.99798 0 0 1 0.866 8 6 1 0 +933 0 1 0 26.0053 19.0564 9.99798 0 0 1 0.866 8 6 1 0 +934 0 1 0 26.5054 19.9226 9.99798 0 0 1 0.866 8 6 1 0 +935 0 1 0 27.0055 19.0564 9.99798 0 0 1 0.866 8 6 1 0 +936 0 1 0 27.5056 19.9226 9.99798 0 0 1 0.866 8 6 1 0 +937 0 1 0 28.0057 19.0564 9.99798 0 0 1 0.866 8 6 1 0 +938 0 1 0 28.5058 19.9226 9.99798 0 0 1 0.866 8 6 1 0 +939 0 1 0 29.0059 19.0564 9.99798 0 0 1 0.866 8 6 1 0 +940 0 1 0 29.506 19.9226 9.99798 0 0 1 0.866 8 6 1 0 +941 0 1 0 30.0061 19.0564 9.99798 0 0 1 0.866 8 6 1 0 +942 0 1 0 30.5062 19.9226 9.99798 0 0 1 0.866 8 6 1 0 +943 0 1 0 31.0063 19.0564 9.99798 0 0 1 0.866 8 6 1 0 +944 0 1 0 31.5064 19.9226 9.99798 0 0 1 0.866 8 6 1 0 +945 0 1 0 32.0065 19.0564 9.99798 0 0 1 0.866 8 6 1 0 +946 0 1 0 32.5066 19.9226 9.99798 0 0 1 0.866 8 6 1 0 +947 0 1 0 33.0067 19.0564 9.99798 0 0 1 0.866 8 6 1 0 +948 0 1 0 33.5068 19.9226 9.99798 0 0 1 0.866 8 6 1 0 +949 0 1 0 34.0069 19.0564 9.99798 0 0 1 0.866 8 6 1 0 +950 0 1 0 34.507 19.9226 9.99798 0 0 1 0.866 8 6 1 0 +951 0 1 0 35.0071 19.0564 9.99798 0 0 1 0.866 8 6 1 0 +952 0 1 0 35.5072 19.9226 9.99798 0 0 1 0.866 8 6 1 0 +953 0 1 0 36.0073 19.0564 9.99798 0 0 1 0.866 8 6 1 0 +954 0 1 0 36.5074 19.9226 9.99798 0 0 1 0.866 8 6 1 0 +955 0 1 0 37.0075 19.0564 9.99798 0 0 1 0.866 8 6 1 0 +956 0 1 0 37.5076 19.9226 9.99798 0 0 1 0.866 8 6 1 0 +957 0 1 0 38.0077 19.0564 9.99798 0 0 1 0.866 8 6 1 0 +958 0 1 0 38.5078 19.9226 9.99798 0 0 1 0.866 8 6 1 0 +959 0 1 0 39.0079 19.0564 9.99798 0 0 1 0.866 8 6 1 0 +960 0 1 0 39.508 19.9226 9.99798 0 0 1 0.866 8 6 1 0 +961 0 1 0 0 20.7888 9.99798 0 0 1 0.866 8 6 1 0 +962 0 1 0 0.500101 21.655 9.99798 0 0 1 0.866 8 6 1 0 +963 0 1 0 1.0002 20.7888 9.99798 0 0 1 0.866 8 6 1 0 +964 0 1 0 1.5003 21.655 9.99798 0 0 1 0.866 8 6 1 0 +965 0 1 0 2.0004 20.7888 9.99798 0 0 1 0.866 8 6 1 0 +966 0 1 0 2.50051 21.655 9.99798 0 0 1 0.866 8 6 1 0 +967 0 1 0 3.00061 20.7888 9.99798 0 0 1 0.866 8 6 1 0 +968 0 1 0 3.50071 21.655 9.99798 0 0 1 0.866 8 6 1 0 +969 0 1 0 4.00081 20.7888 9.99798 0 0 1 0.866 8 6 1 0 +970 0 1 0 4.50091 21.655 9.99798 0 0 1 0.866 8 6 1 0 +971 0 1 0 5.00101 20.7888 9.99798 0 0 1 0.866 8 6 1 0 +972 0 1 0 5.50111 21.655 9.99798 0 0 1 0.866 8 6 1 0 +973 0 1 0 6.00121 20.7888 9.99798 0 0 1 0.866 8 6 1 0 +974 0 1 0 6.50132 21.655 9.99798 0 0 1 0.866 8 6 1 0 +975 0 1 0 7.00142 20.7888 9.99798 0 0 1 0.866 8 6 1 0 +976 0 1 0 7.50152 21.655 9.99798 0 0 1 0.866 8 6 1 0 +977 0 1 0 8.00162 20.7888 9.99798 0 0 1 0.866 8 6 1 0 +978 0 1 0 8.50172 21.655 9.99798 0 0 1 0.866 8 6 1 0 +979 0 1 0 9.00182 20.7888 9.99798 0 0 1 0.866 8 6 1 0 +980 0 1 0 9.50192 21.655 9.99798 0 0 1 0.866 8 6 1 0 +981 0 1 0 10.002 20.7888 9.99798 0 0 1 0.866 8 6 1 0 +982 0 1 0 10.5021 21.655 9.99798 0 0 1 0.866 8 6 1 0 +983 0 1 0 11.0022 20.7888 9.99798 0 0 1 0.866 8 6 1 0 +984 0 1 0 11.5023 21.655 9.99798 0 0 1 0.866 8 6 1 0 +985 0 1 0 12.0024 20.7888 9.99798 0 0 1 0.866 8 6 1 0 +986 0 1 0 12.5025 21.655 9.99798 0 0 1 0.866 8 6 1 0 +987 0 1 0 13.0026 20.7888 9.99798 0 0 1 0.866 8 6 1 0 +988 0 1 0 13.5027 21.655 9.99798 0 0 1 0.866 8 6 1 0 +989 0 1 0 14.0028 20.7888 9.99798 0 0 1 0.866 8 6 1 0 +990 0 1 0 14.5029 21.655 9.99798 0 0 1 0.866 8 6 1 0 +991 0 1 0 15.003 20.7888 9.99798 0 0 1 0.866 8 6 1 0 +992 0 1 0 15.5031 21.655 9.99798 0 0 1 0.866 8 6 1 0 +993 0 1 0 16.0032 20.7888 9.99798 0 0 1 0.866 8 6 1 0 +994 0 1 0 16.5033 21.655 9.99798 0 0 1 0.866 8 6 1 0 +995 0 1 0 17.0034 20.7888 9.99798 0 0 1 0.866 8 6 1 0 +996 0 1 0 17.5035 21.655 9.99798 0 0 1 0.866 8 6 1 0 +997 0 1 0 18.0036 20.7888 9.99798 0 0 1 0.866 8 6 1 0 +998 0 1 0 18.5037 21.655 9.99798 0 0 1 0.866 8 6 1 0 +999 0 1 0 19.0038 20.7888 9.99798 0 0 1 0.866 8 6 1 0 +1000 0 1 0 19.5039 21.655 9.99798 0 0 1 0.866 8 6 1 0 +1001 0 1 0 20.004 20.7888 9.99798 0 0 1 0.866 8 6 1 0 +1002 0 1 0 20.5041 21.655 9.99798 0 0 1 0.866 8 6 1 0 +1003 0 1 0 21.0042 20.7888 9.99798 0 0 1 0.866 8 6 1 0 +1004 0 1 0 21.5043 21.655 9.99798 0 0 1 0.866 8 6 1 0 +1005 0 1 0 22.0045 20.7888 9.99798 0 0 1 0.866 8 6 1 0 +1006 0 1 0 22.5046 21.655 9.99798 0 0 1 0.866 8 6 1 0 +1007 0 1 0 23.0047 20.7888 9.99798 0 0 1 0.866 8 6 1 0 +1008 0 1 0 23.5048 21.655 9.99798 0 0 1 0.866 8 6 1 0 +1009 0 1 0 24.0049 20.7888 9.99798 0 0 1 0.866 8 6 1 0 +1010 0 1 0 24.505 21.655 9.99798 0 0 1 0.866 8 6 1 0 +1011 0 1 0 25.0051 20.7888 9.99798 0 0 1 0.866 8 6 1 0 +1012 0 1 0 25.5052 21.655 9.99798 0 0 1 0.866 8 6 1 0 +1013 0 1 0 26.0053 20.7888 9.99798 0 0 1 0.866 8 6 1 0 +1014 0 1 0 26.5054 21.655 9.99798 0 0 1 0.866 8 6 1 0 +1015 0 1 0 27.0055 20.7888 9.99798 0 0 1 0.866 8 6 1 0 +1016 0 1 0 27.5056 21.655 9.99798 0 0 1 0.866 8 6 1 0 +1017 0 1 0 28.0057 20.7888 9.99798 0 0 1 0.866 8 6 1 0 +1018 0 1 0 28.5058 21.655 9.99798 0 0 1 0.866 8 6 1 0 +1019 0 1 0 29.0059 20.7888 9.99798 0 0 1 0.866 8 6 1 0 +1020 0 1 0 29.506 21.655 9.99798 0 0 1 0.866 8 6 1 0 +1021 0 1 0 30.0061 20.7888 9.99798 0 0 1 0.866 8 6 1 0 +1022 0 1 0 30.5062 21.655 9.99798 0 0 1 0.866 8 6 1 0 +1023 0 1 0 31.0063 20.7888 9.99798 0 0 1 0.866 8 6 1 0 +1024 0 1 0 31.5064 21.655 9.99798 0 0 1 0.866 8 6 1 0 +1025 0 1 0 32.0065 20.7888 9.99798 0 0 1 0.866 8 6 1 0 +1026 0 1 0 32.5066 21.655 9.99798 0 0 1 0.866 8 6 1 0 +1027 0 1 0 33.0067 20.7888 9.99798 0 0 1 0.866 8 6 1 0 +1028 0 1 0 33.5068 21.655 9.99798 0 0 1 0.866 8 6 1 0 +1029 0 1 0 34.0069 20.7888 9.99798 0 0 1 0.866 8 6 1 0 +1030 0 1 0 34.507 21.655 9.99798 0 0 1 0.866 8 6 1 0 +1031 0 1 0 35.0071 20.7888 9.99798 0 0 1 0.866 8 6 1 0 +1032 0 1 0 35.5072 21.655 9.99798 0 0 1 0.866 8 6 1 0 +1033 0 1 0 36.0073 20.7888 9.99798 0 0 1 0.866 8 6 1 0 +1034 0 1 0 36.5074 21.655 9.99798 0 0 1 0.866 8 6 1 0 +1035 0 1 0 37.0075 20.7888 9.99798 0 0 1 0.866 8 6 1 0 +1036 0 1 0 37.5076 21.655 9.99798 0 0 1 0.866 8 6 1 0 +1037 0 1 0 38.0077 20.7888 9.99798 0 0 1 0.866 8 6 1 0 +1038 0 1 0 38.5078 21.655 9.99798 0 0 1 0.866 8 6 1 0 +1039 0 1 0 39.0079 20.7888 9.99798 0 0 1 0.866 8 6 1 0 +1040 0 1 0 39.508 21.655 9.99798 0 0 1 0.866 8 6 1 0 +1041 0 1 0 0 22.5212 9.99798 0 0 1 0.866 8 6 1 0 +1042 0 1 0 0.500101 23.3874 9.99798 0 0 1 0.866 8 6 1 0 +1043 0 1 0 1.0002 22.5212 9.99798 0 0 1 0.866 8 6 1 0 +1044 0 1 0 1.5003 23.3874 9.99798 0 0 1 0.866 8 6 1 0 +1045 0 1 0 2.0004 22.5212 9.99798 0 0 1 0.866 8 6 1 0 +1046 0 1 0 2.50051 23.3874 9.99798 0 0 1 0.866 8 6 1 0 +1047 0 1 0 3.00061 22.5212 9.99798 0 0 1 0.866 8 6 1 0 +1048 0 1 0 3.50071 23.3874 9.99798 0 0 1 0.866 8 6 1 0 +1049 0 1 0 4.00081 22.5212 9.99798 0 0 1 0.866 8 6 1 0 +1050 0 1 0 4.50091 23.3874 9.99798 0 0 1 0.866 8 6 1 0 +1051 0 1 0 5.00101 22.5212 9.99798 0 0 1 0.866 8 6 1 0 +1052 0 1 0 5.50111 23.3874 9.99798 0 0 1 0.866 8 6 1 0 +1053 0 1 0 6.00121 22.5212 9.99798 0 0 1 0.866 8 6 1 0 +1054 0 1 0 6.50132 23.3874 9.99798 0 0 1 0.866 8 6 1 0 +1055 0 1 0 7.00142 22.5212 9.99798 0 0 1 0.866 8 6 1 0 +1056 0 1 0 7.50152 23.3874 9.99798 0 0 1 0.866 8 6 1 0 +1057 0 1 0 8.00162 22.5212 9.99798 0 0 1 0.866 8 6 1 0 +1058 0 1 0 8.50172 23.3874 9.99798 0 0 1 0.866 8 6 1 0 +1059 0 1 0 9.00182 22.5212 9.99798 0 0 1 0.866 8 6 1 0 +1060 0 1 0 9.50192 23.3874 9.99798 0 0 1 0.866 8 6 1 0 +1061 0 1 0 10.002 22.5212 9.99798 0 0 1 0.866 8 6 1 0 +1062 0 1 0 10.5021 23.3874 9.99798 0 0 1 0.866 8 6 1 0 +1063 0 1 0 11.0022 22.5212 9.99798 0 0 1 0.866 8 6 1 0 +1064 0 1 0 11.5023 23.3874 9.99798 0 0 1 0.866 8 6 1 0 +1065 0 1 0 12.0024 22.5212 9.99798 0 0 1 0.866 8 6 1 0 +1066 0 1 0 12.5025 23.3874 9.99798 0 0 1 0.866 8 6 1 0 +1067 0 1 0 13.0026 22.5212 9.99798 0 0 1 0.866 8 6 1 0 +1068 0 1 0 13.5027 23.3874 9.99798 0 0 1 0.866 8 6 1 0 +1069 0 1 0 14.0028 22.5212 9.99798 0 0 1 0.866 8 6 1 0 +1070 0 1 0 14.5029 23.3874 9.99798 0 0 1 0.866 8 6 1 0 +1071 0 1 0 15.003 22.5212 9.99798 0 0 1 0.866 8 6 1 0 +1072 0 1 0 15.5031 23.3874 9.99798 0 0 1 0.866 8 6 1 0 +1073 0 1 0 16.0032 22.5212 9.99798 0 0 1 0.866 8 6 1 0 +1074 0 1 0 16.5033 23.3874 9.99798 0 0 1 0.866 8 6 1 0 +1075 0 1 0 17.0034 22.5212 9.99798 0 0 1 0.866 8 6 1 0 +1076 0 1 0 17.5035 23.3874 9.99798 0 0 1 0.866 8 6 1 0 +1077 0 1 0 18.0036 22.5212 9.99798 0 0 1 0.866 8 6 1 0 +1078 0 1 0 18.5037 23.3874 9.99798 0 0 1 0.866 8 6 1 0 +1079 0 1 0 19.0038 22.5212 9.99798 0 0 1 0.866 8 6 1 0 +1080 0 1 0 19.5039 23.3874 9.99798 0 0 1 0.866 8 6 1 0 +1081 0 1 0 20.004 22.5212 9.99798 0 0 1 0.866 8 6 1 0 +1082 0 1 0 20.5041 23.3874 9.99798 0 0 1 0.866 8 6 1 0 +1083 0 1 0 21.0042 22.5212 9.99798 0 0 1 0.866 8 6 1 0 +1084 0 1 0 21.5043 23.3874 9.99798 0 0 1 0.866 8 6 1 0 +1085 0 1 0 22.0045 22.5212 9.99798 0 0 1 0.866 8 6 1 0 +1086 0 1 0 22.5046 23.3874 9.99798 0 0 1 0.866 8 6 1 0 +1087 0 1 0 23.0047 22.5212 9.99798 0 0 1 0.866 8 6 1 0 +1088 0 1 0 23.5048 23.3874 9.99798 0 0 1 0.866 8 6 1 0 +1089 0 1 0 24.0049 22.5212 9.99798 0 0 1 0.866 8 6 1 0 +1090 0 1 0 24.505 23.3874 9.99798 0 0 1 0.866 8 6 1 0 +1091 0 1 0 25.0051 22.5212 9.99798 0 0 1 0.866 8 6 1 0 +1092 0 1 0 25.5052 23.3874 9.99798 0 0 1 0.866 8 6 1 0 +1093 0 1 0 26.0053 22.5212 9.99798 0 0 1 0.866 8 6 1 0 +1094 0 1 0 26.5054 23.3874 9.99798 0 0 1 0.866 8 6 1 0 +1095 0 1 0 27.0055 22.5212 9.99798 0 0 1 0.866 8 6 1 0 +1096 0 1 0 27.5056 23.3874 9.99798 0 0 1 0.866 8 6 1 0 +1097 0 1 0 28.0057 22.5212 9.99798 0 0 1 0.866 8 6 1 0 +1098 0 1 0 28.5058 23.3874 9.99798 0 0 1 0.866 8 6 1 0 +1099 0 1 0 29.0059 22.5212 9.99798 0 0 1 0.866 8 6 1 0 +1100 0 1 0 29.506 23.3874 9.99798 0 0 1 0.866 8 6 1 0 +1101 0 1 0 30.0061 22.5212 9.99798 0 0 1 0.866 8 6 1 0 +1102 0 1 0 30.5062 23.3874 9.99798 0 0 1 0.866 8 6 1 0 +1103 0 1 0 31.0063 22.5212 9.99798 0 0 1 0.866 8 6 1 0 +1104 0 1 0 31.5064 23.3874 9.99798 0 0 1 0.866 8 6 1 0 +1105 0 1 0 32.0065 22.5212 9.99798 0 0 1 0.866 8 6 1 0 +1106 0 1 0 32.5066 23.3874 9.99798 0 0 1 0.866 8 6 1 0 +1107 0 1 0 33.0067 22.5212 9.99798 0 0 1 0.866 8 6 1 0 +1108 0 1 0 33.5068 23.3874 9.99798 0 0 1 0.866 8 6 1 0 +1109 0 1 0 34.0069 22.5212 9.99798 0 0 1 0.866 8 6 1 0 +1110 0 1 0 34.507 23.3874 9.99798 0 0 1 0.866 8 6 1 0 +1111 0 1 0 35.0071 22.5212 9.99798 0 0 1 0.866 8 6 1 0 +1112 0 1 0 35.5072 23.3874 9.99798 0 0 1 0.866 8 6 1 0 +1113 0 1 0 36.0073 22.5212 9.99798 0 0 1 0.866 8 6 1 0 +1114 0 1 0 36.5074 23.3874 9.99798 0 0 1 0.866 8 6 1 0 +1115 0 1 0 37.0075 22.5212 9.99798 0 0 1 0.866 8 6 1 0 +1116 0 1 0 37.5076 23.3874 9.99798 0 0 1 0.866 8 6 1 0 +1117 0 1 0 38.0077 22.5212 9.99798 0 0 1 0.866 8 6 1 0 +1118 0 1 0 38.5078 23.3874 9.99798 0 0 1 0.866 8 6 1 0 +1119 0 1 0 39.0079 22.5212 9.99798 0 0 1 0.866 8 6 1 0 +1120 0 1 0 39.508 23.3874 9.99798 0 0 1 0.866 8 6 1 0 +1121 0 1 0 0 24.2536 9.99798 0 0 1 0.866 8 6 1 0 +1122 0 1 0 0.500101 25.1198 9.99798 0 0 1 0.866 8 6 1 0 +1123 0 1 0 1.0002 24.2536 9.99798 0 0 1 0.866 8 6 1 0 +1124 0 1 0 1.5003 25.1198 9.99798 0 0 1 0.866 8 6 1 0 +1125 0 1 0 2.0004 24.2536 9.99798 0 0 1 0.866 8 6 1 0 +1126 0 1 0 2.50051 25.1198 9.99798 0 0 1 0.866 8 6 1 0 +1127 0 1 0 3.00061 24.2536 9.99798 0 0 1 0.866 8 6 1 0 +1128 0 1 0 3.50071 25.1198 9.99798 0 0 1 0.866 8 6 1 0 +1129 0 1 0 4.00081 24.2536 9.99798 0 0 1 0.866 8 6 1 0 +1130 0 1 0 4.50091 25.1198 9.99798 0 0 1 0.866 8 6 1 0 +1131 0 1 0 5.00101 24.2536 9.99798 0 0 1 0.866 8 6 1 0 +1132 0 1 0 5.50111 25.1198 9.99798 0 0 1 0.866 8 6 1 0 +1133 0 1 0 6.00121 24.2536 9.99798 0 0 1 0.866 8 6 1 0 +1134 0 1 0 6.50132 25.1198 9.99798 0 0 1 0.866 8 6 1 0 +1135 0 1 0 7.00142 24.2536 9.99798 0 0 1 0.866 8 6 1 0 +1136 0 1 0 7.50152 25.1198 9.99798 0 0 1 0.866 8 6 1 0 +1137 0 1 0 8.00162 24.2536 9.99798 0 0 1 0.866 8 6 1 0 +1138 0 1 0 8.50172 25.1198 9.99798 0 0 1 0.866 8 6 1 0 +1139 0 1 0 9.00182 24.2536 9.99798 0 0 1 0.866 8 6 1 0 +1140 0 1 0 9.50192 25.1198 9.99798 0 0 1 0.866 8 6 1 0 +1141 0 1 0 10.002 24.2536 9.99798 0 0 1 0.866 8 6 1 0 +1142 0 1 0 10.5021 25.1198 9.99798 0 0 1 0.866 8 6 1 0 +1143 0 1 0 11.0022 24.2536 9.99798 0 0 1 0.866 8 6 1 0 +1144 0 1 0 11.5023 25.1198 9.99798 0 0 1 0.866 8 6 1 0 +1145 0 1 0 12.0024 24.2536 9.99798 0 0 1 0.866 8 6 1 0 +1146 0 1 0 12.5025 25.1198 9.99798 0 0 1 0.866 8 6 1 0 +1147 0 1 0 13.0026 24.2536 9.99798 0 0 1 0.866 8 6 1 0 +1148 0 1 0 13.5027 25.1198 9.99798 0 0 1 0.866 8 6 1 0 +1149 0 1 0 14.0028 24.2536 9.99798 0 0 1 0.866 8 6 1 0 +1150 0 1 0 14.5029 25.1198 9.99798 0 0 1 0.866 8 6 1 0 +1151 0 1 0 15.003 24.2536 9.99798 0 0 1 0.866 8 6 1 0 +1152 0 1 0 15.5031 25.1198 9.99798 0 0 1 0.866 8 6 1 0 +1153 0 1 0 16.0032 24.2536 9.99798 0 0 1 0.866 8 6 1 0 +1154 0 1 0 16.5033 25.1198 9.99798 0 0 1 0.866 8 6 1 0 +1155 0 1 0 17.0034 24.2536 9.99798 0 0 1 0.866 8 6 1 0 +1156 0 1 0 17.5035 25.1198 9.99798 0 0 1 0.866 8 6 1 0 +1157 0 1 0 18.0036 24.2536 9.99798 0 0 1 0.866 8 6 1 0 +1158 0 1 0 18.5037 25.1198 9.99798 0 0 1 0.866 8 6 1 0 +1159 0 1 0 19.0038 24.2536 9.99798 0 0 1 0.866 8 6 1 0 +1160 0 1 0 19.5039 25.1198 9.99798 0 0 1 0.866 8 6 1 0 +1161 0 1 0 20.004 24.2536 9.99798 0 0 1 0.866 8 6 1 0 +1162 0 1 0 20.5041 25.1198 9.99798 0 0 1 0.866 8 6 1 0 +1163 0 1 0 21.0042 24.2536 9.99798 0 0 1 0.866 8 6 1 0 +1164 0 1 0 21.5043 25.1198 9.99798 0 0 1 0.866 8 6 1 0 +1165 0 1 0 22.0045 24.2536 9.99798 0 0 1 0.866 8 6 1 0 +1166 0 1 0 22.5046 25.1198 9.99798 0 0 1 0.866 8 6 1 0 +1167 0 1 0 23.0047 24.2536 9.99798 0 0 1 0.866 8 6 1 0 +1168 0 1 0 23.5048 25.1198 9.99798 0 0 1 0.866 8 6 1 0 +1169 0 1 0 24.0049 24.2536 9.99798 0 0 1 0.866 8 6 1 0 +1170 0 1 0 24.505 25.1198 9.99798 0 0 1 0.866 8 6 1 0 +1171 0 1 0 25.0051 24.2536 9.99798 0 0 1 0.866 8 6 1 0 +1172 0 1 0 25.5052 25.1198 9.99798 0 0 1 0.866 8 6 1 0 +1173 0 1 0 26.0053 24.2536 9.99798 0 0 1 0.866 8 6 1 0 +1174 0 1 0 26.5054 25.1198 9.99798 0 0 1 0.866 8 6 1 0 +1175 0 1 0 27.0055 24.2536 9.99798 0 0 1 0.866 8 6 1 0 +1176 0 1 0 27.5056 25.1198 9.99798 0 0 1 0.866 8 6 1 0 +1177 0 1 0 28.0057 24.2536 9.99798 0 0 1 0.866 8 6 1 0 +1178 0 1 0 28.5058 25.1198 9.99798 0 0 1 0.866 8 6 1 0 +1179 0 1 0 29.0059 24.2536 9.99798 0 0 1 0.866 8 6 1 0 +1180 0 1 0 29.506 25.1198 9.99798 0 0 1 0.866 8 6 1 0 +1181 0 1 0 30.0061 24.2536 9.99798 0 0 1 0.866 8 6 1 0 +1182 0 1 0 30.5062 25.1198 9.99798 0 0 1 0.866 8 6 1 0 +1183 0 1 0 31.0063 24.2536 9.99798 0 0 1 0.866 8 6 1 0 +1184 0 1 0 31.5064 25.1198 9.99798 0 0 1 0.866 8 6 1 0 +1185 0 1 0 32.0065 24.2536 9.99798 0 0 1 0.866 8 6 1 0 +1186 0 1 0 32.5066 25.1198 9.99798 0 0 1 0.866 8 6 1 0 +1187 0 1 0 33.0067 24.2536 9.99798 0 0 1 0.866 8 6 1 0 +1188 0 1 0 33.5068 25.1198 9.99798 0 0 1 0.866 8 6 1 0 +1189 0 1 0 34.0069 24.2536 9.99798 0 0 1 0.866 8 6 1 0 +1190 0 1 0 34.507 25.1198 9.99798 0 0 1 0.866 8 6 1 0 +1191 0 1 0 35.0071 24.2536 9.99798 0 0 1 0.866 8 6 1 0 +1192 0 1 0 35.5072 25.1198 9.99798 0 0 1 0.866 8 6 1 0 +1193 0 1 0 36.0073 24.2536 9.99798 0 0 1 0.866 8 6 1 0 +1194 0 1 0 36.5074 25.1198 9.99798 0 0 1 0.866 8 6 1 0 +1195 0 1 0 37.0075 24.2536 9.99798 0 0 1 0.866 8 6 1 0 +1196 0 1 0 37.5076 25.1198 9.99798 0 0 1 0.866 8 6 1 0 +1197 0 1 0 38.0077 24.2536 9.99798 0 0 1 0.866 8 6 1 0 +1198 0 1 0 38.5078 25.1198 9.99798 0 0 1 0.866 8 6 1 0 +1199 0 1 0 39.0079 24.2536 9.99798 0 0 1 0.866 8 6 1 0 +1200 0 1 0 39.508 25.1198 9.99798 0 0 1 0.866 8 6 1 0 +1201 0 1 0 0 25.986 9.99798 0 0 1 0.866 8 6 1 0 +1202 0 1 0 0.500101 26.8522 9.99798 0 0 1 0.866 8 6 1 0 +1203 0 1 0 1.0002 25.986 9.99798 0 0 1 0.866 8 6 1 0 +1204 0 1 0 1.5003 26.8522 9.99798 0 0 1 0.866 8 6 1 0 +1205 0 1 0 2.0004 25.986 9.99798 0 0 1 0.866 8 6 1 0 +1206 0 1 0 2.50051 26.8522 9.99798 0 0 1 0.866 8 6 1 0 +1207 0 1 0 3.00061 25.986 9.99798 0 0 1 0.866 8 6 1 0 +1208 0 1 0 3.50071 26.8522 9.99798 0 0 1 0.866 8 6 1 0 +1209 0 1 0 4.00081 25.986 9.99798 0 0 1 0.866 8 6 1 0 +1210 0 1 0 4.50091 26.8522 9.99798 0 0 1 0.866 8 6 1 0 +1211 0 1 0 5.00101 25.986 9.99798 0 0 1 0.866 8 6 1 0 +1212 0 1 0 5.50111 26.8522 9.99798 0 0 1 0.866 8 6 1 0 +1213 0 1 0 6.00121 25.986 9.99798 0 0 1 0.866 8 6 1 0 +1214 0 1 0 6.50132 26.8522 9.99798 0 0 1 0.866 8 6 1 0 +1215 0 1 0 7.00142 25.986 9.99798 0 0 1 0.866 8 6 1 0 +1216 0 1 0 7.50152 26.8522 9.99798 0 0 1 0.866 8 6 1 0 +1217 0 1 0 8.00162 25.986 9.99798 0 0 1 0.866 8 6 1 0 +1218 0 1 0 8.50172 26.8522 9.99798 0 0 1 0.866 8 6 1 0 +1219 0 1 0 9.00182 25.986 9.99798 0 0 1 0.866 8 6 1 0 +1220 0 1 0 9.50192 26.8522 9.99798 0 0 1 0.866 8 6 1 0 +1221 0 1 0 10.002 25.986 9.99798 0 0 1 0.866 8 6 1 0 +1222 0 1 0 10.5021 26.8522 9.99798 0 0 1 0.866 8 6 1 0 +1223 0 1 0 11.0022 25.986 9.99798 0 0 1 0.866 8 6 1 0 +1224 0 1 0 11.5023 26.8522 9.99798 0 0 1 0.866 8 6 1 0 +1225 0 1 0 12.0024 25.986 9.99798 0 0 1 0.866 8 6 1 0 +1226 0 1 0 12.5025 26.8522 9.99798 0 0 1 0.866 8 6 1 0 +1227 0 1 0 13.0026 25.986 9.99798 0 0 1 0.866 8 6 1 0 +1228 0 1 0 13.5027 26.8522 9.99798 0 0 1 0.866 8 6 1 0 +1229 0 1 0 14.0028 25.986 9.99798 0 0 1 0.866 8 6 1 0 +1230 0 1 0 14.5029 26.8522 9.99798 0 0 1 0.866 8 6 1 0 +1231 0 1 0 15.003 25.986 9.99798 0 0 1 0.866 8 6 1 0 +1232 0 1 0 15.5031 26.8522 9.99798 0 0 1 0.866 8 6 1 0 +1233 0 1 0 16.0032 25.986 9.99798 0 0 1 0.866 8 6 1 0 +1234 0 1 0 16.5033 26.8522 9.99798 0 0 1 0.866 8 6 1 0 +1235 0 1 0 17.0034 25.986 9.99798 0 0 1 0.866 8 6 1 0 +1236 0 1 0 17.5035 26.8522 9.99798 0 0 1 0.866 8 6 1 0 +1237 0 1 0 18.0036 25.986 9.99798 0 0 1 0.866 8 6 1 0 +1238 0 1 0 18.5037 26.8522 9.99798 0 0 1 0.866 8 6 1 0 +1239 0 1 0 19.0038 25.986 9.99798 0 0 1 0.866 8 6 1 0 +1240 0 1 0 19.5039 26.8522 9.99798 0 0 1 0.866 8 6 1 0 +1241 0 1 0 20.004 25.986 9.99798 0 0 1 0.866 8 6 1 0 +1242 0 1 0 20.5041 26.8522 9.99798 0 0 1 0.866 8 6 1 0 +1243 0 1 0 21.0042 25.986 9.99798 0 0 1 0.866 8 6 1 0 +1244 0 1 0 21.5043 26.8522 9.99798 0 0 1 0.866 8 6 1 0 +1245 0 1 0 22.0045 25.986 9.99798 0 0 1 0.866 8 6 1 0 +1246 0 1 0 22.5046 26.8522 9.99798 0 0 1 0.866 8 6 1 0 +1247 0 1 0 23.0047 25.986 9.99798 0 0 1 0.866 8 6 1 0 +1248 0 1 0 23.5048 26.8522 9.99798 0 0 1 0.866 8 6 1 0 +1249 0 1 0 24.0049 25.986 9.99798 0 0 1 0.866 8 6 1 0 +1250 0 1 0 24.505 26.8522 9.99798 0 0 1 0.866 8 6 1 0 +1251 0 1 0 25.0051 25.986 9.99798 0 0 1 0.866 8 6 1 0 +1252 0 1 0 25.5052 26.8522 9.99798 0 0 1 0.866 8 6 1 0 +1253 0 1 0 26.0053 25.986 9.99798 0 0 1 0.866 8 6 1 0 +1254 0 1 0 26.5054 26.8522 9.99798 0 0 1 0.866 8 6 1 0 +1255 0 1 0 27.0055 25.986 9.99798 0 0 1 0.866 8 6 1 0 +1256 0 1 0 27.5056 26.8522 9.99798 0 0 1 0.866 8 6 1 0 +1257 0 1 0 28.0057 25.986 9.99798 0 0 1 0.866 8 6 1 0 +1258 0 1 0 28.5058 26.8522 9.99798 0 0 1 0.866 8 6 1 0 +1259 0 1 0 29.0059 25.986 9.99798 0 0 1 0.866 8 6 1 0 +1260 0 1 0 29.506 26.8522 9.99798 0 0 1 0.866 8 6 1 0 +1261 0 1 0 30.0061 25.986 9.99798 0 0 1 0.866 8 6 1 0 +1262 0 1 0 30.5062 26.8522 9.99798 0 0 1 0.866 8 6 1 0 +1263 0 1 0 31.0063 25.986 9.99798 0 0 1 0.866 8 6 1 0 +1264 0 1 0 31.5064 26.8522 9.99798 0 0 1 0.866 8 6 1 0 +1265 0 1 0 32.0065 25.986 9.99798 0 0 1 0.866 8 6 1 0 +1266 0 1 0 32.5066 26.8522 9.99798 0 0 1 0.866 8 6 1 0 +1267 0 1 0 33.0067 25.986 9.99798 0 0 1 0.866 8 6 1 0 +1268 0 1 0 33.5068 26.8522 9.99798 0 0 1 0.866 8 6 1 0 +1269 0 1 0 34.0069 25.986 9.99798 0 0 1 0.866 8 6 1 0 +1270 0 1 0 34.507 26.8522 9.99798 0 0 1 0.866 8 6 1 0 +1271 0 1 0 35.0071 25.986 9.99798 0 0 1 0.866 8 6 1 0 +1272 0 1 0 35.5072 26.8522 9.99798 0 0 1 0.866 8 6 1 0 +1273 0 1 0 36.0073 25.986 9.99798 0 0 1 0.866 8 6 1 0 +1274 0 1 0 36.5074 26.8522 9.99798 0 0 1 0.866 8 6 1 0 +1275 0 1 0 37.0075 25.986 9.99798 0 0 1 0.866 8 6 1 0 +1276 0 1 0 37.5076 26.8522 9.99798 0 0 1 0.866 8 6 1 0 +1277 0 1 0 38.0077 25.986 9.99798 0 0 1 0.866 8 6 1 0 +1278 0 1 0 38.5078 26.8522 9.99798 0 0 1 0.866 8 6 1 0 +1279 0 1 0 39.0079 25.986 9.99798 0 0 1 0.866 8 6 1 0 +1280 0 1 0 39.508 26.8522 9.99798 0 0 1 0.866 8 6 1 0 +1281 0 1 0 0 27.7184 9.99798 0 0 1 0.866 8 6 1 0 +1282 0 1 0 0.500101 28.5846 9.99798 0 0 1 0.866 8 6 1 0 +1283 0 1 0 1.0002 27.7184 9.99798 0 0 1 0.866 8 6 1 0 +1284 0 1 0 1.5003 28.5846 9.99798 0 0 1 0.866 8 6 1 0 +1285 0 1 0 2.0004 27.7184 9.99798 0 0 1 0.866 8 6 1 0 +1286 0 1 0 2.50051 28.5846 9.99798 0 0 1 0.866 8 6 1 0 +1287 0 1 0 3.00061 27.7184 9.99798 0 0 1 0.866 8 6 1 0 +1288 0 1 0 3.50071 28.5846 9.99798 0 0 1 0.866 8 6 1 0 +1289 0 1 0 4.00081 27.7184 9.99798 0 0 1 0.866 8 6 1 0 +1290 0 1 0 4.50091 28.5846 9.99798 0 0 1 0.866 8 6 1 0 +1291 0 1 0 5.00101 27.7184 9.99798 0 0 1 0.866 8 6 1 0 +1292 0 1 0 5.50111 28.5846 9.99798 0 0 1 0.866 8 6 1 0 +1293 0 1 0 6.00121 27.7184 9.99798 0 0 1 0.866 8 6 1 0 +1294 0 1 0 6.50132 28.5846 9.99798 0 0 1 0.866 8 6 1 0 +1295 0 1 0 7.00142 27.7184 9.99798 0 0 1 0.866 8 6 1 0 +1296 0 1 0 7.50152 28.5846 9.99798 0 0 1 0.866 8 6 1 0 +1297 0 1 0 8.00162 27.7184 9.99798 0 0 1 0.866 8 6 1 0 +1298 0 1 0 8.50172 28.5846 9.99798 0 0 1 0.866 8 6 1 0 +1299 0 1 0 9.00182 27.7184 9.99798 0 0 1 0.866 8 6 1 0 +1300 0 1 0 9.50192 28.5846 9.99798 0 0 1 0.866 8 6 1 0 +1301 0 1 0 10.002 27.7184 9.99798 0 0 1 0.866 8 6 1 0 +1302 0 1 0 10.5021 28.5846 9.99798 0 0 1 0.866 8 6 1 0 +1303 0 1 0 11.0022 27.7184 9.99798 0 0 1 0.866 8 6 1 0 +1304 0 1 0 11.5023 28.5846 9.99798 0 0 1 0.866 8 6 1 0 +1305 0 1 0 12.0024 27.7184 9.99798 0 0 1 0.866 8 6 1 0 +1306 0 1 0 12.5025 28.5846 9.99798 0 0 1 0.866 8 6 1 0 +1307 0 1 0 13.0026 27.7184 9.99798 0 0 1 0.866 8 6 1 0 +1308 0 1 0 13.5027 28.5846 9.99798 0 0 1 0.866 8 6 1 0 +1309 0 1 0 14.0028 27.7184 9.99798 0 0 1 0.866 8 6 1 0 +1310 0 1 0 14.5029 28.5846 9.99798 0 0 1 0.866 8 6 1 0 +1311 0 1 0 15.003 27.7184 9.99798 0 0 1 0.866 8 6 1 0 +1312 0 1 0 15.5031 28.5846 9.99798 0 0 1 0.866 8 6 1 0 +1313 0 1 0 16.0032 27.7184 9.99798 0 0 1 0.866 8 6 1 0 +1314 0 1 0 16.5033 28.5846 9.99798 0 0 1 0.866 8 6 1 0 +1315 0 1 0 17.0034 27.7184 9.99798 0 0 1 0.866 8 6 1 0 +1316 0 1 0 17.5035 28.5846 9.99798 0 0 1 0.866 8 6 1 0 +1317 0 1 0 18.0036 27.7184 9.99798 0 0 1 0.866 8 6 1 0 +1318 0 1 0 18.5037 28.5846 9.99798 0 0 1 0.866 8 6 1 0 +1319 0 1 0 19.0038 27.7184 9.99798 0 0 1 0.866 8 6 1 0 +1320 0 1 0 19.5039 28.5846 9.99798 0 0 1 0.866 8 6 1 0 +1321 0 1 0 20.004 27.7184 9.99798 0 0 1 0.866 8 6 1 0 +1322 0 1 0 20.5041 28.5846 9.99798 0 0 1 0.866 8 6 1 0 +1323 0 1 0 21.0042 27.7184 9.99798 0 0 1 0.866 8 6 1 0 +1324 0 1 0 21.5043 28.5846 9.99798 0 0 1 0.866 8 6 1 0 +1325 0 1 0 22.0045 27.7184 9.99798 0 0 1 0.866 8 6 1 0 +1326 0 1 0 22.5046 28.5846 9.99798 0 0 1 0.866 8 6 1 0 +1327 0 1 0 23.0047 27.7184 9.99798 0 0 1 0.866 8 6 1 0 +1328 0 1 0 23.5048 28.5846 9.99798 0 0 1 0.866 8 6 1 0 +1329 0 1 0 24.0049 27.7184 9.99798 0 0 1 0.866 8 6 1 0 +1330 0 1 0 24.505 28.5846 9.99798 0 0 1 0.866 8 6 1 0 +1331 0 1 0 25.0051 27.7184 9.99798 0 0 1 0.866 8 6 1 0 +1332 0 1 0 25.5052 28.5846 9.99798 0 0 1 0.866 8 6 1 0 +1333 0 1 0 26.0053 27.7184 9.99798 0 0 1 0.866 8 6 1 0 +1334 0 1 0 26.5054 28.5846 9.99798 0 0 1 0.866 8 6 1 0 +1335 0 1 0 27.0055 27.7184 9.99798 0 0 1 0.866 8 6 1 0 +1336 0 1 0 27.5056 28.5846 9.99798 0 0 1 0.866 8 6 1 0 +1337 0 1 0 28.0057 27.7184 9.99798 0 0 1 0.866 8 6 1 0 +1338 0 1 0 28.5058 28.5846 9.99798 0 0 1 0.866 8 6 1 0 +1339 0 1 0 29.0059 27.7184 9.99798 0 0 1 0.866 8 6 1 0 +1340 0 1 0 29.506 28.5846 9.99798 0 0 1 0.866 8 6 1 0 +1341 0 1 0 30.0061 27.7184 9.99798 0 0 1 0.866 8 6 1 0 +1342 0 1 0 30.5062 28.5846 9.99798 0 0 1 0.866 8 6 1 0 +1343 0 1 0 31.0063 27.7184 9.99798 0 0 1 0.866 8 6 1 0 +1344 0 1 0 31.5064 28.5846 9.99798 0 0 1 0.866 8 6 1 0 +1345 0 1 0 32.0065 27.7184 9.99798 0 0 1 0.866 8 6 1 0 +1346 0 1 0 32.5066 28.5846 9.99798 0 0 1 0.866 8 6 1 0 +1347 0 1 0 33.0067 27.7184 9.99798 0 0 1 0.866 8 6 1 0 +1348 0 1 0 33.5068 28.5846 9.99798 0 0 1 0.866 8 6 1 0 +1349 0 1 0 34.0069 27.7184 9.99798 0 0 1 0.866 8 6 1 0 +1350 0 1 0 34.507 28.5846 9.99798 0 0 1 0.866 8 6 1 0 +1351 0 1 0 35.0071 27.7184 9.99798 0 0 1 0.866 8 6 1 0 +1352 0 1 0 35.5072 28.5846 9.99798 0 0 1 0.866 8 6 1 0 +1353 0 1 0 36.0073 27.7184 9.99798 0 0 1 0.866 8 6 1 0 +1354 0 1 0 36.5074 28.5846 9.99798 0 0 1 0.866 8 6 1 0 +1355 0 1 0 37.0075 27.7184 9.99798 0 0 1 0.866 8 6 1 0 +1356 0 1 0 37.5076 28.5846 9.99798 0 0 1 0.866 8 6 1 0 +1357 0 1 0 38.0077 27.7184 9.99798 0 0 1 0.866 8 6 1 0 +1358 0 1 0 38.5078 28.5846 9.99798 0 0 1 0.866 8 6 1 0 +1359 0 1 0 39.0079 27.7184 9.99798 0 0 1 0.866 8 6 1 0 +1360 0 1 0 39.508 28.5846 9.99798 0 0 1 0.866 8 6 1 0 +1361 0 1 0 0 29.4508 9.99798 0 0 1 0.866 8 6 1 0 +1362 0 1 0 0.500101 30.317 9.99798 0 0 1 0.866 8 6 1 0 +1363 0 1 0 1.0002 29.4508 9.99798 0 0 1 0.866 8 6 1 0 +1364 0 1 0 1.5003 30.317 9.99798 0 0 1 0.866 8 6 1 0 +1365 0 1 0 2.0004 29.4508 9.99798 0 0 1 0.866 8 6 1 0 +1366 0 1 0 2.50051 30.317 9.99798 0 0 1 0.866 8 6 1 0 +1367 0 1 0 3.00061 29.4508 9.99798 0 0 1 0.866 8 6 1 0 +1368 0 1 0 3.50071 30.317 9.99798 0 0 1 0.866 8 6 1 0 +1369 0 1 0 4.00081 29.4508 9.99798 0 0 1 0.866 8 6 1 0 +1370 0 1 0 4.50091 30.317 9.99798 0 0 1 0.866 8 6 1 0 +1371 0 1 0 5.00101 29.4508 9.99798 0 0 1 0.866 8 6 1 0 +1372 0 1 0 5.50111 30.317 9.99798 0 0 1 0.866 8 6 1 0 +1373 0 1 0 6.00121 29.4508 9.99798 0 0 1 0.866 8 6 1 0 +1374 0 1 0 6.50132 30.317 9.99798 0 0 1 0.866 8 6 1 0 +1375 0 1 0 7.00142 29.4508 9.99798 0 0 1 0.866 8 6 1 0 +1376 0 1 0 7.50152 30.317 9.99798 0 0 1 0.866 8 6 1 0 +1377 0 1 0 8.00162 29.4508 9.99798 0 0 1 0.866 8 6 1 0 +1378 0 1 0 8.50172 30.317 9.99798 0 0 1 0.866 8 6 1 0 +1379 0 1 0 9.00182 29.4508 9.99798 0 0 1 0.866 8 6 1 0 +1380 0 1 0 9.50192 30.317 9.99798 0 0 1 0.866 8 6 1 0 +1381 0 1 0 10.002 29.4508 9.99798 0 0 1 0.866 8 6 1 0 +1382 0 1 0 10.5021 30.317 9.99798 0 0 1 0.866 8 6 1 0 +1383 0 1 0 11.0022 29.4508 9.99798 0 0 1 0.866 8 6 1 0 +1384 0 1 0 11.5023 30.317 9.99798 0 0 1 0.866 8 6 1 0 +1385 0 1 0 12.0024 29.4508 9.99798 0 0 1 0.866 8 6 1 0 +1386 0 1 0 12.5025 30.317 9.99798 0 0 1 0.866 8 6 1 0 +1387 0 1 0 13.0026 29.4508 9.99798 0 0 1 0.866 8 6 1 0 +1388 0 1 0 13.5027 30.317 9.99798 0 0 1 0.866 8 6 1 0 +1389 0 1 0 14.0028 29.4508 9.99798 0 0 1 0.866 8 6 1 0 +1390 0 1 0 14.5029 30.317 9.99798 0 0 1 0.866 8 6 1 0 +1391 0 1 0 15.003 29.4508 9.99798 0 0 1 0.866 8 6 1 0 +1392 0 1 0 15.5031 30.317 9.99798 0 0 1 0.866 8 6 1 0 +1393 0 1 0 16.0032 29.4508 9.99798 0 0 1 0.866 8 6 1 0 +1394 0 1 0 16.5033 30.317 9.99798 0 0 1 0.866 8 6 1 0 +1395 0 1 0 17.0034 29.4508 9.99798 0 0 1 0.866 8 6 1 0 +1396 0 1 0 17.5035 30.317 9.99798 0 0 1 0.866 8 6 1 0 +1397 0 1 0 18.0036 29.4508 9.99798 0 0 1 0.866 8 6 1 0 +1398 0 1 0 18.5037 30.317 9.99798 0 0 1 0.866 8 6 1 0 +1399 0 1 0 19.0038 29.4508 9.99798 0 0 1 0.866 8 6 1 0 +1400 0 1 0 19.5039 30.317 9.99798 0 0 1 0.866 8 6 1 0 +1401 0 1 0 20.004 29.4508 9.99798 0 0 1 0.866 8 6 1 0 +1402 0 1 0 20.5041 30.317 9.99798 0 0 1 0.866 8 6 1 0 +1403 0 1 0 21.0042 29.4508 9.99798 0 0 1 0.866 8 6 1 0 +1404 0 1 0 21.5043 30.317 9.99798 0 0 1 0.866 8 6 1 0 +1405 0 1 0 22.0045 29.4508 9.99798 0 0 1 0.866 8 6 1 0 +1406 0 1 0 22.5046 30.317 9.99798 0 0 1 0.866 8 6 1 0 +1407 0 1 0 23.0047 29.4508 9.99798 0 0 1 0.866 8 6 1 0 +1408 0 1 0 23.5048 30.317 9.99798 0 0 1 0.866 8 6 1 0 +1409 0 1 0 24.0049 29.4508 9.99798 0 0 1 0.866 8 6 1 0 +1410 0 1 0 24.505 30.317 9.99798 0 0 1 0.866 8 6 1 0 +1411 0 1 0 25.0051 29.4508 9.99798 0 0 1 0.866 8 6 1 0 +1412 0 1 0 25.5052 30.317 9.99798 0 0 1 0.866 8 6 1 0 +1413 0 1 0 26.0053 29.4508 9.99798 0 0 1 0.866 8 6 1 0 +1414 0 1 0 26.5054 30.317 9.99798 0 0 1 0.866 8 6 1 0 +1415 0 1 0 27.0055 29.4508 9.99798 0 0 1 0.866 8 6 1 0 +1416 0 1 0 27.5056 30.317 9.99798 0 0 1 0.866 8 6 1 0 +1417 0 1 0 28.0057 29.4508 9.99798 0 0 1 0.866 8 6 1 0 +1418 0 1 0 28.5058 30.317 9.99798 0 0 1 0.866 8 6 1 0 +1419 0 1 0 29.0059 29.4508 9.99798 0 0 1 0.866 8 6 1 0 +1420 0 1 0 29.506 30.317 9.99798 0 0 1 0.866 8 6 1 0 +1421 0 1 0 30.0061 29.4508 9.99798 0 0 1 0.866 8 6 1 0 +1422 0 1 0 30.5062 30.317 9.99798 0 0 1 0.866 8 6 1 0 +1423 0 1 0 31.0063 29.4508 9.99798 0 0 1 0.866 8 6 1 0 +1424 0 1 0 31.5064 30.317 9.99798 0 0 1 0.866 8 6 1 0 +1425 0 1 0 32.0065 29.4508 9.99798 0 0 1 0.866 8 6 1 0 +1426 0 1 0 32.5066 30.317 9.99798 0 0 1 0.866 8 6 1 0 +1427 0 1 0 33.0067 29.4508 9.99798 0 0 1 0.866 8 6 1 0 +1428 0 1 0 33.5068 30.317 9.99798 0 0 1 0.866 8 6 1 0 +1429 0 1 0 34.0069 29.4508 9.99798 0 0 1 0.866 8 6 1 0 +1430 0 1 0 34.507 30.317 9.99798 0 0 1 0.866 8 6 1 0 +1431 0 1 0 35.0071 29.4508 9.99798 0 0 1 0.866 8 6 1 0 +1432 0 1 0 35.5072 30.317 9.99798 0 0 1 0.866 8 6 1 0 +1433 0 1 0 36.0073 29.4508 9.99798 0 0 1 0.866 8 6 1 0 +1434 0 1 0 36.5074 30.317 9.99798 0 0 1 0.866 8 6 1 0 +1435 0 1 0 37.0075 29.4508 9.99798 0 0 1 0.866 8 6 1 0 +1436 0 1 0 37.5076 30.317 9.99798 0 0 1 0.866 8 6 1 0 +1437 0 1 0 38.0077 29.4508 9.99798 0 0 1 0.866 8 6 1 0 +1438 0 1 0 38.5078 30.317 9.99798 0 0 1 0.866 8 6 1 0 +1439 0 1 0 39.0079 29.4508 9.99798 0 0 1 0.866 8 6 1 0 +1440 0 1 0 39.508 30.317 9.99798 0 0 1 0.866 8 6 1 0 +1441 0 1 0 0 31.1832 9.99798 0 0 1 0.866 8 6 1 0 +1442 0 1 0 0.500101 32.0494 9.99798 0 0 1 0.866 8 6 1 0 +1443 0 1 0 1.0002 31.1832 9.99798 0 0 1 0.866 8 6 1 0 +1444 0 1 0 1.5003 32.0494 9.99798 0 0 1 0.866 8 6 1 0 +1445 0 1 0 2.0004 31.1832 9.99798 0 0 1 0.866 8 6 1 0 +1446 0 1 0 2.50051 32.0494 9.99798 0 0 1 0.866 8 6 1 0 +1447 0 1 0 3.00061 31.1832 9.99798 0 0 1 0.866 8 6 1 0 +1448 0 1 0 3.50071 32.0494 9.99798 0 0 1 0.866 8 6 1 0 +1449 0 1 0 4.00081 31.1832 9.99798 0 0 1 0.866 8 6 1 0 +1450 0 1 0 4.50091 32.0494 9.99798 0 0 1 0.866 8 6 1 0 +1451 0 1 0 5.00101 31.1832 9.99798 0 0 1 0.866 8 6 1 0 +1452 0 1 0 5.50111 32.0494 9.99798 0 0 1 0.866 8 6 1 0 +1453 0 1 0 6.00121 31.1832 9.99798 0 0 1 0.866 8 6 1 0 +1454 0 1 0 6.50132 32.0494 9.99798 0 0 1 0.866 8 6 1 0 +1455 0 1 0 7.00142 31.1832 9.99798 0 0 1 0.866 8 6 1 0 +1456 0 1 0 7.50152 32.0494 9.99798 0 0 1 0.866 8 6 1 0 +1457 0 1 0 8.00162 31.1832 9.99798 0 0 1 0.866 8 6 1 0 +1458 0 1 0 8.50172 32.0494 9.99798 0 0 1 0.866 8 6 1 0 +1459 0 1 0 9.00182 31.1832 9.99798 0 0 1 0.866 8 6 1 0 +1460 0 1 0 9.50192 32.0494 9.99798 0 0 1 0.866 8 6 1 0 +1461 0 1 0 10.002 31.1832 9.99798 0 0 1 0.866 8 6 1 0 +1462 0 1 0 10.5021 32.0494 9.99798 0 0 1 0.866 8 6 1 0 +1463 0 1 0 11.0022 31.1832 9.99798 0 0 1 0.866 8 6 1 0 +1464 0 1 0 11.5023 32.0494 9.99798 0 0 1 0.866 8 6 1 0 +1465 0 1 0 12.0024 31.1832 9.99798 0 0 1 0.866 8 6 1 0 +1466 0 1 0 12.5025 32.0494 9.99798 0 0 1 0.866 8 6 1 0 +1467 0 1 0 13.0026 31.1832 9.99798 0 0 1 0.866 8 6 1 0 +1468 0 1 0 13.5027 32.0494 9.99798 0 0 1 0.866 8 6 1 0 +1469 0 1 0 14.0028 31.1832 9.99798 0 0 1 0.866 8 6 1 0 +1470 0 1 0 14.5029 32.0494 9.99798 0 0 1 0.866 8 6 1 0 +1471 0 1 0 15.003 31.1832 9.99798 0 0 1 0.866 8 6 1 0 +1472 0 1 0 15.5031 32.0494 9.99798 0 0 1 0.866 8 6 1 0 +1473 0 1 0 16.0032 31.1832 9.99798 0 0 1 0.866 8 6 1 0 +1474 0 1 0 16.5033 32.0494 9.99798 0 0 1 0.866 8 6 1 0 +1475 0 1 0 17.0034 31.1832 9.99798 0 0 1 0.866 8 6 1 0 +1476 0 1 0 17.5035 32.0494 9.99798 0 0 1 0.866 8 6 1 0 +1477 0 1 0 18.0036 31.1832 9.99798 0 0 1 0.866 8 6 1 0 +1478 0 1 0 18.5037 32.0494 9.99798 0 0 1 0.866 8 6 1 0 +1479 0 1 0 19.0038 31.1832 9.99798 0 0 1 0.866 8 6 1 0 +1480 0 1 0 19.5039 32.0494 9.99798 0 0 1 0.866 8 6 1 0 +1481 0 1 0 20.004 31.1832 9.99798 0 0 1 0.866 8 6 1 0 +1482 0 1 0 20.5041 32.0494 9.99798 0 0 1 0.866 8 6 1 0 +1483 0 1 0 21.0042 31.1832 9.99798 0 0 1 0.866 8 6 1 0 +1484 0 1 0 21.5043 32.0494 9.99798 0 0 1 0.866 8 6 1 0 +1485 0 1 0 22.0045 31.1832 9.99798 0 0 1 0.866 8 6 1 0 +1486 0 1 0 22.5046 32.0494 9.99798 0 0 1 0.866 8 6 1 0 +1487 0 1 0 23.0047 31.1832 9.99798 0 0 1 0.866 8 6 1 0 +1488 0 1 0 23.5048 32.0494 9.99798 0 0 1 0.866 8 6 1 0 +1489 0 1 0 24.0049 31.1832 9.99798 0 0 1 0.866 8 6 1 0 +1490 0 1 0 24.505 32.0494 9.99798 0 0 1 0.866 8 6 1 0 +1491 0 1 0 25.0051 31.1832 9.99798 0 0 1 0.866 8 6 1 0 +1492 0 1 0 25.5052 32.0494 9.99798 0 0 1 0.866 8 6 1 0 +1493 0 1 0 26.0053 31.1832 9.99798 0 0 1 0.866 8 6 1 0 +1494 0 1 0 26.5054 32.0494 9.99798 0 0 1 0.866 8 6 1 0 +1495 0 1 0 27.0055 31.1832 9.99798 0 0 1 0.866 8 6 1 0 +1496 0 1 0 27.5056 32.0494 9.99798 0 0 1 0.866 8 6 1 0 +1497 0 1 0 28.0057 31.1832 9.99798 0 0 1 0.866 8 6 1 0 +1498 0 1 0 28.5058 32.0494 9.99798 0 0 1 0.866 8 6 1 0 +1499 0 1 0 29.0059 31.1832 9.99798 0 0 1 0.866 8 6 1 0 +1500 0 1 0 29.506 32.0494 9.99798 0 0 1 0.866 8 6 1 0 +1501 0 1 0 30.0061 31.1832 9.99798 0 0 1 0.866 8 6 1 0 +1502 0 1 0 30.5062 32.0494 9.99798 0 0 1 0.866 8 6 1 0 +1503 0 1 0 31.0063 31.1832 9.99798 0 0 1 0.866 8 6 1 0 +1504 0 1 0 31.5064 32.0494 9.99798 0 0 1 0.866 8 6 1 0 +1505 0 1 0 32.0065 31.1832 9.99798 0 0 1 0.866 8 6 1 0 +1506 0 1 0 32.5066 32.0494 9.99798 0 0 1 0.866 8 6 1 0 +1507 0 1 0 33.0067 31.1832 9.99798 0 0 1 0.866 8 6 1 0 +1508 0 1 0 33.5068 32.0494 9.99798 0 0 1 0.866 8 6 1 0 +1509 0 1 0 34.0069 31.1832 9.99798 0 0 1 0.866 8 6 1 0 +1510 0 1 0 34.507 32.0494 9.99798 0 0 1 0.866 8 6 1 0 +1511 0 1 0 35.0071 31.1832 9.99798 0 0 1 0.866 8 6 1 0 +1512 0 1 0 35.5072 32.0494 9.99798 0 0 1 0.866 8 6 1 0 +1513 0 1 0 36.0073 31.1832 9.99798 0 0 1 0.866 8 6 1 0 +1514 0 1 0 36.5074 32.0494 9.99798 0 0 1 0.866 8 6 1 0 +1515 0 1 0 37.0075 31.1832 9.99798 0 0 1 0.866 8 6 1 0 +1516 0 1 0 37.5076 32.0494 9.99798 0 0 1 0.866 8 6 1 0 +1517 0 1 0 38.0077 31.1832 9.99798 0 0 1 0.866 8 6 1 0 +1518 0 1 0 38.5078 32.0494 9.99798 0 0 1 0.866 8 6 1 0 +1519 0 1 0 39.0079 31.1832 9.99798 0 0 1 0.866 8 6 1 0 +1520 0 1 0 39.508 32.0494 9.99798 0 0 1 0.866 8 6 1 0 +1521 0 1 0 0 32.9156 9.99798 0 0 1 0.866 8 6 1 0 +1522 0 1 0 0.500101 33.7818 9.99798 0 0 1 0.866 8 6 1 0 +1523 0 1 0 1.0002 32.9156 9.99798 0 0 1 0.866 8 6 1 0 +1524 0 1 0 1.5003 33.7818 9.99798 0 0 1 0.866 8 6 1 0 +1525 0 1 0 2.0004 32.9156 9.99798 0 0 1 0.866 8 6 1 0 +1526 0 1 0 2.50051 33.7818 9.99798 0 0 1 0.866 8 6 1 0 +1527 0 1 0 3.00061 32.9156 9.99798 0 0 1 0.866 8 6 1 0 +1528 0 1 0 3.50071 33.7818 9.99798 0 0 1 0.866 8 6 1 0 +1529 0 1 0 4.00081 32.9156 9.99798 0 0 1 0.866 8 6 1 0 +1530 0 1 0 4.50091 33.7818 9.99798 0 0 1 0.866 8 6 1 0 +1531 0 1 0 5.00101 32.9156 9.99798 0 0 1 0.866 8 6 1 0 +1532 0 1 0 5.50111 33.7818 9.99798 0 0 1 0.866 8 6 1 0 +1533 0 1 0 6.00121 32.9156 9.99798 0 0 1 0.866 8 6 1 0 +1534 0 1 0 6.50132 33.7818 9.99798 0 0 1 0.866 8 6 1 0 +1535 0 1 0 7.00142 32.9156 9.99798 0 0 1 0.866 8 6 1 0 +1536 0 1 0 7.50152 33.7818 9.99798 0 0 1 0.866 8 6 1 0 +1537 0 1 0 8.00162 32.9156 9.99798 0 0 1 0.866 8 6 1 0 +1538 0 1 0 8.50172 33.7818 9.99798 0 0 1 0.866 8 6 1 0 +1539 0 1 0 9.00182 32.9156 9.99798 0 0 1 0.866 8 6 1 0 +1540 0 1 0 9.50192 33.7818 9.99798 0 0 1 0.866 8 6 1 0 +1541 0 1 0 10.002 32.9156 9.99798 0 0 1 0.866 8 6 1 0 +1542 0 1 0 10.5021 33.7818 9.99798 0 0 1 0.866 8 6 1 0 +1543 0 1 0 11.0022 32.9156 9.99798 0 0 1 0.866 8 6 1 0 +1544 0 1 0 11.5023 33.7818 9.99798 0 0 1 0.866 8 6 1 0 +1545 0 1 0 12.0024 32.9156 9.99798 0 0 1 0.866 8 6 1 0 +1546 0 1 0 12.5025 33.7818 9.99798 0 0 1 0.866 8 6 1 0 +1547 0 1 0 13.0026 32.9156 9.99798 0 0 1 0.866 8 6 1 0 +1548 0 1 0 13.5027 33.7818 9.99798 0 0 1 0.866 8 6 1 0 +1549 0 1 0 14.0028 32.9156 9.99798 0 0 1 0.866 8 6 1 0 +1550 0 1 0 14.5029 33.7818 9.99798 0 0 1 0.866 8 6 1 0 +1551 0 1 0 15.003 32.9156 9.99798 0 0 1 0.866 8 6 1 0 +1552 0 1 0 15.5031 33.7818 9.99798 0 0 1 0.866 8 6 1 0 +1553 0 1 0 16.0032 32.9156 9.99798 0 0 1 0.866 8 6 1 0 +1554 0 1 0 16.5033 33.7818 9.99798 0 0 1 0.866 8 6 1 0 +1555 0 1 0 17.0034 32.9156 9.99798 0 0 1 0.866 8 6 1 0 +1556 0 1 0 17.5035 33.7818 9.99798 0 0 1 0.866 8 6 1 0 +1557 0 1 0 18.0036 32.9156 9.99798 0 0 1 0.866 8 6 1 0 +1558 0 1 0 18.5037 33.7818 9.99798 0 0 1 0.866 8 6 1 0 +1559 0 1 0 19.0038 32.9156 9.99798 0 0 1 0.866 8 6 1 0 +1560 0 1 0 19.5039 33.7818 9.99798 0 0 1 0.866 8 6 1 0 +1561 0 1 0 20.004 32.9156 9.99798 0 0 1 0.866 8 6 1 0 +1562 0 1 0 20.5041 33.7818 9.99798 0 0 1 0.866 8 6 1 0 +1563 0 1 0 21.0042 32.9156 9.99798 0 0 1 0.866 8 6 1 0 +1564 0 1 0 21.5043 33.7818 9.99798 0 0 1 0.866 8 6 1 0 +1565 0 1 0 22.0045 32.9156 9.99798 0 0 1 0.866 8 6 1 0 +1566 0 1 0 22.5046 33.7818 9.99798 0 0 1 0.866 8 6 1 0 +1567 0 1 0 23.0047 32.9156 9.99798 0 0 1 0.866 8 6 1 0 +1568 0 1 0 23.5048 33.7818 9.99798 0 0 1 0.866 8 6 1 0 +1569 0 1 0 24.0049 32.9156 9.99798 0 0 1 0.866 8 6 1 0 +1570 0 1 0 24.505 33.7818 9.99798 0 0 1 0.866 8 6 1 0 +1571 0 1 0 25.0051 32.9156 9.99798 0 0 1 0.866 8 6 1 0 +1572 0 1 0 25.5052 33.7818 9.99798 0 0 1 0.866 8 6 1 0 +1573 0 1 0 26.0053 32.9156 9.99798 0 0 1 0.866 8 6 1 0 +1574 0 1 0 26.5054 33.7818 9.99798 0 0 1 0.866 8 6 1 0 +1575 0 1 0 27.0055 32.9156 9.99798 0 0 1 0.866 8 6 1 0 +1576 0 1 0 27.5056 33.7818 9.99798 0 0 1 0.866 8 6 1 0 +1577 0 1 0 28.0057 32.9156 9.99798 0 0 1 0.866 8 6 1 0 +1578 0 1 0 28.5058 33.7818 9.99798 0 0 1 0.866 8 6 1 0 +1579 0 1 0 29.0059 32.9156 9.99798 0 0 1 0.866 8 6 1 0 +1580 0 1 0 29.506 33.7818 9.99798 0 0 1 0.866 8 6 1 0 +1581 0 1 0 30.0061 32.9156 9.99798 0 0 1 0.866 8 6 1 0 +1582 0 1 0 30.5062 33.7818 9.99798 0 0 1 0.866 8 6 1 0 +1583 0 1 0 31.0063 32.9156 9.99798 0 0 1 0.866 8 6 1 0 +1584 0 1 0 31.5064 33.7818 9.99798 0 0 1 0.866 8 6 1 0 +1585 0 1 0 32.0065 32.9156 9.99798 0 0 1 0.866 8 6 1 0 +1586 0 1 0 32.5066 33.7818 9.99798 0 0 1 0.866 8 6 1 0 +1587 0 1 0 33.0067 32.9156 9.99798 0 0 1 0.866 8 6 1 0 +1588 0 1 0 33.5068 33.7818 9.99798 0 0 1 0.866 8 6 1 0 +1589 0 1 0 34.0069 32.9156 9.99798 0 0 1 0.866 8 6 1 0 +1590 0 1 0 34.507 33.7818 9.99798 0 0 1 0.866 8 6 1 0 +1591 0 1 0 35.0071 32.9156 9.99798 0 0 1 0.866 8 6 1 0 +1592 0 1 0 35.5072 33.7818 9.99798 0 0 1 0.866 8 6 1 0 +1593 0 1 0 36.0073 32.9156 9.99798 0 0 1 0.866 8 6 1 0 +1594 0 1 0 36.5074 33.7818 9.99798 0 0 1 0.866 8 6 1 0 +1595 0 1 0 37.0075 32.9156 9.99798 0 0 1 0.866 8 6 1 0 +1596 0 1 0 37.5076 33.7818 9.99798 0 0 1 0.866 8 6 1 0 +1597 0 1 0 38.0077 32.9156 9.99798 0 0 1 0.866 8 6 1 0 +1598 0 1 0 38.5078 33.7818 9.99798 0 0 1 0.866 8 6 1 0 +1599 0 1 0 39.0079 32.9156 9.99798 0 0 1 0.866 8 6 1 0 +1600 0 1 0 39.508 33.7818 9.99798 0 0 1 0.866 8 6 1 0 +1601 0 1 0 0 34.648 9.99798 0 0 1 0.866 8 6 1 0 +1602 0 1 0 0.500101 35.5142 9.99798 0 0 1 0.866 8 6 1 0 +1603 0 1 0 1.0002 34.648 9.99798 0 0 1 0.866 8 6 1 0 +1604 0 1 0 1.5003 35.5142 9.99798 0 0 1 0.866 8 6 1 0 +1605 0 1 0 2.0004 34.648 9.99798 0 0 1 0.866 8 6 1 0 +1606 0 1 0 2.50051 35.5142 9.99798 0 0 1 0.866 8 6 1 0 +1607 0 1 0 3.00061 34.648 9.99798 0 0 1 0.866 8 6 1 0 +1608 0 1 0 3.50071 35.5142 9.99798 0 0 1 0.866 8 6 1 0 +1609 0 1 0 4.00081 34.648 9.99798 0 0 1 0.866 8 6 1 0 +1610 0 1 0 4.50091 35.5142 9.99798 0 0 1 0.866 8 6 1 0 +1611 0 1 0 5.00101 34.648 9.99798 0 0 1 0.866 8 6 1 0 +1612 0 1 0 5.50111 35.5142 9.99798 0 0 1 0.866 8 6 1 0 +1613 0 1 0 6.00121 34.648 9.99798 0 0 1 0.866 8 6 1 0 +1614 0 1 0 6.50132 35.5142 9.99798 0 0 1 0.866 8 6 1 0 +1615 0 1 0 7.00142 34.648 9.99798 0 0 1 0.866 8 6 1 0 +1616 0 1 0 7.50152 35.5142 9.99798 0 0 1 0.866 8 6 1 0 +1617 0 1 0 8.00162 34.648 9.99798 0 0 1 0.866 8 6 1 0 +1618 0 1 0 8.50172 35.5142 9.99798 0 0 1 0.866 8 6 1 0 +1619 0 1 0 9.00182 34.648 9.99798 0 0 1 0.866 8 6 1 0 +1620 0 1 0 9.50192 35.5142 9.99798 0 0 1 0.866 8 6 1 0 +1621 0 1 0 10.002 34.648 9.99798 0 0 1 0.866 8 6 1 0 +1622 0 1 0 10.5021 35.5142 9.99798 0 0 1 0.866 8 6 1 0 +1623 0 1 0 11.0022 34.648 9.99798 0 0 1 0.866 8 6 1 0 +1624 0 1 0 11.5023 35.5142 9.99798 0 0 1 0.866 8 6 1 0 +1625 0 1 0 12.0024 34.648 9.99798 0 0 1 0.866 8 6 1 0 +1626 0 1 0 12.5025 35.5142 9.99798 0 0 1 0.866 8 6 1 0 +1627 0 1 0 13.0026 34.648 9.99798 0 0 1 0.866 8 6 1 0 +1628 0 1 0 13.5027 35.5142 9.99798 0 0 1 0.866 8 6 1 0 +1629 0 1 0 14.0028 34.648 9.99798 0 0 1 0.866 8 6 1 0 +1630 0 1 0 14.5029 35.5142 9.99798 0 0 1 0.866 8 6 1 0 +1631 0 1 0 15.003 34.648 9.99798 0 0 1 0.866 8 6 1 0 +1632 0 1 0 15.5031 35.5142 9.99798 0 0 1 0.866 8 6 1 0 +1633 0 1 0 16.0032 34.648 9.99798 0 0 1 0.866 8 6 1 0 +1634 0 1 0 16.5033 35.5142 9.99798 0 0 1 0.866 8 6 1 0 +1635 0 1 0 17.0034 34.648 9.99798 0 0 1 0.866 8 6 1 0 +1636 0 1 0 17.5035 35.5142 9.99798 0 0 1 0.866 8 6 1 0 +1637 0 1 0 18.0036 34.648 9.99798 0 0 1 0.866 8 6 1 0 +1638 0 1 0 18.5037 35.5142 9.99798 0 0 1 0.866 8 6 1 0 +1639 0 1 0 19.0038 34.648 9.99798 0 0 1 0.866 8 6 1 0 +1640 0 1 0 19.5039 35.5142 9.99798 0 0 1 0.866 8 6 1 0 +1641 0 1 0 20.004 34.648 9.99798 0 0 1 0.866 8 6 1 0 +1642 0 1 0 20.5041 35.5142 9.99798 0 0 1 0.866 8 6 1 0 +1643 0 1 0 21.0042 34.648 9.99798 0 0 1 0.866 8 6 1 0 +1644 0 1 0 21.5043 35.5142 9.99798 0 0 1 0.866 8 6 1 0 +1645 0 1 0 22.0045 34.648 9.99798 0 0 1 0.866 8 6 1 0 +1646 0 1 0 22.5046 35.5142 9.99798 0 0 1 0.866 8 6 1 0 +1647 0 1 0 23.0047 34.648 9.99798 0 0 1 0.866 8 6 1 0 +1648 0 1 0 23.5048 35.5142 9.99798 0 0 1 0.866 8 6 1 0 +1649 0 1 0 24.0049 34.648 9.99798 0 0 1 0.866 8 6 1 0 +1650 0 1 0 24.505 35.5142 9.99798 0 0 1 0.866 8 6 1 0 +1651 0 1 0 25.0051 34.648 9.99798 0 0 1 0.866 8 6 1 0 +1652 0 1 0 25.5052 35.5142 9.99798 0 0 1 0.866 8 6 1 0 +1653 0 1 0 26.0053 34.648 9.99798 0 0 1 0.866 8 6 1 0 +1654 0 1 0 26.5054 35.5142 9.99798 0 0 1 0.866 8 6 1 0 +1655 0 1 0 27.0055 34.648 9.99798 0 0 1 0.866 8 6 1 0 +1656 0 1 0 27.5056 35.5142 9.99798 0 0 1 0.866 8 6 1 0 +1657 0 1 0 28.0057 34.648 9.99798 0 0 1 0.866 8 6 1 0 +1658 0 1 0 28.5058 35.5142 9.99798 0 0 1 0.866 8 6 1 0 +1659 0 1 0 29.0059 34.648 9.99798 0 0 1 0.866 8 6 1 0 +1660 0 1 0 29.506 35.5142 9.99798 0 0 1 0.866 8 6 1 0 +1661 0 1 0 30.0061 34.648 9.99798 0 0 1 0.866 8 6 1 0 +1662 0 1 0 30.5062 35.5142 9.99798 0 0 1 0.866 8 6 1 0 +1663 0 1 0 31.0063 34.648 9.99798 0 0 1 0.866 8 6 1 0 +1664 0 1 0 31.5064 35.5142 9.99798 0 0 1 0.866 8 6 1 0 +1665 0 1 0 32.0065 34.648 9.99798 0 0 1 0.866 8 6 1 0 +1666 0 1 0 32.5066 35.5142 9.99798 0 0 1 0.866 8 6 1 0 +1667 0 1 0 33.0067 34.648 9.99798 0 0 1 0.866 8 6 1 0 +1668 0 1 0 33.5068 35.5142 9.99798 0 0 1 0.866 8 6 1 0 +1669 0 1 0 34.0069 34.648 9.99798 0 0 1 0.866 8 6 1 0 +1670 0 1 0 34.507 35.5142 9.99798 0 0 1 0.866 8 6 1 0 +1671 0 1 0 35.0071 34.648 9.99798 0 0 1 0.866 8 6 1 0 +1672 0 1 0 35.5072 35.5142 9.99798 0 0 1 0.866 8 6 1 0 +1673 0 1 0 36.0073 34.648 9.99798 0 0 1 0.866 8 6 1 0 +1674 0 1 0 36.5074 35.5142 9.99798 0 0 1 0.866 8 6 1 0 +1675 0 1 0 37.0075 34.648 9.99798 0 0 1 0.866 8 6 1 0 +1676 0 1 0 37.5076 35.5142 9.99798 0 0 1 0.866 8 6 1 0 +1677 0 1 0 38.0077 34.648 9.99798 0 0 1 0.866 8 6 1 0 +1678 0 1 0 38.5078 35.5142 9.99798 0 0 1 0.866 8 6 1 0 +1679 0 1 0 39.0079 34.648 9.99798 0 0 1 0.866 8 6 1 0 +1680 0 1 0 39.508 35.5142 9.99798 0 0 1 0.866 8 6 1 0 +1681 0 1 0 0 36.3804 9.99798 0 0 1 0.866 8 6 1 0 +1682 0 1 0 0.500101 37.2466 9.99798 0 0 1 0.866 8 6 1 0 +1683 0 1 0 1.0002 36.3804 9.99798 0 0 1 0.866 8 6 1 0 +1684 0 1 0 1.5003 37.2466 9.99798 0 0 1 0.866 8 6 1 0 +1685 0 1 0 2.0004 36.3804 9.99798 0 0 1 0.866 8 6 1 0 +1686 0 1 0 2.50051 37.2466 9.99798 0 0 1 0.866 8 6 1 0 +1687 0 1 0 3.00061 36.3804 9.99798 0 0 1 0.866 8 6 1 0 +1688 0 1 0 3.50071 37.2466 9.99798 0 0 1 0.866 8 6 1 0 +1689 0 1 0 4.00081 36.3804 9.99798 0 0 1 0.866 8 6 1 0 +1690 0 1 0 4.50091 37.2466 9.99798 0 0 1 0.866 8 6 1 0 +1691 0 1 0 5.00101 36.3804 9.99798 0 0 1 0.866 8 6 1 0 +1692 0 1 0 5.50111 37.2466 9.99798 0 0 1 0.866 8 6 1 0 +1693 0 1 0 6.00121 36.3804 9.99798 0 0 1 0.866 8 6 1 0 +1694 0 1 0 6.50132 37.2466 9.99798 0 0 1 0.866 8 6 1 0 +1695 0 1 0 7.00142 36.3804 9.99798 0 0 1 0.866 8 6 1 0 +1696 0 1 0 7.50152 37.2466 9.99798 0 0 1 0.866 8 6 1 0 +1697 0 1 0 8.00162 36.3804 9.99798 0 0 1 0.866 8 6 1 0 +1698 0 1 0 8.50172 37.2466 9.99798 0 0 1 0.866 8 6 1 0 +1699 0 1 0 9.00182 36.3804 9.99798 0 0 1 0.866 8 6 1 0 +1700 0 1 0 9.50192 37.2466 9.99798 0 0 1 0.866 8 6 1 0 +1701 0 1 0 10.002 36.3804 9.99798 0 0 1 0.866 8 6 1 0 +1702 0 1 0 10.5021 37.2466 9.99798 0 0 1 0.866 8 6 1 0 +1703 0 1 0 11.0022 36.3804 9.99798 0 0 1 0.866 8 6 1 0 +1704 0 1 0 11.5023 37.2466 9.99798 0 0 1 0.866 8 6 1 0 +1705 0 1 0 12.0024 36.3804 9.99798 0 0 1 0.866 8 6 1 0 +1706 0 1 0 12.5025 37.2466 9.99798 0 0 1 0.866 8 6 1 0 +1707 0 1 0 13.0026 36.3804 9.99798 0 0 1 0.866 8 6 1 0 +1708 0 1 0 13.5027 37.2466 9.99798 0 0 1 0.866 8 6 1 0 +1709 0 1 0 14.0028 36.3804 9.99798 0 0 1 0.866 8 6 1 0 +1710 0 1 0 14.5029 37.2466 9.99798 0 0 1 0.866 8 6 1 0 +1711 0 1 0 15.003 36.3804 9.99798 0 0 1 0.866 8 6 1 0 +1712 0 1 0 15.5031 37.2466 9.99798 0 0 1 0.866 8 6 1 0 +1713 0 1 0 16.0032 36.3804 9.99798 0 0 1 0.866 8 6 1 0 +1714 0 1 0 16.5033 37.2466 9.99798 0 0 1 0.866 8 6 1 0 +1715 0 1 0 17.0034 36.3804 9.99798 0 0 1 0.866 8 6 1 0 +1716 0 1 0 17.5035 37.2466 9.99798 0 0 1 0.866 8 6 1 0 +1717 0 1 0 18.0036 36.3804 9.99798 0 0 1 0.866 8 6 1 0 +1718 0 1 0 18.5037 37.2466 9.99798 0 0 1 0.866 8 6 1 0 +1719 0 1 0 19.0038 36.3804 9.99798 0 0 1 0.866 8 6 1 0 +1720 0 1 0 19.5039 37.2466 9.99798 0 0 1 0.866 8 6 1 0 +1721 0 1 0 20.004 36.3804 9.99798 0 0 1 0.866 8 6 1 0 +1722 0 1 0 20.5041 37.2466 9.99798 0 0 1 0.866 8 6 1 0 +1723 0 1 0 21.0042 36.3804 9.99798 0 0 1 0.866 8 6 1 0 +1724 0 1 0 21.5043 37.2466 9.99798 0 0 1 0.866 8 6 1 0 +1725 0 1 0 22.0045 36.3804 9.99798 0 0 1 0.866 8 6 1 0 +1726 0 1 0 22.5046 37.2466 9.99798 0 0 1 0.866 8 6 1 0 +1727 0 1 0 23.0047 36.3804 9.99798 0 0 1 0.866 8 6 1 0 +1728 0 1 0 23.5048 37.2466 9.99798 0 0 1 0.866 8 6 1 0 +1729 0 1 0 24.0049 36.3804 9.99798 0 0 1 0.866 8 6 1 0 +1730 0 1 0 24.505 37.2466 9.99798 0 0 1 0.866 8 6 1 0 +1731 0 1 0 25.0051 36.3804 9.99798 0 0 1 0.866 8 6 1 0 +1732 0 1 0 25.5052 37.2466 9.99798 0 0 1 0.866 8 6 1 0 +1733 0 1 0 26.0053 36.3804 9.99798 0 0 1 0.866 8 6 1 0 +1734 0 1 0 26.5054 37.2466 9.99798 0 0 1 0.866 8 6 1 0 +1735 0 1 0 27.0055 36.3804 9.99798 0 0 1 0.866 8 6 1 0 +1736 0 1 0 27.5056 37.2466 9.99798 0 0 1 0.866 8 6 1 0 +1737 0 1 0 28.0057 36.3804 9.99798 0 0 1 0.866 8 6 1 0 +1738 0 1 0 28.5058 37.2466 9.99798 0 0 1 0.866 8 6 1 0 +1739 0 1 0 29.0059 36.3804 9.99798 0 0 1 0.866 8 6 1 0 +1740 0 1 0 29.506 37.2466 9.99798 0 0 1 0.866 8 6 1 0 +1741 0 1 0 30.0061 36.3804 9.99798 0 0 1 0.866 8 6 1 0 +1742 0 1 0 30.5062 37.2466 9.99798 0 0 1 0.866 8 6 1 0 +1743 0 1 0 31.0063 36.3804 9.99798 0 0 1 0.866 8 6 1 0 +1744 0 1 0 31.5064 37.2466 9.99798 0 0 1 0.866 8 6 1 0 +1745 0 1 0 32.0065 36.3804 9.99798 0 0 1 0.866 8 6 1 0 +1746 0 1 0 32.5066 37.2466 9.99798 0 0 1 0.866 8 6 1 0 +1747 0 1 0 33.0067 36.3804 9.99798 0 0 1 0.866 8 6 1 0 +1748 0 1 0 33.5068 37.2466 9.99798 0 0 1 0.866 8 6 1 0 +1749 0 1 0 34.0069 36.3804 9.99798 0 0 1 0.866 8 6 1 0 +1750 0 1 0 34.507 37.2466 9.99798 0 0 1 0.866 8 6 1 0 +1751 0 1 0 35.0071 36.3804 9.99798 0 0 1 0.866 8 6 1 0 +1752 0 1 0 35.5072 37.2466 9.99798 0 0 1 0.866 8 6 1 0 +1753 0 1 0 36.0073 36.3804 9.99798 0 0 1 0.866 8 6 1 0 +1754 0 1 0 36.5074 37.2466 9.99798 0 0 1 0.866 8 6 1 0 +1755 0 1 0 37.0075 36.3804 9.99798 0 0 1 0.866 8 6 1 0 +1756 0 1 0 37.5076 37.2466 9.99798 0 0 1 0.866 8 6 1 0 +1757 0 1 0 38.0077 36.3804 9.99798 0 0 1 0.866 8 6 1 0 +1758 0 1 0 38.5078 37.2466 9.99798 0 0 1 0.866 8 6 1 0 +1759 0 1 0 39.0079 36.3804 9.99798 0 0 1 0.866 8 6 1 0 +1760 0 1 0 39.508 37.2466 9.99798 0 0 1 0.866 8 6 1 0 +1761 0 1 0 0 38.1128 9.99798 0 0 1 0.866 8 6 1 0 +1762 0 1 0 0.500101 38.979 9.99798 0 0 1 0.866 8 6 1 0 +1763 0 1 0 1.0002 38.1128 9.99798 0 0 1 0.866 8 6 1 0 +1764 0 1 0 1.5003 38.979 9.99798 0 0 1 0.866 8 6 1 0 +1765 0 1 0 2.0004 38.1128 9.99798 0 0 1 0.866 8 6 1 0 +1766 0 1 0 2.50051 38.979 9.99798 0 0 1 0.866 8 6 1 0 +1767 0 1 0 3.00061 38.1128 9.99798 0 0 1 0.866 8 6 1 0 +1768 0 1 0 3.50071 38.979 9.99798 0 0 1 0.866 8 6 1 0 +1769 0 1 0 4.00081 38.1128 9.99798 0 0 1 0.866 8 6 1 0 +1770 0 1 0 4.50091 38.979 9.99798 0 0 1 0.866 8 6 1 0 +1771 0 1 0 5.00101 38.1128 9.99798 0 0 1 0.866 8 6 1 0 +1772 0 1 0 5.50111 38.979 9.99798 0 0 1 0.866 8 6 1 0 +1773 0 1 0 6.00121 38.1128 9.99798 0 0 1 0.866 8 6 1 0 +1774 0 1 0 6.50132 38.979 9.99798 0 0 1 0.866 8 6 1 0 +1775 0 1 0 7.00142 38.1128 9.99798 0 0 1 0.866 8 6 1 0 +1776 0 1 0 7.50152 38.979 9.99798 0 0 1 0.866 8 6 1 0 +1777 0 1 0 8.00162 38.1128 9.99798 0 0 1 0.866 8 6 1 0 +1778 0 1 0 8.50172 38.979 9.99798 0 0 1 0.866 8 6 1 0 +1779 0 1 0 9.00182 38.1128 9.99798 0 0 1 0.866 8 6 1 0 +1780 0 1 0 9.50192 38.979 9.99798 0 0 1 0.866 8 6 1 0 +1781 0 1 0 10.002 38.1128 9.99798 0 0 1 0.866 8 6 1 0 +1782 0 1 0 10.5021 38.979 9.99798 0 0 1 0.866 8 6 1 0 +1783 0 1 0 11.0022 38.1128 9.99798 0 0 1 0.866 8 6 1 0 +1784 0 1 0 11.5023 38.979 9.99798 0 0 1 0.866 8 6 1 0 +1785 0 1 0 12.0024 38.1128 9.99798 0 0 1 0.866 8 6 1 0 +1786 0 1 0 12.5025 38.979 9.99798 0 0 1 0.866 8 6 1 0 +1787 0 1 0 13.0026 38.1128 9.99798 0 0 1 0.866 8 6 1 0 +1788 0 1 0 13.5027 38.979 9.99798 0 0 1 0.866 8 6 1 0 +1789 0 1 0 14.0028 38.1128 9.99798 0 0 1 0.866 8 6 1 0 +1790 0 1 0 14.5029 38.979 9.99798 0 0 1 0.866 8 6 1 0 +1791 0 1 0 15.003 38.1128 9.99798 0 0 1 0.866 8 6 1 0 +1792 0 1 0 15.5031 38.979 9.99798 0 0 1 0.866 8 6 1 0 +1793 0 1 0 16.0032 38.1128 9.99798 0 0 1 0.866 8 6 1 0 +1794 0 1 0 16.5033 38.979 9.99798 0 0 1 0.866 8 6 1 0 +1795 0 1 0 17.0034 38.1128 9.99798 0 0 1 0.866 8 6 1 0 +1796 0 1 0 17.5035 38.979 9.99798 0 0 1 0.866 8 6 1 0 +1797 0 1 0 18.0036 38.1128 9.99798 0 0 1 0.866 8 6 1 0 +1798 0 1 0 18.5037 38.979 9.99798 0 0 1 0.866 8 6 1 0 +1799 0 1 0 19.0038 38.1128 9.99798 0 0 1 0.866 8 6 1 0 +1800 0 1 0 19.5039 38.979 9.99798 0 0 1 0.866 8 6 1 0 +1801 0 1 0 20.004 38.1128 9.99798 0 0 1 0.866 8 6 1 0 +1802 0 1 0 20.5041 38.979 9.99798 0 0 1 0.866 8 6 1 0 +1803 0 1 0 21.0042 38.1128 9.99798 0 0 1 0.866 8 6 1 0 +1804 0 1 0 21.5043 38.979 9.99798 0 0 1 0.866 8 6 1 0 +1805 0 1 0 22.0045 38.1128 9.99798 0 0 1 0.866 8 6 1 0 +1806 0 1 0 22.5046 38.979 9.99798 0 0 1 0.866 8 6 1 0 +1807 0 1 0 23.0047 38.1128 9.99798 0 0 1 0.866 8 6 1 0 +1808 0 1 0 23.5048 38.979 9.99798 0 0 1 0.866 8 6 1 0 +1809 0 1 0 24.0049 38.1128 9.99798 0 0 1 0.866 8 6 1 0 +1810 0 1 0 24.505 38.979 9.99798 0 0 1 0.866 8 6 1 0 +1811 0 1 0 25.0051 38.1128 9.99798 0 0 1 0.866 8 6 1 0 +1812 0 1 0 25.5052 38.979 9.99798 0 0 1 0.866 8 6 1 0 +1813 0 1 0 26.0053 38.1128 9.99798 0 0 1 0.866 8 6 1 0 +1814 0 1 0 26.5054 38.979 9.99798 0 0 1 0.866 8 6 1 0 +1815 0 1 0 27.0055 38.1128 9.99798 0 0 1 0.866 8 6 1 0 +1816 0 1 0 27.5056 38.979 9.99798 0 0 1 0.866 8 6 1 0 +1817 0 1 0 28.0057 38.1128 9.99798 0 0 1 0.866 8 6 1 0 +1818 0 1 0 28.5058 38.979 9.99798 0 0 1 0.866 8 6 1 0 +1819 0 1 0 29.0059 38.1128 9.99798 0 0 1 0.866 8 6 1 0 +1820 0 1 0 29.506 38.979 9.99798 0 0 1 0.866 8 6 1 0 +1821 0 1 0 30.0061 38.1128 9.99798 0 0 1 0.866 8 6 1 0 +1822 0 1 0 30.5062 38.979 9.99798 0 0 1 0.866 8 6 1 0 +1823 0 1 0 31.0063 38.1128 9.99798 0 0 1 0.866 8 6 1 0 +1824 0 1 0 31.5064 38.979 9.99798 0 0 1 0.866 8 6 1 0 +1825 0 1 0 32.0065 38.1128 9.99798 0 0 1 0.866 8 6 1 0 +1826 0 1 0 32.5066 38.979 9.99798 0 0 1 0.866 8 6 1 0 +1827 0 1 0 33.0067 38.1128 9.99798 0 0 1 0.866 8 6 1 0 +1828 0 1 0 33.5068 38.979 9.99798 0 0 1 0.866 8 6 1 0 +1829 0 1 0 34.0069 38.1128 9.99798 0 0 1 0.866 8 6 1 0 +1830 0 1 0 34.507 38.979 9.99798 0 0 1 0.866 8 6 1 0 +1831 0 1 0 35.0071 38.1128 9.99798 0 0 1 0.866 8 6 1 0 +1832 0 1 0 35.5072 38.979 9.99798 0 0 1 0.866 8 6 1 0 +1833 0 1 0 36.0073 38.1128 9.99798 0 0 1 0.866 8 6 1 0 +1834 0 1 0 36.5074 38.979 9.99798 0 0 1 0.866 8 6 1 0 +1835 0 1 0 37.0075 38.1128 9.99798 0 0 1 0.866 8 6 1 0 +1836 0 1 0 37.5076 38.979 9.99798 0 0 1 0.866 8 6 1 0 +1837 0 1 0 38.0077 38.1128 9.99798 0 0 1 0.866 8 6 1 0 +1838 0 1 0 38.5078 38.979 9.99798 0 0 1 0.866 8 6 1 0 +1839 0 1 0 39.0079 38.1128 9.99798 0 0 1 0.866 8 6 1 0 +1840 0 1 0 39.508 38.979 9.99798 0 0 1 0.866 8 6 1 0 +1841 0 1 0 0 39.8452 9.99798 0 0 1 0.866 8 6 1 0 +1842 0 1 0 0.500101 40.7114 9.99798 0 0 1 0.866 8 6 1 0 +1843 0 1 0 1.0002 39.8452 9.99798 0 0 1 0.866 8 6 1 0 +1844 0 1 0 1.5003 40.7114 9.99798 0 0 1 0.866 8 6 1 0 +1845 0 1 0 2.0004 39.8452 9.99798 0 0 1 0.866 8 6 1 0 +1846 0 1 0 2.50051 40.7114 9.99798 0 0 1 0.866 8 6 1 0 +1847 0 1 0 3.00061 39.8452 9.99798 0 0 1 0.866 8 6 1 0 +1848 0 1 0 3.50071 40.7114 9.99798 0 0 1 0.866 8 6 1 0 +1849 0 1 0 4.00081 39.8452 9.99798 0 0 1 0.866 8 6 1 0 +1850 0 1 0 4.50091 40.7114 9.99798 0 0 1 0.866 8 6 1 0 +1851 0 1 0 5.00101 39.8452 9.99798 0 0 1 0.866 8 6 1 0 +1852 0 1 0 5.50111 40.7114 9.99798 0 0 1 0.866 8 6 1 0 +1853 0 1 0 6.00121 39.8452 9.99798 0 0 1 0.866 8 6 1 0 +1854 0 1 0 6.50132 40.7114 9.99798 0 0 1 0.866 8 6 1 0 +1855 0 1 0 7.00142 39.8452 9.99798 0 0 1 0.866 8 6 1 0 +1856 0 1 0 7.50152 40.7114 9.99798 0 0 1 0.866 8 6 1 0 +1857 0 1 0 8.00162 39.8452 9.99798 0 0 1 0.866 8 6 1 0 +1858 0 1 0 8.50172 40.7114 9.99798 0 0 1 0.866 8 6 1 0 +1859 0 1 0 9.00182 39.8452 9.99798 0 0 1 0.866 8 6 1 0 +1860 0 1 0 9.50192 40.7114 9.99798 0 0 1 0.866 8 6 1 0 +1861 0 1 0 10.002 39.8452 9.99798 0 0 1 0.866 8 6 1 0 +1862 0 1 0 10.5021 40.7114 9.99798 0 0 1 0.866 8 6 1 0 +1863 0 1 0 11.0022 39.8452 9.99798 0 0 1 0.866 8 6 1 0 +1864 0 1 0 11.5023 40.7114 9.99798 0 0 1 0.866 8 6 1 0 +1865 0 1 0 12.0024 39.8452 9.99798 0 0 1 0.866 8 6 1 0 +1866 0 1 0 12.5025 40.7114 9.99798 0 0 1 0.866 8 6 1 0 +1867 0 1 0 13.0026 39.8452 9.99798 0 0 1 0.866 8 6 1 0 +1868 0 1 0 13.5027 40.7114 9.99798 0 0 1 0.866 8 6 1 0 +1869 0 1 0 14.0028 39.8452 9.99798 0 0 1 0.866 8 6 1 0 +1870 0 1 0 14.5029 40.7114 9.99798 0 0 1 0.866 8 6 1 0 +1871 0 1 0 15.003 39.8452 9.99798 0 0 1 0.866 8 6 1 0 +1872 0 1 0 15.5031 40.7114 9.99798 0 0 1 0.866 8 6 1 0 +1873 0 1 0 16.0032 39.8452 9.99798 0 0 1 0.866 8 6 1 0 +1874 0 1 0 16.5033 40.7114 9.99798 0 0 1 0.866 8 6 1 0 +1875 0 1 0 17.0034 39.8452 9.99798 0 0 1 0.866 8 6 1 0 +1876 0 1 0 17.5035 40.7114 9.99798 0 0 1 0.866 8 6 1 0 +1877 0 1 0 18.0036 39.8452 9.99798 0 0 1 0.866 8 6 1 0 +1878 0 1 0 18.5037 40.7114 9.99798 0 0 1 0.866 8 6 1 0 +1879 0 1 0 19.0038 39.8452 9.99798 0 0 1 0.866 8 6 1 0 +1880 0 1 0 19.5039 40.7114 9.99798 0 0 1 0.866 8 6 1 0 +1881 0 1 0 20.004 39.8452 9.99798 0 0 1 0.866 8 6 1 0 +1882 0 1 0 20.5041 40.7114 9.99798 0 0 1 0.866 8 6 1 0 +1883 0 1 0 21.0042 39.8452 9.99798 0 0 1 0.866 8 6 1 0 +1884 0 1 0 21.5043 40.7114 9.99798 0 0 1 0.866 8 6 1 0 +1885 0 1 0 22.0045 39.8452 9.99798 0 0 1 0.866 8 6 1 0 +1886 0 1 0 22.5046 40.7114 9.99798 0 0 1 0.866 8 6 1 0 +1887 0 1 0 23.0047 39.8452 9.99798 0 0 1 0.866 8 6 1 0 +1888 0 1 0 23.5048 40.7114 9.99798 0 0 1 0.866 8 6 1 0 +1889 0 1 0 24.0049 39.8452 9.99798 0 0 1 0.866 8 6 1 0 +1890 0 1 0 24.505 40.7114 9.99798 0 0 1 0.866 8 6 1 0 +1891 0 1 0 25.0051 39.8452 9.99798 0 0 1 0.866 8 6 1 0 +1892 0 1 0 25.5052 40.7114 9.99798 0 0 1 0.866 8 6 1 0 +1893 0 1 0 26.0053 39.8452 9.99798 0 0 1 0.866 8 6 1 0 +1894 0 1 0 26.5054 40.7114 9.99798 0 0 1 0.866 8 6 1 0 +1895 0 1 0 27.0055 39.8452 9.99798 0 0 1 0.866 8 6 1 0 +1896 0 1 0 27.5056 40.7114 9.99798 0 0 1 0.866 8 6 1 0 +1897 0 1 0 28.0057 39.8452 9.99798 0 0 1 0.866 8 6 1 0 +1898 0 1 0 28.5058 40.7114 9.99798 0 0 1 0.866 8 6 1 0 +1899 0 1 0 29.0059 39.8452 9.99798 0 0 1 0.866 8 6 1 0 +1900 0 1 0 29.506 40.7114 9.99798 0 0 1 0.866 8 6 1 0 +1901 0 1 0 30.0061 39.8452 9.99798 0 0 1 0.866 8 6 1 0 +1902 0 1 0 30.5062 40.7114 9.99798 0 0 1 0.866 8 6 1 0 +1903 0 1 0 31.0063 39.8452 9.99798 0 0 1 0.866 8 6 1 0 +1904 0 1 0 31.5064 40.7114 9.99798 0 0 1 0.866 8 6 1 0 +1905 0 1 0 32.0065 39.8452 9.99798 0 0 1 0.866 8 6 1 0 +1906 0 1 0 32.5066 40.7114 9.99798 0 0 1 0.866 8 6 1 0 +1907 0 1 0 33.0067 39.8452 9.99798 0 0 1 0.866 8 6 1 0 +1908 0 1 0 33.5068 40.7114 9.99798 0 0 1 0.866 8 6 1 0 +1909 0 1 0 34.0069 39.8452 9.99798 0 0 1 0.866 8 6 1 0 +1910 0 1 0 34.507 40.7114 9.99798 0 0 1 0.866 8 6 1 0 +1911 0 1 0 35.0071 39.8452 9.99798 0 0 1 0.866 8 6 1 0 +1912 0 1 0 35.5072 40.7114 9.99798 0 0 1 0.866 8 6 1 0 +1913 0 1 0 36.0073 39.8452 9.99798 0 0 1 0.866 8 6 1 0 +1914 0 1 0 36.5074 40.7114 9.99798 0 0 1 0.866 8 6 1 0 +1915 0 1 0 37.0075 39.8452 9.99798 0 0 1 0.866 8 6 1 0 +1916 0 1 0 37.5076 40.7114 9.99798 0 0 1 0.866 8 6 1 0 +1917 0 1 0 38.0077 39.8452 9.99798 0 0 1 0.866 8 6 1 0 +1918 0 1 0 38.5078 40.7114 9.99798 0 0 1 0.866 8 6 1 0 +1919 0 1 0 39.0079 39.8452 9.99798 0 0 1 0.866 8 6 1 0 +1920 0 1 0 39.508 40.7114 9.99798 0 0 1 0.866 8 6 1 0 +1921 0 1 0 0 41.5776 9.99798 0 0 1 0.866 8 6 1 0 +1922 0 1 0 0.500101 42.4438 9.99798 0 0 1 0.866 8 6 1 0 +1923 0 1 0 1.0002 41.5776 9.99798 0 0 1 0.866 8 6 1 0 +1924 0 1 0 1.5003 42.4438 9.99798 0 0 1 0.866 8 6 1 0 +1925 0 1 0 2.0004 41.5776 9.99798 0 0 1 0.866 8 6 1 0 +1926 0 1 0 2.50051 42.4438 9.99798 0 0 1 0.866 8 6 1 0 +1927 0 1 0 3.00061 41.5776 9.99798 0 0 1 0.866 8 6 1 0 +1928 0 1 0 3.50071 42.4438 9.99798 0 0 1 0.866 8 6 1 0 +1929 0 1 0 4.00081 41.5776 9.99798 0 0 1 0.866 8 6 1 0 +1930 0 1 0 4.50091 42.4438 9.99798 0 0 1 0.866 8 6 1 0 +1931 0 1 0 5.00101 41.5776 9.99798 0 0 1 0.866 8 6 1 0 +1932 0 1 0 5.50111 42.4438 9.99798 0 0 1 0.866 8 6 1 0 +1933 0 1 0 6.00121 41.5776 9.99798 0 0 1 0.866 8 6 1 0 +1934 0 1 0 6.50132 42.4438 9.99798 0 0 1 0.866 8 6 1 0 +1935 0 1 0 7.00142 41.5776 9.99798 0 0 1 0.866 8 6 1 0 +1936 0 1 0 7.50152 42.4438 9.99798 0 0 1 0.866 8 6 1 0 +1937 0 1 0 8.00162 41.5776 9.99798 0 0 1 0.866 8 6 1 0 +1938 0 1 0 8.50172 42.4438 9.99798 0 0 1 0.866 8 6 1 0 +1939 0 1 0 9.00182 41.5776 9.99798 0 0 1 0.866 8 6 1 0 +1940 0 1 0 9.50192 42.4438 9.99798 0 0 1 0.866 8 6 1 0 +1941 0 1 0 10.002 41.5776 9.99798 0 0 1 0.866 8 6 1 0 +1942 0 1 0 10.5021 42.4438 9.99798 0 0 1 0.866 8 6 1 0 +1943 0 1 0 11.0022 41.5776 9.99798 0 0 1 0.866 8 6 1 0 +1944 0 1 0 11.5023 42.4438 9.99798 0 0 1 0.866 8 6 1 0 +1945 0 1 0 12.0024 41.5776 9.99798 0 0 1 0.866 8 6 1 0 +1946 0 1 0 12.5025 42.4438 9.99798 0 0 1 0.866 8 6 1 0 +1947 0 1 0 13.0026 41.5776 9.99798 0 0 1 0.866 8 6 1 0 +1948 0 1 0 13.5027 42.4438 9.99798 0 0 1 0.866 8 6 1 0 +1949 0 1 0 14.0028 41.5776 9.99798 0 0 1 0.866 8 6 1 0 +1950 0 1 0 14.5029 42.4438 9.99798 0 0 1 0.866 8 6 1 0 +1951 0 1 0 15.003 41.5776 9.99798 0 0 1 0.866 8 6 1 0 +1952 0 1 0 15.5031 42.4438 9.99798 0 0 1 0.866 8 6 1 0 +1953 0 1 0 16.0032 41.5776 9.99798 0 0 1 0.866 8 6 1 0 +1954 0 1 0 16.5033 42.4438 9.99798 0 0 1 0.866 8 6 1 0 +1955 0 1 0 17.0034 41.5776 9.99798 0 0 1 0.866 8 6 1 0 +1956 0 1 0 17.5035 42.4438 9.99798 0 0 1 0.866 8 6 1 0 +1957 0 1 0 18.0036 41.5776 9.99798 0 0 1 0.866 8 6 1 0 +1958 0 1 0 18.5037 42.4438 9.99798 0 0 1 0.866 8 6 1 0 +1959 0 1 0 19.0038 41.5776 9.99798 0 0 1 0.866 8 6 1 0 +1960 0 1 0 19.5039 42.4438 9.99798 0 0 1 0.866 8 6 1 0 +1961 0 1 0 20.004 41.5776 9.99798 0 0 1 0.866 8 6 1 0 +1962 0 1 0 20.5041 42.4438 9.99798 0 0 1 0.866 8 6 1 0 +1963 0 1 0 21.0042 41.5776 9.99798 0 0 1 0.866 8 6 1 0 +1964 0 1 0 21.5043 42.4438 9.99798 0 0 1 0.866 8 6 1 0 +1965 0 1 0 22.0045 41.5776 9.99798 0 0 1 0.866 8 6 1 0 +1966 0 1 0 22.5046 42.4438 9.99798 0 0 1 0.866 8 6 1 0 +1967 0 1 0 23.0047 41.5776 9.99798 0 0 1 0.866 8 6 1 0 +1968 0 1 0 23.5048 42.4438 9.99798 0 0 1 0.866 8 6 1 0 +1969 0 1 0 24.0049 41.5776 9.99798 0 0 1 0.866 8 6 1 0 +1970 0 1 0 24.505 42.4438 9.99798 0 0 1 0.866 8 6 1 0 +1971 0 1 0 25.0051 41.5776 9.99798 0 0 1 0.866 8 6 1 0 +1972 0 1 0 25.5052 42.4438 9.99798 0 0 1 0.866 8 6 1 0 +1973 0 1 0 26.0053 41.5776 9.99798 0 0 1 0.866 8 6 1 0 +1974 0 1 0 26.5054 42.4438 9.99798 0 0 1 0.866 8 6 1 0 +1975 0 1 0 27.0055 41.5776 9.99798 0 0 1 0.866 8 6 1 0 +1976 0 1 0 27.5056 42.4438 9.99798 0 0 1 0.866 8 6 1 0 +1977 0 1 0 28.0057 41.5776 9.99798 0 0 1 0.866 8 6 1 0 +1978 0 1 0 28.5058 42.4438 9.99798 0 0 1 0.866 8 6 1 0 +1979 0 1 0 29.0059 41.5776 9.99798 0 0 1 0.866 8 6 1 0 +1980 0 1 0 29.506 42.4438 9.99798 0 0 1 0.866 8 6 1 0 +1981 0 1 0 30.0061 41.5776 9.99798 0 0 1 0.866 8 6 1 0 +1982 0 1 0 30.5062 42.4438 9.99798 0 0 1 0.866 8 6 1 0 +1983 0 1 0 31.0063 41.5776 9.99798 0 0 1 0.866 8 6 1 0 +1984 0 1 0 31.5064 42.4438 9.99798 0 0 1 0.866 8 6 1 0 +1985 0 1 0 32.0065 41.5776 9.99798 0 0 1 0.866 8 6 1 0 +1986 0 1 0 32.5066 42.4438 9.99798 0 0 1 0.866 8 6 1 0 +1987 0 1 0 33.0067 41.5776 9.99798 0 0 1 0.866 8 6 1 0 +1988 0 1 0 33.5068 42.4438 9.99798 0 0 1 0.866 8 6 1 0 +1989 0 1 0 34.0069 41.5776 9.99798 0 0 1 0.866 8 6 1 0 +1990 0 1 0 34.507 42.4438 9.99798 0 0 1 0.866 8 6 1 0 +1991 0 1 0 35.0071 41.5776 9.99798 0 0 1 0.866 8 6 1 0 +1992 0 1 0 35.5072 42.4438 9.99798 0 0 1 0.866 8 6 1 0 +1993 0 1 0 36.0073 41.5776 9.99798 0 0 1 0.866 8 6 1 0 +1994 0 1 0 36.5074 42.4438 9.99798 0 0 1 0.866 8 6 1 0 +1995 0 1 0 37.0075 41.5776 9.99798 0 0 1 0.866 8 6 1 0 +1996 0 1 0 37.5076 42.4438 9.99798 0 0 1 0.866 8 6 1 0 +1997 0 1 0 38.0077 41.5776 9.99798 0 0 1 0.866 8 6 1 0 +1998 0 1 0 38.5078 42.4438 9.99798 0 0 1 0.866 8 6 1 0 +1999 0 1 0 39.0079 41.5776 9.99798 0 0 1 0.866 8 6 1 0 +2000 0 1 0 39.508 42.4438 9.99798 0 0 1 0.866 8 6 1 0 +2001 0 1 0 0 0 30.002 0 0 -1 0.866 8 6 1 0 +2002 0 1 0 0.500101 0.866201 30.002 0 0 -1 0.866 8 6 1 0 +2003 0 1 0 1.0002 0 30.002 0 0 -1 0.866 8 6 1 0 +2004 0 1 0 1.5003 0.866201 30.002 0 0 -1 0.866 8 6 1 0 +2005 0 1 0 2.0004 0 30.002 0 0 -1 0.866 8 6 1 0 +2006 0 1 0 2.50051 0.866201 30.002 0 0 -1 0.866 8 6 1 0 +2007 0 1 0 3.00061 0 30.002 0 0 -1 0.866 8 6 1 0 +2008 0 1 0 3.50071 0.866201 30.002 0 0 -1 0.866 8 6 1 0 +2009 0 1 0 4.00081 0 30.002 0 0 -1 0.866 8 6 1 0 +2010 0 1 0 4.50091 0.866201 30.002 0 0 -1 0.866 8 6 1 0 +2011 0 1 0 5.00101 0 30.002 0 0 -1 0.866 8 6 1 0 +2012 0 1 0 5.50111 0.866201 30.002 0 0 -1 0.866 8 6 1 0 +2013 0 1 0 6.00121 0 30.002 0 0 -1 0.866 8 6 1 0 +2014 0 1 0 6.50132 0.866201 30.002 0 0 -1 0.866 8 6 1 0 +2015 0 1 0 7.00142 0 30.002 0 0 -1 0.866 8 6 1 0 +2016 0 1 0 7.50152 0.866201 30.002 0 0 -1 0.866 8 6 1 0 +2017 0 1 0 8.00162 0 30.002 0 0 -1 0.866 8 6 1 0 +2018 0 1 0 8.50172 0.866201 30.002 0 0 -1 0.866 8 6 1 0 +2019 0 1 0 9.00182 0 30.002 0 0 -1 0.866 8 6 1 0 +2020 0 1 0 9.50192 0.866201 30.002 0 0 -1 0.866 8 6 1 0 +2021 0 1 0 10.002 0 30.002 0 0 -1 0.866 8 6 1 0 +2022 0 1 0 10.5021 0.866201 30.002 0 0 -1 0.866 8 6 1 0 +2023 0 1 0 11.0022 0 30.002 0 0 -1 0.866 8 6 1 0 +2024 0 1 0 11.5023 0.866201 30.002 0 0 -1 0.866 8 6 1 0 +2025 0 1 0 12.0024 0 30.002 0 0 -1 0.866 8 6 1 0 +2026 0 1 0 12.5025 0.866201 30.002 0 0 -1 0.866 8 6 1 0 +2027 0 1 0 13.0026 0 30.002 0 0 -1 0.866 8 6 1 0 +2028 0 1 0 13.5027 0.866201 30.002 0 0 -1 0.866 8 6 1 0 +2029 0 1 0 14.0028 0 30.002 0 0 -1 0.866 8 6 1 0 +2030 0 1 0 14.5029 0.866201 30.002 0 0 -1 0.866 8 6 1 0 +2031 0 1 0 15.003 0 30.002 0 0 -1 0.866 8 6 1 0 +2032 0 1 0 15.5031 0.866201 30.002 0 0 -1 0.866 8 6 1 0 +2033 0 1 0 16.0032 0 30.002 0 0 -1 0.866 8 6 1 0 +2034 0 1 0 16.5033 0.866201 30.002 0 0 -1 0.866 8 6 1 0 +2035 0 1 0 17.0034 0 30.002 0 0 -1 0.866 8 6 1 0 +2036 0 1 0 17.5035 0.866201 30.002 0 0 -1 0.866 8 6 1 0 +2037 0 1 0 18.0036 0 30.002 0 0 -1 0.866 8 6 1 0 +2038 0 1 0 18.5037 0.866201 30.002 0 0 -1 0.866 8 6 1 0 +2039 0 1 0 19.0038 0 30.002 0 0 -1 0.866 8 6 1 0 +2040 0 1 0 19.5039 0.866201 30.002 0 0 -1 0.866 8 6 1 0 +2041 0 1 0 20.004 0 30.002 0 0 -1 0.866 8 6 1 0 +2042 0 1 0 20.5041 0.866201 30.002 0 0 -1 0.866 8 6 1 0 +2043 0 1 0 21.0042 0 30.002 0 0 -1 0.866 8 6 1 0 +2044 0 1 0 21.5043 0.866201 30.002 0 0 -1 0.866 8 6 1 0 +2045 0 1 0 22.0045 0 30.002 0 0 -1 0.866 8 6 1 0 +2046 0 1 0 22.5046 0.866201 30.002 0 0 -1 0.866 8 6 1 0 +2047 0 1 0 23.0047 0 30.002 0 0 -1 0.866 8 6 1 0 +2048 0 1 0 23.5048 0.866201 30.002 0 0 -1 0.866 8 6 1 0 +2049 0 1 0 24.0049 0 30.002 0 0 -1 0.866 8 6 1 0 +2050 0 1 0 24.505 0.866201 30.002 0 0 -1 0.866 8 6 1 0 +2051 0 1 0 25.0051 0 30.002 0 0 -1 0.866 8 6 1 0 +2052 0 1 0 25.5052 0.866201 30.002 0 0 -1 0.866 8 6 1 0 +2053 0 1 0 26.0053 0 30.002 0 0 -1 0.866 8 6 1 0 +2054 0 1 0 26.5054 0.866201 30.002 0 0 -1 0.866 8 6 1 0 +2055 0 1 0 27.0055 0 30.002 0 0 -1 0.866 8 6 1 0 +2056 0 1 0 27.5056 0.866201 30.002 0 0 -1 0.866 8 6 1 0 +2057 0 1 0 28.0057 0 30.002 0 0 -1 0.866 8 6 1 0 +2058 0 1 0 28.5058 0.866201 30.002 0 0 -1 0.866 8 6 1 0 +2059 0 1 0 29.0059 0 30.002 0 0 -1 0.866 8 6 1 0 +2060 0 1 0 29.506 0.866201 30.002 0 0 -1 0.866 8 6 1 0 +2061 0 1 0 30.0061 0 30.002 0 0 -1 0.866 8 6 1 0 +2062 0 1 0 30.5062 0.866201 30.002 0 0 -1 0.866 8 6 1 0 +2063 0 1 0 31.0063 0 30.002 0 0 -1 0.866 8 6 1 0 +2064 0 1 0 31.5064 0.866201 30.002 0 0 -1 0.866 8 6 1 0 +2065 0 1 0 32.0065 0 30.002 0 0 -1 0.866 8 6 1 0 +2066 0 1 0 32.5066 0.866201 30.002 0 0 -1 0.866 8 6 1 0 +2067 0 1 0 33.0067 0 30.002 0 0 -1 0.866 8 6 1 0 +2068 0 1 0 33.5068 0.866201 30.002 0 0 -1 0.866 8 6 1 0 +2069 0 1 0 34.0069 0 30.002 0 0 -1 0.866 8 6 1 0 +2070 0 1 0 34.507 0.866201 30.002 0 0 -1 0.866 8 6 1 0 +2071 0 1 0 35.0071 0 30.002 0 0 -1 0.866 8 6 1 0 +2072 0 1 0 35.5072 0.866201 30.002 0 0 -1 0.866 8 6 1 0 +2073 0 1 0 36.0073 0 30.002 0 0 -1 0.866 8 6 1 0 +2074 0 1 0 36.5074 0.866201 30.002 0 0 -1 0.866 8 6 1 0 +2075 0 1 0 37.0075 0 30.002 0 0 -1 0.866 8 6 1 0 +2076 0 1 0 37.5076 0.866201 30.002 0 0 -1 0.866 8 6 1 0 +2077 0 1 0 38.0077 0 30.002 0 0 -1 0.866 8 6 1 0 +2078 0 1 0 38.5078 0.866201 30.002 0 0 -1 0.866 8 6 1 0 +2079 0 1 0 39.0079 0 30.002 0 0 -1 0.866 8 6 1 0 +2080 0 1 0 39.508 0.866201 30.002 0 0 -1 0.866 8 6 1 0 +2081 0 1 0 0 1.7324 30.002 0 0 -1 0.866 8 6 1 0 +2082 0 1 0 0.500101 2.5986 30.002 0 0 -1 0.866 8 6 1 0 +2083 0 1 0 1.0002 1.7324 30.002 0 0 -1 0.866 8 6 1 0 +2084 0 1 0 1.5003 2.5986 30.002 0 0 -1 0.866 8 6 1 0 +2085 0 1 0 2.0004 1.7324 30.002 0 0 -1 0.866 8 6 1 0 +2086 0 1 0 2.50051 2.5986 30.002 0 0 -1 0.866 8 6 1 0 +2087 0 1 0 3.00061 1.7324 30.002 0 0 -1 0.866 8 6 1 0 +2088 0 1 0 3.50071 2.5986 30.002 0 0 -1 0.866 8 6 1 0 +2089 0 1 0 4.00081 1.7324 30.002 0 0 -1 0.866 8 6 1 0 +2090 0 1 0 4.50091 2.5986 30.002 0 0 -1 0.866 8 6 1 0 +2091 0 1 0 5.00101 1.7324 30.002 0 0 -1 0.866 8 6 1 0 +2092 0 1 0 5.50111 2.5986 30.002 0 0 -1 0.866 8 6 1 0 +2093 0 1 0 6.00121 1.7324 30.002 0 0 -1 0.866 8 6 1 0 +2094 0 1 0 6.50132 2.5986 30.002 0 0 -1 0.866 8 6 1 0 +2095 0 1 0 7.00142 1.7324 30.002 0 0 -1 0.866 8 6 1 0 +2096 0 1 0 7.50152 2.5986 30.002 0 0 -1 0.866 8 6 1 0 +2097 0 1 0 8.00162 1.7324 30.002 0 0 -1 0.866 8 6 1 0 +2098 0 1 0 8.50172 2.5986 30.002 0 0 -1 0.866 8 6 1 0 +2099 0 1 0 9.00182 1.7324 30.002 0 0 -1 0.866 8 6 1 0 +2100 0 1 0 9.50192 2.5986 30.002 0 0 -1 0.866 8 6 1 0 +2101 0 1 0 10.002 1.7324 30.002 0 0 -1 0.866 8 6 1 0 +2102 0 1 0 10.5021 2.5986 30.002 0 0 -1 0.866 8 6 1 0 +2103 0 1 0 11.0022 1.7324 30.002 0 0 -1 0.866 8 6 1 0 +2104 0 1 0 11.5023 2.5986 30.002 0 0 -1 0.866 8 6 1 0 +2105 0 1 0 12.0024 1.7324 30.002 0 0 -1 0.866 8 6 1 0 +2106 0 1 0 12.5025 2.5986 30.002 0 0 -1 0.866 8 6 1 0 +2107 0 1 0 13.0026 1.7324 30.002 0 0 -1 0.866 8 6 1 0 +2108 0 1 0 13.5027 2.5986 30.002 0 0 -1 0.866 8 6 1 0 +2109 0 1 0 14.0028 1.7324 30.002 0 0 -1 0.866 8 6 1 0 +2110 0 1 0 14.5029 2.5986 30.002 0 0 -1 0.866 8 6 1 0 +2111 0 1 0 15.003 1.7324 30.002 0 0 -1 0.866 8 6 1 0 +2112 0 1 0 15.5031 2.5986 30.002 0 0 -1 0.866 8 6 1 0 +2113 0 1 0 16.0032 1.7324 30.002 0 0 -1 0.866 8 6 1 0 +2114 0 1 0 16.5033 2.5986 30.002 0 0 -1 0.866 8 6 1 0 +2115 0 1 0 17.0034 1.7324 30.002 0 0 -1 0.866 8 6 1 0 +2116 0 1 0 17.5035 2.5986 30.002 0 0 -1 0.866 8 6 1 0 +2117 0 1 0 18.0036 1.7324 30.002 0 0 -1 0.866 8 6 1 0 +2118 0 1 0 18.5037 2.5986 30.002 0 0 -1 0.866 8 6 1 0 +2119 0 1 0 19.0038 1.7324 30.002 0 0 -1 0.866 8 6 1 0 +2120 0 1 0 19.5039 2.5986 30.002 0 0 -1 0.866 8 6 1 0 +2121 0 1 0 20.004 1.7324 30.002 0 0 -1 0.866 8 6 1 0 +2122 0 1 0 20.5041 2.5986 30.002 0 0 -1 0.866 8 6 1 0 +2123 0 1 0 21.0042 1.7324 30.002 0 0 -1 0.866 8 6 1 0 +2124 0 1 0 21.5043 2.5986 30.002 0 0 -1 0.866 8 6 1 0 +2125 0 1 0 22.0045 1.7324 30.002 0 0 -1 0.866 8 6 1 0 +2126 0 1 0 22.5046 2.5986 30.002 0 0 -1 0.866 8 6 1 0 +2127 0 1 0 23.0047 1.7324 30.002 0 0 -1 0.866 8 6 1 0 +2128 0 1 0 23.5048 2.5986 30.002 0 0 -1 0.866 8 6 1 0 +2129 0 1 0 24.0049 1.7324 30.002 0 0 -1 0.866 8 6 1 0 +2130 0 1 0 24.505 2.5986 30.002 0 0 -1 0.866 8 6 1 0 +2131 0 1 0 25.0051 1.7324 30.002 0 0 -1 0.866 8 6 1 0 +2132 0 1 0 25.5052 2.5986 30.002 0 0 -1 0.866 8 6 1 0 +2133 0 1 0 26.0053 1.7324 30.002 0 0 -1 0.866 8 6 1 0 +2134 0 1 0 26.5054 2.5986 30.002 0 0 -1 0.866 8 6 1 0 +2135 0 1 0 27.0055 1.7324 30.002 0 0 -1 0.866 8 6 1 0 +2136 0 1 0 27.5056 2.5986 30.002 0 0 -1 0.866 8 6 1 0 +2137 0 1 0 28.0057 1.7324 30.002 0 0 -1 0.866 8 6 1 0 +2138 0 1 0 28.5058 2.5986 30.002 0 0 -1 0.866 8 6 1 0 +2139 0 1 0 29.0059 1.7324 30.002 0 0 -1 0.866 8 6 1 0 +2140 0 1 0 29.506 2.5986 30.002 0 0 -1 0.866 8 6 1 0 +2141 0 1 0 30.0061 1.7324 30.002 0 0 -1 0.866 8 6 1 0 +2142 0 1 0 30.5062 2.5986 30.002 0 0 -1 0.866 8 6 1 0 +2143 0 1 0 31.0063 1.7324 30.002 0 0 -1 0.866 8 6 1 0 +2144 0 1 0 31.5064 2.5986 30.002 0 0 -1 0.866 8 6 1 0 +2145 0 1 0 32.0065 1.7324 30.002 0 0 -1 0.866 8 6 1 0 +2146 0 1 0 32.5066 2.5986 30.002 0 0 -1 0.866 8 6 1 0 +2147 0 1 0 33.0067 1.7324 30.002 0 0 -1 0.866 8 6 1 0 +2148 0 1 0 33.5068 2.5986 30.002 0 0 -1 0.866 8 6 1 0 +2149 0 1 0 34.0069 1.7324 30.002 0 0 -1 0.866 8 6 1 0 +2150 0 1 0 34.507 2.5986 30.002 0 0 -1 0.866 8 6 1 0 +2151 0 1 0 35.0071 1.7324 30.002 0 0 -1 0.866 8 6 1 0 +2152 0 1 0 35.5072 2.5986 30.002 0 0 -1 0.866 8 6 1 0 +2153 0 1 0 36.0073 1.7324 30.002 0 0 -1 0.866 8 6 1 0 +2154 0 1 0 36.5074 2.5986 30.002 0 0 -1 0.866 8 6 1 0 +2155 0 1 0 37.0075 1.7324 30.002 0 0 -1 0.866 8 6 1 0 +2156 0 1 0 37.5076 2.5986 30.002 0 0 -1 0.866 8 6 1 0 +2157 0 1 0 38.0077 1.7324 30.002 0 0 -1 0.866 8 6 1 0 +2158 0 1 0 38.5078 2.5986 30.002 0 0 -1 0.866 8 6 1 0 +2159 0 1 0 39.0079 1.7324 30.002 0 0 -1 0.866 8 6 1 0 +2160 0 1 0 39.508 2.5986 30.002 0 0 -1 0.866 8 6 1 0 +2161 0 1 0 0 3.4648 30.002 0 0 -1 0.866 8 6 1 0 +2162 0 1 0 0.500101 4.331 30.002 0 0 -1 0.866 8 6 1 0 +2163 0 1 0 1.0002 3.4648 30.002 0 0 -1 0.866 8 6 1 0 +2164 0 1 0 1.5003 4.331 30.002 0 0 -1 0.866 8 6 1 0 +2165 0 1 0 2.0004 3.4648 30.002 0 0 -1 0.866 8 6 1 0 +2166 0 1 0 2.50051 4.331 30.002 0 0 -1 0.866 8 6 1 0 +2167 0 1 0 3.00061 3.4648 30.002 0 0 -1 0.866 8 6 1 0 +2168 0 1 0 3.50071 4.331 30.002 0 0 -1 0.866 8 6 1 0 +2169 0 1 0 4.00081 3.4648 30.002 0 0 -1 0.866 8 6 1 0 +2170 0 1 0 4.50091 4.331 30.002 0 0 -1 0.866 8 6 1 0 +2171 0 1 0 5.00101 3.4648 30.002 0 0 -1 0.866 8 6 1 0 +2172 0 1 0 5.50111 4.331 30.002 0 0 -1 0.866 8 6 1 0 +2173 0 1 0 6.00121 3.4648 30.002 0 0 -1 0.866 8 6 1 0 +2174 0 1 0 6.50132 4.331 30.002 0 0 -1 0.866 8 6 1 0 +2175 0 1 0 7.00142 3.4648 30.002 0 0 -1 0.866 8 6 1 0 +2176 0 1 0 7.50152 4.331 30.002 0 0 -1 0.866 8 6 1 0 +2177 0 1 0 8.00162 3.4648 30.002 0 0 -1 0.866 8 6 1 0 +2178 0 1 0 8.50172 4.331 30.002 0 0 -1 0.866 8 6 1 0 +2179 0 1 0 9.00182 3.4648 30.002 0 0 -1 0.866 8 6 1 0 +2180 0 1 0 9.50192 4.331 30.002 0 0 -1 0.866 8 6 1 0 +2181 0 1 0 10.002 3.4648 30.002 0 0 -1 0.866 8 6 1 0 +2182 0 1 0 10.5021 4.331 30.002 0 0 -1 0.866 8 6 1 0 +2183 0 1 0 11.0022 3.4648 30.002 0 0 -1 0.866 8 6 1 0 +2184 0 1 0 11.5023 4.331 30.002 0 0 -1 0.866 8 6 1 0 +2185 0 1 0 12.0024 3.4648 30.002 0 0 -1 0.866 8 6 1 0 +2186 0 1 0 12.5025 4.331 30.002 0 0 -1 0.866 8 6 1 0 +2187 0 1 0 13.0026 3.4648 30.002 0 0 -1 0.866 8 6 1 0 +2188 0 1 0 13.5027 4.331 30.002 0 0 -1 0.866 8 6 1 0 +2189 0 1 0 14.0028 3.4648 30.002 0 0 -1 0.866 8 6 1 0 +2190 0 1 0 14.5029 4.331 30.002 0 0 -1 0.866 8 6 1 0 +2191 0 1 0 15.003 3.4648 30.002 0 0 -1 0.866 8 6 1 0 +2192 0 1 0 15.5031 4.331 30.002 0 0 -1 0.866 8 6 1 0 +2193 0 1 0 16.0032 3.4648 30.002 0 0 -1 0.866 8 6 1 0 +2194 0 1 0 16.5033 4.331 30.002 0 0 -1 0.866 8 6 1 0 +2195 0 1 0 17.0034 3.4648 30.002 0 0 -1 0.866 8 6 1 0 +2196 0 1 0 17.5035 4.331 30.002 0 0 -1 0.866 8 6 1 0 +2197 0 1 0 18.0036 3.4648 30.002 0 0 -1 0.866 8 6 1 0 +2198 0 1 0 18.5037 4.331 30.002 0 0 -1 0.866 8 6 1 0 +2199 0 1 0 19.0038 3.4648 30.002 0 0 -1 0.866 8 6 1 0 +2200 0 1 0 19.5039 4.331 30.002 0 0 -1 0.866 8 6 1 0 +2201 0 1 0 20.004 3.4648 30.002 0 0 -1 0.866 8 6 1 0 +2202 0 1 0 20.5041 4.331 30.002 0 0 -1 0.866 8 6 1 0 +2203 0 1 0 21.0042 3.4648 30.002 0 0 -1 0.866 8 6 1 0 +2204 0 1 0 21.5043 4.331 30.002 0 0 -1 0.866 8 6 1 0 +2205 0 1 0 22.0045 3.4648 30.002 0 0 -1 0.866 8 6 1 0 +2206 0 1 0 22.5046 4.331 30.002 0 0 -1 0.866 8 6 1 0 +2207 0 1 0 23.0047 3.4648 30.002 0 0 -1 0.866 8 6 1 0 +2208 0 1 0 23.5048 4.331 30.002 0 0 -1 0.866 8 6 1 0 +2209 0 1 0 24.0049 3.4648 30.002 0 0 -1 0.866 8 6 1 0 +2210 0 1 0 24.505 4.331 30.002 0 0 -1 0.866 8 6 1 0 +2211 0 1 0 25.0051 3.4648 30.002 0 0 -1 0.866 8 6 1 0 +2212 0 1 0 25.5052 4.331 30.002 0 0 -1 0.866 8 6 1 0 +2213 0 1 0 26.0053 3.4648 30.002 0 0 -1 0.866 8 6 1 0 +2214 0 1 0 26.5054 4.331 30.002 0 0 -1 0.866 8 6 1 0 +2215 0 1 0 27.0055 3.4648 30.002 0 0 -1 0.866 8 6 1 0 +2216 0 1 0 27.5056 4.331 30.002 0 0 -1 0.866 8 6 1 0 +2217 0 1 0 28.0057 3.4648 30.002 0 0 -1 0.866 8 6 1 0 +2218 0 1 0 28.5058 4.331 30.002 0 0 -1 0.866 8 6 1 0 +2219 0 1 0 29.0059 3.4648 30.002 0 0 -1 0.866 8 6 1 0 +2220 0 1 0 29.506 4.331 30.002 0 0 -1 0.866 8 6 1 0 +2221 0 1 0 30.0061 3.4648 30.002 0 0 -1 0.866 8 6 1 0 +2222 0 1 0 30.5062 4.331 30.002 0 0 -1 0.866 8 6 1 0 +2223 0 1 0 31.0063 3.4648 30.002 0 0 -1 0.866 8 6 1 0 +2224 0 1 0 31.5064 4.331 30.002 0 0 -1 0.866 8 6 1 0 +2225 0 1 0 32.0065 3.4648 30.002 0 0 -1 0.866 8 6 1 0 +2226 0 1 0 32.5066 4.331 30.002 0 0 -1 0.866 8 6 1 0 +2227 0 1 0 33.0067 3.4648 30.002 0 0 -1 0.866 8 6 1 0 +2228 0 1 0 33.5068 4.331 30.002 0 0 -1 0.866 8 6 1 0 +2229 0 1 0 34.0069 3.4648 30.002 0 0 -1 0.866 8 6 1 0 +2230 0 1 0 34.507 4.331 30.002 0 0 -1 0.866 8 6 1 0 +2231 0 1 0 35.0071 3.4648 30.002 0 0 -1 0.866 8 6 1 0 +2232 0 1 0 35.5072 4.331 30.002 0 0 -1 0.866 8 6 1 0 +2233 0 1 0 36.0073 3.4648 30.002 0 0 -1 0.866 8 6 1 0 +2234 0 1 0 36.5074 4.331 30.002 0 0 -1 0.866 8 6 1 0 +2235 0 1 0 37.0075 3.4648 30.002 0 0 -1 0.866 8 6 1 0 +2236 0 1 0 37.5076 4.331 30.002 0 0 -1 0.866 8 6 1 0 +2237 0 1 0 38.0077 3.4648 30.002 0 0 -1 0.866 8 6 1 0 +2238 0 1 0 38.5078 4.331 30.002 0 0 -1 0.866 8 6 1 0 +2239 0 1 0 39.0079 3.4648 30.002 0 0 -1 0.866 8 6 1 0 +2240 0 1 0 39.508 4.331 30.002 0 0 -1 0.866 8 6 1 0 +2241 0 1 0 0 5.1972 30.002 0 0 -1 0.866 8 6 1 0 +2242 0 1 0 0.500101 6.0634 30.002 0 0 -1 0.866 8 6 1 0 +2243 0 1 0 1.0002 5.1972 30.002 0 0 -1 0.866 8 6 1 0 +2244 0 1 0 1.5003 6.0634 30.002 0 0 -1 0.866 8 6 1 0 +2245 0 1 0 2.0004 5.1972 30.002 0 0 -1 0.866 8 6 1 0 +2246 0 1 0 2.50051 6.0634 30.002 0 0 -1 0.866 8 6 1 0 +2247 0 1 0 3.00061 5.1972 30.002 0 0 -1 0.866 8 6 1 0 +2248 0 1 0 3.50071 6.0634 30.002 0 0 -1 0.866 8 6 1 0 +2249 0 1 0 4.00081 5.1972 30.002 0 0 -1 0.866 8 6 1 0 +2250 0 1 0 4.50091 6.0634 30.002 0 0 -1 0.866 8 6 1 0 +2251 0 1 0 5.00101 5.1972 30.002 0 0 -1 0.866 8 6 1 0 +2252 0 1 0 5.50111 6.0634 30.002 0 0 -1 0.866 8 6 1 0 +2253 0 1 0 6.00121 5.1972 30.002 0 0 -1 0.866 8 6 1 0 +2254 0 1 0 6.50132 6.0634 30.002 0 0 -1 0.866 8 6 1 0 +2255 0 1 0 7.00142 5.1972 30.002 0 0 -1 0.866 8 6 1 0 +2256 0 1 0 7.50152 6.0634 30.002 0 0 -1 0.866 8 6 1 0 +2257 0 1 0 8.00162 5.1972 30.002 0 0 -1 0.866 8 6 1 0 +2258 0 1 0 8.50172 6.0634 30.002 0 0 -1 0.866 8 6 1 0 +2259 0 1 0 9.00182 5.1972 30.002 0 0 -1 0.866 8 6 1 0 +2260 0 1 0 9.50192 6.0634 30.002 0 0 -1 0.866 8 6 1 0 +2261 0 1 0 10.002 5.1972 30.002 0 0 -1 0.866 8 6 1 0 +2262 0 1 0 10.5021 6.0634 30.002 0 0 -1 0.866 8 6 1 0 +2263 0 1 0 11.0022 5.1972 30.002 0 0 -1 0.866 8 6 1 0 +2264 0 1 0 11.5023 6.0634 30.002 0 0 -1 0.866 8 6 1 0 +2265 0 1 0 12.0024 5.1972 30.002 0 0 -1 0.866 8 6 1 0 +2266 0 1 0 12.5025 6.0634 30.002 0 0 -1 0.866 8 6 1 0 +2267 0 1 0 13.0026 5.1972 30.002 0 0 -1 0.866 8 6 1 0 +2268 0 1 0 13.5027 6.0634 30.002 0 0 -1 0.866 8 6 1 0 +2269 0 1 0 14.0028 5.1972 30.002 0 0 -1 0.866 8 6 1 0 +2270 0 1 0 14.5029 6.0634 30.002 0 0 -1 0.866 8 6 1 0 +2271 0 1 0 15.003 5.1972 30.002 0 0 -1 0.866 8 6 1 0 +2272 0 1 0 15.5031 6.0634 30.002 0 0 -1 0.866 8 6 1 0 +2273 0 1 0 16.0032 5.1972 30.002 0 0 -1 0.866 8 6 1 0 +2274 0 1 0 16.5033 6.0634 30.002 0 0 -1 0.866 8 6 1 0 +2275 0 1 0 17.0034 5.1972 30.002 0 0 -1 0.866 8 6 1 0 +2276 0 1 0 17.5035 6.0634 30.002 0 0 -1 0.866 8 6 1 0 +2277 0 1 0 18.0036 5.1972 30.002 0 0 -1 0.866 8 6 1 0 +2278 0 1 0 18.5037 6.0634 30.002 0 0 -1 0.866 8 6 1 0 +2279 0 1 0 19.0038 5.1972 30.002 0 0 -1 0.866 8 6 1 0 +2280 0 1 0 19.5039 6.0634 30.002 0 0 -1 0.866 8 6 1 0 +2281 0 1 0 20.004 5.1972 30.002 0 0 -1 0.866 8 6 1 0 +2282 0 1 0 20.5041 6.0634 30.002 0 0 -1 0.866 8 6 1 0 +2283 0 1 0 21.0042 5.1972 30.002 0 0 -1 0.866 8 6 1 0 +2284 0 1 0 21.5043 6.0634 30.002 0 0 -1 0.866 8 6 1 0 +2285 0 1 0 22.0045 5.1972 30.002 0 0 -1 0.866 8 6 1 0 +2286 0 1 0 22.5046 6.0634 30.002 0 0 -1 0.866 8 6 1 0 +2287 0 1 0 23.0047 5.1972 30.002 0 0 -1 0.866 8 6 1 0 +2288 0 1 0 23.5048 6.0634 30.002 0 0 -1 0.866 8 6 1 0 +2289 0 1 0 24.0049 5.1972 30.002 0 0 -1 0.866 8 6 1 0 +2290 0 1 0 24.505 6.0634 30.002 0 0 -1 0.866 8 6 1 0 +2291 0 1 0 25.0051 5.1972 30.002 0 0 -1 0.866 8 6 1 0 +2292 0 1 0 25.5052 6.0634 30.002 0 0 -1 0.866 8 6 1 0 +2293 0 1 0 26.0053 5.1972 30.002 0 0 -1 0.866 8 6 1 0 +2294 0 1 0 26.5054 6.0634 30.002 0 0 -1 0.866 8 6 1 0 +2295 0 1 0 27.0055 5.1972 30.002 0 0 -1 0.866 8 6 1 0 +2296 0 1 0 27.5056 6.0634 30.002 0 0 -1 0.866 8 6 1 0 +2297 0 1 0 28.0057 5.1972 30.002 0 0 -1 0.866 8 6 1 0 +2298 0 1 0 28.5058 6.0634 30.002 0 0 -1 0.866 8 6 1 0 +2299 0 1 0 29.0059 5.1972 30.002 0 0 -1 0.866 8 6 1 0 +2300 0 1 0 29.506 6.0634 30.002 0 0 -1 0.866 8 6 1 0 +2301 0 1 0 30.0061 5.1972 30.002 0 0 -1 0.866 8 6 1 0 +2302 0 1 0 30.5062 6.0634 30.002 0 0 -1 0.866 8 6 1 0 +2303 0 1 0 31.0063 5.1972 30.002 0 0 -1 0.866 8 6 1 0 +2304 0 1 0 31.5064 6.0634 30.002 0 0 -1 0.866 8 6 1 0 +2305 0 1 0 32.0065 5.1972 30.002 0 0 -1 0.866 8 6 1 0 +2306 0 1 0 32.5066 6.0634 30.002 0 0 -1 0.866 8 6 1 0 +2307 0 1 0 33.0067 5.1972 30.002 0 0 -1 0.866 8 6 1 0 +2308 0 1 0 33.5068 6.0634 30.002 0 0 -1 0.866 8 6 1 0 +2309 0 1 0 34.0069 5.1972 30.002 0 0 -1 0.866 8 6 1 0 +2310 0 1 0 34.507 6.0634 30.002 0 0 -1 0.866 8 6 1 0 +2311 0 1 0 35.0071 5.1972 30.002 0 0 -1 0.866 8 6 1 0 +2312 0 1 0 35.5072 6.0634 30.002 0 0 -1 0.866 8 6 1 0 +2313 0 1 0 36.0073 5.1972 30.002 0 0 -1 0.866 8 6 1 0 +2314 0 1 0 36.5074 6.0634 30.002 0 0 -1 0.866 8 6 1 0 +2315 0 1 0 37.0075 5.1972 30.002 0 0 -1 0.866 8 6 1 0 +2316 0 1 0 37.5076 6.0634 30.002 0 0 -1 0.866 8 6 1 0 +2317 0 1 0 38.0077 5.1972 30.002 0 0 -1 0.866 8 6 1 0 +2318 0 1 0 38.5078 6.0634 30.002 0 0 -1 0.866 8 6 1 0 +2319 0 1 0 39.0079 5.1972 30.002 0 0 -1 0.866 8 6 1 0 +2320 0 1 0 39.508 6.0634 30.002 0 0 -1 0.866 8 6 1 0 +2321 0 1 0 0 6.9296 30.002 0 0 -1 0.866 8 6 1 0 +2322 0 1 0 0.500101 7.79581 30.002 0 0 -1 0.866 8 6 1 0 +2323 0 1 0 1.0002 6.9296 30.002 0 0 -1 0.866 8 6 1 0 +2324 0 1 0 1.5003 7.79581 30.002 0 0 -1 0.866 8 6 1 0 +2325 0 1 0 2.0004 6.9296 30.002 0 0 -1 0.866 8 6 1 0 +2326 0 1 0 2.50051 7.79581 30.002 0 0 -1 0.866 8 6 1 0 +2327 0 1 0 3.00061 6.9296 30.002 0 0 -1 0.866 8 6 1 0 +2328 0 1 0 3.50071 7.79581 30.002 0 0 -1 0.866 8 6 1 0 +2329 0 1 0 4.00081 6.9296 30.002 0 0 -1 0.866 8 6 1 0 +2330 0 1 0 4.50091 7.79581 30.002 0 0 -1 0.866 8 6 1 0 +2331 0 1 0 5.00101 6.9296 30.002 0 0 -1 0.866 8 6 1 0 +2332 0 1 0 5.50111 7.79581 30.002 0 0 -1 0.866 8 6 1 0 +2333 0 1 0 6.00121 6.9296 30.002 0 0 -1 0.866 8 6 1 0 +2334 0 1 0 6.50132 7.79581 30.002 0 0 -1 0.866 8 6 1 0 +2335 0 1 0 7.00142 6.9296 30.002 0 0 -1 0.866 8 6 1 0 +2336 0 1 0 7.50152 7.79581 30.002 0 0 -1 0.866 8 6 1 0 +2337 0 1 0 8.00162 6.9296 30.002 0 0 -1 0.866 8 6 1 0 +2338 0 1 0 8.50172 7.79581 30.002 0 0 -1 0.866 8 6 1 0 +2339 0 1 0 9.00182 6.9296 30.002 0 0 -1 0.866 8 6 1 0 +2340 0 1 0 9.50192 7.79581 30.002 0 0 -1 0.866 8 6 1 0 +2341 0 1 0 10.002 6.9296 30.002 0 0 -1 0.866 8 6 1 0 +2342 0 1 0 10.5021 7.79581 30.002 0 0 -1 0.866 8 6 1 0 +2343 0 1 0 11.0022 6.9296 30.002 0 0 -1 0.866 8 6 1 0 +2344 0 1 0 11.5023 7.79581 30.002 0 0 -1 0.866 8 6 1 0 +2345 0 1 0 12.0024 6.9296 30.002 0 0 -1 0.866 8 6 1 0 +2346 0 1 0 12.5025 7.79581 30.002 0 0 -1 0.866 8 6 1 0 +2347 0 1 0 13.0026 6.9296 30.002 0 0 -1 0.866 8 6 1 0 +2348 0 1 0 13.5027 7.79581 30.002 0 0 -1 0.866 8 6 1 0 +2349 0 1 0 14.0028 6.9296 30.002 0 0 -1 0.866 8 6 1 0 +2350 0 1 0 14.5029 7.79581 30.002 0 0 -1 0.866 8 6 1 0 +2351 0 1 0 15.003 6.9296 30.002 0 0 -1 0.866 8 6 1 0 +2352 0 1 0 15.5031 7.79581 30.002 0 0 -1 0.866 8 6 1 0 +2353 0 1 0 16.0032 6.9296 30.002 0 0 -1 0.866 8 6 1 0 +2354 0 1 0 16.5033 7.79581 30.002 0 0 -1 0.866 8 6 1 0 +2355 0 1 0 17.0034 6.9296 30.002 0 0 -1 0.866 8 6 1 0 +2356 0 1 0 17.5035 7.79581 30.002 0 0 -1 0.866 8 6 1 0 +2357 0 1 0 18.0036 6.9296 30.002 0 0 -1 0.866 8 6 1 0 +2358 0 1 0 18.5037 7.79581 30.002 0 0 -1 0.866 8 6 1 0 +2359 0 1 0 19.0038 6.9296 30.002 0 0 -1 0.866 8 6 1 0 +2360 0 1 0 19.5039 7.79581 30.002 0 0 -1 0.866 8 6 1 0 +2361 0 1 0 20.004 6.9296 30.002 0 0 -1 0.866 8 6 1 0 +2362 0 1 0 20.5041 7.79581 30.002 0 0 -1 0.866 8 6 1 0 +2363 0 1 0 21.0042 6.9296 30.002 0 0 -1 0.866 8 6 1 0 +2364 0 1 0 21.5043 7.79581 30.002 0 0 -1 0.866 8 6 1 0 +2365 0 1 0 22.0045 6.9296 30.002 0 0 -1 0.866 8 6 1 0 +2366 0 1 0 22.5046 7.79581 30.002 0 0 -1 0.866 8 6 1 0 +2367 0 1 0 23.0047 6.9296 30.002 0 0 -1 0.866 8 6 1 0 +2368 0 1 0 23.5048 7.79581 30.002 0 0 -1 0.866 8 6 1 0 +2369 0 1 0 24.0049 6.9296 30.002 0 0 -1 0.866 8 6 1 0 +2370 0 1 0 24.505 7.79581 30.002 0 0 -1 0.866 8 6 1 0 +2371 0 1 0 25.0051 6.9296 30.002 0 0 -1 0.866 8 6 1 0 +2372 0 1 0 25.5052 7.79581 30.002 0 0 -1 0.866 8 6 1 0 +2373 0 1 0 26.0053 6.9296 30.002 0 0 -1 0.866 8 6 1 0 +2374 0 1 0 26.5054 7.79581 30.002 0 0 -1 0.866 8 6 1 0 +2375 0 1 0 27.0055 6.9296 30.002 0 0 -1 0.866 8 6 1 0 +2376 0 1 0 27.5056 7.79581 30.002 0 0 -1 0.866 8 6 1 0 +2377 0 1 0 28.0057 6.9296 30.002 0 0 -1 0.866 8 6 1 0 +2378 0 1 0 28.5058 7.79581 30.002 0 0 -1 0.866 8 6 1 0 +2379 0 1 0 29.0059 6.9296 30.002 0 0 -1 0.866 8 6 1 0 +2380 0 1 0 29.506 7.79581 30.002 0 0 -1 0.866 8 6 1 0 +2381 0 1 0 30.0061 6.9296 30.002 0 0 -1 0.866 8 6 1 0 +2382 0 1 0 30.5062 7.79581 30.002 0 0 -1 0.866 8 6 1 0 +2383 0 1 0 31.0063 6.9296 30.002 0 0 -1 0.866 8 6 1 0 +2384 0 1 0 31.5064 7.79581 30.002 0 0 -1 0.866 8 6 1 0 +2385 0 1 0 32.0065 6.9296 30.002 0 0 -1 0.866 8 6 1 0 +2386 0 1 0 32.5066 7.79581 30.002 0 0 -1 0.866 8 6 1 0 +2387 0 1 0 33.0067 6.9296 30.002 0 0 -1 0.866 8 6 1 0 +2388 0 1 0 33.5068 7.79581 30.002 0 0 -1 0.866 8 6 1 0 +2389 0 1 0 34.0069 6.9296 30.002 0 0 -1 0.866 8 6 1 0 +2390 0 1 0 34.507 7.79581 30.002 0 0 -1 0.866 8 6 1 0 +2391 0 1 0 35.0071 6.9296 30.002 0 0 -1 0.866 8 6 1 0 +2392 0 1 0 35.5072 7.79581 30.002 0 0 -1 0.866 8 6 1 0 +2393 0 1 0 36.0073 6.9296 30.002 0 0 -1 0.866 8 6 1 0 +2394 0 1 0 36.5074 7.79581 30.002 0 0 -1 0.866 8 6 1 0 +2395 0 1 0 37.0075 6.9296 30.002 0 0 -1 0.866 8 6 1 0 +2396 0 1 0 37.5076 7.79581 30.002 0 0 -1 0.866 8 6 1 0 +2397 0 1 0 38.0077 6.9296 30.002 0 0 -1 0.866 8 6 1 0 +2398 0 1 0 38.5078 7.79581 30.002 0 0 -1 0.866 8 6 1 0 +2399 0 1 0 39.0079 6.9296 30.002 0 0 -1 0.866 8 6 1 0 +2400 0 1 0 39.508 7.79581 30.002 0 0 -1 0.866 8 6 1 0 +2401 0 1 0 0 8.66201 30.002 0 0 -1 0.866 8 6 1 0 +2402 0 1 0 0.500101 9.52821 30.002 0 0 -1 0.866 8 6 1 0 +2403 0 1 0 1.0002 8.66201 30.002 0 0 -1 0.866 8 6 1 0 +2404 0 1 0 1.5003 9.52821 30.002 0 0 -1 0.866 8 6 1 0 +2405 0 1 0 2.0004 8.66201 30.002 0 0 -1 0.866 8 6 1 0 +2406 0 1 0 2.50051 9.52821 30.002 0 0 -1 0.866 8 6 1 0 +2407 0 1 0 3.00061 8.66201 30.002 0 0 -1 0.866 8 6 1 0 +2408 0 1 0 3.50071 9.52821 30.002 0 0 -1 0.866 8 6 1 0 +2409 0 1 0 4.00081 8.66201 30.002 0 0 -1 0.866 8 6 1 0 +2410 0 1 0 4.50091 9.52821 30.002 0 0 -1 0.866 8 6 1 0 +2411 0 1 0 5.00101 8.66201 30.002 0 0 -1 0.866 8 6 1 0 +2412 0 1 0 5.50111 9.52821 30.002 0 0 -1 0.866 8 6 1 0 +2413 0 1 0 6.00121 8.66201 30.002 0 0 -1 0.866 8 6 1 0 +2414 0 1 0 6.50132 9.52821 30.002 0 0 -1 0.866 8 6 1 0 +2415 0 1 0 7.00142 8.66201 30.002 0 0 -1 0.866 8 6 1 0 +2416 0 1 0 7.50152 9.52821 30.002 0 0 -1 0.866 8 6 1 0 +2417 0 1 0 8.00162 8.66201 30.002 0 0 -1 0.866 8 6 1 0 +2418 0 1 0 8.50172 9.52821 30.002 0 0 -1 0.866 8 6 1 0 +2419 0 1 0 9.00182 8.66201 30.002 0 0 -1 0.866 8 6 1 0 +2420 0 1 0 9.50192 9.52821 30.002 0 0 -1 0.866 8 6 1 0 +2421 0 1 0 10.002 8.66201 30.002 0 0 -1 0.866 8 6 1 0 +2422 0 1 0 10.5021 9.52821 30.002 0 0 -1 0.866 8 6 1 0 +2423 0 1 0 11.0022 8.66201 30.002 0 0 -1 0.866 8 6 1 0 +2424 0 1 0 11.5023 9.52821 30.002 0 0 -1 0.866 8 6 1 0 +2425 0 1 0 12.0024 8.66201 30.002 0 0 -1 0.866 8 6 1 0 +2426 0 1 0 12.5025 9.52821 30.002 0 0 -1 0.866 8 6 1 0 +2427 0 1 0 13.0026 8.66201 30.002 0 0 -1 0.866 8 6 1 0 +2428 0 1 0 13.5027 9.52821 30.002 0 0 -1 0.866 8 6 1 0 +2429 0 1 0 14.0028 8.66201 30.002 0 0 -1 0.866 8 6 1 0 +2430 0 1 0 14.5029 9.52821 30.002 0 0 -1 0.866 8 6 1 0 +2431 0 1 0 15.003 8.66201 30.002 0 0 -1 0.866 8 6 1 0 +2432 0 1 0 15.5031 9.52821 30.002 0 0 -1 0.866 8 6 1 0 +2433 0 1 0 16.0032 8.66201 30.002 0 0 -1 0.866 8 6 1 0 +2434 0 1 0 16.5033 9.52821 30.002 0 0 -1 0.866 8 6 1 0 +2435 0 1 0 17.0034 8.66201 30.002 0 0 -1 0.866 8 6 1 0 +2436 0 1 0 17.5035 9.52821 30.002 0 0 -1 0.866 8 6 1 0 +2437 0 1 0 18.0036 8.66201 30.002 0 0 -1 0.866 8 6 1 0 +2438 0 1 0 18.5037 9.52821 30.002 0 0 -1 0.866 8 6 1 0 +2439 0 1 0 19.0038 8.66201 30.002 0 0 -1 0.866 8 6 1 0 +2440 0 1 0 19.5039 9.52821 30.002 0 0 -1 0.866 8 6 1 0 +2441 0 1 0 20.004 8.66201 30.002 0 0 -1 0.866 8 6 1 0 +2442 0 1 0 20.5041 9.52821 30.002 0 0 -1 0.866 8 6 1 0 +2443 0 1 0 21.0042 8.66201 30.002 0 0 -1 0.866 8 6 1 0 +2444 0 1 0 21.5043 9.52821 30.002 0 0 -1 0.866 8 6 1 0 +2445 0 1 0 22.0045 8.66201 30.002 0 0 -1 0.866 8 6 1 0 +2446 0 1 0 22.5046 9.52821 30.002 0 0 -1 0.866 8 6 1 0 +2447 0 1 0 23.0047 8.66201 30.002 0 0 -1 0.866 8 6 1 0 +2448 0 1 0 23.5048 9.52821 30.002 0 0 -1 0.866 8 6 1 0 +2449 0 1 0 24.0049 8.66201 30.002 0 0 -1 0.866 8 6 1 0 +2450 0 1 0 24.505 9.52821 30.002 0 0 -1 0.866 8 6 1 0 +2451 0 1 0 25.0051 8.66201 30.002 0 0 -1 0.866 8 6 1 0 +2452 0 1 0 25.5052 9.52821 30.002 0 0 -1 0.866 8 6 1 0 +2453 0 1 0 26.0053 8.66201 30.002 0 0 -1 0.866 8 6 1 0 +2454 0 1 0 26.5054 9.52821 30.002 0 0 -1 0.866 8 6 1 0 +2455 0 1 0 27.0055 8.66201 30.002 0 0 -1 0.866 8 6 1 0 +2456 0 1 0 27.5056 9.52821 30.002 0 0 -1 0.866 8 6 1 0 +2457 0 1 0 28.0057 8.66201 30.002 0 0 -1 0.866 8 6 1 0 +2458 0 1 0 28.5058 9.52821 30.002 0 0 -1 0.866 8 6 1 0 +2459 0 1 0 29.0059 8.66201 30.002 0 0 -1 0.866 8 6 1 0 +2460 0 1 0 29.506 9.52821 30.002 0 0 -1 0.866 8 6 1 0 +2461 0 1 0 30.0061 8.66201 30.002 0 0 -1 0.866 8 6 1 0 +2462 0 1 0 30.5062 9.52821 30.002 0 0 -1 0.866 8 6 1 0 +2463 0 1 0 31.0063 8.66201 30.002 0 0 -1 0.866 8 6 1 0 +2464 0 1 0 31.5064 9.52821 30.002 0 0 -1 0.866 8 6 1 0 +2465 0 1 0 32.0065 8.66201 30.002 0 0 -1 0.866 8 6 1 0 +2466 0 1 0 32.5066 9.52821 30.002 0 0 -1 0.866 8 6 1 0 +2467 0 1 0 33.0067 8.66201 30.002 0 0 -1 0.866 8 6 1 0 +2468 0 1 0 33.5068 9.52821 30.002 0 0 -1 0.866 8 6 1 0 +2469 0 1 0 34.0069 8.66201 30.002 0 0 -1 0.866 8 6 1 0 +2470 0 1 0 34.507 9.52821 30.002 0 0 -1 0.866 8 6 1 0 +2471 0 1 0 35.0071 8.66201 30.002 0 0 -1 0.866 8 6 1 0 +2472 0 1 0 35.5072 9.52821 30.002 0 0 -1 0.866 8 6 1 0 +2473 0 1 0 36.0073 8.66201 30.002 0 0 -1 0.866 8 6 1 0 +2474 0 1 0 36.5074 9.52821 30.002 0 0 -1 0.866 8 6 1 0 +2475 0 1 0 37.0075 8.66201 30.002 0 0 -1 0.866 8 6 1 0 +2476 0 1 0 37.5076 9.52821 30.002 0 0 -1 0.866 8 6 1 0 +2477 0 1 0 38.0077 8.66201 30.002 0 0 -1 0.866 8 6 1 0 +2478 0 1 0 38.5078 9.52821 30.002 0 0 -1 0.866 8 6 1 0 +2479 0 1 0 39.0079 8.66201 30.002 0 0 -1 0.866 8 6 1 0 +2480 0 1 0 39.508 9.52821 30.002 0 0 -1 0.866 8 6 1 0 +2481 0 1 0 0 10.3944 30.002 0 0 -1 0.866 8 6 1 0 +2482 0 1 0 0.500101 11.2606 30.002 0 0 -1 0.866 8 6 1 0 +2483 0 1 0 1.0002 10.3944 30.002 0 0 -1 0.866 8 6 1 0 +2484 0 1 0 1.5003 11.2606 30.002 0 0 -1 0.866 8 6 1 0 +2485 0 1 0 2.0004 10.3944 30.002 0 0 -1 0.866 8 6 1 0 +2486 0 1 0 2.50051 11.2606 30.002 0 0 -1 0.866 8 6 1 0 +2487 0 1 0 3.00061 10.3944 30.002 0 0 -1 0.866 8 6 1 0 +2488 0 1 0 3.50071 11.2606 30.002 0 0 -1 0.866 8 6 1 0 +2489 0 1 0 4.00081 10.3944 30.002 0 0 -1 0.866 8 6 1 0 +2490 0 1 0 4.50091 11.2606 30.002 0 0 -1 0.866 8 6 1 0 +2491 0 1 0 5.00101 10.3944 30.002 0 0 -1 0.866 8 6 1 0 +2492 0 1 0 5.50111 11.2606 30.002 0 0 -1 0.866 8 6 1 0 +2493 0 1 0 6.00121 10.3944 30.002 0 0 -1 0.866 8 6 1 0 +2494 0 1 0 6.50132 11.2606 30.002 0 0 -1 0.866 8 6 1 0 +2495 0 1 0 7.00142 10.3944 30.002 0 0 -1 0.866 8 6 1 0 +2496 0 1 0 7.50152 11.2606 30.002 0 0 -1 0.866 8 6 1 0 +2497 0 1 0 8.00162 10.3944 30.002 0 0 -1 0.866 8 6 1 0 +2498 0 1 0 8.50172 11.2606 30.002 0 0 -1 0.866 8 6 1 0 +2499 0 1 0 9.00182 10.3944 30.002 0 0 -1 0.866 8 6 1 0 +2500 0 1 0 9.50192 11.2606 30.002 0 0 -1 0.866 8 6 1 0 +2501 0 1 0 10.002 10.3944 30.002 0 0 -1 0.866 8 6 1 0 +2502 0 1 0 10.5021 11.2606 30.002 0 0 -1 0.866 8 6 1 0 +2503 0 1 0 11.0022 10.3944 30.002 0 0 -1 0.866 8 6 1 0 +2504 0 1 0 11.5023 11.2606 30.002 0 0 -1 0.866 8 6 1 0 +2505 0 1 0 12.0024 10.3944 30.002 0 0 -1 0.866 8 6 1 0 +2506 0 1 0 12.5025 11.2606 30.002 0 0 -1 0.866 8 6 1 0 +2507 0 1 0 13.0026 10.3944 30.002 0 0 -1 0.866 8 6 1 0 +2508 0 1 0 13.5027 11.2606 30.002 0 0 -1 0.866 8 6 1 0 +2509 0 1 0 14.0028 10.3944 30.002 0 0 -1 0.866 8 6 1 0 +2510 0 1 0 14.5029 11.2606 30.002 0 0 -1 0.866 8 6 1 0 +2511 0 1 0 15.003 10.3944 30.002 0 0 -1 0.866 8 6 1 0 +2512 0 1 0 15.5031 11.2606 30.002 0 0 -1 0.866 8 6 1 0 +2513 0 1 0 16.0032 10.3944 30.002 0 0 -1 0.866 8 6 1 0 +2514 0 1 0 16.5033 11.2606 30.002 0 0 -1 0.866 8 6 1 0 +2515 0 1 0 17.0034 10.3944 30.002 0 0 -1 0.866 8 6 1 0 +2516 0 1 0 17.5035 11.2606 30.002 0 0 -1 0.866 8 6 1 0 +2517 0 1 0 18.0036 10.3944 30.002 0 0 -1 0.866 8 6 1 0 +2518 0 1 0 18.5037 11.2606 30.002 0 0 -1 0.866 8 6 1 0 +2519 0 1 0 19.0038 10.3944 30.002 0 0 -1 0.866 8 6 1 0 +2520 0 1 0 19.5039 11.2606 30.002 0 0 -1 0.866 8 6 1 0 +2521 0 1 0 20.004 10.3944 30.002 0 0 -1 0.866 8 6 1 0 +2522 0 1 0 20.5041 11.2606 30.002 0 0 -1 0.866 8 6 1 0 +2523 0 1 0 21.0042 10.3944 30.002 0 0 -1 0.866 8 6 1 0 +2524 0 1 0 21.5043 11.2606 30.002 0 0 -1 0.866 8 6 1 0 +2525 0 1 0 22.0045 10.3944 30.002 0 0 -1 0.866 8 6 1 0 +2526 0 1 0 22.5046 11.2606 30.002 0 0 -1 0.866 8 6 1 0 +2527 0 1 0 23.0047 10.3944 30.002 0 0 -1 0.866 8 6 1 0 +2528 0 1 0 23.5048 11.2606 30.002 0 0 -1 0.866 8 6 1 0 +2529 0 1 0 24.0049 10.3944 30.002 0 0 -1 0.866 8 6 1 0 +2530 0 1 0 24.505 11.2606 30.002 0 0 -1 0.866 8 6 1 0 +2531 0 1 0 25.0051 10.3944 30.002 0 0 -1 0.866 8 6 1 0 +2532 0 1 0 25.5052 11.2606 30.002 0 0 -1 0.866 8 6 1 0 +2533 0 1 0 26.0053 10.3944 30.002 0 0 -1 0.866 8 6 1 0 +2534 0 1 0 26.5054 11.2606 30.002 0 0 -1 0.866 8 6 1 0 +2535 0 1 0 27.0055 10.3944 30.002 0 0 -1 0.866 8 6 1 0 +2536 0 1 0 27.5056 11.2606 30.002 0 0 -1 0.866 8 6 1 0 +2537 0 1 0 28.0057 10.3944 30.002 0 0 -1 0.866 8 6 1 0 +2538 0 1 0 28.5058 11.2606 30.002 0 0 -1 0.866 8 6 1 0 +2539 0 1 0 29.0059 10.3944 30.002 0 0 -1 0.866 8 6 1 0 +2540 0 1 0 29.506 11.2606 30.002 0 0 -1 0.866 8 6 1 0 +2541 0 1 0 30.0061 10.3944 30.002 0 0 -1 0.866 8 6 1 0 +2542 0 1 0 30.5062 11.2606 30.002 0 0 -1 0.866 8 6 1 0 +2543 0 1 0 31.0063 10.3944 30.002 0 0 -1 0.866 8 6 1 0 +2544 0 1 0 31.5064 11.2606 30.002 0 0 -1 0.866 8 6 1 0 +2545 0 1 0 32.0065 10.3944 30.002 0 0 -1 0.866 8 6 1 0 +2546 0 1 0 32.5066 11.2606 30.002 0 0 -1 0.866 8 6 1 0 +2547 0 1 0 33.0067 10.3944 30.002 0 0 -1 0.866 8 6 1 0 +2548 0 1 0 33.5068 11.2606 30.002 0 0 -1 0.866 8 6 1 0 +2549 0 1 0 34.0069 10.3944 30.002 0 0 -1 0.866 8 6 1 0 +2550 0 1 0 34.507 11.2606 30.002 0 0 -1 0.866 8 6 1 0 +2551 0 1 0 35.0071 10.3944 30.002 0 0 -1 0.866 8 6 1 0 +2552 0 1 0 35.5072 11.2606 30.002 0 0 -1 0.866 8 6 1 0 +2553 0 1 0 36.0073 10.3944 30.002 0 0 -1 0.866 8 6 1 0 +2554 0 1 0 36.5074 11.2606 30.002 0 0 -1 0.866 8 6 1 0 +2555 0 1 0 37.0075 10.3944 30.002 0 0 -1 0.866 8 6 1 0 +2556 0 1 0 37.5076 11.2606 30.002 0 0 -1 0.866 8 6 1 0 +2557 0 1 0 38.0077 10.3944 30.002 0 0 -1 0.866 8 6 1 0 +2558 0 1 0 38.5078 11.2606 30.002 0 0 -1 0.866 8 6 1 0 +2559 0 1 0 39.0079 10.3944 30.002 0 0 -1 0.866 8 6 1 0 +2560 0 1 0 39.508 11.2606 30.002 0 0 -1 0.866 8 6 1 0 +2561 0 1 0 0 12.1268 30.002 0 0 -1 0.866 8 6 1 0 +2562 0 1 0 0.500101 12.993 30.002 0 0 -1 0.866 8 6 1 0 +2563 0 1 0 1.0002 12.1268 30.002 0 0 -1 0.866 8 6 1 0 +2564 0 1 0 1.5003 12.993 30.002 0 0 -1 0.866 8 6 1 0 +2565 0 1 0 2.0004 12.1268 30.002 0 0 -1 0.866 8 6 1 0 +2566 0 1 0 2.50051 12.993 30.002 0 0 -1 0.866 8 6 1 0 +2567 0 1 0 3.00061 12.1268 30.002 0 0 -1 0.866 8 6 1 0 +2568 0 1 0 3.50071 12.993 30.002 0 0 -1 0.866 8 6 1 0 +2569 0 1 0 4.00081 12.1268 30.002 0 0 -1 0.866 8 6 1 0 +2570 0 1 0 4.50091 12.993 30.002 0 0 -1 0.866 8 6 1 0 +2571 0 1 0 5.00101 12.1268 30.002 0 0 -1 0.866 8 6 1 0 +2572 0 1 0 5.50111 12.993 30.002 0 0 -1 0.866 8 6 1 0 +2573 0 1 0 6.00121 12.1268 30.002 0 0 -1 0.866 8 6 1 0 +2574 0 1 0 6.50132 12.993 30.002 0 0 -1 0.866 8 6 1 0 +2575 0 1 0 7.00142 12.1268 30.002 0 0 -1 0.866 8 6 1 0 +2576 0 1 0 7.50152 12.993 30.002 0 0 -1 0.866 8 6 1 0 +2577 0 1 0 8.00162 12.1268 30.002 0 0 -1 0.866 8 6 1 0 +2578 0 1 0 8.50172 12.993 30.002 0 0 -1 0.866 8 6 1 0 +2579 0 1 0 9.00182 12.1268 30.002 0 0 -1 0.866 8 6 1 0 +2580 0 1 0 9.50192 12.993 30.002 0 0 -1 0.866 8 6 1 0 +2581 0 1 0 10.002 12.1268 30.002 0 0 -1 0.866 8 6 1 0 +2582 0 1 0 10.5021 12.993 30.002 0 0 -1 0.866 8 6 1 0 +2583 0 1 0 11.0022 12.1268 30.002 0 0 -1 0.866 8 6 1 0 +2584 0 1 0 11.5023 12.993 30.002 0 0 -1 0.866 8 6 1 0 +2585 0 1 0 12.0024 12.1268 30.002 0 0 -1 0.866 8 6 1 0 +2586 0 1 0 12.5025 12.993 30.002 0 0 -1 0.866 8 6 1 0 +2587 0 1 0 13.0026 12.1268 30.002 0 0 -1 0.866 8 6 1 0 +2588 0 1 0 13.5027 12.993 30.002 0 0 -1 0.866 8 6 1 0 +2589 0 1 0 14.0028 12.1268 30.002 0 0 -1 0.866 8 6 1 0 +2590 0 1 0 14.5029 12.993 30.002 0 0 -1 0.866 8 6 1 0 +2591 0 1 0 15.003 12.1268 30.002 0 0 -1 0.866 8 6 1 0 +2592 0 1 0 15.5031 12.993 30.002 0 0 -1 0.866 8 6 1 0 +2593 0 1 0 16.0032 12.1268 30.002 0 0 -1 0.866 8 6 1 0 +2594 0 1 0 16.5033 12.993 30.002 0 0 -1 0.866 8 6 1 0 +2595 0 1 0 17.0034 12.1268 30.002 0 0 -1 0.866 8 6 1 0 +2596 0 1 0 17.5035 12.993 30.002 0 0 -1 0.866 8 6 1 0 +2597 0 1 0 18.0036 12.1268 30.002 0 0 -1 0.866 8 6 1 0 +2598 0 1 0 18.5037 12.993 30.002 0 0 -1 0.866 8 6 1 0 +2599 0 1 0 19.0038 12.1268 30.002 0 0 -1 0.866 8 6 1 0 +2600 0 1 0 19.5039 12.993 30.002 0 0 -1 0.866 8 6 1 0 +2601 0 1 0 20.004 12.1268 30.002 0 0 -1 0.866 8 6 1 0 +2602 0 1 0 20.5041 12.993 30.002 0 0 -1 0.866 8 6 1 0 +2603 0 1 0 21.0042 12.1268 30.002 0 0 -1 0.866 8 6 1 0 +2604 0 1 0 21.5043 12.993 30.002 0 0 -1 0.866 8 6 1 0 +2605 0 1 0 22.0045 12.1268 30.002 0 0 -1 0.866 8 6 1 0 +2606 0 1 0 22.5046 12.993 30.002 0 0 -1 0.866 8 6 1 0 +2607 0 1 0 23.0047 12.1268 30.002 0 0 -1 0.866 8 6 1 0 +2608 0 1 0 23.5048 12.993 30.002 0 0 -1 0.866 8 6 1 0 +2609 0 1 0 24.0049 12.1268 30.002 0 0 -1 0.866 8 6 1 0 +2610 0 1 0 24.505 12.993 30.002 0 0 -1 0.866 8 6 1 0 +2611 0 1 0 25.0051 12.1268 30.002 0 0 -1 0.866 8 6 1 0 +2612 0 1 0 25.5052 12.993 30.002 0 0 -1 0.866 8 6 1 0 +2613 0 1 0 26.0053 12.1268 30.002 0 0 -1 0.866 8 6 1 0 +2614 0 1 0 26.5054 12.993 30.002 0 0 -1 0.866 8 6 1 0 +2615 0 1 0 27.0055 12.1268 30.002 0 0 -1 0.866 8 6 1 0 +2616 0 1 0 27.5056 12.993 30.002 0 0 -1 0.866 8 6 1 0 +2617 0 1 0 28.0057 12.1268 30.002 0 0 -1 0.866 8 6 1 0 +2618 0 1 0 28.5058 12.993 30.002 0 0 -1 0.866 8 6 1 0 +2619 0 1 0 29.0059 12.1268 30.002 0 0 -1 0.866 8 6 1 0 +2620 0 1 0 29.506 12.993 30.002 0 0 -1 0.866 8 6 1 0 +2621 0 1 0 30.0061 12.1268 30.002 0 0 -1 0.866 8 6 1 0 +2622 0 1 0 30.5062 12.993 30.002 0 0 -1 0.866 8 6 1 0 +2623 0 1 0 31.0063 12.1268 30.002 0 0 -1 0.866 8 6 1 0 +2624 0 1 0 31.5064 12.993 30.002 0 0 -1 0.866 8 6 1 0 +2625 0 1 0 32.0065 12.1268 30.002 0 0 -1 0.866 8 6 1 0 +2626 0 1 0 32.5066 12.993 30.002 0 0 -1 0.866 8 6 1 0 +2627 0 1 0 33.0067 12.1268 30.002 0 0 -1 0.866 8 6 1 0 +2628 0 1 0 33.5068 12.993 30.002 0 0 -1 0.866 8 6 1 0 +2629 0 1 0 34.0069 12.1268 30.002 0 0 -1 0.866 8 6 1 0 +2630 0 1 0 34.507 12.993 30.002 0 0 -1 0.866 8 6 1 0 +2631 0 1 0 35.0071 12.1268 30.002 0 0 -1 0.866 8 6 1 0 +2632 0 1 0 35.5072 12.993 30.002 0 0 -1 0.866 8 6 1 0 +2633 0 1 0 36.0073 12.1268 30.002 0 0 -1 0.866 8 6 1 0 +2634 0 1 0 36.5074 12.993 30.002 0 0 -1 0.866 8 6 1 0 +2635 0 1 0 37.0075 12.1268 30.002 0 0 -1 0.866 8 6 1 0 +2636 0 1 0 37.5076 12.993 30.002 0 0 -1 0.866 8 6 1 0 +2637 0 1 0 38.0077 12.1268 30.002 0 0 -1 0.866 8 6 1 0 +2638 0 1 0 38.5078 12.993 30.002 0 0 -1 0.866 8 6 1 0 +2639 0 1 0 39.0079 12.1268 30.002 0 0 -1 0.866 8 6 1 0 +2640 0 1 0 39.508 12.993 30.002 0 0 -1 0.866 8 6 1 0 +2641 0 1 0 0 13.8592 30.002 0 0 -1 0.866 8 6 1 0 +2642 0 1 0 0.500101 14.7254 30.002 0 0 -1 0.866 8 6 1 0 +2643 0 1 0 1.0002 13.8592 30.002 0 0 -1 0.866 8 6 1 0 +2644 0 1 0 1.5003 14.7254 30.002 0 0 -1 0.866 8 6 1 0 +2645 0 1 0 2.0004 13.8592 30.002 0 0 -1 0.866 8 6 1 0 +2646 0 1 0 2.50051 14.7254 30.002 0 0 -1 0.866 8 6 1 0 +2647 0 1 0 3.00061 13.8592 30.002 0 0 -1 0.866 8 6 1 0 +2648 0 1 0 3.50071 14.7254 30.002 0 0 -1 0.866 8 6 1 0 +2649 0 1 0 4.00081 13.8592 30.002 0 0 -1 0.866 8 6 1 0 +2650 0 1 0 4.50091 14.7254 30.002 0 0 -1 0.866 8 6 1 0 +2651 0 1 0 5.00101 13.8592 30.002 0 0 -1 0.866 8 6 1 0 +2652 0 1 0 5.50111 14.7254 30.002 0 0 -1 0.866 8 6 1 0 +2653 0 1 0 6.00121 13.8592 30.002 0 0 -1 0.866 8 6 1 0 +2654 0 1 0 6.50132 14.7254 30.002 0 0 -1 0.866 8 6 1 0 +2655 0 1 0 7.00142 13.8592 30.002 0 0 -1 0.866 8 6 1 0 +2656 0 1 0 7.50152 14.7254 30.002 0 0 -1 0.866 8 6 1 0 +2657 0 1 0 8.00162 13.8592 30.002 0 0 -1 0.866 8 6 1 0 +2658 0 1 0 8.50172 14.7254 30.002 0 0 -1 0.866 8 6 1 0 +2659 0 1 0 9.00182 13.8592 30.002 0 0 -1 0.866 8 6 1 0 +2660 0 1 0 9.50192 14.7254 30.002 0 0 -1 0.866 8 6 1 0 +2661 0 1 0 10.002 13.8592 30.002 0 0 -1 0.866 8 6 1 0 +2662 0 1 0 10.5021 14.7254 30.002 0 0 -1 0.866 8 6 1 0 +2663 0 1 0 11.0022 13.8592 30.002 0 0 -1 0.866 8 6 1 0 +2664 0 1 0 11.5023 14.7254 30.002 0 0 -1 0.866 8 6 1 0 +2665 0 1 0 12.0024 13.8592 30.002 0 0 -1 0.866 8 6 1 0 +2666 0 1 0 12.5025 14.7254 30.002 0 0 -1 0.866 8 6 1 0 +2667 0 1 0 13.0026 13.8592 30.002 0 0 -1 0.866 8 6 1 0 +2668 0 1 0 13.5027 14.7254 30.002 0 0 -1 0.866 8 6 1 0 +2669 0 1 0 14.0028 13.8592 30.002 0 0 -1 0.866 8 6 1 0 +2670 0 1 0 14.5029 14.7254 30.002 0 0 -1 0.866 8 6 1 0 +2671 0 1 0 15.003 13.8592 30.002 0 0 -1 0.866 8 6 1 0 +2672 0 1 0 15.5031 14.7254 30.002 0 0 -1 0.866 8 6 1 0 +2673 0 1 0 16.0032 13.8592 30.002 0 0 -1 0.866 8 6 1 0 +2674 0 1 0 16.5033 14.7254 30.002 0 0 -1 0.866 8 6 1 0 +2675 0 1 0 17.0034 13.8592 30.002 0 0 -1 0.866 8 6 1 0 +2676 0 1 0 17.5035 14.7254 30.002 0 0 -1 0.866 8 6 1 0 +2677 0 1 0 18.0036 13.8592 30.002 0 0 -1 0.866 8 6 1 0 +2678 0 1 0 18.5037 14.7254 30.002 0 0 -1 0.866 8 6 1 0 +2679 0 1 0 19.0038 13.8592 30.002 0 0 -1 0.866 8 6 1 0 +2680 0 1 0 19.5039 14.7254 30.002 0 0 -1 0.866 8 6 1 0 +2681 0 1 0 20.004 13.8592 30.002 0 0 -1 0.866 8 6 1 0 +2682 0 1 0 20.5041 14.7254 30.002 0 0 -1 0.866 8 6 1 0 +2683 0 1 0 21.0042 13.8592 30.002 0 0 -1 0.866 8 6 1 0 +2684 0 1 0 21.5043 14.7254 30.002 0 0 -1 0.866 8 6 1 0 +2685 0 1 0 22.0045 13.8592 30.002 0 0 -1 0.866 8 6 1 0 +2686 0 1 0 22.5046 14.7254 30.002 0 0 -1 0.866 8 6 1 0 +2687 0 1 0 23.0047 13.8592 30.002 0 0 -1 0.866 8 6 1 0 +2688 0 1 0 23.5048 14.7254 30.002 0 0 -1 0.866 8 6 1 0 +2689 0 1 0 24.0049 13.8592 30.002 0 0 -1 0.866 8 6 1 0 +2690 0 1 0 24.505 14.7254 30.002 0 0 -1 0.866 8 6 1 0 +2691 0 1 0 25.0051 13.8592 30.002 0 0 -1 0.866 8 6 1 0 +2692 0 1 0 25.5052 14.7254 30.002 0 0 -1 0.866 8 6 1 0 +2693 0 1 0 26.0053 13.8592 30.002 0 0 -1 0.866 8 6 1 0 +2694 0 1 0 26.5054 14.7254 30.002 0 0 -1 0.866 8 6 1 0 +2695 0 1 0 27.0055 13.8592 30.002 0 0 -1 0.866 8 6 1 0 +2696 0 1 0 27.5056 14.7254 30.002 0 0 -1 0.866 8 6 1 0 +2697 0 1 0 28.0057 13.8592 30.002 0 0 -1 0.866 8 6 1 0 +2698 0 1 0 28.5058 14.7254 30.002 0 0 -1 0.866 8 6 1 0 +2699 0 1 0 29.0059 13.8592 30.002 0 0 -1 0.866 8 6 1 0 +2700 0 1 0 29.506 14.7254 30.002 0 0 -1 0.866 8 6 1 0 +2701 0 1 0 30.0061 13.8592 30.002 0 0 -1 0.866 8 6 1 0 +2702 0 1 0 30.5062 14.7254 30.002 0 0 -1 0.866 8 6 1 0 +2703 0 1 0 31.0063 13.8592 30.002 0 0 -1 0.866 8 6 1 0 +2704 0 1 0 31.5064 14.7254 30.002 0 0 -1 0.866 8 6 1 0 +2705 0 1 0 32.0065 13.8592 30.002 0 0 -1 0.866 8 6 1 0 +2706 0 1 0 32.5066 14.7254 30.002 0 0 -1 0.866 8 6 1 0 +2707 0 1 0 33.0067 13.8592 30.002 0 0 -1 0.866 8 6 1 0 +2708 0 1 0 33.5068 14.7254 30.002 0 0 -1 0.866 8 6 1 0 +2709 0 1 0 34.0069 13.8592 30.002 0 0 -1 0.866 8 6 1 0 +2710 0 1 0 34.507 14.7254 30.002 0 0 -1 0.866 8 6 1 0 +2711 0 1 0 35.0071 13.8592 30.002 0 0 -1 0.866 8 6 1 0 +2712 0 1 0 35.5072 14.7254 30.002 0 0 -1 0.866 8 6 1 0 +2713 0 1 0 36.0073 13.8592 30.002 0 0 -1 0.866 8 6 1 0 +2714 0 1 0 36.5074 14.7254 30.002 0 0 -1 0.866 8 6 1 0 +2715 0 1 0 37.0075 13.8592 30.002 0 0 -1 0.866 8 6 1 0 +2716 0 1 0 37.5076 14.7254 30.002 0 0 -1 0.866 8 6 1 0 +2717 0 1 0 38.0077 13.8592 30.002 0 0 -1 0.866 8 6 1 0 +2718 0 1 0 38.5078 14.7254 30.002 0 0 -1 0.866 8 6 1 0 +2719 0 1 0 39.0079 13.8592 30.002 0 0 -1 0.866 8 6 1 0 +2720 0 1 0 39.508 14.7254 30.002 0 0 -1 0.866 8 6 1 0 +2721 0 1 0 0 15.5916 30.002 0 0 -1 0.866 8 6 1 0 +2722 0 1 0 0.500101 16.4578 30.002 0 0 -1 0.866 8 6 1 0 +2723 0 1 0 1.0002 15.5916 30.002 0 0 -1 0.866 8 6 1 0 +2724 0 1 0 1.5003 16.4578 30.002 0 0 -1 0.866 8 6 1 0 +2725 0 1 0 2.0004 15.5916 30.002 0 0 -1 0.866 8 6 1 0 +2726 0 1 0 2.50051 16.4578 30.002 0 0 -1 0.866 8 6 1 0 +2727 0 1 0 3.00061 15.5916 30.002 0 0 -1 0.866 8 6 1 0 +2728 0 1 0 3.50071 16.4578 30.002 0 0 -1 0.866 8 6 1 0 +2729 0 1 0 4.00081 15.5916 30.002 0 0 -1 0.866 8 6 1 0 +2730 0 1 0 4.50091 16.4578 30.002 0 0 -1 0.866 8 6 1 0 +2731 0 1 0 5.00101 15.5916 30.002 0 0 -1 0.866 8 6 1 0 +2732 0 1 0 5.50111 16.4578 30.002 0 0 -1 0.866 8 6 1 0 +2733 0 1 0 6.00121 15.5916 30.002 0 0 -1 0.866 8 6 1 0 +2734 0 1 0 6.50132 16.4578 30.002 0 0 -1 0.866 8 6 1 0 +2735 0 1 0 7.00142 15.5916 30.002 0 0 -1 0.866 8 6 1 0 +2736 0 1 0 7.50152 16.4578 30.002 0 0 -1 0.866 8 6 1 0 +2737 0 1 0 8.00162 15.5916 30.002 0 0 -1 0.866 8 6 1 0 +2738 0 1 0 8.50172 16.4578 30.002 0 0 -1 0.866 8 6 1 0 +2739 0 1 0 9.00182 15.5916 30.002 0 0 -1 0.866 8 6 1 0 +2740 0 1 0 9.50192 16.4578 30.002 0 0 -1 0.866 8 6 1 0 +2741 0 1 0 10.002 15.5916 30.002 0 0 -1 0.866 8 6 1 0 +2742 0 1 0 10.5021 16.4578 30.002 0 0 -1 0.866 8 6 1 0 +2743 0 1 0 11.0022 15.5916 30.002 0 0 -1 0.866 8 6 1 0 +2744 0 1 0 11.5023 16.4578 30.002 0 0 -1 0.866 8 6 1 0 +2745 0 1 0 12.0024 15.5916 30.002 0 0 -1 0.866 8 6 1 0 +2746 0 1 0 12.5025 16.4578 30.002 0 0 -1 0.866 8 6 1 0 +2747 0 1 0 13.0026 15.5916 30.002 0 0 -1 0.866 8 6 1 0 +2748 0 1 0 13.5027 16.4578 30.002 0 0 -1 0.866 8 6 1 0 +2749 0 1 0 14.0028 15.5916 30.002 0 0 -1 0.866 8 6 1 0 +2750 0 1 0 14.5029 16.4578 30.002 0 0 -1 0.866 8 6 1 0 +2751 0 1 0 15.003 15.5916 30.002 0 0 -1 0.866 8 6 1 0 +2752 0 1 0 15.5031 16.4578 30.002 0 0 -1 0.866 8 6 1 0 +2753 0 1 0 16.0032 15.5916 30.002 0 0 -1 0.866 8 6 1 0 +2754 0 1 0 16.5033 16.4578 30.002 0 0 -1 0.866 8 6 1 0 +2755 0 1 0 17.0034 15.5916 30.002 0 0 -1 0.866 8 6 1 0 +2756 0 1 0 17.5035 16.4578 30.002 0 0 -1 0.866 8 6 1 0 +2757 0 1 0 18.0036 15.5916 30.002 0 0 -1 0.866 8 6 1 0 +2758 0 1 0 18.5037 16.4578 30.002 0 0 -1 0.866 8 6 1 0 +2759 0 1 0 19.0038 15.5916 30.002 0 0 -1 0.866 8 6 1 0 +2760 0 1 0 19.5039 16.4578 30.002 0 0 -1 0.866 8 6 1 0 +2761 0 1 0 20.004 15.5916 30.002 0 0 -1 0.866 8 6 1 0 +2762 0 1 0 20.5041 16.4578 30.002 0 0 -1 0.866 8 6 1 0 +2763 0 1 0 21.0042 15.5916 30.002 0 0 -1 0.866 8 6 1 0 +2764 0 1 0 21.5043 16.4578 30.002 0 0 -1 0.866 8 6 1 0 +2765 0 1 0 22.0045 15.5916 30.002 0 0 -1 0.866 8 6 1 0 +2766 0 1 0 22.5046 16.4578 30.002 0 0 -1 0.866 8 6 1 0 +2767 0 1 0 23.0047 15.5916 30.002 0 0 -1 0.866 8 6 1 0 +2768 0 1 0 23.5048 16.4578 30.002 0 0 -1 0.866 8 6 1 0 +2769 0 1 0 24.0049 15.5916 30.002 0 0 -1 0.866 8 6 1 0 +2770 0 1 0 24.505 16.4578 30.002 0 0 -1 0.866 8 6 1 0 +2771 0 1 0 25.0051 15.5916 30.002 0 0 -1 0.866 8 6 1 0 +2772 0 1 0 25.5052 16.4578 30.002 0 0 -1 0.866 8 6 1 0 +2773 0 1 0 26.0053 15.5916 30.002 0 0 -1 0.866 8 6 1 0 +2774 0 1 0 26.5054 16.4578 30.002 0 0 -1 0.866 8 6 1 0 +2775 0 1 0 27.0055 15.5916 30.002 0 0 -1 0.866 8 6 1 0 +2776 0 1 0 27.5056 16.4578 30.002 0 0 -1 0.866 8 6 1 0 +2777 0 1 0 28.0057 15.5916 30.002 0 0 -1 0.866 8 6 1 0 +2778 0 1 0 28.5058 16.4578 30.002 0 0 -1 0.866 8 6 1 0 +2779 0 1 0 29.0059 15.5916 30.002 0 0 -1 0.866 8 6 1 0 +2780 0 1 0 29.506 16.4578 30.002 0 0 -1 0.866 8 6 1 0 +2781 0 1 0 30.0061 15.5916 30.002 0 0 -1 0.866 8 6 1 0 +2782 0 1 0 30.5062 16.4578 30.002 0 0 -1 0.866 8 6 1 0 +2783 0 1 0 31.0063 15.5916 30.002 0 0 -1 0.866 8 6 1 0 +2784 0 1 0 31.5064 16.4578 30.002 0 0 -1 0.866 8 6 1 0 +2785 0 1 0 32.0065 15.5916 30.002 0 0 -1 0.866 8 6 1 0 +2786 0 1 0 32.5066 16.4578 30.002 0 0 -1 0.866 8 6 1 0 +2787 0 1 0 33.0067 15.5916 30.002 0 0 -1 0.866 8 6 1 0 +2788 0 1 0 33.5068 16.4578 30.002 0 0 -1 0.866 8 6 1 0 +2789 0 1 0 34.0069 15.5916 30.002 0 0 -1 0.866 8 6 1 0 +2790 0 1 0 34.507 16.4578 30.002 0 0 -1 0.866 8 6 1 0 +2791 0 1 0 35.0071 15.5916 30.002 0 0 -1 0.866 8 6 1 0 +2792 0 1 0 35.5072 16.4578 30.002 0 0 -1 0.866 8 6 1 0 +2793 0 1 0 36.0073 15.5916 30.002 0 0 -1 0.866 8 6 1 0 +2794 0 1 0 36.5074 16.4578 30.002 0 0 -1 0.866 8 6 1 0 +2795 0 1 0 37.0075 15.5916 30.002 0 0 -1 0.866 8 6 1 0 +2796 0 1 0 37.5076 16.4578 30.002 0 0 -1 0.866 8 6 1 0 +2797 0 1 0 38.0077 15.5916 30.002 0 0 -1 0.866 8 6 1 0 +2798 0 1 0 38.5078 16.4578 30.002 0 0 -1 0.866 8 6 1 0 +2799 0 1 0 39.0079 15.5916 30.002 0 0 -1 0.866 8 6 1 0 +2800 0 1 0 39.508 16.4578 30.002 0 0 -1 0.866 8 6 1 0 +2801 0 1 0 0 17.324 30.002 0 0 -1 0.866 8 6 1 0 +2802 0 1 0 0.500101 18.1902 30.002 0 0 -1 0.866 8 6 1 0 +2803 0 1 0 1.0002 17.324 30.002 0 0 -1 0.866 8 6 1 0 +2804 0 1 0 1.5003 18.1902 30.002 0 0 -1 0.866 8 6 1 0 +2805 0 1 0 2.0004 17.324 30.002 0 0 -1 0.866 8 6 1 0 +2806 0 1 0 2.50051 18.1902 30.002 0 0 -1 0.866 8 6 1 0 +2807 0 1 0 3.00061 17.324 30.002 0 0 -1 0.866 8 6 1 0 +2808 0 1 0 3.50071 18.1902 30.002 0 0 -1 0.866 8 6 1 0 +2809 0 1 0 4.00081 17.324 30.002 0 0 -1 0.866 8 6 1 0 +2810 0 1 0 4.50091 18.1902 30.002 0 0 -1 0.866 8 6 1 0 +2811 0 1 0 5.00101 17.324 30.002 0 0 -1 0.866 8 6 1 0 +2812 0 1 0 5.50111 18.1902 30.002 0 0 -1 0.866 8 6 1 0 +2813 0 1 0 6.00121 17.324 30.002 0 0 -1 0.866 8 6 1 0 +2814 0 1 0 6.50132 18.1902 30.002 0 0 -1 0.866 8 6 1 0 +2815 0 1 0 7.00142 17.324 30.002 0 0 -1 0.866 8 6 1 0 +2816 0 1 0 7.50152 18.1902 30.002 0 0 -1 0.866 8 6 1 0 +2817 0 1 0 8.00162 17.324 30.002 0 0 -1 0.866 8 6 1 0 +2818 0 1 0 8.50172 18.1902 30.002 0 0 -1 0.866 8 6 1 0 +2819 0 1 0 9.00182 17.324 30.002 0 0 -1 0.866 8 6 1 0 +2820 0 1 0 9.50192 18.1902 30.002 0 0 -1 0.866 8 6 1 0 +2821 0 1 0 10.002 17.324 30.002 0 0 -1 0.866 8 6 1 0 +2822 0 1 0 10.5021 18.1902 30.002 0 0 -1 0.866 8 6 1 0 +2823 0 1 0 11.0022 17.324 30.002 0 0 -1 0.866 8 6 1 0 +2824 0 1 0 11.5023 18.1902 30.002 0 0 -1 0.866 8 6 1 0 +2825 0 1 0 12.0024 17.324 30.002 0 0 -1 0.866 8 6 1 0 +2826 0 1 0 12.5025 18.1902 30.002 0 0 -1 0.866 8 6 1 0 +2827 0 1 0 13.0026 17.324 30.002 0 0 -1 0.866 8 6 1 0 +2828 0 1 0 13.5027 18.1902 30.002 0 0 -1 0.866 8 6 1 0 +2829 0 1 0 14.0028 17.324 30.002 0 0 -1 0.866 8 6 1 0 +2830 0 1 0 14.5029 18.1902 30.002 0 0 -1 0.866 8 6 1 0 +2831 0 1 0 15.003 17.324 30.002 0 0 -1 0.866 8 6 1 0 +2832 0 1 0 15.5031 18.1902 30.002 0 0 -1 0.866 8 6 1 0 +2833 0 1 0 16.0032 17.324 30.002 0 0 -1 0.866 8 6 1 0 +2834 0 1 0 16.5033 18.1902 30.002 0 0 -1 0.866 8 6 1 0 +2835 0 1 0 17.0034 17.324 30.002 0 0 -1 0.866 8 6 1 0 +2836 0 1 0 17.5035 18.1902 30.002 0 0 -1 0.866 8 6 1 0 +2837 0 1 0 18.0036 17.324 30.002 0 0 -1 0.866 8 6 1 0 +2838 0 1 0 18.5037 18.1902 30.002 0 0 -1 0.866 8 6 1 0 +2839 0 1 0 19.0038 17.324 30.002 0 0 -1 0.866 8 6 1 0 +2840 0 1 0 19.5039 18.1902 30.002 0 0 -1 0.866 8 6 1 0 +2841 0 1 0 20.004 17.324 30.002 0 0 -1 0.866 8 6 1 0 +2842 0 1 0 20.5041 18.1902 30.002 0 0 -1 0.866 8 6 1 0 +2843 0 1 0 21.0042 17.324 30.002 0 0 -1 0.866 8 6 1 0 +2844 0 1 0 21.5043 18.1902 30.002 0 0 -1 0.866 8 6 1 0 +2845 0 1 0 22.0045 17.324 30.002 0 0 -1 0.866 8 6 1 0 +2846 0 1 0 22.5046 18.1902 30.002 0 0 -1 0.866 8 6 1 0 +2847 0 1 0 23.0047 17.324 30.002 0 0 -1 0.866 8 6 1 0 +2848 0 1 0 23.5048 18.1902 30.002 0 0 -1 0.866 8 6 1 0 +2849 0 1 0 24.0049 17.324 30.002 0 0 -1 0.866 8 6 1 0 +2850 0 1 0 24.505 18.1902 30.002 0 0 -1 0.866 8 6 1 0 +2851 0 1 0 25.0051 17.324 30.002 0 0 -1 0.866 8 6 1 0 +2852 0 1 0 25.5052 18.1902 30.002 0 0 -1 0.866 8 6 1 0 +2853 0 1 0 26.0053 17.324 30.002 0 0 -1 0.866 8 6 1 0 +2854 0 1 0 26.5054 18.1902 30.002 0 0 -1 0.866 8 6 1 0 +2855 0 1 0 27.0055 17.324 30.002 0 0 -1 0.866 8 6 1 0 +2856 0 1 0 27.5056 18.1902 30.002 0 0 -1 0.866 8 6 1 0 +2857 0 1 0 28.0057 17.324 30.002 0 0 -1 0.866 8 6 1 0 +2858 0 1 0 28.5058 18.1902 30.002 0 0 -1 0.866 8 6 1 0 +2859 0 1 0 29.0059 17.324 30.002 0 0 -1 0.866 8 6 1 0 +2860 0 1 0 29.506 18.1902 30.002 0 0 -1 0.866 8 6 1 0 +2861 0 1 0 30.0061 17.324 30.002 0 0 -1 0.866 8 6 1 0 +2862 0 1 0 30.5062 18.1902 30.002 0 0 -1 0.866 8 6 1 0 +2863 0 1 0 31.0063 17.324 30.002 0 0 -1 0.866 8 6 1 0 +2864 0 1 0 31.5064 18.1902 30.002 0 0 -1 0.866 8 6 1 0 +2865 0 1 0 32.0065 17.324 30.002 0 0 -1 0.866 8 6 1 0 +2866 0 1 0 32.5066 18.1902 30.002 0 0 -1 0.866 8 6 1 0 +2867 0 1 0 33.0067 17.324 30.002 0 0 -1 0.866 8 6 1 0 +2868 0 1 0 33.5068 18.1902 30.002 0 0 -1 0.866 8 6 1 0 +2869 0 1 0 34.0069 17.324 30.002 0 0 -1 0.866 8 6 1 0 +2870 0 1 0 34.507 18.1902 30.002 0 0 -1 0.866 8 6 1 0 +2871 0 1 0 35.0071 17.324 30.002 0 0 -1 0.866 8 6 1 0 +2872 0 1 0 35.5072 18.1902 30.002 0 0 -1 0.866 8 6 1 0 +2873 0 1 0 36.0073 17.324 30.002 0 0 -1 0.866 8 6 1 0 +2874 0 1 0 36.5074 18.1902 30.002 0 0 -1 0.866 8 6 1 0 +2875 0 1 0 37.0075 17.324 30.002 0 0 -1 0.866 8 6 1 0 +2876 0 1 0 37.5076 18.1902 30.002 0 0 -1 0.866 8 6 1 0 +2877 0 1 0 38.0077 17.324 30.002 0 0 -1 0.866 8 6 1 0 +2878 0 1 0 38.5078 18.1902 30.002 0 0 -1 0.866 8 6 1 0 +2879 0 1 0 39.0079 17.324 30.002 0 0 -1 0.866 8 6 1 0 +2880 0 1 0 39.508 18.1902 30.002 0 0 -1 0.866 8 6 1 0 +2881 0 1 0 0 19.0564 30.002 0 0 -1 0.866 8 6 1 0 +2882 0 1 0 0.500101 19.9226 30.002 0 0 -1 0.866 8 6 1 0 +2883 0 1 0 1.0002 19.0564 30.002 0 0 -1 0.866 8 6 1 0 +2884 0 1 0 1.5003 19.9226 30.002 0 0 -1 0.866 8 6 1 0 +2885 0 1 0 2.0004 19.0564 30.002 0 0 -1 0.866 8 6 1 0 +2886 0 1 0 2.50051 19.9226 30.002 0 0 -1 0.866 8 6 1 0 +2887 0 1 0 3.00061 19.0564 30.002 0 0 -1 0.866 8 6 1 0 +2888 0 1 0 3.50071 19.9226 30.002 0 0 -1 0.866 8 6 1 0 +2889 0 1 0 4.00081 19.0564 30.002 0 0 -1 0.866 8 6 1 0 +2890 0 1 0 4.50091 19.9226 30.002 0 0 -1 0.866 8 6 1 0 +2891 0 1 0 5.00101 19.0564 30.002 0 0 -1 0.866 8 6 1 0 +2892 0 1 0 5.50111 19.9226 30.002 0 0 -1 0.866 8 6 1 0 +2893 0 1 0 6.00121 19.0564 30.002 0 0 -1 0.866 8 6 1 0 +2894 0 1 0 6.50132 19.9226 30.002 0 0 -1 0.866 8 6 1 0 +2895 0 1 0 7.00142 19.0564 30.002 0 0 -1 0.866 8 6 1 0 +2896 0 1 0 7.50152 19.9226 30.002 0 0 -1 0.866 8 6 1 0 +2897 0 1 0 8.00162 19.0564 30.002 0 0 -1 0.866 8 6 1 0 +2898 0 1 0 8.50172 19.9226 30.002 0 0 -1 0.866 8 6 1 0 +2899 0 1 0 9.00182 19.0564 30.002 0 0 -1 0.866 8 6 1 0 +2900 0 1 0 9.50192 19.9226 30.002 0 0 -1 0.866 8 6 1 0 +2901 0 1 0 10.002 19.0564 30.002 0 0 -1 0.866 8 6 1 0 +2902 0 1 0 10.5021 19.9226 30.002 0 0 -1 0.866 8 6 1 0 +2903 0 1 0 11.0022 19.0564 30.002 0 0 -1 0.866 8 6 1 0 +2904 0 1 0 11.5023 19.9226 30.002 0 0 -1 0.866 8 6 1 0 +2905 0 1 0 12.0024 19.0564 30.002 0 0 -1 0.866 8 6 1 0 +2906 0 1 0 12.5025 19.9226 30.002 0 0 -1 0.866 8 6 1 0 +2907 0 1 0 13.0026 19.0564 30.002 0 0 -1 0.866 8 6 1 0 +2908 0 1 0 13.5027 19.9226 30.002 0 0 -1 0.866 8 6 1 0 +2909 0 1 0 14.0028 19.0564 30.002 0 0 -1 0.866 8 6 1 0 +2910 0 1 0 14.5029 19.9226 30.002 0 0 -1 0.866 8 6 1 0 +2911 0 1 0 15.003 19.0564 30.002 0 0 -1 0.866 8 6 1 0 +2912 0 1 0 15.5031 19.9226 30.002 0 0 -1 0.866 8 6 1 0 +2913 0 1 0 16.0032 19.0564 30.002 0 0 -1 0.866 8 6 1 0 +2914 0 1 0 16.5033 19.9226 30.002 0 0 -1 0.866 8 6 1 0 +2915 0 1 0 17.0034 19.0564 30.002 0 0 -1 0.866 8 6 1 0 +2916 0 1 0 17.5035 19.9226 30.002 0 0 -1 0.866 8 6 1 0 +2917 0 1 0 18.0036 19.0564 30.002 0 0 -1 0.866 8 6 1 0 +2918 0 1 0 18.5037 19.9226 30.002 0 0 -1 0.866 8 6 1 0 +2919 0 1 0 19.0038 19.0564 30.002 0 0 -1 0.866 8 6 1 0 +2920 0 1 0 19.5039 19.9226 30.002 0 0 -1 0.866 8 6 1 0 +2921 0 1 0 20.004 19.0564 30.002 0 0 -1 0.866 8 6 1 0 +2922 0 1 0 20.5041 19.9226 30.002 0 0 -1 0.866 8 6 1 0 +2923 0 1 0 21.0042 19.0564 30.002 0 0 -1 0.866 8 6 1 0 +2924 0 1 0 21.5043 19.9226 30.002 0 0 -1 0.866 8 6 1 0 +2925 0 1 0 22.0045 19.0564 30.002 0 0 -1 0.866 8 6 1 0 +2926 0 1 0 22.5046 19.9226 30.002 0 0 -1 0.866 8 6 1 0 +2927 0 1 0 23.0047 19.0564 30.002 0 0 -1 0.866 8 6 1 0 +2928 0 1 0 23.5048 19.9226 30.002 0 0 -1 0.866 8 6 1 0 +2929 0 1 0 24.0049 19.0564 30.002 0 0 -1 0.866 8 6 1 0 +2930 0 1 0 24.505 19.9226 30.002 0 0 -1 0.866 8 6 1 0 +2931 0 1 0 25.0051 19.0564 30.002 0 0 -1 0.866 8 6 1 0 +2932 0 1 0 25.5052 19.9226 30.002 0 0 -1 0.866 8 6 1 0 +2933 0 1 0 26.0053 19.0564 30.002 0 0 -1 0.866 8 6 1 0 +2934 0 1 0 26.5054 19.9226 30.002 0 0 -1 0.866 8 6 1 0 +2935 0 1 0 27.0055 19.0564 30.002 0 0 -1 0.866 8 6 1 0 +2936 0 1 0 27.5056 19.9226 30.002 0 0 -1 0.866 8 6 1 0 +2937 0 1 0 28.0057 19.0564 30.002 0 0 -1 0.866 8 6 1 0 +2938 0 1 0 28.5058 19.9226 30.002 0 0 -1 0.866 8 6 1 0 +2939 0 1 0 29.0059 19.0564 30.002 0 0 -1 0.866 8 6 1 0 +2940 0 1 0 29.506 19.9226 30.002 0 0 -1 0.866 8 6 1 0 +2941 0 1 0 30.0061 19.0564 30.002 0 0 -1 0.866 8 6 1 0 +2942 0 1 0 30.5062 19.9226 30.002 0 0 -1 0.866 8 6 1 0 +2943 0 1 0 31.0063 19.0564 30.002 0 0 -1 0.866 8 6 1 0 +2944 0 1 0 31.5064 19.9226 30.002 0 0 -1 0.866 8 6 1 0 +2945 0 1 0 32.0065 19.0564 30.002 0 0 -1 0.866 8 6 1 0 +2946 0 1 0 32.5066 19.9226 30.002 0 0 -1 0.866 8 6 1 0 +2947 0 1 0 33.0067 19.0564 30.002 0 0 -1 0.866 8 6 1 0 +2948 0 1 0 33.5068 19.9226 30.002 0 0 -1 0.866 8 6 1 0 +2949 0 1 0 34.0069 19.0564 30.002 0 0 -1 0.866 8 6 1 0 +2950 0 1 0 34.507 19.9226 30.002 0 0 -1 0.866 8 6 1 0 +2951 0 1 0 35.0071 19.0564 30.002 0 0 -1 0.866 8 6 1 0 +2952 0 1 0 35.5072 19.9226 30.002 0 0 -1 0.866 8 6 1 0 +2953 0 1 0 36.0073 19.0564 30.002 0 0 -1 0.866 8 6 1 0 +2954 0 1 0 36.5074 19.9226 30.002 0 0 -1 0.866 8 6 1 0 +2955 0 1 0 37.0075 19.0564 30.002 0 0 -1 0.866 8 6 1 0 +2956 0 1 0 37.5076 19.9226 30.002 0 0 -1 0.866 8 6 1 0 +2957 0 1 0 38.0077 19.0564 30.002 0 0 -1 0.866 8 6 1 0 +2958 0 1 0 38.5078 19.9226 30.002 0 0 -1 0.866 8 6 1 0 +2959 0 1 0 39.0079 19.0564 30.002 0 0 -1 0.866 8 6 1 0 +2960 0 1 0 39.508 19.9226 30.002 0 0 -1 0.866 8 6 1 0 +2961 0 1 0 0 20.7888 30.002 0 0 -1 0.866 8 6 1 0 +2962 0 1 0 0.500101 21.655 30.002 0 0 -1 0.866 8 6 1 0 +2963 0 1 0 1.0002 20.7888 30.002 0 0 -1 0.866 8 6 1 0 +2964 0 1 0 1.5003 21.655 30.002 0 0 -1 0.866 8 6 1 0 +2965 0 1 0 2.0004 20.7888 30.002 0 0 -1 0.866 8 6 1 0 +2966 0 1 0 2.50051 21.655 30.002 0 0 -1 0.866 8 6 1 0 +2967 0 1 0 3.00061 20.7888 30.002 0 0 -1 0.866 8 6 1 0 +2968 0 1 0 3.50071 21.655 30.002 0 0 -1 0.866 8 6 1 0 +2969 0 1 0 4.00081 20.7888 30.002 0 0 -1 0.866 8 6 1 0 +2970 0 1 0 4.50091 21.655 30.002 0 0 -1 0.866 8 6 1 0 +2971 0 1 0 5.00101 20.7888 30.002 0 0 -1 0.866 8 6 1 0 +2972 0 1 0 5.50111 21.655 30.002 0 0 -1 0.866 8 6 1 0 +2973 0 1 0 6.00121 20.7888 30.002 0 0 -1 0.866 8 6 1 0 +2974 0 1 0 6.50132 21.655 30.002 0 0 -1 0.866 8 6 1 0 +2975 0 1 0 7.00142 20.7888 30.002 0 0 -1 0.866 8 6 1 0 +2976 0 1 0 7.50152 21.655 30.002 0 0 -1 0.866 8 6 1 0 +2977 0 1 0 8.00162 20.7888 30.002 0 0 -1 0.866 8 6 1 0 +2978 0 1 0 8.50172 21.655 30.002 0 0 -1 0.866 8 6 1 0 +2979 0 1 0 9.00182 20.7888 30.002 0 0 -1 0.866 8 6 1 0 +2980 0 1 0 9.50192 21.655 30.002 0 0 -1 0.866 8 6 1 0 +2981 0 1 0 10.002 20.7888 30.002 0 0 -1 0.866 8 6 1 0 +2982 0 1 0 10.5021 21.655 30.002 0 0 -1 0.866 8 6 1 0 +2983 0 1 0 11.0022 20.7888 30.002 0 0 -1 0.866 8 6 1 0 +2984 0 1 0 11.5023 21.655 30.002 0 0 -1 0.866 8 6 1 0 +2985 0 1 0 12.0024 20.7888 30.002 0 0 -1 0.866 8 6 1 0 +2986 0 1 0 12.5025 21.655 30.002 0 0 -1 0.866 8 6 1 0 +2987 0 1 0 13.0026 20.7888 30.002 0 0 -1 0.866 8 6 1 0 +2988 0 1 0 13.5027 21.655 30.002 0 0 -1 0.866 8 6 1 0 +2989 0 1 0 14.0028 20.7888 30.002 0 0 -1 0.866 8 6 1 0 +2990 0 1 0 14.5029 21.655 30.002 0 0 -1 0.866 8 6 1 0 +2991 0 1 0 15.003 20.7888 30.002 0 0 -1 0.866 8 6 1 0 +2992 0 1 0 15.5031 21.655 30.002 0 0 -1 0.866 8 6 1 0 +2993 0 1 0 16.0032 20.7888 30.002 0 0 -1 0.866 8 6 1 0 +2994 0 1 0 16.5033 21.655 30.002 0 0 -1 0.866 8 6 1 0 +2995 0 1 0 17.0034 20.7888 30.002 0 0 -1 0.866 8 6 1 0 +2996 0 1 0 17.5035 21.655 30.002 0 0 -1 0.866 8 6 1 0 +2997 0 1 0 18.0036 20.7888 30.002 0 0 -1 0.866 8 6 1 0 +2998 0 1 0 18.5037 21.655 30.002 0 0 -1 0.866 8 6 1 0 +2999 0 1 0 19.0038 20.7888 30.002 0 0 -1 0.866 8 6 1 0 +3000 0 1 0 19.5039 21.655 30.002 0 0 -1 0.866 8 6 1 0 +3001 0 1 0 20.004 20.7888 30.002 0 0 -1 0.866 8 6 1 0 +3002 0 1 0 20.5041 21.655 30.002 0 0 -1 0.866 8 6 1 0 +3003 0 1 0 21.0042 20.7888 30.002 0 0 -1 0.866 8 6 1 0 +3004 0 1 0 21.5043 21.655 30.002 0 0 -1 0.866 8 6 1 0 +3005 0 1 0 22.0045 20.7888 30.002 0 0 -1 0.866 8 6 1 0 +3006 0 1 0 22.5046 21.655 30.002 0 0 -1 0.866 8 6 1 0 +3007 0 1 0 23.0047 20.7888 30.002 0 0 -1 0.866 8 6 1 0 +3008 0 1 0 23.5048 21.655 30.002 0 0 -1 0.866 8 6 1 0 +3009 0 1 0 24.0049 20.7888 30.002 0 0 -1 0.866 8 6 1 0 +3010 0 1 0 24.505 21.655 30.002 0 0 -1 0.866 8 6 1 0 +3011 0 1 0 25.0051 20.7888 30.002 0 0 -1 0.866 8 6 1 0 +3012 0 1 0 25.5052 21.655 30.002 0 0 -1 0.866 8 6 1 0 +3013 0 1 0 26.0053 20.7888 30.002 0 0 -1 0.866 8 6 1 0 +3014 0 1 0 26.5054 21.655 30.002 0 0 -1 0.866 8 6 1 0 +3015 0 1 0 27.0055 20.7888 30.002 0 0 -1 0.866 8 6 1 0 +3016 0 1 0 27.5056 21.655 30.002 0 0 -1 0.866 8 6 1 0 +3017 0 1 0 28.0057 20.7888 30.002 0 0 -1 0.866 8 6 1 0 +3018 0 1 0 28.5058 21.655 30.002 0 0 -1 0.866 8 6 1 0 +3019 0 1 0 29.0059 20.7888 30.002 0 0 -1 0.866 8 6 1 0 +3020 0 1 0 29.506 21.655 30.002 0 0 -1 0.866 8 6 1 0 +3021 0 1 0 30.0061 20.7888 30.002 0 0 -1 0.866 8 6 1 0 +3022 0 1 0 30.5062 21.655 30.002 0 0 -1 0.866 8 6 1 0 +3023 0 1 0 31.0063 20.7888 30.002 0 0 -1 0.866 8 6 1 0 +3024 0 1 0 31.5064 21.655 30.002 0 0 -1 0.866 8 6 1 0 +3025 0 1 0 32.0065 20.7888 30.002 0 0 -1 0.866 8 6 1 0 +3026 0 1 0 32.5066 21.655 30.002 0 0 -1 0.866 8 6 1 0 +3027 0 1 0 33.0067 20.7888 30.002 0 0 -1 0.866 8 6 1 0 +3028 0 1 0 33.5068 21.655 30.002 0 0 -1 0.866 8 6 1 0 +3029 0 1 0 34.0069 20.7888 30.002 0 0 -1 0.866 8 6 1 0 +3030 0 1 0 34.507 21.655 30.002 0 0 -1 0.866 8 6 1 0 +3031 0 1 0 35.0071 20.7888 30.002 0 0 -1 0.866 8 6 1 0 +3032 0 1 0 35.5072 21.655 30.002 0 0 -1 0.866 8 6 1 0 +3033 0 1 0 36.0073 20.7888 30.002 0 0 -1 0.866 8 6 1 0 +3034 0 1 0 36.5074 21.655 30.002 0 0 -1 0.866 8 6 1 0 +3035 0 1 0 37.0075 20.7888 30.002 0 0 -1 0.866 8 6 1 0 +3036 0 1 0 37.5076 21.655 30.002 0 0 -1 0.866 8 6 1 0 +3037 0 1 0 38.0077 20.7888 30.002 0 0 -1 0.866 8 6 1 0 +3038 0 1 0 38.5078 21.655 30.002 0 0 -1 0.866 8 6 1 0 +3039 0 1 0 39.0079 20.7888 30.002 0 0 -1 0.866 8 6 1 0 +3040 0 1 0 39.508 21.655 30.002 0 0 -1 0.866 8 6 1 0 +3041 0 1 0 0 22.5212 30.002 0 0 -1 0.866 8 6 1 0 +3042 0 1 0 0.500101 23.3874 30.002 0 0 -1 0.866 8 6 1 0 +3043 0 1 0 1.0002 22.5212 30.002 0 0 -1 0.866 8 6 1 0 +3044 0 1 0 1.5003 23.3874 30.002 0 0 -1 0.866 8 6 1 0 +3045 0 1 0 2.0004 22.5212 30.002 0 0 -1 0.866 8 6 1 0 +3046 0 1 0 2.50051 23.3874 30.002 0 0 -1 0.866 8 6 1 0 +3047 0 1 0 3.00061 22.5212 30.002 0 0 -1 0.866 8 6 1 0 +3048 0 1 0 3.50071 23.3874 30.002 0 0 -1 0.866 8 6 1 0 +3049 0 1 0 4.00081 22.5212 30.002 0 0 -1 0.866 8 6 1 0 +3050 0 1 0 4.50091 23.3874 30.002 0 0 -1 0.866 8 6 1 0 +3051 0 1 0 5.00101 22.5212 30.002 0 0 -1 0.866 8 6 1 0 +3052 0 1 0 5.50111 23.3874 30.002 0 0 -1 0.866 8 6 1 0 +3053 0 1 0 6.00121 22.5212 30.002 0 0 -1 0.866 8 6 1 0 +3054 0 1 0 6.50132 23.3874 30.002 0 0 -1 0.866 8 6 1 0 +3055 0 1 0 7.00142 22.5212 30.002 0 0 -1 0.866 8 6 1 0 +3056 0 1 0 7.50152 23.3874 30.002 0 0 -1 0.866 8 6 1 0 +3057 0 1 0 8.00162 22.5212 30.002 0 0 -1 0.866 8 6 1 0 +3058 0 1 0 8.50172 23.3874 30.002 0 0 -1 0.866 8 6 1 0 +3059 0 1 0 9.00182 22.5212 30.002 0 0 -1 0.866 8 6 1 0 +3060 0 1 0 9.50192 23.3874 30.002 0 0 -1 0.866 8 6 1 0 +3061 0 1 0 10.002 22.5212 30.002 0 0 -1 0.866 8 6 1 0 +3062 0 1 0 10.5021 23.3874 30.002 0 0 -1 0.866 8 6 1 0 +3063 0 1 0 11.0022 22.5212 30.002 0 0 -1 0.866 8 6 1 0 +3064 0 1 0 11.5023 23.3874 30.002 0 0 -1 0.866 8 6 1 0 +3065 0 1 0 12.0024 22.5212 30.002 0 0 -1 0.866 8 6 1 0 +3066 0 1 0 12.5025 23.3874 30.002 0 0 -1 0.866 8 6 1 0 +3067 0 1 0 13.0026 22.5212 30.002 0 0 -1 0.866 8 6 1 0 +3068 0 1 0 13.5027 23.3874 30.002 0 0 -1 0.866 8 6 1 0 +3069 0 1 0 14.0028 22.5212 30.002 0 0 -1 0.866 8 6 1 0 +3070 0 1 0 14.5029 23.3874 30.002 0 0 -1 0.866 8 6 1 0 +3071 0 1 0 15.003 22.5212 30.002 0 0 -1 0.866 8 6 1 0 +3072 0 1 0 15.5031 23.3874 30.002 0 0 -1 0.866 8 6 1 0 +3073 0 1 0 16.0032 22.5212 30.002 0 0 -1 0.866 8 6 1 0 +3074 0 1 0 16.5033 23.3874 30.002 0 0 -1 0.866 8 6 1 0 +3075 0 1 0 17.0034 22.5212 30.002 0 0 -1 0.866 8 6 1 0 +3076 0 1 0 17.5035 23.3874 30.002 0 0 -1 0.866 8 6 1 0 +3077 0 1 0 18.0036 22.5212 30.002 0 0 -1 0.866 8 6 1 0 +3078 0 1 0 18.5037 23.3874 30.002 0 0 -1 0.866 8 6 1 0 +3079 0 1 0 19.0038 22.5212 30.002 0 0 -1 0.866 8 6 1 0 +3080 0 1 0 19.5039 23.3874 30.002 0 0 -1 0.866 8 6 1 0 +3081 0 1 0 20.004 22.5212 30.002 0 0 -1 0.866 8 6 1 0 +3082 0 1 0 20.5041 23.3874 30.002 0 0 -1 0.866 8 6 1 0 +3083 0 1 0 21.0042 22.5212 30.002 0 0 -1 0.866 8 6 1 0 +3084 0 1 0 21.5043 23.3874 30.002 0 0 -1 0.866 8 6 1 0 +3085 0 1 0 22.0045 22.5212 30.002 0 0 -1 0.866 8 6 1 0 +3086 0 1 0 22.5046 23.3874 30.002 0 0 -1 0.866 8 6 1 0 +3087 0 1 0 23.0047 22.5212 30.002 0 0 -1 0.866 8 6 1 0 +3088 0 1 0 23.5048 23.3874 30.002 0 0 -1 0.866 8 6 1 0 +3089 0 1 0 24.0049 22.5212 30.002 0 0 -1 0.866 8 6 1 0 +3090 0 1 0 24.505 23.3874 30.002 0 0 -1 0.866 8 6 1 0 +3091 0 1 0 25.0051 22.5212 30.002 0 0 -1 0.866 8 6 1 0 +3092 0 1 0 25.5052 23.3874 30.002 0 0 -1 0.866 8 6 1 0 +3093 0 1 0 26.0053 22.5212 30.002 0 0 -1 0.866 8 6 1 0 +3094 0 1 0 26.5054 23.3874 30.002 0 0 -1 0.866 8 6 1 0 +3095 0 1 0 27.0055 22.5212 30.002 0 0 -1 0.866 8 6 1 0 +3096 0 1 0 27.5056 23.3874 30.002 0 0 -1 0.866 8 6 1 0 +3097 0 1 0 28.0057 22.5212 30.002 0 0 -1 0.866 8 6 1 0 +3098 0 1 0 28.5058 23.3874 30.002 0 0 -1 0.866 8 6 1 0 +3099 0 1 0 29.0059 22.5212 30.002 0 0 -1 0.866 8 6 1 0 +3100 0 1 0 29.506 23.3874 30.002 0 0 -1 0.866 8 6 1 0 +3101 0 1 0 30.0061 22.5212 30.002 0 0 -1 0.866 8 6 1 0 +3102 0 1 0 30.5062 23.3874 30.002 0 0 -1 0.866 8 6 1 0 +3103 0 1 0 31.0063 22.5212 30.002 0 0 -1 0.866 8 6 1 0 +3104 0 1 0 31.5064 23.3874 30.002 0 0 -1 0.866 8 6 1 0 +3105 0 1 0 32.0065 22.5212 30.002 0 0 -1 0.866 8 6 1 0 +3106 0 1 0 32.5066 23.3874 30.002 0 0 -1 0.866 8 6 1 0 +3107 0 1 0 33.0067 22.5212 30.002 0 0 -1 0.866 8 6 1 0 +3108 0 1 0 33.5068 23.3874 30.002 0 0 -1 0.866 8 6 1 0 +3109 0 1 0 34.0069 22.5212 30.002 0 0 -1 0.866 8 6 1 0 +3110 0 1 0 34.507 23.3874 30.002 0 0 -1 0.866 8 6 1 0 +3111 0 1 0 35.0071 22.5212 30.002 0 0 -1 0.866 8 6 1 0 +3112 0 1 0 35.5072 23.3874 30.002 0 0 -1 0.866 8 6 1 0 +3113 0 1 0 36.0073 22.5212 30.002 0 0 -1 0.866 8 6 1 0 +3114 0 1 0 36.5074 23.3874 30.002 0 0 -1 0.866 8 6 1 0 +3115 0 1 0 37.0075 22.5212 30.002 0 0 -1 0.866 8 6 1 0 +3116 0 1 0 37.5076 23.3874 30.002 0 0 -1 0.866 8 6 1 0 +3117 0 1 0 38.0077 22.5212 30.002 0 0 -1 0.866 8 6 1 0 +3118 0 1 0 38.5078 23.3874 30.002 0 0 -1 0.866 8 6 1 0 +3119 0 1 0 39.0079 22.5212 30.002 0 0 -1 0.866 8 6 1 0 +3120 0 1 0 39.508 23.3874 30.002 0 0 -1 0.866 8 6 1 0 +3121 0 1 0 0 24.2536 30.002 0 0 -1 0.866 8 6 1 0 +3122 0 1 0 0.500101 25.1198 30.002 0 0 -1 0.866 8 6 1 0 +3123 0 1 0 1.0002 24.2536 30.002 0 0 -1 0.866 8 6 1 0 +3124 0 1 0 1.5003 25.1198 30.002 0 0 -1 0.866 8 6 1 0 +3125 0 1 0 2.0004 24.2536 30.002 0 0 -1 0.866 8 6 1 0 +3126 0 1 0 2.50051 25.1198 30.002 0 0 -1 0.866 8 6 1 0 +3127 0 1 0 3.00061 24.2536 30.002 0 0 -1 0.866 8 6 1 0 +3128 0 1 0 3.50071 25.1198 30.002 0 0 -1 0.866 8 6 1 0 +3129 0 1 0 4.00081 24.2536 30.002 0 0 -1 0.866 8 6 1 0 +3130 0 1 0 4.50091 25.1198 30.002 0 0 -1 0.866 8 6 1 0 +3131 0 1 0 5.00101 24.2536 30.002 0 0 -1 0.866 8 6 1 0 +3132 0 1 0 5.50111 25.1198 30.002 0 0 -1 0.866 8 6 1 0 +3133 0 1 0 6.00121 24.2536 30.002 0 0 -1 0.866 8 6 1 0 +3134 0 1 0 6.50132 25.1198 30.002 0 0 -1 0.866 8 6 1 0 +3135 0 1 0 7.00142 24.2536 30.002 0 0 -1 0.866 8 6 1 0 +3136 0 1 0 7.50152 25.1198 30.002 0 0 -1 0.866 8 6 1 0 +3137 0 1 0 8.00162 24.2536 30.002 0 0 -1 0.866 8 6 1 0 +3138 0 1 0 8.50172 25.1198 30.002 0 0 -1 0.866 8 6 1 0 +3139 0 1 0 9.00182 24.2536 30.002 0 0 -1 0.866 8 6 1 0 +3140 0 1 0 9.50192 25.1198 30.002 0 0 -1 0.866 8 6 1 0 +3141 0 1 0 10.002 24.2536 30.002 0 0 -1 0.866 8 6 1 0 +3142 0 1 0 10.5021 25.1198 30.002 0 0 -1 0.866 8 6 1 0 +3143 0 1 0 11.0022 24.2536 30.002 0 0 -1 0.866 8 6 1 0 +3144 0 1 0 11.5023 25.1198 30.002 0 0 -1 0.866 8 6 1 0 +3145 0 1 0 12.0024 24.2536 30.002 0 0 -1 0.866 8 6 1 0 +3146 0 1 0 12.5025 25.1198 30.002 0 0 -1 0.866 8 6 1 0 +3147 0 1 0 13.0026 24.2536 30.002 0 0 -1 0.866 8 6 1 0 +3148 0 1 0 13.5027 25.1198 30.002 0 0 -1 0.866 8 6 1 0 +3149 0 1 0 14.0028 24.2536 30.002 0 0 -1 0.866 8 6 1 0 +3150 0 1 0 14.5029 25.1198 30.002 0 0 -1 0.866 8 6 1 0 +3151 0 1 0 15.003 24.2536 30.002 0 0 -1 0.866 8 6 1 0 +3152 0 1 0 15.5031 25.1198 30.002 0 0 -1 0.866 8 6 1 0 +3153 0 1 0 16.0032 24.2536 30.002 0 0 -1 0.866 8 6 1 0 +3154 0 1 0 16.5033 25.1198 30.002 0 0 -1 0.866 8 6 1 0 +3155 0 1 0 17.0034 24.2536 30.002 0 0 -1 0.866 8 6 1 0 +3156 0 1 0 17.5035 25.1198 30.002 0 0 -1 0.866 8 6 1 0 +3157 0 1 0 18.0036 24.2536 30.002 0 0 -1 0.866 8 6 1 0 +3158 0 1 0 18.5037 25.1198 30.002 0 0 -1 0.866 8 6 1 0 +3159 0 1 0 19.0038 24.2536 30.002 0 0 -1 0.866 8 6 1 0 +3160 0 1 0 19.5039 25.1198 30.002 0 0 -1 0.866 8 6 1 0 +3161 0 1 0 20.004 24.2536 30.002 0 0 -1 0.866 8 6 1 0 +3162 0 1 0 20.5041 25.1198 30.002 0 0 -1 0.866 8 6 1 0 +3163 0 1 0 21.0042 24.2536 30.002 0 0 -1 0.866 8 6 1 0 +3164 0 1 0 21.5043 25.1198 30.002 0 0 -1 0.866 8 6 1 0 +3165 0 1 0 22.0045 24.2536 30.002 0 0 -1 0.866 8 6 1 0 +3166 0 1 0 22.5046 25.1198 30.002 0 0 -1 0.866 8 6 1 0 +3167 0 1 0 23.0047 24.2536 30.002 0 0 -1 0.866 8 6 1 0 +3168 0 1 0 23.5048 25.1198 30.002 0 0 -1 0.866 8 6 1 0 +3169 0 1 0 24.0049 24.2536 30.002 0 0 -1 0.866 8 6 1 0 +3170 0 1 0 24.505 25.1198 30.002 0 0 -1 0.866 8 6 1 0 +3171 0 1 0 25.0051 24.2536 30.002 0 0 -1 0.866 8 6 1 0 +3172 0 1 0 25.5052 25.1198 30.002 0 0 -1 0.866 8 6 1 0 +3173 0 1 0 26.0053 24.2536 30.002 0 0 -1 0.866 8 6 1 0 +3174 0 1 0 26.5054 25.1198 30.002 0 0 -1 0.866 8 6 1 0 +3175 0 1 0 27.0055 24.2536 30.002 0 0 -1 0.866 8 6 1 0 +3176 0 1 0 27.5056 25.1198 30.002 0 0 -1 0.866 8 6 1 0 +3177 0 1 0 28.0057 24.2536 30.002 0 0 -1 0.866 8 6 1 0 +3178 0 1 0 28.5058 25.1198 30.002 0 0 -1 0.866 8 6 1 0 +3179 0 1 0 29.0059 24.2536 30.002 0 0 -1 0.866 8 6 1 0 +3180 0 1 0 29.506 25.1198 30.002 0 0 -1 0.866 8 6 1 0 +3181 0 1 0 30.0061 24.2536 30.002 0 0 -1 0.866 8 6 1 0 +3182 0 1 0 30.5062 25.1198 30.002 0 0 -1 0.866 8 6 1 0 +3183 0 1 0 31.0063 24.2536 30.002 0 0 -1 0.866 8 6 1 0 +3184 0 1 0 31.5064 25.1198 30.002 0 0 -1 0.866 8 6 1 0 +3185 0 1 0 32.0065 24.2536 30.002 0 0 -1 0.866 8 6 1 0 +3186 0 1 0 32.5066 25.1198 30.002 0 0 -1 0.866 8 6 1 0 +3187 0 1 0 33.0067 24.2536 30.002 0 0 -1 0.866 8 6 1 0 +3188 0 1 0 33.5068 25.1198 30.002 0 0 -1 0.866 8 6 1 0 +3189 0 1 0 34.0069 24.2536 30.002 0 0 -1 0.866 8 6 1 0 +3190 0 1 0 34.507 25.1198 30.002 0 0 -1 0.866 8 6 1 0 +3191 0 1 0 35.0071 24.2536 30.002 0 0 -1 0.866 8 6 1 0 +3192 0 1 0 35.5072 25.1198 30.002 0 0 -1 0.866 8 6 1 0 +3193 0 1 0 36.0073 24.2536 30.002 0 0 -1 0.866 8 6 1 0 +3194 0 1 0 36.5074 25.1198 30.002 0 0 -1 0.866 8 6 1 0 +3195 0 1 0 37.0075 24.2536 30.002 0 0 -1 0.866 8 6 1 0 +3196 0 1 0 37.5076 25.1198 30.002 0 0 -1 0.866 8 6 1 0 +3197 0 1 0 38.0077 24.2536 30.002 0 0 -1 0.866 8 6 1 0 +3198 0 1 0 38.5078 25.1198 30.002 0 0 -1 0.866 8 6 1 0 +3199 0 1 0 39.0079 24.2536 30.002 0 0 -1 0.866 8 6 1 0 +3200 0 1 0 39.508 25.1198 30.002 0 0 -1 0.866 8 6 1 0 +3201 0 1 0 0 25.986 30.002 0 0 -1 0.866 8 6 1 0 +3202 0 1 0 0.500101 26.8522 30.002 0 0 -1 0.866 8 6 1 0 +3203 0 1 0 1.0002 25.986 30.002 0 0 -1 0.866 8 6 1 0 +3204 0 1 0 1.5003 26.8522 30.002 0 0 -1 0.866 8 6 1 0 +3205 0 1 0 2.0004 25.986 30.002 0 0 -1 0.866 8 6 1 0 +3206 0 1 0 2.50051 26.8522 30.002 0 0 -1 0.866 8 6 1 0 +3207 0 1 0 3.00061 25.986 30.002 0 0 -1 0.866 8 6 1 0 +3208 0 1 0 3.50071 26.8522 30.002 0 0 -1 0.866 8 6 1 0 +3209 0 1 0 4.00081 25.986 30.002 0 0 -1 0.866 8 6 1 0 +3210 0 1 0 4.50091 26.8522 30.002 0 0 -1 0.866 8 6 1 0 +3211 0 1 0 5.00101 25.986 30.002 0 0 -1 0.866 8 6 1 0 +3212 0 1 0 5.50111 26.8522 30.002 0 0 -1 0.866 8 6 1 0 +3213 0 1 0 6.00121 25.986 30.002 0 0 -1 0.866 8 6 1 0 +3214 0 1 0 6.50132 26.8522 30.002 0 0 -1 0.866 8 6 1 0 +3215 0 1 0 7.00142 25.986 30.002 0 0 -1 0.866 8 6 1 0 +3216 0 1 0 7.50152 26.8522 30.002 0 0 -1 0.866 8 6 1 0 +3217 0 1 0 8.00162 25.986 30.002 0 0 -1 0.866 8 6 1 0 +3218 0 1 0 8.50172 26.8522 30.002 0 0 -1 0.866 8 6 1 0 +3219 0 1 0 9.00182 25.986 30.002 0 0 -1 0.866 8 6 1 0 +3220 0 1 0 9.50192 26.8522 30.002 0 0 -1 0.866 8 6 1 0 +3221 0 1 0 10.002 25.986 30.002 0 0 -1 0.866 8 6 1 0 +3222 0 1 0 10.5021 26.8522 30.002 0 0 -1 0.866 8 6 1 0 +3223 0 1 0 11.0022 25.986 30.002 0 0 -1 0.866 8 6 1 0 +3224 0 1 0 11.5023 26.8522 30.002 0 0 -1 0.866 8 6 1 0 +3225 0 1 0 12.0024 25.986 30.002 0 0 -1 0.866 8 6 1 0 +3226 0 1 0 12.5025 26.8522 30.002 0 0 -1 0.866 8 6 1 0 +3227 0 1 0 13.0026 25.986 30.002 0 0 -1 0.866 8 6 1 0 +3228 0 1 0 13.5027 26.8522 30.002 0 0 -1 0.866 8 6 1 0 +3229 0 1 0 14.0028 25.986 30.002 0 0 -1 0.866 8 6 1 0 +3230 0 1 0 14.5029 26.8522 30.002 0 0 -1 0.866 8 6 1 0 +3231 0 1 0 15.003 25.986 30.002 0 0 -1 0.866 8 6 1 0 +3232 0 1 0 15.5031 26.8522 30.002 0 0 -1 0.866 8 6 1 0 +3233 0 1 0 16.0032 25.986 30.002 0 0 -1 0.866 8 6 1 0 +3234 0 1 0 16.5033 26.8522 30.002 0 0 -1 0.866 8 6 1 0 +3235 0 1 0 17.0034 25.986 30.002 0 0 -1 0.866 8 6 1 0 +3236 0 1 0 17.5035 26.8522 30.002 0 0 -1 0.866 8 6 1 0 +3237 0 1 0 18.0036 25.986 30.002 0 0 -1 0.866 8 6 1 0 +3238 0 1 0 18.5037 26.8522 30.002 0 0 -1 0.866 8 6 1 0 +3239 0 1 0 19.0038 25.986 30.002 0 0 -1 0.866 8 6 1 0 +3240 0 1 0 19.5039 26.8522 30.002 0 0 -1 0.866 8 6 1 0 +3241 0 1 0 20.004 25.986 30.002 0 0 -1 0.866 8 6 1 0 +3242 0 1 0 20.5041 26.8522 30.002 0 0 -1 0.866 8 6 1 0 +3243 0 1 0 21.0042 25.986 30.002 0 0 -1 0.866 8 6 1 0 +3244 0 1 0 21.5043 26.8522 30.002 0 0 -1 0.866 8 6 1 0 +3245 0 1 0 22.0045 25.986 30.002 0 0 -1 0.866 8 6 1 0 +3246 0 1 0 22.5046 26.8522 30.002 0 0 -1 0.866 8 6 1 0 +3247 0 1 0 23.0047 25.986 30.002 0 0 -1 0.866 8 6 1 0 +3248 0 1 0 23.5048 26.8522 30.002 0 0 -1 0.866 8 6 1 0 +3249 0 1 0 24.0049 25.986 30.002 0 0 -1 0.866 8 6 1 0 +3250 0 1 0 24.505 26.8522 30.002 0 0 -1 0.866 8 6 1 0 +3251 0 1 0 25.0051 25.986 30.002 0 0 -1 0.866 8 6 1 0 +3252 0 1 0 25.5052 26.8522 30.002 0 0 -1 0.866 8 6 1 0 +3253 0 1 0 26.0053 25.986 30.002 0 0 -1 0.866 8 6 1 0 +3254 0 1 0 26.5054 26.8522 30.002 0 0 -1 0.866 8 6 1 0 +3255 0 1 0 27.0055 25.986 30.002 0 0 -1 0.866 8 6 1 0 +3256 0 1 0 27.5056 26.8522 30.002 0 0 -1 0.866 8 6 1 0 +3257 0 1 0 28.0057 25.986 30.002 0 0 -1 0.866 8 6 1 0 +3258 0 1 0 28.5058 26.8522 30.002 0 0 -1 0.866 8 6 1 0 +3259 0 1 0 29.0059 25.986 30.002 0 0 -1 0.866 8 6 1 0 +3260 0 1 0 29.506 26.8522 30.002 0 0 -1 0.866 8 6 1 0 +3261 0 1 0 30.0061 25.986 30.002 0 0 -1 0.866 8 6 1 0 +3262 0 1 0 30.5062 26.8522 30.002 0 0 -1 0.866 8 6 1 0 +3263 0 1 0 31.0063 25.986 30.002 0 0 -1 0.866 8 6 1 0 +3264 0 1 0 31.5064 26.8522 30.002 0 0 -1 0.866 8 6 1 0 +3265 0 1 0 32.0065 25.986 30.002 0 0 -1 0.866 8 6 1 0 +3266 0 1 0 32.5066 26.8522 30.002 0 0 -1 0.866 8 6 1 0 +3267 0 1 0 33.0067 25.986 30.002 0 0 -1 0.866 8 6 1 0 +3268 0 1 0 33.5068 26.8522 30.002 0 0 -1 0.866 8 6 1 0 +3269 0 1 0 34.0069 25.986 30.002 0 0 -1 0.866 8 6 1 0 +3270 0 1 0 34.507 26.8522 30.002 0 0 -1 0.866 8 6 1 0 +3271 0 1 0 35.0071 25.986 30.002 0 0 -1 0.866 8 6 1 0 +3272 0 1 0 35.5072 26.8522 30.002 0 0 -1 0.866 8 6 1 0 +3273 0 1 0 36.0073 25.986 30.002 0 0 -1 0.866 8 6 1 0 +3274 0 1 0 36.5074 26.8522 30.002 0 0 -1 0.866 8 6 1 0 +3275 0 1 0 37.0075 25.986 30.002 0 0 -1 0.866 8 6 1 0 +3276 0 1 0 37.5076 26.8522 30.002 0 0 -1 0.866 8 6 1 0 +3277 0 1 0 38.0077 25.986 30.002 0 0 -1 0.866 8 6 1 0 +3278 0 1 0 38.5078 26.8522 30.002 0 0 -1 0.866 8 6 1 0 +3279 0 1 0 39.0079 25.986 30.002 0 0 -1 0.866 8 6 1 0 +3280 0 1 0 39.508 26.8522 30.002 0 0 -1 0.866 8 6 1 0 +3281 0 1 0 0 27.7184 30.002 0 0 -1 0.866 8 6 1 0 +3282 0 1 0 0.500101 28.5846 30.002 0 0 -1 0.866 8 6 1 0 +3283 0 1 0 1.0002 27.7184 30.002 0 0 -1 0.866 8 6 1 0 +3284 0 1 0 1.5003 28.5846 30.002 0 0 -1 0.866 8 6 1 0 +3285 0 1 0 2.0004 27.7184 30.002 0 0 -1 0.866 8 6 1 0 +3286 0 1 0 2.50051 28.5846 30.002 0 0 -1 0.866 8 6 1 0 +3287 0 1 0 3.00061 27.7184 30.002 0 0 -1 0.866 8 6 1 0 +3288 0 1 0 3.50071 28.5846 30.002 0 0 -1 0.866 8 6 1 0 +3289 0 1 0 4.00081 27.7184 30.002 0 0 -1 0.866 8 6 1 0 +3290 0 1 0 4.50091 28.5846 30.002 0 0 -1 0.866 8 6 1 0 +3291 0 1 0 5.00101 27.7184 30.002 0 0 -1 0.866 8 6 1 0 +3292 0 1 0 5.50111 28.5846 30.002 0 0 -1 0.866 8 6 1 0 +3293 0 1 0 6.00121 27.7184 30.002 0 0 -1 0.866 8 6 1 0 +3294 0 1 0 6.50132 28.5846 30.002 0 0 -1 0.866 8 6 1 0 +3295 0 1 0 7.00142 27.7184 30.002 0 0 -1 0.866 8 6 1 0 +3296 0 1 0 7.50152 28.5846 30.002 0 0 -1 0.866 8 6 1 0 +3297 0 1 0 8.00162 27.7184 30.002 0 0 -1 0.866 8 6 1 0 +3298 0 1 0 8.50172 28.5846 30.002 0 0 -1 0.866 8 6 1 0 +3299 0 1 0 9.00182 27.7184 30.002 0 0 -1 0.866 8 6 1 0 +3300 0 1 0 9.50192 28.5846 30.002 0 0 -1 0.866 8 6 1 0 +3301 0 1 0 10.002 27.7184 30.002 0 0 -1 0.866 8 6 1 0 +3302 0 1 0 10.5021 28.5846 30.002 0 0 -1 0.866 8 6 1 0 +3303 0 1 0 11.0022 27.7184 30.002 0 0 -1 0.866 8 6 1 0 +3304 0 1 0 11.5023 28.5846 30.002 0 0 -1 0.866 8 6 1 0 +3305 0 1 0 12.0024 27.7184 30.002 0 0 -1 0.866 8 6 1 0 +3306 0 1 0 12.5025 28.5846 30.002 0 0 -1 0.866 8 6 1 0 +3307 0 1 0 13.0026 27.7184 30.002 0 0 -1 0.866 8 6 1 0 +3308 0 1 0 13.5027 28.5846 30.002 0 0 -1 0.866 8 6 1 0 +3309 0 1 0 14.0028 27.7184 30.002 0 0 -1 0.866 8 6 1 0 +3310 0 1 0 14.5029 28.5846 30.002 0 0 -1 0.866 8 6 1 0 +3311 0 1 0 15.003 27.7184 30.002 0 0 -1 0.866 8 6 1 0 +3312 0 1 0 15.5031 28.5846 30.002 0 0 -1 0.866 8 6 1 0 +3313 0 1 0 16.0032 27.7184 30.002 0 0 -1 0.866 8 6 1 0 +3314 0 1 0 16.5033 28.5846 30.002 0 0 -1 0.866 8 6 1 0 +3315 0 1 0 17.0034 27.7184 30.002 0 0 -1 0.866 8 6 1 0 +3316 0 1 0 17.5035 28.5846 30.002 0 0 -1 0.866 8 6 1 0 +3317 0 1 0 18.0036 27.7184 30.002 0 0 -1 0.866 8 6 1 0 +3318 0 1 0 18.5037 28.5846 30.002 0 0 -1 0.866 8 6 1 0 +3319 0 1 0 19.0038 27.7184 30.002 0 0 -1 0.866 8 6 1 0 +3320 0 1 0 19.5039 28.5846 30.002 0 0 -1 0.866 8 6 1 0 +3321 0 1 0 20.004 27.7184 30.002 0 0 -1 0.866 8 6 1 0 +3322 0 1 0 20.5041 28.5846 30.002 0 0 -1 0.866 8 6 1 0 +3323 0 1 0 21.0042 27.7184 30.002 0 0 -1 0.866 8 6 1 0 +3324 0 1 0 21.5043 28.5846 30.002 0 0 -1 0.866 8 6 1 0 +3325 0 1 0 22.0045 27.7184 30.002 0 0 -1 0.866 8 6 1 0 +3326 0 1 0 22.5046 28.5846 30.002 0 0 -1 0.866 8 6 1 0 +3327 0 1 0 23.0047 27.7184 30.002 0 0 -1 0.866 8 6 1 0 +3328 0 1 0 23.5048 28.5846 30.002 0 0 -1 0.866 8 6 1 0 +3329 0 1 0 24.0049 27.7184 30.002 0 0 -1 0.866 8 6 1 0 +3330 0 1 0 24.505 28.5846 30.002 0 0 -1 0.866 8 6 1 0 +3331 0 1 0 25.0051 27.7184 30.002 0 0 -1 0.866 8 6 1 0 +3332 0 1 0 25.5052 28.5846 30.002 0 0 -1 0.866 8 6 1 0 +3333 0 1 0 26.0053 27.7184 30.002 0 0 -1 0.866 8 6 1 0 +3334 0 1 0 26.5054 28.5846 30.002 0 0 -1 0.866 8 6 1 0 +3335 0 1 0 27.0055 27.7184 30.002 0 0 -1 0.866 8 6 1 0 +3336 0 1 0 27.5056 28.5846 30.002 0 0 -1 0.866 8 6 1 0 +3337 0 1 0 28.0057 27.7184 30.002 0 0 -1 0.866 8 6 1 0 +3338 0 1 0 28.5058 28.5846 30.002 0 0 -1 0.866 8 6 1 0 +3339 0 1 0 29.0059 27.7184 30.002 0 0 -1 0.866 8 6 1 0 +3340 0 1 0 29.506 28.5846 30.002 0 0 -1 0.866 8 6 1 0 +3341 0 1 0 30.0061 27.7184 30.002 0 0 -1 0.866 8 6 1 0 +3342 0 1 0 30.5062 28.5846 30.002 0 0 -1 0.866 8 6 1 0 +3343 0 1 0 31.0063 27.7184 30.002 0 0 -1 0.866 8 6 1 0 +3344 0 1 0 31.5064 28.5846 30.002 0 0 -1 0.866 8 6 1 0 +3345 0 1 0 32.0065 27.7184 30.002 0 0 -1 0.866 8 6 1 0 +3346 0 1 0 32.5066 28.5846 30.002 0 0 -1 0.866 8 6 1 0 +3347 0 1 0 33.0067 27.7184 30.002 0 0 -1 0.866 8 6 1 0 +3348 0 1 0 33.5068 28.5846 30.002 0 0 -1 0.866 8 6 1 0 +3349 0 1 0 34.0069 27.7184 30.002 0 0 -1 0.866 8 6 1 0 +3350 0 1 0 34.507 28.5846 30.002 0 0 -1 0.866 8 6 1 0 +3351 0 1 0 35.0071 27.7184 30.002 0 0 -1 0.866 8 6 1 0 +3352 0 1 0 35.5072 28.5846 30.002 0 0 -1 0.866 8 6 1 0 +3353 0 1 0 36.0073 27.7184 30.002 0 0 -1 0.866 8 6 1 0 +3354 0 1 0 36.5074 28.5846 30.002 0 0 -1 0.866 8 6 1 0 +3355 0 1 0 37.0075 27.7184 30.002 0 0 -1 0.866 8 6 1 0 +3356 0 1 0 37.5076 28.5846 30.002 0 0 -1 0.866 8 6 1 0 +3357 0 1 0 38.0077 27.7184 30.002 0 0 -1 0.866 8 6 1 0 +3358 0 1 0 38.5078 28.5846 30.002 0 0 -1 0.866 8 6 1 0 +3359 0 1 0 39.0079 27.7184 30.002 0 0 -1 0.866 8 6 1 0 +3360 0 1 0 39.508 28.5846 30.002 0 0 -1 0.866 8 6 1 0 +3361 0 1 0 0 29.4508 30.002 0 0 -1 0.866 8 6 1 0 +3362 0 1 0 0.500101 30.317 30.002 0 0 -1 0.866 8 6 1 0 +3363 0 1 0 1.0002 29.4508 30.002 0 0 -1 0.866 8 6 1 0 +3364 0 1 0 1.5003 30.317 30.002 0 0 -1 0.866 8 6 1 0 +3365 0 1 0 2.0004 29.4508 30.002 0 0 -1 0.866 8 6 1 0 +3366 0 1 0 2.50051 30.317 30.002 0 0 -1 0.866 8 6 1 0 +3367 0 1 0 3.00061 29.4508 30.002 0 0 -1 0.866 8 6 1 0 +3368 0 1 0 3.50071 30.317 30.002 0 0 -1 0.866 8 6 1 0 +3369 0 1 0 4.00081 29.4508 30.002 0 0 -1 0.866 8 6 1 0 +3370 0 1 0 4.50091 30.317 30.002 0 0 -1 0.866 8 6 1 0 +3371 0 1 0 5.00101 29.4508 30.002 0 0 -1 0.866 8 6 1 0 +3372 0 1 0 5.50111 30.317 30.002 0 0 -1 0.866 8 6 1 0 +3373 0 1 0 6.00121 29.4508 30.002 0 0 -1 0.866 8 6 1 0 +3374 0 1 0 6.50132 30.317 30.002 0 0 -1 0.866 8 6 1 0 +3375 0 1 0 7.00142 29.4508 30.002 0 0 -1 0.866 8 6 1 0 +3376 0 1 0 7.50152 30.317 30.002 0 0 -1 0.866 8 6 1 0 +3377 0 1 0 8.00162 29.4508 30.002 0 0 -1 0.866 8 6 1 0 +3378 0 1 0 8.50172 30.317 30.002 0 0 -1 0.866 8 6 1 0 +3379 0 1 0 9.00182 29.4508 30.002 0 0 -1 0.866 8 6 1 0 +3380 0 1 0 9.50192 30.317 30.002 0 0 -1 0.866 8 6 1 0 +3381 0 1 0 10.002 29.4508 30.002 0 0 -1 0.866 8 6 1 0 +3382 0 1 0 10.5021 30.317 30.002 0 0 -1 0.866 8 6 1 0 +3383 0 1 0 11.0022 29.4508 30.002 0 0 -1 0.866 8 6 1 0 +3384 0 1 0 11.5023 30.317 30.002 0 0 -1 0.866 8 6 1 0 +3385 0 1 0 12.0024 29.4508 30.002 0 0 -1 0.866 8 6 1 0 +3386 0 1 0 12.5025 30.317 30.002 0 0 -1 0.866 8 6 1 0 +3387 0 1 0 13.0026 29.4508 30.002 0 0 -1 0.866 8 6 1 0 +3388 0 1 0 13.5027 30.317 30.002 0 0 -1 0.866 8 6 1 0 +3389 0 1 0 14.0028 29.4508 30.002 0 0 -1 0.866 8 6 1 0 +3390 0 1 0 14.5029 30.317 30.002 0 0 -1 0.866 8 6 1 0 +3391 0 1 0 15.003 29.4508 30.002 0 0 -1 0.866 8 6 1 0 +3392 0 1 0 15.5031 30.317 30.002 0 0 -1 0.866 8 6 1 0 +3393 0 1 0 16.0032 29.4508 30.002 0 0 -1 0.866 8 6 1 0 +3394 0 1 0 16.5033 30.317 30.002 0 0 -1 0.866 8 6 1 0 +3395 0 1 0 17.0034 29.4508 30.002 0 0 -1 0.866 8 6 1 0 +3396 0 1 0 17.5035 30.317 30.002 0 0 -1 0.866 8 6 1 0 +3397 0 1 0 18.0036 29.4508 30.002 0 0 -1 0.866 8 6 1 0 +3398 0 1 0 18.5037 30.317 30.002 0 0 -1 0.866 8 6 1 0 +3399 0 1 0 19.0038 29.4508 30.002 0 0 -1 0.866 8 6 1 0 +3400 0 1 0 19.5039 30.317 30.002 0 0 -1 0.866 8 6 1 0 +3401 0 1 0 20.004 29.4508 30.002 0 0 -1 0.866 8 6 1 0 +3402 0 1 0 20.5041 30.317 30.002 0 0 -1 0.866 8 6 1 0 +3403 0 1 0 21.0042 29.4508 30.002 0 0 -1 0.866 8 6 1 0 +3404 0 1 0 21.5043 30.317 30.002 0 0 -1 0.866 8 6 1 0 +3405 0 1 0 22.0045 29.4508 30.002 0 0 -1 0.866 8 6 1 0 +3406 0 1 0 22.5046 30.317 30.002 0 0 -1 0.866 8 6 1 0 +3407 0 1 0 23.0047 29.4508 30.002 0 0 -1 0.866 8 6 1 0 +3408 0 1 0 23.5048 30.317 30.002 0 0 -1 0.866 8 6 1 0 +3409 0 1 0 24.0049 29.4508 30.002 0 0 -1 0.866 8 6 1 0 +3410 0 1 0 24.505 30.317 30.002 0 0 -1 0.866 8 6 1 0 +3411 0 1 0 25.0051 29.4508 30.002 0 0 -1 0.866 8 6 1 0 +3412 0 1 0 25.5052 30.317 30.002 0 0 -1 0.866 8 6 1 0 +3413 0 1 0 26.0053 29.4508 30.002 0 0 -1 0.866 8 6 1 0 +3414 0 1 0 26.5054 30.317 30.002 0 0 -1 0.866 8 6 1 0 +3415 0 1 0 27.0055 29.4508 30.002 0 0 -1 0.866 8 6 1 0 +3416 0 1 0 27.5056 30.317 30.002 0 0 -1 0.866 8 6 1 0 +3417 0 1 0 28.0057 29.4508 30.002 0 0 -1 0.866 8 6 1 0 +3418 0 1 0 28.5058 30.317 30.002 0 0 -1 0.866 8 6 1 0 +3419 0 1 0 29.0059 29.4508 30.002 0 0 -1 0.866 8 6 1 0 +3420 0 1 0 29.506 30.317 30.002 0 0 -1 0.866 8 6 1 0 +3421 0 1 0 30.0061 29.4508 30.002 0 0 -1 0.866 8 6 1 0 +3422 0 1 0 30.5062 30.317 30.002 0 0 -1 0.866 8 6 1 0 +3423 0 1 0 31.0063 29.4508 30.002 0 0 -1 0.866 8 6 1 0 +3424 0 1 0 31.5064 30.317 30.002 0 0 -1 0.866 8 6 1 0 +3425 0 1 0 32.0065 29.4508 30.002 0 0 -1 0.866 8 6 1 0 +3426 0 1 0 32.5066 30.317 30.002 0 0 -1 0.866 8 6 1 0 +3427 0 1 0 33.0067 29.4508 30.002 0 0 -1 0.866 8 6 1 0 +3428 0 1 0 33.5068 30.317 30.002 0 0 -1 0.866 8 6 1 0 +3429 0 1 0 34.0069 29.4508 30.002 0 0 -1 0.866 8 6 1 0 +3430 0 1 0 34.507 30.317 30.002 0 0 -1 0.866 8 6 1 0 +3431 0 1 0 35.0071 29.4508 30.002 0 0 -1 0.866 8 6 1 0 +3432 0 1 0 35.5072 30.317 30.002 0 0 -1 0.866 8 6 1 0 +3433 0 1 0 36.0073 29.4508 30.002 0 0 -1 0.866 8 6 1 0 +3434 0 1 0 36.5074 30.317 30.002 0 0 -1 0.866 8 6 1 0 +3435 0 1 0 37.0075 29.4508 30.002 0 0 -1 0.866 8 6 1 0 +3436 0 1 0 37.5076 30.317 30.002 0 0 -1 0.866 8 6 1 0 +3437 0 1 0 38.0077 29.4508 30.002 0 0 -1 0.866 8 6 1 0 +3438 0 1 0 38.5078 30.317 30.002 0 0 -1 0.866 8 6 1 0 +3439 0 1 0 39.0079 29.4508 30.002 0 0 -1 0.866 8 6 1 0 +3440 0 1 0 39.508 30.317 30.002 0 0 -1 0.866 8 6 1 0 +3441 0 1 0 0 31.1832 30.002 0 0 -1 0.866 8 6 1 0 +3442 0 1 0 0.500101 32.0494 30.002 0 0 -1 0.866 8 6 1 0 +3443 0 1 0 1.0002 31.1832 30.002 0 0 -1 0.866 8 6 1 0 +3444 0 1 0 1.5003 32.0494 30.002 0 0 -1 0.866 8 6 1 0 +3445 0 1 0 2.0004 31.1832 30.002 0 0 -1 0.866 8 6 1 0 +3446 0 1 0 2.50051 32.0494 30.002 0 0 -1 0.866 8 6 1 0 +3447 0 1 0 3.00061 31.1832 30.002 0 0 -1 0.866 8 6 1 0 +3448 0 1 0 3.50071 32.0494 30.002 0 0 -1 0.866 8 6 1 0 +3449 0 1 0 4.00081 31.1832 30.002 0 0 -1 0.866 8 6 1 0 +3450 0 1 0 4.50091 32.0494 30.002 0 0 -1 0.866 8 6 1 0 +3451 0 1 0 5.00101 31.1832 30.002 0 0 -1 0.866 8 6 1 0 +3452 0 1 0 5.50111 32.0494 30.002 0 0 -1 0.866 8 6 1 0 +3453 0 1 0 6.00121 31.1832 30.002 0 0 -1 0.866 8 6 1 0 +3454 0 1 0 6.50132 32.0494 30.002 0 0 -1 0.866 8 6 1 0 +3455 0 1 0 7.00142 31.1832 30.002 0 0 -1 0.866 8 6 1 0 +3456 0 1 0 7.50152 32.0494 30.002 0 0 -1 0.866 8 6 1 0 +3457 0 1 0 8.00162 31.1832 30.002 0 0 -1 0.866 8 6 1 0 +3458 0 1 0 8.50172 32.0494 30.002 0 0 -1 0.866 8 6 1 0 +3459 0 1 0 9.00182 31.1832 30.002 0 0 -1 0.866 8 6 1 0 +3460 0 1 0 9.50192 32.0494 30.002 0 0 -1 0.866 8 6 1 0 +3461 0 1 0 10.002 31.1832 30.002 0 0 -1 0.866 8 6 1 0 +3462 0 1 0 10.5021 32.0494 30.002 0 0 -1 0.866 8 6 1 0 +3463 0 1 0 11.0022 31.1832 30.002 0 0 -1 0.866 8 6 1 0 +3464 0 1 0 11.5023 32.0494 30.002 0 0 -1 0.866 8 6 1 0 +3465 0 1 0 12.0024 31.1832 30.002 0 0 -1 0.866 8 6 1 0 +3466 0 1 0 12.5025 32.0494 30.002 0 0 -1 0.866 8 6 1 0 +3467 0 1 0 13.0026 31.1832 30.002 0 0 -1 0.866 8 6 1 0 +3468 0 1 0 13.5027 32.0494 30.002 0 0 -1 0.866 8 6 1 0 +3469 0 1 0 14.0028 31.1832 30.002 0 0 -1 0.866 8 6 1 0 +3470 0 1 0 14.5029 32.0494 30.002 0 0 -1 0.866 8 6 1 0 +3471 0 1 0 15.003 31.1832 30.002 0 0 -1 0.866 8 6 1 0 +3472 0 1 0 15.5031 32.0494 30.002 0 0 -1 0.866 8 6 1 0 +3473 0 1 0 16.0032 31.1832 30.002 0 0 -1 0.866 8 6 1 0 +3474 0 1 0 16.5033 32.0494 30.002 0 0 -1 0.866 8 6 1 0 +3475 0 1 0 17.0034 31.1832 30.002 0 0 -1 0.866 8 6 1 0 +3476 0 1 0 17.5035 32.0494 30.002 0 0 -1 0.866 8 6 1 0 +3477 0 1 0 18.0036 31.1832 30.002 0 0 -1 0.866 8 6 1 0 +3478 0 1 0 18.5037 32.0494 30.002 0 0 -1 0.866 8 6 1 0 +3479 0 1 0 19.0038 31.1832 30.002 0 0 -1 0.866 8 6 1 0 +3480 0 1 0 19.5039 32.0494 30.002 0 0 -1 0.866 8 6 1 0 +3481 0 1 0 20.004 31.1832 30.002 0 0 -1 0.866 8 6 1 0 +3482 0 1 0 20.5041 32.0494 30.002 0 0 -1 0.866 8 6 1 0 +3483 0 1 0 21.0042 31.1832 30.002 0 0 -1 0.866 8 6 1 0 +3484 0 1 0 21.5043 32.0494 30.002 0 0 -1 0.866 8 6 1 0 +3485 0 1 0 22.0045 31.1832 30.002 0 0 -1 0.866 8 6 1 0 +3486 0 1 0 22.5046 32.0494 30.002 0 0 -1 0.866 8 6 1 0 +3487 0 1 0 23.0047 31.1832 30.002 0 0 -1 0.866 8 6 1 0 +3488 0 1 0 23.5048 32.0494 30.002 0 0 -1 0.866 8 6 1 0 +3489 0 1 0 24.0049 31.1832 30.002 0 0 -1 0.866 8 6 1 0 +3490 0 1 0 24.505 32.0494 30.002 0 0 -1 0.866 8 6 1 0 +3491 0 1 0 25.0051 31.1832 30.002 0 0 -1 0.866 8 6 1 0 +3492 0 1 0 25.5052 32.0494 30.002 0 0 -1 0.866 8 6 1 0 +3493 0 1 0 26.0053 31.1832 30.002 0 0 -1 0.866 8 6 1 0 +3494 0 1 0 26.5054 32.0494 30.002 0 0 -1 0.866 8 6 1 0 +3495 0 1 0 27.0055 31.1832 30.002 0 0 -1 0.866 8 6 1 0 +3496 0 1 0 27.5056 32.0494 30.002 0 0 -1 0.866 8 6 1 0 +3497 0 1 0 28.0057 31.1832 30.002 0 0 -1 0.866 8 6 1 0 +3498 0 1 0 28.5058 32.0494 30.002 0 0 -1 0.866 8 6 1 0 +3499 0 1 0 29.0059 31.1832 30.002 0 0 -1 0.866 8 6 1 0 +3500 0 1 0 29.506 32.0494 30.002 0 0 -1 0.866 8 6 1 0 +3501 0 1 0 30.0061 31.1832 30.002 0 0 -1 0.866 8 6 1 0 +3502 0 1 0 30.5062 32.0494 30.002 0 0 -1 0.866 8 6 1 0 +3503 0 1 0 31.0063 31.1832 30.002 0 0 -1 0.866 8 6 1 0 +3504 0 1 0 31.5064 32.0494 30.002 0 0 -1 0.866 8 6 1 0 +3505 0 1 0 32.0065 31.1832 30.002 0 0 -1 0.866 8 6 1 0 +3506 0 1 0 32.5066 32.0494 30.002 0 0 -1 0.866 8 6 1 0 +3507 0 1 0 33.0067 31.1832 30.002 0 0 -1 0.866 8 6 1 0 +3508 0 1 0 33.5068 32.0494 30.002 0 0 -1 0.866 8 6 1 0 +3509 0 1 0 34.0069 31.1832 30.002 0 0 -1 0.866 8 6 1 0 +3510 0 1 0 34.507 32.0494 30.002 0 0 -1 0.866 8 6 1 0 +3511 0 1 0 35.0071 31.1832 30.002 0 0 -1 0.866 8 6 1 0 +3512 0 1 0 35.5072 32.0494 30.002 0 0 -1 0.866 8 6 1 0 +3513 0 1 0 36.0073 31.1832 30.002 0 0 -1 0.866 8 6 1 0 +3514 0 1 0 36.5074 32.0494 30.002 0 0 -1 0.866 8 6 1 0 +3515 0 1 0 37.0075 31.1832 30.002 0 0 -1 0.866 8 6 1 0 +3516 0 1 0 37.5076 32.0494 30.002 0 0 -1 0.866 8 6 1 0 +3517 0 1 0 38.0077 31.1832 30.002 0 0 -1 0.866 8 6 1 0 +3518 0 1 0 38.5078 32.0494 30.002 0 0 -1 0.866 8 6 1 0 +3519 0 1 0 39.0079 31.1832 30.002 0 0 -1 0.866 8 6 1 0 +3520 0 1 0 39.508 32.0494 30.002 0 0 -1 0.866 8 6 1 0 +3521 0 1 0 0 32.9156 30.002 0 0 -1 0.866 8 6 1 0 +3522 0 1 0 0.500101 33.7818 30.002 0 0 -1 0.866 8 6 1 0 +3523 0 1 0 1.0002 32.9156 30.002 0 0 -1 0.866 8 6 1 0 +3524 0 1 0 1.5003 33.7818 30.002 0 0 -1 0.866 8 6 1 0 +3525 0 1 0 2.0004 32.9156 30.002 0 0 -1 0.866 8 6 1 0 +3526 0 1 0 2.50051 33.7818 30.002 0 0 -1 0.866 8 6 1 0 +3527 0 1 0 3.00061 32.9156 30.002 0 0 -1 0.866 8 6 1 0 +3528 0 1 0 3.50071 33.7818 30.002 0 0 -1 0.866 8 6 1 0 +3529 0 1 0 4.00081 32.9156 30.002 0 0 -1 0.866 8 6 1 0 +3530 0 1 0 4.50091 33.7818 30.002 0 0 -1 0.866 8 6 1 0 +3531 0 1 0 5.00101 32.9156 30.002 0 0 -1 0.866 8 6 1 0 +3532 0 1 0 5.50111 33.7818 30.002 0 0 -1 0.866 8 6 1 0 +3533 0 1 0 6.00121 32.9156 30.002 0 0 -1 0.866 8 6 1 0 +3534 0 1 0 6.50132 33.7818 30.002 0 0 -1 0.866 8 6 1 0 +3535 0 1 0 7.00142 32.9156 30.002 0 0 -1 0.866 8 6 1 0 +3536 0 1 0 7.50152 33.7818 30.002 0 0 -1 0.866 8 6 1 0 +3537 0 1 0 8.00162 32.9156 30.002 0 0 -1 0.866 8 6 1 0 +3538 0 1 0 8.50172 33.7818 30.002 0 0 -1 0.866 8 6 1 0 +3539 0 1 0 9.00182 32.9156 30.002 0 0 -1 0.866 8 6 1 0 +3540 0 1 0 9.50192 33.7818 30.002 0 0 -1 0.866 8 6 1 0 +3541 0 1 0 10.002 32.9156 30.002 0 0 -1 0.866 8 6 1 0 +3542 0 1 0 10.5021 33.7818 30.002 0 0 -1 0.866 8 6 1 0 +3543 0 1 0 11.0022 32.9156 30.002 0 0 -1 0.866 8 6 1 0 +3544 0 1 0 11.5023 33.7818 30.002 0 0 -1 0.866 8 6 1 0 +3545 0 1 0 12.0024 32.9156 30.002 0 0 -1 0.866 8 6 1 0 +3546 0 1 0 12.5025 33.7818 30.002 0 0 -1 0.866 8 6 1 0 +3547 0 1 0 13.0026 32.9156 30.002 0 0 -1 0.866 8 6 1 0 +3548 0 1 0 13.5027 33.7818 30.002 0 0 -1 0.866 8 6 1 0 +3549 0 1 0 14.0028 32.9156 30.002 0 0 -1 0.866 8 6 1 0 +3550 0 1 0 14.5029 33.7818 30.002 0 0 -1 0.866 8 6 1 0 +3551 0 1 0 15.003 32.9156 30.002 0 0 -1 0.866 8 6 1 0 +3552 0 1 0 15.5031 33.7818 30.002 0 0 -1 0.866 8 6 1 0 +3553 0 1 0 16.0032 32.9156 30.002 0 0 -1 0.866 8 6 1 0 +3554 0 1 0 16.5033 33.7818 30.002 0 0 -1 0.866 8 6 1 0 +3555 0 1 0 17.0034 32.9156 30.002 0 0 -1 0.866 8 6 1 0 +3556 0 1 0 17.5035 33.7818 30.002 0 0 -1 0.866 8 6 1 0 +3557 0 1 0 18.0036 32.9156 30.002 0 0 -1 0.866 8 6 1 0 +3558 0 1 0 18.5037 33.7818 30.002 0 0 -1 0.866 8 6 1 0 +3559 0 1 0 19.0038 32.9156 30.002 0 0 -1 0.866 8 6 1 0 +3560 0 1 0 19.5039 33.7818 30.002 0 0 -1 0.866 8 6 1 0 +3561 0 1 0 20.004 32.9156 30.002 0 0 -1 0.866 8 6 1 0 +3562 0 1 0 20.5041 33.7818 30.002 0 0 -1 0.866 8 6 1 0 +3563 0 1 0 21.0042 32.9156 30.002 0 0 -1 0.866 8 6 1 0 +3564 0 1 0 21.5043 33.7818 30.002 0 0 -1 0.866 8 6 1 0 +3565 0 1 0 22.0045 32.9156 30.002 0 0 -1 0.866 8 6 1 0 +3566 0 1 0 22.5046 33.7818 30.002 0 0 -1 0.866 8 6 1 0 +3567 0 1 0 23.0047 32.9156 30.002 0 0 -1 0.866 8 6 1 0 +3568 0 1 0 23.5048 33.7818 30.002 0 0 -1 0.866 8 6 1 0 +3569 0 1 0 24.0049 32.9156 30.002 0 0 -1 0.866 8 6 1 0 +3570 0 1 0 24.505 33.7818 30.002 0 0 -1 0.866 8 6 1 0 +3571 0 1 0 25.0051 32.9156 30.002 0 0 -1 0.866 8 6 1 0 +3572 0 1 0 25.5052 33.7818 30.002 0 0 -1 0.866 8 6 1 0 +3573 0 1 0 26.0053 32.9156 30.002 0 0 -1 0.866 8 6 1 0 +3574 0 1 0 26.5054 33.7818 30.002 0 0 -1 0.866 8 6 1 0 +3575 0 1 0 27.0055 32.9156 30.002 0 0 -1 0.866 8 6 1 0 +3576 0 1 0 27.5056 33.7818 30.002 0 0 -1 0.866 8 6 1 0 +3577 0 1 0 28.0057 32.9156 30.002 0 0 -1 0.866 8 6 1 0 +3578 0 1 0 28.5058 33.7818 30.002 0 0 -1 0.866 8 6 1 0 +3579 0 1 0 29.0059 32.9156 30.002 0 0 -1 0.866 8 6 1 0 +3580 0 1 0 29.506 33.7818 30.002 0 0 -1 0.866 8 6 1 0 +3581 0 1 0 30.0061 32.9156 30.002 0 0 -1 0.866 8 6 1 0 +3582 0 1 0 30.5062 33.7818 30.002 0 0 -1 0.866 8 6 1 0 +3583 0 1 0 31.0063 32.9156 30.002 0 0 -1 0.866 8 6 1 0 +3584 0 1 0 31.5064 33.7818 30.002 0 0 -1 0.866 8 6 1 0 +3585 0 1 0 32.0065 32.9156 30.002 0 0 -1 0.866 8 6 1 0 +3586 0 1 0 32.5066 33.7818 30.002 0 0 -1 0.866 8 6 1 0 +3587 0 1 0 33.0067 32.9156 30.002 0 0 -1 0.866 8 6 1 0 +3588 0 1 0 33.5068 33.7818 30.002 0 0 -1 0.866 8 6 1 0 +3589 0 1 0 34.0069 32.9156 30.002 0 0 -1 0.866 8 6 1 0 +3590 0 1 0 34.507 33.7818 30.002 0 0 -1 0.866 8 6 1 0 +3591 0 1 0 35.0071 32.9156 30.002 0 0 -1 0.866 8 6 1 0 +3592 0 1 0 35.5072 33.7818 30.002 0 0 -1 0.866 8 6 1 0 +3593 0 1 0 36.0073 32.9156 30.002 0 0 -1 0.866 8 6 1 0 +3594 0 1 0 36.5074 33.7818 30.002 0 0 -1 0.866 8 6 1 0 +3595 0 1 0 37.0075 32.9156 30.002 0 0 -1 0.866 8 6 1 0 +3596 0 1 0 37.5076 33.7818 30.002 0 0 -1 0.866 8 6 1 0 +3597 0 1 0 38.0077 32.9156 30.002 0 0 -1 0.866 8 6 1 0 +3598 0 1 0 38.5078 33.7818 30.002 0 0 -1 0.866 8 6 1 0 +3599 0 1 0 39.0079 32.9156 30.002 0 0 -1 0.866 8 6 1 0 +3600 0 1 0 39.508 33.7818 30.002 0 0 -1 0.866 8 6 1 0 +3601 0 1 0 0 34.648 30.002 0 0 -1 0.866 8 6 1 0 +3602 0 1 0 0.500101 35.5142 30.002 0 0 -1 0.866 8 6 1 0 +3603 0 1 0 1.0002 34.648 30.002 0 0 -1 0.866 8 6 1 0 +3604 0 1 0 1.5003 35.5142 30.002 0 0 -1 0.866 8 6 1 0 +3605 0 1 0 2.0004 34.648 30.002 0 0 -1 0.866 8 6 1 0 +3606 0 1 0 2.50051 35.5142 30.002 0 0 -1 0.866 8 6 1 0 +3607 0 1 0 3.00061 34.648 30.002 0 0 -1 0.866 8 6 1 0 +3608 0 1 0 3.50071 35.5142 30.002 0 0 -1 0.866 8 6 1 0 +3609 0 1 0 4.00081 34.648 30.002 0 0 -1 0.866 8 6 1 0 +3610 0 1 0 4.50091 35.5142 30.002 0 0 -1 0.866 8 6 1 0 +3611 0 1 0 5.00101 34.648 30.002 0 0 -1 0.866 8 6 1 0 +3612 0 1 0 5.50111 35.5142 30.002 0 0 -1 0.866 8 6 1 0 +3613 0 1 0 6.00121 34.648 30.002 0 0 -1 0.866 8 6 1 0 +3614 0 1 0 6.50132 35.5142 30.002 0 0 -1 0.866 8 6 1 0 +3615 0 1 0 7.00142 34.648 30.002 0 0 -1 0.866 8 6 1 0 +3616 0 1 0 7.50152 35.5142 30.002 0 0 -1 0.866 8 6 1 0 +3617 0 1 0 8.00162 34.648 30.002 0 0 -1 0.866 8 6 1 0 +3618 0 1 0 8.50172 35.5142 30.002 0 0 -1 0.866 8 6 1 0 +3619 0 1 0 9.00182 34.648 30.002 0 0 -1 0.866 8 6 1 0 +3620 0 1 0 9.50192 35.5142 30.002 0 0 -1 0.866 8 6 1 0 +3621 0 1 0 10.002 34.648 30.002 0 0 -1 0.866 8 6 1 0 +3622 0 1 0 10.5021 35.5142 30.002 0 0 -1 0.866 8 6 1 0 +3623 0 1 0 11.0022 34.648 30.002 0 0 -1 0.866 8 6 1 0 +3624 0 1 0 11.5023 35.5142 30.002 0 0 -1 0.866 8 6 1 0 +3625 0 1 0 12.0024 34.648 30.002 0 0 -1 0.866 8 6 1 0 +3626 0 1 0 12.5025 35.5142 30.002 0 0 -1 0.866 8 6 1 0 +3627 0 1 0 13.0026 34.648 30.002 0 0 -1 0.866 8 6 1 0 +3628 0 1 0 13.5027 35.5142 30.002 0 0 -1 0.866 8 6 1 0 +3629 0 1 0 14.0028 34.648 30.002 0 0 -1 0.866 8 6 1 0 +3630 0 1 0 14.5029 35.5142 30.002 0 0 -1 0.866 8 6 1 0 +3631 0 1 0 15.003 34.648 30.002 0 0 -1 0.866 8 6 1 0 +3632 0 1 0 15.5031 35.5142 30.002 0 0 -1 0.866 8 6 1 0 +3633 0 1 0 16.0032 34.648 30.002 0 0 -1 0.866 8 6 1 0 +3634 0 1 0 16.5033 35.5142 30.002 0 0 -1 0.866 8 6 1 0 +3635 0 1 0 17.0034 34.648 30.002 0 0 -1 0.866 8 6 1 0 +3636 0 1 0 17.5035 35.5142 30.002 0 0 -1 0.866 8 6 1 0 +3637 0 1 0 18.0036 34.648 30.002 0 0 -1 0.866 8 6 1 0 +3638 0 1 0 18.5037 35.5142 30.002 0 0 -1 0.866 8 6 1 0 +3639 0 1 0 19.0038 34.648 30.002 0 0 -1 0.866 8 6 1 0 +3640 0 1 0 19.5039 35.5142 30.002 0 0 -1 0.866 8 6 1 0 +3641 0 1 0 20.004 34.648 30.002 0 0 -1 0.866 8 6 1 0 +3642 0 1 0 20.5041 35.5142 30.002 0 0 -1 0.866 8 6 1 0 +3643 0 1 0 21.0042 34.648 30.002 0 0 -1 0.866 8 6 1 0 +3644 0 1 0 21.5043 35.5142 30.002 0 0 -1 0.866 8 6 1 0 +3645 0 1 0 22.0045 34.648 30.002 0 0 -1 0.866 8 6 1 0 +3646 0 1 0 22.5046 35.5142 30.002 0 0 -1 0.866 8 6 1 0 +3647 0 1 0 23.0047 34.648 30.002 0 0 -1 0.866 8 6 1 0 +3648 0 1 0 23.5048 35.5142 30.002 0 0 -1 0.866 8 6 1 0 +3649 0 1 0 24.0049 34.648 30.002 0 0 -1 0.866 8 6 1 0 +3650 0 1 0 24.505 35.5142 30.002 0 0 -1 0.866 8 6 1 0 +3651 0 1 0 25.0051 34.648 30.002 0 0 -1 0.866 8 6 1 0 +3652 0 1 0 25.5052 35.5142 30.002 0 0 -1 0.866 8 6 1 0 +3653 0 1 0 26.0053 34.648 30.002 0 0 -1 0.866 8 6 1 0 +3654 0 1 0 26.5054 35.5142 30.002 0 0 -1 0.866 8 6 1 0 +3655 0 1 0 27.0055 34.648 30.002 0 0 -1 0.866 8 6 1 0 +3656 0 1 0 27.5056 35.5142 30.002 0 0 -1 0.866 8 6 1 0 +3657 0 1 0 28.0057 34.648 30.002 0 0 -1 0.866 8 6 1 0 +3658 0 1 0 28.5058 35.5142 30.002 0 0 -1 0.866 8 6 1 0 +3659 0 1 0 29.0059 34.648 30.002 0 0 -1 0.866 8 6 1 0 +3660 0 1 0 29.506 35.5142 30.002 0 0 -1 0.866 8 6 1 0 +3661 0 1 0 30.0061 34.648 30.002 0 0 -1 0.866 8 6 1 0 +3662 0 1 0 30.5062 35.5142 30.002 0 0 -1 0.866 8 6 1 0 +3663 0 1 0 31.0063 34.648 30.002 0 0 -1 0.866 8 6 1 0 +3664 0 1 0 31.5064 35.5142 30.002 0 0 -1 0.866 8 6 1 0 +3665 0 1 0 32.0065 34.648 30.002 0 0 -1 0.866 8 6 1 0 +3666 0 1 0 32.5066 35.5142 30.002 0 0 -1 0.866 8 6 1 0 +3667 0 1 0 33.0067 34.648 30.002 0 0 -1 0.866 8 6 1 0 +3668 0 1 0 33.5068 35.5142 30.002 0 0 -1 0.866 8 6 1 0 +3669 0 1 0 34.0069 34.648 30.002 0 0 -1 0.866 8 6 1 0 +3670 0 1 0 34.507 35.5142 30.002 0 0 -1 0.866 8 6 1 0 +3671 0 1 0 35.0071 34.648 30.002 0 0 -1 0.866 8 6 1 0 +3672 0 1 0 35.5072 35.5142 30.002 0 0 -1 0.866 8 6 1 0 +3673 0 1 0 36.0073 34.648 30.002 0 0 -1 0.866 8 6 1 0 +3674 0 1 0 36.5074 35.5142 30.002 0 0 -1 0.866 8 6 1 0 +3675 0 1 0 37.0075 34.648 30.002 0 0 -1 0.866 8 6 1 0 +3676 0 1 0 37.5076 35.5142 30.002 0 0 -1 0.866 8 6 1 0 +3677 0 1 0 38.0077 34.648 30.002 0 0 -1 0.866 8 6 1 0 +3678 0 1 0 38.5078 35.5142 30.002 0 0 -1 0.866 8 6 1 0 +3679 0 1 0 39.0079 34.648 30.002 0 0 -1 0.866 8 6 1 0 +3680 0 1 0 39.508 35.5142 30.002 0 0 -1 0.866 8 6 1 0 +3681 0 1 0 0 36.3804 30.002 0 0 -1 0.866 8 6 1 0 +3682 0 1 0 0.500101 37.2466 30.002 0 0 -1 0.866 8 6 1 0 +3683 0 1 0 1.0002 36.3804 30.002 0 0 -1 0.866 8 6 1 0 +3684 0 1 0 1.5003 37.2466 30.002 0 0 -1 0.866 8 6 1 0 +3685 0 1 0 2.0004 36.3804 30.002 0 0 -1 0.866 8 6 1 0 +3686 0 1 0 2.50051 37.2466 30.002 0 0 -1 0.866 8 6 1 0 +3687 0 1 0 3.00061 36.3804 30.002 0 0 -1 0.866 8 6 1 0 +3688 0 1 0 3.50071 37.2466 30.002 0 0 -1 0.866 8 6 1 0 +3689 0 1 0 4.00081 36.3804 30.002 0 0 -1 0.866 8 6 1 0 +3690 0 1 0 4.50091 37.2466 30.002 0 0 -1 0.866 8 6 1 0 +3691 0 1 0 5.00101 36.3804 30.002 0 0 -1 0.866 8 6 1 0 +3692 0 1 0 5.50111 37.2466 30.002 0 0 -1 0.866 8 6 1 0 +3693 0 1 0 6.00121 36.3804 30.002 0 0 -1 0.866 8 6 1 0 +3694 0 1 0 6.50132 37.2466 30.002 0 0 -1 0.866 8 6 1 0 +3695 0 1 0 7.00142 36.3804 30.002 0 0 -1 0.866 8 6 1 0 +3696 0 1 0 7.50152 37.2466 30.002 0 0 -1 0.866 8 6 1 0 +3697 0 1 0 8.00162 36.3804 30.002 0 0 -1 0.866 8 6 1 0 +3698 0 1 0 8.50172 37.2466 30.002 0 0 -1 0.866 8 6 1 0 +3699 0 1 0 9.00182 36.3804 30.002 0 0 -1 0.866 8 6 1 0 +3700 0 1 0 9.50192 37.2466 30.002 0 0 -1 0.866 8 6 1 0 +3701 0 1 0 10.002 36.3804 30.002 0 0 -1 0.866 8 6 1 0 +3702 0 1 0 10.5021 37.2466 30.002 0 0 -1 0.866 8 6 1 0 +3703 0 1 0 11.0022 36.3804 30.002 0 0 -1 0.866 8 6 1 0 +3704 0 1 0 11.5023 37.2466 30.002 0 0 -1 0.866 8 6 1 0 +3705 0 1 0 12.0024 36.3804 30.002 0 0 -1 0.866 8 6 1 0 +3706 0 1 0 12.5025 37.2466 30.002 0 0 -1 0.866 8 6 1 0 +3707 0 1 0 13.0026 36.3804 30.002 0 0 -1 0.866 8 6 1 0 +3708 0 1 0 13.5027 37.2466 30.002 0 0 -1 0.866 8 6 1 0 +3709 0 1 0 14.0028 36.3804 30.002 0 0 -1 0.866 8 6 1 0 +3710 0 1 0 14.5029 37.2466 30.002 0 0 -1 0.866 8 6 1 0 +3711 0 1 0 15.003 36.3804 30.002 0 0 -1 0.866 8 6 1 0 +3712 0 1 0 15.5031 37.2466 30.002 0 0 -1 0.866 8 6 1 0 +3713 0 1 0 16.0032 36.3804 30.002 0 0 -1 0.866 8 6 1 0 +3714 0 1 0 16.5033 37.2466 30.002 0 0 -1 0.866 8 6 1 0 +3715 0 1 0 17.0034 36.3804 30.002 0 0 -1 0.866 8 6 1 0 +3716 0 1 0 17.5035 37.2466 30.002 0 0 -1 0.866 8 6 1 0 +3717 0 1 0 18.0036 36.3804 30.002 0 0 -1 0.866 8 6 1 0 +3718 0 1 0 18.5037 37.2466 30.002 0 0 -1 0.866 8 6 1 0 +3719 0 1 0 19.0038 36.3804 30.002 0 0 -1 0.866 8 6 1 0 +3720 0 1 0 19.5039 37.2466 30.002 0 0 -1 0.866 8 6 1 0 +3721 0 1 0 20.004 36.3804 30.002 0 0 -1 0.866 8 6 1 0 +3722 0 1 0 20.5041 37.2466 30.002 0 0 -1 0.866 8 6 1 0 +3723 0 1 0 21.0042 36.3804 30.002 0 0 -1 0.866 8 6 1 0 +3724 0 1 0 21.5043 37.2466 30.002 0 0 -1 0.866 8 6 1 0 +3725 0 1 0 22.0045 36.3804 30.002 0 0 -1 0.866 8 6 1 0 +3726 0 1 0 22.5046 37.2466 30.002 0 0 -1 0.866 8 6 1 0 +3727 0 1 0 23.0047 36.3804 30.002 0 0 -1 0.866 8 6 1 0 +3728 0 1 0 23.5048 37.2466 30.002 0 0 -1 0.866 8 6 1 0 +3729 0 1 0 24.0049 36.3804 30.002 0 0 -1 0.866 8 6 1 0 +3730 0 1 0 24.505 37.2466 30.002 0 0 -1 0.866 8 6 1 0 +3731 0 1 0 25.0051 36.3804 30.002 0 0 -1 0.866 8 6 1 0 +3732 0 1 0 25.5052 37.2466 30.002 0 0 -1 0.866 8 6 1 0 +3733 0 1 0 26.0053 36.3804 30.002 0 0 -1 0.866 8 6 1 0 +3734 0 1 0 26.5054 37.2466 30.002 0 0 -1 0.866 8 6 1 0 +3735 0 1 0 27.0055 36.3804 30.002 0 0 -1 0.866 8 6 1 0 +3736 0 1 0 27.5056 37.2466 30.002 0 0 -1 0.866 8 6 1 0 +3737 0 1 0 28.0057 36.3804 30.002 0 0 -1 0.866 8 6 1 0 +3738 0 1 0 28.5058 37.2466 30.002 0 0 -1 0.866 8 6 1 0 +3739 0 1 0 29.0059 36.3804 30.002 0 0 -1 0.866 8 6 1 0 +3740 0 1 0 29.506 37.2466 30.002 0 0 -1 0.866 8 6 1 0 +3741 0 1 0 30.0061 36.3804 30.002 0 0 -1 0.866 8 6 1 0 +3742 0 1 0 30.5062 37.2466 30.002 0 0 -1 0.866 8 6 1 0 +3743 0 1 0 31.0063 36.3804 30.002 0 0 -1 0.866 8 6 1 0 +3744 0 1 0 31.5064 37.2466 30.002 0 0 -1 0.866 8 6 1 0 +3745 0 1 0 32.0065 36.3804 30.002 0 0 -1 0.866 8 6 1 0 +3746 0 1 0 32.5066 37.2466 30.002 0 0 -1 0.866 8 6 1 0 +3747 0 1 0 33.0067 36.3804 30.002 0 0 -1 0.866 8 6 1 0 +3748 0 1 0 33.5068 37.2466 30.002 0 0 -1 0.866 8 6 1 0 +3749 0 1 0 34.0069 36.3804 30.002 0 0 -1 0.866 8 6 1 0 +3750 0 1 0 34.507 37.2466 30.002 0 0 -1 0.866 8 6 1 0 +3751 0 1 0 35.0071 36.3804 30.002 0 0 -1 0.866 8 6 1 0 +3752 0 1 0 35.5072 37.2466 30.002 0 0 -1 0.866 8 6 1 0 +3753 0 1 0 36.0073 36.3804 30.002 0 0 -1 0.866 8 6 1 0 +3754 0 1 0 36.5074 37.2466 30.002 0 0 -1 0.866 8 6 1 0 +3755 0 1 0 37.0075 36.3804 30.002 0 0 -1 0.866 8 6 1 0 +3756 0 1 0 37.5076 37.2466 30.002 0 0 -1 0.866 8 6 1 0 +3757 0 1 0 38.0077 36.3804 30.002 0 0 -1 0.866 8 6 1 0 +3758 0 1 0 38.5078 37.2466 30.002 0 0 -1 0.866 8 6 1 0 +3759 0 1 0 39.0079 36.3804 30.002 0 0 -1 0.866 8 6 1 0 +3760 0 1 0 39.508 37.2466 30.002 0 0 -1 0.866 8 6 1 0 +3761 0 1 0 0 38.1128 30.002 0 0 -1 0.866 8 6 1 0 +3762 0 1 0 0.500101 38.979 30.002 0 0 -1 0.866 8 6 1 0 +3763 0 1 0 1.0002 38.1128 30.002 0 0 -1 0.866 8 6 1 0 +3764 0 1 0 1.5003 38.979 30.002 0 0 -1 0.866 8 6 1 0 +3765 0 1 0 2.0004 38.1128 30.002 0 0 -1 0.866 8 6 1 0 +3766 0 1 0 2.50051 38.979 30.002 0 0 -1 0.866 8 6 1 0 +3767 0 1 0 3.00061 38.1128 30.002 0 0 -1 0.866 8 6 1 0 +3768 0 1 0 3.50071 38.979 30.002 0 0 -1 0.866 8 6 1 0 +3769 0 1 0 4.00081 38.1128 30.002 0 0 -1 0.866 8 6 1 0 +3770 0 1 0 4.50091 38.979 30.002 0 0 -1 0.866 8 6 1 0 +3771 0 1 0 5.00101 38.1128 30.002 0 0 -1 0.866 8 6 1 0 +3772 0 1 0 5.50111 38.979 30.002 0 0 -1 0.866 8 6 1 0 +3773 0 1 0 6.00121 38.1128 30.002 0 0 -1 0.866 8 6 1 0 +3774 0 1 0 6.50132 38.979 30.002 0 0 -1 0.866 8 6 1 0 +3775 0 1 0 7.00142 38.1128 30.002 0 0 -1 0.866 8 6 1 0 +3776 0 1 0 7.50152 38.979 30.002 0 0 -1 0.866 8 6 1 0 +3777 0 1 0 8.00162 38.1128 30.002 0 0 -1 0.866 8 6 1 0 +3778 0 1 0 8.50172 38.979 30.002 0 0 -1 0.866 8 6 1 0 +3779 0 1 0 9.00182 38.1128 30.002 0 0 -1 0.866 8 6 1 0 +3780 0 1 0 9.50192 38.979 30.002 0 0 -1 0.866 8 6 1 0 +3781 0 1 0 10.002 38.1128 30.002 0 0 -1 0.866 8 6 1 0 +3782 0 1 0 10.5021 38.979 30.002 0 0 -1 0.866 8 6 1 0 +3783 0 1 0 11.0022 38.1128 30.002 0 0 -1 0.866 8 6 1 0 +3784 0 1 0 11.5023 38.979 30.002 0 0 -1 0.866 8 6 1 0 +3785 0 1 0 12.0024 38.1128 30.002 0 0 -1 0.866 8 6 1 0 +3786 0 1 0 12.5025 38.979 30.002 0 0 -1 0.866 8 6 1 0 +3787 0 1 0 13.0026 38.1128 30.002 0 0 -1 0.866 8 6 1 0 +3788 0 1 0 13.5027 38.979 30.002 0 0 -1 0.866 8 6 1 0 +3789 0 1 0 14.0028 38.1128 30.002 0 0 -1 0.866 8 6 1 0 +3790 0 1 0 14.5029 38.979 30.002 0 0 -1 0.866 8 6 1 0 +3791 0 1 0 15.003 38.1128 30.002 0 0 -1 0.866 8 6 1 0 +3792 0 1 0 15.5031 38.979 30.002 0 0 -1 0.866 8 6 1 0 +3793 0 1 0 16.0032 38.1128 30.002 0 0 -1 0.866 8 6 1 0 +3794 0 1 0 16.5033 38.979 30.002 0 0 -1 0.866 8 6 1 0 +3795 0 1 0 17.0034 38.1128 30.002 0 0 -1 0.866 8 6 1 0 +3796 0 1 0 17.5035 38.979 30.002 0 0 -1 0.866 8 6 1 0 +3797 0 1 0 18.0036 38.1128 30.002 0 0 -1 0.866 8 6 1 0 +3798 0 1 0 18.5037 38.979 30.002 0 0 -1 0.866 8 6 1 0 +3799 0 1 0 19.0038 38.1128 30.002 0 0 -1 0.866 8 6 1 0 +3800 0 1 0 19.5039 38.979 30.002 0 0 -1 0.866 8 6 1 0 +3801 0 1 0 20.004 38.1128 30.002 0 0 -1 0.866 8 6 1 0 +3802 0 1 0 20.5041 38.979 30.002 0 0 -1 0.866 8 6 1 0 +3803 0 1 0 21.0042 38.1128 30.002 0 0 -1 0.866 8 6 1 0 +3804 0 1 0 21.5043 38.979 30.002 0 0 -1 0.866 8 6 1 0 +3805 0 1 0 22.0045 38.1128 30.002 0 0 -1 0.866 8 6 1 0 +3806 0 1 0 22.5046 38.979 30.002 0 0 -1 0.866 8 6 1 0 +3807 0 1 0 23.0047 38.1128 30.002 0 0 -1 0.866 8 6 1 0 +3808 0 1 0 23.5048 38.979 30.002 0 0 -1 0.866 8 6 1 0 +3809 0 1 0 24.0049 38.1128 30.002 0 0 -1 0.866 8 6 1 0 +3810 0 1 0 24.505 38.979 30.002 0 0 -1 0.866 8 6 1 0 +3811 0 1 0 25.0051 38.1128 30.002 0 0 -1 0.866 8 6 1 0 +3812 0 1 0 25.5052 38.979 30.002 0 0 -1 0.866 8 6 1 0 +3813 0 1 0 26.0053 38.1128 30.002 0 0 -1 0.866 8 6 1 0 +3814 0 1 0 26.5054 38.979 30.002 0 0 -1 0.866 8 6 1 0 +3815 0 1 0 27.0055 38.1128 30.002 0 0 -1 0.866 8 6 1 0 +3816 0 1 0 27.5056 38.979 30.002 0 0 -1 0.866 8 6 1 0 +3817 0 1 0 28.0057 38.1128 30.002 0 0 -1 0.866 8 6 1 0 +3818 0 1 0 28.5058 38.979 30.002 0 0 -1 0.866 8 6 1 0 +3819 0 1 0 29.0059 38.1128 30.002 0 0 -1 0.866 8 6 1 0 +3820 0 1 0 29.506 38.979 30.002 0 0 -1 0.866 8 6 1 0 +3821 0 1 0 30.0061 38.1128 30.002 0 0 -1 0.866 8 6 1 0 +3822 0 1 0 30.5062 38.979 30.002 0 0 -1 0.866 8 6 1 0 +3823 0 1 0 31.0063 38.1128 30.002 0 0 -1 0.866 8 6 1 0 +3824 0 1 0 31.5064 38.979 30.002 0 0 -1 0.866 8 6 1 0 +3825 0 1 0 32.0065 38.1128 30.002 0 0 -1 0.866 8 6 1 0 +3826 0 1 0 32.5066 38.979 30.002 0 0 -1 0.866 8 6 1 0 +3827 0 1 0 33.0067 38.1128 30.002 0 0 -1 0.866 8 6 1 0 +3828 0 1 0 33.5068 38.979 30.002 0 0 -1 0.866 8 6 1 0 +3829 0 1 0 34.0069 38.1128 30.002 0 0 -1 0.866 8 6 1 0 +3830 0 1 0 34.507 38.979 30.002 0 0 -1 0.866 8 6 1 0 +3831 0 1 0 35.0071 38.1128 30.002 0 0 -1 0.866 8 6 1 0 +3832 0 1 0 35.5072 38.979 30.002 0 0 -1 0.866 8 6 1 0 +3833 0 1 0 36.0073 38.1128 30.002 0 0 -1 0.866 8 6 1 0 +3834 0 1 0 36.5074 38.979 30.002 0 0 -1 0.866 8 6 1 0 +3835 0 1 0 37.0075 38.1128 30.002 0 0 -1 0.866 8 6 1 0 +3836 0 1 0 37.5076 38.979 30.002 0 0 -1 0.866 8 6 1 0 +3837 0 1 0 38.0077 38.1128 30.002 0 0 -1 0.866 8 6 1 0 +3838 0 1 0 38.5078 38.979 30.002 0 0 -1 0.866 8 6 1 0 +3839 0 1 0 39.0079 38.1128 30.002 0 0 -1 0.866 8 6 1 0 +3840 0 1 0 39.508 38.979 30.002 0 0 -1 0.866 8 6 1 0 +3841 0 1 0 0 39.8452 30.002 0 0 -1 0.866 8 6 1 0 +3842 0 1 0 0.500101 40.7114 30.002 0 0 -1 0.866 8 6 1 0 +3843 0 1 0 1.0002 39.8452 30.002 0 0 -1 0.866 8 6 1 0 +3844 0 1 0 1.5003 40.7114 30.002 0 0 -1 0.866 8 6 1 0 +3845 0 1 0 2.0004 39.8452 30.002 0 0 -1 0.866 8 6 1 0 +3846 0 1 0 2.50051 40.7114 30.002 0 0 -1 0.866 8 6 1 0 +3847 0 1 0 3.00061 39.8452 30.002 0 0 -1 0.866 8 6 1 0 +3848 0 1 0 3.50071 40.7114 30.002 0 0 -1 0.866 8 6 1 0 +3849 0 1 0 4.00081 39.8452 30.002 0 0 -1 0.866 8 6 1 0 +3850 0 1 0 4.50091 40.7114 30.002 0 0 -1 0.866 8 6 1 0 +3851 0 1 0 5.00101 39.8452 30.002 0 0 -1 0.866 8 6 1 0 +3852 0 1 0 5.50111 40.7114 30.002 0 0 -1 0.866 8 6 1 0 +3853 0 1 0 6.00121 39.8452 30.002 0 0 -1 0.866 8 6 1 0 +3854 0 1 0 6.50132 40.7114 30.002 0 0 -1 0.866 8 6 1 0 +3855 0 1 0 7.00142 39.8452 30.002 0 0 -1 0.866 8 6 1 0 +3856 0 1 0 7.50152 40.7114 30.002 0 0 -1 0.866 8 6 1 0 +3857 0 1 0 8.00162 39.8452 30.002 0 0 -1 0.866 8 6 1 0 +3858 0 1 0 8.50172 40.7114 30.002 0 0 -1 0.866 8 6 1 0 +3859 0 1 0 9.00182 39.8452 30.002 0 0 -1 0.866 8 6 1 0 +3860 0 1 0 9.50192 40.7114 30.002 0 0 -1 0.866 8 6 1 0 +3861 0 1 0 10.002 39.8452 30.002 0 0 -1 0.866 8 6 1 0 +3862 0 1 0 10.5021 40.7114 30.002 0 0 -1 0.866 8 6 1 0 +3863 0 1 0 11.0022 39.8452 30.002 0 0 -1 0.866 8 6 1 0 +3864 0 1 0 11.5023 40.7114 30.002 0 0 -1 0.866 8 6 1 0 +3865 0 1 0 12.0024 39.8452 30.002 0 0 -1 0.866 8 6 1 0 +3866 0 1 0 12.5025 40.7114 30.002 0 0 -1 0.866 8 6 1 0 +3867 0 1 0 13.0026 39.8452 30.002 0 0 -1 0.866 8 6 1 0 +3868 0 1 0 13.5027 40.7114 30.002 0 0 -1 0.866 8 6 1 0 +3869 0 1 0 14.0028 39.8452 30.002 0 0 -1 0.866 8 6 1 0 +3870 0 1 0 14.5029 40.7114 30.002 0 0 -1 0.866 8 6 1 0 +3871 0 1 0 15.003 39.8452 30.002 0 0 -1 0.866 8 6 1 0 +3872 0 1 0 15.5031 40.7114 30.002 0 0 -1 0.866 8 6 1 0 +3873 0 1 0 16.0032 39.8452 30.002 0 0 -1 0.866 8 6 1 0 +3874 0 1 0 16.5033 40.7114 30.002 0 0 -1 0.866 8 6 1 0 +3875 0 1 0 17.0034 39.8452 30.002 0 0 -1 0.866 8 6 1 0 +3876 0 1 0 17.5035 40.7114 30.002 0 0 -1 0.866 8 6 1 0 +3877 0 1 0 18.0036 39.8452 30.002 0 0 -1 0.866 8 6 1 0 +3878 0 1 0 18.5037 40.7114 30.002 0 0 -1 0.866 8 6 1 0 +3879 0 1 0 19.0038 39.8452 30.002 0 0 -1 0.866 8 6 1 0 +3880 0 1 0 19.5039 40.7114 30.002 0 0 -1 0.866 8 6 1 0 +3881 0 1 0 20.004 39.8452 30.002 0 0 -1 0.866 8 6 1 0 +3882 0 1 0 20.5041 40.7114 30.002 0 0 -1 0.866 8 6 1 0 +3883 0 1 0 21.0042 39.8452 30.002 0 0 -1 0.866 8 6 1 0 +3884 0 1 0 21.5043 40.7114 30.002 0 0 -1 0.866 8 6 1 0 +3885 0 1 0 22.0045 39.8452 30.002 0 0 -1 0.866 8 6 1 0 +3886 0 1 0 22.5046 40.7114 30.002 0 0 -1 0.866 8 6 1 0 +3887 0 1 0 23.0047 39.8452 30.002 0 0 -1 0.866 8 6 1 0 +3888 0 1 0 23.5048 40.7114 30.002 0 0 -1 0.866 8 6 1 0 +3889 0 1 0 24.0049 39.8452 30.002 0 0 -1 0.866 8 6 1 0 +3890 0 1 0 24.505 40.7114 30.002 0 0 -1 0.866 8 6 1 0 +3891 0 1 0 25.0051 39.8452 30.002 0 0 -1 0.866 8 6 1 0 +3892 0 1 0 25.5052 40.7114 30.002 0 0 -1 0.866 8 6 1 0 +3893 0 1 0 26.0053 39.8452 30.002 0 0 -1 0.866 8 6 1 0 +3894 0 1 0 26.5054 40.7114 30.002 0 0 -1 0.866 8 6 1 0 +3895 0 1 0 27.0055 39.8452 30.002 0 0 -1 0.866 8 6 1 0 +3896 0 1 0 27.5056 40.7114 30.002 0 0 -1 0.866 8 6 1 0 +3897 0 1 0 28.0057 39.8452 30.002 0 0 -1 0.866 8 6 1 0 +3898 0 1 0 28.5058 40.7114 30.002 0 0 -1 0.866 8 6 1 0 +3899 0 1 0 29.0059 39.8452 30.002 0 0 -1 0.866 8 6 1 0 +3900 0 1 0 29.506 40.7114 30.002 0 0 -1 0.866 8 6 1 0 +3901 0 1 0 30.0061 39.8452 30.002 0 0 -1 0.866 8 6 1 0 +3902 0 1 0 30.5062 40.7114 30.002 0 0 -1 0.866 8 6 1 0 +3903 0 1 0 31.0063 39.8452 30.002 0 0 -1 0.866 8 6 1 0 +3904 0 1 0 31.5064 40.7114 30.002 0 0 -1 0.866 8 6 1 0 +3905 0 1 0 32.0065 39.8452 30.002 0 0 -1 0.866 8 6 1 0 +3906 0 1 0 32.5066 40.7114 30.002 0 0 -1 0.866 8 6 1 0 +3907 0 1 0 33.0067 39.8452 30.002 0 0 -1 0.866 8 6 1 0 +3908 0 1 0 33.5068 40.7114 30.002 0 0 -1 0.866 8 6 1 0 +3909 0 1 0 34.0069 39.8452 30.002 0 0 -1 0.866 8 6 1 0 +3910 0 1 0 34.507 40.7114 30.002 0 0 -1 0.866 8 6 1 0 +3911 0 1 0 35.0071 39.8452 30.002 0 0 -1 0.866 8 6 1 0 +3912 0 1 0 35.5072 40.7114 30.002 0 0 -1 0.866 8 6 1 0 +3913 0 1 0 36.0073 39.8452 30.002 0 0 -1 0.866 8 6 1 0 +3914 0 1 0 36.5074 40.7114 30.002 0 0 -1 0.866 8 6 1 0 +3915 0 1 0 37.0075 39.8452 30.002 0 0 -1 0.866 8 6 1 0 +3916 0 1 0 37.5076 40.7114 30.002 0 0 -1 0.866 8 6 1 0 +3917 0 1 0 38.0077 39.8452 30.002 0 0 -1 0.866 8 6 1 0 +3918 0 1 0 38.5078 40.7114 30.002 0 0 -1 0.866 8 6 1 0 +3919 0 1 0 39.0079 39.8452 30.002 0 0 -1 0.866 8 6 1 0 +3920 0 1 0 39.508 40.7114 30.002 0 0 -1 0.866 8 6 1 0 +3921 0 1 0 0 41.5776 30.002 0 0 -1 0.866 8 6 1 0 +3922 0 1 0 0.500101 42.4438 30.002 0 0 -1 0.866 8 6 1 0 +3923 0 1 0 1.0002 41.5776 30.002 0 0 -1 0.866 8 6 1 0 +3924 0 1 0 1.5003 42.4438 30.002 0 0 -1 0.866 8 6 1 0 +3925 0 1 0 2.0004 41.5776 30.002 0 0 -1 0.866 8 6 1 0 +3926 0 1 0 2.50051 42.4438 30.002 0 0 -1 0.866 8 6 1 0 +3927 0 1 0 3.00061 41.5776 30.002 0 0 -1 0.866 8 6 1 0 +3928 0 1 0 3.50071 42.4438 30.002 0 0 -1 0.866 8 6 1 0 +3929 0 1 0 4.00081 41.5776 30.002 0 0 -1 0.866 8 6 1 0 +3930 0 1 0 4.50091 42.4438 30.002 0 0 -1 0.866 8 6 1 0 +3931 0 1 0 5.00101 41.5776 30.002 0 0 -1 0.866 8 6 1 0 +3932 0 1 0 5.50111 42.4438 30.002 0 0 -1 0.866 8 6 1 0 +3933 0 1 0 6.00121 41.5776 30.002 0 0 -1 0.866 8 6 1 0 +3934 0 1 0 6.50132 42.4438 30.002 0 0 -1 0.866 8 6 1 0 +3935 0 1 0 7.00142 41.5776 30.002 0 0 -1 0.866 8 6 1 0 +3936 0 1 0 7.50152 42.4438 30.002 0 0 -1 0.866 8 6 1 0 +3937 0 1 0 8.00162 41.5776 30.002 0 0 -1 0.866 8 6 1 0 +3938 0 1 0 8.50172 42.4438 30.002 0 0 -1 0.866 8 6 1 0 +3939 0 1 0 9.00182 41.5776 30.002 0 0 -1 0.866 8 6 1 0 +3940 0 1 0 9.50192 42.4438 30.002 0 0 -1 0.866 8 6 1 0 +3941 0 1 0 10.002 41.5776 30.002 0 0 -1 0.866 8 6 1 0 +3942 0 1 0 10.5021 42.4438 30.002 0 0 -1 0.866 8 6 1 0 +3943 0 1 0 11.0022 41.5776 30.002 0 0 -1 0.866 8 6 1 0 +3944 0 1 0 11.5023 42.4438 30.002 0 0 -1 0.866 8 6 1 0 +3945 0 1 0 12.0024 41.5776 30.002 0 0 -1 0.866 8 6 1 0 +3946 0 1 0 12.5025 42.4438 30.002 0 0 -1 0.866 8 6 1 0 +3947 0 1 0 13.0026 41.5776 30.002 0 0 -1 0.866 8 6 1 0 +3948 0 1 0 13.5027 42.4438 30.002 0 0 -1 0.866 8 6 1 0 +3949 0 1 0 14.0028 41.5776 30.002 0 0 -1 0.866 8 6 1 0 +3950 0 1 0 14.5029 42.4438 30.002 0 0 -1 0.866 8 6 1 0 +3951 0 1 0 15.003 41.5776 30.002 0 0 -1 0.866 8 6 1 0 +3952 0 1 0 15.5031 42.4438 30.002 0 0 -1 0.866 8 6 1 0 +3953 0 1 0 16.0032 41.5776 30.002 0 0 -1 0.866 8 6 1 0 +3954 0 1 0 16.5033 42.4438 30.002 0 0 -1 0.866 8 6 1 0 +3955 0 1 0 17.0034 41.5776 30.002 0 0 -1 0.866 8 6 1 0 +3956 0 1 0 17.5035 42.4438 30.002 0 0 -1 0.866 8 6 1 0 +3957 0 1 0 18.0036 41.5776 30.002 0 0 -1 0.866 8 6 1 0 +3958 0 1 0 18.5037 42.4438 30.002 0 0 -1 0.866 8 6 1 0 +3959 0 1 0 19.0038 41.5776 30.002 0 0 -1 0.866 8 6 1 0 +3960 0 1 0 19.5039 42.4438 30.002 0 0 -1 0.866 8 6 1 0 +3961 0 1 0 20.004 41.5776 30.002 0 0 -1 0.866 8 6 1 0 +3962 0 1 0 20.5041 42.4438 30.002 0 0 -1 0.866 8 6 1 0 +3963 0 1 0 21.0042 41.5776 30.002 0 0 -1 0.866 8 6 1 0 +3964 0 1 0 21.5043 42.4438 30.002 0 0 -1 0.866 8 6 1 0 +3965 0 1 0 22.0045 41.5776 30.002 0 0 -1 0.866 8 6 1 0 +3966 0 1 0 22.5046 42.4438 30.002 0 0 -1 0.866 8 6 1 0 +3967 0 1 0 23.0047 41.5776 30.002 0 0 -1 0.866 8 6 1 0 +3968 0 1 0 23.5048 42.4438 30.002 0 0 -1 0.866 8 6 1 0 +3969 0 1 0 24.0049 41.5776 30.002 0 0 -1 0.866 8 6 1 0 +3970 0 1 0 24.505 42.4438 30.002 0 0 -1 0.866 8 6 1 0 +3971 0 1 0 25.0051 41.5776 30.002 0 0 -1 0.866 8 6 1 0 +3972 0 1 0 25.5052 42.4438 30.002 0 0 -1 0.866 8 6 1 0 +3973 0 1 0 26.0053 41.5776 30.002 0 0 -1 0.866 8 6 1 0 +3974 0 1 0 26.5054 42.4438 30.002 0 0 -1 0.866 8 6 1 0 +3975 0 1 0 27.0055 41.5776 30.002 0 0 -1 0.866 8 6 1 0 +3976 0 1 0 27.5056 42.4438 30.002 0 0 -1 0.866 8 6 1 0 +3977 0 1 0 28.0057 41.5776 30.002 0 0 -1 0.866 8 6 1 0 +3978 0 1 0 28.5058 42.4438 30.002 0 0 -1 0.866 8 6 1 0 +3979 0 1 0 29.0059 41.5776 30.002 0 0 -1 0.866 8 6 1 0 +3980 0 1 0 29.506 42.4438 30.002 0 0 -1 0.866 8 6 1 0 +3981 0 1 0 30.0061 41.5776 30.002 0 0 -1 0.866 8 6 1 0 +3982 0 1 0 30.5062 42.4438 30.002 0 0 -1 0.866 8 6 1 0 +3983 0 1 0 31.0063 41.5776 30.002 0 0 -1 0.866 8 6 1 0 +3984 0 1 0 31.5064 42.4438 30.002 0 0 -1 0.866 8 6 1 0 +3985 0 1 0 32.0065 41.5776 30.002 0 0 -1 0.866 8 6 1 0 +3986 0 1 0 32.5066 42.4438 30.002 0 0 -1 0.866 8 6 1 0 +3987 0 1 0 33.0067 41.5776 30.002 0 0 -1 0.866 8 6 1 0 +3988 0 1 0 33.5068 42.4438 30.002 0 0 -1 0.866 8 6 1 0 +3989 0 1 0 34.0069 41.5776 30.002 0 0 -1 0.866 8 6 1 0 +3990 0 1 0 34.507 42.4438 30.002 0 0 -1 0.866 8 6 1 0 +3991 0 1 0 35.0071 41.5776 30.002 0 0 -1 0.866 8 6 1 0 +3992 0 1 0 35.5072 42.4438 30.002 0 0 -1 0.866 8 6 1 0 +3993 0 1 0 36.0073 41.5776 30.002 0 0 -1 0.866 8 6 1 0 +3994 0 1 0 36.5074 42.4438 30.002 0 0 -1 0.866 8 6 1 0 +3995 0 1 0 37.0075 41.5776 30.002 0 0 -1 0.866 8 6 1 0 +3996 0 1 0 37.5076 42.4438 30.002 0 0 -1 0.866 8 6 1 0 +3997 0 1 0 38.0077 41.5776 30.002 0 0 -1 0.866 8 6 1 0 +3998 0 1 0 38.5078 42.4438 30.002 0 0 -1 0.866 8 6 1 0 +3999 0 1 0 39.0079 41.5776 30.002 0 0 -1 0.866 8 6 1 0 +4000 0 1 0 39.508 42.4438 30.002 0 0 -1 0.866 8 6 1 0 +4001 0 2 1 15 20 15 0 0 1 0.866 8 6 10 0 +4002 0 3 -1 25 20 25 0 0 1 0.866 8 6 10 0 diff --git a/examples/USER/dielectric/data.cylinder b/examples/USER/dielectric/data.cylinder new file mode 100644 index 0000000000..f398e5a666 --- /dev/null +++ b/examples/USER/dielectric/data.cylinder @@ -0,0 +1,3616 @@ +LAMMPS data file: a cylindrical interface along z axis with radius R = 5.0, and an ion away from center line d = 7.0, epsilon in = 80, out = 5, normal vectors pointing outward +3601 atoms +2 atom types + +0 100.0 xlo xhi +0 100.0 ylo yhi +0 100.0 zlo zhi + +Masses + +1 1.0 +2 1.0 + +Atoms # dielectric: id mol type q x y z normx normy normz area_per_patch ed em epsilon curvature + +1 1 1 0 55.0 50.0 0.0 1.0 0.0 0 0.872664625997 -75 42.5 42.5 0.2 +2 1 1 0 54.9240387651 50.8682408883 0.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +3 1 1 0 54.6984631039 51.7101007166 0.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +4 1 1 0 54.3301270189 52.5 0.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +5 1 1 0 53.8302222156 53.2139380484 0.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +6 1 1 0 53.2139380484 53.8302222156 0.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +7 1 1 0 52.5 54.3301270189 0.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +8 1 1 0 51.7101007166 54.6984631039 0.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +9 1 1 0 50.8682408883 54.9240387651 0.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +10 1 1 0 50.0 55.0 0.0 6.12323399574e-17 1.0 0 0.872664625997 -75 42.5 42.5 0.2 +11 1 1 0 49.1317591117 54.9240387651 0.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +12 1 1 0 48.2898992834 54.6984631039 0.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +13 1 1 0 47.5 54.3301270189 0.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +14 1 1 0 46.7860619516 53.8302222156 0.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +15 1 1 0 46.1697777844 53.2139380484 0.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +16 1 1 0 45.6698729811 52.5 0.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +17 1 1 0 45.3015368961 51.7101007166 0.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +18 1 1 0 45.0759612349 50.8682408883 0.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +19 1 1 0 45.0 50.0 0.0 -1.0 1.22464679915e-16 0 0.872664625997 -75 42.5 42.5 0.2 +20 1 1 0 45.0759612349 49.1317591117 0.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +21 1 1 0 45.3015368961 48.2898992834 0.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +22 1 1 0 45.6698729811 47.5 0.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +23 1 1 0 46.1697777844 46.7860619516 0.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +24 1 1 0 46.7860619516 46.1697777844 0.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +25 1 1 0 47.5 45.6698729811 0.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +26 1 1 0 48.2898992834 45.3015368961 0.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +27 1 1 0 49.1317591117 45.0759612349 0.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +28 1 1 0 50.0 45.0 0.0 -1.83697019872e-16 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 +29 1 1 0 50.8682408883 45.0759612349 0.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +30 1 1 0 51.7101007166 45.3015368961 0.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +31 1 1 0 52.5 45.6698729811 0.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +32 1 1 0 53.2139380484 46.1697777844 0.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +33 1 1 0 53.8302222156 46.7860619516 0.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +34 1 1 0 54.3301270189 47.5 0.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +35 1 1 0 54.6984631039 48.2898992834 0.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +36 1 1 0 54.9240387651 49.1317591117 0.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +37 1 1 0 54.9809734905 50.4357787137 1.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +38 1 1 0 54.8296291314 51.2940952255 1.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +39 1 1 0 54.5315389352 52.1130913087 1.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +40 1 1 0 54.0957602214 52.8678821818 1.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +41 1 1 0 53.5355339059 53.5355339059 1.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +42 1 1 0 52.8678821818 54.0957602214 1.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +43 1 1 0 52.1130913087 54.5315389352 1.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +44 1 1 0 51.2940952255 54.8296291314 1.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +45 1 1 0 50.4357787137 54.9809734905 1.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +46 1 1 0 49.5642212863 54.9809734905 1.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +47 1 1 0 48.7059047745 54.8296291314 1.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +48 1 1 0 47.8869086913 54.5315389352 1.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +49 1 1 0 47.1321178182 54.0957602214 1.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +50 1 1 0 46.4644660941 53.5355339059 1.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +51 1 1 0 45.9042397786 52.8678821818 1.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +52 1 1 0 45.4684610648 52.1130913087 1.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +53 1 1 0 45.1703708686 51.2940952255 1.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +54 1 1 0 45.0190265095 50.4357787137 1.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +55 1 1 0 45.0190265095 49.5642212863 1.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +56 1 1 0 45.1703708686 48.7059047745 1.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +57 1 1 0 45.4684610648 47.8869086913 1.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +58 1 1 0 45.9042397786 47.1321178182 1.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +59 1 1 0 46.4644660941 46.4644660941 1.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +60 1 1 0 47.1321178182 45.9042397786 1.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +61 1 1 0 47.8869086913 45.4684610648 1.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +62 1 1 0 48.7059047745 45.1703708686 1.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +63 1 1 0 49.5642212863 45.0190265095 1.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +64 1 1 0 50.4357787137 45.0190265095 1.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +65 1 1 0 51.2940952255 45.1703708686 1.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +66 1 1 0 52.1130913087 45.4684610648 1.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +67 1 1 0 52.8678821818 45.9042397786 1.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +68 1 1 0 53.5355339059 46.4644660941 1.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +69 1 1 0 54.0957602214 47.1321178182 1.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +70 1 1 0 54.5315389352 47.8869086913 1.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +71 1 1 0 54.8296291314 48.7059047745 1.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +72 1 1 0 54.9809734905 49.5642212863 1.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +73 1 1 0 54.9240387651 50.8682408883 2.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +74 1 1 0 54.6984631039 51.7101007166 2.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +75 1 1 0 54.3301270189 52.5 2.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +76 1 1 0 53.8302222156 53.2139380484 2.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +77 1 1 0 53.2139380484 53.8302222156 2.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +78 1 1 0 52.5 54.3301270189 2.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +79 1 1 0 51.7101007166 54.6984631039 2.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +80 1 1 0 50.8682408883 54.9240387651 2.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +81 1 1 0 50.0 55.0 2.0 6.12323399574e-17 1.0 0 0.872664625997 -75 42.5 42.5 0.2 +82 1 1 0 49.1317591117 54.9240387651 2.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +83 1 1 0 48.2898992834 54.6984631039 2.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +84 1 1 0 47.5 54.3301270189 2.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +85 1 1 0 46.7860619516 53.8302222156 2.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +86 1 1 0 46.1697777844 53.2139380484 2.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +87 1 1 0 45.6698729811 52.5 2.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +88 1 1 0 45.3015368961 51.7101007166 2.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +89 1 1 0 45.0759612349 50.8682408883 2.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +90 1 1 0 45.0 50.0 2.0 -1.0 5.66553889765e-16 0 0.872664625997 -75 42.5 42.5 0.2 +91 1 1 0 45.0759612349 49.1317591117 2.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +92 1 1 0 45.3015368961 48.2898992834 2.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +93 1 1 0 45.6698729811 47.5 2.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +94 1 1 0 46.1697777844 46.7860619516 2.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +95 1 1 0 46.7860619516 46.1697777844 2.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +96 1 1 0 47.5 45.6698729811 2.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +97 1 1 0 48.2898992834 45.3015368961 2.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +98 1 1 0 49.1317591117 45.0759612349 2.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +99 1 1 0 50.0 45.0 2.0 -1.83697019872e-16 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 +100 1 1 0 50.8682408883 45.0759612349 2.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +101 1 1 0 51.7101007166 45.3015368961 2.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +102 1 1 0 52.5 45.6698729811 2.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +103 1 1 0 53.2139380484 46.1697777844 2.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +104 1 1 0 53.8302222156 46.7860619516 2.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +105 1 1 0 54.3301270189 47.5 2.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +106 1 1 0 54.6984631039 48.2898992834 2.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +107 1 1 0 54.9240387651 49.1317591117 2.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +108 1 1 0 55.0 50.0 2.0 1.0 -2.44929359829e-16 0 0.872664625997 -75 42.5 42.5 0.2 +109 1 1 0 54.8296291314 51.2940952255 3.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +110 1 1 0 54.5315389352 52.1130913087 3.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +111 1 1 0 54.0957602214 52.8678821818 3.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +112 1 1 0 53.5355339059 53.5355339059 3.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +113 1 1 0 52.8678821818 54.0957602214 3.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +114 1 1 0 52.1130913087 54.5315389352 3.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +115 1 1 0 51.2940952255 54.8296291314 3.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +116 1 1 0 50.4357787137 54.9809734905 3.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +117 1 1 0 49.5642212863 54.9809734905 3.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +118 1 1 0 48.7059047745 54.8296291314 3.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +119 1 1 0 47.8869086913 54.5315389352 3.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +120 1 1 0 47.1321178182 54.0957602214 3.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +121 1 1 0 46.4644660941 53.5355339059 3.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +122 1 1 0 45.9042397786 52.8678821818 3.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +123 1 1 0 45.4684610648 52.1130913087 3.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +124 1 1 0 45.1703708686 51.2940952255 3.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +125 1 1 0 45.0190265095 50.4357787137 3.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +126 1 1 0 45.0190265095 49.5642212863 3.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +127 1 1 0 45.1703708686 48.7059047745 3.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +128 1 1 0 45.4684610648 47.8869086913 3.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +129 1 1 0 45.9042397786 47.1321178182 3.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +130 1 1 0 46.4644660941 46.4644660941 3.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +131 1 1 0 47.1321178182 45.9042397786 3.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +132 1 1 0 47.8869086913 45.4684610648 3.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +133 1 1 0 48.7059047745 45.1703708686 3.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +134 1 1 0 49.5642212863 45.0190265095 3.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +135 1 1 0 50.4357787137 45.0190265095 3.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +136 1 1 0 51.2940952255 45.1703708686 3.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +137 1 1 0 52.1130913087 45.4684610648 3.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +138 1 1 0 52.8678821818 45.9042397786 3.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +139 1 1 0 53.5355339059 46.4644660941 3.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +140 1 1 0 54.0957602214 47.1321178182 3.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +141 1 1 0 54.5315389352 47.8869086913 3.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +142 1 1 0 54.8296291314 48.7059047745 3.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +143 1 1 0 54.9809734905 49.5642212863 3.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +144 1 1 0 54.9809734905 50.4357787137 3.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +145 1 1 0 54.6984631039 51.7101007166 4.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +146 1 1 0 54.3301270189 52.5 4.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +147 1 1 0 53.8302222156 53.2139380484 4.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +148 1 1 0 53.2139380484 53.8302222156 4.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +149 1 1 0 52.5 54.3301270189 4.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +150 1 1 0 51.7101007166 54.6984631039 4.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +151 1 1 0 50.8682408883 54.9240387651 4.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +152 1 1 0 50.0 55.0 4.0 6.12323399574e-17 1.0 0 0.872664625997 -75 42.5 42.5 0.2 +153 1 1 0 49.1317591117 54.9240387651 4.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +154 1 1 0 48.2898992834 54.6984631039 4.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +155 1 1 0 47.5 54.3301270189 4.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +156 1 1 0 46.7860619516 53.8302222156 4.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +157 1 1 0 46.1697777844 53.2139380484 4.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +158 1 1 0 45.6698729811 52.5 4.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +159 1 1 0 45.3015368961 51.7101007166 4.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +160 1 1 0 45.0759612349 50.8682408883 4.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +161 1 1 0 45.0 50.0 4.0 -1.0 1.22464679915e-16 0 0.872664625997 -75 42.5 42.5 0.2 +162 1 1 0 45.0759612349 49.1317591117 4.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +163 1 1 0 45.3015368961 48.2898992834 4.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +164 1 1 0 45.6698729811 47.5 4.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +165 1 1 0 46.1697777844 46.7860619516 4.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +166 1 1 0 46.7860619516 46.1697777844 4.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +167 1 1 0 47.5 45.6698729811 4.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +168 1 1 0 48.2898992834 45.3015368961 4.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +169 1 1 0 49.1317591117 45.0759612349 4.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +170 1 1 0 50.0 45.0 4.0 -1.07187543957e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 +171 1 1 0 50.8682408883 45.0759612349 4.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +172 1 1 0 51.7101007166 45.3015368961 4.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +173 1 1 0 52.5 45.6698729811 4.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +174 1 1 0 53.2139380484 46.1697777844 4.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +175 1 1 0 53.8302222156 46.7860619516 4.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +176 1 1 0 54.3301270189 47.5 4.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +177 1 1 0 54.6984631039 48.2898992834 4.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +178 1 1 0 54.9240387651 49.1317591117 4.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +179 1 1 0 55.0 50.0 4.0 1.0 -1.13310777953e-15 0 0.872664625997 -75 42.5 42.5 0.2 +180 1 1 0 54.9240387651 50.8682408883 4.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +181 1 1 0 54.5315389352 52.1130913087 5.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +182 1 1 0 54.0957602214 52.8678821818 5.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +183 1 1 0 53.5355339059 53.5355339059 5.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +184 1 1 0 52.8678821818 54.0957602214 5.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +185 1 1 0 52.1130913087 54.5315389352 5.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +186 1 1 0 51.2940952255 54.8296291314 5.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +187 1 1 0 50.4357787137 54.9809734905 5.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +188 1 1 0 49.5642212863 54.9809734905 5.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +189 1 1 0 48.7059047745 54.8296291314 5.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +190 1 1 0 47.8869086913 54.5315389352 5.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +191 1 1 0 47.1321178182 54.0957602214 5.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +192 1 1 0 46.4644660941 53.5355339059 5.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +193 1 1 0 45.9042397786 52.8678821818 5.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +194 1 1 0 45.4684610648 52.1130913087 5.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +195 1 1 0 45.1703708686 51.2940952255 5.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +196 1 1 0 45.0190265095 50.4357787137 5.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +197 1 1 0 45.0190265095 49.5642212863 5.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +198 1 1 0 45.1703708686 48.7059047745 5.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +199 1 1 0 45.4684610648 47.8869086913 5.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +200 1 1 0 45.9042397786 47.1321178182 5.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +201 1 1 0 46.4644660941 46.4644660941 5.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +202 1 1 0 47.1321178182 45.9042397786 5.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +203 1 1 0 47.8869086913 45.4684610648 5.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +204 1 1 0 48.7059047745 45.1703708686 5.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +205 1 1 0 49.5642212863 45.0190265095 5.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +206 1 1 0 50.4357787137 45.0190265095 5.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +207 1 1 0 51.2940952255 45.1703708686 5.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +208 1 1 0 52.1130913087 45.4684610648 5.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +209 1 1 0 52.8678821818 45.9042397786 5.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +210 1 1 0 53.5355339059 46.4644660941 5.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +211 1 1 0 54.0957602214 47.1321178182 5.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +212 1 1 0 54.5315389352 47.8869086913 5.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +213 1 1 0 54.8296291314 48.7059047745 5.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +214 1 1 0 54.9809734905 49.5642212863 5.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +215 1 1 0 54.9809734905 50.4357787137 5.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +216 1 1 0 54.8296291314 51.2940952255 5.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +217 1 1 0 54.3301270189 52.5 6.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +218 1 1 0 53.8302222156 53.2139380484 6.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +219 1 1 0 53.2139380484 53.8302222156 6.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +220 1 1 0 52.5 54.3301270189 6.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +221 1 1 0 51.7101007166 54.6984631039 6.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +222 1 1 0 50.8682408883 54.9240387651 6.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +223 1 1 0 50.0 55.0 6.0 6.12323399574e-17 1.0 0 0.872664625997 -75 42.5 42.5 0.2 +224 1 1 0 49.1317591117 54.9240387651 6.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +225 1 1 0 48.2898992834 54.6984631039 6.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +226 1 1 0 47.5 54.3301270189 6.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +227 1 1 0 46.7860619516 53.8302222156 6.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +228 1 1 0 46.1697777844 53.2139380484 6.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +229 1 1 0 45.6698729811 52.5 6.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +230 1 1 0 45.3015368961 51.7101007166 6.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +231 1 1 0 45.0759612349 50.8682408883 6.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +232 1 1 0 45.0 50.0 6.0 -1.0 1.22464679915e-16 0 0.872664625997 -75 42.5 42.5 0.2 +233 1 1 0 45.0759612349 49.1317591117 6.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +234 1 1 0 45.3015368961 48.2898992834 6.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +235 1 1 0 45.6698729811 47.5 6.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +236 1 1 0 46.1697777844 46.7860619516 6.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +237 1 1 0 46.7860619516 46.1697777844 6.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +238 1 1 0 47.5 45.6698729811 6.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +239 1 1 0 48.2898992834 45.3015368961 6.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +240 1 1 0 49.1317591117 45.0759612349 6.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +241 1 1 0 50.0 45.0 6.0 -1.83697019872e-16 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 +242 1 1 0 50.8682408883 45.0759612349 6.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +243 1 1 0 51.7101007166 45.3015368961 6.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +244 1 1 0 52.5 45.6698729811 6.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +245 1 1 0 53.2139380484 46.1697777844 6.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +246 1 1 0 53.8302222156 46.7860619516 6.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +247 1 1 0 54.3301270189 47.5 6.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +248 1 1 0 54.6984631039 48.2898992834 6.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +249 1 1 0 54.9240387651 49.1317591117 6.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +250 1 1 0 55.0 50.0 6.0 1.0 -2.44929359829e-16 0 0.872664625997 -75 42.5 42.5 0.2 +251 1 1 0 54.9240387651 50.8682408883 6.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +252 1 1 0 54.6984631039 51.7101007166 6.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +253 1 1 0 54.0957602214 52.8678821818 7.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +254 1 1 0 53.5355339059 53.5355339059 7.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +255 1 1 0 52.8678821818 54.0957602214 7.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +256 1 1 0 52.1130913087 54.5315389352 7.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +257 1 1 0 51.2940952255 54.8296291314 7.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +258 1 1 0 50.4357787137 54.9809734905 7.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +259 1 1 0 49.5642212863 54.9809734905 7.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +260 1 1 0 48.7059047745 54.8296291314 7.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +261 1 1 0 47.8869086913 54.5315389352 7.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +262 1 1 0 47.1321178182 54.0957602214 7.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +263 1 1 0 46.4644660941 53.5355339059 7.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +264 1 1 0 45.9042397786 52.8678821818 7.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +265 1 1 0 45.4684610648 52.1130913087 7.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +266 1 1 0 45.1703708686 51.2940952255 7.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +267 1 1 0 45.0190265095 50.4357787137 7.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +268 1 1 0 45.0190265095 49.5642212863 7.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +269 1 1 0 45.1703708686 48.7059047745 7.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +270 1 1 0 45.4684610648 47.8869086913 7.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +271 1 1 0 45.9042397786 47.1321178182 7.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +272 1 1 0 46.4644660941 46.4644660941 7.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +273 1 1 0 47.1321178182 45.9042397786 7.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +274 1 1 0 47.8869086913 45.4684610648 7.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +275 1 1 0 48.7059047745 45.1703708686 7.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +276 1 1 0 49.5642212863 45.0190265095 7.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +277 1 1 0 50.4357787137 45.0190265095 7.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +278 1 1 0 51.2940952255 45.1703708686 7.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +279 1 1 0 52.1130913087 45.4684610648 7.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +280 1 1 0 52.8678821818 45.9042397786 7.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +281 1 1 0 53.5355339059 46.4644660941 7.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +282 1 1 0 54.0957602214 47.1321178182 7.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +283 1 1 0 54.5315389352 47.8869086913 7.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +284 1 1 0 54.8296291314 48.7059047745 7.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +285 1 1 0 54.9809734905 49.5642212863 7.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +286 1 1 0 54.9809734905 50.4357787137 7.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +287 1 1 0 54.8296291314 51.2940952255 7.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +288 1 1 0 54.5315389352 52.1130913087 7.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +289 1 1 0 53.8302222156 53.2139380484 8.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +290 1 1 0 53.2139380484 53.8302222156 8.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +291 1 1 0 52.5 54.3301270189 8.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +292 1 1 0 51.7101007166 54.6984631039 8.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +293 1 1 0 50.8682408883 54.9240387651 8.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +294 1 1 0 50.0 55.0 8.0 6.12323399574e-17 1.0 0 0.872664625997 -75 42.5 42.5 0.2 +295 1 1 0 49.1317591117 54.9240387651 8.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +296 1 1 0 48.2898992834 54.6984631039 8.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +297 1 1 0 47.5 54.3301270189 8.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +298 1 1 0 46.7860619516 53.8302222156 8.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +299 1 1 0 46.1697777844 53.2139380484 8.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +300 1 1 0 45.6698729811 52.5 8.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +301 1 1 0 45.3015368961 51.7101007166 8.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +302 1 1 0 45.0759612349 50.8682408883 8.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +303 1 1 0 45.0 50.0 8.0 -1.0 1.22464679915e-16 0 0.872664625997 -75 42.5 42.5 0.2 +304 1 1 0 45.0759612349 49.1317591117 8.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +305 1 1 0 45.3015368961 48.2898992834 8.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +306 1 1 0 45.6698729811 47.5 8.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +307 1 1 0 46.1697777844 46.7860619516 8.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +308 1 1 0 46.7860619516 46.1697777844 8.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +309 1 1 0 47.5 45.6698729811 8.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +310 1 1 0 48.2898992834 45.3015368961 8.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +311 1 1 0 49.1317591117 45.0759612349 8.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +312 1 1 0 50.0 45.0 8.0 -1.83697019872e-16 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 +313 1 1 0 50.8682408883 45.0759612349 8.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +314 1 1 0 51.7101007166 45.3015368961 8.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +315 1 1 0 52.5 45.6698729811 8.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +316 1 1 0 53.2139380484 46.1697777844 8.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +317 1 1 0 53.8302222156 46.7860619516 8.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +318 1 1 0 54.3301270189 47.5 8.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +319 1 1 0 54.6984631039 48.2898992834 8.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +320 1 1 0 54.9240387651 49.1317591117 8.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +321 1 1 0 55.0 50.0 8.0 1.0 -2.44929359829e-16 0 0.872664625997 -75 42.5 42.5 0.2 +322 1 1 0 54.9240387651 50.8682408883 8.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +323 1 1 0 54.6984631039 51.7101007166 8.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +324 1 1 0 54.3301270189 52.5 8.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +325 1 1 0 53.5355339059 53.5355339059 9.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +326 1 1 0 52.8678821818 54.0957602214 9.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +327 1 1 0 52.1130913087 54.5315389352 9.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +328 1 1 0 51.2940952255 54.8296291314 9.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +329 1 1 0 50.4357787137 54.9809734905 9.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +330 1 1 0 49.5642212863 54.9809734905 9.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +331 1 1 0 48.7059047745 54.8296291314 9.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +332 1 1 0 47.8869086913 54.5315389352 9.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +333 1 1 0 47.1321178182 54.0957602214 9.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +334 1 1 0 46.4644660941 53.5355339059 9.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +335 1 1 0 45.9042397786 52.8678821818 9.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +336 1 1 0 45.4684610648 52.1130913087 9.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +337 1 1 0 45.1703708686 51.2940952255 9.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +338 1 1 0 45.0190265095 50.4357787137 9.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +339 1 1 0 45.0190265095 49.5642212863 9.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +340 1 1 0 45.1703708686 48.7059047745 9.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +341 1 1 0 45.4684610648 47.8869086913 9.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +342 1 1 0 45.9042397786 47.1321178182 9.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +343 1 1 0 46.4644660941 46.4644660941 9.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +344 1 1 0 47.1321178182 45.9042397786 9.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +345 1 1 0 47.8869086913 45.4684610648 9.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +346 1 1 0 48.7059047745 45.1703708686 9.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +347 1 1 0 49.5642212863 45.0190265095 9.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +348 1 1 0 50.4357787137 45.0190265095 9.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +349 1 1 0 51.2940952255 45.1703708686 9.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +350 1 1 0 52.1130913087 45.4684610648 9.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +351 1 1 0 52.8678821818 45.9042397786 9.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +352 1 1 0 53.5355339059 46.4644660941 9.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +353 1 1 0 54.0957602214 47.1321178182 9.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +354 1 1 0 54.5315389352 47.8869086913 9.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +355 1 1 0 54.8296291314 48.7059047745 9.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +356 1 1 0 54.9809734905 49.5642212863 9.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +357 1 1 0 54.9809734905 50.4357787137 9.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +358 1 1 0 54.8296291314 51.2940952255 9.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +359 1 1 0 54.5315389352 52.1130913087 9.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +360 1 1 0 54.0957602214 52.8678821818 9.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +361 1 1 0 53.2139380484 53.8302222156 10.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +362 1 1 0 52.5 54.3301270189 10.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +363 1 1 0 51.7101007166 54.6984631039 10.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +364 1 1 0 50.8682408883 54.9240387651 10.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +365 1 1 0 50.0 55.0 10.0 6.12323399574e-17 1.0 0 0.872664625997 -75 42.5 42.5 0.2 +366 1 1 0 49.1317591117 54.9240387651 10.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +367 1 1 0 48.2898992834 54.6984631039 10.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +368 1 1 0 47.5 54.3301270189 10.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +369 1 1 0 46.7860619516 53.8302222156 10.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +370 1 1 0 46.1697777844 53.2139380484 10.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +371 1 1 0 45.6698729811 52.5 10.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +372 1 1 0 45.3015368961 51.7101007166 10.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +373 1 1 0 45.0759612349 50.8682408883 10.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +374 1 1 0 45.0 50.0 10.0 -1.0 1.22464679915e-16 0 0.872664625997 -75 42.5 42.5 0.2 +375 1 1 0 45.0759612349 49.1317591117 10.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +376 1 1 0 45.3015368961 48.2898992834 10.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +377 1 1 0 45.6698729811 47.5 10.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +378 1 1 0 46.1697777844 46.7860619516 10.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +379 1 1 0 46.7860619516 46.1697777844 10.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +380 1 1 0 47.5 45.6698729811 10.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +381 1 1 0 48.2898992834 45.3015368961 10.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +382 1 1 0 49.1317591117 45.0759612349 10.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +383 1 1 0 50.0 45.0 10.0 -1.83697019872e-16 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 +384 1 1 0 50.8682408883 45.0759612349 10.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +385 1 1 0 51.7101007166 45.3015368961 10.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +386 1 1 0 52.5 45.6698729811 10.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +387 1 1 0 53.2139380484 46.1697777844 10.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +388 1 1 0 53.8302222156 46.7860619516 10.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +389 1 1 0 54.3301270189 47.5 10.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +390 1 1 0 54.6984631039 48.2898992834 10.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +391 1 1 0 54.9240387651 49.1317591117 10.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +392 1 1 0 55.0 50.0 10.0 1.0 -2.44929359829e-16 0 0.872664625997 -75 42.5 42.5 0.2 +393 1 1 0 54.9240387651 50.8682408883 10.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +394 1 1 0 54.6984631039 51.7101007166 10.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +395 1 1 0 54.3301270189 52.5 10.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +396 1 1 0 53.8302222156 53.2139380484 10.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +397 1 1 0 52.8678821818 54.0957602214 11.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +398 1 1 0 52.1130913087 54.5315389352 11.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +399 1 1 0 51.2940952255 54.8296291314 11.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +400 1 1 0 50.4357787137 54.9809734905 11.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +401 1 1 0 49.5642212863 54.9809734905 11.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +402 1 1 0 48.7059047745 54.8296291314 11.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +403 1 1 0 47.8869086913 54.5315389352 11.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +404 1 1 0 47.1321178182 54.0957602214 11.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +405 1 1 0 46.4644660941 53.5355339059 11.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +406 1 1 0 45.9042397786 52.8678821818 11.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +407 1 1 0 45.4684610648 52.1130913087 11.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +408 1 1 0 45.1703708686 51.2940952255 11.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +409 1 1 0 45.0190265095 50.4357787137 11.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +410 1 1 0 45.0190265095 49.5642212863 11.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +411 1 1 0 45.1703708686 48.7059047745 11.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +412 1 1 0 45.4684610648 47.8869086913 11.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +413 1 1 0 45.9042397786 47.1321178182 11.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +414 1 1 0 46.4644660941 46.4644660941 11.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +415 1 1 0 47.1321178182 45.9042397786 11.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +416 1 1 0 47.8869086913 45.4684610648 11.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +417 1 1 0 48.7059047745 45.1703708686 11.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +418 1 1 0 49.5642212863 45.0190265095 11.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +419 1 1 0 50.4357787137 45.0190265095 11.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +420 1 1 0 51.2940952255 45.1703708686 11.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +421 1 1 0 52.1130913087 45.4684610648 11.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +422 1 1 0 52.8678821818 45.9042397786 11.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +423 1 1 0 53.5355339059 46.4644660941 11.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +424 1 1 0 54.0957602214 47.1321178182 11.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +425 1 1 0 54.5315389352 47.8869086913 11.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +426 1 1 0 54.8296291314 48.7059047745 11.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +427 1 1 0 54.9809734905 49.5642212863 11.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +428 1 1 0 54.9809734905 50.4357787137 11.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +429 1 1 0 54.8296291314 51.2940952255 11.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +430 1 1 0 54.5315389352 52.1130913087 11.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +431 1 1 0 54.0957602214 52.8678821818 11.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +432 1 1 0 53.5355339059 53.5355339059 11.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +433 1 1 0 52.5 54.3301270189 12.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +434 1 1 0 51.7101007166 54.6984631039 12.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +435 1 1 0 50.8682408883 54.9240387651 12.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +436 1 1 0 50.0 55.0 12.0 6.12323399574e-17 1.0 0 0.872664625997 -75 42.5 42.5 0.2 +437 1 1 0 49.1317591117 54.9240387651 12.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +438 1 1 0 48.2898992834 54.6984631039 12.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +439 1 1 0 47.5 54.3301270189 12.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +440 1 1 0 46.7860619516 53.8302222156 12.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +441 1 1 0 46.1697777844 53.2139380484 12.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +442 1 1 0 45.6698729811 52.5 12.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +443 1 1 0 45.3015368961 51.7101007166 12.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +444 1 1 0 45.0759612349 50.8682408883 12.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +445 1 1 0 45.0 50.0 12.0 -1.0 1.22464679915e-16 0 0.872664625997 -75 42.5 42.5 0.2 +446 1 1 0 45.0759612349 49.1317591117 12.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +447 1 1 0 45.3015368961 48.2898992834 12.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +448 1 1 0 45.6698729811 47.5 12.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +449 1 1 0 46.1697777844 46.7860619516 12.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +450 1 1 0 46.7860619516 46.1697777844 12.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +451 1 1 0 47.5 45.6698729811 12.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +452 1 1 0 48.2898992834 45.3015368961 12.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +453 1 1 0 49.1317591117 45.0759612349 12.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +454 1 1 0 50.0 45.0 12.0 -1.83697019872e-16 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 +455 1 1 0 50.8682408883 45.0759612349 12.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +456 1 1 0 51.7101007166 45.3015368961 12.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +457 1 1 0 52.5 45.6698729811 12.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +458 1 1 0 53.2139380484 46.1697777844 12.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +459 1 1 0 53.8302222156 46.7860619516 12.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +460 1 1 0 54.3301270189 47.5 12.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +461 1 1 0 54.6984631039 48.2898992834 12.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +462 1 1 0 54.9240387651 49.1317591117 12.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +463 1 1 0 55.0 50.0 12.0 1.0 -2.44929359829e-16 0 0.872664625997 -75 42.5 42.5 0.2 +464 1 1 0 54.9240387651 50.8682408883 12.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +465 1 1 0 54.6984631039 51.7101007166 12.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +466 1 1 0 54.3301270189 52.5 12.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +467 1 1 0 53.8302222156 53.2139380484 12.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +468 1 1 0 53.2139380484 53.8302222156 12.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +469 1 1 0 52.1130913087 54.5315389352 13.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +470 1 1 0 51.2940952255 54.8296291314 13.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +471 1 1 0 50.4357787137 54.9809734905 13.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +472 1 1 0 49.5642212863 54.9809734905 13.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +473 1 1 0 48.7059047745 54.8296291314 13.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +474 1 1 0 47.8869086913 54.5315389352 13.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +475 1 1 0 47.1321178182 54.0957602214 13.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +476 1 1 0 46.4644660941 53.5355339059 13.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +477 1 1 0 45.9042397786 52.8678821818 13.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +478 1 1 0 45.4684610648 52.1130913087 13.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +479 1 1 0 45.1703708686 51.2940952255 13.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +480 1 1 0 45.0190265095 50.4357787137 13.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +481 1 1 0 45.0190265095 49.5642212863 13.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +482 1 1 0 45.1703708686 48.7059047745 13.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +483 1 1 0 45.4684610648 47.8869086913 13.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +484 1 1 0 45.9042397786 47.1321178182 13.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +485 1 1 0 46.4644660941 46.4644660941 13.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +486 1 1 0 47.1321178182 45.9042397786 13.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +487 1 1 0 47.8869086913 45.4684610648 13.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +488 1 1 0 48.7059047745 45.1703708686 13.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +489 1 1 0 49.5642212863 45.0190265095 13.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +490 1 1 0 50.4357787137 45.0190265095 13.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +491 1 1 0 51.2940952255 45.1703708686 13.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +492 1 1 0 52.1130913087 45.4684610648 13.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +493 1 1 0 52.8678821818 45.9042397786 13.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +494 1 1 0 53.5355339059 46.4644660941 13.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +495 1 1 0 54.0957602214 47.1321178182 13.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +496 1 1 0 54.5315389352 47.8869086913 13.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +497 1 1 0 54.8296291314 48.7059047745 13.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +498 1 1 0 54.9809734905 49.5642212863 13.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +499 1 1 0 54.9809734905 50.4357787137 13.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +500 1 1 0 54.8296291314 51.2940952255 13.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +501 1 1 0 54.5315389352 52.1130913087 13.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +502 1 1 0 54.0957602214 52.8678821818 13.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +503 1 1 0 53.5355339059 53.5355339059 13.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +504 1 1 0 52.8678821818 54.0957602214 13.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +505 1 1 0 51.7101007166 54.6984631039 14.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +506 1 1 0 50.8682408883 54.9240387651 14.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +507 1 1 0 50.0 55.0 14.0 2.83276944882e-16 1.0 0 0.872664625997 -75 42.5 42.5 0.2 +508 1 1 0 49.1317591117 54.9240387651 14.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +509 1 1 0 48.2898992834 54.6984631039 14.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +510 1 1 0 47.5 54.3301270189 14.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +511 1 1 0 46.7860619516 53.8302222156 14.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +512 1 1 0 46.1697777844 53.2139380484 14.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +513 1 1 0 45.6698729811 52.5 14.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +514 1 1 0 45.3015368961 51.7101007166 14.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +515 1 1 0 45.0759612349 50.8682408883 14.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +516 1 1 0 45.0 50.0 14.0 -1.0 1.22464679915e-16 0 0.872664625997 -75 42.5 42.5 0.2 +517 1 1 0 45.0759612349 49.1317591117 14.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +518 1 1 0 45.3015368961 48.2898992834 14.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +519 1 1 0 45.6698729811 47.5 14.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +520 1 1 0 46.1697777844 46.7860619516 14.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +521 1 1 0 46.7860619516 46.1697777844 14.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +522 1 1 0 47.5 45.6698729811 14.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +523 1 1 0 48.2898992834 45.3015368961 14.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +524 1 1 0 49.1317591117 45.0759612349 14.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +525 1 1 0 50.0 45.0 14.0 -1.83697019872e-16 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 +526 1 1 0 50.8682408883 45.0759612349 14.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +527 1 1 0 51.7101007166 45.3015368961 14.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +528 1 1 0 52.5 45.6698729811 14.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +529 1 1 0 53.2139380484 46.1697777844 14.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +530 1 1 0 53.8302222156 46.7860619516 14.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +531 1 1 0 54.3301270189 47.5 14.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +532 1 1 0 54.6984631039 48.2898992834 14.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +533 1 1 0 54.9240387651 49.1317591117 14.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +534 1 1 0 55.0 50.0 14.0 1.0 -1.13310777953e-15 0 0.872664625997 -75 42.5 42.5 0.2 +535 1 1 0 54.9240387651 50.8682408883 14.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +536 1 1 0 54.6984631039 51.7101007166 14.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +537 1 1 0 54.3301270189 52.5 14.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +538 1 1 0 53.8302222156 53.2139380484 14.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +539 1 1 0 53.2139380484 53.8302222156 14.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +540 1 1 0 52.5 54.3301270189 14.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +541 1 1 0 51.2940952255 54.8296291314 15.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +542 1 1 0 50.4357787137 54.9809734905 15.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +543 1 1 0 49.5642212863 54.9809734905 15.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +544 1 1 0 48.7059047745 54.8296291314 15.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +545 1 1 0 47.8869086913 54.5315389352 15.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +546 1 1 0 47.1321178182 54.0957602214 15.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +547 1 1 0 46.4644660941 53.5355339059 15.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +548 1 1 0 45.9042397786 52.8678821818 15.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +549 1 1 0 45.4684610648 52.1130913087 15.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +550 1 1 0 45.1703708686 51.2940952255 15.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +551 1 1 0 45.0190265095 50.4357787137 15.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +552 1 1 0 45.0190265095 49.5642212863 15.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +553 1 1 0 45.1703708686 48.7059047745 15.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +554 1 1 0 45.4684610648 47.8869086913 15.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +555 1 1 0 45.9042397786 47.1321178182 15.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +556 1 1 0 46.4644660941 46.4644660941 15.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +557 1 1 0 47.1321178182 45.9042397786 15.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +558 1 1 0 47.8869086913 45.4684610648 15.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +559 1 1 0 48.7059047745 45.1703708686 15.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +560 1 1 0 49.5642212863 45.0190265095 15.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +561 1 1 0 50.4357787137 45.0190265095 15.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +562 1 1 0 51.2940952255 45.1703708686 15.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +563 1 1 0 52.1130913087 45.4684610648 15.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +564 1 1 0 52.8678821818 45.9042397786 15.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +565 1 1 0 53.5355339059 46.4644660941 15.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +566 1 1 0 54.0957602214 47.1321178182 15.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +567 1 1 0 54.5315389352 47.8869086913 15.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +568 1 1 0 54.8296291314 48.7059047745 15.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +569 1 1 0 54.9809734905 49.5642212863 15.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +570 1 1 0 54.9809734905 50.4357787137 15.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +571 1 1 0 54.8296291314 51.2940952255 15.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +572 1 1 0 54.5315389352 52.1130913087 15.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +573 1 1 0 54.0957602214 52.8678821818 15.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +574 1 1 0 53.5355339059 53.5355339059 15.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +575 1 1 0 52.8678821818 54.0957602214 15.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +576 1 1 0 52.1130913087 54.5315389352 15.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +577 1 1 0 50.8682408883 54.9240387651 16.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +578 1 1 0 50.0 55.0 16.0 5.05321549807e-16 1.0 0 0.872664625997 -75 42.5 42.5 0.2 +579 1 1 0 49.1317591117 54.9240387651 16.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +580 1 1 0 48.2898992834 54.6984631039 16.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +581 1 1 0 47.5 54.3301270189 16.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +582 1 1 0 46.7860619516 53.8302222156 16.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +583 1 1 0 46.1697777844 53.2139380484 16.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +584 1 1 0 45.6698729811 52.5 16.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +585 1 1 0 45.3015368961 51.7101007166 16.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +586 1 1 0 45.0759612349 50.8682408883 16.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +587 1 1 0 45.0 50.0 16.0 -1.0 5.66553889765e-16 0 0.872664625997 -75 42.5 42.5 0.2 +588 1 1 0 45.0759612349 49.1317591117 16.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +589 1 1 0 45.3015368961 48.2898992834 16.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +590 1 1 0 45.6698729811 47.5 16.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +591 1 1 0 46.1697777844 46.7860619516 16.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +592 1 1 0 46.7860619516 46.1697777844 16.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +593 1 1 0 47.5 45.6698729811 16.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +594 1 1 0 48.2898992834 45.3015368961 16.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +595 1 1 0 49.1317591117 45.0759612349 16.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +596 1 1 0 50.0 45.0 16.0 -1.07187543957e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 +597 1 1 0 50.8682408883 45.0759612349 16.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +598 1 1 0 51.7101007166 45.3015368961 16.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +599 1 1 0 52.5 45.6698729811 16.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +600 1 1 0 53.2139380484 46.1697777844 16.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +601 1 1 0 53.8302222156 46.7860619516 16.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +602 1 1 0 54.3301270189 47.5 16.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +603 1 1 0 54.6984631039 48.2898992834 16.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +604 1 1 0 54.9240387651 49.1317591117 16.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +605 1 1 0 55.0 50.0 16.0 1.0 -1.13310777953e-15 0 0.872664625997 -75 42.5 42.5 0.2 +606 1 1 0 54.9240387651 50.8682408883 16.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +607 1 1 0 54.6984631039 51.7101007166 16.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +608 1 1 0 54.3301270189 52.5 16.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +609 1 1 0 53.8302222156 53.2139380484 16.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +610 1 1 0 53.2139380484 53.8302222156 16.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +611 1 1 0 52.5 54.3301270189 16.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +612 1 1 0 51.7101007166 54.6984631039 16.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +613 1 1 0 50.4357787137 54.9809734905 17.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +614 1 1 0 49.5642212863 54.9809734905 17.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +615 1 1 0 48.7059047745 54.8296291314 17.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +616 1 1 0 47.8869086913 54.5315389352 17.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +617 1 1 0 47.1321178182 54.0957602214 17.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +618 1 1 0 46.4644660941 53.5355339059 17.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +619 1 1 0 45.9042397786 52.8678821818 17.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +620 1 1 0 45.4684610648 52.1130913087 17.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +621 1 1 0 45.1703708686 51.2940952255 17.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +622 1 1 0 45.0190265095 50.4357787137 17.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +623 1 1 0 45.0190265095 49.5642212863 17.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +624 1 1 0 45.1703708686 48.7059047745 17.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +625 1 1 0 45.4684610648 47.8869086913 17.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +626 1 1 0 45.9042397786 47.1321178182 17.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +627 1 1 0 46.4644660941 46.4644660941 17.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +628 1 1 0 47.1321178182 45.9042397786 17.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +629 1 1 0 47.8869086913 45.4684610648 17.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +630 1 1 0 48.7059047745 45.1703708686 17.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +631 1 1 0 49.5642212863 45.0190265095 17.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +632 1 1 0 50.4357787137 45.0190265095 17.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +633 1 1 0 51.2940952255 45.1703708686 17.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +634 1 1 0 52.1130913087 45.4684610648 17.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +635 1 1 0 52.8678821818 45.9042397786 17.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +636 1 1 0 53.5355339059 46.4644660941 17.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +637 1 1 0 54.0957602214 47.1321178182 17.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +638 1 1 0 54.5315389352 47.8869086913 17.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +639 1 1 0 54.8296291314 48.7059047745 17.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +640 1 1 0 54.9809734905 49.5642212863 17.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +641 1 1 0 54.9809734905 50.4357787137 17.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +642 1 1 0 54.8296291314 51.2940952255 17.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +643 1 1 0 54.5315389352 52.1130913087 17.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +644 1 1 0 54.0957602214 52.8678821818 17.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +645 1 1 0 53.5355339059 53.5355339059 17.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +646 1 1 0 52.8678821818 54.0957602214 17.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +647 1 1 0 52.1130913087 54.5315389352 17.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +648 1 1 0 51.2940952255 54.8296291314 17.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +649 1 1 0 50.0 55.0 18.0 7.27366154732e-16 1.0 0 0.872664625997 -75 42.5 42.5 0.2 +650 1 1 0 49.1317591117 54.9240387651 18.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +651 1 1 0 48.2898992834 54.6984631039 18.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +652 1 1 0 47.5 54.3301270189 18.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +653 1 1 0 46.7860619516 53.8302222156 18.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +654 1 1 0 46.1697777844 53.2139380484 18.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +655 1 1 0 45.6698729811 52.5 18.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +656 1 1 0 45.3015368961 51.7101007166 18.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +657 1 1 0 45.0759612349 50.8682408883 18.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +658 1 1 0 45.0 50.0 18.0 -1.0 1.01064309961e-15 0 0.872664625997 -75 42.5 42.5 0.2 +659 1 1 0 45.0759612349 49.1317591117 18.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +660 1 1 0 45.3015368961 48.2898992834 18.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +661 1 1 0 45.6698729811 47.5 18.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +662 1 1 0 46.1697777844 46.7860619516 18.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +663 1 1 0 46.7860619516 46.1697777844 18.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +664 1 1 0 47.5 45.6698729811 18.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +665 1 1 0 48.2898992834 45.3015368961 18.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +666 1 1 0 49.1317591117 45.0759612349 18.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +667 1 1 0 50.0 45.0 18.0 -1.07187543957e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 +668 1 1 0 50.8682408883 45.0759612349 18.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +669 1 1 0 51.7101007166 45.3015368961 18.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +670 1 1 0 52.5 45.6698729811 18.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +671 1 1 0 53.2139380484 46.1697777844 18.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +672 1 1 0 53.8302222156 46.7860619516 18.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +673 1 1 0 54.3301270189 47.5 18.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +674 1 1 0 54.6984631039 48.2898992834 18.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +675 1 1 0 54.9240387651 49.1317591117 18.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +676 1 1 0 55.0 50.0 18.0 1.0 -1.13310777953e-15 0 0.872664625997 -75 42.5 42.5 0.2 +677 1 1 0 54.9240387651 50.8682408883 18.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +678 1 1 0 54.6984631039 51.7101007166 18.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +679 1 1 0 54.3301270189 52.5 18.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +680 1 1 0 53.8302222156 53.2139380484 18.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +681 1 1 0 53.2139380484 53.8302222156 18.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +682 1 1 0 52.5 54.3301270189 18.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +683 1 1 0 51.7101007166 54.6984631039 18.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +684 1 1 0 50.8682408883 54.9240387651 18.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +685 1 1 0 49.5642212863 54.9809734905 19.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +686 1 1 0 48.7059047745 54.8296291314 19.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +687 1 1 0 47.8869086913 54.5315389352 19.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +688 1 1 0 47.1321178182 54.0957602214 19.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +689 1 1 0 46.4644660941 53.5355339059 19.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +690 1 1 0 45.9042397786 52.8678821818 19.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +691 1 1 0 45.4684610648 52.1130913087 19.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +692 1 1 0 45.1703708686 51.2940952255 19.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +693 1 1 0 45.0190265095 50.4357787137 19.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +694 1 1 0 45.0190265095 49.5642212863 19.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +695 1 1 0 45.1703708686 48.7059047745 19.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +696 1 1 0 45.4684610648 47.8869086913 19.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +697 1 1 0 45.9042397786 47.1321178182 19.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +698 1 1 0 46.4644660941 46.4644660941 19.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +699 1 1 0 47.1321178182 45.9042397786 19.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +700 1 1 0 47.8869086913 45.4684610648 19.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +701 1 1 0 48.7059047745 45.1703708686 19.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +702 1 1 0 49.5642212863 45.0190265095 19.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +703 1 1 0 50.4357787137 45.0190265095 19.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +704 1 1 0 51.2940952255 45.1703708686 19.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +705 1 1 0 52.1130913087 45.4684610648 19.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +706 1 1 0 52.8678821818 45.9042397786 19.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +707 1 1 0 53.5355339059 46.4644660941 19.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +708 1 1 0 54.0957602214 47.1321178182 19.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +709 1 1 0 54.5315389352 47.8869086913 19.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +710 1 1 0 54.8296291314 48.7059047745 19.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +711 1 1 0 54.9809734905 49.5642212863 19.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +712 1 1 0 54.9809734905 50.4357787137 19.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +713 1 1 0 54.8296291314 51.2940952255 19.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +714 1 1 0 54.5315389352 52.1130913087 19.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +715 1 1 0 54.0957602214 52.8678821818 19.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +716 1 1 0 53.5355339059 53.5355339059 19.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +717 1 1 0 52.8678821818 54.0957602214 19.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +718 1 1 0 52.1130913087 54.5315389352 19.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +719 1 1 0 51.2940952255 54.8296291314 19.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +720 1 1 0 50.4357787137 54.9809734905 19.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +721 1 1 0 49.1317591117 54.9240387651 20.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +722 1 1 0 48.2898992834 54.6984631039 20.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +723 1 1 0 47.5 54.3301270189 20.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +724 1 1 0 46.7860619516 53.8302222156 20.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +725 1 1 0 46.1697777844 53.2139380484 20.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +726 1 1 0 45.6698729811 52.5 20.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +727 1 1 0 45.3015368961 51.7101007166 20.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +728 1 1 0 45.0759612349 50.8682408883 20.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +729 1 1 0 45.0 50.0 20.0 -1.0 1.01064309961e-15 0 0.872664625997 -75 42.5 42.5 0.2 +730 1 1 0 45.0759612349 49.1317591117 20.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +731 1 1 0 45.3015368961 48.2898992834 20.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +732 1 1 0 45.6698729811 47.5 20.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +733 1 1 0 46.1697777844 46.7860619516 20.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +734 1 1 0 46.7860619516 46.1697777844 20.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +735 1 1 0 47.5 45.6698729811 20.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +736 1 1 0 48.2898992834 45.3015368961 20.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +737 1 1 0 49.1317591117 45.0759612349 20.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +738 1 1 0 50.0 45.0 20.0 -1.07187543957e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 +739 1 1 0 50.8682408883 45.0759612349 20.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +740 1 1 0 51.7101007166 45.3015368961 20.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +741 1 1 0 52.5 45.6698729811 20.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +742 1 1 0 53.2139380484 46.1697777844 20.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +743 1 1 0 53.8302222156 46.7860619516 20.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +744 1 1 0 54.3301270189 47.5 20.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +745 1 1 0 54.6984631039 48.2898992834 20.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +746 1 1 0 54.9240387651 49.1317591117 20.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +747 1 1 0 55.0 50.0 20.0 1.0 -1.13310777953e-15 0 0.872664625997 -75 42.5 42.5 0.2 +748 1 1 0 54.9240387651 50.8682408883 20.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +749 1 1 0 54.6984631039 51.7101007166 20.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +750 1 1 0 54.3301270189 52.5 20.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +751 1 1 0 53.8302222156 53.2139380484 20.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +752 1 1 0 53.2139380484 53.8302222156 20.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +753 1 1 0 52.5 54.3301270189 20.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +754 1 1 0 51.7101007166 54.6984631039 20.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +755 1 1 0 50.8682408883 54.9240387651 20.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +756 1 1 0 50.0 55.0 20.0 1.19434011949e-15 1.0 0 0.872664625997 -75 42.5 42.5 0.2 +757 1 1 0 48.7059047745 54.8296291314 21.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +758 1 1 0 47.8869086913 54.5315389352 21.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +759 1 1 0 47.1321178182 54.0957602214 21.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +760 1 1 0 46.4644660941 53.5355339059 21.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +761 1 1 0 45.9042397786 52.8678821818 21.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +762 1 1 0 45.4684610648 52.1130913087 21.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +763 1 1 0 45.1703708686 51.2940952255 21.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +764 1 1 0 45.0190265095 50.4357787137 21.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +765 1 1 0 45.0190265095 49.5642212863 21.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +766 1 1 0 45.1703708686 48.7059047745 21.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +767 1 1 0 45.4684610648 47.8869086913 21.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +768 1 1 0 45.9042397786 47.1321178182 21.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +769 1 1 0 46.4644660941 46.4644660941 21.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +770 1 1 0 47.1321178182 45.9042397786 21.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +771 1 1 0 47.8869086913 45.4684610648 21.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +772 1 1 0 48.7059047745 45.1703708686 21.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +773 1 1 0 49.5642212863 45.0190265095 21.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +774 1 1 0 50.4357787137 45.0190265095 21.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +775 1 1 0 51.2940952255 45.1703708686 21.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +776 1 1 0 52.1130913087 45.4684610648 21.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +777 1 1 0 52.8678821818 45.9042397786 21.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +778 1 1 0 53.5355339059 46.4644660941 21.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +779 1 1 0 54.0957602214 47.1321178182 21.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +780 1 1 0 54.5315389352 47.8869086913 21.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +781 1 1 0 54.8296291314 48.7059047745 21.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +782 1 1 0 54.9809734905 49.5642212863 21.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +783 1 1 0 54.9809734905 50.4357787137 21.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +784 1 1 0 54.8296291314 51.2940952255 21.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +785 1 1 0 54.5315389352 52.1130913087 21.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +786 1 1 0 54.0957602214 52.8678821818 21.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +787 1 1 0 53.5355339059 53.5355339059 21.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +788 1 1 0 52.8678821818 54.0957602214 21.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +789 1 1 0 52.1130913087 54.5315389352 21.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +790 1 1 0 51.2940952255 54.8296291314 21.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +791 1 1 0 50.4357787137 54.9809734905 21.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +792 1 1 0 49.5642212863 54.9809734905 21.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +793 1 1 0 48.2898992834 54.6984631039 22.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +794 1 1 0 47.5 54.3301270189 22.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +795 1 1 0 46.7860619516 53.8302222156 22.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +796 1 1 0 46.1697777844 53.2139380484 22.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +797 1 1 0 45.6698729811 52.5 22.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +798 1 1 0 45.3015368961 51.7101007166 22.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +799 1 1 0 45.0759612349 50.8682408883 22.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +800 1 1 0 45.0 50.0 22.0 -1.0 1.01064309961e-15 0 0.872664625997 -75 42.5 42.5 0.2 +801 1 1 0 45.0759612349 49.1317591117 22.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +802 1 1 0 45.3015368961 48.2898992834 22.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +803 1 1 0 45.6698729811 47.5 22.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +804 1 1 0 46.1697777844 46.7860619516 22.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +805 1 1 0 46.7860619516 46.1697777844 22.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +806 1 1 0 47.5 45.6698729811 22.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +807 1 1 0 48.2898992834 45.3015368961 22.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +808 1 1 0 49.1317591117 45.0759612349 22.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +809 1 1 0 50.0 45.0 22.0 -1.07187543957e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 +810 1 1 0 50.8682408883 45.0759612349 22.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +811 1 1 0 51.7101007166 45.3015368961 22.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +812 1 1 0 52.5 45.6698729811 22.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +813 1 1 0 53.2139380484 46.1697777844 22.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +814 1 1 0 53.8302222156 46.7860619516 22.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +815 1 1 0 54.3301270189 47.5 22.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +816 1 1 0 54.6984631039 48.2898992834 22.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +817 1 1 0 54.9240387651 49.1317591117 22.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +818 1 1 0 55.0 50.0 22.0 1.0 -2.02128619923e-15 0 0.872664625997 -75 42.5 42.5 0.2 +819 1 1 0 54.9240387651 50.8682408883 22.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +820 1 1 0 54.6984631039 51.7101007166 22.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +821 1 1 0 54.3301270189 52.5 22.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +822 1 1 0 53.8302222156 53.2139380484 22.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +823 1 1 0 53.2139380484 53.8302222156 22.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +824 1 1 0 52.5 54.3301270189 22.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +825 1 1 0 51.7101007166 54.6984631039 22.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +826 1 1 0 50.8682408883 54.9240387651 22.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +827 1 1 0 50.0 55.0 22.0 2.08251853919e-15 1.0 0 0.872664625997 -75 42.5 42.5 0.2 +828 1 1 0 49.1317591117 54.9240387651 22.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +829 1 1 0 47.8869086913 54.5315389352 23.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +830 1 1 0 47.1321178182 54.0957602214 23.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +831 1 1 0 46.4644660941 53.5355339059 23.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +832 1 1 0 45.9042397786 52.8678821818 23.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +833 1 1 0 45.4684610648 52.1130913087 23.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +834 1 1 0 45.1703708686 51.2940952255 23.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +835 1 1 0 45.0190265095 50.4357787137 23.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +836 1 1 0 45.0190265095 49.5642212863 23.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +837 1 1 0 45.1703708686 48.7059047745 23.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +838 1 1 0 45.4684610648 47.8869086913 23.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +839 1 1 0 45.9042397786 47.1321178182 23.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +840 1 1 0 46.4644660941 46.4644660941 23.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +841 1 1 0 47.1321178182 45.9042397786 23.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +842 1 1 0 47.8869086913 45.4684610648 23.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +843 1 1 0 48.7059047745 45.1703708686 23.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +844 1 1 0 49.5642212863 45.0190265095 23.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +845 1 1 0 50.4357787137 45.0190265095 23.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +846 1 1 0 51.2940952255 45.1703708686 23.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +847 1 1 0 52.1130913087 45.4684610648 23.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +848 1 1 0 52.8678821818 45.9042397786 23.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +849 1 1 0 53.5355339059 46.4644660941 23.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +850 1 1 0 54.0957602214 47.1321178182 23.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +851 1 1 0 54.5315389352 47.8869086913 23.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +852 1 1 0 54.8296291314 48.7059047745 23.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +853 1 1 0 54.9809734905 49.5642212863 23.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +854 1 1 0 54.9809734905 50.4357787137 23.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +855 1 1 0 54.8296291314 51.2940952255 23.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +856 1 1 0 54.5315389352 52.1130913087 23.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +857 1 1 0 54.0957602214 52.8678821818 23.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +858 1 1 0 53.5355339059 53.5355339059 23.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +859 1 1 0 52.8678821818 54.0957602214 23.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +860 1 1 0 52.1130913087 54.5315389352 23.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +861 1 1 0 51.2940952255 54.8296291314 23.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +862 1 1 0 50.4357787137 54.9809734905 23.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +863 1 1 0 49.5642212863 54.9809734905 23.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +864 1 1 0 48.7059047745 54.8296291314 23.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +865 1 1 0 47.5 54.3301270189 24.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +866 1 1 0 46.7860619516 53.8302222156 24.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +867 1 1 0 46.1697777844 53.2139380484 24.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +868 1 1 0 45.6698729811 52.5 24.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +869 1 1 0 45.3015368961 51.7101007166 24.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +870 1 1 0 45.0759612349 50.8682408883 24.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +871 1 1 0 45.0 50.0 24.0 -1.0 1.01064309961e-15 0 0.872664625997 -75 42.5 42.5 0.2 +872 1 1 0 45.0759612349 49.1317591117 24.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +873 1 1 0 45.3015368961 48.2898992834 24.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +874 1 1 0 45.6698729811 47.5 24.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +875 1 1 0 46.1697777844 46.7860619516 24.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +876 1 1 0 46.7860619516 46.1697777844 24.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +877 1 1 0 47.5 45.6698729811 24.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +878 1 1 0 48.2898992834 45.3015368961 24.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +879 1 1 0 49.1317591117 45.0759612349 24.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +880 1 1 0 50.0 45.0 24.0 -1.07187543957e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 +881 1 1 0 50.8682408883 45.0759612349 24.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +882 1 1 0 51.7101007166 45.3015368961 24.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +883 1 1 0 52.5 45.6698729811 24.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +884 1 1 0 53.2139380484 46.1697777844 24.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +885 1 1 0 53.8302222156 46.7860619516 24.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +886 1 1 0 54.3301270189 47.5 24.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +887 1 1 0 54.6984631039 48.2898992834 24.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +888 1 1 0 54.9240387651 49.1317591117 24.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +889 1 1 0 55.0 50.0 24.0 1.0 -2.02128619923e-15 0 0.872664625997 -75 42.5 42.5 0.2 +890 1 1 0 54.9240387651 50.8682408883 24.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +891 1 1 0 54.6984631039 51.7101007166 24.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +892 1 1 0 54.3301270189 52.5 24.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +893 1 1 0 53.8302222156 53.2139380484 24.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +894 1 1 0 53.2139380484 53.8302222156 24.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +895 1 1 0 52.5 54.3301270189 24.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +896 1 1 0 51.7101007166 54.6984631039 24.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +897 1 1 0 50.8682408883 54.9240387651 24.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +898 1 1 0 50.0 55.0 24.0 2.08251853919e-15 1.0 0 0.872664625997 -75 42.5 42.5 0.2 +899 1 1 0 49.1317591117 54.9240387651 24.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +900 1 1 0 48.2898992834 54.6984631039 24.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +901 1 1 0 47.1321178182 54.0957602214 25.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +902 1 1 0 46.4644660941 53.5355339059 25.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +903 1 1 0 45.9042397786 52.8678821818 25.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +904 1 1 0 45.4684610648 52.1130913087 25.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +905 1 1 0 45.1703708686 51.2940952255 25.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +906 1 1 0 45.0190265095 50.4357787137 25.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +907 1 1 0 45.0190265095 49.5642212863 25.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +908 1 1 0 45.1703708686 48.7059047745 25.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +909 1 1 0 45.4684610648 47.8869086913 25.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +910 1 1 0 45.9042397786 47.1321178182 25.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +911 1 1 0 46.4644660941 46.4644660941 25.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +912 1 1 0 47.1321178182 45.9042397786 25.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +913 1 1 0 47.8869086913 45.4684610648 25.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +914 1 1 0 48.7059047745 45.1703708686 25.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +915 1 1 0 49.5642212863 45.0190265095 25.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +916 1 1 0 50.4357787137 45.0190265095 25.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +917 1 1 0 51.2940952255 45.1703708686 25.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +918 1 1 0 52.1130913087 45.4684610648 25.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +919 1 1 0 52.8678821818 45.9042397786 25.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +920 1 1 0 53.5355339059 46.4644660941 25.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +921 1 1 0 54.0957602214 47.1321178182 25.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +922 1 1 0 54.5315389352 47.8869086913 25.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +923 1 1 0 54.8296291314 48.7059047745 25.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +924 1 1 0 54.9809734905 49.5642212863 25.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +925 1 1 0 54.9809734905 50.4357787137 25.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +926 1 1 0 54.8296291314 51.2940952255 25.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +927 1 1 0 54.5315389352 52.1130913087 25.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +928 1 1 0 54.0957602214 52.8678821818 25.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +929 1 1 0 53.5355339059 53.5355339059 25.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +930 1 1 0 52.8678821818 54.0957602214 25.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +931 1 1 0 52.1130913087 54.5315389352 25.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +932 1 1 0 51.2940952255 54.8296291314 25.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +933 1 1 0 50.4357787137 54.9809734905 25.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +934 1 1 0 49.5642212863 54.9809734905 25.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +935 1 1 0 48.7059047745 54.8296291314 25.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +936 1 1 0 47.8869086913 54.5315389352 25.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +937 1 1 0 46.7860619516 53.8302222156 26.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +938 1 1 0 46.1697777844 53.2139380484 26.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +939 1 1 0 45.6698729811 52.5 26.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +940 1 1 0 45.3015368961 51.7101007166 26.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +941 1 1 0 45.0759612349 50.8682408883 26.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +942 1 1 0 45.0 50.0 26.0 -1.0 1.45473230946e-15 0 0.872664625997 -75 42.5 42.5 0.2 +943 1 1 0 45.0759612349 49.1317591117 26.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +944 1 1 0 45.3015368961 48.2898992834 26.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +945 1 1 0 45.6698729811 47.5 26.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +946 1 1 0 46.1697777844 46.7860619516 26.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +947 1 1 0 46.7860619516 46.1697777844 26.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +948 1 1 0 47.5 45.6698729811 26.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +949 1 1 0 48.2898992834 45.3015368961 26.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +950 1 1 0 49.1317591117 45.0759612349 26.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +951 1 1 0 50.0 45.0 26.0 -1.96005385927e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 +952 1 1 0 50.8682408883 45.0759612349 26.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +953 1 1 0 51.7101007166 45.3015368961 26.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +954 1 1 0 52.5 45.6698729811 26.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +955 1 1 0 53.2139380484 46.1697777844 26.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +956 1 1 0 53.8302222156 46.7860619516 26.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +957 1 1 0 54.3301270189 47.5 26.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +958 1 1 0 54.6984631039 48.2898992834 26.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +959 1 1 0 54.9240387651 49.1317591117 26.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +960 1 1 0 55.0 50.0 26.0 1.0 -2.02128619923e-15 0 0.872664625997 -75 42.5 42.5 0.2 +961 1 1 0 54.9240387651 50.8682408883 26.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +962 1 1 0 54.6984631039 51.7101007166 26.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +963 1 1 0 54.3301270189 52.5 26.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +964 1 1 0 53.8302222156 53.2139380484 26.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +965 1 1 0 53.2139380484 53.8302222156 26.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +966 1 1 0 52.5 54.3301270189 26.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +967 1 1 0 51.7101007166 54.6984631039 26.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +968 1 1 0 50.8682408883 54.9240387651 26.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +969 1 1 0 50.0 55.0 26.0 2.08251853919e-15 1.0 0 0.872664625997 -75 42.5 42.5 0.2 +970 1 1 0 49.1317591117 54.9240387651 26.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +971 1 1 0 48.2898992834 54.6984631039 26.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +972 1 1 0 47.5 54.3301270189 26.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +973 1 1 0 46.4644660941 53.5355339059 27.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +974 1 1 0 45.9042397786 52.8678821818 27.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +975 1 1 0 45.4684610648 52.1130913087 27.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +976 1 1 0 45.1703708686 51.2940952255 27.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +977 1 1 0 45.0190265095 50.4357787137 27.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +978 1 1 0 45.0190265095 49.5642212863 27.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +979 1 1 0 45.1703708686 48.7059047745 27.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +980 1 1 0 45.4684610648 47.8869086913 27.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +981 1 1 0 45.9042397786 47.1321178182 27.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +982 1 1 0 46.4644660941 46.4644660941 27.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +983 1 1 0 47.1321178182 45.9042397786 27.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +984 1 1 0 47.8869086913 45.4684610648 27.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +985 1 1 0 48.7059047745 45.1703708686 27.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +986 1 1 0 49.5642212863 45.0190265095 27.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +987 1 1 0 50.4357787137 45.0190265095 27.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +988 1 1 0 51.2940952255 45.1703708686 27.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +989 1 1 0 52.1130913087 45.4684610648 27.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +990 1 1 0 52.8678821818 45.9042397786 27.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +991 1 1 0 53.5355339059 46.4644660941 27.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +992 1 1 0 54.0957602214 47.1321178182 27.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +993 1 1 0 54.5315389352 47.8869086913 27.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +994 1 1 0 54.8296291314 48.7059047745 27.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +995 1 1 0 54.9809734905 49.5642212863 27.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +996 1 1 0 54.9809734905 50.4357787137 27.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +997 1 1 0 54.8296291314 51.2940952255 27.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +998 1 1 0 54.5315389352 52.1130913087 27.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +999 1 1 0 54.0957602214 52.8678821818 27.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +1000 1 1 0 53.5355339059 53.5355339059 27.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +1001 1 1 0 52.8678821818 54.0957602214 27.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +1002 1 1 0 52.1130913087 54.5315389352 27.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +1003 1 1 0 51.2940952255 54.8296291314 27.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +1004 1 1 0 50.4357787137 54.9809734905 27.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +1005 1 1 0 49.5642212863 54.9809734905 27.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +1006 1 1 0 48.7059047745 54.8296291314 27.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +1007 1 1 0 47.8869086913 54.5315389352 27.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +1008 1 1 0 47.1321178182 54.0957602214 27.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +1009 1 1 0 46.1697777844 53.2139380484 28.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +1010 1 1 0 45.6698729811 52.5 28.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +1011 1 1 0 45.3015368961 51.7101007166 28.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +1012 1 1 0 45.0759612349 50.8682408883 28.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +1013 1 1 0 45.0 50.0 28.0 -1.0 1.45473230946e-15 0 0.872664625997 -75 42.5 42.5 0.2 +1014 1 1 0 45.0759612349 49.1317591117 28.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +1015 1 1 0 45.3015368961 48.2898992834 28.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +1016 1 1 0 45.6698729811 47.5 28.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +1017 1 1 0 46.1697777844 46.7860619516 28.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +1018 1 1 0 46.7860619516 46.1697777844 28.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +1019 1 1 0 47.5 45.6698729811 28.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +1020 1 1 0 48.2898992834 45.3015368961 28.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +1021 1 1 0 49.1317591117 45.0759612349 28.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +1022 1 1 0 50.0 45.0 28.0 -1.96005385927e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 +1023 1 1 0 50.8682408883 45.0759612349 28.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +1024 1 1 0 51.7101007166 45.3015368961 28.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +1025 1 1 0 52.5 45.6698729811 28.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +1026 1 1 0 53.2139380484 46.1697777844 28.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +1027 1 1 0 53.8302222156 46.7860619516 28.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +1028 1 1 0 54.3301270189 47.5 28.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +1029 1 1 0 54.6984631039 48.2898992834 28.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +1030 1 1 0 54.9240387651 49.1317591117 28.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +1031 1 1 0 55.0 50.0 28.0 1.0 -2.02128619923e-15 0 0.872664625997 -75 42.5 42.5 0.2 +1032 1 1 0 54.9240387651 50.8682408883 28.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +1033 1 1 0 54.6984631039 51.7101007166 28.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +1034 1 1 0 54.3301270189 52.5 28.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +1035 1 1 0 53.8302222156 53.2139380484 28.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +1036 1 1 0 53.2139380484 53.8302222156 28.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +1037 1 1 0 52.5 54.3301270189 28.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +1038 1 1 0 51.7101007166 54.6984631039 28.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +1039 1 1 0 50.8682408883 54.9240387651 28.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +1040 1 1 0 50.0 55.0 28.0 2.08251853919e-15 1.0 0 0.872664625997 -75 42.5 42.5 0.2 +1041 1 1 0 49.1317591117 54.9240387651 28.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +1042 1 1 0 48.2898992834 54.6984631039 28.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +1043 1 1 0 47.5 54.3301270189 28.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +1044 1 1 0 46.7860619516 53.8302222156 28.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +1045 1 1 0 45.9042397786 52.8678821818 29.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +1046 1 1 0 45.4684610648 52.1130913087 29.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +1047 1 1 0 45.1703708686 51.2940952255 29.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +1048 1 1 0 45.0190265095 50.4357787137 29.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +1049 1 1 0 45.0190265095 49.5642212863 29.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +1050 1 1 0 45.1703708686 48.7059047745 29.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +1051 1 1 0 45.4684610648 47.8869086913 29.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +1052 1 1 0 45.9042397786 47.1321178182 29.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +1053 1 1 0 46.4644660941 46.4644660941 29.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +1054 1 1 0 47.1321178182 45.9042397786 29.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +1055 1 1 0 47.8869086913 45.4684610648 29.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +1056 1 1 0 48.7059047745 45.1703708686 29.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +1057 1 1 0 49.5642212863 45.0190265095 29.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +1058 1 1 0 50.4357787137 45.0190265095 29.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +1059 1 1 0 51.2940952255 45.1703708686 29.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +1060 1 1 0 52.1130913087 45.4684610648 29.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +1061 1 1 0 52.8678821818 45.9042397786 29.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +1062 1 1 0 53.5355339059 46.4644660941 29.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +1063 1 1 0 54.0957602214 47.1321178182 29.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +1064 1 1 0 54.5315389352 47.8869086913 29.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +1065 1 1 0 54.8296291314 48.7059047745 29.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +1066 1 1 0 54.9809734905 49.5642212863 29.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +1067 1 1 0 54.9809734905 50.4357787137 29.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +1068 1 1 0 54.8296291314 51.2940952255 29.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +1069 1 1 0 54.5315389352 52.1130913087 29.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +1070 1 1 0 54.0957602214 52.8678821818 29.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +1071 1 1 0 53.5355339059 53.5355339059 29.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +1072 1 1 0 52.8678821818 54.0957602214 29.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +1073 1 1 0 52.1130913087 54.5315389352 29.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +1074 1 1 0 51.2940952255 54.8296291314 29.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +1075 1 1 0 50.4357787137 54.9809734905 29.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +1076 1 1 0 49.5642212863 54.9809734905 29.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +1077 1 1 0 48.7059047745 54.8296291314 29.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +1078 1 1 0 47.8869086913 54.5315389352 29.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +1079 1 1 0 47.1321178182 54.0957602214 29.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +1080 1 1 0 46.4644660941 53.5355339059 29.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +1081 1 1 0 45.6698729811 52.5 30.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +1082 1 1 0 45.3015368961 51.7101007166 30.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +1083 1 1 0 45.0759612349 50.8682408883 30.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +1084 1 1 0 45.0 50.0 30.0 -1.0 1.89882151931e-15 0 0.872664625997 -75 42.5 42.5 0.2 +1085 1 1 0 45.0759612349 49.1317591117 30.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +1086 1 1 0 45.3015368961 48.2898992834 30.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +1087 1 1 0 45.6698729811 47.5 30.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +1088 1 1 0 46.1697777844 46.7860619516 30.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +1089 1 1 0 46.7860619516 46.1697777844 30.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +1090 1 1 0 47.5 45.6698729811 30.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +1091 1 1 0 48.2898992834 45.3015368961 30.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +1092 1 1 0 49.1317591117 45.0759612349 30.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +1093 1 1 0 50.0 45.0 30.0 -1.96005385927e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 +1094 1 1 0 50.8682408883 45.0759612349 30.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +1095 1 1 0 51.7101007166 45.3015368961 30.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +1096 1 1 0 52.5 45.6698729811 30.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +1097 1 1 0 53.2139380484 46.1697777844 30.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +1098 1 1 0 53.8302222156 46.7860619516 30.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +1099 1 1 0 54.3301270189 47.5 30.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +1100 1 1 0 54.6984631039 48.2898992834 30.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +1101 1 1 0 54.9240387651 49.1317591117 30.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +1102 1 1 0 55.0 50.0 30.0 1.0 -2.02128619923e-15 0 0.872664625997 -75 42.5 42.5 0.2 +1103 1 1 0 54.9240387651 50.8682408883 30.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +1104 1 1 0 54.6984631039 51.7101007166 30.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +1105 1 1 0 54.3301270189 52.5 30.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +1106 1 1 0 53.8302222156 53.2139380484 30.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +1107 1 1 0 53.2139380484 53.8302222156 30.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +1108 1 1 0 52.5 54.3301270189 30.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +1109 1 1 0 51.7101007166 54.6984631039 30.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +1110 1 1 0 50.8682408883 54.9240387651 30.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +1111 1 1 0 50.0 55.0 30.0 2.08251853919e-15 1.0 0 0.872664625997 -75 42.5 42.5 0.2 +1112 1 1 0 49.1317591117 54.9240387651 30.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +1113 1 1 0 48.2898992834 54.6984631039 30.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +1114 1 1 0 47.5 54.3301270189 30.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +1115 1 1 0 46.7860619516 53.8302222156 30.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +1116 1 1 0 46.1697777844 53.2139380484 30.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +1117 1 1 0 45.4684610648 52.1130913087 31.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +1118 1 1 0 45.1703708686 51.2940952255 31.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +1119 1 1 0 45.0190265095 50.4357787137 31.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +1120 1 1 0 45.0190265095 49.5642212863 31.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +1121 1 1 0 45.1703708686 48.7059047745 31.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +1122 1 1 0 45.4684610648 47.8869086913 31.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +1123 1 1 0 45.9042397786 47.1321178182 31.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +1124 1 1 0 46.4644660941 46.4644660941 31.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +1125 1 1 0 47.1321178182 45.9042397786 31.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +1126 1 1 0 47.8869086913 45.4684610648 31.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +1127 1 1 0 48.7059047745 45.1703708686 31.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +1128 1 1 0 49.5642212863 45.0190265095 31.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +1129 1 1 0 50.4357787137 45.0190265095 31.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +1130 1 1 0 51.2940952255 45.1703708686 31.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +1131 1 1 0 52.1130913087 45.4684610648 31.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +1132 1 1 0 52.8678821818 45.9042397786 31.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +1133 1 1 0 53.5355339059 46.4644660941 31.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +1134 1 1 0 54.0957602214 47.1321178182 31.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +1135 1 1 0 54.5315389352 47.8869086913 31.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +1136 1 1 0 54.8296291314 48.7059047745 31.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +1137 1 1 0 54.9809734905 49.5642212863 31.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +1138 1 1 0 54.9809734905 50.4357787137 31.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +1139 1 1 0 54.8296291314 51.2940952255 31.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +1140 1 1 0 54.5315389352 52.1130913087 31.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +1141 1 1 0 54.0957602214 52.8678821818 31.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +1142 1 1 0 53.5355339059 53.5355339059 31.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +1143 1 1 0 52.8678821818 54.0957602214 31.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +1144 1 1 0 52.1130913087 54.5315389352 31.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +1145 1 1 0 51.2940952255 54.8296291314 31.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +1146 1 1 0 50.4357787137 54.9809734905 31.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +1147 1 1 0 49.5642212863 54.9809734905 31.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +1148 1 1 0 48.7059047745 54.8296291314 31.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +1149 1 1 0 47.8869086913 54.5315389352 31.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +1150 1 1 0 47.1321178182 54.0957602214 31.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +1151 1 1 0 46.4644660941 53.5355339059 31.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +1152 1 1 0 45.9042397786 52.8678821818 31.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +1153 1 1 0 45.3015368961 51.7101007166 32.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +1154 1 1 0 45.0759612349 50.8682408883 32.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +1155 1 1 0 45.0 50.0 32.0 -1.0 1.89882151931e-15 0 0.872664625997 -75 42.5 42.5 0.2 +1156 1 1 0 45.0759612349 49.1317591117 32.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +1157 1 1 0 45.3015368961 48.2898992834 32.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +1158 1 1 0 45.6698729811 47.5 32.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +1159 1 1 0 46.1697777844 46.7860619516 32.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +1160 1 1 0 46.7860619516 46.1697777844 32.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +1161 1 1 0 47.5 45.6698729811 32.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +1162 1 1 0 48.2898992834 45.3015368961 32.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +1163 1 1 0 49.1317591117 45.0759612349 32.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +1164 1 1 0 50.0 45.0 32.0 -1.96005385927e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 +1165 1 1 0 50.8682408883 45.0759612349 32.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +1166 1 1 0 51.7101007166 45.3015368961 32.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +1167 1 1 0 52.5 45.6698729811 32.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +1168 1 1 0 53.2139380484 46.1697777844 32.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +1169 1 1 0 53.8302222156 46.7860619516 32.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +1170 1 1 0 54.3301270189 47.5 32.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +1171 1 1 0 54.6984631039 48.2898992834 32.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +1172 1 1 0 54.9240387651 49.1317591117 32.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +1173 1 1 0 55.0 50.0 32.0 1.0 -2.02128619923e-15 0 0.872664625997 -75 42.5 42.5 0.2 +1174 1 1 0 54.9240387651 50.8682408883 32.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +1175 1 1 0 54.6984631039 51.7101007166 32.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +1176 1 1 0 54.3301270189 52.5 32.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +1177 1 1 0 53.8302222156 53.2139380484 32.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +1178 1 1 0 53.2139380484 53.8302222156 32.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +1179 1 1 0 52.5 54.3301270189 32.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +1180 1 1 0 51.7101007166 54.6984631039 32.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +1181 1 1 0 50.8682408883 54.9240387651 32.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +1182 1 1 0 50.0 55.0 32.0 2.08251853919e-15 1.0 0 0.872664625997 -75 42.5 42.5 0.2 +1183 1 1 0 49.1317591117 54.9240387651 32.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +1184 1 1 0 48.2898992834 54.6984631039 32.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +1185 1 1 0 47.5 54.3301270189 32.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +1186 1 1 0 46.7860619516 53.8302222156 32.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +1187 1 1 0 46.1697777844 53.2139380484 32.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +1188 1 1 0 45.6698729811 52.5 32.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +1189 1 1 0 45.1703708686 51.2940952255 33.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +1190 1 1 0 45.0190265095 50.4357787137 33.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +1191 1 1 0 45.0190265095 49.5642212863 33.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +1192 1 1 0 45.1703708686 48.7059047745 33.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +1193 1 1 0 45.4684610648 47.8869086913 33.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +1194 1 1 0 45.9042397786 47.1321178182 33.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +1195 1 1 0 46.4644660941 46.4644660941 33.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +1196 1 1 0 47.1321178182 45.9042397786 33.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +1197 1 1 0 47.8869086913 45.4684610648 33.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +1198 1 1 0 48.7059047745 45.1703708686 33.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +1199 1 1 0 49.5642212863 45.0190265095 33.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +1200 1 1 0 50.4357787137 45.0190265095 33.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +1201 1 1 0 51.2940952255 45.1703708686 33.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +1202 1 1 0 52.1130913087 45.4684610648 33.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +1203 1 1 0 52.8678821818 45.9042397786 33.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +1204 1 1 0 53.5355339059 46.4644660941 33.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +1205 1 1 0 54.0957602214 47.1321178182 33.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +1206 1 1 0 54.5315389352 47.8869086913 33.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +1207 1 1 0 54.8296291314 48.7059047745 33.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +1208 1 1 0 54.9809734905 49.5642212863 33.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +1209 1 1 0 54.9809734905 50.4357787137 33.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +1210 1 1 0 54.8296291314 51.2940952255 33.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +1211 1 1 0 54.5315389352 52.1130913087 33.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +1212 1 1 0 54.0957602214 52.8678821818 33.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +1213 1 1 0 53.5355339059 53.5355339059 33.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +1214 1 1 0 52.8678821818 54.0957602214 33.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +1215 1 1 0 52.1130913087 54.5315389352 33.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +1216 1 1 0 51.2940952255 54.8296291314 33.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +1217 1 1 0 50.4357787137 54.9809734905 33.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +1218 1 1 0 49.5642212863 54.9809734905 33.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +1219 1 1 0 48.7059047745 54.8296291314 33.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +1220 1 1 0 47.8869086913 54.5315389352 33.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +1221 1 1 0 47.1321178182 54.0957602214 33.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +1222 1 1 0 46.4644660941 53.5355339059 33.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +1223 1 1 0 45.9042397786 52.8678821818 33.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +1224 1 1 0 45.4684610648 52.1130913087 33.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +1225 1 1 0 45.0759612349 50.8682408883 34.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +1226 1 1 0 45.0 50.0 34.0 -1.0 2.34291072917e-15 0 0.872664625997 -75 42.5 42.5 0.2 +1227 1 1 0 45.0759612349 49.1317591117 34.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +1228 1 1 0 45.3015368961 48.2898992834 34.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +1229 1 1 0 45.6698729811 47.5 34.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +1230 1 1 0 46.1697777844 46.7860619516 34.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +1231 1 1 0 46.7860619516 46.1697777844 34.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +1232 1 1 0 47.5 45.6698729811 34.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +1233 1 1 0 48.2898992834 45.3015368961 34.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +1234 1 1 0 49.1317591117 45.0759612349 34.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +1235 1 1 0 50.0 45.0 34.0 -1.96005385927e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 +1236 1 1 0 50.8682408883 45.0759612349 34.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +1237 1 1 0 51.7101007166 45.3015368961 34.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +1238 1 1 0 52.5 45.6698729811 34.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +1239 1 1 0 53.2139380484 46.1697777844 34.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +1240 1 1 0 53.8302222156 46.7860619516 34.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +1241 1 1 0 54.3301270189 47.5 34.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +1242 1 1 0 54.6984631039 48.2898992834 34.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +1243 1 1 0 54.9240387651 49.1317591117 34.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +1244 1 1 0 55.0 50.0 34.0 1.0 -2.02128619923e-15 0 0.872664625997 -75 42.5 42.5 0.2 +1245 1 1 0 54.9240387651 50.8682408883 34.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +1246 1 1 0 54.6984631039 51.7101007166 34.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +1247 1 1 0 54.3301270189 52.5 34.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +1248 1 1 0 53.8302222156 53.2139380484 34.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +1249 1 1 0 53.2139380484 53.8302222156 34.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +1250 1 1 0 52.5 54.3301270189 34.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +1251 1 1 0 51.7101007166 54.6984631039 34.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +1252 1 1 0 50.8682408883 54.9240387651 34.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +1253 1 1 0 50.0 55.0 34.0 2.08251853919e-15 1.0 0 0.872664625997 -75 42.5 42.5 0.2 +1254 1 1 0 49.1317591117 54.9240387651 34.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +1255 1 1 0 48.2898992834 54.6984631039 34.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +1256 1 1 0 47.5 54.3301270189 34.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +1257 1 1 0 46.7860619516 53.8302222156 34.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +1258 1 1 0 46.1697777844 53.2139380484 34.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +1259 1 1 0 45.6698729811 52.5 34.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +1260 1 1 0 45.3015368961 51.7101007166 34.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +1261 1 1 0 45.0190265095 50.4357787137 35.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +1262 1 1 0 45.0190265095 49.5642212863 35.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +1263 1 1 0 45.1703708686 48.7059047745 35.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +1264 1 1 0 45.4684610648 47.8869086913 35.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +1265 1 1 0 45.9042397786 47.1321178182 35.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +1266 1 1 0 46.4644660941 46.4644660941 35.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +1267 1 1 0 47.1321178182 45.9042397786 35.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +1268 1 1 0 47.8869086913 45.4684610648 35.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +1269 1 1 0 48.7059047745 45.1703708686 35.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +1270 1 1 0 49.5642212863 45.0190265095 35.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +1271 1 1 0 50.4357787137 45.0190265095 35.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +1272 1 1 0 51.2940952255 45.1703708686 35.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +1273 1 1 0 52.1130913087 45.4684610648 35.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +1274 1 1 0 52.8678821818 45.9042397786 35.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +1275 1 1 0 53.5355339059 46.4644660941 35.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +1276 1 1 0 54.0957602214 47.1321178182 35.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +1277 1 1 0 54.5315389352 47.8869086913 35.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +1278 1 1 0 54.8296291314 48.7059047745 35.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +1279 1 1 0 54.9809734905 49.5642212863 35.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +1280 1 1 0 54.9809734905 50.4357787137 35.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +1281 1 1 0 54.8296291314 51.2940952255 35.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +1282 1 1 0 54.5315389352 52.1130913087 35.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +1283 1 1 0 54.0957602214 52.8678821818 35.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +1284 1 1 0 53.5355339059 53.5355339059 35.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +1285 1 1 0 52.8678821818 54.0957602214 35.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +1286 1 1 0 52.1130913087 54.5315389352 35.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +1287 1 1 0 51.2940952255 54.8296291314 35.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +1288 1 1 0 50.4357787137 54.9809734905 35.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +1289 1 1 0 49.5642212863 54.9809734905 35.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +1290 1 1 0 48.7059047745 54.8296291314 35.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +1291 1 1 0 47.8869086913 54.5315389352 35.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +1292 1 1 0 47.1321178182 54.0957602214 35.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +1293 1 1 0 46.4644660941 53.5355339059 35.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +1294 1 1 0 45.9042397786 52.8678821818 35.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +1295 1 1 0 45.4684610648 52.1130913087 35.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +1296 1 1 0 45.1703708686 51.2940952255 35.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +1297 1 1 0 45.0 50.0 36.0 -1.0 2.34291072917e-15 0 0.872664625997 -75 42.5 42.5 0.2 +1298 1 1 0 45.0759612349 49.1317591117 36.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +1299 1 1 0 45.3015368961 48.2898992834 36.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +1300 1 1 0 45.6698729811 47.5 36.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +1301 1 1 0 46.1697777844 46.7860619516 36.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +1302 1 1 0 46.7860619516 46.1697777844 36.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +1303 1 1 0 47.5 45.6698729811 36.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +1304 1 1 0 48.2898992834 45.3015368961 36.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +1305 1 1 0 49.1317591117 45.0759612349 36.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +1306 1 1 0 50.0 45.0 36.0 -1.96005385927e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 +1307 1 1 0 50.8682408883 45.0759612349 36.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +1308 1 1 0 51.7101007166 45.3015368961 36.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +1309 1 1 0 52.5 45.6698729811 36.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +1310 1 1 0 53.2139380484 46.1697777844 36.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +1311 1 1 0 53.8302222156 46.7860619516 36.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +1312 1 1 0 54.3301270189 47.5 36.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +1313 1 1 0 54.6984631039 48.2898992834 36.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +1314 1 1 0 54.9240387651 49.1317591117 36.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +1315 1 1 0 55.0 50.0 36.0 1.0 -2.02128619923e-15 0 0.872664625997 -75 42.5 42.5 0.2 +1316 1 1 0 54.9240387651 50.8682408883 36.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +1317 1 1 0 54.6984631039 51.7101007166 36.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +1318 1 1 0 54.3301270189 52.5 36.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +1319 1 1 0 53.8302222156 53.2139380484 36.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +1320 1 1 0 53.2139380484 53.8302222156 36.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +1321 1 1 0 52.5 54.3301270189 36.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +1322 1 1 0 51.7101007166 54.6984631039 36.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +1323 1 1 0 50.8682408883 54.9240387651 36.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +1324 1 1 0 50.0 55.0 36.0 2.08251853919e-15 1.0 0 0.872664625997 -75 42.5 42.5 0.2 +1325 1 1 0 49.1317591117 54.9240387651 36.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +1326 1 1 0 48.2898992834 54.6984631039 36.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +1327 1 1 0 47.5 54.3301270189 36.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +1328 1 1 0 46.7860619516 53.8302222156 36.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +1329 1 1 0 46.1697777844 53.2139380484 36.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +1330 1 1 0 45.6698729811 52.5 36.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +1331 1 1 0 45.3015368961 51.7101007166 36.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +1332 1 1 0 45.0759612349 50.8682408883 36.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +1333 1 1 0 45.0190265095 49.5642212863 37.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +1334 1 1 0 45.1703708686 48.7059047745 37.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +1335 1 1 0 45.4684610648 47.8869086913 37.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +1336 1 1 0 45.9042397786 47.1321178182 37.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +1337 1 1 0 46.4644660941 46.4644660941 37.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +1338 1 1 0 47.1321178182 45.9042397786 37.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +1339 1 1 0 47.8869086913 45.4684610648 37.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +1340 1 1 0 48.7059047745 45.1703708686 37.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +1341 1 1 0 49.5642212863 45.0190265095 37.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +1342 1 1 0 50.4357787137 45.0190265095 37.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +1343 1 1 0 51.2940952255 45.1703708686 37.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +1344 1 1 0 52.1130913087 45.4684610648 37.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +1345 1 1 0 52.8678821818 45.9042397786 37.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +1346 1 1 0 53.5355339059 46.4644660941 37.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +1347 1 1 0 54.0957602214 47.1321178182 37.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +1348 1 1 0 54.5315389352 47.8869086913 37.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +1349 1 1 0 54.8296291314 48.7059047745 37.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +1350 1 1 0 54.9809734905 49.5642212863 37.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +1351 1 1 0 54.9809734905 50.4357787137 37.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +1352 1 1 0 54.8296291314 51.2940952255 37.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +1353 1 1 0 54.5315389352 52.1130913087 37.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +1354 1 1 0 54.0957602214 52.8678821818 37.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +1355 1 1 0 53.5355339059 53.5355339059 37.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +1356 1 1 0 52.8678821818 54.0957602214 37.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +1357 1 1 0 52.1130913087 54.5315389352 37.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +1358 1 1 0 51.2940952255 54.8296291314 37.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +1359 1 1 0 50.4357787137 54.9809734905 37.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +1360 1 1 0 49.5642212863 54.9809734905 37.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +1361 1 1 0 48.7059047745 54.8296291314 37.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +1362 1 1 0 47.8869086913 54.5315389352 37.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +1363 1 1 0 47.1321178182 54.0957602214 37.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +1364 1 1 0 46.4644660941 53.5355339059 37.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +1365 1 1 0 45.9042397786 52.8678821818 37.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +1366 1 1 0 45.4684610648 52.1130913087 37.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +1367 1 1 0 45.1703708686 51.2940952255 37.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +1368 1 1 0 45.0190265095 50.4357787137 37.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +1369 1 1 0 45.0759612349 49.1317591117 38.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +1370 1 1 0 45.3015368961 48.2898992834 38.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +1371 1 1 0 45.6698729811 47.5 38.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +1372 1 1 0 46.1697777844 46.7860619516 38.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +1373 1 1 0 46.7860619516 46.1697777844 38.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +1374 1 1 0 47.5 45.6698729811 38.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +1375 1 1 0 48.2898992834 45.3015368961 38.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +1376 1 1 0 49.1317591117 45.0759612349 38.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +1377 1 1 0 50.0 45.0 38.0 -2.84823227897e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 +1378 1 1 0 50.8682408883 45.0759612349 38.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +1379 1 1 0 51.7101007166 45.3015368961 38.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +1380 1 1 0 52.5 45.6698729811 38.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +1381 1 1 0 53.2139380484 46.1697777844 38.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +1382 1 1 0 53.8302222156 46.7860619516 38.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +1383 1 1 0 54.3301270189 47.5 38.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +1384 1 1 0 54.6984631039 48.2898992834 38.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +1385 1 1 0 54.9240387651 49.1317591117 38.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +1386 1 1 0 55.0 50.0 38.0 1.0 -2.90946461893e-15 0 0.872664625997 -75 42.5 42.5 0.2 +1387 1 1 0 54.9240387651 50.8682408883 38.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +1388 1 1 0 54.6984631039 51.7101007166 38.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +1389 1 1 0 54.3301270189 52.5 38.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +1390 1 1 0 53.8302222156 53.2139380484 38.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +1391 1 1 0 53.2139380484 53.8302222156 38.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +1392 1 1 0 52.5 54.3301270189 38.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +1393 1 1 0 51.7101007166 54.6984631039 38.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +1394 1 1 0 50.8682408883 54.9240387651 38.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +1395 1 1 0 50.0 55.0 38.0 2.08251853919e-15 1.0 0 0.872664625997 -75 42.5 42.5 0.2 +1396 1 1 0 49.1317591117 54.9240387651 38.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +1397 1 1 0 48.2898992834 54.6984631039 38.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +1398 1 1 0 47.5 54.3301270189 38.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +1399 1 1 0 46.7860619516 53.8302222156 38.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +1400 1 1 0 46.1697777844 53.2139380484 38.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +1401 1 1 0 45.6698729811 52.5 38.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +1402 1 1 0 45.3015368961 51.7101007166 38.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +1403 1 1 0 45.0759612349 50.8682408883 38.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +1404 1 1 0 45.0 50.0 38.0 -1.0 2.14375087914e-15 0 0.872664625997 -75 42.5 42.5 0.2 +1405 1 1 0 45.1703708686 48.7059047745 39.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +1406 1 1 0 45.4684610648 47.8869086913 39.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +1407 1 1 0 45.9042397786 47.1321178182 39.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +1408 1 1 0 46.4644660941 46.4644660941 39.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +1409 1 1 0 47.1321178182 45.9042397786 39.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +1410 1 1 0 47.8869086913 45.4684610648 39.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +1411 1 1 0 48.7059047745 45.1703708686 39.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +1412 1 1 0 49.5642212863 45.0190265095 39.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +1413 1 1 0 50.4357787137 45.0190265095 39.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +1414 1 1 0 51.2940952255 45.1703708686 39.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +1415 1 1 0 52.1130913087 45.4684610648 39.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +1416 1 1 0 52.8678821818 45.9042397786 39.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +1417 1 1 0 53.5355339059 46.4644660941 39.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +1418 1 1 0 54.0957602214 47.1321178182 39.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +1419 1 1 0 54.5315389352 47.8869086913 39.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +1420 1 1 0 54.8296291314 48.7059047745 39.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +1421 1 1 0 54.9809734905 49.5642212863 39.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +1422 1 1 0 54.9809734905 50.4357787137 39.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +1423 1 1 0 54.8296291314 51.2940952255 39.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +1424 1 1 0 54.5315389352 52.1130913087 39.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +1425 1 1 0 54.0957602214 52.8678821818 39.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +1426 1 1 0 53.5355339059 53.5355339059 39.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +1427 1 1 0 52.8678821818 54.0957602214 39.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +1428 1 1 0 52.1130913087 54.5315389352 39.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +1429 1 1 0 51.2940952255 54.8296291314 39.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +1430 1 1 0 50.4357787137 54.9809734905 39.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +1431 1 1 0 49.5642212863 54.9809734905 39.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +1432 1 1 0 48.7059047745 54.8296291314 39.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +1433 1 1 0 47.8869086913 54.5315389352 39.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +1434 1 1 0 47.1321178182 54.0957602214 39.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +1435 1 1 0 46.4644660941 53.5355339059 39.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +1436 1 1 0 45.9042397786 52.8678821818 39.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +1437 1 1 0 45.4684610648 52.1130913087 39.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +1438 1 1 0 45.1703708686 51.2940952255 39.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +1439 1 1 0 45.0190265095 50.4357787137 39.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +1440 1 1 0 45.0190265095 49.5642212863 39.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +1441 1 1 0 45.3015368961 48.2898992834 40.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +1442 1 1 0 45.6698729811 47.5 40.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +1443 1 1 0 46.1697777844 46.7860619516 40.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +1444 1 1 0 46.7860619516 46.1697777844 40.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +1445 1 1 0 47.5 45.6698729811 40.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +1446 1 1 0 48.2898992834 45.3015368961 40.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +1447 1 1 0 49.1317591117 45.0759612349 40.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +1448 1 1 0 50.0 45.0 40.0 -2.84823227897e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 +1449 1 1 0 50.8682408883 45.0759612349 40.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +1450 1 1 0 51.7101007166 45.3015368961 40.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +1451 1 1 0 52.5 45.6698729811 40.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +1452 1 1 0 53.2139380484 46.1697777844 40.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +1453 1 1 0 53.8302222156 46.7860619516 40.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +1454 1 1 0 54.3301270189 47.5 40.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +1455 1 1 0 54.6984631039 48.2898992834 40.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +1456 1 1 0 54.9240387651 49.1317591117 40.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +1457 1 1 0 55.0 50.0 40.0 1.0 -2.90946461893e-15 0 0.872664625997 -75 42.5 42.5 0.2 +1458 1 1 0 54.9240387651 50.8682408883 40.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +1459 1 1 0 54.6984631039 51.7101007166 40.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +1460 1 1 0 54.3301270189 52.5 40.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +1461 1 1 0 53.8302222156 53.2139380484 40.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +1462 1 1 0 53.2139380484 53.8302222156 40.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +1463 1 1 0 52.5 54.3301270189 40.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +1464 1 1 0 51.7101007166 54.6984631039 40.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +1465 1 1 0 50.8682408883 54.9240387651 40.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +1466 1 1 0 50.0 55.0 40.0 3.85887537859e-15 1.0 0 0.872664625997 -75 42.5 42.5 0.2 +1467 1 1 0 49.1317591117 54.9240387651 40.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +1468 1 1 0 48.2898992834 54.6984631039 40.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +1469 1 1 0 47.5 54.3301270189 40.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +1470 1 1 0 46.7860619516 53.8302222156 40.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +1471 1 1 0 46.1697777844 53.2139380484 40.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +1472 1 1 0 45.6698729811 52.5 40.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +1473 1 1 0 45.3015368961 51.7101007166 40.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +1474 1 1 0 45.0759612349 50.8682408883 40.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +1475 1 1 0 45.0 50.0 40.0 -1.0 3.92010771854e-15 0 0.872664625997 -75 42.5 42.5 0.2 +1476 1 1 0 45.0759612349 49.1317591117 40.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +1477 1 1 0 45.4684610648 47.8869086913 41.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +1478 1 1 0 45.9042397786 47.1321178182 41.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +1479 1 1 0 46.4644660941 46.4644660941 41.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +1480 1 1 0 47.1321178182 45.9042397786 41.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +1481 1 1 0 47.8869086913 45.4684610648 41.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +1482 1 1 0 48.7059047745 45.1703708686 41.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +1483 1 1 0 49.5642212863 45.0190265095 41.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +1484 1 1 0 50.4357787137 45.0190265095 41.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +1485 1 1 0 51.2940952255 45.1703708686 41.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +1486 1 1 0 52.1130913087 45.4684610648 41.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +1487 1 1 0 52.8678821818 45.9042397786 41.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +1488 1 1 0 53.5355339059 46.4644660941 41.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +1489 1 1 0 54.0957602214 47.1321178182 41.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +1490 1 1 0 54.5315389352 47.8869086913 41.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +1491 1 1 0 54.8296291314 48.7059047745 41.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +1492 1 1 0 54.9809734905 49.5642212863 41.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +1493 1 1 0 54.9809734905 50.4357787137 41.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +1494 1 1 0 54.8296291314 51.2940952255 41.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +1495 1 1 0 54.5315389352 52.1130913087 41.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +1496 1 1 0 54.0957602214 52.8678821818 41.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +1497 1 1 0 53.5355339059 53.5355339059 41.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +1498 1 1 0 52.8678821818 54.0957602214 41.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +1499 1 1 0 52.1130913087 54.5315389352 41.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +1500 1 1 0 51.2940952255 54.8296291314 41.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +1501 1 1 0 50.4357787137 54.9809734905 41.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +1502 1 1 0 49.5642212863 54.9809734905 41.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +1503 1 1 0 48.7059047745 54.8296291314 41.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +1504 1 1 0 47.8869086913 54.5315389352 41.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +1505 1 1 0 47.1321178182 54.0957602214 41.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +1506 1 1 0 46.4644660941 53.5355339059 41.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +1507 1 1 0 45.9042397786 52.8678821818 41.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +1508 1 1 0 45.4684610648 52.1130913087 41.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +1509 1 1 0 45.1703708686 51.2940952255 41.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +1510 1 1 0 45.0190265095 50.4357787137 41.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +1511 1 1 0 45.0190265095 49.5642212863 41.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +1512 1 1 0 45.1703708686 48.7059047745 41.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +1513 1 1 0 45.6698729811 47.5 42.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +1514 1 1 0 46.1697777844 46.7860619516 42.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +1515 1 1 0 46.7860619516 46.1697777844 42.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +1516 1 1 0 47.5 45.6698729811 42.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +1517 1 1 0 48.2898992834 45.3015368961 42.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +1518 1 1 0 49.1317591117 45.0759612349 42.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +1519 1 1 0 50.0 45.0 42.0 -2.84823227897e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 +1520 1 1 0 50.8682408883 45.0759612349 42.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +1521 1 1 0 51.7101007166 45.3015368961 42.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +1522 1 1 0 52.5 45.6698729811 42.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +1523 1 1 0 53.2139380484 46.1697777844 42.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +1524 1 1 0 53.8302222156 46.7860619516 42.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +1525 1 1 0 54.3301270189 47.5 42.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +1526 1 1 0 54.6984631039 48.2898992834 42.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +1527 1 1 0 54.9240387651 49.1317591117 42.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +1528 1 1 0 55.0 50.0 42.0 1.0 -2.90946461893e-15 0 0.872664625997 -75 42.5 42.5 0.2 +1529 1 1 0 54.9240387651 50.8682408883 42.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +1530 1 1 0 54.6984631039 51.7101007166 42.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +1531 1 1 0 54.3301270189 52.5 42.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +1532 1 1 0 53.8302222156 53.2139380484 42.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +1533 1 1 0 53.2139380484 53.8302222156 42.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +1534 1 1 0 52.5 54.3301270189 42.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +1535 1 1 0 51.7101007166 54.6984631039 42.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +1536 1 1 0 50.8682408883 54.9240387651 42.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +1537 1 1 0 50.0 55.0 42.0 3.85887537859e-15 1.0 0 0.872664625997 -75 42.5 42.5 0.2 +1538 1 1 0 49.1317591117 54.9240387651 42.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +1539 1 1 0 48.2898992834 54.6984631039 42.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +1540 1 1 0 47.5 54.3301270189 42.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +1541 1 1 0 46.7860619516 53.8302222156 42.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +1542 1 1 0 46.1697777844 53.2139380484 42.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +1543 1 1 0 45.6698729811 52.5 42.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +1544 1 1 0 45.3015368961 51.7101007166 42.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +1545 1 1 0 45.0759612349 50.8682408883 42.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +1546 1 1 0 45.0 50.0 42.0 -1.0 3.92010771854e-15 0 0.872664625997 -75 42.5 42.5 0.2 +1547 1 1 0 45.0759612349 49.1317591117 42.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +1548 1 1 0 45.3015368961 48.2898992834 42.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +1549 1 1 0 45.9042397786 47.1321178182 43.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +1550 1 1 0 46.4644660941 46.4644660941 43.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +1551 1 1 0 47.1321178182 45.9042397786 43.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +1552 1 1 0 47.8869086913 45.4684610648 43.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +1553 1 1 0 48.7059047745 45.1703708686 43.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +1554 1 1 0 49.5642212863 45.0190265095 43.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +1555 1 1 0 50.4357787137 45.0190265095 43.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +1556 1 1 0 51.2940952255 45.1703708686 43.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +1557 1 1 0 52.1130913087 45.4684610648 43.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +1558 1 1 0 52.8678821818 45.9042397786 43.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +1559 1 1 0 53.5355339059 46.4644660941 43.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +1560 1 1 0 54.0957602214 47.1321178182 43.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +1561 1 1 0 54.5315389352 47.8869086913 43.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +1562 1 1 0 54.8296291314 48.7059047745 43.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +1563 1 1 0 54.9809734905 49.5642212863 43.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +1564 1 1 0 54.9809734905 50.4357787137 43.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +1565 1 1 0 54.8296291314 51.2940952255 43.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +1566 1 1 0 54.5315389352 52.1130913087 43.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +1567 1 1 0 54.0957602214 52.8678821818 43.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +1568 1 1 0 53.5355339059 53.5355339059 43.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +1569 1 1 0 52.8678821818 54.0957602214 43.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +1570 1 1 0 52.1130913087 54.5315389352 43.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +1571 1 1 0 51.2940952255 54.8296291314 43.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +1572 1 1 0 50.4357787137 54.9809734905 43.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +1573 1 1 0 49.5642212863 54.9809734905 43.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +1574 1 1 0 48.7059047745 54.8296291314 43.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +1575 1 1 0 47.8869086913 54.5315389352 43.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +1576 1 1 0 47.1321178182 54.0957602214 43.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +1577 1 1 0 46.4644660941 53.5355339059 43.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +1578 1 1 0 45.9042397786 52.8678821818 43.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +1579 1 1 0 45.4684610648 52.1130913087 43.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +1580 1 1 0 45.1703708686 51.2940952255 43.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +1581 1 1 0 45.0190265095 50.4357787137 43.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +1582 1 1 0 45.0190265095 49.5642212863 43.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +1583 1 1 0 45.1703708686 48.7059047745 43.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +1584 1 1 0 45.4684610648 47.8869086913 43.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +1585 1 1 0 46.1697777844 46.7860619516 44.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +1586 1 1 0 46.7860619516 46.1697777844 44.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +1587 1 1 0 47.5 45.6698729811 44.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +1588 1 1 0 48.2898992834 45.3015368961 44.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +1589 1 1 0 49.1317591117 45.0759612349 44.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +1590 1 1 0 50.0 45.0 44.0 -2.84823227897e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 +1591 1 1 0 50.8682408883 45.0759612349 44.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +1592 1 1 0 51.7101007166 45.3015368961 44.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +1593 1 1 0 52.5 45.6698729811 44.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +1594 1 1 0 53.2139380484 46.1697777844 44.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +1595 1 1 0 53.8302222156 46.7860619516 44.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +1596 1 1 0 54.3301270189 47.5 44.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +1597 1 1 0 54.6984631039 48.2898992834 44.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +1598 1 1 0 54.9240387651 49.1317591117 44.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +1599 1 1 0 55.0 50.0 44.0 1.0 -3.79764303863e-15 0 0.872664625997 -75 42.5 42.5 0.2 +1600 1 1 0 54.9240387651 50.8682408883 44.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +1601 1 1 0 54.6984631039 51.7101007166 44.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +1602 1 1 0 54.3301270189 52.5 44.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +1603 1 1 0 53.8302222156 53.2139380484 44.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +1604 1 1 0 53.2139380484 53.8302222156 44.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +1605 1 1 0 52.5 54.3301270189 44.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +1606 1 1 0 51.7101007166 54.6984631039 44.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +1607 1 1 0 50.8682408883 54.9240387651 44.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +1608 1 1 0 50.0 55.0 44.0 3.85887537859e-15 1.0 0 0.872664625997 -75 42.5 42.5 0.2 +1609 1 1 0 49.1317591117 54.9240387651 44.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +1610 1 1 0 48.2898992834 54.6984631039 44.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +1611 1 1 0 47.5 54.3301270189 44.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +1612 1 1 0 46.7860619516 53.8302222156 44.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +1613 1 1 0 46.1697777844 53.2139380484 44.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +1614 1 1 0 45.6698729811 52.5 44.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +1615 1 1 0 45.3015368961 51.7101007166 44.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +1616 1 1 0 45.0759612349 50.8682408883 44.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +1617 1 1 0 45.0 50.0 44.0 -1.0 3.92010771854e-15 0 0.872664625997 -75 42.5 42.5 0.2 +1618 1 1 0 45.0759612349 49.1317591117 44.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +1619 1 1 0 45.3015368961 48.2898992834 44.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +1620 1 1 0 45.6698729811 47.5 44.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +1621 1 1 0 46.4644660941 46.4644660941 45.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +1622 1 1 0 47.1321178182 45.9042397786 45.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +1623 1 1 0 47.8869086913 45.4684610648 45.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +1624 1 1 0 48.7059047745 45.1703708686 45.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +1625 1 1 0 49.5642212863 45.0190265095 45.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +1626 1 1 0 50.4357787137 45.0190265095 45.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +1627 1 1 0 51.2940952255 45.1703708686 45.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +1628 1 1 0 52.1130913087 45.4684610648 45.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +1629 1 1 0 52.8678821818 45.9042397786 45.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +1630 1 1 0 53.5355339059 46.4644660941 45.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +1631 1 1 0 54.0957602214 47.1321178182 45.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +1632 1 1 0 54.5315389352 47.8869086913 45.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +1633 1 1 0 54.8296291314 48.7059047745 45.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +1634 1 1 0 54.9809734905 49.5642212863 45.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +1635 1 1 0 54.9809734905 50.4357787137 45.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +1636 1 1 0 54.8296291314 51.2940952255 45.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +1637 1 1 0 54.5315389352 52.1130913087 45.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +1638 1 1 0 54.0957602214 52.8678821818 45.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +1639 1 1 0 53.5355339059 53.5355339059 45.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +1640 1 1 0 52.8678821818 54.0957602214 45.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +1641 1 1 0 52.1130913087 54.5315389352 45.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +1642 1 1 0 51.2940952255 54.8296291314 45.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +1643 1 1 0 50.4357787137 54.9809734905 45.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +1644 1 1 0 49.5642212863 54.9809734905 45.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +1645 1 1 0 48.7059047745 54.8296291314 45.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +1646 1 1 0 47.8869086913 54.5315389352 45.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +1647 1 1 0 47.1321178182 54.0957602214 45.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +1648 1 1 0 46.4644660941 53.5355339059 45.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +1649 1 1 0 45.9042397786 52.8678821818 45.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +1650 1 1 0 45.4684610648 52.1130913087 45.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +1651 1 1 0 45.1703708686 51.2940952255 45.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +1652 1 1 0 45.0190265095 50.4357787137 45.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +1653 1 1 0 45.0190265095 49.5642212863 45.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +1654 1 1 0 45.1703708686 48.7059047745 45.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +1655 1 1 0 45.4684610648 47.8869086913 45.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +1656 1 1 0 45.9042397786 47.1321178182 45.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +1657 1 1 0 46.7860619516 46.1697777844 46.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +1658 1 1 0 47.5 45.6698729811 46.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +1659 1 1 0 48.2898992834 45.3015368961 46.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +1660 1 1 0 49.1317591117 45.0759612349 46.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +1661 1 1 0 50.0 45.0 46.0 -2.84823227897e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 +1662 1 1 0 50.8682408883 45.0759612349 46.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +1663 1 1 0 51.7101007166 45.3015368961 46.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +1664 1 1 0 52.5 45.6698729811 46.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +1665 1 1 0 53.2139380484 46.1697777844 46.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +1666 1 1 0 53.8302222156 46.7860619516 46.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +1667 1 1 0 54.3301270189 47.5 46.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +1668 1 1 0 54.6984631039 48.2898992834 46.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +1669 1 1 0 54.9240387651 49.1317591117 46.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +1670 1 1 0 55.0 50.0 46.0 1.0 -2.90946461893e-15 0 0.872664625997 -75 42.5 42.5 0.2 +1671 1 1 0 54.9240387651 50.8682408883 46.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +1672 1 1 0 54.6984631039 51.7101007166 46.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +1673 1 1 0 54.3301270189 52.5 46.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +1674 1 1 0 53.8302222156 53.2139380484 46.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +1675 1 1 0 53.2139380484 53.8302222156 46.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +1676 1 1 0 52.5 54.3301270189 46.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +1677 1 1 0 51.7101007166 54.6984631039 46.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +1678 1 1 0 50.8682408883 54.9240387651 46.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +1679 1 1 0 50.0 55.0 46.0 2.97069695889e-15 1.0 0 0.872664625997 -75 42.5 42.5 0.2 +1680 1 1 0 49.1317591117 54.9240387651 46.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +1681 1 1 0 48.2898992834 54.6984631039 46.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +1682 1 1 0 47.5 54.3301270189 46.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +1683 1 1 0 46.7860619516 53.8302222156 46.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +1684 1 1 0 46.1697777844 53.2139380484 46.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +1685 1 1 0 45.6698729811 52.5 46.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +1686 1 1 0 45.3015368961 51.7101007166 46.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +1687 1 1 0 45.0759612349 50.8682408883 46.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +1688 1 1 0 45.0 50.0 46.0 -1.0 3.92010771854e-15 0 0.872664625997 -75 42.5 42.5 0.2 +1689 1 1 0 45.0759612349 49.1317591117 46.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +1690 1 1 0 45.3015368961 48.2898992834 46.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +1691 1 1 0 45.6698729811 47.5 46.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +1692 1 1 0 46.1697777844 46.7860619516 46.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +1693 1 1 0 47.1321178182 45.9042397786 47.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +1694 1 1 0 47.8869086913 45.4684610648 47.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +1695 1 1 0 48.7059047745 45.1703708686 47.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +1696 1 1 0 49.5642212863 45.0190265095 47.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +1697 1 1 0 50.4357787137 45.0190265095 47.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +1698 1 1 0 51.2940952255 45.1703708686 47.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +1699 1 1 0 52.1130913087 45.4684610648 47.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +1700 1 1 0 52.8678821818 45.9042397786 47.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +1701 1 1 0 53.5355339059 46.4644660941 47.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +1702 1 1 0 54.0957602214 47.1321178182 47.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +1703 1 1 0 54.5315389352 47.8869086913 47.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +1704 1 1 0 54.8296291314 48.7059047745 47.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +1705 1 1 0 54.9809734905 49.5642212863 47.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +1706 1 1 0 54.9809734905 50.4357787137 47.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +1707 1 1 0 54.8296291314 51.2940952255 47.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +1708 1 1 0 54.5315389352 52.1130913087 47.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +1709 1 1 0 54.0957602214 52.8678821818 47.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +1710 1 1 0 53.5355339059 53.5355339059 47.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +1711 1 1 0 52.8678821818 54.0957602214 47.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +1712 1 1 0 52.1130913087 54.5315389352 47.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +1713 1 1 0 51.2940952255 54.8296291314 47.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +1714 1 1 0 50.4357787137 54.9809734905 47.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +1715 1 1 0 49.5642212863 54.9809734905 47.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +1716 1 1 0 48.7059047745 54.8296291314 47.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +1717 1 1 0 47.8869086913 54.5315389352 47.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +1718 1 1 0 47.1321178182 54.0957602214 47.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +1719 1 1 0 46.4644660941 53.5355339059 47.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +1720 1 1 0 45.9042397786 52.8678821818 47.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +1721 1 1 0 45.4684610648 52.1130913087 47.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +1722 1 1 0 45.1703708686 51.2940952255 47.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +1723 1 1 0 45.0190265095 50.4357787137 47.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +1724 1 1 0 45.0190265095 49.5642212863 47.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +1725 1 1 0 45.1703708686 48.7059047745 47.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +1726 1 1 0 45.4684610648 47.8869086913 47.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +1727 1 1 0 45.9042397786 47.1321178182 47.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +1728 1 1 0 46.4644660941 46.4644660941 47.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +1729 1 1 0 47.5 45.6698729811 48.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +1730 1 1 0 48.2898992834 45.3015368961 48.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +1731 1 1 0 49.1317591117 45.0759612349 48.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +1732 1 1 0 50.0 45.0 48.0 -2.84823227897e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 +1733 1 1 0 50.8682408883 45.0759612349 48.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +1734 1 1 0 51.7101007166 45.3015368961 48.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +1735 1 1 0 52.5 45.6698729811 48.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +1736 1 1 0 53.2139380484 46.1697777844 48.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +1737 1 1 0 53.8302222156 46.7860619516 48.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +1738 1 1 0 54.3301270189 47.5 48.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +1739 1 1 0 54.6984631039 48.2898992834 48.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +1740 1 1 0 54.9240387651 49.1317591117 48.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +1741 1 1 0 55.0 50.0 48.0 1.0 -3.79764303863e-15 0 0.872664625997 -75 42.5 42.5 0.2 +1742 1 1 0 54.9240387651 50.8682408883 48.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +1743 1 1 0 54.6984631039 51.7101007166 48.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +1744 1 1 0 54.3301270189 52.5 48.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +1745 1 1 0 53.8302222156 53.2139380484 48.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +1746 1 1 0 53.2139380484 53.8302222156 48.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +1747 1 1 0 52.5 54.3301270189 48.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +1748 1 1 0 51.7101007166 54.6984631039 48.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +1749 1 1 0 50.8682408883 54.9240387651 48.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +1750 1 1 0 50.0 55.0 48.0 3.85887537859e-15 1.0 0 0.872664625997 -75 42.5 42.5 0.2 +1751 1 1 0 49.1317591117 54.9240387651 48.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +1752 1 1 0 48.2898992834 54.6984631039 48.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +1753 1 1 0 47.5 54.3301270189 48.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +1754 1 1 0 46.7860619516 53.8302222156 48.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +1755 1 1 0 46.1697777844 53.2139380484 48.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +1756 1 1 0 45.6698729811 52.5 48.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +1757 1 1 0 45.3015368961 51.7101007166 48.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +1758 1 1 0 45.0759612349 50.8682408883 48.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +1759 1 1 0 45.0 50.0 48.0 -1.0 3.92010771854e-15 0 0.872664625997 -75 42.5 42.5 0.2 +1760 1 1 0 45.0759612349 49.1317591117 48.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +1761 1 1 0 45.3015368961 48.2898992834 48.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +1762 1 1 0 45.6698729811 47.5 48.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +1763 1 1 0 46.1697777844 46.7860619516 48.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +1764 1 1 0 46.7860619516 46.1697777844 48.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +1765 1 1 0 47.8869086913 45.4684610648 49.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +1766 1 1 0 48.7059047745 45.1703708686 49.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +1767 1 1 0 49.5642212863 45.0190265095 49.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +1768 1 1 0 50.4357787137 45.0190265095 49.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +1769 1 1 0 51.2940952255 45.1703708686 49.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +1770 1 1 0 52.1130913087 45.4684610648 49.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +1771 1 1 0 52.8678821818 45.9042397786 49.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +1772 1 1 0 53.5355339059 46.4644660941 49.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +1773 1 1 0 54.0957602214 47.1321178182 49.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +1774 1 1 0 54.5315389352 47.8869086913 49.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +1775 1 1 0 54.8296291314 48.7059047745 49.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +1776 1 1 0 54.9809734905 49.5642212863 49.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +1777 1 1 0 54.9809734905 50.4357787137 49.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +1778 1 1 0 54.8296291314 51.2940952255 49.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +1779 1 1 0 54.5315389352 52.1130913087 49.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +1780 1 1 0 54.0957602214 52.8678821818 49.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +1781 1 1 0 53.5355339059 53.5355339059 49.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +1782 1 1 0 52.8678821818 54.0957602214 49.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +1783 1 1 0 52.1130913087 54.5315389352 49.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +1784 1 1 0 51.2940952255 54.8296291314 49.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +1785 1 1 0 50.4357787137 54.9809734905 49.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +1786 1 1 0 49.5642212863 54.9809734905 49.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +1787 1 1 0 48.7059047745 54.8296291314 49.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +1788 1 1 0 47.8869086913 54.5315389352 49.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +1789 1 1 0 47.1321178182 54.0957602214 49.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +1790 1 1 0 46.4644660941 53.5355339059 49.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +1791 1 1 0 45.9042397786 52.8678821818 49.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +1792 1 1 0 45.4684610648 52.1130913087 49.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +1793 1 1 0 45.1703708686 51.2940952255 49.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +1794 1 1 0 45.0190265095 50.4357787137 49.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +1795 1 1 0 45.0190265095 49.5642212863 49.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +1796 1 1 0 45.1703708686 48.7059047745 49.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +1797 1 1 0 45.4684610648 47.8869086913 49.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +1798 1 1 0 45.9042397786 47.1321178182 49.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +1799 1 1 0 46.4644660941 46.4644660941 49.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +1800 1 1 0 47.1321178182 45.9042397786 49.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +1801 1 1 0 48.2898992834 45.3015368961 50.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +1802 1 1 0 49.1317591117 45.0759612349 50.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +1803 1 1 0 50.0 45.0 50.0 -3.73641069867e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 +1804 1 1 0 50.8682408883 45.0759612349 50.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +1805 1 1 0 51.7101007166 45.3015368961 50.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +1806 1 1 0 52.5 45.6698729811 50.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +1807 1 1 0 53.2139380484 46.1697777844 50.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +1808 1 1 0 53.8302222156 46.7860619516 50.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +1809 1 1 0 54.3301270189 47.5 50.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +1810 1 1 0 54.6984631039 48.2898992834 50.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +1811 1 1 0 54.9240387651 49.1317591117 50.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +1812 1 1 0 55.0 50.0 50.0 1.0 -3.79764303863e-15 0 0.872664625997 -75 42.5 42.5 0.2 +1813 1 1 0 54.9240387651 50.8682408883 50.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +1814 1 1 0 54.6984631039 51.7101007166 50.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +1815 1 1 0 54.3301270189 52.5 50.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +1816 1 1 0 53.8302222156 53.2139380484 50.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +1817 1 1 0 53.2139380484 53.8302222156 50.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +1818 1 1 0 52.5 54.3301270189 50.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +1819 1 1 0 51.7101007166 54.6984631039 50.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +1820 1 1 0 50.8682408883 54.9240387651 50.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +1821 1 1 0 50.0 55.0 50.0 3.85887537859e-15 1.0 0 0.872664625997 -75 42.5 42.5 0.2 +1822 1 1 0 49.1317591117 54.9240387651 50.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +1823 1 1 0 48.2898992834 54.6984631039 50.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +1824 1 1 0 47.5 54.3301270189 50.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +1825 1 1 0 46.7860619516 53.8302222156 50.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +1826 1 1 0 46.1697777844 53.2139380484 50.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +1827 1 1 0 45.6698729811 52.5 50.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +1828 1 1 0 45.3015368961 51.7101007166 50.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +1829 1 1 0 45.0759612349 50.8682408883 50.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +1830 1 1 0 45.0 50.0 50.0 -1.0 3.92010771854e-15 0 0.872664625997 -75 42.5 42.5 0.2 +1831 1 1 0 45.0759612349 49.1317591117 50.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +1832 1 1 0 45.3015368961 48.2898992834 50.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +1833 1 1 0 45.6698729811 47.5 50.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +1834 1 1 0 46.1697777844 46.7860619516 50.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +1835 1 1 0 46.7860619516 46.1697777844 50.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +1836 1 1 0 47.5 45.6698729811 50.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +1837 1 1 0 48.7059047745 45.1703708686 51.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +1838 1 1 0 49.5642212863 45.0190265095 51.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +1839 1 1 0 50.4357787137 45.0190265095 51.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +1840 1 1 0 51.2940952255 45.1703708686 51.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +1841 1 1 0 52.1130913087 45.4684610648 51.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +1842 1 1 0 52.8678821818 45.9042397786 51.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +1843 1 1 0 53.5355339059 46.4644660941 51.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +1844 1 1 0 54.0957602214 47.1321178182 51.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +1845 1 1 0 54.5315389352 47.8869086913 51.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +1846 1 1 0 54.8296291314 48.7059047745 51.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +1847 1 1 0 54.9809734905 49.5642212863 51.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +1848 1 1 0 54.9809734905 50.4357787137 51.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +1849 1 1 0 54.8296291314 51.2940952255 51.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +1850 1 1 0 54.5315389352 52.1130913087 51.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +1851 1 1 0 54.0957602214 52.8678821818 51.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +1852 1 1 0 53.5355339059 53.5355339059 51.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +1853 1 1 0 52.8678821818 54.0957602214 51.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +1854 1 1 0 52.1130913087 54.5315389352 51.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +1855 1 1 0 51.2940952255 54.8296291314 51.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +1856 1 1 0 50.4357787137 54.9809734905 51.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +1857 1 1 0 49.5642212863 54.9809734905 51.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +1858 1 1 0 48.7059047745 54.8296291314 51.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +1859 1 1 0 47.8869086913 54.5315389352 51.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +1860 1 1 0 47.1321178182 54.0957602214 51.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +1861 1 1 0 46.4644660941 53.5355339059 51.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +1862 1 1 0 45.9042397786 52.8678821818 51.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +1863 1 1 0 45.4684610648 52.1130913087 51.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +1864 1 1 0 45.1703708686 51.2940952255 51.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +1865 1 1 0 45.0190265095 50.4357787137 51.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +1866 1 1 0 45.0190265095 49.5642212863 51.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +1867 1 1 0 45.1703708686 48.7059047745 51.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +1868 1 1 0 45.4684610648 47.8869086913 51.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +1869 1 1 0 45.9042397786 47.1321178182 51.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +1870 1 1 0 46.4644660941 46.4644660941 51.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +1871 1 1 0 47.1321178182 45.9042397786 51.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +1872 1 1 0 47.8869086913 45.4684610648 51.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +1873 1 1 0 49.1317591117 45.0759612349 52.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +1874 1 1 0 50.0 45.0 52.0 -3.73641069867e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 +1875 1 1 0 50.8682408883 45.0759612349 52.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +1876 1 1 0 51.7101007166 45.3015368961 52.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +1877 1 1 0 52.5 45.6698729811 52.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +1878 1 1 0 53.2139380484 46.1697777844 52.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +1879 1 1 0 53.8302222156 46.7860619516 52.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +1880 1 1 0 54.3301270189 47.5 52.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +1881 1 1 0 54.6984631039 48.2898992834 52.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +1882 1 1 0 54.9240387651 49.1317591117 52.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +1883 1 1 0 55.0 50.0 52.0 1.0 -3.79764303863e-15 0 0.872664625997 -75 42.5 42.5 0.2 +1884 1 1 0 54.9240387651 50.8682408883 52.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +1885 1 1 0 54.6984631039 51.7101007166 52.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +1886 1 1 0 54.3301270189 52.5 52.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +1887 1 1 0 53.8302222156 53.2139380484 52.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +1888 1 1 0 53.2139380484 53.8302222156 52.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +1889 1 1 0 52.5 54.3301270189 52.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +1890 1 1 0 51.7101007166 54.6984631039 52.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +1891 1 1 0 50.8682408883 54.9240387651 52.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +1892 1 1 0 50.0 55.0 52.0 3.85887537859e-15 1.0 0 0.872664625997 -75 42.5 42.5 0.2 +1893 1 1 0 49.1317591117 54.9240387651 52.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +1894 1 1 0 48.2898992834 54.6984631039 52.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +1895 1 1 0 47.5 54.3301270189 52.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +1896 1 1 0 46.7860619516 53.8302222156 52.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +1897 1 1 0 46.1697777844 53.2139380484 52.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +1898 1 1 0 45.6698729811 52.5 52.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +1899 1 1 0 45.3015368961 51.7101007166 52.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +1900 1 1 0 45.0759612349 50.8682408883 52.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +1901 1 1 0 45.0 50.0 52.0 -1.0 3.92010771854e-15 0 0.872664625997 -75 42.5 42.5 0.2 +1902 1 1 0 45.0759612349 49.1317591117 52.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +1903 1 1 0 45.3015368961 48.2898992834 52.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +1904 1 1 0 45.6698729811 47.5 52.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +1905 1 1 0 46.1697777844 46.7860619516 52.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +1906 1 1 0 46.7860619516 46.1697777844 52.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +1907 1 1 0 47.5 45.6698729811 52.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +1908 1 1 0 48.2898992834 45.3015368961 52.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +1909 1 1 0 49.5642212863 45.0190265095 53.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +1910 1 1 0 50.4357787137 45.0190265095 53.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +1911 1 1 0 51.2940952255 45.1703708686 53.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +1912 1 1 0 52.1130913087 45.4684610648 53.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +1913 1 1 0 52.8678821818 45.9042397786 53.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +1914 1 1 0 53.5355339059 46.4644660941 53.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +1915 1 1 0 54.0957602214 47.1321178182 53.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +1916 1 1 0 54.5315389352 47.8869086913 53.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +1917 1 1 0 54.8296291314 48.7059047745 53.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +1918 1 1 0 54.9809734905 49.5642212863 53.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +1919 1 1 0 54.9809734905 50.4357787137 53.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +1920 1 1 0 54.8296291314 51.2940952255 53.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +1921 1 1 0 54.5315389352 52.1130913087 53.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +1922 1 1 0 54.0957602214 52.8678821818 53.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +1923 1 1 0 53.5355339059 53.5355339059 53.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +1924 1 1 0 52.8678821818 54.0957602214 53.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +1925 1 1 0 52.1130913087 54.5315389352 53.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +1926 1 1 0 51.2940952255 54.8296291314 53.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +1927 1 1 0 50.4357787137 54.9809734905 53.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +1928 1 1 0 49.5642212863 54.9809734905 53.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +1929 1 1 0 48.7059047745 54.8296291314 53.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +1930 1 1 0 47.8869086913 54.5315389352 53.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +1931 1 1 0 47.1321178182 54.0957602214 53.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +1932 1 1 0 46.4644660941 53.5355339059 53.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +1933 1 1 0 45.9042397786 52.8678821818 53.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +1934 1 1 0 45.4684610648 52.1130913087 53.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +1935 1 1 0 45.1703708686 51.2940952255 53.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +1936 1 1 0 45.0190265095 50.4357787137 53.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +1937 1 1 0 45.0190265095 49.5642212863 53.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +1938 1 1 0 45.1703708686 48.7059047745 53.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +1939 1 1 0 45.4684610648 47.8869086913 53.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +1940 1 1 0 45.9042397786 47.1321178182 53.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +1941 1 1 0 46.4644660941 46.4644660941 53.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +1942 1 1 0 47.1321178182 45.9042397786 53.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +1943 1 1 0 47.8869086913 45.4684610648 53.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +1944 1 1 0 48.7059047745 45.1703708686 53.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +1945 1 1 0 50.0 45.0 54.0 -3.73641069867e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 +1946 1 1 0 50.8682408883 45.0759612349 54.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +1947 1 1 0 51.7101007166 45.3015368961 54.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +1948 1 1 0 52.5 45.6698729811 54.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +1949 1 1 0 53.2139380484 46.1697777844 54.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +1950 1 1 0 53.8302222156 46.7860619516 54.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +1951 1 1 0 54.3301270189 47.5 54.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +1952 1 1 0 54.6984631039 48.2898992834 54.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +1953 1 1 0 54.9240387651 49.1317591117 54.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +1954 1 1 0 55.0 50.0 54.0 1.0 -3.79764303863e-15 0 0.872664625997 -75 42.5 42.5 0.2 +1955 1 1 0 54.9240387651 50.8682408883 54.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +1956 1 1 0 54.6984631039 51.7101007166 54.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +1957 1 1 0 54.3301270189 52.5 54.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +1958 1 1 0 53.8302222156 53.2139380484 54.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +1959 1 1 0 53.2139380484 53.8302222156 54.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +1960 1 1 0 52.5 54.3301270189 54.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +1961 1 1 0 51.7101007166 54.6984631039 54.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +1962 1 1 0 50.8682408883 54.9240387651 54.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +1963 1 1 0 50.0 55.0 54.0 3.85887537859e-15 1.0 0 0.872664625997 -75 42.5 42.5 0.2 +1964 1 1 0 49.1317591117 54.9240387651 54.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +1965 1 1 0 48.2898992834 54.6984631039 54.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +1966 1 1 0 47.5 54.3301270189 54.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +1967 1 1 0 46.7860619516 53.8302222156 54.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +1968 1 1 0 46.1697777844 53.2139380484 54.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +1969 1 1 0 45.6698729811 52.5 54.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +1970 1 1 0 45.3015368961 51.7101007166 54.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +1971 1 1 0 45.0759612349 50.8682408883 54.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +1972 1 1 0 45.0 50.0 54.0 -1.0 3.92010771854e-15 0 0.872664625997 -75 42.5 42.5 0.2 +1973 1 1 0 45.0759612349 49.1317591117 54.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +1974 1 1 0 45.3015368961 48.2898992834 54.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +1975 1 1 0 45.6698729811 47.5 54.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +1976 1 1 0 46.1697777844 46.7860619516 54.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +1977 1 1 0 46.7860619516 46.1697777844 54.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +1978 1 1 0 47.5 45.6698729811 54.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +1979 1 1 0 48.2898992834 45.3015368961 54.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +1980 1 1 0 49.1317591117 45.0759612349 54.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +1981 1 1 0 50.4357787137 45.0190265095 55.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +1982 1 1 0 51.2940952255 45.1703708686 55.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +1983 1 1 0 52.1130913087 45.4684610648 55.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +1984 1 1 0 52.8678821818 45.9042397786 55.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +1985 1 1 0 53.5355339059 46.4644660941 55.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +1986 1 1 0 54.0957602214 47.1321178182 55.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +1987 1 1 0 54.5315389352 47.8869086913 55.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +1988 1 1 0 54.8296291314 48.7059047745 55.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +1989 1 1 0 54.9809734905 49.5642212863 55.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +1990 1 1 0 54.9809734905 50.4357787137 55.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +1991 1 1 0 54.8296291314 51.2940952255 55.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +1992 1 1 0 54.5315389352 52.1130913087 55.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +1993 1 1 0 54.0957602214 52.8678821818 55.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +1994 1 1 0 53.5355339059 53.5355339059 55.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +1995 1 1 0 52.8678821818 54.0957602214 55.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +1996 1 1 0 52.1130913087 54.5315389352 55.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +1997 1 1 0 51.2940952255 54.8296291314 55.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +1998 1 1 0 50.4357787137 54.9809734905 55.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +1999 1 1 0 49.5642212863 54.9809734905 55.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +2000 1 1 0 48.7059047745 54.8296291314 55.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +2001 1 1 0 47.8869086913 54.5315389352 55.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +2002 1 1 0 47.1321178182 54.0957602214 55.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +2003 1 1 0 46.4644660941 53.5355339059 55.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +2004 1 1 0 45.9042397786 52.8678821818 55.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +2005 1 1 0 45.4684610648 52.1130913087 55.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +2006 1 1 0 45.1703708686 51.2940952255 55.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +2007 1 1 0 45.0190265095 50.4357787137 55.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +2008 1 1 0 45.0190265095 49.5642212863 55.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +2009 1 1 0 45.1703708686 48.7059047745 55.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +2010 1 1 0 45.4684610648 47.8869086913 55.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +2011 1 1 0 45.9042397786 47.1321178182 55.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +2012 1 1 0 46.4644660941 46.4644660941 55.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +2013 1 1 0 47.1321178182 45.9042397786 55.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +2014 1 1 0 47.8869086913 45.4684610648 55.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +2015 1 1 0 48.7059047745 45.1703708686 55.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +2016 1 1 0 49.5642212863 45.0190265095 55.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +2017 1 1 0 50.8682408883 45.0759612349 56.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +2018 1 1 0 51.7101007166 45.3015368961 56.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +2019 1 1 0 52.5 45.6698729811 56.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +2020 1 1 0 53.2139380484 46.1697777844 56.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +2021 1 1 0 53.8302222156 46.7860619516 56.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +2022 1 1 0 54.3301270189 47.5 56.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +2023 1 1 0 54.6984631039 48.2898992834 56.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +2024 1 1 0 54.9240387651 49.1317591117 56.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +2025 1 1 0 55.0 50.0 56.0 1.0 -3.79764303863e-15 0 0.872664625997 -75 42.5 42.5 0.2 +2026 1 1 0 54.9240387651 50.8682408883 56.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +2027 1 1 0 54.6984631039 51.7101007166 56.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +2028 1 1 0 54.3301270189 52.5 56.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +2029 1 1 0 53.8302222156 53.2139380484 56.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +2030 1 1 0 53.2139380484 53.8302222156 56.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +2031 1 1 0 52.5 54.3301270189 56.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +2032 1 1 0 51.7101007166 54.6984631039 56.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +2033 1 1 0 50.8682408883 54.9240387651 56.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +2034 1 1 0 50.0 55.0 56.0 3.85887537859e-15 1.0 0 0.872664625997 -75 42.5 42.5 0.2 +2035 1 1 0 49.1317591117 54.9240387651 56.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +2036 1 1 0 48.2898992834 54.6984631039 56.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +2037 1 1 0 47.5 54.3301270189 56.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +2038 1 1 0 46.7860619516 53.8302222156 56.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +2039 1 1 0 46.1697777844 53.2139380484 56.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +2040 1 1 0 45.6698729811 52.5 56.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +2041 1 1 0 45.3015368961 51.7101007166 56.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +2042 1 1 0 45.0759612349 50.8682408883 56.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +2043 1 1 0 45.0 50.0 56.0 -1.0 3.92010771854e-15 0 0.872664625997 -75 42.5 42.5 0.2 +2044 1 1 0 45.0759612349 49.1317591117 56.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +2045 1 1 0 45.3015368961 48.2898992834 56.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +2046 1 1 0 45.6698729811 47.5 56.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +2047 1 1 0 46.1697777844 46.7860619516 56.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +2048 1 1 0 46.7860619516 46.1697777844 56.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +2049 1 1 0 47.5 45.6698729811 56.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +2050 1 1 0 48.2898992834 45.3015368961 56.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +2051 1 1 0 49.1317591117 45.0759612349 56.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +2052 1 1 0 50.0 45.0 56.0 -3.9813400585e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 +2053 1 1 0 51.2940952255 45.1703708686 57.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +2054 1 1 0 52.1130913087 45.4684610648 57.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +2055 1 1 0 52.8678821818 45.9042397786 57.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +2056 1 1 0 53.5355339059 46.4644660941 57.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +2057 1 1 0 54.0957602214 47.1321178182 57.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +2058 1 1 0 54.5315389352 47.8869086913 57.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +2059 1 1 0 54.8296291314 48.7059047745 57.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +2060 1 1 0 54.9809734905 49.5642212863 57.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +2061 1 1 0 54.9809734905 50.4357787137 57.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +2062 1 1 0 54.8296291314 51.2940952255 57.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +2063 1 1 0 54.5315389352 52.1130913087 57.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +2064 1 1 0 54.0957602214 52.8678821818 57.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +2065 1 1 0 53.5355339059 53.5355339059 57.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +2066 1 1 0 52.8678821818 54.0957602214 57.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +2067 1 1 0 52.1130913087 54.5315389352 57.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +2068 1 1 0 51.2940952255 54.8296291314 57.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +2069 1 1 0 50.4357787137 54.9809734905 57.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +2070 1 1 0 49.5642212863 54.9809734905 57.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +2071 1 1 0 48.7059047745 54.8296291314 57.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +2072 1 1 0 47.8869086913 54.5315389352 57.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +2073 1 1 0 47.1321178182 54.0957602214 57.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +2074 1 1 0 46.4644660941 53.5355339059 57.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +2075 1 1 0 45.9042397786 52.8678821818 57.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +2076 1 1 0 45.4684610648 52.1130913087 57.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +2077 1 1 0 45.1703708686 51.2940952255 57.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +2078 1 1 0 45.0190265095 50.4357787137 57.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +2079 1 1 0 45.0190265095 49.5642212863 57.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +2080 1 1 0 45.1703708686 48.7059047745 57.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +2081 1 1 0 45.4684610648 47.8869086913 57.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +2082 1 1 0 45.9042397786 47.1321178182 57.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +2083 1 1 0 46.4644660941 46.4644660941 57.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +2084 1 1 0 47.1321178182 45.9042397786 57.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +2085 1 1 0 47.8869086913 45.4684610648 57.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +2086 1 1 0 48.7059047745 45.1703708686 57.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +2087 1 1 0 49.5642212863 45.0190265095 57.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +2088 1 1 0 50.4357787137 45.0190265095 57.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +2089 1 1 0 51.7101007166 45.3015368961 58.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +2090 1 1 0 52.5 45.6698729811 58.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +2091 1 1 0 53.2139380484 46.1697777844 58.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +2092 1 1 0 53.8302222156 46.7860619516 58.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +2093 1 1 0 54.3301270189 47.5 58.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +2094 1 1 0 54.6984631039 48.2898992834 58.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +2095 1 1 0 54.9240387651 49.1317591117 58.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +2096 1 1 0 55.0 50.0 58.0 1.0 -3.79764303863e-15 0 0.872664625997 -75 42.5 42.5 0.2 +2097 1 1 0 54.9240387651 50.8682408883 58.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +2098 1 1 0 54.6984631039 51.7101007166 58.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +2099 1 1 0 54.3301270189 52.5 58.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +2100 1 1 0 53.8302222156 53.2139380484 58.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +2101 1 1 0 53.2139380484 53.8302222156 58.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +2102 1 1 0 52.5 54.3301270189 58.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +2103 1 1 0 51.7101007166 54.6984631039 58.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +2104 1 1 0 50.8682408883 54.9240387651 58.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +2105 1 1 0 50.0 55.0 58.0 3.85887537859e-15 1.0 0 0.872664625997 -75 42.5 42.5 0.2 +2106 1 1 0 49.1317591117 54.9240387651 58.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +2107 1 1 0 48.2898992834 54.6984631039 58.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +2108 1 1 0 47.5 54.3301270189 58.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +2109 1 1 0 46.7860619516 53.8302222156 58.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +2110 1 1 0 46.1697777844 53.2139380484 58.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +2111 1 1 0 45.6698729811 52.5 58.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +2112 1 1 0 45.3015368961 51.7101007166 58.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +2113 1 1 0 45.0759612349 50.8682408883 58.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +2114 1 1 0 45.0 50.0 58.0 -1.0 3.92010771854e-15 0 0.872664625997 -75 42.5 42.5 0.2 +2115 1 1 0 45.0759612349 49.1317591117 58.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +2116 1 1 0 45.3015368961 48.2898992834 58.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +2117 1 1 0 45.6698729811 47.5 58.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +2118 1 1 0 46.1697777844 46.7860619516 58.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +2119 1 1 0 46.7860619516 46.1697777844 58.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +2120 1 1 0 47.5 45.6698729811 58.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +2121 1 1 0 48.2898992834 45.3015368961 58.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +2122 1 1 0 49.1317591117 45.0759612349 58.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +2123 1 1 0 50.0 45.0 58.0 -5.7576968979e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 +2124 1 1 0 50.8682408883 45.0759612349 58.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +2125 1 1 0 52.1130913087 45.4684610648 59.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +2126 1 1 0 52.8678821818 45.9042397786 59.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +2127 1 1 0 53.5355339059 46.4644660941 59.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +2128 1 1 0 54.0957602214 47.1321178182 59.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +2129 1 1 0 54.5315389352 47.8869086913 59.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +2130 1 1 0 54.8296291314 48.7059047745 59.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +2131 1 1 0 54.9809734905 49.5642212863 59.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +2132 1 1 0 54.9809734905 50.4357787137 59.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +2133 1 1 0 54.8296291314 51.2940952255 59.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +2134 1 1 0 54.5315389352 52.1130913087 59.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +2135 1 1 0 54.0957602214 52.8678821818 59.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +2136 1 1 0 53.5355339059 53.5355339059 59.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +2137 1 1 0 52.8678821818 54.0957602214 59.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +2138 1 1 0 52.1130913087 54.5315389352 59.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +2139 1 1 0 51.2940952255 54.8296291314 59.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +2140 1 1 0 50.4357787137 54.9809734905 59.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +2141 1 1 0 49.5642212863 54.9809734905 59.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +2142 1 1 0 48.7059047745 54.8296291314 59.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +2143 1 1 0 47.8869086913 54.5315389352 59.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +2144 1 1 0 47.1321178182 54.0957602214 59.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +2145 1 1 0 46.4644660941 53.5355339059 59.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +2146 1 1 0 45.9042397786 52.8678821818 59.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +2147 1 1 0 45.4684610648 52.1130913087 59.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +2148 1 1 0 45.1703708686 51.2940952255 59.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +2149 1 1 0 45.0190265095 50.4357787137 59.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +2150 1 1 0 45.0190265095 49.5642212863 59.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +2151 1 1 0 45.1703708686 48.7059047745 59.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +2152 1 1 0 45.4684610648 47.8869086913 59.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +2153 1 1 0 45.9042397786 47.1321178182 59.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +2154 1 1 0 46.4644660941 46.4644660941 59.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +2155 1 1 0 47.1321178182 45.9042397786 59.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +2156 1 1 0 47.8869086913 45.4684610648 59.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +2157 1 1 0 48.7059047745 45.1703708686 59.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +2158 1 1 0 49.5642212863 45.0190265095 59.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +2159 1 1 0 50.4357787137 45.0190265095 59.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +2160 1 1 0 51.2940952255 45.1703708686 59.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +2161 1 1 0 52.5 45.6698729811 60.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +2162 1 1 0 53.2139380484 46.1697777844 60.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +2163 1 1 0 53.8302222156 46.7860619516 60.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +2164 1 1 0 54.3301270189 47.5 60.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +2165 1 1 0 54.6984631039 48.2898992834 60.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +2166 1 1 0 54.9240387651 49.1317591117 60.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +2167 1 1 0 55.0 50.0 60.0 1.0 -4.68582145833e-15 0 0.872664625997 -75 42.5 42.5 0.2 +2168 1 1 0 54.9240387651 50.8682408883 60.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +2169 1 1 0 54.6984631039 51.7101007166 60.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +2170 1 1 0 54.3301270189 52.5 60.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +2171 1 1 0 53.8302222156 53.2139380484 60.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +2172 1 1 0 53.2139380484 53.8302222156 60.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +2173 1 1 0 52.5 54.3301270189 60.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +2174 1 1 0 51.7101007166 54.6984631039 60.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +2175 1 1 0 50.8682408883 54.9240387651 60.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +2176 1 1 0 50.0 55.0 60.0 3.85887537859e-15 1.0 0 0.872664625997 -75 42.5 42.5 0.2 +2177 1 1 0 49.1317591117 54.9240387651 60.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +2178 1 1 0 48.2898992834 54.6984631039 60.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +2179 1 1 0 47.5 54.3301270189 60.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +2180 1 1 0 46.7860619516 53.8302222156 60.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +2181 1 1 0 46.1697777844 53.2139380484 60.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +2182 1 1 0 45.6698729811 52.5 60.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +2183 1 1 0 45.3015368961 51.7101007166 60.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +2184 1 1 0 45.0759612349 50.8682408883 60.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +2185 1 1 0 45.0 50.0 60.0 -1.0 3.92010771854e-15 0 0.872664625997 -75 42.5 42.5 0.2 +2186 1 1 0 45.0759612349 49.1317591117 60.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +2187 1 1 0 45.3015368961 48.2898992834 60.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +2188 1 1 0 45.6698729811 47.5 60.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +2189 1 1 0 46.1697777844 46.7860619516 60.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +2190 1 1 0 46.7860619516 46.1697777844 60.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +2191 1 1 0 47.5 45.6698729811 60.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +2192 1 1 0 48.2898992834 45.3015368961 60.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +2193 1 1 0 49.1317591117 45.0759612349 60.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +2194 1 1 0 50.0 45.0 60.0 -5.7576968979e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 +2195 1 1 0 50.8682408883 45.0759612349 60.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +2196 1 1 0 51.7101007166 45.3015368961 60.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +2197 1 1 0 52.8678821818 45.9042397786 61.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +2198 1 1 0 53.5355339059 46.4644660941 61.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +2199 1 1 0 54.0957602214 47.1321178182 61.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +2200 1 1 0 54.5315389352 47.8869086913 61.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +2201 1 1 0 54.8296291314 48.7059047745 61.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +2202 1 1 0 54.9809734905 49.5642212863 61.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +2203 1 1 0 54.9809734905 50.4357787137 61.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +2204 1 1 0 54.8296291314 51.2940952255 61.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +2205 1 1 0 54.5315389352 52.1130913087 61.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +2206 1 1 0 54.0957602214 52.8678821818 61.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +2207 1 1 0 53.5355339059 53.5355339059 61.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +2208 1 1 0 52.8678821818 54.0957602214 61.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +2209 1 1 0 52.1130913087 54.5315389352 61.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +2210 1 1 0 51.2940952255 54.8296291314 61.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +2211 1 1 0 50.4357787137 54.9809734905 61.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +2212 1 1 0 49.5642212863 54.9809734905 61.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +2213 1 1 0 48.7059047745 54.8296291314 61.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +2214 1 1 0 47.8869086913 54.5315389352 61.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +2215 1 1 0 47.1321178182 54.0957602214 61.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +2216 1 1 0 46.4644660941 53.5355339059 61.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +2217 1 1 0 45.9042397786 52.8678821818 61.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +2218 1 1 0 45.4684610648 52.1130913087 61.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +2219 1 1 0 45.1703708686 51.2940952255 61.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +2220 1 1 0 45.0190265095 50.4357787137 61.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +2221 1 1 0 45.0190265095 49.5642212863 61.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +2222 1 1 0 45.1703708686 48.7059047745 61.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +2223 1 1 0 45.4684610648 47.8869086913 61.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +2224 1 1 0 45.9042397786 47.1321178182 61.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +2225 1 1 0 46.4644660941 46.4644660941 61.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +2226 1 1 0 47.1321178182 45.9042397786 61.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +2227 1 1 0 47.8869086913 45.4684610648 61.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +2228 1 1 0 48.7059047745 45.1703708686 61.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +2229 1 1 0 49.5642212863 45.0190265095 61.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +2230 1 1 0 50.4357787137 45.0190265095 61.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +2231 1 1 0 51.2940952255 45.1703708686 61.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +2232 1 1 0 52.1130913087 45.4684610648 61.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +2233 1 1 0 53.2139380484 46.1697777844 62.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +2234 1 1 0 53.8302222156 46.7860619516 62.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +2235 1 1 0 54.3301270189 47.5 62.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +2236 1 1 0 54.6984631039 48.2898992834 62.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +2237 1 1 0 54.9240387651 49.1317591117 62.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +2238 1 1 0 55.0 50.0 62.0 1.0 -4.68582145833e-15 0 0.872664625997 -75 42.5 42.5 0.2 +2239 1 1 0 54.9240387651 50.8682408883 62.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +2240 1 1 0 54.6984631039 51.7101007166 62.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +2241 1 1 0 54.3301270189 52.5 62.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +2242 1 1 0 53.8302222156 53.2139380484 62.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +2243 1 1 0 53.2139380484 53.8302222156 62.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +2244 1 1 0 52.5 54.3301270189 62.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +2245 1 1 0 51.7101007166 54.6984631039 62.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +2246 1 1 0 50.8682408883 54.9240387651 62.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +2247 1 1 0 50.0 55.0 62.0 4.74705379829e-15 1.0 0 0.872664625997 -75 42.5 42.5 0.2 +2248 1 1 0 49.1317591117 54.9240387651 62.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +2249 1 1 0 48.2898992834 54.6984631039 62.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +2250 1 1 0 47.5 54.3301270189 62.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +2251 1 1 0 46.7860619516 53.8302222156 62.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +2252 1 1 0 46.1697777844 53.2139380484 62.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +2253 1 1 0 45.6698729811 52.5 62.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +2254 1 1 0 45.3015368961 51.7101007166 62.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +2255 1 1 0 45.0759612349 50.8682408883 62.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +2256 1 1 0 45.0 50.0 62.0 -1.0 3.92010771854e-15 0 0.872664625997 -75 42.5 42.5 0.2 +2257 1 1 0 45.0759612349 49.1317591117 62.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +2258 1 1 0 45.3015368961 48.2898992834 62.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +2259 1 1 0 45.6698729811 47.5 62.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +2260 1 1 0 46.1697777844 46.7860619516 62.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +2261 1 1 0 46.7860619516 46.1697777844 62.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +2262 1 1 0 47.5 45.6698729811 62.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +2263 1 1 0 48.2898992834 45.3015368961 62.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +2264 1 1 0 49.1317591117 45.0759612349 62.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +2265 1 1 0 50.0 45.0 62.0 -5.7576968979e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 +2266 1 1 0 50.8682408883 45.0759612349 62.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +2267 1 1 0 51.7101007166 45.3015368961 62.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +2268 1 1 0 52.5 45.6698729811 62.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +2269 1 1 0 53.5355339059 46.4644660941 63.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +2270 1 1 0 54.0957602214 47.1321178182 63.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +2271 1 1 0 54.5315389352 47.8869086913 63.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +2272 1 1 0 54.8296291314 48.7059047745 63.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +2273 1 1 0 54.9809734905 49.5642212863 63.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +2274 1 1 0 54.9809734905 50.4357787137 63.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +2275 1 1 0 54.8296291314 51.2940952255 63.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +2276 1 1 0 54.5315389352 52.1130913087 63.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +2277 1 1 0 54.0957602214 52.8678821818 63.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +2278 1 1 0 53.5355339059 53.5355339059 63.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +2279 1 1 0 52.8678821818 54.0957602214 63.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +2280 1 1 0 52.1130913087 54.5315389352 63.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +2281 1 1 0 51.2940952255 54.8296291314 63.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +2282 1 1 0 50.4357787137 54.9809734905 63.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +2283 1 1 0 49.5642212863 54.9809734905 63.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +2284 1 1 0 48.7059047745 54.8296291314 63.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +2285 1 1 0 47.8869086913 54.5315389352 63.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +2286 1 1 0 47.1321178182 54.0957602214 63.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +2287 1 1 0 46.4644660941 53.5355339059 63.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +2288 1 1 0 45.9042397786 52.8678821818 63.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +2289 1 1 0 45.4684610648 52.1130913087 63.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +2290 1 1 0 45.1703708686 51.2940952255 63.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +2291 1 1 0 45.0190265095 50.4357787137 63.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +2292 1 1 0 45.0190265095 49.5642212863 63.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +2293 1 1 0 45.1703708686 48.7059047745 63.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +2294 1 1 0 45.4684610648 47.8869086913 63.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +2295 1 1 0 45.9042397786 47.1321178182 63.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +2296 1 1 0 46.4644660941 46.4644660941 63.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +2297 1 1 0 47.1321178182 45.9042397786 63.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +2298 1 1 0 47.8869086913 45.4684610648 63.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +2299 1 1 0 48.7059047745 45.1703708686 63.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +2300 1 1 0 49.5642212863 45.0190265095 63.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +2301 1 1 0 50.4357787137 45.0190265095 63.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +2302 1 1 0 51.2940952255 45.1703708686 63.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +2303 1 1 0 52.1130913087 45.4684610648 63.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +2304 1 1 0 52.8678821818 45.9042397786 63.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +2305 1 1 0 53.8302222156 46.7860619516 64.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +2306 1 1 0 54.3301270189 47.5 64.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +2307 1 1 0 54.6984631039 48.2898992834 64.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +2308 1 1 0 54.9240387651 49.1317591117 64.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +2309 1 1 0 55.0 50.0 64.0 1.0 -4.68582145833e-15 0 0.872664625997 -75 42.5 42.5 0.2 +2310 1 1 0 54.9240387651 50.8682408883 64.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +2311 1 1 0 54.6984631039 51.7101007166 64.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +2312 1 1 0 54.3301270189 52.5 64.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +2313 1 1 0 53.8302222156 53.2139380484 64.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +2314 1 1 0 53.2139380484 53.8302222156 64.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +2315 1 1 0 52.5 54.3301270189 64.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +2316 1 1 0 51.7101007166 54.6984631039 64.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +2317 1 1 0 50.8682408883 54.9240387651 64.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +2318 1 1 0 50.0 55.0 64.0 4.74705379829e-15 1.0 0 0.872664625997 -75 42.5 42.5 0.2 +2319 1 1 0 49.1317591117 54.9240387651 64.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +2320 1 1 0 48.2898992834 54.6984631039 64.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +2321 1 1 0 47.5 54.3301270189 64.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +2322 1 1 0 46.7860619516 53.8302222156 64.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +2323 1 1 0 46.1697777844 53.2139380484 64.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +2324 1 1 0 45.6698729811 52.5 64.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +2325 1 1 0 45.3015368961 51.7101007166 64.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +2326 1 1 0 45.0759612349 50.8682408883 64.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +2327 1 1 0 45.0 50.0 64.0 -1.0 3.92010771854e-15 0 0.872664625997 -75 42.5 42.5 0.2 +2328 1 1 0 45.0759612349 49.1317591117 64.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +2329 1 1 0 45.3015368961 48.2898992834 64.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +2330 1 1 0 45.6698729811 47.5 64.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +2331 1 1 0 46.1697777844 46.7860619516 64.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +2332 1 1 0 46.7860619516 46.1697777844 64.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +2333 1 1 0 47.5 45.6698729811 64.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +2334 1 1 0 48.2898992834 45.3015368961 64.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +2335 1 1 0 49.1317591117 45.0759612349 64.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +2336 1 1 0 50.0 45.0 64.0 -5.7576968979e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 +2337 1 1 0 50.8682408883 45.0759612349 64.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +2338 1 1 0 51.7101007166 45.3015368961 64.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +2339 1 1 0 52.5 45.6698729811 64.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +2340 1 1 0 53.2139380484 46.1697777844 64.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +2341 1 1 0 54.0957602214 47.1321178182 65.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +2342 1 1 0 54.5315389352 47.8869086913 65.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +2343 1 1 0 54.8296291314 48.7059047745 65.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +2344 1 1 0 54.9809734905 49.5642212863 65.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +2345 1 1 0 54.9809734905 50.4357787137 65.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +2346 1 1 0 54.8296291314 51.2940952255 65.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +2347 1 1 0 54.5315389352 52.1130913087 65.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +2348 1 1 0 54.0957602214 52.8678821818 65.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +2349 1 1 0 53.5355339059 53.5355339059 65.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +2350 1 1 0 52.8678821818 54.0957602214 65.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +2351 1 1 0 52.1130913087 54.5315389352 65.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +2352 1 1 0 51.2940952255 54.8296291314 65.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +2353 1 1 0 50.4357787137 54.9809734905 65.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +2354 1 1 0 49.5642212863 54.9809734905 65.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +2355 1 1 0 48.7059047745 54.8296291314 65.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +2356 1 1 0 47.8869086913 54.5315389352 65.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +2357 1 1 0 47.1321178182 54.0957602214 65.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +2358 1 1 0 46.4644660941 53.5355339059 65.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +2359 1 1 0 45.9042397786 52.8678821818 65.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +2360 1 1 0 45.4684610648 52.1130913087 65.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +2361 1 1 0 45.1703708686 51.2940952255 65.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +2362 1 1 0 45.0190265095 50.4357787137 65.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +2363 1 1 0 45.0190265095 49.5642212863 65.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +2364 1 1 0 45.1703708686 48.7059047745 65.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +2365 1 1 0 45.4684610648 47.8869086913 65.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +2366 1 1 0 45.9042397786 47.1321178182 65.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +2367 1 1 0 46.4644660941 46.4644660941 65.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +2368 1 1 0 47.1321178182 45.9042397786 65.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +2369 1 1 0 47.8869086913 45.4684610648 65.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +2370 1 1 0 48.7059047745 45.1703708686 65.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +2371 1 1 0 49.5642212863 45.0190265095 65.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +2372 1 1 0 50.4357787137 45.0190265095 65.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +2373 1 1 0 51.2940952255 45.1703708686 65.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +2374 1 1 0 52.1130913087 45.4684610648 65.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +2375 1 1 0 52.8678821818 45.9042397786 65.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +2376 1 1 0 53.5355339059 46.4644660941 65.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +2377 1 1 0 54.3301270189 47.5 66.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +2378 1 1 0 54.6984631039 48.2898992834 66.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +2379 1 1 0 54.9240387651 49.1317591117 66.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +2380 1 1 0 55.0 50.0 66.0 1.0 -4.68582145833e-15 0 0.872664625997 -75 42.5 42.5 0.2 +2381 1 1 0 54.9240387651 50.8682408883 66.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +2382 1 1 0 54.6984631039 51.7101007166 66.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +2383 1 1 0 54.3301270189 52.5 66.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +2384 1 1 0 53.8302222156 53.2139380484 66.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +2385 1 1 0 53.2139380484 53.8302222156 66.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +2386 1 1 0 52.5 54.3301270189 66.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +2387 1 1 0 51.7101007166 54.6984631039 66.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +2388 1 1 0 50.8682408883 54.9240387651 66.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +2389 1 1 0 50.0 55.0 66.0 5.63523221799e-15 1.0 0 0.872664625997 -75 42.5 42.5 0.2 +2390 1 1 0 49.1317591117 54.9240387651 66.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +2391 1 1 0 48.2898992834 54.6984631039 66.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +2392 1 1 0 47.5 54.3301270189 66.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +2393 1 1 0 46.7860619516 53.8302222156 66.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +2394 1 1 0 46.1697777844 53.2139380484 66.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +2395 1 1 0 45.6698729811 52.5 66.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +2396 1 1 0 45.3015368961 51.7101007166 66.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +2397 1 1 0 45.0759612349 50.8682408883 66.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +2398 1 1 0 45.0 50.0 66.0 -1.0 5.69646455794e-15 0 0.872664625997 -75 42.5 42.5 0.2 +2399 1 1 0 45.0759612349 49.1317591117 66.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +2400 1 1 0 45.3015368961 48.2898992834 66.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +2401 1 1 0 45.6698729811 47.5 66.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +2402 1 1 0 46.1697777844 46.7860619516 66.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +2403 1 1 0 46.7860619516 46.1697777844 66.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +2404 1 1 0 47.5 45.6698729811 66.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +2405 1 1 0 48.2898992834 45.3015368961 66.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +2406 1 1 0 49.1317591117 45.0759612349 66.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +2407 1 1 0 50.0 45.0 66.0 -5.7576968979e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 +2408 1 1 0 50.8682408883 45.0759612349 66.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +2409 1 1 0 51.7101007166 45.3015368961 66.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +2410 1 1 0 52.5 45.6698729811 66.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +2411 1 1 0 53.2139380484 46.1697777844 66.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +2412 1 1 0 53.8302222156 46.7860619516 66.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +2413 1 1 0 54.5315389352 47.8869086913 67.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +2414 1 1 0 54.8296291314 48.7059047745 67.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +2415 1 1 0 54.9809734905 49.5642212863 67.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +2416 1 1 0 54.9809734905 50.4357787137 67.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +2417 1 1 0 54.8296291314 51.2940952255 67.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +2418 1 1 0 54.5315389352 52.1130913087 67.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +2419 1 1 0 54.0957602214 52.8678821818 67.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +2420 1 1 0 53.5355339059 53.5355339059 67.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +2421 1 1 0 52.8678821818 54.0957602214 67.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +2422 1 1 0 52.1130913087 54.5315389352 67.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +2423 1 1 0 51.2940952255 54.8296291314 67.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +2424 1 1 0 50.4357787137 54.9809734905 67.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +2425 1 1 0 49.5642212863 54.9809734905 67.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +2426 1 1 0 48.7059047745 54.8296291314 67.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +2427 1 1 0 47.8869086913 54.5315389352 67.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +2428 1 1 0 47.1321178182 54.0957602214 67.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +2429 1 1 0 46.4644660941 53.5355339059 67.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +2430 1 1 0 45.9042397786 52.8678821818 67.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +2431 1 1 0 45.4684610648 52.1130913087 67.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +2432 1 1 0 45.1703708686 51.2940952255 67.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +2433 1 1 0 45.0190265095 50.4357787137 67.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +2434 1 1 0 45.0190265095 49.5642212863 67.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +2435 1 1 0 45.1703708686 48.7059047745 67.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +2436 1 1 0 45.4684610648 47.8869086913 67.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +2437 1 1 0 45.9042397786 47.1321178182 67.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +2438 1 1 0 46.4644660941 46.4644660941 67.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +2439 1 1 0 47.1321178182 45.9042397786 67.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +2440 1 1 0 47.8869086913 45.4684610648 67.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +2441 1 1 0 48.7059047745 45.1703708686 67.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +2442 1 1 0 49.5642212863 45.0190265095 67.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +2443 1 1 0 50.4357787137 45.0190265095 67.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +2444 1 1 0 51.2940952255 45.1703708686 67.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +2445 1 1 0 52.1130913087 45.4684610648 67.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +2446 1 1 0 52.8678821818 45.9042397786 67.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +2447 1 1 0 53.5355339059 46.4644660941 67.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +2448 1 1 0 54.0957602214 47.1321178182 67.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +2449 1 1 0 54.6984631039 48.2898992834 68.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +2450 1 1 0 54.9240387651 49.1317591117 68.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +2451 1 1 0 55.0 50.0 68.0 1.0 -5.57399987803e-15 0 0.872664625997 -75 42.5 42.5 0.2 +2452 1 1 0 54.9240387651 50.8682408883 68.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +2453 1 1 0 54.6984631039 51.7101007166 68.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +2454 1 1 0 54.3301270189 52.5 68.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +2455 1 1 0 53.8302222156 53.2139380484 68.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +2456 1 1 0 53.2139380484 53.8302222156 68.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +2457 1 1 0 52.5 54.3301270189 68.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +2458 1 1 0 51.7101007166 54.6984631039 68.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +2459 1 1 0 50.8682408883 54.9240387651 68.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +2460 1 1 0 50.0 55.0 68.0 5.63523221799e-15 1.0 0 0.872664625997 -75 42.5 42.5 0.2 +2461 1 1 0 49.1317591117 54.9240387651 68.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +2462 1 1 0 48.2898992834 54.6984631039 68.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +2463 1 1 0 47.5 54.3301270189 68.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +2464 1 1 0 46.7860619516 53.8302222156 68.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +2465 1 1 0 46.1697777844 53.2139380484 68.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +2466 1 1 0 45.6698729811 52.5 68.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +2467 1 1 0 45.3015368961 51.7101007166 68.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +2468 1 1 0 45.0759612349 50.8682408883 68.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +2469 1 1 0 45.0 50.0 68.0 -1.0 5.69646455794e-15 0 0.872664625997 -75 42.5 42.5 0.2 +2470 1 1 0 45.0759612349 49.1317591117 68.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +2471 1 1 0 45.3015368961 48.2898992834 68.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +2472 1 1 0 45.6698729811 47.5 68.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +2473 1 1 0 46.1697777844 46.7860619516 68.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +2474 1 1 0 46.7860619516 46.1697777844 68.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +2475 1 1 0 47.5 45.6698729811 68.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +2476 1 1 0 48.2898992834 45.3015368961 68.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +2477 1 1 0 49.1317591117 45.0759612349 68.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +2478 1 1 0 50.0 45.0 68.0 -5.7576968979e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 +2479 1 1 0 50.8682408883 45.0759612349 68.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +2480 1 1 0 51.7101007166 45.3015368961 68.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +2481 1 1 0 52.5 45.6698729811 68.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +2482 1 1 0 53.2139380484 46.1697777844 68.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +2483 1 1 0 53.8302222156 46.7860619516 68.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +2484 1 1 0 54.3301270189 47.5 68.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +2485 1 1 0 54.8296291314 48.7059047745 69.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +2486 1 1 0 54.9809734905 49.5642212863 69.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +2487 1 1 0 54.9809734905 50.4357787137 69.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +2488 1 1 0 54.8296291314 51.2940952255 69.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +2489 1 1 0 54.5315389352 52.1130913087 69.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +2490 1 1 0 54.0957602214 52.8678821818 69.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +2491 1 1 0 53.5355339059 53.5355339059 69.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +2492 1 1 0 52.8678821818 54.0957602214 69.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +2493 1 1 0 52.1130913087 54.5315389352 69.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +2494 1 1 0 51.2940952255 54.8296291314 69.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +2495 1 1 0 50.4357787137 54.9809734905 69.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +2496 1 1 0 49.5642212863 54.9809734905 69.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +2497 1 1 0 48.7059047745 54.8296291314 69.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +2498 1 1 0 47.8869086913 54.5315389352 69.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +2499 1 1 0 47.1321178182 54.0957602214 69.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +2500 1 1 0 46.4644660941 53.5355339059 69.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +2501 1 1 0 45.9042397786 52.8678821818 69.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +2502 1 1 0 45.4684610648 52.1130913087 69.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +2503 1 1 0 45.1703708686 51.2940952255 69.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +2504 1 1 0 45.0190265095 50.4357787137 69.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +2505 1 1 0 45.0190265095 49.5642212863 69.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +2506 1 1 0 45.1703708686 48.7059047745 69.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +2507 1 1 0 45.4684610648 47.8869086913 69.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +2508 1 1 0 45.9042397786 47.1321178182 69.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +2509 1 1 0 46.4644660941 46.4644660941 69.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +2510 1 1 0 47.1321178182 45.9042397786 69.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +2511 1 1 0 47.8869086913 45.4684610648 69.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +2512 1 1 0 48.7059047745 45.1703708686 69.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +2513 1 1 0 49.5642212863 45.0190265095 69.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +2514 1 1 0 50.4357787137 45.0190265095 69.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +2515 1 1 0 51.2940952255 45.1703708686 69.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +2516 1 1 0 52.1130913087 45.4684610648 69.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +2517 1 1 0 52.8678821818 45.9042397786 69.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +2518 1 1 0 53.5355339059 46.4644660941 69.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +2519 1 1 0 54.0957602214 47.1321178182 69.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +2520 1 1 0 54.5315389352 47.8869086913 69.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +2521 1 1 0 54.9240387651 49.1317591117 70.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +2522 1 1 0 55.0 50.0 70.0 1.0 -5.57399987803e-15 0 0.872664625997 -75 42.5 42.5 0.2 +2523 1 1 0 54.9240387651 50.8682408883 70.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +2524 1 1 0 54.6984631039 51.7101007166 70.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +2525 1 1 0 54.3301270189 52.5 70.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +2526 1 1 0 53.8302222156 53.2139380484 70.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +2527 1 1 0 53.2139380484 53.8302222156 70.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +2528 1 1 0 52.5 54.3301270189 70.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +2529 1 1 0 51.7101007166 54.6984631039 70.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +2530 1 1 0 50.8682408883 54.9240387651 70.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +2531 1 1 0 50.0 55.0 70.0 5.63523221799e-15 1.0 0 0.872664625997 -75 42.5 42.5 0.2 +2532 1 1 0 49.1317591117 54.9240387651 70.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +2533 1 1 0 48.2898992834 54.6984631039 70.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +2534 1 1 0 47.5 54.3301270189 70.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +2535 1 1 0 46.7860619516 53.8302222156 70.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +2536 1 1 0 46.1697777844 53.2139380484 70.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +2537 1 1 0 45.6698729811 52.5 70.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +2538 1 1 0 45.3015368961 51.7101007166 70.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +2539 1 1 0 45.0759612349 50.8682408883 70.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +2540 1 1 0 45.0 50.0 70.0 -1.0 5.69646455794e-15 0 0.872664625997 -75 42.5 42.5 0.2 +2541 1 1 0 45.0759612349 49.1317591117 70.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +2542 1 1 0 45.3015368961 48.2898992834 70.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +2543 1 1 0 45.6698729811 47.5 70.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +2544 1 1 0 46.1697777844 46.7860619516 70.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +2545 1 1 0 46.7860619516 46.1697777844 70.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +2546 1 1 0 47.5 45.6698729811 70.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +2547 1 1 0 48.2898992834 45.3015368961 70.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +2548 1 1 0 49.1317591117 45.0759612349 70.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +2549 1 1 0 50.0 45.0 70.0 -5.7576968979e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 +2550 1 1 0 50.8682408883 45.0759612349 70.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +2551 1 1 0 51.7101007166 45.3015368961 70.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +2552 1 1 0 52.5 45.6698729811 70.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +2553 1 1 0 53.2139380484 46.1697777844 70.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +2554 1 1 0 53.8302222156 46.7860619516 70.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +2555 1 1 0 54.3301270189 47.5 70.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +2556 1 1 0 54.6984631039 48.2898992834 70.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +2557 1 1 0 54.9809734905 49.5642212863 71.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +2558 1 1 0 54.9809734905 50.4357787137 71.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +2559 1 1 0 54.8296291314 51.2940952255 71.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +2560 1 1 0 54.5315389352 52.1130913087 71.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +2561 1 1 0 54.0957602214 52.8678821818 71.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +2562 1 1 0 53.5355339059 53.5355339059 71.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +2563 1 1 0 52.8678821818 54.0957602214 71.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +2564 1 1 0 52.1130913087 54.5315389352 71.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +2565 1 1 0 51.2940952255 54.8296291314 71.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +2566 1 1 0 50.4357787137 54.9809734905 71.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +2567 1 1 0 49.5642212863 54.9809734905 71.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +2568 1 1 0 48.7059047745 54.8296291314 71.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +2569 1 1 0 47.8869086913 54.5315389352 71.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +2570 1 1 0 47.1321178182 54.0957602214 71.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +2571 1 1 0 46.4644660941 53.5355339059 71.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +2572 1 1 0 45.9042397786 52.8678821818 71.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +2573 1 1 0 45.4684610648 52.1130913087 71.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +2574 1 1 0 45.1703708686 51.2940952255 71.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +2575 1 1 0 45.0190265095 50.4357787137 71.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +2576 1 1 0 45.0190265095 49.5642212863 71.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +2577 1 1 0 45.1703708686 48.7059047745 71.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +2578 1 1 0 45.4684610648 47.8869086913 71.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +2579 1 1 0 45.9042397786 47.1321178182 71.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +2580 1 1 0 46.4644660941 46.4644660941 71.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +2581 1 1 0 47.1321178182 45.9042397786 71.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +2582 1 1 0 47.8869086913 45.4684610648 71.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +2583 1 1 0 48.7059047745 45.1703708686 71.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +2584 1 1 0 49.5642212863 45.0190265095 71.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +2585 1 1 0 50.4357787137 45.0190265095 71.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +2586 1 1 0 51.2940952255 45.1703708686 71.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +2587 1 1 0 52.1130913087 45.4684610648 71.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +2588 1 1 0 52.8678821818 45.9042397786 71.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +2589 1 1 0 53.5355339059 46.4644660941 71.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +2590 1 1 0 54.0957602214 47.1321178182 71.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +2591 1 1 0 54.5315389352 47.8869086913 71.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +2592 1 1 0 54.8296291314 48.7059047745 71.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +2593 1 1 0 55.0 50.0 72.0 1.0 -5.57399987803e-15 0 0.872664625997 -75 42.5 42.5 0.2 +2594 1 1 0 54.9240387651 50.8682408883 72.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +2595 1 1 0 54.6984631039 51.7101007166 72.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +2596 1 1 0 54.3301270189 52.5 72.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +2597 1 1 0 53.8302222156 53.2139380484 72.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +2598 1 1 0 53.2139380484 53.8302222156 72.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +2599 1 1 0 52.5 54.3301270189 72.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +2600 1 1 0 51.7101007166 54.6984631039 72.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +2601 1 1 0 50.8682408883 54.9240387651 72.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +2602 1 1 0 50.0 55.0 72.0 5.63523221799e-15 1.0 0 0.872664625997 -75 42.5 42.5 0.2 +2603 1 1 0 49.1317591117 54.9240387651 72.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +2604 1 1 0 48.2898992834 54.6984631039 72.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +2605 1 1 0 47.5 54.3301270189 72.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +2606 1 1 0 46.7860619516 53.8302222156 72.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +2607 1 1 0 46.1697777844 53.2139380484 72.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +2608 1 1 0 45.6698729811 52.5 72.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +2609 1 1 0 45.3015368961 51.7101007166 72.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +2610 1 1 0 45.0759612349 50.8682408883 72.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +2611 1 1 0 45.0 50.0 72.0 -1.0 5.69646455794e-15 0 0.872664625997 -75 42.5 42.5 0.2 +2612 1 1 0 45.0759612349 49.1317591117 72.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +2613 1 1 0 45.3015368961 48.2898992834 72.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +2614 1 1 0 45.6698729811 47.5 72.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +2615 1 1 0 46.1697777844 46.7860619516 72.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +2616 1 1 0 46.7860619516 46.1697777844 72.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +2617 1 1 0 47.5 45.6698729811 72.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +2618 1 1 0 48.2898992834 45.3015368961 72.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +2619 1 1 0 49.1317591117 45.0759612349 72.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +2620 1 1 0 50.0 45.0 72.0 -5.7576968979e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 +2621 1 1 0 50.8682408883 45.0759612349 72.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +2622 1 1 0 51.7101007166 45.3015368961 72.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +2623 1 1 0 52.5 45.6698729811 72.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +2624 1 1 0 53.2139380484 46.1697777844 72.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +2625 1 1 0 53.8302222156 46.7860619516 72.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +2626 1 1 0 54.3301270189 47.5 72.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +2627 1 1 0 54.6984631039 48.2898992834 72.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +2628 1 1 0 54.9240387651 49.1317591117 72.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +2629 1 1 0 54.9809734905 50.4357787137 73.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +2630 1 1 0 54.8296291314 51.2940952255 73.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +2631 1 1 0 54.5315389352 52.1130913087 73.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +2632 1 1 0 54.0957602214 52.8678821818 73.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +2633 1 1 0 53.5355339059 53.5355339059 73.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +2634 1 1 0 52.8678821818 54.0957602214 73.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +2635 1 1 0 52.1130913087 54.5315389352 73.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +2636 1 1 0 51.2940952255 54.8296291314 73.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +2637 1 1 0 50.4357787137 54.9809734905 73.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +2638 1 1 0 49.5642212863 54.9809734905 73.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +2639 1 1 0 48.7059047745 54.8296291314 73.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +2640 1 1 0 47.8869086913 54.5315389352 73.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +2641 1 1 0 47.1321178182 54.0957602214 73.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +2642 1 1 0 46.4644660941 53.5355339059 73.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +2643 1 1 0 45.9042397786 52.8678821818 73.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +2644 1 1 0 45.4684610648 52.1130913087 73.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +2645 1 1 0 45.1703708686 51.2940952255 73.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +2646 1 1 0 45.0190265095 50.4357787137 73.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +2647 1 1 0 45.0190265095 49.5642212863 73.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +2648 1 1 0 45.1703708686 48.7059047745 73.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +2649 1 1 0 45.4684610648 47.8869086913 73.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +2650 1 1 0 45.9042397786 47.1321178182 73.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +2651 1 1 0 46.4644660941 46.4644660941 73.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +2652 1 1 0 47.1321178182 45.9042397786 73.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +2653 1 1 0 47.8869086913 45.4684610648 73.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +2654 1 1 0 48.7059047745 45.1703708686 73.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +2655 1 1 0 49.5642212863 45.0190265095 73.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +2656 1 1 0 50.4357787137 45.0190265095 73.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +2657 1 1 0 51.2940952255 45.1703708686 73.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +2658 1 1 0 52.1130913087 45.4684610648 73.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +2659 1 1 0 52.8678821818 45.9042397786 73.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +2660 1 1 0 53.5355339059 46.4644660941 73.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +2661 1 1 0 54.0957602214 47.1321178182 73.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +2662 1 1 0 54.5315389352 47.8869086913 73.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +2663 1 1 0 54.8296291314 48.7059047745 73.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +2664 1 1 0 54.9809734905 49.5642212863 73.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +2665 1 1 0 54.9240387651 50.8682408883 74.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +2666 1 1 0 54.6984631039 51.7101007166 74.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +2667 1 1 0 54.3301270189 52.5 74.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +2668 1 1 0 53.8302222156 53.2139380484 74.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +2669 1 1 0 53.2139380484 53.8302222156 74.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +2670 1 1 0 52.5 54.3301270189 74.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +2671 1 1 0 51.7101007166 54.6984631039 74.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +2672 1 1 0 50.8682408883 54.9240387651 74.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +2673 1 1 0 50.0 55.0 74.0 5.63523221799e-15 1.0 0 0.872664625997 -75 42.5 42.5 0.2 +2674 1 1 0 49.1317591117 54.9240387651 74.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +2675 1 1 0 48.2898992834 54.6984631039 74.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +2676 1 1 0 47.5 54.3301270189 74.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +2677 1 1 0 46.7860619516 53.8302222156 74.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +2678 1 1 0 46.1697777844 53.2139380484 74.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +2679 1 1 0 45.6698729811 52.5 74.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +2680 1 1 0 45.3015368961 51.7101007166 74.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +2681 1 1 0 45.0759612349 50.8682408883 74.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +2682 1 1 0 45.0 50.0 74.0 -1.0 5.69646455794e-15 0 0.872664625997 -75 42.5 42.5 0.2 +2683 1 1 0 45.0759612349 49.1317591117 74.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +2684 1 1 0 45.3015368961 48.2898992834 74.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +2685 1 1 0 45.6698729811 47.5 74.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +2686 1 1 0 46.1697777844 46.7860619516 74.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +2687 1 1 0 46.7860619516 46.1697777844 74.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +2688 1 1 0 47.5 45.6698729811 74.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +2689 1 1 0 48.2898992834 45.3015368961 74.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +2690 1 1 0 49.1317591117 45.0759612349 74.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +2691 1 1 0 50.0 45.0 74.0 -5.7576968979e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 +2692 1 1 0 50.8682408883 45.0759612349 74.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +2693 1 1 0 51.7101007166 45.3015368961 74.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +2694 1 1 0 52.5 45.6698729811 74.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +2695 1 1 0 53.2139380484 46.1697777844 74.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +2696 1 1 0 53.8302222156 46.7860619516 74.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +2697 1 1 0 54.3301270189 47.5 74.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +2698 1 1 0 54.6984631039 48.2898992834 74.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +2699 1 1 0 54.9240387651 49.1317591117 74.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +2700 1 1 0 55.0 50.0 74.0 1.0 -5.81892923786e-15 0 0.872664625997 -75 42.5 42.5 0.2 +2701 1 1 0 54.8296291314 51.2940952255 75.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +2702 1 1 0 54.5315389352 52.1130913087 75.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +2703 1 1 0 54.0957602214 52.8678821818 75.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +2704 1 1 0 53.5355339059 53.5355339059 75.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +2705 1 1 0 52.8678821818 54.0957602214 75.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +2706 1 1 0 52.1130913087 54.5315389352 75.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +2707 1 1 0 51.2940952255 54.8296291314 75.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +2708 1 1 0 50.4357787137 54.9809734905 75.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +2709 1 1 0 49.5642212863 54.9809734905 75.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +2710 1 1 0 48.7059047745 54.8296291314 75.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +2711 1 1 0 47.8869086913 54.5315389352 75.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +2712 1 1 0 47.1321178182 54.0957602214 75.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +2713 1 1 0 46.4644660941 53.5355339059 75.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +2714 1 1 0 45.9042397786 52.8678821818 75.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +2715 1 1 0 45.4684610648 52.1130913087 75.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +2716 1 1 0 45.1703708686 51.2940952255 75.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +2717 1 1 0 45.0190265095 50.4357787137 75.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +2718 1 1 0 45.0190265095 49.5642212863 75.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +2719 1 1 0 45.1703708686 48.7059047745 75.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +2720 1 1 0 45.4684610648 47.8869086913 75.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +2721 1 1 0 45.9042397786 47.1321178182 75.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +2722 1 1 0 46.4644660941 46.4644660941 75.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +2723 1 1 0 47.1321178182 45.9042397786 75.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +2724 1 1 0 47.8869086913 45.4684610648 75.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +2725 1 1 0 48.7059047745 45.1703708686 75.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +2726 1 1 0 49.5642212863 45.0190265095 75.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +2727 1 1 0 50.4357787137 45.0190265095 75.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +2728 1 1 0 51.2940952255 45.1703708686 75.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +2729 1 1 0 52.1130913087 45.4684610648 75.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +2730 1 1 0 52.8678821818 45.9042397786 75.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +2731 1 1 0 53.5355339059 46.4644660941 75.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +2732 1 1 0 54.0957602214 47.1321178182 75.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +2733 1 1 0 54.5315389352 47.8869086913 75.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +2734 1 1 0 54.8296291314 48.7059047745 75.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +2735 1 1 0 54.9809734905 49.5642212863 75.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +2736 1 1 0 54.9809734905 50.4357787137 75.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +2737 1 1 0 54.6984631039 51.7101007166 76.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +2738 1 1 0 54.3301270189 52.5 76.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +2739 1 1 0 53.8302222156 53.2139380484 76.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +2740 1 1 0 53.2139380484 53.8302222156 76.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +2741 1 1 0 52.5 54.3301270189 76.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +2742 1 1 0 51.7101007166 54.6984631039 76.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +2743 1 1 0 50.8682408883 54.9240387651 76.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +2744 1 1 0 50.0 55.0 76.0 5.63523221799e-15 1.0 0 0.872664625997 -75 42.5 42.5 0.2 +2745 1 1 0 49.1317591117 54.9240387651 76.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +2746 1 1 0 48.2898992834 54.6984631039 76.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +2747 1 1 0 47.5 54.3301270189 76.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +2748 1 1 0 46.7860619516 53.8302222156 76.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +2749 1 1 0 46.1697777844 53.2139380484 76.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +2750 1 1 0 45.6698729811 52.5 76.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +2751 1 1 0 45.3015368961 51.7101007166 76.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +2752 1 1 0 45.0759612349 50.8682408883 76.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +2753 1 1 0 45.0 50.0 76.0 -1.0 5.69646455794e-15 0 0.872664625997 -75 42.5 42.5 0.2 +2754 1 1 0 45.0759612349 49.1317591117 76.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +2755 1 1 0 45.3015368961 48.2898992834 76.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +2756 1 1 0 45.6698729811 47.5 76.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +2757 1 1 0 46.1697777844 46.7860619516 76.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +2758 1 1 0 46.7860619516 46.1697777844 76.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +2759 1 1 0 47.5 45.6698729811 76.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +2760 1 1 0 48.2898992834 45.3015368961 76.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +2761 1 1 0 49.1317591117 45.0759612349 76.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +2762 1 1 0 50.0 45.0 76.0 -5.7576968979e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 +2763 1 1 0 50.8682408883 45.0759612349 76.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +2764 1 1 0 51.7101007166 45.3015368961 76.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +2765 1 1 0 52.5 45.6698729811 76.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +2766 1 1 0 53.2139380484 46.1697777844 76.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +2767 1 1 0 53.8302222156 46.7860619516 76.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +2768 1 1 0 54.3301270189 47.5 76.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +2769 1 1 0 54.6984631039 48.2898992834 76.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +2770 1 1 0 54.9240387651 49.1317591117 76.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +2771 1 1 0 55.0 50.0 76.0 1.0 -7.59528607726e-15 0 0.872664625997 -75 42.5 42.5 0.2 +2772 1 1 0 54.9240387651 50.8682408883 76.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +2773 1 1 0 54.5315389352 52.1130913087 77.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +2774 1 1 0 54.0957602214 52.8678821818 77.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +2775 1 1 0 53.5355339059 53.5355339059 77.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +2776 1 1 0 52.8678821818 54.0957602214 77.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +2777 1 1 0 52.1130913087 54.5315389352 77.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +2778 1 1 0 51.2940952255 54.8296291314 77.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +2779 1 1 0 50.4357787137 54.9809734905 77.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +2780 1 1 0 49.5642212863 54.9809734905 77.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +2781 1 1 0 48.7059047745 54.8296291314 77.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +2782 1 1 0 47.8869086913 54.5315389352 77.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +2783 1 1 0 47.1321178182 54.0957602214 77.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +2784 1 1 0 46.4644660941 53.5355339059 77.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +2785 1 1 0 45.9042397786 52.8678821818 77.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +2786 1 1 0 45.4684610648 52.1130913087 77.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +2787 1 1 0 45.1703708686 51.2940952255 77.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +2788 1 1 0 45.0190265095 50.4357787137 77.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +2789 1 1 0 45.0190265095 49.5642212863 77.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +2790 1 1 0 45.1703708686 48.7059047745 77.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +2791 1 1 0 45.4684610648 47.8869086913 77.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +2792 1 1 0 45.9042397786 47.1321178182 77.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +2793 1 1 0 46.4644660941 46.4644660941 77.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +2794 1 1 0 47.1321178182 45.9042397786 77.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +2795 1 1 0 47.8869086913 45.4684610648 77.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +2796 1 1 0 48.7059047745 45.1703708686 77.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +2797 1 1 0 49.5642212863 45.0190265095 77.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +2798 1 1 0 50.4357787137 45.0190265095 77.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +2799 1 1 0 51.2940952255 45.1703708686 77.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +2800 1 1 0 52.1130913087 45.4684610648 77.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +2801 1 1 0 52.8678821818 45.9042397786 77.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +2802 1 1 0 53.5355339059 46.4644660941 77.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +2803 1 1 0 54.0957602214 47.1321178182 77.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +2804 1 1 0 54.5315389352 47.8869086913 77.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +2805 1 1 0 54.8296291314 48.7059047745 77.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +2806 1 1 0 54.9809734905 49.5642212863 77.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +2807 1 1 0 54.9809734905 50.4357787137 77.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +2808 1 1 0 54.8296291314 51.2940952255 77.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +2809 1 1 0 54.3301270189 52.5 78.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +2810 1 1 0 53.8302222156 53.2139380484 78.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +2811 1 1 0 53.2139380484 53.8302222156 78.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +2812 1 1 0 52.5 54.3301270189 78.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +2813 1 1 0 51.7101007166 54.6984631039 78.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +2814 1 1 0 50.8682408883 54.9240387651 78.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +2815 1 1 0 50.0 55.0 78.0 6.52341063769e-15 1.0 0 0.872664625997 -75 42.5 42.5 0.2 +2816 1 1 0 49.1317591117 54.9240387651 78.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +2817 1 1 0 48.2898992834 54.6984631039 78.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +2818 1 1 0 47.5 54.3301270189 78.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +2819 1 1 0 46.7860619516 53.8302222156 78.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +2820 1 1 0 46.1697777844 53.2139380484 78.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +2821 1 1 0 45.6698729811 52.5 78.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +2822 1 1 0 45.3015368961 51.7101007166 78.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +2823 1 1 0 45.0759612349 50.8682408883 78.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +2824 1 1 0 45.0 50.0 78.0 -1.0 5.69646455794e-15 0 0.872664625997 -75 42.5 42.5 0.2 +2825 1 1 0 45.0759612349 49.1317591117 78.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +2826 1 1 0 45.3015368961 48.2898992834 78.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +2827 1 1 0 45.6698729811 47.5 78.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +2828 1 1 0 46.1697777844 46.7860619516 78.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +2829 1 1 0 46.7860619516 46.1697777844 78.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +2830 1 1 0 47.5 45.6698729811 78.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +2831 1 1 0 48.2898992834 45.3015368961 78.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +2832 1 1 0 49.1317591117 45.0759612349 78.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +2833 1 1 0 50.0 45.0 78.0 -5.7576968979e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 +2834 1 1 0 50.8682408883 45.0759612349 78.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +2835 1 1 0 51.7101007166 45.3015368961 78.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +2836 1 1 0 52.5 45.6698729811 78.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +2837 1 1 0 53.2139380484 46.1697777844 78.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +2838 1 1 0 53.8302222156 46.7860619516 78.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +2839 1 1 0 54.3301270189 47.5 78.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +2840 1 1 0 54.6984631039 48.2898992834 78.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +2841 1 1 0 54.9240387651 49.1317591117 78.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +2842 1 1 0 55.0 50.0 78.0 1.0 -7.59528607726e-15 0 0.872664625997 -75 42.5 42.5 0.2 +2843 1 1 0 54.9240387651 50.8682408883 78.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +2844 1 1 0 54.6984631039 51.7101007166 78.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +2845 1 1 0 54.0957602214 52.8678821818 79.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +2846 1 1 0 53.5355339059 53.5355339059 79.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +2847 1 1 0 52.8678821818 54.0957602214 79.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +2848 1 1 0 52.1130913087 54.5315389352 79.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +2849 1 1 0 51.2940952255 54.8296291314 79.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +2850 1 1 0 50.4357787137 54.9809734905 79.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +2851 1 1 0 49.5642212863 54.9809734905 79.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +2852 1 1 0 48.7059047745 54.8296291314 79.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +2853 1 1 0 47.8869086913 54.5315389352 79.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +2854 1 1 0 47.1321178182 54.0957602214 79.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +2855 1 1 0 46.4644660941 53.5355339059 79.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +2856 1 1 0 45.9042397786 52.8678821818 79.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +2857 1 1 0 45.4684610648 52.1130913087 79.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +2858 1 1 0 45.1703708686 51.2940952255 79.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +2859 1 1 0 45.0190265095 50.4357787137 79.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +2860 1 1 0 45.0190265095 49.5642212863 79.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +2861 1 1 0 45.1703708686 48.7059047745 79.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +2862 1 1 0 45.4684610648 47.8869086913 79.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +2863 1 1 0 45.9042397786 47.1321178182 79.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +2864 1 1 0 46.4644660941 46.4644660941 79.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +2865 1 1 0 47.1321178182 45.9042397786 79.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +2866 1 1 0 47.8869086913 45.4684610648 79.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +2867 1 1 0 48.7059047745 45.1703708686 79.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +2868 1 1 0 49.5642212863 45.0190265095 79.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +2869 1 1 0 50.4357787137 45.0190265095 79.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +2870 1 1 0 51.2940952255 45.1703708686 79.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +2871 1 1 0 52.1130913087 45.4684610648 79.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +2872 1 1 0 52.8678821818 45.9042397786 79.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +2873 1 1 0 53.5355339059 46.4644660941 79.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +2874 1 1 0 54.0957602214 47.1321178182 79.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +2875 1 1 0 54.5315389352 47.8869086913 79.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +2876 1 1 0 54.8296291314 48.7059047745 79.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +2877 1 1 0 54.9809734905 49.5642212863 79.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +2878 1 1 0 54.9809734905 50.4357787137 79.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +2879 1 1 0 54.8296291314 51.2940952255 79.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +2880 1 1 0 54.5315389352 52.1130913087 79.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +2881 1 1 0 53.8302222156 53.2139380484 80.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +2882 1 1 0 53.2139380484 53.8302222156 80.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +2883 1 1 0 52.5 54.3301270189 80.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +2884 1 1 0 51.7101007166 54.6984631039 80.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +2885 1 1 0 50.8682408883 54.9240387651 80.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +2886 1 1 0 50.0 55.0 80.0 6.52341063769e-15 1.0 0 0.872664625997 -75 42.5 42.5 0.2 +2887 1 1 0 49.1317591117 54.9240387651 80.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +2888 1 1 0 48.2898992834 54.6984631039 80.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +2889 1 1 0 47.5 54.3301270189 80.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +2890 1 1 0 46.7860619516 53.8302222156 80.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +2891 1 1 0 46.1697777844 53.2139380484 80.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +2892 1 1 0 45.6698729811 52.5 80.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +2893 1 1 0 45.3015368961 51.7101007166 80.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +2894 1 1 0 45.0759612349 50.8682408883 80.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +2895 1 1 0 45.0 50.0 80.0 -1.0 7.47282139735e-15 0 0.872664625997 -75 42.5 42.5 0.2 +2896 1 1 0 45.0759612349 49.1317591117 80.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +2897 1 1 0 45.3015368961 48.2898992834 80.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +2898 1 1 0 45.6698729811 47.5 80.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +2899 1 1 0 46.1697777844 46.7860619516 80.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +2900 1 1 0 46.7860619516 46.1697777844 80.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +2901 1 1 0 47.5 45.6698729811 80.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +2902 1 1 0 48.2898992834 45.3015368961 80.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +2903 1 1 0 49.1317591117 45.0759612349 80.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +2904 1 1 0 50.0 45.0 80.0 -5.7576968979e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 +2905 1 1 0 50.8682408883 45.0759612349 80.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +2906 1 1 0 51.7101007166 45.3015368961 80.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +2907 1 1 0 52.5 45.6698729811 80.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +2908 1 1 0 53.2139380484 46.1697777844 80.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +2909 1 1 0 53.8302222156 46.7860619516 80.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +2910 1 1 0 54.3301270189 47.5 80.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +2911 1 1 0 54.6984631039 48.2898992834 80.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +2912 1 1 0 54.9240387651 49.1317591117 80.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +2913 1 1 0 55.0 50.0 80.0 1.0 -7.59528607726e-15 0 0.872664625997 -75 42.5 42.5 0.2 +2914 1 1 0 54.9240387651 50.8682408883 80.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +2915 1 1 0 54.6984631039 51.7101007166 80.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +2916 1 1 0 54.3301270189 52.5 80.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +2917 1 1 0 53.5355339059 53.5355339059 81.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +2918 1 1 0 52.8678821818 54.0957602214 81.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +2919 1 1 0 52.1130913087 54.5315389352 81.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +2920 1 1 0 51.2940952255 54.8296291314 81.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +2921 1 1 0 50.4357787137 54.9809734905 81.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +2922 1 1 0 49.5642212863 54.9809734905 81.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +2923 1 1 0 48.7059047745 54.8296291314 81.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +2924 1 1 0 47.8869086913 54.5315389352 81.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +2925 1 1 0 47.1321178182 54.0957602214 81.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +2926 1 1 0 46.4644660941 53.5355339059 81.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +2927 1 1 0 45.9042397786 52.8678821818 81.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +2928 1 1 0 45.4684610648 52.1130913087 81.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +2929 1 1 0 45.1703708686 51.2940952255 81.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +2930 1 1 0 45.0190265095 50.4357787137 81.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +2931 1 1 0 45.0190265095 49.5642212863 81.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +2932 1 1 0 45.1703708686 48.7059047745 81.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +2933 1 1 0 45.4684610648 47.8869086913 81.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +2934 1 1 0 45.9042397786 47.1321178182 81.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +2935 1 1 0 46.4644660941 46.4644660941 81.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +2936 1 1 0 47.1321178182 45.9042397786 81.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +2937 1 1 0 47.8869086913 45.4684610648 81.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +2938 1 1 0 48.7059047745 45.1703708686 81.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +2939 1 1 0 49.5642212863 45.0190265095 81.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +2940 1 1 0 50.4357787137 45.0190265095 81.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +2941 1 1 0 51.2940952255 45.1703708686 81.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +2942 1 1 0 52.1130913087 45.4684610648 81.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +2943 1 1 0 52.8678821818 45.9042397786 81.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +2944 1 1 0 53.5355339059 46.4644660941 81.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +2945 1 1 0 54.0957602214 47.1321178182 81.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +2946 1 1 0 54.5315389352 47.8869086913 81.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +2947 1 1 0 54.8296291314 48.7059047745 81.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +2948 1 1 0 54.9809734905 49.5642212863 81.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +2949 1 1 0 54.9809734905 50.4357787137 81.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +2950 1 1 0 54.8296291314 51.2940952255 81.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +2951 1 1 0 54.5315389352 52.1130913087 81.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +2952 1 1 0 54.0957602214 52.8678821818 81.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +2953 1 1 0 53.2139380484 53.8302222156 82.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +2954 1 1 0 52.5 54.3301270189 82.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +2955 1 1 0 51.7101007166 54.6984631039 82.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +2956 1 1 0 50.8682408883 54.9240387651 82.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +2957 1 1 0 50.0 55.0 82.0 6.52341063769e-15 1.0 0 0.872664625997 -75 42.5 42.5 0.2 +2958 1 1 0 49.1317591117 54.9240387651 82.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +2959 1 1 0 48.2898992834 54.6984631039 82.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +2960 1 1 0 47.5 54.3301270189 82.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +2961 1 1 0 46.7860619516 53.8302222156 82.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +2962 1 1 0 46.1697777844 53.2139380484 82.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +2963 1 1 0 45.6698729811 52.5 82.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +2964 1 1 0 45.3015368961 51.7101007166 82.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +2965 1 1 0 45.0759612349 50.8682408883 82.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +2966 1 1 0 45.0 50.0 82.0 -1.0 7.47282139735e-15 0 0.872664625997 -75 42.5 42.5 0.2 +2967 1 1 0 45.0759612349 49.1317591117 82.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +2968 1 1 0 45.3015368961 48.2898992834 82.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +2969 1 1 0 45.6698729811 47.5 82.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +2970 1 1 0 46.1697777844 46.7860619516 82.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +2971 1 1 0 46.7860619516 46.1697777844 82.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +2972 1 1 0 47.5 45.6698729811 82.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +2973 1 1 0 48.2898992834 45.3015368961 82.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +2974 1 1 0 49.1317591117 45.0759612349 82.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +2975 1 1 0 50.0 45.0 82.0 -5.7576968979e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 +2976 1 1 0 50.8682408883 45.0759612349 82.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +2977 1 1 0 51.7101007166 45.3015368961 82.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +2978 1 1 0 52.5 45.6698729811 82.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +2979 1 1 0 53.2139380484 46.1697777844 82.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +2980 1 1 0 53.8302222156 46.7860619516 82.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +2981 1 1 0 54.3301270189 47.5 82.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +2982 1 1 0 54.6984631039 48.2898992834 82.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +2983 1 1 0 54.9240387651 49.1317591117 82.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +2984 1 1 0 55.0 50.0 82.0 1.0 -7.59528607726e-15 0 0.872664625997 -75 42.5 42.5 0.2 +2985 1 1 0 54.9240387651 50.8682408883 82.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +2986 1 1 0 54.6984631039 51.7101007166 82.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +2987 1 1 0 54.3301270189 52.5 82.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +2988 1 1 0 53.8302222156 53.2139380484 82.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +2989 1 1 0 52.8678821818 54.0957602214 83.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +2990 1 1 0 52.1130913087 54.5315389352 83.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +2991 1 1 0 51.2940952255 54.8296291314 83.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +2992 1 1 0 50.4357787137 54.9809734905 83.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +2993 1 1 0 49.5642212863 54.9809734905 83.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +2994 1 1 0 48.7059047745 54.8296291314 83.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +2995 1 1 0 47.8869086913 54.5315389352 83.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +2996 1 1 0 47.1321178182 54.0957602214 83.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +2997 1 1 0 46.4644660941 53.5355339059 83.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +2998 1 1 0 45.9042397786 52.8678821818 83.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +2999 1 1 0 45.4684610648 52.1130913087 83.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +3000 1 1 0 45.1703708686 51.2940952255 83.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +3001 1 1 0 45.0190265095 50.4357787137 83.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +3002 1 1 0 45.0190265095 49.5642212863 83.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +3003 1 1 0 45.1703708686 48.7059047745 83.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +3004 1 1 0 45.4684610648 47.8869086913 83.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +3005 1 1 0 45.9042397786 47.1321178182 83.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +3006 1 1 0 46.4644660941 46.4644660941 83.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +3007 1 1 0 47.1321178182 45.9042397786 83.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +3008 1 1 0 47.8869086913 45.4684610648 83.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +3009 1 1 0 48.7059047745 45.1703708686 83.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +3010 1 1 0 49.5642212863 45.0190265095 83.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +3011 1 1 0 50.4357787137 45.0190265095 83.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +3012 1 1 0 51.2940952255 45.1703708686 83.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +3013 1 1 0 52.1130913087 45.4684610648 83.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +3014 1 1 0 52.8678821818 45.9042397786 83.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +3015 1 1 0 53.5355339059 46.4644660941 83.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +3016 1 1 0 54.0957602214 47.1321178182 83.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +3017 1 1 0 54.5315389352 47.8869086913 83.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +3018 1 1 0 54.8296291314 48.7059047745 83.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +3019 1 1 0 54.9809734905 49.5642212863 83.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +3020 1 1 0 54.9809734905 50.4357787137 83.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +3021 1 1 0 54.8296291314 51.2940952255 83.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +3022 1 1 0 54.5315389352 52.1130913087 83.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +3023 1 1 0 54.0957602214 52.8678821818 83.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +3024 1 1 0 53.5355339059 53.5355339059 83.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +3025 1 1 0 52.5 54.3301270189 84.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +3026 1 1 0 51.7101007166 54.6984631039 84.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +3027 1 1 0 50.8682408883 54.9240387651 84.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +3028 1 1 0 50.0 55.0 84.0 6.52341063769e-15 1.0 0 0.872664625997 -75 42.5 42.5 0.2 +3029 1 1 0 49.1317591117 54.9240387651 84.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +3030 1 1 0 48.2898992834 54.6984631039 84.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +3031 1 1 0 47.5 54.3301270189 84.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +3032 1 1 0 46.7860619516 53.8302222156 84.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +3033 1 1 0 46.1697777844 53.2139380484 84.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +3034 1 1 0 45.6698729811 52.5 84.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +3035 1 1 0 45.3015368961 51.7101007166 84.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +3036 1 1 0 45.0759612349 50.8682408883 84.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +3037 1 1 0 45.0 50.0 84.0 -1.0 7.47282139735e-15 0 0.872664625997 -75 42.5 42.5 0.2 +3038 1 1 0 45.0759612349 49.1317591117 84.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +3039 1 1 0 45.3015368961 48.2898992834 84.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +3040 1 1 0 45.6698729811 47.5 84.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +3041 1 1 0 46.1697777844 46.7860619516 84.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +3042 1 1 0 46.7860619516 46.1697777844 84.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +3043 1 1 0 47.5 45.6698729811 84.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +3044 1 1 0 48.2898992834 45.3015368961 84.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +3045 1 1 0 49.1317591117 45.0759612349 84.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +3046 1 1 0 50.0 45.0 84.0 -7.5340537373e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 +3047 1 1 0 50.8682408883 45.0759612349 84.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +3048 1 1 0 51.7101007166 45.3015368961 84.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +3049 1 1 0 52.5 45.6698729811 84.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +3050 1 1 0 53.2139380484 46.1697777844 84.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +3051 1 1 0 53.8302222156 46.7860619516 84.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +3052 1 1 0 54.3301270189 47.5 84.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +3053 1 1 0 54.6984631039 48.2898992834 84.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +3054 1 1 0 54.9240387651 49.1317591117 84.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +3055 1 1 0 55.0 50.0 84.0 1.0 -7.59528607726e-15 0 0.872664625997 -75 42.5 42.5 0.2 +3056 1 1 0 54.9240387651 50.8682408883 84.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +3057 1 1 0 54.6984631039 51.7101007166 84.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +3058 1 1 0 54.3301270189 52.5 84.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +3059 1 1 0 53.8302222156 53.2139380484 84.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +3060 1 1 0 53.2139380484 53.8302222156 84.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +3061 1 1 0 52.1130913087 54.5315389352 85.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +3062 1 1 0 51.2940952255 54.8296291314 85.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +3063 1 1 0 50.4357787137 54.9809734905 85.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +3064 1 1 0 49.5642212863 54.9809734905 85.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +3065 1 1 0 48.7059047745 54.8296291314 85.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +3066 1 1 0 47.8869086913 54.5315389352 85.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +3067 1 1 0 47.1321178182 54.0957602214 85.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +3068 1 1 0 46.4644660941 53.5355339059 85.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +3069 1 1 0 45.9042397786 52.8678821818 85.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +3070 1 1 0 45.4684610648 52.1130913087 85.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +3071 1 1 0 45.1703708686 51.2940952255 85.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +3072 1 1 0 45.0190265095 50.4357787137 85.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +3073 1 1 0 45.0190265095 49.5642212863 85.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +3074 1 1 0 45.1703708686 48.7059047745 85.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +3075 1 1 0 45.4684610648 47.8869086913 85.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +3076 1 1 0 45.9042397786 47.1321178182 85.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +3077 1 1 0 46.4644660941 46.4644660941 85.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +3078 1 1 0 47.1321178182 45.9042397786 85.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +3079 1 1 0 47.8869086913 45.4684610648 85.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +3080 1 1 0 48.7059047745 45.1703708686 85.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +3081 1 1 0 49.5642212863 45.0190265095 85.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +3082 1 1 0 50.4357787137 45.0190265095 85.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +3083 1 1 0 51.2940952255 45.1703708686 85.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +3084 1 1 0 52.1130913087 45.4684610648 85.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +3085 1 1 0 52.8678821818 45.9042397786 85.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +3086 1 1 0 53.5355339059 46.4644660941 85.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +3087 1 1 0 54.0957602214 47.1321178182 85.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +3088 1 1 0 54.5315389352 47.8869086913 85.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +3089 1 1 0 54.8296291314 48.7059047745 85.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +3090 1 1 0 54.9809734905 49.5642212863 85.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +3091 1 1 0 54.9809734905 50.4357787137 85.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +3092 1 1 0 54.8296291314 51.2940952255 85.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +3093 1 1 0 54.5315389352 52.1130913087 85.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +3094 1 1 0 54.0957602214 52.8678821818 85.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +3095 1 1 0 53.5355339059 53.5355339059 85.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +3096 1 1 0 52.8678821818 54.0957602214 85.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +3097 1 1 0 51.7101007166 54.6984631039 86.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +3098 1 1 0 50.8682408883 54.9240387651 86.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +3099 1 1 0 50.0 55.0 86.0 7.41158905739e-15 1.0 0 0.872664625997 -75 42.5 42.5 0.2 +3100 1 1 0 49.1317591117 54.9240387651 86.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +3101 1 1 0 48.2898992834 54.6984631039 86.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +3102 1 1 0 47.5 54.3301270189 86.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +3103 1 1 0 46.7860619516 53.8302222156 86.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +3104 1 1 0 46.1697777844 53.2139380484 86.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +3105 1 1 0 45.6698729811 52.5 86.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +3106 1 1 0 45.3015368961 51.7101007166 86.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +3107 1 1 0 45.0759612349 50.8682408883 86.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +3108 1 1 0 45.0 50.0 86.0 -1.0 7.47282139735e-15 0 0.872664625997 -75 42.5 42.5 0.2 +3109 1 1 0 45.0759612349 49.1317591117 86.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +3110 1 1 0 45.3015368961 48.2898992834 86.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +3111 1 1 0 45.6698729811 47.5 86.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +3112 1 1 0 46.1697777844 46.7860619516 86.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +3113 1 1 0 46.7860619516 46.1697777844 86.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +3114 1 1 0 47.5 45.6698729811 86.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +3115 1 1 0 48.2898992834 45.3015368961 86.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +3116 1 1 0 49.1317591117 45.0759612349 86.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +3117 1 1 0 50.0 45.0 86.0 -7.5340537373e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 +3118 1 1 0 50.8682408883 45.0759612349 86.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +3119 1 1 0 51.7101007166 45.3015368961 86.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +3120 1 1 0 52.5 45.6698729811 86.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +3121 1 1 0 53.2139380484 46.1697777844 86.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +3122 1 1 0 53.8302222156 46.7860619516 86.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +3123 1 1 0 54.3301270189 47.5 86.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +3124 1 1 0 54.6984631039 48.2898992834 86.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +3125 1 1 0 54.9240387651 49.1317591117 86.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +3126 1 1 0 55.0 50.0 86.0 1.0 -7.59528607726e-15 0 0.872664625997 -75 42.5 42.5 0.2 +3127 1 1 0 54.9240387651 50.8682408883 86.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +3128 1 1 0 54.6984631039 51.7101007166 86.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +3129 1 1 0 54.3301270189 52.5 86.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +3130 1 1 0 53.8302222156 53.2139380484 86.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +3131 1 1 0 53.2139380484 53.8302222156 86.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +3132 1 1 0 52.5 54.3301270189 86.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +3133 1 1 0 51.2940952255 54.8296291314 87.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +3134 1 1 0 50.4357787137 54.9809734905 87.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +3135 1 1 0 49.5642212863 54.9809734905 87.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +3136 1 1 0 48.7059047745 54.8296291314 87.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +3137 1 1 0 47.8869086913 54.5315389352 87.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +3138 1 1 0 47.1321178182 54.0957602214 87.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +3139 1 1 0 46.4644660941 53.5355339059 87.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +3140 1 1 0 45.9042397786 52.8678821818 87.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +3141 1 1 0 45.4684610648 52.1130913087 87.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +3142 1 1 0 45.1703708686 51.2940952255 87.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +3143 1 1 0 45.0190265095 50.4357787137 87.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +3144 1 1 0 45.0190265095 49.5642212863 87.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +3145 1 1 0 45.1703708686 48.7059047745 87.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +3146 1 1 0 45.4684610648 47.8869086913 87.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +3147 1 1 0 45.9042397786 47.1321178182 87.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +3148 1 1 0 46.4644660941 46.4644660941 87.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +3149 1 1 0 47.1321178182 45.9042397786 87.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +3150 1 1 0 47.8869086913 45.4684610648 87.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +3151 1 1 0 48.7059047745 45.1703708686 87.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +3152 1 1 0 49.5642212863 45.0190265095 87.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +3153 1 1 0 50.4357787137 45.0190265095 87.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +3154 1 1 0 51.2940952255 45.1703708686 87.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +3155 1 1 0 52.1130913087 45.4684610648 87.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +3156 1 1 0 52.8678821818 45.9042397786 87.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +3157 1 1 0 53.5355339059 46.4644660941 87.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +3158 1 1 0 54.0957602214 47.1321178182 87.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +3159 1 1 0 54.5315389352 47.8869086913 87.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +3160 1 1 0 54.8296291314 48.7059047745 87.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +3161 1 1 0 54.9809734905 49.5642212863 87.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +3162 1 1 0 54.9809734905 50.4357787137 87.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +3163 1 1 0 54.8296291314 51.2940952255 87.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +3164 1 1 0 54.5315389352 52.1130913087 87.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +3165 1 1 0 54.0957602214 52.8678821818 87.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +3166 1 1 0 53.5355339059 53.5355339059 87.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +3167 1 1 0 52.8678821818 54.0957602214 87.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +3168 1 1 0 52.1130913087 54.5315389352 87.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +3169 1 1 0 50.8682408883 54.9240387651 88.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +3170 1 1 0 50.0 55.0 88.0 7.41158905739e-15 1.0 0 0.872664625997 -75 42.5 42.5 0.2 +3171 1 1 0 49.1317591117 54.9240387651 88.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +3172 1 1 0 48.2898992834 54.6984631039 88.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +3173 1 1 0 47.5 54.3301270189 88.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +3174 1 1 0 46.7860619516 53.8302222156 88.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +3175 1 1 0 46.1697777844 53.2139380484 88.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +3176 1 1 0 45.6698729811 52.5 88.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +3177 1 1 0 45.3015368961 51.7101007166 88.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +3178 1 1 0 45.0759612349 50.8682408883 88.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +3179 1 1 0 45.0 50.0 88.0 -1.0 7.47282139735e-15 0 0.872664625997 -75 42.5 42.5 0.2 +3180 1 1 0 45.0759612349 49.1317591117 88.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +3181 1 1 0 45.3015368961 48.2898992834 88.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +3182 1 1 0 45.6698729811 47.5 88.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +3183 1 1 0 46.1697777844 46.7860619516 88.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +3184 1 1 0 46.7860619516 46.1697777844 88.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +3185 1 1 0 47.5 45.6698729811 88.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +3186 1 1 0 48.2898992834 45.3015368961 88.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +3187 1 1 0 49.1317591117 45.0759612349 88.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +3188 1 1 0 50.0 45.0 88.0 -7.5340537373e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 +3189 1 1 0 50.8682408883 45.0759612349 88.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +3190 1 1 0 51.7101007166 45.3015368961 88.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +3191 1 1 0 52.5 45.6698729811 88.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +3192 1 1 0 53.2139380484 46.1697777844 88.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +3193 1 1 0 53.8302222156 46.7860619516 88.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +3194 1 1 0 54.3301270189 47.5 88.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +3195 1 1 0 54.6984631039 48.2898992834 88.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +3196 1 1 0 54.9240387651 49.1317591117 88.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +3197 1 1 0 55.0 50.0 88.0 1.0 -7.59528607726e-15 0 0.872664625997 -75 42.5 42.5 0.2 +3198 1 1 0 54.9240387651 50.8682408883 88.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +3199 1 1 0 54.6984631039 51.7101007166 88.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +3200 1 1 0 54.3301270189 52.5 88.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +3201 1 1 0 53.8302222156 53.2139380484 88.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +3202 1 1 0 53.2139380484 53.8302222156 88.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +3203 1 1 0 52.5 54.3301270189 88.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +3204 1 1 0 51.7101007166 54.6984631039 88.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +3205 1 1 0 50.4357787137 54.9809734905 89.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +3206 1 1 0 49.5642212863 54.9809734905 89.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +3207 1 1 0 48.7059047745 54.8296291314 89.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +3208 1 1 0 47.8869086913 54.5315389352 89.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +3209 1 1 0 47.1321178182 54.0957602214 89.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +3210 1 1 0 46.4644660941 53.5355339059 89.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +3211 1 1 0 45.9042397786 52.8678821818 89.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +3212 1 1 0 45.4684610648 52.1130913087 89.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +3213 1 1 0 45.1703708686 51.2940952255 89.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +3214 1 1 0 45.0190265095 50.4357787137 89.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +3215 1 1 0 45.0190265095 49.5642212863 89.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +3216 1 1 0 45.1703708686 48.7059047745 89.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +3217 1 1 0 45.4684610648 47.8869086913 89.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +3218 1 1 0 45.9042397786 47.1321178182 89.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +3219 1 1 0 46.4644660941 46.4644660941 89.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +3220 1 1 0 47.1321178182 45.9042397786 89.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +3221 1 1 0 47.8869086913 45.4684610648 89.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +3222 1 1 0 48.7059047745 45.1703708686 89.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +3223 1 1 0 49.5642212863 45.0190265095 89.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +3224 1 1 0 50.4357787137 45.0190265095 89.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +3225 1 1 0 51.2940952255 45.1703708686 89.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +3226 1 1 0 52.1130913087 45.4684610648 89.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +3227 1 1 0 52.8678821818 45.9042397786 89.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +3228 1 1 0 53.5355339059 46.4644660941 89.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +3229 1 1 0 54.0957602214 47.1321178182 89.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +3230 1 1 0 54.5315389352 47.8869086913 89.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +3231 1 1 0 54.8296291314 48.7059047745 89.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +3232 1 1 0 54.9809734905 49.5642212863 89.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +3233 1 1 0 54.9809734905 50.4357787137 89.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +3234 1 1 0 54.8296291314 51.2940952255 89.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +3235 1 1 0 54.5315389352 52.1130913087 89.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +3236 1 1 0 54.0957602214 52.8678821818 89.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +3237 1 1 0 53.5355339059 53.5355339059 89.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +3238 1 1 0 52.8678821818 54.0957602214 89.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +3239 1 1 0 52.1130913087 54.5315389352 89.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +3240 1 1 0 51.2940952255 54.8296291314 89.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +3241 1 1 0 50.0 55.0 90.0 7.41158905739e-15 1.0 0 0.872664625997 -75 42.5 42.5 0.2 +3242 1 1 0 49.1317591117 54.9240387651 90.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +3243 1 1 0 48.2898992834 54.6984631039 90.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +3244 1 1 0 47.5 54.3301270189 90.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +3245 1 1 0 46.7860619516 53.8302222156 90.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +3246 1 1 0 46.1697777844 53.2139380484 90.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +3247 1 1 0 45.6698729811 52.5 90.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +3248 1 1 0 45.3015368961 51.7101007166 90.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +3249 1 1 0 45.0759612349 50.8682408883 90.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +3250 1 1 0 45.0 50.0 90.0 -1.0 7.47282139735e-15 0 0.872664625997 -75 42.5 42.5 0.2 +3251 1 1 0 45.0759612349 49.1317591117 90.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +3252 1 1 0 45.3015368961 48.2898992834 90.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +3253 1 1 0 45.6698729811 47.5 90.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +3254 1 1 0 46.1697777844 46.7860619516 90.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +3255 1 1 0 46.7860619516 46.1697777844 90.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +3256 1 1 0 47.5 45.6698729811 90.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +3257 1 1 0 48.2898992834 45.3015368961 90.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +3258 1 1 0 49.1317591117 45.0759612349 90.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +3259 1 1 0 50.0 45.0 90.0 -7.5340537373e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 +3260 1 1 0 50.8682408883 45.0759612349 90.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +3261 1 1 0 51.7101007166 45.3015368961 90.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +3262 1 1 0 52.5 45.6698729811 90.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +3263 1 1 0 53.2139380484 46.1697777844 90.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +3264 1 1 0 53.8302222156 46.7860619516 90.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +3265 1 1 0 54.3301270189 47.5 90.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +3266 1 1 0 54.6984631039 48.2898992834 90.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +3267 1 1 0 54.9240387651 49.1317591117 90.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +3268 1 1 0 55.0 50.0 90.0 1.0 -7.59528607726e-15 0 0.872664625997 -75 42.5 42.5 0.2 +3269 1 1 0 54.9240387651 50.8682408883 90.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +3270 1 1 0 54.6984631039 51.7101007166 90.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +3271 1 1 0 54.3301270189 52.5 90.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +3272 1 1 0 53.8302222156 53.2139380484 90.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +3273 1 1 0 53.2139380484 53.8302222156 90.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +3274 1 1 0 52.5 54.3301270189 90.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +3275 1 1 0 51.7101007166 54.6984631039 90.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +3276 1 1 0 50.8682408883 54.9240387651 90.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +3277 1 1 0 49.5642212863 54.9809734905 91.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +3278 1 1 0 48.7059047745 54.8296291314 91.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +3279 1 1 0 47.8869086913 54.5315389352 91.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +3280 1 1 0 47.1321178182 54.0957602214 91.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +3281 1 1 0 46.4644660941 53.5355339059 91.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +3282 1 1 0 45.9042397786 52.8678821818 91.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +3283 1 1 0 45.4684610648 52.1130913087 91.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +3284 1 1 0 45.1703708686 51.2940952255 91.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +3285 1 1 0 45.0190265095 50.4357787137 91.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +3286 1 1 0 45.0190265095 49.5642212863 91.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +3287 1 1 0 45.1703708686 48.7059047745 91.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +3288 1 1 0 45.4684610648 47.8869086913 91.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +3289 1 1 0 45.9042397786 47.1321178182 91.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +3290 1 1 0 46.4644660941 46.4644660941 91.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +3291 1 1 0 47.1321178182 45.9042397786 91.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +3292 1 1 0 47.8869086913 45.4684610648 91.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +3293 1 1 0 48.7059047745 45.1703708686 91.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +3294 1 1 0 49.5642212863 45.0190265095 91.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +3295 1 1 0 50.4357787137 45.0190265095 91.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +3296 1 1 0 51.2940952255 45.1703708686 91.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +3297 1 1 0 52.1130913087 45.4684610648 91.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +3298 1 1 0 52.8678821818 45.9042397786 91.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +3299 1 1 0 53.5355339059 46.4644660941 91.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +3300 1 1 0 54.0957602214 47.1321178182 91.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +3301 1 1 0 54.5315389352 47.8869086913 91.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +3302 1 1 0 54.8296291314 48.7059047745 91.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +3303 1 1 0 54.9809734905 49.5642212863 91.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +3304 1 1 0 54.9809734905 50.4357787137 91.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +3305 1 1 0 54.8296291314 51.2940952255 91.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +3306 1 1 0 54.5315389352 52.1130913087 91.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +3307 1 1 0 54.0957602214 52.8678821818 91.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +3308 1 1 0 53.5355339059 53.5355339059 91.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +3309 1 1 0 52.8678821818 54.0957602214 91.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +3310 1 1 0 52.1130913087 54.5315389352 91.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +3311 1 1 0 51.2940952255 54.8296291314 91.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +3312 1 1 0 50.4357787137 54.9809734905 91.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +3313 1 1 0 49.1317591117 54.9240387651 92.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +3314 1 1 0 48.2898992834 54.6984631039 92.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +3315 1 1 0 47.5 54.3301270189 92.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +3316 1 1 0 46.7860619516 53.8302222156 92.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +3317 1 1 0 46.1697777844 53.2139380484 92.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +3318 1 1 0 45.6698729811 52.5 92.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +3319 1 1 0 45.3015368961 51.7101007166 92.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +3320 1 1 0 45.0759612349 50.8682408883 92.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +3321 1 1 0 45.0 50.0 92.0 -1.0 7.47282139735e-15 0 0.872664625997 -75 42.5 42.5 0.2 +3322 1 1 0 45.0759612349 49.1317591117 92.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +3323 1 1 0 45.3015368961 48.2898992834 92.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +3324 1 1 0 45.6698729811 47.5 92.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +3325 1 1 0 46.1697777844 46.7860619516 92.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +3326 1 1 0 46.7860619516 46.1697777844 92.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +3327 1 1 0 47.5 45.6698729811 92.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +3328 1 1 0 48.2898992834 45.3015368961 92.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +3329 1 1 0 49.1317591117 45.0759612349 92.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +3330 1 1 0 50.0 45.0 92.0 -7.5340537373e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 +3331 1 1 0 50.8682408883 45.0759612349 92.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +3332 1 1 0 51.7101007166 45.3015368961 92.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +3333 1 1 0 52.5 45.6698729811 92.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +3334 1 1 0 53.2139380484 46.1697777844 92.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +3335 1 1 0 53.8302222156 46.7860619516 92.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +3336 1 1 0 54.3301270189 47.5 92.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +3337 1 1 0 54.6984631039 48.2898992834 92.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +3338 1 1 0 54.9240387651 49.1317591117 92.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +3339 1 1 0 55.0 50.0 92.0 1.0 -7.59528607726e-15 0 0.872664625997 -75 42.5 42.5 0.2 +3340 1 1 0 54.9240387651 50.8682408883 92.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +3341 1 1 0 54.6984631039 51.7101007166 92.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +3342 1 1 0 54.3301270189 52.5 92.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +3343 1 1 0 53.8302222156 53.2139380484 92.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +3344 1 1 0 53.2139380484 53.8302222156 92.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +3345 1 1 0 52.5 54.3301270189 92.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +3346 1 1 0 51.7101007166 54.6984631039 92.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +3347 1 1 0 50.8682408883 54.9240387651 92.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +3348 1 1 0 50.0 55.0 92.0 7.65651841722e-15 1.0 0 0.872664625997 -75 42.5 42.5 0.2 +3349 1 1 0 48.7059047745 54.8296291314 93.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +3350 1 1 0 47.8869086913 54.5315389352 93.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +3351 1 1 0 47.1321178182 54.0957602214 93.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +3352 1 1 0 46.4644660941 53.5355339059 93.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +3353 1 1 0 45.9042397786 52.8678821818 93.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +3354 1 1 0 45.4684610648 52.1130913087 93.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +3355 1 1 0 45.1703708686 51.2940952255 93.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +3356 1 1 0 45.0190265095 50.4357787137 93.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +3357 1 1 0 45.0190265095 49.5642212863 93.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +3358 1 1 0 45.1703708686 48.7059047745 93.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +3359 1 1 0 45.4684610648 47.8869086913 93.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +3360 1 1 0 45.9042397786 47.1321178182 93.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +3361 1 1 0 46.4644660941 46.4644660941 93.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +3362 1 1 0 47.1321178182 45.9042397786 93.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +3363 1 1 0 47.8869086913 45.4684610648 93.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +3364 1 1 0 48.7059047745 45.1703708686 93.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +3365 1 1 0 49.5642212863 45.0190265095 93.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +3366 1 1 0 50.4357787137 45.0190265095 93.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +3367 1 1 0 51.2940952255 45.1703708686 93.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +3368 1 1 0 52.1130913087 45.4684610648 93.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +3369 1 1 0 52.8678821818 45.9042397786 93.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +3370 1 1 0 53.5355339059 46.4644660941 93.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +3371 1 1 0 54.0957602214 47.1321178182 93.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +3372 1 1 0 54.5315389352 47.8869086913 93.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +3373 1 1 0 54.8296291314 48.7059047745 93.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +3374 1 1 0 54.9809734905 49.5642212863 93.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +3375 1 1 0 54.9809734905 50.4357787137 93.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +3376 1 1 0 54.8296291314 51.2940952255 93.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +3377 1 1 0 54.5315389352 52.1130913087 93.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +3378 1 1 0 54.0957602214 52.8678821818 93.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +3379 1 1 0 53.5355339059 53.5355339059 93.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +3380 1 1 0 52.8678821818 54.0957602214 93.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +3381 1 1 0 52.1130913087 54.5315389352 93.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +3382 1 1 0 51.2940952255 54.8296291314 93.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +3383 1 1 0 50.4357787137 54.9809734905 93.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +3384 1 1 0 49.5642212863 54.9809734905 93.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +3385 1 1 0 48.2898992834 54.6984631039 94.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +3386 1 1 0 47.5 54.3301270189 94.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +3387 1 1 0 46.7860619516 53.8302222156 94.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +3388 1 1 0 46.1697777844 53.2139380484 94.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +3389 1 1 0 45.6698729811 52.5 94.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +3390 1 1 0 45.3015368961 51.7101007166 94.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +3391 1 1 0 45.0759612349 50.8682408883 94.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +3392 1 1 0 45.0 50.0 94.0 -1.0 7.47282139735e-15 0 0.872664625997 -75 42.5 42.5 0.2 +3393 1 1 0 45.0759612349 49.1317591117 94.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +3394 1 1 0 45.3015368961 48.2898992834 94.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +3395 1 1 0 45.6698729811 47.5 94.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +3396 1 1 0 46.1697777844 46.7860619516 94.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +3397 1 1 0 46.7860619516 46.1697777844 94.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +3398 1 1 0 47.5 45.6698729811 94.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +3399 1 1 0 48.2898992834 45.3015368961 94.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +3400 1 1 0 49.1317591117 45.0759612349 94.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +3401 1 1 0 50.0 45.0 94.0 -7.5340537373e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 +3402 1 1 0 50.8682408883 45.0759612349 94.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +3403 1 1 0 51.7101007166 45.3015368961 94.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +3404 1 1 0 52.5 45.6698729811 94.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +3405 1 1 0 53.2139380484 46.1697777844 94.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +3406 1 1 0 53.8302222156 46.7860619516 94.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +3407 1 1 0 54.3301270189 47.5 94.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +3408 1 1 0 54.6984631039 48.2898992834 94.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +3409 1 1 0 54.9240387651 49.1317591117 94.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +3410 1 1 0 55.0 50.0 94.0 1.0 -7.59528607726e-15 0 0.872664625997 -75 42.5 42.5 0.2 +3411 1 1 0 54.9240387651 50.8682408883 94.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +3412 1 1 0 54.6984631039 51.7101007166 94.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +3413 1 1 0 54.3301270189 52.5 94.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +3414 1 1 0 53.8302222156 53.2139380484 94.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +3415 1 1 0 53.2139380484 53.8302222156 94.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +3416 1 1 0 52.5 54.3301270189 94.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +3417 1 1 0 51.7101007166 54.6984631039 94.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +3418 1 1 0 50.8682408883 54.9240387651 94.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +3419 1 1 0 50.0 55.0 94.0 9.43287525662e-15 1.0 0 0.872664625997 -75 42.5 42.5 0.2 +3420 1 1 0 49.1317591117 54.9240387651 94.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +3421 1 1 0 47.8869086913 54.5315389352 95.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +3422 1 1 0 47.1321178182 54.0957602214 95.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +3423 1 1 0 46.4644660941 53.5355339059 95.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +3424 1 1 0 45.9042397786 52.8678821818 95.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +3425 1 1 0 45.4684610648 52.1130913087 95.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +3426 1 1 0 45.1703708686 51.2940952255 95.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +3427 1 1 0 45.0190265095 50.4357787137 95.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +3428 1 1 0 45.0190265095 49.5642212863 95.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +3429 1 1 0 45.1703708686 48.7059047745 95.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +3430 1 1 0 45.4684610648 47.8869086913 95.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +3431 1 1 0 45.9042397786 47.1321178182 95.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +3432 1 1 0 46.4644660941 46.4644660941 95.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +3433 1 1 0 47.1321178182 45.9042397786 95.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +3434 1 1 0 47.8869086913 45.4684610648 95.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +3435 1 1 0 48.7059047745 45.1703708686 95.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +3436 1 1 0 49.5642212863 45.0190265095 95.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +3437 1 1 0 50.4357787137 45.0190265095 95.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +3438 1 1 0 51.2940952255 45.1703708686 95.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +3439 1 1 0 52.1130913087 45.4684610648 95.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +3440 1 1 0 52.8678821818 45.9042397786 95.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +3441 1 1 0 53.5355339059 46.4644660941 95.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +3442 1 1 0 54.0957602214 47.1321178182 95.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +3443 1 1 0 54.5315389352 47.8869086913 95.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +3444 1 1 0 54.8296291314 48.7059047745 95.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +3445 1 1 0 54.9809734905 49.5642212863 95.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +3446 1 1 0 54.9809734905 50.4357787137 95.0 0.996194698092 0.0871557427476 0 0.872664625997 -75 42.5 42.5 0.2 +3447 1 1 0 54.8296291314 51.2940952255 95.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +3448 1 1 0 54.5315389352 52.1130913087 95.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +3449 1 1 0 54.0957602214 52.8678821818 95.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +3450 1 1 0 53.5355339059 53.5355339059 95.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +3451 1 1 0 52.8678821818 54.0957602214 95.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +3452 1 1 0 52.1130913087 54.5315389352 95.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +3453 1 1 0 51.2940952255 54.8296291314 95.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +3454 1 1 0 50.4357787137 54.9809734905 95.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +3455 1 1 0 49.5642212863 54.9809734905 95.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +3456 1 1 0 48.7059047745 54.8296291314 95.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +3457 1 1 0 47.5 54.3301270189 96.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +3458 1 1 0 46.7860619516 53.8302222156 96.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +3459 1 1 0 46.1697777844 53.2139380484 96.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +3460 1 1 0 45.6698729811 52.5 96.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +3461 1 1 0 45.3015368961 51.7101007166 96.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +3462 1 1 0 45.0759612349 50.8682408883 96.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +3463 1 1 0 45.0 50.0 96.0 -1.0 7.47282139735e-15 0 0.872664625997 -75 42.5 42.5 0.2 +3464 1 1 0 45.0759612349 49.1317591117 96.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +3465 1 1 0 45.3015368961 48.2898992834 96.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +3466 1 1 0 45.6698729811 47.5 96.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +3467 1 1 0 46.1697777844 46.7860619516 96.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +3468 1 1 0 46.7860619516 46.1697777844 96.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +3469 1 1 0 47.5 45.6698729811 96.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +3470 1 1 0 48.2898992834 45.3015368961 96.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +3471 1 1 0 49.1317591117 45.0759612349 96.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +3472 1 1 0 50.0 45.0 96.0 -7.5340537373e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 +3473 1 1 0 50.8682408883 45.0759612349 96.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +3474 1 1 0 51.7101007166 45.3015368961 96.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +3475 1 1 0 52.5 45.6698729811 96.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +3476 1 1 0 53.2139380484 46.1697777844 96.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +3477 1 1 0 53.8302222156 46.7860619516 96.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +3478 1 1 0 54.3301270189 47.5 96.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +3479 1 1 0 54.6984631039 48.2898992834 96.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +3480 1 1 0 54.9240387651 49.1317591117 96.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +3481 1 1 0 55.0 50.0 96.0 1.0 -7.59528607726e-15 0 0.872664625997 -75 42.5 42.5 0.2 +3482 1 1 0 54.9240387651 50.8682408883 96.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +3483 1 1 0 54.6984631039 51.7101007166 96.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +3484 1 1 0 54.3301270189 52.5 96.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +3485 1 1 0 53.8302222156 53.2139380484 96.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +3486 1 1 0 53.2139380484 53.8302222156 96.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +3487 1 1 0 52.5 54.3301270189 96.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +3488 1 1 0 51.7101007166 54.6984631039 96.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +3489 1 1 0 50.8682408883 54.9240387651 96.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +3490 1 1 0 50.0 55.0 96.0 9.43287525662e-15 1.0 0 0.872664625997 -75 42.5 42.5 0.2 +3491 1 1 0 49.1317591117 54.9240387651 96.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +3492 1 1 0 48.2898992834 54.6984631039 96.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +3493 1 1 0 47.1321178182 54.0957602214 97.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +3494 1 1 0 46.4644660941 53.5355339059 97.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +3495 1 1 0 45.9042397786 52.8678821818 97.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +3496 1 1 0 45.4684610648 52.1130913087 97.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +3497 1 1 0 45.1703708686 51.2940952255 97.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +3498 1 1 0 45.0190265095 50.4357787137 97.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +3499 1 1 0 45.0190265095 49.5642212863 97.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +3500 1 1 0 45.1703708686 48.7059047745 97.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +3501 1 1 0 45.4684610648 47.8869086913 97.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +3502 1 1 0 45.9042397786 47.1321178182 97.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +3503 1 1 0 46.4644660941 46.4644660941 97.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +3504 1 1 0 47.1321178182 45.9042397786 97.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +3505 1 1 0 47.8869086913 45.4684610648 97.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +3506 1 1 0 48.7059047745 45.1703708686 97.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +3507 1 1 0 49.5642212863 45.0190265095 97.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +3508 1 1 0 50.4357787137 45.0190265095 97.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +3509 1 1 0 51.2940952255 45.1703708686 97.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +3510 1 1 0 52.1130913087 45.4684610648 97.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +3511 1 1 0 52.8678821818 45.9042397786 97.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +3512 1 1 0 53.5355339059 46.4644660941 97.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +3513 1 1 0 54.0957602214 47.1321178182 97.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +3514 1 1 0 54.5315389352 47.8869086913 97.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +3515 1 1 0 54.8296291314 48.7059047745 97.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +3516 1 1 0 54.9809734905 49.5642212863 97.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +3517 1 1 0 54.9809734905 50.4357787137 97.0 0.996194698092 0.0871557427476 0 0.872664625997 -75 42.5 42.5 0.2 +3518 1 1 0 54.8296291314 51.2940952255 97.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +3519 1 1 0 54.5315389352 52.1130913087 97.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +3520 1 1 0 54.0957602214 52.8678821818 97.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +3521 1 1 0 53.5355339059 53.5355339059 97.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +3522 1 1 0 52.8678821818 54.0957602214 97.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +3523 1 1 0 52.1130913087 54.5315389352 97.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +3524 1 1 0 51.2940952255 54.8296291314 97.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +3525 1 1 0 50.4357787137 54.9809734905 97.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +3526 1 1 0 49.5642212863 54.9809734905 97.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +3527 1 1 0 48.7059047745 54.8296291314 97.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +3528 1 1 0 47.8869086913 54.5315389352 97.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +3529 1 1 0 46.7860619516 53.8302222156 98.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +3530 1 1 0 46.1697777844 53.2139380484 98.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +3531 1 1 0 45.6698729811 52.5 98.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +3532 1 1 0 45.3015368961 51.7101007166 98.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +3533 1 1 0 45.0759612349 50.8682408883 98.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +3534 1 1 0 45.0 50.0 98.0 -1.0 7.47282139735e-15 0 0.872664625997 -75 42.5 42.5 0.2 +3535 1 1 0 45.0759612349 49.1317591117 98.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +3536 1 1 0 45.3015368961 48.2898992834 98.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +3537 1 1 0 45.6698729811 47.5 98.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +3538 1 1 0 46.1697777844 46.7860619516 98.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +3539 1 1 0 46.7860619516 46.1697777844 98.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +3540 1 1 0 47.5 45.6698729811 98.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +3541 1 1 0 48.2898992834 45.3015368961 98.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +3542 1 1 0 49.1317591117 45.0759612349 98.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +3543 1 1 0 50.0 45.0 98.0 -9.3104105767e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 +3544 1 1 0 50.8682408883 45.0759612349 98.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +3545 1 1 0 51.7101007166 45.3015368961 98.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +3546 1 1 0 52.5 45.6698729811 98.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +3547 1 1 0 53.2139380484 46.1697777844 98.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +3548 1 1 0 53.8302222156 46.7860619516 98.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +3549 1 1 0 54.3301270189 47.5 98.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 +3550 1 1 0 54.6984631039 48.2898992834 98.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +3551 1 1 0 54.9240387651 49.1317591117 98.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +3552 1 1 0 55.0 50.0 98.0 1.0 -7.59528607726e-15 0 0.872664625997 -75 42.5 42.5 0.2 +3553 1 1 0 54.9240387651 50.8682408883 98.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 +3554 1 1 0 54.6984631039 51.7101007166 98.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 +3555 1 1 0 54.3301270189 52.5 98.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 +3556 1 1 0 53.8302222156 53.2139380484 98.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 +3557 1 1 0 53.2139380484 53.8302222156 98.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 +3558 1 1 0 52.5 54.3301270189 98.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +3559 1 1 0 51.7101007166 54.6984631039 98.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +3560 1 1 0 50.8682408883 54.9240387651 98.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +3561 1 1 0 50.0 55.0 98.0 9.43287525662e-15 1.0 0 0.872664625997 -75 42.5 42.5 0.2 +3562 1 1 0 49.1317591117 54.9240387651 98.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 +3563 1 1 0 48.2898992834 54.6984631039 98.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 +3564 1 1 0 47.5 54.3301270189 98.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 +3565 1 1 0 46.4644660941 53.5355339059 99.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +3566 1 1 0 45.9042397786 52.8678821818 99.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +3567 1 1 0 45.4684610648 52.1130913087 99.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +3568 1 1 0 45.1703708686 51.2940952255 99.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +3569 1 1 0 45.0190265095 50.4357787137 99.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +3570 1 1 0 45.0190265095 49.5642212863 99.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +3571 1 1 0 45.1703708686 48.7059047745 99.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +3572 1 1 0 45.4684610648 47.8869086913 99.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +3573 1 1 0 45.9042397786 47.1321178182 99.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +3574 1 1 0 46.4644660941 46.4644660941 99.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +3575 1 1 0 47.1321178182 45.9042397786 99.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +3576 1 1 0 47.8869086913 45.4684610648 99.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +3577 1 1 0 48.7059047745 45.1703708686 99.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +3578 1 1 0 49.5642212863 45.0190265095 99.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +3579 1 1 0 50.4357787137 45.0190265095 99.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +3580 1 1 0 51.2940952255 45.1703708686 99.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +3581 1 1 0 52.1130913087 45.4684610648 99.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +3582 1 1 0 52.8678821818 45.9042397786 99.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +3583 1 1 0 53.5355339059 46.4644660941 99.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +3584 1 1 0 54.0957602214 47.1321178182 99.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +3585 1 1 0 54.5315389352 47.8869086913 99.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +3586 1 1 0 54.8296291314 48.7059047745 99.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +3587 1 1 0 54.9809734905 49.5642212863 99.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 +3588 1 1 0 54.9809734905 50.4357787137 99.0 0.996194698092 0.0871557427476 0 0.872664625997 -75 42.5 42.5 0.2 +3589 1 1 0 54.8296291314 51.2940952255 99.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 +3590 1 1 0 54.5315389352 52.1130913087 99.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 +3591 1 1 0 54.0957602214 52.8678821818 99.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 +3592 1 1 0 53.5355339059 53.5355339059 99.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 +3593 1 1 0 52.8678821818 54.0957602214 99.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +3594 1 1 0 52.1130913087 54.5315389352 99.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +3595 1 1 0 51.2940952255 54.8296291314 99.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +3596 1 1 0 50.4357787137 54.9809734905 99.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +3597 1 1 0 49.5642212863 54.9809734905 99.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 +3598 1 1 0 48.7059047745 54.8296291314 99.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 +3599 1 1 0 47.8869086913 54.5315389352 99.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 +3600 1 1 0 47.1321178182 54.0957602214 99.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 +3601 2 2 1.0 57.0 50.0 50.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 diff --git a/examples/USER/dielectric/data.minimal b/examples/USER/dielectric/data.minimal new file mode 100644 index 0000000000..f87ae8cd70 --- /dev/null +++ b/examples/USER/dielectric/data.minimal @@ -0,0 +1,50 @@ +LAMMPS data file via write_data, version 22 Nov 2016, timestep = 0 + +32 atoms +3 atom types + +0.0000000000000000e+00 5.0000007843669128e+00 xlo xhi +0.0000000000000000e+00 5.1961532151380023e+00 ylo yhi +0.0000000000000000e+00 1.0000000000000000e+01 zlo zhi + +Masses + +1 1 +2 1 +3 1 + +Atoms # dielectric: id mol type q x y z normx normy normz area_per_patch ed em epsilon curvature + +1 1 1 0 0 0 5 0 0 1 1 8 6 1 0 +2 1 1 0 0.5 0.866026 5 0 0 1 1 8 6 1 0 +3 1 1 0 1 0 5 0 0 1 1 8 6 1 0 +4 1 1 0 1.5 0.866026 5 0 0 1 1 8 6 1 0 +5 1 1 0 2 0 5 0 0 1 1 8 6 1 0 +6 1 1 0 2.5 0.866026 5 0 0 1 1 8 6 1 0 +7 1 1 0 3 0 5 0 0 1 1 8 6 1 0 +8 1 1 0 3.5 0.866026 5 0 0 1 1 8 6 1 0 +9 1 1 0 4 0 5 0 0 1 1 8 6 1 0 +10 1 1 0 4.5 0.866026 5 0 0 1 1 8 6 1 0 +11 1 1 0 0 1.73205 5 0 0 1 1 8 6 1 0 +12 1 1 0 0.5 2.59808 5 0 0 1 1 8 6 1 0 +13 1 1 0 1 1.73205 5 0 0 1 1 8 6 1 0 +14 1 1 0 1.5 2.59808 5 0 0 1 1 8 6 1 0 +15 1 1 0 2 1.73205 5 0 0 1 1 8 6 1 0 +16 1 1 0 2.5 2.59808 5 0 0 1 1 8 6 1 0 +17 1 1 0 3 1.73205 5 0 0 1 1 8 6 1 0 +18 1 1 0 3.5 2.59808 5 0 0 1 1 8 6 1 0 +19 1 1 0 4 1.73205 5 0 0 1 1 8 6 1 0 +20 1 1 0 4.5 2.59808 5 0 0 1 1 8 6 1 0 +21 1 1 0 0 3.4641 5 0 0 1 1 8 6 1 0 +22 1 1 0 0.5 4.33013 5 0 0 1 1 8 6 1 0 +23 1 1 0 1 3.4641 5 0 0 1 1 8 6 1 0 +24 1 1 0 1.5 4.33013 5 0 0 1 1 8 6 1 0 +25 1 1 0 2 3.4641 5 0 0 1 1 8 6 1 0 +26 1 1 0 2.5 4.33013 5 0 0 1 1 8 6 1 0 +27 1 1 0 3 3.4641 5 0 0 1 1 8 6 1 0 +28 1 1 0 3.5 4.33013 5 0 0 1 1 8 6 1 0 +29 1 1 0 4 3.4641 5 0 0 1 1 8 6 1 0 +30 1 1 0 4.5 4.33013 5 0 0 1 1 8 6 1 0 +31 2 2 1 1 1 7 0 0 1 1 8 6 10 0 +32 2 3 -1 3 3 7 0 0 1 1 8 6 10 0 + diff --git a/examples/USER/dielectric/data.plane b/examples/USER/dielectric/data.plane new file mode 100644 index 0000000000..e35233b3e6 --- /dev/null +++ b/examples/USER/dielectric/data.plane @@ -0,0 +1,2019 @@ +LAMMPS data file: using 2001 atoms for single point charge (no pbc), or 2002 atoms for two opposite charges (to have charge neutrality for pbc) + +2001 atoms +3 atom types + +0.0000000000000000e+00 4.0000006274935302e+01 xlo xhi +0.0000000000000000e+00 4.3301276792816687e+01 ylo yhi +0.0000000000000000e+00 4.0000000000000000e+01 zlo zhi + +Masses + +1 1 +2 1 +3 1 + +Atoms # dielectric: id mol type q x y z normx normy normz area_per_patch ed em epsilon curvature + +1 0 1 0 0 0 20 0 0 1 0.866 8 6 1 0 +2 0 1 0 0.5 0.866026 20 0 0 1 0.866 8 6 1 0 +3 0 1 0 1 0 20 0 0 1 0.866 8 6 1 0 +4 0 1 0 1.5 0.866026 20 0 0 1 0.866 8 6 1 0 +5 0 1 0 2 0 20 0 0 1 0.866 8 6 1 0 +6 0 1 0 2.5 0.866026 20 0 0 1 0.866 8 6 1 0 +7 0 1 0 3 0 20 0 0 1 0.866 8 6 1 0 +8 0 1 0 3.5 0.866026 20 0 0 1 0.866 8 6 1 0 +9 0 1 0 4 0 20 0 0 1 0.866 8 6 1 0 +10 0 1 0 4.5 0.866026 20 0 0 1 0.866 8 6 1 0 +11 0 1 0 5 0 20 0 0 1 0.866 8 6 1 0 +12 0 1 0 5.5 0.866026 20 0 0 1 0.866 8 6 1 0 +13 0 1 0 6 0 20 0 0 1 0.866 8 6 1 0 +14 0 1 0 6.5 0.866026 20 0 0 1 0.866 8 6 1 0 +15 0 1 0 7 0 20 0 0 1 0.866 8 6 1 0 +16 0 1 0 7.5 0.866026 20 0 0 1 0.866 8 6 1 0 +17 0 1 0 8 0 20 0 0 1 0.866 8 6 1 0 +18 0 1 0 8.5 0.866026 20 0 0 1 0.866 8 6 1 0 +19 0 1 0 9 0 20 0 0 1 0.866 8 6 1 0 +20 0 1 0 9.5 0.866026 20 0 0 1 0.866 8 6 1 0 +21 0 1 0 10 0 20 0 0 1 0.866 8 6 1 0 +22 0 1 0 10.5 0.866026 20 0 0 1 0.866 8 6 1 0 +23 0 1 0 11 0 20 0 0 1 0.866 8 6 1 0 +24 0 1 0 11.5 0.866026 20 0 0 1 0.866 8 6 1 0 +25 0 1 0 12 0 20 0 0 1 0.866 8 6 1 0 +26 0 1 0 12.5 0.866026 20 0 0 1 0.866 8 6 1 0 +27 0 1 0 13 0 20 0 0 1 0.866 8 6 1 0 +28 0 1 0 13.5 0.866026 20 0 0 1 0.866 8 6 1 0 +29 0 1 0 14 0 20 0 0 1 0.866 8 6 1 0 +30 0 1 0 14.5 0.866026 20 0 0 1 0.866 8 6 1 0 +31 0 1 0 15 0 20 0 0 1 0.866 8 6 1 0 +32 0 1 0 15.5 0.866026 20 0 0 1 0.866 8 6 1 0 +33 0 1 0 16 0 20 0 0 1 0.866 8 6 1 0 +34 0 1 0 16.5 0.866026 20 0 0 1 0.866 8 6 1 0 +35 0 1 0 17 0 20 0 0 1 0.866 8 6 1 0 +36 0 1 0 17.5 0.866026 20 0 0 1 0.866 8 6 1 0 +37 0 1 0 18 0 20 0 0 1 0.866 8 6 1 0 +38 0 1 0 18.5 0.866026 20 0 0 1 0.866 8 6 1 0 +39 0 1 0 19 0 20 0 0 1 0.866 8 6 1 0 +40 0 1 0 19.5 0.866026 20 0 0 1 0.866 8 6 1 0 +41 0 1 0 20 0 20 0 0 1 0.866 8 6 1 0 +42 0 1 0 20.5 0.866026 20 0 0 1 0.866 8 6 1 0 +43 0 1 0 21 0 20 0 0 1 0.866 8 6 1 0 +44 0 1 0 21.5 0.866026 20 0 0 1 0.866 8 6 1 0 +45 0 1 0 22 0 20 0 0 1 0.866 8 6 1 0 +46 0 1 0 22.5 0.866026 20 0 0 1 0.866 8 6 1 0 +47 0 1 0 23 0 20 0 0 1 0.866 8 6 1 0 +48 0 1 0 23.5 0.866026 20 0 0 1 0.866 8 6 1 0 +49 0 1 0 24 0 20 0 0 1 0.866 8 6 1 0 +50 0 1 0 24.5 0.866026 20 0 0 1 0.866 8 6 1 0 +51 0 1 0 25 0 20 0 0 1 0.866 8 6 1 0 +52 0 1 0 25.5 0.866026 20 0 0 1 0.866 8 6 1 0 +53 0 1 0 26 0 20 0 0 1 0.866 8 6 1 0 +54 0 1 0 26.5 0.866026 20 0 0 1 0.866 8 6 1 0 +55 0 1 0 27 0 20 0 0 1 0.866 8 6 1 0 +56 0 1 0 27.5 0.866026 20 0 0 1 0.866 8 6 1 0 +57 0 1 0 28 0 20 0 0 1 0.866 8 6 1 0 +58 0 1 0 28.5 0.866026 20 0 0 1 0.866 8 6 1 0 +59 0 1 0 29 0 20 0 0 1 0.866 8 6 1 0 +60 0 1 0 29.5 0.866026 20 0 0 1 0.866 8 6 1 0 +61 0 1 0 30 0 20 0 0 1 0.866 8 6 1 0 +62 0 1 0 30.5 0.866026 20 0 0 1 0.866 8 6 1 0 +63 0 1 0 31 0 20 0 0 1 0.866 8 6 1 0 +64 0 1 0 31.5 0.866026 20 0 0 1 0.866 8 6 1 0 +65 0 1 0 32 0 20 0 0 1 0.866 8 6 1 0 +66 0 1 0 32.5 0.866026 20 0 0 1 0.866 8 6 1 0 +67 0 1 0 33 0 20 0 0 1 0.866 8 6 1 0 +68 0 1 0 33.5 0.866026 20 0 0 1 0.866 8 6 1 0 +69 0 1 0 34 0 20 0 0 1 0.866 8 6 1 0 +70 0 1 0 34.5 0.866026 20 0 0 1 0.866 8 6 1 0 +71 0 1 0 35 0 20 0 0 1 0.866 8 6 1 0 +72 0 1 0 35.5 0.866026 20 0 0 1 0.866 8 6 1 0 +73 0 1 0 36 0 20 0 0 1 0.866 8 6 1 0 +74 0 1 0 36.5 0.866026 20 0 0 1 0.866 8 6 1 0 +75 0 1 0 37 0 20 0 0 1 0.866 8 6 1 0 +76 0 1 0 37.5 0.866026 20 0 0 1 0.866 8 6 1 0 +77 0 1 0 38 0 20 0 0 1 0.866 8 6 1 0 +78 0 1 0 38.5 0.866026 20 0 0 1 0.866 8 6 1 0 +79 0 1 0 39 0 20 0 0 1 0.866 8 6 1 0 +80 0 1 0 39.5 0.866026 20 0 0 1 0.866 8 6 1 0 +81 0 1 0 0 1.73205 20 0 0 1 0.866 8 6 1 0 +82 0 1 0 0.5 2.59808 20 0 0 1 0.866 8 6 1 0 +83 0 1 0 1 1.73205 20 0 0 1 0.866 8 6 1 0 +84 0 1 0 1.5 2.59808 20 0 0 1 0.866 8 6 1 0 +85 0 1 0 2 1.73205 20 0 0 1 0.866 8 6 1 0 +86 0 1 0 2.5 2.59808 20 0 0 1 0.866 8 6 1 0 +87 0 1 0 3 1.73205 20 0 0 1 0.866 8 6 1 0 +88 0 1 0 3.5 2.59808 20 0 0 1 0.866 8 6 1 0 +89 0 1 0 4 1.73205 20 0 0 1 0.866 8 6 1 0 +90 0 1 0 4.5 2.59808 20 0 0 1 0.866 8 6 1 0 +91 0 1 0 5 1.73205 20 0 0 1 0.866 8 6 1 0 +92 0 1 0 5.5 2.59808 20 0 0 1 0.866 8 6 1 0 +93 0 1 0 6 1.73205 20 0 0 1 0.866 8 6 1 0 +94 0 1 0 6.5 2.59808 20 0 0 1 0.866 8 6 1 0 +95 0 1 0 7 1.73205 20 0 0 1 0.866 8 6 1 0 +96 0 1 0 7.5 2.59808 20 0 0 1 0.866 8 6 1 0 +97 0 1 0 8 1.73205 20 0 0 1 0.866 8 6 1 0 +98 0 1 0 8.5 2.59808 20 0 0 1 0.866 8 6 1 0 +99 0 1 0 9 1.73205 20 0 0 1 0.866 8 6 1 0 +100 0 1 0 9.5 2.59808 20 0 0 1 0.866 8 6 1 0 +101 0 1 0 10 1.73205 20 0 0 1 0.866 8 6 1 0 +102 0 1 0 10.5 2.59808 20 0 0 1 0.866 8 6 1 0 +103 0 1 0 11 1.73205 20 0 0 1 0.866 8 6 1 0 +104 0 1 0 11.5 2.59808 20 0 0 1 0.866 8 6 1 0 +105 0 1 0 12 1.73205 20 0 0 1 0.866 8 6 1 0 +106 0 1 0 12.5 2.59808 20 0 0 1 0.866 8 6 1 0 +107 0 1 0 13 1.73205 20 0 0 1 0.866 8 6 1 0 +108 0 1 0 13.5 2.59808 20 0 0 1 0.866 8 6 1 0 +109 0 1 0 14 1.73205 20 0 0 1 0.866 8 6 1 0 +110 0 1 0 14.5 2.59808 20 0 0 1 0.866 8 6 1 0 +111 0 1 0 15 1.73205 20 0 0 1 0.866 8 6 1 0 +112 0 1 0 15.5 2.59808 20 0 0 1 0.866 8 6 1 0 +113 0 1 0 16 1.73205 20 0 0 1 0.866 8 6 1 0 +114 0 1 0 16.5 2.59808 20 0 0 1 0.866 8 6 1 0 +115 0 1 0 17 1.73205 20 0 0 1 0.866 8 6 1 0 +116 0 1 0 17.5 2.59808 20 0 0 1 0.866 8 6 1 0 +117 0 1 0 18 1.73205 20 0 0 1 0.866 8 6 1 0 +118 0 1 0 18.5 2.59808 20 0 0 1 0.866 8 6 1 0 +119 0 1 0 19 1.73205 20 0 0 1 0.866 8 6 1 0 +120 0 1 0 19.5 2.59808 20 0 0 1 0.866 8 6 1 0 +121 0 1 0 20 1.73205 20 0 0 1 0.866 8 6 1 0 +122 0 1 0 20.5 2.59808 20 0 0 1 0.866 8 6 1 0 +123 0 1 0 21 1.73205 20 0 0 1 0.866 8 6 1 0 +124 0 1 0 21.5 2.59808 20 0 0 1 0.866 8 6 1 0 +125 0 1 0 22 1.73205 20 0 0 1 0.866 8 6 1 0 +126 0 1 0 22.5 2.59808 20 0 0 1 0.866 8 6 1 0 +127 0 1 0 23 1.73205 20 0 0 1 0.866 8 6 1 0 +128 0 1 0 23.5 2.59808 20 0 0 1 0.866 8 6 1 0 +129 0 1 0 24 1.73205 20 0 0 1 0.866 8 6 1 0 +130 0 1 0 24.5 2.59808 20 0 0 1 0.866 8 6 1 0 +131 0 1 0 25 1.73205 20 0 0 1 0.866 8 6 1 0 +132 0 1 0 25.5 2.59808 20 0 0 1 0.866 8 6 1 0 +133 0 1 0 26 1.73205 20 0 0 1 0.866 8 6 1 0 +134 0 1 0 26.5 2.59808 20 0 0 1 0.866 8 6 1 0 +135 0 1 0 27 1.73205 20 0 0 1 0.866 8 6 1 0 +136 0 1 0 27.5 2.59808 20 0 0 1 0.866 8 6 1 0 +137 0 1 0 28 1.73205 20 0 0 1 0.866 8 6 1 0 +138 0 1 0 28.5 2.59808 20 0 0 1 0.866 8 6 1 0 +139 0 1 0 29 1.73205 20 0 0 1 0.866 8 6 1 0 +140 0 1 0 29.5 2.59808 20 0 0 1 0.866 8 6 1 0 +141 0 1 0 30 1.73205 20 0 0 1 0.866 8 6 1 0 +142 0 1 0 30.5 2.59808 20 0 0 1 0.866 8 6 1 0 +143 0 1 0 31 1.73205 20 0 0 1 0.866 8 6 1 0 +144 0 1 0 31.5 2.59808 20 0 0 1 0.866 8 6 1 0 +145 0 1 0 32 1.73205 20 0 0 1 0.866 8 6 1 0 +146 0 1 0 32.5 2.59808 20 0 0 1 0.866 8 6 1 0 +147 0 1 0 33 1.73205 20 0 0 1 0.866 8 6 1 0 +148 0 1 0 33.5 2.59808 20 0 0 1 0.866 8 6 1 0 +149 0 1 0 34 1.73205 20 0 0 1 0.866 8 6 1 0 +150 0 1 0 34.5 2.59808 20 0 0 1 0.866 8 6 1 0 +151 0 1 0 35 1.73205 20 0 0 1 0.866 8 6 1 0 +152 0 1 0 35.5 2.59808 20 0 0 1 0.866 8 6 1 0 +153 0 1 0 36 1.73205 20 0 0 1 0.866 8 6 1 0 +154 0 1 0 36.5 2.59808 20 0 0 1 0.866 8 6 1 0 +155 0 1 0 37 1.73205 20 0 0 1 0.866 8 6 1 0 +156 0 1 0 37.5 2.59808 20 0 0 1 0.866 8 6 1 0 +157 0 1 0 38 1.73205 20 0 0 1 0.866 8 6 1 0 +158 0 1 0 38.5 2.59808 20 0 0 1 0.866 8 6 1 0 +159 0 1 0 39 1.73205 20 0 0 1 0.866 8 6 1 0 +160 0 1 0 39.5 2.59808 20 0 0 1 0.866 8 6 1 0 +161 0 1 0 0 3.4641 20 0 0 1 0.866 8 6 1 0 +162 0 1 0 0.5 4.33013 20 0 0 1 0.866 8 6 1 0 +163 0 1 0 1 3.4641 20 0 0 1 0.866 8 6 1 0 +164 0 1 0 1.5 4.33013 20 0 0 1 0.866 8 6 1 0 +165 0 1 0 2 3.4641 20 0 0 1 0.866 8 6 1 0 +166 0 1 0 2.5 4.33013 20 0 0 1 0.866 8 6 1 0 +167 0 1 0 3 3.4641 20 0 0 1 0.866 8 6 1 0 +168 0 1 0 3.5 4.33013 20 0 0 1 0.866 8 6 1 0 +169 0 1 0 4 3.4641 20 0 0 1 0.866 8 6 1 0 +170 0 1 0 4.5 4.33013 20 0 0 1 0.866 8 6 1 0 +171 0 1 0 5 3.4641 20 0 0 1 0.866 8 6 1 0 +172 0 1 0 5.5 4.33013 20 0 0 1 0.866 8 6 1 0 +173 0 1 0 6 3.4641 20 0 0 1 0.866 8 6 1 0 +174 0 1 0 6.5 4.33013 20 0 0 1 0.866 8 6 1 0 +175 0 1 0 7 3.4641 20 0 0 1 0.866 8 6 1 0 +176 0 1 0 7.5 4.33013 20 0 0 1 0.866 8 6 1 0 +177 0 1 0 8 3.4641 20 0 0 1 0.866 8 6 1 0 +178 0 1 0 8.5 4.33013 20 0 0 1 0.866 8 6 1 0 +179 0 1 0 9 3.4641 20 0 0 1 0.866 8 6 1 0 +180 0 1 0 9.5 4.33013 20 0 0 1 0.866 8 6 1 0 +181 0 1 0 10 3.4641 20 0 0 1 0.866 8 6 1 0 +182 0 1 0 10.5 4.33013 20 0 0 1 0.866 8 6 1 0 +183 0 1 0 11 3.4641 20 0 0 1 0.866 8 6 1 0 +184 0 1 0 11.5 4.33013 20 0 0 1 0.866 8 6 1 0 +185 0 1 0 12 3.4641 20 0 0 1 0.866 8 6 1 0 +186 0 1 0 12.5 4.33013 20 0 0 1 0.866 8 6 1 0 +187 0 1 0 13 3.4641 20 0 0 1 0.866 8 6 1 0 +188 0 1 0 13.5 4.33013 20 0 0 1 0.866 8 6 1 0 +189 0 1 0 14 3.4641 20 0 0 1 0.866 8 6 1 0 +190 0 1 0 14.5 4.33013 20 0 0 1 0.866 8 6 1 0 +191 0 1 0 15 3.4641 20 0 0 1 0.866 8 6 1 0 +192 0 1 0 15.5 4.33013 20 0 0 1 0.866 8 6 1 0 +193 0 1 0 16 3.4641 20 0 0 1 0.866 8 6 1 0 +194 0 1 0 16.5 4.33013 20 0 0 1 0.866 8 6 1 0 +195 0 1 0 17 3.4641 20 0 0 1 0.866 8 6 1 0 +196 0 1 0 17.5 4.33013 20 0 0 1 0.866 8 6 1 0 +197 0 1 0 18 3.4641 20 0 0 1 0.866 8 6 1 0 +198 0 1 0 18.5 4.33013 20 0 0 1 0.866 8 6 1 0 +199 0 1 0 19 3.4641 20 0 0 1 0.866 8 6 1 0 +200 0 1 0 19.5 4.33013 20 0 0 1 0.866 8 6 1 0 +201 0 1 0 20 3.4641 20 0 0 1 0.866 8 6 1 0 +202 0 1 0 20.5 4.33013 20 0 0 1 0.866 8 6 1 0 +203 0 1 0 21 3.4641 20 0 0 1 0.866 8 6 1 0 +204 0 1 0 21.5 4.33013 20 0 0 1 0.866 8 6 1 0 +205 0 1 0 22 3.4641 20 0 0 1 0.866 8 6 1 0 +206 0 1 0 22.5 4.33013 20 0 0 1 0.866 8 6 1 0 +207 0 1 0 23 3.4641 20 0 0 1 0.866 8 6 1 0 +208 0 1 0 23.5 4.33013 20 0 0 1 0.866 8 6 1 0 +209 0 1 0 24 3.4641 20 0 0 1 0.866 8 6 1 0 +210 0 1 0 24.5 4.33013 20 0 0 1 0.866 8 6 1 0 +211 0 1 0 25 3.4641 20 0 0 1 0.866 8 6 1 0 +212 0 1 0 25.5 4.33013 20 0 0 1 0.866 8 6 1 0 +213 0 1 0 26 3.4641 20 0 0 1 0.866 8 6 1 0 +214 0 1 0 26.5 4.33013 20 0 0 1 0.866 8 6 1 0 +215 0 1 0 27 3.4641 20 0 0 1 0.866 8 6 1 0 +216 0 1 0 27.5 4.33013 20 0 0 1 0.866 8 6 1 0 +217 0 1 0 28 3.4641 20 0 0 1 0.866 8 6 1 0 +218 0 1 0 28.5 4.33013 20 0 0 1 0.866 8 6 1 0 +219 0 1 0 29 3.4641 20 0 0 1 0.866 8 6 1 0 +220 0 1 0 29.5 4.33013 20 0 0 1 0.866 8 6 1 0 +221 0 1 0 30 3.4641 20 0 0 1 0.866 8 6 1 0 +222 0 1 0 30.5 4.33013 20 0 0 1 0.866 8 6 1 0 +223 0 1 0 31 3.4641 20 0 0 1 0.866 8 6 1 0 +224 0 1 0 31.5 4.33013 20 0 0 1 0.866 8 6 1 0 +225 0 1 0 32 3.4641 20 0 0 1 0.866 8 6 1 0 +226 0 1 0 32.5 4.33013 20 0 0 1 0.866 8 6 1 0 +227 0 1 0 33 3.4641 20 0 0 1 0.866 8 6 1 0 +228 0 1 0 33.5 4.33013 20 0 0 1 0.866 8 6 1 0 +229 0 1 0 34 3.4641 20 0 0 1 0.866 8 6 1 0 +230 0 1 0 34.5 4.33013 20 0 0 1 0.866 8 6 1 0 +231 0 1 0 35 3.4641 20 0 0 1 0.866 8 6 1 0 +232 0 1 0 35.5 4.33013 20 0 0 1 0.866 8 6 1 0 +233 0 1 0 36 3.4641 20 0 0 1 0.866 8 6 1 0 +234 0 1 0 36.5 4.33013 20 0 0 1 0.866 8 6 1 0 +235 0 1 0 37 3.4641 20 0 0 1 0.866 8 6 1 0 +236 0 1 0 37.5 4.33013 20 0 0 1 0.866 8 6 1 0 +237 0 1 0 38 3.4641 20 0 0 1 0.866 8 6 1 0 +238 0 1 0 38.5 4.33013 20 0 0 1 0.866 8 6 1 0 +239 0 1 0 39 3.4641 20 0 0 1 0.866 8 6 1 0 +240 0 1 0 39.5 4.33013 20 0 0 1 0.866 8 6 1 0 +241 0 1 0 0 5.19615 20 0 0 1 0.866 8 6 1 0 +242 0 1 0 0.5 6.06218 20 0 0 1 0.866 8 6 1 0 +243 0 1 0 1 5.19615 20 0 0 1 0.866 8 6 1 0 +244 0 1 0 1.5 6.06218 20 0 0 1 0.866 8 6 1 0 +245 0 1 0 2 5.19615 20 0 0 1 0.866 8 6 1 0 +246 0 1 0 2.5 6.06218 20 0 0 1 0.866 8 6 1 0 +247 0 1 0 3 5.19615 20 0 0 1 0.866 8 6 1 0 +248 0 1 0 3.5 6.06218 20 0 0 1 0.866 8 6 1 0 +249 0 1 0 4 5.19615 20 0 0 1 0.866 8 6 1 0 +250 0 1 0 4.5 6.06218 20 0 0 1 0.866 8 6 1 0 +251 0 1 0 5 5.19615 20 0 0 1 0.866 8 6 1 0 +252 0 1 0 5.5 6.06218 20 0 0 1 0.866 8 6 1 0 +253 0 1 0 6 5.19615 20 0 0 1 0.866 8 6 1 0 +254 0 1 0 6.5 6.06218 20 0 0 1 0.866 8 6 1 0 +255 0 1 0 7 5.19615 20 0 0 1 0.866 8 6 1 0 +256 0 1 0 7.5 6.06218 20 0 0 1 0.866 8 6 1 0 +257 0 1 0 8 5.19615 20 0 0 1 0.866 8 6 1 0 +258 0 1 0 8.5 6.06218 20 0 0 1 0.866 8 6 1 0 +259 0 1 0 9 5.19615 20 0 0 1 0.866 8 6 1 0 +260 0 1 0 9.5 6.06218 20 0 0 1 0.866 8 6 1 0 +261 0 1 0 10 5.19615 20 0 0 1 0.866 8 6 1 0 +262 0 1 0 10.5 6.06218 20 0 0 1 0.866 8 6 1 0 +263 0 1 0 11 5.19615 20 0 0 1 0.866 8 6 1 0 +264 0 1 0 11.5 6.06218 20 0 0 1 0.866 8 6 1 0 +265 0 1 0 12 5.19615 20 0 0 1 0.866 8 6 1 0 +266 0 1 0 12.5 6.06218 20 0 0 1 0.866 8 6 1 0 +267 0 1 0 13 5.19615 20 0 0 1 0.866 8 6 1 0 +268 0 1 0 13.5 6.06218 20 0 0 1 0.866 8 6 1 0 +269 0 1 0 14 5.19615 20 0 0 1 0.866 8 6 1 0 +270 0 1 0 14.5 6.06218 20 0 0 1 0.866 8 6 1 0 +271 0 1 0 15 5.19615 20 0 0 1 0.866 8 6 1 0 +272 0 1 0 15.5 6.06218 20 0 0 1 0.866 8 6 1 0 +273 0 1 0 16 5.19615 20 0 0 1 0.866 8 6 1 0 +274 0 1 0 16.5 6.06218 20 0 0 1 0.866 8 6 1 0 +275 0 1 0 17 5.19615 20 0 0 1 0.866 8 6 1 0 +276 0 1 0 17.5 6.06218 20 0 0 1 0.866 8 6 1 0 +277 0 1 0 18 5.19615 20 0 0 1 0.866 8 6 1 0 +278 0 1 0 18.5 6.06218 20 0 0 1 0.866 8 6 1 0 +279 0 1 0 19 5.19615 20 0 0 1 0.866 8 6 1 0 +280 0 1 0 19.5 6.06218 20 0 0 1 0.866 8 6 1 0 +281 0 1 0 20 5.19615 20 0 0 1 0.866 8 6 1 0 +282 0 1 0 20.5 6.06218 20 0 0 1 0.866 8 6 1 0 +283 0 1 0 21 5.19615 20 0 0 1 0.866 8 6 1 0 +284 0 1 0 21.5 6.06218 20 0 0 1 0.866 8 6 1 0 +285 0 1 0 22 5.19615 20 0 0 1 0.866 8 6 1 0 +286 0 1 0 22.5 6.06218 20 0 0 1 0.866 8 6 1 0 +287 0 1 0 23 5.19615 20 0 0 1 0.866 8 6 1 0 +288 0 1 0 23.5 6.06218 20 0 0 1 0.866 8 6 1 0 +289 0 1 0 24 5.19615 20 0 0 1 0.866 8 6 1 0 +290 0 1 0 24.5 6.06218 20 0 0 1 0.866 8 6 1 0 +291 0 1 0 25 5.19615 20 0 0 1 0.866 8 6 1 0 +292 0 1 0 25.5 6.06218 20 0 0 1 0.866 8 6 1 0 +293 0 1 0 26 5.19615 20 0 0 1 0.866 8 6 1 0 +294 0 1 0 26.5 6.06218 20 0 0 1 0.866 8 6 1 0 +295 0 1 0 27 5.19615 20 0 0 1 0.866 8 6 1 0 +296 0 1 0 27.5 6.06218 20 0 0 1 0.866 8 6 1 0 +297 0 1 0 28 5.19615 20 0 0 1 0.866 8 6 1 0 +298 0 1 0 28.5 6.06218 20 0 0 1 0.866 8 6 1 0 +299 0 1 0 29 5.19615 20 0 0 1 0.866 8 6 1 0 +300 0 1 0 29.5 6.06218 20 0 0 1 0.866 8 6 1 0 +301 0 1 0 30 5.19615 20 0 0 1 0.866 8 6 1 0 +302 0 1 0 30.5 6.06218 20 0 0 1 0.866 8 6 1 0 +303 0 1 0 31 5.19615 20 0 0 1 0.866 8 6 1 0 +304 0 1 0 31.5 6.06218 20 0 0 1 0.866 8 6 1 0 +305 0 1 0 32 5.19615 20 0 0 1 0.866 8 6 1 0 +306 0 1 0 32.5 6.06218 20 0 0 1 0.866 8 6 1 0 +307 0 1 0 33 5.19615 20 0 0 1 0.866 8 6 1 0 +308 0 1 0 33.5 6.06218 20 0 0 1 0.866 8 6 1 0 +309 0 1 0 34 5.19615 20 0 0 1 0.866 8 6 1 0 +310 0 1 0 34.5 6.06218 20 0 0 1 0.866 8 6 1 0 +311 0 1 0 35 5.19615 20 0 0 1 0.866 8 6 1 0 +312 0 1 0 35.5 6.06218 20 0 0 1 0.866 8 6 1 0 +313 0 1 0 36 5.19615 20 0 0 1 0.866 8 6 1 0 +314 0 1 0 36.5 6.06218 20 0 0 1 0.866 8 6 1 0 +315 0 1 0 37 5.19615 20 0 0 1 0.866 8 6 1 0 +316 0 1 0 37.5 6.06218 20 0 0 1 0.866 8 6 1 0 +317 0 1 0 38 5.19615 20 0 0 1 0.866 8 6 1 0 +318 0 1 0 38.5 6.06218 20 0 0 1 0.866 8 6 1 0 +319 0 1 0 39 5.19615 20 0 0 1 0.866 8 6 1 0 +320 0 1 0 39.5 6.06218 20 0 0 1 0.866 8 6 1 0 +321 0 1 0 0 6.9282 20 0 0 1 0.866 8 6 1 0 +322 0 1 0 0.5 7.79423 20 0 0 1 0.866 8 6 1 0 +323 0 1 0 1 6.9282 20 0 0 1 0.866 8 6 1 0 +324 0 1 0 1.5 7.79423 20 0 0 1 0.866 8 6 1 0 +325 0 1 0 2 6.9282 20 0 0 1 0.866 8 6 1 0 +326 0 1 0 2.5 7.79423 20 0 0 1 0.866 8 6 1 0 +327 0 1 0 3 6.9282 20 0 0 1 0.866 8 6 1 0 +328 0 1 0 3.5 7.79423 20 0 0 1 0.866 8 6 1 0 +329 0 1 0 4 6.9282 20 0 0 1 0.866 8 6 1 0 +330 0 1 0 4.5 7.79423 20 0 0 1 0.866 8 6 1 0 +331 0 1 0 5 6.9282 20 0 0 1 0.866 8 6 1 0 +332 0 1 0 5.5 7.79423 20 0 0 1 0.866 8 6 1 0 +333 0 1 0 6 6.9282 20 0 0 1 0.866 8 6 1 0 +334 0 1 0 6.5 7.79423 20 0 0 1 0.866 8 6 1 0 +335 0 1 0 7 6.9282 20 0 0 1 0.866 8 6 1 0 +336 0 1 0 7.5 7.79423 20 0 0 1 0.866 8 6 1 0 +337 0 1 0 8 6.9282 20 0 0 1 0.866 8 6 1 0 +338 0 1 0 8.5 7.79423 20 0 0 1 0.866 8 6 1 0 +339 0 1 0 9 6.9282 20 0 0 1 0.866 8 6 1 0 +340 0 1 0 9.5 7.79423 20 0 0 1 0.866 8 6 1 0 +341 0 1 0 10 6.9282 20 0 0 1 0.866 8 6 1 0 +342 0 1 0 10.5 7.79423 20 0 0 1 0.866 8 6 1 0 +343 0 1 0 11 6.9282 20 0 0 1 0.866 8 6 1 0 +344 0 1 0 11.5 7.79423 20 0 0 1 0.866 8 6 1 0 +345 0 1 0 12 6.9282 20 0 0 1 0.866 8 6 1 0 +346 0 1 0 12.5 7.79423 20 0 0 1 0.866 8 6 1 0 +347 0 1 0 13 6.9282 20 0 0 1 0.866 8 6 1 0 +348 0 1 0 13.5 7.79423 20 0 0 1 0.866 8 6 1 0 +349 0 1 0 14 6.9282 20 0 0 1 0.866 8 6 1 0 +350 0 1 0 14.5 7.79423 20 0 0 1 0.866 8 6 1 0 +351 0 1 0 15 6.9282 20 0 0 1 0.866 8 6 1 0 +352 0 1 0 15.5 7.79423 20 0 0 1 0.866 8 6 1 0 +353 0 1 0 16 6.9282 20 0 0 1 0.866 8 6 1 0 +354 0 1 0 16.5 7.79423 20 0 0 1 0.866 8 6 1 0 +355 0 1 0 17 6.9282 20 0 0 1 0.866 8 6 1 0 +356 0 1 0 17.5 7.79423 20 0 0 1 0.866 8 6 1 0 +357 0 1 0 18 6.9282 20 0 0 1 0.866 8 6 1 0 +358 0 1 0 18.5 7.79423 20 0 0 1 0.866 8 6 1 0 +359 0 1 0 19 6.9282 20 0 0 1 0.866 8 6 1 0 +360 0 1 0 19.5 7.79423 20 0 0 1 0.866 8 6 1 0 +361 0 1 0 20 6.9282 20 0 0 1 0.866 8 6 1 0 +362 0 1 0 20.5 7.79423 20 0 0 1 0.866 8 6 1 0 +363 0 1 0 21 6.9282 20 0 0 1 0.866 8 6 1 0 +364 0 1 0 21.5 7.79423 20 0 0 1 0.866 8 6 1 0 +365 0 1 0 22 6.9282 20 0 0 1 0.866 8 6 1 0 +366 0 1 0 22.5 7.79423 20 0 0 1 0.866 8 6 1 0 +367 0 1 0 23 6.9282 20 0 0 1 0.866 8 6 1 0 +368 0 1 0 23.5 7.79423 20 0 0 1 0.866 8 6 1 0 +369 0 1 0 24 6.9282 20 0 0 1 0.866 8 6 1 0 +370 0 1 0 24.5 7.79423 20 0 0 1 0.866 8 6 1 0 +371 0 1 0 25 6.9282 20 0 0 1 0.866 8 6 1 0 +372 0 1 0 25.5 7.79423 20 0 0 1 0.866 8 6 1 0 +373 0 1 0 26 6.9282 20 0 0 1 0.866 8 6 1 0 +374 0 1 0 26.5 7.79423 20 0 0 1 0.866 8 6 1 0 +375 0 1 0 27 6.9282 20 0 0 1 0.866 8 6 1 0 +376 0 1 0 27.5 7.79423 20 0 0 1 0.866 8 6 1 0 +377 0 1 0 28 6.9282 20 0 0 1 0.866 8 6 1 0 +378 0 1 0 28.5 7.79423 20 0 0 1 0.866 8 6 1 0 +379 0 1 0 29 6.9282 20 0 0 1 0.866 8 6 1 0 +380 0 1 0 29.5 7.79423 20 0 0 1 0.866 8 6 1 0 +381 0 1 0 30 6.9282 20 0 0 1 0.866 8 6 1 0 +382 0 1 0 30.5 7.79423 20 0 0 1 0.866 8 6 1 0 +383 0 1 0 31 6.9282 20 0 0 1 0.866 8 6 1 0 +384 0 1 0 31.5 7.79423 20 0 0 1 0.866 8 6 1 0 +385 0 1 0 32 6.9282 20 0 0 1 0.866 8 6 1 0 +386 0 1 0 32.5 7.79423 20 0 0 1 0.866 8 6 1 0 +387 0 1 0 33 6.9282 20 0 0 1 0.866 8 6 1 0 +388 0 1 0 33.5 7.79423 20 0 0 1 0.866 8 6 1 0 +389 0 1 0 34 6.9282 20 0 0 1 0.866 8 6 1 0 +390 0 1 0 34.5 7.79423 20 0 0 1 0.866 8 6 1 0 +391 0 1 0 35 6.9282 20 0 0 1 0.866 8 6 1 0 +392 0 1 0 35.5 7.79423 20 0 0 1 0.866 8 6 1 0 +393 0 1 0 36 6.9282 20 0 0 1 0.866 8 6 1 0 +394 0 1 0 36.5 7.79423 20 0 0 1 0.866 8 6 1 0 +395 0 1 0 37 6.9282 20 0 0 1 0.866 8 6 1 0 +396 0 1 0 37.5 7.79423 20 0 0 1 0.866 8 6 1 0 +397 0 1 0 38 6.9282 20 0 0 1 0.866 8 6 1 0 +398 0 1 0 38.5 7.79423 20 0 0 1 0.866 8 6 1 0 +399 0 1 0 39 6.9282 20 0 0 1 0.866 8 6 1 0 +400 0 1 0 39.5 7.79423 20 0 0 1 0.866 8 6 1 0 +401 0 1 0 0 8.66026 20 0 0 1 0.866 8 6 1 0 +402 0 1 0 0.5 9.52628 20 0 0 1 0.866 8 6 1 0 +403 0 1 0 1 8.66026 20 0 0 1 0.866 8 6 1 0 +404 0 1 0 1.5 9.52628 20 0 0 1 0.866 8 6 1 0 +405 0 1 0 2 8.66026 20 0 0 1 0.866 8 6 1 0 +406 0 1 0 2.5 9.52628 20 0 0 1 0.866 8 6 1 0 +407 0 1 0 3 8.66026 20 0 0 1 0.866 8 6 1 0 +408 0 1 0 3.5 9.52628 20 0 0 1 0.866 8 6 1 0 +409 0 1 0 4 8.66026 20 0 0 1 0.866 8 6 1 0 +410 0 1 0 4.5 9.52628 20 0 0 1 0.866 8 6 1 0 +411 0 1 0 5 8.66026 20 0 0 1 0.866 8 6 1 0 +412 0 1 0 5.5 9.52628 20 0 0 1 0.866 8 6 1 0 +413 0 1 0 6 8.66026 20 0 0 1 0.866 8 6 1 0 +414 0 1 0 6.5 9.52628 20 0 0 1 0.866 8 6 1 0 +415 0 1 0 7 8.66026 20 0 0 1 0.866 8 6 1 0 +416 0 1 0 7.5 9.52628 20 0 0 1 0.866 8 6 1 0 +417 0 1 0 8 8.66026 20 0 0 1 0.866 8 6 1 0 +418 0 1 0 8.5 9.52628 20 0 0 1 0.866 8 6 1 0 +419 0 1 0 9 8.66026 20 0 0 1 0.866 8 6 1 0 +420 0 1 0 9.5 9.52628 20 0 0 1 0.866 8 6 1 0 +421 0 1 0 10 8.66026 20 0 0 1 0.866 8 6 1 0 +422 0 1 0 10.5 9.52628 20 0 0 1 0.866 8 6 1 0 +423 0 1 0 11 8.66026 20 0 0 1 0.866 8 6 1 0 +424 0 1 0 11.5 9.52628 20 0 0 1 0.866 8 6 1 0 +425 0 1 0 12 8.66026 20 0 0 1 0.866 8 6 1 0 +426 0 1 0 12.5 9.52628 20 0 0 1 0.866 8 6 1 0 +427 0 1 0 13 8.66026 20 0 0 1 0.866 8 6 1 0 +428 0 1 0 13.5 9.52628 20 0 0 1 0.866 8 6 1 0 +429 0 1 0 14 8.66026 20 0 0 1 0.866 8 6 1 0 +430 0 1 0 14.5 9.52628 20 0 0 1 0.866 8 6 1 0 +431 0 1 0 15 8.66026 20 0 0 1 0.866 8 6 1 0 +432 0 1 0 15.5 9.52628 20 0 0 1 0.866 8 6 1 0 +433 0 1 0 16 8.66026 20 0 0 1 0.866 8 6 1 0 +434 0 1 0 16.5 9.52628 20 0 0 1 0.866 8 6 1 0 +435 0 1 0 17 8.66026 20 0 0 1 0.866 8 6 1 0 +436 0 1 0 17.5 9.52628 20 0 0 1 0.866 8 6 1 0 +437 0 1 0 18 8.66026 20 0 0 1 0.866 8 6 1 0 +438 0 1 0 18.5 9.52628 20 0 0 1 0.866 8 6 1 0 +439 0 1 0 19 8.66026 20 0 0 1 0.866 8 6 1 0 +440 0 1 0 19.5 9.52628 20 0 0 1 0.866 8 6 1 0 +441 0 1 0 20 8.66026 20 0 0 1 0.866 8 6 1 0 +442 0 1 0 20.5 9.52628 20 0 0 1 0.866 8 6 1 0 +443 0 1 0 21 8.66026 20 0 0 1 0.866 8 6 1 0 +444 0 1 0 21.5 9.52628 20 0 0 1 0.866 8 6 1 0 +445 0 1 0 22 8.66026 20 0 0 1 0.866 8 6 1 0 +446 0 1 0 22.5 9.52628 20 0 0 1 0.866 8 6 1 0 +447 0 1 0 23 8.66026 20 0 0 1 0.866 8 6 1 0 +448 0 1 0 23.5 9.52628 20 0 0 1 0.866 8 6 1 0 +449 0 1 0 24 8.66026 20 0 0 1 0.866 8 6 1 0 +450 0 1 0 24.5 9.52628 20 0 0 1 0.866 8 6 1 0 +451 0 1 0 25 8.66026 20 0 0 1 0.866 8 6 1 0 +452 0 1 0 25.5 9.52628 20 0 0 1 0.866 8 6 1 0 +453 0 1 0 26 8.66026 20 0 0 1 0.866 8 6 1 0 +454 0 1 0 26.5 9.52628 20 0 0 1 0.866 8 6 1 0 +455 0 1 0 27 8.66026 20 0 0 1 0.866 8 6 1 0 +456 0 1 0 27.5 9.52628 20 0 0 1 0.866 8 6 1 0 +457 0 1 0 28 8.66026 20 0 0 1 0.866 8 6 1 0 +458 0 1 0 28.5 9.52628 20 0 0 1 0.866 8 6 1 0 +459 0 1 0 29 8.66026 20 0 0 1 0.866 8 6 1 0 +460 0 1 0 29.5 9.52628 20 0 0 1 0.866 8 6 1 0 +461 0 1 0 30 8.66026 20 0 0 1 0.866 8 6 1 0 +462 0 1 0 30.5 9.52628 20 0 0 1 0.866 8 6 1 0 +463 0 1 0 31 8.66026 20 0 0 1 0.866 8 6 1 0 +464 0 1 0 31.5 9.52628 20 0 0 1 0.866 8 6 1 0 +465 0 1 0 32 8.66026 20 0 0 1 0.866 8 6 1 0 +466 0 1 0 32.5 9.52628 20 0 0 1 0.866 8 6 1 0 +467 0 1 0 33 8.66026 20 0 0 1 0.866 8 6 1 0 +468 0 1 0 33.5 9.52628 20 0 0 1 0.866 8 6 1 0 +469 0 1 0 34 8.66026 20 0 0 1 0.866 8 6 1 0 +470 0 1 0 34.5 9.52628 20 0 0 1 0.866 8 6 1 0 +471 0 1 0 35 8.66026 20 0 0 1 0.866 8 6 1 0 +472 0 1 0 35.5 9.52628 20 0 0 1 0.866 8 6 1 0 +473 0 1 0 36 8.66026 20 0 0 1 0.866 8 6 1 0 +474 0 1 0 36.5 9.52628 20 0 0 1 0.866 8 6 1 0 +475 0 1 0 37 8.66026 20 0 0 1 0.866 8 6 1 0 +476 0 1 0 37.5 9.52628 20 0 0 1 0.866 8 6 1 0 +477 0 1 0 38 8.66026 20 0 0 1 0.866 8 6 1 0 +478 0 1 0 38.5 9.52628 20 0 0 1 0.866 8 6 1 0 +479 0 1 0 39 8.66026 20 0 0 1 0.866 8 6 1 0 +480 0 1 0 39.5 9.52628 20 0 0 1 0.866 8 6 1 0 +481 0 1 0 0 10.3923 20 0 0 1 0.866 8 6 1 0 +482 0 1 0 0.5 11.2583 20 0 0 1 0.866 8 6 1 0 +483 0 1 0 1 10.3923 20 0 0 1 0.866 8 6 1 0 +484 0 1 0 1.5 11.2583 20 0 0 1 0.866 8 6 1 0 +485 0 1 0 2 10.3923 20 0 0 1 0.866 8 6 1 0 +486 0 1 0 2.5 11.2583 20 0 0 1 0.866 8 6 1 0 +487 0 1 0 3 10.3923 20 0 0 1 0.866 8 6 1 0 +488 0 1 0 3.5 11.2583 20 0 0 1 0.866 8 6 1 0 +489 0 1 0 4 10.3923 20 0 0 1 0.866 8 6 1 0 +490 0 1 0 4.5 11.2583 20 0 0 1 0.866 8 6 1 0 +491 0 1 0 5 10.3923 20 0 0 1 0.866 8 6 1 0 +492 0 1 0 5.5 11.2583 20 0 0 1 0.866 8 6 1 0 +493 0 1 0 6 10.3923 20 0 0 1 0.866 8 6 1 0 +494 0 1 0 6.5 11.2583 20 0 0 1 0.866 8 6 1 0 +495 0 1 0 7 10.3923 20 0 0 1 0.866 8 6 1 0 +496 0 1 0 7.5 11.2583 20 0 0 1 0.866 8 6 1 0 +497 0 1 0 8 10.3923 20 0 0 1 0.866 8 6 1 0 +498 0 1 0 8.5 11.2583 20 0 0 1 0.866 8 6 1 0 +499 0 1 0 9 10.3923 20 0 0 1 0.866 8 6 1 0 +500 0 1 0 9.5 11.2583 20 0 0 1 0.866 8 6 1 0 +501 0 1 0 10 10.3923 20 0 0 1 0.866 8 6 1 0 +502 0 1 0 10.5 11.2583 20 0 0 1 0.866 8 6 1 0 +503 0 1 0 11 10.3923 20 0 0 1 0.866 8 6 1 0 +504 0 1 0 11.5 11.2583 20 0 0 1 0.866 8 6 1 0 +505 0 1 0 12 10.3923 20 0 0 1 0.866 8 6 1 0 +506 0 1 0 12.5 11.2583 20 0 0 1 0.866 8 6 1 0 +507 0 1 0 13 10.3923 20 0 0 1 0.866 8 6 1 0 +508 0 1 0 13.5 11.2583 20 0 0 1 0.866 8 6 1 0 +509 0 1 0 14 10.3923 20 0 0 1 0.866 8 6 1 0 +510 0 1 0 14.5 11.2583 20 0 0 1 0.866 8 6 1 0 +511 0 1 0 15 10.3923 20 0 0 1 0.866 8 6 1 0 +512 0 1 0 15.5 11.2583 20 0 0 1 0.866 8 6 1 0 +513 0 1 0 16 10.3923 20 0 0 1 0.866 8 6 1 0 +514 0 1 0 16.5 11.2583 20 0 0 1 0.866 8 6 1 0 +515 0 1 0 17 10.3923 20 0 0 1 0.866 8 6 1 0 +516 0 1 0 17.5 11.2583 20 0 0 1 0.866 8 6 1 0 +517 0 1 0 18 10.3923 20 0 0 1 0.866 8 6 1 0 +518 0 1 0 18.5 11.2583 20 0 0 1 0.866 8 6 1 0 +519 0 1 0 19 10.3923 20 0 0 1 0.866 8 6 1 0 +520 0 1 0 19.5 11.2583 20 0 0 1 0.866 8 6 1 0 +521 0 1 0 20 10.3923 20 0 0 1 0.866 8 6 1 0 +522 0 1 0 20.5 11.2583 20 0 0 1 0.866 8 6 1 0 +523 0 1 0 21 10.3923 20 0 0 1 0.866 8 6 1 0 +524 0 1 0 21.5 11.2583 20 0 0 1 0.866 8 6 1 0 +525 0 1 0 22 10.3923 20 0 0 1 0.866 8 6 1 0 +526 0 1 0 22.5 11.2583 20 0 0 1 0.866 8 6 1 0 +527 0 1 0 23 10.3923 20 0 0 1 0.866 8 6 1 0 +528 0 1 0 23.5 11.2583 20 0 0 1 0.866 8 6 1 0 +529 0 1 0 24 10.3923 20 0 0 1 0.866 8 6 1 0 +530 0 1 0 24.5 11.2583 20 0 0 1 0.866 8 6 1 0 +531 0 1 0 25 10.3923 20 0 0 1 0.866 8 6 1 0 +532 0 1 0 25.5 11.2583 20 0 0 1 0.866 8 6 1 0 +533 0 1 0 26 10.3923 20 0 0 1 0.866 8 6 1 0 +534 0 1 0 26.5 11.2583 20 0 0 1 0.866 8 6 1 0 +535 0 1 0 27 10.3923 20 0 0 1 0.866 8 6 1 0 +536 0 1 0 27.5 11.2583 20 0 0 1 0.866 8 6 1 0 +537 0 1 0 28 10.3923 20 0 0 1 0.866 8 6 1 0 +538 0 1 0 28.5 11.2583 20 0 0 1 0.866 8 6 1 0 +539 0 1 0 29 10.3923 20 0 0 1 0.866 8 6 1 0 +540 0 1 0 29.5 11.2583 20 0 0 1 0.866 8 6 1 0 +541 0 1 0 30 10.3923 20 0 0 1 0.866 8 6 1 0 +542 0 1 0 30.5 11.2583 20 0 0 1 0.866 8 6 1 0 +543 0 1 0 31 10.3923 20 0 0 1 0.866 8 6 1 0 +544 0 1 0 31.5 11.2583 20 0 0 1 0.866 8 6 1 0 +545 0 1 0 32 10.3923 20 0 0 1 0.866 8 6 1 0 +546 0 1 0 32.5 11.2583 20 0 0 1 0.866 8 6 1 0 +547 0 1 0 33 10.3923 20 0 0 1 0.866 8 6 1 0 +548 0 1 0 33.5 11.2583 20 0 0 1 0.866 8 6 1 0 +549 0 1 0 34 10.3923 20 0 0 1 0.866 8 6 1 0 +550 0 1 0 34.5 11.2583 20 0 0 1 0.866 8 6 1 0 +551 0 1 0 35 10.3923 20 0 0 1 0.866 8 6 1 0 +552 0 1 0 35.5 11.2583 20 0 0 1 0.866 8 6 1 0 +553 0 1 0 36 10.3923 20 0 0 1 0.866 8 6 1 0 +554 0 1 0 36.5 11.2583 20 0 0 1 0.866 8 6 1 0 +555 0 1 0 37 10.3923 20 0 0 1 0.866 8 6 1 0 +556 0 1 0 37.5 11.2583 20 0 0 1 0.866 8 6 1 0 +557 0 1 0 38 10.3923 20 0 0 1 0.866 8 6 1 0 +558 0 1 0 38.5 11.2583 20 0 0 1 0.866 8 6 1 0 +559 0 1 0 39 10.3923 20 0 0 1 0.866 8 6 1 0 +560 0 1 0 39.5 11.2583 20 0 0 1 0.866 8 6 1 0 +561 0 1 0 0 12.1244 20 0 0 1 0.866 8 6 1 0 +562 0 1 0 0.5 12.9904 20 0 0 1 0.866 8 6 1 0 +563 0 1 0 1 12.1244 20 0 0 1 0.866 8 6 1 0 +564 0 1 0 1.5 12.9904 20 0 0 1 0.866 8 6 1 0 +565 0 1 0 2 12.1244 20 0 0 1 0.866 8 6 1 0 +566 0 1 0 2.5 12.9904 20 0 0 1 0.866 8 6 1 0 +567 0 1 0 3 12.1244 20 0 0 1 0.866 8 6 1 0 +568 0 1 0 3.5 12.9904 20 0 0 1 0.866 8 6 1 0 +569 0 1 0 4 12.1244 20 0 0 1 0.866 8 6 1 0 +570 0 1 0 4.5 12.9904 20 0 0 1 0.866 8 6 1 0 +571 0 1 0 5 12.1244 20 0 0 1 0.866 8 6 1 0 +572 0 1 0 5.5 12.9904 20 0 0 1 0.866 8 6 1 0 +573 0 1 0 6 12.1244 20 0 0 1 0.866 8 6 1 0 +574 0 1 0 6.5 12.9904 20 0 0 1 0.866 8 6 1 0 +575 0 1 0 7 12.1244 20 0 0 1 0.866 8 6 1 0 +576 0 1 0 7.5 12.9904 20 0 0 1 0.866 8 6 1 0 +577 0 1 0 8 12.1244 20 0 0 1 0.866 8 6 1 0 +578 0 1 0 8.5 12.9904 20 0 0 1 0.866 8 6 1 0 +579 0 1 0 9 12.1244 20 0 0 1 0.866 8 6 1 0 +580 0 1 0 9.5 12.9904 20 0 0 1 0.866 8 6 1 0 +581 0 1 0 10 12.1244 20 0 0 1 0.866 8 6 1 0 +582 0 1 0 10.5 12.9904 20 0 0 1 0.866 8 6 1 0 +583 0 1 0 11 12.1244 20 0 0 1 0.866 8 6 1 0 +584 0 1 0 11.5 12.9904 20 0 0 1 0.866 8 6 1 0 +585 0 1 0 12 12.1244 20 0 0 1 0.866 8 6 1 0 +586 0 1 0 12.5 12.9904 20 0 0 1 0.866 8 6 1 0 +587 0 1 0 13 12.1244 20 0 0 1 0.866 8 6 1 0 +588 0 1 0 13.5 12.9904 20 0 0 1 0.866 8 6 1 0 +589 0 1 0 14 12.1244 20 0 0 1 0.866 8 6 1 0 +590 0 1 0 14.5 12.9904 20 0 0 1 0.866 8 6 1 0 +591 0 1 0 15 12.1244 20 0 0 1 0.866 8 6 1 0 +592 0 1 0 15.5 12.9904 20 0 0 1 0.866 8 6 1 0 +593 0 1 0 16 12.1244 20 0 0 1 0.866 8 6 1 0 +594 0 1 0 16.5 12.9904 20 0 0 1 0.866 8 6 1 0 +595 0 1 0 17 12.1244 20 0 0 1 0.866 8 6 1 0 +596 0 1 0 17.5 12.9904 20 0 0 1 0.866 8 6 1 0 +597 0 1 0 18 12.1244 20 0 0 1 0.866 8 6 1 0 +598 0 1 0 18.5 12.9904 20 0 0 1 0.866 8 6 1 0 +599 0 1 0 19 12.1244 20 0 0 1 0.866 8 6 1 0 +600 0 1 0 19.5 12.9904 20 0 0 1 0.866 8 6 1 0 +601 0 1 0 20 12.1244 20 0 0 1 0.866 8 6 1 0 +602 0 1 0 20.5 12.9904 20 0 0 1 0.866 8 6 1 0 +603 0 1 0 21 12.1244 20 0 0 1 0.866 8 6 1 0 +604 0 1 0 21.5 12.9904 20 0 0 1 0.866 8 6 1 0 +605 0 1 0 22 12.1244 20 0 0 1 0.866 8 6 1 0 +606 0 1 0 22.5 12.9904 20 0 0 1 0.866 8 6 1 0 +607 0 1 0 23 12.1244 20 0 0 1 0.866 8 6 1 0 +608 0 1 0 23.5 12.9904 20 0 0 1 0.866 8 6 1 0 +609 0 1 0 24 12.1244 20 0 0 1 0.866 8 6 1 0 +610 0 1 0 24.5 12.9904 20 0 0 1 0.866 8 6 1 0 +611 0 1 0 25 12.1244 20 0 0 1 0.866 8 6 1 0 +612 0 1 0 25.5 12.9904 20 0 0 1 0.866 8 6 1 0 +613 0 1 0 26 12.1244 20 0 0 1 0.866 8 6 1 0 +614 0 1 0 26.5 12.9904 20 0 0 1 0.866 8 6 1 0 +615 0 1 0 27 12.1244 20 0 0 1 0.866 8 6 1 0 +616 0 1 0 27.5 12.9904 20 0 0 1 0.866 8 6 1 0 +617 0 1 0 28 12.1244 20 0 0 1 0.866 8 6 1 0 +618 0 1 0 28.5 12.9904 20 0 0 1 0.866 8 6 1 0 +619 0 1 0 29 12.1244 20 0 0 1 0.866 8 6 1 0 +620 0 1 0 29.5 12.9904 20 0 0 1 0.866 8 6 1 0 +621 0 1 0 30 12.1244 20 0 0 1 0.866 8 6 1 0 +622 0 1 0 30.5 12.9904 20 0 0 1 0.866 8 6 1 0 +623 0 1 0 31 12.1244 20 0 0 1 0.866 8 6 1 0 +624 0 1 0 31.5 12.9904 20 0 0 1 0.866 8 6 1 0 +625 0 1 0 32 12.1244 20 0 0 1 0.866 8 6 1 0 +626 0 1 0 32.5 12.9904 20 0 0 1 0.866 8 6 1 0 +627 0 1 0 33 12.1244 20 0 0 1 0.866 8 6 1 0 +628 0 1 0 33.5 12.9904 20 0 0 1 0.866 8 6 1 0 +629 0 1 0 34 12.1244 20 0 0 1 0.866 8 6 1 0 +630 0 1 0 34.5 12.9904 20 0 0 1 0.866 8 6 1 0 +631 0 1 0 35 12.1244 20 0 0 1 0.866 8 6 1 0 +632 0 1 0 35.5 12.9904 20 0 0 1 0.866 8 6 1 0 +633 0 1 0 36 12.1244 20 0 0 1 0.866 8 6 1 0 +634 0 1 0 36.5 12.9904 20 0 0 1 0.866 8 6 1 0 +635 0 1 0 37 12.1244 20 0 0 1 0.866 8 6 1 0 +636 0 1 0 37.5 12.9904 20 0 0 1 0.866 8 6 1 0 +637 0 1 0 38 12.1244 20 0 0 1 0.866 8 6 1 0 +638 0 1 0 38.5 12.9904 20 0 0 1 0.866 8 6 1 0 +639 0 1 0 39 12.1244 20 0 0 1 0.866 8 6 1 0 +640 0 1 0 39.5 12.9904 20 0 0 1 0.866 8 6 1 0 +641 0 1 0 0 13.8564 20 0 0 1 0.866 8 6 1 0 +642 0 1 0 0.5 14.7224 20 0 0 1 0.866 8 6 1 0 +643 0 1 0 1 13.8564 20 0 0 1 0.866 8 6 1 0 +644 0 1 0 1.5 14.7224 20 0 0 1 0.866 8 6 1 0 +645 0 1 0 2 13.8564 20 0 0 1 0.866 8 6 1 0 +646 0 1 0 2.5 14.7224 20 0 0 1 0.866 8 6 1 0 +647 0 1 0 3 13.8564 20 0 0 1 0.866 8 6 1 0 +648 0 1 0 3.5 14.7224 20 0 0 1 0.866 8 6 1 0 +649 0 1 0 4 13.8564 20 0 0 1 0.866 8 6 1 0 +650 0 1 0 4.5 14.7224 20 0 0 1 0.866 8 6 1 0 +651 0 1 0 5 13.8564 20 0 0 1 0.866 8 6 1 0 +652 0 1 0 5.5 14.7224 20 0 0 1 0.866 8 6 1 0 +653 0 1 0 6 13.8564 20 0 0 1 0.866 8 6 1 0 +654 0 1 0 6.5 14.7224 20 0 0 1 0.866 8 6 1 0 +655 0 1 0 7 13.8564 20 0 0 1 0.866 8 6 1 0 +656 0 1 0 7.5 14.7224 20 0 0 1 0.866 8 6 1 0 +657 0 1 0 8 13.8564 20 0 0 1 0.866 8 6 1 0 +658 0 1 0 8.5 14.7224 20 0 0 1 0.866 8 6 1 0 +659 0 1 0 9 13.8564 20 0 0 1 0.866 8 6 1 0 +660 0 1 0 9.5 14.7224 20 0 0 1 0.866 8 6 1 0 +661 0 1 0 10 13.8564 20 0 0 1 0.866 8 6 1 0 +662 0 1 0 10.5 14.7224 20 0 0 1 0.866 8 6 1 0 +663 0 1 0 11 13.8564 20 0 0 1 0.866 8 6 1 0 +664 0 1 0 11.5 14.7224 20 0 0 1 0.866 8 6 1 0 +665 0 1 0 12 13.8564 20 0 0 1 0.866 8 6 1 0 +666 0 1 0 12.5 14.7224 20 0 0 1 0.866 8 6 1 0 +667 0 1 0 13 13.8564 20 0 0 1 0.866 8 6 1 0 +668 0 1 0 13.5 14.7224 20 0 0 1 0.866 8 6 1 0 +669 0 1 0 14 13.8564 20 0 0 1 0.866 8 6 1 0 +670 0 1 0 14.5 14.7224 20 0 0 1 0.866 8 6 1 0 +671 0 1 0 15 13.8564 20 0 0 1 0.866 8 6 1 0 +672 0 1 0 15.5 14.7224 20 0 0 1 0.866 8 6 1 0 +673 0 1 0 16 13.8564 20 0 0 1 0.866 8 6 1 0 +674 0 1 0 16.5 14.7224 20 0 0 1 0.866 8 6 1 0 +675 0 1 0 17 13.8564 20 0 0 1 0.866 8 6 1 0 +676 0 1 0 17.5 14.7224 20 0 0 1 0.866 8 6 1 0 +677 0 1 0 18 13.8564 20 0 0 1 0.866 8 6 1 0 +678 0 1 0 18.5 14.7224 20 0 0 1 0.866 8 6 1 0 +679 0 1 0 19 13.8564 20 0 0 1 0.866 8 6 1 0 +680 0 1 0 19.5 14.7224 20 0 0 1 0.866 8 6 1 0 +681 0 1 0 20 13.8564 20 0 0 1 0.866 8 6 1 0 +682 0 1 0 20.5 14.7224 20 0 0 1 0.866 8 6 1 0 +683 0 1 0 21 13.8564 20 0 0 1 0.866 8 6 1 0 +684 0 1 0 21.5 14.7224 20 0 0 1 0.866 8 6 1 0 +685 0 1 0 22 13.8564 20 0 0 1 0.866 8 6 1 0 +686 0 1 0 22.5 14.7224 20 0 0 1 0.866 8 6 1 0 +687 0 1 0 23 13.8564 20 0 0 1 0.866 8 6 1 0 +688 0 1 0 23.5 14.7224 20 0 0 1 0.866 8 6 1 0 +689 0 1 0 24 13.8564 20 0 0 1 0.866 8 6 1 0 +690 0 1 0 24.5 14.7224 20 0 0 1 0.866 8 6 1 0 +691 0 1 0 25 13.8564 20 0 0 1 0.866 8 6 1 0 +692 0 1 0 25.5 14.7224 20 0 0 1 0.866 8 6 1 0 +693 0 1 0 26 13.8564 20 0 0 1 0.866 8 6 1 0 +694 0 1 0 26.5 14.7224 20 0 0 1 0.866 8 6 1 0 +695 0 1 0 27 13.8564 20 0 0 1 0.866 8 6 1 0 +696 0 1 0 27.5 14.7224 20 0 0 1 0.866 8 6 1 0 +697 0 1 0 28 13.8564 20 0 0 1 0.866 8 6 1 0 +698 0 1 0 28.5 14.7224 20 0 0 1 0.866 8 6 1 0 +699 0 1 0 29 13.8564 20 0 0 1 0.866 8 6 1 0 +700 0 1 0 29.5 14.7224 20 0 0 1 0.866 8 6 1 0 +701 0 1 0 30 13.8564 20 0 0 1 0.866 8 6 1 0 +702 0 1 0 30.5 14.7224 20 0 0 1 0.866 8 6 1 0 +703 0 1 0 31 13.8564 20 0 0 1 0.866 8 6 1 0 +704 0 1 0 31.5 14.7224 20 0 0 1 0.866 8 6 1 0 +705 0 1 0 32 13.8564 20 0 0 1 0.866 8 6 1 0 +706 0 1 0 32.5 14.7224 20 0 0 1 0.866 8 6 1 0 +707 0 1 0 33 13.8564 20 0 0 1 0.866 8 6 1 0 +708 0 1 0 33.5 14.7224 20 0 0 1 0.866 8 6 1 0 +709 0 1 0 34 13.8564 20 0 0 1 0.866 8 6 1 0 +710 0 1 0 34.5 14.7224 20 0 0 1 0.866 8 6 1 0 +711 0 1 0 35 13.8564 20 0 0 1 0.866 8 6 1 0 +712 0 1 0 35.5 14.7224 20 0 0 1 0.866 8 6 1 0 +713 0 1 0 36 13.8564 20 0 0 1 0.866 8 6 1 0 +714 0 1 0 36.5 14.7224 20 0 0 1 0.866 8 6 1 0 +715 0 1 0 37 13.8564 20 0 0 1 0.866 8 6 1 0 +716 0 1 0 37.5 14.7224 20 0 0 1 0.866 8 6 1 0 +717 0 1 0 38 13.8564 20 0 0 1 0.866 8 6 1 0 +718 0 1 0 38.5 14.7224 20 0 0 1 0.866 8 6 1 0 +719 0 1 0 39 13.8564 20 0 0 1 0.866 8 6 1 0 +720 0 1 0 39.5 14.7224 20 0 0 1 0.866 8 6 1 0 +721 0 1 0 0 15.5885 20 0 0 1 0.866 8 6 1 0 +722 0 1 0 0.5 16.4545 20 0 0 1 0.866 8 6 1 0 +723 0 1 0 1 15.5885 20 0 0 1 0.866 8 6 1 0 +724 0 1 0 1.5 16.4545 20 0 0 1 0.866 8 6 1 0 +725 0 1 0 2 15.5885 20 0 0 1 0.866 8 6 1 0 +726 0 1 0 2.5 16.4545 20 0 0 1 0.866 8 6 1 0 +727 0 1 0 3 15.5885 20 0 0 1 0.866 8 6 1 0 +728 0 1 0 3.5 16.4545 20 0 0 1 0.866 8 6 1 0 +729 0 1 0 4 15.5885 20 0 0 1 0.866 8 6 1 0 +730 0 1 0 4.5 16.4545 20 0 0 1 0.866 8 6 1 0 +731 0 1 0 5 15.5885 20 0 0 1 0.866 8 6 1 0 +732 0 1 0 5.5 16.4545 20 0 0 1 0.866 8 6 1 0 +733 0 1 0 6 15.5885 20 0 0 1 0.866 8 6 1 0 +734 0 1 0 6.5 16.4545 20 0 0 1 0.866 8 6 1 0 +735 0 1 0 7 15.5885 20 0 0 1 0.866 8 6 1 0 +736 0 1 0 7.5 16.4545 20 0 0 1 0.866 8 6 1 0 +737 0 1 0 8 15.5885 20 0 0 1 0.866 8 6 1 0 +738 0 1 0 8.5 16.4545 20 0 0 1 0.866 8 6 1 0 +739 0 1 0 9 15.5885 20 0 0 1 0.866 8 6 1 0 +740 0 1 0 9.5 16.4545 20 0 0 1 0.866 8 6 1 0 +741 0 1 0 10 15.5885 20 0 0 1 0.866 8 6 1 0 +742 0 1 0 10.5 16.4545 20 0 0 1 0.866 8 6 1 0 +743 0 1 0 11 15.5885 20 0 0 1 0.866 8 6 1 0 +744 0 1 0 11.5 16.4545 20 0 0 1 0.866 8 6 1 0 +745 0 1 0 12 15.5885 20 0 0 1 0.866 8 6 1 0 +746 0 1 0 12.5 16.4545 20 0 0 1 0.866 8 6 1 0 +747 0 1 0 13 15.5885 20 0 0 1 0.866 8 6 1 0 +748 0 1 0 13.5 16.4545 20 0 0 1 0.866 8 6 1 0 +749 0 1 0 14 15.5885 20 0 0 1 0.866 8 6 1 0 +750 0 1 0 14.5 16.4545 20 0 0 1 0.866 8 6 1 0 +751 0 1 0 15 15.5885 20 0 0 1 0.866 8 6 1 0 +752 0 1 0 15.5 16.4545 20 0 0 1 0.866 8 6 1 0 +753 0 1 0 16 15.5885 20 0 0 1 0.866 8 6 1 0 +754 0 1 0 16.5 16.4545 20 0 0 1 0.866 8 6 1 0 +755 0 1 0 17 15.5885 20 0 0 1 0.866 8 6 1 0 +756 0 1 0 17.5 16.4545 20 0 0 1 0.866 8 6 1 0 +757 0 1 0 18 15.5885 20 0 0 1 0.866 8 6 1 0 +758 0 1 0 18.5 16.4545 20 0 0 1 0.866 8 6 1 0 +759 0 1 0 19 15.5885 20 0 0 1 0.866 8 6 1 0 +760 0 1 0 19.5 16.4545 20 0 0 1 0.866 8 6 1 0 +761 0 1 0 20 15.5885 20 0 0 1 0.866 8 6 1 0 +762 0 1 0 20.5 16.4545 20 0 0 1 0.866 8 6 1 0 +763 0 1 0 21 15.5885 20 0 0 1 0.866 8 6 1 0 +764 0 1 0 21.5 16.4545 20 0 0 1 0.866 8 6 1 0 +765 0 1 0 22 15.5885 20 0 0 1 0.866 8 6 1 0 +766 0 1 0 22.5 16.4545 20 0 0 1 0.866 8 6 1 0 +767 0 1 0 23 15.5885 20 0 0 1 0.866 8 6 1 0 +768 0 1 0 23.5 16.4545 20 0 0 1 0.866 8 6 1 0 +769 0 1 0 24 15.5885 20 0 0 1 0.866 8 6 1 0 +770 0 1 0 24.5 16.4545 20 0 0 1 0.866 8 6 1 0 +771 0 1 0 25 15.5885 20 0 0 1 0.866 8 6 1 0 +772 0 1 0 25.5 16.4545 20 0 0 1 0.866 8 6 1 0 +773 0 1 0 26 15.5885 20 0 0 1 0.866 8 6 1 0 +774 0 1 0 26.5 16.4545 20 0 0 1 0.866 8 6 1 0 +775 0 1 0 27 15.5885 20 0 0 1 0.866 8 6 1 0 +776 0 1 0 27.5 16.4545 20 0 0 1 0.866 8 6 1 0 +777 0 1 0 28 15.5885 20 0 0 1 0.866 8 6 1 0 +778 0 1 0 28.5 16.4545 20 0 0 1 0.866 8 6 1 0 +779 0 1 0 29 15.5885 20 0 0 1 0.866 8 6 1 0 +780 0 1 0 29.5 16.4545 20 0 0 1 0.866 8 6 1 0 +781 0 1 0 30 15.5885 20 0 0 1 0.866 8 6 1 0 +782 0 1 0 30.5 16.4545 20 0 0 1 0.866 8 6 1 0 +783 0 1 0 31 15.5885 20 0 0 1 0.866 8 6 1 0 +784 0 1 0 31.5 16.4545 20 0 0 1 0.866 8 6 1 0 +785 0 1 0 32 15.5885 20 0 0 1 0.866 8 6 1 0 +786 0 1 0 32.5 16.4545 20 0 0 1 0.866 8 6 1 0 +787 0 1 0 33 15.5885 20 0 0 1 0.866 8 6 1 0 +788 0 1 0 33.5 16.4545 20 0 0 1 0.866 8 6 1 0 +789 0 1 0 34 15.5885 20 0 0 1 0.866 8 6 1 0 +790 0 1 0 34.5 16.4545 20 0 0 1 0.866 8 6 1 0 +791 0 1 0 35 15.5885 20 0 0 1 0.866 8 6 1 0 +792 0 1 0 35.5 16.4545 20 0 0 1 0.866 8 6 1 0 +793 0 1 0 36 15.5885 20 0 0 1 0.866 8 6 1 0 +794 0 1 0 36.5 16.4545 20 0 0 1 0.866 8 6 1 0 +795 0 1 0 37 15.5885 20 0 0 1 0.866 8 6 1 0 +796 0 1 0 37.5 16.4545 20 0 0 1 0.866 8 6 1 0 +797 0 1 0 38 15.5885 20 0 0 1 0.866 8 6 1 0 +798 0 1 0 38.5 16.4545 20 0 0 1 0.866 8 6 1 0 +799 0 1 0 39 15.5885 20 0 0 1 0.866 8 6 1 0 +800 0 1 0 39.5 16.4545 20 0 0 1 0.866 8 6 1 0 +801 0 1 0 0 17.3205 20 0 0 1 0.866 8 6 1 0 +802 0 1 0 0.5 18.1865 20 0 0 1 0.866 8 6 1 0 +803 0 1 0 1 17.3205 20 0 0 1 0.866 8 6 1 0 +804 0 1 0 1.5 18.1865 20 0 0 1 0.866 8 6 1 0 +805 0 1 0 2 17.3205 20 0 0 1 0.866 8 6 1 0 +806 0 1 0 2.5 18.1865 20 0 0 1 0.866 8 6 1 0 +807 0 1 0 3 17.3205 20 0 0 1 0.866 8 6 1 0 +808 0 1 0 3.5 18.1865 20 0 0 1 0.866 8 6 1 0 +809 0 1 0 4 17.3205 20 0 0 1 0.866 8 6 1 0 +810 0 1 0 4.5 18.1865 20 0 0 1 0.866 8 6 1 0 +811 0 1 0 5 17.3205 20 0 0 1 0.866 8 6 1 0 +812 0 1 0 5.5 18.1865 20 0 0 1 0.866 8 6 1 0 +813 0 1 0 6 17.3205 20 0 0 1 0.866 8 6 1 0 +814 0 1 0 6.5 18.1865 20 0 0 1 0.866 8 6 1 0 +815 0 1 0 7 17.3205 20 0 0 1 0.866 8 6 1 0 +816 0 1 0 7.5 18.1865 20 0 0 1 0.866 8 6 1 0 +817 0 1 0 8 17.3205 20 0 0 1 0.866 8 6 1 0 +818 0 1 0 8.5 18.1865 20 0 0 1 0.866 8 6 1 0 +819 0 1 0 9 17.3205 20 0 0 1 0.866 8 6 1 0 +820 0 1 0 9.5 18.1865 20 0 0 1 0.866 8 6 1 0 +821 0 1 0 10 17.3205 20 0 0 1 0.866 8 6 1 0 +822 0 1 0 10.5 18.1865 20 0 0 1 0.866 8 6 1 0 +823 0 1 0 11 17.3205 20 0 0 1 0.866 8 6 1 0 +824 0 1 0 11.5 18.1865 20 0 0 1 0.866 8 6 1 0 +825 0 1 0 12 17.3205 20 0 0 1 0.866 8 6 1 0 +826 0 1 0 12.5 18.1865 20 0 0 1 0.866 8 6 1 0 +827 0 1 0 13 17.3205 20 0 0 1 0.866 8 6 1 0 +828 0 1 0 13.5 18.1865 20 0 0 1 0.866 8 6 1 0 +829 0 1 0 14 17.3205 20 0 0 1 0.866 8 6 1 0 +830 0 1 0 14.5 18.1865 20 0 0 1 0.866 8 6 1 0 +831 0 1 0 15 17.3205 20 0 0 1 0.866 8 6 1 0 +832 0 1 0 15.5 18.1865 20 0 0 1 0.866 8 6 1 0 +833 0 1 0 16 17.3205 20 0 0 1 0.866 8 6 1 0 +834 0 1 0 16.5 18.1865 20 0 0 1 0.866 8 6 1 0 +835 0 1 0 17 17.3205 20 0 0 1 0.866 8 6 1 0 +836 0 1 0 17.5 18.1865 20 0 0 1 0.866 8 6 1 0 +837 0 1 0 18 17.3205 20 0 0 1 0.866 8 6 1 0 +838 0 1 0 18.5 18.1865 20 0 0 1 0.866 8 6 1 0 +839 0 1 0 19 17.3205 20 0 0 1 0.866 8 6 1 0 +840 0 1 0 19.5 18.1865 20 0 0 1 0.866 8 6 1 0 +841 0 1 0 20 17.3205 20 0 0 1 0.866 8 6 1 0 +842 0 1 0 20.5 18.1865 20 0 0 1 0.866 8 6 1 0 +843 0 1 0 21 17.3205 20 0 0 1 0.866 8 6 1 0 +844 0 1 0 21.5 18.1865 20 0 0 1 0.866 8 6 1 0 +845 0 1 0 22 17.3205 20 0 0 1 0.866 8 6 1 0 +846 0 1 0 22.5 18.1865 20 0 0 1 0.866 8 6 1 0 +847 0 1 0 23 17.3205 20 0 0 1 0.866 8 6 1 0 +848 0 1 0 23.5 18.1865 20 0 0 1 0.866 8 6 1 0 +849 0 1 0 24 17.3205 20 0 0 1 0.866 8 6 1 0 +850 0 1 0 24.5 18.1865 20 0 0 1 0.866 8 6 1 0 +851 0 1 0 25 17.3205 20 0 0 1 0.866 8 6 1 0 +852 0 1 0 25.5 18.1865 20 0 0 1 0.866 8 6 1 0 +853 0 1 0 26 17.3205 20 0 0 1 0.866 8 6 1 0 +854 0 1 0 26.5 18.1865 20 0 0 1 0.866 8 6 1 0 +855 0 1 0 27 17.3205 20 0 0 1 0.866 8 6 1 0 +856 0 1 0 27.5 18.1865 20 0 0 1 0.866 8 6 1 0 +857 0 1 0 28 17.3205 20 0 0 1 0.866 8 6 1 0 +858 0 1 0 28.5 18.1865 20 0 0 1 0.866 8 6 1 0 +859 0 1 0 29 17.3205 20 0 0 1 0.866 8 6 1 0 +860 0 1 0 29.5 18.1865 20 0 0 1 0.866 8 6 1 0 +861 0 1 0 30 17.3205 20 0 0 1 0.866 8 6 1 0 +862 0 1 0 30.5 18.1865 20 0 0 1 0.866 8 6 1 0 +863 0 1 0 31 17.3205 20 0 0 1 0.866 8 6 1 0 +864 0 1 0 31.5 18.1865 20 0 0 1 0.866 8 6 1 0 +865 0 1 0 32 17.3205 20 0 0 1 0.866 8 6 1 0 +866 0 1 0 32.5 18.1865 20 0 0 1 0.866 8 6 1 0 +867 0 1 0 33 17.3205 20 0 0 1 0.866 8 6 1 0 +868 0 1 0 33.5 18.1865 20 0 0 1 0.866 8 6 1 0 +869 0 1 0 34 17.3205 20 0 0 1 0.866 8 6 1 0 +870 0 1 0 34.5 18.1865 20 0 0 1 0.866 8 6 1 0 +871 0 1 0 35 17.3205 20 0 0 1 0.866 8 6 1 0 +872 0 1 0 35.5 18.1865 20 0 0 1 0.866 8 6 1 0 +873 0 1 0 36 17.3205 20 0 0 1 0.866 8 6 1 0 +874 0 1 0 36.5 18.1865 20 0 0 1 0.866 8 6 1 0 +875 0 1 0 37 17.3205 20 0 0 1 0.866 8 6 1 0 +876 0 1 0 37.5 18.1865 20 0 0 1 0.866 8 6 1 0 +877 0 1 0 38 17.3205 20 0 0 1 0.866 8 6 1 0 +878 0 1 0 38.5 18.1865 20 0 0 1 0.866 8 6 1 0 +879 0 1 0 39 17.3205 20 0 0 1 0.866 8 6 1 0 +880 0 1 0 39.5 18.1865 20 0 0 1 0.866 8 6 1 0 +881 0 1 0 0 19.0526 20 0 0 1 0.866 8 6 1 0 +882 0 1 0 0.5 19.9186 20 0 0 1 0.866 8 6 1 0 +883 0 1 0 1 19.0526 20 0 0 1 0.866 8 6 1 0 +884 0 1 0 1.5 19.9186 20 0 0 1 0.866 8 6 1 0 +885 0 1 0 2 19.0526 20 0 0 1 0.866 8 6 1 0 +886 0 1 0 2.5 19.9186 20 0 0 1 0.866 8 6 1 0 +887 0 1 0 3 19.0526 20 0 0 1 0.866 8 6 1 0 +888 0 1 0 3.5 19.9186 20 0 0 1 0.866 8 6 1 0 +889 0 1 0 4 19.0526 20 0 0 1 0.866 8 6 1 0 +890 0 1 0 4.5 19.9186 20 0 0 1 0.866 8 6 1 0 +891 0 1 0 5 19.0526 20 0 0 1 0.866 8 6 1 0 +892 0 1 0 5.5 19.9186 20 0 0 1 0.866 8 6 1 0 +893 0 1 0 6 19.0526 20 0 0 1 0.866 8 6 1 0 +894 0 1 0 6.5 19.9186 20 0 0 1 0.866 8 6 1 0 +895 0 1 0 7 19.0526 20 0 0 1 0.866 8 6 1 0 +896 0 1 0 7.5 19.9186 20 0 0 1 0.866 8 6 1 0 +897 0 1 0 8 19.0526 20 0 0 1 0.866 8 6 1 0 +898 0 1 0 8.5 19.9186 20 0 0 1 0.866 8 6 1 0 +899 0 1 0 9 19.0526 20 0 0 1 0.866 8 6 1 0 +900 0 1 0 9.5 19.9186 20 0 0 1 0.866 8 6 1 0 +901 0 1 0 10 19.0526 20 0 0 1 0.866 8 6 1 0 +902 0 1 0 10.5 19.9186 20 0 0 1 0.866 8 6 1 0 +903 0 1 0 11 19.0526 20 0 0 1 0.866 8 6 1 0 +904 0 1 0 11.5 19.9186 20 0 0 1 0.866 8 6 1 0 +905 0 1 0 12 19.0526 20 0 0 1 0.866 8 6 1 0 +906 0 1 0 12.5 19.9186 20 0 0 1 0.866 8 6 1 0 +907 0 1 0 13 19.0526 20 0 0 1 0.866 8 6 1 0 +908 0 1 0 13.5 19.9186 20 0 0 1 0.866 8 6 1 0 +909 0 1 0 14 19.0526 20 0 0 1 0.866 8 6 1 0 +910 0 1 0 14.5 19.9186 20 0 0 1 0.866 8 6 1 0 +911 0 1 0 15 19.0526 20 0 0 1 0.866 8 6 1 0 +912 0 1 0 15.5 19.9186 20 0 0 1 0.866 8 6 1 0 +913 0 1 0 16 19.0526 20 0 0 1 0.866 8 6 1 0 +914 0 1 0 16.5 19.9186 20 0 0 1 0.866 8 6 1 0 +915 0 1 0 17 19.0526 20 0 0 1 0.866 8 6 1 0 +916 0 1 0 17.5 19.9186 20 0 0 1 0.866 8 6 1 0 +917 0 1 0 18 19.0526 20 0 0 1 0.866 8 6 1 0 +918 0 1 0 18.5 19.9186 20 0 0 1 0.866 8 6 1 0 +919 0 1 0 19 19.0526 20 0 0 1 0.866 8 6 1 0 +920 0 1 0 19.5 19.9186 20 0 0 1 0.866 8 6 1 0 +921 0 1 0 20 19.0526 20 0 0 1 0.866 8 6 1 0 +922 0 1 0 20.5 19.9186 20 0 0 1 0.866 8 6 1 0 +923 0 1 0 21 19.0526 20 0 0 1 0.866 8 6 1 0 +924 0 1 0 21.5 19.9186 20 0 0 1 0.866 8 6 1 0 +925 0 1 0 22 19.0526 20 0 0 1 0.866 8 6 1 0 +926 0 1 0 22.5 19.9186 20 0 0 1 0.866 8 6 1 0 +927 0 1 0 23 19.0526 20 0 0 1 0.866 8 6 1 0 +928 0 1 0 23.5 19.9186 20 0 0 1 0.866 8 6 1 0 +929 0 1 0 24 19.0526 20 0 0 1 0.866 8 6 1 0 +930 0 1 0 24.5 19.9186 20 0 0 1 0.866 8 6 1 0 +931 0 1 0 25 19.0526 20 0 0 1 0.866 8 6 1 0 +932 0 1 0 25.5 19.9186 20 0 0 1 0.866 8 6 1 0 +933 0 1 0 26 19.0526 20 0 0 1 0.866 8 6 1 0 +934 0 1 0 26.5 19.9186 20 0 0 1 0.866 8 6 1 0 +935 0 1 0 27 19.0526 20 0 0 1 0.866 8 6 1 0 +936 0 1 0 27.5 19.9186 20 0 0 1 0.866 8 6 1 0 +937 0 1 0 28 19.0526 20 0 0 1 0.866 8 6 1 0 +938 0 1 0 28.5 19.9186 20 0 0 1 0.866 8 6 1 0 +939 0 1 0 29 19.0526 20 0 0 1 0.866 8 6 1 0 +940 0 1 0 29.5 19.9186 20 0 0 1 0.866 8 6 1 0 +941 0 1 0 30 19.0526 20 0 0 1 0.866 8 6 1 0 +942 0 1 0 30.5 19.9186 20 0 0 1 0.866 8 6 1 0 +943 0 1 0 31 19.0526 20 0 0 1 0.866 8 6 1 0 +944 0 1 0 31.5 19.9186 20 0 0 1 0.866 8 6 1 0 +945 0 1 0 32 19.0526 20 0 0 1 0.866 8 6 1 0 +946 0 1 0 32.5 19.9186 20 0 0 1 0.866 8 6 1 0 +947 0 1 0 33 19.0526 20 0 0 1 0.866 8 6 1 0 +948 0 1 0 33.5 19.9186 20 0 0 1 0.866 8 6 1 0 +949 0 1 0 34 19.0526 20 0 0 1 0.866 8 6 1 0 +950 0 1 0 34.5 19.9186 20 0 0 1 0.866 8 6 1 0 +951 0 1 0 35 19.0526 20 0 0 1 0.866 8 6 1 0 +952 0 1 0 35.5 19.9186 20 0 0 1 0.866 8 6 1 0 +953 0 1 0 36 19.0526 20 0 0 1 0.866 8 6 1 0 +954 0 1 0 36.5 19.9186 20 0 0 1 0.866 8 6 1 0 +955 0 1 0 37 19.0526 20 0 0 1 0.866 8 6 1 0 +956 0 1 0 37.5 19.9186 20 0 0 1 0.866 8 6 1 0 +957 0 1 0 38 19.0526 20 0 0 1 0.866 8 6 1 0 +958 0 1 0 38.5 19.9186 20 0 0 1 0.866 8 6 1 0 +959 0 1 0 39 19.0526 20 0 0 1 0.866 8 6 1 0 +960 0 1 0 39.5 19.9186 20 0 0 1 0.866 8 6 1 0 +961 0 1 0 0 20.7846 20 0 0 1 0.866 8 6 1 0 +962 0 1 0 0.5 21.6506 20 0 0 1 0.866 8 6 1 0 +963 0 1 0 1 20.7846 20 0 0 1 0.866 8 6 1 0 +964 0 1 0 1.5 21.6506 20 0 0 1 0.866 8 6 1 0 +965 0 1 0 2 20.7846 20 0 0 1 0.866 8 6 1 0 +966 0 1 0 2.5 21.6506 20 0 0 1 0.866 8 6 1 0 +967 0 1 0 3 20.7846 20 0 0 1 0.866 8 6 1 0 +968 0 1 0 3.5 21.6506 20 0 0 1 0.866 8 6 1 0 +969 0 1 0 4 20.7846 20 0 0 1 0.866 8 6 1 0 +970 0 1 0 4.5 21.6506 20 0 0 1 0.866 8 6 1 0 +971 0 1 0 5 20.7846 20 0 0 1 0.866 8 6 1 0 +972 0 1 0 5.5 21.6506 20 0 0 1 0.866 8 6 1 0 +973 0 1 0 6 20.7846 20 0 0 1 0.866 8 6 1 0 +974 0 1 0 6.5 21.6506 20 0 0 1 0.866 8 6 1 0 +975 0 1 0 7 20.7846 20 0 0 1 0.866 8 6 1 0 +976 0 1 0 7.5 21.6506 20 0 0 1 0.866 8 6 1 0 +977 0 1 0 8 20.7846 20 0 0 1 0.866 8 6 1 0 +978 0 1 0 8.5 21.6506 20 0 0 1 0.866 8 6 1 0 +979 0 1 0 9 20.7846 20 0 0 1 0.866 8 6 1 0 +980 0 1 0 9.5 21.6506 20 0 0 1 0.866 8 6 1 0 +981 0 1 0 10 20.7846 20 0 0 1 0.866 8 6 1 0 +982 0 1 0 10.5 21.6506 20 0 0 1 0.866 8 6 1 0 +983 0 1 0 11 20.7846 20 0 0 1 0.866 8 6 1 0 +984 0 1 0 11.5 21.6506 20 0 0 1 0.866 8 6 1 0 +985 0 1 0 12 20.7846 20 0 0 1 0.866 8 6 1 0 +986 0 1 0 12.5 21.6506 20 0 0 1 0.866 8 6 1 0 +987 0 1 0 13 20.7846 20 0 0 1 0.866 8 6 1 0 +988 0 1 0 13.5 21.6506 20 0 0 1 0.866 8 6 1 0 +989 0 1 0 14 20.7846 20 0 0 1 0.866 8 6 1 0 +990 0 1 0 14.5 21.6506 20 0 0 1 0.866 8 6 1 0 +991 0 1 0 15 20.7846 20 0 0 1 0.866 8 6 1 0 +992 0 1 0 15.5 21.6506 20 0 0 1 0.866 8 6 1 0 +993 0 1 0 16 20.7846 20 0 0 1 0.866 8 6 1 0 +994 0 1 0 16.5 21.6506 20 0 0 1 0.866 8 6 1 0 +995 0 1 0 17 20.7846 20 0 0 1 0.866 8 6 1 0 +996 0 1 0 17.5 21.6506 20 0 0 1 0.866 8 6 1 0 +997 0 1 0 18 20.7846 20 0 0 1 0.866 8 6 1 0 +998 0 1 0 18.5 21.6506 20 0 0 1 0.866 8 6 1 0 +999 0 1 0 19 20.7846 20 0 0 1 0.866 8 6 1 0 +1000 0 1 0 19.5 21.6506 20 0 0 1 0.866 8 6 1 0 +1001 0 1 0 20 20.7846 20 0 0 1 0.866 8 6 1 0 +1002 0 1 0 20.5 21.6506 20 0 0 1 0.866 8 6 1 0 +1003 0 1 0 21 20.7846 20 0 0 1 0.866 8 6 1 0 +1004 0 1 0 21.5 21.6506 20 0 0 1 0.866 8 6 1 0 +1005 0 1 0 22 20.7846 20 0 0 1 0.866 8 6 1 0 +1006 0 1 0 22.5 21.6506 20 0 0 1 0.866 8 6 1 0 +1007 0 1 0 23 20.7846 20 0 0 1 0.866 8 6 1 0 +1008 0 1 0 23.5 21.6506 20 0 0 1 0.866 8 6 1 0 +1009 0 1 0 24 20.7846 20 0 0 1 0.866 8 6 1 0 +1010 0 1 0 24.5 21.6506 20 0 0 1 0.866 8 6 1 0 +1011 0 1 0 25 20.7846 20 0 0 1 0.866 8 6 1 0 +1012 0 1 0 25.5 21.6506 20 0 0 1 0.866 8 6 1 0 +1013 0 1 0 26 20.7846 20 0 0 1 0.866 8 6 1 0 +1014 0 1 0 26.5 21.6506 20 0 0 1 0.866 8 6 1 0 +1015 0 1 0 27 20.7846 20 0 0 1 0.866 8 6 1 0 +1016 0 1 0 27.5 21.6506 20 0 0 1 0.866 8 6 1 0 +1017 0 1 0 28 20.7846 20 0 0 1 0.866 8 6 1 0 +1018 0 1 0 28.5 21.6506 20 0 0 1 0.866 8 6 1 0 +1019 0 1 0 29 20.7846 20 0 0 1 0.866 8 6 1 0 +1020 0 1 0 29.5 21.6506 20 0 0 1 0.866 8 6 1 0 +1021 0 1 0 30 20.7846 20 0 0 1 0.866 8 6 1 0 +1022 0 1 0 30.5 21.6506 20 0 0 1 0.866 8 6 1 0 +1023 0 1 0 31 20.7846 20 0 0 1 0.866 8 6 1 0 +1024 0 1 0 31.5 21.6506 20 0 0 1 0.866 8 6 1 0 +1025 0 1 0 32 20.7846 20 0 0 1 0.866 8 6 1 0 +1026 0 1 0 32.5 21.6506 20 0 0 1 0.866 8 6 1 0 +1027 0 1 0 33 20.7846 20 0 0 1 0.866 8 6 1 0 +1028 0 1 0 33.5 21.6506 20 0 0 1 0.866 8 6 1 0 +1029 0 1 0 34 20.7846 20 0 0 1 0.866 8 6 1 0 +1030 0 1 0 34.5 21.6506 20 0 0 1 0.866 8 6 1 0 +1031 0 1 0 35 20.7846 20 0 0 1 0.866 8 6 1 0 +1032 0 1 0 35.5 21.6506 20 0 0 1 0.866 8 6 1 0 +1033 0 1 0 36 20.7846 20 0 0 1 0.866 8 6 1 0 +1034 0 1 0 36.5 21.6506 20 0 0 1 0.866 8 6 1 0 +1035 0 1 0 37 20.7846 20 0 0 1 0.866 8 6 1 0 +1036 0 1 0 37.5 21.6506 20 0 0 1 0.866 8 6 1 0 +1037 0 1 0 38 20.7846 20 0 0 1 0.866 8 6 1 0 +1038 0 1 0 38.5 21.6506 20 0 0 1 0.866 8 6 1 0 +1039 0 1 0 39 20.7846 20 0 0 1 0.866 8 6 1 0 +1040 0 1 0 39.5 21.6506 20 0 0 1 0.866 8 6 1 0 +1041 0 1 0 0 22.5167 20 0 0 1 0.866 8 6 1 0 +1042 0 1 0 0.5 23.3827 20 0 0 1 0.866 8 6 1 0 +1043 0 1 0 1 22.5167 20 0 0 1 0.866 8 6 1 0 +1044 0 1 0 1.5 23.3827 20 0 0 1 0.866 8 6 1 0 +1045 0 1 0 2 22.5167 20 0 0 1 0.866 8 6 1 0 +1046 0 1 0 2.5 23.3827 20 0 0 1 0.866 8 6 1 0 +1047 0 1 0 3 22.5167 20 0 0 1 0.866 8 6 1 0 +1048 0 1 0 3.5 23.3827 20 0 0 1 0.866 8 6 1 0 +1049 0 1 0 4 22.5167 20 0 0 1 0.866 8 6 1 0 +1050 0 1 0 4.5 23.3827 20 0 0 1 0.866 8 6 1 0 +1051 0 1 0 5 22.5167 20 0 0 1 0.866 8 6 1 0 +1052 0 1 0 5.5 23.3827 20 0 0 1 0.866 8 6 1 0 +1053 0 1 0 6 22.5167 20 0 0 1 0.866 8 6 1 0 +1054 0 1 0 6.5 23.3827 20 0 0 1 0.866 8 6 1 0 +1055 0 1 0 7 22.5167 20 0 0 1 0.866 8 6 1 0 +1056 0 1 0 7.5 23.3827 20 0 0 1 0.866 8 6 1 0 +1057 0 1 0 8 22.5167 20 0 0 1 0.866 8 6 1 0 +1058 0 1 0 8.5 23.3827 20 0 0 1 0.866 8 6 1 0 +1059 0 1 0 9 22.5167 20 0 0 1 0.866 8 6 1 0 +1060 0 1 0 9.5 23.3827 20 0 0 1 0.866 8 6 1 0 +1061 0 1 0 10 22.5167 20 0 0 1 0.866 8 6 1 0 +1062 0 1 0 10.5 23.3827 20 0 0 1 0.866 8 6 1 0 +1063 0 1 0 11 22.5167 20 0 0 1 0.866 8 6 1 0 +1064 0 1 0 11.5 23.3827 20 0 0 1 0.866 8 6 1 0 +1065 0 1 0 12 22.5167 20 0 0 1 0.866 8 6 1 0 +1066 0 1 0 12.5 23.3827 20 0 0 1 0.866 8 6 1 0 +1067 0 1 0 13 22.5167 20 0 0 1 0.866 8 6 1 0 +1068 0 1 0 13.5 23.3827 20 0 0 1 0.866 8 6 1 0 +1069 0 1 0 14 22.5167 20 0 0 1 0.866 8 6 1 0 +1070 0 1 0 14.5 23.3827 20 0 0 1 0.866 8 6 1 0 +1071 0 1 0 15 22.5167 20 0 0 1 0.866 8 6 1 0 +1072 0 1 0 15.5 23.3827 20 0 0 1 0.866 8 6 1 0 +1073 0 1 0 16 22.5167 20 0 0 1 0.866 8 6 1 0 +1074 0 1 0 16.5 23.3827 20 0 0 1 0.866 8 6 1 0 +1075 0 1 0 17 22.5167 20 0 0 1 0.866 8 6 1 0 +1076 0 1 0 17.5 23.3827 20 0 0 1 0.866 8 6 1 0 +1077 0 1 0 18 22.5167 20 0 0 1 0.866 8 6 1 0 +1078 0 1 0 18.5 23.3827 20 0 0 1 0.866 8 6 1 0 +1079 0 1 0 19 22.5167 20 0 0 1 0.866 8 6 1 0 +1080 0 1 0 19.5 23.3827 20 0 0 1 0.866 8 6 1 0 +1081 0 1 0 20 22.5167 20 0 0 1 0.866 8 6 1 0 +1082 0 1 0 20.5 23.3827 20 0 0 1 0.866 8 6 1 0 +1083 0 1 0 21 22.5167 20 0 0 1 0.866 8 6 1 0 +1084 0 1 0 21.5 23.3827 20 0 0 1 0.866 8 6 1 0 +1085 0 1 0 22 22.5167 20 0 0 1 0.866 8 6 1 0 +1086 0 1 0 22.5 23.3827 20 0 0 1 0.866 8 6 1 0 +1087 0 1 0 23 22.5167 20 0 0 1 0.866 8 6 1 0 +1088 0 1 0 23.5 23.3827 20 0 0 1 0.866 8 6 1 0 +1089 0 1 0 24 22.5167 20 0 0 1 0.866 8 6 1 0 +1090 0 1 0 24.5 23.3827 20 0 0 1 0.866 8 6 1 0 +1091 0 1 0 25 22.5167 20 0 0 1 0.866 8 6 1 0 +1092 0 1 0 25.5 23.3827 20 0 0 1 0.866 8 6 1 0 +1093 0 1 0 26 22.5167 20 0 0 1 0.866 8 6 1 0 +1094 0 1 0 26.5 23.3827 20 0 0 1 0.866 8 6 1 0 +1095 0 1 0 27 22.5167 20 0 0 1 0.866 8 6 1 0 +1096 0 1 0 27.5 23.3827 20 0 0 1 0.866 8 6 1 0 +1097 0 1 0 28 22.5167 20 0 0 1 0.866 8 6 1 0 +1098 0 1 0 28.5 23.3827 20 0 0 1 0.866 8 6 1 0 +1099 0 1 0 29 22.5167 20 0 0 1 0.866 8 6 1 0 +1100 0 1 0 29.5 23.3827 20 0 0 1 0.866 8 6 1 0 +1101 0 1 0 30 22.5167 20 0 0 1 0.866 8 6 1 0 +1102 0 1 0 30.5 23.3827 20 0 0 1 0.866 8 6 1 0 +1103 0 1 0 31 22.5167 20 0 0 1 0.866 8 6 1 0 +1104 0 1 0 31.5 23.3827 20 0 0 1 0.866 8 6 1 0 +1105 0 1 0 32 22.5167 20 0 0 1 0.866 8 6 1 0 +1106 0 1 0 32.5 23.3827 20 0 0 1 0.866 8 6 1 0 +1107 0 1 0 33 22.5167 20 0 0 1 0.866 8 6 1 0 +1108 0 1 0 33.5 23.3827 20 0 0 1 0.866 8 6 1 0 +1109 0 1 0 34 22.5167 20 0 0 1 0.866 8 6 1 0 +1110 0 1 0 34.5 23.3827 20 0 0 1 0.866 8 6 1 0 +1111 0 1 0 35 22.5167 20 0 0 1 0.866 8 6 1 0 +1112 0 1 0 35.5 23.3827 20 0 0 1 0.866 8 6 1 0 +1113 0 1 0 36 22.5167 20 0 0 1 0.866 8 6 1 0 +1114 0 1 0 36.5 23.3827 20 0 0 1 0.866 8 6 1 0 +1115 0 1 0 37 22.5167 20 0 0 1 0.866 8 6 1 0 +1116 0 1 0 37.5 23.3827 20 0 0 1 0.866 8 6 1 0 +1117 0 1 0 38 22.5167 20 0 0 1 0.866 8 6 1 0 +1118 0 1 0 38.5 23.3827 20 0 0 1 0.866 8 6 1 0 +1119 0 1 0 39 22.5167 20 0 0 1 0.866 8 6 1 0 +1120 0 1 0 39.5 23.3827 20 0 0 1 0.866 8 6 1 0 +1121 0 1 0 0 24.2487 20 0 0 1 0.866 8 6 1 0 +1122 0 1 0 0.5 25.1147 20 0 0 1 0.866 8 6 1 0 +1123 0 1 0 1 24.2487 20 0 0 1 0.866 8 6 1 0 +1124 0 1 0 1.5 25.1147 20 0 0 1 0.866 8 6 1 0 +1125 0 1 0 2 24.2487 20 0 0 1 0.866 8 6 1 0 +1126 0 1 0 2.5 25.1147 20 0 0 1 0.866 8 6 1 0 +1127 0 1 0 3 24.2487 20 0 0 1 0.866 8 6 1 0 +1128 0 1 0 3.5 25.1147 20 0 0 1 0.866 8 6 1 0 +1129 0 1 0 4 24.2487 20 0 0 1 0.866 8 6 1 0 +1130 0 1 0 4.5 25.1147 20 0 0 1 0.866 8 6 1 0 +1131 0 1 0 5 24.2487 20 0 0 1 0.866 8 6 1 0 +1132 0 1 0 5.5 25.1147 20 0 0 1 0.866 8 6 1 0 +1133 0 1 0 6 24.2487 20 0 0 1 0.866 8 6 1 0 +1134 0 1 0 6.5 25.1147 20 0 0 1 0.866 8 6 1 0 +1135 0 1 0 7 24.2487 20 0 0 1 0.866 8 6 1 0 +1136 0 1 0 7.5 25.1147 20 0 0 1 0.866 8 6 1 0 +1137 0 1 0 8 24.2487 20 0 0 1 0.866 8 6 1 0 +1138 0 1 0 8.5 25.1147 20 0 0 1 0.866 8 6 1 0 +1139 0 1 0 9 24.2487 20 0 0 1 0.866 8 6 1 0 +1140 0 1 0 9.5 25.1147 20 0 0 1 0.866 8 6 1 0 +1141 0 1 0 10 24.2487 20 0 0 1 0.866 8 6 1 0 +1142 0 1 0 10.5 25.1147 20 0 0 1 0.866 8 6 1 0 +1143 0 1 0 11 24.2487 20 0 0 1 0.866 8 6 1 0 +1144 0 1 0 11.5 25.1147 20 0 0 1 0.866 8 6 1 0 +1145 0 1 0 12 24.2487 20 0 0 1 0.866 8 6 1 0 +1146 0 1 0 12.5 25.1147 20 0 0 1 0.866 8 6 1 0 +1147 0 1 0 13 24.2487 20 0 0 1 0.866 8 6 1 0 +1148 0 1 0 13.5 25.1147 20 0 0 1 0.866 8 6 1 0 +1149 0 1 0 14 24.2487 20 0 0 1 0.866 8 6 1 0 +1150 0 1 0 14.5 25.1147 20 0 0 1 0.866 8 6 1 0 +1151 0 1 0 15 24.2487 20 0 0 1 0.866 8 6 1 0 +1152 0 1 0 15.5 25.1147 20 0 0 1 0.866 8 6 1 0 +1153 0 1 0 16 24.2487 20 0 0 1 0.866 8 6 1 0 +1154 0 1 0 16.5 25.1147 20 0 0 1 0.866 8 6 1 0 +1155 0 1 0 17 24.2487 20 0 0 1 0.866 8 6 1 0 +1156 0 1 0 17.5 25.1147 20 0 0 1 0.866 8 6 1 0 +1157 0 1 0 18 24.2487 20 0 0 1 0.866 8 6 1 0 +1158 0 1 0 18.5 25.1147 20 0 0 1 0.866 8 6 1 0 +1159 0 1 0 19 24.2487 20 0 0 1 0.866 8 6 1 0 +1160 0 1 0 19.5 25.1147 20 0 0 1 0.866 8 6 1 0 +1161 0 1 0 20 24.2487 20 0 0 1 0.866 8 6 1 0 +1162 0 1 0 20.5 25.1147 20 0 0 1 0.866 8 6 1 0 +1163 0 1 0 21 24.2487 20 0 0 1 0.866 8 6 1 0 +1164 0 1 0 21.5 25.1147 20 0 0 1 0.866 8 6 1 0 +1165 0 1 0 22 24.2487 20 0 0 1 0.866 8 6 1 0 +1166 0 1 0 22.5 25.1147 20 0 0 1 0.866 8 6 1 0 +1167 0 1 0 23 24.2487 20 0 0 1 0.866 8 6 1 0 +1168 0 1 0 23.5 25.1147 20 0 0 1 0.866 8 6 1 0 +1169 0 1 0 24 24.2487 20 0 0 1 0.866 8 6 1 0 +1170 0 1 0 24.5 25.1147 20 0 0 1 0.866 8 6 1 0 +1171 0 1 0 25 24.2487 20 0 0 1 0.866 8 6 1 0 +1172 0 1 0 25.5 25.1147 20 0 0 1 0.866 8 6 1 0 +1173 0 1 0 26 24.2487 20 0 0 1 0.866 8 6 1 0 +1174 0 1 0 26.5 25.1147 20 0 0 1 0.866 8 6 1 0 +1175 0 1 0 27 24.2487 20 0 0 1 0.866 8 6 1 0 +1176 0 1 0 27.5 25.1147 20 0 0 1 0.866 8 6 1 0 +1177 0 1 0 28 24.2487 20 0 0 1 0.866 8 6 1 0 +1178 0 1 0 28.5 25.1147 20 0 0 1 0.866 8 6 1 0 +1179 0 1 0 29 24.2487 20 0 0 1 0.866 8 6 1 0 +1180 0 1 0 29.5 25.1147 20 0 0 1 0.866 8 6 1 0 +1181 0 1 0 30 24.2487 20 0 0 1 0.866 8 6 1 0 +1182 0 1 0 30.5 25.1147 20 0 0 1 0.866 8 6 1 0 +1183 0 1 0 31 24.2487 20 0 0 1 0.866 8 6 1 0 +1184 0 1 0 31.5 25.1147 20 0 0 1 0.866 8 6 1 0 +1185 0 1 0 32 24.2487 20 0 0 1 0.866 8 6 1 0 +1186 0 1 0 32.5 25.1147 20 0 0 1 0.866 8 6 1 0 +1187 0 1 0 33 24.2487 20 0 0 1 0.866 8 6 1 0 +1188 0 1 0 33.5 25.1147 20 0 0 1 0.866 8 6 1 0 +1189 0 1 0 34 24.2487 20 0 0 1 0.866 8 6 1 0 +1190 0 1 0 34.5 25.1147 20 0 0 1 0.866 8 6 1 0 +1191 0 1 0 35 24.2487 20 0 0 1 0.866 8 6 1 0 +1192 0 1 0 35.5 25.1147 20 0 0 1 0.866 8 6 1 0 +1193 0 1 0 36 24.2487 20 0 0 1 0.866 8 6 1 0 +1194 0 1 0 36.5 25.1147 20 0 0 1 0.866 8 6 1 0 +1195 0 1 0 37 24.2487 20 0 0 1 0.866 8 6 1 0 +1196 0 1 0 37.5 25.1147 20 0 0 1 0.866 8 6 1 0 +1197 0 1 0 38 24.2487 20 0 0 1 0.866 8 6 1 0 +1198 0 1 0 38.5 25.1147 20 0 0 1 0.866 8 6 1 0 +1199 0 1 0 39 24.2487 20 0 0 1 0.866 8 6 1 0 +1200 0 1 0 39.5 25.1147 20 0 0 1 0.866 8 6 1 0 +1201 0 1 0 0 25.9808 20 0 0 1 0.866 8 6 1 0 +1202 0 1 0 0.5 26.8468 20 0 0 1 0.866 8 6 1 0 +1203 0 1 0 1 25.9808 20 0 0 1 0.866 8 6 1 0 +1204 0 1 0 1.5 26.8468 20 0 0 1 0.866 8 6 1 0 +1205 0 1 0 2 25.9808 20 0 0 1 0.866 8 6 1 0 +1206 0 1 0 2.5 26.8468 20 0 0 1 0.866 8 6 1 0 +1207 0 1 0 3 25.9808 20 0 0 1 0.866 8 6 1 0 +1208 0 1 0 3.5 26.8468 20 0 0 1 0.866 8 6 1 0 +1209 0 1 0 4 25.9808 20 0 0 1 0.866 8 6 1 0 +1210 0 1 0 4.5 26.8468 20 0 0 1 0.866 8 6 1 0 +1211 0 1 0 5 25.9808 20 0 0 1 0.866 8 6 1 0 +1212 0 1 0 5.5 26.8468 20 0 0 1 0.866 8 6 1 0 +1213 0 1 0 6 25.9808 20 0 0 1 0.866 8 6 1 0 +1214 0 1 0 6.5 26.8468 20 0 0 1 0.866 8 6 1 0 +1215 0 1 0 7 25.9808 20 0 0 1 0.866 8 6 1 0 +1216 0 1 0 7.5 26.8468 20 0 0 1 0.866 8 6 1 0 +1217 0 1 0 8 25.9808 20 0 0 1 0.866 8 6 1 0 +1218 0 1 0 8.5 26.8468 20 0 0 1 0.866 8 6 1 0 +1219 0 1 0 9 25.9808 20 0 0 1 0.866 8 6 1 0 +1220 0 1 0 9.5 26.8468 20 0 0 1 0.866 8 6 1 0 +1221 0 1 0 10 25.9808 20 0 0 1 0.866 8 6 1 0 +1222 0 1 0 10.5 26.8468 20 0 0 1 0.866 8 6 1 0 +1223 0 1 0 11 25.9808 20 0 0 1 0.866 8 6 1 0 +1224 0 1 0 11.5 26.8468 20 0 0 1 0.866 8 6 1 0 +1225 0 1 0 12 25.9808 20 0 0 1 0.866 8 6 1 0 +1226 0 1 0 12.5 26.8468 20 0 0 1 0.866 8 6 1 0 +1227 0 1 0 13 25.9808 20 0 0 1 0.866 8 6 1 0 +1228 0 1 0 13.5 26.8468 20 0 0 1 0.866 8 6 1 0 +1229 0 1 0 14 25.9808 20 0 0 1 0.866 8 6 1 0 +1230 0 1 0 14.5 26.8468 20 0 0 1 0.866 8 6 1 0 +1231 0 1 0 15 25.9808 20 0 0 1 0.866 8 6 1 0 +1232 0 1 0 15.5 26.8468 20 0 0 1 0.866 8 6 1 0 +1233 0 1 0 16 25.9808 20 0 0 1 0.866 8 6 1 0 +1234 0 1 0 16.5 26.8468 20 0 0 1 0.866 8 6 1 0 +1235 0 1 0 17 25.9808 20 0 0 1 0.866 8 6 1 0 +1236 0 1 0 17.5 26.8468 20 0 0 1 0.866 8 6 1 0 +1237 0 1 0 18 25.9808 20 0 0 1 0.866 8 6 1 0 +1238 0 1 0 18.5 26.8468 20 0 0 1 0.866 8 6 1 0 +1239 0 1 0 19 25.9808 20 0 0 1 0.866 8 6 1 0 +1240 0 1 0 19.5 26.8468 20 0 0 1 0.866 8 6 1 0 +1241 0 1 0 20 25.9808 20 0 0 1 0.866 8 6 1 0 +1242 0 1 0 20.5 26.8468 20 0 0 1 0.866 8 6 1 0 +1243 0 1 0 21 25.9808 20 0 0 1 0.866 8 6 1 0 +1244 0 1 0 21.5 26.8468 20 0 0 1 0.866 8 6 1 0 +1245 0 1 0 22 25.9808 20 0 0 1 0.866 8 6 1 0 +1246 0 1 0 22.5 26.8468 20 0 0 1 0.866 8 6 1 0 +1247 0 1 0 23 25.9808 20 0 0 1 0.866 8 6 1 0 +1248 0 1 0 23.5 26.8468 20 0 0 1 0.866 8 6 1 0 +1249 0 1 0 24 25.9808 20 0 0 1 0.866 8 6 1 0 +1250 0 1 0 24.5 26.8468 20 0 0 1 0.866 8 6 1 0 +1251 0 1 0 25 25.9808 20 0 0 1 0.866 8 6 1 0 +1252 0 1 0 25.5 26.8468 20 0 0 1 0.866 8 6 1 0 +1253 0 1 0 26 25.9808 20 0 0 1 0.866 8 6 1 0 +1254 0 1 0 26.5 26.8468 20 0 0 1 0.866 8 6 1 0 +1255 0 1 0 27 25.9808 20 0 0 1 0.866 8 6 1 0 +1256 0 1 0 27.5 26.8468 20 0 0 1 0.866 8 6 1 0 +1257 0 1 0 28 25.9808 20 0 0 1 0.866 8 6 1 0 +1258 0 1 0 28.5 26.8468 20 0 0 1 0.866 8 6 1 0 +1259 0 1 0 29 25.9808 20 0 0 1 0.866 8 6 1 0 +1260 0 1 0 29.5 26.8468 20 0 0 1 0.866 8 6 1 0 +1261 0 1 0 30 25.9808 20 0 0 1 0.866 8 6 1 0 +1262 0 1 0 30.5 26.8468 20 0 0 1 0.866 8 6 1 0 +1263 0 1 0 31 25.9808 20 0 0 1 0.866 8 6 1 0 +1264 0 1 0 31.5 26.8468 20 0 0 1 0.866 8 6 1 0 +1265 0 1 0 32 25.9808 20 0 0 1 0.866 8 6 1 0 +1266 0 1 0 32.5 26.8468 20 0 0 1 0.866 8 6 1 0 +1267 0 1 0 33 25.9808 20 0 0 1 0.866 8 6 1 0 +1268 0 1 0 33.5 26.8468 20 0 0 1 0.866 8 6 1 0 +1269 0 1 0 34 25.9808 20 0 0 1 0.866 8 6 1 0 +1270 0 1 0 34.5 26.8468 20 0 0 1 0.866 8 6 1 0 +1271 0 1 0 35 25.9808 20 0 0 1 0.866 8 6 1 0 +1272 0 1 0 35.5 26.8468 20 0 0 1 0.866 8 6 1 0 +1273 0 1 0 36 25.9808 20 0 0 1 0.866 8 6 1 0 +1274 0 1 0 36.5 26.8468 20 0 0 1 0.866 8 6 1 0 +1275 0 1 0 37 25.9808 20 0 0 1 0.866 8 6 1 0 +1276 0 1 0 37.5 26.8468 20 0 0 1 0.866 8 6 1 0 +1277 0 1 0 38 25.9808 20 0 0 1 0.866 8 6 1 0 +1278 0 1 0 38.5 26.8468 20 0 0 1 0.866 8 6 1 0 +1279 0 1 0 39 25.9808 20 0 0 1 0.866 8 6 1 0 +1280 0 1 0 39.5 26.8468 20 0 0 1 0.866 8 6 1 0 +1281 0 1 0 0 27.7128 20 0 0 1 0.866 8 6 1 0 +1282 0 1 0 0.5 28.5788 20 0 0 1 0.866 8 6 1 0 +1283 0 1 0 1 27.7128 20 0 0 1 0.866 8 6 1 0 +1284 0 1 0 1.5 28.5788 20 0 0 1 0.866 8 6 1 0 +1285 0 1 0 2 27.7128 20 0 0 1 0.866 8 6 1 0 +1286 0 1 0 2.5 28.5788 20 0 0 1 0.866 8 6 1 0 +1287 0 1 0 3 27.7128 20 0 0 1 0.866 8 6 1 0 +1288 0 1 0 3.5 28.5788 20 0 0 1 0.866 8 6 1 0 +1289 0 1 0 4 27.7128 20 0 0 1 0.866 8 6 1 0 +1290 0 1 0 4.5 28.5788 20 0 0 1 0.866 8 6 1 0 +1291 0 1 0 5 27.7128 20 0 0 1 0.866 8 6 1 0 +1292 0 1 0 5.5 28.5788 20 0 0 1 0.866 8 6 1 0 +1293 0 1 0 6 27.7128 20 0 0 1 0.866 8 6 1 0 +1294 0 1 0 6.5 28.5788 20 0 0 1 0.866 8 6 1 0 +1295 0 1 0 7 27.7128 20 0 0 1 0.866 8 6 1 0 +1296 0 1 0 7.5 28.5788 20 0 0 1 0.866 8 6 1 0 +1297 0 1 0 8 27.7128 20 0 0 1 0.866 8 6 1 0 +1298 0 1 0 8.5 28.5788 20 0 0 1 0.866 8 6 1 0 +1299 0 1 0 9 27.7128 20 0 0 1 0.866 8 6 1 0 +1300 0 1 0 9.5 28.5788 20 0 0 1 0.866 8 6 1 0 +1301 0 1 0 10 27.7128 20 0 0 1 0.866 8 6 1 0 +1302 0 1 0 10.5 28.5788 20 0 0 1 0.866 8 6 1 0 +1303 0 1 0 11 27.7128 20 0 0 1 0.866 8 6 1 0 +1304 0 1 0 11.5 28.5788 20 0 0 1 0.866 8 6 1 0 +1305 0 1 0 12 27.7128 20 0 0 1 0.866 8 6 1 0 +1306 0 1 0 12.5 28.5788 20 0 0 1 0.866 8 6 1 0 +1307 0 1 0 13 27.7128 20 0 0 1 0.866 8 6 1 0 +1308 0 1 0 13.5 28.5788 20 0 0 1 0.866 8 6 1 0 +1309 0 1 0 14 27.7128 20 0 0 1 0.866 8 6 1 0 +1310 0 1 0 14.5 28.5788 20 0 0 1 0.866 8 6 1 0 +1311 0 1 0 15 27.7128 20 0 0 1 0.866 8 6 1 0 +1312 0 1 0 15.5 28.5788 20 0 0 1 0.866 8 6 1 0 +1313 0 1 0 16 27.7128 20 0 0 1 0.866 8 6 1 0 +1314 0 1 0 16.5 28.5788 20 0 0 1 0.866 8 6 1 0 +1315 0 1 0 17 27.7128 20 0 0 1 0.866 8 6 1 0 +1316 0 1 0 17.5 28.5788 20 0 0 1 0.866 8 6 1 0 +1317 0 1 0 18 27.7128 20 0 0 1 0.866 8 6 1 0 +1318 0 1 0 18.5 28.5788 20 0 0 1 0.866 8 6 1 0 +1319 0 1 0 19 27.7128 20 0 0 1 0.866 8 6 1 0 +1320 0 1 0 19.5 28.5788 20 0 0 1 0.866 8 6 1 0 +1321 0 1 0 20 27.7128 20 0 0 1 0.866 8 6 1 0 +1322 0 1 0 20.5 28.5788 20 0 0 1 0.866 8 6 1 0 +1323 0 1 0 21 27.7128 20 0 0 1 0.866 8 6 1 0 +1324 0 1 0 21.5 28.5788 20 0 0 1 0.866 8 6 1 0 +1325 0 1 0 22 27.7128 20 0 0 1 0.866 8 6 1 0 +1326 0 1 0 22.5 28.5788 20 0 0 1 0.866 8 6 1 0 +1327 0 1 0 23 27.7128 20 0 0 1 0.866 8 6 1 0 +1328 0 1 0 23.5 28.5788 20 0 0 1 0.866 8 6 1 0 +1329 0 1 0 24 27.7128 20 0 0 1 0.866 8 6 1 0 +1330 0 1 0 24.5 28.5788 20 0 0 1 0.866 8 6 1 0 +1331 0 1 0 25 27.7128 20 0 0 1 0.866 8 6 1 0 +1332 0 1 0 25.5 28.5788 20 0 0 1 0.866 8 6 1 0 +1333 0 1 0 26 27.7128 20 0 0 1 0.866 8 6 1 0 +1334 0 1 0 26.5 28.5788 20 0 0 1 0.866 8 6 1 0 +1335 0 1 0 27 27.7128 20 0 0 1 0.866 8 6 1 0 +1336 0 1 0 27.5 28.5788 20 0 0 1 0.866 8 6 1 0 +1337 0 1 0 28 27.7128 20 0 0 1 0.866 8 6 1 0 +1338 0 1 0 28.5 28.5788 20 0 0 1 0.866 8 6 1 0 +1339 0 1 0 29 27.7128 20 0 0 1 0.866 8 6 1 0 +1340 0 1 0 29.5 28.5788 20 0 0 1 0.866 8 6 1 0 +1341 0 1 0 30 27.7128 20 0 0 1 0.866 8 6 1 0 +1342 0 1 0 30.5 28.5788 20 0 0 1 0.866 8 6 1 0 +1343 0 1 0 31 27.7128 20 0 0 1 0.866 8 6 1 0 +1344 0 1 0 31.5 28.5788 20 0 0 1 0.866 8 6 1 0 +1345 0 1 0 32 27.7128 20 0 0 1 0.866 8 6 1 0 +1346 0 1 0 32.5 28.5788 20 0 0 1 0.866 8 6 1 0 +1347 0 1 0 33 27.7128 20 0 0 1 0.866 8 6 1 0 +1348 0 1 0 33.5 28.5788 20 0 0 1 0.866 8 6 1 0 +1349 0 1 0 34 27.7128 20 0 0 1 0.866 8 6 1 0 +1350 0 1 0 34.5 28.5788 20 0 0 1 0.866 8 6 1 0 +1351 0 1 0 35 27.7128 20 0 0 1 0.866 8 6 1 0 +1352 0 1 0 35.5 28.5788 20 0 0 1 0.866 8 6 1 0 +1353 0 1 0 36 27.7128 20 0 0 1 0.866 8 6 1 0 +1354 0 1 0 36.5 28.5788 20 0 0 1 0.866 8 6 1 0 +1355 0 1 0 37 27.7128 20 0 0 1 0.866 8 6 1 0 +1356 0 1 0 37.5 28.5788 20 0 0 1 0.866 8 6 1 0 +1357 0 1 0 38 27.7128 20 0 0 1 0.866 8 6 1 0 +1358 0 1 0 38.5 28.5788 20 0 0 1 0.866 8 6 1 0 +1359 0 1 0 39 27.7128 20 0 0 1 0.866 8 6 1 0 +1360 0 1 0 39.5 28.5788 20 0 0 1 0.866 8 6 1 0 +1361 0 1 0 0 29.4449 20 0 0 1 0.866 8 6 1 0 +1362 0 1 0 0.5 30.3109 20 0 0 1 0.866 8 6 1 0 +1363 0 1 0 1 29.4449 20 0 0 1 0.866 8 6 1 0 +1364 0 1 0 1.5 30.3109 20 0 0 1 0.866 8 6 1 0 +1365 0 1 0 2 29.4449 20 0 0 1 0.866 8 6 1 0 +1366 0 1 0 2.5 30.3109 20 0 0 1 0.866 8 6 1 0 +1367 0 1 0 3 29.4449 20 0 0 1 0.866 8 6 1 0 +1368 0 1 0 3.5 30.3109 20 0 0 1 0.866 8 6 1 0 +1369 0 1 0 4 29.4449 20 0 0 1 0.866 8 6 1 0 +1370 0 1 0 4.5 30.3109 20 0 0 1 0.866 8 6 1 0 +1371 0 1 0 5 29.4449 20 0 0 1 0.866 8 6 1 0 +1372 0 1 0 5.5 30.3109 20 0 0 1 0.866 8 6 1 0 +1373 0 1 0 6 29.4449 20 0 0 1 0.866 8 6 1 0 +1374 0 1 0 6.5 30.3109 20 0 0 1 0.866 8 6 1 0 +1375 0 1 0 7 29.4449 20 0 0 1 0.866 8 6 1 0 +1376 0 1 0 7.5 30.3109 20 0 0 1 0.866 8 6 1 0 +1377 0 1 0 8 29.4449 20 0 0 1 0.866 8 6 1 0 +1378 0 1 0 8.5 30.3109 20 0 0 1 0.866 8 6 1 0 +1379 0 1 0 9 29.4449 20 0 0 1 0.866 8 6 1 0 +1380 0 1 0 9.5 30.3109 20 0 0 1 0.866 8 6 1 0 +1381 0 1 0 10 29.4449 20 0 0 1 0.866 8 6 1 0 +1382 0 1 0 10.5 30.3109 20 0 0 1 0.866 8 6 1 0 +1383 0 1 0 11 29.4449 20 0 0 1 0.866 8 6 1 0 +1384 0 1 0 11.5 30.3109 20 0 0 1 0.866 8 6 1 0 +1385 0 1 0 12 29.4449 20 0 0 1 0.866 8 6 1 0 +1386 0 1 0 12.5 30.3109 20 0 0 1 0.866 8 6 1 0 +1387 0 1 0 13 29.4449 20 0 0 1 0.866 8 6 1 0 +1388 0 1 0 13.5 30.3109 20 0 0 1 0.866 8 6 1 0 +1389 0 1 0 14 29.4449 20 0 0 1 0.866 8 6 1 0 +1390 0 1 0 14.5 30.3109 20 0 0 1 0.866 8 6 1 0 +1391 0 1 0 15 29.4449 20 0 0 1 0.866 8 6 1 0 +1392 0 1 0 15.5 30.3109 20 0 0 1 0.866 8 6 1 0 +1393 0 1 0 16 29.4449 20 0 0 1 0.866 8 6 1 0 +1394 0 1 0 16.5 30.3109 20 0 0 1 0.866 8 6 1 0 +1395 0 1 0 17 29.4449 20 0 0 1 0.866 8 6 1 0 +1396 0 1 0 17.5 30.3109 20 0 0 1 0.866 8 6 1 0 +1397 0 1 0 18 29.4449 20 0 0 1 0.866 8 6 1 0 +1398 0 1 0 18.5 30.3109 20 0 0 1 0.866 8 6 1 0 +1399 0 1 0 19 29.4449 20 0 0 1 0.866 8 6 1 0 +1400 0 1 0 19.5 30.3109 20 0 0 1 0.866 8 6 1 0 +1401 0 1 0 20 29.4449 20 0 0 1 0.866 8 6 1 0 +1402 0 1 0 20.5 30.3109 20 0 0 1 0.866 8 6 1 0 +1403 0 1 0 21 29.4449 20 0 0 1 0.866 8 6 1 0 +1404 0 1 0 21.5 30.3109 20 0 0 1 0.866 8 6 1 0 +1405 0 1 0 22 29.4449 20 0 0 1 0.866 8 6 1 0 +1406 0 1 0 22.5 30.3109 20 0 0 1 0.866 8 6 1 0 +1407 0 1 0 23 29.4449 20 0 0 1 0.866 8 6 1 0 +1408 0 1 0 23.5 30.3109 20 0 0 1 0.866 8 6 1 0 +1409 0 1 0 24 29.4449 20 0 0 1 0.866 8 6 1 0 +1410 0 1 0 24.5 30.3109 20 0 0 1 0.866 8 6 1 0 +1411 0 1 0 25 29.4449 20 0 0 1 0.866 8 6 1 0 +1412 0 1 0 25.5 30.3109 20 0 0 1 0.866 8 6 1 0 +1413 0 1 0 26 29.4449 20 0 0 1 0.866 8 6 1 0 +1414 0 1 0 26.5 30.3109 20 0 0 1 0.866 8 6 1 0 +1415 0 1 0 27 29.4449 20 0 0 1 0.866 8 6 1 0 +1416 0 1 0 27.5 30.3109 20 0 0 1 0.866 8 6 1 0 +1417 0 1 0 28 29.4449 20 0 0 1 0.866 8 6 1 0 +1418 0 1 0 28.5 30.3109 20 0 0 1 0.866 8 6 1 0 +1419 0 1 0 29 29.4449 20 0 0 1 0.866 8 6 1 0 +1420 0 1 0 29.5 30.3109 20 0 0 1 0.866 8 6 1 0 +1421 0 1 0 30 29.4449 20 0 0 1 0.866 8 6 1 0 +1422 0 1 0 30.5 30.3109 20 0 0 1 0.866 8 6 1 0 +1423 0 1 0 31 29.4449 20 0 0 1 0.866 8 6 1 0 +1424 0 1 0 31.5 30.3109 20 0 0 1 0.866 8 6 1 0 +1425 0 1 0 32 29.4449 20 0 0 1 0.866 8 6 1 0 +1426 0 1 0 32.5 30.3109 20 0 0 1 0.866 8 6 1 0 +1427 0 1 0 33 29.4449 20 0 0 1 0.866 8 6 1 0 +1428 0 1 0 33.5 30.3109 20 0 0 1 0.866 8 6 1 0 +1429 0 1 0 34 29.4449 20 0 0 1 0.866 8 6 1 0 +1430 0 1 0 34.5 30.3109 20 0 0 1 0.866 8 6 1 0 +1431 0 1 0 35 29.4449 20 0 0 1 0.866 8 6 1 0 +1432 0 1 0 35.5 30.3109 20 0 0 1 0.866 8 6 1 0 +1433 0 1 0 36 29.4449 20 0 0 1 0.866 8 6 1 0 +1434 0 1 0 36.5 30.3109 20 0 0 1 0.866 8 6 1 0 +1435 0 1 0 37 29.4449 20 0 0 1 0.866 8 6 1 0 +1436 0 1 0 37.5 30.3109 20 0 0 1 0.866 8 6 1 0 +1437 0 1 0 38 29.4449 20 0 0 1 0.866 8 6 1 0 +1438 0 1 0 38.5 30.3109 20 0 0 1 0.866 8 6 1 0 +1439 0 1 0 39 29.4449 20 0 0 1 0.866 8 6 1 0 +1440 0 1 0 39.5 30.3109 20 0 0 1 0.866 8 6 1 0 +1441 0 1 0 0 31.1769 20 0 0 1 0.866 8 6 1 0 +1442 0 1 0 0.5 32.0429 20 0 0 1 0.866 8 6 1 0 +1443 0 1 0 1 31.1769 20 0 0 1 0.866 8 6 1 0 +1444 0 1 0 1.5 32.0429 20 0 0 1 0.866 8 6 1 0 +1445 0 1 0 2 31.1769 20 0 0 1 0.866 8 6 1 0 +1446 0 1 0 2.5 32.0429 20 0 0 1 0.866 8 6 1 0 +1447 0 1 0 3 31.1769 20 0 0 1 0.866 8 6 1 0 +1448 0 1 0 3.5 32.0429 20 0 0 1 0.866 8 6 1 0 +1449 0 1 0 4 31.1769 20 0 0 1 0.866 8 6 1 0 +1450 0 1 0 4.5 32.0429 20 0 0 1 0.866 8 6 1 0 +1451 0 1 0 5 31.1769 20 0 0 1 0.866 8 6 1 0 +1452 0 1 0 5.5 32.0429 20 0 0 1 0.866 8 6 1 0 +1453 0 1 0 6 31.1769 20 0 0 1 0.866 8 6 1 0 +1454 0 1 0 6.5 32.0429 20 0 0 1 0.866 8 6 1 0 +1455 0 1 0 7 31.1769 20 0 0 1 0.866 8 6 1 0 +1456 0 1 0 7.5 32.0429 20 0 0 1 0.866 8 6 1 0 +1457 0 1 0 8 31.1769 20 0 0 1 0.866 8 6 1 0 +1458 0 1 0 8.5 32.0429 20 0 0 1 0.866 8 6 1 0 +1459 0 1 0 9 31.1769 20 0 0 1 0.866 8 6 1 0 +1460 0 1 0 9.5 32.0429 20 0 0 1 0.866 8 6 1 0 +1461 0 1 0 10 31.1769 20 0 0 1 0.866 8 6 1 0 +1462 0 1 0 10.5 32.0429 20 0 0 1 0.866 8 6 1 0 +1463 0 1 0 11 31.1769 20 0 0 1 0.866 8 6 1 0 +1464 0 1 0 11.5 32.0429 20 0 0 1 0.866 8 6 1 0 +1465 0 1 0 12 31.1769 20 0 0 1 0.866 8 6 1 0 +1466 0 1 0 12.5 32.0429 20 0 0 1 0.866 8 6 1 0 +1467 0 1 0 13 31.1769 20 0 0 1 0.866 8 6 1 0 +1468 0 1 0 13.5 32.0429 20 0 0 1 0.866 8 6 1 0 +1469 0 1 0 14 31.1769 20 0 0 1 0.866 8 6 1 0 +1470 0 1 0 14.5 32.0429 20 0 0 1 0.866 8 6 1 0 +1471 0 1 0 15 31.1769 20 0 0 1 0.866 8 6 1 0 +1472 0 1 0 15.5 32.0429 20 0 0 1 0.866 8 6 1 0 +1473 0 1 0 16 31.1769 20 0 0 1 0.866 8 6 1 0 +1474 0 1 0 16.5 32.0429 20 0 0 1 0.866 8 6 1 0 +1475 0 1 0 17 31.1769 20 0 0 1 0.866 8 6 1 0 +1476 0 1 0 17.5 32.0429 20 0 0 1 0.866 8 6 1 0 +1477 0 1 0 18 31.1769 20 0 0 1 0.866 8 6 1 0 +1478 0 1 0 18.5 32.0429 20 0 0 1 0.866 8 6 1 0 +1479 0 1 0 19 31.1769 20 0 0 1 0.866 8 6 1 0 +1480 0 1 0 19.5 32.0429 20 0 0 1 0.866 8 6 1 0 +1481 0 1 0 20 31.1769 20 0 0 1 0.866 8 6 1 0 +1482 0 1 0 20.5 32.0429 20 0 0 1 0.866 8 6 1 0 +1483 0 1 0 21 31.1769 20 0 0 1 0.866 8 6 1 0 +1484 0 1 0 21.5 32.0429 20 0 0 1 0.866 8 6 1 0 +1485 0 1 0 22 31.1769 20 0 0 1 0.866 8 6 1 0 +1486 0 1 0 22.5 32.0429 20 0 0 1 0.866 8 6 1 0 +1487 0 1 0 23 31.1769 20 0 0 1 0.866 8 6 1 0 +1488 0 1 0 23.5 32.0429 20 0 0 1 0.866 8 6 1 0 +1489 0 1 0 24 31.1769 20 0 0 1 0.866 8 6 1 0 +1490 0 1 0 24.5 32.0429 20 0 0 1 0.866 8 6 1 0 +1491 0 1 0 25 31.1769 20 0 0 1 0.866 8 6 1 0 +1492 0 1 0 25.5 32.0429 20 0 0 1 0.866 8 6 1 0 +1493 0 1 0 26 31.1769 20 0 0 1 0.866 8 6 1 0 +1494 0 1 0 26.5 32.0429 20 0 0 1 0.866 8 6 1 0 +1495 0 1 0 27 31.1769 20 0 0 1 0.866 8 6 1 0 +1496 0 1 0 27.5 32.0429 20 0 0 1 0.866 8 6 1 0 +1497 0 1 0 28 31.1769 20 0 0 1 0.866 8 6 1 0 +1498 0 1 0 28.5 32.0429 20 0 0 1 0.866 8 6 1 0 +1499 0 1 0 29 31.1769 20 0 0 1 0.866 8 6 1 0 +1500 0 1 0 29.5 32.0429 20 0 0 1 0.866 8 6 1 0 +1501 0 1 0 30 31.1769 20 0 0 1 0.866 8 6 1 0 +1502 0 1 0 30.5 32.0429 20 0 0 1 0.866 8 6 1 0 +1503 0 1 0 31 31.1769 20 0 0 1 0.866 8 6 1 0 +1504 0 1 0 31.5 32.0429 20 0 0 1 0.866 8 6 1 0 +1505 0 1 0 32 31.1769 20 0 0 1 0.866 8 6 1 0 +1506 0 1 0 32.5 32.0429 20 0 0 1 0.866 8 6 1 0 +1507 0 1 0 33 31.1769 20 0 0 1 0.866 8 6 1 0 +1508 0 1 0 33.5 32.0429 20 0 0 1 0.866 8 6 1 0 +1509 0 1 0 34 31.1769 20 0 0 1 0.866 8 6 1 0 +1510 0 1 0 34.5 32.0429 20 0 0 1 0.866 8 6 1 0 +1511 0 1 0 35 31.1769 20 0 0 1 0.866 8 6 1 0 +1512 0 1 0 35.5 32.0429 20 0 0 1 0.866 8 6 1 0 +1513 0 1 0 36 31.1769 20 0 0 1 0.866 8 6 1 0 +1514 0 1 0 36.5 32.0429 20 0 0 1 0.866 8 6 1 0 +1515 0 1 0 37 31.1769 20 0 0 1 0.866 8 6 1 0 +1516 0 1 0 37.5 32.0429 20 0 0 1 0.866 8 6 1 0 +1517 0 1 0 38 31.1769 20 0 0 1 0.866 8 6 1 0 +1518 0 1 0 38.5 32.0429 20 0 0 1 0.866 8 6 1 0 +1519 0 1 0 39 31.1769 20 0 0 1 0.866 8 6 1 0 +1520 0 1 0 39.5 32.0429 20 0 0 1 0.866 8 6 1 0 +1521 0 1 0 0 32.909 20 0 0 1 0.866 8 6 1 0 +1522 0 1 0 0.5 33.775 20 0 0 1 0.866 8 6 1 0 +1523 0 1 0 1 32.909 20 0 0 1 0.866 8 6 1 0 +1524 0 1 0 1.5 33.775 20 0 0 1 0.866 8 6 1 0 +1525 0 1 0 2 32.909 20 0 0 1 0.866 8 6 1 0 +1526 0 1 0 2.5 33.775 20 0 0 1 0.866 8 6 1 0 +1527 0 1 0 3 32.909 20 0 0 1 0.866 8 6 1 0 +1528 0 1 0 3.5 33.775 20 0 0 1 0.866 8 6 1 0 +1529 0 1 0 4 32.909 20 0 0 1 0.866 8 6 1 0 +1530 0 1 0 4.5 33.775 20 0 0 1 0.866 8 6 1 0 +1531 0 1 0 5 32.909 20 0 0 1 0.866 8 6 1 0 +1532 0 1 0 5.5 33.775 20 0 0 1 0.866 8 6 1 0 +1533 0 1 0 6 32.909 20 0 0 1 0.866 8 6 1 0 +1534 0 1 0 6.5 33.775 20 0 0 1 0.866 8 6 1 0 +1535 0 1 0 7 32.909 20 0 0 1 0.866 8 6 1 0 +1536 0 1 0 7.5 33.775 20 0 0 1 0.866 8 6 1 0 +1537 0 1 0 8 32.909 20 0 0 1 0.866 8 6 1 0 +1538 0 1 0 8.5 33.775 20 0 0 1 0.866 8 6 1 0 +1539 0 1 0 9 32.909 20 0 0 1 0.866 8 6 1 0 +1540 0 1 0 9.5 33.775 20 0 0 1 0.866 8 6 1 0 +1541 0 1 0 10 32.909 20 0 0 1 0.866 8 6 1 0 +1542 0 1 0 10.5 33.775 20 0 0 1 0.866 8 6 1 0 +1543 0 1 0 11 32.909 20 0 0 1 0.866 8 6 1 0 +1544 0 1 0 11.5 33.775 20 0 0 1 0.866 8 6 1 0 +1545 0 1 0 12 32.909 20 0 0 1 0.866 8 6 1 0 +1546 0 1 0 12.5 33.775 20 0 0 1 0.866 8 6 1 0 +1547 0 1 0 13 32.909 20 0 0 1 0.866 8 6 1 0 +1548 0 1 0 13.5 33.775 20 0 0 1 0.866 8 6 1 0 +1549 0 1 0 14 32.909 20 0 0 1 0.866 8 6 1 0 +1550 0 1 0 14.5 33.775 20 0 0 1 0.866 8 6 1 0 +1551 0 1 0 15 32.909 20 0 0 1 0.866 8 6 1 0 +1552 0 1 0 15.5 33.775 20 0 0 1 0.866 8 6 1 0 +1553 0 1 0 16 32.909 20 0 0 1 0.866 8 6 1 0 +1554 0 1 0 16.5 33.775 20 0 0 1 0.866 8 6 1 0 +1555 0 1 0 17 32.909 20 0 0 1 0.866 8 6 1 0 +1556 0 1 0 17.5 33.775 20 0 0 1 0.866 8 6 1 0 +1557 0 1 0 18 32.909 20 0 0 1 0.866 8 6 1 0 +1558 0 1 0 18.5 33.775 20 0 0 1 0.866 8 6 1 0 +1559 0 1 0 19 32.909 20 0 0 1 0.866 8 6 1 0 +1560 0 1 0 19.5 33.775 20 0 0 1 0.866 8 6 1 0 +1561 0 1 0 20 32.909 20 0 0 1 0.866 8 6 1 0 +1562 0 1 0 20.5 33.775 20 0 0 1 0.866 8 6 1 0 +1563 0 1 0 21 32.909 20 0 0 1 0.866 8 6 1 0 +1564 0 1 0 21.5 33.775 20 0 0 1 0.866 8 6 1 0 +1565 0 1 0 22 32.909 20 0 0 1 0.866 8 6 1 0 +1566 0 1 0 22.5 33.775 20 0 0 1 0.866 8 6 1 0 +1567 0 1 0 23 32.909 20 0 0 1 0.866 8 6 1 0 +1568 0 1 0 23.5 33.775 20 0 0 1 0.866 8 6 1 0 +1569 0 1 0 24 32.909 20 0 0 1 0.866 8 6 1 0 +1570 0 1 0 24.5 33.775 20 0 0 1 0.866 8 6 1 0 +1571 0 1 0 25 32.909 20 0 0 1 0.866 8 6 1 0 +1572 0 1 0 25.5 33.775 20 0 0 1 0.866 8 6 1 0 +1573 0 1 0 26 32.909 20 0 0 1 0.866 8 6 1 0 +1574 0 1 0 26.5 33.775 20 0 0 1 0.866 8 6 1 0 +1575 0 1 0 27 32.909 20 0 0 1 0.866 8 6 1 0 +1576 0 1 0 27.5 33.775 20 0 0 1 0.866 8 6 1 0 +1577 0 1 0 28 32.909 20 0 0 1 0.866 8 6 1 0 +1578 0 1 0 28.5 33.775 20 0 0 1 0.866 8 6 1 0 +1579 0 1 0 29 32.909 20 0 0 1 0.866 8 6 1 0 +1580 0 1 0 29.5 33.775 20 0 0 1 0.866 8 6 1 0 +1581 0 1 0 30 32.909 20 0 0 1 0.866 8 6 1 0 +1582 0 1 0 30.5 33.775 20 0 0 1 0.866 8 6 1 0 +1583 0 1 0 31 32.909 20 0 0 1 0.866 8 6 1 0 +1584 0 1 0 31.5 33.775 20 0 0 1 0.866 8 6 1 0 +1585 0 1 0 32 32.909 20 0 0 1 0.866 8 6 1 0 +1586 0 1 0 32.5 33.775 20 0 0 1 0.866 8 6 1 0 +1587 0 1 0 33 32.909 20 0 0 1 0.866 8 6 1 0 +1588 0 1 0 33.5 33.775 20 0 0 1 0.866 8 6 1 0 +1589 0 1 0 34 32.909 20 0 0 1 0.866 8 6 1 0 +1590 0 1 0 34.5 33.775 20 0 0 1 0.866 8 6 1 0 +1591 0 1 0 35 32.909 20 0 0 1 0.866 8 6 1 0 +1592 0 1 0 35.5 33.775 20 0 0 1 0.866 8 6 1 0 +1593 0 1 0 36 32.909 20 0 0 1 0.866 8 6 1 0 +1594 0 1 0 36.5 33.775 20 0 0 1 0.866 8 6 1 0 +1595 0 1 0 37 32.909 20 0 0 1 0.866 8 6 1 0 +1596 0 1 0 37.5 33.775 20 0 0 1 0.866 8 6 1 0 +1597 0 1 0 38 32.909 20 0 0 1 0.866 8 6 1 0 +1598 0 1 0 38.5 33.775 20 0 0 1 0.866 8 6 1 0 +1599 0 1 0 39 32.909 20 0 0 1 0.866 8 6 1 0 +1600 0 1 0 39.5 33.775 20 0 0 1 0.866 8 6 1 0 +1601 0 1 0 0 34.641 20 0 0 1 0.866 8 6 1 0 +1602 0 1 0 0.5 35.507 20 0 0 1 0.866 8 6 1 0 +1603 0 1 0 1 34.641 20 0 0 1 0.866 8 6 1 0 +1604 0 1 0 1.5 35.507 20 0 0 1 0.866 8 6 1 0 +1605 0 1 0 2 34.641 20 0 0 1 0.866 8 6 1 0 +1606 0 1 0 2.5 35.507 20 0 0 1 0.866 8 6 1 0 +1607 0 1 0 3 34.641 20 0 0 1 0.866 8 6 1 0 +1608 0 1 0 3.5 35.507 20 0 0 1 0.866 8 6 1 0 +1609 0 1 0 4 34.641 20 0 0 1 0.866 8 6 1 0 +1610 0 1 0 4.5 35.507 20 0 0 1 0.866 8 6 1 0 +1611 0 1 0 5 34.641 20 0 0 1 0.866 8 6 1 0 +1612 0 1 0 5.5 35.507 20 0 0 1 0.866 8 6 1 0 +1613 0 1 0 6 34.641 20 0 0 1 0.866 8 6 1 0 +1614 0 1 0 6.5 35.507 20 0 0 1 0.866 8 6 1 0 +1615 0 1 0 7 34.641 20 0 0 1 0.866 8 6 1 0 +1616 0 1 0 7.5 35.507 20 0 0 1 0.866 8 6 1 0 +1617 0 1 0 8 34.641 20 0 0 1 0.866 8 6 1 0 +1618 0 1 0 8.5 35.507 20 0 0 1 0.866 8 6 1 0 +1619 0 1 0 9 34.641 20 0 0 1 0.866 8 6 1 0 +1620 0 1 0 9.5 35.507 20 0 0 1 0.866 8 6 1 0 +1621 0 1 0 10 34.641 20 0 0 1 0.866 8 6 1 0 +1622 0 1 0 10.5 35.507 20 0 0 1 0.866 8 6 1 0 +1623 0 1 0 11 34.641 20 0 0 1 0.866 8 6 1 0 +1624 0 1 0 11.5 35.507 20 0 0 1 0.866 8 6 1 0 +1625 0 1 0 12 34.641 20 0 0 1 0.866 8 6 1 0 +1626 0 1 0 12.5 35.507 20 0 0 1 0.866 8 6 1 0 +1627 0 1 0 13 34.641 20 0 0 1 0.866 8 6 1 0 +1628 0 1 0 13.5 35.507 20 0 0 1 0.866 8 6 1 0 +1629 0 1 0 14 34.641 20 0 0 1 0.866 8 6 1 0 +1630 0 1 0 14.5 35.507 20 0 0 1 0.866 8 6 1 0 +1631 0 1 0 15 34.641 20 0 0 1 0.866 8 6 1 0 +1632 0 1 0 15.5 35.507 20 0 0 1 0.866 8 6 1 0 +1633 0 1 0 16 34.641 20 0 0 1 0.866 8 6 1 0 +1634 0 1 0 16.5 35.507 20 0 0 1 0.866 8 6 1 0 +1635 0 1 0 17 34.641 20 0 0 1 0.866 8 6 1 0 +1636 0 1 0 17.5 35.507 20 0 0 1 0.866 8 6 1 0 +1637 0 1 0 18 34.641 20 0 0 1 0.866 8 6 1 0 +1638 0 1 0 18.5 35.507 20 0 0 1 0.866 8 6 1 0 +1639 0 1 0 19 34.641 20 0 0 1 0.866 8 6 1 0 +1640 0 1 0 19.5 35.507 20 0 0 1 0.866 8 6 1 0 +1641 0 1 0 20 34.641 20 0 0 1 0.866 8 6 1 0 +1642 0 1 0 20.5 35.507 20 0 0 1 0.866 8 6 1 0 +1643 0 1 0 21 34.641 20 0 0 1 0.866 8 6 1 0 +1644 0 1 0 21.5 35.507 20 0 0 1 0.866 8 6 1 0 +1645 0 1 0 22 34.641 20 0 0 1 0.866 8 6 1 0 +1646 0 1 0 22.5 35.507 20 0 0 1 0.866 8 6 1 0 +1647 0 1 0 23 34.641 20 0 0 1 0.866 8 6 1 0 +1648 0 1 0 23.5 35.507 20 0 0 1 0.866 8 6 1 0 +1649 0 1 0 24 34.641 20 0 0 1 0.866 8 6 1 0 +1650 0 1 0 24.5 35.507 20 0 0 1 0.866 8 6 1 0 +1651 0 1 0 25 34.641 20 0 0 1 0.866 8 6 1 0 +1652 0 1 0 25.5 35.507 20 0 0 1 0.866 8 6 1 0 +1653 0 1 0 26 34.641 20 0 0 1 0.866 8 6 1 0 +1654 0 1 0 26.5 35.507 20 0 0 1 0.866 8 6 1 0 +1655 0 1 0 27 34.641 20 0 0 1 0.866 8 6 1 0 +1656 0 1 0 27.5 35.507 20 0 0 1 0.866 8 6 1 0 +1657 0 1 0 28 34.641 20 0 0 1 0.866 8 6 1 0 +1658 0 1 0 28.5 35.507 20 0 0 1 0.866 8 6 1 0 +1659 0 1 0 29 34.641 20 0 0 1 0.866 8 6 1 0 +1660 0 1 0 29.5 35.507 20 0 0 1 0.866 8 6 1 0 +1661 0 1 0 30 34.641 20 0 0 1 0.866 8 6 1 0 +1662 0 1 0 30.5 35.507 20 0 0 1 0.866 8 6 1 0 +1663 0 1 0 31 34.641 20 0 0 1 0.866 8 6 1 0 +1664 0 1 0 31.5 35.507 20 0 0 1 0.866 8 6 1 0 +1665 0 1 0 32 34.641 20 0 0 1 0.866 8 6 1 0 +1666 0 1 0 32.5 35.507 20 0 0 1 0.866 8 6 1 0 +1667 0 1 0 33 34.641 20 0 0 1 0.866 8 6 1 0 +1668 0 1 0 33.5 35.507 20 0 0 1 0.866 8 6 1 0 +1669 0 1 0 34 34.641 20 0 0 1 0.866 8 6 1 0 +1670 0 1 0 34.5 35.507 20 0 0 1 0.866 8 6 1 0 +1671 0 1 0 35 34.641 20 0 0 1 0.866 8 6 1 0 +1672 0 1 0 35.5 35.507 20 0 0 1 0.866 8 6 1 0 +1673 0 1 0 36 34.641 20 0 0 1 0.866 8 6 1 0 +1674 0 1 0 36.5 35.507 20 0 0 1 0.866 8 6 1 0 +1675 0 1 0 37 34.641 20 0 0 1 0.866 8 6 1 0 +1676 0 1 0 37.5 35.507 20 0 0 1 0.866 8 6 1 0 +1677 0 1 0 38 34.641 20 0 0 1 0.866 8 6 1 0 +1678 0 1 0 38.5 35.507 20 0 0 1 0.866 8 6 1 0 +1679 0 1 0 39 34.641 20 0 0 1 0.866 8 6 1 0 +1680 0 1 0 39.5 35.507 20 0 0 1 0.866 8 6 1 0 +1681 0 1 0 0 36.3731 20 0 0 1 0.866 8 6 1 0 +1682 0 1 0 0.5 37.2391 20 0 0 1 0.866 8 6 1 0 +1683 0 1 0 1 36.3731 20 0 0 1 0.866 8 6 1 0 +1684 0 1 0 1.5 37.2391 20 0 0 1 0.866 8 6 1 0 +1685 0 1 0 2 36.3731 20 0 0 1 0.866 8 6 1 0 +1686 0 1 0 2.5 37.2391 20 0 0 1 0.866 8 6 1 0 +1687 0 1 0 3 36.3731 20 0 0 1 0.866 8 6 1 0 +1688 0 1 0 3.5 37.2391 20 0 0 1 0.866 8 6 1 0 +1689 0 1 0 4 36.3731 20 0 0 1 0.866 8 6 1 0 +1690 0 1 0 4.5 37.2391 20 0 0 1 0.866 8 6 1 0 +1691 0 1 0 5 36.3731 20 0 0 1 0.866 8 6 1 0 +1692 0 1 0 5.5 37.2391 20 0 0 1 0.866 8 6 1 0 +1693 0 1 0 6 36.3731 20 0 0 1 0.866 8 6 1 0 +1694 0 1 0 6.5 37.2391 20 0 0 1 0.866 8 6 1 0 +1695 0 1 0 7 36.3731 20 0 0 1 0.866 8 6 1 0 +1696 0 1 0 7.5 37.2391 20 0 0 1 0.866 8 6 1 0 +1697 0 1 0 8 36.3731 20 0 0 1 0.866 8 6 1 0 +1698 0 1 0 8.5 37.2391 20 0 0 1 0.866 8 6 1 0 +1699 0 1 0 9 36.3731 20 0 0 1 0.866 8 6 1 0 +1700 0 1 0 9.5 37.2391 20 0 0 1 0.866 8 6 1 0 +1701 0 1 0 10 36.3731 20 0 0 1 0.866 8 6 1 0 +1702 0 1 0 10.5 37.2391 20 0 0 1 0.866 8 6 1 0 +1703 0 1 0 11 36.3731 20 0 0 1 0.866 8 6 1 0 +1704 0 1 0 11.5 37.2391 20 0 0 1 0.866 8 6 1 0 +1705 0 1 0 12 36.3731 20 0 0 1 0.866 8 6 1 0 +1706 0 1 0 12.5 37.2391 20 0 0 1 0.866 8 6 1 0 +1707 0 1 0 13 36.3731 20 0 0 1 0.866 8 6 1 0 +1708 0 1 0 13.5 37.2391 20 0 0 1 0.866 8 6 1 0 +1709 0 1 0 14 36.3731 20 0 0 1 0.866 8 6 1 0 +1710 0 1 0 14.5 37.2391 20 0 0 1 0.866 8 6 1 0 +1711 0 1 0 15 36.3731 20 0 0 1 0.866 8 6 1 0 +1712 0 1 0 15.5 37.2391 20 0 0 1 0.866 8 6 1 0 +1713 0 1 0 16 36.3731 20 0 0 1 0.866 8 6 1 0 +1714 0 1 0 16.5 37.2391 20 0 0 1 0.866 8 6 1 0 +1715 0 1 0 17 36.3731 20 0 0 1 0.866 8 6 1 0 +1716 0 1 0 17.5 37.2391 20 0 0 1 0.866 8 6 1 0 +1717 0 1 0 18 36.3731 20 0 0 1 0.866 8 6 1 0 +1718 0 1 0 18.5 37.2391 20 0 0 1 0.866 8 6 1 0 +1719 0 1 0 19 36.3731 20 0 0 1 0.866 8 6 1 0 +1720 0 1 0 19.5 37.2391 20 0 0 1 0.866 8 6 1 0 +1721 0 1 0 20 36.3731 20 0 0 1 0.866 8 6 1 0 +1722 0 1 0 20.5 37.2391 20 0 0 1 0.866 8 6 1 0 +1723 0 1 0 21 36.3731 20 0 0 1 0.866 8 6 1 0 +1724 0 1 0 21.5 37.2391 20 0 0 1 0.866 8 6 1 0 +1725 0 1 0 22 36.3731 20 0 0 1 0.866 8 6 1 0 +1726 0 1 0 22.5 37.2391 20 0 0 1 0.866 8 6 1 0 +1727 0 1 0 23 36.3731 20 0 0 1 0.866 8 6 1 0 +1728 0 1 0 23.5 37.2391 20 0 0 1 0.866 8 6 1 0 +1729 0 1 0 24 36.3731 20 0 0 1 0.866 8 6 1 0 +1730 0 1 0 24.5 37.2391 20 0 0 1 0.866 8 6 1 0 +1731 0 1 0 25 36.3731 20 0 0 1 0.866 8 6 1 0 +1732 0 1 0 25.5 37.2391 20 0 0 1 0.866 8 6 1 0 +1733 0 1 0 26 36.3731 20 0 0 1 0.866 8 6 1 0 +1734 0 1 0 26.5 37.2391 20 0 0 1 0.866 8 6 1 0 +1735 0 1 0 27 36.3731 20 0 0 1 0.866 8 6 1 0 +1736 0 1 0 27.5 37.2391 20 0 0 1 0.866 8 6 1 0 +1737 0 1 0 28 36.3731 20 0 0 1 0.866 8 6 1 0 +1738 0 1 0 28.5 37.2391 20 0 0 1 0.866 8 6 1 0 +1739 0 1 0 29 36.3731 20 0 0 1 0.866 8 6 1 0 +1740 0 1 0 29.5 37.2391 20 0 0 1 0.866 8 6 1 0 +1741 0 1 0 30 36.3731 20 0 0 1 0.866 8 6 1 0 +1742 0 1 0 30.5 37.2391 20 0 0 1 0.866 8 6 1 0 +1743 0 1 0 31 36.3731 20 0 0 1 0.866 8 6 1 0 +1744 0 1 0 31.5 37.2391 20 0 0 1 0.866 8 6 1 0 +1745 0 1 0 32 36.3731 20 0 0 1 0.866 8 6 1 0 +1746 0 1 0 32.5 37.2391 20 0 0 1 0.866 8 6 1 0 +1747 0 1 0 33 36.3731 20 0 0 1 0.866 8 6 1 0 +1748 0 1 0 33.5 37.2391 20 0 0 1 0.866 8 6 1 0 +1749 0 1 0 34 36.3731 20 0 0 1 0.866 8 6 1 0 +1750 0 1 0 34.5 37.2391 20 0 0 1 0.866 8 6 1 0 +1751 0 1 0 35 36.3731 20 0 0 1 0.866 8 6 1 0 +1752 0 1 0 35.5 37.2391 20 0 0 1 0.866 8 6 1 0 +1753 0 1 0 36 36.3731 20 0 0 1 0.866 8 6 1 0 +1754 0 1 0 36.5 37.2391 20 0 0 1 0.866 8 6 1 0 +1755 0 1 0 37 36.3731 20 0 0 1 0.866 8 6 1 0 +1756 0 1 0 37.5 37.2391 20 0 0 1 0.866 8 6 1 0 +1757 0 1 0 38 36.3731 20 0 0 1 0.866 8 6 1 0 +1758 0 1 0 38.5 37.2391 20 0 0 1 0.866 8 6 1 0 +1759 0 1 0 39 36.3731 20 0 0 1 0.866 8 6 1 0 +1760 0 1 0 39.5 37.2391 20 0 0 1 0.866 8 6 1 0 +1761 0 1 0 0 38.1051 20 0 0 1 0.866 8 6 1 0 +1762 0 1 0 0.5 38.9711 20 0 0 1 0.866 8 6 1 0 +1763 0 1 0 1 38.1051 20 0 0 1 0.866 8 6 1 0 +1764 0 1 0 1.5 38.9711 20 0 0 1 0.866 8 6 1 0 +1765 0 1 0 2 38.1051 20 0 0 1 0.866 8 6 1 0 +1766 0 1 0 2.5 38.9711 20 0 0 1 0.866 8 6 1 0 +1767 0 1 0 3 38.1051 20 0 0 1 0.866 8 6 1 0 +1768 0 1 0 3.5 38.9711 20 0 0 1 0.866 8 6 1 0 +1769 0 1 0 4 38.1051 20 0 0 1 0.866 8 6 1 0 +1770 0 1 0 4.5 38.9711 20 0 0 1 0.866 8 6 1 0 +1771 0 1 0 5 38.1051 20 0 0 1 0.866 8 6 1 0 +1772 0 1 0 5.5 38.9711 20 0 0 1 0.866 8 6 1 0 +1773 0 1 0 6 38.1051 20 0 0 1 0.866 8 6 1 0 +1774 0 1 0 6.5 38.9711 20 0 0 1 0.866 8 6 1 0 +1775 0 1 0 7 38.1051 20 0 0 1 0.866 8 6 1 0 +1776 0 1 0 7.5 38.9711 20 0 0 1 0.866 8 6 1 0 +1777 0 1 0 8 38.1051 20 0 0 1 0.866 8 6 1 0 +1778 0 1 0 8.5 38.9711 20 0 0 1 0.866 8 6 1 0 +1779 0 1 0 9 38.1051 20 0 0 1 0.866 8 6 1 0 +1780 0 1 0 9.5 38.9711 20 0 0 1 0.866 8 6 1 0 +1781 0 1 0 10 38.1051 20 0 0 1 0.866 8 6 1 0 +1782 0 1 0 10.5 38.9711 20 0 0 1 0.866 8 6 1 0 +1783 0 1 0 11 38.1051 20 0 0 1 0.866 8 6 1 0 +1784 0 1 0 11.5 38.9711 20 0 0 1 0.866 8 6 1 0 +1785 0 1 0 12 38.1051 20 0 0 1 0.866 8 6 1 0 +1786 0 1 0 12.5 38.9711 20 0 0 1 0.866 8 6 1 0 +1787 0 1 0 13 38.1051 20 0 0 1 0.866 8 6 1 0 +1788 0 1 0 13.5 38.9711 20 0 0 1 0.866 8 6 1 0 +1789 0 1 0 14 38.1051 20 0 0 1 0.866 8 6 1 0 +1790 0 1 0 14.5 38.9711 20 0 0 1 0.866 8 6 1 0 +1791 0 1 0 15 38.1051 20 0 0 1 0.866 8 6 1 0 +1792 0 1 0 15.5 38.9711 20 0 0 1 0.866 8 6 1 0 +1793 0 1 0 16 38.1051 20 0 0 1 0.866 8 6 1 0 +1794 0 1 0 16.5 38.9711 20 0 0 1 0.866 8 6 1 0 +1795 0 1 0 17 38.1051 20 0 0 1 0.866 8 6 1 0 +1796 0 1 0 17.5 38.9711 20 0 0 1 0.866 8 6 1 0 +1797 0 1 0 18 38.1051 20 0 0 1 0.866 8 6 1 0 +1798 0 1 0 18.5 38.9711 20 0 0 1 0.866 8 6 1 0 +1799 0 1 0 19 38.1051 20 0 0 1 0.866 8 6 1 0 +1800 0 1 0 19.5 38.9711 20 0 0 1 0.866 8 6 1 0 +1801 0 1 0 20 38.1051 20 0 0 1 0.866 8 6 1 0 +1802 0 1 0 20.5 38.9711 20 0 0 1 0.866 8 6 1 0 +1803 0 1 0 21 38.1051 20 0 0 1 0.866 8 6 1 0 +1804 0 1 0 21.5 38.9711 20 0 0 1 0.866 8 6 1 0 +1805 0 1 0 22 38.1051 20 0 0 1 0.866 8 6 1 0 +1806 0 1 0 22.5 38.9711 20 0 0 1 0.866 8 6 1 0 +1807 0 1 0 23 38.1051 20 0 0 1 0.866 8 6 1 0 +1808 0 1 0 23.5 38.9711 20 0 0 1 0.866 8 6 1 0 +1809 0 1 0 24 38.1051 20 0 0 1 0.866 8 6 1 0 +1810 0 1 0 24.5 38.9711 20 0 0 1 0.866 8 6 1 0 +1811 0 1 0 25 38.1051 20 0 0 1 0.866 8 6 1 0 +1812 0 1 0 25.5 38.9711 20 0 0 1 0.866 8 6 1 0 +1813 0 1 0 26 38.1051 20 0 0 1 0.866 8 6 1 0 +1814 0 1 0 26.5 38.9711 20 0 0 1 0.866 8 6 1 0 +1815 0 1 0 27 38.1051 20 0 0 1 0.866 8 6 1 0 +1816 0 1 0 27.5 38.9711 20 0 0 1 0.866 8 6 1 0 +1817 0 1 0 28 38.1051 20 0 0 1 0.866 8 6 1 0 +1818 0 1 0 28.5 38.9711 20 0 0 1 0.866 8 6 1 0 +1819 0 1 0 29 38.1051 20 0 0 1 0.866 8 6 1 0 +1820 0 1 0 29.5 38.9711 20 0 0 1 0.866 8 6 1 0 +1821 0 1 0 30 38.1051 20 0 0 1 0.866 8 6 1 0 +1822 0 1 0 30.5 38.9711 20 0 0 1 0.866 8 6 1 0 +1823 0 1 0 31 38.1051 20 0 0 1 0.866 8 6 1 0 +1824 0 1 0 31.5 38.9711 20 0 0 1 0.866 8 6 1 0 +1825 0 1 0 32 38.1051 20 0 0 1 0.866 8 6 1 0 +1826 0 1 0 32.5 38.9711 20 0 0 1 0.866 8 6 1 0 +1827 0 1 0 33 38.1051 20 0 0 1 0.866 8 6 1 0 +1828 0 1 0 33.5 38.9711 20 0 0 1 0.866 8 6 1 0 +1829 0 1 0 34 38.1051 20 0 0 1 0.866 8 6 1 0 +1830 0 1 0 34.5 38.9711 20 0 0 1 0.866 8 6 1 0 +1831 0 1 0 35 38.1051 20 0 0 1 0.866 8 6 1 0 +1832 0 1 0 35.5 38.9711 20 0 0 1 0.866 8 6 1 0 +1833 0 1 0 36 38.1051 20 0 0 1 0.866 8 6 1 0 +1834 0 1 0 36.5 38.9711 20 0 0 1 0.866 8 6 1 0 +1835 0 1 0 37 38.1051 20 0 0 1 0.866 8 6 1 0 +1836 0 1 0 37.5 38.9711 20 0 0 1 0.866 8 6 1 0 +1837 0 1 0 38 38.1051 20 0 0 1 0.866 8 6 1 0 +1838 0 1 0 38.5 38.9711 20 0 0 1 0.866 8 6 1 0 +1839 0 1 0 39 38.1051 20 0 0 1 0.866 8 6 1 0 +1840 0 1 0 39.5 38.9711 20 0 0 1 0.866 8 6 1 0 +1841 0 1 0 0 39.8372 20 0 0 1 0.866 8 6 1 0 +1842 0 1 0 0.5 40.7032 20 0 0 1 0.866 8 6 1 0 +1843 0 1 0 1 39.8372 20 0 0 1 0.866 8 6 1 0 +1844 0 1 0 1.5 40.7032 20 0 0 1 0.866 8 6 1 0 +1845 0 1 0 2 39.8372 20 0 0 1 0.866 8 6 1 0 +1846 0 1 0 2.5 40.7032 20 0 0 1 0.866 8 6 1 0 +1847 0 1 0 3 39.8372 20 0 0 1 0.866 8 6 1 0 +1848 0 1 0 3.5 40.7032 20 0 0 1 0.866 8 6 1 0 +1849 0 1 0 4 39.8372 20 0 0 1 0.866 8 6 1 0 +1850 0 1 0 4.5 40.7032 20 0 0 1 0.866 8 6 1 0 +1851 0 1 0 5 39.8372 20 0 0 1 0.866 8 6 1 0 +1852 0 1 0 5.5 40.7032 20 0 0 1 0.866 8 6 1 0 +1853 0 1 0 6 39.8372 20 0 0 1 0.866 8 6 1 0 +1854 0 1 0 6.5 40.7032 20 0 0 1 0.866 8 6 1 0 +1855 0 1 0 7 39.8372 20 0 0 1 0.866 8 6 1 0 +1856 0 1 0 7.5 40.7032 20 0 0 1 0.866 8 6 1 0 +1857 0 1 0 8 39.8372 20 0 0 1 0.866 8 6 1 0 +1858 0 1 0 8.5 40.7032 20 0 0 1 0.866 8 6 1 0 +1859 0 1 0 9 39.8372 20 0 0 1 0.866 8 6 1 0 +1860 0 1 0 9.5 40.7032 20 0 0 1 0.866 8 6 1 0 +1861 0 1 0 10 39.8372 20 0 0 1 0.866 8 6 1 0 +1862 0 1 0 10.5 40.7032 20 0 0 1 0.866 8 6 1 0 +1863 0 1 0 11 39.8372 20 0 0 1 0.866 8 6 1 0 +1864 0 1 0 11.5 40.7032 20 0 0 1 0.866 8 6 1 0 +1865 0 1 0 12 39.8372 20 0 0 1 0.866 8 6 1 0 +1866 0 1 0 12.5 40.7032 20 0 0 1 0.866 8 6 1 0 +1867 0 1 0 13 39.8372 20 0 0 1 0.866 8 6 1 0 +1868 0 1 0 13.5 40.7032 20 0 0 1 0.866 8 6 1 0 +1869 0 1 0 14 39.8372 20 0 0 1 0.866 8 6 1 0 +1870 0 1 0 14.5 40.7032 20 0 0 1 0.866 8 6 1 0 +1871 0 1 0 15 39.8372 20 0 0 1 0.866 8 6 1 0 +1872 0 1 0 15.5 40.7032 20 0 0 1 0.866 8 6 1 0 +1873 0 1 0 16 39.8372 20 0 0 1 0.866 8 6 1 0 +1874 0 1 0 16.5 40.7032 20 0 0 1 0.866 8 6 1 0 +1875 0 1 0 17 39.8372 20 0 0 1 0.866 8 6 1 0 +1876 0 1 0 17.5 40.7032 20 0 0 1 0.866 8 6 1 0 +1877 0 1 0 18 39.8372 20 0 0 1 0.866 8 6 1 0 +1878 0 1 0 18.5 40.7032 20 0 0 1 0.866 8 6 1 0 +1879 0 1 0 19 39.8372 20 0 0 1 0.866 8 6 1 0 +1880 0 1 0 19.5 40.7032 20 0 0 1 0.866 8 6 1 0 +1881 0 1 0 20 39.8372 20 0 0 1 0.866 8 6 1 0 +1882 0 1 0 20.5 40.7032 20 0 0 1 0.866 8 6 1 0 +1883 0 1 0 21 39.8372 20 0 0 1 0.866 8 6 1 0 +1884 0 1 0 21.5 40.7032 20 0 0 1 0.866 8 6 1 0 +1885 0 1 0 22 39.8372 20 0 0 1 0.866 8 6 1 0 +1886 0 1 0 22.5 40.7032 20 0 0 1 0.866 8 6 1 0 +1887 0 1 0 23 39.8372 20 0 0 1 0.866 8 6 1 0 +1888 0 1 0 23.5 40.7032 20 0 0 1 0.866 8 6 1 0 +1889 0 1 0 24 39.8372 20 0 0 1 0.866 8 6 1 0 +1890 0 1 0 24.5 40.7032 20 0 0 1 0.866 8 6 1 0 +1891 0 1 0 25 39.8372 20 0 0 1 0.866 8 6 1 0 +1892 0 1 0 25.5 40.7032 20 0 0 1 0.866 8 6 1 0 +1893 0 1 0 26 39.8372 20 0 0 1 0.866 8 6 1 0 +1894 0 1 0 26.5 40.7032 20 0 0 1 0.866 8 6 1 0 +1895 0 1 0 27 39.8372 20 0 0 1 0.866 8 6 1 0 +1896 0 1 0 27.5 40.7032 20 0 0 1 0.866 8 6 1 0 +1897 0 1 0 28 39.8372 20 0 0 1 0.866 8 6 1 0 +1898 0 1 0 28.5 40.7032 20 0 0 1 0.866 8 6 1 0 +1899 0 1 0 29 39.8372 20 0 0 1 0.866 8 6 1 0 +1900 0 1 0 29.5 40.7032 20 0 0 1 0.866 8 6 1 0 +1901 0 1 0 30 39.8372 20 0 0 1 0.866 8 6 1 0 +1902 0 1 0 30.5 40.7032 20 0 0 1 0.866 8 6 1 0 +1903 0 1 0 31 39.8372 20 0 0 1 0.866 8 6 1 0 +1904 0 1 0 31.5 40.7032 20 0 0 1 0.866 8 6 1 0 +1905 0 1 0 32 39.8372 20 0 0 1 0.866 8 6 1 0 +1906 0 1 0 32.5 40.7032 20 0 0 1 0.866 8 6 1 0 +1907 0 1 0 33 39.8372 20 0 0 1 0.866 8 6 1 0 +1908 0 1 0 33.5 40.7032 20 0 0 1 0.866 8 6 1 0 +1909 0 1 0 34 39.8372 20 0 0 1 0.866 8 6 1 0 +1910 0 1 0 34.5 40.7032 20 0 0 1 0.866 8 6 1 0 +1911 0 1 0 35 39.8372 20 0 0 1 0.866 8 6 1 0 +1912 0 1 0 35.5 40.7032 20 0 0 1 0.866 8 6 1 0 +1913 0 1 0 36 39.8372 20 0 0 1 0.866 8 6 1 0 +1914 0 1 0 36.5 40.7032 20 0 0 1 0.866 8 6 1 0 +1915 0 1 0 37 39.8372 20 0 0 1 0.866 8 6 1 0 +1916 0 1 0 37.5 40.7032 20 0 0 1 0.866 8 6 1 0 +1917 0 1 0 38 39.8372 20 0 0 1 0.866 8 6 1 0 +1918 0 1 0 38.5 40.7032 20 0 0 1 0.866 8 6 1 0 +1919 0 1 0 39 39.8372 20 0 0 1 0.866 8 6 1 0 +1920 0 1 0 39.5 40.7032 20 0 0 1 0.866 8 6 1 0 +1921 0 1 0 0 41.5692 20 0 0 1 0.866 8 6 1 0 +1922 0 1 0 0.5 42.4353 20 0 0 1 0.866 8 6 1 0 +1923 0 1 0 1 41.5692 20 0 0 1 0.866 8 6 1 0 +1924 0 1 0 1.5 42.4353 20 0 0 1 0.866 8 6 1 0 +1925 0 1 0 2 41.5692 20 0 0 1 0.866 8 6 1 0 +1926 0 1 0 2.5 42.4353 20 0 0 1 0.866 8 6 1 0 +1927 0 1 0 3 41.5692 20 0 0 1 0.866 8 6 1 0 +1928 0 1 0 3.5 42.4353 20 0 0 1 0.866 8 6 1 0 +1929 0 1 0 4 41.5692 20 0 0 1 0.866 8 6 1 0 +1930 0 1 0 4.5 42.4353 20 0 0 1 0.866 8 6 1 0 +1931 0 1 0 5 41.5692 20 0 0 1 0.866 8 6 1 0 +1932 0 1 0 5.5 42.4353 20 0 0 1 0.866 8 6 1 0 +1933 0 1 0 6 41.5692 20 0 0 1 0.866 8 6 1 0 +1934 0 1 0 6.5 42.4353 20 0 0 1 0.866 8 6 1 0 +1935 0 1 0 7 41.5692 20 0 0 1 0.866 8 6 1 0 +1936 0 1 0 7.5 42.4353 20 0 0 1 0.866 8 6 1 0 +1937 0 1 0 8 41.5692 20 0 0 1 0.866 8 6 1 0 +1938 0 1 0 8.5 42.4353 20 0 0 1 0.866 8 6 1 0 +1939 0 1 0 9 41.5692 20 0 0 1 0.866 8 6 1 0 +1940 0 1 0 9.5 42.4353 20 0 0 1 0.866 8 6 1 0 +1941 0 1 0 10 41.5692 20 0 0 1 0.866 8 6 1 0 +1942 0 1 0 10.5 42.4353 20 0 0 1 0.866 8 6 1 0 +1943 0 1 0 11 41.5692 20 0 0 1 0.866 8 6 1 0 +1944 0 1 0 11.5 42.4353 20 0 0 1 0.866 8 6 1 0 +1945 0 1 0 12 41.5692 20 0 0 1 0.866 8 6 1 0 +1946 0 1 0 12.5 42.4353 20 0 0 1 0.866 8 6 1 0 +1947 0 1 0 13 41.5692 20 0 0 1 0.866 8 6 1 0 +1948 0 1 0 13.5 42.4353 20 0 0 1 0.866 8 6 1 0 +1949 0 1 0 14 41.5692 20 0 0 1 0.866 8 6 1 0 +1950 0 1 0 14.5 42.4353 20 0 0 1 0.866 8 6 1 0 +1951 0 1 0 15 41.5692 20 0 0 1 0.866 8 6 1 0 +1952 0 1 0 15.5 42.4353 20 0 0 1 0.866 8 6 1 0 +1953 0 1 0 16 41.5692 20 0 0 1 0.866 8 6 1 0 +1954 0 1 0 16.5 42.4353 20 0 0 1 0.866 8 6 1 0 +1955 0 1 0 17 41.5692 20 0 0 1 0.866 8 6 1 0 +1956 0 1 0 17.5 42.4353 20 0 0 1 0.866 8 6 1 0 +1957 0 1 0 18 41.5692 20 0 0 1 0.866 8 6 1 0 +1958 0 1 0 18.5 42.4353 20 0 0 1 0.866 8 6 1 0 +1959 0 1 0 19 41.5692 20 0 0 1 0.866 8 6 1 0 +1960 0 1 0 19.5 42.4353 20 0 0 1 0.866 8 6 1 0 +1961 0 1 0 20 41.5692 20 0 0 1 0.866 8 6 1 0 +1962 0 1 0 20.5 42.4353 20 0 0 1 0.866 8 6 1 0 +1963 0 1 0 21 41.5692 20 0 0 1 0.866 8 6 1 0 +1964 0 1 0 21.5 42.4353 20 0 0 1 0.866 8 6 1 0 +1965 0 1 0 22 41.5692 20 0 0 1 0.866 8 6 1 0 +1966 0 1 0 22.5 42.4353 20 0 0 1 0.866 8 6 1 0 +1967 0 1 0 23 41.5692 20 0 0 1 0.866 8 6 1 0 +1968 0 1 0 23.5 42.4353 20 0 0 1 0.866 8 6 1 0 +1969 0 1 0 24 41.5692 20 0 0 1 0.866 8 6 1 0 +1970 0 1 0 24.5 42.4353 20 0 0 1 0.866 8 6 1 0 +1971 0 1 0 25 41.5692 20 0 0 1 0.866 8 6 1 0 +1972 0 1 0 25.5 42.4353 20 0 0 1 0.866 8 6 1 0 +1973 0 1 0 26 41.5692 20 0 0 1 0.866 8 6 1 0 +1974 0 1 0 26.5 42.4353 20 0 0 1 0.866 8 6 1 0 +1975 0 1 0 27 41.5692 20 0 0 1 0.866 8 6 1 0 +1976 0 1 0 27.5 42.4353 20 0 0 1 0.866 8 6 1 0 +1977 0 1 0 28 41.5692 20 0 0 1 0.866 8 6 1 0 +1978 0 1 0 28.5 42.4353 20 0 0 1 0.866 8 6 1 0 +1979 0 1 0 29 41.5692 20 0 0 1 0.866 8 6 1 0 +1980 0 1 0 29.5 42.4353 20 0 0 1 0.866 8 6 1 0 +1981 0 1 0 30 41.5692 20 0 0 1 0.866 8 6 1 0 +1982 0 1 0 30.5 42.4353 20 0 0 1 0.866 8 6 1 0 +1983 0 1 0 31 41.5692 20 0 0 1 0.866 8 6 1 0 +1984 0 1 0 31.5 42.4353 20 0 0 1 0.866 8 6 1 0 +1985 0 1 0 32 41.5692 20 0 0 1 0.866 8 6 1 0 +1986 0 1 0 32.5 42.4353 20 0 0 1 0.866 8 6 1 0 +1987 0 1 0 33 41.5692 20 0 0 1 0.866 8 6 1 0 +1988 0 1 0 33.5 42.4353 20 0 0 1 0.866 8 6 1 0 +1989 0 1 0 34 41.5692 20 0 0 1 0.866 8 6 1 0 +1990 0 1 0 34.5 42.4353 20 0 0 1 0.866 8 6 1 0 +1991 0 1 0 35 41.5692 20 0 0 1 0.866 8 6 1 0 +1992 0 1 0 35.5 42.4353 20 0 0 1 0.866 8 6 1 0 +1993 0 1 0 36 41.5692 20 0 0 1 0.866 8 6 1 0 +1994 0 1 0 36.5 42.4353 20 0 0 1 0.866 8 6 1 0 +1995 0 1 0 37 41.5692 20 0 0 1 0.866 8 6 1 0 +1996 0 1 0 37.5 42.4353 20 0 0 1 0.866 8 6 1 0 +1997 0 1 0 38 41.5692 20 0 0 1 0.866 8 6 1 0 +1998 0 1 0 38.5 42.4353 20 0 0 1 0.866 8 6 1 0 +1999 0 1 0 39 41.5692 20 0 0 1 0.866 8 6 1 0 +2000 0 1 0 39.5 42.4353 20 0 0 1 0.866 8 6 1 0 +2001 0 2 1 20 20 22 0 0 1 0.866 8 6 10 0 +2002 0 3 -1 25 20 22 0 0 1 0.866 8 6 10 0 diff --git a/examples/USER/dielectric/data.sphere b/examples/USER/dielectric/data.sphere new file mode 100644 index 0000000000..152d5ff41a --- /dev/null +++ b/examples/USER/dielectric/data.sphere @@ -0,0 +1,2582 @@ +LAMMPS data file: 2563 atoms for a single point charge near a dielectric sphere, 2564 for two opposite charges + +2563 atoms +3 atom types + +0.000000 100.000000 xlo xhi +0.000000 100.000000 ylo yhi +0.000000 100.000000 zlo zhi + + +Masses + +1 1 +2 1 +3 1 + +Atoms # dielectric: id mol type q x y z normx normy normz area_per_patch ed em epsilon curvature + +1 1 1 0 50 55.2573 41.4935 0 0.525731 -0.850651 0.490491 45 57.5 1 0 +2 1 1 0 50.4064 55.7206 41.8079 0.0406403 0.572055 -0.819208 0.490491 45 57.5 1 0 +3 1 1 0 49.5936 55.7206 41.8079 -0.0406403 0.572055 -0.819208 0.490491 45 57.5 1 0 +4 1 1 0 50.8109 56.1564 42.1616 0.081086 0.615642 -0.783843 0.490491 45 57.5 1 0 +5 1 1 0 50 56.1768 42.1357 0 0.617676 -0.786433 0.490491 45 57.5 1 0 +6 1 1 0 49.1891 56.1564 42.1616 -0.081086 0.615642 -0.783843 0.490491 45 57.5 1 0 +7 1 1 0 51.2114 56.5628 42.5527 0.121144 0.656282 -0.744727 0.490491 45 57.5 1 0 +8 1 1 0 50.4064 56.6088 42.5061 0.0406418 0.660883 -0.749387 0.490491 45 57.5 1 0 +9 1 1 0 51.6062 56.9378 42.9795 0.160622 0.69378 -0.702047 0.490491 45 57.5 1 0 +10 1 1 0 50.8057 57.0062 42.9103 0.0805729 0.700622 -0.708969 0.490491 45 57.5 1 0 +11 1 1 0 50 57.0291 42.8872 0 0.702907 -0.711282 0.490491 45 57.5 1 0 +12 1 1 0 49.5936 56.6088 42.5061 -0.0406418 0.660883 -0.749387 0.490491 45 57.5 1 0 +13 1 1 0 48.7886 56.5628 42.5527 -0.121144 0.656282 -0.744727 0.490491 45 57.5 1 0 +14 1 1 0 49.1943 57.0062 42.9103 -0.0805729 0.700622 -0.708969 0.490491 45 57.5 1 0 +15 1 1 0 48.3938 56.9378 42.9795 -0.160622 0.69378 -0.702047 0.490491 45 57.5 1 0 +16 1 1 0 51.9933 57.2796 43.4399 0.199331 0.727959 -0.656006 0.490491 45 57.5 1 0 +17 1 1 0 51.2119 57.3889 43.3716 0.121192 0.738887 -0.662842 0.490491 45 57.5 1 0 +18 1 1 0 52.3709 57.5865 43.9317 0.237086 0.758652 -0.606825 0.490491 45 57.5 1 0 +19 1 1 0 51.5961 57.7184 43.8454 0.159613 0.771841 -0.615456 0.490491 45 57.5 1 0 +20 1 1 0 50.8114 57.802 43.7976 0.0811417 0.780205 -0.620239 0.490491 45 57.5 1 0 +21 1 1 0 52.7371 57.8572 44.4526 0.273706 0.785715 -0.55474 0.490491 45 57.5 1 0 +22 1 1 0 51.9727 58.015 44.3549 0.197274 0.801504 -0.564513 0.490491 45 57.5 1 0 +23 1 1 0 53.0902 58.0902 45 0.309017 0.809017 -0.5 0.490491 45 57.5 1 0 +24 1 1 0 52.3345 58.2715 44.888 0.233445 0.827147 -0.511205 0.490491 45 57.5 1 0 +25 1 1 0 51.5643 58.4018 44.8074 0.156434 0.840178 -0.519259 0.490491 45 57.5 1 0 +26 1 1 0 51.1908 58.1217 44.2886 0.119078 0.81217 -0.57114 0.490491 45 57.5 1 0 +27 1 1 0 50.4067 58.1752 44.2554 0.040675 0.817523 -0.574458 0.490491 45 57.5 1 0 +28 1 1 0 50.7846 58.4803 44.7589 0.0784592 0.848029 -0.52411 0.490491 45 57.5 1 0 +29 1 1 0 50 58.5065 44.7427 0 0.850651 -0.525731 0.490491 45 57.5 1 0 +30 1 1 0 48.7881 57.3889 43.3716 -0.121192 0.738887 -0.662842 0.490491 45 57.5 1 0 +31 1 1 0 48.0067 57.2796 43.4399 -0.199331 0.727959 -0.656006 0.490491 45 57.5 1 0 +32 1 1 0 49.1886 57.802 43.7976 -0.0811417 0.780205 -0.620239 0.490491 45 57.5 1 0 +33 1 1 0 48.4039 57.7184 43.8454 -0.159613 0.771841 -0.615456 0.490491 45 57.5 1 0 +34 1 1 0 47.6291 57.5865 43.9317 -0.237086 0.758652 -0.606825 0.490491 45 57.5 1 0 +35 1 1 0 49.5933 58.1752 44.2554 -0.040675 0.817523 -0.574458 0.490491 45 57.5 1 0 +36 1 1 0 48.8092 58.1217 44.2886 -0.119078 0.81217 -0.57114 0.490491 45 57.5 1 0 +37 1 1 0 49.2154 58.4803 44.7589 -0.0784592 0.848029 -0.52411 0.490491 45 57.5 1 0 +38 1 1 0 48.4357 58.4018 44.8074 -0.156434 0.840178 -0.519259 0.490491 45 57.5 1 0 +39 1 1 0 48.0273 58.015 44.3549 -0.197274 0.801504 -0.564513 0.490491 45 57.5 1 0 +40 1 1 0 47.2629 57.8572 44.4526 -0.273706 0.785715 -0.55474 0.490491 45 57.5 1 0 +41 1 1 0 47.6655 58.2715 44.888 -0.233445 0.827147 -0.511205 0.490491 45 57.5 1 0 +42 1 1 0 46.9098 58.0902 45 -0.309017 0.809017 -0.5 0.490491 45 57.5 1 0 +43 1 1 0 50.4068 57.435 43.325 0.0406769 0.743496 -0.667502 0.490491 45 57.5 1 0 +44 1 1 0 50 57.8279 43.7771 0 0.782786 -0.622291 0.490491 45 57.5 1 0 +45 1 1 0 49.5932 57.435 43.325 -0.0406769 0.743496 -0.667502 0.490491 45 57.5 1 0 +46 1 1 0 53.4285 58.2845 45.5713 0.342848 0.828447 -0.442867 0.490491 45 57.5 1 0 +47 1 1 0 52.7469 58.5264 45.5554 0.274694 0.85264 -0.444464 0.490491 45 57.5 1 0 +48 1 1 0 53.7504 58.4391 46.1639 0.375038 0.843912 -0.383614 0.490491 45 57.5 1 0 +49 1 1 0 53.0766 58.6973 46.1409 0.307659 0.869725 -0.385906 0.490491 45 57.5 1 0 +50 1 1 0 52.3868 58.9101 46.1381 0.238677 0.891007 -0.386187 0.490491 45 57.5 1 0 +51 1 1 0 54.0543 58.5534 46.7748 0.405434 0.855337 -0.322525 0.490491 45 57.5 1 0 +52 1 1 0 53.3921 58.8284 46.7514 0.339209 0.882837 -0.324863 0.490491 45 57.5 1 0 +53 1 1 0 54.3389 58.6267 47.4011 0.433888 0.862669 -0.259892 0.490491 45 57.5 1 0 +54 1 1 0 53.6852 58.9174 47.3734 0.368518 0.891742 -0.262661 0.490491 45 57.5 1 0 +55 1 1 0 53.0126 59.1624 47.3592 0.301258 0.916244 -0.264082 0.490491 45 57.5 1 0 +56 1 1 0 52.7063 59.0583 46.7407 0.270627 0.905832 -0.325929 0.490491 45 57.5 1 0 +57 1 1 0 52.0119 59.2388 46.7447 0.201189 0.92388 -0.32553 0.490491 45 57.5 1 0 +58 1 1 0 52.3245 59.3605 47.3585 0.232455 0.93605 -0.264151 0.490491 45 57.5 1 0 +59 1 1 0 51.6246 59.5106 47.3713 0.16246 0.951057 -0.262865 0.490491 45 57.5 1 0 +60 1 1 0 54.6027 58.6587 48.0398 0.460266 0.865871 -0.196015 0.490491 45 57.5 1 0 +61 1 1 0 53.9735 58.964 48.0359 0.39735 0.896401 -0.196412 0.490491 45 57.5 1 0 +62 1 1 0 54.8444 58.6493 48.688 0.484441 0.864929 -0.1312 0.490491 45 57.5 1 0 +63 1 1 0 54.2236 58.968 48.6825 0.422363 0.896801 -0.131749 0.490491 45 57.5 1 0 +64 1 1 0 53.5823 59.243 48.6834 0.358229 0.924305 -0.131656 0.490491 45 57.5 1 0 +65 1 1 0 55.063 58.5985 49.3424 0.506298 0.859848 -0.0657577 0.490491 45 57.5 1 0 +66 1 1 0 54.4537 58.9293 49.3418 0.445365 0.892927 -0.0658169 0.490491 45 57.5 1 0 +67 1 1 0 55.2573 58.5065 50 0.525731 0.850651 0 0.490491 45 57.5 1 0 +68 1 1 0 54.6566 58.8497 50 0.465657 0.884965 0 0.490491 45 57.5 1 0 +69 1 1 0 54.0336 59.1504 50 0.403355 0.915043 0 0.490491 45 57.5 1 0 +70 1 1 0 53.8172 59.2192 49.3401 0.381722 0.921919 -0.0659886 0.490491 45 57.5 1 0 +71 1 1 0 53.1678 59.462 49.3396 0.316778 0.946198 -0.0660427 0.490491 45 57.5 1 0 +72 1 1 0 53.3912 59.4074 50 0.339122 0.940742 0 0.490491 45 57.5 1 0 +73 1 1 0 52.7327 59.6194 50 0.273267 0.961938 0 0.490491 45 57.5 1 0 +74 1 1 0 51.9178 59.6119 48.0166 0.19178 0.961188 -0.198337 0.490491 45 57.5 1 0 +75 1 1 0 51.2273 59.7237 48.0142 0.122729 0.97237 -0.198581 0.490491 45 57.5 1 0 +76 1 1 0 52.2012 59.6639 48.6721 0.220117 0.966393 -0.132792 0.490491 45 57.5 1 0 +77 1 1 0 51.5155 59.7943 48.6674 0.151549 0.979426 -0.133256 0.490491 45 57.5 1 0 +78 1 1 0 50.8224 59.8769 48.6693 0.0822422 0.987688 -0.133071 0.490491 45 57.5 1 0 +79 1 1 0 52.4733 59.6664 49.3343 0.247326 0.966643 -0.0665668 0.490491 45 57.5 1 0 +80 1 1 0 51.796 59.8148 49.334 0.179596 0.981483 -0.0666046 0.490491 45 57.5 1 0 +81 1 1 0 52.061 59.7853 50 0.206103 0.97853 0 0.490491 45 57.5 1 0 +82 1 1 0 51.3795 59.9044 50 0.137952 0.990439 0 0.490491 45 57.5 1 0 +83 1 1 0 51.1039 59.9165 49.3329 0.110385 0.991648 -0.0667095 0.490491 45 57.5 1 0 +84 1 1 0 50.4125 59.9692 49.3326 0.0412479 0.996917 -0.0667412 0.490491 45 57.5 1 0 +85 1 1 0 50.6914 59.9761 50 0.0691418 0.997607 0 0.490491 45 57.5 1 0 +86 1 1 0 50 60 50 0 1 0 0.490491 45 57.5 1 0 +87 1 1 0 53.3061 59.2268 48.0161 0.330606 0.922682 -0.198387 0.490491 45 57.5 1 0 +88 1 1 0 52.8993 59.4782 48.6743 0.289929 0.947822 -0.13257 0.490491 45 57.5 1 0 +89 1 1 0 52.6155 59.4443 48.0091 0.26155 0.944433 -0.199094 0.490491 45 57.5 1 0 +90 1 1 0 47.2531 58.5264 45.5554 -0.274694 0.85264 -0.444464 0.490491 45 57.5 1 0 +91 1 1 0 46.5715 58.2845 45.5713 -0.342848 0.828447 -0.442867 0.490491 45 57.5 1 0 +92 1 1 0 47.6132 58.9101 46.1381 -0.238677 0.891007 -0.386187 0.490491 45 57.5 1 0 +93 1 1 0 46.9234 58.6973 46.1409 -0.307659 0.869725 -0.385906 0.490491 45 57.5 1 0 +94 1 1 0 46.2496 58.4391 46.1639 -0.375038 0.843912 -0.383614 0.490491 45 57.5 1 0 +95 1 1 0 47.9881 59.2388 46.7447 -0.201189 0.92388 -0.32553 0.490491 45 57.5 1 0 +96 1 1 0 47.2937 59.0583 46.7407 -0.270627 0.905832 -0.325929 0.490491 45 57.5 1 0 +97 1 1 0 48.3754 59.5106 47.3713 -0.16246 0.951057 -0.262865 0.490491 45 57.5 1 0 +98 1 1 0 47.6755 59.3605 47.3585 -0.232455 0.93605 -0.264151 0.490491 45 57.5 1 0 +99 1 1 0 46.9874 59.1624 47.3592 -0.301258 0.916244 -0.264082 0.490491 45 57.5 1 0 +100 1 1 0 46.6079 58.8284 46.7514 -0.339209 0.882837 -0.324863 0.490491 45 57.5 1 0 +101 1 1 0 45.9457 58.5534 46.7748 -0.405434 0.855337 -0.322525 0.490491 45 57.5 1 0 +102 1 1 0 46.3148 58.9174 47.3734 -0.368518 0.891742 -0.262661 0.490491 45 57.5 1 0 +103 1 1 0 45.6611 58.6267 47.4011 -0.433888 0.862669 -0.259892 0.490491 45 57.5 1 0 +104 1 1 0 48.7727 59.7237 48.0142 -0.122729 0.97237 -0.198581 0.490491 45 57.5 1 0 +105 1 1 0 48.0822 59.6119 48.0166 -0.19178 0.961188 -0.198337 0.490491 45 57.5 1 0 +106 1 1 0 49.1776 59.8769 48.6693 -0.0822422 0.987688 -0.133071 0.490491 45 57.5 1 0 +107 1 1 0 48.4845 59.7943 48.6674 -0.151549 0.979426 -0.133256 0.490491 45 57.5 1 0 +108 1 1 0 47.7988 59.6639 48.6721 -0.220117 0.966393 -0.132792 0.490491 45 57.5 1 0 +109 1 1 0 49.5875 59.9692 49.3326 -0.0412479 0.996917 -0.0667412 0.490491 45 57.5 1 0 +110 1 1 0 48.8961 59.9165 49.3329 -0.110385 0.991648 -0.0667095 0.490491 45 57.5 1 0 +111 1 1 0 49.3086 59.9761 50 -0.0691418 0.997607 0 0.490491 45 57.5 1 0 +112 1 1 0 48.6205 59.9044 50 -0.137952 0.990439 0 0.490491 45 57.5 1 0 +113 1 1 0 48.204 59.8148 49.334 -0.179596 0.981483 -0.0666046 0.490491 45 57.5 1 0 +114 1 1 0 47.5267 59.6664 49.3343 -0.247326 0.966643 -0.0665668 0.490491 45 57.5 1 0 +115 1 1 0 47.939 59.7853 50 -0.206103 0.97853 0 0.490491 45 57.5 1 0 +116 1 1 0 47.2673 59.6194 50 -0.273267 0.961938 0 0.490491 45 57.5 1 0 +117 1 1 0 46.0265 58.964 48.0359 -0.39735 0.896401 -0.196412 0.490491 45 57.5 1 0 +118 1 1 0 45.3973 58.6587 48.0398 -0.460266 0.865871 -0.196015 0.490491 45 57.5 1 0 +119 1 1 0 46.4177 59.243 48.6834 -0.358229 0.924305 -0.131656 0.490491 45 57.5 1 0 +120 1 1 0 45.7764 58.968 48.6825 -0.422363 0.896801 -0.131749 0.490491 45 57.5 1 0 +121 1 1 0 45.1556 58.6493 48.688 -0.484441 0.864929 -0.1312 0.490491 45 57.5 1 0 +122 1 1 0 46.8322 59.462 49.3396 -0.316778 0.946198 -0.0660427 0.490491 45 57.5 1 0 +123 1 1 0 46.1828 59.2192 49.3401 -0.381722 0.921919 -0.0659886 0.490491 45 57.5 1 0 +124 1 1 0 46.6088 59.4074 50 -0.339122 0.940742 0 0.490491 45 57.5 1 0 +125 1 1 0 45.9664 59.1504 50 -0.403355 0.915043 0 0.490491 45 57.5 1 0 +126 1 1 0 45.5463 58.9293 49.3418 -0.445365 0.892927 -0.0658169 0.490491 45 57.5 1 0 +127 1 1 0 44.937 58.5985 49.3424 -0.506298 0.859848 -0.0657577 0.490491 45 57.5 1 0 +128 1 1 0 45.3434 58.8497 50 -0.465657 0.884965 0 0.490491 45 57.5 1 0 +129 1 1 0 44.7427 58.5065 50 -0.525731 0.850651 0 0.490491 45 57.5 1 0 +130 1 1 0 47.3845 59.4443 48.0091 -0.26155 0.944433 -0.199094 0.490491 45 57.5 1 0 +131 1 1 0 47.1007 59.4782 48.6743 -0.289929 0.947822 -0.13257 0.490491 45 57.5 1 0 +132 1 1 0 46.6939 59.2268 48.0161 -0.330606 0.922682 -0.198387 0.490491 45 57.5 1 0 +133 1 1 0 51.9823 58.6853 45.4574 0.198227 0.868535 -0.454262 0.490491 45 57.5 1 0 +134 1 1 0 51.6101 59.0484 46.0586 0.161007 0.904839 -0.394136 0.490491 45 57.5 1 0 +135 1 1 0 51.228 59.3513 46.6766 0.1228 0.93513 -0.332342 0.490491 45 57.5 1 0 +136 1 1 0 50.8232 59.1298 46.0039 0.0823235 0.912983 -0.399607 0.490491 45 57.5 1 0 +137 1 1 0 51.1976 58.7934 45.3912 0.119755 0.879344 -0.460882 0.490491 45 57.5 1 0 +138 1 1 0 50.413 58.8476 45.3579 0.0412991 0.88476 -0.464213 0.490491 45 57.5 1 0 +139 1 1 0 50.815 59.6065 47.3448 0.081501 0.960655 -0.265519 0.490491 45 57.5 1 0 +140 1 1 0 50.4125 59.7885 47.9963 0.0412506 0.978852 -0.200368 0.490491 45 57.5 1 0 +141 1 1 0 50 59.6386 47.336 0 0.963861 -0.266405 0.490491 45 57.5 1 0 +142 1 1 0 50 59.9105 48.6648 0 0.991046 -0.133524 0.490491 45 57.5 1 0 +143 1 1 0 49.5875 59.7885 47.9963 -0.0412506 0.978852 -0.200368 0.490491 45 57.5 1 0 +144 1 1 0 49.185 59.6065 47.3448 -0.081501 0.960655 -0.265519 0.490491 45 57.5 1 0 +145 1 1 0 49.587 58.8476 45.3579 -0.0412991 0.88476 -0.464213 0.490491 45 57.5 1 0 +146 1 1 0 49.1768 59.1298 46.0039 -0.0823235 0.912983 -0.399607 0.490491 45 57.5 1 0 +147 1 1 0 48.8024 58.7934 45.3912 -0.119755 0.879344 -0.460882 0.490491 45 57.5 1 0 +148 1 1 0 48.772 59.3513 46.6766 -0.1228 0.93513 -0.332342 0.490491 45 57.5 1 0 +149 1 1 0 48.3899 59.0484 46.0586 -0.161007 0.904839 -0.394136 0.490491 45 57.5 1 0 +150 1 1 0 48.0177 58.6853 45.4574 -0.198227 0.868535 -0.454262 0.490491 45 57.5 1 0 +151 1 1 0 50.413 59.4162 46.6586 0.0413021 0.941618 -0.33414 0.490491 45 57.5 1 0 +152 1 1 0 49.587 59.4162 46.6586 -0.0413021 0.941618 -0.33414 0.490491 45 57.5 1 0 +153 1 1 0 50 59.1609 45.9903 0 0.916092 -0.400968 0.490491 45 57.5 1 0 +154 1 1 0 50 55.2573 58.5065 0 0.525731 0.850651 0.490491 45 57.5 1 0 +155 1 1 0 49.5936 55.7206 58.1921 -0.0406403 0.572055 0.819208 0.490491 45 57.5 1 0 +156 1 1 0 50.4064 55.7206 58.1921 0.0406403 0.572055 0.819208 0.490491 45 57.5 1 0 +157 1 1 0 49.1891 56.1564 57.8384 -0.081086 0.615642 0.783843 0.490491 45 57.5 1 0 +158 1 1 0 50 56.1768 57.8643 0 0.617676 0.786433 0.490491 45 57.5 1 0 +159 1 1 0 50.8109 56.1564 57.8384 0.081086 0.615642 0.783843 0.490491 45 57.5 1 0 +160 1 1 0 48.7886 56.5628 57.4473 -0.121144 0.656282 0.744727 0.490491 45 57.5 1 0 +161 1 1 0 49.5936 56.6088 57.4939 -0.0406418 0.660883 0.749387 0.490491 45 57.5 1 0 +162 1 1 0 48.3938 56.9378 57.0205 -0.160622 0.69378 0.702047 0.490491 45 57.5 1 0 +163 1 1 0 49.1943 57.0062 57.0897 -0.0805729 0.700622 0.708969 0.490491 45 57.5 1 0 +164 1 1 0 50 57.0291 57.1128 0 0.702907 0.711282 0.490491 45 57.5 1 0 +165 1 1 0 50.4064 56.6088 57.4939 0.0406418 0.660883 0.749387 0.490491 45 57.5 1 0 +166 1 1 0 51.2114 56.5628 57.4473 0.121144 0.656282 0.744727 0.490491 45 57.5 1 0 +167 1 1 0 50.8057 57.0062 57.0897 0.0805729 0.700622 0.708969 0.490491 45 57.5 1 0 +168 1 1 0 51.6062 56.9378 57.0205 0.160622 0.69378 0.702047 0.490491 45 57.5 1 0 +169 1 1 0 48.0067 57.2796 56.5601 -0.199331 0.727959 0.656006 0.490491 45 57.5 1 0 +170 1 1 0 48.7881 57.3889 56.6284 -0.121192 0.738887 0.662842 0.490491 45 57.5 1 0 +171 1 1 0 47.6291 57.5865 56.0683 -0.237086 0.758652 0.606825 0.490491 45 57.5 1 0 +172 1 1 0 48.4039 57.7184 56.1546 -0.159613 0.771841 0.615456 0.490491 45 57.5 1 0 +173 1 1 0 49.1886 57.802 56.2024 -0.0811417 0.780205 0.620239 0.490491 45 57.5 1 0 +174 1 1 0 47.2629 57.8572 55.5474 -0.273706 0.785715 0.55474 0.490491 45 57.5 1 0 +175 1 1 0 48.0273 58.015 55.6451 -0.197274 0.801504 0.564513 0.490491 45 57.5 1 0 +176 1 1 0 46.9098 58.0902 55 -0.309017 0.809017 0.5 0.490491 45 57.5 1 0 +177 1 1 0 47.6655 58.2715 55.112 -0.233445 0.827147 0.511205 0.490491 45 57.5 1 0 +178 1 1 0 48.4357 58.4018 55.1926 -0.156434 0.840178 0.519259 0.490491 45 57.5 1 0 +179 1 1 0 48.8092 58.1217 55.7114 -0.119078 0.81217 0.57114 0.490491 45 57.5 1 0 +180 1 1 0 49.5933 58.1752 55.7446 -0.040675 0.817523 0.574458 0.490491 45 57.5 1 0 +181 1 1 0 49.2154 58.4803 55.2411 -0.0784592 0.848029 0.52411 0.490491 45 57.5 1 0 +182 1 1 0 50 58.5065 55.2573 0 0.850651 0.525731 0.490491 45 57.5 1 0 +183 1 1 0 51.2119 57.3889 56.6284 0.121192 0.738887 0.662842 0.490491 45 57.5 1 0 +184 1 1 0 51.9933 57.2796 56.5601 0.199331 0.727959 0.656006 0.490491 45 57.5 1 0 +185 1 1 0 50.8114 57.802 56.2024 0.0811417 0.780205 0.620239 0.490491 45 57.5 1 0 +186 1 1 0 51.5961 57.7184 56.1546 0.159613 0.771841 0.615456 0.490491 45 57.5 1 0 +187 1 1 0 52.3709 57.5865 56.0683 0.237086 0.758652 0.606825 0.490491 45 57.5 1 0 +188 1 1 0 50.4067 58.1752 55.7446 0.040675 0.817523 0.574458 0.490491 45 57.5 1 0 +189 1 1 0 51.1908 58.1217 55.7114 0.119078 0.81217 0.57114 0.490491 45 57.5 1 0 +190 1 1 0 50.7846 58.4803 55.2411 0.0784592 0.848029 0.52411 0.490491 45 57.5 1 0 +191 1 1 0 51.5643 58.4018 55.1926 0.156434 0.840178 0.519259 0.490491 45 57.5 1 0 +192 1 1 0 51.9727 58.015 55.6451 0.197274 0.801504 0.564513 0.490491 45 57.5 1 0 +193 1 1 0 52.7371 57.8572 55.5474 0.273706 0.785715 0.55474 0.490491 45 57.5 1 0 +194 1 1 0 52.3345 58.2715 55.112 0.233445 0.827147 0.511205 0.490491 45 57.5 1 0 +195 1 1 0 53.0902 58.0902 55 0.309017 0.809017 0.5 0.490491 45 57.5 1 0 +196 1 1 0 49.5932 57.435 56.675 -0.0406769 0.743496 0.667502 0.490491 45 57.5 1 0 +197 1 1 0 50 57.8279 56.2229 0 0.782786 0.622291 0.490491 45 57.5 1 0 +198 1 1 0 50.4068 57.435 56.675 0.0406769 0.743496 0.667502 0.490491 45 57.5 1 0 +199 1 1 0 46.5715 58.2845 54.4287 -0.342848 0.828447 0.442867 0.490491 45 57.5 1 0 +200 1 1 0 47.2531 58.5264 54.4446 -0.274694 0.85264 0.444464 0.490491 45 57.5 1 0 +201 1 1 0 46.2496 58.4391 53.8361 -0.375038 0.843912 0.383614 0.490491 45 57.5 1 0 +202 1 1 0 46.9234 58.6973 53.8591 -0.307659 0.869725 0.385906 0.490491 45 57.5 1 0 +203 1 1 0 47.6132 58.9101 53.8619 -0.238677 0.891007 0.386187 0.490491 45 57.5 1 0 +204 1 1 0 45.9457 58.5534 53.2252 -0.405434 0.855337 0.322525 0.490491 45 57.5 1 0 +205 1 1 0 46.6079 58.8284 53.2486 -0.339209 0.882837 0.324863 0.490491 45 57.5 1 0 +206 1 1 0 45.6611 58.6267 52.5989 -0.433888 0.862669 0.259892 0.490491 45 57.5 1 0 +207 1 1 0 46.3148 58.9174 52.6266 -0.368518 0.891742 0.262661 0.490491 45 57.5 1 0 +208 1 1 0 46.9874 59.1624 52.6408 -0.301258 0.916244 0.264082 0.490491 45 57.5 1 0 +209 1 1 0 47.2937 59.0583 53.2593 -0.270627 0.905832 0.325929 0.490491 45 57.5 1 0 +210 1 1 0 47.9881 59.2388 53.2553 -0.201189 0.92388 0.32553 0.490491 45 57.5 1 0 +211 1 1 0 47.6755 59.3605 52.6415 -0.232455 0.93605 0.264151 0.490491 45 57.5 1 0 +212 1 1 0 48.3754 59.5106 52.6287 -0.16246 0.951057 0.262865 0.490491 45 57.5 1 0 +213 1 1 0 45.3973 58.6587 51.9602 -0.460266 0.865871 0.196015 0.490491 45 57.5 1 0 +214 1 1 0 46.0265 58.964 51.9641 -0.39735 0.896401 0.196412 0.490491 45 57.5 1 0 +215 1 1 0 45.1556 58.6493 51.312 -0.484441 0.864929 0.1312 0.490491 45 57.5 1 0 +216 1 1 0 45.7764 58.968 51.3175 -0.422363 0.896801 0.131749 0.490491 45 57.5 1 0 +217 1 1 0 46.4177 59.243 51.3166 -0.358229 0.924305 0.131656 0.490491 45 57.5 1 0 +218 1 1 0 44.937 58.5985 50.6576 -0.506298 0.859848 0.0657577 0.490491 45 57.5 1 0 +219 1 1 0 45.5463 58.9293 50.6582 -0.445365 0.892927 0.0658169 0.490491 45 57.5 1 0 +220 1 1 0 46.1828 59.2192 50.6599 -0.381722 0.921919 0.0659886 0.490491 45 57.5 1 0 +221 1 1 0 46.8322 59.462 50.6604 -0.316778 0.946198 0.0660427 0.490491 45 57.5 1 0 +222 1 1 0 48.0822 59.6119 51.9834 -0.19178 0.961188 0.198337 0.490491 45 57.5 1 0 +223 1 1 0 48.7727 59.7237 51.9858 -0.122729 0.97237 0.198581 0.490491 45 57.5 1 0 +224 1 1 0 47.7988 59.6639 51.3279 -0.220117 0.966393 0.132792 0.490491 45 57.5 1 0 +225 1 1 0 48.4845 59.7943 51.3326 -0.151549 0.979426 0.133256 0.490491 45 57.5 1 0 +226 1 1 0 49.1776 59.8769 51.3307 -0.0822422 0.987688 0.133071 0.490491 45 57.5 1 0 +227 1 1 0 47.5267 59.6664 50.6657 -0.247326 0.966643 0.0665668 0.490491 45 57.5 1 0 +228 1 1 0 48.204 59.8148 50.666 -0.179596 0.981483 0.0666046 0.490491 45 57.5 1 0 +229 1 1 0 48.8961 59.9165 50.6671 -0.110385 0.991648 0.0667095 0.490491 45 57.5 1 0 +230 1 1 0 49.5875 59.9692 50.6674 -0.0412479 0.996917 0.0667412 0.490491 45 57.5 1 0 +231 1 1 0 46.6939 59.2268 51.9839 -0.330606 0.922682 0.198387 0.490491 45 57.5 1 0 +232 1 1 0 47.1007 59.4782 51.3257 -0.289929 0.947822 0.13257 0.490491 45 57.5 1 0 +233 1 1 0 47.3845 59.4443 51.9909 -0.26155 0.944433 0.199094 0.490491 45 57.5 1 0 +234 1 1 0 52.7469 58.5264 54.4446 0.274694 0.85264 0.444464 0.490491 45 57.5 1 0 +235 1 1 0 53.4285 58.2845 54.4287 0.342848 0.828447 0.442867 0.490491 45 57.5 1 0 +236 1 1 0 52.3868 58.9101 53.8619 0.238677 0.891007 0.386187 0.490491 45 57.5 1 0 +237 1 1 0 53.0766 58.6973 53.8591 0.307659 0.869725 0.385906 0.490491 45 57.5 1 0 +238 1 1 0 53.7504 58.4391 53.8361 0.375038 0.843912 0.383614 0.490491 45 57.5 1 0 +239 1 1 0 52.0119 59.2388 53.2553 0.201189 0.92388 0.32553 0.490491 45 57.5 1 0 +240 1 1 0 52.7063 59.0583 53.2593 0.270627 0.905832 0.325929 0.490491 45 57.5 1 0 +241 1 1 0 51.6246 59.5106 52.6287 0.16246 0.951057 0.262865 0.490491 45 57.5 1 0 +242 1 1 0 52.3245 59.3605 52.6415 0.232455 0.93605 0.264151 0.490491 45 57.5 1 0 +243 1 1 0 53.0126 59.1624 52.6408 0.301258 0.916244 0.264082 0.490491 45 57.5 1 0 +244 1 1 0 53.3921 58.8284 53.2486 0.339209 0.882837 0.324863 0.490491 45 57.5 1 0 +245 1 1 0 54.0543 58.5534 53.2252 0.405434 0.855337 0.322525 0.490491 45 57.5 1 0 +246 1 1 0 53.6852 58.9174 52.6266 0.368518 0.891742 0.262661 0.490491 45 57.5 1 0 +247 1 1 0 54.3389 58.6267 52.5989 0.433888 0.862669 0.259892 0.490491 45 57.5 1 0 +248 1 1 0 51.2273 59.7237 51.9858 0.122729 0.97237 0.198581 0.490491 45 57.5 1 0 +249 1 1 0 51.9178 59.6119 51.9834 0.19178 0.961188 0.198337 0.490491 45 57.5 1 0 +250 1 1 0 50.8224 59.8769 51.3307 0.0822422 0.987688 0.133071 0.490491 45 57.5 1 0 +251 1 1 0 51.5155 59.7943 51.3326 0.151549 0.979426 0.133256 0.490491 45 57.5 1 0 +252 1 1 0 52.2012 59.6639 51.3279 0.220117 0.966393 0.132792 0.490491 45 57.5 1 0 +253 1 1 0 50.4125 59.9692 50.6674 0.0412479 0.996917 0.0667412 0.490491 45 57.5 1 0 +254 1 1 0 51.1039 59.9165 50.6671 0.110385 0.991648 0.0667095 0.490491 45 57.5 1 0 +255 1 1 0 51.796 59.8148 50.666 0.179596 0.981483 0.0666046 0.490491 45 57.5 1 0 +256 1 1 0 52.4733 59.6664 50.6657 0.247326 0.966643 0.0665668 0.490491 45 57.5 1 0 +257 1 1 0 53.9735 58.964 51.9641 0.39735 0.896401 0.196412 0.490491 45 57.5 1 0 +258 1 1 0 54.6027 58.6587 51.9602 0.460266 0.865871 0.196015 0.490491 45 57.5 1 0 +259 1 1 0 53.5823 59.243 51.3166 0.358229 0.924305 0.131656 0.490491 45 57.5 1 0 +260 1 1 0 54.2236 58.968 51.3175 0.422363 0.896801 0.131749 0.490491 45 57.5 1 0 +261 1 1 0 54.8444 58.6493 51.312 0.484441 0.864929 0.1312 0.490491 45 57.5 1 0 +262 1 1 0 53.1678 59.462 50.6604 0.316778 0.946198 0.0660427 0.490491 45 57.5 1 0 +263 1 1 0 53.8172 59.2192 50.6599 0.381722 0.921919 0.0659886 0.490491 45 57.5 1 0 +264 1 1 0 54.4537 58.9293 50.6582 0.445365 0.892927 0.0658169 0.490491 45 57.5 1 0 +265 1 1 0 55.063 58.5985 50.6576 0.506298 0.859848 0.0657577 0.490491 45 57.5 1 0 +266 1 1 0 52.6155 59.4443 51.9909 0.26155 0.944433 0.199094 0.490491 45 57.5 1 0 +267 1 1 0 52.8993 59.4782 51.3257 0.289929 0.947822 0.13257 0.490491 45 57.5 1 0 +268 1 1 0 53.3061 59.2268 51.9839 0.330606 0.922682 0.198387 0.490491 45 57.5 1 0 +269 1 1 0 48.0177 58.6853 54.5426 -0.198227 0.868535 0.454262 0.490491 45 57.5 1 0 +270 1 1 0 48.3899 59.0484 53.9414 -0.161007 0.904839 0.394136 0.490491 45 57.5 1 0 +271 1 1 0 48.772 59.3513 53.3234 -0.1228 0.93513 0.332342 0.490491 45 57.5 1 0 +272 1 1 0 49.1768 59.1298 53.9961 -0.0823235 0.912983 0.399607 0.490491 45 57.5 1 0 +273 1 1 0 48.8024 58.7934 54.6088 -0.119755 0.879344 0.460882 0.490491 45 57.5 1 0 +274 1 1 0 49.587 58.8476 54.6421 -0.0412991 0.88476 0.464213 0.490491 45 57.5 1 0 +275 1 1 0 49.185 59.6065 52.6552 -0.081501 0.960655 0.265519 0.490491 45 57.5 1 0 +276 1 1 0 49.5875 59.7885 52.0037 -0.0412506 0.978852 0.200368 0.490491 45 57.5 1 0 +277 1 1 0 50 59.6386 52.664 0 0.963861 0.266405 0.490491 45 57.5 1 0 +278 1 1 0 50 59.9105 51.3352 0 0.991046 0.133524 0.490491 45 57.5 1 0 +279 1 1 0 50.4125 59.7885 52.0037 0.0412506 0.978852 0.200368 0.490491 45 57.5 1 0 +280 1 1 0 50.815 59.6065 52.6552 0.081501 0.960655 0.265519 0.490491 45 57.5 1 0 +281 1 1 0 50.413 58.8476 54.6421 0.0412991 0.88476 0.464213 0.490491 45 57.5 1 0 +282 1 1 0 50.8232 59.1298 53.9961 0.0823235 0.912983 0.399607 0.490491 45 57.5 1 0 +283 1 1 0 51.1976 58.7934 54.6088 0.119755 0.879344 0.460882 0.490491 45 57.5 1 0 +284 1 1 0 51.228 59.3513 53.3234 0.1228 0.93513 0.332342 0.490491 45 57.5 1 0 +285 1 1 0 51.6101 59.0484 53.9414 0.161007 0.904839 0.394136 0.490491 45 57.5 1 0 +286 1 1 0 51.9823 58.6853 54.5426 0.198227 0.868535 0.454262 0.490491 45 57.5 1 0 +287 1 1 0 49.587 59.4162 53.3414 -0.0413021 0.941618 0.33414 0.490491 45 57.5 1 0 +288 1 1 0 50.413 59.4162 53.3414 0.0413021 0.941618 0.33414 0.490491 45 57.5 1 0 +289 1 1 0 50 59.1609 54.0097 0 0.916092 0.400968 0.490491 45 57.5 1 0 +290 1 1 0 50 54.6566 58.8497 0 0.465657 0.884965 0.490491 45 57.5 1 0 +291 1 1 0 49.3424 55.063 58.5985 -0.0657577 0.506298 0.859848 0.490491 45 57.5 1 0 +292 1 1 0 50 54.0336 59.1504 0 0.403355 0.915043 0.490491 45 57.5 1 0 +293 1 1 0 49.3418 54.4537 58.9293 -0.0658169 0.445365 0.892927 0.490491 45 57.5 1 0 +294 1 1 0 48.688 54.8444 58.6493 -0.1312 0.484441 0.864929 0.490491 45 57.5 1 0 +295 1 1 0 50 53.3912 59.4074 0 0.339122 0.940742 0.490491 45 57.5 1 0 +296 1 1 0 49.3401 53.8172 59.2192 -0.0659885 0.381722 0.921919 0.490491 45 57.5 1 0 +297 1 1 0 50 52.7327 59.6194 0 0.273267 0.961938 0.490491 45 57.5 1 0 +298 1 1 0 49.3396 53.1678 59.462 -0.0660427 0.316778 0.946198 0.490491 45 57.5 1 0 +299 1 1 0 48.6834 53.5823 59.243 -0.131656 0.358229 0.924305 0.490491 45 57.5 1 0 +300 1 1 0 48.6825 54.2236 58.968 -0.131749 0.422363 0.896801 0.490491 45 57.5 1 0 +301 1 1 0 48.0398 54.6027 58.6587 -0.196015 0.460266 0.865871 0.490491 45 57.5 1 0 +302 1 1 0 48.0359 53.9735 58.964 -0.196412 0.39735 0.896401 0.490491 45 57.5 1 0 +303 1 1 0 47.4011 54.3389 58.6267 -0.259892 0.433888 0.862669 0.490491 45 57.5 1 0 +304 1 1 0 50 52.061 59.7853 0 0.206103 0.97853 0.490491 45 57.5 1 0 +305 1 1 0 49.3343 52.4733 59.6664 -0.0665668 0.247326 0.966643 0.490491 45 57.5 1 0 +306 1 1 0 50 51.3795 59.9044 0 0.137952 0.990439 0.490491 45 57.5 1 0 +307 1 1 0 49.334 51.796 59.8148 -0.0666046 0.179596 0.981483 0.490491 45 57.5 1 0 +308 1 1 0 48.6721 52.2012 59.6639 -0.132792 0.220117 0.966393 0.490491 45 57.5 1 0 +309 1 1 0 50 50.6914 59.9761 0 0.0691418 0.997607 0.490491 45 57.5 1 0 +310 1 1 0 49.3329 51.1039 59.9165 -0.0667095 0.110385 0.991648 0.490491 45 57.5 1 0 +311 1 1 0 50 50 60 0 0 1 0.490491 45 57.5 1 0 +312 1 1 0 49.3326 50.4125 59.9692 -0.0667412 0.0412479 0.996917 0.490491 45 57.5 1 0 +313 1 1 0 48.6693 50.8224 59.8769 -0.133071 0.0822422 0.987688 0.490491 45 57.5 1 0 +314 1 1 0 48.6674 51.5155 59.7943 -0.133256 0.151549 0.979426 0.490491 45 57.5 1 0 +315 1 1 0 48.0166 51.9178 59.6119 -0.198337 0.19178 0.961188 0.490491 45 57.5 1 0 +316 1 1 0 48.0142 51.2273 59.7237 -0.198581 0.122729 0.97237 0.490491 45 57.5 1 0 +317 1 1 0 47.3713 51.6246 59.5106 -0.262865 0.16246 0.951057 0.490491 45 57.5 1 0 +318 1 1 0 47.3734 53.6852 58.9174 -0.262661 0.368518 0.891742 0.490491 45 57.5 1 0 +319 1 1 0 46.7748 54.0543 58.5534 -0.322525 0.405434 0.855337 0.490491 45 57.5 1 0 +320 1 1 0 47.3592 53.0126 59.1624 -0.264082 0.301258 0.916244 0.490491 45 57.5 1 0 +321 1 1 0 46.7514 53.3921 58.8284 -0.324863 0.339209 0.882837 0.490491 45 57.5 1 0 +322 1 1 0 46.1639 53.7504 58.4391 -0.383614 0.375038 0.843912 0.490491 45 57.5 1 0 +323 1 1 0 47.3585 52.3245 59.3605 -0.264151 0.232455 0.93605 0.490491 45 57.5 1 0 +324 1 1 0 46.7407 52.7063 59.0583 -0.325929 0.270627 0.905832 0.490491 45 57.5 1 0 +325 1 1 0 46.7447 52.0119 59.2388 -0.32553 0.201189 0.92388 0.490491 45 57.5 1 0 +326 1 1 0 46.1381 52.3868 58.9101 -0.386187 0.238677 0.891007 0.490491 45 57.5 1 0 +327 1 1 0 46.1409 53.0766 58.6973 -0.385906 0.307659 0.869725 0.490491 45 57.5 1 0 +328 1 1 0 45.5713 53.4285 58.2845 -0.442867 0.342848 0.828447 0.490491 45 57.5 1 0 +329 1 1 0 45.5554 52.7469 58.5264 -0.444464 0.274694 0.85264 0.490491 45 57.5 1 0 +330 1 1 0 45 53.0902 58.0902 -0.5 0.309017 0.809017 0.490491 45 57.5 1 0 +331 1 1 0 48.6743 52.8993 59.4782 -0.13257 0.289929 0.947822 0.490491 45 57.5 1 0 +332 1 1 0 48.0091 52.6155 59.4443 -0.199094 0.26155 0.944433 0.490491 45 57.5 1 0 +333 1 1 0 48.0161 53.3061 59.2268 -0.198387 0.330606 0.922682 0.490491 45 57.5 1 0 +334 1 1 0 50 49.3086 59.9761 0 -0.0691418 0.997607 0.490491 45 57.5 1 0 +335 1 1 0 49.3326 49.5875 59.9692 -0.0667412 -0.0412479 0.996917 0.490491 45 57.5 1 0 +336 1 1 0 50 48.6205 59.9044 0 -0.137952 0.990439 0.490491 45 57.5 1 0 +337 1 1 0 49.3329 48.8961 59.9165 -0.0667095 -0.110385 0.991648 0.490491 45 57.5 1 0 +338 1 1 0 48.6693 49.1776 59.8769 -0.133071 -0.0822422 0.987688 0.490491 45 57.5 1 0 +339 1 1 0 50 47.939 59.7853 0 -0.206103 0.97853 0.490491 45 57.5 1 0 +340 1 1 0 49.334 48.204 59.8148 -0.0666046 -0.179596 0.981483 0.490491 45 57.5 1 0 +341 1 1 0 50 47.2673 59.6194 0 -0.273267 0.961938 0.490491 45 57.5 1 0 +342 1 1 0 49.3343 47.5267 59.6664 -0.0665668 -0.247326 0.966643 0.490491 45 57.5 1 0 +343 1 1 0 48.6721 47.7988 59.6639 -0.132792 -0.220117 0.966393 0.490491 45 57.5 1 0 +344 1 1 0 48.6674 48.4845 59.7943 -0.133256 -0.151549 0.979426 0.490491 45 57.5 1 0 +345 1 1 0 48.0142 48.7727 59.7237 -0.198581 -0.122729 0.97237 0.490491 45 57.5 1 0 +346 1 1 0 48.0166 48.0822 59.6119 -0.198337 -0.19178 0.961188 0.490491 45 57.5 1 0 +347 1 1 0 47.3713 48.3754 59.5106 -0.262865 -0.16246 0.951057 0.490491 45 57.5 1 0 +348 1 1 0 50 46.6088 59.4074 0 -0.339122 0.940742 0.490491 45 57.5 1 0 +349 1 1 0 49.3396 46.8322 59.462 -0.0660427 -0.316778 0.946198 0.490491 45 57.5 1 0 +350 1 1 0 50 45.9664 59.1504 0 -0.403355 0.915043 0.490491 45 57.5 1 0 +351 1 1 0 49.3401 46.1828 59.2192 -0.0659885 -0.381722 0.921919 0.490491 45 57.5 1 0 +352 1 1 0 48.6834 46.4177 59.243 -0.131656 -0.358229 0.924305 0.490491 45 57.5 1 0 +353 1 1 0 50 45.3434 58.8497 0 -0.465657 0.884965 0.490491 45 57.5 1 0 +354 1 1 0 49.3418 45.5463 58.9293 -0.0658169 -0.445365 0.892927 0.490491 45 57.5 1 0 +355 1 1 0 50 44.7427 58.5065 0 -0.525731 0.850651 0.490491 45 57.5 1 0 +356 1 1 0 49.3424 44.937 58.5985 -0.0657577 -0.506298 0.859848 0.490491 45 57.5 1 0 +357 1 1 0 48.688 45.1556 58.6493 -0.1312 -0.484441 0.864929 0.490491 45 57.5 1 0 +358 1 1 0 48.6825 45.7764 58.968 -0.131749 -0.422363 0.896801 0.490491 45 57.5 1 0 +359 1 1 0 48.0359 46.0265 58.964 -0.196412 -0.39735 0.896401 0.490491 45 57.5 1 0 +360 1 1 0 48.0398 45.3973 58.6587 -0.196015 -0.460266 0.865871 0.490491 45 57.5 1 0 +361 1 1 0 47.4011 45.6611 58.6267 -0.259892 -0.433888 0.862669 0.490491 45 57.5 1 0 +362 1 1 0 47.3585 47.6755 59.3605 -0.264151 -0.232455 0.93605 0.490491 45 57.5 1 0 +363 1 1 0 46.7447 47.9881 59.2388 -0.32553 -0.201189 0.92388 0.490491 45 57.5 1 0 +364 1 1 0 47.3592 46.9874 59.1624 -0.264082 -0.301258 0.916244 0.490491 45 57.5 1 0 +365 1 1 0 46.7407 47.2937 59.0583 -0.325929 -0.270627 0.905832 0.490491 45 57.5 1 0 +366 1 1 0 46.1381 47.6132 58.9101 -0.386187 -0.238677 0.891007 0.490491 45 57.5 1 0 +367 1 1 0 47.3734 46.3148 58.9174 -0.262661 -0.368518 0.891742 0.490491 45 57.5 1 0 +368 1 1 0 46.7514 46.6079 58.8284 -0.324863 -0.339209 0.882837 0.490491 45 57.5 1 0 +369 1 1 0 46.7748 45.9457 58.5534 -0.322525 -0.405434 0.855337 0.490491 45 57.5 1 0 +370 1 1 0 46.1639 46.2496 58.4391 -0.383614 -0.375038 0.843912 0.490491 45 57.5 1 0 +371 1 1 0 46.1409 46.9234 58.6973 -0.385906 -0.307659 0.869725 0.490491 45 57.5 1 0 +372 1 1 0 45.5554 47.2531 58.5264 -0.444464 -0.274694 0.85264 0.490491 45 57.5 1 0 +373 1 1 0 45.5713 46.5715 58.2845 -0.442867 -0.342848 0.828447 0.490491 45 57.5 1 0 +374 1 1 0 45 46.9098 58.0902 -0.5 -0.309017 0.809017 0.490491 45 57.5 1 0 +375 1 1 0 48.6743 47.1007 59.4782 -0.13257 -0.289929 0.947822 0.490491 45 57.5 1 0 +376 1 1 0 48.0161 46.6939 59.2268 -0.198387 -0.330606 0.922682 0.490491 45 57.5 1 0 +377 1 1 0 48.0091 47.3845 59.4443 -0.199094 -0.26155 0.944433 0.490491 45 57.5 1 0 +378 1 1 0 44.888 52.3345 58.2715 -0.511205 0.233445 0.827147 0.490491 45 57.5 1 0 +379 1 1 0 44.4526 52.7371 57.8572 -0.55474 0.273706 0.785715 0.490491 45 57.5 1 0 +380 1 1 0 44.8074 51.5643 58.4018 -0.519259 0.156434 0.840178 0.490491 45 57.5 1 0 +381 1 1 0 44.3549 51.9727 58.015 -0.564513 0.197274 0.801504 0.490491 45 57.5 1 0 +382 1 1 0 43.9317 52.3709 57.5865 -0.606825 0.237086 0.758652 0.490491 45 57.5 1 0 +383 1 1 0 44.7589 50.7846 58.4803 -0.52411 0.0784592 0.848029 0.490491 45 57.5 1 0 +384 1 1 0 44.2886 51.1908 58.1217 -0.57114 0.119078 0.81217 0.490491 45 57.5 1 0 +385 1 1 0 44.7427 50 58.5065 -0.525731 0 0.850651 0.490491 45 57.5 1 0 +386 1 1 0 44.2554 50.4067 58.1752 -0.574458 0.040675 0.817523 0.490491 45 57.5 1 0 +387 1 1 0 43.7976 50.8114 57.802 -0.620239 0.0811417 0.780205 0.490491 45 57.5 1 0 +388 1 1 0 43.8454 51.5961 57.7184 -0.615456 0.159613 0.771841 0.490491 45 57.5 1 0 +389 1 1 0 43.4399 51.9933 57.2796 -0.656006 0.199331 0.727959 0.490491 45 57.5 1 0 +390 1 1 0 43.3716 51.2119 57.3889 -0.662842 0.121192 0.738887 0.490491 45 57.5 1 0 +391 1 1 0 42.9795 51.6062 56.9378 -0.702047 0.160622 0.69378 0.490491 45 57.5 1 0 +392 1 1 0 44.7589 49.2154 58.4803 -0.52411 -0.0784592 0.848029 0.490491 45 57.5 1 0 +393 1 1 0 44.2554 49.5933 58.1752 -0.574458 -0.040675 0.817523 0.490491 45 57.5 1 0 +394 1 1 0 44.8074 48.4357 58.4018 -0.519259 -0.156434 0.840178 0.490491 45 57.5 1 0 +395 1 1 0 44.2886 48.8092 58.1217 -0.57114 -0.119078 0.81217 0.490491 45 57.5 1 0 +396 1 1 0 43.7976 49.1886 57.802 -0.620239 -0.0811417 0.780205 0.490491 45 57.5 1 0 +397 1 1 0 44.888 47.6655 58.2715 -0.511205 -0.233445 0.827147 0.490491 45 57.5 1 0 +398 1 1 0 44.3549 48.0273 58.015 -0.564513 -0.197274 0.801504 0.490491 45 57.5 1 0 +399 1 1 0 44.4526 47.2629 57.8572 -0.55474 -0.273706 0.785715 0.490491 45 57.5 1 0 +400 1 1 0 43.9317 47.6291 57.5865 -0.606825 -0.237086 0.758652 0.490491 45 57.5 1 0 +401 1 1 0 43.8454 48.4039 57.7184 -0.615456 -0.159613 0.771841 0.490491 45 57.5 1 0 +402 1 1 0 43.3716 48.7881 57.3889 -0.662842 -0.121192 0.738887 0.490491 45 57.5 1 0 +403 1 1 0 43.4399 48.0067 57.2796 -0.656006 -0.199331 0.727959 0.490491 45 57.5 1 0 +404 1 1 0 42.9795 48.3938 56.9378 -0.702047 -0.160622 0.69378 0.490491 45 57.5 1 0 +405 1 1 0 42.9103 50.8057 57.0062 -0.708969 0.0805729 0.700622 0.490491 45 57.5 1 0 +406 1 1 0 42.5527 51.2114 56.5628 -0.744727 0.121144 0.656282 0.490491 45 57.5 1 0 +407 1 1 0 42.8872 50 57.0291 -0.711282 0 0.702907 0.490491 45 57.5 1 0 +408 1 1 0 42.5061 50.4064 56.6088 -0.749387 0.0406418 0.660883 0.490491 45 57.5 1 0 +409 1 1 0 42.1616 50.8109 56.1564 -0.783843 0.081086 0.615642 0.490491 45 57.5 1 0 +410 1 1 0 42.9103 49.1943 57.0062 -0.708969 -0.0805729 0.700622 0.490491 45 57.5 1 0 +411 1 1 0 42.5061 49.5936 56.6088 -0.749387 -0.0406418 0.660883 0.490491 45 57.5 1 0 +412 1 1 0 42.5527 48.7886 56.5628 -0.744727 -0.121144 0.656282 0.490491 45 57.5 1 0 +413 1 1 0 42.1616 49.1891 56.1564 -0.783843 -0.081086 0.615642 0.490491 45 57.5 1 0 +414 1 1 0 42.1357 50 56.1768 -0.786433 0 0.617676 0.490491 45 57.5 1 0 +415 1 1 0 41.8079 50.4064 55.7206 -0.819207 0.0406403 0.572055 0.490491 45 57.5 1 0 +416 1 1 0 41.8079 49.5936 55.7206 -0.819207 -0.0406403 0.572055 0.490491 45 57.5 1 0 +417 1 1 0 41.4935 50 55.2573 -0.850651 0 0.525731 0.490491 45 57.5 1 0 +418 1 1 0 43.7771 50 57.8279 -0.622291 0 0.782786 0.490491 45 57.5 1 0 +419 1 1 0 43.325 49.5932 57.435 -0.667502 -0.0406769 0.743496 0.490491 45 57.5 1 0 +420 1 1 0 43.325 50.4068 57.435 -0.667502 0.0406769 0.743496 0.490491 45 57.5 1 0 +421 1 1 0 48.6648 50 59.9105 -0.133524 0 0.991046 0.490491 45 57.5 1 0 +422 1 1 0 47.9963 49.5875 59.7885 -0.200368 -0.0412506 0.978852 0.490491 45 57.5 1 0 +423 1 1 0 47.3448 49.185 59.6065 -0.265519 -0.081501 0.960655 0.490491 45 57.5 1 0 +424 1 1 0 47.336 50 59.6386 -0.266405 0 0.963861 0.490491 45 57.5 1 0 +425 1 1 0 47.9963 50.4125 59.7885 -0.200368 0.0412506 0.978852 0.490491 45 57.5 1 0 +426 1 1 0 47.3448 50.815 59.6065 -0.265519 0.081501 0.960655 0.490491 45 57.5 1 0 +427 1 1 0 46.6766 48.772 59.3513 -0.332342 -0.1228 0.93513 0.490491 45 57.5 1 0 +428 1 1 0 46.0586 48.3899 59.0484 -0.394136 -0.161007 0.904839 0.490491 45 57.5 1 0 +429 1 1 0 46.0039 49.1768 59.1298 -0.399607 -0.0823235 0.912983 0.490491 45 57.5 1 0 +430 1 1 0 45.4574 48.0177 58.6853 -0.454262 -0.198227 0.868535 0.490491 45 57.5 1 0 +431 1 1 0 45.3912 48.8024 58.7934 -0.460882 -0.119755 0.879344 0.490491 45 57.5 1 0 +432 1 1 0 45.3579 49.587 58.8476 -0.464213 -0.0412991 0.88476 0.490491 45 57.5 1 0 +433 1 1 0 46.6766 51.228 59.3513 -0.332342 0.1228 0.93513 0.490491 45 57.5 1 0 +434 1 1 0 46.0039 50.8232 59.1298 -0.399607 0.0823235 0.912983 0.490491 45 57.5 1 0 +435 1 1 0 46.0586 51.6101 59.0484 -0.394136 0.161007 0.904839 0.490491 45 57.5 1 0 +436 1 1 0 45.3579 50.413 58.8476 -0.464213 0.0412991 0.88476 0.490491 45 57.5 1 0 +437 1 1 0 45.3912 51.1976 58.7934 -0.460882 0.119755 0.879344 0.490491 45 57.5 1 0 +438 1 1 0 45.4574 51.9823 58.6853 -0.454262 0.198227 0.868535 0.490491 45 57.5 1 0 +439 1 1 0 46.6586 49.587 59.4162 -0.33414 -0.0413021 0.941618 0.490491 45 57.5 1 0 +440 1 1 0 45.9903 50 59.1609 -0.400968 0 0.916092 0.490491 45 57.5 1 0 +441 1 1 0 46.6586 50.413 59.4162 -0.33414 0.0413021 0.941618 0.490491 45 57.5 1 0 +442 1 1 0 50.6576 55.063 58.5985 0.0657577 0.506298 0.859848 0.490491 45 57.5 1 0 +443 1 1 0 51.312 54.8444 58.6493 0.1312 0.484441 0.864929 0.490491 45 57.5 1 0 +444 1 1 0 50.6582 54.4537 58.9293 0.0658169 0.445365 0.892927 0.490491 45 57.5 1 0 +445 1 1 0 51.9602 54.6027 58.6587 0.196015 0.460266 0.865871 0.490491 45 57.5 1 0 +446 1 1 0 51.3175 54.2236 58.968 0.131749 0.422363 0.896801 0.490491 45 57.5 1 0 +447 1 1 0 52.5989 54.3389 58.6267 0.259892 0.433888 0.862669 0.490491 45 57.5 1 0 +448 1 1 0 51.9641 53.9735 58.964 0.196412 0.39735 0.896401 0.490491 45 57.5 1 0 +449 1 1 0 51.3166 53.5823 59.243 0.131656 0.358229 0.924305 0.490491 45 57.5 1 0 +450 1 1 0 50.6599 53.8172 59.2192 0.0659885 0.381722 0.921919 0.490491 45 57.5 1 0 +451 1 1 0 50.6604 53.1678 59.462 0.0660427 0.316778 0.946198 0.490491 45 57.5 1 0 +452 1 1 0 53.2252 54.0543 58.5534 0.322525 0.405434 0.855337 0.490491 45 57.5 1 0 +453 1 1 0 52.6266 53.6852 58.9174 0.262661 0.368518 0.891742 0.490491 45 57.5 1 0 +454 1 1 0 53.8361 53.7504 58.4391 0.383614 0.375038 0.843912 0.490491 45 57.5 1 0 +455 1 1 0 53.2486 53.3921 58.8284 0.324863 0.339209 0.882837 0.490491 45 57.5 1 0 +456 1 1 0 52.6408 53.0126 59.1624 0.264082 0.301258 0.916244 0.490491 45 57.5 1 0 +457 1 1 0 54.4287 53.4285 58.2845 0.442867 0.342848 0.828447 0.490491 45 57.5 1 0 +458 1 1 0 53.8591 53.0766 58.6973 0.385906 0.307659 0.869725 0.490491 45 57.5 1 0 +459 1 1 0 55 53.0902 58.0902 0.5 0.309017 0.809017 0.490491 45 57.5 1 0 +460 1 1 0 54.4446 52.7469 58.5264 0.444464 0.274694 0.85264 0.490491 45 57.5 1 0 +461 1 1 0 53.8619 52.3868 58.9101 0.386187 0.238677 0.891007 0.490491 45 57.5 1 0 +462 1 1 0 53.2593 52.7063 59.0583 0.325929 0.270627 0.905832 0.490491 45 57.5 1 0 +463 1 1 0 52.6415 52.3245 59.3605 0.264151 0.232455 0.93605 0.490491 45 57.5 1 0 +464 1 1 0 53.2553 52.0119 59.2388 0.32553 0.201189 0.92388 0.490491 45 57.5 1 0 +465 1 1 0 52.6287 51.6246 59.5106 0.262865 0.16246 0.951057 0.490491 45 57.5 1 0 +466 1 1 0 50.6657 52.4733 59.6664 0.0665668 0.247326 0.966643 0.490491 45 57.5 1 0 +467 1 1 0 51.3279 52.2012 59.6639 0.132792 0.220117 0.966393 0.490491 45 57.5 1 0 +468 1 1 0 50.666 51.796 59.8148 0.0666046 0.179596 0.981483 0.490491 45 57.5 1 0 +469 1 1 0 51.9834 51.9178 59.6119 0.198337 0.19178 0.961188 0.490491 45 57.5 1 0 +470 1 1 0 51.3326 51.5155 59.7943 0.133256 0.151549 0.979426 0.490491 45 57.5 1 0 +471 1 1 0 51.9858 51.2273 59.7237 0.198581 0.122729 0.97237 0.490491 45 57.5 1 0 +472 1 1 0 51.3307 50.8224 59.8769 0.133071 0.0822422 0.987688 0.490491 45 57.5 1 0 +473 1 1 0 50.6671 51.1039 59.9165 0.0667095 0.110385 0.991648 0.490491 45 57.5 1 0 +474 1 1 0 50.6674 50.4125 59.9692 0.0667412 0.0412479 0.996917 0.490491 45 57.5 1 0 +475 1 1 0 51.9839 53.3061 59.2268 0.198387 0.330606 0.922682 0.490491 45 57.5 1 0 +476 1 1 0 51.9909 52.6155 59.4443 0.199094 0.26155 0.944433 0.490491 45 57.5 1 0 +477 1 1 0 51.3257 52.8993 59.4782 0.13257 0.289929 0.947822 0.490491 45 57.5 1 0 +478 1 1 0 55.5474 52.7371 57.8572 0.55474 0.273706 0.785715 0.490491 45 57.5 1 0 +479 1 1 0 55.112 52.3345 58.2715 0.511205 0.233445 0.827147 0.490491 45 57.5 1 0 +480 1 1 0 56.0683 52.3709 57.5865 0.606825 0.237086 0.758652 0.490491 45 57.5 1 0 +481 1 1 0 55.6451 51.9727 58.015 0.564513 0.197274 0.801504 0.490491 45 57.5 1 0 +482 1 1 0 55.1926 51.5643 58.4018 0.519259 0.156434 0.840178 0.490491 45 57.5 1 0 +483 1 1 0 56.5601 51.9933 57.2796 0.656006 0.199331 0.727959 0.490491 45 57.5 1 0 +484 1 1 0 56.1546 51.5961 57.7184 0.615456 0.159613 0.771841 0.490491 45 57.5 1 0 +485 1 1 0 57.0205 51.6062 56.9378 0.702047 0.160622 0.69378 0.490491 45 57.5 1 0 +486 1 1 0 56.6284 51.2119 57.3889 0.662842 0.121192 0.738887 0.490491 45 57.5 1 0 +487 1 1 0 56.2024 50.8114 57.802 0.620239 0.0811417 0.780205 0.490491 45 57.5 1 0 +488 1 1 0 55.7114 51.1908 58.1217 0.57114 0.119078 0.81217 0.490491 45 57.5 1 0 +489 1 1 0 55.2411 50.7846 58.4803 0.52411 0.0784592 0.848029 0.490491 45 57.5 1 0 +490 1 1 0 55.7446 50.4067 58.1752 0.574458 0.040675 0.817523 0.490491 45 57.5 1 0 +491 1 1 0 55.2573 50 58.5065 0.525731 0 0.850651 0.490491 45 57.5 1 0 +492 1 1 0 57.4473 51.2114 56.5628 0.744727 0.121144 0.656282 0.490491 45 57.5 1 0 +493 1 1 0 57.0897 50.8057 57.0062 0.708969 0.0805729 0.700622 0.490491 45 57.5 1 0 +494 1 1 0 57.8384 50.8109 56.1564 0.783843 0.081086 0.615642 0.490491 45 57.5 1 0 +495 1 1 0 57.4939 50.4064 56.6088 0.749387 0.0406418 0.660883 0.490491 45 57.5 1 0 +496 1 1 0 57.1128 50 57.0291 0.711282 0 0.702907 0.490491 45 57.5 1 0 +497 1 1 0 58.1921 50.4064 55.7206 0.819207 0.0406403 0.572055 0.490491 45 57.5 1 0 +498 1 1 0 57.8643 50 56.1768 0.786433 0 0.617676 0.490491 45 57.5 1 0 +499 1 1 0 58.5065 50 55.2573 0.850651 0 0.525731 0.490491 45 57.5 1 0 +500 1 1 0 58.1921 49.5936 55.7206 0.819207 -0.0406403 0.572055 0.490491 45 57.5 1 0 +501 1 1 0 57.8384 49.1891 56.1564 0.783843 -0.081086 0.615642 0.490491 45 57.5 1 0 +502 1 1 0 57.4939 49.5936 56.6088 0.749387 -0.0406418 0.660883 0.490491 45 57.5 1 0 +503 1 1 0 57.0897 49.1943 57.0062 0.708969 -0.0805729 0.700622 0.490491 45 57.5 1 0 +504 1 1 0 57.4473 48.7886 56.5628 0.744727 -0.121144 0.656282 0.490491 45 57.5 1 0 +505 1 1 0 57.0205 48.3938 56.9378 0.702047 -0.160622 0.69378 0.490491 45 57.5 1 0 +506 1 1 0 55.7446 49.5933 58.1752 0.574458 -0.040675 0.817523 0.490491 45 57.5 1 0 +507 1 1 0 55.2411 49.2154 58.4803 0.52411 -0.0784592 0.848029 0.490491 45 57.5 1 0 +508 1 1 0 56.2024 49.1886 57.802 0.620239 -0.0811417 0.780205 0.490491 45 57.5 1 0 +509 1 1 0 55.7114 48.8092 58.1217 0.57114 -0.119078 0.81217 0.490491 45 57.5 1 0 +510 1 1 0 55.1926 48.4357 58.4018 0.519259 -0.156434 0.840178 0.490491 45 57.5 1 0 +511 1 1 0 56.6284 48.7881 57.3889 0.662842 -0.121192 0.738887 0.490491 45 57.5 1 0 +512 1 1 0 56.1546 48.4039 57.7184 0.615456 -0.159613 0.771841 0.490491 45 57.5 1 0 +513 1 1 0 56.5601 48.0067 57.2796 0.656006 -0.199331 0.727959 0.490491 45 57.5 1 0 +514 1 1 0 56.0683 47.6291 57.5865 0.606825 -0.237086 0.758652 0.490491 45 57.5 1 0 +515 1 1 0 55.6451 48.0273 58.015 0.564513 -0.197274 0.801504 0.490491 45 57.5 1 0 +516 1 1 0 55.112 47.6655 58.2715 0.511205 -0.233445 0.827147 0.490491 45 57.5 1 0 +517 1 1 0 55.5474 47.2629 57.8572 0.55474 -0.273706 0.785715 0.490491 45 57.5 1 0 +518 1 1 0 55 46.9098 58.0902 0.5 -0.309017 0.809017 0.490491 45 57.5 1 0 +519 1 1 0 56.675 50.4068 57.435 0.667502 0.0406769 0.743496 0.490491 45 57.5 1 0 +520 1 1 0 56.675 49.5932 57.435 0.667502 -0.0406769 0.743496 0.490491 45 57.5 1 0 +521 1 1 0 56.2229 50 57.8279 0.622291 0 0.782786 0.490491 45 57.5 1 0 +522 1 1 0 50.6674 49.5875 59.9692 0.0667412 -0.0412479 0.996917 0.490491 45 57.5 1 0 +523 1 1 0 51.3307 49.1776 59.8769 0.133071 -0.0822422 0.987688 0.490491 45 57.5 1 0 +524 1 1 0 50.6671 48.8961 59.9165 0.0667095 -0.110385 0.991648 0.490491 45 57.5 1 0 +525 1 1 0 51.9858 48.7727 59.7237 0.198581 -0.122729 0.97237 0.490491 45 57.5 1 0 +526 1 1 0 51.3326 48.4845 59.7943 0.133256 -0.151549 0.979426 0.490491 45 57.5 1 0 +527 1 1 0 52.6287 48.3754 59.5106 0.262865 -0.16246 0.951057 0.490491 45 57.5 1 0 +528 1 1 0 51.9834 48.0822 59.6119 0.198337 -0.19178 0.961188 0.490491 45 57.5 1 0 +529 1 1 0 51.3279 47.7988 59.6639 0.132792 -0.220117 0.966393 0.490491 45 57.5 1 0 +530 1 1 0 50.666 48.204 59.8148 0.0666046 -0.179596 0.981483 0.490491 45 57.5 1 0 +531 1 1 0 50.6657 47.5267 59.6664 0.0665668 -0.247326 0.966643 0.490491 45 57.5 1 0 +532 1 1 0 53.2553 47.9881 59.2388 0.32553 -0.201189 0.92388 0.490491 45 57.5 1 0 +533 1 1 0 52.6415 47.6755 59.3605 0.264151 -0.232455 0.93605 0.490491 45 57.5 1 0 +534 1 1 0 53.8619 47.6132 58.9101 0.386187 -0.238677 0.891007 0.490491 45 57.5 1 0 +535 1 1 0 53.2593 47.2937 59.0583 0.325929 -0.270627 0.905832 0.490491 45 57.5 1 0 +536 1 1 0 52.6408 46.9874 59.1624 0.264082 -0.301258 0.916244 0.490491 45 57.5 1 0 +537 1 1 0 54.4446 47.2531 58.5264 0.444464 -0.274694 0.85264 0.490491 45 57.5 1 0 +538 1 1 0 53.8591 46.9234 58.6973 0.385906 -0.307659 0.869725 0.490491 45 57.5 1 0 +539 1 1 0 54.4287 46.5715 58.2845 0.442867 -0.342848 0.828447 0.490491 45 57.5 1 0 +540 1 1 0 53.8361 46.2496 58.4391 0.383614 -0.375038 0.843912 0.490491 45 57.5 1 0 +541 1 1 0 53.2486 46.6079 58.8284 0.324863 -0.339209 0.882837 0.490491 45 57.5 1 0 +542 1 1 0 52.6266 46.3148 58.9174 0.262661 -0.368518 0.891742 0.490491 45 57.5 1 0 +543 1 1 0 53.2252 45.9457 58.5534 0.322525 -0.405434 0.855337 0.490491 45 57.5 1 0 +544 1 1 0 52.5989 45.6611 58.6267 0.259892 -0.433888 0.862669 0.490491 45 57.5 1 0 +545 1 1 0 50.6604 46.8322 59.462 0.0660427 -0.316778 0.946198 0.490491 45 57.5 1 0 +546 1 1 0 51.3166 46.4177 59.243 0.131656 -0.358229 0.924305 0.490491 45 57.5 1 0 +547 1 1 0 50.6599 46.1828 59.2192 0.0659885 -0.381722 0.921919 0.490491 45 57.5 1 0 +548 1 1 0 51.9641 46.0265 58.964 0.196412 -0.39735 0.896401 0.490491 45 57.5 1 0 +549 1 1 0 51.3175 45.7764 58.968 0.131749 -0.422363 0.896801 0.490491 45 57.5 1 0 +550 1 1 0 51.9602 45.3973 58.6587 0.196015 -0.460266 0.865871 0.490491 45 57.5 1 0 +551 1 1 0 51.312 45.1556 58.6493 0.1312 -0.484441 0.864929 0.490491 45 57.5 1 0 +552 1 1 0 50.6582 45.5463 58.9293 0.0658169 -0.445365 0.892927 0.490491 45 57.5 1 0 +553 1 1 0 50.6576 44.937 58.5985 0.0657577 -0.506298 0.859848 0.490491 45 57.5 1 0 +554 1 1 0 51.9909 47.3845 59.4443 0.199094 -0.26155 0.944433 0.490491 45 57.5 1 0 +555 1 1 0 51.9839 46.6939 59.2268 0.198387 -0.330606 0.922682 0.490491 45 57.5 1 0 +556 1 1 0 51.3257 47.1007 59.4782 0.13257 -0.289929 0.947822 0.490491 45 57.5 1 0 +557 1 1 0 54.5426 51.9823 58.6853 0.454262 0.198227 0.868535 0.490491 45 57.5 1 0 +558 1 1 0 54.6088 51.1976 58.7934 0.460882 0.119755 0.879344 0.490491 45 57.5 1 0 +559 1 1 0 54.6421 50.413 58.8476 0.464213 0.0412991 0.88476 0.490491 45 57.5 1 0 +560 1 1 0 53.9961 50.8232 59.1298 0.399607 0.0823235 0.912983 0.490491 45 57.5 1 0 +561 1 1 0 53.9414 51.6101 59.0484 0.394136 0.161007 0.904839 0.490491 45 57.5 1 0 +562 1 1 0 53.3234 51.228 59.3513 0.332342 0.1228 0.93513 0.490491 45 57.5 1 0 +563 1 1 0 54.6421 49.587 58.8476 0.464213 -0.0412991 0.88476 0.490491 45 57.5 1 0 +564 1 1 0 54.6088 48.8024 58.7934 0.460882 -0.119755 0.879344 0.490491 45 57.5 1 0 +565 1 1 0 53.9961 49.1768 59.1298 0.399607 -0.0823235 0.912983 0.490491 45 57.5 1 0 +566 1 1 0 54.5426 48.0177 58.6853 0.454262 -0.198227 0.868535 0.490491 45 57.5 1 0 +567 1 1 0 53.9414 48.3899 59.0484 0.394136 -0.161007 0.904839 0.490491 45 57.5 1 0 +568 1 1 0 53.3234 48.772 59.3513 0.332342 -0.1228 0.93513 0.490491 45 57.5 1 0 +569 1 1 0 52.6552 50.815 59.6065 0.265519 0.081501 0.960655 0.490491 45 57.5 1 0 +570 1 1 0 52.664 50 59.6386 0.266405 0 0.963861 0.490491 45 57.5 1 0 +571 1 1 0 52.0037 50.4125 59.7885 0.200368 0.0412506 0.978852 0.490491 45 57.5 1 0 +572 1 1 0 52.6552 49.185 59.6065 0.265519 -0.081501 0.960655 0.490491 45 57.5 1 0 +573 1 1 0 52.0037 49.5875 59.7885 0.200368 -0.0412506 0.978852 0.490491 45 57.5 1 0 +574 1 1 0 51.3352 50 59.9105 0.133524 0 0.991046 0.490491 45 57.5 1 0 +575 1 1 0 54.0097 50 59.1609 0.400968 0 0.916092 0.490491 45 57.5 1 0 +576 1 1 0 53.3414 49.587 59.4162 0.33414 -0.0413021 0.941618 0.490491 45 57.5 1 0 +577 1 1 0 53.3414 50.413 59.4162 0.33414 0.0413021 0.941618 0.490491 45 57.5 1 0 +578 1 1 0 50 54.6566 41.1503 0 0.465657 -0.884965 0.490491 45 57.5 1 0 +579 1 1 0 50.6576 55.063 41.4015 0.0657577 0.506298 -0.859848 0.490491 45 57.5 1 0 +580 1 1 0 50 54.0336 40.8496 0 0.403355 -0.915043 0.490491 45 57.5 1 0 +581 1 1 0 50.6582 54.4537 41.0707 0.0658169 0.445365 -0.892927 0.490491 45 57.5 1 0 +582 1 1 0 51.312 54.8444 41.3507 0.1312 0.484441 -0.864929 0.490491 45 57.5 1 0 +583 1 1 0 50 53.3912 40.5926 0 0.339122 -0.940742 0.490491 45 57.5 1 0 +584 1 1 0 50.6599 53.8172 40.7808 0.0659885 0.381722 -0.921919 0.490491 45 57.5 1 0 +585 1 1 0 50 52.7327 40.3806 0 0.273267 -0.961938 0.490491 45 57.5 1 0 +586 1 1 0 50.6604 53.1678 40.538 0.0660427 0.316778 -0.946198 0.490491 45 57.5 1 0 +587 1 1 0 51.3166 53.5823 40.757 0.131656 0.358229 -0.924305 0.490491 45 57.5 1 0 +588 1 1 0 51.3175 54.2236 41.032 0.131749 0.422363 -0.896801 0.490491 45 57.5 1 0 +589 1 1 0 51.9602 54.6027 41.3413 0.196015 0.460266 -0.865871 0.490491 45 57.5 1 0 +590 1 1 0 51.9641 53.9735 41.036 0.196412 0.39735 -0.896401 0.490491 45 57.5 1 0 +591 1 1 0 52.5989 54.3389 41.3733 0.259892 0.433888 -0.862669 0.490491 45 57.5 1 0 +592 1 1 0 50 52.061 40.2147 0 0.206103 -0.97853 0.490491 45 57.5 1 0 +593 1 1 0 50.6657 52.4733 40.3336 0.0665668 0.247326 -0.966643 0.490491 45 57.5 1 0 +594 1 1 0 50 51.3795 40.0956 0 0.137952 -0.990439 0.490491 45 57.5 1 0 +595 1 1 0 50.666 51.796 40.1852 0.0666046 0.179596 -0.981483 0.490491 45 57.5 1 0 +596 1 1 0 51.3279 52.2012 40.3361 0.132792 0.220117 -0.966393 0.490491 45 57.5 1 0 +597 1 1 0 50 50.6914 40.0239 0 0.0691418 -0.997607 0.490491 45 57.5 1 0 +598 1 1 0 50.6671 51.1039 40.0835 0.0667095 0.110385 -0.991648 0.490491 45 57.5 1 0 +599 1 1 0 50 50 40 0 0 -1 0.490491 45 57.5 1 0 +600 1 1 0 50.6674 50.4125 40.0308 0.0667412 0.0412479 -0.996917 0.490491 45 57.5 1 0 +601 1 1 0 51.3307 50.8224 40.1231 0.133071 0.0822422 -0.987688 0.490491 45 57.5 1 0 +602 1 1 0 51.3326 51.5155 40.2057 0.133256 0.151549 -0.979426 0.490491 45 57.5 1 0 +603 1 1 0 51.9834 51.9178 40.3881 0.198337 0.19178 -0.961188 0.490491 45 57.5 1 0 +604 1 1 0 51.9858 51.2273 40.2763 0.198581 0.122729 -0.97237 0.490491 45 57.5 1 0 +605 1 1 0 52.6287 51.6246 40.4894 0.262865 0.16246 -0.951057 0.490491 45 57.5 1 0 +606 1 1 0 52.6266 53.6852 41.0826 0.262661 0.368518 -0.891742 0.490491 45 57.5 1 0 +607 1 1 0 53.2252 54.0543 41.4466 0.322525 0.405434 -0.855337 0.490491 45 57.5 1 0 +608 1 1 0 52.6408 53.0126 40.8376 0.264082 0.301258 -0.916244 0.490491 45 57.5 1 0 +609 1 1 0 53.2486 53.3921 41.1716 0.324863 0.339209 -0.882837 0.490491 45 57.5 1 0 +610 1 1 0 53.8361 53.7504 41.5609 0.383614 0.375038 -0.843912 0.490491 45 57.5 1 0 +611 1 1 0 52.6415 52.3245 40.6395 0.264151 0.232455 -0.93605 0.490491 45 57.5 1 0 +612 1 1 0 53.2593 52.7063 40.9417 0.325929 0.270627 -0.905832 0.490491 45 57.5 1 0 +613 1 1 0 53.2553 52.0119 40.7612 0.32553 0.201189 -0.92388 0.490491 45 57.5 1 0 +614 1 1 0 53.8619 52.3868 41.0899 0.386187 0.238677 -0.891007 0.490491 45 57.5 1 0 +615 1 1 0 53.8591 53.0766 41.3027 0.385906 0.307659 -0.869725 0.490491 45 57.5 1 0 +616 1 1 0 54.4287 53.4285 41.7155 0.442867 0.342848 -0.828447 0.490491 45 57.5 1 0 +617 1 1 0 54.4446 52.7469 41.4736 0.444464 0.274694 -0.85264 0.490491 45 57.5 1 0 +618 1 1 0 55 53.0902 41.9098 0.5 0.309017 -0.809017 0.490491 45 57.5 1 0 +619 1 1 0 51.3257 52.8993 40.5218 0.13257 0.289929 -0.947822 0.490491 45 57.5 1 0 +620 1 1 0 51.9909 52.6155 40.5557 0.199094 0.26155 -0.944433 0.490491 45 57.5 1 0 +621 1 1 0 51.9839 53.3061 40.7732 0.198387 0.330606 -0.922682 0.490491 45 57.5 1 0 +622 1 1 0 50 49.3086 40.0239 0 -0.0691418 -0.997607 0.490491 45 57.5 1 0 +623 1 1 0 50.6674 49.5875 40.0308 0.0667412 -0.0412479 -0.996917 0.490491 45 57.5 1 0 +624 1 1 0 50 48.6205 40.0956 0 -0.137952 -0.990439 0.490491 45 57.5 1 0 +625 1 1 0 50.6671 48.8961 40.0835 0.0667095 -0.110385 -0.991648 0.490491 45 57.5 1 0 +626 1 1 0 51.3307 49.1776 40.1231 0.133071 -0.0822422 -0.987688 0.490491 45 57.5 1 0 +627 1 1 0 50 47.939 40.2147 0 -0.206103 -0.97853 0.490491 45 57.5 1 0 +628 1 1 0 50.666 48.204 40.1852 0.0666046 -0.179596 -0.981483 0.490491 45 57.5 1 0 +629 1 1 0 50 47.2673 40.3806 0 -0.273267 -0.961938 0.490491 45 57.5 1 0 +630 1 1 0 50.6657 47.5267 40.3336 0.0665668 -0.247326 -0.966643 0.490491 45 57.5 1 0 +631 1 1 0 51.3279 47.7988 40.3361 0.132792 -0.220117 -0.966393 0.490491 45 57.5 1 0 +632 1 1 0 51.3326 48.4845 40.2057 0.133256 -0.151549 -0.979426 0.490491 45 57.5 1 0 +633 1 1 0 51.9858 48.7727 40.2763 0.198581 -0.122729 -0.97237 0.490491 45 57.5 1 0 +634 1 1 0 51.9834 48.0822 40.3881 0.198337 -0.19178 -0.961188 0.490491 45 57.5 1 0 +635 1 1 0 52.6287 48.3754 40.4894 0.262865 -0.16246 -0.951057 0.490491 45 57.5 1 0 +636 1 1 0 50 46.6088 40.5926 0 -0.339122 -0.940742 0.490491 45 57.5 1 0 +637 1 1 0 50.6604 46.8322 40.538 0.0660427 -0.316778 -0.946198 0.490491 45 57.5 1 0 +638 1 1 0 50 45.9664 40.8496 0 -0.403355 -0.915043 0.490491 45 57.5 1 0 +639 1 1 0 50.6599 46.1828 40.7808 0.0659885 -0.381722 -0.921919 0.490491 45 57.5 1 0 +640 1 1 0 51.3166 46.4177 40.757 0.131656 -0.358229 -0.924305 0.490491 45 57.5 1 0 +641 1 1 0 50 45.3434 41.1503 0 -0.465657 -0.884965 0.490491 45 57.5 1 0 +642 1 1 0 50.6582 45.5463 41.0707 0.0658169 -0.445365 -0.892927 0.490491 45 57.5 1 0 +643 1 1 0 50 44.7427 41.4935 0 -0.525731 -0.850651 0.490491 45 57.5 1 0 +644 1 1 0 50.6576 44.937 41.4015 0.0657577 -0.506298 -0.859848 0.490491 45 57.5 1 0 +645 1 1 0 51.312 45.1556 41.3507 0.1312 -0.484441 -0.864929 0.490491 45 57.5 1 0 +646 1 1 0 51.3175 45.7764 41.032 0.131749 -0.422363 -0.896801 0.490491 45 57.5 1 0 +647 1 1 0 51.9641 46.0265 41.036 0.196412 -0.39735 -0.896401 0.490491 45 57.5 1 0 +648 1 1 0 51.9602 45.3973 41.3413 0.196015 -0.460266 -0.865871 0.490491 45 57.5 1 0 +649 1 1 0 52.5989 45.6611 41.3733 0.259892 -0.433888 -0.862669 0.490491 45 57.5 1 0 +650 1 1 0 52.6415 47.6755 40.6395 0.264151 -0.232455 -0.93605 0.490491 45 57.5 1 0 +651 1 1 0 53.2553 47.9881 40.7612 0.32553 -0.201189 -0.92388 0.490491 45 57.5 1 0 +652 1 1 0 52.6408 46.9874 40.8376 0.264082 -0.301258 -0.916244 0.490491 45 57.5 1 0 +653 1 1 0 53.2593 47.2937 40.9417 0.325929 -0.270627 -0.905832 0.490491 45 57.5 1 0 +654 1 1 0 53.8619 47.6132 41.0899 0.386187 -0.238677 -0.891007 0.490491 45 57.5 1 0 +655 1 1 0 52.6266 46.3148 41.0826 0.262661 -0.368518 -0.891742 0.490491 45 57.5 1 0 +656 1 1 0 53.2486 46.6079 41.1716 0.324863 -0.339209 -0.882837 0.490491 45 57.5 1 0 +657 1 1 0 53.2252 45.9457 41.4466 0.322525 -0.405434 -0.855337 0.490491 45 57.5 1 0 +658 1 1 0 53.8361 46.2496 41.5609 0.383614 -0.375038 -0.843912 0.490491 45 57.5 1 0 +659 1 1 0 53.8591 46.9234 41.3027 0.385906 -0.307659 -0.869725 0.490491 45 57.5 1 0 +660 1 1 0 54.4446 47.2531 41.4736 0.444464 -0.274694 -0.85264 0.490491 45 57.5 1 0 +661 1 1 0 54.4287 46.5715 41.7155 0.442867 -0.342848 -0.828447 0.490491 45 57.5 1 0 +662 1 1 0 55 46.9098 41.9098 0.5 -0.309017 -0.809017 0.490491 45 57.5 1 0 +663 1 1 0 51.3257 47.1007 40.5218 0.13257 -0.289929 -0.947822 0.490491 45 57.5 1 0 +664 1 1 0 51.9839 46.6939 40.7732 0.198387 -0.330606 -0.922682 0.490491 45 57.5 1 0 +665 1 1 0 51.9909 47.3845 40.5557 0.199094 -0.26155 -0.944433 0.490491 45 57.5 1 0 +666 1 1 0 55.112 52.3345 41.7285 0.511205 0.233445 -0.827147 0.490491 45 57.5 1 0 +667 1 1 0 55.5474 52.7371 42.1428 0.55474 0.273706 -0.785715 0.490491 45 57.5 1 0 +668 1 1 0 55.1926 51.5643 41.5982 0.519259 0.156434 -0.840178 0.490491 45 57.5 1 0 +669 1 1 0 55.6451 51.9727 41.985 0.564513 0.197274 -0.801504 0.490491 45 57.5 1 0 +670 1 1 0 56.0683 52.3709 42.4135 0.606825 0.237086 -0.758652 0.490491 45 57.5 1 0 +671 1 1 0 55.2411 50.7846 41.5197 0.52411 0.0784592 -0.848029 0.490491 45 57.5 1 0 +672 1 1 0 55.7114 51.1908 41.8783 0.57114 0.119078 -0.81217 0.490491 45 57.5 1 0 +673 1 1 0 55.2573 50 41.4935 0.525731 0 -0.850651 0.490491 45 57.5 1 0 +674 1 1 0 55.7446 50.4067 41.8248 0.574458 0.040675 -0.817523 0.490491 45 57.5 1 0 +675 1 1 0 56.2024 50.8114 42.198 0.620239 0.0811417 -0.780205 0.490491 45 57.5 1 0 +676 1 1 0 56.1546 51.5961 42.2816 0.615456 0.159613 -0.771841 0.490491 45 57.5 1 0 +677 1 1 0 56.5601 51.9933 42.7204 0.656006 0.199331 -0.727959 0.490491 45 57.5 1 0 +678 1 1 0 56.6284 51.2119 42.6111 0.662842 0.121192 -0.738887 0.490491 45 57.5 1 0 +679 1 1 0 57.0205 51.6062 43.0622 0.702047 0.160622 -0.69378 0.490491 45 57.5 1 0 +680 1 1 0 55.2411 49.2154 41.5197 0.52411 -0.0784592 -0.848029 0.490491 45 57.5 1 0 +681 1 1 0 55.7446 49.5933 41.8248 0.574458 -0.040675 -0.817523 0.490491 45 57.5 1 0 +682 1 1 0 55.1926 48.4357 41.5982 0.519259 -0.156434 -0.840178 0.490491 45 57.5 1 0 +683 1 1 0 55.7114 48.8092 41.8783 0.57114 -0.119078 -0.81217 0.490491 45 57.5 1 0 +684 1 1 0 56.2024 49.1886 42.198 0.620239 -0.0811417 -0.780205 0.490491 45 57.5 1 0 +685 1 1 0 55.112 47.6655 41.7285 0.511205 -0.233445 -0.827147 0.490491 45 57.5 1 0 +686 1 1 0 55.6451 48.0273 41.985 0.564513 -0.197274 -0.801504 0.490491 45 57.5 1 0 +687 1 1 0 55.5474 47.2629 42.1428 0.55474 -0.273706 -0.785715 0.490491 45 57.5 1 0 +688 1 1 0 56.0683 47.6291 42.4135 0.606825 -0.237086 -0.758652 0.490491 45 57.5 1 0 +689 1 1 0 56.1546 48.4039 42.2816 0.615456 -0.159613 -0.771841 0.490491 45 57.5 1 0 +690 1 1 0 56.6284 48.7881 42.6111 0.662842 -0.121192 -0.738887 0.490491 45 57.5 1 0 +691 1 1 0 56.5601 48.0067 42.7204 0.656006 -0.199331 -0.727959 0.490491 45 57.5 1 0 +692 1 1 0 57.0205 48.3938 43.0622 0.702047 -0.160622 -0.69378 0.490491 45 57.5 1 0 +693 1 1 0 57.0897 50.8057 42.9938 0.708969 0.0805729 -0.700622 0.490491 45 57.5 1 0 +694 1 1 0 57.4473 51.2114 43.4372 0.744727 0.121144 -0.656282 0.490491 45 57.5 1 0 +695 1 1 0 57.1128 50 42.9709 0.711282 0 -0.702907 0.490491 45 57.5 1 0 +696 1 1 0 57.4939 50.4064 43.3912 0.749387 0.0406418 -0.660883 0.490491 45 57.5 1 0 +697 1 1 0 57.8384 50.8109 43.8436 0.783843 0.081086 -0.615642 0.490491 45 57.5 1 0 +698 1 1 0 57.0897 49.1943 42.9938 0.708969 -0.0805729 -0.700622 0.490491 45 57.5 1 0 +699 1 1 0 57.4939 49.5936 43.3912 0.749387 -0.0406418 -0.660883 0.490491 45 57.5 1 0 +700 1 1 0 57.4473 48.7886 43.4372 0.744727 -0.121144 -0.656282 0.490491 45 57.5 1 0 +701 1 1 0 57.8384 49.1891 43.8436 0.783843 -0.081086 -0.615642 0.490491 45 57.5 1 0 +702 1 1 0 57.8643 50 43.8232 0.786433 0 -0.617676 0.490491 45 57.5 1 0 +703 1 1 0 58.1921 50.4064 44.2794 0.819207 0.0406403 -0.572055 0.490491 45 57.5 1 0 +704 1 1 0 58.1921 49.5936 44.2794 0.819207 -0.0406403 -0.572055 0.490491 45 57.5 1 0 +705 1 1 0 58.5065 50 44.7427 0.850651 0 -0.525731 0.490491 45 57.5 1 0 +706 1 1 0 56.2229 50 42.1721 0.622291 0 -0.782786 0.490491 45 57.5 1 0 +707 1 1 0 56.675 49.5932 42.565 0.667502 -0.0406769 -0.743496 0.490491 45 57.5 1 0 +708 1 1 0 56.675 50.4068 42.565 0.667502 0.0406769 -0.743496 0.490491 45 57.5 1 0 +709 1 1 0 51.3352 50 40.0895 0.133524 0 -0.991046 0.490491 45 57.5 1 0 +710 1 1 0 52.0037 49.5875 40.2115 0.200368 -0.0412506 -0.978852 0.490491 45 57.5 1 0 +711 1 1 0 52.6552 49.185 40.3935 0.265519 -0.081501 -0.960655 0.490491 45 57.5 1 0 +712 1 1 0 52.664 50 40.3614 0.266405 0 -0.963861 0.490491 45 57.5 1 0 +713 1 1 0 52.0037 50.4125 40.2115 0.200368 0.0412506 -0.978852 0.490491 45 57.5 1 0 +714 1 1 0 52.6552 50.815 40.3935 0.265519 0.081501 -0.960655 0.490491 45 57.5 1 0 +715 1 1 0 53.3234 48.772 40.6487 0.332342 -0.1228 -0.93513 0.490491 45 57.5 1 0 +716 1 1 0 53.9414 48.3899 40.9516 0.394136 -0.161007 -0.904839 0.490491 45 57.5 1 0 +717 1 1 0 53.9961 49.1768 40.8702 0.399607 -0.0823235 -0.912983 0.490491 45 57.5 1 0 +718 1 1 0 54.5426 48.0177 41.3147 0.454262 -0.198227 -0.868535 0.490491 45 57.5 1 0 +719 1 1 0 54.6088 48.8024 41.2066 0.460882 -0.119755 -0.879344 0.490491 45 57.5 1 0 +720 1 1 0 54.6421 49.587 41.1524 0.464213 -0.0412991 -0.88476 0.490491 45 57.5 1 0 +721 1 1 0 53.3234 51.228 40.6487 0.332342 0.1228 -0.93513 0.490491 45 57.5 1 0 +722 1 1 0 53.9961 50.8232 40.8702 0.399607 0.0823235 -0.912983 0.490491 45 57.5 1 0 +723 1 1 0 53.9414 51.6101 40.9516 0.394136 0.161007 -0.904839 0.490491 45 57.5 1 0 +724 1 1 0 54.6421 50.413 41.1524 0.464213 0.0412991 -0.88476 0.490491 45 57.5 1 0 +725 1 1 0 54.6088 51.1976 41.2066 0.460882 0.119755 -0.879344 0.490491 45 57.5 1 0 +726 1 1 0 54.5426 51.9823 41.3147 0.454262 0.198227 -0.868535 0.490491 45 57.5 1 0 +727 1 1 0 53.3414 49.587 40.5838 0.33414 -0.0413021 -0.941618 0.490491 45 57.5 1 0 +728 1 1 0 54.0097 50 40.8391 0.400968 0 -0.916092 0.490491 45 57.5 1 0 +729 1 1 0 53.3414 50.413 40.5838 0.33414 0.0413021 -0.941618 0.490491 45 57.5 1 0 +730 1 1 0 49.3424 55.063 41.4015 -0.0657577 0.506298 -0.859848 0.490491 45 57.5 1 0 +731 1 1 0 48.688 54.8444 41.3507 -0.1312 0.484441 -0.864929 0.490491 45 57.5 1 0 +732 1 1 0 49.3418 54.4537 41.0707 -0.0658169 0.445365 -0.892927 0.490491 45 57.5 1 0 +733 1 1 0 48.0398 54.6027 41.3413 -0.196015 0.460266 -0.865871 0.490491 45 57.5 1 0 +734 1 1 0 48.6825 54.2236 41.032 -0.131749 0.422363 -0.896801 0.490491 45 57.5 1 0 +735 1 1 0 47.4011 54.3389 41.3733 -0.259892 0.433888 -0.862669 0.490491 45 57.5 1 0 +736 1 1 0 48.0359 53.9735 41.036 -0.196412 0.39735 -0.896401 0.490491 45 57.5 1 0 +737 1 1 0 48.6834 53.5823 40.757 -0.131656 0.358229 -0.924305 0.490491 45 57.5 1 0 +738 1 1 0 49.3401 53.8172 40.7808 -0.0659885 0.381722 -0.921919 0.490491 45 57.5 1 0 +739 1 1 0 49.3396 53.1678 40.538 -0.0660427 0.316778 -0.946198 0.490491 45 57.5 1 0 +740 1 1 0 46.7748 54.0543 41.4466 -0.322525 0.405434 -0.855337 0.490491 45 57.5 1 0 +741 1 1 0 47.3734 53.6852 41.0826 -0.262661 0.368518 -0.891742 0.490491 45 57.5 1 0 +742 1 1 0 46.1639 53.7504 41.5609 -0.383614 0.375038 -0.843912 0.490491 45 57.5 1 0 +743 1 1 0 46.7514 53.3921 41.1716 -0.324863 0.339209 -0.882837 0.490491 45 57.5 1 0 +744 1 1 0 47.3592 53.0126 40.8376 -0.264082 0.301258 -0.916244 0.490491 45 57.5 1 0 +745 1 1 0 45.5713 53.4285 41.7155 -0.442867 0.342848 -0.828447 0.490491 45 57.5 1 0 +746 1 1 0 46.1409 53.0766 41.3027 -0.385906 0.307659 -0.869725 0.490491 45 57.5 1 0 +747 1 1 0 45 53.0902 41.9098 -0.5 0.309017 -0.809017 0.490491 45 57.5 1 0 +748 1 1 0 45.5554 52.7469 41.4736 -0.444464 0.274694 -0.85264 0.490491 45 57.5 1 0 +749 1 1 0 46.1381 52.3868 41.0899 -0.386187 0.238677 -0.891007 0.490491 45 57.5 1 0 +750 1 1 0 46.7407 52.7063 40.9417 -0.325929 0.270627 -0.905832 0.490491 45 57.5 1 0 +751 1 1 0 47.3585 52.3245 40.6395 -0.264151 0.232455 -0.93605 0.490491 45 57.5 1 0 +752 1 1 0 46.7447 52.0119 40.7612 -0.32553 0.201189 -0.92388 0.490491 45 57.5 1 0 +753 1 1 0 47.3713 51.6246 40.4894 -0.262865 0.16246 -0.951057 0.490491 45 57.5 1 0 +754 1 1 0 49.3343 52.4733 40.3336 -0.0665668 0.247326 -0.966643 0.490491 45 57.5 1 0 +755 1 1 0 48.6721 52.2012 40.3361 -0.132792 0.220117 -0.966393 0.490491 45 57.5 1 0 +756 1 1 0 49.334 51.796 40.1852 -0.0666046 0.179596 -0.981483 0.490491 45 57.5 1 0 +757 1 1 0 48.0166 51.9178 40.3881 -0.198337 0.19178 -0.961188 0.490491 45 57.5 1 0 +758 1 1 0 48.6674 51.5155 40.2057 -0.133256 0.151549 -0.979426 0.490491 45 57.5 1 0 +759 1 1 0 48.0142 51.2273 40.2763 -0.198581 0.122729 -0.97237 0.490491 45 57.5 1 0 +760 1 1 0 48.6693 50.8224 40.1231 -0.133071 0.0822422 -0.987688 0.490491 45 57.5 1 0 +761 1 1 0 49.3329 51.1039 40.0835 -0.0667095 0.110385 -0.991648 0.490491 45 57.5 1 0 +762 1 1 0 49.3326 50.4125 40.0308 -0.0667412 0.0412479 -0.996917 0.490491 45 57.5 1 0 +763 1 1 0 48.0161 53.3061 40.7732 -0.198387 0.330606 -0.922682 0.490491 45 57.5 1 0 +764 1 1 0 48.0091 52.6155 40.5557 -0.199094 0.26155 -0.944433 0.490491 45 57.5 1 0 +765 1 1 0 48.6743 52.8993 40.5218 -0.13257 0.289929 -0.947822 0.490491 45 57.5 1 0 +766 1 1 0 44.4526 52.7371 42.1428 -0.55474 0.273706 -0.785715 0.490491 45 57.5 1 0 +767 1 1 0 44.888 52.3345 41.7285 -0.511205 0.233445 -0.827147 0.490491 45 57.5 1 0 +768 1 1 0 43.9317 52.3709 42.4135 -0.606825 0.237086 -0.758652 0.490491 45 57.5 1 0 +769 1 1 0 44.3549 51.9727 41.985 -0.564513 0.197274 -0.801504 0.490491 45 57.5 1 0 +770 1 1 0 44.8074 51.5643 41.5982 -0.519259 0.156434 -0.840178 0.490491 45 57.5 1 0 +771 1 1 0 43.4399 51.9933 42.7204 -0.656006 0.199331 -0.727959 0.490491 45 57.5 1 0 +772 1 1 0 43.8454 51.5961 42.2816 -0.615456 0.159613 -0.771841 0.490491 45 57.5 1 0 +773 1 1 0 42.9795 51.6062 43.0622 -0.702047 0.160622 -0.69378 0.490491 45 57.5 1 0 +774 1 1 0 43.3716 51.2119 42.6111 -0.662842 0.121192 -0.738887 0.490491 45 57.5 1 0 +775 1 1 0 43.7976 50.8114 42.198 -0.620239 0.0811417 -0.780205 0.490491 45 57.5 1 0 +776 1 1 0 44.2886 51.1908 41.8783 -0.57114 0.119078 -0.81217 0.490491 45 57.5 1 0 +777 1 1 0 44.7589 50.7846 41.5197 -0.52411 0.0784592 -0.848029 0.490491 45 57.5 1 0 +778 1 1 0 44.2554 50.4067 41.8248 -0.574458 0.040675 -0.817523 0.490491 45 57.5 1 0 +779 1 1 0 44.7427 50 41.4935 -0.525731 0 -0.850651 0.490491 45 57.5 1 0 +780 1 1 0 42.5527 51.2114 43.4372 -0.744727 0.121144 -0.656282 0.490491 45 57.5 1 0 +781 1 1 0 42.9103 50.8057 42.9938 -0.708969 0.0805729 -0.700622 0.490491 45 57.5 1 0 +782 1 1 0 42.1616 50.8109 43.8436 -0.783843 0.081086 -0.615642 0.490491 45 57.5 1 0 +783 1 1 0 42.5061 50.4064 43.3912 -0.749387 0.0406418 -0.660883 0.490491 45 57.5 1 0 +784 1 1 0 42.8872 50 42.9709 -0.711282 0 -0.702907 0.490491 45 57.5 1 0 +785 1 1 0 41.8079 50.4064 44.2794 -0.819207 0.0406403 -0.572055 0.490491 45 57.5 1 0 +786 1 1 0 42.1357 50 43.8232 -0.786433 0 -0.617676 0.490491 45 57.5 1 0 +787 1 1 0 41.4935 50 44.7427 -0.850651 0 -0.525731 0.490491 45 57.5 1 0 +788 1 1 0 41.8079 49.5936 44.2794 -0.819207 -0.0406403 -0.572055 0.490491 45 57.5 1 0 +789 1 1 0 42.1616 49.1891 43.8436 -0.783843 -0.081086 -0.615642 0.490491 45 57.5 1 0 +790 1 1 0 42.5061 49.5936 43.3912 -0.749387 -0.0406418 -0.660883 0.490491 45 57.5 1 0 +791 1 1 0 42.9103 49.1943 42.9938 -0.708969 -0.0805729 -0.700622 0.490491 45 57.5 1 0 +792 1 1 0 42.5527 48.7886 43.4372 -0.744727 -0.121144 -0.656282 0.490491 45 57.5 1 0 +793 1 1 0 42.9795 48.3938 43.0622 -0.702047 -0.160622 -0.69378 0.490491 45 57.5 1 0 +794 1 1 0 44.2554 49.5933 41.8248 -0.574458 -0.040675 -0.817523 0.490491 45 57.5 1 0 +795 1 1 0 44.7589 49.2154 41.5197 -0.52411 -0.0784592 -0.848029 0.490491 45 57.5 1 0 +796 1 1 0 43.7976 49.1886 42.198 -0.620239 -0.0811417 -0.780205 0.490491 45 57.5 1 0 +797 1 1 0 44.2886 48.8092 41.8783 -0.57114 -0.119078 -0.81217 0.490491 45 57.5 1 0 +798 1 1 0 44.8074 48.4357 41.5982 -0.519259 -0.156434 -0.840178 0.490491 45 57.5 1 0 +799 1 1 0 43.3716 48.7881 42.6111 -0.662842 -0.121192 -0.738887 0.490491 45 57.5 1 0 +800 1 1 0 43.8454 48.4039 42.2816 -0.615456 -0.159613 -0.771841 0.490491 45 57.5 1 0 +801 1 1 0 43.4399 48.0067 42.7204 -0.656006 -0.199331 -0.727959 0.490491 45 57.5 1 0 +802 1 1 0 43.9317 47.6291 42.4135 -0.606825 -0.237086 -0.758652 0.490491 45 57.5 1 0 +803 1 1 0 44.3549 48.0273 41.985 -0.564513 -0.197274 -0.801504 0.490491 45 57.5 1 0 +804 1 1 0 44.888 47.6655 41.7285 -0.511205 -0.233445 -0.827147 0.490491 45 57.5 1 0 +805 1 1 0 44.4526 47.2629 42.1428 -0.55474 -0.273706 -0.785715 0.490491 45 57.5 1 0 +806 1 1 0 45 46.9098 41.9098 -0.5 -0.309017 -0.809017 0.490491 45 57.5 1 0 +807 1 1 0 43.325 50.4068 42.565 -0.667502 0.0406769 -0.743496 0.490491 45 57.5 1 0 +808 1 1 0 43.325 49.5932 42.565 -0.667502 -0.0406769 -0.743496 0.490491 45 57.5 1 0 +809 1 1 0 43.7771 50 42.1721 -0.622291 0 -0.782786 0.490491 45 57.5 1 0 +810 1 1 0 49.3326 49.5875 40.0308 -0.0667412 -0.0412479 -0.996917 0.490491 45 57.5 1 0 +811 1 1 0 48.6693 49.1776 40.1231 -0.133071 -0.0822422 -0.987688 0.490491 45 57.5 1 0 +812 1 1 0 49.3329 48.8961 40.0835 -0.0667095 -0.110385 -0.991648 0.490491 45 57.5 1 0 +813 1 1 0 48.0142 48.7727 40.2763 -0.198581 -0.122729 -0.97237 0.490491 45 57.5 1 0 +814 1 1 0 48.6674 48.4845 40.2057 -0.133256 -0.151549 -0.979426 0.490491 45 57.5 1 0 +815 1 1 0 47.3713 48.3754 40.4894 -0.262865 -0.16246 -0.951057 0.490491 45 57.5 1 0 +816 1 1 0 48.0166 48.0822 40.3881 -0.198337 -0.19178 -0.961188 0.490491 45 57.5 1 0 +817 1 1 0 48.6721 47.7988 40.3361 -0.132792 -0.220117 -0.966393 0.490491 45 57.5 1 0 +818 1 1 0 49.334 48.204 40.1852 -0.0666046 -0.179596 -0.981483 0.490491 45 57.5 1 0 +819 1 1 0 49.3343 47.5267 40.3336 -0.0665668 -0.247326 -0.966643 0.490491 45 57.5 1 0 +820 1 1 0 46.7447 47.9881 40.7612 -0.32553 -0.201189 -0.92388 0.490491 45 57.5 1 0 +821 1 1 0 47.3585 47.6755 40.6395 -0.264151 -0.232455 -0.93605 0.490491 45 57.5 1 0 +822 1 1 0 46.1381 47.6132 41.0899 -0.386187 -0.238677 -0.891007 0.490491 45 57.5 1 0 +823 1 1 0 46.7407 47.2937 40.9417 -0.325929 -0.270627 -0.905832 0.490491 45 57.5 1 0 +824 1 1 0 47.3592 46.9874 40.8376 -0.264082 -0.301258 -0.916244 0.490491 45 57.5 1 0 +825 1 1 0 45.5554 47.2531 41.4736 -0.444464 -0.274694 -0.85264 0.490491 45 57.5 1 0 +826 1 1 0 46.1409 46.9234 41.3027 -0.385906 -0.307659 -0.869725 0.490491 45 57.5 1 0 +827 1 1 0 45.5713 46.5715 41.7155 -0.442867 -0.342848 -0.828447 0.490491 45 57.5 1 0 +828 1 1 0 46.1639 46.2496 41.5609 -0.383614 -0.375038 -0.843912 0.490491 45 57.5 1 0 +829 1 1 0 46.7514 46.6079 41.1716 -0.324863 -0.339209 -0.882837 0.490491 45 57.5 1 0 +830 1 1 0 47.3734 46.3148 41.0826 -0.262661 -0.368518 -0.891742 0.490491 45 57.5 1 0 +831 1 1 0 46.7748 45.9457 41.4466 -0.322525 -0.405434 -0.855337 0.490491 45 57.5 1 0 +832 1 1 0 47.4011 45.6611 41.3733 -0.259892 -0.433888 -0.862669 0.490491 45 57.5 1 0 +833 1 1 0 49.3396 46.8322 40.538 -0.0660427 -0.316778 -0.946198 0.490491 45 57.5 1 0 +834 1 1 0 48.6834 46.4177 40.757 -0.131656 -0.358229 -0.924305 0.490491 45 57.5 1 0 +835 1 1 0 49.3401 46.1828 40.7808 -0.0659885 -0.381722 -0.921919 0.490491 45 57.5 1 0 +836 1 1 0 48.0359 46.0265 41.036 -0.196412 -0.39735 -0.896401 0.490491 45 57.5 1 0 +837 1 1 0 48.6825 45.7764 41.032 -0.131749 -0.422363 -0.896801 0.490491 45 57.5 1 0 +838 1 1 0 48.0398 45.3973 41.3413 -0.196015 -0.460266 -0.865871 0.490491 45 57.5 1 0 +839 1 1 0 48.688 45.1556 41.3507 -0.1312 -0.484441 -0.864929 0.490491 45 57.5 1 0 +840 1 1 0 49.3418 45.5463 41.0707 -0.0658169 -0.445365 -0.892927 0.490491 45 57.5 1 0 +841 1 1 0 49.3424 44.937 41.4015 -0.0657577 -0.506298 -0.859848 0.490491 45 57.5 1 0 +842 1 1 0 48.0091 47.3845 40.5557 -0.199094 -0.26155 -0.944433 0.490491 45 57.5 1 0 +843 1 1 0 48.0161 46.6939 40.7732 -0.198387 -0.330606 -0.922682 0.490491 45 57.5 1 0 +844 1 1 0 48.6743 47.1007 40.5218 -0.13257 -0.289929 -0.947822 0.490491 45 57.5 1 0 +845 1 1 0 45.4574 51.9823 41.3147 -0.454262 0.198227 -0.868535 0.490491 45 57.5 1 0 +846 1 1 0 45.3912 51.1976 41.2066 -0.460882 0.119755 -0.879344 0.490491 45 57.5 1 0 +847 1 1 0 45.3579 50.413 41.1524 -0.464213 0.0412991 -0.88476 0.490491 45 57.5 1 0 +848 1 1 0 46.0039 50.8232 40.8702 -0.399607 0.0823235 -0.912983 0.490491 45 57.5 1 0 +849 1 1 0 46.0586 51.6101 40.9516 -0.394136 0.161007 -0.904839 0.490491 45 57.5 1 0 +850 1 1 0 46.6766 51.228 40.6487 -0.332342 0.1228 -0.93513 0.490491 45 57.5 1 0 +851 1 1 0 45.3579 49.587 41.1524 -0.464213 -0.0412991 -0.88476 0.490491 45 57.5 1 0 +852 1 1 0 45.3912 48.8024 41.2066 -0.460882 -0.119755 -0.879344 0.490491 45 57.5 1 0 +853 1 1 0 46.0039 49.1768 40.8702 -0.399607 -0.0823235 -0.912983 0.490491 45 57.5 1 0 +854 1 1 0 45.4574 48.0177 41.3147 -0.454262 -0.198227 -0.868535 0.490491 45 57.5 1 0 +855 1 1 0 46.0586 48.3899 40.9516 -0.394136 -0.161007 -0.904839 0.490491 45 57.5 1 0 +856 1 1 0 46.6766 48.772 40.6487 -0.332342 -0.1228 -0.93513 0.490491 45 57.5 1 0 +857 1 1 0 47.3448 50.815 40.3935 -0.265519 0.081501 -0.960655 0.490491 45 57.5 1 0 +858 1 1 0 47.336 50 40.3614 -0.266405 0 -0.963861 0.490491 45 57.5 1 0 +859 1 1 0 47.9963 50.4125 40.2115 -0.200368 0.0412506 -0.978852 0.490491 45 57.5 1 0 +860 1 1 0 47.3448 49.185 40.3935 -0.265519 -0.081501 -0.960655 0.490491 45 57.5 1 0 +861 1 1 0 47.9963 49.5875 40.2115 -0.200368 -0.0412506 -0.978852 0.490491 45 57.5 1 0 +862 1 1 0 48.6648 50 40.0895 -0.133524 0 -0.991046 0.490491 45 57.5 1 0 +863 1 1 0 45.9903 50 40.8391 -0.400968 0 -0.916092 0.490491 45 57.5 1 0 +864 1 1 0 46.6586 49.587 40.5838 -0.33414 -0.0413021 -0.941618 0.490491 45 57.5 1 0 +865 1 1 0 46.6586 50.413 40.5838 -0.33414 0.0413021 -0.941618 0.490491 45 57.5 1 0 +866 1 1 0 50.4064 44.2794 58.1921 0.0406403 -0.572055 0.819208 0.490491 45 57.5 1 0 +867 1 1 0 49.5936 44.2794 58.1921 -0.0406403 -0.572055 0.819208 0.490491 45 57.5 1 0 +868 1 1 0 50.8109 43.8436 57.8384 0.081086 -0.615642 0.783843 0.490491 45 57.5 1 0 +869 1 1 0 50 43.8232 57.8643 0 -0.617676 0.786433 0.490491 45 57.5 1 0 +870 1 1 0 49.1891 43.8436 57.8384 -0.081086 -0.615642 0.783843 0.490491 45 57.5 1 0 +871 1 1 0 51.2114 43.4372 57.4473 0.121144 -0.656282 0.744727 0.490491 45 57.5 1 0 +872 1 1 0 50.4064 43.3912 57.4939 0.0406418 -0.660883 0.749387 0.490491 45 57.5 1 0 +873 1 1 0 51.6062 43.0622 57.0205 0.160622 -0.69378 0.702047 0.490491 45 57.5 1 0 +874 1 1 0 50.8057 42.9938 57.0897 0.0805729 -0.700622 0.708969 0.490491 45 57.5 1 0 +875 1 1 0 50 42.9709 57.1128 0 -0.702907 0.711282 0.490491 45 57.5 1 0 +876 1 1 0 49.5936 43.3912 57.4939 -0.0406418 -0.660883 0.749387 0.490491 45 57.5 1 0 +877 1 1 0 48.7886 43.4372 57.4473 -0.121144 -0.656282 0.744727 0.490491 45 57.5 1 0 +878 1 1 0 49.1943 42.9938 57.0897 -0.0805729 -0.700622 0.708969 0.490491 45 57.5 1 0 +879 1 1 0 48.3938 43.0622 57.0205 -0.160622 -0.69378 0.702047 0.490491 45 57.5 1 0 +880 1 1 0 51.9933 42.7204 56.5601 0.199331 -0.727959 0.656006 0.490491 45 57.5 1 0 +881 1 1 0 51.2119 42.6111 56.6284 0.121192 -0.738887 0.662842 0.490491 45 57.5 1 0 +882 1 1 0 52.3709 42.4135 56.0683 0.237086 -0.758652 0.606825 0.490491 45 57.5 1 0 +883 1 1 0 51.5961 42.2816 56.1546 0.159613 -0.771841 0.615456 0.490491 45 57.5 1 0 +884 1 1 0 50.8114 42.198 56.2024 0.0811417 -0.780205 0.620239 0.490491 45 57.5 1 0 +885 1 1 0 52.7371 42.1428 55.5474 0.273706 -0.785715 0.55474 0.490491 45 57.5 1 0 +886 1 1 0 51.9727 41.985 55.6451 0.197274 -0.801504 0.564513 0.490491 45 57.5 1 0 +887 1 1 0 53.0902 41.9098 55 0.309017 -0.809017 0.5 0.490491 45 57.5 1 0 +888 1 1 0 52.3345 41.7285 55.112 0.233445 -0.827147 0.511205 0.490491 45 57.5 1 0 +889 1 1 0 51.5643 41.5982 55.1926 0.156434 -0.840178 0.519259 0.490491 45 57.5 1 0 +890 1 1 0 51.1908 41.8783 55.7114 0.119078 -0.81217 0.57114 0.490491 45 57.5 1 0 +891 1 1 0 50.4067 41.8248 55.7446 0.040675 -0.817523 0.574458 0.490491 45 57.5 1 0 +892 1 1 0 50.7846 41.5197 55.2411 0.0784592 -0.848029 0.52411 0.490491 45 57.5 1 0 +893 1 1 0 50 41.4935 55.2573 0 -0.850651 0.525731 0.490491 45 57.5 1 0 +894 1 1 0 48.7881 42.6111 56.6284 -0.121192 -0.738887 0.662842 0.490491 45 57.5 1 0 +895 1 1 0 48.0067 42.7204 56.5601 -0.199331 -0.727959 0.656006 0.490491 45 57.5 1 0 +896 1 1 0 49.1886 42.198 56.2024 -0.0811417 -0.780205 0.620239 0.490491 45 57.5 1 0 +897 1 1 0 48.4039 42.2816 56.1546 -0.159613 -0.771841 0.615456 0.490491 45 57.5 1 0 +898 1 1 0 47.6291 42.4135 56.0683 -0.237086 -0.758652 0.606825 0.490491 45 57.5 1 0 +899 1 1 0 49.5933 41.8248 55.7446 -0.040675 -0.817523 0.574458 0.490491 45 57.5 1 0 +900 1 1 0 48.8092 41.8783 55.7114 -0.119078 -0.81217 0.57114 0.490491 45 57.5 1 0 +901 1 1 0 49.2154 41.5197 55.2411 -0.0784592 -0.848029 0.52411 0.490491 45 57.5 1 0 +902 1 1 0 48.4357 41.5982 55.1926 -0.156434 -0.840178 0.519259 0.490491 45 57.5 1 0 +903 1 1 0 48.0273 41.985 55.6451 -0.197274 -0.801504 0.564513 0.490491 45 57.5 1 0 +904 1 1 0 47.2629 42.1428 55.5474 -0.273706 -0.785715 0.55474 0.490491 45 57.5 1 0 +905 1 1 0 47.6655 41.7285 55.112 -0.233445 -0.827147 0.511205 0.490491 45 57.5 1 0 +906 1 1 0 46.9098 41.9098 55 -0.309017 -0.809017 0.5 0.490491 45 57.5 1 0 +907 1 1 0 50.4068 42.565 56.675 0.0406769 -0.743496 0.667502 0.490491 45 57.5 1 0 +908 1 1 0 50 42.1721 56.2229 0 -0.782786 0.622291 0.490491 45 57.5 1 0 +909 1 1 0 49.5932 42.565 56.675 -0.0406769 -0.743496 0.667502 0.490491 45 57.5 1 0 +910 1 1 0 53.4285 41.7155 54.4287 0.342848 -0.828447 0.442867 0.490491 45 57.5 1 0 +911 1 1 0 52.7469 41.4736 54.4446 0.274694 -0.85264 0.444464 0.490491 45 57.5 1 0 +912 1 1 0 53.7504 41.5609 53.8361 0.375038 -0.843912 0.383614 0.490491 45 57.5 1 0 +913 1 1 0 53.0766 41.3027 53.8591 0.307659 -0.869725 0.385906 0.490491 45 57.5 1 0 +914 1 1 0 52.3868 41.0899 53.8619 0.238677 -0.891007 0.386187 0.490491 45 57.5 1 0 +915 1 1 0 54.0543 41.4466 53.2252 0.405434 -0.855337 0.322525 0.490491 45 57.5 1 0 +916 1 1 0 53.3921 41.1716 53.2486 0.339209 -0.882837 0.324863 0.490491 45 57.5 1 0 +917 1 1 0 54.3389 41.3733 52.5989 0.433888 -0.862669 0.259892 0.490491 45 57.5 1 0 +918 1 1 0 53.6852 41.0826 52.6266 0.368518 -0.891742 0.262661 0.490491 45 57.5 1 0 +919 1 1 0 53.0126 40.8376 52.6408 0.301258 -0.916244 0.264082 0.490491 45 57.5 1 0 +920 1 1 0 52.7063 40.9417 53.2593 0.270627 -0.905832 0.325929 0.490491 45 57.5 1 0 +921 1 1 0 52.0119 40.7612 53.2553 0.201189 -0.92388 0.32553 0.490491 45 57.5 1 0 +922 1 1 0 52.3245 40.6395 52.6415 0.232455 -0.93605 0.264151 0.490491 45 57.5 1 0 +923 1 1 0 51.6246 40.4894 52.6287 0.16246 -0.951057 0.262865 0.490491 45 57.5 1 0 +924 1 1 0 54.6027 41.3413 51.9602 0.460266 -0.865871 0.196015 0.490491 45 57.5 1 0 +925 1 1 0 53.9735 41.036 51.9641 0.39735 -0.896401 0.196412 0.490491 45 57.5 1 0 +926 1 1 0 54.8444 41.3507 51.312 0.484441 -0.864929 0.1312 0.490491 45 57.5 1 0 +927 1 1 0 54.2236 41.032 51.3175 0.422363 -0.896801 0.131749 0.490491 45 57.5 1 0 +928 1 1 0 53.5823 40.757 51.3166 0.358229 -0.924305 0.131656 0.490491 45 57.5 1 0 +929 1 1 0 55.063 41.4015 50.6576 0.506298 -0.859848 0.0657577 0.490491 45 57.5 1 0 +930 1 1 0 54.4537 41.0707 50.6582 0.445365 -0.892927 0.0658169 0.490491 45 57.5 1 0 +931 1 1 0 55.2573 41.4935 50 0.525731 -0.850651 0 0.490491 45 57.5 1 0 +932 1 1 0 54.6566 41.1503 50 0.465657 -0.884965 0 0.490491 45 57.5 1 0 +933 1 1 0 54.0336 40.8496 50 0.403355 -0.915043 0 0.490491 45 57.5 1 0 +934 1 1 0 53.8172 40.7808 50.6599 0.381722 -0.921919 0.0659886 0.490491 45 57.5 1 0 +935 1 1 0 53.1678 40.538 50.6604 0.316778 -0.946198 0.0660427 0.490491 45 57.5 1 0 +936 1 1 0 53.3912 40.5926 50 0.339122 -0.940742 0 0.490491 45 57.5 1 0 +937 1 1 0 52.7327 40.3806 50 0.273267 -0.961938 0 0.490491 45 57.5 1 0 +938 1 1 0 51.9178 40.3881 51.9834 0.19178 -0.961188 0.198337 0.490491 45 57.5 1 0 +939 1 1 0 51.2273 40.2763 51.9858 0.122729 -0.97237 0.198581 0.490491 45 57.5 1 0 +940 1 1 0 52.2012 40.3361 51.3279 0.220117 -0.966393 0.132792 0.490491 45 57.5 1 0 +941 1 1 0 51.5155 40.2057 51.3326 0.151549 -0.979426 0.133256 0.490491 45 57.5 1 0 +942 1 1 0 50.8224 40.1231 51.3307 0.0822422 -0.987688 0.133071 0.490491 45 57.5 1 0 +943 1 1 0 52.4733 40.3336 50.6657 0.247326 -0.966643 0.0665668 0.490491 45 57.5 1 0 +944 1 1 0 51.796 40.1852 50.666 0.179596 -0.981483 0.0666046 0.490491 45 57.5 1 0 +945 1 1 0 52.061 40.2147 50 0.206103 -0.97853 0 0.490491 45 57.5 1 0 +946 1 1 0 51.3795 40.0956 50 0.137952 -0.990439 0 0.490491 45 57.5 1 0 +947 1 1 0 51.1039 40.0835 50.6671 0.110385 -0.991648 0.0667095 0.490491 45 57.5 1 0 +948 1 1 0 50.4125 40.0308 50.6674 0.0412479 -0.996917 0.0667412 0.490491 45 57.5 1 0 +949 1 1 0 50.6914 40.0239 50 0.0691418 -0.997607 0 0.490491 45 57.5 1 0 +950 1 1 0 50 40 50 0 -1 0 0.490491 45 57.5 1 0 +951 1 1 0 53.3061 40.7732 51.9839 0.330606 -0.922682 0.198387 0.490491 45 57.5 1 0 +952 1 1 0 52.8993 40.5218 51.3257 0.289929 -0.947822 0.13257 0.490491 45 57.5 1 0 +953 1 1 0 52.6155 40.5557 51.9909 0.26155 -0.944433 0.199094 0.490491 45 57.5 1 0 +954 1 1 0 47.2531 41.4736 54.4446 -0.274694 -0.85264 0.444464 0.490491 45 57.5 1 0 +955 1 1 0 46.5715 41.7155 54.4287 -0.342848 -0.828447 0.442867 0.490491 45 57.5 1 0 +956 1 1 0 47.6132 41.0899 53.8619 -0.238677 -0.891007 0.386187 0.490491 45 57.5 1 0 +957 1 1 0 46.9234 41.3027 53.8591 -0.307659 -0.869725 0.385906 0.490491 45 57.5 1 0 +958 1 1 0 46.2496 41.5609 53.8361 -0.375038 -0.843912 0.383614 0.490491 45 57.5 1 0 +959 1 1 0 47.9881 40.7612 53.2553 -0.201189 -0.92388 0.32553 0.490491 45 57.5 1 0 +960 1 1 0 47.2937 40.9417 53.2593 -0.270627 -0.905832 0.325929 0.490491 45 57.5 1 0 +961 1 1 0 48.3754 40.4894 52.6287 -0.16246 -0.951057 0.262865 0.490491 45 57.5 1 0 +962 1 1 0 47.6755 40.6395 52.6415 -0.232455 -0.93605 0.264151 0.490491 45 57.5 1 0 +963 1 1 0 46.9874 40.8376 52.6408 -0.301258 -0.916244 0.264082 0.490491 45 57.5 1 0 +964 1 1 0 46.6079 41.1716 53.2486 -0.339209 -0.882837 0.324863 0.490491 45 57.5 1 0 +965 1 1 0 45.9457 41.4466 53.2252 -0.405434 -0.855337 0.322525 0.490491 45 57.5 1 0 +966 1 1 0 46.3148 41.0826 52.6266 -0.368518 -0.891742 0.262661 0.490491 45 57.5 1 0 +967 1 1 0 45.6611 41.3733 52.5989 -0.433888 -0.862669 0.259892 0.490491 45 57.5 1 0 +968 1 1 0 48.7727 40.2763 51.9858 -0.122729 -0.97237 0.198581 0.490491 45 57.5 1 0 +969 1 1 0 48.0822 40.3881 51.9834 -0.19178 -0.961188 0.198337 0.490491 45 57.5 1 0 +970 1 1 0 49.1776 40.1231 51.3307 -0.0822422 -0.987688 0.133071 0.490491 45 57.5 1 0 +971 1 1 0 48.4845 40.2057 51.3326 -0.151549 -0.979426 0.133256 0.490491 45 57.5 1 0 +972 1 1 0 47.7988 40.3361 51.3279 -0.220117 -0.966393 0.132792 0.490491 45 57.5 1 0 +973 1 1 0 49.5875 40.0308 50.6674 -0.0412479 -0.996917 0.0667412 0.490491 45 57.5 1 0 +974 1 1 0 48.8961 40.0835 50.6671 -0.110385 -0.991648 0.0667095 0.490491 45 57.5 1 0 +975 1 1 0 49.3086 40.0239 50 -0.0691418 -0.997607 0 0.490491 45 57.5 1 0 +976 1 1 0 48.6205 40.0956 50 -0.137952 -0.990439 0 0.490491 45 57.5 1 0 +977 1 1 0 48.204 40.1852 50.666 -0.179596 -0.981483 0.0666046 0.490491 45 57.5 1 0 +978 1 1 0 47.5267 40.3336 50.6657 -0.247326 -0.966643 0.0665668 0.490491 45 57.5 1 0 +979 1 1 0 47.939 40.2147 50 -0.206103 -0.97853 0 0.490491 45 57.5 1 0 +980 1 1 0 47.2673 40.3806 50 -0.273267 -0.961938 0 0.490491 45 57.5 1 0 +981 1 1 0 46.0265 41.036 51.9641 -0.39735 -0.896401 0.196412 0.490491 45 57.5 1 0 +982 1 1 0 45.3973 41.3413 51.9602 -0.460266 -0.865871 0.196015 0.490491 45 57.5 1 0 +983 1 1 0 46.4177 40.757 51.3166 -0.358229 -0.924305 0.131656 0.490491 45 57.5 1 0 +984 1 1 0 45.7764 41.032 51.3175 -0.422363 -0.896801 0.131749 0.490491 45 57.5 1 0 +985 1 1 0 45.1556 41.3507 51.312 -0.484441 -0.864929 0.1312 0.490491 45 57.5 1 0 +986 1 1 0 46.8322 40.538 50.6604 -0.316778 -0.946198 0.0660427 0.490491 45 57.5 1 0 +987 1 1 0 46.1828 40.7808 50.6599 -0.381722 -0.921919 0.0659886 0.490491 45 57.5 1 0 +988 1 1 0 46.6088 40.5926 50 -0.339122 -0.940742 0 0.490491 45 57.5 1 0 +989 1 1 0 45.9664 40.8496 50 -0.403355 -0.915043 0 0.490491 45 57.5 1 0 +990 1 1 0 45.5463 41.0707 50.6582 -0.445365 -0.892927 0.0658169 0.490491 45 57.5 1 0 +991 1 1 0 44.937 41.4015 50.6576 -0.506298 -0.859848 0.0657577 0.490491 45 57.5 1 0 +992 1 1 0 45.3434 41.1503 50 -0.465657 -0.884965 0 0.490491 45 57.5 1 0 +993 1 1 0 44.7427 41.4935 50 -0.525731 -0.850651 0 0.490491 45 57.5 1 0 +994 1 1 0 47.3845 40.5557 51.9909 -0.26155 -0.944433 0.199094 0.490491 45 57.5 1 0 +995 1 1 0 47.1007 40.5218 51.3257 -0.289929 -0.947822 0.13257 0.490491 45 57.5 1 0 +996 1 1 0 46.6939 40.7732 51.9839 -0.330606 -0.922682 0.198387 0.490491 45 57.5 1 0 +997 1 1 0 51.9823 41.3147 54.5426 0.198227 -0.868535 0.454262 0.490491 45 57.5 1 0 +998 1 1 0 51.6101 40.9516 53.9414 0.161007 -0.904839 0.394136 0.490491 45 57.5 1 0 +999 1 1 0 51.228 40.6487 53.3234 0.1228 -0.93513 0.332342 0.490491 45 57.5 1 0 +1000 1 1 0 50.8232 40.8702 53.9961 0.0823235 -0.912983 0.399607 0.490491 45 57.5 1 0 +1001 1 1 0 51.1976 41.2066 54.6088 0.119755 -0.879344 0.460882 0.490491 45 57.5 1 0 +1002 1 1 0 50.413 41.1524 54.6421 0.0412991 -0.88476 0.464213 0.490491 45 57.5 1 0 +1003 1 1 0 50.815 40.3935 52.6552 0.081501 -0.960655 0.265519 0.490491 45 57.5 1 0 +1004 1 1 0 50.4125 40.2115 52.0037 0.0412506 -0.978852 0.200368 0.490491 45 57.5 1 0 +1005 1 1 0 50 40.3614 52.664 0 -0.963861 0.266405 0.490491 45 57.5 1 0 +1006 1 1 0 50 40.0895 51.3352 0 -0.991046 0.133524 0.490491 45 57.5 1 0 +1007 1 1 0 49.5875 40.2115 52.0037 -0.0412506 -0.978852 0.200368 0.490491 45 57.5 1 0 +1008 1 1 0 49.185 40.3935 52.6552 -0.081501 -0.960655 0.265519 0.490491 45 57.5 1 0 +1009 1 1 0 49.587 41.1524 54.6421 -0.0412991 -0.88476 0.464213 0.490491 45 57.5 1 0 +1010 1 1 0 49.1768 40.8702 53.9961 -0.0823235 -0.912983 0.399607 0.490491 45 57.5 1 0 +1011 1 1 0 48.8024 41.2066 54.6088 -0.119755 -0.879344 0.460882 0.490491 45 57.5 1 0 +1012 1 1 0 48.772 40.6487 53.3234 -0.1228 -0.93513 0.332342 0.490491 45 57.5 1 0 +1013 1 1 0 48.3899 40.9516 53.9414 -0.161007 -0.904839 0.394136 0.490491 45 57.5 1 0 +1014 1 1 0 48.0177 41.3147 54.5426 -0.198227 -0.868535 0.454262 0.490491 45 57.5 1 0 +1015 1 1 0 50.413 40.5838 53.3414 0.0413021 -0.941618 0.33414 0.490491 45 57.5 1 0 +1016 1 1 0 49.587 40.5838 53.3414 -0.0413021 -0.941618 0.33414 0.490491 45 57.5 1 0 +1017 1 1 0 50 40.8391 54.0097 0 -0.916092 0.400968 0.490491 45 57.5 1 0 +1018 1 1 0 49.5936 44.2794 41.8079 -0.0406403 -0.572055 -0.819208 0.490491 45 57.5 1 0 +1019 1 1 0 50.4064 44.2794 41.8079 0.0406403 -0.572055 -0.819208 0.490491 45 57.5 1 0 +1020 1 1 0 49.1891 43.8436 42.1616 -0.081086 -0.615642 -0.783843 0.490491 45 57.5 1 0 +1021 1 1 0 50 43.8232 42.1357 0 -0.617676 -0.786433 0.490491 45 57.5 1 0 +1022 1 1 0 50.8109 43.8436 42.1616 0.081086 -0.615642 -0.783843 0.490491 45 57.5 1 0 +1023 1 1 0 48.7886 43.4372 42.5527 -0.121144 -0.656282 -0.744727 0.490491 45 57.5 1 0 +1024 1 1 0 49.5936 43.3912 42.5061 -0.0406418 -0.660883 -0.749387 0.490491 45 57.5 1 0 +1025 1 1 0 48.3938 43.0622 42.9795 -0.160622 -0.69378 -0.702047 0.490491 45 57.5 1 0 +1026 1 1 0 49.1943 42.9938 42.9103 -0.0805729 -0.700622 -0.708969 0.490491 45 57.5 1 0 +1027 1 1 0 50 42.9709 42.8872 0 -0.702907 -0.711282 0.490491 45 57.5 1 0 +1028 1 1 0 50.4064 43.3912 42.5061 0.0406418 -0.660883 -0.749387 0.490491 45 57.5 1 0 +1029 1 1 0 51.2114 43.4372 42.5527 0.121144 -0.656282 -0.744727 0.490491 45 57.5 1 0 +1030 1 1 0 50.8057 42.9938 42.9103 0.0805729 -0.700622 -0.708969 0.490491 45 57.5 1 0 +1031 1 1 0 51.6062 43.0622 42.9795 0.160622 -0.69378 -0.702047 0.490491 45 57.5 1 0 +1032 1 1 0 48.0067 42.7204 43.4399 -0.199331 -0.727959 -0.656006 0.490491 45 57.5 1 0 +1033 1 1 0 48.7881 42.6111 43.3716 -0.121192 -0.738887 -0.662842 0.490491 45 57.5 1 0 +1034 1 1 0 47.6291 42.4135 43.9317 -0.237086 -0.758652 -0.606825 0.490491 45 57.5 1 0 +1035 1 1 0 48.4039 42.2816 43.8454 -0.159613 -0.771841 -0.615456 0.490491 45 57.5 1 0 +1036 1 1 0 49.1886 42.198 43.7976 -0.0811417 -0.780205 -0.620239 0.490491 45 57.5 1 0 +1037 1 1 0 47.2629 42.1428 44.4526 -0.273706 -0.785715 -0.55474 0.490491 45 57.5 1 0 +1038 1 1 0 48.0273 41.985 44.3549 -0.197274 -0.801504 -0.564513 0.490491 45 57.5 1 0 +1039 1 1 0 46.9098 41.9098 45 -0.309017 -0.809017 -0.5 0.490491 45 57.5 1 0 +1040 1 1 0 47.6655 41.7285 44.888 -0.233445 -0.827147 -0.511205 0.490491 45 57.5 1 0 +1041 1 1 0 48.4357 41.5982 44.8074 -0.156434 -0.840178 -0.519259 0.490491 45 57.5 1 0 +1042 1 1 0 48.8092 41.8783 44.2886 -0.119078 -0.81217 -0.57114 0.490491 45 57.5 1 0 +1043 1 1 0 49.5933 41.8248 44.2554 -0.040675 -0.817523 -0.574458 0.490491 45 57.5 1 0 +1044 1 1 0 49.2154 41.5197 44.7589 -0.0784592 -0.848029 -0.52411 0.490491 45 57.5 1 0 +1045 1 1 0 50 41.4935 44.7427 0 -0.850651 -0.525731 0.490491 45 57.5 1 0 +1046 1 1 0 51.2119 42.6111 43.3716 0.121192 -0.738887 -0.662842 0.490491 45 57.5 1 0 +1047 1 1 0 51.9933 42.7204 43.4399 0.199331 -0.727959 -0.656006 0.490491 45 57.5 1 0 +1048 1 1 0 50.8114 42.198 43.7976 0.0811417 -0.780205 -0.620239 0.490491 45 57.5 1 0 +1049 1 1 0 51.5961 42.2816 43.8454 0.159613 -0.771841 -0.615456 0.490491 45 57.5 1 0 +1050 1 1 0 52.3709 42.4135 43.9317 0.237086 -0.758652 -0.606825 0.490491 45 57.5 1 0 +1051 1 1 0 50.4067 41.8248 44.2554 0.040675 -0.817523 -0.574458 0.490491 45 57.5 1 0 +1052 1 1 0 51.1908 41.8783 44.2886 0.119078 -0.81217 -0.57114 0.490491 45 57.5 1 0 +1053 1 1 0 50.7846 41.5197 44.7589 0.0784592 -0.848029 -0.52411 0.490491 45 57.5 1 0 +1054 1 1 0 51.5643 41.5982 44.8074 0.156434 -0.840178 -0.519259 0.490491 45 57.5 1 0 +1055 1 1 0 51.9727 41.985 44.3549 0.197274 -0.801504 -0.564513 0.490491 45 57.5 1 0 +1056 1 1 0 52.7371 42.1428 44.4526 0.273706 -0.785715 -0.55474 0.490491 45 57.5 1 0 +1057 1 1 0 52.3345 41.7285 44.888 0.233445 -0.827147 -0.511205 0.490491 45 57.5 1 0 +1058 1 1 0 53.0902 41.9098 45 0.309017 -0.809017 -0.5 0.490491 45 57.5 1 0 +1059 1 1 0 49.5932 42.565 43.325 -0.0406769 -0.743496 -0.667502 0.490491 45 57.5 1 0 +1060 1 1 0 50 42.1721 43.7771 0 -0.782786 -0.622291 0.490491 45 57.5 1 0 +1061 1 1 0 50.4068 42.565 43.325 0.0406769 -0.743496 -0.667502 0.490491 45 57.5 1 0 +1062 1 1 0 46.5715 41.7155 45.5713 -0.342848 -0.828447 -0.442867 0.490491 45 57.5 1 0 +1063 1 1 0 47.2531 41.4736 45.5554 -0.274694 -0.85264 -0.444464 0.490491 45 57.5 1 0 +1064 1 1 0 46.2496 41.5609 46.1639 -0.375038 -0.843912 -0.383614 0.490491 45 57.5 1 0 +1065 1 1 0 46.9234 41.3027 46.1409 -0.307659 -0.869725 -0.385906 0.490491 45 57.5 1 0 +1066 1 1 0 47.6132 41.0899 46.1381 -0.238677 -0.891007 -0.386187 0.490491 45 57.5 1 0 +1067 1 1 0 45.9457 41.4466 46.7748 -0.405434 -0.855337 -0.322525 0.490491 45 57.5 1 0 +1068 1 1 0 46.6079 41.1716 46.7514 -0.339209 -0.882837 -0.324863 0.490491 45 57.5 1 0 +1069 1 1 0 45.6611 41.3733 47.4011 -0.433888 -0.862669 -0.259892 0.490491 45 57.5 1 0 +1070 1 1 0 46.3148 41.0826 47.3734 -0.368518 -0.891742 -0.262661 0.490491 45 57.5 1 0 +1071 1 1 0 46.9874 40.8376 47.3592 -0.301258 -0.916244 -0.264082 0.490491 45 57.5 1 0 +1072 1 1 0 47.2937 40.9417 46.7407 -0.270627 -0.905832 -0.325929 0.490491 45 57.5 1 0 +1073 1 1 0 47.9881 40.7612 46.7447 -0.201189 -0.92388 -0.32553 0.490491 45 57.5 1 0 +1074 1 1 0 47.6755 40.6395 47.3585 -0.232455 -0.93605 -0.264151 0.490491 45 57.5 1 0 +1075 1 1 0 48.3754 40.4894 47.3713 -0.16246 -0.951057 -0.262865 0.490491 45 57.5 1 0 +1076 1 1 0 45.3973 41.3413 48.0398 -0.460266 -0.865871 -0.196015 0.490491 45 57.5 1 0 +1077 1 1 0 46.0265 41.036 48.0359 -0.39735 -0.896401 -0.196412 0.490491 45 57.5 1 0 +1078 1 1 0 45.1556 41.3507 48.688 -0.484441 -0.864929 -0.1312 0.490491 45 57.5 1 0 +1079 1 1 0 45.7764 41.032 48.6825 -0.422363 -0.896801 -0.131749 0.490491 45 57.5 1 0 +1080 1 1 0 46.4177 40.757 48.6834 -0.358229 -0.924305 -0.131656 0.490491 45 57.5 1 0 +1081 1 1 0 44.937 41.4015 49.3424 -0.506298 -0.859848 -0.0657577 0.490491 45 57.5 1 0 +1082 1 1 0 45.5463 41.0707 49.3418 -0.445365 -0.892927 -0.0658169 0.490491 45 57.5 1 0 +1083 1 1 0 46.1828 40.7808 49.3401 -0.381722 -0.921919 -0.0659886 0.490491 45 57.5 1 0 +1084 1 1 0 46.8322 40.538 49.3396 -0.316778 -0.946198 -0.0660427 0.490491 45 57.5 1 0 +1085 1 1 0 48.0822 40.3881 48.0166 -0.19178 -0.961188 -0.198337 0.490491 45 57.5 1 0 +1086 1 1 0 48.7727 40.2763 48.0142 -0.122729 -0.97237 -0.198581 0.490491 45 57.5 1 0 +1087 1 1 0 47.7988 40.3361 48.6721 -0.220117 -0.966393 -0.132792 0.490491 45 57.5 1 0 +1088 1 1 0 48.4845 40.2057 48.6674 -0.151549 -0.979426 -0.133256 0.490491 45 57.5 1 0 +1089 1 1 0 49.1776 40.1231 48.6693 -0.0822422 -0.987688 -0.133071 0.490491 45 57.5 1 0 +1090 1 1 0 47.5267 40.3336 49.3343 -0.247326 -0.966643 -0.0665668 0.490491 45 57.5 1 0 +1091 1 1 0 48.204 40.1852 49.334 -0.179596 -0.981483 -0.0666046 0.490491 45 57.5 1 0 +1092 1 1 0 48.8961 40.0835 49.3329 -0.110385 -0.991648 -0.0667095 0.490491 45 57.5 1 0 +1093 1 1 0 49.5875 40.0308 49.3326 -0.0412479 -0.996917 -0.0667412 0.490491 45 57.5 1 0 +1094 1 1 0 46.6939 40.7732 48.0161 -0.330606 -0.922682 -0.198387 0.490491 45 57.5 1 0 +1095 1 1 0 47.1007 40.5218 48.6743 -0.289929 -0.947822 -0.13257 0.490491 45 57.5 1 0 +1096 1 1 0 47.3845 40.5557 48.0091 -0.26155 -0.944433 -0.199094 0.490491 45 57.5 1 0 +1097 1 1 0 52.7469 41.4736 45.5554 0.274694 -0.85264 -0.444464 0.490491 45 57.5 1 0 +1098 1 1 0 53.4285 41.7155 45.5713 0.342848 -0.828447 -0.442867 0.490491 45 57.5 1 0 +1099 1 1 0 52.3868 41.0899 46.1381 0.238677 -0.891007 -0.386187 0.490491 45 57.5 1 0 +1100 1 1 0 53.0766 41.3027 46.1409 0.307659 -0.869725 -0.385906 0.490491 45 57.5 1 0 +1101 1 1 0 53.7504 41.5609 46.1639 0.375038 -0.843912 -0.383614 0.490491 45 57.5 1 0 +1102 1 1 0 52.0119 40.7612 46.7447 0.201189 -0.92388 -0.32553 0.490491 45 57.5 1 0 +1103 1 1 0 52.7063 40.9417 46.7407 0.270627 -0.905832 -0.325929 0.490491 45 57.5 1 0 +1104 1 1 0 51.6246 40.4894 47.3713 0.16246 -0.951057 -0.262865 0.490491 45 57.5 1 0 +1105 1 1 0 52.3245 40.6395 47.3585 0.232455 -0.93605 -0.264151 0.490491 45 57.5 1 0 +1106 1 1 0 53.0126 40.8376 47.3592 0.301258 -0.916244 -0.264082 0.490491 45 57.5 1 0 +1107 1 1 0 53.3921 41.1716 46.7514 0.339209 -0.882837 -0.324863 0.490491 45 57.5 1 0 +1108 1 1 0 54.0543 41.4466 46.7748 0.405434 -0.855337 -0.322525 0.490491 45 57.5 1 0 +1109 1 1 0 53.6852 41.0826 47.3734 0.368518 -0.891742 -0.262661 0.490491 45 57.5 1 0 +1110 1 1 0 54.3389 41.3733 47.4011 0.433888 -0.862669 -0.259892 0.490491 45 57.5 1 0 +1111 1 1 0 51.2273 40.2763 48.0142 0.122729 -0.97237 -0.198581 0.490491 45 57.5 1 0 +1112 1 1 0 51.9178 40.3881 48.0166 0.19178 -0.961188 -0.198337 0.490491 45 57.5 1 0 +1113 1 1 0 50.8224 40.1231 48.6693 0.0822422 -0.987688 -0.133071 0.490491 45 57.5 1 0 +1114 1 1 0 51.5155 40.2057 48.6674 0.151549 -0.979426 -0.133256 0.490491 45 57.5 1 0 +1115 1 1 0 52.2012 40.3361 48.6721 0.220117 -0.966393 -0.132792 0.490491 45 57.5 1 0 +1116 1 1 0 50.4125 40.0308 49.3326 0.0412479 -0.996917 -0.0667412 0.490491 45 57.5 1 0 +1117 1 1 0 51.1039 40.0835 49.3329 0.110385 -0.991648 -0.0667095 0.490491 45 57.5 1 0 +1118 1 1 0 51.796 40.1852 49.334 0.179596 -0.981483 -0.0666046 0.490491 45 57.5 1 0 +1119 1 1 0 52.4733 40.3336 49.3343 0.247326 -0.966643 -0.0665668 0.490491 45 57.5 1 0 +1120 1 1 0 53.9735 41.036 48.0359 0.39735 -0.896401 -0.196412 0.490491 45 57.5 1 0 +1121 1 1 0 54.6027 41.3413 48.0398 0.460266 -0.865871 -0.196015 0.490491 45 57.5 1 0 +1122 1 1 0 53.5823 40.757 48.6834 0.358229 -0.924305 -0.131656 0.490491 45 57.5 1 0 +1123 1 1 0 54.2236 41.032 48.6825 0.422363 -0.896801 -0.131749 0.490491 45 57.5 1 0 +1124 1 1 0 54.8444 41.3507 48.688 0.484441 -0.864929 -0.1312 0.490491 45 57.5 1 0 +1125 1 1 0 53.1678 40.538 49.3396 0.316778 -0.946198 -0.0660427 0.490491 45 57.5 1 0 +1126 1 1 0 53.8172 40.7808 49.3401 0.381722 -0.921919 -0.0659886 0.490491 45 57.5 1 0 +1127 1 1 0 54.4537 41.0707 49.3418 0.445365 -0.892927 -0.0658169 0.490491 45 57.5 1 0 +1128 1 1 0 55.063 41.4015 49.3424 0.506298 -0.859848 -0.0657577 0.490491 45 57.5 1 0 +1129 1 1 0 52.6155 40.5557 48.0091 0.26155 -0.944433 -0.199094 0.490491 45 57.5 1 0 +1130 1 1 0 52.8993 40.5218 48.6743 0.289929 -0.947822 -0.13257 0.490491 45 57.5 1 0 +1131 1 1 0 53.3061 40.7732 48.0161 0.330606 -0.922682 -0.198387 0.490491 45 57.5 1 0 +1132 1 1 0 48.0177 41.3147 45.4574 -0.198227 -0.868535 -0.454262 0.490491 45 57.5 1 0 +1133 1 1 0 48.3899 40.9516 46.0586 -0.161007 -0.904839 -0.394136 0.490491 45 57.5 1 0 +1134 1 1 0 48.772 40.6487 46.6766 -0.1228 -0.93513 -0.332342 0.490491 45 57.5 1 0 +1135 1 1 0 49.1768 40.8702 46.0039 -0.0823235 -0.912983 -0.399607 0.490491 45 57.5 1 0 +1136 1 1 0 48.8024 41.2066 45.3912 -0.119755 -0.879344 -0.460882 0.490491 45 57.5 1 0 +1137 1 1 0 49.587 41.1524 45.3579 -0.0412991 -0.88476 -0.464213 0.490491 45 57.5 1 0 +1138 1 1 0 49.185 40.3935 47.3448 -0.081501 -0.960655 -0.265519 0.490491 45 57.5 1 0 +1139 1 1 0 49.5875 40.2115 47.9963 -0.0412506 -0.978852 -0.200368 0.490491 45 57.5 1 0 +1140 1 1 0 50 40.3614 47.336 0 -0.963861 -0.266405 0.490491 45 57.5 1 0 +1141 1 1 0 50 40.0895 48.6648 0 -0.991046 -0.133524 0.490491 45 57.5 1 0 +1142 1 1 0 50.4125 40.2115 47.9963 0.0412506 -0.978852 -0.200368 0.490491 45 57.5 1 0 +1143 1 1 0 50.815 40.3935 47.3448 0.081501 -0.960655 -0.265519 0.490491 45 57.5 1 0 +1144 1 1 0 50.413 41.1524 45.3579 0.0412991 -0.88476 -0.464213 0.490491 45 57.5 1 0 +1145 1 1 0 50.8232 40.8702 46.0039 0.0823235 -0.912983 -0.399607 0.490491 45 57.5 1 0 +1146 1 1 0 51.1976 41.2066 45.3912 0.119755 -0.879344 -0.460882 0.490491 45 57.5 1 0 +1147 1 1 0 51.228 40.6487 46.6766 0.1228 -0.93513 -0.332342 0.490491 45 57.5 1 0 +1148 1 1 0 51.6101 40.9516 46.0586 0.161007 -0.904839 -0.394136 0.490491 45 57.5 1 0 +1149 1 1 0 51.9823 41.3147 45.4574 0.198227 -0.868535 -0.454262 0.490491 45 57.5 1 0 +1150 1 1 0 49.587 40.5838 46.6586 -0.0413021 -0.941618 -0.33414 0.490491 45 57.5 1 0 +1151 1 1 0 50.413 40.5838 46.6586 0.0413021 -0.941618 -0.33414 0.490491 45 57.5 1 0 +1152 1 1 0 50 40.8391 45.9903 0 -0.916092 -0.400968 0.490491 45 57.5 1 0 +1153 1 1 0 44.2794 58.1921 50.4064 -0.572055 0.819207 0.0406403 0.490491 45 57.5 1 0 +1154 1 1 0 44.2794 58.1921 49.5936 -0.572055 0.819207 -0.0406403 0.490491 45 57.5 1 0 +1155 1 1 0 43.8436 57.8384 50.8109 -0.615642 0.783843 0.081086 0.490491 45 57.5 1 0 +1156 1 1 0 43.8232 57.8643 50 -0.617676 0.786433 0 0.490491 45 57.5 1 0 +1157 1 1 0 43.8436 57.8384 49.1891 -0.615642 0.783843 -0.081086 0.490491 45 57.5 1 0 +1158 1 1 0 43.4372 57.4473 51.2114 -0.656282 0.744727 0.121144 0.490491 45 57.5 1 0 +1159 1 1 0 43.3912 57.4939 50.4064 -0.660883 0.749387 0.0406418 0.490491 45 57.5 1 0 +1160 1 1 0 43.0622 57.0205 51.6062 -0.69378 0.702047 0.160622 0.490491 45 57.5 1 0 +1161 1 1 0 42.9938 57.0897 50.8057 -0.700622 0.708969 0.0805729 0.490491 45 57.5 1 0 +1162 1 1 0 42.9709 57.1128 50 -0.702907 0.711282 0 0.490491 45 57.5 1 0 +1163 1 1 0 43.3912 57.4939 49.5936 -0.660883 0.749387 -0.0406418 0.490491 45 57.5 1 0 +1164 1 1 0 43.4372 57.4473 48.7886 -0.656282 0.744727 -0.121144 0.490491 45 57.5 1 0 +1165 1 1 0 42.9938 57.0897 49.1943 -0.700622 0.708969 -0.0805729 0.490491 45 57.5 1 0 +1166 1 1 0 43.0622 57.0205 48.3938 -0.69378 0.702047 -0.160622 0.490491 45 57.5 1 0 +1167 1 1 0 42.7204 56.5601 51.9933 -0.727959 0.656006 0.199331 0.490491 45 57.5 1 0 +1168 1 1 0 42.6111 56.6284 51.2119 -0.738887 0.662842 0.121192 0.490491 45 57.5 1 0 +1169 1 1 0 42.4135 56.0683 52.3709 -0.758652 0.606825 0.237086 0.490491 45 57.5 1 0 +1170 1 1 0 42.2816 56.1546 51.5961 -0.771841 0.615456 0.159613 0.490491 45 57.5 1 0 +1171 1 1 0 42.198 56.2024 50.8114 -0.780205 0.620239 0.0811417 0.490491 45 57.5 1 0 +1172 1 1 0 42.1428 55.5474 52.7371 -0.785715 0.55474 0.273706 0.490491 45 57.5 1 0 +1173 1 1 0 41.985 55.6451 51.9727 -0.801504 0.564513 0.197274 0.490491 45 57.5 1 0 +1174 1 1 0 41.9098 55 53.0902 -0.809017 0.5 0.309017 0.490491 45 57.5 1 0 +1175 1 1 0 41.7285 55.112 52.3345 -0.827147 0.511205 0.233445 0.490491 45 57.5 1 0 +1176 1 1 0 41.5982 55.1926 51.5643 -0.840178 0.519259 0.156434 0.490491 45 57.5 1 0 +1177 1 1 0 41.8783 55.7114 51.1908 -0.81217 0.57114 0.119078 0.490491 45 57.5 1 0 +1178 1 1 0 41.8248 55.7446 50.4067 -0.817523 0.574458 0.040675 0.490491 45 57.5 1 0 +1179 1 1 0 41.5197 55.2411 50.7846 -0.848029 0.52411 0.0784592 0.490491 45 57.5 1 0 +1180 1 1 0 41.4935 55.2573 50 -0.850651 0.525731 0 0.490491 45 57.5 1 0 +1181 1 1 0 42.6111 56.6284 48.7881 -0.738887 0.662842 -0.121192 0.490491 45 57.5 1 0 +1182 1 1 0 42.7204 56.5601 48.0067 -0.727959 0.656006 -0.199331 0.490491 45 57.5 1 0 +1183 1 1 0 42.198 56.2024 49.1886 -0.780205 0.620239 -0.0811417 0.490491 45 57.5 1 0 +1184 1 1 0 42.2816 56.1546 48.4039 -0.771841 0.615456 -0.159613 0.490491 45 57.5 1 0 +1185 1 1 0 42.4135 56.0683 47.6291 -0.758652 0.606825 -0.237086 0.490491 45 57.5 1 0 +1186 1 1 0 41.8248 55.7446 49.5933 -0.817523 0.574458 -0.040675 0.490491 45 57.5 1 0 +1187 1 1 0 41.8783 55.7114 48.8092 -0.81217 0.57114 -0.119078 0.490491 45 57.5 1 0 +1188 1 1 0 41.5197 55.2411 49.2154 -0.848029 0.52411 -0.0784592 0.490491 45 57.5 1 0 +1189 1 1 0 41.5982 55.1926 48.4357 -0.840178 0.519259 -0.156434 0.490491 45 57.5 1 0 +1190 1 1 0 41.985 55.6451 48.0273 -0.801504 0.564513 -0.197274 0.490491 45 57.5 1 0 +1191 1 1 0 42.1428 55.5474 47.2629 -0.785715 0.55474 -0.273706 0.490491 45 57.5 1 0 +1192 1 1 0 41.7285 55.112 47.6655 -0.827147 0.511205 -0.233445 0.490491 45 57.5 1 0 +1193 1 1 0 41.9098 55 46.9098 -0.809017 0.5 -0.309017 0.490491 45 57.5 1 0 +1194 1 1 0 42.565 56.675 50.4068 -0.743496 0.667502 0.0406769 0.490491 45 57.5 1 0 +1195 1 1 0 42.1721 56.2229 50 -0.782786 0.622291 0 0.490491 45 57.5 1 0 +1196 1 1 0 42.565 56.675 49.5932 -0.743496 0.667502 -0.0406769 0.490491 45 57.5 1 0 +1197 1 1 0 41.7155 54.4287 53.4285 -0.828447 0.442867 0.342848 0.490491 45 57.5 1 0 +1198 1 1 0 41.4736 54.4446 52.7469 -0.85264 0.444464 0.274694 0.490491 45 57.5 1 0 +1199 1 1 0 41.5609 53.8361 53.7504 -0.843912 0.383614 0.375038 0.490491 45 57.5 1 0 +1200 1 1 0 41.3027 53.8591 53.0766 -0.869725 0.385906 0.307659 0.490491 45 57.5 1 0 +1201 1 1 0 41.0899 53.8619 52.3868 -0.891007 0.386187 0.238677 0.490491 45 57.5 1 0 +1202 1 1 0 41.4466 53.2252 54.0543 -0.855337 0.322525 0.405434 0.490491 45 57.5 1 0 +1203 1 1 0 41.1716 53.2486 53.3921 -0.882837 0.324863 0.339209 0.490491 45 57.5 1 0 +1204 1 1 0 41.3733 52.5989 54.3389 -0.862669 0.259892 0.433888 0.490491 45 57.5 1 0 +1205 1 1 0 41.0826 52.6266 53.6852 -0.891742 0.262661 0.368518 0.490491 45 57.5 1 0 +1206 1 1 0 40.8376 52.6408 53.0126 -0.916244 0.264082 0.301258 0.490491 45 57.5 1 0 +1207 1 1 0 40.9417 53.2593 52.7063 -0.905832 0.325929 0.270627 0.490491 45 57.5 1 0 +1208 1 1 0 40.7612 53.2553 52.0119 -0.92388 0.32553 0.201189 0.490491 45 57.5 1 0 +1209 1 1 0 40.6395 52.6415 52.3245 -0.93605 0.264151 0.232455 0.490491 45 57.5 1 0 +1210 1 1 0 40.4894 52.6287 51.6246 -0.951057 0.262865 0.16246 0.490491 45 57.5 1 0 +1211 1 1 0 41.3413 51.9602 54.6027 -0.865871 0.196015 0.460266 0.490491 45 57.5 1 0 +1212 1 1 0 41.036 51.9641 53.9735 -0.896401 0.196412 0.39735 0.490491 45 57.5 1 0 +1213 1 1 0 41.3507 51.312 54.8444 -0.864929 0.1312 0.484441 0.490491 45 57.5 1 0 +1214 1 1 0 41.032 51.3175 54.2236 -0.896801 0.131749 0.422363 0.490491 45 57.5 1 0 +1215 1 1 0 40.757 51.3166 53.5823 -0.924305 0.131656 0.358229 0.490491 45 57.5 1 0 +1216 1 1 0 41.4015 50.6576 55.063 -0.859848 0.0657577 0.506298 0.490491 45 57.5 1 0 +1217 1 1 0 41.0707 50.6582 54.4537 -0.892927 0.0658169 0.445365 0.490491 45 57.5 1 0 +1218 1 1 0 41.1503 50 54.6566 -0.884965 0 0.465657 0.490491 45 57.5 1 0 +1219 1 1 0 40.8496 50 54.0336 -0.915043 0 0.403355 0.490491 45 57.5 1 0 +1220 1 1 0 40.7808 50.6599 53.8172 -0.921919 0.0659886 0.381722 0.490491 45 57.5 1 0 +1221 1 1 0 40.538 50.6604 53.1678 -0.946198 0.0660427 0.316778 0.490491 45 57.5 1 0 +1222 1 1 0 40.5926 50 53.3912 -0.940742 0 0.339122 0.490491 45 57.5 1 0 +1223 1 1 0 40.3806 50 52.7327 -0.961938 0 0.273267 0.490491 45 57.5 1 0 +1224 1 1 0 40.3881 51.9834 51.9178 -0.961188 0.198337 0.19178 0.490491 45 57.5 1 0 +1225 1 1 0 40.2763 51.9858 51.2273 -0.97237 0.198581 0.122729 0.490491 45 57.5 1 0 +1226 1 1 0 40.3361 51.3279 52.2012 -0.966393 0.132792 0.220117 0.490491 45 57.5 1 0 +1227 1 1 0 40.2057 51.3326 51.5155 -0.979426 0.133256 0.151549 0.490491 45 57.5 1 0 +1228 1 1 0 40.1231 51.3307 50.8224 -0.987688 0.133071 0.0822422 0.490491 45 57.5 1 0 +1229 1 1 0 40.3336 50.6657 52.4733 -0.966643 0.0665668 0.247326 0.490491 45 57.5 1 0 +1230 1 1 0 40.1852 50.666 51.796 -0.981483 0.0666046 0.179596 0.490491 45 57.5 1 0 +1231 1 1 0 40.2147 50 52.061 -0.97853 0 0.206103 0.490491 45 57.5 1 0 +1232 1 1 0 40.0956 50 51.3795 -0.990439 0 0.137952 0.490491 45 57.5 1 0 +1233 1 1 0 40.0835 50.6671 51.1039 -0.991648 0.0667095 0.110385 0.490491 45 57.5 1 0 +1234 1 1 0 40.0308 50.6674 50.4125 -0.996917 0.0667412 0.0412479 0.490491 45 57.5 1 0 +1235 1 1 0 40.0239 50 50.6914 -0.997607 0 0.0691418 0.490491 45 57.5 1 0 +1236 1 1 0 40 50 50 -1 0 0 0.490491 45 57.5 1 0 +1237 1 1 0 40.7732 51.9839 53.3061 -0.922682 0.198387 0.330606 0.490491 45 57.5 1 0 +1238 1 1 0 40.5218 51.3257 52.8993 -0.947822 0.13257 0.289929 0.490491 45 57.5 1 0 +1239 1 1 0 40.5557 51.9909 52.6155 -0.944433 0.199094 0.26155 0.490491 45 57.5 1 0 +1240 1 1 0 41.4736 54.4446 47.2531 -0.85264 0.444464 -0.274694 0.490491 45 57.5 1 0 +1241 1 1 0 41.7155 54.4287 46.5715 -0.828447 0.442867 -0.342848 0.490491 45 57.5 1 0 +1242 1 1 0 41.0899 53.8619 47.6132 -0.891007 0.386187 -0.238677 0.490491 45 57.5 1 0 +1243 1 1 0 41.3027 53.8591 46.9234 -0.869725 0.385906 -0.307659 0.490491 45 57.5 1 0 +1244 1 1 0 41.5609 53.8361 46.2496 -0.843912 0.383614 -0.375038 0.490491 45 57.5 1 0 +1245 1 1 0 40.7612 53.2553 47.9881 -0.92388 0.32553 -0.201189 0.490491 45 57.5 1 0 +1246 1 1 0 40.9417 53.2593 47.2937 -0.905832 0.325929 -0.270627 0.490491 45 57.5 1 0 +1247 1 1 0 40.4894 52.6287 48.3754 -0.951057 0.262865 -0.16246 0.490491 45 57.5 1 0 +1248 1 1 0 40.6395 52.6415 47.6755 -0.93605 0.264151 -0.232455 0.490491 45 57.5 1 0 +1249 1 1 0 40.8376 52.6408 46.9874 -0.916244 0.264082 -0.301258 0.490491 45 57.5 1 0 +1250 1 1 0 41.1716 53.2486 46.6079 -0.882837 0.324863 -0.339209 0.490491 45 57.5 1 0 +1251 1 1 0 41.4466 53.2252 45.9457 -0.855337 0.322525 -0.405434 0.490491 45 57.5 1 0 +1252 1 1 0 41.0826 52.6266 46.3148 -0.891742 0.262661 -0.368518 0.490491 45 57.5 1 0 +1253 1 1 0 41.3733 52.5989 45.6611 -0.862669 0.259892 -0.433888 0.490491 45 57.5 1 0 +1254 1 1 0 40.2763 51.9858 48.7727 -0.97237 0.198581 -0.122729 0.490491 45 57.5 1 0 +1255 1 1 0 40.3881 51.9834 48.0822 -0.961188 0.198337 -0.19178 0.490491 45 57.5 1 0 +1256 1 1 0 40.1231 51.3307 49.1776 -0.987688 0.133071 -0.0822422 0.490491 45 57.5 1 0 +1257 1 1 0 40.2057 51.3326 48.4845 -0.979426 0.133256 -0.151549 0.490491 45 57.5 1 0 +1258 1 1 0 40.3361 51.3279 47.7988 -0.966393 0.132792 -0.220117 0.490491 45 57.5 1 0 +1259 1 1 0 40.0308 50.6674 49.5875 -0.996917 0.0667412 -0.0412479 0.490491 45 57.5 1 0 +1260 1 1 0 40.0835 50.6671 48.8961 -0.991648 0.0667095 -0.110385 0.490491 45 57.5 1 0 +1261 1 1 0 40.0239 50 49.3086 -0.997607 0 -0.0691418 0.490491 45 57.5 1 0 +1262 1 1 0 40.0956 50 48.6205 -0.990439 0 -0.137952 0.490491 45 57.5 1 0 +1263 1 1 0 40.1852 50.666 48.204 -0.981483 0.0666046 -0.179596 0.490491 45 57.5 1 0 +1264 1 1 0 40.3336 50.6657 47.5267 -0.966643 0.0665668 -0.247326 0.490491 45 57.5 1 0 +1265 1 1 0 40.2147 50 47.939 -0.97853 0 -0.206103 0.490491 45 57.5 1 0 +1266 1 1 0 40.3806 50 47.2673 -0.961938 0 -0.273267 0.490491 45 57.5 1 0 +1267 1 1 0 41.036 51.9641 46.0265 -0.896401 0.196412 -0.39735 0.490491 45 57.5 1 0 +1268 1 1 0 41.3413 51.9602 45.3973 -0.865871 0.196015 -0.460266 0.490491 45 57.5 1 0 +1269 1 1 0 40.757 51.3166 46.4177 -0.924305 0.131656 -0.358229 0.490491 45 57.5 1 0 +1270 1 1 0 41.032 51.3175 45.7764 -0.896801 0.131749 -0.422363 0.490491 45 57.5 1 0 +1271 1 1 0 41.3507 51.312 45.1556 -0.864929 0.1312 -0.484441 0.490491 45 57.5 1 0 +1272 1 1 0 40.538 50.6604 46.8322 -0.946198 0.0660427 -0.316778 0.490491 45 57.5 1 0 +1273 1 1 0 40.7808 50.6599 46.1828 -0.921919 0.0659886 -0.381722 0.490491 45 57.5 1 0 +1274 1 1 0 40.5926 50 46.6088 -0.940742 0 -0.339122 0.490491 45 57.5 1 0 +1275 1 1 0 40.8496 50 45.9664 -0.915043 0 -0.403355 0.490491 45 57.5 1 0 +1276 1 1 0 41.0707 50.6582 45.5463 -0.892927 0.0658169 -0.445365 0.490491 45 57.5 1 0 +1277 1 1 0 41.4015 50.6576 44.937 -0.859848 0.0657577 -0.506298 0.490491 45 57.5 1 0 +1278 1 1 0 41.1503 50 45.3434 -0.884965 0 -0.465657 0.490491 45 57.5 1 0 +1279 1 1 0 40.5557 51.9909 47.3845 -0.944433 0.199094 -0.26155 0.490491 45 57.5 1 0 +1280 1 1 0 40.5218 51.3257 47.1007 -0.947822 0.13257 -0.289929 0.490491 45 57.5 1 0 +1281 1 1 0 40.7732 51.9839 46.6939 -0.922682 0.198387 -0.330606 0.490491 45 57.5 1 0 +1282 1 1 0 41.3147 54.5426 51.9823 -0.868535 0.454262 0.198227 0.490491 45 57.5 1 0 +1283 1 1 0 40.9516 53.9414 51.6101 -0.904839 0.394136 0.161007 0.490491 45 57.5 1 0 +1284 1 1 0 40.6487 53.3234 51.228 -0.93513 0.332342 0.1228 0.490491 45 57.5 1 0 +1285 1 1 0 40.8702 53.9961 50.8232 -0.912983 0.399607 0.0823235 0.490491 45 57.5 1 0 +1286 1 1 0 41.2066 54.6088 51.1976 -0.879344 0.460882 0.119755 0.490491 45 57.5 1 0 +1287 1 1 0 41.1524 54.6421 50.413 -0.88476 0.464213 0.0412991 0.490491 45 57.5 1 0 +1288 1 1 0 40.3935 52.6552 50.815 -0.960655 0.265519 0.081501 0.490491 45 57.5 1 0 +1289 1 1 0 40.2115 52.0037 50.4125 -0.978852 0.200368 0.0412506 0.490491 45 57.5 1 0 +1290 1 1 0 40.3614 52.664 50 -0.963861 0.266405 0 0.490491 45 57.5 1 0 +1291 1 1 0 40.0895 51.3352 50 -0.991046 0.133524 0 0.490491 45 57.5 1 0 +1292 1 1 0 40.2115 52.0037 49.5875 -0.978852 0.200368 -0.0412506 0.490491 45 57.5 1 0 +1293 1 1 0 40.3935 52.6552 49.185 -0.960655 0.265519 -0.081501 0.490491 45 57.5 1 0 +1294 1 1 0 41.1524 54.6421 49.587 -0.88476 0.464213 -0.0412991 0.490491 45 57.5 1 0 +1295 1 1 0 40.8702 53.9961 49.1768 -0.912983 0.399607 -0.0823235 0.490491 45 57.5 1 0 +1296 1 1 0 41.2066 54.6088 48.8024 -0.879344 0.460882 -0.119755 0.490491 45 57.5 1 0 +1297 1 1 0 40.6487 53.3234 48.772 -0.93513 0.332342 -0.1228 0.490491 45 57.5 1 0 +1298 1 1 0 40.9516 53.9414 48.3899 -0.904839 0.394136 -0.161007 0.490491 45 57.5 1 0 +1299 1 1 0 41.3147 54.5426 48.0177 -0.868535 0.454262 -0.198227 0.490491 45 57.5 1 0 +1300 1 1 0 40.5838 53.3414 50.413 -0.941618 0.33414 0.0413021 0.490491 45 57.5 1 0 +1301 1 1 0 40.5838 53.3414 49.587 -0.941618 0.33414 -0.0413021 0.490491 45 57.5 1 0 +1302 1 1 0 40.8391 54.0097 50 -0.916092 0.400968 0 0.490491 45 57.5 1 0 +1303 1 1 0 44.2794 41.8079 49.5936 -0.572055 -0.819207 -0.0406403 0.490491 45 57.5 1 0 +1304 1 1 0 44.2794 41.8079 50.4064 -0.572055 -0.819207 0.0406403 0.490491 45 57.5 1 0 +1305 1 1 0 43.8436 42.1616 49.1891 -0.615642 -0.783843 -0.081086 0.490491 45 57.5 1 0 +1306 1 1 0 43.8232 42.1357 50 -0.617676 -0.786433 0 0.490491 45 57.5 1 0 +1307 1 1 0 43.8436 42.1616 50.8109 -0.615642 -0.783843 0.081086 0.490491 45 57.5 1 0 +1308 1 1 0 43.4372 42.5527 48.7886 -0.656282 -0.744727 -0.121144 0.490491 45 57.5 1 0 +1309 1 1 0 43.3912 42.5061 49.5936 -0.660883 -0.749387 -0.0406418 0.490491 45 57.5 1 0 +1310 1 1 0 43.0622 42.9795 48.3938 -0.69378 -0.702047 -0.160622 0.490491 45 57.5 1 0 +1311 1 1 0 42.9938 42.9103 49.1943 -0.700622 -0.708969 -0.0805729 0.490491 45 57.5 1 0 +1312 1 1 0 42.9709 42.8872 50 -0.702907 -0.711282 0 0.490491 45 57.5 1 0 +1313 1 1 0 43.3912 42.5061 50.4064 -0.660883 -0.749387 0.0406418 0.490491 45 57.5 1 0 +1314 1 1 0 43.4372 42.5527 51.2114 -0.656282 -0.744727 0.121144 0.490491 45 57.5 1 0 +1315 1 1 0 42.9938 42.9103 50.8057 -0.700622 -0.708969 0.0805729 0.490491 45 57.5 1 0 +1316 1 1 0 43.0622 42.9795 51.6062 -0.69378 -0.702047 0.160622 0.490491 45 57.5 1 0 +1317 1 1 0 42.7204 43.4399 48.0067 -0.727959 -0.656006 -0.199331 0.490491 45 57.5 1 0 +1318 1 1 0 42.6111 43.3716 48.7881 -0.738887 -0.662842 -0.121192 0.490491 45 57.5 1 0 +1319 1 1 0 42.4135 43.9317 47.6291 -0.758652 -0.606825 -0.237086 0.490491 45 57.5 1 0 +1320 1 1 0 42.2816 43.8454 48.4039 -0.771841 -0.615456 -0.159613 0.490491 45 57.5 1 0 +1321 1 1 0 42.198 43.7976 49.1886 -0.780205 -0.620239 -0.0811417 0.490491 45 57.5 1 0 +1322 1 1 0 42.1428 44.4526 47.2629 -0.785715 -0.55474 -0.273706 0.490491 45 57.5 1 0 +1323 1 1 0 41.985 44.3549 48.0273 -0.801504 -0.564513 -0.197274 0.490491 45 57.5 1 0 +1324 1 1 0 41.9098 45 46.9098 -0.809017 -0.5 -0.309017 0.490491 45 57.5 1 0 +1325 1 1 0 41.7285 44.888 47.6655 -0.827147 -0.511205 -0.233445 0.490491 45 57.5 1 0 +1326 1 1 0 41.5982 44.8074 48.4357 -0.840178 -0.519259 -0.156434 0.490491 45 57.5 1 0 +1327 1 1 0 41.8783 44.2886 48.8092 -0.81217 -0.57114 -0.119078 0.490491 45 57.5 1 0 +1328 1 1 0 41.8248 44.2554 49.5933 -0.817523 -0.574458 -0.040675 0.490491 45 57.5 1 0 +1329 1 1 0 41.5197 44.7589 49.2154 -0.848029 -0.52411 -0.0784592 0.490491 45 57.5 1 0 +1330 1 1 0 41.4935 44.7427 50 -0.850651 -0.525731 0 0.490491 45 57.5 1 0 +1331 1 1 0 42.6111 43.3716 51.2119 -0.738887 -0.662842 0.121192 0.490491 45 57.5 1 0 +1332 1 1 0 42.7204 43.4399 51.9933 -0.727959 -0.656006 0.199331 0.490491 45 57.5 1 0 +1333 1 1 0 42.198 43.7976 50.8114 -0.780205 -0.620239 0.0811417 0.490491 45 57.5 1 0 +1334 1 1 0 42.2816 43.8454 51.5961 -0.771841 -0.615456 0.159613 0.490491 45 57.5 1 0 +1335 1 1 0 42.4135 43.9317 52.3709 -0.758652 -0.606825 0.237086 0.490491 45 57.5 1 0 +1336 1 1 0 41.8248 44.2554 50.4067 -0.817523 -0.574458 0.040675 0.490491 45 57.5 1 0 +1337 1 1 0 41.8783 44.2886 51.1908 -0.81217 -0.57114 0.119078 0.490491 45 57.5 1 0 +1338 1 1 0 41.5197 44.7589 50.7846 -0.848029 -0.52411 0.0784592 0.490491 45 57.5 1 0 +1339 1 1 0 41.5982 44.8074 51.5643 -0.840178 -0.519259 0.156434 0.490491 45 57.5 1 0 +1340 1 1 0 41.985 44.3549 51.9727 -0.801504 -0.564513 0.197274 0.490491 45 57.5 1 0 +1341 1 1 0 42.1428 44.4526 52.7371 -0.785715 -0.55474 0.273706 0.490491 45 57.5 1 0 +1342 1 1 0 41.7285 44.888 52.3345 -0.827147 -0.511205 0.233445 0.490491 45 57.5 1 0 +1343 1 1 0 41.9098 45 53.0902 -0.809017 -0.5 0.309017 0.490491 45 57.5 1 0 +1344 1 1 0 42.565 43.325 49.5932 -0.743496 -0.667502 -0.0406769 0.490491 45 57.5 1 0 +1345 1 1 0 42.1721 43.7771 50 -0.782786 -0.622291 0 0.490491 45 57.5 1 0 +1346 1 1 0 42.565 43.325 50.4068 -0.743496 -0.667502 0.0406769 0.490491 45 57.5 1 0 +1347 1 1 0 41.7155 45.5713 46.5715 -0.828447 -0.442867 -0.342848 0.490491 45 57.5 1 0 +1348 1 1 0 41.4736 45.5554 47.2531 -0.85264 -0.444464 -0.274694 0.490491 45 57.5 1 0 +1349 1 1 0 41.5609 46.1639 46.2496 -0.843912 -0.383614 -0.375038 0.490491 45 57.5 1 0 +1350 1 1 0 41.3027 46.1409 46.9234 -0.869725 -0.385906 -0.307659 0.490491 45 57.5 1 0 +1351 1 1 0 41.0899 46.1381 47.6132 -0.891007 -0.386187 -0.238677 0.490491 45 57.5 1 0 +1352 1 1 0 41.4466 46.7748 45.9457 -0.855337 -0.322525 -0.405434 0.490491 45 57.5 1 0 +1353 1 1 0 41.1716 46.7514 46.6079 -0.882837 -0.324863 -0.339209 0.490491 45 57.5 1 0 +1354 1 1 0 41.3733 47.4011 45.6611 -0.862669 -0.259892 -0.433888 0.490491 45 57.5 1 0 +1355 1 1 0 41.0826 47.3734 46.3148 -0.891742 -0.262661 -0.368518 0.490491 45 57.5 1 0 +1356 1 1 0 40.8376 47.3592 46.9874 -0.916244 -0.264082 -0.301258 0.490491 45 57.5 1 0 +1357 1 1 0 40.9417 46.7407 47.2937 -0.905832 -0.325929 -0.270627 0.490491 45 57.5 1 0 +1358 1 1 0 40.7612 46.7447 47.9881 -0.92388 -0.32553 -0.201189 0.490491 45 57.5 1 0 +1359 1 1 0 40.6395 47.3585 47.6755 -0.93605 -0.264151 -0.232455 0.490491 45 57.5 1 0 +1360 1 1 0 40.4894 47.3713 48.3754 -0.951057 -0.262865 -0.16246 0.490491 45 57.5 1 0 +1361 1 1 0 41.3413 48.0398 45.3973 -0.865871 -0.196015 -0.460266 0.490491 45 57.5 1 0 +1362 1 1 0 41.036 48.0359 46.0265 -0.896401 -0.196412 -0.39735 0.490491 45 57.5 1 0 +1363 1 1 0 41.3507 48.688 45.1556 -0.864929 -0.1312 -0.484441 0.490491 45 57.5 1 0 +1364 1 1 0 41.032 48.6825 45.7764 -0.896801 -0.131749 -0.422363 0.490491 45 57.5 1 0 +1365 1 1 0 40.757 48.6834 46.4177 -0.924305 -0.131656 -0.358229 0.490491 45 57.5 1 0 +1366 1 1 0 41.4015 49.3424 44.937 -0.859848 -0.0657577 -0.506298 0.490491 45 57.5 1 0 +1367 1 1 0 41.0707 49.3418 45.5463 -0.892927 -0.0658169 -0.445365 0.490491 45 57.5 1 0 +1368 1 1 0 40.7808 49.3401 46.1828 -0.921919 -0.0659886 -0.381722 0.490491 45 57.5 1 0 +1369 1 1 0 40.538 49.3396 46.8322 -0.946198 -0.0660427 -0.316778 0.490491 45 57.5 1 0 +1370 1 1 0 40.3881 48.0166 48.0822 -0.961188 -0.198337 -0.19178 0.490491 45 57.5 1 0 +1371 1 1 0 40.2763 48.0142 48.7727 -0.97237 -0.198581 -0.122729 0.490491 45 57.5 1 0 +1372 1 1 0 40.3361 48.6721 47.7988 -0.966393 -0.132792 -0.220117 0.490491 45 57.5 1 0 +1373 1 1 0 40.2057 48.6674 48.4845 -0.979426 -0.133256 -0.151549 0.490491 45 57.5 1 0 +1374 1 1 0 40.1231 48.6693 49.1776 -0.987688 -0.133071 -0.0822422 0.490491 45 57.5 1 0 +1375 1 1 0 40.3336 49.3343 47.5267 -0.966643 -0.0665668 -0.247326 0.490491 45 57.5 1 0 +1376 1 1 0 40.1852 49.334 48.204 -0.981483 -0.0666046 -0.179596 0.490491 45 57.5 1 0 +1377 1 1 0 40.0835 49.3329 48.8961 -0.991648 -0.0667095 -0.110385 0.490491 45 57.5 1 0 +1378 1 1 0 40.0308 49.3326 49.5875 -0.996917 -0.0667412 -0.0412479 0.490491 45 57.5 1 0 +1379 1 1 0 40.7732 48.0161 46.6939 -0.922682 -0.198387 -0.330606 0.490491 45 57.5 1 0 +1380 1 1 0 40.5218 48.6743 47.1007 -0.947822 -0.13257 -0.289929 0.490491 45 57.5 1 0 +1381 1 1 0 40.5557 48.0091 47.3845 -0.944433 -0.199094 -0.26155 0.490491 45 57.5 1 0 +1382 1 1 0 41.4736 45.5554 52.7469 -0.85264 -0.444464 0.274694 0.490491 45 57.5 1 0 +1383 1 1 0 41.7155 45.5713 53.4285 -0.828447 -0.442867 0.342848 0.490491 45 57.5 1 0 +1384 1 1 0 41.0899 46.1381 52.3868 -0.891007 -0.386187 0.238677 0.490491 45 57.5 1 0 +1385 1 1 0 41.3027 46.1409 53.0766 -0.869725 -0.385906 0.307659 0.490491 45 57.5 1 0 +1386 1 1 0 41.5609 46.1639 53.7504 -0.843912 -0.383614 0.375038 0.490491 45 57.5 1 0 +1387 1 1 0 40.7612 46.7447 52.0119 -0.92388 -0.32553 0.201189 0.490491 45 57.5 1 0 +1388 1 1 0 40.9417 46.7407 52.7063 -0.905832 -0.325929 0.270627 0.490491 45 57.5 1 0 +1389 1 1 0 40.4894 47.3713 51.6246 -0.951057 -0.262865 0.16246 0.490491 45 57.5 1 0 +1390 1 1 0 40.6395 47.3585 52.3245 -0.93605 -0.264151 0.232455 0.490491 45 57.5 1 0 +1391 1 1 0 40.8376 47.3592 53.0126 -0.916244 -0.264082 0.301258 0.490491 45 57.5 1 0 +1392 1 1 0 41.1716 46.7514 53.3921 -0.882837 -0.324863 0.339209 0.490491 45 57.5 1 0 +1393 1 1 0 41.4466 46.7748 54.0543 -0.855337 -0.322525 0.405434 0.490491 45 57.5 1 0 +1394 1 1 0 41.0826 47.3734 53.6852 -0.891742 -0.262661 0.368518 0.490491 45 57.5 1 0 +1395 1 1 0 41.3733 47.4011 54.3389 -0.862669 -0.259892 0.433888 0.490491 45 57.5 1 0 +1396 1 1 0 40.2763 48.0142 51.2273 -0.97237 -0.198581 0.122729 0.490491 45 57.5 1 0 +1397 1 1 0 40.3881 48.0166 51.9178 -0.961188 -0.198337 0.19178 0.490491 45 57.5 1 0 +1398 1 1 0 40.1231 48.6693 50.8224 -0.987688 -0.133071 0.0822422 0.490491 45 57.5 1 0 +1399 1 1 0 40.2057 48.6674 51.5155 -0.979426 -0.133256 0.151549 0.490491 45 57.5 1 0 +1400 1 1 0 40.3361 48.6721 52.2012 -0.966393 -0.132792 0.220117 0.490491 45 57.5 1 0 +1401 1 1 0 40.0308 49.3326 50.4125 -0.996917 -0.0667412 0.0412479 0.490491 45 57.5 1 0 +1402 1 1 0 40.0835 49.3329 51.1039 -0.991648 -0.0667095 0.110385 0.490491 45 57.5 1 0 +1403 1 1 0 40.1852 49.334 51.796 -0.981483 -0.0666046 0.179596 0.490491 45 57.5 1 0 +1404 1 1 0 40.3336 49.3343 52.4733 -0.966643 -0.0665668 0.247326 0.490491 45 57.5 1 0 +1405 1 1 0 41.036 48.0359 53.9735 -0.896401 -0.196412 0.39735 0.490491 45 57.5 1 0 +1406 1 1 0 41.3413 48.0398 54.6027 -0.865871 -0.196015 0.460266 0.490491 45 57.5 1 0 +1407 1 1 0 40.757 48.6834 53.5823 -0.924305 -0.131656 0.358229 0.490491 45 57.5 1 0 +1408 1 1 0 41.032 48.6825 54.2236 -0.896801 -0.131749 0.422363 0.490491 45 57.5 1 0 +1409 1 1 0 41.3507 48.688 54.8444 -0.864929 -0.1312 0.484441 0.490491 45 57.5 1 0 +1410 1 1 0 40.538 49.3396 53.1678 -0.946198 -0.0660427 0.316778 0.490491 45 57.5 1 0 +1411 1 1 0 40.7808 49.3401 53.8172 -0.921919 -0.0659886 0.381722 0.490491 45 57.5 1 0 +1412 1 1 0 41.0707 49.3418 54.4537 -0.892927 -0.0658169 0.445365 0.490491 45 57.5 1 0 +1413 1 1 0 41.4015 49.3424 55.063 -0.859848 -0.0657577 0.506298 0.490491 45 57.5 1 0 +1414 1 1 0 40.5557 48.0091 52.6155 -0.944433 -0.199094 0.26155 0.490491 45 57.5 1 0 +1415 1 1 0 40.5218 48.6743 52.8993 -0.947822 -0.13257 0.289929 0.490491 45 57.5 1 0 +1416 1 1 0 40.7732 48.0161 53.3061 -0.922682 -0.198387 0.330606 0.490491 45 57.5 1 0 +1417 1 1 0 41.3147 45.4574 48.0177 -0.868535 -0.454262 -0.198227 0.490491 45 57.5 1 0 +1418 1 1 0 40.9516 46.0586 48.3899 -0.904839 -0.394136 -0.161007 0.490491 45 57.5 1 0 +1419 1 1 0 40.6487 46.6766 48.772 -0.93513 -0.332342 -0.1228 0.490491 45 57.5 1 0 +1420 1 1 0 40.8702 46.0039 49.1768 -0.912983 -0.399607 -0.0823235 0.490491 45 57.5 1 0 +1421 1 1 0 41.2066 45.3912 48.8024 -0.879344 -0.460882 -0.119755 0.490491 45 57.5 1 0 +1422 1 1 0 41.1524 45.3579 49.587 -0.88476 -0.464213 -0.0412991 0.490491 45 57.5 1 0 +1423 1 1 0 40.3935 47.3448 49.185 -0.960655 -0.265519 -0.081501 0.490491 45 57.5 1 0 +1424 1 1 0 40.2115 47.9963 49.5875 -0.978852 -0.200368 -0.0412506 0.490491 45 57.5 1 0 +1425 1 1 0 40.3614 47.336 50 -0.963861 -0.266405 0 0.490491 45 57.5 1 0 +1426 1 1 0 40.0895 48.6648 50 -0.991046 -0.133524 0 0.490491 45 57.5 1 0 +1427 1 1 0 40.2115 47.9963 50.4125 -0.978852 -0.200368 0.0412506 0.490491 45 57.5 1 0 +1428 1 1 0 40.3935 47.3448 50.815 -0.960655 -0.265519 0.081501 0.490491 45 57.5 1 0 +1429 1 1 0 41.1524 45.3579 50.413 -0.88476 -0.464213 0.0412991 0.490491 45 57.5 1 0 +1430 1 1 0 40.8702 46.0039 50.8232 -0.912983 -0.399607 0.0823235 0.490491 45 57.5 1 0 +1431 1 1 0 41.2066 45.3912 51.1976 -0.879344 -0.460882 0.119755 0.490491 45 57.5 1 0 +1432 1 1 0 40.6487 46.6766 51.228 -0.93513 -0.332342 0.1228 0.490491 45 57.5 1 0 +1433 1 1 0 40.9516 46.0586 51.6101 -0.904839 -0.394136 0.161007 0.490491 45 57.5 1 0 +1434 1 1 0 41.3147 45.4574 51.9823 -0.868535 -0.454262 0.198227 0.490491 45 57.5 1 0 +1435 1 1 0 40.5838 46.6586 49.587 -0.941618 -0.33414 -0.0413021 0.490491 45 57.5 1 0 +1436 1 1 0 40.5838 46.6586 50.413 -0.941618 -0.33414 0.0413021 0.490491 45 57.5 1 0 +1437 1 1 0 40.8391 45.9903 50 -0.916092 -0.400968 0 0.490491 45 57.5 1 0 +1438 1 1 0 55.7206 58.1921 49.5936 0.572055 0.819207 -0.0406403 0.490491 45 57.5 1 0 +1439 1 1 0 55.7206 58.1921 50.4064 0.572055 0.819207 0.0406403 0.490491 45 57.5 1 0 +1440 1 1 0 56.1564 57.8384 49.1891 0.615642 0.783843 -0.081086 0.490491 45 57.5 1 0 +1441 1 1 0 56.1768 57.8643 50 0.617676 0.786433 0 0.490491 45 57.5 1 0 +1442 1 1 0 56.1564 57.8384 50.8109 0.615642 0.783843 0.081086 0.490491 45 57.5 1 0 +1443 1 1 0 56.5628 57.4473 48.7886 0.656282 0.744727 -0.121144 0.490491 45 57.5 1 0 +1444 1 1 0 56.6088 57.4939 49.5936 0.660883 0.749387 -0.0406418 0.490491 45 57.5 1 0 +1445 1 1 0 56.9378 57.0205 48.3938 0.69378 0.702047 -0.160622 0.490491 45 57.5 1 0 +1446 1 1 0 57.0062 57.0897 49.1943 0.700622 0.708969 -0.0805729 0.490491 45 57.5 1 0 +1447 1 1 0 57.0291 57.1128 50 0.702907 0.711282 0 0.490491 45 57.5 1 0 +1448 1 1 0 56.6088 57.4939 50.4064 0.660883 0.749387 0.0406418 0.490491 45 57.5 1 0 +1449 1 1 0 56.5628 57.4473 51.2114 0.656282 0.744727 0.121144 0.490491 45 57.5 1 0 +1450 1 1 0 57.0062 57.0897 50.8057 0.700622 0.708969 0.0805729 0.490491 45 57.5 1 0 +1451 1 1 0 56.9378 57.0205 51.6062 0.69378 0.702047 0.160622 0.490491 45 57.5 1 0 +1452 1 1 0 57.2796 56.5601 48.0067 0.727959 0.656006 -0.199331 0.490491 45 57.5 1 0 +1453 1 1 0 57.3889 56.6284 48.7881 0.738887 0.662842 -0.121192 0.490491 45 57.5 1 0 +1454 1 1 0 57.5865 56.0683 47.6291 0.758652 0.606825 -0.237086 0.490491 45 57.5 1 0 +1455 1 1 0 57.7184 56.1546 48.4039 0.771841 0.615456 -0.159613 0.490491 45 57.5 1 0 +1456 1 1 0 57.802 56.2024 49.1886 0.780205 0.620239 -0.0811417 0.490491 45 57.5 1 0 +1457 1 1 0 57.8572 55.5474 47.2629 0.785715 0.55474 -0.273706 0.490491 45 57.5 1 0 +1458 1 1 0 58.015 55.6451 48.0273 0.801504 0.564513 -0.197274 0.490491 45 57.5 1 0 +1459 1 1 0 58.0902 55 46.9098 0.809017 0.5 -0.309017 0.490491 45 57.5 1 0 +1460 1 1 0 58.2715 55.112 47.6655 0.827147 0.511205 -0.233445 0.490491 45 57.5 1 0 +1461 1 1 0 58.4018 55.1926 48.4357 0.840178 0.519259 -0.156434 0.490491 45 57.5 1 0 +1462 1 1 0 58.1217 55.7114 48.8092 0.81217 0.57114 -0.119078 0.490491 45 57.5 1 0 +1463 1 1 0 58.1752 55.7446 49.5933 0.817523 0.574458 -0.040675 0.490491 45 57.5 1 0 +1464 1 1 0 58.4803 55.2411 49.2154 0.848029 0.52411 -0.0784592 0.490491 45 57.5 1 0 +1465 1 1 0 58.5065 55.2573 50 0.850651 0.525731 0 0.490491 45 57.5 1 0 +1466 1 1 0 57.3889 56.6284 51.2119 0.738887 0.662842 0.121192 0.490491 45 57.5 1 0 +1467 1 1 0 57.2796 56.5601 51.9933 0.727959 0.656006 0.199331 0.490491 45 57.5 1 0 +1468 1 1 0 57.802 56.2024 50.8114 0.780205 0.620239 0.0811417 0.490491 45 57.5 1 0 +1469 1 1 0 57.7184 56.1546 51.5961 0.771841 0.615456 0.159613 0.490491 45 57.5 1 0 +1470 1 1 0 57.5865 56.0683 52.3709 0.758652 0.606825 0.237086 0.490491 45 57.5 1 0 +1471 1 1 0 58.1752 55.7446 50.4067 0.817523 0.574458 0.040675 0.490491 45 57.5 1 0 +1472 1 1 0 58.1217 55.7114 51.1908 0.81217 0.57114 0.119078 0.490491 45 57.5 1 0 +1473 1 1 0 58.4803 55.2411 50.7846 0.848029 0.52411 0.0784592 0.490491 45 57.5 1 0 +1474 1 1 0 58.4018 55.1926 51.5643 0.840178 0.519259 0.156434 0.490491 45 57.5 1 0 +1475 1 1 0 58.015 55.6451 51.9727 0.801504 0.564513 0.197274 0.490491 45 57.5 1 0 +1476 1 1 0 57.8572 55.5474 52.7371 0.785715 0.55474 0.273706 0.490491 45 57.5 1 0 +1477 1 1 0 58.2715 55.112 52.3345 0.827147 0.511205 0.233445 0.490491 45 57.5 1 0 +1478 1 1 0 58.0902 55 53.0902 0.809017 0.5 0.309017 0.490491 45 57.5 1 0 +1479 1 1 0 57.435 56.675 49.5932 0.743496 0.667502 -0.0406769 0.490491 45 57.5 1 0 +1480 1 1 0 57.8279 56.2229 50 0.782786 0.622291 0 0.490491 45 57.5 1 0 +1481 1 1 0 57.435 56.675 50.4068 0.743496 0.667502 0.0406769 0.490491 45 57.5 1 0 +1482 1 1 0 58.2845 54.4287 46.5715 0.828447 0.442867 -0.342848 0.490491 45 57.5 1 0 +1483 1 1 0 58.5264 54.4446 47.2531 0.85264 0.444464 -0.274694 0.490491 45 57.5 1 0 +1484 1 1 0 58.4391 53.8361 46.2496 0.843912 0.383614 -0.375038 0.490491 45 57.5 1 0 +1485 1 1 0 58.6973 53.8591 46.9234 0.869725 0.385906 -0.307659 0.490491 45 57.5 1 0 +1486 1 1 0 58.9101 53.8619 47.6132 0.891007 0.386187 -0.238677 0.490491 45 57.5 1 0 +1487 1 1 0 58.5534 53.2252 45.9457 0.855337 0.322525 -0.405434 0.490491 45 57.5 1 0 +1488 1 1 0 58.8284 53.2486 46.6079 0.882837 0.324863 -0.339209 0.490491 45 57.5 1 0 +1489 1 1 0 58.6267 52.5989 45.6611 0.862669 0.259892 -0.433888 0.490491 45 57.5 1 0 +1490 1 1 0 58.9174 52.6266 46.3148 0.891742 0.262661 -0.368518 0.490491 45 57.5 1 0 +1491 1 1 0 59.1624 52.6408 46.9874 0.916244 0.264082 -0.301258 0.490491 45 57.5 1 0 +1492 1 1 0 59.0583 53.2593 47.2937 0.905832 0.325929 -0.270627 0.490491 45 57.5 1 0 +1493 1 1 0 59.2388 53.2553 47.9881 0.92388 0.32553 -0.201189 0.490491 45 57.5 1 0 +1494 1 1 0 59.3605 52.6415 47.6755 0.93605 0.264151 -0.232455 0.490491 45 57.5 1 0 +1495 1 1 0 59.5106 52.6287 48.3754 0.951057 0.262865 -0.16246 0.490491 45 57.5 1 0 +1496 1 1 0 58.6587 51.9602 45.3973 0.865871 0.196015 -0.460266 0.490491 45 57.5 1 0 +1497 1 1 0 58.964 51.9641 46.0265 0.896401 0.196412 -0.39735 0.490491 45 57.5 1 0 +1498 1 1 0 58.6493 51.312 45.1556 0.864929 0.1312 -0.484441 0.490491 45 57.5 1 0 +1499 1 1 0 58.968 51.3175 45.7764 0.896801 0.131749 -0.422363 0.490491 45 57.5 1 0 +1500 1 1 0 59.243 51.3166 46.4177 0.924305 0.131656 -0.358229 0.490491 45 57.5 1 0 +1501 1 1 0 58.5985 50.6576 44.937 0.859848 0.0657577 -0.506298 0.490491 45 57.5 1 0 +1502 1 1 0 58.9293 50.6582 45.5463 0.892927 0.0658169 -0.445365 0.490491 45 57.5 1 0 +1503 1 1 0 58.8497 50 45.3434 0.884965 0 -0.465657 0.490491 45 57.5 1 0 +1504 1 1 0 59.1504 50 45.9664 0.915043 0 -0.403355 0.490491 45 57.5 1 0 +1505 1 1 0 59.2192 50.6599 46.1828 0.921919 0.0659886 -0.381722 0.490491 45 57.5 1 0 +1506 1 1 0 59.462 50.6604 46.8322 0.946198 0.0660427 -0.316778 0.490491 45 57.5 1 0 +1507 1 1 0 59.4074 50 46.6088 0.940742 0 -0.339122 0.490491 45 57.5 1 0 +1508 1 1 0 59.6194 50 47.2673 0.961938 0 -0.273267 0.490491 45 57.5 1 0 +1509 1 1 0 59.6119 51.9834 48.0822 0.961188 0.198337 -0.19178 0.490491 45 57.5 1 0 +1510 1 1 0 59.7237 51.9858 48.7727 0.97237 0.198581 -0.122729 0.490491 45 57.5 1 0 +1511 1 1 0 59.6639 51.3279 47.7988 0.966393 0.132792 -0.220117 0.490491 45 57.5 1 0 +1512 1 1 0 59.7943 51.3326 48.4845 0.979426 0.133256 -0.151549 0.490491 45 57.5 1 0 +1513 1 1 0 59.8769 51.3307 49.1776 0.987688 0.133071 -0.0822422 0.490491 45 57.5 1 0 +1514 1 1 0 59.6664 50.6657 47.5267 0.966643 0.0665668 -0.247326 0.490491 45 57.5 1 0 +1515 1 1 0 59.8148 50.666 48.204 0.981483 0.0666046 -0.179596 0.490491 45 57.5 1 0 +1516 1 1 0 59.7853 50 47.939 0.97853 0 -0.206103 0.490491 45 57.5 1 0 +1517 1 1 0 59.9044 50 48.6205 0.990439 0 -0.137952 0.490491 45 57.5 1 0 +1518 1 1 0 59.9165 50.6671 48.8961 0.991648 0.0667095 -0.110385 0.490491 45 57.5 1 0 +1519 1 1 0 59.9692 50.6674 49.5875 0.996917 0.0667412 -0.0412479 0.490491 45 57.5 1 0 +1520 1 1 0 59.9761 50 49.3086 0.997607 0 -0.0691418 0.490491 45 57.5 1 0 +1521 1 1 0 60 50 50 1 0 0 0.490491 45 57.5 1 0 +1522 1 1 0 59.2268 51.9839 46.6939 0.922682 0.198387 -0.330606 0.490491 45 57.5 1 0 +1523 1 1 0 59.4782 51.3257 47.1007 0.947822 0.13257 -0.289929 0.490491 45 57.5 1 0 +1524 1 1 0 59.4443 51.9909 47.3845 0.944433 0.199094 -0.26155 0.490491 45 57.5 1 0 +1525 1 1 0 58.5264 54.4446 52.7469 0.85264 0.444464 0.274694 0.490491 45 57.5 1 0 +1526 1 1 0 58.2845 54.4287 53.4285 0.828447 0.442867 0.342848 0.490491 45 57.5 1 0 +1527 1 1 0 58.9101 53.8619 52.3868 0.891007 0.386187 0.238677 0.490491 45 57.5 1 0 +1528 1 1 0 58.6973 53.8591 53.0766 0.869725 0.385906 0.307659 0.490491 45 57.5 1 0 +1529 1 1 0 58.4391 53.8361 53.7504 0.843912 0.383614 0.375038 0.490491 45 57.5 1 0 +1530 1 1 0 59.2388 53.2553 52.0119 0.92388 0.32553 0.201189 0.490491 45 57.5 1 0 +1531 1 1 0 59.0583 53.2593 52.7063 0.905832 0.325929 0.270627 0.490491 45 57.5 1 0 +1532 1 1 0 59.5106 52.6287 51.6246 0.951057 0.262865 0.16246 0.490491 45 57.5 1 0 +1533 1 1 0 59.3605 52.6415 52.3245 0.93605 0.264151 0.232455 0.490491 45 57.5 1 0 +1534 1 1 0 59.1624 52.6408 53.0126 0.916244 0.264082 0.301258 0.490491 45 57.5 1 0 +1535 1 1 0 58.8284 53.2486 53.3921 0.882837 0.324863 0.339209 0.490491 45 57.5 1 0 +1536 1 1 0 58.5534 53.2252 54.0543 0.855337 0.322525 0.405434 0.490491 45 57.5 1 0 +1537 1 1 0 58.9174 52.6266 53.6852 0.891742 0.262661 0.368518 0.490491 45 57.5 1 0 +1538 1 1 0 58.6267 52.5989 54.3389 0.862669 0.259892 0.433888 0.490491 45 57.5 1 0 +1539 1 1 0 59.7237 51.9858 51.2273 0.97237 0.198581 0.122729 0.490491 45 57.5 1 0 +1540 1 1 0 59.6119 51.9834 51.9178 0.961188 0.198337 0.19178 0.490491 45 57.5 1 0 +1541 1 1 0 59.8769 51.3307 50.8224 0.987688 0.133071 0.0822422 0.490491 45 57.5 1 0 +1542 1 1 0 59.7943 51.3326 51.5155 0.979426 0.133256 0.151549 0.490491 45 57.5 1 0 +1543 1 1 0 59.6639 51.3279 52.2012 0.966393 0.132792 0.220117 0.490491 45 57.5 1 0 +1544 1 1 0 59.9692 50.6674 50.4125 0.996917 0.0667412 0.0412479 0.490491 45 57.5 1 0 +1545 1 1 0 59.9165 50.6671 51.1039 0.991648 0.0667095 0.110385 0.490491 45 57.5 1 0 +1546 1 1 0 59.9761 50 50.6914 0.997607 0 0.0691418 0.490491 45 57.5 1 0 +1547 1 1 0 59.9044 50 51.3795 0.990439 0 0.137952 0.490491 45 57.5 1 0 +1548 1 1 0 59.8148 50.666 51.796 0.981483 0.0666046 0.179596 0.490491 45 57.5 1 0 +1549 1 1 0 59.6664 50.6657 52.4733 0.966643 0.0665668 0.247326 0.490491 45 57.5 1 0 +1550 1 1 0 59.7853 50 52.061 0.97853 0 0.206103 0.490491 45 57.5 1 0 +1551 1 1 0 59.6194 50 52.7327 0.961938 0 0.273267 0.490491 45 57.5 1 0 +1552 1 1 0 58.964 51.9641 53.9735 0.896401 0.196412 0.39735 0.490491 45 57.5 1 0 +1553 1 1 0 58.6587 51.9602 54.6027 0.865871 0.196015 0.460266 0.490491 45 57.5 1 0 +1554 1 1 0 59.243 51.3166 53.5823 0.924305 0.131656 0.358229 0.490491 45 57.5 1 0 +1555 1 1 0 58.968 51.3175 54.2236 0.896801 0.131749 0.422363 0.490491 45 57.5 1 0 +1556 1 1 0 58.6493 51.312 54.8444 0.864929 0.1312 0.484441 0.490491 45 57.5 1 0 +1557 1 1 0 59.462 50.6604 53.1678 0.946198 0.0660427 0.316778 0.490491 45 57.5 1 0 +1558 1 1 0 59.2192 50.6599 53.8172 0.921919 0.0659886 0.381722 0.490491 45 57.5 1 0 +1559 1 1 0 59.4074 50 53.3912 0.940742 0 0.339122 0.490491 45 57.5 1 0 +1560 1 1 0 59.1504 50 54.0336 0.915043 0 0.403355 0.490491 45 57.5 1 0 +1561 1 1 0 58.9293 50.6582 54.4537 0.892927 0.0658169 0.445365 0.490491 45 57.5 1 0 +1562 1 1 0 58.5985 50.6576 55.063 0.859848 0.0657577 0.506298 0.490491 45 57.5 1 0 +1563 1 1 0 58.8497 50 54.6566 0.884965 0 0.465657 0.490491 45 57.5 1 0 +1564 1 1 0 59.4443 51.9909 52.6155 0.944433 0.199094 0.26155 0.490491 45 57.5 1 0 +1565 1 1 0 59.4782 51.3257 52.8993 0.947822 0.13257 0.289929 0.490491 45 57.5 1 0 +1566 1 1 0 59.2268 51.9839 53.3061 0.922682 0.198387 0.330606 0.490491 45 57.5 1 0 +1567 1 1 0 58.6853 54.5426 48.0177 0.868535 0.454262 -0.198227 0.490491 45 57.5 1 0 +1568 1 1 0 59.0484 53.9414 48.3899 0.904839 0.394136 -0.161007 0.490491 45 57.5 1 0 +1569 1 1 0 59.3513 53.3234 48.772 0.93513 0.332342 -0.1228 0.490491 45 57.5 1 0 +1570 1 1 0 59.1298 53.9961 49.1768 0.912983 0.399607 -0.0823235 0.490491 45 57.5 1 0 +1571 1 1 0 58.7934 54.6088 48.8024 0.879344 0.460882 -0.119755 0.490491 45 57.5 1 0 +1572 1 1 0 58.8476 54.6421 49.587 0.88476 0.464213 -0.0412991 0.490491 45 57.5 1 0 +1573 1 1 0 59.6065 52.6552 49.185 0.960655 0.265519 -0.081501 0.490491 45 57.5 1 0 +1574 1 1 0 59.7885 52.0037 49.5875 0.978852 0.200368 -0.0412506 0.490491 45 57.5 1 0 +1575 1 1 0 59.6386 52.664 50 0.963861 0.266405 0 0.490491 45 57.5 1 0 +1576 1 1 0 59.9105 51.3352 50 0.991046 0.133524 0 0.490491 45 57.5 1 0 +1577 1 1 0 59.7885 52.0037 50.4125 0.978852 0.200368 0.0412506 0.490491 45 57.5 1 0 +1578 1 1 0 59.6065 52.6552 50.815 0.960655 0.265519 0.081501 0.490491 45 57.5 1 0 +1579 1 1 0 58.8476 54.6421 50.413 0.88476 0.464213 0.0412991 0.490491 45 57.5 1 0 +1580 1 1 0 59.1298 53.9961 50.8232 0.912983 0.399607 0.0823235 0.490491 45 57.5 1 0 +1581 1 1 0 58.7934 54.6088 51.1976 0.879344 0.460882 0.119755 0.490491 45 57.5 1 0 +1582 1 1 0 59.3513 53.3234 51.228 0.93513 0.332342 0.1228 0.490491 45 57.5 1 0 +1583 1 1 0 59.0484 53.9414 51.6101 0.904839 0.394136 0.161007 0.490491 45 57.5 1 0 +1584 1 1 0 58.6853 54.5426 51.9823 0.868535 0.454262 0.198227 0.490491 45 57.5 1 0 +1585 1 1 0 59.4162 53.3414 49.587 0.941618 0.33414 -0.0413021 0.490491 45 57.5 1 0 +1586 1 1 0 59.4162 53.3414 50.413 0.941618 0.33414 0.0413021 0.490491 45 57.5 1 0 +1587 1 1 0 59.1609 54.0097 50 0.916092 0.400968 0 0.490491 45 57.5 1 0 +1588 1 1 0 55.7206 41.8079 50.4064 0.572055 -0.819207 0.0406403 0.490491 45 57.5 1 0 +1589 1 1 0 55.7206 41.8079 49.5936 0.572055 -0.819207 -0.0406403 0.490491 45 57.5 1 0 +1590 1 1 0 56.1564 42.1616 50.8109 0.615642 -0.783843 0.081086 0.490491 45 57.5 1 0 +1591 1 1 0 56.1768 42.1357 50 0.617676 -0.786433 0 0.490491 45 57.5 1 0 +1592 1 1 0 56.1564 42.1616 49.1891 0.615642 -0.783843 -0.081086 0.490491 45 57.5 1 0 +1593 1 1 0 56.5628 42.5527 51.2114 0.656282 -0.744727 0.121144 0.490491 45 57.5 1 0 +1594 1 1 0 56.6088 42.5061 50.4064 0.660883 -0.749387 0.0406418 0.490491 45 57.5 1 0 +1595 1 1 0 56.9378 42.9795 51.6062 0.69378 -0.702047 0.160622 0.490491 45 57.5 1 0 +1596 1 1 0 57.0062 42.9103 50.8057 0.700622 -0.708969 0.0805729 0.490491 45 57.5 1 0 +1597 1 1 0 57.0291 42.8872 50 0.702907 -0.711282 0 0.490491 45 57.5 1 0 +1598 1 1 0 56.6088 42.5061 49.5936 0.660883 -0.749387 -0.0406418 0.490491 45 57.5 1 0 +1599 1 1 0 56.5628 42.5527 48.7886 0.656282 -0.744727 -0.121144 0.490491 45 57.5 1 0 +1600 1 1 0 57.0062 42.9103 49.1943 0.700622 -0.708969 -0.0805729 0.490491 45 57.5 1 0 +1601 1 1 0 56.9378 42.9795 48.3938 0.69378 -0.702047 -0.160622 0.490491 45 57.5 1 0 +1602 1 1 0 57.2796 43.4399 51.9933 0.727959 -0.656006 0.199331 0.490491 45 57.5 1 0 +1603 1 1 0 57.3889 43.3716 51.2119 0.738887 -0.662842 0.121192 0.490491 45 57.5 1 0 +1604 1 1 0 57.5865 43.9317 52.3709 0.758652 -0.606825 0.237086 0.490491 45 57.5 1 0 +1605 1 1 0 57.7184 43.8454 51.5961 0.771841 -0.615456 0.159613 0.490491 45 57.5 1 0 +1606 1 1 0 57.802 43.7976 50.8114 0.780205 -0.620239 0.0811417 0.490491 45 57.5 1 0 +1607 1 1 0 57.8572 44.4526 52.7371 0.785715 -0.55474 0.273706 0.490491 45 57.5 1 0 +1608 1 1 0 58.015 44.3549 51.9727 0.801504 -0.564513 0.197274 0.490491 45 57.5 1 0 +1609 1 1 0 58.0902 45 53.0902 0.809017 -0.5 0.309017 0.490491 45 57.5 1 0 +1610 1 1 0 58.2715 44.888 52.3345 0.827147 -0.511205 0.233445 0.490491 45 57.5 1 0 +1611 1 1 0 58.4018 44.8074 51.5643 0.840178 -0.519259 0.156434 0.490491 45 57.5 1 0 +1612 1 1 0 58.1217 44.2886 51.1908 0.81217 -0.57114 0.119078 0.490491 45 57.5 1 0 +1613 1 1 0 58.1752 44.2554 50.4067 0.817523 -0.574458 0.040675 0.490491 45 57.5 1 0 +1614 1 1 0 58.4803 44.7589 50.7846 0.848029 -0.52411 0.0784592 0.490491 45 57.5 1 0 +1615 1 1 0 58.5065 44.7427 50 0.850651 -0.525731 0 0.490491 45 57.5 1 0 +1616 1 1 0 57.3889 43.3716 48.7881 0.738887 -0.662842 -0.121192 0.490491 45 57.5 1 0 +1617 1 1 0 57.2796 43.4399 48.0067 0.727959 -0.656006 -0.199331 0.490491 45 57.5 1 0 +1618 1 1 0 57.802 43.7976 49.1886 0.780205 -0.620239 -0.0811417 0.490491 45 57.5 1 0 +1619 1 1 0 57.7184 43.8454 48.4039 0.771841 -0.615456 -0.159613 0.490491 45 57.5 1 0 +1620 1 1 0 57.5865 43.9317 47.6291 0.758652 -0.606825 -0.237086 0.490491 45 57.5 1 0 +1621 1 1 0 58.1752 44.2554 49.5933 0.817523 -0.574458 -0.040675 0.490491 45 57.5 1 0 +1622 1 1 0 58.1217 44.2886 48.8092 0.81217 -0.57114 -0.119078 0.490491 45 57.5 1 0 +1623 1 1 0 58.4803 44.7589 49.2154 0.848029 -0.52411 -0.0784592 0.490491 45 57.5 1 0 +1624 1 1 0 58.4018 44.8074 48.4357 0.840178 -0.519259 -0.156434 0.490491 45 57.5 1 0 +1625 1 1 0 58.015 44.3549 48.0273 0.801504 -0.564513 -0.197274 0.490491 45 57.5 1 0 +1626 1 1 0 57.8572 44.4526 47.2629 0.785715 -0.55474 -0.273706 0.490491 45 57.5 1 0 +1627 1 1 0 58.2715 44.888 47.6655 0.827147 -0.511205 -0.233445 0.490491 45 57.5 1 0 +1628 1 1 0 58.0902 45 46.9098 0.809017 -0.5 -0.309017 0.490491 45 57.5 1 0 +1629 1 1 0 57.435 43.325 50.4068 0.743496 -0.667502 0.0406769 0.490491 45 57.5 1 0 +1630 1 1 0 57.8279 43.7771 50 0.782786 -0.622291 0 0.490491 45 57.5 1 0 +1631 1 1 0 57.435 43.325 49.5932 0.743496 -0.667502 -0.0406769 0.490491 45 57.5 1 0 +1632 1 1 0 58.2845 45.5713 53.4285 0.828447 -0.442867 0.342848 0.490491 45 57.5 1 0 +1633 1 1 0 58.5264 45.5554 52.7469 0.85264 -0.444464 0.274694 0.490491 45 57.5 1 0 +1634 1 1 0 58.4391 46.1639 53.7504 0.843912 -0.383614 0.375038 0.490491 45 57.5 1 0 +1635 1 1 0 58.6973 46.1409 53.0766 0.869725 -0.385906 0.307659 0.490491 45 57.5 1 0 +1636 1 1 0 58.9101 46.1381 52.3868 0.891007 -0.386187 0.238677 0.490491 45 57.5 1 0 +1637 1 1 0 58.5534 46.7748 54.0543 0.855337 -0.322525 0.405434 0.490491 45 57.5 1 0 +1638 1 1 0 58.8284 46.7514 53.3921 0.882837 -0.324863 0.339209 0.490491 45 57.5 1 0 +1639 1 1 0 58.6267 47.4011 54.3389 0.862669 -0.259892 0.433888 0.490491 45 57.5 1 0 +1640 1 1 0 58.9174 47.3734 53.6852 0.891742 -0.262661 0.368518 0.490491 45 57.5 1 0 +1641 1 1 0 59.1624 47.3592 53.0126 0.916244 -0.264082 0.301258 0.490491 45 57.5 1 0 +1642 1 1 0 59.0583 46.7407 52.7063 0.905832 -0.325929 0.270627 0.490491 45 57.5 1 0 +1643 1 1 0 59.2388 46.7447 52.0119 0.92388 -0.32553 0.201189 0.490491 45 57.5 1 0 +1644 1 1 0 59.3605 47.3585 52.3245 0.93605 -0.264151 0.232455 0.490491 45 57.5 1 0 +1645 1 1 0 59.5106 47.3713 51.6246 0.951057 -0.262865 0.16246 0.490491 45 57.5 1 0 +1646 1 1 0 58.6587 48.0398 54.6027 0.865871 -0.196015 0.460266 0.490491 45 57.5 1 0 +1647 1 1 0 58.964 48.0359 53.9735 0.896401 -0.196412 0.39735 0.490491 45 57.5 1 0 +1648 1 1 0 58.6493 48.688 54.8444 0.864929 -0.1312 0.484441 0.490491 45 57.5 1 0 +1649 1 1 0 58.968 48.6825 54.2236 0.896801 -0.131749 0.422363 0.490491 45 57.5 1 0 +1650 1 1 0 59.243 48.6834 53.5823 0.924305 -0.131656 0.358229 0.490491 45 57.5 1 0 +1651 1 1 0 58.5985 49.3424 55.063 0.859848 -0.0657577 0.506298 0.490491 45 57.5 1 0 +1652 1 1 0 58.9293 49.3418 54.4537 0.892927 -0.0658169 0.445365 0.490491 45 57.5 1 0 +1653 1 1 0 59.2192 49.3401 53.8172 0.921919 -0.0659886 0.381722 0.490491 45 57.5 1 0 +1654 1 1 0 59.462 49.3396 53.1678 0.946198 -0.0660427 0.316778 0.490491 45 57.5 1 0 +1655 1 1 0 59.6119 48.0166 51.9178 0.961188 -0.198337 0.19178 0.490491 45 57.5 1 0 +1656 1 1 0 59.7237 48.0142 51.2273 0.97237 -0.198581 0.122729 0.490491 45 57.5 1 0 +1657 1 1 0 59.6639 48.6721 52.2012 0.966393 -0.132792 0.220117 0.490491 45 57.5 1 0 +1658 1 1 0 59.7943 48.6674 51.5155 0.979426 -0.133256 0.151549 0.490491 45 57.5 1 0 +1659 1 1 0 59.8769 48.6693 50.8224 0.987688 -0.133071 0.0822422 0.490491 45 57.5 1 0 +1660 1 1 0 59.6664 49.3343 52.4733 0.966643 -0.0665668 0.247326 0.490491 45 57.5 1 0 +1661 1 1 0 59.8148 49.334 51.796 0.981483 -0.0666046 0.179596 0.490491 45 57.5 1 0 +1662 1 1 0 59.9165 49.3329 51.1039 0.991648 -0.0667095 0.110385 0.490491 45 57.5 1 0 +1663 1 1 0 59.9692 49.3326 50.4125 0.996917 -0.0667412 0.0412479 0.490491 45 57.5 1 0 +1664 1 1 0 59.2268 48.0161 53.3061 0.922682 -0.198387 0.330606 0.490491 45 57.5 1 0 +1665 1 1 0 59.4782 48.6743 52.8993 0.947822 -0.13257 0.289929 0.490491 45 57.5 1 0 +1666 1 1 0 59.4443 48.0091 52.6155 0.944433 -0.199094 0.26155 0.490491 45 57.5 1 0 +1667 1 1 0 58.5264 45.5554 47.2531 0.85264 -0.444464 -0.274694 0.490491 45 57.5 1 0 +1668 1 1 0 58.2845 45.5713 46.5715 0.828447 -0.442867 -0.342848 0.490491 45 57.5 1 0 +1669 1 1 0 58.9101 46.1381 47.6132 0.891007 -0.386187 -0.238677 0.490491 45 57.5 1 0 +1670 1 1 0 58.6973 46.1409 46.9234 0.869725 -0.385906 -0.307659 0.490491 45 57.5 1 0 +1671 1 1 0 58.4391 46.1639 46.2496 0.843912 -0.383614 -0.375038 0.490491 45 57.5 1 0 +1672 1 1 0 59.2388 46.7447 47.9881 0.92388 -0.32553 -0.201189 0.490491 45 57.5 1 0 +1673 1 1 0 59.0583 46.7407 47.2937 0.905832 -0.325929 -0.270627 0.490491 45 57.5 1 0 +1674 1 1 0 59.5106 47.3713 48.3754 0.951057 -0.262865 -0.16246 0.490491 45 57.5 1 0 +1675 1 1 0 59.3605 47.3585 47.6755 0.93605 -0.264151 -0.232455 0.490491 45 57.5 1 0 +1676 1 1 0 59.1624 47.3592 46.9874 0.916244 -0.264082 -0.301258 0.490491 45 57.5 1 0 +1677 1 1 0 58.8284 46.7514 46.6079 0.882837 -0.324863 -0.339209 0.490491 45 57.5 1 0 +1678 1 1 0 58.5534 46.7748 45.9457 0.855337 -0.322525 -0.405434 0.490491 45 57.5 1 0 +1679 1 1 0 58.9174 47.3734 46.3148 0.891742 -0.262661 -0.368518 0.490491 45 57.5 1 0 +1680 1 1 0 58.6267 47.4011 45.6611 0.862669 -0.259892 -0.433888 0.490491 45 57.5 1 0 +1681 1 1 0 59.7237 48.0142 48.7727 0.97237 -0.198581 -0.122729 0.490491 45 57.5 1 0 +1682 1 1 0 59.6119 48.0166 48.0822 0.961188 -0.198337 -0.19178 0.490491 45 57.5 1 0 +1683 1 1 0 59.8769 48.6693 49.1776 0.987688 -0.133071 -0.0822422 0.490491 45 57.5 1 0 +1684 1 1 0 59.7943 48.6674 48.4845 0.979426 -0.133256 -0.151549 0.490491 45 57.5 1 0 +1685 1 1 0 59.6639 48.6721 47.7988 0.966393 -0.132792 -0.220117 0.490491 45 57.5 1 0 +1686 1 1 0 59.9692 49.3326 49.5875 0.996917 -0.0667412 -0.0412479 0.490491 45 57.5 1 0 +1687 1 1 0 59.9165 49.3329 48.8961 0.991648 -0.0667095 -0.110385 0.490491 45 57.5 1 0 +1688 1 1 0 59.8148 49.334 48.204 0.981483 -0.0666046 -0.179596 0.490491 45 57.5 1 0 +1689 1 1 0 59.6664 49.3343 47.5267 0.966643 -0.0665668 -0.247326 0.490491 45 57.5 1 0 +1690 1 1 0 58.964 48.0359 46.0265 0.896401 -0.196412 -0.39735 0.490491 45 57.5 1 0 +1691 1 1 0 58.6587 48.0398 45.3973 0.865871 -0.196015 -0.460266 0.490491 45 57.5 1 0 +1692 1 1 0 59.243 48.6834 46.4177 0.924305 -0.131656 -0.358229 0.490491 45 57.5 1 0 +1693 1 1 0 58.968 48.6825 45.7764 0.896801 -0.131749 -0.422363 0.490491 45 57.5 1 0 +1694 1 1 0 58.6493 48.688 45.1556 0.864929 -0.1312 -0.484441 0.490491 45 57.5 1 0 +1695 1 1 0 59.462 49.3396 46.8322 0.946198 -0.0660427 -0.316778 0.490491 45 57.5 1 0 +1696 1 1 0 59.2192 49.3401 46.1828 0.921919 -0.0659886 -0.381722 0.490491 45 57.5 1 0 +1697 1 1 0 58.9293 49.3418 45.5463 0.892927 -0.0658169 -0.445365 0.490491 45 57.5 1 0 +1698 1 1 0 58.5985 49.3424 44.937 0.859848 -0.0657577 -0.506298 0.490491 45 57.5 1 0 +1699 1 1 0 59.4443 48.0091 47.3845 0.944433 -0.199094 -0.26155 0.490491 45 57.5 1 0 +1700 1 1 0 59.4782 48.6743 47.1007 0.947822 -0.13257 -0.289929 0.490491 45 57.5 1 0 +1701 1 1 0 59.2268 48.0161 46.6939 0.922682 -0.198387 -0.330606 0.490491 45 57.5 1 0 +1702 1 1 0 58.6853 45.4574 51.9823 0.868535 -0.454262 0.198227 0.490491 45 57.5 1 0 +1703 1 1 0 59.0484 46.0586 51.6101 0.904839 -0.394136 0.161007 0.490491 45 57.5 1 0 +1704 1 1 0 59.3513 46.6766 51.228 0.93513 -0.332342 0.1228 0.490491 45 57.5 1 0 +1705 1 1 0 59.1298 46.0039 50.8232 0.912983 -0.399607 0.0823235 0.490491 45 57.5 1 0 +1706 1 1 0 58.7934 45.3912 51.1976 0.879344 -0.460882 0.119755 0.490491 45 57.5 1 0 +1707 1 1 0 58.8476 45.3579 50.413 0.88476 -0.464213 0.0412991 0.490491 45 57.5 1 0 +1708 1 1 0 59.6065 47.3448 50.815 0.960655 -0.265519 0.081501 0.490491 45 57.5 1 0 +1709 1 1 0 59.7885 47.9963 50.4125 0.978852 -0.200368 0.0412506 0.490491 45 57.5 1 0 +1710 1 1 0 59.6386 47.336 50 0.963861 -0.266405 0 0.490491 45 57.5 1 0 +1711 1 1 0 59.9105 48.6648 50 0.991046 -0.133524 0 0.490491 45 57.5 1 0 +1712 1 1 0 59.7885 47.9963 49.5875 0.978852 -0.200368 -0.0412506 0.490491 45 57.5 1 0 +1713 1 1 0 59.6065 47.3448 49.185 0.960655 -0.265519 -0.081501 0.490491 45 57.5 1 0 +1714 1 1 0 58.8476 45.3579 49.587 0.88476 -0.464213 -0.0412991 0.490491 45 57.5 1 0 +1715 1 1 0 59.1298 46.0039 49.1768 0.912983 -0.399607 -0.0823235 0.490491 45 57.5 1 0 +1716 1 1 0 58.7934 45.3912 48.8024 0.879344 -0.460882 -0.119755 0.490491 45 57.5 1 0 +1717 1 1 0 59.3513 46.6766 48.772 0.93513 -0.332342 -0.1228 0.490491 45 57.5 1 0 +1718 1 1 0 59.0484 46.0586 48.3899 0.904839 -0.394136 -0.161007 0.490491 45 57.5 1 0 +1719 1 1 0 58.6853 45.4574 48.0177 0.868535 -0.454262 -0.198227 0.490491 45 57.5 1 0 +1720 1 1 0 59.4162 46.6586 50.413 0.941618 -0.33414 0.0413021 0.490491 45 57.5 1 0 +1721 1 1 0 59.4162 46.6586 49.587 0.941618 -0.33414 -0.0413021 0.490491 45 57.5 1 0 +1722 1 1 0 59.1609 45.9903 50 0.916092 -0.400968 0 0.490491 45 57.5 1 0 +1723 1 1 0 48.9351 55.5186 58.2711 -0.106494 0.551859 0.82711 0.490491 45 57.5 1 0 +1724 1 1 0 48.2747 55.2913 58.3081 -0.172532 0.529135 0.830812 0.490491 45 57.5 1 0 +1725 1 1 0 47.6277 55.0421 58.3036 -0.237228 0.504209 0.830359 0.490491 45 57.5 1 0 +1726 1 1 0 47.8698 55.7125 57.9265 -0.213023 0.571251 0.79265 0.490491 45 57.5 1 0 +1727 1 1 0 48.5259 55.949 57.9017 -0.147413 0.594895 0.79017 0.490491 45 57.5 1 0 +1728 1 1 0 48.1257 56.3458 57.4979 -0.187432 0.634579 0.749786 0.490491 45 57.5 1 0 +1729 1 1 0 46.962 54.7623 58.2518 -0.303801 0.476225 0.825175 0.490491 45 57.5 1 0 +1730 1 1 0 46.3397 54.4698 58.1623 -0.366027 0.446977 0.816233 0.490491 45 57.5 1 0 +1731 1 1 0 46.5385 55.1612 57.8345 -0.346153 0.516122 0.783452 0.490491 45 57.5 1 0 +1732 1 1 0 45.7287 54.156 58.0302 -0.427135 0.415597 0.803016 0.490491 45 57.5 1 0 +1733 1 1 0 45.1429 53.8268 57.859 -0.485712 0.382683 0.785899 0.490491 45 57.5 1 0 +1734 1 1 0 45.3157 54.5399 57.5794 -0.46843 0.45399 0.757936 0.490491 45 57.5 1 0 +1735 1 1 0 45.9171 54.8624 57.7258 -0.408286 0.48624 0.772575 0.490491 45 57.5 1 0 +1736 1 1 0 46.1327 55.5337 57.3771 -0.38673 0.553372 0.737712 0.490491 45 57.5 1 0 +1737 1 1 0 45.5174 55.225 57.253 -0.448259 0.522499 0.725299 0.490491 45 57.5 1 0 +1738 1 1 0 45.7467 55.8779 56.8819 -0.425325 0.587785 0.688191 0.490491 45 57.5 1 0 +1739 1 1 0 47.711 56.7232 57.0398 -0.228899 0.672319 0.703983 0.490491 45 57.5 1 0 +1740 1 1 0 47.04 56.4741 57.0231 -0.296004 0.647412 0.70231 0.490491 45 57.5 1 0 +1741 1 1 0 47.3262 57.0524 56.5662 -0.267381 0.705236 0.65662 0.490491 45 57.5 1 0 +1742 1 1 0 46.3841 56.1919 56.9704 -0.361591 0.619186 0.697037 0.490491 45 57.5 1 0 +1743 1 1 0 46.6531 56.7891 56.535 -0.334691 0.678913 0.653497 0.490491 45 57.5 1 0 +1744 1 1 0 46.0023 56.4945 56.4684 -0.399769 0.649448 0.64684 0.490491 45 57.5 1 0 +1745 1 1 0 46.2825 57.0711 56.015 -0.371748 0.707107 0.601501 0.490491 45 57.5 1 0 +1746 1 1 0 46.9479 57.3479 56.0574 -0.305212 0.734794 0.605742 0.490491 45 57.5 1 0 +1747 1 1 0 46.5857 57.6041 55.5245 -0.341435 0.760406 0.552454 0.490491 45 57.5 1 0 +1748 1 1 0 47.1968 55.4511 57.9011 -0.280319 0.545109 0.790112 0.490491 45 57.5 1 0 +1749 1 1 0 46.7786 55.8369 57.4534 -0.322141 0.583692 0.745339 0.490491 45 57.5 1 0 +1750 1 1 0 47.4482 56.1093 57.4944 -0.25518 0.610926 0.749435 0.490491 45 57.5 1 0 +1751 1 1 0 44.4755 53.4143 57.6041 -0.552454 0.341435 0.760406 0.490491 45 57.5 1 0 +1752 1 1 0 43.9426 53.0521 57.3479 -0.605742 0.305212 0.734794 0.490491 45 57.5 1 0 +1753 1 1 0 43.985 53.7175 57.0711 -0.601501 0.371748 0.707107 0.490491 45 57.5 1 0 +1754 1 1 0 43.4338 52.6738 57.0524 -0.65662 0.267381 0.705236 0.490491 45 57.5 1 0 +1755 1 1 0 42.9602 52.289 56.7232 -0.703983 0.228899 0.672319 0.490491 45 57.5 1 0 +1756 1 1 0 42.9769 52.96 56.4741 -0.70231 0.296004 0.647412 0.490491 45 57.5 1 0 +1757 1 1 0 43.465 53.3469 56.7891 -0.653497 0.334691 0.678913 0.490491 45 57.5 1 0 +1758 1 1 0 43.5316 53.9977 56.4945 -0.64684 0.399769 0.649448 0.490491 45 57.5 1 0 +1759 1 1 0 43.0296 53.6159 56.1919 -0.697037 0.361591 0.619186 0.490491 45 57.5 1 0 +1760 1 1 0 43.1181 54.2533 55.8779 -0.688191 0.425325 0.587785 0.490491 45 57.5 1 0 +1761 1 1 0 42.5021 51.8743 56.3458 -0.749786 0.187432 0.634579 0.490491 45 57.5 1 0 +1762 1 1 0 42.0983 51.4741 55.949 -0.79017 0.147413 0.594895 0.490491 45 57.5 1 0 +1763 1 1 0 42.0735 52.1302 55.7125 -0.79265 0.213023 0.571251 0.490491 45 57.5 1 0 +1764 1 1 0 41.7289 51.0649 55.5186 -0.82711 0.106494 0.551859 0.490491 45 57.5 1 0 +1765 1 1 0 41.6919 51.7253 55.2913 -0.830812 0.172532 0.529135 0.490491 45 57.5 1 0 +1766 1 1 0 41.6964 52.3723 55.0421 -0.830359 0.237228 0.504209 0.490491 45 57.5 1 0 +1767 1 1 0 42.6229 53.8673 55.5337 -0.737712 0.38673 0.553372 0.490491 45 57.5 1 0 +1768 1 1 0 42.747 54.4826 55.225 -0.725299 0.448259 0.522499 0.490491 45 57.5 1 0 +1769 1 1 0 42.1655 53.4615 55.1612 -0.783452 0.346153 0.516122 0.490491 45 57.5 1 0 +1770 1 1 0 42.2742 54.0829 54.8624 -0.772575 0.408286 0.48624 0.490491 45 57.5 1 0 +1771 1 1 0 42.4206 54.6843 54.5399 -0.757936 0.46843 0.45399 0.490491 45 57.5 1 0 +1772 1 1 0 41.7482 53.038 54.7623 -0.825175 0.303801 0.476225 0.490491 45 57.5 1 0 +1773 1 1 0 41.8377 53.6603 54.4698 -0.816233 0.366027 0.446977 0.490491 45 57.5 1 0 +1774 1 1 0 41.9698 54.2713 54.156 -0.803016 0.427135 0.415597 0.490491 45 57.5 1 0 +1775 1 1 0 42.141 54.8571 53.8268 -0.785899 0.485712 0.382683 0.490491 45 57.5 1 0 +1776 1 1 0 42.5056 52.5518 56.1093 -0.749435 0.25518 0.610926 0.490491 45 57.5 1 0 +1777 1 1 0 42.0989 52.8032 55.4511 -0.790112 0.280319 0.545109 0.490491 45 57.5 1 0 +1778 1 1 0 42.5466 53.2214 55.8369 -0.745339 0.322141 0.583692 0.490491 45 57.5 1 0 +1779 1 1 0 46.1732 57.859 54.8571 -0.382683 0.785899 0.485712 0.490491 45 57.5 1 0 +1780 1 1 0 45.4601 57.5794 54.6843 -0.45399 0.757936 0.46843 0.490491 45 57.5 1 0 +1781 1 1 0 45.844 58.0302 54.2713 -0.415597 0.803016 0.427135 0.490491 45 57.5 1 0 +1782 1 1 0 44.775 57.253 54.4826 -0.522499 0.725299 0.448259 0.490491 45 57.5 1 0 +1783 1 1 0 45.1376 57.7258 54.0829 -0.48624 0.772575 0.408286 0.490491 45 57.5 1 0 +1784 1 1 0 44.1221 56.8819 54.2533 -0.587785 0.688191 0.425325 0.490491 45 57.5 1 0 +1785 1 1 0 44.4663 57.3771 53.8673 -0.553372 0.737712 0.38673 0.490491 45 57.5 1 0 +1786 1 1 0 44.8388 57.8345 53.4615 -0.516122 0.783452 0.346153 0.490491 45 57.5 1 0 +1787 1 1 0 45.5302 58.1623 53.6603 -0.446977 0.816233 0.366027 0.490491 45 57.5 1 0 +1788 1 1 0 45.2377 58.2518 53.038 -0.476225 0.825175 0.303801 0.490491 45 57.5 1 0 +1789 1 1 0 43.5055 56.4684 53.9977 -0.649448 0.64684 0.399769 0.490491 45 57.5 1 0 +1790 1 1 0 43.8081 56.9704 53.6159 -0.619186 0.697037 0.361591 0.490491 45 57.5 1 0 +1791 1 1 0 42.9289 56.015 53.7175 -0.707107 0.601501 0.371748 0.490491 45 57.5 1 0 +1792 1 1 0 43.2109 56.535 53.3469 -0.678913 0.653497 0.334691 0.490491 45 57.5 1 0 +1793 1 1 0 43.5259 57.0231 52.96 -0.647412 0.70231 0.296004 0.490491 45 57.5 1 0 +1794 1 1 0 42.3959 55.5245 53.4143 -0.760406 0.552454 0.341435 0.490491 45 57.5 1 0 +1795 1 1 0 42.6521 56.0574 53.0521 -0.734794 0.605742 0.305212 0.490491 45 57.5 1 0 +1796 1 1 0 42.9476 56.5662 52.6738 -0.705236 0.65662 0.267381 0.490491 45 57.5 1 0 +1797 1 1 0 43.2768 57.0398 52.289 -0.672319 0.703983 0.228899 0.490491 45 57.5 1 0 +1798 1 1 0 44.9579 58.3036 52.3723 -0.504209 0.830359 0.237228 0.490491 45 57.5 1 0 +1799 1 1 0 44.2875 57.9265 52.1302 -0.571251 0.79265 0.213023 0.490491 45 57.5 1 0 +1800 1 1 0 44.7087 58.3081 51.7253 -0.529135 0.830812 0.172532 0.490491 45 57.5 1 0 +1801 1 1 0 43.6542 57.4979 51.8743 -0.634579 0.749786 0.187432 0.490491 45 57.5 1 0 +1802 1 1 0 44.051 57.9017 51.4741 -0.594895 0.79017 0.147413 0.490491 45 57.5 1 0 +1803 1 1 0 44.4814 58.2711 51.0649 -0.551859 0.82711 0.106494 0.490491 45 57.5 1 0 +1804 1 1 0 44.1631 57.4534 53.2214 -0.583692 0.745339 0.322141 0.490491 45 57.5 1 0 +1805 1 1 0 43.8907 57.4944 52.5518 -0.610926 0.749435 0.25518 0.490491 45 57.5 1 0 +1806 1 1 0 44.5489 57.9011 52.8032 -0.545109 0.790112 0.280319 0.490491 45 57.5 1 0 +1807 1 1 0 44.6322 54.1427 57.3501 -0.536784 0.414272 0.735011 0.490491 45 57.5 1 0 +1808 1 1 0 44.1528 54.4396 56.7898 -0.584716 0.443957 0.678977 0.490491 45 57.5 1 0 +1809 1 1 0 43.7169 54.7092 56.1924 -0.628313 0.470917 0.619242 0.490491 45 57.5 1 0 +1810 1 1 0 44.3575 55.1338 56.4658 -0.564254 0.513375 0.646578 0.490491 45 57.5 1 0 +1811 1 1 0 44.8203 54.8521 57.0447 -0.51797 0.485208 0.704471 0.490491 45 57.5 1 0 +1812 1 1 0 45.0356 55.5242 56.6961 -0.496441 0.552418 0.669612 0.490491 45 57.5 1 0 +1813 1 1 0 43.3039 54.9644 55.5242 -0.669612 0.496441 0.552418 0.490491 45 57.5 1 0 +1814 1 1 0 42.9553 55.1797 54.8521 -0.704471 0.51797 0.485208 0.490491 45 57.5 1 0 +1815 1 1 0 43.5342 55.6425 55.1338 -0.646578 0.564254 0.513375 0.490491 45 57.5 1 0 +1816 1 1 0 42.6499 55.3678 54.1427 -0.735011 0.536784 0.414272 0.490491 45 57.5 1 0 +1817 1 1 0 43.2102 55.8472 54.4396 -0.678977 0.584716 0.443957 0.490491 45 57.5 1 0 +1818 1 1 0 43.8076 56.2831 54.7092 -0.619242 0.628313 0.470917 0.490491 45 57.5 1 0 +1819 1 1 0 45.2908 56.1924 56.2831 -0.470917 0.619242 0.628313 0.490491 45 57.5 1 0 +1820 1 1 0 44.8662 56.4658 55.6425 -0.513375 0.646578 0.564254 0.490491 45 57.5 1 0 +1821 1 1 0 45.5604 56.7898 55.8472 -0.443957 0.678977 0.584716 0.490491 45 57.5 1 0 +1822 1 1 0 44.4758 56.6961 54.9644 -0.552418 0.669612 0.496441 0.490491 45 57.5 1 0 +1823 1 1 0 45.1479 57.0447 55.1797 -0.485208 0.704471 0.51797 0.490491 45 57.5 1 0 +1824 1 1 0 45.8573 57.3501 55.3678 -0.414272 0.735011 0.536784 0.490491 45 57.5 1 0 +1825 1 1 0 43.9252 55.4065 55.8195 -0.607478 0.54065 0.581952 0.490491 45 57.5 1 0 +1826 1 1 0 44.1805 56.0748 55.4065 -0.581952 0.607478 0.54065 0.490491 45 57.5 1 0 +1827 1 1 0 44.5935 55.8195 56.0748 -0.54065 0.581952 0.607478 0.490491 45 57.5 1 0 +1828 1 1 0 51.0649 55.5186 58.2711 0.106494 0.551859 0.82711 0.490491 45 57.5 1 0 +1829 1 1 0 51.4741 55.949 57.9017 0.147413 0.594895 0.79017 0.490491 45 57.5 1 0 +1830 1 1 0 51.8743 56.3458 57.4979 0.187432 0.634579 0.749786 0.490491 45 57.5 1 0 +1831 1 1 0 52.1302 55.7125 57.9265 0.213023 0.571251 0.79265 0.490491 45 57.5 1 0 +1832 1 1 0 51.7253 55.2913 58.3081 0.172532 0.529135 0.830812 0.490491 45 57.5 1 0 +1833 1 1 0 52.3723 55.0421 58.3036 0.237228 0.504209 0.830359 0.490491 45 57.5 1 0 +1834 1 1 0 52.289 56.7232 57.0398 0.228899 0.672319 0.703983 0.490491 45 57.5 1 0 +1835 1 1 0 52.6738 57.0524 56.5662 0.267381 0.705236 0.65662 0.490491 45 57.5 1 0 +1836 1 1 0 52.96 56.4741 57.0231 0.296004 0.647412 0.70231 0.490491 45 57.5 1 0 +1837 1 1 0 53.0521 57.3479 56.0574 0.305212 0.734794 0.605742 0.490491 45 57.5 1 0 +1838 1 1 0 53.4143 57.6041 55.5245 0.341435 0.760406 0.552454 0.490491 45 57.5 1 0 +1839 1 1 0 53.7175 57.0711 56.015 0.371748 0.707107 0.601501 0.490491 45 57.5 1 0 +1840 1 1 0 53.3469 56.7891 56.535 0.334691 0.678913 0.653497 0.490491 45 57.5 1 0 +1841 1 1 0 53.6159 56.1919 56.9704 0.361591 0.619186 0.697037 0.490491 45 57.5 1 0 +1842 1 1 0 53.9977 56.4945 56.4684 0.399769 0.649448 0.64684 0.490491 45 57.5 1 0 +1843 1 1 0 54.2533 55.8779 56.8819 0.425325 0.587785 0.688191 0.490491 45 57.5 1 0 +1844 1 1 0 53.038 54.7623 58.2518 0.303801 0.476225 0.825175 0.490491 45 57.5 1 0 +1845 1 1 0 53.4615 55.1612 57.8345 0.346153 0.516122 0.783452 0.490491 45 57.5 1 0 +1846 1 1 0 53.6603 54.4698 58.1623 0.366027 0.446977 0.816233 0.490491 45 57.5 1 0 +1847 1 1 0 53.8673 55.5337 57.3771 0.38673 0.553372 0.737712 0.490491 45 57.5 1 0 +1848 1 1 0 54.0829 54.8624 57.7258 0.408286 0.48624 0.772575 0.490491 45 57.5 1 0 +1849 1 1 0 54.4826 55.225 57.253 0.448259 0.522499 0.725299 0.490491 45 57.5 1 0 +1850 1 1 0 54.6843 54.5399 57.5794 0.46843 0.45399 0.757936 0.490491 45 57.5 1 0 +1851 1 1 0 54.2713 54.156 58.0302 0.427135 0.415597 0.803016 0.490491 45 57.5 1 0 +1852 1 1 0 54.8571 53.8268 57.859 0.485712 0.382683 0.785899 0.490491 45 57.5 1 0 +1853 1 1 0 52.5518 56.1093 57.4944 0.25518 0.610926 0.749435 0.490491 45 57.5 1 0 +1854 1 1 0 53.2214 55.8369 57.4534 0.322141 0.583692 0.745339 0.490491 45 57.5 1 0 +1855 1 1 0 52.8032 55.4511 57.9011 0.280319 0.545109 0.790112 0.490491 45 57.5 1 0 +1856 1 1 0 53.8268 57.859 54.8571 0.382683 0.785899 0.485712 0.490491 45 57.5 1 0 +1857 1 1 0 54.156 58.0302 54.2713 0.415597 0.803016 0.427135 0.490491 45 57.5 1 0 +1858 1 1 0 54.5399 57.5794 54.6843 0.45399 0.757936 0.46843 0.490491 45 57.5 1 0 +1859 1 1 0 54.4698 58.1623 53.6603 0.446977 0.816233 0.366027 0.490491 45 57.5 1 0 +1860 1 1 0 54.7623 58.2518 53.038 0.476225 0.825175 0.303801 0.490491 45 57.5 1 0 +1861 1 1 0 55.1612 57.8345 53.4615 0.516122 0.783452 0.346153 0.490491 45 57.5 1 0 +1862 1 1 0 54.8624 57.7258 54.0829 0.48624 0.772575 0.408286 0.490491 45 57.5 1 0 +1863 1 1 0 55.225 57.253 54.4826 0.522499 0.725299 0.448259 0.490491 45 57.5 1 0 +1864 1 1 0 55.5337 57.3771 53.8673 0.553372 0.737712 0.38673 0.490491 45 57.5 1 0 +1865 1 1 0 55.8779 56.8819 54.2533 0.587785 0.688191 0.425325 0.490491 45 57.5 1 0 +1866 1 1 0 55.0421 58.3036 52.3723 0.504209 0.830359 0.237228 0.490491 45 57.5 1 0 +1867 1 1 0 55.2913 58.3081 51.7253 0.529135 0.830812 0.172532 0.490491 45 57.5 1 0 +1868 1 1 0 55.7125 57.9265 52.1302 0.571251 0.79265 0.213023 0.490491 45 57.5 1 0 +1869 1 1 0 55.5186 58.2711 51.0649 0.551859 0.82711 0.106494 0.490491 45 57.5 1 0 +1870 1 1 0 55.949 57.9017 51.4741 0.594895 0.79017 0.147413 0.490491 45 57.5 1 0 +1871 1 1 0 56.3458 57.4979 51.8743 0.634579 0.749786 0.187432 0.490491 45 57.5 1 0 +1872 1 1 0 56.1919 56.9704 53.6159 0.619186 0.697037 0.361591 0.490491 45 57.5 1 0 +1873 1 1 0 56.4945 56.4684 53.9977 0.649448 0.64684 0.399769 0.490491 45 57.5 1 0 +1874 1 1 0 56.4741 57.0231 52.96 0.647412 0.70231 0.296004 0.490491 45 57.5 1 0 +1875 1 1 0 56.7891 56.535 53.3469 0.678913 0.653497 0.334691 0.490491 45 57.5 1 0 +1876 1 1 0 57.0711 56.015 53.7175 0.707107 0.601501 0.371748 0.490491 45 57.5 1 0 +1877 1 1 0 56.7232 57.0398 52.289 0.672319 0.703983 0.228899 0.490491 45 57.5 1 0 +1878 1 1 0 57.0524 56.5662 52.6738 0.705236 0.65662 0.267381 0.490491 45 57.5 1 0 +1879 1 1 0 57.3479 56.0574 53.0521 0.734794 0.605742 0.305212 0.490491 45 57.5 1 0 +1880 1 1 0 57.6041 55.5245 53.4143 0.760406 0.552454 0.341435 0.490491 45 57.5 1 0 +1881 1 1 0 55.4511 57.9011 52.8032 0.545109 0.790112 0.280319 0.490491 45 57.5 1 0 +1882 1 1 0 56.1093 57.4944 52.5518 0.610926 0.749435 0.25518 0.490491 45 57.5 1 0 +1883 1 1 0 55.8369 57.4534 53.2214 0.583692 0.745339 0.322141 0.490491 45 57.5 1 0 +1884 1 1 0 55.5245 53.4143 57.6041 0.552454 0.341435 0.760406 0.490491 45 57.5 1 0 +1885 1 1 0 56.015 53.7175 57.0711 0.601501 0.371748 0.707107 0.490491 45 57.5 1 0 +1886 1 1 0 56.0574 53.0521 57.3479 0.605742 0.305212 0.734794 0.490491 45 57.5 1 0 +1887 1 1 0 56.4684 53.9977 56.4945 0.64684 0.399769 0.649448 0.490491 45 57.5 1 0 +1888 1 1 0 56.535 53.3469 56.7891 0.653497 0.334691 0.678913 0.490491 45 57.5 1 0 +1889 1 1 0 56.8819 54.2533 55.8779 0.688191 0.425325 0.587785 0.490491 45 57.5 1 0 +1890 1 1 0 56.9704 53.6159 56.1919 0.697037 0.361591 0.619186 0.490491 45 57.5 1 0 +1891 1 1 0 57.0231 52.96 56.4741 0.70231 0.296004 0.647412 0.490491 45 57.5 1 0 +1892 1 1 0 56.5662 52.6738 57.0524 0.65662 0.267381 0.705236 0.490491 45 57.5 1 0 +1893 1 1 0 57.0398 52.289 56.7232 0.703983 0.228899 0.672319 0.490491 45 57.5 1 0 +1894 1 1 0 57.253 54.4826 55.225 0.725299 0.448259 0.522499 0.490491 45 57.5 1 0 +1895 1 1 0 57.3771 53.8673 55.5337 0.737712 0.38673 0.553372 0.490491 45 57.5 1 0 +1896 1 1 0 57.5794 54.6843 54.5399 0.757936 0.46843 0.45399 0.490491 45 57.5 1 0 +1897 1 1 0 57.7258 54.0829 54.8624 0.772575 0.408286 0.48624 0.490491 45 57.5 1 0 +1898 1 1 0 57.8345 53.4615 55.1612 0.783452 0.346153 0.516122 0.490491 45 57.5 1 0 +1899 1 1 0 57.859 54.8571 53.8268 0.785899 0.485712 0.382683 0.490491 45 57.5 1 0 +1900 1 1 0 58.0302 54.2713 54.156 0.803016 0.427135 0.415597 0.490491 45 57.5 1 0 +1901 1 1 0 58.1623 53.6603 54.4698 0.816233 0.366027 0.446977 0.490491 45 57.5 1 0 +1902 1 1 0 58.2518 53.038 54.7623 0.825175 0.303801 0.476225 0.490491 45 57.5 1 0 +1903 1 1 0 57.4979 51.8743 56.3458 0.749786 0.187432 0.634579 0.490491 45 57.5 1 0 +1904 1 1 0 57.9265 52.1302 55.7125 0.79265 0.213023 0.571251 0.490491 45 57.5 1 0 +1905 1 1 0 57.9017 51.4741 55.949 0.79017 0.147413 0.594895 0.490491 45 57.5 1 0 +1906 1 1 0 58.3036 52.3723 55.0421 0.830359 0.237228 0.504209 0.490491 45 57.5 1 0 +1907 1 1 0 58.3081 51.7253 55.2913 0.830812 0.172532 0.529135 0.490491 45 57.5 1 0 +1908 1 1 0 58.2711 51.0649 55.5186 0.82711 0.106494 0.551859 0.490491 45 57.5 1 0 +1909 1 1 0 57.4534 53.2214 55.8369 0.745339 0.322141 0.583692 0.490491 45 57.5 1 0 +1910 1 1 0 57.9011 52.8032 55.4511 0.790112 0.280319 0.545109 0.490491 45 57.5 1 0 +1911 1 1 0 57.4944 52.5518 56.1093 0.749435 0.25518 0.610926 0.490491 45 57.5 1 0 +1912 1 1 0 54.1427 57.3501 55.3678 0.414272 0.735011 0.536784 0.490491 45 57.5 1 0 +1913 1 1 0 54.8521 57.0447 55.1797 0.485208 0.704471 0.51797 0.490491 45 57.5 1 0 +1914 1 1 0 55.5242 56.6961 54.9644 0.552418 0.669612 0.496441 0.490491 45 57.5 1 0 +1915 1 1 0 55.1338 56.4658 55.6425 0.513375 0.646578 0.564254 0.490491 45 57.5 1 0 +1916 1 1 0 54.4396 56.7898 55.8472 0.443957 0.678977 0.584716 0.490491 45 57.5 1 0 +1917 1 1 0 54.7092 56.1924 56.2831 0.470917 0.619242 0.628313 0.490491 45 57.5 1 0 +1918 1 1 0 56.1924 56.2831 54.7092 0.619242 0.628313 0.470917 0.490491 45 57.5 1 0 +1919 1 1 0 56.7898 55.8472 54.4396 0.678977 0.584716 0.443957 0.490491 45 57.5 1 0 +1920 1 1 0 56.4658 55.6425 55.1338 0.646578 0.564254 0.513375 0.490491 45 57.5 1 0 +1921 1 1 0 57.3501 55.3678 54.1427 0.735011 0.536784 0.414272 0.490491 45 57.5 1 0 +1922 1 1 0 57.0447 55.1797 54.8521 0.704471 0.51797 0.485208 0.490491 45 57.5 1 0 +1923 1 1 0 56.6961 54.9644 55.5242 0.669612 0.496441 0.552418 0.490491 45 57.5 1 0 +1924 1 1 0 54.9644 55.5242 56.6961 0.496441 0.552418 0.669612 0.490491 45 57.5 1 0 +1925 1 1 0 55.6425 55.1338 56.4658 0.564254 0.513375 0.646578 0.490491 45 57.5 1 0 +1926 1 1 0 55.1797 54.8521 57.0447 0.51797 0.485208 0.704471 0.490491 45 57.5 1 0 +1927 1 1 0 56.2831 54.7092 56.1924 0.628313 0.470917 0.619242 0.490491 45 57.5 1 0 +1928 1 1 0 55.8472 54.4396 56.7898 0.584716 0.443957 0.678977 0.490491 45 57.5 1 0 +1929 1 1 0 55.3678 54.1427 57.3501 0.536784 0.414272 0.735011 0.490491 45 57.5 1 0 +1930 1 1 0 55.8195 56.0748 55.4065 0.581952 0.607478 0.54065 0.490491 45 57.5 1 0 +1931 1 1 0 56.0748 55.4065 55.8195 0.607478 0.54065 0.581952 0.490491 45 57.5 1 0 +1932 1 1 0 55.4065 55.8195 56.0748 0.54065 0.581952 0.607478 0.490491 45 57.5 1 0 +1933 1 1 0 48.9351 55.5186 41.7289 -0.106494 0.551859 -0.82711 0.490491 45 57.5 1 0 +1934 1 1 0 48.5259 55.949 42.0983 -0.147413 0.594895 -0.79017 0.490491 45 57.5 1 0 +1935 1 1 0 48.1257 56.3458 42.5021 -0.187432 0.634579 -0.749786 0.490491 45 57.5 1 0 +1936 1 1 0 47.8698 55.7125 42.0735 -0.213023 0.571251 -0.79265 0.490491 45 57.5 1 0 +1937 1 1 0 48.2747 55.2913 41.6919 -0.172532 0.529135 -0.830812 0.490491 45 57.5 1 0 +1938 1 1 0 47.6277 55.0421 41.6964 -0.237228 0.504209 -0.830359 0.490491 45 57.5 1 0 +1939 1 1 0 47.711 56.7232 42.9602 -0.228899 0.672319 -0.703983 0.490491 45 57.5 1 0 +1940 1 1 0 47.3262 57.0524 43.4338 -0.267381 0.705236 -0.65662 0.490491 45 57.5 1 0 +1941 1 1 0 47.04 56.4741 42.9769 -0.296004 0.647412 -0.70231 0.490491 45 57.5 1 0 +1942 1 1 0 46.9479 57.3479 43.9426 -0.305212 0.734794 -0.605742 0.490491 45 57.5 1 0 +1943 1 1 0 46.5857 57.6041 44.4755 -0.341435 0.760406 -0.552454 0.490491 45 57.5 1 0 +1944 1 1 0 46.2825 57.0711 43.985 -0.371748 0.707107 -0.601501 0.490491 45 57.5 1 0 +1945 1 1 0 46.6531 56.7891 43.465 -0.334691 0.678913 -0.653497 0.490491 45 57.5 1 0 +1946 1 1 0 46.3841 56.1919 43.0296 -0.361591 0.619186 -0.697037 0.490491 45 57.5 1 0 +1947 1 1 0 46.0023 56.4945 43.5316 -0.399769 0.649448 -0.64684 0.490491 45 57.5 1 0 +1948 1 1 0 45.7467 55.8779 43.1181 -0.425325 0.587785 -0.688191 0.490491 45 57.5 1 0 +1949 1 1 0 46.962 54.7623 41.7482 -0.303801 0.476225 -0.825175 0.490491 45 57.5 1 0 +1950 1 1 0 46.5385 55.1612 42.1655 -0.346153 0.516122 -0.783452 0.490491 45 57.5 1 0 +1951 1 1 0 46.3397 54.4698 41.8377 -0.366027 0.446977 -0.816233 0.490491 45 57.5 1 0 +1952 1 1 0 46.1327 55.5337 42.6229 -0.38673 0.553372 -0.737712 0.490491 45 57.5 1 0 +1953 1 1 0 45.9171 54.8624 42.2742 -0.408286 0.48624 -0.772575 0.490491 45 57.5 1 0 +1954 1 1 0 45.5174 55.225 42.747 -0.448259 0.522499 -0.725299 0.490491 45 57.5 1 0 +1955 1 1 0 45.3157 54.5399 42.4206 -0.46843 0.45399 -0.757936 0.490491 45 57.5 1 0 +1956 1 1 0 45.7287 54.156 41.9698 -0.427135 0.415597 -0.803016 0.490491 45 57.5 1 0 +1957 1 1 0 45.1429 53.8268 42.141 -0.485712 0.382683 -0.785899 0.490491 45 57.5 1 0 +1958 1 1 0 47.4482 56.1093 42.5056 -0.25518 0.610926 -0.749435 0.490491 45 57.5 1 0 +1959 1 1 0 46.7786 55.8369 42.5466 -0.322141 0.583692 -0.745339 0.490491 45 57.5 1 0 +1960 1 1 0 47.1968 55.4511 42.0989 -0.280319 0.545109 -0.790112 0.490491 45 57.5 1 0 +1961 1 1 0 46.1732 57.859 45.1429 -0.382683 0.785899 -0.485712 0.490491 45 57.5 1 0 +1962 1 1 0 45.844 58.0302 45.7287 -0.415597 0.803016 -0.427135 0.490491 45 57.5 1 0 +1963 1 1 0 45.4601 57.5794 45.3157 -0.45399 0.757936 -0.46843 0.490491 45 57.5 1 0 +1964 1 1 0 45.5302 58.1623 46.3397 -0.446977 0.816233 -0.366027 0.490491 45 57.5 1 0 +1965 1 1 0 45.2377 58.2518 46.962 -0.476225 0.825175 -0.303801 0.490491 45 57.5 1 0 +1966 1 1 0 44.8388 57.8345 46.5385 -0.516122 0.783452 -0.346153 0.490491 45 57.5 1 0 +1967 1 1 0 45.1376 57.7258 45.9171 -0.48624 0.772575 -0.408286 0.490491 45 57.5 1 0 +1968 1 1 0 44.775 57.253 45.5174 -0.522499 0.725299 -0.448259 0.490491 45 57.5 1 0 +1969 1 1 0 44.4663 57.3771 46.1327 -0.553372 0.737712 -0.38673 0.490491 45 57.5 1 0 +1970 1 1 0 44.1221 56.8819 45.7467 -0.587785 0.688191 -0.425325 0.490491 45 57.5 1 0 +1971 1 1 0 44.9579 58.3036 47.6277 -0.504209 0.830359 -0.237228 0.490491 45 57.5 1 0 +1972 1 1 0 44.7087 58.3081 48.2747 -0.529135 0.830812 -0.172532 0.490491 45 57.5 1 0 +1973 1 1 0 44.2875 57.9265 47.8698 -0.571251 0.79265 -0.213023 0.490491 45 57.5 1 0 +1974 1 1 0 44.4814 58.2711 48.9351 -0.551859 0.82711 -0.106494 0.490491 45 57.5 1 0 +1975 1 1 0 44.051 57.9017 48.5259 -0.594895 0.79017 -0.147413 0.490491 45 57.5 1 0 +1976 1 1 0 43.6542 57.4979 48.1257 -0.634579 0.749786 -0.187432 0.490491 45 57.5 1 0 +1977 1 1 0 43.8081 56.9704 46.3841 -0.619186 0.697037 -0.361591 0.490491 45 57.5 1 0 +1978 1 1 0 43.5055 56.4684 46.0023 -0.649448 0.64684 -0.399769 0.490491 45 57.5 1 0 +1979 1 1 0 43.5259 57.0231 47.04 -0.647412 0.70231 -0.296004 0.490491 45 57.5 1 0 +1980 1 1 0 43.2109 56.535 46.6531 -0.678913 0.653497 -0.334691 0.490491 45 57.5 1 0 +1981 1 1 0 42.9289 56.015 46.2825 -0.707107 0.601501 -0.371748 0.490491 45 57.5 1 0 +1982 1 1 0 43.2768 57.0398 47.711 -0.672319 0.703983 -0.228899 0.490491 45 57.5 1 0 +1983 1 1 0 42.9476 56.5662 47.3262 -0.705236 0.65662 -0.267381 0.490491 45 57.5 1 0 +1984 1 1 0 42.6521 56.0574 46.9479 -0.734794 0.605742 -0.305212 0.490491 45 57.5 1 0 +1985 1 1 0 42.3959 55.5245 46.5857 -0.760406 0.552454 -0.341435 0.490491 45 57.5 1 0 +1986 1 1 0 44.5489 57.9011 47.1968 -0.545109 0.790112 -0.280319 0.490491 45 57.5 1 0 +1987 1 1 0 43.8907 57.4944 47.4482 -0.610926 0.749435 -0.25518 0.490491 45 57.5 1 0 +1988 1 1 0 44.1631 57.4534 46.7786 -0.583692 0.745339 -0.322141 0.490491 45 57.5 1 0 +1989 1 1 0 44.4755 53.4143 42.3959 -0.552454 0.341435 -0.760406 0.490491 45 57.5 1 0 +1990 1 1 0 43.985 53.7175 42.9289 -0.601501 0.371748 -0.707107 0.490491 45 57.5 1 0 +1991 1 1 0 43.9426 53.0521 42.6521 -0.605742 0.305212 -0.734794 0.490491 45 57.5 1 0 +1992 1 1 0 43.5316 53.9977 43.5055 -0.64684 0.399769 -0.649448 0.490491 45 57.5 1 0 +1993 1 1 0 43.465 53.3469 43.2109 -0.653497 0.334691 -0.678913 0.490491 45 57.5 1 0 +1994 1 1 0 43.1181 54.2533 44.1221 -0.688191 0.425325 -0.587785 0.490491 45 57.5 1 0 +1995 1 1 0 43.0296 53.6159 43.8081 -0.697037 0.361591 -0.619186 0.490491 45 57.5 1 0 +1996 1 1 0 42.9769 52.96 43.5259 -0.70231 0.296004 -0.647412 0.490491 45 57.5 1 0 +1997 1 1 0 43.4338 52.6738 42.9476 -0.65662 0.267381 -0.705236 0.490491 45 57.5 1 0 +1998 1 1 0 42.9602 52.289 43.2768 -0.703983 0.228899 -0.672319 0.490491 45 57.5 1 0 +1999 1 1 0 42.747 54.4826 44.775 -0.725299 0.448259 -0.522499 0.490491 45 57.5 1 0 +2000 1 1 0 42.6229 53.8673 44.4663 -0.737712 0.38673 -0.553372 0.490491 45 57.5 1 0 +2001 1 1 0 42.4206 54.6843 45.4601 -0.757936 0.46843 -0.45399 0.490491 45 57.5 1 0 +2002 1 1 0 42.2742 54.0829 45.1376 -0.772575 0.408286 -0.48624 0.490491 45 57.5 1 0 +2003 1 1 0 42.1655 53.4615 44.8388 -0.783452 0.346153 -0.516122 0.490491 45 57.5 1 0 +2004 1 1 0 42.141 54.8571 46.1732 -0.785899 0.485712 -0.382683 0.490491 45 57.5 1 0 +2005 1 1 0 41.9698 54.2713 45.844 -0.803016 0.427135 -0.415597 0.490491 45 57.5 1 0 +2006 1 1 0 41.8377 53.6603 45.5302 -0.816233 0.366027 -0.446977 0.490491 45 57.5 1 0 +2007 1 1 0 41.7482 53.038 45.2377 -0.825175 0.303801 -0.476225 0.490491 45 57.5 1 0 +2008 1 1 0 42.5021 51.8743 43.6542 -0.749786 0.187432 -0.634579 0.490491 45 57.5 1 0 +2009 1 1 0 42.0735 52.1302 44.2875 -0.79265 0.213023 -0.571251 0.490491 45 57.5 1 0 +2010 1 1 0 42.0983 51.4741 44.051 -0.79017 0.147413 -0.594895 0.490491 45 57.5 1 0 +2011 1 1 0 41.6964 52.3723 44.9579 -0.830359 0.237228 -0.504209 0.490491 45 57.5 1 0 +2012 1 1 0 41.6919 51.7253 44.7087 -0.830812 0.172532 -0.529135 0.490491 45 57.5 1 0 +2013 1 1 0 41.7289 51.0649 44.4814 -0.82711 0.106494 -0.551859 0.490491 45 57.5 1 0 +2014 1 1 0 42.5466 53.2214 44.1631 -0.745339 0.322141 -0.583692 0.490491 45 57.5 1 0 +2015 1 1 0 42.0989 52.8032 44.5489 -0.790112 0.280319 -0.545109 0.490491 45 57.5 1 0 +2016 1 1 0 42.5056 52.5518 43.8907 -0.749435 0.25518 -0.610926 0.490491 45 57.5 1 0 +2017 1 1 0 45.8573 57.3501 44.6322 -0.414272 0.735011 -0.536784 0.490491 45 57.5 1 0 +2018 1 1 0 45.1479 57.0447 44.8203 -0.485208 0.704471 -0.51797 0.490491 45 57.5 1 0 +2019 1 1 0 44.4758 56.6961 45.0356 -0.552418 0.669612 -0.496441 0.490491 45 57.5 1 0 +2020 1 1 0 44.8662 56.4658 44.3575 -0.513375 0.646578 -0.564254 0.490491 45 57.5 1 0 +2021 1 1 0 45.5604 56.7898 44.1528 -0.443957 0.678977 -0.584716 0.490491 45 57.5 1 0 +2022 1 1 0 45.2908 56.1924 43.7169 -0.470917 0.619242 -0.628313 0.490491 45 57.5 1 0 +2023 1 1 0 43.8076 56.2831 45.2908 -0.619242 0.628313 -0.470917 0.490491 45 57.5 1 0 +2024 1 1 0 43.2102 55.8472 45.5604 -0.678977 0.584716 -0.443957 0.490491 45 57.5 1 0 +2025 1 1 0 43.5342 55.6425 44.8662 -0.646578 0.564254 -0.513375 0.490491 45 57.5 1 0 +2026 1 1 0 42.6499 55.3678 45.8573 -0.735011 0.536784 -0.414272 0.490491 45 57.5 1 0 +2027 1 1 0 42.9553 55.1797 45.1479 -0.704471 0.51797 -0.485208 0.490491 45 57.5 1 0 +2028 1 1 0 43.3039 54.9644 44.4758 -0.669612 0.496441 -0.552418 0.490491 45 57.5 1 0 +2029 1 1 0 45.0356 55.5242 43.3039 -0.496441 0.552418 -0.669612 0.490491 45 57.5 1 0 +2030 1 1 0 44.3575 55.1338 43.5342 -0.564254 0.513375 -0.646578 0.490491 45 57.5 1 0 +2031 1 1 0 44.8203 54.8521 42.9553 -0.51797 0.485208 -0.704471 0.490491 45 57.5 1 0 +2032 1 1 0 43.7169 54.7092 43.8076 -0.628313 0.470917 -0.619242 0.490491 45 57.5 1 0 +2033 1 1 0 44.1528 54.4396 43.2102 -0.584716 0.443957 -0.678977 0.490491 45 57.5 1 0 +2034 1 1 0 44.6322 54.1427 42.6499 -0.536784 0.414272 -0.735011 0.490491 45 57.5 1 0 +2035 1 1 0 44.1805 56.0748 44.5935 -0.581952 0.607478 -0.54065 0.490491 45 57.5 1 0 +2036 1 1 0 43.9252 55.4065 44.1805 -0.607478 0.54065 -0.581952 0.490491 45 57.5 1 0 +2037 1 1 0 44.5935 55.8195 43.9252 -0.54065 0.581952 -0.607478 0.490491 45 57.5 1 0 +2038 1 1 0 51.0649 55.5186 41.7289 0.106494 0.551859 -0.82711 0.490491 45 57.5 1 0 +2039 1 1 0 51.7253 55.2913 41.6919 0.172532 0.529135 -0.830812 0.490491 45 57.5 1 0 +2040 1 1 0 52.3723 55.0421 41.6964 0.237228 0.504209 -0.830359 0.490491 45 57.5 1 0 +2041 1 1 0 52.1302 55.7125 42.0735 0.213023 0.571251 -0.79265 0.490491 45 57.5 1 0 +2042 1 1 0 51.4741 55.949 42.0983 0.147413 0.594895 -0.79017 0.490491 45 57.5 1 0 +2043 1 1 0 51.8743 56.3458 42.5021 0.187432 0.634579 -0.749786 0.490491 45 57.5 1 0 +2044 1 1 0 53.038 54.7623 41.7482 0.303801 0.476225 -0.825175 0.490491 45 57.5 1 0 +2045 1 1 0 53.6603 54.4698 41.8377 0.366027 0.446977 -0.816233 0.490491 45 57.5 1 0 +2046 1 1 0 53.4615 55.1612 42.1655 0.346153 0.516122 -0.783452 0.490491 45 57.5 1 0 +2047 1 1 0 54.2713 54.156 41.9698 0.427135 0.415597 -0.803016 0.490491 45 57.5 1 0 +2048 1 1 0 54.8571 53.8268 42.141 0.485712 0.382683 -0.785899 0.490491 45 57.5 1 0 +2049 1 1 0 54.6843 54.5399 42.4206 0.46843 0.45399 -0.757936 0.490491 45 57.5 1 0 +2050 1 1 0 54.0829 54.8624 42.2742 0.408286 0.48624 -0.772575 0.490491 45 57.5 1 0 +2051 1 1 0 53.8673 55.5337 42.6229 0.38673 0.553372 -0.737712 0.490491 45 57.5 1 0 +2052 1 1 0 54.4826 55.225 42.747 0.448259 0.522499 -0.725299 0.490491 45 57.5 1 0 +2053 1 1 0 54.2533 55.8779 43.1181 0.425325 0.587785 -0.688191 0.490491 45 57.5 1 0 +2054 1 1 0 52.289 56.7232 42.9602 0.228899 0.672319 -0.703983 0.490491 45 57.5 1 0 +2055 1 1 0 52.96 56.4741 42.9769 0.296004 0.647412 -0.70231 0.490491 45 57.5 1 0 +2056 1 1 0 52.6738 57.0524 43.4338 0.267381 0.705236 -0.65662 0.490491 45 57.5 1 0 +2057 1 1 0 53.6159 56.1919 43.0296 0.361591 0.619186 -0.697037 0.490491 45 57.5 1 0 +2058 1 1 0 53.3469 56.7891 43.465 0.334691 0.678913 -0.653497 0.490491 45 57.5 1 0 +2059 1 1 0 53.9977 56.4945 43.5316 0.399769 0.649448 -0.64684 0.490491 45 57.5 1 0 +2060 1 1 0 53.7175 57.0711 43.985 0.371748 0.707107 -0.601501 0.490491 45 57.5 1 0 +2061 1 1 0 53.0521 57.3479 43.9426 0.305212 0.734794 -0.605742 0.490491 45 57.5 1 0 +2062 1 1 0 53.4143 57.6041 44.4755 0.341435 0.760406 -0.552454 0.490491 45 57.5 1 0 +2063 1 1 0 52.8032 55.4511 42.0989 0.280319 0.545109 -0.790112 0.490491 45 57.5 1 0 +2064 1 1 0 53.2214 55.8369 42.5466 0.322141 0.583692 -0.745339 0.490491 45 57.5 1 0 +2065 1 1 0 52.5518 56.1093 42.5056 0.25518 0.610926 -0.749435 0.490491 45 57.5 1 0 +2066 1 1 0 55.5245 53.4143 42.3959 0.552454 0.341435 -0.760406 0.490491 45 57.5 1 0 +2067 1 1 0 56.0574 53.0521 42.6521 0.605742 0.305212 -0.734794 0.490491 45 57.5 1 0 +2068 1 1 0 56.015 53.7175 42.9289 0.601501 0.371748 -0.707107 0.490491 45 57.5 1 0 +2069 1 1 0 56.5662 52.6738 42.9476 0.65662 0.267381 -0.705236 0.490491 45 57.5 1 0 +2070 1 1 0 57.0398 52.289 43.2768 0.703983 0.228899 -0.672319 0.490491 45 57.5 1 0 +2071 1 1 0 57.0231 52.96 43.5259 0.70231 0.296004 -0.647412 0.490491 45 57.5 1 0 +2072 1 1 0 56.535 53.3469 43.2109 0.653497 0.334691 -0.678913 0.490491 45 57.5 1 0 +2073 1 1 0 56.4684 53.9977 43.5055 0.64684 0.399769 -0.649448 0.490491 45 57.5 1 0 +2074 1 1 0 56.9704 53.6159 43.8081 0.697037 0.361591 -0.619186 0.490491 45 57.5 1 0 +2075 1 1 0 56.8819 54.2533 44.1221 0.688191 0.425325 -0.587785 0.490491 45 57.5 1 0 +2076 1 1 0 57.4979 51.8743 43.6542 0.749786 0.187432 -0.634579 0.490491 45 57.5 1 0 +2077 1 1 0 57.9017 51.4741 44.051 0.79017 0.147413 -0.594895 0.490491 45 57.5 1 0 +2078 1 1 0 57.9265 52.1302 44.2875 0.79265 0.213023 -0.571251 0.490491 45 57.5 1 0 +2079 1 1 0 58.2711 51.0649 44.4814 0.82711 0.106494 -0.551859 0.490491 45 57.5 1 0 +2080 1 1 0 58.3081 51.7253 44.7087 0.830812 0.172532 -0.529135 0.490491 45 57.5 1 0 +2081 1 1 0 58.3036 52.3723 44.9579 0.830359 0.237228 -0.504209 0.490491 45 57.5 1 0 +2082 1 1 0 57.3771 53.8673 44.4663 0.737712 0.38673 -0.553372 0.490491 45 57.5 1 0 +2083 1 1 0 57.253 54.4826 44.775 0.725299 0.448259 -0.522499 0.490491 45 57.5 1 0 +2084 1 1 0 57.8345 53.4615 44.8388 0.783452 0.346153 -0.516122 0.490491 45 57.5 1 0 +2085 1 1 0 57.7258 54.0829 45.1376 0.772575 0.408286 -0.48624 0.490491 45 57.5 1 0 +2086 1 1 0 57.5794 54.6843 45.4601 0.757936 0.46843 -0.45399 0.490491 45 57.5 1 0 +2087 1 1 0 58.2518 53.038 45.2377 0.825175 0.303801 -0.476225 0.490491 45 57.5 1 0 +2088 1 1 0 58.1623 53.6603 45.5302 0.816233 0.366027 -0.446977 0.490491 45 57.5 1 0 +2089 1 1 0 58.0302 54.2713 45.844 0.803016 0.427135 -0.415597 0.490491 45 57.5 1 0 +2090 1 1 0 57.859 54.8571 46.1732 0.785899 0.485712 -0.382683 0.490491 45 57.5 1 0 +2091 1 1 0 57.4944 52.5518 43.8907 0.749435 0.25518 -0.610926 0.490491 45 57.5 1 0 +2092 1 1 0 57.9011 52.8032 44.5489 0.790112 0.280319 -0.545109 0.490491 45 57.5 1 0 +2093 1 1 0 57.4534 53.2214 44.1631 0.745339 0.322141 -0.583692 0.490491 45 57.5 1 0 +2094 1 1 0 53.8268 57.859 45.1429 0.382683 0.785899 -0.485712 0.490491 45 57.5 1 0 +2095 1 1 0 54.5399 57.5794 45.3157 0.45399 0.757936 -0.46843 0.490491 45 57.5 1 0 +2096 1 1 0 54.156 58.0302 45.7287 0.415597 0.803016 -0.427135 0.490491 45 57.5 1 0 +2097 1 1 0 55.225 57.253 45.5174 0.522499 0.725299 -0.448259 0.490491 45 57.5 1 0 +2098 1 1 0 54.8624 57.7258 45.9171 0.48624 0.772575 -0.408286 0.490491 45 57.5 1 0 +2099 1 1 0 55.8779 56.8819 45.7467 0.587785 0.688191 -0.425325 0.490491 45 57.5 1 0 +2100 1 1 0 55.5337 57.3771 46.1327 0.553372 0.737712 -0.38673 0.490491 45 57.5 1 0 +2101 1 1 0 55.1612 57.8345 46.5385 0.516122 0.783452 -0.346153 0.490491 45 57.5 1 0 +2102 1 1 0 54.4698 58.1623 46.3397 0.446977 0.816233 -0.366027 0.490491 45 57.5 1 0 +2103 1 1 0 54.7623 58.2518 46.962 0.476225 0.825175 -0.303801 0.490491 45 57.5 1 0 +2104 1 1 0 56.4945 56.4684 46.0023 0.649448 0.64684 -0.399769 0.490491 45 57.5 1 0 +2105 1 1 0 56.1919 56.9704 46.3841 0.619186 0.697037 -0.361591 0.490491 45 57.5 1 0 +2106 1 1 0 57.0711 56.015 46.2825 0.707107 0.601501 -0.371748 0.490491 45 57.5 1 0 +2107 1 1 0 56.7891 56.535 46.6531 0.678913 0.653497 -0.334691 0.490491 45 57.5 1 0 +2108 1 1 0 56.4741 57.0231 47.04 0.647412 0.70231 -0.296004 0.490491 45 57.5 1 0 +2109 1 1 0 57.6041 55.5245 46.5857 0.760406 0.552454 -0.341435 0.490491 45 57.5 1 0 +2110 1 1 0 57.3479 56.0574 46.9479 0.734794 0.605742 -0.305212 0.490491 45 57.5 1 0 +2111 1 1 0 57.0524 56.5662 47.3262 0.705236 0.65662 -0.267381 0.490491 45 57.5 1 0 +2112 1 1 0 56.7232 57.0398 47.711 0.672319 0.703983 -0.228899 0.490491 45 57.5 1 0 +2113 1 1 0 55.0421 58.3036 47.6277 0.504209 0.830359 -0.237228 0.490491 45 57.5 1 0 +2114 1 1 0 55.7125 57.9265 47.8698 0.571251 0.79265 -0.213023 0.490491 45 57.5 1 0 +2115 1 1 0 55.2913 58.3081 48.2747 0.529135 0.830812 -0.172532 0.490491 45 57.5 1 0 +2116 1 1 0 56.3458 57.4979 48.1257 0.634579 0.749786 -0.187432 0.490491 45 57.5 1 0 +2117 1 1 0 55.949 57.9017 48.5259 0.594895 0.79017 -0.147413 0.490491 45 57.5 1 0 +2118 1 1 0 55.5186 58.2711 48.9351 0.551859 0.82711 -0.106494 0.490491 45 57.5 1 0 +2119 1 1 0 55.8369 57.4534 46.7786 0.583692 0.745339 -0.322141 0.490491 45 57.5 1 0 +2120 1 1 0 56.1093 57.4944 47.4482 0.610926 0.749435 -0.25518 0.490491 45 57.5 1 0 +2121 1 1 0 55.4511 57.9011 47.1968 0.545109 0.790112 -0.280319 0.490491 45 57.5 1 0 +2122 1 1 0 55.3678 54.1427 42.6499 0.536784 0.414272 -0.735011 0.490491 45 57.5 1 0 +2123 1 1 0 55.8472 54.4396 43.2102 0.584716 0.443957 -0.678977 0.490491 45 57.5 1 0 +2124 1 1 0 56.2831 54.7092 43.8076 0.628313 0.470917 -0.619242 0.490491 45 57.5 1 0 +2125 1 1 0 55.6425 55.1338 43.5342 0.564254 0.513375 -0.646578 0.490491 45 57.5 1 0 +2126 1 1 0 55.1797 54.8521 42.9553 0.51797 0.485208 -0.704471 0.490491 45 57.5 1 0 +2127 1 1 0 54.9644 55.5242 43.3039 0.496441 0.552418 -0.669612 0.490491 45 57.5 1 0 +2128 1 1 0 56.6961 54.9644 44.4758 0.669612 0.496441 -0.552418 0.490491 45 57.5 1 0 +2129 1 1 0 57.0447 55.1797 45.1479 0.704471 0.51797 -0.485208 0.490491 45 57.5 1 0 +2130 1 1 0 56.4658 55.6425 44.8662 0.646578 0.564254 -0.513375 0.490491 45 57.5 1 0 +2131 1 1 0 57.3501 55.3678 45.8573 0.735011 0.536784 -0.414272 0.490491 45 57.5 1 0 +2132 1 1 0 56.7898 55.8472 45.5604 0.678977 0.584716 -0.443957 0.490491 45 57.5 1 0 +2133 1 1 0 56.1924 56.2831 45.2908 0.619242 0.628313 -0.470917 0.490491 45 57.5 1 0 +2134 1 1 0 54.7092 56.1924 43.7169 0.470917 0.619242 -0.628313 0.490491 45 57.5 1 0 +2135 1 1 0 55.1338 56.4658 44.3575 0.513375 0.646578 -0.564254 0.490491 45 57.5 1 0 +2136 1 1 0 54.4396 56.7898 44.1528 0.443957 0.678977 -0.584716 0.490491 45 57.5 1 0 +2137 1 1 0 55.5242 56.6961 45.0356 0.552418 0.669612 -0.496441 0.490491 45 57.5 1 0 +2138 1 1 0 54.8521 57.0447 44.8203 0.485208 0.704471 -0.51797 0.490491 45 57.5 1 0 +2139 1 1 0 54.1427 57.3501 44.6322 0.414272 0.735011 -0.536784 0.490491 45 57.5 1 0 +2140 1 1 0 56.0748 55.4065 44.1805 0.607478 0.54065 -0.581952 0.490491 45 57.5 1 0 +2141 1 1 0 55.8195 56.0748 44.5935 0.581952 0.607478 -0.54065 0.490491 45 57.5 1 0 +2142 1 1 0 55.4065 55.8195 43.9252 0.54065 0.581952 -0.607478 0.490491 45 57.5 1 0 +2143 1 1 0 48.9351 44.4814 41.7289 -0.106494 -0.551859 -0.82711 0.490491 45 57.5 1 0 +2144 1 1 0 48.2747 44.7087 41.6919 -0.172532 -0.529135 -0.830812 0.490491 45 57.5 1 0 +2145 1 1 0 47.6277 44.9579 41.6964 -0.237228 -0.504209 -0.830359 0.490491 45 57.5 1 0 +2146 1 1 0 47.8698 44.2875 42.0735 -0.213023 -0.571251 -0.79265 0.490491 45 57.5 1 0 +2147 1 1 0 48.5259 44.051 42.0983 -0.147413 -0.594895 -0.79017 0.490491 45 57.5 1 0 +2148 1 1 0 48.1257 43.6542 42.5021 -0.187432 -0.634579 -0.749786 0.490491 45 57.5 1 0 +2149 1 1 0 46.962 45.2377 41.7482 -0.303801 -0.476225 -0.825175 0.490491 45 57.5 1 0 +2150 1 1 0 46.3397 45.5302 41.8377 -0.366027 -0.446977 -0.816233 0.490491 45 57.5 1 0 +2151 1 1 0 46.5385 44.8388 42.1655 -0.346153 -0.516122 -0.783452 0.490491 45 57.5 1 0 +2152 1 1 0 45.7287 45.844 41.9698 -0.427135 -0.415597 -0.803016 0.490491 45 57.5 1 0 +2153 1 1 0 45.1429 46.1732 42.141 -0.485712 -0.382683 -0.785899 0.490491 45 57.5 1 0 +2154 1 1 0 45.3157 45.4601 42.4206 -0.46843 -0.45399 -0.757936 0.490491 45 57.5 1 0 +2155 1 1 0 45.9171 45.1376 42.2742 -0.408286 -0.48624 -0.772575 0.490491 45 57.5 1 0 +2156 1 1 0 46.1327 44.4663 42.6229 -0.38673 -0.553372 -0.737712 0.490491 45 57.5 1 0 +2157 1 1 0 45.5174 44.775 42.747 -0.448259 -0.522499 -0.725299 0.490491 45 57.5 1 0 +2158 1 1 0 45.7467 44.1221 43.1181 -0.425325 -0.587785 -0.688191 0.490491 45 57.5 1 0 +2159 1 1 0 47.711 43.2768 42.9602 -0.228899 -0.672319 -0.703983 0.490491 45 57.5 1 0 +2160 1 1 0 47.04 43.5259 42.9769 -0.296004 -0.647412 -0.70231 0.490491 45 57.5 1 0 +2161 1 1 0 47.3262 42.9476 43.4338 -0.267381 -0.705236 -0.65662 0.490491 45 57.5 1 0 +2162 1 1 0 46.3841 43.8081 43.0296 -0.361591 -0.619186 -0.697037 0.490491 45 57.5 1 0 +2163 1 1 0 46.6531 43.2109 43.465 -0.334691 -0.678913 -0.653497 0.490491 45 57.5 1 0 +2164 1 1 0 46.0023 43.5055 43.5316 -0.399769 -0.649448 -0.64684 0.490491 45 57.5 1 0 +2165 1 1 0 46.2825 42.9289 43.985 -0.371748 -0.707107 -0.601501 0.490491 45 57.5 1 0 +2166 1 1 0 46.9479 42.6521 43.9426 -0.305212 -0.734794 -0.605742 0.490491 45 57.5 1 0 +2167 1 1 0 46.5857 42.3959 44.4755 -0.341435 -0.760406 -0.552454 0.490491 45 57.5 1 0 +2168 1 1 0 47.1968 44.5489 42.0989 -0.280319 -0.545109 -0.790112 0.490491 45 57.5 1 0 +2169 1 1 0 46.7786 44.1631 42.5466 -0.322141 -0.583692 -0.745339 0.490491 45 57.5 1 0 +2170 1 1 0 47.4482 43.8907 42.5056 -0.25518 -0.610926 -0.749435 0.490491 45 57.5 1 0 +2171 1 1 0 44.4755 46.5857 42.3959 -0.552454 -0.341435 -0.760406 0.490491 45 57.5 1 0 +2172 1 1 0 43.9426 46.9479 42.6521 -0.605742 -0.305212 -0.734794 0.490491 45 57.5 1 0 +2173 1 1 0 43.985 46.2825 42.9289 -0.601501 -0.371748 -0.707107 0.490491 45 57.5 1 0 +2174 1 1 0 43.4338 47.3262 42.9476 -0.65662 -0.267381 -0.705236 0.490491 45 57.5 1 0 +2175 1 1 0 42.9602 47.711 43.2768 -0.703983 -0.228899 -0.672319 0.490491 45 57.5 1 0 +2176 1 1 0 42.9769 47.04 43.5259 -0.70231 -0.296004 -0.647412 0.490491 45 57.5 1 0 +2177 1 1 0 43.465 46.6531 43.2109 -0.653497 -0.334691 -0.678913 0.490491 45 57.5 1 0 +2178 1 1 0 43.5316 46.0023 43.5055 -0.64684 -0.399769 -0.649448 0.490491 45 57.5 1 0 +2179 1 1 0 43.0296 46.3841 43.8081 -0.697037 -0.361591 -0.619186 0.490491 45 57.5 1 0 +2180 1 1 0 43.1181 45.7467 44.1221 -0.688191 -0.425325 -0.587785 0.490491 45 57.5 1 0 +2181 1 1 0 42.5021 48.1257 43.6542 -0.749786 -0.187432 -0.634579 0.490491 45 57.5 1 0 +2182 1 1 0 42.0983 48.5259 44.051 -0.79017 -0.147413 -0.594895 0.490491 45 57.5 1 0 +2183 1 1 0 42.0735 47.8698 44.2875 -0.79265 -0.213023 -0.571251 0.490491 45 57.5 1 0 +2184 1 1 0 41.7289 48.9351 44.4814 -0.82711 -0.106494 -0.551859 0.490491 45 57.5 1 0 +2185 1 1 0 41.6919 48.2747 44.7087 -0.830812 -0.172532 -0.529135 0.490491 45 57.5 1 0 +2186 1 1 0 41.6964 47.6277 44.9579 -0.830359 -0.237228 -0.504209 0.490491 45 57.5 1 0 +2187 1 1 0 42.6229 46.1327 44.4663 -0.737712 -0.38673 -0.553372 0.490491 45 57.5 1 0 +2188 1 1 0 42.747 45.5174 44.775 -0.725299 -0.448259 -0.522499 0.490491 45 57.5 1 0 +2189 1 1 0 42.1655 46.5385 44.8388 -0.783452 -0.346153 -0.516122 0.490491 45 57.5 1 0 +2190 1 1 0 42.2742 45.9171 45.1376 -0.772575 -0.408286 -0.48624 0.490491 45 57.5 1 0 +2191 1 1 0 42.4206 45.3157 45.4601 -0.757936 -0.46843 -0.45399 0.490491 45 57.5 1 0 +2192 1 1 0 41.7482 46.962 45.2377 -0.825175 -0.303801 -0.476225 0.490491 45 57.5 1 0 +2193 1 1 0 41.8377 46.3397 45.5302 -0.816233 -0.366027 -0.446977 0.490491 45 57.5 1 0 +2194 1 1 0 41.9698 45.7287 45.844 -0.803016 -0.427135 -0.415597 0.490491 45 57.5 1 0 +2195 1 1 0 42.141 45.1429 46.1732 -0.785899 -0.485712 -0.382683 0.490491 45 57.5 1 0 +2196 1 1 0 42.5056 47.4482 43.8907 -0.749435 -0.25518 -0.610926 0.490491 45 57.5 1 0 +2197 1 1 0 42.0989 47.1968 44.5489 -0.790112 -0.280319 -0.545109 0.490491 45 57.5 1 0 +2198 1 1 0 42.5466 46.7786 44.1631 -0.745339 -0.322141 -0.583692 0.490491 45 57.5 1 0 +2199 1 1 0 46.1732 42.141 45.1429 -0.382683 -0.785899 -0.485712 0.490491 45 57.5 1 0 +2200 1 1 0 45.4601 42.4206 45.3157 -0.45399 -0.757936 -0.46843 0.490491 45 57.5 1 0 +2201 1 1 0 45.844 41.9698 45.7287 -0.415597 -0.803016 -0.427135 0.490491 45 57.5 1 0 +2202 1 1 0 44.775 42.747 45.5174 -0.522499 -0.725299 -0.448259 0.490491 45 57.5 1 0 +2203 1 1 0 45.1376 42.2742 45.9171 -0.48624 -0.772575 -0.408286 0.490491 45 57.5 1 0 +2204 1 1 0 44.1221 43.1181 45.7467 -0.587785 -0.688191 -0.425325 0.490491 45 57.5 1 0 +2205 1 1 0 44.4663 42.6229 46.1327 -0.553372 -0.737712 -0.38673 0.490491 45 57.5 1 0 +2206 1 1 0 44.8388 42.1655 46.5385 -0.516122 -0.783452 -0.346153 0.490491 45 57.5 1 0 +2207 1 1 0 45.5302 41.8377 46.3397 -0.446977 -0.816233 -0.366027 0.490491 45 57.5 1 0 +2208 1 1 0 45.2377 41.7482 46.962 -0.476225 -0.825175 -0.303801 0.490491 45 57.5 1 0 +2209 1 1 0 43.5055 43.5316 46.0023 -0.649448 -0.64684 -0.399769 0.490491 45 57.5 1 0 +2210 1 1 0 43.8081 43.0296 46.3841 -0.619186 -0.697037 -0.361591 0.490491 45 57.5 1 0 +2211 1 1 0 42.9289 43.985 46.2825 -0.707107 -0.601501 -0.371748 0.490491 45 57.5 1 0 +2212 1 1 0 43.2109 43.465 46.6531 -0.678913 -0.653497 -0.334691 0.490491 45 57.5 1 0 +2213 1 1 0 43.5259 42.9769 47.04 -0.647412 -0.70231 -0.296004 0.490491 45 57.5 1 0 +2214 1 1 0 42.3959 44.4755 46.5857 -0.760406 -0.552454 -0.341435 0.490491 45 57.5 1 0 +2215 1 1 0 42.6521 43.9426 46.9479 -0.734794 -0.605742 -0.305212 0.490491 45 57.5 1 0 +2216 1 1 0 42.9476 43.4338 47.3262 -0.705236 -0.65662 -0.267381 0.490491 45 57.5 1 0 +2217 1 1 0 43.2768 42.9602 47.711 -0.672319 -0.703983 -0.228899 0.490491 45 57.5 1 0 +2218 1 1 0 44.9579 41.6964 47.6277 -0.504209 -0.830359 -0.237228 0.490491 45 57.5 1 0 +2219 1 1 0 44.2875 42.0735 47.8698 -0.571251 -0.79265 -0.213023 0.490491 45 57.5 1 0 +2220 1 1 0 44.7087 41.6919 48.2747 -0.529135 -0.830812 -0.172532 0.490491 45 57.5 1 0 +2221 1 1 0 43.6542 42.5021 48.1257 -0.634579 -0.749786 -0.187432 0.490491 45 57.5 1 0 +2222 1 1 0 44.051 42.0983 48.5259 -0.594895 -0.79017 -0.147413 0.490491 45 57.5 1 0 +2223 1 1 0 44.4814 41.7289 48.9351 -0.551859 -0.82711 -0.106494 0.490491 45 57.5 1 0 +2224 1 1 0 44.1631 42.5466 46.7786 -0.583692 -0.745339 -0.322141 0.490491 45 57.5 1 0 +2225 1 1 0 43.8907 42.5056 47.4482 -0.610926 -0.749435 -0.25518 0.490491 45 57.5 1 0 +2226 1 1 0 44.5489 42.0989 47.1968 -0.545109 -0.790112 -0.280319 0.490491 45 57.5 1 0 +2227 1 1 0 44.6322 45.8573 42.6499 -0.536784 -0.414272 -0.735011 0.490491 45 57.5 1 0 +2228 1 1 0 44.1528 45.5604 43.2102 -0.584716 -0.443957 -0.678977 0.490491 45 57.5 1 0 +2229 1 1 0 43.7169 45.2908 43.8076 -0.628313 -0.470917 -0.619242 0.490491 45 57.5 1 0 +2230 1 1 0 44.3575 44.8662 43.5342 -0.564254 -0.513375 -0.646578 0.490491 45 57.5 1 0 +2231 1 1 0 44.8203 45.1479 42.9553 -0.51797 -0.485208 -0.704471 0.490491 45 57.5 1 0 +2232 1 1 0 45.0356 44.4758 43.3039 -0.496441 -0.552418 -0.669612 0.490491 45 57.5 1 0 +2233 1 1 0 43.3039 45.0356 44.4758 -0.669612 -0.496441 -0.552418 0.490491 45 57.5 1 0 +2234 1 1 0 42.9553 44.8203 45.1479 -0.704471 -0.51797 -0.485208 0.490491 45 57.5 1 0 +2235 1 1 0 43.5342 44.3575 44.8662 -0.646578 -0.564254 -0.513375 0.490491 45 57.5 1 0 +2236 1 1 0 42.6499 44.6322 45.8573 -0.735011 -0.536784 -0.414272 0.490491 45 57.5 1 0 +2237 1 1 0 43.2102 44.1528 45.5604 -0.678977 -0.584716 -0.443957 0.490491 45 57.5 1 0 +2238 1 1 0 43.8076 43.7169 45.2908 -0.619242 -0.628313 -0.470917 0.490491 45 57.5 1 0 +2239 1 1 0 45.2908 43.8076 43.7169 -0.470917 -0.619242 -0.628313 0.490491 45 57.5 1 0 +2240 1 1 0 44.8662 43.5342 44.3575 -0.513375 -0.646578 -0.564254 0.490491 45 57.5 1 0 +2241 1 1 0 45.5604 43.2102 44.1528 -0.443957 -0.678977 -0.584716 0.490491 45 57.5 1 0 +2242 1 1 0 44.4758 43.3039 45.0356 -0.552418 -0.669612 -0.496441 0.490491 45 57.5 1 0 +2243 1 1 0 45.1479 42.9553 44.8203 -0.485208 -0.704471 -0.51797 0.490491 45 57.5 1 0 +2244 1 1 0 45.8573 42.6499 44.6322 -0.414272 -0.735011 -0.536784 0.490491 45 57.5 1 0 +2245 1 1 0 43.9252 44.5935 44.1805 -0.607478 -0.54065 -0.581952 0.490491 45 57.5 1 0 +2246 1 1 0 44.1805 43.9252 44.5935 -0.581952 -0.607478 -0.54065 0.490491 45 57.5 1 0 +2247 1 1 0 44.5935 44.1805 43.9252 -0.54065 -0.581952 -0.607478 0.490491 45 57.5 1 0 +2248 1 1 0 51.0649 44.4814 41.7289 0.106494 -0.551859 -0.82711 0.490491 45 57.5 1 0 +2249 1 1 0 51.4741 44.051 42.0983 0.147413 -0.594895 -0.79017 0.490491 45 57.5 1 0 +2250 1 1 0 51.8743 43.6542 42.5021 0.187432 -0.634579 -0.749786 0.490491 45 57.5 1 0 +2251 1 1 0 52.1302 44.2875 42.0735 0.213023 -0.571251 -0.79265 0.490491 45 57.5 1 0 +2252 1 1 0 51.7253 44.7087 41.6919 0.172532 -0.529135 -0.830812 0.490491 45 57.5 1 0 +2253 1 1 0 52.3723 44.9579 41.6964 0.237228 -0.504209 -0.830359 0.490491 45 57.5 1 0 +2254 1 1 0 52.289 43.2768 42.9602 0.228899 -0.672319 -0.703983 0.490491 45 57.5 1 0 +2255 1 1 0 52.6738 42.9476 43.4338 0.267381 -0.705236 -0.65662 0.490491 45 57.5 1 0 +2256 1 1 0 52.96 43.5259 42.9769 0.296004 -0.647412 -0.70231 0.490491 45 57.5 1 0 +2257 1 1 0 53.0521 42.6521 43.9426 0.305212 -0.734794 -0.605742 0.490491 45 57.5 1 0 +2258 1 1 0 53.4143 42.3959 44.4755 0.341435 -0.760406 -0.552454 0.490491 45 57.5 1 0 +2259 1 1 0 53.7175 42.9289 43.985 0.371748 -0.707107 -0.601501 0.490491 45 57.5 1 0 +2260 1 1 0 53.3469 43.2109 43.465 0.334691 -0.678913 -0.653497 0.490491 45 57.5 1 0 +2261 1 1 0 53.6159 43.8081 43.0296 0.361591 -0.619186 -0.697037 0.490491 45 57.5 1 0 +2262 1 1 0 53.9977 43.5055 43.5316 0.399769 -0.649448 -0.64684 0.490491 45 57.5 1 0 +2263 1 1 0 54.2533 44.1221 43.1181 0.425325 -0.587785 -0.688191 0.490491 45 57.5 1 0 +2264 1 1 0 53.038 45.2377 41.7482 0.303801 -0.476225 -0.825175 0.490491 45 57.5 1 0 +2265 1 1 0 53.4615 44.8388 42.1655 0.346153 -0.516122 -0.783452 0.490491 45 57.5 1 0 +2266 1 1 0 53.6603 45.5302 41.8377 0.366027 -0.446977 -0.816233 0.490491 45 57.5 1 0 +2267 1 1 0 53.8673 44.4663 42.6229 0.38673 -0.553372 -0.737712 0.490491 45 57.5 1 0 +2268 1 1 0 54.0829 45.1376 42.2742 0.408286 -0.48624 -0.772575 0.490491 45 57.5 1 0 +2269 1 1 0 54.4826 44.775 42.747 0.448259 -0.522499 -0.725299 0.490491 45 57.5 1 0 +2270 1 1 0 54.6843 45.4601 42.4206 0.46843 -0.45399 -0.757936 0.490491 45 57.5 1 0 +2271 1 1 0 54.2713 45.844 41.9698 0.427135 -0.415597 -0.803016 0.490491 45 57.5 1 0 +2272 1 1 0 54.8571 46.1732 42.141 0.485712 -0.382683 -0.785899 0.490491 45 57.5 1 0 +2273 1 1 0 52.5518 43.8907 42.5056 0.25518 -0.610926 -0.749435 0.490491 45 57.5 1 0 +2274 1 1 0 53.2214 44.1631 42.5466 0.322141 -0.583692 -0.745339 0.490491 45 57.5 1 0 +2275 1 1 0 52.8032 44.5489 42.0989 0.280319 -0.545109 -0.790112 0.490491 45 57.5 1 0 +2276 1 1 0 53.8268 42.141 45.1429 0.382683 -0.785899 -0.485712 0.490491 45 57.5 1 0 +2277 1 1 0 54.156 41.9698 45.7287 0.415597 -0.803016 -0.427135 0.490491 45 57.5 1 0 +2278 1 1 0 54.5399 42.4206 45.3157 0.45399 -0.757936 -0.46843 0.490491 45 57.5 1 0 +2279 1 1 0 54.4698 41.8377 46.3397 0.446977 -0.816233 -0.366027 0.490491 45 57.5 1 0 +2280 1 1 0 54.7623 41.7482 46.962 0.476225 -0.825175 -0.303801 0.490491 45 57.5 1 0 +2281 1 1 0 55.1612 42.1655 46.5385 0.516122 -0.783452 -0.346153 0.490491 45 57.5 1 0 +2282 1 1 0 54.8624 42.2742 45.9171 0.48624 -0.772575 -0.408286 0.490491 45 57.5 1 0 +2283 1 1 0 55.225 42.747 45.5174 0.522499 -0.725299 -0.448259 0.490491 45 57.5 1 0 +2284 1 1 0 55.5337 42.6229 46.1327 0.553372 -0.737712 -0.38673 0.490491 45 57.5 1 0 +2285 1 1 0 55.8779 43.1181 45.7467 0.587785 -0.688191 -0.425325 0.490491 45 57.5 1 0 +2286 1 1 0 55.0421 41.6964 47.6277 0.504209 -0.830359 -0.237228 0.490491 45 57.5 1 0 +2287 1 1 0 55.2913 41.6919 48.2747 0.529135 -0.830812 -0.172532 0.490491 45 57.5 1 0 +2288 1 1 0 55.7125 42.0735 47.8698 0.571251 -0.79265 -0.213023 0.490491 45 57.5 1 0 +2289 1 1 0 55.5186 41.7289 48.9351 0.551859 -0.82711 -0.106494 0.490491 45 57.5 1 0 +2290 1 1 0 55.949 42.0983 48.5259 0.594895 -0.79017 -0.147413 0.490491 45 57.5 1 0 +2291 1 1 0 56.3458 42.5021 48.1257 0.634579 -0.749786 -0.187432 0.490491 45 57.5 1 0 +2292 1 1 0 56.1919 43.0296 46.3841 0.619186 -0.697037 -0.361591 0.490491 45 57.5 1 0 +2293 1 1 0 56.4945 43.5316 46.0023 0.649448 -0.64684 -0.399769 0.490491 45 57.5 1 0 +2294 1 1 0 56.4741 42.9769 47.04 0.647412 -0.70231 -0.296004 0.490491 45 57.5 1 0 +2295 1 1 0 56.7891 43.465 46.6531 0.678913 -0.653497 -0.334691 0.490491 45 57.5 1 0 +2296 1 1 0 57.0711 43.985 46.2825 0.707107 -0.601501 -0.371748 0.490491 45 57.5 1 0 +2297 1 1 0 56.7232 42.9602 47.711 0.672319 -0.703983 -0.228899 0.490491 45 57.5 1 0 +2298 1 1 0 57.0524 43.4338 47.3262 0.705236 -0.65662 -0.267381 0.490491 45 57.5 1 0 +2299 1 1 0 57.3479 43.9426 46.9479 0.734794 -0.605742 -0.305212 0.490491 45 57.5 1 0 +2300 1 1 0 57.6041 44.4755 46.5857 0.760406 -0.552454 -0.341435 0.490491 45 57.5 1 0 +2301 1 1 0 55.4511 42.0989 47.1968 0.545109 -0.790112 -0.280319 0.490491 45 57.5 1 0 +2302 1 1 0 56.1093 42.5056 47.4482 0.610926 -0.749435 -0.25518 0.490491 45 57.5 1 0 +2303 1 1 0 55.8369 42.5466 46.7786 0.583692 -0.745339 -0.322141 0.490491 45 57.5 1 0 +2304 1 1 0 55.5245 46.5857 42.3959 0.552454 -0.341435 -0.760406 0.490491 45 57.5 1 0 +2305 1 1 0 56.015 46.2825 42.9289 0.601501 -0.371748 -0.707107 0.490491 45 57.5 1 0 +2306 1 1 0 56.0574 46.9479 42.6521 0.605742 -0.305212 -0.734794 0.490491 45 57.5 1 0 +2307 1 1 0 56.4684 46.0023 43.5055 0.64684 -0.399769 -0.649448 0.490491 45 57.5 1 0 +2308 1 1 0 56.535 46.6531 43.2109 0.653497 -0.334691 -0.678913 0.490491 45 57.5 1 0 +2309 1 1 0 56.8819 45.7467 44.1221 0.688191 -0.425325 -0.587785 0.490491 45 57.5 1 0 +2310 1 1 0 56.9704 46.3841 43.8081 0.697037 -0.361591 -0.619186 0.490491 45 57.5 1 0 +2311 1 1 0 57.0231 47.04 43.5259 0.70231 -0.296004 -0.647412 0.490491 45 57.5 1 0 +2312 1 1 0 56.5662 47.3262 42.9476 0.65662 -0.267381 -0.705236 0.490491 45 57.5 1 0 +2313 1 1 0 57.0398 47.711 43.2768 0.703983 -0.228899 -0.672319 0.490491 45 57.5 1 0 +2314 1 1 0 57.253 45.5174 44.775 0.725299 -0.448259 -0.522499 0.490491 45 57.5 1 0 +2315 1 1 0 57.3771 46.1327 44.4663 0.737712 -0.38673 -0.553372 0.490491 45 57.5 1 0 +2316 1 1 0 57.5794 45.3157 45.4601 0.757936 -0.46843 -0.45399 0.490491 45 57.5 1 0 +2317 1 1 0 57.7258 45.9171 45.1376 0.772575 -0.408286 -0.48624 0.490491 45 57.5 1 0 +2318 1 1 0 57.8345 46.5385 44.8388 0.783452 -0.346153 -0.516122 0.490491 45 57.5 1 0 +2319 1 1 0 57.859 45.1429 46.1732 0.785899 -0.485712 -0.382683 0.490491 45 57.5 1 0 +2320 1 1 0 58.0302 45.7287 45.844 0.803016 -0.427135 -0.415597 0.490491 45 57.5 1 0 +2321 1 1 0 58.1623 46.3397 45.5302 0.816233 -0.366027 -0.446977 0.490491 45 57.5 1 0 +2322 1 1 0 58.2518 46.962 45.2377 0.825175 -0.303801 -0.476225 0.490491 45 57.5 1 0 +2323 1 1 0 57.4979 48.1257 43.6542 0.749786 -0.187432 -0.634579 0.490491 45 57.5 1 0 +2324 1 1 0 57.9265 47.8698 44.2875 0.79265 -0.213023 -0.571251 0.490491 45 57.5 1 0 +2325 1 1 0 57.9017 48.5259 44.051 0.79017 -0.147413 -0.594895 0.490491 45 57.5 1 0 +2326 1 1 0 58.3036 47.6277 44.9579 0.830359 -0.237228 -0.504209 0.490491 45 57.5 1 0 +2327 1 1 0 58.3081 48.2747 44.7087 0.830812 -0.172532 -0.529135 0.490491 45 57.5 1 0 +2328 1 1 0 58.2711 48.9351 44.4814 0.82711 -0.106494 -0.551859 0.490491 45 57.5 1 0 +2329 1 1 0 57.4534 46.7786 44.1631 0.745339 -0.322141 -0.583692 0.490491 45 57.5 1 0 +2330 1 1 0 57.9011 47.1968 44.5489 0.790112 -0.280319 -0.545109 0.490491 45 57.5 1 0 +2331 1 1 0 57.4944 47.4482 43.8907 0.749435 -0.25518 -0.610926 0.490491 45 57.5 1 0 +2332 1 1 0 54.1427 42.6499 44.6322 0.414272 -0.735011 -0.536784 0.490491 45 57.5 1 0 +2333 1 1 0 54.8521 42.9553 44.8203 0.485208 -0.704471 -0.51797 0.490491 45 57.5 1 0 +2334 1 1 0 55.5242 43.3039 45.0356 0.552418 -0.669612 -0.496441 0.490491 45 57.5 1 0 +2335 1 1 0 55.1338 43.5342 44.3575 0.513375 -0.646578 -0.564254 0.490491 45 57.5 1 0 +2336 1 1 0 54.4396 43.2102 44.1528 0.443957 -0.678977 -0.584716 0.490491 45 57.5 1 0 +2337 1 1 0 54.7092 43.8076 43.7169 0.470917 -0.619242 -0.628313 0.490491 45 57.5 1 0 +2338 1 1 0 56.1924 43.7169 45.2908 0.619242 -0.628313 -0.470917 0.490491 45 57.5 1 0 +2339 1 1 0 56.7898 44.1528 45.5604 0.678977 -0.584716 -0.443957 0.490491 45 57.5 1 0 +2340 1 1 0 56.4658 44.3575 44.8662 0.646578 -0.564254 -0.513375 0.490491 45 57.5 1 0 +2341 1 1 0 57.3501 44.6322 45.8573 0.735011 -0.536784 -0.414272 0.490491 45 57.5 1 0 +2342 1 1 0 57.0447 44.8203 45.1479 0.704471 -0.51797 -0.485208 0.490491 45 57.5 1 0 +2343 1 1 0 56.6961 45.0356 44.4758 0.669612 -0.496441 -0.552418 0.490491 45 57.5 1 0 +2344 1 1 0 54.9644 44.4758 43.3039 0.496441 -0.552418 -0.669612 0.490491 45 57.5 1 0 +2345 1 1 0 55.6425 44.8662 43.5342 0.564254 -0.513375 -0.646578 0.490491 45 57.5 1 0 +2346 1 1 0 55.1797 45.1479 42.9553 0.51797 -0.485208 -0.704471 0.490491 45 57.5 1 0 +2347 1 1 0 56.2831 45.2908 43.8076 0.628313 -0.470917 -0.619242 0.490491 45 57.5 1 0 +2348 1 1 0 55.8472 45.5604 43.2102 0.584716 -0.443957 -0.678977 0.490491 45 57.5 1 0 +2349 1 1 0 55.3678 45.8573 42.6499 0.536784 -0.414272 -0.735011 0.490491 45 57.5 1 0 +2350 1 1 0 55.8195 43.9252 44.5935 0.581952 -0.607478 -0.54065 0.490491 45 57.5 1 0 +2351 1 1 0 56.0748 44.5935 44.1805 0.607478 -0.54065 -0.581952 0.490491 45 57.5 1 0 +2352 1 1 0 55.4065 44.1805 43.9252 0.54065 -0.581952 -0.607478 0.490491 45 57.5 1 0 +2353 1 1 0 48.9351 44.4814 58.2711 -0.106494 -0.551859 0.82711 0.490491 45 57.5 1 0 +2354 1 1 0 48.5259 44.051 57.9017 -0.147413 -0.594895 0.79017 0.490491 45 57.5 1 0 +2355 1 1 0 48.1257 43.6542 57.4979 -0.187432 -0.634579 0.749786 0.490491 45 57.5 1 0 +2356 1 1 0 47.8698 44.2875 57.9265 -0.213023 -0.571251 0.79265 0.490491 45 57.5 1 0 +2357 1 1 0 48.2747 44.7087 58.3081 -0.172532 -0.529135 0.830812 0.490491 45 57.5 1 0 +2358 1 1 0 47.6277 44.9579 58.3036 -0.237228 -0.504209 0.830359 0.490491 45 57.5 1 0 +2359 1 1 0 47.711 43.2768 57.0398 -0.228899 -0.672319 0.703983 0.490491 45 57.5 1 0 +2360 1 1 0 47.3262 42.9476 56.5662 -0.267381 -0.705236 0.65662 0.490491 45 57.5 1 0 +2361 1 1 0 47.04 43.5259 57.0231 -0.296004 -0.647412 0.70231 0.490491 45 57.5 1 0 +2362 1 1 0 46.9479 42.6521 56.0574 -0.305212 -0.734794 0.605742 0.490491 45 57.5 1 0 +2363 1 1 0 46.5857 42.3959 55.5245 -0.341435 -0.760406 0.552454 0.490491 45 57.5 1 0 +2364 1 1 0 46.2825 42.9289 56.015 -0.371748 -0.707107 0.601501 0.490491 45 57.5 1 0 +2365 1 1 0 46.6531 43.2109 56.535 -0.334691 -0.678913 0.653497 0.490491 45 57.5 1 0 +2366 1 1 0 46.3841 43.8081 56.9704 -0.361591 -0.619186 0.697037 0.490491 45 57.5 1 0 +2367 1 1 0 46.0023 43.5055 56.4684 -0.399769 -0.649448 0.64684 0.490491 45 57.5 1 0 +2368 1 1 0 45.7467 44.1221 56.8819 -0.425325 -0.587785 0.688191 0.490491 45 57.5 1 0 +2369 1 1 0 46.962 45.2377 58.2518 -0.303801 -0.476225 0.825175 0.490491 45 57.5 1 0 +2370 1 1 0 46.5385 44.8388 57.8345 -0.346153 -0.516122 0.783452 0.490491 45 57.5 1 0 +2371 1 1 0 46.3397 45.5302 58.1623 -0.366027 -0.446977 0.816233 0.490491 45 57.5 1 0 +2372 1 1 0 46.1327 44.4663 57.3771 -0.38673 -0.553372 0.737712 0.490491 45 57.5 1 0 +2373 1 1 0 45.9171 45.1376 57.7258 -0.408286 -0.48624 0.772575 0.490491 45 57.5 1 0 +2374 1 1 0 45.5174 44.775 57.253 -0.448259 -0.522499 0.725299 0.490491 45 57.5 1 0 +2375 1 1 0 45.3157 45.4601 57.5794 -0.46843 -0.45399 0.757936 0.490491 45 57.5 1 0 +2376 1 1 0 45.7287 45.844 58.0302 -0.427135 -0.415597 0.803016 0.490491 45 57.5 1 0 +2377 1 1 0 45.1429 46.1732 57.859 -0.485712 -0.382683 0.785899 0.490491 45 57.5 1 0 +2378 1 1 0 47.4482 43.8907 57.4944 -0.25518 -0.610926 0.749435 0.490491 45 57.5 1 0 +2379 1 1 0 46.7786 44.1631 57.4534 -0.322141 -0.583692 0.745339 0.490491 45 57.5 1 0 +2380 1 1 0 47.1968 44.5489 57.9011 -0.280319 -0.545109 0.790112 0.490491 45 57.5 1 0 +2381 1 1 0 46.1732 42.141 54.8571 -0.382683 -0.785899 0.485712 0.490491 45 57.5 1 0 +2382 1 1 0 45.844 41.9698 54.2713 -0.415597 -0.803016 0.427135 0.490491 45 57.5 1 0 +2383 1 1 0 45.4601 42.4206 54.6843 -0.45399 -0.757936 0.46843 0.490491 45 57.5 1 0 +2384 1 1 0 45.5302 41.8377 53.6603 -0.446977 -0.816233 0.366027 0.490491 45 57.5 1 0 +2385 1 1 0 45.2377 41.7482 53.038 -0.476225 -0.825175 0.303801 0.490491 45 57.5 1 0 +2386 1 1 0 44.8388 42.1655 53.4615 -0.516122 -0.783452 0.346153 0.490491 45 57.5 1 0 +2387 1 1 0 45.1376 42.2742 54.0829 -0.48624 -0.772575 0.408286 0.490491 45 57.5 1 0 +2388 1 1 0 44.775 42.747 54.4826 -0.522499 -0.725299 0.448259 0.490491 45 57.5 1 0 +2389 1 1 0 44.4663 42.6229 53.8673 -0.553372 -0.737712 0.38673 0.490491 45 57.5 1 0 +2390 1 1 0 44.1221 43.1181 54.2533 -0.587785 -0.688191 0.425325 0.490491 45 57.5 1 0 +2391 1 1 0 44.9579 41.6964 52.3723 -0.504209 -0.830359 0.237228 0.490491 45 57.5 1 0 +2392 1 1 0 44.7087 41.6919 51.7253 -0.529135 -0.830812 0.172532 0.490491 45 57.5 1 0 +2393 1 1 0 44.2875 42.0735 52.1302 -0.571251 -0.79265 0.213023 0.490491 45 57.5 1 0 +2394 1 1 0 44.4814 41.7289 51.0649 -0.551859 -0.82711 0.106494 0.490491 45 57.5 1 0 +2395 1 1 0 44.051 42.0983 51.4741 -0.594895 -0.79017 0.147413 0.490491 45 57.5 1 0 +2396 1 1 0 43.6542 42.5021 51.8743 -0.634579 -0.749786 0.187432 0.490491 45 57.5 1 0 +2397 1 1 0 43.8081 43.0296 53.6159 -0.619186 -0.697037 0.361591 0.490491 45 57.5 1 0 +2398 1 1 0 43.5055 43.5316 53.9977 -0.649448 -0.64684 0.399769 0.490491 45 57.5 1 0 +2399 1 1 0 43.5259 42.9769 52.96 -0.647412 -0.70231 0.296004 0.490491 45 57.5 1 0 +2400 1 1 0 43.2109 43.465 53.3469 -0.678913 -0.653497 0.334691 0.490491 45 57.5 1 0 +2401 1 1 0 42.9289 43.985 53.7175 -0.707107 -0.601501 0.371748 0.490491 45 57.5 1 0 +2402 1 1 0 43.2768 42.9602 52.289 -0.672319 -0.703983 0.228899 0.490491 45 57.5 1 0 +2403 1 1 0 42.9476 43.4338 52.6738 -0.705236 -0.65662 0.267381 0.490491 45 57.5 1 0 +2404 1 1 0 42.6521 43.9426 53.0521 -0.734794 -0.605742 0.305212 0.490491 45 57.5 1 0 +2405 1 1 0 42.3959 44.4755 53.4143 -0.760406 -0.552454 0.341435 0.490491 45 57.5 1 0 +2406 1 1 0 44.5489 42.0989 52.8032 -0.545109 -0.790112 0.280319 0.490491 45 57.5 1 0 +2407 1 1 0 43.8907 42.5056 52.5518 -0.610926 -0.749435 0.25518 0.490491 45 57.5 1 0 +2408 1 1 0 44.1631 42.5466 53.2214 -0.583692 -0.745339 0.322141 0.490491 45 57.5 1 0 +2409 1 1 0 44.4755 46.5857 57.6041 -0.552454 -0.341435 0.760406 0.490491 45 57.5 1 0 +2410 1 1 0 43.985 46.2825 57.0711 -0.601501 -0.371748 0.707107 0.490491 45 57.5 1 0 +2411 1 1 0 43.9426 46.9479 57.3479 -0.605742 -0.305212 0.734794 0.490491 45 57.5 1 0 +2412 1 1 0 43.5316 46.0023 56.4945 -0.64684 -0.399769 0.649448 0.490491 45 57.5 1 0 +2413 1 1 0 43.465 46.6531 56.7891 -0.653497 -0.334691 0.678913 0.490491 45 57.5 1 0 +2414 1 1 0 43.1181 45.7467 55.8779 -0.688191 -0.425325 0.587785 0.490491 45 57.5 1 0 +2415 1 1 0 43.0296 46.3841 56.1919 -0.697037 -0.361591 0.619186 0.490491 45 57.5 1 0 +2416 1 1 0 42.9769 47.04 56.4741 -0.70231 -0.296004 0.647412 0.490491 45 57.5 1 0 +2417 1 1 0 43.4338 47.3262 57.0524 -0.65662 -0.267381 0.705236 0.490491 45 57.5 1 0 +2418 1 1 0 42.9602 47.711 56.7232 -0.703983 -0.228899 0.672319 0.490491 45 57.5 1 0 +2419 1 1 0 42.747 45.5174 55.225 -0.725299 -0.448259 0.522499 0.490491 45 57.5 1 0 +2420 1 1 0 42.6229 46.1327 55.5337 -0.737712 -0.38673 0.553372 0.490491 45 57.5 1 0 +2421 1 1 0 42.4206 45.3157 54.5399 -0.757936 -0.46843 0.45399 0.490491 45 57.5 1 0 +2422 1 1 0 42.2742 45.9171 54.8624 -0.772575 -0.408286 0.48624 0.490491 45 57.5 1 0 +2423 1 1 0 42.1655 46.5385 55.1612 -0.783452 -0.346153 0.516122 0.490491 45 57.5 1 0 +2424 1 1 0 42.141 45.1429 53.8268 -0.785899 -0.485712 0.382683 0.490491 45 57.5 1 0 +2425 1 1 0 41.9698 45.7287 54.156 -0.803016 -0.427135 0.415597 0.490491 45 57.5 1 0 +2426 1 1 0 41.8377 46.3397 54.4698 -0.816233 -0.366027 0.446977 0.490491 45 57.5 1 0 +2427 1 1 0 41.7482 46.962 54.7623 -0.825175 -0.303801 0.476225 0.490491 45 57.5 1 0 +2428 1 1 0 42.5021 48.1257 56.3458 -0.749786 -0.187432 0.634579 0.490491 45 57.5 1 0 +2429 1 1 0 42.0735 47.8698 55.7125 -0.79265 -0.213023 0.571251 0.490491 45 57.5 1 0 +2430 1 1 0 42.0983 48.5259 55.949 -0.79017 -0.147413 0.594895 0.490491 45 57.5 1 0 +2431 1 1 0 41.6964 47.6277 55.0421 -0.830359 -0.237228 0.504209 0.490491 45 57.5 1 0 +2432 1 1 0 41.6919 48.2747 55.2913 -0.830812 -0.172532 0.529135 0.490491 45 57.5 1 0 +2433 1 1 0 41.7289 48.9351 55.5186 -0.82711 -0.106494 0.551859 0.490491 45 57.5 1 0 +2434 1 1 0 42.5466 46.7786 55.8369 -0.745339 -0.322141 0.583692 0.490491 45 57.5 1 0 +2435 1 1 0 42.0989 47.1968 55.4511 -0.790112 -0.280319 0.545109 0.490491 45 57.5 1 0 +2436 1 1 0 42.5056 47.4482 56.1093 -0.749435 -0.25518 0.610926 0.490491 45 57.5 1 0 +2437 1 1 0 45.8573 42.6499 55.3678 -0.414272 -0.735011 0.536784 0.490491 45 57.5 1 0 +2438 1 1 0 45.1479 42.9553 55.1797 -0.485208 -0.704471 0.51797 0.490491 45 57.5 1 0 +2439 1 1 0 44.4758 43.3039 54.9644 -0.552418 -0.669612 0.496441 0.490491 45 57.5 1 0 +2440 1 1 0 44.8662 43.5342 55.6425 -0.513375 -0.646578 0.564254 0.490491 45 57.5 1 0 +2441 1 1 0 45.5604 43.2102 55.8472 -0.443957 -0.678977 0.584716 0.490491 45 57.5 1 0 +2442 1 1 0 45.2908 43.8076 56.2831 -0.470917 -0.619242 0.628313 0.490491 45 57.5 1 0 +2443 1 1 0 43.8076 43.7169 54.7092 -0.619242 -0.628313 0.470917 0.490491 45 57.5 1 0 +2444 1 1 0 43.2102 44.1528 54.4396 -0.678977 -0.584716 0.443957 0.490491 45 57.5 1 0 +2445 1 1 0 43.5342 44.3575 55.1338 -0.646578 -0.564254 0.513375 0.490491 45 57.5 1 0 +2446 1 1 0 42.6499 44.6322 54.1427 -0.735011 -0.536784 0.414272 0.490491 45 57.5 1 0 +2447 1 1 0 42.9553 44.8203 54.8521 -0.704471 -0.51797 0.485208 0.490491 45 57.5 1 0 +2448 1 1 0 43.3039 45.0356 55.5242 -0.669612 -0.496441 0.552418 0.490491 45 57.5 1 0 +2449 1 1 0 45.0356 44.4758 56.6961 -0.496441 -0.552418 0.669612 0.490491 45 57.5 1 0 +2450 1 1 0 44.3575 44.8662 56.4658 -0.564254 -0.513375 0.646578 0.490491 45 57.5 1 0 +2451 1 1 0 44.8203 45.1479 57.0447 -0.51797 -0.485208 0.704471 0.490491 45 57.5 1 0 +2452 1 1 0 43.7169 45.2908 56.1924 -0.628313 -0.470917 0.619242 0.490491 45 57.5 1 0 +2453 1 1 0 44.1528 45.5604 56.7898 -0.584716 -0.443957 0.678977 0.490491 45 57.5 1 0 +2454 1 1 0 44.6322 45.8573 57.3501 -0.536784 -0.414272 0.735011 0.490491 45 57.5 1 0 +2455 1 1 0 44.1805 43.9252 55.4065 -0.581952 -0.607478 0.54065 0.490491 45 57.5 1 0 +2456 1 1 0 43.9252 44.5935 55.8195 -0.607478 -0.54065 0.581952 0.490491 45 57.5 1 0 +2457 1 1 0 44.5935 44.1805 56.0748 -0.54065 -0.581952 0.607478 0.490491 45 57.5 1 0 +2458 1 1 0 51.0649 44.4814 58.2711 0.106494 -0.551859 0.82711 0.490491 45 57.5 1 0 +2459 1 1 0 51.7253 44.7087 58.3081 0.172532 -0.529135 0.830812 0.490491 45 57.5 1 0 +2460 1 1 0 52.3723 44.9579 58.3036 0.237228 -0.504209 0.830359 0.490491 45 57.5 1 0 +2461 1 1 0 52.1302 44.2875 57.9265 0.213023 -0.571251 0.79265 0.490491 45 57.5 1 0 +2462 1 1 0 51.4741 44.051 57.9017 0.147413 -0.594895 0.79017 0.490491 45 57.5 1 0 +2463 1 1 0 51.8743 43.6542 57.4979 0.187432 -0.634579 0.749786 0.490491 45 57.5 1 0 +2464 1 1 0 53.038 45.2377 58.2518 0.303801 -0.476225 0.825175 0.490491 45 57.5 1 0 +2465 1 1 0 53.6603 45.5302 58.1623 0.366027 -0.446977 0.816233 0.490491 45 57.5 1 0 +2466 1 1 0 53.4615 44.8388 57.8345 0.346153 -0.516122 0.783452 0.490491 45 57.5 1 0 +2467 1 1 0 54.2713 45.844 58.0302 0.427135 -0.415597 0.803016 0.490491 45 57.5 1 0 +2468 1 1 0 54.8571 46.1732 57.859 0.485712 -0.382683 0.785899 0.490491 45 57.5 1 0 +2469 1 1 0 54.6843 45.4601 57.5794 0.46843 -0.45399 0.757936 0.490491 45 57.5 1 0 +2470 1 1 0 54.0829 45.1376 57.7258 0.408286 -0.48624 0.772575 0.490491 45 57.5 1 0 +2471 1 1 0 53.8673 44.4663 57.3771 0.38673 -0.553372 0.737712 0.490491 45 57.5 1 0 +2472 1 1 0 54.4826 44.775 57.253 0.448259 -0.522499 0.725299 0.490491 45 57.5 1 0 +2473 1 1 0 54.2533 44.1221 56.8819 0.425325 -0.587785 0.688191 0.490491 45 57.5 1 0 +2474 1 1 0 52.289 43.2768 57.0398 0.228899 -0.672319 0.703983 0.490491 45 57.5 1 0 +2475 1 1 0 52.96 43.5259 57.0231 0.296004 -0.647412 0.70231 0.490491 45 57.5 1 0 +2476 1 1 0 52.6738 42.9476 56.5662 0.267381 -0.705236 0.65662 0.490491 45 57.5 1 0 +2477 1 1 0 53.6159 43.8081 56.9704 0.361591 -0.619186 0.697037 0.490491 45 57.5 1 0 +2478 1 1 0 53.3469 43.2109 56.535 0.334691 -0.678913 0.653497 0.490491 45 57.5 1 0 +2479 1 1 0 53.9977 43.5055 56.4684 0.399769 -0.649448 0.64684 0.490491 45 57.5 1 0 +2480 1 1 0 53.7175 42.9289 56.015 0.371748 -0.707107 0.601501 0.490491 45 57.5 1 0 +2481 1 1 0 53.0521 42.6521 56.0574 0.305212 -0.734794 0.605742 0.490491 45 57.5 1 0 +2482 1 1 0 53.4143 42.3959 55.5245 0.341435 -0.760406 0.552454 0.490491 45 57.5 1 0 +2483 1 1 0 52.8032 44.5489 57.9011 0.280319 -0.545109 0.790112 0.490491 45 57.5 1 0 +2484 1 1 0 53.2214 44.1631 57.4534 0.322141 -0.583692 0.745339 0.490491 45 57.5 1 0 +2485 1 1 0 52.5518 43.8907 57.4944 0.25518 -0.610926 0.749435 0.490491 45 57.5 1 0 +2486 1 1 0 55.5245 46.5857 57.6041 0.552454 -0.341435 0.760406 0.490491 45 57.5 1 0 +2487 1 1 0 56.0574 46.9479 57.3479 0.605742 -0.305212 0.734794 0.490491 45 57.5 1 0 +2488 1 1 0 56.015 46.2825 57.0711 0.601501 -0.371748 0.707107 0.490491 45 57.5 1 0 +2489 1 1 0 56.5662 47.3262 57.0524 0.65662 -0.267381 0.705236 0.490491 45 57.5 1 0 +2490 1 1 0 57.0398 47.711 56.7232 0.703983 -0.228899 0.672319 0.490491 45 57.5 1 0 +2491 1 1 0 57.0231 47.04 56.4741 0.70231 -0.296004 0.647412 0.490491 45 57.5 1 0 +2492 1 1 0 56.535 46.6531 56.7891 0.653497 -0.334691 0.678913 0.490491 45 57.5 1 0 +2493 1 1 0 56.4684 46.0023 56.4945 0.64684 -0.399769 0.649448 0.490491 45 57.5 1 0 +2494 1 1 0 56.9704 46.3841 56.1919 0.697037 -0.361591 0.619186 0.490491 45 57.5 1 0 +2495 1 1 0 56.8819 45.7467 55.8779 0.688191 -0.425325 0.587785 0.490491 45 57.5 1 0 +2496 1 1 0 57.4979 48.1257 56.3458 0.749786 -0.187432 0.634579 0.490491 45 57.5 1 0 +2497 1 1 0 57.9017 48.5259 55.949 0.79017 -0.147413 0.594895 0.490491 45 57.5 1 0 +2498 1 1 0 57.9265 47.8698 55.7125 0.79265 -0.213023 0.571251 0.490491 45 57.5 1 0 +2499 1 1 0 58.2711 48.9351 55.5186 0.82711 -0.106494 0.551859 0.490491 45 57.5 1 0 +2500 1 1 0 58.3081 48.2747 55.2913 0.830812 -0.172532 0.529135 0.490491 45 57.5 1 0 +2501 1 1 0 58.3036 47.6277 55.0421 0.830359 -0.237228 0.504209 0.490491 45 57.5 1 0 +2502 1 1 0 57.3771 46.1327 55.5337 0.737712 -0.38673 0.553372 0.490491 45 57.5 1 0 +2503 1 1 0 57.253 45.5174 55.225 0.725299 -0.448259 0.522499 0.490491 45 57.5 1 0 +2504 1 1 0 57.8345 46.5385 55.1612 0.783452 -0.346153 0.516122 0.490491 45 57.5 1 0 +2505 1 1 0 57.7258 45.9171 54.8624 0.772575 -0.408286 0.48624 0.490491 45 57.5 1 0 +2506 1 1 0 57.5794 45.3157 54.5399 0.757936 -0.46843 0.45399 0.490491 45 57.5 1 0 +2507 1 1 0 58.2518 46.962 54.7623 0.825175 -0.303801 0.476225 0.490491 45 57.5 1 0 +2508 1 1 0 58.1623 46.3397 54.4698 0.816233 -0.366027 0.446977 0.490491 45 57.5 1 0 +2509 1 1 0 58.0302 45.7287 54.156 0.803016 -0.427135 0.415597 0.490491 45 57.5 1 0 +2510 1 1 0 57.859 45.1429 53.8268 0.785899 -0.485712 0.382683 0.490491 45 57.5 1 0 +2511 1 1 0 57.4944 47.4482 56.1093 0.749435 -0.25518 0.610926 0.490491 45 57.5 1 0 +2512 1 1 0 57.9011 47.1968 55.4511 0.790112 -0.280319 0.545109 0.490491 45 57.5 1 0 +2513 1 1 0 57.4534 46.7786 55.8369 0.745339 -0.322141 0.583692 0.490491 45 57.5 1 0 +2514 1 1 0 53.8268 42.141 54.8571 0.382683 -0.785899 0.485712 0.490491 45 57.5 1 0 +2515 1 1 0 54.5399 42.4206 54.6843 0.45399 -0.757936 0.46843 0.490491 45 57.5 1 0 +2516 1 1 0 54.156 41.9698 54.2713 0.415597 -0.803016 0.427135 0.490491 45 57.5 1 0 +2517 1 1 0 55.225 42.747 54.4826 0.522499 -0.725299 0.448259 0.490491 45 57.5 1 0 +2518 1 1 0 54.8624 42.2742 54.0829 0.48624 -0.772575 0.408286 0.490491 45 57.5 1 0 +2519 1 1 0 55.8779 43.1181 54.2533 0.587785 -0.688191 0.425325 0.490491 45 57.5 1 0 +2520 1 1 0 55.5337 42.6229 53.8673 0.553372 -0.737712 0.38673 0.490491 45 57.5 1 0 +2521 1 1 0 55.1612 42.1655 53.4615 0.516122 -0.783452 0.346153 0.490491 45 57.5 1 0 +2522 1 1 0 54.4698 41.8377 53.6603 0.446977 -0.816233 0.366027 0.490491 45 57.5 1 0 +2523 1 1 0 54.7623 41.7482 53.038 0.476225 -0.825175 0.303801 0.490491 45 57.5 1 0 +2524 1 1 0 56.4945 43.5316 53.9977 0.649448 -0.64684 0.399769 0.490491 45 57.5 1 0 +2525 1 1 0 56.1919 43.0296 53.6159 0.619186 -0.697037 0.361591 0.490491 45 57.5 1 0 +2526 1 1 0 57.0711 43.985 53.7175 0.707107 -0.601501 0.371748 0.490491 45 57.5 1 0 +2527 1 1 0 56.7891 43.465 53.3469 0.678913 -0.653497 0.334691 0.490491 45 57.5 1 0 +2528 1 1 0 56.4741 42.9769 52.96 0.647412 -0.70231 0.296004 0.490491 45 57.5 1 0 +2529 1 1 0 57.6041 44.4755 53.4143 0.760406 -0.552454 0.341435 0.490491 45 57.5 1 0 +2530 1 1 0 57.3479 43.9426 53.0521 0.734794 -0.605742 0.305212 0.490491 45 57.5 1 0 +2531 1 1 0 57.0524 43.4338 52.6738 0.705236 -0.65662 0.267381 0.490491 45 57.5 1 0 +2532 1 1 0 56.7232 42.9602 52.289 0.672319 -0.703983 0.228899 0.490491 45 57.5 1 0 +2533 1 1 0 55.0421 41.6964 52.3723 0.504209 -0.830359 0.237228 0.490491 45 57.5 1 0 +2534 1 1 0 55.7125 42.0735 52.1302 0.571251 -0.79265 0.213023 0.490491 45 57.5 1 0 +2535 1 1 0 55.2913 41.6919 51.7253 0.529135 -0.830812 0.172532 0.490491 45 57.5 1 0 +2536 1 1 0 56.3458 42.5021 51.8743 0.634579 -0.749786 0.187432 0.490491 45 57.5 1 0 +2537 1 1 0 55.949 42.0983 51.4741 0.594895 -0.79017 0.147413 0.490491 45 57.5 1 0 +2538 1 1 0 55.5186 41.7289 51.0649 0.551859 -0.82711 0.106494 0.490491 45 57.5 1 0 +2539 1 1 0 55.8369 42.5466 53.2214 0.583692 -0.745339 0.322141 0.490491 45 57.5 1 0 +2540 1 1 0 56.1093 42.5056 52.5518 0.610926 -0.749435 0.25518 0.490491 45 57.5 1 0 +2541 1 1 0 55.4511 42.0989 52.8032 0.545109 -0.790112 0.280319 0.490491 45 57.5 1 0 +2542 1 1 0 55.3678 45.8573 57.3501 0.536784 -0.414272 0.735011 0.490491 45 57.5 1 0 +2543 1 1 0 55.8472 45.5604 56.7898 0.584716 -0.443957 0.678977 0.490491 45 57.5 1 0 +2544 1 1 0 56.2831 45.2908 56.1924 0.628313 -0.470917 0.619242 0.490491 45 57.5 1 0 +2545 1 1 0 55.6425 44.8662 56.4658 0.564254 -0.513375 0.646578 0.490491 45 57.5 1 0 +2546 1 1 0 55.1797 45.1479 57.0447 0.51797 -0.485208 0.704471 0.490491 45 57.5 1 0 +2547 1 1 0 54.9644 44.4758 56.6961 0.496441 -0.552418 0.669612 0.490491 45 57.5 1 0 +2548 1 1 0 56.6961 45.0356 55.5242 0.669612 -0.496441 0.552418 0.490491 45 57.5 1 0 +2549 1 1 0 57.0447 44.8203 54.8521 0.704471 -0.51797 0.485208 0.490491 45 57.5 1 0 +2550 1 1 0 56.4658 44.3575 55.1338 0.646578 -0.564254 0.513375 0.490491 45 57.5 1 0 +2551 1 1 0 57.3501 44.6322 54.1427 0.735011 -0.536784 0.414272 0.490491 45 57.5 1 0 +2552 1 1 0 56.7898 44.1528 54.4396 0.678977 -0.584716 0.443957 0.490491 45 57.5 1 0 +2553 1 1 0 56.1924 43.7169 54.7092 0.619242 -0.628313 0.470917 0.490491 45 57.5 1 0 +2554 1 1 0 54.7092 43.8076 56.2831 0.470917 -0.619242 0.628313 0.490491 45 57.5 1 0 +2555 1 1 0 55.1338 43.5342 55.6425 0.513375 -0.646578 0.564254 0.490491 45 57.5 1 0 +2556 1 1 0 54.4396 43.2102 55.8472 0.443957 -0.678977 0.584716 0.490491 45 57.5 1 0 +2557 1 1 0 55.5242 43.3039 54.9644 0.552418 -0.669612 0.496441 0.490491 45 57.5 1 0 +2558 1 1 0 54.8521 42.9553 55.1797 0.485208 -0.704471 0.51797 0.490491 45 57.5 1 0 +2559 1 1 0 54.1427 42.6499 55.3678 0.414272 -0.735011 0.536784 0.490491 45 57.5 1 0 +2560 1 1 0 56.0748 44.5935 55.8195 0.607478 -0.54065 0.581952 0.490491 45 57.5 1 0 +2561 1 1 0 55.8195 43.9252 55.4065 0.581952 -0.607478 0.54065 0.490491 45 57.5 1 0 +2562 1 1 0 55.4065 44.1805 56.0748 0.54065 -0.581952 0.607478 0.490491 45 57.5 1 0 +2563 2 2 1 50 50 62 0 0 1 0.490491 45 57.5 80 0 +2564 3 3 -1 50 50 38 0 0 1 0.490491 45 57.5 80 0 diff --git a/examples/USER/dielectric/in.confined b/examples/USER/dielectric/in.confined new file mode 100644 index 0000000000..c6508cfe08 --- /dev/null +++ b/examples/USER/dielectric/in.confined @@ -0,0 +1,80 @@ +# Two ions, a cation and an anion, confined between two interfaces: epsilon1 | epsilon2 | epsilon1 +# The interface normal vectors should be consistent with ed, pointing from region with epsilon1 to that with epsilon2 +# bottom interface: n = (0, 0, 1) +# top interface: n = (0, 0, -1) +# so that ed's are the same for both interfaces + +variable epsilon1 index 20 +variable epsilon2 index 8 + +variable data index data.confined + +newton off +units lj +atom_style dielectric +atom_modify map array +dimension 3 +boundary f f f + +variable method index gmres # gmres = BEM/GMRES + # icc = BEM/ICC* + # dof = Variational + # none + +variable ed equal "v_epsilon2 - v_epsilon1" +variable em equal "(v_epsilon2 + v_epsilon1)/2" +variable epsilon equal 1.0 # epsilon at the patch, not used for now +variable area equal 0.866 # patch area, same as in the data file + +read_data ${data} + +group interface type 1 +group ions type 2 3 + +group cations type 2 +group anions type 3 + +# 1.0 = q * epsilon2 = qreal for cations +# -1.0 = q * epsilon2 = qreal for anions +variable qscale equal "1.0 / v_epsilon2" +set group cations charge ${qscale} +variable qscale equal "-1.0 / v_epsilon2" +set group anions charge ${qscale} + +pair_style lj/cut/coul/cut/dielectric 1.122 20.0 +pair_coeff * * 1.0 1.0 +pair_coeff 1 1 0.0 1.0 + +neigh_modify every 1 delay 0 check yes one 5000 + +#compute ef all efield/atom +dump 1 all custom 100 all.dump id mol type q x y z #fx fy fz c_ef[1] c_ef[2] c_ef[3] +dump 2 interface custom 100 interface.dump id mol type q x y z #fx fy fz c_ef[1] c_ef[2] c_ef[3] +dump_modify 1 sort id + +dump 3 ions custom 100 ions.dump id mol type q x y z fx fy fz #c_ef[1] c_ef[2] c_ef[3] + +fix 1 ions nve + +if "${method} == gmres" then & + "fix 3 interface polarize/bem/gmres 1 1.0e-4" & + "fix_modify 3 itr_max 50 dielectrics ${ed} ${em} ${epsilon} ${area} NULL" & +elif "${method} == icc"& + "fix 3 interface polarize/bem/icc 1 1.0e-4 itr_max 50" & + "fix_modify 3 itr_max 50 dielectrics ${ed} ${em} ${epsilon} ${area} NULL" & +elif "${method} == dof" & + "fix 3 interface polarize/functional" & + "fix_modify 3 dielectrics ${ed} ${em} ${epsilon} ${area} NULL" & +else & + "print 'Unsupported polarization solver' " + +thermo 1000 +thermo_style custom step evdwl ecoul elong epair #f_3 +thermo_modify flush yes + +run 0 + + + + + diff --git a/examples/USER/dielectric/in.minimal b/examples/USER/dielectric/in.minimal new file mode 100644 index 0000000000..beb738d36f --- /dev/null +++ b/examples/USER/dielectric/in.minimal @@ -0,0 +1,39 @@ +# Interface +newton off +units lj +atom_style dielectric +atom_modify map array +dimension 3 +boundary p p f + +read_data data.minimal + +group interface type 1 +group ions type 2 3 + +pair_style coul/long/dielectric 5.0 +#pair_style coul/cut/dielectric 20.0 +pair_coeff * * + +thermo 1000 +thermo_style custom step evdwl ecoul elong epair +thermo_modify flush yes + +#compute ef all efield/atom +dump 1 all custom 100 dump.txt id type q x y z #fx fy fz c_ef[1] c_ef[2] c_ef[3] + +dump_modify 1 sort id + +fix 1 ions nve + +fix 3 interface polarize/bem/icc 1 1.0e-4 + +kspace_style pppm/dielectric 0.0001 +kspace_modify slab 3.0 + +velocity all create 1.0 2947942 mom yes dist gaussian + +run 0 + + + diff --git a/examples/USER/dielectric/in.nopbc b/examples/USER/dielectric/in.nopbc new file mode 100644 index 0000000000..bb7b506c90 --- /dev/null +++ b/examples/USER/dielectric/in.nopbc @@ -0,0 +1,51 @@ +# Interface +newton off +units lj +atom_style dielectric +atom_modify map array +dimension 3 +boundary f f f + +variable method index gmres # gmres = BEM/GMRES + # icc = BEM/ICC* + # dof = Variational + # none + +variable data index data.sphere #data.plane # data.minimal + +read_data ${data} + +group interface type 1 +group ions type 2 3 + +pair_style lj/cut/coul/cut/dielectric 50.0 +pair_coeff * * 1.0 1.0 +pair_coeff 1 1 0.0 1.0 + +neigh_modify one 5000 + +#compute ef all efield/atom +dump 1 all custom 100 all.dump id mol type q x y z #fx fy fz c_ef[1] c_ef[2] c_ef[3] +dump 2 interface custom 100 interface.dump id mol type q x y z #fx fy fz c_ef[1] c_ef[2] c_ef[3] + +dump_modify 1 sort id + +fix 1 ions nve + +if "${method} == gmres" then & + "fix 3 interface polarize/bem/gmres 1 1.0e-4" & +elif "${method} == icc"& + "fix 3 interface polarize/bem/icc 1 1.0e-4 itr_max 50" & +elif "${method} == dof" & + "fix 3 interface polarize/functional" & +else & + "print 'Unsupported method for polarization' " + +thermo 1000 +thermo_style custom step evdwl ecoul elong epair #f_3 +thermo_modify flush yes + +run 0 + + + diff --git a/examples/USER/dielectric/in.pbc b/examples/USER/dielectric/in.pbc new file mode 100644 index 0000000000..41226602fc --- /dev/null +++ b/examples/USER/dielectric/in.pbc @@ -0,0 +1,54 @@ +# Interface +newton off +units lj +atom_style dielectric +atom_modify map array +dimension 3 +boundary p p f + +variable method index gmres # gmres = BEM/GMRES + # icc = BEM/ICC* + # dof = Variational + # none + +variable data index data.sphere #data.plane # data.minimal + +read_data ${data} + +group interface type 1 +group ions type 2 3 + +pair_style lj/cut/coul/long/dielectric 1.122 10.0 +pair_coeff * * 1.0 1.0 +pair_coeff 1 1 0.0 1.0 + +kspace_style pppm/dielectric 0.0001 +kspace_modify slab 3.0 + +neigh_modify every 1 delay 0 check yes one 5000 + +#compute ef all efield/atom +dump 1 all custom 100 all.dump id mol type q x y z #fx fy fz c_ef[1] c_ef[2] c_ef[3] +dump 2 interface custom 100 interface.dump id mol type q x y z #fx fy fz c_ef[1] c_ef[2] c_ef[3] + +dump_modify 1 sort id + +fix 1 ions nve + +if "${method} == gmres" then & + "fix 3 interface polarize/bem/gmres 1 1.0e-4" & +elif "${method} == icc"& + "fix 3 interface polarize/bem/icc 1 1.0e-4 itr_max 50" & +elif "${method} == dof" & + "fix 3 interface polarize/functional" & +else & + "print 'Unsupported method for polarization' " + +thermo 100 +thermo_style custom step evdwl ecoul elong epair cpu +thermo_modify flush yes + +run 0 + + + diff --git a/src/GPU/pair_lj_cut_gpu.cpp b/src/GPU/pair_lj_cut_gpu.cpp index 1de70701f0..29b14c033f 100644 --- a/src/GPU/pair_lj_cut_gpu.cpp +++ b/src/GPU/pair_lj_cut_gpu.cpp @@ -1,3 +1,4 @@ +// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://lammps.sandia.gov/, Sandia National Laboratories @@ -16,26 +17,19 @@ ------------------------------------------------------------------------- */ #include "pair_lj_cut_gpu.h" -#include -#include -#include #include "atom.h" -#include "atom_vec.h" -#include "comm.h" -#include "force.h" -#include "neighbor.h" -#include "neigh_list.h" -#include "integrate.h" -#include "memory.h" -#include "error.h" -#include "neigh_request.h" -#include "universe.h" -#include "update.h" #include "domain.h" +#include "error.h" +#include "force.h" #include "gpu_extra.h" +#include "neigh_list.h" +#include "neigh_request.h" +#include "neighbor.h" #include "suffix.h" +#include + using namespace LAMMPS_NS; // External functions from cuda library for atom decomposition @@ -141,22 +135,27 @@ void PairLJCutGPU::init_style() { cut_respa = nullptr; - if (force->newton_pair) - error->all(FLERR,"Cannot use newton pair with lj/cut/gpu pair style"); + //if (force->newton_pair) +// error->all(FLERR,"Cannot use newton pair with lj/cut/gpu pair style"); // Repeat cutsq calculation because done after call to init_style double maxcut = -1.0; double cut; for (int i = 1; i <= atom->ntypes; i++) { for (int j = i; j <= atom->ntypes; j++) { + cut = init_one(i,j); if (setflag[i][j] != 0 || (setflag[i][i] != 0 && setflag[j][j] != 0)) { + cut = init_one(i,j); + //printf("lj/cut/gpu: i = %d; j = %d: setflag = %d cut = %f\n", i, j, setflag[i][j], cut); cut *= cut; if (cut > maxcut) maxcut = cut; cutsq[i][j] = cutsq[j][i] = cut; - } else + } else { + //printf("lj/cut/gpu: i = %d; j = %d: setflag = %d cut = %f\n", i, j, setflag[i][j], cut); cutsq[i][j] = cutsq[j][i] = 0.0; + } } } double cell_size = sqrt(maxcut) + neighbor->skin; diff --git a/src/USER-DIELECTRIC/Install.sh b/src/USER-DIELECTRIC/Install.sh new file mode 100644 index 0000000000..986e20e806 --- /dev/null +++ b/src/USER-DIELECTRIC/Install.sh @@ -0,0 +1,56 @@ +# Install/unInstall package files in LAMMPS +# mode = 0/1/2 for uninstall/install/update + +mode=$1 + +# enforce using portable C locale +LC_ALL=C +export LC_ALL + +# arg1 = file, arg2 = file it depends on + +action () { + if (test $mode = 0) then + rm -f ../$1 + elif (! cmp -s $1 ../$1) then + if (test -z "$2" || test -e ../$2) then + cp $1 .. + if (test $mode = 2) then + echo " updating src/$1" + fi + fi + elif (test -n "$2") then + if (test ! -e ../$2) then + rm -f ../$1 + fi + fi +} + +# list of files with optional dependcies + +action atom_vec_dielectric.cpp +action atom_vec_dielectric.h +action fix_polarize_bem_gmres.cpp +action fix_polarize_bem_gmres.h +action fix_polarize_bem_icc.cpp +action fix_polarize_bem_icc.h +action fix_polarize_functional.cpp +action fix_polarize_functional.h +action pair_lj_cut_coul_msm_dielectric.cpp +action pair_lj_cut_coul_msm_dielectric.h +action pair_lj_cut_coul_long_dielectric.cpp +action pair_lj_cut_coul_long_dielectric.h +action pair_lj_long_coul_long_dielectric.cpp pair_lj_long_coul_long.cpp +action pair_lj_long_coul_long_dielectric.h pair_lj_long_coul_long.cpp +action pair_lj_cut_coul_cut_dielectric.cpp +action pair_lj_cut_coul_cut_dielectric.h +action pair_coul_long_dielectric.cpp +action pair_coul_long_dielectric.h +action pair_coul_cut_dielectric.cpp +action pair_coul_cut_dielectric.h +action pppm_dielectric.cpp +action pppm_dielectric.h +action pppm_disp_dielectric.cpp pppm_disp.cpp +action pppm_disp_dielectric.h pppm_disp.h +action msm_dielectric.cpp +action msm_dielectric.h diff --git a/src/USER-DIELECTRIC/README b/src/USER-DIELECTRIC/README new file mode 100644 index 0000000000..5996d00572 --- /dev/null +++ b/src/USER-DIELECTRIC/README @@ -0,0 +1,73 @@ +* Description + +The USER-DIELECTRIC package provides several solvers for computing surface induced charges: + * the boundary element method using the GMRES solver (fix polarize/bem/gmres), + * the induced charge computation (ICC*) (fix polarize/bem/icc), and + * the direct optimization of an energy functional derived from the variational approach (fix polarize/functional). + +See the header of the source files for more details on the references of the methods. +Example input scripts are given at examples/USER/dielectric. + +The USER-DIELECTRIC package was created by Trung Nguyen while at Northwestern, +with contribution from Honghao Li (FixQeqDielectric) while at Northwestern. + +Questions can be addressed to Trung Nguyen (ndactrung@gmail.com). + +* Citation + +Please cite the following paper if you use the code for your publications + +Trung Dac Nguyen, Honghao Li, Debarshee Bagchi, Francisco J. Solis, Monica Olvera de la Cruz, +"Incorporating surface polarization effects into large-scale coarse-grained Molecular Dynamics simulation", +Computer Physics Communications 241, 80--91 (2019); DOI: 10.1016/j.cpc.2019.03.006. + +* Installation + +1. Clone the git repo: git clone https://bitbucket.org/ndtrung/lammps.git + +2. Check out the dielectric branch: git checkout dielectric + +3. Build: go to src/, and run + +make yes-molecule + +make yes-kspace + +make yes-user-dielectric + +a. If you don't have GSL libraries (libgsl.a and libgslcblas.a) installed in your machine, +remove fix_qeq_dielectric.cpp and fix_qeq_dielectric.h. Then build with + +make mpi -j8 + + +b. If you do have GSL headers and libraries installed, assuming that they are in /path/to/gsl/install, +copy MAKE/Makefile.mpi to MAKE/Makefile.mpi_gsl, and add to the variables CCFLAGS and LINKFLAGS +in MAKE/Makefile.mpi_gsl: + +GSL_PATH = /path/to/gsl/install + +... + +CCFLAGS = -O2 -march=native -funroll-loops -ffast-math -fopenmp -I$(GSL_PATH)/include + +... + +LINKFLAGS = -O2 -fopenmp -L$(GSL_PATH)/lib + +LIB = -lgsl -lgslcblas + +Finally, build with + +make mpi_gsl -j8 + +* Test + +Go to examples/USER/dielectric, and run + +mpirun -np 8 ../../../src/lmp_mpi -in in.confined + +or with the modified Makefile.mpi_gsl: + +mpirun -np 8 ../../../src/lmp_mpi_gsl -in in.confined + diff --git a/src/USER-DIELECTRIC/atom_vec_dielectric.cpp b/src/USER-DIELECTRIC/atom_vec_dielectric.cpp new file mode 100644 index 0000000000..07ae1abd06 --- /dev/null +++ b/src/USER-DIELECTRIC/atom_vec_dielectric.cpp @@ -0,0 +1,1270 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include +#include +#include "atom_vec_dielectric.h" +#include "atom.h" +#include "comm.h" +#include "domain.h" +#include "modify.h" +#include "fix.h" +#include "memory.h" +#include "error.h" + +using namespace LAMMPS_NS; + +/* ---------------------------------------------------------------------- */ + +AtomVecDielectric::AtomVecDielectric(LAMMPS *lmp) : AtomVecFull(lmp), + mu(NULL), area(NULL), ed(NULL), em(NULL), q_real(NULL), epsilon(NULL), + curvature(NULL) +{ + comm_x_only = 0; // 0 to exchange other data in addition to x in pack comm + size_forward = 13; // # items in func: pack_comm + size_reverse = 3; + size_border = 18; // # items in func: pack_border + size_velocity = 3; + size_data_atom = 15; // # items from read data file, func: data_atom. + size_data_vel = 4; + xcol_data = 5; // column in data files where coordinates start + // the first four columns are tag, mol, type, q + + atom->mu_flag = 1; +} + +/* ---------------------------------------------------------------------- */ + +AtomVecDielectric::~AtomVecDielectric() +{ + memory->destroy(area); + memory->destroy(ed); + memory->destroy(em); + memory->destroy(epsilon); + memory->destroy(q_real); + memory->destroy(curvature); +} + +/* ---------------------------------------------------------------------- + grow atom arrays + n = 0 grows arrays by a chunk + n > 0 allocates arrays to size n +------------------------------------------------------------------------- */ + +void AtomVecDielectric::grow(int n) +{ + AtomVecFull::grow(n); + + mu = memory->grow(atom->mu,nmax,4,"atom:mu"); + + // USER-DIELECTRIC specifics + + area = memory->grow(area,nmax,"atom:area"); + ed = memory->grow(ed,nmax,"atom:ed"); + em = memory->grow(em,nmax,"atom:em"); + epsilon = memory->grow(epsilon,nmax,"atom:epsilon"); + q_real = memory->grow(q_real,nmax,"atom:q_real"); + curvature = memory->grow(curvature,nmax,"atom:curvature"); +} + +/* ---------------------------------------------------------------------- + reset local array ptrs +------------------------------------------------------------------------- */ + +void AtomVecDielectric::grow_reset() +{ + AtomVecFull::grow_reset(); + + mu = atom->mu; +} + +/* ---------------------------------------------------------------------- + copy atom I info to atom J +------------------------------------------------------------------------- */ + +void AtomVecDielectric::copy(int i, int j, int delflag) +{ + AtomVecFull::copy(i, j, delflag); + + // USER-DIELECTRIC specifics + + mu[j][0] = mu[i][0]; + mu[j][1] = mu[i][1]; + mu[j][2] = mu[i][2]; + mu[j][3] = mu[i][3]; + + area[j] = area[i]; + ed[j] = ed[i]; + em[j] = em[i]; + epsilon[j] = epsilon[i]; + q_real[j] = q_real[i]; + curvature[j] = curvature[i]; +} + +/* ---------------------------------------------------------------------- */ + +int AtomVecDielectric::pack_comm(int n, int *list, double *buf, + int pbc_flag, int *pbc) +{ + int i,j,m; + double dx,dy,dz; + + m = 0; + if (pbc_flag == 0) { + for (i = 0; i < n; i++) { + j = list[i]; + buf[m++] = x[j][0]; + buf[m++] = x[j][1]; + buf[m++] = x[j][2]; + buf[m++] = q[j]; + buf[m++] = mu[j][0]; + buf[m++] = mu[j][1]; + buf[m++] = mu[j][2]; + buf[m++] = area[j]; + buf[m++] = ed[j]; + buf[m++] = em[j]; + buf[m++] = epsilon[j]; + buf[m++] = q_real[j]; + buf[m++] = curvature[j]; + } + } else { + if (domain->triclinic == 0) { + dx = pbc[0]*domain->xprd; + dy = pbc[1]*domain->yprd; + dz = pbc[2]*domain->zprd; + } else { + dx = pbc[0]*domain->xprd + pbc[5]*domain->xy + pbc[4]*domain->xz; + dy = pbc[1]*domain->yprd + pbc[3]*domain->yz; + dz = pbc[2]*domain->zprd; + } + for (i = 0; i < n; i++) { + j = list[i]; + buf[m++] = x[j][0] + dx; + buf[m++] = x[j][1] + dy; + buf[m++] = x[j][2] + dz; + buf[m++] = q[j]; + buf[m++] = mu[j][0]; + buf[m++] = mu[j][1]; + buf[m++] = mu[j][2]; + buf[m++] = area[j]; + buf[m++] = ed[j]; + buf[m++] = em[j]; + buf[m++] = epsilon[j]; + buf[m++] = q_real[j]; + buf[m++] = curvature[j]; + } + } + return m; +} + +/* ---------------------------------------------------------------------- */ + +int AtomVecDielectric::pack_comm_vel(int n, int *list, double *buf, + int pbc_flag, int *pbc) +{ + int i,j,m; + double dx,dy,dz,dvx,dvy,dvz; + + m = 0; + if (pbc_flag == 0) { + for (i = 0; i < n; i++) { + j = list[i]; + buf[m++] = x[j][0]; + buf[m++] = x[j][1]; + buf[m++] = x[j][2]; + buf[m++] = q[j]; + buf[m++] = mu[j][0]; + buf[m++] = mu[j][1]; + buf[m++] = mu[j][2]; + buf[m++] = area[j]; + buf[m++] = ed[j]; + buf[m++] = em[j]; + buf[m++] = epsilon[j]; + buf[m++] = q_real[j]; + buf[m++] = curvature[j]; + buf[m++] = v[j][0]; + buf[m++] = v[j][1]; + buf[m++] = v[j][2]; + } + } else { + if (domain->triclinic == 0) { + dx = pbc[0]*domain->xprd; + dy = pbc[1]*domain->yprd; + dz = pbc[2]*domain->zprd; + } else { + dx = pbc[0]*domain->xprd + pbc[5]*domain->xy + pbc[4]*domain->xz; + dy = pbc[1]*domain->yprd + pbc[3]*domain->yz; + dz = pbc[2]*domain->zprd; + } + if (!deform_vremap) { + for (i = 0; i < n; i++) { + j = list[i]; + buf[m++] = x[j][0] + dx; + buf[m++] = x[j][1] + dy; + buf[m++] = x[j][2] + dz; + buf[m++] = q[j]; + buf[m++] = mu[j][0]; + buf[m++] = mu[j][1]; + buf[m++] = mu[j][2]; + buf[m++] = area[j]; + buf[m++] = ed[j]; + buf[m++] = em[j]; + buf[m++] = epsilon[j]; + buf[m++] = q_real[j]; + buf[m++] = curvature[j]; + buf[m++] = v[j][0]; + buf[m++] = v[j][1]; + buf[m++] = v[j][2]; + } + } else { + dvx = pbc[0]*h_rate[0] + pbc[5]*h_rate[5] + pbc[4]*h_rate[4]; + dvy = pbc[1]*h_rate[1] + pbc[3]*h_rate[3]; + dvz = pbc[2]*h_rate[2]; + for (i = 0; i < n; i++) { + j = list[i]; + buf[m++] = x[j][0] + dx; + buf[m++] = x[j][1] + dy; + buf[m++] = x[j][2] + dz; + buf[m++] = q[j]; + buf[m++] = mu[j][0]; + buf[m++] = mu[j][1]; + buf[m++] = mu[j][2]; + buf[m++] = area[j]; + buf[m++] = ed[j]; + buf[m++] = em[j]; + buf[m++] = epsilon[j]; + buf[m++] = q_real[j]; + buf[m++] = curvature[j]; + if (mask[i] & deform_groupbit) { + buf[m++] = v[j][0] + dvx; + buf[m++] = v[j][1] + dvy; + buf[m++] = v[j][2] + dvz; + } else { + buf[m++] = v[j][0]; + buf[m++] = v[j][1]; + buf[m++] = v[j][2]; + } + } + } + } + return m; +} + +/* ---------------------------------------------------------------------- */ + +int AtomVecDielectric::pack_comm_hybrid(int n, int *list, double *buf) +{ + int i,j,m; + + m = 0; + for (i = 0; i < n; i++) { + j = list[i]; + buf[m++] = q[j]; + buf[m++] = mu[j][0]; + buf[m++] = mu[j][1]; + buf[m++] = mu[j][2]; + buf[m++] = area[j]; + buf[m++] = ed[j]; + buf[m++] = em[j]; + buf[m++] = epsilon[j]; + buf[m++] = q_real[j]; + buf[m++] = curvature[j]; + } + return m; +} + +/* ---------------------------------------------------------------------- */ + +void AtomVecDielectric::unpack_comm(int n, int first, double *buf) +{ + int i,m,last; + + m = 0; + last = first + n; + for (i = first; i < last; i++) { + x[i][0] = buf[m++]; + x[i][1] = buf[m++]; + x[i][2] = buf[m++]; + q[i] = buf[m++]; + mu[i][0] = buf[m++]; + mu[i][1] = buf[m++]; + mu[i][2] = buf[m++]; + area[i] = buf[m++]; + ed[i] = buf[m++]; + em[i] = buf[m++]; + epsilon[i] = buf[m++]; + q_real[i] = buf[m++]; + curvature[i] = buf[m++]; + } +} + +/* ---------------------------------------------------------------------- */ + +void AtomVecDielectric::unpack_comm_vel(int n, int first, double *buf) +{ + int i,m,last; + + m = 0; + last = first + n; + for (i = first; i < last; i++) { + x[i][0] = buf[m++]; + x[i][1] = buf[m++]; + x[i][2] = buf[m++]; + q[i] = buf[m++]; + mu[i][0] = buf[m++]; + mu[i][1] = buf[m++]; + mu[i][2] = buf[m++]; + area[i] = buf[m++]; + ed[i] = buf[m++]; + em[i] = buf[m++]; + epsilon[i] = buf[m++]; + q_real[i] = buf[m++]; + curvature[i] = buf[m++]; + v[i][0] = buf[m++]; + v[i][1] = buf[m++]; + v[i][2] = buf[m++]; + } +} + +/* ---------------------------------------------------------------------- */ + +int AtomVecDielectric::unpack_comm_hybrid(int n, int first, double *buf) +{ + int i,m,last; + + m = 0; + last = first + n; + for (i = first; i < last; i++) { + q[i] = buf[m++]; + mu[i][0] = buf[m++]; + mu[i][1] = buf[m++]; + mu[i][2] = buf[m++]; + area[i] = buf[m++]; + ed[i] = buf[m++]; + em[i] = buf[m++]; + epsilon[i] = buf[m++]; + q_real[i] = buf[m++]; + curvature[i] = buf[m++]; + } + return m; +} + +/* ---------------------------------------------------------------------- */ + +int AtomVecDielectric::pack_reverse(int n, int first, double *buf) +{ + int i,m,last; + + m = 0; + last = first + n; + for (i = first; i < last; i++) { + buf[m++] = f[i][0]; + buf[m++] = f[i][1]; + buf[m++] = f[i][2]; + } + return m; +} + +/* ---------------------------------------------------------------------- */ + +void AtomVecDielectric::unpack_reverse(int n, int *list, double *buf) +{ + int i,j,m; + + m = 0; + for (i = 0; i < n; i++) { + j = list[i]; + f[j][0] += buf[m++]; + f[j][1] += buf[m++]; + f[j][2] += buf[m++]; + } +} + +/* ---------------------------------------------------------------------- */ + +int AtomVecDielectric::pack_border(int n, int *list, double *buf, + int pbc_flag, int *pbc) +{ + int i,j,m; + double dx,dy,dz; + + m = 0; + if (pbc_flag == 0) { + for (i = 0; i < n; i++) { + j = list[i]; + buf[m++] = x[j][0]; + buf[m++] = x[j][1]; + buf[m++] = x[j][2]; + buf[m++] = ubuf(tag[j]).d; + buf[m++] = ubuf(type[j]).d; + buf[m++] = ubuf(mask[j]).d; + buf[m++] = ubuf(molecule[j]).d; + buf[m++] = q[j]; + buf[m++] = mu[j][0]; + buf[m++] = mu[j][1]; + buf[m++] = mu[j][2]; + buf[m++] = mu[j][3]; + buf[m++] = area[j]; + buf[m++] = ed[j]; + buf[m++] = em[j]; + buf[m++] = epsilon[j]; + buf[m++] = q_real[j]; + buf[m++] = curvature[j]; + } + } else { + if (domain->triclinic == 0) { + dx = pbc[0]*domain->xprd; + dy = pbc[1]*domain->yprd; + dz = pbc[2]*domain->zprd; + } else { + dx = pbc[0]; + dy = pbc[1]; + dz = pbc[2]; + } + for (i = 0; i < n; i++) { + j = list[i]; + buf[m++] = x[j][0] + dx; + buf[m++] = x[j][1] + dy; + buf[m++] = x[j][2] + dz; + buf[m++] = ubuf(tag[j]).d; + buf[m++] = ubuf(type[j]).d; + buf[m++] = ubuf(mask[j]).d; + buf[m++] = ubuf(molecule[j]).d; + buf[m++] = q[j]; + buf[m++] = mu[j][0]; + buf[m++] = mu[j][1]; + buf[m++] = mu[j][2]; + buf[m++] = mu[j][3]; + buf[m++] = area[j]; + buf[m++] = ed[j]; + buf[m++] = em[j]; + buf[m++] = epsilon[j]; + buf[m++] = q_real[j]; + buf[m++] = curvature[j]; + } + } + + if (atom->nextra_border) + for (int iextra = 0; iextra < atom->nextra_border; iextra++) + m += modify->fix[atom->extra_border[iextra]]->pack_border(n,list,&buf[m]); + + return m; +} + +/* ---------------------------------------------------------------------- */ + +int AtomVecDielectric::pack_border_vel(int n, int *list, double *buf, + int pbc_flag, int *pbc) +{ + int i,j,m; + double dx,dy,dz,dvx,dvy,dvz; + + m = 0; + if (pbc_flag == 0) { + for (i = 0; i < n; i++) { + j = list[i]; + buf[m++] = x[j][0]; + buf[m++] = x[j][1]; + buf[m++] = x[j][2]; + buf[m++] = ubuf(tag[j]).d; + buf[m++] = ubuf(type[j]).d; + buf[m++] = ubuf(mask[j]).d; + buf[m++] = ubuf(molecule[j]).d; + buf[m++] = q[j]; + buf[m++] = mu[j][0]; + buf[m++] = mu[j][1]; + buf[m++] = mu[j][2]; + buf[m++] = mu[j][3]; + buf[m++] = area[j]; + buf[m++] = ed[j]; + buf[m++] = em[j]; + buf[m++] = epsilon[j]; + buf[m++] = q_real[j]; + buf[m++] = curvature[j]; + buf[m++] = v[j][0]; + buf[m++] = v[j][1]; + buf[m++] = v[j][2]; + } + } else { + if (domain->triclinic == 0) { + dx = pbc[0]*domain->xprd; + dy = pbc[1]*domain->yprd; + dz = pbc[2]*domain->zprd; + } else { + dx = pbc[0]; + dy = pbc[1]; + dz = pbc[2]; + } + if (!deform_vremap) { + for (i = 0; i < n; i++) { + j = list[i]; + buf[m++] = x[j][0] + dx; + buf[m++] = x[j][1] + dy; + buf[m++] = x[j][2] + dz; + buf[m++] = ubuf(tag[j]).d; + buf[m++] = ubuf(type[j]).d; + buf[m++] = ubuf(mask[j]).d; + buf[m++] = ubuf(molecule[j]).d; + buf[m++] = q[j]; + buf[m++] = mu[j][0]; + buf[m++] = mu[j][1]; + buf[m++] = mu[j][2]; + buf[m++] = mu[j][3]; + buf[m++] = area[j]; + buf[m++] = ed[j]; + buf[m++] = em[j]; + buf[m++] = epsilon[j]; + buf[m++] = q_real[j]; + buf[m++] = curvature[j]; + buf[m++] = v[j][0]; + buf[m++] = v[j][1]; + buf[m++] = v[j][2]; + } + } else { + dvx = pbc[0]*h_rate[0] + pbc[5]*h_rate[5] + pbc[4]*h_rate[4]; + dvy = pbc[1]*h_rate[1] + pbc[3]*h_rate[3]; + dvz = pbc[2]*h_rate[2]; + for (i = 0; i < n; i++) { + j = list[i]; + buf[m++] = x[j][0] + dx; + buf[m++] = x[j][1] + dy; + buf[m++] = x[j][2] + dz; + buf[m++] = ubuf(tag[j]).d; + buf[m++] = ubuf(type[j]).d; + buf[m++] = ubuf(mask[j]).d; + buf[m++] = ubuf(molecule[j]).d; + buf[m++] = q[j]; + buf[m++] = mu[j][0]; + buf[m++] = mu[j][1]; + buf[m++] = mu[j][2]; + buf[m++] = mu[j][3]; + buf[m++] = area[j]; + buf[m++] = ed[j]; + buf[m++] = em[j]; + buf[m++] = epsilon[j]; + buf[m++] = curvature[j]; + buf[m++] = q_real[j]; + if (mask[i] & deform_groupbit) { + buf[m++] = v[j][0] + dvx; + buf[m++] = v[j][1] + dvy; + buf[m++] = v[j][2] + dvz; + } else { + buf[m++] = v[j][0]; + buf[m++] = v[j][1]; + buf[m++] = v[j][2]; + } + } + } + } + + if (atom->nextra_border) + for (int iextra = 0; iextra < atom->nextra_border; iextra++) + m += modify->fix[atom->extra_border[iextra]]->pack_border(n,list,&buf[m]); + + return m; +} + +/* ---------------------------------------------------------------------- */ + +int AtomVecDielectric::pack_border_hybrid(int n, int *list, double *buf) +{ + int i,j,m; + + m = 0; + for (i = 0; i < n; i++) { + j = list[i]; + buf[m++] = ubuf(molecule[j]).d; + buf[m++] = q[j]; + buf[m++] = mu[j][0]; + buf[m++] = mu[j][1]; + buf[m++] = mu[j][2]; + buf[m++] = mu[j][3]; + buf[m++] = area[j]; + buf[m++] = ed[j]; + buf[m++] = em[j]; + buf[m++] = epsilon[j]; + buf[m++] = q_real[j]; + buf[m++] = curvature[j]; + } + return m; +} + +/* ---------------------------------------------------------------------- */ + +void AtomVecDielectric::unpack_border(int n, int first, double *buf) +{ + int i,m,last; + + m = 0; + last = first + n; + for (i = first; i < last; i++) { + if (i == nmax) grow(0); + x[i][0] = buf[m++]; + x[i][1] = buf[m++]; + x[i][2] = buf[m++]; + tag[i] = (tagint) ubuf(buf[m++]).i; + type[i] = (int) ubuf(buf[m++]).i; + mask[i] = (int) ubuf(buf[m++]).i; + molecule[i] = (tagint) ubuf(buf[m++]).i; + q[i] = buf[m++]; + mu[i][0] = buf[m++]; + mu[i][1] = buf[m++]; + mu[i][2] = buf[m++]; + mu[i][3] = buf[m++]; + area[i] = buf[m++]; + ed[i] = buf[m++]; + em[i] = buf[m++]; + epsilon[i] = buf[m++]; + q_real[i] = buf[m++]; + curvature[i] = buf[m++]; + } + + if (atom->nextra_border) + for (int iextra = 0; iextra < atom->nextra_border; iextra++) + m += modify->fix[atom->extra_border[iextra]]-> + unpack_border(n,first,&buf[m]); +} + +/* ---------------------------------------------------------------------- */ + +void AtomVecDielectric::unpack_border_vel(int n, int first, double *buf) +{ + int i,m,last; + + m = 0; + last = first + n; + for (i = first; i < last; i++) { + if (i == nmax) grow(0); + x[i][0] = buf[m++]; + x[i][1] = buf[m++]; + x[i][2] = buf[m++]; + tag[i] = (tagint) ubuf(buf[m++]).i; + type[i] = (int) ubuf(buf[m++]).i; + mask[i] = (int) ubuf(buf[m++]).i; + molecule[i] = (tagint) ubuf(buf[m++]).i; + q[i] = buf[m++]; + mu[i][0] = buf[m++]; + mu[i][1] = buf[m++]; + mu[i][2] = buf[m++]; + mu[i][3] = buf[m++]; + area[i] = buf[m++]; + ed[i] = buf[m++]; + em[i] = buf[m++]; + epsilon[i] = buf[m++]; + q_real[i] = buf[m++]; + curvature[i] = buf[m++]; + v[i][0] = buf[m++]; + v[i][1] = buf[m++]; + v[i][2] = buf[m++]; + } + + if (atom->nextra_border) + for (int iextra = 0; iextra < atom->nextra_border; iextra++) + m += modify->fix[atom->extra_border[iextra]]-> + unpack_border(n,first,&buf[m]); +} + +/* ---------------------------------------------------------------------- */ + +int AtomVecDielectric::unpack_border_hybrid(int n, int first, double *buf) +{ + int i,m,last; + + m = 0; + last = first + n; + for (i = first; i < last; i++) { + molecule[i] = (tagint) ubuf(buf[m++]).i; + q[i] = buf[m++]; + mu[i][0] = buf[m++]; + mu[i][1] = buf[m++]; + mu[i][2] = buf[m++]; + mu[i][3] = buf[m++]; + area[i] = buf[m++]; + ed[i] = buf[m++]; + em[i] = buf[m++]; + epsilon[i] = buf[m++]; + q_real[i] = buf[m++]; + curvature[i] = buf[m++]; + } + return m; +} + +/* ---------------------------------------------------------------------- + pack all atom quantities for shipping to another proc + xyz must be 1st 3 values, so that comm::exchange can test on them +------------------------------------------------------------------------- */ + +int AtomVecDielectric::pack_exchange(int i, double *buf) +{ + int k; + + int m = 1; + buf[m++] = x[i][0]; + buf[m++] = x[i][1]; + buf[m++] = x[i][2]; + buf[m++] = v[i][0]; + buf[m++] = v[i][1]; + buf[m++] = v[i][2]; + buf[m++] = ubuf(tag[i]).d; + buf[m++] = ubuf(type[i]).d; + buf[m++] = ubuf(mask[i]).d; + buf[m++] = ubuf(image[i]).d; + + buf[m++] = ubuf(molecule[i]).d; + + buf[m++] = q[i]; + buf[m++] = mu[i][0]; + buf[m++] = mu[i][1]; + buf[m++] = mu[i][2]; + buf[m++] = mu[i][3]; + buf[m++] = area[i]; + buf[m++] = ed[i]; + buf[m++] = em[i]; + buf[m++] = epsilon[i]; + buf[m++] = q_real[i]; + buf[m++] = curvature[i]; + + buf[m++] = ubuf(num_bond[i]).d; + for (k = 0; k < num_bond[i]; k++) { + buf[m++] = ubuf(bond_type[i][k]).d; + buf[m++] = ubuf(bond_atom[i][k]).d; + } + + buf[m++] = ubuf(num_angle[i]).d; + for (k = 0; k < num_angle[i]; k++) { + buf[m++] = ubuf(angle_type[i][k]).d; + buf[m++] = ubuf(angle_atom1[i][k]).d; + buf[m++] = ubuf(angle_atom2[i][k]).d; + buf[m++] = ubuf(angle_atom3[i][k]).d; + } + + buf[m++] = ubuf(num_dihedral[i]).d; + for (k = 0; k < num_dihedral[i]; k++) { + buf[m++] = ubuf(dihedral_type[i][k]).d; + buf[m++] = ubuf(dihedral_atom1[i][k]).d; + buf[m++] = ubuf(dihedral_atom2[i][k]).d; + buf[m++] = ubuf(dihedral_atom3[i][k]).d; + buf[m++] = ubuf(dihedral_atom4[i][k]).d; + } + + buf[m++] = ubuf(num_improper[i]).d; + for (k = 0; k < num_improper[i]; k++) { + buf[m++] = ubuf(improper_type[i][k]).d; + buf[m++] = ubuf(improper_atom1[i][k]).d; + buf[m++] = ubuf(improper_atom2[i][k]).d; + buf[m++] = ubuf(improper_atom3[i][k]).d; + buf[m++] = ubuf(improper_atom4[i][k]).d; + } + + buf[m++] = ubuf(nspecial[i][0]).d; + buf[m++] = ubuf(nspecial[i][1]).d; + buf[m++] = ubuf(nspecial[i][2]).d; + for (k = 0; k < nspecial[i][2]; k++) buf[m++] = ubuf(special[i][k]).d; + + if (atom->nextra_grow) + for (int iextra = 0; iextra < atom->nextra_grow; iextra++) + m += modify->fix[atom->extra_grow[iextra]]->pack_exchange(i,&buf[m]); + + buf[0] = m; + return m; +} + +/* ---------------------------------------------------------------------- */ + +int AtomVecDielectric::unpack_exchange(double *buf) +{ + int k; + + int nlocal = atom->nlocal; + if (nlocal == nmax) grow(0); + + int m = 1; + x[nlocal][0] = buf[m++]; + x[nlocal][1] = buf[m++]; + x[nlocal][2] = buf[m++]; + v[nlocal][0] = buf[m++]; + v[nlocal][1] = buf[m++]; + v[nlocal][2] = buf[m++]; + tag[nlocal] = (tagint) ubuf(buf[m++]).i; + type[nlocal] = (int) ubuf(buf[m++]).i; + mask[nlocal] = (int) ubuf(buf[m++]).i; + image[nlocal] = (imageint) ubuf(buf[m++]).i; + + molecule[nlocal] = (tagint) ubuf(buf[m++]).i; + + q[nlocal] = buf[m++]; + mu[nlocal][0] = buf[m++]; + mu[nlocal][1] = buf[m++]; + mu[nlocal][2] = buf[m++]; + mu[nlocal][3] = buf[m++]; + area[nlocal] = buf[m++]; + ed[nlocal] = buf[m++]; + em[nlocal] = buf[m++]; + epsilon[nlocal] = buf[m++]; + q_real[nlocal] = buf[m++]; + curvature[nlocal] = buf[m++]; + + num_bond[nlocal] = (int) ubuf(buf[m++]).i; + for (k = 0; k < num_bond[nlocal]; k++) { + bond_type[nlocal][k] = (int) ubuf(buf[m++]).i; + bond_atom[nlocal][k] = (tagint) ubuf(buf[m++]).i; + } + + num_angle[nlocal] = (int) ubuf(buf[m++]).i; + for (k = 0; k < num_angle[nlocal]; k++) { + angle_type[nlocal][k] = (int) ubuf(buf[m++]).i; + angle_atom1[nlocal][k] = (tagint) ubuf(buf[m++]).i; + angle_atom2[nlocal][k] = (tagint) ubuf(buf[m++]).i; + angle_atom3[nlocal][k] = (tagint) ubuf(buf[m++]).i; + } + + num_dihedral[nlocal] = (int) ubuf(buf[m++]).i; + for (k = 0; k < num_dihedral[nlocal]; k++) { + dihedral_type[nlocal][k] = (int) ubuf(buf[m++]).i; + dihedral_atom1[nlocal][k] = (tagint) ubuf(buf[m++]).i; + dihedral_atom2[nlocal][k] = (tagint) ubuf(buf[m++]).i; + dihedral_atom3[nlocal][k] = (tagint) ubuf(buf[m++]).i; + dihedral_atom4[nlocal][k] = (tagint) ubuf(buf[m++]).i; + } + + num_improper[nlocal] = (int) ubuf(buf[m++]).i; + for (k = 0; k < num_improper[nlocal]; k++) { + improper_type[nlocal][k] = (int) ubuf(buf[m++]).i; + improper_atom1[nlocal][k] = (tagint) ubuf(buf[m++]).i; + improper_atom2[nlocal][k] = (tagint) ubuf(buf[m++]).i; + improper_atom3[nlocal][k] = (tagint) ubuf(buf[m++]).i; + improper_atom4[nlocal][k] = (tagint) ubuf(buf[m++]).i; + } + + nspecial[nlocal][0] = (int) ubuf(buf[m++]).i; + nspecial[nlocal][1] = (int) ubuf(buf[m++]).i; + nspecial[nlocal][2] = (int) ubuf(buf[m++]).i; + for (k = 0; k < nspecial[nlocal][2]; k++) + special[nlocal][k] = (tagint) ubuf(buf[m++]).i; + + if (atom->nextra_grow) + for (int iextra = 0; iextra < atom->nextra_grow; iextra++) + m += modify->fix[atom->extra_grow[iextra]]-> + unpack_exchange(nlocal,&buf[m]); + + atom->nlocal++; + return m; +} + +/* ---------------------------------------------------------------------- + size of restart data for all atoms owned by this proc + include extra data stored by fixes +------------------------------------------------------------------------- */ + +int AtomVecDielectric::size_restart() +{ + int i; + + int nlocal = atom->nlocal; + int n = 0; + // n is calculated from pack_restart: similar to full (17) + // 17 = 3 for x[], 4 for (tag, type, mask, image), 3 for v[], 1 for molecule ID, 1 for q, + // 4 for num bonds/angles/dihedrals/impropers and 1 for the first element (buf[0]) + // plus 10 = 4 for mu (norm) and 6 (area, ed, em, epsilon, q_real, curvature) + // totaling 27 + for (i = 0; i < nlocal; i++) + n += 27 + 2*num_bond[i] + 4*num_angle[i] + + 5*num_dihedral[i] + 5*num_improper[i]; + + if (atom->nextra_restart) + for (int iextra = 0; iextra < atom->nextra_restart; iextra++) + for (i = 0; i < nlocal; i++) + n += modify->fix[atom->extra_restart[iextra]]->size_restart(i); + + return n; +} + +/* ---------------------------------------------------------------------- + pack atom I's data for restart file including extra quantities + xyz must be 1st 3 values, so that read_restart can test on them + molecular types may be negative, but write as positive +------------------------------------------------------------------------- */ + +int AtomVecDielectric::pack_restart(int i, double *buf) +{ + int k; + + int m = 1; + buf[m++] = x[i][0]; + buf[m++] = x[i][1]; + buf[m++] = x[i][2]; + buf[m++] = ubuf(tag[i]).d; + buf[m++] = ubuf(type[i]).d; + buf[m++] = ubuf(mask[i]).d; + buf[m++] = ubuf(image[i]).d; + buf[m++] = v[i][0]; + buf[m++] = v[i][1]; + buf[m++] = v[i][2]; + buf[m++] = ubuf(molecule[i]).d; + + buf[m++] = q[i]; + buf[m++] = mu[i][0]; + buf[m++] = mu[i][1]; + buf[m++] = mu[i][2]; + buf[m++] = mu[i][3]; + buf[m++] = area[i]; + buf[m++] = ed[i]; + buf[m++] = em[i]; + buf[m++] = epsilon[i]; + buf[m++] = q_real[i]; + buf[m++] = curvature[i]; + + buf[m++] = ubuf(num_bond[i]).d; + for (k = 0; k < num_bond[i]; k++) { + buf[m++] = ubuf(MAX(bond_type[i][k],-bond_type[i][k])).d; + buf[m++] = ubuf(bond_atom[i][k]).d; + } + + buf[m++] = ubuf(num_angle[i]).d; + for (k = 0; k < num_angle[i]; k++) { + buf[m++] = ubuf(MAX(angle_type[i][k],-angle_type[i][k])).d; + buf[m++] = ubuf(angle_atom1[i][k]).d; + buf[m++] = ubuf(angle_atom2[i][k]).d; + buf[m++] = ubuf(angle_atom3[i][k]).d; + } + + buf[m++] = ubuf(num_dihedral[i]).d; + for (k = 0; k < num_dihedral[i]; k++) { + buf[m++] = ubuf(MAX(dihedral_type[i][k],-dihedral_type[i][k])).d; + buf[m++] = ubuf(dihedral_atom1[i][k]).d; + buf[m++] = ubuf(dihedral_atom2[i][k]).d; + buf[m++] = ubuf(dihedral_atom3[i][k]).d; + buf[m++] = ubuf(dihedral_atom4[i][k]).d; + } + + buf[m++] = ubuf(num_improper[i]).d; + for (k = 0; k < num_improper[i]; k++) { + buf[m++] = ubuf(MAX(improper_type[i][k],-improper_type[i][k])).d; + buf[m++] = ubuf(improper_atom1[i][k]).d; + buf[m++] = ubuf(improper_atom2[i][k]).d; + buf[m++] = ubuf(improper_atom3[i][k]).d; + buf[m++] = ubuf(improper_atom4[i][k]).d; + } + + if (atom->nextra_restart) + for (int iextra = 0; iextra < atom->nextra_restart; iextra++) + m += modify->fix[atom->extra_restart[iextra]]->pack_restart(i,&buf[m]); + + buf[0] = m; + return m; +} + +/* ---------------------------------------------------------------------- + unpack data for one atom from restart file including extra quantities +------------------------------------------------------------------------- */ + +int AtomVecDielectric::unpack_restart(double *buf) +{ + int k; + + int nlocal = atom->nlocal; + if (nlocal == nmax) { + grow(0); + if (atom->nextra_store) + memory->grow(atom->extra,nmax,atom->nextra_store,"atom:extra"); + } + + int m = 1; + x[nlocal][0] = buf[m++]; + x[nlocal][1] = buf[m++]; + x[nlocal][2] = buf[m++]; + tag[nlocal] = (tagint) ubuf(buf[m++]).i; + type[nlocal] = (int) ubuf(buf[m++]).i; + mask[nlocal] = (int) ubuf(buf[m++]).i; + image[nlocal] = (imageint) ubuf(buf[m++]).i; + v[nlocal][0] = buf[m++]; + v[nlocal][1] = buf[m++]; + v[nlocal][2] = buf[m++]; + + molecule[nlocal] = (tagint) ubuf(buf[m++]).i; + + q[nlocal] = buf[m++]; + mu[nlocal][0] = buf[m++]; + mu[nlocal][1] = buf[m++]; + mu[nlocal][2] = buf[m++]; + mu[nlocal][3] = buf[m++]; + area[nlocal] = buf[m++]; + ed[nlocal] = buf[m++]; + em[nlocal] = buf[m++]; + epsilon[nlocal] = buf[m++]; + q_real[nlocal] = buf[m++]; + curvature[nlocal] = buf[m++]; + + num_bond[nlocal] = (int) ubuf(buf[m++]).i; + for (k = 0; k < num_bond[nlocal]; k++) { + bond_type[nlocal][k] = (int) ubuf(buf[m++]).i; + bond_atom[nlocal][k] = (tagint) ubuf(buf[m++]).i; + } + + num_angle[nlocal] = (int) ubuf(buf[m++]).i; + for (k = 0; k < num_angle[nlocal]; k++) { + angle_type[nlocal][k] = (int) ubuf(buf[m++]).i; + angle_atom1[nlocal][k] = (tagint) ubuf(buf[m++]).i; + angle_atom2[nlocal][k] = (tagint) ubuf(buf[m++]).i; + angle_atom3[nlocal][k] = (tagint) ubuf(buf[m++]).i; + } + + num_dihedral[nlocal] = (int) ubuf(buf[m++]).i; + for (k = 0; k < num_dihedral[nlocal]; k++) { + dihedral_type[nlocal][k] = (int) ubuf(buf[m++]).i; + dihedral_atom1[nlocal][k] = (tagint) ubuf(buf[m++]).i; + dihedral_atom2[nlocal][k] = (tagint) ubuf(buf[m++]).i; + dihedral_atom3[nlocal][k] = (tagint) ubuf(buf[m++]).i; + dihedral_atom4[nlocal][k] = (tagint) ubuf(buf[m++]).i; + } + + num_improper[nlocal] = (int) ubuf(buf[m++]).i; + for (k = 0; k < num_improper[nlocal]; k++) { + improper_type[nlocal][k] = (int) ubuf(buf[m++]).i; + improper_atom1[nlocal][k] = (tagint) ubuf(buf[m++]).i; + improper_atom2[nlocal][k] = (tagint) ubuf(buf[m++]).i; + improper_atom3[nlocal][k] = (tagint) ubuf(buf[m++]).i; + improper_atom4[nlocal][k] = (tagint) ubuf(buf[m++]).i; + } + + nspecial[nlocal][0] = nspecial[nlocal][1] = nspecial[nlocal][2] = 0; + + double **extra = atom->extra; + if (atom->nextra_store) { + int size = static_cast (buf[0]) - m; + for (int i = 0; i < size; i++) extra[nlocal][i] = buf[m++]; + } + + atom->nlocal++; + return m; +} + +/* ---------------------------------------------------------------------- + create one atom of itype at coord + set other values to defaults +------------------------------------------------------------------------- */ + +void AtomVecDielectric::create_atom(int itype, double *coord) +{ + int nlocal = atom->nlocal; + if (nlocal == nmax) grow(0); + + tag[nlocal] = 0; + type[nlocal] = itype; + x[nlocal][0] = coord[0]; + x[nlocal][1] = coord[1]; + x[nlocal][2] = coord[2]; + mask[nlocal] = 1; + image[nlocal] = ((imageint) IMGMAX << IMG2BITS) | + ((imageint) IMGMAX << IMGBITS) | IMGMAX; + v[nlocal][0] = 0.0; + v[nlocal][1] = 0.0; + v[nlocal][2] = 0.0; + + q[nlocal] = 0.0; + mu[nlocal][0] = 0.0; + mu[nlocal][1] = 0.0; + mu[nlocal][2] = 1.0; + mu[nlocal][3] = 1.0; + area[nlocal] = 1.0; + ed[nlocal] = 0.0; + em[nlocal] = 1.0; + epsilon[nlocal] = 1.0; + q_real[nlocal] = 0.0; + curvature[nlocal] = 0.0; + + molecule[nlocal] = 0; + num_bond[nlocal] = 0; + num_angle[nlocal] = 0; + num_dihedral[nlocal] = 0; + num_improper[nlocal] = 0; + nspecial[nlocal][0] = nspecial[nlocal][1] = nspecial[nlocal][2] = 0; + + atom->nlocal++; +} + +/* ---------------------------------------------------------------------- + unpack one line from Atoms section of data file + initialize other atom quantities +------------------------------------------------------------------------- */ + +void AtomVecDielectric::data_atom(double *coord, imageint imagetmp, char **values) +{ + int nlocal = atom->nlocal; + if (nlocal == nmax) grow(0); + + tag[nlocal] = ATOTAGINT(values[0]); + molecule[nlocal] = ATOTAGINT(values[1]); + type[nlocal] = atoi(values[2]); + if (type[nlocal] <= 0 || type[nlocal] > atom->ntypes) + error->one(FLERR,"Invalid atom type in Atoms section of data file"); + + q_real[nlocal] = atof(values[3]); + + x[nlocal][0] = coord[0]; + x[nlocal][1] = coord[1]; + x[nlocal][2] = coord[2]; + + mu[nlocal][0] = atof(values[7]); + mu[nlocal][1] = atof(values[8]); + mu[nlocal][2] = atof(values[9]); + mu[nlocal][3] = 1; + + area[nlocal] = atof(values[10]); + ed[nlocal] = atof(values[11]); + em[nlocal] = atof(values[12]); + epsilon[nlocal] = atof(values[13]); + curvature[nlocal] = atof(values[14]); + q[nlocal] = q_real[nlocal] / epsilon[nlocal]; + + image[nlocal] = imagetmp; + + mask[nlocal] = 1; + v[nlocal][0] = 0.0; + v[nlocal][1] = 0.0; + v[nlocal][2] = 0.0; + num_bond[nlocal] = 0; + num_angle[nlocal] = 0; + num_dihedral[nlocal] = 0; + num_improper[nlocal] = 0; + + atom->nlocal++; +} + +/* ---------------------------------------------------------------------- + unpack hybrid quantities from one line in Atoms section of data file + initialize other atom quantities for this sub-style +------------------------------------------------------------------------- */ + +int AtomVecDielectric::data_atom_hybrid(int nlocal, char **values) +{ + molecule[nlocal] = ATOTAGINT(values[0]); + q_real[nlocal] = atof(values[1]); + mu[nlocal][0] = atof(values[2]); + mu[nlocal][1] = atof(values[3]); + mu[nlocal][2] = atof(values[4]); + mu[nlocal][3] = 1; + area[nlocal] = atof(values[5]); + ed[nlocal] = atof(values[6]); + em[nlocal] = atof(values[7]); + epsilon[nlocal] = atof(values[8]); + curvature[nlocal] = atof(values[9]); + q[nlocal] = q_real[nlocal] / epsilon[nlocal]; + + num_bond[nlocal] = 0; + num_angle[nlocal] = 0; + num_dihedral[nlocal] = 0; + num_improper[nlocal] = 0; + + return 10; +} + +/* ---------------------------------------------------------------------- + pack atom info for data file including 3 image flags +------------------------------------------------------------------------- */ + +void AtomVecDielectric::pack_data(double **buf) +{ + int nlocal = atom->nlocal; + for (int i = 0; i < nlocal; i++) { + buf[i][0] = ubuf(tag[i]).d; + buf[i][1] = ubuf(molecule[i]).d; + buf[i][2] = ubuf(type[i]).d; + buf[i][3] = q[i]; + buf[i][4] = x[i][0]; + buf[i][5] = x[i][1]; + buf[i][6] = x[i][2]; + buf[i][7] = mu[i][0]; + buf[i][8] = mu[i][1]; + buf[i][9] = mu[i][2]; + buf[i][10] = area[i]; + buf[i][11] = ed[i]; + buf[i][12] = em[i]; + buf[i][13] = epsilon[i]; + buf[i][14] = curvature[i]; + buf[i][15] = ubuf((image[i] & IMGMASK) - IMGMAX).d; + buf[i][16] = ubuf((image[i] >> IMGBITS & IMGMASK) - IMGMAX).d; + buf[i][17] = ubuf((image[i] >> IMG2BITS) - IMGMAX).d; + } +} + +/* ---------------------------------------------------------------------- + pack hybrid atom info for data file +------------------------------------------------------------------------- */ + +int AtomVecDielectric::pack_data_hybrid(int i, double *buf) +{ + buf[0] = ubuf(molecule[i]).d; + buf[1] = q[i]; + buf[2] = mu[i][0]; + buf[3] = mu[i][1]; + buf[4] = mu[i][2]; + buf[5] = area[i]; + buf[6] = ed[i]; + buf[7] = em[i]; + buf[8] = epsilon[i]; + buf[9] = q_real[i]; + buf[10] = curvature[i]; + return 11; +} + +/* ---------------------------------------------------------------------- + write atom info to data file including 3 image flags +------------------------------------------------------------------------- */ + +void AtomVecDielectric::write_data(FILE *fp, int n, double **buf) +{ + for (int i = 0; i < n; i++) + fprintf(fp,TAGINT_FORMAT " " TAGINT_FORMAT +// " %d %-1.16e %-1.16e %-1.16e %-1.16e %-1.16e %-1.16e " +// "%-1.16e %-1.16e %-1.16e %-1.16e %-1.16e %-1.16e %-1.16e %d %d %d\n", + " %d %g %g %g %g %g %g " + "%g %g %g %g %g %g %d %d %d\n", + (tagint) ubuf(buf[i][0]).i,(tagint) ubuf(buf[i][1]).i, (int) ubuf(buf[i][2]).i, + buf[i][3],buf[i][4],buf[i][5], buf[i][6],buf[i][7],buf[i][8], + buf[i][9],buf[i][10],buf[i][11], buf[i][12], buf[i][13], buf[i][14], + (int) ubuf(buf[i][15]).i,(int) ubuf(buf[i][16]).i, + (int) ubuf(buf[i][17]).i); +} + +/* ---------------------------------------------------------------------- + write hybrid atom info to data file +------------------------------------------------------------------------- */ + +int AtomVecDielectric::write_data_hybrid(FILE *fp, double *buf) +{ + fprintf(fp, TAGINT_FORMAT + " %-1.16e %-1.16e %-1.16e %-1.16e %-1.16 %-1.16e %-1.16e %-1.16e %-1.16e %-1.16e", + buf[0],buf[1],buf[2],buf[3],buf[4],buf[5],buf[6],buf[7],buf[8], buf[9], buf[10]); + return 11; +} + +/* ---------------------------------------------------------------------- + return # of bytes of allocated memory +------------------------------------------------------------------------- */ + +bigint AtomVecDielectric::memory_usage() +{ + bigint bytes = AtomVecFull::memory_usage(); + + if (atom->memcheck("mu")) bytes += memory->usage(mu,nmax,4); + + if (atom->memcheck("area")) bytes += memory->usage(area,nmax); + if (atom->memcheck("ed")) bytes += memory->usage(ed,nmax); + if (atom->memcheck("em")) bytes += memory->usage(em,nmax); + if (atom->memcheck("epsilon")) bytes += memory->usage(epsilon,nmax); + if (atom->memcheck("q_real")) bytes += memory->usage(q_real,nmax); + if (atom->memcheck("curvature")) bytes += memory->usage(curvature,nmax); + + return bytes; +} diff --git a/src/USER-DIELECTRIC/atom_vec_dielectric.h b/src/USER-DIELECTRIC/atom_vec_dielectric.h new file mode 100644 index 0000000000..bb932daeb0 --- /dev/null +++ b/src/USER-DIELECTRIC/atom_vec_dielectric.h @@ -0,0 +1,89 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef ATOM_CLASS + +AtomStyle(dielectric,AtomVecDielectric) + +#else + +#ifndef LMP_ATOM_VEC_DIELECTRIC_H +#define LMP_ATOM_VEC_DIELECTRIC_H + +#include "atom_vec_full.h" + +namespace LAMMPS_NS { + +class AtomVecDielectric : public AtomVecFull { + public: + AtomVecDielectric(class LAMMPS *); + ~AtomVecDielectric(); + void grow(int); + void grow_reset(); + + void copy(int, int, int); + int pack_comm(int, int *, double *, int, int *); + int pack_comm_vel(int, int *, double *, int, int *); + int pack_comm_hybrid(int, int *, double *); + void unpack_comm(int, int, double *); + void unpack_comm_vel(int, int, double *); + int unpack_comm_hybrid(int, int, double *); + int pack_reverse(int, int, double *); + void unpack_reverse(int, int *, double *); + int pack_border(int, int *, double *, int, int *); + int pack_border_vel(int, int *, double *, int, int *); + int pack_border_hybrid(int, int *, double *); + void unpack_border(int, int, double *); + void unpack_border_vel(int, int, double *); + int unpack_border_hybrid(int, int, double *); + int pack_exchange(int, double *); + int unpack_exchange(double *); + int size_restart(); + int pack_restart(int, double *); + int unpack_restart(double *); + void create_atom(int, double *); + void data_atom(double *, imageint, char **); + int data_atom_hybrid(int, char **); + void pack_data(double **); + int pack_data_hybrid(int, double *); + void write_data(FILE *, int, double **); + int write_data_hybrid(FILE *, double *); + bigint memory_usage(); + + public: + double **mu; // normal vector at the patch + double *area; // patch area + double *em; // mean dielectric constant at the patch + double *ed; // difference in dielectric constants at the patch + double *epsilon; // dielectric at the patch and real charges + double *curvature; // curvature at the patch + double *q_real; // unscaled charge: q_real = value read in from data file +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +E: Per-processor system is too big + +The number of owned atoms plus ghost atoms on a single +processor must fit in 32-bit integer. + +E: Invalid atom type in Atoms section of data file + +Atom types must range from 1 to specified # of types. + +*/ diff --git a/src/USER-DIELECTRIC/fix_polarize_bem_gmres.cpp b/src/USER-DIELECTRIC/fix_polarize_bem_gmres.cpp new file mode 100644 index 0000000000..60c0056672 --- /dev/null +++ b/src/USER-DIELECTRIC/fix_polarize_bem_gmres.cpp @@ -0,0 +1,959 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Boundary element method for the Poisson equation for surface induced charges + using GMRES + + Reference: Barros, Sinkovits, Luijten, J. Chem. Phys 2014, 140, 064903 + Contributing author: Trung Nguyen (Northwestern) + + GMRES solver: + Original C version by Lili Ju. + C++ version by John Burkardt. + Adapted to the version where A is an operator and (b-Ax) is computed directly + by Trung Nguyen. + + Richard Barrett, Michael Berry, Tony Chan, James Demmel, + June Donato, Jack Dongarra, Victor Eijkhout, Roidan Pozo, + Charles Romine, Henk van der Vorst, + Templates for the Solution of Linear Systems: + Building Blocks for Iterative Methods, + SIAM, 1994, + ISBN: 0898714710, + LC: QA297.8.T45. + + Tim Kelley, + Iterative Methods for Linear and Nonlinear Equations, + SIAM, 2004, + ISBN: 0898713528, + LC: QA297.8.K45. +------------------------------------------------------------------------- */ + +#include +#include +#include "fix_polarize_bem_gmres.h" +#include "atom_vec_dielectric.h" +#include "update.h" +#include "atom.h" +#include "comm.h" +#include "domain.h" +#include "neighbor.h" +#include "force.h" +#include "group.h" +#include "kspace.h" +#include "memory.h" +#include "modify.h" +#include "math_const.h" +#include "pair_coul_cut_dielectric.h" +#include "pair_coul_long_dielectric.h" +#include "pair_lj_cut_coul_cut_dielectric.h" +#include "pair_lj_cut_coul_long_dielectric.h" +#include "pair_lj_cut_coul_msm_dielectric.h" +#include "pppm_dielectric.h" +#include "msm_dielectric.h" +#include "random_park.h" +#include "timer.h" +#include "error.h" + +using namespace LAMMPS_NS; +using namespace FixConst; +using namespace MathConst; + +//#define _POLARIZE_DEBUG + +/* ---------------------------------------------------------------------- */ + +FixPolarizeBEMGMRES::FixPolarizeBEMGMRES(LAMMPS *lmp, int narg, char **arg) : + Fix(lmp, narg, arg), + q_backup(NULL), c(NULL), g(NULL), h(NULL), r(NULL), s(NULL), v(NULL), y(NULL) +{ + if (narg < 5) error->all(FLERR,"Illegal fix polarize/bem/gmres command"); + + avec = (AtomVecDielectric *) atom->style_match("dielectric"); + if (!avec) error->all(FLERR,"Fix polarize requires atom style dielectric"); + + // parse required arguments + + nevery = force->inumeric(FLERR,arg[3]); + if (nevery < 0) error->all(FLERR,"Illegal fix polarize/bem/gmres command"); + double tol = force->numeric(FLERR,arg[4]); + tol_abs = tol_rel = tol; + + itr_max = 20; + mr = 0; + randomized = 0; + ave_charge = 0; + + efield_pair = NULL; + efield_kspace = NULL; + + comm_forward = 1; + nmax = 0; + allocated = 0; + kspaceflag = 0; + + induced_charge_idx = NULL; + induced_charges = NULL; + rhs = NULL; + buffer = NULL; + tag2mat = NULL; + mat2tag = NULL; + + // set flags for arrays to clear in force_clear() + + torqueflag = extraflag = 0; + if (atom->torque_flag) torqueflag = 1; + if (atom->avec->forceclearflag) extraflag = 1; + + grow_arrays(atom->nmax); + atom->add_callback(0); // to ensure to work with atom->sort() + + // output the residual and actual number of iterations + + global_freq = 1; + vector_flag = 1; + size_vector = 2; + extvector = 0; +} + +/* ---------------------------------------------------------------------- */ + +FixPolarizeBEMGMRES::~FixPolarizeBEMGMRES() +{ + memory->destroy(q_backup); + memory->destroy(induced_charge_idx); + memory->destroy(induced_charges); + memory->destroy(rhs); + memory->destroy(buffer); + memory->destroy(mat2tag); + memory->destroy(tag2mat); + + if (allocated) deallocate(); + atom->delete_callback(id,0); +} + +/* ---------------------------------------------------------------------- */ + +int FixPolarizeBEMGMRES::setmask() +{ + int mask = 0; + mask |= PRE_FORCE; + mask |= THERMO_ENERGY; + return mask; +} + +/* ---------------------------------------------------------------------- */ + +void FixPolarizeBEMGMRES::init() +{ + // mapping induced charge matrix/vector to atom tags and vice versa + + int i,maxtag; + double *q = atom->q; + int *mask = atom->mask; + tagint *tag = atom->tag; + int nlocal = atom->nlocal; + + tagint max_tag = -1; + for (i = 0; i < nlocal; i++) + if (mask[i] & groupbit) max_tag = MAX(max_tag,tag[i]); + + tagint itmp; + MPI_Allreduce(&max_tag,&itmp,1,MPI_LMP_TAGINT,MPI_MAX,world); + maxtag = (int) itmp; + + int *ncount; + memory->create(ncount,maxtag+1,"polarize:ncount"); + for (i = 0; i <= maxtag; i++) ncount[i] = 0; + + for (i = 0; i < nlocal; i++) + if (mask[i] & groupbit) ncount[tag[i]]++; + + memory->create(tag2mat,maxtag+1,"polarize:tag2mat"); + MPI_Allreduce(ncount,tag2mat,maxtag+1,MPI_INT,MPI_SUM,world); + + num_induced_charges = 0; + for (i = 0; i <= maxtag; i++) + if (tag2mat[i]) tag2mat[i] = num_induced_charges++; + else tag2mat[i] = -1; + + memory->create(mat2tag,num_induced_charges,"polarize:mat2tag"); + + num_induced_charges = 0; + for (i = 0; i <= maxtag; i++) + if (tag2mat[i] >= 0) mat2tag[num_induced_charges++] = i; + + for (i = 0; i < nlocal; i++) { + induced_charge_idx[i] = -1; + if (mask[i] & groupbit) induced_charge_idx[i] = tag2mat[tag[i]]; + } + + memory->destroy(ncount); + + // allocate memory for the solver + + memory->create(induced_charges,num_induced_charges,"polarize:induced_charges"); + memory->create(rhs,num_induced_charges,"polarize:rhs"); + memory->create(buffer,num_induced_charges,"polarize:buffer"); + + mat_dim = num_induced_charges; + if (mr > mat_dim - 1 || mr <= 0) mr = mat_dim - 1; + + if (allocated == 0) { + allocate(); + allocated = 1; + } + + // initialize random induced charges with zero sum + + if (randomized) { + + RanPark *random = new RanPark(lmp,seed_charge + comm->me); + for (i = 0; i < 100; i++) random->uniform(); + double sum,tmp = 0; + for (i = 0; i < nlocal; i++) { + if (induced_charge_idx[i] < 0) continue; + q[i] = ave_charge*(random->uniform() - 0.5); + tmp += q[i]; + } + MPI_Allreduce(&tmp,&sum,1,MPI_DOUBLE,MPI_SUM,world); + sum /= (double)num_induced_charges; + + tmp = 0; + for (i = 0; i < nlocal; i++) { + if (induced_charge_idx[i] < 0) continue; + q[i] -= sum; + tmp += q[i]; + } + MPI_Allreduce(&tmp,&sum,1,MPI_DOUBLE,MPI_SUM,world); + + if (comm->me == 0) { + if (screen) fprintf(screen, "ave induced charge q = %g\n", sum); + } + delete random; + } + + if (comm->me == 0) { + if (screen) fprintf(screen,"GMRES solver for %d induced charges " + "using maximum %d q-vectors\n",num_induced_charges,mr); + if (logfile) fprintf(logfile,"GMRES solver for %d induced charges " + "using maximum %d q-vectors\n",num_induced_charges,mr); + } +} + +/* ---------------------------------------------------------------------- */ + +void FixPolarizeBEMGMRES::setup(int vflag) +{ + // check if the pair styles in use are compatible + + if (strcmp(force->pair_style,"lj/cut/coul/long/dielectric") == 0) + efield_pair = ((PairLJCutCoulLongDielectric*)force->pair)->efield; + else if (strcmp(force->pair_style,"lj/cut/coul/long/dielectric/omp") == 0) + efield_pair = ((PairLJCutCoulLongDielectric*)force->pair)->efield; + else if (strcmp(force->pair_style,"lj/cut/coul/msm/dielectric") == 0) + efield_pair = ((PairLJCutCoulMSMDielectric*)force->pair)->efield; + else if (strcmp(force->pair_style,"lj/cut/coul/cut/dielectric") == 0) + efield_pair = ((PairLJCutCoulCutDielectric*)force->pair)->efield; + else if (strcmp(force->pair_style,"lj/cut/coul/cut/dielectric/omp") == 0) + efield_pair = ((PairLJCutCoulCutDielectric*)force->pair)->efield; + else if (strcmp(force->pair_style,"coul/long/dielectric") == 0) + efield_pair = ((PairCoulLongDielectric*)force->pair)->efield; + else if (strcmp(force->pair_style,"coul/cut/dielectric") == 0) + efield_pair = ((PairCoulCutDielectric*)force->pair)->efield; + else error->all(FLERR,"Pair style not compatible with fix polarize"); + + if (kspaceflag) { + if (force->kspace) { + if (strcmp(force->kspace_style,"pppm/dielectric") == 0) + efield_kspace = ((PPPMDielectric*)force->kspace)->efield; + else if (strcmp(force->kspace_style,"msm/dielectric") == 0) + efield_kspace = ((MSMDielectric*)force->kspace)->efield; + else error->all(FLERR,"Kspace style not compatible with fix polarize/bem/gmres"); + } else error->all(FLERR,"No Kspace style available for fix polarize/bem/gmres"); + } + + first = 1; + compute_induced_charges(); +} + +/* ---------------------------------------------------------------------- */ + +void FixPolarizeBEMGMRES::pre_force(int) +{ + if (nevery == 0) return; + if (update->ntimestep % nevery) return; + + compute_induced_charges(); + + // make sure forces are reset to zero before actual forces are computed + + force_clear(); +} + +/* ---------------------------------------------------------------------- */ + +void FixPolarizeBEMGMRES::compute_induced_charges() +{ + double *q = atom->q; + double *q_real = avec->q_real; + double **norm = avec->mu; + double *area = avec->area; + double *ed = avec->ed; + double *em = avec->em; + double *epsilon = avec->epsilon; + int *mask = atom->mask; + int nlocal = atom->nlocal; + double epsilon0 = force->dielectric; + int eflag = 0; + int vflag = 0; + + // compute the right hand side (vector b) of Eq. (40) according to Eq. (42) + // keep the scaled real charges intact here to compute efield for the right hand side (b) + // and backup all the charges + // for induced charges q_real stores the free surface charge + // set the induced charges to be zero to compute the right hand side (b) + // the current value can be accessed via induced_charges[induced_charge_idx[i]] + + for (int i = 0; i < nlocal; i++) { + q_backup[i] = q[i]; + if (induced_charge_idx[i] >= 0) q[i] = 0; + } + + comm->forward_comm_fix(this); + + // note here q[i] are the bound charges including area + // so that kspace solver can be used directly with the charge values + // for the moment, require that newton off and full neighbor list for pair + // Note that in the definition of the electrical fields in Equations (41) and (53) + // in Ref. Barros et al there is a factor 1/(4pi), and + // that these are the electrical field is due to the rescaled real charges + // Note: the right-hand side (b) is in the unit of charge density + + force_clear(); + force->pair->compute(eflag,vflag); + if (kspaceflag) force->kspace->compute(eflag,vflag); + if (force->newton) comm->reverse_comm(); + + for (int i = 0; i < num_induced_charges; i++) buffer[i] = 0; + + for (int i = 0; i < nlocal; i++) { + if (induced_charge_idx[i] < 0) continue; + int idx = induced_charge_idx[i]; + if (ed[i] == 0) { + buffer[idx] = 0; + continue; + } + double Ex = efield_pair[i][0]; + double Ey = efield_pair[i][1]; + double Ez = efield_pair[i][2]; + if (kspaceflag) { + Ex += efield_kspace[i][0]; + Ey += efield_kspace[i][1]; + Ez += efield_kspace[i][2]; + } + double dot = (Ex*norm[i][0] + Ey*norm[i][1] + Ez*norm[i][2]) / epsilon[i]; + double sigma_f = q_real[i] / area[i]; + buffer[idx] = (1 - em[i]) * sigma_f - epsilon0 * ed[i] * dot / (4*MY_PI); + } + + MPI_Allreduce(buffer,rhs,num_induced_charges,MPI_DOUBLE,MPI_SUM,world); + + // compute the initial residual r before iteration + // while it seems that assigning induced charges to the last values + // could improve convergence, it's not necessarily the cases + // where the system is evolving or diffusive + // to be defensive here, reset induced charges to zeros + // and initial residual r equal to rhs + + for (int i = 0; i < num_induced_charges; i++) { + induced_charges[i] = 0; + r[i] = rhs[i]; + } + + // get the norm of the right hand side vector + + normb = sqrt(vec_dot(rhs, rhs, num_induced_charges)); + if (normb < tol_abs) return; + + // use the GMRES solver to solve for the induced charges + + gmres_solve(induced_charges, r); + + // set the particle charges in the group to be the induced charges + // restore the charges of the real particles (that are not in the group) + + for (int i = 0; i < nlocal; i++) { + if (induced_charge_idx[i] >= 0) { + int idx = induced_charge_idx[i]; + q[i] = induced_charges[idx]*area[i] + q_real[i]; + } else { + q[i] = q_backup[i]; + } + } + + comm->forward_comm_fix(this); + + if (first) first = 0; + +} + +/* ---------------------------------------------------------------------- */ + +void FixPolarizeBEMGMRES::gmres_solve(double* x, double* r) +{ + int i,j,k,k_copy,n,itr; + double av,htmp,mu,rho_tol; + double delta = 1.0e-03; + + n = mat_dim; + + // compute the relative tolerance + // rho = norm(r) + rho = sqrt( vec_dot(r, r, n) ); + rho_tol = rho * tol_rel; + + // the outer loop to itr_max + // let the compiler optimize the 1d loops + + for (itr = 1; itr <= itr_max; itr++) { + + // the first vector v (i.e. v[0]) is the updated residual normalized + + for (i = 0; i < n; i++) + v[i+0*n] = r[i] / rho; + + g[0] = rho; + for (i = 1; i <= mr; i++) g[i] = 0.0; + + // fill up h with zero + + memset(h, 0, (mr+1)*mr*sizeof(double)); + + // the inner loop k = 1..(n-1) + // build up the k-th Krylov space, + // actually build the Q_k matrix of size n by k, whose the columns are k vectors v(1)...v(k) + // remember that v[0] is computed from the updated residual as above + + for (k = 1; k <= mr; k++) { + k_copy = k; + + // compute v(k) <- a * v(k-1) + // here is the tricky part: v(k-1) plays a role as "charges" + // matvec(a, v+(k-1)*n, v+k*n, n); + + apply_operator(v+(k-1)*n, v+k*n, n); + + // compute the norm of the vector v(k) + + av = sqrt(vec_dot(v+k*n, v+k*n, n)); + + // Arnoldi iteration to find v's + // orthogonalize the k vectors v(1) . . . v(k) + + for (j = 1; j <= k; j++) { + h[(j-1)+(k-1)*(mr+1)] = vec_dot(v+k*n, v+(j-1)*n, n); + for (i = 0; i < n; i++) + v[i+k*n] = v[i+k*n] - h[(j-1)+(k-1)*(mr+1)] * v[i+(j-1)*n]; + } + + // compute the norm of the newly created vector v(k) + + h[k+(k-1)*(mr+1)] = sqrt(vec_dot(v+k*n, v+k*n, n)); + + // if the norm is close to zero, repeat the above orthogonalization + + if ((av + delta * h[k+(k-1)*(mr+1)]) == av) { + for (j = 1; j <= k; j++) { + htmp = vec_dot(v+k*n, v+(j-1)*n, n); + h[(j-1)+(k-1)*(mr+1)] = h[(j-1)+(k-1)*(mr+1)] + htmp; + for (i = 0; i < n; i++) + v[i+k*n] = v[i+k*n] - htmp * v[i+(j-1)*n]; + } + h[k+(k-1)*(mr+1)] = sqrt( vec_dot(v+k*n, v+k*n, n) ); + } + + // if the norm of v(k) is nonzero, normalize v(k) + + if (h[k+(k-1)*(mr+1)] != 0.0) { + for (i = 0; i < n; i++) { + v[i+k*n] = v[i+k*n] / h[k+(k-1)*(mr+1)]; + } + } + + // if k is not the first iteration, + // find the vector y that minimizes the norm of the residual using the least square method + + if (k > 1) { + + // update y(i-1) <- h(k-1, i-1) for i = 1...(k+1) + + for (i = 1; i <= k + 1; i++) + y[i-1] = h[(i-1)+(k-1)*(mr+1)]; + + // apply the Given rotation to y[j-1] and y[j] for j = 1..(k-1) + + for (j = 1; j <= k - 1; j++) + mult_givens(c[j-1], s[j-1], j-1, y); + + // update h(k-1, i-1) <- y(i-1) for i = 1..(k_1) + + for (i = 1; i <= k + 1; i++) + h[i-1+(k-1)*(mr+1)] = y[i-1]; + } + + // compute cosine and sine terms of the Given rotations + + mu = sqrt(h[(k-1)+(k-1)*(mr+1)]*h[(k-1)+(k-1)*(mr+1)] + + h[ k +(k-1)*(mr+1)]*h[ k +(k-1)*(mr+1)]); + c[k-1] = h[(k-1)+(k-1)*(mr+1)] / mu; + s[k-1] = -h[ k +(k-1)*(mr+1)] / mu; + + // update h(k-1,k-1) and set h(k-1,k) to zero + + h[(k-1)+(k-1)*(mr+1)] = c[k-1] * h[(k-1)+(k-1)*(mr+1)] + - s[k-1] * h[ k +(k-1)*(mr+1)]; + h[k +(k-1)*(mr+1)] = 0; + + // apply the Givens rotation to g[k-1] and g[k] + + mult_givens(c[k-1], s[k-1], k-1, g); + + // compute the norm of the residual + + rho = fabs(g[k]); + + #ifdef _POLARIZE_DEBUG + if (comm->me == 0) { + char message[256]; + sprintf(message, "itr = %d: k = %d, norm(r) = %g norm(b) = %g", itr, k, rho, normb); + error->warning(FLERR, message); + } + #endif + + if (rho <= rho_tol && rho <= tol_abs) + break; + } + + k = k_copy - 1; + + // compute the estimate y from h + + y[k] = g[k] / h[k + k*(mr+1)]; + for (i = k; i >= 1; i--) { + y[i-1] = g[i-1]; + for (j = i + 1; j <= k + 1; j++) + y[i-1] = y[i-1] - h[(i-1)+(j-1)*(mr+1)] * y[j-1]; + y[i-1] = y[i-1] / h[(i-1)+(i-1)*(mr+1)]; + } + + // update x at the current iteration: x <- Q(n by k) * y (k by 1) + + for (i = 1; i <= n; i++) { + for (j = 1; j <= k + 1; j++) + x[i-1] = x[i-1] + v[(i-1)+(j-1)*n] * y[j-1]; + } + + // update the residual with the updated induced charges (x) + + update_residual(x, r, n); + + // rho = norm(r) + + rho = sqrt( vec_dot(r, r, n) ); + + #ifdef _POLARIZE_DEBUG + if (comm->me == 0) { + char message[256]; + sprintf(message, "itr = %d: norm(r) = %g norm(b) = %g", itr, rho, normb); + error->warning(FLERR, message); + } + #endif + + // Barros et al. suggested the condition: norm(r) < EPSILON norm(b) + + if (rho < tol_rel * normb) break; + + // general GMRES convergence criteria + + if (rho <= rho_tol && rho <= tol_abs) break; + } + + iterations = itr; +} + +/* ---------------------------------------------------------------------- + compute the result of operator A on a given vector w + matvec(A, v(k-1), v(k), n); +------------------------------------------------------------------------- */ + +void FixPolarizeBEMGMRES::apply_operator(double* w, double* Aw, int n) +{ + int i; + double *q = atom->q; + double **norm = avec->mu; + double *area = avec->area; + double *ed = avec->ed; + double *em = avec->em; + double *epsilon = avec->epsilon; + int *mask = atom->mask; + int nlocal = atom->nlocal; + double epsilon0 = force->dielectric; + int eflag = 0; + int vflag = 0; + + // set the induced charges to be w + // the real charges are set to zero: Aw only involves sigma_b (not sigma_f) + // need not to revert the induced charges + // because update_residual() will set the induced charges anyway + + for (i = 0; i < nlocal; i++) { + if (induced_charge_idx[i] < 0) { + q[i] = 0; + } else { + int idx = induced_charge_idx[i]; + q[i] = w[idx]*area[i]; + } + } + + comm->forward_comm_fix(this); + + // compute the electrical field due to w*area: y = A (w*area) + + force_clear(); + force->pair->compute(eflag,vflag); + if (kspaceflag) force->kspace->compute(eflag,vflag); + if (force->newton) comm->reverse_comm(); + + // now efield is the electrical field due to induced charges only + // Note that in the definition of the electrical fields in Equations (41) and (53) + // in Ref. Barros et al there is a factor 1/(4pi). + + for (i = 0; i < num_induced_charges; i++) buffer[i] = 0; + + for (i = 0; i < nlocal; i++) { + if (induced_charge_idx[i] < 0) continue; + + int idx = induced_charge_idx[i]; + double Ex = efield_pair[i][0]; + double Ey = efield_pair[i][1]; + double Ez = efield_pair[i][2]; + if (kspaceflag) { + Ex += efield_kspace[i][0]; + Ey += efield_kspace[i][1]; + Ez += efield_kspace[i][2]; + } + double dot = (Ex*norm[i][0] + Ey*norm[i][1] + Ez*norm[i][2]) / epsilon[i]; + buffer[idx] = em[i] * w[idx] + epsilon0 * ed[i] * dot / (4*MY_PI); + } + + MPI_Allreduce(buffer,Aw,num_induced_charges,MPI_DOUBLE,MPI_SUM,world); +} + +/* ---------------------------------------------------------------------- + need to turn the real charges back on + set the induced charges to be w + compute the new residual in r = b - Ax without directly computing A x + using Eq. (60) in Barros et al. +------------------------------------------------------------------------ */ + +void FixPolarizeBEMGMRES::update_residual(double* w, double* r, int n) +{ + int i; + double *q = atom->q; + double *q_real = avec->q_real; + double **norm = avec->mu; + double *area = avec->area; + double *ed = avec->ed; + double *em = avec->em; + double *epsilon = avec->epsilon; + int *mask = atom->mask; + int nlocal = atom->nlocal; + double epsilon0 = force->dielectric; + int eflag = 0; + int vflag = 0; + + // compute the Coulombic forces and electrical field E + // due to both ions and induced charges + // note here q[i] = the bound charges including area + free surface charges + // so that kspace solver can be used directly + + for (i = 0; i < nlocal; i++) { + if (induced_charge_idx[i] < 0) { + q[i] = q_backup[i]; + } else { + int idx = induced_charge_idx[i]; + q[i] = w[idx]*area[i] + q_real[i]; + } + } + + comm->forward_comm_fix(this); + + force_clear(); + force->pair->compute(eflag,vflag); + if (kspaceflag) force->kspace->compute(eflag,vflag); + if (force->newton) comm->reverse_comm(); + + // compute the residual according to Eq. (60) in Barros et al. + // Note: in the definition of the electrical fields in Equations (41) and (53) + // in Ref. Barros et al there is a factor 1/(4pi). + + for (i = 0; i < num_induced_charges; i++) buffer[i] = 0; + + for (i = 0; i < nlocal; i++) { + if (induced_charge_idx[i] < 0) continue; + + int idx = induced_charge_idx[i]; + if (ed[i] == 0) { + buffer[idx] = 0; + continue; + } + double Ex = efield_pair[i][0]; + double Ey = efield_pair[i][1]; + double Ez = efield_pair[i][2]; + if (kspaceflag) { + Ex += efield_kspace[i][0]; + Ey += efield_kspace[i][1]; + Ez += efield_kspace[i][2]; + } + double dot = (Ex*norm[i][0] + Ey*norm[i][1] + Ez*norm[i][2]) / epsilon[i]; + double sigma_f = q_real[i] / area[i]; + buffer[idx] = (1 - em[i]) * sigma_f - em[i] * w[idx] - epsilon0 * ed[i] * dot / (4*MY_PI); + } + + MPI_Allreduce(buffer,r,num_induced_charges,MPI_DOUBLE,MPI_SUM,world); +} + +/* ---------------------------------------------------------------------- */ + +void FixPolarizeBEMGMRES::force_clear() +{ + int nbytes = sizeof(double) * atom->nlocal; + if (force->newton) nbytes += sizeof(double) * atom->nghost; + + if (nbytes) { + memset(&atom->f[0][0],0,3*nbytes); + if (torqueflag) memset(&atom->torque[0][0],0,3*nbytes); + if (extraflag) atom->avec->force_clear(0,nbytes); + } +} + +/* ---------------------------------------------------------------------- */ + +double FixPolarizeBEMGMRES::vec_dot(const double* a1, const double* a2, int n) +{ + double value = 0.0; + for (int i = 0; i < n; i++) value += (a1[i] * a2[i]); + return value; +} + +/* ---------------------------------------------------------------------- + return # of bytes of allocated memory +------------------------------------------------------------------------- */ + +double FixPolarizeBEMGMRES::memory_usage() +{ + double bytes = 0; + bytes += mat_dim*sizeof(double); // induced_charges + bytes += mat_dim*sizeof(double); // buffer + bytes += mat_dim*sizeof(double); // rhs + bytes += atom->nmax*sizeof(double); // induced_charge_idx + bytes += atom->nmax*sizeof(double); // q_backup + bytes += mr*sizeof(double); // c + bytes += (mr+1)*sizeof(double); // g + bytes += (mr+1)*mr*sizeof(double); // h + bytes += mat_dim*sizeof(double); // r + bytes += mr*(mr+1)*sizeof(double); // s + bytes += mat_dim*sizeof(double); // v + bytes += (mr+1)*mr*sizeof(double); // y + return bytes; +} + +/* ---------------------------------------------------------------------- */ + +void FixPolarizeBEMGMRES::allocate() +{ + memory->create(c, mr, "polarize:c"); + memory->create(g, mr+1, "polarize:g"); + memory->create(h, (mr+1)*mr, "polarize:h"); + memory->create(r, mat_dim, "polarize:r"); + memory->create(s, mr, "polarize:s"); + memory->create(v, mat_dim*(mr+1), "polarize:v"); + memory->create(y, mr+1, "polarize:y"); +} + +/* ---------------------------------------------------------------------- */ + +void FixPolarizeBEMGMRES::deallocate() +{ + memory->destroy(c); + memory->destroy(g); + memory->destroy(h); + memory->destroy(r); + memory->destroy(s); + memory->destroy(v); + memory->destroy(y); +} + +/* ---------------------------------------------------------------------- */ + +int FixPolarizeBEMGMRES::modify_param(int narg, char **arg) +{ + int iarg = 0; + while (iarg < narg) { + if (strcmp(arg[iarg],"itr_max") == 0) { + if (iarg+2 > narg) error->all(FLERR,"Illegal fix_modify command"); + itr_max = force->numeric(FLERR,arg[iarg+1]); + iarg += 2; + } else if (strcmp(arg[iarg],"mr") == 0) { + if (iarg+2 > narg) error->all(FLERR,"Illegal fix_modify command"); + mr = force->numeric(FLERR,arg[iarg+1]); + iarg += 2; + } else if (strcmp(arg[iarg],"kspace") == 0) { + if (iarg+2 > narg) error->all(FLERR,"Illegal fix_modify command"); + if (strcmp(arg[iarg+1],"yes") == 0) kspaceflag = 1; + else if (strcmp(arg[iarg+1],"no") == 0) kspaceflag = 0; + else error->all(FLERR,"Illegal fix_modify command for fix polarize"); + iarg += 2; + } else if (strcmp(arg[iarg],"dielectrics") == 0) { + if (iarg+6 > narg) error->all(FLERR,"Illegal fix_modify command"); + double epsiloni=-1, areai=-1; + double qreali=0; + int set_charge=0; + double ediff = force->numeric(FLERR,arg[iarg+1]); + double emean = force->numeric(FLERR,arg[iarg+2]); + if (strcmp(arg[iarg+3],"NULL") != 0) epsiloni = force->numeric(FLERR,arg[iarg+3]); + if (strcmp(arg[iarg+4],"NULL") != 0) areai = force->numeric(FLERR,arg[iarg+4]); + if (strcmp(arg[iarg+5],"NULL") != 0) { + qreali = force->numeric(FLERR,arg[iarg+5]); + set_charge = 1; + } + set_dielectric_params(ediff, emean, epsiloni, areai, set_charge, qreali); + + iarg += 6; + } else if (strcmp(arg[iarg],"rand") == 0) { + if (iarg+3 > narg) error->all(FLERR,"Illegal fix_modify command"); + ave_charge = force->numeric(FLERR,arg[iarg+1]); + seed_charge = force->numeric(FLERR,arg[iarg+2]); + randomized = 1; + iarg += 3; + } else error->all(FLERR,"Illegal fix_modify command"); + } + + return iarg; +} + +/* ---------------------------------------------------------------------- + allocate local atom-based arrays +------------------------------------------------------------------------- */ + +void FixPolarizeBEMGMRES::grow_arrays(int n) +{ + if (n > nmax) nmax = n; + memory->grow(induced_charge_idx,nmax,"polarize:induced_charge_idx"); + memory->grow(q_backup,nmax,"polarize:q_backup"); +} + +/* ---------------------------------------------------------------------- + copy values within local atom-based arrays +------------------------------------------------------------------------- */ + +void FixPolarizeBEMGMRES::copy_arrays(int i, int j, int delflag) +{ + induced_charge_idx[j] = induced_charge_idx[i]; +} + +/* ---------------------------------------------------------------------- + initialize one atom's array values, called when atom is created +------------------------------------------------------------------------- */ + +void FixPolarizeBEMGMRES::set_arrays(int i) +{ + induced_charge_idx[i] = -1; +} + +/* ---------------------------------------------------------------------- */ + +int FixPolarizeBEMGMRES::pack_forward_comm(int n, int *list, double *buf, + int pbc_flag, int *pbc) +{ + int m; + for (m = 0; m < n; m++) buf[m] = atom->q[list[m]]; + return n; +} + +/* ---------------------------------------------------------------------- */ + +void FixPolarizeBEMGMRES::unpack_forward_comm(int n, int first, double *buf) +{ + int i, m; + for (m = 0, i = first; m < n; m++, i++) atom->q[i] = buf[m]; +} + +/* ---------------------------------------------------------------------- + pack values in local atom-based arrays for exchange with another proc +------------------------------------------------------------------------- */ + +int FixPolarizeBEMGMRES::pack_exchange(int i, double *buf) +{ + buf[0] = ubuf(induced_charge_idx[i]).d; + return 1; +} + +/* ---------------------------------------------------------------------- + unpack values in local atom-based arrays from exchange with another proc +------------------------------------------------------------------------- */ + +int FixPolarizeBEMGMRES::unpack_exchange(int nlocal, double *buf) +{ + induced_charge_idx[nlocal] = (int) ubuf(buf[0]).i; + return 1; +} + +/* ---------------------------------------------------------------------- + return the number of iterations for convergence + and current residual +------------------------------------------------------------------------- */ + +double FixPolarizeBEMGMRES::compute_vector(int n) +{ + if (n == 0) return iterations; + else if (n == 1) return rho; +} + +/* ---------------------------------------------------------------------- + set dielectric params for the atom in the group +------------------------------------------------------------------------- */ + +void FixPolarizeBEMGMRES::set_dielectric_params(double ediff, double emean, + double epsiloni, double areai, int set_charge, double qreali) +{ + double *area = avec->area; + double *ed = avec->ed; + double *em = avec->em; + double *q_real = avec->q_real; + double *epsilon = avec->epsilon; + int *mask = atom->mask; + int nlocal = atom->nlocal; + + for (int i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) { + ed[i] = ediff; + em[i] = emean; + if (areai > 0) area[i] = areai; + if (epsiloni > 0) epsilon[i] = epsiloni; + if (set_charge) q_real[i] = qreali; + } + } +} diff --git a/src/USER-DIELECTRIC/fix_polarize_bem_gmres.h b/src/USER-DIELECTRIC/fix_polarize_bem_gmres.h new file mode 100644 index 0000000000..b6c9a91717 --- /dev/null +++ b/src/USER-DIELECTRIC/fix_polarize_bem_gmres.h @@ -0,0 +1,115 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef FIX_CLASS + +FixStyle(polarize/bem/gmres,FixPolarizeBEMGMRES) + +#else + +#ifndef LMP_FIX_POLARIZE_BEM_GMRES_H +#define LMP_FIX_POLARIZE_BEM_GMRES_H + +#include "fix.h" + +namespace LAMMPS_NS { + +class FixPolarizeBEMGMRES : public Fix { + public: + FixPolarizeBEMGMRES(class LAMMPS *, int, char **); + ~FixPolarizeBEMGMRES(); + virtual int setmask(); + virtual void init(); + virtual void setup(int); + virtual void pre_force(int); + int pack_forward_comm(int, int*, double*, int, int*); + void unpack_forward_comm(int, int, double*); + int pack_exchange(int, double *); + int unpack_exchange(int, double *); + virtual double compute_vector(int); + + int modify_param(int, char**); + double memory_usage(); + void grow_arrays(int); + void copy_arrays(int, int, int); + void set_arrays(int); + virtual void allocate(); + virtual void deallocate(); + + virtual void compute_induced_charges(); + void set_dielectric_params(double, double, double, double, int, double); + + class AtomVecDielectric *avec; + + protected: + int nmax; + int nevery; // to be invoked every time steps + int* tag2mat; // tag2mat[atom->tag[i]] = the index of the atoms in the induced charge arrays from atom tags + int* mat2tag; // mat2tag[idx] = the atom tag of the induced charge idx in the induced charge arrays + int* induced_charge_idx; // return the index of the atoms in the induced charge arrays + int num_induced_charges; // total number of induced charges + double* induced_charges; // values of induced charges + double* buffer; // buffer of size num_induced_charges + double* q_backup; // backup for the real charges + int allocated; + double **efield_pair; // electrical field at position of atom i due to pair contribution + double **efield_kspace; // electrical field at position of atom i due to kspace contribution + int kspaceflag; // 1 if kspace is used for the induced charge computation + int torqueflag,extraflag; + + void force_clear(); + double vec_dot(const double*, const double*, int); // dot product between two vectors of length n + + private: + int mat_dim; // matrix dimension = total number of induced charges + int mr; // number of vectors used to span the Krylov space + int iterations; // actual number of iterations + int itr_max; // maximum number of outer iterations + int randomized; // 1 if generating random induced charges, 0 otherwise + double ave_charge; // average random charge + int seed_charge; + + double *c, *g, *h, *r, *s, *v, *y; // vectors used by the solver + double* rhs; // right-hand side vector of the equation Ax = b + double tol_abs, tol_rel; // tolerance for convergence + double normb; // norm of the rhs vector b + double rho; // norm of (b - Ax) + int first; // 1 if first time invoked (initializing induced charges with zero) + + void gmres_solve(double*, double*); // GMRES workhorse + void apply_operator(double*, double*, int); // compute Ax without explicitly storing A + void update_residual(double*, double*, int); // compute (b - Ax) directly (without computing b and Ax explcitly) + + // Givens rotations + inline void mult_givens(double c, double s, int k, double* g) { + double g1 = c * g[k] - s * g[k+1]; + double g2 = s * g[k] + c * g[k+1]; + g[k] = g1; + g[k+1] = g2; + } +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +E: Illegal ... command + +Self-explanatory. Check the input script syntax and compare to the +documentation for the command. You can use -echo screen as a +command-line option when running LAMMPS to see the offending line. + +*/ diff --git a/src/USER-DIELECTRIC/fix_polarize_bem_icc.cpp b/src/USER-DIELECTRIC/fix_polarize_bem_icc.cpp new file mode 100644 index 0000000000..d606765a78 --- /dev/null +++ b/src/USER-DIELECTRIC/fix_polarize_bem_icc.cpp @@ -0,0 +1,450 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + An iterative solver for surface induced charges computation (ICC) + using Richarson iteration + + Contributing author: Trung Nguyen (Northwestern) + References: + Tyagi, Suzen, Sega, Barbosa, Kantorovich, Holm, J. Chem. Phys. 2010, 132, 154112 + Barros, Sinkovits, Luijten, J. Chem. Phys 2014, 140, 064903 +------------------------------------------------------------------------- */ + +#include +#include +#include "fix_polarize_bem_icc.h" +#include "atom_vec_dielectric.h" +#include "update.h" +#include "atom.h" +#include "comm.h" +#include "domain.h" +#include "neighbor.h" +#include "force.h" +#include "group.h" +#include "kspace.h" +#include "memory.h" +#include "modify.h" +#include "math_const.h" +#include "pair_coul_cut_dielectric.h" +#include "pair_coul_long_dielectric.h" +#include "pair_lj_cut_coul_cut_dielectric.h" +#include "pair_lj_cut_coul_long_dielectric.h" +#include "pair_lj_cut_coul_msm_dielectric.h" +#include "pppm_dielectric.h" +#include "msm_dielectric.h" +#include "random_park.h" +#include "timer.h" +#include "error.h" + +using namespace LAMMPS_NS; +using namespace FixConst; +using namespace MathConst; + +//#define _POLARIZE_DEBUG + +/* ---------------------------------------------------------------------- */ + +FixPolarizeBEMICC::FixPolarizeBEMICC(LAMMPS *lmp, int narg, char **arg) : + Fix(lmp, narg, arg) +{ + if (narg < 5) error->all(FLERR,"Illegal fix polarize/bem/icc command"); + + avec = (AtomVecDielectric *) atom->style_match("dielectric"); + if (!avec) error->all(FLERR,"Fix polarize requires atom style dielectric"); + + // parse required arguments + + nevery = force->inumeric(FLERR,arg[3]); + if (nevery < 0) error->all(FLERR,"Illegal fix polarize/bem/icc command"); + double tol = force->numeric(FLERR,arg[4]); + tol_abs = tol_rel = tol; + + itr_max = 20; + omega = 0.7; + randomized = 0; + ave_charge = 0; + + efield_pair = NULL; + efield_kspace = NULL; + + comm_forward = 1; + kspaceflag = 0; + + global_freq = 1; + vector_flag = 1; + size_vector = 2; + extvector = 0; + + // set flags for arrays to clear in force_clear() + + torqueflag = extraflag = 0; + if (atom->torque_flag) torqueflag = 1; + if (atom->avec->forceclearflag) extraflag = 1; +} + +/* ---------------------------------------------------------------------- */ + +FixPolarizeBEMICC::~FixPolarizeBEMICC() +{ +} + +/* ---------------------------------------------------------------------- */ + +int FixPolarizeBEMICC::setmask() +{ + int mask = 0; + mask |= PRE_FORCE; + return mask; +} + +/* ---------------------------------------------------------------------- */ + +void FixPolarizeBEMICC::init() +{ + int ncount = group->count(igroup); + if (comm->me == 0) { + if (screen) fprintf(screen,"BEM/ICC solver for %d induced charges\n", ncount); + if (logfile) fprintf(logfile,"BEM/ICC solver for %d induced charges\n", ncount); + } + + // initialize random induced charges with zero sum + + if (randomized) { + + int i; + double *q = atom->q; + int *mask = atom->mask; + int nlocal = atom->nlocal; + + RanPark *random = new RanPark(lmp,seed_charge + comm->me); + for (i = 0; i < 100; i++) random->uniform(); + double sum,tmp = 0; + for (i = 0; i < nlocal; i++) { + if (!(mask[i] & groupbit)) continue; + q[i] = ave_charge*(random->uniform() - 0.5); + tmp += q[i]; + } + MPI_Allreduce(&tmp,&sum,1,MPI_DOUBLE,MPI_SUM,world); + sum /= (double)ncount; + + tmp = 0; + for (i = 0; i < nlocal; i++) { + if (!(mask[i] & groupbit)) continue; + q[i] -= sum; + tmp += q[i]; + } + MPI_Allreduce(&tmp,&sum,1,MPI_DOUBLE,MPI_SUM,world); + + delete random; + } + +} + +/* ---------------------------------------------------------------------- */ + +void FixPolarizeBEMICC::setup(int vflag) +{ + // check if the pair styles in use are compatible + + if (strcmp(force->pair_style,"lj/cut/coul/long/dielectric") == 0) + efield_pair = ((PairLJCutCoulLongDielectric*)force->pair)->efield; + else if (strcmp(force->pair_style,"lj/cut/coul/long/dielectric/omp") == 0) + efield_pair = ((PairLJCutCoulLongDielectric*)force->pair)->efield; + else if (strcmp(force->pair_style,"lj/cut/coul/msm/dielectric") == 0) + efield_pair = ((PairLJCutCoulMSMDielectric*)force->pair)->efield; + else if (strcmp(force->pair_style,"lj/cut/coul/cut/dielectric") == 0) + efield_pair = ((PairLJCutCoulCutDielectric*)force->pair)->efield; + else if (strcmp(force->pair_style,"lj/cut/coul/cut/dielectric/omp") == 0) + efield_pair = ((PairLJCutCoulCutDielectric*)force->pair)->efield; + else if (strcmp(force->pair_style,"coul/long/dielectric") == 0) + efield_pair = ((PairCoulLongDielectric*)force->pair)->efield; + else if (strcmp(force->pair_style,"coul/cut/dielectric") == 0) + efield_pair = ((PairCoulCutDielectric*)force->pair)->efield; + else error->all(FLERR,"Pair style not compatible with fix polarize/bem/icc"); + + // check if kspace is used for force computation + + if (force->kspace) { + + kspaceflag = 1; + if (strcmp(force->kspace_style,"pppm/dielectric") == 0) + efield_kspace = ((PPPMDielectric*)force->kspace)->efield; + else if (strcmp(force->kspace_style,"msm/dielectric") == 0) + efield_kspace = ((MSMDielectric*)force->kspace)->efield; + else error->all(FLERR,"Kspace style not compatible with fix polarize/bem/icc"); + + } else { + + if (kspaceflag == 1) { // users specified kspace yes + error->warning(FLERR,"No Kspace style available for fix polarize/bem/icc"); + kspaceflag = 0; + } + } + + compute_induced_charges(); +} + +/* ---------------------------------------------------------------------- */ + +void FixPolarizeBEMICC::pre_force(int) +{ + if (nevery == 0) return; + if (update->ntimestep % nevery) return; + + compute_induced_charges(); + + // make sure forces are reset to zero before actual forces are computed + + force_clear(); +} + +/* ---------------------------------------------------------------------- */ + +void FixPolarizeBEMICC::compute_induced_charges() +{ + double *q = atom->q; + double *q_real = avec->q_real; + double **norm = avec->mu; + double *area = avec->area; + double *ed = avec->ed; + double *em = avec->em; + double *epsilon = avec->epsilon; + int *mask = atom->mask; + int nlocal = atom->nlocal; + double epsilon0 = force->dielectric; + int eflag = 1; + int vflag = 0; + int itr; + + // use Eq. (64) in Barros et al. to initialize the induced charges + // Note: area[i] is included here to ensure correct charge unit + // for direct use in force/efield compute + // for induced charges q_real stores the free surface charge + // q_real are read from the data file + // Note that the electrical fields here are due to the rescaled real charges, + // and also multiplied by epsilon[i] + // Let's choose that epsilon[i] = em[i] for the interface particles + + force_clear(); + force->pair->compute(eflag,vflag); + if (kspaceflag) force->kspace->compute(eflag,vflag); + if (force->newton) comm->reverse_comm(); + + int i10 = 0; + for (int i = 0; i < nlocal; i++) { + if (!(mask[i] & groupbit)) continue; + + double Ex = efield_pair[i][0]; + double Ey = efield_pair[i][1]; + double Ez = efield_pair[i][2]; + if (kspaceflag) { + Ex += efield_kspace[i][0]; + Ey += efield_kspace[i][1]; + Ez += efield_kspace[i][2]; + } + + // divide (Ex,Ey,Ez) by epsilon[i] here + double dot = (Ex*norm[i][0] + Ey*norm[i][1] + Ez*norm[i][2]) / (2*MY_PI) / epsilon[i]; + double q_free = q_real[i]; + double q_bound = 0; + q_bound = (1.0 / em[i] - 1) * q_free - epsilon0 * (ed[i] / (2 * em[i])) * dot * area[i]; + q[i] = q_free + q_bound; + } + + comm->forward_comm_fix(this); + + // iterate + + for (itr = 0; itr < itr_max; itr++) { + + force_clear(); + force->pair->compute(eflag,vflag); + if (kspaceflag) force->kspace->compute(eflag,vflag); + if (force->newton) comm->reverse_comm(); + + double tol = 0; + for (int i = 0; i < nlocal; i++) { + if (!(mask[i] & groupbit)) continue; + + double q_free = q_real[i]; + double qtmp = q[i] - q_free; + double Ex = efield_pair[i][0]; + double Ey = efield_pair[i][1]; + double Ez = efield_pair[i][2]; + if (kspaceflag) { + Ex += efield_kspace[i][0]; + Ey += efield_kspace[i][1]; + Ez += efield_kspace[i][2]; + } + + // Eq. (69) in Barros et al., sigma_f[i] = q_real[i] / area[i] + // note the area[i] is included here to ensure correct charge unit + // for direct use in force/efield compute + + double dot = (Ex*norm[i][0] + Ey*norm[i][1] + Ez*norm[i][2]) / (4*MY_PI) / epsilon[i]; + double q_bound = q[i] - q_free; + q_bound = (1 - omega) * q_bound + omega * ((1.0 / em[i] - 1) * q_free - + epsilon0 * (ed[i] / em[i]) * dot * area[i]); + q[i] = q_free + q_bound; + + // Eq. (11) in Tyagi et al., with f from Eq. (6) + // NOTE: Tyagi et al. defined the normal vector n_i pointing + // from the medium containg the ions toward the other medium, + // which makes the normal vector direction depend on the ion position + // Also, since Tyagi et al. chose epsilon_1 for the uniform dielectric constant + // of the equivalent system, there is epsilon_1 in f in Eq. (6). + // Here we are using (q/epsilon_i) for the real charges and 1.0 for the equivalent system + // hence there's no epsilon_1 in the factor f + + //double dot = (Ex*norm[i][0] + Ey*norm[i][1] + Ez*norm[i][2]); + //double f = (ed[i] / (2 * em[i])) / (2*MY_PI); + //q[i] = (1 - omega) * q[i] - omega * epsilon0 * f * dot * area[i]; + + double delta = fabs(qtmp - q_bound); + double r = (fabs(qtmp) > 0) ? delta/fabs(qtmp) : 0; + if (tol < r) tol = r; + + #ifdef _POLARIZE_DEBUG + //printf("i = %d: q_bound = %f \n", i, q_bound); + #endif + } + + comm->forward_comm_fix(this); + + MPI_Allreduce(&tol,&rho,1,MPI_DOUBLE,MPI_MAX,world); + #ifdef _POLARIZE_DEBUG + printf("itr = %d: rho = %f\n", itr, rho); + #endif + if (itr > 0 && rho < tol_rel) break; + } + + iterations = itr; +} + +/* ---------------------------------------------------------------------- */ + +void FixPolarizeBEMICC::force_clear() +{ + int nbytes = sizeof(double) * atom->nlocal; + if (force->newton) nbytes += sizeof(double) * atom->nghost; + + if (nbytes) { + memset(&atom->f[0][0],0,3*nbytes); + if (torqueflag) memset(&atom->torque[0][0],0,3*nbytes); + if (extraflag) atom->avec->force_clear(0,nbytes); + } +} + +/* ---------------------------------------------------------------------- */ + +int FixPolarizeBEMICC::modify_param(int narg, char **arg) +{ + int iarg = 0; + while (iarg < narg) { + if (strcmp(arg[iarg],"itr_max") == 0) { + if (iarg+2 > narg) error->all(FLERR,"Illegal fix_modify command"); + itr_max = force->numeric(FLERR,arg[iarg+1]); + iarg += 2; + } else if (strcmp(arg[iarg],"omega") == 0) { + if (iarg+2 > narg) error->all(FLERR,"Illegal fix_modify command"); + omega = force->numeric(FLERR,arg[iarg+1]); + iarg += 2; + } else if (strcmp(arg[iarg],"kspace") == 0) { + if (iarg+2 > narg) error->all(FLERR,"Illegal fix_modify command"); + if (strcmp(arg[iarg+1],"yes") == 0) kspaceflag = 1; + else if (strcmp(arg[iarg+1],"no") == 0) kspaceflag = 0; + else error->all(FLERR,"Illegal fix_modify command for fix polarize"); + iarg += 2; + } else if (strcmp(arg[iarg],"dielectrics") == 0) { + if (iarg+6 > narg) error->all(FLERR,"Illegal fix_modify command"); + double epsiloni=-1, areai=-1; + double qreali=0; + int set_charge=0; + double ediff = force->numeric(FLERR,arg[iarg+1]); + double emean = force->numeric(FLERR,arg[iarg+2]); + if (strcmp(arg[iarg+3],"NULL") != 0) epsiloni = force->numeric(FLERR,arg[iarg+3]); + if (strcmp(arg[iarg+4],"NULL") != 0) areai = force->numeric(FLERR,arg[iarg+4]); + if (strcmp(arg[iarg+5],"NULL") != 0) { + qreali = force->numeric(FLERR,arg[iarg+5]); + set_charge = 1; + } + set_dielectric_params(ediff, emean, epsiloni, areai, set_charge, qreali); + + iarg += 6; + } else if (strcmp(arg[iarg],"rand") == 0) { + if (iarg+3 > narg) error->all(FLERR,"Illegal fix_modify command"); + ave_charge = force->numeric(FLERR,arg[iarg+1]); + seed_charge = force->numeric(FLERR,arg[iarg+2]); + randomized = 1; + iarg += 3; + } else error->all(FLERR,"Illegal fix_modify command"); + } + + return iarg; +} + +/* ---------------------------------------------------------------------- */ + +int FixPolarizeBEMICC::pack_forward_comm(int n, int *list, double *buf, + int pbc_flag, int *pbc) +{ + int m; + for (m = 0; m < n; m++) buf[m] = atom->q[list[m]]; + return n; +} + +/* ---------------------------------------------------------------------- */ + +void FixPolarizeBEMICC::unpack_forward_comm(int n, int first, double *buf) +{ + int i, m; + for (m = 0, i = first; m < n; m++, i++) atom->q[i] = buf[m]; +} + +/* ---------------------------------------------------------------------- + set dielectric params for the atom in the group +------------------------------------------------------------------------- */ + +void FixPolarizeBEMICC::set_dielectric_params(double ediff, double emean, + double epsiloni, double areai, int set_charge, double qreali) +{ + double *area = avec->area; + double *ed = avec->ed; + double *em = avec->em; + double *q_real = avec->q_real; + double *epsilon = avec->epsilon; + int *mask = atom->mask; + int nlocal = atom->nlocal; + + for (int i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) { + ed[i] = ediff; + em[i] = emean; + if (areai > 0) area[i] = areai; + if (epsiloni > 0) epsilon[i] = epsiloni; + if (set_charge) q_real[i] = qreali; + } + } +} + +/* ---------------------------------------------------------------------- + return the actual number of iterations + and current relative error +------------------------------------------------------------------------- */ + +double FixPolarizeBEMICC::compute_vector(int n) +{ + if (n == 0) return iterations; + else if (n == 1) return rho; +} \ No newline at end of file diff --git a/src/USER-DIELECTRIC/fix_polarize_bem_icc.h b/src/USER-DIELECTRIC/fix_polarize_bem_icc.h new file mode 100644 index 0000000000..46e937a561 --- /dev/null +++ b/src/USER-DIELECTRIC/fix_polarize_bem_icc.h @@ -0,0 +1,79 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef FIX_CLASS + +FixStyle(polarize/bem/icc,FixPolarizeBEMICC) + +#else + +#ifndef LMP_FIX_POLARIZE_BEM_ICC_H +#define LMP_FIX_POLARIZE_BEM_ICC_H + +#include "fix.h" + +namespace LAMMPS_NS { + +class FixPolarizeBEMICC : public Fix { + public: + FixPolarizeBEMICC(class LAMMPS *, int, char **); + ~FixPolarizeBEMICC(); + virtual int setmask(); + virtual void init(); + virtual void setup(int); + virtual void pre_force(int); + virtual double compute_vector(int); + int modify_param(int, char**); + int pack_forward_comm(int, int*, double*, int, int*); + void unpack_forward_comm(int, int, double*); + + virtual void compute_induced_charges(); + void set_dielectric_params(double, double, double, double, int, double); + + class AtomVecDielectric *avec; + + protected: + int nevery; // to be invoked every time steps + double **efield_pair; // electrical field at position of atom i due to pair contribution + double **efield_kspace; // electrical field at position of atom i due to kspace contribution + int kspaceflag; // 1 if kspace is used for the induced charge computation + int torqueflag,extraflag; + + void force_clear(); + + private: + int iterations; // actual number of iterations + int itr_max; // maximum number of outer iterations + double tol_abs, tol_rel; // tolerance for convergence + double rho; // current error + double omega; // iterative weight + int randomized; // 1 if generating random induced charges, 0 otherwise + double ave_charge; // average random charge + int seed_charge; + +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +E: Illegal ... command + +Self-explanatory. Check the input script syntax and compare to the +documentation for the command. You can use -echo screen as a +command-line option when running LAMMPS to see the offending line. + +*/ diff --git a/src/USER-DIELECTRIC/fix_polarize_functional.cpp b/src/USER-DIELECTRIC/fix_polarize_functional.cpp new file mode 100644 index 0000000000..e50f239e07 --- /dev/null +++ b/src/USER-DIELECTRIC/fix_polarize_functional.cpp @@ -0,0 +1,1172 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Solve for induced charges on fixed sharp interfaces via optimizing the functional + developed by Jadhao et al. with respect to the induced charges themselves. + The linear equations to be solved for w are: + (Rww + Rww^T) w = q Rwq + At the beginning of the run, (Rww + Rww^T)^(-1) is computed; + at every time step, the vector (q Rwq) is computed and w is computed via + w = [Rww + Rww^T)^(-1)] (q Rwq) + NOTE: Oct 7, 2019: switch from matrix inversion to a conjugate gradient solver + + Contributing author: Trung Nguyen (Northwestern) + based on the full-matrix implementation by Honghao Li (Northwestern University) + Reference: Jadhao, Solis, Olvera de la Cruz, J. Chem. Phys. 138, 054119, 2013 +------------------------------------------------------------------------- */ + +#include +#include +#include "fix_polarize_functional.h" +#include "atom_vec_dielectric.h" +#include "update.h" +#include "atom.h" +#include "comm.h" +#include "compute.h" +#include "domain.h" +#include "neighbor.h" +#include "force.h" +#include "group.h" +#include "pair.h" +#include "pair_coul_cut_dielectric.h" +#include "pair_coul_long_dielectric.h" +#include "pair_lj_cut_coul_cut_dielectric.h" +#include "pair_lj_cut_coul_long_dielectric.h" +#include "pair_lj_cut_coul_msm_dielectric.h" +#include "pppm_dielectric.h" +#include "msm_dielectric.h" +#include "kspace.h" +#include "memory.h" +#include "math_const.h" +#include "math_extra.h" +#include "modify.h" +#include "neigh_list.h" +#include "neigh_request.h" +#include "random_park.h" +#include "timer.h" +#include "error.h" + +using namespace LAMMPS_NS; +using namespace FixConst; +using namespace MathExtra; +using namespace MathConst; + +enum {REAL2SCALED=0,SCALED2REAL=1}; + +#define EPSILON 1e-6 +//#define _POLARIZE_DEBUG + +/* ---------------------------------------------------------------------- */ + +FixPolarizeFunctional::FixPolarizeFunctional(LAMMPS *lmp, int narg, char **arg) : + Fix(lmp, narg, arg) +{ + if (narg != 3) error->all(FLERR,"Illegal fix polarize/functional command"); + + avec = (AtomVecDielectric *) atom->style_match("dielectric"); + if (!avec) error->all(FLERR,"Fix polarize/functional requires atom style dielectric"); + + comm_forward = 1; + nmax = 0; + allocated = 0; + + induced_charge_idx = NULL; + induced_charges = NULL; + tag2mat = NULL; + mat2tag = NULL; + tag2mat_ions = NULL; + mat2tag_ions = NULL; + ion_idx = NULL; + + rhs1 = NULL; + rhs2 = NULL; + buffer1 = NULL; + buffer2 = NULL; + + // set flags for arrays to clear in force_clear() + + torqueflag = extraflag = 0; + if (atom->torque_flag) torqueflag = 1; + if (atom->avec->forceclearflag) extraflag = 1; + + Rww = NULL; + inverse_matrix = NULL; + G1ww = NULL; + G2ww = NULL; + G3ww = NULL; + ndotGww = NULL; + + qiRqwVector = NULL; + G1qw_real = NULL; + sum2G2wq = NULL; + + sum1G2qw = NULL; + sum1G1qw_epsilon = NULL; + sum2ndotGwq_epsilon = NULL; + + efield_pair = NULL; + efield_kspace = NULL; + + includingG3ww = 1; + + cg_r = cg_p = cg_Ap = NULL; + cg_A = NULL; + + grow_arrays(atom->nmax); + atom->add_callback(0); // to ensure to work with atom->sort() +} + +/* ---------------------------------------------------------------------- */ + +FixPolarizeFunctional::~FixPolarizeFunctional() +{ + memory->destroy(mat2tag); + memory->destroy(tag2mat); + memory->destroy(tag2mat_ions); + memory->destroy(mat2tag_ions); + memory->destroy(ion_idx); + memory->destroy(induced_charge_idx); + memory->destroy(induced_charges); + memory->destroy(rhs1); + memory->destroy(rhs2); + memory->destroy(buffer1); + memory->destroy(buffer2); + + if (allocated) deallocate(); + atom->delete_callback(id,0); +} + +/* ---------------------------------------------------------------------- */ + +int FixPolarizeFunctional::setmask() +{ + int mask = 0; + mask |= PRE_FORCE; + return mask; +} + +/* ---------------------------------------------------------------------- */ + +void FixPolarizeFunctional::init() +{ + // mapping induced charge matrix/vector to atom tags and vice versa + + int i,maxtag; + double *q = atom->q; + int *mask = atom->mask; + tagint *tag = atom->tag; + int nlocal = atom->nlocal; + tagint max_tag; + tagint itmp; + int *ncount = NULL; + + // induced charge arrays setup + + max_tag = -1; + for (i = 0; i < nlocal; i++) + if (mask[i] & groupbit) max_tag = MAX(max_tag,tag[i]); + + MPI_Allreduce(&max_tag,&itmp,1,MPI_LMP_TAGINT,MPI_MAX,world); + maxtag = (int) itmp; + + memory->create(ncount,maxtag+1,"polarize:ncount"); + for (i = 0; i <= maxtag; i++) ncount[i] = 0; + + for (i = 0; i < nlocal; i++) + if (mask[i] & groupbit) ncount[tag[i]]++; + + memory->create(tag2mat,maxtag+1,"polarize:tag2mat"); + MPI_Allreduce(ncount,tag2mat,maxtag+1,MPI_INT,MPI_SUM,world); + + num_induced_charges = 0; + for (i = 0; i <= maxtag; i++) + if (tag2mat[i]) tag2mat[i] = num_induced_charges++; + else tag2mat[i] = -1; + + memory->create(mat2tag,num_induced_charges,"polarize:mat2tag"); + + num_induced_charges = 0; + for (i = 0; i <= maxtag; i++) + if (tag2mat[i] >= 0) mat2tag[num_induced_charges++] = i; + + for (i = 0; i < nlocal; i++) { + induced_charge_idx[i] = -1; + if (mask[i] & groupbit) induced_charge_idx[i] = tag2mat[tag[i]]; + } + + memory->destroy(ncount); + + // ion arrays setup + + max_tag = -1; + for (i = 0; i < nlocal; i++) + if (!(mask[i] & groupbit)) max_tag = MAX(max_tag,tag[i]); + + MPI_Allreduce(&max_tag,&itmp,1,MPI_LMP_TAGINT,MPI_MAX,world); + maxtag = (int) itmp; + + memory->create(ncount,maxtag+1,"polarize:ncount"); + for (i = 0; i <= maxtag; i++) ncount[i] = 0; + + for (i = 0; i < nlocal; i++) + if (!(mask[i] & groupbit)) ncount[tag[i]]++; + + memory->create(tag2mat_ions,maxtag+1,"polarize:tag2mat_ions"); + MPI_Allreduce(ncount,tag2mat_ions,maxtag+1,MPI_INT,MPI_SUM,world); + + num_ions = 0; + for (i = 0; i <= maxtag; i++) + if (tag2mat_ions[i]) tag2mat_ions[i] = num_ions++; + else tag2mat_ions[i] = -1; + + memory->create(mat2tag_ions,num_ions,"polarize:mat2tag_ions"); + memory->create(rhs1,num_induced_charges,"polarize:rhs1"); + memory->create(rhs2,num_induced_charges,"polarize:rhs2"); + int buffer_size = (num_induced_charges > num_ions) ? num_induced_charges : num_ions; + memory->create(buffer1,buffer_size,num_induced_charges,"polarize:buffer1"); + memory->create(buffer2,num_induced_charges,num_induced_charges,"polarize:buffer2"); + memory->create(induced_charges,num_induced_charges,"polarize:induced_charges"); + + + + num_ions = 0; + for (i = 0; i <= maxtag; i++) + if (tag2mat_ions[i] >= 0) mat2tag_ions[num_ions++] = i; + + for (i = 0; i < nlocal; i++) { + ion_idx[i] = -1; + if (!(mask[i] & groupbit)) ion_idx[i] = tag2mat_ions[tag[i]]; + } + + memory->destroy(ncount); + + if (allocated == 0) { + nmax = atom->nmax; + allocate(); + allocated = 1; + } + + // need a full neighbor list w/ Newton off and ghost neighbors + // built whenever re-neighboring occurs + + int irequest = neighbor->request(this,instance_me); + neighbor->requests[irequest]->pair = 0; + neighbor->requests[irequest]->fix = 1; + neighbor->requests[irequest]->half = 0; + neighbor->requests[irequest]->full = 1; + neighbor->requests[irequest]->occasional = 0; + + if (force->kspace) g_ewald = force->kspace->g_ewald; + else g_ewald = 0.01; + + if (comm->me == 0) { + if (screen) fprintf(screen,"Direct solver using the variational approach " + "for %d induced charges\n", num_induced_charges); + if (logfile) fprintf(logfile,"Direct solver using the variational approach " + "for %d induced charges\n", num_induced_charges); + } +} + +/* ---------------------------------------------------------------------- */ + +void FixPolarizeFunctional::init_list(int id, NeighList *ptr) +{ + list = ptr; +} + +/* ---------------------------------------------------------------------- */ + +void FixPolarizeFunctional::setup(int vflag) +{ + // check if the pair styles in use are compatible + + if (strcmp(force->pair_style,"lj/cut/coul/long/dielectric") == 0) + efield_pair = ((PairLJCutCoulLongDielectric*)force->pair)->efield; + else if (strcmp(force->pair_style,"lj/cut/coul/long/dielectric/omp") == 0) + efield_pair = ((PairLJCutCoulLongDielectric*)force->pair)->efield; + else if (strcmp(force->pair_style,"lj/cut/coul/msm/dielectric") == 0) + efield_pair = ((PairLJCutCoulMSMDielectric*)force->pair)->efield; + else if (strcmp(force->pair_style,"lj/cut/coul/cut/dielectric") == 0) + efield_pair = ((PairLJCutCoulCutDielectric*)force->pair)->efield; + else if (strcmp(force->pair_style,"lj/cut/coul/cut/dielectric/omp") == 0) + efield_pair = ((PairLJCutCoulCutDielectric*)force->pair)->efield; + else if (strcmp(force->pair_style,"coul/long/dielectric") == 0) + efield_pair = ((PairCoulLongDielectric*)force->pair)->efield; + else if (strcmp(force->pair_style,"coul/cut/dielectric") == 0) + efield_pair = ((PairCoulCutDielectric*)force->pair)->efield; + else error->all(FLERR,"Pair style not compatible with fix polarize/functional"); + + if (force->kspace) { + + kspaceflag = 1; + if (strcmp(force->kspace_style,"pppm/dielectric") == 0) + efield_kspace = ((PPPMDielectric*)force->kspace)->efield; + else if (strcmp(force->kspace_style,"msm/dielectric") == 0) + efield_kspace = ((MSMDielectric*)force->kspace)->efield; + else error->all(FLERR,"Kspace style not compatible with fix polarize/functional"); + + } else { + + if (kspaceflag == 1) { // users specified kspace yes + error->warning(FLERR,"No Kspace style available for fix polarize/functional"); + kspaceflag = 0; + } + } + + update_induced_charges(); +} + +/* ---------------------------------------------------------------------- */ + +void FixPolarizeFunctional::setup_pre_force(int vflag) +{ + // calculate Rww before the run (assuming that the interface is fixed for now) + // otherwise this should be done every time step in pre_force() + + calculate_Rww_cutoff(); +} + +/* ---------------------------------------------------------------------- */ + +void FixPolarizeFunctional::pre_force(int) +{ + // solve for the induced charges + + update_induced_charges(); +} + +/* ---------------------------------------------------------------------- */ + +void FixPolarizeFunctional::update_induced_charges() +{ + // convert all ions from scaled charges (q) to real q by multiplying with epsilon + + charge_rescaled(SCALED2REAL); + + // compute the right hand side vector qiRwVector + + calculate_qiRqw_cutoff(); + + // conjugate gradient solver for w from Rww * w = -qRqw + + for (int i = 0; i < num_induced_charges; i++) + for (int j = 0; j < num_induced_charges; j++) + cg_A[i][j] = Rww[i][j] + Rww[j][i]; + + for (int i = 0; i < num_induced_charges; i++) induced_charges[i] = 0; + + cg_solver(cg_A, qiRqwVector, induced_charges, num_induced_charges); + + // assign charges to the particles in the group + + double *q = atom->q; + int nlocal = atom->nlocal; + + for (int i = 0; i < nlocal; i++) { + if (induced_charge_idx[i] < 0) continue; + int idx = induced_charge_idx[i]; + q[i] = -induced_charges[idx] / (4*MY_PI); + } + + // revert to scaled charges to calculate forces + + charge_rescaled(REAL2SCALED); +} + +/* ---------------------------------------------------------------------- + scaled2real = 1: convert ion charges from scaled values (divided by epsilon) to real values + = 0: real values to scaled values +------------------------------------------------------------------------- */ + +void FixPolarizeFunctional::charge_rescaled(int scaled2real) +{ + double* q = atom->q; + double* q_real = avec->q_real; + double* epsilon = avec->epsilon; + int nlocal = atom->nlocal; + + if (scaled2real) { + for (int i = 0; i < nlocal; i++) + if (induced_charge_idx[i] < 0) q[i] = q_real[i]; + } else { + for (int i = 0; i < nlocal; i++) + if (induced_charge_idx[i] < 0) q[i] = q_real[i] / epsilon[i]; + } + + comm->forward_comm_fix(this); +} + +/* ---------------------------------------------------------------------- */ + +void FixPolarizeFunctional::allocate() +{ + // initialize all data + // interface terms, all matrix of M*M + memory->create(inverse_matrix, num_induced_charges, num_induced_charges, "fix:inverse_matrix"); + memory->create(Rww, num_induced_charges, num_induced_charges, "fix:Rww"); + memory->create(G1ww, num_induced_charges, num_induced_charges, "fix:G1ww"); + memory->create(ndotGww, num_induced_charges, num_induced_charges, "fix:ndotGww"); + memory->create(G2ww, num_induced_charges, num_induced_charges, "fix:G2ww"); + memory->create(G3ww, num_induced_charges, num_induced_charges, "fix:G3ww"); + + // each step, qw, qq terms, temp data + + memory->create(qiRqwVector, num_induced_charges, "fix:qiRqwVector"); + memory->create(sum2G2wq, num_induced_charges, "fix:sum2G2wq"); + memory->create(G1qw_real, num_ions, num_induced_charges, "fix:G1qw_real"); + + // arrays of M + memory->create(sum1G2qw, num_induced_charges, "fix:sum1G2qw"); + memory->create(sum1G1qw_epsilon, num_induced_charges, "fix:sum1G1qw_epsilon"); + memory->create(sum2ndotGwq_epsilon, num_induced_charges, "fix:sum2ndotGwq_epsilon"); + + memory->create(cg_r, num_induced_charges, "polarize:cg_r"); + memory->create(cg_p, num_induced_charges, "polarize:cg_p"); + memory->create(cg_Ap, num_induced_charges, "polarize:cg_Ap"); + memory->create(cg_A, num_induced_charges, num_induced_charges, "polarize:cg_A"); +} + +/* ---------------------------------------------------------------------- */ + +void FixPolarizeFunctional::deallocate() +{ + memory->destroy(inverse_matrix); + memory->destroy(Rww); + memory->destroy(G1ww); + memory->destroy(G2ww); + memory->destroy(G3ww); + memory->destroy(ndotGww); + + memory->destroy(qiRqwVector); + memory->destroy(sum2G2wq); + memory->destroy(G1qw_real); + + memory->destroy(sum1G2qw); + memory->destroy(sum1G1qw_epsilon); + memory->destroy(sum2ndotGwq_epsilon); + + memory->destroy(cg_r); + memory->destroy(cg_p); + memory->destroy(cg_Ap); + memory->destroy(cg_A); +} + +/* ---------------------------------------------------------------------- */ + +int FixPolarizeFunctional::modify_param(int narg, char **arg) +{ + int iarg = 0; + while (iarg < narg) { + if (strcmp(arg[iarg],"kspace") == 0) { + if (iarg+2 > narg) error->all(FLERR,"Illegal fix_modify command"); + if (strcmp(arg[iarg+1],"yes") == 0) kspaceflag = 1; + else if (strcmp(arg[iarg+1],"no") == 0) kspaceflag = 0; + else error->all(FLERR,"Illegal fix_modify command for fix polarize/functional"); + iarg += 2; + } else if (strcmp(arg[iarg],"dielectrics") == 0) { + if (iarg+6 > narg) error->all(FLERR,"Illegal fix_modify command"); + double epsiloni=-1, areai=-1; + double qreali=0; + int set_charge=0; + double ediff = force->numeric(FLERR,arg[iarg+1]); + double emean = force->numeric(FLERR,arg[iarg+2]); + if (strcmp(arg[iarg+3],"NULL") != 0) epsiloni = force->numeric(FLERR,arg[iarg+3]); + if (strcmp(arg[iarg+4],"NULL") != 0) areai = force->numeric(FLERR,arg[iarg+4]); + if (strcmp(arg[iarg+5],"NULL") != 0) { + qreali = force->numeric(FLERR,arg[iarg+5]); + set_charge = 1; + } + set_dielectric_params(ediff, emean, epsiloni, areai, set_charge, qreali); + + iarg += 6; + } else error->all(FLERR,"Illegal fix_modify command"); + } + + return iarg; +} + +/* ---------------------------------------------------------------------- + pack values in local atom-based arrays for exchange with another proc +------------------------------------------------------------------------- */ + +int FixPolarizeFunctional::pack_exchange(int i, double *buf) +{ + buf[0] = ubuf(induced_charge_idx[i]).d; + buf[1] = ubuf(ion_idx[i]).d; + return 2; +} + +/* ---------------------------------------------------------------------- + unpack values in local atom-based arrays from exchange with another proc +------------------------------------------------------------------------- */ + +int FixPolarizeFunctional::unpack_exchange(int nlocal, double *buf) +{ + induced_charge_idx[nlocal] = (int) ubuf(buf[0]).i; + ion_idx[nlocal] = (int) ubuf(buf[1]).i; + return 2; +} + +/* ---------------------------------------------------------------------- */ + +int FixPolarizeFunctional::pack_forward_comm(int n, int *list, double *buf, + int pbc_flag, int *pbc) +{ + int m; + for (m = 0; m < n; m++) buf[m] = atom->q[list[m]]; + return n; +} + +/* ---------------------------------------------------------------------- */ + +void FixPolarizeFunctional::unpack_forward_comm(int n, int first, double *buf) +{ + int i, m; + for (m = 0, i = first; m < n; m++, i++) atom->q[i] = buf[m]; +} + +/* ---------------------------------------------------------------------- + allocate local atom-based arrays +------------------------------------------------------------------------- */ + +void FixPolarizeFunctional::grow_arrays(int n) +{ + if (n > nmax) nmax = n; + memory->grow(induced_charge_idx,nmax,"fix:induced_charge_idx"); + memory->grow(ion_idx,nmax,"fix:ion_idx"); +} + +/* ---------------------------------------------------------------------- + copy values within local atom-based arrays +------------------------------------------------------------------------- */ + +void FixPolarizeFunctional::copy_arrays(int i, int j, int delflag) +{ + induced_charge_idx[j] = induced_charge_idx[i]; + ion_idx[j] = ion_idx[i]; +} + +/* ---------------------------------------------------------------------- + initialize one atom's array values, called when atom is created +------------------------------------------------------------------------- */ + +void FixPolarizeFunctional::set_arrays(int i) +{ + induced_charge_idx[i] = -1; + ion_idx[i] = 0; +} + +/* ---------------------------------------------------------------------- + return # of bytes of allocated memory +------------------------------------------------------------------------- */ + +double FixPolarizeFunctional::memory_usage() +{ + double bytes = 0; + bytes += num_induced_charges*num_induced_charges*sizeof(double); // inverse_matrix + bytes += num_induced_charges*num_induced_charges*sizeof(double); // Rww + bytes += num_induced_charges*num_induced_charges*sizeof(double); // G1ww + bytes += num_induced_charges*num_induced_charges*sizeof(double); // ndotGww + bytes += num_induced_charges*num_induced_charges*sizeof(double); // G2ww + bytes += num_induced_charges*num_induced_charges*sizeof(double); // G3ww + bytes += num_induced_charges*sizeof(double); // qiRqwVector + bytes += num_induced_charges*sizeof(double); // sum2G2wq + bytes += num_induced_charges*sizeof(double); // sum1G2qw + bytes += num_induced_charges*sizeof(double); // sum1G1qw_epsilon + bytes += num_induced_charges*sizeof(double); // sum2ndotGwq_epsilon + bytes += num_ions*num_induced_charges*sizeof(double); // G1qw_real + bytes += nmax*sizeof(int); // induced_charge_idx + bytes += nmax*sizeof(int); // ion_idx + bytes += num_induced_charges*sizeof(double); // induced_charges + return bytes; +} + +/* ---------------------------------------------------------------------- */ + +void FixPolarizeFunctional::calculate_Rww_cutoff() +{ + int *mask = atom->mask; + int *type = atom->type; + tagint* tag = atom->tag; + int nlocal = atom->nlocal; + double **x = atom->x; + double *area = avec->area; + double *curvature = avec->curvature; + double **norm = avec->mu; + double *ed = avec->ed; + double *em = avec->em; + + // invoke full neighbor list + + int inum,jnum,*ilist,*jlist,*numneigh,**firstneigh; + inum = list->inum; // number of entries in the neighbor list + ilist = list->ilist; // ilist[ii] gives the atom index of the entry ii in the list + numneigh = list->numneigh; // numneigh[i] gives the number of neighbors of local atom i + firstneigh = list->firstneigh; // firstneigh[i] gives the pointer to the neighbors of i + + // calculate G1ww, gradG1ww, ndotG1ww + // fill up buffer1 with local G1ww and buffer2 with local ndotGww + // seperate into two loops to let the compiler optimize / or later vectorization + + for (int i = 0; i < num_induced_charges; i++) + for (int j = 0; j < num_induced_charges; j++) buffer1[i][j] = 0; + + for (int i = 0; i < num_induced_charges; i++) + for (int j = 0; j < num_induced_charges; j++) buffer2[i][j] = 0; + + for (int ii = 0; ii < inum; ii++) { + int i = ilist[ii]; + if (mask[i] & groupbit) { + // interface particles + int mi = induced_charge_idx[i]; + double xtmp = x[i][0]; + double ytmp = x[i][1]; + double ztmp = x[i][2]; + jlist = firstneigh[i]; + jnum = numneigh[i]; + + for (int kk = 0; kk < jnum; kk++) { + int k = jlist[kk] & NEIGHMASK; + if (mask[k] & groupbit) { + // interface particles: k can be ghost atoms + double delx = xtmp - x[k][0]; + double dely = ytmp - x[k][1]; + double delz = ztmp - x[k][2]; + domain->minimum_image(delx,dely,delz); + int mk = tag2mat[tag[k]]; + + //G1ww[mi][mk] = calculate_greens_ewald(delx, dely, delz); + buffer1[mi][mk] = calculate_greens_ewald(delx, dely, delz); + // gradG1ww is vector, directly change it in the function + double gradG1ww[3]; + //calculate_grad_greens_ewald(gradG1ww[mi][mk], delx, dely, delz); + calculate_grad_greens_ewald(gradG1ww, delx, dely, delz); + // use mu to store the normal vector of interface vertex + //ndotGww[mi][mk] = MathExtra::dot3(norm[i], gradG1ww[mi][mk]) / (4*MY_PI); + buffer2[mi][mk] = MathExtra::dot3(norm[i], gradG1ww) / (4*MY_PI); + } + } + + // special treatment for the diagonal terms, even though in the above loop there is mk == mi + //G1ww[mi][mi] = calculate_greens_ewald_self_vertex(area[i]); + buffer1[mi][mi] = calculate_greens_ewald_self_vertex(area[i]); + //ndotGww[mi][mi] = calculate_ndotgreens_ewald_self_vertex(area[i], curvature[i]) / (4*MY_PI); + buffer2[mi][mi] = calculate_ndotgreens_ewald_self_vertex(area[i], curvature[i]) / (4*MY_PI); + } + } + + MPI_Allreduce(buffer1[0],G1ww[0],num_induced_charges*num_induced_charges,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(buffer2[0],ndotGww[0],num_induced_charges*num_induced_charges,MPI_DOUBLE,MPI_SUM,world); + + // calculate G2ww + // fill up buffer1 with local G2ww + + for (int i = 0; i < num_induced_charges; i++) + for (int j = 0; j < num_induced_charges; j++) buffer1[i][j] = 0; + + for (int ii = 0; ii < inum; ii++) { + int i = ilist[ii]; + if (mask[i] & groupbit) { + // interface particles + int mi = induced_charge_idx[i]; + jlist = firstneigh[i]; + jnum = numneigh[i]; + + for (int kk = 0; kk < jnum; kk++) { + int k = jlist[kk] & NEIGHMASK; + + if (mask[k] & groupbit) { + // interface particles: k can be ghost atoms + int mk = tag2mat[tag[k]]; + double temp = 0; + for (int ll = 0; ll < jnum; ll++) { + int l = jlist[ll] & NEIGHMASK; + if (mask[l] & groupbit) { + // interface particles: l can be ghost atoms + int ml = tag2mat[tag[l]]; + temp += G1ww[mi][ml] * ndotGww[ml][mk] * area[l] * ed[l]; + } + } + //G2ww[mi][mk] = temp; + buffer1[mi][mk] = temp; + } + } + + double temp = 0; + for (int kk = 0; kk < jnum; kk++) { + int k = jlist[kk] & NEIGHMASK; + if (mask[k] & groupbit) { + // interface particles: k can be ghost atoms + int mk = tag2mat[tag[k]]; + temp += G1ww[mi][mk] * ndotGww[mk][mi] * area[k] * ed[k]; + } + } + //G2ww[mi][mi] = temp; + buffer1[mi][mi] = temp; + } + } + + MPI_Allreduce(buffer1[0],G2ww[0],num_induced_charges*num_induced_charges,MPI_DOUBLE,MPI_SUM,world); + + // calculate G3ww and Rww + // G3ww is implemented as in _exact(), but can be optionally excluded due to its minor contribution + // fill up buffer1 with local G3ww + + for (int i = 0; i < num_induced_charges; i++) + for (int j = 0; j < num_induced_charges; j++) buffer1[i][j] = 0; + + for (int ii = 0; ii < inum; ii++) { + int i = ilist[ii]; + if (mask[i] & groupbit) { + // interface particles + int mi = induced_charge_idx[i]; + jlist = firstneigh[i]; + jnum = numneigh[i]; + + for (int kk = 0; kk < jnum; kk++) { + int k = jlist[kk] & NEIGHMASK; + + if (mask[k] & groupbit) { + // interface particles: k can be ghost atoms + int mk = tag2mat[tag[k]]; + + double a1 = em[i] * (em[k] - 1.0); + double a2 = 1.0 - em[i] - em[k]; + // The first term (w/ G1ww) contributes the most to Rww + // the second term (w/ G2ww) includes certain correction + //Rww[mi][mk] = a1 * G1ww[mi][mk] + a2 * G2ww[mi][mk]; + buffer1[mi][mk] = a1 * G1ww[mi][mk] + a2 * G2ww[mi][mk]; + + if (includingG3ww) { + double temp = 0; + for (int ll = 0; ll < jnum; ll++) { + int l = jlist[ll] & NEIGHMASK; + if (mask[l] & groupbit) { + // interface particles: l can be ghost atoms + int ml = tag2mat[tag[l]]; + temp += (ndotGww[ml][mi]) * G2ww[ml][mk] * area[l] * ed[l]; + } + } + G3ww[mi][mk] = temp; + //Rww[mi][mk] += G3ww[mi][mk]; + buffer1[mi][mk] += G3ww[mi][mk]; + } + } + } + + if (includingG3ww) { + double temp = 0; + for (int ll = 0; ll < jnum; ll++) { + int l = jlist[ll] & NEIGHMASK; + if (mask[l] & groupbit) { + // interface particles: l can be ghost atoms + int ml = tag2mat[tag[l]]; + temp += (ndotGww[ml][mi]) * G2ww[ml][mi] * area[l] * ed[l]; + } + } + G3ww[mi][mi] = temp; + //Rww[mi][mi] += G3ww[mi][mi]; + buffer1[mi][mi] += G3ww[mi][mi]; + } + + // including the diagonal term + double a1 = em[i] * (em[i] - 1.0); + double a2 = 1.0 - em[i] - em[i]; + // The first term (w/ G1ww) contributes the most to Rww + // the second term (w/ G2ww) includes certain correction + //Rww[mi][mi] = a1 * G1ww[mi][mi] + a2 * G2ww[mi][mi]; + buffer1[mi][mi] = a1 * G1ww[mi][mi] + a2 * G2ww[mi][mi]; + } + } + + MPI_Allreduce(buffer1[0],Rww[0],num_induced_charges*num_induced_charges, + MPI_DOUBLE,MPI_SUM,world); + + #ifdef _POLARIZE_DEBUG + if (comm->me == 0) { + FILE* fp = fopen("Rww-functional.txt", "w"); + for (int i = 0; i < num_induced_charges; i++) + fprintf(fp, "%d %g %g %g\n", i, Rww[i][i], Rww[i][num_induced_charges/2], + Rww[num_induced_charges/2][i]); + fclose(fp); + } + #endif +} + +/* ---------------------------------------------------------------------- */ + +void FixPolarizeFunctional::calculate_qiRqw_cutoff() +{ + int ii, i, k, kk, jnum; + double xtmp, ytmp, ztmp, delx, dely, delz, r; + int *mask = atom->mask; + int *type = atom->type; + tagint *tag = atom->tag; + int nlocal = atom->nlocal; + double **x = atom->x; + double *q = avec->q_real; + double *epsilon = avec->epsilon; + double *area = avec->area; + double **norm = avec->mu; + double *ed = avec->ed; + double *em = avec->em; + + // invoke full neighbor list + + int inum,*ilist,*jlist,*numneigh,**firstneigh; + inum = list->inum; // number of entries in the neighbor list + ilist = list->ilist; // ilist[ii] gives the atom index of the entry ii in the list + numneigh = list->numneigh; // numneigh[i] gives the number of neighbors of local atom i + firstneigh = list->firstneigh; // firstneigh[i] gives the pointer to the neighbors of i + + // calculate G1qw_real + // fill up buffer1 with local G1qw_real + + for (int i = 0; i < num_ions; i++) + for (int j = 0; j < num_induced_charges; j++) buffer1[i][j] = 0; + + for (ii = 0; ii < inum; ii++) { + i = ilist[ii]; + if (!(mask[i] & groupbit)) { + // ion particles + int mi = ion_idx[i]; + xtmp = x[i][0]; + ytmp = x[i][1]; + ztmp = x[i][2]; + jlist = firstneigh[i]; + jnum = numneigh[i]; + + for (kk = 0; kk < jnum; kk++) { + k = jlist[kk] & NEIGHMASK; + if (mask[k] & groupbit) { + // interface particles: k can be ghost atoms + delx = xtmp - x[k][0]; + dely = ytmp - x[k][1]; + delz = ztmp - x[k][2]; + domain->minimum_image(delx,dely,delz); + r = sqrt(delx * delx + dely * dely + delz * delz); + + int mk = tag2mat[tag[k]]; + //G1qw_real[mi][mk] = greens_real(r); + buffer1[mi][mk] = greens_real(r); + } + } + } + } + + MPI_Allreduce(buffer1[0],G1qw_real[0],num_ions*num_induced_charges,MPI_DOUBLE,MPI_SUM,world); + + // the following loop need the above results: gradG1wq_real + // calculate sum1G1qw_epsilon and sum2ndotGwq_epsilon + // fill up rhs1 with local sum1G1qw_epsilon and rhs2 with local sum2ndotGwq_epsilon + + memset(rhs1, 0, num_induced_charges*sizeof(double)); + memset(rhs2, 0, num_induced_charges*sizeof(double)); + + for (kk = 0; kk < inum; kk++) { + k = ilist[kk]; // k is local index + if (mask[k] & groupbit) { + // interface particles + int mk = induced_charge_idx[k]; + xtmp = x[k][0]; + ytmp = x[k][1]; + ztmp = x[k][2]; + jlist = firstneigh[k]; + jnum = numneigh[k]; + + double tempndotG[3] = {0.0, 0.0, 0.0}; + double temp_sum1 = 0; + for (ii = 0; ii < jnum; ii++) { + i = jlist[ii] & NEIGHMASK; + if (!(mask[i] & groupbit)) { + // ions particles: i can be ghost atoms + delx = x[i][0] - xtmp; + dely = x[i][1] - ytmp; + delz = x[i][2] - ztmp; + domain->minimum_image(delx,dely,delz); + + int mi = tag2mat_ions[tag[i]]; //ion_idx[i]; //get_matrix_index_from_local_index(i); + //calculate_grad_greens_real(gradG1wq_real[mk][mi], delx, dely, delz); + double gradG1wq[3]; + calculate_grad_greens_real(gradG1wq, delx, dely, delz); + MathExtra::scale3(-1.0, gradG1wq); + + tempndotG[0] += gradG1wq[0] * (q[i] / epsilon[i]); + tempndotG[1] += gradG1wq[1] * (q[i] / epsilon[i]); + tempndotG[2] += gradG1wq[2] * (q[i] / epsilon[i]); + temp_sum1 += G1qw_real[mi][mk] * q[i] / epsilon[i]; + } + } + //sum1G1qw_epsilon[mk] = temp_sum1;// + ewaldDielectric->sum1G1qw_k_epsilon[mk]; + rhs1[mk] = temp_sum1; + //sum2ndotGwq_epsilon[mk] = MathExtra::dot3(norm[k], tempndotG); + rhs2[mk] = MathExtra::dot3(norm[k], tempndotG); + } + } + + MPI_Allreduce(rhs1,sum1G1qw_epsilon,num_induced_charges,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(rhs2,sum2ndotGwq_epsilon,num_induced_charges,MPI_DOUBLE,MPI_SUM,world); + + // calculate G2, gradient G2 + // sum2G2wq and sum1G2qw + +// for (int i = 0; i < num_induced_charges; i++) rhs1[i] = rhs2[i] = 0; + memset(rhs1, 0, num_induced_charges*sizeof(double)); + memset(rhs2, 0, num_induced_charges*sizeof(double)); + + for (kk = 0; kk < inum; kk++) { + k = ilist[kk]; // k is local index + if (mask[k] & groupbit) { + // interface particles + int mk = induced_charge_idx[k]; + jlist = firstneigh[k]; + jnum = numneigh[k]; + + double tempwq = 0; + double temp = 0; + for (ii = 0; ii < jnum; ii++) { + i = jlist[ii] & NEIGHMASK; + if (mask[i] & groupbit) { + // interface particles: i can be ghost atoms + int mi = tag2mat[tag[i]]; + tempwq += G1ww[mk][mi] * (sum2ndotGwq_epsilon[mi]) * area[i] * ed[i]; + temp += sum1G1qw_epsilon[mi] * (ndotGww[mi][mk]) * area[i] * ed[i]; + } + } + + // add the corresponding self terms + tempwq += G1ww[mk][mk] * (sum2ndotGwq_epsilon[mk]) * area[k] * ed[k]; + temp += sum1G1qw_epsilon[mk] * (ndotGww[mk][mk]) * area[k] * ed[k]; + + //sum2G2wq[mk] = tempwq; + rhs1[mk] = tempwq; + //sum1G2qw[mk] = temp; + rhs2[mk] = temp; + } + } + + MPI_Allreduce(rhs1,sum2G2wq,num_induced_charges,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(rhs2,sum1G2qw,num_induced_charges,MPI_DOUBLE,MPI_SUM,world); + + // calculate G3, gradient G3 + // fill up rhs1 with local qiRqwVector + + memset(rhs1, 0, num_induced_charges*sizeof(double)); + + for (kk = 0; kk < inum; kk++) { + k = ilist[kk]; // k is local index + if (mask[k] & groupbit) { + // interface particles + int mk = induced_charge_idx[k]; + jlist = firstneigh[k]; + jnum = numneigh[k]; + + double sum1G3qw = 0; + double qiRwwVectorTemp1 = 0; + for (ii = 0; ii < jnum; ii++) { + i = jlist[ii] & NEIGHMASK; + if (mask[i] & groupbit) { + // interface particles: i can be ghost atoms + int mi = tag2mat[tag[i]]; + sum1G3qw += sum2ndotGwq_epsilon[mi] * G2ww[mi][mk] * area[i] * ed[i]; + } else { + // ions particles: i can be ghost atoms + int mi = tag2mat_ions[tag[i]]; //ion_idx[i]; + qiRwwVectorTemp1 += q[i] * (1.0 - em[k] / epsilon[i]) * G1qw_real[mi][mk]; + } + } + // qiRwwVectorTemp1 += ewaldDielectric->sum1G1qw_k[mk] - em[k] * ewaldDielectric->sum1G1qw_k_epsilon[mk]; + + // add the diagonal term + sum1G3qw += sum2ndotGwq_epsilon[mk] * G2ww[mk][mk] * area[k] * ed[k]; + + // qiRwwVectorTemp2 is a significant contribution, of which sum2G2wq is significant + double qiRwwVectorTemp2 = (1.0 - 2.0 * em[k]) * sum2G2wq[mk] + sum1G2qw[mk] + 2.0 * sum1G3qw; +// qiRqwVector[mk] = qiRwwVectorTemp1 + qiRwwVectorTemp2; + rhs1[mk] = qiRwwVectorTemp1 + qiRwwVectorTemp2; + } + } + + MPI_Allreduce(rhs1,qiRqwVector,num_induced_charges,MPI_DOUBLE,MPI_SUM,world); + + #ifdef _POLARIZE_DEBUG + if (comm->me == 0) { + FILE* fp = fopen("qRqw-functional.txt", "w"); + for (int i = 0; i < num_induced_charges; i++) + fprintf(fp, "%d %g\n", i, qiRqwVector[i]); + fclose(fp); + } + #endif +} + +/* ---------------------------------------------------------------------- + set dielectric params for the atom in the group +------------------------------------------------------------------------- */ + +void FixPolarizeFunctional::set_dielectric_params(double ediff, double emean, + double epsiloni, double areai, int set_charge, double qreali) +{ + double *area = avec->area; + double *ed = avec->ed; + double *em = avec->em; + double *q_real = avec->q_real; + double *epsilon = avec->epsilon; + int *mask = atom->mask; + int nlocal = atom->nlocal; + + for (int i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) { + ed[i] = ediff; + em[i] = emean; + if (areai > 0) area[i] = areai; + if (epsiloni > 0) epsilon[i] = epsiloni; + if (set_charge) q_real[i] = qreali; + } + } +} + +/* ---------------------------------------------------------------------- + real Green's function +------------------------------------------------------------------------ */ + +double FixPolarizeFunctional::greens_real(double r) +{ + return erfc(g_ewald * r) / r; +} + +/* ---------------------------------------------------------------------- */ + +double FixPolarizeFunctional::grad_greens_real_factor(double r) +{ + double alpharij = g_ewald * r; + double factor = erfc(alpharij) + 2.0 * alpharij / MY_PIS * exp(-(alpharij * alpharij)); + double r3 = r*r*r; + return (factor * (-1.0 / r3)); +} + +/* ---------------------------------------------------------------------- */ + +void FixPolarizeFunctional::calculate_grad_greens_real(double *vec, double dx, double dy, double dz) +{ + double r = sqrt(dx * dx + dy * dy + dz * dz); + double real = grad_greens_real_factor(r); + vec[0] = real * dx; + vec[1] = real * dy; + vec[2] = real * dz; +} + +/* ---------------------------------------------------------------------- */ + +double FixPolarizeFunctional::calculate_greens_ewald(double dx, double dy, double dz) +{ + // excluding the reciprocal term + double r = sqrt(dx * dx + dy * dy + dz * dz); + return greens_real(r); +} + +/* ---------------------------------------------------------------------- */ + +void FixPolarizeFunctional::calculate_grad_greens_ewald(double *vec, double dx, double dy, double dz) + { + // real part of grad greens, excluding the reciprocal term + calculate_grad_greens_real(vec, dx, dy, dz); +} + +/* ---------------------------------------------------------------------- */ + +void FixPolarizeFunctional::calculate_matrix_multiply_vector(double **matrix, + double *in_vec, double *out_vec, int M) +{ + #pragma parallel omp for + for (int k = 0; k < M; ++k) { + double temp = 0.0; + for (int l = 0; l < M; ++l) { + temp += matrix[k][l] * in_vec[l]; + } + out_vec[k] = temp; + } +} + +/* ---------------------------------------------------------------------- */ + +double FixPolarizeFunctional::calculate_greens_ewald_self_vertex(double area) +{ + // excluding the reciprocal term + double corr = 2.0 * MY_PIS / sqrt(area); + double self_energy = -2.0 * g_ewald / MY_PIS; + return corr + self_energy; +} + +/* ---------------------------------------------------------------------- */ + +double FixPolarizeFunctional::calculate_ndotgreens_ewald_self_vertex(double area, double curvature) +{ + // this term is important, cannot be set to zero. see .pptx + // curvature = 1 / R, minus if norm is inverse of R to center. + // Honghao Li's result, the same with Erik's paper, J Chem Phys 140 064903 (2014) + return curvature * MY_PIS / sqrt(area); +} + +/* ---------------------------------------------------------------------- + compute the inner product between two vectors x and y: x^t * y + where ^t is the transpose operator +-- ---------------------------------------------------------------------- */ + +double FixPolarizeFunctional::inner_product(double* x, double* y, int N) +{ + double t = 0; + for (int i = 0; i < N; i++) t += x[i]*y[i]; + return t; +} + +/* ---------------------------------------------------------------------- */ + +void FixPolarizeFunctional::cg_solver(double** A, double* b, double* x, int N) +{ + calculate_matrix_multiply_vector(A, x, cg_p, N); + for (int i = 0; i < N; i++) { + cg_r[i] = b[i] - cg_p[i]; + cg_p[i] = cg_r[i]; + } + double rsq = inner_product(cg_r, cg_r, N); + + // maximum number of iterations do not exceed N + for (int k = 0; k < N; k++) { + + // Ap = A * p + calculate_matrix_multiply_vector(A, cg_p, cg_Ap, N); + + // pAp = p^t * Ap + double pAp = inner_product(cg_p, cg_Ap, N); + + // alpha = r^t * r / pAp + double alpha = rsq / pAp; + + // x = x + alpha * p + // r = r - alpha * Ap + for (int i = 0; i < N; i++) { + x[i] = x[i] + alpha*cg_p[i]; + cg_r[i] = cg_r[i] - alpha*cg_Ap[i]; + } + double rsq_new = inner_product(cg_r, cg_r, N); + if (rsq_new < EPSILON) break; + + // beta = rsq_new / rsq + double beta = rsq_new / rsq; + for (int i = 0; i < N; i++) + cg_p[i] = cg_r[i] + beta*cg_p[i]; + rsq = rsq_new; + } + +} diff --git a/src/USER-DIELECTRIC/fix_polarize_functional.h b/src/USER-DIELECTRIC/fix_polarize_functional.h new file mode 100644 index 0000000000..4fe021e760 --- /dev/null +++ b/src/USER-DIELECTRIC/fix_polarize_functional.h @@ -0,0 +1,127 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef FIX_CLASS + +FixStyle(polarize/functional,FixPolarizeFunctional) + +#else + +#ifndef LMP_FIX_POLARIZE_FUNCTIONAL_H +#define LMP_FIX_POLARIZE_FUNCTIONAL_H + +#include "fix.h" + +namespace LAMMPS_NS { + +class FixPolarizeFunctional : public Fix { + public: + FixPolarizeFunctional(class LAMMPS *, int, char **); + ~FixPolarizeFunctional(); + int setmask(); + void init(); + void init_list(int,class NeighList *); + void setup(int); + void setup_pre_force(int vflag); + void pre_force(int); + int pack_exchange(int, double *); + int unpack_exchange(int, double *); + int pack_forward_comm(int, int*, double*, int, int*); + void unpack_forward_comm(int, int, double*); + + int modify_param(int, char **); + double memory_usage(); + void allocate(); + void deallocate(); + void grow_arrays(int); + void copy_arrays(int, int, int); + void set_arrays(int); + + protected: + int nmax; + class AtomVecDielectric* avec; + class NeighList *list; + + void set_dielectric_params(double, double, double, double, int, double); + void charge_rescaled(int); + void update_induced_charges(); + + double **inverse_matrix; + double **G1ww, **ndotGww, **G2ww, **G3ww, **Rww; + + int* tag2mat; // tag2mat[atom->tag[i]] = the index of the atoms in the induced charge arrays from atom tags + int* mat2tag; // mat2tag[idx] = the atom tag of the induced charge idx in the induced charge arrays + int* induced_charge_idx; // return the index of the atoms in the induced charge arrays + int num_induced_charges; // total number of induced charges + double* induced_charges; // values of induced charges + int* tag2mat_ions; // tag2mat_ions[atom->tag[i]] returns the index of the atoms in the ion arrays from atom tags + int* mat2tag_ions; // mat2tag_ions[idx] returns the atom tag of the ion idx in the ion arrays + int* ion_idx; // return the index of the atoms in the ion arrays + int num_ions; // total number of ions + double* rhs1; + double* rhs2; + double** buffer1; + double** buffer2; + + int allocated; + int kspaceflag; // 1 if kspace is used for the induced charge computation + double **efield_pair; // electrical field at position of atom i due to pair contribution + double **efield_kspace; // electrical field at position of atom i due to kspace contribution + int torqueflag,extraflag; + double g_ewald; + int includingG3ww; + + void calculate_Rww_cutoff(); + void calculate_qiRqw_cutoff(); + + // qw, qq ion-interface terms + double *qiRqwVector; + double **G1qw_real; + double *sum2G2wq; + double *sum1G2qw; + double *sum1G1qw_epsilon; + double *sum2ndotGwq_epsilon; + + // conjugate gradient solver + double *cg_r; + double *cg_p; + double *cg_Ap; + double **cg_A; + + void calculate_matrix_multiply_vector(double **, double *, double *, int); + double inner_product(double*, double*, int); + void cg_solver(double**, double*, double*, int); + + inline double greens_real(double); + inline double grad_greens_real_factor(double); + inline void calculate_grad_greens_real(double *, double, double, double); + inline double calculate_greens_ewald(double, double, double); + inline void calculate_grad_greens_ewald(double *, double, double, double); + inline double calculate_greens_ewald_self_vertex(double); + inline double calculate_ndotgreens_ewald_self_vertex(double, double); +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +E: Illegal ... command + +Self-explanatory. Check the input script syntax and compare to the +documentation for the command. You can use -echo screen as a +command-line option when running LAMMPS to see the offending line. + +*/ diff --git a/src/USER-DIELECTRIC/fix_qeq_dielectric.cpp b/src/USER-DIELECTRIC/fix_qeq_dielectric.cpp new file mode 100644 index 0000000000..0489351ed6 --- /dev/null +++ b/src/USER-DIELECTRIC/fix_qeq_dielectric.cpp @@ -0,0 +1,1281 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing authors: + full-matrix: Honghao Li (Northwestern University) + neighbor list: Trung Nguyen (Northwestern University) + Ref.: Jadhao, Solis, Olvera de la Cruz, J. Chem. Phys. 138, 054119, 2013 +------------------------------------------------------------------------- */ + +#include +#include +#include +#include +#include +#include +#include "fix_qeq_dielectric.h" +#include "atom.h" +#include "atom_vec_dielectric.h" +#include "comm.h" +#include "domain.h" +#include "neighbor.h" +#include "neigh_list.h" +#include "neigh_request.h" +#include "update.h" +#include "force.h" +#include "kspace.h" +#include "group.h" +#include "pair.h" +#include "respa.h" +#include "math_const.h" +#include "math_extra.h" +#include "memory.h" +#include "citeme.h" +#include "error.h" +#include + +using namespace LAMMPS_NS; +using namespace FixConst; +using namespace MathConst; +using namespace MathExtra; + +#define _POLARIZE_DEBUG + +/* ---------------------------------------------------------------------- */ + +FixQEqDielectric::FixQEqDielectric(LAMMPS *lmp, int narg, char **arg) : + Fix(lmp, narg, arg) +{ + if (narg != 3) error->all(FLERR,"Illegal fix qeq/dielectric command"); + + avec = (AtomVecDielectric *) atom->style_match("dielectric"); + if (!avec) error->all(FLERR,"fix qeq/dielectric requires atom style dielectric"); + + comm_forward = 1; + + // register with Atom class + grow_arrays(atom->nmax); + atom->add_callback(0); + + // kspace info +// ewaldDielectric = NULL; + + tags_interface = NULL; + tags_ions = NULL; + + // interface terms + Rww = NULL; + inverse_matrix = NULL; + G1ww = NULL; + G2ww = NULL; + G3ww = NULL; + ndotGww = NULL; + gradG1ww = NULL; + + qiRqwVector = NULL; + G1qq_real = NULL; + G1qw_real = NULL; + gradG1wq_real = NULL; + sum2G2wq = NULL; + + sum1G2qw = NULL; + sum1G3qw = NULL; + sum1G1qw_epsilon = NULL; + sum2ndotGwq_epsilon = NULL; + + q_induced_charges = NULL; + + full = 1; + includingG3ww = 1; +} + +/* ---------------------------------------------------------------------- */ + +FixQEqDielectric::~FixQEqDielectric() +{ + // unregister callbacks to this fix from Atom class + + if (copymode) return; + + atom->delete_callback(id,0); + +// if (ewaldDielectric) delete ewaldDielectric; +// ewaldDielectric = NULL; + + memory->destroy(tags_interface); + memory->destroy(tags_ions); + + memory->destroy(inverse_matrix); + memory->destroy(Rww); + memory->destroy(G1ww); + memory->destroy(G2ww); + memory->destroy(G3ww); + memory->destroy(ndotGww); + memory->destroy3d_offset(gradG1ww,0); + + memory->destroy(qiRqwVector); + memory->destroy(sum2G2wq); + memory->destroy(G1qq_real); + memory->destroy(G1qw_real); + memory->destroy3d_offset(gradG1wq_real,0); + + memory->destroy(sum1G2qw); + memory->destroy(sum1G3qw); + memory->destroy(sum1G1qw_epsilon); + memory->destroy(sum2ndotGwq_epsilon); + + memory->destroy(q_induced_charges); + +} + +/* ---------------------------------------------------------------------- */ + +int FixQEqDielectric::setmask() +{ + int mask = 0; + mask |= PRE_FORCE; + mask |= PRE_FORCE_RESPA; + mask |= MIN_PRE_FORCE; + return mask; +} + +/* ---------------------------------------------------------------------- */ + +void FixQEqDielectric::init() +{ + if (atom->map_style == 0) + error->all(FLERR,"Fix qeq/dielectric requires an atom map, see atom_modify"); + + ngroup = group->count(igroup); + if (ngroup == 0) error->all(FLERR,"Fix qeq/dielectric group has no atoms"); + + if (comm->nprocs > 1) error->all(FLERR,"Fix qeq/dielectric works with 1 MPI for now"); + + // need a full neighbor list w/ Newton off and ghost neighbors + // built whenever re-neighboring occurs + + int irequest = neighbor->request(this,instance_me); + neighbor->requests[irequest]->pair = 0; + neighbor->requests[irequest]->fix = 1; + neighbor->requests[irequest]->half = 0; + neighbor->requests[irequest]->full = 1; + neighbor->requests[irequest]->occasional = 0; + + if (strstr(update->integrate_style,"respa")) + nlevels_respa = ((Respa *) update->integrate)->nlevels; + + // TODO: some data needed later, some just temp should be defined and release in setup_pre_force. + // initial interfaces terms + n_induced_charges = ngroup; + n_ions = atom->nlocal - n_induced_charges; + if (force->kspace) g_ewald = force->kspace->g_ewald; + else g_ewald = 0.01; + + // kspace +// int narg = 1; +// char *arg[10] = {"0.0000"}; // this does not matter, the accuracy_relative is manually changed to kspace accuracy_relative in constructor. +// ewaldDielectric = new EwaldDielectric(n_induced_charges, n_ions, lmp, narg, arg); + // tags, after ewaldDielectric created, tags will be transfer to that class too. + memory->create(tags_interface, n_induced_charges, "fix:tags_interface"); + memory->create(tags_ions, n_ions, "fix:tags_ions"); + + // initialize all data + // interface terms, all matrix of M*M + memory->create(inverse_matrix, n_induced_charges, n_induced_charges, "fix:inverse_matrix"); + memory->create(Rww, n_induced_charges, n_induced_charges, "fix:Rww"); + memory->create(G1ww, n_induced_charges, n_induced_charges, "fix:G1ww"); + memory->create(ndotGww, n_induced_charges, n_induced_charges, "fix:ndotGww"); + memory->create(G2ww, n_induced_charges, n_induced_charges, "fix:G2ww"); + memory->create(G3ww, n_induced_charges, n_induced_charges, "fix:G3ww"); + memory->create3d_offset(gradG1ww,0,n_induced_charges,n_induced_charges,3,"fix:gradG1ww"); + + // each step, qw, qq terms, temp data + memory->create(qiRqwVector, n_induced_charges, "fix:qiRqwVector"); + memory->create(sum2G2wq, n_induced_charges, "fix:sum2G2wq"); + memory->create(G1qq_real, n_ions, n_ions, "fix:G1qq_real"); + memory->create(G1qw_real, n_ions, n_induced_charges, "fix:G1qw_real"); + memory->create3d_offset(gradG1wq_real,0,n_induced_charges,n_ions,3,"fix:gradG1wq_real"); + // array of M + memory->create(sum1G2qw, n_induced_charges, "fix:sum1G2qw"); + memory->create(sum1G3qw, n_induced_charges, "fix:sum1G3qw"); + memory->create(sum1G1qw_epsilon, n_induced_charges, "fix:sum1G1qw_epsilon"); + memory->create(sum2ndotGwq_epsilon, n_induced_charges, "fix:sum2ndotGwq_epsilon"); + + memory->create(q_induced_charges, n_induced_charges, "fix:q_induced_charges"); + + setup_tags(); +// print_all_properties(); +} + +/* ---------------------------------------------------------------------- */ + +void FixQEqDielectric::init_list(int id, NeighList *ptr) +{ + list = ptr; +} + +/* ---------------------------------------------------------------------- */ + +void FixQEqDielectric::setup_pre_force(int vflag) +{ +// printf("========= calculate structure factors and kspace terms ==========\n"); + // calculate structure factor and kspace terms first + // TODO this step seems not necessary, check it later + // since the 3-loop calculate explicit kspace term G(sk, sm), so the structure factor stuff is not necessary +// ewaldDielectric->calculate_structure_factors(); +// ewaldDielectric->calculate_kspace_terms(); + + printf("==== Start setup_pre_force in fix_qeq_dielectric ======\n"); + clock_t t = clock(); + #ifdef _OPENMP + double startTime = omp_get_wtime(); + #endif + + if (full) calculate_Rww_full(); + else calculate_Rww_cutoff(); + + // calculate inverse matrix (Rww + Rww^T)^(-1), + printf("==== Calculate the inverse of matrix Rww ======\n"); + calculate_inverse_matrix(Rww, inverse_matrix, n_induced_charges); + + pre_force(vflag); + + printf("==== End setup_pre_force in fix_qeq_dielectric ======\n"); + +} + +/* ---------------------------------------------------------------------- */ + +void FixQEqDielectric::calculate_Rww_full() +{ + int *mask = atom->mask; + int *type = atom->type; + int nlocal = atom->nlocal; + double **x = atom->x; + double *area = avec->area; + double *curvature = avec->curvature; + double **norm = avec->mu; + double *ed = avec->ed; + double *em = avec->em; + + // calculate interface term Rww and the inverse matrix (Rww + Rww^T)^(-1); + + #pragma omp parallel + { + + // calculate G1ww, gradG1ww, ndotG1ww + // =========== Loop over all nlocal ===============, we need all pair G^Kspace(i, j) + #pragma omp for + for (int k = 0; k < n_induced_charges; ++k) { + // nk: all nlocal index in atom[] starts with n---, k is the index of all the matrix + int nk = get_index_interface(k); + double xtmp = x[nk][0]; + double ytmp = x[nk][1]; + double ztmp = x[nk][2]; + + for (int l = 0; l < n_induced_charges; ++l) { + int nl = get_index_interface(l); + + // ik = il, dr = 0, different equation + if (nk == nl) { + G1ww[k][l] = calculate_greens_ewald_self_vertex(area[nk]); + ndotGww[k][l] = calculate_ndotgreens_ewald_self_vertex(area[nk], curvature[nk]) / (4*MY_PI); + continue; + } else { + // k != l + double delx = xtmp - x[nl][0]; + double dely = ytmp - x[nl][1]; + double delz = ztmp - x[nl][2]; + + domain->minimum_image(delx,dely,delz); + + G1ww[k][l] = calculate_greens_ewald(delx, dely, delz); + // gradG1ww is vector, directly change it in the function + calculate_grad_greens_ewald(gradG1ww[k][l], delx, dely, delz); + // use mu to store the normal vector of interface vertex + ndotGww[k][l] = MathExtra::dot3(norm[nk], gradG1ww[k][l]) / (4*MY_PI); + } + } + } + + // calculate G2ww + #pragma omp for + for (int k = 0; k < n_induced_charges; ++k) { + for (int l = 0; l < n_induced_charges; ++l) { + double temp = 0; + for (int m = 0; m < n_induced_charges; ++m) { + int nm = get_index_interface(m); + temp += G1ww[k][m] * ndotGww[m][l] * area[nm] * ed[nm]; + } + G2ww[k][l] = temp; + } + } + + // calculate G3ww and Rww + #pragma omp for + for (int k = 0; k < n_induced_charges; ++k) { + int nk = get_index_interface(k); + for (int l = 0; l < n_induced_charges; ++l) { + int nl = get_index_interface(l); + double temp = 0; + for (int m = 0; m < n_induced_charges; ++m) { + int nm = get_index_interface(m); + temp += (ndotGww[m][k]) * G2ww[m][l] * area[nm] * ed[nm]; + } + G3ww[k][l] = temp; + double a1 = em[nk] * (em[nl] - 1.0); + double a2 = 1.0 - em[nk] - em[nl]; + // The first term (w/ G1ww) contributes the most to Rww + // the second term (w/ G2ww) includes certain correction + // the third term (w/ G3ww) corresponds to a minor contribution + Rww[k][l] = a1 * G1ww[k][l] + a2 * G2ww[k][l] + G3ww[k][l]; + } + } + } // end of the whole parallel region + + #ifdef _POLARIZE_DEBUG + if (comm->me == 0) { + FILE* fp = fopen("Rww-qeq-full.txt", "w"); + for (int i = 0; i < n_induced_charges; i++) + fprintf(fp, "%d %g\n", i, Rww[i][i]); + fclose(fp); + } + #endif +} + +/* ---------------------------------------------------------------------- */ + +void FixQEqDielectric::calculate_Rww_cutoff() +{ + int *mask = atom->mask; + int *type = atom->type; + int nlocal = atom->nlocal; + double **x = atom->x; + double *area = avec->area; + double *curvature = avec->curvature; + double **norm = avec->mu; + double *ed = avec->ed; + double *em = avec->em; + + // invoke full neighbor list (will copy or build if necessary) + + int inum,jnum,*ilist,*jlist,*numneigh,**firstneigh; + + inum = list->inum; // number of entries in the neighbor list + ilist = list->ilist; // ilist[ii] gives the atom index of the entry ii in the list + numneigh = list->numneigh; // numneigh[i] gives the number of neighbors of local atom i + firstneigh = list->firstneigh; // firstneigh[i] gives the pointer to the neighbors of i + + // calculate G1ww, gradG1ww, ndotG1ww + + for (int ii = 0; ii < inum; ii++) { + int i = ilist[ii]; + if (mask[i] & groupbit) { + // interface particles + int mi = get_matrix_index_from_local_index(i); + double xtmp = x[i][0]; + double ytmp = x[i][1]; + double ztmp = x[i][2]; + jlist = firstneigh[i]; + jnum = numneigh[i]; + + for (int kk = 0; kk < jnum; kk++) { + int k = jlist[kk] & NEIGHMASK; + if (mask[k] & groupbit) { + // interface particles + double delx = xtmp - x[k][0]; + double dely = ytmp - x[k][1]; + double delz = ztmp - x[k][2]; + domain->minimum_image(delx,dely,delz); + int mk = get_matrix_index_from_local_index(k); + + G1ww[mi][mk] = calculate_greens_ewald(delx, dely, delz); + // gradG1ww is vector, directly change it in the function + calculate_grad_greens_ewald(gradG1ww[mi][mk], delx, dely, delz); + // use mu to store the normal vector of interface vertex + ndotGww[mi][mk] = MathExtra::dot3(norm[i], gradG1ww[mi][mk]) / (4*MY_PI); + } + } + + // special treatment for the diagonal terms because in the above loop there is no mk == mi + + G1ww[mi][mi] = calculate_greens_ewald_self_vertex(area[i]); + ndotGww[mi][mi] = calculate_ndotgreens_ewald_self_vertex(area[i], curvature[i]) / (4*MY_PI); + } + } + + // calculate G2ww + + for (int ii = 0; ii < inum; ii++) { + int i = ilist[ii]; + if (mask[i] & groupbit) { + // interface particles + int mi = get_matrix_index_from_local_index(i); + jlist = firstneigh[i]; + jnum = numneigh[i]; + + for (int kk = 0; kk < jnum; kk++) { + int k = jlist[kk] & NEIGHMASK; + + if (mask[k] & groupbit) { + // interface particles + int mk = get_matrix_index_from_local_index(k); + double temp = 0; + for (int ll = 0; ll < jnum; ll++) { + int l = jlist[ll] & NEIGHMASK; + if (mask[l] & groupbit) { + // interface particles + int ml = get_matrix_index_from_local_index(l); + temp += G1ww[mi][ml] * ndotGww[ml][mk] * area[l] * ed[l]; + } + } + G2ww[mi][mk] = temp; + } + } + + // including the diagonal term + double temp = 0; + for (int kk = 0; kk < jnum; kk++) { + int k = jlist[kk] & NEIGHMASK; + if (mask[k] & groupbit) { + // interface particles + int mk = get_matrix_index_from_local_index(k); + temp += G1ww[mi][mk] * ndotGww[mk][mi] * area[k] * ed[k]; + } + } + G2ww[mi][mi] = temp; + } + } + + // calculate G3ww and Rww +/* + // G3ww is implemented as in _exact(), but can be optionally excluded + for (int k = 0; k < n_induced_charges; ++k) { + int nk = get_index_interface(k); + for (int l = 0; l < n_induced_charges; ++l) { + int nl = get_index_interface(l); + double a1 = em[nk] * (em[nl] - 1.0); + double a2 = 1.0 - em[nk] - em[nl]; + // The first term (w/ G1ww) contributes the most to Rww + // the second term (w/ G2ww) includes certain correction + Rww[k][l] = a1 * G1ww[k][l] + a2 * G2ww[k][l]; + + // the third term (w/ G3ww) corresponds to a minor contribution + if (includingG3ww) { + double temp = 0; + for (int m = 0; m < n_induced_charges; ++m) { + int nm = get_index_interface(m); + temp += (ndotGww[m][k]) * G2ww[m][l] * area[nm] * ed[nm]; + } + G3ww[k][l] = temp; + Rww[k][l] += G3ww[k][l]; + } + } + } +*/ + + for (int ii = 0; ii < inum; ii++) { + int i = ilist[ii]; + if (mask[i] & groupbit) { + // interface particles + int mi = get_matrix_index_from_local_index(i); + jlist = firstneigh[i]; + jnum = numneigh[i]; + + for (int kk = 0; kk < jnum; kk++) { + int k = jlist[kk] & NEIGHMASK; + + if (mask[k] & groupbit) { + // interface particles + int mk = get_matrix_index_from_local_index(k); + + double a1 = em[mi] * (em[mk] - 1.0); + double a2 = 1.0 - em[mi] - em[mk]; + // The first term (w/ G1ww) contributes the most to Rww + // the second term (w/ G2ww) includes certain correction + Rww[mi][mk] = a1 * G1ww[mi][mk] + a2 * G2ww[mi][mk]; + + if (includingG3ww) { + double temp = 0; + for (int ll = 0; ll < jnum; ll++) { + int l = jlist[ll] & NEIGHMASK; + if (mask[l] & groupbit) { + // interface particles + int ml = get_matrix_index_from_local_index(l); + temp += (ndotGww[ml][mi]) * G2ww[ml][mk] * area[l] * ed[l]; + } + } + G3ww[mi][mk] = temp; + Rww[mi][mk] += G3ww[mi][mk]; + } + } + } + + if (includingG3ww) { + double temp = 0; + for (int ll = 0; ll < jnum; ll++) { + int l = jlist[ll] & NEIGHMASK; + if (mask[l] & groupbit) { + // interface particles + int ml = get_matrix_index_from_local_index(l); + temp += (ndotGww[ml][mi]) * G2ww[ml][mi] * area[l] * ed[l]; + } + } + G3ww[mi][mi] = temp; + Rww[mi][mi] += G3ww[mi][mi]; + } + + // including the diagonal term + double a1 = em[i] * (em[i] - 1.0); + double a2 = 1.0 - em[i] - em[i]; + // The first term (w/ G1ww) contributes the most to Rww + // the second term (w/ G2ww) includes certain correction + Rww[mi][mi] = a1 * G1ww[mi][mi] + a2 * G2ww[mi][mi]; + if (includingG3ww) Rww[mi][mi] += G3ww[mi][mi]; + } + } + + #ifdef _POLARIZE_DEBUG + if (comm->me == 0) { + FILE* fp = fopen("Rww-qeq-cutoff.txt", "w"); + for (int i = 0; i < n_induced_charges; i++) + fprintf(fp, "%d %g\n", i, Rww[i][i]); + fclose(fp); + } + #endif +} + +/* ---------------------------------------------------------------------- */ + +void FixQEqDielectric::setup_pre_force_respa(int vflag, int ilevel) +{ + if (ilevel < nlevels_respa-1) return; + setup_pre_force(vflag); +} + +/* ---------------------------------------------------------------------- */ + +void FixQEqDielectric::min_setup_pre_force(int vflag) +{ + setup_pre_force(vflag); +} + +/* ---------------------------------------------------------------------- */ + +void FixQEqDielectric::pre_force(int vflag) +{ +// setup_tags_local(); + + // very important! change all ions q to real q to calculate the structure factor, + // later will change to scaled q to calculate force. + change_all_ions_q_to_real_q(); + + // calculate structure factor and kspace terms first +// ewaldDielectric->calculate_structure_factors(); +// ewaldDielectric->calculate_kspace_terms(); + + // main calculation + if (full) calculate_qiRqw_full(); + else calculate_qiRqw_cutoff(); + + // compute induced charges + compute_induced_charges(); +} + +/* ---------------------------------------------------------------------- */ + +void FixQEqDielectric::calculate_qiRqw_full() +{ + int *mask = atom->mask; + int *type = atom->type; + int nlocal = atom->nlocal; + double **x = atom->x; + double *q = avec->q_real; + double *epsilon = avec->epsilon; + double *area = avec->area; + double **norm = avec->mu; + double *ed = avec->ed; + double *em = avec->em; + + // compute Green's functions + // compute qRqw + + #pragma omp parallel + { + + // calculate G1, gradient G1 + #pragma omp for + for (int i = 0; i < n_ions; i++) { + int ni = get_index_ions(i); + double xtmp = x[ni][0]; + double ytmp = x[ni][1]; + double ztmp = x[ni][2]; + + for (int k = 0; k < n_induced_charges; ++k) { + int nk = get_index_interface(k); + double delx = xtmp - x[nk][0]; + double dely = ytmp - x[nk][1]; + double delz = ztmp - x[nk][2]; + domain->minimum_image(delx,dely,delz); + double r = sqrt(delx * delx + dely * dely + delz * delz); + G1qw_real[i][k] = greens_real(r); + } + } + + // the following loop need the above results, + #pragma omp for + for (int k = 0; k < n_induced_charges; ++k) { + int nk = get_index_interface(k); + double xtmp = x[nk][0]; + double ytmp = x[nk][1]; + double ztmp = x[nk][2]; + double tempndotG[3] = {0.0, 0.0, 0.0}; + double temp_sum1 = 0; + for (int i = 0; i < n_ions; i++) { + int ni = get_index_ions(i); + // posvecqw[i][k] + double delx = x[ni][0] - xtmp; + double dely = x[ni][1] - ytmp; + double delz = x[ni][2] - ztmp; + domain->minimum_image(delx,dely,delz); + calculate_grad_greens_real(gradG1wq_real[k][i], delx, dely, delz); + MathExtra::scale3(-1.0, gradG1wq_real[k][i]); + + tempndotG[0] += gradG1wq_real[k][i][0] * (q[ni] / epsilon[ni]); + tempndotG[1] += gradG1wq_real[k][i][1] * (q[ni] / epsilon[ni]); + tempndotG[2] += gradG1wq_real[k][i][2] * (q[ni] / epsilon[ni]); + temp_sum1 += G1qw_real[i][k] * q[ni] / epsilon[ni]; + } + sum1G1qw_epsilon[k] = temp_sum1; // + ewaldDielectric->sum1G1qw_k_epsilon[k]; +// double temp_sum2 = 0; +// for (int ic = 0; ic < 3; ++ic) { +// temp_sum2 += norm[nk][ic] * (tempndotG[ic] + ewaldDielectric->sum2gradG1wq_k_epsilon[k][ic]); +// temp_sum2 += norm[nk][ic] * (tempndotG[ic]); +// } + double temp_sum2 = MathExtra::dot3(norm[nk], tempndotG); + sum2ndotGwq_epsilon[k] = temp_sum2; + } + + // calculate G2, gradient G2 + #pragma omp for nowait + for (int k = 0; k < n_induced_charges; ++k) { + double tempwq = 0; + for (int m = 0; m < n_induced_charges; ++m) { + int nm = get_index_interface(m); + tempwq += G1ww[k][m] * (sum2ndotGwq_epsilon[m]) * area[nm] * ed[nm]; + } + sum2G2wq[k] = tempwq; + } + + #pragma omp for + for (int k = 0; k < n_induced_charges; ++k) { + double temp = 0; + for (int m = 0; m < n_induced_charges; ++m) { + int nm = get_index_interface(m); + temp += sum1G1qw_epsilon[m] * (ndotGww[m][k]) * area[nm] * ed[nm]; + } + sum1G2qw[k] = temp; + } + + // calculate G3, gradient G3 + #pragma omp for + for (int k = 0; k < n_induced_charges; ++k) { + int nk = get_index_interface(k); + + double qiRwwVectorTemp1 = 0; + for (int i = 0; i < n_ions; ++i) { + int ni = get_index_ions(i); + qiRwwVectorTemp1 += q[ni] * (1.0 - em[nk] / epsilon[ni]) * G1qw_real[i][k]; + } +// qiRwwVectorTemp1 += ewaldDielectric->sum1G1qw_k[k] - em[nk] * ewaldDielectric->sum1G1qw_k_epsilon[k]; + + double temp = 0; + for (int m = 0; m < n_induced_charges; ++m) { + int nm = get_index_interface(m); + temp += sum2ndotGwq_epsilon[m] * G2ww[m][k] * area[nm] * ed[nm]; + } + sum1G3qw[k] = temp; + + // qiRwwVectorTemp2 is a significant contribution, of which sum2G2wq is significant + double qiRwwVectorTemp2 = (1.0 - 2.0 * em[nk]) * sum2G2wq[k] + sum1G2qw[k] + 2.0 * sum1G3qw[k]; + qiRqwVector[k] = qiRwwVectorTemp1 + qiRwwVectorTemp2; + } + + } // end of parallel region +} + +/* ---------------------------------------------------------------------- */ + +void FixQEqDielectric::calculate_qiRqw_cutoff() +{ + int ii, i, mi, k, kk, mk, jnum; + double xtmp, ytmp, ztmp, delx, dely, delz, r; + int *mask = atom->mask; + int *type = atom->type; + int nlocal = atom->nlocal; + double **x = atom->x; + double *q = avec->q_real; + double *epsilon = avec->epsilon; + double *area = avec->area; + double **norm = avec->mu; + double *ed = avec->ed; + double *em = avec->em; + + // invoke full neighbor list (will copy or build if necessary) + + int inum,*ilist,*jlist,*numneigh,**firstneigh; + + inum = list->inum; // number of entries in the neighbor list + ilist = list->ilist; // ilist[ii] gives the atom index of the entry ii in the list + numneigh = list->numneigh; // numneigh[i] gives the number of neighbors of local atom i + firstneigh = list->firstneigh; // firstneigh[i] gives the pointer to the neighbors of i + + for (ii = 0; ii < inum; ii++) { + i = ilist[ii]; + if (!(mask[i] & groupbit)) { + // ion particles + mi = get_matrix_index_from_local_index(i); + xtmp = x[i][0]; + ytmp = x[i][1]; + ztmp = x[i][2]; + jlist = firstneigh[i]; + jnum = numneigh[i]; + + for (kk = 0; kk < jnum; kk++) { + k = jlist[kk] & NEIGHMASK; + if (mask[k] & groupbit) { + // interface particles + delx = xtmp - x[k][0]; + dely = ytmp - x[k][1]; + delz = ztmp - x[k][2]; + domain->minimum_image(delx,dely,delz); + r = sqrt(delx * delx + dely * dely + delz * delz); + mk = get_matrix_index_from_local_index(k); + G1qw_real[mi][mk] = greens_real(r); + } + } + } + } + + // the following loop need the above results, + for (kk = 0; kk < inum; kk++) { + k = ilist[kk]; // k is local index + if (mask[k] & groupbit) { + // interface particles + mk = get_matrix_index_from_local_index(k); + xtmp = x[k][0]; + ytmp = x[k][1]; + ztmp = x[k][2]; + jlist = firstneigh[k]; + jnum = numneigh[k]; + + double tempndotG[3] = {0.0, 0.0, 0.0}; + double temp_sum1 = 0; + for (ii = 0; ii < jnum; ii++) { + i = jlist[ii] & NEIGHMASK; + if (!(mask[i] & groupbit)) { + // ions particles + delx = x[i][0] - xtmp; + dely = x[i][1] - ytmp; + delz = x[i][2] - ztmp; + domain->minimum_image(delx,dely,delz); + + mi = get_matrix_index_from_local_index(i); + calculate_grad_greens_real(gradG1wq_real[mk][mi], delx, dely, delz); + MathExtra::scale3(-1.0, gradG1wq_real[mk][mi]); + + tempndotG[0] += gradG1wq_real[mk][mi][0] * (q[i] / epsilon[i]); + tempndotG[1] += gradG1wq_real[mk][mi][1] * (q[i] / epsilon[i]); + tempndotG[2] += gradG1wq_real[mk][mi][2] * (q[i] / epsilon[i]); + temp_sum1 += G1qw_real[mi][mk] * q[i] / epsilon[i]; + } + } + sum1G1qw_epsilon[mk] = temp_sum1;// + ewaldDielectric->sum1G1qw_k_epsilon[mk]; +// double temp_sum2 = 0; +// for (int ic = 0; ic < 3; ++ic) { +// temp_sum2 += norm[k][ic] * (tempndotG[ic] + ewaldDielectric->sum2gradG1wq_k_epsilon[mk][ic]); +// temp_sum2 += norm[k][ic] * (tempndotG[ic]); +// } + double temp_sum2 = MathExtra::dot3(norm[k], tempndotG); + sum2ndotGwq_epsilon[mk] = temp_sum2; + } + } + + // calculate G2, gradient G2 + for (kk = 0; kk < inum; kk++) { + k = ilist[kk]; // k is local index + if (mask[k] & groupbit) { + // interface particles + mk = get_matrix_index_from_local_index(k); + jlist = firstneigh[k]; + jnum = numneigh[k]; + + double tempwq = 0; + double temp = 0; + for (ii = 0; ii < jnum; ii++) { + i = jlist[ii] & NEIGHMASK; + if (mask[i] & groupbit) { + // interface particles + mi = get_matrix_index_from_local_index(i); + tempwq += G1ww[mk][mi] * (sum2ndotGwq_epsilon[mi]) * area[i] * ed[i]; + temp += sum1G1qw_epsilon[mi] * (ndotGww[mi][mk]) * area[i] * ed[i]; + } + } + + // add the corresponding self terms + tempwq += G1ww[mk][mk] * (sum2ndotGwq_epsilon[mk]) * area[k] * ed[k]; + temp += sum1G1qw_epsilon[mk] * (ndotGww[mk][mk]) * area[k] * ed[k]; + + sum2G2wq[mk] = tempwq; + sum1G2qw[mk] = temp; + } + } + + // calculate G3, gradient G3 + for (kk = 0; kk < inum; kk++) { + k = ilist[kk]; // k is local index + if (mask[k] & groupbit) { + // interface particles + mk = get_matrix_index_from_local_index(k); + + // qiRwwVectorTemp2 is a significant contribution, of which sum2G2wq is significant + double qiRwwVectorTemp1 = 0; + double qiRwwVectorTemp2 = (1.0 - 2.0 * em[k]) * sum2G2wq[mk]; + + if (includingG3ww) { + jlist = firstneigh[k]; + jnum = numneigh[k]; + double temp = 0; + for (ii = 0; ii < jnum; ii++) { + i = jlist[ii] & NEIGHMASK; + if (mask[i] & groupbit) { + // interface particles + mi = get_matrix_index_from_local_index(i); + temp += sum2ndotGwq_epsilon[mi] * G2ww[mi][mk] * area[i] * ed[i]; + } else { + // ions particles + mi = get_matrix_index_from_local_index(i); + qiRwwVectorTemp1 += q[i] * (1.0 - em[k] / epsilon[i]) * G1qw_real[mi][mk]; + } + } + // qiRwwVectorTemp1 += ewaldDielectric->sum1G1qw_k[mk] - em[k] * ewaldDielectric->sum1G1qw_k_epsilon[mk]; + + // add the corresponding self term + temp += sum2ndotGwq_epsilon[mk] * G2ww[mk][mk] * area[k] * ed[k]; + sum1G3qw[mk] = temp; + + qiRwwVectorTemp2 += sum1G2qw[mk] + 2.0 * sum1G3qw[mk]; + } + +// double qiRwwVectorTemp2 = (1.0 - 2.0 * em[k]) * sum2G2wq[mk] + + sum1G2qw[mk] + 2.0 * sum1G3qw[mk]; + qiRqwVector[mk] = qiRwwVectorTemp1 + qiRwwVectorTemp2; + } + } + #ifdef _POLARIZE_DEBUG + if (comm->me == 0) { + FILE* fp = fopen("qRqw-qeq.txt", "w"); + for (int i = 0; i < n_induced_charges; i++) + fprintf(fp, "%d %g\n", i, qiRqwVector[i]); + fclose(fp); + } + #endif +} + +/* ---------------------------------------------------------------------- */ + +void FixQEqDielectric::pre_force_respa(int vflag, int ilevel, int iloop) +{ + if (ilevel == nlevels_respa-1) pre_force(vflag); +} + +/* ---------------------------------------------------------------------- */ + +void FixQEqDielectric::min_pre_force(int vflag) +{ + pre_force(vflag); +} + +/* ---------------------------------------------------------------------- */ + +void FixQEqDielectric::compute_induced_charges() +{ + // inverse_matrix * qRqw, notice the w = - inverse_matrix * qRqw, do not forget the minus sign. + calculate_matrix_multiply_vector(inverse_matrix, qiRqwVector, + q_induced_charges, n_induced_charges); + + // map q induced charges back into atom, from global id tag = k to nlocal index of nk. + for (int k = 0; k < n_induced_charges; ++k) { + int nk = get_index_interface(k); + atom->q[nk] = -q_induced_charges[k] / (4*MY_PI); + } + + // important! change to scaled q to calculate force. + change_all_ions_q_to_scaled_q(); +} + +/* ---------------------------------------------------------------------- */ + +void FixQEqDielectric::change_all_ions_q_to_real_q() +{ + for (int i = 0; i < n_ions; ++i) { + int ni = get_index_ions(i); + atom->q[ni] = avec->q_real[ni]; + } + // communicate the induced charges + // for single MPI, this updates the ghost atoms' charges + comm->forward_comm_fix(this); +} + +/* ---------------------------------------------------------------------- */ + +void FixQEqDielectric::change_all_ions_q_to_scaled_q() +{ + for (int i = 0; i < n_ions; ++i) { + int ni = get_index_ions(i); + atom->q[ni] = avec->q_real[ni] / avec->epsilon[ni]; + } + // communicate the induced charges + // for single MPI, this updates the ghost atoms' charges + comm->forward_comm_fix(this); +} + +/* ---------------------------------------------------------------------- */ + +int FixQEqDielectric::modify_param(int narg, char **arg) +{ + int iarg = 0; + while (iarg < narg) { + if (strcmp(arg[iarg],"full") == 0) { + if (strcmp(arg[iarg+1],"yes") == 0) full = 1; + else if (strcmp(arg[iarg+1],"no") == 0) full = 0; + else error->all(FLERR,"Illegal fix_modify command for fix qeq/dielectric"); + iarg += 2; + } else if (strcmp(arg[iarg],"dielectrics") == 0) { + if (iarg+5 > narg) error->all(FLERR,"Illegal fix_modify command"); + double epsiloni=-1, areai=-1; + double ediff = force->numeric(FLERR,arg[iarg+1]); + double emean = force->numeric(FLERR,arg[iarg+2]); + if (strcmp(arg[iarg+3],"NULL") != 0) epsiloni = force->numeric(FLERR,arg[iarg+3]); + if (strcmp(arg[iarg+4],"NULL") != 0) areai = force->numeric(FLERR,arg[iarg+4]); + + set_dielectric_params(ediff, emean, epsiloni, areai); + + iarg += 5; + } else error->all(FLERR,"Illegal fix_modify command"); + } + + return iarg; +} + +/* ---------------------------------------------------------------------- */ + +int FixQEqDielectric::pack_forward_comm(int n, int *list, double *buf, + int pbc_flag, int *pbc) +{ + int m; + for (m = 0; m < n; m++) buf[m] = atom->q[list[m]]; + return n; +} + +/* ---------------------------------------------------------------------- */ + +void FixQEqDielectric::unpack_forward_comm(int n, int first, double *buf) +{ + int i, m; + for (m = 0, i = first; m < n; m++, i++) atom->q[i] = buf[m]; +} + +/* ---------------------------------------------------------------------- + memory usage of local atom-based arrays +------------------------------------------------------------------------- */ + +double FixQEqDielectric::memory_usage() +{ + double bytes = 0; + + return bytes; +} + +/* ---------------------------------------------------------------------- + allocate fictitious charge arrays +------------------------------------------------------------------------- */ + +void FixQEqDielectric::grow_arrays(int nmax) +{ + +} + +/* ---------------------------------------------------------------------- + copy values within fictitious charge arrays +------------------------------------------------------------------------- */ + +void FixQEqDielectric::copy_arrays(int i, int j, int delflag) +{ + +} + +/* ---------------------------------------------------------------------- + set dielectric params for the atom in the group +------------------------------------------------------------------------- */ + +void FixQEqDielectric::set_dielectric_params(double ediff, double emean, + double epsiloni, double areai) +{ + int i; + double *area = avec->area; + double *ed = avec->ed; + double *em = avec->em; + double *epsilon = avec->epsilon; + int *mask = atom->mask; + int nlocal = atom->nlocal; + + for (i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) { + ed[i] = ediff; + em[i] = emean; + if (areai > 0) area[i] = areai; + if (epsiloni > 0) epsilon[i] = epsiloni; + } + } +} + +/* ---------------------------------------------------------------------- + setup mapping from tags to indices in matrices/vectors +------------------------------------------------------------------------- */ +void FixQEqDielectric::setup_tags() +{ + // This function should not be put into init(), because the indices would change, so put it in pre_force_setup(). + // TODO: this function should be called each time the local index changes. +// if (atom->nlocal != atom->natoms) +// error->all(FLERR, "Single MPI only"); + + //TODO: suppose there are only 2 types of atoms, one for interface and one for ions. + + tagint* tag = atom->tag; + int* mask = atom->mask; + int nlocal = atom->nlocal; + + int i_interface = 0; + int i_ions = 0; + int t; + for (int i = 0; i < nlocal; ++i) { + // interface atoms + if (mask[i] & groupbit) { + t = tag[i]; + tags_interface[i_interface] = t; + if (t >= matrix_index_from_global_id.size()) + matrix_index_from_global_id.resize(t + 1); + matrix_index_from_global_id[t] = i_interface; + i_interface++; + } else { + // ions atoms + t = tag[i]; + tags_ions[i_ions] = t; + if (t >= matrix_index_from_global_id.size()) + matrix_index_from_global_id.resize(t + 1); + matrix_index_from_global_id[t] = i_ions; + i_ions++; + } + } + +// assert(i_interface == n_induced_charges); +// assert(i_ions == n_ions); + + // ewald calculations need the information of all tags +// ewaldDielectric->tags_interface = tags_interface; +// ewaldDielectric->tags_ions = tags_ions; +} + +/* ---------------------------------------------------------------------- */ + +void FixQEqDielectric::print_all_properties() +{ + // set epsilon_ions, em, ed, and q of interfaces + double *q_real = avec->q_real; + double *q = atom->q; + double *epsilon = avec->epsilon; + double *area = avec->area; + double *curvature = avec->curvature; + double **norm = avec->mu; + double *ed = avec->ed; + double *em = avec->em; + // debug file + FILE *debugFile = fopen("_debug.log", "w"); + fprintf(debugFile, "============ Ions Info =============\n"); + for (int i = 0; i < n_ions; ++i) { + int ni = get_index_ions(i); + fprintf(debugFile, "id: %d, local index: %d, real q: %f, rescaled q: %f, epsilon: %f\n", + atom->tag[ni], ni, q_real[ni], atom->q[ni], epsilon[ni]); + } + fprintf(debugFile, "============ Interface Info =============\n"); + for (int k = 0; k < n_induced_charges; ++k) { + int nk = get_index_interface(k); + fprintf(debugFile, "id: %d, local index: %d, xyz: %f %f %f, q: %f, scaled q: %f, area: %f, " + "curvature: %f, em: %f, ed: %f, norm: %f %f %f\n", + atom->tag[nk], nk, atom->x[nk][0], atom->x[nk][1], atom->x[nk][2], + q_real[nk], atom->q[nk], area[nk], curvature[nk], em[nk], ed[nk], + norm[nk][0], norm[nk][1], norm[nk][2]); + } + fclose(debugFile); +} + +/* ---------------------------------------------------------------------- */ + +void FixQEqDielectric::setup_tags_local() +{ + // TODO: this function should be called each time the local index changes. + //TODO: suppose there are only 2 types of atoms, one for interface and one for ions. + tags_interface_local.clear(); + tags_ions_local.clear(); + int i_interface = 0; + int i_ions = 0; + for (int i = 0; i < atom->nlocal; ++i) { + // interface atoms + if ((atom->mask[i] & groupbit)) { + tags_interface_local.push_back(atom->tag[i]); + i_interface++; + } else { + // ions atoms + tags_ions_local.push_back(atom->tag[i]); + i_ions++; + } + } + n_induced_charges_local = i_interface; + n_ions_local = i_ions; + + // ewald calculations need the information of all tags +// ewaldDielectric->tags_interface_local = &tags_interface_local; +// ewaldDielectric->tags_ions_local = &tags_ions_local; +} + +/* ---------------------------------------------------------------------- + real Green's function +------------------------------------------------------------------------ */ + +double FixQEqDielectric::greens_real(double r) +{ + return erfc(g_ewald * r) / r; +} + +/* ---------------------------------------------------------------------- */ + +double FixQEqDielectric::grad_greens_real_factor(double r) +{ + double alpharij = g_ewald * r; + double factor = erfc(alpharij) + 2.0 * alpharij / MY_PIS * exp(-(alpharij * alpharij)); + double r3 = r*r*r; + return factor * (-1.0 / r3); +} + +/* ---------------------------------------------------------------------- */ + +void FixQEqDielectric::calculate_grad_greens_real(double *vec, double dx, double dy, double dz) +{ + double r = sqrt(dx * dx + dy * dy + dz * dz); + double real = grad_greens_real_factor(r); + vec[0] = real * dx; + vec[1] = real * dy; + vec[2] = real * dz; +} + +/* ---------------------------------------------------------------------- */ + +double FixQEqDielectric::calculate_greens_ewald(double dx, double dy, double dz) +{ + double r = sqrt(dx * dx + dy * dy + dz * dz); + return greens_real(r);// + calculate_greens_ewald_reciprocal(dx, dy, dz); +} + +/* ---------------------------------------------------------------------- */ + +void FixQEqDielectric::calculate_grad_greens_ewald(double *vec, double dx, double dy, double dz) + { + // real part of grad greens, must be first, because the vec is reset + calculate_grad_greens_real(vec, dx, dy, dz); + // kspace part, must be 2nd, because the vec is self additive. +// calculate_grad_greens_ewald_reciprocal(vec, dx, dy, dz); +} + +/* ---------------------------------------------------------------------- + given the matrix Rww, calculate inverse matrix (Rww + Rww^T)^(-1), +------------------------------------------------------------------------ */ + +void FixQEqDielectric::calculate_inverse_matrix(double **Rww, double **inverse_matrix, int M) +{ + // convel rt into gsmatrix + gsl_matrix *matrixRww = gsl_matrix_alloc(M, M); + for (int k = 0; k < M; ++k) { + for (int l = 0; l < M; ++l) { + gsl_matrix_set(matrixRww, k, l, Rww[k][l]); + } + } + + // QT: = Rww + Rww ^ T Matrix + gsl_matrix *QT = gsl_matrix_alloc(M, M); + gsl_matrix_transpose_memcpy(QT, matrixRww); + gsl_matrix_add(QT, matrixRww); + + + int sign; + gsl_permutation *p = gsl_permutation_alloc(M); + gsl_linalg_LU_decomp(QT, p, &sign); + gsl_linalg_LU_invert(QT, p, matrixRww); // here matrixRww to store inverse_matrix + + // convert back + for (int k = 0; k < M; ++k) { + for (int l = 0; l < M; ++l) { + inverse_matrix[k][l] = gsl_matrix_get(matrixRww, k, l); + } + } + + gsl_matrix_free(QT); + gsl_permutation_free(p); + gsl_matrix_free(matrixRww); +} + +/* ---------------------------------------------------------------------- */ + +void FixQEqDielectric::calculate_matrix_multiply_vector(double **matrix, + double *in_vec, double *out_vec, int M) +{ + #pragma parallel omp for + for (int k = 0; k < M; ++k) { + double temp = 0.0; + for (int l = 0; l < M; ++l) { + temp += matrix[k][l] * in_vec[l]; + } + out_vec[k] = temp; + } +} + +/* ---------------------------------------------------------------------- */ + +double FixQEqDielectric::calculate_greens_ewald_self_vertex(double area) +{ + // this term is very important, cannot be set to zero. see .pptx + double corr = 2.0 * MY_PIS / sqrt(area); + double self_energy = -2.0 * g_ewald / MY_PIS; + return corr + self_energy;// + calculate_greens_ewald_reciprocal(0, 0, 0); +} + +/* ---------------------------------------------------------------------- */ + +double FixQEqDielectric::calculate_ndotgreens_ewald_self_vertex(double area, double curvature) +{ + // this term is important, cannot be set to zero. see .pptx + // curvature = 1 / R, minus if norm is inverse of R to center. + // Honghao Li's result, the same with Erik's paper, J Chem Phys 140 064903 (2014) + return curvature * MY_PIS / sqrt(area); +} + diff --git a/src/USER-DIELECTRIC/fix_qeq_dielectric.h b/src/USER-DIELECTRIC/fix_qeq_dielectric.h new file mode 100644 index 0000000000..ae573bac55 --- /dev/null +++ b/src/USER-DIELECTRIC/fix_qeq_dielectric.h @@ -0,0 +1,153 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing author: +------------------------------------------------------------------------- */ + +#ifdef FIX_CLASS + +FixStyle(qeq/dielectric,FixQEqDielectric) + +#else + +#ifndef LMP_FIX_QEQ_DIELECTRIC_H +#define LMP_FIX_QEQ_DIELECTRIC_H + +#include +#include "atom.h" +#include "fix.h" +//#include "ewald_dielectric.h" + +namespace LAMMPS_NS { + +class FixQEqDielectric : public Fix { + public: + FixQEqDielectric(class LAMMPS *, int, char **); + ~FixQEqDielectric(); + int setmask(); + void init(); + void init_list(int,class NeighList *); + void setup_pre_force(int); + void pre_force(int); + int modify_param(int, char**); + + void setup_pre_force_respa(int, int); + void pre_force_respa(int, int, int); + void min_setup_pre_force(int); + void min_pre_force(int); + + int pack_forward_comm(int, int *, double *, int, int *); + void unpack_forward_comm(int, int, double *); + void grow_arrays(int); + void copy_arrays(int, int, int); + double memory_usage(); + + void calculate_Rww_full(); + void calculate_Rww_cutoff(); + + void calculate_qiRqw_full(); + void calculate_qiRqw_cutoff(); + + void compute_induced_charges(); + void set_dielectric_params(double, double, double, double); + + protected: + class AtomVecDielectric* avec; + + int nevery; + int nlevels_respa; + class NeighList *list; + + bigint ngroup; + int full; + int includingG3ww; + + // Ewald-related functions and data structures +// class EwaldDielectric *ewaldDielectric; + + // interface term, ww + // matrix M*M + double **inverse_matrix; + double **G1ww, **ndotGww, **G2ww, **G3ww, **Rww; + double ***gradG1ww; //matrix of vectors M*M*3 + double *q_induced_charges; + + // qw, qq ion-interface terms + double *qiRqwVector; + double **G1qq_real, **G1qw_real; + double ***gradG1wq_real; //matrix of vectors M*M*3 + double *sum2G2wq; + // temp data for each steps + double *sum1G2qw; + double *sum1G3qw; + double *sum1G1qw_epsilon; + double *sum2ndotGwq_epsilon; + + double greens_real(double); + double grad_greens_real_factor(double); + void calculate_grad_greens_real(double *, double, double, double); + double calculate_greens_ewald(double, double, double); + void calculate_grad_greens_ewald(double *, double, double, double); + void calculate_inverse_matrix(double **, double **, int); + void calculate_matrix_multiply_vector(double **, double *, double *, int); + double calculate_greens_ewald_self_vertex(double); + double calculate_ndotgreens_ewald_self_vertex(double, double); + double g_ewald; + + private: + // to store the global id (tag) of different particles. + int n_induced_charges, n_ions; + int *tags_interface, *tags_ions; + void setup_tags(); + inline int get_index_interface(int num) { + int id = tags_interface[num]; // id = fixed global id + return atom->map(id); + }; + inline int get_index_ions(int num) { + int id = tags_ions[num]; // id = fixed global id + return atom->map(id); + }; + void change_all_ions_q_to_real_q(); + void change_all_ions_q_to_scaled_q(); + + int n_induced_charges_local, n_ions_local; + std::vector tags_interface_local, tags_ions_local; + std::vector matrix_index_from_local_index; + std::vector matrix_index_from_global_id; + void setup_tags_local(); + inline int get_index_interface_local(int num) { + int id = tags_interface_local[num]; // id = fixed global id + return atom->map(id); + }; + inline int get_index_ions_local(int num) { + int id = tags_ions_local[num]; // id = fixed global id + return atom->map(id); + }; + + inline int get_matrix_index_from_local_index(int k) { + // for atom with local index k, what is the index in matrix (Rww + RwwT)^-1 for the whole system. + // notice this local index include ghost index too! + int id = atom->tag[k]; // id = fixed global id + return matrix_index_from_global_id[id]; + } + + // read all em, ed, norm of interface, and epsilon of ions + void print_all_properties(); + +}; + +} + +#endif +#endif diff --git a/src/USER-DIELECTRIC/msm_dielectric.cpp b/src/USER-DIELECTRIC/msm_dielectric.cpp new file mode 100644 index 0000000000..89308e5be6 --- /dev/null +++ b/src/USER-DIELECTRIC/msm_dielectric.cpp @@ -0,0 +1,366 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing authors: Trung Nguyen (Northwestern) +------------------------------------------------------------------------- */ + +#include +#include +#include +#include +#include +#include "msm_dielectric.h" +#include "atom.h" +#include "atom_vec_dielectric.h" +#include "comm.h" +#include "gridcomm.h" +#include "neighbor.h" +#include "force.h" +#include "pair.h" +#include "domain.h" +#include "memory.h" +#include "error.h" + +#include "math_const.h" + +using namespace LAMMPS_NS; +using namespace MathConst; + +enum{REVERSE_RHO,REVERSE_AD,REVERSE_AD_PERATOM}; +enum{FORWARD_RHO,FORWARD_AD,FORWARD_AD_PERATOM}; +/* ---------------------------------------------------------------------- */ + +MSMDielectric::MSMDielectric(LAMMPS *lmp) : MSM(lmp) +{ + efield = NULL; + phi = NULL; +} + +/* ---------------------------------------------------------------------- + free all memory +------------------------------------------------------------------------- */ + +MSMDielectric::~MSMDielectric() +{ + memory->destroy(efield); + memory->destroy(phi); +} + +/* ---------------------------------------------------------------------- + called once before run +------------------------------------------------------------------------- */ + +void MSMDielectric::init() +{ + MSM::init(); + + avec = (AtomVecDielectric *) atom->style_match("dielectric"); + if (!avec) error->all(FLERR,"pppm/dielectric requires atom style dielectric"); +} + +/* ---------------------------------------------------------------------- + compute the MSMDielectric long-range force, energy, virial +------------------------------------------------------------------------- */ + +void MSMDielectric::compute(int eflag, int vflag) +{ + int i,j; + + // set energy/virial flags + + if (eflag || vflag) ev_setup(eflag,vflag); + else evflag = evflag_atom = eflag_global = vflag_global = + eflag_atom = vflag_atom = eflag_either = vflag_either = 0; + + if (scalar_pressure_flag && vflag_either) { + if (vflag_atom) + error->all(FLERR,"Must use 'kspace_modify pressure/scalar no' to obtain " + "per-atom virial with kspace_style MSMDielectric"); + + // must switch on global energy computation if not already on + + if (eflag == 0 || eflag == 2) { + eflag++; + ev_setup(eflag,vflag); + } + } + + // if atom count has changed, update qsum and qsqsum + + if (atom->natoms != natoms_original) { + qsum_qsq(); + natoms_original = atom->natoms; + } + + // return if there are no charges + + if (qsqsum == 0.0) return; + + // invoke allocate_peratom() if needed for first time + + if (vflag_atom && !peratom_allocate_flag) { + allocate_peratom(); + cg_peratom_all->ghost_notify(); + cg_peratom_all->setup(); + for (int n=0; nghost_notify(); + cg_peratom[n]->setup(); + } + } + + // convert atoms from box to lamda coords + + if (triclinic) + domain->x2lamda(atom->nlocal); + + // extend size of per-atom arrays if necessary + + if (atom->nmax > nmax) { + memory->destroy(part2grid); + memory->destroy(efield); + nmax = atom->nmax; + memory->create(part2grid,nmax,3,"msm:part2grid"); + memory->create(efield,nmax,3,"msm:efield"); + } + + // find grid points for all my particles + // map my particle charge onto my local 3d density grid (aninterpolation) + + particle_map(); + make_rho(); + + // all procs reverse communicate charge density values from + // their ghost grid points + // to fully sum contribution in their 3d grid + + current_level = 0; + cg_all->reverse_comm(this,REVERSE_RHO); + + // forward communicate charge density values to fill ghost grid points + // compute direct sum interaction and then restrict to coarser grid + + for (int n=0; n<=levels-2; n++) { + if (!active_flag[n]) continue; + current_level = n; + cg[n]->forward_comm(this,FORWARD_RHO); + + direct(n); + restriction(n); + } + + // compute direct interation for top grid level for nonperiodic + // and for second from top grid level for periodic + + if (active_flag[levels-1]) { + if (domain->nonperiodic) { + current_level = levels-1; + cg[levels-1]->forward_comm(this,FORWARD_RHO); + direct_top(levels-1); + cg[levels-1]->reverse_comm(this,REVERSE_AD); + if (vflag_atom) + cg_peratom[levels-1]->reverse_comm(this,REVERSE_AD_PERATOM); + } else { + // Here using MPI_Allreduce is cheaper than using commgrid + grid_swap_forward(levels-1,qgrid[levels-1]); + direct(levels-1); + grid_swap_reverse(levels-1,egrid[levels-1]); + current_level = levels-1; + if (vflag_atom) + cg_peratom[levels-1]->reverse_comm(this,REVERSE_AD_PERATOM); + } + } + + // prolongate energy/virial from coarser grid to finer grid + // reverse communicate from ghost grid points to get full sum + + for (int n=levels-2; n>=0; n--) { + if (!active_flag[n]) continue; + prolongation(n); + + current_level = n; + cg[n]->reverse_comm(this,REVERSE_AD); + + // extra per-atom virial communication + + if (vflag_atom) + cg_peratom[n]->reverse_comm(this,REVERSE_AD_PERATOM); + } + + // all procs communicate E-field values + // to fill ghost cells surrounding their 3d bricks + + current_level = 0; + cg_all->forward_comm(this,FORWARD_AD); + + // extra per-atom energy/virial communication + + if (vflag_atom) + cg_peratom_all->forward_comm(this,FORWARD_AD_PERATOM); + + // calculate the force on my particles (interpolation) + + fieldforce(); + + // calculate the per-atom energy/virial for my particles + + if (evflag_atom) fieldforce_peratom(); + + // sum global energy across procs and add in self-energy term + + const double qscale = qqrd2e * scale; + + if (eflag_global) { + double energy_all; + MPI_Allreduce(&energy,&energy_all,1,MPI_DOUBLE,MPI_SUM,world); + energy = energy_all; + + double e_self = qsqsum*gamma(0.0)/cutoff; + energy -= e_self; + energy *= 0.5*qscale; + } + + // total long-range virial + + if (vflag_global && !scalar_pressure_flag) { + double virial_all[6]; + MPI_Allreduce(virial,virial_all,6,MPI_DOUBLE,MPI_SUM,world); + for (i = 0; i < 6; i++) virial[i] = 0.5*qscale*virial_all[i]; + } + + // fast compute of scalar pressure (if requested) + + if (scalar_pressure_flag && vflag_global) + for (i = 0; i < 3; i++) virial[i] = energy/3.0; + + // per-atom energy/virial + // energy includes self-energy correction + + if (evflag_atom) { + double *q = atom->q; + int nlocal = atom->nlocal; + + if (eflag_atom) { + for (i = 0; i < nlocal; i++) { + eatom[i] -= q[i]*q[i]*gamma(0.0)/cutoff; + eatom[i] *= 0.5*qscale; + } + } + + if (vflag_atom) { + for (i = 0; i < nlocal; i++) + for (j = 0; j < 6; j++) vatom[i][j] *= 0.5*qscale; + } + } + + // convert atoms back from lamda to box coords + + if (triclinic) + domain->lamda2x(atom->nlocal); +} + +/* ---------------------------------------------------------------------- + interpolate from grid to get force on my particles +------------------------------------------------------------------------- */ + +void MSMDielectric::fieldforce() +{ + //fprintf(screen,"MSM interpolation\n\n"); + + double ***egridn = egrid[0]; + + int i,l,m,n,nx,ny,nz,mx,my,mz; + double dx,dy,dz; + double phi_x,phi_y,phi_z,u; + double dphi_x,dphi_y,dphi_z; + double ekx,eky,ekz,etmp; + + + // loop over my charges, interpolate electric field from nearby grid points + // (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 + // ek = 3 components of E-field on particle + + double *q = atom->q; + double **x = atom->x; + double **f = atom->f; + double *eps = avec->epsilon; + int nlocal = atom->nlocal; + + for (i = 0; i < nlocal; i++) { + nx = part2grid[i][0]; + ny = part2grid[i][1]; + nz = part2grid[i][2]; + dx = nx - (x[i][0]-boxlo[0])*delxinv[0]; + dy = ny - (x[i][1]-boxlo[1])*delyinv[0]; + dz = nz - (x[i][2]-boxlo[2])*delzinv[0]; + + compute_phis_and_dphis(dx,dy,dz); + + u = ekx = eky = ekz = 0.0; + for (n = nlower; n <= nupper; n++) { + mz = n+nz; + phi_z = phi1d[2][n]; + dphi_z = dphi1d[2][n]; + for (m = nlower; m <= nupper; m++) { + my = m+ny; + phi_y = phi1d[1][m]; + dphi_y = dphi1d[1][m]; + for (l = nlower; l <= nupper; l++) { + mx = l+nx; + phi_x = phi1d[0][l]; + dphi_x = dphi1d[0][l]; + etmp = egridn[mz][my][mx]; + u += phi_z*phi_y*phi_x*etmp; + ekx += dphi_x*phi_y*phi_z*etmp; + eky += phi_x*dphi_y*phi_z*etmp; + ekz += phi_x*phi_y*dphi_z*etmp; + } + } + } + + ekx *= delxinv[0]; + eky *= delyinv[0]; + ekz *= delzinv[0]; + + // electrical potential + + phi[i] = u; + + // effectively divide by length for a triclinic system + + if (triclinic) { + double tmp[3]; + tmp[0] = ekx; + tmp[1] = eky; + tmp[2] = ekz; + x2lamdaT(&tmp[0],&tmp[0]); + ekx = tmp[0]; + eky = tmp[1]; + ekz = tmp[2]; + } + + // convert E-field to force + const double efactor = scale * eps[i]; + efield[i][0] = efactor*ekx; + efield[i][1] = efactor*eky; + efield[i][2] = efactor*ekz; + + const double qfactor = qqrd2e*scale*q[i]; + f[i][0] += qfactor*ekx; + f[i][1] += qfactor*eky; + f[i][2] += qfactor*ekz; + } +} diff --git a/src/USER-DIELECTRIC/msm_dielectric.h b/src/USER-DIELECTRIC/msm_dielectric.h new file mode 100644 index 0000000000..2dbac12704 --- /dev/null +++ b/src/USER-DIELECTRIC/msm_dielectric.h @@ -0,0 +1,55 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef KSPACE_CLASS + +KSpaceStyle(msm/dielectric,MSMDielectric) + +#else + +#ifndef LMP_MSM_DIELECTRIC_H +#define LMP_MSM_DIELECTRIC_H + +#include "msm.h" + +namespace LAMMPS_NS { + +class MSMDielectric : public MSM { + public: + MSMDielectric(class LAMMPS *); + virtual ~MSMDielectric(); + virtual void init(); + virtual void compute(int, int); + void fieldforce(); + + double** efield; + double* phi; + + protected: + class AtomVecDielectric* avec; +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +E: Illegal ... command + +Self-explanatory. Check the input script syntax and compare to the +documentation for the command. You can use -echo screen as a +command-line option when running LAMMPS to see the offending line. + +*/ diff --git a/src/USER-DIELECTRIC/pair_coul_cut_dielectric.cpp b/src/USER-DIELECTRIC/pair_coul_cut_dielectric.cpp new file mode 100644 index 0000000000..3d76d475c1 --- /dev/null +++ b/src/USER-DIELECTRIC/pair_coul_cut_dielectric.cpp @@ -0,0 +1,177 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing author: Trung Nguyen (Northwestern) +------------------------------------------------------------------------- */ + +#include +#include +#include +#include +#include "pair_coul_cut_dielectric.h" +#include "atom.h" +#include "atom_vec_dielectric.h" +#include "comm.h" +#include "force.h" +#include "neighbor.h" +#include "neigh_list.h" +#include "neigh_request.h" +#include "memory.h" +#include "math_const.h" +#include "error.h" + +using namespace LAMMPS_NS; +using namespace MathConst; + +#define EPSILON 1e-6 + +/* ---------------------------------------------------------------------- */ + +PairCoulCutDielectric::PairCoulCutDielectric(LAMMPS *lmp) : PairCoulCut(lmp) +{ + efield = NULL; + nmax = 0; +} + +/* ---------------------------------------------------------------------- */ + +PairCoulCutDielectric::~PairCoulCutDielectric() +{ + memory->destroy(efield); +} + +/* ---------------------------------------------------------------------- */ + +void PairCoulCutDielectric::compute(int eflag, int vflag) +{ + int i,j,ii,jj,inum,jnum,itype,jtype; + double qtmp,etmp,xtmp,ytmp,ztmp,delx,dely,delz,ecoul,fpair; + double fpair_i,fpair_j; + double rsq,r2inv,rinv,forcecoul,factor_coul,efield_i; + int *ilist,*jlist,*numneigh,**firstneigh; + + if (atom->nmax > nmax) { + memory->destroy(efield); + nmax = atom->nmax; + memory->create(efield,nmax,3,"pair:efield"); + } + + ecoul = 0.0; + if (eflag || vflag) ev_setup(eflag,vflag); + else evflag = vflag_fdotr = 0; + + double **x = atom->x; + double **f = atom->f; + double *q = atom->q; + double *q_real = avec->q_real; + double* eps = avec->epsilon; + double** norm = avec->mu; + double* curvature = avec->curvature; + double* area = avec->area; + int *type = atom->type; + int nlocal = atom->nlocal; + double *special_coul = force->special_coul; + int newton_pair = force->newton_pair; + double qqrd2e = force->qqrd2e; + + inum = list->inum; + ilist = list->ilist; + numneigh = list->numneigh; + firstneigh = list->firstneigh; + + // loop over neighbors of my atoms + + for (ii = 0; ii < inum; ii++) { + i = ilist[ii]; + qtmp = q[i]; + etmp = eps[i]; + xtmp = x[i][0]; + ytmp = x[i][1]; + ztmp = x[i][2]; + itype = type[i]; + jlist = firstneigh[i]; + jnum = numneigh[i]; + + // self term Eq. (55) for I_{ii} and Eq. (52) and in Barros et al + double curvature_threshold = sqrt(area[i]); + if (curvature[i] < curvature_threshold) { + double sf = curvature[i]/(4.0*MY_PIS*curvature_threshold) * area[i]*q[i]; + efield[i][0] = sf*norm[i][0]; + efield[i][1] = sf*norm[i][1]; + efield[i][2] = sf*norm[i][2]; + } else { + efield[i][0] = efield[i][1] = efield[i][2] = 0; + } + + for (jj = 0; jj < jnum; jj++) { + j = jlist[jj]; + factor_coul = special_coul[sbmask(j)]; + j &= NEIGHMASK; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + jtype = type[j]; + + if (rsq < cutsq[itype][jtype] && rsq > EPSILON) { + r2inv = 1.0/rsq; + rinv = sqrt(r2inv); + efield_i = qqrd2e * scale[itype][jtype] * q[j]*rinv; + forcecoul = qtmp*efield_i; + + fpair_i = factor_coul*etmp*forcecoul*r2inv; + f[i][0] += delx*fpair_i; + f[i][1] += dely*fpair_i; + f[i][2] += delz*fpair_i; + + efield_i *= (factor_coul*etmp*r2inv); + efield[i][0] += delx*efield_i; + efield[i][1] += dely*efield_i; + efield[i][2] += delz*efield_i; + + if (newton_pair && j >= nlocal) { + fpair_j = factor_coul*eps[j]*forcecoul*r2inv; + f[j][0] -= delx*fpair_j; + f[j][1] -= dely*fpair_j; + f[j][2] -= delz*fpair_j; + } + + if (eflag) { + ecoul = factor_coul * qqrd2e * scale[itype][jtype] * qtmp*q[j]*(etmp+eps[j])*rinv; + ecoul *= 0.5; + } + if (evflag) ev_tally_full(i,0.0,ecoul,fpair_i,delx,dely,delz); + } + } + } + + if (vflag_fdotr) virial_fdotr_compute(); +} + + +/* ---------------------------------------------------------------------- + init specific to this pair style +------------------------------------------------------------------------- */ + +void PairCoulCutDielectric::init_style() +{ + avec = (AtomVecDielectric *) atom->style_match("dielectric"); + if (!avec) error->all(FLERR,"Pair coul/cut/dielectric requires atom style dielectric"); + + int irequest = neighbor->request(this,instance_me); + neighbor->requests[irequest]->half = 0; + neighbor->requests[irequest]->full = 1; +} + diff --git a/src/USER-DIELECTRIC/pair_coul_cut_dielectric.h b/src/USER-DIELECTRIC/pair_coul_cut_dielectric.h new file mode 100644 index 0000000000..fee444536a --- /dev/null +++ b/src/USER-DIELECTRIC/pair_coul_cut_dielectric.h @@ -0,0 +1,62 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef PAIR_CLASS + +PairStyle(coul/cut/dielectric,PairCoulCutDielectric) + +#else + +#ifndef LMP_PAIR_COUL_CUT_DIELECTRIC_H +#define LMP_PAIR_COUL_CUT_DIELECTRIC_H + +#include "pair_coul_cut.h" + +namespace LAMMPS_NS { + +class PairCoulCutDielectric : public PairCoulCut { + public: + PairCoulCutDielectric(class LAMMPS *); + virtual ~PairCoulCutDielectric(); + virtual void compute(int, int); + void init_style(); + + double** efield; + + protected: + class AtomVecDielectric* avec; + int nmax; +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +E: Illegal ... command + +Self-explanatory. Check the input script syntax and compare to the +documentation for the command. You can use -echo screen as a +command-line option when running LAMMPS to see the offending line. + +E: Incorrect args for pair coefficients + +Self-explanatory. Check the input script or data file. + +E: Pair style coul/cut/dielectric requires atom attribute q + +The atom style defined does not have these attributes. + +*/ diff --git a/src/USER-DIELECTRIC/pair_coul_long_dielectric.cpp b/src/USER-DIELECTRIC/pair_coul_long_dielectric.cpp new file mode 100644 index 0000000000..6a87e39fe0 --- /dev/null +++ b/src/USER-DIELECTRIC/pair_coul_long_dielectric.cpp @@ -0,0 +1,236 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing author: Trung Nguyen (Northwestern) +------------------------------------------------------------------------- */ + +#include +#include +#include +#include +#include "pair_coul_long_dielectric.h" +#include "atom.h" +#include "atom_vec_dielectric.h" +#include "comm.h" +#include "force.h" +#include "kspace.h" +#include "neighbor.h" +#include "neigh_list.h" +#include "neigh_request.h" +#include "update.h" +#include "integrate.h" +#include "respa.h" +#include "math_const.h" +#include "memory.h" +#include "error.h" + +using namespace LAMMPS_NS; +using namespace MathConst; + +#define EWALD_F 1.12837917 +#define EWALD_P 0.3275911 +#define A1 0.254829592 +#define A2 -0.284496736 +#define A3 1.421413741 +#define A4 -1.453152027 +#define A5 1.061405429 + +/* ---------------------------------------------------------------------- */ + +PairCoulLongDielectric::PairCoulLongDielectric(LAMMPS *lmp) : PairCoulLong(lmp) +{ + efield = NULL; + nmax = 0; +} + +/* ---------------------------------------------------------------------- */ + +PairCoulLongDielectric::~PairCoulLongDielectric() +{ + memory->destroy(efield); +} + +/* ---------------------------------------------------------------------- */ + +void PairCoulLongDielectric::compute(int eflag, int vflag) +{ + int i,j,ii,jj,inum,jnum,itable,itype,jtype; + double qtmp,etmp,xtmp,ytmp,ztmp,delx,dely,delz,ecoul; + double fpair_i,fpair_j; + double fraction,table; + double r,r2inv,forcecoul,factor_coul; + double grij,expm2,prefactor,t,erfc,prefactorE,efield_i; + int *ilist,*jlist,*numneigh,**firstneigh; + double rsq; + + ecoul = 0.0; + if (eflag || vflag) ev_setup(eflag,vflag); + else evflag = vflag_fdotr = 0; + + if (atom->nmax > nmax) { + memory->destroy(efield); + nmax = atom->nmax; + memory->create(efield,nmax,3,"pair:efield"); + } + + double **x = atom->x; + double **f = atom->f; + double *q = atom->q; + double** norm = avec->mu; + double* curvature = avec->curvature; + double* area = avec->area; + double *eps = avec->epsilon; + int *type = atom->type; + int nlocal = atom->nlocal; + double *special_coul = force->special_coul; + int newton_pair = force->newton_pair; + double qqrd2e = force->qqrd2e; + + inum = list->inum; + ilist = list->ilist; + numneigh = list->numneigh; + firstneigh = list->firstneigh; + + // loop over neighbors of my atoms + + for (ii = 0; ii < inum; ii++) { + i = ilist[ii]; + qtmp = q[i]; + etmp = eps[i]; + xtmp = x[i][0]; + ytmp = x[i][1]; + ztmp = x[i][2]; + itype = type[i]; + jlist = firstneigh[i]; + jnum = numneigh[i]; + + // self term Eq. (55) for I_{ii} and Eq. (52) and in Barros et al + double curvature_threshold = sqrt(area[i]); + if (curvature[i] < curvature_threshold) { + double sf = curvature[i]/(4.0*MY_PIS*curvature_threshold) * area[i]*q[i]; + efield[i][0] = sf*norm[i][0]; + efield[i][1] = sf*norm[i][1]; + efield[i][2] = sf*norm[i][2]; + } else { + efield[i][0] = efield[i][1] = efield[i][2] = 0; + } + + for (jj = 0; jj < jnum; jj++) { + j = jlist[jj]; + factor_coul = special_coul[sbmask(j)]; + j &= NEIGHMASK; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + jtype = type[j]; + + if (rsq < cut_coulsq) { + r2inv = 1.0/rsq; + if (!ncoultablebits || rsq <= tabinnersq) { + r = sqrt(rsq); + grij = g_ewald * r; + expm2 = exp(-grij*grij); + t = 1.0 / (1.0 + EWALD_P*grij); + erfc = t * (A1+t*(A2+t*(A3+t*(A4+t*A5)))) * expm2; + prefactor = qqrd2e * scale[itype][jtype] * qtmp*q[j]/r; + forcecoul = prefactor * (erfc + EWALD_F*grij*expm2); + if (factor_coul < 1.0) forcecoul -= (1.0-factor_coul)*prefactor; + + prefactorE = qqrd2e * scale[itype][jtype] * q[j]/r; + efield_i = prefactorE * (erfc + EWALD_F*grij*expm2); + if (factor_coul < 1.0) efield_i -= (1.0-factor_coul)*prefactorE; + + } else { + union_int_float_t rsq_lookup; + rsq_lookup.f = rsq; + itable = rsq_lookup.i & ncoulmask; + itable >>= ncoulshiftbits; + fraction = (rsq_lookup.f - rtable[itable]) * drtable[itable]; + table = ftable[itable] + fraction*dftable[itable]; + forcecoul = scale[itype][jtype] * qtmp*q[j] * table; + efield_i = scale[itype][jtype] * q[j] * table; + if (factor_coul < 1.0) { + table = ctable[itable] + fraction*dctable[itable]; + prefactor = scale[itype][jtype] * qtmp*q[j] * table; + forcecoul -= (1.0-factor_coul)*prefactor; + + prefactorE = scale[itype][jtype] * q[j] * table; + efield_i -= (1.0-factor_coul)*prefactorE; + } + } + + fpair_i = etmp * forcecoul * r2inv; + f[i][0] += delx*fpair_i; + f[i][1] += dely*fpair_i; + f[i][2] += delz*fpair_i; + + efield_i *= (etmp*r2inv); + efield[i][0] += delx*efield_i; + efield[i][1] += dely*efield_i; + efield[i][2] += delz*efield_i; + + if (newton_pair && j >= nlocal) { + fpair_j = eps[j] * forcecoul * r2inv; + f[j][0] -= delx*fpair_j; + f[j][1] -= dely*fpair_j; + f[j][2] -= delz*fpair_j; + } + + if (eflag) { + if (!ncoultablebits || rsq <= tabinnersq) + ecoul = prefactor*(etmp+eps[j])*erfc; + else { + table = etable[itable] + fraction*detable[itable]; + ecoul = scale[itype][jtype] * qtmp*q[j]*(etmp+eps[j]) * table; + } + ecoul *= 0.5; + if (factor_coul < 1.0) ecoul -= (1.0-factor_coul)*prefactor; + } + + if (evflag) ev_tally_full(i,0.0,ecoul,fpair_i,delx,dely,delz); + } + } + } + + if (vflag_fdotr) virial_fdotr_compute(); +} + +/* ---------------------------------------------------------------------- + init specific to this pair style +------------------------------------------------------------------------- */ + +void PairCoulLongDielectric::init_style() +{ + avec = (AtomVecDielectric *) atom->style_match("dielectric"); + if (!avec) error->all(FLERR,"Pair coul/long/dielectric requires atom style dielectric"); + + int irequest = neighbor->request(this,instance_me); + neighbor->requests[irequest]->half = 0; + neighbor->requests[irequest]->full = 1; + + cut_coulsq = cut_coul * cut_coul; + + // insure use of KSpace long-range solver, set g_ewald + + if (force->kspace == NULL) + error->all(FLERR,"Pair style requires a KSpace style"); + g_ewald = force->kspace->g_ewald; + + // setup force tables + + if (ncoultablebits) init_tables(cut_coul,NULL); +} + diff --git a/src/USER-DIELECTRIC/pair_coul_long_dielectric.h b/src/USER-DIELECTRIC/pair_coul_long_dielectric.h new file mode 100644 index 0000000000..dc4d51bbce --- /dev/null +++ b/src/USER-DIELECTRIC/pair_coul_long_dielectric.h @@ -0,0 +1,67 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef PAIR_CLASS + +PairStyle(coul/long/dielectric,PairCoulLongDielectric) + +#else + +#ifndef LMP_PAIR_COUL_LONG_DIELECTRIC_H +#define LMP_PAIR_COUL_LONG_DIELECTRIC_H + +#include "pair_coul_long.h" + +namespace LAMMPS_NS { + +class PairCoulLongDielectric : public PairCoulLong { + public: + PairCoulLongDielectric(class LAMMPS *); + ~PairCoulLongDielectric(); + virtual void compute(int, int); + virtual void init_style(); + + double **efield; + + protected: + class AtomVecDielectric* avec; + int nmax; + +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +E: Illegal ... command + +Self-explanatory. Check the input script syntax and compare to the +documentation for the command. You can use -echo screen as a +command-line option when running LAMMPS to see the offending line. + +E: Incorrect args for pair coefficients + +Self-explanatory. Check the input script or data file. + +E: Pair style coul/long/dielectric requires atom attribute q + +The atom style defined does not have this attribute. + +E: Pair style requires a KSpace style + +No kspace style is defined. + +*/ diff --git a/src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric.cpp b/src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric.cpp new file mode 100644 index 0000000000..51be72acaa --- /dev/null +++ b/src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric.cpp @@ -0,0 +1,240 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing author: Trung Nguyen (Northwestern) +------------------------------------------------------------------------- */ + +#include +#include +#include +#include +#include "pair_lj_cut_coul_cut_dielectric.h" +#include "atom.h" +#include "atom_vec_dielectric.h" +#include "comm.h" +#include "force.h" +#include "neighbor.h" +#include "neigh_list.h" +#include "neigh_request.h" +#include "math_const.h" +#include "memory.h" +#include "error.h" + +using namespace LAMMPS_NS; +using namespace MathConst; + +#define EPSILON 1e-6 + +/* ---------------------------------------------------------------------- */ + +PairLJCutCoulCutDielectric::PairLJCutCoulCutDielectric(LAMMPS *lmp) : PairLJCutCoulCut(lmp) +{ + efield = NULL; + epot = NULL; + nmax = 0; +} + +/* ---------------------------------------------------------------------- */ + +PairLJCutCoulCutDielectric::~PairLJCutCoulCutDielectric() +{ + memory->destroy(efield); + memory->destroy(epot); +} + +/* ---------------------------------------------------------------------- */ + +void PairLJCutCoulCutDielectric::compute(int eflag, int vflag) +{ + int i,j,ii,jj,inum,jnum,itype,jtype; + double qtmp,etmp,xtmp,ytmp,ztmp,delx,dely,delz,evdwl,ecoul,fpair; + double fpair_i,fpair_j; + double rsq,r2inv,r6inv,forcecoul,forcelj,factor_coul,factor_lj,efield_i,epot_i; + int *ilist,*jlist,*numneigh,**firstneigh; + + if (atom->nmax > nmax) { + memory->destroy(efield); + memory->destroy(epot); + nmax = atom->nmax; + memory->create(efield,nmax,3,"pair:efield"); + memory->create(epot,nmax,"pair:epot"); + } + + evdwl = ecoul = 0.0; + if (eflag || vflag) ev_setup(eflag,vflag); + else evflag = vflag_fdotr = 0; + + double **x = atom->x; + double **f = atom->f; + double *q = atom->q; + double *q_real = avec->q_real; + double* eps = avec->epsilon; + double** norm = avec->mu; + double* curvature = avec->curvature; + double* area = avec->area; + int *type = atom->type; + int nlocal = atom->nlocal; + double *special_coul = force->special_coul; + double *special_lj = force->special_lj; + int newton_pair = force->newton_pair; + double qqrd2e = force->qqrd2e; + + inum = list->inum; + ilist = list->ilist; + numneigh = list->numneigh; + firstneigh = list->firstneigh; + + // loop over neighbors of my atoms + + for (ii = 0; ii < inum; ii++) { + i = ilist[ii]; + qtmp = q[i]; + xtmp = x[i][0]; + ytmp = x[i][1]; + ztmp = x[i][2]; + etmp = eps[i]; + itype = type[i]; + jlist = firstneigh[i]; + jnum = numneigh[i]; + + // self term Eq. (55) for I_{ii} and Eq. (52) and in Barros et al + double curvature_threshold = sqrt(area[i]); + if (curvature[i] < curvature_threshold) { + double sf = curvature[i]/(4.0*MY_PIS*curvature_threshold) * area[i]*q[i]; + efield[i][0] = sf*norm[i][0]; + efield[i][1] = sf*norm[i][1]; + efield[i][2] = sf*norm[i][2]; + } else { + efield[i][0] = efield[i][1] = efield[i][2] = 0; + } + + epot[i] = 0; + + for (jj = 0; jj < jnum; jj++) { + j = jlist[jj]; + factor_lj = special_lj[sbmask(j)]; + factor_coul = special_coul[sbmask(j)]; + j &= NEIGHMASK; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + jtype = type[j]; + + if (rsq < cutsq[itype][jtype]) { + r2inv = 1.0/rsq; + + if (rsq < cut_coulsq[itype][jtype] && rsq > EPSILON) { + efield_i = q[j]*sqrt(r2inv); + forcecoul = qqrd2e * qtmp*efield_i; + epot_i = efield_i; + } else epot_i = efield_i = forcecoul = 0.0; + + if (rsq < cut_ljsq[itype][jtype]) { + r6inv = r2inv*r2inv*r2inv; + forcelj = r6inv * (lj1[itype][jtype]*r6inv - lj2[itype][jtype]); + } else forcelj = 0.0; + + fpair_i = (factor_coul*etmp*forcecoul + factor_lj*forcelj) * r2inv; + f[i][0] += delx*fpair_i; + f[i][1] += dely*fpair_i; + f[i][2] += delz*fpair_i; + + efield_i *= (factor_coul*etmp*r2inv); + efield[i][0] += delx*efield_i; + efield[i][1] += dely*efield_i; + efield[i][2] += delz*efield_i; + + epot[i] += epot_i; + + if (newton_pair && j >= nlocal) { + fpair_j = (factor_coul*eps[j]*forcecoul + factor_lj*forcelj) * r2inv; + f[j][0] -= delx*fpair_j; + f[j][1] -= dely*fpair_j; + f[j][2] -= delz*fpair_j; + } + + if (eflag) { + if (rsq < cut_coulsq[itype][jtype]) { + ecoul = factor_coul * qqrd2e * qtmp*q[j]*(etmp+eps[j])*sqrt(r2inv); + } else ecoul = 0.0; + ecoul *= 0.5; + if (rsq < cut_ljsq[itype][jtype]) { + evdwl = r6inv*(lj3[itype][jtype]*r6inv-lj4[itype][jtype]) - + offset[itype][jtype]; + evdwl *= factor_lj; + } else evdwl = 0.0; + } + + if (evflag) ev_tally_full(i,evdwl,ecoul,fpair_i,delx,dely,delz); + } + } + } + + if (vflag_fdotr) virial_fdotr_compute(); +} + +/* ---------------------------------------------------------------------- + init specific to this pair style +------------------------------------------------------------------------- */ + +void PairLJCutCoulCutDielectric::init_style() +{ + avec = (AtomVecDielectric *) atom->style_match("dielectric"); + if (!avec) error->all(FLERR,"Pair lj/cut/coul/cut/dielectric requires atom style dielectric"); + + int irequest = neighbor->request(this,instance_me); + neighbor->requests[irequest]->half = 0; + neighbor->requests[irequest]->full = 1; +} + +/* ---------------------------------------------------------------------- */ + +double PairLJCutCoulCutDielectric::single(int i, int j, int itype, int jtype, + double rsq, + double factor_coul, double factor_lj, + double &fforce) +{ + double r2inv,r6inv,forcecoul,forcelj,phicoul,ei,ej,philj; + double* eps = avec->epsilon; + + r2inv = 1.0/rsq; + if (rsq < cut_coulsq[itype][jtype]) + forcecoul = force->qqrd2e * atom->q[i]*atom->q[j]*sqrt(r2inv)*eps[i]; + else forcecoul = 0.0; + if (rsq < cut_ljsq[itype][jtype]) { + r6inv = r2inv*r2inv*r2inv; + forcelj = r6inv * (lj1[itype][jtype]*r6inv - lj2[itype][jtype]); + } else forcelj = 0.0; + fforce = (factor_coul*forcecoul + factor_lj*forcelj) * r2inv; + + double eng = 0.0; + if (eps[i] == 1) ei = 0; + else ei = eps[i]; + if (eps[j] == 1) ej = 0; + else ej = eps[j]; + if (rsq < cut_coulsq[itype][jtype]) { + phicoul = force->qqrd2e * atom->q[i]*atom->q[j]*sqrt(r2inv); + phicoul *= 0.5*(ei+ej); + eng += factor_coul*phicoul; + } + if (rsq < cut_ljsq[itype][jtype]) { + philj = r6inv*(lj3[itype][jtype]*r6inv-lj4[itype][jtype]) - + offset[itype][jtype]; + eng += factor_lj*philj; + } + + return eng; +} \ No newline at end of file diff --git a/src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric.h b/src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric.h new file mode 100644 index 0000000000..54ec2a6100 --- /dev/null +++ b/src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric.h @@ -0,0 +1,64 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef PAIR_CLASS + +PairStyle(lj/cut/coul/cut/dielectric,PairLJCutCoulCutDielectric) + +#else + +#ifndef LMP_PAIR_LJ_CUT_COUL_CUT_DIELECTRIC_H +#define LMP_PAIR_LJ_CUT_COUL_CUT_DIELECTRIC_H + +#include "pair_lj_cut_coul_cut.h" + +namespace LAMMPS_NS { + +class PairLJCutCoulCutDielectric : public PairLJCutCoulCut { + public: + PairLJCutCoulCutDielectric(class LAMMPS *); + virtual ~PairLJCutCoulCutDielectric(); + virtual void compute(int, int); + virtual double single(int, int, int, int, double, double, double, double &); + void init_style(); + + double** efield; + double* epot; + + protected: + class AtomVecDielectric* avec; + int nmax; +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +E: Illegal ... command + +Self-explanatory. Check the input script syntax and compare to the +documentation for the command. You can use -echo screen as a +command-line option when running LAMMPS to see the offending line. + +E: Incorrect args for pair coefficients + +Self-explanatory. Check the input script or data file. + +E: Pair style lj/cut/coul/cut/dielectric requires atom attribute q + +The atom style defined does not have this attribute. + +*/ diff --git a/src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric_omp.cpp b/src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric_omp.cpp new file mode 100644 index 0000000000..6056c37cb8 --- /dev/null +++ b/src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric_omp.cpp @@ -0,0 +1,232 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing author: Trung Nguyen (Northwestern) +------------------------------------------------------------------------- */ + +#include +#include +#include +#include +#include "pair_lj_cut_coul_cut_dielectric_omp.h" +#include "atom.h" +#include "atom_vec_dielectric.h" +#include "comm.h" +#include "force.h" +#include "neighbor.h" +#include "neigh_list.h" +#include "neigh_request.h" +#include "math_const.h" +#include "memory.h" +#include "error.h" + +using namespace LAMMPS_NS; +using namespace MathConst; + +#define EPSILON 1e-6 + +/* ---------------------------------------------------------------------- */ + +PairLJCutCoulCutDielectricOMP::PairLJCutCoulCutDielectricOMP(LAMMPS *lmp) : + PairLJCutCoulCutDielectric(lmp), ThrOMP(lmp, THR_PAIR) +{ + +} + +/* ---------------------------------------------------------------------- */ + +PairLJCutCoulCutDielectricOMP::~PairLJCutCoulCutDielectricOMP() +{ +} + +/* ---------------------------------------------------------------------- */ + +void PairLJCutCoulCutDielectricOMP::compute(int eflag, int vflag) +{ + if (eflag || vflag) { + ev_setup(eflag,vflag); + } else evflag = vflag_fdotr = 0; + + if (atom->nmax > nmax) { + memory->destroy(efield); + memory->destroy(epot); + nmax = atom->nmax; + memory->create(efield,nmax,3,"pair:efield"); + memory->create(epot,nmax,"pair:epot"); + } + + const int nall = atom->nlocal + atom->nghost; + const int nthreads = comm->nthreads; + const int inum = list->inum; + +#if defined(_OPENMP) +#pragma omp parallel default(none) shared(eflag,vflag) +#endif + { + int ifrom, ito, tid; + + loop_setup_thr(ifrom, ito, tid, inum, nthreads); + ThrData *thr = fix->get_thr(tid); + thr->timer(Timer::START); + ev_setup_thr(eflag, vflag, nall, eatom, vatom, thr); + + if (evflag) { + if (eflag) { + if (force->newton_pair) eval<1,1,1>(ifrom, ito, thr); + else eval<1,1,0>(ifrom, ito, thr); + } else { + if (force->newton_pair) eval<1,0,1>(ifrom, ito, thr); + else eval<1,0,0>(ifrom, ito, thr); + } + } else { + if (force->newton_pair) eval<0,0,1>(ifrom, ito, thr); + else eval<0,0,0>(ifrom, ito, thr); + } + + thr->timer(Timer::PAIR); + reduce_thr(this, eflag, vflag, thr); + } // end of omp parallel region +} + +/* ---------------------------------------------------------------------- */ + +template +void PairLJCutCoulCutDielectricOMP::eval(int iifrom, int iito, ThrData * const thr) +{ + int i,j,ii,jj,jnum,itype,jtype,itable; + double qtmp,etmp,xtmp,ytmp,ztmp,delx,dely,delz,evdwl,ecoul,fpair; + double fpair_i,fpair_j; + double r,rsq,r2inv,r6inv,forcecoul,forcelj,factor_coul,factor_lj; + double grij,expm2,prefactor,t,erfc,prefactorE,efield_i,epot_i; + int *ilist,*jlist,*numneigh,**firstneigh; + + evdwl = ecoul = 0.0; + + const dbl3_t * _noalias const x = (dbl3_t *) atom->x[0]; + dbl3_t * _noalias const f = (dbl3_t *) thr->get_f()[0]; + const double * _noalias const q = atom->q; + const double * _noalias const eps = avec->epsilon; + const dbl3_t * _noalias const norm = (dbl3_t *) avec->mu[0]; + const double * _noalias const curvature = avec->curvature; + const double * _noalias const area = avec->area; + const int * _noalias const type = atom->type; + const int nlocal = atom->nlocal; + const double * _noalias const special_coul = force->special_coul; + const double * _noalias const special_lj = force->special_lj; + const double qqrd2e = force->qqrd2e; + double fxtmp,fytmp,fztmp,extmp,eytmp,eztmp; + + ilist = list->ilist; + numneigh = list->numneigh; + firstneigh = list->firstneigh; + + // loop over neighbors of my atoms + + for (ii = iifrom; ii < iito; ++ii) { + + i = ilist[ii]; + qtmp = q[i]; + xtmp = x[i].x; + ytmp = x[i].y; + ztmp = x[i].z; + etmp = eps[i]; + itype = type[i]; + jlist = firstneigh[i]; + jnum = numneigh[i]; + fxtmp=fytmp=fztmp=0.0; + extmp=eytmp=eztmp=0.0; + + // self term Eq. (55) for I_{ii} and Eq. (52) and in Barros et al + double curvature_threshold = sqrt(area[i]); + if (curvature[i] < curvature_threshold) { + double sf = curvature[i]/(4.0*MY_PIS*curvature_threshold) * area[i]*q[i]; + efield[i][0] = sf*norm[i].x; + efield[i][1] = sf*norm[i].y; + efield[i][2] = sf*norm[i].z; + } else { + efield[i][0] = efield[i][1] = efield[i][2] = 0; + } + + epot[i] = 0; + + for (jj = 0; jj < jnum; jj++) { + j = jlist[jj]; + factor_lj = special_lj[sbmask(j)]; + factor_coul = special_coul[sbmask(j)]; + j &= NEIGHMASK; + + delx = xtmp - x[j].x; + dely = ytmp - x[j].y; + delz = ztmp - x[j].z; + rsq = delx*delx + dely*dely + delz*delz; + jtype = type[j]; + + if (rsq < cutsq[itype][jtype]) { + r2inv = 1.0/rsq; + + if (rsq < cut_coulsq[itype][jtype] && rsq > EPSILON) { + efield_i = q[j]*sqrt(r2inv); + forcecoul = qqrd2e * qtmp*efield_i; + epot_i = efield_i; + } else epot_i = efield_i = forcecoul = 0.0; + + if (rsq < cut_ljsq[itype][jtype]) { + r6inv = r2inv*r2inv*r2inv; + forcelj = r6inv * (lj1[itype][jtype]*r6inv - lj2[itype][jtype]); + } else forcelj = 0.0; + + fpair_i = (factor_coul*etmp*forcecoul + factor_lj*forcelj) * r2inv; + + fxtmp += delx*fpair_i; + fytmp += dely*fpair_i; + fztmp += delz*fpair_i; + + efield_i *= (factor_coul*etmp*r2inv); + extmp += delx*efield_i; + eytmp += dely*efield_i; + eztmp += delz*efield_i; + epot[i] += epot_i; + + if (NEWTON_PAIR || j >= nlocal) { + fpair_j = (factor_coul*eps[j]*forcecoul + factor_lj*forcelj) * r2inv; + f[j].x -= delx*fpair_j; + f[j].y -= dely*fpair_j; + f[j].z -= delz*fpair_j; + } + + if (EFLAG) { + if (rsq < cut_coulsq[itype][jtype]) { + ecoul = factor_coul * qqrd2e * qtmp*q[j]*(etmp+eps[j])*sqrt(r2inv); + } else ecoul = 0.0; + ecoul *= 0.5; + if (rsq < cut_ljsq[itype][jtype]) { + evdwl = r6inv*(lj3[itype][jtype]*r6inv-lj4[itype][jtype]) - + offset[itype][jtype]; + evdwl *= factor_lj; + } else evdwl = 0.0; + } + + if (EVFLAG) ev_tally_thr(this, i,j,nlocal,NEWTON_PAIR, + evdwl,ecoul,fpair,delx,dely,delz,thr); + } + } + f[i].x += fxtmp; + f[i].y += fytmp; + f[i].z += fztmp; + efield[i][0] += extmp; + efield[i][1] += eytmp; + efield[i][2] += eztmp; + } +} + diff --git a/src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric_omp.h b/src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric_omp.h new file mode 100644 index 0000000000..f84aa91c0c --- /dev/null +++ b/src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric_omp.h @@ -0,0 +1,60 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef PAIR_CLASS + +PairStyle(lj/cut/coul/cut/dielectric/omp,PairLJCutCoulCutDielectricOMP) + +#else + +#ifndef LMP_PAIR_LJ_CUT_COUL_CUT_DIELECTRIC_OMP_H +#define LMP_PAIR_LJ_CUT_COUL_CUT_DIELECTRIC_OMP_H + +#include "pair_lj_cut_coul_cut_dielectric.h" +#include "thr_omp.h" + +namespace LAMMPS_NS { + +class PairLJCutCoulCutDielectricOMP : public PairLJCutCoulCutDielectric, public ThrOMP { + public: + PairLJCutCoulCutDielectricOMP(class LAMMPS *); + virtual ~PairLJCutCoulCutDielectricOMP(); + virtual void compute(int, int); + + protected: + template + void eval(int ifrom, int ito, ThrData * const thr); +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +E: Illegal ... command + +Self-explanatory. Check the input script syntax and compare to the +documentation for the command. You can use -echo screen as a +command-line option when running LAMMPS to see the offending line. + +E: Incorrect args for pair coefficients + +Self-explanatory. Check the input script or data file. + +E: Pair style lj/cut/coul/cut/dielectric requires atom attribute q + +The atom style defined does not have this attribute. + +*/ diff --git a/src/USER-DIELECTRIC/pair_lj_cut_coul_debye_dielectric.cpp b/src/USER-DIELECTRIC/pair_lj_cut_coul_debye_dielectric.cpp new file mode 100644 index 0000000000..c094aff898 --- /dev/null +++ b/src/USER-DIELECTRIC/pair_lj_cut_coul_debye_dielectric.cpp @@ -0,0 +1,249 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing author: Trung Nguyen (Northwestern) +------------------------------------------------------------------------- */ + +#include +#include +#include +#include +#include "pair_lj_cut_coul_debye_dielectric.h" +#include "atom.h" +#include "atom_vec_dielectric.h" +#include "comm.h" +#include "force.h" +#include "neighbor.h" +#include "neigh_list.h" +#include "neigh_request.h" +#include "math_const.h" +#include "memory.h" +#include "error.h" + +using namespace LAMMPS_NS; +using namespace MathConst; + +#define EPSILON 1e-6 + +/* ---------------------------------------------------------------------- */ + +PairLJCutCoulDebyeDielectric::PairLJCutCoulDebyeDielectric(LAMMPS *lmp) : PairLJCutCoulDebye(lmp) +{ + efield = NULL; + epot = NULL; + nmax = 0; +} + +/* ---------------------------------------------------------------------- */ + +PairLJCutCoulDebyeDielectric::~PairLJCutCoulDebyeDielectric() +{ + memory->destroy(efield); + memory->destroy(epot); +} + +/* ---------------------------------------------------------------------- */ + +void PairLJCutCoulDebyeDielectric::compute(int eflag, int vflag) +{ + int i,j,ii,jj,inum,jnum,itype,jtype; + double qtmp,etmp,xtmp,ytmp,ztmp,delx,dely,delz,evdwl,ecoul,fpair; + double fpair_i,fpair_j; + double rsq,r2inv,r6inv,forcecoul,forcelj,factor_coul,factor_lj,efield_i,epot_i; + double r,rinv,screening; + int *ilist,*jlist,*numneigh,**firstneigh; + + if (atom->nmax > nmax) { + memory->destroy(efield); + memory->destroy(epot); + nmax = atom->nmax; + memory->create(efield,nmax,3,"pair:efield"); + memory->create(epot,nmax,"pair:epot"); + } + + evdwl = ecoul = 0.0; + if (eflag || vflag) ev_setup(eflag,vflag); + else evflag = vflag_fdotr = 0; + + double **x = atom->x; + double **f = atom->f; + double *q = atom->q; + double *q_real = avec->q_real; + double* eps = avec->epsilon; + double** norm = avec->mu; + double* curvature = avec->curvature; + double* area = avec->area; + int *type = atom->type; + int nlocal = atom->nlocal; + double *special_coul = force->special_coul; + double *special_lj = force->special_lj; + int newton_pair = force->newton_pair; + double qqrd2e = force->qqrd2e; + + inum = list->inum; + ilist = list->ilist; + numneigh = list->numneigh; + firstneigh = list->firstneigh; + + // loop over neighbors of my atoms + + for (ii = 0; ii < inum; ii++) { + i = ilist[ii]; + qtmp = q[i]; + xtmp = x[i][0]; + ytmp = x[i][1]; + ztmp = x[i][2]; + etmp = eps[i]; + itype = type[i]; + jlist = firstneigh[i]; + jnum = numneigh[i]; + + // self term Eq. (55) for I_{ii} and Eq. (52) and in Barros et al + double curvature_threshold = sqrt(area[i]); + if (curvature[i] < curvature_threshold) { + double sf = curvature[i]/(4.0*MY_PIS*curvature_threshold) * area[i]*q[i]; + efield[i][0] = sf*norm[i][0]; + efield[i][1] = sf*norm[i][1]; + efield[i][2] = sf*norm[i][2]; + } else { + efield[i][0] = efield[i][1] = efield[i][2] = 0; + } + + epot[i] = 0; + + for (jj = 0; jj < jnum; jj++) { + j = jlist[jj]; + factor_lj = special_lj[sbmask(j)]; + factor_coul = special_coul[sbmask(j)]; + j &= NEIGHMASK; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + jtype = type[j]; + + if (rsq < cutsq[itype][jtype]) { + r2inv = 1.0/rsq; + + if (rsq < cut_coulsq[itype][jtype] && rsq > EPSILON) { + r = sqrt(rsq); + rinv = 1.0/r; + screening = exp(-kappa*r); + efield_i = qqrd2e * q[j] * screening * (kappa + rinv); + forcecoul = qtmp*efield_i; + epot_i = efield_i; + } else efield_i = forcecoul = 0.0; + + if (rsq < cut_ljsq[itype][jtype]) { + r6inv = r2inv*r2inv*r2inv; + forcelj = r6inv * (lj1[itype][jtype]*r6inv - lj2[itype][jtype]); + } else forcelj = 0.0; + + fpair_i = (factor_coul*etmp*forcecoul + factor_lj*forcelj) * r2inv; + f[i][0] += delx*fpair_i; + f[i][1] += dely*fpair_i; + f[i][2] += delz*fpair_i; + + efield_i *= (factor_coul*etmp*r2inv); + efield[i][0] += delx*efield_i; + efield[i][1] += dely*efield_i; + efield[i][2] += delz*efield_i; + + epot[i] += epot_i; + + if (newton_pair && j >= nlocal) { + fpair_j = (factor_coul*eps[j]*forcecoul + factor_lj*forcelj) * r2inv; + f[j][0] -= delx*fpair_j; + f[j][1] -= dely*fpair_j; + f[j][2] -= delz*fpair_j; + } + + if (eflag) { + if (rsq < cut_coulsq[itype][jtype]) { + ecoul = factor_coul * qqrd2e * qtmp*q[j]*(etmp+eps[j]) * rinv * screening; + } else ecoul = 0.0; + ecoul *= 0.5; + if (rsq < cut_ljsq[itype][jtype]) { + evdwl = r6inv*(lj3[itype][jtype]*r6inv-lj4[itype][jtype]) - + offset[itype][jtype]; + evdwl *= factor_lj; + } else evdwl = 0.0; + } + + if (evflag) ev_tally_full(i,evdwl,ecoul,fpair_i,delx,dely,delz); + } + } + } + + if (vflag_fdotr) virial_fdotr_compute(); +} + +/* ---------------------------------------------------------------------- + init specific to this pair style +------------------------------------------------------------------------- */ + +void PairLJCutCoulDebyeDielectric::init_style() +{ + avec = (AtomVecDielectric *) atom->style_match("dielectric"); + if (!avec) error->all(FLERR,"Pair lj/cut/coul/debye/dielectric requires atom style dielectric"); + + int irequest = neighbor->request(this,instance_me); + neighbor->requests[irequest]->half = 0; + neighbor->requests[irequest]->full = 1; +} + +/* ---------------------------------------------------------------------- */ + +double PairLJCutCoulDebyeDielectric::single(int i, int j, int itype, int jtype, + double rsq, + double factor_coul, double factor_lj, + double &fforce) +{ + double r2inv,r6inv,forcecoul,forcelj,phicoul,ei,ej,philj; + double r,rinv,screening; + double* eps = avec->epsilon; + + r2inv = 1.0/rsq; + if (rsq < cut_coulsq[itype][jtype]) { + r = sqrt(rsq); + rinv = 1.0/r; + screening = exp(-kappa*r); + forcecoul = force->qqrd2e * atom->q[i]*atom->q[j] * + screening * (kappa + rinv) * eps[i]; + } else forcecoul = 0.0; + if (rsq < cut_ljsq[itype][jtype]) { + r6inv = r2inv*r2inv*r2inv; + forcelj = r6inv * (lj1[itype][jtype]*r6inv - lj2[itype][jtype]); + } else forcelj = 0.0; + fforce = (factor_coul*forcecoul + factor_lj*forcelj) * r2inv; + + double eng = 0.0; + if (eps[i] == 1) ei = 0; + else ei = eps[i]; + if (eps[j] == 1) ej = 0; + else ej = eps[j]; + if (rsq < cut_coulsq[itype][jtype]) { + phicoul = force->qqrd2e * atom->q[i]*atom->q[j] * rinv * screening; + phicoul *= 0.5*(ei+ej); + eng += factor_coul*phicoul; + } + if (rsq < cut_ljsq[itype][jtype]) { + philj = r6inv*(lj3[itype][jtype]*r6inv-lj4[itype][jtype]) - + offset[itype][jtype]; + eng += factor_lj*philj; + } + + return eng; +} diff --git a/src/USER-DIELECTRIC/pair_lj_cut_coul_debye_dielectric.h b/src/USER-DIELECTRIC/pair_lj_cut_coul_debye_dielectric.h new file mode 100644 index 0000000000..9df0edb364 --- /dev/null +++ b/src/USER-DIELECTRIC/pair_lj_cut_coul_debye_dielectric.h @@ -0,0 +1,64 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef PAIR_CLASS + +PairStyle(lj/cut/coul/debye/dielectric,PairLJCutCoulDebyeDielectric) + +#else + +#ifndef LMP_PAIR_LJ_CUT_COUL_DEBYE_DIELECTRIC_H +#define LMP_PAIR_LJ_CUT_COUL_DEBYE_DIELECTRIC_H + +#include "pair_lj_cut_coul_debye.h" + +namespace LAMMPS_NS { + +class PairLJCutCoulDebyeDielectric : public PairLJCutCoulDebye { + public: + PairLJCutCoulDebyeDielectric(class LAMMPS *); + virtual ~PairLJCutCoulDebyeDielectric(); + virtual void compute(int, int); + virtual double single(int, int, int, int, double, double, double, double &); + void init_style(); + + double** efield; + double* epot; + + protected: + class AtomVecDielectric* avec; + int nmax; +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +E: Illegal ... command + +Self-explanatory. Check the input script syntax and compare to the +documentation for the command. You can use -echo screen as a +command-line option when running LAMMPS to see the offending line. + +E: Incorrect args for pair coefficients + +Self-explanatory. Check the input script or data file. + +E: Pair style lj/cut/coul/debye/dielectric requires atom attribute q + +The atom style defined does not have this attribute. + +*/ diff --git a/src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric.cpp b/src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric.cpp new file mode 100644 index 0000000000..5af71e3d33 --- /dev/null +++ b/src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric.cpp @@ -0,0 +1,340 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing author: Trung Nguyen (Northwestern) +------------------------------------------------------------------------- */ + +#include +#include +#include +#include +#include "pair_lj_cut_coul_long_dielectric.h" +#include "atom.h" +#include "atom_vec_dielectric.h" +#include "comm.h" +#include "force.h" +#include "kspace.h" +#include "update.h" +#include "integrate.h" +#include "respa.h" +#include "neighbor.h" +#include "neigh_list.h" +#include "neigh_request.h" +#include "math_const.h" +#include "memory.h" +#include "error.h" + +using namespace LAMMPS_NS; +using namespace MathConst; + +#define EWALD_F 1.12837917 +#define EWALD_P 0.3275911 +#define A1 0.254829592 +#define A2 -0.284496736 +#define A3 1.421413741 +#define A4 -1.453152027 +#define A5 1.061405429 + +#define EPSILON 1e-6 + +/* ---------------------------------------------------------------------- */ + +PairLJCutCoulLongDielectric::PairLJCutCoulLongDielectric(LAMMPS *lmp) : PairLJCutCoulLong(lmp) +{ + respa_enable = 0; + cut_respa = NULL; + efield = NULL; + epot = NULL; + nmax = 0; +} + +/* ---------------------------------------------------------------------- */ + +PairLJCutCoulLongDielectric::~PairLJCutCoulLongDielectric() +{ + memory->destroy(efield); + memory->destroy(epot); +} + +/* ---------------------------------------------------------------------- */ + +void PairLJCutCoulLongDielectric::compute(int eflag, int vflag) +{ + int i,ii,j,jj,inum,jnum,itype,jtype,itable; + double qtmp,etmp,xtmp,ytmp,ztmp,delx,dely,delz,evdwl,ecoul; + double fpair_i,fpair_j; + double fraction,table; + double r,r2inv,r6inv,forcecoul,forcelj,factor_coul,factor_lj; + double grij,expm2,prefactor,t,erfc,prefactorE,efield_i,epot_i; + int *ilist,*jlist,*numneigh,**firstneigh; + double rsq; + + evdwl = ecoul = 0.0; + if (eflag || vflag) ev_setup(eflag,vflag); + else evflag = vflag_fdotr = 0; + + if (atom->nmax > nmax) { + memory->destroy(efield); + memory->destroy(epot); + nmax = atom->nmax; + memory->create(efield,nmax,3,"pair:efield"); + memory->create(epot,nmax,"pair:epot"); + } + + double **x = atom->x; + double **f = atom->f; + double *q = atom->q; + double *eps = avec->epsilon; + double** norm = avec->mu; + double* curvature = avec->curvature; + double* area = avec->area; + int *type = atom->type; + int nlocal = atom->nlocal; + double *special_coul = force->special_coul; + double *special_lj = force->special_lj; + int newton_pair = force->newton_pair; + double qqrd2e = force->qqrd2e; + + inum = list->inum; + ilist = list->ilist; + numneigh = list->numneigh; + firstneigh = list->firstneigh; + + // loop over neighbors of my atoms + + for (ii = 0; ii < inum; ii++) { + i = ilist[ii]; + qtmp = q[i]; + xtmp = x[i][0]; + ytmp = x[i][1]; + ztmp = x[i][2]; + etmp = eps[i]; + itype = type[i]; + jlist = firstneigh[i]; + jnum = numneigh[i]; + + // self term Eq. (55) for I_{ii} and Eq. (52) and in Barros et al + double curvature_threshold = sqrt(area[i]); + if (curvature[i] < curvature_threshold) { + double sf = curvature[i]/(4.0*MY_PIS*curvature_threshold) * area[i]*q[i]; + efield[i][0] = sf*norm[i][0]; + efield[i][1] = sf*norm[i][1]; + efield[i][2] = sf*norm[i][2]; + } else { + efield[i][0] = efield[i][1] = efield[i][2] = 0; + } + + epot[i] = 0; + + for (jj = 0; jj < jnum; jj++) { + j = jlist[jj]; + factor_lj = special_lj[sbmask(j)]; + factor_coul = special_coul[sbmask(j)]; + j &= NEIGHMASK; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + jtype = type[j]; + + if (rsq < cutsq[itype][jtype]) { + r2inv = 1.0/rsq; + r = sqrt(rsq); + + if (rsq < cut_coulsq && rsq > EPSILON) { + if (!ncoultablebits || rsq <= tabinnersq) { + + grij = g_ewald * r; + expm2 = exp(-grij*grij); + t = 1.0 / (1.0 + EWALD_P*grij); + erfc = t * (A1+t*(A2+t*(A3+t*(A4+t*A5)))) * expm2; + prefactor = qqrd2e * qtmp*q[j]/r; + forcecoul = prefactor * (erfc + EWALD_F*grij*expm2); + if (factor_coul < 1.0) forcecoul -= (1.0-factor_coul)*prefactor; + + prefactorE = q[j]/r; + efield_i = prefactorE * (erfc + EWALD_F*grij*expm2); + if (factor_coul < 1.0) efield_i -= (1.0-factor_coul)*prefactorE; + epot_i = efield_i; + } else { + union_int_float_t rsq_lookup; + rsq_lookup.f = rsq; + itable = rsq_lookup.i & ncoulmask; + itable >>= ncoulshiftbits; + fraction = (rsq_lookup.f - rtable[itable]) * drtable[itable]; + table = ftable[itable] + fraction*dftable[itable]; + forcecoul = qtmp*q[j] * table; + efield_i = q[j] * table/qqrd2e; + if (factor_coul < 1.0) { + table = ctable[itable] + fraction*dctable[itable]; + prefactor = qtmp*q[j] * table; + forcecoul -= (1.0-factor_coul)*prefactor; + + prefactorE = q[j] * table/qqrd2e; + efield_i -= (1.0-factor_coul)*prefactorE; + } + epot_i = efield_i; + } + } else epot_i = efield_i = forcecoul = 0.0; + + if (rsq < cut_ljsq[itype][jtype]) { + r6inv = r2inv*r2inv*r2inv; + forcelj = r6inv * (lj1[itype][jtype]*r6inv - lj2[itype][jtype]); + } else forcelj = 0.0; + + fpair_i = (forcecoul*etmp + factor_lj*forcelj) * r2inv; + f[i][0] += delx*fpair_i; + f[i][1] += dely*fpair_i; + f[i][2] += delz*fpair_i; + + efield_i *= (etmp*r2inv); + efield[i][0] += delx*efield_i; + efield[i][1] += dely*efield_i; + efield[i][2] += delz*efield_i; + + epot[i] += epot_i; + + if (newton_pair && j >= nlocal) { + + fpair_j = (forcecoul*eps[j] + factor_lj*forcelj) * r2inv; + f[j][0] -= delx*fpair_j; + f[j][1] -= dely*fpair_j; + f[j][2] -= delz*fpair_j; + } + + if (eflag) { + if (rsq < cut_coulsq) { + if (!ncoultablebits || rsq <= tabinnersq) + ecoul = prefactor*(etmp+eps[j])*erfc; + else { + table = etable[itable] + fraction*detable[itable]; + ecoul = qtmp*q[j]*(etmp+eps[j]) * table; + } + ecoul *= 0.5; + if (factor_coul < 1.0) ecoul -= (1.0-factor_coul)*prefactor; + } else ecoul = 0.0; + + if (rsq < cut_ljsq[itype][jtype]) { + evdwl = r6inv*(lj3[itype][jtype]*r6inv-lj4[itype][jtype]) - + offset[itype][jtype]; + evdwl *= factor_lj; + } else evdwl = 0.0; + } + + if (evflag) ev_tally_full(i,evdwl,ecoul,fpair_i,delx,dely,delz); + } + } + } + + if (vflag_fdotr) virial_fdotr_compute(); +} + +/* ---------------------------------------------------------------------- + init specific to this pair style +------------------------------------------------------------------------- */ + +void PairLJCutCoulLongDielectric::init_style() +{ + avec = (AtomVecDielectric *) atom->style_match("dielectric"); + if (!avec) error->all(FLERR,"Pair lj/cut/coul/long/dielectric requires atom style dielectric"); + + int irequest = neighbor->request(this,instance_me); + neighbor->requests[irequest]->half = 0; + neighbor->requests[irequest]->full = 1; + + cut_coulsq = cut_coul * cut_coul; + + // insure use of KSpace long-range solver, set g_ewald + + if (force->kspace == NULL) + error->all(FLERR,"Pair style requires a KSpace style"); + g_ewald = force->kspace->g_ewald; + + // setup force tables + + if (ncoultablebits) init_tables(cut_coul,cut_respa); +} + +/* ---------------------------------------------------------------------- */ + +double PairLJCutCoulLongDielectric::single(int i, int j, int itype, int jtype, + double rsq, + double factor_coul, double factor_lj, + double &fforce) +{ + double r2inv,r6inv,r,grij,expm2,t,erfc,ei,ej,prefactor; + double fraction,table,forcecoul,forcelj,phicoul,philj; + int itable; + double *eps = avec->epsilon; + + r2inv = 1.0/rsq; + if (rsq < cut_coulsq) { + if (!ncoultablebits || rsq <= tabinnersq) { + r = sqrt(rsq); + grij = g_ewald * r; + expm2 = exp(-grij*grij); + t = 1.0 / (1.0 + EWALD_P*grij); + erfc = t * (A1+t*(A2+t*(A3+t*(A4+t*A5)))) * expm2; + prefactor = force->qqrd2e * atom->q[i]*atom->q[j]/r; + forcecoul = prefactor * (erfc + EWALD_F*grij*expm2); + if (factor_coul < 1.0) forcecoul -= (1.0-factor_coul)*prefactor; + } else { + union_int_float_t rsq_lookup_single; + rsq_lookup_single.f = rsq; + itable = rsq_lookup_single.i & ncoulmask; + itable >>= ncoulshiftbits; + fraction = (rsq_lookup_single.f - rtable[itable]) * drtable[itable]; + table = ftable[itable] + fraction*dftable[itable]; + forcecoul = atom->q[i]*atom->q[j] * table; + if (factor_coul < 1.0) { + table = ctable[itable] + fraction*dctable[itable]; + prefactor = atom->q[i]*atom->q[j] * table; + forcecoul -= (1.0-factor_coul)*prefactor; + } + } + } else forcecoul = 0.0; + + if (rsq < cut_ljsq[itype][jtype]) { + r6inv = r2inv*r2inv*r2inv; + forcelj = r6inv * (lj1[itype][jtype]*r6inv - lj2[itype][jtype]); + } else forcelj = 0.0; + + fforce = (forcecoul*eps[i] + factor_lj*forcelj) * r2inv; + + double eng = 0.0; + if (eps[i] == 1) ei = 0; + else ei = eps[i]; + if (eps[j] == 1) ej = 0; + else ej = eps[j]; + if (rsq < cut_coulsq) { + if (!ncoultablebits || rsq <= tabinnersq) + phicoul = prefactor*(ei+ej)*erfc; + else { + table = etable[itable] + fraction*detable[itable]; + phicoul = atom->q[i]*atom->q[j]*(ei+ej) * table; + } + phicoul *= 0.5; + if (factor_coul < 1.0) phicoul -= (1.0-factor_coul)*prefactor; + eng += phicoul; + } + + if (rsq < cut_ljsq[itype][jtype]) { + philj = r6inv*(lj3[itype][jtype]*r6inv-lj4[itype][jtype]) - + offset[itype][jtype]; + eng += factor_lj*philj; + } + + return eng; +} \ No newline at end of file diff --git a/src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric.h b/src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric.h new file mode 100644 index 0000000000..24afa7e6fa --- /dev/null +++ b/src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric.h @@ -0,0 +1,74 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef PAIR_CLASS + +PairStyle(lj/cut/coul/long/dielectric,PairLJCutCoulLongDielectric) + +#else + +#ifndef LMP_PAIR_LJ_CUT_COUL_LONG_DIELECTRIC_H +#define LMP_PAIR_LJ_CUT_COUL_LONG_DIELECTRIC_H + +#include "pair_lj_cut_coul_long.h" + +namespace LAMMPS_NS { + +class PairLJCutCoulLongDielectric : public PairLJCutCoulLong { + + public: + PairLJCutCoulLongDielectric(class LAMMPS *); + virtual ~PairLJCutCoulLongDielectric(); + virtual void compute(int, int); + virtual void init_style(); + virtual double single(int, int, int, int, double, double, double, double &); + + double** efield; + double* epot; + + protected: + class AtomVecDielectric* avec; + int nmax; +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +E: Illegal ... command + +Self-explanatory. Check the input script syntax and compare to the +documentation for the command. You can use -echo screen as a +command-line option when running LAMMPS to see the offending line. + +E: Incorrect args for pair coefficients + +Self-explanatory. Check the input script or data file. + +E: Pair style lj/cut/coul/long/dielectric requires atom attribute q + +The atom style defined does not have this attribute. + +E: Pair style requires a KSpace style + +No kspace style is defined. + +E: Pair cutoff < Respa interior cutoff + +One or more pairwise cutoffs are too short to use with the specified +rRESPA cutoffs. + +*/ diff --git a/src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric_omp.cpp b/src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric_omp.cpp new file mode 100644 index 0000000000..952df57533 --- /dev/null +++ b/src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric_omp.cpp @@ -0,0 +1,278 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing author: Trung Nguyen (Northwestern) +------------------------------------------------------------------------- */ + +#include +#include +#include +#include +#include "pair_lj_cut_coul_long_dielectric_omp.h" +#include "atom.h" +#include "atom_vec_dielectric.h" +#include "comm.h" +#include "force.h" +#include "kspace.h" +#include "update.h" +#include "integrate.h" +#include "respa.h" +#include "neighbor.h" +#include "neigh_list.h" +#include "neigh_request.h" +#include "math_const.h" +#include "memory.h" +#include "error.h" + +using namespace LAMMPS_NS; +using namespace MathConst; + +#define EWALD_F 1.12837917 +#define EWALD_P 0.3275911 +#define A1 0.254829592 +#define A2 -0.284496736 +#define A3 1.421413741 +#define A4 -1.453152027 +#define A5 1.061405429 + +#define EPSILON 1e-6 + +/* ---------------------------------------------------------------------- */ + +PairLJCutCoulLongDielectricOMP::PairLJCutCoulLongDielectricOMP(LAMMPS *lmp) : + PairLJCutCoulLongDielectric(lmp), ThrOMP(lmp, THR_PAIR) +{ +} + +/* ---------------------------------------------------------------------- */ + +PairLJCutCoulLongDielectricOMP::~PairLJCutCoulLongDielectricOMP() +{ +} + +/* ---------------------------------------------------------------------- */ + +void PairLJCutCoulLongDielectricOMP::compute(int eflag, int vflag) +{ + if (eflag || vflag) { + ev_setup(eflag,vflag); + } else evflag = vflag_fdotr = 0; + + if (atom->nmax > nmax) { + memory->destroy(efield); + memory->destroy(epot); + nmax = atom->nmax; + memory->create(efield,nmax,3,"pair:efield"); + memory->create(epot,nmax,"pair:epot"); + } + + const int nall = atom->nlocal + atom->nghost; + const int nthreads = comm->nthreads; + const int inum = list->inum; + +#if defined(_OPENMP) +#pragma omp parallel default(none) shared(eflag,vflag) +#endif + { + int ifrom, ito, tid; + + loop_setup_thr(ifrom, ito, tid, inum, nthreads); + ThrData *thr = fix->get_thr(tid); + thr->timer(Timer::START); + ev_setup_thr(eflag, vflag, nall, eatom, vatom, thr); + + if (evflag) { + if (eflag) { + if (force->newton_pair) eval<1,1,1>(ifrom, ito, thr); + else eval<1,1,0>(ifrom, ito, thr); + } else { + if (force->newton_pair) eval<1,0,1>(ifrom, ito, thr); + else eval<1,0,0>(ifrom, ito, thr); + } + } else { + if (force->newton_pair) eval<0,0,1>(ifrom, ito, thr); + else eval<0,0,0>(ifrom, ito, thr); + } + + thr->timer(Timer::PAIR); + reduce_thr(this, eflag, vflag, thr); + } // end of omp parallel region +} + +/* ---------------------------------------------------------------------- */ + +template +void PairLJCutCoulLongDielectricOMP::eval(int iifrom, int iito, ThrData * const thr) +{ + int i,j,ii,jj,jnum,itype,jtype,itable; + double qtmp,etmp,xtmp,ytmp,ztmp,delx,dely,delz,evdwl,ecoul,fpair; + double fraction,table; + double r,rsq,r2inv,r6inv,forcecoul,forcelj,factor_coul,factor_lj; + double grij,expm2,prefactor,t,erfc,prefactorE,efield_i,epot_i; + int *ilist,*jlist,*numneigh,**firstneigh; + + evdwl = ecoul = 0.0; + + const dbl3_t * _noalias const x = (dbl3_t *) atom->x[0]; + dbl3_t * _noalias const f = (dbl3_t *) thr->get_f()[0]; + const double * _noalias const q = atom->q; + const double * _noalias const eps = avec->epsilon; + const dbl3_t * _noalias const norm = (dbl3_t *) avec->mu[0]; + const double * _noalias const curvature = avec->curvature; + const double * _noalias const area = avec->area; + const int * _noalias const type = atom->type; + const int nlocal = atom->nlocal; + const double * _noalias const special_coul = force->special_coul; + const double * _noalias const special_lj = force->special_lj; + const double qqrd2e = force->qqrd2e; + double fxtmp,fytmp,fztmp,extmp,eytmp,eztmp; + + + ilist = list->ilist; + numneigh = list->numneigh; + firstneigh = list->firstneigh; + + // loop over neighbors of my atoms + + for (ii = iifrom; ii < iito; ++ii) { + + i = ilist[ii]; + qtmp = q[i]; + xtmp = x[i].x; + ytmp = x[i].y; + ztmp = x[i].z; + etmp = eps[i]; + itype = type[i]; + jlist = firstneigh[i]; + jnum = numneigh[i]; + fxtmp=fytmp=fztmp=0.0; + extmp=eytmp=eztmp=0.0; + + // self term Eq. (55) for I_{ii} and Eq. (52) and in Barros et al + double curvature_threshold = sqrt(area[i]); + if (curvature[i] < curvature_threshold) { + double sf = curvature[i]/(4.0*MY_PIS*curvature_threshold) * area[i]*q[i]; + efield[i][0] = sf*norm[i].x; + efield[i][1] = sf*norm[i].y; + efield[i][2] = sf*norm[i].z; + } else { + efield[i][0] = efield[i][1] = efield[i][2] = 0; + } + + for (jj = 0; jj < jnum; jj++) { + j = jlist[jj]; + factor_lj = special_lj[sbmask(j)]; + factor_coul = special_coul[sbmask(j)]; + j &= NEIGHMASK; + + delx = xtmp - x[j].x; + dely = ytmp - x[j].y; + delz = ztmp - x[j].z; + rsq = delx*delx + dely*dely + delz*delz; + jtype = type[j]; + + if (rsq < cutsq[itype][jtype]) { + r2inv = 1.0/rsq; + + if (rsq < cut_coulsq) { + if (!ncoultablebits || rsq <= tabinnersq) { + r = sqrt(rsq); + grij = g_ewald * r; + expm2 = exp(-grij*grij); + t = 1.0 / (1.0 + EWALD_P*grij); + erfc = t * (A1+t*(A2+t*(A3+t*(A4+t*A5)))) * expm2; + prefactor = qqrd2e * qtmp*q[j]/r; + forcecoul = prefactor * (erfc + EWALD_F*grij*expm2); + if (factor_coul < 1.0) forcecoul -= (1.0-factor_coul)*prefactor; + + prefactorE = q[j]/r; + efield_i = prefactorE * (erfc + EWALD_F*grij*expm2); + if (factor_coul < 1.0) efield_i -= (1.0-factor_coul)*prefactorE; + epot_i = efield_i; + + } else { + union_int_float_t rsq_lookup; + rsq_lookup.f = rsq; + itable = rsq_lookup.i & ncoulmask; + itable >>= ncoulshiftbits; + fraction = (rsq_lookup.f - rtable[itable]) * drtable[itable]; + table = ftable[itable] + fraction*dftable[itable]; + forcecoul = qtmp*q[j] * table; + efield_i = q[j] * table/qqrd2e; + if (factor_coul < 1.0) { + table = ctable[itable] + fraction*dctable[itable]; + prefactor = qtmp*q[j] * table; + forcecoul -= (1.0-factor_coul)*prefactor; + + prefactorE = q[j] * table/qqrd2e; + efield_i -= (1.0-factor_coul)*prefactorE; + } + epot_i = efield_i; + } + } else epot_i = efield_i = forcecoul = 0.0; + + if (rsq < cut_ljsq[itype][jtype]) { + r6inv = r2inv*r2inv*r2inv; + forcelj = r6inv * (lj1[itype][jtype]*r6inv - lj2[itype][jtype]); + forcelj *= factor_lj; + } else forcelj = 0.0; + + fpair = (forcecoul + forcelj) * r2inv; + + fxtmp += delx*fpair; + fytmp += dely*fpair; + fztmp += delz*fpair; + + efield_i *= (etmp*r2inv); + extmp += delx*efield_i; + eytmp += dely*efield_i; + eztmp += delz*efield_i; + epot[i] += epot_i; + + if (NEWTON_PAIR || j < nlocal) { + f[j].x -= delx*fpair; + f[j].y -= dely*fpair; + f[j].z -= delz*fpair; + } + + if (EFLAG) { + if (rsq < cut_coulsq) { + if (!ncoultablebits || rsq <= tabinnersq) + ecoul = prefactor*(etmp+eps[j])*erfc; + else { + table = etable[itable] + fraction*detable[itable]; + ecoul = qtmp*q[j]*(etmp+eps[j]) * table; + } + if (factor_coul < 1.0) ecoul -= (1.0-factor_coul)*prefactor; + } else ecoul = 0.0; + + if (rsq < cut_ljsq[itype][jtype]) { + evdwl = r6inv*(lj3[itype][jtype]*r6inv-lj4[itype][jtype]) - + offset[itype][jtype]; + evdwl *= factor_lj; + } else evdwl = 0.0; + } + + if (EVFLAG) ev_tally_thr(this, i,j,nlocal,NEWTON_PAIR, + evdwl,ecoul,fpair,delx,dely,delz,thr); + } + } + f[i].x += fxtmp; + f[i].y += fytmp; + f[i].z += fztmp; + efield[i][0] += extmp; + efield[i][1] += eytmp; + efield[i][2] += eztmp; + } +} diff --git a/src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric_omp.h b/src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric_omp.h new file mode 100644 index 0000000000..5a1033b606 --- /dev/null +++ b/src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric_omp.h @@ -0,0 +1,70 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef PAIR_CLASS + +PairStyle(lj/cut/coul/long/dielectric/omp,PairLJCutCoulLongDielectricOMP) + +#else + +#ifndef LMP_PAIR_LJ_CUT_COUL_LONG_DIELECTRIC_OMP_H +#define LMP_PAIR_LJ_CUT_COUL_LONG_DIELECTRIC_OMP_H + +#include "pair_lj_cut_coul_long_dielectric.h" +#include "thr_omp.h" + +namespace LAMMPS_NS { + +class PairLJCutCoulLongDielectricOMP : public PairLJCutCoulLongDielectric, public ThrOMP { + + public: + PairLJCutCoulLongDielectricOMP(class LAMMPS *); + virtual ~PairLJCutCoulLongDielectricOMP(); + virtual void compute(int, int); + + protected: + template + void eval(int ifrom, int ito, ThrData * const thr); +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +E: Illegal ... command + +Self-explanatory. Check the input script syntax and compare to the +documentation for the command. You can use -echo screen as a +command-line option when running LAMMPS to see the offending line. + +E: Incorrect args for pair coefficients + +Self-explanatory. Check the input script or data file. + +E: Pair style lj/cut/coul/long/dielectric requires atom attribute q + +The atom style defined does not have this attribute. + +E: Pair style requires a KSpace style + +No kspace style is defined. + +E: Pair cutoff < Respa interior cutoff + +One or more pairwise cutoffs are too short to use with the specified +rRESPA cutoffs. + +*/ diff --git a/src/USER-DIELECTRIC/pair_lj_cut_coul_msm_dielectric.cpp b/src/USER-DIELECTRIC/pair_lj_cut_coul_msm_dielectric.cpp new file mode 100644 index 0000000000..3aa55a1bce --- /dev/null +++ b/src/USER-DIELECTRIC/pair_lj_cut_coul_msm_dielectric.cpp @@ -0,0 +1,389 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing author: Trung Nguyen (Northwestern) +------------------------------------------------------------------------- */ + +#include +#include +#include +#include +#include "pair_lj_cut_coul_msm_dielectric.h" +#include "atom.h" +#include "atom_vec_dielectric.h" +#include "comm.h" +#include "force.h" +#include "kspace.h" +#include "update.h" +#include "integrate.h" +#include "respa.h" +#include "neighbor.h" +#include "neigh_list.h" +#include "neigh_request.h" +#include "math_const.h" +#include "memory.h" +#include "error.h" + +using namespace LAMMPS_NS; +using namespace MathConst; + +#define EPSILON 1e-6 + +/* ---------------------------------------------------------------------- */ + +PairLJCutCoulMSMDielectric::PairLJCutCoulMSMDielectric(LAMMPS *lmp) : PairLJCutCoulLong(lmp) +{ + ewaldflag = pppmflag = 0; + msmflag = 1; + respa_enable = 0; + cut_respa = NULL; + + nmax = 0; + ftmp = NULL; + efield = NULL; +} + +/* ---------------------------------------------------------------------- */ + +PairLJCutCoulMSMDielectric::~PairLJCutCoulMSMDielectric() +{ + if (ftmp) memory->destroy(ftmp); + memory->destroy(efield); +} + +/* ---------------------------------------------------------------------- */ + +void PairLJCutCoulMSMDielectric::compute(int eflag, int vflag) +{ + int i,ii,j,jj,inum,jnum,itype,jtype,itable; + double qtmp,etmp,xtmp,ytmp,ztmp,delx,dely,delz,evdwl,ecoul,fpair,fcoul; + double fpair_i,fpair_j; + double fraction,table; + double r,r2inv,r6inv,forcecoul,forcelj,factor_coul,factor_lj; + double egamma,fgamma,prefactor,prefactorE,efield_i; + int *ilist,*jlist,*numneigh,**firstneigh; + double rsq; + int eflag_old = eflag; + + if (force->kspace->scalar_pressure_flag && vflag) { + if (vflag > 2) + error->all(FLERR,"Must use 'kspace_modify pressure/scalar no' " + "to obtain per-atom virial with kspace_style MSM"); + + if (atom->nmax > nmax) { + if (ftmp) memory->destroy(ftmp); + nmax = atom->nmax; + memory->create(ftmp,nmax,3,"pair:ftmp"); + } + memset(&ftmp[0][0],0,nmax*3*sizeof(double)); + + // must switch on global energy computation if not already on + + if (eflag == 0 || eflag == 2) { + eflag++; + } + } + + if (!efield || atom->nmax > nmax) { + if (efield) memory->destroy(efield); + nmax = atom->nmax; + memory->create(efield,nmax,3,"pair:efield"); + } + + evdwl = ecoul = 0.0; + if (eflag || vflag) ev_setup(eflag,vflag); + else evflag = vflag_fdotr = 0; + + double **x = atom->x; + double **f = atom->f; + double *q = atom->q; + double *eps = avec->epsilon; + double** norm = avec->mu; + double* curvature = avec->curvature; + double* area = avec->area; + int *type = atom->type; + int nlocal = atom->nlocal; + double *special_coul = force->special_coul; + double *special_lj = force->special_lj; + int newton_pair = force->newton_pair; + double qqrd2e = force->qqrd2e; + + inum = list->inum; + ilist = list->ilist; + numneigh = list->numneigh; + firstneigh = list->firstneigh; + + // loop over neighbors of my atoms + + for (ii = 0; ii < inum; ii++) { + i = ilist[ii]; + qtmp = q[i]; + xtmp = x[i][0]; + ytmp = x[i][1]; + ztmp = x[i][2]; + etmp = eps[i]; + itype = type[i]; + jlist = firstneigh[i]; + jnum = numneigh[i]; + + // self term Eq. (55) for I_{ii} and Eq. (52) and in Barros et al + double curvature_threshold = sqrt(area[i]); + if (curvature[i] < curvature_threshold) { + double sf = curvature[i]/(4.0*MY_PIS*curvature_threshold) * area[i]*q[i]; + efield[i][0] = sf*norm[i][0]; + efield[i][1] = sf*norm[i][1]; + efield[i][2] = sf*norm[i][2]; + } else { + efield[i][0] = efield[i][1] = efield[i][2] = 0; + } + + for (jj = 0; jj < jnum; jj++) { + j = jlist[jj]; + factor_lj = special_lj[sbmask(j)]; + factor_coul = special_coul[sbmask(j)]; + j &= NEIGHMASK; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + jtype = type[j]; + + if (rsq < cutsq[itype][jtype]) { + r2inv = 1.0/rsq; + + if (rsq < cut_coulsq && rsq > EPSILON) { + if (!ncoultablebits || rsq <= tabinnersq) { + r = sqrt(rsq); + prefactor = qqrd2e * qtmp*q[j]/r; + egamma = 1.0 - (r/cut_coul)*force->kspace->gamma(r/cut_coul); + fgamma = 1.0 + (rsq/cut_coulsq)*force->kspace->dgamma(r/cut_coul); + forcecoul = prefactor * fgamma; + if (factor_coul < 1.0) forcecoul -= (1.0-factor_coul)*prefactor; + + prefactorE = q[j]/r; + efield_i = prefactorE * fgamma; + if (factor_coul < 1.0) efield_i -= (1.0-factor_coul)*prefactorE; + + } else { + union_int_float_t rsq_lookup; + rsq_lookup.f = rsq; + itable = rsq_lookup.i & ncoulmask; + itable >>= ncoulshiftbits; + fraction = (rsq_lookup.f - rtable[itable]) * drtable[itable]; + table = ftable[itable] + fraction*dftable[itable]; + forcecoul = qtmp*q[j] * table; + efield_i = q[j] * table/qqrd2e; + if (factor_coul < 1.0) { + table = ctable[itable] + fraction*dctable[itable]; + prefactor = qtmp*q[j] * table; + forcecoul -= (1.0-factor_coul)*prefactor; + + prefactorE = q[j] * table/qqrd2e; + efield_i -= (1.0-factor_coul)*prefactorE; + } + } + } else forcecoul = 0.0; + + if (rsq < cut_ljsq[itype][jtype]) { + r6inv = r2inv*r2inv*r2inv; + forcelj = r6inv * (lj1[itype][jtype]*r6inv - lj2[itype][jtype]); + } else forcelj = 0.0; + + if (!(force->kspace->scalar_pressure_flag && vflag)) { + + fpair_i = (forcecoul*etmp + factor_lj*forcelj) * r2inv; + f[i][0] += delx*fpair_i; + f[i][1] += dely*fpair_i; + f[i][2] += delz*fpair_i; + + efield_i *= (etmp*r2inv); + efield[i][0] += delx*efield_i; + efield[i][1] += dely*efield_i; + efield[i][2] += delz*efield_i; + + if (newton_pair && j >= nlocal) { + fpair_j = (forcecoul*eps[j] + factor_lj*forcelj) * r2inv; + f[j][0] -= delx*fpair_j; + f[j][1] -= dely*fpair_j; + f[j][2] -= delz*fpair_j; + } + } else { + // separate LJ and Coulombic forces + + fpair = (factor_lj*forcelj) * r2inv; + + f[i][0] += delx*fpair; + f[i][1] += dely*fpair; + f[i][2] += delz*fpair; + if (newton_pair) { + f[j][0] -= delx*fpair; + f[j][1] -= dely*fpair; + f[j][2] -= delz*fpair; + } + + fpair_i = (forcecoul*etmp) * r2inv; + ftmp[i][0] += delx*fpair_i; + ftmp[i][1] += dely*fpair_i; + ftmp[i][2] += delz*fpair_i; + + efield_i *= (etmp*r2inv); + efield[i][0] += delx*efield_i; + efield[i][1] += dely*efield_i; + efield[i][2] += delz*efield_i; + + if (newton_pair && j >= nlocal) { + fpair_j = (forcecoul*eps[j]) * r2inv; + ftmp[j][0] -= delx*fpair_j; + ftmp[j][1] -= dely*fpair_j; + ftmp[j][2] -= delz*fpair_j; + } + } + + if (eflag) { + if (rsq < cut_coulsq) { + if (!ncoultablebits || rsq <= tabinnersq) + ecoul = prefactor*(etmp+eps[j])*egamma; + else { + table = etable[itable] + fraction*detable[itable]; + ecoul = qtmp*q[j]*(etmp+eps[j]) * table; + } + if (factor_coul < 1.0) ecoul -= (1.0-factor_coul)*prefactor; + } else ecoul = 0.0; + + if (eflag_old && rsq < cut_ljsq[itype][jtype]) { + evdwl = r6inv*(lj3[itype][jtype]*r6inv-lj4[itype][jtype]) - + offset[itype][jtype]; + evdwl *= factor_lj; + } else evdwl = 0.0; + } + + if (evflag) ev_tally_full(i,evdwl,ecoul,fpair_i,delx,dely,delz); + } + } + } + + if (vflag_fdotr) virial_fdotr_compute(); + + if (force->kspace->scalar_pressure_flag && vflag) { + for (i = 0; i < 3; i++) virial[i] += force->pair->eng_coul/3.0; + for (int i = 0; i < nmax; i++) { + f[i][0] += ftmp[i][0]; + f[i][1] += ftmp[i][1]; + f[i][2] += ftmp[i][2]; + } + } +} + +/* ---------------------------------------------------------------------- */ + +double PairLJCutCoulMSMDielectric::single(int i, int j, int itype, int jtype, + double rsq, + double factor_coul, double factor_lj, + double &fforce) +{ + double r2inv,r6inv,r,egamma,fgamma,prefactor; + double fraction,table,forcecoul,forcelj,phicoul,philj; + int itable; + + r2inv = 1.0/rsq; + if (rsq < cut_coulsq) { + if (!ncoultablebits || rsq <= tabinnersq) { + r = sqrt(rsq); + prefactor = force->qqrd2e * atom->q[i]*atom->q[j]/r; + egamma = 1.0 - (r/cut_coul)*force->kspace->gamma(r/cut_coul); + fgamma = 1.0 + (rsq/cut_coulsq)*force->kspace->dgamma(r/cut_coul); + forcecoul = prefactor * fgamma; + if (factor_coul < 1.0) forcecoul -= (1.0-factor_coul)*prefactor; + } else { + union_int_float_t rsq_lookup_single; + rsq_lookup_single.f = rsq; + itable = rsq_lookup_single.i & ncoulmask; + itable >>= ncoulshiftbits; + fraction = (rsq_lookup_single.f - rtable[itable]) * drtable[itable]; + table = ftable[itable] + fraction*dftable[itable]; + forcecoul = atom->q[i]*atom->q[j] * table; + if (factor_coul < 1.0) { + table = ctable[itable] + fraction*dctable[itable]; + prefactor = atom->q[i]*atom->q[j] * table; + forcecoul -= (1.0-factor_coul)*prefactor; + } + } + } else forcecoul = 0.0; + + if (rsq < cut_ljsq[itype][jtype]) { + r6inv = r2inv*r2inv*r2inv; + forcelj = r6inv * (lj1[itype][jtype]*r6inv - lj2[itype][jtype]); + } else forcelj = 0.0; + + fforce = (forcecoul + factor_lj*forcelj) * r2inv; + + double eng = 0.0; + if (rsq < cut_coulsq) { + if (!ncoultablebits || rsq <= tabinnersq) + phicoul = prefactor*egamma; + else { + table = etable[itable] + fraction*detable[itable]; + phicoul = atom->q[i]*atom->q[j] * table; + } + if (factor_coul < 1.0) phicoul -= (1.0-factor_coul)*prefactor; + eng += phicoul; + } + + if (rsq < cut_ljsq[itype][jtype]) { + philj = r6inv*(lj3[itype][jtype]*r6inv-lj4[itype][jtype]) - + offset[itype][jtype]; + eng += factor_lj*philj; + } + + return eng; +} + +/* ---------------------------------------------------------------------- + init specific to this pair style +------------------------------------------------------------------------- */ + +void PairLJCutCoulMSMDielectric::init_style() +{ + avec = (AtomVecDielectric *) atom->style_match("dielectric"); + if (!avec) error->all(FLERR,"Pair lj/cut/coul/msm/dielectric requires atom style dielectric"); + + int irequest = neighbor->request(this,instance_me); + neighbor->requests[irequest]->half = 0; + neighbor->requests[irequest]->full = 1; + + cut_coulsq = cut_coul * cut_coul; + + // insure use of KSpace long-range solver, set g_ewald + + if (force->kspace == NULL) + error->all(FLERR,"Pair style requires a KSpace style"); + g_ewald = force->kspace->g_ewald; + + // setup force tables + + if (ncoultablebits) init_tables(cut_coul,cut_respa); +} + +/* ---------------------------------------------------------------------- */ + +void *PairLJCutCoulMSMDielectric::extract(const char *str, int &dim) +{ + dim = 0; + if (strcmp(str,"cut_coul") == 0) return (void *) &cut_coul; + dim = 2; + if (strcmp(str,"epsilon") == 0) return (void *) epsilon; + if (strcmp(str,"sigma") == 0) return (void *) sigma; + return NULL; +} diff --git a/src/USER-DIELECTRIC/pair_lj_cut_coul_msm_dielectric.h b/src/USER-DIELECTRIC/pair_lj_cut_coul_msm_dielectric.h new file mode 100644 index 0000000000..77f772315b --- /dev/null +++ b/src/USER-DIELECTRIC/pair_lj_cut_coul_msm_dielectric.h @@ -0,0 +1,59 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef PAIR_CLASS + +PairStyle(lj/cut/coul/msm/dielectric,PairLJCutCoulMSMDielectric) + +#else + +#ifndef LMP_PAIR_LJ_CUT_COUL_MSM_DIELECTRIC_H +#define LMP_PAIR_LJ_CUT_COUL_MSM_DIELECTRIC_H + +#include "pair_lj_cut_coul_long.h" + +namespace LAMMPS_NS { + +class PairLJCutCoulMSMDielectric : public PairLJCutCoulLong { + public: + PairLJCutCoulMSMDielectric(class LAMMPS *); + virtual ~PairLJCutCoulMSMDielectric(); + virtual void init_style(); + virtual void compute(int, int); + virtual double single(int, int, int, int, double, double, double, double &); + virtual void *extract(const char *, int &); + + double **efield; + + protected: + class AtomVecDielectric* avec; + int nmax; + double **ftmp; +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +E: Must use 'kspace_modify pressure/scalar no' to obtain per-atom virial with kspace_style MSM + +The kspace scalar pressure option cannot be used to obtain per-atom virial. + +E: Must use 'kspace_modify pressure/scalar no' for rRESPA with kspace_style MSM + +The kspace scalar pressure option cannot (yet) be used with rRESPA. + +*/ diff --git a/src/USER-DIELECTRIC/pair_lj_long_coul_long_dielectric.cpp b/src/USER-DIELECTRIC/pair_lj_long_coul_long_dielectric.cpp new file mode 100644 index 0000000000..ae2eb4a383 --- /dev/null +++ b/src/USER-DIELECTRIC/pair_lj_long_coul_long_dielectric.cpp @@ -0,0 +1,365 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing author: Trung Nguyen (Northwestern) +------------------------------------------------------------------------- */ + +#include +#include +#include +#include +#include "math_vector.h" +#include "pair_lj_long_coul_long_dielectric.h" +#include "atom.h" +#include "atom_vec_dielectric.h" +#include "comm.h" +#include "neighbor.h" +#include "neigh_list.h" +#include "neigh_request.h" +#include "force.h" +#include "kspace.h" +#include "update.h" +#include "integrate.h" +#include "respa.h" +#include "math_const.h" +#include "memory.h" +#include "error.h" + +using namespace LAMMPS_NS; +using namespace MathConst; + +#define EWALD_F 1.12837917 +#define EWALD_P 0.3275911 +#define A1 0.254829592 +#define A2 -0.284496736 +#define A3 1.421413741 +#define A4 -1.453152027 +#define A5 1.061405429 + +/* ---------------------------------------------------------------------- */ + +PairLJLongCoulLongDielectric::PairLJLongCoulLongDielectric(LAMMPS *lmp) + : PairLJLongCoulLong(lmp) +{ + respa_enable = 0; + cut_respa = NULL; + efield = NULL; + epot = NULL; + nmax = 0; +} + +/* ---------------------------------------------------------------------- + free all arrays +------------------------------------------------------------------------- */ + +PairLJLongCoulLongDielectric::~PairLJLongCoulLongDielectric() +{ + memory->destroy(efield); + memory->destroy(epot); +} + +/* ---------------------------------------------------------------------- + init specific to this pair style +------------------------------------------------------------------------- */ + +void PairLJLongCoulLongDielectric::init_style() +{ + PairLJLongCoulLongDielectric::init_style(); + + avec = (AtomVecDielectric *) atom->style_match("dielectric"); + if (!avec) error->all(FLERR,"Pair lj/long/coul/long/dielectric requires atom style dielectric"); + + int irequest = neighbor->request(this,instance_me); + neighbor->requests[irequest]->half = 0; + neighbor->requests[irequest]->full = 1; +} + +/* ---------------------------------------------------------------------- + compute pair interactions +------------------------------------------------------------------------- */ + +void PairLJLongCoulLongDielectric::compute(int eflag, int vflag) +{ + double evdwl,ecoul,fpair; + evdwl = ecoul = 0.0; + if (eflag || vflag) ev_setup(eflag,vflag); + else evflag = vflag_fdotr = 0; + + if (atom->nmax > nmax) { + memory->destroy(efield); + memory->destroy(epot); + nmax = atom->nmax; + memory->create(efield,nmax,3,"pair:efield"); + memory->create(epot,nmax,"pair:epot"); + } + + double **x = atom->x, *x0 = x[0]; + double **f = atom->f, *f0 = f[0], *fi = f0; + double *q = atom->q; + double *eps = avec->epsilon; + double** norm = avec->mu; + double* curvature = avec->curvature; + double* area = avec->area; + int *type = atom->type; + int nlocal = atom->nlocal; + double *special_coul = force->special_coul; + double *special_lj = force->special_lj; + int newton_pair = force->newton_pair; + double qqrd2e = force->qqrd2e; + + int i,ii,j,jj,inum,jnum,itype,jtype,itable; + double qtmp,etmp,xtmp,ytmp,ztmp,delx,dely,delz; + int order1 = ewald_order&(1<<1), order6 = ewald_order&(1<<6); + int *ineigh, *ineighn, *jneigh, *jneighn, typei, typej, ni; + double qi = 0.0, qri = 0.0; + double fpair_i,fpair_j; + double fraction,table; + double *cutsqi, *cut_ljsqi, *lj1i, *lj2i, *lj3i, *lj4i, *offseti; + double grij,expm2,prefactor,t,erfc,prefactorE,efield_i,epot_i; + double r,rsq,r2inv,force_coul,force_lj,factor_coul,factor_lj; + double g2 = g_ewald_6*g_ewald_6, g6 = g2*g2*g2, g8 = g6*g2; + vector xi, d; + + ineighn = (ineigh = list->ilist)+list->inum; + + for (; ineighfirstneigh[i])+list->numneigh[i]; + + // self term Eq. (55) for I_{ii} and Eq. (52) and in Barros et al + double curvature_threshold = sqrt(area[i]); + if (curvature[i] < curvature_threshold) { + double sf = curvature[i]/(4.0*MY_PIS*curvature_threshold) * area[i]*q[i]; + efield[i][0] = sf*norm[i][0]; + efield[i][1] = sf*norm[i][1]; + efield[i][2] = sf*norm[i][2]; + } else { + efield[i][0] = efield[i][1] = efield[i][2] = 0; + } + + epot[i] = 0; + + for (; jneigh= cutsq[typei][typej]) continue; + + r2inv = 1.0/rsq; + r = sqrt(rsq); + + if (order1 && (rsq < cut_coulsq)) { // coulombic + if (!ncoultablebits || rsq <= tabinnersq) { + + grij = g_ewald * r; + expm2 = exp(-grij*grij); + t = 1.0 / (1.0 + EWALD_P*grij); + erfc = t * (A1+t*(A2+t*(A3+t*(A4+t*A5)))) * expm2; + prefactor = qqrd2e * qtmp*q[j]/r; + force_coul = prefactor * (erfc + EWALD_F*grij*expm2); + if (factor_coul < 1.0) force_coul -= (1.0-factor_coul)*prefactor; + + prefactorE = q[j]/r; + efield_i = prefactorE * (erfc + EWALD_F*grij*expm2); + if (factor_coul < 1.0) efield_i -= (1.0-factor_coul)*prefactorE; + epot_i = efield_i; + } else { + union_int_float_t rsq_lookup; + rsq_lookup.f = rsq; + itable = rsq_lookup.i & ncoulmask; + itable >>= ncoulshiftbits; + fraction = (rsq_lookup.f - rtable[itable]) * drtable[itable]; + table = ftable[itable] + fraction*dftable[itable]; + force_coul = qtmp*q[j] * table; + efield_i = q[j] * table/qqrd2e; + if (factor_coul < 1.0) { + table = ctable[itable] + fraction*dctable[itable]; + prefactor = qtmp*q[j] * table; + force_coul -= (1.0-factor_coul)*prefactor; + + prefactorE = q[j] * table/qqrd2e; + efield_i -= (1.0-factor_coul)*prefactorE; + } + epot_i = efield_i; + } + } + else epot_i = efield_i = force_coul = ecoul = 0.0; + + if (rsq < cut_ljsqi[typej]) { // lj + if (order6) { // long-range lj + if(!ndisptablebits || rsq <= tabinnerdispsq) { // series real space + double rn = r2inv*r2inv*r2inv; + double x2 = g2*rsq, a2 = 1.0/x2; + x2 = a2*exp(-x2)*lj4i[typej]; + if (ni == 0) { + force_lj = + (rn*=rn)*lj1i[typej]-g8*(((6.0*a2+6.0)*a2+3.0)*a2+1.0)*x2*rsq; + if (eflag) + evdwl = rn*lj3i[typej]-g6*((a2+1.0)*a2+0.5)*x2; + } + else { // special case + double f = special_lj[ni], t = rn*(1.0-f); + force_lj = f*(rn *= rn)*lj1i[typej]- + g8*(((6.0*a2+6.0)*a2+3.0)*a2+1.0)*x2*rsq+t*lj2i[typej]; + if (eflag) + evdwl = f*rn*lj3i[typej]-g6*((a2+1.0)*a2+0.5)*x2+t*lj4i[typej]; + } + } + else { // table real space + union_int_float_t disp_t; + disp_t.f = rsq; + const int disp_k = (disp_t.i & ndispmask)>>ndispshiftbits; + double f_disp = (rsq-rdisptable[disp_k])*drdisptable[disp_k]; + double rn = r2inv*r2inv*r2inv; + if (ni == 0) { + force_lj = (rn*=rn)*lj1i[typej]-(fdisptable[disp_k]+f_disp*dfdisptable[disp_k])*lj4i[typej]; + if (eflag) evdwl = rn*lj3i[typej]-(edisptable[disp_k]+f_disp*dedisptable[disp_k])*lj4i[typej]; + } + else { // special case + double f = special_lj[ni], t = rn*(1.0-f); + force_lj = f*(rn *= rn)*lj1i[typej]-(fdisptable[disp_k]+f_disp*dfdisptable[disp_k])*lj4i[typej]+t*lj2i[typej]; + if (eflag) evdwl = f*rn*lj3i[typej]-(edisptable[disp_k]+f_disp*dedisptable[disp_k])*lj4i[typej]+t*lj4i[typej]; + } + } + } + else { // cut lj + double rn = r2inv*r2inv*r2inv; + if (ni == 0) { + force_lj = rn*(rn*lj1i[typej]-lj2i[typej]); + if (eflag) evdwl = rn*(rn*lj3i[typej]-lj4i[typej])-offseti[typej]; + } + else { // special case + double f = special_lj[ni]; + force_lj = f*rn*(rn*lj1i[typej]-lj2i[typej]); + if (eflag) + evdwl = f * (rn*(rn*lj3i[typej]-lj4i[typej])-offseti[typej]); + } + } + } + + else force_lj = evdwl = 0.0; + + fpair = (force_coul*etmp+force_lj)*r2inv; + f[i][0] += delx*fpair_i; + f[i][1] += dely*fpair_i; + f[i][2] += delz*fpair_i; + + efield_i *= (etmp*r2inv); + efield[i][0] += delx*efield_i; + efield[i][1] += dely*efield_i; + efield[i][2] += delz*efield_i; + + epot[i] += epot_i; + + if (newton_pair && j >= nlocal) { + + fpair_j = (force_coul*eps[j] + factor_lj*force_lj) * r2inv; + f[j][0] -= delx*fpair_j; + f[j][1] -= dely*fpair_j; + f[j][2] -= delz*fpair_j; + } + + if (eflag) { + if (rsq < cut_coulsq) { + if (!ncoultablebits || rsq <= tabinnersq) + ecoul = prefactor*(etmp+eps[j])*erfc; + else { + table = etable[itable] + fraction*detable[itable]; + ecoul = qtmp*q[j]*(etmp+eps[j]) * table; + } + ecoul *= 0.5; + if (factor_coul < 1.0) ecoul -= (1.0-factor_coul)*prefactor; + } else ecoul = 0.0; + + } + + if (evflag) ev_tally_full(i,evdwl,ecoul,fpair_i,delx,dely,delz); + } + } + + if (vflag_fdotr) virial_fdotr_compute(); +} + +/* ---------------------------------------------------------------------- */ + +double PairLJLongCoulLongDielectric::single(int i, int j, int itype, int jtype, + double rsq, double factor_coul, double factor_lj, + double &fforce) +{ + double r2inv, r6inv, force_coul, force_lj, ei, ej; + double g2 = g_ewald_6*g_ewald_6, g6 = g2*g2*g2, g8 = g6*g2, *q = atom->q; + double *eps = avec->epsilon; + + double eng = 0.0; + if (eps[i] == 1) ei = 0; + else ei = eps[i]; + if (eps[j] == 1) ej = 0; + else ej = eps[j]; + + r2inv = 1.0/rsq; + if ((ewald_order&2) && (rsq < cut_coulsq)) { // coulombic + if (!ncoultablebits || rsq <= tabinnersq) { // series real space + double r = sqrt(rsq), x = g_ewald*r; + double s = force->qqrd2e*q[i]*q[j], t = 1.0/(1.0+EWALD_P*x); + r = s*(1.0-factor_coul)/r; s *= g_ewald*exp(-x*x); + force_coul = (t *= ((((t*A5+A4)*t+A3)*t+A2)*t+A1)*s/x)+EWALD_F*s-r; + eng += (t-r)*(ei+ej)*0.5; + } + else { // table real space + union_int_float_t t; + t.f = rsq; + const int k = (t.i & ncoulmask) >> ncoulshiftbits; + double f = (rsq-rtable[k])*drtable[k], qiqj = q[i]*q[j]; + t.f = (1.0-factor_coul)*(ctable[k]+f*dctable[k]); + force_coul = qiqj*(ftable[k]+f*dftable[k]-t.f); + eng += qiqj*(etable[k]+f*detable[k]-t.f)*(ei+ej)*0.5; + } + } else force_coul = 0.0; + + if (rsq < cut_ljsq[itype][jtype]) { // lennard-jones + r6inv = r2inv*r2inv*r2inv; + if (ewald_order&64) { // long-range + double x2 = g2*rsq, a2 = 1.0/x2, t = r6inv*(1.0-factor_lj); + x2 = a2*exp(-x2)*lj4[itype][jtype]; + force_lj = factor_lj*(r6inv *= r6inv)*lj1[itype][jtype]- + g8*(((6.0*a2+6.0)*a2+3.0)*a2+a2)*x2*rsq+t*lj2[itype][jtype]; + eng += factor_lj*r6inv*lj3[itype][jtype]- + g6*((a2+1.0)*a2+0.5)*x2+t*lj4[itype][jtype]; + } + else { // cut + force_lj = factor_lj*r6inv*(lj1[itype][jtype]*r6inv-lj2[itype][jtype]); + eng += factor_lj*(r6inv*(r6inv*lj3[itype][jtype]- + lj4[itype][jtype])-offset[itype][jtype]); + } + } else force_lj = 0.0; + + fforce = (force_coul*eps[i]+force_lj)*r2inv; + return eng; +} diff --git a/src/USER-DIELECTRIC/pair_lj_long_coul_long_dielectric.h b/src/USER-DIELECTRIC/pair_lj_long_coul_long_dielectric.h new file mode 100644 index 0000000000..4ba4683d8b --- /dev/null +++ b/src/USER-DIELECTRIC/pair_lj_long_coul_long_dielectric.h @@ -0,0 +1,56 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef PAIR_CLASS + +PairStyle(lj/long/coul/long/dielectric,PairLJLongCoulLongDielectric) + +#else + +#ifndef LMP_PAIR_LJ_LONG_COUL_LONG_DIELECTRIC_H +#define LMP_PAIR_LJ_LONG_COUL_LONG_DIELECTRIC_H + +#include "pair_lj_long_coul_long.h" + +namespace LAMMPS_NS { + +class PairLJLongCoulLongDielectric : public PairLJLongCoulLong { + public: + PairLJLongCoulLongDielectric(class LAMMPS *); + virtual ~PairLJLongCoulLongDielectric(); + virtual void compute(int, int); + void init_style(); + double single(int, int, int, int, double, double, double, double &); + + double** efield; + double* epot; + + protected: + class AtomVecDielectric* avec; + int nmax; +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +E: Illegal ... command + +Self-explanatory. Check the input script syntax and compare to the +documentation for the command. You can use -echo screen as a +command-line option when running LAMMPS to see the offending line. + +*/ diff --git a/src/USER-DIELECTRIC/pppm_dielectric.cpp b/src/USER-DIELECTRIC/pppm_dielectric.cpp new file mode 100644 index 0000000000..084e0ab689 --- /dev/null +++ b/src/USER-DIELECTRIC/pppm_dielectric.cpp @@ -0,0 +1,1439 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing authors: Trung Nguyen (Northwestern) + point-dipoles by Stan Moore (SNL) +------------------------------------------------------------------------- */ + +#include +#include +#include +#include +#include +#include "pppm_dielectric.h" +#include "atom.h" +#include "atom_vec_dielectric.h" +#include "comm.h" +#include "gridcomm.h" +#include "neighbor.h" +#include "force.h" +#include "pair.h" +#include "domain.h" +#include "fft3d_wrap.h" +#include "remap_wrap.h" +#include "memory.h" +#include "error.h" + +#include "math_const.h" +#include "math_special.h" + +using namespace LAMMPS_NS; +using namespace MathConst; +using namespace MathSpecial; + +#define SMALL 0.00001 + +#ifdef FFT_SINGLE +#define ZEROF 0.0f +#define ONEF 1.0f +#else +#define ZEROF 0.0 +#define ONEF 1.0 +#endif + +enum{REVERSE_RHO,REVERSE_MU}; +enum{FORWARD_IK,FORWARD_MU,FORWARD_AD,FORWARD_IK_PERATOM,FORWARD_MU_PERATOM,FORWARD_AD_PERATOM}; + +/* ---------------------------------------------------------------------- */ + +PPPMDielectric::PPPMDielectric(LAMMPS *lmp) : PPPM(lmp), + cg_mu(NULL), densityx_brick_dipole(NULL), densityy_brick_dipole(NULL), densityz_brick_dipole(NULL), + u_brick_dipole(NULL), ux_brick_dipole(NULL), uy_brick_dipole(NULL), uz_brick_dipole(NULL), + vdxx_brick_dipole(NULL), vdxy_brick_dipole(NULL), vdyy_brick_dipole(NULL), vdxz_brick_dipole(NULL), + vdyz_brick_dipole(NULL), vdzz_brick_dipole(NULL), work3(NULL), work4(NULL), + densityx_fft_dipole(NULL), densityy_fft_dipole(NULL), densityz_fft_dipole(NULL) +{ + dipoleflag = 0; // turned off for now, until dipole works + group_group_enable = 0; + + mu_flag = 0; + + efield = NULL; + phi = NULL; + potflag = 0; + + avec = (AtomVecDielectric *) atom->style_match("dielectric"); + if (!avec) error->all(FLERR,"pppm/dielectric requires atom style dielectric"); +} + +/* ---------------------------------------------------------------------- */ + +PPPMDielectric::~PPPMDielectric() +{ + memory->destroy(efield); + memory->destroy(phi); +} + +/* ---------------------------------------------------------------------- + called once before run +------------------------------------------------------------------------- */ + +void PPPMDielectric::init() +{ + PPPM::init(); + + if (mu_flag) musum_musq(); + + if (mu_flag) { + cg_mu->ghost_notify(); + cg_mu->setup(); + } +} + +/* ---------------------------------------------------------------------- + reset local grid arrays and communication stencils + called by fix balance b/c it changed sizes of processor sub-domains +------------------------------------------------------------------------- */ + +void PPPMDielectric::setup_grid() +{ + PPPM::setup_grid(); + + if (mu_flag) { + cg_mu->ghost_notify(); + if (overlap_allowed == 0 && cg_mu->ghost_overlap()) + error->all(FLERR,"PPPMDielectric grid stencil extends " + "beyond nearest neighbor processor"); + cg_mu->setup(); + } + + // pre-compute volume-dependent coeffs + + PPPM::setup(); +} + +/* ---------------------------------------------------------------------- + compute the PPPMDielectric long-range force, energy, virial +------------------------------------------------------------------------- */ + +void PPPMDielectric::compute(int eflag, int vflag) +{ + int i,j; + + // set energy/virial flags + // invoke allocate_peratom() if needed for first time + + if (eflag || vflag) ev_setup(eflag,vflag); + else evflag = evflag_atom = eflag_global = vflag_global = + eflag_atom = vflag_atom = 0; + + if (potflag) evflag_atom = 1; + + if (evflag_atom && !peratom_allocate_flag) { + allocate_peratom(); + cg_peratom->ghost_notify(); + cg_peratom->setup(); + } + + // if atom count has changed, update qsum and qsqsum + + if (atom->natoms != natoms_original) { + qsum_qsq(); + musum_musq(); + natoms_original = atom->natoms; + } + + // return if there are no charges or dipoles + + //if (qsqsum == 0.0 && musqsum == 0.0) return; + + // convert atoms from box to lamda coords + + if (triclinic == 0) boxlo = domain->boxlo; + else { + boxlo = domain->boxlo_lamda; + domain->x2lamda(atom->nlocal); + } + + // extend size of per-atom arrays if necessary + + if (atom->nmax > nmax) { + memory->destroy(part2grid); + memory->destroy(efield); + memory->destroy(phi); + nmax = atom->nmax; + memory->create(part2grid,nmax,3,"pppm/dielectric:part2grid"); + memory->create(efield,nmax,3,"pppm/dielectric:efield"); + memory->create(phi,nmax,"pppm/dielectric:phi"); + } + + // find grid points for all my particles + // map my particle charge onto my local 3d density grid + + particle_map(); + make_rho(); + + if (mu_flag) + make_rho_dipole(); + + // all procs communicate density values from their ghost cells + // to fully sum contribution in their 3d bricks + // remap from 3d decomposition to FFT decomposition + + cg->reverse_comm(this,REVERSE_RHO); + brick2fft(); + + if (mu_flag) { + cg_mu->reverse_comm(this,REVERSE_MU); + brick2fft_dipole(); + } + + // compute potential gradient on my FFT grid and + // portion of e_long on this proc's FFT grid + // return gradients (electric fields) in 3d brick decomposition + // also performs per-atom calculations via poisson_peratom() + + poisson(); + + if (mu_flag) + poisson_ik_dipole(); + + // all procs communicate E-field values + // to fill ghost cells surrounding their 3d bricks + + if (differentiation_flag == 1) cg->forward_comm(this,FORWARD_AD); + else cg->forward_comm(this,FORWARD_IK); + + if (mu_flag) + cg_mu->forward_comm(this,FORWARD_MU); + + // extra per-atom energy/virial communication + + if (evflag_atom) { + if (differentiation_flag == 1 && vflag_atom) + cg_peratom->forward_comm(this,FORWARD_AD_PERATOM); + else if (differentiation_flag == 0) + cg_peratom->forward_comm(this,FORWARD_IK_PERATOM); + } + + // calculate the force on my particles + + fieldforce(); + + if (mu_flag) + fieldforce_ik_dipole(); + + // extra per-atom energy/virial communication + + if (evflag_atom) fieldforce_peratom(); + + // sum global energy across procs and add in volume-dependent term + + const double qscale = qqrd2e * scale; + const double g3 = g_ewald*g_ewald*g_ewald; + + if (eflag_global) { + double energy_all; + MPI_Allreduce(&energy,&energy_all,1,MPI_DOUBLE,MPI_SUM,world); + energy = energy_all; + + energy *= 0.5*volume; + energy -= g_ewald*qsqsum/MY_PIS + + MY_PI2*qsum*qsum / (g_ewald*g_ewald*volume); + if (mu_flag) + energy -= musqsum*qqrd2e*2.0*g3/3.0/MY_PIS; + energy *= qscale; + } + + // sum global virial across procs + + if (vflag_global) { + double virial_all[6]; + MPI_Allreduce(virial,virial_all,6,MPI_DOUBLE,MPI_SUM,world); + for (i = 0; i < 6; i++) virial[i] = 0.5*qscale*volume*virial_all[i]; + } + + // per-atom energy/virial + // energy includes self-energy correction + // ntotal accounts for TIP4P tallying eatom/vatom for ghost atoms + + if (evflag_atom) { + double *q = atom->q; + double **mu = atom->mu; + int nlocal = atom->nlocal; + int ntotal = nlocal; + if (tip4pflag) ntotal += atom->nghost; + + if (eflag_atom) { + for (i = 0; i < nlocal; i++) { + eatom[i] *= 0.5; + eatom[i] -= g_ewald*q[i]*q[i]/MY_PIS + MY_PI2*q[i]*qsum / + (g_ewald*g_ewald*volume); + + if (mu_flag) + eatom[i] -= (mu[i][0]*mu[i][0] + mu[i][1]*mu[i][1] + mu[i][2]*mu[i][2])*qqrd2e*2.0*g3/3.0/MY_PIS; + + eatom[i] *= qscale; + } + for (i = nlocal; i < ntotal; i++) eatom[i] *= 0.5*qscale; + } + + if (vflag_atom) { + for (i = 0; i < ntotal; i++) + for (j = 0; j < 6; j++) vatom[i][j] *= 0.5*qscale; + } + } + + // 2d slab correction + + if (slabflag == 1) slabcorr(); + + // convert atoms back from lamda to box coords + + if (triclinic) domain->lamda2x(atom->nlocal); +} + +/* ---------------------------------------------------------------------- + allocate memory that depends on # of K-vectors and order +------------------------------------------------------------------------- */ + +void PPPMDielectric::allocate() +{ + PPPM::allocate(); + + if (mu_flag) { + memory->create3d_offset(densityx_brick_dipole,nzlo_out,nzhi_out,nylo_out,nyhi_out, + nxlo_out,nxhi_out,"pppm:densityx_brick_dipole"); + memory->create3d_offset(densityy_brick_dipole,nzlo_out,nzhi_out,nylo_out,nyhi_out, + nxlo_out,nxhi_out,"pppm:densityy_brick_dipole"); + memory->create3d_offset(densityz_brick_dipole,nzlo_out,nzhi_out,nylo_out,nyhi_out, + nxlo_out,nxhi_out,"pppm:densityz_brick_dipole"); + + memory->create(densityx_fft_dipole,nfft_both,"pppm:densityy_fft_dipole"); + memory->create(densityy_fft_dipole,nfft_both,"pppm:densityy_fft_dipole"); + memory->create(densityz_fft_dipole,nfft_both,"pppm:densityz_fft_dipole"); + + memory->create(work3,2*nfft_both,"pppm:work3"); + memory->create(work4,2*nfft_both,"pppm:work4"); + + memory->create3d_offset(u_brick_dipole,nzlo_out,nzhi_out,nylo_out,nyhi_out, + nxlo_out,nxhi_out,"pppm:u_brick_dipole"); + + memory->create3d_offset(ux_brick_dipole,nzlo_out,nzhi_out,nylo_out,nyhi_out, + nxlo_out,nxhi_out,"pppm:ux_brick_dipole"); + memory->create3d_offset(uy_brick_dipole,nzlo_out,nzhi_out,nylo_out,nyhi_out, + nxlo_out,nxhi_out,"pppm:uy_brick_dipole"); + memory->create3d_offset(uz_brick_dipole,nzlo_out,nzhi_out,nylo_out,nyhi_out, + nxlo_out,nxhi_out,"pppm:uz_brick_dipole"); + + memory->create3d_offset(vdxx_brick_dipole,nzlo_out,nzhi_out,nylo_out,nyhi_out, + nxlo_out,nxhi_out,"pppm:vdxx_brick_dipole"); + memory->create3d_offset(vdxy_brick_dipole,nzlo_out,nzhi_out,nylo_out,nyhi_out, + nxlo_out,nxhi_out,"pppm:vdxy_brick_dipole"); + memory->create3d_offset(vdyy_brick_dipole,nzlo_out,nzhi_out,nylo_out,nyhi_out, + nxlo_out,nxhi_out,"pppm:vdyy_brick_dipole"); + memory->create3d_offset(vdxz_brick_dipole,nzlo_out,nzhi_out,nylo_out,nyhi_out, + nxlo_out,nxhi_out,"pppm:vdxz_brick_dipole"); + memory->create3d_offset(vdyz_brick_dipole,nzlo_out,nzhi_out,nylo_out,nyhi_out, + nxlo_out,nxhi_out,"pppm:vdyz_brick_dipole"); + memory->create3d_offset(vdzz_brick_dipole,nzlo_out,nzhi_out,nylo_out,nyhi_out, + nxlo_out,nxhi_out,"pppm:vdzz_brick_dipole"); + + int (*procneigh)[2] = comm->procneigh; + cg_mu = new GridComm(lmp,world,9,3, + nxlo_in,nxhi_in,nylo_in,nyhi_in,nzlo_in,nzhi_in, + nxlo_out,nxhi_out,nylo_out,nyhi_out,nzlo_out,nzhi_out, + procneigh[0][0],procneigh[0][1],procneigh[1][0], + procneigh[1][1],procneigh[2][0],procneigh[2][1]); + } +} + +/* ---------------------------------------------------------------------- + deallocate memory that depends on # of K-vectors and order +------------------------------------------------------------------------- */ + +void PPPMDielectric::deallocate() +{ + PPPM::deallocate(); + + if (mu_flag) { + memory->destroy3d_offset(densityx_brick_dipole,nzlo_out,nylo_out,nxlo_out); + memory->destroy3d_offset(densityy_brick_dipole,nzlo_out,nylo_out,nxlo_out); + memory->destroy3d_offset(densityz_brick_dipole,nzlo_out,nylo_out,nxlo_out); + + memory->destroy3d_offset(u_brick_dipole,nzlo_out,nylo_out,nxlo_out); + + memory->destroy3d_offset(ux_brick_dipole,nzlo_out,nylo_out,nxlo_out); + memory->destroy3d_offset(uy_brick_dipole,nzlo_out,nylo_out,nxlo_out); + memory->destroy3d_offset(uz_brick_dipole,nzlo_out,nylo_out,nxlo_out); + + memory->destroy3d_offset(vdxx_brick_dipole,nzlo_out,nylo_out,nxlo_out); + memory->destroy3d_offset(vdxy_brick_dipole,nzlo_out,nylo_out,nxlo_out); + memory->destroy3d_offset(vdyy_brick_dipole,nzlo_out,nylo_out,nxlo_out); + memory->destroy3d_offset(vdxz_brick_dipole,nzlo_out,nylo_out,nxlo_out); + memory->destroy3d_offset(vdyz_brick_dipole,nzlo_out,nylo_out,nxlo_out); + memory->destroy3d_offset(vdzz_brick_dipole,nzlo_out,nylo_out,nxlo_out); + + memory->destroy(densityx_fft_dipole); + memory->destroy(densityy_fft_dipole); + memory->destroy(densityz_fft_dipole); + + memory->destroy(work3); + memory->destroy(work4); + + delete cg_mu; + } +} + +/* ---------------------------------------------------------------------- + create discretized "density" on section of global grid due to my particles + density(x,y,z) = charge "density" at grid points of my 3d brick + (nxlo:nxhi,nylo:nyhi,nzlo:nzhi) is extent of my brick (including ghosts) + in global grid +------------------------------------------------------------------------- */ + +void PPPMDielectric::make_rho_dipole() +{ + int l,m,n,nx,ny,nz,mx,my,mz; + FFT_SCALAR dx,dy,dz; + FFT_SCALAR x0,y0,z0; + FFT_SCALAR x1,y1,z1; + FFT_SCALAR x2,y2,z2; + + // clear 3d density array + + memset(&(densityx_brick_dipole[nzlo_out][nylo_out][nxlo_out]),0, + ngrid*sizeof(FFT_SCALAR)); + memset(&(densityy_brick_dipole[nzlo_out][nylo_out][nxlo_out]),0, + ngrid*sizeof(FFT_SCALAR)); + memset(&(densityz_brick_dipole[nzlo_out][nylo_out][nxlo_out]),0, + ngrid*sizeof(FFT_SCALAR)); + + // loop over my charges, add their contribution to nearby grid points + // (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 + + double **mu = atom->mu; + double **x = atom->x; + int nlocal = atom->nlocal; + + for (int i = 0; i < nlocal; i++) { + + nx = part2grid[i][0]; + ny = part2grid[i][1]; + nz = part2grid[i][2]; + dx = nx+shiftone - (x[i][0]-boxlo[0])*delxinv; + dy = ny+shiftone - (x[i][1]-boxlo[1])*delyinv; + dz = nz+shiftone - (x[i][2]-boxlo[2])*delzinv; + + compute_rho1d(dx,dy,dz); + + z0 = delvolinv * mu[i][0]; + z1 = delvolinv * mu[i][1]; + z2 = delvolinv * mu[i][2]; + for (n = nlower; n <= nupper; n++) { + mz = n+nz; + y0 = z0*rho1d[2][n]; + y1 = z1*rho1d[2][n]; + y2 = z2*rho1d[2][n]; + for (m = nlower; m <= nupper; m++) { + my = m+ny; + x0 = y0*rho1d[1][m]; + x1 = y1*rho1d[1][m]; + x2 = y2*rho1d[1][m]; + for (l = nlower; l <= nupper; l++) { + mx = l+nx; + densityx_brick_dipole[mz][my][mx] += x0*rho1d[0][l]; + densityy_brick_dipole[mz][my][mx] += x1*rho1d[0][l]; + densityz_brick_dipole[mz][my][mx] += x2*rho1d[0][l]; + } + } + } + } +} + +/* ---------------------------------------------------------------------- + remap density from 3d brick decomposition to FFT decomposition +------------------------------------------------------------------------- */ + +void PPPMDielectric::brick2fft_dipole() +{ + int n,ix,iy,iz; + + // copy grabs inner portion of density from 3d brick + // remap could be done as pre-stage of FFT, + // but this works optimally on only double values, not complex values + + n = 0; + for (iz = nzlo_in; iz <= nzhi_in; iz++) + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) { + densityx_fft_dipole[n] = densityx_brick_dipole[iz][iy][ix]; + densityy_fft_dipole[n] = densityy_brick_dipole[iz][iy][ix]; + densityz_fft_dipole[n] = densityz_brick_dipole[iz][iy][ix]; + n++; + } + + remap->perform(densityx_fft_dipole,densityx_fft_dipole,work1); + remap->perform(densityy_fft_dipole,densityy_fft_dipole,work1); + remap->perform(densityz_fft_dipole,densityz_fft_dipole,work1); +} + +/* ---------------------------------------------------------------------- + FFT-based Poisson solver for ik +------------------------------------------------------------------------- */ + +void PPPMDielectric::poisson_ik_dipole() +{ + int i,j,k,n,ii; + double eng; + double wreal,wimg; + + // transform dipole density (r -> k) + + n = 0; + for (i = 0; i < nfft; i++) { + work1[n] = densityx_fft_dipole[i]; + work1[n+1] = ZEROF; + work2[n] = densityy_fft_dipole[i]; + work2[n+1] = ZEROF; + work3[n] = densityz_fft_dipole[i]; + work3[n+1] = ZEROF; + n += 2; + } + + fft1->compute(work1,work1,1); + fft1->compute(work2,work2,1); + fft1->compute(work3,work3,1); + + // global energy and virial contribution + + double scaleinv = 1.0/(nx_pppm*ny_pppm*nz_pppm); + double s2 = scaleinv*scaleinv; + + if (eflag_global || vflag_global) { + if (vflag_global) { + n = 0; + ii = 0; + for (k = nzlo_fft; k <= nzhi_fft; k++) + for (j = nylo_fft; j <= nyhi_fft; j++) + for (i = nxlo_fft; i <= nxhi_fft; i++) { + wreal = (work1[n]*fkx[i] + work2[n]*fky[j] + work3[n]*fkz[k]); + wimg = (work1[n+1]*fkx[i] + work2[n+1]*fky[j] + work3[n+1]*fkz[k]); + eng = s2 * greensfn[ii] * (wreal*wreal + wimg*wimg); + //eng = s2 * greensfn[ii] * (wreal+wimg)*(wreal+wimg); + for (int jj = 0; jj < 6; jj++) virial[jj] += eng*vg[ii][jj]; + if (eflag_global) energy += eng; + ii++; + n += 2; + } + } else { + n = 0; + ii = 0; + for (k = nzlo_fft; k <= nzhi_fft; k++) + for (j = nylo_fft; j <= nyhi_fft; j++) + for (i = nxlo_fft; i <= nxhi_fft; i++) { + wreal = (work1[n]*fkx[i] + work2[n]*fky[j] + work3[n]*fkz[k]); + wimg = (work1[n+1]*fkx[i] + work2[n+1]*fky[j] + work3[n+1]*fkz[k]); + energy += + //s2 * greensfn[ii] * (wreal+wimg)*(wreal+wimg); + s2 * greensfn[ii] * (wreal*wreal + wimg*wimg); + ii++; + n += 2; + } + } + } + + // scale by 1/total-grid-pts to get rho(k) + // multiply by Green's function to get V(k) + + n = 0; + for (i = 0; i < nfft; i++) { + work1[n] *= scaleinv * greensfn[i]; + work1[n+1] *= scaleinv * greensfn[i]; + work2[n] *= scaleinv * greensfn[i]; + work2[n+1] *= scaleinv * greensfn[i]; + work3[n] *= scaleinv * greensfn[i]; + work3[n+1] *= scaleinv * greensfn[i]; + n += 2; + } + + // triclinic system + + /*if (triclinic) { + poisson_ik_triclinic(); + return; + }*/ + + // compute electric potential + // FFT leaves data in 3d brick decomposition + + n = 0; + for (k = nzlo_fft; k <= nzhi_fft; k++) + for (j = nylo_fft; j <= nyhi_fft; j++) + for (i = nxlo_fft; i <= nxhi_fft; i++) { + work4[n] = work1[n]*fkx[i] + work2[n]*fky[j] + work3[n]*fkz[k]; + work4[n+1] = work1[n+1]*fkx[i] + work2[n+1]*fky[j] + work3[n+1]*fkz[k]; + n += 2; + } + + fft2->compute(work4,work4,-1); + + n = 0; + for (k = nzlo_in; k <= nzhi_in; k++) + for (j = nylo_in; j <= nyhi_in; j++) + for (i = nxlo_in; i <= nxhi_in; i++) { + u_brick_dipole[k][j][i] = work4[n]; + n += 2; + } + + // Ex + + n = 0; + for (k = nzlo_fft; k <= nzhi_fft; k++) + for (j = nylo_fft; j <= nyhi_fft; j++) + for (i = nxlo_fft; i <= nxhi_fft; i++) { + work4[n] = fkx[i]*(work1[n]*fkx[i] + work2[n]*fky[j] + work3[n]*fkz[k]); + work4[n+1] = fkx[i]*(work1[n+1]*fkx[i] + work2[n+1]*fky[j] + work3[n+1]*fkz[k]); + n += 2; + } + + fft2->compute(work4,work4,-1); + + n = 0; + for (k = nzlo_in; k <= nzhi_in; k++) + for (j = nylo_in; j <= nyhi_in; j++) + for (i = nxlo_in; i <= nxhi_in; i++) { + ux_brick_dipole[k][j][i] = work4[n]; + n += 2; + } + + // Ey + + n = 0; + for (k = nzlo_fft; k <= nzhi_fft; k++) + for (j = nylo_fft; j <= nyhi_fft; j++) + for (i = nxlo_fft; i <= nxhi_fft; i++) { + work4[n] = fky[j]*(work1[n]*fkx[i] + work2[n]*fky[j] + work3[n]*fkz[k]); + work4[n+1] = fky[j]*(work1[n+1]*fkx[i] + work2[n+1]*fky[j] + work3[n+1]*fkz[k]); + n += 2; + } + + fft2->compute(work4,work4,-1); + + n = 0; + for (k = nzlo_in; k <= nzhi_in; k++) + for (j = nylo_in; j <= nyhi_in; j++) + for (i = nxlo_in; i <= nxhi_in; i++) { + uy_brick_dipole[k][j][i] = work4[n]; + n += 2; + } + + // Ez + + n = 0; + for (k = nzlo_fft; k <= nzhi_fft; k++) + for (j = nylo_fft; j <= nyhi_fft; j++) + for (i = nxlo_fft; i <= nxhi_fft; i++) { + work4[n] = fkz[k]*(work1[n]*fkx[i] + work2[n]*fky[j] + work3[n]*fkz[k]); + work4[n+1] = fkz[k]*(work1[n+1]*fkx[i] + work2[n+1]*fky[j] + work3[n+1]*fkz[k]); + n += 2; + } + + fft2->compute(work4,work4,-1); + + n = 0; + for (k = nzlo_in; k <= nzhi_in; k++) + for (j = nylo_in; j <= nyhi_in; j++) + for (i = nxlo_in; i <= nxhi_in; i++) { + uz_brick_dipole[k][j][i] = work4[n]; + n += 2; + } + + // Vxx + + n = 0; + for (k = nzlo_fft; k <= nzhi_fft; k++) + for (j = nylo_fft; j <= nyhi_fft; j++) + for (i = nxlo_fft; i <= nxhi_fft; i++) { + work4[n] = fkx[i]*fkx[i]*(work1[n+1]*fkx[i] + work2[n+1]*fky[j] + work3[n+1]*fkz[k]); + work4[n+1] = -fkx[i]*fkx[i]*(work1[n]*fkx[i] + work2[n]*fky[j] + work3[n]*fkz[k]); + n += 2; + } + + fft2->compute(work4,work4,-1); + + n = 0; + for (k = nzlo_in; k <= nzhi_in; k++) + for (j = nylo_in; j <= nyhi_in; j++) + for (i = nxlo_in; i <= nxhi_in; i++) { + vdxx_brick_dipole[k][j][i] = work4[n]; + n += 2; + } + + // Vyy + + n = 0; + for (k = nzlo_fft; k <= nzhi_fft; k++) + for (j = nylo_fft; j <= nyhi_fft; j++) + for (i = nxlo_fft; i <= nxhi_fft; i++) { + work4[n] = fky[j]*fky[j]*(work1[n+1]*fkx[i] + work2[n+1]*fky[j] + work3[n+1]*fkz[k]); + work4[n+1] = -fky[j]*fky[j]*(work1[n]*fkx[i] + work2[n]*fky[j] + work3[n]*fkz[k]); + n += 2; + } + + fft2->compute(work4,work4,-1); + + n = 0; + for (k = nzlo_in; k <= nzhi_in; k++) + for (j = nylo_in; j <= nyhi_in; j++) + for (i = nxlo_in; i <= nxhi_in; i++) { + vdyy_brick_dipole[k][j][i] = work4[n]; + n += 2; + } + + // Vzz + + n = 0; + for (k = nzlo_fft; k <= nzhi_fft; k++) + for (j = nylo_fft; j <= nyhi_fft; j++) + for (i = nxlo_fft; i <= nxhi_fft; i++) { + work4[n] = fkz[k]*fkz[k]*(work1[n+1]*fkx[i] + work2[n+1]*fky[j] + work3[n+1]*fkz[k]); + work4[n+1] = -fkz[k]*fkz[k]*(work1[n]*fkx[i] + work2[n]*fky[j] + work3[n]*fkz[k]); + n += 2; + } + + fft2->compute(work4,work4,-1); + + n = 0; + for (k = nzlo_in; k <= nzhi_in; k++) + for (j = nylo_in; j <= nyhi_in; j++) + for (i = nxlo_in; i <= nxhi_in; i++) { + vdzz_brick_dipole[k][j][i] = work4[n]; + n += 2; + } + + // Vxy + + n = 0; + for (k = nzlo_fft; k <= nzhi_fft; k++) + for (j = nylo_fft; j <= nyhi_fft; j++) + for (i = nxlo_fft; i <= nxhi_fft; i++) { + work4[n] = fkx[i]*fky[j]*(work1[n+1]*fkx[i] + work2[n+1]*fky[j] + work3[n+1]*fkz[k]); + work4[n+1] = -fkx[i]*fky[j]*(work1[n]*fkx[i] + work2[n]*fky[j] + work3[n]*fkz[k]); + n += 2; + } + + fft2->compute(work4,work4,-1); + + n = 0; + for (k = nzlo_in; k <= nzhi_in; k++) + for (j = nylo_in; j <= nyhi_in; j++) + for (i = nxlo_in; i <= nxhi_in; i++) { + vdxy_brick_dipole[k][j][i] = work4[n]; + n += 2; + } + + // Vxz + + n = 0; + for (k = nzlo_fft; k <= nzhi_fft; k++) + for (j = nylo_fft; j <= nyhi_fft; j++) + for (i = nxlo_fft; i <= nxhi_fft; i++) { + work4[n] = fkx[i]*fkz[k]*(work1[n+1]*fkx[i] + work2[n+1]*fky[j] + work3[n+1]*fkz[k]); + work4[n+1] = -fkx[i]*fkz[k]*(work1[n]*fkx[i] + work2[n]*fky[j] + work3[n]*fkz[k]); + n += 2; + } + + fft2->compute(work4,work4,-1); + + n = 0; + for (k = nzlo_in; k <= nzhi_in; k++) + for (j = nylo_in; j <= nyhi_in; j++) + for (i = nxlo_in; i <= nxhi_in; i++) { + vdxz_brick_dipole[k][j][i] = work4[n]; + n += 2; + } + + // Vyz + + n = 0; + for (k = nzlo_fft; k <= nzhi_fft; k++) + for (j = nylo_fft; j <= nyhi_fft; j++) + for (i = nxlo_fft; i <= nxhi_fft; i++) { + work4[n] = fky[j]*fkz[k]*(work1[n+1]*fkx[i] + work2[n+1]*fky[j] + work3[n+1]*fkz[k]); + work4[n+1] = -fky[j]*fkz[k]*(work1[n]*fkx[i] + work2[n]*fky[j] + work3[n]*fkz[k]); + n += 2; + } + + fft2->compute(work4,work4,-1); + + n = 0; + for (k = nzlo_in; k <= nzhi_in; k++) + for (j = nylo_in; j <= nyhi_in; j++) + for (i = nxlo_in; i <= nxhi_in; i++) { + vdyz_brick_dipole[k][j][i] = work4[n]; + n += 2; + } +} + +/* ---------------------------------------------------------------------- + interpolate from grid to get electric field & force on my particles for ik +------------------------------------------------------------------------- */ + +void PPPMDielectric::fieldforce_ik() +{ + int i,l,m,n,nx,ny,nz,mx,my,mz; + FFT_SCALAR dx,dy,dz,x0,y0,z0; + FFT_SCALAR ekx,eky,ekz,u; + + // loop over my charges, interpolate electric field from nearby grid points + // (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 + // ek = 3 components of E-field on particle + + double *q = atom->q; + double **x = atom->x; + double **f = atom->f; + double *eps = avec->epsilon; + int nlocal = atom->nlocal; + + for (i = 0; i < nlocal; i++) { + nx = part2grid[i][0]; + ny = part2grid[i][1]; + nz = part2grid[i][2]; + dx = nx+shiftone - (x[i][0]-boxlo[0])*delxinv; + dy = ny+shiftone - (x[i][1]-boxlo[1])*delyinv; + dz = nz+shiftone - (x[i][2]-boxlo[2])*delzinv; + + compute_rho1d(dx,dy,dz); + + u = ekx = eky = ekz = ZEROF; + for (n = nlower; n <= nupper; n++) { + mz = n+nz; + z0 = rho1d[2][n]; + for (m = nlower; m <= nupper; m++) { + my = m+ny; + y0 = z0*rho1d[1][m]; + for (l = nlower; l <= nupper; l++) { + mx = l+nx; + x0 = y0*rho1d[0][l]; + if (potflag) u += x0*u_brick[mz][my][mx]; + ekx -= x0*vdx_brick[mz][my][mx]; + eky -= x0*vdy_brick[mz][my][mx]; + ekz -= x0*vdz_brick[mz][my][mx]; + } + } + } + + // electrostatic potential + + if (potflag) phi[i] = u; + + // convert E-field to force + const double efactor = scale * eps[i]; + efield[i][0] = efactor*ekx; + efield[i][1] = efactor*eky; + efield[i][2] = efactor*ekz; + + const double qfactor = qqrd2e * scale * q[i] * eps[i]; + f[i][0] += qfactor*ekx; + f[i][1] += qfactor*eky; + if (slabflag != 2) f[i][2] += qfactor*ekz; + } +} + + +/* ---------------------------------------------------------------------- + interpolate from grid to get electric field & force on my particles for ik +------------------------------------------------------------------------- */ + +void PPPMDielectric::fieldforce_ik_dipole() +{ + int i,l,m,n,nx,ny,nz,mx,my,mz; + FFT_SCALAR dx,dy,dz,u; + FFT_SCALAR x0,y0,z0; + FFT_SCALAR ex,ey,ez; + FFT_SCALAR vxx,vyy,vzz,vxy,vxz,vyz; + + // loop over my charges, interpolate electric field from nearby grid points + // (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 + + + double **mu = atom->mu; + double **x = atom->x; + double **f = atom->f; + double **t = atom->torque; + + int nlocal = atom->nlocal; + + for (i = 0; i < nlocal; i++) { + nx = part2grid[i][0]; + ny = part2grid[i][1]; + nz = part2grid[i][2]; + dx = nx+shiftone - (x[i][0]-boxlo[0])*delxinv; + dy = ny+shiftone - (x[i][1]-boxlo[1])*delyinv; + dz = nz+shiftone - (x[i][2]-boxlo[2])*delzinv; + + compute_rho1d(dx,dy,dz); + + u = ex = ey = ez = ZEROF; + vxx = vyy = vzz = vxy = vxz = vyz = ZEROF; + for (n = nlower; n <= nupper; n++) { + mz = n+nz; + z0 = rho1d[2][n]; + for (m = nlower; m <= nupper; m++) { + my = m+ny; + y0 = z0*rho1d[1][m]; + for (l = nlower; l <= nupper; l++) { + mx = l+nx; + x0 = y0*rho1d[0][l]; + u += x0*u_brick_dipole[mz][my][mx]; + ex -= x0*ux_brick_dipole[mz][my][mx]; + ey -= x0*uy_brick_dipole[mz][my][mx]; + ez -= x0*uz_brick_dipole[mz][my][mx]; + vxx -= x0*vdxx_brick_dipole[mz][my][mx]; + vyy -= x0*vdyy_brick_dipole[mz][my][mx]; + vzz -= x0*vdzz_brick_dipole[mz][my][mx]; + vxy -= x0*vdxy_brick_dipole[mz][my][mx]; + vxz -= x0*vdxz_brick_dipole[mz][my][mx]; + vyz -= x0*vdyz_brick_dipole[mz][my][mx]; + } + } + } + + // electrical potential due to dipoles + + if (potflag) phi[i] = u; + + // convert E-field to torque + + const double mufactor = qqrd2e * scale; + f[i][0] += mufactor*(vxx*mu[i][0] + vxy*mu[i][1] + vxz*mu[i][2]); + f[i][1] += mufactor*(vxy*mu[i][0] + vyy*mu[i][1] + vyz*mu[i][2]); + f[i][2] += mufactor*(vxz*mu[i][0] + vyz*mu[i][1] + vzz*mu[i][2]); + + t[i][0] += mufactor*(mu[i][1]*ez - mu[i][2]*ey); + t[i][1] += mufactor*(mu[i][2]*ex - mu[i][0]*ez); + t[i][2] += mufactor*(mu[i][0]*ey - mu[i][1]*ex); + } +} + +/* ---------------------------------------------------------------------- + interpolate from grid to get electric field & force on my particles for ad +------------------------------------------------------------------------- */ + +void PPPMDielectric::fieldforce_ad() +{ + int i,l,m,n,nx,ny,nz,mx,my,mz; + FFT_SCALAR dx,dy,dz; + FFT_SCALAR ekx,eky,ekz,u; + + double s1,s2,s3; + double sf = 0.0; + double *prd; + + prd = domain->prd; + double xprd = prd[0]; + double yprd = prd[1]; + double zprd = prd[2]; + + double hx_inv = nx_pppm/xprd; + double hy_inv = ny_pppm/yprd; + double hz_inv = nz_pppm/zprd; + + // loop over my charges, interpolate electric field from nearby grid points + // (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 + // ek = 3 components of E-field on particle + + double *q = atom->q; + double **x = atom->x; + double **f = atom->f; + double *eps = avec->epsilon; + int nlocal = atom->nlocal; + + for (i = 0; i < nlocal; i++) { + nx = part2grid[i][0]; + ny = part2grid[i][1]; + nz = part2grid[i][2]; + dx = nx+shiftone - (x[i][0]-boxlo[0])*delxinv; + dy = ny+shiftone - (x[i][1]-boxlo[1])*delyinv; + dz = nz+shiftone - (x[i][2]-boxlo[2])*delzinv; + + compute_rho1d(dx,dy,dz); + compute_drho1d(dx,dy,dz); + + u = ekx = eky = ekz = ZEROF; + for (n = nlower; n <= nupper; n++) { + mz = n+nz; + for (m = nlower; m <= nupper; m++) { + my = m+ny; + for (l = nlower; l <= nupper; l++) { + mx = l+nx; + u += rho1d[0][l]*rho1d[1][m]*rho1d[2][n]*u_brick[mz][my][mx]; + ekx += drho1d[0][l]*rho1d[1][m]*rho1d[2][n]*u_brick[mz][my][mx]; + eky += rho1d[0][l]*drho1d[1][m]*rho1d[2][n]*u_brick[mz][my][mx]; + ekz += rho1d[0][l]*rho1d[1][m]*drho1d[2][n]*u_brick[mz][my][mx]; + } + } + } + ekx *= hx_inv; + eky *= hy_inv; + ekz *= hz_inv; + + // electrical potential + + if (potflag) phi[i] = u; + + // convert E-field to force and substract self forces + + const double qfactor = qqrd2e * scale; + double qtmp = eps[i]*q[i]; + + s1 = x[i][0]*hx_inv; + s2 = x[i][1]*hy_inv; + s3 = x[i][2]*hz_inv; + sf = sf_coeff[0]*sin(2*MY_PI*s1); + sf += sf_coeff[1]*sin(4*MY_PI*s1); + sf *= 2*qtmp*qtmp; + f[i][0] += qfactor*(ekx*qtmp - sf); + if (qtmp != 0) efield[i][0] = qfactor*(ekx - sf/qtmp); + else efield[i][0] = qfactor*ekx; + + sf = sf_coeff[2]*sin(2*MY_PI*s2); + sf += sf_coeff[3]*sin(4*MY_PI*s2); + sf *= 2*qtmp*qtmp; + f[i][1] += qfactor*(eky*qtmp - sf); + if (qtmp != 0) efield[i][1] = qfactor*(eky - sf/qtmp); + else efield[i][1] = qfactor*eky; + + sf = sf_coeff[4]*sin(2*MY_PI*s3); + sf += sf_coeff[5]*sin(4*MY_PI*s3); + sf *= 2*qtmp*qtmp; + if (slabflag != 2) { + f[i][2] += qfactor*(ekz*qtmp - sf); + if (qtmp != 0) efield[i][2] = qfactor*(ekz - sf/qtmp); + else efield[i][2] = qfactor*ekz; + } + + } +} + +/* ---------------------------------------------------------------------- + pack own values to buf to send to another proc +------------------------------------------------------------------------- */ + +void PPPMDielectric::pack_forward(int flag, FFT_SCALAR *buf, int nlist, int *list) +{ + int n = 0; + + if (flag == FORWARD_IK) { + FFT_SCALAR *xsrc = &vdx_brick[nzlo_out][nylo_out][nxlo_out]; + FFT_SCALAR *ysrc = &vdy_brick[nzlo_out][nylo_out][nxlo_out]; + FFT_SCALAR *zsrc = &vdz_brick[nzlo_out][nylo_out][nxlo_out]; + for (int i = 0; i < nlist; i++) { + buf[n++] = xsrc[list[i]]; + buf[n++] = ysrc[list[i]]; + buf[n++] = zsrc[list[i]]; + } + } else if (flag == FORWARD_MU) { + FFT_SCALAR *src_ux = &ux_brick_dipole[nzlo_out][nylo_out][nxlo_out]; + FFT_SCALAR *src_uy = &uy_brick_dipole[nzlo_out][nylo_out][nxlo_out]; + FFT_SCALAR *src_uz = &uz_brick_dipole[nzlo_out][nylo_out][nxlo_out]; + FFT_SCALAR *src_vxx = &vdxx_brick_dipole[nzlo_out][nylo_out][nxlo_out]; + FFT_SCALAR *src_vyy = &vdyy_brick_dipole[nzlo_out][nylo_out][nxlo_out]; + FFT_SCALAR *src_vzz = &vdzz_brick_dipole[nzlo_out][nylo_out][nxlo_out]; + FFT_SCALAR *src_vxy = &vdxy_brick_dipole[nzlo_out][nylo_out][nxlo_out]; + FFT_SCALAR *src_vxz = &vdxz_brick_dipole[nzlo_out][nylo_out][nxlo_out]; + FFT_SCALAR *src_vyz = &vdyz_brick_dipole[nzlo_out][nylo_out][nxlo_out]; + for (int i = 0; i < nlist; i++) { + buf[n++] = src_ux[list[i]]; + buf[n++] = src_uy[list[i]]; + buf[n++] = src_uz[list[i]]; + buf[n++] = src_vxx[list[i]]; + buf[n++] = src_vyy[list[i]]; + buf[n++] = src_vzz[list[i]]; + buf[n++] = src_vxy[list[i]]; + buf[n++] = src_vxz[list[i]]; + buf[n++] = src_vyz[list[i]]; + } + } else if (flag == FORWARD_AD) { + FFT_SCALAR *src = &u_brick[nzlo_out][nylo_out][nxlo_out]; + for (int i = 0; i < nlist; i++) + buf[i] = src[list[i]]; + } else if (flag == FORWARD_IK_PERATOM) { + FFT_SCALAR *esrc = &u_brick[nzlo_out][nylo_out][nxlo_out]; + FFT_SCALAR *v0src = &v0_brick[nzlo_out][nylo_out][nxlo_out]; + FFT_SCALAR *v1src = &v1_brick[nzlo_out][nylo_out][nxlo_out]; + FFT_SCALAR *v2src = &v2_brick[nzlo_out][nylo_out][nxlo_out]; + FFT_SCALAR *v3src = &v3_brick[nzlo_out][nylo_out][nxlo_out]; + FFT_SCALAR *v4src = &v4_brick[nzlo_out][nylo_out][nxlo_out]; + FFT_SCALAR *v5src = &v5_brick[nzlo_out][nylo_out][nxlo_out]; + for (int i = 0; i < nlist; i++) { + if (eflag_atom) buf[n++] = esrc[list[i]]; + if (vflag_atom) { + buf[n++] = v0src[list[i]]; + buf[n++] = v1src[list[i]]; + buf[n++] = v2src[list[i]]; + buf[n++] = v3src[list[i]]; + buf[n++] = v4src[list[i]]; + buf[n++] = v5src[list[i]]; + } + } + } else if (flag == FORWARD_AD_PERATOM) { + FFT_SCALAR *v0src = &v0_brick[nzlo_out][nylo_out][nxlo_out]; + FFT_SCALAR *v1src = &v1_brick[nzlo_out][nylo_out][nxlo_out]; + FFT_SCALAR *v2src = &v2_brick[nzlo_out][nylo_out][nxlo_out]; + FFT_SCALAR *v3src = &v3_brick[nzlo_out][nylo_out][nxlo_out]; + FFT_SCALAR *v4src = &v4_brick[nzlo_out][nylo_out][nxlo_out]; + FFT_SCALAR *v5src = &v5_brick[nzlo_out][nylo_out][nxlo_out]; + for (int i = 0; i < nlist; i++) { + buf[n++] = v0src[list[i]]; + buf[n++] = v1src[list[i]]; + buf[n++] = v2src[list[i]]; + buf[n++] = v3src[list[i]]; + buf[n++] = v4src[list[i]]; + buf[n++] = v5src[list[i]]; + } + } +} + +/* ---------------------------------------------------------------------- + unpack another proc's own values from buf and set own ghost values +------------------------------------------------------------------------- */ + +void PPPMDielectric::unpack_forward(int flag, FFT_SCALAR *buf, int nlist, int *list) +{ + int n = 0; + + if (flag == FORWARD_IK) { + FFT_SCALAR *xdest = &vdx_brick[nzlo_out][nylo_out][nxlo_out]; + FFT_SCALAR *ydest = &vdy_brick[nzlo_out][nylo_out][nxlo_out]; + FFT_SCALAR *zdest = &vdz_brick[nzlo_out][nylo_out][nxlo_out]; + for (int i = 0; i < nlist; i++) { + xdest[list[i]] = buf[n++]; + ydest[list[i]] = buf[n++]; + zdest[list[i]] = buf[n++]; + } + } else if (flag == FORWARD_MU) { + FFT_SCALAR *dest_ux = &ux_brick_dipole[nzlo_out][nylo_out][nxlo_out]; + FFT_SCALAR *dest_uy = &uy_brick_dipole[nzlo_out][nylo_out][nxlo_out]; + FFT_SCALAR *dest_uz = &uz_brick_dipole[nzlo_out][nylo_out][nxlo_out]; + FFT_SCALAR *dest_vxx = &vdxx_brick_dipole[nzlo_out][nylo_out][nxlo_out]; + FFT_SCALAR *dest_vyy = &vdyy_brick_dipole[nzlo_out][nylo_out][nxlo_out]; + FFT_SCALAR *dest_vzz = &vdzz_brick_dipole[nzlo_out][nylo_out][nxlo_out]; + FFT_SCALAR *dest_vxy = &vdxy_brick_dipole[nzlo_out][nylo_out][nxlo_out]; + FFT_SCALAR *dest_vxz = &vdxz_brick_dipole[nzlo_out][nylo_out][nxlo_out]; + FFT_SCALAR *dest_vyz = &vdyz_brick_dipole[nzlo_out][nylo_out][nxlo_out]; + for (int i = 0; i < nlist; i++) { + dest_ux[list[i]] = buf[n++]; + dest_uy[list[i]] = buf[n++]; + dest_uz[list[i]] = buf[n++]; + dest_vxx[list[i]] = buf[n++]; + dest_vyy[list[i]] = buf[n++]; + dest_vzz[list[i]] = buf[n++]; + dest_vxy[list[i]] = buf[n++]; + dest_vxz[list[i]] = buf[n++]; + dest_vyz[list[i]] = buf[n++]; + } + } else if (flag == FORWARD_AD) { + FFT_SCALAR *dest = &u_brick[nzlo_out][nylo_out][nxlo_out]; + for (int i = 0; i < nlist; i++) + dest[list[i]] = buf[i]; + } else if (flag == FORWARD_IK_PERATOM) { + FFT_SCALAR *esrc = &u_brick[nzlo_out][nylo_out][nxlo_out]; + FFT_SCALAR *v0src = &v0_brick[nzlo_out][nylo_out][nxlo_out]; + FFT_SCALAR *v1src = &v1_brick[nzlo_out][nylo_out][nxlo_out]; + FFT_SCALAR *v2src = &v2_brick[nzlo_out][nylo_out][nxlo_out]; + FFT_SCALAR *v3src = &v3_brick[nzlo_out][nylo_out][nxlo_out]; + FFT_SCALAR *v4src = &v4_brick[nzlo_out][nylo_out][nxlo_out]; + FFT_SCALAR *v5src = &v5_brick[nzlo_out][nylo_out][nxlo_out]; + for (int i = 0; i < nlist; i++) { + if (eflag_atom) esrc[list[i]] = buf[n++]; + if (vflag_atom) { + v0src[list[i]] = buf[n++]; + v1src[list[i]] = buf[n++]; + v2src[list[i]] = buf[n++]; + v3src[list[i]] = buf[n++]; + v4src[list[i]] = buf[n++]; + v5src[list[i]] = buf[n++]; + } + } + } else if (flag == FORWARD_AD_PERATOM) { + FFT_SCALAR *v0src = &v0_brick[nzlo_out][nylo_out][nxlo_out]; + FFT_SCALAR *v1src = &v1_brick[nzlo_out][nylo_out][nxlo_out]; + FFT_SCALAR *v2src = &v2_brick[nzlo_out][nylo_out][nxlo_out]; + FFT_SCALAR *v3src = &v3_brick[nzlo_out][nylo_out][nxlo_out]; + FFT_SCALAR *v4src = &v4_brick[nzlo_out][nylo_out][nxlo_out]; + FFT_SCALAR *v5src = &v5_brick[nzlo_out][nylo_out][nxlo_out]; + for (int i = 0; i < nlist; i++) { + v0src[list[i]] = buf[n++]; + v1src[list[i]] = buf[n++]; + v2src[list[i]] = buf[n++]; + v3src[list[i]] = buf[n++]; + v4src[list[i]] = buf[n++]; + v5src[list[i]] = buf[n++]; + } + } +} + +/* ---------------------------------------------------------------------- + pack ghost values into buf to send to another proc +------------------------------------------------------------------------- */ + +void PPPMDielectric::pack_reverse(int flag, FFT_SCALAR *buf, int nlist, int *list) +{ + int n = 0; + if (flag == REVERSE_RHO) { + FFT_SCALAR *src = &density_brick[nzlo_out][nylo_out][nxlo_out]; + for (int i = 0; i < nlist; i++) + buf[n++] = src[list[i]]; + } else if (flag == REVERSE_MU) { + FFT_SCALAR *src_mu0 = &densityx_brick_dipole[nzlo_out][nylo_out][nxlo_out]; + FFT_SCALAR *src_mu1 = &densityy_brick_dipole[nzlo_out][nylo_out][nxlo_out]; + FFT_SCALAR *src_mu2 = &densityz_brick_dipole[nzlo_out][nylo_out][nxlo_out]; + for (int i = 0; i < nlist; i++) { + buf[n++] = src_mu0[list[i]]; + buf[n++] = src_mu1[list[i]]; + buf[n++] = src_mu2[list[i]]; + } + } +} + +/* ---------------------------------------------------------------------- + unpack another proc's ghost values from buf and add to own values +------------------------------------------------------------------------- */ + +void PPPMDielectric::unpack_reverse(int flag, FFT_SCALAR *buf, int nlist, int *list) +{ + int n = 0; + if (flag == REVERSE_RHO) { + FFT_SCALAR *dest = &density_brick[nzlo_out][nylo_out][nxlo_out]; + for (int i = 0; i < nlist; i++) + dest[list[i]] += buf[n++]; + } else if (flag == REVERSE_MU) { + FFT_SCALAR *dest_mu0 = &densityx_brick_dipole[nzlo_out][nylo_out][nxlo_out]; + FFT_SCALAR *dest_mu1 = &densityy_brick_dipole[nzlo_out][nylo_out][nxlo_out]; + FFT_SCALAR *dest_mu2 = &densityz_brick_dipole[nzlo_out][nylo_out][nxlo_out]; + for (int i = 0; i < nlist; i++) { + dest_mu0[list[i]] += buf[n++]; + dest_mu1[list[i]] += buf[n++]; + dest_mu2[list[i]] += buf[n++]; + } + } +} + +/* ---------------------------------------------------------------------- + Slab-geometry correction term to dampen inter-slab interactions between + periodically repeating slabs. Yields good approximation to 2D Ewald if + adequate empty space is left between repeating slabs (J. Chem. Phys. + 111, 3155). Slabs defined here to be parallel to the xy plane. Also + extended to non-neutral systems (J. Chem. Phys. 131, 094107). +------------------------------------------------------------------------- */ + +void PPPMDielectric::slabcorr() +{ + // compute local contribution to global dipole moment + + double *q = atom->q; + double **x = atom->x; + double *eps = avec->epsilon; + double zprd = domain->zprd; + int nlocal = atom->nlocal; + + double dipole = 0.0; + for (int i = 0; i < nlocal; i++) dipole += q[i]*x[i][2]; + + if (mu_flag) { + double **mu = atom->mu; + for (int i = 0; i < nlocal; i++) dipole += mu[i][2]; + } + + // sum local contributions to get global dipole moment + + double dipole_all; + MPI_Allreduce(&dipole,&dipole_all,1,MPI_DOUBLE,MPI_SUM,world); + + // need to make non-neutral systems and/or + // per-atom energy translationally invariant + + double dipole_r2 = 0.0; + if (eflag_atom || fabs(qsum) > SMALL) { + + if (mu_flag) + error->all(FLERR,"Cannot (yet) use kspace slab correction with " + "long-range dipoles and non-neutral systems or per-atom energy"); + + for (int i = 0; i < nlocal; i++) + dipole_r2 += q[i]*x[i][2]*x[i][2]; + + // sum local contributions + + double tmp; + MPI_Allreduce(&dipole_r2,&tmp,1,MPI_DOUBLE,MPI_SUM,world); + dipole_r2 = tmp; + } + + // compute corrections + + const double e_slabcorr = MY_2PI*(dipole_all*dipole_all - + qsum*dipole_r2 - qsum*qsum*zprd*zprd/12.0)/volume; + const double qscale = qqrd2e * scale; + + if (eflag_global) energy += qscale * e_slabcorr; + + // per-atom energy + + if (eflag_atom) { + double efact = qscale * MY_2PI/volume; + for (int i = 0; i < nlocal; i++) + eatom[i] += efact * eps[i]*q[i]*(x[i][2]*dipole_all - 0.5*(dipole_r2 + + qsum*x[i][2]*x[i][2]) - qsum*zprd*zprd/12.0); + } + + // add on force corrections + + double ffact = qscale * (-4.0*MY_PI/volume); + double **f = atom->f; + + for (int i = 0; i < nlocal; i++) { + f[i][2] += ffact * eps[i]*q[i]*(dipole_all - qsum*x[i][2]); + efield[i][2] += ffact * eps[i]*(dipole_all - qsum*x[i][2]); + } + + // add on torque corrections + + if (mu_flag && atom->torque) { + double **mu = atom->mu; + double **torque = atom->torque; + for (int i = 0; i < nlocal; i++) { + torque[i][0] += ffact * dipole_all * mu[i][1]; + torque[i][1] += -ffact * dipole_all * mu[i][0]; + } + } +} + +/* ---------------------------------------------------------------------- + compute qsum,qsqsum,q2 and give error/warning if not charge neutral + called initially, when particle count changes, when charges are changed +------------------------------------------------------------------------- */ + +void PPPMDielectric::qsum_qsq() +{ + const double * const q = atom->q; + const double * const eps = avec->epsilon; + const int nlocal = atom->nlocal; + double qsum_local(0.0), qsqsum_local(0.0); + +#if defined(_OPENMP) +#pragma omp parallel for default(none) reduction(+:qsum_local,qsqsum_local) +#endif + for (int i = 0; i < nlocal; i++) { + double qtmp = eps[i]*q[i]; + qsum_local += qtmp; + qsqsum_local += qtmp*qtmp; + } + + MPI_Allreduce(&qsum_local,&qsum,1,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(&qsqsum_local,&qsqsum,1,MPI_DOUBLE,MPI_SUM,world); + + q2 = qsqsum * force->qqrd2e; +} + +/* ---------------------------------------------------------------------- + memory usage of local arrays +------------------------------------------------------------------------- */ + +double PPPMDielectric::memory_usage() +{ + double bytes = nmax*3 * sizeof(double); + int nbrick = (nxhi_out-nxlo_out+1) * (nyhi_out-nylo_out+1) * + (nzhi_out-nzlo_out+1); + if (differentiation_flag == 1) { + bytes += 2 * nbrick * sizeof(FFT_SCALAR); + } else { + bytes += 4 * nbrick * sizeof(FFT_SCALAR); + } + if (triclinic) bytes += 3 * nfft_both * sizeof(double); + bytes += 6 * nfft_both * sizeof(double); + bytes += nfft_both * sizeof(double); + bytes += nfft_both*5 * sizeof(FFT_SCALAR); + + if (mu_flag) { + bytes += 3 * nbrick * sizeof(FFT_SCALAR); + //work? + } + + if (peratom_allocate_flag) + bytes += 6 * nbrick * sizeof(FFT_SCALAR); + + if (group_allocate_flag) { + bytes += 2 * nbrick * sizeof(FFT_SCALAR); + bytes += 2 * nfft_both * sizeof(FFT_SCALAR);; + } + + if (cg) bytes += cg->memory_usage(); + + if (mu_flag) + bytes += cg_mu->memory_usage(); + + return bytes; +} + + +/* ---------------------------------------------------------------------- + compute qsum,qsqsum,q2 and give error/warning if not charge neutral + called initially, when particle count changes, when charges are changed +------------------------------------------------------------------------- */ + +void PPPMDielectric::musum_musq() +{ + double** mu = atom->mu; + const int nlocal = atom->nlocal; + double musum_local(0.0), musqsum_local(0.0); + + for (int i = 0; i < nlocal; i++) { + musum_local += mu[i][0] + mu[i][1] + mu[i][2]; + musqsum_local += mu[i][0]*mu[i][0] + mu[i][1]*mu[i][1] + mu[i][2]*mu[i][2]; + } + + MPI_Allreduce(&musum_local,&musum,1,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(&musqsum_local,&musqsum,1,MPI_DOUBLE,MPI_SUM,world); + + /* + if ((qsqsum == 0.0) && (comm->me == 0) && warn_nocharge) { + error->warning(FLERR,"Using kspace solver on system with no charge"); + warn_nocharge = 0; + }*/ + + mu2 = musqsum * force->qqrd2e; + + // not yet sure of the correction needed for non-neutral systems + // so issue warning or error + /* + if (fabs(qsum) > SMALL) { + char str[128]; + sprintf(str,"System is not charge neutral, net charge = %g",qsum); + if (!warn_nonneutral) error->all(FLERR,str); + if (warn_nonneutral == 1 && comm->me == 0) error->warning(FLERR,str); + warn_nonneutral = 2; + }*/ +} + diff --git a/src/USER-DIELECTRIC/pppm_dielectric.h b/src/USER-DIELECTRIC/pppm_dielectric.h new file mode 100644 index 0000000000..e30d03cd9b --- /dev/null +++ b/src/USER-DIELECTRIC/pppm_dielectric.h @@ -0,0 +1,94 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef KSPACE_CLASS + +KSpaceStyle(pppm/dielectric,PPPMDielectric) + +#else + +#ifndef LMP_PPPM_DIELECTRIC_H +#define LMP_PPPM_DIELECTRIC_H + +#include "pppm.h" + +namespace LAMMPS_NS { + +class PPPMDielectric : public PPPM { + public: + PPPMDielectric(class LAMMPS *); + virtual ~PPPMDielectric(); + virtual void init(); + void setup_grid(); + virtual void compute(int, int); + virtual double memory_usage(); + + double** efield; + double* phi; + int potflag; // 1/0 if per-atom electrostatic potential phi is needed + + void qsum_qsq(); + + protected: + FFT_SCALAR ***densityx_brick_dipole,***densityy_brick_dipole,***densityz_brick_dipole; + FFT_SCALAR ***vdxx_brick_dipole,***vdyy_brick_dipole,***vdzz_brick_dipole; + FFT_SCALAR ***vdxy_brick_dipole,***vdxz_brick_dipole,***vdyz_brick_dipole; + FFT_SCALAR ***u_brick_dipole; + FFT_SCALAR ***ux_brick_dipole,***uy_brick_dipole,***uz_brick_dipole; + FFT_SCALAR *densityx_fft_dipole,*densityy_fft_dipole,*densityz_fft_dipole; + FFT_SCALAR *work3,*work4; + + class GridComm *cg_mu; + + virtual void allocate(); + virtual void deallocate(); + void slabcorr(); + + void fieldforce_ik(); + void fieldforce_ad(); + + // grid communication + + virtual void pack_forward(int, FFT_SCALAR *, int, int *); + virtual void unpack_forward(int, FFT_SCALAR *, int, int *); + virtual void pack_reverse(int, FFT_SCALAR *, int, int *); + virtual void unpack_reverse(int, FFT_SCALAR *, int, int *); + + // dipole + + int mu_flag; + double musqsum,musum,mu2; + void make_rho_dipole(); + void brick2fft_dipole(); + void poisson_ik_dipole(); + void fieldforce_ik_dipole(); + void musum_musq(); + + class AtomVecDielectric* avec; + +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +E: Illegal ... command + +Self-explanatory. Check the input script syntax and compare to the +documentation for the command. You can use -echo screen as a +command-line option when running LAMMPS to see the offending line. + +*/ diff --git a/src/USER-DIELECTRIC/pppm_disp_dielectric.cpp b/src/USER-DIELECTRIC/pppm_disp_dielectric.cpp new file mode 100644 index 0000000000..8493428aa1 --- /dev/null +++ b/src/USER-DIELECTRIC/pppm_disp_dielectric.cpp @@ -0,0 +1,820 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing authors: Trung Nguyen (Northwestern) +------------------------------------------------------------------------- */ + +#include +#include +#include +#include +#include +#include "pppm_disp_dielectric.h" +#include "math_const.h" +#include "atom.h" +#include "atom_vec_dielectric.h" +#include "comm.h" +#include "gridcomm.h" +#include "neighbor.h" +#include "force.h" +#include "pair.h" +#include "bond.h" +#include "angle.h" +#include "domain.h" +#include "fft3d_wrap.h" +#include "remap_wrap.h" +#include "memory.h" +#include "error.h" + +using namespace LAMMPS_NS; +using namespace MathConst; + +#define MAXORDER 7 +#define OFFSET 16384 +#define SMALL 0.00001 +#define LARGE 10000.0 +#define EPS_HOC 1.0e-7 + +enum{REVERSE_RHO, REVERSE_RHO_G, REVERSE_RHO_A, REVERSE_RHO_NONE}; +enum{FORWARD_IK, FORWARD_AD, FORWARD_IK_PERATOM, FORWARD_AD_PERATOM, + FORWARD_IK_G, FORWARD_AD_G, FORWARD_IK_PERATOM_G, FORWARD_AD_PERATOM_G, + FORWARD_IK_A, FORWARD_AD_A, FORWARD_IK_PERATOM_A, FORWARD_AD_PERATOM_A, + FORWARD_IK_NONE, FORWARD_AD_NONE, FORWARD_IK_PERATOM_NONE, FORWARD_AD_PERATOM_NONE}; + +#ifdef FFT_SINGLE +#define ZEROF 0.0f +#define ONEF 1.0f +#else +#define ZEROF 0.0 +#define ONEF 1.0 +#endif + +/* ---------------------------------------------------------------------- */ + +PPPMDispDielectric::PPPMDispDielectric(LAMMPS *lmp) : PPPMDisp(lmp) +{ + dipoleflag = 0; // turned off for now, until dipole works + group_group_enable = 0; + + mu_flag = 0; + + efield = NULL; + phi = NULL; + potflag = 0; + + avec = (AtomVecDielectric *) atom->style_match("dielectric"); + if (!avec) error->all(FLERR,"pppm/dielectric requires atom style dielectric"); +} + +/* ---------------------------------------------------------------------- */ + +PPPMDispDielectric::~PPPMDispDielectric() +{ + memory->destroy(efield); + memory->destroy(phi); +} + +/* ---------------------------------------------------------------------- + compute the PPPM long-range force, energy, virial +------------------------------------------------------------------------- */ + +void PPPMDispDielectric::compute(int eflag, int vflag) +{ + + int i; + // convert atoms from box to lamda coords + + if (eflag || vflag) ev_setup(eflag,vflag); + else evflag = evflag_atom = eflag_global = vflag_global = + eflag_atom = vflag_atom = 0; + + if (potflag) evflag_atom = 1; + + if (evflag_atom && !peratom_allocate_flag) { + allocate_peratom(); + if (function[0]) { + cg_peratom->ghost_notify(); + cg_peratom->setup(); + } + if (function[1] + function[2] + function[3]) { + cg_peratom_6->ghost_notify(); + cg_peratom_6->setup(); + } + peratom_allocate_flag = 1; + } + + if (triclinic == 0) boxlo = domain->boxlo; + else { + boxlo = domain->boxlo_lamda; + domain->x2lamda(atom->nlocal); + } + // extend size of per-atom arrays if necessary + + if (atom->nmax > nmax) { + + if (function[0]) { + memory->destroy(part2grid); + memory->destroy(efield); + memory->destroy(phi); + } + if (function[1] + function[2] + function[3]) memory->destroy(part2grid_6); + nmax = atom->nmax; + if (function[0]) { + memory->create(part2grid,nmax,3,"pppm/disp:part2grid"); + memory->create(efield,nmax,3,"pppm/disp:efield"); + memory->create(phi,nmax,"pppm/disp:phi"); + } + if (function[1] + function[2] + function[3]) + memory->create(part2grid_6,nmax,3,"pppm/disp:part2grid_6"); + } + + energy = 0.0; + energy_1 = 0.0; + energy_6 = 0.0; + if (vflag) for (i = 0; i < 6; i++) virial_6[i] = virial_1[i] = 0.0; + + // find grid points for all my particles + // distribute partcles' charges/dispersion coefficients on the grid + // communication between processors and remapping two fft + // Solution of poissons equation in k-space and backtransformation + // communication between processors + // calculation of forces + + if (function[0]) { + + //perfrom calculations for coulomb interactions only + + particle_map_c(delxinv, delyinv, delzinv, shift, part2grid, nupper, nlower, + nxlo_out, nylo_out, nzlo_out, nxhi_out, nyhi_out, nzhi_out); + + make_rho_c(); + + cg->reverse_comm(this,REVERSE_RHO); + + brick2fft(nxlo_in, nylo_in, nzlo_in, nxhi_in, nyhi_in, nzhi_in, + density_brick, density_fft, work1,remap); + + if (differentiation_flag == 1) { + + poisson_ad(work1, work2, density_fft, fft1, fft2, + nx_pppm, ny_pppm, nz_pppm, nfft, + nxlo_fft, nylo_fft, nzlo_fft, nxhi_fft, nyhi_fft, nzhi_fft, + nxlo_in, nylo_in, nzlo_in, nxhi_in, nyhi_in, nzhi_in, + energy_1, greensfn, + virial_1, vg,vg2, + u_brick, v0_brick, v1_brick, v2_brick, v3_brick, v4_brick, v5_brick); + + cg->forward_comm(this,FORWARD_AD); + + fieldforce_c_ad(); + + if (vflag_atom) cg_peratom->forward_comm(this, FORWARD_AD_PERATOM); + + } else { + poisson_ik(work1, work2, density_fft, fft1, fft2, + nx_pppm, ny_pppm, nz_pppm, nfft, + nxlo_fft, nylo_fft, nzlo_fft, nxhi_fft, nyhi_fft, nzhi_fft, + nxlo_in, nylo_in, nzlo_in, nxhi_in, nyhi_in, nzhi_in, + energy_1, greensfn, + fkx, fky, fkz,fkx2, fky2, fkz2, + vdx_brick, vdy_brick, vdz_brick, virial_1, vg,vg2, + u_brick, v0_brick, v1_brick, v2_brick, v3_brick, v4_brick, v5_brick); + + cg->forward_comm(this, FORWARD_IK); + + fieldforce_c_ik(); + + if (evflag_atom) cg_peratom->forward_comm(this, FORWARD_IK_PERATOM); + } + if (evflag_atom) fieldforce_c_peratom(); + } + + if (function[1]) { + //perfrom calculations for geometric mixing + particle_map(delxinv_6, delyinv_6, delzinv_6, shift_6, part2grid_6, nupper_6, nlower_6, + nxlo_out_6, nylo_out_6, nzlo_out_6, nxhi_out_6, nyhi_out_6, nzhi_out_6); + make_rho_g(); + + + cg_6->reverse_comm(this, REVERSE_RHO_G); + + brick2fft(nxlo_in_6, nylo_in_6, nzlo_in_6, nxhi_in_6, nyhi_in_6, nzhi_in_6, + density_brick_g, density_fft_g, work1_6,remap_6); + + if (differentiation_flag == 1) { + + poisson_ad(work1_6, work2_6, density_fft_g, fft1_6, fft2_6, + nx_pppm_6, ny_pppm_6, nz_pppm_6, nfft_6, + nxlo_fft_6, nylo_fft_6, nzlo_fft_6, nxhi_fft_6, nyhi_fft_6, nzhi_fft_6, + nxlo_in_6, nylo_in_6, nzlo_in_6, nxhi_in_6, nyhi_in_6, nzhi_in_6, + energy_6, greensfn_6, + virial_6, vg_6, vg2_6, + u_brick_g, v0_brick_g, v1_brick_g, v2_brick_g, v3_brick_g, v4_brick_g, v5_brick_g); + + cg_6->forward_comm(this,FORWARD_AD_G); + + fieldforce_g_ad(); + + if (vflag_atom) cg_peratom_6->forward_comm(this,FORWARD_AD_PERATOM_G); + + } else { + poisson_ik(work1_6, work2_6, density_fft_g, fft1_6, fft2_6, + nx_pppm_6, ny_pppm_6, nz_pppm_6, nfft_6, + nxlo_fft_6, nylo_fft_6, nzlo_fft_6, nxhi_fft_6, nyhi_fft_6, nzhi_fft_6, + nxlo_in_6, nylo_in_6, nzlo_in_6, nxhi_in_6, nyhi_in_6, nzhi_in_6, + energy_6, greensfn_6, + fkx_6, fky_6, fkz_6,fkx2_6, fky2_6, fkz2_6, + vdx_brick_g, vdy_brick_g, vdz_brick_g, virial_6, vg_6, vg2_6, + u_brick_g, v0_brick_g, v1_brick_g, v2_brick_g, v3_brick_g, v4_brick_g, v5_brick_g); + + cg_6->forward_comm(this,FORWARD_IK_G); + + fieldforce_g_ik(); + + + if (evflag_atom) cg_peratom_6->forward_comm(this, FORWARD_IK_PERATOM_G); + } + if (evflag_atom) fieldforce_g_peratom(); + } + + if (function[2]) { + //perform calculations for arithmetic mixing + particle_map(delxinv_6, delyinv_6, delzinv_6, shift_6, part2grid_6, nupper_6, nlower_6, + nxlo_out_6, nylo_out_6, nzlo_out_6, nxhi_out_6, nyhi_out_6, nzhi_out_6); + make_rho_a(); + + cg_6->reverse_comm(this, REVERSE_RHO_A); + + brick2fft_a(); + + if ( differentiation_flag == 1) { + + poisson_ad(work1_6, work2_6, density_fft_a3, fft1_6, fft2_6, + nx_pppm_6, ny_pppm_6, nz_pppm_6, nfft_6, + nxlo_fft_6, nylo_fft_6, nzlo_fft_6, nxhi_fft_6, nyhi_fft_6, nzhi_fft_6, + nxlo_in_6, nylo_in_6, nzlo_in_6, nxhi_in_6, nyhi_in_6, nzhi_in_6, + energy_6, greensfn_6, + virial_6, vg_6, vg2_6, + u_brick_a3, v0_brick_a3, v1_brick_a3, v2_brick_a3, v3_brick_a3, v4_brick_a3, v5_brick_a3); + poisson_2s_ad(density_fft_a0, density_fft_a6, + u_brick_a0, v0_brick_a0, v1_brick_a0, v2_brick_a0, v3_brick_a0, v4_brick_a0, v5_brick_a0, + u_brick_a6, v0_brick_a6, v1_brick_a6, v2_brick_a6, v3_brick_a6, v4_brick_a6, v5_brick_a6); + poisson_2s_ad(density_fft_a1, density_fft_a5, + u_brick_a1, v0_brick_a1, v1_brick_a1, v2_brick_a1, v3_brick_a1, v4_brick_a1, v5_brick_a1, + u_brick_a5, v0_brick_a5, v1_brick_a5, v2_brick_a5, v3_brick_a5, v4_brick_a5, v5_brick_a5); + poisson_2s_ad(density_fft_a2, density_fft_a4, + u_brick_a2, v0_brick_a2, v1_brick_a2, v2_brick_a2, v3_brick_a2, v4_brick_a2, v5_brick_a2, + u_brick_a4, v0_brick_a4, v1_brick_a4, v2_brick_a4, v3_brick_a4, v4_brick_a4, v5_brick_a4); + + cg_6->forward_comm(this, FORWARD_AD_A); + + fieldforce_a_ad(); + + if (evflag_atom) cg_peratom_6->forward_comm(this, FORWARD_AD_PERATOM_A); + + } else { + + poisson_ik(work1_6, work2_6, density_fft_a3, fft1_6, fft2_6, + nx_pppm_6, ny_pppm_6, nz_pppm_6, nfft_6, + nxlo_fft_6, nylo_fft_6, nzlo_fft_6, nxhi_fft_6, nyhi_fft_6, nzhi_fft_6, + nxlo_in_6, nylo_in_6, nzlo_in_6, nxhi_in_6, nyhi_in_6, nzhi_in_6, + energy_6, greensfn_6, + fkx_6, fky_6, fkz_6,fkx2_6, fky2_6, fkz2_6, + vdx_brick_a3, vdy_brick_a3, vdz_brick_a3, virial_6, vg_6, vg2_6, + u_brick_a3, v0_brick_a3, v1_brick_a3, v2_brick_a3, v3_brick_a3, v4_brick_a3, v5_brick_a3); + poisson_2s_ik(density_fft_a0, density_fft_a6, + vdx_brick_a0, vdy_brick_a0, vdz_brick_a0, + vdx_brick_a6, vdy_brick_a6, vdz_brick_a6, + u_brick_a0, v0_brick_a0, v1_brick_a0, v2_brick_a0, v3_brick_a0, v4_brick_a0, v5_brick_a0, + u_brick_a6, v0_brick_a6, v1_brick_a6, v2_brick_a6, v3_brick_a6, v4_brick_a6, v5_brick_a6); + poisson_2s_ik(density_fft_a1, density_fft_a5, + vdx_brick_a1, vdy_brick_a1, vdz_brick_a1, + vdx_brick_a5, vdy_brick_a5, vdz_brick_a5, + u_brick_a1, v0_brick_a1, v1_brick_a1, v2_brick_a1, v3_brick_a1, v4_brick_a1, v5_brick_a1, + u_brick_a5, v0_brick_a5, v1_brick_a5, v2_brick_a5, v3_brick_a5, v4_brick_a5, v5_brick_a5); + poisson_2s_ik(density_fft_a2, density_fft_a4, + vdx_brick_a2, vdy_brick_a2, vdz_brick_a2, + vdx_brick_a4, vdy_brick_a4, vdz_brick_a4, + u_brick_a2, v0_brick_a2, v1_brick_a2, v2_brick_a2, v3_brick_a2, v4_brick_a2, v5_brick_a2, + u_brick_a4, v0_brick_a4, v1_brick_a4, v2_brick_a4, v3_brick_a4, v4_brick_a4, v5_brick_a4); + + cg_6->forward_comm(this, FORWARD_IK_A); + + fieldforce_a_ik(); + + if (evflag_atom) cg_peratom_6->forward_comm(this, FORWARD_IK_PERATOM_A); + } + if (evflag_atom) fieldforce_a_peratom(); + } + + if (function[3]) { + //perfrom calculations if no mixing rule applies + particle_map(delxinv_6, delyinv_6, delzinv_6, shift_6, part2grid_6, nupper_6, nlower_6, + nxlo_out_6, nylo_out_6, nzlo_out_6, nxhi_out_6, nyhi_out_6, nzhi_out_6); + + make_rho_none(); + + cg_6->reverse_comm(this, REVERSE_RHO_NONE); + + brick2fft_none(); + + if (differentiation_flag == 1) { + + int n = 0; + for (int k = 0; kforward_comm(this,FORWARD_AD_NONE); + + fieldforce_none_ad(); + + if (vflag_atom) cg_peratom_6->forward_comm(this,FORWARD_AD_PERATOM_NONE); + + } else { + int n = 0; + for (int k = 0; kforward_comm(this,FORWARD_IK_NONE); + + fieldforce_none_ik(); + + if (evflag_atom) + cg_peratom_6->forward_comm(this, FORWARD_IK_PERATOM_NONE); + } + if (evflag_atom) fieldforce_none_peratom(); + } + + // update qsum and qsqsum, if atom count has changed and energy needed + + if ((eflag_global || eflag_atom) && atom->natoms != natoms_original) { + qsum_qsq(); + natoms_original = atom->natoms; + } + + // sum energy across procs and add in volume-dependent term + + const double qscale = force->qqrd2e * scale; + if (eflag_global) { + double energy_all; + MPI_Allreduce(&energy_1,&energy_all,1,MPI_DOUBLE,MPI_SUM,world); + energy_1 = energy_all; + MPI_Allreduce(&energy_6,&energy_all,1,MPI_DOUBLE,MPI_SUM,world); + energy_6 = energy_all; + + energy_1 *= 0.5*volume; + energy_6 *= 0.5*volume; + + energy_1 -= g_ewald*qsqsum/MY_PIS + + MY_PI2*qsum*qsum / (g_ewald*g_ewald*volume); + energy_6 += - MY_PI*MY_PIS/(6*volume)*pow(g_ewald_6,3)*csumij + + 1.0/12.0*pow(g_ewald_6,6)*csum; + energy_1 *= qscale; + } + + // sum virial across procs + + if (vflag_global) { + double virial_all[6]; + MPI_Allreduce(virial_1,virial_all,6,MPI_DOUBLE,MPI_SUM,world); + for (i = 0; i < 6; i++) virial[i] = 0.5*qscale*volume*virial_all[i]; + MPI_Allreduce(virial_6,virial_all,6,MPI_DOUBLE,MPI_SUM,world); + for (i = 0; i < 6; i++) virial[i] += 0.5*volume*virial_all[i]; + if (function[1]+function[2]+function[3]){ + double a = MY_PI*MY_PIS/(6*volume)*pow(g_ewald_6,3)*csumij; + virial[0] -= a; + virial[1] -= a; + virial[2] -= a; + } + } + + if (eflag_atom) { + if (function[0]) { + double *q = atom->q; + for (i = 0; i < atom->nlocal; i++) { + eatom[i] -= qscale*g_ewald*q[i]*q[i]/MY_PIS + qscale*MY_PI2*q[i]*qsum / (g_ewald*g_ewald*volume); //coulomb self energy correction + } + } + if (function[1] + function[2] + function[3]) { + int tmp; + for (i = 0; i < atom->nlocal; i++) { + tmp = atom->type[i]; + eatom[i] += - MY_PI*MY_PIS/(6*volume)*pow(g_ewald_6,3)*csumi[tmp] + + 1.0/12.0*pow(g_ewald_6,6)*cii[tmp]; + } + } + } + + if (vflag_atom) { + if (function[1] + function[2] + function[3]) { + int tmp; + for (i = 0; i < atom->nlocal; i++) { + tmp = atom->type[i]; + for (int n = 0; n < 3; n++) vatom[i][n] -= MY_PI*MY_PIS/(6*volume)*pow(g_ewald_6,3)*csumi[tmp]; //dispersion self virial correction + } + } + } + + + // 2d slab correction + + if (slabflag) slabcorr(eflag); + if (function[0]) energy += energy_1; + if (function[1] + function[2] + function[3]) energy += energy_6; + + // convert atoms back from lamda to box coords + + if (triclinic) domain->lamda2x(atom->nlocal); +} + +/* ---------------------------------------------------------------------- + interpolate from grid to get electric field & force on my particles + for ik scheme +------------------------------------------------------------------------- */ + +void PPPMDispDielectric::fieldforce_c_ik() +{ + int i,l,m,n,nx,ny,nz,mx,my,mz; + FFT_SCALAR dx,dy,dz,x0,y0,z0; + FFT_SCALAR ekx,eky,ekz,u; + + // loop over my charges, interpolate electric field from nearby grid points + // (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 + // ek = 3 components of E-field on particle + + double *q = atom->q; + double **x = atom->x; + double **f = atom->f; + double *eps = avec->epsilon; + int nlocal = atom->nlocal; + + for (i = 0; i < nlocal; i++) { + nx = part2grid[i][0]; + ny = part2grid[i][1]; + nz = part2grid[i][2]; + dx = nx+shiftone - (x[i][0]-boxlo[0])*delxinv; + dy = ny+shiftone - (x[i][1]-boxlo[1])*delyinv; + dz = nz+shiftone - (x[i][2]-boxlo[2])*delzinv; + + compute_rho1d(dx,dy,dz, order, rho_coeff, rho1d); + + u = ekx = eky = ekz = ZEROF; + for (n = nlower; n <= nupper; n++) { + mz = n+nz; + z0 = rho1d[2][n]; + for (m = nlower; m <= nupper; m++) { + my = m+ny; + y0 = z0*rho1d[1][m]; + for (l = nlower; l <= nupper; l++) { + mx = l+nx; + x0 = y0*rho1d[0][l]; + if (potflag) u += x0*u_brick[mz][my][mx]; + ekx -= x0*vdx_brick[mz][my][mx]; + eky -= x0*vdy_brick[mz][my][mx]; + ekz -= x0*vdz_brick[mz][my][mx]; + } + } + } + + // electrostatic potential + + if (potflag) phi[i] = u; + + // convert E-field to force + + const double efactor = scale * eps[i]; + efield[i][0] = efactor*ekx; + efield[i][1] = efactor*eky; + efield[i][2] = efactor*ekz; + + // convert E-field to force + + const double qfactor = force->qqrd2e * scale * q[i]; + f[i][0] += qfactor*ekx; + f[i][1] += qfactor*eky; + if (slabflag != 2) f[i][2] += qfactor*ekz; + } +} +/* ---------------------------------------------------------------------- + interpolate from grid to get electric field & force on my particles + for ad scheme +------------------------------------------------------------------------- */ + +void PPPMDispDielectric::fieldforce_c_ad() +{ + int i,l,m,n,nx,ny,nz,mx,my,mz; + FFT_SCALAR dx,dy,dz; + FFT_SCALAR ekx,eky,ekz,u; + double s1,s2,s3; + double sf = 0.0; + + double *prd; + + if (triclinic == 0) prd = domain->prd; + else prd = domain->prd_lamda; + + double xprd = prd[0]; + double yprd = prd[1]; + double zprd = prd[2]; + double zprd_slab = zprd*slab_volfactor; + + double hx_inv = nx_pppm/xprd; + double hy_inv = ny_pppm/yprd; + double hz_inv = nz_pppm/zprd_slab; + + // loop over my charges, interpolate electric field from nearby grid points + // (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 + // ek = 3 components of E-field on particle + + double *q = atom->q; + double **x = atom->x; + double **f = atom->f; + double *eps = avec->epsilon; + int nlocal = atom->nlocal; + + for (i = 0; i < nlocal; i++) { + nx = part2grid[i][0]; + ny = part2grid[i][1]; + nz = part2grid[i][2]; + dx = nx+shiftone - (x[i][0]-boxlo[0])*delxinv; + dy = ny+shiftone - (x[i][1]-boxlo[1])*delyinv; + dz = nz+shiftone - (x[i][2]-boxlo[2])*delzinv; + + compute_rho1d(dx,dy,dz, order, rho_coeff, rho1d); + compute_drho1d(dx,dy,dz, order, drho_coeff, drho1d); + + u = ekx = eky = ekz = ZEROF; + for (n = nlower; n <= nupper; n++) { + mz = n+nz; + for (m = nlower; m <= nupper; m++) { + my = m+ny; + for (l = nlower; l <= nupper; l++) { + mx = l+nx; + u += rho1d[0][l]*rho1d[1][m]*rho1d[2][n]*u_brick[mz][my][mx]; + ekx += drho1d[0][l]*rho1d[1][m]*rho1d[2][n]*u_brick[mz][my][mx]; + eky += rho1d[0][l]*drho1d[1][m]*rho1d[2][n]*u_brick[mz][my][mx]; + ekz += rho1d[0][l]*rho1d[1][m]*drho1d[2][n]*u_brick[mz][my][mx]; + } + } + } + ekx *= hx_inv; + eky *= hy_inv; + ekz *= hz_inv; + + // electrical potential + + if (potflag) phi[i] = u; + + // convert E-field to force and substract self forces + const double qfactor = qqrd2e * scale; + double qtmp = eps[i]*q[i]; + + s1 = x[i][0]*hx_inv; + s2 = x[i][1]*hy_inv; + s3 = x[i][2]*hz_inv; + sf = sf_coeff[0]*sin(2*MY_PI*s1); + sf += sf_coeff[1]*sin(4*MY_PI*s1); + sf *= 2*q[i]*q[i]; + f[i][0] += qfactor*(ekx*q[i] - sf); + + sf = sf_coeff[2]*sin(2*MY_PI*s2); + sf += sf_coeff[3]*sin(4*MY_PI*s2); + sf *= 2*q[i]*q[i]; + f[i][1] += qfactor*(eky*q[i] - sf); + + sf = sf_coeff[4]*sin(2*MY_PI*s3); + sf += sf_coeff[5]*sin(4*MY_PI*s3); + sf *= 2*q[i]*q[i]; + if (slabflag != 2) f[i][2] += qfactor*(ekz*q[i] - sf); + } +} + +/* ---------------------------------------------------------------------- + interpolate from grid to get electric field & force on my particles +------------------------------------------------------------------------- */ + +void PPPMDispDielectric::fieldforce_c_peratom() +{ + int i,l,m,n,nx,ny,nz,mx,my,mz; + FFT_SCALAR dx,dy,dz,x0,y0,z0; + FFT_SCALAR u_pa,v0,v1,v2,v3,v4,v5; + + // loop over my charges, interpolate electric field from nearby grid points + // (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 + // ek = 3 components of E-field on particle + + double *q = atom->q; + double **x = atom->x; + + int nlocal = atom->nlocal; + + for (i = 0; i < nlocal; i++) { + nx = part2grid[i][0]; + ny = part2grid[i][1]; + nz = part2grid[i][2]; + dx = nx+shiftone - (x[i][0]-boxlo[0])*delxinv; + dy = ny+shiftone - (x[i][1]-boxlo[1])*delyinv; + dz = nz+shiftone - (x[i][2]-boxlo[2])*delzinv; + + compute_rho1d(dx,dy,dz, order, rho_coeff, rho1d); + + u_pa = v0 = v1 = v2 = v3 = v4 = v5 = ZEROF; + for (n = nlower; n <= nupper; n++) { + mz = n+nz; + z0 = rho1d[2][n]; + for (m = nlower; m <= nupper; m++) { + my = m+ny; + y0 = z0*rho1d[1][m]; + for (l = nlower; l <= nupper; l++) { + mx = l+nx; + x0 = y0*rho1d[0][l]; + if (eflag_atom) u_pa += x0*u_brick[mz][my][mx]; + if (vflag_atom) { + v0 += x0*v0_brick[mz][my][mx]; + v1 += x0*v1_brick[mz][my][mx]; + v2 += x0*v2_brick[mz][my][mx]; + v3 += x0*v3_brick[mz][my][mx]; + v4 += x0*v4_brick[mz][my][mx]; + v5 += x0*v5_brick[mz][my][mx]; + } + } + } + } + + // electrostatic potential + + phi[i] = u_pa; + + // convert E-field to force + + const double qfactor = 0.5*force->qqrd2e * scale * q[i]; + + if (eflag_atom) eatom[i] += u_pa*qfactor; + if (vflag_atom) { + vatom[i][0] += v0*qfactor; + vatom[i][1] += v1*qfactor; + vatom[i][2] += v2*qfactor; + vatom[i][3] += v3*qfactor; + vatom[i][4] += v4*qfactor; + vatom[i][5] += v5*qfactor; + } + } +} + +/* ---------------------------------------------------------------------- + Slab-geometry correction term to dampen inter-slab interactions between + periodically repeating slabs. Yields good approximation to 2D Ewald if + adequate empty space is left between repeating slabs (J. Chem. Phys. + 111, 3155). Slabs defined here to be parallel to the xy plane. Also + extended to non-neutral systems (J. Chem. Phys. 131, 094107). +------------------------------------------------------------------------- */ + +void PPPMDispDielectric::slabcorr(int eflag) +{ + // compute local contribution to global dipole moment + + double *q = atom->q; + double **x = atom->x; + double *eps = avec->epsilon; + double zprd = domain->zprd; + int nlocal = atom->nlocal; + + double dipole = 0.0; + for (int i = 0; i < nlocal; i++) dipole += q[i]*x[i][2]; + + if (mu_flag) { + double **mu = atom->mu; + for (int i = 0; i < nlocal; i++) dipole += mu[i][2]; + } + + // sum local contributions to get global dipole moment + + double dipole_all; + MPI_Allreduce(&dipole,&dipole_all,1,MPI_DOUBLE,MPI_SUM,world); + + // need to make non-neutral systems and/or + // per-atom energy translationally invariant + + double dipole_r2 = 0.0; + if (eflag_atom || fabs(qsum) > SMALL) { + + if (mu_flag) + error->all(FLERR,"Cannot (yet) use kspace slab correction with " + "long-range dipoles and non-neutral systems or per-atom energy"); + + for (int i = 0; i < nlocal; i++) + dipole_r2 += q[i]*x[i][2]*x[i][2]; + + // sum local contributions + + double tmp; + MPI_Allreduce(&dipole_r2,&tmp,1,MPI_DOUBLE,MPI_SUM,world); + dipole_r2 = tmp; + } + + // compute corrections + + const double e_slabcorr = MY_2PI*(dipole_all*dipole_all - + qsum*dipole_r2 - qsum*qsum*zprd*zprd/12.0)/volume; + const double qscale = qqrd2e * scale; + + if (eflag_global) energy += qscale * e_slabcorr; + + // per-atom energy + + if (eflag_atom) { + double efact = qscale * MY_2PI/volume; + for (int i = 0; i < nlocal; i++) + eatom[i] += efact * eps[i]*q[i]*(x[i][2]*dipole_all - 0.5*(dipole_r2 + + qsum*x[i][2]*x[i][2]) - qsum*zprd*zprd/12.0); + } + + // add on force corrections + + double ffact = qscale * (-4.0*MY_PI/volume); + double **f = atom->f; + + for (int i = 0; i < nlocal; i++) { + f[i][2] += ffact * eps[i]*q[i]*(dipole_all - qsum*x[i][2]); + efield[i][2] += ffact * eps[i]*(dipole_all - qsum*x[i][2]); + } + + // add on torque corrections + + if (mu_flag && atom->torque) { + double **mu = atom->mu; + double **torque = atom->torque; + for (int i = 0; i < nlocal; i++) { + torque[i][0] += ffact * dipole_all * mu[i][1]; + torque[i][1] += -ffact * dipole_all * mu[i][0]; + } + } +} + +/* ---------------------------------------------------------------------- + memory usage of local arrays +------------------------------------------------------------------------- */ + +double PPPMDispDielectric::memory_usage() +{ + double bytes = PPPMDisp::memory_usage(); + bytes += nmax*3 * sizeof(double); + bytes += nmax * sizeof(double); + return bytes; +} + +/* ---------------------------------------------------------------------- + compute qsum,qsqsum,q2 and give error/warning if not charge neutral + called initially, when particle count changes, when charges are changed +------------------------------------------------------------------------- */ + +void PPPMDispDielectric::qsum_qsq() +{ + const double * const q = atom->q; + const double * const eps = avec->epsilon; + const int nlocal = atom->nlocal; + double qsum_local(0.0), qsqsum_local(0.0); + +#if defined(_OPENMP) +#pragma omp parallel for default(none) reduction(+:qsum_local,qsqsum_local) +#endif + for (int i = 0; i < nlocal; i++) { + double qtmp = eps[i]*q[i]; + qsum_local += qtmp; + qsqsum_local += qtmp*qtmp; + } + + MPI_Allreduce(&qsum_local,&qsum,1,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(&qsqsum_local,&qsqsum,1,MPI_DOUBLE,MPI_SUM,world); + + q2 = qsqsum * force->qqrd2e; +} diff --git a/src/USER-DIELECTRIC/pppm_disp_dielectric.h b/src/USER-DIELECTRIC/pppm_disp_dielectric.h new file mode 100644 index 0000000000..eef0fa7e94 --- /dev/null +++ b/src/USER-DIELECTRIC/pppm_disp_dielectric.h @@ -0,0 +1,62 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef KSPACE_CLASS + +KSpaceStyle(pppm/disp/dielectric,PPPMDispDielectric) + +#else + +#ifndef LMP_PPPM_DISP_DIELECTRIC_H +#define LMP_PPPM_DISP_DIELECTRIC_H + +#include "pppm_disp.h" + +namespace LAMMPS_NS { + +class PPPMDispDielectric : public PPPMDisp { + public: + PPPMDispDielectric(class LAMMPS *); + virtual ~PPPMDispDielectric(); + virtual double memory_usage(); + virtual void compute(int, int); + void qsum_qsq(); + void slabcorr(int); + + double** efield; + double* phi; + int potflag; // 1/0 if per-atom electrostatic potential phi is needed + + protected: + virtual void fieldforce_c_ik(); + virtual void fieldforce_c_ad(); + virtual void fieldforce_c_peratom(); + + class AtomVecDielectric* avec; + int mu_flag; +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +E: Illegal ... command + +Self-explanatory. Check the input script syntax and compare to the +documentation for the command. You can use -echo screen as a +command-line option when running LAMMPS to see the offending line. + +*/ diff --git a/src/pair_hybrid.cpp b/src/pair_hybrid.cpp index 002429e7b3..6643f6eab4 100644 --- a/src/pair_hybrid.cpp +++ b/src/pair_hybrid.cpp @@ -533,7 +533,7 @@ void PairHybrid::coeff(int narg, char **arg) void PairHybrid::init_style() { int i,m,itype,jtype,used,istyle,skip; - + printf("pair hybrid init style\n"); // error if a sub-style is not used int ntypes = atom->ntypes; @@ -655,6 +655,7 @@ void PairHybrid::init_style() double PairHybrid::init_one(int i, int j) { + printf("pair hybrid init one\n"); // if I,J is not set explicitly: // perform mixing only if I,I sub-style = J,J sub-style // also require I,I and J,J are both assigned to single sub-style From 454e11f7a5d317d1456cb464c62336394273650a Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Fri, 28 May 2021 12:41:52 -0500 Subject: [PATCH 104/726] Bringing USER-DIELECTRIC up-to-date with latest changes in upstream LAMMPS --- src/GPU/pair_lj_cut_gpu.cpp | 11 +- src/USER-DIELECTRIC/atom_vec_dielectric.cpp | 1254 +---------------- src/USER-DIELECTRIC/atom_vec_dielectric.h | 52 +- src/USER-DIELECTRIC/fix_polarize_bem_icc.cpp | 61 +- src/USER-DIELECTRIC/msm_dielectric.cpp | 78 +- .../pair_coul_cut_dielectric.cpp | 28 +- .../pair_coul_cut_dielectric.h | 1 + .../pair_coul_long_dielectric.cpp | 21 +- .../pair_lj_cut_coul_cut_dielectric.cpp | 20 +- .../pair_lj_cut_coul_long_dielectric.cpp | 24 +- .../pair_lj_cut_coul_msm_dielectric.cpp | 22 +- src/USER-DIELECTRIC/pppm_dielectric.cpp | 1017 +------------ src/USER-DIELECTRIC/pppm_dielectric.h | 32 - src/atom.cpp | 13 + src/atom.h | 4 + 15 files changed, 255 insertions(+), 2383 deletions(-) diff --git a/src/GPU/pair_lj_cut_gpu.cpp b/src/GPU/pair_lj_cut_gpu.cpp index 29b14c033f..ea4e9532fd 100644 --- a/src/GPU/pair_lj_cut_gpu.cpp +++ b/src/GPU/pair_lj_cut_gpu.cpp @@ -135,27 +135,22 @@ void PairLJCutGPU::init_style() { cut_respa = nullptr; - //if (force->newton_pair) -// error->all(FLERR,"Cannot use newton pair with lj/cut/gpu pair style"); + if (force->newton_pair) + error->all(FLERR,"Cannot use newton pair with lj/cut/gpu pair style"); // Repeat cutsq calculation because done after call to init_style double maxcut = -1.0; double cut; for (int i = 1; i <= atom->ntypes; i++) { for (int j = i; j <= atom->ntypes; j++) { - cut = init_one(i,j); if (setflag[i][j] != 0 || (setflag[i][i] != 0 && setflag[j][j] != 0)) { - cut = init_one(i,j); - //printf("lj/cut/gpu: i = %d; j = %d: setflag = %d cut = %f\n", i, j, setflag[i][j], cut); cut *= cut; if (cut > maxcut) maxcut = cut; cutsq[i][j] = cutsq[j][i] = cut; - } else { - //printf("lj/cut/gpu: i = %d; j = %d: setflag = %d cut = %f\n", i, j, setflag[i][j], cut); + } else cutsq[i][j] = cutsq[j][i] = 0.0; - } } } double cell_size = sqrt(maxcut) + neighbor->skin; diff --git a/src/USER-DIELECTRIC/atom_vec_dielectric.cpp b/src/USER-DIELECTRIC/atom_vec_dielectric.cpp index 07ae1abd06..1c2a99eb19 100644 --- a/src/USER-DIELECTRIC/atom_vec_dielectric.cpp +++ b/src/USER-DIELECTRIC/atom_vec_dielectric.cpp @@ -26,1245 +26,83 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -AtomVecDielectric::AtomVecDielectric(LAMMPS *lmp) : AtomVecFull(lmp), - mu(NULL), area(NULL), ed(NULL), em(NULL), q_real(NULL), epsilon(NULL), - curvature(NULL) +AtomVecDielectric::AtomVecDielectric(LAMMPS *lmp) : AtomVec(lmp) { - comm_x_only = 0; // 0 to exchange other data in addition to x in pack comm - size_forward = 13; // # items in func: pack_comm - size_reverse = 3; - size_border = 18; // # items in func: pack_border - size_velocity = 3; - size_data_atom = 15; // # items from read data file, func: data_atom. - size_data_vel = 4; - xcol_data = 5; // column in data files where coordinates start - // the first four columns are tag, mol, type, q + molecular = Atom::ATOMIC; + mass_type = PER_TYPE; + + atom->q_flag = atom->mu_flag = 1; - atom->mu_flag = 1; -} + // strings with peratom variables to include in each AtomVec method + // strings cannot contain fields in corresponding AtomVec default strings + // order of fields in a string does not matter + // except: fields_data_atom & fields_data_vel must match data file -/* ---------------------------------------------------------------------- */ + fields_grow = (char *) "q mu3 area ed em epsilon curvature"; + fields_copy = (char *) "q mu3 area ed em epsilon curvature"; + fields_comm = (char *) "q mu3 area ed em epsilon curvature"; + fields_comm_vel = (char *) "q mu3 area ed em epsilon curvature"; + fields_reverse = (char *) ""; + fields_border = (char *) "q mu3 area ed em epsilon curvature"; + fields_border_vel = (char *) "q mu3 area ed em epsilon curvature"; + fields_exchange = (char *) "q mu3 area ed em epsilon curvature"; + fields_restart = (char * ) "q mu3 area ed em epsilon curvature"; + fields_create = (char *) "q mu3 area ed em epsilon curvature"; + fields_data_atom = (char *) "id molecule type q x mu3 area ed em epsilon curvature"; + fields_data_vel = (char *) "id v"; -AtomVecDielectric::~AtomVecDielectric() -{ - memory->destroy(area); - memory->destroy(ed); - memory->destroy(em); - memory->destroy(epsilon); - memory->destroy(q_real); - memory->destroy(curvature); + setup_fields(); } /* ---------------------------------------------------------------------- - grow atom arrays - n = 0 grows arrays by a chunk - n > 0 allocates arrays to size n + set local copies of all grow ptrs used by this class, except defaults + needed in replicate when 2 atom classes exist and it calls pack_restart() ------------------------------------------------------------------------- */ -void AtomVecDielectric::grow(int n) +void AtomVecDielectric::grow_pointers() { - AtomVecFull::grow(n); - - mu = memory->grow(atom->mu,nmax,4,"atom:mu"); - - // USER-DIELECTRIC specifics - - area = memory->grow(area,nmax,"atom:area"); - ed = memory->grow(ed,nmax,"atom:ed"); - em = memory->grow(em,nmax,"atom:em"); - epsilon = memory->grow(epsilon,nmax,"atom:epsilon"); - q_real = memory->grow(q_real,nmax,"atom:q_real"); - curvature = memory->grow(curvature,nmax,"atom:curvature"); -} - -/* ---------------------------------------------------------------------- - reset local array ptrs -------------------------------------------------------------------------- */ - -void AtomVecDielectric::grow_reset() -{ - AtomVecFull::grow_reset(); - mu = atom->mu; + area = atom->area; + ed = atom->ed; + em = atom->em; + epsilon = atom->epsilon; + curvature = atom->curvature; + q_unscaled = atom->q_unscaled; } /* ---------------------------------------------------------------------- - copy atom I info to atom J + initialize non-zero atom quantities ------------------------------------------------------------------------- */ -void AtomVecDielectric::copy(int i, int j, int delflag) +void AtomVecDielectric::create_atom_post(int ilocal) { - AtomVecFull::copy(i, j, delflag); - - // USER-DIELECTRIC specifics - - mu[j][0] = mu[i][0]; - mu[j][1] = mu[i][1]; - mu[j][2] = mu[i][2]; - mu[j][3] = mu[i][3]; - - area[j] = area[i]; - ed[j] = ed[i]; - em[j] = em[i]; - epsilon[j] = epsilon[i]; - q_real[j] = q_real[i]; - curvature[j] = curvature[i]; -} - -/* ---------------------------------------------------------------------- */ - -int AtomVecDielectric::pack_comm(int n, int *list, double *buf, - int pbc_flag, int *pbc) -{ - int i,j,m; - double dx,dy,dz; - - m = 0; - if (pbc_flag == 0) { - for (i = 0; i < n; i++) { - j = list[i]; - buf[m++] = x[j][0]; - buf[m++] = x[j][1]; - buf[m++] = x[j][2]; - buf[m++] = q[j]; - buf[m++] = mu[j][0]; - buf[m++] = mu[j][1]; - buf[m++] = mu[j][2]; - buf[m++] = area[j]; - buf[m++] = ed[j]; - buf[m++] = em[j]; - buf[m++] = epsilon[j]; - buf[m++] = q_real[j]; - buf[m++] = curvature[j]; - } - } else { - if (domain->triclinic == 0) { - dx = pbc[0]*domain->xprd; - dy = pbc[1]*domain->yprd; - dz = pbc[2]*domain->zprd; - } else { - dx = pbc[0]*domain->xprd + pbc[5]*domain->xy + pbc[4]*domain->xz; - dy = pbc[1]*domain->yprd + pbc[3]*domain->yz; - dz = pbc[2]*domain->zprd; - } - for (i = 0; i < n; i++) { - j = list[i]; - buf[m++] = x[j][0] + dx; - buf[m++] = x[j][1] + dy; - buf[m++] = x[j][2] + dz; - buf[m++] = q[j]; - buf[m++] = mu[j][0]; - buf[m++] = mu[j][1]; - buf[m++] = mu[j][2]; - buf[m++] = area[j]; - buf[m++] = ed[j]; - buf[m++] = em[j]; - buf[m++] = epsilon[j]; - buf[m++] = q_real[j]; - buf[m++] = curvature[j]; - } - } - return m; -} - -/* ---------------------------------------------------------------------- */ - -int AtomVecDielectric::pack_comm_vel(int n, int *list, double *buf, - int pbc_flag, int *pbc) -{ - int i,j,m; - double dx,dy,dz,dvx,dvy,dvz; - - m = 0; - if (pbc_flag == 0) { - for (i = 0; i < n; i++) { - j = list[i]; - buf[m++] = x[j][0]; - buf[m++] = x[j][1]; - buf[m++] = x[j][2]; - buf[m++] = q[j]; - buf[m++] = mu[j][0]; - buf[m++] = mu[j][1]; - buf[m++] = mu[j][2]; - buf[m++] = area[j]; - buf[m++] = ed[j]; - buf[m++] = em[j]; - buf[m++] = epsilon[j]; - buf[m++] = q_real[j]; - buf[m++] = curvature[j]; - buf[m++] = v[j][0]; - buf[m++] = v[j][1]; - buf[m++] = v[j][2]; - } - } else { - if (domain->triclinic == 0) { - dx = pbc[0]*domain->xprd; - dy = pbc[1]*domain->yprd; - dz = pbc[2]*domain->zprd; - } else { - dx = pbc[0]*domain->xprd + pbc[5]*domain->xy + pbc[4]*domain->xz; - dy = pbc[1]*domain->yprd + pbc[3]*domain->yz; - dz = pbc[2]*domain->zprd; - } - if (!deform_vremap) { - for (i = 0; i < n; i++) { - j = list[i]; - buf[m++] = x[j][0] + dx; - buf[m++] = x[j][1] + dy; - buf[m++] = x[j][2] + dz; - buf[m++] = q[j]; - buf[m++] = mu[j][0]; - buf[m++] = mu[j][1]; - buf[m++] = mu[j][2]; - buf[m++] = area[j]; - buf[m++] = ed[j]; - buf[m++] = em[j]; - buf[m++] = epsilon[j]; - buf[m++] = q_real[j]; - buf[m++] = curvature[j]; - buf[m++] = v[j][0]; - buf[m++] = v[j][1]; - buf[m++] = v[j][2]; - } - } else { - dvx = pbc[0]*h_rate[0] + pbc[5]*h_rate[5] + pbc[4]*h_rate[4]; - dvy = pbc[1]*h_rate[1] + pbc[3]*h_rate[3]; - dvz = pbc[2]*h_rate[2]; - for (i = 0; i < n; i++) { - j = list[i]; - buf[m++] = x[j][0] + dx; - buf[m++] = x[j][1] + dy; - buf[m++] = x[j][2] + dz; - buf[m++] = q[j]; - buf[m++] = mu[j][0]; - buf[m++] = mu[j][1]; - buf[m++] = mu[j][2]; - buf[m++] = area[j]; - buf[m++] = ed[j]; - buf[m++] = em[j]; - buf[m++] = epsilon[j]; - buf[m++] = q_real[j]; - buf[m++] = curvature[j]; - if (mask[i] & deform_groupbit) { - buf[m++] = v[j][0] + dvx; - buf[m++] = v[j][1] + dvy; - buf[m++] = v[j][2] + dvz; - } else { - buf[m++] = v[j][0]; - buf[m++] = v[j][1]; - buf[m++] = v[j][2]; - } - } - } - } - return m; -} - -/* ---------------------------------------------------------------------- */ - -int AtomVecDielectric::pack_comm_hybrid(int n, int *list, double *buf) -{ - int i,j,m; - - m = 0; - for (i = 0; i < n; i++) { - j = list[i]; - buf[m++] = q[j]; - buf[m++] = mu[j][0]; - buf[m++] = mu[j][1]; - buf[m++] = mu[j][2]; - buf[m++] = area[j]; - buf[m++] = ed[j]; - buf[m++] = em[j]; - buf[m++] = epsilon[j]; - buf[m++] = q_real[j]; - buf[m++] = curvature[j]; - } - return m; -} - -/* ---------------------------------------------------------------------- */ - -void AtomVecDielectric::unpack_comm(int n, int first, double *buf) -{ - int i,m,last; - - m = 0; - last = first + n; - for (i = first; i < last; i++) { - x[i][0] = buf[m++]; - x[i][1] = buf[m++]; - x[i][2] = buf[m++]; - q[i] = buf[m++]; - mu[i][0] = buf[m++]; - mu[i][1] = buf[m++]; - mu[i][2] = buf[m++]; - area[i] = buf[m++]; - ed[i] = buf[m++]; - em[i] = buf[m++]; - epsilon[i] = buf[m++]; - q_real[i] = buf[m++]; - curvature[i] = buf[m++]; - } -} - -/* ---------------------------------------------------------------------- */ - -void AtomVecDielectric::unpack_comm_vel(int n, int first, double *buf) -{ - int i,m,last; - - m = 0; - last = first + n; - for (i = first; i < last; i++) { - x[i][0] = buf[m++]; - x[i][1] = buf[m++]; - x[i][2] = buf[m++]; - q[i] = buf[m++]; - mu[i][0] = buf[m++]; - mu[i][1] = buf[m++]; - mu[i][2] = buf[m++]; - area[i] = buf[m++]; - ed[i] = buf[m++]; - em[i] = buf[m++]; - epsilon[i] = buf[m++]; - q_real[i] = buf[m++]; - curvature[i] = buf[m++]; - v[i][0] = buf[m++]; - v[i][1] = buf[m++]; - v[i][2] = buf[m++]; - } -} - -/* ---------------------------------------------------------------------- */ - -int AtomVecDielectric::unpack_comm_hybrid(int n, int first, double *buf) -{ - int i,m,last; - - m = 0; - last = first + n; - for (i = first; i < last; i++) { - q[i] = buf[m++]; - mu[i][0] = buf[m++]; - mu[i][1] = buf[m++]; - mu[i][2] = buf[m++]; - area[i] = buf[m++]; - ed[i] = buf[m++]; - em[i] = buf[m++]; - epsilon[i] = buf[m++]; - q_real[i] = buf[m++]; - curvature[i] = buf[m++]; - } - return m; -} - -/* ---------------------------------------------------------------------- */ - -int AtomVecDielectric::pack_reverse(int n, int first, double *buf) -{ - int i,m,last; - - m = 0; - last = first + n; - for (i = first; i < last; i++) { - buf[m++] = f[i][0]; - buf[m++] = f[i][1]; - buf[m++] = f[i][2]; - } - return m; -} - -/* ---------------------------------------------------------------------- */ - -void AtomVecDielectric::unpack_reverse(int n, int *list, double *buf) -{ - int i,j,m; - - m = 0; - for (i = 0; i < n; i++) { - j = list[i]; - f[j][0] += buf[m++]; - f[j][1] += buf[m++]; - f[j][2] += buf[m++]; - } -} - -/* ---------------------------------------------------------------------- */ - -int AtomVecDielectric::pack_border(int n, int *list, double *buf, - int pbc_flag, int *pbc) -{ - int i,j,m; - double dx,dy,dz; - - m = 0; - if (pbc_flag == 0) { - for (i = 0; i < n; i++) { - j = list[i]; - buf[m++] = x[j][0]; - buf[m++] = x[j][1]; - buf[m++] = x[j][2]; - buf[m++] = ubuf(tag[j]).d; - buf[m++] = ubuf(type[j]).d; - buf[m++] = ubuf(mask[j]).d; - buf[m++] = ubuf(molecule[j]).d; - buf[m++] = q[j]; - buf[m++] = mu[j][0]; - buf[m++] = mu[j][1]; - buf[m++] = mu[j][2]; - buf[m++] = mu[j][3]; - buf[m++] = area[j]; - buf[m++] = ed[j]; - buf[m++] = em[j]; - buf[m++] = epsilon[j]; - buf[m++] = q_real[j]; - buf[m++] = curvature[j]; - } - } else { - if (domain->triclinic == 0) { - dx = pbc[0]*domain->xprd; - dy = pbc[1]*domain->yprd; - dz = pbc[2]*domain->zprd; - } else { - dx = pbc[0]; - dy = pbc[1]; - dz = pbc[2]; - } - for (i = 0; i < n; i++) { - j = list[i]; - buf[m++] = x[j][0] + dx; - buf[m++] = x[j][1] + dy; - buf[m++] = x[j][2] + dz; - buf[m++] = ubuf(tag[j]).d; - buf[m++] = ubuf(type[j]).d; - buf[m++] = ubuf(mask[j]).d; - buf[m++] = ubuf(molecule[j]).d; - buf[m++] = q[j]; - buf[m++] = mu[j][0]; - buf[m++] = mu[j][1]; - buf[m++] = mu[j][2]; - buf[m++] = mu[j][3]; - buf[m++] = area[j]; - buf[m++] = ed[j]; - buf[m++] = em[j]; - buf[m++] = epsilon[j]; - buf[m++] = q_real[j]; - buf[m++] = curvature[j]; - } - } - - if (atom->nextra_border) - for (int iextra = 0; iextra < atom->nextra_border; iextra++) - m += modify->fix[atom->extra_border[iextra]]->pack_border(n,list,&buf[m]); - - return m; -} - -/* ---------------------------------------------------------------------- */ - -int AtomVecDielectric::pack_border_vel(int n, int *list, double *buf, - int pbc_flag, int *pbc) -{ - int i,j,m; - double dx,dy,dz,dvx,dvy,dvz; - - m = 0; - if (pbc_flag == 0) { - for (i = 0; i < n; i++) { - j = list[i]; - buf[m++] = x[j][0]; - buf[m++] = x[j][1]; - buf[m++] = x[j][2]; - buf[m++] = ubuf(tag[j]).d; - buf[m++] = ubuf(type[j]).d; - buf[m++] = ubuf(mask[j]).d; - buf[m++] = ubuf(molecule[j]).d; - buf[m++] = q[j]; - buf[m++] = mu[j][0]; - buf[m++] = mu[j][1]; - buf[m++] = mu[j][2]; - buf[m++] = mu[j][3]; - buf[m++] = area[j]; - buf[m++] = ed[j]; - buf[m++] = em[j]; - buf[m++] = epsilon[j]; - buf[m++] = q_real[j]; - buf[m++] = curvature[j]; - buf[m++] = v[j][0]; - buf[m++] = v[j][1]; - buf[m++] = v[j][2]; - } - } else { - if (domain->triclinic == 0) { - dx = pbc[0]*domain->xprd; - dy = pbc[1]*domain->yprd; - dz = pbc[2]*domain->zprd; - } else { - dx = pbc[0]; - dy = pbc[1]; - dz = pbc[2]; - } - if (!deform_vremap) { - for (i = 0; i < n; i++) { - j = list[i]; - buf[m++] = x[j][0] + dx; - buf[m++] = x[j][1] + dy; - buf[m++] = x[j][2] + dz; - buf[m++] = ubuf(tag[j]).d; - buf[m++] = ubuf(type[j]).d; - buf[m++] = ubuf(mask[j]).d; - buf[m++] = ubuf(molecule[j]).d; - buf[m++] = q[j]; - buf[m++] = mu[j][0]; - buf[m++] = mu[j][1]; - buf[m++] = mu[j][2]; - buf[m++] = mu[j][3]; - buf[m++] = area[j]; - buf[m++] = ed[j]; - buf[m++] = em[j]; - buf[m++] = epsilon[j]; - buf[m++] = q_real[j]; - buf[m++] = curvature[j]; - buf[m++] = v[j][0]; - buf[m++] = v[j][1]; - buf[m++] = v[j][2]; - } - } else { - dvx = pbc[0]*h_rate[0] + pbc[5]*h_rate[5] + pbc[4]*h_rate[4]; - dvy = pbc[1]*h_rate[1] + pbc[3]*h_rate[3]; - dvz = pbc[2]*h_rate[2]; - for (i = 0; i < n; i++) { - j = list[i]; - buf[m++] = x[j][0] + dx; - buf[m++] = x[j][1] + dy; - buf[m++] = x[j][2] + dz; - buf[m++] = ubuf(tag[j]).d; - buf[m++] = ubuf(type[j]).d; - buf[m++] = ubuf(mask[j]).d; - buf[m++] = ubuf(molecule[j]).d; - buf[m++] = q[j]; - buf[m++] = mu[j][0]; - buf[m++] = mu[j][1]; - buf[m++] = mu[j][2]; - buf[m++] = mu[j][3]; - buf[m++] = area[j]; - buf[m++] = ed[j]; - buf[m++] = em[j]; - buf[m++] = epsilon[j]; - buf[m++] = curvature[j]; - buf[m++] = q_real[j]; - if (mask[i] & deform_groupbit) { - buf[m++] = v[j][0] + dvx; - buf[m++] = v[j][1] + dvy; - buf[m++] = v[j][2] + dvz; - } else { - buf[m++] = v[j][0]; - buf[m++] = v[j][1]; - buf[m++] = v[j][2]; - } - } - } - } - - if (atom->nextra_border) - for (int iextra = 0; iextra < atom->nextra_border; iextra++) - m += modify->fix[atom->extra_border[iextra]]->pack_border(n,list,&buf[m]); - - return m; -} - -/* ---------------------------------------------------------------------- */ - -int AtomVecDielectric::pack_border_hybrid(int n, int *list, double *buf) -{ - int i,j,m; - - m = 0; - for (i = 0; i < n; i++) { - j = list[i]; - buf[m++] = ubuf(molecule[j]).d; - buf[m++] = q[j]; - buf[m++] = mu[j][0]; - buf[m++] = mu[j][1]; - buf[m++] = mu[j][2]; - buf[m++] = mu[j][3]; - buf[m++] = area[j]; - buf[m++] = ed[j]; - buf[m++] = em[j]; - buf[m++] = epsilon[j]; - buf[m++] = q_real[j]; - buf[m++] = curvature[j]; - } - return m; -} - -/* ---------------------------------------------------------------------- */ - -void AtomVecDielectric::unpack_border(int n, int first, double *buf) -{ - int i,m,last; - - m = 0; - last = first + n; - for (i = first; i < last; i++) { - if (i == nmax) grow(0); - x[i][0] = buf[m++]; - x[i][1] = buf[m++]; - x[i][2] = buf[m++]; - tag[i] = (tagint) ubuf(buf[m++]).i; - type[i] = (int) ubuf(buf[m++]).i; - mask[i] = (int) ubuf(buf[m++]).i; - molecule[i] = (tagint) ubuf(buf[m++]).i; - q[i] = buf[m++]; - mu[i][0] = buf[m++]; - mu[i][1] = buf[m++]; - mu[i][2] = buf[m++]; - mu[i][3] = buf[m++]; - area[i] = buf[m++]; - ed[i] = buf[m++]; - em[i] = buf[m++]; - epsilon[i] = buf[m++]; - q_real[i] = buf[m++]; - curvature[i] = buf[m++]; - } - - if (atom->nextra_border) - for (int iextra = 0; iextra < atom->nextra_border; iextra++) - m += modify->fix[atom->extra_border[iextra]]-> - unpack_border(n,first,&buf[m]); -} - -/* ---------------------------------------------------------------------- */ - -void AtomVecDielectric::unpack_border_vel(int n, int first, double *buf) -{ - int i,m,last; - - m = 0; - last = first + n; - for (i = first; i < last; i++) { - if (i == nmax) grow(0); - x[i][0] = buf[m++]; - x[i][1] = buf[m++]; - x[i][2] = buf[m++]; - tag[i] = (tagint) ubuf(buf[m++]).i; - type[i] = (int) ubuf(buf[m++]).i; - mask[i] = (int) ubuf(buf[m++]).i; - molecule[i] = (tagint) ubuf(buf[m++]).i; - q[i] = buf[m++]; - mu[i][0] = buf[m++]; - mu[i][1] = buf[m++]; - mu[i][2] = buf[m++]; - mu[i][3] = buf[m++]; - area[i] = buf[m++]; - ed[i] = buf[m++]; - em[i] = buf[m++]; - epsilon[i] = buf[m++]; - q_real[i] = buf[m++]; - curvature[i] = buf[m++]; - v[i][0] = buf[m++]; - v[i][1] = buf[m++]; - v[i][2] = buf[m++]; - } - - if (atom->nextra_border) - for (int iextra = 0; iextra < atom->nextra_border; iextra++) - m += modify->fix[atom->extra_border[iextra]]-> - unpack_border(n,first,&buf[m]); -} - -/* ---------------------------------------------------------------------- */ - -int AtomVecDielectric::unpack_border_hybrid(int n, int first, double *buf) -{ - int i,m,last; - - m = 0; - last = first + n; - for (i = first; i < last; i++) { - molecule[i] = (tagint) ubuf(buf[m++]).i; - q[i] = buf[m++]; - mu[i][0] = buf[m++]; - mu[i][1] = buf[m++]; - mu[i][2] = buf[m++]; - mu[i][3] = buf[m++]; - area[i] = buf[m++]; - ed[i] = buf[m++]; - em[i] = buf[m++]; - epsilon[i] = buf[m++]; - q_real[i] = buf[m++]; - curvature[i] = buf[m++]; - } - return m; + area[ilocal] = 1.0; + em[ilocal] = 1.0; + epsilon[ilocal] = 1.0; } /* ---------------------------------------------------------------------- - pack all atom quantities for shipping to another proc - xyz must be 1st 3 values, so that comm::exchange can test on them + modify what AtomVec::data_atom() just unpacked + or initialize other atom quantities ------------------------------------------------------------------------- */ -int AtomVecDielectric::pack_exchange(int i, double *buf) +void AtomVecDielectric::data_atom_post(int ilocal) { - int k; - - int m = 1; - buf[m++] = x[i][0]; - buf[m++] = x[i][1]; - buf[m++] = x[i][2]; - buf[m++] = v[i][0]; - buf[m++] = v[i][1]; - buf[m++] = v[i][2]; - buf[m++] = ubuf(tag[i]).d; - buf[m++] = ubuf(type[i]).d; - buf[m++] = ubuf(mask[i]).d; - buf[m++] = ubuf(image[i]).d; - - buf[m++] = ubuf(molecule[i]).d; - - buf[m++] = q[i]; - buf[m++] = mu[i][0]; - buf[m++] = mu[i][1]; - buf[m++] = mu[i][2]; - buf[m++] = mu[i][3]; - buf[m++] = area[i]; - buf[m++] = ed[i]; - buf[m++] = em[i]; - buf[m++] = epsilon[i]; - buf[m++] = q_real[i]; - buf[m++] = curvature[i]; - - buf[m++] = ubuf(num_bond[i]).d; - for (k = 0; k < num_bond[i]; k++) { - buf[m++] = ubuf(bond_type[i][k]).d; - buf[m++] = ubuf(bond_atom[i][k]).d; - } - - buf[m++] = ubuf(num_angle[i]).d; - for (k = 0; k < num_angle[i]; k++) { - buf[m++] = ubuf(angle_type[i][k]).d; - buf[m++] = ubuf(angle_atom1[i][k]).d; - buf[m++] = ubuf(angle_atom2[i][k]).d; - buf[m++] = ubuf(angle_atom3[i][k]).d; - } - - buf[m++] = ubuf(num_dihedral[i]).d; - for (k = 0; k < num_dihedral[i]; k++) { - buf[m++] = ubuf(dihedral_type[i][k]).d; - buf[m++] = ubuf(dihedral_atom1[i][k]).d; - buf[m++] = ubuf(dihedral_atom2[i][k]).d; - buf[m++] = ubuf(dihedral_atom3[i][k]).d; - buf[m++] = ubuf(dihedral_atom4[i][k]).d; - } - - buf[m++] = ubuf(num_improper[i]).d; - for (k = 0; k < num_improper[i]; k++) { - buf[m++] = ubuf(improper_type[i][k]).d; - buf[m++] = ubuf(improper_atom1[i][k]).d; - buf[m++] = ubuf(improper_atom2[i][k]).d; - buf[m++] = ubuf(improper_atom3[i][k]).d; - buf[m++] = ubuf(improper_atom4[i][k]).d; - } - - buf[m++] = ubuf(nspecial[i][0]).d; - buf[m++] = ubuf(nspecial[i][1]).d; - buf[m++] = ubuf(nspecial[i][2]).d; - for (k = 0; k < nspecial[i][2]; k++) buf[m++] = ubuf(special[i][k]).d; - - if (atom->nextra_grow) - for (int iextra = 0; iextra < atom->nextra_grow; iextra++) - m += modify->fix[atom->extra_grow[iextra]]->pack_exchange(i,&buf[m]); - - buf[0] = m; - return m; -} - -/* ---------------------------------------------------------------------- */ - -int AtomVecDielectric::unpack_exchange(double *buf) -{ - int k; - - int nlocal = atom->nlocal; - if (nlocal == nmax) grow(0); - - int m = 1; - x[nlocal][0] = buf[m++]; - x[nlocal][1] = buf[m++]; - x[nlocal][2] = buf[m++]; - v[nlocal][0] = buf[m++]; - v[nlocal][1] = buf[m++]; - v[nlocal][2] = buf[m++]; - tag[nlocal] = (tagint) ubuf(buf[m++]).i; - type[nlocal] = (int) ubuf(buf[m++]).i; - mask[nlocal] = (int) ubuf(buf[m++]).i; - image[nlocal] = (imageint) ubuf(buf[m++]).i; - - molecule[nlocal] = (tagint) ubuf(buf[m++]).i; - - q[nlocal] = buf[m++]; - mu[nlocal][0] = buf[m++]; - mu[nlocal][1] = buf[m++]; - mu[nlocal][2] = buf[m++]; - mu[nlocal][3] = buf[m++]; - area[nlocal] = buf[m++]; - ed[nlocal] = buf[m++]; - em[nlocal] = buf[m++]; - epsilon[nlocal] = buf[m++]; - q_real[nlocal] = buf[m++]; - curvature[nlocal] = buf[m++]; - - num_bond[nlocal] = (int) ubuf(buf[m++]).i; - for (k = 0; k < num_bond[nlocal]; k++) { - bond_type[nlocal][k] = (int) ubuf(buf[m++]).i; - bond_atom[nlocal][k] = (tagint) ubuf(buf[m++]).i; - } - - num_angle[nlocal] = (int) ubuf(buf[m++]).i; - for (k = 0; k < num_angle[nlocal]; k++) { - angle_type[nlocal][k] = (int) ubuf(buf[m++]).i; - angle_atom1[nlocal][k] = (tagint) ubuf(buf[m++]).i; - angle_atom2[nlocal][k] = (tagint) ubuf(buf[m++]).i; - angle_atom3[nlocal][k] = (tagint) ubuf(buf[m++]).i; - } - - num_dihedral[nlocal] = (int) ubuf(buf[m++]).i; - for (k = 0; k < num_dihedral[nlocal]; k++) { - dihedral_type[nlocal][k] = (int) ubuf(buf[m++]).i; - dihedral_atom1[nlocal][k] = (tagint) ubuf(buf[m++]).i; - dihedral_atom2[nlocal][k] = (tagint) ubuf(buf[m++]).i; - dihedral_atom3[nlocal][k] = (tagint) ubuf(buf[m++]).i; - dihedral_atom4[nlocal][k] = (tagint) ubuf(buf[m++]).i; - } - - num_improper[nlocal] = (int) ubuf(buf[m++]).i; - for (k = 0; k < num_improper[nlocal]; k++) { - improper_type[nlocal][k] = (int) ubuf(buf[m++]).i; - improper_atom1[nlocal][k] = (tagint) ubuf(buf[m++]).i; - improper_atom2[nlocal][k] = (tagint) ubuf(buf[m++]).i; - improper_atom3[nlocal][k] = (tagint) ubuf(buf[m++]).i; - improper_atom4[nlocal][k] = (tagint) ubuf(buf[m++]).i; - } - - nspecial[nlocal][0] = (int) ubuf(buf[m++]).i; - nspecial[nlocal][1] = (int) ubuf(buf[m++]).i; - nspecial[nlocal][2] = (int) ubuf(buf[m++]).i; - for (k = 0; k < nspecial[nlocal][2]; k++) - special[nlocal][k] = (tagint) ubuf(buf[m++]).i; - - if (atom->nextra_grow) - for (int iextra = 0; iextra < atom->nextra_grow; iextra++) - m += modify->fix[atom->extra_grow[iextra]]-> - unpack_exchange(nlocal,&buf[m]); - - atom->nlocal++; - return m; + double* q = atom->q; + q_unscaled[ilocal] = q[ilocal]; + q[ilocal] /= epsilon[ilocal]; } /* ---------------------------------------------------------------------- - size of restart data for all atoms owned by this proc - include extra data stored by fixes + unmodify values packed by AtomVec::pack_data() ------------------------------------------------------------------------- */ -int AtomVecDielectric::size_restart() +void AtomVecDielectric::pack_data_post(int ilocal) { - int i; - - int nlocal = atom->nlocal; - int n = 0; - // n is calculated from pack_restart: similar to full (17) - // 17 = 3 for x[], 4 for (tag, type, mask, image), 3 for v[], 1 for molecule ID, 1 for q, - // 4 for num bonds/angles/dihedrals/impropers and 1 for the first element (buf[0]) - // plus 10 = 4 for mu (norm) and 6 (area, ed, em, epsilon, q_real, curvature) - // totaling 27 - for (i = 0; i < nlocal; i++) - n += 27 + 2*num_bond[i] + 4*num_angle[i] + - 5*num_dihedral[i] + 5*num_improper[i]; - - if (atom->nextra_restart) - for (int iextra = 0; iextra < atom->nextra_restart; iextra++) - for (i = 0; i < nlocal; i++) - n += modify->fix[atom->extra_restart[iextra]]->size_restart(i); - - return n; + double* q = atom->q; + q_unscaled[ilocal] = q[ilocal]/epsilon[ilocal]; } -/* ---------------------------------------------------------------------- - pack atom I's data for restart file including extra quantities - xyz must be 1st 3 values, so that read_restart can test on them - molecular types may be negative, but write as positive -------------------------------------------------------------------------- */ -int AtomVecDielectric::pack_restart(int i, double *buf) -{ - int k; - int m = 1; - buf[m++] = x[i][0]; - buf[m++] = x[i][1]; - buf[m++] = x[i][2]; - buf[m++] = ubuf(tag[i]).d; - buf[m++] = ubuf(type[i]).d; - buf[m++] = ubuf(mask[i]).d; - buf[m++] = ubuf(image[i]).d; - buf[m++] = v[i][0]; - buf[m++] = v[i][1]; - buf[m++] = v[i][2]; - buf[m++] = ubuf(molecule[i]).d; - buf[m++] = q[i]; - buf[m++] = mu[i][0]; - buf[m++] = mu[i][1]; - buf[m++] = mu[i][2]; - buf[m++] = mu[i][3]; - buf[m++] = area[i]; - buf[m++] = ed[i]; - buf[m++] = em[i]; - buf[m++] = epsilon[i]; - buf[m++] = q_real[i]; - buf[m++] = curvature[i]; - - buf[m++] = ubuf(num_bond[i]).d; - for (k = 0; k < num_bond[i]; k++) { - buf[m++] = ubuf(MAX(bond_type[i][k],-bond_type[i][k])).d; - buf[m++] = ubuf(bond_atom[i][k]).d; - } - - buf[m++] = ubuf(num_angle[i]).d; - for (k = 0; k < num_angle[i]; k++) { - buf[m++] = ubuf(MAX(angle_type[i][k],-angle_type[i][k])).d; - buf[m++] = ubuf(angle_atom1[i][k]).d; - buf[m++] = ubuf(angle_atom2[i][k]).d; - buf[m++] = ubuf(angle_atom3[i][k]).d; - } - - buf[m++] = ubuf(num_dihedral[i]).d; - for (k = 0; k < num_dihedral[i]; k++) { - buf[m++] = ubuf(MAX(dihedral_type[i][k],-dihedral_type[i][k])).d; - buf[m++] = ubuf(dihedral_atom1[i][k]).d; - buf[m++] = ubuf(dihedral_atom2[i][k]).d; - buf[m++] = ubuf(dihedral_atom3[i][k]).d; - buf[m++] = ubuf(dihedral_atom4[i][k]).d; - } - - buf[m++] = ubuf(num_improper[i]).d; - for (k = 0; k < num_improper[i]; k++) { - buf[m++] = ubuf(MAX(improper_type[i][k],-improper_type[i][k])).d; - buf[m++] = ubuf(improper_atom1[i][k]).d; - buf[m++] = ubuf(improper_atom2[i][k]).d; - buf[m++] = ubuf(improper_atom3[i][k]).d; - buf[m++] = ubuf(improper_atom4[i][k]).d; - } - - if (atom->nextra_restart) - for (int iextra = 0; iextra < atom->nextra_restart; iextra++) - m += modify->fix[atom->extra_restart[iextra]]->pack_restart(i,&buf[m]); - - buf[0] = m; - return m; -} - -/* ---------------------------------------------------------------------- - unpack data for one atom from restart file including extra quantities -------------------------------------------------------------------------- */ - -int AtomVecDielectric::unpack_restart(double *buf) -{ - int k; - - int nlocal = atom->nlocal; - if (nlocal == nmax) { - grow(0); - if (atom->nextra_store) - memory->grow(atom->extra,nmax,atom->nextra_store,"atom:extra"); - } - - int m = 1; - x[nlocal][0] = buf[m++]; - x[nlocal][1] = buf[m++]; - x[nlocal][2] = buf[m++]; - tag[nlocal] = (tagint) ubuf(buf[m++]).i; - type[nlocal] = (int) ubuf(buf[m++]).i; - mask[nlocal] = (int) ubuf(buf[m++]).i; - image[nlocal] = (imageint) ubuf(buf[m++]).i; - v[nlocal][0] = buf[m++]; - v[nlocal][1] = buf[m++]; - v[nlocal][2] = buf[m++]; - - molecule[nlocal] = (tagint) ubuf(buf[m++]).i; - - q[nlocal] = buf[m++]; - mu[nlocal][0] = buf[m++]; - mu[nlocal][1] = buf[m++]; - mu[nlocal][2] = buf[m++]; - mu[nlocal][3] = buf[m++]; - area[nlocal] = buf[m++]; - ed[nlocal] = buf[m++]; - em[nlocal] = buf[m++]; - epsilon[nlocal] = buf[m++]; - q_real[nlocal] = buf[m++]; - curvature[nlocal] = buf[m++]; - - num_bond[nlocal] = (int) ubuf(buf[m++]).i; - for (k = 0; k < num_bond[nlocal]; k++) { - bond_type[nlocal][k] = (int) ubuf(buf[m++]).i; - bond_atom[nlocal][k] = (tagint) ubuf(buf[m++]).i; - } - - num_angle[nlocal] = (int) ubuf(buf[m++]).i; - for (k = 0; k < num_angle[nlocal]; k++) { - angle_type[nlocal][k] = (int) ubuf(buf[m++]).i; - angle_atom1[nlocal][k] = (tagint) ubuf(buf[m++]).i; - angle_atom2[nlocal][k] = (tagint) ubuf(buf[m++]).i; - angle_atom3[nlocal][k] = (tagint) ubuf(buf[m++]).i; - } - - num_dihedral[nlocal] = (int) ubuf(buf[m++]).i; - for (k = 0; k < num_dihedral[nlocal]; k++) { - dihedral_type[nlocal][k] = (int) ubuf(buf[m++]).i; - dihedral_atom1[nlocal][k] = (tagint) ubuf(buf[m++]).i; - dihedral_atom2[nlocal][k] = (tagint) ubuf(buf[m++]).i; - dihedral_atom3[nlocal][k] = (tagint) ubuf(buf[m++]).i; - dihedral_atom4[nlocal][k] = (tagint) ubuf(buf[m++]).i; - } - - num_improper[nlocal] = (int) ubuf(buf[m++]).i; - for (k = 0; k < num_improper[nlocal]; k++) { - improper_type[nlocal][k] = (int) ubuf(buf[m++]).i; - improper_atom1[nlocal][k] = (tagint) ubuf(buf[m++]).i; - improper_atom2[nlocal][k] = (tagint) ubuf(buf[m++]).i; - improper_atom3[nlocal][k] = (tagint) ubuf(buf[m++]).i; - improper_atom4[nlocal][k] = (tagint) ubuf(buf[m++]).i; - } - - nspecial[nlocal][0] = nspecial[nlocal][1] = nspecial[nlocal][2] = 0; - - double **extra = atom->extra; - if (atom->nextra_store) { - int size = static_cast (buf[0]) - m; - for (int i = 0; i < size; i++) extra[nlocal][i] = buf[m++]; - } - - atom->nlocal++; - return m; -} - -/* ---------------------------------------------------------------------- - create one atom of itype at coord - set other values to defaults -------------------------------------------------------------------------- */ - -void AtomVecDielectric::create_atom(int itype, double *coord) -{ - int nlocal = atom->nlocal; - if (nlocal == nmax) grow(0); - - tag[nlocal] = 0; - type[nlocal] = itype; - x[nlocal][0] = coord[0]; - x[nlocal][1] = coord[1]; - x[nlocal][2] = coord[2]; - mask[nlocal] = 1; - image[nlocal] = ((imageint) IMGMAX << IMG2BITS) | - ((imageint) IMGMAX << IMGBITS) | IMGMAX; - v[nlocal][0] = 0.0; - v[nlocal][1] = 0.0; - v[nlocal][2] = 0.0; - - q[nlocal] = 0.0; - mu[nlocal][0] = 0.0; - mu[nlocal][1] = 0.0; - mu[nlocal][2] = 1.0; - mu[nlocal][3] = 1.0; - area[nlocal] = 1.0; - ed[nlocal] = 0.0; - em[nlocal] = 1.0; - epsilon[nlocal] = 1.0; - q_real[nlocal] = 0.0; - curvature[nlocal] = 0.0; - - molecule[nlocal] = 0; - num_bond[nlocal] = 0; - num_angle[nlocal] = 0; - num_dihedral[nlocal] = 0; - num_improper[nlocal] = 0; - nspecial[nlocal][0] = nspecial[nlocal][1] = nspecial[nlocal][2] = 0; - - atom->nlocal++; -} - -/* ---------------------------------------------------------------------- - unpack one line from Atoms section of data file - initialize other atom quantities -------------------------------------------------------------------------- */ - -void AtomVecDielectric::data_atom(double *coord, imageint imagetmp, char **values) -{ - int nlocal = atom->nlocal; - if (nlocal == nmax) grow(0); - - tag[nlocal] = ATOTAGINT(values[0]); - molecule[nlocal] = ATOTAGINT(values[1]); - type[nlocal] = atoi(values[2]); - if (type[nlocal] <= 0 || type[nlocal] > atom->ntypes) - error->one(FLERR,"Invalid atom type in Atoms section of data file"); - - q_real[nlocal] = atof(values[3]); - - x[nlocal][0] = coord[0]; - x[nlocal][1] = coord[1]; - x[nlocal][2] = coord[2]; - - mu[nlocal][0] = atof(values[7]); - mu[nlocal][1] = atof(values[8]); - mu[nlocal][2] = atof(values[9]); - mu[nlocal][3] = 1; - - area[nlocal] = atof(values[10]); - ed[nlocal] = atof(values[11]); - em[nlocal] = atof(values[12]); - epsilon[nlocal] = atof(values[13]); - curvature[nlocal] = atof(values[14]); - q[nlocal] = q_real[nlocal] / epsilon[nlocal]; - - image[nlocal] = imagetmp; - - mask[nlocal] = 1; - v[nlocal][0] = 0.0; - v[nlocal][1] = 0.0; - v[nlocal][2] = 0.0; - num_bond[nlocal] = 0; - num_angle[nlocal] = 0; - num_dihedral[nlocal] = 0; - num_improper[nlocal] = 0; - - atom->nlocal++; -} - -/* ---------------------------------------------------------------------- - unpack hybrid quantities from one line in Atoms section of data file - initialize other atom quantities for this sub-style -------------------------------------------------------------------------- */ - -int AtomVecDielectric::data_atom_hybrid(int nlocal, char **values) -{ - molecule[nlocal] = ATOTAGINT(values[0]); - q_real[nlocal] = atof(values[1]); - mu[nlocal][0] = atof(values[2]); - mu[nlocal][1] = atof(values[3]); - mu[nlocal][2] = atof(values[4]); - mu[nlocal][3] = 1; - area[nlocal] = atof(values[5]); - ed[nlocal] = atof(values[6]); - em[nlocal] = atof(values[7]); - epsilon[nlocal] = atof(values[8]); - curvature[nlocal] = atof(values[9]); - q[nlocal] = q_real[nlocal] / epsilon[nlocal]; - - num_bond[nlocal] = 0; - num_angle[nlocal] = 0; - num_dihedral[nlocal] = 0; - num_improper[nlocal] = 0; - - return 10; -} - -/* ---------------------------------------------------------------------- - pack atom info for data file including 3 image flags -------------------------------------------------------------------------- */ - -void AtomVecDielectric::pack_data(double **buf) -{ - int nlocal = atom->nlocal; - for (int i = 0; i < nlocal; i++) { - buf[i][0] = ubuf(tag[i]).d; - buf[i][1] = ubuf(molecule[i]).d; - buf[i][2] = ubuf(type[i]).d; - buf[i][3] = q[i]; - buf[i][4] = x[i][0]; - buf[i][5] = x[i][1]; - buf[i][6] = x[i][2]; - buf[i][7] = mu[i][0]; - buf[i][8] = mu[i][1]; - buf[i][9] = mu[i][2]; - buf[i][10] = area[i]; - buf[i][11] = ed[i]; - buf[i][12] = em[i]; - buf[i][13] = epsilon[i]; - buf[i][14] = curvature[i]; - buf[i][15] = ubuf((image[i] & IMGMASK) - IMGMAX).d; - buf[i][16] = ubuf((image[i] >> IMGBITS & IMGMASK) - IMGMAX).d; - buf[i][17] = ubuf((image[i] >> IMG2BITS) - IMGMAX).d; - } -} - -/* ---------------------------------------------------------------------- - pack hybrid atom info for data file -------------------------------------------------------------------------- */ - -int AtomVecDielectric::pack_data_hybrid(int i, double *buf) -{ - buf[0] = ubuf(molecule[i]).d; - buf[1] = q[i]; - buf[2] = mu[i][0]; - buf[3] = mu[i][1]; - buf[4] = mu[i][2]; - buf[5] = area[i]; - buf[6] = ed[i]; - buf[7] = em[i]; - buf[8] = epsilon[i]; - buf[9] = q_real[i]; - buf[10] = curvature[i]; - return 11; -} - -/* ---------------------------------------------------------------------- - write atom info to data file including 3 image flags -------------------------------------------------------------------------- */ - -void AtomVecDielectric::write_data(FILE *fp, int n, double **buf) -{ - for (int i = 0; i < n; i++) - fprintf(fp,TAGINT_FORMAT " " TAGINT_FORMAT -// " %d %-1.16e %-1.16e %-1.16e %-1.16e %-1.16e %-1.16e " -// "%-1.16e %-1.16e %-1.16e %-1.16e %-1.16e %-1.16e %-1.16e %d %d %d\n", - " %d %g %g %g %g %g %g " - "%g %g %g %g %g %g %d %d %d\n", - (tagint) ubuf(buf[i][0]).i,(tagint) ubuf(buf[i][1]).i, (int) ubuf(buf[i][2]).i, - buf[i][3],buf[i][4],buf[i][5], buf[i][6],buf[i][7],buf[i][8], - buf[i][9],buf[i][10],buf[i][11], buf[i][12], buf[i][13], buf[i][14], - (int) ubuf(buf[i][15]).i,(int) ubuf(buf[i][16]).i, - (int) ubuf(buf[i][17]).i); -} - -/* ---------------------------------------------------------------------- - write hybrid atom info to data file -------------------------------------------------------------------------- */ - -int AtomVecDielectric::write_data_hybrid(FILE *fp, double *buf) -{ - fprintf(fp, TAGINT_FORMAT - " %-1.16e %-1.16e %-1.16e %-1.16e %-1.16 %-1.16e %-1.16e %-1.16e %-1.16e %-1.16e", - buf[0],buf[1],buf[2],buf[3],buf[4],buf[5],buf[6],buf[7],buf[8], buf[9], buf[10]); - return 11; -} - -/* ---------------------------------------------------------------------- - return # of bytes of allocated memory -------------------------------------------------------------------------- */ - -bigint AtomVecDielectric::memory_usage() -{ - bigint bytes = AtomVecFull::memory_usage(); - - if (atom->memcheck("mu")) bytes += memory->usage(mu,nmax,4); - - if (atom->memcheck("area")) bytes += memory->usage(area,nmax); - if (atom->memcheck("ed")) bytes += memory->usage(ed,nmax); - if (atom->memcheck("em")) bytes += memory->usage(em,nmax); - if (atom->memcheck("epsilon")) bytes += memory->usage(epsilon,nmax); - if (atom->memcheck("q_real")) bytes += memory->usage(q_real,nmax); - if (atom->memcheck("curvature")) bytes += memory->usage(curvature,nmax); - - return bytes; -} diff --git a/src/USER-DIELECTRIC/atom_vec_dielectric.h b/src/USER-DIELECTRIC/atom_vec_dielectric.h index bb932daeb0..797e41f112 100644 --- a/src/USER-DIELECTRIC/atom_vec_dielectric.h +++ b/src/USER-DIELECTRIC/atom_vec_dielectric.h @@ -20,54 +20,24 @@ AtomStyle(dielectric,AtomVecDielectric) #ifndef LMP_ATOM_VEC_DIELECTRIC_H #define LMP_ATOM_VEC_DIELECTRIC_H -#include "atom_vec_full.h" +#include "atom_vec.h" namespace LAMMPS_NS { -class AtomVecDielectric : public AtomVecFull { +class AtomVecDielectric : public AtomVec { public: AtomVecDielectric(class LAMMPS *); - ~AtomVecDielectric(); - void grow(int); - void grow_reset(); - void copy(int, int, int); - int pack_comm(int, int *, double *, int, int *); - int pack_comm_vel(int, int *, double *, int, int *); - int pack_comm_hybrid(int, int *, double *); - void unpack_comm(int, int, double *); - void unpack_comm_vel(int, int, double *); - int unpack_comm_hybrid(int, int, double *); - int pack_reverse(int, int, double *); - void unpack_reverse(int, int *, double *); - int pack_border(int, int *, double *, int, int *); - int pack_border_vel(int, int *, double *, int, int *); - int pack_border_hybrid(int, int *, double *); - void unpack_border(int, int, double *); - void unpack_border_vel(int, int, double *); - int unpack_border_hybrid(int, int, double *); - int pack_exchange(int, double *); - int unpack_exchange(double *); - int size_restart(); - int pack_restart(int, double *); - int unpack_restart(double *); - void create_atom(int, double *); - void data_atom(double *, imageint, char **); - int data_atom_hybrid(int, char **); - void pack_data(double **); - int pack_data_hybrid(int, double *); - void write_data(FILE *, int, double **); - int write_data_hybrid(FILE *, double *); - bigint memory_usage(); + void grow_pointers(); + void create_atom_post(int); + void data_atom_post(int); + void pack_data_post(int); - public: - double **mu; // normal vector at the patch - double *area; // patch area - double *em; // mean dielectric constant at the patch - double *ed; // difference in dielectric constants at the patch - double *epsilon; // dielectric at the patch and real charges - double *curvature; // curvature at the patch - double *q_real; // unscaled charge: q_real = value read in from data file + double **mu; + double *area,*ed,*em,*epsilon,*curvature,*q_unscaled; + + private: + }; } diff --git a/src/USER-DIELECTRIC/fix_polarize_bem_icc.cpp b/src/USER-DIELECTRIC/fix_polarize_bem_icc.cpp index d606765a78..786ba5426a 100644 --- a/src/USER-DIELECTRIC/fix_polarize_bem_icc.cpp +++ b/src/USER-DIELECTRIC/fix_polarize_bem_icc.cpp @@ -21,21 +21,21 @@ Barros, Sinkovits, Luijten, J. Chem. Phys 2014, 140, 064903 ------------------------------------------------------------------------- */ -#include -#include #include "fix_polarize_bem_icc.h" -#include "atom_vec_dielectric.h" -#include "update.h" + #include "atom.h" +#include "atom_vec_dielectric.h" #include "comm.h" #include "domain.h" -#include "neighbor.h" +#include "error.h" #include "force.h" #include "group.h" #include "kspace.h" +#include "math_const.h" #include "memory.h" #include "modify.h" -#include "math_const.h" +#include "msm_dielectric.h" +#include "neighbor.h" #include "pair_coul_cut_dielectric.h" #include "pair_coul_long_dielectric.h" #include "pair_lj_cut_coul_cut_dielectric.h" @@ -45,7 +45,10 @@ #include "msm_dielectric.h" #include "random_park.h" #include "timer.h" -#include "error.h" +#include "update.h" + +#include +#include using namespace LAMMPS_NS; using namespace FixConst; @@ -65,9 +68,9 @@ FixPolarizeBEMICC::FixPolarizeBEMICC(LAMMPS *lmp, int narg, char **arg) : // parse required arguments - nevery = force->inumeric(FLERR,arg[3]); + nevery = utils::inumeric(FLERR,arg[3],false,lmp); if (nevery < 0) error->all(FLERR,"Illegal fix polarize/bem/icc command"); - double tol = force->numeric(FLERR,arg[4]); + double tol = utils::numeric(FLERR,arg[4],false,lmp); tol_abs = tol_rel = tol; itr_max = 20; @@ -214,12 +217,12 @@ void FixPolarizeBEMICC::pre_force(int) void FixPolarizeBEMICC::compute_induced_charges() { double *q = atom->q; - double *q_real = avec->q_real; - double **norm = avec->mu; - double *area = avec->area; - double *ed = avec->ed; - double *em = avec->em; - double *epsilon = avec->epsilon; + double *q_real = atom->q_unscaled; + double **norm = atom->mu; + double *area = atom->area; + double *ed = atom->ed; + double *em = atom->em; + double *epsilon = atom->epsilon; int *mask = atom->mask; int nlocal = atom->nlocal; double epsilon0 = force->dielectric; @@ -354,11 +357,11 @@ int FixPolarizeBEMICC::modify_param(int narg, char **arg) while (iarg < narg) { if (strcmp(arg[iarg],"itr_max") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix_modify command"); - itr_max = force->numeric(FLERR,arg[iarg+1]); + itr_max = utils::numeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"omega") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix_modify command"); - omega = force->numeric(FLERR,arg[iarg+1]); + omega = utils::numeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"kspace") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix_modify command"); @@ -371,12 +374,12 @@ int FixPolarizeBEMICC::modify_param(int narg, char **arg) double epsiloni=-1, areai=-1; double qreali=0; int set_charge=0; - double ediff = force->numeric(FLERR,arg[iarg+1]); - double emean = force->numeric(FLERR,arg[iarg+2]); - if (strcmp(arg[iarg+3],"NULL") != 0) epsiloni = force->numeric(FLERR,arg[iarg+3]); - if (strcmp(arg[iarg+4],"NULL") != 0) areai = force->numeric(FLERR,arg[iarg+4]); + double ediff = utils::numeric(FLERR,arg[iarg+1],false,lmp); + double emean = utils::numeric(FLERR,arg[iarg+2],false,lmp); + if (strcmp(arg[iarg+3],"NULL") != 0) epsiloni = utils::numeric(FLERR,arg[iarg+3],false,lmp); + if (strcmp(arg[iarg+4],"NULL") != 0) areai = utils::numeric(FLERR,arg[iarg+4],false,lmp); if (strcmp(arg[iarg+5],"NULL") != 0) { - qreali = force->numeric(FLERR,arg[iarg+5]); + qreali = utils::numeric(FLERR,arg[iarg+5],false,lmp); set_charge = 1; } set_dielectric_params(ediff, emean, epsiloni, areai, set_charge, qreali); @@ -384,8 +387,8 @@ int FixPolarizeBEMICC::modify_param(int narg, char **arg) iarg += 6; } else if (strcmp(arg[iarg],"rand") == 0) { if (iarg+3 > narg) error->all(FLERR,"Illegal fix_modify command"); - ave_charge = force->numeric(FLERR,arg[iarg+1]); - seed_charge = force->numeric(FLERR,arg[iarg+2]); + ave_charge = utils::numeric(FLERR,arg[iarg+1],false,lmp); + seed_charge = utils::numeric(FLERR,arg[iarg+2],false,lmp); randomized = 1; iarg += 3; } else error->all(FLERR,"Illegal fix_modify command"); @@ -419,11 +422,11 @@ void FixPolarizeBEMICC::unpack_forward_comm(int n, int first, double *buf) void FixPolarizeBEMICC::set_dielectric_params(double ediff, double emean, double epsiloni, double areai, int set_charge, double qreali) { - double *area = avec->area; - double *ed = avec->ed; - double *em = avec->em; - double *q_real = avec->q_real; - double *epsilon = avec->epsilon; + double *area = atom->area; + double *ed = atom->ed; + double *em = atom->em; + double *q_real = atom->q_unscaled; + double *epsilon = atom->epsilon; int *mask = atom->mask; int nlocal = atom->nlocal; diff --git a/src/USER-DIELECTRIC/msm_dielectric.cpp b/src/USER-DIELECTRIC/msm_dielectric.cpp index 89308e5be6..b6290405c1 100644 --- a/src/USER-DIELECTRIC/msm_dielectric.cpp +++ b/src/USER-DIELECTRIC/msm_dielectric.cpp @@ -15,24 +15,22 @@ Contributing authors: Trung Nguyen (Northwestern) ------------------------------------------------------------------------- */ -#include -#include -#include -#include -#include #include "msm_dielectric.h" + #include "atom.h" #include "atom_vec_dielectric.h" #include "comm.h" -#include "gridcomm.h" -#include "neighbor.h" -#include "force.h" -#include "pair.h" #include "domain.h" -#include "memory.h" #include "error.h" - +#include "force.h" +#include "gridcomm.h" #include "math_const.h" +#include "memory.h" +#include "neighbor.h" +#include "pair.h" + +#include +#include using namespace LAMMPS_NS; using namespace MathConst; @@ -86,7 +84,7 @@ void MSMDielectric::compute(int eflag, int vflag) if (scalar_pressure_flag && vflag_either) { if (vflag_atom) error->all(FLERR,"Must use 'kspace_modify pressure/scalar no' to obtain " - "per-atom virial with kspace_style MSMDielectric"); + "per-atom virial with kspace_style msm/dielectric"); // must switch on global energy computation if not already on @@ -109,16 +107,7 @@ void MSMDielectric::compute(int eflag, int vflag) // invoke allocate_peratom() if needed for first time - if (vflag_atom && !peratom_allocate_flag) { - allocate_peratom(); - cg_peratom_all->ghost_notify(); - cg_peratom_all->setup(); - for (int n=0; nghost_notify(); - cg_peratom[n]->setup(); - } - } + if (vflag_atom && !peratom_allocate_flag) allocate_peratom(); // convert atoms from box to lamda coords @@ -146,7 +135,8 @@ void MSMDielectric::compute(int eflag, int vflag) // to fully sum contribution in their 3d grid current_level = 0; - cg_all->reverse_comm(this,REVERSE_RHO); + gcall->reverse_comm_kspace(this,1,sizeof(double),REVERSE_RHO, + gcall_buf1,gcall_buf2,MPI_DOUBLE); // forward communicate charge density values to fill ghost grid points // compute direct sum interaction and then restrict to coarser grid @@ -154,23 +144,30 @@ void MSMDielectric::compute(int eflag, int vflag) for (int n=0; n<=levels-2; n++) { if (!active_flag[n]) continue; current_level = n; - cg[n]->forward_comm(this,FORWARD_RHO); - + gc[n]->forward_comm_kspace(this,1,sizeof(double),FORWARD_RHO, + gc_buf1[n],gc_buf2[n],MPI_DOUBLE); direct(n); restriction(n); } - // compute direct interation for top grid level for nonperiodic + // compute direct interation for top grid level for non-periodic // and for second from top grid level for periodic if (active_flag[levels-1]) { if (domain->nonperiodic) { current_level = levels-1; - cg[levels-1]->forward_comm(this,FORWARD_RHO); + gc[levels-1]-> + forward_comm_kspace(this,1,sizeof(double),FORWARD_RHO, + gc_buf1[levels-1],gc_buf2[levels-1],MPI_DOUBLE); direct_top(levels-1); - cg[levels-1]->reverse_comm(this,REVERSE_AD); + gc[levels-1]-> + reverse_comm_kspace(this,1,sizeof(double),REVERSE_AD, + gc_buf1[levels-1],gc_buf2[levels-1],MPI_DOUBLE); if (vflag_atom) - cg_peratom[levels-1]->reverse_comm(this,REVERSE_AD_PERATOM); + gc[levels-1]-> + reverse_comm_kspace(this,6,sizeof(double),REVERSE_AD_PERATOM, + gc_buf1[levels-1],gc_buf2[levels-1],MPI_DOUBLE); + } else { // Here using MPI_Allreduce is cheaper than using commgrid grid_swap_forward(levels-1,qgrid[levels-1]); @@ -178,7 +175,9 @@ void MSMDielectric::compute(int eflag, int vflag) grid_swap_reverse(levels-1,egrid[levels-1]); current_level = levels-1; if (vflag_atom) - cg_peratom[levels-1]->reverse_comm(this,REVERSE_AD_PERATOM); + gc[levels-1]-> + reverse_comm_kspace(this,6,sizeof(double),REVERSE_AD_PERATOM, + gc_buf1[levels-1],gc_buf2[levels-1],MPI_DOUBLE); } } @@ -190,24 +189,28 @@ void MSMDielectric::compute(int eflag, int vflag) prolongation(n); current_level = n; - cg[n]->reverse_comm(this,REVERSE_AD); + gc[n]->reverse_comm_kspace(this,1,sizeof(double),REVERSE_AD, + gc_buf1[n],gc_buf2[n],MPI_DOUBLE); // extra per-atom virial communication if (vflag_atom) - cg_peratom[n]->reverse_comm(this,REVERSE_AD_PERATOM); + gc[n]->reverse_comm_kspace(this,6,sizeof(double),REVERSE_AD_PERATOM, + gc_buf1[n],gc_buf2[n],MPI_DOUBLE); } // all procs communicate E-field values // to fill ghost cells surrounding their 3d bricks current_level = 0; - cg_all->forward_comm(this,FORWARD_AD); + gcall->forward_comm_kspace(this,1,sizeof(double),FORWARD_AD, + gcall_buf1,gcall_buf2,MPI_DOUBLE); // extra per-atom energy/virial communication if (vflag_atom) - cg_peratom_all->forward_comm(this,FORWARD_AD_PERATOM); + gcall->forward_comm_kspace(this,6,sizeof(double),FORWARD_AD_PERATOM, + gcall_buf1,gcall_buf2,MPI_DOUBLE); // calculate the force on my particles (interpolation) @@ -266,8 +269,7 @@ void MSMDielectric::compute(int eflag, int vflag) // convert atoms back from lamda to box coords - if (triclinic) - domain->lamda2x(atom->nlocal); + if (triclinic) domain->lamda2x(atom->nlocal); } /* ---------------------------------------------------------------------- @@ -276,8 +278,6 @@ void MSMDielectric::compute(int eflag, int vflag) void MSMDielectric::fieldforce() { - //fprintf(screen,"MSM interpolation\n\n"); - double ***egridn = egrid[0]; int i,l,m,n,nx,ny,nz,mx,my,mz; @@ -296,7 +296,7 @@ void MSMDielectric::fieldforce() double *q = atom->q; double **x = atom->x; double **f = atom->f; - double *eps = avec->epsilon; + double *eps = atom->epsilon; int nlocal = atom->nlocal; for (i = 0; i < nlocal; i++) { diff --git a/src/USER-DIELECTRIC/pair_coul_cut_dielectric.cpp b/src/USER-DIELECTRIC/pair_coul_cut_dielectric.cpp index 3d76d475c1..2cb411e68f 100644 --- a/src/USER-DIELECTRIC/pair_coul_cut_dielectric.cpp +++ b/src/USER-DIELECTRIC/pair_coul_cut_dielectric.cpp @@ -74,7 +74,7 @@ void PairCoulCutDielectric::compute(int eflag, int vflag) double **x = atom->x; double **f = atom->f; double *q = atom->q; - double *q_real = avec->q_real; + double *q_real = avec->q_unscaled; double* eps = avec->epsilon; double** norm = avec->mu; double* curvature = avec->curvature; @@ -128,7 +128,7 @@ void PairCoulCutDielectric::compute(int eflag, int vflag) if (rsq < cutsq[itype][jtype] && rsq > EPSILON) { r2inv = 1.0/rsq; rinv = sqrt(r2inv); - efield_i = qqrd2e * scale[itype][jtype] * q[j]*rinv; + efield_i = scale[itype][jtype] * q[j]*rinv; forcecoul = qtmp*efield_i; fpair_i = factor_coul*etmp*forcecoul*r2inv; @@ -175,3 +175,27 @@ void PairCoulCutDielectric::init_style() neighbor->requests[irequest]->full = 1; } +/* ---------------------------------------------------------------------- */ + +double PairCoulCutDielectric::single(int i, int j, int itype, int jtype, + double rsq, + double factor_coul, double factor_lj, + double &fforce) +{ + double r2inv,forcecoul,phicoul,ei,ej; + double* eps = avec->epsilon; + + r2inv = 1.0/rsq; + forcecoul = force->qqrd2e * atom->q[i]*atom->q[j]*sqrt(r2inv)*eps[i]; + + double eng = 0.0; + if (eps[i] == 1) ei = 0; + else ei = eps[i]; + if (eps[j] == 1) ej = 0; + else ej = eps[j]; + phicoul = force->qqrd2e * atom->q[i]*atom->q[j]*sqrt(r2inv); + phicoul *= 0.5*(ei+ej); + eng += factor_coul*phicoul; + + return eng; +} \ No newline at end of file diff --git a/src/USER-DIELECTRIC/pair_coul_cut_dielectric.h b/src/USER-DIELECTRIC/pair_coul_cut_dielectric.h index fee444536a..2abc6b906e 100644 --- a/src/USER-DIELECTRIC/pair_coul_cut_dielectric.h +++ b/src/USER-DIELECTRIC/pair_coul_cut_dielectric.h @@ -29,6 +29,7 @@ class PairCoulCutDielectric : public PairCoulCut { PairCoulCutDielectric(class LAMMPS *); virtual ~PairCoulCutDielectric(); virtual void compute(int, int); + virtual double single(int, int, int, int, double, double, double, double &); void init_style(); double** efield; diff --git a/src/USER-DIELECTRIC/pair_coul_long_dielectric.cpp b/src/USER-DIELECTRIC/pair_coul_long_dielectric.cpp index 6a87e39fe0..6b3a38e00f 100644 --- a/src/USER-DIELECTRIC/pair_coul_long_dielectric.cpp +++ b/src/USER-DIELECTRIC/pair_coul_long_dielectric.cpp @@ -15,25 +15,22 @@ Contributing author: Trung Nguyen (Northwestern) ------------------------------------------------------------------------- */ -#include -#include -#include -#include #include "pair_coul_long_dielectric.h" + #include "atom.h" #include "atom_vec_dielectric.h" #include "comm.h" +#include "error.h" #include "force.h" #include "kspace.h" #include "neighbor.h" #include "neigh_list.h" #include "neigh_request.h" -#include "update.h" -#include "integrate.h" -#include "respa.h" #include "math_const.h" #include "memory.h" -#include "error.h" + +#include +#include using namespace LAMMPS_NS; using namespace MathConst; @@ -87,10 +84,10 @@ void PairCoulLongDielectric::compute(int eflag, int vflag) double **x = atom->x; double **f = atom->f; double *q = atom->q; - double** norm = avec->mu; - double* curvature = avec->curvature; - double* area = avec->area; - double *eps = avec->epsilon; + double** norm = atom->mu; + double* curvature = atom->curvature; + double* area = atom->area; + double *eps = atom->epsilon; int *type = atom->type; int nlocal = atom->nlocal; double *special_coul = force->special_coul; diff --git a/src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric.cpp b/src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric.cpp index 51be72acaa..56bdd579d9 100644 --- a/src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric.cpp +++ b/src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric.cpp @@ -15,21 +15,21 @@ Contributing author: Trung Nguyen (Northwestern) ------------------------------------------------------------------------- */ -#include -#include -#include -#include #include "pair_lj_cut_coul_cut_dielectric.h" + #include "atom.h" #include "atom_vec_dielectric.h" #include "comm.h" +#include "error.h" #include "force.h" #include "neighbor.h" #include "neigh_list.h" #include "neigh_request.h" #include "math_const.h" #include "memory.h" -#include "error.h" + +#include +#include using namespace LAMMPS_NS; using namespace MathConst; @@ -78,11 +78,11 @@ void PairLJCutCoulCutDielectric::compute(int eflag, int vflag) double **x = atom->x; double **f = atom->f; double *q = atom->q; - double *q_real = avec->q_real; - double* eps = avec->epsilon; - double** norm = avec->mu; - double* curvature = avec->curvature; - double* area = avec->area; + double *q_real = atom->q_unscaled; + double* eps = atom->epsilon; + double** norm = atom->mu; + double* curvature = atom->curvature; + double* area = atom->area; int *type = atom->type; int nlocal = atom->nlocal; double *special_coul = force->special_coul; diff --git a/src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric.cpp b/src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric.cpp index 5af71e3d33..613defa2f6 100644 --- a/src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric.cpp +++ b/src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric.cpp @@ -15,25 +15,25 @@ Contributing author: Trung Nguyen (Northwestern) ------------------------------------------------------------------------- */ -#include -#include -#include -#include #include "pair_lj_cut_coul_long_dielectric.h" + #include "atom.h" #include "atom_vec_dielectric.h" #include "comm.h" +#include "error.h" #include "force.h" -#include "kspace.h" -#include "update.h" #include "integrate.h" -#include "respa.h" +#include "kspace.h" #include "neighbor.h" #include "neigh_list.h" #include "neigh_request.h" #include "math_const.h" #include "memory.h" -#include "error.h" +#include "respa.h" +#include "update.h" + +#include +#include using namespace LAMMPS_NS; using namespace MathConst; @@ -95,10 +95,10 @@ void PairLJCutCoulLongDielectric::compute(int eflag, int vflag) double **x = atom->x; double **f = atom->f; double *q = atom->q; - double *eps = avec->epsilon; - double** norm = avec->mu; - double* curvature = avec->curvature; - double* area = avec->area; + double *eps = atom->epsilon; + double** norm = atom->mu; + double* curvature = atom->curvature; + double* area = atom->area; int *type = atom->type; int nlocal = atom->nlocal; double *special_coul = force->special_coul; diff --git a/src/USER-DIELECTRIC/pair_lj_cut_coul_msm_dielectric.cpp b/src/USER-DIELECTRIC/pair_lj_cut_coul_msm_dielectric.cpp index 3aa55a1bce..c87c46ade6 100644 --- a/src/USER-DIELECTRIC/pair_lj_cut_coul_msm_dielectric.cpp +++ b/src/USER-DIELECTRIC/pair_lj_cut_coul_msm_dielectric.cpp @@ -15,25 +15,25 @@ Contributing author: Trung Nguyen (Northwestern) ------------------------------------------------------------------------- */ -#include -#include -#include -#include #include "pair_lj_cut_coul_msm_dielectric.h" + #include "atom.h" #include "atom_vec_dielectric.h" #include "comm.h" +#include "error.h" #include "force.h" #include "kspace.h" -#include "update.h" #include "integrate.h" -#include "respa.h" #include "neighbor.h" #include "neigh_list.h" #include "neigh_request.h" #include "math_const.h" #include "memory.h" -#include "error.h" +#include "respa.h" +#include "update.h" + +#include +#include using namespace LAMMPS_NS; using namespace MathConst; @@ -108,10 +108,10 @@ void PairLJCutCoulMSMDielectric::compute(int eflag, int vflag) double **x = atom->x; double **f = atom->f; double *q = atom->q; - double *eps = avec->epsilon; - double** norm = avec->mu; - double* curvature = avec->curvature; - double* area = avec->area; + double *eps = atom->epsilon; + double** norm = atom->mu; + double* curvature = atom->curvature; + double* area = atom->area; int *type = atom->type; int nlocal = atom->nlocal; double *special_coul = force->special_coul; diff --git a/src/USER-DIELECTRIC/pppm_dielectric.cpp b/src/USER-DIELECTRIC/pppm_dielectric.cpp index 084e0ab689..62779d79c4 100644 --- a/src/USER-DIELECTRIC/pppm_dielectric.cpp +++ b/src/USER-DIELECTRIC/pppm_dielectric.cpp @@ -13,30 +13,29 @@ /* ---------------------------------------------------------------------- Contributing authors: Trung Nguyen (Northwestern) - point-dipoles by Stan Moore (SNL) ------------------------------------------------------------------------- */ -#include -#include -#include -#include -#include #include "pppm_dielectric.h" + +#include "angle.h" #include "atom.h" #include "atom_vec_dielectric.h" +#include "bond.h" #include "comm.h" -#include "gridcomm.h" -#include "neighbor.h" -#include "force.h" -#include "pair.h" #include "domain.h" -#include "fft3d_wrap.h" -#include "remap_wrap.h" -#include "memory.h" #include "error.h" - +#include "fft3d_wrap.h" +#include "force.h" +#include "gridcomm.h" #include "math_const.h" #include "math_special.h" +#include "memory.h" +#include "neighbor.h" +#include "pair.h" +#include "remap_wrap.h" + +#include +#include using namespace LAMMPS_NS; using namespace MathConst; @@ -44,6 +43,9 @@ using namespace MathSpecial; #define SMALL 0.00001 +enum{REVERSE_RHO}; +enum{FORWARD_IK,FORWARD_AD,FORWARD_IK_PERATOM,FORWARD_AD_PERATOM}; + #ifdef FFT_SINGLE #define ZEROF 0.0f #define ONEF 1.0f @@ -52,23 +54,12 @@ using namespace MathSpecial; #define ONEF 1.0 #endif -enum{REVERSE_RHO,REVERSE_MU}; -enum{FORWARD_IK,FORWARD_MU,FORWARD_AD,FORWARD_IK_PERATOM,FORWARD_MU_PERATOM,FORWARD_AD_PERATOM}; - /* ---------------------------------------------------------------------- */ -PPPMDielectric::PPPMDielectric(LAMMPS *lmp) : PPPM(lmp), - cg_mu(NULL), densityx_brick_dipole(NULL), densityy_brick_dipole(NULL), densityz_brick_dipole(NULL), - u_brick_dipole(NULL), ux_brick_dipole(NULL), uy_brick_dipole(NULL), uz_brick_dipole(NULL), - vdxx_brick_dipole(NULL), vdxy_brick_dipole(NULL), vdyy_brick_dipole(NULL), vdxz_brick_dipole(NULL), - vdyz_brick_dipole(NULL), vdzz_brick_dipole(NULL), work3(NULL), work4(NULL), - densityx_fft_dipole(NULL), densityy_fft_dipole(NULL), densityz_fft_dipole(NULL) +PPPMDielectric::PPPMDielectric(LAMMPS *lmp) : PPPM(lmp) { - dipoleflag = 0; // turned off for now, until dipole works group_group_enable = 0; - mu_flag = 0; - efield = NULL; phi = NULL; potflag = 0; @@ -85,44 +76,6 @@ PPPMDielectric::~PPPMDielectric() memory->destroy(phi); } -/* ---------------------------------------------------------------------- - called once before run -------------------------------------------------------------------------- */ - -void PPPMDielectric::init() -{ - PPPM::init(); - - if (mu_flag) musum_musq(); - - if (mu_flag) { - cg_mu->ghost_notify(); - cg_mu->setup(); - } -} - -/* ---------------------------------------------------------------------- - reset local grid arrays and communication stencils - called by fix balance b/c it changed sizes of processor sub-domains -------------------------------------------------------------------------- */ - -void PPPMDielectric::setup_grid() -{ - PPPM::setup_grid(); - - if (mu_flag) { - cg_mu->ghost_notify(); - if (overlap_allowed == 0 && cg_mu->ghost_overlap()) - error->all(FLERR,"PPPMDielectric grid stencil extends " - "beyond nearest neighbor processor"); - cg_mu->setup(); - } - - // pre-compute volume-dependent coeffs - - PPPM::setup(); -} - /* ---------------------------------------------------------------------- compute the PPPMDielectric long-range force, energy, virial ------------------------------------------------------------------------- */ @@ -134,29 +87,20 @@ void PPPMDielectric::compute(int eflag, int vflag) // set energy/virial flags // invoke allocate_peratom() if needed for first time - if (eflag || vflag) ev_setup(eflag,vflag); - else evflag = evflag_atom = eflag_global = vflag_global = - eflag_atom = vflag_atom = 0; + ev_init(eflag,vflag); - if (potflag) evflag_atom = 1; - - if (evflag_atom && !peratom_allocate_flag) { - allocate_peratom(); - cg_peratom->ghost_notify(); - cg_peratom->setup(); - } + if (evflag_atom && !peratom_allocate_flag) allocate_peratom(); // if atom count has changed, update qsum and qsqsum if (atom->natoms != natoms_original) { qsum_qsq(); - musum_musq(); natoms_original = atom->natoms; } // return if there are no charges or dipoles - //if (qsqsum == 0.0 && musqsum == 0.0) return; + if (qsqsum == 0.0) return; // convert atoms from box to lamda coords @@ -184,21 +128,14 @@ void PPPMDielectric::compute(int eflag, int vflag) particle_map(); make_rho(); - if (mu_flag) - make_rho_dipole(); - // all procs communicate density values from their ghost cells // to fully sum contribution in their 3d bricks // remap from 3d decomposition to FFT decomposition - cg->reverse_comm(this,REVERSE_RHO); + gc->reverse_comm_kspace(this,1,sizeof(FFT_SCALAR),REVERSE_RHO, + gc_buf1,gc_buf2,MPI_FFT_SCALAR); brick2fft(); - if (mu_flag) { - cg_mu->reverse_comm(this,REVERSE_MU); - brick2fft_dipole(); - } - // compute potential gradient on my FFT grid and // portion of e_long on this proc's FFT grid // return gradients (electric fields) in 3d brick decomposition @@ -206,34 +143,31 @@ void PPPMDielectric::compute(int eflag, int vflag) poisson(); - if (mu_flag) - poisson_ik_dipole(); - // all procs communicate E-field values // to fill ghost cells surrounding their 3d bricks - if (differentiation_flag == 1) cg->forward_comm(this,FORWARD_AD); - else cg->forward_comm(this,FORWARD_IK); - - if (mu_flag) - cg_mu->forward_comm(this,FORWARD_MU); + if (differentiation_flag == 1) + gc->forward_comm_kspace(this,1,sizeof(FFT_SCALAR),FORWARD_AD, + gc_buf1,gc_buf2,MPI_FFT_SCALAR); + else + gc->forward_comm_kspace(this,3,sizeof(FFT_SCALAR),FORWARD_IK, + gc_buf1,gc_buf2,MPI_FFT_SCALAR); // extra per-atom energy/virial communication if (evflag_atom) { if (differentiation_flag == 1 && vflag_atom) - cg_peratom->forward_comm(this,FORWARD_AD_PERATOM); + gc->forward_comm_kspace(this,6,sizeof(FFT_SCALAR),FORWARD_AD_PERATOM, + gc_buf1,gc_buf2,MPI_FFT_SCALAR); else if (differentiation_flag == 0) - cg_peratom->forward_comm(this,FORWARD_IK_PERATOM); + gc->forward_comm_kspace(this,7,sizeof(FFT_SCALAR),FORWARD_IK_PERATOM, + gc_buf1,gc_buf2,MPI_FFT_SCALAR); } // calculate the force on my particles fieldforce(); - if (mu_flag) - fieldforce_ik_dipole(); - // extra per-atom energy/virial communication if (evflag_atom) fieldforce_peratom(); @@ -241,7 +175,6 @@ void PPPMDielectric::compute(int eflag, int vflag) // sum global energy across procs and add in volume-dependent term const double qscale = qqrd2e * scale; - const double g3 = g_ewald*g_ewald*g_ewald; if (eflag_global) { double energy_all; @@ -251,8 +184,6 @@ void PPPMDielectric::compute(int eflag, int vflag) energy *= 0.5*volume; energy -= g_ewald*qsqsum/MY_PIS + MY_PI2*qsum*qsum / (g_ewald*g_ewald*volume); - if (mu_flag) - energy -= musqsum*qqrd2e*2.0*g3/3.0/MY_PIS; energy *= qscale; } @@ -270,7 +201,6 @@ void PPPMDielectric::compute(int eflag, int vflag) if (evflag_atom) { double *q = atom->q; - double **mu = atom->mu; int nlocal = atom->nlocal; int ntotal = nlocal; if (tip4pflag) ntotal += atom->nghost; @@ -280,10 +210,6 @@ void PPPMDielectric::compute(int eflag, int vflag) eatom[i] *= 0.5; eatom[i] -= g_ewald*q[i]*q[i]/MY_PIS + MY_PI2*q[i]*qsum / (g_ewald*g_ewald*volume); - - if (mu_flag) - eatom[i] -= (mu[i][0]*mu[i][0] + mu[i][1]*mu[i][1] + mu[i][2]*mu[i][2])*qqrd2e*2.0*g3/3.0/MY_PIS; - eatom[i] *= qscale; } for (i = nlocal; i < ntotal; i++) eatom[i] *= 0.5*qscale; @@ -304,491 +230,6 @@ void PPPMDielectric::compute(int eflag, int vflag) if (triclinic) domain->lamda2x(atom->nlocal); } -/* ---------------------------------------------------------------------- - allocate memory that depends on # of K-vectors and order -------------------------------------------------------------------------- */ - -void PPPMDielectric::allocate() -{ - PPPM::allocate(); - - if (mu_flag) { - memory->create3d_offset(densityx_brick_dipole,nzlo_out,nzhi_out,nylo_out,nyhi_out, - nxlo_out,nxhi_out,"pppm:densityx_brick_dipole"); - memory->create3d_offset(densityy_brick_dipole,nzlo_out,nzhi_out,nylo_out,nyhi_out, - nxlo_out,nxhi_out,"pppm:densityy_brick_dipole"); - memory->create3d_offset(densityz_brick_dipole,nzlo_out,nzhi_out,nylo_out,nyhi_out, - nxlo_out,nxhi_out,"pppm:densityz_brick_dipole"); - - memory->create(densityx_fft_dipole,nfft_both,"pppm:densityy_fft_dipole"); - memory->create(densityy_fft_dipole,nfft_both,"pppm:densityy_fft_dipole"); - memory->create(densityz_fft_dipole,nfft_both,"pppm:densityz_fft_dipole"); - - memory->create(work3,2*nfft_both,"pppm:work3"); - memory->create(work4,2*nfft_both,"pppm:work4"); - - memory->create3d_offset(u_brick_dipole,nzlo_out,nzhi_out,nylo_out,nyhi_out, - nxlo_out,nxhi_out,"pppm:u_brick_dipole"); - - memory->create3d_offset(ux_brick_dipole,nzlo_out,nzhi_out,nylo_out,nyhi_out, - nxlo_out,nxhi_out,"pppm:ux_brick_dipole"); - memory->create3d_offset(uy_brick_dipole,nzlo_out,nzhi_out,nylo_out,nyhi_out, - nxlo_out,nxhi_out,"pppm:uy_brick_dipole"); - memory->create3d_offset(uz_brick_dipole,nzlo_out,nzhi_out,nylo_out,nyhi_out, - nxlo_out,nxhi_out,"pppm:uz_brick_dipole"); - - memory->create3d_offset(vdxx_brick_dipole,nzlo_out,nzhi_out,nylo_out,nyhi_out, - nxlo_out,nxhi_out,"pppm:vdxx_brick_dipole"); - memory->create3d_offset(vdxy_brick_dipole,nzlo_out,nzhi_out,nylo_out,nyhi_out, - nxlo_out,nxhi_out,"pppm:vdxy_brick_dipole"); - memory->create3d_offset(vdyy_brick_dipole,nzlo_out,nzhi_out,nylo_out,nyhi_out, - nxlo_out,nxhi_out,"pppm:vdyy_brick_dipole"); - memory->create3d_offset(vdxz_brick_dipole,nzlo_out,nzhi_out,nylo_out,nyhi_out, - nxlo_out,nxhi_out,"pppm:vdxz_brick_dipole"); - memory->create3d_offset(vdyz_brick_dipole,nzlo_out,nzhi_out,nylo_out,nyhi_out, - nxlo_out,nxhi_out,"pppm:vdyz_brick_dipole"); - memory->create3d_offset(vdzz_brick_dipole,nzlo_out,nzhi_out,nylo_out,nyhi_out, - nxlo_out,nxhi_out,"pppm:vdzz_brick_dipole"); - - int (*procneigh)[2] = comm->procneigh; - cg_mu = new GridComm(lmp,world,9,3, - nxlo_in,nxhi_in,nylo_in,nyhi_in,nzlo_in,nzhi_in, - nxlo_out,nxhi_out,nylo_out,nyhi_out,nzlo_out,nzhi_out, - procneigh[0][0],procneigh[0][1],procneigh[1][0], - procneigh[1][1],procneigh[2][0],procneigh[2][1]); - } -} - -/* ---------------------------------------------------------------------- - deallocate memory that depends on # of K-vectors and order -------------------------------------------------------------------------- */ - -void PPPMDielectric::deallocate() -{ - PPPM::deallocate(); - - if (mu_flag) { - memory->destroy3d_offset(densityx_brick_dipole,nzlo_out,nylo_out,nxlo_out); - memory->destroy3d_offset(densityy_brick_dipole,nzlo_out,nylo_out,nxlo_out); - memory->destroy3d_offset(densityz_brick_dipole,nzlo_out,nylo_out,nxlo_out); - - memory->destroy3d_offset(u_brick_dipole,nzlo_out,nylo_out,nxlo_out); - - memory->destroy3d_offset(ux_brick_dipole,nzlo_out,nylo_out,nxlo_out); - memory->destroy3d_offset(uy_brick_dipole,nzlo_out,nylo_out,nxlo_out); - memory->destroy3d_offset(uz_brick_dipole,nzlo_out,nylo_out,nxlo_out); - - memory->destroy3d_offset(vdxx_brick_dipole,nzlo_out,nylo_out,nxlo_out); - memory->destroy3d_offset(vdxy_brick_dipole,nzlo_out,nylo_out,nxlo_out); - memory->destroy3d_offset(vdyy_brick_dipole,nzlo_out,nylo_out,nxlo_out); - memory->destroy3d_offset(vdxz_brick_dipole,nzlo_out,nylo_out,nxlo_out); - memory->destroy3d_offset(vdyz_brick_dipole,nzlo_out,nylo_out,nxlo_out); - memory->destroy3d_offset(vdzz_brick_dipole,nzlo_out,nylo_out,nxlo_out); - - memory->destroy(densityx_fft_dipole); - memory->destroy(densityy_fft_dipole); - memory->destroy(densityz_fft_dipole); - - memory->destroy(work3); - memory->destroy(work4); - - delete cg_mu; - } -} - -/* ---------------------------------------------------------------------- - create discretized "density" on section of global grid due to my particles - density(x,y,z) = charge "density" at grid points of my 3d brick - (nxlo:nxhi,nylo:nyhi,nzlo:nzhi) is extent of my brick (including ghosts) - in global grid -------------------------------------------------------------------------- */ - -void PPPMDielectric::make_rho_dipole() -{ - int l,m,n,nx,ny,nz,mx,my,mz; - FFT_SCALAR dx,dy,dz; - FFT_SCALAR x0,y0,z0; - FFT_SCALAR x1,y1,z1; - FFT_SCALAR x2,y2,z2; - - // clear 3d density array - - memset(&(densityx_brick_dipole[nzlo_out][nylo_out][nxlo_out]),0, - ngrid*sizeof(FFT_SCALAR)); - memset(&(densityy_brick_dipole[nzlo_out][nylo_out][nxlo_out]),0, - ngrid*sizeof(FFT_SCALAR)); - memset(&(densityz_brick_dipole[nzlo_out][nylo_out][nxlo_out]),0, - ngrid*sizeof(FFT_SCALAR)); - - // loop over my charges, add their contribution to nearby grid points - // (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 - - double **mu = atom->mu; - double **x = atom->x; - int nlocal = atom->nlocal; - - for (int i = 0; i < nlocal; i++) { - - nx = part2grid[i][0]; - ny = part2grid[i][1]; - nz = part2grid[i][2]; - dx = nx+shiftone - (x[i][0]-boxlo[0])*delxinv; - dy = ny+shiftone - (x[i][1]-boxlo[1])*delyinv; - dz = nz+shiftone - (x[i][2]-boxlo[2])*delzinv; - - compute_rho1d(dx,dy,dz); - - z0 = delvolinv * mu[i][0]; - z1 = delvolinv * mu[i][1]; - z2 = delvolinv * mu[i][2]; - for (n = nlower; n <= nupper; n++) { - mz = n+nz; - y0 = z0*rho1d[2][n]; - y1 = z1*rho1d[2][n]; - y2 = z2*rho1d[2][n]; - for (m = nlower; m <= nupper; m++) { - my = m+ny; - x0 = y0*rho1d[1][m]; - x1 = y1*rho1d[1][m]; - x2 = y2*rho1d[1][m]; - for (l = nlower; l <= nupper; l++) { - mx = l+nx; - densityx_brick_dipole[mz][my][mx] += x0*rho1d[0][l]; - densityy_brick_dipole[mz][my][mx] += x1*rho1d[0][l]; - densityz_brick_dipole[mz][my][mx] += x2*rho1d[0][l]; - } - } - } - } -} - -/* ---------------------------------------------------------------------- - remap density from 3d brick decomposition to FFT decomposition -------------------------------------------------------------------------- */ - -void PPPMDielectric::brick2fft_dipole() -{ - int n,ix,iy,iz; - - // copy grabs inner portion of density from 3d brick - // remap could be done as pre-stage of FFT, - // but this works optimally on only double values, not complex values - - n = 0; - for (iz = nzlo_in; iz <= nzhi_in; iz++) - for (iy = nylo_in; iy <= nyhi_in; iy++) - for (ix = nxlo_in; ix <= nxhi_in; ix++) { - densityx_fft_dipole[n] = densityx_brick_dipole[iz][iy][ix]; - densityy_fft_dipole[n] = densityy_brick_dipole[iz][iy][ix]; - densityz_fft_dipole[n] = densityz_brick_dipole[iz][iy][ix]; - n++; - } - - remap->perform(densityx_fft_dipole,densityx_fft_dipole,work1); - remap->perform(densityy_fft_dipole,densityy_fft_dipole,work1); - remap->perform(densityz_fft_dipole,densityz_fft_dipole,work1); -} - -/* ---------------------------------------------------------------------- - FFT-based Poisson solver for ik -------------------------------------------------------------------------- */ - -void PPPMDielectric::poisson_ik_dipole() -{ - int i,j,k,n,ii; - double eng; - double wreal,wimg; - - // transform dipole density (r -> k) - - n = 0; - for (i = 0; i < nfft; i++) { - work1[n] = densityx_fft_dipole[i]; - work1[n+1] = ZEROF; - work2[n] = densityy_fft_dipole[i]; - work2[n+1] = ZEROF; - work3[n] = densityz_fft_dipole[i]; - work3[n+1] = ZEROF; - n += 2; - } - - fft1->compute(work1,work1,1); - fft1->compute(work2,work2,1); - fft1->compute(work3,work3,1); - - // global energy and virial contribution - - double scaleinv = 1.0/(nx_pppm*ny_pppm*nz_pppm); - double s2 = scaleinv*scaleinv; - - if (eflag_global || vflag_global) { - if (vflag_global) { - n = 0; - ii = 0; - for (k = nzlo_fft; k <= nzhi_fft; k++) - for (j = nylo_fft; j <= nyhi_fft; j++) - for (i = nxlo_fft; i <= nxhi_fft; i++) { - wreal = (work1[n]*fkx[i] + work2[n]*fky[j] + work3[n]*fkz[k]); - wimg = (work1[n+1]*fkx[i] + work2[n+1]*fky[j] + work3[n+1]*fkz[k]); - eng = s2 * greensfn[ii] * (wreal*wreal + wimg*wimg); - //eng = s2 * greensfn[ii] * (wreal+wimg)*(wreal+wimg); - for (int jj = 0; jj < 6; jj++) virial[jj] += eng*vg[ii][jj]; - if (eflag_global) energy += eng; - ii++; - n += 2; - } - } else { - n = 0; - ii = 0; - for (k = nzlo_fft; k <= nzhi_fft; k++) - for (j = nylo_fft; j <= nyhi_fft; j++) - for (i = nxlo_fft; i <= nxhi_fft; i++) { - wreal = (work1[n]*fkx[i] + work2[n]*fky[j] + work3[n]*fkz[k]); - wimg = (work1[n+1]*fkx[i] + work2[n+1]*fky[j] + work3[n+1]*fkz[k]); - energy += - //s2 * greensfn[ii] * (wreal+wimg)*(wreal+wimg); - s2 * greensfn[ii] * (wreal*wreal + wimg*wimg); - ii++; - n += 2; - } - } - } - - // scale by 1/total-grid-pts to get rho(k) - // multiply by Green's function to get V(k) - - n = 0; - for (i = 0; i < nfft; i++) { - work1[n] *= scaleinv * greensfn[i]; - work1[n+1] *= scaleinv * greensfn[i]; - work2[n] *= scaleinv * greensfn[i]; - work2[n+1] *= scaleinv * greensfn[i]; - work3[n] *= scaleinv * greensfn[i]; - work3[n+1] *= scaleinv * greensfn[i]; - n += 2; - } - - // triclinic system - - /*if (triclinic) { - poisson_ik_triclinic(); - return; - }*/ - - // compute electric potential - // FFT leaves data in 3d brick decomposition - - n = 0; - for (k = nzlo_fft; k <= nzhi_fft; k++) - for (j = nylo_fft; j <= nyhi_fft; j++) - for (i = nxlo_fft; i <= nxhi_fft; i++) { - work4[n] = work1[n]*fkx[i] + work2[n]*fky[j] + work3[n]*fkz[k]; - work4[n+1] = work1[n+1]*fkx[i] + work2[n+1]*fky[j] + work3[n+1]*fkz[k]; - n += 2; - } - - fft2->compute(work4,work4,-1); - - n = 0; - for (k = nzlo_in; k <= nzhi_in; k++) - for (j = nylo_in; j <= nyhi_in; j++) - for (i = nxlo_in; i <= nxhi_in; i++) { - u_brick_dipole[k][j][i] = work4[n]; - n += 2; - } - - // Ex - - n = 0; - for (k = nzlo_fft; k <= nzhi_fft; k++) - for (j = nylo_fft; j <= nyhi_fft; j++) - for (i = nxlo_fft; i <= nxhi_fft; i++) { - work4[n] = fkx[i]*(work1[n]*fkx[i] + work2[n]*fky[j] + work3[n]*fkz[k]); - work4[n+1] = fkx[i]*(work1[n+1]*fkx[i] + work2[n+1]*fky[j] + work3[n+1]*fkz[k]); - n += 2; - } - - fft2->compute(work4,work4,-1); - - n = 0; - for (k = nzlo_in; k <= nzhi_in; k++) - for (j = nylo_in; j <= nyhi_in; j++) - for (i = nxlo_in; i <= nxhi_in; i++) { - ux_brick_dipole[k][j][i] = work4[n]; - n += 2; - } - - // Ey - - n = 0; - for (k = nzlo_fft; k <= nzhi_fft; k++) - for (j = nylo_fft; j <= nyhi_fft; j++) - for (i = nxlo_fft; i <= nxhi_fft; i++) { - work4[n] = fky[j]*(work1[n]*fkx[i] + work2[n]*fky[j] + work3[n]*fkz[k]); - work4[n+1] = fky[j]*(work1[n+1]*fkx[i] + work2[n+1]*fky[j] + work3[n+1]*fkz[k]); - n += 2; - } - - fft2->compute(work4,work4,-1); - - n = 0; - for (k = nzlo_in; k <= nzhi_in; k++) - for (j = nylo_in; j <= nyhi_in; j++) - for (i = nxlo_in; i <= nxhi_in; i++) { - uy_brick_dipole[k][j][i] = work4[n]; - n += 2; - } - - // Ez - - n = 0; - for (k = nzlo_fft; k <= nzhi_fft; k++) - for (j = nylo_fft; j <= nyhi_fft; j++) - for (i = nxlo_fft; i <= nxhi_fft; i++) { - work4[n] = fkz[k]*(work1[n]*fkx[i] + work2[n]*fky[j] + work3[n]*fkz[k]); - work4[n+1] = fkz[k]*(work1[n+1]*fkx[i] + work2[n+1]*fky[j] + work3[n+1]*fkz[k]); - n += 2; - } - - fft2->compute(work4,work4,-1); - - n = 0; - for (k = nzlo_in; k <= nzhi_in; k++) - for (j = nylo_in; j <= nyhi_in; j++) - for (i = nxlo_in; i <= nxhi_in; i++) { - uz_brick_dipole[k][j][i] = work4[n]; - n += 2; - } - - // Vxx - - n = 0; - for (k = nzlo_fft; k <= nzhi_fft; k++) - for (j = nylo_fft; j <= nyhi_fft; j++) - for (i = nxlo_fft; i <= nxhi_fft; i++) { - work4[n] = fkx[i]*fkx[i]*(work1[n+1]*fkx[i] + work2[n+1]*fky[j] + work3[n+1]*fkz[k]); - work4[n+1] = -fkx[i]*fkx[i]*(work1[n]*fkx[i] + work2[n]*fky[j] + work3[n]*fkz[k]); - n += 2; - } - - fft2->compute(work4,work4,-1); - - n = 0; - for (k = nzlo_in; k <= nzhi_in; k++) - for (j = nylo_in; j <= nyhi_in; j++) - for (i = nxlo_in; i <= nxhi_in; i++) { - vdxx_brick_dipole[k][j][i] = work4[n]; - n += 2; - } - - // Vyy - - n = 0; - for (k = nzlo_fft; k <= nzhi_fft; k++) - for (j = nylo_fft; j <= nyhi_fft; j++) - for (i = nxlo_fft; i <= nxhi_fft; i++) { - work4[n] = fky[j]*fky[j]*(work1[n+1]*fkx[i] + work2[n+1]*fky[j] + work3[n+1]*fkz[k]); - work4[n+1] = -fky[j]*fky[j]*(work1[n]*fkx[i] + work2[n]*fky[j] + work3[n]*fkz[k]); - n += 2; - } - - fft2->compute(work4,work4,-1); - - n = 0; - for (k = nzlo_in; k <= nzhi_in; k++) - for (j = nylo_in; j <= nyhi_in; j++) - for (i = nxlo_in; i <= nxhi_in; i++) { - vdyy_brick_dipole[k][j][i] = work4[n]; - n += 2; - } - - // Vzz - - n = 0; - for (k = nzlo_fft; k <= nzhi_fft; k++) - for (j = nylo_fft; j <= nyhi_fft; j++) - for (i = nxlo_fft; i <= nxhi_fft; i++) { - work4[n] = fkz[k]*fkz[k]*(work1[n+1]*fkx[i] + work2[n+1]*fky[j] + work3[n+1]*fkz[k]); - work4[n+1] = -fkz[k]*fkz[k]*(work1[n]*fkx[i] + work2[n]*fky[j] + work3[n]*fkz[k]); - n += 2; - } - - fft2->compute(work4,work4,-1); - - n = 0; - for (k = nzlo_in; k <= nzhi_in; k++) - for (j = nylo_in; j <= nyhi_in; j++) - for (i = nxlo_in; i <= nxhi_in; i++) { - vdzz_brick_dipole[k][j][i] = work4[n]; - n += 2; - } - - // Vxy - - n = 0; - for (k = nzlo_fft; k <= nzhi_fft; k++) - for (j = nylo_fft; j <= nyhi_fft; j++) - for (i = nxlo_fft; i <= nxhi_fft; i++) { - work4[n] = fkx[i]*fky[j]*(work1[n+1]*fkx[i] + work2[n+1]*fky[j] + work3[n+1]*fkz[k]); - work4[n+1] = -fkx[i]*fky[j]*(work1[n]*fkx[i] + work2[n]*fky[j] + work3[n]*fkz[k]); - n += 2; - } - - fft2->compute(work4,work4,-1); - - n = 0; - for (k = nzlo_in; k <= nzhi_in; k++) - for (j = nylo_in; j <= nyhi_in; j++) - for (i = nxlo_in; i <= nxhi_in; i++) { - vdxy_brick_dipole[k][j][i] = work4[n]; - n += 2; - } - - // Vxz - - n = 0; - for (k = nzlo_fft; k <= nzhi_fft; k++) - for (j = nylo_fft; j <= nyhi_fft; j++) - for (i = nxlo_fft; i <= nxhi_fft; i++) { - work4[n] = fkx[i]*fkz[k]*(work1[n+1]*fkx[i] + work2[n+1]*fky[j] + work3[n+1]*fkz[k]); - work4[n+1] = -fkx[i]*fkz[k]*(work1[n]*fkx[i] + work2[n]*fky[j] + work3[n]*fkz[k]); - n += 2; - } - - fft2->compute(work4,work4,-1); - - n = 0; - for (k = nzlo_in; k <= nzhi_in; k++) - for (j = nylo_in; j <= nyhi_in; j++) - for (i = nxlo_in; i <= nxhi_in; i++) { - vdxz_brick_dipole[k][j][i] = work4[n]; - n += 2; - } - - // Vyz - - n = 0; - for (k = nzlo_fft; k <= nzhi_fft; k++) - for (j = nylo_fft; j <= nyhi_fft; j++) - for (i = nxlo_fft; i <= nxhi_fft; i++) { - work4[n] = fky[j]*fkz[k]*(work1[n+1]*fkx[i] + work2[n+1]*fky[j] + work3[n+1]*fkz[k]); - work4[n+1] = -fky[j]*fkz[k]*(work1[n]*fkx[i] + work2[n]*fky[j] + work3[n]*fkz[k]); - n += 2; - } - - fft2->compute(work4,work4,-1); - - n = 0; - for (k = nzlo_in; k <= nzhi_in; k++) - for (j = nylo_in; j <= nyhi_in; j++) - for (i = nxlo_in; i <= nxhi_in; i++) { - vdyz_brick_dipole[k][j][i] = work4[n]; - n += 2; - } -} - /* ---------------------------------------------------------------------- interpolate from grid to get electric field & force on my particles for ik ------------------------------------------------------------------------- */ @@ -808,7 +249,7 @@ void PPPMDielectric::fieldforce_ik() double *q = atom->q; double **x = atom->x; double **f = atom->f; - double *eps = avec->epsilon; + double *eps = atom->epsilon; int nlocal = atom->nlocal; for (i = 0; i < nlocal; i++) { @@ -849,91 +290,13 @@ void PPPMDielectric::fieldforce_ik() efield[i][1] = efactor*eky; efield[i][2] = efactor*ekz; - const double qfactor = qqrd2e * scale * q[i] * eps[i]; + const double qfactor = qqrd2e * efactor * q[i]; f[i][0] += qfactor*ekx; f[i][1] += qfactor*eky; if (slabflag != 2) f[i][2] += qfactor*ekz; } } - -/* ---------------------------------------------------------------------- - interpolate from grid to get electric field & force on my particles for ik -------------------------------------------------------------------------- */ - -void PPPMDielectric::fieldforce_ik_dipole() -{ - int i,l,m,n,nx,ny,nz,mx,my,mz; - FFT_SCALAR dx,dy,dz,u; - FFT_SCALAR x0,y0,z0; - FFT_SCALAR ex,ey,ez; - FFT_SCALAR vxx,vyy,vzz,vxy,vxz,vyz; - - // loop over my charges, interpolate electric field from nearby grid points - // (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 - - - double **mu = atom->mu; - double **x = atom->x; - double **f = atom->f; - double **t = atom->torque; - - int nlocal = atom->nlocal; - - for (i = 0; i < nlocal; i++) { - nx = part2grid[i][0]; - ny = part2grid[i][1]; - nz = part2grid[i][2]; - dx = nx+shiftone - (x[i][0]-boxlo[0])*delxinv; - dy = ny+shiftone - (x[i][1]-boxlo[1])*delyinv; - dz = nz+shiftone - (x[i][2]-boxlo[2])*delzinv; - - compute_rho1d(dx,dy,dz); - - u = ex = ey = ez = ZEROF; - vxx = vyy = vzz = vxy = vxz = vyz = ZEROF; - for (n = nlower; n <= nupper; n++) { - mz = n+nz; - z0 = rho1d[2][n]; - for (m = nlower; m <= nupper; m++) { - my = m+ny; - y0 = z0*rho1d[1][m]; - for (l = nlower; l <= nupper; l++) { - mx = l+nx; - x0 = y0*rho1d[0][l]; - u += x0*u_brick_dipole[mz][my][mx]; - ex -= x0*ux_brick_dipole[mz][my][mx]; - ey -= x0*uy_brick_dipole[mz][my][mx]; - ez -= x0*uz_brick_dipole[mz][my][mx]; - vxx -= x0*vdxx_brick_dipole[mz][my][mx]; - vyy -= x0*vdyy_brick_dipole[mz][my][mx]; - vzz -= x0*vdzz_brick_dipole[mz][my][mx]; - vxy -= x0*vdxy_brick_dipole[mz][my][mx]; - vxz -= x0*vdxz_brick_dipole[mz][my][mx]; - vyz -= x0*vdyz_brick_dipole[mz][my][mx]; - } - } - } - - // electrical potential due to dipoles - - if (potflag) phi[i] = u; - - // convert E-field to torque - - const double mufactor = qqrd2e * scale; - f[i][0] += mufactor*(vxx*mu[i][0] + vxy*mu[i][1] + vxz*mu[i][2]); - f[i][1] += mufactor*(vxy*mu[i][0] + vyy*mu[i][1] + vyz*mu[i][2]); - f[i][2] += mufactor*(vxz*mu[i][0] + vyz*mu[i][1] + vzz*mu[i][2]); - - t[i][0] += mufactor*(mu[i][1]*ez - mu[i][2]*ey); - t[i][1] += mufactor*(mu[i][2]*ex - mu[i][0]*ez); - t[i][2] += mufactor*(mu[i][0]*ey - mu[i][1]*ex); - } -} - /* ---------------------------------------------------------------------- interpolate from grid to get electric field & force on my particles for ad ------------------------------------------------------------------------- */ @@ -966,7 +329,7 @@ void PPPMDielectric::fieldforce_ad() double *q = atom->q; double **x = atom->x; double **f = atom->f; - double *eps = avec->epsilon; + double *eps = atom->epsilon; int nlocal = atom->nlocal; for (i = 0; i < nlocal; i++) { @@ -1036,210 +399,6 @@ void PPPMDielectric::fieldforce_ad() } } -/* ---------------------------------------------------------------------- - pack own values to buf to send to another proc -------------------------------------------------------------------------- */ - -void PPPMDielectric::pack_forward(int flag, FFT_SCALAR *buf, int nlist, int *list) -{ - int n = 0; - - if (flag == FORWARD_IK) { - FFT_SCALAR *xsrc = &vdx_brick[nzlo_out][nylo_out][nxlo_out]; - FFT_SCALAR *ysrc = &vdy_brick[nzlo_out][nylo_out][nxlo_out]; - FFT_SCALAR *zsrc = &vdz_brick[nzlo_out][nylo_out][nxlo_out]; - for (int i = 0; i < nlist; i++) { - buf[n++] = xsrc[list[i]]; - buf[n++] = ysrc[list[i]]; - buf[n++] = zsrc[list[i]]; - } - } else if (flag == FORWARD_MU) { - FFT_SCALAR *src_ux = &ux_brick_dipole[nzlo_out][nylo_out][nxlo_out]; - FFT_SCALAR *src_uy = &uy_brick_dipole[nzlo_out][nylo_out][nxlo_out]; - FFT_SCALAR *src_uz = &uz_brick_dipole[nzlo_out][nylo_out][nxlo_out]; - FFT_SCALAR *src_vxx = &vdxx_brick_dipole[nzlo_out][nylo_out][nxlo_out]; - FFT_SCALAR *src_vyy = &vdyy_brick_dipole[nzlo_out][nylo_out][nxlo_out]; - FFT_SCALAR *src_vzz = &vdzz_brick_dipole[nzlo_out][nylo_out][nxlo_out]; - FFT_SCALAR *src_vxy = &vdxy_brick_dipole[nzlo_out][nylo_out][nxlo_out]; - FFT_SCALAR *src_vxz = &vdxz_brick_dipole[nzlo_out][nylo_out][nxlo_out]; - FFT_SCALAR *src_vyz = &vdyz_brick_dipole[nzlo_out][nylo_out][nxlo_out]; - for (int i = 0; i < nlist; i++) { - buf[n++] = src_ux[list[i]]; - buf[n++] = src_uy[list[i]]; - buf[n++] = src_uz[list[i]]; - buf[n++] = src_vxx[list[i]]; - buf[n++] = src_vyy[list[i]]; - buf[n++] = src_vzz[list[i]]; - buf[n++] = src_vxy[list[i]]; - buf[n++] = src_vxz[list[i]]; - buf[n++] = src_vyz[list[i]]; - } - } else if (flag == FORWARD_AD) { - FFT_SCALAR *src = &u_brick[nzlo_out][nylo_out][nxlo_out]; - for (int i = 0; i < nlist; i++) - buf[i] = src[list[i]]; - } else if (flag == FORWARD_IK_PERATOM) { - FFT_SCALAR *esrc = &u_brick[nzlo_out][nylo_out][nxlo_out]; - FFT_SCALAR *v0src = &v0_brick[nzlo_out][nylo_out][nxlo_out]; - FFT_SCALAR *v1src = &v1_brick[nzlo_out][nylo_out][nxlo_out]; - FFT_SCALAR *v2src = &v2_brick[nzlo_out][nylo_out][nxlo_out]; - FFT_SCALAR *v3src = &v3_brick[nzlo_out][nylo_out][nxlo_out]; - FFT_SCALAR *v4src = &v4_brick[nzlo_out][nylo_out][nxlo_out]; - FFT_SCALAR *v5src = &v5_brick[nzlo_out][nylo_out][nxlo_out]; - for (int i = 0; i < nlist; i++) { - if (eflag_atom) buf[n++] = esrc[list[i]]; - if (vflag_atom) { - buf[n++] = v0src[list[i]]; - buf[n++] = v1src[list[i]]; - buf[n++] = v2src[list[i]]; - buf[n++] = v3src[list[i]]; - buf[n++] = v4src[list[i]]; - buf[n++] = v5src[list[i]]; - } - } - } else if (flag == FORWARD_AD_PERATOM) { - FFT_SCALAR *v0src = &v0_brick[nzlo_out][nylo_out][nxlo_out]; - FFT_SCALAR *v1src = &v1_brick[nzlo_out][nylo_out][nxlo_out]; - FFT_SCALAR *v2src = &v2_brick[nzlo_out][nylo_out][nxlo_out]; - FFT_SCALAR *v3src = &v3_brick[nzlo_out][nylo_out][nxlo_out]; - FFT_SCALAR *v4src = &v4_brick[nzlo_out][nylo_out][nxlo_out]; - FFT_SCALAR *v5src = &v5_brick[nzlo_out][nylo_out][nxlo_out]; - for (int i = 0; i < nlist; i++) { - buf[n++] = v0src[list[i]]; - buf[n++] = v1src[list[i]]; - buf[n++] = v2src[list[i]]; - buf[n++] = v3src[list[i]]; - buf[n++] = v4src[list[i]]; - buf[n++] = v5src[list[i]]; - } - } -} - -/* ---------------------------------------------------------------------- - unpack another proc's own values from buf and set own ghost values -------------------------------------------------------------------------- */ - -void PPPMDielectric::unpack_forward(int flag, FFT_SCALAR *buf, int nlist, int *list) -{ - int n = 0; - - if (flag == FORWARD_IK) { - FFT_SCALAR *xdest = &vdx_brick[nzlo_out][nylo_out][nxlo_out]; - FFT_SCALAR *ydest = &vdy_brick[nzlo_out][nylo_out][nxlo_out]; - FFT_SCALAR *zdest = &vdz_brick[nzlo_out][nylo_out][nxlo_out]; - for (int i = 0; i < nlist; i++) { - xdest[list[i]] = buf[n++]; - ydest[list[i]] = buf[n++]; - zdest[list[i]] = buf[n++]; - } - } else if (flag == FORWARD_MU) { - FFT_SCALAR *dest_ux = &ux_brick_dipole[nzlo_out][nylo_out][nxlo_out]; - FFT_SCALAR *dest_uy = &uy_brick_dipole[nzlo_out][nylo_out][nxlo_out]; - FFT_SCALAR *dest_uz = &uz_brick_dipole[nzlo_out][nylo_out][nxlo_out]; - FFT_SCALAR *dest_vxx = &vdxx_brick_dipole[nzlo_out][nylo_out][nxlo_out]; - FFT_SCALAR *dest_vyy = &vdyy_brick_dipole[nzlo_out][nylo_out][nxlo_out]; - FFT_SCALAR *dest_vzz = &vdzz_brick_dipole[nzlo_out][nylo_out][nxlo_out]; - FFT_SCALAR *dest_vxy = &vdxy_brick_dipole[nzlo_out][nylo_out][nxlo_out]; - FFT_SCALAR *dest_vxz = &vdxz_brick_dipole[nzlo_out][nylo_out][nxlo_out]; - FFT_SCALAR *dest_vyz = &vdyz_brick_dipole[nzlo_out][nylo_out][nxlo_out]; - for (int i = 0; i < nlist; i++) { - dest_ux[list[i]] = buf[n++]; - dest_uy[list[i]] = buf[n++]; - dest_uz[list[i]] = buf[n++]; - dest_vxx[list[i]] = buf[n++]; - dest_vyy[list[i]] = buf[n++]; - dest_vzz[list[i]] = buf[n++]; - dest_vxy[list[i]] = buf[n++]; - dest_vxz[list[i]] = buf[n++]; - dest_vyz[list[i]] = buf[n++]; - } - } else if (flag == FORWARD_AD) { - FFT_SCALAR *dest = &u_brick[nzlo_out][nylo_out][nxlo_out]; - for (int i = 0; i < nlist; i++) - dest[list[i]] = buf[i]; - } else if (flag == FORWARD_IK_PERATOM) { - FFT_SCALAR *esrc = &u_brick[nzlo_out][nylo_out][nxlo_out]; - FFT_SCALAR *v0src = &v0_brick[nzlo_out][nylo_out][nxlo_out]; - FFT_SCALAR *v1src = &v1_brick[nzlo_out][nylo_out][nxlo_out]; - FFT_SCALAR *v2src = &v2_brick[nzlo_out][nylo_out][nxlo_out]; - FFT_SCALAR *v3src = &v3_brick[nzlo_out][nylo_out][nxlo_out]; - FFT_SCALAR *v4src = &v4_brick[nzlo_out][nylo_out][nxlo_out]; - FFT_SCALAR *v5src = &v5_brick[nzlo_out][nylo_out][nxlo_out]; - for (int i = 0; i < nlist; i++) { - if (eflag_atom) esrc[list[i]] = buf[n++]; - if (vflag_atom) { - v0src[list[i]] = buf[n++]; - v1src[list[i]] = buf[n++]; - v2src[list[i]] = buf[n++]; - v3src[list[i]] = buf[n++]; - v4src[list[i]] = buf[n++]; - v5src[list[i]] = buf[n++]; - } - } - } else if (flag == FORWARD_AD_PERATOM) { - FFT_SCALAR *v0src = &v0_brick[nzlo_out][nylo_out][nxlo_out]; - FFT_SCALAR *v1src = &v1_brick[nzlo_out][nylo_out][nxlo_out]; - FFT_SCALAR *v2src = &v2_brick[nzlo_out][nylo_out][nxlo_out]; - FFT_SCALAR *v3src = &v3_brick[nzlo_out][nylo_out][nxlo_out]; - FFT_SCALAR *v4src = &v4_brick[nzlo_out][nylo_out][nxlo_out]; - FFT_SCALAR *v5src = &v5_brick[nzlo_out][nylo_out][nxlo_out]; - for (int i = 0; i < nlist; i++) { - v0src[list[i]] = buf[n++]; - v1src[list[i]] = buf[n++]; - v2src[list[i]] = buf[n++]; - v3src[list[i]] = buf[n++]; - v4src[list[i]] = buf[n++]; - v5src[list[i]] = buf[n++]; - } - } -} - -/* ---------------------------------------------------------------------- - pack ghost values into buf to send to another proc -------------------------------------------------------------------------- */ - -void PPPMDielectric::pack_reverse(int flag, FFT_SCALAR *buf, int nlist, int *list) -{ - int n = 0; - if (flag == REVERSE_RHO) { - FFT_SCALAR *src = &density_brick[nzlo_out][nylo_out][nxlo_out]; - for (int i = 0; i < nlist; i++) - buf[n++] = src[list[i]]; - } else if (flag == REVERSE_MU) { - FFT_SCALAR *src_mu0 = &densityx_brick_dipole[nzlo_out][nylo_out][nxlo_out]; - FFT_SCALAR *src_mu1 = &densityy_brick_dipole[nzlo_out][nylo_out][nxlo_out]; - FFT_SCALAR *src_mu2 = &densityz_brick_dipole[nzlo_out][nylo_out][nxlo_out]; - for (int i = 0; i < nlist; i++) { - buf[n++] = src_mu0[list[i]]; - buf[n++] = src_mu1[list[i]]; - buf[n++] = src_mu2[list[i]]; - } - } -} - -/* ---------------------------------------------------------------------- - unpack another proc's ghost values from buf and add to own values -------------------------------------------------------------------------- */ - -void PPPMDielectric::unpack_reverse(int flag, FFT_SCALAR *buf, int nlist, int *list) -{ - int n = 0; - if (flag == REVERSE_RHO) { - FFT_SCALAR *dest = &density_brick[nzlo_out][nylo_out][nxlo_out]; - for (int i = 0; i < nlist; i++) - dest[list[i]] += buf[n++]; - } else if (flag == REVERSE_MU) { - FFT_SCALAR *dest_mu0 = &densityx_brick_dipole[nzlo_out][nylo_out][nxlo_out]; - FFT_SCALAR *dest_mu1 = &densityy_brick_dipole[nzlo_out][nylo_out][nxlo_out]; - FFT_SCALAR *dest_mu2 = &densityz_brick_dipole[nzlo_out][nylo_out][nxlo_out]; - for (int i = 0; i < nlist; i++) { - dest_mu0[list[i]] += buf[n++]; - dest_mu1[list[i]] += buf[n++]; - dest_mu2[list[i]] += buf[n++]; - } - } -} - /* ---------------------------------------------------------------------- Slab-geometry correction term to dampen inter-slab interactions between periodically repeating slabs. Yields good approximation to 2D Ewald if @@ -1254,18 +413,14 @@ void PPPMDielectric::slabcorr() double *q = atom->q; double **x = atom->x; - double *eps = avec->epsilon; + double *eps = atom->epsilon; + double zprd = domain->zprd; int nlocal = atom->nlocal; double dipole = 0.0; for (int i = 0; i < nlocal; i++) dipole += q[i]*x[i][2]; - if (mu_flag) { - double **mu = atom->mu; - for (int i = 0; i < nlocal; i++) dipole += mu[i][2]; - } - // sum local contributions to get global dipole moment double dipole_all; @@ -1277,10 +432,6 @@ void PPPMDielectric::slabcorr() double dipole_r2 = 0.0; if (eflag_atom || fabs(qsum) > SMALL) { - if (mu_flag) - error->all(FLERR,"Cannot (yet) use kspace slab correction with " - "long-range dipoles and non-neutral systems or per-atom energy"); - for (int i = 0; i < nlocal; i++) dipole_r2 += q[i]*x[i][2]*x[i][2]; @@ -1317,17 +468,6 @@ void PPPMDielectric::slabcorr() f[i][2] += ffact * eps[i]*q[i]*(dipole_all - qsum*x[i][2]); efield[i][2] += ffact * eps[i]*(dipole_all - qsum*x[i][2]); } - - // add on torque corrections - - if (mu_flag && atom->torque) { - double **mu = atom->mu; - double **torque = atom->torque; - for (int i = 0; i < nlocal; i++) { - torque[i][0] += ffact * dipole_all * mu[i][1]; - torque[i][1] += -ffact * dipole_all * mu[i][0]; - } - } } /* ---------------------------------------------------------------------- @@ -1338,7 +478,7 @@ void PPPMDielectric::slabcorr() void PPPMDielectric::qsum_qsq() { const double * const q = atom->q; - const double * const eps = avec->epsilon; + const double * const eps = atom->epsilon; const int nlocal = atom->nlocal; double qsum_local(0.0), qsqsum_local(0.0); @@ -1356,84 +496,3 @@ void PPPMDielectric::qsum_qsq() q2 = qsqsum * force->qqrd2e; } - -/* ---------------------------------------------------------------------- - memory usage of local arrays -------------------------------------------------------------------------- */ - -double PPPMDielectric::memory_usage() -{ - double bytes = nmax*3 * sizeof(double); - int nbrick = (nxhi_out-nxlo_out+1) * (nyhi_out-nylo_out+1) * - (nzhi_out-nzlo_out+1); - if (differentiation_flag == 1) { - bytes += 2 * nbrick * sizeof(FFT_SCALAR); - } else { - bytes += 4 * nbrick * sizeof(FFT_SCALAR); - } - if (triclinic) bytes += 3 * nfft_both * sizeof(double); - bytes += 6 * nfft_both * sizeof(double); - bytes += nfft_both * sizeof(double); - bytes += nfft_both*5 * sizeof(FFT_SCALAR); - - if (mu_flag) { - bytes += 3 * nbrick * sizeof(FFT_SCALAR); - //work? - } - - if (peratom_allocate_flag) - bytes += 6 * nbrick * sizeof(FFT_SCALAR); - - if (group_allocate_flag) { - bytes += 2 * nbrick * sizeof(FFT_SCALAR); - bytes += 2 * nfft_both * sizeof(FFT_SCALAR);; - } - - if (cg) bytes += cg->memory_usage(); - - if (mu_flag) - bytes += cg_mu->memory_usage(); - - return bytes; -} - - -/* ---------------------------------------------------------------------- - compute qsum,qsqsum,q2 and give error/warning if not charge neutral - called initially, when particle count changes, when charges are changed -------------------------------------------------------------------------- */ - -void PPPMDielectric::musum_musq() -{ - double** mu = atom->mu; - const int nlocal = atom->nlocal; - double musum_local(0.0), musqsum_local(0.0); - - for (int i = 0; i < nlocal; i++) { - musum_local += mu[i][0] + mu[i][1] + mu[i][2]; - musqsum_local += mu[i][0]*mu[i][0] + mu[i][1]*mu[i][1] + mu[i][2]*mu[i][2]; - } - - MPI_Allreduce(&musum_local,&musum,1,MPI_DOUBLE,MPI_SUM,world); - MPI_Allreduce(&musqsum_local,&musqsum,1,MPI_DOUBLE,MPI_SUM,world); - - /* - if ((qsqsum == 0.0) && (comm->me == 0) && warn_nocharge) { - error->warning(FLERR,"Using kspace solver on system with no charge"); - warn_nocharge = 0; - }*/ - - mu2 = musqsum * force->qqrd2e; - - // not yet sure of the correction needed for non-neutral systems - // so issue warning or error - /* - if (fabs(qsum) > SMALL) { - char str[128]; - sprintf(str,"System is not charge neutral, net charge = %g",qsum); - if (!warn_nonneutral) error->all(FLERR,str); - if (warn_nonneutral == 1 && comm->me == 0) error->warning(FLERR,str); - warn_nonneutral = 2; - }*/ -} - diff --git a/src/USER-DIELECTRIC/pppm_dielectric.h b/src/USER-DIELECTRIC/pppm_dielectric.h index e30d03cd9b..b7803011f8 100644 --- a/src/USER-DIELECTRIC/pppm_dielectric.h +++ b/src/USER-DIELECTRIC/pppm_dielectric.h @@ -28,10 +28,7 @@ class PPPMDielectric : public PPPM { public: PPPMDielectric(class LAMMPS *); virtual ~PPPMDielectric(); - virtual void init(); - void setup_grid(); virtual void compute(int, int); - virtual double memory_usage(); double** efield; double* phi; @@ -40,40 +37,11 @@ class PPPMDielectric : public PPPM { void qsum_qsq(); protected: - FFT_SCALAR ***densityx_brick_dipole,***densityy_brick_dipole,***densityz_brick_dipole; - FFT_SCALAR ***vdxx_brick_dipole,***vdyy_brick_dipole,***vdzz_brick_dipole; - FFT_SCALAR ***vdxy_brick_dipole,***vdxz_brick_dipole,***vdyz_brick_dipole; - FFT_SCALAR ***u_brick_dipole; - FFT_SCALAR ***ux_brick_dipole,***uy_brick_dipole,***uz_brick_dipole; - FFT_SCALAR *densityx_fft_dipole,*densityy_fft_dipole,*densityz_fft_dipole; - FFT_SCALAR *work3,*work4; - - class GridComm *cg_mu; - - virtual void allocate(); - virtual void deallocate(); void slabcorr(); void fieldforce_ik(); void fieldforce_ad(); - // grid communication - - virtual void pack_forward(int, FFT_SCALAR *, int, int *); - virtual void unpack_forward(int, FFT_SCALAR *, int, int *); - virtual void pack_reverse(int, FFT_SCALAR *, int, int *); - virtual void unpack_reverse(int, FFT_SCALAR *, int, int *); - - // dipole - - int mu_flag; - double musqsum,musum,mu2; - void make_rho_dipole(); - void brick2fft_dipole(); - void poisson_ik_dipole(); - void fieldforce_ik_dipole(); - void musum_musq(); - class AtomVecDielectric* avec; }; diff --git a/src/atom.cpp b/src/atom.cpp index ecb82993ce..63e90692e0 100644 --- a/src/atom.cpp +++ b/src/atom.cpp @@ -197,6 +197,10 @@ Atom::Atom(LAMMPS *lmp) : Pointers(lmp) rho = drho = esph = desph = cv = nullptr; vest = nullptr; + // USER-DIELECTRIC package + + area = ed = em = epsilon = curvature = q_unscaled = nullptr; + // end of customization section // -------------------------------------------------------------------- @@ -509,6 +513,15 @@ void Atom::peratom_create() add_peratom("eff_plastic_strain_rate",&eff_plastic_strain_rate,DOUBLE,0); add_peratom("damage",&damage,DOUBLE,0); + // USER-DIELECTRIC package + + add_peratom("area",&area,DOUBLE,0); + add_peratom("ed",&ed,DOUBLE,0); + add_peratom("em",&em,DOUBLE,0); + add_peratom("epsilon",&epsilon,DOUBLE,0); + add_peratom("curvature",&curvature,DOUBLE,0); + add_peratom("q_unscaled",&curvature,DOUBLE,0); + // end of customization section // -------------------------------------------------------------------- } diff --git a/src/atom.h b/src/atom.h index bc69d3b27a..bd1594480c 100644 --- a/src/atom.h +++ b/src/atom.h @@ -157,6 +157,10 @@ class Atom : protected Pointers { double *rho,*drho,*esph,*desph,*cv; double **vest; + // USER-DIELECTRIC package + + double *area,*ed,*em,*epsilon,*curvature,*q_unscaled; + // end of customization section // -------------------------------------------------------------------- From 14f0c215ebd552f248406b55af96f31de8462784 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 28 May 2021 14:09:32 -0400 Subject: [PATCH 105/726] make console detection smarter and don't use a pager at all with OpenMPI --- src/lammps.cpp | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/src/lammps.cpp b/src/lammps.cpp index a218b9e08a..131d2e66f6 100644 --- a/src/lammps.cpp +++ b/src/lammps.cpp @@ -55,6 +55,10 @@ #include #include +#if !defined(_WIN32) +#include // for isatty() +#endif + #include "lmpinstalledpkgs.h" #include "lmpgitversion.h" @@ -1114,12 +1118,24 @@ void _noopt LAMMPS::help() FILE *fp = screen; const char *pager = nullptr; - // if output is "stdout", use a pipe to a pager for paged output. + // if output is a console, use a pipe to a pager for paged output. // this will avoid the most important help text to rush past the // user. scrollback buffers are often not large enough. this is most // beneficial to windows users, who are not used to command line. - if (fp == stdout) { +#if defined(_WIN32) + int use_pager = _isatty(fileno(fp)); +#else + int use_pager = isatty(fileno(fp)); +#endif + + // cannot use this with OpenMPI since its console is non-functional + +#if defined(OPEN_MPI) + use_pager = 0; +#endif + + if (use_pager) { pager = getenv("PAGER"); if (pager == nullptr) pager = "more"; #if defined(_WIN32) @@ -1130,7 +1146,7 @@ void _noopt LAMMPS::help() // reset to original state, if pipe command failed if (fp == nullptr) { - fp = stdout; + fp = screen; pager = nullptr; } } From e248faa9bdf46da124866192e968f09aca08937b Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 28 May 2021 14:09:41 -0400 Subject: [PATCH 106/726] silence compiler warnings --- src/neighbor.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/neighbor.cpp b/src/neighbor.cpp index 9d94265002..5b4b1c4923 100644 --- a/src/neighbor.cpp +++ b/src/neighbor.cpp @@ -1793,7 +1793,7 @@ int Neighbor::choose_stencil(NeighRequest *rq) // convert newton request to newtflag = on or off - int newtflag; + int newtflag = 1; if (rq->newton == 0 && newton_pair) newtflag = 1; else if (rq->newton == 0 && !newton_pair) newtflag = 0; else if (rq->newton == 1) newtflag = 1; From 342c84aba46d2483e8216a077f91485d9c595b8a Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Fri, 28 May 2021 15:14:56 -0500 Subject: [PATCH 107/726] Updated AtomVecDielectric to support atom properties like full (molecule, bonds, angles, dihedrals, special) --- src/USER-DIELECTRIC/atom_vec_dielectric.cpp | 99 ++++++++++++++----- src/USER-DIELECTRIC/atom_vec_dielectric.h | 11 ++- .../pair_coul_cut_dielectric.cpp | 22 ++--- .../pair_lj_cut_coul_cut_dielectric.cpp | 2 +- .../pair_lj_cut_coul_long_dielectric.cpp | 2 +- src/USER-DIELECTRIC/pppm_dielectric.cpp | 3 - src/atom.cpp | 2 +- 7 files changed, 99 insertions(+), 42 deletions(-) diff --git a/src/USER-DIELECTRIC/atom_vec_dielectric.cpp b/src/USER-DIELECTRIC/atom_vec_dielectric.cpp index 1c2a99eb19..10876459fd 100644 --- a/src/USER-DIELECTRIC/atom_vec_dielectric.cpp +++ b/src/USER-DIELECTRIC/atom_vec_dielectric.cpp @@ -11,16 +11,8 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#include -#include #include "atom_vec_dielectric.h" #include "atom.h" -#include "comm.h" -#include "domain.h" -#include "modify.h" -#include "fix.h" -#include "memory.h" -#include "error.h" using namespace LAMMPS_NS; @@ -28,30 +20,67 @@ using namespace LAMMPS_NS; AtomVecDielectric::AtomVecDielectric(LAMMPS *lmp) : AtomVec(lmp) { - molecular = Atom::ATOMIC; + molecular = Atom::MOLECULAR; + bonds_allow = angles_allow = dihedrals_allow = impropers_allow = 1; mass_type = PER_TYPE; - - atom->q_flag = atom->mu_flag = 1; + atom->molecule_flag = atom->q_flag = atom->mu_flag = 1; + // strings with peratom variables to include in each AtomVec method // strings cannot contain fields in corresponding AtomVec default strings // order of fields in a string does not matter // except: fields_data_atom & fields_data_vel must match data file - fields_grow = (char *) "q mu3 area ed em epsilon curvature"; - fields_copy = (char *) "q mu3 area ed em epsilon curvature"; - fields_comm = (char *) "q mu3 area ed em epsilon curvature"; - fields_comm_vel = (char *) "q mu3 area ed em epsilon curvature"; + fields_grow = (char *) + "q molecule num_bond bond_type bond_atom " + "num_angle angle_type angle_atom1 angle_atom2 angle_atom3 " + "num_dihedral dihedral_type dihedral_atom1 dihedral_atom2 " + "dihedral_atom3 dihedral_atom4 " + "num_improper improper_type improper_atom1 improper_atom2 " + "improper_atom3 improper_atom4 " + "nspecial special " + "mu3 area ed em epsilon curvature q_unscaled"; + fields_copy = (char *) + "q molecule num_bond bond_type bond_atom " + "num_angle angle_type angle_atom1 angle_atom2 angle_atom3 " + "num_dihedral dihedral_type dihedral_atom1 dihedral_atom2 " + "dihedral_atom3 dihedral_atom4 " + "num_improper improper_type improper_atom1 improper_atom2 " + "improper_atom3 improper_atom4 " + "nspecial special " + "mu3 area ed em epsilon curvature q_unscaled"; + fields_comm = (char *) ""; + fields_comm_vel = (char *) ""; fields_reverse = (char *) ""; - fields_border = (char *) "q mu3 area ed em epsilon curvature"; - fields_border_vel = (char *) "q mu3 area ed em epsilon curvature"; - fields_exchange = (char *) "q mu3 area ed em epsilon curvature"; - fields_restart = (char * ) "q mu3 area ed em epsilon curvature"; - fields_create = (char *) "q mu3 area ed em epsilon curvature"; - fields_data_atom = (char *) "id molecule type q x mu3 area ed em epsilon curvature"; + fields_border = (char *) "q molecule mu3 area ed em epsilon curvature"; + fields_border_vel = (char *) "q molecule mu3 area ed em epsilon curvature"; + fields_exchange = (char *) + "q molecule num_bond bond_type bond_atom " + "num_angle angle_type angle_atom1 angle_atom2 angle_atom3 " + "num_dihedral dihedral_type dihedral_atom1 dihedral_atom2 " + "dihedral_atom3 dihedral_atom4 " + "num_improper improper_type improper_atom1 improper_atom2 " + "improper_atom3 improper_atom4 " + "nspecial special " + "mu3 area ed em epsilon curvature q_unscaled"; + fields_restart = (char *) + "q molecule num_bond bond_type bond_atom " + "num_angle angle_type angle_atom1 angle_atom2 angle_atom3 " + "num_dihedral dihedral_type dihedral_atom1 dihedral_atom2 " + "dihedral_atom3 dihedral_atom4 " + "num_improper improper_type improper_atom1 improper_atom2 " + "improper_atom3 improper_atom4 " + "mu3 area ed em epsilon curvature q_unscaled"; + fields_create = (char *) + "q molecule num_bond num_angle num_dihedral num_improper nspecial " + "mu3 area ed em epsilon curvature q_unscaled"; + fields_data_atom = (char *) "id molecule type q x " + "mu3 area ed em epsilon curvature"; fields_data_vel = (char *) "id v"; setup_fields(); + + bond_per_atom = angle_per_atom = dihedral_per_atom = improper_per_atom = 0; } /* ---------------------------------------------------------------------- @@ -61,6 +90,16 @@ AtomVecDielectric::AtomVecDielectric(LAMMPS *lmp) : AtomVec(lmp) void AtomVecDielectric::grow_pointers() { + num_bond = atom->num_bond; + bond_type = atom->bond_type; + num_angle = atom->num_angle; + angle_type = atom->angle_type; + num_dihedral = atom->num_dihedral; + dihedral_type = atom->dihedral_type; + num_improper = atom->num_improper; + improper_type = atom->improper_type; + nspecial = atom->nspecial; + mu = atom->mu; area = atom->area; ed = atom->ed; @@ -88,6 +127,14 @@ void AtomVecDielectric::create_atom_post(int ilocal) void AtomVecDielectric::data_atom_post(int ilocal) { + num_bond[ilocal] = 0; + num_angle[ilocal] = 0; + num_dihedral[ilocal] = 0; + num_improper[ilocal] = 0; + nspecial[ilocal][0] = 0; + nspecial[ilocal][1] = 0; + nspecial[ilocal][2] = 0; + double* q = atom->q; q_unscaled[ilocal] = q[ilocal]; q[ilocal] /= epsilon[ilocal]; @@ -103,6 +150,14 @@ void AtomVecDielectric::pack_data_post(int ilocal) q_unscaled[ilocal] = q[ilocal]/epsilon[ilocal]; } +/* ---------------------------------------------------------------------- + initialize other atom quantities after AtomVec::unpack_restart() +------------------------------------------------------------------------- */ - +void AtomVecDielectric::unpack_restart_init(int ilocal) +{ + nspecial[ilocal][0] = 0; + nspecial[ilocal][1] = 0; + nspecial[ilocal][2] = 0; +} diff --git a/src/USER-DIELECTRIC/atom_vec_dielectric.h b/src/USER-DIELECTRIC/atom_vec_dielectric.h index 797e41f112..6c933c5949 100644 --- a/src/USER-DIELECTRIC/atom_vec_dielectric.h +++ b/src/USER-DIELECTRIC/atom_vec_dielectric.h @@ -32,12 +32,17 @@ class AtomVecDielectric : public AtomVec { void create_atom_post(int); void data_atom_post(int); void pack_data_post(int); + void unpack_restart_init(int); + + private: + int *num_bond,*num_angle,*num_dihedral,*num_improper; + int **bond_type,**angle_type,**dihedral_type,**improper_type; + int **nspecial; + + int bond_per_atom,angle_per_atom,dihedral_per_atom,improper_per_atom; double **mu; double *area,*ed,*em,*epsilon,*curvature,*q_unscaled; - - private: - }; } diff --git a/src/USER-DIELECTRIC/pair_coul_cut_dielectric.cpp b/src/USER-DIELECTRIC/pair_coul_cut_dielectric.cpp index 2cb411e68f..724fac2fac 100644 --- a/src/USER-DIELECTRIC/pair_coul_cut_dielectric.cpp +++ b/src/USER-DIELECTRIC/pair_coul_cut_dielectric.cpp @@ -15,21 +15,21 @@ Contributing author: Trung Nguyen (Northwestern) ------------------------------------------------------------------------- */ -#include -#include -#include -#include #include "pair_coul_cut_dielectric.h" + #include "atom.h" #include "atom_vec_dielectric.h" #include "comm.h" +#include "error.h" #include "force.h" #include "neighbor.h" #include "neigh_list.h" #include "neigh_request.h" #include "memory.h" #include "math_const.h" -#include "error.h" + +#include +#include using namespace LAMMPS_NS; using namespace MathConst; @@ -74,11 +74,11 @@ void PairCoulCutDielectric::compute(int eflag, int vflag) double **x = atom->x; double **f = atom->f; double *q = atom->q; - double *q_real = avec->q_unscaled; - double* eps = avec->epsilon; - double** norm = avec->mu; - double* curvature = avec->curvature; - double* area = avec->area; + double *q_real = atom->q_unscaled; + double* eps = atom->epsilon; + double** norm = atom->mu; + double* curvature = atom->curvature; + double* area = atom->area; int *type = atom->type; int nlocal = atom->nlocal; double *special_coul = force->special_coul; @@ -183,7 +183,7 @@ double PairCoulCutDielectric::single(int i, int j, int itype, int jtype, double &fforce) { double r2inv,forcecoul,phicoul,ei,ej; - double* eps = avec->epsilon; + double* eps = atom->epsilon; r2inv = 1.0/rsq; forcecoul = force->qqrd2e * atom->q[i]*atom->q[j]*sqrt(r2inv)*eps[i]; diff --git a/src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric.cpp b/src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric.cpp index 56bdd579d9..8a60ccd31b 100644 --- a/src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric.cpp +++ b/src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric.cpp @@ -208,7 +208,7 @@ double PairLJCutCoulCutDielectric::single(int i, int j, int itype, int jtype, double &fforce) { double r2inv,r6inv,forcecoul,forcelj,phicoul,ei,ej,philj; - double* eps = avec->epsilon; + double* eps = atom->epsilon; r2inv = 1.0/rsq; if (rsq < cut_coulsq[itype][jtype]) diff --git a/src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric.cpp b/src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric.cpp index 613defa2f6..4967358aa4 100644 --- a/src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric.cpp +++ b/src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric.cpp @@ -277,7 +277,7 @@ double PairLJCutCoulLongDielectric::single(int i, int j, int itype, int jtype, double r2inv,r6inv,r,grij,expm2,t,erfc,ei,ej,prefactor; double fraction,table,forcecoul,forcelj,phicoul,philj; int itable; - double *eps = avec->epsilon; + double *eps = atom->epsilon; r2inv = 1.0/rsq; if (rsq < cut_coulsq) { diff --git a/src/USER-DIELECTRIC/pppm_dielectric.cpp b/src/USER-DIELECTRIC/pppm_dielectric.cpp index 62779d79c4..d9c957aaa3 100644 --- a/src/USER-DIELECTRIC/pppm_dielectric.cpp +++ b/src/USER-DIELECTRIC/pppm_dielectric.cpp @@ -482,9 +482,6 @@ void PPPMDielectric::qsum_qsq() const int nlocal = atom->nlocal; double qsum_local(0.0), qsqsum_local(0.0); -#if defined(_OPENMP) -#pragma omp parallel for default(none) reduction(+:qsum_local,qsqsum_local) -#endif for (int i = 0; i < nlocal; i++) { double qtmp = eps[i]*q[i]; qsum_local += qtmp; diff --git a/src/atom.cpp b/src/atom.cpp index 63e90692e0..75181abbd7 100644 --- a/src/atom.cpp +++ b/src/atom.cpp @@ -520,7 +520,7 @@ void Atom::peratom_create() add_peratom("em",&em,DOUBLE,0); add_peratom("epsilon",&epsilon,DOUBLE,0); add_peratom("curvature",&curvature,DOUBLE,0); - add_peratom("q_unscaled",&curvature,DOUBLE,0); + add_peratom("q_unscaled",&q_unscaled,DOUBLE,0); // end of customization section // -------------------------------------------------------------------- From 1fd6014eca44598848f63c75ba6b5c1daaa869a4 Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Fri, 28 May 2021 15:38:02 -0500 Subject: [PATCH 108/726] Updated fix polarize/bem/gmres and fix polarize/functional --- .../fix_polarize_bem_gmres.cpp | 81 ++++++++++--------- .../fix_polarize_functional.cpp | 79 +++++++++--------- 2 files changed, 82 insertions(+), 78 deletions(-) diff --git a/src/USER-DIELECTRIC/fix_polarize_bem_gmres.cpp b/src/USER-DIELECTRIC/fix_polarize_bem_gmres.cpp index 60c0056672..9f0d16db82 100644 --- a/src/USER-DIELECTRIC/fix_polarize_bem_gmres.cpp +++ b/src/USER-DIELECTRIC/fix_polarize_bem_gmres.cpp @@ -40,21 +40,20 @@ LC: QA297.8.K45. ------------------------------------------------------------------------- */ -#include -#include #include "fix_polarize_bem_gmres.h" -#include "atom_vec_dielectric.h" -#include "update.h" + #include "atom.h" +#include "atom_vec_dielectric.h" #include "comm.h" #include "domain.h" #include "neighbor.h" +#include "error.h" #include "force.h" #include "group.h" #include "kspace.h" +#include "math_const.h" #include "memory.h" #include "modify.h" -#include "math_const.h" #include "pair_coul_cut_dielectric.h" #include "pair_coul_long_dielectric.h" #include "pair_lj_cut_coul_cut_dielectric.h" @@ -64,7 +63,10 @@ #include "msm_dielectric.h" #include "random_park.h" #include "timer.h" -#include "error.h" +#include "update.h" + +#include +#include using namespace LAMMPS_NS; using namespace FixConst; @@ -85,9 +87,9 @@ FixPolarizeBEMGMRES::FixPolarizeBEMGMRES(LAMMPS *lmp, int narg, char **arg) : // parse required arguments - nevery = force->inumeric(FLERR,arg[3]); + nevery = utils::numeric(FLERR,arg[3],false,lmp); if (nevery < 0) error->all(FLERR,"Illegal fix polarize/bem/gmres command"); - double tol = force->numeric(FLERR,arg[4]); + double tol = utils::numeric(FLERR,arg[4],false,lmp); tol_abs = tol_rel = tol; itr_max = 20; @@ -149,7 +151,6 @@ int FixPolarizeBEMGMRES::setmask() { int mask = 0; mask |= PRE_FORCE; - mask |= THERMO_ENERGY; return mask; } @@ -307,12 +308,12 @@ void FixPolarizeBEMGMRES::pre_force(int) void FixPolarizeBEMGMRES::compute_induced_charges() { double *q = atom->q; - double *q_real = avec->q_real; - double **norm = avec->mu; - double *area = avec->area; - double *ed = avec->ed; - double *em = avec->em; - double *epsilon = avec->epsilon; + double *q_real = atom->q_unscaled; + double **norm = atom->mu; + double *area = atom->area; + double *ed = atom->ed; + double *em = atom->em; + double *epsilon = atom->epsilon; int *mask = atom->mask; int nlocal = atom->nlocal; double epsilon0 = force->dielectric; @@ -602,11 +603,11 @@ void FixPolarizeBEMGMRES::apply_operator(double* w, double* Aw, int n) { int i; double *q = atom->q; - double **norm = avec->mu; - double *area = avec->area; - double *ed = avec->ed; - double *em = avec->em; - double *epsilon = avec->epsilon; + double **norm = atom->mu; + double *area = atom->area; + double *ed = atom->ed; + double *em = atom->em; + double *epsilon = atom->epsilon; int *mask = atom->mask; int nlocal = atom->nlocal; double epsilon0 = force->dielectric; @@ -672,12 +673,12 @@ void FixPolarizeBEMGMRES::update_residual(double* w, double* r, int n) { int i; double *q = atom->q; - double *q_real = avec->q_real; - double **norm = avec->mu; - double *area = avec->area; - double *ed = avec->ed; - double *em = avec->em; - double *epsilon = avec->epsilon; + double *q_real = atom->q_unscaled; + double **norm = atom->mu; + double *area = atom->area; + double *ed = atom->ed; + double *em = atom->em; + double *epsilon = atom->epsilon; int *mask = atom->mask; int nlocal = atom->nlocal; double epsilon0 = force->dielectric; @@ -814,11 +815,11 @@ int FixPolarizeBEMGMRES::modify_param(int narg, char **arg) while (iarg < narg) { if (strcmp(arg[iarg],"itr_max") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix_modify command"); - itr_max = force->numeric(FLERR,arg[iarg+1]); + itr_max = utils::numeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"mr") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix_modify command"); - mr = force->numeric(FLERR,arg[iarg+1]); + mr = utils::numeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"kspace") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix_modify command"); @@ -831,12 +832,12 @@ int FixPolarizeBEMGMRES::modify_param(int narg, char **arg) double epsiloni=-1, areai=-1; double qreali=0; int set_charge=0; - double ediff = force->numeric(FLERR,arg[iarg+1]); - double emean = force->numeric(FLERR,arg[iarg+2]); - if (strcmp(arg[iarg+3],"NULL") != 0) epsiloni = force->numeric(FLERR,arg[iarg+3]); - if (strcmp(arg[iarg+4],"NULL") != 0) areai = force->numeric(FLERR,arg[iarg+4]); + double ediff = utils::numeric(FLERR,arg[iarg+1],false,lmp); + double emean = utils::numeric(FLERR,arg[iarg+2],false,lmp); + if (strcmp(arg[iarg+3],"NULL") != 0) epsiloni = utils::numeric(FLERR,arg[iarg+3],false,lmp); + if (strcmp(arg[iarg+4],"NULL") != 0) areai = utils::numeric(FLERR,arg[iarg+4],false,lmp); if (strcmp(arg[iarg+5],"NULL") != 0) { - qreali = force->numeric(FLERR,arg[iarg+5]); + qreali = utils::numeric(FLERR,arg[iarg+5],false,lmp); set_charge = 1; } set_dielectric_params(ediff, emean, epsiloni, areai, set_charge, qreali); @@ -844,8 +845,8 @@ int FixPolarizeBEMGMRES::modify_param(int narg, char **arg) iarg += 6; } else if (strcmp(arg[iarg],"rand") == 0) { if (iarg+3 > narg) error->all(FLERR,"Illegal fix_modify command"); - ave_charge = force->numeric(FLERR,arg[iarg+1]); - seed_charge = force->numeric(FLERR,arg[iarg+2]); + ave_charge = utils::numeric(FLERR,arg[iarg+1],false,lmp); + seed_charge = utils::numeric(FLERR,arg[iarg+2],false,lmp); randomized = 1; iarg += 3; } else error->all(FLERR,"Illegal fix_modify command"); @@ -939,11 +940,11 @@ double FixPolarizeBEMGMRES::compute_vector(int n) void FixPolarizeBEMGMRES::set_dielectric_params(double ediff, double emean, double epsiloni, double areai, int set_charge, double qreali) { - double *area = avec->area; - double *ed = avec->ed; - double *em = avec->em; - double *q_real = avec->q_real; - double *epsilon = avec->epsilon; + double *area = atom->area; + double *ed = atom->ed; + double *em = atom->em; + double *q_real = atom->q_unscaled; + double *epsilon = atom->epsilon; int *mask = atom->mask; int nlocal = atom->nlocal; diff --git a/src/USER-DIELECTRIC/fix_polarize_functional.cpp b/src/USER-DIELECTRIC/fix_polarize_functional.cpp index e50f239e07..811cd38be7 100644 --- a/src/USER-DIELECTRIC/fix_polarize_functional.cpp +++ b/src/USER-DIELECTRIC/fix_polarize_functional.cpp @@ -26,36 +26,39 @@ Reference: Jadhao, Solis, Olvera de la Cruz, J. Chem. Phys. 138, 054119, 2013 ------------------------------------------------------------------------- */ -#include -#include #include "fix_polarize_functional.h" -#include "atom_vec_dielectric.h" -#include "update.h" + #include "atom.h" +#include "atom_vec_dielectric.h" + + #include "comm.h" #include "compute.h" #include "domain.h" -#include "neighbor.h" +#include "error.h" #include "force.h" #include "group.h" -#include "pair.h" +#include "kspace.h" +#include "math_const.h" +#include "math_extra.h" +#include "memory.h" +#include "modify.h" +#include "msm_dielectric.h" +#include "neigh_list.h" +#include "neigh_request.h" +#include "neighbor.h" #include "pair_coul_cut_dielectric.h" #include "pair_coul_long_dielectric.h" #include "pair_lj_cut_coul_cut_dielectric.h" #include "pair_lj_cut_coul_long_dielectric.h" #include "pair_lj_cut_coul_msm_dielectric.h" #include "pppm_dielectric.h" -#include "msm_dielectric.h" -#include "kspace.h" -#include "memory.h" -#include "math_const.h" -#include "math_extra.h" -#include "modify.h" -#include "neigh_list.h" -#include "neigh_request.h" #include "random_park.h" #include "timer.h" -#include "error.h" +#include "update.h" + +#include +#include using namespace LAMMPS_NS; using namespace FixConst; @@ -392,8 +395,8 @@ void FixPolarizeFunctional::update_induced_charges() void FixPolarizeFunctional::charge_rescaled(int scaled2real) { double* q = atom->q; - double* q_real = avec->q_real; - double* epsilon = avec->epsilon; + double* q_real = atom->q_unscaled; + double* epsilon = atom->epsilon; int nlocal = atom->nlocal; if (scaled2real) { @@ -479,12 +482,12 @@ int FixPolarizeFunctional::modify_param(int narg, char **arg) double epsiloni=-1, areai=-1; double qreali=0; int set_charge=0; - double ediff = force->numeric(FLERR,arg[iarg+1]); - double emean = force->numeric(FLERR,arg[iarg+2]); - if (strcmp(arg[iarg+3],"NULL") != 0) epsiloni = force->numeric(FLERR,arg[iarg+3]); - if (strcmp(arg[iarg+4],"NULL") != 0) areai = force->numeric(FLERR,arg[iarg+4]); + double ediff = utils::numeric(FLERR,arg[iarg+1],false,lmp); + double emean = utils::numeric(FLERR,arg[iarg+2],false,lmp); + if (strcmp(arg[iarg+3],"NULL") != 0) epsiloni = utils::numeric(FLERR,arg[iarg+3],false,lmp); + if (strcmp(arg[iarg+4],"NULL") != 0) areai = utils::numeric(FLERR,arg[iarg+4],false,lmp); if (strcmp(arg[iarg+5],"NULL") != 0) { - qreali = force->numeric(FLERR,arg[iarg+5]); + qreali = utils::numeric(FLERR,arg[iarg+5],false,lmp); set_charge = 1; } set_dielectric_params(ediff, emean, epsiloni, areai, set_charge, qreali); @@ -601,11 +604,11 @@ void FixPolarizeFunctional::calculate_Rww_cutoff() tagint* tag = atom->tag; int nlocal = atom->nlocal; double **x = atom->x; - double *area = avec->area; - double *curvature = avec->curvature; - double **norm = avec->mu; - double *ed = avec->ed; - double *em = avec->em; + double *area = atom->area; + double *curvature = atom->curvature; + double **norm = atom->mu; + double *ed = atom->ed; + double *em = atom->em; // invoke full neighbor list @@ -815,12 +818,12 @@ void FixPolarizeFunctional::calculate_qiRqw_cutoff() tagint *tag = atom->tag; int nlocal = atom->nlocal; double **x = atom->x; - double *q = avec->q_real; - double *epsilon = avec->epsilon; - double *area = avec->area; - double **norm = avec->mu; - double *ed = avec->ed; - double *em = avec->em; + double *q = atom->q_unscaled; + double *epsilon = atom->epsilon; + double *area = atom->area; + double **norm = atom->mu; + double *ed = atom->ed; + double *em = atom->em; // invoke full neighbor list @@ -1017,11 +1020,11 @@ void FixPolarizeFunctional::calculate_qiRqw_cutoff() void FixPolarizeFunctional::set_dielectric_params(double ediff, double emean, double epsiloni, double areai, int set_charge, double qreali) { - double *area = avec->area; - double *ed = avec->ed; - double *em = avec->em; - double *q_real = avec->q_real; - double *epsilon = avec->epsilon; + double *area = atom->area; + double *ed = atom->ed; + double *em = atom->em; + double *q_real = atom->q_unscaled; + double *epsilon = atom->epsilon; int *mask = atom->mask; int nlocal = atom->nlocal; From 127627a5f7ceaa3400f082bd8fd06ec4c531f415 Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Fri, 28 May 2021 15:42:03 -0500 Subject: [PATCH 109/726] Updated Install.sh --- src/USER-DIELECTRIC/Install.sh | 3 +- src/USER-DIELECTRIC/fix_qeq_dielectric.cpp | 1281 ------------------ src/USER-DIELECTRIC/fix_qeq_dielectric.h | 153 --- src/USER-DIELECTRIC/pppm_disp_dielectric.cpp | 820 ----------- src/USER-DIELECTRIC/pppm_disp_dielectric.h | 62 - 5 files changed, 1 insertion(+), 2318 deletions(-) delete mode 100644 src/USER-DIELECTRIC/fix_qeq_dielectric.cpp delete mode 100644 src/USER-DIELECTRIC/fix_qeq_dielectric.h delete mode 100644 src/USER-DIELECTRIC/pppm_disp_dielectric.cpp delete mode 100644 src/USER-DIELECTRIC/pppm_disp_dielectric.h diff --git a/src/USER-DIELECTRIC/Install.sh b/src/USER-DIELECTRIC/Install.sh index 986e20e806..a1240ecd6a 100644 --- a/src/USER-DIELECTRIC/Install.sh +++ b/src/USER-DIELECTRIC/Install.sh @@ -50,7 +50,6 @@ action pair_coul_cut_dielectric.cpp action pair_coul_cut_dielectric.h action pppm_dielectric.cpp action pppm_dielectric.h -action pppm_disp_dielectric.cpp pppm_disp.cpp -action pppm_disp_dielectric.h pppm_disp.h action msm_dielectric.cpp action msm_dielectric.h + diff --git a/src/USER-DIELECTRIC/fix_qeq_dielectric.cpp b/src/USER-DIELECTRIC/fix_qeq_dielectric.cpp deleted file mode 100644 index 0489351ed6..0000000000 --- a/src/USER-DIELECTRIC/fix_qeq_dielectric.cpp +++ /dev/null @@ -1,1281 +0,0 @@ -/* ---------------------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -/* ---------------------------------------------------------------------- - Contributing authors: - full-matrix: Honghao Li (Northwestern University) - neighbor list: Trung Nguyen (Northwestern University) - Ref.: Jadhao, Solis, Olvera de la Cruz, J. Chem. Phys. 138, 054119, 2013 -------------------------------------------------------------------------- */ - -#include -#include -#include -#include -#include -#include -#include "fix_qeq_dielectric.h" -#include "atom.h" -#include "atom_vec_dielectric.h" -#include "comm.h" -#include "domain.h" -#include "neighbor.h" -#include "neigh_list.h" -#include "neigh_request.h" -#include "update.h" -#include "force.h" -#include "kspace.h" -#include "group.h" -#include "pair.h" -#include "respa.h" -#include "math_const.h" -#include "math_extra.h" -#include "memory.h" -#include "citeme.h" -#include "error.h" -#include - -using namespace LAMMPS_NS; -using namespace FixConst; -using namespace MathConst; -using namespace MathExtra; - -#define _POLARIZE_DEBUG - -/* ---------------------------------------------------------------------- */ - -FixQEqDielectric::FixQEqDielectric(LAMMPS *lmp, int narg, char **arg) : - Fix(lmp, narg, arg) -{ - if (narg != 3) error->all(FLERR,"Illegal fix qeq/dielectric command"); - - avec = (AtomVecDielectric *) atom->style_match("dielectric"); - if (!avec) error->all(FLERR,"fix qeq/dielectric requires atom style dielectric"); - - comm_forward = 1; - - // register with Atom class - grow_arrays(atom->nmax); - atom->add_callback(0); - - // kspace info -// ewaldDielectric = NULL; - - tags_interface = NULL; - tags_ions = NULL; - - // interface terms - Rww = NULL; - inverse_matrix = NULL; - G1ww = NULL; - G2ww = NULL; - G3ww = NULL; - ndotGww = NULL; - gradG1ww = NULL; - - qiRqwVector = NULL; - G1qq_real = NULL; - G1qw_real = NULL; - gradG1wq_real = NULL; - sum2G2wq = NULL; - - sum1G2qw = NULL; - sum1G3qw = NULL; - sum1G1qw_epsilon = NULL; - sum2ndotGwq_epsilon = NULL; - - q_induced_charges = NULL; - - full = 1; - includingG3ww = 1; -} - -/* ---------------------------------------------------------------------- */ - -FixQEqDielectric::~FixQEqDielectric() -{ - // unregister callbacks to this fix from Atom class - - if (copymode) return; - - atom->delete_callback(id,0); - -// if (ewaldDielectric) delete ewaldDielectric; -// ewaldDielectric = NULL; - - memory->destroy(tags_interface); - memory->destroy(tags_ions); - - memory->destroy(inverse_matrix); - memory->destroy(Rww); - memory->destroy(G1ww); - memory->destroy(G2ww); - memory->destroy(G3ww); - memory->destroy(ndotGww); - memory->destroy3d_offset(gradG1ww,0); - - memory->destroy(qiRqwVector); - memory->destroy(sum2G2wq); - memory->destroy(G1qq_real); - memory->destroy(G1qw_real); - memory->destroy3d_offset(gradG1wq_real,0); - - memory->destroy(sum1G2qw); - memory->destroy(sum1G3qw); - memory->destroy(sum1G1qw_epsilon); - memory->destroy(sum2ndotGwq_epsilon); - - memory->destroy(q_induced_charges); - -} - -/* ---------------------------------------------------------------------- */ - -int FixQEqDielectric::setmask() -{ - int mask = 0; - mask |= PRE_FORCE; - mask |= PRE_FORCE_RESPA; - mask |= MIN_PRE_FORCE; - return mask; -} - -/* ---------------------------------------------------------------------- */ - -void FixQEqDielectric::init() -{ - if (atom->map_style == 0) - error->all(FLERR,"Fix qeq/dielectric requires an atom map, see atom_modify"); - - ngroup = group->count(igroup); - if (ngroup == 0) error->all(FLERR,"Fix qeq/dielectric group has no atoms"); - - if (comm->nprocs > 1) error->all(FLERR,"Fix qeq/dielectric works with 1 MPI for now"); - - // need a full neighbor list w/ Newton off and ghost neighbors - // built whenever re-neighboring occurs - - int irequest = neighbor->request(this,instance_me); - neighbor->requests[irequest]->pair = 0; - neighbor->requests[irequest]->fix = 1; - neighbor->requests[irequest]->half = 0; - neighbor->requests[irequest]->full = 1; - neighbor->requests[irequest]->occasional = 0; - - if (strstr(update->integrate_style,"respa")) - nlevels_respa = ((Respa *) update->integrate)->nlevels; - - // TODO: some data needed later, some just temp should be defined and release in setup_pre_force. - // initial interfaces terms - n_induced_charges = ngroup; - n_ions = atom->nlocal - n_induced_charges; - if (force->kspace) g_ewald = force->kspace->g_ewald; - else g_ewald = 0.01; - - // kspace -// int narg = 1; -// char *arg[10] = {"0.0000"}; // this does not matter, the accuracy_relative is manually changed to kspace accuracy_relative in constructor. -// ewaldDielectric = new EwaldDielectric(n_induced_charges, n_ions, lmp, narg, arg); - // tags, after ewaldDielectric created, tags will be transfer to that class too. - memory->create(tags_interface, n_induced_charges, "fix:tags_interface"); - memory->create(tags_ions, n_ions, "fix:tags_ions"); - - // initialize all data - // interface terms, all matrix of M*M - memory->create(inverse_matrix, n_induced_charges, n_induced_charges, "fix:inverse_matrix"); - memory->create(Rww, n_induced_charges, n_induced_charges, "fix:Rww"); - memory->create(G1ww, n_induced_charges, n_induced_charges, "fix:G1ww"); - memory->create(ndotGww, n_induced_charges, n_induced_charges, "fix:ndotGww"); - memory->create(G2ww, n_induced_charges, n_induced_charges, "fix:G2ww"); - memory->create(G3ww, n_induced_charges, n_induced_charges, "fix:G3ww"); - memory->create3d_offset(gradG1ww,0,n_induced_charges,n_induced_charges,3,"fix:gradG1ww"); - - // each step, qw, qq terms, temp data - memory->create(qiRqwVector, n_induced_charges, "fix:qiRqwVector"); - memory->create(sum2G2wq, n_induced_charges, "fix:sum2G2wq"); - memory->create(G1qq_real, n_ions, n_ions, "fix:G1qq_real"); - memory->create(G1qw_real, n_ions, n_induced_charges, "fix:G1qw_real"); - memory->create3d_offset(gradG1wq_real,0,n_induced_charges,n_ions,3,"fix:gradG1wq_real"); - // array of M - memory->create(sum1G2qw, n_induced_charges, "fix:sum1G2qw"); - memory->create(sum1G3qw, n_induced_charges, "fix:sum1G3qw"); - memory->create(sum1G1qw_epsilon, n_induced_charges, "fix:sum1G1qw_epsilon"); - memory->create(sum2ndotGwq_epsilon, n_induced_charges, "fix:sum2ndotGwq_epsilon"); - - memory->create(q_induced_charges, n_induced_charges, "fix:q_induced_charges"); - - setup_tags(); -// print_all_properties(); -} - -/* ---------------------------------------------------------------------- */ - -void FixQEqDielectric::init_list(int id, NeighList *ptr) -{ - list = ptr; -} - -/* ---------------------------------------------------------------------- */ - -void FixQEqDielectric::setup_pre_force(int vflag) -{ -// printf("========= calculate structure factors and kspace terms ==========\n"); - // calculate structure factor and kspace terms first - // TODO this step seems not necessary, check it later - // since the 3-loop calculate explicit kspace term G(sk, sm), so the structure factor stuff is not necessary -// ewaldDielectric->calculate_structure_factors(); -// ewaldDielectric->calculate_kspace_terms(); - - printf("==== Start setup_pre_force in fix_qeq_dielectric ======\n"); - clock_t t = clock(); - #ifdef _OPENMP - double startTime = omp_get_wtime(); - #endif - - if (full) calculate_Rww_full(); - else calculate_Rww_cutoff(); - - // calculate inverse matrix (Rww + Rww^T)^(-1), - printf("==== Calculate the inverse of matrix Rww ======\n"); - calculate_inverse_matrix(Rww, inverse_matrix, n_induced_charges); - - pre_force(vflag); - - printf("==== End setup_pre_force in fix_qeq_dielectric ======\n"); - -} - -/* ---------------------------------------------------------------------- */ - -void FixQEqDielectric::calculate_Rww_full() -{ - int *mask = atom->mask; - int *type = atom->type; - int nlocal = atom->nlocal; - double **x = atom->x; - double *area = avec->area; - double *curvature = avec->curvature; - double **norm = avec->mu; - double *ed = avec->ed; - double *em = avec->em; - - // calculate interface term Rww and the inverse matrix (Rww + Rww^T)^(-1); - - #pragma omp parallel - { - - // calculate G1ww, gradG1ww, ndotG1ww - // =========== Loop over all nlocal ===============, we need all pair G^Kspace(i, j) - #pragma omp for - for (int k = 0; k < n_induced_charges; ++k) { - // nk: all nlocal index in atom[] starts with n---, k is the index of all the matrix - int nk = get_index_interface(k); - double xtmp = x[nk][0]; - double ytmp = x[nk][1]; - double ztmp = x[nk][2]; - - for (int l = 0; l < n_induced_charges; ++l) { - int nl = get_index_interface(l); - - // ik = il, dr = 0, different equation - if (nk == nl) { - G1ww[k][l] = calculate_greens_ewald_self_vertex(area[nk]); - ndotGww[k][l] = calculate_ndotgreens_ewald_self_vertex(area[nk], curvature[nk]) / (4*MY_PI); - continue; - } else { - // k != l - double delx = xtmp - x[nl][0]; - double dely = ytmp - x[nl][1]; - double delz = ztmp - x[nl][2]; - - domain->minimum_image(delx,dely,delz); - - G1ww[k][l] = calculate_greens_ewald(delx, dely, delz); - // gradG1ww is vector, directly change it in the function - calculate_grad_greens_ewald(gradG1ww[k][l], delx, dely, delz); - // use mu to store the normal vector of interface vertex - ndotGww[k][l] = MathExtra::dot3(norm[nk], gradG1ww[k][l]) / (4*MY_PI); - } - } - } - - // calculate G2ww - #pragma omp for - for (int k = 0; k < n_induced_charges; ++k) { - for (int l = 0; l < n_induced_charges; ++l) { - double temp = 0; - for (int m = 0; m < n_induced_charges; ++m) { - int nm = get_index_interface(m); - temp += G1ww[k][m] * ndotGww[m][l] * area[nm] * ed[nm]; - } - G2ww[k][l] = temp; - } - } - - // calculate G3ww and Rww - #pragma omp for - for (int k = 0; k < n_induced_charges; ++k) { - int nk = get_index_interface(k); - for (int l = 0; l < n_induced_charges; ++l) { - int nl = get_index_interface(l); - double temp = 0; - for (int m = 0; m < n_induced_charges; ++m) { - int nm = get_index_interface(m); - temp += (ndotGww[m][k]) * G2ww[m][l] * area[nm] * ed[nm]; - } - G3ww[k][l] = temp; - double a1 = em[nk] * (em[nl] - 1.0); - double a2 = 1.0 - em[nk] - em[nl]; - // The first term (w/ G1ww) contributes the most to Rww - // the second term (w/ G2ww) includes certain correction - // the third term (w/ G3ww) corresponds to a minor contribution - Rww[k][l] = a1 * G1ww[k][l] + a2 * G2ww[k][l] + G3ww[k][l]; - } - } - } // end of the whole parallel region - - #ifdef _POLARIZE_DEBUG - if (comm->me == 0) { - FILE* fp = fopen("Rww-qeq-full.txt", "w"); - for (int i = 0; i < n_induced_charges; i++) - fprintf(fp, "%d %g\n", i, Rww[i][i]); - fclose(fp); - } - #endif -} - -/* ---------------------------------------------------------------------- */ - -void FixQEqDielectric::calculate_Rww_cutoff() -{ - int *mask = atom->mask; - int *type = atom->type; - int nlocal = atom->nlocal; - double **x = atom->x; - double *area = avec->area; - double *curvature = avec->curvature; - double **norm = avec->mu; - double *ed = avec->ed; - double *em = avec->em; - - // invoke full neighbor list (will copy or build if necessary) - - int inum,jnum,*ilist,*jlist,*numneigh,**firstneigh; - - inum = list->inum; // number of entries in the neighbor list - ilist = list->ilist; // ilist[ii] gives the atom index of the entry ii in the list - numneigh = list->numneigh; // numneigh[i] gives the number of neighbors of local atom i - firstneigh = list->firstneigh; // firstneigh[i] gives the pointer to the neighbors of i - - // calculate G1ww, gradG1ww, ndotG1ww - - for (int ii = 0; ii < inum; ii++) { - int i = ilist[ii]; - if (mask[i] & groupbit) { - // interface particles - int mi = get_matrix_index_from_local_index(i); - double xtmp = x[i][0]; - double ytmp = x[i][1]; - double ztmp = x[i][2]; - jlist = firstneigh[i]; - jnum = numneigh[i]; - - for (int kk = 0; kk < jnum; kk++) { - int k = jlist[kk] & NEIGHMASK; - if (mask[k] & groupbit) { - // interface particles - double delx = xtmp - x[k][0]; - double dely = ytmp - x[k][1]; - double delz = ztmp - x[k][2]; - domain->minimum_image(delx,dely,delz); - int mk = get_matrix_index_from_local_index(k); - - G1ww[mi][mk] = calculate_greens_ewald(delx, dely, delz); - // gradG1ww is vector, directly change it in the function - calculate_grad_greens_ewald(gradG1ww[mi][mk], delx, dely, delz); - // use mu to store the normal vector of interface vertex - ndotGww[mi][mk] = MathExtra::dot3(norm[i], gradG1ww[mi][mk]) / (4*MY_PI); - } - } - - // special treatment for the diagonal terms because in the above loop there is no mk == mi - - G1ww[mi][mi] = calculate_greens_ewald_self_vertex(area[i]); - ndotGww[mi][mi] = calculate_ndotgreens_ewald_self_vertex(area[i], curvature[i]) / (4*MY_PI); - } - } - - // calculate G2ww - - for (int ii = 0; ii < inum; ii++) { - int i = ilist[ii]; - if (mask[i] & groupbit) { - // interface particles - int mi = get_matrix_index_from_local_index(i); - jlist = firstneigh[i]; - jnum = numneigh[i]; - - for (int kk = 0; kk < jnum; kk++) { - int k = jlist[kk] & NEIGHMASK; - - if (mask[k] & groupbit) { - // interface particles - int mk = get_matrix_index_from_local_index(k); - double temp = 0; - for (int ll = 0; ll < jnum; ll++) { - int l = jlist[ll] & NEIGHMASK; - if (mask[l] & groupbit) { - // interface particles - int ml = get_matrix_index_from_local_index(l); - temp += G1ww[mi][ml] * ndotGww[ml][mk] * area[l] * ed[l]; - } - } - G2ww[mi][mk] = temp; - } - } - - // including the diagonal term - double temp = 0; - for (int kk = 0; kk < jnum; kk++) { - int k = jlist[kk] & NEIGHMASK; - if (mask[k] & groupbit) { - // interface particles - int mk = get_matrix_index_from_local_index(k); - temp += G1ww[mi][mk] * ndotGww[mk][mi] * area[k] * ed[k]; - } - } - G2ww[mi][mi] = temp; - } - } - - // calculate G3ww and Rww -/* - // G3ww is implemented as in _exact(), but can be optionally excluded - for (int k = 0; k < n_induced_charges; ++k) { - int nk = get_index_interface(k); - for (int l = 0; l < n_induced_charges; ++l) { - int nl = get_index_interface(l); - double a1 = em[nk] * (em[nl] - 1.0); - double a2 = 1.0 - em[nk] - em[nl]; - // The first term (w/ G1ww) contributes the most to Rww - // the second term (w/ G2ww) includes certain correction - Rww[k][l] = a1 * G1ww[k][l] + a2 * G2ww[k][l]; - - // the third term (w/ G3ww) corresponds to a minor contribution - if (includingG3ww) { - double temp = 0; - for (int m = 0; m < n_induced_charges; ++m) { - int nm = get_index_interface(m); - temp += (ndotGww[m][k]) * G2ww[m][l] * area[nm] * ed[nm]; - } - G3ww[k][l] = temp; - Rww[k][l] += G3ww[k][l]; - } - } - } -*/ - - for (int ii = 0; ii < inum; ii++) { - int i = ilist[ii]; - if (mask[i] & groupbit) { - // interface particles - int mi = get_matrix_index_from_local_index(i); - jlist = firstneigh[i]; - jnum = numneigh[i]; - - for (int kk = 0; kk < jnum; kk++) { - int k = jlist[kk] & NEIGHMASK; - - if (mask[k] & groupbit) { - // interface particles - int mk = get_matrix_index_from_local_index(k); - - double a1 = em[mi] * (em[mk] - 1.0); - double a2 = 1.0 - em[mi] - em[mk]; - // The first term (w/ G1ww) contributes the most to Rww - // the second term (w/ G2ww) includes certain correction - Rww[mi][mk] = a1 * G1ww[mi][mk] + a2 * G2ww[mi][mk]; - - if (includingG3ww) { - double temp = 0; - for (int ll = 0; ll < jnum; ll++) { - int l = jlist[ll] & NEIGHMASK; - if (mask[l] & groupbit) { - // interface particles - int ml = get_matrix_index_from_local_index(l); - temp += (ndotGww[ml][mi]) * G2ww[ml][mk] * area[l] * ed[l]; - } - } - G3ww[mi][mk] = temp; - Rww[mi][mk] += G3ww[mi][mk]; - } - } - } - - if (includingG3ww) { - double temp = 0; - for (int ll = 0; ll < jnum; ll++) { - int l = jlist[ll] & NEIGHMASK; - if (mask[l] & groupbit) { - // interface particles - int ml = get_matrix_index_from_local_index(l); - temp += (ndotGww[ml][mi]) * G2ww[ml][mi] * area[l] * ed[l]; - } - } - G3ww[mi][mi] = temp; - Rww[mi][mi] += G3ww[mi][mi]; - } - - // including the diagonal term - double a1 = em[i] * (em[i] - 1.0); - double a2 = 1.0 - em[i] - em[i]; - // The first term (w/ G1ww) contributes the most to Rww - // the second term (w/ G2ww) includes certain correction - Rww[mi][mi] = a1 * G1ww[mi][mi] + a2 * G2ww[mi][mi]; - if (includingG3ww) Rww[mi][mi] += G3ww[mi][mi]; - } - } - - #ifdef _POLARIZE_DEBUG - if (comm->me == 0) { - FILE* fp = fopen("Rww-qeq-cutoff.txt", "w"); - for (int i = 0; i < n_induced_charges; i++) - fprintf(fp, "%d %g\n", i, Rww[i][i]); - fclose(fp); - } - #endif -} - -/* ---------------------------------------------------------------------- */ - -void FixQEqDielectric::setup_pre_force_respa(int vflag, int ilevel) -{ - if (ilevel < nlevels_respa-1) return; - setup_pre_force(vflag); -} - -/* ---------------------------------------------------------------------- */ - -void FixQEqDielectric::min_setup_pre_force(int vflag) -{ - setup_pre_force(vflag); -} - -/* ---------------------------------------------------------------------- */ - -void FixQEqDielectric::pre_force(int vflag) -{ -// setup_tags_local(); - - // very important! change all ions q to real q to calculate the structure factor, - // later will change to scaled q to calculate force. - change_all_ions_q_to_real_q(); - - // calculate structure factor and kspace terms first -// ewaldDielectric->calculate_structure_factors(); -// ewaldDielectric->calculate_kspace_terms(); - - // main calculation - if (full) calculate_qiRqw_full(); - else calculate_qiRqw_cutoff(); - - // compute induced charges - compute_induced_charges(); -} - -/* ---------------------------------------------------------------------- */ - -void FixQEqDielectric::calculate_qiRqw_full() -{ - int *mask = atom->mask; - int *type = atom->type; - int nlocal = atom->nlocal; - double **x = atom->x; - double *q = avec->q_real; - double *epsilon = avec->epsilon; - double *area = avec->area; - double **norm = avec->mu; - double *ed = avec->ed; - double *em = avec->em; - - // compute Green's functions - // compute qRqw - - #pragma omp parallel - { - - // calculate G1, gradient G1 - #pragma omp for - for (int i = 0; i < n_ions; i++) { - int ni = get_index_ions(i); - double xtmp = x[ni][0]; - double ytmp = x[ni][1]; - double ztmp = x[ni][2]; - - for (int k = 0; k < n_induced_charges; ++k) { - int nk = get_index_interface(k); - double delx = xtmp - x[nk][0]; - double dely = ytmp - x[nk][1]; - double delz = ztmp - x[nk][2]; - domain->minimum_image(delx,dely,delz); - double r = sqrt(delx * delx + dely * dely + delz * delz); - G1qw_real[i][k] = greens_real(r); - } - } - - // the following loop need the above results, - #pragma omp for - for (int k = 0; k < n_induced_charges; ++k) { - int nk = get_index_interface(k); - double xtmp = x[nk][0]; - double ytmp = x[nk][1]; - double ztmp = x[nk][2]; - double tempndotG[3] = {0.0, 0.0, 0.0}; - double temp_sum1 = 0; - for (int i = 0; i < n_ions; i++) { - int ni = get_index_ions(i); - // posvecqw[i][k] - double delx = x[ni][0] - xtmp; - double dely = x[ni][1] - ytmp; - double delz = x[ni][2] - ztmp; - domain->minimum_image(delx,dely,delz); - calculate_grad_greens_real(gradG1wq_real[k][i], delx, dely, delz); - MathExtra::scale3(-1.0, gradG1wq_real[k][i]); - - tempndotG[0] += gradG1wq_real[k][i][0] * (q[ni] / epsilon[ni]); - tempndotG[1] += gradG1wq_real[k][i][1] * (q[ni] / epsilon[ni]); - tempndotG[2] += gradG1wq_real[k][i][2] * (q[ni] / epsilon[ni]); - temp_sum1 += G1qw_real[i][k] * q[ni] / epsilon[ni]; - } - sum1G1qw_epsilon[k] = temp_sum1; // + ewaldDielectric->sum1G1qw_k_epsilon[k]; -// double temp_sum2 = 0; -// for (int ic = 0; ic < 3; ++ic) { -// temp_sum2 += norm[nk][ic] * (tempndotG[ic] + ewaldDielectric->sum2gradG1wq_k_epsilon[k][ic]); -// temp_sum2 += norm[nk][ic] * (tempndotG[ic]); -// } - double temp_sum2 = MathExtra::dot3(norm[nk], tempndotG); - sum2ndotGwq_epsilon[k] = temp_sum2; - } - - // calculate G2, gradient G2 - #pragma omp for nowait - for (int k = 0; k < n_induced_charges; ++k) { - double tempwq = 0; - for (int m = 0; m < n_induced_charges; ++m) { - int nm = get_index_interface(m); - tempwq += G1ww[k][m] * (sum2ndotGwq_epsilon[m]) * area[nm] * ed[nm]; - } - sum2G2wq[k] = tempwq; - } - - #pragma omp for - for (int k = 0; k < n_induced_charges; ++k) { - double temp = 0; - for (int m = 0; m < n_induced_charges; ++m) { - int nm = get_index_interface(m); - temp += sum1G1qw_epsilon[m] * (ndotGww[m][k]) * area[nm] * ed[nm]; - } - sum1G2qw[k] = temp; - } - - // calculate G3, gradient G3 - #pragma omp for - for (int k = 0; k < n_induced_charges; ++k) { - int nk = get_index_interface(k); - - double qiRwwVectorTemp1 = 0; - for (int i = 0; i < n_ions; ++i) { - int ni = get_index_ions(i); - qiRwwVectorTemp1 += q[ni] * (1.0 - em[nk] / epsilon[ni]) * G1qw_real[i][k]; - } -// qiRwwVectorTemp1 += ewaldDielectric->sum1G1qw_k[k] - em[nk] * ewaldDielectric->sum1G1qw_k_epsilon[k]; - - double temp = 0; - for (int m = 0; m < n_induced_charges; ++m) { - int nm = get_index_interface(m); - temp += sum2ndotGwq_epsilon[m] * G2ww[m][k] * area[nm] * ed[nm]; - } - sum1G3qw[k] = temp; - - // qiRwwVectorTemp2 is a significant contribution, of which sum2G2wq is significant - double qiRwwVectorTemp2 = (1.0 - 2.0 * em[nk]) * sum2G2wq[k] + sum1G2qw[k] + 2.0 * sum1G3qw[k]; - qiRqwVector[k] = qiRwwVectorTemp1 + qiRwwVectorTemp2; - } - - } // end of parallel region -} - -/* ---------------------------------------------------------------------- */ - -void FixQEqDielectric::calculate_qiRqw_cutoff() -{ - int ii, i, mi, k, kk, mk, jnum; - double xtmp, ytmp, ztmp, delx, dely, delz, r; - int *mask = atom->mask; - int *type = atom->type; - int nlocal = atom->nlocal; - double **x = atom->x; - double *q = avec->q_real; - double *epsilon = avec->epsilon; - double *area = avec->area; - double **norm = avec->mu; - double *ed = avec->ed; - double *em = avec->em; - - // invoke full neighbor list (will copy or build if necessary) - - int inum,*ilist,*jlist,*numneigh,**firstneigh; - - inum = list->inum; // number of entries in the neighbor list - ilist = list->ilist; // ilist[ii] gives the atom index of the entry ii in the list - numneigh = list->numneigh; // numneigh[i] gives the number of neighbors of local atom i - firstneigh = list->firstneigh; // firstneigh[i] gives the pointer to the neighbors of i - - for (ii = 0; ii < inum; ii++) { - i = ilist[ii]; - if (!(mask[i] & groupbit)) { - // ion particles - mi = get_matrix_index_from_local_index(i); - xtmp = x[i][0]; - ytmp = x[i][1]; - ztmp = x[i][2]; - jlist = firstneigh[i]; - jnum = numneigh[i]; - - for (kk = 0; kk < jnum; kk++) { - k = jlist[kk] & NEIGHMASK; - if (mask[k] & groupbit) { - // interface particles - delx = xtmp - x[k][0]; - dely = ytmp - x[k][1]; - delz = ztmp - x[k][2]; - domain->minimum_image(delx,dely,delz); - r = sqrt(delx * delx + dely * dely + delz * delz); - mk = get_matrix_index_from_local_index(k); - G1qw_real[mi][mk] = greens_real(r); - } - } - } - } - - // the following loop need the above results, - for (kk = 0; kk < inum; kk++) { - k = ilist[kk]; // k is local index - if (mask[k] & groupbit) { - // interface particles - mk = get_matrix_index_from_local_index(k); - xtmp = x[k][0]; - ytmp = x[k][1]; - ztmp = x[k][2]; - jlist = firstneigh[k]; - jnum = numneigh[k]; - - double tempndotG[3] = {0.0, 0.0, 0.0}; - double temp_sum1 = 0; - for (ii = 0; ii < jnum; ii++) { - i = jlist[ii] & NEIGHMASK; - if (!(mask[i] & groupbit)) { - // ions particles - delx = x[i][0] - xtmp; - dely = x[i][1] - ytmp; - delz = x[i][2] - ztmp; - domain->minimum_image(delx,dely,delz); - - mi = get_matrix_index_from_local_index(i); - calculate_grad_greens_real(gradG1wq_real[mk][mi], delx, dely, delz); - MathExtra::scale3(-1.0, gradG1wq_real[mk][mi]); - - tempndotG[0] += gradG1wq_real[mk][mi][0] * (q[i] / epsilon[i]); - tempndotG[1] += gradG1wq_real[mk][mi][1] * (q[i] / epsilon[i]); - tempndotG[2] += gradG1wq_real[mk][mi][2] * (q[i] / epsilon[i]); - temp_sum1 += G1qw_real[mi][mk] * q[i] / epsilon[i]; - } - } - sum1G1qw_epsilon[mk] = temp_sum1;// + ewaldDielectric->sum1G1qw_k_epsilon[mk]; -// double temp_sum2 = 0; -// for (int ic = 0; ic < 3; ++ic) { -// temp_sum2 += norm[k][ic] * (tempndotG[ic] + ewaldDielectric->sum2gradG1wq_k_epsilon[mk][ic]); -// temp_sum2 += norm[k][ic] * (tempndotG[ic]); -// } - double temp_sum2 = MathExtra::dot3(norm[k], tempndotG); - sum2ndotGwq_epsilon[mk] = temp_sum2; - } - } - - // calculate G2, gradient G2 - for (kk = 0; kk < inum; kk++) { - k = ilist[kk]; // k is local index - if (mask[k] & groupbit) { - // interface particles - mk = get_matrix_index_from_local_index(k); - jlist = firstneigh[k]; - jnum = numneigh[k]; - - double tempwq = 0; - double temp = 0; - for (ii = 0; ii < jnum; ii++) { - i = jlist[ii] & NEIGHMASK; - if (mask[i] & groupbit) { - // interface particles - mi = get_matrix_index_from_local_index(i); - tempwq += G1ww[mk][mi] * (sum2ndotGwq_epsilon[mi]) * area[i] * ed[i]; - temp += sum1G1qw_epsilon[mi] * (ndotGww[mi][mk]) * area[i] * ed[i]; - } - } - - // add the corresponding self terms - tempwq += G1ww[mk][mk] * (sum2ndotGwq_epsilon[mk]) * area[k] * ed[k]; - temp += sum1G1qw_epsilon[mk] * (ndotGww[mk][mk]) * area[k] * ed[k]; - - sum2G2wq[mk] = tempwq; - sum1G2qw[mk] = temp; - } - } - - // calculate G3, gradient G3 - for (kk = 0; kk < inum; kk++) { - k = ilist[kk]; // k is local index - if (mask[k] & groupbit) { - // interface particles - mk = get_matrix_index_from_local_index(k); - - // qiRwwVectorTemp2 is a significant contribution, of which sum2G2wq is significant - double qiRwwVectorTemp1 = 0; - double qiRwwVectorTemp2 = (1.0 - 2.0 * em[k]) * sum2G2wq[mk]; - - if (includingG3ww) { - jlist = firstneigh[k]; - jnum = numneigh[k]; - double temp = 0; - for (ii = 0; ii < jnum; ii++) { - i = jlist[ii] & NEIGHMASK; - if (mask[i] & groupbit) { - // interface particles - mi = get_matrix_index_from_local_index(i); - temp += sum2ndotGwq_epsilon[mi] * G2ww[mi][mk] * area[i] * ed[i]; - } else { - // ions particles - mi = get_matrix_index_from_local_index(i); - qiRwwVectorTemp1 += q[i] * (1.0 - em[k] / epsilon[i]) * G1qw_real[mi][mk]; - } - } - // qiRwwVectorTemp1 += ewaldDielectric->sum1G1qw_k[mk] - em[k] * ewaldDielectric->sum1G1qw_k_epsilon[mk]; - - // add the corresponding self term - temp += sum2ndotGwq_epsilon[mk] * G2ww[mk][mk] * area[k] * ed[k]; - sum1G3qw[mk] = temp; - - qiRwwVectorTemp2 += sum1G2qw[mk] + 2.0 * sum1G3qw[mk]; - } - -// double qiRwwVectorTemp2 = (1.0 - 2.0 * em[k]) * sum2G2wq[mk] + + sum1G2qw[mk] + 2.0 * sum1G3qw[mk]; - qiRqwVector[mk] = qiRwwVectorTemp1 + qiRwwVectorTemp2; - } - } - #ifdef _POLARIZE_DEBUG - if (comm->me == 0) { - FILE* fp = fopen("qRqw-qeq.txt", "w"); - for (int i = 0; i < n_induced_charges; i++) - fprintf(fp, "%d %g\n", i, qiRqwVector[i]); - fclose(fp); - } - #endif -} - -/* ---------------------------------------------------------------------- */ - -void FixQEqDielectric::pre_force_respa(int vflag, int ilevel, int iloop) -{ - if (ilevel == nlevels_respa-1) pre_force(vflag); -} - -/* ---------------------------------------------------------------------- */ - -void FixQEqDielectric::min_pre_force(int vflag) -{ - pre_force(vflag); -} - -/* ---------------------------------------------------------------------- */ - -void FixQEqDielectric::compute_induced_charges() -{ - // inverse_matrix * qRqw, notice the w = - inverse_matrix * qRqw, do not forget the minus sign. - calculate_matrix_multiply_vector(inverse_matrix, qiRqwVector, - q_induced_charges, n_induced_charges); - - // map q induced charges back into atom, from global id tag = k to nlocal index of nk. - for (int k = 0; k < n_induced_charges; ++k) { - int nk = get_index_interface(k); - atom->q[nk] = -q_induced_charges[k] / (4*MY_PI); - } - - // important! change to scaled q to calculate force. - change_all_ions_q_to_scaled_q(); -} - -/* ---------------------------------------------------------------------- */ - -void FixQEqDielectric::change_all_ions_q_to_real_q() -{ - for (int i = 0; i < n_ions; ++i) { - int ni = get_index_ions(i); - atom->q[ni] = avec->q_real[ni]; - } - // communicate the induced charges - // for single MPI, this updates the ghost atoms' charges - comm->forward_comm_fix(this); -} - -/* ---------------------------------------------------------------------- */ - -void FixQEqDielectric::change_all_ions_q_to_scaled_q() -{ - for (int i = 0; i < n_ions; ++i) { - int ni = get_index_ions(i); - atom->q[ni] = avec->q_real[ni] / avec->epsilon[ni]; - } - // communicate the induced charges - // for single MPI, this updates the ghost atoms' charges - comm->forward_comm_fix(this); -} - -/* ---------------------------------------------------------------------- */ - -int FixQEqDielectric::modify_param(int narg, char **arg) -{ - int iarg = 0; - while (iarg < narg) { - if (strcmp(arg[iarg],"full") == 0) { - if (strcmp(arg[iarg+1],"yes") == 0) full = 1; - else if (strcmp(arg[iarg+1],"no") == 0) full = 0; - else error->all(FLERR,"Illegal fix_modify command for fix qeq/dielectric"); - iarg += 2; - } else if (strcmp(arg[iarg],"dielectrics") == 0) { - if (iarg+5 > narg) error->all(FLERR,"Illegal fix_modify command"); - double epsiloni=-1, areai=-1; - double ediff = force->numeric(FLERR,arg[iarg+1]); - double emean = force->numeric(FLERR,arg[iarg+2]); - if (strcmp(arg[iarg+3],"NULL") != 0) epsiloni = force->numeric(FLERR,arg[iarg+3]); - if (strcmp(arg[iarg+4],"NULL") != 0) areai = force->numeric(FLERR,arg[iarg+4]); - - set_dielectric_params(ediff, emean, epsiloni, areai); - - iarg += 5; - } else error->all(FLERR,"Illegal fix_modify command"); - } - - return iarg; -} - -/* ---------------------------------------------------------------------- */ - -int FixQEqDielectric::pack_forward_comm(int n, int *list, double *buf, - int pbc_flag, int *pbc) -{ - int m; - for (m = 0; m < n; m++) buf[m] = atom->q[list[m]]; - return n; -} - -/* ---------------------------------------------------------------------- */ - -void FixQEqDielectric::unpack_forward_comm(int n, int first, double *buf) -{ - int i, m; - for (m = 0, i = first; m < n; m++, i++) atom->q[i] = buf[m]; -} - -/* ---------------------------------------------------------------------- - memory usage of local atom-based arrays -------------------------------------------------------------------------- */ - -double FixQEqDielectric::memory_usage() -{ - double bytes = 0; - - return bytes; -} - -/* ---------------------------------------------------------------------- - allocate fictitious charge arrays -------------------------------------------------------------------------- */ - -void FixQEqDielectric::grow_arrays(int nmax) -{ - -} - -/* ---------------------------------------------------------------------- - copy values within fictitious charge arrays -------------------------------------------------------------------------- */ - -void FixQEqDielectric::copy_arrays(int i, int j, int delflag) -{ - -} - -/* ---------------------------------------------------------------------- - set dielectric params for the atom in the group -------------------------------------------------------------------------- */ - -void FixQEqDielectric::set_dielectric_params(double ediff, double emean, - double epsiloni, double areai) -{ - int i; - double *area = avec->area; - double *ed = avec->ed; - double *em = avec->em; - double *epsilon = avec->epsilon; - int *mask = atom->mask; - int nlocal = atom->nlocal; - - for (i = 0; i < nlocal; i++) { - if (mask[i] & groupbit) { - ed[i] = ediff; - em[i] = emean; - if (areai > 0) area[i] = areai; - if (epsiloni > 0) epsilon[i] = epsiloni; - } - } -} - -/* ---------------------------------------------------------------------- - setup mapping from tags to indices in matrices/vectors -------------------------------------------------------------------------- */ -void FixQEqDielectric::setup_tags() -{ - // This function should not be put into init(), because the indices would change, so put it in pre_force_setup(). - // TODO: this function should be called each time the local index changes. -// if (atom->nlocal != atom->natoms) -// error->all(FLERR, "Single MPI only"); - - //TODO: suppose there are only 2 types of atoms, one for interface and one for ions. - - tagint* tag = atom->tag; - int* mask = atom->mask; - int nlocal = atom->nlocal; - - int i_interface = 0; - int i_ions = 0; - int t; - for (int i = 0; i < nlocal; ++i) { - // interface atoms - if (mask[i] & groupbit) { - t = tag[i]; - tags_interface[i_interface] = t; - if (t >= matrix_index_from_global_id.size()) - matrix_index_from_global_id.resize(t + 1); - matrix_index_from_global_id[t] = i_interface; - i_interface++; - } else { - // ions atoms - t = tag[i]; - tags_ions[i_ions] = t; - if (t >= matrix_index_from_global_id.size()) - matrix_index_from_global_id.resize(t + 1); - matrix_index_from_global_id[t] = i_ions; - i_ions++; - } - } - -// assert(i_interface == n_induced_charges); -// assert(i_ions == n_ions); - - // ewald calculations need the information of all tags -// ewaldDielectric->tags_interface = tags_interface; -// ewaldDielectric->tags_ions = tags_ions; -} - -/* ---------------------------------------------------------------------- */ - -void FixQEqDielectric::print_all_properties() -{ - // set epsilon_ions, em, ed, and q of interfaces - double *q_real = avec->q_real; - double *q = atom->q; - double *epsilon = avec->epsilon; - double *area = avec->area; - double *curvature = avec->curvature; - double **norm = avec->mu; - double *ed = avec->ed; - double *em = avec->em; - // debug file - FILE *debugFile = fopen("_debug.log", "w"); - fprintf(debugFile, "============ Ions Info =============\n"); - for (int i = 0; i < n_ions; ++i) { - int ni = get_index_ions(i); - fprintf(debugFile, "id: %d, local index: %d, real q: %f, rescaled q: %f, epsilon: %f\n", - atom->tag[ni], ni, q_real[ni], atom->q[ni], epsilon[ni]); - } - fprintf(debugFile, "============ Interface Info =============\n"); - for (int k = 0; k < n_induced_charges; ++k) { - int nk = get_index_interface(k); - fprintf(debugFile, "id: %d, local index: %d, xyz: %f %f %f, q: %f, scaled q: %f, area: %f, " - "curvature: %f, em: %f, ed: %f, norm: %f %f %f\n", - atom->tag[nk], nk, atom->x[nk][0], atom->x[nk][1], atom->x[nk][2], - q_real[nk], atom->q[nk], area[nk], curvature[nk], em[nk], ed[nk], - norm[nk][0], norm[nk][1], norm[nk][2]); - } - fclose(debugFile); -} - -/* ---------------------------------------------------------------------- */ - -void FixQEqDielectric::setup_tags_local() -{ - // TODO: this function should be called each time the local index changes. - //TODO: suppose there are only 2 types of atoms, one for interface and one for ions. - tags_interface_local.clear(); - tags_ions_local.clear(); - int i_interface = 0; - int i_ions = 0; - for (int i = 0; i < atom->nlocal; ++i) { - // interface atoms - if ((atom->mask[i] & groupbit)) { - tags_interface_local.push_back(atom->tag[i]); - i_interface++; - } else { - // ions atoms - tags_ions_local.push_back(atom->tag[i]); - i_ions++; - } - } - n_induced_charges_local = i_interface; - n_ions_local = i_ions; - - // ewald calculations need the information of all tags -// ewaldDielectric->tags_interface_local = &tags_interface_local; -// ewaldDielectric->tags_ions_local = &tags_ions_local; -} - -/* ---------------------------------------------------------------------- - real Green's function ------------------------------------------------------------------------- */ - -double FixQEqDielectric::greens_real(double r) -{ - return erfc(g_ewald * r) / r; -} - -/* ---------------------------------------------------------------------- */ - -double FixQEqDielectric::grad_greens_real_factor(double r) -{ - double alpharij = g_ewald * r; - double factor = erfc(alpharij) + 2.0 * alpharij / MY_PIS * exp(-(alpharij * alpharij)); - double r3 = r*r*r; - return factor * (-1.0 / r3); -} - -/* ---------------------------------------------------------------------- */ - -void FixQEqDielectric::calculate_grad_greens_real(double *vec, double dx, double dy, double dz) -{ - double r = sqrt(dx * dx + dy * dy + dz * dz); - double real = grad_greens_real_factor(r); - vec[0] = real * dx; - vec[1] = real * dy; - vec[2] = real * dz; -} - -/* ---------------------------------------------------------------------- */ - -double FixQEqDielectric::calculate_greens_ewald(double dx, double dy, double dz) -{ - double r = sqrt(dx * dx + dy * dy + dz * dz); - return greens_real(r);// + calculate_greens_ewald_reciprocal(dx, dy, dz); -} - -/* ---------------------------------------------------------------------- */ - -void FixQEqDielectric::calculate_grad_greens_ewald(double *vec, double dx, double dy, double dz) - { - // real part of grad greens, must be first, because the vec is reset - calculate_grad_greens_real(vec, dx, dy, dz); - // kspace part, must be 2nd, because the vec is self additive. -// calculate_grad_greens_ewald_reciprocal(vec, dx, dy, dz); -} - -/* ---------------------------------------------------------------------- - given the matrix Rww, calculate inverse matrix (Rww + Rww^T)^(-1), ------------------------------------------------------------------------- */ - -void FixQEqDielectric::calculate_inverse_matrix(double **Rww, double **inverse_matrix, int M) -{ - // convel rt into gsmatrix - gsl_matrix *matrixRww = gsl_matrix_alloc(M, M); - for (int k = 0; k < M; ++k) { - for (int l = 0; l < M; ++l) { - gsl_matrix_set(matrixRww, k, l, Rww[k][l]); - } - } - - // QT: = Rww + Rww ^ T Matrix - gsl_matrix *QT = gsl_matrix_alloc(M, M); - gsl_matrix_transpose_memcpy(QT, matrixRww); - gsl_matrix_add(QT, matrixRww); - - - int sign; - gsl_permutation *p = gsl_permutation_alloc(M); - gsl_linalg_LU_decomp(QT, p, &sign); - gsl_linalg_LU_invert(QT, p, matrixRww); // here matrixRww to store inverse_matrix - - // convert back - for (int k = 0; k < M; ++k) { - for (int l = 0; l < M; ++l) { - inverse_matrix[k][l] = gsl_matrix_get(matrixRww, k, l); - } - } - - gsl_matrix_free(QT); - gsl_permutation_free(p); - gsl_matrix_free(matrixRww); -} - -/* ---------------------------------------------------------------------- */ - -void FixQEqDielectric::calculate_matrix_multiply_vector(double **matrix, - double *in_vec, double *out_vec, int M) -{ - #pragma parallel omp for - for (int k = 0; k < M; ++k) { - double temp = 0.0; - for (int l = 0; l < M; ++l) { - temp += matrix[k][l] * in_vec[l]; - } - out_vec[k] = temp; - } -} - -/* ---------------------------------------------------------------------- */ - -double FixQEqDielectric::calculate_greens_ewald_self_vertex(double area) -{ - // this term is very important, cannot be set to zero. see .pptx - double corr = 2.0 * MY_PIS / sqrt(area); - double self_energy = -2.0 * g_ewald / MY_PIS; - return corr + self_energy;// + calculate_greens_ewald_reciprocal(0, 0, 0); -} - -/* ---------------------------------------------------------------------- */ - -double FixQEqDielectric::calculate_ndotgreens_ewald_self_vertex(double area, double curvature) -{ - // this term is important, cannot be set to zero. see .pptx - // curvature = 1 / R, minus if norm is inverse of R to center. - // Honghao Li's result, the same with Erik's paper, J Chem Phys 140 064903 (2014) - return curvature * MY_PIS / sqrt(area); -} - diff --git a/src/USER-DIELECTRIC/fix_qeq_dielectric.h b/src/USER-DIELECTRIC/fix_qeq_dielectric.h deleted file mode 100644 index ae573bac55..0000000000 --- a/src/USER-DIELECTRIC/fix_qeq_dielectric.h +++ /dev/null @@ -1,153 +0,0 @@ -/* -*- c++ -*- ---------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -/* ---------------------------------------------------------------------- - Contributing author: -------------------------------------------------------------------------- */ - -#ifdef FIX_CLASS - -FixStyle(qeq/dielectric,FixQEqDielectric) - -#else - -#ifndef LMP_FIX_QEQ_DIELECTRIC_H -#define LMP_FIX_QEQ_DIELECTRIC_H - -#include -#include "atom.h" -#include "fix.h" -//#include "ewald_dielectric.h" - -namespace LAMMPS_NS { - -class FixQEqDielectric : public Fix { - public: - FixQEqDielectric(class LAMMPS *, int, char **); - ~FixQEqDielectric(); - int setmask(); - void init(); - void init_list(int,class NeighList *); - void setup_pre_force(int); - void pre_force(int); - int modify_param(int, char**); - - void setup_pre_force_respa(int, int); - void pre_force_respa(int, int, int); - void min_setup_pre_force(int); - void min_pre_force(int); - - int pack_forward_comm(int, int *, double *, int, int *); - void unpack_forward_comm(int, int, double *); - void grow_arrays(int); - void copy_arrays(int, int, int); - double memory_usage(); - - void calculate_Rww_full(); - void calculate_Rww_cutoff(); - - void calculate_qiRqw_full(); - void calculate_qiRqw_cutoff(); - - void compute_induced_charges(); - void set_dielectric_params(double, double, double, double); - - protected: - class AtomVecDielectric* avec; - - int nevery; - int nlevels_respa; - class NeighList *list; - - bigint ngroup; - int full; - int includingG3ww; - - // Ewald-related functions and data structures -// class EwaldDielectric *ewaldDielectric; - - // interface term, ww - // matrix M*M - double **inverse_matrix; - double **G1ww, **ndotGww, **G2ww, **G3ww, **Rww; - double ***gradG1ww; //matrix of vectors M*M*3 - double *q_induced_charges; - - // qw, qq ion-interface terms - double *qiRqwVector; - double **G1qq_real, **G1qw_real; - double ***gradG1wq_real; //matrix of vectors M*M*3 - double *sum2G2wq; - // temp data for each steps - double *sum1G2qw; - double *sum1G3qw; - double *sum1G1qw_epsilon; - double *sum2ndotGwq_epsilon; - - double greens_real(double); - double grad_greens_real_factor(double); - void calculate_grad_greens_real(double *, double, double, double); - double calculate_greens_ewald(double, double, double); - void calculate_grad_greens_ewald(double *, double, double, double); - void calculate_inverse_matrix(double **, double **, int); - void calculate_matrix_multiply_vector(double **, double *, double *, int); - double calculate_greens_ewald_self_vertex(double); - double calculate_ndotgreens_ewald_self_vertex(double, double); - double g_ewald; - - private: - // to store the global id (tag) of different particles. - int n_induced_charges, n_ions; - int *tags_interface, *tags_ions; - void setup_tags(); - inline int get_index_interface(int num) { - int id = tags_interface[num]; // id = fixed global id - return atom->map(id); - }; - inline int get_index_ions(int num) { - int id = tags_ions[num]; // id = fixed global id - return atom->map(id); - }; - void change_all_ions_q_to_real_q(); - void change_all_ions_q_to_scaled_q(); - - int n_induced_charges_local, n_ions_local; - std::vector tags_interface_local, tags_ions_local; - std::vector matrix_index_from_local_index; - std::vector matrix_index_from_global_id; - void setup_tags_local(); - inline int get_index_interface_local(int num) { - int id = tags_interface_local[num]; // id = fixed global id - return atom->map(id); - }; - inline int get_index_ions_local(int num) { - int id = tags_ions_local[num]; // id = fixed global id - return atom->map(id); - }; - - inline int get_matrix_index_from_local_index(int k) { - // for atom with local index k, what is the index in matrix (Rww + RwwT)^-1 for the whole system. - // notice this local index include ghost index too! - int id = atom->tag[k]; // id = fixed global id - return matrix_index_from_global_id[id]; - } - - // read all em, ed, norm of interface, and epsilon of ions - void print_all_properties(); - -}; - -} - -#endif -#endif diff --git a/src/USER-DIELECTRIC/pppm_disp_dielectric.cpp b/src/USER-DIELECTRIC/pppm_disp_dielectric.cpp deleted file mode 100644 index 8493428aa1..0000000000 --- a/src/USER-DIELECTRIC/pppm_disp_dielectric.cpp +++ /dev/null @@ -1,820 +0,0 @@ -/* ---------------------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -/* ---------------------------------------------------------------------- - Contributing authors: Trung Nguyen (Northwestern) -------------------------------------------------------------------------- */ - -#include -#include -#include -#include -#include -#include "pppm_disp_dielectric.h" -#include "math_const.h" -#include "atom.h" -#include "atom_vec_dielectric.h" -#include "comm.h" -#include "gridcomm.h" -#include "neighbor.h" -#include "force.h" -#include "pair.h" -#include "bond.h" -#include "angle.h" -#include "domain.h" -#include "fft3d_wrap.h" -#include "remap_wrap.h" -#include "memory.h" -#include "error.h" - -using namespace LAMMPS_NS; -using namespace MathConst; - -#define MAXORDER 7 -#define OFFSET 16384 -#define SMALL 0.00001 -#define LARGE 10000.0 -#define EPS_HOC 1.0e-7 - -enum{REVERSE_RHO, REVERSE_RHO_G, REVERSE_RHO_A, REVERSE_RHO_NONE}; -enum{FORWARD_IK, FORWARD_AD, FORWARD_IK_PERATOM, FORWARD_AD_PERATOM, - FORWARD_IK_G, FORWARD_AD_G, FORWARD_IK_PERATOM_G, FORWARD_AD_PERATOM_G, - FORWARD_IK_A, FORWARD_AD_A, FORWARD_IK_PERATOM_A, FORWARD_AD_PERATOM_A, - FORWARD_IK_NONE, FORWARD_AD_NONE, FORWARD_IK_PERATOM_NONE, FORWARD_AD_PERATOM_NONE}; - -#ifdef FFT_SINGLE -#define ZEROF 0.0f -#define ONEF 1.0f -#else -#define ZEROF 0.0 -#define ONEF 1.0 -#endif - -/* ---------------------------------------------------------------------- */ - -PPPMDispDielectric::PPPMDispDielectric(LAMMPS *lmp) : PPPMDisp(lmp) -{ - dipoleflag = 0; // turned off for now, until dipole works - group_group_enable = 0; - - mu_flag = 0; - - efield = NULL; - phi = NULL; - potflag = 0; - - avec = (AtomVecDielectric *) atom->style_match("dielectric"); - if (!avec) error->all(FLERR,"pppm/dielectric requires atom style dielectric"); -} - -/* ---------------------------------------------------------------------- */ - -PPPMDispDielectric::~PPPMDispDielectric() -{ - memory->destroy(efield); - memory->destroy(phi); -} - -/* ---------------------------------------------------------------------- - compute the PPPM long-range force, energy, virial -------------------------------------------------------------------------- */ - -void PPPMDispDielectric::compute(int eflag, int vflag) -{ - - int i; - // convert atoms from box to lamda coords - - if (eflag || vflag) ev_setup(eflag,vflag); - else evflag = evflag_atom = eflag_global = vflag_global = - eflag_atom = vflag_atom = 0; - - if (potflag) evflag_atom = 1; - - if (evflag_atom && !peratom_allocate_flag) { - allocate_peratom(); - if (function[0]) { - cg_peratom->ghost_notify(); - cg_peratom->setup(); - } - if (function[1] + function[2] + function[3]) { - cg_peratom_6->ghost_notify(); - cg_peratom_6->setup(); - } - peratom_allocate_flag = 1; - } - - if (triclinic == 0) boxlo = domain->boxlo; - else { - boxlo = domain->boxlo_lamda; - domain->x2lamda(atom->nlocal); - } - // extend size of per-atom arrays if necessary - - if (atom->nmax > nmax) { - - if (function[0]) { - memory->destroy(part2grid); - memory->destroy(efield); - memory->destroy(phi); - } - if (function[1] + function[2] + function[3]) memory->destroy(part2grid_6); - nmax = atom->nmax; - if (function[0]) { - memory->create(part2grid,nmax,3,"pppm/disp:part2grid"); - memory->create(efield,nmax,3,"pppm/disp:efield"); - memory->create(phi,nmax,"pppm/disp:phi"); - } - if (function[1] + function[2] + function[3]) - memory->create(part2grid_6,nmax,3,"pppm/disp:part2grid_6"); - } - - energy = 0.0; - energy_1 = 0.0; - energy_6 = 0.0; - if (vflag) for (i = 0; i < 6; i++) virial_6[i] = virial_1[i] = 0.0; - - // find grid points for all my particles - // distribute partcles' charges/dispersion coefficients on the grid - // communication between processors and remapping two fft - // Solution of poissons equation in k-space and backtransformation - // communication between processors - // calculation of forces - - if (function[0]) { - - //perfrom calculations for coulomb interactions only - - particle_map_c(delxinv, delyinv, delzinv, shift, part2grid, nupper, nlower, - nxlo_out, nylo_out, nzlo_out, nxhi_out, nyhi_out, nzhi_out); - - make_rho_c(); - - cg->reverse_comm(this,REVERSE_RHO); - - brick2fft(nxlo_in, nylo_in, nzlo_in, nxhi_in, nyhi_in, nzhi_in, - density_brick, density_fft, work1,remap); - - if (differentiation_flag == 1) { - - poisson_ad(work1, work2, density_fft, fft1, fft2, - nx_pppm, ny_pppm, nz_pppm, nfft, - nxlo_fft, nylo_fft, nzlo_fft, nxhi_fft, nyhi_fft, nzhi_fft, - nxlo_in, nylo_in, nzlo_in, nxhi_in, nyhi_in, nzhi_in, - energy_1, greensfn, - virial_1, vg,vg2, - u_brick, v0_brick, v1_brick, v2_brick, v3_brick, v4_brick, v5_brick); - - cg->forward_comm(this,FORWARD_AD); - - fieldforce_c_ad(); - - if (vflag_atom) cg_peratom->forward_comm(this, FORWARD_AD_PERATOM); - - } else { - poisson_ik(work1, work2, density_fft, fft1, fft2, - nx_pppm, ny_pppm, nz_pppm, nfft, - nxlo_fft, nylo_fft, nzlo_fft, nxhi_fft, nyhi_fft, nzhi_fft, - nxlo_in, nylo_in, nzlo_in, nxhi_in, nyhi_in, nzhi_in, - energy_1, greensfn, - fkx, fky, fkz,fkx2, fky2, fkz2, - vdx_brick, vdy_brick, vdz_brick, virial_1, vg,vg2, - u_brick, v0_brick, v1_brick, v2_brick, v3_brick, v4_brick, v5_brick); - - cg->forward_comm(this, FORWARD_IK); - - fieldforce_c_ik(); - - if (evflag_atom) cg_peratom->forward_comm(this, FORWARD_IK_PERATOM); - } - if (evflag_atom) fieldforce_c_peratom(); - } - - if (function[1]) { - //perfrom calculations for geometric mixing - particle_map(delxinv_6, delyinv_6, delzinv_6, shift_6, part2grid_6, nupper_6, nlower_6, - nxlo_out_6, nylo_out_6, nzlo_out_6, nxhi_out_6, nyhi_out_6, nzhi_out_6); - make_rho_g(); - - - cg_6->reverse_comm(this, REVERSE_RHO_G); - - brick2fft(nxlo_in_6, nylo_in_6, nzlo_in_6, nxhi_in_6, nyhi_in_6, nzhi_in_6, - density_brick_g, density_fft_g, work1_6,remap_6); - - if (differentiation_flag == 1) { - - poisson_ad(work1_6, work2_6, density_fft_g, fft1_6, fft2_6, - nx_pppm_6, ny_pppm_6, nz_pppm_6, nfft_6, - nxlo_fft_6, nylo_fft_6, nzlo_fft_6, nxhi_fft_6, nyhi_fft_6, nzhi_fft_6, - nxlo_in_6, nylo_in_6, nzlo_in_6, nxhi_in_6, nyhi_in_6, nzhi_in_6, - energy_6, greensfn_6, - virial_6, vg_6, vg2_6, - u_brick_g, v0_brick_g, v1_brick_g, v2_brick_g, v3_brick_g, v4_brick_g, v5_brick_g); - - cg_6->forward_comm(this,FORWARD_AD_G); - - fieldforce_g_ad(); - - if (vflag_atom) cg_peratom_6->forward_comm(this,FORWARD_AD_PERATOM_G); - - } else { - poisson_ik(work1_6, work2_6, density_fft_g, fft1_6, fft2_6, - nx_pppm_6, ny_pppm_6, nz_pppm_6, nfft_6, - nxlo_fft_6, nylo_fft_6, nzlo_fft_6, nxhi_fft_6, nyhi_fft_6, nzhi_fft_6, - nxlo_in_6, nylo_in_6, nzlo_in_6, nxhi_in_6, nyhi_in_6, nzhi_in_6, - energy_6, greensfn_6, - fkx_6, fky_6, fkz_6,fkx2_6, fky2_6, fkz2_6, - vdx_brick_g, vdy_brick_g, vdz_brick_g, virial_6, vg_6, vg2_6, - u_brick_g, v0_brick_g, v1_brick_g, v2_brick_g, v3_brick_g, v4_brick_g, v5_brick_g); - - cg_6->forward_comm(this,FORWARD_IK_G); - - fieldforce_g_ik(); - - - if (evflag_atom) cg_peratom_6->forward_comm(this, FORWARD_IK_PERATOM_G); - } - if (evflag_atom) fieldforce_g_peratom(); - } - - if (function[2]) { - //perform calculations for arithmetic mixing - particle_map(delxinv_6, delyinv_6, delzinv_6, shift_6, part2grid_6, nupper_6, nlower_6, - nxlo_out_6, nylo_out_6, nzlo_out_6, nxhi_out_6, nyhi_out_6, nzhi_out_6); - make_rho_a(); - - cg_6->reverse_comm(this, REVERSE_RHO_A); - - brick2fft_a(); - - if ( differentiation_flag == 1) { - - poisson_ad(work1_6, work2_6, density_fft_a3, fft1_6, fft2_6, - nx_pppm_6, ny_pppm_6, nz_pppm_6, nfft_6, - nxlo_fft_6, nylo_fft_6, nzlo_fft_6, nxhi_fft_6, nyhi_fft_6, nzhi_fft_6, - nxlo_in_6, nylo_in_6, nzlo_in_6, nxhi_in_6, nyhi_in_6, nzhi_in_6, - energy_6, greensfn_6, - virial_6, vg_6, vg2_6, - u_brick_a3, v0_brick_a3, v1_brick_a3, v2_brick_a3, v3_brick_a3, v4_brick_a3, v5_brick_a3); - poisson_2s_ad(density_fft_a0, density_fft_a6, - u_brick_a0, v0_brick_a0, v1_brick_a0, v2_brick_a0, v3_brick_a0, v4_brick_a0, v5_brick_a0, - u_brick_a6, v0_brick_a6, v1_brick_a6, v2_brick_a6, v3_brick_a6, v4_brick_a6, v5_brick_a6); - poisson_2s_ad(density_fft_a1, density_fft_a5, - u_brick_a1, v0_brick_a1, v1_brick_a1, v2_brick_a1, v3_brick_a1, v4_brick_a1, v5_brick_a1, - u_brick_a5, v0_brick_a5, v1_brick_a5, v2_brick_a5, v3_brick_a5, v4_brick_a5, v5_brick_a5); - poisson_2s_ad(density_fft_a2, density_fft_a4, - u_brick_a2, v0_brick_a2, v1_brick_a2, v2_brick_a2, v3_brick_a2, v4_brick_a2, v5_brick_a2, - u_brick_a4, v0_brick_a4, v1_brick_a4, v2_brick_a4, v3_brick_a4, v4_brick_a4, v5_brick_a4); - - cg_6->forward_comm(this, FORWARD_AD_A); - - fieldforce_a_ad(); - - if (evflag_atom) cg_peratom_6->forward_comm(this, FORWARD_AD_PERATOM_A); - - } else { - - poisson_ik(work1_6, work2_6, density_fft_a3, fft1_6, fft2_6, - nx_pppm_6, ny_pppm_6, nz_pppm_6, nfft_6, - nxlo_fft_6, nylo_fft_6, nzlo_fft_6, nxhi_fft_6, nyhi_fft_6, nzhi_fft_6, - nxlo_in_6, nylo_in_6, nzlo_in_6, nxhi_in_6, nyhi_in_6, nzhi_in_6, - energy_6, greensfn_6, - fkx_6, fky_6, fkz_6,fkx2_6, fky2_6, fkz2_6, - vdx_brick_a3, vdy_brick_a3, vdz_brick_a3, virial_6, vg_6, vg2_6, - u_brick_a3, v0_brick_a3, v1_brick_a3, v2_brick_a3, v3_brick_a3, v4_brick_a3, v5_brick_a3); - poisson_2s_ik(density_fft_a0, density_fft_a6, - vdx_brick_a0, vdy_brick_a0, vdz_brick_a0, - vdx_brick_a6, vdy_brick_a6, vdz_brick_a6, - u_brick_a0, v0_brick_a0, v1_brick_a0, v2_brick_a0, v3_brick_a0, v4_brick_a0, v5_brick_a0, - u_brick_a6, v0_brick_a6, v1_brick_a6, v2_brick_a6, v3_brick_a6, v4_brick_a6, v5_brick_a6); - poisson_2s_ik(density_fft_a1, density_fft_a5, - vdx_brick_a1, vdy_brick_a1, vdz_brick_a1, - vdx_brick_a5, vdy_brick_a5, vdz_brick_a5, - u_brick_a1, v0_brick_a1, v1_brick_a1, v2_brick_a1, v3_brick_a1, v4_brick_a1, v5_brick_a1, - u_brick_a5, v0_brick_a5, v1_brick_a5, v2_brick_a5, v3_brick_a5, v4_brick_a5, v5_brick_a5); - poisson_2s_ik(density_fft_a2, density_fft_a4, - vdx_brick_a2, vdy_brick_a2, vdz_brick_a2, - vdx_brick_a4, vdy_brick_a4, vdz_brick_a4, - u_brick_a2, v0_brick_a2, v1_brick_a2, v2_brick_a2, v3_brick_a2, v4_brick_a2, v5_brick_a2, - u_brick_a4, v0_brick_a4, v1_brick_a4, v2_brick_a4, v3_brick_a4, v4_brick_a4, v5_brick_a4); - - cg_6->forward_comm(this, FORWARD_IK_A); - - fieldforce_a_ik(); - - if (evflag_atom) cg_peratom_6->forward_comm(this, FORWARD_IK_PERATOM_A); - } - if (evflag_atom) fieldforce_a_peratom(); - } - - if (function[3]) { - //perfrom calculations if no mixing rule applies - particle_map(delxinv_6, delyinv_6, delzinv_6, shift_6, part2grid_6, nupper_6, nlower_6, - nxlo_out_6, nylo_out_6, nzlo_out_6, nxhi_out_6, nyhi_out_6, nzhi_out_6); - - make_rho_none(); - - cg_6->reverse_comm(this, REVERSE_RHO_NONE); - - brick2fft_none(); - - if (differentiation_flag == 1) { - - int n = 0; - for (int k = 0; kforward_comm(this,FORWARD_AD_NONE); - - fieldforce_none_ad(); - - if (vflag_atom) cg_peratom_6->forward_comm(this,FORWARD_AD_PERATOM_NONE); - - } else { - int n = 0; - for (int k = 0; kforward_comm(this,FORWARD_IK_NONE); - - fieldforce_none_ik(); - - if (evflag_atom) - cg_peratom_6->forward_comm(this, FORWARD_IK_PERATOM_NONE); - } - if (evflag_atom) fieldforce_none_peratom(); - } - - // update qsum and qsqsum, if atom count has changed and energy needed - - if ((eflag_global || eflag_atom) && atom->natoms != natoms_original) { - qsum_qsq(); - natoms_original = atom->natoms; - } - - // sum energy across procs and add in volume-dependent term - - const double qscale = force->qqrd2e * scale; - if (eflag_global) { - double energy_all; - MPI_Allreduce(&energy_1,&energy_all,1,MPI_DOUBLE,MPI_SUM,world); - energy_1 = energy_all; - MPI_Allreduce(&energy_6,&energy_all,1,MPI_DOUBLE,MPI_SUM,world); - energy_6 = energy_all; - - energy_1 *= 0.5*volume; - energy_6 *= 0.5*volume; - - energy_1 -= g_ewald*qsqsum/MY_PIS + - MY_PI2*qsum*qsum / (g_ewald*g_ewald*volume); - energy_6 += - MY_PI*MY_PIS/(6*volume)*pow(g_ewald_6,3)*csumij + - 1.0/12.0*pow(g_ewald_6,6)*csum; - energy_1 *= qscale; - } - - // sum virial across procs - - if (vflag_global) { - double virial_all[6]; - MPI_Allreduce(virial_1,virial_all,6,MPI_DOUBLE,MPI_SUM,world); - for (i = 0; i < 6; i++) virial[i] = 0.5*qscale*volume*virial_all[i]; - MPI_Allreduce(virial_6,virial_all,6,MPI_DOUBLE,MPI_SUM,world); - for (i = 0; i < 6; i++) virial[i] += 0.5*volume*virial_all[i]; - if (function[1]+function[2]+function[3]){ - double a = MY_PI*MY_PIS/(6*volume)*pow(g_ewald_6,3)*csumij; - virial[0] -= a; - virial[1] -= a; - virial[2] -= a; - } - } - - if (eflag_atom) { - if (function[0]) { - double *q = atom->q; - for (i = 0; i < atom->nlocal; i++) { - eatom[i] -= qscale*g_ewald*q[i]*q[i]/MY_PIS + qscale*MY_PI2*q[i]*qsum / (g_ewald*g_ewald*volume); //coulomb self energy correction - } - } - if (function[1] + function[2] + function[3]) { - int tmp; - for (i = 0; i < atom->nlocal; i++) { - tmp = atom->type[i]; - eatom[i] += - MY_PI*MY_PIS/(6*volume)*pow(g_ewald_6,3)*csumi[tmp] + - 1.0/12.0*pow(g_ewald_6,6)*cii[tmp]; - } - } - } - - if (vflag_atom) { - if (function[1] + function[2] + function[3]) { - int tmp; - for (i = 0; i < atom->nlocal; i++) { - tmp = atom->type[i]; - for (int n = 0; n < 3; n++) vatom[i][n] -= MY_PI*MY_PIS/(6*volume)*pow(g_ewald_6,3)*csumi[tmp]; //dispersion self virial correction - } - } - } - - - // 2d slab correction - - if (slabflag) slabcorr(eflag); - if (function[0]) energy += energy_1; - if (function[1] + function[2] + function[3]) energy += energy_6; - - // convert atoms back from lamda to box coords - - if (triclinic) domain->lamda2x(atom->nlocal); -} - -/* ---------------------------------------------------------------------- - interpolate from grid to get electric field & force on my particles - for ik scheme -------------------------------------------------------------------------- */ - -void PPPMDispDielectric::fieldforce_c_ik() -{ - int i,l,m,n,nx,ny,nz,mx,my,mz; - FFT_SCALAR dx,dy,dz,x0,y0,z0; - FFT_SCALAR ekx,eky,ekz,u; - - // loop over my charges, interpolate electric field from nearby grid points - // (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 - // ek = 3 components of E-field on particle - - double *q = atom->q; - double **x = atom->x; - double **f = atom->f; - double *eps = avec->epsilon; - int nlocal = atom->nlocal; - - for (i = 0; i < nlocal; i++) { - nx = part2grid[i][0]; - ny = part2grid[i][1]; - nz = part2grid[i][2]; - dx = nx+shiftone - (x[i][0]-boxlo[0])*delxinv; - dy = ny+shiftone - (x[i][1]-boxlo[1])*delyinv; - dz = nz+shiftone - (x[i][2]-boxlo[2])*delzinv; - - compute_rho1d(dx,dy,dz, order, rho_coeff, rho1d); - - u = ekx = eky = ekz = ZEROF; - for (n = nlower; n <= nupper; n++) { - mz = n+nz; - z0 = rho1d[2][n]; - for (m = nlower; m <= nupper; m++) { - my = m+ny; - y0 = z0*rho1d[1][m]; - for (l = nlower; l <= nupper; l++) { - mx = l+nx; - x0 = y0*rho1d[0][l]; - if (potflag) u += x0*u_brick[mz][my][mx]; - ekx -= x0*vdx_brick[mz][my][mx]; - eky -= x0*vdy_brick[mz][my][mx]; - ekz -= x0*vdz_brick[mz][my][mx]; - } - } - } - - // electrostatic potential - - if (potflag) phi[i] = u; - - // convert E-field to force - - const double efactor = scale * eps[i]; - efield[i][0] = efactor*ekx; - efield[i][1] = efactor*eky; - efield[i][2] = efactor*ekz; - - // convert E-field to force - - const double qfactor = force->qqrd2e * scale * q[i]; - f[i][0] += qfactor*ekx; - f[i][1] += qfactor*eky; - if (slabflag != 2) f[i][2] += qfactor*ekz; - } -} -/* ---------------------------------------------------------------------- - interpolate from grid to get electric field & force on my particles - for ad scheme -------------------------------------------------------------------------- */ - -void PPPMDispDielectric::fieldforce_c_ad() -{ - int i,l,m,n,nx,ny,nz,mx,my,mz; - FFT_SCALAR dx,dy,dz; - FFT_SCALAR ekx,eky,ekz,u; - double s1,s2,s3; - double sf = 0.0; - - double *prd; - - if (triclinic == 0) prd = domain->prd; - else prd = domain->prd_lamda; - - double xprd = prd[0]; - double yprd = prd[1]; - double zprd = prd[2]; - double zprd_slab = zprd*slab_volfactor; - - double hx_inv = nx_pppm/xprd; - double hy_inv = ny_pppm/yprd; - double hz_inv = nz_pppm/zprd_slab; - - // loop over my charges, interpolate electric field from nearby grid points - // (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 - // ek = 3 components of E-field on particle - - double *q = atom->q; - double **x = atom->x; - double **f = atom->f; - double *eps = avec->epsilon; - int nlocal = atom->nlocal; - - for (i = 0; i < nlocal; i++) { - nx = part2grid[i][0]; - ny = part2grid[i][1]; - nz = part2grid[i][2]; - dx = nx+shiftone - (x[i][0]-boxlo[0])*delxinv; - dy = ny+shiftone - (x[i][1]-boxlo[1])*delyinv; - dz = nz+shiftone - (x[i][2]-boxlo[2])*delzinv; - - compute_rho1d(dx,dy,dz, order, rho_coeff, rho1d); - compute_drho1d(dx,dy,dz, order, drho_coeff, drho1d); - - u = ekx = eky = ekz = ZEROF; - for (n = nlower; n <= nupper; n++) { - mz = n+nz; - for (m = nlower; m <= nupper; m++) { - my = m+ny; - for (l = nlower; l <= nupper; l++) { - mx = l+nx; - u += rho1d[0][l]*rho1d[1][m]*rho1d[2][n]*u_brick[mz][my][mx]; - ekx += drho1d[0][l]*rho1d[1][m]*rho1d[2][n]*u_brick[mz][my][mx]; - eky += rho1d[0][l]*drho1d[1][m]*rho1d[2][n]*u_brick[mz][my][mx]; - ekz += rho1d[0][l]*rho1d[1][m]*drho1d[2][n]*u_brick[mz][my][mx]; - } - } - } - ekx *= hx_inv; - eky *= hy_inv; - ekz *= hz_inv; - - // electrical potential - - if (potflag) phi[i] = u; - - // convert E-field to force and substract self forces - const double qfactor = qqrd2e * scale; - double qtmp = eps[i]*q[i]; - - s1 = x[i][0]*hx_inv; - s2 = x[i][1]*hy_inv; - s3 = x[i][2]*hz_inv; - sf = sf_coeff[0]*sin(2*MY_PI*s1); - sf += sf_coeff[1]*sin(4*MY_PI*s1); - sf *= 2*q[i]*q[i]; - f[i][0] += qfactor*(ekx*q[i] - sf); - - sf = sf_coeff[2]*sin(2*MY_PI*s2); - sf += sf_coeff[3]*sin(4*MY_PI*s2); - sf *= 2*q[i]*q[i]; - f[i][1] += qfactor*(eky*q[i] - sf); - - sf = sf_coeff[4]*sin(2*MY_PI*s3); - sf += sf_coeff[5]*sin(4*MY_PI*s3); - sf *= 2*q[i]*q[i]; - if (slabflag != 2) f[i][2] += qfactor*(ekz*q[i] - sf); - } -} - -/* ---------------------------------------------------------------------- - interpolate from grid to get electric field & force on my particles -------------------------------------------------------------------------- */ - -void PPPMDispDielectric::fieldforce_c_peratom() -{ - int i,l,m,n,nx,ny,nz,mx,my,mz; - FFT_SCALAR dx,dy,dz,x0,y0,z0; - FFT_SCALAR u_pa,v0,v1,v2,v3,v4,v5; - - // loop over my charges, interpolate electric field from nearby grid points - // (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 - // ek = 3 components of E-field on particle - - double *q = atom->q; - double **x = atom->x; - - int nlocal = atom->nlocal; - - for (i = 0; i < nlocal; i++) { - nx = part2grid[i][0]; - ny = part2grid[i][1]; - nz = part2grid[i][2]; - dx = nx+shiftone - (x[i][0]-boxlo[0])*delxinv; - dy = ny+shiftone - (x[i][1]-boxlo[1])*delyinv; - dz = nz+shiftone - (x[i][2]-boxlo[2])*delzinv; - - compute_rho1d(dx,dy,dz, order, rho_coeff, rho1d); - - u_pa = v0 = v1 = v2 = v3 = v4 = v5 = ZEROF; - for (n = nlower; n <= nupper; n++) { - mz = n+nz; - z0 = rho1d[2][n]; - for (m = nlower; m <= nupper; m++) { - my = m+ny; - y0 = z0*rho1d[1][m]; - for (l = nlower; l <= nupper; l++) { - mx = l+nx; - x0 = y0*rho1d[0][l]; - if (eflag_atom) u_pa += x0*u_brick[mz][my][mx]; - if (vflag_atom) { - v0 += x0*v0_brick[mz][my][mx]; - v1 += x0*v1_brick[mz][my][mx]; - v2 += x0*v2_brick[mz][my][mx]; - v3 += x0*v3_brick[mz][my][mx]; - v4 += x0*v4_brick[mz][my][mx]; - v5 += x0*v5_brick[mz][my][mx]; - } - } - } - } - - // electrostatic potential - - phi[i] = u_pa; - - // convert E-field to force - - const double qfactor = 0.5*force->qqrd2e * scale * q[i]; - - if (eflag_atom) eatom[i] += u_pa*qfactor; - if (vflag_atom) { - vatom[i][0] += v0*qfactor; - vatom[i][1] += v1*qfactor; - vatom[i][2] += v2*qfactor; - vatom[i][3] += v3*qfactor; - vatom[i][4] += v4*qfactor; - vatom[i][5] += v5*qfactor; - } - } -} - -/* ---------------------------------------------------------------------- - Slab-geometry correction term to dampen inter-slab interactions between - periodically repeating slabs. Yields good approximation to 2D Ewald if - adequate empty space is left between repeating slabs (J. Chem. Phys. - 111, 3155). Slabs defined here to be parallel to the xy plane. Also - extended to non-neutral systems (J. Chem. Phys. 131, 094107). -------------------------------------------------------------------------- */ - -void PPPMDispDielectric::slabcorr(int eflag) -{ - // compute local contribution to global dipole moment - - double *q = atom->q; - double **x = atom->x; - double *eps = avec->epsilon; - double zprd = domain->zprd; - int nlocal = atom->nlocal; - - double dipole = 0.0; - for (int i = 0; i < nlocal; i++) dipole += q[i]*x[i][2]; - - if (mu_flag) { - double **mu = atom->mu; - for (int i = 0; i < nlocal; i++) dipole += mu[i][2]; - } - - // sum local contributions to get global dipole moment - - double dipole_all; - MPI_Allreduce(&dipole,&dipole_all,1,MPI_DOUBLE,MPI_SUM,world); - - // need to make non-neutral systems and/or - // per-atom energy translationally invariant - - double dipole_r2 = 0.0; - if (eflag_atom || fabs(qsum) > SMALL) { - - if (mu_flag) - error->all(FLERR,"Cannot (yet) use kspace slab correction with " - "long-range dipoles and non-neutral systems or per-atom energy"); - - for (int i = 0; i < nlocal; i++) - dipole_r2 += q[i]*x[i][2]*x[i][2]; - - // sum local contributions - - double tmp; - MPI_Allreduce(&dipole_r2,&tmp,1,MPI_DOUBLE,MPI_SUM,world); - dipole_r2 = tmp; - } - - // compute corrections - - const double e_slabcorr = MY_2PI*(dipole_all*dipole_all - - qsum*dipole_r2 - qsum*qsum*zprd*zprd/12.0)/volume; - const double qscale = qqrd2e * scale; - - if (eflag_global) energy += qscale * e_slabcorr; - - // per-atom energy - - if (eflag_atom) { - double efact = qscale * MY_2PI/volume; - for (int i = 0; i < nlocal; i++) - eatom[i] += efact * eps[i]*q[i]*(x[i][2]*dipole_all - 0.5*(dipole_r2 + - qsum*x[i][2]*x[i][2]) - qsum*zprd*zprd/12.0); - } - - // add on force corrections - - double ffact = qscale * (-4.0*MY_PI/volume); - double **f = atom->f; - - for (int i = 0; i < nlocal; i++) { - f[i][2] += ffact * eps[i]*q[i]*(dipole_all - qsum*x[i][2]); - efield[i][2] += ffact * eps[i]*(dipole_all - qsum*x[i][2]); - } - - // add on torque corrections - - if (mu_flag && atom->torque) { - double **mu = atom->mu; - double **torque = atom->torque; - for (int i = 0; i < nlocal; i++) { - torque[i][0] += ffact * dipole_all * mu[i][1]; - torque[i][1] += -ffact * dipole_all * mu[i][0]; - } - } -} - -/* ---------------------------------------------------------------------- - memory usage of local arrays -------------------------------------------------------------------------- */ - -double PPPMDispDielectric::memory_usage() -{ - double bytes = PPPMDisp::memory_usage(); - bytes += nmax*3 * sizeof(double); - bytes += nmax * sizeof(double); - return bytes; -} - -/* ---------------------------------------------------------------------- - compute qsum,qsqsum,q2 and give error/warning if not charge neutral - called initially, when particle count changes, when charges are changed -------------------------------------------------------------------------- */ - -void PPPMDispDielectric::qsum_qsq() -{ - const double * const q = atom->q; - const double * const eps = avec->epsilon; - const int nlocal = atom->nlocal; - double qsum_local(0.0), qsqsum_local(0.0); - -#if defined(_OPENMP) -#pragma omp parallel for default(none) reduction(+:qsum_local,qsqsum_local) -#endif - for (int i = 0; i < nlocal; i++) { - double qtmp = eps[i]*q[i]; - qsum_local += qtmp; - qsqsum_local += qtmp*qtmp; - } - - MPI_Allreduce(&qsum_local,&qsum,1,MPI_DOUBLE,MPI_SUM,world); - MPI_Allreduce(&qsqsum_local,&qsqsum,1,MPI_DOUBLE,MPI_SUM,world); - - q2 = qsqsum * force->qqrd2e; -} diff --git a/src/USER-DIELECTRIC/pppm_disp_dielectric.h b/src/USER-DIELECTRIC/pppm_disp_dielectric.h deleted file mode 100644 index eef0fa7e94..0000000000 --- a/src/USER-DIELECTRIC/pppm_disp_dielectric.h +++ /dev/null @@ -1,62 +0,0 @@ -/* -*- c++ -*- ---------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#ifdef KSPACE_CLASS - -KSpaceStyle(pppm/disp/dielectric,PPPMDispDielectric) - -#else - -#ifndef LMP_PPPM_DISP_DIELECTRIC_H -#define LMP_PPPM_DISP_DIELECTRIC_H - -#include "pppm_disp.h" - -namespace LAMMPS_NS { - -class PPPMDispDielectric : public PPPMDisp { - public: - PPPMDispDielectric(class LAMMPS *); - virtual ~PPPMDispDielectric(); - virtual double memory_usage(); - virtual void compute(int, int); - void qsum_qsq(); - void slabcorr(int); - - double** efield; - double* phi; - int potflag; // 1/0 if per-atom electrostatic potential phi is needed - - protected: - virtual void fieldforce_c_ik(); - virtual void fieldforce_c_ad(); - virtual void fieldforce_c_peratom(); - - class AtomVecDielectric* avec; - int mu_flag; -}; - -} - -#endif -#endif - -/* ERROR/WARNING messages: - -E: Illegal ... command - -Self-explanatory. Check the input script syntax and compare to the -documentation for the command. You can use -echo screen as a -command-line option when running LAMMPS to see the offending line. - -*/ From 30e18a1b769dafa0a4d774717b2611bc0e505f16 Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Fri, 28 May 2021 16:06:36 -0500 Subject: [PATCH 110/726] Added compute efield/atom and citation for the fixes polarize* --- examples/USER/dielectric/README | 4 +- src/USER-DIELECTRIC/compute_efield_atom.cpp | 232 ++++++++++++++++++ src/USER-DIELECTRIC/compute_efield_atom.h | 74 ++++++ .../fix_polarize_bem_gmres.cpp | 17 +- src/USER-DIELECTRIC/fix_polarize_bem_icc.cpp | 19 +- .../fix_polarize_functional.cpp | 19 +- 6 files changed, 355 insertions(+), 10 deletions(-) create mode 100644 src/USER-DIELECTRIC/compute_efield_atom.cpp create mode 100644 src/USER-DIELECTRIC/compute_efield_atom.h diff --git a/examples/USER/dielectric/README b/examples/USER/dielectric/README index ac415190ec..4d12416988 100644 --- a/examples/USER/dielectric/README +++ b/examples/USER/dielectric/README @@ -1,4 +1,6 @@ -This folder contains some example data and input scripts for the USER-DIELECTRIC package. +This folder contains some example data and input scripts for the USER-DIELECTRIC package. Please refer to the following reference for more details: + +Nguyen TD, Li H, Bagchi D, Solis FJ, Olvera de la Cruz, Incorporating surface polarization effects into large-scale coarse-grained molecular dynamics simulation, Computer Physics Communications 2019, 241, 80--91. - data.minimal : two point opposite charges facing a flat interface - data.plane : two point opposite charges facing a larger flat interface diff --git a/src/USER-DIELECTRIC/compute_efield_atom.cpp b/src/USER-DIELECTRIC/compute_efield_atom.cpp new file mode 100644 index 0000000000..bd7809c12f --- /dev/null +++ b/src/USER-DIELECTRIC/compute_efield_atom.cpp @@ -0,0 +1,232 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include "compute_efield_atom.h" + +#include "atom.h" +#include "comm.h" +#include "error.h" +#include "force.h" +#include "kspace.h" +#include "pair_coul_cut_dielectric.h" +#include "pair_coul_long_dielectric.h" +#include "pair_lj_cut_coul_cut_dielectric.h" +#include "pair_lj_cut_coul_long_dielectric.h" +#include "pair_lj_cut_coul_msm_dielectric.h" +#include "pppm_dielectric.h" +#include "memory.h" +#include "msm_dielectric.h" +#include "update.h" + +using namespace LAMMPS_NS; + +enum{NOBIAS,BIAS}; + +/* ---------------------------------------------------------------------- */ + +ComputeEfieldAtom::ComputeEfieldAtom(LAMMPS *lmp, int narg, char **arg) : + Compute(lmp, narg, arg), efield(NULL) +{ + if (narg < 3) error->all(FLERR,"Illegal compute efield/atom command"); + + peratom_flag = 1; + size_peratom_cols = 3; + timeflag = 1; + comm_reverse = 3; + + pairflag = 0; + kspaceflag = 0; + + if (narg == 3) { + pairflag = 1; + kspaceflag = 1; + } else { + int iarg = 3; + while (iarg < narg) { + if (strcmp(arg[iarg],"pair") == 0) pairflag = 1; + else if (strcmp(arg[iarg],"kspace") == 0) kspaceflag = 1; + else error->all(FLERR,"Illegal compute efield/atom command"); + iarg++; + } + } + + nmax = 0; + + comm_reverse = 1; +} + +/* ---------------------------------------------------------------------- */ + +ComputeEfieldAtom::~ComputeEfieldAtom() +{ + memory->destroy(efield); +} + +/* ---------------------------------------------------------------------- */ + +void ComputeEfieldAtom::init() +{ + if (!atom->q_flag) error->all(FLERR,"compute efield/atom requires atom attribute q"); + if (!force->kspace) kspaceflag = 0; +} + +/* ---------------------------------------------------------------------- */ + +void ComputeEfieldAtom::setup() +{ + if (strcmp(force->pair_style,"lj/cut/coul/long/dielectric") == 0) + efield_pair = ((PairLJCutCoulLongDielectric*)force->pair)->efield; + else if (strcmp(force->pair_style,"lj/cut/coul/long/dielectric/omp") == 0) + efield_pair = ((PairLJCutCoulMSMDielectric*)force->pair)->efield; + else if (strcmp(force->pair_style,"lj/cut/coul/msm/dielectric") == 0) + efield_pair = ((PairLJCutCoulMSMDielectric*)force->pair)->efield; + else if (strcmp(force->pair_style,"lj/cut/coul/cut/dielectric") == 0) + efield_pair = ((PairLJCutCoulCutDielectric*)force->pair)->efield; + else if (strcmp(force->pair_style,"lj/cut/coul/cut/dielectric/omp") == 0) + efield_pair = ((PairLJCutCoulCutDielectric*)force->pair)->efield; + else if (strcmp(force->pair_style,"coul/long/dielectric") == 0) + efield_pair = ((PairCoulLongDielectric*)force->pair)->efield; + else if (strcmp(force->pair_style,"coul/cut/dielectric") == 0) + efield_pair = ((PairCoulCutDielectric*)force->pair)->efield; + else error->all(FLERR,"Compute efield/atom not supported by pair style"); + + if (force->kspace) { + if (strcmp(force->kspace_style,"pppm/dielectric") == 0) + efield_kspace = ((PPPMDielectric*)force->kspace)->efield; + else if (strcmp(force->kspace_style,"msm/dielectric") == 0) + efield_kspace = ((MSMDielectric*)force->kspace)->efield; + else error->all(FLERR,"Compute efield/atom not supported by kspace style"); + kspaceflag = 1; + } + + if (!efield_pair && !efield_kspace) + error->all(FLERR, "Compute efield/atom does not access to efield"); +} + +/* ---------------------------------------------------------------------- */ + +void ComputeEfieldAtom::compute_peratom() +{ + int i,j; + double onemass; + + invoked_peratom = update->ntimestep; + if (update->vflag_atom != invoked_peratom) + error->all(FLERR,"Per-atom virial was not tallied on needed timestep"); + + // grow local stress array if necessary + // needs to be atom->nmax in length + + if (atom->nmax > nmax) { + memory->destroy(efield); + nmax = atom->nmax; + memory->create(efield,nmax,3,"stress/atom:efield"); + array_atom = efield; + } + + // npair includes ghosts if either newton flag is set + // b/c some bonds/dihedrals call pair::ev_tally with pairwise info + // nbond includes ghosts if newton_bond is set + // ntotal includes ghosts if either newton flag is set + // KSpace includes ghosts if tip4pflag is set + + double** f = atom->f; + double* q = atom->q; + int nlocal = atom->nlocal; + int npair = nlocal; + int ntotal = nlocal; + int nkspace = nlocal; + if (force->newton) npair += atom->nghost; + if (force->newton) ntotal += atom->nghost; + if (force->kspace && force->kspace->tip4pflag) nkspace += atom->nghost; + + // clear local stress array + + for (i = 0; i < ntotal; i++) + for (j = 0; j < 3; j++) + efield[i][j] = 0.0; + + // add in per-atom contributions from each force + + if (pairflag && force->pair) { + for (i = 0; i < npair; i++) + for (j = 0; j < 3; j++) { + if (q[i] != 0) efield[i][j] += efield_pair[i][j]; //f[i][j]/q[i]; + } + } + + if (kspaceflag && force->kspace) { + for (i = 0; i < nkspace; i++) + for (j = 0; j < 3; j++) + efield[i][j] += efield_kspace[i][j]; + } + + // communicate ghost efield between neighbor procs + + if (force->newton || (force->kspace && force->kspace->tip4pflag)) + comm->reverse_comm_compute(this); + + // zero efield of atoms not in group + // only do this after comm since ghost contributions must be included + + int *mask = atom->mask; + + for (i = 0; i < nlocal; i++) + if (!(mask[i] & groupbit)) { + efield[i][0] = 0.0; + efield[i][1] = 0.0; + efield[i][2] = 0.0; + } +} + + +/* ---------------------------------------------------------------------- */ + +int ComputeEfieldAtom::pack_reverse_comm(int n, int first, double *buf) +{ + int i,m,last; + + m = 0; + last = first + n; + for (i = first; i < last; i++) { + buf[m++] = efield[i][0]; + buf[m++] = efield[i][1]; + buf[m++] = efield[i][2]; + } + return m; +} + +/* ---------------------------------------------------------------------- */ + +void ComputeEfieldAtom::unpack_reverse_comm(int n, int *list, double *buf) +{ + int i,j,m; + + m = 0; + for (i = 0; i < n; i++) { + j = list[i]; + efield[j][0] += buf[m++]; + efield[j][1] += buf[m++]; + efield[j][2] += buf[m++]; + } +} + +/* ---------------------------------------------------------------------- + memory usage of local atom-based array +------------------------------------------------------------------------- */ + +double ComputeEfieldAtom::memory_usage() +{ + double bytes = nmax*3 * sizeof(double); + return bytes; +} diff --git a/src/USER-DIELECTRIC/compute_efield_atom.h b/src/USER-DIELECTRIC/compute_efield_atom.h new file mode 100644 index 0000000000..f749add133 --- /dev/null +++ b/src/USER-DIELECTRIC/compute_efield_atom.h @@ -0,0 +1,74 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef COMPUTE_CLASS + +ComputeStyle(efield/atom,ComputeEfieldAtom) + +#else + +#ifndef LMP_COMPUTE_EFIELD_ATOM_H +#define LMP_COMPUTE_EFIELD_ATOM_H + +#include "compute.h" + +namespace LAMMPS_NS { + +class ComputeEfieldAtom : public Compute { + public: + ComputeEfieldAtom(class LAMMPS *, int, char **); + ~ComputeEfieldAtom(); + void init(); + void setup(); + void compute_peratom(); + int pack_reverse_comm(int, int, double *); + void unpack_reverse_comm(int, int *, double *); + double memory_usage(); + + private: + int pairflag; + int kspaceflag; + double **efield_pair, **efield_kspace; + + int nmax; + double **efield; +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +E: Illegal ... command + +Self-explanatory. Check the input script syntax and compare to the +documentation for the command. You can use -echo screen as a +command-line option when running LAMMPS to see the offending line. + +E: Could not find compute stress/atom temperature ID + +Self-explanatory. + +E: Compute stress/atom temperature ID does not compute temperature + +The specified compute must compute temperature. + +E: Per-atom virial was not tallied on needed timestep + +You are using a thermo keyword that requires potentials to have +tallied the virial, but they didn't on this timestep. See the +variable doc page for ideas on how to make this work. + +*/ diff --git a/src/USER-DIELECTRIC/fix_polarize_bem_gmres.cpp b/src/USER-DIELECTRIC/fix_polarize_bem_gmres.cpp index 9f0d16db82..8793810a13 100644 --- a/src/USER-DIELECTRIC/fix_polarize_bem_gmres.cpp +++ b/src/USER-DIELECTRIC/fix_polarize_bem_gmres.cpp @@ -44,9 +44,8 @@ #include "atom.h" #include "atom_vec_dielectric.h" +#include "citeme.h" #include "comm.h" -#include "domain.h" -#include "neighbor.h" #include "error.h" #include "force.h" #include "group.h" @@ -74,12 +73,26 @@ using namespace MathConst; //#define _POLARIZE_DEBUG +static const char cite_user_dielectric_package[] = + "USER-DIELECTRIC package:\n\n" + "@Article{TrungCPC19,\n" + " author = {Trung Dac Nguyen, Honghao Li, Debarshee Bagchi, Francisco J. Solis, Monica Olvera de la Cruz,\n" + " title = {Incorporating surface polarization effects into large-scale coarse-grained Molecular Dynamics simulation},\n" + " journal = {Comp.~Phys.~Comm.},\n" + " year = 2019,\n" + " volume = 241,\n" + " pages = {80--91}\n" + "}\n\n" + ; + /* ---------------------------------------------------------------------- */ FixPolarizeBEMGMRES::FixPolarizeBEMGMRES(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg), q_backup(NULL), c(NULL), g(NULL), h(NULL), r(NULL), s(NULL), v(NULL), y(NULL) { + if (lmp->citeme) lmp->citeme->add(cite_user_dielectric_package); + if (narg < 5) error->all(FLERR,"Illegal fix polarize/bem/gmres command"); avec = (AtomVecDielectric *) atom->style_match("dielectric"); diff --git a/src/USER-DIELECTRIC/fix_polarize_bem_icc.cpp b/src/USER-DIELECTRIC/fix_polarize_bem_icc.cpp index 786ba5426a..95e2093aec 100644 --- a/src/USER-DIELECTRIC/fix_polarize_bem_icc.cpp +++ b/src/USER-DIELECTRIC/fix_polarize_bem_icc.cpp @@ -25,24 +25,21 @@ #include "atom.h" #include "atom_vec_dielectric.h" +#include "citeme.h" #include "comm.h" -#include "domain.h" #include "error.h" #include "force.h" #include "group.h" #include "kspace.h" #include "math_const.h" #include "memory.h" -#include "modify.h" #include "msm_dielectric.h" -#include "neighbor.h" #include "pair_coul_cut_dielectric.h" #include "pair_coul_long_dielectric.h" #include "pair_lj_cut_coul_cut_dielectric.h" #include "pair_lj_cut_coul_long_dielectric.h" #include "pair_lj_cut_coul_msm_dielectric.h" #include "pppm_dielectric.h" -#include "msm_dielectric.h" #include "random_park.h" #include "timer.h" #include "update.h" @@ -56,11 +53,25 @@ using namespace MathConst; //#define _POLARIZE_DEBUG +static const char cite_user_dielectric_package[] = + "USER-DIELECTRIC package:\n\n" + "@Article{TrungCPC19,\n" + " author = {Trung Dac Nguyen, Honghao Li, Debarshee Bagchi, Francisco J. Solis, Monica Olvera de la Cruz,\n" + " title = {Incorporating surface polarization effects into large-scale coarse-grained Molecular Dynamics simulation},\n" + " journal = {Comp.~Phys.~Comm.},\n" + " year = 2019,\n" + " volume = 241,\n" + " pages = {80--91}\n" + "}\n\n" + ; + /* ---------------------------------------------------------------------- */ FixPolarizeBEMICC::FixPolarizeBEMICC(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) { + if (lmp->citeme) lmp->citeme->add(cite_user_dielectric_package); + if (narg < 5) error->all(FLERR,"Illegal fix polarize/bem/icc command"); avec = (AtomVecDielectric *) atom->style_match("dielectric"); diff --git a/src/USER-DIELECTRIC/fix_polarize_functional.cpp b/src/USER-DIELECTRIC/fix_polarize_functional.cpp index 811cd38be7..b1b897fa4c 100644 --- a/src/USER-DIELECTRIC/fix_polarize_functional.cpp +++ b/src/USER-DIELECTRIC/fix_polarize_functional.cpp @@ -30,10 +30,8 @@ #include "atom.h" #include "atom_vec_dielectric.h" - - +#include "citeme.h" #include "comm.h" -#include "compute.h" #include "domain.h" #include "error.h" #include "force.h" @@ -68,13 +66,28 @@ using namespace MathConst; enum {REAL2SCALED=0,SCALED2REAL=1}; #define EPSILON 1e-6 + //#define _POLARIZE_DEBUG +static const char cite_user_dielectric_package[] = + "USER-DIELECTRIC package:\n\n" + "@Article{TrungCPC19,\n" + " author = {Trung Dac Nguyen, Honghao Li, Debarshee Bagchi, Francisco J. Solis, Monica Olvera de la Cruz,\n" + " title = {Incorporating surface polarization effects into large-scale coarse-grained Molecular Dynamics simulation},\n" + " journal = {Comp.~Phys.~Comm.},\n" + " year = 2019,\n" + " volume = 241,\n" + " pages = {80--91}\n" + "}\n\n" + ; + /* ---------------------------------------------------------------------- */ FixPolarizeFunctional::FixPolarizeFunctional(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) { + if (lmp->citeme) lmp->citeme->add(cite_user_dielectric_package); + if (narg != 3) error->all(FLERR,"Illegal fix polarize/functional command"); avec = (AtomVecDielectric *) atom->style_match("dielectric"); From 7a52cfcc01b5e4cdcbab91971689846d42e56795 Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Fri, 28 May 2021 16:27:03 -0500 Subject: [PATCH 111/726] Added a doc page for the fix polarize/* --- doc/src/fix_polarize.rst | 86 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 doc/src/fix_polarize.rst diff --git a/doc/src/fix_polarize.rst b/doc/src/fix_polarize.rst new file mode 100644 index 0000000000..66bafb94f9 --- /dev/null +++ b/doc/src/fix_polarize.rst @@ -0,0 +1,86 @@ +.. index:: fix polarize/bem/icc +.. index:: fix polarize/bem/gmres +.. index:: fix polarize/functional + +fix polarize command +=================== + +Syntax +"""""" + +.. parsed-literal:: + + fix ID group-ID polarize nevery tolerance ... + +* ID, group-ID are documented in :doc:`fix ` command +* polarize/bem/icc, polarize/bem/gmres, or polarize/functional = style name of this fix command +* Nevery = this fixed is invoked every this many timesteps +* tolerance = the tolerance for the iterative solver to stop + + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix 1 all polarize/bem/icc 1 0.0001 + fix 2 all polarize/bem/gmres 5 0.0001 + fix 3 all polarize/bem/functional 1 0.0001 + +Description +""""""""""" + +The three fix polarize in the USER-DIELECTRIC package compute the induced charges +at the interface between two impermeable media with different dielectric +constants. + +There are some example scripts for using this package with LAMMPS in the +examples/USER/dielectric directory. + +---------- + +The charges of the atoms in the specified group will be computed by the solver. +fix polarize bem/icc computes the induced charges at the boundary elements +(i.e. interface vertices) using the successive overrelaxation as described +in (Tyagi). fix polarize bem/gmres computes the induced charges at +the interface vertices using the successive overrelaxation +as described in (Barros). + +Restart, fix_modify, output, run start/stop, minimize info +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" + +The :doc:`fix_modify ` + +This fix computes a global scalar which can be accessed by various +:doc:`output commands `. The scalar is the Colvars +energy mentioned above. The scalar value calculated by this fix is +"extensive". + +Restrictions +"""""""""""" + +This fix is part of the USER-DIELECTRIC package. It is only enabled if +LAMMPS was built with that package. See the :doc:`Build package +` doc page for more info. + +There can only be one colvars fix active at a time. Since the interface +communicates only the minimum amount of information and colvars module +itself can handle an arbitrary number of collective variables, this is +not a limitation of functionality. + +Related commands +"""""""""""""""" + +:doc:`fix smd `, :doc:`fix spring `, + +Default +""""""" + +None. + +---------- + +.. _NguyenTD: + +**(NguyenTD)** Nguyen, Li, Bagchi, Solis, Olvera de la Cruz, Mol. Phys., DOI:10.1016/j.cpc.2019.03.006 + From be6be2fc0716276f7c2baa703f32e6bc77637edb Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Sun, 30 May 2021 10:29:28 -0500 Subject: [PATCH 112/726] Fixed a bug with AtomVecDielectric for pack fields_border --- src/USER-DIELECTRIC/atom_vec_dielectric.cpp | 28 ++++++++------------- src/USER-DIELECTRIC/atom_vec_dielectric.h | 1 - 2 files changed, 11 insertions(+), 18 deletions(-) diff --git a/src/USER-DIELECTRIC/atom_vec_dielectric.cpp b/src/USER-DIELECTRIC/atom_vec_dielectric.cpp index 10876459fd..e229f594f8 100644 --- a/src/USER-DIELECTRIC/atom_vec_dielectric.cpp +++ b/src/USER-DIELECTRIC/atom_vec_dielectric.cpp @@ -39,7 +39,7 @@ AtomVecDielectric::AtomVecDielectric(LAMMPS *lmp) : AtomVec(lmp) "num_improper improper_type improper_atom1 improper_atom2 " "improper_atom3 improper_atom4 " "nspecial special " - "mu3 area ed em epsilon curvature q_unscaled"; + "mu area ed em epsilon curvature q_unscaled"; fields_copy = (char *) "q molecule num_bond bond_type bond_atom " "num_angle angle_type angle_atom1 angle_atom2 angle_atom3 " @@ -48,12 +48,12 @@ AtomVecDielectric::AtomVecDielectric(LAMMPS *lmp) : AtomVec(lmp) "num_improper improper_type improper_atom1 improper_atom2 " "improper_atom3 improper_atom4 " "nspecial special " - "mu3 area ed em epsilon curvature q_unscaled"; - fields_comm = (char *) ""; + "mu area ed em epsilon curvature q_unscaled"; + fields_comm = (char *) "q mu area ed em epsilon curvature q_unscaled"; fields_comm_vel = (char *) ""; fields_reverse = (char *) ""; - fields_border = (char *) "q molecule mu3 area ed em epsilon curvature"; - fields_border_vel = (char *) "q molecule mu3 area ed em epsilon curvature"; + fields_border = (char *) "q molecule mu area ed em epsilon curvature q_unscaled"; + fields_border_vel = (char *) "q molecule mu area ed em epsilon curvature q_unscaled"; fields_exchange = (char *) "q molecule num_bond bond_type bond_atom " "num_angle angle_type angle_atom1 angle_atom2 angle_atom3 " @@ -62,7 +62,7 @@ AtomVecDielectric::AtomVecDielectric(LAMMPS *lmp) : AtomVec(lmp) "num_improper improper_type improper_atom1 improper_atom2 " "improper_atom3 improper_atom4 " "nspecial special " - "mu3 area ed em epsilon curvature q_unscaled"; + "mu area ed em epsilon curvature q_unscaled"; fields_restart = (char *) "q molecule num_bond bond_type bond_atom " "num_angle angle_type angle_atom1 angle_atom2 angle_atom3 " @@ -70,10 +70,10 @@ AtomVecDielectric::AtomVecDielectric(LAMMPS *lmp) : AtomVec(lmp) "dihedral_atom3 dihedral_atom4 " "num_improper improper_type improper_atom1 improper_atom2 " "improper_atom3 improper_atom4 " - "mu3 area ed em epsilon curvature q_unscaled"; + "mu area ed em epsilon curvature q_unscaled"; fields_create = (char *) "q molecule num_bond num_angle num_dihedral num_improper nspecial " - "mu3 area ed em epsilon curvature q_unscaled"; + "mu area ed em epsilon curvature q_unscaled"; fields_data_atom = (char *) "id molecule type q x " "mu3 area ed em epsilon curvature"; fields_data_vel = (char *) "id v"; @@ -138,16 +138,10 @@ void AtomVecDielectric::data_atom_post(int ilocal) double* q = atom->q; q_unscaled[ilocal] = q[ilocal]; q[ilocal] /= epsilon[ilocal]; -} -/* ---------------------------------------------------------------------- - unmodify values packed by AtomVec::pack_data() -------------------------------------------------------------------------- */ - -void AtomVecDielectric::pack_data_post(int ilocal) -{ - double* q = atom->q; - q_unscaled[ilocal] = q[ilocal]/epsilon[ilocal]; + double *mu_one = mu[ilocal]; + mu_one[3] = + sqrt(mu_one[0]*mu_one[0] + mu_one[1]*mu_one[1] + mu_one[2]*mu_one[2]); } /* ---------------------------------------------------------------------- diff --git a/src/USER-DIELECTRIC/atom_vec_dielectric.h b/src/USER-DIELECTRIC/atom_vec_dielectric.h index 6c933c5949..9767a63ca6 100644 --- a/src/USER-DIELECTRIC/atom_vec_dielectric.h +++ b/src/USER-DIELECTRIC/atom_vec_dielectric.h @@ -31,7 +31,6 @@ class AtomVecDielectric : public AtomVec { void grow_pointers(); void create_atom_post(int); void data_atom_post(int); - void pack_data_post(int); void unpack_restart_init(int); private: From 458af788e166557b3a571a5ee4fbe30629ebd0c5 Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Sun, 30 May 2021 11:33:06 -0500 Subject: [PATCH 113/726] Minor edits and cleanup --- src/USER-DIELECTRIC/compute_efield_atom.cpp | 12 +++--- .../fix_polarize_bem_gmres.cpp | 42 +++++++++---------- src/USER-DIELECTRIC/fix_polarize_bem_icc.cpp | 22 ++++++---- .../fix_polarize_functional.cpp | 23 ++++++---- 4 files changed, 53 insertions(+), 46 deletions(-) diff --git a/src/USER-DIELECTRIC/compute_efield_atom.cpp b/src/USER-DIELECTRIC/compute_efield_atom.cpp index bd7809c12f..43dd589e08 100644 --- a/src/USER-DIELECTRIC/compute_efield_atom.cpp +++ b/src/USER-DIELECTRIC/compute_efield_atom.cpp @@ -11,6 +11,10 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ +/* ---------------------------------------------------------------------- + Contributing author: Trung Nguyen (Northwestern) +------------------------------------------------------------------------- */ + #include "compute_efield_atom.h" #include "atom.h" @@ -18,20 +22,18 @@ #include "error.h" #include "force.h" #include "kspace.h" +#include "memory.h" +#include "msm_dielectric.h" #include "pair_coul_cut_dielectric.h" #include "pair_coul_long_dielectric.h" #include "pair_lj_cut_coul_cut_dielectric.h" #include "pair_lj_cut_coul_long_dielectric.h" #include "pair_lj_cut_coul_msm_dielectric.h" #include "pppm_dielectric.h" -#include "memory.h" -#include "msm_dielectric.h" #include "update.h" using namespace LAMMPS_NS; -enum{NOBIAS,BIAS}; - /* ---------------------------------------------------------------------- */ ComputeEfieldAtom::ComputeEfieldAtom(LAMMPS *lmp, int narg, char **arg) : @@ -161,7 +163,7 @@ void ComputeEfieldAtom::compute_peratom() if (pairflag && force->pair) { for (i = 0; i < npair; i++) for (j = 0; j < 3; j++) { - if (q[i] != 0) efield[i][j] += efield_pair[i][j]; //f[i][j]/q[i]; + if (q[i] != 0) efield[i][j] += efield_pair[i][j]; } } diff --git a/src/USER-DIELECTRIC/fix_polarize_bem_gmres.cpp b/src/USER-DIELECTRIC/fix_polarize_bem_gmres.cpp index 8793810a13..f37626fc4e 100644 --- a/src/USER-DIELECTRIC/fix_polarize_bem_gmres.cpp +++ b/src/USER-DIELECTRIC/fix_polarize_bem_gmres.cpp @@ -12,32 +12,26 @@ ------------------------------------------------------------------------- */ /* ---------------------------------------------------------------------- - Boundary element method for the Poisson equation for surface induced charges - using GMRES + Contributing authors: + Trung Nguyen and Monica Olvera de la Cruz (Northwestern) + + Implement a boundary element solver for surface induced charges + using the GMRES algorithm Reference: Barros, Sinkovits, Luijten, J. Chem. Phys 2014, 140, 064903 - Contributing author: Trung Nguyen (Northwestern) - GMRES solver: - Original C version by Lili Ju. - C++ version by John Burkardt. - Adapted to the version where A is an operator and (b-Ax) is computed directly - by Trung Nguyen. + GMRES solver: Original C version by Lili Ju, C++ version by John Burkardt. + The version adapted here is implemented where A is an operator acting on x, + and the residual (b-Ax) is computed directly. - Richard Barrett, Michael Berry, Tony Chan, James Demmel, - June Donato, Jack Dongarra, Victor Eijkhout, Roidan Pozo, - Charles Romine, Henk van der Vorst, - Templates for the Solution of Linear Systems: - Building Blocks for Iterative Methods, - SIAM, 1994, - ISBN: 0898714710, - LC: QA297.8.T45. + References: + 1) R. Barrett, M. Berry, T. Chan, J. Demmel, J. Donato, J. Dongarra, + V. Eijkhout, R. Pozo, C. Romine, H. van der Vorst, + Templates for the Solution of Linear Systems: Building Blocks for + Iterative Methods, SIAM, 1994, ISBN: 0898714710, LC: QA297.8.T45. - Tim Kelley, - Iterative Methods for Linear and Nonlinear Equations, - SIAM, 2004, - ISBN: 0898713528, - LC: QA297.8.K45. + 2) T. Kelley, Iterative Methods for Linear and Nonlinear Equations, + SIAM, 2004, ISBN: 0898713528, LC: QA297.8.K45. ------------------------------------------------------------------------- */ #include "fix_polarize_bem_gmres.h" @@ -76,8 +70,10 @@ using namespace MathConst; static const char cite_user_dielectric_package[] = "USER-DIELECTRIC package:\n\n" "@Article{TrungCPC19,\n" - " author = {Trung Dac Nguyen, Honghao Li, Debarshee Bagchi, Francisco J. Solis, Monica Olvera de la Cruz,\n" - " title = {Incorporating surface polarization effects into large-scale coarse-grained Molecular Dynamics simulation},\n" + " author = {Trung Dac Nguyen, Honghao Li, Debarshee Bagchi," + " Francisco J. Solis, Monica Olvera de la Cruz,\n" + " title = {Incorporating surface polarization effects into large-scale" + " coarse-grained Molecular Dynamics simulation},\n" " journal = {Comp.~Phys.~Comm.},\n" " year = 2019,\n" " volume = 241,\n" diff --git a/src/USER-DIELECTRIC/fix_polarize_bem_icc.cpp b/src/USER-DIELECTRIC/fix_polarize_bem_icc.cpp index 95e2093aec..6e4dc43559 100644 --- a/src/USER-DIELECTRIC/fix_polarize_bem_icc.cpp +++ b/src/USER-DIELECTRIC/fix_polarize_bem_icc.cpp @@ -12,13 +12,15 @@ ------------------------------------------------------------------------- */ /* ---------------------------------------------------------------------- - An iterative solver for surface induced charges computation (ICC) - using Richarson iteration - - Contributing author: Trung Nguyen (Northwestern) + Contributing authors: + Trung Nguyen and Monica Olvera de la Cruz (Northwestern) References: - Tyagi, Suzen, Sega, Barbosa, Kantorovich, Holm, J. Chem. Phys. 2010, 132, 154112 - Barros, Sinkovits, Luijten, J. Chem. Phys 2014, 140, 064903 + 1) Tyagi, Suzen, Sega, Barbosa, Kantorovich, Holm, J. Chem. Phys. 2010, + 132, 154112 + 2) Barros, Sinkovits, Luijten, J. Chem. Phys 2014, 140, 064903 + + Implement a boundary-element solver for image charge computation (ICC) + using successive overrelaxation ------------------------------------------------------------------------- */ #include "fix_polarize_bem_icc.h" @@ -56,8 +58,10 @@ using namespace MathConst; static const char cite_user_dielectric_package[] = "USER-DIELECTRIC package:\n\n" "@Article{TrungCPC19,\n" - " author = {Trung Dac Nguyen, Honghao Li, Debarshee Bagchi, Francisco J. Solis, Monica Olvera de la Cruz,\n" - " title = {Incorporating surface polarization effects into large-scale coarse-grained Molecular Dynamics simulation},\n" + " author = {Trung Dac Nguyen, Honghao Li, Debarshee Bagchi," + " Francisco J. Solis, Monica Olvera de la Cruz,\n" + " title = {Incorporating surface polarization effects into large-scale" + " coarse-grained Molecular Dynamics simulation},\n" " journal = {Comp.~Phys.~Comm.},\n" " year = 2019,\n" " volume = 241,\n" @@ -461,4 +465,4 @@ double FixPolarizeBEMICC::compute_vector(int n) { if (n == 0) return iterations; else if (n == 1) return rho; -} \ No newline at end of file +} diff --git a/src/USER-DIELECTRIC/fix_polarize_functional.cpp b/src/USER-DIELECTRIC/fix_polarize_functional.cpp index b1b897fa4c..7254ab8d3b 100644 --- a/src/USER-DIELECTRIC/fix_polarize_functional.cpp +++ b/src/USER-DIELECTRIC/fix_polarize_functional.cpp @@ -12,12 +12,15 @@ ------------------------------------------------------------------------- */ /* ---------------------------------------------------------------------- - Solve for induced charges on fixed sharp interfaces via optimizing the functional - developed by Jadhao et al. with respect to the induced charges themselves. - The linear equations to be solved for w are: - (Rww + Rww^T) w = q Rwq - At the beginning of the run, (Rww + Rww^T)^(-1) is computed; - at every time step, the vector (q Rwq) is computed and w is computed via + Contributing authors: + Trung Nguyen and Monica Olvera de la Cruz (Northwestern) + based on the original implementation by Honghao Li (Northwestern) + Reference: + Jadhao, Solis, Olvera de la Cruz, J. Chem. Phys. 138, 054119, 2013 + + Solve the following eq. for induced charges on fixed sharp interfaces: + (Rww + Rww^T) w = q Rwq + at every time step, the vector (q Rwq) is computed, and so w = [Rww + Rww^T)^(-1)] (q Rwq) NOTE: Oct 7, 2019: switch from matrix inversion to a conjugate gradient solver @@ -72,8 +75,10 @@ enum {REAL2SCALED=0,SCALED2REAL=1}; static const char cite_user_dielectric_package[] = "USER-DIELECTRIC package:\n\n" "@Article{TrungCPC19,\n" - " author = {Trung Dac Nguyen, Honghao Li, Debarshee Bagchi, Francisco J. Solis, Monica Olvera de la Cruz,\n" - " title = {Incorporating surface polarization effects into large-scale coarse-grained Molecular Dynamics simulation},\n" + " author = {Trung Dac Nguyen, Honghao Li, Debarshee Bagchi," + " Francisco J. Solis, Monica Olvera de la Cruz,\n" + " title = {Incorporating surface polarization effects into large-scale" + " coarse-grained Molecular Dynamics simulation},\n" " journal = {Comp.~Phys.~Comm.},\n" " year = 2019,\n" " volume = 241,\n" @@ -881,7 +886,7 @@ void FixPolarizeFunctional::calculate_qiRqw_cutoff() } } - MPI_Allreduce(buffer1[0],G1qw_real[0],num_ions*num_induced_charges,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(&buffer1[0][0],&G1qw_real[0][0],num_ions*num_induced_charges,MPI_DOUBLE,MPI_SUM,world); // the following loop need the above results: gradG1wq_real // calculate sum1G1qw_epsilon and sum2ndotGwq_epsilon From 4736d15b7cf87a44197cc2a2db4d9896f675c7dd Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 31 May 2021 11:40:15 -0400 Subject: [PATCH 114/726] replace outdated email address --- src/USER-DIFFRACTION/README | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/USER-DIFFRACTION/README b/src/USER-DIFFRACTION/README index 2f146c4c94..fb36011960 100644 --- a/src/USER-DIFFRACTION/README +++ b/src/USER-DIFFRACTION/README @@ -49,7 +49,7 @@ examples/USER/diffraction. AUTHOR INFORMATION: The person who created this package is Shawn P. Coleman -(shawn.p.coleman8.ctr at mail.mil) while at the University of +(scolema3 at gmail.com) while at the University of Arkansas. Contact him directly if you have questions. Co-Author: Douglas Spearot (University of Arkansas) From 185664824e31ec6475d0431a8e8c3d64cd10d667 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 31 May 2021 12:01:05 -0400 Subject: [PATCH 115/726] address LGTM issues --- tools/coding_standard/homepage.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/coding_standard/homepage.py b/tools/coding_standard/homepage.py index 299729f15d..444befec36 100644 --- a/tools/coding_standard/homepage.py +++ b/tools/coding_standard/homepage.py @@ -34,7 +34,7 @@ patterns: """ def check_homepage(f): - pattern = re.compile(r'.*lammps.sandia.gov.*') + pattern = re.compile(r'.*lammps.sandia.gov.*') # lgtm [py/incomplete-hostname-regexp] lineno = 1 errors = set() @@ -48,7 +48,7 @@ def check_homepage(f): def check_file(path): if path.find('homepage.py') >= 0: return { 'homepage_errors' : '' } encoding = 'UTF-8' - whitespace_errors = set() + homepage_errors = set() try: with open(path, 'r') as f: homepage_errors = check_homepage(f) From fde2295685dc613bdc06fc055f962bd0befaaa9e Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 15 May 2021 23:35:14 -0400 Subject: [PATCH 116/726] add comments to suppress useless warnings from LGTM --- python/install.py | 4 ++-- python/lammps/__init__.py | 12 ++++++------ python/lammps/core.py | 20 ++++++++++---------- python/lammps/numpy_wrapper.py | 2 +- unittest/force-styles/check_tests.py | 2 +- 5 files changed, 20 insertions(+), 20 deletions(-) diff --git a/python/install.py b/python/install.py index 10bd4f6de1..a3668754d9 100644 --- a/python/install.py +++ b/python/install.py @@ -123,7 +123,7 @@ try: sys.argv = ["setup.py","install"] # as if had run "python setup.py install" setup_kwargs['data_files']=[(os.path.join(get_python_lib(), 'lammps'), [args.lib])] setup(**setup_kwargs) -except: +except: # lgtm [py/catch-base-exception] tryuser=True print ("Installation into global site-packages folder failed.\nTrying user folder %s now." % site.USER_SITE) @@ -132,5 +132,5 @@ if tryuser: sys.argv = ["setup.py","install","--user"] # as if had run "python setup.py install --user" setup_kwargs['data_files']=[(os.path.join(site.USER_SITE, 'lammps'), [args.lib])] setup(**setup_kwargs) - except: + except: # lgtm [py/catch-base-exception] print("Installation into user site package folder failed.") diff --git a/python/lammps/__init__.py b/python/lammps/__init__.py index a51e0db207..9381d6b80c 100644 --- a/python/lammps/__init__.py +++ b/python/lammps/__init__.py @@ -8,10 +8,10 @@ LAMMPS module global members: result of :py:func:`lammps.version`. """ -from .constants import * -from .core import * -from .data import * -from .pylammps import * +from .constants import * # lgtm [py/polluting-import] +from .core import * # lgtm [py/polluting-import] +from .data import * # lgtm [py/polluting-import] +from .pylammps import * # lgtm [py/polluting-import] # convert installed module string version to numeric version def get_version_number(): @@ -28,7 +28,7 @@ def get_version_number(): from importlib.metadata import version try: vstring = version('lammps') - except: + except: # lgtm [py/catch-base-exception] # nothing to do, ignore pass @@ -36,7 +36,7 @@ def get_version_number(): from pkg_resources import get_distribution try: vstring = get_distribution('lammps').version - except: + except: # lgtm [py/catch-base-exception] # nothing to do, ignore pass diff --git a/python/lammps/core.py b/python/lammps/core.py index 800a1eab29..e31c6505e3 100644 --- a/python/lammps/core.py +++ b/python/lammps/core.py @@ -18,12 +18,12 @@ from __future__ import print_function import os import sys -from ctypes import * +from ctypes import * # lgtm [py/polluting-import] from os.path import dirname,abspath,join from inspect import getsourcefile -from .constants import * -from .data import * +from .constants import * # lgtm [py/polluting-import] +from .data import * # lgtm [py/polluting-import] # ------------------------------------------------------------------------- @@ -100,7 +100,7 @@ class lammps(object): try: if ptr: self.lib = CDLL("",RTLD_GLOBAL) - except: + except: # lgtm [py/catch-base-exception] self.lib = None # load liblammps.so unless name is given @@ -307,7 +307,7 @@ class lammps(object): from mpi4py import __version__ as mpi4py_version # tested to work with mpi4py versions 2 and 3 self.has_mpi4py = mpi4py_version.split('.')[0] in ['2','3'] - except: + except: # lgtm [py/catch-base-exception] # ignore failing import pass @@ -1352,7 +1352,7 @@ class lammps(object): id_lmp = (self.c_tagint*n)() try: id_lmp[:] = id[0:n] - except: + except: # lgtm [py/catch-base-exception] return 0 else: id_lmp = None @@ -1360,21 +1360,21 @@ class lammps(object): type_lmp = (c_int*n)() try: type_lmp[:] = type[0:n] - except: + except: # lgtm [py/catch-base-exception] return 0 three_n = 3*n x_lmp = (c_double*three_n)() try: x_lmp[:] = x[0:three_n] - except: + except: # lgtm [py/catch-base-exception] return 0 if v: v_lmp = (c_double*(three_n))() try: v_lmp[:] = v[0:three_n] - except: + except: # lgtm [py/catch-base-exception] return 0 else: v_lmp = None @@ -1383,7 +1383,7 @@ class lammps(object): img_lmp = (self.c_imageint*n)() try: img_lmp[:] = image[0:n] - except: + except: # lgtm [py/catch-base-exception] return 0 else: img_lmp = None diff --git a/python/lammps/numpy_wrapper.py b/python/lammps/numpy_wrapper.py index 399affa51a..20fdf4cc68 100644 --- a/python/lammps/numpy_wrapper.py +++ b/python/lammps/numpy_wrapper.py @@ -20,7 +20,7 @@ import warnings from ctypes import POINTER, c_double, c_int, c_int32, c_int64, cast -from .constants import * +from .constants import * # lgtm [py/polluting-import] from .data import NeighList diff --git a/unittest/force-styles/check_tests.py b/unittest/force-styles/check_tests.py index a0934eabe8..cca1b9f84d 100755 --- a/unittest/force-styles/check_tests.py +++ b/unittest/force-styles/check_tests.py @@ -31,7 +31,7 @@ if not tests_dir: try: src_dir = os.path.abspath(os.path.expanduser(src_dir)) tests_dir = os.path.abspath(os.path.expanduser(tests_dir)) -except: +except: # lgtm [py/catch-base-exception] parser.print_help() sys.exit(1) From 1b8825a377a65319b0be1697003006ba43f781af Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 31 May 2021 18:23:37 -0400 Subject: [PATCH 117/726] expand LGTM exposure of LAMMPS styles --- .lgtm.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.lgtm.yml b/.lgtm.yml index 2f2a31f292..e5a62fd04b 100644 --- a/.lgtm.yml +++ b/.lgtm.yml @@ -4,7 +4,7 @@ extraction: command: - "mkdir build" - "cd build" - - "cmake -G Ninja -C ../cmake/presets/minimal.cmake ../cmake" + - "cmake -G Ninja -C ../cmake/presets/most.cmake ../cmake" index: build_command: - "cd build" From c12f7e226b27dd2974f97d690d387f7e51705333 Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Tue, 1 Jun 2021 11:22:14 -0500 Subject: [PATCH 118/726] More cleanup to fix polarize*, access to the per-atom variables from the Atom class, and updates to doc pages --- doc/src/fix_polarize_bem_gmres.rst | 104 ++++++++++++++++ doc/src/fix_polarize_bem_icc.rst | 103 ++++++++++++++++ ...larize.rst => fix_polarize_functional.rst} | 24 ++-- examples/USER/dielectric/in.confined | 2 +- examples/USER/dielectric/in.nopbc | 4 +- examples/USER/dielectric/in.pbc | 2 +- src/USER-DIELECTRIC/atom_vec_dielectric.cpp | 66 ++++++++++ .../fix_polarize_bem_gmres.cpp | 23 ++-- src/USER-DIELECTRIC/fix_polarize_bem_icc.cpp | 8 +- .../fix_polarize_functional.cpp | 114 +++++++++++------- src/USER-DIELECTRIC/fix_polarize_functional.h | 11 +- src/atom.cpp | 16 +++ 12 files changed, 400 insertions(+), 77 deletions(-) create mode 100644 doc/src/fix_polarize_bem_gmres.rst create mode 100644 doc/src/fix_polarize_bem_icc.rst rename doc/src/{fix_polarize.rst => fix_polarize_functional.rst} (65%) diff --git a/doc/src/fix_polarize_bem_gmres.rst b/doc/src/fix_polarize_bem_gmres.rst new file mode 100644 index 0000000000..c410b33f6a --- /dev/null +++ b/doc/src/fix_polarize_bem_gmres.rst @@ -0,0 +1,104 @@ +.. index:: fix polarize/bem/gmres + +fix polarize/bem/gmres command +=================== + +Syntax +"""""" + +.. parsed-literal:: + + fix ID group-ID polarize/bem/gmres nevery tolerance ... + +* ID, group-ID are documented in :doc:`fix ` command +* polarize/bem/gmres = style name of this fix command +* Nevery = this fixed is invoked every this many timesteps +* tolerance = the tolerance for the iterative solver to stop + + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix 2 all polarize/bem/gmres 5 0.0001 + +Description +""""""""""" + +The fix polarize/bem/gmres computes the induced charges +at the interface between two impermeable media with +different dielectric constants. + +There are some example scripts for using this fix +with LAMMPS in the examples/USER/dielectric directory. + +---------- + +The induced charges of the atoms in the specified group, which are +the vertices on the interface, are computed using the equation: + +..math:: + + \sigma_b(\mathbf{s}) = \dfrac{1 - \bar{\epsilon}}{\bar{\epsilon}} + \sigma_f(\mathbf{s}) - \epsilon_0 \dfrac{\Delta \epsilon}{\bar{\epsilon}} + \mathbf{E}(\mathbf{s}) \cdot \mathbf{n}(\mathbf{s}) + +* :math:`\sigma_b` is the induced charge density at the interface vertex +:math:`\mathbf{s}`. +* :math:`\bar{\epsilon}` is the mean dielectric constant at the interface vertex: +:math:`\bar{\epsilon} = (\epsilon_1 + \epsilon_2)/2`. +* :math:`\Delta \epsilon` is the dielectric constant difference at the interface vertex: +:math:`\Delta \epsilon = \epsilon_1 - \epsilon_2` +* :math:`\sigma_f` is the free charge density at the interface vertex +* :math:`\mathbf{E}(\mathbf{s})` is the electrical field at the vertex +* :math:`\mathbf{n}(\mathbf{s})` is the unit normal vector at the vertex +pointing from medium with :math:`\epsilon_2` to that with :math:`\epsilon_1` + + +The fix polarize/bem/gmres employs the Generalized Minimum Residual (GMRES) +as described in :ref:`(Barros) ` to solve for :math:`\sigma_b`. + +Restart, fix_modify, output, run start/stop, minimize info +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" + +The :doc:`fix_modify ` + +This fix computes a global scalar which can be accessed by various +:doc:`output commands `. The scalar is the Colvars +energy mentioned above. The scalar value calculated by this fix is +"extensive". + +Restrictions +"""""""""""" + +This fix is part of the USER-DIELECTRIC package. It is only enabled if +LAMMPS was built with that package. See the :doc:`Build package +` doc page for more info. + +There can only be one colvars fix active at a time. Since the interface +communicates only the minimum amount of information and colvars module +itself can handle an arbitrary number of collective variables, this is +not a limitation of functionality. + +Related commands +"""""""""""""""" + +:doc:`fix polarize/bem/icc `, :doc:`fix polarize/functional ` + +Default +""""""" + +None. + +---------- + +.. _Barros: + +**(Barros)** Barros, Sinkovits, Luijten, J. Chem. Phys, 140, 064903 (2014) + + +.. _NguyenTD: + +**(NguyenTD)** Nguyen, Li, Bagchi, Solis, Olvera de la Cruz, Comput Phys Commun 241, 80-19 (2019) + diff --git a/doc/src/fix_polarize_bem_icc.rst b/doc/src/fix_polarize_bem_icc.rst new file mode 100644 index 0000000000..130b99fd41 --- /dev/null +++ b/doc/src/fix_polarize_bem_icc.rst @@ -0,0 +1,103 @@ +.. index:: fix polarize/bem/icc + +fix polarize/bem/icc command +=================== + +Syntax +"""""" + +.. parsed-literal:: + + fix ID group-ID polarize nevery tolerance ... + +* ID, group-ID are documented in :doc:`fix ` command +* polarize/bem/icc = style name of this fix command +* Nevery = this fixed is invoked every this many timesteps +* tolerance = the tolerance for the iterative solver to stop + + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix 1 interface polarize/bem/icc 1 0.0001 + +Description +""""""""""" + +The fix polarize/bem/icc computes the induced charges +at the interface between two impermeable media with +different dielectric constants. + +There are some example scripts for using this fix +with LAMMPS in the examples/USER/dielectric directory. + +---------- + +The induced charges of the atoms in the specified group, which are +the vertices on the interface, are computed using the equation: + +..math:: + + \sigma_b(\mathbf{s}) = \dfrac{1 - \bar{\epsilon}}{\bar{\epsilon}} + \sigma_f(\mathbf{s}) - \epsilon_0 \dfrac{\Delta \epsilon}{\bar{\epsilon}} + \mathbf{E}(\mathbf{s}) \cdot \mathbf{n}(\mathbf{s}) + +* :math:`\sigma_b` is the induced charge density at the interface vertex +:math:`\mathbf{s}`. +* :math:`\bar{\epsilon}` is the mean dielectric constant at the interface vertex: +:math:`\bar{\epsilon} = (\epsilon_1 + \epsilon_2)/2`. +* :math:`\Delta \epsilon` is the dielectric constant difference at the interface vertex: +:math:`\Delta \epsilon = \epsilon_1 - \epsilon_2` +* :math:`\sigma_f` is the free charge density at the interface vertex +* :math:`\mathbf{E}(\mathbf{s})` is the electrical field at the vertex +* :math:`\mathbf{n}(\mathbf{s})` is the unit normal vector at the vertex +pointing from medium with :math:`\epsilon_2` to that with :math:`\epsilon_1` + + +The fix polarize/bem/icc employs the successive overrelaxation algorithm +as described in :ref:`(Tyagi) ` to solve for :math:`\sigma_b`. + +Restart, fix_modify, output, run start/stop, minimize info +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" + +The :doc:`fix_modify ` + +This fix computes a global scalar which can be accessed by various +:doc:`output commands `. The scalar is the Colvars +energy mentioned above. The scalar value calculated by this fix is +"extensive". + +Restrictions +"""""""""""" + +This fix is part of the USER-DIELECTRIC package. It is only enabled if +LAMMPS was built with that package. See the :doc:`Build package +` doc page for more info. + +There can only be one colvars fix active at a time. Since the interface +communicates only the minimum amount of information and colvars module +itself can handle an arbitrary number of collective variables, this is +not a limitation of functionality. + +Related commands +"""""""""""""""" + +:doc:`fix polarize/bem/icc `, :doc:`fix polarize/functional ` + +Default +""""""" + +None. + +---------- + +.. _Tyagi: + +**(Tyagi)** Tyagi, Suzen, Sega, Barbosa, Kantorovich, Holm, J Chem Phys, 132, 154112 (2010) + +.. _NguyenTD: + +**(NguyenTD)** Nguyen, Li, Bagchi, Solis, Olvera de la Cruz, Comput Phys Commun 241, 80-19 (2019) + diff --git a/doc/src/fix_polarize.rst b/doc/src/fix_polarize_functional.rst similarity index 65% rename from doc/src/fix_polarize.rst rename to doc/src/fix_polarize_functional.rst index 66bafb94f9..20005c8e8e 100644 --- a/doc/src/fix_polarize.rst +++ b/doc/src/fix_polarize_functional.rst @@ -1,8 +1,6 @@ -.. index:: fix polarize/bem/icc -.. index:: fix polarize/bem/gmres .. index:: fix polarize/functional -fix polarize command +fix polarize/functional command =================== Syntax @@ -13,7 +11,7 @@ Syntax fix ID group-ID polarize nevery tolerance ... * ID, group-ID are documented in :doc:`fix ` command -* polarize/bem/icc, polarize/bem/gmres, or polarize/functional = style name of this fix command +* polarize/functional = style name of this fix command * Nevery = this fixed is invoked every this many timesteps * tolerance = the tolerance for the iterative solver to stop @@ -23,9 +21,7 @@ Examples .. code-block:: LAMMPS - fix 1 all polarize/bem/icc 1 0.0001 - fix 2 all polarize/bem/gmres 5 0.0001 - fix 3 all polarize/bem/functional 1 0.0001 + fix 3 all polarize/functional 1 0.001 Description """"""""""" @@ -39,12 +35,6 @@ examples/USER/dielectric directory. ---------- -The charges of the atoms in the specified group will be computed by the solver. -fix polarize bem/icc computes the induced charges at the boundary elements -(i.e. interface vertices) using the successive overrelaxation as described -in (Tyagi). fix polarize bem/gmres computes the induced charges at -the interface vertices using the successive overrelaxation -as described in (Barros). Restart, fix_modify, output, run start/stop, minimize info """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" @@ -71,7 +61,7 @@ not a limitation of functionality. Related commands """""""""""""""" -:doc:`fix smd `, :doc:`fix spring `, +:doc:`fix polarize/bem/icc `, :doc:`fix polarize/functional ` Default """"""" @@ -80,7 +70,11 @@ None. ---------- +.. _Jadhao: + +**(Jadhao)** Jadhao, Solis, Olvera de la Cruz, J Chem Phys, 138, 054119 (2013) + .. _NguyenTD: -**(NguyenTD)** Nguyen, Li, Bagchi, Solis, Olvera de la Cruz, Mol. Phys., DOI:10.1016/j.cpc.2019.03.006 +**(NguyenTD)** Nguyen, Li, Bagchi, Solis, Olvera de la Cruz, Comput Phys Commun 241, 80-19 (2019) diff --git a/examples/USER/dielectric/in.confined b/examples/USER/dielectric/in.confined index c6508cfe08..ce3f3c02ff 100644 --- a/examples/USER/dielectric/in.confined +++ b/examples/USER/dielectric/in.confined @@ -63,7 +63,7 @@ elif "${method} == icc"& "fix 3 interface polarize/bem/icc 1 1.0e-4 itr_max 50" & "fix_modify 3 itr_max 50 dielectrics ${ed} ${em} ${epsilon} ${area} NULL" & elif "${method} == dof" & - "fix 3 interface polarize/functional" & + "fix 3 interface polarize/functional 1 0.001" & "fix_modify 3 dielectrics ${ed} ${em} ${epsilon} ${area} NULL" & else & "print 'Unsupported polarization solver' " diff --git a/examples/USER/dielectric/in.nopbc b/examples/USER/dielectric/in.nopbc index bb7b506c90..cf669fb686 100644 --- a/examples/USER/dielectric/in.nopbc +++ b/examples/USER/dielectric/in.nopbc @@ -35,9 +35,9 @@ fix 1 ions nve if "${method} == gmres" then & "fix 3 interface polarize/bem/gmres 1 1.0e-4" & elif "${method} == icc"& - "fix 3 interface polarize/bem/icc 1 1.0e-4 itr_max 50" & + "fix 3 interface polarize/bem/icc 1 1.0e-4" & elif "${method} == dof" & - "fix 3 interface polarize/functional" & + "fix 3 interface polarize/functional 1 1.0e-4" & else & "print 'Unsupported method for polarization' " diff --git a/examples/USER/dielectric/in.pbc b/examples/USER/dielectric/in.pbc index 41226602fc..da5c35f477 100644 --- a/examples/USER/dielectric/in.pbc +++ b/examples/USER/dielectric/in.pbc @@ -40,7 +40,7 @@ if "${method} == gmres" then & elif "${method} == icc"& "fix 3 interface polarize/bem/icc 1 1.0e-4 itr_max 50" & elif "${method} == dof" & - "fix 3 interface polarize/functional" & + "fix 3 interface polarize/functional 1 0.0001" & else & "print 'Unsupported method for polarization' " diff --git a/src/USER-DIELECTRIC/atom_vec_dielectric.cpp b/src/USER-DIELECTRIC/atom_vec_dielectric.cpp index e229f594f8..7dd3af2e3a 100644 --- a/src/USER-DIELECTRIC/atom_vec_dielectric.cpp +++ b/src/USER-DIELECTRIC/atom_vec_dielectric.cpp @@ -155,3 +155,69 @@ void AtomVecDielectric::unpack_restart_init(int ilocal) nspecial[ilocal][2] = 0; } +/* ---------------------------------------------------------------------- + assign an index to named atom property and return index + return -1 if name is unknown to this atom style +------------------------------------------------------------------------- */ + +int AtomVecDielectric::property_atom(char *name) +{ + if (strcmp(name,"area") == 0) return 0; + if (strcmp(name,"ed") == 0) return 1; + if (strcmp(name,"em") == 0) return 2; + if (strcmp(name,"epsilon") == 0) return 3; + if (strcmp(name,"curvature") == 0) return 4; + if (strcmp(name,"q_unscaled") == 0) return 5; + return -1; +} + +/* ---------------------------------------------------------------------- + pack per-atom data into buf for ComputePropertyAtom + index maps to data specific to this atom style +------------------------------------------------------------------------- */ + +void AtomVecDielectric::pack_property_atom(int index, double *buf, + int nvalues, int groupbit) +{ + int *mask = atom->mask; + int nlocal = atom->nlocal; + int n = 0; + + if (index == 0) { + for (int i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) buf[n] = area[i]; + else buf[n] = 0.0; + n += nvalues; + } + } else if (index == 1) { + for (int i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) buf[n] = ed[i]; + else buf[n] = 0.0; + n += nvalues; + } + } else if (index == 2) { + for (int i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) buf[n] = em[i]; + else buf[n] = 0.0; + n += nvalues; + } + } else if (index == 3) { + for (int i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) buf[n] = epsilon[i]; + else buf[n] = 0.0; + n += nvalues; + } + } else if (index == 4) { + for (int i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) buf[n] = curvature[i]; + else buf[n] = 0.0; + n += nvalues; + } + } else if (index == 5) { + for (int i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) buf[n] = q_unscaled[i]; + else buf[n] = 0.0; + n += nvalues; + } + } +} diff --git a/src/USER-DIELECTRIC/fix_polarize_bem_gmres.cpp b/src/USER-DIELECTRIC/fix_polarize_bem_gmres.cpp index f37626fc4e..05b5cf8a83 100644 --- a/src/USER-DIELECTRIC/fix_polarize_bem_gmres.cpp +++ b/src/USER-DIELECTRIC/fix_polarize_bem_gmres.cpp @@ -453,7 +453,8 @@ void FixPolarizeBEMGMRES::gmres_solve(double* x, double* r) // the inner loop k = 1..(n-1) // build up the k-th Krylov space, - // actually build the Q_k matrix of size n by k, whose the columns are k vectors v(1)...v(k) + // actually build the Q_k matrix of size n by k, + // whose the columns are k vectors v(1)...v(k) // remember that v[0] is computed from the updated residual as above for (k = 1; k <= mr; k++) { @@ -503,7 +504,8 @@ void FixPolarizeBEMGMRES::gmres_solve(double* x, double* r) } // if k is not the first iteration, - // find the vector y that minimizes the norm of the residual using the least square method + // find the vector y that minimizes the norm of the residual + // using the least square method if (k > 1) { @@ -547,7 +549,8 @@ void FixPolarizeBEMGMRES::gmres_solve(double* x, double* r) #ifdef _POLARIZE_DEBUG if (comm->me == 0) { char message[256]; - sprintf(message, "itr = %d: k = %d, norm(r) = %g norm(b) = %g", itr, k, rho, normb); + sprintf(message, "itr = %d: k = %d, norm(r) = %g norm(b) = %g", + itr, k, rho, normb); error->warning(FLERR, message); } #endif @@ -586,7 +589,8 @@ void FixPolarizeBEMGMRES::gmres_solve(double* x, double* r) #ifdef _POLARIZE_DEBUG if (comm->me == 0) { char message[256]; - sprintf(message, "itr = %d: norm(r) = %g norm(b) = %g", itr, rho, normb); + sprintf(message, "itr = %d: norm(r) = %g norm(b) = %g", + itr, rho, normb); error->warning(FLERR, message); } #endif @@ -739,7 +743,8 @@ void FixPolarizeBEMGMRES::update_residual(double* w, double* r, int n) } double dot = (Ex*norm[i][0] + Ey*norm[i][1] + Ez*norm[i][2]) / epsilon[i]; double sigma_f = q_real[i] / area[i]; - buffer[idx] = (1 - em[i]) * sigma_f - em[i] * w[idx] - epsilon0 * ed[i] * dot / (4*MY_PI); + buffer[idx] = (1 - em[i]) * sigma_f - em[i] * w[idx] - + epsilon0 * ed[i] * dot / (4*MY_PI); } MPI_Allreduce(buffer,r,num_induced_charges,MPI_DOUBLE,MPI_SUM,world); @@ -843,8 +848,10 @@ int FixPolarizeBEMGMRES::modify_param(int narg, char **arg) int set_charge=0; double ediff = utils::numeric(FLERR,arg[iarg+1],false,lmp); double emean = utils::numeric(FLERR,arg[iarg+2],false,lmp); - if (strcmp(arg[iarg+3],"NULL") != 0) epsiloni = utils::numeric(FLERR,arg[iarg+3],false,lmp); - if (strcmp(arg[iarg+4],"NULL") != 0) areai = utils::numeric(FLERR,arg[iarg+4],false,lmp); + if (strcmp(arg[iarg+3],"NULL") != 0) + epsiloni = utils::numeric(FLERR,arg[iarg+3],false,lmp); + if (strcmp(arg[iarg+4],"NULL") != 0) + areai = utils::numeric(FLERR,arg[iarg+4],false,lmp); if (strcmp(arg[iarg+5],"NULL") != 0) { qreali = utils::numeric(FLERR,arg[iarg+5],false,lmp); set_charge = 1; @@ -896,7 +903,7 @@ void FixPolarizeBEMGMRES::set_arrays(int i) /* ---------------------------------------------------------------------- */ int FixPolarizeBEMGMRES::pack_forward_comm(int n, int *list, double *buf, - int pbc_flag, int *pbc) + int pbc_flag, int *pbc) { int m; for (m = 0; m < n; m++) buf[m] = atom->q[list[m]]; diff --git a/src/USER-DIELECTRIC/fix_polarize_bem_icc.cpp b/src/USER-DIELECTRIC/fix_polarize_bem_icc.cpp index 6e4dc43559..f5da42c6f8 100644 --- a/src/USER-DIELECTRIC/fix_polarize_bem_icc.cpp +++ b/src/USER-DIELECTRIC/fix_polarize_bem_icc.cpp @@ -391,8 +391,10 @@ int FixPolarizeBEMICC::modify_param(int narg, char **arg) int set_charge=0; double ediff = utils::numeric(FLERR,arg[iarg+1],false,lmp); double emean = utils::numeric(FLERR,arg[iarg+2],false,lmp); - if (strcmp(arg[iarg+3],"NULL") != 0) epsiloni = utils::numeric(FLERR,arg[iarg+3],false,lmp); - if (strcmp(arg[iarg+4],"NULL") != 0) areai = utils::numeric(FLERR,arg[iarg+4],false,lmp); + if (strcmp(arg[iarg+3],"NULL") != 0) + epsiloni = utils::numeric(FLERR,arg[iarg+3],false,lmp); + if (strcmp(arg[iarg+4],"NULL") != 0) + areai = utils::numeric(FLERR,arg[iarg+4],false,lmp); if (strcmp(arg[iarg+5],"NULL") != 0) { qreali = utils::numeric(FLERR,arg[iarg+5],false,lmp); set_charge = 1; @@ -465,4 +467,4 @@ double FixPolarizeBEMICC::compute_vector(int n) { if (n == 0) return iterations; else if (n == 1) return rho; -} +} \ No newline at end of file diff --git a/src/USER-DIELECTRIC/fix_polarize_functional.cpp b/src/USER-DIELECTRIC/fix_polarize_functional.cpp index 7254ab8d3b..8c2a7946ff 100644 --- a/src/USER-DIELECTRIC/fix_polarize_functional.cpp +++ b/src/USER-DIELECTRIC/fix_polarize_functional.cpp @@ -22,11 +22,7 @@ (Rww + Rww^T) w = q Rwq at every time step, the vector (q Rwq) is computed, and so w = [Rww + Rww^T)^(-1)] (q Rwq) - NOTE: Oct 7, 2019: switch from matrix inversion to a conjugate gradient solver - - Contributing author: Trung Nguyen (Northwestern) - based on the full-matrix implementation by Honghao Li (Northwestern University) - Reference: Jadhao, Solis, Olvera de la Cruz, J. Chem. Phys. 138, 054119, 2013 + NOTE: Oct 7, 2019: switch to using a conjugate gradient solver ------------------------------------------------------------------------- */ #include "fix_polarize_functional.h" @@ -93,11 +89,17 @@ FixPolarizeFunctional::FixPolarizeFunctional(LAMMPS *lmp, int narg, char **arg) { if (lmp->citeme) lmp->citeme->add(cite_user_dielectric_package); - if (narg != 3) error->all(FLERR,"Illegal fix polarize/functional command"); + if (narg < 4) error->all(FLERR,"Illegal fix polarize/functional command"); avec = (AtomVecDielectric *) atom->style_match("dielectric"); if (!avec) error->all(FLERR,"Fix polarize/functional requires atom style dielectric"); + nevery = utils::inumeric(FLERR,arg[3],false,lmp); + if (nevery < 0) error->all(FLERR,"Illegal fix polarize/functional command"); + + tolerance = EPSILON; + if (narg == 5) tolerance = utils::numeric(FLERR,arg[4],false,lmp); + comm_forward = 1; nmax = 0; allocated = 0; @@ -362,6 +364,9 @@ void FixPolarizeFunctional::setup_pre_force(int vflag) void FixPolarizeFunctional::pre_force(int) { + if (nevery == 0) return; + if (update->ntimestep % nevery) return; + // solve for the induced charges update_induced_charges(); @@ -631,14 +636,14 @@ void FixPolarizeFunctional::calculate_Rww_cutoff() // invoke full neighbor list int inum,jnum,*ilist,*jlist,*numneigh,**firstneigh; - inum = list->inum; // number of entries in the neighbor list - ilist = list->ilist; // ilist[ii] gives the atom index of the entry ii in the list - numneigh = list->numneigh; // numneigh[i] gives the number of neighbors of local atom i - firstneigh = list->firstneigh; // firstneigh[i] gives the pointer to the neighbors of i + inum = list->inum; + ilist = list->ilist; + numneigh = list->numneigh; + firstneigh = list->firstneigh; // calculate G1ww, gradG1ww, ndotG1ww // fill up buffer1 with local G1ww and buffer2 with local ndotGww - // seperate into two loops to let the compiler optimize / or later vectorization + // seperate into two loops to let the compiler optimize/or later vectorization for (int i = 0; i < num_induced_charges; i++) for (int j = 0; j < num_induced_charges; j++) buffer1[i][j] = 0; @@ -660,6 +665,7 @@ void FixPolarizeFunctional::calculate_Rww_cutoff() for (int kk = 0; kk < jnum; kk++) { int k = jlist[kk] & NEIGHMASK; if (mask[k] & groupbit) { + // interface particles: k can be ghost atoms double delx = xtmp - x[k][0]; double dely = ytmp - x[k][1]; @@ -667,28 +673,31 @@ void FixPolarizeFunctional::calculate_Rww_cutoff() domain->minimum_image(delx,dely,delz); int mk = tag2mat[tag[k]]; - //G1ww[mi][mk] = calculate_greens_ewald(delx, dely, delz); + // G1ww[mi][mk] = calculate_greens_ewald(delx, dely, delz); buffer1[mi][mk] = calculate_greens_ewald(delx, dely, delz); + // gradG1ww is vector, directly change it in the function double gradG1ww[3]; - //calculate_grad_greens_ewald(gradG1ww[mi][mk], delx, dely, delz); calculate_grad_greens_ewald(gradG1ww, delx, dely, delz); + // use mu to store the normal vector of interface vertex - //ndotGww[mi][mk] = MathExtra::dot3(norm[i], gradG1ww[mi][mk]) / (4*MY_PI); buffer2[mi][mk] = MathExtra::dot3(norm[i], gradG1ww) / (4*MY_PI); } } - // special treatment for the diagonal terms, even though in the above loop there is mk == mi - //G1ww[mi][mi] = calculate_greens_ewald_self_vertex(area[i]); + // special treatment for the diagonal terms, + // even though in the above loop there is mk == mi + buffer1[mi][mi] = calculate_greens_ewald_self_vertex(area[i]); - //ndotGww[mi][mi] = calculate_ndotgreens_ewald_self_vertex(area[i], curvature[i]) / (4*MY_PI); - buffer2[mi][mi] = calculate_ndotgreens_ewald_self_vertex(area[i], curvature[i]) / (4*MY_PI); + buffer2[mi][mi] = calculate_ndotgreens_ewald_self_vertex(area[i], curvature[i]) / + (4*MY_PI); } } - MPI_Allreduce(buffer1[0],G1ww[0],num_induced_charges*num_induced_charges,MPI_DOUBLE,MPI_SUM,world); - MPI_Allreduce(buffer2[0],ndotGww[0],num_induced_charges*num_induced_charges,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(buffer1[0],G1ww[0],num_induced_charges*num_induced_charges, + MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(buffer2[0],ndotGww[0],num_induced_charges*num_induced_charges, + MPI_DOUBLE,MPI_SUM,world); // calculate G2ww // fill up buffer1 with local G2ww @@ -738,10 +747,12 @@ void FixPolarizeFunctional::calculate_Rww_cutoff() } } - MPI_Allreduce(buffer1[0],G2ww[0],num_induced_charges*num_induced_charges,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(buffer1[0],G2ww[0],num_induced_charges*num_induced_charges, + MPI_DOUBLE,MPI_SUM,world); // calculate G3ww and Rww - // G3ww is implemented as in _exact(), but can be optionally excluded due to its minor contribution + // G3ww is implemented as in _exact(), but can be optionally excluded + // due to its minor contribution // fill up buffer1 with local G3ww for (int i = 0; i < num_induced_charges; i++) @@ -759,13 +770,17 @@ void FixPolarizeFunctional::calculate_Rww_cutoff() int k = jlist[kk] & NEIGHMASK; if (mask[k] & groupbit) { + // interface particles: k can be ghost atoms + int mk = tag2mat[tag[k]]; double a1 = em[i] * (em[k] - 1.0); double a2 = 1.0 - em[i] - em[k]; + // The first term (w/ G1ww) contributes the most to Rww // the second term (w/ G2ww) includes certain correction + //Rww[mi][mk] = a1 * G1ww[mi][mk] + a2 * G2ww[mi][mk]; buffer1[mi][mk] = a1 * G1ww[mi][mk] + a2 * G2ww[mi][mk]; @@ -804,9 +819,11 @@ void FixPolarizeFunctional::calculate_Rww_cutoff() // including the diagonal term double a1 = em[i] * (em[i] - 1.0); double a2 = 1.0 - em[i] - em[i]; + // The first term (w/ G1ww) contributes the most to Rww // the second term (w/ G2ww) includes certain correction //Rww[mi][mi] = a1 * G1ww[mi][mi] + a2 * G2ww[mi][mi]; + buffer1[mi][mi] = a1 * G1ww[mi][mi] + a2 * G2ww[mi][mi]; } } @@ -846,10 +863,10 @@ void FixPolarizeFunctional::calculate_qiRqw_cutoff() // invoke full neighbor list int inum,*ilist,*jlist,*numneigh,**firstneigh; - inum = list->inum; // number of entries in the neighbor list - ilist = list->ilist; // ilist[ii] gives the atom index of the entry ii in the list - numneigh = list->numneigh; // numneigh[i] gives the number of neighbors of local atom i - firstneigh = list->firstneigh; // firstneigh[i] gives the pointer to the neighbors of i + inum = list->inum; + ilist = list->ilist; + numneigh = list->numneigh; + firstneigh = list->firstneigh; // calculate G1qw_real // fill up buffer1 with local G1qw_real @@ -886,7 +903,8 @@ void FixPolarizeFunctional::calculate_qiRqw_cutoff() } } - MPI_Allreduce(&buffer1[0][0],&G1qw_real[0][0],num_ions*num_induced_charges,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(&buffer1[0][0],&G1qw_real[0][0],num_ions*num_induced_charges, + MPI_DOUBLE,MPI_SUM,world); // the following loop need the above results: gradG1wq_real // calculate sum1G1qw_epsilon and sum2ndotGwq_epsilon @@ -917,7 +935,8 @@ void FixPolarizeFunctional::calculate_qiRqw_cutoff() delz = x[i][2] - ztmp; domain->minimum_image(delx,dely,delz); - int mi = tag2mat_ions[tag[i]]; //ion_idx[i]; //get_matrix_index_from_local_index(i); + int mi = tag2mat_ions[tag[i]]; //ion_idx[i]; + //calculate_grad_greens_real(gradG1wq_real[mk][mi], delx, dely, delz); double gradG1wq[3]; calculate_grad_greens_real(gradG1wq, delx, dely, delz); @@ -929,8 +948,10 @@ void FixPolarizeFunctional::calculate_qiRqw_cutoff() temp_sum1 += G1qw_real[mi][mk] * q[i] / epsilon[i]; } } + //sum1G1qw_epsilon[mk] = temp_sum1;// + ewaldDielectric->sum1G1qw_k_epsilon[mk]; rhs1[mk] = temp_sum1; + //sum2ndotGwq_epsilon[mk] = MathExtra::dot3(norm[k], tempndotG); rhs2[mk] = MathExtra::dot3(norm[k], tempndotG); } @@ -1007,14 +1028,16 @@ void FixPolarizeFunctional::calculate_qiRqw_cutoff() qiRwwVectorTemp1 += q[i] * (1.0 - em[k] / epsilon[i]) * G1qw_real[mi][mk]; } } - // qiRwwVectorTemp1 += ewaldDielectric->sum1G1qw_k[mk] - em[k] * ewaldDielectric->sum1G1qw_k_epsilon[mk]; // add the diagonal term + sum1G3qw += sum2ndotGwq_epsilon[mk] * G2ww[mk][mk] * area[k] * ed[k]; // qiRwwVectorTemp2 is a significant contribution, of which sum2G2wq is significant - double qiRwwVectorTemp2 = (1.0 - 2.0 * em[k]) * sum2G2wq[mk] + sum1G2qw[mk] + 2.0 * sum1G3qw; -// qiRqwVector[mk] = qiRwwVectorTemp1 + qiRwwVectorTemp2; + double qiRwwVectorTemp2 = (1.0 - 2.0 * em[k]) * sum2G2wq[mk] + + sum1G2qw[mk] + 2.0 * sum1G3qw; + + // qiRqwVector[mk] = qiRwwVectorTemp1 + qiRwwVectorTemp2; rhs1[mk] = qiRwwVectorTemp1 + qiRwwVectorTemp2; } } @@ -1071,14 +1094,16 @@ double FixPolarizeFunctional::greens_real(double r) double FixPolarizeFunctional::grad_greens_real_factor(double r) { double alpharij = g_ewald * r; - double factor = erfc(alpharij) + 2.0 * alpharij / MY_PIS * exp(-(alpharij * alpharij)); + double factor = erfc(alpharij) + 2.0 * alpharij / MY_PIS * + exp(-(alpharij * alpharij)); double r3 = r*r*r; return (factor * (-1.0 / r3)); } /* ---------------------------------------------------------------------- */ -void FixPolarizeFunctional::calculate_grad_greens_real(double *vec, double dx, double dy, double dz) +void FixPolarizeFunctional::calculate_grad_greens_real(double *vec, + double dx, double dy, double dz) { double r = sqrt(dx * dx + dy * dy + dz * dz); double real = grad_greens_real_factor(r); @@ -1089,7 +1114,8 @@ void FixPolarizeFunctional::calculate_grad_greens_real(double *vec, double dx, d /* ---------------------------------------------------------------------- */ -double FixPolarizeFunctional::calculate_greens_ewald(double dx, double dy, double dz) +double FixPolarizeFunctional::calculate_greens_ewald(double dx, double dy, + double dz) { // excluding the reciprocal term double r = sqrt(dx * dx + dy * dy + dz * dz); @@ -1098,8 +1124,9 @@ double FixPolarizeFunctional::calculate_greens_ewald(double dx, double dy, doubl /* ---------------------------------------------------------------------- */ -void FixPolarizeFunctional::calculate_grad_greens_ewald(double *vec, double dx, double dy, double dz) - { +void FixPolarizeFunctional::calculate_grad_greens_ewald(double *vec, + double dx, double dy, double dz) +{ // real part of grad greens, excluding the reciprocal term calculate_grad_greens_real(vec, dx, dy, dz); } @@ -1131,11 +1158,12 @@ double FixPolarizeFunctional::calculate_greens_ewald_self_vertex(double area) /* ---------------------------------------------------------------------- */ -double FixPolarizeFunctional::calculate_ndotgreens_ewald_self_vertex(double area, double curvature) +double FixPolarizeFunctional::calculate_ndotgreens_ewald_self_vertex(double area, + double curvature) { - // this term is important, cannot be set to zero. see .pptx + // this term is important, cannot be set to zero // curvature = 1 / R, minus if norm is inverse of R to center. - // Honghao Li's result, the same with Erik's paper, J Chem Phys 140 064903 (2014) + return curvature * MY_PIS / sqrt(area); } @@ -1179,9 +1207,10 @@ void FixPolarizeFunctional::cg_solver(double** A, double* b, double* x, int N) for (int i = 0; i < N; i++) { x[i] = x[i] + alpha*cg_p[i]; cg_r[i] = cg_r[i] - alpha*cg_Ap[i]; - } + } + double rsq_new = inner_product(cg_r, cg_r, N); - if (rsq_new < EPSILON) break; + if (rsq_new < tolerance) break; // beta = rsq_new / rsq double beta = rsq_new / rsq; @@ -1189,5 +1218,4 @@ void FixPolarizeFunctional::cg_solver(double** A, double* b, double* x, int N) cg_p[i] = cg_r[i] + beta*cg_p[i]; rsq = rsq_new; } - -} +} \ No newline at end of file diff --git a/src/USER-DIELECTRIC/fix_polarize_functional.h b/src/USER-DIELECTRIC/fix_polarize_functional.h index 4fe021e760..444ed63f40 100644 --- a/src/USER-DIELECTRIC/fix_polarize_functional.h +++ b/src/USER-DIELECTRIC/fix_polarize_functional.h @@ -64,10 +64,10 @@ class FixPolarizeFunctional : public Fix { int* induced_charge_idx; // return the index of the atoms in the induced charge arrays int num_induced_charges; // total number of induced charges double* induced_charges; // values of induced charges - int* tag2mat_ions; // tag2mat_ions[atom->tag[i]] returns the index of the atoms in the ion arrays from atom tags - int* mat2tag_ions; // mat2tag_ions[idx] returns the atom tag of the ion idx in the ion arrays - int* ion_idx; // return the index of the atoms in the ion arrays - int num_ions; // total number of ions + int* tag2mat_ions; // tag2mat_ions[atom->tag[i]] returns the index of the atoms in the ion arrays from atom tags + int* mat2tag_ions; // mat2tag_ions[idx] returns the atom tag of the ion idx in the ion arrays + int* ion_idx; // return the index of the atoms in the ion arrays + int num_ions; // total number of ions double* rhs1; double* rhs2; double** buffer1; @@ -85,6 +85,7 @@ class FixPolarizeFunctional : public Fix { void calculate_qiRqw_cutoff(); // qw, qq ion-interface terms + double *qiRqwVector; double **G1qw_real; double *sum2G2wq; @@ -93,10 +94,12 @@ class FixPolarizeFunctional : public Fix { double *sum2ndotGwq_epsilon; // conjugate gradient solver + double *cg_r; double *cg_p; double *cg_Ap; double **cg_A; + double tolerance; void calculate_matrix_multiply_vector(double **, double *, double *, int); double inner_product(double*, double*, int); diff --git a/src/atom.cpp b/src/atom.cpp index 75181abbd7..f6c7e53975 100644 --- a/src/atom.cpp +++ b/src/atom.cpp @@ -2661,6 +2661,14 @@ void *Atom::extract(const char *name) if (strcmp(name,"dpdTheta") == 0) return (void *) dpdTheta; if (strcmp(name,"edpd_temp") == 0) return (void *) edpd_temp; + // USER-DIELECTRIC + if (strcmp(name,"area") == 0) return (void *) area; + if (strcmp(name,"ed") == 0) return (void *) ed; + if (strcmp(name,"em") == 0) return (void *) em; + if (strcmp(name,"epsilon") == 0) return (void *) epsilon; + if (strcmp(name,"curvature") == 0) return (void *) curvature; + if (strcmp(name,"q_unscaled") == 0) return (void *) q_unscaled; + // end of customization section // -------------------------------------------------------------------- @@ -2744,6 +2752,14 @@ int Atom::extract_datatype(const char *name) if (strcmp(name,"dpdTheta") == 0) return LAMMPS_DOUBLE; if (strcmp(name,"edpd_temp") == 0) return LAMMPS_DOUBLE; + // USER-DIELECTRIC + if (strcmp(name,"area") == 0) return LAMMPS_DOUBLE; + if (strcmp(name,"ed") == 0) return LAMMPS_DOUBLE; + if (strcmp(name,"em") == 0) return LAMMPS_DOUBLE; + if (strcmp(name,"epsilon") == 0) return LAMMPS_DOUBLE; + if (strcmp(name,"curvature") == 0) return LAMMPS_DOUBLE; + if (strcmp(name,"q_unscaled") == 0) return LAMMPS_DOUBLE; + // end of customization section // -------------------------------------------------------------------- From faccf52922c811904d174bcd4f6a46d18c4e745b Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Tue, 1 Jun 2021 16:31:13 -0500 Subject: [PATCH 119/726] Updated dielectric/omp pair styles --- src/USER-DIELECTRIC/msm_dielectric.cpp | 6 ++-- .../pair_coul_cut_dielectric.cpp | 9 ++--- .../pair_coul_long_dielectric.cpp | 2 +- .../pair_lj_cut_coul_cut_dielectric.cpp | 8 ++--- .../pair_lj_cut_coul_cut_dielectric_omp.cpp | 18 +++++----- .../pair_lj_cut_coul_long_dielectric.cpp | 16 ++++----- .../pair_lj_cut_coul_long_dielectric_omp.cpp | 33 +++++++------------ .../pair_lj_cut_coul_msm_dielectric.cpp | 13 ++++---- src/USER-DIELECTRIC/pppm_dielectric.cpp | 8 ++--- 9 files changed, 49 insertions(+), 64 deletions(-) diff --git a/src/USER-DIELECTRIC/msm_dielectric.cpp b/src/USER-DIELECTRIC/msm_dielectric.cpp index b6290405c1..6626f196e1 100644 --- a/src/USER-DIELECTRIC/msm_dielectric.cpp +++ b/src/USER-DIELECTRIC/msm_dielectric.cpp @@ -41,8 +41,8 @@ enum{FORWARD_RHO,FORWARD_AD,FORWARD_AD_PERATOM}; MSMDielectric::MSMDielectric(LAMMPS *lmp) : MSM(lmp) { - efield = NULL; - phi = NULL; + efield = nullptr; + phi = nullptr; } /* ---------------------------------------------------------------------- @@ -64,7 +64,7 @@ void MSMDielectric::init() MSM::init(); avec = (AtomVecDielectric *) atom->style_match("dielectric"); - if (!avec) error->all(FLERR,"pppm/dielectric requires atom style dielectric"); + if (!avec) error->all(FLERR,"msm/dielectric requires atom style dielectric"); } /* ---------------------------------------------------------------------- diff --git a/src/USER-DIELECTRIC/pair_coul_cut_dielectric.cpp b/src/USER-DIELECTRIC/pair_coul_cut_dielectric.cpp index 724fac2fac..b65b38f80e 100644 --- a/src/USER-DIELECTRIC/pair_coul_cut_dielectric.cpp +++ b/src/USER-DIELECTRIC/pair_coul_cut_dielectric.cpp @@ -40,7 +40,7 @@ using namespace MathConst; PairCoulCutDielectric::PairCoulCutDielectric(LAMMPS *lmp) : PairCoulCut(lmp) { - efield = NULL; + efield = nullptr; nmax = 0; } @@ -104,6 +104,7 @@ void PairCoulCutDielectric::compute(int eflag, int vflag) jnum = numneigh[i]; // self term Eq. (55) for I_{ii} and Eq. (52) and in Barros et al + double curvature_threshold = sqrt(area[i]); if (curvature[i] < curvature_threshold) { double sf = curvature[i]/(4.0*MY_PIS*curvature_threshold) * area[i]*q[i]; @@ -178,9 +179,9 @@ void PairCoulCutDielectric::init_style() /* ---------------------------------------------------------------------- */ double PairCoulCutDielectric::single(int i, int j, int itype, int jtype, - double rsq, - double factor_coul, double factor_lj, - double &fforce) + double rsq, + double factor_coul, double factor_lj, + double &fforce) { double r2inv,forcecoul,phicoul,ei,ej; double* eps = atom->epsilon; diff --git a/src/USER-DIELECTRIC/pair_coul_long_dielectric.cpp b/src/USER-DIELECTRIC/pair_coul_long_dielectric.cpp index 6b3a38e00f..2da13b7343 100644 --- a/src/USER-DIELECTRIC/pair_coul_long_dielectric.cpp +++ b/src/USER-DIELECTRIC/pair_coul_long_dielectric.cpp @@ -47,7 +47,7 @@ using namespace MathConst; PairCoulLongDielectric::PairCoulLongDielectric(LAMMPS *lmp) : PairCoulLong(lmp) { - efield = NULL; + efield = nullptr; nmax = 0; } diff --git a/src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric.cpp b/src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric.cpp index 8a60ccd31b..a66406d4f5 100644 --- a/src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric.cpp +++ b/src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric.cpp @@ -29,7 +29,6 @@ #include "memory.h" #include -#include using namespace LAMMPS_NS; using namespace MathConst; @@ -38,10 +37,11 @@ using namespace MathConst; /* ---------------------------------------------------------------------- */ -PairLJCutCoulCutDielectric::PairLJCutCoulCutDielectric(LAMMPS *lmp) : PairLJCutCoulCut(lmp) +PairLJCutCoulCutDielectric::PairLJCutCoulCutDielectric(LAMMPS *lmp) : + PairLJCutCoulCut(lmp) { - efield = NULL; - epot = NULL; + efield = nullptr; + epot = nullptr; nmax = 0; } diff --git a/src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric_omp.cpp b/src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric_omp.cpp index 6056c37cb8..c95312c105 100644 --- a/src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric_omp.cpp +++ b/src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric_omp.cpp @@ -15,13 +15,9 @@ Contributing author: Trung Nguyen (Northwestern) ------------------------------------------------------------------------- */ -#include -#include -#include -#include #include "pair_lj_cut_coul_cut_dielectric_omp.h" + #include "atom.h" -#include "atom_vec_dielectric.h" #include "comm.h" #include "force.h" #include "neighbor.h" @@ -31,6 +27,8 @@ #include "memory.h" #include "error.h" +#include + using namespace LAMMPS_NS; using namespace MathConst; @@ -79,7 +77,7 @@ void PairLJCutCoulCutDielectricOMP::compute(int eflag, int vflag) loop_setup_thr(ifrom, ito, tid, inum, nthreads); ThrData *thr = fix->get_thr(tid); thr->timer(Timer::START); - ev_setup_thr(eflag, vflag, nall, eatom, vatom, thr); + ev_setup_thr(eflag, vflag, nall, eatom, vatom, nullptr, thr); if (evflag) { if (eflag) { @@ -116,10 +114,10 @@ void PairLJCutCoulCutDielectricOMP::eval(int iifrom, int iito, ThrData * const t const dbl3_t * _noalias const x = (dbl3_t *) atom->x[0]; dbl3_t * _noalias const f = (dbl3_t *) thr->get_f()[0]; const double * _noalias const q = atom->q; - const double * _noalias const eps = avec->epsilon; - const dbl3_t * _noalias const norm = (dbl3_t *) avec->mu[0]; - const double * _noalias const curvature = avec->curvature; - const double * _noalias const area = avec->area; + const double * _noalias const eps = atom->epsilon; + const dbl3_t * _noalias const norm = (dbl3_t *) atom->mu[0]; + const double * _noalias const curvature = atom->curvature; + const double * _noalias const area = atom->area; const int * _noalias const type = atom->type; const int nlocal = atom->nlocal; const double * _noalias const special_coul = force->special_coul; diff --git a/src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric.cpp b/src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric.cpp index 4967358aa4..7a14de640c 100644 --- a/src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric.cpp +++ b/src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric.cpp @@ -22,18 +22,14 @@ #include "comm.h" #include "error.h" #include "force.h" -#include "integrate.h" #include "kspace.h" #include "neighbor.h" #include "neigh_list.h" #include "neigh_request.h" #include "math_const.h" #include "memory.h" -#include "respa.h" -#include "update.h" #include -#include using namespace LAMMPS_NS; using namespace MathConst; @@ -50,12 +46,13 @@ using namespace MathConst; /* ---------------------------------------------------------------------- */ -PairLJCutCoulLongDielectric::PairLJCutCoulLongDielectric(LAMMPS *lmp) : PairLJCutCoulLong(lmp) +PairLJCutCoulLongDielectric::PairLJCutCoulLongDielectric(LAMMPS *lmp) : + PairLJCutCoulLong(lmp) { respa_enable = 0; - cut_respa = NULL; - efield = NULL; - epot = NULL; + cut_respa = nullptr; + efield = nullptr; + epot = nullptr; nmax = 0; } @@ -124,7 +121,8 @@ void PairLJCutCoulLongDielectric::compute(int eflag, int vflag) jlist = firstneigh[i]; jnum = numneigh[i]; - // self term Eq. (55) for I_{ii} and Eq. (52) and in Barros et al + // self term Eq. (55) for I_{ii} and Eq. (52) and in Barros et al. + double curvature_threshold = sqrt(area[i]); if (curvature[i] < curvature_threshold) { double sf = curvature[i]/(4.0*MY_PIS*curvature_threshold) * area[i]*q[i]; diff --git a/src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric_omp.cpp b/src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric_omp.cpp index 952df57533..935991bbe1 100644 --- a/src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric_omp.cpp +++ b/src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric_omp.cpp @@ -15,26 +15,18 @@ Contributing author: Trung Nguyen (Northwestern) ------------------------------------------------------------------------- */ -#include -#include -#include -#include #include "pair_lj_cut_coul_long_dielectric_omp.h" + #include "atom.h" -#include "atom_vec_dielectric.h" #include "comm.h" #include "force.h" -#include "kspace.h" -#include "update.h" -#include "integrate.h" -#include "respa.h" -#include "neighbor.h" #include "neigh_list.h" -#include "neigh_request.h" #include "math_const.h" #include "memory.h" -#include "error.h" +#include + +#include "omp_compat.h" using namespace LAMMPS_NS; using namespace MathConst; @@ -46,8 +38,6 @@ using namespace MathConst; #define A4 -1.453152027 #define A5 1.061405429 -#define EPSILON 1e-6 - /* ---------------------------------------------------------------------- */ PairLJCutCoulLongDielectricOMP::PairLJCutCoulLongDielectricOMP(LAMMPS *lmp) : @@ -58,7 +48,7 @@ PairLJCutCoulLongDielectricOMP::PairLJCutCoulLongDielectricOMP(LAMMPS *lmp) : /* ---------------------------------------------------------------------- */ PairLJCutCoulLongDielectricOMP::~PairLJCutCoulLongDielectricOMP() -{ +{ } /* ---------------------------------------------------------------------- */ @@ -90,7 +80,7 @@ void PairLJCutCoulLongDielectricOMP::compute(int eflag, int vflag) loop_setup_thr(ifrom, ito, tid, inum, nthreads); ThrData *thr = fix->get_thr(tid); thr->timer(Timer::START); - ev_setup_thr(eflag, vflag, nall, eatom, vatom, thr); + ev_setup_thr(eflag, vflag, nall, eatom, vatom, nullptr, thr); if (evflag) { if (eflag) { @@ -127,10 +117,10 @@ void PairLJCutCoulLongDielectricOMP::eval(int iifrom, int iito, ThrData * const const dbl3_t * _noalias const x = (dbl3_t *) atom->x[0]; dbl3_t * _noalias const f = (dbl3_t *) thr->get_f()[0]; const double * _noalias const q = atom->q; - const double * _noalias const eps = avec->epsilon; - const dbl3_t * _noalias const norm = (dbl3_t *) avec->mu[0]; - const double * _noalias const curvature = avec->curvature; - const double * _noalias const area = avec->area; + const double * _noalias const eps = atom->epsilon; + const dbl3_t * _noalias const norm = (dbl3_t *) atom->mu[0]; + const double * _noalias const curvature = atom->curvature; + const double * _noalias const area = atom->area; const int * _noalias const type = atom->type; const int nlocal = atom->nlocal; const double * _noalias const special_coul = force->special_coul; @@ -159,7 +149,8 @@ void PairLJCutCoulLongDielectricOMP::eval(int iifrom, int iito, ThrData * const fxtmp=fytmp=fztmp=0.0; extmp=eytmp=eztmp=0.0; - // self term Eq. (55) for I_{ii} and Eq. (52) and in Barros et al + // self term Eq. (55) for I_{ii} and Eq. (52) and in Barros et al. + double curvature_threshold = sqrt(area[i]); if (curvature[i] < curvature_threshold) { double sf = curvature[i]/(4.0*MY_PIS*curvature_threshold) * area[i]*q[i]; diff --git a/src/USER-DIELECTRIC/pair_lj_cut_coul_msm_dielectric.cpp b/src/USER-DIELECTRIC/pair_lj_cut_coul_msm_dielectric.cpp index c87c46ade6..ce89d718a8 100644 --- a/src/USER-DIELECTRIC/pair_lj_cut_coul_msm_dielectric.cpp +++ b/src/USER-DIELECTRIC/pair_lj_cut_coul_msm_dielectric.cpp @@ -29,11 +29,8 @@ #include "neigh_request.h" #include "math_const.h" #include "memory.h" -#include "respa.h" -#include "update.h" #include -#include using namespace LAMMPS_NS; using namespace MathConst; @@ -42,16 +39,17 @@ using namespace MathConst; /* ---------------------------------------------------------------------- */ -PairLJCutCoulMSMDielectric::PairLJCutCoulMSMDielectric(LAMMPS *lmp) : PairLJCutCoulLong(lmp) +PairLJCutCoulMSMDielectric::PairLJCutCoulMSMDielectric(LAMMPS *lmp) : + PairLJCutCoulLong(lmp) { ewaldflag = pppmflag = 0; msmflag = 1; respa_enable = 0; - cut_respa = NULL; + cut_respa = nullptr; nmax = 0; - ftmp = NULL; - efield = NULL; + ftmp = nullptr; + efield = nullptr; } /* ---------------------------------------------------------------------- */ @@ -220,6 +218,7 @@ void PairLJCutCoulMSMDielectric::compute(int eflag, int vflag) f[j][2] -= delz*fpair_j; } } else { + // separate LJ and Coulombic forces fpair = (factor_lj*forcelj) * r2inv; diff --git a/src/USER-DIELECTRIC/pppm_dielectric.cpp b/src/USER-DIELECTRIC/pppm_dielectric.cpp index d9c957aaa3..ea62618efd 100644 --- a/src/USER-DIELECTRIC/pppm_dielectric.cpp +++ b/src/USER-DIELECTRIC/pppm_dielectric.cpp @@ -17,10 +17,8 @@ #include "pppm_dielectric.h" -#include "angle.h" #include "atom.h" #include "atom_vec_dielectric.h" -#include "bond.h" #include "comm.h" #include "domain.h" #include "error.h" @@ -35,7 +33,7 @@ #include "remap_wrap.h" #include -#include +//#include using namespace LAMMPS_NS; using namespace MathConst; @@ -60,8 +58,8 @@ PPPMDielectric::PPPMDielectric(LAMMPS *lmp) : PPPM(lmp) { group_group_enable = 0; - efield = NULL; - phi = NULL; + efield = nullptr; + phi = nullptr; potflag = 0; avec = (AtomVecDielectric *) atom->style_match("dielectric"); From f2974d3b1b4236a92bb8ee9a01998eb9e201c79d Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Tue, 1 Jun 2021 16:54:47 -0500 Subject: [PATCH 120/726] More cleanup to fix polarize* --- .../fix_polarize_bem_gmres.cpp | 16 ++--- src/USER-DIELECTRIC/fix_polarize_bem_icc.cpp | 6 +- .../fix_polarize_functional.cpp | 62 +++++++++---------- 3 files changed, 42 insertions(+), 42 deletions(-) diff --git a/src/USER-DIELECTRIC/fix_polarize_bem_gmres.cpp b/src/USER-DIELECTRIC/fix_polarize_bem_gmres.cpp index 05b5cf8a83..ba8de73295 100644 --- a/src/USER-DIELECTRIC/fix_polarize_bem_gmres.cpp +++ b/src/USER-DIELECTRIC/fix_polarize_bem_gmres.cpp @@ -106,20 +106,20 @@ FixPolarizeBEMGMRES::FixPolarizeBEMGMRES(LAMMPS *lmp, int narg, char **arg) : randomized = 0; ave_charge = 0; - efield_pair = NULL; - efield_kspace = NULL; + efield_pair = nullptr; + efield_kspace = nullptr; comm_forward = 1; nmax = 0; allocated = 0; kspaceflag = 0; - induced_charge_idx = NULL; - induced_charges = NULL; - rhs = NULL; - buffer = NULL; - tag2mat = NULL; - mat2tag = NULL; + induced_charge_idx = nullptr; + induced_charges = nullptr; + rhs = nullptr; + buffer = nullptr; + tag2mat = nullptr; + mat2tag = nullptr; // set flags for arrays to clear in force_clear() diff --git a/src/USER-DIELECTRIC/fix_polarize_bem_icc.cpp b/src/USER-DIELECTRIC/fix_polarize_bem_icc.cpp index f5da42c6f8..99b5b7757d 100644 --- a/src/USER-DIELECTRIC/fix_polarize_bem_icc.cpp +++ b/src/USER-DIELECTRIC/fix_polarize_bem_icc.cpp @@ -43,7 +43,7 @@ #include "pair_lj_cut_coul_msm_dielectric.h" #include "pppm_dielectric.h" #include "random_park.h" -#include "timer.h" +//#include "timer.h" #include "update.h" #include @@ -93,8 +93,8 @@ FixPolarizeBEMICC::FixPolarizeBEMICC(LAMMPS *lmp, int narg, char **arg) : randomized = 0; ave_charge = 0; - efield_pair = NULL; - efield_kspace = NULL; + efield_pair = nullptr; + efield_kspace = nullptr; comm_forward = 1; kspaceflag = 0; diff --git a/src/USER-DIELECTRIC/fix_polarize_functional.cpp b/src/USER-DIELECTRIC/fix_polarize_functional.cpp index 8c2a7946ff..74313cae3f 100644 --- a/src/USER-DIELECTRIC/fix_polarize_functional.cpp +++ b/src/USER-DIELECTRIC/fix_polarize_functional.cpp @@ -104,18 +104,18 @@ FixPolarizeFunctional::FixPolarizeFunctional(LAMMPS *lmp, int narg, char **arg) nmax = 0; allocated = 0; - induced_charge_idx = NULL; - induced_charges = NULL; - tag2mat = NULL; - mat2tag = NULL; - tag2mat_ions = NULL; - mat2tag_ions = NULL; - ion_idx = NULL; + induced_charge_idx = nullptr; + induced_charges = nullptr; + tag2mat = nullptr; + mat2tag = nullptr; + tag2mat_ions = nullptr; + mat2tag_ions = nullptr; + ion_idx = nullptr; - rhs1 = NULL; - rhs2 = NULL; - buffer1 = NULL; - buffer2 = NULL; + rhs1 = nullptr; + rhs2 = nullptr; + buffer1 = nullptr; + buffer2 = nullptr; // set flags for arrays to clear in force_clear() @@ -123,28 +123,28 @@ FixPolarizeFunctional::FixPolarizeFunctional(LAMMPS *lmp, int narg, char **arg) if (atom->torque_flag) torqueflag = 1; if (atom->avec->forceclearflag) extraflag = 1; - Rww = NULL; - inverse_matrix = NULL; - G1ww = NULL; - G2ww = NULL; - G3ww = NULL; - ndotGww = NULL; + Rww = nullptr; + inverse_matrix = nullptr; + G1ww = nullptr; + G2ww = nullptr; + G3ww = nullptr; + ndotGww = nullptr; - qiRqwVector = NULL; - G1qw_real = NULL; - sum2G2wq = NULL; + qiRqwVector = nullptr; + G1qw_real = nullptr; + sum2G2wq = nullptr; - sum1G2qw = NULL; - sum1G1qw_epsilon = NULL; - sum2ndotGwq_epsilon = NULL; + sum1G2qw = nullptr; + sum1G1qw_epsilon = nullptr; + sum2ndotGwq_epsilon = nullptr; - efield_pair = NULL; - efield_kspace = NULL; + efield_pair = nullptr; + efield_kspace = nullptr; includingG3ww = 1; - cg_r = cg_p = cg_Ap = NULL; - cg_A = NULL; + cg_r = cg_p = cg_Ap = nullptr; + cg_A = nullptr; grow_arrays(atom->nmax); atom->add_callback(0); // to ensure to work with atom->sort() @@ -192,7 +192,7 @@ void FixPolarizeFunctional::init() int nlocal = atom->nlocal; tagint max_tag; tagint itmp; - int *ncount = NULL; + int *ncount = nullptr; // induced charge arrays setup @@ -507,9 +507,9 @@ int FixPolarizeFunctional::modify_param(int narg, char **arg) int set_charge=0; double ediff = utils::numeric(FLERR,arg[iarg+1],false,lmp); double emean = utils::numeric(FLERR,arg[iarg+2],false,lmp); - if (strcmp(arg[iarg+3],"NULL") != 0) epsiloni = utils::numeric(FLERR,arg[iarg+3],false,lmp); - if (strcmp(arg[iarg+4],"NULL") != 0) areai = utils::numeric(FLERR,arg[iarg+4],false,lmp); - if (strcmp(arg[iarg+5],"NULL") != 0) { + if (strcmp(arg[iarg+3],"nullptr") != 0) epsiloni = utils::numeric(FLERR,arg[iarg+3],false,lmp); + if (strcmp(arg[iarg+4],"nullptr") != 0) areai = utils::numeric(FLERR,arg[iarg+4],false,lmp); + if (strcmp(arg[iarg+5],"nullptr") != 0) { qreali = utils::numeric(FLERR,arg[iarg+5],false,lmp); set_charge = 1; } From d4a6c718a984e6f8f3bdf82b9a40ce202450f523 Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Wed, 2 Jun 2021 09:22:36 -0500 Subject: [PATCH 121/726] Moved citation to a single place --- src/USER-DIELECTRIC/atom_vec_dielectric.cpp | 17 +++++++++++++++++ src/USER-DIELECTRIC/fix_polarize_bem_gmres.cpp | 17 ----------------- src/USER-DIELECTRIC/fix_polarize_bem_icc.cpp | 17 ----------------- src/USER-DIELECTRIC/fix_polarize_functional.cpp | 17 ----------------- 4 files changed, 17 insertions(+), 51 deletions(-) diff --git a/src/USER-DIELECTRIC/atom_vec_dielectric.cpp b/src/USER-DIELECTRIC/atom_vec_dielectric.cpp index 7dd3af2e3a..d038f2caa8 100644 --- a/src/USER-DIELECTRIC/atom_vec_dielectric.cpp +++ b/src/USER-DIELECTRIC/atom_vec_dielectric.cpp @@ -13,13 +13,30 @@ #include "atom_vec_dielectric.h" #include "atom.h" +#include "citeme.h" using namespace LAMMPS_NS; +static const char cite_user_dielectric_package[] = + "USER-DIELECTRIC package:\n\n" + "@Article{TrungCPC19,\n" + " author = {Trung Dac Nguyen, Honghao Li, Debarshee Bagchi," + " Francisco J. Solis, Monica Olvera de la Cruz,\n" + " title = {Incorporating surface polarization effects into large-scale" + " coarse-grained Molecular Dynamics simulation},\n" + " journal = {Comp.~Phys.~Comm.},\n" + " year = 2019,\n" + " volume = 241,\n" + " pages = {80--91}\n" + "}\n\n" + ; + /* ---------------------------------------------------------------------- */ AtomVecDielectric::AtomVecDielectric(LAMMPS *lmp) : AtomVec(lmp) { + if (lmp->citeme) lmp->citeme->add(cite_user_dielectric_package); + molecular = Atom::MOLECULAR; bonds_allow = angles_allow = dihedrals_allow = impropers_allow = 1; mass_type = PER_TYPE; diff --git a/src/USER-DIELECTRIC/fix_polarize_bem_gmres.cpp b/src/USER-DIELECTRIC/fix_polarize_bem_gmres.cpp index ba8de73295..5030b5e1fa 100644 --- a/src/USER-DIELECTRIC/fix_polarize_bem_gmres.cpp +++ b/src/USER-DIELECTRIC/fix_polarize_bem_gmres.cpp @@ -38,7 +38,6 @@ #include "atom.h" #include "atom_vec_dielectric.h" -#include "citeme.h" #include "comm.h" #include "error.h" #include "force.h" @@ -67,28 +66,12 @@ using namespace MathConst; //#define _POLARIZE_DEBUG -static const char cite_user_dielectric_package[] = - "USER-DIELECTRIC package:\n\n" - "@Article{TrungCPC19,\n" - " author = {Trung Dac Nguyen, Honghao Li, Debarshee Bagchi," - " Francisco J. Solis, Monica Olvera de la Cruz,\n" - " title = {Incorporating surface polarization effects into large-scale" - " coarse-grained Molecular Dynamics simulation},\n" - " journal = {Comp.~Phys.~Comm.},\n" - " year = 2019,\n" - " volume = 241,\n" - " pages = {80--91}\n" - "}\n\n" - ; - /* ---------------------------------------------------------------------- */ FixPolarizeBEMGMRES::FixPolarizeBEMGMRES(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg), q_backup(NULL), c(NULL), g(NULL), h(NULL), r(NULL), s(NULL), v(NULL), y(NULL) { - if (lmp->citeme) lmp->citeme->add(cite_user_dielectric_package); - if (narg < 5) error->all(FLERR,"Illegal fix polarize/bem/gmres command"); avec = (AtomVecDielectric *) atom->style_match("dielectric"); diff --git a/src/USER-DIELECTRIC/fix_polarize_bem_icc.cpp b/src/USER-DIELECTRIC/fix_polarize_bem_icc.cpp index 99b5b7757d..003a08d069 100644 --- a/src/USER-DIELECTRIC/fix_polarize_bem_icc.cpp +++ b/src/USER-DIELECTRIC/fix_polarize_bem_icc.cpp @@ -27,7 +27,6 @@ #include "atom.h" #include "atom_vec_dielectric.h" -#include "citeme.h" #include "comm.h" #include "error.h" #include "force.h" @@ -55,27 +54,11 @@ using namespace MathConst; //#define _POLARIZE_DEBUG -static const char cite_user_dielectric_package[] = - "USER-DIELECTRIC package:\n\n" - "@Article{TrungCPC19,\n" - " author = {Trung Dac Nguyen, Honghao Li, Debarshee Bagchi," - " Francisco J. Solis, Monica Olvera de la Cruz,\n" - " title = {Incorporating surface polarization effects into large-scale" - " coarse-grained Molecular Dynamics simulation},\n" - " journal = {Comp.~Phys.~Comm.},\n" - " year = 2019,\n" - " volume = 241,\n" - " pages = {80--91}\n" - "}\n\n" - ; - /* ---------------------------------------------------------------------- */ FixPolarizeBEMICC::FixPolarizeBEMICC(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) { - if (lmp->citeme) lmp->citeme->add(cite_user_dielectric_package); - if (narg < 5) error->all(FLERR,"Illegal fix polarize/bem/icc command"); avec = (AtomVecDielectric *) atom->style_match("dielectric"); diff --git a/src/USER-DIELECTRIC/fix_polarize_functional.cpp b/src/USER-DIELECTRIC/fix_polarize_functional.cpp index 74313cae3f..fb2e78d990 100644 --- a/src/USER-DIELECTRIC/fix_polarize_functional.cpp +++ b/src/USER-DIELECTRIC/fix_polarize_functional.cpp @@ -29,7 +29,6 @@ #include "atom.h" #include "atom_vec_dielectric.h" -#include "citeme.h" #include "comm.h" #include "domain.h" #include "error.h" @@ -68,27 +67,11 @@ enum {REAL2SCALED=0,SCALED2REAL=1}; //#define _POLARIZE_DEBUG -static const char cite_user_dielectric_package[] = - "USER-DIELECTRIC package:\n\n" - "@Article{TrungCPC19,\n" - " author = {Trung Dac Nguyen, Honghao Li, Debarshee Bagchi," - " Francisco J. Solis, Monica Olvera de la Cruz,\n" - " title = {Incorporating surface polarization effects into large-scale" - " coarse-grained Molecular Dynamics simulation},\n" - " journal = {Comp.~Phys.~Comm.},\n" - " year = 2019,\n" - " volume = 241,\n" - " pages = {80--91}\n" - "}\n\n" - ; - /* ---------------------------------------------------------------------- */ FixPolarizeFunctional::FixPolarizeFunctional(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) { - if (lmp->citeme) lmp->citeme->add(cite_user_dielectric_package); - if (narg < 4) error->all(FLERR,"Illegal fix polarize/functional command"); avec = (AtomVecDielectric *) atom->style_match("dielectric"); From 1ce50e0b1d2d6ca1ee33e56524bc091c1edf0289 Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Wed, 2 Jun 2021 10:37:43 -0500 Subject: [PATCH 122/726] Minor updates to fix polarize/* --- .../fix_polarize_bem_gmres.cpp | 9 +++++---- src/USER-DIELECTRIC/fix_polarize_bem_icc.cpp | 16 +++++++++------- .../fix_polarize_functional.cpp | 19 +++++++++++-------- 3 files changed, 25 insertions(+), 19 deletions(-) diff --git a/src/USER-DIELECTRIC/fix_polarize_bem_gmres.cpp b/src/USER-DIELECTRIC/fix_polarize_bem_gmres.cpp index 5030b5e1fa..b23cd69757 100644 --- a/src/USER-DIELECTRIC/fix_polarize_bem_gmres.cpp +++ b/src/USER-DIELECTRIC/fix_polarize_bem_gmres.cpp @@ -930,19 +930,20 @@ double FixPolarizeBEMGMRES::compute_vector(int n) { if (n == 0) return iterations; else if (n == 1) return rho; + else return 0; } /* ---------------------------------------------------------------------- - set dielectric params for the atom in the group + set dielectric params for the atoms in the group ------------------------------------------------------------------------- */ void FixPolarizeBEMGMRES::set_dielectric_params(double ediff, double emean, - double epsiloni, double areai, int set_charge, double qreali) + double epsiloni, double areai, int set_charge, double qvalue) { double *area = atom->area; double *ed = atom->ed; double *em = atom->em; - double *q_real = atom->q_unscaled; + double *q_unscaled = atom->q_unscaled; double *epsilon = atom->epsilon; int *mask = atom->mask; int nlocal = atom->nlocal; @@ -953,7 +954,7 @@ void FixPolarizeBEMGMRES::set_dielectric_params(double ediff, double emean, em[i] = emean; if (areai > 0) area[i] = areai; if (epsiloni > 0) epsilon[i] = epsiloni; - if (set_charge) q_real[i] = qreali; + if (set_charge) q_unscaled[i] = qvalue; } } } diff --git a/src/USER-DIELECTRIC/fix_polarize_bem_icc.cpp b/src/USER-DIELECTRIC/fix_polarize_bem_icc.cpp index 003a08d069..97bbb5c95e 100644 --- a/src/USER-DIELECTRIC/fix_polarize_bem_icc.cpp +++ b/src/USER-DIELECTRIC/fix_polarize_bem_icc.cpp @@ -370,7 +370,7 @@ int FixPolarizeBEMICC::modify_param(int narg, char **arg) } else if (strcmp(arg[iarg],"dielectrics") == 0) { if (iarg+6 > narg) error->all(FLERR,"Illegal fix_modify command"); double epsiloni=-1, areai=-1; - double qreali=0; + double qunscaledi=0; int set_charge=0; double ediff = utils::numeric(FLERR,arg[iarg+1],false,lmp); double emean = utils::numeric(FLERR,arg[iarg+2],false,lmp); @@ -379,10 +379,11 @@ int FixPolarizeBEMICC::modify_param(int narg, char **arg) if (strcmp(arg[iarg+4],"NULL") != 0) areai = utils::numeric(FLERR,arg[iarg+4],false,lmp); if (strcmp(arg[iarg+5],"NULL") != 0) { - qreali = utils::numeric(FLERR,arg[iarg+5],false,lmp); + qunscaledi = utils::numeric(FLERR,arg[iarg+5],false,lmp); set_charge = 1; } - set_dielectric_params(ediff, emean, epsiloni, areai, set_charge, qreali); + set_dielectric_params(ediff, emean, epsiloni, areai, set_charge, + qunscaledi); iarg += 6; } else if (strcmp(arg[iarg],"rand") == 0) { @@ -416,16 +417,16 @@ void FixPolarizeBEMICC::unpack_forward_comm(int n, int first, double *buf) } /* ---------------------------------------------------------------------- - set dielectric params for the atom in the group + set dielectric params for the atoms in the group ------------------------------------------------------------------------- */ void FixPolarizeBEMICC::set_dielectric_params(double ediff, double emean, - double epsiloni, double areai, int set_charge, double qreali) + double epsiloni, double areai, int set_charge, double qvalue) { double *area = atom->area; double *ed = atom->ed; double *em = atom->em; - double *q_real = atom->q_unscaled; + double *q_unscaled = atom->q_unscaled; double *epsilon = atom->epsilon; int *mask = atom->mask; int nlocal = atom->nlocal; @@ -436,7 +437,7 @@ void FixPolarizeBEMICC::set_dielectric_params(double ediff, double emean, em[i] = emean; if (areai > 0) area[i] = areai; if (epsiloni > 0) epsilon[i] = epsiloni; - if (set_charge) q_real[i] = qreali; + if (set_charge) q_unscaled[i] = qvalue; } } } @@ -450,4 +451,5 @@ double FixPolarizeBEMICC::compute_vector(int n) { if (n == 0) return iterations; else if (n == 1) return rho; + else return 0; } \ No newline at end of file diff --git a/src/USER-DIELECTRIC/fix_polarize_functional.cpp b/src/USER-DIELECTRIC/fix_polarize_functional.cpp index fb2e78d990..3b4c3bad82 100644 --- a/src/USER-DIELECTRIC/fix_polarize_functional.cpp +++ b/src/USER-DIELECTRIC/fix_polarize_functional.cpp @@ -486,17 +486,20 @@ int FixPolarizeFunctional::modify_param(int narg, char **arg) } else if (strcmp(arg[iarg],"dielectrics") == 0) { if (iarg+6 > narg) error->all(FLERR,"Illegal fix_modify command"); double epsiloni=-1, areai=-1; - double qreali=0; + double q_unscaled=0; int set_charge=0; double ediff = utils::numeric(FLERR,arg[iarg+1],false,lmp); double emean = utils::numeric(FLERR,arg[iarg+2],false,lmp); - if (strcmp(arg[iarg+3],"nullptr") != 0) epsiloni = utils::numeric(FLERR,arg[iarg+3],false,lmp); - if (strcmp(arg[iarg+4],"nullptr") != 0) areai = utils::numeric(FLERR,arg[iarg+4],false,lmp); + if (strcmp(arg[iarg+3],"nullptr") != 0) + epsiloni = utils::numeric(FLERR,arg[iarg+3],false,lmp); + if (strcmp(arg[iarg+4],"nullptr") != 0) + areai = utils::numeric(FLERR,arg[iarg+4],false,lmp); if (strcmp(arg[iarg+5],"nullptr") != 0) { - qreali = utils::numeric(FLERR,arg[iarg+5],false,lmp); + q_unscaled = utils::numeric(FLERR,arg[iarg+5],false,lmp); set_charge = 1; } - set_dielectric_params(ediff, emean, epsiloni, areai, set_charge, qreali); + set_dielectric_params(ediff, emean, epsiloni, areai, set_charge, + q_unscaled); iarg += 6; } else error->all(FLERR,"Illegal fix_modify command"); @@ -1042,12 +1045,12 @@ void FixPolarizeFunctional::calculate_qiRqw_cutoff() ------------------------------------------------------------------------- */ void FixPolarizeFunctional::set_dielectric_params(double ediff, double emean, - double epsiloni, double areai, int set_charge, double qreali) + double epsiloni, double areai, int set_charge, double qvalue) { double *area = atom->area; double *ed = atom->ed; double *em = atom->em; - double *q_real = atom->q_unscaled; + double *q_unscaled = atom->q_unscaled; double *epsilon = atom->epsilon; int *mask = atom->mask; int nlocal = atom->nlocal; @@ -1058,7 +1061,7 @@ void FixPolarizeFunctional::set_dielectric_params(double ediff, double emean, em[i] = emean; if (areai > 0) area[i] = areai; if (epsiloni > 0) epsilon[i] = epsiloni; - if (set_charge) q_real[i] = qreali; + if (set_charge) q_unscaled[i] = qvalue; } } } From b9e9dda1ab0379a9dde1485daf7495eae152ff1d Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Wed, 2 Jun 2021 12:03:46 -0500 Subject: [PATCH 123/726] Updated example input scripts, data files and README --- examples/USER/dielectric/README | 55 +- examples/USER/dielectric/data.confined | 2 +- examples/USER/dielectric/data.cylinder | 3616 ------------------------ examples/USER/dielectric/data.minimal | 50 - examples/USER/dielectric/data.plane | 2019 ------------- examples/USER/dielectric/in.confined | 9 +- examples/USER/dielectric/in.minimal | 39 - examples/USER/dielectric/in.nopbc | 12 +- examples/USER/dielectric/in.pbc | 54 - 9 files changed, 39 insertions(+), 5817 deletions(-) delete mode 100644 examples/USER/dielectric/data.cylinder delete mode 100644 examples/USER/dielectric/data.minimal delete mode 100644 examples/USER/dielectric/data.plane delete mode 100644 examples/USER/dielectric/in.minimal delete mode 100644 examples/USER/dielectric/in.pbc diff --git a/examples/USER/dielectric/README b/examples/USER/dielectric/README index 4d12416988..6cbb1e204d 100644 --- a/examples/USER/dielectric/README +++ b/examples/USER/dielectric/README @@ -2,17 +2,11 @@ This folder contains some example data and input scripts for the USER-DIELECTRIC Nguyen TD, Li H, Bagchi D, Solis FJ, Olvera de la Cruz, Incorporating surface polarization effects into large-scale coarse-grained molecular dynamics simulation, Computer Physics Communications 2019, 241, 80--91. -- data.minimal : two point opposite charges facing a flat interface -- data.plane : two point opposite charges facing a larger flat interface -- data.confined : two point opposite charges confined between two interfaces (epsilon1=2/epsilon2=10/epsilon2=2) -- data.sphere : two point opposite charges outside a spherical interface (epsilon_in=1/epsilon2=10) -- data.cylinder : single point charge facing a cylindrical interface +- data.confined : two point opposite charges confined between two interfaces (epsilon1=2/epsilon2=10/epsilon2=2) +- data.sphere : two point opposite charges outside a spherical interface (epsilon_in=1/epsilon2=10) -- in.minimal : read in data.minimal -- in.nopbc : read in data.* files, using non-periodic boundary conditions, with a large cutoff - using "-v data data.foo" from the LAMMPS command line arguments -- in.pbc : read in data.* files using periodic boundary conditions - with a slab correction for kspace_style pppm and ewald; not required for msm +- in.confined : read in data.confined +- in.nopbc : read in data.* files, using non-periodic boundary conditions, with a large cutoff For "atom_style dielectric" the Atoms section in the data file contains 15 following columns: @@ -20,28 +14,31 @@ id mol type q x y z normx normy normz area_per_patch ed em epsilon curvature where -id, mol, type, q, x, y and z are similar to those in atom_style full +* id, mol, type, q, x, y and z are similar to those in atom_style full -normx, normy and normz are the three components of the normal unit vector -of the interface at the patch (vertex). For real charges (ions), these 3 values -are irrelevant and can be anything (e.g. 0,0,1). +* normx, normy and normz are the three components of the normal unit vector + of the interface at the boundary element (also called vertex, or patch). + For real charges (ions), these 3 values are irrelevant, + and can be anything (e.g. 0,0,1). normx, normy, and normz can be + accessed through mux, muy and muz as if they were dipole components. -ed = dielectric difference at the vertex along the normal vector direction. -For example, if (normx,normy,normz) points from medium with epsilon_in to medium with epsilon_out, -then ed = epsilon_out - epsilon_in +* ed = dielectric difference at the vertex along the normal vector direction. + For example, if (normx,normy,normz) points from medium with epsilon_in + to medium with epsilon_out, then ed = epsilon_out - epsilon_in -em = (epsilon_out + epsilon_in)/2: the mean dielectric value - -epsilon = the local epsilon value at the vertex or at the ion. -For real charges, epsilon is the medium dielectric constant, q is the actual real charges. -For interface particles, if q is zero (zero surface charges), epsilon is set to be 1.0; -if q is nonzero (charged surfaces), epsilon is set to be em (the mean dielectric value above). - -area_per_patch: surface area of the patch. For real charges, this value is irrelevant, can be 1.0. - -curvature: surface curvature at the patch. -For example, for spherical interfaces, curvature = 1/spherical radius. -For planar interfaces, curvature = 0. +* em = (epsilon_out + epsilon_in)/2: the mean dielectric value +* epsilon = the local epsilon value at the vertex or at the ion. + For real charges, epsilon is the medium dielectric constant, + and q is the real (unscaled) charges. + For interface particles: + + if q is zero (zero surface charges), epsilon is set to be 1.0; + + if q is nonzero (charged surfaces), epsilon is set to be em + (the mean dielectric value above). +* area_per_patch: the surface area of the patch (element). + For real charges, this value is irrelevant, can be 1.0. +* curvature: surface mean curvature at the patch. + For example, for spherical interfaces, curvature = 1/spherical radius. + For planar interfaces, curvature = 0. diff --git a/examples/USER/dielectric/data.confined b/examples/USER/dielectric/data.confined index 0906c6cd82..52afc2cf62 100644 --- a/examples/USER/dielectric/data.confined +++ b/examples/USER/dielectric/data.confined @@ -1,4 +1,4 @@ -LAMMPS data file: using 2001 atoms for single point charge (no pbc), or 2002 atoms for two opposite charges (to have charge neutrality for pbc) +LAMMPS data file: two oppositely charged ions confined between two walls 4002 atoms 3 atom types diff --git a/examples/USER/dielectric/data.cylinder b/examples/USER/dielectric/data.cylinder deleted file mode 100644 index f398e5a666..0000000000 --- a/examples/USER/dielectric/data.cylinder +++ /dev/null @@ -1,3616 +0,0 @@ -LAMMPS data file: a cylindrical interface along z axis with radius R = 5.0, and an ion away from center line d = 7.0, epsilon in = 80, out = 5, normal vectors pointing outward -3601 atoms -2 atom types - -0 100.0 xlo xhi -0 100.0 ylo yhi -0 100.0 zlo zhi - -Masses - -1 1.0 -2 1.0 - -Atoms # dielectric: id mol type q x y z normx normy normz area_per_patch ed em epsilon curvature - -1 1 1 0 55.0 50.0 0.0 1.0 0.0 0 0.872664625997 -75 42.5 42.5 0.2 -2 1 1 0 54.9240387651 50.8682408883 0.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -3 1 1 0 54.6984631039 51.7101007166 0.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -4 1 1 0 54.3301270189 52.5 0.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -5 1 1 0 53.8302222156 53.2139380484 0.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -6 1 1 0 53.2139380484 53.8302222156 0.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -7 1 1 0 52.5 54.3301270189 0.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -8 1 1 0 51.7101007166 54.6984631039 0.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -9 1 1 0 50.8682408883 54.9240387651 0.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -10 1 1 0 50.0 55.0 0.0 6.12323399574e-17 1.0 0 0.872664625997 -75 42.5 42.5 0.2 -11 1 1 0 49.1317591117 54.9240387651 0.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -12 1 1 0 48.2898992834 54.6984631039 0.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -13 1 1 0 47.5 54.3301270189 0.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -14 1 1 0 46.7860619516 53.8302222156 0.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -15 1 1 0 46.1697777844 53.2139380484 0.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -16 1 1 0 45.6698729811 52.5 0.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -17 1 1 0 45.3015368961 51.7101007166 0.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -18 1 1 0 45.0759612349 50.8682408883 0.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -19 1 1 0 45.0 50.0 0.0 -1.0 1.22464679915e-16 0 0.872664625997 -75 42.5 42.5 0.2 -20 1 1 0 45.0759612349 49.1317591117 0.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -21 1 1 0 45.3015368961 48.2898992834 0.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -22 1 1 0 45.6698729811 47.5 0.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -23 1 1 0 46.1697777844 46.7860619516 0.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -24 1 1 0 46.7860619516 46.1697777844 0.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -25 1 1 0 47.5 45.6698729811 0.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -26 1 1 0 48.2898992834 45.3015368961 0.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -27 1 1 0 49.1317591117 45.0759612349 0.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -28 1 1 0 50.0 45.0 0.0 -1.83697019872e-16 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 -29 1 1 0 50.8682408883 45.0759612349 0.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -30 1 1 0 51.7101007166 45.3015368961 0.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -31 1 1 0 52.5 45.6698729811 0.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -32 1 1 0 53.2139380484 46.1697777844 0.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -33 1 1 0 53.8302222156 46.7860619516 0.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -34 1 1 0 54.3301270189 47.5 0.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -35 1 1 0 54.6984631039 48.2898992834 0.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -36 1 1 0 54.9240387651 49.1317591117 0.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -37 1 1 0 54.9809734905 50.4357787137 1.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -38 1 1 0 54.8296291314 51.2940952255 1.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -39 1 1 0 54.5315389352 52.1130913087 1.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -40 1 1 0 54.0957602214 52.8678821818 1.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -41 1 1 0 53.5355339059 53.5355339059 1.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -42 1 1 0 52.8678821818 54.0957602214 1.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -43 1 1 0 52.1130913087 54.5315389352 1.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -44 1 1 0 51.2940952255 54.8296291314 1.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -45 1 1 0 50.4357787137 54.9809734905 1.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -46 1 1 0 49.5642212863 54.9809734905 1.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -47 1 1 0 48.7059047745 54.8296291314 1.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -48 1 1 0 47.8869086913 54.5315389352 1.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -49 1 1 0 47.1321178182 54.0957602214 1.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -50 1 1 0 46.4644660941 53.5355339059 1.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -51 1 1 0 45.9042397786 52.8678821818 1.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -52 1 1 0 45.4684610648 52.1130913087 1.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -53 1 1 0 45.1703708686 51.2940952255 1.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -54 1 1 0 45.0190265095 50.4357787137 1.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -55 1 1 0 45.0190265095 49.5642212863 1.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -56 1 1 0 45.1703708686 48.7059047745 1.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -57 1 1 0 45.4684610648 47.8869086913 1.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -58 1 1 0 45.9042397786 47.1321178182 1.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -59 1 1 0 46.4644660941 46.4644660941 1.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -60 1 1 0 47.1321178182 45.9042397786 1.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -61 1 1 0 47.8869086913 45.4684610648 1.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -62 1 1 0 48.7059047745 45.1703708686 1.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -63 1 1 0 49.5642212863 45.0190265095 1.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -64 1 1 0 50.4357787137 45.0190265095 1.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -65 1 1 0 51.2940952255 45.1703708686 1.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -66 1 1 0 52.1130913087 45.4684610648 1.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -67 1 1 0 52.8678821818 45.9042397786 1.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -68 1 1 0 53.5355339059 46.4644660941 1.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -69 1 1 0 54.0957602214 47.1321178182 1.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -70 1 1 0 54.5315389352 47.8869086913 1.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -71 1 1 0 54.8296291314 48.7059047745 1.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -72 1 1 0 54.9809734905 49.5642212863 1.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -73 1 1 0 54.9240387651 50.8682408883 2.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -74 1 1 0 54.6984631039 51.7101007166 2.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -75 1 1 0 54.3301270189 52.5 2.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -76 1 1 0 53.8302222156 53.2139380484 2.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -77 1 1 0 53.2139380484 53.8302222156 2.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -78 1 1 0 52.5 54.3301270189 2.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -79 1 1 0 51.7101007166 54.6984631039 2.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -80 1 1 0 50.8682408883 54.9240387651 2.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -81 1 1 0 50.0 55.0 2.0 6.12323399574e-17 1.0 0 0.872664625997 -75 42.5 42.5 0.2 -82 1 1 0 49.1317591117 54.9240387651 2.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -83 1 1 0 48.2898992834 54.6984631039 2.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -84 1 1 0 47.5 54.3301270189 2.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -85 1 1 0 46.7860619516 53.8302222156 2.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -86 1 1 0 46.1697777844 53.2139380484 2.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -87 1 1 0 45.6698729811 52.5 2.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -88 1 1 0 45.3015368961 51.7101007166 2.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -89 1 1 0 45.0759612349 50.8682408883 2.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -90 1 1 0 45.0 50.0 2.0 -1.0 5.66553889765e-16 0 0.872664625997 -75 42.5 42.5 0.2 -91 1 1 0 45.0759612349 49.1317591117 2.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -92 1 1 0 45.3015368961 48.2898992834 2.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -93 1 1 0 45.6698729811 47.5 2.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -94 1 1 0 46.1697777844 46.7860619516 2.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -95 1 1 0 46.7860619516 46.1697777844 2.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -96 1 1 0 47.5 45.6698729811 2.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -97 1 1 0 48.2898992834 45.3015368961 2.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -98 1 1 0 49.1317591117 45.0759612349 2.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -99 1 1 0 50.0 45.0 2.0 -1.83697019872e-16 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 -100 1 1 0 50.8682408883 45.0759612349 2.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -101 1 1 0 51.7101007166 45.3015368961 2.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -102 1 1 0 52.5 45.6698729811 2.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -103 1 1 0 53.2139380484 46.1697777844 2.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -104 1 1 0 53.8302222156 46.7860619516 2.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -105 1 1 0 54.3301270189 47.5 2.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -106 1 1 0 54.6984631039 48.2898992834 2.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -107 1 1 0 54.9240387651 49.1317591117 2.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -108 1 1 0 55.0 50.0 2.0 1.0 -2.44929359829e-16 0 0.872664625997 -75 42.5 42.5 0.2 -109 1 1 0 54.8296291314 51.2940952255 3.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -110 1 1 0 54.5315389352 52.1130913087 3.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -111 1 1 0 54.0957602214 52.8678821818 3.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -112 1 1 0 53.5355339059 53.5355339059 3.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -113 1 1 0 52.8678821818 54.0957602214 3.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -114 1 1 0 52.1130913087 54.5315389352 3.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -115 1 1 0 51.2940952255 54.8296291314 3.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -116 1 1 0 50.4357787137 54.9809734905 3.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -117 1 1 0 49.5642212863 54.9809734905 3.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -118 1 1 0 48.7059047745 54.8296291314 3.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -119 1 1 0 47.8869086913 54.5315389352 3.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -120 1 1 0 47.1321178182 54.0957602214 3.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -121 1 1 0 46.4644660941 53.5355339059 3.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -122 1 1 0 45.9042397786 52.8678821818 3.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -123 1 1 0 45.4684610648 52.1130913087 3.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -124 1 1 0 45.1703708686 51.2940952255 3.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -125 1 1 0 45.0190265095 50.4357787137 3.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -126 1 1 0 45.0190265095 49.5642212863 3.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -127 1 1 0 45.1703708686 48.7059047745 3.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -128 1 1 0 45.4684610648 47.8869086913 3.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -129 1 1 0 45.9042397786 47.1321178182 3.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -130 1 1 0 46.4644660941 46.4644660941 3.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -131 1 1 0 47.1321178182 45.9042397786 3.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -132 1 1 0 47.8869086913 45.4684610648 3.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -133 1 1 0 48.7059047745 45.1703708686 3.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -134 1 1 0 49.5642212863 45.0190265095 3.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -135 1 1 0 50.4357787137 45.0190265095 3.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -136 1 1 0 51.2940952255 45.1703708686 3.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -137 1 1 0 52.1130913087 45.4684610648 3.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -138 1 1 0 52.8678821818 45.9042397786 3.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -139 1 1 0 53.5355339059 46.4644660941 3.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -140 1 1 0 54.0957602214 47.1321178182 3.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -141 1 1 0 54.5315389352 47.8869086913 3.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -142 1 1 0 54.8296291314 48.7059047745 3.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -143 1 1 0 54.9809734905 49.5642212863 3.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -144 1 1 0 54.9809734905 50.4357787137 3.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -145 1 1 0 54.6984631039 51.7101007166 4.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -146 1 1 0 54.3301270189 52.5 4.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -147 1 1 0 53.8302222156 53.2139380484 4.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -148 1 1 0 53.2139380484 53.8302222156 4.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -149 1 1 0 52.5 54.3301270189 4.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -150 1 1 0 51.7101007166 54.6984631039 4.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -151 1 1 0 50.8682408883 54.9240387651 4.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -152 1 1 0 50.0 55.0 4.0 6.12323399574e-17 1.0 0 0.872664625997 -75 42.5 42.5 0.2 -153 1 1 0 49.1317591117 54.9240387651 4.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -154 1 1 0 48.2898992834 54.6984631039 4.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -155 1 1 0 47.5 54.3301270189 4.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -156 1 1 0 46.7860619516 53.8302222156 4.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -157 1 1 0 46.1697777844 53.2139380484 4.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -158 1 1 0 45.6698729811 52.5 4.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -159 1 1 0 45.3015368961 51.7101007166 4.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -160 1 1 0 45.0759612349 50.8682408883 4.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -161 1 1 0 45.0 50.0 4.0 -1.0 1.22464679915e-16 0 0.872664625997 -75 42.5 42.5 0.2 -162 1 1 0 45.0759612349 49.1317591117 4.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -163 1 1 0 45.3015368961 48.2898992834 4.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -164 1 1 0 45.6698729811 47.5 4.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -165 1 1 0 46.1697777844 46.7860619516 4.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -166 1 1 0 46.7860619516 46.1697777844 4.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -167 1 1 0 47.5 45.6698729811 4.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -168 1 1 0 48.2898992834 45.3015368961 4.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -169 1 1 0 49.1317591117 45.0759612349 4.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -170 1 1 0 50.0 45.0 4.0 -1.07187543957e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 -171 1 1 0 50.8682408883 45.0759612349 4.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -172 1 1 0 51.7101007166 45.3015368961 4.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -173 1 1 0 52.5 45.6698729811 4.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -174 1 1 0 53.2139380484 46.1697777844 4.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -175 1 1 0 53.8302222156 46.7860619516 4.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -176 1 1 0 54.3301270189 47.5 4.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -177 1 1 0 54.6984631039 48.2898992834 4.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -178 1 1 0 54.9240387651 49.1317591117 4.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -179 1 1 0 55.0 50.0 4.0 1.0 -1.13310777953e-15 0 0.872664625997 -75 42.5 42.5 0.2 -180 1 1 0 54.9240387651 50.8682408883 4.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -181 1 1 0 54.5315389352 52.1130913087 5.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -182 1 1 0 54.0957602214 52.8678821818 5.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -183 1 1 0 53.5355339059 53.5355339059 5.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -184 1 1 0 52.8678821818 54.0957602214 5.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -185 1 1 0 52.1130913087 54.5315389352 5.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -186 1 1 0 51.2940952255 54.8296291314 5.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -187 1 1 0 50.4357787137 54.9809734905 5.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -188 1 1 0 49.5642212863 54.9809734905 5.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -189 1 1 0 48.7059047745 54.8296291314 5.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -190 1 1 0 47.8869086913 54.5315389352 5.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -191 1 1 0 47.1321178182 54.0957602214 5.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -192 1 1 0 46.4644660941 53.5355339059 5.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -193 1 1 0 45.9042397786 52.8678821818 5.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -194 1 1 0 45.4684610648 52.1130913087 5.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -195 1 1 0 45.1703708686 51.2940952255 5.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -196 1 1 0 45.0190265095 50.4357787137 5.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -197 1 1 0 45.0190265095 49.5642212863 5.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -198 1 1 0 45.1703708686 48.7059047745 5.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -199 1 1 0 45.4684610648 47.8869086913 5.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -200 1 1 0 45.9042397786 47.1321178182 5.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -201 1 1 0 46.4644660941 46.4644660941 5.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -202 1 1 0 47.1321178182 45.9042397786 5.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -203 1 1 0 47.8869086913 45.4684610648 5.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -204 1 1 0 48.7059047745 45.1703708686 5.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -205 1 1 0 49.5642212863 45.0190265095 5.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -206 1 1 0 50.4357787137 45.0190265095 5.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -207 1 1 0 51.2940952255 45.1703708686 5.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -208 1 1 0 52.1130913087 45.4684610648 5.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -209 1 1 0 52.8678821818 45.9042397786 5.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -210 1 1 0 53.5355339059 46.4644660941 5.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -211 1 1 0 54.0957602214 47.1321178182 5.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -212 1 1 0 54.5315389352 47.8869086913 5.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -213 1 1 0 54.8296291314 48.7059047745 5.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -214 1 1 0 54.9809734905 49.5642212863 5.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -215 1 1 0 54.9809734905 50.4357787137 5.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -216 1 1 0 54.8296291314 51.2940952255 5.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -217 1 1 0 54.3301270189 52.5 6.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -218 1 1 0 53.8302222156 53.2139380484 6.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -219 1 1 0 53.2139380484 53.8302222156 6.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -220 1 1 0 52.5 54.3301270189 6.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -221 1 1 0 51.7101007166 54.6984631039 6.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -222 1 1 0 50.8682408883 54.9240387651 6.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -223 1 1 0 50.0 55.0 6.0 6.12323399574e-17 1.0 0 0.872664625997 -75 42.5 42.5 0.2 -224 1 1 0 49.1317591117 54.9240387651 6.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -225 1 1 0 48.2898992834 54.6984631039 6.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -226 1 1 0 47.5 54.3301270189 6.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -227 1 1 0 46.7860619516 53.8302222156 6.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -228 1 1 0 46.1697777844 53.2139380484 6.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -229 1 1 0 45.6698729811 52.5 6.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -230 1 1 0 45.3015368961 51.7101007166 6.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -231 1 1 0 45.0759612349 50.8682408883 6.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -232 1 1 0 45.0 50.0 6.0 -1.0 1.22464679915e-16 0 0.872664625997 -75 42.5 42.5 0.2 -233 1 1 0 45.0759612349 49.1317591117 6.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -234 1 1 0 45.3015368961 48.2898992834 6.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -235 1 1 0 45.6698729811 47.5 6.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -236 1 1 0 46.1697777844 46.7860619516 6.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -237 1 1 0 46.7860619516 46.1697777844 6.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -238 1 1 0 47.5 45.6698729811 6.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -239 1 1 0 48.2898992834 45.3015368961 6.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -240 1 1 0 49.1317591117 45.0759612349 6.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -241 1 1 0 50.0 45.0 6.0 -1.83697019872e-16 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 -242 1 1 0 50.8682408883 45.0759612349 6.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -243 1 1 0 51.7101007166 45.3015368961 6.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -244 1 1 0 52.5 45.6698729811 6.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -245 1 1 0 53.2139380484 46.1697777844 6.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -246 1 1 0 53.8302222156 46.7860619516 6.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -247 1 1 0 54.3301270189 47.5 6.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -248 1 1 0 54.6984631039 48.2898992834 6.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -249 1 1 0 54.9240387651 49.1317591117 6.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -250 1 1 0 55.0 50.0 6.0 1.0 -2.44929359829e-16 0 0.872664625997 -75 42.5 42.5 0.2 -251 1 1 0 54.9240387651 50.8682408883 6.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -252 1 1 0 54.6984631039 51.7101007166 6.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -253 1 1 0 54.0957602214 52.8678821818 7.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -254 1 1 0 53.5355339059 53.5355339059 7.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -255 1 1 0 52.8678821818 54.0957602214 7.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -256 1 1 0 52.1130913087 54.5315389352 7.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -257 1 1 0 51.2940952255 54.8296291314 7.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -258 1 1 0 50.4357787137 54.9809734905 7.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -259 1 1 0 49.5642212863 54.9809734905 7.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -260 1 1 0 48.7059047745 54.8296291314 7.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -261 1 1 0 47.8869086913 54.5315389352 7.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -262 1 1 0 47.1321178182 54.0957602214 7.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -263 1 1 0 46.4644660941 53.5355339059 7.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -264 1 1 0 45.9042397786 52.8678821818 7.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -265 1 1 0 45.4684610648 52.1130913087 7.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -266 1 1 0 45.1703708686 51.2940952255 7.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -267 1 1 0 45.0190265095 50.4357787137 7.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -268 1 1 0 45.0190265095 49.5642212863 7.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -269 1 1 0 45.1703708686 48.7059047745 7.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -270 1 1 0 45.4684610648 47.8869086913 7.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -271 1 1 0 45.9042397786 47.1321178182 7.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -272 1 1 0 46.4644660941 46.4644660941 7.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -273 1 1 0 47.1321178182 45.9042397786 7.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -274 1 1 0 47.8869086913 45.4684610648 7.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -275 1 1 0 48.7059047745 45.1703708686 7.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -276 1 1 0 49.5642212863 45.0190265095 7.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -277 1 1 0 50.4357787137 45.0190265095 7.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -278 1 1 0 51.2940952255 45.1703708686 7.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -279 1 1 0 52.1130913087 45.4684610648 7.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -280 1 1 0 52.8678821818 45.9042397786 7.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -281 1 1 0 53.5355339059 46.4644660941 7.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -282 1 1 0 54.0957602214 47.1321178182 7.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -283 1 1 0 54.5315389352 47.8869086913 7.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -284 1 1 0 54.8296291314 48.7059047745 7.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -285 1 1 0 54.9809734905 49.5642212863 7.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -286 1 1 0 54.9809734905 50.4357787137 7.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -287 1 1 0 54.8296291314 51.2940952255 7.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -288 1 1 0 54.5315389352 52.1130913087 7.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -289 1 1 0 53.8302222156 53.2139380484 8.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -290 1 1 0 53.2139380484 53.8302222156 8.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -291 1 1 0 52.5 54.3301270189 8.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -292 1 1 0 51.7101007166 54.6984631039 8.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -293 1 1 0 50.8682408883 54.9240387651 8.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -294 1 1 0 50.0 55.0 8.0 6.12323399574e-17 1.0 0 0.872664625997 -75 42.5 42.5 0.2 -295 1 1 0 49.1317591117 54.9240387651 8.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -296 1 1 0 48.2898992834 54.6984631039 8.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -297 1 1 0 47.5 54.3301270189 8.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -298 1 1 0 46.7860619516 53.8302222156 8.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -299 1 1 0 46.1697777844 53.2139380484 8.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -300 1 1 0 45.6698729811 52.5 8.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -301 1 1 0 45.3015368961 51.7101007166 8.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -302 1 1 0 45.0759612349 50.8682408883 8.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -303 1 1 0 45.0 50.0 8.0 -1.0 1.22464679915e-16 0 0.872664625997 -75 42.5 42.5 0.2 -304 1 1 0 45.0759612349 49.1317591117 8.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -305 1 1 0 45.3015368961 48.2898992834 8.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -306 1 1 0 45.6698729811 47.5 8.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -307 1 1 0 46.1697777844 46.7860619516 8.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -308 1 1 0 46.7860619516 46.1697777844 8.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -309 1 1 0 47.5 45.6698729811 8.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -310 1 1 0 48.2898992834 45.3015368961 8.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -311 1 1 0 49.1317591117 45.0759612349 8.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -312 1 1 0 50.0 45.0 8.0 -1.83697019872e-16 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 -313 1 1 0 50.8682408883 45.0759612349 8.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -314 1 1 0 51.7101007166 45.3015368961 8.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -315 1 1 0 52.5 45.6698729811 8.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -316 1 1 0 53.2139380484 46.1697777844 8.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -317 1 1 0 53.8302222156 46.7860619516 8.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -318 1 1 0 54.3301270189 47.5 8.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -319 1 1 0 54.6984631039 48.2898992834 8.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -320 1 1 0 54.9240387651 49.1317591117 8.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -321 1 1 0 55.0 50.0 8.0 1.0 -2.44929359829e-16 0 0.872664625997 -75 42.5 42.5 0.2 -322 1 1 0 54.9240387651 50.8682408883 8.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -323 1 1 0 54.6984631039 51.7101007166 8.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -324 1 1 0 54.3301270189 52.5 8.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -325 1 1 0 53.5355339059 53.5355339059 9.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -326 1 1 0 52.8678821818 54.0957602214 9.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -327 1 1 0 52.1130913087 54.5315389352 9.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -328 1 1 0 51.2940952255 54.8296291314 9.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -329 1 1 0 50.4357787137 54.9809734905 9.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -330 1 1 0 49.5642212863 54.9809734905 9.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -331 1 1 0 48.7059047745 54.8296291314 9.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -332 1 1 0 47.8869086913 54.5315389352 9.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -333 1 1 0 47.1321178182 54.0957602214 9.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -334 1 1 0 46.4644660941 53.5355339059 9.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -335 1 1 0 45.9042397786 52.8678821818 9.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -336 1 1 0 45.4684610648 52.1130913087 9.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -337 1 1 0 45.1703708686 51.2940952255 9.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -338 1 1 0 45.0190265095 50.4357787137 9.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -339 1 1 0 45.0190265095 49.5642212863 9.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -340 1 1 0 45.1703708686 48.7059047745 9.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -341 1 1 0 45.4684610648 47.8869086913 9.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -342 1 1 0 45.9042397786 47.1321178182 9.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -343 1 1 0 46.4644660941 46.4644660941 9.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -344 1 1 0 47.1321178182 45.9042397786 9.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -345 1 1 0 47.8869086913 45.4684610648 9.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -346 1 1 0 48.7059047745 45.1703708686 9.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -347 1 1 0 49.5642212863 45.0190265095 9.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -348 1 1 0 50.4357787137 45.0190265095 9.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -349 1 1 0 51.2940952255 45.1703708686 9.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -350 1 1 0 52.1130913087 45.4684610648 9.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -351 1 1 0 52.8678821818 45.9042397786 9.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -352 1 1 0 53.5355339059 46.4644660941 9.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -353 1 1 0 54.0957602214 47.1321178182 9.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -354 1 1 0 54.5315389352 47.8869086913 9.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -355 1 1 0 54.8296291314 48.7059047745 9.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -356 1 1 0 54.9809734905 49.5642212863 9.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -357 1 1 0 54.9809734905 50.4357787137 9.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -358 1 1 0 54.8296291314 51.2940952255 9.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -359 1 1 0 54.5315389352 52.1130913087 9.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -360 1 1 0 54.0957602214 52.8678821818 9.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -361 1 1 0 53.2139380484 53.8302222156 10.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -362 1 1 0 52.5 54.3301270189 10.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -363 1 1 0 51.7101007166 54.6984631039 10.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -364 1 1 0 50.8682408883 54.9240387651 10.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -365 1 1 0 50.0 55.0 10.0 6.12323399574e-17 1.0 0 0.872664625997 -75 42.5 42.5 0.2 -366 1 1 0 49.1317591117 54.9240387651 10.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -367 1 1 0 48.2898992834 54.6984631039 10.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -368 1 1 0 47.5 54.3301270189 10.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -369 1 1 0 46.7860619516 53.8302222156 10.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -370 1 1 0 46.1697777844 53.2139380484 10.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -371 1 1 0 45.6698729811 52.5 10.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -372 1 1 0 45.3015368961 51.7101007166 10.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -373 1 1 0 45.0759612349 50.8682408883 10.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -374 1 1 0 45.0 50.0 10.0 -1.0 1.22464679915e-16 0 0.872664625997 -75 42.5 42.5 0.2 -375 1 1 0 45.0759612349 49.1317591117 10.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -376 1 1 0 45.3015368961 48.2898992834 10.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -377 1 1 0 45.6698729811 47.5 10.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -378 1 1 0 46.1697777844 46.7860619516 10.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -379 1 1 0 46.7860619516 46.1697777844 10.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -380 1 1 0 47.5 45.6698729811 10.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -381 1 1 0 48.2898992834 45.3015368961 10.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -382 1 1 0 49.1317591117 45.0759612349 10.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -383 1 1 0 50.0 45.0 10.0 -1.83697019872e-16 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 -384 1 1 0 50.8682408883 45.0759612349 10.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -385 1 1 0 51.7101007166 45.3015368961 10.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -386 1 1 0 52.5 45.6698729811 10.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -387 1 1 0 53.2139380484 46.1697777844 10.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -388 1 1 0 53.8302222156 46.7860619516 10.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -389 1 1 0 54.3301270189 47.5 10.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -390 1 1 0 54.6984631039 48.2898992834 10.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -391 1 1 0 54.9240387651 49.1317591117 10.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -392 1 1 0 55.0 50.0 10.0 1.0 -2.44929359829e-16 0 0.872664625997 -75 42.5 42.5 0.2 -393 1 1 0 54.9240387651 50.8682408883 10.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -394 1 1 0 54.6984631039 51.7101007166 10.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -395 1 1 0 54.3301270189 52.5 10.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -396 1 1 0 53.8302222156 53.2139380484 10.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -397 1 1 0 52.8678821818 54.0957602214 11.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -398 1 1 0 52.1130913087 54.5315389352 11.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -399 1 1 0 51.2940952255 54.8296291314 11.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -400 1 1 0 50.4357787137 54.9809734905 11.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -401 1 1 0 49.5642212863 54.9809734905 11.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -402 1 1 0 48.7059047745 54.8296291314 11.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -403 1 1 0 47.8869086913 54.5315389352 11.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -404 1 1 0 47.1321178182 54.0957602214 11.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -405 1 1 0 46.4644660941 53.5355339059 11.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -406 1 1 0 45.9042397786 52.8678821818 11.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -407 1 1 0 45.4684610648 52.1130913087 11.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -408 1 1 0 45.1703708686 51.2940952255 11.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -409 1 1 0 45.0190265095 50.4357787137 11.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -410 1 1 0 45.0190265095 49.5642212863 11.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -411 1 1 0 45.1703708686 48.7059047745 11.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -412 1 1 0 45.4684610648 47.8869086913 11.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -413 1 1 0 45.9042397786 47.1321178182 11.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -414 1 1 0 46.4644660941 46.4644660941 11.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -415 1 1 0 47.1321178182 45.9042397786 11.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -416 1 1 0 47.8869086913 45.4684610648 11.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -417 1 1 0 48.7059047745 45.1703708686 11.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -418 1 1 0 49.5642212863 45.0190265095 11.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -419 1 1 0 50.4357787137 45.0190265095 11.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -420 1 1 0 51.2940952255 45.1703708686 11.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -421 1 1 0 52.1130913087 45.4684610648 11.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -422 1 1 0 52.8678821818 45.9042397786 11.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -423 1 1 0 53.5355339059 46.4644660941 11.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -424 1 1 0 54.0957602214 47.1321178182 11.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -425 1 1 0 54.5315389352 47.8869086913 11.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -426 1 1 0 54.8296291314 48.7059047745 11.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -427 1 1 0 54.9809734905 49.5642212863 11.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -428 1 1 0 54.9809734905 50.4357787137 11.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -429 1 1 0 54.8296291314 51.2940952255 11.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -430 1 1 0 54.5315389352 52.1130913087 11.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -431 1 1 0 54.0957602214 52.8678821818 11.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -432 1 1 0 53.5355339059 53.5355339059 11.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -433 1 1 0 52.5 54.3301270189 12.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -434 1 1 0 51.7101007166 54.6984631039 12.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -435 1 1 0 50.8682408883 54.9240387651 12.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -436 1 1 0 50.0 55.0 12.0 6.12323399574e-17 1.0 0 0.872664625997 -75 42.5 42.5 0.2 -437 1 1 0 49.1317591117 54.9240387651 12.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -438 1 1 0 48.2898992834 54.6984631039 12.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -439 1 1 0 47.5 54.3301270189 12.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -440 1 1 0 46.7860619516 53.8302222156 12.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -441 1 1 0 46.1697777844 53.2139380484 12.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -442 1 1 0 45.6698729811 52.5 12.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -443 1 1 0 45.3015368961 51.7101007166 12.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -444 1 1 0 45.0759612349 50.8682408883 12.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -445 1 1 0 45.0 50.0 12.0 -1.0 1.22464679915e-16 0 0.872664625997 -75 42.5 42.5 0.2 -446 1 1 0 45.0759612349 49.1317591117 12.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -447 1 1 0 45.3015368961 48.2898992834 12.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -448 1 1 0 45.6698729811 47.5 12.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -449 1 1 0 46.1697777844 46.7860619516 12.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -450 1 1 0 46.7860619516 46.1697777844 12.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -451 1 1 0 47.5 45.6698729811 12.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -452 1 1 0 48.2898992834 45.3015368961 12.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -453 1 1 0 49.1317591117 45.0759612349 12.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -454 1 1 0 50.0 45.0 12.0 -1.83697019872e-16 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 -455 1 1 0 50.8682408883 45.0759612349 12.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -456 1 1 0 51.7101007166 45.3015368961 12.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -457 1 1 0 52.5 45.6698729811 12.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -458 1 1 0 53.2139380484 46.1697777844 12.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -459 1 1 0 53.8302222156 46.7860619516 12.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -460 1 1 0 54.3301270189 47.5 12.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -461 1 1 0 54.6984631039 48.2898992834 12.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -462 1 1 0 54.9240387651 49.1317591117 12.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -463 1 1 0 55.0 50.0 12.0 1.0 -2.44929359829e-16 0 0.872664625997 -75 42.5 42.5 0.2 -464 1 1 0 54.9240387651 50.8682408883 12.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -465 1 1 0 54.6984631039 51.7101007166 12.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -466 1 1 0 54.3301270189 52.5 12.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -467 1 1 0 53.8302222156 53.2139380484 12.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -468 1 1 0 53.2139380484 53.8302222156 12.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -469 1 1 0 52.1130913087 54.5315389352 13.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -470 1 1 0 51.2940952255 54.8296291314 13.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -471 1 1 0 50.4357787137 54.9809734905 13.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -472 1 1 0 49.5642212863 54.9809734905 13.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -473 1 1 0 48.7059047745 54.8296291314 13.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -474 1 1 0 47.8869086913 54.5315389352 13.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -475 1 1 0 47.1321178182 54.0957602214 13.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -476 1 1 0 46.4644660941 53.5355339059 13.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -477 1 1 0 45.9042397786 52.8678821818 13.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -478 1 1 0 45.4684610648 52.1130913087 13.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -479 1 1 0 45.1703708686 51.2940952255 13.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -480 1 1 0 45.0190265095 50.4357787137 13.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -481 1 1 0 45.0190265095 49.5642212863 13.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -482 1 1 0 45.1703708686 48.7059047745 13.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -483 1 1 0 45.4684610648 47.8869086913 13.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -484 1 1 0 45.9042397786 47.1321178182 13.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -485 1 1 0 46.4644660941 46.4644660941 13.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -486 1 1 0 47.1321178182 45.9042397786 13.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -487 1 1 0 47.8869086913 45.4684610648 13.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -488 1 1 0 48.7059047745 45.1703708686 13.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -489 1 1 0 49.5642212863 45.0190265095 13.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -490 1 1 0 50.4357787137 45.0190265095 13.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -491 1 1 0 51.2940952255 45.1703708686 13.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -492 1 1 0 52.1130913087 45.4684610648 13.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -493 1 1 0 52.8678821818 45.9042397786 13.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -494 1 1 0 53.5355339059 46.4644660941 13.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -495 1 1 0 54.0957602214 47.1321178182 13.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -496 1 1 0 54.5315389352 47.8869086913 13.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -497 1 1 0 54.8296291314 48.7059047745 13.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -498 1 1 0 54.9809734905 49.5642212863 13.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -499 1 1 0 54.9809734905 50.4357787137 13.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -500 1 1 0 54.8296291314 51.2940952255 13.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -501 1 1 0 54.5315389352 52.1130913087 13.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -502 1 1 0 54.0957602214 52.8678821818 13.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -503 1 1 0 53.5355339059 53.5355339059 13.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -504 1 1 0 52.8678821818 54.0957602214 13.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -505 1 1 0 51.7101007166 54.6984631039 14.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -506 1 1 0 50.8682408883 54.9240387651 14.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -507 1 1 0 50.0 55.0 14.0 2.83276944882e-16 1.0 0 0.872664625997 -75 42.5 42.5 0.2 -508 1 1 0 49.1317591117 54.9240387651 14.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -509 1 1 0 48.2898992834 54.6984631039 14.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -510 1 1 0 47.5 54.3301270189 14.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -511 1 1 0 46.7860619516 53.8302222156 14.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -512 1 1 0 46.1697777844 53.2139380484 14.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -513 1 1 0 45.6698729811 52.5 14.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -514 1 1 0 45.3015368961 51.7101007166 14.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -515 1 1 0 45.0759612349 50.8682408883 14.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -516 1 1 0 45.0 50.0 14.0 -1.0 1.22464679915e-16 0 0.872664625997 -75 42.5 42.5 0.2 -517 1 1 0 45.0759612349 49.1317591117 14.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -518 1 1 0 45.3015368961 48.2898992834 14.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -519 1 1 0 45.6698729811 47.5 14.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -520 1 1 0 46.1697777844 46.7860619516 14.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -521 1 1 0 46.7860619516 46.1697777844 14.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -522 1 1 0 47.5 45.6698729811 14.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -523 1 1 0 48.2898992834 45.3015368961 14.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -524 1 1 0 49.1317591117 45.0759612349 14.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -525 1 1 0 50.0 45.0 14.0 -1.83697019872e-16 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 -526 1 1 0 50.8682408883 45.0759612349 14.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -527 1 1 0 51.7101007166 45.3015368961 14.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -528 1 1 0 52.5 45.6698729811 14.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -529 1 1 0 53.2139380484 46.1697777844 14.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -530 1 1 0 53.8302222156 46.7860619516 14.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -531 1 1 0 54.3301270189 47.5 14.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -532 1 1 0 54.6984631039 48.2898992834 14.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -533 1 1 0 54.9240387651 49.1317591117 14.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -534 1 1 0 55.0 50.0 14.0 1.0 -1.13310777953e-15 0 0.872664625997 -75 42.5 42.5 0.2 -535 1 1 0 54.9240387651 50.8682408883 14.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -536 1 1 0 54.6984631039 51.7101007166 14.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -537 1 1 0 54.3301270189 52.5 14.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -538 1 1 0 53.8302222156 53.2139380484 14.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -539 1 1 0 53.2139380484 53.8302222156 14.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -540 1 1 0 52.5 54.3301270189 14.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -541 1 1 0 51.2940952255 54.8296291314 15.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -542 1 1 0 50.4357787137 54.9809734905 15.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -543 1 1 0 49.5642212863 54.9809734905 15.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -544 1 1 0 48.7059047745 54.8296291314 15.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -545 1 1 0 47.8869086913 54.5315389352 15.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -546 1 1 0 47.1321178182 54.0957602214 15.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -547 1 1 0 46.4644660941 53.5355339059 15.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -548 1 1 0 45.9042397786 52.8678821818 15.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -549 1 1 0 45.4684610648 52.1130913087 15.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -550 1 1 0 45.1703708686 51.2940952255 15.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -551 1 1 0 45.0190265095 50.4357787137 15.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -552 1 1 0 45.0190265095 49.5642212863 15.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -553 1 1 0 45.1703708686 48.7059047745 15.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -554 1 1 0 45.4684610648 47.8869086913 15.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -555 1 1 0 45.9042397786 47.1321178182 15.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -556 1 1 0 46.4644660941 46.4644660941 15.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -557 1 1 0 47.1321178182 45.9042397786 15.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -558 1 1 0 47.8869086913 45.4684610648 15.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -559 1 1 0 48.7059047745 45.1703708686 15.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -560 1 1 0 49.5642212863 45.0190265095 15.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -561 1 1 0 50.4357787137 45.0190265095 15.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -562 1 1 0 51.2940952255 45.1703708686 15.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -563 1 1 0 52.1130913087 45.4684610648 15.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -564 1 1 0 52.8678821818 45.9042397786 15.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -565 1 1 0 53.5355339059 46.4644660941 15.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -566 1 1 0 54.0957602214 47.1321178182 15.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -567 1 1 0 54.5315389352 47.8869086913 15.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -568 1 1 0 54.8296291314 48.7059047745 15.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -569 1 1 0 54.9809734905 49.5642212863 15.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -570 1 1 0 54.9809734905 50.4357787137 15.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -571 1 1 0 54.8296291314 51.2940952255 15.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -572 1 1 0 54.5315389352 52.1130913087 15.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -573 1 1 0 54.0957602214 52.8678821818 15.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -574 1 1 0 53.5355339059 53.5355339059 15.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -575 1 1 0 52.8678821818 54.0957602214 15.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -576 1 1 0 52.1130913087 54.5315389352 15.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -577 1 1 0 50.8682408883 54.9240387651 16.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -578 1 1 0 50.0 55.0 16.0 5.05321549807e-16 1.0 0 0.872664625997 -75 42.5 42.5 0.2 -579 1 1 0 49.1317591117 54.9240387651 16.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -580 1 1 0 48.2898992834 54.6984631039 16.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -581 1 1 0 47.5 54.3301270189 16.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -582 1 1 0 46.7860619516 53.8302222156 16.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -583 1 1 0 46.1697777844 53.2139380484 16.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -584 1 1 0 45.6698729811 52.5 16.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -585 1 1 0 45.3015368961 51.7101007166 16.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -586 1 1 0 45.0759612349 50.8682408883 16.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -587 1 1 0 45.0 50.0 16.0 -1.0 5.66553889765e-16 0 0.872664625997 -75 42.5 42.5 0.2 -588 1 1 0 45.0759612349 49.1317591117 16.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -589 1 1 0 45.3015368961 48.2898992834 16.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -590 1 1 0 45.6698729811 47.5 16.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -591 1 1 0 46.1697777844 46.7860619516 16.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -592 1 1 0 46.7860619516 46.1697777844 16.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -593 1 1 0 47.5 45.6698729811 16.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -594 1 1 0 48.2898992834 45.3015368961 16.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -595 1 1 0 49.1317591117 45.0759612349 16.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -596 1 1 0 50.0 45.0 16.0 -1.07187543957e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 -597 1 1 0 50.8682408883 45.0759612349 16.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -598 1 1 0 51.7101007166 45.3015368961 16.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -599 1 1 0 52.5 45.6698729811 16.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -600 1 1 0 53.2139380484 46.1697777844 16.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -601 1 1 0 53.8302222156 46.7860619516 16.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -602 1 1 0 54.3301270189 47.5 16.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -603 1 1 0 54.6984631039 48.2898992834 16.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -604 1 1 0 54.9240387651 49.1317591117 16.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -605 1 1 0 55.0 50.0 16.0 1.0 -1.13310777953e-15 0 0.872664625997 -75 42.5 42.5 0.2 -606 1 1 0 54.9240387651 50.8682408883 16.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -607 1 1 0 54.6984631039 51.7101007166 16.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -608 1 1 0 54.3301270189 52.5 16.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -609 1 1 0 53.8302222156 53.2139380484 16.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -610 1 1 0 53.2139380484 53.8302222156 16.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -611 1 1 0 52.5 54.3301270189 16.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -612 1 1 0 51.7101007166 54.6984631039 16.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -613 1 1 0 50.4357787137 54.9809734905 17.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -614 1 1 0 49.5642212863 54.9809734905 17.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -615 1 1 0 48.7059047745 54.8296291314 17.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -616 1 1 0 47.8869086913 54.5315389352 17.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -617 1 1 0 47.1321178182 54.0957602214 17.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -618 1 1 0 46.4644660941 53.5355339059 17.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -619 1 1 0 45.9042397786 52.8678821818 17.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -620 1 1 0 45.4684610648 52.1130913087 17.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -621 1 1 0 45.1703708686 51.2940952255 17.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -622 1 1 0 45.0190265095 50.4357787137 17.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -623 1 1 0 45.0190265095 49.5642212863 17.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -624 1 1 0 45.1703708686 48.7059047745 17.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -625 1 1 0 45.4684610648 47.8869086913 17.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -626 1 1 0 45.9042397786 47.1321178182 17.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -627 1 1 0 46.4644660941 46.4644660941 17.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -628 1 1 0 47.1321178182 45.9042397786 17.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -629 1 1 0 47.8869086913 45.4684610648 17.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -630 1 1 0 48.7059047745 45.1703708686 17.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -631 1 1 0 49.5642212863 45.0190265095 17.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -632 1 1 0 50.4357787137 45.0190265095 17.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -633 1 1 0 51.2940952255 45.1703708686 17.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -634 1 1 0 52.1130913087 45.4684610648 17.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -635 1 1 0 52.8678821818 45.9042397786 17.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -636 1 1 0 53.5355339059 46.4644660941 17.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -637 1 1 0 54.0957602214 47.1321178182 17.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -638 1 1 0 54.5315389352 47.8869086913 17.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -639 1 1 0 54.8296291314 48.7059047745 17.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -640 1 1 0 54.9809734905 49.5642212863 17.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -641 1 1 0 54.9809734905 50.4357787137 17.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -642 1 1 0 54.8296291314 51.2940952255 17.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -643 1 1 0 54.5315389352 52.1130913087 17.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -644 1 1 0 54.0957602214 52.8678821818 17.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -645 1 1 0 53.5355339059 53.5355339059 17.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -646 1 1 0 52.8678821818 54.0957602214 17.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -647 1 1 0 52.1130913087 54.5315389352 17.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -648 1 1 0 51.2940952255 54.8296291314 17.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -649 1 1 0 50.0 55.0 18.0 7.27366154732e-16 1.0 0 0.872664625997 -75 42.5 42.5 0.2 -650 1 1 0 49.1317591117 54.9240387651 18.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -651 1 1 0 48.2898992834 54.6984631039 18.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -652 1 1 0 47.5 54.3301270189 18.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -653 1 1 0 46.7860619516 53.8302222156 18.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -654 1 1 0 46.1697777844 53.2139380484 18.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -655 1 1 0 45.6698729811 52.5 18.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -656 1 1 0 45.3015368961 51.7101007166 18.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -657 1 1 0 45.0759612349 50.8682408883 18.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -658 1 1 0 45.0 50.0 18.0 -1.0 1.01064309961e-15 0 0.872664625997 -75 42.5 42.5 0.2 -659 1 1 0 45.0759612349 49.1317591117 18.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -660 1 1 0 45.3015368961 48.2898992834 18.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -661 1 1 0 45.6698729811 47.5 18.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -662 1 1 0 46.1697777844 46.7860619516 18.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -663 1 1 0 46.7860619516 46.1697777844 18.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -664 1 1 0 47.5 45.6698729811 18.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -665 1 1 0 48.2898992834 45.3015368961 18.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -666 1 1 0 49.1317591117 45.0759612349 18.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -667 1 1 0 50.0 45.0 18.0 -1.07187543957e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 -668 1 1 0 50.8682408883 45.0759612349 18.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -669 1 1 0 51.7101007166 45.3015368961 18.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -670 1 1 0 52.5 45.6698729811 18.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -671 1 1 0 53.2139380484 46.1697777844 18.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -672 1 1 0 53.8302222156 46.7860619516 18.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -673 1 1 0 54.3301270189 47.5 18.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -674 1 1 0 54.6984631039 48.2898992834 18.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -675 1 1 0 54.9240387651 49.1317591117 18.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -676 1 1 0 55.0 50.0 18.0 1.0 -1.13310777953e-15 0 0.872664625997 -75 42.5 42.5 0.2 -677 1 1 0 54.9240387651 50.8682408883 18.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -678 1 1 0 54.6984631039 51.7101007166 18.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -679 1 1 0 54.3301270189 52.5 18.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -680 1 1 0 53.8302222156 53.2139380484 18.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -681 1 1 0 53.2139380484 53.8302222156 18.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -682 1 1 0 52.5 54.3301270189 18.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -683 1 1 0 51.7101007166 54.6984631039 18.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -684 1 1 0 50.8682408883 54.9240387651 18.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -685 1 1 0 49.5642212863 54.9809734905 19.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -686 1 1 0 48.7059047745 54.8296291314 19.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -687 1 1 0 47.8869086913 54.5315389352 19.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -688 1 1 0 47.1321178182 54.0957602214 19.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -689 1 1 0 46.4644660941 53.5355339059 19.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -690 1 1 0 45.9042397786 52.8678821818 19.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -691 1 1 0 45.4684610648 52.1130913087 19.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -692 1 1 0 45.1703708686 51.2940952255 19.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -693 1 1 0 45.0190265095 50.4357787137 19.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -694 1 1 0 45.0190265095 49.5642212863 19.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -695 1 1 0 45.1703708686 48.7059047745 19.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -696 1 1 0 45.4684610648 47.8869086913 19.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -697 1 1 0 45.9042397786 47.1321178182 19.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -698 1 1 0 46.4644660941 46.4644660941 19.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -699 1 1 0 47.1321178182 45.9042397786 19.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -700 1 1 0 47.8869086913 45.4684610648 19.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -701 1 1 0 48.7059047745 45.1703708686 19.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -702 1 1 0 49.5642212863 45.0190265095 19.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -703 1 1 0 50.4357787137 45.0190265095 19.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -704 1 1 0 51.2940952255 45.1703708686 19.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -705 1 1 0 52.1130913087 45.4684610648 19.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -706 1 1 0 52.8678821818 45.9042397786 19.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -707 1 1 0 53.5355339059 46.4644660941 19.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -708 1 1 0 54.0957602214 47.1321178182 19.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -709 1 1 0 54.5315389352 47.8869086913 19.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -710 1 1 0 54.8296291314 48.7059047745 19.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -711 1 1 0 54.9809734905 49.5642212863 19.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -712 1 1 0 54.9809734905 50.4357787137 19.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -713 1 1 0 54.8296291314 51.2940952255 19.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -714 1 1 0 54.5315389352 52.1130913087 19.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -715 1 1 0 54.0957602214 52.8678821818 19.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -716 1 1 0 53.5355339059 53.5355339059 19.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -717 1 1 0 52.8678821818 54.0957602214 19.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -718 1 1 0 52.1130913087 54.5315389352 19.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -719 1 1 0 51.2940952255 54.8296291314 19.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -720 1 1 0 50.4357787137 54.9809734905 19.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -721 1 1 0 49.1317591117 54.9240387651 20.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -722 1 1 0 48.2898992834 54.6984631039 20.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -723 1 1 0 47.5 54.3301270189 20.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -724 1 1 0 46.7860619516 53.8302222156 20.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -725 1 1 0 46.1697777844 53.2139380484 20.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -726 1 1 0 45.6698729811 52.5 20.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -727 1 1 0 45.3015368961 51.7101007166 20.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -728 1 1 0 45.0759612349 50.8682408883 20.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -729 1 1 0 45.0 50.0 20.0 -1.0 1.01064309961e-15 0 0.872664625997 -75 42.5 42.5 0.2 -730 1 1 0 45.0759612349 49.1317591117 20.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -731 1 1 0 45.3015368961 48.2898992834 20.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -732 1 1 0 45.6698729811 47.5 20.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -733 1 1 0 46.1697777844 46.7860619516 20.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -734 1 1 0 46.7860619516 46.1697777844 20.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -735 1 1 0 47.5 45.6698729811 20.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -736 1 1 0 48.2898992834 45.3015368961 20.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -737 1 1 0 49.1317591117 45.0759612349 20.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -738 1 1 0 50.0 45.0 20.0 -1.07187543957e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 -739 1 1 0 50.8682408883 45.0759612349 20.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -740 1 1 0 51.7101007166 45.3015368961 20.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -741 1 1 0 52.5 45.6698729811 20.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -742 1 1 0 53.2139380484 46.1697777844 20.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -743 1 1 0 53.8302222156 46.7860619516 20.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -744 1 1 0 54.3301270189 47.5 20.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -745 1 1 0 54.6984631039 48.2898992834 20.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -746 1 1 0 54.9240387651 49.1317591117 20.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -747 1 1 0 55.0 50.0 20.0 1.0 -1.13310777953e-15 0 0.872664625997 -75 42.5 42.5 0.2 -748 1 1 0 54.9240387651 50.8682408883 20.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -749 1 1 0 54.6984631039 51.7101007166 20.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -750 1 1 0 54.3301270189 52.5 20.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -751 1 1 0 53.8302222156 53.2139380484 20.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -752 1 1 0 53.2139380484 53.8302222156 20.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -753 1 1 0 52.5 54.3301270189 20.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -754 1 1 0 51.7101007166 54.6984631039 20.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -755 1 1 0 50.8682408883 54.9240387651 20.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -756 1 1 0 50.0 55.0 20.0 1.19434011949e-15 1.0 0 0.872664625997 -75 42.5 42.5 0.2 -757 1 1 0 48.7059047745 54.8296291314 21.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -758 1 1 0 47.8869086913 54.5315389352 21.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -759 1 1 0 47.1321178182 54.0957602214 21.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -760 1 1 0 46.4644660941 53.5355339059 21.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -761 1 1 0 45.9042397786 52.8678821818 21.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -762 1 1 0 45.4684610648 52.1130913087 21.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -763 1 1 0 45.1703708686 51.2940952255 21.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -764 1 1 0 45.0190265095 50.4357787137 21.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -765 1 1 0 45.0190265095 49.5642212863 21.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -766 1 1 0 45.1703708686 48.7059047745 21.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -767 1 1 0 45.4684610648 47.8869086913 21.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -768 1 1 0 45.9042397786 47.1321178182 21.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -769 1 1 0 46.4644660941 46.4644660941 21.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -770 1 1 0 47.1321178182 45.9042397786 21.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -771 1 1 0 47.8869086913 45.4684610648 21.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -772 1 1 0 48.7059047745 45.1703708686 21.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -773 1 1 0 49.5642212863 45.0190265095 21.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -774 1 1 0 50.4357787137 45.0190265095 21.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -775 1 1 0 51.2940952255 45.1703708686 21.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -776 1 1 0 52.1130913087 45.4684610648 21.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -777 1 1 0 52.8678821818 45.9042397786 21.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -778 1 1 0 53.5355339059 46.4644660941 21.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -779 1 1 0 54.0957602214 47.1321178182 21.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -780 1 1 0 54.5315389352 47.8869086913 21.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -781 1 1 0 54.8296291314 48.7059047745 21.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -782 1 1 0 54.9809734905 49.5642212863 21.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -783 1 1 0 54.9809734905 50.4357787137 21.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -784 1 1 0 54.8296291314 51.2940952255 21.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -785 1 1 0 54.5315389352 52.1130913087 21.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -786 1 1 0 54.0957602214 52.8678821818 21.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -787 1 1 0 53.5355339059 53.5355339059 21.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -788 1 1 0 52.8678821818 54.0957602214 21.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -789 1 1 0 52.1130913087 54.5315389352 21.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -790 1 1 0 51.2940952255 54.8296291314 21.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -791 1 1 0 50.4357787137 54.9809734905 21.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -792 1 1 0 49.5642212863 54.9809734905 21.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -793 1 1 0 48.2898992834 54.6984631039 22.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -794 1 1 0 47.5 54.3301270189 22.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -795 1 1 0 46.7860619516 53.8302222156 22.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -796 1 1 0 46.1697777844 53.2139380484 22.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -797 1 1 0 45.6698729811 52.5 22.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -798 1 1 0 45.3015368961 51.7101007166 22.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -799 1 1 0 45.0759612349 50.8682408883 22.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -800 1 1 0 45.0 50.0 22.0 -1.0 1.01064309961e-15 0 0.872664625997 -75 42.5 42.5 0.2 -801 1 1 0 45.0759612349 49.1317591117 22.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -802 1 1 0 45.3015368961 48.2898992834 22.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -803 1 1 0 45.6698729811 47.5 22.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -804 1 1 0 46.1697777844 46.7860619516 22.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -805 1 1 0 46.7860619516 46.1697777844 22.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -806 1 1 0 47.5 45.6698729811 22.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -807 1 1 0 48.2898992834 45.3015368961 22.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -808 1 1 0 49.1317591117 45.0759612349 22.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -809 1 1 0 50.0 45.0 22.0 -1.07187543957e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 -810 1 1 0 50.8682408883 45.0759612349 22.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -811 1 1 0 51.7101007166 45.3015368961 22.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -812 1 1 0 52.5 45.6698729811 22.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -813 1 1 0 53.2139380484 46.1697777844 22.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -814 1 1 0 53.8302222156 46.7860619516 22.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -815 1 1 0 54.3301270189 47.5 22.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -816 1 1 0 54.6984631039 48.2898992834 22.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -817 1 1 0 54.9240387651 49.1317591117 22.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -818 1 1 0 55.0 50.0 22.0 1.0 -2.02128619923e-15 0 0.872664625997 -75 42.5 42.5 0.2 -819 1 1 0 54.9240387651 50.8682408883 22.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -820 1 1 0 54.6984631039 51.7101007166 22.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -821 1 1 0 54.3301270189 52.5 22.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -822 1 1 0 53.8302222156 53.2139380484 22.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -823 1 1 0 53.2139380484 53.8302222156 22.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -824 1 1 0 52.5 54.3301270189 22.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -825 1 1 0 51.7101007166 54.6984631039 22.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -826 1 1 0 50.8682408883 54.9240387651 22.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -827 1 1 0 50.0 55.0 22.0 2.08251853919e-15 1.0 0 0.872664625997 -75 42.5 42.5 0.2 -828 1 1 0 49.1317591117 54.9240387651 22.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -829 1 1 0 47.8869086913 54.5315389352 23.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -830 1 1 0 47.1321178182 54.0957602214 23.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -831 1 1 0 46.4644660941 53.5355339059 23.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -832 1 1 0 45.9042397786 52.8678821818 23.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -833 1 1 0 45.4684610648 52.1130913087 23.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -834 1 1 0 45.1703708686 51.2940952255 23.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -835 1 1 0 45.0190265095 50.4357787137 23.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -836 1 1 0 45.0190265095 49.5642212863 23.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -837 1 1 0 45.1703708686 48.7059047745 23.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -838 1 1 0 45.4684610648 47.8869086913 23.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -839 1 1 0 45.9042397786 47.1321178182 23.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -840 1 1 0 46.4644660941 46.4644660941 23.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -841 1 1 0 47.1321178182 45.9042397786 23.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -842 1 1 0 47.8869086913 45.4684610648 23.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -843 1 1 0 48.7059047745 45.1703708686 23.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -844 1 1 0 49.5642212863 45.0190265095 23.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -845 1 1 0 50.4357787137 45.0190265095 23.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -846 1 1 0 51.2940952255 45.1703708686 23.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -847 1 1 0 52.1130913087 45.4684610648 23.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -848 1 1 0 52.8678821818 45.9042397786 23.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -849 1 1 0 53.5355339059 46.4644660941 23.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -850 1 1 0 54.0957602214 47.1321178182 23.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -851 1 1 0 54.5315389352 47.8869086913 23.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -852 1 1 0 54.8296291314 48.7059047745 23.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -853 1 1 0 54.9809734905 49.5642212863 23.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -854 1 1 0 54.9809734905 50.4357787137 23.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -855 1 1 0 54.8296291314 51.2940952255 23.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -856 1 1 0 54.5315389352 52.1130913087 23.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -857 1 1 0 54.0957602214 52.8678821818 23.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -858 1 1 0 53.5355339059 53.5355339059 23.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -859 1 1 0 52.8678821818 54.0957602214 23.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -860 1 1 0 52.1130913087 54.5315389352 23.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -861 1 1 0 51.2940952255 54.8296291314 23.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -862 1 1 0 50.4357787137 54.9809734905 23.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -863 1 1 0 49.5642212863 54.9809734905 23.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -864 1 1 0 48.7059047745 54.8296291314 23.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -865 1 1 0 47.5 54.3301270189 24.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -866 1 1 0 46.7860619516 53.8302222156 24.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -867 1 1 0 46.1697777844 53.2139380484 24.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -868 1 1 0 45.6698729811 52.5 24.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -869 1 1 0 45.3015368961 51.7101007166 24.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -870 1 1 0 45.0759612349 50.8682408883 24.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -871 1 1 0 45.0 50.0 24.0 -1.0 1.01064309961e-15 0 0.872664625997 -75 42.5 42.5 0.2 -872 1 1 0 45.0759612349 49.1317591117 24.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -873 1 1 0 45.3015368961 48.2898992834 24.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -874 1 1 0 45.6698729811 47.5 24.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -875 1 1 0 46.1697777844 46.7860619516 24.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -876 1 1 0 46.7860619516 46.1697777844 24.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -877 1 1 0 47.5 45.6698729811 24.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -878 1 1 0 48.2898992834 45.3015368961 24.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -879 1 1 0 49.1317591117 45.0759612349 24.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -880 1 1 0 50.0 45.0 24.0 -1.07187543957e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 -881 1 1 0 50.8682408883 45.0759612349 24.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -882 1 1 0 51.7101007166 45.3015368961 24.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -883 1 1 0 52.5 45.6698729811 24.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -884 1 1 0 53.2139380484 46.1697777844 24.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -885 1 1 0 53.8302222156 46.7860619516 24.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -886 1 1 0 54.3301270189 47.5 24.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -887 1 1 0 54.6984631039 48.2898992834 24.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -888 1 1 0 54.9240387651 49.1317591117 24.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -889 1 1 0 55.0 50.0 24.0 1.0 -2.02128619923e-15 0 0.872664625997 -75 42.5 42.5 0.2 -890 1 1 0 54.9240387651 50.8682408883 24.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -891 1 1 0 54.6984631039 51.7101007166 24.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -892 1 1 0 54.3301270189 52.5 24.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -893 1 1 0 53.8302222156 53.2139380484 24.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -894 1 1 0 53.2139380484 53.8302222156 24.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -895 1 1 0 52.5 54.3301270189 24.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -896 1 1 0 51.7101007166 54.6984631039 24.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -897 1 1 0 50.8682408883 54.9240387651 24.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -898 1 1 0 50.0 55.0 24.0 2.08251853919e-15 1.0 0 0.872664625997 -75 42.5 42.5 0.2 -899 1 1 0 49.1317591117 54.9240387651 24.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -900 1 1 0 48.2898992834 54.6984631039 24.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -901 1 1 0 47.1321178182 54.0957602214 25.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -902 1 1 0 46.4644660941 53.5355339059 25.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -903 1 1 0 45.9042397786 52.8678821818 25.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -904 1 1 0 45.4684610648 52.1130913087 25.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -905 1 1 0 45.1703708686 51.2940952255 25.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -906 1 1 0 45.0190265095 50.4357787137 25.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -907 1 1 0 45.0190265095 49.5642212863 25.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -908 1 1 0 45.1703708686 48.7059047745 25.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -909 1 1 0 45.4684610648 47.8869086913 25.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -910 1 1 0 45.9042397786 47.1321178182 25.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -911 1 1 0 46.4644660941 46.4644660941 25.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -912 1 1 0 47.1321178182 45.9042397786 25.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -913 1 1 0 47.8869086913 45.4684610648 25.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -914 1 1 0 48.7059047745 45.1703708686 25.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -915 1 1 0 49.5642212863 45.0190265095 25.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -916 1 1 0 50.4357787137 45.0190265095 25.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -917 1 1 0 51.2940952255 45.1703708686 25.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -918 1 1 0 52.1130913087 45.4684610648 25.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -919 1 1 0 52.8678821818 45.9042397786 25.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -920 1 1 0 53.5355339059 46.4644660941 25.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -921 1 1 0 54.0957602214 47.1321178182 25.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -922 1 1 0 54.5315389352 47.8869086913 25.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -923 1 1 0 54.8296291314 48.7059047745 25.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -924 1 1 0 54.9809734905 49.5642212863 25.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -925 1 1 0 54.9809734905 50.4357787137 25.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -926 1 1 0 54.8296291314 51.2940952255 25.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -927 1 1 0 54.5315389352 52.1130913087 25.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -928 1 1 0 54.0957602214 52.8678821818 25.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -929 1 1 0 53.5355339059 53.5355339059 25.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -930 1 1 0 52.8678821818 54.0957602214 25.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -931 1 1 0 52.1130913087 54.5315389352 25.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -932 1 1 0 51.2940952255 54.8296291314 25.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -933 1 1 0 50.4357787137 54.9809734905 25.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -934 1 1 0 49.5642212863 54.9809734905 25.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -935 1 1 0 48.7059047745 54.8296291314 25.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -936 1 1 0 47.8869086913 54.5315389352 25.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -937 1 1 0 46.7860619516 53.8302222156 26.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -938 1 1 0 46.1697777844 53.2139380484 26.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -939 1 1 0 45.6698729811 52.5 26.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -940 1 1 0 45.3015368961 51.7101007166 26.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -941 1 1 0 45.0759612349 50.8682408883 26.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -942 1 1 0 45.0 50.0 26.0 -1.0 1.45473230946e-15 0 0.872664625997 -75 42.5 42.5 0.2 -943 1 1 0 45.0759612349 49.1317591117 26.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -944 1 1 0 45.3015368961 48.2898992834 26.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -945 1 1 0 45.6698729811 47.5 26.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -946 1 1 0 46.1697777844 46.7860619516 26.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -947 1 1 0 46.7860619516 46.1697777844 26.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -948 1 1 0 47.5 45.6698729811 26.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -949 1 1 0 48.2898992834 45.3015368961 26.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -950 1 1 0 49.1317591117 45.0759612349 26.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -951 1 1 0 50.0 45.0 26.0 -1.96005385927e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 -952 1 1 0 50.8682408883 45.0759612349 26.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -953 1 1 0 51.7101007166 45.3015368961 26.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -954 1 1 0 52.5 45.6698729811 26.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -955 1 1 0 53.2139380484 46.1697777844 26.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -956 1 1 0 53.8302222156 46.7860619516 26.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -957 1 1 0 54.3301270189 47.5 26.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -958 1 1 0 54.6984631039 48.2898992834 26.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -959 1 1 0 54.9240387651 49.1317591117 26.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -960 1 1 0 55.0 50.0 26.0 1.0 -2.02128619923e-15 0 0.872664625997 -75 42.5 42.5 0.2 -961 1 1 0 54.9240387651 50.8682408883 26.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -962 1 1 0 54.6984631039 51.7101007166 26.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -963 1 1 0 54.3301270189 52.5 26.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -964 1 1 0 53.8302222156 53.2139380484 26.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -965 1 1 0 53.2139380484 53.8302222156 26.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -966 1 1 0 52.5 54.3301270189 26.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -967 1 1 0 51.7101007166 54.6984631039 26.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -968 1 1 0 50.8682408883 54.9240387651 26.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -969 1 1 0 50.0 55.0 26.0 2.08251853919e-15 1.0 0 0.872664625997 -75 42.5 42.5 0.2 -970 1 1 0 49.1317591117 54.9240387651 26.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -971 1 1 0 48.2898992834 54.6984631039 26.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -972 1 1 0 47.5 54.3301270189 26.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -973 1 1 0 46.4644660941 53.5355339059 27.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -974 1 1 0 45.9042397786 52.8678821818 27.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -975 1 1 0 45.4684610648 52.1130913087 27.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -976 1 1 0 45.1703708686 51.2940952255 27.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -977 1 1 0 45.0190265095 50.4357787137 27.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -978 1 1 0 45.0190265095 49.5642212863 27.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -979 1 1 0 45.1703708686 48.7059047745 27.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -980 1 1 0 45.4684610648 47.8869086913 27.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -981 1 1 0 45.9042397786 47.1321178182 27.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -982 1 1 0 46.4644660941 46.4644660941 27.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -983 1 1 0 47.1321178182 45.9042397786 27.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -984 1 1 0 47.8869086913 45.4684610648 27.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -985 1 1 0 48.7059047745 45.1703708686 27.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -986 1 1 0 49.5642212863 45.0190265095 27.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -987 1 1 0 50.4357787137 45.0190265095 27.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -988 1 1 0 51.2940952255 45.1703708686 27.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -989 1 1 0 52.1130913087 45.4684610648 27.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -990 1 1 0 52.8678821818 45.9042397786 27.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -991 1 1 0 53.5355339059 46.4644660941 27.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -992 1 1 0 54.0957602214 47.1321178182 27.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -993 1 1 0 54.5315389352 47.8869086913 27.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -994 1 1 0 54.8296291314 48.7059047745 27.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -995 1 1 0 54.9809734905 49.5642212863 27.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -996 1 1 0 54.9809734905 50.4357787137 27.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -997 1 1 0 54.8296291314 51.2940952255 27.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -998 1 1 0 54.5315389352 52.1130913087 27.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -999 1 1 0 54.0957602214 52.8678821818 27.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -1000 1 1 0 53.5355339059 53.5355339059 27.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -1001 1 1 0 52.8678821818 54.0957602214 27.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -1002 1 1 0 52.1130913087 54.5315389352 27.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -1003 1 1 0 51.2940952255 54.8296291314 27.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -1004 1 1 0 50.4357787137 54.9809734905 27.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -1005 1 1 0 49.5642212863 54.9809734905 27.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -1006 1 1 0 48.7059047745 54.8296291314 27.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -1007 1 1 0 47.8869086913 54.5315389352 27.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -1008 1 1 0 47.1321178182 54.0957602214 27.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -1009 1 1 0 46.1697777844 53.2139380484 28.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -1010 1 1 0 45.6698729811 52.5 28.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -1011 1 1 0 45.3015368961 51.7101007166 28.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -1012 1 1 0 45.0759612349 50.8682408883 28.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -1013 1 1 0 45.0 50.0 28.0 -1.0 1.45473230946e-15 0 0.872664625997 -75 42.5 42.5 0.2 -1014 1 1 0 45.0759612349 49.1317591117 28.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -1015 1 1 0 45.3015368961 48.2898992834 28.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -1016 1 1 0 45.6698729811 47.5 28.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -1017 1 1 0 46.1697777844 46.7860619516 28.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -1018 1 1 0 46.7860619516 46.1697777844 28.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -1019 1 1 0 47.5 45.6698729811 28.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -1020 1 1 0 48.2898992834 45.3015368961 28.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -1021 1 1 0 49.1317591117 45.0759612349 28.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -1022 1 1 0 50.0 45.0 28.0 -1.96005385927e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 -1023 1 1 0 50.8682408883 45.0759612349 28.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -1024 1 1 0 51.7101007166 45.3015368961 28.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -1025 1 1 0 52.5 45.6698729811 28.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -1026 1 1 0 53.2139380484 46.1697777844 28.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -1027 1 1 0 53.8302222156 46.7860619516 28.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -1028 1 1 0 54.3301270189 47.5 28.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -1029 1 1 0 54.6984631039 48.2898992834 28.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -1030 1 1 0 54.9240387651 49.1317591117 28.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -1031 1 1 0 55.0 50.0 28.0 1.0 -2.02128619923e-15 0 0.872664625997 -75 42.5 42.5 0.2 -1032 1 1 0 54.9240387651 50.8682408883 28.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -1033 1 1 0 54.6984631039 51.7101007166 28.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -1034 1 1 0 54.3301270189 52.5 28.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -1035 1 1 0 53.8302222156 53.2139380484 28.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -1036 1 1 0 53.2139380484 53.8302222156 28.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -1037 1 1 0 52.5 54.3301270189 28.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -1038 1 1 0 51.7101007166 54.6984631039 28.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -1039 1 1 0 50.8682408883 54.9240387651 28.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -1040 1 1 0 50.0 55.0 28.0 2.08251853919e-15 1.0 0 0.872664625997 -75 42.5 42.5 0.2 -1041 1 1 0 49.1317591117 54.9240387651 28.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -1042 1 1 0 48.2898992834 54.6984631039 28.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -1043 1 1 0 47.5 54.3301270189 28.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -1044 1 1 0 46.7860619516 53.8302222156 28.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -1045 1 1 0 45.9042397786 52.8678821818 29.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -1046 1 1 0 45.4684610648 52.1130913087 29.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -1047 1 1 0 45.1703708686 51.2940952255 29.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -1048 1 1 0 45.0190265095 50.4357787137 29.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -1049 1 1 0 45.0190265095 49.5642212863 29.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -1050 1 1 0 45.1703708686 48.7059047745 29.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -1051 1 1 0 45.4684610648 47.8869086913 29.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -1052 1 1 0 45.9042397786 47.1321178182 29.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -1053 1 1 0 46.4644660941 46.4644660941 29.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -1054 1 1 0 47.1321178182 45.9042397786 29.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -1055 1 1 0 47.8869086913 45.4684610648 29.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -1056 1 1 0 48.7059047745 45.1703708686 29.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -1057 1 1 0 49.5642212863 45.0190265095 29.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -1058 1 1 0 50.4357787137 45.0190265095 29.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -1059 1 1 0 51.2940952255 45.1703708686 29.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -1060 1 1 0 52.1130913087 45.4684610648 29.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -1061 1 1 0 52.8678821818 45.9042397786 29.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -1062 1 1 0 53.5355339059 46.4644660941 29.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -1063 1 1 0 54.0957602214 47.1321178182 29.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -1064 1 1 0 54.5315389352 47.8869086913 29.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -1065 1 1 0 54.8296291314 48.7059047745 29.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -1066 1 1 0 54.9809734905 49.5642212863 29.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -1067 1 1 0 54.9809734905 50.4357787137 29.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -1068 1 1 0 54.8296291314 51.2940952255 29.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -1069 1 1 0 54.5315389352 52.1130913087 29.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -1070 1 1 0 54.0957602214 52.8678821818 29.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -1071 1 1 0 53.5355339059 53.5355339059 29.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -1072 1 1 0 52.8678821818 54.0957602214 29.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -1073 1 1 0 52.1130913087 54.5315389352 29.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -1074 1 1 0 51.2940952255 54.8296291314 29.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -1075 1 1 0 50.4357787137 54.9809734905 29.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -1076 1 1 0 49.5642212863 54.9809734905 29.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -1077 1 1 0 48.7059047745 54.8296291314 29.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -1078 1 1 0 47.8869086913 54.5315389352 29.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -1079 1 1 0 47.1321178182 54.0957602214 29.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -1080 1 1 0 46.4644660941 53.5355339059 29.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -1081 1 1 0 45.6698729811 52.5 30.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -1082 1 1 0 45.3015368961 51.7101007166 30.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -1083 1 1 0 45.0759612349 50.8682408883 30.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -1084 1 1 0 45.0 50.0 30.0 -1.0 1.89882151931e-15 0 0.872664625997 -75 42.5 42.5 0.2 -1085 1 1 0 45.0759612349 49.1317591117 30.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -1086 1 1 0 45.3015368961 48.2898992834 30.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -1087 1 1 0 45.6698729811 47.5 30.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -1088 1 1 0 46.1697777844 46.7860619516 30.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -1089 1 1 0 46.7860619516 46.1697777844 30.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -1090 1 1 0 47.5 45.6698729811 30.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -1091 1 1 0 48.2898992834 45.3015368961 30.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -1092 1 1 0 49.1317591117 45.0759612349 30.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -1093 1 1 0 50.0 45.0 30.0 -1.96005385927e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 -1094 1 1 0 50.8682408883 45.0759612349 30.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -1095 1 1 0 51.7101007166 45.3015368961 30.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -1096 1 1 0 52.5 45.6698729811 30.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -1097 1 1 0 53.2139380484 46.1697777844 30.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -1098 1 1 0 53.8302222156 46.7860619516 30.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -1099 1 1 0 54.3301270189 47.5 30.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -1100 1 1 0 54.6984631039 48.2898992834 30.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -1101 1 1 0 54.9240387651 49.1317591117 30.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -1102 1 1 0 55.0 50.0 30.0 1.0 -2.02128619923e-15 0 0.872664625997 -75 42.5 42.5 0.2 -1103 1 1 0 54.9240387651 50.8682408883 30.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -1104 1 1 0 54.6984631039 51.7101007166 30.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -1105 1 1 0 54.3301270189 52.5 30.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -1106 1 1 0 53.8302222156 53.2139380484 30.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -1107 1 1 0 53.2139380484 53.8302222156 30.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -1108 1 1 0 52.5 54.3301270189 30.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -1109 1 1 0 51.7101007166 54.6984631039 30.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -1110 1 1 0 50.8682408883 54.9240387651 30.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -1111 1 1 0 50.0 55.0 30.0 2.08251853919e-15 1.0 0 0.872664625997 -75 42.5 42.5 0.2 -1112 1 1 0 49.1317591117 54.9240387651 30.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -1113 1 1 0 48.2898992834 54.6984631039 30.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -1114 1 1 0 47.5 54.3301270189 30.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -1115 1 1 0 46.7860619516 53.8302222156 30.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -1116 1 1 0 46.1697777844 53.2139380484 30.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -1117 1 1 0 45.4684610648 52.1130913087 31.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -1118 1 1 0 45.1703708686 51.2940952255 31.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -1119 1 1 0 45.0190265095 50.4357787137 31.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -1120 1 1 0 45.0190265095 49.5642212863 31.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -1121 1 1 0 45.1703708686 48.7059047745 31.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -1122 1 1 0 45.4684610648 47.8869086913 31.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -1123 1 1 0 45.9042397786 47.1321178182 31.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -1124 1 1 0 46.4644660941 46.4644660941 31.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -1125 1 1 0 47.1321178182 45.9042397786 31.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -1126 1 1 0 47.8869086913 45.4684610648 31.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -1127 1 1 0 48.7059047745 45.1703708686 31.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -1128 1 1 0 49.5642212863 45.0190265095 31.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -1129 1 1 0 50.4357787137 45.0190265095 31.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -1130 1 1 0 51.2940952255 45.1703708686 31.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -1131 1 1 0 52.1130913087 45.4684610648 31.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -1132 1 1 0 52.8678821818 45.9042397786 31.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -1133 1 1 0 53.5355339059 46.4644660941 31.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -1134 1 1 0 54.0957602214 47.1321178182 31.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -1135 1 1 0 54.5315389352 47.8869086913 31.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -1136 1 1 0 54.8296291314 48.7059047745 31.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -1137 1 1 0 54.9809734905 49.5642212863 31.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -1138 1 1 0 54.9809734905 50.4357787137 31.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -1139 1 1 0 54.8296291314 51.2940952255 31.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -1140 1 1 0 54.5315389352 52.1130913087 31.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -1141 1 1 0 54.0957602214 52.8678821818 31.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -1142 1 1 0 53.5355339059 53.5355339059 31.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -1143 1 1 0 52.8678821818 54.0957602214 31.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -1144 1 1 0 52.1130913087 54.5315389352 31.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -1145 1 1 0 51.2940952255 54.8296291314 31.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -1146 1 1 0 50.4357787137 54.9809734905 31.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -1147 1 1 0 49.5642212863 54.9809734905 31.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -1148 1 1 0 48.7059047745 54.8296291314 31.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -1149 1 1 0 47.8869086913 54.5315389352 31.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -1150 1 1 0 47.1321178182 54.0957602214 31.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -1151 1 1 0 46.4644660941 53.5355339059 31.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -1152 1 1 0 45.9042397786 52.8678821818 31.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -1153 1 1 0 45.3015368961 51.7101007166 32.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -1154 1 1 0 45.0759612349 50.8682408883 32.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -1155 1 1 0 45.0 50.0 32.0 -1.0 1.89882151931e-15 0 0.872664625997 -75 42.5 42.5 0.2 -1156 1 1 0 45.0759612349 49.1317591117 32.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -1157 1 1 0 45.3015368961 48.2898992834 32.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -1158 1 1 0 45.6698729811 47.5 32.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -1159 1 1 0 46.1697777844 46.7860619516 32.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -1160 1 1 0 46.7860619516 46.1697777844 32.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -1161 1 1 0 47.5 45.6698729811 32.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -1162 1 1 0 48.2898992834 45.3015368961 32.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -1163 1 1 0 49.1317591117 45.0759612349 32.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -1164 1 1 0 50.0 45.0 32.0 -1.96005385927e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 -1165 1 1 0 50.8682408883 45.0759612349 32.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -1166 1 1 0 51.7101007166 45.3015368961 32.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -1167 1 1 0 52.5 45.6698729811 32.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -1168 1 1 0 53.2139380484 46.1697777844 32.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -1169 1 1 0 53.8302222156 46.7860619516 32.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -1170 1 1 0 54.3301270189 47.5 32.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -1171 1 1 0 54.6984631039 48.2898992834 32.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -1172 1 1 0 54.9240387651 49.1317591117 32.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -1173 1 1 0 55.0 50.0 32.0 1.0 -2.02128619923e-15 0 0.872664625997 -75 42.5 42.5 0.2 -1174 1 1 0 54.9240387651 50.8682408883 32.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -1175 1 1 0 54.6984631039 51.7101007166 32.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -1176 1 1 0 54.3301270189 52.5 32.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -1177 1 1 0 53.8302222156 53.2139380484 32.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -1178 1 1 0 53.2139380484 53.8302222156 32.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -1179 1 1 0 52.5 54.3301270189 32.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -1180 1 1 0 51.7101007166 54.6984631039 32.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -1181 1 1 0 50.8682408883 54.9240387651 32.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -1182 1 1 0 50.0 55.0 32.0 2.08251853919e-15 1.0 0 0.872664625997 -75 42.5 42.5 0.2 -1183 1 1 0 49.1317591117 54.9240387651 32.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -1184 1 1 0 48.2898992834 54.6984631039 32.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -1185 1 1 0 47.5 54.3301270189 32.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -1186 1 1 0 46.7860619516 53.8302222156 32.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -1187 1 1 0 46.1697777844 53.2139380484 32.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -1188 1 1 0 45.6698729811 52.5 32.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -1189 1 1 0 45.1703708686 51.2940952255 33.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -1190 1 1 0 45.0190265095 50.4357787137 33.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -1191 1 1 0 45.0190265095 49.5642212863 33.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -1192 1 1 0 45.1703708686 48.7059047745 33.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -1193 1 1 0 45.4684610648 47.8869086913 33.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -1194 1 1 0 45.9042397786 47.1321178182 33.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -1195 1 1 0 46.4644660941 46.4644660941 33.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -1196 1 1 0 47.1321178182 45.9042397786 33.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -1197 1 1 0 47.8869086913 45.4684610648 33.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -1198 1 1 0 48.7059047745 45.1703708686 33.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -1199 1 1 0 49.5642212863 45.0190265095 33.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -1200 1 1 0 50.4357787137 45.0190265095 33.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -1201 1 1 0 51.2940952255 45.1703708686 33.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -1202 1 1 0 52.1130913087 45.4684610648 33.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -1203 1 1 0 52.8678821818 45.9042397786 33.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -1204 1 1 0 53.5355339059 46.4644660941 33.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -1205 1 1 0 54.0957602214 47.1321178182 33.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -1206 1 1 0 54.5315389352 47.8869086913 33.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -1207 1 1 0 54.8296291314 48.7059047745 33.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -1208 1 1 0 54.9809734905 49.5642212863 33.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -1209 1 1 0 54.9809734905 50.4357787137 33.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -1210 1 1 0 54.8296291314 51.2940952255 33.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -1211 1 1 0 54.5315389352 52.1130913087 33.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -1212 1 1 0 54.0957602214 52.8678821818 33.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -1213 1 1 0 53.5355339059 53.5355339059 33.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -1214 1 1 0 52.8678821818 54.0957602214 33.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -1215 1 1 0 52.1130913087 54.5315389352 33.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -1216 1 1 0 51.2940952255 54.8296291314 33.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -1217 1 1 0 50.4357787137 54.9809734905 33.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -1218 1 1 0 49.5642212863 54.9809734905 33.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -1219 1 1 0 48.7059047745 54.8296291314 33.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -1220 1 1 0 47.8869086913 54.5315389352 33.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -1221 1 1 0 47.1321178182 54.0957602214 33.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -1222 1 1 0 46.4644660941 53.5355339059 33.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -1223 1 1 0 45.9042397786 52.8678821818 33.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -1224 1 1 0 45.4684610648 52.1130913087 33.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -1225 1 1 0 45.0759612349 50.8682408883 34.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -1226 1 1 0 45.0 50.0 34.0 -1.0 2.34291072917e-15 0 0.872664625997 -75 42.5 42.5 0.2 -1227 1 1 0 45.0759612349 49.1317591117 34.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -1228 1 1 0 45.3015368961 48.2898992834 34.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -1229 1 1 0 45.6698729811 47.5 34.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -1230 1 1 0 46.1697777844 46.7860619516 34.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -1231 1 1 0 46.7860619516 46.1697777844 34.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -1232 1 1 0 47.5 45.6698729811 34.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -1233 1 1 0 48.2898992834 45.3015368961 34.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -1234 1 1 0 49.1317591117 45.0759612349 34.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -1235 1 1 0 50.0 45.0 34.0 -1.96005385927e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 -1236 1 1 0 50.8682408883 45.0759612349 34.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -1237 1 1 0 51.7101007166 45.3015368961 34.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -1238 1 1 0 52.5 45.6698729811 34.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -1239 1 1 0 53.2139380484 46.1697777844 34.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -1240 1 1 0 53.8302222156 46.7860619516 34.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -1241 1 1 0 54.3301270189 47.5 34.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -1242 1 1 0 54.6984631039 48.2898992834 34.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -1243 1 1 0 54.9240387651 49.1317591117 34.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -1244 1 1 0 55.0 50.0 34.0 1.0 -2.02128619923e-15 0 0.872664625997 -75 42.5 42.5 0.2 -1245 1 1 0 54.9240387651 50.8682408883 34.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -1246 1 1 0 54.6984631039 51.7101007166 34.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -1247 1 1 0 54.3301270189 52.5 34.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -1248 1 1 0 53.8302222156 53.2139380484 34.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -1249 1 1 0 53.2139380484 53.8302222156 34.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -1250 1 1 0 52.5 54.3301270189 34.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -1251 1 1 0 51.7101007166 54.6984631039 34.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -1252 1 1 0 50.8682408883 54.9240387651 34.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -1253 1 1 0 50.0 55.0 34.0 2.08251853919e-15 1.0 0 0.872664625997 -75 42.5 42.5 0.2 -1254 1 1 0 49.1317591117 54.9240387651 34.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -1255 1 1 0 48.2898992834 54.6984631039 34.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -1256 1 1 0 47.5 54.3301270189 34.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -1257 1 1 0 46.7860619516 53.8302222156 34.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -1258 1 1 0 46.1697777844 53.2139380484 34.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -1259 1 1 0 45.6698729811 52.5 34.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -1260 1 1 0 45.3015368961 51.7101007166 34.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -1261 1 1 0 45.0190265095 50.4357787137 35.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -1262 1 1 0 45.0190265095 49.5642212863 35.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -1263 1 1 0 45.1703708686 48.7059047745 35.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -1264 1 1 0 45.4684610648 47.8869086913 35.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -1265 1 1 0 45.9042397786 47.1321178182 35.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -1266 1 1 0 46.4644660941 46.4644660941 35.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -1267 1 1 0 47.1321178182 45.9042397786 35.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -1268 1 1 0 47.8869086913 45.4684610648 35.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -1269 1 1 0 48.7059047745 45.1703708686 35.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -1270 1 1 0 49.5642212863 45.0190265095 35.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -1271 1 1 0 50.4357787137 45.0190265095 35.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -1272 1 1 0 51.2940952255 45.1703708686 35.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -1273 1 1 0 52.1130913087 45.4684610648 35.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -1274 1 1 0 52.8678821818 45.9042397786 35.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -1275 1 1 0 53.5355339059 46.4644660941 35.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -1276 1 1 0 54.0957602214 47.1321178182 35.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -1277 1 1 0 54.5315389352 47.8869086913 35.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -1278 1 1 0 54.8296291314 48.7059047745 35.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -1279 1 1 0 54.9809734905 49.5642212863 35.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -1280 1 1 0 54.9809734905 50.4357787137 35.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -1281 1 1 0 54.8296291314 51.2940952255 35.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -1282 1 1 0 54.5315389352 52.1130913087 35.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -1283 1 1 0 54.0957602214 52.8678821818 35.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -1284 1 1 0 53.5355339059 53.5355339059 35.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -1285 1 1 0 52.8678821818 54.0957602214 35.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -1286 1 1 0 52.1130913087 54.5315389352 35.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -1287 1 1 0 51.2940952255 54.8296291314 35.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -1288 1 1 0 50.4357787137 54.9809734905 35.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -1289 1 1 0 49.5642212863 54.9809734905 35.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -1290 1 1 0 48.7059047745 54.8296291314 35.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -1291 1 1 0 47.8869086913 54.5315389352 35.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -1292 1 1 0 47.1321178182 54.0957602214 35.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -1293 1 1 0 46.4644660941 53.5355339059 35.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -1294 1 1 0 45.9042397786 52.8678821818 35.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -1295 1 1 0 45.4684610648 52.1130913087 35.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -1296 1 1 0 45.1703708686 51.2940952255 35.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -1297 1 1 0 45.0 50.0 36.0 -1.0 2.34291072917e-15 0 0.872664625997 -75 42.5 42.5 0.2 -1298 1 1 0 45.0759612349 49.1317591117 36.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -1299 1 1 0 45.3015368961 48.2898992834 36.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -1300 1 1 0 45.6698729811 47.5 36.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -1301 1 1 0 46.1697777844 46.7860619516 36.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -1302 1 1 0 46.7860619516 46.1697777844 36.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -1303 1 1 0 47.5 45.6698729811 36.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -1304 1 1 0 48.2898992834 45.3015368961 36.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -1305 1 1 0 49.1317591117 45.0759612349 36.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -1306 1 1 0 50.0 45.0 36.0 -1.96005385927e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 -1307 1 1 0 50.8682408883 45.0759612349 36.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -1308 1 1 0 51.7101007166 45.3015368961 36.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -1309 1 1 0 52.5 45.6698729811 36.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -1310 1 1 0 53.2139380484 46.1697777844 36.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -1311 1 1 0 53.8302222156 46.7860619516 36.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -1312 1 1 0 54.3301270189 47.5 36.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -1313 1 1 0 54.6984631039 48.2898992834 36.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -1314 1 1 0 54.9240387651 49.1317591117 36.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -1315 1 1 0 55.0 50.0 36.0 1.0 -2.02128619923e-15 0 0.872664625997 -75 42.5 42.5 0.2 -1316 1 1 0 54.9240387651 50.8682408883 36.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -1317 1 1 0 54.6984631039 51.7101007166 36.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -1318 1 1 0 54.3301270189 52.5 36.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -1319 1 1 0 53.8302222156 53.2139380484 36.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -1320 1 1 0 53.2139380484 53.8302222156 36.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -1321 1 1 0 52.5 54.3301270189 36.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -1322 1 1 0 51.7101007166 54.6984631039 36.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -1323 1 1 0 50.8682408883 54.9240387651 36.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -1324 1 1 0 50.0 55.0 36.0 2.08251853919e-15 1.0 0 0.872664625997 -75 42.5 42.5 0.2 -1325 1 1 0 49.1317591117 54.9240387651 36.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -1326 1 1 0 48.2898992834 54.6984631039 36.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -1327 1 1 0 47.5 54.3301270189 36.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -1328 1 1 0 46.7860619516 53.8302222156 36.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -1329 1 1 0 46.1697777844 53.2139380484 36.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -1330 1 1 0 45.6698729811 52.5 36.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -1331 1 1 0 45.3015368961 51.7101007166 36.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -1332 1 1 0 45.0759612349 50.8682408883 36.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -1333 1 1 0 45.0190265095 49.5642212863 37.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -1334 1 1 0 45.1703708686 48.7059047745 37.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -1335 1 1 0 45.4684610648 47.8869086913 37.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -1336 1 1 0 45.9042397786 47.1321178182 37.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -1337 1 1 0 46.4644660941 46.4644660941 37.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -1338 1 1 0 47.1321178182 45.9042397786 37.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -1339 1 1 0 47.8869086913 45.4684610648 37.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -1340 1 1 0 48.7059047745 45.1703708686 37.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -1341 1 1 0 49.5642212863 45.0190265095 37.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -1342 1 1 0 50.4357787137 45.0190265095 37.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -1343 1 1 0 51.2940952255 45.1703708686 37.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -1344 1 1 0 52.1130913087 45.4684610648 37.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -1345 1 1 0 52.8678821818 45.9042397786 37.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -1346 1 1 0 53.5355339059 46.4644660941 37.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -1347 1 1 0 54.0957602214 47.1321178182 37.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -1348 1 1 0 54.5315389352 47.8869086913 37.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -1349 1 1 0 54.8296291314 48.7059047745 37.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -1350 1 1 0 54.9809734905 49.5642212863 37.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -1351 1 1 0 54.9809734905 50.4357787137 37.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -1352 1 1 0 54.8296291314 51.2940952255 37.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -1353 1 1 0 54.5315389352 52.1130913087 37.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -1354 1 1 0 54.0957602214 52.8678821818 37.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -1355 1 1 0 53.5355339059 53.5355339059 37.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -1356 1 1 0 52.8678821818 54.0957602214 37.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -1357 1 1 0 52.1130913087 54.5315389352 37.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -1358 1 1 0 51.2940952255 54.8296291314 37.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -1359 1 1 0 50.4357787137 54.9809734905 37.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -1360 1 1 0 49.5642212863 54.9809734905 37.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -1361 1 1 0 48.7059047745 54.8296291314 37.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -1362 1 1 0 47.8869086913 54.5315389352 37.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -1363 1 1 0 47.1321178182 54.0957602214 37.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -1364 1 1 0 46.4644660941 53.5355339059 37.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -1365 1 1 0 45.9042397786 52.8678821818 37.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -1366 1 1 0 45.4684610648 52.1130913087 37.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -1367 1 1 0 45.1703708686 51.2940952255 37.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -1368 1 1 0 45.0190265095 50.4357787137 37.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -1369 1 1 0 45.0759612349 49.1317591117 38.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -1370 1 1 0 45.3015368961 48.2898992834 38.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -1371 1 1 0 45.6698729811 47.5 38.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -1372 1 1 0 46.1697777844 46.7860619516 38.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -1373 1 1 0 46.7860619516 46.1697777844 38.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -1374 1 1 0 47.5 45.6698729811 38.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -1375 1 1 0 48.2898992834 45.3015368961 38.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -1376 1 1 0 49.1317591117 45.0759612349 38.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -1377 1 1 0 50.0 45.0 38.0 -2.84823227897e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 -1378 1 1 0 50.8682408883 45.0759612349 38.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -1379 1 1 0 51.7101007166 45.3015368961 38.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -1380 1 1 0 52.5 45.6698729811 38.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -1381 1 1 0 53.2139380484 46.1697777844 38.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -1382 1 1 0 53.8302222156 46.7860619516 38.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -1383 1 1 0 54.3301270189 47.5 38.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -1384 1 1 0 54.6984631039 48.2898992834 38.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -1385 1 1 0 54.9240387651 49.1317591117 38.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -1386 1 1 0 55.0 50.0 38.0 1.0 -2.90946461893e-15 0 0.872664625997 -75 42.5 42.5 0.2 -1387 1 1 0 54.9240387651 50.8682408883 38.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -1388 1 1 0 54.6984631039 51.7101007166 38.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -1389 1 1 0 54.3301270189 52.5 38.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -1390 1 1 0 53.8302222156 53.2139380484 38.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -1391 1 1 0 53.2139380484 53.8302222156 38.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -1392 1 1 0 52.5 54.3301270189 38.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -1393 1 1 0 51.7101007166 54.6984631039 38.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -1394 1 1 0 50.8682408883 54.9240387651 38.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -1395 1 1 0 50.0 55.0 38.0 2.08251853919e-15 1.0 0 0.872664625997 -75 42.5 42.5 0.2 -1396 1 1 0 49.1317591117 54.9240387651 38.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -1397 1 1 0 48.2898992834 54.6984631039 38.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -1398 1 1 0 47.5 54.3301270189 38.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -1399 1 1 0 46.7860619516 53.8302222156 38.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -1400 1 1 0 46.1697777844 53.2139380484 38.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -1401 1 1 0 45.6698729811 52.5 38.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -1402 1 1 0 45.3015368961 51.7101007166 38.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -1403 1 1 0 45.0759612349 50.8682408883 38.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -1404 1 1 0 45.0 50.0 38.0 -1.0 2.14375087914e-15 0 0.872664625997 -75 42.5 42.5 0.2 -1405 1 1 0 45.1703708686 48.7059047745 39.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -1406 1 1 0 45.4684610648 47.8869086913 39.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -1407 1 1 0 45.9042397786 47.1321178182 39.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -1408 1 1 0 46.4644660941 46.4644660941 39.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -1409 1 1 0 47.1321178182 45.9042397786 39.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -1410 1 1 0 47.8869086913 45.4684610648 39.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -1411 1 1 0 48.7059047745 45.1703708686 39.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -1412 1 1 0 49.5642212863 45.0190265095 39.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -1413 1 1 0 50.4357787137 45.0190265095 39.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -1414 1 1 0 51.2940952255 45.1703708686 39.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -1415 1 1 0 52.1130913087 45.4684610648 39.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -1416 1 1 0 52.8678821818 45.9042397786 39.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -1417 1 1 0 53.5355339059 46.4644660941 39.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -1418 1 1 0 54.0957602214 47.1321178182 39.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -1419 1 1 0 54.5315389352 47.8869086913 39.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -1420 1 1 0 54.8296291314 48.7059047745 39.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -1421 1 1 0 54.9809734905 49.5642212863 39.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -1422 1 1 0 54.9809734905 50.4357787137 39.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -1423 1 1 0 54.8296291314 51.2940952255 39.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -1424 1 1 0 54.5315389352 52.1130913087 39.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -1425 1 1 0 54.0957602214 52.8678821818 39.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -1426 1 1 0 53.5355339059 53.5355339059 39.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -1427 1 1 0 52.8678821818 54.0957602214 39.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -1428 1 1 0 52.1130913087 54.5315389352 39.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -1429 1 1 0 51.2940952255 54.8296291314 39.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -1430 1 1 0 50.4357787137 54.9809734905 39.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -1431 1 1 0 49.5642212863 54.9809734905 39.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -1432 1 1 0 48.7059047745 54.8296291314 39.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -1433 1 1 0 47.8869086913 54.5315389352 39.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -1434 1 1 0 47.1321178182 54.0957602214 39.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -1435 1 1 0 46.4644660941 53.5355339059 39.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -1436 1 1 0 45.9042397786 52.8678821818 39.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -1437 1 1 0 45.4684610648 52.1130913087 39.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -1438 1 1 0 45.1703708686 51.2940952255 39.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -1439 1 1 0 45.0190265095 50.4357787137 39.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -1440 1 1 0 45.0190265095 49.5642212863 39.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -1441 1 1 0 45.3015368961 48.2898992834 40.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -1442 1 1 0 45.6698729811 47.5 40.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -1443 1 1 0 46.1697777844 46.7860619516 40.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -1444 1 1 0 46.7860619516 46.1697777844 40.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -1445 1 1 0 47.5 45.6698729811 40.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -1446 1 1 0 48.2898992834 45.3015368961 40.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -1447 1 1 0 49.1317591117 45.0759612349 40.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -1448 1 1 0 50.0 45.0 40.0 -2.84823227897e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 -1449 1 1 0 50.8682408883 45.0759612349 40.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -1450 1 1 0 51.7101007166 45.3015368961 40.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -1451 1 1 0 52.5 45.6698729811 40.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -1452 1 1 0 53.2139380484 46.1697777844 40.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -1453 1 1 0 53.8302222156 46.7860619516 40.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -1454 1 1 0 54.3301270189 47.5 40.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -1455 1 1 0 54.6984631039 48.2898992834 40.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -1456 1 1 0 54.9240387651 49.1317591117 40.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -1457 1 1 0 55.0 50.0 40.0 1.0 -2.90946461893e-15 0 0.872664625997 -75 42.5 42.5 0.2 -1458 1 1 0 54.9240387651 50.8682408883 40.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -1459 1 1 0 54.6984631039 51.7101007166 40.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -1460 1 1 0 54.3301270189 52.5 40.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -1461 1 1 0 53.8302222156 53.2139380484 40.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -1462 1 1 0 53.2139380484 53.8302222156 40.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -1463 1 1 0 52.5 54.3301270189 40.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -1464 1 1 0 51.7101007166 54.6984631039 40.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -1465 1 1 0 50.8682408883 54.9240387651 40.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -1466 1 1 0 50.0 55.0 40.0 3.85887537859e-15 1.0 0 0.872664625997 -75 42.5 42.5 0.2 -1467 1 1 0 49.1317591117 54.9240387651 40.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -1468 1 1 0 48.2898992834 54.6984631039 40.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -1469 1 1 0 47.5 54.3301270189 40.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -1470 1 1 0 46.7860619516 53.8302222156 40.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -1471 1 1 0 46.1697777844 53.2139380484 40.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -1472 1 1 0 45.6698729811 52.5 40.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -1473 1 1 0 45.3015368961 51.7101007166 40.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -1474 1 1 0 45.0759612349 50.8682408883 40.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -1475 1 1 0 45.0 50.0 40.0 -1.0 3.92010771854e-15 0 0.872664625997 -75 42.5 42.5 0.2 -1476 1 1 0 45.0759612349 49.1317591117 40.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -1477 1 1 0 45.4684610648 47.8869086913 41.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -1478 1 1 0 45.9042397786 47.1321178182 41.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -1479 1 1 0 46.4644660941 46.4644660941 41.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -1480 1 1 0 47.1321178182 45.9042397786 41.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -1481 1 1 0 47.8869086913 45.4684610648 41.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -1482 1 1 0 48.7059047745 45.1703708686 41.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -1483 1 1 0 49.5642212863 45.0190265095 41.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -1484 1 1 0 50.4357787137 45.0190265095 41.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -1485 1 1 0 51.2940952255 45.1703708686 41.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -1486 1 1 0 52.1130913087 45.4684610648 41.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -1487 1 1 0 52.8678821818 45.9042397786 41.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -1488 1 1 0 53.5355339059 46.4644660941 41.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -1489 1 1 0 54.0957602214 47.1321178182 41.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -1490 1 1 0 54.5315389352 47.8869086913 41.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -1491 1 1 0 54.8296291314 48.7059047745 41.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -1492 1 1 0 54.9809734905 49.5642212863 41.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -1493 1 1 0 54.9809734905 50.4357787137 41.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -1494 1 1 0 54.8296291314 51.2940952255 41.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -1495 1 1 0 54.5315389352 52.1130913087 41.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -1496 1 1 0 54.0957602214 52.8678821818 41.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -1497 1 1 0 53.5355339059 53.5355339059 41.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -1498 1 1 0 52.8678821818 54.0957602214 41.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -1499 1 1 0 52.1130913087 54.5315389352 41.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -1500 1 1 0 51.2940952255 54.8296291314 41.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -1501 1 1 0 50.4357787137 54.9809734905 41.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -1502 1 1 0 49.5642212863 54.9809734905 41.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -1503 1 1 0 48.7059047745 54.8296291314 41.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -1504 1 1 0 47.8869086913 54.5315389352 41.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -1505 1 1 0 47.1321178182 54.0957602214 41.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -1506 1 1 0 46.4644660941 53.5355339059 41.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -1507 1 1 0 45.9042397786 52.8678821818 41.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -1508 1 1 0 45.4684610648 52.1130913087 41.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -1509 1 1 0 45.1703708686 51.2940952255 41.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -1510 1 1 0 45.0190265095 50.4357787137 41.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -1511 1 1 0 45.0190265095 49.5642212863 41.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -1512 1 1 0 45.1703708686 48.7059047745 41.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -1513 1 1 0 45.6698729811 47.5 42.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -1514 1 1 0 46.1697777844 46.7860619516 42.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -1515 1 1 0 46.7860619516 46.1697777844 42.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -1516 1 1 0 47.5 45.6698729811 42.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -1517 1 1 0 48.2898992834 45.3015368961 42.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -1518 1 1 0 49.1317591117 45.0759612349 42.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -1519 1 1 0 50.0 45.0 42.0 -2.84823227897e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 -1520 1 1 0 50.8682408883 45.0759612349 42.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -1521 1 1 0 51.7101007166 45.3015368961 42.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -1522 1 1 0 52.5 45.6698729811 42.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -1523 1 1 0 53.2139380484 46.1697777844 42.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -1524 1 1 0 53.8302222156 46.7860619516 42.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -1525 1 1 0 54.3301270189 47.5 42.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -1526 1 1 0 54.6984631039 48.2898992834 42.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -1527 1 1 0 54.9240387651 49.1317591117 42.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -1528 1 1 0 55.0 50.0 42.0 1.0 -2.90946461893e-15 0 0.872664625997 -75 42.5 42.5 0.2 -1529 1 1 0 54.9240387651 50.8682408883 42.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -1530 1 1 0 54.6984631039 51.7101007166 42.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -1531 1 1 0 54.3301270189 52.5 42.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -1532 1 1 0 53.8302222156 53.2139380484 42.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -1533 1 1 0 53.2139380484 53.8302222156 42.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -1534 1 1 0 52.5 54.3301270189 42.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -1535 1 1 0 51.7101007166 54.6984631039 42.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -1536 1 1 0 50.8682408883 54.9240387651 42.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -1537 1 1 0 50.0 55.0 42.0 3.85887537859e-15 1.0 0 0.872664625997 -75 42.5 42.5 0.2 -1538 1 1 0 49.1317591117 54.9240387651 42.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -1539 1 1 0 48.2898992834 54.6984631039 42.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -1540 1 1 0 47.5 54.3301270189 42.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -1541 1 1 0 46.7860619516 53.8302222156 42.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -1542 1 1 0 46.1697777844 53.2139380484 42.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -1543 1 1 0 45.6698729811 52.5 42.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -1544 1 1 0 45.3015368961 51.7101007166 42.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -1545 1 1 0 45.0759612349 50.8682408883 42.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -1546 1 1 0 45.0 50.0 42.0 -1.0 3.92010771854e-15 0 0.872664625997 -75 42.5 42.5 0.2 -1547 1 1 0 45.0759612349 49.1317591117 42.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -1548 1 1 0 45.3015368961 48.2898992834 42.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -1549 1 1 0 45.9042397786 47.1321178182 43.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -1550 1 1 0 46.4644660941 46.4644660941 43.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -1551 1 1 0 47.1321178182 45.9042397786 43.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -1552 1 1 0 47.8869086913 45.4684610648 43.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -1553 1 1 0 48.7059047745 45.1703708686 43.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -1554 1 1 0 49.5642212863 45.0190265095 43.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -1555 1 1 0 50.4357787137 45.0190265095 43.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -1556 1 1 0 51.2940952255 45.1703708686 43.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -1557 1 1 0 52.1130913087 45.4684610648 43.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -1558 1 1 0 52.8678821818 45.9042397786 43.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -1559 1 1 0 53.5355339059 46.4644660941 43.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -1560 1 1 0 54.0957602214 47.1321178182 43.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -1561 1 1 0 54.5315389352 47.8869086913 43.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -1562 1 1 0 54.8296291314 48.7059047745 43.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -1563 1 1 0 54.9809734905 49.5642212863 43.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -1564 1 1 0 54.9809734905 50.4357787137 43.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -1565 1 1 0 54.8296291314 51.2940952255 43.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -1566 1 1 0 54.5315389352 52.1130913087 43.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -1567 1 1 0 54.0957602214 52.8678821818 43.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -1568 1 1 0 53.5355339059 53.5355339059 43.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -1569 1 1 0 52.8678821818 54.0957602214 43.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -1570 1 1 0 52.1130913087 54.5315389352 43.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -1571 1 1 0 51.2940952255 54.8296291314 43.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -1572 1 1 0 50.4357787137 54.9809734905 43.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -1573 1 1 0 49.5642212863 54.9809734905 43.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -1574 1 1 0 48.7059047745 54.8296291314 43.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -1575 1 1 0 47.8869086913 54.5315389352 43.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -1576 1 1 0 47.1321178182 54.0957602214 43.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -1577 1 1 0 46.4644660941 53.5355339059 43.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -1578 1 1 0 45.9042397786 52.8678821818 43.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -1579 1 1 0 45.4684610648 52.1130913087 43.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -1580 1 1 0 45.1703708686 51.2940952255 43.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -1581 1 1 0 45.0190265095 50.4357787137 43.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -1582 1 1 0 45.0190265095 49.5642212863 43.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -1583 1 1 0 45.1703708686 48.7059047745 43.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -1584 1 1 0 45.4684610648 47.8869086913 43.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -1585 1 1 0 46.1697777844 46.7860619516 44.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -1586 1 1 0 46.7860619516 46.1697777844 44.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -1587 1 1 0 47.5 45.6698729811 44.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -1588 1 1 0 48.2898992834 45.3015368961 44.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -1589 1 1 0 49.1317591117 45.0759612349 44.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -1590 1 1 0 50.0 45.0 44.0 -2.84823227897e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 -1591 1 1 0 50.8682408883 45.0759612349 44.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -1592 1 1 0 51.7101007166 45.3015368961 44.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -1593 1 1 0 52.5 45.6698729811 44.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -1594 1 1 0 53.2139380484 46.1697777844 44.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -1595 1 1 0 53.8302222156 46.7860619516 44.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -1596 1 1 0 54.3301270189 47.5 44.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -1597 1 1 0 54.6984631039 48.2898992834 44.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -1598 1 1 0 54.9240387651 49.1317591117 44.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -1599 1 1 0 55.0 50.0 44.0 1.0 -3.79764303863e-15 0 0.872664625997 -75 42.5 42.5 0.2 -1600 1 1 0 54.9240387651 50.8682408883 44.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -1601 1 1 0 54.6984631039 51.7101007166 44.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -1602 1 1 0 54.3301270189 52.5 44.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -1603 1 1 0 53.8302222156 53.2139380484 44.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -1604 1 1 0 53.2139380484 53.8302222156 44.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -1605 1 1 0 52.5 54.3301270189 44.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -1606 1 1 0 51.7101007166 54.6984631039 44.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -1607 1 1 0 50.8682408883 54.9240387651 44.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -1608 1 1 0 50.0 55.0 44.0 3.85887537859e-15 1.0 0 0.872664625997 -75 42.5 42.5 0.2 -1609 1 1 0 49.1317591117 54.9240387651 44.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -1610 1 1 0 48.2898992834 54.6984631039 44.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -1611 1 1 0 47.5 54.3301270189 44.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -1612 1 1 0 46.7860619516 53.8302222156 44.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -1613 1 1 0 46.1697777844 53.2139380484 44.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -1614 1 1 0 45.6698729811 52.5 44.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -1615 1 1 0 45.3015368961 51.7101007166 44.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -1616 1 1 0 45.0759612349 50.8682408883 44.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -1617 1 1 0 45.0 50.0 44.0 -1.0 3.92010771854e-15 0 0.872664625997 -75 42.5 42.5 0.2 -1618 1 1 0 45.0759612349 49.1317591117 44.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -1619 1 1 0 45.3015368961 48.2898992834 44.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -1620 1 1 0 45.6698729811 47.5 44.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -1621 1 1 0 46.4644660941 46.4644660941 45.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -1622 1 1 0 47.1321178182 45.9042397786 45.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -1623 1 1 0 47.8869086913 45.4684610648 45.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -1624 1 1 0 48.7059047745 45.1703708686 45.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -1625 1 1 0 49.5642212863 45.0190265095 45.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -1626 1 1 0 50.4357787137 45.0190265095 45.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -1627 1 1 0 51.2940952255 45.1703708686 45.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -1628 1 1 0 52.1130913087 45.4684610648 45.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -1629 1 1 0 52.8678821818 45.9042397786 45.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -1630 1 1 0 53.5355339059 46.4644660941 45.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -1631 1 1 0 54.0957602214 47.1321178182 45.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -1632 1 1 0 54.5315389352 47.8869086913 45.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -1633 1 1 0 54.8296291314 48.7059047745 45.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -1634 1 1 0 54.9809734905 49.5642212863 45.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -1635 1 1 0 54.9809734905 50.4357787137 45.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -1636 1 1 0 54.8296291314 51.2940952255 45.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -1637 1 1 0 54.5315389352 52.1130913087 45.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -1638 1 1 0 54.0957602214 52.8678821818 45.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -1639 1 1 0 53.5355339059 53.5355339059 45.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -1640 1 1 0 52.8678821818 54.0957602214 45.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -1641 1 1 0 52.1130913087 54.5315389352 45.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -1642 1 1 0 51.2940952255 54.8296291314 45.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -1643 1 1 0 50.4357787137 54.9809734905 45.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -1644 1 1 0 49.5642212863 54.9809734905 45.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -1645 1 1 0 48.7059047745 54.8296291314 45.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -1646 1 1 0 47.8869086913 54.5315389352 45.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -1647 1 1 0 47.1321178182 54.0957602214 45.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -1648 1 1 0 46.4644660941 53.5355339059 45.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -1649 1 1 0 45.9042397786 52.8678821818 45.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -1650 1 1 0 45.4684610648 52.1130913087 45.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -1651 1 1 0 45.1703708686 51.2940952255 45.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -1652 1 1 0 45.0190265095 50.4357787137 45.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -1653 1 1 0 45.0190265095 49.5642212863 45.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -1654 1 1 0 45.1703708686 48.7059047745 45.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -1655 1 1 0 45.4684610648 47.8869086913 45.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -1656 1 1 0 45.9042397786 47.1321178182 45.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -1657 1 1 0 46.7860619516 46.1697777844 46.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -1658 1 1 0 47.5 45.6698729811 46.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -1659 1 1 0 48.2898992834 45.3015368961 46.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -1660 1 1 0 49.1317591117 45.0759612349 46.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -1661 1 1 0 50.0 45.0 46.0 -2.84823227897e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 -1662 1 1 0 50.8682408883 45.0759612349 46.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -1663 1 1 0 51.7101007166 45.3015368961 46.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -1664 1 1 0 52.5 45.6698729811 46.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -1665 1 1 0 53.2139380484 46.1697777844 46.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -1666 1 1 0 53.8302222156 46.7860619516 46.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -1667 1 1 0 54.3301270189 47.5 46.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -1668 1 1 0 54.6984631039 48.2898992834 46.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -1669 1 1 0 54.9240387651 49.1317591117 46.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -1670 1 1 0 55.0 50.0 46.0 1.0 -2.90946461893e-15 0 0.872664625997 -75 42.5 42.5 0.2 -1671 1 1 0 54.9240387651 50.8682408883 46.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -1672 1 1 0 54.6984631039 51.7101007166 46.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -1673 1 1 0 54.3301270189 52.5 46.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -1674 1 1 0 53.8302222156 53.2139380484 46.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -1675 1 1 0 53.2139380484 53.8302222156 46.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -1676 1 1 0 52.5 54.3301270189 46.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -1677 1 1 0 51.7101007166 54.6984631039 46.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -1678 1 1 0 50.8682408883 54.9240387651 46.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -1679 1 1 0 50.0 55.0 46.0 2.97069695889e-15 1.0 0 0.872664625997 -75 42.5 42.5 0.2 -1680 1 1 0 49.1317591117 54.9240387651 46.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -1681 1 1 0 48.2898992834 54.6984631039 46.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -1682 1 1 0 47.5 54.3301270189 46.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -1683 1 1 0 46.7860619516 53.8302222156 46.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -1684 1 1 0 46.1697777844 53.2139380484 46.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -1685 1 1 0 45.6698729811 52.5 46.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -1686 1 1 0 45.3015368961 51.7101007166 46.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -1687 1 1 0 45.0759612349 50.8682408883 46.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -1688 1 1 0 45.0 50.0 46.0 -1.0 3.92010771854e-15 0 0.872664625997 -75 42.5 42.5 0.2 -1689 1 1 0 45.0759612349 49.1317591117 46.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -1690 1 1 0 45.3015368961 48.2898992834 46.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -1691 1 1 0 45.6698729811 47.5 46.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -1692 1 1 0 46.1697777844 46.7860619516 46.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -1693 1 1 0 47.1321178182 45.9042397786 47.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -1694 1 1 0 47.8869086913 45.4684610648 47.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -1695 1 1 0 48.7059047745 45.1703708686 47.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -1696 1 1 0 49.5642212863 45.0190265095 47.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -1697 1 1 0 50.4357787137 45.0190265095 47.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -1698 1 1 0 51.2940952255 45.1703708686 47.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -1699 1 1 0 52.1130913087 45.4684610648 47.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -1700 1 1 0 52.8678821818 45.9042397786 47.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -1701 1 1 0 53.5355339059 46.4644660941 47.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -1702 1 1 0 54.0957602214 47.1321178182 47.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -1703 1 1 0 54.5315389352 47.8869086913 47.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -1704 1 1 0 54.8296291314 48.7059047745 47.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -1705 1 1 0 54.9809734905 49.5642212863 47.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -1706 1 1 0 54.9809734905 50.4357787137 47.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -1707 1 1 0 54.8296291314 51.2940952255 47.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -1708 1 1 0 54.5315389352 52.1130913087 47.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -1709 1 1 0 54.0957602214 52.8678821818 47.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -1710 1 1 0 53.5355339059 53.5355339059 47.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -1711 1 1 0 52.8678821818 54.0957602214 47.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -1712 1 1 0 52.1130913087 54.5315389352 47.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -1713 1 1 0 51.2940952255 54.8296291314 47.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -1714 1 1 0 50.4357787137 54.9809734905 47.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -1715 1 1 0 49.5642212863 54.9809734905 47.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -1716 1 1 0 48.7059047745 54.8296291314 47.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -1717 1 1 0 47.8869086913 54.5315389352 47.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -1718 1 1 0 47.1321178182 54.0957602214 47.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -1719 1 1 0 46.4644660941 53.5355339059 47.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -1720 1 1 0 45.9042397786 52.8678821818 47.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -1721 1 1 0 45.4684610648 52.1130913087 47.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -1722 1 1 0 45.1703708686 51.2940952255 47.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -1723 1 1 0 45.0190265095 50.4357787137 47.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -1724 1 1 0 45.0190265095 49.5642212863 47.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -1725 1 1 0 45.1703708686 48.7059047745 47.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -1726 1 1 0 45.4684610648 47.8869086913 47.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -1727 1 1 0 45.9042397786 47.1321178182 47.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -1728 1 1 0 46.4644660941 46.4644660941 47.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -1729 1 1 0 47.5 45.6698729811 48.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -1730 1 1 0 48.2898992834 45.3015368961 48.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -1731 1 1 0 49.1317591117 45.0759612349 48.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -1732 1 1 0 50.0 45.0 48.0 -2.84823227897e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 -1733 1 1 0 50.8682408883 45.0759612349 48.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -1734 1 1 0 51.7101007166 45.3015368961 48.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -1735 1 1 0 52.5 45.6698729811 48.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -1736 1 1 0 53.2139380484 46.1697777844 48.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -1737 1 1 0 53.8302222156 46.7860619516 48.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -1738 1 1 0 54.3301270189 47.5 48.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -1739 1 1 0 54.6984631039 48.2898992834 48.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -1740 1 1 0 54.9240387651 49.1317591117 48.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -1741 1 1 0 55.0 50.0 48.0 1.0 -3.79764303863e-15 0 0.872664625997 -75 42.5 42.5 0.2 -1742 1 1 0 54.9240387651 50.8682408883 48.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -1743 1 1 0 54.6984631039 51.7101007166 48.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -1744 1 1 0 54.3301270189 52.5 48.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -1745 1 1 0 53.8302222156 53.2139380484 48.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -1746 1 1 0 53.2139380484 53.8302222156 48.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -1747 1 1 0 52.5 54.3301270189 48.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -1748 1 1 0 51.7101007166 54.6984631039 48.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -1749 1 1 0 50.8682408883 54.9240387651 48.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -1750 1 1 0 50.0 55.0 48.0 3.85887537859e-15 1.0 0 0.872664625997 -75 42.5 42.5 0.2 -1751 1 1 0 49.1317591117 54.9240387651 48.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -1752 1 1 0 48.2898992834 54.6984631039 48.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -1753 1 1 0 47.5 54.3301270189 48.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -1754 1 1 0 46.7860619516 53.8302222156 48.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -1755 1 1 0 46.1697777844 53.2139380484 48.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -1756 1 1 0 45.6698729811 52.5 48.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -1757 1 1 0 45.3015368961 51.7101007166 48.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -1758 1 1 0 45.0759612349 50.8682408883 48.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -1759 1 1 0 45.0 50.0 48.0 -1.0 3.92010771854e-15 0 0.872664625997 -75 42.5 42.5 0.2 -1760 1 1 0 45.0759612349 49.1317591117 48.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -1761 1 1 0 45.3015368961 48.2898992834 48.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -1762 1 1 0 45.6698729811 47.5 48.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -1763 1 1 0 46.1697777844 46.7860619516 48.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -1764 1 1 0 46.7860619516 46.1697777844 48.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -1765 1 1 0 47.8869086913 45.4684610648 49.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -1766 1 1 0 48.7059047745 45.1703708686 49.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -1767 1 1 0 49.5642212863 45.0190265095 49.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -1768 1 1 0 50.4357787137 45.0190265095 49.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -1769 1 1 0 51.2940952255 45.1703708686 49.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -1770 1 1 0 52.1130913087 45.4684610648 49.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -1771 1 1 0 52.8678821818 45.9042397786 49.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -1772 1 1 0 53.5355339059 46.4644660941 49.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -1773 1 1 0 54.0957602214 47.1321178182 49.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -1774 1 1 0 54.5315389352 47.8869086913 49.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -1775 1 1 0 54.8296291314 48.7059047745 49.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -1776 1 1 0 54.9809734905 49.5642212863 49.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -1777 1 1 0 54.9809734905 50.4357787137 49.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -1778 1 1 0 54.8296291314 51.2940952255 49.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -1779 1 1 0 54.5315389352 52.1130913087 49.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -1780 1 1 0 54.0957602214 52.8678821818 49.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -1781 1 1 0 53.5355339059 53.5355339059 49.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -1782 1 1 0 52.8678821818 54.0957602214 49.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -1783 1 1 0 52.1130913087 54.5315389352 49.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -1784 1 1 0 51.2940952255 54.8296291314 49.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -1785 1 1 0 50.4357787137 54.9809734905 49.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -1786 1 1 0 49.5642212863 54.9809734905 49.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -1787 1 1 0 48.7059047745 54.8296291314 49.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -1788 1 1 0 47.8869086913 54.5315389352 49.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -1789 1 1 0 47.1321178182 54.0957602214 49.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -1790 1 1 0 46.4644660941 53.5355339059 49.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -1791 1 1 0 45.9042397786 52.8678821818 49.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -1792 1 1 0 45.4684610648 52.1130913087 49.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -1793 1 1 0 45.1703708686 51.2940952255 49.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -1794 1 1 0 45.0190265095 50.4357787137 49.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -1795 1 1 0 45.0190265095 49.5642212863 49.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -1796 1 1 0 45.1703708686 48.7059047745 49.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -1797 1 1 0 45.4684610648 47.8869086913 49.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -1798 1 1 0 45.9042397786 47.1321178182 49.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -1799 1 1 0 46.4644660941 46.4644660941 49.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -1800 1 1 0 47.1321178182 45.9042397786 49.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -1801 1 1 0 48.2898992834 45.3015368961 50.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -1802 1 1 0 49.1317591117 45.0759612349 50.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -1803 1 1 0 50.0 45.0 50.0 -3.73641069867e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 -1804 1 1 0 50.8682408883 45.0759612349 50.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -1805 1 1 0 51.7101007166 45.3015368961 50.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -1806 1 1 0 52.5 45.6698729811 50.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -1807 1 1 0 53.2139380484 46.1697777844 50.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -1808 1 1 0 53.8302222156 46.7860619516 50.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -1809 1 1 0 54.3301270189 47.5 50.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -1810 1 1 0 54.6984631039 48.2898992834 50.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -1811 1 1 0 54.9240387651 49.1317591117 50.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -1812 1 1 0 55.0 50.0 50.0 1.0 -3.79764303863e-15 0 0.872664625997 -75 42.5 42.5 0.2 -1813 1 1 0 54.9240387651 50.8682408883 50.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -1814 1 1 0 54.6984631039 51.7101007166 50.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -1815 1 1 0 54.3301270189 52.5 50.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -1816 1 1 0 53.8302222156 53.2139380484 50.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -1817 1 1 0 53.2139380484 53.8302222156 50.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -1818 1 1 0 52.5 54.3301270189 50.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -1819 1 1 0 51.7101007166 54.6984631039 50.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -1820 1 1 0 50.8682408883 54.9240387651 50.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -1821 1 1 0 50.0 55.0 50.0 3.85887537859e-15 1.0 0 0.872664625997 -75 42.5 42.5 0.2 -1822 1 1 0 49.1317591117 54.9240387651 50.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -1823 1 1 0 48.2898992834 54.6984631039 50.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -1824 1 1 0 47.5 54.3301270189 50.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -1825 1 1 0 46.7860619516 53.8302222156 50.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -1826 1 1 0 46.1697777844 53.2139380484 50.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -1827 1 1 0 45.6698729811 52.5 50.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -1828 1 1 0 45.3015368961 51.7101007166 50.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -1829 1 1 0 45.0759612349 50.8682408883 50.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -1830 1 1 0 45.0 50.0 50.0 -1.0 3.92010771854e-15 0 0.872664625997 -75 42.5 42.5 0.2 -1831 1 1 0 45.0759612349 49.1317591117 50.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -1832 1 1 0 45.3015368961 48.2898992834 50.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -1833 1 1 0 45.6698729811 47.5 50.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -1834 1 1 0 46.1697777844 46.7860619516 50.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -1835 1 1 0 46.7860619516 46.1697777844 50.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -1836 1 1 0 47.5 45.6698729811 50.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -1837 1 1 0 48.7059047745 45.1703708686 51.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -1838 1 1 0 49.5642212863 45.0190265095 51.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -1839 1 1 0 50.4357787137 45.0190265095 51.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -1840 1 1 0 51.2940952255 45.1703708686 51.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -1841 1 1 0 52.1130913087 45.4684610648 51.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -1842 1 1 0 52.8678821818 45.9042397786 51.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -1843 1 1 0 53.5355339059 46.4644660941 51.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -1844 1 1 0 54.0957602214 47.1321178182 51.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -1845 1 1 0 54.5315389352 47.8869086913 51.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -1846 1 1 0 54.8296291314 48.7059047745 51.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -1847 1 1 0 54.9809734905 49.5642212863 51.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -1848 1 1 0 54.9809734905 50.4357787137 51.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -1849 1 1 0 54.8296291314 51.2940952255 51.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -1850 1 1 0 54.5315389352 52.1130913087 51.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -1851 1 1 0 54.0957602214 52.8678821818 51.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -1852 1 1 0 53.5355339059 53.5355339059 51.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -1853 1 1 0 52.8678821818 54.0957602214 51.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -1854 1 1 0 52.1130913087 54.5315389352 51.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -1855 1 1 0 51.2940952255 54.8296291314 51.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -1856 1 1 0 50.4357787137 54.9809734905 51.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -1857 1 1 0 49.5642212863 54.9809734905 51.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -1858 1 1 0 48.7059047745 54.8296291314 51.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -1859 1 1 0 47.8869086913 54.5315389352 51.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -1860 1 1 0 47.1321178182 54.0957602214 51.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -1861 1 1 0 46.4644660941 53.5355339059 51.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -1862 1 1 0 45.9042397786 52.8678821818 51.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -1863 1 1 0 45.4684610648 52.1130913087 51.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -1864 1 1 0 45.1703708686 51.2940952255 51.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -1865 1 1 0 45.0190265095 50.4357787137 51.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -1866 1 1 0 45.0190265095 49.5642212863 51.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -1867 1 1 0 45.1703708686 48.7059047745 51.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -1868 1 1 0 45.4684610648 47.8869086913 51.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -1869 1 1 0 45.9042397786 47.1321178182 51.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -1870 1 1 0 46.4644660941 46.4644660941 51.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -1871 1 1 0 47.1321178182 45.9042397786 51.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -1872 1 1 0 47.8869086913 45.4684610648 51.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -1873 1 1 0 49.1317591117 45.0759612349 52.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -1874 1 1 0 50.0 45.0 52.0 -3.73641069867e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 -1875 1 1 0 50.8682408883 45.0759612349 52.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -1876 1 1 0 51.7101007166 45.3015368961 52.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -1877 1 1 0 52.5 45.6698729811 52.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -1878 1 1 0 53.2139380484 46.1697777844 52.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -1879 1 1 0 53.8302222156 46.7860619516 52.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -1880 1 1 0 54.3301270189 47.5 52.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -1881 1 1 0 54.6984631039 48.2898992834 52.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -1882 1 1 0 54.9240387651 49.1317591117 52.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -1883 1 1 0 55.0 50.0 52.0 1.0 -3.79764303863e-15 0 0.872664625997 -75 42.5 42.5 0.2 -1884 1 1 0 54.9240387651 50.8682408883 52.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -1885 1 1 0 54.6984631039 51.7101007166 52.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -1886 1 1 0 54.3301270189 52.5 52.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -1887 1 1 0 53.8302222156 53.2139380484 52.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -1888 1 1 0 53.2139380484 53.8302222156 52.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -1889 1 1 0 52.5 54.3301270189 52.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -1890 1 1 0 51.7101007166 54.6984631039 52.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -1891 1 1 0 50.8682408883 54.9240387651 52.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -1892 1 1 0 50.0 55.0 52.0 3.85887537859e-15 1.0 0 0.872664625997 -75 42.5 42.5 0.2 -1893 1 1 0 49.1317591117 54.9240387651 52.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -1894 1 1 0 48.2898992834 54.6984631039 52.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -1895 1 1 0 47.5 54.3301270189 52.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -1896 1 1 0 46.7860619516 53.8302222156 52.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -1897 1 1 0 46.1697777844 53.2139380484 52.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -1898 1 1 0 45.6698729811 52.5 52.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -1899 1 1 0 45.3015368961 51.7101007166 52.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -1900 1 1 0 45.0759612349 50.8682408883 52.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -1901 1 1 0 45.0 50.0 52.0 -1.0 3.92010771854e-15 0 0.872664625997 -75 42.5 42.5 0.2 -1902 1 1 0 45.0759612349 49.1317591117 52.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -1903 1 1 0 45.3015368961 48.2898992834 52.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -1904 1 1 0 45.6698729811 47.5 52.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -1905 1 1 0 46.1697777844 46.7860619516 52.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -1906 1 1 0 46.7860619516 46.1697777844 52.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -1907 1 1 0 47.5 45.6698729811 52.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -1908 1 1 0 48.2898992834 45.3015368961 52.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -1909 1 1 0 49.5642212863 45.0190265095 53.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -1910 1 1 0 50.4357787137 45.0190265095 53.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -1911 1 1 0 51.2940952255 45.1703708686 53.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -1912 1 1 0 52.1130913087 45.4684610648 53.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -1913 1 1 0 52.8678821818 45.9042397786 53.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -1914 1 1 0 53.5355339059 46.4644660941 53.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -1915 1 1 0 54.0957602214 47.1321178182 53.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -1916 1 1 0 54.5315389352 47.8869086913 53.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -1917 1 1 0 54.8296291314 48.7059047745 53.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -1918 1 1 0 54.9809734905 49.5642212863 53.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -1919 1 1 0 54.9809734905 50.4357787137 53.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -1920 1 1 0 54.8296291314 51.2940952255 53.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -1921 1 1 0 54.5315389352 52.1130913087 53.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -1922 1 1 0 54.0957602214 52.8678821818 53.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -1923 1 1 0 53.5355339059 53.5355339059 53.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -1924 1 1 0 52.8678821818 54.0957602214 53.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -1925 1 1 0 52.1130913087 54.5315389352 53.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -1926 1 1 0 51.2940952255 54.8296291314 53.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -1927 1 1 0 50.4357787137 54.9809734905 53.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -1928 1 1 0 49.5642212863 54.9809734905 53.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -1929 1 1 0 48.7059047745 54.8296291314 53.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -1930 1 1 0 47.8869086913 54.5315389352 53.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -1931 1 1 0 47.1321178182 54.0957602214 53.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -1932 1 1 0 46.4644660941 53.5355339059 53.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -1933 1 1 0 45.9042397786 52.8678821818 53.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -1934 1 1 0 45.4684610648 52.1130913087 53.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -1935 1 1 0 45.1703708686 51.2940952255 53.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -1936 1 1 0 45.0190265095 50.4357787137 53.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -1937 1 1 0 45.0190265095 49.5642212863 53.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -1938 1 1 0 45.1703708686 48.7059047745 53.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -1939 1 1 0 45.4684610648 47.8869086913 53.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -1940 1 1 0 45.9042397786 47.1321178182 53.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -1941 1 1 0 46.4644660941 46.4644660941 53.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -1942 1 1 0 47.1321178182 45.9042397786 53.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -1943 1 1 0 47.8869086913 45.4684610648 53.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -1944 1 1 0 48.7059047745 45.1703708686 53.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -1945 1 1 0 50.0 45.0 54.0 -3.73641069867e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 -1946 1 1 0 50.8682408883 45.0759612349 54.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -1947 1 1 0 51.7101007166 45.3015368961 54.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -1948 1 1 0 52.5 45.6698729811 54.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -1949 1 1 0 53.2139380484 46.1697777844 54.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -1950 1 1 0 53.8302222156 46.7860619516 54.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -1951 1 1 0 54.3301270189 47.5 54.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -1952 1 1 0 54.6984631039 48.2898992834 54.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -1953 1 1 0 54.9240387651 49.1317591117 54.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -1954 1 1 0 55.0 50.0 54.0 1.0 -3.79764303863e-15 0 0.872664625997 -75 42.5 42.5 0.2 -1955 1 1 0 54.9240387651 50.8682408883 54.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -1956 1 1 0 54.6984631039 51.7101007166 54.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -1957 1 1 0 54.3301270189 52.5 54.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -1958 1 1 0 53.8302222156 53.2139380484 54.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -1959 1 1 0 53.2139380484 53.8302222156 54.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -1960 1 1 0 52.5 54.3301270189 54.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -1961 1 1 0 51.7101007166 54.6984631039 54.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -1962 1 1 0 50.8682408883 54.9240387651 54.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -1963 1 1 0 50.0 55.0 54.0 3.85887537859e-15 1.0 0 0.872664625997 -75 42.5 42.5 0.2 -1964 1 1 0 49.1317591117 54.9240387651 54.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -1965 1 1 0 48.2898992834 54.6984631039 54.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -1966 1 1 0 47.5 54.3301270189 54.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -1967 1 1 0 46.7860619516 53.8302222156 54.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -1968 1 1 0 46.1697777844 53.2139380484 54.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -1969 1 1 0 45.6698729811 52.5 54.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -1970 1 1 0 45.3015368961 51.7101007166 54.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -1971 1 1 0 45.0759612349 50.8682408883 54.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -1972 1 1 0 45.0 50.0 54.0 -1.0 3.92010771854e-15 0 0.872664625997 -75 42.5 42.5 0.2 -1973 1 1 0 45.0759612349 49.1317591117 54.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -1974 1 1 0 45.3015368961 48.2898992834 54.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -1975 1 1 0 45.6698729811 47.5 54.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -1976 1 1 0 46.1697777844 46.7860619516 54.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -1977 1 1 0 46.7860619516 46.1697777844 54.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -1978 1 1 0 47.5 45.6698729811 54.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -1979 1 1 0 48.2898992834 45.3015368961 54.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -1980 1 1 0 49.1317591117 45.0759612349 54.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -1981 1 1 0 50.4357787137 45.0190265095 55.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -1982 1 1 0 51.2940952255 45.1703708686 55.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -1983 1 1 0 52.1130913087 45.4684610648 55.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -1984 1 1 0 52.8678821818 45.9042397786 55.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -1985 1 1 0 53.5355339059 46.4644660941 55.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -1986 1 1 0 54.0957602214 47.1321178182 55.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -1987 1 1 0 54.5315389352 47.8869086913 55.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -1988 1 1 0 54.8296291314 48.7059047745 55.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -1989 1 1 0 54.9809734905 49.5642212863 55.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -1990 1 1 0 54.9809734905 50.4357787137 55.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -1991 1 1 0 54.8296291314 51.2940952255 55.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -1992 1 1 0 54.5315389352 52.1130913087 55.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -1993 1 1 0 54.0957602214 52.8678821818 55.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -1994 1 1 0 53.5355339059 53.5355339059 55.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -1995 1 1 0 52.8678821818 54.0957602214 55.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -1996 1 1 0 52.1130913087 54.5315389352 55.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -1997 1 1 0 51.2940952255 54.8296291314 55.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -1998 1 1 0 50.4357787137 54.9809734905 55.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -1999 1 1 0 49.5642212863 54.9809734905 55.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -2000 1 1 0 48.7059047745 54.8296291314 55.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -2001 1 1 0 47.8869086913 54.5315389352 55.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -2002 1 1 0 47.1321178182 54.0957602214 55.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -2003 1 1 0 46.4644660941 53.5355339059 55.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -2004 1 1 0 45.9042397786 52.8678821818 55.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -2005 1 1 0 45.4684610648 52.1130913087 55.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -2006 1 1 0 45.1703708686 51.2940952255 55.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -2007 1 1 0 45.0190265095 50.4357787137 55.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -2008 1 1 0 45.0190265095 49.5642212863 55.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -2009 1 1 0 45.1703708686 48.7059047745 55.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -2010 1 1 0 45.4684610648 47.8869086913 55.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -2011 1 1 0 45.9042397786 47.1321178182 55.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -2012 1 1 0 46.4644660941 46.4644660941 55.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -2013 1 1 0 47.1321178182 45.9042397786 55.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -2014 1 1 0 47.8869086913 45.4684610648 55.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -2015 1 1 0 48.7059047745 45.1703708686 55.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -2016 1 1 0 49.5642212863 45.0190265095 55.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -2017 1 1 0 50.8682408883 45.0759612349 56.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -2018 1 1 0 51.7101007166 45.3015368961 56.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -2019 1 1 0 52.5 45.6698729811 56.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -2020 1 1 0 53.2139380484 46.1697777844 56.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -2021 1 1 0 53.8302222156 46.7860619516 56.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -2022 1 1 0 54.3301270189 47.5 56.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -2023 1 1 0 54.6984631039 48.2898992834 56.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -2024 1 1 0 54.9240387651 49.1317591117 56.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -2025 1 1 0 55.0 50.0 56.0 1.0 -3.79764303863e-15 0 0.872664625997 -75 42.5 42.5 0.2 -2026 1 1 0 54.9240387651 50.8682408883 56.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -2027 1 1 0 54.6984631039 51.7101007166 56.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -2028 1 1 0 54.3301270189 52.5 56.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -2029 1 1 0 53.8302222156 53.2139380484 56.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -2030 1 1 0 53.2139380484 53.8302222156 56.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -2031 1 1 0 52.5 54.3301270189 56.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -2032 1 1 0 51.7101007166 54.6984631039 56.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -2033 1 1 0 50.8682408883 54.9240387651 56.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -2034 1 1 0 50.0 55.0 56.0 3.85887537859e-15 1.0 0 0.872664625997 -75 42.5 42.5 0.2 -2035 1 1 0 49.1317591117 54.9240387651 56.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -2036 1 1 0 48.2898992834 54.6984631039 56.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -2037 1 1 0 47.5 54.3301270189 56.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -2038 1 1 0 46.7860619516 53.8302222156 56.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -2039 1 1 0 46.1697777844 53.2139380484 56.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -2040 1 1 0 45.6698729811 52.5 56.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -2041 1 1 0 45.3015368961 51.7101007166 56.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -2042 1 1 0 45.0759612349 50.8682408883 56.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -2043 1 1 0 45.0 50.0 56.0 -1.0 3.92010771854e-15 0 0.872664625997 -75 42.5 42.5 0.2 -2044 1 1 0 45.0759612349 49.1317591117 56.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -2045 1 1 0 45.3015368961 48.2898992834 56.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -2046 1 1 0 45.6698729811 47.5 56.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -2047 1 1 0 46.1697777844 46.7860619516 56.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -2048 1 1 0 46.7860619516 46.1697777844 56.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -2049 1 1 0 47.5 45.6698729811 56.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -2050 1 1 0 48.2898992834 45.3015368961 56.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -2051 1 1 0 49.1317591117 45.0759612349 56.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -2052 1 1 0 50.0 45.0 56.0 -3.9813400585e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 -2053 1 1 0 51.2940952255 45.1703708686 57.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -2054 1 1 0 52.1130913087 45.4684610648 57.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -2055 1 1 0 52.8678821818 45.9042397786 57.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -2056 1 1 0 53.5355339059 46.4644660941 57.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -2057 1 1 0 54.0957602214 47.1321178182 57.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -2058 1 1 0 54.5315389352 47.8869086913 57.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -2059 1 1 0 54.8296291314 48.7059047745 57.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -2060 1 1 0 54.9809734905 49.5642212863 57.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -2061 1 1 0 54.9809734905 50.4357787137 57.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -2062 1 1 0 54.8296291314 51.2940952255 57.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -2063 1 1 0 54.5315389352 52.1130913087 57.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -2064 1 1 0 54.0957602214 52.8678821818 57.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -2065 1 1 0 53.5355339059 53.5355339059 57.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -2066 1 1 0 52.8678821818 54.0957602214 57.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -2067 1 1 0 52.1130913087 54.5315389352 57.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -2068 1 1 0 51.2940952255 54.8296291314 57.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -2069 1 1 0 50.4357787137 54.9809734905 57.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -2070 1 1 0 49.5642212863 54.9809734905 57.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -2071 1 1 0 48.7059047745 54.8296291314 57.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -2072 1 1 0 47.8869086913 54.5315389352 57.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -2073 1 1 0 47.1321178182 54.0957602214 57.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -2074 1 1 0 46.4644660941 53.5355339059 57.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -2075 1 1 0 45.9042397786 52.8678821818 57.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -2076 1 1 0 45.4684610648 52.1130913087 57.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -2077 1 1 0 45.1703708686 51.2940952255 57.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -2078 1 1 0 45.0190265095 50.4357787137 57.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -2079 1 1 0 45.0190265095 49.5642212863 57.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -2080 1 1 0 45.1703708686 48.7059047745 57.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -2081 1 1 0 45.4684610648 47.8869086913 57.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -2082 1 1 0 45.9042397786 47.1321178182 57.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -2083 1 1 0 46.4644660941 46.4644660941 57.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -2084 1 1 0 47.1321178182 45.9042397786 57.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -2085 1 1 0 47.8869086913 45.4684610648 57.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -2086 1 1 0 48.7059047745 45.1703708686 57.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -2087 1 1 0 49.5642212863 45.0190265095 57.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -2088 1 1 0 50.4357787137 45.0190265095 57.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -2089 1 1 0 51.7101007166 45.3015368961 58.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -2090 1 1 0 52.5 45.6698729811 58.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -2091 1 1 0 53.2139380484 46.1697777844 58.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -2092 1 1 0 53.8302222156 46.7860619516 58.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -2093 1 1 0 54.3301270189 47.5 58.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -2094 1 1 0 54.6984631039 48.2898992834 58.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -2095 1 1 0 54.9240387651 49.1317591117 58.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -2096 1 1 0 55.0 50.0 58.0 1.0 -3.79764303863e-15 0 0.872664625997 -75 42.5 42.5 0.2 -2097 1 1 0 54.9240387651 50.8682408883 58.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -2098 1 1 0 54.6984631039 51.7101007166 58.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -2099 1 1 0 54.3301270189 52.5 58.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -2100 1 1 0 53.8302222156 53.2139380484 58.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -2101 1 1 0 53.2139380484 53.8302222156 58.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -2102 1 1 0 52.5 54.3301270189 58.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -2103 1 1 0 51.7101007166 54.6984631039 58.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -2104 1 1 0 50.8682408883 54.9240387651 58.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -2105 1 1 0 50.0 55.0 58.0 3.85887537859e-15 1.0 0 0.872664625997 -75 42.5 42.5 0.2 -2106 1 1 0 49.1317591117 54.9240387651 58.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -2107 1 1 0 48.2898992834 54.6984631039 58.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -2108 1 1 0 47.5 54.3301270189 58.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -2109 1 1 0 46.7860619516 53.8302222156 58.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -2110 1 1 0 46.1697777844 53.2139380484 58.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -2111 1 1 0 45.6698729811 52.5 58.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -2112 1 1 0 45.3015368961 51.7101007166 58.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -2113 1 1 0 45.0759612349 50.8682408883 58.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -2114 1 1 0 45.0 50.0 58.0 -1.0 3.92010771854e-15 0 0.872664625997 -75 42.5 42.5 0.2 -2115 1 1 0 45.0759612349 49.1317591117 58.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -2116 1 1 0 45.3015368961 48.2898992834 58.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -2117 1 1 0 45.6698729811 47.5 58.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -2118 1 1 0 46.1697777844 46.7860619516 58.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -2119 1 1 0 46.7860619516 46.1697777844 58.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -2120 1 1 0 47.5 45.6698729811 58.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -2121 1 1 0 48.2898992834 45.3015368961 58.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -2122 1 1 0 49.1317591117 45.0759612349 58.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -2123 1 1 0 50.0 45.0 58.0 -5.7576968979e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 -2124 1 1 0 50.8682408883 45.0759612349 58.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -2125 1 1 0 52.1130913087 45.4684610648 59.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -2126 1 1 0 52.8678821818 45.9042397786 59.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -2127 1 1 0 53.5355339059 46.4644660941 59.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -2128 1 1 0 54.0957602214 47.1321178182 59.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -2129 1 1 0 54.5315389352 47.8869086913 59.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -2130 1 1 0 54.8296291314 48.7059047745 59.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -2131 1 1 0 54.9809734905 49.5642212863 59.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -2132 1 1 0 54.9809734905 50.4357787137 59.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -2133 1 1 0 54.8296291314 51.2940952255 59.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -2134 1 1 0 54.5315389352 52.1130913087 59.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -2135 1 1 0 54.0957602214 52.8678821818 59.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -2136 1 1 0 53.5355339059 53.5355339059 59.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -2137 1 1 0 52.8678821818 54.0957602214 59.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -2138 1 1 0 52.1130913087 54.5315389352 59.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -2139 1 1 0 51.2940952255 54.8296291314 59.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -2140 1 1 0 50.4357787137 54.9809734905 59.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -2141 1 1 0 49.5642212863 54.9809734905 59.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -2142 1 1 0 48.7059047745 54.8296291314 59.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -2143 1 1 0 47.8869086913 54.5315389352 59.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -2144 1 1 0 47.1321178182 54.0957602214 59.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -2145 1 1 0 46.4644660941 53.5355339059 59.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -2146 1 1 0 45.9042397786 52.8678821818 59.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -2147 1 1 0 45.4684610648 52.1130913087 59.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -2148 1 1 0 45.1703708686 51.2940952255 59.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -2149 1 1 0 45.0190265095 50.4357787137 59.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -2150 1 1 0 45.0190265095 49.5642212863 59.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -2151 1 1 0 45.1703708686 48.7059047745 59.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -2152 1 1 0 45.4684610648 47.8869086913 59.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -2153 1 1 0 45.9042397786 47.1321178182 59.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -2154 1 1 0 46.4644660941 46.4644660941 59.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -2155 1 1 0 47.1321178182 45.9042397786 59.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -2156 1 1 0 47.8869086913 45.4684610648 59.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -2157 1 1 0 48.7059047745 45.1703708686 59.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -2158 1 1 0 49.5642212863 45.0190265095 59.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -2159 1 1 0 50.4357787137 45.0190265095 59.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -2160 1 1 0 51.2940952255 45.1703708686 59.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -2161 1 1 0 52.5 45.6698729811 60.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -2162 1 1 0 53.2139380484 46.1697777844 60.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -2163 1 1 0 53.8302222156 46.7860619516 60.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -2164 1 1 0 54.3301270189 47.5 60.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -2165 1 1 0 54.6984631039 48.2898992834 60.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -2166 1 1 0 54.9240387651 49.1317591117 60.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -2167 1 1 0 55.0 50.0 60.0 1.0 -4.68582145833e-15 0 0.872664625997 -75 42.5 42.5 0.2 -2168 1 1 0 54.9240387651 50.8682408883 60.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -2169 1 1 0 54.6984631039 51.7101007166 60.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -2170 1 1 0 54.3301270189 52.5 60.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -2171 1 1 0 53.8302222156 53.2139380484 60.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -2172 1 1 0 53.2139380484 53.8302222156 60.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -2173 1 1 0 52.5 54.3301270189 60.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -2174 1 1 0 51.7101007166 54.6984631039 60.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -2175 1 1 0 50.8682408883 54.9240387651 60.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -2176 1 1 0 50.0 55.0 60.0 3.85887537859e-15 1.0 0 0.872664625997 -75 42.5 42.5 0.2 -2177 1 1 0 49.1317591117 54.9240387651 60.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -2178 1 1 0 48.2898992834 54.6984631039 60.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -2179 1 1 0 47.5 54.3301270189 60.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -2180 1 1 0 46.7860619516 53.8302222156 60.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -2181 1 1 0 46.1697777844 53.2139380484 60.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -2182 1 1 0 45.6698729811 52.5 60.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -2183 1 1 0 45.3015368961 51.7101007166 60.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -2184 1 1 0 45.0759612349 50.8682408883 60.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -2185 1 1 0 45.0 50.0 60.0 -1.0 3.92010771854e-15 0 0.872664625997 -75 42.5 42.5 0.2 -2186 1 1 0 45.0759612349 49.1317591117 60.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -2187 1 1 0 45.3015368961 48.2898992834 60.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -2188 1 1 0 45.6698729811 47.5 60.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -2189 1 1 0 46.1697777844 46.7860619516 60.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -2190 1 1 0 46.7860619516 46.1697777844 60.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -2191 1 1 0 47.5 45.6698729811 60.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -2192 1 1 0 48.2898992834 45.3015368961 60.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -2193 1 1 0 49.1317591117 45.0759612349 60.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -2194 1 1 0 50.0 45.0 60.0 -5.7576968979e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 -2195 1 1 0 50.8682408883 45.0759612349 60.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -2196 1 1 0 51.7101007166 45.3015368961 60.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -2197 1 1 0 52.8678821818 45.9042397786 61.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -2198 1 1 0 53.5355339059 46.4644660941 61.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -2199 1 1 0 54.0957602214 47.1321178182 61.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -2200 1 1 0 54.5315389352 47.8869086913 61.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -2201 1 1 0 54.8296291314 48.7059047745 61.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -2202 1 1 0 54.9809734905 49.5642212863 61.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -2203 1 1 0 54.9809734905 50.4357787137 61.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -2204 1 1 0 54.8296291314 51.2940952255 61.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -2205 1 1 0 54.5315389352 52.1130913087 61.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -2206 1 1 0 54.0957602214 52.8678821818 61.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -2207 1 1 0 53.5355339059 53.5355339059 61.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -2208 1 1 0 52.8678821818 54.0957602214 61.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -2209 1 1 0 52.1130913087 54.5315389352 61.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -2210 1 1 0 51.2940952255 54.8296291314 61.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -2211 1 1 0 50.4357787137 54.9809734905 61.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -2212 1 1 0 49.5642212863 54.9809734905 61.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -2213 1 1 0 48.7059047745 54.8296291314 61.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -2214 1 1 0 47.8869086913 54.5315389352 61.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -2215 1 1 0 47.1321178182 54.0957602214 61.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -2216 1 1 0 46.4644660941 53.5355339059 61.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -2217 1 1 0 45.9042397786 52.8678821818 61.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -2218 1 1 0 45.4684610648 52.1130913087 61.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -2219 1 1 0 45.1703708686 51.2940952255 61.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -2220 1 1 0 45.0190265095 50.4357787137 61.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -2221 1 1 0 45.0190265095 49.5642212863 61.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -2222 1 1 0 45.1703708686 48.7059047745 61.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -2223 1 1 0 45.4684610648 47.8869086913 61.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -2224 1 1 0 45.9042397786 47.1321178182 61.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -2225 1 1 0 46.4644660941 46.4644660941 61.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -2226 1 1 0 47.1321178182 45.9042397786 61.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -2227 1 1 0 47.8869086913 45.4684610648 61.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -2228 1 1 0 48.7059047745 45.1703708686 61.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -2229 1 1 0 49.5642212863 45.0190265095 61.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -2230 1 1 0 50.4357787137 45.0190265095 61.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -2231 1 1 0 51.2940952255 45.1703708686 61.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -2232 1 1 0 52.1130913087 45.4684610648 61.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -2233 1 1 0 53.2139380484 46.1697777844 62.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -2234 1 1 0 53.8302222156 46.7860619516 62.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -2235 1 1 0 54.3301270189 47.5 62.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -2236 1 1 0 54.6984631039 48.2898992834 62.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -2237 1 1 0 54.9240387651 49.1317591117 62.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -2238 1 1 0 55.0 50.0 62.0 1.0 -4.68582145833e-15 0 0.872664625997 -75 42.5 42.5 0.2 -2239 1 1 0 54.9240387651 50.8682408883 62.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -2240 1 1 0 54.6984631039 51.7101007166 62.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -2241 1 1 0 54.3301270189 52.5 62.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -2242 1 1 0 53.8302222156 53.2139380484 62.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -2243 1 1 0 53.2139380484 53.8302222156 62.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -2244 1 1 0 52.5 54.3301270189 62.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -2245 1 1 0 51.7101007166 54.6984631039 62.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -2246 1 1 0 50.8682408883 54.9240387651 62.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -2247 1 1 0 50.0 55.0 62.0 4.74705379829e-15 1.0 0 0.872664625997 -75 42.5 42.5 0.2 -2248 1 1 0 49.1317591117 54.9240387651 62.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -2249 1 1 0 48.2898992834 54.6984631039 62.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -2250 1 1 0 47.5 54.3301270189 62.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -2251 1 1 0 46.7860619516 53.8302222156 62.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -2252 1 1 0 46.1697777844 53.2139380484 62.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -2253 1 1 0 45.6698729811 52.5 62.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -2254 1 1 0 45.3015368961 51.7101007166 62.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -2255 1 1 0 45.0759612349 50.8682408883 62.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -2256 1 1 0 45.0 50.0 62.0 -1.0 3.92010771854e-15 0 0.872664625997 -75 42.5 42.5 0.2 -2257 1 1 0 45.0759612349 49.1317591117 62.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -2258 1 1 0 45.3015368961 48.2898992834 62.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -2259 1 1 0 45.6698729811 47.5 62.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -2260 1 1 0 46.1697777844 46.7860619516 62.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -2261 1 1 0 46.7860619516 46.1697777844 62.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -2262 1 1 0 47.5 45.6698729811 62.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -2263 1 1 0 48.2898992834 45.3015368961 62.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -2264 1 1 0 49.1317591117 45.0759612349 62.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -2265 1 1 0 50.0 45.0 62.0 -5.7576968979e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 -2266 1 1 0 50.8682408883 45.0759612349 62.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -2267 1 1 0 51.7101007166 45.3015368961 62.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -2268 1 1 0 52.5 45.6698729811 62.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -2269 1 1 0 53.5355339059 46.4644660941 63.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -2270 1 1 0 54.0957602214 47.1321178182 63.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -2271 1 1 0 54.5315389352 47.8869086913 63.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -2272 1 1 0 54.8296291314 48.7059047745 63.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -2273 1 1 0 54.9809734905 49.5642212863 63.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -2274 1 1 0 54.9809734905 50.4357787137 63.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -2275 1 1 0 54.8296291314 51.2940952255 63.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -2276 1 1 0 54.5315389352 52.1130913087 63.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -2277 1 1 0 54.0957602214 52.8678821818 63.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -2278 1 1 0 53.5355339059 53.5355339059 63.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -2279 1 1 0 52.8678821818 54.0957602214 63.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -2280 1 1 0 52.1130913087 54.5315389352 63.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -2281 1 1 0 51.2940952255 54.8296291314 63.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -2282 1 1 0 50.4357787137 54.9809734905 63.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -2283 1 1 0 49.5642212863 54.9809734905 63.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -2284 1 1 0 48.7059047745 54.8296291314 63.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -2285 1 1 0 47.8869086913 54.5315389352 63.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -2286 1 1 0 47.1321178182 54.0957602214 63.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -2287 1 1 0 46.4644660941 53.5355339059 63.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -2288 1 1 0 45.9042397786 52.8678821818 63.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -2289 1 1 0 45.4684610648 52.1130913087 63.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -2290 1 1 0 45.1703708686 51.2940952255 63.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -2291 1 1 0 45.0190265095 50.4357787137 63.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -2292 1 1 0 45.0190265095 49.5642212863 63.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -2293 1 1 0 45.1703708686 48.7059047745 63.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -2294 1 1 0 45.4684610648 47.8869086913 63.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -2295 1 1 0 45.9042397786 47.1321178182 63.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -2296 1 1 0 46.4644660941 46.4644660941 63.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -2297 1 1 0 47.1321178182 45.9042397786 63.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -2298 1 1 0 47.8869086913 45.4684610648 63.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -2299 1 1 0 48.7059047745 45.1703708686 63.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -2300 1 1 0 49.5642212863 45.0190265095 63.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -2301 1 1 0 50.4357787137 45.0190265095 63.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -2302 1 1 0 51.2940952255 45.1703708686 63.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -2303 1 1 0 52.1130913087 45.4684610648 63.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -2304 1 1 0 52.8678821818 45.9042397786 63.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -2305 1 1 0 53.8302222156 46.7860619516 64.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -2306 1 1 0 54.3301270189 47.5 64.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -2307 1 1 0 54.6984631039 48.2898992834 64.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -2308 1 1 0 54.9240387651 49.1317591117 64.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -2309 1 1 0 55.0 50.0 64.0 1.0 -4.68582145833e-15 0 0.872664625997 -75 42.5 42.5 0.2 -2310 1 1 0 54.9240387651 50.8682408883 64.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -2311 1 1 0 54.6984631039 51.7101007166 64.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -2312 1 1 0 54.3301270189 52.5 64.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -2313 1 1 0 53.8302222156 53.2139380484 64.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -2314 1 1 0 53.2139380484 53.8302222156 64.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -2315 1 1 0 52.5 54.3301270189 64.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -2316 1 1 0 51.7101007166 54.6984631039 64.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -2317 1 1 0 50.8682408883 54.9240387651 64.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -2318 1 1 0 50.0 55.0 64.0 4.74705379829e-15 1.0 0 0.872664625997 -75 42.5 42.5 0.2 -2319 1 1 0 49.1317591117 54.9240387651 64.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -2320 1 1 0 48.2898992834 54.6984631039 64.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -2321 1 1 0 47.5 54.3301270189 64.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -2322 1 1 0 46.7860619516 53.8302222156 64.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -2323 1 1 0 46.1697777844 53.2139380484 64.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -2324 1 1 0 45.6698729811 52.5 64.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -2325 1 1 0 45.3015368961 51.7101007166 64.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -2326 1 1 0 45.0759612349 50.8682408883 64.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -2327 1 1 0 45.0 50.0 64.0 -1.0 3.92010771854e-15 0 0.872664625997 -75 42.5 42.5 0.2 -2328 1 1 0 45.0759612349 49.1317591117 64.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -2329 1 1 0 45.3015368961 48.2898992834 64.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -2330 1 1 0 45.6698729811 47.5 64.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -2331 1 1 0 46.1697777844 46.7860619516 64.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -2332 1 1 0 46.7860619516 46.1697777844 64.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -2333 1 1 0 47.5 45.6698729811 64.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -2334 1 1 0 48.2898992834 45.3015368961 64.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -2335 1 1 0 49.1317591117 45.0759612349 64.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -2336 1 1 0 50.0 45.0 64.0 -5.7576968979e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 -2337 1 1 0 50.8682408883 45.0759612349 64.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -2338 1 1 0 51.7101007166 45.3015368961 64.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -2339 1 1 0 52.5 45.6698729811 64.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -2340 1 1 0 53.2139380484 46.1697777844 64.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -2341 1 1 0 54.0957602214 47.1321178182 65.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -2342 1 1 0 54.5315389352 47.8869086913 65.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -2343 1 1 0 54.8296291314 48.7059047745 65.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -2344 1 1 0 54.9809734905 49.5642212863 65.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -2345 1 1 0 54.9809734905 50.4357787137 65.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -2346 1 1 0 54.8296291314 51.2940952255 65.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -2347 1 1 0 54.5315389352 52.1130913087 65.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -2348 1 1 0 54.0957602214 52.8678821818 65.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -2349 1 1 0 53.5355339059 53.5355339059 65.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -2350 1 1 0 52.8678821818 54.0957602214 65.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -2351 1 1 0 52.1130913087 54.5315389352 65.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -2352 1 1 0 51.2940952255 54.8296291314 65.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -2353 1 1 0 50.4357787137 54.9809734905 65.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -2354 1 1 0 49.5642212863 54.9809734905 65.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -2355 1 1 0 48.7059047745 54.8296291314 65.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -2356 1 1 0 47.8869086913 54.5315389352 65.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -2357 1 1 0 47.1321178182 54.0957602214 65.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -2358 1 1 0 46.4644660941 53.5355339059 65.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -2359 1 1 0 45.9042397786 52.8678821818 65.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -2360 1 1 0 45.4684610648 52.1130913087 65.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -2361 1 1 0 45.1703708686 51.2940952255 65.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -2362 1 1 0 45.0190265095 50.4357787137 65.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -2363 1 1 0 45.0190265095 49.5642212863 65.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -2364 1 1 0 45.1703708686 48.7059047745 65.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -2365 1 1 0 45.4684610648 47.8869086913 65.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -2366 1 1 0 45.9042397786 47.1321178182 65.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -2367 1 1 0 46.4644660941 46.4644660941 65.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -2368 1 1 0 47.1321178182 45.9042397786 65.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -2369 1 1 0 47.8869086913 45.4684610648 65.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -2370 1 1 0 48.7059047745 45.1703708686 65.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -2371 1 1 0 49.5642212863 45.0190265095 65.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -2372 1 1 0 50.4357787137 45.0190265095 65.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -2373 1 1 0 51.2940952255 45.1703708686 65.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -2374 1 1 0 52.1130913087 45.4684610648 65.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -2375 1 1 0 52.8678821818 45.9042397786 65.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -2376 1 1 0 53.5355339059 46.4644660941 65.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -2377 1 1 0 54.3301270189 47.5 66.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -2378 1 1 0 54.6984631039 48.2898992834 66.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -2379 1 1 0 54.9240387651 49.1317591117 66.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -2380 1 1 0 55.0 50.0 66.0 1.0 -4.68582145833e-15 0 0.872664625997 -75 42.5 42.5 0.2 -2381 1 1 0 54.9240387651 50.8682408883 66.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -2382 1 1 0 54.6984631039 51.7101007166 66.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -2383 1 1 0 54.3301270189 52.5 66.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -2384 1 1 0 53.8302222156 53.2139380484 66.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -2385 1 1 0 53.2139380484 53.8302222156 66.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -2386 1 1 0 52.5 54.3301270189 66.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -2387 1 1 0 51.7101007166 54.6984631039 66.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -2388 1 1 0 50.8682408883 54.9240387651 66.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -2389 1 1 0 50.0 55.0 66.0 5.63523221799e-15 1.0 0 0.872664625997 -75 42.5 42.5 0.2 -2390 1 1 0 49.1317591117 54.9240387651 66.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -2391 1 1 0 48.2898992834 54.6984631039 66.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -2392 1 1 0 47.5 54.3301270189 66.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -2393 1 1 0 46.7860619516 53.8302222156 66.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -2394 1 1 0 46.1697777844 53.2139380484 66.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -2395 1 1 0 45.6698729811 52.5 66.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -2396 1 1 0 45.3015368961 51.7101007166 66.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -2397 1 1 0 45.0759612349 50.8682408883 66.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -2398 1 1 0 45.0 50.0 66.0 -1.0 5.69646455794e-15 0 0.872664625997 -75 42.5 42.5 0.2 -2399 1 1 0 45.0759612349 49.1317591117 66.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -2400 1 1 0 45.3015368961 48.2898992834 66.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -2401 1 1 0 45.6698729811 47.5 66.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -2402 1 1 0 46.1697777844 46.7860619516 66.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -2403 1 1 0 46.7860619516 46.1697777844 66.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -2404 1 1 0 47.5 45.6698729811 66.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -2405 1 1 0 48.2898992834 45.3015368961 66.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -2406 1 1 0 49.1317591117 45.0759612349 66.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -2407 1 1 0 50.0 45.0 66.0 -5.7576968979e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 -2408 1 1 0 50.8682408883 45.0759612349 66.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -2409 1 1 0 51.7101007166 45.3015368961 66.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -2410 1 1 0 52.5 45.6698729811 66.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -2411 1 1 0 53.2139380484 46.1697777844 66.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -2412 1 1 0 53.8302222156 46.7860619516 66.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -2413 1 1 0 54.5315389352 47.8869086913 67.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -2414 1 1 0 54.8296291314 48.7059047745 67.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -2415 1 1 0 54.9809734905 49.5642212863 67.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -2416 1 1 0 54.9809734905 50.4357787137 67.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -2417 1 1 0 54.8296291314 51.2940952255 67.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -2418 1 1 0 54.5315389352 52.1130913087 67.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -2419 1 1 0 54.0957602214 52.8678821818 67.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -2420 1 1 0 53.5355339059 53.5355339059 67.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -2421 1 1 0 52.8678821818 54.0957602214 67.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -2422 1 1 0 52.1130913087 54.5315389352 67.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -2423 1 1 0 51.2940952255 54.8296291314 67.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -2424 1 1 0 50.4357787137 54.9809734905 67.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -2425 1 1 0 49.5642212863 54.9809734905 67.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -2426 1 1 0 48.7059047745 54.8296291314 67.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -2427 1 1 0 47.8869086913 54.5315389352 67.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -2428 1 1 0 47.1321178182 54.0957602214 67.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -2429 1 1 0 46.4644660941 53.5355339059 67.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -2430 1 1 0 45.9042397786 52.8678821818 67.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -2431 1 1 0 45.4684610648 52.1130913087 67.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -2432 1 1 0 45.1703708686 51.2940952255 67.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -2433 1 1 0 45.0190265095 50.4357787137 67.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -2434 1 1 0 45.0190265095 49.5642212863 67.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -2435 1 1 0 45.1703708686 48.7059047745 67.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -2436 1 1 0 45.4684610648 47.8869086913 67.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -2437 1 1 0 45.9042397786 47.1321178182 67.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -2438 1 1 0 46.4644660941 46.4644660941 67.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -2439 1 1 0 47.1321178182 45.9042397786 67.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -2440 1 1 0 47.8869086913 45.4684610648 67.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -2441 1 1 0 48.7059047745 45.1703708686 67.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -2442 1 1 0 49.5642212863 45.0190265095 67.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -2443 1 1 0 50.4357787137 45.0190265095 67.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -2444 1 1 0 51.2940952255 45.1703708686 67.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -2445 1 1 0 52.1130913087 45.4684610648 67.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -2446 1 1 0 52.8678821818 45.9042397786 67.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -2447 1 1 0 53.5355339059 46.4644660941 67.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -2448 1 1 0 54.0957602214 47.1321178182 67.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -2449 1 1 0 54.6984631039 48.2898992834 68.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -2450 1 1 0 54.9240387651 49.1317591117 68.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -2451 1 1 0 55.0 50.0 68.0 1.0 -5.57399987803e-15 0 0.872664625997 -75 42.5 42.5 0.2 -2452 1 1 0 54.9240387651 50.8682408883 68.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -2453 1 1 0 54.6984631039 51.7101007166 68.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -2454 1 1 0 54.3301270189 52.5 68.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -2455 1 1 0 53.8302222156 53.2139380484 68.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -2456 1 1 0 53.2139380484 53.8302222156 68.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -2457 1 1 0 52.5 54.3301270189 68.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -2458 1 1 0 51.7101007166 54.6984631039 68.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -2459 1 1 0 50.8682408883 54.9240387651 68.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -2460 1 1 0 50.0 55.0 68.0 5.63523221799e-15 1.0 0 0.872664625997 -75 42.5 42.5 0.2 -2461 1 1 0 49.1317591117 54.9240387651 68.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -2462 1 1 0 48.2898992834 54.6984631039 68.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -2463 1 1 0 47.5 54.3301270189 68.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -2464 1 1 0 46.7860619516 53.8302222156 68.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -2465 1 1 0 46.1697777844 53.2139380484 68.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -2466 1 1 0 45.6698729811 52.5 68.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -2467 1 1 0 45.3015368961 51.7101007166 68.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -2468 1 1 0 45.0759612349 50.8682408883 68.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -2469 1 1 0 45.0 50.0 68.0 -1.0 5.69646455794e-15 0 0.872664625997 -75 42.5 42.5 0.2 -2470 1 1 0 45.0759612349 49.1317591117 68.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -2471 1 1 0 45.3015368961 48.2898992834 68.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -2472 1 1 0 45.6698729811 47.5 68.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -2473 1 1 0 46.1697777844 46.7860619516 68.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -2474 1 1 0 46.7860619516 46.1697777844 68.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -2475 1 1 0 47.5 45.6698729811 68.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -2476 1 1 0 48.2898992834 45.3015368961 68.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -2477 1 1 0 49.1317591117 45.0759612349 68.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -2478 1 1 0 50.0 45.0 68.0 -5.7576968979e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 -2479 1 1 0 50.8682408883 45.0759612349 68.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -2480 1 1 0 51.7101007166 45.3015368961 68.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -2481 1 1 0 52.5 45.6698729811 68.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -2482 1 1 0 53.2139380484 46.1697777844 68.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -2483 1 1 0 53.8302222156 46.7860619516 68.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -2484 1 1 0 54.3301270189 47.5 68.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -2485 1 1 0 54.8296291314 48.7059047745 69.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -2486 1 1 0 54.9809734905 49.5642212863 69.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -2487 1 1 0 54.9809734905 50.4357787137 69.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -2488 1 1 0 54.8296291314 51.2940952255 69.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -2489 1 1 0 54.5315389352 52.1130913087 69.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -2490 1 1 0 54.0957602214 52.8678821818 69.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -2491 1 1 0 53.5355339059 53.5355339059 69.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -2492 1 1 0 52.8678821818 54.0957602214 69.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -2493 1 1 0 52.1130913087 54.5315389352 69.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -2494 1 1 0 51.2940952255 54.8296291314 69.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -2495 1 1 0 50.4357787137 54.9809734905 69.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -2496 1 1 0 49.5642212863 54.9809734905 69.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -2497 1 1 0 48.7059047745 54.8296291314 69.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -2498 1 1 0 47.8869086913 54.5315389352 69.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -2499 1 1 0 47.1321178182 54.0957602214 69.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -2500 1 1 0 46.4644660941 53.5355339059 69.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -2501 1 1 0 45.9042397786 52.8678821818 69.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -2502 1 1 0 45.4684610648 52.1130913087 69.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -2503 1 1 0 45.1703708686 51.2940952255 69.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -2504 1 1 0 45.0190265095 50.4357787137 69.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -2505 1 1 0 45.0190265095 49.5642212863 69.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -2506 1 1 0 45.1703708686 48.7059047745 69.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -2507 1 1 0 45.4684610648 47.8869086913 69.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -2508 1 1 0 45.9042397786 47.1321178182 69.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -2509 1 1 0 46.4644660941 46.4644660941 69.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -2510 1 1 0 47.1321178182 45.9042397786 69.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -2511 1 1 0 47.8869086913 45.4684610648 69.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -2512 1 1 0 48.7059047745 45.1703708686 69.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -2513 1 1 0 49.5642212863 45.0190265095 69.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -2514 1 1 0 50.4357787137 45.0190265095 69.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -2515 1 1 0 51.2940952255 45.1703708686 69.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -2516 1 1 0 52.1130913087 45.4684610648 69.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -2517 1 1 0 52.8678821818 45.9042397786 69.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -2518 1 1 0 53.5355339059 46.4644660941 69.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -2519 1 1 0 54.0957602214 47.1321178182 69.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -2520 1 1 0 54.5315389352 47.8869086913 69.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -2521 1 1 0 54.9240387651 49.1317591117 70.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -2522 1 1 0 55.0 50.0 70.0 1.0 -5.57399987803e-15 0 0.872664625997 -75 42.5 42.5 0.2 -2523 1 1 0 54.9240387651 50.8682408883 70.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -2524 1 1 0 54.6984631039 51.7101007166 70.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -2525 1 1 0 54.3301270189 52.5 70.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -2526 1 1 0 53.8302222156 53.2139380484 70.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -2527 1 1 0 53.2139380484 53.8302222156 70.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -2528 1 1 0 52.5 54.3301270189 70.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -2529 1 1 0 51.7101007166 54.6984631039 70.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -2530 1 1 0 50.8682408883 54.9240387651 70.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -2531 1 1 0 50.0 55.0 70.0 5.63523221799e-15 1.0 0 0.872664625997 -75 42.5 42.5 0.2 -2532 1 1 0 49.1317591117 54.9240387651 70.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -2533 1 1 0 48.2898992834 54.6984631039 70.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -2534 1 1 0 47.5 54.3301270189 70.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -2535 1 1 0 46.7860619516 53.8302222156 70.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -2536 1 1 0 46.1697777844 53.2139380484 70.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -2537 1 1 0 45.6698729811 52.5 70.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -2538 1 1 0 45.3015368961 51.7101007166 70.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -2539 1 1 0 45.0759612349 50.8682408883 70.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -2540 1 1 0 45.0 50.0 70.0 -1.0 5.69646455794e-15 0 0.872664625997 -75 42.5 42.5 0.2 -2541 1 1 0 45.0759612349 49.1317591117 70.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -2542 1 1 0 45.3015368961 48.2898992834 70.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -2543 1 1 0 45.6698729811 47.5 70.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -2544 1 1 0 46.1697777844 46.7860619516 70.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -2545 1 1 0 46.7860619516 46.1697777844 70.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -2546 1 1 0 47.5 45.6698729811 70.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -2547 1 1 0 48.2898992834 45.3015368961 70.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -2548 1 1 0 49.1317591117 45.0759612349 70.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -2549 1 1 0 50.0 45.0 70.0 -5.7576968979e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 -2550 1 1 0 50.8682408883 45.0759612349 70.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -2551 1 1 0 51.7101007166 45.3015368961 70.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -2552 1 1 0 52.5 45.6698729811 70.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -2553 1 1 0 53.2139380484 46.1697777844 70.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -2554 1 1 0 53.8302222156 46.7860619516 70.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -2555 1 1 0 54.3301270189 47.5 70.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -2556 1 1 0 54.6984631039 48.2898992834 70.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -2557 1 1 0 54.9809734905 49.5642212863 71.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -2558 1 1 0 54.9809734905 50.4357787137 71.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -2559 1 1 0 54.8296291314 51.2940952255 71.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -2560 1 1 0 54.5315389352 52.1130913087 71.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -2561 1 1 0 54.0957602214 52.8678821818 71.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -2562 1 1 0 53.5355339059 53.5355339059 71.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -2563 1 1 0 52.8678821818 54.0957602214 71.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -2564 1 1 0 52.1130913087 54.5315389352 71.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -2565 1 1 0 51.2940952255 54.8296291314 71.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -2566 1 1 0 50.4357787137 54.9809734905 71.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -2567 1 1 0 49.5642212863 54.9809734905 71.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -2568 1 1 0 48.7059047745 54.8296291314 71.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -2569 1 1 0 47.8869086913 54.5315389352 71.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -2570 1 1 0 47.1321178182 54.0957602214 71.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -2571 1 1 0 46.4644660941 53.5355339059 71.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -2572 1 1 0 45.9042397786 52.8678821818 71.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -2573 1 1 0 45.4684610648 52.1130913087 71.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -2574 1 1 0 45.1703708686 51.2940952255 71.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -2575 1 1 0 45.0190265095 50.4357787137 71.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -2576 1 1 0 45.0190265095 49.5642212863 71.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -2577 1 1 0 45.1703708686 48.7059047745 71.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -2578 1 1 0 45.4684610648 47.8869086913 71.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -2579 1 1 0 45.9042397786 47.1321178182 71.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -2580 1 1 0 46.4644660941 46.4644660941 71.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -2581 1 1 0 47.1321178182 45.9042397786 71.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -2582 1 1 0 47.8869086913 45.4684610648 71.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -2583 1 1 0 48.7059047745 45.1703708686 71.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -2584 1 1 0 49.5642212863 45.0190265095 71.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -2585 1 1 0 50.4357787137 45.0190265095 71.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -2586 1 1 0 51.2940952255 45.1703708686 71.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -2587 1 1 0 52.1130913087 45.4684610648 71.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -2588 1 1 0 52.8678821818 45.9042397786 71.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -2589 1 1 0 53.5355339059 46.4644660941 71.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -2590 1 1 0 54.0957602214 47.1321178182 71.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -2591 1 1 0 54.5315389352 47.8869086913 71.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -2592 1 1 0 54.8296291314 48.7059047745 71.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -2593 1 1 0 55.0 50.0 72.0 1.0 -5.57399987803e-15 0 0.872664625997 -75 42.5 42.5 0.2 -2594 1 1 0 54.9240387651 50.8682408883 72.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -2595 1 1 0 54.6984631039 51.7101007166 72.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -2596 1 1 0 54.3301270189 52.5 72.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -2597 1 1 0 53.8302222156 53.2139380484 72.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -2598 1 1 0 53.2139380484 53.8302222156 72.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -2599 1 1 0 52.5 54.3301270189 72.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -2600 1 1 0 51.7101007166 54.6984631039 72.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -2601 1 1 0 50.8682408883 54.9240387651 72.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -2602 1 1 0 50.0 55.0 72.0 5.63523221799e-15 1.0 0 0.872664625997 -75 42.5 42.5 0.2 -2603 1 1 0 49.1317591117 54.9240387651 72.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -2604 1 1 0 48.2898992834 54.6984631039 72.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -2605 1 1 0 47.5 54.3301270189 72.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -2606 1 1 0 46.7860619516 53.8302222156 72.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -2607 1 1 0 46.1697777844 53.2139380484 72.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -2608 1 1 0 45.6698729811 52.5 72.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -2609 1 1 0 45.3015368961 51.7101007166 72.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -2610 1 1 0 45.0759612349 50.8682408883 72.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -2611 1 1 0 45.0 50.0 72.0 -1.0 5.69646455794e-15 0 0.872664625997 -75 42.5 42.5 0.2 -2612 1 1 0 45.0759612349 49.1317591117 72.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -2613 1 1 0 45.3015368961 48.2898992834 72.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -2614 1 1 0 45.6698729811 47.5 72.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -2615 1 1 0 46.1697777844 46.7860619516 72.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -2616 1 1 0 46.7860619516 46.1697777844 72.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -2617 1 1 0 47.5 45.6698729811 72.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -2618 1 1 0 48.2898992834 45.3015368961 72.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -2619 1 1 0 49.1317591117 45.0759612349 72.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -2620 1 1 0 50.0 45.0 72.0 -5.7576968979e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 -2621 1 1 0 50.8682408883 45.0759612349 72.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -2622 1 1 0 51.7101007166 45.3015368961 72.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -2623 1 1 0 52.5 45.6698729811 72.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -2624 1 1 0 53.2139380484 46.1697777844 72.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -2625 1 1 0 53.8302222156 46.7860619516 72.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -2626 1 1 0 54.3301270189 47.5 72.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -2627 1 1 0 54.6984631039 48.2898992834 72.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -2628 1 1 0 54.9240387651 49.1317591117 72.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -2629 1 1 0 54.9809734905 50.4357787137 73.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -2630 1 1 0 54.8296291314 51.2940952255 73.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -2631 1 1 0 54.5315389352 52.1130913087 73.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -2632 1 1 0 54.0957602214 52.8678821818 73.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -2633 1 1 0 53.5355339059 53.5355339059 73.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -2634 1 1 0 52.8678821818 54.0957602214 73.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -2635 1 1 0 52.1130913087 54.5315389352 73.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -2636 1 1 0 51.2940952255 54.8296291314 73.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -2637 1 1 0 50.4357787137 54.9809734905 73.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -2638 1 1 0 49.5642212863 54.9809734905 73.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -2639 1 1 0 48.7059047745 54.8296291314 73.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -2640 1 1 0 47.8869086913 54.5315389352 73.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -2641 1 1 0 47.1321178182 54.0957602214 73.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -2642 1 1 0 46.4644660941 53.5355339059 73.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -2643 1 1 0 45.9042397786 52.8678821818 73.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -2644 1 1 0 45.4684610648 52.1130913087 73.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -2645 1 1 0 45.1703708686 51.2940952255 73.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -2646 1 1 0 45.0190265095 50.4357787137 73.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -2647 1 1 0 45.0190265095 49.5642212863 73.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -2648 1 1 0 45.1703708686 48.7059047745 73.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -2649 1 1 0 45.4684610648 47.8869086913 73.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -2650 1 1 0 45.9042397786 47.1321178182 73.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -2651 1 1 0 46.4644660941 46.4644660941 73.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -2652 1 1 0 47.1321178182 45.9042397786 73.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -2653 1 1 0 47.8869086913 45.4684610648 73.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -2654 1 1 0 48.7059047745 45.1703708686 73.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -2655 1 1 0 49.5642212863 45.0190265095 73.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -2656 1 1 0 50.4357787137 45.0190265095 73.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -2657 1 1 0 51.2940952255 45.1703708686 73.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -2658 1 1 0 52.1130913087 45.4684610648 73.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -2659 1 1 0 52.8678821818 45.9042397786 73.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -2660 1 1 0 53.5355339059 46.4644660941 73.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -2661 1 1 0 54.0957602214 47.1321178182 73.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -2662 1 1 0 54.5315389352 47.8869086913 73.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -2663 1 1 0 54.8296291314 48.7059047745 73.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -2664 1 1 0 54.9809734905 49.5642212863 73.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -2665 1 1 0 54.9240387651 50.8682408883 74.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -2666 1 1 0 54.6984631039 51.7101007166 74.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -2667 1 1 0 54.3301270189 52.5 74.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -2668 1 1 0 53.8302222156 53.2139380484 74.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -2669 1 1 0 53.2139380484 53.8302222156 74.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -2670 1 1 0 52.5 54.3301270189 74.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -2671 1 1 0 51.7101007166 54.6984631039 74.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -2672 1 1 0 50.8682408883 54.9240387651 74.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -2673 1 1 0 50.0 55.0 74.0 5.63523221799e-15 1.0 0 0.872664625997 -75 42.5 42.5 0.2 -2674 1 1 0 49.1317591117 54.9240387651 74.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -2675 1 1 0 48.2898992834 54.6984631039 74.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -2676 1 1 0 47.5 54.3301270189 74.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -2677 1 1 0 46.7860619516 53.8302222156 74.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -2678 1 1 0 46.1697777844 53.2139380484 74.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -2679 1 1 0 45.6698729811 52.5 74.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -2680 1 1 0 45.3015368961 51.7101007166 74.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -2681 1 1 0 45.0759612349 50.8682408883 74.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -2682 1 1 0 45.0 50.0 74.0 -1.0 5.69646455794e-15 0 0.872664625997 -75 42.5 42.5 0.2 -2683 1 1 0 45.0759612349 49.1317591117 74.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -2684 1 1 0 45.3015368961 48.2898992834 74.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -2685 1 1 0 45.6698729811 47.5 74.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -2686 1 1 0 46.1697777844 46.7860619516 74.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -2687 1 1 0 46.7860619516 46.1697777844 74.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -2688 1 1 0 47.5 45.6698729811 74.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -2689 1 1 0 48.2898992834 45.3015368961 74.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -2690 1 1 0 49.1317591117 45.0759612349 74.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -2691 1 1 0 50.0 45.0 74.0 -5.7576968979e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 -2692 1 1 0 50.8682408883 45.0759612349 74.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -2693 1 1 0 51.7101007166 45.3015368961 74.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -2694 1 1 0 52.5 45.6698729811 74.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -2695 1 1 0 53.2139380484 46.1697777844 74.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -2696 1 1 0 53.8302222156 46.7860619516 74.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -2697 1 1 0 54.3301270189 47.5 74.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -2698 1 1 0 54.6984631039 48.2898992834 74.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -2699 1 1 0 54.9240387651 49.1317591117 74.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -2700 1 1 0 55.0 50.0 74.0 1.0 -5.81892923786e-15 0 0.872664625997 -75 42.5 42.5 0.2 -2701 1 1 0 54.8296291314 51.2940952255 75.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -2702 1 1 0 54.5315389352 52.1130913087 75.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -2703 1 1 0 54.0957602214 52.8678821818 75.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -2704 1 1 0 53.5355339059 53.5355339059 75.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -2705 1 1 0 52.8678821818 54.0957602214 75.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -2706 1 1 0 52.1130913087 54.5315389352 75.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -2707 1 1 0 51.2940952255 54.8296291314 75.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -2708 1 1 0 50.4357787137 54.9809734905 75.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -2709 1 1 0 49.5642212863 54.9809734905 75.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -2710 1 1 0 48.7059047745 54.8296291314 75.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -2711 1 1 0 47.8869086913 54.5315389352 75.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -2712 1 1 0 47.1321178182 54.0957602214 75.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -2713 1 1 0 46.4644660941 53.5355339059 75.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -2714 1 1 0 45.9042397786 52.8678821818 75.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -2715 1 1 0 45.4684610648 52.1130913087 75.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -2716 1 1 0 45.1703708686 51.2940952255 75.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -2717 1 1 0 45.0190265095 50.4357787137 75.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -2718 1 1 0 45.0190265095 49.5642212863 75.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -2719 1 1 0 45.1703708686 48.7059047745 75.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -2720 1 1 0 45.4684610648 47.8869086913 75.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -2721 1 1 0 45.9042397786 47.1321178182 75.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -2722 1 1 0 46.4644660941 46.4644660941 75.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -2723 1 1 0 47.1321178182 45.9042397786 75.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -2724 1 1 0 47.8869086913 45.4684610648 75.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -2725 1 1 0 48.7059047745 45.1703708686 75.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -2726 1 1 0 49.5642212863 45.0190265095 75.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -2727 1 1 0 50.4357787137 45.0190265095 75.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -2728 1 1 0 51.2940952255 45.1703708686 75.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -2729 1 1 0 52.1130913087 45.4684610648 75.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -2730 1 1 0 52.8678821818 45.9042397786 75.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -2731 1 1 0 53.5355339059 46.4644660941 75.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -2732 1 1 0 54.0957602214 47.1321178182 75.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -2733 1 1 0 54.5315389352 47.8869086913 75.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -2734 1 1 0 54.8296291314 48.7059047745 75.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -2735 1 1 0 54.9809734905 49.5642212863 75.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -2736 1 1 0 54.9809734905 50.4357787137 75.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -2737 1 1 0 54.6984631039 51.7101007166 76.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -2738 1 1 0 54.3301270189 52.5 76.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -2739 1 1 0 53.8302222156 53.2139380484 76.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -2740 1 1 0 53.2139380484 53.8302222156 76.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -2741 1 1 0 52.5 54.3301270189 76.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -2742 1 1 0 51.7101007166 54.6984631039 76.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -2743 1 1 0 50.8682408883 54.9240387651 76.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -2744 1 1 0 50.0 55.0 76.0 5.63523221799e-15 1.0 0 0.872664625997 -75 42.5 42.5 0.2 -2745 1 1 0 49.1317591117 54.9240387651 76.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -2746 1 1 0 48.2898992834 54.6984631039 76.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -2747 1 1 0 47.5 54.3301270189 76.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -2748 1 1 0 46.7860619516 53.8302222156 76.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -2749 1 1 0 46.1697777844 53.2139380484 76.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -2750 1 1 0 45.6698729811 52.5 76.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -2751 1 1 0 45.3015368961 51.7101007166 76.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -2752 1 1 0 45.0759612349 50.8682408883 76.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -2753 1 1 0 45.0 50.0 76.0 -1.0 5.69646455794e-15 0 0.872664625997 -75 42.5 42.5 0.2 -2754 1 1 0 45.0759612349 49.1317591117 76.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -2755 1 1 0 45.3015368961 48.2898992834 76.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -2756 1 1 0 45.6698729811 47.5 76.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -2757 1 1 0 46.1697777844 46.7860619516 76.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -2758 1 1 0 46.7860619516 46.1697777844 76.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -2759 1 1 0 47.5 45.6698729811 76.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -2760 1 1 0 48.2898992834 45.3015368961 76.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -2761 1 1 0 49.1317591117 45.0759612349 76.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -2762 1 1 0 50.0 45.0 76.0 -5.7576968979e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 -2763 1 1 0 50.8682408883 45.0759612349 76.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -2764 1 1 0 51.7101007166 45.3015368961 76.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -2765 1 1 0 52.5 45.6698729811 76.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -2766 1 1 0 53.2139380484 46.1697777844 76.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -2767 1 1 0 53.8302222156 46.7860619516 76.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -2768 1 1 0 54.3301270189 47.5 76.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -2769 1 1 0 54.6984631039 48.2898992834 76.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -2770 1 1 0 54.9240387651 49.1317591117 76.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -2771 1 1 0 55.0 50.0 76.0 1.0 -7.59528607726e-15 0 0.872664625997 -75 42.5 42.5 0.2 -2772 1 1 0 54.9240387651 50.8682408883 76.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -2773 1 1 0 54.5315389352 52.1130913087 77.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -2774 1 1 0 54.0957602214 52.8678821818 77.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -2775 1 1 0 53.5355339059 53.5355339059 77.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -2776 1 1 0 52.8678821818 54.0957602214 77.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -2777 1 1 0 52.1130913087 54.5315389352 77.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -2778 1 1 0 51.2940952255 54.8296291314 77.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -2779 1 1 0 50.4357787137 54.9809734905 77.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -2780 1 1 0 49.5642212863 54.9809734905 77.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -2781 1 1 0 48.7059047745 54.8296291314 77.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -2782 1 1 0 47.8869086913 54.5315389352 77.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -2783 1 1 0 47.1321178182 54.0957602214 77.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -2784 1 1 0 46.4644660941 53.5355339059 77.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -2785 1 1 0 45.9042397786 52.8678821818 77.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -2786 1 1 0 45.4684610648 52.1130913087 77.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -2787 1 1 0 45.1703708686 51.2940952255 77.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -2788 1 1 0 45.0190265095 50.4357787137 77.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -2789 1 1 0 45.0190265095 49.5642212863 77.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -2790 1 1 0 45.1703708686 48.7059047745 77.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -2791 1 1 0 45.4684610648 47.8869086913 77.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -2792 1 1 0 45.9042397786 47.1321178182 77.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -2793 1 1 0 46.4644660941 46.4644660941 77.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -2794 1 1 0 47.1321178182 45.9042397786 77.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -2795 1 1 0 47.8869086913 45.4684610648 77.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -2796 1 1 0 48.7059047745 45.1703708686 77.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -2797 1 1 0 49.5642212863 45.0190265095 77.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -2798 1 1 0 50.4357787137 45.0190265095 77.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -2799 1 1 0 51.2940952255 45.1703708686 77.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -2800 1 1 0 52.1130913087 45.4684610648 77.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -2801 1 1 0 52.8678821818 45.9042397786 77.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -2802 1 1 0 53.5355339059 46.4644660941 77.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -2803 1 1 0 54.0957602214 47.1321178182 77.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -2804 1 1 0 54.5315389352 47.8869086913 77.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -2805 1 1 0 54.8296291314 48.7059047745 77.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -2806 1 1 0 54.9809734905 49.5642212863 77.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -2807 1 1 0 54.9809734905 50.4357787137 77.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -2808 1 1 0 54.8296291314 51.2940952255 77.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -2809 1 1 0 54.3301270189 52.5 78.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -2810 1 1 0 53.8302222156 53.2139380484 78.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -2811 1 1 0 53.2139380484 53.8302222156 78.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -2812 1 1 0 52.5 54.3301270189 78.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -2813 1 1 0 51.7101007166 54.6984631039 78.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -2814 1 1 0 50.8682408883 54.9240387651 78.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -2815 1 1 0 50.0 55.0 78.0 6.52341063769e-15 1.0 0 0.872664625997 -75 42.5 42.5 0.2 -2816 1 1 0 49.1317591117 54.9240387651 78.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -2817 1 1 0 48.2898992834 54.6984631039 78.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -2818 1 1 0 47.5 54.3301270189 78.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -2819 1 1 0 46.7860619516 53.8302222156 78.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -2820 1 1 0 46.1697777844 53.2139380484 78.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -2821 1 1 0 45.6698729811 52.5 78.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -2822 1 1 0 45.3015368961 51.7101007166 78.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -2823 1 1 0 45.0759612349 50.8682408883 78.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -2824 1 1 0 45.0 50.0 78.0 -1.0 5.69646455794e-15 0 0.872664625997 -75 42.5 42.5 0.2 -2825 1 1 0 45.0759612349 49.1317591117 78.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -2826 1 1 0 45.3015368961 48.2898992834 78.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -2827 1 1 0 45.6698729811 47.5 78.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -2828 1 1 0 46.1697777844 46.7860619516 78.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -2829 1 1 0 46.7860619516 46.1697777844 78.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -2830 1 1 0 47.5 45.6698729811 78.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -2831 1 1 0 48.2898992834 45.3015368961 78.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -2832 1 1 0 49.1317591117 45.0759612349 78.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -2833 1 1 0 50.0 45.0 78.0 -5.7576968979e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 -2834 1 1 0 50.8682408883 45.0759612349 78.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -2835 1 1 0 51.7101007166 45.3015368961 78.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -2836 1 1 0 52.5 45.6698729811 78.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -2837 1 1 0 53.2139380484 46.1697777844 78.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -2838 1 1 0 53.8302222156 46.7860619516 78.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -2839 1 1 0 54.3301270189 47.5 78.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -2840 1 1 0 54.6984631039 48.2898992834 78.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -2841 1 1 0 54.9240387651 49.1317591117 78.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -2842 1 1 0 55.0 50.0 78.0 1.0 -7.59528607726e-15 0 0.872664625997 -75 42.5 42.5 0.2 -2843 1 1 0 54.9240387651 50.8682408883 78.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -2844 1 1 0 54.6984631039 51.7101007166 78.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -2845 1 1 0 54.0957602214 52.8678821818 79.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -2846 1 1 0 53.5355339059 53.5355339059 79.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -2847 1 1 0 52.8678821818 54.0957602214 79.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -2848 1 1 0 52.1130913087 54.5315389352 79.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -2849 1 1 0 51.2940952255 54.8296291314 79.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -2850 1 1 0 50.4357787137 54.9809734905 79.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -2851 1 1 0 49.5642212863 54.9809734905 79.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -2852 1 1 0 48.7059047745 54.8296291314 79.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -2853 1 1 0 47.8869086913 54.5315389352 79.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -2854 1 1 0 47.1321178182 54.0957602214 79.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -2855 1 1 0 46.4644660941 53.5355339059 79.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -2856 1 1 0 45.9042397786 52.8678821818 79.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -2857 1 1 0 45.4684610648 52.1130913087 79.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -2858 1 1 0 45.1703708686 51.2940952255 79.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -2859 1 1 0 45.0190265095 50.4357787137 79.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -2860 1 1 0 45.0190265095 49.5642212863 79.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -2861 1 1 0 45.1703708686 48.7059047745 79.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -2862 1 1 0 45.4684610648 47.8869086913 79.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -2863 1 1 0 45.9042397786 47.1321178182 79.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -2864 1 1 0 46.4644660941 46.4644660941 79.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -2865 1 1 0 47.1321178182 45.9042397786 79.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -2866 1 1 0 47.8869086913 45.4684610648 79.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -2867 1 1 0 48.7059047745 45.1703708686 79.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -2868 1 1 0 49.5642212863 45.0190265095 79.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -2869 1 1 0 50.4357787137 45.0190265095 79.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -2870 1 1 0 51.2940952255 45.1703708686 79.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -2871 1 1 0 52.1130913087 45.4684610648 79.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -2872 1 1 0 52.8678821818 45.9042397786 79.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -2873 1 1 0 53.5355339059 46.4644660941 79.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -2874 1 1 0 54.0957602214 47.1321178182 79.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -2875 1 1 0 54.5315389352 47.8869086913 79.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -2876 1 1 0 54.8296291314 48.7059047745 79.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -2877 1 1 0 54.9809734905 49.5642212863 79.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -2878 1 1 0 54.9809734905 50.4357787137 79.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -2879 1 1 0 54.8296291314 51.2940952255 79.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -2880 1 1 0 54.5315389352 52.1130913087 79.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -2881 1 1 0 53.8302222156 53.2139380484 80.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -2882 1 1 0 53.2139380484 53.8302222156 80.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -2883 1 1 0 52.5 54.3301270189 80.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -2884 1 1 0 51.7101007166 54.6984631039 80.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -2885 1 1 0 50.8682408883 54.9240387651 80.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -2886 1 1 0 50.0 55.0 80.0 6.52341063769e-15 1.0 0 0.872664625997 -75 42.5 42.5 0.2 -2887 1 1 0 49.1317591117 54.9240387651 80.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -2888 1 1 0 48.2898992834 54.6984631039 80.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -2889 1 1 0 47.5 54.3301270189 80.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -2890 1 1 0 46.7860619516 53.8302222156 80.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -2891 1 1 0 46.1697777844 53.2139380484 80.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -2892 1 1 0 45.6698729811 52.5 80.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -2893 1 1 0 45.3015368961 51.7101007166 80.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -2894 1 1 0 45.0759612349 50.8682408883 80.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -2895 1 1 0 45.0 50.0 80.0 -1.0 7.47282139735e-15 0 0.872664625997 -75 42.5 42.5 0.2 -2896 1 1 0 45.0759612349 49.1317591117 80.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -2897 1 1 0 45.3015368961 48.2898992834 80.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -2898 1 1 0 45.6698729811 47.5 80.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -2899 1 1 0 46.1697777844 46.7860619516 80.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -2900 1 1 0 46.7860619516 46.1697777844 80.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -2901 1 1 0 47.5 45.6698729811 80.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -2902 1 1 0 48.2898992834 45.3015368961 80.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -2903 1 1 0 49.1317591117 45.0759612349 80.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -2904 1 1 0 50.0 45.0 80.0 -5.7576968979e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 -2905 1 1 0 50.8682408883 45.0759612349 80.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -2906 1 1 0 51.7101007166 45.3015368961 80.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -2907 1 1 0 52.5 45.6698729811 80.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -2908 1 1 0 53.2139380484 46.1697777844 80.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -2909 1 1 0 53.8302222156 46.7860619516 80.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -2910 1 1 0 54.3301270189 47.5 80.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -2911 1 1 0 54.6984631039 48.2898992834 80.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -2912 1 1 0 54.9240387651 49.1317591117 80.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -2913 1 1 0 55.0 50.0 80.0 1.0 -7.59528607726e-15 0 0.872664625997 -75 42.5 42.5 0.2 -2914 1 1 0 54.9240387651 50.8682408883 80.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -2915 1 1 0 54.6984631039 51.7101007166 80.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -2916 1 1 0 54.3301270189 52.5 80.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -2917 1 1 0 53.5355339059 53.5355339059 81.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -2918 1 1 0 52.8678821818 54.0957602214 81.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -2919 1 1 0 52.1130913087 54.5315389352 81.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -2920 1 1 0 51.2940952255 54.8296291314 81.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -2921 1 1 0 50.4357787137 54.9809734905 81.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -2922 1 1 0 49.5642212863 54.9809734905 81.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -2923 1 1 0 48.7059047745 54.8296291314 81.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -2924 1 1 0 47.8869086913 54.5315389352 81.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -2925 1 1 0 47.1321178182 54.0957602214 81.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -2926 1 1 0 46.4644660941 53.5355339059 81.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -2927 1 1 0 45.9042397786 52.8678821818 81.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -2928 1 1 0 45.4684610648 52.1130913087 81.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -2929 1 1 0 45.1703708686 51.2940952255 81.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -2930 1 1 0 45.0190265095 50.4357787137 81.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -2931 1 1 0 45.0190265095 49.5642212863 81.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -2932 1 1 0 45.1703708686 48.7059047745 81.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -2933 1 1 0 45.4684610648 47.8869086913 81.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -2934 1 1 0 45.9042397786 47.1321178182 81.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -2935 1 1 0 46.4644660941 46.4644660941 81.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -2936 1 1 0 47.1321178182 45.9042397786 81.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -2937 1 1 0 47.8869086913 45.4684610648 81.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -2938 1 1 0 48.7059047745 45.1703708686 81.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -2939 1 1 0 49.5642212863 45.0190265095 81.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -2940 1 1 0 50.4357787137 45.0190265095 81.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -2941 1 1 0 51.2940952255 45.1703708686 81.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -2942 1 1 0 52.1130913087 45.4684610648 81.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -2943 1 1 0 52.8678821818 45.9042397786 81.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -2944 1 1 0 53.5355339059 46.4644660941 81.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -2945 1 1 0 54.0957602214 47.1321178182 81.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -2946 1 1 0 54.5315389352 47.8869086913 81.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -2947 1 1 0 54.8296291314 48.7059047745 81.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -2948 1 1 0 54.9809734905 49.5642212863 81.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -2949 1 1 0 54.9809734905 50.4357787137 81.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -2950 1 1 0 54.8296291314 51.2940952255 81.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -2951 1 1 0 54.5315389352 52.1130913087 81.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -2952 1 1 0 54.0957602214 52.8678821818 81.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -2953 1 1 0 53.2139380484 53.8302222156 82.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -2954 1 1 0 52.5 54.3301270189 82.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -2955 1 1 0 51.7101007166 54.6984631039 82.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -2956 1 1 0 50.8682408883 54.9240387651 82.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -2957 1 1 0 50.0 55.0 82.0 6.52341063769e-15 1.0 0 0.872664625997 -75 42.5 42.5 0.2 -2958 1 1 0 49.1317591117 54.9240387651 82.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -2959 1 1 0 48.2898992834 54.6984631039 82.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -2960 1 1 0 47.5 54.3301270189 82.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -2961 1 1 0 46.7860619516 53.8302222156 82.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -2962 1 1 0 46.1697777844 53.2139380484 82.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -2963 1 1 0 45.6698729811 52.5 82.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -2964 1 1 0 45.3015368961 51.7101007166 82.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -2965 1 1 0 45.0759612349 50.8682408883 82.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -2966 1 1 0 45.0 50.0 82.0 -1.0 7.47282139735e-15 0 0.872664625997 -75 42.5 42.5 0.2 -2967 1 1 0 45.0759612349 49.1317591117 82.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -2968 1 1 0 45.3015368961 48.2898992834 82.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -2969 1 1 0 45.6698729811 47.5 82.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -2970 1 1 0 46.1697777844 46.7860619516 82.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -2971 1 1 0 46.7860619516 46.1697777844 82.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -2972 1 1 0 47.5 45.6698729811 82.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -2973 1 1 0 48.2898992834 45.3015368961 82.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -2974 1 1 0 49.1317591117 45.0759612349 82.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -2975 1 1 0 50.0 45.0 82.0 -5.7576968979e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 -2976 1 1 0 50.8682408883 45.0759612349 82.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -2977 1 1 0 51.7101007166 45.3015368961 82.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -2978 1 1 0 52.5 45.6698729811 82.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -2979 1 1 0 53.2139380484 46.1697777844 82.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -2980 1 1 0 53.8302222156 46.7860619516 82.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -2981 1 1 0 54.3301270189 47.5 82.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -2982 1 1 0 54.6984631039 48.2898992834 82.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -2983 1 1 0 54.9240387651 49.1317591117 82.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -2984 1 1 0 55.0 50.0 82.0 1.0 -7.59528607726e-15 0 0.872664625997 -75 42.5 42.5 0.2 -2985 1 1 0 54.9240387651 50.8682408883 82.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -2986 1 1 0 54.6984631039 51.7101007166 82.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -2987 1 1 0 54.3301270189 52.5 82.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -2988 1 1 0 53.8302222156 53.2139380484 82.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -2989 1 1 0 52.8678821818 54.0957602214 83.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -2990 1 1 0 52.1130913087 54.5315389352 83.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -2991 1 1 0 51.2940952255 54.8296291314 83.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -2992 1 1 0 50.4357787137 54.9809734905 83.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -2993 1 1 0 49.5642212863 54.9809734905 83.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -2994 1 1 0 48.7059047745 54.8296291314 83.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -2995 1 1 0 47.8869086913 54.5315389352 83.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -2996 1 1 0 47.1321178182 54.0957602214 83.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -2997 1 1 0 46.4644660941 53.5355339059 83.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -2998 1 1 0 45.9042397786 52.8678821818 83.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -2999 1 1 0 45.4684610648 52.1130913087 83.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -3000 1 1 0 45.1703708686 51.2940952255 83.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -3001 1 1 0 45.0190265095 50.4357787137 83.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -3002 1 1 0 45.0190265095 49.5642212863 83.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -3003 1 1 0 45.1703708686 48.7059047745 83.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -3004 1 1 0 45.4684610648 47.8869086913 83.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -3005 1 1 0 45.9042397786 47.1321178182 83.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -3006 1 1 0 46.4644660941 46.4644660941 83.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -3007 1 1 0 47.1321178182 45.9042397786 83.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -3008 1 1 0 47.8869086913 45.4684610648 83.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -3009 1 1 0 48.7059047745 45.1703708686 83.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -3010 1 1 0 49.5642212863 45.0190265095 83.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -3011 1 1 0 50.4357787137 45.0190265095 83.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -3012 1 1 0 51.2940952255 45.1703708686 83.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -3013 1 1 0 52.1130913087 45.4684610648 83.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -3014 1 1 0 52.8678821818 45.9042397786 83.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -3015 1 1 0 53.5355339059 46.4644660941 83.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -3016 1 1 0 54.0957602214 47.1321178182 83.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -3017 1 1 0 54.5315389352 47.8869086913 83.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -3018 1 1 0 54.8296291314 48.7059047745 83.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -3019 1 1 0 54.9809734905 49.5642212863 83.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -3020 1 1 0 54.9809734905 50.4357787137 83.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -3021 1 1 0 54.8296291314 51.2940952255 83.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -3022 1 1 0 54.5315389352 52.1130913087 83.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -3023 1 1 0 54.0957602214 52.8678821818 83.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -3024 1 1 0 53.5355339059 53.5355339059 83.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -3025 1 1 0 52.5 54.3301270189 84.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -3026 1 1 0 51.7101007166 54.6984631039 84.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -3027 1 1 0 50.8682408883 54.9240387651 84.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -3028 1 1 0 50.0 55.0 84.0 6.52341063769e-15 1.0 0 0.872664625997 -75 42.5 42.5 0.2 -3029 1 1 0 49.1317591117 54.9240387651 84.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -3030 1 1 0 48.2898992834 54.6984631039 84.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -3031 1 1 0 47.5 54.3301270189 84.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -3032 1 1 0 46.7860619516 53.8302222156 84.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -3033 1 1 0 46.1697777844 53.2139380484 84.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -3034 1 1 0 45.6698729811 52.5 84.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -3035 1 1 0 45.3015368961 51.7101007166 84.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -3036 1 1 0 45.0759612349 50.8682408883 84.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -3037 1 1 0 45.0 50.0 84.0 -1.0 7.47282139735e-15 0 0.872664625997 -75 42.5 42.5 0.2 -3038 1 1 0 45.0759612349 49.1317591117 84.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -3039 1 1 0 45.3015368961 48.2898992834 84.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -3040 1 1 0 45.6698729811 47.5 84.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -3041 1 1 0 46.1697777844 46.7860619516 84.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -3042 1 1 0 46.7860619516 46.1697777844 84.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -3043 1 1 0 47.5 45.6698729811 84.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -3044 1 1 0 48.2898992834 45.3015368961 84.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -3045 1 1 0 49.1317591117 45.0759612349 84.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -3046 1 1 0 50.0 45.0 84.0 -7.5340537373e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 -3047 1 1 0 50.8682408883 45.0759612349 84.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -3048 1 1 0 51.7101007166 45.3015368961 84.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -3049 1 1 0 52.5 45.6698729811 84.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -3050 1 1 0 53.2139380484 46.1697777844 84.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -3051 1 1 0 53.8302222156 46.7860619516 84.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -3052 1 1 0 54.3301270189 47.5 84.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -3053 1 1 0 54.6984631039 48.2898992834 84.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -3054 1 1 0 54.9240387651 49.1317591117 84.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -3055 1 1 0 55.0 50.0 84.0 1.0 -7.59528607726e-15 0 0.872664625997 -75 42.5 42.5 0.2 -3056 1 1 0 54.9240387651 50.8682408883 84.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -3057 1 1 0 54.6984631039 51.7101007166 84.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -3058 1 1 0 54.3301270189 52.5 84.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -3059 1 1 0 53.8302222156 53.2139380484 84.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -3060 1 1 0 53.2139380484 53.8302222156 84.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -3061 1 1 0 52.1130913087 54.5315389352 85.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -3062 1 1 0 51.2940952255 54.8296291314 85.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -3063 1 1 0 50.4357787137 54.9809734905 85.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -3064 1 1 0 49.5642212863 54.9809734905 85.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -3065 1 1 0 48.7059047745 54.8296291314 85.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -3066 1 1 0 47.8869086913 54.5315389352 85.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -3067 1 1 0 47.1321178182 54.0957602214 85.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -3068 1 1 0 46.4644660941 53.5355339059 85.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -3069 1 1 0 45.9042397786 52.8678821818 85.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -3070 1 1 0 45.4684610648 52.1130913087 85.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -3071 1 1 0 45.1703708686 51.2940952255 85.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -3072 1 1 0 45.0190265095 50.4357787137 85.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -3073 1 1 0 45.0190265095 49.5642212863 85.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -3074 1 1 0 45.1703708686 48.7059047745 85.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -3075 1 1 0 45.4684610648 47.8869086913 85.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -3076 1 1 0 45.9042397786 47.1321178182 85.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -3077 1 1 0 46.4644660941 46.4644660941 85.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -3078 1 1 0 47.1321178182 45.9042397786 85.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -3079 1 1 0 47.8869086913 45.4684610648 85.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -3080 1 1 0 48.7059047745 45.1703708686 85.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -3081 1 1 0 49.5642212863 45.0190265095 85.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -3082 1 1 0 50.4357787137 45.0190265095 85.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -3083 1 1 0 51.2940952255 45.1703708686 85.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -3084 1 1 0 52.1130913087 45.4684610648 85.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -3085 1 1 0 52.8678821818 45.9042397786 85.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -3086 1 1 0 53.5355339059 46.4644660941 85.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -3087 1 1 0 54.0957602214 47.1321178182 85.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -3088 1 1 0 54.5315389352 47.8869086913 85.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -3089 1 1 0 54.8296291314 48.7059047745 85.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -3090 1 1 0 54.9809734905 49.5642212863 85.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -3091 1 1 0 54.9809734905 50.4357787137 85.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -3092 1 1 0 54.8296291314 51.2940952255 85.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -3093 1 1 0 54.5315389352 52.1130913087 85.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -3094 1 1 0 54.0957602214 52.8678821818 85.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -3095 1 1 0 53.5355339059 53.5355339059 85.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -3096 1 1 0 52.8678821818 54.0957602214 85.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -3097 1 1 0 51.7101007166 54.6984631039 86.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -3098 1 1 0 50.8682408883 54.9240387651 86.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -3099 1 1 0 50.0 55.0 86.0 7.41158905739e-15 1.0 0 0.872664625997 -75 42.5 42.5 0.2 -3100 1 1 0 49.1317591117 54.9240387651 86.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -3101 1 1 0 48.2898992834 54.6984631039 86.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -3102 1 1 0 47.5 54.3301270189 86.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -3103 1 1 0 46.7860619516 53.8302222156 86.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -3104 1 1 0 46.1697777844 53.2139380484 86.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -3105 1 1 0 45.6698729811 52.5 86.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -3106 1 1 0 45.3015368961 51.7101007166 86.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -3107 1 1 0 45.0759612349 50.8682408883 86.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -3108 1 1 0 45.0 50.0 86.0 -1.0 7.47282139735e-15 0 0.872664625997 -75 42.5 42.5 0.2 -3109 1 1 0 45.0759612349 49.1317591117 86.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -3110 1 1 0 45.3015368961 48.2898992834 86.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -3111 1 1 0 45.6698729811 47.5 86.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -3112 1 1 0 46.1697777844 46.7860619516 86.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -3113 1 1 0 46.7860619516 46.1697777844 86.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -3114 1 1 0 47.5 45.6698729811 86.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -3115 1 1 0 48.2898992834 45.3015368961 86.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -3116 1 1 0 49.1317591117 45.0759612349 86.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -3117 1 1 0 50.0 45.0 86.0 -7.5340537373e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 -3118 1 1 0 50.8682408883 45.0759612349 86.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -3119 1 1 0 51.7101007166 45.3015368961 86.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -3120 1 1 0 52.5 45.6698729811 86.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -3121 1 1 0 53.2139380484 46.1697777844 86.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -3122 1 1 0 53.8302222156 46.7860619516 86.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -3123 1 1 0 54.3301270189 47.5 86.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -3124 1 1 0 54.6984631039 48.2898992834 86.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -3125 1 1 0 54.9240387651 49.1317591117 86.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -3126 1 1 0 55.0 50.0 86.0 1.0 -7.59528607726e-15 0 0.872664625997 -75 42.5 42.5 0.2 -3127 1 1 0 54.9240387651 50.8682408883 86.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -3128 1 1 0 54.6984631039 51.7101007166 86.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -3129 1 1 0 54.3301270189 52.5 86.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -3130 1 1 0 53.8302222156 53.2139380484 86.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -3131 1 1 0 53.2139380484 53.8302222156 86.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -3132 1 1 0 52.5 54.3301270189 86.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -3133 1 1 0 51.2940952255 54.8296291314 87.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -3134 1 1 0 50.4357787137 54.9809734905 87.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -3135 1 1 0 49.5642212863 54.9809734905 87.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -3136 1 1 0 48.7059047745 54.8296291314 87.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -3137 1 1 0 47.8869086913 54.5315389352 87.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -3138 1 1 0 47.1321178182 54.0957602214 87.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -3139 1 1 0 46.4644660941 53.5355339059 87.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -3140 1 1 0 45.9042397786 52.8678821818 87.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -3141 1 1 0 45.4684610648 52.1130913087 87.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -3142 1 1 0 45.1703708686 51.2940952255 87.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -3143 1 1 0 45.0190265095 50.4357787137 87.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -3144 1 1 0 45.0190265095 49.5642212863 87.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -3145 1 1 0 45.1703708686 48.7059047745 87.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -3146 1 1 0 45.4684610648 47.8869086913 87.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -3147 1 1 0 45.9042397786 47.1321178182 87.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -3148 1 1 0 46.4644660941 46.4644660941 87.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -3149 1 1 0 47.1321178182 45.9042397786 87.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -3150 1 1 0 47.8869086913 45.4684610648 87.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -3151 1 1 0 48.7059047745 45.1703708686 87.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -3152 1 1 0 49.5642212863 45.0190265095 87.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -3153 1 1 0 50.4357787137 45.0190265095 87.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -3154 1 1 0 51.2940952255 45.1703708686 87.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -3155 1 1 0 52.1130913087 45.4684610648 87.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -3156 1 1 0 52.8678821818 45.9042397786 87.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -3157 1 1 0 53.5355339059 46.4644660941 87.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -3158 1 1 0 54.0957602214 47.1321178182 87.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -3159 1 1 0 54.5315389352 47.8869086913 87.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -3160 1 1 0 54.8296291314 48.7059047745 87.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -3161 1 1 0 54.9809734905 49.5642212863 87.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -3162 1 1 0 54.9809734905 50.4357787137 87.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -3163 1 1 0 54.8296291314 51.2940952255 87.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -3164 1 1 0 54.5315389352 52.1130913087 87.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -3165 1 1 0 54.0957602214 52.8678821818 87.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -3166 1 1 0 53.5355339059 53.5355339059 87.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -3167 1 1 0 52.8678821818 54.0957602214 87.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -3168 1 1 0 52.1130913087 54.5315389352 87.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -3169 1 1 0 50.8682408883 54.9240387651 88.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -3170 1 1 0 50.0 55.0 88.0 7.41158905739e-15 1.0 0 0.872664625997 -75 42.5 42.5 0.2 -3171 1 1 0 49.1317591117 54.9240387651 88.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -3172 1 1 0 48.2898992834 54.6984631039 88.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -3173 1 1 0 47.5 54.3301270189 88.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -3174 1 1 0 46.7860619516 53.8302222156 88.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -3175 1 1 0 46.1697777844 53.2139380484 88.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -3176 1 1 0 45.6698729811 52.5 88.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -3177 1 1 0 45.3015368961 51.7101007166 88.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -3178 1 1 0 45.0759612349 50.8682408883 88.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -3179 1 1 0 45.0 50.0 88.0 -1.0 7.47282139735e-15 0 0.872664625997 -75 42.5 42.5 0.2 -3180 1 1 0 45.0759612349 49.1317591117 88.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -3181 1 1 0 45.3015368961 48.2898992834 88.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -3182 1 1 0 45.6698729811 47.5 88.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -3183 1 1 0 46.1697777844 46.7860619516 88.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -3184 1 1 0 46.7860619516 46.1697777844 88.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -3185 1 1 0 47.5 45.6698729811 88.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -3186 1 1 0 48.2898992834 45.3015368961 88.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -3187 1 1 0 49.1317591117 45.0759612349 88.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -3188 1 1 0 50.0 45.0 88.0 -7.5340537373e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 -3189 1 1 0 50.8682408883 45.0759612349 88.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -3190 1 1 0 51.7101007166 45.3015368961 88.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -3191 1 1 0 52.5 45.6698729811 88.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -3192 1 1 0 53.2139380484 46.1697777844 88.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -3193 1 1 0 53.8302222156 46.7860619516 88.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -3194 1 1 0 54.3301270189 47.5 88.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -3195 1 1 0 54.6984631039 48.2898992834 88.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -3196 1 1 0 54.9240387651 49.1317591117 88.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -3197 1 1 0 55.0 50.0 88.0 1.0 -7.59528607726e-15 0 0.872664625997 -75 42.5 42.5 0.2 -3198 1 1 0 54.9240387651 50.8682408883 88.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -3199 1 1 0 54.6984631039 51.7101007166 88.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -3200 1 1 0 54.3301270189 52.5 88.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -3201 1 1 0 53.8302222156 53.2139380484 88.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -3202 1 1 0 53.2139380484 53.8302222156 88.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -3203 1 1 0 52.5 54.3301270189 88.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -3204 1 1 0 51.7101007166 54.6984631039 88.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -3205 1 1 0 50.4357787137 54.9809734905 89.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -3206 1 1 0 49.5642212863 54.9809734905 89.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -3207 1 1 0 48.7059047745 54.8296291314 89.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -3208 1 1 0 47.8869086913 54.5315389352 89.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -3209 1 1 0 47.1321178182 54.0957602214 89.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -3210 1 1 0 46.4644660941 53.5355339059 89.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -3211 1 1 0 45.9042397786 52.8678821818 89.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -3212 1 1 0 45.4684610648 52.1130913087 89.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -3213 1 1 0 45.1703708686 51.2940952255 89.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -3214 1 1 0 45.0190265095 50.4357787137 89.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -3215 1 1 0 45.0190265095 49.5642212863 89.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -3216 1 1 0 45.1703708686 48.7059047745 89.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -3217 1 1 0 45.4684610648 47.8869086913 89.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -3218 1 1 0 45.9042397786 47.1321178182 89.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -3219 1 1 0 46.4644660941 46.4644660941 89.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -3220 1 1 0 47.1321178182 45.9042397786 89.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -3221 1 1 0 47.8869086913 45.4684610648 89.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -3222 1 1 0 48.7059047745 45.1703708686 89.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -3223 1 1 0 49.5642212863 45.0190265095 89.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -3224 1 1 0 50.4357787137 45.0190265095 89.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -3225 1 1 0 51.2940952255 45.1703708686 89.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -3226 1 1 0 52.1130913087 45.4684610648 89.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -3227 1 1 0 52.8678821818 45.9042397786 89.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -3228 1 1 0 53.5355339059 46.4644660941 89.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -3229 1 1 0 54.0957602214 47.1321178182 89.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -3230 1 1 0 54.5315389352 47.8869086913 89.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -3231 1 1 0 54.8296291314 48.7059047745 89.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -3232 1 1 0 54.9809734905 49.5642212863 89.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -3233 1 1 0 54.9809734905 50.4357787137 89.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -3234 1 1 0 54.8296291314 51.2940952255 89.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -3235 1 1 0 54.5315389352 52.1130913087 89.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -3236 1 1 0 54.0957602214 52.8678821818 89.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -3237 1 1 0 53.5355339059 53.5355339059 89.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -3238 1 1 0 52.8678821818 54.0957602214 89.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -3239 1 1 0 52.1130913087 54.5315389352 89.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -3240 1 1 0 51.2940952255 54.8296291314 89.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -3241 1 1 0 50.0 55.0 90.0 7.41158905739e-15 1.0 0 0.872664625997 -75 42.5 42.5 0.2 -3242 1 1 0 49.1317591117 54.9240387651 90.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -3243 1 1 0 48.2898992834 54.6984631039 90.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -3244 1 1 0 47.5 54.3301270189 90.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -3245 1 1 0 46.7860619516 53.8302222156 90.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -3246 1 1 0 46.1697777844 53.2139380484 90.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -3247 1 1 0 45.6698729811 52.5 90.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -3248 1 1 0 45.3015368961 51.7101007166 90.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -3249 1 1 0 45.0759612349 50.8682408883 90.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -3250 1 1 0 45.0 50.0 90.0 -1.0 7.47282139735e-15 0 0.872664625997 -75 42.5 42.5 0.2 -3251 1 1 0 45.0759612349 49.1317591117 90.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -3252 1 1 0 45.3015368961 48.2898992834 90.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -3253 1 1 0 45.6698729811 47.5 90.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -3254 1 1 0 46.1697777844 46.7860619516 90.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -3255 1 1 0 46.7860619516 46.1697777844 90.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -3256 1 1 0 47.5 45.6698729811 90.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -3257 1 1 0 48.2898992834 45.3015368961 90.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -3258 1 1 0 49.1317591117 45.0759612349 90.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -3259 1 1 0 50.0 45.0 90.0 -7.5340537373e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 -3260 1 1 0 50.8682408883 45.0759612349 90.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -3261 1 1 0 51.7101007166 45.3015368961 90.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -3262 1 1 0 52.5 45.6698729811 90.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -3263 1 1 0 53.2139380484 46.1697777844 90.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -3264 1 1 0 53.8302222156 46.7860619516 90.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -3265 1 1 0 54.3301270189 47.5 90.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -3266 1 1 0 54.6984631039 48.2898992834 90.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -3267 1 1 0 54.9240387651 49.1317591117 90.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -3268 1 1 0 55.0 50.0 90.0 1.0 -7.59528607726e-15 0 0.872664625997 -75 42.5 42.5 0.2 -3269 1 1 0 54.9240387651 50.8682408883 90.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -3270 1 1 0 54.6984631039 51.7101007166 90.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -3271 1 1 0 54.3301270189 52.5 90.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -3272 1 1 0 53.8302222156 53.2139380484 90.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -3273 1 1 0 53.2139380484 53.8302222156 90.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -3274 1 1 0 52.5 54.3301270189 90.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -3275 1 1 0 51.7101007166 54.6984631039 90.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -3276 1 1 0 50.8682408883 54.9240387651 90.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -3277 1 1 0 49.5642212863 54.9809734905 91.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -3278 1 1 0 48.7059047745 54.8296291314 91.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -3279 1 1 0 47.8869086913 54.5315389352 91.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -3280 1 1 0 47.1321178182 54.0957602214 91.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -3281 1 1 0 46.4644660941 53.5355339059 91.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -3282 1 1 0 45.9042397786 52.8678821818 91.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -3283 1 1 0 45.4684610648 52.1130913087 91.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -3284 1 1 0 45.1703708686 51.2940952255 91.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -3285 1 1 0 45.0190265095 50.4357787137 91.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -3286 1 1 0 45.0190265095 49.5642212863 91.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -3287 1 1 0 45.1703708686 48.7059047745 91.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -3288 1 1 0 45.4684610648 47.8869086913 91.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -3289 1 1 0 45.9042397786 47.1321178182 91.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -3290 1 1 0 46.4644660941 46.4644660941 91.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -3291 1 1 0 47.1321178182 45.9042397786 91.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -3292 1 1 0 47.8869086913 45.4684610648 91.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -3293 1 1 0 48.7059047745 45.1703708686 91.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -3294 1 1 0 49.5642212863 45.0190265095 91.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -3295 1 1 0 50.4357787137 45.0190265095 91.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -3296 1 1 0 51.2940952255 45.1703708686 91.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -3297 1 1 0 52.1130913087 45.4684610648 91.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -3298 1 1 0 52.8678821818 45.9042397786 91.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -3299 1 1 0 53.5355339059 46.4644660941 91.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -3300 1 1 0 54.0957602214 47.1321178182 91.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -3301 1 1 0 54.5315389352 47.8869086913 91.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -3302 1 1 0 54.8296291314 48.7059047745 91.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -3303 1 1 0 54.9809734905 49.5642212863 91.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -3304 1 1 0 54.9809734905 50.4357787137 91.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -3305 1 1 0 54.8296291314 51.2940952255 91.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -3306 1 1 0 54.5315389352 52.1130913087 91.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -3307 1 1 0 54.0957602214 52.8678821818 91.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -3308 1 1 0 53.5355339059 53.5355339059 91.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -3309 1 1 0 52.8678821818 54.0957602214 91.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -3310 1 1 0 52.1130913087 54.5315389352 91.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -3311 1 1 0 51.2940952255 54.8296291314 91.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -3312 1 1 0 50.4357787137 54.9809734905 91.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -3313 1 1 0 49.1317591117 54.9240387651 92.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -3314 1 1 0 48.2898992834 54.6984631039 92.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -3315 1 1 0 47.5 54.3301270189 92.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -3316 1 1 0 46.7860619516 53.8302222156 92.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -3317 1 1 0 46.1697777844 53.2139380484 92.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -3318 1 1 0 45.6698729811 52.5 92.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -3319 1 1 0 45.3015368961 51.7101007166 92.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -3320 1 1 0 45.0759612349 50.8682408883 92.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -3321 1 1 0 45.0 50.0 92.0 -1.0 7.47282139735e-15 0 0.872664625997 -75 42.5 42.5 0.2 -3322 1 1 0 45.0759612349 49.1317591117 92.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -3323 1 1 0 45.3015368961 48.2898992834 92.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -3324 1 1 0 45.6698729811 47.5 92.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -3325 1 1 0 46.1697777844 46.7860619516 92.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -3326 1 1 0 46.7860619516 46.1697777844 92.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -3327 1 1 0 47.5 45.6698729811 92.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -3328 1 1 0 48.2898992834 45.3015368961 92.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -3329 1 1 0 49.1317591117 45.0759612349 92.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -3330 1 1 0 50.0 45.0 92.0 -7.5340537373e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 -3331 1 1 0 50.8682408883 45.0759612349 92.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -3332 1 1 0 51.7101007166 45.3015368961 92.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -3333 1 1 0 52.5 45.6698729811 92.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -3334 1 1 0 53.2139380484 46.1697777844 92.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -3335 1 1 0 53.8302222156 46.7860619516 92.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -3336 1 1 0 54.3301270189 47.5 92.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -3337 1 1 0 54.6984631039 48.2898992834 92.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -3338 1 1 0 54.9240387651 49.1317591117 92.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -3339 1 1 0 55.0 50.0 92.0 1.0 -7.59528607726e-15 0 0.872664625997 -75 42.5 42.5 0.2 -3340 1 1 0 54.9240387651 50.8682408883 92.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -3341 1 1 0 54.6984631039 51.7101007166 92.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -3342 1 1 0 54.3301270189 52.5 92.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -3343 1 1 0 53.8302222156 53.2139380484 92.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -3344 1 1 0 53.2139380484 53.8302222156 92.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -3345 1 1 0 52.5 54.3301270189 92.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -3346 1 1 0 51.7101007166 54.6984631039 92.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -3347 1 1 0 50.8682408883 54.9240387651 92.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -3348 1 1 0 50.0 55.0 92.0 7.65651841722e-15 1.0 0 0.872664625997 -75 42.5 42.5 0.2 -3349 1 1 0 48.7059047745 54.8296291314 93.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -3350 1 1 0 47.8869086913 54.5315389352 93.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -3351 1 1 0 47.1321178182 54.0957602214 93.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -3352 1 1 0 46.4644660941 53.5355339059 93.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -3353 1 1 0 45.9042397786 52.8678821818 93.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -3354 1 1 0 45.4684610648 52.1130913087 93.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -3355 1 1 0 45.1703708686 51.2940952255 93.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -3356 1 1 0 45.0190265095 50.4357787137 93.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -3357 1 1 0 45.0190265095 49.5642212863 93.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -3358 1 1 0 45.1703708686 48.7059047745 93.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -3359 1 1 0 45.4684610648 47.8869086913 93.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -3360 1 1 0 45.9042397786 47.1321178182 93.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -3361 1 1 0 46.4644660941 46.4644660941 93.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -3362 1 1 0 47.1321178182 45.9042397786 93.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -3363 1 1 0 47.8869086913 45.4684610648 93.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -3364 1 1 0 48.7059047745 45.1703708686 93.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -3365 1 1 0 49.5642212863 45.0190265095 93.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -3366 1 1 0 50.4357787137 45.0190265095 93.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -3367 1 1 0 51.2940952255 45.1703708686 93.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -3368 1 1 0 52.1130913087 45.4684610648 93.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -3369 1 1 0 52.8678821818 45.9042397786 93.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -3370 1 1 0 53.5355339059 46.4644660941 93.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -3371 1 1 0 54.0957602214 47.1321178182 93.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -3372 1 1 0 54.5315389352 47.8869086913 93.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -3373 1 1 0 54.8296291314 48.7059047745 93.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -3374 1 1 0 54.9809734905 49.5642212863 93.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -3375 1 1 0 54.9809734905 50.4357787137 93.0 0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -3376 1 1 0 54.8296291314 51.2940952255 93.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -3377 1 1 0 54.5315389352 52.1130913087 93.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -3378 1 1 0 54.0957602214 52.8678821818 93.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -3379 1 1 0 53.5355339059 53.5355339059 93.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -3380 1 1 0 52.8678821818 54.0957602214 93.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -3381 1 1 0 52.1130913087 54.5315389352 93.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -3382 1 1 0 51.2940952255 54.8296291314 93.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -3383 1 1 0 50.4357787137 54.9809734905 93.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -3384 1 1 0 49.5642212863 54.9809734905 93.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -3385 1 1 0 48.2898992834 54.6984631039 94.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -3386 1 1 0 47.5 54.3301270189 94.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -3387 1 1 0 46.7860619516 53.8302222156 94.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -3388 1 1 0 46.1697777844 53.2139380484 94.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -3389 1 1 0 45.6698729811 52.5 94.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -3390 1 1 0 45.3015368961 51.7101007166 94.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -3391 1 1 0 45.0759612349 50.8682408883 94.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -3392 1 1 0 45.0 50.0 94.0 -1.0 7.47282139735e-15 0 0.872664625997 -75 42.5 42.5 0.2 -3393 1 1 0 45.0759612349 49.1317591117 94.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -3394 1 1 0 45.3015368961 48.2898992834 94.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -3395 1 1 0 45.6698729811 47.5 94.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -3396 1 1 0 46.1697777844 46.7860619516 94.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -3397 1 1 0 46.7860619516 46.1697777844 94.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -3398 1 1 0 47.5 45.6698729811 94.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -3399 1 1 0 48.2898992834 45.3015368961 94.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -3400 1 1 0 49.1317591117 45.0759612349 94.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -3401 1 1 0 50.0 45.0 94.0 -7.5340537373e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 -3402 1 1 0 50.8682408883 45.0759612349 94.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -3403 1 1 0 51.7101007166 45.3015368961 94.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -3404 1 1 0 52.5 45.6698729811 94.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -3405 1 1 0 53.2139380484 46.1697777844 94.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -3406 1 1 0 53.8302222156 46.7860619516 94.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -3407 1 1 0 54.3301270189 47.5 94.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -3408 1 1 0 54.6984631039 48.2898992834 94.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -3409 1 1 0 54.9240387651 49.1317591117 94.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -3410 1 1 0 55.0 50.0 94.0 1.0 -7.59528607726e-15 0 0.872664625997 -75 42.5 42.5 0.2 -3411 1 1 0 54.9240387651 50.8682408883 94.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -3412 1 1 0 54.6984631039 51.7101007166 94.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -3413 1 1 0 54.3301270189 52.5 94.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -3414 1 1 0 53.8302222156 53.2139380484 94.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -3415 1 1 0 53.2139380484 53.8302222156 94.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -3416 1 1 0 52.5 54.3301270189 94.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -3417 1 1 0 51.7101007166 54.6984631039 94.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -3418 1 1 0 50.8682408883 54.9240387651 94.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -3419 1 1 0 50.0 55.0 94.0 9.43287525662e-15 1.0 0 0.872664625997 -75 42.5 42.5 0.2 -3420 1 1 0 49.1317591117 54.9240387651 94.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -3421 1 1 0 47.8869086913 54.5315389352 95.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -3422 1 1 0 47.1321178182 54.0957602214 95.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -3423 1 1 0 46.4644660941 53.5355339059 95.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -3424 1 1 0 45.9042397786 52.8678821818 95.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -3425 1 1 0 45.4684610648 52.1130913087 95.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -3426 1 1 0 45.1703708686 51.2940952255 95.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -3427 1 1 0 45.0190265095 50.4357787137 95.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -3428 1 1 0 45.0190265095 49.5642212863 95.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -3429 1 1 0 45.1703708686 48.7059047745 95.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -3430 1 1 0 45.4684610648 47.8869086913 95.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -3431 1 1 0 45.9042397786 47.1321178182 95.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -3432 1 1 0 46.4644660941 46.4644660941 95.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -3433 1 1 0 47.1321178182 45.9042397786 95.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -3434 1 1 0 47.8869086913 45.4684610648 95.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -3435 1 1 0 48.7059047745 45.1703708686 95.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -3436 1 1 0 49.5642212863 45.0190265095 95.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -3437 1 1 0 50.4357787137 45.0190265095 95.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -3438 1 1 0 51.2940952255 45.1703708686 95.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -3439 1 1 0 52.1130913087 45.4684610648 95.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -3440 1 1 0 52.8678821818 45.9042397786 95.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -3441 1 1 0 53.5355339059 46.4644660941 95.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -3442 1 1 0 54.0957602214 47.1321178182 95.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -3443 1 1 0 54.5315389352 47.8869086913 95.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -3444 1 1 0 54.8296291314 48.7059047745 95.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -3445 1 1 0 54.9809734905 49.5642212863 95.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -3446 1 1 0 54.9809734905 50.4357787137 95.0 0.996194698092 0.0871557427476 0 0.872664625997 -75 42.5 42.5 0.2 -3447 1 1 0 54.8296291314 51.2940952255 95.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -3448 1 1 0 54.5315389352 52.1130913087 95.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -3449 1 1 0 54.0957602214 52.8678821818 95.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -3450 1 1 0 53.5355339059 53.5355339059 95.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -3451 1 1 0 52.8678821818 54.0957602214 95.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -3452 1 1 0 52.1130913087 54.5315389352 95.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -3453 1 1 0 51.2940952255 54.8296291314 95.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -3454 1 1 0 50.4357787137 54.9809734905 95.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -3455 1 1 0 49.5642212863 54.9809734905 95.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -3456 1 1 0 48.7059047745 54.8296291314 95.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -3457 1 1 0 47.5 54.3301270189 96.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -3458 1 1 0 46.7860619516 53.8302222156 96.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -3459 1 1 0 46.1697777844 53.2139380484 96.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -3460 1 1 0 45.6698729811 52.5 96.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -3461 1 1 0 45.3015368961 51.7101007166 96.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -3462 1 1 0 45.0759612349 50.8682408883 96.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -3463 1 1 0 45.0 50.0 96.0 -1.0 7.47282139735e-15 0 0.872664625997 -75 42.5 42.5 0.2 -3464 1 1 0 45.0759612349 49.1317591117 96.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -3465 1 1 0 45.3015368961 48.2898992834 96.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -3466 1 1 0 45.6698729811 47.5 96.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -3467 1 1 0 46.1697777844 46.7860619516 96.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -3468 1 1 0 46.7860619516 46.1697777844 96.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -3469 1 1 0 47.5 45.6698729811 96.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -3470 1 1 0 48.2898992834 45.3015368961 96.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -3471 1 1 0 49.1317591117 45.0759612349 96.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -3472 1 1 0 50.0 45.0 96.0 -7.5340537373e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 -3473 1 1 0 50.8682408883 45.0759612349 96.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -3474 1 1 0 51.7101007166 45.3015368961 96.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -3475 1 1 0 52.5 45.6698729811 96.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -3476 1 1 0 53.2139380484 46.1697777844 96.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -3477 1 1 0 53.8302222156 46.7860619516 96.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -3478 1 1 0 54.3301270189 47.5 96.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -3479 1 1 0 54.6984631039 48.2898992834 96.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -3480 1 1 0 54.9240387651 49.1317591117 96.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -3481 1 1 0 55.0 50.0 96.0 1.0 -7.59528607726e-15 0 0.872664625997 -75 42.5 42.5 0.2 -3482 1 1 0 54.9240387651 50.8682408883 96.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -3483 1 1 0 54.6984631039 51.7101007166 96.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -3484 1 1 0 54.3301270189 52.5 96.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -3485 1 1 0 53.8302222156 53.2139380484 96.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -3486 1 1 0 53.2139380484 53.8302222156 96.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -3487 1 1 0 52.5 54.3301270189 96.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -3488 1 1 0 51.7101007166 54.6984631039 96.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -3489 1 1 0 50.8682408883 54.9240387651 96.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -3490 1 1 0 50.0 55.0 96.0 9.43287525662e-15 1.0 0 0.872664625997 -75 42.5 42.5 0.2 -3491 1 1 0 49.1317591117 54.9240387651 96.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -3492 1 1 0 48.2898992834 54.6984631039 96.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -3493 1 1 0 47.1321178182 54.0957602214 97.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -3494 1 1 0 46.4644660941 53.5355339059 97.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -3495 1 1 0 45.9042397786 52.8678821818 97.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -3496 1 1 0 45.4684610648 52.1130913087 97.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -3497 1 1 0 45.1703708686 51.2940952255 97.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -3498 1 1 0 45.0190265095 50.4357787137 97.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -3499 1 1 0 45.0190265095 49.5642212863 97.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -3500 1 1 0 45.1703708686 48.7059047745 97.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -3501 1 1 0 45.4684610648 47.8869086913 97.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -3502 1 1 0 45.9042397786 47.1321178182 97.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -3503 1 1 0 46.4644660941 46.4644660941 97.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -3504 1 1 0 47.1321178182 45.9042397786 97.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -3505 1 1 0 47.8869086913 45.4684610648 97.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -3506 1 1 0 48.7059047745 45.1703708686 97.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -3507 1 1 0 49.5642212863 45.0190265095 97.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -3508 1 1 0 50.4357787137 45.0190265095 97.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -3509 1 1 0 51.2940952255 45.1703708686 97.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -3510 1 1 0 52.1130913087 45.4684610648 97.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -3511 1 1 0 52.8678821818 45.9042397786 97.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -3512 1 1 0 53.5355339059 46.4644660941 97.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -3513 1 1 0 54.0957602214 47.1321178182 97.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -3514 1 1 0 54.5315389352 47.8869086913 97.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -3515 1 1 0 54.8296291314 48.7059047745 97.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -3516 1 1 0 54.9809734905 49.5642212863 97.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -3517 1 1 0 54.9809734905 50.4357787137 97.0 0.996194698092 0.0871557427476 0 0.872664625997 -75 42.5 42.5 0.2 -3518 1 1 0 54.8296291314 51.2940952255 97.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -3519 1 1 0 54.5315389352 52.1130913087 97.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -3520 1 1 0 54.0957602214 52.8678821818 97.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -3521 1 1 0 53.5355339059 53.5355339059 97.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -3522 1 1 0 52.8678821818 54.0957602214 97.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -3523 1 1 0 52.1130913087 54.5315389352 97.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -3524 1 1 0 51.2940952255 54.8296291314 97.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -3525 1 1 0 50.4357787137 54.9809734905 97.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -3526 1 1 0 49.5642212863 54.9809734905 97.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -3527 1 1 0 48.7059047745 54.8296291314 97.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -3528 1 1 0 47.8869086913 54.5315389352 97.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -3529 1 1 0 46.7860619516 53.8302222156 98.0 -0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -3530 1 1 0 46.1697777844 53.2139380484 98.0 -0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -3531 1 1 0 45.6698729811 52.5 98.0 -0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -3532 1 1 0 45.3015368961 51.7101007166 98.0 -0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -3533 1 1 0 45.0759612349 50.8682408883 98.0 -0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -3534 1 1 0 45.0 50.0 98.0 -1.0 7.47282139735e-15 0 0.872664625997 -75 42.5 42.5 0.2 -3535 1 1 0 45.0759612349 49.1317591117 98.0 -0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -3536 1 1 0 45.3015368961 48.2898992834 98.0 -0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -3537 1 1 0 45.6698729811 47.5 98.0 -0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -3538 1 1 0 46.1697777844 46.7860619516 98.0 -0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -3539 1 1 0 46.7860619516 46.1697777844 98.0 -0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -3540 1 1 0 47.5 45.6698729811 98.0 -0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -3541 1 1 0 48.2898992834 45.3015368961 98.0 -0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -3542 1 1 0 49.1317591117 45.0759612349 98.0 -0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -3543 1 1 0 50.0 45.0 98.0 -9.3104105767e-15 -1.0 0 0.872664625997 -75 42.5 42.5 0.2 -3544 1 1 0 50.8682408883 45.0759612349 98.0 0.173648177667 -0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -3545 1 1 0 51.7101007166 45.3015368961 98.0 0.342020143326 -0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -3546 1 1 0 52.5 45.6698729811 98.0 0.5 -0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -3547 1 1 0 53.2139380484 46.1697777844 98.0 0.642787609687 -0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -3548 1 1 0 53.8302222156 46.7860619516 98.0 0.766044443119 -0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -3549 1 1 0 54.3301270189 47.5 98.0 0.866025403784 -0.5 0 0.872664625997 -75 42.5 42.5 0.2 -3550 1 1 0 54.6984631039 48.2898992834 98.0 0.939692620786 -0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -3551 1 1 0 54.9240387651 49.1317591117 98.0 0.984807753012 -0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -3552 1 1 0 55.0 50.0 98.0 1.0 -7.59528607726e-15 0 0.872664625997 -75 42.5 42.5 0.2 -3553 1 1 0 54.9240387651 50.8682408883 98.0 0.984807753012 0.173648177667 0 0.872664625997 -75 42.5 42.5 0.2 -3554 1 1 0 54.6984631039 51.7101007166 98.0 0.939692620786 0.342020143326 0 0.872664625997 -75 42.5 42.5 0.2 -3555 1 1 0 54.3301270189 52.5 98.0 0.866025403784 0.5 0 0.872664625997 -75 42.5 42.5 0.2 -3556 1 1 0 53.8302222156 53.2139380484 98.0 0.766044443119 0.642787609687 0 0.872664625997 -75 42.5 42.5 0.2 -3557 1 1 0 53.2139380484 53.8302222156 98.0 0.642787609687 0.766044443119 0 0.872664625997 -75 42.5 42.5 0.2 -3558 1 1 0 52.5 54.3301270189 98.0 0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -3559 1 1 0 51.7101007166 54.6984631039 98.0 0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -3560 1 1 0 50.8682408883 54.9240387651 98.0 0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -3561 1 1 0 50.0 55.0 98.0 9.43287525662e-15 1.0 0 0.872664625997 -75 42.5 42.5 0.2 -3562 1 1 0 49.1317591117 54.9240387651 98.0 -0.173648177667 0.984807753012 0 0.872664625997 -75 42.5 42.5 0.2 -3563 1 1 0 48.2898992834 54.6984631039 98.0 -0.342020143326 0.939692620786 0 0.872664625997 -75 42.5 42.5 0.2 -3564 1 1 0 47.5 54.3301270189 98.0 -0.5 0.866025403784 0 0.872664625997 -75 42.5 42.5 0.2 -3565 1 1 0 46.4644660941 53.5355339059 99.0 -0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -3566 1 1 0 45.9042397786 52.8678821818 99.0 -0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -3567 1 1 0 45.4684610648 52.1130913087 99.0 -0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -3568 1 1 0 45.1703708686 51.2940952255 99.0 -0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -3569 1 1 0 45.0190265095 50.4357787137 99.0 -0.996194698092 0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -3570 1 1 0 45.0190265095 49.5642212863 99.0 -0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -3571 1 1 0 45.1703708686 48.7059047745 99.0 -0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -3572 1 1 0 45.4684610648 47.8869086913 99.0 -0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -3573 1 1 0 45.9042397786 47.1321178182 99.0 -0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -3574 1 1 0 46.4644660941 46.4644660941 99.0 -0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -3575 1 1 0 47.1321178182 45.9042397786 99.0 -0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -3576 1 1 0 47.8869086913 45.4684610648 99.0 -0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -3577 1 1 0 48.7059047745 45.1703708686 99.0 -0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -3578 1 1 0 49.5642212863 45.0190265095 99.0 -0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -3579 1 1 0 50.4357787137 45.0190265095 99.0 0.0871557427477 -0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -3580 1 1 0 51.2940952255 45.1703708686 99.0 0.258819045103 -0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -3581 1 1 0 52.1130913087 45.4684610648 99.0 0.422618261741 -0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -3582 1 1 0 52.8678821818 45.9042397786 99.0 0.573576436351 -0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -3583 1 1 0 53.5355339059 46.4644660941 99.0 0.707106781187 -0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -3584 1 1 0 54.0957602214 47.1321178182 99.0 0.819152044289 -0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -3585 1 1 0 54.5315389352 47.8869086913 99.0 0.906307787037 -0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -3586 1 1 0 54.8296291314 48.7059047745 99.0 0.965925826289 -0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -3587 1 1 0 54.9809734905 49.5642212863 99.0 0.996194698092 -0.0871557427477 0 0.872664625997 -75 42.5 42.5 0.2 -3588 1 1 0 54.9809734905 50.4357787137 99.0 0.996194698092 0.0871557427476 0 0.872664625997 -75 42.5 42.5 0.2 -3589 1 1 0 54.8296291314 51.2940952255 99.0 0.965925826289 0.258819045103 0 0.872664625997 -75 42.5 42.5 0.2 -3590 1 1 0 54.5315389352 52.1130913087 99.0 0.906307787037 0.422618261741 0 0.872664625997 -75 42.5 42.5 0.2 -3591 1 1 0 54.0957602214 52.8678821818 99.0 0.819152044289 0.573576436351 0 0.872664625997 -75 42.5 42.5 0.2 -3592 1 1 0 53.5355339059 53.5355339059 99.0 0.707106781187 0.707106781187 0 0.872664625997 -75 42.5 42.5 0.2 -3593 1 1 0 52.8678821818 54.0957602214 99.0 0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -3594 1 1 0 52.1130913087 54.5315389352 99.0 0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -3595 1 1 0 51.2940952255 54.8296291314 99.0 0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -3596 1 1 0 50.4357787137 54.9809734905 99.0 0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -3597 1 1 0 49.5642212863 54.9809734905 99.0 -0.0871557427477 0.996194698092 0 0.872664625997 -75 42.5 42.5 0.2 -3598 1 1 0 48.7059047745 54.8296291314 99.0 -0.258819045103 0.965925826289 0 0.872664625997 -75 42.5 42.5 0.2 -3599 1 1 0 47.8869086913 54.5315389352 99.0 -0.422618261741 0.906307787037 0 0.872664625997 -75 42.5 42.5 0.2 -3600 1 1 0 47.1321178182 54.0957602214 99.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 -3601 2 2 1.0 57.0 50.0 50.0 -0.573576436351 0.819152044289 0 0.872664625997 -75 42.5 42.5 0.2 diff --git a/examples/USER/dielectric/data.minimal b/examples/USER/dielectric/data.minimal deleted file mode 100644 index f87ae8cd70..0000000000 --- a/examples/USER/dielectric/data.minimal +++ /dev/null @@ -1,50 +0,0 @@ -LAMMPS data file via write_data, version 22 Nov 2016, timestep = 0 - -32 atoms -3 atom types - -0.0000000000000000e+00 5.0000007843669128e+00 xlo xhi -0.0000000000000000e+00 5.1961532151380023e+00 ylo yhi -0.0000000000000000e+00 1.0000000000000000e+01 zlo zhi - -Masses - -1 1 -2 1 -3 1 - -Atoms # dielectric: id mol type q x y z normx normy normz area_per_patch ed em epsilon curvature - -1 1 1 0 0 0 5 0 0 1 1 8 6 1 0 -2 1 1 0 0.5 0.866026 5 0 0 1 1 8 6 1 0 -3 1 1 0 1 0 5 0 0 1 1 8 6 1 0 -4 1 1 0 1.5 0.866026 5 0 0 1 1 8 6 1 0 -5 1 1 0 2 0 5 0 0 1 1 8 6 1 0 -6 1 1 0 2.5 0.866026 5 0 0 1 1 8 6 1 0 -7 1 1 0 3 0 5 0 0 1 1 8 6 1 0 -8 1 1 0 3.5 0.866026 5 0 0 1 1 8 6 1 0 -9 1 1 0 4 0 5 0 0 1 1 8 6 1 0 -10 1 1 0 4.5 0.866026 5 0 0 1 1 8 6 1 0 -11 1 1 0 0 1.73205 5 0 0 1 1 8 6 1 0 -12 1 1 0 0.5 2.59808 5 0 0 1 1 8 6 1 0 -13 1 1 0 1 1.73205 5 0 0 1 1 8 6 1 0 -14 1 1 0 1.5 2.59808 5 0 0 1 1 8 6 1 0 -15 1 1 0 2 1.73205 5 0 0 1 1 8 6 1 0 -16 1 1 0 2.5 2.59808 5 0 0 1 1 8 6 1 0 -17 1 1 0 3 1.73205 5 0 0 1 1 8 6 1 0 -18 1 1 0 3.5 2.59808 5 0 0 1 1 8 6 1 0 -19 1 1 0 4 1.73205 5 0 0 1 1 8 6 1 0 -20 1 1 0 4.5 2.59808 5 0 0 1 1 8 6 1 0 -21 1 1 0 0 3.4641 5 0 0 1 1 8 6 1 0 -22 1 1 0 0.5 4.33013 5 0 0 1 1 8 6 1 0 -23 1 1 0 1 3.4641 5 0 0 1 1 8 6 1 0 -24 1 1 0 1.5 4.33013 5 0 0 1 1 8 6 1 0 -25 1 1 0 2 3.4641 5 0 0 1 1 8 6 1 0 -26 1 1 0 2.5 4.33013 5 0 0 1 1 8 6 1 0 -27 1 1 0 3 3.4641 5 0 0 1 1 8 6 1 0 -28 1 1 0 3.5 4.33013 5 0 0 1 1 8 6 1 0 -29 1 1 0 4 3.4641 5 0 0 1 1 8 6 1 0 -30 1 1 0 4.5 4.33013 5 0 0 1 1 8 6 1 0 -31 2 2 1 1 1 7 0 0 1 1 8 6 10 0 -32 2 3 -1 3 3 7 0 0 1 1 8 6 10 0 - diff --git a/examples/USER/dielectric/data.plane b/examples/USER/dielectric/data.plane deleted file mode 100644 index e35233b3e6..0000000000 --- a/examples/USER/dielectric/data.plane +++ /dev/null @@ -1,2019 +0,0 @@ -LAMMPS data file: using 2001 atoms for single point charge (no pbc), or 2002 atoms for two opposite charges (to have charge neutrality for pbc) - -2001 atoms -3 atom types - -0.0000000000000000e+00 4.0000006274935302e+01 xlo xhi -0.0000000000000000e+00 4.3301276792816687e+01 ylo yhi -0.0000000000000000e+00 4.0000000000000000e+01 zlo zhi - -Masses - -1 1 -2 1 -3 1 - -Atoms # dielectric: id mol type q x y z normx normy normz area_per_patch ed em epsilon curvature - -1 0 1 0 0 0 20 0 0 1 0.866 8 6 1 0 -2 0 1 0 0.5 0.866026 20 0 0 1 0.866 8 6 1 0 -3 0 1 0 1 0 20 0 0 1 0.866 8 6 1 0 -4 0 1 0 1.5 0.866026 20 0 0 1 0.866 8 6 1 0 -5 0 1 0 2 0 20 0 0 1 0.866 8 6 1 0 -6 0 1 0 2.5 0.866026 20 0 0 1 0.866 8 6 1 0 -7 0 1 0 3 0 20 0 0 1 0.866 8 6 1 0 -8 0 1 0 3.5 0.866026 20 0 0 1 0.866 8 6 1 0 -9 0 1 0 4 0 20 0 0 1 0.866 8 6 1 0 -10 0 1 0 4.5 0.866026 20 0 0 1 0.866 8 6 1 0 -11 0 1 0 5 0 20 0 0 1 0.866 8 6 1 0 -12 0 1 0 5.5 0.866026 20 0 0 1 0.866 8 6 1 0 -13 0 1 0 6 0 20 0 0 1 0.866 8 6 1 0 -14 0 1 0 6.5 0.866026 20 0 0 1 0.866 8 6 1 0 -15 0 1 0 7 0 20 0 0 1 0.866 8 6 1 0 -16 0 1 0 7.5 0.866026 20 0 0 1 0.866 8 6 1 0 -17 0 1 0 8 0 20 0 0 1 0.866 8 6 1 0 -18 0 1 0 8.5 0.866026 20 0 0 1 0.866 8 6 1 0 -19 0 1 0 9 0 20 0 0 1 0.866 8 6 1 0 -20 0 1 0 9.5 0.866026 20 0 0 1 0.866 8 6 1 0 -21 0 1 0 10 0 20 0 0 1 0.866 8 6 1 0 -22 0 1 0 10.5 0.866026 20 0 0 1 0.866 8 6 1 0 -23 0 1 0 11 0 20 0 0 1 0.866 8 6 1 0 -24 0 1 0 11.5 0.866026 20 0 0 1 0.866 8 6 1 0 -25 0 1 0 12 0 20 0 0 1 0.866 8 6 1 0 -26 0 1 0 12.5 0.866026 20 0 0 1 0.866 8 6 1 0 -27 0 1 0 13 0 20 0 0 1 0.866 8 6 1 0 -28 0 1 0 13.5 0.866026 20 0 0 1 0.866 8 6 1 0 -29 0 1 0 14 0 20 0 0 1 0.866 8 6 1 0 -30 0 1 0 14.5 0.866026 20 0 0 1 0.866 8 6 1 0 -31 0 1 0 15 0 20 0 0 1 0.866 8 6 1 0 -32 0 1 0 15.5 0.866026 20 0 0 1 0.866 8 6 1 0 -33 0 1 0 16 0 20 0 0 1 0.866 8 6 1 0 -34 0 1 0 16.5 0.866026 20 0 0 1 0.866 8 6 1 0 -35 0 1 0 17 0 20 0 0 1 0.866 8 6 1 0 -36 0 1 0 17.5 0.866026 20 0 0 1 0.866 8 6 1 0 -37 0 1 0 18 0 20 0 0 1 0.866 8 6 1 0 -38 0 1 0 18.5 0.866026 20 0 0 1 0.866 8 6 1 0 -39 0 1 0 19 0 20 0 0 1 0.866 8 6 1 0 -40 0 1 0 19.5 0.866026 20 0 0 1 0.866 8 6 1 0 -41 0 1 0 20 0 20 0 0 1 0.866 8 6 1 0 -42 0 1 0 20.5 0.866026 20 0 0 1 0.866 8 6 1 0 -43 0 1 0 21 0 20 0 0 1 0.866 8 6 1 0 -44 0 1 0 21.5 0.866026 20 0 0 1 0.866 8 6 1 0 -45 0 1 0 22 0 20 0 0 1 0.866 8 6 1 0 -46 0 1 0 22.5 0.866026 20 0 0 1 0.866 8 6 1 0 -47 0 1 0 23 0 20 0 0 1 0.866 8 6 1 0 -48 0 1 0 23.5 0.866026 20 0 0 1 0.866 8 6 1 0 -49 0 1 0 24 0 20 0 0 1 0.866 8 6 1 0 -50 0 1 0 24.5 0.866026 20 0 0 1 0.866 8 6 1 0 -51 0 1 0 25 0 20 0 0 1 0.866 8 6 1 0 -52 0 1 0 25.5 0.866026 20 0 0 1 0.866 8 6 1 0 -53 0 1 0 26 0 20 0 0 1 0.866 8 6 1 0 -54 0 1 0 26.5 0.866026 20 0 0 1 0.866 8 6 1 0 -55 0 1 0 27 0 20 0 0 1 0.866 8 6 1 0 -56 0 1 0 27.5 0.866026 20 0 0 1 0.866 8 6 1 0 -57 0 1 0 28 0 20 0 0 1 0.866 8 6 1 0 -58 0 1 0 28.5 0.866026 20 0 0 1 0.866 8 6 1 0 -59 0 1 0 29 0 20 0 0 1 0.866 8 6 1 0 -60 0 1 0 29.5 0.866026 20 0 0 1 0.866 8 6 1 0 -61 0 1 0 30 0 20 0 0 1 0.866 8 6 1 0 -62 0 1 0 30.5 0.866026 20 0 0 1 0.866 8 6 1 0 -63 0 1 0 31 0 20 0 0 1 0.866 8 6 1 0 -64 0 1 0 31.5 0.866026 20 0 0 1 0.866 8 6 1 0 -65 0 1 0 32 0 20 0 0 1 0.866 8 6 1 0 -66 0 1 0 32.5 0.866026 20 0 0 1 0.866 8 6 1 0 -67 0 1 0 33 0 20 0 0 1 0.866 8 6 1 0 -68 0 1 0 33.5 0.866026 20 0 0 1 0.866 8 6 1 0 -69 0 1 0 34 0 20 0 0 1 0.866 8 6 1 0 -70 0 1 0 34.5 0.866026 20 0 0 1 0.866 8 6 1 0 -71 0 1 0 35 0 20 0 0 1 0.866 8 6 1 0 -72 0 1 0 35.5 0.866026 20 0 0 1 0.866 8 6 1 0 -73 0 1 0 36 0 20 0 0 1 0.866 8 6 1 0 -74 0 1 0 36.5 0.866026 20 0 0 1 0.866 8 6 1 0 -75 0 1 0 37 0 20 0 0 1 0.866 8 6 1 0 -76 0 1 0 37.5 0.866026 20 0 0 1 0.866 8 6 1 0 -77 0 1 0 38 0 20 0 0 1 0.866 8 6 1 0 -78 0 1 0 38.5 0.866026 20 0 0 1 0.866 8 6 1 0 -79 0 1 0 39 0 20 0 0 1 0.866 8 6 1 0 -80 0 1 0 39.5 0.866026 20 0 0 1 0.866 8 6 1 0 -81 0 1 0 0 1.73205 20 0 0 1 0.866 8 6 1 0 -82 0 1 0 0.5 2.59808 20 0 0 1 0.866 8 6 1 0 -83 0 1 0 1 1.73205 20 0 0 1 0.866 8 6 1 0 -84 0 1 0 1.5 2.59808 20 0 0 1 0.866 8 6 1 0 -85 0 1 0 2 1.73205 20 0 0 1 0.866 8 6 1 0 -86 0 1 0 2.5 2.59808 20 0 0 1 0.866 8 6 1 0 -87 0 1 0 3 1.73205 20 0 0 1 0.866 8 6 1 0 -88 0 1 0 3.5 2.59808 20 0 0 1 0.866 8 6 1 0 -89 0 1 0 4 1.73205 20 0 0 1 0.866 8 6 1 0 -90 0 1 0 4.5 2.59808 20 0 0 1 0.866 8 6 1 0 -91 0 1 0 5 1.73205 20 0 0 1 0.866 8 6 1 0 -92 0 1 0 5.5 2.59808 20 0 0 1 0.866 8 6 1 0 -93 0 1 0 6 1.73205 20 0 0 1 0.866 8 6 1 0 -94 0 1 0 6.5 2.59808 20 0 0 1 0.866 8 6 1 0 -95 0 1 0 7 1.73205 20 0 0 1 0.866 8 6 1 0 -96 0 1 0 7.5 2.59808 20 0 0 1 0.866 8 6 1 0 -97 0 1 0 8 1.73205 20 0 0 1 0.866 8 6 1 0 -98 0 1 0 8.5 2.59808 20 0 0 1 0.866 8 6 1 0 -99 0 1 0 9 1.73205 20 0 0 1 0.866 8 6 1 0 -100 0 1 0 9.5 2.59808 20 0 0 1 0.866 8 6 1 0 -101 0 1 0 10 1.73205 20 0 0 1 0.866 8 6 1 0 -102 0 1 0 10.5 2.59808 20 0 0 1 0.866 8 6 1 0 -103 0 1 0 11 1.73205 20 0 0 1 0.866 8 6 1 0 -104 0 1 0 11.5 2.59808 20 0 0 1 0.866 8 6 1 0 -105 0 1 0 12 1.73205 20 0 0 1 0.866 8 6 1 0 -106 0 1 0 12.5 2.59808 20 0 0 1 0.866 8 6 1 0 -107 0 1 0 13 1.73205 20 0 0 1 0.866 8 6 1 0 -108 0 1 0 13.5 2.59808 20 0 0 1 0.866 8 6 1 0 -109 0 1 0 14 1.73205 20 0 0 1 0.866 8 6 1 0 -110 0 1 0 14.5 2.59808 20 0 0 1 0.866 8 6 1 0 -111 0 1 0 15 1.73205 20 0 0 1 0.866 8 6 1 0 -112 0 1 0 15.5 2.59808 20 0 0 1 0.866 8 6 1 0 -113 0 1 0 16 1.73205 20 0 0 1 0.866 8 6 1 0 -114 0 1 0 16.5 2.59808 20 0 0 1 0.866 8 6 1 0 -115 0 1 0 17 1.73205 20 0 0 1 0.866 8 6 1 0 -116 0 1 0 17.5 2.59808 20 0 0 1 0.866 8 6 1 0 -117 0 1 0 18 1.73205 20 0 0 1 0.866 8 6 1 0 -118 0 1 0 18.5 2.59808 20 0 0 1 0.866 8 6 1 0 -119 0 1 0 19 1.73205 20 0 0 1 0.866 8 6 1 0 -120 0 1 0 19.5 2.59808 20 0 0 1 0.866 8 6 1 0 -121 0 1 0 20 1.73205 20 0 0 1 0.866 8 6 1 0 -122 0 1 0 20.5 2.59808 20 0 0 1 0.866 8 6 1 0 -123 0 1 0 21 1.73205 20 0 0 1 0.866 8 6 1 0 -124 0 1 0 21.5 2.59808 20 0 0 1 0.866 8 6 1 0 -125 0 1 0 22 1.73205 20 0 0 1 0.866 8 6 1 0 -126 0 1 0 22.5 2.59808 20 0 0 1 0.866 8 6 1 0 -127 0 1 0 23 1.73205 20 0 0 1 0.866 8 6 1 0 -128 0 1 0 23.5 2.59808 20 0 0 1 0.866 8 6 1 0 -129 0 1 0 24 1.73205 20 0 0 1 0.866 8 6 1 0 -130 0 1 0 24.5 2.59808 20 0 0 1 0.866 8 6 1 0 -131 0 1 0 25 1.73205 20 0 0 1 0.866 8 6 1 0 -132 0 1 0 25.5 2.59808 20 0 0 1 0.866 8 6 1 0 -133 0 1 0 26 1.73205 20 0 0 1 0.866 8 6 1 0 -134 0 1 0 26.5 2.59808 20 0 0 1 0.866 8 6 1 0 -135 0 1 0 27 1.73205 20 0 0 1 0.866 8 6 1 0 -136 0 1 0 27.5 2.59808 20 0 0 1 0.866 8 6 1 0 -137 0 1 0 28 1.73205 20 0 0 1 0.866 8 6 1 0 -138 0 1 0 28.5 2.59808 20 0 0 1 0.866 8 6 1 0 -139 0 1 0 29 1.73205 20 0 0 1 0.866 8 6 1 0 -140 0 1 0 29.5 2.59808 20 0 0 1 0.866 8 6 1 0 -141 0 1 0 30 1.73205 20 0 0 1 0.866 8 6 1 0 -142 0 1 0 30.5 2.59808 20 0 0 1 0.866 8 6 1 0 -143 0 1 0 31 1.73205 20 0 0 1 0.866 8 6 1 0 -144 0 1 0 31.5 2.59808 20 0 0 1 0.866 8 6 1 0 -145 0 1 0 32 1.73205 20 0 0 1 0.866 8 6 1 0 -146 0 1 0 32.5 2.59808 20 0 0 1 0.866 8 6 1 0 -147 0 1 0 33 1.73205 20 0 0 1 0.866 8 6 1 0 -148 0 1 0 33.5 2.59808 20 0 0 1 0.866 8 6 1 0 -149 0 1 0 34 1.73205 20 0 0 1 0.866 8 6 1 0 -150 0 1 0 34.5 2.59808 20 0 0 1 0.866 8 6 1 0 -151 0 1 0 35 1.73205 20 0 0 1 0.866 8 6 1 0 -152 0 1 0 35.5 2.59808 20 0 0 1 0.866 8 6 1 0 -153 0 1 0 36 1.73205 20 0 0 1 0.866 8 6 1 0 -154 0 1 0 36.5 2.59808 20 0 0 1 0.866 8 6 1 0 -155 0 1 0 37 1.73205 20 0 0 1 0.866 8 6 1 0 -156 0 1 0 37.5 2.59808 20 0 0 1 0.866 8 6 1 0 -157 0 1 0 38 1.73205 20 0 0 1 0.866 8 6 1 0 -158 0 1 0 38.5 2.59808 20 0 0 1 0.866 8 6 1 0 -159 0 1 0 39 1.73205 20 0 0 1 0.866 8 6 1 0 -160 0 1 0 39.5 2.59808 20 0 0 1 0.866 8 6 1 0 -161 0 1 0 0 3.4641 20 0 0 1 0.866 8 6 1 0 -162 0 1 0 0.5 4.33013 20 0 0 1 0.866 8 6 1 0 -163 0 1 0 1 3.4641 20 0 0 1 0.866 8 6 1 0 -164 0 1 0 1.5 4.33013 20 0 0 1 0.866 8 6 1 0 -165 0 1 0 2 3.4641 20 0 0 1 0.866 8 6 1 0 -166 0 1 0 2.5 4.33013 20 0 0 1 0.866 8 6 1 0 -167 0 1 0 3 3.4641 20 0 0 1 0.866 8 6 1 0 -168 0 1 0 3.5 4.33013 20 0 0 1 0.866 8 6 1 0 -169 0 1 0 4 3.4641 20 0 0 1 0.866 8 6 1 0 -170 0 1 0 4.5 4.33013 20 0 0 1 0.866 8 6 1 0 -171 0 1 0 5 3.4641 20 0 0 1 0.866 8 6 1 0 -172 0 1 0 5.5 4.33013 20 0 0 1 0.866 8 6 1 0 -173 0 1 0 6 3.4641 20 0 0 1 0.866 8 6 1 0 -174 0 1 0 6.5 4.33013 20 0 0 1 0.866 8 6 1 0 -175 0 1 0 7 3.4641 20 0 0 1 0.866 8 6 1 0 -176 0 1 0 7.5 4.33013 20 0 0 1 0.866 8 6 1 0 -177 0 1 0 8 3.4641 20 0 0 1 0.866 8 6 1 0 -178 0 1 0 8.5 4.33013 20 0 0 1 0.866 8 6 1 0 -179 0 1 0 9 3.4641 20 0 0 1 0.866 8 6 1 0 -180 0 1 0 9.5 4.33013 20 0 0 1 0.866 8 6 1 0 -181 0 1 0 10 3.4641 20 0 0 1 0.866 8 6 1 0 -182 0 1 0 10.5 4.33013 20 0 0 1 0.866 8 6 1 0 -183 0 1 0 11 3.4641 20 0 0 1 0.866 8 6 1 0 -184 0 1 0 11.5 4.33013 20 0 0 1 0.866 8 6 1 0 -185 0 1 0 12 3.4641 20 0 0 1 0.866 8 6 1 0 -186 0 1 0 12.5 4.33013 20 0 0 1 0.866 8 6 1 0 -187 0 1 0 13 3.4641 20 0 0 1 0.866 8 6 1 0 -188 0 1 0 13.5 4.33013 20 0 0 1 0.866 8 6 1 0 -189 0 1 0 14 3.4641 20 0 0 1 0.866 8 6 1 0 -190 0 1 0 14.5 4.33013 20 0 0 1 0.866 8 6 1 0 -191 0 1 0 15 3.4641 20 0 0 1 0.866 8 6 1 0 -192 0 1 0 15.5 4.33013 20 0 0 1 0.866 8 6 1 0 -193 0 1 0 16 3.4641 20 0 0 1 0.866 8 6 1 0 -194 0 1 0 16.5 4.33013 20 0 0 1 0.866 8 6 1 0 -195 0 1 0 17 3.4641 20 0 0 1 0.866 8 6 1 0 -196 0 1 0 17.5 4.33013 20 0 0 1 0.866 8 6 1 0 -197 0 1 0 18 3.4641 20 0 0 1 0.866 8 6 1 0 -198 0 1 0 18.5 4.33013 20 0 0 1 0.866 8 6 1 0 -199 0 1 0 19 3.4641 20 0 0 1 0.866 8 6 1 0 -200 0 1 0 19.5 4.33013 20 0 0 1 0.866 8 6 1 0 -201 0 1 0 20 3.4641 20 0 0 1 0.866 8 6 1 0 -202 0 1 0 20.5 4.33013 20 0 0 1 0.866 8 6 1 0 -203 0 1 0 21 3.4641 20 0 0 1 0.866 8 6 1 0 -204 0 1 0 21.5 4.33013 20 0 0 1 0.866 8 6 1 0 -205 0 1 0 22 3.4641 20 0 0 1 0.866 8 6 1 0 -206 0 1 0 22.5 4.33013 20 0 0 1 0.866 8 6 1 0 -207 0 1 0 23 3.4641 20 0 0 1 0.866 8 6 1 0 -208 0 1 0 23.5 4.33013 20 0 0 1 0.866 8 6 1 0 -209 0 1 0 24 3.4641 20 0 0 1 0.866 8 6 1 0 -210 0 1 0 24.5 4.33013 20 0 0 1 0.866 8 6 1 0 -211 0 1 0 25 3.4641 20 0 0 1 0.866 8 6 1 0 -212 0 1 0 25.5 4.33013 20 0 0 1 0.866 8 6 1 0 -213 0 1 0 26 3.4641 20 0 0 1 0.866 8 6 1 0 -214 0 1 0 26.5 4.33013 20 0 0 1 0.866 8 6 1 0 -215 0 1 0 27 3.4641 20 0 0 1 0.866 8 6 1 0 -216 0 1 0 27.5 4.33013 20 0 0 1 0.866 8 6 1 0 -217 0 1 0 28 3.4641 20 0 0 1 0.866 8 6 1 0 -218 0 1 0 28.5 4.33013 20 0 0 1 0.866 8 6 1 0 -219 0 1 0 29 3.4641 20 0 0 1 0.866 8 6 1 0 -220 0 1 0 29.5 4.33013 20 0 0 1 0.866 8 6 1 0 -221 0 1 0 30 3.4641 20 0 0 1 0.866 8 6 1 0 -222 0 1 0 30.5 4.33013 20 0 0 1 0.866 8 6 1 0 -223 0 1 0 31 3.4641 20 0 0 1 0.866 8 6 1 0 -224 0 1 0 31.5 4.33013 20 0 0 1 0.866 8 6 1 0 -225 0 1 0 32 3.4641 20 0 0 1 0.866 8 6 1 0 -226 0 1 0 32.5 4.33013 20 0 0 1 0.866 8 6 1 0 -227 0 1 0 33 3.4641 20 0 0 1 0.866 8 6 1 0 -228 0 1 0 33.5 4.33013 20 0 0 1 0.866 8 6 1 0 -229 0 1 0 34 3.4641 20 0 0 1 0.866 8 6 1 0 -230 0 1 0 34.5 4.33013 20 0 0 1 0.866 8 6 1 0 -231 0 1 0 35 3.4641 20 0 0 1 0.866 8 6 1 0 -232 0 1 0 35.5 4.33013 20 0 0 1 0.866 8 6 1 0 -233 0 1 0 36 3.4641 20 0 0 1 0.866 8 6 1 0 -234 0 1 0 36.5 4.33013 20 0 0 1 0.866 8 6 1 0 -235 0 1 0 37 3.4641 20 0 0 1 0.866 8 6 1 0 -236 0 1 0 37.5 4.33013 20 0 0 1 0.866 8 6 1 0 -237 0 1 0 38 3.4641 20 0 0 1 0.866 8 6 1 0 -238 0 1 0 38.5 4.33013 20 0 0 1 0.866 8 6 1 0 -239 0 1 0 39 3.4641 20 0 0 1 0.866 8 6 1 0 -240 0 1 0 39.5 4.33013 20 0 0 1 0.866 8 6 1 0 -241 0 1 0 0 5.19615 20 0 0 1 0.866 8 6 1 0 -242 0 1 0 0.5 6.06218 20 0 0 1 0.866 8 6 1 0 -243 0 1 0 1 5.19615 20 0 0 1 0.866 8 6 1 0 -244 0 1 0 1.5 6.06218 20 0 0 1 0.866 8 6 1 0 -245 0 1 0 2 5.19615 20 0 0 1 0.866 8 6 1 0 -246 0 1 0 2.5 6.06218 20 0 0 1 0.866 8 6 1 0 -247 0 1 0 3 5.19615 20 0 0 1 0.866 8 6 1 0 -248 0 1 0 3.5 6.06218 20 0 0 1 0.866 8 6 1 0 -249 0 1 0 4 5.19615 20 0 0 1 0.866 8 6 1 0 -250 0 1 0 4.5 6.06218 20 0 0 1 0.866 8 6 1 0 -251 0 1 0 5 5.19615 20 0 0 1 0.866 8 6 1 0 -252 0 1 0 5.5 6.06218 20 0 0 1 0.866 8 6 1 0 -253 0 1 0 6 5.19615 20 0 0 1 0.866 8 6 1 0 -254 0 1 0 6.5 6.06218 20 0 0 1 0.866 8 6 1 0 -255 0 1 0 7 5.19615 20 0 0 1 0.866 8 6 1 0 -256 0 1 0 7.5 6.06218 20 0 0 1 0.866 8 6 1 0 -257 0 1 0 8 5.19615 20 0 0 1 0.866 8 6 1 0 -258 0 1 0 8.5 6.06218 20 0 0 1 0.866 8 6 1 0 -259 0 1 0 9 5.19615 20 0 0 1 0.866 8 6 1 0 -260 0 1 0 9.5 6.06218 20 0 0 1 0.866 8 6 1 0 -261 0 1 0 10 5.19615 20 0 0 1 0.866 8 6 1 0 -262 0 1 0 10.5 6.06218 20 0 0 1 0.866 8 6 1 0 -263 0 1 0 11 5.19615 20 0 0 1 0.866 8 6 1 0 -264 0 1 0 11.5 6.06218 20 0 0 1 0.866 8 6 1 0 -265 0 1 0 12 5.19615 20 0 0 1 0.866 8 6 1 0 -266 0 1 0 12.5 6.06218 20 0 0 1 0.866 8 6 1 0 -267 0 1 0 13 5.19615 20 0 0 1 0.866 8 6 1 0 -268 0 1 0 13.5 6.06218 20 0 0 1 0.866 8 6 1 0 -269 0 1 0 14 5.19615 20 0 0 1 0.866 8 6 1 0 -270 0 1 0 14.5 6.06218 20 0 0 1 0.866 8 6 1 0 -271 0 1 0 15 5.19615 20 0 0 1 0.866 8 6 1 0 -272 0 1 0 15.5 6.06218 20 0 0 1 0.866 8 6 1 0 -273 0 1 0 16 5.19615 20 0 0 1 0.866 8 6 1 0 -274 0 1 0 16.5 6.06218 20 0 0 1 0.866 8 6 1 0 -275 0 1 0 17 5.19615 20 0 0 1 0.866 8 6 1 0 -276 0 1 0 17.5 6.06218 20 0 0 1 0.866 8 6 1 0 -277 0 1 0 18 5.19615 20 0 0 1 0.866 8 6 1 0 -278 0 1 0 18.5 6.06218 20 0 0 1 0.866 8 6 1 0 -279 0 1 0 19 5.19615 20 0 0 1 0.866 8 6 1 0 -280 0 1 0 19.5 6.06218 20 0 0 1 0.866 8 6 1 0 -281 0 1 0 20 5.19615 20 0 0 1 0.866 8 6 1 0 -282 0 1 0 20.5 6.06218 20 0 0 1 0.866 8 6 1 0 -283 0 1 0 21 5.19615 20 0 0 1 0.866 8 6 1 0 -284 0 1 0 21.5 6.06218 20 0 0 1 0.866 8 6 1 0 -285 0 1 0 22 5.19615 20 0 0 1 0.866 8 6 1 0 -286 0 1 0 22.5 6.06218 20 0 0 1 0.866 8 6 1 0 -287 0 1 0 23 5.19615 20 0 0 1 0.866 8 6 1 0 -288 0 1 0 23.5 6.06218 20 0 0 1 0.866 8 6 1 0 -289 0 1 0 24 5.19615 20 0 0 1 0.866 8 6 1 0 -290 0 1 0 24.5 6.06218 20 0 0 1 0.866 8 6 1 0 -291 0 1 0 25 5.19615 20 0 0 1 0.866 8 6 1 0 -292 0 1 0 25.5 6.06218 20 0 0 1 0.866 8 6 1 0 -293 0 1 0 26 5.19615 20 0 0 1 0.866 8 6 1 0 -294 0 1 0 26.5 6.06218 20 0 0 1 0.866 8 6 1 0 -295 0 1 0 27 5.19615 20 0 0 1 0.866 8 6 1 0 -296 0 1 0 27.5 6.06218 20 0 0 1 0.866 8 6 1 0 -297 0 1 0 28 5.19615 20 0 0 1 0.866 8 6 1 0 -298 0 1 0 28.5 6.06218 20 0 0 1 0.866 8 6 1 0 -299 0 1 0 29 5.19615 20 0 0 1 0.866 8 6 1 0 -300 0 1 0 29.5 6.06218 20 0 0 1 0.866 8 6 1 0 -301 0 1 0 30 5.19615 20 0 0 1 0.866 8 6 1 0 -302 0 1 0 30.5 6.06218 20 0 0 1 0.866 8 6 1 0 -303 0 1 0 31 5.19615 20 0 0 1 0.866 8 6 1 0 -304 0 1 0 31.5 6.06218 20 0 0 1 0.866 8 6 1 0 -305 0 1 0 32 5.19615 20 0 0 1 0.866 8 6 1 0 -306 0 1 0 32.5 6.06218 20 0 0 1 0.866 8 6 1 0 -307 0 1 0 33 5.19615 20 0 0 1 0.866 8 6 1 0 -308 0 1 0 33.5 6.06218 20 0 0 1 0.866 8 6 1 0 -309 0 1 0 34 5.19615 20 0 0 1 0.866 8 6 1 0 -310 0 1 0 34.5 6.06218 20 0 0 1 0.866 8 6 1 0 -311 0 1 0 35 5.19615 20 0 0 1 0.866 8 6 1 0 -312 0 1 0 35.5 6.06218 20 0 0 1 0.866 8 6 1 0 -313 0 1 0 36 5.19615 20 0 0 1 0.866 8 6 1 0 -314 0 1 0 36.5 6.06218 20 0 0 1 0.866 8 6 1 0 -315 0 1 0 37 5.19615 20 0 0 1 0.866 8 6 1 0 -316 0 1 0 37.5 6.06218 20 0 0 1 0.866 8 6 1 0 -317 0 1 0 38 5.19615 20 0 0 1 0.866 8 6 1 0 -318 0 1 0 38.5 6.06218 20 0 0 1 0.866 8 6 1 0 -319 0 1 0 39 5.19615 20 0 0 1 0.866 8 6 1 0 -320 0 1 0 39.5 6.06218 20 0 0 1 0.866 8 6 1 0 -321 0 1 0 0 6.9282 20 0 0 1 0.866 8 6 1 0 -322 0 1 0 0.5 7.79423 20 0 0 1 0.866 8 6 1 0 -323 0 1 0 1 6.9282 20 0 0 1 0.866 8 6 1 0 -324 0 1 0 1.5 7.79423 20 0 0 1 0.866 8 6 1 0 -325 0 1 0 2 6.9282 20 0 0 1 0.866 8 6 1 0 -326 0 1 0 2.5 7.79423 20 0 0 1 0.866 8 6 1 0 -327 0 1 0 3 6.9282 20 0 0 1 0.866 8 6 1 0 -328 0 1 0 3.5 7.79423 20 0 0 1 0.866 8 6 1 0 -329 0 1 0 4 6.9282 20 0 0 1 0.866 8 6 1 0 -330 0 1 0 4.5 7.79423 20 0 0 1 0.866 8 6 1 0 -331 0 1 0 5 6.9282 20 0 0 1 0.866 8 6 1 0 -332 0 1 0 5.5 7.79423 20 0 0 1 0.866 8 6 1 0 -333 0 1 0 6 6.9282 20 0 0 1 0.866 8 6 1 0 -334 0 1 0 6.5 7.79423 20 0 0 1 0.866 8 6 1 0 -335 0 1 0 7 6.9282 20 0 0 1 0.866 8 6 1 0 -336 0 1 0 7.5 7.79423 20 0 0 1 0.866 8 6 1 0 -337 0 1 0 8 6.9282 20 0 0 1 0.866 8 6 1 0 -338 0 1 0 8.5 7.79423 20 0 0 1 0.866 8 6 1 0 -339 0 1 0 9 6.9282 20 0 0 1 0.866 8 6 1 0 -340 0 1 0 9.5 7.79423 20 0 0 1 0.866 8 6 1 0 -341 0 1 0 10 6.9282 20 0 0 1 0.866 8 6 1 0 -342 0 1 0 10.5 7.79423 20 0 0 1 0.866 8 6 1 0 -343 0 1 0 11 6.9282 20 0 0 1 0.866 8 6 1 0 -344 0 1 0 11.5 7.79423 20 0 0 1 0.866 8 6 1 0 -345 0 1 0 12 6.9282 20 0 0 1 0.866 8 6 1 0 -346 0 1 0 12.5 7.79423 20 0 0 1 0.866 8 6 1 0 -347 0 1 0 13 6.9282 20 0 0 1 0.866 8 6 1 0 -348 0 1 0 13.5 7.79423 20 0 0 1 0.866 8 6 1 0 -349 0 1 0 14 6.9282 20 0 0 1 0.866 8 6 1 0 -350 0 1 0 14.5 7.79423 20 0 0 1 0.866 8 6 1 0 -351 0 1 0 15 6.9282 20 0 0 1 0.866 8 6 1 0 -352 0 1 0 15.5 7.79423 20 0 0 1 0.866 8 6 1 0 -353 0 1 0 16 6.9282 20 0 0 1 0.866 8 6 1 0 -354 0 1 0 16.5 7.79423 20 0 0 1 0.866 8 6 1 0 -355 0 1 0 17 6.9282 20 0 0 1 0.866 8 6 1 0 -356 0 1 0 17.5 7.79423 20 0 0 1 0.866 8 6 1 0 -357 0 1 0 18 6.9282 20 0 0 1 0.866 8 6 1 0 -358 0 1 0 18.5 7.79423 20 0 0 1 0.866 8 6 1 0 -359 0 1 0 19 6.9282 20 0 0 1 0.866 8 6 1 0 -360 0 1 0 19.5 7.79423 20 0 0 1 0.866 8 6 1 0 -361 0 1 0 20 6.9282 20 0 0 1 0.866 8 6 1 0 -362 0 1 0 20.5 7.79423 20 0 0 1 0.866 8 6 1 0 -363 0 1 0 21 6.9282 20 0 0 1 0.866 8 6 1 0 -364 0 1 0 21.5 7.79423 20 0 0 1 0.866 8 6 1 0 -365 0 1 0 22 6.9282 20 0 0 1 0.866 8 6 1 0 -366 0 1 0 22.5 7.79423 20 0 0 1 0.866 8 6 1 0 -367 0 1 0 23 6.9282 20 0 0 1 0.866 8 6 1 0 -368 0 1 0 23.5 7.79423 20 0 0 1 0.866 8 6 1 0 -369 0 1 0 24 6.9282 20 0 0 1 0.866 8 6 1 0 -370 0 1 0 24.5 7.79423 20 0 0 1 0.866 8 6 1 0 -371 0 1 0 25 6.9282 20 0 0 1 0.866 8 6 1 0 -372 0 1 0 25.5 7.79423 20 0 0 1 0.866 8 6 1 0 -373 0 1 0 26 6.9282 20 0 0 1 0.866 8 6 1 0 -374 0 1 0 26.5 7.79423 20 0 0 1 0.866 8 6 1 0 -375 0 1 0 27 6.9282 20 0 0 1 0.866 8 6 1 0 -376 0 1 0 27.5 7.79423 20 0 0 1 0.866 8 6 1 0 -377 0 1 0 28 6.9282 20 0 0 1 0.866 8 6 1 0 -378 0 1 0 28.5 7.79423 20 0 0 1 0.866 8 6 1 0 -379 0 1 0 29 6.9282 20 0 0 1 0.866 8 6 1 0 -380 0 1 0 29.5 7.79423 20 0 0 1 0.866 8 6 1 0 -381 0 1 0 30 6.9282 20 0 0 1 0.866 8 6 1 0 -382 0 1 0 30.5 7.79423 20 0 0 1 0.866 8 6 1 0 -383 0 1 0 31 6.9282 20 0 0 1 0.866 8 6 1 0 -384 0 1 0 31.5 7.79423 20 0 0 1 0.866 8 6 1 0 -385 0 1 0 32 6.9282 20 0 0 1 0.866 8 6 1 0 -386 0 1 0 32.5 7.79423 20 0 0 1 0.866 8 6 1 0 -387 0 1 0 33 6.9282 20 0 0 1 0.866 8 6 1 0 -388 0 1 0 33.5 7.79423 20 0 0 1 0.866 8 6 1 0 -389 0 1 0 34 6.9282 20 0 0 1 0.866 8 6 1 0 -390 0 1 0 34.5 7.79423 20 0 0 1 0.866 8 6 1 0 -391 0 1 0 35 6.9282 20 0 0 1 0.866 8 6 1 0 -392 0 1 0 35.5 7.79423 20 0 0 1 0.866 8 6 1 0 -393 0 1 0 36 6.9282 20 0 0 1 0.866 8 6 1 0 -394 0 1 0 36.5 7.79423 20 0 0 1 0.866 8 6 1 0 -395 0 1 0 37 6.9282 20 0 0 1 0.866 8 6 1 0 -396 0 1 0 37.5 7.79423 20 0 0 1 0.866 8 6 1 0 -397 0 1 0 38 6.9282 20 0 0 1 0.866 8 6 1 0 -398 0 1 0 38.5 7.79423 20 0 0 1 0.866 8 6 1 0 -399 0 1 0 39 6.9282 20 0 0 1 0.866 8 6 1 0 -400 0 1 0 39.5 7.79423 20 0 0 1 0.866 8 6 1 0 -401 0 1 0 0 8.66026 20 0 0 1 0.866 8 6 1 0 -402 0 1 0 0.5 9.52628 20 0 0 1 0.866 8 6 1 0 -403 0 1 0 1 8.66026 20 0 0 1 0.866 8 6 1 0 -404 0 1 0 1.5 9.52628 20 0 0 1 0.866 8 6 1 0 -405 0 1 0 2 8.66026 20 0 0 1 0.866 8 6 1 0 -406 0 1 0 2.5 9.52628 20 0 0 1 0.866 8 6 1 0 -407 0 1 0 3 8.66026 20 0 0 1 0.866 8 6 1 0 -408 0 1 0 3.5 9.52628 20 0 0 1 0.866 8 6 1 0 -409 0 1 0 4 8.66026 20 0 0 1 0.866 8 6 1 0 -410 0 1 0 4.5 9.52628 20 0 0 1 0.866 8 6 1 0 -411 0 1 0 5 8.66026 20 0 0 1 0.866 8 6 1 0 -412 0 1 0 5.5 9.52628 20 0 0 1 0.866 8 6 1 0 -413 0 1 0 6 8.66026 20 0 0 1 0.866 8 6 1 0 -414 0 1 0 6.5 9.52628 20 0 0 1 0.866 8 6 1 0 -415 0 1 0 7 8.66026 20 0 0 1 0.866 8 6 1 0 -416 0 1 0 7.5 9.52628 20 0 0 1 0.866 8 6 1 0 -417 0 1 0 8 8.66026 20 0 0 1 0.866 8 6 1 0 -418 0 1 0 8.5 9.52628 20 0 0 1 0.866 8 6 1 0 -419 0 1 0 9 8.66026 20 0 0 1 0.866 8 6 1 0 -420 0 1 0 9.5 9.52628 20 0 0 1 0.866 8 6 1 0 -421 0 1 0 10 8.66026 20 0 0 1 0.866 8 6 1 0 -422 0 1 0 10.5 9.52628 20 0 0 1 0.866 8 6 1 0 -423 0 1 0 11 8.66026 20 0 0 1 0.866 8 6 1 0 -424 0 1 0 11.5 9.52628 20 0 0 1 0.866 8 6 1 0 -425 0 1 0 12 8.66026 20 0 0 1 0.866 8 6 1 0 -426 0 1 0 12.5 9.52628 20 0 0 1 0.866 8 6 1 0 -427 0 1 0 13 8.66026 20 0 0 1 0.866 8 6 1 0 -428 0 1 0 13.5 9.52628 20 0 0 1 0.866 8 6 1 0 -429 0 1 0 14 8.66026 20 0 0 1 0.866 8 6 1 0 -430 0 1 0 14.5 9.52628 20 0 0 1 0.866 8 6 1 0 -431 0 1 0 15 8.66026 20 0 0 1 0.866 8 6 1 0 -432 0 1 0 15.5 9.52628 20 0 0 1 0.866 8 6 1 0 -433 0 1 0 16 8.66026 20 0 0 1 0.866 8 6 1 0 -434 0 1 0 16.5 9.52628 20 0 0 1 0.866 8 6 1 0 -435 0 1 0 17 8.66026 20 0 0 1 0.866 8 6 1 0 -436 0 1 0 17.5 9.52628 20 0 0 1 0.866 8 6 1 0 -437 0 1 0 18 8.66026 20 0 0 1 0.866 8 6 1 0 -438 0 1 0 18.5 9.52628 20 0 0 1 0.866 8 6 1 0 -439 0 1 0 19 8.66026 20 0 0 1 0.866 8 6 1 0 -440 0 1 0 19.5 9.52628 20 0 0 1 0.866 8 6 1 0 -441 0 1 0 20 8.66026 20 0 0 1 0.866 8 6 1 0 -442 0 1 0 20.5 9.52628 20 0 0 1 0.866 8 6 1 0 -443 0 1 0 21 8.66026 20 0 0 1 0.866 8 6 1 0 -444 0 1 0 21.5 9.52628 20 0 0 1 0.866 8 6 1 0 -445 0 1 0 22 8.66026 20 0 0 1 0.866 8 6 1 0 -446 0 1 0 22.5 9.52628 20 0 0 1 0.866 8 6 1 0 -447 0 1 0 23 8.66026 20 0 0 1 0.866 8 6 1 0 -448 0 1 0 23.5 9.52628 20 0 0 1 0.866 8 6 1 0 -449 0 1 0 24 8.66026 20 0 0 1 0.866 8 6 1 0 -450 0 1 0 24.5 9.52628 20 0 0 1 0.866 8 6 1 0 -451 0 1 0 25 8.66026 20 0 0 1 0.866 8 6 1 0 -452 0 1 0 25.5 9.52628 20 0 0 1 0.866 8 6 1 0 -453 0 1 0 26 8.66026 20 0 0 1 0.866 8 6 1 0 -454 0 1 0 26.5 9.52628 20 0 0 1 0.866 8 6 1 0 -455 0 1 0 27 8.66026 20 0 0 1 0.866 8 6 1 0 -456 0 1 0 27.5 9.52628 20 0 0 1 0.866 8 6 1 0 -457 0 1 0 28 8.66026 20 0 0 1 0.866 8 6 1 0 -458 0 1 0 28.5 9.52628 20 0 0 1 0.866 8 6 1 0 -459 0 1 0 29 8.66026 20 0 0 1 0.866 8 6 1 0 -460 0 1 0 29.5 9.52628 20 0 0 1 0.866 8 6 1 0 -461 0 1 0 30 8.66026 20 0 0 1 0.866 8 6 1 0 -462 0 1 0 30.5 9.52628 20 0 0 1 0.866 8 6 1 0 -463 0 1 0 31 8.66026 20 0 0 1 0.866 8 6 1 0 -464 0 1 0 31.5 9.52628 20 0 0 1 0.866 8 6 1 0 -465 0 1 0 32 8.66026 20 0 0 1 0.866 8 6 1 0 -466 0 1 0 32.5 9.52628 20 0 0 1 0.866 8 6 1 0 -467 0 1 0 33 8.66026 20 0 0 1 0.866 8 6 1 0 -468 0 1 0 33.5 9.52628 20 0 0 1 0.866 8 6 1 0 -469 0 1 0 34 8.66026 20 0 0 1 0.866 8 6 1 0 -470 0 1 0 34.5 9.52628 20 0 0 1 0.866 8 6 1 0 -471 0 1 0 35 8.66026 20 0 0 1 0.866 8 6 1 0 -472 0 1 0 35.5 9.52628 20 0 0 1 0.866 8 6 1 0 -473 0 1 0 36 8.66026 20 0 0 1 0.866 8 6 1 0 -474 0 1 0 36.5 9.52628 20 0 0 1 0.866 8 6 1 0 -475 0 1 0 37 8.66026 20 0 0 1 0.866 8 6 1 0 -476 0 1 0 37.5 9.52628 20 0 0 1 0.866 8 6 1 0 -477 0 1 0 38 8.66026 20 0 0 1 0.866 8 6 1 0 -478 0 1 0 38.5 9.52628 20 0 0 1 0.866 8 6 1 0 -479 0 1 0 39 8.66026 20 0 0 1 0.866 8 6 1 0 -480 0 1 0 39.5 9.52628 20 0 0 1 0.866 8 6 1 0 -481 0 1 0 0 10.3923 20 0 0 1 0.866 8 6 1 0 -482 0 1 0 0.5 11.2583 20 0 0 1 0.866 8 6 1 0 -483 0 1 0 1 10.3923 20 0 0 1 0.866 8 6 1 0 -484 0 1 0 1.5 11.2583 20 0 0 1 0.866 8 6 1 0 -485 0 1 0 2 10.3923 20 0 0 1 0.866 8 6 1 0 -486 0 1 0 2.5 11.2583 20 0 0 1 0.866 8 6 1 0 -487 0 1 0 3 10.3923 20 0 0 1 0.866 8 6 1 0 -488 0 1 0 3.5 11.2583 20 0 0 1 0.866 8 6 1 0 -489 0 1 0 4 10.3923 20 0 0 1 0.866 8 6 1 0 -490 0 1 0 4.5 11.2583 20 0 0 1 0.866 8 6 1 0 -491 0 1 0 5 10.3923 20 0 0 1 0.866 8 6 1 0 -492 0 1 0 5.5 11.2583 20 0 0 1 0.866 8 6 1 0 -493 0 1 0 6 10.3923 20 0 0 1 0.866 8 6 1 0 -494 0 1 0 6.5 11.2583 20 0 0 1 0.866 8 6 1 0 -495 0 1 0 7 10.3923 20 0 0 1 0.866 8 6 1 0 -496 0 1 0 7.5 11.2583 20 0 0 1 0.866 8 6 1 0 -497 0 1 0 8 10.3923 20 0 0 1 0.866 8 6 1 0 -498 0 1 0 8.5 11.2583 20 0 0 1 0.866 8 6 1 0 -499 0 1 0 9 10.3923 20 0 0 1 0.866 8 6 1 0 -500 0 1 0 9.5 11.2583 20 0 0 1 0.866 8 6 1 0 -501 0 1 0 10 10.3923 20 0 0 1 0.866 8 6 1 0 -502 0 1 0 10.5 11.2583 20 0 0 1 0.866 8 6 1 0 -503 0 1 0 11 10.3923 20 0 0 1 0.866 8 6 1 0 -504 0 1 0 11.5 11.2583 20 0 0 1 0.866 8 6 1 0 -505 0 1 0 12 10.3923 20 0 0 1 0.866 8 6 1 0 -506 0 1 0 12.5 11.2583 20 0 0 1 0.866 8 6 1 0 -507 0 1 0 13 10.3923 20 0 0 1 0.866 8 6 1 0 -508 0 1 0 13.5 11.2583 20 0 0 1 0.866 8 6 1 0 -509 0 1 0 14 10.3923 20 0 0 1 0.866 8 6 1 0 -510 0 1 0 14.5 11.2583 20 0 0 1 0.866 8 6 1 0 -511 0 1 0 15 10.3923 20 0 0 1 0.866 8 6 1 0 -512 0 1 0 15.5 11.2583 20 0 0 1 0.866 8 6 1 0 -513 0 1 0 16 10.3923 20 0 0 1 0.866 8 6 1 0 -514 0 1 0 16.5 11.2583 20 0 0 1 0.866 8 6 1 0 -515 0 1 0 17 10.3923 20 0 0 1 0.866 8 6 1 0 -516 0 1 0 17.5 11.2583 20 0 0 1 0.866 8 6 1 0 -517 0 1 0 18 10.3923 20 0 0 1 0.866 8 6 1 0 -518 0 1 0 18.5 11.2583 20 0 0 1 0.866 8 6 1 0 -519 0 1 0 19 10.3923 20 0 0 1 0.866 8 6 1 0 -520 0 1 0 19.5 11.2583 20 0 0 1 0.866 8 6 1 0 -521 0 1 0 20 10.3923 20 0 0 1 0.866 8 6 1 0 -522 0 1 0 20.5 11.2583 20 0 0 1 0.866 8 6 1 0 -523 0 1 0 21 10.3923 20 0 0 1 0.866 8 6 1 0 -524 0 1 0 21.5 11.2583 20 0 0 1 0.866 8 6 1 0 -525 0 1 0 22 10.3923 20 0 0 1 0.866 8 6 1 0 -526 0 1 0 22.5 11.2583 20 0 0 1 0.866 8 6 1 0 -527 0 1 0 23 10.3923 20 0 0 1 0.866 8 6 1 0 -528 0 1 0 23.5 11.2583 20 0 0 1 0.866 8 6 1 0 -529 0 1 0 24 10.3923 20 0 0 1 0.866 8 6 1 0 -530 0 1 0 24.5 11.2583 20 0 0 1 0.866 8 6 1 0 -531 0 1 0 25 10.3923 20 0 0 1 0.866 8 6 1 0 -532 0 1 0 25.5 11.2583 20 0 0 1 0.866 8 6 1 0 -533 0 1 0 26 10.3923 20 0 0 1 0.866 8 6 1 0 -534 0 1 0 26.5 11.2583 20 0 0 1 0.866 8 6 1 0 -535 0 1 0 27 10.3923 20 0 0 1 0.866 8 6 1 0 -536 0 1 0 27.5 11.2583 20 0 0 1 0.866 8 6 1 0 -537 0 1 0 28 10.3923 20 0 0 1 0.866 8 6 1 0 -538 0 1 0 28.5 11.2583 20 0 0 1 0.866 8 6 1 0 -539 0 1 0 29 10.3923 20 0 0 1 0.866 8 6 1 0 -540 0 1 0 29.5 11.2583 20 0 0 1 0.866 8 6 1 0 -541 0 1 0 30 10.3923 20 0 0 1 0.866 8 6 1 0 -542 0 1 0 30.5 11.2583 20 0 0 1 0.866 8 6 1 0 -543 0 1 0 31 10.3923 20 0 0 1 0.866 8 6 1 0 -544 0 1 0 31.5 11.2583 20 0 0 1 0.866 8 6 1 0 -545 0 1 0 32 10.3923 20 0 0 1 0.866 8 6 1 0 -546 0 1 0 32.5 11.2583 20 0 0 1 0.866 8 6 1 0 -547 0 1 0 33 10.3923 20 0 0 1 0.866 8 6 1 0 -548 0 1 0 33.5 11.2583 20 0 0 1 0.866 8 6 1 0 -549 0 1 0 34 10.3923 20 0 0 1 0.866 8 6 1 0 -550 0 1 0 34.5 11.2583 20 0 0 1 0.866 8 6 1 0 -551 0 1 0 35 10.3923 20 0 0 1 0.866 8 6 1 0 -552 0 1 0 35.5 11.2583 20 0 0 1 0.866 8 6 1 0 -553 0 1 0 36 10.3923 20 0 0 1 0.866 8 6 1 0 -554 0 1 0 36.5 11.2583 20 0 0 1 0.866 8 6 1 0 -555 0 1 0 37 10.3923 20 0 0 1 0.866 8 6 1 0 -556 0 1 0 37.5 11.2583 20 0 0 1 0.866 8 6 1 0 -557 0 1 0 38 10.3923 20 0 0 1 0.866 8 6 1 0 -558 0 1 0 38.5 11.2583 20 0 0 1 0.866 8 6 1 0 -559 0 1 0 39 10.3923 20 0 0 1 0.866 8 6 1 0 -560 0 1 0 39.5 11.2583 20 0 0 1 0.866 8 6 1 0 -561 0 1 0 0 12.1244 20 0 0 1 0.866 8 6 1 0 -562 0 1 0 0.5 12.9904 20 0 0 1 0.866 8 6 1 0 -563 0 1 0 1 12.1244 20 0 0 1 0.866 8 6 1 0 -564 0 1 0 1.5 12.9904 20 0 0 1 0.866 8 6 1 0 -565 0 1 0 2 12.1244 20 0 0 1 0.866 8 6 1 0 -566 0 1 0 2.5 12.9904 20 0 0 1 0.866 8 6 1 0 -567 0 1 0 3 12.1244 20 0 0 1 0.866 8 6 1 0 -568 0 1 0 3.5 12.9904 20 0 0 1 0.866 8 6 1 0 -569 0 1 0 4 12.1244 20 0 0 1 0.866 8 6 1 0 -570 0 1 0 4.5 12.9904 20 0 0 1 0.866 8 6 1 0 -571 0 1 0 5 12.1244 20 0 0 1 0.866 8 6 1 0 -572 0 1 0 5.5 12.9904 20 0 0 1 0.866 8 6 1 0 -573 0 1 0 6 12.1244 20 0 0 1 0.866 8 6 1 0 -574 0 1 0 6.5 12.9904 20 0 0 1 0.866 8 6 1 0 -575 0 1 0 7 12.1244 20 0 0 1 0.866 8 6 1 0 -576 0 1 0 7.5 12.9904 20 0 0 1 0.866 8 6 1 0 -577 0 1 0 8 12.1244 20 0 0 1 0.866 8 6 1 0 -578 0 1 0 8.5 12.9904 20 0 0 1 0.866 8 6 1 0 -579 0 1 0 9 12.1244 20 0 0 1 0.866 8 6 1 0 -580 0 1 0 9.5 12.9904 20 0 0 1 0.866 8 6 1 0 -581 0 1 0 10 12.1244 20 0 0 1 0.866 8 6 1 0 -582 0 1 0 10.5 12.9904 20 0 0 1 0.866 8 6 1 0 -583 0 1 0 11 12.1244 20 0 0 1 0.866 8 6 1 0 -584 0 1 0 11.5 12.9904 20 0 0 1 0.866 8 6 1 0 -585 0 1 0 12 12.1244 20 0 0 1 0.866 8 6 1 0 -586 0 1 0 12.5 12.9904 20 0 0 1 0.866 8 6 1 0 -587 0 1 0 13 12.1244 20 0 0 1 0.866 8 6 1 0 -588 0 1 0 13.5 12.9904 20 0 0 1 0.866 8 6 1 0 -589 0 1 0 14 12.1244 20 0 0 1 0.866 8 6 1 0 -590 0 1 0 14.5 12.9904 20 0 0 1 0.866 8 6 1 0 -591 0 1 0 15 12.1244 20 0 0 1 0.866 8 6 1 0 -592 0 1 0 15.5 12.9904 20 0 0 1 0.866 8 6 1 0 -593 0 1 0 16 12.1244 20 0 0 1 0.866 8 6 1 0 -594 0 1 0 16.5 12.9904 20 0 0 1 0.866 8 6 1 0 -595 0 1 0 17 12.1244 20 0 0 1 0.866 8 6 1 0 -596 0 1 0 17.5 12.9904 20 0 0 1 0.866 8 6 1 0 -597 0 1 0 18 12.1244 20 0 0 1 0.866 8 6 1 0 -598 0 1 0 18.5 12.9904 20 0 0 1 0.866 8 6 1 0 -599 0 1 0 19 12.1244 20 0 0 1 0.866 8 6 1 0 -600 0 1 0 19.5 12.9904 20 0 0 1 0.866 8 6 1 0 -601 0 1 0 20 12.1244 20 0 0 1 0.866 8 6 1 0 -602 0 1 0 20.5 12.9904 20 0 0 1 0.866 8 6 1 0 -603 0 1 0 21 12.1244 20 0 0 1 0.866 8 6 1 0 -604 0 1 0 21.5 12.9904 20 0 0 1 0.866 8 6 1 0 -605 0 1 0 22 12.1244 20 0 0 1 0.866 8 6 1 0 -606 0 1 0 22.5 12.9904 20 0 0 1 0.866 8 6 1 0 -607 0 1 0 23 12.1244 20 0 0 1 0.866 8 6 1 0 -608 0 1 0 23.5 12.9904 20 0 0 1 0.866 8 6 1 0 -609 0 1 0 24 12.1244 20 0 0 1 0.866 8 6 1 0 -610 0 1 0 24.5 12.9904 20 0 0 1 0.866 8 6 1 0 -611 0 1 0 25 12.1244 20 0 0 1 0.866 8 6 1 0 -612 0 1 0 25.5 12.9904 20 0 0 1 0.866 8 6 1 0 -613 0 1 0 26 12.1244 20 0 0 1 0.866 8 6 1 0 -614 0 1 0 26.5 12.9904 20 0 0 1 0.866 8 6 1 0 -615 0 1 0 27 12.1244 20 0 0 1 0.866 8 6 1 0 -616 0 1 0 27.5 12.9904 20 0 0 1 0.866 8 6 1 0 -617 0 1 0 28 12.1244 20 0 0 1 0.866 8 6 1 0 -618 0 1 0 28.5 12.9904 20 0 0 1 0.866 8 6 1 0 -619 0 1 0 29 12.1244 20 0 0 1 0.866 8 6 1 0 -620 0 1 0 29.5 12.9904 20 0 0 1 0.866 8 6 1 0 -621 0 1 0 30 12.1244 20 0 0 1 0.866 8 6 1 0 -622 0 1 0 30.5 12.9904 20 0 0 1 0.866 8 6 1 0 -623 0 1 0 31 12.1244 20 0 0 1 0.866 8 6 1 0 -624 0 1 0 31.5 12.9904 20 0 0 1 0.866 8 6 1 0 -625 0 1 0 32 12.1244 20 0 0 1 0.866 8 6 1 0 -626 0 1 0 32.5 12.9904 20 0 0 1 0.866 8 6 1 0 -627 0 1 0 33 12.1244 20 0 0 1 0.866 8 6 1 0 -628 0 1 0 33.5 12.9904 20 0 0 1 0.866 8 6 1 0 -629 0 1 0 34 12.1244 20 0 0 1 0.866 8 6 1 0 -630 0 1 0 34.5 12.9904 20 0 0 1 0.866 8 6 1 0 -631 0 1 0 35 12.1244 20 0 0 1 0.866 8 6 1 0 -632 0 1 0 35.5 12.9904 20 0 0 1 0.866 8 6 1 0 -633 0 1 0 36 12.1244 20 0 0 1 0.866 8 6 1 0 -634 0 1 0 36.5 12.9904 20 0 0 1 0.866 8 6 1 0 -635 0 1 0 37 12.1244 20 0 0 1 0.866 8 6 1 0 -636 0 1 0 37.5 12.9904 20 0 0 1 0.866 8 6 1 0 -637 0 1 0 38 12.1244 20 0 0 1 0.866 8 6 1 0 -638 0 1 0 38.5 12.9904 20 0 0 1 0.866 8 6 1 0 -639 0 1 0 39 12.1244 20 0 0 1 0.866 8 6 1 0 -640 0 1 0 39.5 12.9904 20 0 0 1 0.866 8 6 1 0 -641 0 1 0 0 13.8564 20 0 0 1 0.866 8 6 1 0 -642 0 1 0 0.5 14.7224 20 0 0 1 0.866 8 6 1 0 -643 0 1 0 1 13.8564 20 0 0 1 0.866 8 6 1 0 -644 0 1 0 1.5 14.7224 20 0 0 1 0.866 8 6 1 0 -645 0 1 0 2 13.8564 20 0 0 1 0.866 8 6 1 0 -646 0 1 0 2.5 14.7224 20 0 0 1 0.866 8 6 1 0 -647 0 1 0 3 13.8564 20 0 0 1 0.866 8 6 1 0 -648 0 1 0 3.5 14.7224 20 0 0 1 0.866 8 6 1 0 -649 0 1 0 4 13.8564 20 0 0 1 0.866 8 6 1 0 -650 0 1 0 4.5 14.7224 20 0 0 1 0.866 8 6 1 0 -651 0 1 0 5 13.8564 20 0 0 1 0.866 8 6 1 0 -652 0 1 0 5.5 14.7224 20 0 0 1 0.866 8 6 1 0 -653 0 1 0 6 13.8564 20 0 0 1 0.866 8 6 1 0 -654 0 1 0 6.5 14.7224 20 0 0 1 0.866 8 6 1 0 -655 0 1 0 7 13.8564 20 0 0 1 0.866 8 6 1 0 -656 0 1 0 7.5 14.7224 20 0 0 1 0.866 8 6 1 0 -657 0 1 0 8 13.8564 20 0 0 1 0.866 8 6 1 0 -658 0 1 0 8.5 14.7224 20 0 0 1 0.866 8 6 1 0 -659 0 1 0 9 13.8564 20 0 0 1 0.866 8 6 1 0 -660 0 1 0 9.5 14.7224 20 0 0 1 0.866 8 6 1 0 -661 0 1 0 10 13.8564 20 0 0 1 0.866 8 6 1 0 -662 0 1 0 10.5 14.7224 20 0 0 1 0.866 8 6 1 0 -663 0 1 0 11 13.8564 20 0 0 1 0.866 8 6 1 0 -664 0 1 0 11.5 14.7224 20 0 0 1 0.866 8 6 1 0 -665 0 1 0 12 13.8564 20 0 0 1 0.866 8 6 1 0 -666 0 1 0 12.5 14.7224 20 0 0 1 0.866 8 6 1 0 -667 0 1 0 13 13.8564 20 0 0 1 0.866 8 6 1 0 -668 0 1 0 13.5 14.7224 20 0 0 1 0.866 8 6 1 0 -669 0 1 0 14 13.8564 20 0 0 1 0.866 8 6 1 0 -670 0 1 0 14.5 14.7224 20 0 0 1 0.866 8 6 1 0 -671 0 1 0 15 13.8564 20 0 0 1 0.866 8 6 1 0 -672 0 1 0 15.5 14.7224 20 0 0 1 0.866 8 6 1 0 -673 0 1 0 16 13.8564 20 0 0 1 0.866 8 6 1 0 -674 0 1 0 16.5 14.7224 20 0 0 1 0.866 8 6 1 0 -675 0 1 0 17 13.8564 20 0 0 1 0.866 8 6 1 0 -676 0 1 0 17.5 14.7224 20 0 0 1 0.866 8 6 1 0 -677 0 1 0 18 13.8564 20 0 0 1 0.866 8 6 1 0 -678 0 1 0 18.5 14.7224 20 0 0 1 0.866 8 6 1 0 -679 0 1 0 19 13.8564 20 0 0 1 0.866 8 6 1 0 -680 0 1 0 19.5 14.7224 20 0 0 1 0.866 8 6 1 0 -681 0 1 0 20 13.8564 20 0 0 1 0.866 8 6 1 0 -682 0 1 0 20.5 14.7224 20 0 0 1 0.866 8 6 1 0 -683 0 1 0 21 13.8564 20 0 0 1 0.866 8 6 1 0 -684 0 1 0 21.5 14.7224 20 0 0 1 0.866 8 6 1 0 -685 0 1 0 22 13.8564 20 0 0 1 0.866 8 6 1 0 -686 0 1 0 22.5 14.7224 20 0 0 1 0.866 8 6 1 0 -687 0 1 0 23 13.8564 20 0 0 1 0.866 8 6 1 0 -688 0 1 0 23.5 14.7224 20 0 0 1 0.866 8 6 1 0 -689 0 1 0 24 13.8564 20 0 0 1 0.866 8 6 1 0 -690 0 1 0 24.5 14.7224 20 0 0 1 0.866 8 6 1 0 -691 0 1 0 25 13.8564 20 0 0 1 0.866 8 6 1 0 -692 0 1 0 25.5 14.7224 20 0 0 1 0.866 8 6 1 0 -693 0 1 0 26 13.8564 20 0 0 1 0.866 8 6 1 0 -694 0 1 0 26.5 14.7224 20 0 0 1 0.866 8 6 1 0 -695 0 1 0 27 13.8564 20 0 0 1 0.866 8 6 1 0 -696 0 1 0 27.5 14.7224 20 0 0 1 0.866 8 6 1 0 -697 0 1 0 28 13.8564 20 0 0 1 0.866 8 6 1 0 -698 0 1 0 28.5 14.7224 20 0 0 1 0.866 8 6 1 0 -699 0 1 0 29 13.8564 20 0 0 1 0.866 8 6 1 0 -700 0 1 0 29.5 14.7224 20 0 0 1 0.866 8 6 1 0 -701 0 1 0 30 13.8564 20 0 0 1 0.866 8 6 1 0 -702 0 1 0 30.5 14.7224 20 0 0 1 0.866 8 6 1 0 -703 0 1 0 31 13.8564 20 0 0 1 0.866 8 6 1 0 -704 0 1 0 31.5 14.7224 20 0 0 1 0.866 8 6 1 0 -705 0 1 0 32 13.8564 20 0 0 1 0.866 8 6 1 0 -706 0 1 0 32.5 14.7224 20 0 0 1 0.866 8 6 1 0 -707 0 1 0 33 13.8564 20 0 0 1 0.866 8 6 1 0 -708 0 1 0 33.5 14.7224 20 0 0 1 0.866 8 6 1 0 -709 0 1 0 34 13.8564 20 0 0 1 0.866 8 6 1 0 -710 0 1 0 34.5 14.7224 20 0 0 1 0.866 8 6 1 0 -711 0 1 0 35 13.8564 20 0 0 1 0.866 8 6 1 0 -712 0 1 0 35.5 14.7224 20 0 0 1 0.866 8 6 1 0 -713 0 1 0 36 13.8564 20 0 0 1 0.866 8 6 1 0 -714 0 1 0 36.5 14.7224 20 0 0 1 0.866 8 6 1 0 -715 0 1 0 37 13.8564 20 0 0 1 0.866 8 6 1 0 -716 0 1 0 37.5 14.7224 20 0 0 1 0.866 8 6 1 0 -717 0 1 0 38 13.8564 20 0 0 1 0.866 8 6 1 0 -718 0 1 0 38.5 14.7224 20 0 0 1 0.866 8 6 1 0 -719 0 1 0 39 13.8564 20 0 0 1 0.866 8 6 1 0 -720 0 1 0 39.5 14.7224 20 0 0 1 0.866 8 6 1 0 -721 0 1 0 0 15.5885 20 0 0 1 0.866 8 6 1 0 -722 0 1 0 0.5 16.4545 20 0 0 1 0.866 8 6 1 0 -723 0 1 0 1 15.5885 20 0 0 1 0.866 8 6 1 0 -724 0 1 0 1.5 16.4545 20 0 0 1 0.866 8 6 1 0 -725 0 1 0 2 15.5885 20 0 0 1 0.866 8 6 1 0 -726 0 1 0 2.5 16.4545 20 0 0 1 0.866 8 6 1 0 -727 0 1 0 3 15.5885 20 0 0 1 0.866 8 6 1 0 -728 0 1 0 3.5 16.4545 20 0 0 1 0.866 8 6 1 0 -729 0 1 0 4 15.5885 20 0 0 1 0.866 8 6 1 0 -730 0 1 0 4.5 16.4545 20 0 0 1 0.866 8 6 1 0 -731 0 1 0 5 15.5885 20 0 0 1 0.866 8 6 1 0 -732 0 1 0 5.5 16.4545 20 0 0 1 0.866 8 6 1 0 -733 0 1 0 6 15.5885 20 0 0 1 0.866 8 6 1 0 -734 0 1 0 6.5 16.4545 20 0 0 1 0.866 8 6 1 0 -735 0 1 0 7 15.5885 20 0 0 1 0.866 8 6 1 0 -736 0 1 0 7.5 16.4545 20 0 0 1 0.866 8 6 1 0 -737 0 1 0 8 15.5885 20 0 0 1 0.866 8 6 1 0 -738 0 1 0 8.5 16.4545 20 0 0 1 0.866 8 6 1 0 -739 0 1 0 9 15.5885 20 0 0 1 0.866 8 6 1 0 -740 0 1 0 9.5 16.4545 20 0 0 1 0.866 8 6 1 0 -741 0 1 0 10 15.5885 20 0 0 1 0.866 8 6 1 0 -742 0 1 0 10.5 16.4545 20 0 0 1 0.866 8 6 1 0 -743 0 1 0 11 15.5885 20 0 0 1 0.866 8 6 1 0 -744 0 1 0 11.5 16.4545 20 0 0 1 0.866 8 6 1 0 -745 0 1 0 12 15.5885 20 0 0 1 0.866 8 6 1 0 -746 0 1 0 12.5 16.4545 20 0 0 1 0.866 8 6 1 0 -747 0 1 0 13 15.5885 20 0 0 1 0.866 8 6 1 0 -748 0 1 0 13.5 16.4545 20 0 0 1 0.866 8 6 1 0 -749 0 1 0 14 15.5885 20 0 0 1 0.866 8 6 1 0 -750 0 1 0 14.5 16.4545 20 0 0 1 0.866 8 6 1 0 -751 0 1 0 15 15.5885 20 0 0 1 0.866 8 6 1 0 -752 0 1 0 15.5 16.4545 20 0 0 1 0.866 8 6 1 0 -753 0 1 0 16 15.5885 20 0 0 1 0.866 8 6 1 0 -754 0 1 0 16.5 16.4545 20 0 0 1 0.866 8 6 1 0 -755 0 1 0 17 15.5885 20 0 0 1 0.866 8 6 1 0 -756 0 1 0 17.5 16.4545 20 0 0 1 0.866 8 6 1 0 -757 0 1 0 18 15.5885 20 0 0 1 0.866 8 6 1 0 -758 0 1 0 18.5 16.4545 20 0 0 1 0.866 8 6 1 0 -759 0 1 0 19 15.5885 20 0 0 1 0.866 8 6 1 0 -760 0 1 0 19.5 16.4545 20 0 0 1 0.866 8 6 1 0 -761 0 1 0 20 15.5885 20 0 0 1 0.866 8 6 1 0 -762 0 1 0 20.5 16.4545 20 0 0 1 0.866 8 6 1 0 -763 0 1 0 21 15.5885 20 0 0 1 0.866 8 6 1 0 -764 0 1 0 21.5 16.4545 20 0 0 1 0.866 8 6 1 0 -765 0 1 0 22 15.5885 20 0 0 1 0.866 8 6 1 0 -766 0 1 0 22.5 16.4545 20 0 0 1 0.866 8 6 1 0 -767 0 1 0 23 15.5885 20 0 0 1 0.866 8 6 1 0 -768 0 1 0 23.5 16.4545 20 0 0 1 0.866 8 6 1 0 -769 0 1 0 24 15.5885 20 0 0 1 0.866 8 6 1 0 -770 0 1 0 24.5 16.4545 20 0 0 1 0.866 8 6 1 0 -771 0 1 0 25 15.5885 20 0 0 1 0.866 8 6 1 0 -772 0 1 0 25.5 16.4545 20 0 0 1 0.866 8 6 1 0 -773 0 1 0 26 15.5885 20 0 0 1 0.866 8 6 1 0 -774 0 1 0 26.5 16.4545 20 0 0 1 0.866 8 6 1 0 -775 0 1 0 27 15.5885 20 0 0 1 0.866 8 6 1 0 -776 0 1 0 27.5 16.4545 20 0 0 1 0.866 8 6 1 0 -777 0 1 0 28 15.5885 20 0 0 1 0.866 8 6 1 0 -778 0 1 0 28.5 16.4545 20 0 0 1 0.866 8 6 1 0 -779 0 1 0 29 15.5885 20 0 0 1 0.866 8 6 1 0 -780 0 1 0 29.5 16.4545 20 0 0 1 0.866 8 6 1 0 -781 0 1 0 30 15.5885 20 0 0 1 0.866 8 6 1 0 -782 0 1 0 30.5 16.4545 20 0 0 1 0.866 8 6 1 0 -783 0 1 0 31 15.5885 20 0 0 1 0.866 8 6 1 0 -784 0 1 0 31.5 16.4545 20 0 0 1 0.866 8 6 1 0 -785 0 1 0 32 15.5885 20 0 0 1 0.866 8 6 1 0 -786 0 1 0 32.5 16.4545 20 0 0 1 0.866 8 6 1 0 -787 0 1 0 33 15.5885 20 0 0 1 0.866 8 6 1 0 -788 0 1 0 33.5 16.4545 20 0 0 1 0.866 8 6 1 0 -789 0 1 0 34 15.5885 20 0 0 1 0.866 8 6 1 0 -790 0 1 0 34.5 16.4545 20 0 0 1 0.866 8 6 1 0 -791 0 1 0 35 15.5885 20 0 0 1 0.866 8 6 1 0 -792 0 1 0 35.5 16.4545 20 0 0 1 0.866 8 6 1 0 -793 0 1 0 36 15.5885 20 0 0 1 0.866 8 6 1 0 -794 0 1 0 36.5 16.4545 20 0 0 1 0.866 8 6 1 0 -795 0 1 0 37 15.5885 20 0 0 1 0.866 8 6 1 0 -796 0 1 0 37.5 16.4545 20 0 0 1 0.866 8 6 1 0 -797 0 1 0 38 15.5885 20 0 0 1 0.866 8 6 1 0 -798 0 1 0 38.5 16.4545 20 0 0 1 0.866 8 6 1 0 -799 0 1 0 39 15.5885 20 0 0 1 0.866 8 6 1 0 -800 0 1 0 39.5 16.4545 20 0 0 1 0.866 8 6 1 0 -801 0 1 0 0 17.3205 20 0 0 1 0.866 8 6 1 0 -802 0 1 0 0.5 18.1865 20 0 0 1 0.866 8 6 1 0 -803 0 1 0 1 17.3205 20 0 0 1 0.866 8 6 1 0 -804 0 1 0 1.5 18.1865 20 0 0 1 0.866 8 6 1 0 -805 0 1 0 2 17.3205 20 0 0 1 0.866 8 6 1 0 -806 0 1 0 2.5 18.1865 20 0 0 1 0.866 8 6 1 0 -807 0 1 0 3 17.3205 20 0 0 1 0.866 8 6 1 0 -808 0 1 0 3.5 18.1865 20 0 0 1 0.866 8 6 1 0 -809 0 1 0 4 17.3205 20 0 0 1 0.866 8 6 1 0 -810 0 1 0 4.5 18.1865 20 0 0 1 0.866 8 6 1 0 -811 0 1 0 5 17.3205 20 0 0 1 0.866 8 6 1 0 -812 0 1 0 5.5 18.1865 20 0 0 1 0.866 8 6 1 0 -813 0 1 0 6 17.3205 20 0 0 1 0.866 8 6 1 0 -814 0 1 0 6.5 18.1865 20 0 0 1 0.866 8 6 1 0 -815 0 1 0 7 17.3205 20 0 0 1 0.866 8 6 1 0 -816 0 1 0 7.5 18.1865 20 0 0 1 0.866 8 6 1 0 -817 0 1 0 8 17.3205 20 0 0 1 0.866 8 6 1 0 -818 0 1 0 8.5 18.1865 20 0 0 1 0.866 8 6 1 0 -819 0 1 0 9 17.3205 20 0 0 1 0.866 8 6 1 0 -820 0 1 0 9.5 18.1865 20 0 0 1 0.866 8 6 1 0 -821 0 1 0 10 17.3205 20 0 0 1 0.866 8 6 1 0 -822 0 1 0 10.5 18.1865 20 0 0 1 0.866 8 6 1 0 -823 0 1 0 11 17.3205 20 0 0 1 0.866 8 6 1 0 -824 0 1 0 11.5 18.1865 20 0 0 1 0.866 8 6 1 0 -825 0 1 0 12 17.3205 20 0 0 1 0.866 8 6 1 0 -826 0 1 0 12.5 18.1865 20 0 0 1 0.866 8 6 1 0 -827 0 1 0 13 17.3205 20 0 0 1 0.866 8 6 1 0 -828 0 1 0 13.5 18.1865 20 0 0 1 0.866 8 6 1 0 -829 0 1 0 14 17.3205 20 0 0 1 0.866 8 6 1 0 -830 0 1 0 14.5 18.1865 20 0 0 1 0.866 8 6 1 0 -831 0 1 0 15 17.3205 20 0 0 1 0.866 8 6 1 0 -832 0 1 0 15.5 18.1865 20 0 0 1 0.866 8 6 1 0 -833 0 1 0 16 17.3205 20 0 0 1 0.866 8 6 1 0 -834 0 1 0 16.5 18.1865 20 0 0 1 0.866 8 6 1 0 -835 0 1 0 17 17.3205 20 0 0 1 0.866 8 6 1 0 -836 0 1 0 17.5 18.1865 20 0 0 1 0.866 8 6 1 0 -837 0 1 0 18 17.3205 20 0 0 1 0.866 8 6 1 0 -838 0 1 0 18.5 18.1865 20 0 0 1 0.866 8 6 1 0 -839 0 1 0 19 17.3205 20 0 0 1 0.866 8 6 1 0 -840 0 1 0 19.5 18.1865 20 0 0 1 0.866 8 6 1 0 -841 0 1 0 20 17.3205 20 0 0 1 0.866 8 6 1 0 -842 0 1 0 20.5 18.1865 20 0 0 1 0.866 8 6 1 0 -843 0 1 0 21 17.3205 20 0 0 1 0.866 8 6 1 0 -844 0 1 0 21.5 18.1865 20 0 0 1 0.866 8 6 1 0 -845 0 1 0 22 17.3205 20 0 0 1 0.866 8 6 1 0 -846 0 1 0 22.5 18.1865 20 0 0 1 0.866 8 6 1 0 -847 0 1 0 23 17.3205 20 0 0 1 0.866 8 6 1 0 -848 0 1 0 23.5 18.1865 20 0 0 1 0.866 8 6 1 0 -849 0 1 0 24 17.3205 20 0 0 1 0.866 8 6 1 0 -850 0 1 0 24.5 18.1865 20 0 0 1 0.866 8 6 1 0 -851 0 1 0 25 17.3205 20 0 0 1 0.866 8 6 1 0 -852 0 1 0 25.5 18.1865 20 0 0 1 0.866 8 6 1 0 -853 0 1 0 26 17.3205 20 0 0 1 0.866 8 6 1 0 -854 0 1 0 26.5 18.1865 20 0 0 1 0.866 8 6 1 0 -855 0 1 0 27 17.3205 20 0 0 1 0.866 8 6 1 0 -856 0 1 0 27.5 18.1865 20 0 0 1 0.866 8 6 1 0 -857 0 1 0 28 17.3205 20 0 0 1 0.866 8 6 1 0 -858 0 1 0 28.5 18.1865 20 0 0 1 0.866 8 6 1 0 -859 0 1 0 29 17.3205 20 0 0 1 0.866 8 6 1 0 -860 0 1 0 29.5 18.1865 20 0 0 1 0.866 8 6 1 0 -861 0 1 0 30 17.3205 20 0 0 1 0.866 8 6 1 0 -862 0 1 0 30.5 18.1865 20 0 0 1 0.866 8 6 1 0 -863 0 1 0 31 17.3205 20 0 0 1 0.866 8 6 1 0 -864 0 1 0 31.5 18.1865 20 0 0 1 0.866 8 6 1 0 -865 0 1 0 32 17.3205 20 0 0 1 0.866 8 6 1 0 -866 0 1 0 32.5 18.1865 20 0 0 1 0.866 8 6 1 0 -867 0 1 0 33 17.3205 20 0 0 1 0.866 8 6 1 0 -868 0 1 0 33.5 18.1865 20 0 0 1 0.866 8 6 1 0 -869 0 1 0 34 17.3205 20 0 0 1 0.866 8 6 1 0 -870 0 1 0 34.5 18.1865 20 0 0 1 0.866 8 6 1 0 -871 0 1 0 35 17.3205 20 0 0 1 0.866 8 6 1 0 -872 0 1 0 35.5 18.1865 20 0 0 1 0.866 8 6 1 0 -873 0 1 0 36 17.3205 20 0 0 1 0.866 8 6 1 0 -874 0 1 0 36.5 18.1865 20 0 0 1 0.866 8 6 1 0 -875 0 1 0 37 17.3205 20 0 0 1 0.866 8 6 1 0 -876 0 1 0 37.5 18.1865 20 0 0 1 0.866 8 6 1 0 -877 0 1 0 38 17.3205 20 0 0 1 0.866 8 6 1 0 -878 0 1 0 38.5 18.1865 20 0 0 1 0.866 8 6 1 0 -879 0 1 0 39 17.3205 20 0 0 1 0.866 8 6 1 0 -880 0 1 0 39.5 18.1865 20 0 0 1 0.866 8 6 1 0 -881 0 1 0 0 19.0526 20 0 0 1 0.866 8 6 1 0 -882 0 1 0 0.5 19.9186 20 0 0 1 0.866 8 6 1 0 -883 0 1 0 1 19.0526 20 0 0 1 0.866 8 6 1 0 -884 0 1 0 1.5 19.9186 20 0 0 1 0.866 8 6 1 0 -885 0 1 0 2 19.0526 20 0 0 1 0.866 8 6 1 0 -886 0 1 0 2.5 19.9186 20 0 0 1 0.866 8 6 1 0 -887 0 1 0 3 19.0526 20 0 0 1 0.866 8 6 1 0 -888 0 1 0 3.5 19.9186 20 0 0 1 0.866 8 6 1 0 -889 0 1 0 4 19.0526 20 0 0 1 0.866 8 6 1 0 -890 0 1 0 4.5 19.9186 20 0 0 1 0.866 8 6 1 0 -891 0 1 0 5 19.0526 20 0 0 1 0.866 8 6 1 0 -892 0 1 0 5.5 19.9186 20 0 0 1 0.866 8 6 1 0 -893 0 1 0 6 19.0526 20 0 0 1 0.866 8 6 1 0 -894 0 1 0 6.5 19.9186 20 0 0 1 0.866 8 6 1 0 -895 0 1 0 7 19.0526 20 0 0 1 0.866 8 6 1 0 -896 0 1 0 7.5 19.9186 20 0 0 1 0.866 8 6 1 0 -897 0 1 0 8 19.0526 20 0 0 1 0.866 8 6 1 0 -898 0 1 0 8.5 19.9186 20 0 0 1 0.866 8 6 1 0 -899 0 1 0 9 19.0526 20 0 0 1 0.866 8 6 1 0 -900 0 1 0 9.5 19.9186 20 0 0 1 0.866 8 6 1 0 -901 0 1 0 10 19.0526 20 0 0 1 0.866 8 6 1 0 -902 0 1 0 10.5 19.9186 20 0 0 1 0.866 8 6 1 0 -903 0 1 0 11 19.0526 20 0 0 1 0.866 8 6 1 0 -904 0 1 0 11.5 19.9186 20 0 0 1 0.866 8 6 1 0 -905 0 1 0 12 19.0526 20 0 0 1 0.866 8 6 1 0 -906 0 1 0 12.5 19.9186 20 0 0 1 0.866 8 6 1 0 -907 0 1 0 13 19.0526 20 0 0 1 0.866 8 6 1 0 -908 0 1 0 13.5 19.9186 20 0 0 1 0.866 8 6 1 0 -909 0 1 0 14 19.0526 20 0 0 1 0.866 8 6 1 0 -910 0 1 0 14.5 19.9186 20 0 0 1 0.866 8 6 1 0 -911 0 1 0 15 19.0526 20 0 0 1 0.866 8 6 1 0 -912 0 1 0 15.5 19.9186 20 0 0 1 0.866 8 6 1 0 -913 0 1 0 16 19.0526 20 0 0 1 0.866 8 6 1 0 -914 0 1 0 16.5 19.9186 20 0 0 1 0.866 8 6 1 0 -915 0 1 0 17 19.0526 20 0 0 1 0.866 8 6 1 0 -916 0 1 0 17.5 19.9186 20 0 0 1 0.866 8 6 1 0 -917 0 1 0 18 19.0526 20 0 0 1 0.866 8 6 1 0 -918 0 1 0 18.5 19.9186 20 0 0 1 0.866 8 6 1 0 -919 0 1 0 19 19.0526 20 0 0 1 0.866 8 6 1 0 -920 0 1 0 19.5 19.9186 20 0 0 1 0.866 8 6 1 0 -921 0 1 0 20 19.0526 20 0 0 1 0.866 8 6 1 0 -922 0 1 0 20.5 19.9186 20 0 0 1 0.866 8 6 1 0 -923 0 1 0 21 19.0526 20 0 0 1 0.866 8 6 1 0 -924 0 1 0 21.5 19.9186 20 0 0 1 0.866 8 6 1 0 -925 0 1 0 22 19.0526 20 0 0 1 0.866 8 6 1 0 -926 0 1 0 22.5 19.9186 20 0 0 1 0.866 8 6 1 0 -927 0 1 0 23 19.0526 20 0 0 1 0.866 8 6 1 0 -928 0 1 0 23.5 19.9186 20 0 0 1 0.866 8 6 1 0 -929 0 1 0 24 19.0526 20 0 0 1 0.866 8 6 1 0 -930 0 1 0 24.5 19.9186 20 0 0 1 0.866 8 6 1 0 -931 0 1 0 25 19.0526 20 0 0 1 0.866 8 6 1 0 -932 0 1 0 25.5 19.9186 20 0 0 1 0.866 8 6 1 0 -933 0 1 0 26 19.0526 20 0 0 1 0.866 8 6 1 0 -934 0 1 0 26.5 19.9186 20 0 0 1 0.866 8 6 1 0 -935 0 1 0 27 19.0526 20 0 0 1 0.866 8 6 1 0 -936 0 1 0 27.5 19.9186 20 0 0 1 0.866 8 6 1 0 -937 0 1 0 28 19.0526 20 0 0 1 0.866 8 6 1 0 -938 0 1 0 28.5 19.9186 20 0 0 1 0.866 8 6 1 0 -939 0 1 0 29 19.0526 20 0 0 1 0.866 8 6 1 0 -940 0 1 0 29.5 19.9186 20 0 0 1 0.866 8 6 1 0 -941 0 1 0 30 19.0526 20 0 0 1 0.866 8 6 1 0 -942 0 1 0 30.5 19.9186 20 0 0 1 0.866 8 6 1 0 -943 0 1 0 31 19.0526 20 0 0 1 0.866 8 6 1 0 -944 0 1 0 31.5 19.9186 20 0 0 1 0.866 8 6 1 0 -945 0 1 0 32 19.0526 20 0 0 1 0.866 8 6 1 0 -946 0 1 0 32.5 19.9186 20 0 0 1 0.866 8 6 1 0 -947 0 1 0 33 19.0526 20 0 0 1 0.866 8 6 1 0 -948 0 1 0 33.5 19.9186 20 0 0 1 0.866 8 6 1 0 -949 0 1 0 34 19.0526 20 0 0 1 0.866 8 6 1 0 -950 0 1 0 34.5 19.9186 20 0 0 1 0.866 8 6 1 0 -951 0 1 0 35 19.0526 20 0 0 1 0.866 8 6 1 0 -952 0 1 0 35.5 19.9186 20 0 0 1 0.866 8 6 1 0 -953 0 1 0 36 19.0526 20 0 0 1 0.866 8 6 1 0 -954 0 1 0 36.5 19.9186 20 0 0 1 0.866 8 6 1 0 -955 0 1 0 37 19.0526 20 0 0 1 0.866 8 6 1 0 -956 0 1 0 37.5 19.9186 20 0 0 1 0.866 8 6 1 0 -957 0 1 0 38 19.0526 20 0 0 1 0.866 8 6 1 0 -958 0 1 0 38.5 19.9186 20 0 0 1 0.866 8 6 1 0 -959 0 1 0 39 19.0526 20 0 0 1 0.866 8 6 1 0 -960 0 1 0 39.5 19.9186 20 0 0 1 0.866 8 6 1 0 -961 0 1 0 0 20.7846 20 0 0 1 0.866 8 6 1 0 -962 0 1 0 0.5 21.6506 20 0 0 1 0.866 8 6 1 0 -963 0 1 0 1 20.7846 20 0 0 1 0.866 8 6 1 0 -964 0 1 0 1.5 21.6506 20 0 0 1 0.866 8 6 1 0 -965 0 1 0 2 20.7846 20 0 0 1 0.866 8 6 1 0 -966 0 1 0 2.5 21.6506 20 0 0 1 0.866 8 6 1 0 -967 0 1 0 3 20.7846 20 0 0 1 0.866 8 6 1 0 -968 0 1 0 3.5 21.6506 20 0 0 1 0.866 8 6 1 0 -969 0 1 0 4 20.7846 20 0 0 1 0.866 8 6 1 0 -970 0 1 0 4.5 21.6506 20 0 0 1 0.866 8 6 1 0 -971 0 1 0 5 20.7846 20 0 0 1 0.866 8 6 1 0 -972 0 1 0 5.5 21.6506 20 0 0 1 0.866 8 6 1 0 -973 0 1 0 6 20.7846 20 0 0 1 0.866 8 6 1 0 -974 0 1 0 6.5 21.6506 20 0 0 1 0.866 8 6 1 0 -975 0 1 0 7 20.7846 20 0 0 1 0.866 8 6 1 0 -976 0 1 0 7.5 21.6506 20 0 0 1 0.866 8 6 1 0 -977 0 1 0 8 20.7846 20 0 0 1 0.866 8 6 1 0 -978 0 1 0 8.5 21.6506 20 0 0 1 0.866 8 6 1 0 -979 0 1 0 9 20.7846 20 0 0 1 0.866 8 6 1 0 -980 0 1 0 9.5 21.6506 20 0 0 1 0.866 8 6 1 0 -981 0 1 0 10 20.7846 20 0 0 1 0.866 8 6 1 0 -982 0 1 0 10.5 21.6506 20 0 0 1 0.866 8 6 1 0 -983 0 1 0 11 20.7846 20 0 0 1 0.866 8 6 1 0 -984 0 1 0 11.5 21.6506 20 0 0 1 0.866 8 6 1 0 -985 0 1 0 12 20.7846 20 0 0 1 0.866 8 6 1 0 -986 0 1 0 12.5 21.6506 20 0 0 1 0.866 8 6 1 0 -987 0 1 0 13 20.7846 20 0 0 1 0.866 8 6 1 0 -988 0 1 0 13.5 21.6506 20 0 0 1 0.866 8 6 1 0 -989 0 1 0 14 20.7846 20 0 0 1 0.866 8 6 1 0 -990 0 1 0 14.5 21.6506 20 0 0 1 0.866 8 6 1 0 -991 0 1 0 15 20.7846 20 0 0 1 0.866 8 6 1 0 -992 0 1 0 15.5 21.6506 20 0 0 1 0.866 8 6 1 0 -993 0 1 0 16 20.7846 20 0 0 1 0.866 8 6 1 0 -994 0 1 0 16.5 21.6506 20 0 0 1 0.866 8 6 1 0 -995 0 1 0 17 20.7846 20 0 0 1 0.866 8 6 1 0 -996 0 1 0 17.5 21.6506 20 0 0 1 0.866 8 6 1 0 -997 0 1 0 18 20.7846 20 0 0 1 0.866 8 6 1 0 -998 0 1 0 18.5 21.6506 20 0 0 1 0.866 8 6 1 0 -999 0 1 0 19 20.7846 20 0 0 1 0.866 8 6 1 0 -1000 0 1 0 19.5 21.6506 20 0 0 1 0.866 8 6 1 0 -1001 0 1 0 20 20.7846 20 0 0 1 0.866 8 6 1 0 -1002 0 1 0 20.5 21.6506 20 0 0 1 0.866 8 6 1 0 -1003 0 1 0 21 20.7846 20 0 0 1 0.866 8 6 1 0 -1004 0 1 0 21.5 21.6506 20 0 0 1 0.866 8 6 1 0 -1005 0 1 0 22 20.7846 20 0 0 1 0.866 8 6 1 0 -1006 0 1 0 22.5 21.6506 20 0 0 1 0.866 8 6 1 0 -1007 0 1 0 23 20.7846 20 0 0 1 0.866 8 6 1 0 -1008 0 1 0 23.5 21.6506 20 0 0 1 0.866 8 6 1 0 -1009 0 1 0 24 20.7846 20 0 0 1 0.866 8 6 1 0 -1010 0 1 0 24.5 21.6506 20 0 0 1 0.866 8 6 1 0 -1011 0 1 0 25 20.7846 20 0 0 1 0.866 8 6 1 0 -1012 0 1 0 25.5 21.6506 20 0 0 1 0.866 8 6 1 0 -1013 0 1 0 26 20.7846 20 0 0 1 0.866 8 6 1 0 -1014 0 1 0 26.5 21.6506 20 0 0 1 0.866 8 6 1 0 -1015 0 1 0 27 20.7846 20 0 0 1 0.866 8 6 1 0 -1016 0 1 0 27.5 21.6506 20 0 0 1 0.866 8 6 1 0 -1017 0 1 0 28 20.7846 20 0 0 1 0.866 8 6 1 0 -1018 0 1 0 28.5 21.6506 20 0 0 1 0.866 8 6 1 0 -1019 0 1 0 29 20.7846 20 0 0 1 0.866 8 6 1 0 -1020 0 1 0 29.5 21.6506 20 0 0 1 0.866 8 6 1 0 -1021 0 1 0 30 20.7846 20 0 0 1 0.866 8 6 1 0 -1022 0 1 0 30.5 21.6506 20 0 0 1 0.866 8 6 1 0 -1023 0 1 0 31 20.7846 20 0 0 1 0.866 8 6 1 0 -1024 0 1 0 31.5 21.6506 20 0 0 1 0.866 8 6 1 0 -1025 0 1 0 32 20.7846 20 0 0 1 0.866 8 6 1 0 -1026 0 1 0 32.5 21.6506 20 0 0 1 0.866 8 6 1 0 -1027 0 1 0 33 20.7846 20 0 0 1 0.866 8 6 1 0 -1028 0 1 0 33.5 21.6506 20 0 0 1 0.866 8 6 1 0 -1029 0 1 0 34 20.7846 20 0 0 1 0.866 8 6 1 0 -1030 0 1 0 34.5 21.6506 20 0 0 1 0.866 8 6 1 0 -1031 0 1 0 35 20.7846 20 0 0 1 0.866 8 6 1 0 -1032 0 1 0 35.5 21.6506 20 0 0 1 0.866 8 6 1 0 -1033 0 1 0 36 20.7846 20 0 0 1 0.866 8 6 1 0 -1034 0 1 0 36.5 21.6506 20 0 0 1 0.866 8 6 1 0 -1035 0 1 0 37 20.7846 20 0 0 1 0.866 8 6 1 0 -1036 0 1 0 37.5 21.6506 20 0 0 1 0.866 8 6 1 0 -1037 0 1 0 38 20.7846 20 0 0 1 0.866 8 6 1 0 -1038 0 1 0 38.5 21.6506 20 0 0 1 0.866 8 6 1 0 -1039 0 1 0 39 20.7846 20 0 0 1 0.866 8 6 1 0 -1040 0 1 0 39.5 21.6506 20 0 0 1 0.866 8 6 1 0 -1041 0 1 0 0 22.5167 20 0 0 1 0.866 8 6 1 0 -1042 0 1 0 0.5 23.3827 20 0 0 1 0.866 8 6 1 0 -1043 0 1 0 1 22.5167 20 0 0 1 0.866 8 6 1 0 -1044 0 1 0 1.5 23.3827 20 0 0 1 0.866 8 6 1 0 -1045 0 1 0 2 22.5167 20 0 0 1 0.866 8 6 1 0 -1046 0 1 0 2.5 23.3827 20 0 0 1 0.866 8 6 1 0 -1047 0 1 0 3 22.5167 20 0 0 1 0.866 8 6 1 0 -1048 0 1 0 3.5 23.3827 20 0 0 1 0.866 8 6 1 0 -1049 0 1 0 4 22.5167 20 0 0 1 0.866 8 6 1 0 -1050 0 1 0 4.5 23.3827 20 0 0 1 0.866 8 6 1 0 -1051 0 1 0 5 22.5167 20 0 0 1 0.866 8 6 1 0 -1052 0 1 0 5.5 23.3827 20 0 0 1 0.866 8 6 1 0 -1053 0 1 0 6 22.5167 20 0 0 1 0.866 8 6 1 0 -1054 0 1 0 6.5 23.3827 20 0 0 1 0.866 8 6 1 0 -1055 0 1 0 7 22.5167 20 0 0 1 0.866 8 6 1 0 -1056 0 1 0 7.5 23.3827 20 0 0 1 0.866 8 6 1 0 -1057 0 1 0 8 22.5167 20 0 0 1 0.866 8 6 1 0 -1058 0 1 0 8.5 23.3827 20 0 0 1 0.866 8 6 1 0 -1059 0 1 0 9 22.5167 20 0 0 1 0.866 8 6 1 0 -1060 0 1 0 9.5 23.3827 20 0 0 1 0.866 8 6 1 0 -1061 0 1 0 10 22.5167 20 0 0 1 0.866 8 6 1 0 -1062 0 1 0 10.5 23.3827 20 0 0 1 0.866 8 6 1 0 -1063 0 1 0 11 22.5167 20 0 0 1 0.866 8 6 1 0 -1064 0 1 0 11.5 23.3827 20 0 0 1 0.866 8 6 1 0 -1065 0 1 0 12 22.5167 20 0 0 1 0.866 8 6 1 0 -1066 0 1 0 12.5 23.3827 20 0 0 1 0.866 8 6 1 0 -1067 0 1 0 13 22.5167 20 0 0 1 0.866 8 6 1 0 -1068 0 1 0 13.5 23.3827 20 0 0 1 0.866 8 6 1 0 -1069 0 1 0 14 22.5167 20 0 0 1 0.866 8 6 1 0 -1070 0 1 0 14.5 23.3827 20 0 0 1 0.866 8 6 1 0 -1071 0 1 0 15 22.5167 20 0 0 1 0.866 8 6 1 0 -1072 0 1 0 15.5 23.3827 20 0 0 1 0.866 8 6 1 0 -1073 0 1 0 16 22.5167 20 0 0 1 0.866 8 6 1 0 -1074 0 1 0 16.5 23.3827 20 0 0 1 0.866 8 6 1 0 -1075 0 1 0 17 22.5167 20 0 0 1 0.866 8 6 1 0 -1076 0 1 0 17.5 23.3827 20 0 0 1 0.866 8 6 1 0 -1077 0 1 0 18 22.5167 20 0 0 1 0.866 8 6 1 0 -1078 0 1 0 18.5 23.3827 20 0 0 1 0.866 8 6 1 0 -1079 0 1 0 19 22.5167 20 0 0 1 0.866 8 6 1 0 -1080 0 1 0 19.5 23.3827 20 0 0 1 0.866 8 6 1 0 -1081 0 1 0 20 22.5167 20 0 0 1 0.866 8 6 1 0 -1082 0 1 0 20.5 23.3827 20 0 0 1 0.866 8 6 1 0 -1083 0 1 0 21 22.5167 20 0 0 1 0.866 8 6 1 0 -1084 0 1 0 21.5 23.3827 20 0 0 1 0.866 8 6 1 0 -1085 0 1 0 22 22.5167 20 0 0 1 0.866 8 6 1 0 -1086 0 1 0 22.5 23.3827 20 0 0 1 0.866 8 6 1 0 -1087 0 1 0 23 22.5167 20 0 0 1 0.866 8 6 1 0 -1088 0 1 0 23.5 23.3827 20 0 0 1 0.866 8 6 1 0 -1089 0 1 0 24 22.5167 20 0 0 1 0.866 8 6 1 0 -1090 0 1 0 24.5 23.3827 20 0 0 1 0.866 8 6 1 0 -1091 0 1 0 25 22.5167 20 0 0 1 0.866 8 6 1 0 -1092 0 1 0 25.5 23.3827 20 0 0 1 0.866 8 6 1 0 -1093 0 1 0 26 22.5167 20 0 0 1 0.866 8 6 1 0 -1094 0 1 0 26.5 23.3827 20 0 0 1 0.866 8 6 1 0 -1095 0 1 0 27 22.5167 20 0 0 1 0.866 8 6 1 0 -1096 0 1 0 27.5 23.3827 20 0 0 1 0.866 8 6 1 0 -1097 0 1 0 28 22.5167 20 0 0 1 0.866 8 6 1 0 -1098 0 1 0 28.5 23.3827 20 0 0 1 0.866 8 6 1 0 -1099 0 1 0 29 22.5167 20 0 0 1 0.866 8 6 1 0 -1100 0 1 0 29.5 23.3827 20 0 0 1 0.866 8 6 1 0 -1101 0 1 0 30 22.5167 20 0 0 1 0.866 8 6 1 0 -1102 0 1 0 30.5 23.3827 20 0 0 1 0.866 8 6 1 0 -1103 0 1 0 31 22.5167 20 0 0 1 0.866 8 6 1 0 -1104 0 1 0 31.5 23.3827 20 0 0 1 0.866 8 6 1 0 -1105 0 1 0 32 22.5167 20 0 0 1 0.866 8 6 1 0 -1106 0 1 0 32.5 23.3827 20 0 0 1 0.866 8 6 1 0 -1107 0 1 0 33 22.5167 20 0 0 1 0.866 8 6 1 0 -1108 0 1 0 33.5 23.3827 20 0 0 1 0.866 8 6 1 0 -1109 0 1 0 34 22.5167 20 0 0 1 0.866 8 6 1 0 -1110 0 1 0 34.5 23.3827 20 0 0 1 0.866 8 6 1 0 -1111 0 1 0 35 22.5167 20 0 0 1 0.866 8 6 1 0 -1112 0 1 0 35.5 23.3827 20 0 0 1 0.866 8 6 1 0 -1113 0 1 0 36 22.5167 20 0 0 1 0.866 8 6 1 0 -1114 0 1 0 36.5 23.3827 20 0 0 1 0.866 8 6 1 0 -1115 0 1 0 37 22.5167 20 0 0 1 0.866 8 6 1 0 -1116 0 1 0 37.5 23.3827 20 0 0 1 0.866 8 6 1 0 -1117 0 1 0 38 22.5167 20 0 0 1 0.866 8 6 1 0 -1118 0 1 0 38.5 23.3827 20 0 0 1 0.866 8 6 1 0 -1119 0 1 0 39 22.5167 20 0 0 1 0.866 8 6 1 0 -1120 0 1 0 39.5 23.3827 20 0 0 1 0.866 8 6 1 0 -1121 0 1 0 0 24.2487 20 0 0 1 0.866 8 6 1 0 -1122 0 1 0 0.5 25.1147 20 0 0 1 0.866 8 6 1 0 -1123 0 1 0 1 24.2487 20 0 0 1 0.866 8 6 1 0 -1124 0 1 0 1.5 25.1147 20 0 0 1 0.866 8 6 1 0 -1125 0 1 0 2 24.2487 20 0 0 1 0.866 8 6 1 0 -1126 0 1 0 2.5 25.1147 20 0 0 1 0.866 8 6 1 0 -1127 0 1 0 3 24.2487 20 0 0 1 0.866 8 6 1 0 -1128 0 1 0 3.5 25.1147 20 0 0 1 0.866 8 6 1 0 -1129 0 1 0 4 24.2487 20 0 0 1 0.866 8 6 1 0 -1130 0 1 0 4.5 25.1147 20 0 0 1 0.866 8 6 1 0 -1131 0 1 0 5 24.2487 20 0 0 1 0.866 8 6 1 0 -1132 0 1 0 5.5 25.1147 20 0 0 1 0.866 8 6 1 0 -1133 0 1 0 6 24.2487 20 0 0 1 0.866 8 6 1 0 -1134 0 1 0 6.5 25.1147 20 0 0 1 0.866 8 6 1 0 -1135 0 1 0 7 24.2487 20 0 0 1 0.866 8 6 1 0 -1136 0 1 0 7.5 25.1147 20 0 0 1 0.866 8 6 1 0 -1137 0 1 0 8 24.2487 20 0 0 1 0.866 8 6 1 0 -1138 0 1 0 8.5 25.1147 20 0 0 1 0.866 8 6 1 0 -1139 0 1 0 9 24.2487 20 0 0 1 0.866 8 6 1 0 -1140 0 1 0 9.5 25.1147 20 0 0 1 0.866 8 6 1 0 -1141 0 1 0 10 24.2487 20 0 0 1 0.866 8 6 1 0 -1142 0 1 0 10.5 25.1147 20 0 0 1 0.866 8 6 1 0 -1143 0 1 0 11 24.2487 20 0 0 1 0.866 8 6 1 0 -1144 0 1 0 11.5 25.1147 20 0 0 1 0.866 8 6 1 0 -1145 0 1 0 12 24.2487 20 0 0 1 0.866 8 6 1 0 -1146 0 1 0 12.5 25.1147 20 0 0 1 0.866 8 6 1 0 -1147 0 1 0 13 24.2487 20 0 0 1 0.866 8 6 1 0 -1148 0 1 0 13.5 25.1147 20 0 0 1 0.866 8 6 1 0 -1149 0 1 0 14 24.2487 20 0 0 1 0.866 8 6 1 0 -1150 0 1 0 14.5 25.1147 20 0 0 1 0.866 8 6 1 0 -1151 0 1 0 15 24.2487 20 0 0 1 0.866 8 6 1 0 -1152 0 1 0 15.5 25.1147 20 0 0 1 0.866 8 6 1 0 -1153 0 1 0 16 24.2487 20 0 0 1 0.866 8 6 1 0 -1154 0 1 0 16.5 25.1147 20 0 0 1 0.866 8 6 1 0 -1155 0 1 0 17 24.2487 20 0 0 1 0.866 8 6 1 0 -1156 0 1 0 17.5 25.1147 20 0 0 1 0.866 8 6 1 0 -1157 0 1 0 18 24.2487 20 0 0 1 0.866 8 6 1 0 -1158 0 1 0 18.5 25.1147 20 0 0 1 0.866 8 6 1 0 -1159 0 1 0 19 24.2487 20 0 0 1 0.866 8 6 1 0 -1160 0 1 0 19.5 25.1147 20 0 0 1 0.866 8 6 1 0 -1161 0 1 0 20 24.2487 20 0 0 1 0.866 8 6 1 0 -1162 0 1 0 20.5 25.1147 20 0 0 1 0.866 8 6 1 0 -1163 0 1 0 21 24.2487 20 0 0 1 0.866 8 6 1 0 -1164 0 1 0 21.5 25.1147 20 0 0 1 0.866 8 6 1 0 -1165 0 1 0 22 24.2487 20 0 0 1 0.866 8 6 1 0 -1166 0 1 0 22.5 25.1147 20 0 0 1 0.866 8 6 1 0 -1167 0 1 0 23 24.2487 20 0 0 1 0.866 8 6 1 0 -1168 0 1 0 23.5 25.1147 20 0 0 1 0.866 8 6 1 0 -1169 0 1 0 24 24.2487 20 0 0 1 0.866 8 6 1 0 -1170 0 1 0 24.5 25.1147 20 0 0 1 0.866 8 6 1 0 -1171 0 1 0 25 24.2487 20 0 0 1 0.866 8 6 1 0 -1172 0 1 0 25.5 25.1147 20 0 0 1 0.866 8 6 1 0 -1173 0 1 0 26 24.2487 20 0 0 1 0.866 8 6 1 0 -1174 0 1 0 26.5 25.1147 20 0 0 1 0.866 8 6 1 0 -1175 0 1 0 27 24.2487 20 0 0 1 0.866 8 6 1 0 -1176 0 1 0 27.5 25.1147 20 0 0 1 0.866 8 6 1 0 -1177 0 1 0 28 24.2487 20 0 0 1 0.866 8 6 1 0 -1178 0 1 0 28.5 25.1147 20 0 0 1 0.866 8 6 1 0 -1179 0 1 0 29 24.2487 20 0 0 1 0.866 8 6 1 0 -1180 0 1 0 29.5 25.1147 20 0 0 1 0.866 8 6 1 0 -1181 0 1 0 30 24.2487 20 0 0 1 0.866 8 6 1 0 -1182 0 1 0 30.5 25.1147 20 0 0 1 0.866 8 6 1 0 -1183 0 1 0 31 24.2487 20 0 0 1 0.866 8 6 1 0 -1184 0 1 0 31.5 25.1147 20 0 0 1 0.866 8 6 1 0 -1185 0 1 0 32 24.2487 20 0 0 1 0.866 8 6 1 0 -1186 0 1 0 32.5 25.1147 20 0 0 1 0.866 8 6 1 0 -1187 0 1 0 33 24.2487 20 0 0 1 0.866 8 6 1 0 -1188 0 1 0 33.5 25.1147 20 0 0 1 0.866 8 6 1 0 -1189 0 1 0 34 24.2487 20 0 0 1 0.866 8 6 1 0 -1190 0 1 0 34.5 25.1147 20 0 0 1 0.866 8 6 1 0 -1191 0 1 0 35 24.2487 20 0 0 1 0.866 8 6 1 0 -1192 0 1 0 35.5 25.1147 20 0 0 1 0.866 8 6 1 0 -1193 0 1 0 36 24.2487 20 0 0 1 0.866 8 6 1 0 -1194 0 1 0 36.5 25.1147 20 0 0 1 0.866 8 6 1 0 -1195 0 1 0 37 24.2487 20 0 0 1 0.866 8 6 1 0 -1196 0 1 0 37.5 25.1147 20 0 0 1 0.866 8 6 1 0 -1197 0 1 0 38 24.2487 20 0 0 1 0.866 8 6 1 0 -1198 0 1 0 38.5 25.1147 20 0 0 1 0.866 8 6 1 0 -1199 0 1 0 39 24.2487 20 0 0 1 0.866 8 6 1 0 -1200 0 1 0 39.5 25.1147 20 0 0 1 0.866 8 6 1 0 -1201 0 1 0 0 25.9808 20 0 0 1 0.866 8 6 1 0 -1202 0 1 0 0.5 26.8468 20 0 0 1 0.866 8 6 1 0 -1203 0 1 0 1 25.9808 20 0 0 1 0.866 8 6 1 0 -1204 0 1 0 1.5 26.8468 20 0 0 1 0.866 8 6 1 0 -1205 0 1 0 2 25.9808 20 0 0 1 0.866 8 6 1 0 -1206 0 1 0 2.5 26.8468 20 0 0 1 0.866 8 6 1 0 -1207 0 1 0 3 25.9808 20 0 0 1 0.866 8 6 1 0 -1208 0 1 0 3.5 26.8468 20 0 0 1 0.866 8 6 1 0 -1209 0 1 0 4 25.9808 20 0 0 1 0.866 8 6 1 0 -1210 0 1 0 4.5 26.8468 20 0 0 1 0.866 8 6 1 0 -1211 0 1 0 5 25.9808 20 0 0 1 0.866 8 6 1 0 -1212 0 1 0 5.5 26.8468 20 0 0 1 0.866 8 6 1 0 -1213 0 1 0 6 25.9808 20 0 0 1 0.866 8 6 1 0 -1214 0 1 0 6.5 26.8468 20 0 0 1 0.866 8 6 1 0 -1215 0 1 0 7 25.9808 20 0 0 1 0.866 8 6 1 0 -1216 0 1 0 7.5 26.8468 20 0 0 1 0.866 8 6 1 0 -1217 0 1 0 8 25.9808 20 0 0 1 0.866 8 6 1 0 -1218 0 1 0 8.5 26.8468 20 0 0 1 0.866 8 6 1 0 -1219 0 1 0 9 25.9808 20 0 0 1 0.866 8 6 1 0 -1220 0 1 0 9.5 26.8468 20 0 0 1 0.866 8 6 1 0 -1221 0 1 0 10 25.9808 20 0 0 1 0.866 8 6 1 0 -1222 0 1 0 10.5 26.8468 20 0 0 1 0.866 8 6 1 0 -1223 0 1 0 11 25.9808 20 0 0 1 0.866 8 6 1 0 -1224 0 1 0 11.5 26.8468 20 0 0 1 0.866 8 6 1 0 -1225 0 1 0 12 25.9808 20 0 0 1 0.866 8 6 1 0 -1226 0 1 0 12.5 26.8468 20 0 0 1 0.866 8 6 1 0 -1227 0 1 0 13 25.9808 20 0 0 1 0.866 8 6 1 0 -1228 0 1 0 13.5 26.8468 20 0 0 1 0.866 8 6 1 0 -1229 0 1 0 14 25.9808 20 0 0 1 0.866 8 6 1 0 -1230 0 1 0 14.5 26.8468 20 0 0 1 0.866 8 6 1 0 -1231 0 1 0 15 25.9808 20 0 0 1 0.866 8 6 1 0 -1232 0 1 0 15.5 26.8468 20 0 0 1 0.866 8 6 1 0 -1233 0 1 0 16 25.9808 20 0 0 1 0.866 8 6 1 0 -1234 0 1 0 16.5 26.8468 20 0 0 1 0.866 8 6 1 0 -1235 0 1 0 17 25.9808 20 0 0 1 0.866 8 6 1 0 -1236 0 1 0 17.5 26.8468 20 0 0 1 0.866 8 6 1 0 -1237 0 1 0 18 25.9808 20 0 0 1 0.866 8 6 1 0 -1238 0 1 0 18.5 26.8468 20 0 0 1 0.866 8 6 1 0 -1239 0 1 0 19 25.9808 20 0 0 1 0.866 8 6 1 0 -1240 0 1 0 19.5 26.8468 20 0 0 1 0.866 8 6 1 0 -1241 0 1 0 20 25.9808 20 0 0 1 0.866 8 6 1 0 -1242 0 1 0 20.5 26.8468 20 0 0 1 0.866 8 6 1 0 -1243 0 1 0 21 25.9808 20 0 0 1 0.866 8 6 1 0 -1244 0 1 0 21.5 26.8468 20 0 0 1 0.866 8 6 1 0 -1245 0 1 0 22 25.9808 20 0 0 1 0.866 8 6 1 0 -1246 0 1 0 22.5 26.8468 20 0 0 1 0.866 8 6 1 0 -1247 0 1 0 23 25.9808 20 0 0 1 0.866 8 6 1 0 -1248 0 1 0 23.5 26.8468 20 0 0 1 0.866 8 6 1 0 -1249 0 1 0 24 25.9808 20 0 0 1 0.866 8 6 1 0 -1250 0 1 0 24.5 26.8468 20 0 0 1 0.866 8 6 1 0 -1251 0 1 0 25 25.9808 20 0 0 1 0.866 8 6 1 0 -1252 0 1 0 25.5 26.8468 20 0 0 1 0.866 8 6 1 0 -1253 0 1 0 26 25.9808 20 0 0 1 0.866 8 6 1 0 -1254 0 1 0 26.5 26.8468 20 0 0 1 0.866 8 6 1 0 -1255 0 1 0 27 25.9808 20 0 0 1 0.866 8 6 1 0 -1256 0 1 0 27.5 26.8468 20 0 0 1 0.866 8 6 1 0 -1257 0 1 0 28 25.9808 20 0 0 1 0.866 8 6 1 0 -1258 0 1 0 28.5 26.8468 20 0 0 1 0.866 8 6 1 0 -1259 0 1 0 29 25.9808 20 0 0 1 0.866 8 6 1 0 -1260 0 1 0 29.5 26.8468 20 0 0 1 0.866 8 6 1 0 -1261 0 1 0 30 25.9808 20 0 0 1 0.866 8 6 1 0 -1262 0 1 0 30.5 26.8468 20 0 0 1 0.866 8 6 1 0 -1263 0 1 0 31 25.9808 20 0 0 1 0.866 8 6 1 0 -1264 0 1 0 31.5 26.8468 20 0 0 1 0.866 8 6 1 0 -1265 0 1 0 32 25.9808 20 0 0 1 0.866 8 6 1 0 -1266 0 1 0 32.5 26.8468 20 0 0 1 0.866 8 6 1 0 -1267 0 1 0 33 25.9808 20 0 0 1 0.866 8 6 1 0 -1268 0 1 0 33.5 26.8468 20 0 0 1 0.866 8 6 1 0 -1269 0 1 0 34 25.9808 20 0 0 1 0.866 8 6 1 0 -1270 0 1 0 34.5 26.8468 20 0 0 1 0.866 8 6 1 0 -1271 0 1 0 35 25.9808 20 0 0 1 0.866 8 6 1 0 -1272 0 1 0 35.5 26.8468 20 0 0 1 0.866 8 6 1 0 -1273 0 1 0 36 25.9808 20 0 0 1 0.866 8 6 1 0 -1274 0 1 0 36.5 26.8468 20 0 0 1 0.866 8 6 1 0 -1275 0 1 0 37 25.9808 20 0 0 1 0.866 8 6 1 0 -1276 0 1 0 37.5 26.8468 20 0 0 1 0.866 8 6 1 0 -1277 0 1 0 38 25.9808 20 0 0 1 0.866 8 6 1 0 -1278 0 1 0 38.5 26.8468 20 0 0 1 0.866 8 6 1 0 -1279 0 1 0 39 25.9808 20 0 0 1 0.866 8 6 1 0 -1280 0 1 0 39.5 26.8468 20 0 0 1 0.866 8 6 1 0 -1281 0 1 0 0 27.7128 20 0 0 1 0.866 8 6 1 0 -1282 0 1 0 0.5 28.5788 20 0 0 1 0.866 8 6 1 0 -1283 0 1 0 1 27.7128 20 0 0 1 0.866 8 6 1 0 -1284 0 1 0 1.5 28.5788 20 0 0 1 0.866 8 6 1 0 -1285 0 1 0 2 27.7128 20 0 0 1 0.866 8 6 1 0 -1286 0 1 0 2.5 28.5788 20 0 0 1 0.866 8 6 1 0 -1287 0 1 0 3 27.7128 20 0 0 1 0.866 8 6 1 0 -1288 0 1 0 3.5 28.5788 20 0 0 1 0.866 8 6 1 0 -1289 0 1 0 4 27.7128 20 0 0 1 0.866 8 6 1 0 -1290 0 1 0 4.5 28.5788 20 0 0 1 0.866 8 6 1 0 -1291 0 1 0 5 27.7128 20 0 0 1 0.866 8 6 1 0 -1292 0 1 0 5.5 28.5788 20 0 0 1 0.866 8 6 1 0 -1293 0 1 0 6 27.7128 20 0 0 1 0.866 8 6 1 0 -1294 0 1 0 6.5 28.5788 20 0 0 1 0.866 8 6 1 0 -1295 0 1 0 7 27.7128 20 0 0 1 0.866 8 6 1 0 -1296 0 1 0 7.5 28.5788 20 0 0 1 0.866 8 6 1 0 -1297 0 1 0 8 27.7128 20 0 0 1 0.866 8 6 1 0 -1298 0 1 0 8.5 28.5788 20 0 0 1 0.866 8 6 1 0 -1299 0 1 0 9 27.7128 20 0 0 1 0.866 8 6 1 0 -1300 0 1 0 9.5 28.5788 20 0 0 1 0.866 8 6 1 0 -1301 0 1 0 10 27.7128 20 0 0 1 0.866 8 6 1 0 -1302 0 1 0 10.5 28.5788 20 0 0 1 0.866 8 6 1 0 -1303 0 1 0 11 27.7128 20 0 0 1 0.866 8 6 1 0 -1304 0 1 0 11.5 28.5788 20 0 0 1 0.866 8 6 1 0 -1305 0 1 0 12 27.7128 20 0 0 1 0.866 8 6 1 0 -1306 0 1 0 12.5 28.5788 20 0 0 1 0.866 8 6 1 0 -1307 0 1 0 13 27.7128 20 0 0 1 0.866 8 6 1 0 -1308 0 1 0 13.5 28.5788 20 0 0 1 0.866 8 6 1 0 -1309 0 1 0 14 27.7128 20 0 0 1 0.866 8 6 1 0 -1310 0 1 0 14.5 28.5788 20 0 0 1 0.866 8 6 1 0 -1311 0 1 0 15 27.7128 20 0 0 1 0.866 8 6 1 0 -1312 0 1 0 15.5 28.5788 20 0 0 1 0.866 8 6 1 0 -1313 0 1 0 16 27.7128 20 0 0 1 0.866 8 6 1 0 -1314 0 1 0 16.5 28.5788 20 0 0 1 0.866 8 6 1 0 -1315 0 1 0 17 27.7128 20 0 0 1 0.866 8 6 1 0 -1316 0 1 0 17.5 28.5788 20 0 0 1 0.866 8 6 1 0 -1317 0 1 0 18 27.7128 20 0 0 1 0.866 8 6 1 0 -1318 0 1 0 18.5 28.5788 20 0 0 1 0.866 8 6 1 0 -1319 0 1 0 19 27.7128 20 0 0 1 0.866 8 6 1 0 -1320 0 1 0 19.5 28.5788 20 0 0 1 0.866 8 6 1 0 -1321 0 1 0 20 27.7128 20 0 0 1 0.866 8 6 1 0 -1322 0 1 0 20.5 28.5788 20 0 0 1 0.866 8 6 1 0 -1323 0 1 0 21 27.7128 20 0 0 1 0.866 8 6 1 0 -1324 0 1 0 21.5 28.5788 20 0 0 1 0.866 8 6 1 0 -1325 0 1 0 22 27.7128 20 0 0 1 0.866 8 6 1 0 -1326 0 1 0 22.5 28.5788 20 0 0 1 0.866 8 6 1 0 -1327 0 1 0 23 27.7128 20 0 0 1 0.866 8 6 1 0 -1328 0 1 0 23.5 28.5788 20 0 0 1 0.866 8 6 1 0 -1329 0 1 0 24 27.7128 20 0 0 1 0.866 8 6 1 0 -1330 0 1 0 24.5 28.5788 20 0 0 1 0.866 8 6 1 0 -1331 0 1 0 25 27.7128 20 0 0 1 0.866 8 6 1 0 -1332 0 1 0 25.5 28.5788 20 0 0 1 0.866 8 6 1 0 -1333 0 1 0 26 27.7128 20 0 0 1 0.866 8 6 1 0 -1334 0 1 0 26.5 28.5788 20 0 0 1 0.866 8 6 1 0 -1335 0 1 0 27 27.7128 20 0 0 1 0.866 8 6 1 0 -1336 0 1 0 27.5 28.5788 20 0 0 1 0.866 8 6 1 0 -1337 0 1 0 28 27.7128 20 0 0 1 0.866 8 6 1 0 -1338 0 1 0 28.5 28.5788 20 0 0 1 0.866 8 6 1 0 -1339 0 1 0 29 27.7128 20 0 0 1 0.866 8 6 1 0 -1340 0 1 0 29.5 28.5788 20 0 0 1 0.866 8 6 1 0 -1341 0 1 0 30 27.7128 20 0 0 1 0.866 8 6 1 0 -1342 0 1 0 30.5 28.5788 20 0 0 1 0.866 8 6 1 0 -1343 0 1 0 31 27.7128 20 0 0 1 0.866 8 6 1 0 -1344 0 1 0 31.5 28.5788 20 0 0 1 0.866 8 6 1 0 -1345 0 1 0 32 27.7128 20 0 0 1 0.866 8 6 1 0 -1346 0 1 0 32.5 28.5788 20 0 0 1 0.866 8 6 1 0 -1347 0 1 0 33 27.7128 20 0 0 1 0.866 8 6 1 0 -1348 0 1 0 33.5 28.5788 20 0 0 1 0.866 8 6 1 0 -1349 0 1 0 34 27.7128 20 0 0 1 0.866 8 6 1 0 -1350 0 1 0 34.5 28.5788 20 0 0 1 0.866 8 6 1 0 -1351 0 1 0 35 27.7128 20 0 0 1 0.866 8 6 1 0 -1352 0 1 0 35.5 28.5788 20 0 0 1 0.866 8 6 1 0 -1353 0 1 0 36 27.7128 20 0 0 1 0.866 8 6 1 0 -1354 0 1 0 36.5 28.5788 20 0 0 1 0.866 8 6 1 0 -1355 0 1 0 37 27.7128 20 0 0 1 0.866 8 6 1 0 -1356 0 1 0 37.5 28.5788 20 0 0 1 0.866 8 6 1 0 -1357 0 1 0 38 27.7128 20 0 0 1 0.866 8 6 1 0 -1358 0 1 0 38.5 28.5788 20 0 0 1 0.866 8 6 1 0 -1359 0 1 0 39 27.7128 20 0 0 1 0.866 8 6 1 0 -1360 0 1 0 39.5 28.5788 20 0 0 1 0.866 8 6 1 0 -1361 0 1 0 0 29.4449 20 0 0 1 0.866 8 6 1 0 -1362 0 1 0 0.5 30.3109 20 0 0 1 0.866 8 6 1 0 -1363 0 1 0 1 29.4449 20 0 0 1 0.866 8 6 1 0 -1364 0 1 0 1.5 30.3109 20 0 0 1 0.866 8 6 1 0 -1365 0 1 0 2 29.4449 20 0 0 1 0.866 8 6 1 0 -1366 0 1 0 2.5 30.3109 20 0 0 1 0.866 8 6 1 0 -1367 0 1 0 3 29.4449 20 0 0 1 0.866 8 6 1 0 -1368 0 1 0 3.5 30.3109 20 0 0 1 0.866 8 6 1 0 -1369 0 1 0 4 29.4449 20 0 0 1 0.866 8 6 1 0 -1370 0 1 0 4.5 30.3109 20 0 0 1 0.866 8 6 1 0 -1371 0 1 0 5 29.4449 20 0 0 1 0.866 8 6 1 0 -1372 0 1 0 5.5 30.3109 20 0 0 1 0.866 8 6 1 0 -1373 0 1 0 6 29.4449 20 0 0 1 0.866 8 6 1 0 -1374 0 1 0 6.5 30.3109 20 0 0 1 0.866 8 6 1 0 -1375 0 1 0 7 29.4449 20 0 0 1 0.866 8 6 1 0 -1376 0 1 0 7.5 30.3109 20 0 0 1 0.866 8 6 1 0 -1377 0 1 0 8 29.4449 20 0 0 1 0.866 8 6 1 0 -1378 0 1 0 8.5 30.3109 20 0 0 1 0.866 8 6 1 0 -1379 0 1 0 9 29.4449 20 0 0 1 0.866 8 6 1 0 -1380 0 1 0 9.5 30.3109 20 0 0 1 0.866 8 6 1 0 -1381 0 1 0 10 29.4449 20 0 0 1 0.866 8 6 1 0 -1382 0 1 0 10.5 30.3109 20 0 0 1 0.866 8 6 1 0 -1383 0 1 0 11 29.4449 20 0 0 1 0.866 8 6 1 0 -1384 0 1 0 11.5 30.3109 20 0 0 1 0.866 8 6 1 0 -1385 0 1 0 12 29.4449 20 0 0 1 0.866 8 6 1 0 -1386 0 1 0 12.5 30.3109 20 0 0 1 0.866 8 6 1 0 -1387 0 1 0 13 29.4449 20 0 0 1 0.866 8 6 1 0 -1388 0 1 0 13.5 30.3109 20 0 0 1 0.866 8 6 1 0 -1389 0 1 0 14 29.4449 20 0 0 1 0.866 8 6 1 0 -1390 0 1 0 14.5 30.3109 20 0 0 1 0.866 8 6 1 0 -1391 0 1 0 15 29.4449 20 0 0 1 0.866 8 6 1 0 -1392 0 1 0 15.5 30.3109 20 0 0 1 0.866 8 6 1 0 -1393 0 1 0 16 29.4449 20 0 0 1 0.866 8 6 1 0 -1394 0 1 0 16.5 30.3109 20 0 0 1 0.866 8 6 1 0 -1395 0 1 0 17 29.4449 20 0 0 1 0.866 8 6 1 0 -1396 0 1 0 17.5 30.3109 20 0 0 1 0.866 8 6 1 0 -1397 0 1 0 18 29.4449 20 0 0 1 0.866 8 6 1 0 -1398 0 1 0 18.5 30.3109 20 0 0 1 0.866 8 6 1 0 -1399 0 1 0 19 29.4449 20 0 0 1 0.866 8 6 1 0 -1400 0 1 0 19.5 30.3109 20 0 0 1 0.866 8 6 1 0 -1401 0 1 0 20 29.4449 20 0 0 1 0.866 8 6 1 0 -1402 0 1 0 20.5 30.3109 20 0 0 1 0.866 8 6 1 0 -1403 0 1 0 21 29.4449 20 0 0 1 0.866 8 6 1 0 -1404 0 1 0 21.5 30.3109 20 0 0 1 0.866 8 6 1 0 -1405 0 1 0 22 29.4449 20 0 0 1 0.866 8 6 1 0 -1406 0 1 0 22.5 30.3109 20 0 0 1 0.866 8 6 1 0 -1407 0 1 0 23 29.4449 20 0 0 1 0.866 8 6 1 0 -1408 0 1 0 23.5 30.3109 20 0 0 1 0.866 8 6 1 0 -1409 0 1 0 24 29.4449 20 0 0 1 0.866 8 6 1 0 -1410 0 1 0 24.5 30.3109 20 0 0 1 0.866 8 6 1 0 -1411 0 1 0 25 29.4449 20 0 0 1 0.866 8 6 1 0 -1412 0 1 0 25.5 30.3109 20 0 0 1 0.866 8 6 1 0 -1413 0 1 0 26 29.4449 20 0 0 1 0.866 8 6 1 0 -1414 0 1 0 26.5 30.3109 20 0 0 1 0.866 8 6 1 0 -1415 0 1 0 27 29.4449 20 0 0 1 0.866 8 6 1 0 -1416 0 1 0 27.5 30.3109 20 0 0 1 0.866 8 6 1 0 -1417 0 1 0 28 29.4449 20 0 0 1 0.866 8 6 1 0 -1418 0 1 0 28.5 30.3109 20 0 0 1 0.866 8 6 1 0 -1419 0 1 0 29 29.4449 20 0 0 1 0.866 8 6 1 0 -1420 0 1 0 29.5 30.3109 20 0 0 1 0.866 8 6 1 0 -1421 0 1 0 30 29.4449 20 0 0 1 0.866 8 6 1 0 -1422 0 1 0 30.5 30.3109 20 0 0 1 0.866 8 6 1 0 -1423 0 1 0 31 29.4449 20 0 0 1 0.866 8 6 1 0 -1424 0 1 0 31.5 30.3109 20 0 0 1 0.866 8 6 1 0 -1425 0 1 0 32 29.4449 20 0 0 1 0.866 8 6 1 0 -1426 0 1 0 32.5 30.3109 20 0 0 1 0.866 8 6 1 0 -1427 0 1 0 33 29.4449 20 0 0 1 0.866 8 6 1 0 -1428 0 1 0 33.5 30.3109 20 0 0 1 0.866 8 6 1 0 -1429 0 1 0 34 29.4449 20 0 0 1 0.866 8 6 1 0 -1430 0 1 0 34.5 30.3109 20 0 0 1 0.866 8 6 1 0 -1431 0 1 0 35 29.4449 20 0 0 1 0.866 8 6 1 0 -1432 0 1 0 35.5 30.3109 20 0 0 1 0.866 8 6 1 0 -1433 0 1 0 36 29.4449 20 0 0 1 0.866 8 6 1 0 -1434 0 1 0 36.5 30.3109 20 0 0 1 0.866 8 6 1 0 -1435 0 1 0 37 29.4449 20 0 0 1 0.866 8 6 1 0 -1436 0 1 0 37.5 30.3109 20 0 0 1 0.866 8 6 1 0 -1437 0 1 0 38 29.4449 20 0 0 1 0.866 8 6 1 0 -1438 0 1 0 38.5 30.3109 20 0 0 1 0.866 8 6 1 0 -1439 0 1 0 39 29.4449 20 0 0 1 0.866 8 6 1 0 -1440 0 1 0 39.5 30.3109 20 0 0 1 0.866 8 6 1 0 -1441 0 1 0 0 31.1769 20 0 0 1 0.866 8 6 1 0 -1442 0 1 0 0.5 32.0429 20 0 0 1 0.866 8 6 1 0 -1443 0 1 0 1 31.1769 20 0 0 1 0.866 8 6 1 0 -1444 0 1 0 1.5 32.0429 20 0 0 1 0.866 8 6 1 0 -1445 0 1 0 2 31.1769 20 0 0 1 0.866 8 6 1 0 -1446 0 1 0 2.5 32.0429 20 0 0 1 0.866 8 6 1 0 -1447 0 1 0 3 31.1769 20 0 0 1 0.866 8 6 1 0 -1448 0 1 0 3.5 32.0429 20 0 0 1 0.866 8 6 1 0 -1449 0 1 0 4 31.1769 20 0 0 1 0.866 8 6 1 0 -1450 0 1 0 4.5 32.0429 20 0 0 1 0.866 8 6 1 0 -1451 0 1 0 5 31.1769 20 0 0 1 0.866 8 6 1 0 -1452 0 1 0 5.5 32.0429 20 0 0 1 0.866 8 6 1 0 -1453 0 1 0 6 31.1769 20 0 0 1 0.866 8 6 1 0 -1454 0 1 0 6.5 32.0429 20 0 0 1 0.866 8 6 1 0 -1455 0 1 0 7 31.1769 20 0 0 1 0.866 8 6 1 0 -1456 0 1 0 7.5 32.0429 20 0 0 1 0.866 8 6 1 0 -1457 0 1 0 8 31.1769 20 0 0 1 0.866 8 6 1 0 -1458 0 1 0 8.5 32.0429 20 0 0 1 0.866 8 6 1 0 -1459 0 1 0 9 31.1769 20 0 0 1 0.866 8 6 1 0 -1460 0 1 0 9.5 32.0429 20 0 0 1 0.866 8 6 1 0 -1461 0 1 0 10 31.1769 20 0 0 1 0.866 8 6 1 0 -1462 0 1 0 10.5 32.0429 20 0 0 1 0.866 8 6 1 0 -1463 0 1 0 11 31.1769 20 0 0 1 0.866 8 6 1 0 -1464 0 1 0 11.5 32.0429 20 0 0 1 0.866 8 6 1 0 -1465 0 1 0 12 31.1769 20 0 0 1 0.866 8 6 1 0 -1466 0 1 0 12.5 32.0429 20 0 0 1 0.866 8 6 1 0 -1467 0 1 0 13 31.1769 20 0 0 1 0.866 8 6 1 0 -1468 0 1 0 13.5 32.0429 20 0 0 1 0.866 8 6 1 0 -1469 0 1 0 14 31.1769 20 0 0 1 0.866 8 6 1 0 -1470 0 1 0 14.5 32.0429 20 0 0 1 0.866 8 6 1 0 -1471 0 1 0 15 31.1769 20 0 0 1 0.866 8 6 1 0 -1472 0 1 0 15.5 32.0429 20 0 0 1 0.866 8 6 1 0 -1473 0 1 0 16 31.1769 20 0 0 1 0.866 8 6 1 0 -1474 0 1 0 16.5 32.0429 20 0 0 1 0.866 8 6 1 0 -1475 0 1 0 17 31.1769 20 0 0 1 0.866 8 6 1 0 -1476 0 1 0 17.5 32.0429 20 0 0 1 0.866 8 6 1 0 -1477 0 1 0 18 31.1769 20 0 0 1 0.866 8 6 1 0 -1478 0 1 0 18.5 32.0429 20 0 0 1 0.866 8 6 1 0 -1479 0 1 0 19 31.1769 20 0 0 1 0.866 8 6 1 0 -1480 0 1 0 19.5 32.0429 20 0 0 1 0.866 8 6 1 0 -1481 0 1 0 20 31.1769 20 0 0 1 0.866 8 6 1 0 -1482 0 1 0 20.5 32.0429 20 0 0 1 0.866 8 6 1 0 -1483 0 1 0 21 31.1769 20 0 0 1 0.866 8 6 1 0 -1484 0 1 0 21.5 32.0429 20 0 0 1 0.866 8 6 1 0 -1485 0 1 0 22 31.1769 20 0 0 1 0.866 8 6 1 0 -1486 0 1 0 22.5 32.0429 20 0 0 1 0.866 8 6 1 0 -1487 0 1 0 23 31.1769 20 0 0 1 0.866 8 6 1 0 -1488 0 1 0 23.5 32.0429 20 0 0 1 0.866 8 6 1 0 -1489 0 1 0 24 31.1769 20 0 0 1 0.866 8 6 1 0 -1490 0 1 0 24.5 32.0429 20 0 0 1 0.866 8 6 1 0 -1491 0 1 0 25 31.1769 20 0 0 1 0.866 8 6 1 0 -1492 0 1 0 25.5 32.0429 20 0 0 1 0.866 8 6 1 0 -1493 0 1 0 26 31.1769 20 0 0 1 0.866 8 6 1 0 -1494 0 1 0 26.5 32.0429 20 0 0 1 0.866 8 6 1 0 -1495 0 1 0 27 31.1769 20 0 0 1 0.866 8 6 1 0 -1496 0 1 0 27.5 32.0429 20 0 0 1 0.866 8 6 1 0 -1497 0 1 0 28 31.1769 20 0 0 1 0.866 8 6 1 0 -1498 0 1 0 28.5 32.0429 20 0 0 1 0.866 8 6 1 0 -1499 0 1 0 29 31.1769 20 0 0 1 0.866 8 6 1 0 -1500 0 1 0 29.5 32.0429 20 0 0 1 0.866 8 6 1 0 -1501 0 1 0 30 31.1769 20 0 0 1 0.866 8 6 1 0 -1502 0 1 0 30.5 32.0429 20 0 0 1 0.866 8 6 1 0 -1503 0 1 0 31 31.1769 20 0 0 1 0.866 8 6 1 0 -1504 0 1 0 31.5 32.0429 20 0 0 1 0.866 8 6 1 0 -1505 0 1 0 32 31.1769 20 0 0 1 0.866 8 6 1 0 -1506 0 1 0 32.5 32.0429 20 0 0 1 0.866 8 6 1 0 -1507 0 1 0 33 31.1769 20 0 0 1 0.866 8 6 1 0 -1508 0 1 0 33.5 32.0429 20 0 0 1 0.866 8 6 1 0 -1509 0 1 0 34 31.1769 20 0 0 1 0.866 8 6 1 0 -1510 0 1 0 34.5 32.0429 20 0 0 1 0.866 8 6 1 0 -1511 0 1 0 35 31.1769 20 0 0 1 0.866 8 6 1 0 -1512 0 1 0 35.5 32.0429 20 0 0 1 0.866 8 6 1 0 -1513 0 1 0 36 31.1769 20 0 0 1 0.866 8 6 1 0 -1514 0 1 0 36.5 32.0429 20 0 0 1 0.866 8 6 1 0 -1515 0 1 0 37 31.1769 20 0 0 1 0.866 8 6 1 0 -1516 0 1 0 37.5 32.0429 20 0 0 1 0.866 8 6 1 0 -1517 0 1 0 38 31.1769 20 0 0 1 0.866 8 6 1 0 -1518 0 1 0 38.5 32.0429 20 0 0 1 0.866 8 6 1 0 -1519 0 1 0 39 31.1769 20 0 0 1 0.866 8 6 1 0 -1520 0 1 0 39.5 32.0429 20 0 0 1 0.866 8 6 1 0 -1521 0 1 0 0 32.909 20 0 0 1 0.866 8 6 1 0 -1522 0 1 0 0.5 33.775 20 0 0 1 0.866 8 6 1 0 -1523 0 1 0 1 32.909 20 0 0 1 0.866 8 6 1 0 -1524 0 1 0 1.5 33.775 20 0 0 1 0.866 8 6 1 0 -1525 0 1 0 2 32.909 20 0 0 1 0.866 8 6 1 0 -1526 0 1 0 2.5 33.775 20 0 0 1 0.866 8 6 1 0 -1527 0 1 0 3 32.909 20 0 0 1 0.866 8 6 1 0 -1528 0 1 0 3.5 33.775 20 0 0 1 0.866 8 6 1 0 -1529 0 1 0 4 32.909 20 0 0 1 0.866 8 6 1 0 -1530 0 1 0 4.5 33.775 20 0 0 1 0.866 8 6 1 0 -1531 0 1 0 5 32.909 20 0 0 1 0.866 8 6 1 0 -1532 0 1 0 5.5 33.775 20 0 0 1 0.866 8 6 1 0 -1533 0 1 0 6 32.909 20 0 0 1 0.866 8 6 1 0 -1534 0 1 0 6.5 33.775 20 0 0 1 0.866 8 6 1 0 -1535 0 1 0 7 32.909 20 0 0 1 0.866 8 6 1 0 -1536 0 1 0 7.5 33.775 20 0 0 1 0.866 8 6 1 0 -1537 0 1 0 8 32.909 20 0 0 1 0.866 8 6 1 0 -1538 0 1 0 8.5 33.775 20 0 0 1 0.866 8 6 1 0 -1539 0 1 0 9 32.909 20 0 0 1 0.866 8 6 1 0 -1540 0 1 0 9.5 33.775 20 0 0 1 0.866 8 6 1 0 -1541 0 1 0 10 32.909 20 0 0 1 0.866 8 6 1 0 -1542 0 1 0 10.5 33.775 20 0 0 1 0.866 8 6 1 0 -1543 0 1 0 11 32.909 20 0 0 1 0.866 8 6 1 0 -1544 0 1 0 11.5 33.775 20 0 0 1 0.866 8 6 1 0 -1545 0 1 0 12 32.909 20 0 0 1 0.866 8 6 1 0 -1546 0 1 0 12.5 33.775 20 0 0 1 0.866 8 6 1 0 -1547 0 1 0 13 32.909 20 0 0 1 0.866 8 6 1 0 -1548 0 1 0 13.5 33.775 20 0 0 1 0.866 8 6 1 0 -1549 0 1 0 14 32.909 20 0 0 1 0.866 8 6 1 0 -1550 0 1 0 14.5 33.775 20 0 0 1 0.866 8 6 1 0 -1551 0 1 0 15 32.909 20 0 0 1 0.866 8 6 1 0 -1552 0 1 0 15.5 33.775 20 0 0 1 0.866 8 6 1 0 -1553 0 1 0 16 32.909 20 0 0 1 0.866 8 6 1 0 -1554 0 1 0 16.5 33.775 20 0 0 1 0.866 8 6 1 0 -1555 0 1 0 17 32.909 20 0 0 1 0.866 8 6 1 0 -1556 0 1 0 17.5 33.775 20 0 0 1 0.866 8 6 1 0 -1557 0 1 0 18 32.909 20 0 0 1 0.866 8 6 1 0 -1558 0 1 0 18.5 33.775 20 0 0 1 0.866 8 6 1 0 -1559 0 1 0 19 32.909 20 0 0 1 0.866 8 6 1 0 -1560 0 1 0 19.5 33.775 20 0 0 1 0.866 8 6 1 0 -1561 0 1 0 20 32.909 20 0 0 1 0.866 8 6 1 0 -1562 0 1 0 20.5 33.775 20 0 0 1 0.866 8 6 1 0 -1563 0 1 0 21 32.909 20 0 0 1 0.866 8 6 1 0 -1564 0 1 0 21.5 33.775 20 0 0 1 0.866 8 6 1 0 -1565 0 1 0 22 32.909 20 0 0 1 0.866 8 6 1 0 -1566 0 1 0 22.5 33.775 20 0 0 1 0.866 8 6 1 0 -1567 0 1 0 23 32.909 20 0 0 1 0.866 8 6 1 0 -1568 0 1 0 23.5 33.775 20 0 0 1 0.866 8 6 1 0 -1569 0 1 0 24 32.909 20 0 0 1 0.866 8 6 1 0 -1570 0 1 0 24.5 33.775 20 0 0 1 0.866 8 6 1 0 -1571 0 1 0 25 32.909 20 0 0 1 0.866 8 6 1 0 -1572 0 1 0 25.5 33.775 20 0 0 1 0.866 8 6 1 0 -1573 0 1 0 26 32.909 20 0 0 1 0.866 8 6 1 0 -1574 0 1 0 26.5 33.775 20 0 0 1 0.866 8 6 1 0 -1575 0 1 0 27 32.909 20 0 0 1 0.866 8 6 1 0 -1576 0 1 0 27.5 33.775 20 0 0 1 0.866 8 6 1 0 -1577 0 1 0 28 32.909 20 0 0 1 0.866 8 6 1 0 -1578 0 1 0 28.5 33.775 20 0 0 1 0.866 8 6 1 0 -1579 0 1 0 29 32.909 20 0 0 1 0.866 8 6 1 0 -1580 0 1 0 29.5 33.775 20 0 0 1 0.866 8 6 1 0 -1581 0 1 0 30 32.909 20 0 0 1 0.866 8 6 1 0 -1582 0 1 0 30.5 33.775 20 0 0 1 0.866 8 6 1 0 -1583 0 1 0 31 32.909 20 0 0 1 0.866 8 6 1 0 -1584 0 1 0 31.5 33.775 20 0 0 1 0.866 8 6 1 0 -1585 0 1 0 32 32.909 20 0 0 1 0.866 8 6 1 0 -1586 0 1 0 32.5 33.775 20 0 0 1 0.866 8 6 1 0 -1587 0 1 0 33 32.909 20 0 0 1 0.866 8 6 1 0 -1588 0 1 0 33.5 33.775 20 0 0 1 0.866 8 6 1 0 -1589 0 1 0 34 32.909 20 0 0 1 0.866 8 6 1 0 -1590 0 1 0 34.5 33.775 20 0 0 1 0.866 8 6 1 0 -1591 0 1 0 35 32.909 20 0 0 1 0.866 8 6 1 0 -1592 0 1 0 35.5 33.775 20 0 0 1 0.866 8 6 1 0 -1593 0 1 0 36 32.909 20 0 0 1 0.866 8 6 1 0 -1594 0 1 0 36.5 33.775 20 0 0 1 0.866 8 6 1 0 -1595 0 1 0 37 32.909 20 0 0 1 0.866 8 6 1 0 -1596 0 1 0 37.5 33.775 20 0 0 1 0.866 8 6 1 0 -1597 0 1 0 38 32.909 20 0 0 1 0.866 8 6 1 0 -1598 0 1 0 38.5 33.775 20 0 0 1 0.866 8 6 1 0 -1599 0 1 0 39 32.909 20 0 0 1 0.866 8 6 1 0 -1600 0 1 0 39.5 33.775 20 0 0 1 0.866 8 6 1 0 -1601 0 1 0 0 34.641 20 0 0 1 0.866 8 6 1 0 -1602 0 1 0 0.5 35.507 20 0 0 1 0.866 8 6 1 0 -1603 0 1 0 1 34.641 20 0 0 1 0.866 8 6 1 0 -1604 0 1 0 1.5 35.507 20 0 0 1 0.866 8 6 1 0 -1605 0 1 0 2 34.641 20 0 0 1 0.866 8 6 1 0 -1606 0 1 0 2.5 35.507 20 0 0 1 0.866 8 6 1 0 -1607 0 1 0 3 34.641 20 0 0 1 0.866 8 6 1 0 -1608 0 1 0 3.5 35.507 20 0 0 1 0.866 8 6 1 0 -1609 0 1 0 4 34.641 20 0 0 1 0.866 8 6 1 0 -1610 0 1 0 4.5 35.507 20 0 0 1 0.866 8 6 1 0 -1611 0 1 0 5 34.641 20 0 0 1 0.866 8 6 1 0 -1612 0 1 0 5.5 35.507 20 0 0 1 0.866 8 6 1 0 -1613 0 1 0 6 34.641 20 0 0 1 0.866 8 6 1 0 -1614 0 1 0 6.5 35.507 20 0 0 1 0.866 8 6 1 0 -1615 0 1 0 7 34.641 20 0 0 1 0.866 8 6 1 0 -1616 0 1 0 7.5 35.507 20 0 0 1 0.866 8 6 1 0 -1617 0 1 0 8 34.641 20 0 0 1 0.866 8 6 1 0 -1618 0 1 0 8.5 35.507 20 0 0 1 0.866 8 6 1 0 -1619 0 1 0 9 34.641 20 0 0 1 0.866 8 6 1 0 -1620 0 1 0 9.5 35.507 20 0 0 1 0.866 8 6 1 0 -1621 0 1 0 10 34.641 20 0 0 1 0.866 8 6 1 0 -1622 0 1 0 10.5 35.507 20 0 0 1 0.866 8 6 1 0 -1623 0 1 0 11 34.641 20 0 0 1 0.866 8 6 1 0 -1624 0 1 0 11.5 35.507 20 0 0 1 0.866 8 6 1 0 -1625 0 1 0 12 34.641 20 0 0 1 0.866 8 6 1 0 -1626 0 1 0 12.5 35.507 20 0 0 1 0.866 8 6 1 0 -1627 0 1 0 13 34.641 20 0 0 1 0.866 8 6 1 0 -1628 0 1 0 13.5 35.507 20 0 0 1 0.866 8 6 1 0 -1629 0 1 0 14 34.641 20 0 0 1 0.866 8 6 1 0 -1630 0 1 0 14.5 35.507 20 0 0 1 0.866 8 6 1 0 -1631 0 1 0 15 34.641 20 0 0 1 0.866 8 6 1 0 -1632 0 1 0 15.5 35.507 20 0 0 1 0.866 8 6 1 0 -1633 0 1 0 16 34.641 20 0 0 1 0.866 8 6 1 0 -1634 0 1 0 16.5 35.507 20 0 0 1 0.866 8 6 1 0 -1635 0 1 0 17 34.641 20 0 0 1 0.866 8 6 1 0 -1636 0 1 0 17.5 35.507 20 0 0 1 0.866 8 6 1 0 -1637 0 1 0 18 34.641 20 0 0 1 0.866 8 6 1 0 -1638 0 1 0 18.5 35.507 20 0 0 1 0.866 8 6 1 0 -1639 0 1 0 19 34.641 20 0 0 1 0.866 8 6 1 0 -1640 0 1 0 19.5 35.507 20 0 0 1 0.866 8 6 1 0 -1641 0 1 0 20 34.641 20 0 0 1 0.866 8 6 1 0 -1642 0 1 0 20.5 35.507 20 0 0 1 0.866 8 6 1 0 -1643 0 1 0 21 34.641 20 0 0 1 0.866 8 6 1 0 -1644 0 1 0 21.5 35.507 20 0 0 1 0.866 8 6 1 0 -1645 0 1 0 22 34.641 20 0 0 1 0.866 8 6 1 0 -1646 0 1 0 22.5 35.507 20 0 0 1 0.866 8 6 1 0 -1647 0 1 0 23 34.641 20 0 0 1 0.866 8 6 1 0 -1648 0 1 0 23.5 35.507 20 0 0 1 0.866 8 6 1 0 -1649 0 1 0 24 34.641 20 0 0 1 0.866 8 6 1 0 -1650 0 1 0 24.5 35.507 20 0 0 1 0.866 8 6 1 0 -1651 0 1 0 25 34.641 20 0 0 1 0.866 8 6 1 0 -1652 0 1 0 25.5 35.507 20 0 0 1 0.866 8 6 1 0 -1653 0 1 0 26 34.641 20 0 0 1 0.866 8 6 1 0 -1654 0 1 0 26.5 35.507 20 0 0 1 0.866 8 6 1 0 -1655 0 1 0 27 34.641 20 0 0 1 0.866 8 6 1 0 -1656 0 1 0 27.5 35.507 20 0 0 1 0.866 8 6 1 0 -1657 0 1 0 28 34.641 20 0 0 1 0.866 8 6 1 0 -1658 0 1 0 28.5 35.507 20 0 0 1 0.866 8 6 1 0 -1659 0 1 0 29 34.641 20 0 0 1 0.866 8 6 1 0 -1660 0 1 0 29.5 35.507 20 0 0 1 0.866 8 6 1 0 -1661 0 1 0 30 34.641 20 0 0 1 0.866 8 6 1 0 -1662 0 1 0 30.5 35.507 20 0 0 1 0.866 8 6 1 0 -1663 0 1 0 31 34.641 20 0 0 1 0.866 8 6 1 0 -1664 0 1 0 31.5 35.507 20 0 0 1 0.866 8 6 1 0 -1665 0 1 0 32 34.641 20 0 0 1 0.866 8 6 1 0 -1666 0 1 0 32.5 35.507 20 0 0 1 0.866 8 6 1 0 -1667 0 1 0 33 34.641 20 0 0 1 0.866 8 6 1 0 -1668 0 1 0 33.5 35.507 20 0 0 1 0.866 8 6 1 0 -1669 0 1 0 34 34.641 20 0 0 1 0.866 8 6 1 0 -1670 0 1 0 34.5 35.507 20 0 0 1 0.866 8 6 1 0 -1671 0 1 0 35 34.641 20 0 0 1 0.866 8 6 1 0 -1672 0 1 0 35.5 35.507 20 0 0 1 0.866 8 6 1 0 -1673 0 1 0 36 34.641 20 0 0 1 0.866 8 6 1 0 -1674 0 1 0 36.5 35.507 20 0 0 1 0.866 8 6 1 0 -1675 0 1 0 37 34.641 20 0 0 1 0.866 8 6 1 0 -1676 0 1 0 37.5 35.507 20 0 0 1 0.866 8 6 1 0 -1677 0 1 0 38 34.641 20 0 0 1 0.866 8 6 1 0 -1678 0 1 0 38.5 35.507 20 0 0 1 0.866 8 6 1 0 -1679 0 1 0 39 34.641 20 0 0 1 0.866 8 6 1 0 -1680 0 1 0 39.5 35.507 20 0 0 1 0.866 8 6 1 0 -1681 0 1 0 0 36.3731 20 0 0 1 0.866 8 6 1 0 -1682 0 1 0 0.5 37.2391 20 0 0 1 0.866 8 6 1 0 -1683 0 1 0 1 36.3731 20 0 0 1 0.866 8 6 1 0 -1684 0 1 0 1.5 37.2391 20 0 0 1 0.866 8 6 1 0 -1685 0 1 0 2 36.3731 20 0 0 1 0.866 8 6 1 0 -1686 0 1 0 2.5 37.2391 20 0 0 1 0.866 8 6 1 0 -1687 0 1 0 3 36.3731 20 0 0 1 0.866 8 6 1 0 -1688 0 1 0 3.5 37.2391 20 0 0 1 0.866 8 6 1 0 -1689 0 1 0 4 36.3731 20 0 0 1 0.866 8 6 1 0 -1690 0 1 0 4.5 37.2391 20 0 0 1 0.866 8 6 1 0 -1691 0 1 0 5 36.3731 20 0 0 1 0.866 8 6 1 0 -1692 0 1 0 5.5 37.2391 20 0 0 1 0.866 8 6 1 0 -1693 0 1 0 6 36.3731 20 0 0 1 0.866 8 6 1 0 -1694 0 1 0 6.5 37.2391 20 0 0 1 0.866 8 6 1 0 -1695 0 1 0 7 36.3731 20 0 0 1 0.866 8 6 1 0 -1696 0 1 0 7.5 37.2391 20 0 0 1 0.866 8 6 1 0 -1697 0 1 0 8 36.3731 20 0 0 1 0.866 8 6 1 0 -1698 0 1 0 8.5 37.2391 20 0 0 1 0.866 8 6 1 0 -1699 0 1 0 9 36.3731 20 0 0 1 0.866 8 6 1 0 -1700 0 1 0 9.5 37.2391 20 0 0 1 0.866 8 6 1 0 -1701 0 1 0 10 36.3731 20 0 0 1 0.866 8 6 1 0 -1702 0 1 0 10.5 37.2391 20 0 0 1 0.866 8 6 1 0 -1703 0 1 0 11 36.3731 20 0 0 1 0.866 8 6 1 0 -1704 0 1 0 11.5 37.2391 20 0 0 1 0.866 8 6 1 0 -1705 0 1 0 12 36.3731 20 0 0 1 0.866 8 6 1 0 -1706 0 1 0 12.5 37.2391 20 0 0 1 0.866 8 6 1 0 -1707 0 1 0 13 36.3731 20 0 0 1 0.866 8 6 1 0 -1708 0 1 0 13.5 37.2391 20 0 0 1 0.866 8 6 1 0 -1709 0 1 0 14 36.3731 20 0 0 1 0.866 8 6 1 0 -1710 0 1 0 14.5 37.2391 20 0 0 1 0.866 8 6 1 0 -1711 0 1 0 15 36.3731 20 0 0 1 0.866 8 6 1 0 -1712 0 1 0 15.5 37.2391 20 0 0 1 0.866 8 6 1 0 -1713 0 1 0 16 36.3731 20 0 0 1 0.866 8 6 1 0 -1714 0 1 0 16.5 37.2391 20 0 0 1 0.866 8 6 1 0 -1715 0 1 0 17 36.3731 20 0 0 1 0.866 8 6 1 0 -1716 0 1 0 17.5 37.2391 20 0 0 1 0.866 8 6 1 0 -1717 0 1 0 18 36.3731 20 0 0 1 0.866 8 6 1 0 -1718 0 1 0 18.5 37.2391 20 0 0 1 0.866 8 6 1 0 -1719 0 1 0 19 36.3731 20 0 0 1 0.866 8 6 1 0 -1720 0 1 0 19.5 37.2391 20 0 0 1 0.866 8 6 1 0 -1721 0 1 0 20 36.3731 20 0 0 1 0.866 8 6 1 0 -1722 0 1 0 20.5 37.2391 20 0 0 1 0.866 8 6 1 0 -1723 0 1 0 21 36.3731 20 0 0 1 0.866 8 6 1 0 -1724 0 1 0 21.5 37.2391 20 0 0 1 0.866 8 6 1 0 -1725 0 1 0 22 36.3731 20 0 0 1 0.866 8 6 1 0 -1726 0 1 0 22.5 37.2391 20 0 0 1 0.866 8 6 1 0 -1727 0 1 0 23 36.3731 20 0 0 1 0.866 8 6 1 0 -1728 0 1 0 23.5 37.2391 20 0 0 1 0.866 8 6 1 0 -1729 0 1 0 24 36.3731 20 0 0 1 0.866 8 6 1 0 -1730 0 1 0 24.5 37.2391 20 0 0 1 0.866 8 6 1 0 -1731 0 1 0 25 36.3731 20 0 0 1 0.866 8 6 1 0 -1732 0 1 0 25.5 37.2391 20 0 0 1 0.866 8 6 1 0 -1733 0 1 0 26 36.3731 20 0 0 1 0.866 8 6 1 0 -1734 0 1 0 26.5 37.2391 20 0 0 1 0.866 8 6 1 0 -1735 0 1 0 27 36.3731 20 0 0 1 0.866 8 6 1 0 -1736 0 1 0 27.5 37.2391 20 0 0 1 0.866 8 6 1 0 -1737 0 1 0 28 36.3731 20 0 0 1 0.866 8 6 1 0 -1738 0 1 0 28.5 37.2391 20 0 0 1 0.866 8 6 1 0 -1739 0 1 0 29 36.3731 20 0 0 1 0.866 8 6 1 0 -1740 0 1 0 29.5 37.2391 20 0 0 1 0.866 8 6 1 0 -1741 0 1 0 30 36.3731 20 0 0 1 0.866 8 6 1 0 -1742 0 1 0 30.5 37.2391 20 0 0 1 0.866 8 6 1 0 -1743 0 1 0 31 36.3731 20 0 0 1 0.866 8 6 1 0 -1744 0 1 0 31.5 37.2391 20 0 0 1 0.866 8 6 1 0 -1745 0 1 0 32 36.3731 20 0 0 1 0.866 8 6 1 0 -1746 0 1 0 32.5 37.2391 20 0 0 1 0.866 8 6 1 0 -1747 0 1 0 33 36.3731 20 0 0 1 0.866 8 6 1 0 -1748 0 1 0 33.5 37.2391 20 0 0 1 0.866 8 6 1 0 -1749 0 1 0 34 36.3731 20 0 0 1 0.866 8 6 1 0 -1750 0 1 0 34.5 37.2391 20 0 0 1 0.866 8 6 1 0 -1751 0 1 0 35 36.3731 20 0 0 1 0.866 8 6 1 0 -1752 0 1 0 35.5 37.2391 20 0 0 1 0.866 8 6 1 0 -1753 0 1 0 36 36.3731 20 0 0 1 0.866 8 6 1 0 -1754 0 1 0 36.5 37.2391 20 0 0 1 0.866 8 6 1 0 -1755 0 1 0 37 36.3731 20 0 0 1 0.866 8 6 1 0 -1756 0 1 0 37.5 37.2391 20 0 0 1 0.866 8 6 1 0 -1757 0 1 0 38 36.3731 20 0 0 1 0.866 8 6 1 0 -1758 0 1 0 38.5 37.2391 20 0 0 1 0.866 8 6 1 0 -1759 0 1 0 39 36.3731 20 0 0 1 0.866 8 6 1 0 -1760 0 1 0 39.5 37.2391 20 0 0 1 0.866 8 6 1 0 -1761 0 1 0 0 38.1051 20 0 0 1 0.866 8 6 1 0 -1762 0 1 0 0.5 38.9711 20 0 0 1 0.866 8 6 1 0 -1763 0 1 0 1 38.1051 20 0 0 1 0.866 8 6 1 0 -1764 0 1 0 1.5 38.9711 20 0 0 1 0.866 8 6 1 0 -1765 0 1 0 2 38.1051 20 0 0 1 0.866 8 6 1 0 -1766 0 1 0 2.5 38.9711 20 0 0 1 0.866 8 6 1 0 -1767 0 1 0 3 38.1051 20 0 0 1 0.866 8 6 1 0 -1768 0 1 0 3.5 38.9711 20 0 0 1 0.866 8 6 1 0 -1769 0 1 0 4 38.1051 20 0 0 1 0.866 8 6 1 0 -1770 0 1 0 4.5 38.9711 20 0 0 1 0.866 8 6 1 0 -1771 0 1 0 5 38.1051 20 0 0 1 0.866 8 6 1 0 -1772 0 1 0 5.5 38.9711 20 0 0 1 0.866 8 6 1 0 -1773 0 1 0 6 38.1051 20 0 0 1 0.866 8 6 1 0 -1774 0 1 0 6.5 38.9711 20 0 0 1 0.866 8 6 1 0 -1775 0 1 0 7 38.1051 20 0 0 1 0.866 8 6 1 0 -1776 0 1 0 7.5 38.9711 20 0 0 1 0.866 8 6 1 0 -1777 0 1 0 8 38.1051 20 0 0 1 0.866 8 6 1 0 -1778 0 1 0 8.5 38.9711 20 0 0 1 0.866 8 6 1 0 -1779 0 1 0 9 38.1051 20 0 0 1 0.866 8 6 1 0 -1780 0 1 0 9.5 38.9711 20 0 0 1 0.866 8 6 1 0 -1781 0 1 0 10 38.1051 20 0 0 1 0.866 8 6 1 0 -1782 0 1 0 10.5 38.9711 20 0 0 1 0.866 8 6 1 0 -1783 0 1 0 11 38.1051 20 0 0 1 0.866 8 6 1 0 -1784 0 1 0 11.5 38.9711 20 0 0 1 0.866 8 6 1 0 -1785 0 1 0 12 38.1051 20 0 0 1 0.866 8 6 1 0 -1786 0 1 0 12.5 38.9711 20 0 0 1 0.866 8 6 1 0 -1787 0 1 0 13 38.1051 20 0 0 1 0.866 8 6 1 0 -1788 0 1 0 13.5 38.9711 20 0 0 1 0.866 8 6 1 0 -1789 0 1 0 14 38.1051 20 0 0 1 0.866 8 6 1 0 -1790 0 1 0 14.5 38.9711 20 0 0 1 0.866 8 6 1 0 -1791 0 1 0 15 38.1051 20 0 0 1 0.866 8 6 1 0 -1792 0 1 0 15.5 38.9711 20 0 0 1 0.866 8 6 1 0 -1793 0 1 0 16 38.1051 20 0 0 1 0.866 8 6 1 0 -1794 0 1 0 16.5 38.9711 20 0 0 1 0.866 8 6 1 0 -1795 0 1 0 17 38.1051 20 0 0 1 0.866 8 6 1 0 -1796 0 1 0 17.5 38.9711 20 0 0 1 0.866 8 6 1 0 -1797 0 1 0 18 38.1051 20 0 0 1 0.866 8 6 1 0 -1798 0 1 0 18.5 38.9711 20 0 0 1 0.866 8 6 1 0 -1799 0 1 0 19 38.1051 20 0 0 1 0.866 8 6 1 0 -1800 0 1 0 19.5 38.9711 20 0 0 1 0.866 8 6 1 0 -1801 0 1 0 20 38.1051 20 0 0 1 0.866 8 6 1 0 -1802 0 1 0 20.5 38.9711 20 0 0 1 0.866 8 6 1 0 -1803 0 1 0 21 38.1051 20 0 0 1 0.866 8 6 1 0 -1804 0 1 0 21.5 38.9711 20 0 0 1 0.866 8 6 1 0 -1805 0 1 0 22 38.1051 20 0 0 1 0.866 8 6 1 0 -1806 0 1 0 22.5 38.9711 20 0 0 1 0.866 8 6 1 0 -1807 0 1 0 23 38.1051 20 0 0 1 0.866 8 6 1 0 -1808 0 1 0 23.5 38.9711 20 0 0 1 0.866 8 6 1 0 -1809 0 1 0 24 38.1051 20 0 0 1 0.866 8 6 1 0 -1810 0 1 0 24.5 38.9711 20 0 0 1 0.866 8 6 1 0 -1811 0 1 0 25 38.1051 20 0 0 1 0.866 8 6 1 0 -1812 0 1 0 25.5 38.9711 20 0 0 1 0.866 8 6 1 0 -1813 0 1 0 26 38.1051 20 0 0 1 0.866 8 6 1 0 -1814 0 1 0 26.5 38.9711 20 0 0 1 0.866 8 6 1 0 -1815 0 1 0 27 38.1051 20 0 0 1 0.866 8 6 1 0 -1816 0 1 0 27.5 38.9711 20 0 0 1 0.866 8 6 1 0 -1817 0 1 0 28 38.1051 20 0 0 1 0.866 8 6 1 0 -1818 0 1 0 28.5 38.9711 20 0 0 1 0.866 8 6 1 0 -1819 0 1 0 29 38.1051 20 0 0 1 0.866 8 6 1 0 -1820 0 1 0 29.5 38.9711 20 0 0 1 0.866 8 6 1 0 -1821 0 1 0 30 38.1051 20 0 0 1 0.866 8 6 1 0 -1822 0 1 0 30.5 38.9711 20 0 0 1 0.866 8 6 1 0 -1823 0 1 0 31 38.1051 20 0 0 1 0.866 8 6 1 0 -1824 0 1 0 31.5 38.9711 20 0 0 1 0.866 8 6 1 0 -1825 0 1 0 32 38.1051 20 0 0 1 0.866 8 6 1 0 -1826 0 1 0 32.5 38.9711 20 0 0 1 0.866 8 6 1 0 -1827 0 1 0 33 38.1051 20 0 0 1 0.866 8 6 1 0 -1828 0 1 0 33.5 38.9711 20 0 0 1 0.866 8 6 1 0 -1829 0 1 0 34 38.1051 20 0 0 1 0.866 8 6 1 0 -1830 0 1 0 34.5 38.9711 20 0 0 1 0.866 8 6 1 0 -1831 0 1 0 35 38.1051 20 0 0 1 0.866 8 6 1 0 -1832 0 1 0 35.5 38.9711 20 0 0 1 0.866 8 6 1 0 -1833 0 1 0 36 38.1051 20 0 0 1 0.866 8 6 1 0 -1834 0 1 0 36.5 38.9711 20 0 0 1 0.866 8 6 1 0 -1835 0 1 0 37 38.1051 20 0 0 1 0.866 8 6 1 0 -1836 0 1 0 37.5 38.9711 20 0 0 1 0.866 8 6 1 0 -1837 0 1 0 38 38.1051 20 0 0 1 0.866 8 6 1 0 -1838 0 1 0 38.5 38.9711 20 0 0 1 0.866 8 6 1 0 -1839 0 1 0 39 38.1051 20 0 0 1 0.866 8 6 1 0 -1840 0 1 0 39.5 38.9711 20 0 0 1 0.866 8 6 1 0 -1841 0 1 0 0 39.8372 20 0 0 1 0.866 8 6 1 0 -1842 0 1 0 0.5 40.7032 20 0 0 1 0.866 8 6 1 0 -1843 0 1 0 1 39.8372 20 0 0 1 0.866 8 6 1 0 -1844 0 1 0 1.5 40.7032 20 0 0 1 0.866 8 6 1 0 -1845 0 1 0 2 39.8372 20 0 0 1 0.866 8 6 1 0 -1846 0 1 0 2.5 40.7032 20 0 0 1 0.866 8 6 1 0 -1847 0 1 0 3 39.8372 20 0 0 1 0.866 8 6 1 0 -1848 0 1 0 3.5 40.7032 20 0 0 1 0.866 8 6 1 0 -1849 0 1 0 4 39.8372 20 0 0 1 0.866 8 6 1 0 -1850 0 1 0 4.5 40.7032 20 0 0 1 0.866 8 6 1 0 -1851 0 1 0 5 39.8372 20 0 0 1 0.866 8 6 1 0 -1852 0 1 0 5.5 40.7032 20 0 0 1 0.866 8 6 1 0 -1853 0 1 0 6 39.8372 20 0 0 1 0.866 8 6 1 0 -1854 0 1 0 6.5 40.7032 20 0 0 1 0.866 8 6 1 0 -1855 0 1 0 7 39.8372 20 0 0 1 0.866 8 6 1 0 -1856 0 1 0 7.5 40.7032 20 0 0 1 0.866 8 6 1 0 -1857 0 1 0 8 39.8372 20 0 0 1 0.866 8 6 1 0 -1858 0 1 0 8.5 40.7032 20 0 0 1 0.866 8 6 1 0 -1859 0 1 0 9 39.8372 20 0 0 1 0.866 8 6 1 0 -1860 0 1 0 9.5 40.7032 20 0 0 1 0.866 8 6 1 0 -1861 0 1 0 10 39.8372 20 0 0 1 0.866 8 6 1 0 -1862 0 1 0 10.5 40.7032 20 0 0 1 0.866 8 6 1 0 -1863 0 1 0 11 39.8372 20 0 0 1 0.866 8 6 1 0 -1864 0 1 0 11.5 40.7032 20 0 0 1 0.866 8 6 1 0 -1865 0 1 0 12 39.8372 20 0 0 1 0.866 8 6 1 0 -1866 0 1 0 12.5 40.7032 20 0 0 1 0.866 8 6 1 0 -1867 0 1 0 13 39.8372 20 0 0 1 0.866 8 6 1 0 -1868 0 1 0 13.5 40.7032 20 0 0 1 0.866 8 6 1 0 -1869 0 1 0 14 39.8372 20 0 0 1 0.866 8 6 1 0 -1870 0 1 0 14.5 40.7032 20 0 0 1 0.866 8 6 1 0 -1871 0 1 0 15 39.8372 20 0 0 1 0.866 8 6 1 0 -1872 0 1 0 15.5 40.7032 20 0 0 1 0.866 8 6 1 0 -1873 0 1 0 16 39.8372 20 0 0 1 0.866 8 6 1 0 -1874 0 1 0 16.5 40.7032 20 0 0 1 0.866 8 6 1 0 -1875 0 1 0 17 39.8372 20 0 0 1 0.866 8 6 1 0 -1876 0 1 0 17.5 40.7032 20 0 0 1 0.866 8 6 1 0 -1877 0 1 0 18 39.8372 20 0 0 1 0.866 8 6 1 0 -1878 0 1 0 18.5 40.7032 20 0 0 1 0.866 8 6 1 0 -1879 0 1 0 19 39.8372 20 0 0 1 0.866 8 6 1 0 -1880 0 1 0 19.5 40.7032 20 0 0 1 0.866 8 6 1 0 -1881 0 1 0 20 39.8372 20 0 0 1 0.866 8 6 1 0 -1882 0 1 0 20.5 40.7032 20 0 0 1 0.866 8 6 1 0 -1883 0 1 0 21 39.8372 20 0 0 1 0.866 8 6 1 0 -1884 0 1 0 21.5 40.7032 20 0 0 1 0.866 8 6 1 0 -1885 0 1 0 22 39.8372 20 0 0 1 0.866 8 6 1 0 -1886 0 1 0 22.5 40.7032 20 0 0 1 0.866 8 6 1 0 -1887 0 1 0 23 39.8372 20 0 0 1 0.866 8 6 1 0 -1888 0 1 0 23.5 40.7032 20 0 0 1 0.866 8 6 1 0 -1889 0 1 0 24 39.8372 20 0 0 1 0.866 8 6 1 0 -1890 0 1 0 24.5 40.7032 20 0 0 1 0.866 8 6 1 0 -1891 0 1 0 25 39.8372 20 0 0 1 0.866 8 6 1 0 -1892 0 1 0 25.5 40.7032 20 0 0 1 0.866 8 6 1 0 -1893 0 1 0 26 39.8372 20 0 0 1 0.866 8 6 1 0 -1894 0 1 0 26.5 40.7032 20 0 0 1 0.866 8 6 1 0 -1895 0 1 0 27 39.8372 20 0 0 1 0.866 8 6 1 0 -1896 0 1 0 27.5 40.7032 20 0 0 1 0.866 8 6 1 0 -1897 0 1 0 28 39.8372 20 0 0 1 0.866 8 6 1 0 -1898 0 1 0 28.5 40.7032 20 0 0 1 0.866 8 6 1 0 -1899 0 1 0 29 39.8372 20 0 0 1 0.866 8 6 1 0 -1900 0 1 0 29.5 40.7032 20 0 0 1 0.866 8 6 1 0 -1901 0 1 0 30 39.8372 20 0 0 1 0.866 8 6 1 0 -1902 0 1 0 30.5 40.7032 20 0 0 1 0.866 8 6 1 0 -1903 0 1 0 31 39.8372 20 0 0 1 0.866 8 6 1 0 -1904 0 1 0 31.5 40.7032 20 0 0 1 0.866 8 6 1 0 -1905 0 1 0 32 39.8372 20 0 0 1 0.866 8 6 1 0 -1906 0 1 0 32.5 40.7032 20 0 0 1 0.866 8 6 1 0 -1907 0 1 0 33 39.8372 20 0 0 1 0.866 8 6 1 0 -1908 0 1 0 33.5 40.7032 20 0 0 1 0.866 8 6 1 0 -1909 0 1 0 34 39.8372 20 0 0 1 0.866 8 6 1 0 -1910 0 1 0 34.5 40.7032 20 0 0 1 0.866 8 6 1 0 -1911 0 1 0 35 39.8372 20 0 0 1 0.866 8 6 1 0 -1912 0 1 0 35.5 40.7032 20 0 0 1 0.866 8 6 1 0 -1913 0 1 0 36 39.8372 20 0 0 1 0.866 8 6 1 0 -1914 0 1 0 36.5 40.7032 20 0 0 1 0.866 8 6 1 0 -1915 0 1 0 37 39.8372 20 0 0 1 0.866 8 6 1 0 -1916 0 1 0 37.5 40.7032 20 0 0 1 0.866 8 6 1 0 -1917 0 1 0 38 39.8372 20 0 0 1 0.866 8 6 1 0 -1918 0 1 0 38.5 40.7032 20 0 0 1 0.866 8 6 1 0 -1919 0 1 0 39 39.8372 20 0 0 1 0.866 8 6 1 0 -1920 0 1 0 39.5 40.7032 20 0 0 1 0.866 8 6 1 0 -1921 0 1 0 0 41.5692 20 0 0 1 0.866 8 6 1 0 -1922 0 1 0 0.5 42.4353 20 0 0 1 0.866 8 6 1 0 -1923 0 1 0 1 41.5692 20 0 0 1 0.866 8 6 1 0 -1924 0 1 0 1.5 42.4353 20 0 0 1 0.866 8 6 1 0 -1925 0 1 0 2 41.5692 20 0 0 1 0.866 8 6 1 0 -1926 0 1 0 2.5 42.4353 20 0 0 1 0.866 8 6 1 0 -1927 0 1 0 3 41.5692 20 0 0 1 0.866 8 6 1 0 -1928 0 1 0 3.5 42.4353 20 0 0 1 0.866 8 6 1 0 -1929 0 1 0 4 41.5692 20 0 0 1 0.866 8 6 1 0 -1930 0 1 0 4.5 42.4353 20 0 0 1 0.866 8 6 1 0 -1931 0 1 0 5 41.5692 20 0 0 1 0.866 8 6 1 0 -1932 0 1 0 5.5 42.4353 20 0 0 1 0.866 8 6 1 0 -1933 0 1 0 6 41.5692 20 0 0 1 0.866 8 6 1 0 -1934 0 1 0 6.5 42.4353 20 0 0 1 0.866 8 6 1 0 -1935 0 1 0 7 41.5692 20 0 0 1 0.866 8 6 1 0 -1936 0 1 0 7.5 42.4353 20 0 0 1 0.866 8 6 1 0 -1937 0 1 0 8 41.5692 20 0 0 1 0.866 8 6 1 0 -1938 0 1 0 8.5 42.4353 20 0 0 1 0.866 8 6 1 0 -1939 0 1 0 9 41.5692 20 0 0 1 0.866 8 6 1 0 -1940 0 1 0 9.5 42.4353 20 0 0 1 0.866 8 6 1 0 -1941 0 1 0 10 41.5692 20 0 0 1 0.866 8 6 1 0 -1942 0 1 0 10.5 42.4353 20 0 0 1 0.866 8 6 1 0 -1943 0 1 0 11 41.5692 20 0 0 1 0.866 8 6 1 0 -1944 0 1 0 11.5 42.4353 20 0 0 1 0.866 8 6 1 0 -1945 0 1 0 12 41.5692 20 0 0 1 0.866 8 6 1 0 -1946 0 1 0 12.5 42.4353 20 0 0 1 0.866 8 6 1 0 -1947 0 1 0 13 41.5692 20 0 0 1 0.866 8 6 1 0 -1948 0 1 0 13.5 42.4353 20 0 0 1 0.866 8 6 1 0 -1949 0 1 0 14 41.5692 20 0 0 1 0.866 8 6 1 0 -1950 0 1 0 14.5 42.4353 20 0 0 1 0.866 8 6 1 0 -1951 0 1 0 15 41.5692 20 0 0 1 0.866 8 6 1 0 -1952 0 1 0 15.5 42.4353 20 0 0 1 0.866 8 6 1 0 -1953 0 1 0 16 41.5692 20 0 0 1 0.866 8 6 1 0 -1954 0 1 0 16.5 42.4353 20 0 0 1 0.866 8 6 1 0 -1955 0 1 0 17 41.5692 20 0 0 1 0.866 8 6 1 0 -1956 0 1 0 17.5 42.4353 20 0 0 1 0.866 8 6 1 0 -1957 0 1 0 18 41.5692 20 0 0 1 0.866 8 6 1 0 -1958 0 1 0 18.5 42.4353 20 0 0 1 0.866 8 6 1 0 -1959 0 1 0 19 41.5692 20 0 0 1 0.866 8 6 1 0 -1960 0 1 0 19.5 42.4353 20 0 0 1 0.866 8 6 1 0 -1961 0 1 0 20 41.5692 20 0 0 1 0.866 8 6 1 0 -1962 0 1 0 20.5 42.4353 20 0 0 1 0.866 8 6 1 0 -1963 0 1 0 21 41.5692 20 0 0 1 0.866 8 6 1 0 -1964 0 1 0 21.5 42.4353 20 0 0 1 0.866 8 6 1 0 -1965 0 1 0 22 41.5692 20 0 0 1 0.866 8 6 1 0 -1966 0 1 0 22.5 42.4353 20 0 0 1 0.866 8 6 1 0 -1967 0 1 0 23 41.5692 20 0 0 1 0.866 8 6 1 0 -1968 0 1 0 23.5 42.4353 20 0 0 1 0.866 8 6 1 0 -1969 0 1 0 24 41.5692 20 0 0 1 0.866 8 6 1 0 -1970 0 1 0 24.5 42.4353 20 0 0 1 0.866 8 6 1 0 -1971 0 1 0 25 41.5692 20 0 0 1 0.866 8 6 1 0 -1972 0 1 0 25.5 42.4353 20 0 0 1 0.866 8 6 1 0 -1973 0 1 0 26 41.5692 20 0 0 1 0.866 8 6 1 0 -1974 0 1 0 26.5 42.4353 20 0 0 1 0.866 8 6 1 0 -1975 0 1 0 27 41.5692 20 0 0 1 0.866 8 6 1 0 -1976 0 1 0 27.5 42.4353 20 0 0 1 0.866 8 6 1 0 -1977 0 1 0 28 41.5692 20 0 0 1 0.866 8 6 1 0 -1978 0 1 0 28.5 42.4353 20 0 0 1 0.866 8 6 1 0 -1979 0 1 0 29 41.5692 20 0 0 1 0.866 8 6 1 0 -1980 0 1 0 29.5 42.4353 20 0 0 1 0.866 8 6 1 0 -1981 0 1 0 30 41.5692 20 0 0 1 0.866 8 6 1 0 -1982 0 1 0 30.5 42.4353 20 0 0 1 0.866 8 6 1 0 -1983 0 1 0 31 41.5692 20 0 0 1 0.866 8 6 1 0 -1984 0 1 0 31.5 42.4353 20 0 0 1 0.866 8 6 1 0 -1985 0 1 0 32 41.5692 20 0 0 1 0.866 8 6 1 0 -1986 0 1 0 32.5 42.4353 20 0 0 1 0.866 8 6 1 0 -1987 0 1 0 33 41.5692 20 0 0 1 0.866 8 6 1 0 -1988 0 1 0 33.5 42.4353 20 0 0 1 0.866 8 6 1 0 -1989 0 1 0 34 41.5692 20 0 0 1 0.866 8 6 1 0 -1990 0 1 0 34.5 42.4353 20 0 0 1 0.866 8 6 1 0 -1991 0 1 0 35 41.5692 20 0 0 1 0.866 8 6 1 0 -1992 0 1 0 35.5 42.4353 20 0 0 1 0.866 8 6 1 0 -1993 0 1 0 36 41.5692 20 0 0 1 0.866 8 6 1 0 -1994 0 1 0 36.5 42.4353 20 0 0 1 0.866 8 6 1 0 -1995 0 1 0 37 41.5692 20 0 0 1 0.866 8 6 1 0 -1996 0 1 0 37.5 42.4353 20 0 0 1 0.866 8 6 1 0 -1997 0 1 0 38 41.5692 20 0 0 1 0.866 8 6 1 0 -1998 0 1 0 38.5 42.4353 20 0 0 1 0.866 8 6 1 0 -1999 0 1 0 39 41.5692 20 0 0 1 0.866 8 6 1 0 -2000 0 1 0 39.5 42.4353 20 0 0 1 0.866 8 6 1 0 -2001 0 2 1 20 20 22 0 0 1 0.866 8 6 10 0 -2002 0 3 -1 25 20 22 0 0 1 0.866 8 6 10 0 diff --git a/examples/USER/dielectric/in.confined b/examples/USER/dielectric/in.confined index ce3f3c02ff..c9ae6d712a 100644 --- a/examples/USER/dielectric/in.confined +++ b/examples/USER/dielectric/in.confined @@ -14,11 +14,11 @@ units lj atom_style dielectric atom_modify map array dimension 3 -boundary f f f +boundary p p f variable method index gmres # gmres = BEM/GMRES # icc = BEM/ICC* - # dof = Variational + # dof = Direct optimization of the functional # none variable ed equal "v_epsilon2 - v_epsilon1" @@ -41,10 +41,13 @@ set group cations charge ${qscale} variable qscale equal "-1.0 / v_epsilon2" set group anions charge ${qscale} -pair_style lj/cut/coul/cut/dielectric 1.122 20.0 +pair_style lj/cut/coul/long/dielectric 1.122 10.0 pair_coeff * * 1.0 1.0 pair_coeff 1 1 0.0 1.0 +kspace_style pppm/dielectric 0.0001 +kspace_modify slab 3.0 + neigh_modify every 1 delay 0 check yes one 5000 #compute ef all efield/atom diff --git a/examples/USER/dielectric/in.minimal b/examples/USER/dielectric/in.minimal deleted file mode 100644 index beb738d36f..0000000000 --- a/examples/USER/dielectric/in.minimal +++ /dev/null @@ -1,39 +0,0 @@ -# Interface -newton off -units lj -atom_style dielectric -atom_modify map array -dimension 3 -boundary p p f - -read_data data.minimal - -group interface type 1 -group ions type 2 3 - -pair_style coul/long/dielectric 5.0 -#pair_style coul/cut/dielectric 20.0 -pair_coeff * * - -thermo 1000 -thermo_style custom step evdwl ecoul elong epair -thermo_modify flush yes - -#compute ef all efield/atom -dump 1 all custom 100 dump.txt id type q x y z #fx fy fz c_ef[1] c_ef[2] c_ef[3] - -dump_modify 1 sort id - -fix 1 ions nve - -fix 3 interface polarize/bem/icc 1 1.0e-4 - -kspace_style pppm/dielectric 0.0001 -kspace_modify slab 3.0 - -velocity all create 1.0 2947942 mom yes dist gaussian - -run 0 - - - diff --git a/examples/USER/dielectric/in.nopbc b/examples/USER/dielectric/in.nopbc index cf669fb686..ada9af2bf5 100644 --- a/examples/USER/dielectric/in.nopbc +++ b/examples/USER/dielectric/in.nopbc @@ -8,25 +8,25 @@ boundary f f f variable method index gmres # gmres = BEM/GMRES # icc = BEM/ICC* - # dof = Variational + # dof = Direct optimization of the functional # none -variable data index data.sphere #data.plane # data.minimal +variable data index data.sphere read_data ${data} group interface type 1 group ions type 2 3 -pair_style lj/cut/coul/cut/dielectric 50.0 +pair_style lj/cut/coul/cut/dielectric 1.122 20.0 pair_coeff * * 1.0 1.0 pair_coeff 1 1 0.0 1.0 neigh_modify one 5000 #compute ef all efield/atom -dump 1 all custom 100 all.dump id mol type q x y z #fx fy fz c_ef[1] c_ef[2] c_ef[3] -dump 2 interface custom 100 interface.dump id mol type q x y z #fx fy fz c_ef[1] c_ef[2] c_ef[3] +dump 1 all custom 100 all.dump id mol type q x y z #c_ef[1] c_ef[2] c_ef[3] +dump 2 interface custom 100 interface.dump id mol type q x y z #c_ef[1] c_ef[2] c_ef[3] dump_modify 1 sort id @@ -42,7 +42,7 @@ else & "print 'Unsupported method for polarization' " thermo 1000 -thermo_style custom step evdwl ecoul elong epair #f_3 +thermo_style custom step evdwl ecoul elong epair thermo_modify flush yes run 0 diff --git a/examples/USER/dielectric/in.pbc b/examples/USER/dielectric/in.pbc deleted file mode 100644 index da5c35f477..0000000000 --- a/examples/USER/dielectric/in.pbc +++ /dev/null @@ -1,54 +0,0 @@ -# Interface -newton off -units lj -atom_style dielectric -atom_modify map array -dimension 3 -boundary p p f - -variable method index gmres # gmres = BEM/GMRES - # icc = BEM/ICC* - # dof = Variational - # none - -variable data index data.sphere #data.plane # data.minimal - -read_data ${data} - -group interface type 1 -group ions type 2 3 - -pair_style lj/cut/coul/long/dielectric 1.122 10.0 -pair_coeff * * 1.0 1.0 -pair_coeff 1 1 0.0 1.0 - -kspace_style pppm/dielectric 0.0001 -kspace_modify slab 3.0 - -neigh_modify every 1 delay 0 check yes one 5000 - -#compute ef all efield/atom -dump 1 all custom 100 all.dump id mol type q x y z #fx fy fz c_ef[1] c_ef[2] c_ef[3] -dump 2 interface custom 100 interface.dump id mol type q x y z #fx fy fz c_ef[1] c_ef[2] c_ef[3] - -dump_modify 1 sort id - -fix 1 ions nve - -if "${method} == gmres" then & - "fix 3 interface polarize/bem/gmres 1 1.0e-4" & -elif "${method} == icc"& - "fix 3 interface polarize/bem/icc 1 1.0e-4 itr_max 50" & -elif "${method} == dof" & - "fix 3 interface polarize/functional 1 0.0001" & -else & - "print 'Unsupported method for polarization' " - -thermo 100 -thermo_style custom step evdwl ecoul elong epair cpu -thermo_modify flush yes - -run 0 - - - From b2ed89b21fb94bff6a12298b8d71dbeffe16332a Mon Sep 17 00:00:00 2001 From: jtclemm Date: Wed, 2 Jun 2021 12:02:02 -0600 Subject: [PATCH 124/726] Updating documentation --- doc/src/fix_pair_tracker.rst | 25 ++++++++++++------------- doc/src/pair_tracker.rst | 18 ++++++++++-------- 2 files changed, 22 insertions(+), 21 deletions(-) diff --git a/doc/src/fix_pair_tracker.rst b/doc/src/fix_pair_tracker.rst index 379fd716fc..a42fbbfe23 100644 --- a/doc/src/fix_pair_tracker.rst +++ b/doc/src/fix_pair_tracker.rst @@ -1,7 +1,7 @@ .. index:: fix pair/tracker fix pair/tracker command -=================== +======================== Syntax """""" @@ -22,9 +22,9 @@ Syntax .. parsed-literal:: - id1, id2 = IDs of 2 atoms in each pair interaction - time/created = the time the 2 atoms began interacting - time/broken = the time the 2 atoms stopped interacting + id1, id2 = IDs of the 2 atoms in each pair interaction + time/created = the time that the 2 atoms began interacting + time/broken = the time that the 2 atoms stopped interacting time/total = the total time the 2 atoms interacted r/min = the minimum radial distance between the 2 atoms during the interaction r/ave = the average radial distance between the 2 atoms during the interaction @@ -46,18 +46,18 @@ Examples .. code-block:: LAMMPS fix 1 all pair/tracker 1000 id1 id2 time/min 100 - fix 1 all pair/tracker 1000 time/created time/broken type 1 * type/include 2 3,4 + fix 1 all pair/tracker 1000 time/created time/broken type/include 1 * type/include 2 3,4 Description """"""""""" Tracks properties of pairwise interactions between two atoms and records data -whenever the atoms move beyond the interaction cutoff or the interaction breaks. +whenever the atoms move beyond the interaction cutoff. Must be used in conjuction with :doc:`pair tracker `. -Data is accumulated over a span of *N* timesteps after which it is cleared +Data is accumulated over a span of *N* timesteps before being deleted. The number of datums generated, aggregated across all processors, equals the number of broken interactions. Interactions are only included if both -atoms are in the included in the specified fix group. Additional filters can be +atoms are included in the specified fix group. Additional filters can be applied using the *time/min* or *type/include* keywords described below. .. note:: @@ -65,10 +65,10 @@ applied using the *time/min* or *type/include* keywords described below. For extremely long-lived interactions, the calculation of *r/ave* may not be correct due to double overflow. -The *time/min* keyword defines a minimum amount of time atoms have to be interacting -to save data. This can be used to censor short-lived interactions. The *type/include* -keyword filters interactions based on the types of the two atoms. Data is -only saved for interactions between atoms with types in the two lists. +The *time/min* keyword sets a minimum amount of time that an interaction must +persist to be included. This setting can be used to censor short-lived interactions. +The *type/include* keyword filters interactions based on the types of the two atoms. +Data is only saved for interactions between atoms with types in the two lists. Each list consists of a series of type ranges separated by commas. The range can be specified as a single numeric value, or a wildcard asterisk can be used to specify a range @@ -77,7 +77,6 @@ example, if M = the number of atom types, then an asterisk with no numeric values means all types from 1 to M. A leading asterisk means all types from 1 to n (inclusive). A trailing asterisk means all types from n to M (inclusive). A middle asterisk means all types from m to n (inclusive). -Note that all atom types must be included in exactly one of the N collections. Multiple *type/include* keywords may be added. ---------- diff --git a/doc/src/pair_tracker.rst b/doc/src/pair_tracker.rst index 10bd310ab6..8d7a0985cd 100644 --- a/doc/src/pair_tracker.rst +++ b/doc/src/pair_tracker.rst @@ -1,7 +1,7 @@ .. index:: pair_style tracker pair_style tracker command -======================= +========================== Syntax """""" @@ -15,7 +15,8 @@ Syntax .. parsed-literal:: - *finite* pair style uses atomic diameters to identify contacts + *finite* value = none + pair style uses atomic diameters to identify contacts Examples """""""" @@ -36,11 +37,11 @@ Description """"""""""" Style *tracker* monitors information about pairwise interactions. -It does not calculate any forces on atoms and should be used with -:doc:`pair hybrid/overlay ` to combine with a regularly -used pair style. Style *tracker* must be used in conjunction with about -:doc:`fix pair_tracker ` which contains information on -what data can be output. +It does not calculate any forces on atoms. +:doc:`Pair hybrid/overlay ` can be used to combine this pair +style with another pair style. Style *tracker* must be used in conjunction +with about :doc:`fix pair_tracker ` which contains +information on what data can be output. If the *finite* keyword is not defined, the following coefficients must be defined for each pair of atom types via the :doc:`pair_coeff ` @@ -51,7 +52,8 @@ commands, or by mixing as described below: * cutoff (distance units) If the *finite* keyword is defined, no coeffients may be defined. -Alternatively, interactions are defined if finite particles overlap. +Interaction cutoffs are alternatively calculated based on the +diameter of finite particles. Mixing, shift, table, tail correction, restart, rRESPA info From 77f009126a057b268e50cf00e5520f5bc84cfcb1 Mon Sep 17 00:00:00 2001 From: jtclemm Date: Wed, 2 Jun 2021 12:12:17 -0600 Subject: [PATCH 125/726] Fixing comments and log files --- examples/tracker/log.8Apr21.melt.g++.1 | 0 examples/tracker/log.8Apr21.tracker.g++.1 | 107 ++++++++++++++++++++++ src/MISC/fix_pair_tracker.cpp | 5 +- 3 files changed, 109 insertions(+), 3 deletions(-) delete mode 100644 examples/tracker/log.8Apr21.melt.g++.1 create mode 100644 examples/tracker/log.8Apr21.tracker.g++.1 diff --git a/examples/tracker/log.8Apr21.melt.g++.1 b/examples/tracker/log.8Apr21.melt.g++.1 deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/examples/tracker/log.8Apr21.tracker.g++.1 b/examples/tracker/log.8Apr21.tracker.g++.1 new file mode 100644 index 0000000000..e654558061 --- /dev/null +++ b/examples/tracker/log.8Apr21.tracker.g++.1 @@ -0,0 +1,107 @@ +LAMMPS (8 Apr 2021) +# 3d Lennard-Jones melt with tracking + +units lj +atom_style atomic + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962 +region box block 0 4 0 4 0 4 +create_box 2 box +Created orthogonal box = (0.0000000 0.0000000 0.0000000) to (6.7183848 6.7183848 6.7183848) + 1 by 1 by 1 MPI processor grid +create_atoms 2 box +Created 256 atoms + create_atoms CPU = 0.001 seconds +mass 1 1.0 +mass 2 1.0 +velocity all create 2.0 87287 loop geom + +pair_style hybrid/overlay lj/cut 2.5 tracker +pair_coeff * * lj/cut 1.0 1.0 2.5 +pair_coeff * * tracker 2.5 + +neighbor 0.3 bin +neigh_modify every 20 delay 0 check no + +fix 1 all nve +fix 2 all pair/tracker 1000 id1 id2 time/created time/broken time/total time/min 0.5 +fix 3 all ave/histo 1000 1 1000 0 6 30 f_2[5] mode vector kind local file lifetime_hist.dat + +dump 1 all local 1000 contact_history.dat f_2[1] f_2[2] f_2[3] f_2[4] +dump_modify 1 header no + +# compute 1 all property/local patom1 patom2 +# dump 2 all local 1 pairs.dat c_1[1] c_1[2] + +# dump 3 all atom 1 atoms.dat + +thermo 50 +run 1000 #0 +Neighbor list info ... + update every 20 steps, delay 0 steps, check no + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 5 5 5 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard + (2) pair tracker, perpetual + attributes: half, newton on, history + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 10.46 | 10.46 | 10.46 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 2 -6.7733681 0 -3.7850868 -4.5535126 + 50 1.0540428 -5.3670859 0 -3.7921977 2.3386375 + 100 1.0402713 -5.3493439 0 -3.7950323 2.4553748 + 150 1.0570745 -5.3738961 0 -3.7944781 2.3767396 + 200 1.0431846 -5.3518647 0 -3.7932002 2.5010135 + 250 1.070121 -5.3902744 0 -3.791363 2.4908658 + 300 1.0667723 -5.3866302 0 -3.7927224 2.3589344 + 350 1.000601 -5.2859643 0 -3.7909257 2.9065274 + 400 0.99256113 -5.2738812 0 -3.7908553 2.8595867 + 450 1.0482542 -5.357452 0 -3.7912128 2.4707397 + 500 1.0196176 -5.3123538 0 -3.7889017 2.7230338 + 550 0.98274535 -5.2586303 0 -3.7902706 2.9156947 + 600 1.0683914 -5.3863229 0 -3.789996 2.3002719 + 650 1.0130779 -5.303917 0 -3.7902362 2.8726423 + 700 1.0583333 -5.3737358 0 -3.792437 2.5770307 + 750 0.98274506 -5.2612464 0 -3.792887 2.9447027 + 800 1.0294191 -5.332001 0 -3.7939042 2.5293193 + 850 0.99240027 -5.2735754 0 -3.7907899 2.7672711 + 900 1.0293488 -5.3306241 0 -3.7926323 2.6054041 + 950 0.97137182 -5.2424403 0 -3.7910742 3.129989 + 1000 1.0009431 -5.2864286 0 -3.7908788 2.7536598 +Loop time of 0.310363 on 1 procs for 1000 steps with 256 atoms + +Performance: 1391918.252 tau/day, 3222.033 timesteps/s +100.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 | 0.22132 | 0.22132 | 0.22132 | 0.0 | 71.31 +Neigh | 0.03458 | 0.03458 | 0.03458 | 0.0 | 11.14 +Comm | 0.0087938 | 0.0087938 | 0.0087938 | 0.0 | 2.83 +Output | 0.014075 | 0.014075 | 0.014075 | 0.0 | 4.54 +Modify | 0.02818 | 0.02818 | 0.02818 | 0.0 | 9.08 +Other | | 0.003411 | | | 1.10 + +Nlocal: 256.000 ave 256 max 256 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1327.00 ave 1327 max 1327 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 9612.00 ave 9612 max 9612 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 9612 +Ave neighs/atom = 37.546875 +Neighbor list builds = 50 +Dangerous builds not checked +Total wall time: 0:00:00 diff --git a/src/MISC/fix_pair_tracker.cpp b/src/MISC/fix_pair_tracker.cpp index 3feffa27c4..a709792216 100644 --- a/src/MISC/fix_pair_tracker.cpp +++ b/src/MISC/fix_pair_tracker.cpp @@ -256,9 +256,8 @@ double FixPairTracker::memory_usage() } /* ---------------------------------------------------------------------- - one method for every keyword fix property/local can output - the atom property is packed into buf starting at n with stride nvalues - customize a new keyword by adding a method + one method for every keyword fix pair/tracker can output + the atom property is packed into a local vector or array ------------------------------------------------------------------------- */ /* ---------------------------------------------------------------------- */ From 96ac2dc9f6d99f84d8e40a90b61c6f36e22e3f5c Mon Sep 17 00:00:00 2001 From: jtclemm Date: Wed, 2 Jun 2021 12:15:41 -0600 Subject: [PATCH 126/726] update to master --- src/fix_pair_tracker.cpp | 376 ++++++++++++++++++++++++++++++ src/fix_pair_tracker.h | 92 ++++++++ src/pair_tracker.cpp | 489 +++++++++++++++++++++++++++++++++++++++ src/pair_tracker.h | 91 ++++++++ 4 files changed, 1048 insertions(+) create mode 100644 src/fix_pair_tracker.cpp create mode 100644 src/fix_pair_tracker.h create mode 100644 src/pair_tracker.cpp create mode 100644 src/pair_tracker.h diff --git a/src/fix_pair_tracker.cpp b/src/fix_pair_tracker.cpp new file mode 100644 index 0000000000..5e0d27b79e --- /dev/null +++ b/src/fix_pair_tracker.cpp @@ -0,0 +1,376 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include "fix_pair_tracker.h" +#include "atom.h" +#include "atom_vec.h" +#include "error.h" +#include "group.h" +#include "memory.h" +#include "modify.h" +#include "tokenizer.h" +#include "update.h" + +#include + +using namespace LAMMPS_NS; +using namespace FixConst; + +#define DELTA 1000 + +/* ---------------------------------------------------------------------- */ + +FixPairTracker::FixPairTracker(LAMMPS *lmp, int narg, char **arg) : + Fix(lmp, narg, arg), + nvalues(0), + array(NULL), vector(NULL), pack_choice(NULL) +{ + if (narg < 3) error->all(FLERR,"Illegal fix pair/tracker command"); + local_flag = 1; + + nevery = utils::inumeric(FLERR,arg[3],false,lmp); + if (nevery <= 0) error->all(FLERR,"Illegal fix pair/tracker command"); + local_freq = nevery; + + // If optional arguments included, this will be oversized + nvalues = narg - 4; + pack_choice = new FnPtrPack[nvalues]; + + tmin = -1; + type_filter = nullptr; + int iarg = 4; + nvalues = 0; + while (iarg < narg) { + if (strcmp(arg[iarg],"id1") == 0) { + pack_choice[nvalues++] = &FixPairTracker::pack_id1; + } else if (strcmp(arg[iarg],"id2") == 0) { + pack_choice[nvalues++] = &FixPairTracker::pack_id2; + + } else if (strcmp(arg[iarg],"time/created") == 0) { + pack_choice[nvalues++] = &FixPairTracker::pack_time_created; + } else if (strcmp(arg[iarg],"time/broken") == 0) { + pack_choice[nvalues++] = &FixPairTracker::pack_time_broken; + } else if (strcmp(arg[iarg],"time/total") == 0) { + pack_choice[nvalues++] = &FixPairTracker::pack_time_total; + + } else if (strcmp(arg[iarg],"x") == 0) { + pack_choice[nvalues++] = &FixPairTracker::pack_x; + } else if (strcmp(arg[iarg],"y") == 0) { + pack_choice[nvalues++] = &FixPairTracker::pack_y; + } else if (strcmp(arg[iarg],"z") == 0) { + pack_choice[nvalues++] = &FixPairTracker::pack_z; + + } else if (strcmp(arg[iarg],"r/min") == 0) { + pack_choice[nvalues++] = &FixPairTracker::pack_rmin; + } else if (strcmp(arg[iarg],"r/ave") == 0) { + pack_choice[nvalues++] = &FixPairTracker::pack_rave; + + } else if (strcmp(arg[iarg],"time/min") == 0) { + if (iarg + 1 >= narg) error->all(FLERR, "Invalid keyword in fix pair/tracker command"); + tmin = utils::numeric(FLERR,arg[iarg+1],false,lmp); + iarg ++; + + } else if (strcmp(arg[iarg],"type/include") == 0) { + if (iarg + 1 >= narg) error->all(FLERR, "Invalid keyword in fix pair/tracker command"); + int ntypes = atom->ntypes; + + int i, j, itype, jtype, in, jn, infield, jnfield; + int inlo, inhi, jnlo, jnhi; + char *istr, *jstr; + if (! type_filter) { + memory->create(type_filter,ntypes+1,ntypes+1,"fix/pair/tracker:type_filter"); + + for (i = 0; i <= ntypes; i ++) { + for (j = 0; j <= ntypes; j ++) { + type_filter[i][j] = 0; + } + } + } + + in = strlen(arg[iarg+1]) + 1; + istr = new char[in]; + strcpy(istr,arg[iarg+1]); + std::vector iwords = Tokenizer(istr, ",").as_vector(); + infield = iwords.size(); + + jn = strlen(arg[iarg+2]) + 1; + jstr = new char[jn]; + strcpy(jstr,arg[iarg+2]); + std::vector jwords = Tokenizer(jstr, ",").as_vector(); + jnfield = jwords.size(); + + for (i = 0; i < infield; i++) { + const char * ifield = iwords[i].c_str(); + utils::bounds(FLERR,ifield,1,ntypes,inlo,inhi,error); + + for (j = 0; j < jnfield; j++) { + const char * jfield = jwords[j].c_str(); + utils::bounds(FLERR,jfield,1,ntypes,jnlo,jnhi,error); + + for (itype = inlo; itype <= inhi; itype++) { + for (jtype = jnlo; jtype <= jnhi; jtype++) { + type_filter[itype][jtype] = 1; + type_filter[jtype][itype] = 1; + } + } + } + } + + delete [] istr; + delete [] jstr; + + iarg += 2; + + } else error->all(FLERR, "Invalid keyword in fix pair/tracker command"); + + iarg ++; + } + + if (nvalues == 1) size_local_cols = 0; + else size_local_cols = nvalues; + + nmax = 0; + ncount = 0; + vector = NULL; + array = NULL; +} + +/* ---------------------------------------------------------------------- */ + +FixPairTracker::~FixPairTracker() +{ + delete [] pack_choice; + + memory->destroy(vector); + memory->destroy(array); + memory->destroy(type_filter); +} + +/* ---------------------------------------------------------------------- */ + +int FixPairTracker::setmask() +{ + int mask = 0; + mask |= POST_FORCE; + return mask; +} + +/* ---------------------------------------------------------------------- */ + +void FixPairTracker::init() +{ + // Set size of array/vector + ncount = 0; + + if (ncount > nmax) + reallocate(ncount); + + size_local_rows = ncount; +} + +/* ---------------------------------------------------------------------- */ + +void FixPairTracker::lost_contact(int i, int j, double time_tmp, double nstep_tmp, double rsum_tmp, double rmin_tmp) +{ + + double time = update->atime + (update->ntimestep-update->atimestep)*update->dt; + if ((time-time_tmp) < tmin) return; + + if (type_filter) { + int *type = atom->type; + if (type_filter[type[i]][type[j]] == 0) return; + } + + int *mask = atom->mask; + if (!(mask[i] & groupbit)) return; + if (!(mask[j] & groupbit)) return; + + if (ncount == nmax) reallocate(ncount); + + index_i = i; + index_j = j; + + rmin = rmin_tmp; + rsum = rsum_tmp; + time_initial = time_tmp; + nstep_initial = nstep_tmp; + + // fill vector or array with local values + if (nvalues == 1) { + (this->*pack_choice[0])(0); + } else { + for (int k = 0; k < nvalues; k++) { + (this->*pack_choice[k])(k); + } + } + + ncount += 1; +} + +/* ---------------------------------------------------------------------- */ + +void FixPairTracker::post_force(int /*vflag*/) +{ + if (update->ntimestep % nevery == 0) { + size_local_rows = ncount; + ncount = 0; + } +} + + +/* ---------------------------------------------------------------------- */ + +void FixPairTracker::reallocate(int n) +{ + // grow vector or array + while (nmax <= n) nmax += DELTA; + + if (nvalues == 1) { + memory->grow(vector,nmax,"fix_pair_tracker:vector"); + vector_local = vector; + } else { + memory->grow(array,nmax,nvalues,"fix_pair_tracker:array"); + array_local = array; + } +} + +/* ---------------------------------------------------------------------- + memory usage of local data +------------------------------------------------------------------------- */ + +double FixPairTracker::memory_usage() +{ + double bytes = nmax*nvalues * sizeof(double); + bytes += nmax*2 * sizeof(int); + return bytes; +} + +/* ---------------------------------------------------------------------- + one method for every keyword fix pair/tracker can output + the atom property is packed into the local vector or array +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- */ + +void FixPairTracker::pack_time_created(int n) +{ + if (nvalues == 1) + vector[ncount] = time_initial; + else + array[ncount][n] = time_initial; +} + +/* ---------------------------------------------------------------------- */ + +void FixPairTracker::pack_time_broken(int n) +{ + double time = update->atime + (update->ntimestep-update->atimestep)*update->dt; + if (nvalues == 1) + vector[ncount] = time; + else + array[ncount][n] = time; +} + +/* ---------------------------------------------------------------------- */ + +void FixPairTracker::pack_time_total(int n) +{ + double time = update->atime + (update->ntimestep-update->atimestep)*update->dt; + if (nvalues == 1) + vector[ncount] = time-time_initial; + else + array[ncount][n] = time-time_initial; +} + + +/* ---------------------------------------------------------------------- */ + +void FixPairTracker::pack_id1(int n) +{ + tagint *tag = atom->tag; + + if (nvalues == 1) + vector[ncount] = tag[index_i]; + else + array[ncount][n] = tag[index_i]; +} + +/* ---------------------------------------------------------------------- */ + +void FixPairTracker::pack_id2(int n) +{ + tagint *tag = atom->tag; + + if (nvalues == 1) + vector[ncount] = tag[index_j]; + else + array[ncount][n] = tag[index_j]; +} + +/* ---------------------------------------------------------------------- */ + +void FixPairTracker::pack_x(int n) +{ + double **x = atom->x; + + if (nvalues == 1) + vector[ncount] = (x[index_i][0] + x[index_j][0])/2; + else + array[ncount][n] = (x[index_i][0] + x[index_j][0])/2; +} + + +/* ---------------------------------------------------------------------- */ + +void FixPairTracker::pack_y(int n) +{ + double **x = atom->x; + + if (nvalues == 1) + vector[ncount] = (x[index_i][1] + x[index_j][1])/2; + else + array[ncount][n] = (x[index_i][1] + x[index_j][1])/2; +} + + +/* ---------------------------------------------------------------------- */ + +void FixPairTracker::pack_z(int n) +{ + double **x = atom->x; + + if (nvalues == 1) + vector[ncount] = (x[index_i][2] + x[index_j][2])/2; + else + array[ncount][n] = (x[index_i][2] + x[index_j][2])/2; +} + +/* ---------------------------------------------------------------------- */ + +void FixPairTracker::pack_rmin(int n) +{ + if (nvalues == 1) + vector[ncount] = rmin; + else + array[ncount][n] = rmin; +} + +/* ---------------------------------------------------------------------- */ + +void FixPairTracker::pack_rave(int n) +{ + if (nvalues == 1) + vector[ncount] = rsum/(update->ntimestep-nstep_initial); + else + array[ncount][n] = rsum/(update->ntimestep-nstep_initial); +} diff --git a/src/fix_pair_tracker.h b/src/fix_pair_tracker.h new file mode 100644 index 0000000000..7977357022 --- /dev/null +++ b/src/fix_pair_tracker.h @@ -0,0 +1,92 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef FIX_CLASS + +FixStyle(pair/tracker,FixPairTracker) + +#else + +#ifndef LMP_FIX_PAIR_TRACKING_H +#define LMP_FIX_PAIR_TRACKING_H + +#include "fix.h" + +namespace LAMMPS_NS { + +class FixPairTracker : public Fix { + public: + FixPairTracker(class LAMMPS *, int, char **); + ~FixPairTracker(); + int setmask(); + void init(); + void post_force(int); + double memory_usage(); + void lost_contact(int, int, double, double, double, double); + + private: + int nvalues, never; + int nmax; + int store_flag; + int index_i, index_j; + double tmin, rmin, rsum, time_initial, nstep_initial; + + double *vector; + double **array; + int **type_filter; + + double lx; + double ly; + double lz; + + int ncount; + + void reallocate(int); + + typedef void (FixPairTracker::*FnPtrPack)(int); + FnPtrPack *pack_choice; // ptrs to pack functions + + void pack_id1(int); + void pack_id2(int); + + void pack_time_created(int); + void pack_time_broken(int); + void pack_time_total(int); + + void pack_x(int); + void pack_y(int); + void pack_z(int); + + void pack_rmin(int); + void pack_rave(int); + +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +E: Illegal ... command + +Self-explanatory. Check the input script syntax and compare to the +documentation for the command. You can use -echo screen as a +command-line option when running LAMMPS to see the offending line. + +E: Invalid keyword in fix pair/tracker command + +Self-explanatory. + +*/ diff --git a/src/pair_tracker.cpp b/src/pair_tracker.cpp new file mode 100644 index 0000000000..e3fd64d0d6 --- /dev/null +++ b/src/pair_tracker.cpp @@ -0,0 +1,489 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://lammps.sandia.gov/, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include "pair_tracker.h" +#include "atom.h" +#include "comm.h" +#include "error.h" +#include "fix.h" +#include "fix_dummy.h" +#include "fix_neigh_history.h" +#include "fix_pair_tracker.h" +#include "force.h" +#include "memory.h" +#include "modify.h" +#include "neighbor.h" +#include "neigh_list.h" +#include "neigh_request.h" +#include "update.h" + +using namespace LAMMPS_NS; + +/* ---------------------------------------------------------------------- */ + +PairTracker::PairTracker(LAMMPS *lmp) : Pair(lmp) +{ + single_enable = 1; + no_virial_fdotr_compute = 1; + + neighprev = 0; + history = 1; + size_history = 4; + nondefault_history_transfer = 1; + + finitecutflag = 0; + + // create dummy fix as placeholder for FixNeighHistory + // this is so final order of Modify:fix will conform to input script + + fix_history = nullptr; + modify->add_fix("NEIGH_HISTORY_TRACK_DUMMY all DUMMY"); + fix_dummy = (FixDummy *) modify->fix[modify->nfix-1]; +} + +/* ---------------------------------------------------------------------- */ + +PairTracker::~PairTracker() +{ + if (!fix_history) modify->delete_fix("NEIGH_HISTORY_TRACK_DUMMY"); + else modify->delete_fix("NEIGH_HISTORY_TRACK"); + + if (allocated) { + memory->destroy(setflag); + memory->destroy(cutsq); + memory->destroy(cut); + + delete [] onerad_dynamic; + delete [] onerad_frozen; + delete [] maxrad_dynamic; + delete [] maxrad_frozen; + } +} + +/* ---------------------------------------------------------------------- */ + +void PairTracker::compute(int eflag, int vflag) +{ + int i,j,ii,jj,inum,jnum,itype,jtype; + double xtmp,ytmp,ztmp,delx,dely,delz,time; + double radi,radj,radsum,rsq,r; + int *ilist,*jlist,*numneigh,**firstneigh; + int *touch,**firsttouch; + double *data,*alldata,**firstdata; + + int updateflag = 1; + if (update->setupflag) updateflag = 0; + ev_init(eflag,vflag); + + double **x = atom->x; + double *radius = atom->radius; + int *type = atom->type; + int *mask = atom->mask; + int nlocal = atom->nlocal; + int newton_pair = force->newton_pair; + + inum = list->inum; + ilist = list->ilist; + numneigh = list->numneigh; + firstneigh = list->firstneigh; + firsttouch = fix_history->firstflag; + firstdata = fix_history->firstvalue; + + // loop over neighbors of my atoms + for (ii = 0; ii < inum; ii++) { + i = ilist[ii]; + xtmp = x[i][0]; + ytmp = x[i][1]; + ztmp = x[i][2]; + if (finitecutflag) radi = radius[i]; + itype = type[i]; + touch = firsttouch[i]; + alldata = firstdata[i]; + jlist = firstneigh[i]; + jnum = numneigh[i]; + + for (jj = 0; jj < jnum; jj++) { + j = jlist[jj]; + j &= NEIGHMASK; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + r = sqrt(rsq); + + if (finitecutflag) { + radj = radius[j]; + radsum = radi + radj; + + if (rsq >= radsum*radsum) { + + data = &alldata[size_history*jj]; + if(touch[jj] == 1) { + fix_pair_tracker->lost_contact(i, j, data[0], data[1], data[2], data[3]); + } + touch[jj] = 0; + data[0] = 0.0; // initial time + data[1] = 0.0; // initial timestep + data[2] = 0.0; // sum of r, may overflow + data[3] = 0.0; // min of r + + } else { + + data = &alldata[size_history*jj]; + if (touch[jj] == 0) { + time = update->atime + (update->ntimestep-update->atimestep)*update->dt; + data[0] = time; + data[1] = (double) update->ntimestep; + data[2] = r; + data[3] = r; + } else if (updateflag) { + data[2] += r; + if(data[3] > r) data[3] = r; + } + touch[jj] = 1; + } + } else { + jtype = type[j]; + if (rsq >= cutsq[itype][jtype]) { + + data = &alldata[size_history*jj]; + if(touch[jj] == 1) { + fix_pair_tracker->lost_contact(i, j, data[0], data[1], data[2], data[3]); + } + + touch[jj] = 0; + data[0] = 0.0; // initial time + data[1] = 0.0; // initial timestep + data[2] = 0.0; // sum of r, may overflow + data[3] = 0.0; // min of r + + } else { + + data = &alldata[size_history*jj]; + if (touch[jj] == 0) { + time = update->atime + (update->ntimestep-update->atimestep)*update->dt; + data[0] = time; + data[1] = (double) update->ntimestep; + data[2] = r; + data[3] = r; + } else if (updateflag) { + data[2] += r; + if(data[3] > r) data[3] = r; + } + touch[jj] = 1; + } + } + } + } +} + +/* ---------------------------------------------------------------------- + allocate all arrays +------------------------------------------------------------------------- */ + +void PairTracker::allocate() +{ + allocated = 1; + int n = atom->ntypes; + + memory->create(setflag,n+1,n+1,"pair:setflag"); + for (int i = 1; i <= n; i++) + for (int j = i; j <= n; j++) + setflag[i][j] = 0; + + memory->create(cutsq,n+1,n+1,"pair:cutsq"); + memory->create(cut,n+1,n+1,"pair:cut"); + + onerad_dynamic = new double[n+1]; + onerad_frozen = new double[n+1]; + maxrad_dynamic = new double[n+1]; + maxrad_frozen = new double[n+1]; +} + +/* ---------------------------------------------------------------------- + global settings +------------------------------------------------------------------------- */ + +void PairTracker::settings(int narg, char **arg) +{ + if (narg != 0 && narg != 1) error->all(FLERR,"Illegal pair_style command"); + + if (narg == 1) { + if (strcmp(arg[0], "finite") == 0) finitecutflag = 1; + else error->all(FLERR,"Illegal pair_style command"); + } +} + +/* ---------------------------------------------------------------------- + set coeffs for one or more type pairs +------------------------------------------------------------------------- */ + +void PairTracker::coeff(int narg, char **arg) +{ + if (narg > 2 && finitecutflag) error->all(FLERR,"Incorrect args for pair coefficients"); + if (narg != 3 && !finitecutflag) error->all(FLERR,"Incorrect args for pair coefficients"); + if (!allocated) allocate(); + + int ilo,ihi,jlo,jhi; + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); + + double cut_one = 0.0; + if (!finitecutflag) cut_one = utils::numeric(FLERR,arg[2],false,lmp); + + int count = 0; + for (int i = ilo; i <= ihi; i++) { + for (int j = MAX(jlo,i); j <= jhi; j++) { + setflag[i][j] = 1; + cut[i][j] = cut_one; + count++; + } + } + + if (count == 0) error->all(FLERR,"Incorrect args for pair coefficients"); +} + +/* ---------------------------------------------------------------------- + init specific to this pair style +------------------------------------------------------------------------- */ + +void PairTracker::init_style() +{ + int i; + + // error and warning checks + + if (!atom->radius_flag && finitecutflag) + error->all(FLERR,"Pair tracker requires atom attribute radius for finite cutoffs"); + + // need a history neigh list + + int irequest = neighbor->request(this,instance_me); + if (finitecutflag) neighbor->requests[irequest]->size = 1; + neighbor->requests[irequest]->history = 1; + + // if history is stored and first init, create Fix to store history + // it replaces FixDummy, created in the constructor + // this is so its order in the fix list is preserved + + if (fix_history == nullptr) { + char dnumstr[16]; + sprintf(dnumstr,"%d",size_history); + char **fixarg = new char*[4]; + fixarg[0] = (char *) "NEIGH_HISTORY_TRACK"; + fixarg[1] = (char *) "all"; + fixarg[2] = (char *) "NEIGH_HISTORY"; + fixarg[3] = dnumstr; + modify->replace_fix("NEIGH_HISTORY_TRACK_DUMMY",4,fixarg,1); + delete [] fixarg; + int ifix = modify->find_fix("NEIGH_HISTORY_TRACK"); + fix_history = (FixNeighHistory *) modify->fix[ifix]; + fix_history->pair = this; + fix_history->use_bit_flag = 0; + } + + if (finitecutflag) { + + if(force->pair->beyond_contact) + error->all(FLERR, "Pair tracker incompatible with granular pairstyles that extend beyond contact"); + // check for FixPour and FixDeposit so can extract particle radii + + int ipour; + for (ipour = 0; ipour < modify->nfix; ipour++) + if (strcmp(modify->fix[ipour]->style,"pour") == 0) break; + if (ipour == modify->nfix) ipour = -1; + + int idep; + for (idep = 0; idep < modify->nfix; idep++) + if (strcmp(modify->fix[idep]->style,"deposit") == 0) break; + if (idep == modify->nfix) idep = -1; + + // set maxrad_dynamic and maxrad_frozen for each type + // include future FixPour and FixDeposit particles as dynamic + + int itype; + for (i = 1; i <= atom->ntypes; i++) { + onerad_dynamic[i] = onerad_frozen[i] = 0.0; + if (ipour >= 0) { + itype = i; + onerad_dynamic[i] = + *((double *) modify->fix[ipour]->extract("radius",itype)); + } + if (idep >= 0) { + itype = i; + onerad_dynamic[i] = + *((double *) modify->fix[idep]->extract("radius",itype)); + } + } + + double *radius = atom->radius; + int *mask = atom->mask; + int *type = atom->type; + int nlocal = atom->nlocal; + + for (i = 0; i < nlocal; i++) + if (mask[i] & freeze_group_bit) + onerad_frozen[type[i]] = MAX(onerad_frozen[type[i]],radius[i]); + else + onerad_dynamic[type[i]] = MAX(onerad_dynamic[type[i]],radius[i]); + + MPI_Allreduce(&onerad_dynamic[1],&maxrad_dynamic[1],atom->ntypes, + MPI_DOUBLE,MPI_MAX,world); + MPI_Allreduce(&onerad_frozen[1],&maxrad_frozen[1],atom->ntypes, + MPI_DOUBLE,MPI_MAX,world); + } + + int ifix = modify->find_fix("NEIGH_HISTORY_TRACK"); + if (ifix < 0) error->all(FLERR,"Could not find pair fix neigh history ID"); + fix_history = (FixNeighHistory *) modify->fix[ifix]; + + ifix = modify->find_fix_by_style("pair/tracker"); + if(ifix < 0) error->all(FLERR,"Cannot use pair tracker without fix pair/tracker"); + fix_pair_tracker = (FixPairTracker *) modify->fix[ifix]; +} + +/* ---------------------------------------------------------------------- + init for one type pair i,j and corresponding j,i +------------------------------------------------------------------------- */ + +double PairTracker::init_one(int i, int j) +{ + if (!allocated) allocate(); + + // always mix prefactors geometrically + + if (setflag[i][j] == 0) { + cut[i][j] = mix_distance(cut[i][i],cut[j][j]); + } + + cut[j][i] = cut[i][j]; + + // if finite, cutoff = sum of max I,J radii for + // dynamic/dynamic & dynamic/frozen interactions, but not frozen/frozen + double cutoff; + if (finitecutflag) { + cutoff = maxrad_dynamic[i]+maxrad_dynamic[j]; + cutoff = MAX(cutoff,maxrad_frozen[i]+maxrad_dynamic[j]); + cutoff = MAX(cutoff,maxrad_dynamic[i]+maxrad_frozen[j]); + } else { + cutoff = cut[i][j]; + } + return cutoff; +} + +/* ---------------------------------------------------------------------- + proc 0 writes to restart file +------------------------------------------------------------------------- */ + +void PairTracker::write_restart(FILE *fp) +{ + write_restart_settings(fp); + + int i,j; + for (i = 1; i <= atom->ntypes; i++) + for (j = i; j <= atom->ntypes; j++) { + fwrite(&setflag[i][j],sizeof(int),1,fp); + if (setflag[i][j]) { + fwrite(&cut[i][j],sizeof(double),1,fp); + } + } +} + +/* ---------------------------------------------------------------------- + proc 0 reads from restart file, bcasts +------------------------------------------------------------------------- */ + +void PairTracker::read_restart(FILE *fp) +{ + read_restart_settings(fp); + allocate(); + + int i,j; + int me = comm->me; + for (i = 1; i <= atom->ntypes; i++) + for (j = i; j <= atom->ntypes; j++) { + if (me == 0) utils::sfread(FLERR,&setflag[i][j],sizeof(int),1,fp,nullptr,error); + MPI_Bcast(&setflag[i][j],1,MPI_INT,0,world); + if (setflag[i][j]) { + if (me == 0) { + utils::sfread(FLERR,&cut[i][j],sizeof(double),1,fp,nullptr,error); + } + MPI_Bcast(&cut[i][j],1,MPI_DOUBLE,0,world); + } + } +} + +/* ---------------------------------------------------------------------- + proc 0 writes to restart file +------------------------------------------------------------------------- */ + +void PairTracker::write_restart_settings(FILE *fp) +{ + fwrite(&mix_flag,sizeof(int),1,fp); +} + +/* ---------------------------------------------------------------------- + proc 0 reads from restart file, bcasts +------------------------------------------------------------------------- */ + +void PairTracker::read_restart_settings(FILE *fp) +{ + if (comm->me == 0) { + utils::sfread(FLERR,&mix_flag,sizeof(int),1,fp,nullptr,error); + } + MPI_Bcast(&mix_flag,1,MPI_INT,0,world); +} + +/* ---------------------------------------------------------------------- */ + +double PairTracker::single(int i, int j, int /*itype*/, int /*jtype*/, + double rsq, + double /*factor_coul*/, double /*factor_lj*/, + double &fforce) +{ + return 0.0; +} + +/* ---------------------------------------------------------------------- + transfer history during fix/neigh/history exchange + only needed if any history entries i-j are not just negative of j-i entries +------------------------------------------------------------------------- */ + +void PairTracker::transfer_history(double* source, double* target) +{ + for (int i = 0; i < size_history; i++) + target[i] = source[i]; +} + + +/* ---------------------------------------------------------------------- + self-interaction range of particle if finite particles +------------------------------------------------------------------------- */ + +double PairTracker::atom2cut(int i) +{ + double cut = atom->radius[i]*2; + return cut; +} + +/* ---------------------------------------------------------------------- + maximum interaction range for two finite particles +------------------------------------------------------------------------- */ + +double PairTracker::radii2cut(double r1, double r2) +{ + double cut = r1+r2; + return cut; +} + diff --git a/src/pair_tracker.h b/src/pair_tracker.h new file mode 100644 index 0000000000..dced79977d --- /dev/null +++ b/src/pair_tracker.h @@ -0,0 +1,91 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://lammps.sandia.gov/, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef PAIR_CLASS + +PairStyle(tracker,PairTracker) + +#else + +#ifndef LMP_PAIR_TRACKER_H +#define LMP_PAIR_TRACKER_H + +#include "pair.h" + +namespace LAMMPS_NS { + +class PairTracker : public Pair { + public: + PairTracker(class LAMMPS *); + virtual ~PairTracker(); + virtual void compute(int, int); + virtual void settings(int, char **); + void coeff(int, char **); + void init_style(); + double init_one(int, int); + void write_restart(FILE *); + void read_restart(FILE *); + void write_restart_settings(FILE *); + void read_restart_settings(FILE *); + virtual double single(int, int, int, int, double, double, double, double &); + double atom2cut(int); + double radii2cut(double,double); + + protected: + int sizeflag; + int history; + int size_history; + int neighprev; + double **cut; + double *onerad_dynamic,*onerad_frozen; + double *maxrad_dynamic,*maxrad_frozen; + int freeze_group_bit; + + class FixDummy *fix_dummy; + class FixNeighHistory *fix_history; + class FixPairTracker *fix_pair_tracker; + + void transfer_history(double*, double*); + void allocate(); +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +E: Illegal ... command + +Self-explanatory. Check the input script syntax and compare to the +documentation for the command. You can use -echo screen as a +command-line option when running LAMMPS to see the offending line. + +E: Incorrect args for pair coefficients + +Self-explanatory. Check the input script or data file. + +E: Pair tracker requires atom attribute radius for finite cutoffs + +The atom style defined does not have these attributes. + +E: Could not find pair fix neigh history ID + +The associated fix neigh/history is missing + +E: Cannot use pair tracker without fix pair/tracker + +This pairstyle requires one to define a pair/tracker fix + +*/ From f3ba2d07f890f7c823444eab37d9058c57ac6bf9 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 2 Jun 2021 15:14:37 -0400 Subject: [PATCH 127/726] prefer GNU make (aka gmake) over plain "make", to avoid compilation failures --- cmake/Modules/Packages/USER-HDNNP.cmake | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cmake/Modules/Packages/USER-HDNNP.cmake b/cmake/Modules/Packages/USER-HDNNP.cmake index 41d066a235..02b343e42f 100644 --- a/cmake/Modules/Packages/USER-HDNNP.cmake +++ b/cmake/Modules/Packages/USER-HDNNP.cmake @@ -55,6 +55,9 @@ if(DOWNLOAD_N2P2) endif() endif() + # prefer GNU make, if available. N2P2 lib seems to need it. + find_program(N2P2_MAKE NAMES gmake make) + # override compiler (optimization) flags in n2p2 library to flags used for LAMMPS # specifically -march=native can result in problems when compiling on HPC clusters or with a cross compiler # this convoluted way gets correct quoting/escaping when configuring the external project @@ -74,7 +77,7 @@ if(DOWNLOAD_N2P2) UPDATE_COMMAND "" CONFIGURE_COMMAND "" PATCH_COMMAND sed -i -e "s/\\(MPI_\\(P\\|Unp\\)ack(\\)/\\1(void *) /" src/libnnpif/LAMMPS/InterfaceLammps.cpp - BUILD_COMMAND make -f makefile libnnpif ${N2P2_BUILD_OPTIONS} + BUILD_COMMAND ${N2P2_MAKE} -f makefile libnnpif ${N2P2_BUILD_OPTIONS} BUILD_ALWAYS YES INSTALL_COMMAND "" BUILD_IN_SOURCE 1 From 479622e57d7e05ca38978091a32d8d1fc5900d54 Mon Sep 17 00:00:00 2001 From: jtclemm Date: Wed, 2 Jun 2021 14:17:15 -0600 Subject: [PATCH 128/726] Adding compute fabric --- doc/src/compute_fabric.rst | 149 ++++++++++++ src/.gitignore | 2 + src/GRANULAR/compute_fabric.cpp | 407 ++++++++++++++++++++++++++++++++ src/GRANULAR/compute_fabric.h | 76 ++++++ 4 files changed, 634 insertions(+) create mode 100644 doc/src/compute_fabric.rst create mode 100644 src/GRANULAR/compute_fabric.cpp create mode 100644 src/GRANULAR/compute_fabric.h diff --git a/doc/src/compute_fabric.rst b/doc/src/compute_fabric.rst new file mode 100644 index 0000000000..1da39c248a --- /dev/null +++ b/doc/src/compute_fabric.rst @@ -0,0 +1,149 @@ +.. index:: compute fabric + +compute fabric command +============================== + +Syntax +"""""" + +.. parsed-literal:: + + compute ID group-ID fabric cutoff attribute1 attribute2 ... + +* ID, group-ID are documented in :doc:`compute ` command +* fabric = style name of this compute command +* cutoff = *type* or *radius* + + .. parsed-literal:: + + *type* = cutoffs determined for the types of the two atoms + *radius* = cutoffs determined based on finite size of atoms + +* one or more attributes may be appended + + .. parsed-literal:: + + *contact* = contact tensor + *branch* = branch tensor + *force/normal* = normal force tensor + *force/tangential* = tangential force tensor + +Examples +"""""""" + +.. code-block:: LAMMPS + + compute 1 all fabric type contact force/normal + compute 1 all fabric radius force/normal force/tangential + +Description +""""""""""" + +Define a computation that calculates various fabric tensors for pairwise +interactions. The *type* and *radius* settings are used to select whether +the compute will be used used with regular interactions with cutoffs +determined by atom types or with granular interactions with interaction +lengths determined by particle radii, respectively. + +Four fabric tensors can be computed: a contact, branch, normal force, or +tangential force tensor. The contact tensor is calculated as + +.. math:: + + C_{ab} = \frac{15}{2} (\phi_{ab} - \mathrm{tr}(\phi) \delta_{ab}) + +where :math:`a` and :math:`b` are the :math:`x`, :math:`y`, :math:`z` +directions, :math:`\delta_{ab}` is the Kronecker delta function, and +the tensor :math:`\phi` is defined as + +.. math:: + + \phi_{ab} = \sum_{n = 1}^{N_p} \frac{r_{a} r_{b}}{r^2} + +where :math:`N_p` is the number of pair interactions in the simulation, +:math:`r_{a}` is the :math:`a` component of the radial vector between the +two particles, and :math:`r` is the magnitude of the radial vector. + +The branch tensor is calculated as + +.. math:: + + B_{ab} = \frac{15}{6 tr(D)} (D_{ab} - tr(D) \delta_{ab}) + +where the tensor :math:`D` is defined as + +.. math:: + + D_{ab} = \sum_{n = 1}^{N_p} + \frac{1}{N_c (r^2 + C_{cd} r_c r_d)} + \frac{r_{a} r_{b}}{r} + +where :math:`N_c` is the total number of contacts in the system and the subscripts +:math:`c` and :math:`d` are summed according to Einstein notation. + +The normal force fabric tensor is calculated as + +.. math:: + + F^n_{ab} = \frac{15}{6 tr(N)} (N_{ab} - tr(N) \delta_{ab}) + +where the tensor :math:`N` is defined as + +.. math:: + + N_{ab} = \sum_{n = 1}^{N_p} + \frac{1}{N_c (r^2 + C_{cd} r_c r_d)} + \frac{r_{a} r_{b}}{r^2} f_n + +where :math:`f_n` is the magnitude of the normal, central-body force between the two atoms. + +Finally, the tangential force fabric tensor is only defined for pair styles that +apply tangential forces to particles, namely granular pair styles. It is calculated +as + +.. math:: + + F^t_{ab} = \frac{15}{9 tr(N)} (T_{ab} - tr(T) \delta_{ab}) + +where the tensor :math:`T` is defined as + +.. math:: + + T_{ab} = \sum_{n = 1}^{N_p} + \frac{1}{N_c (r^2 + C_{cd} r_c r_d)} + \frac{r_{a} r_{b}}{r^2} f_t + +where :math:`f_t` is the magnitude of the tagential force between the two atoms. + + +Output info +""""""""""" + +This compute calculates a local vector of doubles. The vector stores the +unique components of the first requested tensor in the order +xx, yy, zz, xy, xz, yz followed by the same components for all +subsequent tensors. The length of the vector is therefore six times +the number of requested tensors. + +Restrictions +"""""""""""" + +Currently, compute *fabric* does not support pair styles +with many-body interactions. It also does not +support models with long-range Coulombic or dispersion forces, +i.e. the kspace_style command in LAMMPS. It also does not support the +following fixes which add rigid-body constraints: :doc:`fix shake +`, :doc:`fix rattle `, :doc:`fix rigid +`, :doc:`fix rigid/small `. It does not support +granular pair styles that extend beyond the contact (e.g. JKR and DMT). + + +Related commands +"""""""""""""""" + +none + +Default +""""""" + +none diff --git a/src/.gitignore b/src/.gitignore index 72bb8a3004..97229711cb 100644 --- a/src/.gitignore +++ b/src/.gitignore @@ -379,6 +379,8 @@ /compute_erotate_rigid.h /compute_event_displace.cpp /compute_event_displace.h +/compute_fabric.cpp +/compute_fabric.h /compute_fep.cpp /compute_fep.h /compute_force_tally.cpp diff --git a/src/GRANULAR/compute_fabric.cpp b/src/GRANULAR/compute_fabric.cpp new file mode 100644 index 0000000000..d08ce0087b --- /dev/null +++ b/src/GRANULAR/compute_fabric.cpp @@ -0,0 +1,407 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include "compute_fabric.h" +#include +#include +#include +#include "atom.h" +#include "update.h" +#include "force.h" +#include "pair.h" +#include "modify.h" +#include "neighbor.h" +#include "neigh_request.h" +#include "neigh_list.h" +#include "error.h" + +using namespace LAMMPS_NS; + +enum{OTHER,GRANULAR}; +enum{TYPE,RADIUS}; +enum{CN,BR,FN,FT}; + +/* ---------------------------------------------------------------------- */ + +ComputeFabric::ComputeFabric(LAMMPS *lmp, int narg, char **arg) : + Compute(lmp, narg, arg), + tensor_style(NULL) +{ + if (narg < 3) error->all(FLERR,"Illegal compute fabric command"); + + if (strcmp(arg[3],"type") == 0) cutstyle = TYPE; + else if (strcmp(arg[3],"radius") == 0) cutstyle = RADIUS; + else error->all(FLERR,"Illegal compute fabric command"); + + if (cutstyle == RADIUS && !atom->radius_flag) + error->all(FLERR,"Compute fabric radius style requires atom attribute radius"); + + ntensors = narg - 4; + tensor_style = new int[ntensors]; + + cn_flag = 0; + br_flag = 0; + fn_flag = 0; + ft_flag = 0; + + ntensors = 0; + int iarg = 4; + while (iarg < narg) { + if (strcmp(arg[iarg],"contact") == 0) { + cn_flag = 1; + tensor_style[ntensors++] = CN; + } else if (strcmp(arg[iarg],"branch") == 0) { + br_flag = 1; + tensor_style[ntensors++] = BR; + } else if (strcmp(arg[iarg],"force/normal") == 0) { + fn_flag = 1; + tensor_style[ntensors++] = FN; + } else if (strcmp(arg[iarg],"force/tangential") == 0) { + ft_flag = 1; + tensor_style[ntensors++] = FT; + } else error->all(FLERR,"Illegal compute fabric command"); + iarg++; + } + + vector_flag = 1; + size_vector = 1+ntensors*6; + extvector = 0; + + vector = new double[size_vector]; +} + +/* ---------------------------------------------------------------------- */ + +ComputeFabric::~ComputeFabric() +{ + delete [] vector; + delete [] tensor_style; +} + +/* ---------------------------------------------------------------------- */ + +void ComputeFabric::init() +{ + if (force->pair == NULL) + error->all(FLERR,"No pair style is defined for compute fabric"); + if (force->pair->single_enable == 0 && (fn_flag || ft_flag)) + error->all(FLERR,"Pair style does not support compute fabric normal or tangential force"); + + // Find if granular or gran + pstyle = OTHER; + if (force->pair_match("granular",0) || + force->pair_match("gran/hooke",0) || + force->pair_match("gran/hertz",0) || + force->pair_match("gran/hooke/history",0) || + force->pair_match("gran/hertz/history",0)) pstyle = GRANULAR; + + if (pstyle != GRANULAR && ft_flag) + error->all(FLERR,"Pair style does not have tangential forces for compute fabric"); + + if(force->pair->beyond_contact) + error->all(FLERR, "Compute fabric does not support pair styles that extend beyond contact"); + + // need an occasional half neighbor list + // set size to same value as request made by force->pair + // this should enable it to always be a copy list (e.g. for granular pstyle) + + int irequest = neighbor->request(this,instance_me); + neighbor->requests[irequest]->pair = 0; + neighbor->requests[irequest]->compute = 1; + neighbor->requests[irequest]->occasional = 1; + NeighRequest *pairrequest = neighbor->find_request((void *) force->pair); + if (pairrequest) neighbor->requests[irequest]->size = pairrequest->size; + +} + +/* ---------------------------------------------------------------------- */ + +void ComputeFabric::init_list(int /*id*/, NeighList *ptr) +{ + list = ptr; +} + +/* ---------------------------------------------------------------------- */ + +void ComputeFabric::compute_vector() +{ + int i,j,ii,jj,inum,jnum,itype,jtype; + tagint itag,jtag; + double xtmp,ytmp,ztmp,delx,dely,delz; + double r,rinv,rsq,radsum,eng,fpair; + + double nx, ny, nz, fx, fy ,fz; + double ncinv, denom, fn, ft, prefactor; + double cn_tensor[6], br_tensor[6], ft_tensor[6], fn_tensor[6]; + double trace_phi, trace_D, trace_Xfn, trace_Xft; + double phi_ij[6] = {0.0}; + double Ac_ij[6] = {0.0}; + double D_ij[6] = {0.0}; + double Xfn_ij[6] = {0.0}; + double Xft_ij[6] = {0.0}; + int nc; + int temp_int; + double temp_dbl[6]; + + int *ilist,*jlist,*numneigh,**firstneigh; + + double **x = atom->x; + double *radius = atom->radius; + tagint *tag = atom->tag; + int *type = atom->type; + int *mask = atom->mask; + int nlocal = atom->nlocal; + int newton_pair = force->newton_pair; + + // invoke half neighbor list (will copy or build if necessary) + neighbor->build_one(list); + + inum = list->inum; + ilist = list->ilist; + numneigh = list->numneigh; + firstneigh = list->firstneigh; + + Pair *pair = force->pair; + double **cutsq = force->pair->cutsq; + + // First loop through and calculate contact fabric tensor + nc = 0; + for (ii = 0; ii < inum; ii++) { + i = ilist[ii]; + if (!(mask[i] & groupbit)) continue; + + xtmp = x[i][0]; + ytmp = x[i][1]; + ztmp = x[i][2]; + itag = tag[i]; + itype = type[i]; + jlist = firstneigh[i]; + jnum = numneigh[i]; + + for (jj = 0; jj < jnum; jj++) { + j = jlist[jj]; + j &= NEIGHMASK; + + if (!(mask[j] & groupbit)) continue; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + jtype = type[j]; + + if (cutstyle == TYPE) { + if (rsq >= cutsq[itype][jtype]) continue; + } else { + radsum = radius[i] + radius[j]; + if (rsq >= radsum*radsum) continue; + } + + nc += 1; + + r = sqrt(rsq); + rinv = 1.0/r; + nx = delx*rinv; + ny = dely*rinv; + nz = delz*rinv; + + + phi_ij[0] += nx*nx; + phi_ij[1] += ny*ny; + phi_ij[2] += nz*nz; + phi_ij[3] += nx*ny; + phi_ij[4] += nx*nz; + phi_ij[5] += ny*nz; + } + } + + //Count total contacts across processors + MPI_Allreduce(&nc,&temp_int,1,MPI_INT,MPI_SUM,world); + nc = temp_int; + + // If no contacts, everything will be zero + if (nc == 0) { + for (i = 0; i < size_vector; i ++) vector[i] = 0.0; + return; + } + + vector[ntensors*6] = nc; + ncinv = 1.0/nc; + + //Sum phi across processors + MPI_Allreduce(phi_ij,temp_dbl,6,MPI_DOUBLE,MPI_SUM,world); + for (i = 0; i < 6; i++) phi_ij[i] = temp_dbl[i]*ncinv; + + trace_phi = (1.0/3.0)*(phi_ij[0]+phi_ij[1]+phi_ij[2]); + + Ac_ij[0] = (15.0/2.0)*(phi_ij[0] - trace_phi); + Ac_ij[1] = (15.0/2.0)*(phi_ij[1] - trace_phi); + Ac_ij[2] = (15.0/2.0)*(phi_ij[2] - trace_phi); + Ac_ij[3] = (15.0/2.0)*(phi_ij[3]); + Ac_ij[4] = (15.0/2.0)*(phi_ij[4]); + Ac_ij[5] = (15.0/2.0)*(phi_ij[5]); + + // If needed, loop through and calculate other fabric tensors + if(br_flag || fn_flag || ft_flag) { + + for (ii = 0; ii < inum; ii++) { + i = ilist[ii]; + if (!(mask[i] & groupbit)) continue; + + xtmp = x[i][0]; + ytmp = x[i][1]; + ztmp = x[i][2]; + itag = tag[i]; + itype = type[i]; + jlist = firstneigh[i]; + jnum = numneigh[i]; + + for (jj = 0; jj < jnum; jj++) { + j = jlist[jj]; + j &= NEIGHMASK; + + if (!(mask[j] & groupbit)) continue; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + jtype = type[j]; + + if (cutstyle == TYPE) { + if (rsq >= cutsq[itype][jtype]) continue; + } else { + radsum = radius[i] + radius[j]; + if (rsq >= radsum*radsum) continue; + } + + if (fn_flag || ft_flag) + eng = pair->single(i,j,itype,jtype,rsq,1.0,1.0,fpair); + + r = sqrt(rsq); + rinv = 1.0/r; + nx = delx*rinv; + ny = dely*rinv; + nz = delz*rinv; + + denom = 1 + Ac_ij[0]*nx*nx + Ac_ij[1]*ny*ny + Ac_ij[2]*nz*nz; + denom += 2*Ac_ij[3]*nx*ny + 2*Ac_ij[4]*nx*nz + 2*Ac_ij[5]*ny*nz; + prefactor = ncinv/denom; + + if (br_flag) { + D_ij[0] += prefactor*nx*nx*r; + D_ij[1] += prefactor*ny*ny*r; + D_ij[2] += prefactor*nz*nz*r; + D_ij[3] += prefactor*nx*ny*r; + D_ij[4] += prefactor*nx*nz*r; + D_ij[5] += prefactor*ny*nz*r; + } + + if (fn_flag || ft_flag) { + fn = r*fpair; + + Xfn_ij[0] += prefactor*nx*nx*fn; + Xfn_ij[1] += prefactor*ny*ny*fn; + Xfn_ij[2] += prefactor*nz*nz*fn; + Xfn_ij[3] += prefactor*nx*ny*fn; + Xfn_ij[4] += prefactor*nx*nz*fn; + Xfn_ij[5] += prefactor*ny*nz*fn; + + if (ft_flag) { + ft = force->pair->svector[3]; + + Xft_ij[0] += prefactor*nx*nx*ft; + Xft_ij[1] += prefactor*ny*ny*ft; + Xft_ij[2] += prefactor*nz*nz*ft; + Xft_ij[3] += prefactor*nx*ny*ft; + Xft_ij[4] += prefactor*nx*nz*ft; + Xft_ij[5] += prefactor*ny*nz*ft; + } + } + } + } + } + + // Output results + + if (cn_flag) { + for (i = 0; i < ntensors; i ++) { + if (tensor_style[i] == CN) { + for (j = 0; j < 6; j++) vector[6*i + j] = Ac_ij[j]; + } + } + } + + if (br_flag) { + MPI_Allreduce(D_ij,temp_dbl,6,MPI_DOUBLE,MPI_SUM,world); + for (i = 0; i < 6; i++) D_ij[i] = temp_dbl[i]; + + trace_D = (1.0/3.0)*(D_ij[0]+D_ij[1]+D_ij[2]); + + br_tensor[0] = (15.0/(6.0*trace_D))*(D_ij[0] - trace_D); + br_tensor[1] = (15.0/(6.0*trace_D))*(D_ij[1] - trace_D); + br_tensor[2] = (15.0/(6.0*trace_D))*(D_ij[2] - trace_D); + br_tensor[3] = (15.0/(6.0*trace_D))*(D_ij[3]); + br_tensor[4] = (15.0/(6.0*trace_D))*(D_ij[4]); + br_tensor[5] = (15.0/(6.0*trace_D))*(D_ij[5]); + + for (i = 0; i < ntensors; i ++) { + if (tensor_style[i] == BR) { + for (j = 0; j < 6; j++) vector[6*i + j] = br_tensor[j]; + } + } + } + + if (fn_flag || ft_flag) { + MPI_Allreduce(Xfn_ij,temp_dbl,6,MPI_DOUBLE,MPI_SUM,world); + for (i = 0; i < 6; i++) Xfn_ij[i] = temp_dbl[i]; + + trace_Xfn = (1.0/3.0)*(Xfn_ij[0]+Xfn_ij[1]+Xfn_ij[2]); + } + + if (fn_flag) { + + fn_tensor[0] = (15.0/(6.0*trace_Xfn))*(Xfn_ij[0] - trace_Xfn); + fn_tensor[1] = (15.0/(6.0*trace_Xfn))*(Xfn_ij[1] - trace_Xfn); + fn_tensor[2] = (15.0/(6.0*trace_Xfn))*(Xfn_ij[2] - trace_Xfn); + fn_tensor[3] = (15.0/(6.0*trace_Xfn))*(Xfn_ij[3]); + fn_tensor[4] = (15.0/(6.0*trace_Xfn))*(Xfn_ij[4]); + fn_tensor[5] = (15.0/(6.0*trace_Xfn))*(Xfn_ij[5]); + + for (i = 0; i < ntensors; i ++) { + if (tensor_style[i] == FN) { + for (j = 0; j < 6; j++) vector[6*i + j] = fn_tensor[j]; + } + } + } + + if (ft_flag) { + MPI_Allreduce(Xft_ij,temp_dbl,6,MPI_DOUBLE,MPI_SUM,world); + for (i = 0; i < 6; i++) Xft_ij[i] = temp_dbl[i]; + + trace_Xft = (1.0/3.0)*(Xft_ij[0]+Xft_ij[1]+Xft_ij[2]); + + ft_tensor[0] = (15.0/(9.0*trace_Xfn))*(Xft_ij[0] - trace_Xft); + ft_tensor[1] = (15.0/(9.0*trace_Xfn))*(Xft_ij[1] - trace_Xft); + ft_tensor[2] = (15.0/(9.0*trace_Xfn))*(Xft_ij[2] - trace_Xft); + ft_tensor[3] = (15.0/(9.0*trace_Xfn))*(Xft_ij[3]); + ft_tensor[4] = (15.0/(9.0*trace_Xfn))*(Xft_ij[4]); + ft_tensor[5] = (15.0/(9.0*trace_Xfn))*(Xft_ij[5]); + + for (i = 0; i < ntensors; i ++) { + if (tensor_style[i] == FT) { + for (j = 0; j < 6; j++) vector[6*i + j] = ft_tensor[j]; + } + } + } +} diff --git a/src/GRANULAR/compute_fabric.h b/src/GRANULAR/compute_fabric.h new file mode 100644 index 0000000000..a65fc50c61 --- /dev/null +++ b/src/GRANULAR/compute_fabric.h @@ -0,0 +1,76 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef COMPUTE_CLASS + +ComputeStyle(fabric,ComputeFabric) + +#else + +#ifndef LMP_COMPUTE_FABRIC_H +#define LMP_COMPUTE_FABRIC_H + +#include "compute.h" + +namespace LAMMPS_NS { + +class ComputeFabric : public Compute { + public: + ComputeFabric(class LAMMPS *, int, char **); + ~ComputeFabric(); + void init(); + void init_list(int, class NeighList *); + void compute_vector(); + + private: + int ntensors, pstyle, cutstyle; + int *tensor_style; + class NeighList *list; + + int cn_flag, br_flag, fn_flag, ft_flag; +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +E: Illegal ... command + +Self-explanatory. Check the input script syntax and compare to the +documentation for the command. You can use -echo screen as a +command-line option when running LAMMPS to see the offending line. + +E: Compute fabric radius style requires atom attribute radius + +Self-explanatory. + +E: No pair style is defined for compute fabric + +Self-explanatory. + +E: Pair style does not support compute fabric normal or tangential force + +Pair style must be single enabled to calculate the normal or tangential force tensors + +E: Pair style does not have tangential forces for compute fabric + +The tangential force tensor can only be calculated for granular pair styles + +E: Compute fabric does not support pair styles that extend beyond contact + +Granular pair styles that extend beyond contact such as JKR or DMT are not supported + +*/ From 9e7b50205017e07668230c2b824a2192b66b1620 Mon Sep 17 00:00:00 2001 From: jtclemm Date: Wed, 2 Jun 2021 14:18:26 -0600 Subject: [PATCH 129/726] Removing leftover files --- src/fix_pair_tracker.cpp | 376 ------------------------------ src/fix_pair_tracker.h | 92 -------- src/pair_tracker.cpp | 489 --------------------------------------- src/pair_tracker.h | 91 -------- 4 files changed, 1048 deletions(-) delete mode 100644 src/fix_pair_tracker.cpp delete mode 100644 src/fix_pair_tracker.h delete mode 100644 src/pair_tracker.cpp delete mode 100644 src/pair_tracker.h diff --git a/src/fix_pair_tracker.cpp b/src/fix_pair_tracker.cpp deleted file mode 100644 index 5e0d27b79e..0000000000 --- a/src/fix_pair_tracker.cpp +++ /dev/null @@ -1,376 +0,0 @@ -/* ---------------------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#include "fix_pair_tracker.h" -#include "atom.h" -#include "atom_vec.h" -#include "error.h" -#include "group.h" -#include "memory.h" -#include "modify.h" -#include "tokenizer.h" -#include "update.h" - -#include - -using namespace LAMMPS_NS; -using namespace FixConst; - -#define DELTA 1000 - -/* ---------------------------------------------------------------------- */ - -FixPairTracker::FixPairTracker(LAMMPS *lmp, int narg, char **arg) : - Fix(lmp, narg, arg), - nvalues(0), - array(NULL), vector(NULL), pack_choice(NULL) -{ - if (narg < 3) error->all(FLERR,"Illegal fix pair/tracker command"); - local_flag = 1; - - nevery = utils::inumeric(FLERR,arg[3],false,lmp); - if (nevery <= 0) error->all(FLERR,"Illegal fix pair/tracker command"); - local_freq = nevery; - - // If optional arguments included, this will be oversized - nvalues = narg - 4; - pack_choice = new FnPtrPack[nvalues]; - - tmin = -1; - type_filter = nullptr; - int iarg = 4; - nvalues = 0; - while (iarg < narg) { - if (strcmp(arg[iarg],"id1") == 0) { - pack_choice[nvalues++] = &FixPairTracker::pack_id1; - } else if (strcmp(arg[iarg],"id2") == 0) { - pack_choice[nvalues++] = &FixPairTracker::pack_id2; - - } else if (strcmp(arg[iarg],"time/created") == 0) { - pack_choice[nvalues++] = &FixPairTracker::pack_time_created; - } else if (strcmp(arg[iarg],"time/broken") == 0) { - pack_choice[nvalues++] = &FixPairTracker::pack_time_broken; - } else if (strcmp(arg[iarg],"time/total") == 0) { - pack_choice[nvalues++] = &FixPairTracker::pack_time_total; - - } else if (strcmp(arg[iarg],"x") == 0) { - pack_choice[nvalues++] = &FixPairTracker::pack_x; - } else if (strcmp(arg[iarg],"y") == 0) { - pack_choice[nvalues++] = &FixPairTracker::pack_y; - } else if (strcmp(arg[iarg],"z") == 0) { - pack_choice[nvalues++] = &FixPairTracker::pack_z; - - } else if (strcmp(arg[iarg],"r/min") == 0) { - pack_choice[nvalues++] = &FixPairTracker::pack_rmin; - } else if (strcmp(arg[iarg],"r/ave") == 0) { - pack_choice[nvalues++] = &FixPairTracker::pack_rave; - - } else if (strcmp(arg[iarg],"time/min") == 0) { - if (iarg + 1 >= narg) error->all(FLERR, "Invalid keyword in fix pair/tracker command"); - tmin = utils::numeric(FLERR,arg[iarg+1],false,lmp); - iarg ++; - - } else if (strcmp(arg[iarg],"type/include") == 0) { - if (iarg + 1 >= narg) error->all(FLERR, "Invalid keyword in fix pair/tracker command"); - int ntypes = atom->ntypes; - - int i, j, itype, jtype, in, jn, infield, jnfield; - int inlo, inhi, jnlo, jnhi; - char *istr, *jstr; - if (! type_filter) { - memory->create(type_filter,ntypes+1,ntypes+1,"fix/pair/tracker:type_filter"); - - for (i = 0; i <= ntypes; i ++) { - for (j = 0; j <= ntypes; j ++) { - type_filter[i][j] = 0; - } - } - } - - in = strlen(arg[iarg+1]) + 1; - istr = new char[in]; - strcpy(istr,arg[iarg+1]); - std::vector iwords = Tokenizer(istr, ",").as_vector(); - infield = iwords.size(); - - jn = strlen(arg[iarg+2]) + 1; - jstr = new char[jn]; - strcpy(jstr,arg[iarg+2]); - std::vector jwords = Tokenizer(jstr, ",").as_vector(); - jnfield = jwords.size(); - - for (i = 0; i < infield; i++) { - const char * ifield = iwords[i].c_str(); - utils::bounds(FLERR,ifield,1,ntypes,inlo,inhi,error); - - for (j = 0; j < jnfield; j++) { - const char * jfield = jwords[j].c_str(); - utils::bounds(FLERR,jfield,1,ntypes,jnlo,jnhi,error); - - for (itype = inlo; itype <= inhi; itype++) { - for (jtype = jnlo; jtype <= jnhi; jtype++) { - type_filter[itype][jtype] = 1; - type_filter[jtype][itype] = 1; - } - } - } - } - - delete [] istr; - delete [] jstr; - - iarg += 2; - - } else error->all(FLERR, "Invalid keyword in fix pair/tracker command"); - - iarg ++; - } - - if (nvalues == 1) size_local_cols = 0; - else size_local_cols = nvalues; - - nmax = 0; - ncount = 0; - vector = NULL; - array = NULL; -} - -/* ---------------------------------------------------------------------- */ - -FixPairTracker::~FixPairTracker() -{ - delete [] pack_choice; - - memory->destroy(vector); - memory->destroy(array); - memory->destroy(type_filter); -} - -/* ---------------------------------------------------------------------- */ - -int FixPairTracker::setmask() -{ - int mask = 0; - mask |= POST_FORCE; - return mask; -} - -/* ---------------------------------------------------------------------- */ - -void FixPairTracker::init() -{ - // Set size of array/vector - ncount = 0; - - if (ncount > nmax) - reallocate(ncount); - - size_local_rows = ncount; -} - -/* ---------------------------------------------------------------------- */ - -void FixPairTracker::lost_contact(int i, int j, double time_tmp, double nstep_tmp, double rsum_tmp, double rmin_tmp) -{ - - double time = update->atime + (update->ntimestep-update->atimestep)*update->dt; - if ((time-time_tmp) < tmin) return; - - if (type_filter) { - int *type = atom->type; - if (type_filter[type[i]][type[j]] == 0) return; - } - - int *mask = atom->mask; - if (!(mask[i] & groupbit)) return; - if (!(mask[j] & groupbit)) return; - - if (ncount == nmax) reallocate(ncount); - - index_i = i; - index_j = j; - - rmin = rmin_tmp; - rsum = rsum_tmp; - time_initial = time_tmp; - nstep_initial = nstep_tmp; - - // fill vector or array with local values - if (nvalues == 1) { - (this->*pack_choice[0])(0); - } else { - for (int k = 0; k < nvalues; k++) { - (this->*pack_choice[k])(k); - } - } - - ncount += 1; -} - -/* ---------------------------------------------------------------------- */ - -void FixPairTracker::post_force(int /*vflag*/) -{ - if (update->ntimestep % nevery == 0) { - size_local_rows = ncount; - ncount = 0; - } -} - - -/* ---------------------------------------------------------------------- */ - -void FixPairTracker::reallocate(int n) -{ - // grow vector or array - while (nmax <= n) nmax += DELTA; - - if (nvalues == 1) { - memory->grow(vector,nmax,"fix_pair_tracker:vector"); - vector_local = vector; - } else { - memory->grow(array,nmax,nvalues,"fix_pair_tracker:array"); - array_local = array; - } -} - -/* ---------------------------------------------------------------------- - memory usage of local data -------------------------------------------------------------------------- */ - -double FixPairTracker::memory_usage() -{ - double bytes = nmax*nvalues * sizeof(double); - bytes += nmax*2 * sizeof(int); - return bytes; -} - -/* ---------------------------------------------------------------------- - one method for every keyword fix pair/tracker can output - the atom property is packed into the local vector or array -------------------------------------------------------------------------- */ - -/* ---------------------------------------------------------------------- */ - -void FixPairTracker::pack_time_created(int n) -{ - if (nvalues == 1) - vector[ncount] = time_initial; - else - array[ncount][n] = time_initial; -} - -/* ---------------------------------------------------------------------- */ - -void FixPairTracker::pack_time_broken(int n) -{ - double time = update->atime + (update->ntimestep-update->atimestep)*update->dt; - if (nvalues == 1) - vector[ncount] = time; - else - array[ncount][n] = time; -} - -/* ---------------------------------------------------------------------- */ - -void FixPairTracker::pack_time_total(int n) -{ - double time = update->atime + (update->ntimestep-update->atimestep)*update->dt; - if (nvalues == 1) - vector[ncount] = time-time_initial; - else - array[ncount][n] = time-time_initial; -} - - -/* ---------------------------------------------------------------------- */ - -void FixPairTracker::pack_id1(int n) -{ - tagint *tag = atom->tag; - - if (nvalues == 1) - vector[ncount] = tag[index_i]; - else - array[ncount][n] = tag[index_i]; -} - -/* ---------------------------------------------------------------------- */ - -void FixPairTracker::pack_id2(int n) -{ - tagint *tag = atom->tag; - - if (nvalues == 1) - vector[ncount] = tag[index_j]; - else - array[ncount][n] = tag[index_j]; -} - -/* ---------------------------------------------------------------------- */ - -void FixPairTracker::pack_x(int n) -{ - double **x = atom->x; - - if (nvalues == 1) - vector[ncount] = (x[index_i][0] + x[index_j][0])/2; - else - array[ncount][n] = (x[index_i][0] + x[index_j][0])/2; -} - - -/* ---------------------------------------------------------------------- */ - -void FixPairTracker::pack_y(int n) -{ - double **x = atom->x; - - if (nvalues == 1) - vector[ncount] = (x[index_i][1] + x[index_j][1])/2; - else - array[ncount][n] = (x[index_i][1] + x[index_j][1])/2; -} - - -/* ---------------------------------------------------------------------- */ - -void FixPairTracker::pack_z(int n) -{ - double **x = atom->x; - - if (nvalues == 1) - vector[ncount] = (x[index_i][2] + x[index_j][2])/2; - else - array[ncount][n] = (x[index_i][2] + x[index_j][2])/2; -} - -/* ---------------------------------------------------------------------- */ - -void FixPairTracker::pack_rmin(int n) -{ - if (nvalues == 1) - vector[ncount] = rmin; - else - array[ncount][n] = rmin; -} - -/* ---------------------------------------------------------------------- */ - -void FixPairTracker::pack_rave(int n) -{ - if (nvalues == 1) - vector[ncount] = rsum/(update->ntimestep-nstep_initial); - else - array[ncount][n] = rsum/(update->ntimestep-nstep_initial); -} diff --git a/src/fix_pair_tracker.h b/src/fix_pair_tracker.h deleted file mode 100644 index 7977357022..0000000000 --- a/src/fix_pair_tracker.h +++ /dev/null @@ -1,92 +0,0 @@ -/* ---------------------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#ifdef FIX_CLASS - -FixStyle(pair/tracker,FixPairTracker) - -#else - -#ifndef LMP_FIX_PAIR_TRACKING_H -#define LMP_FIX_PAIR_TRACKING_H - -#include "fix.h" - -namespace LAMMPS_NS { - -class FixPairTracker : public Fix { - public: - FixPairTracker(class LAMMPS *, int, char **); - ~FixPairTracker(); - int setmask(); - void init(); - void post_force(int); - double memory_usage(); - void lost_contact(int, int, double, double, double, double); - - private: - int nvalues, never; - int nmax; - int store_flag; - int index_i, index_j; - double tmin, rmin, rsum, time_initial, nstep_initial; - - double *vector; - double **array; - int **type_filter; - - double lx; - double ly; - double lz; - - int ncount; - - void reallocate(int); - - typedef void (FixPairTracker::*FnPtrPack)(int); - FnPtrPack *pack_choice; // ptrs to pack functions - - void pack_id1(int); - void pack_id2(int); - - void pack_time_created(int); - void pack_time_broken(int); - void pack_time_total(int); - - void pack_x(int); - void pack_y(int); - void pack_z(int); - - void pack_rmin(int); - void pack_rave(int); - -}; - -} - -#endif -#endif - -/* ERROR/WARNING messages: - -E: Illegal ... command - -Self-explanatory. Check the input script syntax and compare to the -documentation for the command. You can use -echo screen as a -command-line option when running LAMMPS to see the offending line. - -E: Invalid keyword in fix pair/tracker command - -Self-explanatory. - -*/ diff --git a/src/pair_tracker.cpp b/src/pair_tracker.cpp deleted file mode 100644 index e3fd64d0d6..0000000000 --- a/src/pair_tracker.cpp +++ /dev/null @@ -1,489 +0,0 @@ -/* ---------------------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - https://lammps.sandia.gov/, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#include "pair_tracker.h" -#include "atom.h" -#include "comm.h" -#include "error.h" -#include "fix.h" -#include "fix_dummy.h" -#include "fix_neigh_history.h" -#include "fix_pair_tracker.h" -#include "force.h" -#include "memory.h" -#include "modify.h" -#include "neighbor.h" -#include "neigh_list.h" -#include "neigh_request.h" -#include "update.h" - -using namespace LAMMPS_NS; - -/* ---------------------------------------------------------------------- */ - -PairTracker::PairTracker(LAMMPS *lmp) : Pair(lmp) -{ - single_enable = 1; - no_virial_fdotr_compute = 1; - - neighprev = 0; - history = 1; - size_history = 4; - nondefault_history_transfer = 1; - - finitecutflag = 0; - - // create dummy fix as placeholder for FixNeighHistory - // this is so final order of Modify:fix will conform to input script - - fix_history = nullptr; - modify->add_fix("NEIGH_HISTORY_TRACK_DUMMY all DUMMY"); - fix_dummy = (FixDummy *) modify->fix[modify->nfix-1]; -} - -/* ---------------------------------------------------------------------- */ - -PairTracker::~PairTracker() -{ - if (!fix_history) modify->delete_fix("NEIGH_HISTORY_TRACK_DUMMY"); - else modify->delete_fix("NEIGH_HISTORY_TRACK"); - - if (allocated) { - memory->destroy(setflag); - memory->destroy(cutsq); - memory->destroy(cut); - - delete [] onerad_dynamic; - delete [] onerad_frozen; - delete [] maxrad_dynamic; - delete [] maxrad_frozen; - } -} - -/* ---------------------------------------------------------------------- */ - -void PairTracker::compute(int eflag, int vflag) -{ - int i,j,ii,jj,inum,jnum,itype,jtype; - double xtmp,ytmp,ztmp,delx,dely,delz,time; - double radi,radj,radsum,rsq,r; - int *ilist,*jlist,*numneigh,**firstneigh; - int *touch,**firsttouch; - double *data,*alldata,**firstdata; - - int updateflag = 1; - if (update->setupflag) updateflag = 0; - ev_init(eflag,vflag); - - double **x = atom->x; - double *radius = atom->radius; - int *type = atom->type; - int *mask = atom->mask; - int nlocal = atom->nlocal; - int newton_pair = force->newton_pair; - - inum = list->inum; - ilist = list->ilist; - numneigh = list->numneigh; - firstneigh = list->firstneigh; - firsttouch = fix_history->firstflag; - firstdata = fix_history->firstvalue; - - // loop over neighbors of my atoms - for (ii = 0; ii < inum; ii++) { - i = ilist[ii]; - xtmp = x[i][0]; - ytmp = x[i][1]; - ztmp = x[i][2]; - if (finitecutflag) radi = radius[i]; - itype = type[i]; - touch = firsttouch[i]; - alldata = firstdata[i]; - jlist = firstneigh[i]; - jnum = numneigh[i]; - - for (jj = 0; jj < jnum; jj++) { - j = jlist[jj]; - j &= NEIGHMASK; - - delx = xtmp - x[j][0]; - dely = ytmp - x[j][1]; - delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; - r = sqrt(rsq); - - if (finitecutflag) { - radj = radius[j]; - radsum = radi + radj; - - if (rsq >= radsum*radsum) { - - data = &alldata[size_history*jj]; - if(touch[jj] == 1) { - fix_pair_tracker->lost_contact(i, j, data[0], data[1], data[2], data[3]); - } - touch[jj] = 0; - data[0] = 0.0; // initial time - data[1] = 0.0; // initial timestep - data[2] = 0.0; // sum of r, may overflow - data[3] = 0.0; // min of r - - } else { - - data = &alldata[size_history*jj]; - if (touch[jj] == 0) { - time = update->atime + (update->ntimestep-update->atimestep)*update->dt; - data[0] = time; - data[1] = (double) update->ntimestep; - data[2] = r; - data[3] = r; - } else if (updateflag) { - data[2] += r; - if(data[3] > r) data[3] = r; - } - touch[jj] = 1; - } - } else { - jtype = type[j]; - if (rsq >= cutsq[itype][jtype]) { - - data = &alldata[size_history*jj]; - if(touch[jj] == 1) { - fix_pair_tracker->lost_contact(i, j, data[0], data[1], data[2], data[3]); - } - - touch[jj] = 0; - data[0] = 0.0; // initial time - data[1] = 0.0; // initial timestep - data[2] = 0.0; // sum of r, may overflow - data[3] = 0.0; // min of r - - } else { - - data = &alldata[size_history*jj]; - if (touch[jj] == 0) { - time = update->atime + (update->ntimestep-update->atimestep)*update->dt; - data[0] = time; - data[1] = (double) update->ntimestep; - data[2] = r; - data[3] = r; - } else if (updateflag) { - data[2] += r; - if(data[3] > r) data[3] = r; - } - touch[jj] = 1; - } - } - } - } -} - -/* ---------------------------------------------------------------------- - allocate all arrays -------------------------------------------------------------------------- */ - -void PairTracker::allocate() -{ - allocated = 1; - int n = atom->ntypes; - - memory->create(setflag,n+1,n+1,"pair:setflag"); - for (int i = 1; i <= n; i++) - for (int j = i; j <= n; j++) - setflag[i][j] = 0; - - memory->create(cutsq,n+1,n+1,"pair:cutsq"); - memory->create(cut,n+1,n+1,"pair:cut"); - - onerad_dynamic = new double[n+1]; - onerad_frozen = new double[n+1]; - maxrad_dynamic = new double[n+1]; - maxrad_frozen = new double[n+1]; -} - -/* ---------------------------------------------------------------------- - global settings -------------------------------------------------------------------------- */ - -void PairTracker::settings(int narg, char **arg) -{ - if (narg != 0 && narg != 1) error->all(FLERR,"Illegal pair_style command"); - - if (narg == 1) { - if (strcmp(arg[0], "finite") == 0) finitecutflag = 1; - else error->all(FLERR,"Illegal pair_style command"); - } -} - -/* ---------------------------------------------------------------------- - set coeffs for one or more type pairs -------------------------------------------------------------------------- */ - -void PairTracker::coeff(int narg, char **arg) -{ - if (narg > 2 && finitecutflag) error->all(FLERR,"Incorrect args for pair coefficients"); - if (narg != 3 && !finitecutflag) error->all(FLERR,"Incorrect args for pair coefficients"); - if (!allocated) allocate(); - - int ilo,ihi,jlo,jhi; - utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); - utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - - double cut_one = 0.0; - if (!finitecutflag) cut_one = utils::numeric(FLERR,arg[2],false,lmp); - - int count = 0; - for (int i = ilo; i <= ihi; i++) { - for (int j = MAX(jlo,i); j <= jhi; j++) { - setflag[i][j] = 1; - cut[i][j] = cut_one; - count++; - } - } - - if (count == 0) error->all(FLERR,"Incorrect args for pair coefficients"); -} - -/* ---------------------------------------------------------------------- - init specific to this pair style -------------------------------------------------------------------------- */ - -void PairTracker::init_style() -{ - int i; - - // error and warning checks - - if (!atom->radius_flag && finitecutflag) - error->all(FLERR,"Pair tracker requires atom attribute radius for finite cutoffs"); - - // need a history neigh list - - int irequest = neighbor->request(this,instance_me); - if (finitecutflag) neighbor->requests[irequest]->size = 1; - neighbor->requests[irequest]->history = 1; - - // if history is stored and first init, create Fix to store history - // it replaces FixDummy, created in the constructor - // this is so its order in the fix list is preserved - - if (fix_history == nullptr) { - char dnumstr[16]; - sprintf(dnumstr,"%d",size_history); - char **fixarg = new char*[4]; - fixarg[0] = (char *) "NEIGH_HISTORY_TRACK"; - fixarg[1] = (char *) "all"; - fixarg[2] = (char *) "NEIGH_HISTORY"; - fixarg[3] = dnumstr; - modify->replace_fix("NEIGH_HISTORY_TRACK_DUMMY",4,fixarg,1); - delete [] fixarg; - int ifix = modify->find_fix("NEIGH_HISTORY_TRACK"); - fix_history = (FixNeighHistory *) modify->fix[ifix]; - fix_history->pair = this; - fix_history->use_bit_flag = 0; - } - - if (finitecutflag) { - - if(force->pair->beyond_contact) - error->all(FLERR, "Pair tracker incompatible with granular pairstyles that extend beyond contact"); - // check for FixPour and FixDeposit so can extract particle radii - - int ipour; - for (ipour = 0; ipour < modify->nfix; ipour++) - if (strcmp(modify->fix[ipour]->style,"pour") == 0) break; - if (ipour == modify->nfix) ipour = -1; - - int idep; - for (idep = 0; idep < modify->nfix; idep++) - if (strcmp(modify->fix[idep]->style,"deposit") == 0) break; - if (idep == modify->nfix) idep = -1; - - // set maxrad_dynamic and maxrad_frozen for each type - // include future FixPour and FixDeposit particles as dynamic - - int itype; - for (i = 1; i <= atom->ntypes; i++) { - onerad_dynamic[i] = onerad_frozen[i] = 0.0; - if (ipour >= 0) { - itype = i; - onerad_dynamic[i] = - *((double *) modify->fix[ipour]->extract("radius",itype)); - } - if (idep >= 0) { - itype = i; - onerad_dynamic[i] = - *((double *) modify->fix[idep]->extract("radius",itype)); - } - } - - double *radius = atom->radius; - int *mask = atom->mask; - int *type = atom->type; - int nlocal = atom->nlocal; - - for (i = 0; i < nlocal; i++) - if (mask[i] & freeze_group_bit) - onerad_frozen[type[i]] = MAX(onerad_frozen[type[i]],radius[i]); - else - onerad_dynamic[type[i]] = MAX(onerad_dynamic[type[i]],radius[i]); - - MPI_Allreduce(&onerad_dynamic[1],&maxrad_dynamic[1],atom->ntypes, - MPI_DOUBLE,MPI_MAX,world); - MPI_Allreduce(&onerad_frozen[1],&maxrad_frozen[1],atom->ntypes, - MPI_DOUBLE,MPI_MAX,world); - } - - int ifix = modify->find_fix("NEIGH_HISTORY_TRACK"); - if (ifix < 0) error->all(FLERR,"Could not find pair fix neigh history ID"); - fix_history = (FixNeighHistory *) modify->fix[ifix]; - - ifix = modify->find_fix_by_style("pair/tracker"); - if(ifix < 0) error->all(FLERR,"Cannot use pair tracker without fix pair/tracker"); - fix_pair_tracker = (FixPairTracker *) modify->fix[ifix]; -} - -/* ---------------------------------------------------------------------- - init for one type pair i,j and corresponding j,i -------------------------------------------------------------------------- */ - -double PairTracker::init_one(int i, int j) -{ - if (!allocated) allocate(); - - // always mix prefactors geometrically - - if (setflag[i][j] == 0) { - cut[i][j] = mix_distance(cut[i][i],cut[j][j]); - } - - cut[j][i] = cut[i][j]; - - // if finite, cutoff = sum of max I,J radii for - // dynamic/dynamic & dynamic/frozen interactions, but not frozen/frozen - double cutoff; - if (finitecutflag) { - cutoff = maxrad_dynamic[i]+maxrad_dynamic[j]; - cutoff = MAX(cutoff,maxrad_frozen[i]+maxrad_dynamic[j]); - cutoff = MAX(cutoff,maxrad_dynamic[i]+maxrad_frozen[j]); - } else { - cutoff = cut[i][j]; - } - return cutoff; -} - -/* ---------------------------------------------------------------------- - proc 0 writes to restart file -------------------------------------------------------------------------- */ - -void PairTracker::write_restart(FILE *fp) -{ - write_restart_settings(fp); - - int i,j; - for (i = 1; i <= atom->ntypes; i++) - for (j = i; j <= atom->ntypes; j++) { - fwrite(&setflag[i][j],sizeof(int),1,fp); - if (setflag[i][j]) { - fwrite(&cut[i][j],sizeof(double),1,fp); - } - } -} - -/* ---------------------------------------------------------------------- - proc 0 reads from restart file, bcasts -------------------------------------------------------------------------- */ - -void PairTracker::read_restart(FILE *fp) -{ - read_restart_settings(fp); - allocate(); - - int i,j; - int me = comm->me; - for (i = 1; i <= atom->ntypes; i++) - for (j = i; j <= atom->ntypes; j++) { - if (me == 0) utils::sfread(FLERR,&setflag[i][j],sizeof(int),1,fp,nullptr,error); - MPI_Bcast(&setflag[i][j],1,MPI_INT,0,world); - if (setflag[i][j]) { - if (me == 0) { - utils::sfread(FLERR,&cut[i][j],sizeof(double),1,fp,nullptr,error); - } - MPI_Bcast(&cut[i][j],1,MPI_DOUBLE,0,world); - } - } -} - -/* ---------------------------------------------------------------------- - proc 0 writes to restart file -------------------------------------------------------------------------- */ - -void PairTracker::write_restart_settings(FILE *fp) -{ - fwrite(&mix_flag,sizeof(int),1,fp); -} - -/* ---------------------------------------------------------------------- - proc 0 reads from restart file, bcasts -------------------------------------------------------------------------- */ - -void PairTracker::read_restart_settings(FILE *fp) -{ - if (comm->me == 0) { - utils::sfread(FLERR,&mix_flag,sizeof(int),1,fp,nullptr,error); - } - MPI_Bcast(&mix_flag,1,MPI_INT,0,world); -} - -/* ---------------------------------------------------------------------- */ - -double PairTracker::single(int i, int j, int /*itype*/, int /*jtype*/, - double rsq, - double /*factor_coul*/, double /*factor_lj*/, - double &fforce) -{ - return 0.0; -} - -/* ---------------------------------------------------------------------- - transfer history during fix/neigh/history exchange - only needed if any history entries i-j are not just negative of j-i entries -------------------------------------------------------------------------- */ - -void PairTracker::transfer_history(double* source, double* target) -{ - for (int i = 0; i < size_history; i++) - target[i] = source[i]; -} - - -/* ---------------------------------------------------------------------- - self-interaction range of particle if finite particles -------------------------------------------------------------------------- */ - -double PairTracker::atom2cut(int i) -{ - double cut = atom->radius[i]*2; - return cut; -} - -/* ---------------------------------------------------------------------- - maximum interaction range for two finite particles -------------------------------------------------------------------------- */ - -double PairTracker::radii2cut(double r1, double r2) -{ - double cut = r1+r2; - return cut; -} - diff --git a/src/pair_tracker.h b/src/pair_tracker.h deleted file mode 100644 index dced79977d..0000000000 --- a/src/pair_tracker.h +++ /dev/null @@ -1,91 +0,0 @@ -/* -*- c++ -*- ---------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - https://lammps.sandia.gov/, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#ifdef PAIR_CLASS - -PairStyle(tracker,PairTracker) - -#else - -#ifndef LMP_PAIR_TRACKER_H -#define LMP_PAIR_TRACKER_H - -#include "pair.h" - -namespace LAMMPS_NS { - -class PairTracker : public Pair { - public: - PairTracker(class LAMMPS *); - virtual ~PairTracker(); - virtual void compute(int, int); - virtual void settings(int, char **); - void coeff(int, char **); - void init_style(); - double init_one(int, int); - void write_restart(FILE *); - void read_restart(FILE *); - void write_restart_settings(FILE *); - void read_restart_settings(FILE *); - virtual double single(int, int, int, int, double, double, double, double &); - double atom2cut(int); - double radii2cut(double,double); - - protected: - int sizeflag; - int history; - int size_history; - int neighprev; - double **cut; - double *onerad_dynamic,*onerad_frozen; - double *maxrad_dynamic,*maxrad_frozen; - int freeze_group_bit; - - class FixDummy *fix_dummy; - class FixNeighHistory *fix_history; - class FixPairTracker *fix_pair_tracker; - - void transfer_history(double*, double*); - void allocate(); -}; - -} - -#endif -#endif - -/* ERROR/WARNING messages: - -E: Illegal ... command - -Self-explanatory. Check the input script syntax and compare to the -documentation for the command. You can use -echo screen as a -command-line option when running LAMMPS to see the offending line. - -E: Incorrect args for pair coefficients - -Self-explanatory. Check the input script or data file. - -E: Pair tracker requires atom attribute radius for finite cutoffs - -The atom style defined does not have these attributes. - -E: Could not find pair fix neigh history ID - -The associated fix neigh/history is missing - -E: Cannot use pair tracker without fix pair/tracker - -This pairstyle requires one to define a pair/tracker fix - -*/ From 415f33134b037b48971c6f36f99a6a5b5d1dcb32 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 3 Jun 2021 13:12:43 -0400 Subject: [PATCH 130/726] fix typos in Kolmolgorov-Crespi potential formula --- doc/src/pair_kolmogorov_crespi_full.rst | 2 +- doc/src/pair_kolmogorov_crespi_z.rst | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/src/pair_kolmogorov_crespi_full.rst b/doc/src/pair_kolmogorov_crespi_full.rst index 6c9817cd5e..858b0eb984 100644 --- a/doc/src/pair_kolmogorov_crespi_full.rst +++ b/doc/src/pair_kolmogorov_crespi_full.rst @@ -36,7 +36,7 @@ No simplification is made, .. math:: E = & \frac{1}{2} \sum_i \sum_{j \neq i} V_{ij} \\ - V_{ij} = & e^{-\lambda (r_{ij} -z_0)} \left [ C + f(\rho_{ij}) + f(\rho_{ji}) - A \left ( \frac{r_{ij}}{z_0}\right )^{-6} \right ] \\ + V_{ij} = & e^{-\lambda (r_{ij} -z_0)} \left [ C + f(\rho_{ij}) + f(\rho_{ji}) \right ] - A \left ( \frac{r_{ij}}{z_0}\right )^{-6} \\ \rho_{ij}^2 = & r_{ij}^2 - ({\bf r}_{ij}\cdot {\bf n}_{i})^2 \\ \rho_{ji}^2 = & r_{ij}^2 - ({\bf r}_{ij}\cdot {\bf n}_{j})^2 \\ f(\rho) & = e^{-(\rho/\delta)^2} \sum_{n=0}^2 C_{2n} { (\rho/\delta) }^{2n} diff --git a/doc/src/pair_kolmogorov_crespi_z.rst b/doc/src/pair_kolmogorov_crespi_z.rst index 942ef85836..bd02221074 100644 --- a/doc/src/pair_kolmogorov_crespi_z.rst +++ b/doc/src/pair_kolmogorov_crespi_z.rst @@ -33,7 +33,7 @@ which is to take all normals along the z-axis. .. math:: E = & \frac{1}{2} \sum_i \sum_{j \neq i} V_{ij} \\ - V_{ij} = & e^{-\lambda(r_{ij} -z_0}) \left[ C + f(\rho_{ij}) + f(\rho_{ji}) \right] - A \left( \frac{r_{ij}}{z_0}\right)^{-6} + A \left( \frac{\textrm{cutoff}}{z_0}\right)^{-6} \\ + V_{ij} = & e^{-\lambda(r_{ij} -z_0)} \left[ C + f(\rho_{ij}) + f(\rho_{ji}) \right] - A \left( \frac{r_{ij}}{z_0}\right)^{-6} + A \left( \frac{\textrm{cutoff}}{z_0}\right)^{-6} \\ \rho_{ij}^2 = & \rho_{ji}^2 = x_{ij}^2 + y_{ij}^2 \qquad \qquad (\mathbf{n}_i \equiv \mathbf{\hat{z}}) \\ f(\rho) = & e^{-(\rho/\delta)^2} \sum_{n=0}^2 C_{2n} \left( \rho/\delta \right)^{2n} From 4a8b460201da5ecb18dd601272153340528195bf Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 3 Jun 2021 14:04:59 -0400 Subject: [PATCH 131/726] update singularity container definition file for Fedora 34 --- tools/singularity/README.md | 2 +- .../{fedora32_mingw.def => fedora34_mingw.def} | 16 +++++++++++----- 2 files changed, 12 insertions(+), 6 deletions(-) rename tools/singularity/{fedora32_mingw.def => fedora34_mingw.def} (87%) diff --git a/tools/singularity/README.md b/tools/singularity/README.md index 100d367439..3f7b69d409 100644 --- a/tools/singularity/README.md +++ b/tools/singularity/README.md @@ -48,7 +48,7 @@ make | ------------------------------ | ---------------------------------------------- | | centos7.def | CentOS 7.x with EPEL enabled, no LaTeX | | centos8.def | CentOS 8.x with EPEL enabled | -| fedora32_mingw.def | Fedora 32 with MinGW cross-compiler toolchain | +| fedora34_mingw.def | Fedora 34 with MinGW cross-compiler toolchain | | ubuntu16.04.def | Ubuntu 16.04LTS with MPI == OpenMPI, no LaTeX | | ubuntu18.04.def | Ubuntu 18.04LTS with MPI == OpenMPI | | ubuntu18.04_amd_rocm.def | Ubuntu 18.04LTS with AMD ROCm toolkit | diff --git a/tools/singularity/fedora32_mingw.def b/tools/singularity/fedora34_mingw.def similarity index 87% rename from tools/singularity/fedora32_mingw.def rename to tools/singularity/fedora34_mingw.def index fbbce4f279..4dd27894d4 100644 --- a/tools/singularity/fedora32_mingw.def +++ b/tools/singularity/fedora34_mingw.def @@ -1,11 +1,11 @@ BootStrap: docker -From: fedora:32 +From: fedora:34 %post dnf -y update dnf -y install vim-enhanced git file make cmake patch which file Lmod \ - ninja-build clang libomp-devel libubsan libasan libtsan diffutils \ - dos2unix findutils rsync python-devel libjpeg-devel libpng-devel \ + ninja-build clang clang-tools-extra libomp-devel libubsan libasan libtsan \ + diffutils dos2unix findutils rsync python-devel libjpeg-devel libpng-devel \ ccache gcc-c++ gcc-gfortran gdb valgrind eigen3-devel openblas-devel \ openmpi-devel mpich-devel fftw-devel voro++-devel gsl-devel hdf5-devel \ netcdf-devel netcdf-cxx-devel netcdf-mpich-devel netcdf-openmpi-devel \ @@ -23,6 +23,10 @@ From: fedora:32 mingw32-fftw mingw64-fftw \ mingw32-libjpeg-turbo mingw64-libjpeg-turbo \ mingw32-libpng mingw64-libpng \ + mingw32-python3 mingw64-python3 \ + mingw32-python3-numpy mingw64-python3-numpy \ + mingw32-python3-pyyaml mingw64-python3-pyyaml \ + mingw32-python3-setuptools mingw64-python3-setuptools \ mingw32-readline mingw64-readline \ mingw32-termcap mingw64-termcap \ mingw32-zlib mingw64-zlib \ @@ -44,10 +48,12 @@ From: fedora:32 # manually install Plumed mkdir plumed cd plumed - version=2.6.1 + version=2.7.1 curl -L -o plumed.tar.gz https://github.com/plumed/plumed2/releases/download/v${version}/plumed-src-${version}.tgz tar -xzf plumed.tar.gz cd plumed-${version} + # temporary fix for Plumed-2.7.1 (should do no harm on later versions) + sed -i '/^#include /a #include ' src/lepton/Operation.h ./configure --disable-doc --prefix=/usr make make install @@ -87,7 +93,7 @@ EOF CUSTOM_PROMPT_ENV=/.singularity.d/env/99-zz_custom_prompt.sh cat >$CUSTOM_PROMPT_ENV < Date: Thu, 3 Jun 2021 16:13:38 -0400 Subject: [PATCH 132/726] silence compiler warning --- src/USER-MDI/fix_mdi_engine.cpp | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/src/USER-MDI/fix_mdi_engine.cpp b/src/USER-MDI/fix_mdi_engine.cpp index 0eec1740d3..79cac7f4e7 100644 --- a/src/USER-MDI/fix_mdi_engine.cpp +++ b/src/USER-MDI/fix_mdi_engine.cpp @@ -43,7 +43,7 @@ using namespace FixConst; /* ---------------------------------------------------------------------- */ FixMDIEngine::FixMDIEngine(LAMMPS *lmp, int narg, char **arg) : - Fix(lmp, narg, arg), id_pe(nullptr), pe(nullptr), id_ke(nullptr), ke(nullptr) + Fix(lmp, narg, arg), id_pe(nullptr), id_ke(nullptr), pe(nullptr), ke(nullptr) { if (narg != 3) error->all(FLERR, "Illegal fix mdi command"); @@ -167,7 +167,7 @@ void FixMDIEngine::init() /* ---------------------------------------------------------------------- */ -void FixMDIEngine::min_setup(int vflag) +void FixMDIEngine::min_setup(int /* vflag */) { engine_mode("@FORCES"); } @@ -181,21 +181,21 @@ void FixMDIEngine::post_integrate() /* ---------------------------------------------------------------------- */ -void FixMDIEngine::min_pre_force(int vflag) +void FixMDIEngine::min_pre_force(int /* vflag */) { engine_mode("@COORDS"); } /* ---------------------------------------------------------------------- */ -void FixMDIEngine::min_post_force(int vflag) +void FixMDIEngine::min_post_force(int /* vflag */) { engine_mode("@FORCES"); } /* ---------------------------------------------------------------------- */ -void FixMDIEngine::post_force(int vflag) +void FixMDIEngine::post_force(int /* vflag */) { if (most_recent_init == 1) engine_mode("@FORCES"); @@ -444,7 +444,6 @@ void FixMDIEngine::receive_coordinates(Error *error) // pick local atoms from the buffer double **x = atom->x; - int *mask = atom->mask; int nlocal = atom->nlocal; for (int i = 0; i < nlocal; i++) { x[i][0] = buffer[3 * (atom->tag[i] - 1) + 0] * posconv; @@ -500,7 +499,6 @@ void FixMDIEngine::send_coordinates(Error *error) // copy local atoms into buffer at correct locations double **x = atom->x; - int *mask = atom->mask; int nlocal = atom->nlocal; for (int i = 0; i < nlocal; i++) { coords[3 * (atom->tag[i] - 1) + 0] = x[i][0] / posconv; @@ -534,7 +532,6 @@ void FixMDIEngine::send_charges(Error *error) // pick local atoms from the buffer double *charge = atom->q; - int *mask = atom->mask; int nlocal = atom->nlocal; for (int i = 0; i < nlocal; i++) { charges[atom->tag[i] - 1] = charge[i]; } @@ -723,7 +720,6 @@ void FixMDIEngine::send_forces(Error *error) double *forces_reduced; double *x_buf; - int *mask = atom->mask; int nlocal = atom->nlocal; int64_t ncoords = 3 * atom->natoms; @@ -818,7 +814,6 @@ void FixMDIEngine::receive_forces(Error *error, int mode) // pick local atoms from the buffer double **f = atom->f; - int *mask = atom->mask; int nlocal = atom->nlocal; if (mode == 0) { // Replace From b92c2ab873e1be17308350068522fad882a18929 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 3 Jun 2021 16:14:14 -0400 Subject: [PATCH 133/726] correct broadcast for atom->natoms --- src/USER-MDI/fix_mdi_engine.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/USER-MDI/fix_mdi_engine.cpp b/src/USER-MDI/fix_mdi_engine.cpp index 79cac7f4e7..260701107b 100644 --- a/src/USER-MDI/fix_mdi_engine.cpp +++ b/src/USER-MDI/fix_mdi_engine.cpp @@ -228,9 +228,11 @@ int FixMDIEngine::execute_command(const char *command, MDI_Comm mdicomm) // respond to any driver command if (strcmp(command, ">NATOMS") == 0) { - ierr = MDI_Recv((char *) &atom->natoms, 1, MDI_INT, mdicomm); + int mdi_natoms = 0; + ierr = MDI_Recv((char *) &mdi_natoms, 1, MDI_INT, mdicomm); if (ierr != 0) error->all(FLERR, "MDI: Unable to receive number of atoms from driver"); - MPI_Bcast(&atom->natoms, 1, MPI_INT, 0, world); + atom->natoms = mdi_natoms; + MPI_Bcast(&atom->natoms, 1, MPI_LMP_BIGINT, 0, world); } else if (strcmp(command, "natoms; From ed624b518e7ce75869a192f612bf4c37d6a1182f Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 3 Jun 2021 16:51:39 -0400 Subject: [PATCH 134/726] update windows specific instructions for running LAMMPS for latest package --- doc/src/Install_windows.rst | 2 +- doc/src/Run_windows.rst | 19 +++++++++++-------- doc/src/Speed_gpu.rst | 4 ++-- 3 files changed, 14 insertions(+), 11 deletions(-) diff --git a/doc/src/Install_windows.rst b/doc/src/Install_windows.rst index 56ca84f3ff..1df7ae7f3f 100644 --- a/doc/src/Install_windows.rst +++ b/doc/src/Install_windows.rst @@ -14,7 +14,7 @@ current and older versions of LAMMPS are available. 32-bit and 64-bit installers are available, and each installer contains both a serial and parallel executable. The installer web site also explains how to install the Windows MPI package (MPICH2 from Argonne National Labs), -needed to run in parallel. +needed to run in parallel with MPI. The LAMMPS binaries contain *all* :doc:`optional packages ` included in the source distribution except: KIM, KOKKOS, MSCG, PYTHON, diff --git a/doc/src/Run_windows.rst b/doc/src/Run_windows.rst index 0343e123b9..8813d6d59e 100644 --- a/doc/src/Run_windows.rst +++ b/doc/src/Run_windows.rst @@ -7,7 +7,7 @@ To run a serial (non-MPI) executable, follow these steps: then typing "cmd". * Move to the directory where you have your input script, (e.g. by typing: cd "Documents"). -* At the command prompt, type "lmp_serial -in in.file", where +* At the command prompt, type "lmp -in in.file", where in.file is the name of your LAMMPS input script. Note that the serial executable includes support for multi-threading @@ -16,7 +16,7 @@ parallelization from the styles in the USER-OMP packages. To run with .. code-block:: bash - lmp_serial -in in.lj -pk omp 4 -sf omp + lmp -in in.lj -pk omp 4 -sf omp ---------- @@ -41,15 +41,17 @@ into the MPICH2 installation directory, then into the sub-directory * Move to the directory where you have your input file (e.g. by typing: cd "Documents"). -Then type something like this: +Then you can run the executable in serial like in the example above +or in parallel using MPI with one of the following commands: .. code-block:: bash - mpiexec -localonly 4 lmp_mpi -in in.file - mpiexec -np 4 lmp_mpi -in in.file + mpiexec -localonly 4 lmp -in in.file + mpiexec -np 4 lmp -in in.file where in.file is the name of your LAMMPS input script. For the latter -case, you may be prompted to enter your password. +case, you may be prompted to enter the password that you set during +installation of the MPI library software. In this mode, output may not immediately show up on the screen, so if your input script takes a long time to execute, you may need to be @@ -60,11 +62,12 @@ something like this: .. code-block:: bash - lmp_mpi -in in.lj + lmp -in in.lj Note that the parallel executable also includes OpenMP multi-threading, which can be combined with MPI using something like: .. code-block:: bash - mpiexec -localonly 2 lmp_mpi -in in.lj -pk omp 2 -sf omp + mpiexec -localonly 2 lmp -in in.lj -pk omp 2 -sf omp + diff --git a/doc/src/Speed_gpu.rst b/doc/src/Speed_gpu.rst index 4acf8c93c1..2cb8c08fd5 100644 --- a/doc/src/Speed_gpu.rst +++ b/doc/src/Speed_gpu.rst @@ -35,8 +35,8 @@ Coulombics. It has the following general features: To compile and use this package in CUDA mode, you currently need to have an NVIDIA GPU and install the corresponding NVIDIA CUDA -toolkit software on your system (this is primarily tested on Linux -and completely unsupported on Windows): +toolkit software on your system (this is only tested on Linux +and unsupported on Windows): * Check if you have an NVIDIA GPU: cat /proc/driver/nvidia/gpus/\*/information * Go to http://www.nvidia.com/object/cuda_get.html From 5599deae0a4f6d92e960bbe017d9dc9516d74775 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 3 Jun 2021 19:47:32 -0400 Subject: [PATCH 135/726] quick-fix to compile plumed-2.7.1 with newer GCC and Clang compilers --- cmake/Modules/Packages/USER-PLUMED.cmake | 1 + 1 file changed, 1 insertion(+) diff --git a/cmake/Modules/Packages/USER-PLUMED.cmake b/cmake/Modules/Packages/USER-PLUMED.cmake index e71542cfc5..e9eba779f5 100644 --- a/cmake/Modules/Packages/USER-PLUMED.cmake +++ b/cmake/Modules/Packages/USER-PLUMED.cmake @@ -72,6 +72,7 @@ if(DOWNLOAD_PLUMED) ${PLUMED_CONFIG_OMP} CXX=${PLUMED_CONFIG_CXX} CC=${PLUMED_CONFIG_CC} + PATCH_COMMAND sed -i "/^#include /a #include " /src/lepton/Operation.h BUILD_BYPRODUCTS ${PLUMED_BUILD_BYPRODUCTS} ) ExternalProject_get_property(plumed_build INSTALL_DIR) From 80c90d8ee2f62f8651fd1dd9fb3c5c6039624696 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 4 Jun 2021 00:34:37 -0400 Subject: [PATCH 136/726] fix broken links/references --- doc/src/Packages_details.rst | 3 --- doc/src/pair_mesodpd.rst | 2 +- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/doc/src/Packages_details.rst b/doc/src/Packages_details.rst index e7dc905e22..59a7230fc3 100644 --- a/doc/src/Packages_details.rst +++ b/doc/src/Packages_details.rst @@ -1903,9 +1903,6 @@ algorithm. * examples/USER/mesodpd * https://www.lammps.org/movies.html#mesodpd -* examples/USER/meso -* http://www.lammps.org/movies.html#mesodpd - ---------- .. _PKG-USER-MESONT: diff --git a/doc/src/pair_mesodpd.rst b/doc/src/pair_mesodpd.rst index 1efdfa8b45..6bb259a10d 100644 --- a/doc/src/pair_mesodpd.rst +++ b/doc/src/pair_mesodpd.rst @@ -238,7 +238,7 @@ Example scripts """"""""""""""" There are example scripts for using all these pair styles in -examples/USER/meso. The example for an eDPD simulation models heat +examples/USER/mesodpd. The example for an eDPD simulation models heat conduction with source terms analog of periodic Poiseuille flow problem. The setup follows Fig.12 in :ref:`(Li2014_JCP) `. The output of the short eDPD simulation (about 2 minutes on a single core) From edf734ed592f96bc3420f3a81b282b5e92844333 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 4 Jun 2021 00:43:18 -0400 Subject: [PATCH 137/726] remove installed package files --- src/fix_pair_tracker.cpp | 376 ------------------------------ src/fix_pair_tracker.h | 92 -------- src/pair_tracker.cpp | 489 --------------------------------------- src/pair_tracker.h | 91 -------- 4 files changed, 1048 deletions(-) delete mode 100644 src/fix_pair_tracker.cpp delete mode 100644 src/fix_pair_tracker.h delete mode 100644 src/pair_tracker.cpp delete mode 100644 src/pair_tracker.h diff --git a/src/fix_pair_tracker.cpp b/src/fix_pair_tracker.cpp deleted file mode 100644 index 5e0d27b79e..0000000000 --- a/src/fix_pair_tracker.cpp +++ /dev/null @@ -1,376 +0,0 @@ -/* ---------------------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#include "fix_pair_tracker.h" -#include "atom.h" -#include "atom_vec.h" -#include "error.h" -#include "group.h" -#include "memory.h" -#include "modify.h" -#include "tokenizer.h" -#include "update.h" - -#include - -using namespace LAMMPS_NS; -using namespace FixConst; - -#define DELTA 1000 - -/* ---------------------------------------------------------------------- */ - -FixPairTracker::FixPairTracker(LAMMPS *lmp, int narg, char **arg) : - Fix(lmp, narg, arg), - nvalues(0), - array(NULL), vector(NULL), pack_choice(NULL) -{ - if (narg < 3) error->all(FLERR,"Illegal fix pair/tracker command"); - local_flag = 1; - - nevery = utils::inumeric(FLERR,arg[3],false,lmp); - if (nevery <= 0) error->all(FLERR,"Illegal fix pair/tracker command"); - local_freq = nevery; - - // If optional arguments included, this will be oversized - nvalues = narg - 4; - pack_choice = new FnPtrPack[nvalues]; - - tmin = -1; - type_filter = nullptr; - int iarg = 4; - nvalues = 0; - while (iarg < narg) { - if (strcmp(arg[iarg],"id1") == 0) { - pack_choice[nvalues++] = &FixPairTracker::pack_id1; - } else if (strcmp(arg[iarg],"id2") == 0) { - pack_choice[nvalues++] = &FixPairTracker::pack_id2; - - } else if (strcmp(arg[iarg],"time/created") == 0) { - pack_choice[nvalues++] = &FixPairTracker::pack_time_created; - } else if (strcmp(arg[iarg],"time/broken") == 0) { - pack_choice[nvalues++] = &FixPairTracker::pack_time_broken; - } else if (strcmp(arg[iarg],"time/total") == 0) { - pack_choice[nvalues++] = &FixPairTracker::pack_time_total; - - } else if (strcmp(arg[iarg],"x") == 0) { - pack_choice[nvalues++] = &FixPairTracker::pack_x; - } else if (strcmp(arg[iarg],"y") == 0) { - pack_choice[nvalues++] = &FixPairTracker::pack_y; - } else if (strcmp(arg[iarg],"z") == 0) { - pack_choice[nvalues++] = &FixPairTracker::pack_z; - - } else if (strcmp(arg[iarg],"r/min") == 0) { - pack_choice[nvalues++] = &FixPairTracker::pack_rmin; - } else if (strcmp(arg[iarg],"r/ave") == 0) { - pack_choice[nvalues++] = &FixPairTracker::pack_rave; - - } else if (strcmp(arg[iarg],"time/min") == 0) { - if (iarg + 1 >= narg) error->all(FLERR, "Invalid keyword in fix pair/tracker command"); - tmin = utils::numeric(FLERR,arg[iarg+1],false,lmp); - iarg ++; - - } else if (strcmp(arg[iarg],"type/include") == 0) { - if (iarg + 1 >= narg) error->all(FLERR, "Invalid keyword in fix pair/tracker command"); - int ntypes = atom->ntypes; - - int i, j, itype, jtype, in, jn, infield, jnfield; - int inlo, inhi, jnlo, jnhi; - char *istr, *jstr; - if (! type_filter) { - memory->create(type_filter,ntypes+1,ntypes+1,"fix/pair/tracker:type_filter"); - - for (i = 0; i <= ntypes; i ++) { - for (j = 0; j <= ntypes; j ++) { - type_filter[i][j] = 0; - } - } - } - - in = strlen(arg[iarg+1]) + 1; - istr = new char[in]; - strcpy(istr,arg[iarg+1]); - std::vector iwords = Tokenizer(istr, ",").as_vector(); - infield = iwords.size(); - - jn = strlen(arg[iarg+2]) + 1; - jstr = new char[jn]; - strcpy(jstr,arg[iarg+2]); - std::vector jwords = Tokenizer(jstr, ",").as_vector(); - jnfield = jwords.size(); - - for (i = 0; i < infield; i++) { - const char * ifield = iwords[i].c_str(); - utils::bounds(FLERR,ifield,1,ntypes,inlo,inhi,error); - - for (j = 0; j < jnfield; j++) { - const char * jfield = jwords[j].c_str(); - utils::bounds(FLERR,jfield,1,ntypes,jnlo,jnhi,error); - - for (itype = inlo; itype <= inhi; itype++) { - for (jtype = jnlo; jtype <= jnhi; jtype++) { - type_filter[itype][jtype] = 1; - type_filter[jtype][itype] = 1; - } - } - } - } - - delete [] istr; - delete [] jstr; - - iarg += 2; - - } else error->all(FLERR, "Invalid keyword in fix pair/tracker command"); - - iarg ++; - } - - if (nvalues == 1) size_local_cols = 0; - else size_local_cols = nvalues; - - nmax = 0; - ncount = 0; - vector = NULL; - array = NULL; -} - -/* ---------------------------------------------------------------------- */ - -FixPairTracker::~FixPairTracker() -{ - delete [] pack_choice; - - memory->destroy(vector); - memory->destroy(array); - memory->destroy(type_filter); -} - -/* ---------------------------------------------------------------------- */ - -int FixPairTracker::setmask() -{ - int mask = 0; - mask |= POST_FORCE; - return mask; -} - -/* ---------------------------------------------------------------------- */ - -void FixPairTracker::init() -{ - // Set size of array/vector - ncount = 0; - - if (ncount > nmax) - reallocate(ncount); - - size_local_rows = ncount; -} - -/* ---------------------------------------------------------------------- */ - -void FixPairTracker::lost_contact(int i, int j, double time_tmp, double nstep_tmp, double rsum_tmp, double rmin_tmp) -{ - - double time = update->atime + (update->ntimestep-update->atimestep)*update->dt; - if ((time-time_tmp) < tmin) return; - - if (type_filter) { - int *type = atom->type; - if (type_filter[type[i]][type[j]] == 0) return; - } - - int *mask = atom->mask; - if (!(mask[i] & groupbit)) return; - if (!(mask[j] & groupbit)) return; - - if (ncount == nmax) reallocate(ncount); - - index_i = i; - index_j = j; - - rmin = rmin_tmp; - rsum = rsum_tmp; - time_initial = time_tmp; - nstep_initial = nstep_tmp; - - // fill vector or array with local values - if (nvalues == 1) { - (this->*pack_choice[0])(0); - } else { - for (int k = 0; k < nvalues; k++) { - (this->*pack_choice[k])(k); - } - } - - ncount += 1; -} - -/* ---------------------------------------------------------------------- */ - -void FixPairTracker::post_force(int /*vflag*/) -{ - if (update->ntimestep % nevery == 0) { - size_local_rows = ncount; - ncount = 0; - } -} - - -/* ---------------------------------------------------------------------- */ - -void FixPairTracker::reallocate(int n) -{ - // grow vector or array - while (nmax <= n) nmax += DELTA; - - if (nvalues == 1) { - memory->grow(vector,nmax,"fix_pair_tracker:vector"); - vector_local = vector; - } else { - memory->grow(array,nmax,nvalues,"fix_pair_tracker:array"); - array_local = array; - } -} - -/* ---------------------------------------------------------------------- - memory usage of local data -------------------------------------------------------------------------- */ - -double FixPairTracker::memory_usage() -{ - double bytes = nmax*nvalues * sizeof(double); - bytes += nmax*2 * sizeof(int); - return bytes; -} - -/* ---------------------------------------------------------------------- - one method for every keyword fix pair/tracker can output - the atom property is packed into the local vector or array -------------------------------------------------------------------------- */ - -/* ---------------------------------------------------------------------- */ - -void FixPairTracker::pack_time_created(int n) -{ - if (nvalues == 1) - vector[ncount] = time_initial; - else - array[ncount][n] = time_initial; -} - -/* ---------------------------------------------------------------------- */ - -void FixPairTracker::pack_time_broken(int n) -{ - double time = update->atime + (update->ntimestep-update->atimestep)*update->dt; - if (nvalues == 1) - vector[ncount] = time; - else - array[ncount][n] = time; -} - -/* ---------------------------------------------------------------------- */ - -void FixPairTracker::pack_time_total(int n) -{ - double time = update->atime + (update->ntimestep-update->atimestep)*update->dt; - if (nvalues == 1) - vector[ncount] = time-time_initial; - else - array[ncount][n] = time-time_initial; -} - - -/* ---------------------------------------------------------------------- */ - -void FixPairTracker::pack_id1(int n) -{ - tagint *tag = atom->tag; - - if (nvalues == 1) - vector[ncount] = tag[index_i]; - else - array[ncount][n] = tag[index_i]; -} - -/* ---------------------------------------------------------------------- */ - -void FixPairTracker::pack_id2(int n) -{ - tagint *tag = atom->tag; - - if (nvalues == 1) - vector[ncount] = tag[index_j]; - else - array[ncount][n] = tag[index_j]; -} - -/* ---------------------------------------------------------------------- */ - -void FixPairTracker::pack_x(int n) -{ - double **x = atom->x; - - if (nvalues == 1) - vector[ncount] = (x[index_i][0] + x[index_j][0])/2; - else - array[ncount][n] = (x[index_i][0] + x[index_j][0])/2; -} - - -/* ---------------------------------------------------------------------- */ - -void FixPairTracker::pack_y(int n) -{ - double **x = atom->x; - - if (nvalues == 1) - vector[ncount] = (x[index_i][1] + x[index_j][1])/2; - else - array[ncount][n] = (x[index_i][1] + x[index_j][1])/2; -} - - -/* ---------------------------------------------------------------------- */ - -void FixPairTracker::pack_z(int n) -{ - double **x = atom->x; - - if (nvalues == 1) - vector[ncount] = (x[index_i][2] + x[index_j][2])/2; - else - array[ncount][n] = (x[index_i][2] + x[index_j][2])/2; -} - -/* ---------------------------------------------------------------------- */ - -void FixPairTracker::pack_rmin(int n) -{ - if (nvalues == 1) - vector[ncount] = rmin; - else - array[ncount][n] = rmin; -} - -/* ---------------------------------------------------------------------- */ - -void FixPairTracker::pack_rave(int n) -{ - if (nvalues == 1) - vector[ncount] = rsum/(update->ntimestep-nstep_initial); - else - array[ncount][n] = rsum/(update->ntimestep-nstep_initial); -} diff --git a/src/fix_pair_tracker.h b/src/fix_pair_tracker.h deleted file mode 100644 index 7977357022..0000000000 --- a/src/fix_pair_tracker.h +++ /dev/null @@ -1,92 +0,0 @@ -/* ---------------------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#ifdef FIX_CLASS - -FixStyle(pair/tracker,FixPairTracker) - -#else - -#ifndef LMP_FIX_PAIR_TRACKING_H -#define LMP_FIX_PAIR_TRACKING_H - -#include "fix.h" - -namespace LAMMPS_NS { - -class FixPairTracker : public Fix { - public: - FixPairTracker(class LAMMPS *, int, char **); - ~FixPairTracker(); - int setmask(); - void init(); - void post_force(int); - double memory_usage(); - void lost_contact(int, int, double, double, double, double); - - private: - int nvalues, never; - int nmax; - int store_flag; - int index_i, index_j; - double tmin, rmin, rsum, time_initial, nstep_initial; - - double *vector; - double **array; - int **type_filter; - - double lx; - double ly; - double lz; - - int ncount; - - void reallocate(int); - - typedef void (FixPairTracker::*FnPtrPack)(int); - FnPtrPack *pack_choice; // ptrs to pack functions - - void pack_id1(int); - void pack_id2(int); - - void pack_time_created(int); - void pack_time_broken(int); - void pack_time_total(int); - - void pack_x(int); - void pack_y(int); - void pack_z(int); - - void pack_rmin(int); - void pack_rave(int); - -}; - -} - -#endif -#endif - -/* ERROR/WARNING messages: - -E: Illegal ... command - -Self-explanatory. Check the input script syntax and compare to the -documentation for the command. You can use -echo screen as a -command-line option when running LAMMPS to see the offending line. - -E: Invalid keyword in fix pair/tracker command - -Self-explanatory. - -*/ diff --git a/src/pair_tracker.cpp b/src/pair_tracker.cpp deleted file mode 100644 index e3fd64d0d6..0000000000 --- a/src/pair_tracker.cpp +++ /dev/null @@ -1,489 +0,0 @@ -/* ---------------------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - https://lammps.sandia.gov/, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#include "pair_tracker.h" -#include "atom.h" -#include "comm.h" -#include "error.h" -#include "fix.h" -#include "fix_dummy.h" -#include "fix_neigh_history.h" -#include "fix_pair_tracker.h" -#include "force.h" -#include "memory.h" -#include "modify.h" -#include "neighbor.h" -#include "neigh_list.h" -#include "neigh_request.h" -#include "update.h" - -using namespace LAMMPS_NS; - -/* ---------------------------------------------------------------------- */ - -PairTracker::PairTracker(LAMMPS *lmp) : Pair(lmp) -{ - single_enable = 1; - no_virial_fdotr_compute = 1; - - neighprev = 0; - history = 1; - size_history = 4; - nondefault_history_transfer = 1; - - finitecutflag = 0; - - // create dummy fix as placeholder for FixNeighHistory - // this is so final order of Modify:fix will conform to input script - - fix_history = nullptr; - modify->add_fix("NEIGH_HISTORY_TRACK_DUMMY all DUMMY"); - fix_dummy = (FixDummy *) modify->fix[modify->nfix-1]; -} - -/* ---------------------------------------------------------------------- */ - -PairTracker::~PairTracker() -{ - if (!fix_history) modify->delete_fix("NEIGH_HISTORY_TRACK_DUMMY"); - else modify->delete_fix("NEIGH_HISTORY_TRACK"); - - if (allocated) { - memory->destroy(setflag); - memory->destroy(cutsq); - memory->destroy(cut); - - delete [] onerad_dynamic; - delete [] onerad_frozen; - delete [] maxrad_dynamic; - delete [] maxrad_frozen; - } -} - -/* ---------------------------------------------------------------------- */ - -void PairTracker::compute(int eflag, int vflag) -{ - int i,j,ii,jj,inum,jnum,itype,jtype; - double xtmp,ytmp,ztmp,delx,dely,delz,time; - double radi,radj,radsum,rsq,r; - int *ilist,*jlist,*numneigh,**firstneigh; - int *touch,**firsttouch; - double *data,*alldata,**firstdata; - - int updateflag = 1; - if (update->setupflag) updateflag = 0; - ev_init(eflag,vflag); - - double **x = atom->x; - double *radius = atom->radius; - int *type = atom->type; - int *mask = atom->mask; - int nlocal = atom->nlocal; - int newton_pair = force->newton_pair; - - inum = list->inum; - ilist = list->ilist; - numneigh = list->numneigh; - firstneigh = list->firstneigh; - firsttouch = fix_history->firstflag; - firstdata = fix_history->firstvalue; - - // loop over neighbors of my atoms - for (ii = 0; ii < inum; ii++) { - i = ilist[ii]; - xtmp = x[i][0]; - ytmp = x[i][1]; - ztmp = x[i][2]; - if (finitecutflag) radi = radius[i]; - itype = type[i]; - touch = firsttouch[i]; - alldata = firstdata[i]; - jlist = firstneigh[i]; - jnum = numneigh[i]; - - for (jj = 0; jj < jnum; jj++) { - j = jlist[jj]; - j &= NEIGHMASK; - - delx = xtmp - x[j][0]; - dely = ytmp - x[j][1]; - delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; - r = sqrt(rsq); - - if (finitecutflag) { - radj = radius[j]; - radsum = radi + radj; - - if (rsq >= radsum*radsum) { - - data = &alldata[size_history*jj]; - if(touch[jj] == 1) { - fix_pair_tracker->lost_contact(i, j, data[0], data[1], data[2], data[3]); - } - touch[jj] = 0; - data[0] = 0.0; // initial time - data[1] = 0.0; // initial timestep - data[2] = 0.0; // sum of r, may overflow - data[3] = 0.0; // min of r - - } else { - - data = &alldata[size_history*jj]; - if (touch[jj] == 0) { - time = update->atime + (update->ntimestep-update->atimestep)*update->dt; - data[0] = time; - data[1] = (double) update->ntimestep; - data[2] = r; - data[3] = r; - } else if (updateflag) { - data[2] += r; - if(data[3] > r) data[3] = r; - } - touch[jj] = 1; - } - } else { - jtype = type[j]; - if (rsq >= cutsq[itype][jtype]) { - - data = &alldata[size_history*jj]; - if(touch[jj] == 1) { - fix_pair_tracker->lost_contact(i, j, data[0], data[1], data[2], data[3]); - } - - touch[jj] = 0; - data[0] = 0.0; // initial time - data[1] = 0.0; // initial timestep - data[2] = 0.0; // sum of r, may overflow - data[3] = 0.0; // min of r - - } else { - - data = &alldata[size_history*jj]; - if (touch[jj] == 0) { - time = update->atime + (update->ntimestep-update->atimestep)*update->dt; - data[0] = time; - data[1] = (double) update->ntimestep; - data[2] = r; - data[3] = r; - } else if (updateflag) { - data[2] += r; - if(data[3] > r) data[3] = r; - } - touch[jj] = 1; - } - } - } - } -} - -/* ---------------------------------------------------------------------- - allocate all arrays -------------------------------------------------------------------------- */ - -void PairTracker::allocate() -{ - allocated = 1; - int n = atom->ntypes; - - memory->create(setflag,n+1,n+1,"pair:setflag"); - for (int i = 1; i <= n; i++) - for (int j = i; j <= n; j++) - setflag[i][j] = 0; - - memory->create(cutsq,n+1,n+1,"pair:cutsq"); - memory->create(cut,n+1,n+1,"pair:cut"); - - onerad_dynamic = new double[n+1]; - onerad_frozen = new double[n+1]; - maxrad_dynamic = new double[n+1]; - maxrad_frozen = new double[n+1]; -} - -/* ---------------------------------------------------------------------- - global settings -------------------------------------------------------------------------- */ - -void PairTracker::settings(int narg, char **arg) -{ - if (narg != 0 && narg != 1) error->all(FLERR,"Illegal pair_style command"); - - if (narg == 1) { - if (strcmp(arg[0], "finite") == 0) finitecutflag = 1; - else error->all(FLERR,"Illegal pair_style command"); - } -} - -/* ---------------------------------------------------------------------- - set coeffs for one or more type pairs -------------------------------------------------------------------------- */ - -void PairTracker::coeff(int narg, char **arg) -{ - if (narg > 2 && finitecutflag) error->all(FLERR,"Incorrect args for pair coefficients"); - if (narg != 3 && !finitecutflag) error->all(FLERR,"Incorrect args for pair coefficients"); - if (!allocated) allocate(); - - int ilo,ihi,jlo,jhi; - utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); - utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - - double cut_one = 0.0; - if (!finitecutflag) cut_one = utils::numeric(FLERR,arg[2],false,lmp); - - int count = 0; - for (int i = ilo; i <= ihi; i++) { - for (int j = MAX(jlo,i); j <= jhi; j++) { - setflag[i][j] = 1; - cut[i][j] = cut_one; - count++; - } - } - - if (count == 0) error->all(FLERR,"Incorrect args for pair coefficients"); -} - -/* ---------------------------------------------------------------------- - init specific to this pair style -------------------------------------------------------------------------- */ - -void PairTracker::init_style() -{ - int i; - - // error and warning checks - - if (!atom->radius_flag && finitecutflag) - error->all(FLERR,"Pair tracker requires atom attribute radius for finite cutoffs"); - - // need a history neigh list - - int irequest = neighbor->request(this,instance_me); - if (finitecutflag) neighbor->requests[irequest]->size = 1; - neighbor->requests[irequest]->history = 1; - - // if history is stored and first init, create Fix to store history - // it replaces FixDummy, created in the constructor - // this is so its order in the fix list is preserved - - if (fix_history == nullptr) { - char dnumstr[16]; - sprintf(dnumstr,"%d",size_history); - char **fixarg = new char*[4]; - fixarg[0] = (char *) "NEIGH_HISTORY_TRACK"; - fixarg[1] = (char *) "all"; - fixarg[2] = (char *) "NEIGH_HISTORY"; - fixarg[3] = dnumstr; - modify->replace_fix("NEIGH_HISTORY_TRACK_DUMMY",4,fixarg,1); - delete [] fixarg; - int ifix = modify->find_fix("NEIGH_HISTORY_TRACK"); - fix_history = (FixNeighHistory *) modify->fix[ifix]; - fix_history->pair = this; - fix_history->use_bit_flag = 0; - } - - if (finitecutflag) { - - if(force->pair->beyond_contact) - error->all(FLERR, "Pair tracker incompatible with granular pairstyles that extend beyond contact"); - // check for FixPour and FixDeposit so can extract particle radii - - int ipour; - for (ipour = 0; ipour < modify->nfix; ipour++) - if (strcmp(modify->fix[ipour]->style,"pour") == 0) break; - if (ipour == modify->nfix) ipour = -1; - - int idep; - for (idep = 0; idep < modify->nfix; idep++) - if (strcmp(modify->fix[idep]->style,"deposit") == 0) break; - if (idep == modify->nfix) idep = -1; - - // set maxrad_dynamic and maxrad_frozen for each type - // include future FixPour and FixDeposit particles as dynamic - - int itype; - for (i = 1; i <= atom->ntypes; i++) { - onerad_dynamic[i] = onerad_frozen[i] = 0.0; - if (ipour >= 0) { - itype = i; - onerad_dynamic[i] = - *((double *) modify->fix[ipour]->extract("radius",itype)); - } - if (idep >= 0) { - itype = i; - onerad_dynamic[i] = - *((double *) modify->fix[idep]->extract("radius",itype)); - } - } - - double *radius = atom->radius; - int *mask = atom->mask; - int *type = atom->type; - int nlocal = atom->nlocal; - - for (i = 0; i < nlocal; i++) - if (mask[i] & freeze_group_bit) - onerad_frozen[type[i]] = MAX(onerad_frozen[type[i]],radius[i]); - else - onerad_dynamic[type[i]] = MAX(onerad_dynamic[type[i]],radius[i]); - - MPI_Allreduce(&onerad_dynamic[1],&maxrad_dynamic[1],atom->ntypes, - MPI_DOUBLE,MPI_MAX,world); - MPI_Allreduce(&onerad_frozen[1],&maxrad_frozen[1],atom->ntypes, - MPI_DOUBLE,MPI_MAX,world); - } - - int ifix = modify->find_fix("NEIGH_HISTORY_TRACK"); - if (ifix < 0) error->all(FLERR,"Could not find pair fix neigh history ID"); - fix_history = (FixNeighHistory *) modify->fix[ifix]; - - ifix = modify->find_fix_by_style("pair/tracker"); - if(ifix < 0) error->all(FLERR,"Cannot use pair tracker without fix pair/tracker"); - fix_pair_tracker = (FixPairTracker *) modify->fix[ifix]; -} - -/* ---------------------------------------------------------------------- - init for one type pair i,j and corresponding j,i -------------------------------------------------------------------------- */ - -double PairTracker::init_one(int i, int j) -{ - if (!allocated) allocate(); - - // always mix prefactors geometrically - - if (setflag[i][j] == 0) { - cut[i][j] = mix_distance(cut[i][i],cut[j][j]); - } - - cut[j][i] = cut[i][j]; - - // if finite, cutoff = sum of max I,J radii for - // dynamic/dynamic & dynamic/frozen interactions, but not frozen/frozen - double cutoff; - if (finitecutflag) { - cutoff = maxrad_dynamic[i]+maxrad_dynamic[j]; - cutoff = MAX(cutoff,maxrad_frozen[i]+maxrad_dynamic[j]); - cutoff = MAX(cutoff,maxrad_dynamic[i]+maxrad_frozen[j]); - } else { - cutoff = cut[i][j]; - } - return cutoff; -} - -/* ---------------------------------------------------------------------- - proc 0 writes to restart file -------------------------------------------------------------------------- */ - -void PairTracker::write_restart(FILE *fp) -{ - write_restart_settings(fp); - - int i,j; - for (i = 1; i <= atom->ntypes; i++) - for (j = i; j <= atom->ntypes; j++) { - fwrite(&setflag[i][j],sizeof(int),1,fp); - if (setflag[i][j]) { - fwrite(&cut[i][j],sizeof(double),1,fp); - } - } -} - -/* ---------------------------------------------------------------------- - proc 0 reads from restart file, bcasts -------------------------------------------------------------------------- */ - -void PairTracker::read_restart(FILE *fp) -{ - read_restart_settings(fp); - allocate(); - - int i,j; - int me = comm->me; - for (i = 1; i <= atom->ntypes; i++) - for (j = i; j <= atom->ntypes; j++) { - if (me == 0) utils::sfread(FLERR,&setflag[i][j],sizeof(int),1,fp,nullptr,error); - MPI_Bcast(&setflag[i][j],1,MPI_INT,0,world); - if (setflag[i][j]) { - if (me == 0) { - utils::sfread(FLERR,&cut[i][j],sizeof(double),1,fp,nullptr,error); - } - MPI_Bcast(&cut[i][j],1,MPI_DOUBLE,0,world); - } - } -} - -/* ---------------------------------------------------------------------- - proc 0 writes to restart file -------------------------------------------------------------------------- */ - -void PairTracker::write_restart_settings(FILE *fp) -{ - fwrite(&mix_flag,sizeof(int),1,fp); -} - -/* ---------------------------------------------------------------------- - proc 0 reads from restart file, bcasts -------------------------------------------------------------------------- */ - -void PairTracker::read_restart_settings(FILE *fp) -{ - if (comm->me == 0) { - utils::sfread(FLERR,&mix_flag,sizeof(int),1,fp,nullptr,error); - } - MPI_Bcast(&mix_flag,1,MPI_INT,0,world); -} - -/* ---------------------------------------------------------------------- */ - -double PairTracker::single(int i, int j, int /*itype*/, int /*jtype*/, - double rsq, - double /*factor_coul*/, double /*factor_lj*/, - double &fforce) -{ - return 0.0; -} - -/* ---------------------------------------------------------------------- - transfer history during fix/neigh/history exchange - only needed if any history entries i-j are not just negative of j-i entries -------------------------------------------------------------------------- */ - -void PairTracker::transfer_history(double* source, double* target) -{ - for (int i = 0; i < size_history; i++) - target[i] = source[i]; -} - - -/* ---------------------------------------------------------------------- - self-interaction range of particle if finite particles -------------------------------------------------------------------------- */ - -double PairTracker::atom2cut(int i) -{ - double cut = atom->radius[i]*2; - return cut; -} - -/* ---------------------------------------------------------------------- - maximum interaction range for two finite particles -------------------------------------------------------------------------- */ - -double PairTracker::radii2cut(double r1, double r2) -{ - double cut = r1+r2; - return cut; -} - diff --git a/src/pair_tracker.h b/src/pair_tracker.h deleted file mode 100644 index dced79977d..0000000000 --- a/src/pair_tracker.h +++ /dev/null @@ -1,91 +0,0 @@ -/* -*- c++ -*- ---------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - https://lammps.sandia.gov/, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#ifdef PAIR_CLASS - -PairStyle(tracker,PairTracker) - -#else - -#ifndef LMP_PAIR_TRACKER_H -#define LMP_PAIR_TRACKER_H - -#include "pair.h" - -namespace LAMMPS_NS { - -class PairTracker : public Pair { - public: - PairTracker(class LAMMPS *); - virtual ~PairTracker(); - virtual void compute(int, int); - virtual void settings(int, char **); - void coeff(int, char **); - void init_style(); - double init_one(int, int); - void write_restart(FILE *); - void read_restart(FILE *); - void write_restart_settings(FILE *); - void read_restart_settings(FILE *); - virtual double single(int, int, int, int, double, double, double, double &); - double atom2cut(int); - double radii2cut(double,double); - - protected: - int sizeflag; - int history; - int size_history; - int neighprev; - double **cut; - double *onerad_dynamic,*onerad_frozen; - double *maxrad_dynamic,*maxrad_frozen; - int freeze_group_bit; - - class FixDummy *fix_dummy; - class FixNeighHistory *fix_history; - class FixPairTracker *fix_pair_tracker; - - void transfer_history(double*, double*); - void allocate(); -}; - -} - -#endif -#endif - -/* ERROR/WARNING messages: - -E: Illegal ... command - -Self-explanatory. Check the input script syntax and compare to the -documentation for the command. You can use -echo screen as a -command-line option when running LAMMPS to see the offending line. - -E: Incorrect args for pair coefficients - -Self-explanatory. Check the input script or data file. - -E: Pair tracker requires atom attribute radius for finite cutoffs - -The atom style defined does not have these attributes. - -E: Could not find pair fix neigh history ID - -The associated fix neigh/history is missing - -E: Cannot use pair tracker without fix pair/tracker - -This pairstyle requires one to define a pair/tracker fix - -*/ From d17b49a894bbff4f7148afeeb91caac1bfdaf2d5 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 4 Jun 2021 00:43:45 -0400 Subject: [PATCH 138/726] apply clang-format --- src/MISC/fix_pair_tracker.cpp | 243 +++++++++++++++---------------- src/MISC/fix_pair_tracker.h | 41 +++--- src/MISC/pair_tracker.cpp | 264 ++++++++++++++++------------------ src/MISC/pair_tracker.h | 16 +-- 4 files changed, 272 insertions(+), 292 deletions(-) diff --git a/src/MISC/fix_pair_tracker.cpp b/src/MISC/fix_pair_tracker.cpp index a709792216..d415745347 100644 --- a/src/MISC/fix_pair_tracker.cpp +++ b/src/MISC/fix_pair_tracker.cpp @@ -31,92 +31,88 @@ using namespace FixConst; /* ---------------------------------------------------------------------- */ FixPairTracker::FixPairTracker(LAMMPS *lmp, int narg, char **arg) : - Fix(lmp, narg, arg), - nvalues(0), - array(NULL), vector(NULL), pack_choice(NULL) + Fix(lmp, narg, arg), nvalues(0), array(NULL), vector(NULL), pack_choice(NULL) { - if (narg < 3) error->all(FLERR,"Illegal fix pair/tracker command"); + if (narg < 3) error->all(FLERR, "Illegal fix pair/tracker command"); local_flag = 1; - nevery = utils::inumeric(FLERR,arg[3],false,lmp); - if (nevery <= 0) error->all(FLERR,"Illegal fix pair/tracker command"); + nevery = utils::inumeric(FLERR, arg[3], false, lmp); + if (nevery <= 0) error->all(FLERR, "Illegal fix pair/tracker command"); local_freq = nevery; // If optional arguments included, this will be oversized - nvalues = narg - 4; + nvalues = narg - 4; pack_choice = new FnPtrPack[nvalues]; - + tmin = -1; - type_filter = nullptr; + type_filter = nullptr; int iarg = 4; nvalues = 0; while (iarg < narg) { - if (strcmp(arg[iarg],"id1") == 0) { + if (strcmp(arg[iarg], "id1") == 0) { pack_choice[nvalues++] = &FixPairTracker::pack_id1; - } else if (strcmp(arg[iarg],"id2") == 0) { + } else if (strcmp(arg[iarg], "id2") == 0) { pack_choice[nvalues++] = &FixPairTracker::pack_id2; - - } else if (strcmp(arg[iarg],"time/created") == 0) { - pack_choice[nvalues++] = &FixPairTracker::pack_time_created; - } else if (strcmp(arg[iarg],"time/broken") == 0) { - pack_choice[nvalues++] = &FixPairTracker::pack_time_broken; - } else if (strcmp(arg[iarg],"time/total") == 0) { - pack_choice[nvalues++] = &FixPairTracker::pack_time_total; - - } else if (strcmp(arg[iarg],"x") == 0) { - pack_choice[nvalues++] = &FixPairTracker::pack_x; - } else if (strcmp(arg[iarg],"y") == 0) { - pack_choice[nvalues++] = &FixPairTracker::pack_y; - } else if (strcmp(arg[iarg],"z") == 0) { - pack_choice[nvalues++] = &FixPairTracker::pack_z; - - } else if (strcmp(arg[iarg],"r/min") == 0) { - pack_choice[nvalues++] = &FixPairTracker::pack_rmin; - } else if (strcmp(arg[iarg],"r/ave") == 0) { - pack_choice[nvalues++] = &FixPairTracker::pack_rave; - } else if (strcmp(arg[iarg],"time/min") == 0) { + } else if (strcmp(arg[iarg], "time/created") == 0) { + pack_choice[nvalues++] = &FixPairTracker::pack_time_created; + } else if (strcmp(arg[iarg], "time/broken") == 0) { + pack_choice[nvalues++] = &FixPairTracker::pack_time_broken; + } else if (strcmp(arg[iarg], "time/total") == 0) { + pack_choice[nvalues++] = &FixPairTracker::pack_time_total; + + } else if (strcmp(arg[iarg], "x") == 0) { + pack_choice[nvalues++] = &FixPairTracker::pack_x; + } else if (strcmp(arg[iarg], "y") == 0) { + pack_choice[nvalues++] = &FixPairTracker::pack_y; + } else if (strcmp(arg[iarg], "z") == 0) { + pack_choice[nvalues++] = &FixPairTracker::pack_z; + + } else if (strcmp(arg[iarg], "r/min") == 0) { + pack_choice[nvalues++] = &FixPairTracker::pack_rmin; + } else if (strcmp(arg[iarg], "r/ave") == 0) { + pack_choice[nvalues++] = &FixPairTracker::pack_rave; + + } else if (strcmp(arg[iarg], "time/min") == 0) { if (iarg + 1 >= narg) error->all(FLERR, "Invalid keyword in fix pair/tracker command"); - tmin = utils::numeric(FLERR,arg[iarg+1],false,lmp); - iarg ++; - - } else if (strcmp(arg[iarg],"type/include") == 0) { + tmin = utils::numeric(FLERR, arg[iarg + 1], false, lmp); + iarg++; + + } else if (strcmp(arg[iarg], "type/include") == 0) { if (iarg + 1 >= narg) error->all(FLERR, "Invalid keyword in fix pair/tracker command"); int ntypes = atom->ntypes; int i, j, itype, jtype, in, jn, infield, jnfield; int inlo, inhi, jnlo, jnhi; char *istr, *jstr; - if (! type_filter) { - memory->create(type_filter,ntypes+1,ntypes+1,"fix/pair/tracker:type_filter"); + if (!type_filter) { + memory->create(type_filter, ntypes + 1, ntypes + 1, "fix/pair/tracker:type_filter"); - for (i = 0; i <= ntypes; i ++) { - for (j = 0; j <= ntypes; j ++) { - type_filter[i][j] = 0; - } + for (i = 0; i <= ntypes; i++) { + for (j = 0; j <= ntypes; j++) { type_filter[i][j] = 0; } } } - - in = strlen(arg[iarg+1]) + 1; + + in = strlen(arg[iarg + 1]) + 1; istr = new char[in]; - strcpy(istr,arg[iarg+1]); + strcpy(istr, arg[iarg + 1]); std::vector iwords = Tokenizer(istr, ",").as_vector(); infield = iwords.size(); - jn = strlen(arg[iarg+2]) + 1; + jn = strlen(arg[iarg + 2]) + 1; jstr = new char[jn]; - strcpy(jstr,arg[iarg+2]); + strcpy(jstr, arg[iarg + 2]); std::vector jwords = Tokenizer(jstr, ",").as_vector(); jnfield = jwords.size(); for (i = 0; i < infield; i++) { - const char * ifield = iwords[i].c_str(); - utils::bounds(FLERR,ifield,1,ntypes,inlo,inhi,error); + const char *ifield = iwords[i].c_str(); + utils::bounds(FLERR, ifield, 1, ntypes, inlo, inhi, error); for (j = 0; j < jnfield; j++) { - const char * jfield = jwords[j].c_str(); - utils::bounds(FLERR,jfield,1,ntypes,jnlo,jnhi,error); - + const char *jfield = jwords[j].c_str(); + utils::bounds(FLERR, jfield, 1, ntypes, jnlo, jnhi, error); + for (itype = inlo; itype <= inhi; itype++) { for (jtype = jnlo; jtype <= jnhi; jtype++) { type_filter[itype][jtype] = 1; @@ -126,18 +122,21 @@ FixPairTracker::FixPairTracker(LAMMPS *lmp, int narg, char **arg) : } } - delete [] istr; - delete [] jstr; - + delete[] istr; + delete[] jstr; + iarg += 2; - - } else error->all(FLERR, "Invalid keyword in fix pair/tracker command"); - - iarg ++; + + } else + error->all(FLERR, "Invalid keyword in fix pair/tracker command"); + + iarg++; } - if (nvalues == 1) size_local_cols = 0; - else size_local_cols = nvalues; + if (nvalues == 1) + size_local_cols = 0; + else + size_local_cols = nvalues; nmax = 0; ncount = 0; @@ -148,10 +147,10 @@ FixPairTracker::FixPairTracker(LAMMPS *lmp, int narg, char **arg) : /* ---------------------------------------------------------------------- */ FixPairTracker::~FixPairTracker() -{ - delete [] pack_choice; +{ + delete[] pack_choice; - memory->destroy(vector); + memory->destroy(vector); memory->destroy(array); memory->destroy(type_filter); } @@ -171,75 +170,72 @@ void FixPairTracker::init() { // Set size of array/vector ncount = 0; - - if (ncount > nmax) - reallocate(ncount); - + + if (ncount > nmax) reallocate(ncount); + size_local_rows = ncount; } /* ---------------------------------------------------------------------- */ -void FixPairTracker::lost_contact(int i, int j, double time_tmp, double nstep_tmp, double rsum_tmp, double rmin_tmp) -{ - - double time = update->atime + (update->ntimestep-update->atimestep)*update->dt; - if ((time-time_tmp) < tmin) return; - +void FixPairTracker::lost_contact(int i, int j, double time_tmp, double nstep_tmp, double rsum_tmp, + double rmin_tmp) +{ + + double time = update->atime + (update->ntimestep - update->atimestep) * update->dt; + if ((time - time_tmp) < tmin) return; + if (type_filter) { int *type = atom->type; - if (type_filter[type[i]][type[j]] == 0) return; + if (type_filter[type[i]][type[j]] == 0) return; } - + int *mask = atom->mask; if (!(mask[i] & groupbit)) return; if (!(mask[j] & groupbit)) return; - + if (ncount == nmax) reallocate(ncount); - + index_i = i; index_j = j; - + rmin = rmin_tmp; rsum = rsum_tmp; time_initial = time_tmp; nstep_initial = nstep_tmp; - + // fill vector or array with local values if (nvalues == 1) { (this->*pack_choice[0])(0); } else { - for (int k = 0; k < nvalues; k++) { - (this->*pack_choice[k])(k); - } - } - - ncount += 1; + for (int k = 0; k < nvalues; k++) { (this->*pack_choice[k])(k); } + } + + ncount += 1; } /* ---------------------------------------------------------------------- */ -void FixPairTracker::post_force(int /*vflag*/) -{ +void FixPairTracker::post_force(int /*vflag*/) +{ if (update->ntimestep % nevery == 0) { size_local_rows = ncount; - ncount = 0; + ncount = 0; } } - /* ---------------------------------------------------------------------- */ void FixPairTracker::reallocate(int n) { - // grow vector or array + // grow vector or array while (nmax <= n) nmax += DELTA; - + if (nvalues == 1) { - memory->grow(vector,nmax,"fix_pair_tracker:vector"); + memory->grow(vector, nmax, "fix_pair_tracker:vector"); vector_local = vector; } else { - memory->grow(array,nmax,nvalues,"fix_pair_tracker:array"); + memory->grow(array, nmax, nvalues, "fix_pair_tracker:array"); array_local = array; } } @@ -250,8 +246,8 @@ void FixPairTracker::reallocate(int n) double FixPairTracker::memory_usage() { - double bytes = nmax*nvalues * sizeof(double); - bytes += nmax*2 * sizeof(int); + double bytes = nmax * nvalues * sizeof(double); + bytes += nmax * 2 * sizeof(int); return bytes; } @@ -262,7 +258,7 @@ double FixPairTracker::memory_usage() /* ---------------------------------------------------------------------- */ -void FixPairTracker::pack_time_created(int n) +void FixPairTracker::pack_time_created(int n) { if (nvalues == 1) vector[ncount] = time_initial; @@ -272,9 +268,9 @@ void FixPairTracker::pack_time_created(int n) /* ---------------------------------------------------------------------- */ -void FixPairTracker::pack_time_broken(int n) +void FixPairTracker::pack_time_broken(int n) { - double time = update->atime + (update->ntimestep-update->atimestep)*update->dt; + double time = update->atime + (update->ntimestep - update->atimestep) * update->dt; if (nvalues == 1) vector[ncount] = time; else @@ -283,22 +279,21 @@ void FixPairTracker::pack_time_broken(int n) /* ---------------------------------------------------------------------- */ -void FixPairTracker::pack_time_total(int n) +void FixPairTracker::pack_time_total(int n) { - double time = update->atime + (update->ntimestep-update->atimestep)*update->dt; + double time = update->atime + (update->ntimestep - update->atimestep) * update->dt; if (nvalues == 1) - vector[ncount] = time-time_initial; + vector[ncount] = time - time_initial; else - array[ncount][n] = time-time_initial; + array[ncount][n] = time - time_initial; } - /* ---------------------------------------------------------------------- */ -void FixPairTracker::pack_id1(int n) +void FixPairTracker::pack_id1(int n) { tagint *tag = atom->tag; - + if (nvalues == 1) vector[ncount] = tag[index_i]; else @@ -321,38 +316,36 @@ void FixPairTracker::pack_id2(int n) void FixPairTracker::pack_x(int n) { - double **x = atom->x; - - if (nvalues == 1) - vector[ncount] = (x[index_i][0] + x[index_j][0])/2; - else - array[ncount][n] = (x[index_i][0] + x[index_j][0])/2; -} + double **x = atom->x; + if (nvalues == 1) + vector[ncount] = (x[index_i][0] + x[index_j][0]) / 2; + else + array[ncount][n] = (x[index_i][0] + x[index_j][0]) / 2; +} /* ---------------------------------------------------------------------- */ void FixPairTracker::pack_y(int n) { - double **x = atom->x; - - if (nvalues == 1) - vector[ncount] = (x[index_i][1] + x[index_j][1])/2; - else - array[ncount][n] = (x[index_i][1] + x[index_j][1])/2; -} + double **x = atom->x; + if (nvalues == 1) + vector[ncount] = (x[index_i][1] + x[index_j][1]) / 2; + else + array[ncount][n] = (x[index_i][1] + x[index_j][1]) / 2; +} /* ---------------------------------------------------------------------- */ void FixPairTracker::pack_z(int n) { - double **x = atom->x; - + double **x = atom->x; + if (nvalues == 1) - vector[ncount] = (x[index_i][2] + x[index_j][2])/2; + vector[ncount] = (x[index_i][2] + x[index_j][2]) / 2; else - array[ncount][n] = (x[index_i][2] + x[index_j][2])/2; + array[ncount][n] = (x[index_i][2] + x[index_j][2]) / 2; } /* ---------------------------------------------------------------------- */ @@ -370,7 +363,7 @@ void FixPairTracker::pack_rmin(int n) void FixPairTracker::pack_rave(int n) { if (nvalues == 1) - vector[ncount] = rsum/(update->ntimestep-nstep_initial); + vector[ncount] = rsum / (update->ntimestep - nstep_initial); else - array[ncount][n] = rsum/(update->ntimestep-nstep_initial); + array[ncount][n] = rsum / (update->ntimestep - nstep_initial); } diff --git a/src/MISC/fix_pair_tracker.h b/src/MISC/fix_pair_tracker.h index 7977357022..8547cdb92f 100644 --- a/src/MISC/fix_pair_tracker.h +++ b/src/MISC/fix_pair_tracker.h @@ -12,9 +12,9 @@ ------------------------------------------------------------------------- */ #ifdef FIX_CLASS - -FixStyle(pair/tracker,FixPairTracker) - +// clang-format off +FixStyle(pair/tracker,FixPairTracker); +// clang-format on #else #ifndef LMP_FIX_PAIR_TRACKING_H @@ -25,54 +25,53 @@ FixStyle(pair/tracker,FixPairTracker) namespace LAMMPS_NS { class FixPairTracker : public Fix { - public: + public: FixPairTracker(class LAMMPS *, int, char **); ~FixPairTracker(); - int setmask(); + int setmask(); void init(); void post_force(int); double memory_usage(); void lost_contact(int, int, double, double, double, double); - + private: int nvalues, never; int nmax; int store_flag; int index_i, index_j; double tmin, rmin, rsum, time_initial, nstep_initial; - + double *vector; double **array; int **type_filter; - + double lx; double ly; - double lz; + double lz; int ncount; void reallocate(int); typedef void (FixPairTracker::*FnPtrPack)(int); - FnPtrPack *pack_choice; // ptrs to pack functions + FnPtrPack *pack_choice; // ptrs to pack functions void pack_id1(int); void pack_id2(int); - - void pack_time_created(int); - void pack_time_broken(int); - void pack_time_total(int); - - void pack_x(int); - void pack_y(int); - void pack_z(int); - + + void pack_time_created(int); + void pack_time_broken(int); + void pack_time_total(int); + + void pack_x(int); + void pack_y(int); + void pack_z(int); + void pack_rmin(int); void pack_rave(int); - }; -} +} // namespace LAMMPS_NS #endif #endif diff --git a/src/MISC/pair_tracker.cpp b/src/MISC/pair_tracker.cpp index 38616a1b09..159dd8b0bc 100644 --- a/src/MISC/pair_tracker.cpp +++ b/src/MISC/pair_tracker.cpp @@ -12,6 +12,7 @@ ------------------------------------------------------------------------- */ #include "pair_tracker.h" + #include "atom.h" #include "comm.h" #include "error.h" @@ -22,9 +23,9 @@ #include "force.h" #include "memory.h" #include "modify.h" -#include "neighbor.h" #include "neigh_list.h" #include "neigh_request.h" +#include "neighbor.h" #include "update.h" using namespace LAMMPS_NS; @@ -38,9 +39,9 @@ PairTracker::PairTracker(LAMMPS *lmp) : Pair(lmp) neighprev = 0; history = 1; - size_history = 4; + size_history = 4; nondefault_history_transfer = 1; - + finitecutflag = 0; // create dummy fix as placeholder for FixNeighHistory @@ -48,25 +49,27 @@ PairTracker::PairTracker(LAMMPS *lmp) : Pair(lmp) fix_history = nullptr; modify->add_fix("NEIGH_HISTORY_TRACK_DUMMY all DUMMY"); - fix_dummy = (FixDummy *) modify->fix[modify->nfix-1]; + fix_dummy = (FixDummy *) modify->fix[modify->nfix - 1]; } /* ---------------------------------------------------------------------- */ PairTracker::~PairTracker() { - if (!fix_history) modify->delete_fix("NEIGH_HISTORY_TRACK_DUMMY"); - else modify->delete_fix("NEIGH_HISTORY_TRACK"); + if (!fix_history) + modify->delete_fix("NEIGH_HISTORY_TRACK_DUMMY"); + else + modify->delete_fix("NEIGH_HISTORY_TRACK"); if (allocated) { memory->destroy(setflag); memory->destroy(cutsq); memory->destroy(cut); - delete [] onerad_dynamic; - delete [] onerad_frozen; - delete [] maxrad_dynamic; - delete [] maxrad_frozen; + delete[] onerad_dynamic; + delete[] onerad_frozen; + delete[] maxrad_dynamic; + delete[] maxrad_frozen; } } @@ -74,16 +77,16 @@ PairTracker::~PairTracker() void PairTracker::compute(int eflag, int vflag) { - int i,j,ii,jj,inum,jnum,itype,jtype; - double xtmp,ytmp,ztmp,delx,dely,delz,time; - double radi,radj,radsum,rsq,r; - int *ilist,*jlist,*numneigh,**firstneigh; - int *touch,**firsttouch; - double *data,*alldata,**firstdata; + int i, j, ii, jj, inum, jnum, itype, jtype; + double xtmp, ytmp, ztmp, delx, dely, delz, time; + double radi, radj, radsum, rsq, r; + int *ilist, *jlist, *numneigh, **firstneigh; + int *touch, **firsttouch; + double *data, *alldata, **firstdata; int updateflag = 1; if (update->setupflag) updateflag = 0; - ev_init(eflag,vflag); + ev_init(eflag, vflag); double **x = atom->x; double *radius = atom->radius; @@ -119,67 +122,67 @@ void PairTracker::compute(int eflag, int vflag) delx = xtmp - x[j][0]; dely = ytmp - x[j][1]; delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; + rsq = delx * delx + dely * dely + delz * delz; r = sqrt(rsq); if (finitecutflag) { radj = radius[j]; radsum = radi + radj; - - if (rsq >= radsum*radsum) { - data = &alldata[size_history*jj]; - if(touch[jj] == 1) { + if (rsq >= radsum * radsum) { + + data = &alldata[size_history * jj]; + if (touch[jj] == 1) { fix_pair_tracker->lost_contact(i, j, data[0], data[1], data[2], data[3]); } touch[jj] = 0; - data[0] = 0.0; // initial time - data[1] = 0.0; // initial timestep - data[2] = 0.0; // sum of r, may overflow - data[3] = 0.0; // min of r - - } else { + data[0] = 0.0; // initial time + data[1] = 0.0; // initial timestep + data[2] = 0.0; // sum of r, may overflow + data[3] = 0.0; // min of r - data = &alldata[size_history*jj]; + } else { + + data = &alldata[size_history * jj]; if (touch[jj] == 0) { - time = update->atime + (update->ntimestep-update->atimestep)*update->dt; + time = update->atime + (update->ntimestep - update->atimestep) * update->dt; data[0] = time; data[1] = (double) update->ntimestep; data[2] = r; data[3] = r; } else if (updateflag) { data[2] += r; - if(data[3] > r) data[3] = r; + if (data[3] > r) data[3] = r; } touch[jj] = 1; } - } else { - jtype = type[j]; + } else { + jtype = type[j]; if (rsq >= cutsq[itype][jtype]) { - - data = &alldata[size_history*jj]; - if(touch[jj] == 1) { + + data = &alldata[size_history * jj]; + if (touch[jj] == 1) { fix_pair_tracker->lost_contact(i, j, data[0], data[1], data[2], data[3]); } - - touch[jj] = 0; - data[0] = 0.0; // initial time - data[1] = 0.0; // initial timestep - data[2] = 0.0; // sum of r, may overflow - data[3] = 0.0; // min of r - - } else { - data = &alldata[size_history*jj]; + touch[jj] = 0; + data[0] = 0.0; // initial time + data[1] = 0.0; // initial timestep + data[2] = 0.0; // sum of r, may overflow + data[3] = 0.0; // min of r + + } else { + + data = &alldata[size_history * jj]; if (touch[jj] == 0) { - time = update->atime + (update->ntimestep-update->atimestep)*update->dt; + time = update->atime + (update->ntimestep - update->atimestep) * update->dt; data[0] = time; data[1] = (double) update->ntimestep; data[2] = r; data[3] = r; } else if (updateflag) { data[2] += r; - if(data[3] > r) data[3] = r; + if (data[3] > r) data[3] = r; } touch[jj] = 1; } @@ -197,18 +200,17 @@ void PairTracker::allocate() allocated = 1; int n = atom->ntypes; - memory->create(setflag,n+1,n+1,"pair:setflag"); + memory->create(setflag, n + 1, n + 1, "pair:setflag"); for (int i = 1; i <= n; i++) - for (int j = i; j <= n; j++) - setflag[i][j] = 0; + for (int j = i; j <= n; j++) setflag[i][j] = 0; - memory->create(cutsq,n+1,n+1,"pair:cutsq"); - memory->create(cut,n+1,n+1,"pair:cut"); + memory->create(cutsq, n + 1, n + 1, "pair:cutsq"); + memory->create(cut, n + 1, n + 1, "pair:cut"); - onerad_dynamic = new double[n+1]; - onerad_frozen = new double[n+1]; - maxrad_dynamic = new double[n+1]; - maxrad_frozen = new double[n+1]; + onerad_dynamic = new double[n + 1]; + onerad_frozen = new double[n + 1]; + maxrad_dynamic = new double[n + 1]; + maxrad_frozen = new double[n + 1]; } /* ---------------------------------------------------------------------- @@ -217,11 +219,13 @@ void PairTracker::allocate() void PairTracker::settings(int narg, char **arg) { - if (narg != 0 && narg != 1) error->all(FLERR,"Illegal pair_style command"); + if (narg != 0 && narg != 1) error->all(FLERR, "Illegal pair_style command"); if (narg == 1) { - if (strcmp(arg[0], "finite") == 0) finitecutflag = 1; - else error->all(FLERR,"Illegal pair_style command"); + if (strcmp(arg[0], "finite") == 0) + finitecutflag = 1; + else + error->all(FLERR, "Illegal pair_style command"); } } @@ -231,27 +235,27 @@ void PairTracker::settings(int narg, char **arg) void PairTracker::coeff(int narg, char **arg) { - if (narg > 2 && finitecutflag) error->all(FLERR,"Incorrect args for pair coefficients"); - if (narg != 3 && !finitecutflag) error->all(FLERR,"Incorrect args for pair coefficients"); + if (narg > 2 && finitecutflag) error->all(FLERR, "Incorrect args for pair coefficients"); + if (narg != 3 && !finitecutflag) error->all(FLERR, "Incorrect args for pair coefficients"); if (!allocated) allocate(); - int ilo,ihi,jlo,jhi; - utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); - utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); + int ilo, ihi, jlo, jhi; + utils::bounds(FLERR, arg[0], 1, atom->ntypes, ilo, ihi, error); + utils::bounds(FLERR, arg[1], 1, atom->ntypes, jlo, jhi, error); double cut_one = 0.0; - if (!finitecutflag) cut_one = utils::numeric(FLERR,arg[2],false,lmp); + if (!finitecutflag) cut_one = utils::numeric(FLERR, arg[2], false, lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { - for (int j = MAX(jlo,i); j <= jhi; j++) { + for (int j = MAX(jlo, i); j <= jhi; j++) { setflag[i][j] = 1; cut[i][j] = cut_one; count++; } } - if (count == 0) error->all(FLERR,"Incorrect args for pair coefficients"); + if (count == 0) error->all(FLERR, "Incorrect args for pair coefficients"); } /* ---------------------------------------------------------------------- @@ -265,15 +269,15 @@ void PairTracker::init_style() // error and warning checks if (!atom->radius_flag && finitecutflag) - error->all(FLERR,"Pair tracker requires atom attribute radius for finite cutoffs"); + error->all(FLERR, "Pair tracker requires atom attribute radius for finite cutoffs"); // need a history neigh list - int irequest = neighbor->request(this,instance_me); + int irequest = neighbor->request(this, instance_me); if (finitecutflag) { neighbor->requests[irequest]->size = 1; neighbor->requests[irequest]->history = 1; - // history flag won't affect results, but match granular pairstyles + // history flag won't affect results, but match granular pairstyles // so neighborlist can be copied to reduce overhead } @@ -283,14 +287,14 @@ void PairTracker::init_style() if (fix_history == nullptr) { char dnumstr[16]; - sprintf(dnumstr,"%d",size_history); - char **fixarg = new char*[4]; + sprintf(dnumstr, "%d", size_history); + char **fixarg = new char *[4]; fixarg[0] = (char *) "NEIGH_HISTORY_TRACK"; fixarg[1] = (char *) "all"; fixarg[2] = (char *) "NEIGH_HISTORY"; fixarg[3] = dnumstr; - modify->replace_fix("NEIGH_HISTORY_TRACK_DUMMY",4,fixarg,1); - delete [] fixarg; + modify->replace_fix("NEIGH_HISTORY_TRACK_DUMMY", 4, fixarg, 1); + delete[] fixarg; int ifix = modify->find_fix("NEIGH_HISTORY_TRACK"); fix_history = (FixNeighHistory *) modify->fix[ifix]; fix_history->pair = this; @@ -298,63 +302,60 @@ void PairTracker::init_style() } if (finitecutflag) { - - if(force->pair->beyond_contact) - error->all(FLERR, "Pair tracker incompatible with granular pairstyles that extend beyond contact"); + + if (force->pair->beyond_contact) + error->all(FLERR, + "Pair tracker incompatible with granular pairstyles that extend beyond contact"); // check for FixPour and FixDeposit so can extract particle radii - + int ipour; for (ipour = 0; ipour < modify->nfix; ipour++) - if (strcmp(modify->fix[ipour]->style,"pour") == 0) break; + if (strcmp(modify->fix[ipour]->style, "pour") == 0) break; if (ipour == modify->nfix) ipour = -1; - + int idep; for (idep = 0; idep < modify->nfix; idep++) - if (strcmp(modify->fix[idep]->style,"deposit") == 0) break; + if (strcmp(modify->fix[idep]->style, "deposit") == 0) break; if (idep == modify->nfix) idep = -1; - + // set maxrad_dynamic and maxrad_frozen for each type // include future FixPour and FixDeposit particles as dynamic - + int itype; for (i = 1; i <= atom->ntypes; i++) { onerad_dynamic[i] = onerad_frozen[i] = 0.0; if (ipour >= 0) { itype = i; - onerad_dynamic[i] = - *((double *) modify->fix[ipour]->extract("radius",itype)); + onerad_dynamic[i] = *((double *) modify->fix[ipour]->extract("radius", itype)); } if (idep >= 0) { itype = i; - onerad_dynamic[i] = - *((double *) modify->fix[idep]->extract("radius",itype)); + onerad_dynamic[i] = *((double *) modify->fix[idep]->extract("radius", itype)); } } - + double *radius = atom->radius; int *mask = atom->mask; int *type = atom->type; int nlocal = atom->nlocal; - + for (i = 0; i < nlocal; i++) if (mask[i] & freeze_group_bit) - onerad_frozen[type[i]] = MAX(onerad_frozen[type[i]],radius[i]); + onerad_frozen[type[i]] = MAX(onerad_frozen[type[i]], radius[i]); else - onerad_dynamic[type[i]] = MAX(onerad_dynamic[type[i]],radius[i]); - - MPI_Allreduce(&onerad_dynamic[1],&maxrad_dynamic[1],atom->ntypes, - MPI_DOUBLE,MPI_MAX,world); - MPI_Allreduce(&onerad_frozen[1],&maxrad_frozen[1],atom->ntypes, - MPI_DOUBLE,MPI_MAX,world); + onerad_dynamic[type[i]] = MAX(onerad_dynamic[type[i]], radius[i]); + + MPI_Allreduce(&onerad_dynamic[1], &maxrad_dynamic[1], atom->ntypes, MPI_DOUBLE, MPI_MAX, world); + MPI_Allreduce(&onerad_frozen[1], &maxrad_frozen[1], atom->ntypes, MPI_DOUBLE, MPI_MAX, world); } int ifix = modify->find_fix("NEIGH_HISTORY_TRACK"); - if (ifix < 0) error->all(FLERR,"Could not find pair fix neigh history ID"); + if (ifix < 0) error->all(FLERR, "Could not find pair fix neigh history ID"); fix_history = (FixNeighHistory *) modify->fix[ifix]; - + ifix = modify->find_fix_by_style("pair/tracker"); - if(ifix < 0) error->all(FLERR,"Cannot use pair tracker without fix pair/tracker"); - fix_pair_tracker = (FixPairTracker *) modify->fix[ifix]; + if (ifix < 0) error->all(FLERR, "Cannot use pair tracker without fix pair/tracker"); + fix_pair_tracker = (FixPairTracker *) modify->fix[ifix]; } /* ---------------------------------------------------------------------- @@ -367,20 +368,18 @@ double PairTracker::init_one(int i, int j) // always mix prefactors geometrically - if (setflag[i][j] == 0) { - cut[i][j] = mix_distance(cut[i][i],cut[j][j]); - } + if (setflag[i][j] == 0) { cut[i][j] = mix_distance(cut[i][i], cut[j][j]); } cut[j][i] = cut[i][j]; - + // if finite, cutoff = sum of max I,J radii for // dynamic/dynamic & dynamic/frozen interactions, but not frozen/frozen - double cutoff; + double cutoff; if (finitecutflag) { - cutoff = maxrad_dynamic[i]+maxrad_dynamic[j]; - cutoff = MAX(cutoff,maxrad_frozen[i]+maxrad_dynamic[j]); - cutoff = MAX(cutoff,maxrad_dynamic[i]+maxrad_frozen[j]); - } else { + cutoff = maxrad_dynamic[i] + maxrad_dynamic[j]; + cutoff = MAX(cutoff, maxrad_frozen[i] + maxrad_dynamic[j]); + cutoff = MAX(cutoff, maxrad_dynamic[i] + maxrad_frozen[j]); + } else { cutoff = cut[i][j]; } return cutoff; @@ -394,13 +393,11 @@ void PairTracker::write_restart(FILE *fp) { write_restart_settings(fp); - int i,j; + int i, j; for (i = 1; i <= atom->ntypes; i++) for (j = i; j <= atom->ntypes; j++) { - fwrite(&setflag[i][j],sizeof(int),1,fp); - if (setflag[i][j]) { - fwrite(&cut[i][j],sizeof(double),1,fp); - } + fwrite(&setflag[i][j], sizeof(int), 1, fp); + if (setflag[i][j]) { fwrite(&cut[i][j], sizeof(double), 1, fp); } } } @@ -413,18 +410,16 @@ void PairTracker::read_restart(FILE *fp) read_restart_settings(fp); allocate(); - int i,j; + int i, j; int me = comm->me; for (i = 1; i <= atom->ntypes; i++) for (j = i; j <= atom->ntypes; j++) { - if (me == 0) utils::sfread(FLERR,&setflag[i][j],sizeof(int),1,fp,nullptr,error); - MPI_Bcast(&setflag[i][j],1,MPI_INT,0,world); + if (me == 0) utils::sfread(FLERR, &setflag[i][j], sizeof(int), 1, fp, nullptr, error); + MPI_Bcast(&setflag[i][j], 1, MPI_INT, 0, world); if (setflag[i][j]) { - if (me == 0) { - utils::sfread(FLERR,&cut[i][j],sizeof(double),1,fp,nullptr,error); - } - MPI_Bcast(&cut[i][j],1,MPI_DOUBLE,0,world); - } + if (me == 0) { utils::sfread(FLERR, &cut[i][j], sizeof(double), 1, fp, nullptr, error); } + MPI_Bcast(&cut[i][j], 1, MPI_DOUBLE, 0, world); + } } } @@ -434,7 +429,7 @@ void PairTracker::read_restart(FILE *fp) void PairTracker::write_restart_settings(FILE *fp) { - fwrite(&mix_flag,sizeof(int),1,fp); + fwrite(&mix_flag, sizeof(int), 1, fp); } /* ---------------------------------------------------------------------- @@ -443,18 +438,14 @@ void PairTracker::write_restart_settings(FILE *fp) void PairTracker::read_restart_settings(FILE *fp) { - if (comm->me == 0) { - utils::sfread(FLERR,&mix_flag,sizeof(int),1,fp,nullptr,error); - } - MPI_Bcast(&mix_flag,1,MPI_INT,0,world); + if (comm->me == 0) { utils::sfread(FLERR, &mix_flag, sizeof(int), 1, fp, nullptr, error); } + MPI_Bcast(&mix_flag, 1, MPI_INT, 0, world); } /* ---------------------------------------------------------------------- */ -double PairTracker::single(int i, int j, int /*itype*/, int /*jtype*/, - double rsq, - double /*factor_coul*/, double /*factor_lj*/, - double &fforce) +double PairTracker::single(int i, int j, int /*itype*/, int /*jtype*/, double rsq, + double /*factor_coul*/, double /*factor_lj*/, double &fforce) { return 0.0; } @@ -464,20 +455,18 @@ double PairTracker::single(int i, int j, int /*itype*/, int /*jtype*/, only needed if any history entries i-j are not just negative of j-i entries ------------------------------------------------------------------------- */ -void PairTracker::transfer_history(double* source, double* target) +void PairTracker::transfer_history(double *source, double *target) { - for (int i = 0; i < size_history; i++) - target[i] = source[i]; + for (int i = 0; i < size_history; i++) target[i] = source[i]; } - /* ---------------------------------------------------------------------- self-interaction range of particle if finite particles ------------------------------------------------------------------------- */ double PairTracker::atom2cut(int i) { - double cut = atom->radius[i]*2; + double cut = atom->radius[i] * 2; return cut; } @@ -487,7 +476,6 @@ double PairTracker::atom2cut(int i) double PairTracker::radii2cut(double r1, double r2) { - double cut = r1+r2; + double cut = r1 + r2; return cut; } - diff --git a/src/MISC/pair_tracker.h b/src/MISC/pair_tracker.h index dced79977d..b2fe85e74e 100644 --- a/src/MISC/pair_tracker.h +++ b/src/MISC/pair_tracker.h @@ -12,9 +12,9 @@ ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS - -PairStyle(tracker,PairTracker) - +// clang-format off +PairStyle(tracker,PairTracker); +// clang-format on #else #ifndef LMP_PAIR_TRACKER_H @@ -39,7 +39,7 @@ class PairTracker : public Pair { void read_restart_settings(FILE *); virtual double single(int, int, int, int, double, double, double, double &); double atom2cut(int); - double radii2cut(double,double); + double radii2cut(double, double); protected: int sizeflag; @@ -47,19 +47,19 @@ class PairTracker : public Pair { int size_history; int neighprev; double **cut; - double *onerad_dynamic,*onerad_frozen; - double *maxrad_dynamic,*maxrad_frozen; + double *onerad_dynamic, *onerad_frozen; + double *maxrad_dynamic, *maxrad_frozen; int freeze_group_bit; class FixDummy *fix_dummy; class FixNeighHistory *fix_history; class FixPairTracker *fix_pair_tracker; - void transfer_history(double*, double*); + void transfer_history(double *, double *); void allocate(); }; -} +} // namespace LAMMPS_NS #endif #endif From 4d3897c482611d772a23a08986b092465145c1d6 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 4 Jun 2021 00:49:30 -0400 Subject: [PATCH 139/726] update LAMMPS homepage URLs --- src/MISC/fix_pair_tracker.cpp | 2 +- src/MISC/fix_pair_tracker.h | 2 +- src/MISC/pair_tracker.cpp | 2 +- src/MISC/pair_tracker.h | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/MISC/fix_pair_tracker.cpp b/src/MISC/fix_pair_tracker.cpp index d415745347..2a69bb7592 100644 --- a/src/MISC/fix_pair_tracker.cpp +++ b/src/MISC/fix_pair_tracker.cpp @@ -1,6 +1,6 @@ /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories + https://www.lammps.org/ Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract diff --git a/src/MISC/fix_pair_tracker.h b/src/MISC/fix_pair_tracker.h index 8547cdb92f..1458d7b80d 100644 --- a/src/MISC/fix_pair_tracker.h +++ b/src/MISC/fix_pair_tracker.h @@ -1,6 +1,6 @@ /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories + https://www.lammps.org/ Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract diff --git a/src/MISC/pair_tracker.cpp b/src/MISC/pair_tracker.cpp index 159dd8b0bc..0e6a63825b 100644 --- a/src/MISC/pair_tracker.cpp +++ b/src/MISC/pair_tracker.cpp @@ -1,6 +1,6 @@ /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - https://lammps.sandia.gov/, Sandia National Laboratories + https://www.lammps.org/, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract diff --git a/src/MISC/pair_tracker.h b/src/MISC/pair_tracker.h index b2fe85e74e..85798a6ae0 100644 --- a/src/MISC/pair_tracker.h +++ b/src/MISC/pair_tracker.h @@ -1,6 +1,6 @@ /* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - https://lammps.sandia.gov/, Sandia National Laboratories + https://www.lammps.org/, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract From 8e082c2f6af2893e9b28855887a9f517d45482f9 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 4 Jun 2021 00:56:09 -0400 Subject: [PATCH 140/726] complete integration into manual --- doc/src/Commands_fix.rst | 1 + doc/src/Commands_pair.rst | 1 + doc/src/fix.rst | 1 + doc/src/pair_style.rst | 1 + 4 files changed, 4 insertions(+) diff --git a/doc/src/Commands_fix.rst b/doc/src/Commands_fix.rst index 0dbe8f5bec..03a6b09bd8 100644 --- a/doc/src/Commands_fix.rst +++ b/doc/src/Commands_fix.rst @@ -157,6 +157,7 @@ OPT. * :doc:`orient/fcc ` * :doc:`orient/eco ` * :doc:`pafi ` + * :doc:`pair/tracker ` * :doc:`phonon ` * :doc:`pimd ` * :doc:`planeforce ` diff --git a/doc/src/Commands_pair.rst b/doc/src/Commands_pair.rst index d76785d221..03c1cbb526 100644 --- a/doc/src/Commands_pair.rst +++ b/doc/src/Commands_pair.rst @@ -266,6 +266,7 @@ OPT. * :doc:`tip4p/cut (o) ` * :doc:`tip4p/long (o) ` * :doc:`tip4p/long/soft (o) ` + * :doc:`tracker ` * :doc:`tri/lj ` * :doc:`ufm (got) ` * :doc:`vashishta (gko) ` diff --git a/doc/src/fix.rst b/doc/src/fix.rst index d54594d5af..067cb8c6d7 100644 --- a/doc/src/fix.rst +++ b/doc/src/fix.rst @@ -300,6 +300,7 @@ accelerated styles exist. * :doc:`orient/fcc ` - add grain boundary migration force for FCC * :doc:`orient/eco ` - add generalized grain boundary migration force * :doc:`pafi ` - constrained force averages on hyper-planes to compute free energies (PAFI) +* :doc:`pair/tracker ` - track properties of pairwise interactions * :doc:`phonon ` - calculate dynamical matrix from MD simulations * :doc:`pimd ` - Feynman path integral molecular dynamics * :doc:`planeforce ` - constrain atoms to move in a plane diff --git a/doc/src/pair_style.rst b/doc/src/pair_style.rst index 14b30c124a..2e9e569c17 100644 --- a/doc/src/pair_style.rst +++ b/doc/src/pair_style.rst @@ -331,6 +331,7 @@ accelerated styles exist. * :doc:`tip4p/cut ` - Coulomb for TIP4P water w/out LJ * :doc:`tip4p/long ` - long-range Coulomb for TIP4P water w/out LJ * :doc:`tip4p/long/soft ` - +* :doc:`tracker ` - monitor information about pairwise interactions * :doc:`tri/lj ` - LJ potential between triangles * :doc:`ufm ` - * :doc:`vashishta ` - Vashishta 2-body and 3-body potential From 337ba1f729c01d8618ac3bb3a3ae74fe97401b22 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 4 Jun 2021 00:56:24 -0400 Subject: [PATCH 141/726] fix spelling issues --- doc/src/fix_pair_tracker.rst | 4 ++-- doc/src/pair_tracker.rst | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/doc/src/fix_pair_tracker.rst b/doc/src/fix_pair_tracker.rst index a42fbbfe23..4a8e56339f 100644 --- a/doc/src/fix_pair_tracker.rst +++ b/doc/src/fix_pair_tracker.rst @@ -53,7 +53,7 @@ Description Tracks properties of pairwise interactions between two atoms and records data whenever the atoms move beyond the interaction cutoff. -Must be used in conjuction with :doc:`pair tracker `. +Must be used in conjunction with :doc:`pair tracker `. Data is accumulated over a span of *N* timesteps before being deleted. The number of datums generated, aggregated across all processors, equals the number of broken interactions. Interactions are only included if both @@ -107,7 +107,7 @@ specified attribute. Restrictions """""""""""" -Must be used in conjuction with :doc:`pair tracker `. +Must be used in conjunction with :doc:`pair style tracker `. Related commands """""""""""""""" diff --git a/doc/src/pair_tracker.rst b/doc/src/pair_tracker.rst index 8d7a0985cd..2cde206386 100644 --- a/doc/src/pair_tracker.rst +++ b/doc/src/pair_tracker.rst @@ -51,7 +51,7 @@ commands, or by mixing as described below: * cutoff (distance units) -If the *finite* keyword is defined, no coeffients may be defined. +If the *finite* keyword is defined, no coefficients may be defined. Interaction cutoffs are alternatively calculated based on the diameter of finite particles. @@ -80,7 +80,7 @@ Restrictions A corresponding :doc:`fix pair_tracker ` must be defined to use this pair style. -This pairstyle is currently incompatible with granular pairstyles that extend +This pair style is currently incompatible with granular pair styles that extend beyond the contact (e.g. JKR and DMT). Related commands From 2500169193dd9d1474709ed6d0962bebec1f9339 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 4 Jun 2021 00:57:26 -0400 Subject: [PATCH 142/726] whitespace --- doc/src/dump_modify.rst | 2 +- doc/src/fix_pair_tracker.rst | 22 +++++++++++----------- doc/src/pair_tracker.rst | 22 +++++++++++----------- src/MISC/pair_tracker.h | 2 +- src/fix_neigh_history.cpp | 8 ++++---- src/pair_hybrid.cpp | 4 ++-- 6 files changed, 30 insertions(+), 30 deletions(-) diff --git a/doc/src/dump_modify.rst b/doc/src/dump_modify.rst index f04e0e747f..a66c571dea 100644 --- a/doc/src/dump_modify.rst +++ b/doc/src/dump_modify.rst @@ -981,7 +981,7 @@ images less frequently. ---------- The *header* keyword toggles whether the dump file will include a header. -Excluding a header will reduce the size of the dump file for fixes such as +Excluding a header will reduce the size of the dump file for fixes such as :doc:`fix pair/tracker ` which do not require the information typically written to the header. diff --git a/doc/src/fix_pair_tracker.rst b/doc/src/fix_pair_tracker.rst index 4a8e56339f..e46aa54319 100644 --- a/doc/src/fix_pair_tracker.rst +++ b/doc/src/fix_pair_tracker.rst @@ -36,7 +36,7 @@ Syntax .. parsed-literal:: *time/min* value = T - T = minimum interaction time + T = minimum interaction time *type/include* value = arg1 arg2 arg = separate lists of types (see below) @@ -52,23 +52,23 @@ Description """"""""""" Tracks properties of pairwise interactions between two atoms and records data -whenever the atoms move beyond the interaction cutoff. +whenever the atoms move beyond the interaction cutoff. Must be used in conjunction with :doc:`pair tracker `. Data is accumulated over a span of *N* timesteps before being deleted. -The number of datums generated, aggregated across all processors, equals +The number of datums generated, aggregated across all processors, equals the number of broken interactions. Interactions are only included if both atoms are included in the specified fix group. Additional filters can be applied using the *time/min* or *type/include* keywords described below. .. note:: - For extremely long-lived interactions, the calculation of *r/ave* may not be + For extremely long-lived interactions, the calculation of *r/ave* may not be correct due to double overflow. -The *time/min* keyword sets a minimum amount of time that an interaction must -persist to be included. This setting can be used to censor short-lived interactions. -The *type/include* keyword filters interactions based on the types of the two atoms. -Data is only saved for interactions between atoms with types in the two lists. +The *time/min* keyword sets a minimum amount of time that an interaction must +persist to be included. This setting can be used to censor short-lived interactions. +The *type/include* keyword filters interactions based on the types of the two atoms. +Data is only saved for interactions between atoms with types in the two lists. Each list consists of a series of type ranges separated by commas. The range can be specified as a single numeric value, or a wildcard asterisk can be used to specify a range @@ -84,9 +84,9 @@ Multiple *type/include* keywords may be added. Restart, fix_modify, run start/stop, minimize info """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" -No information about this fix is written to :doc:`binary restart files `. +No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix_modify ` options are -relevant to this fix. +relevant to this fix. No parameter of this fix can be used with the *start/stop* keywords of the :doc:`run ` command. @@ -108,7 +108,7 @@ specified attribute. Restrictions """""""""""" Must be used in conjunction with :doc:`pair style tracker `. - + Related commands """""""""""""""" diff --git a/doc/src/pair_tracker.rst b/doc/src/pair_tracker.rst index 2cde206386..58abd69aae 100644 --- a/doc/src/pair_tracker.rst +++ b/doc/src/pair_tracker.rst @@ -16,7 +16,7 @@ Syntax .. parsed-literal:: *finite* value = none - pair style uses atomic diameters to identify contacts + pair style uses atomic diameters to identify contacts Examples """""""" @@ -28,7 +28,7 @@ Examples pair_style hybrid/overlay tracker finite ... pair_coeff * * tracker - + fix 1 all pair/tracker 1000 time/created time/broken dump 1 all local 1000 dump.local f_1[1] f_1[2] dump_modify 1 write_header no @@ -38,20 +38,20 @@ Description Style *tracker* monitors information about pairwise interactions. It does not calculate any forces on atoms. -:doc:`Pair hybrid/overlay ` can be used to combine this pair -style with another pair style. Style *tracker* must be used in conjunction -with about :doc:`fix pair_tracker ` which contains +:doc:`Pair hybrid/overlay ` can be used to combine this pair +style with another pair style. Style *tracker* must be used in conjunction +with about :doc:`fix pair_tracker ` which contains information on what data can be output. -If the *finite* keyword is not defined, the following coefficients must be -defined for each pair of atom types via the :doc:`pair_coeff ` -command as in the examples above, or in the data file or restart files +If the *finite* keyword is not defined, the following coefficients must be +defined for each pair of atom types via the :doc:`pair_coeff ` +command as in the examples above, or in the data file or restart files read by the :doc:`read_data ` or :doc:`read_restart ` commands, or by mixing as described below: * cutoff (distance units) -If the *finite* keyword is defined, no coefficients may be defined. +If the *finite* keyword is defined, no coefficients may be defined. Interaction cutoffs are alternatively calculated based on the diameter of finite particles. @@ -64,8 +64,8 @@ distance for this pair style can be mixed. The cutoff is always mixed via a *geometric* rule. The cutoff is mixed according to the pair_modify mix value. The default mix value is *geometric*\ . See the "pair_modify" command for details. - -This pair style writes its information to :doc:`binary restart files `, so + +This pair style writes its information to :doc:`binary restart files `, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. diff --git a/src/MISC/pair_tracker.h b/src/MISC/pair_tracker.h index 85798a6ae0..c6825c410e 100644 --- a/src/MISC/pair_tracker.h +++ b/src/MISC/pair_tracker.h @@ -86,6 +86,6 @@ The associated fix neigh/history is missing E: Cannot use pair tracker without fix pair/tracker -This pairstyle requires one to define a pair/tracker fix +This pairstyle requires one to define a pair/tracker fix */ diff --git a/src/fix_neigh_history.cpp b/src/fix_neigh_history.cpp index 1dbe11e400..4ff7e7841b 100644 --- a/src/fix_neigh_history.cpp +++ b/src/fix_neigh_history.cpp @@ -625,20 +625,20 @@ void FixNeighHistory::post_neighbor() for (jj = 0; jj < jnum; jj++) { j = jlist[jj]; - + if (use_bit_flag) { rflag = sbmask(j) | pair->beyond_contact; - j &= NEIGHMASK; + j &= NEIGHMASK; jlist[jj] = j; } else { rflag = 1; - j &= NEIGHMASK; + j &= NEIGHMASK; } // rflag = 1 if r < radsum in npair_size() method or if pair interactions extend further // preserve neigh history info if tag[j] is in old-neigh partner list // this test could be more geometrically precise for two sphere/line/tri - // if use_bit_flag is turned off, always record data since not all npair classes + // if use_bit_flag is turned off, always record data since not all npair classes // apply a mask for history (and they could use the bits for special bonds) if (rflag) { diff --git a/src/pair_hybrid.cpp b/src/pair_hybrid.cpp index 348b086484..f354fdacbe 100644 --- a/src/pair_hybrid.cpp +++ b/src/pair_hybrid.cpp @@ -423,7 +423,7 @@ void PairHybrid::flags() respa_enable = (respa_enable == nstyles) ? 1 : 0; restartinfo = (restartinfo == nstyles) ? 1 : 0; init_svector(); - + // set centroidstressflag for pair hybrid // set to CENTROID_NOTAVAIL if any substyle is NOTAVAIL // else set to CENTROID_AVAIL if any substyle is AVAIL @@ -598,7 +598,7 @@ void PairHybrid::init_style() } // check beyond contact (set during pair coeff) before init style - for (istyle = 0; istyle < nstyles; istyle++) + for (istyle = 0; istyle < nstyles; istyle++) if (styles[istyle]->beyond_contact) beyond_contact = 1; // each sub-style makes its neighbor list request(s) From 1358f4549b165fed66d3ebf8b4ff9f7bb6af8f67 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 4 Jun 2021 08:39:00 -0400 Subject: [PATCH 143/726] doc updates for MISC package --- doc/src/Packages_details.rst | 10 ++++++++++ doc/src/fix_oneway.rst | 4 +++- doc/src/fix_pair_tracker.rst | 4 ++++ doc/src/pair_tracker.rst | 3 +++ 4 files changed, 20 insertions(+), 1 deletion(-) diff --git a/doc/src/Packages_details.rst b/doc/src/Packages_details.rst index e7dc905e22..1969bd085c 100644 --- a/doc/src/Packages_details.rst +++ b/doc/src/Packages_details.rst @@ -654,12 +654,22 @@ listing, "ls src/MISC", to see the list of commands. **Supporting info:** * src/MISC: filenames -> commands +* :doc:`compute msd/nongauss ` * :doc:`compute ti ` +* :doc:`fix gld ` * :doc:`fix evaporate ` +* :doc:`fix oneway ` +* :doc:`fix orient/bcc ` * :doc:`fix orient/fcc ` +* :doc:`fix pair/tracker ` * :doc:`fix ttm ` * :doc:`fix thermal/conductivity ` * :doc:`fix viscosity ` +* :doc:`pair nm/cut ` +* :doc:`pair nm/cut/coul/cut ` +* :doc:`pair nm/cut/coul/long ` +* :doc:`pair tracker ` +* examples/tracker * examples/KAPPA * examples/VISCOSITY * https://www.lammps.org/pictures.html#ttm diff --git a/doc/src/fix_oneway.rst b/doc/src/fix_oneway.rst index 180a394ba0..e899703fc1 100644 --- a/doc/src/fix_oneway.rst +++ b/doc/src/fix_oneway.rst @@ -50,7 +50,9 @@ the :doc:`run ` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" - none + +This fix is part of the MISC package. It is only enabled if LAMMPS +was built with that package. See the :doc:`Build package ` doc page for more info. Related commands """""""""""""""" diff --git a/doc/src/fix_pair_tracker.rst b/doc/src/fix_pair_tracker.rst index e46aa54319..6e544b1c80 100644 --- a/doc/src/fix_pair_tracker.rst +++ b/doc/src/fix_pair_tracker.rst @@ -107,8 +107,12 @@ specified attribute. Restrictions """""""""""" + Must be used in conjunction with :doc:`pair style tracker `. +This fix is part of the MISC package. It is only enabled if LAMMPS +was built with that package. See the :doc:`Build package ` doc page for more info. + Related commands """""""""""""""" diff --git a/doc/src/pair_tracker.rst b/doc/src/pair_tracker.rst index 58abd69aae..5a85a7f048 100644 --- a/doc/src/pair_tracker.rst +++ b/doc/src/pair_tracker.rst @@ -83,6 +83,9 @@ to use this pair style. This pair style is currently incompatible with granular pair styles that extend beyond the contact (e.g. JKR and DMT). +This fix is part of the MISC package. It is only enabled if LAMMPS +was built with that package. See the :doc:`Build package ` doc page for more info. + Related commands """""""""""""""" From f2a6329fe71f865f99c0556dd18dfec6bac8ac3a Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 4 Jun 2021 09:07:53 -0400 Subject: [PATCH 144/726] silence compiler warnings --- src/MISC/fix_pair_tracker.cpp | 2 +- src/MISC/fix_pair_tracker.h | 8 +------- src/MISC/pair_tracker.cpp | 7 ++----- 3 files changed, 4 insertions(+), 13 deletions(-) diff --git a/src/MISC/fix_pair_tracker.cpp b/src/MISC/fix_pair_tracker.cpp index 2a69bb7592..7939485aff 100644 --- a/src/MISC/fix_pair_tracker.cpp +++ b/src/MISC/fix_pair_tracker.cpp @@ -31,7 +31,7 @@ using namespace FixConst; /* ---------------------------------------------------------------------- */ FixPairTracker::FixPairTracker(LAMMPS *lmp, int narg, char **arg) : - Fix(lmp, narg, arg), nvalues(0), array(NULL), vector(NULL), pack_choice(NULL) + Fix(lmp, narg, arg), nvalues(0), vector(NULL), array(NULL), pack_choice(NULL) { if (narg < 3) error->all(FLERR, "Illegal fix pair/tracker command"); local_flag = 1; diff --git a/src/MISC/fix_pair_tracker.h b/src/MISC/fix_pair_tracker.h index 1458d7b80d..7c2e3ff322 100644 --- a/src/MISC/fix_pair_tracker.h +++ b/src/MISC/fix_pair_tracker.h @@ -35,9 +35,7 @@ class FixPairTracker : public Fix { void lost_contact(int, int, double, double, double, double); private: - int nvalues, never; - int nmax; - int store_flag; + int nvalues, nmax; int index_i, index_j; double tmin, rmin, rsum, time_initial, nstep_initial; @@ -45,10 +43,6 @@ class FixPairTracker : public Fix { double **array; int **type_filter; - double lx; - double ly; - double lz; - int ncount; void reallocate(int); diff --git a/src/MISC/pair_tracker.cpp b/src/MISC/pair_tracker.cpp index 0e6a63825b..2069561ee9 100644 --- a/src/MISC/pair_tracker.cpp +++ b/src/MISC/pair_tracker.cpp @@ -91,9 +91,6 @@ void PairTracker::compute(int eflag, int vflag) double **x = atom->x; double *radius = atom->radius; int *type = atom->type; - int *mask = atom->mask; - int nlocal = atom->nlocal; - int newton_pair = force->newton_pair; inum = list->inum; ilist = list->ilist; @@ -444,8 +441,8 @@ void PairTracker::read_restart_settings(FILE *fp) /* ---------------------------------------------------------------------- */ -double PairTracker::single(int i, int j, int /*itype*/, int /*jtype*/, double rsq, - double /*factor_coul*/, double /*factor_lj*/, double &fforce) +double PairTracker::single(int /*i*/, int /*j*/, int /*itype*/, int /*jtype*/, double /*rsq*/, + double /*factor_coul*/, double /*factor_lj*/, double &/*fforce*/) { return 0.0; } From f2dad0486b9294a783e40c114f56d31a15717f12 Mon Sep 17 00:00:00 2001 From: jtclemm Date: Fri, 4 Jun 2021 10:06:05 -0600 Subject: [PATCH 145/726] Integrating documentation, misc fixes in compute --- doc/src/Commands_compute.rst | 1 + doc/src/Howto_granular.rst | 5 + doc/src/Packages_details.rst | 1 + doc/src/compute.rst | 1 + doc/src/compute_fabric.rst | 58 ++++---- src/GRANULAR/compute_fabric.cpp | 225 ++++++++++++++++++-------------- src/GRANULAR/compute_fabric.h | 14 +- 7 files changed, 173 insertions(+), 132 deletions(-) diff --git a/doc/src/Commands_compute.rst b/doc/src/Commands_compute.rst index 6841485f8f..0fb855fe4a 100644 --- a/doc/src/Commands_compute.rst +++ b/doc/src/Commands_compute.rst @@ -58,6 +58,7 @@ KOKKOS, o = USER-OMP, t = OPT. * :doc:`erotate/sphere ` * :doc:`erotate/sphere/atom ` * :doc:`event/displace ` + * :doc:`fabric ` * :doc:`fep ` * :doc:`force/tally ` * :doc:`fragment/atom ` diff --git a/doc/src/Howto_granular.rst b/doc/src/Howto_granular.rst index 70c2b2fbb7..43fd1cd429 100644 --- a/doc/src/Howto_granular.rst +++ b/doc/src/Howto_granular.rst @@ -17,6 +17,11 @@ This compute * :doc:`compute erotate/sphere ` calculates rotational kinetic energy which can be :doc:`output with thermodynamic info `. +The compute + +* :doc:`compute fabric ` + +calculates various versions of the fabric tensor for granular and non-granular pair styles. Use one of these 4 pair potentials, which compute forces and torques between interacting pairs of particles: diff --git a/doc/src/Packages_details.rst b/doc/src/Packages_details.rst index e7dc905e22..7a9d770b0f 100644 --- a/doc/src/Packages_details.rst +++ b/doc/src/Packages_details.rst @@ -351,6 +351,7 @@ potentials. * src/GRANULAR: filenames -> commands * :doc:`Howto granular ` +* :doc:`compute fabric ` * :doc:`fix pour ` * :doc:`fix wall/gran ` * :doc:`pair_style gran/hooke ` diff --git a/doc/src/compute.rst b/doc/src/compute.rst index 4da3e4ebe6..155f78cdae 100644 --- a/doc/src/compute.rst +++ b/doc/src/compute.rst @@ -204,6 +204,7 @@ The individual style names on the :doc:`Commands compute ` doc * :doc:`erotate/sphere ` - rotational energy of spherical particles * :doc:`erotate/sphere/atom ` - rotational energy for each spherical particle * :doc:`event/displace ` - detect event on atom displacement +* :doc:`fabric ` - calculates fabric tensors from pair interactions * :doc:`fep ` - * :doc:`force/tally ` - * :doc:`fragment/atom ` - fragment ID for each atom diff --git a/doc/src/compute_fabric.rst b/doc/src/compute_fabric.rst index 1da39c248a..c99fca4a5e 100644 --- a/doc/src/compute_fabric.rst +++ b/doc/src/compute_fabric.rst @@ -1,14 +1,14 @@ .. index:: compute fabric compute fabric command -============================== +====================== Syntax """""" .. parsed-literal:: - compute ID group-ID fabric cutoff attribute1 attribute2 ... + compute ID group-ID fabric cutoff attribute1 attribute2 ... * ID, group-ID are documented in :doc:`compute ` command * fabric = style name of this compute command @@ -16,9 +16,9 @@ Syntax .. parsed-literal:: - *type* = cutoffs determined for the types of the two atoms + *type* = cutoffs determined for the types of the two atoms *radius* = cutoffs determined based on finite size of atoms - + * one or more attributes may be appended .. parsed-literal:: @@ -27,7 +27,7 @@ Syntax *branch* = branch tensor *force/normal* = normal force tensor *force/tangential* = tangential force tensor - + Examples """""""" @@ -41,11 +41,11 @@ Description Define a computation that calculates various fabric tensors for pairwise interactions. The *type* and *radius* settings are used to select whether -the compute will be used used with regular interactions with cutoffs +the compute will be used used with regular interactions with cutoffs determined by atom types or with granular interactions with interaction -lengths determined by particle radii, respectively. +lengths determined by particle radii, respectively. -Four fabric tensors can be computed: a contact, branch, normal force, or +Four fabric tensors can be computed: a contact, branch, normal force, or tangential force tensor. The contact tensor is calculated as .. math:: @@ -53,14 +53,14 @@ tangential force tensor. The contact tensor is calculated as C_{ab} = \frac{15}{2} (\phi_{ab} - \mathrm{tr}(\phi) \delta_{ab}) where :math:`a` and :math:`b` are the :math:`x`, :math:`y`, :math:`z` -directions, :math:`\delta_{ab}` is the Kronecker delta function, and +directions, :math:`\delta_{ab}` is the Kronecker delta function, and the tensor :math:`\phi` is defined as .. math:: \phi_{ab} = \sum_{n = 1}^{N_p} \frac{r_{a} r_{b}}{r^2} -where :math:`N_p` is the number of pair interactions in the simulation, +where :math:`N_p` is the number of pair interactions in the simulation, :math:`r_{a}` is the :math:`a` component of the radial vector between the two particles, and :math:`r` is the magnitude of the radial vector. @@ -68,36 +68,36 @@ The branch tensor is calculated as .. math:: - B_{ab} = \frac{15}{6 tr(D)} (D_{ab} - tr(D) \delta_{ab}) - + B_{ab} = \frac{15}{6 \mathrm{tr}(D)} (D_{ab} - \mathrm{tr}(D) \delta_{ab}) + where the tensor :math:`D` is defined as .. math:: - D_{ab} = \sum_{n = 1}^{N_p} - \frac{1}{N_c (r^2 + C_{cd} r_c r_d)} + D_{ab} = \sum_{n = 1}^{N_p} + \frac{1}{N_c (r^2 + C_{cd} r_c r_d)} \frac{r_{a} r_{b}}{r} -where :math:`N_c` is the total number of contacts in the system and the subscripts +where :math:`N_c` is the total number of contacts in the system and the subscripts :math:`c` and :math:`d` are summed according to Einstein notation. The normal force fabric tensor is calculated as .. math:: - F^n_{ab} = \frac{15}{6 tr(N)} (N_{ab} - tr(N) \delta_{ab}) + F^n_{ab} = \frac{15}{6 \mathrm{tr}(N)} (N_{ab} - \mathrm{tr}(N) \delta_{ab}) where the tensor :math:`N` is defined as .. math:: - N_{ab} = \sum_{n = 1}^{N_p} - \frac{1}{N_c (r^2 + C_{cd} r_c r_d)} + N_{ab} = \sum_{n = 1}^{N_p} + \frac{1}{N_c (r^2 + C_{cd} r_c r_d)} \frac{r_{a} r_{b}}{r^2} f_n where :math:`f_n` is the magnitude of the normal, central-body force between the two atoms. -Finally, the tangential force fabric tensor is only defined for pair styles that +Finally, the tangential force fabric tensor is only defined for pair styles that apply tangential forces to particles, namely granular pair styles. It is calculated as @@ -109,8 +109,8 @@ where the tensor :math:`T` is defined as .. math:: - T_{ab} = \sum_{n = 1}^{N_p} - \frac{1}{N_c (r^2 + C_{cd} r_c r_d)} + T_{ab} = \sum_{n = 1}^{N_p} + \frac{1}{N_c (r^2 + C_{cd} r_c r_d)} \frac{r_{a} r_{b}}{r^2} f_t where :math:`f_t` is the magnitude of the tagential force between the two atoms. @@ -119,15 +119,18 @@ where :math:`f_t` is the magnitude of the tagential force between the two atoms. Output info """"""""""" -This compute calculates a local vector of doubles. The vector stores the -unique components of the first requested tensor in the order -xx, yy, zz, xy, xz, yz followed by the same components for all -subsequent tensors. The length of the vector is therefore six times -the number of requested tensors. +This compute calculates a local vector of doubles. The vector stores the +unique components of the first requested tensor in the order +xx, yy, zz, xy, xz, yz followed by the same components for all +subsequent tensors. The length of the vector is therefore six times +the number of requested tensors. Restrictions """""""""""" +This fix is part of the GRANULAR package. It is only enabled if LAMMPS +was built with that package. See the :doc:`Build package ` doc page for more info. + Currently, compute *fabric* does not support pair styles with many-body interactions. It also does not support models with long-range Coulombic or dispersion forces, @@ -135,8 +138,7 @@ i.e. the kspace_style command in LAMMPS. It also does not support the following fixes which add rigid-body constraints: :doc:`fix shake `, :doc:`fix rattle `, :doc:`fix rigid `, :doc:`fix rigid/small `. It does not support -granular pair styles that extend beyond the contact (e.g. JKR and DMT). - +granular pair styles that extend beyond the contact (e.g. JKR and DMT). Related commands """""""""""""""" diff --git a/src/GRANULAR/compute_fabric.cpp b/src/GRANULAR/compute_fabric.cpp index d08ce0087b..4f2bec72b3 100644 --- a/src/GRANULAR/compute_fabric.cpp +++ b/src/GRANULAR/compute_fabric.cpp @@ -1,6 +1,6 @@ /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories + https://www.lammps.org/, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract @@ -35,49 +35,49 @@ enum{CN,BR,FN,FT}; ComputeFabric::ComputeFabric(LAMMPS *lmp, int narg, char **arg) : Compute(lmp, narg, arg), - tensor_style(NULL) + tensor_style(NULL), vector(NULL) { if (narg < 3) error->all(FLERR,"Illegal compute fabric command"); if (strcmp(arg[3],"type") == 0) cutstyle = TYPE; else if (strcmp(arg[3],"radius") == 0) cutstyle = RADIUS; else error->all(FLERR,"Illegal compute fabric command"); - + if (cutstyle == RADIUS && !atom->radius_flag) error->all(FLERR,"Compute fabric radius style requires atom attribute radius"); ntensors = narg - 4; tensor_style = new int[ntensors]; - + cn_flag = 0; br_flag = 0; fn_flag = 0; ft_flag = 0; - + ntensors = 0; int iarg = 4; while (iarg < narg) { if (strcmp(arg[iarg],"contact") == 0) { - cn_flag = 1; - tensor_style[ntensors++] = CN; + cn_flag = 1; + tensor_style[ntensors++] = CN; } else if (strcmp(arg[iarg],"branch") == 0) { - br_flag = 1; - tensor_style[ntensors++] = BR; + br_flag = 1; + tensor_style[ntensors++] = BR; } else if (strcmp(arg[iarg],"force/normal") == 0) { - fn_flag = 1; - tensor_style[ntensors++] = FN; + fn_flag = 1; + tensor_style[ntensors++] = FN; } else if (strcmp(arg[iarg],"force/tangential") == 0) { - ft_flag = 1; - tensor_style[ntensors++] = FT; + ft_flag = 1; + tensor_style[ntensors++] = FT; } else error->all(FLERR,"Illegal compute fabric command"); iarg++; } - + vector_flag = 1; size_vector = 1+ntensors*6; extvector = 0; - - vector = new double[size_vector]; + + vector = new double[size_vector]; } /* ---------------------------------------------------------------------- */ @@ -104,12 +104,12 @@ void ComputeFabric::init() force->pair_match("gran/hertz",0) || force->pair_match("gran/hooke/history",0) || force->pair_match("gran/hertz/history",0)) pstyle = GRANULAR; - - if (pstyle != GRANULAR && ft_flag) - error->all(FLERR,"Pair style does not have tangential forces for compute fabric"); - if(force->pair->beyond_contact) - error->all(FLERR, "Compute fabric does not support pair styles that extend beyond contact"); + if (pstyle != GRANULAR && ft_flag) + error->all(FLERR,"Pair style does not calculate tangential forces for compute fabric"); + + if(force->pair->beyond_contact) + error->all(FLERR, "Compute fabric does not support pair styles that extend beyond contact"); // need an occasional half neighbor list // set size to same value as request made by force->pair @@ -121,7 +121,6 @@ void ComputeFabric::init() neighbor->requests[irequest]->occasional = 1; NeighRequest *pairrequest = neighbor->find_request((void *) force->pair); if (pairrequest) neighbor->requests[irequest]->size = pairrequest->size; - } /* ---------------------------------------------------------------------- */ @@ -149,12 +148,11 @@ void ComputeFabric::compute_vector() double D_ij[6] = {0.0}; double Xfn_ij[6] = {0.0}; double Xft_ij[6] = {0.0}; - int nc; - int temp_int; + int nc, temp_int; double temp_dbl[6]; - + int *ilist,*jlist,*numneigh,**firstneigh; - + double **x = atom->x; double *radius = atom->radius; tagint *tag = atom->tag; @@ -194,6 +192,23 @@ void ComputeFabric::compute_vector() if (!(mask[j] & groupbit)) continue; + // itag = jtag is possible for long cutoffs that include images of self + + if (newton_pair == 0 && j >= nlocal) { + jtag = tag[j]; + if (itag > jtag) { + if ((itag+jtag) % 2 == 0) continue; + } else if (itag < jtag) { + if ((itag+jtag) % 2 == 1) continue; + } else { + if (x[j][2] < ztmp) continue; + if (x[j][2] == ztmp) { + if (x[j][1] < ytmp) continue; + if (x[j][1] == ytmp && x[j][0] < xtmp) continue; + } + } + } + delx = xtmp - x[j][0]; dely = ytmp - x[j][1]; delz = ztmp - x[j][2]; @@ -214,8 +229,7 @@ void ComputeFabric::compute_vector() nx = delx*rinv; ny = dely*rinv; nz = delz*rinv; - - + phi_ij[0] += nx*nx; phi_ij[1] += ny*ny; phi_ij[2] += nz*nz; @@ -224,24 +238,24 @@ void ComputeFabric::compute_vector() phi_ij[5] += ny*nz; } } - + //Count total contacts across processors MPI_Allreduce(&nc,&temp_int,1,MPI_INT,MPI_SUM,world); nc = temp_int; - + // If no contacts, everything will be zero if (nc == 0) { for (i = 0; i < size_vector; i ++) vector[i] = 0.0; - return; + return; } - vector[ntensors*6] = nc; + vector[ntensors*6] = nc; ncinv = 1.0/nc; - + //Sum phi across processors MPI_Allreduce(phi_ij,temp_dbl,6,MPI_DOUBLE,MPI_SUM,world); for (i = 0; i < 6; i++) phi_ij[i] = temp_dbl[i]*ncinv; - + trace_phi = (1.0/3.0)*(phi_ij[0]+phi_ij[1]+phi_ij[2]); Ac_ij[0] = (15.0/2.0)*(phi_ij[0] - trace_phi); @@ -249,15 +263,15 @@ void ComputeFabric::compute_vector() Ac_ij[2] = (15.0/2.0)*(phi_ij[2] - trace_phi); Ac_ij[3] = (15.0/2.0)*(phi_ij[3]); Ac_ij[4] = (15.0/2.0)*(phi_ij[4]); - Ac_ij[5] = (15.0/2.0)*(phi_ij[5]); - + Ac_ij[5] = (15.0/2.0)*(phi_ij[5]); + // If needed, loop through and calculate other fabric tensors - if(br_flag || fn_flag || ft_flag) { - + if (br_flag || fn_flag || ft_flag) { + for (ii = 0; ii < inum; ii++) { i = ilist[ii]; if (!(mask[i] & groupbit)) continue; - + xtmp = x[i][0]; ytmp = x[i][1]; ztmp = x[i][2]; @@ -265,143 +279,160 @@ void ComputeFabric::compute_vector() itype = type[i]; jlist = firstneigh[i]; jnum = numneigh[i]; - + for (jj = 0; jj < jnum; jj++) { j = jlist[jj]; j &= NEIGHMASK; - + if (!(mask[j] & groupbit)) continue; - + + // itag = jtag is possible for long cutoffs that include images of self + + if (newton_pair == 0 && j >= nlocal) { + jtag = tag[j]; + if (itag > jtag) { + if ((itag+jtag) % 2 == 0) continue; + } else if (itag < jtag) { + if ((itag+jtag) % 2 == 1) continue; + } else { + if (x[j][2] < ztmp) continue; + if (x[j][2] == ztmp) { + if (x[j][1] < ytmp) continue; + if (x[j][1] == ytmp && x[j][0] < xtmp) continue; + } + } + } + delx = xtmp - x[j][0]; dely = ytmp - x[j][1]; delz = ztmp - x[j][2]; rsq = delx*delx + dely*dely + delz*delz; jtype = type[j]; - + if (cutstyle == TYPE) { if (rsq >= cutsq[itype][jtype]) continue; } else { radsum = radius[i] + radius[j]; if (rsq >= radsum*radsum) continue; } - - if (fn_flag || ft_flag) - eng = pair->single(i,j,itype,jtype,rsq,1.0,1.0,fpair); - + + if (fn_flag || ft_flag) + eng = pair->single(i,j,itype,jtype,rsq,1.0,1.0,fpair); + r = sqrt(rsq); rinv = 1.0/r; nx = delx*rinv; ny = dely*rinv; - nz = delz*rinv; - - denom = 1 + Ac_ij[0]*nx*nx + Ac_ij[1]*ny*ny + Ac_ij[2]*nz*nz; + nz = delz*rinv; + + denom = 1 + Ac_ij[0]*nx*nx + Ac_ij[1]*ny*ny + Ac_ij[2]*nz*nz; denom += 2*Ac_ij[3]*nx*ny + 2*Ac_ij[4]*nx*nz + 2*Ac_ij[5]*ny*nz; prefactor = ncinv/denom; - + if (br_flag) { - D_ij[0] += prefactor*nx*nx*r; - D_ij[1] += prefactor*ny*ny*r; - D_ij[2] += prefactor*nz*nz*r; - D_ij[3] += prefactor*nx*ny*r; - D_ij[4] += prefactor*nx*nz*r; + D_ij[0] += prefactor*nx*nx*r; + D_ij[1] += prefactor*ny*ny*r; + D_ij[2] += prefactor*nz*nz*r; + D_ij[3] += prefactor*nx*ny*r; + D_ij[4] += prefactor*nx*nz*r; D_ij[5] += prefactor*ny*nz*r; } - + if (fn_flag || ft_flag) { fn = r*fpair; - - Xfn_ij[0] += prefactor*nx*nx*fn; - Xfn_ij[1] += prefactor*ny*ny*fn; - Xfn_ij[2] += prefactor*nz*nz*fn; - Xfn_ij[3] += prefactor*nx*ny*fn; - Xfn_ij[4] += prefactor*nx*nz*fn; + + Xfn_ij[0] += prefactor*nx*nx*fn; + Xfn_ij[1] += prefactor*ny*ny*fn; + Xfn_ij[2] += prefactor*nz*nz*fn; + Xfn_ij[3] += prefactor*nx*ny*fn; + Xfn_ij[4] += prefactor*nx*nz*fn; Xfn_ij[5] += prefactor*ny*nz*fn; - + if (ft_flag) { ft = force->pair->svector[3]; - - Xft_ij[0] += prefactor*nx*nx*ft; - Xft_ij[1] += prefactor*ny*ny*ft; - Xft_ij[2] += prefactor*nz*nz*ft; - Xft_ij[3] += prefactor*nx*ny*ft; - Xft_ij[4] += prefactor*nx*nz*ft; + + Xft_ij[0] += prefactor*nx*nx*ft; + Xft_ij[1] += prefactor*ny*ny*ft; + Xft_ij[2] += prefactor*nz*nz*ft; + Xft_ij[3] += prefactor*nx*ny*ft; + Xft_ij[4] += prefactor*nx*nz*ft; Xft_ij[5] += prefactor*ny*nz*ft; } } } } } - + // Output results - - if (cn_flag) { + + if (cn_flag) { for (i = 0; i < ntensors; i ++) { if (tensor_style[i] == CN) { - for (j = 0; j < 6; j++) vector[6*i + j] = Ac_ij[j]; + for (j = 0; j < 6; j++) vector[6*i + j] = Ac_ij[j]; } } - } - + } + if (br_flag) { MPI_Allreduce(D_ij,temp_dbl,6,MPI_DOUBLE,MPI_SUM,world); - for (i = 0; i < 6; i++) D_ij[i] = temp_dbl[i]; - + for (i = 0; i < 6; i++) D_ij[i] = temp_dbl[i]; + trace_D = (1.0/3.0)*(D_ij[0]+D_ij[1]+D_ij[2]); - + br_tensor[0] = (15.0/(6.0*trace_D))*(D_ij[0] - trace_D); br_tensor[1] = (15.0/(6.0*trace_D))*(D_ij[1] - trace_D); br_tensor[2] = (15.0/(6.0*trace_D))*(D_ij[2] - trace_D); br_tensor[3] = (15.0/(6.0*trace_D))*(D_ij[3]); br_tensor[4] = (15.0/(6.0*trace_D))*(D_ij[4]); - br_tensor[5] = (15.0/(6.0*trace_D))*(D_ij[5]); + br_tensor[5] = (15.0/(6.0*trace_D))*(D_ij[5]); for (i = 0; i < ntensors; i ++) { if (tensor_style[i] == BR) { - for (j = 0; j < 6; j++) vector[6*i + j] = br_tensor[j]; + for (j = 0; j < 6; j++) vector[6*i + j] = br_tensor[j]; } - } + } } if (fn_flag || ft_flag) { MPI_Allreduce(Xfn_ij,temp_dbl,6,MPI_DOUBLE,MPI_SUM,world); for (i = 0; i < 6; i++) Xfn_ij[i] = temp_dbl[i]; - + trace_Xfn = (1.0/3.0)*(Xfn_ij[0]+Xfn_ij[1]+Xfn_ij[2]); } - - if (fn_flag) { - + + if (fn_flag) { + fn_tensor[0] = (15.0/(6.0*trace_Xfn))*(Xfn_ij[0] - trace_Xfn); fn_tensor[1] = (15.0/(6.0*trace_Xfn))*(Xfn_ij[1] - trace_Xfn); fn_tensor[2] = (15.0/(6.0*trace_Xfn))*(Xfn_ij[2] - trace_Xfn); fn_tensor[3] = (15.0/(6.0*trace_Xfn))*(Xfn_ij[3]); fn_tensor[4] = (15.0/(6.0*trace_Xfn))*(Xfn_ij[4]); - fn_tensor[5] = (15.0/(6.0*trace_Xfn))*(Xfn_ij[5]); - + fn_tensor[5] = (15.0/(6.0*trace_Xfn))*(Xfn_ij[5]); + for (i = 0; i < ntensors; i ++) { if (tensor_style[i] == FN) { - for (j = 0; j < 6; j++) vector[6*i + j] = fn_tensor[j]; + for (j = 0; j < 6; j++) vector[6*i + j] = fn_tensor[j]; } - } + } } - + if (ft_flag) { MPI_Allreduce(Xft_ij,temp_dbl,6,MPI_DOUBLE,MPI_SUM,world); for (i = 0; i < 6; i++) Xft_ij[i] = temp_dbl[i]; - - trace_Xft = (1.0/3.0)*(Xft_ij[0]+Xft_ij[1]+Xft_ij[2]); - + + trace_Xft = (1.0/3.0)*(Xft_ij[0]+Xft_ij[1]+Xft_ij[2]); + ft_tensor[0] = (15.0/(9.0*trace_Xfn))*(Xft_ij[0] - trace_Xft); ft_tensor[1] = (15.0/(9.0*trace_Xfn))*(Xft_ij[1] - trace_Xft); ft_tensor[2] = (15.0/(9.0*trace_Xfn))*(Xft_ij[2] - trace_Xft); ft_tensor[3] = (15.0/(9.0*trace_Xfn))*(Xft_ij[3]); ft_tensor[4] = (15.0/(9.0*trace_Xfn))*(Xft_ij[4]); ft_tensor[5] = (15.0/(9.0*trace_Xfn))*(Xft_ij[5]); - + for (i = 0; i < ntensors; i ++) { if (tensor_style[i] == FT) { - for (j = 0; j < 6; j++) vector[6*i + j] = ft_tensor[j]; + for (j = 0; j < 6; j++) vector[6*i + j] = ft_tensor[j]; } - } + } } } diff --git a/src/GRANULAR/compute_fabric.h b/src/GRANULAR/compute_fabric.h index a65fc50c61..99b45daaee 100644 --- a/src/GRANULAR/compute_fabric.h +++ b/src/GRANULAR/compute_fabric.h @@ -1,6 +1,6 @@ /* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories + https://www.lammps.org/, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract @@ -29,14 +29,14 @@ class ComputeFabric : public Compute { ComputeFabric(class LAMMPS *, int, char **); ~ComputeFabric(); void init(); - void init_list(int, class NeighList *); + void init_list(int, class NeighList *); void compute_vector(); private: int ntensors, pstyle, cutstyle; int *tensor_style; class NeighList *list; - + int cn_flag, br_flag, fn_flag, ft_flag; }; @@ -55,19 +55,19 @@ command-line option when running LAMMPS to see the offending line. E: Compute fabric radius style requires atom attribute radius -Self-explanatory. +Self-explanatory. E: No pair style is defined for compute fabric -Self-explanatory. +Self-explanatory. E: Pair style does not support compute fabric normal or tangential force Pair style must be single enabled to calculate the normal or tangential force tensors -E: Pair style does not have tangential forces for compute fabric +E: Pair style does not calculate tangential forces for compute fabric -The tangential force tensor can only be calculated for granular pair styles +The tangential force tensor can only be calculated for granular pair styles with tangential forces E: Compute fabric does not support pair styles that extend beyond contact From ed604e906b1831a42ff41d5b8324476d0f421935 Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Fri, 4 Jun 2021 22:41:25 -0500 Subject: [PATCH 146/726] Updated README for USER-DIELECTRIC --- src/USER-DIELECTRIC/README | 73 ++++++++------------------------------ 1 file changed, 14 insertions(+), 59 deletions(-) diff --git a/src/USER-DIELECTRIC/README b/src/USER-DIELECTRIC/README index 5996d00572..11e9bde03f 100644 --- a/src/USER-DIELECTRIC/README +++ b/src/USER-DIELECTRIC/README @@ -1,73 +1,28 @@ -* Description +The USER-DIELECTRIC package provides several solvers for computing surface induced charges +at the interface between two media with different dielectric constants: -The USER-DIELECTRIC package provides several solvers for computing surface induced charges: - * the boundary element method using the GMRES solver (fix polarize/bem/gmres), - * the induced charge computation (ICC*) (fix polarize/bem/icc), and - * the direct optimization of an energy functional derived from the variational approach (fix polarize/functional). + * the boundary element solver using the GMRES algorithm (fix polarize/bem/gmres), + * the boundary element solver using the successive overelaxation algorithm (fix polarize/bem/icc), + * the direct optimization of an energy functional (fix polarize/functional). + +The interfaces can be immobile (for example, graphene layers in contact with water), +or mobile (for example, dielectric colloids in a solvent). See the header of the source files for more details on the references of the methods. -Example input scripts are given at examples/USER/dielectric. - -The USER-DIELECTRIC package was created by Trung Nguyen while at Northwestern, -with contribution from Honghao Li (FixQeqDielectric) while at Northwestern. +The USER-DIELECTRIC package was created by Trung Nguyen while at Northwestern. Questions can be addressed to Trung Nguyen (ndactrung@gmail.com). * Citation Please cite the following paper if you use the code for your publications -Trung Dac Nguyen, Honghao Li, Debarshee Bagchi, Francisco J. Solis, Monica Olvera de la Cruz, -"Incorporating surface polarization effects into large-scale coarse-grained Molecular Dynamics simulation", -Computer Physics Communications 241, 80--91 (2019); DOI: 10.1016/j.cpc.2019.03.006. +T. D. Nguyen, H. Li, D. Bagchi, F. J. Solis, M. Olvera de la Cruz, +"Incorporating surface polarization effects into large-scale coarse-grained +Molecular Dynamics simulation", Computer Physics Communications 241, 80--91 (2019). -* Installation +* Examples -1. Clone the git repo: git clone https://bitbucket.org/ndtrung/lammps.git - -2. Check out the dielectric branch: git checkout dielectric - -3. Build: go to src/, and run - -make yes-molecule - -make yes-kspace - -make yes-user-dielectric - -a. If you don't have GSL libraries (libgsl.a and libgslcblas.a) installed in your machine, -remove fix_qeq_dielectric.cpp and fix_qeq_dielectric.h. Then build with - -make mpi -j8 - - -b. If you do have GSL headers and libraries installed, assuming that they are in /path/to/gsl/install, -copy MAKE/Makefile.mpi to MAKE/Makefile.mpi_gsl, and add to the variables CCFLAGS and LINKFLAGS -in MAKE/Makefile.mpi_gsl: - -GSL_PATH = /path/to/gsl/install - -... - -CCFLAGS = -O2 -march=native -funroll-loops -ffast-math -fopenmp -I$(GSL_PATH)/include - -... - -LINKFLAGS = -O2 -fopenmp -L$(GSL_PATH)/lib - -LIB = -lgsl -lgslcblas - -Finally, build with - -make mpi_gsl -j8 - -* Test - -Go to examples/USER/dielectric, and run +Example input scripts and data files can be found under examples/USER/dielectric: mpirun -np 8 ../../../src/lmp_mpi -in in.confined - -or with the modified Makefile.mpi_gsl: - -mpirun -np 8 ../../../src/lmp_mpi_gsl -in in.confined - From 2dd7a0a678b5d57eed3d7fbdca7fb6b4aac94c40 Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Fri, 4 Jun 2021 23:09:27 -0500 Subject: [PATCH 147/726] Removed debugging leftover --- src/pair_hybrid.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/pair_hybrid.cpp b/src/pair_hybrid.cpp index 6643f6eab4..002429e7b3 100644 --- a/src/pair_hybrid.cpp +++ b/src/pair_hybrid.cpp @@ -533,7 +533,7 @@ void PairHybrid::coeff(int narg, char **arg) void PairHybrid::init_style() { int i,m,itype,jtype,used,istyle,skip; - printf("pair hybrid init style\n"); + // error if a sub-style is not used int ntypes = atom->ntypes; @@ -655,7 +655,6 @@ void PairHybrid::init_style() double PairHybrid::init_one(int i, int j) { - printf("pair hybrid init one\n"); // if I,J is not set explicitly: // perform mixing only if I,I sub-style = J,J sub-style // also require I,I and J,J are both assigned to single sub-style From f92bee868abaf6747741b0fa0e29370f3098e252 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 5 Jun 2021 11:12:58 -0400 Subject: [PATCH 148/726] whitespace fixes --- doc/src/fix_polarize_bem_gmres.rst | 2 +- doc/src/fix_polarize_bem_icc.rst | 2 +- doc/src/fix_polarize_functional.rst | 2 +- src/USER-DIELECTRIC/atom_vec_dielectric.cpp | 2 +- src/USER-DIELECTRIC/compute_efield_atom.cpp | 2 +- .../fix_polarize_bem_gmres.cpp | 26 ++++++++-------- src/USER-DIELECTRIC/fix_polarize_bem_gmres.h | 2 +- src/USER-DIELECTRIC/fix_polarize_bem_icc.cpp | 10 +++---- src/USER-DIELECTRIC/fix_polarize_bem_icc.h | 2 +- .../fix_polarize_functional.cpp | 30 +++++++++---------- src/USER-DIELECTRIC/fix_polarize_functional.h | 4 +-- .../pair_coul_cut_dielectric.cpp | 4 +-- .../pair_lj_cut_coul_cut_dielectric.cpp | 2 +- .../pair_lj_cut_coul_cut_dielectric_omp.cpp | 6 ++-- .../pair_lj_cut_coul_debye_dielectric.cpp | 2 +- .../pair_lj_cut_coul_long_dielectric.cpp | 6 ++-- .../pair_lj_cut_coul_long_dielectric_omp.cpp | 2 +- .../pair_lj_cut_coul_msm_dielectric.cpp | 2 +- .../pair_lj_long_coul_long_dielectric.cpp | 2 +- .../pair_lj_long_coul_long_dielectric.h | 2 +- src/USER-DIELECTRIC/pppm_dielectric.cpp | 2 +- 21 files changed, 57 insertions(+), 57 deletions(-) diff --git a/doc/src/fix_polarize_bem_gmres.rst b/doc/src/fix_polarize_bem_gmres.rst index c410b33f6a..40f2b650ac 100644 --- a/doc/src/fix_polarize_bem_gmres.rst +++ b/doc/src/fix_polarize_bem_gmres.rst @@ -62,7 +62,7 @@ as described in :ref:`(Barros) ` to solve for :math:`\sigma_b`. Restart, fix_modify, output, run start/stop, minimize info """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" -The :doc:`fix_modify ` +The :doc:`fix_modify ` This fix computes a global scalar which can be accessed by various :doc:`output commands `. The scalar is the Colvars diff --git a/doc/src/fix_polarize_bem_icc.rst b/doc/src/fix_polarize_bem_icc.rst index 130b99fd41..a771d28f60 100644 --- a/doc/src/fix_polarize_bem_icc.rst +++ b/doc/src/fix_polarize_bem_icc.rst @@ -62,7 +62,7 @@ as described in :ref:`(Tyagi) ` to solve for :math:`\sigma_b`. Restart, fix_modify, output, run start/stop, minimize info """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" -The :doc:`fix_modify ` +The :doc:`fix_modify ` This fix computes a global scalar which can be accessed by various :doc:`output commands `. The scalar is the Colvars diff --git a/doc/src/fix_polarize_functional.rst b/doc/src/fix_polarize_functional.rst index 20005c8e8e..79a7dc621d 100644 --- a/doc/src/fix_polarize_functional.rst +++ b/doc/src/fix_polarize_functional.rst @@ -39,7 +39,7 @@ examples/USER/dielectric directory. Restart, fix_modify, output, run start/stop, minimize info """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" -The :doc:`fix_modify ` +The :doc:`fix_modify ` This fix computes a global scalar which can be accessed by various :doc:`output commands `. The scalar is the Colvars diff --git a/src/USER-DIELECTRIC/atom_vec_dielectric.cpp b/src/USER-DIELECTRIC/atom_vec_dielectric.cpp index d038f2caa8..a62aa609be 100644 --- a/src/USER-DIELECTRIC/atom_vec_dielectric.cpp +++ b/src/USER-DIELECTRIC/atom_vec_dielectric.cpp @@ -42,7 +42,7 @@ AtomVecDielectric::AtomVecDielectric(LAMMPS *lmp) : AtomVec(lmp) mass_type = PER_TYPE; atom->molecule_flag = atom->q_flag = atom->mu_flag = 1; - + // strings with peratom variables to include in each AtomVec method // strings cannot contain fields in corresponding AtomVec default strings // order of fields in a string does not matter diff --git a/src/USER-DIELECTRIC/compute_efield_atom.cpp b/src/USER-DIELECTRIC/compute_efield_atom.cpp index 43dd589e08..2a07535adb 100644 --- a/src/USER-DIELECTRIC/compute_efield_atom.cpp +++ b/src/USER-DIELECTRIC/compute_efield_atom.cpp @@ -12,7 +12,7 @@ ------------------------------------------------------------------------- */ /* ---------------------------------------------------------------------- - Contributing author: Trung Nguyen (Northwestern) + Contributing author: Trung Nguyen (Northwestern) ------------------------------------------------------------------------- */ #include "compute_efield_atom.h" diff --git a/src/USER-DIELECTRIC/fix_polarize_bem_gmres.cpp b/src/USER-DIELECTRIC/fix_polarize_bem_gmres.cpp index b23cd69757..eabe656582 100644 --- a/src/USER-DIELECTRIC/fix_polarize_bem_gmres.cpp +++ b/src/USER-DIELECTRIC/fix_polarize_bem_gmres.cpp @@ -392,7 +392,7 @@ void FixPolarizeBEMGMRES::compute_induced_charges() int idx = induced_charge_idx[i]; q[i] = induced_charges[idx]*area[i] + q_real[i]; } else { - q[i] = q_backup[i]; + q[i] = q_backup[i]; } } @@ -504,7 +504,7 @@ void FixPolarizeBEMGMRES::gmres_solve(double* x, double* r) // update h(k-1, i-1) <- y(i-1) for i = 1..(k_1) - for (i = 1; i <= k + 1; i++) + for (i = 1; i <= k + 1; i++) h[i-1+(k-1)*(mr+1)] = y[i-1]; } @@ -517,7 +517,7 @@ void FixPolarizeBEMGMRES::gmres_solve(double* x, double* r) // update h(k-1,k-1) and set h(k-1,k) to zero - h[(k-1)+(k-1)*(mr+1)] = c[k-1] * h[(k-1)+(k-1)*(mr+1)] + h[(k-1)+(k-1)*(mr+1)] = c[k-1] * h[(k-1)+(k-1)*(mr+1)] - s[k-1] * h[ k +(k-1)*(mr+1)]; h[k +(k-1)*(mr+1)] = 0; @@ -549,7 +549,7 @@ void FixPolarizeBEMGMRES::gmres_solve(double* x, double* r) y[k] = g[k] / h[k + k*(mr+1)]; for (i = k; i >= 1; i--) { y[i-1] = g[i-1]; - for (j = i + 1; j <= k + 1; j++) + for (j = i + 1; j <= k + 1; j++) y[i-1] = y[i-1] - h[(i-1)+(j-1)*(mr+1)] * y[j-1]; y[i-1] = y[i-1] / h[(i-1)+(i-1)*(mr+1)]; } @@ -590,7 +590,7 @@ void FixPolarizeBEMGMRES::gmres_solve(double* x, double* r) iterations = itr; } -/* ---------------------------------------------------------------------- +/* ---------------------------------------------------------------------- compute the result of operator A on a given vector w matvec(A, v(k-1), v(k), n); ------------------------------------------------------------------------- */ @@ -606,11 +606,11 @@ void FixPolarizeBEMGMRES::apply_operator(double* w, double* Aw, int n) double *epsilon = atom->epsilon; int *mask = atom->mask; int nlocal = atom->nlocal; - double epsilon0 = force->dielectric; + double epsilon0 = force->dielectric; int eflag = 0; int vflag = 0; - // set the induced charges to be w + // set the induced charges to be w // the real charges are set to zero: Aw only involves sigma_b (not sigma_f) // need not to revert the induced charges // because update_residual() will set the induced charges anyway @@ -618,7 +618,7 @@ void FixPolarizeBEMGMRES::apply_operator(double* w, double* Aw, int n) for (i = 0; i < nlocal; i++) { if (induced_charge_idx[i] < 0) { q[i] = 0; - } else { + } else { int idx = induced_charge_idx[i]; q[i] = w[idx]*area[i]; } @@ -658,7 +658,7 @@ void FixPolarizeBEMGMRES::apply_operator(double* w, double* Aw, int n) MPI_Allreduce(buffer,Aw,num_induced_charges,MPI_DOUBLE,MPI_SUM,world); } -/* ---------------------------------------------------------------------- +/* ---------------------------------------------------------------------- need to turn the real charges back on set the induced charges to be w compute the new residual in r = b - Ax without directly computing A x @@ -705,7 +705,7 @@ void FixPolarizeBEMGMRES::update_residual(double* w, double* r, int n) // compute the residual according to Eq. (60) in Barros et al. // Note: in the definition of the electrical fields in Equations (41) and (53) // in Ref. Barros et al there is a factor 1/(4pi). - + for (i = 0; i < num_induced_charges; i++) buffer[i] = 0; for (i = 0; i < nlocal; i++) { @@ -726,8 +726,8 @@ void FixPolarizeBEMGMRES::update_residual(double* w, double* r, int n) } double dot = (Ex*norm[i][0] + Ey*norm[i][1] + Ez*norm[i][2]) / epsilon[i]; double sigma_f = q_real[i] / area[i]; - buffer[idx] = (1 - em[i]) * sigma_f - em[i] * w[idx] - - epsilon0 * ed[i] * dot / (4*MY_PI); + buffer[idx] = (1 - em[i]) * sigma_f - em[i] * w[idx] - + epsilon0 * ed[i] * dot / (4*MY_PI); } MPI_Allreduce(buffer,r,num_induced_charges,MPI_DOUBLE,MPI_SUM,world); @@ -947,7 +947,7 @@ void FixPolarizeBEMGMRES::set_dielectric_params(double ediff, double emean, double *epsilon = atom->epsilon; int *mask = atom->mask; int nlocal = atom->nlocal; - + for (int i = 0; i < nlocal; i++) { if (mask[i] & groupbit) { ed[i] = ediff; diff --git a/src/USER-DIELECTRIC/fix_polarize_bem_gmres.h b/src/USER-DIELECTRIC/fix_polarize_bem_gmres.h index b6c9a91717..8cf2ebd6c3 100644 --- a/src/USER-DIELECTRIC/fix_polarize_bem_gmres.h +++ b/src/USER-DIELECTRIC/fix_polarize_bem_gmres.h @@ -61,7 +61,7 @@ class FixPolarizeBEMGMRES : public Fix { double* induced_charges; // values of induced charges double* buffer; // buffer of size num_induced_charges double* q_backup; // backup for the real charges - int allocated; + int allocated; double **efield_pair; // electrical field at position of atom i due to pair contribution double **efield_kspace; // electrical field at position of atom i due to kspace contribution int kspaceflag; // 1 if kspace is used for the induced charge computation diff --git a/src/USER-DIELECTRIC/fix_polarize_bem_icc.cpp b/src/USER-DIELECTRIC/fix_polarize_bem_icc.cpp index 97bbb5c95e..995e8ee225 100644 --- a/src/USER-DIELECTRIC/fix_polarize_bem_icc.cpp +++ b/src/USER-DIELECTRIC/fix_polarize_bem_icc.cpp @@ -223,7 +223,7 @@ void FixPolarizeBEMICC::compute_induced_charges() double *epsilon = atom->epsilon; int *mask = atom->mask; int nlocal = atom->nlocal; - double epsilon0 = force->dielectric; + double epsilon0 = force->dielectric; int eflag = 1; int vflag = 0; int itr; @@ -291,7 +291,7 @@ void FixPolarizeBEMICC::compute_induced_charges() // Eq. (69) in Barros et al., sigma_f[i] = q_real[i] / area[i] // note the area[i] is included here to ensure correct charge unit - // for direct use in force/efield compute + // for direct use in force/efield compute double dot = (Ex*norm[i][0] + Ey*norm[i][1] + Ez*norm[i][2]) / (4*MY_PI) / epsilon[i]; double q_bound = q[i] - q_free; @@ -300,7 +300,7 @@ void FixPolarizeBEMICC::compute_induced_charges() q[i] = q_free + q_bound; // Eq. (11) in Tyagi et al., with f from Eq. (6) - // NOTE: Tyagi et al. defined the normal vector n_i pointing + // NOTE: Tyagi et al. defined the normal vector n_i pointing // from the medium containg the ions toward the other medium, // which makes the normal vector direction depend on the ion position // Also, since Tyagi et al. chose epsilon_1 for the uniform dielectric constant @@ -430,7 +430,7 @@ void FixPolarizeBEMICC::set_dielectric_params(double ediff, double emean, double *epsilon = atom->epsilon; int *mask = atom->mask; int nlocal = atom->nlocal; - + for (int i = 0; i < nlocal; i++) { if (mask[i] & groupbit) { ed[i] = ediff; @@ -452,4 +452,4 @@ double FixPolarizeBEMICC::compute_vector(int n) if (n == 0) return iterations; else if (n == 1) return rho; else return 0; -} \ No newline at end of file +} diff --git a/src/USER-DIELECTRIC/fix_polarize_bem_icc.h b/src/USER-DIELECTRIC/fix_polarize_bem_icc.h index 46e937a561..fedb57179d 100644 --- a/src/USER-DIELECTRIC/fix_polarize_bem_icc.h +++ b/src/USER-DIELECTRIC/fix_polarize_bem_icc.h @@ -52,7 +52,7 @@ class FixPolarizeBEMICC : public Fix { void force_clear(); private: - int iterations; // actual number of iterations + int iterations; // actual number of iterations int itr_max; // maximum number of outer iterations double tol_abs, tol_rel; // tolerance for convergence double rho; // current error diff --git a/src/USER-DIELECTRIC/fix_polarize_functional.cpp b/src/USER-DIELECTRIC/fix_polarize_functional.cpp index 3b4c3bad82..b7943f505a 100644 --- a/src/USER-DIELECTRIC/fix_polarize_functional.cpp +++ b/src/USER-DIELECTRIC/fix_polarize_functional.cpp @@ -148,7 +148,7 @@ FixPolarizeFunctional::~FixPolarizeFunctional() memory->destroy(rhs2); memory->destroy(buffer1); memory->destroy(buffer2); - + if (allocated) deallocate(); atom->delete_callback(id,0); } @@ -244,7 +244,7 @@ void FixPolarizeFunctional::init() memory->create(buffer2,num_induced_charges,num_induced_charges,"polarize:buffer2"); memory->create(induced_charges,num_induced_charges,"polarize:induced_charges"); - + num_ions = 0; for (i = 0; i <= maxtag; i++) @@ -340,7 +340,7 @@ void FixPolarizeFunctional::setup_pre_force(int vflag) // calculate Rww before the run (assuming that the interface is fixed for now) // otherwise this should be done every time step in pre_force() - calculate_Rww_cutoff(); + calculate_Rww_cutoff(); } /* ---------------------------------------------------------------------- */ @@ -368,15 +368,15 @@ void FixPolarizeFunctional::update_induced_charges() calculate_qiRqw_cutoff(); // conjugate gradient solver for w from Rww * w = -qRqw - + for (int i = 0; i < num_induced_charges; i++) for (int j = 0; j < num_induced_charges; j++) cg_A[i][j] = Rww[i][j] + Rww[j][i]; - + for (int i = 0; i < num_induced_charges; i++) induced_charges[i] = 0; cg_solver(cg_A, qiRqwVector, induced_charges, num_induced_charges); - + // assign charges to the particles in the group double *q = atom->q; @@ -393,7 +393,7 @@ void FixPolarizeFunctional::update_induced_charges() charge_rescaled(REAL2SCALED); } -/* ---------------------------------------------------------------------- +/* ---------------------------------------------------------------------- scaled2real = 1: convert ion charges from scaled values (divided by epsilon) to real values = 0: real values to scaled values ------------------------------------------------------------------------- */ @@ -598,7 +598,7 @@ double FixPolarizeFunctional::memory_usage() bytes += num_induced_charges*sizeof(double); // sum1G1qw_epsilon bytes += num_induced_charges*sizeof(double); // sum2ndotGwq_epsilon bytes += num_ions*num_induced_charges*sizeof(double); // G1qw_real - bytes += nmax*sizeof(int); // induced_charge_idx + bytes += nmax*sizeof(int); // induced_charge_idx bytes += nmax*sizeof(int); // ion_idx bytes += num_induced_charges*sizeof(double); // induced_charges return bytes; @@ -893,7 +893,7 @@ void FixPolarizeFunctional::calculate_qiRqw_cutoff() MPI_DOUBLE,MPI_SUM,world); // the following loop need the above results: gradG1wq_real - // calculate sum1G1qw_epsilon and sum2ndotGwq_epsilon + // calculate sum1G1qw_epsilon and sum2ndotGwq_epsilon // fill up rhs1 with local sum1G1qw_epsilon and rhs2 with local sum2ndotGwq_epsilon memset(rhs1, 0, num_induced_charges*sizeof(double)); @@ -1054,7 +1054,7 @@ void FixPolarizeFunctional::set_dielectric_params(double ediff, double emean, double *epsilon = atom->epsilon; int *mask = atom->mask; int nlocal = atom->nlocal; - + for (int i = 0; i < nlocal; i++) { if (mask[i] & groupbit) { ed[i] = ediff; @@ -1066,7 +1066,7 @@ void FixPolarizeFunctional::set_dielectric_params(double ediff, double emean, } } -/* ---------------------------------------------------------------------- +/* ---------------------------------------------------------------------- real Green's function ------------------------------------------------------------------------ */ @@ -1153,7 +1153,7 @@ double FixPolarizeFunctional::calculate_ndotgreens_ewald_self_vertex(double area return curvature * MY_PIS / sqrt(area); } -/* ---------------------------------------------------------------------- +/* ---------------------------------------------------------------------- compute the inner product between two vectors x and y: x^t * y where ^t is the transpose operator -- ---------------------------------------------------------------------- */ @@ -1175,7 +1175,7 @@ void FixPolarizeFunctional::cg_solver(double** A, double* b, double* x, int N) cg_p[i] = cg_r[i]; } double rsq = inner_product(cg_r, cg_r, N); - + // maximum number of iterations do not exceed N for (int k = 0; k < N; k++) { @@ -1200,8 +1200,8 @@ void FixPolarizeFunctional::cg_solver(double** A, double* b, double* x, int N) // beta = rsq_new / rsq double beta = rsq_new / rsq; - for (int i = 0; i < N; i++) + for (int i = 0; i < N; i++) cg_p[i] = cg_r[i] + beta*cg_p[i]; rsq = rsq_new; } -} \ No newline at end of file +} diff --git a/src/USER-DIELECTRIC/fix_polarize_functional.h b/src/USER-DIELECTRIC/fix_polarize_functional.h index 444ed63f40..33af35e93c 100644 --- a/src/USER-DIELECTRIC/fix_polarize_functional.h +++ b/src/USER-DIELECTRIC/fix_polarize_functional.h @@ -73,14 +73,14 @@ class FixPolarizeFunctional : public Fix { double** buffer1; double** buffer2; - int allocated; + int allocated; int kspaceflag; // 1 if kspace is used for the induced charge computation double **efield_pair; // electrical field at position of atom i due to pair contribution double **efield_kspace; // electrical field at position of atom i due to kspace contribution int torqueflag,extraflag; double g_ewald; int includingG3ww; - + void calculate_Rww_cutoff(); void calculate_qiRqw_cutoff(); diff --git a/src/USER-DIELECTRIC/pair_coul_cut_dielectric.cpp b/src/USER-DIELECTRIC/pair_coul_cut_dielectric.cpp index b65b38f80e..b77484308e 100644 --- a/src/USER-DIELECTRIC/pair_coul_cut_dielectric.cpp +++ b/src/USER-DIELECTRIC/pair_coul_cut_dielectric.cpp @@ -188,7 +188,7 @@ double PairCoulCutDielectric::single(int i, int j, int itype, int jtype, r2inv = 1.0/rsq; forcecoul = force->qqrd2e * atom->q[i]*atom->q[j]*sqrt(r2inv)*eps[i]; - + double eng = 0.0; if (eps[i] == 1) ei = 0; else ei = eps[i]; @@ -199,4 +199,4 @@ double PairCoulCutDielectric::single(int i, int j, int itype, int jtype, eng += factor_coul*phicoul; return eng; -} \ No newline at end of file +} diff --git a/src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric.cpp b/src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric.cpp index a66406d4f5..c44aea584f 100644 --- a/src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric.cpp +++ b/src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric.cpp @@ -237,4 +237,4 @@ double PairLJCutCoulCutDielectric::single(int i, int j, int itype, int jtype, } return eng; -} \ No newline at end of file +} diff --git a/src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric_omp.cpp b/src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric_omp.cpp index c95312c105..caaa43ff71 100644 --- a/src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric_omp.cpp +++ b/src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric_omp.cpp @@ -39,7 +39,7 @@ using namespace MathConst; PairLJCutCoulCutDielectricOMP::PairLJCutCoulCutDielectricOMP(LAMMPS *lmp) : PairLJCutCoulCutDielectric(lmp), ThrOMP(lmp, THR_PAIR) { - + } /* ---------------------------------------------------------------------- */ @@ -185,7 +185,7 @@ void PairLJCutCoulCutDielectricOMP::eval(int iifrom, int iito, ThrData * const t } else forcelj = 0.0; fpair_i = (factor_coul*etmp*forcecoul + factor_lj*forcelj) * r2inv; - + fxtmp += delx*fpair_i; fytmp += dely*fpair_i; fztmp += delz*fpair_i; @@ -212,7 +212,7 @@ void PairLJCutCoulCutDielectricOMP::eval(int iifrom, int iito, ThrData * const t evdwl = r6inv*(lj3[itype][jtype]*r6inv-lj4[itype][jtype]) - offset[itype][jtype]; evdwl *= factor_lj; - } else evdwl = 0.0; + } else evdwl = 0.0; } if (EVFLAG) ev_tally_thr(this, i,j,nlocal,NEWTON_PAIR, diff --git a/src/USER-DIELECTRIC/pair_lj_cut_coul_debye_dielectric.cpp b/src/USER-DIELECTRIC/pair_lj_cut_coul_debye_dielectric.cpp index c094aff898..4d0785b590 100644 --- a/src/USER-DIELECTRIC/pair_lj_cut_coul_debye_dielectric.cpp +++ b/src/USER-DIELECTRIC/pair_lj_cut_coul_debye_dielectric.cpp @@ -220,7 +220,7 @@ double PairLJCutCoulDebyeDielectric::single(int i, int j, int itype, int jtype, r = sqrt(rsq); rinv = 1.0/r; screening = exp(-kappa*r); - forcecoul = force->qqrd2e * atom->q[i]*atom->q[j] * + forcecoul = force->qqrd2e * atom->q[i]*atom->q[j] * screening * (kappa + rinv) * eps[i]; } else forcecoul = 0.0; if (rsq < cut_ljsq[itype][jtype]) { diff --git a/src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric.cpp b/src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric.cpp index 7a14de640c..50a24c9129 100644 --- a/src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric.cpp +++ b/src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric.cpp @@ -153,7 +153,7 @@ void PairLJCutCoulLongDielectric::compute(int eflag, int vflag) if (rsq < cut_coulsq && rsq > EPSILON) { if (!ncoultablebits || rsq <= tabinnersq) { - + grij = g_ewald * r; expm2 = exp(-grij*grij); t = 1.0 / (1.0 + EWALD_P*grij); @@ -196,7 +196,7 @@ void PairLJCutCoulLongDielectric::compute(int eflag, int vflag) f[i][0] += delx*fpair_i; f[i][1] += dely*fpair_i; f[i][2] += delz*fpair_i; - + efield_i *= (etmp*r2inv); efield[i][0] += delx*efield_i; efield[i][1] += dely*efield_i; @@ -335,4 +335,4 @@ double PairLJCutCoulLongDielectric::single(int i, int j, int itype, int jtype, } return eng; -} \ No newline at end of file +} diff --git a/src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric_omp.cpp b/src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric_omp.cpp index 935991bbe1..c7c790502b 100644 --- a/src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric_omp.cpp +++ b/src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric_omp.cpp @@ -205,7 +205,7 @@ void PairLJCutCoulLongDielectricOMP::eval(int iifrom, int iito, ThrData * const table = ctable[itable] + fraction*dctable[itable]; prefactor = qtmp*q[j] * table; forcecoul -= (1.0-factor_coul)*prefactor; - + prefactorE = q[j] * table/qqrd2e; efield_i -= (1.0-factor_coul)*prefactorE; } diff --git a/src/USER-DIELECTRIC/pair_lj_cut_coul_msm_dielectric.cpp b/src/USER-DIELECTRIC/pair_lj_cut_coul_msm_dielectric.cpp index ce89d718a8..9a1ce21356 100644 --- a/src/USER-DIELECTRIC/pair_lj_cut_coul_msm_dielectric.cpp +++ b/src/USER-DIELECTRIC/pair_lj_cut_coul_msm_dielectric.cpp @@ -243,7 +243,7 @@ void PairLJCutCoulMSMDielectric::compute(int eflag, int vflag) efield[i][2] += delz*efield_i; if (newton_pair && j >= nlocal) { - fpair_j = (forcecoul*eps[j]) * r2inv; + fpair_j = (forcecoul*eps[j]) * r2inv; ftmp[j][0] -= delx*fpair_j; ftmp[j][1] -= dely*fpair_j; ftmp[j][2] -= delz*fpair_j; diff --git a/src/USER-DIELECTRIC/pair_lj_long_coul_long_dielectric.cpp b/src/USER-DIELECTRIC/pair_lj_long_coul_long_dielectric.cpp index ae2eb4a383..e6c8dfabd5 100644 --- a/src/USER-DIELECTRIC/pair_lj_long_coul_long_dielectric.cpp +++ b/src/USER-DIELECTRIC/pair_lj_long_coul_long_dielectric.cpp @@ -177,7 +177,7 @@ void PairLJLongCoulLongDielectric::compute(int eflag, int vflag) if (order1 && (rsq < cut_coulsq)) { // coulombic if (!ncoultablebits || rsq <= tabinnersq) { - + grij = g_ewald * r; expm2 = exp(-grij*grij); t = 1.0 / (1.0 + EWALD_P*grij); diff --git a/src/USER-DIELECTRIC/pair_lj_long_coul_long_dielectric.h b/src/USER-DIELECTRIC/pair_lj_long_coul_long_dielectric.h index 4ba4683d8b..e810ade7ba 100644 --- a/src/USER-DIELECTRIC/pair_lj_long_coul_long_dielectric.h +++ b/src/USER-DIELECTRIC/pair_lj_long_coul_long_dielectric.h @@ -31,7 +31,7 @@ class PairLJLongCoulLongDielectric : public PairLJLongCoulLong { virtual void compute(int, int); void init_style(); double single(int, int, int, int, double, double, double, double &); - + double** efield; double* epot; diff --git a/src/USER-DIELECTRIC/pppm_dielectric.cpp b/src/USER-DIELECTRIC/pppm_dielectric.cpp index ea62618efd..58df28b6ac 100644 --- a/src/USER-DIELECTRIC/pppm_dielectric.cpp +++ b/src/USER-DIELECTRIC/pppm_dielectric.cpp @@ -412,7 +412,7 @@ void PPPMDielectric::slabcorr() double *q = atom->q; double **x = atom->x; double *eps = atom->epsilon; - + double zprd = domain->zprd; int nlocal = atom->nlocal; From 076e25f2a52353ba307802ef1bb2d6578005d876 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 5 Jun 2021 11:16:27 -0400 Subject: [PATCH 149/726] update LAMMPS homepage URLs --- src/USER-DIELECTRIC/atom_vec_dielectric.cpp | 2 +- src/USER-DIELECTRIC/atom_vec_dielectric.h | 2 +- src/USER-DIELECTRIC/compute_efield_atom.cpp | 2 +- src/USER-DIELECTRIC/compute_efield_atom.h | 2 +- src/USER-DIELECTRIC/fix_polarize_bem_gmres.cpp | 2 +- src/USER-DIELECTRIC/fix_polarize_bem_gmres.h | 2 +- src/USER-DIELECTRIC/fix_polarize_bem_icc.cpp | 2 +- src/USER-DIELECTRIC/fix_polarize_bem_icc.h | 2 +- src/USER-DIELECTRIC/fix_polarize_functional.cpp | 2 +- src/USER-DIELECTRIC/fix_polarize_functional.h | 2 +- src/USER-DIELECTRIC/msm_dielectric.cpp | 2 +- src/USER-DIELECTRIC/msm_dielectric.h | 2 +- src/USER-DIELECTRIC/pair_coul_cut_dielectric.cpp | 2 +- src/USER-DIELECTRIC/pair_coul_cut_dielectric.h | 2 +- src/USER-DIELECTRIC/pair_coul_long_dielectric.cpp | 2 +- src/USER-DIELECTRIC/pair_coul_long_dielectric.h | 2 +- src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric.cpp | 2 +- src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric.h | 2 +- src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric_omp.cpp | 2 +- src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric_omp.h | 2 +- src/USER-DIELECTRIC/pair_lj_cut_coul_debye_dielectric.cpp | 2 +- src/USER-DIELECTRIC/pair_lj_cut_coul_debye_dielectric.h | 2 +- src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric.cpp | 2 +- src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric.h | 2 +- src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric_omp.cpp | 2 +- src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric_omp.h | 2 +- src/USER-DIELECTRIC/pair_lj_cut_coul_msm_dielectric.cpp | 2 +- src/USER-DIELECTRIC/pair_lj_cut_coul_msm_dielectric.h | 2 +- src/USER-DIELECTRIC/pair_lj_long_coul_long_dielectric.cpp | 2 +- src/USER-DIELECTRIC/pair_lj_long_coul_long_dielectric.h | 2 +- src/USER-DIELECTRIC/pppm_dielectric.cpp | 2 +- src/USER-DIELECTRIC/pppm_dielectric.h | 2 +- 32 files changed, 32 insertions(+), 32 deletions(-) diff --git a/src/USER-DIELECTRIC/atom_vec_dielectric.cpp b/src/USER-DIELECTRIC/atom_vec_dielectric.cpp index a62aa609be..6ed67c8326 100644 --- a/src/USER-DIELECTRIC/atom_vec_dielectric.cpp +++ b/src/USER-DIELECTRIC/atom_vec_dielectric.cpp @@ -1,6 +1,6 @@ /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories + https://www.lammps.org/ Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract diff --git a/src/USER-DIELECTRIC/atom_vec_dielectric.h b/src/USER-DIELECTRIC/atom_vec_dielectric.h index 9767a63ca6..956e2f2fbf 100644 --- a/src/USER-DIELECTRIC/atom_vec_dielectric.h +++ b/src/USER-DIELECTRIC/atom_vec_dielectric.h @@ -1,6 +1,6 @@ /* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories + https://www.lammps.org/ Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract diff --git a/src/USER-DIELECTRIC/compute_efield_atom.cpp b/src/USER-DIELECTRIC/compute_efield_atom.cpp index 2a07535adb..0f81e1a112 100644 --- a/src/USER-DIELECTRIC/compute_efield_atom.cpp +++ b/src/USER-DIELECTRIC/compute_efield_atom.cpp @@ -1,6 +1,6 @@ /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories + https://www.lammps.org/ Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract diff --git a/src/USER-DIELECTRIC/compute_efield_atom.h b/src/USER-DIELECTRIC/compute_efield_atom.h index f749add133..728d66b0a1 100644 --- a/src/USER-DIELECTRIC/compute_efield_atom.h +++ b/src/USER-DIELECTRIC/compute_efield_atom.h @@ -1,6 +1,6 @@ /* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories + https://www.lammps.org/ Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract diff --git a/src/USER-DIELECTRIC/fix_polarize_bem_gmres.cpp b/src/USER-DIELECTRIC/fix_polarize_bem_gmres.cpp index eabe656582..5ec8feaec1 100644 --- a/src/USER-DIELECTRIC/fix_polarize_bem_gmres.cpp +++ b/src/USER-DIELECTRIC/fix_polarize_bem_gmres.cpp @@ -1,6 +1,6 @@ /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories + https://www.lammps.org/ Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract diff --git a/src/USER-DIELECTRIC/fix_polarize_bem_gmres.h b/src/USER-DIELECTRIC/fix_polarize_bem_gmres.h index 8cf2ebd6c3..dd55fd967a 100644 --- a/src/USER-DIELECTRIC/fix_polarize_bem_gmres.h +++ b/src/USER-DIELECTRIC/fix_polarize_bem_gmres.h @@ -1,6 +1,6 @@ /* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories + https://www.lammps.org/ Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract diff --git a/src/USER-DIELECTRIC/fix_polarize_bem_icc.cpp b/src/USER-DIELECTRIC/fix_polarize_bem_icc.cpp index 995e8ee225..3b94bf08a6 100644 --- a/src/USER-DIELECTRIC/fix_polarize_bem_icc.cpp +++ b/src/USER-DIELECTRIC/fix_polarize_bem_icc.cpp @@ -1,6 +1,6 @@ /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories + https://www.lammps.org/ Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract diff --git a/src/USER-DIELECTRIC/fix_polarize_bem_icc.h b/src/USER-DIELECTRIC/fix_polarize_bem_icc.h index fedb57179d..69a7739209 100644 --- a/src/USER-DIELECTRIC/fix_polarize_bem_icc.h +++ b/src/USER-DIELECTRIC/fix_polarize_bem_icc.h @@ -1,6 +1,6 @@ /* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories + https://www.lammps.org/ Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract diff --git a/src/USER-DIELECTRIC/fix_polarize_functional.cpp b/src/USER-DIELECTRIC/fix_polarize_functional.cpp index b7943f505a..50a7bcabeb 100644 --- a/src/USER-DIELECTRIC/fix_polarize_functional.cpp +++ b/src/USER-DIELECTRIC/fix_polarize_functional.cpp @@ -1,6 +1,6 @@ /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories + https://www.lammps.org/ Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract diff --git a/src/USER-DIELECTRIC/fix_polarize_functional.h b/src/USER-DIELECTRIC/fix_polarize_functional.h index 33af35e93c..24b5776917 100644 --- a/src/USER-DIELECTRIC/fix_polarize_functional.h +++ b/src/USER-DIELECTRIC/fix_polarize_functional.h @@ -1,6 +1,6 @@ /* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories + https://www.lammps.org/ Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract diff --git a/src/USER-DIELECTRIC/msm_dielectric.cpp b/src/USER-DIELECTRIC/msm_dielectric.cpp index 6626f196e1..14b7463138 100644 --- a/src/USER-DIELECTRIC/msm_dielectric.cpp +++ b/src/USER-DIELECTRIC/msm_dielectric.cpp @@ -1,6 +1,6 @@ /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories + https://www.lammps.org/ Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract diff --git a/src/USER-DIELECTRIC/msm_dielectric.h b/src/USER-DIELECTRIC/msm_dielectric.h index 2dbac12704..395735ef8a 100644 --- a/src/USER-DIELECTRIC/msm_dielectric.h +++ b/src/USER-DIELECTRIC/msm_dielectric.h @@ -1,6 +1,6 @@ /* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories + https://www.lammps.org/ Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract diff --git a/src/USER-DIELECTRIC/pair_coul_cut_dielectric.cpp b/src/USER-DIELECTRIC/pair_coul_cut_dielectric.cpp index b77484308e..50bcea3c48 100644 --- a/src/USER-DIELECTRIC/pair_coul_cut_dielectric.cpp +++ b/src/USER-DIELECTRIC/pair_coul_cut_dielectric.cpp @@ -1,6 +1,6 @@ /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories + https://www.lammps.org/ Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract diff --git a/src/USER-DIELECTRIC/pair_coul_cut_dielectric.h b/src/USER-DIELECTRIC/pair_coul_cut_dielectric.h index 2abc6b906e..2480f923e9 100644 --- a/src/USER-DIELECTRIC/pair_coul_cut_dielectric.h +++ b/src/USER-DIELECTRIC/pair_coul_cut_dielectric.h @@ -1,6 +1,6 @@ /* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories + https://www.lammps.org/ Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract diff --git a/src/USER-DIELECTRIC/pair_coul_long_dielectric.cpp b/src/USER-DIELECTRIC/pair_coul_long_dielectric.cpp index 2da13b7343..cd9e6bb7e5 100644 --- a/src/USER-DIELECTRIC/pair_coul_long_dielectric.cpp +++ b/src/USER-DIELECTRIC/pair_coul_long_dielectric.cpp @@ -1,6 +1,6 @@ /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories + https://www.lammps.org/ Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract diff --git a/src/USER-DIELECTRIC/pair_coul_long_dielectric.h b/src/USER-DIELECTRIC/pair_coul_long_dielectric.h index dc4d51bbce..56a284259a 100644 --- a/src/USER-DIELECTRIC/pair_coul_long_dielectric.h +++ b/src/USER-DIELECTRIC/pair_coul_long_dielectric.h @@ -1,6 +1,6 @@ /* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories + https://www.lammps.org/ Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract diff --git a/src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric.cpp b/src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric.cpp index c44aea584f..7523b290fa 100644 --- a/src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric.cpp +++ b/src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric.cpp @@ -1,6 +1,6 @@ /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories + https://www.lammps.org/ Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract diff --git a/src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric.h b/src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric.h index 54ec2a6100..8af0358c14 100644 --- a/src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric.h +++ b/src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric.h @@ -1,6 +1,6 @@ /* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories + https://www.lammps.org/ Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract diff --git a/src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric_omp.cpp b/src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric_omp.cpp index caaa43ff71..a056ae86c9 100644 --- a/src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric_omp.cpp +++ b/src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric_omp.cpp @@ -1,6 +1,6 @@ /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories + https://www.lammps.org/ Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract diff --git a/src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric_omp.h b/src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric_omp.h index f84aa91c0c..9eb74c1524 100644 --- a/src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric_omp.h +++ b/src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric_omp.h @@ -1,6 +1,6 @@ /* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories + https://www.lammps.org/ Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract diff --git a/src/USER-DIELECTRIC/pair_lj_cut_coul_debye_dielectric.cpp b/src/USER-DIELECTRIC/pair_lj_cut_coul_debye_dielectric.cpp index 4d0785b590..7dcafac9f6 100644 --- a/src/USER-DIELECTRIC/pair_lj_cut_coul_debye_dielectric.cpp +++ b/src/USER-DIELECTRIC/pair_lj_cut_coul_debye_dielectric.cpp @@ -1,6 +1,6 @@ /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories + https://www.lammps.org/ Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract diff --git a/src/USER-DIELECTRIC/pair_lj_cut_coul_debye_dielectric.h b/src/USER-DIELECTRIC/pair_lj_cut_coul_debye_dielectric.h index 9df0edb364..0ed0e5c4e1 100644 --- a/src/USER-DIELECTRIC/pair_lj_cut_coul_debye_dielectric.h +++ b/src/USER-DIELECTRIC/pair_lj_cut_coul_debye_dielectric.h @@ -1,6 +1,6 @@ /* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories + https://www.lammps.org/ Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract diff --git a/src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric.cpp b/src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric.cpp index 50a24c9129..4f17ccc34d 100644 --- a/src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric.cpp +++ b/src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric.cpp @@ -1,6 +1,6 @@ /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories + https://www.lammps.org/ Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract diff --git a/src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric.h b/src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric.h index 24afa7e6fa..b2e930e288 100644 --- a/src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric.h +++ b/src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric.h @@ -1,6 +1,6 @@ /* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories + https://www.lammps.org/ Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract diff --git a/src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric_omp.cpp b/src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric_omp.cpp index c7c790502b..39149e692f 100644 --- a/src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric_omp.cpp +++ b/src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric_omp.cpp @@ -1,6 +1,6 @@ /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories + https://www.lammps.org/ Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract diff --git a/src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric_omp.h b/src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric_omp.h index 5a1033b606..a48f7caf7d 100644 --- a/src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric_omp.h +++ b/src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric_omp.h @@ -1,6 +1,6 @@ /* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories + https://www.lammps.org/ Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract diff --git a/src/USER-DIELECTRIC/pair_lj_cut_coul_msm_dielectric.cpp b/src/USER-DIELECTRIC/pair_lj_cut_coul_msm_dielectric.cpp index 9a1ce21356..5876512418 100644 --- a/src/USER-DIELECTRIC/pair_lj_cut_coul_msm_dielectric.cpp +++ b/src/USER-DIELECTRIC/pair_lj_cut_coul_msm_dielectric.cpp @@ -1,6 +1,6 @@ /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories + https://www.lammps.org/ Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract diff --git a/src/USER-DIELECTRIC/pair_lj_cut_coul_msm_dielectric.h b/src/USER-DIELECTRIC/pair_lj_cut_coul_msm_dielectric.h index 77f772315b..a5e1107471 100644 --- a/src/USER-DIELECTRIC/pair_lj_cut_coul_msm_dielectric.h +++ b/src/USER-DIELECTRIC/pair_lj_cut_coul_msm_dielectric.h @@ -1,6 +1,6 @@ /* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories + https://www.lammps.org/ Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract diff --git a/src/USER-DIELECTRIC/pair_lj_long_coul_long_dielectric.cpp b/src/USER-DIELECTRIC/pair_lj_long_coul_long_dielectric.cpp index e6c8dfabd5..89a3215330 100644 --- a/src/USER-DIELECTRIC/pair_lj_long_coul_long_dielectric.cpp +++ b/src/USER-DIELECTRIC/pair_lj_long_coul_long_dielectric.cpp @@ -1,6 +1,6 @@ /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories + https://www.lammps.org/ Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract diff --git a/src/USER-DIELECTRIC/pair_lj_long_coul_long_dielectric.h b/src/USER-DIELECTRIC/pair_lj_long_coul_long_dielectric.h index e810ade7ba..c7448b0ce4 100644 --- a/src/USER-DIELECTRIC/pair_lj_long_coul_long_dielectric.h +++ b/src/USER-DIELECTRIC/pair_lj_long_coul_long_dielectric.h @@ -1,6 +1,6 @@ /* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories + https://www.lammps.org/ Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract diff --git a/src/USER-DIELECTRIC/pppm_dielectric.cpp b/src/USER-DIELECTRIC/pppm_dielectric.cpp index 58df28b6ac..31aaa4ded6 100644 --- a/src/USER-DIELECTRIC/pppm_dielectric.cpp +++ b/src/USER-DIELECTRIC/pppm_dielectric.cpp @@ -1,6 +1,6 @@ /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories + https://www.lammps.org/ Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract diff --git a/src/USER-DIELECTRIC/pppm_dielectric.h b/src/USER-DIELECTRIC/pppm_dielectric.h index b7803011f8..80d119e0c9 100644 --- a/src/USER-DIELECTRIC/pppm_dielectric.h +++ b/src/USER-DIELECTRIC/pppm_dielectric.h @@ -1,6 +1,6 @@ /* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories + https://www.lammps.org/ Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract From 7928e90179b3ce14b36955e68d64b76777e42878 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 5 Jun 2021 11:20:47 -0400 Subject: [PATCH 150/726] make headers compatibel with clang-format --- src/USER-DIELECTRIC/atom_vec_dielectric.h | 6 +++--- src/USER-DIELECTRIC/compute_efield_atom.h | 6 +++--- src/USER-DIELECTRIC/fix_polarize_bem_gmres.h | 6 +++--- src/USER-DIELECTRIC/fix_polarize_bem_icc.h | 6 +++--- src/USER-DIELECTRIC/fix_polarize_functional.h | 6 +++--- src/USER-DIELECTRIC/msm_dielectric.h | 6 +++--- src/USER-DIELECTRIC/pair_coul_cut_dielectric.h | 6 +++--- src/USER-DIELECTRIC/pair_coul_long_dielectric.h | 6 +++--- src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric.h | 6 +++--- src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric_omp.h | 6 +++--- src/USER-DIELECTRIC/pair_lj_cut_coul_debye_dielectric.h | 6 +++--- src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric.h | 6 +++--- src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric_omp.h | 6 +++--- src/USER-DIELECTRIC/pair_lj_cut_coul_msm_dielectric.h | 6 +++--- src/USER-DIELECTRIC/pair_lj_long_coul_long_dielectric.h | 6 +++--- src/USER-DIELECTRIC/pppm_dielectric.h | 6 +++--- 16 files changed, 48 insertions(+), 48 deletions(-) diff --git a/src/USER-DIELECTRIC/atom_vec_dielectric.h b/src/USER-DIELECTRIC/atom_vec_dielectric.h index 956e2f2fbf..dbdd4ff53b 100644 --- a/src/USER-DIELECTRIC/atom_vec_dielectric.h +++ b/src/USER-DIELECTRIC/atom_vec_dielectric.h @@ -12,9 +12,9 @@ ------------------------------------------------------------------------- */ #ifdef ATOM_CLASS - -AtomStyle(dielectric,AtomVecDielectric) - +// clang-format off +AtomStyle(dielectric,AtomVecDielectric); +// clang-format on #else #ifndef LMP_ATOM_VEC_DIELECTRIC_H diff --git a/src/USER-DIELECTRIC/compute_efield_atom.h b/src/USER-DIELECTRIC/compute_efield_atom.h index 728d66b0a1..6c81150265 100644 --- a/src/USER-DIELECTRIC/compute_efield_atom.h +++ b/src/USER-DIELECTRIC/compute_efield_atom.h @@ -12,9 +12,9 @@ ------------------------------------------------------------------------- */ #ifdef COMPUTE_CLASS - -ComputeStyle(efield/atom,ComputeEfieldAtom) - +// clang-format off +ComputeStyle(efield/atom,ComputeEfieldAtom); +// clang-format on #else #ifndef LMP_COMPUTE_EFIELD_ATOM_H diff --git a/src/USER-DIELECTRIC/fix_polarize_bem_gmres.h b/src/USER-DIELECTRIC/fix_polarize_bem_gmres.h index dd55fd967a..e680b63240 100644 --- a/src/USER-DIELECTRIC/fix_polarize_bem_gmres.h +++ b/src/USER-DIELECTRIC/fix_polarize_bem_gmres.h @@ -12,9 +12,9 @@ ------------------------------------------------------------------------- */ #ifdef FIX_CLASS - -FixStyle(polarize/bem/gmres,FixPolarizeBEMGMRES) - +// clang-format off +FixStyle(polarize/bem/gmres,FixPolarizeBEMGMRES); +// clang-format on #else #ifndef LMP_FIX_POLARIZE_BEM_GMRES_H diff --git a/src/USER-DIELECTRIC/fix_polarize_bem_icc.h b/src/USER-DIELECTRIC/fix_polarize_bem_icc.h index 69a7739209..eca8ffcaee 100644 --- a/src/USER-DIELECTRIC/fix_polarize_bem_icc.h +++ b/src/USER-DIELECTRIC/fix_polarize_bem_icc.h @@ -12,9 +12,9 @@ ------------------------------------------------------------------------- */ #ifdef FIX_CLASS - -FixStyle(polarize/bem/icc,FixPolarizeBEMICC) - +// clang-format off +FixStyle(polarize/bem/icc,FixPolarizeBEMICC); +// clang-format on #else #ifndef LMP_FIX_POLARIZE_BEM_ICC_H diff --git a/src/USER-DIELECTRIC/fix_polarize_functional.h b/src/USER-DIELECTRIC/fix_polarize_functional.h index 24b5776917..704e976020 100644 --- a/src/USER-DIELECTRIC/fix_polarize_functional.h +++ b/src/USER-DIELECTRIC/fix_polarize_functional.h @@ -12,9 +12,9 @@ ------------------------------------------------------------------------- */ #ifdef FIX_CLASS - -FixStyle(polarize/functional,FixPolarizeFunctional) - +// clang-format off +FixStyle(polarize/functional,FixPolarizeFunctional); +// clang-format on #else #ifndef LMP_FIX_POLARIZE_FUNCTIONAL_H diff --git a/src/USER-DIELECTRIC/msm_dielectric.h b/src/USER-DIELECTRIC/msm_dielectric.h index 395735ef8a..1a36386f13 100644 --- a/src/USER-DIELECTRIC/msm_dielectric.h +++ b/src/USER-DIELECTRIC/msm_dielectric.h @@ -12,9 +12,9 @@ ------------------------------------------------------------------------- */ #ifdef KSPACE_CLASS - -KSpaceStyle(msm/dielectric,MSMDielectric) - +// clang-format off +KSpaceStyle(msm/dielectric,MSMDielectric); +// clang-format on #else #ifndef LMP_MSM_DIELECTRIC_H diff --git a/src/USER-DIELECTRIC/pair_coul_cut_dielectric.h b/src/USER-DIELECTRIC/pair_coul_cut_dielectric.h index 2480f923e9..e10df64691 100644 --- a/src/USER-DIELECTRIC/pair_coul_cut_dielectric.h +++ b/src/USER-DIELECTRIC/pair_coul_cut_dielectric.h @@ -12,9 +12,9 @@ ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS - -PairStyle(coul/cut/dielectric,PairCoulCutDielectric) - +// clang-format off +PairStyle(coul/cut/dielectric,PairCoulCutDielectric); +// clang-format on #else #ifndef LMP_PAIR_COUL_CUT_DIELECTRIC_H diff --git a/src/USER-DIELECTRIC/pair_coul_long_dielectric.h b/src/USER-DIELECTRIC/pair_coul_long_dielectric.h index 56a284259a..7f3bfebf5a 100644 --- a/src/USER-DIELECTRIC/pair_coul_long_dielectric.h +++ b/src/USER-DIELECTRIC/pair_coul_long_dielectric.h @@ -12,9 +12,9 @@ ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS - -PairStyle(coul/long/dielectric,PairCoulLongDielectric) - +// clang-format off +PairStyle(coul/long/dielectric,PairCoulLongDielectric); +// clang-format on #else #ifndef LMP_PAIR_COUL_LONG_DIELECTRIC_H diff --git a/src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric.h b/src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric.h index 8af0358c14..52e6ce1789 100644 --- a/src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric.h +++ b/src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric.h @@ -12,9 +12,9 @@ ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS - -PairStyle(lj/cut/coul/cut/dielectric,PairLJCutCoulCutDielectric) - +// clang-format off +PairStyle(lj/cut/coul/cut/dielectric,PairLJCutCoulCutDielectric); +// clang-format on #else #ifndef LMP_PAIR_LJ_CUT_COUL_CUT_DIELECTRIC_H diff --git a/src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric_omp.h b/src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric_omp.h index 9eb74c1524..f13313b511 100644 --- a/src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric_omp.h +++ b/src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric_omp.h @@ -12,9 +12,9 @@ ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS - -PairStyle(lj/cut/coul/cut/dielectric/omp,PairLJCutCoulCutDielectricOMP) - +// clang-format off +PairStyle(lj/cut/coul/cut/dielectric/omp,PairLJCutCoulCutDielectricOMP); +// clang-format on #else #ifndef LMP_PAIR_LJ_CUT_COUL_CUT_DIELECTRIC_OMP_H diff --git a/src/USER-DIELECTRIC/pair_lj_cut_coul_debye_dielectric.h b/src/USER-DIELECTRIC/pair_lj_cut_coul_debye_dielectric.h index 0ed0e5c4e1..18b3c1bb59 100644 --- a/src/USER-DIELECTRIC/pair_lj_cut_coul_debye_dielectric.h +++ b/src/USER-DIELECTRIC/pair_lj_cut_coul_debye_dielectric.h @@ -12,9 +12,9 @@ ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS - -PairStyle(lj/cut/coul/debye/dielectric,PairLJCutCoulDebyeDielectric) - +// clang-format off +PairStyle(lj/cut/coul/debye/dielectric,PairLJCutCoulDebyeDielectric); +// clang-format on #else #ifndef LMP_PAIR_LJ_CUT_COUL_DEBYE_DIELECTRIC_H diff --git a/src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric.h b/src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric.h index b2e930e288..1d2b3c6123 100644 --- a/src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric.h +++ b/src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric.h @@ -12,9 +12,9 @@ ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS - -PairStyle(lj/cut/coul/long/dielectric,PairLJCutCoulLongDielectric) - +// clang-format off +PairStyle(lj/cut/coul/long/dielectric,PairLJCutCoulLongDielectric); +// clang-format on #else #ifndef LMP_PAIR_LJ_CUT_COUL_LONG_DIELECTRIC_H diff --git a/src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric_omp.h b/src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric_omp.h index a48f7caf7d..ab4c6ebdae 100644 --- a/src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric_omp.h +++ b/src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric_omp.h @@ -12,9 +12,9 @@ ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS - -PairStyle(lj/cut/coul/long/dielectric/omp,PairLJCutCoulLongDielectricOMP) - +// clang-format off +PairStyle(lj/cut/coul/long/dielectric/omp,PairLJCutCoulLongDielectricOMP); +// clang-format on #else #ifndef LMP_PAIR_LJ_CUT_COUL_LONG_DIELECTRIC_OMP_H diff --git a/src/USER-DIELECTRIC/pair_lj_cut_coul_msm_dielectric.h b/src/USER-DIELECTRIC/pair_lj_cut_coul_msm_dielectric.h index a5e1107471..e64409a2cb 100644 --- a/src/USER-DIELECTRIC/pair_lj_cut_coul_msm_dielectric.h +++ b/src/USER-DIELECTRIC/pair_lj_cut_coul_msm_dielectric.h @@ -12,9 +12,9 @@ ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS - -PairStyle(lj/cut/coul/msm/dielectric,PairLJCutCoulMSMDielectric) - +// clang-format off +PairStyle(lj/cut/coul/msm/dielectric,PairLJCutCoulMSMDielectric); +// clang-format on #else #ifndef LMP_PAIR_LJ_CUT_COUL_MSM_DIELECTRIC_H diff --git a/src/USER-DIELECTRIC/pair_lj_long_coul_long_dielectric.h b/src/USER-DIELECTRIC/pair_lj_long_coul_long_dielectric.h index c7448b0ce4..0ec3321df4 100644 --- a/src/USER-DIELECTRIC/pair_lj_long_coul_long_dielectric.h +++ b/src/USER-DIELECTRIC/pair_lj_long_coul_long_dielectric.h @@ -12,9 +12,9 @@ ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS - -PairStyle(lj/long/coul/long/dielectric,PairLJLongCoulLongDielectric) - +// clang-format off +PairStyle(lj/long/coul/long/dielectric,PairLJLongCoulLongDielectric); +// clang-format on #else #ifndef LMP_PAIR_LJ_LONG_COUL_LONG_DIELECTRIC_H diff --git a/src/USER-DIELECTRIC/pppm_dielectric.h b/src/USER-DIELECTRIC/pppm_dielectric.h index 80d119e0c9..24eb180c5f 100644 --- a/src/USER-DIELECTRIC/pppm_dielectric.h +++ b/src/USER-DIELECTRIC/pppm_dielectric.h @@ -12,9 +12,9 @@ ------------------------------------------------------------------------- */ #ifdef KSPACE_CLASS - -KSpaceStyle(pppm/dielectric,PPPMDielectric) - +// clang-format off +KSpaceStyle(pppm/dielectric,PPPMDielectric); +// clang-format on #else #ifndef LMP_PPPM_DIELECTRIC_H From 672fa7d8ff0b1a72ce085f379c1c0f07d176fa24 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 5 Jun 2021 11:21:26 -0400 Subject: [PATCH 151/726] move /omp styles to USER-OMP package --- .../pair_lj_cut_coul_cut_dielectric_omp.cpp | 0 .../pair_lj_cut_coul_cut_dielectric_omp.h | 0 .../pair_lj_cut_coul_long_dielectric_omp.cpp | 0 .../pair_lj_cut_coul_long_dielectric_omp.h | 0 4 files changed, 0 insertions(+), 0 deletions(-) rename src/{USER-DIELECTRIC => USER-OMP}/pair_lj_cut_coul_cut_dielectric_omp.cpp (100%) rename src/{USER-DIELECTRIC => USER-OMP}/pair_lj_cut_coul_cut_dielectric_omp.h (100%) rename src/{USER-DIELECTRIC => USER-OMP}/pair_lj_cut_coul_long_dielectric_omp.cpp (100%) rename src/{USER-DIELECTRIC => USER-OMP}/pair_lj_cut_coul_long_dielectric_omp.h (100%) diff --git a/src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric_omp.cpp b/src/USER-OMP/pair_lj_cut_coul_cut_dielectric_omp.cpp similarity index 100% rename from src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric_omp.cpp rename to src/USER-OMP/pair_lj_cut_coul_cut_dielectric_omp.cpp diff --git a/src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric_omp.h b/src/USER-OMP/pair_lj_cut_coul_cut_dielectric_omp.h similarity index 100% rename from src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric_omp.h rename to src/USER-OMP/pair_lj_cut_coul_cut_dielectric_omp.h diff --git a/src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric_omp.cpp b/src/USER-OMP/pair_lj_cut_coul_long_dielectric_omp.cpp similarity index 100% rename from src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric_omp.cpp rename to src/USER-OMP/pair_lj_cut_coul_long_dielectric_omp.cpp diff --git a/src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric_omp.h b/src/USER-OMP/pair_lj_cut_coul_long_dielectric_omp.h similarity index 100% rename from src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric_omp.h rename to src/USER-OMP/pair_lj_cut_coul_long_dielectric_omp.h From f7bae950e898e3d3e30f1cfc411e2e7a3b026b1b Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 5 Jun 2021 11:24:03 -0400 Subject: [PATCH 152/726] update .gitignore --- src/.gitignore | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/.gitignore b/src/.gitignore index 72bb8a3004..37955b454d 100644 --- a/src/.gitignore +++ b/src/.gitignore @@ -47,6 +47,13 @@ /pair_pace.cpp /pair_pace.h +/fix_polarize*.cpp +/fix_polarize*.h +/*_dielectric.cpp +/*_dielectric.h +/compute_efield_atom.cpp +/compute_efield_atom.j + /superpose3d.h /kokkos.cpp From 6b6cae7c11521025cc6a43cac14393113f5a7e9f Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 5 Jun 2021 11:28:11 -0400 Subject: [PATCH 153/726] update dependencies --- src/USER-DIELECTRIC/Install.sh | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/USER-DIELECTRIC/Install.sh b/src/USER-DIELECTRIC/Install.sh index a1240ecd6a..01540dfcba 100644 --- a/src/USER-DIELECTRIC/Install.sh +++ b/src/USER-DIELECTRIC/Install.sh @@ -36,20 +36,20 @@ action fix_polarize_bem_icc.cpp action fix_polarize_bem_icc.h action fix_polarize_functional.cpp action fix_polarize_functional.h -action pair_lj_cut_coul_msm_dielectric.cpp -action pair_lj_cut_coul_msm_dielectric.h -action pair_lj_cut_coul_long_dielectric.cpp -action pair_lj_cut_coul_long_dielectric.h -action pair_lj_long_coul_long_dielectric.cpp pair_lj_long_coul_long.cpp -action pair_lj_long_coul_long_dielectric.h pair_lj_long_coul_long.cpp +action pair_lj_cut_coul_msm_dielectric.cpp pair_lj_cut_coul_msm.cpp +action pair_lj_cut_coul_msm_dielectric.h pair_lj_cut_coul_msm.h +action pair_lj_cut_coul_long_dielectric.cpp pair_lj_cut_coul_long.cpp +action pair_lj_cut_coul_long_dielectric.h pair_lj_cut_coul_long.h +action pair_lj_long_coul_long_dielectric.cpp pair_lj_long_coul_long.cpp +action pair_lj_long_coul_long_dielectric.h pair_lj_long_coul_long.cpp action pair_lj_cut_coul_cut_dielectric.cpp action pair_lj_cut_coul_cut_dielectric.h -action pair_coul_long_dielectric.cpp -action pair_coul_long_dielectric.h +action pair_coul_long_dielectric.cpp pair_coul_long.cpp +action pair_coul_long_dielectric.h pair_coul_long.h action pair_coul_cut_dielectric.cpp action pair_coul_cut_dielectric.h -action pppm_dielectric.cpp -action pppm_dielectric.h -action msm_dielectric.cpp -action msm_dielectric.h +action pppm_dielectric.cpp pppm.cpp +action pppm_dielectric.h pppm.h +action msm_dielectric.cpp msm.cpp +action msm_dielectric.h msm.h From 02707d7a0d38aad3bd8c7fb3e3b47eeeb5488187 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 5 Jun 2021 12:11:36 -0400 Subject: [PATCH 154/726] add CMake support --- cmake/CMakeLists.txt | 13 +++---- cmake/Modules/Packages/USER-DIELECTRIC.cmake | 38 ++++++++++++++++++++ 2 files changed, 45 insertions(+), 6 deletions(-) create mode 100644 cmake/Modules/Packages/USER-DIELECTRIC.cmake diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index aa6b0ed583..e056da6810 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -142,9 +142,9 @@ set(STANDARD_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS DIPOLE GRANULAR KSPACE LATTE MANYBODY MC MESSAGE MISC MLIAP MOLECULE PERI POEMS PLUGIN QEQ REPLICA RIGID SHOCK SPIN SNAP SRD KIM PYTHON MSCG MPIIO VORONOI USER-ADIOS USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-MESODPD USER-CGSDK - USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD - USER-HDNNP USER-LB USER-MANIFOLD USER-MDI USER-MEAMC USER-MESONT USER-MGPT USER-MISC - USER-MOFFF USER-MOLFILE USER-NETCDF USER-PHONON USER-PLUMED USER-PTM USER-QTB + USER-COLVARS USER-DIELECTRIC USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP + USER-H5MD USER-HDNNP USER-LB USER-MANIFOLD USER-MDI USER-MEAMC USER-MESONT USER-MGPT + USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF USER-PHONON USER-PLUMED USER-PTM USER-QTB USER-RANN USER-REACTION USER-REAXC USER-SCAFACOS USER-SDPD USER-SMD USER-SMTBQ USER-SPH USER-TALLY USER-UEF USER-VTK USER-QUIP USER-QMMM USER-YAFF USER-PACE USER-BROWNIAN) @@ -348,8 +348,9 @@ else() set(CUDA_REQUEST_PIC) endif() -foreach(PKG_WITH_INCL KSPACE PYTHON MLIAP VORONOI USER-COLVARS USER-HDNNP USER-MDI USER-MOLFILE USER-NETCDF USER-PLUMED - USER-QMMM USER-QUIP USER-SCAFACOS USER-SMD USER-VTK KIM LATTE MESSAGE MSCG COMPRESS USER-PACE) +foreach(PKG_WITH_INCL KSPACE PYTHON MLIAP VORONOI USER-COLVARS USER-HDNNP + USER-MDI USER-MOLFILE USER-NETCDF USER-PLUMED USER-QMMM USER-QUIP + USER-SCAFACOS USER-SMD USER-VTK KIM LATTE MESSAGE MSCG COMPRESS USER-PACE) if(PKG_${PKG_WITH_INCL}) include(Packages/${PKG_WITH_INCL}) endif() @@ -494,7 +495,7 @@ endif() # packages which selectively include variants based on enabled styles # e.g. accelerator packages ###################################################################### -foreach(PKG_WITH_INCL CORESHELL QEQ USER-OMP USER-SDPD KOKKOS OPT USER-INTEL GPU) +foreach(PKG_WITH_INCL CORESHELL QEQ USER-DIELECTRIC USER-OMP USER-SDPD KOKKOS OPT USER-INTEL GPU) if(PKG_${PKG_WITH_INCL}) include(Packages/${PKG_WITH_INCL}) endif() diff --git a/cmake/Modules/Packages/USER-DIELECTRIC.cmake b/cmake/Modules/Packages/USER-DIELECTRIC.cmake new file mode 100644 index 0000000000..958341f083 --- /dev/null +++ b/cmake/Modules/Packages/USER-DIELECTRIC.cmake @@ -0,0 +1,38 @@ + +set(DIELECTRIC_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/USER-DIELECTRIC) + +file(GLOB DIELECTRIC_SOURCES ${DIELECTRIC_SOURCES_DIR}/*.cpp) +file(GLOB DIELECTRIC_FIX_HEADERS ${DIELECTRIC_SOURCES_DIR}/fix*.h) +file(GLOB DIELECTRIC_PAIR_HEADERS ${DIELECTRIC_SOURCES_DIR}/pair*.h) +file(GLOB DIELECTRIC_KSPACE_HEADERS ${DIELECTRIC_SOURCES_DIR}/msm*.h ${DIELECTRIC_SOURCES_DIR}/pppm*.h) + +if(NOT PKG_KSPACE) + list(REMOVE_ITEM DIELECTRIC_SOURCES ${USER-DIELECTRIC_SOURCES_DIR}/msm_dielectric.cpp) + list(REMOVE_ITEM DIELECTRIC_SOURCES ${USER-DIELECTRIC_SOURCES_DIR}/pppm_dielectric.cpp) + list(REMOVE_ITEM DIELECTRIC_SOURCES ${USER-DIELECTRIC_SOURCES_DIR}/pair_coul_long_dielectric.cpp) + list(REMOVE_ITEM DIELECTRIC_SOURCES ${USER-DIELECTRIC_SOURCES_DIR}/pair_lj_cut_coul_long_dielectric.cpp) + list(REMOVE_ITEM DIELECTRIC_SOURCES ${USER-DIELECTRIC_SOURCES_DIR}/pair_lj_cut_coul_msm_dielectric.cpp) + list(REMOVE_ITEM DIELECTRIC_SOURCES ${USER-DIELECTRIC_SOURCES_DIR}/pair_lj_long_coul_long_dielectric.cpp) + list(REMOVE_ITEM DIELECTRIC_KSPACE_HEADERS ${USER-DIELECTRIC_SOURCES_DIR}/msm_dielectric.h) + list(REMOVE_ITEM DIELECTRIC_KSPACE_HEADERS ${USER-DIELECTRIC_SOURCES_DIR}/pppm_dielectric.h) + list(REMOVE_ITEM DIELECTRIC_PAIR_HEADERS ${USER-DIELECTRIC_SOURCES_DIR}/pair_coul_long_dielectric.h) + list(REMOVE_ITEM DIELECTRIC_PAIR_HEADERS ${USER-DIELECTRIC_SOURCES_DIR}/pair_lj_cut_coul_long_dielectric.h) + list(REMOVE_ITEM DIELECTRIC_PAIR_HEADERS ${USER-DIELECTRIC_SOURCES_DIR}/pair_lj_cut_coul_msm_dielectric.h) + list(REMOVE_ITEM DIELECTRIC_PAIR_HEADERS ${USER-DIELECTRIC_SOURCES_DIR}/pair_lj_long_coul_long_dielectric.h) +endif() + +set_property(GLOBAL PROPERTY "DIELECTRIC_SOURCES" ${DIELECTRIC_SOURCES}) + +foreach(MY_HEADER ${DIELECTRIC_FIX_HEADERS}) + AddStyleHeader(${MY_HEADER} FIX) +endforeach() +foreach(MY_HEADER ${DIELECTRIC_KSPACE_HEADERS}) + AddStyleHeader(${MY_HEADER} KSPACE) +endforeach() +foreach(MY_HEADER ${DIELECTRIC_PAIR_HEADERS}) + AddStyleHeader(${MY_HEADER} PAIR) +endforeach() + +get_property(DIELECTRIC_SOURCES GLOBAL PROPERTY DIELECTRIC_SOURCES) +target_sources(lammps PRIVATE ${DIELECTRIC_SOURCES}) +target_include_directories(lammps PRIVATE ${DIELECTRIC_SOURCES_DIR}) From ac403394e42e42411324e33b91c08ce7c35a84e7 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 5 Jun 2021 12:14:46 -0400 Subject: [PATCH 155/726] disable clang-format processing for .cpp files by default --- src/USER-DIELECTRIC/atom_vec_dielectric.cpp | 1 + src/USER-DIELECTRIC/compute_efield_atom.cpp | 1 + src/USER-DIELECTRIC/fix_polarize_bem_gmres.cpp | 1 + src/USER-DIELECTRIC/fix_polarize_bem_icc.cpp | 1 + src/USER-DIELECTRIC/fix_polarize_functional.cpp | 1 + src/USER-DIELECTRIC/msm_dielectric.cpp | 1 + src/USER-DIELECTRIC/pair_coul_cut_dielectric.cpp | 1 + src/USER-DIELECTRIC/pair_coul_long_dielectric.cpp | 1 + src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric.cpp | 1 + src/USER-DIELECTRIC/pair_lj_cut_coul_debye_dielectric.cpp | 1 + src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric.cpp | 1 + src/USER-DIELECTRIC/pair_lj_cut_coul_msm_dielectric.cpp | 1 + src/USER-DIELECTRIC/pair_lj_long_coul_long_dielectric.cpp | 1 + src/USER-DIELECTRIC/pppm_dielectric.cpp | 1 + 14 files changed, 14 insertions(+) diff --git a/src/USER-DIELECTRIC/atom_vec_dielectric.cpp b/src/USER-DIELECTRIC/atom_vec_dielectric.cpp index 6ed67c8326..c804b05ed3 100644 --- a/src/USER-DIELECTRIC/atom_vec_dielectric.cpp +++ b/src/USER-DIELECTRIC/atom_vec_dielectric.cpp @@ -1,3 +1,4 @@ +// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/ Sandia National Laboratories diff --git a/src/USER-DIELECTRIC/compute_efield_atom.cpp b/src/USER-DIELECTRIC/compute_efield_atom.cpp index 0f81e1a112..f81cb06f18 100644 --- a/src/USER-DIELECTRIC/compute_efield_atom.cpp +++ b/src/USER-DIELECTRIC/compute_efield_atom.cpp @@ -1,3 +1,4 @@ +// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/ Sandia National Laboratories diff --git a/src/USER-DIELECTRIC/fix_polarize_bem_gmres.cpp b/src/USER-DIELECTRIC/fix_polarize_bem_gmres.cpp index 5ec8feaec1..296c9c3835 100644 --- a/src/USER-DIELECTRIC/fix_polarize_bem_gmres.cpp +++ b/src/USER-DIELECTRIC/fix_polarize_bem_gmres.cpp @@ -1,3 +1,4 @@ +// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/ Sandia National Laboratories diff --git a/src/USER-DIELECTRIC/fix_polarize_bem_icc.cpp b/src/USER-DIELECTRIC/fix_polarize_bem_icc.cpp index 3b94bf08a6..04f66a40e1 100644 --- a/src/USER-DIELECTRIC/fix_polarize_bem_icc.cpp +++ b/src/USER-DIELECTRIC/fix_polarize_bem_icc.cpp @@ -1,3 +1,4 @@ +// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/ Sandia National Laboratories diff --git a/src/USER-DIELECTRIC/fix_polarize_functional.cpp b/src/USER-DIELECTRIC/fix_polarize_functional.cpp index 50a7bcabeb..8bab4b61a8 100644 --- a/src/USER-DIELECTRIC/fix_polarize_functional.cpp +++ b/src/USER-DIELECTRIC/fix_polarize_functional.cpp @@ -1,3 +1,4 @@ +// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/ Sandia National Laboratories diff --git a/src/USER-DIELECTRIC/msm_dielectric.cpp b/src/USER-DIELECTRIC/msm_dielectric.cpp index 14b7463138..2759f21248 100644 --- a/src/USER-DIELECTRIC/msm_dielectric.cpp +++ b/src/USER-DIELECTRIC/msm_dielectric.cpp @@ -1,3 +1,4 @@ +// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/ Sandia National Laboratories diff --git a/src/USER-DIELECTRIC/pair_coul_cut_dielectric.cpp b/src/USER-DIELECTRIC/pair_coul_cut_dielectric.cpp index 50bcea3c48..b6983586cf 100644 --- a/src/USER-DIELECTRIC/pair_coul_cut_dielectric.cpp +++ b/src/USER-DIELECTRIC/pair_coul_cut_dielectric.cpp @@ -1,3 +1,4 @@ +// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/ Sandia National Laboratories diff --git a/src/USER-DIELECTRIC/pair_coul_long_dielectric.cpp b/src/USER-DIELECTRIC/pair_coul_long_dielectric.cpp index cd9e6bb7e5..a69ba9fd00 100644 --- a/src/USER-DIELECTRIC/pair_coul_long_dielectric.cpp +++ b/src/USER-DIELECTRIC/pair_coul_long_dielectric.cpp @@ -1,3 +1,4 @@ +// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/ Sandia National Laboratories diff --git a/src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric.cpp b/src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric.cpp index 7523b290fa..e03002c3bd 100644 --- a/src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric.cpp +++ b/src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric.cpp @@ -1,3 +1,4 @@ +// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/ Sandia National Laboratories diff --git a/src/USER-DIELECTRIC/pair_lj_cut_coul_debye_dielectric.cpp b/src/USER-DIELECTRIC/pair_lj_cut_coul_debye_dielectric.cpp index 7dcafac9f6..d1485bd32d 100644 --- a/src/USER-DIELECTRIC/pair_lj_cut_coul_debye_dielectric.cpp +++ b/src/USER-DIELECTRIC/pair_lj_cut_coul_debye_dielectric.cpp @@ -1,3 +1,4 @@ +// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/ Sandia National Laboratories diff --git a/src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric.cpp b/src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric.cpp index 4f17ccc34d..ecbb592e5c 100644 --- a/src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric.cpp +++ b/src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric.cpp @@ -1,3 +1,4 @@ +// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/ Sandia National Laboratories diff --git a/src/USER-DIELECTRIC/pair_lj_cut_coul_msm_dielectric.cpp b/src/USER-DIELECTRIC/pair_lj_cut_coul_msm_dielectric.cpp index 5876512418..4c5efe7c99 100644 --- a/src/USER-DIELECTRIC/pair_lj_cut_coul_msm_dielectric.cpp +++ b/src/USER-DIELECTRIC/pair_lj_cut_coul_msm_dielectric.cpp @@ -1,3 +1,4 @@ +// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/ Sandia National Laboratories diff --git a/src/USER-DIELECTRIC/pair_lj_long_coul_long_dielectric.cpp b/src/USER-DIELECTRIC/pair_lj_long_coul_long_dielectric.cpp index 89a3215330..09c8de7e71 100644 --- a/src/USER-DIELECTRIC/pair_lj_long_coul_long_dielectric.cpp +++ b/src/USER-DIELECTRIC/pair_lj_long_coul_long_dielectric.cpp @@ -1,3 +1,4 @@ +// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/ Sandia National Laboratories diff --git a/src/USER-DIELECTRIC/pppm_dielectric.cpp b/src/USER-DIELECTRIC/pppm_dielectric.cpp index 31aaa4ded6..6d0f3f33b5 100644 --- a/src/USER-DIELECTRIC/pppm_dielectric.cpp +++ b/src/USER-DIELECTRIC/pppm_dielectric.cpp @@ -1,3 +1,4 @@ +// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/ Sandia National Laboratories From 75e5ad4c7a9c8a23608b0ad153c228154d7dcdb6 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 5 Jun 2021 15:48:25 -0400 Subject: [PATCH 156/726] correct CMake support (also fix some bugs for other packages) --- cmake/CMakeLists.txt | 14 ++++---- cmake/Modules/Packages/USER-DIELECTRIC.cmake | 38 -------------------- 2 files changed, 8 insertions(+), 44 deletions(-) delete mode 100644 cmake/Modules/Packages/USER-DIELECTRIC.cmake diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index e056da6810..a42cba3644 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -140,17 +140,18 @@ option(CMAKE_VERBOSE_MAKEFILE "Generate verbose Makefiles" OFF) set(STANDARD_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS DIPOLE GRANULAR KSPACE LATTE MANYBODY MC MESSAGE MISC MLIAP MOLECULE PERI POEMS - PLUGIN QEQ REPLICA RIGID SHOCK SPIN SNAP SRD KIM PYTHON MSCG MPIIO VORONOI + PLUGIN REPLICA RIGID SHOCK SPIN SNAP SRD KIM PYTHON MSCG MPIIO VORONOI USER-ADIOS USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-MESODPD USER-CGSDK USER-COLVARS USER-DIELECTRIC USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD USER-HDNNP USER-LB USER-MANIFOLD USER-MDI USER-MEAMC USER-MESONT USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF USER-PHONON USER-PLUMED USER-PTM USER-QTB - USER-RANN USER-REACTION USER-REAXC USER-SCAFACOS USER-SDPD USER-SMD USER-SMTBQ USER-SPH + USER-RANN USER-REACTION USER-REAXC USER-SCAFACOS USER-SMD USER-SMTBQ USER-SPH USER-TALLY USER-UEF USER-VTK USER-QUIP USER-QMMM USER-YAFF USER-PACE USER-BROWNIAN) set(SUFFIX_PACKAGES CORESHELL GPU KOKKOS OPT USER-INTEL USER-OMP) +set(DEPEND_PACKAGES QEQ USER-SDPD) -foreach(PKG ${STANDARD_PACKAGES} ${SUFFIX_PACKAGES}) +foreach(PKG ${STANDARD_PACKAGES} ${SUFFIX_PACKAGES} ${DEPEND_PACKAGES}) option(PKG_${PKG} "Build ${PKG} Package" OFF) endforeach() @@ -235,6 +236,7 @@ pkg_depends(USER-ATC MANYBODY) pkg_depends(USER-LB MPI) pkg_depends(USER-PHONON KSPACE) pkg_depends(USER-SCAFACOS MPI) +pkg_depends(USER-DIELECTRIC KSPACE) # detect if we may enable OpenMP support by default set(BUILD_OMP_DEFAULT OFF) @@ -495,9 +497,9 @@ endif() # packages which selectively include variants based on enabled styles # e.g. accelerator packages ###################################################################### -foreach(PKG_WITH_INCL CORESHELL QEQ USER-DIELECTRIC USER-OMP USER-SDPD KOKKOS OPT USER-INTEL GPU) - if(PKG_${PKG_WITH_INCL}) - include(Packages/${PKG_WITH_INCL}) +foreach(PKG_WITH_DEPS ${DEPEND_PACKAGES} ${SUFFIX_PACKAGES}) + if(PKG_${PKG_WITH_DEPS}) + include(Packages/${PKG_WITH_DEPS}) endif() endforeach() diff --git a/cmake/Modules/Packages/USER-DIELECTRIC.cmake b/cmake/Modules/Packages/USER-DIELECTRIC.cmake deleted file mode 100644 index 958341f083..0000000000 --- a/cmake/Modules/Packages/USER-DIELECTRIC.cmake +++ /dev/null @@ -1,38 +0,0 @@ - -set(DIELECTRIC_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/USER-DIELECTRIC) - -file(GLOB DIELECTRIC_SOURCES ${DIELECTRIC_SOURCES_DIR}/*.cpp) -file(GLOB DIELECTRIC_FIX_HEADERS ${DIELECTRIC_SOURCES_DIR}/fix*.h) -file(GLOB DIELECTRIC_PAIR_HEADERS ${DIELECTRIC_SOURCES_DIR}/pair*.h) -file(GLOB DIELECTRIC_KSPACE_HEADERS ${DIELECTRIC_SOURCES_DIR}/msm*.h ${DIELECTRIC_SOURCES_DIR}/pppm*.h) - -if(NOT PKG_KSPACE) - list(REMOVE_ITEM DIELECTRIC_SOURCES ${USER-DIELECTRIC_SOURCES_DIR}/msm_dielectric.cpp) - list(REMOVE_ITEM DIELECTRIC_SOURCES ${USER-DIELECTRIC_SOURCES_DIR}/pppm_dielectric.cpp) - list(REMOVE_ITEM DIELECTRIC_SOURCES ${USER-DIELECTRIC_SOURCES_DIR}/pair_coul_long_dielectric.cpp) - list(REMOVE_ITEM DIELECTRIC_SOURCES ${USER-DIELECTRIC_SOURCES_DIR}/pair_lj_cut_coul_long_dielectric.cpp) - list(REMOVE_ITEM DIELECTRIC_SOURCES ${USER-DIELECTRIC_SOURCES_DIR}/pair_lj_cut_coul_msm_dielectric.cpp) - list(REMOVE_ITEM DIELECTRIC_SOURCES ${USER-DIELECTRIC_SOURCES_DIR}/pair_lj_long_coul_long_dielectric.cpp) - list(REMOVE_ITEM DIELECTRIC_KSPACE_HEADERS ${USER-DIELECTRIC_SOURCES_DIR}/msm_dielectric.h) - list(REMOVE_ITEM DIELECTRIC_KSPACE_HEADERS ${USER-DIELECTRIC_SOURCES_DIR}/pppm_dielectric.h) - list(REMOVE_ITEM DIELECTRIC_PAIR_HEADERS ${USER-DIELECTRIC_SOURCES_DIR}/pair_coul_long_dielectric.h) - list(REMOVE_ITEM DIELECTRIC_PAIR_HEADERS ${USER-DIELECTRIC_SOURCES_DIR}/pair_lj_cut_coul_long_dielectric.h) - list(REMOVE_ITEM DIELECTRIC_PAIR_HEADERS ${USER-DIELECTRIC_SOURCES_DIR}/pair_lj_cut_coul_msm_dielectric.h) - list(REMOVE_ITEM DIELECTRIC_PAIR_HEADERS ${USER-DIELECTRIC_SOURCES_DIR}/pair_lj_long_coul_long_dielectric.h) -endif() - -set_property(GLOBAL PROPERTY "DIELECTRIC_SOURCES" ${DIELECTRIC_SOURCES}) - -foreach(MY_HEADER ${DIELECTRIC_FIX_HEADERS}) - AddStyleHeader(${MY_HEADER} FIX) -endforeach() -foreach(MY_HEADER ${DIELECTRIC_KSPACE_HEADERS}) - AddStyleHeader(${MY_HEADER} KSPACE) -endforeach() -foreach(MY_HEADER ${DIELECTRIC_PAIR_HEADERS}) - AddStyleHeader(${MY_HEADER} PAIR) -endforeach() - -get_property(DIELECTRIC_SOURCES GLOBAL PROPERTY DIELECTRIC_SOURCES) -target_sources(lammps PRIVATE ${DIELECTRIC_SOURCES}) -target_include_directories(lammps PRIVATE ${DIELECTRIC_SOURCES_DIR}) From 1fb4ec663b79a56d316c8a4bf2bc662a52aba07e Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 5 Jun 2021 15:55:23 -0400 Subject: [PATCH 157/726] port code to current LAMMPS style and make it compatible with OpenMP 4.x compilers --- src/USER-DIELECTRIC/atom_vec_dielectric.cpp | 1 + src/USER-DIELECTRIC/atom_vec_dielectric.h | 17 +- src/USER-DIELECTRIC/compute_efield_atom.h | 2 +- src/USER-DIELECTRIC/fix_polarize_bem_gmres.h | 79 ++-- src/USER-DIELECTRIC/fix_polarize_bem_icc.h | 33 +- src/USER-DIELECTRIC/fix_polarize_functional.h | 51 +-- src/USER-DIELECTRIC/msm_dielectric.h | 8 +- .../pair_coul_cut_dielectric.cpp | 4 +- .../pair_coul_cut_dielectric.h | 6 +- .../pair_coul_long_dielectric.cpp | 128 +++---- .../pair_coul_long_dielectric.h | 5 +- .../pair_lj_cut_coul_cut_dielectric.cpp | 151 ++++---- .../pair_lj_cut_coul_cut_dielectric.h | 8 +- .../pair_lj_cut_coul_debye_dielectric.cpp | 170 ++++----- .../pair_lj_cut_coul_debye_dielectric.h | 8 +- .../pair_lj_cut_coul_long_dielectric.cpp | 230 ++++++------ .../pair_lj_cut_coul_long_dielectric.h | 8 +- .../pair_lj_cut_coul_msm_dielectric.cpp | 253 ++++++------- .../pair_lj_cut_coul_msm_dielectric.h | 4 +- .../pair_lj_long_coul_long_dielectric.cpp | 355 +++++++++--------- .../pair_lj_long_coul_long_dielectric.h | 8 +- src/USER-DIELECTRIC/pppm_dielectric.cpp | 1 - src/USER-DIELECTRIC/pppm_dielectric.h | 11 +- .../pair_lj_cut_coul_cut_dielectric_omp.cpp | 152 ++++---- .../pair_lj_cut_coul_long_dielectric_omp.cpp | 190 +++++----- 25 files changed, 954 insertions(+), 929 deletions(-) diff --git a/src/USER-DIELECTRIC/atom_vec_dielectric.cpp b/src/USER-DIELECTRIC/atom_vec_dielectric.cpp index c804b05ed3..b0e3487807 100644 --- a/src/USER-DIELECTRIC/atom_vec_dielectric.cpp +++ b/src/USER-DIELECTRIC/atom_vec_dielectric.cpp @@ -13,6 +13,7 @@ ------------------------------------------------------------------------- */ #include "atom_vec_dielectric.h" + #include "atom.h" #include "citeme.h" diff --git a/src/USER-DIELECTRIC/atom_vec_dielectric.h b/src/USER-DIELECTRIC/atom_vec_dielectric.h index dbdd4ff53b..8e342eda08 100644 --- a/src/USER-DIELECTRIC/atom_vec_dielectric.h +++ b/src/USER-DIELECTRIC/atom_vec_dielectric.h @@ -25,6 +25,9 @@ AtomStyle(dielectric,AtomVecDielectric); namespace LAMMPS_NS { class AtomVecDielectric : public AtomVec { + friend class PairLJCutCoulDebyeDielectric; + friend class PairLJLongCoulLongDielectric; + public: AtomVecDielectric(class LAMMPS *); @@ -32,19 +35,21 @@ class AtomVecDielectric : public AtomVec { void create_atom_post(int); void data_atom_post(int); void unpack_restart_init(int); + int property_atom(char *); + void pack_property_atom(int, double *, int, int); - private: - int *num_bond,*num_angle,*num_dihedral,*num_improper; - int **bond_type,**angle_type,**dihedral_type,**improper_type; + protected: + int *num_bond, *num_angle, *num_dihedral, *num_improper; + int **bond_type, **angle_type, **dihedral_type, **improper_type; int **nspecial; - int bond_per_atom,angle_per_atom,dihedral_per_atom,improper_per_atom; + int bond_per_atom, angle_per_atom, dihedral_per_atom, improper_per_atom; double **mu; - double *area,*ed,*em,*epsilon,*curvature,*q_unscaled; + double *area, *ed, *em, *epsilon, *curvature, *q_unscaled; }; -} +} // namespace LAMMPS_NS #endif #endif diff --git a/src/USER-DIELECTRIC/compute_efield_atom.h b/src/USER-DIELECTRIC/compute_efield_atom.h index 6c81150265..1961e15d69 100644 --- a/src/USER-DIELECTRIC/compute_efield_atom.h +++ b/src/USER-DIELECTRIC/compute_efield_atom.h @@ -44,7 +44,7 @@ class ComputeEfieldAtom : public Compute { double **efield; }; -} +} // namespace LAMMPS_NS #endif #endif diff --git a/src/USER-DIELECTRIC/fix_polarize_bem_gmres.h b/src/USER-DIELECTRIC/fix_polarize_bem_gmres.h index e680b63240..7671ddf1c2 100644 --- a/src/USER-DIELECTRIC/fix_polarize_bem_gmres.h +++ b/src/USER-DIELECTRIC/fix_polarize_bem_gmres.h @@ -32,13 +32,13 @@ class FixPolarizeBEMGMRES : public Fix { virtual void init(); virtual void setup(int); virtual void pre_force(int); - int pack_forward_comm(int, int*, double*, int, int*); - void unpack_forward_comm(int, int, double*); + int pack_forward_comm(int, int *, double *, int, int *); + void unpack_forward_comm(int, int, double *); int pack_exchange(int, double *); int unpack_exchange(int, double *); virtual double compute_vector(int); - int modify_param(int, char**); + int modify_param(int, char **); double memory_usage(); void grow_arrays(int); void copy_arrays(int, int, int); @@ -53,53 +53,58 @@ class FixPolarizeBEMGMRES : public Fix { protected: int nmax; - int nevery; // to be invoked every time steps - int* tag2mat; // tag2mat[atom->tag[i]] = the index of the atoms in the induced charge arrays from atom tags - int* mat2tag; // mat2tag[idx] = the atom tag of the induced charge idx in the induced charge arrays - int* induced_charge_idx; // return the index of the atoms in the induced charge arrays - int num_induced_charges; // total number of induced charges - double* induced_charges; // values of induced charges - double* buffer; // buffer of size num_induced_charges - double* q_backup; // backup for the real charges + int nevery; // to be invoked every time steps + int * + tag2mat; // tag2mat[atom->tag[i]] = the index of the atoms in the induced charge arrays from atom tags + int * + mat2tag; // mat2tag[idx] = the atom tag of the induced charge idx in the induced charge arrays + int *induced_charge_idx; // return the index of the atoms in the induced charge arrays + int num_induced_charges; // total number of induced charges + double *induced_charges; // values of induced charges + double *buffer; // buffer of size num_induced_charges + double *q_backup; // backup for the real charges int allocated; - double **efield_pair; // electrical field at position of atom i due to pair contribution - double **efield_kspace; // electrical field at position of atom i due to kspace contribution - int kspaceflag; // 1 if kspace is used for the induced charge computation - int torqueflag,extraflag; + double **efield_pair; // electrical field at position of atom i due to pair contribution + double **efield_kspace; // electrical field at position of atom i due to kspace contribution + int kspaceflag; // 1 if kspace is used for the induced charge computation + int torqueflag, extraflag; void force_clear(); - double vec_dot(const double*, const double*, int); // dot product between two vectors of length n + double vec_dot(const double *, const double *, + int); // dot product between two vectors of length n private: - int mat_dim; // matrix dimension = total number of induced charges - int mr; // number of vectors used to span the Krylov space - int iterations; // actual number of iterations - int itr_max; // maximum number of outer iterations - int randomized; // 1 if generating random induced charges, 0 otherwise - double ave_charge; // average random charge + int mat_dim; // matrix dimension = total number of induced charges + int mr; // number of vectors used to span the Krylov space + int iterations; // actual number of iterations + int itr_max; // maximum number of outer iterations + int randomized; // 1 if generating random induced charges, 0 otherwise + double ave_charge; // average random charge int seed_charge; - double *c, *g, *h, *r, *s, *v, *y; // vectors used by the solver - double* rhs; // right-hand side vector of the equation Ax = b - double tol_abs, tol_rel; // tolerance for convergence - double normb; // norm of the rhs vector b - double rho; // norm of (b - Ax) - int first; // 1 if first time invoked (initializing induced charges with zero) + double *c, *g, *h, *r, *s, *v, *y; // vectors used by the solver + double *rhs; // right-hand side vector of the equation Ax = b + double tol_abs, tol_rel; // tolerance for convergence + double normb; // norm of the rhs vector b + double rho; // norm of (b - Ax) + int first; // 1 if first time invoked (initializing induced charges with zero) - void gmres_solve(double*, double*); // GMRES workhorse - void apply_operator(double*, double*, int); // compute Ax without explicitly storing A - void update_residual(double*, double*, int); // compute (b - Ax) directly (without computing b and Ax explcitly) + void gmres_solve(double *, double *); // GMRES workhorse + void apply_operator(double *, double *, int); // compute Ax without explicitly storing A + void update_residual(double *, double *, + int); // compute (b - Ax) directly (without computing b and Ax explcitly) // Givens rotations - inline void mult_givens(double c, double s, int k, double* g) { - double g1 = c * g[k] - s * g[k+1]; - double g2 = s * g[k] + c * g[k+1]; - g[k] = g1; - g[k+1] = g2; + inline void mult_givens(double c, double s, int k, double *g) + { + double g1 = c * g[k] - s * g[k + 1]; + double g2 = s * g[k] + c * g[k + 1]; + g[k] = g1; + g[k + 1] = g2; } }; -} +} // namespace LAMMPS_NS #endif #endif diff --git a/src/USER-DIELECTRIC/fix_polarize_bem_icc.h b/src/USER-DIELECTRIC/fix_polarize_bem_icc.h index eca8ffcaee..6ba6acb1a0 100644 --- a/src/USER-DIELECTRIC/fix_polarize_bem_icc.h +++ b/src/USER-DIELECTRIC/fix_polarize_bem_icc.h @@ -33,9 +33,9 @@ class FixPolarizeBEMICC : public Fix { virtual void setup(int); virtual void pre_force(int); virtual double compute_vector(int); - int modify_param(int, char**); - int pack_forward_comm(int, int*, double*, int, int*); - void unpack_forward_comm(int, int, double*); + int modify_param(int, char **); + int pack_forward_comm(int, int *, double *, int, int *); + void unpack_forward_comm(int, int, double *); virtual void compute_induced_charges(); void set_dielectric_params(double, double, double, double, int, double); @@ -43,27 +43,26 @@ class FixPolarizeBEMICC : public Fix { class AtomVecDielectric *avec; protected: - int nevery; // to be invoked every time steps - double **efield_pair; // electrical field at position of atom i due to pair contribution - double **efield_kspace; // electrical field at position of atom i due to kspace contribution - int kspaceflag; // 1 if kspace is used for the induced charge computation - int torqueflag,extraflag; + int nevery; // to be invoked every time steps + double **efield_pair; // electrical field at position of atom i due to pair contribution + double **efield_kspace; // electrical field at position of atom i due to kspace contribution + int kspaceflag; // 1 if kspace is used for the induced charge computation + int torqueflag, extraflag; void force_clear(); private: - int iterations; // actual number of iterations - int itr_max; // maximum number of outer iterations - double tol_abs, tol_rel; // tolerance for convergence - double rho; // current error - double omega; // iterative weight - int randomized; // 1 if generating random induced charges, 0 otherwise - double ave_charge; // average random charge + int iterations; // actual number of iterations + int itr_max; // maximum number of outer iterations + double tol_abs, tol_rel; // tolerance for convergence + double rho; // current error + double omega; // iterative weight + int randomized; // 1 if generating random induced charges, 0 otherwise + double ave_charge; // average random charge int seed_charge; - }; -} +} // namespace LAMMPS_NS #endif #endif diff --git a/src/USER-DIELECTRIC/fix_polarize_functional.h b/src/USER-DIELECTRIC/fix_polarize_functional.h index 704e976020..7a4b8c00da 100644 --- a/src/USER-DIELECTRIC/fix_polarize_functional.h +++ b/src/USER-DIELECTRIC/fix_polarize_functional.h @@ -30,14 +30,14 @@ class FixPolarizeFunctional : public Fix { ~FixPolarizeFunctional(); int setmask(); void init(); - void init_list(int,class NeighList *); + void init_list(int, class NeighList *); void setup(int); void setup_pre_force(int vflag); void pre_force(int); int pack_exchange(int, double *); int unpack_exchange(int, double *); - int pack_forward_comm(int, int*, double*, int, int*); - void unpack_forward_comm(int, int, double*); + int pack_forward_comm(int, int *, double *, int, int *); + void unpack_forward_comm(int, int, double *); int modify_param(int, char **); double memory_usage(); @@ -49,7 +49,7 @@ class FixPolarizeFunctional : public Fix { protected: int nmax; - class AtomVecDielectric* avec; + class AtomVecDielectric *avec; class NeighList *list; void set_dielectric_params(double, double, double, double, int, double); @@ -59,25 +59,28 @@ class FixPolarizeFunctional : public Fix { double **inverse_matrix; double **G1ww, **ndotGww, **G2ww, **G3ww, **Rww; - int* tag2mat; // tag2mat[atom->tag[i]] = the index of the atoms in the induced charge arrays from atom tags - int* mat2tag; // mat2tag[idx] = the atom tag of the induced charge idx in the induced charge arrays - int* induced_charge_idx; // return the index of the atoms in the induced charge arrays - int num_induced_charges; // total number of induced charges - double* induced_charges; // values of induced charges - int* tag2mat_ions; // tag2mat_ions[atom->tag[i]] returns the index of the atoms in the ion arrays from atom tags - int* mat2tag_ions; // mat2tag_ions[idx] returns the atom tag of the ion idx in the ion arrays - int* ion_idx; // return the index of the atoms in the ion arrays - int num_ions; // total number of ions - double* rhs1; - double* rhs2; - double** buffer1; - double** buffer2; + int * + tag2mat; // tag2mat[atom->tag[i]] = the index of the atoms in the induced charge arrays from atom tags + int * + mat2tag; // mat2tag[idx] = the atom tag of the induced charge idx in the induced charge arrays + int *induced_charge_idx; // return the index of the atoms in the induced charge arrays + int num_induced_charges; // total number of induced charges + double *induced_charges; // values of induced charges + int * + tag2mat_ions; // tag2mat_ions[atom->tag[i]] returns the index of the atoms in the ion arrays from atom tags + int *mat2tag_ions; // mat2tag_ions[idx] returns the atom tag of the ion idx in the ion arrays + int *ion_idx; // return the index of the atoms in the ion arrays + int num_ions; // total number of ions + double *rhs1; + double *rhs2; + double **buffer1; + double **buffer2; int allocated; - int kspaceflag; // 1 if kspace is used for the induced charge computation - double **efield_pair; // electrical field at position of atom i due to pair contribution - double **efield_kspace; // electrical field at position of atom i due to kspace contribution - int torqueflag,extraflag; + int kspaceflag; // 1 if kspace is used for the induced charge computation + double **efield_pair; // electrical field at position of atom i due to pair contribution + double **efield_kspace; // electrical field at position of atom i due to kspace contribution + int torqueflag, extraflag; double g_ewald; int includingG3ww; @@ -102,8 +105,8 @@ class FixPolarizeFunctional : public Fix { double tolerance; void calculate_matrix_multiply_vector(double **, double *, double *, int); - double inner_product(double*, double*, int); - void cg_solver(double**, double*, double*, int); + double inner_product(double *, double *, int); + void cg_solver(double **, double *, double *, int); inline double greens_real(double); inline double grad_greens_real_factor(double); @@ -114,7 +117,7 @@ class FixPolarizeFunctional : public Fix { inline double calculate_ndotgreens_ewald_self_vertex(double, double); }; -} +} // namespace LAMMPS_NS #endif #endif diff --git a/src/USER-DIELECTRIC/msm_dielectric.h b/src/USER-DIELECTRIC/msm_dielectric.h index 1a36386f13..9874f5e0b2 100644 --- a/src/USER-DIELECTRIC/msm_dielectric.h +++ b/src/USER-DIELECTRIC/msm_dielectric.h @@ -32,14 +32,14 @@ class MSMDielectric : public MSM { virtual void compute(int, int); void fieldforce(); - double** efield; - double* phi; + double **efield; + double *phi; protected: - class AtomVecDielectric* avec; + class AtomVecDielectric *avec; }; -} +} // namespace LAMMPS_NS #endif #endif diff --git a/src/USER-DIELECTRIC/pair_coul_cut_dielectric.cpp b/src/USER-DIELECTRIC/pair_coul_cut_dielectric.cpp index b6983586cf..1b540157e4 100644 --- a/src/USER-DIELECTRIC/pair_coul_cut_dielectric.cpp +++ b/src/USER-DIELECTRIC/pair_coul_cut_dielectric.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/ Sandia National Laboratories @@ -69,8 +68,7 @@ void PairCoulCutDielectric::compute(int eflag, int vflag) } ecoul = 0.0; - if (eflag || vflag) ev_setup(eflag,vflag); - else evflag = vflag_fdotr = 0; + ev_init(eflag,vflag); double **x = atom->x; double **f = atom->f; diff --git a/src/USER-DIELECTRIC/pair_coul_cut_dielectric.h b/src/USER-DIELECTRIC/pair_coul_cut_dielectric.h index e10df64691..ef6fd3fb45 100644 --- a/src/USER-DIELECTRIC/pair_coul_cut_dielectric.h +++ b/src/USER-DIELECTRIC/pair_coul_cut_dielectric.h @@ -32,14 +32,14 @@ class PairCoulCutDielectric : public PairCoulCut { virtual double single(int, int, int, int, double, double, double, double &); void init_style(); - double** efield; + double **efield; protected: - class AtomVecDielectric* avec; + class AtomVecDielectric *avec; int nmax; }; -} +} // namespace LAMMPS_NS #endif #endif diff --git a/src/USER-DIELECTRIC/pair_coul_long_dielectric.cpp b/src/USER-DIELECTRIC/pair_coul_long_dielectric.cpp index a69ba9fd00..fd5110cdb6 100644 --- a/src/USER-DIELECTRIC/pair_coul_long_dielectric.cpp +++ b/src/USER-DIELECTRIC/pair_coul_long_dielectric.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/ Sandia National Laboratories @@ -24,11 +23,11 @@ #include "error.h" #include "force.h" #include "kspace.h" -#include "neighbor.h" -#include "neigh_list.h" -#include "neigh_request.h" #include "math_const.h" #include "memory.h" +#include "neigh_list.h" +#include "neigh_request.h" +#include "neighbor.h" #include #include @@ -36,13 +35,13 @@ using namespace LAMMPS_NS; using namespace MathConst; -#define EWALD_F 1.12837917 -#define EWALD_P 0.3275911 -#define A1 0.254829592 -#define A2 -0.284496736 -#define A3 1.421413741 -#define A4 -1.453152027 -#define A5 1.061405429 +#define EWALD_F 1.12837917 +#define EWALD_P 0.3275911 +#define A1 0.254829592 +#define A2 -0.284496736 +#define A3 1.421413741 +#define A4 -1.453152027 +#define A5 1.061405429 /* ---------------------------------------------------------------------- */ @@ -63,31 +62,30 @@ PairCoulLongDielectric::~PairCoulLongDielectric() void PairCoulLongDielectric::compute(int eflag, int vflag) { - int i,j,ii,jj,inum,jnum,itable,itype,jtype; - double qtmp,etmp,xtmp,ytmp,ztmp,delx,dely,delz,ecoul; - double fpair_i,fpair_j; - double fraction,table; - double r,r2inv,forcecoul,factor_coul; - double grij,expm2,prefactor,t,erfc,prefactorE,efield_i; - int *ilist,*jlist,*numneigh,**firstneigh; + int i, j, ii, jj, inum, jnum, itable, itype, jtype; + double qtmp, etmp, xtmp, ytmp, ztmp, delx, dely, delz, ecoul; + double fpair_i, fpair_j; + double fraction, table; + double r, r2inv, forcecoul, factor_coul; + double grij, expm2, prefactor, t, erfc, prefactorE, efield_i; + int *ilist, *jlist, *numneigh, **firstneigh; double rsq; ecoul = 0.0; - if (eflag || vflag) ev_setup(eflag,vflag); - else evflag = vflag_fdotr = 0; + ev_init(eflag, vflag); if (atom->nmax > nmax) { memory->destroy(efield); nmax = atom->nmax; - memory->create(efield,nmax,3,"pair:efield"); + memory->create(efield, nmax, 3, "pair:efield"); } double **x = atom->x; double **f = atom->f; double *q = atom->q; - double** norm = atom->mu; - double* curvature = atom->curvature; - double* area = atom->area; + double **norm = atom->mu; + double *curvature = atom->curvature; + double *area = atom->area; double *eps = atom->epsilon; int *type = atom->type; int nlocal = atom->nlocal; @@ -116,10 +114,10 @@ void PairCoulLongDielectric::compute(int eflag, int vflag) // self term Eq. (55) for I_{ii} and Eq. (52) and in Barros et al double curvature_threshold = sqrt(area[i]); if (curvature[i] < curvature_threshold) { - double sf = curvature[i]/(4.0*MY_PIS*curvature_threshold) * area[i]*q[i]; - efield[i][0] = sf*norm[i][0]; - efield[i][1] = sf*norm[i][1]; - efield[i][2] = sf*norm[i][2]; + double sf = curvature[i] / (4.0 * MY_PIS * curvature_threshold) * area[i] * q[i]; + efield[i][0] = sf * norm[i][0]; + efield[i][1] = sf * norm[i][1]; + efield[i][2] = sf * norm[i][2]; } else { efield[i][0] = efield[i][1] = efield[i][2] = 0; } @@ -132,24 +130,24 @@ void PairCoulLongDielectric::compute(int eflag, int vflag) delx = xtmp - x[j][0]; dely = ytmp - x[j][1]; delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; + rsq = delx * delx + dely * dely + delz * delz; jtype = type[j]; if (rsq < cut_coulsq) { - r2inv = 1.0/rsq; + r2inv = 1.0 / rsq; if (!ncoultablebits || rsq <= tabinnersq) { r = sqrt(rsq); grij = g_ewald * r; - expm2 = exp(-grij*grij); - t = 1.0 / (1.0 + EWALD_P*grij); - erfc = t * (A1+t*(A2+t*(A3+t*(A4+t*A5)))) * expm2; - prefactor = qqrd2e * scale[itype][jtype] * qtmp*q[j]/r; - forcecoul = prefactor * (erfc + EWALD_F*grij*expm2); - if (factor_coul < 1.0) forcecoul -= (1.0-factor_coul)*prefactor; + expm2 = exp(-grij * grij); + t = 1.0 / (1.0 + EWALD_P * grij); + erfc = t * (A1 + t * (A2 + t * (A3 + t * (A4 + t * A5)))) * expm2; + prefactor = qqrd2e * scale[itype][jtype] * qtmp * q[j] / r; + forcecoul = prefactor * (erfc + EWALD_F * grij * expm2); + if (factor_coul < 1.0) forcecoul -= (1.0 - factor_coul) * prefactor; - prefactorE = qqrd2e * scale[itype][jtype] * q[j]/r; - efield_i = prefactorE * (erfc + EWALD_F*grij*expm2); - if (factor_coul < 1.0) efield_i -= (1.0-factor_coul)*prefactorE; + prefactorE = qqrd2e * scale[itype][jtype] * q[j] / r; + efield_i = prefactorE * (erfc + EWALD_F * grij * expm2); + if (factor_coul < 1.0) efield_i -= (1.0 - factor_coul) * prefactorE; } else { union_int_float_t rsq_lookup; @@ -157,48 +155,48 @@ void PairCoulLongDielectric::compute(int eflag, int vflag) itable = rsq_lookup.i & ncoulmask; itable >>= ncoulshiftbits; fraction = (rsq_lookup.f - rtable[itable]) * drtable[itable]; - table = ftable[itable] + fraction*dftable[itable]; - forcecoul = scale[itype][jtype] * qtmp*q[j] * table; + table = ftable[itable] + fraction * dftable[itable]; + forcecoul = scale[itype][jtype] * qtmp * q[j] * table; efield_i = scale[itype][jtype] * q[j] * table; if (factor_coul < 1.0) { - table = ctable[itable] + fraction*dctable[itable]; - prefactor = scale[itype][jtype] * qtmp*q[j] * table; - forcecoul -= (1.0-factor_coul)*prefactor; + table = ctable[itable] + fraction * dctable[itable]; + prefactor = scale[itype][jtype] * qtmp * q[j] * table; + forcecoul -= (1.0 - factor_coul) * prefactor; prefactorE = scale[itype][jtype] * q[j] * table; - efield_i -= (1.0-factor_coul)*prefactorE; + efield_i -= (1.0 - factor_coul) * prefactorE; } } fpair_i = etmp * forcecoul * r2inv; - f[i][0] += delx*fpair_i; - f[i][1] += dely*fpair_i; - f[i][2] += delz*fpair_i; + f[i][0] += delx * fpair_i; + f[i][1] += dely * fpair_i; + f[i][2] += delz * fpair_i; - efield_i *= (etmp*r2inv); - efield[i][0] += delx*efield_i; - efield[i][1] += dely*efield_i; - efield[i][2] += delz*efield_i; + efield_i *= (etmp * r2inv); + efield[i][0] += delx * efield_i; + efield[i][1] += dely * efield_i; + efield[i][2] += delz * efield_i; if (newton_pair && j >= nlocal) { fpair_j = eps[j] * forcecoul * r2inv; - f[j][0] -= delx*fpair_j; - f[j][1] -= dely*fpair_j; - f[j][2] -= delz*fpair_j; + f[j][0] -= delx * fpair_j; + f[j][1] -= dely * fpair_j; + f[j][2] -= delz * fpair_j; } if (eflag) { if (!ncoultablebits || rsq <= tabinnersq) - ecoul = prefactor*(etmp+eps[j])*erfc; + ecoul = prefactor * (etmp + eps[j]) * erfc; else { - table = etable[itable] + fraction*detable[itable]; - ecoul = scale[itype][jtype] * qtmp*q[j]*(etmp+eps[j]) * table; + table = etable[itable] + fraction * detable[itable]; + ecoul = scale[itype][jtype] * qtmp * q[j] * (etmp + eps[j]) * table; } ecoul *= 0.5; - if (factor_coul < 1.0) ecoul -= (1.0-factor_coul)*prefactor; + if (factor_coul < 1.0) ecoul -= (1.0 - factor_coul) * prefactor; } - if (evflag) ev_tally_full(i,0.0,ecoul,fpair_i,delx,dely,delz); + if (evflag) ev_tally_full(i, 0.0, ecoul, fpair_i, delx, dely, delz); } } } @@ -213,9 +211,9 @@ void PairCoulLongDielectric::compute(int eflag, int vflag) void PairCoulLongDielectric::init_style() { avec = (AtomVecDielectric *) atom->style_match("dielectric"); - if (!avec) error->all(FLERR,"Pair coul/long/dielectric requires atom style dielectric"); + if (!avec) error->all(FLERR, "Pair coul/long/dielectric requires atom style dielectric"); - int irequest = neighbor->request(this,instance_me); + int irequest = neighbor->request(this, instance_me); neighbor->requests[irequest]->half = 0; neighbor->requests[irequest]->full = 1; @@ -223,12 +221,10 @@ void PairCoulLongDielectric::init_style() // insure use of KSpace long-range solver, set g_ewald - if (force->kspace == NULL) - error->all(FLERR,"Pair style requires a KSpace style"); + if (force->kspace == NULL) error->all(FLERR, "Pair style requires a KSpace style"); g_ewald = force->kspace->g_ewald; // setup force tables - if (ncoultablebits) init_tables(cut_coul,NULL); + if (ncoultablebits) init_tables(cut_coul, NULL); } - diff --git a/src/USER-DIELECTRIC/pair_coul_long_dielectric.h b/src/USER-DIELECTRIC/pair_coul_long_dielectric.h index 7f3bfebf5a..993555e452 100644 --- a/src/USER-DIELECTRIC/pair_coul_long_dielectric.h +++ b/src/USER-DIELECTRIC/pair_coul_long_dielectric.h @@ -34,12 +34,11 @@ class PairCoulLongDielectric : public PairCoulLong { double **efield; protected: - class AtomVecDielectric* avec; + class AtomVecDielectric *avec; int nmax; - }; -} +} // namespace LAMMPS_NS #endif #endif diff --git a/src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric.cpp b/src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric.cpp index e03002c3bd..82a5b0c99a 100644 --- a/src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric.cpp +++ b/src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/ Sandia National Laboratories @@ -23,11 +22,11 @@ #include "comm.h" #include "error.h" #include "force.h" -#include "neighbor.h" -#include "neigh_list.h" -#include "neigh_request.h" #include "math_const.h" #include "memory.h" +#include "neigh_list.h" +#include "neigh_request.h" +#include "neighbor.h" #include @@ -38,8 +37,7 @@ using namespace MathConst; /* ---------------------------------------------------------------------- */ -PairLJCutCoulCutDielectric::PairLJCutCoulCutDielectric(LAMMPS *lmp) : - PairLJCutCoulCut(lmp) +PairLJCutCoulCutDielectric::PairLJCutCoulCutDielectric(LAMMPS *lmp) : PairLJCutCoulCut(lmp) { efield = nullptr; epot = nullptr; @@ -58,32 +56,31 @@ PairLJCutCoulCutDielectric::~PairLJCutCoulCutDielectric() void PairLJCutCoulCutDielectric::compute(int eflag, int vflag) { - int i,j,ii,jj,inum,jnum,itype,jtype; - double qtmp,etmp,xtmp,ytmp,ztmp,delx,dely,delz,evdwl,ecoul,fpair; - double fpair_i,fpair_j; - double rsq,r2inv,r6inv,forcecoul,forcelj,factor_coul,factor_lj,efield_i,epot_i; - int *ilist,*jlist,*numneigh,**firstneigh; + int i, j, ii, jj, inum, jnum, itype, jtype; + double qtmp, etmp, xtmp, ytmp, ztmp, delx, dely, delz, evdwl, ecoul, fpair; + double fpair_i, fpair_j; + double rsq, r2inv, r6inv, forcecoul, forcelj, factor_coul, factor_lj, efield_i, epot_i; + int *ilist, *jlist, *numneigh, **firstneigh; if (atom->nmax > nmax) { memory->destroy(efield); memory->destroy(epot); nmax = atom->nmax; - memory->create(efield,nmax,3,"pair:efield"); - memory->create(epot,nmax,"pair:epot"); + memory->create(efield, nmax, 3, "pair:efield"); + memory->create(epot, nmax, "pair:epot"); } evdwl = ecoul = 0.0; - if (eflag || vflag) ev_setup(eflag,vflag); - else evflag = vflag_fdotr = 0; + ev_init(eflag, vflag); double **x = atom->x; double **f = atom->f; double *q = atom->q; double *q_real = atom->q_unscaled; - double* eps = atom->epsilon; - double** norm = atom->mu; - double* curvature = atom->curvature; - double* area = atom->area; + double *eps = atom->epsilon; + double **norm = atom->mu; + double *curvature = atom->curvature; + double *area = atom->area; int *type = atom->type; int nlocal = atom->nlocal; double *special_coul = force->special_coul; @@ -112,10 +109,10 @@ void PairLJCutCoulCutDielectric::compute(int eflag, int vflag) // self term Eq. (55) for I_{ii} and Eq. (52) and in Barros et al double curvature_threshold = sqrt(area[i]); if (curvature[i] < curvature_threshold) { - double sf = curvature[i]/(4.0*MY_PIS*curvature_threshold) * area[i]*q[i]; - efield[i][0] = sf*norm[i][0]; - efield[i][1] = sf*norm[i][1]; - efield[i][2] = sf*norm[i][2]; + double sf = curvature[i] / (4.0 * MY_PIS * curvature_threshold) * area[i] * q[i]; + efield[i][0] = sf * norm[i][0]; + efield[i][1] = sf * norm[i][1]; + efield[i][2] = sf * norm[i][2]; } else { efield[i][0] = efield[i][1] = efield[i][2] = 0; } @@ -131,55 +128,58 @@ void PairLJCutCoulCutDielectric::compute(int eflag, int vflag) delx = xtmp - x[j][0]; dely = ytmp - x[j][1]; delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; + rsq = delx * delx + dely * dely + delz * delz; jtype = type[j]; if (rsq < cutsq[itype][jtype]) { - r2inv = 1.0/rsq; + r2inv = 1.0 / rsq; if (rsq < cut_coulsq[itype][jtype] && rsq > EPSILON) { - efield_i = q[j]*sqrt(r2inv); - forcecoul = qqrd2e * qtmp*efield_i; + efield_i = q[j] * sqrt(r2inv); + forcecoul = qqrd2e * qtmp * efield_i; epot_i = efield_i; - } else epot_i = efield_i = forcecoul = 0.0; + } else + epot_i = efield_i = forcecoul = 0.0; if (rsq < cut_ljsq[itype][jtype]) { - r6inv = r2inv*r2inv*r2inv; - forcelj = r6inv * (lj1[itype][jtype]*r6inv - lj2[itype][jtype]); - } else forcelj = 0.0; + r6inv = r2inv * r2inv * r2inv; + forcelj = r6inv * (lj1[itype][jtype] * r6inv - lj2[itype][jtype]); + } else + forcelj = 0.0; - fpair_i = (factor_coul*etmp*forcecoul + factor_lj*forcelj) * r2inv; - f[i][0] += delx*fpair_i; - f[i][1] += dely*fpair_i; - f[i][2] += delz*fpair_i; + fpair_i = (factor_coul * etmp * forcecoul + factor_lj * forcelj) * r2inv; + f[i][0] += delx * fpair_i; + f[i][1] += dely * fpair_i; + f[i][2] += delz * fpair_i; - efield_i *= (factor_coul*etmp*r2inv); - efield[i][0] += delx*efield_i; - efield[i][1] += dely*efield_i; - efield[i][2] += delz*efield_i; + efield_i *= (factor_coul * etmp * r2inv); + efield[i][0] += delx * efield_i; + efield[i][1] += dely * efield_i; + efield[i][2] += delz * efield_i; epot[i] += epot_i; if (newton_pair && j >= nlocal) { - fpair_j = (factor_coul*eps[j]*forcecoul + factor_lj*forcelj) * r2inv; - f[j][0] -= delx*fpair_j; - f[j][1] -= dely*fpair_j; - f[j][2] -= delz*fpair_j; + fpair_j = (factor_coul * eps[j] * forcecoul + factor_lj * forcelj) * r2inv; + f[j][0] -= delx * fpair_j; + f[j][1] -= dely * fpair_j; + f[j][2] -= delz * fpair_j; } if (eflag) { if (rsq < cut_coulsq[itype][jtype]) { - ecoul = factor_coul * qqrd2e * qtmp*q[j]*(etmp+eps[j])*sqrt(r2inv); - } else ecoul = 0.0; + ecoul = factor_coul * qqrd2e * qtmp * q[j] * (etmp + eps[j]) * sqrt(r2inv); + } else + ecoul = 0.0; ecoul *= 0.5; if (rsq < cut_ljsq[itype][jtype]) { - evdwl = r6inv*(lj3[itype][jtype]*r6inv-lj4[itype][jtype]) - - offset[itype][jtype]; + evdwl = r6inv * (lj3[itype][jtype] * r6inv - lj4[itype][jtype]) - offset[itype][jtype]; evdwl *= factor_lj; - } else evdwl = 0.0; + } else + evdwl = 0.0; } - if (evflag) ev_tally_full(i,evdwl,ecoul,fpair_i,delx,dely,delz); + if (evflag) ev_tally_full(i, evdwl, ecoul, fpair_i, delx, dely, delz); } } } @@ -194,47 +194,50 @@ void PairLJCutCoulCutDielectric::compute(int eflag, int vflag) void PairLJCutCoulCutDielectric::init_style() { avec = (AtomVecDielectric *) atom->style_match("dielectric"); - if (!avec) error->all(FLERR,"Pair lj/cut/coul/cut/dielectric requires atom style dielectric"); + if (!avec) error->all(FLERR, "Pair lj/cut/coul/cut/dielectric requires atom style dielectric"); - int irequest = neighbor->request(this,instance_me); + int irequest = neighbor->request(this, instance_me); neighbor->requests[irequest]->half = 0; neighbor->requests[irequest]->full = 1; } /* ---------------------------------------------------------------------- */ -double PairLJCutCoulCutDielectric::single(int i, int j, int itype, int jtype, - double rsq, - double factor_coul, double factor_lj, - double &fforce) +double PairLJCutCoulCutDielectric::single(int i, int j, int itype, int jtype, double rsq, + double factor_coul, double factor_lj, double &fforce) { - double r2inv,r6inv,forcecoul,forcelj,phicoul,ei,ej,philj; - double* eps = atom->epsilon; + double r2inv, r6inv, forcecoul, forcelj, phicoul, ei, ej, philj; + double *eps = atom->epsilon; - r2inv = 1.0/rsq; + r2inv = 1.0 / rsq; if (rsq < cut_coulsq[itype][jtype]) - forcecoul = force->qqrd2e * atom->q[i]*atom->q[j]*sqrt(r2inv)*eps[i]; - else forcecoul = 0.0; + forcecoul = force->qqrd2e * atom->q[i] * atom->q[j] * sqrt(r2inv) * eps[i]; + else + forcecoul = 0.0; if (rsq < cut_ljsq[itype][jtype]) { - r6inv = r2inv*r2inv*r2inv; - forcelj = r6inv * (lj1[itype][jtype]*r6inv - lj2[itype][jtype]); - } else forcelj = 0.0; - fforce = (factor_coul*forcecoul + factor_lj*forcelj) * r2inv; + r6inv = r2inv * r2inv * r2inv; + forcelj = r6inv * (lj1[itype][jtype] * r6inv - lj2[itype][jtype]); + } else + forcelj = 0.0; + fforce = (factor_coul * forcecoul + factor_lj * forcelj) * r2inv; double eng = 0.0; - if (eps[i] == 1) ei = 0; - else ei = eps[i]; - if (eps[j] == 1) ej = 0; - else ej = eps[j]; + if (eps[i] == 1) + ei = 0; + else + ei = eps[i]; + if (eps[j] == 1) + ej = 0; + else + ej = eps[j]; if (rsq < cut_coulsq[itype][jtype]) { - phicoul = force->qqrd2e * atom->q[i]*atom->q[j]*sqrt(r2inv); - phicoul *= 0.5*(ei+ej); - eng += factor_coul*phicoul; + phicoul = force->qqrd2e * atom->q[i] * atom->q[j] * sqrt(r2inv); + phicoul *= 0.5 * (ei + ej); + eng += factor_coul * phicoul; } if (rsq < cut_ljsq[itype][jtype]) { - philj = r6inv*(lj3[itype][jtype]*r6inv-lj4[itype][jtype]) - - offset[itype][jtype]; - eng += factor_lj*philj; + philj = r6inv * (lj3[itype][jtype] * r6inv - lj4[itype][jtype]) - offset[itype][jtype]; + eng += factor_lj * philj; } return eng; diff --git a/src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric.h b/src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric.h index 52e6ce1789..93bee549c8 100644 --- a/src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric.h +++ b/src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric.h @@ -32,15 +32,15 @@ class PairLJCutCoulCutDielectric : public PairLJCutCoulCut { virtual double single(int, int, int, int, double, double, double, double &); void init_style(); - double** efield; - double* epot; + double **efield; + double *epot; protected: - class AtomVecDielectric* avec; + class AtomVecDielectric *avec; int nmax; }; -} +} // namespace LAMMPS_NS #endif #endif diff --git a/src/USER-DIELECTRIC/pair_lj_cut_coul_debye_dielectric.cpp b/src/USER-DIELECTRIC/pair_lj_cut_coul_debye_dielectric.cpp index d1485bd32d..4f8b2d63c8 100644 --- a/src/USER-DIELECTRIC/pair_lj_cut_coul_debye_dielectric.cpp +++ b/src/USER-DIELECTRIC/pair_lj_cut_coul_debye_dielectric.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/ Sandia National Laboratories @@ -16,21 +15,21 @@ Contributing author: Trung Nguyen (Northwestern) ------------------------------------------------------------------------- */ -#include -#include -#include -#include #include "pair_lj_cut_coul_debye_dielectric.h" + #include "atom.h" #include "atom_vec_dielectric.h" #include "comm.h" +#include "error.h" #include "force.h" -#include "neighbor.h" -#include "neigh_list.h" -#include "neigh_request.h" #include "math_const.h" #include "memory.h" -#include "error.h" +#include "neigh_list.h" +#include "neigh_request.h" +#include "neighbor.h" + +#include +#include using namespace LAMMPS_NS; using namespace MathConst; @@ -58,33 +57,31 @@ PairLJCutCoulDebyeDielectric::~PairLJCutCoulDebyeDielectric() void PairLJCutCoulDebyeDielectric::compute(int eflag, int vflag) { - int i,j,ii,jj,inum,jnum,itype,jtype; - double qtmp,etmp,xtmp,ytmp,ztmp,delx,dely,delz,evdwl,ecoul,fpair; - double fpair_i,fpair_j; - double rsq,r2inv,r6inv,forcecoul,forcelj,factor_coul,factor_lj,efield_i,epot_i; - double r,rinv,screening; - int *ilist,*jlist,*numneigh,**firstneigh; + int i, j, ii, jj, inum, jnum, itype, jtype; + double qtmp, etmp, xtmp, ytmp, ztmp, delx, dely, delz, evdwl, ecoul, fpair; + double fpair_i, fpair_j; + double rsq, r2inv, r6inv, forcecoul, forcelj, factor_coul, factor_lj, efield_i, epot_i; + double r, rinv, screening; + int *ilist, *jlist, *numneigh, **firstneigh; if (atom->nmax > nmax) { memory->destroy(efield); memory->destroy(epot); nmax = atom->nmax; - memory->create(efield,nmax,3,"pair:efield"); - memory->create(epot,nmax,"pair:epot"); + memory->create(efield, nmax, 3, "pair:efield"); + memory->create(epot, nmax, "pair:epot"); } evdwl = ecoul = 0.0; - if (eflag || vflag) ev_setup(eflag,vflag); - else evflag = vflag_fdotr = 0; + ev_init(eflag, vflag); double **x = atom->x; double **f = atom->f; double *q = atom->q; - double *q_real = avec->q_real; - double* eps = avec->epsilon; - double** norm = avec->mu; - double* curvature = avec->curvature; - double* area = avec->area; + double *eps = avec->epsilon; + double **norm = avec->mu; + double *curvature = avec->curvature; + double *area = avec->area; int *type = atom->type; int nlocal = atom->nlocal; double *special_coul = force->special_coul; @@ -113,10 +110,10 @@ void PairLJCutCoulDebyeDielectric::compute(int eflag, int vflag) // self term Eq. (55) for I_{ii} and Eq. (52) and in Barros et al double curvature_threshold = sqrt(area[i]); if (curvature[i] < curvature_threshold) { - double sf = curvature[i]/(4.0*MY_PIS*curvature_threshold) * area[i]*q[i]; - efield[i][0] = sf*norm[i][0]; - efield[i][1] = sf*norm[i][1]; - efield[i][2] = sf*norm[i][2]; + double sf = curvature[i] / (4.0 * MY_PIS * curvature_threshold) * area[i] * q[i]; + efield[i][0] = sf * norm[i][0]; + efield[i][1] = sf * norm[i][1]; + efield[i][2] = sf * norm[i][2]; } else { efield[i][0] = efield[i][1] = efield[i][2] = 0; } @@ -132,58 +129,61 @@ void PairLJCutCoulDebyeDielectric::compute(int eflag, int vflag) delx = xtmp - x[j][0]; dely = ytmp - x[j][1]; delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; + rsq = delx * delx + dely * dely + delz * delz; jtype = type[j]; if (rsq < cutsq[itype][jtype]) { - r2inv = 1.0/rsq; + r2inv = 1.0 / rsq; if (rsq < cut_coulsq[itype][jtype] && rsq > EPSILON) { r = sqrt(rsq); - rinv = 1.0/r; - screening = exp(-kappa*r); + rinv = 1.0 / r; + screening = exp(-kappa * r); efield_i = qqrd2e * q[j] * screening * (kappa + rinv); - forcecoul = qtmp*efield_i; + forcecoul = qtmp * efield_i; epot_i = efield_i; - } else efield_i = forcecoul = 0.0; + } else + efield_i = forcecoul = 0.0; if (rsq < cut_ljsq[itype][jtype]) { - r6inv = r2inv*r2inv*r2inv; - forcelj = r6inv * (lj1[itype][jtype]*r6inv - lj2[itype][jtype]); - } else forcelj = 0.0; + r6inv = r2inv * r2inv * r2inv; + forcelj = r6inv * (lj1[itype][jtype] * r6inv - lj2[itype][jtype]); + } else + forcelj = 0.0; - fpair_i = (factor_coul*etmp*forcecoul + factor_lj*forcelj) * r2inv; - f[i][0] += delx*fpair_i; - f[i][1] += dely*fpair_i; - f[i][2] += delz*fpair_i; + fpair_i = (factor_coul * etmp * forcecoul + factor_lj * forcelj) * r2inv; + f[i][0] += delx * fpair_i; + f[i][1] += dely * fpair_i; + f[i][2] += delz * fpair_i; - efield_i *= (factor_coul*etmp*r2inv); - efield[i][0] += delx*efield_i; - efield[i][1] += dely*efield_i; - efield[i][2] += delz*efield_i; + efield_i *= (factor_coul * etmp * r2inv); + efield[i][0] += delx * efield_i; + efield[i][1] += dely * efield_i; + efield[i][2] += delz * efield_i; epot[i] += epot_i; if (newton_pair && j >= nlocal) { - fpair_j = (factor_coul*eps[j]*forcecoul + factor_lj*forcelj) * r2inv; - f[j][0] -= delx*fpair_j; - f[j][1] -= dely*fpair_j; - f[j][2] -= delz*fpair_j; + fpair_j = (factor_coul * eps[j] * forcecoul + factor_lj * forcelj) * r2inv; + f[j][0] -= delx * fpair_j; + f[j][1] -= dely * fpair_j; + f[j][2] -= delz * fpair_j; } if (eflag) { if (rsq < cut_coulsq[itype][jtype]) { - ecoul = factor_coul * qqrd2e * qtmp*q[j]*(etmp+eps[j]) * rinv * screening; - } else ecoul = 0.0; + ecoul = factor_coul * qqrd2e * qtmp * q[j] * (etmp + eps[j]) * rinv * screening; + } else + ecoul = 0.0; ecoul *= 0.5; if (rsq < cut_ljsq[itype][jtype]) { - evdwl = r6inv*(lj3[itype][jtype]*r6inv-lj4[itype][jtype]) - - offset[itype][jtype]; + evdwl = r6inv * (lj3[itype][jtype] * r6inv - lj4[itype][jtype]) - offset[itype][jtype]; evdwl *= factor_lj; - } else evdwl = 0.0; + } else + evdwl = 0.0; } - if (evflag) ev_tally_full(i,evdwl,ecoul,fpair_i,delx,dely,delz); + if (evflag) ev_tally_full(i, evdwl, ecoul, fpair_i, delx, dely, delz); } } } @@ -198,52 +198,54 @@ void PairLJCutCoulDebyeDielectric::compute(int eflag, int vflag) void PairLJCutCoulDebyeDielectric::init_style() { avec = (AtomVecDielectric *) atom->style_match("dielectric"); - if (!avec) error->all(FLERR,"Pair lj/cut/coul/debye/dielectric requires atom style dielectric"); + if (!avec) error->all(FLERR, "Pair lj/cut/coul/debye/dielectric requires atom style dielectric"); - int irequest = neighbor->request(this,instance_me); + int irequest = neighbor->request(this, instance_me); neighbor->requests[irequest]->half = 0; neighbor->requests[irequest]->full = 1; } /* ---------------------------------------------------------------------- */ -double PairLJCutCoulDebyeDielectric::single(int i, int j, int itype, int jtype, - double rsq, - double factor_coul, double factor_lj, - double &fforce) +double PairLJCutCoulDebyeDielectric::single(int i, int j, int itype, int jtype, double rsq, + double factor_coul, double factor_lj, double &fforce) { - double r2inv,r6inv,forcecoul,forcelj,phicoul,ei,ej,philj; - double r,rinv,screening; - double* eps = avec->epsilon; + double r2inv, r6inv, forcecoul, forcelj, phicoul, ei, ej, philj; + double r, rinv, screening; + double *eps = avec->epsilon; - r2inv = 1.0/rsq; + r2inv = 1.0 / rsq; if (rsq < cut_coulsq[itype][jtype]) { r = sqrt(rsq); - rinv = 1.0/r; - screening = exp(-kappa*r); - forcecoul = force->qqrd2e * atom->q[i]*atom->q[j] * - screening * (kappa + rinv) * eps[i]; - } else forcecoul = 0.0; + rinv = 1.0 / r; + screening = exp(-kappa * r); + forcecoul = force->qqrd2e * atom->q[i] * atom->q[j] * screening * (kappa + rinv) * eps[i]; + } else + forcecoul = 0.0; if (rsq < cut_ljsq[itype][jtype]) { - r6inv = r2inv*r2inv*r2inv; - forcelj = r6inv * (lj1[itype][jtype]*r6inv - lj2[itype][jtype]); - } else forcelj = 0.0; - fforce = (factor_coul*forcecoul + factor_lj*forcelj) * r2inv; + r6inv = r2inv * r2inv * r2inv; + forcelj = r6inv * (lj1[itype][jtype] * r6inv - lj2[itype][jtype]); + } else + forcelj = 0.0; + fforce = (factor_coul * forcecoul + factor_lj * forcelj) * r2inv; double eng = 0.0; - if (eps[i] == 1) ei = 0; - else ei = eps[i]; - if (eps[j] == 1) ej = 0; - else ej = eps[j]; + if (eps[i] == 1) + ei = 0; + else + ei = eps[i]; + if (eps[j] == 1) + ej = 0; + else + ej = eps[j]; if (rsq < cut_coulsq[itype][jtype]) { - phicoul = force->qqrd2e * atom->q[i]*atom->q[j] * rinv * screening; - phicoul *= 0.5*(ei+ej); - eng += factor_coul*phicoul; + phicoul = force->qqrd2e * atom->q[i] * atom->q[j] * rinv * screening; + phicoul *= 0.5 * (ei + ej); + eng += factor_coul * phicoul; } if (rsq < cut_ljsq[itype][jtype]) { - philj = r6inv*(lj3[itype][jtype]*r6inv-lj4[itype][jtype]) - - offset[itype][jtype]; - eng += factor_lj*philj; + philj = r6inv * (lj3[itype][jtype] * r6inv - lj4[itype][jtype]) - offset[itype][jtype]; + eng += factor_lj * philj; } return eng; diff --git a/src/USER-DIELECTRIC/pair_lj_cut_coul_debye_dielectric.h b/src/USER-DIELECTRIC/pair_lj_cut_coul_debye_dielectric.h index 18b3c1bb59..0301ff4fbd 100644 --- a/src/USER-DIELECTRIC/pair_lj_cut_coul_debye_dielectric.h +++ b/src/USER-DIELECTRIC/pair_lj_cut_coul_debye_dielectric.h @@ -32,15 +32,15 @@ class PairLJCutCoulDebyeDielectric : public PairLJCutCoulDebye { virtual double single(int, int, int, int, double, double, double, double &); void init_style(); - double** efield; - double* epot; + double **efield; + double *epot; protected: - class AtomVecDielectric* avec; + class AtomVecDielectric *avec; int nmax; }; -} +} // namespace LAMMPS_NS #endif #endif diff --git a/src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric.cpp b/src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric.cpp index ecbb592e5c..7f5b67a22b 100644 --- a/src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric.cpp +++ b/src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/ Sandia National Laboratories @@ -24,31 +23,30 @@ #include "error.h" #include "force.h" #include "kspace.h" -#include "neighbor.h" -#include "neigh_list.h" -#include "neigh_request.h" #include "math_const.h" #include "memory.h" +#include "neigh_list.h" +#include "neigh_request.h" +#include "neighbor.h" #include using namespace LAMMPS_NS; using namespace MathConst; -#define EWALD_F 1.12837917 -#define EWALD_P 0.3275911 -#define A1 0.254829592 -#define A2 -0.284496736 -#define A3 1.421413741 -#define A4 -1.453152027 -#define A5 1.061405429 +#define EWALD_F 1.12837917 +#define EWALD_P 0.3275911 +#define A1 0.254829592 +#define A2 -0.284496736 +#define A3 1.421413741 +#define A4 -1.453152027 +#define A5 1.061405429 #define EPSILON 1e-6 /* ---------------------------------------------------------------------- */ -PairLJCutCoulLongDielectric::PairLJCutCoulLongDielectric(LAMMPS *lmp) : - PairLJCutCoulLong(lmp) +PairLJCutCoulLongDielectric::PairLJCutCoulLongDielectric(LAMMPS *lmp) : PairLJCutCoulLong(lmp) { respa_enable = 0; cut_respa = nullptr; @@ -69,34 +67,33 @@ PairLJCutCoulLongDielectric::~PairLJCutCoulLongDielectric() void PairLJCutCoulLongDielectric::compute(int eflag, int vflag) { - int i,ii,j,jj,inum,jnum,itype,jtype,itable; - double qtmp,etmp,xtmp,ytmp,ztmp,delx,dely,delz,evdwl,ecoul; - double fpair_i,fpair_j; - double fraction,table; - double r,r2inv,r6inv,forcecoul,forcelj,factor_coul,factor_lj; - double grij,expm2,prefactor,t,erfc,prefactorE,efield_i,epot_i; - int *ilist,*jlist,*numneigh,**firstneigh; + int i, ii, j, jj, inum, jnum, itype, jtype, itable; + double qtmp, etmp, xtmp, ytmp, ztmp, delx, dely, delz, evdwl, ecoul; + double fpair_i, fpair_j; + double fraction, table; + double r, r2inv, r6inv, forcecoul, forcelj, factor_coul, factor_lj; + double grij, expm2, prefactor, t, erfc, prefactorE, efield_i, epot_i; + int *ilist, *jlist, *numneigh, **firstneigh; double rsq; evdwl = ecoul = 0.0; - if (eflag || vflag) ev_setup(eflag,vflag); - else evflag = vflag_fdotr = 0; + ev_init(eflag, vflag); if (atom->nmax > nmax) { memory->destroy(efield); memory->destroy(epot); nmax = atom->nmax; - memory->create(efield,nmax,3,"pair:efield"); - memory->create(epot,nmax,"pair:epot"); + memory->create(efield, nmax, 3, "pair:efield"); + memory->create(epot, nmax, "pair:epot"); } double **x = atom->x; double **f = atom->f; double *q = atom->q; double *eps = atom->epsilon; - double** norm = atom->mu; - double* curvature = atom->curvature; - double* area = atom->area; + double **norm = atom->mu; + double *curvature = atom->curvature; + double *area = atom->area; int *type = atom->type; int nlocal = atom->nlocal; double *special_coul = force->special_coul; @@ -126,10 +123,10 @@ void PairLJCutCoulLongDielectric::compute(int eflag, int vflag) double curvature_threshold = sqrt(area[i]); if (curvature[i] < curvature_threshold) { - double sf = curvature[i]/(4.0*MY_PIS*curvature_threshold) * area[i]*q[i]; - efield[i][0] = sf*norm[i][0]; - efield[i][1] = sf*norm[i][1]; - efield[i][2] = sf*norm[i][2]; + double sf = curvature[i] / (4.0 * MY_PIS * curvature_threshold) * area[i] * q[i]; + efield[i][0] = sf * norm[i][0]; + efield[i][1] = sf * norm[i][1]; + efield[i][2] = sf * norm[i][2]; } else { efield[i][0] = efield[i][1] = efield[i][2] = 0; } @@ -145,27 +142,27 @@ void PairLJCutCoulLongDielectric::compute(int eflag, int vflag) delx = xtmp - x[j][0]; dely = ytmp - x[j][1]; delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; + rsq = delx * delx + dely * dely + delz * delz; jtype = type[j]; if (rsq < cutsq[itype][jtype]) { - r2inv = 1.0/rsq; + r2inv = 1.0 / rsq; r = sqrt(rsq); if (rsq < cut_coulsq && rsq > EPSILON) { if (!ncoultablebits || rsq <= tabinnersq) { grij = g_ewald * r; - expm2 = exp(-grij*grij); - t = 1.0 / (1.0 + EWALD_P*grij); - erfc = t * (A1+t*(A2+t*(A3+t*(A4+t*A5)))) * expm2; - prefactor = qqrd2e * qtmp*q[j]/r; - forcecoul = prefactor * (erfc + EWALD_F*grij*expm2); - if (factor_coul < 1.0) forcecoul -= (1.0-factor_coul)*prefactor; + expm2 = exp(-grij * grij); + t = 1.0 / (1.0 + EWALD_P * grij); + erfc = t * (A1 + t * (A2 + t * (A3 + t * (A4 + t * A5)))) * expm2; + prefactor = qqrd2e * qtmp * q[j] / r; + forcecoul = prefactor * (erfc + EWALD_F * grij * expm2); + if (factor_coul < 1.0) forcecoul -= (1.0 - factor_coul) * prefactor; - prefactorE = q[j]/r; - efield_i = prefactorE * (erfc + EWALD_F*grij*expm2); - if (factor_coul < 1.0) efield_i -= (1.0-factor_coul)*prefactorE; + prefactorE = q[j] / r; + efield_i = prefactorE * (erfc + EWALD_F * grij * expm2); + if (factor_coul < 1.0) efield_i -= (1.0 - factor_coul) * prefactorE; epot_i = efield_i; } else { union_int_float_t rsq_lookup; @@ -173,66 +170,69 @@ void PairLJCutCoulLongDielectric::compute(int eflag, int vflag) itable = rsq_lookup.i & ncoulmask; itable >>= ncoulshiftbits; fraction = (rsq_lookup.f - rtable[itable]) * drtable[itable]; - table = ftable[itable] + fraction*dftable[itable]; - forcecoul = qtmp*q[j] * table; - efield_i = q[j] * table/qqrd2e; + table = ftable[itable] + fraction * dftable[itable]; + forcecoul = qtmp * q[j] * table; + efield_i = q[j] * table / qqrd2e; if (factor_coul < 1.0) { - table = ctable[itable] + fraction*dctable[itable]; - prefactor = qtmp*q[j] * table; - forcecoul -= (1.0-factor_coul)*prefactor; + table = ctable[itable] + fraction * dctable[itable]; + prefactor = qtmp * q[j] * table; + forcecoul -= (1.0 - factor_coul) * prefactor; - prefactorE = q[j] * table/qqrd2e; - efield_i -= (1.0-factor_coul)*prefactorE; + prefactorE = q[j] * table / qqrd2e; + efield_i -= (1.0 - factor_coul) * prefactorE; } epot_i = efield_i; } - } else epot_i = efield_i = forcecoul = 0.0; + } else + epot_i = efield_i = forcecoul = 0.0; if (rsq < cut_ljsq[itype][jtype]) { - r6inv = r2inv*r2inv*r2inv; - forcelj = r6inv * (lj1[itype][jtype]*r6inv - lj2[itype][jtype]); - } else forcelj = 0.0; + r6inv = r2inv * r2inv * r2inv; + forcelj = r6inv * (lj1[itype][jtype] * r6inv - lj2[itype][jtype]); + } else + forcelj = 0.0; - fpair_i = (forcecoul*etmp + factor_lj*forcelj) * r2inv; - f[i][0] += delx*fpair_i; - f[i][1] += dely*fpair_i; - f[i][2] += delz*fpair_i; + fpair_i = (forcecoul * etmp + factor_lj * forcelj) * r2inv; + f[i][0] += delx * fpair_i; + f[i][1] += dely * fpair_i; + f[i][2] += delz * fpair_i; - efield_i *= (etmp*r2inv); - efield[i][0] += delx*efield_i; - efield[i][1] += dely*efield_i; - efield[i][2] += delz*efield_i; + efield_i *= (etmp * r2inv); + efield[i][0] += delx * efield_i; + efield[i][1] += dely * efield_i; + efield[i][2] += delz * efield_i; epot[i] += epot_i; if (newton_pair && j >= nlocal) { - fpair_j = (forcecoul*eps[j] + factor_lj*forcelj) * r2inv; - f[j][0] -= delx*fpair_j; - f[j][1] -= dely*fpair_j; - f[j][2] -= delz*fpair_j; + fpair_j = (forcecoul * eps[j] + factor_lj * forcelj) * r2inv; + f[j][0] -= delx * fpair_j; + f[j][1] -= dely * fpair_j; + f[j][2] -= delz * fpair_j; } if (eflag) { if (rsq < cut_coulsq) { if (!ncoultablebits || rsq <= tabinnersq) - ecoul = prefactor*(etmp+eps[j])*erfc; + ecoul = prefactor * (etmp + eps[j]) * erfc; else { - table = etable[itable] + fraction*detable[itable]; - ecoul = qtmp*q[j]*(etmp+eps[j]) * table; + table = etable[itable] + fraction * detable[itable]; + ecoul = qtmp * q[j] * (etmp + eps[j]) * table; } ecoul *= 0.5; - if (factor_coul < 1.0) ecoul -= (1.0-factor_coul)*prefactor; - } else ecoul = 0.0; + if (factor_coul < 1.0) ecoul -= (1.0 - factor_coul) * prefactor; + } else + ecoul = 0.0; if (rsq < cut_ljsq[itype][jtype]) { - evdwl = r6inv*(lj3[itype][jtype]*r6inv-lj4[itype][jtype]) - - offset[itype][jtype]; + evdwl = r6inv * (lj3[itype][jtype] * r6inv - lj4[itype][jtype]) - offset[itype][jtype]; evdwl *= factor_lj; - } else evdwl = 0.0; + } else + evdwl = 0.0; } - if (evflag) ev_tally_full(i,evdwl,ecoul,fpair_i,delx,dely,delz); + if (evflag) ev_tally_full(i, evdwl, ecoul, fpair_i, delx, dely, delz); } } } @@ -247,9 +247,9 @@ void PairLJCutCoulLongDielectric::compute(int eflag, int vflag) void PairLJCutCoulLongDielectric::init_style() { avec = (AtomVecDielectric *) atom->style_match("dielectric"); - if (!avec) error->all(FLERR,"Pair lj/cut/coul/long/dielectric requires atom style dielectric"); + if (!avec) error->all(FLERR, "Pair lj/cut/coul/long/dielectric requires atom style dielectric"); - int irequest = neighbor->request(this,instance_me); + int irequest = neighbor->request(this, instance_me); neighbor->requests[irequest]->half = 0; neighbor->requests[irequest]->full = 1; @@ -257,82 +257,84 @@ void PairLJCutCoulLongDielectric::init_style() // insure use of KSpace long-range solver, set g_ewald - if (force->kspace == NULL) - error->all(FLERR,"Pair style requires a KSpace style"); + if (force->kspace == NULL) error->all(FLERR, "Pair style requires a KSpace style"); g_ewald = force->kspace->g_ewald; // setup force tables - if (ncoultablebits) init_tables(cut_coul,cut_respa); + if (ncoultablebits) init_tables(cut_coul, cut_respa); } /* ---------------------------------------------------------------------- */ -double PairLJCutCoulLongDielectric::single(int i, int j, int itype, int jtype, - double rsq, - double factor_coul, double factor_lj, - double &fforce) +double PairLJCutCoulLongDielectric::single(int i, int j, int itype, int jtype, double rsq, + double factor_coul, double factor_lj, double &fforce) { - double r2inv,r6inv,r,grij,expm2,t,erfc,ei,ej,prefactor; - double fraction,table,forcecoul,forcelj,phicoul,philj; + double r2inv, r6inv, r, grij, expm2, t, erfc, ei, ej, prefactor; + double fraction, table, forcecoul, forcelj, phicoul, philj; int itable; double *eps = atom->epsilon; - r2inv = 1.0/rsq; + r2inv = 1.0 / rsq; if (rsq < cut_coulsq) { if (!ncoultablebits || rsq <= tabinnersq) { r = sqrt(rsq); grij = g_ewald * r; - expm2 = exp(-grij*grij); - t = 1.0 / (1.0 + EWALD_P*grij); - erfc = t * (A1+t*(A2+t*(A3+t*(A4+t*A5)))) * expm2; - prefactor = force->qqrd2e * atom->q[i]*atom->q[j]/r; - forcecoul = prefactor * (erfc + EWALD_F*grij*expm2); - if (factor_coul < 1.0) forcecoul -= (1.0-factor_coul)*prefactor; + expm2 = exp(-grij * grij); + t = 1.0 / (1.0 + EWALD_P * grij); + erfc = t * (A1 + t * (A2 + t * (A3 + t * (A4 + t * A5)))) * expm2; + prefactor = force->qqrd2e * atom->q[i] * atom->q[j] / r; + forcecoul = prefactor * (erfc + EWALD_F * grij * expm2); + if (factor_coul < 1.0) forcecoul -= (1.0 - factor_coul) * prefactor; } else { union_int_float_t rsq_lookup_single; rsq_lookup_single.f = rsq; itable = rsq_lookup_single.i & ncoulmask; itable >>= ncoulshiftbits; fraction = (rsq_lookup_single.f - rtable[itable]) * drtable[itable]; - table = ftable[itable] + fraction*dftable[itable]; - forcecoul = atom->q[i]*atom->q[j] * table; + table = ftable[itable] + fraction * dftable[itable]; + forcecoul = atom->q[i] * atom->q[j] * table; if (factor_coul < 1.0) { - table = ctable[itable] + fraction*dctable[itable]; - prefactor = atom->q[i]*atom->q[j] * table; - forcecoul -= (1.0-factor_coul)*prefactor; + table = ctable[itable] + fraction * dctable[itable]; + prefactor = atom->q[i] * atom->q[j] * table; + forcecoul -= (1.0 - factor_coul) * prefactor; } } - } else forcecoul = 0.0; + } else + forcecoul = 0.0; if (rsq < cut_ljsq[itype][jtype]) { - r6inv = r2inv*r2inv*r2inv; - forcelj = r6inv * (lj1[itype][jtype]*r6inv - lj2[itype][jtype]); - } else forcelj = 0.0; + r6inv = r2inv * r2inv * r2inv; + forcelj = r6inv * (lj1[itype][jtype] * r6inv - lj2[itype][jtype]); + } else + forcelj = 0.0; - fforce = (forcecoul*eps[i] + factor_lj*forcelj) * r2inv; + fforce = (forcecoul * eps[i] + factor_lj * forcelj) * r2inv; double eng = 0.0; - if (eps[i] == 1) ei = 0; - else ei = eps[i]; - if (eps[j] == 1) ej = 0; - else ej = eps[j]; + if (eps[i] == 1) + ei = 0; + else + ei = eps[i]; + if (eps[j] == 1) + ej = 0; + else + ej = eps[j]; if (rsq < cut_coulsq) { if (!ncoultablebits || rsq <= tabinnersq) - phicoul = prefactor*(ei+ej)*erfc; + phicoul = prefactor * (ei + ej) * erfc; else { - table = etable[itable] + fraction*detable[itable]; - phicoul = atom->q[i]*atom->q[j]*(ei+ej) * table; + table = etable[itable] + fraction * detable[itable]; + phicoul = atom->q[i] * atom->q[j] * (ei + ej) * table; } phicoul *= 0.5; - if (factor_coul < 1.0) phicoul -= (1.0-factor_coul)*prefactor; + if (factor_coul < 1.0) phicoul -= (1.0 - factor_coul) * prefactor; eng += phicoul; } if (rsq < cut_ljsq[itype][jtype]) { - philj = r6inv*(lj3[itype][jtype]*r6inv-lj4[itype][jtype]) - - offset[itype][jtype]; - eng += factor_lj*philj; + philj = r6inv * (lj3[itype][jtype] * r6inv - lj4[itype][jtype]) - offset[itype][jtype]; + eng += factor_lj * philj; } return eng; diff --git a/src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric.h b/src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric.h index 1d2b3c6123..06ad1c5e7f 100644 --- a/src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric.h +++ b/src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric.h @@ -33,15 +33,15 @@ class PairLJCutCoulLongDielectric : public PairLJCutCoulLong { virtual void init_style(); virtual double single(int, int, int, int, double, double, double, double &); - double** efield; - double* epot; + double **efield; + double *epot; protected: - class AtomVecDielectric* avec; + class AtomVecDielectric *avec; int nmax; }; -} +} // namespace LAMMPS_NS #endif #endif diff --git a/src/USER-DIELECTRIC/pair_lj_cut_coul_msm_dielectric.cpp b/src/USER-DIELECTRIC/pair_lj_cut_coul_msm_dielectric.cpp index 4c5efe7c99..c273fc2132 100644 --- a/src/USER-DIELECTRIC/pair_lj_cut_coul_msm_dielectric.cpp +++ b/src/USER-DIELECTRIC/pair_lj_cut_coul_msm_dielectric.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/ Sandia National Laboratories @@ -23,13 +22,13 @@ #include "comm.h" #include "error.h" #include "force.h" -#include "kspace.h" #include "integrate.h" -#include "neighbor.h" -#include "neigh_list.h" -#include "neigh_request.h" +#include "kspace.h" #include "math_const.h" #include "memory.h" +#include "neigh_list.h" +#include "neigh_request.h" +#include "neighbor.h" #include @@ -40,8 +39,7 @@ using namespace MathConst; /* ---------------------------------------------------------------------- */ -PairLJCutCoulMSMDielectric::PairLJCutCoulMSMDielectric(LAMMPS *lmp) : - PairLJCutCoulLong(lmp) +PairLJCutCoulMSMDielectric::PairLJCutCoulMSMDielectric(LAMMPS *lmp) : PairLJCutCoulLong(lmp) { ewaldflag = pppmflag = 0; msmflag = 1; @@ -65,52 +63,50 @@ PairLJCutCoulMSMDielectric::~PairLJCutCoulMSMDielectric() void PairLJCutCoulMSMDielectric::compute(int eflag, int vflag) { - int i,ii,j,jj,inum,jnum,itype,jtype,itable; - double qtmp,etmp,xtmp,ytmp,ztmp,delx,dely,delz,evdwl,ecoul,fpair,fcoul; - double fpair_i,fpair_j; - double fraction,table; - double r,r2inv,r6inv,forcecoul,forcelj,factor_coul,factor_lj; - double egamma,fgamma,prefactor,prefactorE,efield_i; - int *ilist,*jlist,*numneigh,**firstneigh; + int i, ii, j, jj, inum, jnum, itype, jtype, itable; + double qtmp, etmp, xtmp, ytmp, ztmp, delx, dely, delz, evdwl, ecoul, fpair, fcoul; + double fpair_i, fpair_j; + double fraction, table; + double r, r2inv, r6inv, forcecoul, forcelj, factor_coul, factor_lj; + double egamma, fgamma, prefactor, prefactorE, efield_i; + int *ilist, *jlist, *numneigh, **firstneigh; double rsq; int eflag_old = eflag; if (force->kspace->scalar_pressure_flag && vflag) { if (vflag > 2) - error->all(FLERR,"Must use 'kspace_modify pressure/scalar no' " - "to obtain per-atom virial with kspace_style MSM"); + error->all(FLERR, + "Must use 'kspace_modify pressure/scalar no' " + "to obtain per-atom virial with kspace_style MSM"); if (atom->nmax > nmax) { if (ftmp) memory->destroy(ftmp); nmax = atom->nmax; - memory->create(ftmp,nmax,3,"pair:ftmp"); + memory->create(ftmp, nmax, 3, "pair:ftmp"); } - memset(&ftmp[0][0],0,nmax*3*sizeof(double)); + memset(&ftmp[0][0], 0, nmax * 3 * sizeof(double)); // must switch on global energy computation if not already on - if (eflag == 0 || eflag == 2) { - eflag++; - } + if (eflag == 0 || eflag == 2) { eflag++; } } if (!efield || atom->nmax > nmax) { if (efield) memory->destroy(efield); nmax = atom->nmax; - memory->create(efield,nmax,3,"pair:efield"); + memory->create(efield, nmax, 3, "pair:efield"); } evdwl = ecoul = 0.0; - if (eflag || vflag) ev_setup(eflag,vflag); - else evflag = vflag_fdotr = 0; + ev_init(eflag, vflag); double **x = atom->x; double **f = atom->f; double *q = atom->q; double *eps = atom->epsilon; - double** norm = atom->mu; - double* curvature = atom->curvature; - double* area = atom->area; + double **norm = atom->mu; + double *curvature = atom->curvature; + double *area = atom->area; int *type = atom->type; int nlocal = atom->nlocal; double *special_coul = force->special_coul; @@ -139,10 +135,10 @@ void PairLJCutCoulMSMDielectric::compute(int eflag, int vflag) // self term Eq. (55) for I_{ii} and Eq. (52) and in Barros et al double curvature_threshold = sqrt(area[i]); if (curvature[i] < curvature_threshold) { - double sf = curvature[i]/(4.0*MY_PIS*curvature_threshold) * area[i]*q[i]; - efield[i][0] = sf*norm[i][0]; - efield[i][1] = sf*norm[i][1]; - efield[i][2] = sf*norm[i][2]; + double sf = curvature[i] / (4.0 * MY_PIS * curvature_threshold) * area[i] * q[i]; + efield[i][0] = sf * norm[i][0]; + efield[i][1] = sf * norm[i][1]; + efield[i][2] = sf * norm[i][2]; } else { efield[i][0] = efield[i][1] = efield[i][2] = 0; } @@ -156,24 +152,24 @@ void PairLJCutCoulMSMDielectric::compute(int eflag, int vflag) delx = xtmp - x[j][0]; dely = ytmp - x[j][1]; delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; + rsq = delx * delx + dely * dely + delz * delz; jtype = type[j]; if (rsq < cutsq[itype][jtype]) { - r2inv = 1.0/rsq; + r2inv = 1.0 / rsq; if (rsq < cut_coulsq && rsq > EPSILON) { if (!ncoultablebits || rsq <= tabinnersq) { r = sqrt(rsq); - prefactor = qqrd2e * qtmp*q[j]/r; - egamma = 1.0 - (r/cut_coul)*force->kspace->gamma(r/cut_coul); - fgamma = 1.0 + (rsq/cut_coulsq)*force->kspace->dgamma(r/cut_coul); + prefactor = qqrd2e * qtmp * q[j] / r; + egamma = 1.0 - (r / cut_coul) * force->kspace->gamma(r / cut_coul); + fgamma = 1.0 + (rsq / cut_coulsq) * force->kspace->dgamma(r / cut_coul); forcecoul = prefactor * fgamma; - if (factor_coul < 1.0) forcecoul -= (1.0-factor_coul)*prefactor; + if (factor_coul < 1.0) forcecoul -= (1.0 - factor_coul) * prefactor; - prefactorE = q[j]/r; + prefactorE = q[j] / r; efield_i = prefactorE * fgamma; - if (factor_coul < 1.0) efield_i -= (1.0-factor_coul)*prefactorE; + if (factor_coul < 1.0) efield_i -= (1.0 - factor_coul) * prefactorE; } else { union_int_float_t rsq_lookup; @@ -181,95 +177,98 @@ void PairLJCutCoulMSMDielectric::compute(int eflag, int vflag) itable = rsq_lookup.i & ncoulmask; itable >>= ncoulshiftbits; fraction = (rsq_lookup.f - rtable[itable]) * drtable[itable]; - table = ftable[itable] + fraction*dftable[itable]; - forcecoul = qtmp*q[j] * table; - efield_i = q[j] * table/qqrd2e; + table = ftable[itable] + fraction * dftable[itable]; + forcecoul = qtmp * q[j] * table; + efield_i = q[j] * table / qqrd2e; if (factor_coul < 1.0) { - table = ctable[itable] + fraction*dctable[itable]; - prefactor = qtmp*q[j] * table; - forcecoul -= (1.0-factor_coul)*prefactor; + table = ctable[itable] + fraction * dctable[itable]; + prefactor = qtmp * q[j] * table; + forcecoul -= (1.0 - factor_coul) * prefactor; - prefactorE = q[j] * table/qqrd2e; - efield_i -= (1.0-factor_coul)*prefactorE; + prefactorE = q[j] * table / qqrd2e; + efield_i -= (1.0 - factor_coul) * prefactorE; } } - } else forcecoul = 0.0; + } else + forcecoul = 0.0; if (rsq < cut_ljsq[itype][jtype]) { - r6inv = r2inv*r2inv*r2inv; - forcelj = r6inv * (lj1[itype][jtype]*r6inv - lj2[itype][jtype]); - } else forcelj = 0.0; + r6inv = r2inv * r2inv * r2inv; + forcelj = r6inv * (lj1[itype][jtype] * r6inv - lj2[itype][jtype]); + } else + forcelj = 0.0; if (!(force->kspace->scalar_pressure_flag && vflag)) { - fpair_i = (forcecoul*etmp + factor_lj*forcelj) * r2inv; - f[i][0] += delx*fpair_i; - f[i][1] += dely*fpair_i; - f[i][2] += delz*fpair_i; + fpair_i = (forcecoul * etmp + factor_lj * forcelj) * r2inv; + f[i][0] += delx * fpair_i; + f[i][1] += dely * fpair_i; + f[i][2] += delz * fpair_i; - efield_i *= (etmp*r2inv); - efield[i][0] += delx*efield_i; - efield[i][1] += dely*efield_i; - efield[i][2] += delz*efield_i; + efield_i *= (etmp * r2inv); + efield[i][0] += delx * efield_i; + efield[i][1] += dely * efield_i; + efield[i][2] += delz * efield_i; if (newton_pair && j >= nlocal) { - fpair_j = (forcecoul*eps[j] + factor_lj*forcelj) * r2inv; - f[j][0] -= delx*fpair_j; - f[j][1] -= dely*fpair_j; - f[j][2] -= delz*fpair_j; + fpair_j = (forcecoul * eps[j] + factor_lj * forcelj) * r2inv; + f[j][0] -= delx * fpair_j; + f[j][1] -= dely * fpair_j; + f[j][2] -= delz * fpair_j; } } else { // separate LJ and Coulombic forces - fpair = (factor_lj*forcelj) * r2inv; + fpair = (factor_lj * forcelj) * r2inv; - f[i][0] += delx*fpair; - f[i][1] += dely*fpair; - f[i][2] += delz*fpair; + f[i][0] += delx * fpair; + f[i][1] += dely * fpair; + f[i][2] += delz * fpair; if (newton_pair) { - f[j][0] -= delx*fpair; - f[j][1] -= dely*fpair; - f[j][2] -= delz*fpair; + f[j][0] -= delx * fpair; + f[j][1] -= dely * fpair; + f[j][2] -= delz * fpair; } - fpair_i = (forcecoul*etmp) * r2inv; - ftmp[i][0] += delx*fpair_i; - ftmp[i][1] += dely*fpair_i; - ftmp[i][2] += delz*fpair_i; + fpair_i = (forcecoul * etmp) * r2inv; + ftmp[i][0] += delx * fpair_i; + ftmp[i][1] += dely * fpair_i; + ftmp[i][2] += delz * fpair_i; - efield_i *= (etmp*r2inv); - efield[i][0] += delx*efield_i; - efield[i][1] += dely*efield_i; - efield[i][2] += delz*efield_i; + efield_i *= (etmp * r2inv); + efield[i][0] += delx * efield_i; + efield[i][1] += dely * efield_i; + efield[i][2] += delz * efield_i; if (newton_pair && j >= nlocal) { - fpair_j = (forcecoul*eps[j]) * r2inv; - ftmp[j][0] -= delx*fpair_j; - ftmp[j][1] -= dely*fpair_j; - ftmp[j][2] -= delz*fpair_j; + fpair_j = (forcecoul * eps[j]) * r2inv; + ftmp[j][0] -= delx * fpair_j; + ftmp[j][1] -= dely * fpair_j; + ftmp[j][2] -= delz * fpair_j; } } if (eflag) { if (rsq < cut_coulsq) { if (!ncoultablebits || rsq <= tabinnersq) - ecoul = prefactor*(etmp+eps[j])*egamma; + ecoul = prefactor * (etmp + eps[j]) * egamma; else { - table = etable[itable] + fraction*detable[itable]; - ecoul = qtmp*q[j]*(etmp+eps[j]) * table; + table = etable[itable] + fraction * detable[itable]; + ecoul = qtmp * q[j] * (etmp + eps[j]) * table; } - if (factor_coul < 1.0) ecoul -= (1.0-factor_coul)*prefactor; - } else ecoul = 0.0; + if (factor_coul < 1.0) ecoul -= (1.0 - factor_coul) * prefactor; + } else + ecoul = 0.0; if (eflag_old && rsq < cut_ljsq[itype][jtype]) { - evdwl = r6inv*(lj3[itype][jtype]*r6inv-lj4[itype][jtype]) - - offset[itype][jtype]; + evdwl = r6inv * (lj3[itype][jtype] * r6inv - lj4[itype][jtype]) - offset[itype][jtype]; evdwl *= factor_lj; - } else evdwl = 0.0; + } else + evdwl = 0.0; } - if (evflag) ev_tally_full(i,evdwl,ecoul,fpair_i,delx,dely,delz); + if (evflag) ev_tally_full(i, evdwl, ecoul, fpair_i, delx, dely, delz); } } } @@ -277,7 +276,7 @@ void PairLJCutCoulMSMDielectric::compute(int eflag, int vflag) if (vflag_fdotr) virial_fdotr_compute(); if (force->kspace->scalar_pressure_flag && vflag) { - for (i = 0; i < 3; i++) virial[i] += force->pair->eng_coul/3.0; + for (i = 0; i < 3; i++) virial[i] += force->pair->eng_coul / 3.0; for (int i = 0; i < nmax; i++) { f[i][0] += ftmp[i][0]; f[i][1] += ftmp[i][1]; @@ -288,63 +287,62 @@ void PairLJCutCoulMSMDielectric::compute(int eflag, int vflag) /* ---------------------------------------------------------------------- */ -double PairLJCutCoulMSMDielectric::single(int i, int j, int itype, int jtype, - double rsq, - double factor_coul, double factor_lj, - double &fforce) +double PairLJCutCoulMSMDielectric::single(int i, int j, int itype, int jtype, double rsq, + double factor_coul, double factor_lj, double &fforce) { - double r2inv,r6inv,r,egamma,fgamma,prefactor; - double fraction,table,forcecoul,forcelj,phicoul,philj; + double r2inv, r6inv, r, egamma, fgamma, prefactor; + double fraction, table, forcecoul, forcelj, phicoul, philj; int itable; - r2inv = 1.0/rsq; + r2inv = 1.0 / rsq; if (rsq < cut_coulsq) { if (!ncoultablebits || rsq <= tabinnersq) { r = sqrt(rsq); - prefactor = force->qqrd2e * atom->q[i]*atom->q[j]/r; - egamma = 1.0 - (r/cut_coul)*force->kspace->gamma(r/cut_coul); - fgamma = 1.0 + (rsq/cut_coulsq)*force->kspace->dgamma(r/cut_coul); + prefactor = force->qqrd2e * atom->q[i] * atom->q[j] / r; + egamma = 1.0 - (r / cut_coul) * force->kspace->gamma(r / cut_coul); + fgamma = 1.0 + (rsq / cut_coulsq) * force->kspace->dgamma(r / cut_coul); forcecoul = prefactor * fgamma; - if (factor_coul < 1.0) forcecoul -= (1.0-factor_coul)*prefactor; + if (factor_coul < 1.0) forcecoul -= (1.0 - factor_coul) * prefactor; } else { union_int_float_t rsq_lookup_single; rsq_lookup_single.f = rsq; itable = rsq_lookup_single.i & ncoulmask; itable >>= ncoulshiftbits; fraction = (rsq_lookup_single.f - rtable[itable]) * drtable[itable]; - table = ftable[itable] + fraction*dftable[itable]; - forcecoul = atom->q[i]*atom->q[j] * table; + table = ftable[itable] + fraction * dftable[itable]; + forcecoul = atom->q[i] * atom->q[j] * table; if (factor_coul < 1.0) { - table = ctable[itable] + fraction*dctable[itable]; - prefactor = atom->q[i]*atom->q[j] * table; - forcecoul -= (1.0-factor_coul)*prefactor; + table = ctable[itable] + fraction * dctable[itable]; + prefactor = atom->q[i] * atom->q[j] * table; + forcecoul -= (1.0 - factor_coul) * prefactor; } } - } else forcecoul = 0.0; + } else + forcecoul = 0.0; if (rsq < cut_ljsq[itype][jtype]) { - r6inv = r2inv*r2inv*r2inv; - forcelj = r6inv * (lj1[itype][jtype]*r6inv - lj2[itype][jtype]); - } else forcelj = 0.0; + r6inv = r2inv * r2inv * r2inv; + forcelj = r6inv * (lj1[itype][jtype] * r6inv - lj2[itype][jtype]); + } else + forcelj = 0.0; - fforce = (forcecoul + factor_lj*forcelj) * r2inv; + fforce = (forcecoul + factor_lj * forcelj) * r2inv; double eng = 0.0; if (rsq < cut_coulsq) { if (!ncoultablebits || rsq <= tabinnersq) - phicoul = prefactor*egamma; + phicoul = prefactor * egamma; else { - table = etable[itable] + fraction*detable[itable]; - phicoul = atom->q[i]*atom->q[j] * table; + table = etable[itable] + fraction * detable[itable]; + phicoul = atom->q[i] * atom->q[j] * table; } - if (factor_coul < 1.0) phicoul -= (1.0-factor_coul)*prefactor; + if (factor_coul < 1.0) phicoul -= (1.0 - factor_coul) * prefactor; eng += phicoul; } if (rsq < cut_ljsq[itype][jtype]) { - philj = r6inv*(lj3[itype][jtype]*r6inv-lj4[itype][jtype]) - - offset[itype][jtype]; - eng += factor_lj*philj; + philj = r6inv * (lj3[itype][jtype] * r6inv - lj4[itype][jtype]) - offset[itype][jtype]; + eng += factor_lj * philj; } return eng; @@ -357,9 +355,9 @@ double PairLJCutCoulMSMDielectric::single(int i, int j, int itype, int jtype, void PairLJCutCoulMSMDielectric::init_style() { avec = (AtomVecDielectric *) atom->style_match("dielectric"); - if (!avec) error->all(FLERR,"Pair lj/cut/coul/msm/dielectric requires atom style dielectric"); + if (!avec) error->all(FLERR, "Pair lj/cut/coul/msm/dielectric requires atom style dielectric"); - int irequest = neighbor->request(this,instance_me); + int irequest = neighbor->request(this, instance_me); neighbor->requests[irequest]->half = 0; neighbor->requests[irequest]->full = 1; @@ -367,13 +365,12 @@ void PairLJCutCoulMSMDielectric::init_style() // insure use of KSpace long-range solver, set g_ewald - if (force->kspace == NULL) - error->all(FLERR,"Pair style requires a KSpace style"); + if (force->kspace == NULL) error->all(FLERR, "Pair style requires a KSpace style"); g_ewald = force->kspace->g_ewald; // setup force tables - if (ncoultablebits) init_tables(cut_coul,cut_respa); + if (ncoultablebits) init_tables(cut_coul, cut_respa); } /* ---------------------------------------------------------------------- */ @@ -381,9 +378,9 @@ void PairLJCutCoulMSMDielectric::init_style() void *PairLJCutCoulMSMDielectric::extract(const char *str, int &dim) { dim = 0; - if (strcmp(str,"cut_coul") == 0) return (void *) &cut_coul; + if (strcmp(str, "cut_coul") == 0) return (void *) &cut_coul; dim = 2; - if (strcmp(str,"epsilon") == 0) return (void *) epsilon; - if (strcmp(str,"sigma") == 0) return (void *) sigma; + if (strcmp(str, "epsilon") == 0) return (void *) epsilon; + if (strcmp(str, "sigma") == 0) return (void *) sigma; return NULL; } diff --git a/src/USER-DIELECTRIC/pair_lj_cut_coul_msm_dielectric.h b/src/USER-DIELECTRIC/pair_lj_cut_coul_msm_dielectric.h index e64409a2cb..3e9e06bbc9 100644 --- a/src/USER-DIELECTRIC/pair_lj_cut_coul_msm_dielectric.h +++ b/src/USER-DIELECTRIC/pair_lj_cut_coul_msm_dielectric.h @@ -36,12 +36,12 @@ class PairLJCutCoulMSMDielectric : public PairLJCutCoulLong { double **efield; protected: - class AtomVecDielectric* avec; + class AtomVecDielectric *avec; int nmax; double **ftmp; }; -} +} // namespace LAMMPS_NS #endif #endif diff --git a/src/USER-DIELECTRIC/pair_lj_long_coul_long_dielectric.cpp b/src/USER-DIELECTRIC/pair_lj_long_coul_long_dielectric.cpp index 09c8de7e71..564a156a04 100644 --- a/src/USER-DIELECTRIC/pair_lj_long_coul_long_dielectric.cpp +++ b/src/USER-DIELECTRIC/pair_lj_long_coul_long_dielectric.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/ Sandia National Laboratories @@ -16,42 +15,42 @@ Contributing author: Trung Nguyen (Northwestern) ------------------------------------------------------------------------- */ -#include -#include -#include -#include -#include "math_vector.h" #include "pair_lj_long_coul_long_dielectric.h" + #include "atom.h" #include "atom_vec_dielectric.h" #include "comm.h" -#include "neighbor.h" +#include "error.h" +#include "force.h" +#include "integrate.h" +#include "kspace.h" +#include "math_const.h" +#include "math_extra.h" +#include "memory.h" #include "neigh_list.h" #include "neigh_request.h" -#include "force.h" -#include "kspace.h" -#include "update.h" -#include "integrate.h" +#include "neighbor.h" #include "respa.h" -#include "math_const.h" -#include "memory.h" -#include "error.h" +#include "update.h" + +#include +#include using namespace LAMMPS_NS; using namespace MathConst; +using namespace MathExtra; -#define EWALD_F 1.12837917 -#define EWALD_P 0.3275911 -#define A1 0.254829592 -#define A2 -0.284496736 -#define A3 1.421413741 -#define A4 -1.453152027 -#define A5 1.061405429 +#define EWALD_F 1.12837917 +#define EWALD_P 0.3275911 +#define A1 0.254829592 +#define A2 -0.284496736 +#define A3 1.421413741 +#define A4 -1.453152027 +#define A5 1.061405429 /* ---------------------------------------------------------------------- */ -PairLJLongCoulLongDielectric::PairLJLongCoulLongDielectric(LAMMPS *lmp) - : PairLJLongCoulLong(lmp) +PairLJLongCoulLongDielectric::PairLJLongCoulLongDielectric(LAMMPS *lmp) : PairLJLongCoulLong(lmp) { respa_enable = 0; cut_respa = NULL; @@ -79,9 +78,9 @@ void PairLJLongCoulLongDielectric::init_style() PairLJLongCoulLongDielectric::init_style(); avec = (AtomVecDielectric *) atom->style_match("dielectric"); - if (!avec) error->all(FLERR,"Pair lj/long/coul/long/dielectric requires atom style dielectric"); + if (!avec) error->all(FLERR, "Pair lj/long/coul/long/dielectric requires atom style dielectric"); - int irequest = neighbor->request(this,instance_me); + int irequest = neighbor->request(this, instance_me); neighbor->requests[irequest]->half = 0; neighbor->requests[irequest]->full = 1; } @@ -92,26 +91,25 @@ void PairLJLongCoulLongDielectric::init_style() void PairLJLongCoulLongDielectric::compute(int eflag, int vflag) { - double evdwl,ecoul,fpair; + double evdwl, ecoul, fpair; evdwl = ecoul = 0.0; - if (eflag || vflag) ev_setup(eflag,vflag); - else evflag = vflag_fdotr = 0; + ev_init(eflag, vflag); if (atom->nmax > nmax) { memory->destroy(efield); memory->destroy(epot); nmax = atom->nmax; - memory->create(efield,nmax,3,"pair:efield"); - memory->create(epot,nmax,"pair:epot"); + memory->create(efield, nmax, 3, "pair:efield"); + memory->create(epot, nmax, "pair:epot"); } double **x = atom->x, *x0 = x[0]; double **f = atom->f, *f0 = f[0], *fi = f0; double *q = atom->q; double *eps = avec->epsilon; - double** norm = avec->mu; - double* curvature = avec->curvature; - double* area = avec->area; + double **norm = avec->mu; + double *curvature = avec->curvature; + double *area = avec->area; int *type = atom->type; int nlocal = atom->nlocal; double *special_coul = force->special_coul; @@ -119,46 +117,51 @@ void PairLJLongCoulLongDielectric::compute(int eflag, int vflag) int newton_pair = force->newton_pair; double qqrd2e = force->qqrd2e; - int i,ii,j,jj,inum,jnum,itype,jtype,itable; - double qtmp,etmp,xtmp,ytmp,ztmp,delx,dely,delz; - int order1 = ewald_order&(1<<1), order6 = ewald_order&(1<<6); + int i, ii, j, jj, inum, jnum, itype, jtype, itable; + double qtmp, etmp, xtmp, ytmp, ztmp, delx, dely, delz; + int order1 = ewald_order & (1 << 1), order6 = ewald_order & (1 << 6); int *ineigh, *ineighn, *jneigh, *jneighn, typei, typej, ni; double qi = 0.0, qri = 0.0; - double fpair_i,fpair_j; - double fraction,table; + double fpair_i, fpair_j; + double fraction, table; double *cutsqi, *cut_ljsqi, *lj1i, *lj2i, *lj3i, *lj4i, *offseti; - double grij,expm2,prefactor,t,erfc,prefactorE,efield_i,epot_i; - double r,rsq,r2inv,force_coul,force_lj,factor_coul,factor_lj; - double g2 = g_ewald_6*g_ewald_6, g6 = g2*g2*g2, g8 = g6*g2; - vector xi, d; + double grij, expm2, prefactor, t, erfc, prefactorE, efield_i, epot_i; + double r, rsq, r2inv, force_coul, force_lj, factor_coul, factor_lj; + double g2 = g_ewald_6 * g_ewald_6, g6 = g2 * g2 * g2, g8 = g6 * g2; + double xi[3], d[3]; - ineighn = (ineigh = list->ilist)+list->inum; + ineighn = (ineigh = list->ilist) + list->inum; - for (; ineighfirstneigh[i])+list->numneigh[i]; + lj1i = lj1[typei]; + lj2i = lj2[typei]; + lj3i = lj3[typei]; + lj4i = lj4[typei]; + cutsqi = cutsq[typei]; + cut_ljsqi = cut_ljsq[typei]; + memcpy(xi, x0 + (i + (i << 1)), 3 * sizeof(double)); + jneighn = (jneigh = list->firstneigh[i]) + list->numneigh[i]; // self term Eq. (55) for I_{ii} and Eq. (52) and in Barros et al double curvature_threshold = sqrt(area[i]); if (curvature[i] < curvature_threshold) { - double sf = curvature[i]/(4.0*MY_PIS*curvature_threshold) * area[i]*q[i]; - efield[i][0] = sf*norm[i][0]; - efield[i][1] = sf*norm[i][1]; - efield[i][2] = sf*norm[i][2]; + double sf = curvature[i] / (4.0 * MY_PIS * curvature_threshold) * area[i] * q[i]; + efield[i][0] = sf * norm[i][0]; + efield[i][1] = sf * norm[i][1]; + efield[i][2] = sf * norm[i][2]; } else { efield[i][0] = efield[i][1] = efield[i][2] = 0; } epot[i] = 0; - for (; jneigh= cutsq[typei][typej]) continue; - r2inv = 1.0/rsq; + r2inv = 1.0 / rsq; r = sqrt(rsq); - if (order1 && (rsq < cut_coulsq)) { // coulombic + if (order1 && (rsq < cut_coulsq)) { // coulombic if (!ncoultablebits || rsq <= tabinnersq) { grij = g_ewald * r; - expm2 = exp(-grij*grij); - t = 1.0 / (1.0 + EWALD_P*grij); - erfc = t * (A1+t*(A2+t*(A3+t*(A4+t*A5)))) * expm2; - prefactor = qqrd2e * qtmp*q[j]/r; - force_coul = prefactor * (erfc + EWALD_F*grij*expm2); - if (factor_coul < 1.0) force_coul -= (1.0-factor_coul)*prefactor; + expm2 = exp(-grij * grij); + t = 1.0 / (1.0 + EWALD_P * grij); + erfc = t * (A1 + t * (A2 + t * (A3 + t * (A4 + t * A5)))) * expm2; + prefactor = qqrd2e * qtmp * q[j] / r; + force_coul = prefactor * (erfc + EWALD_F * grij * expm2); + if (factor_coul < 1.0) force_coul -= (1.0 - factor_coul) * prefactor; - prefactorE = q[j]/r; - efield_i = prefactorE * (erfc + EWALD_F*grij*expm2); - if (factor_coul < 1.0) efield_i -= (1.0-factor_coul)*prefactorE; + prefactorE = q[j] / r; + efield_i = prefactorE * (erfc + EWALD_F * grij * expm2); + if (factor_coul < 1.0) efield_i -= (1.0 - factor_coul) * prefactorE; epot_i = efield_i; } else { union_int_float_t rsq_lookup; @@ -197,111 +200,113 @@ void PairLJLongCoulLongDielectric::compute(int eflag, int vflag) itable = rsq_lookup.i & ncoulmask; itable >>= ncoulshiftbits; fraction = (rsq_lookup.f - rtable[itable]) * drtable[itable]; - table = ftable[itable] + fraction*dftable[itable]; - force_coul = qtmp*q[j] * table; - efield_i = q[j] * table/qqrd2e; + table = ftable[itable] + fraction * dftable[itable]; + force_coul = qtmp * q[j] * table; + efield_i = q[j] * table / qqrd2e; if (factor_coul < 1.0) { - table = ctable[itable] + fraction*dctable[itable]; - prefactor = qtmp*q[j] * table; - force_coul -= (1.0-factor_coul)*prefactor; + table = ctable[itable] + fraction * dctable[itable]; + prefactor = qtmp * q[j] * table; + force_coul -= (1.0 - factor_coul) * prefactor; - prefactorE = q[j] * table/qqrd2e; - efield_i -= (1.0-factor_coul)*prefactorE; + prefactorE = q[j] * table / qqrd2e; + efield_i -= (1.0 - factor_coul) * prefactorE; } epot_i = efield_i; } - } - else epot_i = efield_i = force_coul = ecoul = 0.0; + } else + epot_i = efield_i = force_coul = ecoul = 0.0; - if (rsq < cut_ljsqi[typej]) { // lj + if (rsq < cut_ljsqi[typej]) { // lj if (order6) { // long-range lj - if(!ndisptablebits || rsq <= tabinnerdispsq) { // series real space - double rn = r2inv*r2inv*r2inv; - double x2 = g2*rsq, a2 = 1.0/x2; - x2 = a2*exp(-x2)*lj4i[typej]; + if (!ndisptablebits || rsq <= tabinnerdispsq) { // series real space + double rn = r2inv * r2inv * r2inv; + double x2 = g2 * rsq, a2 = 1.0 / x2; + x2 = a2 * exp(-x2) * lj4i[typej]; if (ni == 0) { - force_lj = - (rn*=rn)*lj1i[typej]-g8*(((6.0*a2+6.0)*a2+3.0)*a2+1.0)*x2*rsq; + force_lj = (rn *= rn) * lj1i[typej] - + g8 * (((6.0 * a2 + 6.0) * a2 + 3.0) * a2 + 1.0) * x2 * rsq; + if (eflag) evdwl = rn * lj3i[typej] - g6 * ((a2 + 1.0) * a2 + 0.5) * x2; + } else { // special case + double f = special_lj[ni], t = rn * (1.0 - f); + force_lj = f * (rn *= rn) * lj1i[typej] - + g8 * (((6.0 * a2 + 6.0) * a2 + 3.0) * a2 + 1.0) * x2 * rsq + t * lj2i[typej]; if (eflag) - evdwl = rn*lj3i[typej]-g6*((a2+1.0)*a2+0.5)*x2; + evdwl = f * rn * lj3i[typej] - g6 * ((a2 + 1.0) * a2 + 0.5) * x2 + t * lj4i[typej]; } - else { // special case - double f = special_lj[ni], t = rn*(1.0-f); - force_lj = f*(rn *= rn)*lj1i[typej]- - g8*(((6.0*a2+6.0)*a2+3.0)*a2+1.0)*x2*rsq+t*lj2i[typej]; - if (eflag) - evdwl = f*rn*lj3i[typej]-g6*((a2+1.0)*a2+0.5)*x2+t*lj4i[typej]; - } - } - else { // table real space + } else { // table real space union_int_float_t disp_t; disp_t.f = rsq; - const int disp_k = (disp_t.i & ndispmask)>>ndispshiftbits; - double f_disp = (rsq-rdisptable[disp_k])*drdisptable[disp_k]; - double rn = r2inv*r2inv*r2inv; + const int disp_k = (disp_t.i & ndispmask) >> ndispshiftbits; + double f_disp = (rsq - rdisptable[disp_k]) * drdisptable[disp_k]; + double rn = r2inv * r2inv * r2inv; if (ni == 0) { - force_lj = (rn*=rn)*lj1i[typej]-(fdisptable[disp_k]+f_disp*dfdisptable[disp_k])*lj4i[typej]; - if (eflag) evdwl = rn*lj3i[typej]-(edisptable[disp_k]+f_disp*dedisptable[disp_k])*lj4i[typej]; - } - else { // special case - double f = special_lj[ni], t = rn*(1.0-f); - force_lj = f*(rn *= rn)*lj1i[typej]-(fdisptable[disp_k]+f_disp*dfdisptable[disp_k])*lj4i[typej]+t*lj2i[typej]; - if (eflag) evdwl = f*rn*lj3i[typej]-(edisptable[disp_k]+f_disp*dedisptable[disp_k])*lj4i[typej]+t*lj4i[typej]; + force_lj = (rn *= rn) * lj1i[typej] - + (fdisptable[disp_k] + f_disp * dfdisptable[disp_k]) * lj4i[typej]; + if (eflag) + evdwl = rn * lj3i[typej] - + (edisptable[disp_k] + f_disp * dedisptable[disp_k]) * lj4i[typej]; + } else { // special case + double f = special_lj[ni], t = rn * (1.0 - f); + force_lj = f * (rn *= rn) * lj1i[typej] - + (fdisptable[disp_k] + f_disp * dfdisptable[disp_k]) * lj4i[typej] + + t * lj2i[typej]; + if (eflag) + evdwl = f * rn * lj3i[typej] - + (edisptable[disp_k] + f_disp * dedisptable[disp_k]) * lj4i[typej] + + t * lj4i[typej]; } } - } - else { // cut lj - double rn = r2inv*r2inv*r2inv; + } else { // cut lj + double rn = r2inv * r2inv * r2inv; if (ni == 0) { - force_lj = rn*(rn*lj1i[typej]-lj2i[typej]); - if (eflag) evdwl = rn*(rn*lj3i[typej]-lj4i[typej])-offseti[typej]; - } - else { // special case + force_lj = rn * (rn * lj1i[typej] - lj2i[typej]); + if (eflag) evdwl = rn * (rn * lj3i[typej] - lj4i[typej]) - offseti[typej]; + } else { // special case double f = special_lj[ni]; - force_lj = f*rn*(rn*lj1i[typej]-lj2i[typej]); - if (eflag) - evdwl = f * (rn*(rn*lj3i[typej]-lj4i[typej])-offseti[typej]); + force_lj = f * rn * (rn * lj1i[typej] - lj2i[typej]); + if (eflag) evdwl = f * (rn * (rn * lj3i[typej] - lj4i[typej]) - offseti[typej]); } } } - else force_lj = evdwl = 0.0; + else + force_lj = evdwl = 0.0; - fpair = (force_coul*etmp+force_lj)*r2inv; - f[i][0] += delx*fpair_i; - f[i][1] += dely*fpair_i; - f[i][2] += delz*fpair_i; + fpair = (force_coul * etmp + force_lj) * r2inv; + f[i][0] += delx * fpair_i; + f[i][1] += dely * fpair_i; + f[i][2] += delz * fpair_i; - efield_i *= (etmp*r2inv); - efield[i][0] += delx*efield_i; - efield[i][1] += dely*efield_i; - efield[i][2] += delz*efield_i; + efield_i *= (etmp * r2inv); + efield[i][0] += delx * efield_i; + efield[i][1] += dely * efield_i; + efield[i][2] += delz * efield_i; epot[i] += epot_i; if (newton_pair && j >= nlocal) { - fpair_j = (force_coul*eps[j] + factor_lj*force_lj) * r2inv; - f[j][0] -= delx*fpair_j; - f[j][1] -= dely*fpair_j; - f[j][2] -= delz*fpair_j; + fpair_j = (force_coul * eps[j] + factor_lj * force_lj) * r2inv; + f[j][0] -= delx * fpair_j; + f[j][1] -= dely * fpair_j; + f[j][2] -= delz * fpair_j; } if (eflag) { if (rsq < cut_coulsq) { if (!ncoultablebits || rsq <= tabinnersq) - ecoul = prefactor*(etmp+eps[j])*erfc; + ecoul = prefactor * (etmp + eps[j]) * erfc; else { - table = etable[itable] + fraction*detable[itable]; - ecoul = qtmp*q[j]*(etmp+eps[j]) * table; + table = etable[itable] + fraction * detable[itable]; + ecoul = qtmp * q[j] * (etmp + eps[j]) * table; } ecoul *= 0.5; - if (factor_coul < 1.0) ecoul -= (1.0-factor_coul)*prefactor; - } else ecoul = 0.0; - + if (factor_coul < 1.0) ecoul -= (1.0 - factor_coul) * prefactor; + } else + ecoul = 0.0; } - if (evflag) ev_tally_full(i,evdwl,ecoul,fpair_i,delx,dely,delz); + if (evflag) ev_tally_full(i, evdwl, ecoul, fpair_i, delx, dely, delz); } } @@ -310,57 +315,61 @@ void PairLJLongCoulLongDielectric::compute(int eflag, int vflag) /* ---------------------------------------------------------------------- */ -double PairLJLongCoulLongDielectric::single(int i, int j, int itype, int jtype, - double rsq, double factor_coul, double factor_lj, - double &fforce) +double PairLJLongCoulLongDielectric::single(int i, int j, int itype, int jtype, double rsq, + double factor_coul, double factor_lj, double &fforce) { double r2inv, r6inv, force_coul, force_lj, ei, ej; - double g2 = g_ewald_6*g_ewald_6, g6 = g2*g2*g2, g8 = g6*g2, *q = atom->q; + double g2 = g_ewald_6 * g_ewald_6, g6 = g2 * g2 * g2, g8 = g6 * g2, *q = atom->q; double *eps = avec->epsilon; double eng = 0.0; - if (eps[i] == 1) ei = 0; - else ei = eps[i]; - if (eps[j] == 1) ej = 0; - else ej = eps[j]; + if (eps[i] == 1) + ei = 0; + else + ei = eps[i]; + if (eps[j] == 1) + ej = 0; + else + ej = eps[j]; - r2inv = 1.0/rsq; - if ((ewald_order&2) && (rsq < cut_coulsq)) { // coulombic - if (!ncoultablebits || rsq <= tabinnersq) { // series real space - double r = sqrt(rsq), x = g_ewald*r; - double s = force->qqrd2e*q[i]*q[j], t = 1.0/(1.0+EWALD_P*x); - r = s*(1.0-factor_coul)/r; s *= g_ewald*exp(-x*x); - force_coul = (t *= ((((t*A5+A4)*t+A3)*t+A2)*t+A1)*s/x)+EWALD_F*s-r; - eng += (t-r)*(ei+ej)*0.5; - } - else { // table real space + r2inv = 1.0 / rsq; + if ((ewald_order & 2) && (rsq < cut_coulsq)) { // coulombic + if (!ncoultablebits || rsq <= tabinnersq) { // series real space + double r = sqrt(rsq), x = g_ewald * r; + double s = force->qqrd2e * q[i] * q[j], t = 1.0 / (1.0 + EWALD_P * x); + r = s * (1.0 - factor_coul) / r; + s *= g_ewald * exp(-x * x); + force_coul = (t *= ((((t * A5 + A4) * t + A3) * t + A2) * t + A1) * s / x) + EWALD_F * s - r; + eng += (t - r) * (ei + ej) * 0.5; + } else { // table real space union_int_float_t t; t.f = rsq; const int k = (t.i & ncoulmask) >> ncoulshiftbits; - double f = (rsq-rtable[k])*drtable[k], qiqj = q[i]*q[j]; - t.f = (1.0-factor_coul)*(ctable[k]+f*dctable[k]); - force_coul = qiqj*(ftable[k]+f*dftable[k]-t.f); - eng += qiqj*(etable[k]+f*detable[k]-t.f)*(ei+ej)*0.5; + double f = (rsq - rtable[k]) * drtable[k], qiqj = q[i] * q[j]; + t.f = (1.0 - factor_coul) * (ctable[k] + f * dctable[k]); + force_coul = qiqj * (ftable[k] + f * dftable[k] - t.f); + eng += qiqj * (etable[k] + f * detable[k] - t.f) * (ei + ej) * 0.5; } - } else force_coul = 0.0; + } else + force_coul = 0.0; - if (rsq < cut_ljsq[itype][jtype]) { // lennard-jones - r6inv = r2inv*r2inv*r2inv; - if (ewald_order&64) { // long-range - double x2 = g2*rsq, a2 = 1.0/x2, t = r6inv*(1.0-factor_lj); - x2 = a2*exp(-x2)*lj4[itype][jtype]; - force_lj = factor_lj*(r6inv *= r6inv)*lj1[itype][jtype]- - g8*(((6.0*a2+6.0)*a2+3.0)*a2+a2)*x2*rsq+t*lj2[itype][jtype]; - eng += factor_lj*r6inv*lj3[itype][jtype]- - g6*((a2+1.0)*a2+0.5)*x2+t*lj4[itype][jtype]; + if (rsq < cut_ljsq[itype][jtype]) { // lennard-jones + r6inv = r2inv * r2inv * r2inv; + if (ewald_order & 64) { // long-range + double x2 = g2 * rsq, a2 = 1.0 / x2, t = r6inv * (1.0 - factor_lj); + x2 = a2 * exp(-x2) * lj4[itype][jtype]; + force_lj = factor_lj * (r6inv *= r6inv) * lj1[itype][jtype] - + g8 * (((6.0 * a2 + 6.0) * a2 + 3.0) * a2 + a2) * x2 * rsq + t * lj2[itype][jtype]; + eng += factor_lj * r6inv * lj3[itype][jtype] - g6 * ((a2 + 1.0) * a2 + 0.5) * x2 + + t * lj4[itype][jtype]; + } else { // cut + force_lj = factor_lj * r6inv * (lj1[itype][jtype] * r6inv - lj2[itype][jtype]); + eng += factor_lj * + (r6inv * (r6inv * lj3[itype][jtype] - lj4[itype][jtype]) - offset[itype][jtype]); } - else { // cut - force_lj = factor_lj*r6inv*(lj1[itype][jtype]*r6inv-lj2[itype][jtype]); - eng += factor_lj*(r6inv*(r6inv*lj3[itype][jtype]- - lj4[itype][jtype])-offset[itype][jtype]); - } - } else force_lj = 0.0; + } else + force_lj = 0.0; - fforce = (force_coul*eps[i]+force_lj)*r2inv; + fforce = (force_coul * eps[i] + force_lj) * r2inv; return eng; } diff --git a/src/USER-DIELECTRIC/pair_lj_long_coul_long_dielectric.h b/src/USER-DIELECTRIC/pair_lj_long_coul_long_dielectric.h index 0ec3321df4..83ba66a9a0 100644 --- a/src/USER-DIELECTRIC/pair_lj_long_coul_long_dielectric.h +++ b/src/USER-DIELECTRIC/pair_lj_long_coul_long_dielectric.h @@ -32,15 +32,15 @@ class PairLJLongCoulLongDielectric : public PairLJLongCoulLong { void init_style(); double single(int, int, int, int, double, double, double, double &); - double** efield; - double* epot; + double **efield; + double *epot; protected: - class AtomVecDielectric* avec; + class AtomVecDielectric *avec; int nmax; }; -} +} // namespace LAMMPS_NS #endif #endif diff --git a/src/USER-DIELECTRIC/pppm_dielectric.cpp b/src/USER-DIELECTRIC/pppm_dielectric.cpp index 6d0f3f33b5..7fdb0b76c4 100644 --- a/src/USER-DIELECTRIC/pppm_dielectric.cpp +++ b/src/USER-DIELECTRIC/pppm_dielectric.cpp @@ -34,7 +34,6 @@ #include "remap_wrap.h" #include -//#include using namespace LAMMPS_NS; using namespace MathConst; diff --git a/src/USER-DIELECTRIC/pppm_dielectric.h b/src/USER-DIELECTRIC/pppm_dielectric.h index 24eb180c5f..7ea6a831eb 100644 --- a/src/USER-DIELECTRIC/pppm_dielectric.h +++ b/src/USER-DIELECTRIC/pppm_dielectric.h @@ -30,9 +30,9 @@ class PPPMDielectric : public PPPM { virtual ~PPPMDielectric(); virtual void compute(int, int); - double** efield; - double* phi; - int potflag; // 1/0 if per-atom electrostatic potential phi is needed + double **efield; + double *phi; + int potflag; // 1/0 if per-atom electrostatic potential phi is needed void qsum_qsq(); @@ -42,11 +42,10 @@ class PPPMDielectric : public PPPM { void fieldforce_ik(); void fieldforce_ad(); - class AtomVecDielectric* avec; - + class AtomVecDielectric *avec; }; -} +} // namespace LAMMPS_NS #endif #endif diff --git a/src/USER-OMP/pair_lj_cut_coul_cut_dielectric_omp.cpp b/src/USER-OMP/pair_lj_cut_coul_cut_dielectric_omp.cpp index a056ae86c9..22ae388236 100644 --- a/src/USER-OMP/pair_lj_cut_coul_cut_dielectric_omp.cpp +++ b/src/USER-OMP/pair_lj_cut_coul_cut_dielectric_omp.cpp @@ -19,16 +19,17 @@ #include "atom.h" #include "comm.h" +#include "error.h" #include "force.h" -#include "neighbor.h" -#include "neigh_list.h" -#include "neigh_request.h" #include "math_const.h" #include "memory.h" -#include "error.h" +#include "neigh_list.h" +#include "neigh_request.h" +#include "neighbor.h" #include +#include "omp_compat.h" using namespace LAMMPS_NS; using namespace MathConst; @@ -37,31 +38,26 @@ using namespace MathConst; /* ---------------------------------------------------------------------- */ PairLJCutCoulCutDielectricOMP::PairLJCutCoulCutDielectricOMP(LAMMPS *lmp) : - PairLJCutCoulCutDielectric(lmp), ThrOMP(lmp, THR_PAIR) + PairLJCutCoulCutDielectric(lmp), ThrOMP(lmp, THR_PAIR) { - } /* ---------------------------------------------------------------------- */ -PairLJCutCoulCutDielectricOMP::~PairLJCutCoulCutDielectricOMP() -{ -} +PairLJCutCoulCutDielectricOMP::~PairLJCutCoulCutDielectricOMP() {} /* ---------------------------------------------------------------------- */ void PairLJCutCoulCutDielectricOMP::compute(int eflag, int vflag) { - if (eflag || vflag) { - ev_setup(eflag,vflag); - } else evflag = vflag_fdotr = 0; + ev_init(eflag, vflag); if (atom->nmax > nmax) { memory->destroy(efield); memory->destroy(epot); nmax = atom->nmax; - memory->create(efield,nmax,3,"pair:efield"); - memory->create(epot,nmax,"pair:epot"); + memory->create(efield, nmax, 3, "pair:efield"); + memory->create(epot, nmax, "pair:epot"); } const int nall = atom->nlocal + atom->nghost; @@ -69,7 +65,7 @@ void PairLJCutCoulCutDielectricOMP::compute(int eflag, int vflag) const int inum = list->inum; #if defined(_OPENMP) -#pragma omp parallel default(none) shared(eflag,vflag) +#pragma omp parallel LMP_DEFAULT_NONE LMP_SHARED(eflag, vflag) #endif { int ifrom, ito, tid; @@ -81,49 +77,55 @@ void PairLJCutCoulCutDielectricOMP::compute(int eflag, int vflag) if (evflag) { if (eflag) { - if (force->newton_pair) eval<1,1,1>(ifrom, ito, thr); - else eval<1,1,0>(ifrom, ito, thr); + if (force->newton_pair) + eval<1, 1, 1>(ifrom, ito, thr); + else + eval<1, 1, 0>(ifrom, ito, thr); } else { - if (force->newton_pair) eval<1,0,1>(ifrom, ito, thr); - else eval<1,0,0>(ifrom, ito, thr); + if (force->newton_pair) + eval<1, 0, 1>(ifrom, ito, thr); + else + eval<1, 0, 0>(ifrom, ito, thr); } } else { - if (force->newton_pair) eval<0,0,1>(ifrom, ito, thr); - else eval<0,0,0>(ifrom, ito, thr); + if (force->newton_pair) + eval<0, 0, 1>(ifrom, ito, thr); + else + eval<0, 0, 0>(ifrom, ito, thr); } thr->timer(Timer::PAIR); reduce_thr(this, eflag, vflag, thr); - } // end of omp parallel region + } // end of omp parallel region } /* ---------------------------------------------------------------------- */ template -void PairLJCutCoulCutDielectricOMP::eval(int iifrom, int iito, ThrData * const thr) +void PairLJCutCoulCutDielectricOMP::eval(int iifrom, int iito, ThrData *const thr) { - int i,j,ii,jj,jnum,itype,jtype,itable; - double qtmp,etmp,xtmp,ytmp,ztmp,delx,dely,delz,evdwl,ecoul,fpair; - double fpair_i,fpair_j; - double r,rsq,r2inv,r6inv,forcecoul,forcelj,factor_coul,factor_lj; - double grij,expm2,prefactor,t,erfc,prefactorE,efield_i,epot_i; - int *ilist,*jlist,*numneigh,**firstneigh; + int i, j, ii, jj, jnum, itype, jtype, itable; + double qtmp, etmp, xtmp, ytmp, ztmp, delx, dely, delz, evdwl, ecoul, fpair; + double fpair_i, fpair_j; + double r, rsq, r2inv, r6inv, forcecoul, forcelj, factor_coul, factor_lj; + double grij, expm2, prefactor, t, erfc, prefactorE, efield_i, epot_i; + int *ilist, *jlist, *numneigh, **firstneigh; evdwl = ecoul = 0.0; - const dbl3_t * _noalias const x = (dbl3_t *) atom->x[0]; - dbl3_t * _noalias const f = (dbl3_t *) thr->get_f()[0]; - const double * _noalias const q = atom->q; - const double * _noalias const eps = atom->epsilon; - const dbl3_t * _noalias const norm = (dbl3_t *) atom->mu[0]; - const double * _noalias const curvature = atom->curvature; - const double * _noalias const area = atom->area; - const int * _noalias const type = atom->type; + const dbl3_t *_noalias const x = (dbl3_t *) atom->x[0]; + dbl3_t *_noalias const f = (dbl3_t *) thr->get_f()[0]; + const double *_noalias const q = atom->q; + const double *_noalias const eps = atom->epsilon; + const dbl3_t *_noalias const norm = (dbl3_t *) atom->mu[0]; + const double *_noalias const curvature = atom->curvature; + const double *_noalias const area = atom->area; + const int *_noalias const type = atom->type; const int nlocal = atom->nlocal; - const double * _noalias const special_coul = force->special_coul; - const double * _noalias const special_lj = force->special_lj; + const double *_noalias const special_coul = force->special_coul; + const double *_noalias const special_lj = force->special_lj; const double qqrd2e = force->qqrd2e; - double fxtmp,fytmp,fztmp,extmp,eytmp,eztmp; + double fxtmp, fytmp, fztmp, extmp, eytmp, eztmp; ilist = list->ilist; numneigh = list->numneigh; @@ -142,16 +144,16 @@ void PairLJCutCoulCutDielectricOMP::eval(int iifrom, int iito, ThrData * const t itype = type[i]; jlist = firstneigh[i]; jnum = numneigh[i]; - fxtmp=fytmp=fztmp=0.0; - extmp=eytmp=eztmp=0.0; + fxtmp = fytmp = fztmp = 0.0; + extmp = eytmp = eztmp = 0.0; // self term Eq. (55) for I_{ii} and Eq. (52) and in Barros et al double curvature_threshold = sqrt(area[i]); if (curvature[i] < curvature_threshold) { - double sf = curvature[i]/(4.0*MY_PIS*curvature_threshold) * area[i]*q[i]; - efield[i][0] = sf*norm[i].x; - efield[i][1] = sf*norm[i].y; - efield[i][2] = sf*norm[i].z; + double sf = curvature[i] / (4.0 * MY_PIS * curvature_threshold) * area[i] * q[i]; + efield[i][0] = sf * norm[i].x; + efield[i][1] = sf * norm[i].y; + efield[i][2] = sf * norm[i].z; } else { efield[i][0] = efield[i][1] = efield[i][2] = 0; } @@ -167,56 +169,59 @@ void PairLJCutCoulCutDielectricOMP::eval(int iifrom, int iito, ThrData * const t delx = xtmp - x[j].x; dely = ytmp - x[j].y; delz = ztmp - x[j].z; - rsq = delx*delx + dely*dely + delz*delz; + rsq = delx * delx + dely * dely + delz * delz; jtype = type[j]; if (rsq < cutsq[itype][jtype]) { - r2inv = 1.0/rsq; + r2inv = 1.0 / rsq; if (rsq < cut_coulsq[itype][jtype] && rsq > EPSILON) { - efield_i = q[j]*sqrt(r2inv); - forcecoul = qqrd2e * qtmp*efield_i; + efield_i = q[j] * sqrt(r2inv); + forcecoul = qqrd2e * qtmp * efield_i; epot_i = efield_i; - } else epot_i = efield_i = forcecoul = 0.0; + } else + epot_i = efield_i = forcecoul = 0.0; if (rsq < cut_ljsq[itype][jtype]) { - r6inv = r2inv*r2inv*r2inv; - forcelj = r6inv * (lj1[itype][jtype]*r6inv - lj2[itype][jtype]); - } else forcelj = 0.0; + r6inv = r2inv * r2inv * r2inv; + forcelj = r6inv * (lj1[itype][jtype] * r6inv - lj2[itype][jtype]); + } else + forcelj = 0.0; - fpair_i = (factor_coul*etmp*forcecoul + factor_lj*forcelj) * r2inv; + fpair_i = (factor_coul * etmp * forcecoul + factor_lj * forcelj) * r2inv; - fxtmp += delx*fpair_i; - fytmp += dely*fpair_i; - fztmp += delz*fpair_i; + fxtmp += delx * fpair_i; + fytmp += dely * fpair_i; + fztmp += delz * fpair_i; - efield_i *= (factor_coul*etmp*r2inv); - extmp += delx*efield_i; - eytmp += dely*efield_i; - eztmp += delz*efield_i; + efield_i *= (factor_coul * etmp * r2inv); + extmp += delx * efield_i; + eytmp += dely * efield_i; + eztmp += delz * efield_i; epot[i] += epot_i; if (NEWTON_PAIR || j >= nlocal) { - fpair_j = (factor_coul*eps[j]*forcecoul + factor_lj*forcelj) * r2inv; - f[j].x -= delx*fpair_j; - f[j].y -= dely*fpair_j; - f[j].z -= delz*fpair_j; + fpair_j = (factor_coul * eps[j] * forcecoul + factor_lj * forcelj) * r2inv; + f[j].x -= delx * fpair_j; + f[j].y -= dely * fpair_j; + f[j].z -= delz * fpair_j; } if (EFLAG) { if (rsq < cut_coulsq[itype][jtype]) { - ecoul = factor_coul * qqrd2e * qtmp*q[j]*(etmp+eps[j])*sqrt(r2inv); - } else ecoul = 0.0; + ecoul = factor_coul * qqrd2e * qtmp * q[j] * (etmp + eps[j]) * sqrt(r2inv); + } else + ecoul = 0.0; ecoul *= 0.5; if (rsq < cut_ljsq[itype][jtype]) { - evdwl = r6inv*(lj3[itype][jtype]*r6inv-lj4[itype][jtype]) - - offset[itype][jtype]; + evdwl = r6inv * (lj3[itype][jtype] * r6inv - lj4[itype][jtype]) - offset[itype][jtype]; evdwl *= factor_lj; - } else evdwl = 0.0; + } else + evdwl = 0.0; } - if (EVFLAG) ev_tally_thr(this, i,j,nlocal,NEWTON_PAIR, - evdwl,ecoul,fpair,delx,dely,delz,thr); + if (EVFLAG) + ev_tally_thr(this, i, j, nlocal, NEWTON_PAIR, evdwl, ecoul, fpair, delx, dely, delz, thr); } } f[i].x += fxtmp; @@ -227,4 +232,3 @@ void PairLJCutCoulCutDielectricOMP::eval(int iifrom, int iito, ThrData * const t efield[i][2] += eztmp; } } - diff --git a/src/USER-OMP/pair_lj_cut_coul_long_dielectric_omp.cpp b/src/USER-OMP/pair_lj_cut_coul_long_dielectric_omp.cpp index 39149e692f..6aa79e18a5 100644 --- a/src/USER-OMP/pair_lj_cut_coul_long_dielectric_omp.cpp +++ b/src/USER-OMP/pair_lj_cut_coul_long_dielectric_omp.cpp @@ -20,9 +20,9 @@ #include "atom.h" #include "comm.h" #include "force.h" -#include "neigh_list.h" #include "math_const.h" #include "memory.h" +#include "neigh_list.h" #include @@ -30,41 +30,37 @@ using namespace LAMMPS_NS; using namespace MathConst; -#define EWALD_F 1.12837917 -#define EWALD_P 0.3275911 -#define A1 0.254829592 -#define A2 -0.284496736 -#define A3 1.421413741 -#define A4 -1.453152027 -#define A5 1.061405429 +#define EWALD_F 1.12837917 +#define EWALD_P 0.3275911 +#define A1 0.254829592 +#define A2 -0.284496736 +#define A3 1.421413741 +#define A4 -1.453152027 +#define A5 1.061405429 /* ---------------------------------------------------------------------- */ PairLJCutCoulLongDielectricOMP::PairLJCutCoulLongDielectricOMP(LAMMPS *lmp) : - PairLJCutCoulLongDielectric(lmp), ThrOMP(lmp, THR_PAIR) + PairLJCutCoulLongDielectric(lmp), ThrOMP(lmp, THR_PAIR) { } /* ---------------------------------------------------------------------- */ -PairLJCutCoulLongDielectricOMP::~PairLJCutCoulLongDielectricOMP() -{ -} +PairLJCutCoulLongDielectricOMP::~PairLJCutCoulLongDielectricOMP() {} /* ---------------------------------------------------------------------- */ void PairLJCutCoulLongDielectricOMP::compute(int eflag, int vflag) { - if (eflag || vflag) { - ev_setup(eflag,vflag); - } else evflag = vflag_fdotr = 0; + ev_init(eflag, vflag); if (atom->nmax > nmax) { memory->destroy(efield); memory->destroy(epot); nmax = atom->nmax; - memory->create(efield,nmax,3,"pair:efield"); - memory->create(epot,nmax,"pair:epot"); + memory->create(efield, nmax, 3, "pair:efield"); + memory->create(epot, nmax, "pair:epot"); } const int nall = atom->nlocal + atom->nghost; @@ -72,7 +68,7 @@ void PairLJCutCoulLongDielectricOMP::compute(int eflag, int vflag) const int inum = list->inum; #if defined(_OPENMP) -#pragma omp parallel default(none) shared(eflag,vflag) +#pragma omp parallel LMP_DEFAULT_NONE LMP_SHARED(eflag, vflag) #endif { int ifrom, ito, tid; @@ -84,50 +80,55 @@ void PairLJCutCoulLongDielectricOMP::compute(int eflag, int vflag) if (evflag) { if (eflag) { - if (force->newton_pair) eval<1,1,1>(ifrom, ito, thr); - else eval<1,1,0>(ifrom, ito, thr); + if (force->newton_pair) + eval<1, 1, 1>(ifrom, ito, thr); + else + eval<1, 1, 0>(ifrom, ito, thr); } else { - if (force->newton_pair) eval<1,0,1>(ifrom, ito, thr); - else eval<1,0,0>(ifrom, ito, thr); + if (force->newton_pair) + eval<1, 0, 1>(ifrom, ito, thr); + else + eval<1, 0, 0>(ifrom, ito, thr); } } else { - if (force->newton_pair) eval<0,0,1>(ifrom, ito, thr); - else eval<0,0,0>(ifrom, ito, thr); + if (force->newton_pair) + eval<0, 0, 1>(ifrom, ito, thr); + else + eval<0, 0, 0>(ifrom, ito, thr); } thr->timer(Timer::PAIR); reduce_thr(this, eflag, vflag, thr); - } // end of omp parallel region + } // end of omp parallel region } /* ---------------------------------------------------------------------- */ template -void PairLJCutCoulLongDielectricOMP::eval(int iifrom, int iito, ThrData * const thr) +void PairLJCutCoulLongDielectricOMP::eval(int iifrom, int iito, ThrData *const thr) { - int i,j,ii,jj,jnum,itype,jtype,itable; - double qtmp,etmp,xtmp,ytmp,ztmp,delx,dely,delz,evdwl,ecoul,fpair; - double fraction,table; - double r,rsq,r2inv,r6inv,forcecoul,forcelj,factor_coul,factor_lj; - double grij,expm2,prefactor,t,erfc,prefactorE,efield_i,epot_i; - int *ilist,*jlist,*numneigh,**firstneigh; + int i, j, ii, jj, jnum, itype, jtype, itable; + double qtmp, etmp, xtmp, ytmp, ztmp, delx, dely, delz, evdwl, ecoul, fpair; + double fraction, table; + double r, rsq, r2inv, r6inv, forcecoul, forcelj, factor_coul, factor_lj; + double grij, expm2, prefactor, t, erfc, prefactorE, efield_i, epot_i; + int *ilist, *jlist, *numneigh, **firstneigh; evdwl = ecoul = 0.0; - const dbl3_t * _noalias const x = (dbl3_t *) atom->x[0]; - dbl3_t * _noalias const f = (dbl3_t *) thr->get_f()[0]; - const double * _noalias const q = atom->q; - const double * _noalias const eps = atom->epsilon; - const dbl3_t * _noalias const norm = (dbl3_t *) atom->mu[0]; - const double * _noalias const curvature = atom->curvature; - const double * _noalias const area = atom->area; - const int * _noalias const type = atom->type; + const dbl3_t *_noalias const x = (dbl3_t *) atom->x[0]; + dbl3_t *_noalias const f = (dbl3_t *) thr->get_f()[0]; + const double *_noalias const q = atom->q; + const double *_noalias const eps = atom->epsilon; + const dbl3_t *_noalias const norm = (dbl3_t *) atom->mu[0]; + const double *_noalias const curvature = atom->curvature; + const double *_noalias const area = atom->area; + const int *_noalias const type = atom->type; const int nlocal = atom->nlocal; - const double * _noalias const special_coul = force->special_coul; - const double * _noalias const special_lj = force->special_lj; + const double *_noalias const special_coul = force->special_coul; + const double *_noalias const special_lj = force->special_lj; const double qqrd2e = force->qqrd2e; - double fxtmp,fytmp,fztmp,extmp,eytmp,eztmp; - + double fxtmp, fytmp, fztmp, extmp, eytmp, eztmp; ilist = list->ilist; numneigh = list->numneigh; @@ -146,17 +147,17 @@ void PairLJCutCoulLongDielectricOMP::eval(int iifrom, int iito, ThrData * const itype = type[i]; jlist = firstneigh[i]; jnum = numneigh[i]; - fxtmp=fytmp=fztmp=0.0; - extmp=eytmp=eztmp=0.0; + fxtmp = fytmp = fztmp = 0.0; + extmp = eytmp = eztmp = 0.0; // self term Eq. (55) for I_{ii} and Eq. (52) and in Barros et al. double curvature_threshold = sqrt(area[i]); if (curvature[i] < curvature_threshold) { - double sf = curvature[i]/(4.0*MY_PIS*curvature_threshold) * area[i]*q[i]; - efield[i][0] = sf*norm[i].x; - efield[i][1] = sf*norm[i].y; - efield[i][2] = sf*norm[i].z; + double sf = curvature[i] / (4.0 * MY_PIS * curvature_threshold) * area[i] * q[i]; + efield[i][0] = sf * norm[i].x; + efield[i][1] = sf * norm[i].y; + efield[i][2] = sf * norm[i].z; } else { efield[i][0] = efield[i][1] = efield[i][2] = 0; } @@ -170,26 +171,26 @@ void PairLJCutCoulLongDielectricOMP::eval(int iifrom, int iito, ThrData * const delx = xtmp - x[j].x; dely = ytmp - x[j].y; delz = ztmp - x[j].z; - rsq = delx*delx + dely*dely + delz*delz; + rsq = delx * delx + dely * dely + delz * delz; jtype = type[j]; if (rsq < cutsq[itype][jtype]) { - r2inv = 1.0/rsq; + r2inv = 1.0 / rsq; if (rsq < cut_coulsq) { if (!ncoultablebits || rsq <= tabinnersq) { r = sqrt(rsq); grij = g_ewald * r; - expm2 = exp(-grij*grij); - t = 1.0 / (1.0 + EWALD_P*grij); - erfc = t * (A1+t*(A2+t*(A3+t*(A4+t*A5)))) * expm2; - prefactor = qqrd2e * qtmp*q[j]/r; - forcecoul = prefactor * (erfc + EWALD_F*grij*expm2); - if (factor_coul < 1.0) forcecoul -= (1.0-factor_coul)*prefactor; + expm2 = exp(-grij * grij); + t = 1.0 / (1.0 + EWALD_P * grij); + erfc = t * (A1 + t * (A2 + t * (A3 + t * (A4 + t * A5)))) * expm2; + prefactor = qqrd2e * qtmp * q[j] / r; + forcecoul = prefactor * (erfc + EWALD_F * grij * expm2); + if (factor_coul < 1.0) forcecoul -= (1.0 - factor_coul) * prefactor; - prefactorE = q[j]/r; - efield_i = prefactorE * (erfc + EWALD_F*grij*expm2); - if (factor_coul < 1.0) efield_i -= (1.0-factor_coul)*prefactorE; + prefactorE = q[j] / r; + efield_i = prefactorE * (erfc + EWALD_F * grij * expm2); + if (factor_coul < 1.0) efield_i -= (1.0 - factor_coul) * prefactorE; epot_i = efield_i; } else { @@ -198,65 +199,68 @@ void PairLJCutCoulLongDielectricOMP::eval(int iifrom, int iito, ThrData * const itable = rsq_lookup.i & ncoulmask; itable >>= ncoulshiftbits; fraction = (rsq_lookup.f - rtable[itable]) * drtable[itable]; - table = ftable[itable] + fraction*dftable[itable]; - forcecoul = qtmp*q[j] * table; - efield_i = q[j] * table/qqrd2e; + table = ftable[itable] + fraction * dftable[itable]; + forcecoul = qtmp * q[j] * table; + efield_i = q[j] * table / qqrd2e; if (factor_coul < 1.0) { - table = ctable[itable] + fraction*dctable[itable]; - prefactor = qtmp*q[j] * table; - forcecoul -= (1.0-factor_coul)*prefactor; + table = ctable[itable] + fraction * dctable[itable]; + prefactor = qtmp * q[j] * table; + forcecoul -= (1.0 - factor_coul) * prefactor; - prefactorE = q[j] * table/qqrd2e; - efield_i -= (1.0-factor_coul)*prefactorE; + prefactorE = q[j] * table / qqrd2e; + efield_i -= (1.0 - factor_coul) * prefactorE; } epot_i = efield_i; } - } else epot_i = efield_i = forcecoul = 0.0; + } else + epot_i = efield_i = forcecoul = 0.0; if (rsq < cut_ljsq[itype][jtype]) { - r6inv = r2inv*r2inv*r2inv; - forcelj = r6inv * (lj1[itype][jtype]*r6inv - lj2[itype][jtype]); + r6inv = r2inv * r2inv * r2inv; + forcelj = r6inv * (lj1[itype][jtype] * r6inv - lj2[itype][jtype]); forcelj *= factor_lj; - } else forcelj = 0.0; + } else + forcelj = 0.0; fpair = (forcecoul + forcelj) * r2inv; - fxtmp += delx*fpair; - fytmp += dely*fpair; - fztmp += delz*fpair; + fxtmp += delx * fpair; + fytmp += dely * fpair; + fztmp += delz * fpair; - efield_i *= (etmp*r2inv); - extmp += delx*efield_i; - eytmp += dely*efield_i; - eztmp += delz*efield_i; + efield_i *= (etmp * r2inv); + extmp += delx * efield_i; + eytmp += dely * efield_i; + eztmp += delz * efield_i; epot[i] += epot_i; if (NEWTON_PAIR || j < nlocal) { - f[j].x -= delx*fpair; - f[j].y -= dely*fpair; - f[j].z -= delz*fpair; + f[j].x -= delx * fpair; + f[j].y -= dely * fpair; + f[j].z -= delz * fpair; } if (EFLAG) { if (rsq < cut_coulsq) { if (!ncoultablebits || rsq <= tabinnersq) - ecoul = prefactor*(etmp+eps[j])*erfc; + ecoul = prefactor * (etmp + eps[j]) * erfc; else { - table = etable[itable] + fraction*detable[itable]; - ecoul = qtmp*q[j]*(etmp+eps[j]) * table; + table = etable[itable] + fraction * detable[itable]; + ecoul = qtmp * q[j] * (etmp + eps[j]) * table; } - if (factor_coul < 1.0) ecoul -= (1.0-factor_coul)*prefactor; - } else ecoul = 0.0; + if (factor_coul < 1.0) ecoul -= (1.0 - factor_coul) * prefactor; + } else + ecoul = 0.0; if (rsq < cut_ljsq[itype][jtype]) { - evdwl = r6inv*(lj3[itype][jtype]*r6inv-lj4[itype][jtype]) - - offset[itype][jtype]; + evdwl = r6inv * (lj3[itype][jtype] * r6inv - lj4[itype][jtype]) - offset[itype][jtype]; evdwl *= factor_lj; - } else evdwl = 0.0; + } else + evdwl = 0.0; } - if (EVFLAG) ev_tally_thr(this, i,j,nlocal,NEWTON_PAIR, - evdwl,ecoul,fpair,delx,dely,delz,thr); + if (EVFLAG) + ev_tally_thr(this, i, j, nlocal, NEWTON_PAIR, evdwl, ecoul, fpair, delx, dely, delz, thr); } } f[i].x += fxtmp; From 22c391e603840bc8b5d11412a3f0281974547a3b Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 5 Jun 2021 15:57:47 -0400 Subject: [PATCH 158/726] add new package to presets --- cmake/presets/all_off.cmake | 2 +- cmake/presets/all_on.cmake | 2 +- cmake/presets/mingw-cross.cmake | 2 +- cmake/presets/most.cmake | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/cmake/presets/all_off.cmake b/cmake/presets/all_off.cmake index c56841f62f..457750c690 100644 --- a/cmake/presets/all_off.cmake +++ b/cmake/presets/all_off.cmake @@ -11,7 +11,7 @@ set(ALL_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU USER-MESONT USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF USER-OMP USER-PACE USER-PHONON USER-PLUMED USER-PTM USER-QMMM USER-QTB USER-QUIP USER-RANN USER-REACTION USER-REAXC USER-SCAFACOS USER-SDPD USER-SMD USER-SMTBQ USER-SPH - USER-TALLY USER-UEF USER-VTK USER-YAFF) + USER-TALLY USER-UEF USER-VTK USER-YAFF USER-DIELECTRIC) foreach(PKG ${ALL_PACKAGES}) set(PKG_${PKG} OFF CACHE BOOL "" FORCE) diff --git a/cmake/presets/all_on.cmake b/cmake/presets/all_on.cmake index 9f858f99dc..ae40bb0809 100644 --- a/cmake/presets/all_on.cmake +++ b/cmake/presets/all_on.cmake @@ -13,7 +13,7 @@ set(ALL_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU USER-MESONT USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF USER-OMP USER-PACE USER-PHONON USER-PLUMED USER-PTM USER-QMMM USER-QTB USER-QUIP USER-RANN USER-REACTION USER-REAXC USER-SCAFACOS USER-SDPD USER-SMD USER-SMTBQ USER-SPH - USER-TALLY USER-UEF USER-VTK USER-YAFF) + USER-TALLY USER-UEF USER-VTK USER-YAFF USER-DIELECTRIC) foreach(PKG ${ALL_PACKAGES}) set(PKG_${PKG} ON CACHE BOOL "" FORCE) diff --git a/cmake/presets/mingw-cross.cmake b/cmake/presets/mingw-cross.cmake index c2101d1d9a..e1a6c5cf79 100644 --- a/cmake/presets/mingw-cross.cmake +++ b/cmake/presets/mingw-cross.cmake @@ -7,7 +7,7 @@ set(WIN_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU USER-MESONT USER-MISC USER-MGPT USER-MOFFF USER-MOLFILE USER-OMP USER-PHONON USER-PTM USER-QTB USER-REACTION USER-REAXC USER-SDPD USER-SMD USER-SMTBQ USER-SPH USER-TALLY USER-UEF - USER-YAFF) + USER-YAFF USER-DIELECTRIC) foreach(PKG ${WIN_PACKAGES}) set(PKG_${PKG} ON CACHE BOOL "" FORCE) diff --git a/cmake/presets/most.cmake b/cmake/presets/most.cmake index 064b22595f..e124b25d2b 100644 --- a/cmake/presets/most.cmake +++ b/cmake/presets/most.cmake @@ -8,7 +8,7 @@ set(ALL_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE USER-BROWNIAN USER-BOCS USER-CGDNA USER-CGSDK USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-MEAMC USER-MESODPD USER-MISC USER-MOFFF USER-OMP USER-PHONON USER-REACTION - USER-REAXC USER-SDPD USER-SPH USER-SMD USER-UEF USER-YAFF) + USER-REAXC USER-SDPD USER-SPH USER-SMD USER-UEF USER-YAFF USER-DIELECTRIC) foreach(PKG ${ALL_PACKAGES}) set(PKG_${PKG} ON CACHE BOOL "" FORCE) From 655c7b02ec4491112229e75d0687d998c397a292 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 5 Jun 2021 16:03:31 -0400 Subject: [PATCH 159/726] update conventional build installation --- src/Makefile | 2 +- src/USER-DIELECTRIC/Install.sh | 36 +++++++++++----------------------- 2 files changed, 12 insertions(+), 26 deletions(-) diff --git a/src/Makefile b/src/Makefile index 24d99a5fe3..5e7a3c000f 100644 --- a/src/Makefile +++ b/src/Makefile @@ -52,7 +52,7 @@ PACKAGE = asphere body class2 colloid compress coreshell dipole gpu \ python qeq replica rigid shock snap spin srd voronoi PACKUSER = user-adios user-atc user-awpmd user-brownian user-bocs user-cgdna \ - user-cgsdk user-colvars user-diffraction user-dpd user-drude \ + user-cgsdk user-colvars user-dielectric user-diffraction user-dpd user-drude \ user-eff user-fep user-h5md user-hdnnp user-intel user-lb user-manifold \ user-mdi user-meamc user-mesodpd user-mesont user-mgpt user-misc \ user-mofff user-molfile user-netcdf user-omp user-phonon \ diff --git a/src/USER-DIELECTRIC/Install.sh b/src/USER-DIELECTRIC/Install.sh index 01540dfcba..fd540f3c7e 100644 --- a/src/USER-DIELECTRIC/Install.sh +++ b/src/USER-DIELECTRIC/Install.sh @@ -26,30 +26,16 @@ action () { fi } -# list of files with optional dependcies +# compute efield/atom is only usable when all styles +# are installed, which in turn requires KSPACE -action atom_vec_dielectric.cpp -action atom_vec_dielectric.h -action fix_polarize_bem_gmres.cpp -action fix_polarize_bem_gmres.h -action fix_polarize_bem_icc.cpp -action fix_polarize_bem_icc.h -action fix_polarize_functional.cpp -action fix_polarize_functional.h -action pair_lj_cut_coul_msm_dielectric.cpp pair_lj_cut_coul_msm.cpp -action pair_lj_cut_coul_msm_dielectric.h pair_lj_cut_coul_msm.h -action pair_lj_cut_coul_long_dielectric.cpp pair_lj_cut_coul_long.cpp -action pair_lj_cut_coul_long_dielectric.h pair_lj_cut_coul_long.h -action pair_lj_long_coul_long_dielectric.cpp pair_lj_long_coul_long.cpp -action pair_lj_long_coul_long_dielectric.h pair_lj_long_coul_long.cpp -action pair_lj_cut_coul_cut_dielectric.cpp -action pair_lj_cut_coul_cut_dielectric.h -action pair_coul_long_dielectric.cpp pair_coul_long.cpp -action pair_coul_long_dielectric.h pair_coul_long.h -action pair_coul_cut_dielectric.cpp -action pair_coul_cut_dielectric.h -action pppm_dielectric.cpp pppm.cpp -action pppm_dielectric.h pppm.h -action msm_dielectric.cpp msm.cpp -action msm_dielectric.h msm.h +if (test $1 = 1) then + if (test ! -e ../ppp.cpp) then + echo "Must install KSPACE package with USER-DIELECTRIC" + exit 1 + fi +fi +for file in *.cpp *.h; do + action ${file} +done From 3a73dd831aed1914b500a1d467d0604b0e497da2 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 5 Jun 2021 16:16:57 -0400 Subject: [PATCH 160/726] fix bug when reporting fix wall energies --- src/fix_wall.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/fix_wall.cpp b/src/fix_wall.cpp index 8f5c0dabe8..bec669ff10 100644 --- a/src/fix_wall.cpp +++ b/src/fix_wall.cpp @@ -307,8 +307,10 @@ void FixWall::post_force(int vflag) v_init(vflag); - // energy intialize + // energy intialize. + // eflag is used to track whether wall energies have been communitcated. + eflag = 0; for (int m = 0; m <= nwall; m++) ewall[m] = 0.0; // coord = current position of wall From c5c9a2759366ca7bc4274cb8ea9076dc349917bc Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 5 Jun 2021 16:24:39 -0400 Subject: [PATCH 161/726] protect OpenMP pragma with preprocessor define --- src/USER-DIELECTRIC/fix_polarize_functional.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/USER-DIELECTRIC/fix_polarize_functional.cpp b/src/USER-DIELECTRIC/fix_polarize_functional.cpp index 8bab4b61a8..51d8dc9d94 100644 --- a/src/USER-DIELECTRIC/fix_polarize_functional.cpp +++ b/src/USER-DIELECTRIC/fix_polarize_functional.cpp @@ -1123,7 +1123,9 @@ void FixPolarizeFunctional::calculate_grad_greens_ewald(double *vec, void FixPolarizeFunctional::calculate_matrix_multiply_vector(double **matrix, double *in_vec, double *out_vec, int M) { - #pragma parallel omp for +#if defined(OPENMP) +#pragma parallel omp for +#endif for (int k = 0; k < M; ++k) { double temp = 0.0; for (int l = 0; l < M; ++l) { From c5412db1a418fe77be9ccc24e0c6f4e5e2a4dd78 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 5 Jun 2021 17:26:24 -0400 Subject: [PATCH 162/726] correct package dependency handling --- cmake/CMakeLists.txt | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index a42cba3644..8fed2fbe68 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -393,7 +393,7 @@ RegisterStyles(${LAMMPS_SOURCE_DIR}) ######################################################## # Fetch missing external files and archives for packages ######################################################## -foreach(PKG ${STANDARD_PACKAGES} ${SUFFIX_PACKAGES}) +foreach(PKG ${STANDARD_PACKAGES} ${SUFFIX_PACKAGES} ${DEPEND_PACKAGES}) if(PKG_${PKG}) FetchPotentials(${LAMMPS_SOURCE_DIR}/${PKG} ${LAMMPS_POTENTIALS_DIR}) endif() @@ -429,6 +429,15 @@ foreach(PKG MPIIO) endif() endforeach() +# packages with custom dependencies +foreach(PKG ${DEPEND_PACKAGES}) + if(PKG_${PKG}) + include(Packages/${PKG}) + endif() + set(${PKG}_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/${PKG}) + RegisterPackages(${${PKG}_SOURCES_DIR}) +endforeach() + # dedicated check for entire contents of accelerator packages foreach(PKG ${SUFFIX_PACKAGES}) set(${PKG}_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/${PKG}) @@ -541,7 +550,7 @@ target_include_directories(lammps PRIVATE ${LAMMPS_STYLE_HEADERS_DIR}) ###################################### set(temp "#ifndef LMP_INSTALLED_PKGS_H\n#define LMP_INSTALLED_PKGS_H\n") set(temp "${temp}const char * LAMMPS_NS::LAMMPS::installed_packages[] = {\n") -set(temp_PKG_LIST ${STANDARD_PACKAGES} ${SUFFIX_PACKAGES}) +set(temp_PKG_LIST ${STANDARD_PACKAGES} ${DEPEND_PACKAGES} ${SUFFIX_PACKAGES}) list(SORT temp_PKG_LIST) foreach(PKG ${temp_PKG_LIST}) if(PKG_${PKG}) From 5e675e6eff96e84a286e67235c4c628d3c17122d Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 5 Jun 2021 19:19:14 -0400 Subject: [PATCH 163/726] bugfix for library unit test due to CMake package changes --- unittest/c-library/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/unittest/c-library/CMakeLists.txt b/unittest/c-library/CMakeLists.txt index 3c24cdcff4..c4d2ad7466 100644 --- a/unittest/c-library/CMakeLists.txt +++ b/unittest/c-library/CMakeLists.txt @@ -15,7 +15,7 @@ set_tests_properties(LibraryProperties PROPERTIES ENVIRONMENT "LAMMPS_POTENTIALS set(TEST_CONFIG_DEFS "-DTEST_INPUT_FOLDER=${CMAKE_CURRENT_SOURCE_DIR};-DLAMMPS_${LAMMPS_SIZES}") set(PKG_COUNT 0) -foreach(PKG ${STANDARD_PACKAGES} ${SUFFIX_PACKAGES}) +foreach(PKG ${STANDARD_PACKAGES} ${DEPEND_PACKAGES} ${SUFFIX_PACKAGES}) if(PKG_${PKG}) MATH(EXPR PKG_COUNT "${PKG_COUNT}+1") endif() From f7ca10b07059f4d47240fd6d32098fb0271751eb Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 5 Jun 2021 21:00:35 -0400 Subject: [PATCH 164/726] update documentation towards more complete integration this includes the following steps: - added missing sections about the packages (incomplete) - added missing files for the pair styles and the compute (incomplete) - merge fix doc files into a single file (incomplete) - link to added styles from Commands overvies and style lists (incomplete) major part that is missing is the documentation of the atom style and the description of the file format in the read_data docs. there should probably also additions to the `set` command to set those properties from input scripts. --- doc/src/Commands_compute.rst | 1 + doc/src/Commands_fix.rst | 3 + doc/src/Commands_kspace.rst | 2 + doc/src/Commands_pair.rst | 7 + doc/src/Packages_details.rst | 24 ++ doc/src/Packages_user.rst | 2 + doc/src/compute.rst | 1 + doc/src/compute_efield_atom.rst | 59 +++++ doc/src/fix.rst | 3 + doc/src/fix_polarize.rst | 113 +++++++++ doc/src/fix_polarize_bem_gmres.rst | 104 -------- doc/src/fix_polarize_bem_icc.rst | 103 -------- doc/src/fix_polarize_functional.rst | 80 ------- doc/src/kspace_style.rst | 18 +- doc/src/pair_dielectric.rst | 357 ++++++++++++++++++++++++++++ doc/src/pair_style.rst | 7 + 16 files changed, 594 insertions(+), 290 deletions(-) create mode 100644 doc/src/compute_efield_atom.rst create mode 100644 doc/src/fix_polarize.rst delete mode 100644 doc/src/fix_polarize_bem_gmres.rst delete mode 100644 doc/src/fix_polarize_bem_icc.rst delete mode 100644 doc/src/fix_polarize_functional.rst create mode 100644 doc/src/pair_dielectric.rst diff --git a/doc/src/Commands_compute.rst b/doc/src/Commands_compute.rst index 6841485f8f..b24bd8f52a 100644 --- a/doc/src/Commands_compute.rst +++ b/doc/src/Commands_compute.rst @@ -52,6 +52,7 @@ KOKKOS, o = USER-OMP, t = OPT. * :doc:`dpd ` * :doc:`dpd/atom ` * :doc:`edpd/temp/atom ` + * :doc:`efield/atom ` * :doc:`entropy/atom ` * :doc:`erotate/asphere ` * :doc:`erotate/rigid ` diff --git a/doc/src/Commands_fix.rst b/doc/src/Commands_fix.rst index 0dbe8f5bec..c9c55277b2 100644 --- a/doc/src/Commands_fix.rst +++ b/doc/src/Commands_fix.rst @@ -162,6 +162,9 @@ OPT. * :doc:`planeforce ` * :doc:`plumed ` * :doc:`poems ` + * :doc:`polarize/bem/gmres ` + * :doc:`polarize/bem/icc ` + * :doc:`polarize/functional ` * :doc:`pour ` * :doc:`precession/spin ` * :doc:`press/berendsen ` diff --git a/doc/src/Commands_kspace.rst b/doc/src/Commands_kspace.rst index 18fa5b5442..2f7cd35f15 100644 --- a/doc/src/Commands_kspace.rst +++ b/doc/src/Commands_kspace.rst @@ -28,6 +28,7 @@ OPT. * :doc:`ewald/dipole/spin ` * :doc:`msm (o) ` * :doc:`msm/cg (o) ` + * :doc:`msm/dielectric ` * :doc:`pppm (giko) ` * :doc:`pppm/cg (o) ` * :doc:`pppm/dipole ` @@ -36,4 +37,5 @@ OPT. * :doc:`pppm/disp/tip4p (o) ` * :doc:`pppm/stagger ` * :doc:`pppm/tip4p (o) ` + * :doc:`pppm/dielectric ` * :doc:`scafacos ` diff --git a/doc/src/Commands_pair.rst b/doc/src/Commands_pair.rst index d76785d221..192c40b27a 100644 --- a/doc/src/Commands_pair.rst +++ b/doc/src/Commands_pair.rst @@ -69,6 +69,7 @@ OPT. * :doc:`comb3 ` * :doc:`cosine/squared ` * :doc:`coul/cut (gko) ` + * :doc:`coul/cut/dielectric ` * :doc:`coul/cut/global (o) ` * :doc:`coul/cut/soft (o) ` * :doc:`coul/debye (gko) ` @@ -76,6 +77,7 @@ OPT. * :doc:`coul/dsf (gko) ` * :doc:`coul/long (gko) ` * :doc:`coul/long/cs (g) ` + * :doc:`coul/long/dielectric ` * :doc:`coul/long/soft (o) ` * :doc:`coul/msm (o) ` * :doc:`coul/slater/cut ` @@ -143,13 +145,17 @@ OPT. * :doc:`lj/cubic (go) ` * :doc:`lj/cut (gikot) ` * :doc:`lj/cut/coul/cut (gko) ` + * :doc:`lj/cut/coul/cut/dielectric (o) ` * :doc:`lj/cut/coul/cut/soft (o) ` * :doc:`lj/cut/coul/debye (gko) ` + * :doc:`lj/cut/coul/debye/dielectric ` * :doc:`lj/cut/coul/dsf (gko) ` * :doc:`lj/cut/coul/long (gikot) ` * :doc:`lj/cut/coul/long/cs ` + * :doc:`lj/cut/coul/long/dielectric (o) ` * :doc:`lj/cut/coul/long/soft (o) ` * :doc:`lj/cut/coul/msm (go) ` + * :doc:`lj/cut/coul/msm/dielectric ` * :doc:`lj/cut/coul/wolf (o) ` * :doc:`lj/cut/dipole/cut (go) ` * :doc:`lj/cut/dipole/long (g) ` @@ -164,6 +170,7 @@ OPT. * :doc:`lj/gromacs (gko) ` * :doc:`lj/gromacs/coul/gromacs (ko) ` * :doc:`lj/long/coul/long (iot) ` + * :doc:`lj/long/coul/long/dielectric ` * :doc:`lj/long/dipole/long ` * :doc:`lj/long/tip4p/long (o) ` * :doc:`lj/mdf ` diff --git a/doc/src/Packages_details.rst b/doc/src/Packages_details.rst index e7dc905e22..1ef525ea9e 100644 --- a/doc/src/Packages_details.rst +++ b/doc/src/Packages_details.rst @@ -73,6 +73,7 @@ page gives those details. * :ref:`USER-CGDNA ` * :ref:`USER-CGSDK ` * :ref:`USER-COLVARS ` + * :ref:`USER-DIELECTRIC ` * :ref:`USER-DIFFRACTION ` * :ref:`USER-DPD ` * :ref:`USER-DRUDE ` @@ -1449,6 +1450,29 @@ This package has :ref:`specific installation instructions ` on the ---------- +.. _PKG-USER-DIELECTRIC: + +USER-DIELECTRIC package +------------------------ + +**Contents:** + +An atom style, multiple pair styles, several fixes, Kspace styles and a +compute for simulating systems using boundary element solvers for +computing the induced charges at the interface between two media with +different dielectric constants. + +**Author:** Trung Nguyen and Monica Olvera de la Cruz (Northwestern U) + +**Supporting info:** + +* src/USER-DIELECTRIC: filenames -> commands +* :doc:`compute efield/atom ` +* TODO: add all styles +* examples/USER/dielectric + +---------- + .. _PKG-USER-DIFFRACTION: USER-DIFFRACTION package diff --git a/doc/src/Packages_user.rst b/doc/src/Packages_user.rst index 3bf1323d16..89d740939e 100644 --- a/doc/src/Packages_user.rst +++ b/doc/src/Packages_user.rst @@ -47,6 +47,8 @@ package: +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ | :ref:`USER-COLVARS ` | collective variables library | :doc:`fix colvars ` | USER/colvars | int | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-DIELECTRIC ` | dielectric boundary solvers and force styles | :doc:`compute efield/atom ` | USER/dielectric | no | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ | :ref:`USER-DIFFRACTION ` | virtual x-ray and electron diffraction | :doc:`compute xrd ` | USER/diffraction | no | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ | :ref:`USER-DPD ` | reactive dissipative particle dynamics | src/USER-DPD/README | USER/dpd | no | diff --git a/doc/src/compute.rst b/doc/src/compute.rst index 4da3e4ebe6..098f376fdb 100644 --- a/doc/src/compute.rst +++ b/doc/src/compute.rst @@ -198,6 +198,7 @@ The individual style names on the :doc:`Commands compute ` doc * :doc:`dpd ` - * :doc:`dpd/atom ` - * :doc:`edpd/temp/atom ` - per-atom temperature for each eDPD particle in a group +* :doc:`efield/atom ` - * :doc:`entropy/atom ` - pair entropy fingerprint of each atom * :doc:`erotate/asphere ` - rotational energy of aspherical particles * :doc:`erotate/rigid ` - rotational energy of rigid bodies diff --git a/doc/src/compute_efield_atom.rst b/doc/src/compute_efield_atom.rst new file mode 100644 index 0000000000..449a495519 --- /dev/null +++ b/doc/src/compute_efield_atom.rst @@ -0,0 +1,59 @@ +.. index:: compute efield/atom + +compute efield/atom command +=========================== + +Syntax +"""""" + +.. parsed-literal:: + + compute ID group-ID efield/atom + +* ID, group-ID are documented in :doc:`compute ` command +* efield/atom = style name of this compute command + +Examples +"""""""" + +.. code-block:: LAMMPS + + compute 1 all efield/atom + +Description +""""""""""" + +FIXME update docs from here + +Define a computation that calculates the per-atom translational +kinetic energy for each atom in a group. + +The kinetic energy is simply 1/2 m v\^2, where m is the mass and v is +the velocity of each atom. + +The value of the kinetic energy will be 0.0 for atoms not in the +specified compute group. + +Output info +""""""""""" + +This compute calculates a per-atom vector, which can be accessed by +any command that uses per-atom values from a compute as input. See +the :doc:`Howto output ` doc page for an overview of +LAMMPS output options. + +The per-atom vector values will be in energy :doc:`units `. + +Restrictions +"""""""""""" + none + +Related commands +"""""""""""""""" + +:doc:`dump custom ` + +Default +""""""" + +none diff --git a/doc/src/fix.rst b/doc/src/fix.rst index d54594d5af..b4ac1e5e45 100644 --- a/doc/src/fix.rst +++ b/doc/src/fix.rst @@ -305,6 +305,9 @@ accelerated styles exist. * :doc:`planeforce ` - constrain atoms to move in a plane * :doc:`plumed ` - wrapper on PLUMED free energy library * :doc:`poems ` - constrain clusters of atoms to move as coupled rigid bodies +* :doc:`polarize/bem/gmres ` - +* :doc:`polarize/bem/icc ` - +* :doc:`polarize/functional ` - * :doc:`pour ` - pour new atoms/molecules into a granular simulation domain * :doc:`precession/spin ` - * :doc:`press/berendsen ` - pressure control by Berendsen barostat diff --git a/doc/src/fix_polarize.rst b/doc/src/fix_polarize.rst new file mode 100644 index 0000000000..4eb2839f96 --- /dev/null +++ b/doc/src/fix_polarize.rst @@ -0,0 +1,113 @@ +.. index:: fix polarize/bem/gmres +.. index:: fix polarize/bem/icc +.. index:: fix polarize/functional + +fix polarize/bem/gmres command +============================== + +fix polarize/bem/icc command +============================ + +fix polarize/functional command +=============================== + +Syntax +"""""" + +.. parsed-literal:: + + fix ID group-ID style nevery tolerance ... + +* ID, group-ID are documented in :doc:`fix ` command +* style = *polarize/bem/gmres* or *polarize/bem/icc* or *polarize/functional* +* Nevery = this fixed is invoked every this many timesteps +* tolerance = the tolerance for the iterative solver to stop + + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix 2 all polarize/bem/gmres 5 0.0001 + fix 1 interface polarize/bem/icc 1 0.0001 + fix 3 all polarize/functional 1 0.001 + +Description +""""""""""" + +These fixes compute induced charges at the interface between two +impermeable media with different dielectric constants. + +There are some example scripts for using this fix +with LAMMPS in the examples/USER/dielectric directory. + +---------- + +For fix *polarize/bem/gmres* and fix *polarize/bem/icc* the induced +charges of the atoms in the specified group, which are the vertices on +the interface, are computed using the equation: + +..math:: + + \sigma_b(\mathbf{s}) = \dfrac{1 - \bar{\epsilon}}{\bar{\epsilon}} + \sigma_f(\mathbf{s}) - \epsilon_0 \dfrac{\Delta \epsilon}{\bar{\epsilon}} + \mathbf{E}(\mathbf{s}) \cdot \mathbf{n}(\mathbf{s}) + +* :math:`\sigma_b` is the induced charge density at the interface vertex :math:`\mathbf{s}`. +* :math:`\bar{\epsilon}` is the mean dielectric constant at the interface vertex: :math:`\bar{\epsilon} = (\epsilon_1 + \epsilon_2)/2`. +* :math:`\Delta \epsilon` is the dielectric constant difference at the interface vertex: :math:`\Delta \epsilon = \epsilon_1 - \epsilon_2` +* :math:`\sigma_f` is the free charge density at the interface vertex +* :math:`\mathbf{E}(\mathbf{s})` is the electrical field at the vertex +* :math:`\mathbf{n}(\mathbf{s})` is the unit normal vector at the vertex pointing from medium with :math:`\epsilon_2` to that with :math:`\epsilon_1` + +Fix *polarize/bem/gmres* employs the Generalized Minimum Residual (GMRES) +as described in :ref:`(Barros) ` to solve :math:`\sigma_b`. + +Fix *polarize/bem/icc* employs the successive overrelaxation algorithm +as described in :ref:`(Tyagi) ` to solve :math:`\sigma_b`. + +Fix *polarize/functional* ... + +Restart, fix_modify, output, run start/stop, minimize info +"""""""""""""""""""""""""""""""""""""""""""""""""""""""""" + +... + +Restrictions +"""""""""""" + +These fixes are part of the USER-DIELECTRIC package. It is only enabled +if LAMMPS was built with that package, which requires that also the +KSPACE package is installed. See the :doc:`Build package +` doc page for more info. + + +Related commands +"""""""""""""""" + +:doc:`compute efield/atom ` + +Default +""""""" + +None. + +---------- + +.. _Barros: + +**(Barros)** Barros, Sinkovits, Luijten, J. Chem. Phys, 140, 064903 (2014) + +.. _Tyagi: + +**(Tyagi)** Tyagi, Suzen, Sega, Barbosa, Kantorovich, Holm, J Chem Phys, 132, 154112 (2010) + +.. _Jadhao: + +**(Jadhao)** Jadhao, Solis, Olvera de la Cruz, J Chem Phys, 138, 054119 (2013) + +.. _NguyenTD: + +**(NguyenTD)** Nguyen, Li, Bagchi, Solis, Olvera de la Cruz, Comput Phys Commun 241, 80-19 (2019) + diff --git a/doc/src/fix_polarize_bem_gmres.rst b/doc/src/fix_polarize_bem_gmres.rst deleted file mode 100644 index 40f2b650ac..0000000000 --- a/doc/src/fix_polarize_bem_gmres.rst +++ /dev/null @@ -1,104 +0,0 @@ -.. index:: fix polarize/bem/gmres - -fix polarize/bem/gmres command -=================== - -Syntax -"""""" - -.. parsed-literal:: - - fix ID group-ID polarize/bem/gmres nevery tolerance ... - -* ID, group-ID are documented in :doc:`fix ` command -* polarize/bem/gmres = style name of this fix command -* Nevery = this fixed is invoked every this many timesteps -* tolerance = the tolerance for the iterative solver to stop - - -Examples -"""""""" - -.. code-block:: LAMMPS - - fix 2 all polarize/bem/gmres 5 0.0001 - -Description -""""""""""" - -The fix polarize/bem/gmres computes the induced charges -at the interface between two impermeable media with -different dielectric constants. - -There are some example scripts for using this fix -with LAMMPS in the examples/USER/dielectric directory. - ----------- - -The induced charges of the atoms in the specified group, which are -the vertices on the interface, are computed using the equation: - -..math:: - - \sigma_b(\mathbf{s}) = \dfrac{1 - \bar{\epsilon}}{\bar{\epsilon}} - \sigma_f(\mathbf{s}) - \epsilon_0 \dfrac{\Delta \epsilon}{\bar{\epsilon}} - \mathbf{E}(\mathbf{s}) \cdot \mathbf{n}(\mathbf{s}) - -* :math:`\sigma_b` is the induced charge density at the interface vertex -:math:`\mathbf{s}`. -* :math:`\bar{\epsilon}` is the mean dielectric constant at the interface vertex: -:math:`\bar{\epsilon} = (\epsilon_1 + \epsilon_2)/2`. -* :math:`\Delta \epsilon` is the dielectric constant difference at the interface vertex: -:math:`\Delta \epsilon = \epsilon_1 - \epsilon_2` -* :math:`\sigma_f` is the free charge density at the interface vertex -* :math:`\mathbf{E}(\mathbf{s})` is the electrical field at the vertex -* :math:`\mathbf{n}(\mathbf{s})` is the unit normal vector at the vertex -pointing from medium with :math:`\epsilon_2` to that with :math:`\epsilon_1` - - -The fix polarize/bem/gmres employs the Generalized Minimum Residual (GMRES) -as described in :ref:`(Barros) ` to solve for :math:`\sigma_b`. - -Restart, fix_modify, output, run start/stop, minimize info -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" - -The :doc:`fix_modify ` - -This fix computes a global scalar which can be accessed by various -:doc:`output commands `. The scalar is the Colvars -energy mentioned above. The scalar value calculated by this fix is -"extensive". - -Restrictions -"""""""""""" - -This fix is part of the USER-DIELECTRIC package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package -` doc page for more info. - -There can only be one colvars fix active at a time. Since the interface -communicates only the minimum amount of information and colvars module -itself can handle an arbitrary number of collective variables, this is -not a limitation of functionality. - -Related commands -"""""""""""""""" - -:doc:`fix polarize/bem/icc `, :doc:`fix polarize/functional ` - -Default -""""""" - -None. - ----------- - -.. _Barros: - -**(Barros)** Barros, Sinkovits, Luijten, J. Chem. Phys, 140, 064903 (2014) - - -.. _NguyenTD: - -**(NguyenTD)** Nguyen, Li, Bagchi, Solis, Olvera de la Cruz, Comput Phys Commun 241, 80-19 (2019) - diff --git a/doc/src/fix_polarize_bem_icc.rst b/doc/src/fix_polarize_bem_icc.rst deleted file mode 100644 index a771d28f60..0000000000 --- a/doc/src/fix_polarize_bem_icc.rst +++ /dev/null @@ -1,103 +0,0 @@ -.. index:: fix polarize/bem/icc - -fix polarize/bem/icc command -=================== - -Syntax -"""""" - -.. parsed-literal:: - - fix ID group-ID polarize nevery tolerance ... - -* ID, group-ID are documented in :doc:`fix ` command -* polarize/bem/icc = style name of this fix command -* Nevery = this fixed is invoked every this many timesteps -* tolerance = the tolerance for the iterative solver to stop - - -Examples -"""""""" - -.. code-block:: LAMMPS - - fix 1 interface polarize/bem/icc 1 0.0001 - -Description -""""""""""" - -The fix polarize/bem/icc computes the induced charges -at the interface between two impermeable media with -different dielectric constants. - -There are some example scripts for using this fix -with LAMMPS in the examples/USER/dielectric directory. - ----------- - -The induced charges of the atoms in the specified group, which are -the vertices on the interface, are computed using the equation: - -..math:: - - \sigma_b(\mathbf{s}) = \dfrac{1 - \bar{\epsilon}}{\bar{\epsilon}} - \sigma_f(\mathbf{s}) - \epsilon_0 \dfrac{\Delta \epsilon}{\bar{\epsilon}} - \mathbf{E}(\mathbf{s}) \cdot \mathbf{n}(\mathbf{s}) - -* :math:`\sigma_b` is the induced charge density at the interface vertex -:math:`\mathbf{s}`. -* :math:`\bar{\epsilon}` is the mean dielectric constant at the interface vertex: -:math:`\bar{\epsilon} = (\epsilon_1 + \epsilon_2)/2`. -* :math:`\Delta \epsilon` is the dielectric constant difference at the interface vertex: -:math:`\Delta \epsilon = \epsilon_1 - \epsilon_2` -* :math:`\sigma_f` is the free charge density at the interface vertex -* :math:`\mathbf{E}(\mathbf{s})` is the electrical field at the vertex -* :math:`\mathbf{n}(\mathbf{s})` is the unit normal vector at the vertex -pointing from medium with :math:`\epsilon_2` to that with :math:`\epsilon_1` - - -The fix polarize/bem/icc employs the successive overrelaxation algorithm -as described in :ref:`(Tyagi) ` to solve for :math:`\sigma_b`. - -Restart, fix_modify, output, run start/stop, minimize info -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" - -The :doc:`fix_modify ` - -This fix computes a global scalar which can be accessed by various -:doc:`output commands `. The scalar is the Colvars -energy mentioned above. The scalar value calculated by this fix is -"extensive". - -Restrictions -"""""""""""" - -This fix is part of the USER-DIELECTRIC package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package -` doc page for more info. - -There can only be one colvars fix active at a time. Since the interface -communicates only the minimum amount of information and colvars module -itself can handle an arbitrary number of collective variables, this is -not a limitation of functionality. - -Related commands -"""""""""""""""" - -:doc:`fix polarize/bem/icc `, :doc:`fix polarize/functional ` - -Default -""""""" - -None. - ----------- - -.. _Tyagi: - -**(Tyagi)** Tyagi, Suzen, Sega, Barbosa, Kantorovich, Holm, J Chem Phys, 132, 154112 (2010) - -.. _NguyenTD: - -**(NguyenTD)** Nguyen, Li, Bagchi, Solis, Olvera de la Cruz, Comput Phys Commun 241, 80-19 (2019) - diff --git a/doc/src/fix_polarize_functional.rst b/doc/src/fix_polarize_functional.rst deleted file mode 100644 index 79a7dc621d..0000000000 --- a/doc/src/fix_polarize_functional.rst +++ /dev/null @@ -1,80 +0,0 @@ -.. index:: fix polarize/functional - -fix polarize/functional command -=================== - -Syntax -"""""" - -.. parsed-literal:: - - fix ID group-ID polarize nevery tolerance ... - -* ID, group-ID are documented in :doc:`fix ` command -* polarize/functional = style name of this fix command -* Nevery = this fixed is invoked every this many timesteps -* tolerance = the tolerance for the iterative solver to stop - - -Examples -"""""""" - -.. code-block:: LAMMPS - - fix 3 all polarize/functional 1 0.001 - -Description -""""""""""" - -The three fix polarize in the USER-DIELECTRIC package compute the induced charges -at the interface between two impermeable media with different dielectric -constants. - -There are some example scripts for using this package with LAMMPS in the -examples/USER/dielectric directory. - ----------- - - -Restart, fix_modify, output, run start/stop, minimize info -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" - -The :doc:`fix_modify ` - -This fix computes a global scalar which can be accessed by various -:doc:`output commands `. The scalar is the Colvars -energy mentioned above. The scalar value calculated by this fix is -"extensive". - -Restrictions -"""""""""""" - -This fix is part of the USER-DIELECTRIC package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package -` doc page for more info. - -There can only be one colvars fix active at a time. Since the interface -communicates only the minimum amount of information and colvars module -itself can handle an arbitrary number of collective variables, this is -not a limitation of functionality. - -Related commands -"""""""""""""""" - -:doc:`fix polarize/bem/icc `, :doc:`fix polarize/functional ` - -Default -""""""" - -None. - ----------- - -.. _Jadhao: - -**(Jadhao)** Jadhao, Solis, Olvera de la Cruz, J Chem Phys, 138, 054119 (2013) - -.. _NguyenTD: - -**(NguyenTD)** Nguyen, Li, Bagchi, Solis, Olvera de la Cruz, Comput Phys Commun 241, 80-19 (2019) - diff --git a/doc/src/kspace_style.rst b/doc/src/kspace_style.rst index 8bbbae9155..01ad15a08e 100644 --- a/doc/src/kspace_style.rst +++ b/doc/src/kspace_style.rst @@ -16,6 +16,7 @@ .. index:: kspace_style pppm/disp/tip4p .. index:: kspace_style pppm/disp/tip4p/omp .. index:: kspace_style pppm/disp/intel +.. index:: kspace_style pppm/dielectric .. index:: kspace_style pppm/cg/omp .. index:: kspace_style pppm/stagger .. index:: kspace_style pppm/tip4p @@ -24,6 +25,7 @@ .. index:: kspace_style msm/omp .. index:: kspace_style msm/cg .. index:: kspace_style msm/cg/omp +.. index:: kspace_style msm/dielectric .. index:: kspace_style scafacos kspace_style command @@ -36,7 +38,7 @@ Syntax kspace_style style value -* style = *none* or *ewald* or *ewald/dipole* or *ewald/dipole/spin* or *ewald/disp* or *ewald/omp* or *pppm* or *pppm/cg* or *pppm/disp* or *pppm/tip4p* or *pppm/stagger* or *pppm/disp/tip4p* or *pppm/gpu* or *pppm/intel* or *pppm/disp/intel* or *pppm/kk* or *pppm/omp* or *pppm/cg/omp* or *pppm/disp/tip4p/omp* or *pppm/tip4p/omp* or *msm* or *msm/cg* or *msm/omp* or *msm/cg/omp* or *scafacos* +* style = *none* or *ewald* or *ewald/dipole* or *ewald/dipole/spin* or *ewald/disp* or *ewald/omp* or *pppm* or *pppm/cg* or *pppm/disp* or *pppm/tip4p* or *pppm/stagger* or *pppm/disp/tip4p* or *pppm/gpu* or *pppm/intel* or *pppm/disp/intel* or *pppm/kk* or *pppm/omp* or *pppm/cg/omp* or *pppm/disp/tip4p/omp* or *pppm/tip4p/omp* or *pppm/dielectic* or *msm* or *msm/cg* or *msm/omp* or *msm/cg/omp* or *msm/dielectric* or *scafacos* .. parsed-literal:: @@ -87,6 +89,8 @@ Syntax accuracy = desired relative error in forces *pppm/stagger* value = accuracy accuracy = desired relative error in forces + *pppm/dielectric* value = accuracy + accuracy = desired relative error in forces *msm* value = accuracy accuracy = desired relative error in forces *msm/cg* value = accuracy (smallq) @@ -97,6 +101,8 @@ Syntax *msm/cg/omp* value = accuracy (smallq) accuracy = desired relative error in forces smallq = cutoff for charges to be considered (optional) (charge units) + *msm/dielectric* value = accuracy + accuracy = desired relative error in forces *scafacos* values = method accuracy method = fmm or p2nfft or p3m or ewald or direct accuracy = desired relative error in forces @@ -435,8 +441,14 @@ non-orthogonal (triclinic symmetry) simulation boxes. However, triclinic simulation cells may not yet be supported by all suffix versions of these styles. -All of the kspace styles are part of the KSPACE package. They are -only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +Most of the base kspace styles are part of the KSPACE package. They are +only enabled if LAMMPS was built with that package. See the :doc:`Build +package ` doc page for more info. + +The *msm/dielectric* and *pppm/dielectric* kspace styles are part of the +USER-DIELECTRIC package. They are only enabled if LAMMPS was built with +that package **and** the KSPACE package. See the :doc:`Build package +` doc page for more info. For MSM, a simulation must be 3d and one can use any combination of periodic, non-periodic, or shrink-wrapped boundaries (specified using diff --git a/doc/src/pair_dielectric.rst b/doc/src/pair_dielectric.rst new file mode 100644 index 0000000000..f98cfce976 --- /dev/null +++ b/doc/src/pair_dielectric.rst @@ -0,0 +1,357 @@ +.. index:: pair_style coul/cut/dielectric +.. index:: pair_style coul/long/dielectric +.. index:: pair_style lj/cut/coul/cut/dielectric +.. index:: pair_style lj/cut/coul/cut/dielectric/omp +.. index:: pair_style lj/cut/coul/debye/dielectric +.. index:: pair_style lj/cut/coul/long/dielectric +.. index:: pair_style lj/cut/coul/long/dielectric/omp +.. index:: pair_style lj/cut/coul/msm/dielectric +.. index:: pair_style lj/long/coul/long/dielectric + +pair_style coul/cut/dielectric command +====================================== + +pair_style coul/long/dielectric command +======================================= + +pair_style lj/cut/coul/cut/dielectric command +============================================= + +Accelerator Variants: *lj/cut/coul/cut/dielectric/omp* + +pair_style lj/cut/coul/debye/dielectric command +=============================================== + +pair_style lj/cut/coul/long/dielectric command +============================================== + +Accelerator Variants: *lj/cut/coul/long/dielectric/omp* + +pair_style lj/cut/coul/msm/dielectric command +============================================== + +pair_style lj/long/coul/long/dielectric command +=============================================== + +Syntax +"""""" + +TODO FIX the rest of the file + +.. code-block:: LAMMPS + + pair_style lj/cut/dipole/cut cutoff (cutoff2) + pair_style lj/sf/dipole/sf cutoff (cutoff2) + pair_style lj/cut/dipole/long cutoff (cutoff2) + pair_style lj/long/dipole/long flag_lj flag_coul cutoff (cutoff2) + +* cutoff = global cutoff LJ (and Coulombic if only 1 arg) (distance units) +* cutoff2 = global cutoff for Coulombic and dipole (optional) (distance units) +* flag_lj = *long* or *cut* or *off* + + .. parsed-literal:: + + *long* = use long-range damping on dispersion 1/r\^6 term + *cut* = use a cutoff on dispersion 1/r\^6 term + *off* = omit disperion 1/r\^6 term entirely + +* flag_coul = *long* or *off* + + .. parsed-literal:: + + *long* = use long-range damping on Coulombic 1/r and point-dipole terms + *off* = omit Coulombic and point-dipole terms entirely + +Examples +"""""""" + +.. code-block:: LAMMPS + + pair_style lj/cut/dipole/cut 10.0 + pair_coeff * * 1.0 1.0 + pair_coeff 2 3 1.0 1.0 2.5 4.0 + + pair_style lj/sf/dipole/sf 9.0 + pair_coeff * * 1.0 1.0 + pair_coeff 2 3 1.0 1.0 2.5 4.0 scale 0.5 + pair_coeff 2 3 1.0 1.0 2.5 4.0 + + pair_style lj/cut/dipole/long 10.0 + pair_coeff * * 1.0 1.0 + pair_coeff 2 3 1.0 1.0 2.5 4.0 + + pair_style lj/long/dipole/long long long 3.5 10.0 + pair_coeff * * 1.0 1.0 + pair_coeff 2 3 1.0 1.0 2.5 4.0 + +Description +""""""""""" + +Style *lj/cut/dipole/cut* computes interactions between pairs of particles +that each have a charge and/or a point dipole moment. In addition to +the usual Lennard-Jones interaction between the particles (Elj) the +charge-charge (Eqq), charge-dipole (Eqp), and dipole-dipole (Epp) +interactions are computed by these formulas for the energy (E), force +(F), and torque (T) between particles I and J. + +.. math:: + + E_{LJ} = & 4 \epsilon \left[ \left(\frac{\sigma}{r}\right)^{12} - + \left(\frac{\sigma}{r}\right)^6 \right] \\ + E_{qq} = & \frac{q_i q_j}{r} \\ + E_{qp} = & \frac{q}{r^3} (p \bullet \vec{r}) \\ + E_{pp} = & \frac{1}{r^3} (\vec{p_i} \bullet \vec{p_j}) - + \frac{3}{r^5} (\vec{p_i} \bullet \vec{r}) (\vec{p_j} \bullet \vec{r}) \\ + & \\ + F_{qq} = & \frac{q_i q_j}{r^3} \vec{r} \\ + F_{qp} = & -\frac{q}{r^3} \vec{p} + \frac{3q}{r^5} + (\vec{p} \bullet \vec{r}) \vec{r} \\ + F_{pp} = & \frac{3}{r^5} (\vec{p_i} \bullet \vec{p_j}) \vec{r} - + \frac{15}{r^7} (\vec{p_i} \bullet \vec{r}) + (\vec{p_j} \bullet \vec{r}) \vec{r} + + \frac{3}{r^5} \left[ (\vec{p_j} \bullet \vec{r}) \vec{p_i} + + (\vec{p_i} \bullet \vec{r}) \vec{p_j} \right] \\ + & \\ + T_{pq} = T_{ij} = & \frac{q_j}{r^3} (\vec{p_i} \times \vec{r}) \\ + T_{qp} = T_{ji} = & - \frac{q_i}{r^3} (\vec{p_j} \times \vec{r}) \\ + T_{pp} = T_{ij} = & -\frac{1}{r^3} (\vec{p_i} \times \vec{p_j}) + + \frac{3}{r^5} (\vec{p_j} \bullet \vec{r}) + (\vec{p_i} \times \vec{r}) \\ + T_{pp} = T_{ji} = & -\frac{1}{r^3} (\vec{p_j} \times \vec{p_i}) + + \frac{3}{r^5} (\vec{p_i} \bullet \vec{r}) + (\vec{p_j} \times \vec{r}) + +where :math:`q_i` and :math:`q_j` are the charges on the two particles, +:math:`\vec{p_i}` and :math:`\vec{p_j}` are the dipole moment vectors of +the two particles, r is their separation distance, and the vector r = +Ri - Rj is the separation vector between the two particles. Note that +Eqq and Fqq are simply Coulombic energy and force, Fij = -Fji as +symmetric forces, and Tij != -Tji since the torques do not act +symmetrically. These formulas are discussed in :ref:`(Allen) ` +and in :ref:`(Toukmaji) `. + +Also note, that in the code, all of these terms (except Elj) have a +:math:`C/\epsilon` prefactor, the same as the Coulombic term in the LJ + +Coulombic pair styles discussed :doc:`here `. C is an +energy-conversion constant and epsilon is the dielectric constant +which can be set by the :doc:`dielectric ` command. The +same is true of the equations that follow for other dipole pair +styles. + +Style *lj/sf/dipole/sf* computes "shifted-force" interactions between +pairs of particles that each have a charge and/or a point dipole +moment. In general, a shifted-force potential is a (slightly) modified +potential containing extra terms that make both the energy and its +derivative go to zero at the cutoff distance; this removes +(cutoff-related) problems in energy conservation and any numerical +instability in the equations of motion :ref:`(Allen) `. Shifted-force +interactions for the Lennard-Jones (E_LJ), charge-charge (Eqq), +charge-dipole (Eqp), dipole-charge (Epq) and dipole-dipole (Epp) +potentials are computed by these formulas for the energy (E), force +(F), and torque (T) between particles I and J: + +.. math:: + + E_{LJ} = & 4\epsilon \left\{ \left[ \left( \frac{\sigma}{r} \right)^{\!12} - + \left( \frac{\sigma}{r} \right)^{\!6} \right] + + \left[ 6\left( \frac{\sigma}{r_c} \right)^{\!12} - + 3\left(\frac{\sigma}{r_c}\right)^{\!6}\right]\left(\frac{r}{r_c}\right)^{\!2} + - 7\left( \frac{\sigma}{r_c} \right)^{\!12} + + 4\left( \frac{\sigma}{r_c} \right)^{\!6}\right\} \\ + E_{qq} = & \frac{q_i q_j}{r}\left(1-\frac{r}{r_c}\right)^{\!2} \\ + E_{pq} = & E_{ji} = -\frac{q}{r^3} \left[ 1 - + 3\left(\frac{r}{r_c}\right)^{\!2} + + 2\left(\frac{r}{r_c}\right)^{\!3}\right] (\vec{p}\bullet\vec{r}) \\ + E_{qp} = & E_{ij} = \frac{q}{r^3} \left[ 1 - + 3\left(\frac{r}{r_c}\right)^{\!2} + + 2\left(\frac{r}{r_c}\right)^{\!3}\right] (\vec{p}\bullet\vec{r}) \\ + E_{pp} = & \left[1-4\left(\frac{r}{r_c}\right)^{\!3} + + 3\left(\frac{r}{r_c}\right)^{\!4}\right]\left[\frac{1}{r^3} + (\vec{p_i} \bullet \vec{p_j}) - \frac{3}{r^5} + (\vec{p_i} \bullet \vec{r}) (\vec{p_j} \bullet \vec{r})\right] \\ + & \\ + + F_{LJ} = & \left\{\left[48\epsilon \left(\frac{\sigma}{r}\right)^{\!12} - + 24\epsilon \left(\frac{\sigma}{r}\right)^{\!6} \right]\frac{1}{r^2} - + \left[48\epsilon \left(\frac{\sigma}{r_c}\right)^{\!12} - 24\epsilon + \left(\frac{\sigma}{r_c}\right)^{\!6} \right]\frac{1}{r_c^2}\right\}\vec{r}\\ + F_{qq} = & \frac{q_i q_j}{r}\left(\frac{1}{r^2} - + \frac{1}{r_c^2}\right)\vec{r} \\ + F_{pq} = & F_{ij } = -\frac{3q}{r^5} \left[ 1 - + \left(\frac{r}{r_c}\right)^{\!2}\right](\vec{p}\bullet\vec{r})\vec{r} + + \frac{q}{r^3}\left[1-3\left(\frac{r}{r_c}\right)^{\!2} + + 2\left(\frac{r}{r_c}\right)^{\!3}\right] \vec{p} \\ + F_{qp} = & F_{ij} = \frac{3q}{r^5} \left[ 1 - + \left(\frac{r}{r_c}\right)^{\!2}\right] (\vec{p}\bullet\vec{r})\vec{r} - + \frac{q}{r^3}\left[1-3\left(\frac{r}{r_c}\right)^{\!2} + + 2\left(\frac{r}{r_c}\right)^{\!3}\right] \vec{p} \\ + F_{pp} = &\frac{3}{r^5}\Bigg\{\left[1-\left(\frac{r}{r_c}\right)^{\!4}\right] + \left[(\vec{p_i}\bullet\vec{p_j}) - \frac{3}{r^2} (\vec{p_i}\bullet\vec{r}) + (\vec{p_j} \bullet \vec{r})\right] \vec{r} + \\ + & \left[1 - + 4\left(\frac{r}{r_c}\right)^{\!3}+3\left(\frac{r}{r_c}\right)^{\!4}\right] + \left[ (\vec{p_j} \bullet \vec{r}) \vec{p_i} + (\vec{p_i} \bullet \vec{r}) + \vec{p_j} -\frac{2}{r^2} (\vec{p_i} \bullet \vec{r}) + (\vec{p_j} \bullet \vec{r})\vec{r}\right] \Bigg\} + +.. math:: + + T_{pq} = T_{ij} = & \frac{q_j}{r^3} \left[ 1 - + 3\left(\frac{r}{r_c}\right)^{\!2} + + 2\left(\frac{r}{r_c}\right)^{\!3}\right] (\vec{p_i}\times\vec{r}) \\ + T_{qp} = T_{ji} = & - \frac{q_i}{r^3} \left[ 1 - + 3\left(\frac{r}{r_c}\right)^{\!2} + + 2\left(\frac{r}{r_c}\right)^{\!3} \right] (\vec{p_j}\times\vec{r}) \\ + T_{pp} = T_{ij} = & -\frac{1}{r^3}\left[1-4\left(\frac{r}{r_c}\right)^{\!3} + + e3\left(\frac{r}{r_c}\right)^{\!4}\right] (\vec{p_i} \times \vec{p_j}) + \\ + & \frac{3}{r^5}\left[1-4\left(\frac{r}{r_c}\right)^{\!3} + + 3\left(\frac{r}{r_c}\right)^{\!4}\right] (\vec{p_j}\bullet\vec{r}) + (\vec{p_i} \times \vec{r}) \\ + T_{pp} = T_{ji} = & -\frac{1}{r^3}\left[1-4\left(\frac{r}{r_c}\right)^{\!3} + + 3\left(\frac{r}{r_c}\right)^{\!4}\right](\vec{p_j} \times \vec{p_i}) + \\ + & \frac{3}{r^5}\left[1-4\left(\frac{r}{r_c}\right)^{\!3} + + 3\left(\frac{r}{r_c}\right)^{\!4}\right] (\vec{p_i} \bullet \vec{r}) + (\vec{p_j} \times \vec{r}) + +where :math:`\epsilon` and :math:`\sigma` are the standard LJ +parameters, :math:`r_c` is the cutoff, :math:`q_i` and :math:`q_j` are +the charges on the two particles, :math:`\vec{p_i}` and +:math:`\vec{p_j}` are the dipole moment vectors of the two particles, r +is their separation distance, and the vector r = Ri - Rj is the +separation vector between the two particles. Note that Eqq and Fqq are +simply Coulombic energy and force, Fij = -Fji as symmetric forces, and +Tij != -Tji since the torques do not act symmetrically. The +shifted-force formula for the Lennard-Jones potential is reported in +:ref:`(Stoddard) `. The original (non-shifted) formulas for +the electrostatic potentials, forces and torques can be found in +:ref:`(Price) `. The shifted-force electrostatic potentials have +been obtained by applying equation 5.13 of :ref:`(Allen) `. The +formulas for the corresponding forces and torques have been obtained by +applying the 'chain rule' as in appendix C.3 of :ref:`(Allen) `. + +If one cutoff is specified in the pair_style command, it is used for +both the LJ and Coulombic (q,p) terms. If two cutoffs are specified, +they are used as cutoffs for the LJ and Coulombic (q,p) terms +respectively. This pair style also supports an optional *scale* keyword +as part of a pair_coeff statement, where the interactions can be +scaled according to this factor. This scale factor is also made available +for use with fix adapt. + +Style *lj/cut/dipole/long* computes long-range point-dipole +interactions as discussed in :ref:`(Toukmaji) `. Dipole-dipole, +dipole-charge, and charge-charge interactions are all supported, along +with the standard 12/6 Lennard-Jones interactions, which are computed +with a cutoff. A :doc:`kspace_style ` must be defined to +use this pair style. Currently, only :doc:`kspace_style ewald/disp ` support long-range point-dipole +interactions. + +Style *lj/long/dipole/long* also computes point-dipole interactions as +discussed in :ref:`(Toukmaji) `. Long-range dipole-dipole, +dipole-charge, and charge-charge interactions are all supported, along +with the standard 12/6 Lennard-Jones interactions. LJ interactions +can be cutoff or long-ranged. + +For style *lj/long/dipole/long*\ , if *flag_lj* is set to *long*\ , no +cutoff is used on the LJ 1/r\^6 dispersion term. The long-range +portion is calculated by using the :doc:`kspace_style ewald_disp ` command. The specified LJ cutoff then +determines which portion of the LJ interactions are computed directly +by the pair potential versus which part is computed in reciprocal +space via the Kspace style. If *flag_lj* is set to *cut*\ , the LJ +interactions are simply cutoff, as with :doc:`pair_style lj/cut `. If *flag_lj* is set to *off*\ , LJ interactions +are not computed at all. + +If *flag_coul* is set to *long*\ , no cutoff is used on the Coulombic or +dipole interactions. The long-range portion is calculated by using +*ewald_disp* of the :doc:`kspace_style ` command. If +*flag_coul* is set to *off*\ , Coulombic and dipole interactions are not +computed at all. + +Atoms with dipole moments should be integrated using the :doc:`fix nve/sphere update dipole ` or the :doc:`fix nvt/sphere update dipole ` command to rotate the +dipole moments. The *omega* option on the :doc:`fix langevin ` command can be used to thermostat the +rotational motion. The :doc:`compute temp/sphere ` +command can be used to monitor the temperature, since it includes +rotational degrees of freedom. The :doc:`atom_style hybrid dipole sphere ` command should be used since +it defines the point dipoles and their rotational state. +The magnitude and orientation of the dipole moment for each particle +can be defined by the :doc:`set ` command or in the "Atoms" section +of the data file read in by the :doc:`read_data ` command. + +The following coefficients must be defined for each pair of atoms +types via the :doc:`pair_coeff ` command as in the examples +above, or in the data file or restart files read by the +:doc:`read_data ` or :doc:`read_restart ` +commands, or by mixing as described below: + +* :math:`\epsilon` (energy units) +* :math:`\sigma` (distance units) +* cutoff1 (distance units) +* cutoff2 (distance units) + +The latter 2 coefficients are optional. If not specified, the global +LJ and Coulombic cutoffs specified in the pair_style command are used. +If only one cutoff is specified, it is used as the cutoff for both LJ +and Coulombic interactions for this type pair. If both coefficients +are specified, they are used as the LJ and Coulombic cutoffs for this +type pair. + +---------- + +.. include:: accel_styles.rst + +---------- + +Mixing, shift, table, tail correction, restart, rRESPA info +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" + +For atom type pairs I,J and I != J, the epsilon and sigma coefficients +and cutoff distances for this pair style can be mixed. The default +mix value is *geometric*\ . See the "pair_modify" command for details. + +For atom type pairs I,J and I != J, the A, sigma, d1, and d2 +coefficients and cutoff distance for this pair style can be mixed. A +is an energy value mixed like a LJ epsilon. D1 and d2 are distance +values and are mixed like sigma. The default mix value is +*geometric*\ . See the "pair_modify" command for details. + +This pair style does not support the :doc:`pair_modify ` +shift option for the energy of the Lennard-Jones portion of the pair +interaction; such energy goes to zero at the cutoff by construction. + +The :doc:`pair_modify ` table option is not relevant +for this pair style. + +This pair style does not support the :doc:`pair_modify ` +tail option for adding long-range tail corrections to energy and +pressure. + +This pair style writes its information to :doc:`binary restart files `, so pair_style and pair_coeff commands do not need +to be specified in an input script that reads a restart file. + +This pair style can only be used via the *pair* keyword of the +:doc:`run_style respa ` command. It does not support the +*inner*\ , *middle*\ , *outer* keywords. + +Restrictions +"""""""""""" + +The *lj/cut/dipole/cut*\ , *lj/cut/dipole/long*\ , and +*lj/long/dipole/long* styles are part of the DIPOLE package. They are +only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. + +The *lj/sf/dipole/sf* style is part of the USER-MISC package. It is +only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. + +Using dipole pair styles with *electron* :doc:`units ` is not +currently supported. + +Related commands +"""""""""""""""" + +:doc:`pair_coeff `, :doc:`set `, :doc:`read_data `, +:doc:`fix nve/sphere `, :doc:`fix nvt/sphere ` + +Default +""""""" + +none + diff --git a/doc/src/pair_style.rst b/doc/src/pair_style.rst index 14b30c124a..1f023a7312 100644 --- a/doc/src/pair_style.rst +++ b/doc/src/pair_style.rst @@ -133,6 +133,7 @@ accelerated styles exist. * :doc:`comb3 ` - charge-optimized many-body (COMB3) potential * :doc:`cosine/squared ` - Cooke-Kremer-Deserno membrane model potential * :doc:`coul/cut ` - cutoff Coulomb potential +* :doc:`coul/cut/dielectric ` - * :doc:`coul/cut/global ` - cutoff Coulomb potential * :doc:`coul/cut/soft ` - Coulomb potential with a soft core * :doc:`coul/debye ` - cutoff Coulomb potential with Debye screening @@ -140,6 +141,7 @@ accelerated styles exist. * :doc:`coul/dsf ` - Coulomb with damped-shifted-force model * :doc:`coul/long ` - long-range Coulomb potential * :doc:`coul/long/cs ` - long-range Coulomb potential and core/shell +* :doc:`coul/long/dielectric ` - * :doc:`coul/long/soft ` - long-range Coulomb potential with a soft core * :doc:`coul/msm ` - long-range MSM Coulomb * :doc:`coul/slater/cut ` - smeared out Coulomb @@ -209,13 +211,17 @@ accelerated styles exist. * :doc:`lj/cubic ` - LJ with cubic after inflection point * :doc:`lj/cut ` - cutoff Lennard-Jones potential without Coulomb * :doc:`lj/cut/coul/cut ` - LJ with cutoff Coulomb +* :doc:`lj/cut/coul/cut/dielectric ` - * :doc:`lj/cut/coul/cut/soft ` - LJ with cutoff Coulomb with a soft core * :doc:`lj/cut/coul/debye ` - LJ with Debye screening added to Coulomb +* :doc:`lj/cut/coul/debye/dielectric ` - * :doc:`lj/cut/coul/dsf ` - LJ with Coulomb via damped shifted forces * :doc:`lj/cut/coul/long ` - LJ with long-range Coulomb * :doc:`lj/cut/coul/long/cs ` - LJ with long-range Coulomb with core/shell adjustments +* :doc:`lj/cut/coul/long/dielectric ` - * :doc:`lj/cut/coul/long/soft ` - LJ with long-range Coulomb with a soft core * :doc:`lj/cut/coul/msm ` - LJ with long-range MSM Coulomb +* :doc:`lj/cut/coul/msm/dielectric ` - * :doc:`lj/cut/coul/wolf ` - LJ with Coulomb via Wolf potential * :doc:`lj/cut/dipole/cut ` - point dipoles with cutoff * :doc:`lj/cut/dipole/long ` - point dipoles with long-range Ewald @@ -229,6 +235,7 @@ accelerated styles exist. * :doc:`lj/gromacs ` - GROMACS-style Lennard-Jones potential * :doc:`lj/gromacs/coul/gromacs ` - GROMACS-style LJ and Coulomb potential * :doc:`lj/long/coul/long ` - long-range LJ and long-range Coulomb +* :doc:`lj/long/coul/long/dielectric ` - * :doc:`lj/long/dipole/long ` - long-range LJ and long-range point dipoles * :doc:`lj/long/tip4p/long ` - long-range LJ and long-range Coulomb for TIP4P water * :doc:`lj/mdf ` - LJ potential with a taper function From 0bc86a7eea533ebde0e3b69b8fe7dc167ffed033 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 5 Jun 2021 21:43:38 -0400 Subject: [PATCH 165/726] modernize and reformat code --- .../fix_polarize_bem_gmres.cpp | 378 +++++++++--------- src/USER-DIELECTRIC/fix_polarize_bem_icc.cpp | 200 +++++---- .../fix_polarize_functional.cpp | 359 ++++++++--------- 3 files changed, 461 insertions(+), 476 deletions(-) diff --git a/src/USER-DIELECTRIC/fix_polarize_bem_gmres.cpp b/src/USER-DIELECTRIC/fix_polarize_bem_gmres.cpp index 296c9c3835..2fd3d14b3f 100644 --- a/src/USER-DIELECTRIC/fix_polarize_bem_gmres.cpp +++ b/src/USER-DIELECTRIC/fix_polarize_bem_gmres.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/ Sandia National Laboratories @@ -47,13 +46,13 @@ #include "math_const.h" #include "memory.h" #include "modify.h" +#include "msm_dielectric.h" #include "pair_coul_cut_dielectric.h" #include "pair_coul_long_dielectric.h" #include "pair_lj_cut_coul_cut_dielectric.h" #include "pair_lj_cut_coul_long_dielectric.h" #include "pair_lj_cut_coul_msm_dielectric.h" #include "pppm_dielectric.h" -#include "msm_dielectric.h" #include "random_park.h" #include "timer.h" #include "update.h" @@ -70,19 +69,19 @@ using namespace MathConst; /* ---------------------------------------------------------------------- */ FixPolarizeBEMGMRES::FixPolarizeBEMGMRES(LAMMPS *lmp, int narg, char **arg) : - Fix(lmp, narg, arg), - q_backup(NULL), c(NULL), g(NULL), h(NULL), r(NULL), s(NULL), v(NULL), y(NULL) + Fix(lmp, narg, arg), q_backup(NULL), c(NULL), g(NULL), h(NULL), r(NULL), s(NULL), v(NULL), + y(NULL) { - if (narg < 5) error->all(FLERR,"Illegal fix polarize/bem/gmres command"); + if (narg < 5) error->all(FLERR, "Illegal fix polarize/bem/gmres command"); avec = (AtomVecDielectric *) atom->style_match("dielectric"); - if (!avec) error->all(FLERR,"Fix polarize requires atom style dielectric"); + if (!avec) error->all(FLERR, "Fix polarize requires atom style dielectric"); // parse required arguments - nevery = utils::numeric(FLERR,arg[3],false,lmp); - if (nevery < 0) error->all(FLERR,"Illegal fix polarize/bem/gmres command"); - double tol = utils::numeric(FLERR,arg[4],false,lmp); + nevery = utils::numeric(FLERR, arg[3], false, lmp); + if (nevery < 0) error->all(FLERR, "Illegal fix polarize/bem/gmres command"); + double tol = utils::numeric(FLERR, arg[4], false, lmp); tol_abs = tol_rel = tol; itr_max = 20; @@ -112,7 +111,7 @@ FixPolarizeBEMGMRES::FixPolarizeBEMGMRES(LAMMPS *lmp, int narg, char **arg) : if (atom->avec->forceclearflag) extraflag = 1; grow_arrays(atom->nmax); - atom->add_callback(0); // to ensure to work with atom->sort() + atom->add_callback(0); // to ensure to work with atom->sort() // output the residual and actual number of iterations @@ -135,7 +134,7 @@ FixPolarizeBEMGMRES::~FixPolarizeBEMGMRES() memory->destroy(tag2mat); if (allocated) deallocate(); - atom->delete_callback(id,0); + atom->delete_callback(id, 0); } /* ---------------------------------------------------------------------- */ @@ -153,7 +152,7 @@ void FixPolarizeBEMGMRES::init() { // mapping induced charge matrix/vector to atom tags and vice versa - int i,maxtag; + int i, maxtag; double *q = atom->q; int *mask = atom->mask; tagint *tag = atom->tag; @@ -161,28 +160,30 @@ void FixPolarizeBEMGMRES::init() tagint max_tag = -1; for (i = 0; i < nlocal; i++) - if (mask[i] & groupbit) max_tag = MAX(max_tag,tag[i]); + if (mask[i] & groupbit) max_tag = MAX(max_tag, tag[i]); tagint itmp; - MPI_Allreduce(&max_tag,&itmp,1,MPI_LMP_TAGINT,MPI_MAX,world); + MPI_Allreduce(&max_tag, &itmp, 1, MPI_LMP_TAGINT, MPI_MAX, world); maxtag = (int) itmp; int *ncount; - memory->create(ncount,maxtag+1,"polarize:ncount"); + memory->create(ncount, maxtag + 1, "polarize:ncount"); for (i = 0; i <= maxtag; i++) ncount[i] = 0; for (i = 0; i < nlocal; i++) if (mask[i] & groupbit) ncount[tag[i]]++; - memory->create(tag2mat,maxtag+1,"polarize:tag2mat"); - MPI_Allreduce(ncount,tag2mat,maxtag+1,MPI_INT,MPI_SUM,world); + memory->create(tag2mat, maxtag + 1, "polarize:tag2mat"); + MPI_Allreduce(ncount, tag2mat, maxtag + 1, MPI_INT, MPI_SUM, world); num_induced_charges = 0; for (i = 0; i <= maxtag; i++) - if (tag2mat[i]) tag2mat[i] = num_induced_charges++; - else tag2mat[i] = -1; + if (tag2mat[i]) + tag2mat[i] = num_induced_charges++; + else + tag2mat[i] = -1; - memory->create(mat2tag,num_induced_charges,"polarize:mat2tag"); + memory->create(mat2tag, num_induced_charges, "polarize:mat2tag"); num_induced_charges = 0; for (i = 0; i <= maxtag; i++) @@ -197,9 +198,9 @@ void FixPolarizeBEMGMRES::init() // allocate memory for the solver - memory->create(induced_charges,num_induced_charges,"polarize:induced_charges"); - memory->create(rhs,num_induced_charges,"polarize:rhs"); - memory->create(buffer,num_induced_charges,"polarize:buffer"); + memory->create(induced_charges, num_induced_charges, "polarize:induced_charges"); + memory->create(rhs, num_induced_charges, "polarize:rhs"); + memory->create(buffer, num_induced_charges, "polarize:buffer"); mat_dim = num_induced_charges; if (mr > mat_dim - 1 || mr <= 0) mr = mat_dim - 1; @@ -213,16 +214,16 @@ void FixPolarizeBEMGMRES::init() if (randomized) { - RanPark *random = new RanPark(lmp,seed_charge + comm->me); + RanPark *random = new RanPark(lmp, seed_charge + comm->me); for (i = 0; i < 100; i++) random->uniform(); - double sum,tmp = 0; + double sum, tmp = 0; for (i = 0; i < nlocal; i++) { if (induced_charge_idx[i] < 0) continue; - q[i] = ave_charge*(random->uniform() - 0.5); + q[i] = ave_charge * (random->uniform() - 0.5); tmp += q[i]; } - MPI_Allreduce(&tmp,&sum,1,MPI_DOUBLE,MPI_SUM,world); - sum /= (double)num_induced_charges; + MPI_Allreduce(&tmp, &sum, 1, MPI_DOUBLE, MPI_SUM, world); + sum /= (double) num_induced_charges; tmp = 0; for (i = 0; i < nlocal; i++) { @@ -230,20 +231,17 @@ void FixPolarizeBEMGMRES::init() q[i] -= sum; tmp += q[i]; } - MPI_Allreduce(&tmp,&sum,1,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(&tmp, &sum, 1, MPI_DOUBLE, MPI_SUM, world); - if (comm->me == 0) { - if (screen) fprintf(screen, "ave induced charge q = %g\n", sum); - } + if (comm->me == 0) utils::logmesg(lmp, "ave induced charge q = {:.8}\n", sum); delete random; } - if (comm->me == 0) { - if (screen) fprintf(screen,"GMRES solver for %d induced charges " - "using maximum %d q-vectors\n",num_induced_charges,mr); - if (logfile) fprintf(logfile,"GMRES solver for %d induced charges " - "using maximum %d q-vectors\n",num_induced_charges,mr); - } + if (comm->me == 0) + utils::logmesg(lmp, + "GMRES solver for {} induced charges " + "using maximum {} q-vectors\n", + num_induced_charges, mr); } /* ---------------------------------------------------------------------- */ @@ -252,30 +250,33 @@ void FixPolarizeBEMGMRES::setup(int vflag) { // check if the pair styles in use are compatible - if (strcmp(force->pair_style,"lj/cut/coul/long/dielectric") == 0) - efield_pair = ((PairLJCutCoulLongDielectric*)force->pair)->efield; - else if (strcmp(force->pair_style,"lj/cut/coul/long/dielectric/omp") == 0) - efield_pair = ((PairLJCutCoulLongDielectric*)force->pair)->efield; - else if (strcmp(force->pair_style,"lj/cut/coul/msm/dielectric") == 0) - efield_pair = ((PairLJCutCoulMSMDielectric*)force->pair)->efield; - else if (strcmp(force->pair_style,"lj/cut/coul/cut/dielectric") == 0) - efield_pair = ((PairLJCutCoulCutDielectric*)force->pair)->efield; - else if (strcmp(force->pair_style,"lj/cut/coul/cut/dielectric/omp") == 0) - efield_pair = ((PairLJCutCoulCutDielectric*)force->pair)->efield; - else if (strcmp(force->pair_style,"coul/long/dielectric") == 0) - efield_pair = ((PairCoulLongDielectric*)force->pair)->efield; - else if (strcmp(force->pair_style,"coul/cut/dielectric") == 0) - efield_pair = ((PairCoulCutDielectric*)force->pair)->efield; - else error->all(FLERR,"Pair style not compatible with fix polarize"); + if (strcmp(force->pair_style, "lj/cut/coul/long/dielectric") == 0) + efield_pair = ((PairLJCutCoulLongDielectric *) force->pair)->efield; + else if (strcmp(force->pair_style, "lj/cut/coul/long/dielectric/omp") == 0) + efield_pair = ((PairLJCutCoulLongDielectric *) force->pair)->efield; + else if (strcmp(force->pair_style, "lj/cut/coul/msm/dielectric") == 0) + efield_pair = ((PairLJCutCoulMSMDielectric *) force->pair)->efield; + else if (strcmp(force->pair_style, "lj/cut/coul/cut/dielectric") == 0) + efield_pair = ((PairLJCutCoulCutDielectric *) force->pair)->efield; + else if (strcmp(force->pair_style, "lj/cut/coul/cut/dielectric/omp") == 0) + efield_pair = ((PairLJCutCoulCutDielectric *) force->pair)->efield; + else if (strcmp(force->pair_style, "coul/long/dielectric") == 0) + efield_pair = ((PairCoulLongDielectric *) force->pair)->efield; + else if (strcmp(force->pair_style, "coul/cut/dielectric") == 0) + efield_pair = ((PairCoulCutDielectric *) force->pair)->efield; + else + error->all(FLERR, "Pair style not compatible with fix polarize"); if (kspaceflag) { if (force->kspace) { - if (strcmp(force->kspace_style,"pppm/dielectric") == 0) - efield_kspace = ((PPPMDielectric*)force->kspace)->efield; - else if (strcmp(force->kspace_style,"msm/dielectric") == 0) - efield_kspace = ((MSMDielectric*)force->kspace)->efield; - else error->all(FLERR,"Kspace style not compatible with fix polarize/bem/gmres"); - } else error->all(FLERR,"No Kspace style available for fix polarize/bem/gmres"); + if (strcmp(force->kspace_style, "pppm/dielectric") == 0) + efield_kspace = ((PPPMDielectric *) force->kspace)->efield; + else if (strcmp(force->kspace_style, "msm/dielectric") == 0) + efield_kspace = ((MSMDielectric *) force->kspace)->efield; + else + error->all(FLERR, "Kspace style not compatible with fix polarize/bem/gmres"); + } else + error->all(FLERR, "No Kspace style available for fix polarize/bem/gmres"); } first = 1; @@ -336,8 +337,8 @@ void FixPolarizeBEMGMRES::compute_induced_charges() // Note: the right-hand side (b) is in the unit of charge density force_clear(); - force->pair->compute(eflag,vflag); - if (kspaceflag) force->kspace->compute(eflag,vflag); + force->pair->compute(eflag, vflag); + if (kspaceflag) force->kspace->compute(eflag, vflag); if (force->newton) comm->reverse_comm(); for (int i = 0; i < num_induced_charges; i++) buffer[i] = 0; @@ -357,12 +358,12 @@ void FixPolarizeBEMGMRES::compute_induced_charges() Ey += efield_kspace[i][1]; Ez += efield_kspace[i][2]; } - double dot = (Ex*norm[i][0] + Ey*norm[i][1] + Ez*norm[i][2]) / epsilon[i]; + double dot = (Ex * norm[i][0] + Ey * norm[i][1] + Ez * norm[i][2]) / epsilon[i]; double sigma_f = q_real[i] / area[i]; - buffer[idx] = (1 - em[i]) * sigma_f - epsilon0 * ed[i] * dot / (4*MY_PI); + buffer[idx] = (1 - em[i]) * sigma_f - epsilon0 * ed[i] * dot / (4 * MY_PI); } - MPI_Allreduce(buffer,rhs,num_induced_charges,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(buffer, rhs, num_induced_charges, MPI_DOUBLE, MPI_SUM, world); // compute the initial residual r before iteration // while it seems that assigning induced charges to the last values @@ -391,7 +392,7 @@ void FixPolarizeBEMGMRES::compute_induced_charges() for (int i = 0; i < nlocal; i++) { if (induced_charge_idx[i] >= 0) { int idx = induced_charge_idx[i]; - q[i] = induced_charges[idx]*area[i] + q_real[i]; + q[i] = induced_charges[idx] * area[i] + q_real[i]; } else { q[i] = q_backup[i]; } @@ -400,22 +401,21 @@ void FixPolarizeBEMGMRES::compute_induced_charges() comm->forward_comm_fix(this); if (first) first = 0; - } /* ---------------------------------------------------------------------- */ -void FixPolarizeBEMGMRES::gmres_solve(double* x, double* r) +void FixPolarizeBEMGMRES::gmres_solve(double *x, double *r) { - int i,j,k,k_copy,n,itr; - double av,htmp,mu,rho_tol; + int i, j, k, k_copy, n, itr; + double av, htmp, mu, rho_tol; double delta = 1.0e-03; n = mat_dim; // compute the relative tolerance // rho = norm(r) - rho = sqrt( vec_dot(r, r, n) ); + rho = sqrt(vec_dot(r, r, n)); rho_tol = rho * tol_rel; // the outer loop to itr_max @@ -425,15 +425,14 @@ void FixPolarizeBEMGMRES::gmres_solve(double* x, double* r) // the first vector v (i.e. v[0]) is the updated residual normalized - for (i = 0; i < n; i++) - v[i+0*n] = r[i] / rho; + for (i = 0; i < n; i++) v[i + 0 * n] = r[i] / rho; g[0] = rho; for (i = 1; i <= mr; i++) g[i] = 0.0; // fill up h with zero - memset(h, 0, (mr+1)*mr*sizeof(double)); + memset(h, 0, (mr + 1) * mr * sizeof(double)); // the inner loop k = 1..(n-1) // build up the k-th Krylov space, @@ -448,43 +447,40 @@ void FixPolarizeBEMGMRES::gmres_solve(double* x, double* r) // here is the tricky part: v(k-1) plays a role as "charges" // matvec(a, v+(k-1)*n, v+k*n, n); - apply_operator(v+(k-1)*n, v+k*n, n); + apply_operator(v + (k - 1) * n, v + k * n, n); // compute the norm of the vector v(k) - av = sqrt(vec_dot(v+k*n, v+k*n, n)); + av = sqrt(vec_dot(v + k * n, v + k * n, n)); // Arnoldi iteration to find v's // orthogonalize the k vectors v(1) . . . v(k) for (j = 1; j <= k; j++) { - h[(j-1)+(k-1)*(mr+1)] = vec_dot(v+k*n, v+(j-1)*n, n); + h[(j - 1) + (k - 1) * (mr + 1)] = vec_dot(v + k * n, v + (j - 1) * n, n); for (i = 0; i < n; i++) - v[i+k*n] = v[i+k*n] - h[(j-1)+(k-1)*(mr+1)] * v[i+(j-1)*n]; + v[i + k * n] = v[i + k * n] - h[(j - 1) + (k - 1) * (mr + 1)] * v[i + (j - 1) * n]; } // compute the norm of the newly created vector v(k) - h[k+(k-1)*(mr+1)] = sqrt(vec_dot(v+k*n, v+k*n, n)); + h[k + (k - 1) * (mr + 1)] = sqrt(vec_dot(v + k * n, v + k * n, n)); // if the norm is close to zero, repeat the above orthogonalization - if ((av + delta * h[k+(k-1)*(mr+1)]) == av) { + if ((av + delta * h[k + (k - 1) * (mr + 1)]) == av) { for (j = 1; j <= k; j++) { - htmp = vec_dot(v+k*n, v+(j-1)*n, n); - h[(j-1)+(k-1)*(mr+1)] = h[(j-1)+(k-1)*(mr+1)] + htmp; - for (i = 0; i < n; i++) - v[i+k*n] = v[i+k*n] - htmp * v[i+(j-1)*n]; + htmp = vec_dot(v + k * n, v + (j - 1) * n, n); + h[(j - 1) + (k - 1) * (mr + 1)] = h[(j - 1) + (k - 1) * (mr + 1)] + htmp; + for (i = 0; i < n; i++) v[i + k * n] = v[i + k * n] - htmp * v[i + (j - 1) * n]; } - h[k+(k-1)*(mr+1)] = sqrt( vec_dot(v+k*n, v+k*n, n) ); + h[k + (k - 1) * (mr + 1)] = sqrt(vec_dot(v + k * n, v + k * n, n)); } // if the norm of v(k) is nonzero, normalize v(k) - if (h[k+(k-1)*(mr+1)] != 0.0) { - for (i = 0; i < n; i++) { - v[i+k*n] = v[i+k*n] / h[k+(k-1)*(mr+1)]; - } + if (h[k + (k - 1) * (mr + 1)] != 0.0) { + for (i = 0; i < n; i++) { v[i + k * n] = v[i + k * n] / h[k + (k - 1) * (mr + 1)]; } } // if k is not the first iteration, @@ -495,71 +491,65 @@ void FixPolarizeBEMGMRES::gmres_solve(double* x, double* r) // update y(i-1) <- h(k-1, i-1) for i = 1...(k+1) - for (i = 1; i <= k + 1; i++) - y[i-1] = h[(i-1)+(k-1)*(mr+1)]; + for (i = 1; i <= k + 1; i++) y[i - 1] = h[(i - 1) + (k - 1) * (mr + 1)]; // apply the Given rotation to y[j-1] and y[j] for j = 1..(k-1) - for (j = 1; j <= k - 1; j++) - mult_givens(c[j-1], s[j-1], j-1, y); + for (j = 1; j <= k - 1; j++) mult_givens(c[j - 1], s[j - 1], j - 1, y); // update h(k-1, i-1) <- y(i-1) for i = 1..(k_1) - for (i = 1; i <= k + 1; i++) - h[i-1+(k-1)*(mr+1)] = y[i-1]; + for (i = 1; i <= k + 1; i++) h[i - 1 + (k - 1) * (mr + 1)] = y[i - 1]; } // compute cosine and sine terms of the Given rotations - mu = sqrt(h[(k-1)+(k-1)*(mr+1)]*h[(k-1)+(k-1)*(mr+1)] - + h[ k +(k-1)*(mr+1)]*h[ k +(k-1)*(mr+1)]); - c[k-1] = h[(k-1)+(k-1)*(mr+1)] / mu; - s[k-1] = -h[ k +(k-1)*(mr+1)] / mu; + mu = sqrt(h[(k - 1) + (k - 1) * (mr + 1)] * h[(k - 1) + (k - 1) * (mr + 1)] + + h[k + (k - 1) * (mr + 1)] * h[k + (k - 1) * (mr + 1)]); + c[k - 1] = h[(k - 1) + (k - 1) * (mr + 1)] / mu; + s[k - 1] = -h[k + (k - 1) * (mr + 1)] / mu; // update h(k-1,k-1) and set h(k-1,k) to zero - h[(k-1)+(k-1)*(mr+1)] = c[k-1] * h[(k-1)+(k-1)*(mr+1)] - - s[k-1] * h[ k +(k-1)*(mr+1)]; - h[k +(k-1)*(mr+1)] = 0; + h[(k - 1) + (k - 1) * (mr + 1)] = + c[k - 1] * h[(k - 1) + (k - 1) * (mr + 1)] - s[k - 1] * h[k + (k - 1) * (mr + 1)]; + h[k + (k - 1) * (mr + 1)] = 0; // apply the Givens rotation to g[k-1] and g[k] - mult_givens(c[k-1], s[k-1], k-1, g); + mult_givens(c[k - 1], s[k - 1], k - 1, g); // compute the norm of the residual rho = fabs(g[k]); - #ifdef _POLARIZE_DEBUG +#ifdef _POLARIZE_DEBUG if (comm->me == 0) { char message[256]; - sprintf(message, "itr = %d: k = %d, norm(r) = %g norm(b) = %g", - itr, k, rho, normb); + sprintf(message, "itr = %d: k = %d, norm(r) = %g norm(b) = %g", itr, k, rho, normb); error->warning(FLERR, message); } - #endif +#endif - if (rho <= rho_tol && rho <= tol_abs) - break; + if (rho <= rho_tol && rho <= tol_abs) break; } k = k_copy - 1; // compute the estimate y from h - y[k] = g[k] / h[k + k*(mr+1)]; + y[k] = g[k] / h[k + k * (mr + 1)]; for (i = k; i >= 1; i--) { - y[i-1] = g[i-1]; + y[i - 1] = g[i - 1]; for (j = i + 1; j <= k + 1; j++) - y[i-1] = y[i-1] - h[(i-1)+(j-1)*(mr+1)] * y[j-1]; - y[i-1] = y[i-1] / h[(i-1)+(i-1)*(mr+1)]; + y[i - 1] = y[i - 1] - h[(i - 1) + (j - 1) * (mr + 1)] * y[j - 1]; + y[i - 1] = y[i - 1] / h[(i - 1) + (i - 1) * (mr + 1)]; } // update x at the current iteration: x <- Q(n by k) * y (k by 1) for (i = 1; i <= n; i++) { - for (j = 1; j <= k + 1; j++) - x[i-1] = x[i-1] + v[(i-1)+(j-1)*n] * y[j-1]; + for (j = 1; j <= k + 1; j++) x[i - 1] = x[i - 1] + v[(i - 1) + (j - 1) * n] * y[j - 1]; } // update the residual with the updated induced charges (x) @@ -568,16 +558,15 @@ void FixPolarizeBEMGMRES::gmres_solve(double* x, double* r) // rho = norm(r) - rho = sqrt( vec_dot(r, r, n) ); + rho = sqrt(vec_dot(r, r, n)); - #ifdef _POLARIZE_DEBUG +#ifdef _POLARIZE_DEBUG if (comm->me == 0) { char message[256]; - sprintf(message, "itr = %d: norm(r) = %g norm(b) = %g", - itr, rho, normb); + sprintf(message, "itr = %d: norm(r) = %g norm(b) = %g", itr, rho, normb); error->warning(FLERR, message); } - #endif +#endif // Barros et al. suggested the condition: norm(r) < EPSILON norm(b) @@ -596,7 +585,7 @@ void FixPolarizeBEMGMRES::gmres_solve(double* x, double* r) matvec(A, v(k-1), v(k), n); ------------------------------------------------------------------------- */ -void FixPolarizeBEMGMRES::apply_operator(double* w, double* Aw, int n) +void FixPolarizeBEMGMRES::apply_operator(double *w, double *Aw, int n) { int i; double *q = atom->q; @@ -621,7 +610,7 @@ void FixPolarizeBEMGMRES::apply_operator(double* w, double* Aw, int n) q[i] = 0; } else { int idx = induced_charge_idx[i]; - q[i] = w[idx]*area[i]; + q[i] = w[idx] * area[i]; } } @@ -630,8 +619,8 @@ void FixPolarizeBEMGMRES::apply_operator(double* w, double* Aw, int n) // compute the electrical field due to w*area: y = A (w*area) force_clear(); - force->pair->compute(eflag,vflag); - if (kspaceflag) force->kspace->compute(eflag,vflag); + force->pair->compute(eflag, vflag); + if (kspaceflag) force->kspace->compute(eflag, vflag); if (force->newton) comm->reverse_comm(); // now efield is the electrical field due to induced charges only @@ -652,11 +641,11 @@ void FixPolarizeBEMGMRES::apply_operator(double* w, double* Aw, int n) Ey += efield_kspace[i][1]; Ez += efield_kspace[i][2]; } - double dot = (Ex*norm[i][0] + Ey*norm[i][1] + Ez*norm[i][2]) / epsilon[i]; - buffer[idx] = em[i] * w[idx] + epsilon0 * ed[i] * dot / (4*MY_PI); + double dot = (Ex * norm[i][0] + Ey * norm[i][1] + Ez * norm[i][2]) / epsilon[i]; + buffer[idx] = em[i] * w[idx] + epsilon0 * ed[i] * dot / (4 * MY_PI); } - MPI_Allreduce(buffer,Aw,num_induced_charges,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(buffer, Aw, num_induced_charges, MPI_DOUBLE, MPI_SUM, world); } /* ---------------------------------------------------------------------- @@ -666,7 +655,7 @@ void FixPolarizeBEMGMRES::apply_operator(double* w, double* Aw, int n) using Eq. (60) in Barros et al. ------------------------------------------------------------------------ */ -void FixPolarizeBEMGMRES::update_residual(double* w, double* r, int n) +void FixPolarizeBEMGMRES::update_residual(double *w, double *r, int n) { int i; double *q = atom->q; @@ -692,15 +681,15 @@ void FixPolarizeBEMGMRES::update_residual(double* w, double* r, int n) q[i] = q_backup[i]; } else { int idx = induced_charge_idx[i]; - q[i] = w[idx]*area[i] + q_real[i]; + q[i] = w[idx] * area[i] + q_real[i]; } } comm->forward_comm_fix(this); force_clear(); - force->pair->compute(eflag,vflag); - if (kspaceflag) force->kspace->compute(eflag,vflag); + force->pair->compute(eflag, vflag); + if (kspaceflag) force->kspace->compute(eflag, vflag); if (force->newton) comm->reverse_comm(); // compute the residual according to Eq. (60) in Barros et al. @@ -725,13 +714,12 @@ void FixPolarizeBEMGMRES::update_residual(double* w, double* r, int n) Ey += efield_kspace[i][1]; Ez += efield_kspace[i][2]; } - double dot = (Ex*norm[i][0] + Ey*norm[i][1] + Ez*norm[i][2]) / epsilon[i]; + double dot = (Ex * norm[i][0] + Ey * norm[i][1] + Ez * norm[i][2]) / epsilon[i]; double sigma_f = q_real[i] / area[i]; - buffer[idx] = (1 - em[i]) * sigma_f - em[i] * w[idx] - - epsilon0 * ed[i] * dot / (4*MY_PI); + buffer[idx] = (1 - em[i]) * sigma_f - em[i] * w[idx] - epsilon0 * ed[i] * dot / (4 * MY_PI); } - MPI_Allreduce(buffer,r,num_induced_charges,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(buffer, r, num_induced_charges, MPI_DOUBLE, MPI_SUM, world); } /* ---------------------------------------------------------------------- */ @@ -742,15 +730,15 @@ void FixPolarizeBEMGMRES::force_clear() if (force->newton) nbytes += sizeof(double) * atom->nghost; if (nbytes) { - memset(&atom->f[0][0],0,3*nbytes); - if (torqueflag) memset(&atom->torque[0][0],0,3*nbytes); - if (extraflag) atom->avec->force_clear(0,nbytes); + memset(&atom->f[0][0], 0, 3 * nbytes); + if (torqueflag) memset(&atom->torque[0][0], 0, 3 * nbytes); + if (extraflag) atom->avec->force_clear(0, nbytes); } } /* ---------------------------------------------------------------------- */ -double FixPolarizeBEMGMRES::vec_dot(const double* a1, const double* a2, int n) +double FixPolarizeBEMGMRES::vec_dot(const double *a1, const double *a2, int n) { double value = 0.0; for (int i = 0; i < n; i++) value += (a1[i] * a2[i]); @@ -764,18 +752,18 @@ double FixPolarizeBEMGMRES::vec_dot(const double* a1, const double* a2, int n) double FixPolarizeBEMGMRES::memory_usage() { double bytes = 0; - bytes += mat_dim*sizeof(double); // induced_charges - bytes += mat_dim*sizeof(double); // buffer - bytes += mat_dim*sizeof(double); // rhs - bytes += atom->nmax*sizeof(double); // induced_charge_idx - bytes += atom->nmax*sizeof(double); // q_backup - bytes += mr*sizeof(double); // c - bytes += (mr+1)*sizeof(double); // g - bytes += (mr+1)*mr*sizeof(double); // h - bytes += mat_dim*sizeof(double); // r - bytes += mr*(mr+1)*sizeof(double); // s - bytes += mat_dim*sizeof(double); // v - bytes += (mr+1)*mr*sizeof(double); // y + bytes += mat_dim * sizeof(double); // induced_charges + bytes += mat_dim * sizeof(double); // buffer + bytes += mat_dim * sizeof(double); // rhs + bytes += atom->nmax * sizeof(double); // induced_charge_idx + bytes += atom->nmax * sizeof(double); // q_backup + bytes += mr * sizeof(double); // c + bytes += (mr + 1) * sizeof(double); // g + bytes += (mr + 1) * mr * sizeof(double); // h + bytes += mat_dim * sizeof(double); // r + bytes += mr * (mr + 1) * sizeof(double); // s + bytes += mat_dim * sizeof(double); // v + bytes += (mr + 1) * mr * sizeof(double); // y return bytes; } @@ -784,12 +772,12 @@ double FixPolarizeBEMGMRES::memory_usage() void FixPolarizeBEMGMRES::allocate() { memory->create(c, mr, "polarize:c"); - memory->create(g, mr+1, "polarize:g"); - memory->create(h, (mr+1)*mr, "polarize:h"); + memory->create(g, mr + 1, "polarize:g"); + memory->create(h, (mr + 1) * mr, "polarize:h"); memory->create(r, mat_dim, "polarize:r"); memory->create(s, mr, "polarize:s"); - memory->create(v, mat_dim*(mr+1), "polarize:v"); - memory->create(y, mr+1, "polarize:y"); + memory->create(v, mat_dim * (mr + 1), "polarize:v"); + memory->create(y, mr + 1, "polarize:y"); } /* ---------------------------------------------------------------------- */ @@ -811,45 +799,49 @@ int FixPolarizeBEMGMRES::modify_param(int narg, char **arg) { int iarg = 0; while (iarg < narg) { - if (strcmp(arg[iarg],"itr_max") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal fix_modify command"); - itr_max = utils::numeric(FLERR,arg[iarg+1],false,lmp); + if (strcmp(arg[iarg], "itr_max") == 0) { + if (iarg + 2 > narg) error->all(FLERR, "Illegal fix_modify command"); + itr_max = utils::numeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; - } else if (strcmp(arg[iarg],"mr") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal fix_modify command"); - mr = utils::numeric(FLERR,arg[iarg+1],false,lmp); + } else if (strcmp(arg[iarg], "mr") == 0) { + if (iarg + 2 > narg) error->all(FLERR, "Illegal fix_modify command"); + mr = utils::numeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; - } else if (strcmp(arg[iarg],"kspace") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal fix_modify command"); - if (strcmp(arg[iarg+1],"yes") == 0) kspaceflag = 1; - else if (strcmp(arg[iarg+1],"no") == 0) kspaceflag = 0; - else error->all(FLERR,"Illegal fix_modify command for fix polarize"); + } else if (strcmp(arg[iarg], "kspace") == 0) { + if (iarg + 2 > narg) error->all(FLERR, "Illegal fix_modify command"); + if (strcmp(arg[iarg + 1], "yes") == 0) + kspaceflag = 1; + else if (strcmp(arg[iarg + 1], "no") == 0) + kspaceflag = 0; + else + error->all(FLERR, "Illegal fix_modify command for fix polarize"); iarg += 2; - } else if (strcmp(arg[iarg],"dielectrics") == 0) { - if (iarg+6 > narg) error->all(FLERR,"Illegal fix_modify command"); - double epsiloni=-1, areai=-1; - double qreali=0; - int set_charge=0; - double ediff = utils::numeric(FLERR,arg[iarg+1],false,lmp); - double emean = utils::numeric(FLERR,arg[iarg+2],false,lmp); - if (strcmp(arg[iarg+3],"NULL") != 0) - epsiloni = utils::numeric(FLERR,arg[iarg+3],false,lmp); - if (strcmp(arg[iarg+4],"NULL") != 0) - areai = utils::numeric(FLERR,arg[iarg+4],false,lmp); - if (strcmp(arg[iarg+5],"NULL") != 0) { - qreali = utils::numeric(FLERR,arg[iarg+5],false,lmp); + } else if (strcmp(arg[iarg], "dielectrics") == 0) { + if (iarg + 6 > narg) error->all(FLERR, "Illegal fix_modify command"); + double epsiloni = -1, areai = -1; + double qreali = 0; + int set_charge = 0; + double ediff = utils::numeric(FLERR, arg[iarg + 1], false, lmp); + double emean = utils::numeric(FLERR, arg[iarg + 2], false, lmp); + if (strcmp(arg[iarg + 3], "NULL") != 0) + epsiloni = utils::numeric(FLERR, arg[iarg + 3], false, lmp); + if (strcmp(arg[iarg + 4], "NULL") != 0) + areai = utils::numeric(FLERR, arg[iarg + 4], false, lmp); + if (strcmp(arg[iarg + 5], "NULL") != 0) { + qreali = utils::numeric(FLERR, arg[iarg + 5], false, lmp); set_charge = 1; } set_dielectric_params(ediff, emean, epsiloni, areai, set_charge, qreali); iarg += 6; - } else if (strcmp(arg[iarg],"rand") == 0) { - if (iarg+3 > narg) error->all(FLERR,"Illegal fix_modify command"); - ave_charge = utils::numeric(FLERR,arg[iarg+1],false,lmp); - seed_charge = utils::numeric(FLERR,arg[iarg+2],false,lmp); + } else if (strcmp(arg[iarg], "rand") == 0) { + if (iarg + 3 > narg) error->all(FLERR, "Illegal fix_modify command"); + ave_charge = utils::numeric(FLERR, arg[iarg + 1], false, lmp); + seed_charge = utils::numeric(FLERR, arg[iarg + 2], false, lmp); randomized = 1; iarg += 3; - } else error->all(FLERR,"Illegal fix_modify command"); + } else + error->all(FLERR, "Illegal fix_modify command"); } return iarg; @@ -862,8 +854,8 @@ int FixPolarizeBEMGMRES::modify_param(int narg, char **arg) void FixPolarizeBEMGMRES::grow_arrays(int n) { if (n > nmax) nmax = n; - memory->grow(induced_charge_idx,nmax,"polarize:induced_charge_idx"); - memory->grow(q_backup,nmax,"polarize:q_backup"); + memory->grow(induced_charge_idx, nmax, "polarize:induced_charge_idx"); + memory->grow(q_backup, nmax, "polarize:q_backup"); } /* ---------------------------------------------------------------------- @@ -886,8 +878,7 @@ void FixPolarizeBEMGMRES::set_arrays(int i) /* ---------------------------------------------------------------------- */ -int FixPolarizeBEMGMRES::pack_forward_comm(int n, int *list, double *buf, - int pbc_flag, int *pbc) +int FixPolarizeBEMGMRES::pack_forward_comm(int n, int *list, double *buf, int pbc_flag, int *pbc) { int m; for (m = 0; m < n; m++) buf[m] = atom->q[list[m]]; @@ -929,17 +920,20 @@ int FixPolarizeBEMGMRES::unpack_exchange(int nlocal, double *buf) double FixPolarizeBEMGMRES::compute_vector(int n) { - if (n == 0) return iterations; - else if (n == 1) return rho; - else return 0; + if (n == 0) + return iterations; + else if (n == 1) + return rho; + else + return 0; } /* ---------------------------------------------------------------------- set dielectric params for the atoms in the group ------------------------------------------------------------------------- */ -void FixPolarizeBEMGMRES::set_dielectric_params(double ediff, double emean, - double epsiloni, double areai, int set_charge, double qvalue) +void FixPolarizeBEMGMRES::set_dielectric_params(double ediff, double emean, double epsiloni, + double areai, int set_charge, double qvalue) { double *area = atom->area; double *ed = atom->ed; diff --git a/src/USER-DIELECTRIC/fix_polarize_bem_icc.cpp b/src/USER-DIELECTRIC/fix_polarize_bem_icc.cpp index 04f66a40e1..325e3044ff 100644 --- a/src/USER-DIELECTRIC/fix_polarize_bem_icc.cpp +++ b/src/USER-DIELECTRIC/fix_polarize_bem_icc.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/ Sandia National Laboratories @@ -43,7 +42,6 @@ #include "pair_lj_cut_coul_msm_dielectric.h" #include "pppm_dielectric.h" #include "random_park.h" -//#include "timer.h" #include "update.h" #include @@ -57,19 +55,18 @@ using namespace MathConst; /* ---------------------------------------------------------------------- */ -FixPolarizeBEMICC::FixPolarizeBEMICC(LAMMPS *lmp, int narg, char **arg) : - Fix(lmp, narg, arg) +FixPolarizeBEMICC::FixPolarizeBEMICC(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) { - if (narg < 5) error->all(FLERR,"Illegal fix polarize/bem/icc command"); + if (narg < 5) error->all(FLERR, "Illegal fix polarize/bem/icc command"); avec = (AtomVecDielectric *) atom->style_match("dielectric"); - if (!avec) error->all(FLERR,"Fix polarize requires atom style dielectric"); + if (!avec) error->all(FLERR, "Fix polarize requires atom style dielectric"); // parse required arguments - nevery = utils::inumeric(FLERR,arg[3],false,lmp); - if (nevery < 0) error->all(FLERR,"Illegal fix polarize/bem/icc command"); - double tol = utils::numeric(FLERR,arg[4],false,lmp); + nevery = utils::inumeric(FLERR, arg[3], false, lmp); + if (nevery < 0) error->all(FLERR, "Illegal fix polarize/bem/icc command"); + double tol = utils::numeric(FLERR, arg[4], false, lmp); tol_abs = tol_rel = tol; itr_max = 20; @@ -97,9 +94,7 @@ FixPolarizeBEMICC::FixPolarizeBEMICC(LAMMPS *lmp, int narg, char **arg) : /* ---------------------------------------------------------------------- */ -FixPolarizeBEMICC::~FixPolarizeBEMICC() -{ -} +FixPolarizeBEMICC::~FixPolarizeBEMICC() {} /* ---------------------------------------------------------------------- */ @@ -115,10 +110,7 @@ int FixPolarizeBEMICC::setmask() void FixPolarizeBEMICC::init() { int ncount = group->count(igroup); - if (comm->me == 0) { - if (screen) fprintf(screen,"BEM/ICC solver for %d induced charges\n", ncount); - if (logfile) fprintf(logfile,"BEM/ICC solver for %d induced charges\n", ncount); - } + if (comm->me == 0) utils::logmesg(lmp, "BEM/ICC solver for {} induced charges\n", ncount); // initialize random induced charges with zero sum @@ -129,16 +121,16 @@ void FixPolarizeBEMICC::init() int *mask = atom->mask; int nlocal = atom->nlocal; - RanPark *random = new RanPark(lmp,seed_charge + comm->me); + RanPark *random = new RanPark(lmp, seed_charge + comm->me); for (i = 0; i < 100; i++) random->uniform(); - double sum,tmp = 0; + double sum, tmp = 0; for (i = 0; i < nlocal; i++) { if (!(mask[i] & groupbit)) continue; - q[i] = ave_charge*(random->uniform() - 0.5); + q[i] = ave_charge * (random->uniform() - 0.5); tmp += q[i]; } - MPI_Allreduce(&tmp,&sum,1,MPI_DOUBLE,MPI_SUM,world); - sum /= (double)ncount; + MPI_Allreduce(&tmp, &sum, 1, MPI_DOUBLE, MPI_SUM, world); + sum /= (double) ncount; tmp = 0; for (i = 0; i < nlocal; i++) { @@ -146,11 +138,10 @@ void FixPolarizeBEMICC::init() q[i] -= sum; tmp += q[i]; } - MPI_Allreduce(&tmp,&sum,1,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(&tmp, &sum, 1, MPI_DOUBLE, MPI_SUM, world); delete random; } - } /* ---------------------------------------------------------------------- */ @@ -159,37 +150,39 @@ void FixPolarizeBEMICC::setup(int vflag) { // check if the pair styles in use are compatible - if (strcmp(force->pair_style,"lj/cut/coul/long/dielectric") == 0) - efield_pair = ((PairLJCutCoulLongDielectric*)force->pair)->efield; - else if (strcmp(force->pair_style,"lj/cut/coul/long/dielectric/omp") == 0) - efield_pair = ((PairLJCutCoulLongDielectric*)force->pair)->efield; - else if (strcmp(force->pair_style,"lj/cut/coul/msm/dielectric") == 0) - efield_pair = ((PairLJCutCoulMSMDielectric*)force->pair)->efield; - else if (strcmp(force->pair_style,"lj/cut/coul/cut/dielectric") == 0) - efield_pair = ((PairLJCutCoulCutDielectric*)force->pair)->efield; - else if (strcmp(force->pair_style,"lj/cut/coul/cut/dielectric/omp") == 0) - efield_pair = ((PairLJCutCoulCutDielectric*)force->pair)->efield; - else if (strcmp(force->pair_style,"coul/long/dielectric") == 0) - efield_pair = ((PairCoulLongDielectric*)force->pair)->efield; - else if (strcmp(force->pair_style,"coul/cut/dielectric") == 0) - efield_pair = ((PairCoulCutDielectric*)force->pair)->efield; - else error->all(FLERR,"Pair style not compatible with fix polarize/bem/icc"); + if (strcmp(force->pair_style, "lj/cut/coul/long/dielectric") == 0) + efield_pair = ((PairLJCutCoulLongDielectric *) force->pair)->efield; + else if (strcmp(force->pair_style, "lj/cut/coul/long/dielectric/omp") == 0) + efield_pair = ((PairLJCutCoulLongDielectric *) force->pair)->efield; + else if (strcmp(force->pair_style, "lj/cut/coul/msm/dielectric") == 0) + efield_pair = ((PairLJCutCoulMSMDielectric *) force->pair)->efield; + else if (strcmp(force->pair_style, "lj/cut/coul/cut/dielectric") == 0) + efield_pair = ((PairLJCutCoulCutDielectric *) force->pair)->efield; + else if (strcmp(force->pair_style, "lj/cut/coul/cut/dielectric/omp") == 0) + efield_pair = ((PairLJCutCoulCutDielectric *) force->pair)->efield; + else if (strcmp(force->pair_style, "coul/long/dielectric") == 0) + efield_pair = ((PairCoulLongDielectric *) force->pair)->efield; + else if (strcmp(force->pair_style, "coul/cut/dielectric") == 0) + efield_pair = ((PairCoulCutDielectric *) force->pair)->efield; + else + error->all(FLERR, "Pair style not compatible with fix polarize/bem/icc"); // check if kspace is used for force computation if (force->kspace) { kspaceflag = 1; - if (strcmp(force->kspace_style,"pppm/dielectric") == 0) - efield_kspace = ((PPPMDielectric*)force->kspace)->efield; - else if (strcmp(force->kspace_style,"msm/dielectric") == 0) - efield_kspace = ((MSMDielectric*)force->kspace)->efield; - else error->all(FLERR,"Kspace style not compatible with fix polarize/bem/icc"); + if (strcmp(force->kspace_style, "pppm/dielectric") == 0) + efield_kspace = ((PPPMDielectric *) force->kspace)->efield; + else if (strcmp(force->kspace_style, "msm/dielectric") == 0) + efield_kspace = ((MSMDielectric *) force->kspace)->efield; + else + error->all(FLERR, "Kspace style not compatible with fix polarize/bem/icc"); } else { - if (kspaceflag == 1) { // users specified kspace yes - error->warning(FLERR,"No Kspace style available for fix polarize/bem/icc"); + if (kspaceflag == 1) { // users specified kspace yes + error->warning(FLERR, "No Kspace style available for fix polarize/bem/icc"); kspaceflag = 0; } } @@ -239,8 +232,8 @@ void FixPolarizeBEMICC::compute_induced_charges() // Let's choose that epsilon[i] = em[i] for the interface particles force_clear(); - force->pair->compute(eflag,vflag); - if (kspaceflag) force->kspace->compute(eflag,vflag); + force->pair->compute(eflag, vflag); + if (kspaceflag) force->kspace->compute(eflag, vflag); if (force->newton) comm->reverse_comm(); int i10 = 0; @@ -257,7 +250,7 @@ void FixPolarizeBEMICC::compute_induced_charges() } // divide (Ex,Ey,Ez) by epsilon[i] here - double dot = (Ex*norm[i][0] + Ey*norm[i][1] + Ez*norm[i][2]) / (2*MY_PI) / epsilon[i]; + double dot = (Ex * norm[i][0] + Ey * norm[i][1] + Ez * norm[i][2]) / (2 * MY_PI) / epsilon[i]; double q_free = q_real[i]; double q_bound = 0; q_bound = (1.0 / em[i] - 1) * q_free - epsilon0 * (ed[i] / (2 * em[i])) * dot * area[i]; @@ -271,8 +264,8 @@ void FixPolarizeBEMICC::compute_induced_charges() for (itr = 0; itr < itr_max; itr++) { force_clear(); - force->pair->compute(eflag,vflag); - if (kspaceflag) force->kspace->compute(eflag,vflag); + force->pair->compute(eflag, vflag); + if (kspaceflag) force->kspace->compute(eflag, vflag); if (force->newton) comm->reverse_comm(); double tol = 0; @@ -294,10 +287,10 @@ void FixPolarizeBEMICC::compute_induced_charges() // note the area[i] is included here to ensure correct charge unit // for direct use in force/efield compute - double dot = (Ex*norm[i][0] + Ey*norm[i][1] + Ez*norm[i][2]) / (4*MY_PI) / epsilon[i]; + double dot = (Ex * norm[i][0] + Ey * norm[i][1] + Ez * norm[i][2]) / (4 * MY_PI) / epsilon[i]; double q_bound = q[i] - q_free; - q_bound = (1 - omega) * q_bound + omega * ((1.0 / em[i] - 1) * q_free - - epsilon0 * (ed[i] / em[i]) * dot * area[i]); + q_bound = (1 - omega) * q_bound + + omega * ((1.0 / em[i] - 1) * q_free - epsilon0 * (ed[i] / em[i]) * dot * area[i]); q[i] = q_free + q_bound; // Eq. (11) in Tyagi et al., with f from Eq. (6) @@ -314,20 +307,20 @@ void FixPolarizeBEMICC::compute_induced_charges() //q[i] = (1 - omega) * q[i] - omega * epsilon0 * f * dot * area[i]; double delta = fabs(qtmp - q_bound); - double r = (fabs(qtmp) > 0) ? delta/fabs(qtmp) : 0; + double r = (fabs(qtmp) > 0) ? delta / fabs(qtmp) : 0; if (tol < r) tol = r; - #ifdef _POLARIZE_DEBUG - //printf("i = %d: q_bound = %f \n", i, q_bound); - #endif +#ifdef _POLARIZE_DEBUG +//printf("i = %d: q_bound = %f \n", i, q_bound); +#endif } comm->forward_comm_fix(this); - MPI_Allreduce(&tol,&rho,1,MPI_DOUBLE,MPI_MAX,world); - #ifdef _POLARIZE_DEBUG + MPI_Allreduce(&tol, &rho, 1, MPI_DOUBLE, MPI_MAX, world); +#ifdef _POLARIZE_DEBUG printf("itr = %d: rho = %f\n", itr, rho); - #endif +#endif if (itr > 0 && rho < tol_rel) break; } @@ -342,9 +335,9 @@ void FixPolarizeBEMICC::force_clear() if (force->newton) nbytes += sizeof(double) * atom->nghost; if (nbytes) { - memset(&atom->f[0][0],0,3*nbytes); - if (torqueflag) memset(&atom->torque[0][0],0,3*nbytes); - if (extraflag) atom->avec->force_clear(0,nbytes); + memset(&atom->f[0][0], 0, 3 * nbytes); + if (torqueflag) memset(&atom->torque[0][0], 0, 3 * nbytes); + if (extraflag) atom->avec->force_clear(0, nbytes); } } @@ -354,46 +347,49 @@ int FixPolarizeBEMICC::modify_param(int narg, char **arg) { int iarg = 0; while (iarg < narg) { - if (strcmp(arg[iarg],"itr_max") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal fix_modify command"); - itr_max = utils::numeric(FLERR,arg[iarg+1],false,lmp); + if (strcmp(arg[iarg], "itr_max") == 0) { + if (iarg + 2 > narg) error->all(FLERR, "Illegal fix_modify command"); + itr_max = utils::numeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; - } else if (strcmp(arg[iarg],"omega") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal fix_modify command"); - omega = utils::numeric(FLERR,arg[iarg+1],false,lmp); + } else if (strcmp(arg[iarg], "omega") == 0) { + if (iarg + 2 > narg) error->all(FLERR, "Illegal fix_modify command"); + omega = utils::numeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; - } else if (strcmp(arg[iarg],"kspace") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal fix_modify command"); - if (strcmp(arg[iarg+1],"yes") == 0) kspaceflag = 1; - else if (strcmp(arg[iarg+1],"no") == 0) kspaceflag = 0; - else error->all(FLERR,"Illegal fix_modify command for fix polarize"); + } else if (strcmp(arg[iarg], "kspace") == 0) { + if (iarg + 2 > narg) error->all(FLERR, "Illegal fix_modify command"); + if (strcmp(arg[iarg + 1], "yes") == 0) + kspaceflag = 1; + else if (strcmp(arg[iarg + 1], "no") == 0) + kspaceflag = 0; + else + error->all(FLERR, "Illegal fix_modify command for fix polarize"); iarg += 2; - } else if (strcmp(arg[iarg],"dielectrics") == 0) { - if (iarg+6 > narg) error->all(FLERR,"Illegal fix_modify command"); - double epsiloni=-1, areai=-1; - double qunscaledi=0; - int set_charge=0; - double ediff = utils::numeric(FLERR,arg[iarg+1],false,lmp); - double emean = utils::numeric(FLERR,arg[iarg+2],false,lmp); - if (strcmp(arg[iarg+3],"NULL") != 0) - epsiloni = utils::numeric(FLERR,arg[iarg+3],false,lmp); - if (strcmp(arg[iarg+4],"NULL") != 0) - areai = utils::numeric(FLERR,arg[iarg+4],false,lmp); - if (strcmp(arg[iarg+5],"NULL") != 0) { - qunscaledi = utils::numeric(FLERR,arg[iarg+5],false,lmp); + } else if (strcmp(arg[iarg], "dielectrics") == 0) { + if (iarg + 6 > narg) error->all(FLERR, "Illegal fix_modify command"); + double epsiloni = -1, areai = -1; + double qunscaledi = 0; + int set_charge = 0; + double ediff = utils::numeric(FLERR, arg[iarg + 1], false, lmp); + double emean = utils::numeric(FLERR, arg[iarg + 2], false, lmp); + if (strcmp(arg[iarg + 3], "NULL") != 0) + epsiloni = utils::numeric(FLERR, arg[iarg + 3], false, lmp); + if (strcmp(arg[iarg + 4], "NULL") != 0) + areai = utils::numeric(FLERR, arg[iarg + 4], false, lmp); + if (strcmp(arg[iarg + 5], "NULL") != 0) { + qunscaledi = utils::numeric(FLERR, arg[iarg + 5], false, lmp); set_charge = 1; } - set_dielectric_params(ediff, emean, epsiloni, areai, set_charge, - qunscaledi); + set_dielectric_params(ediff, emean, epsiloni, areai, set_charge, qunscaledi); iarg += 6; - } else if (strcmp(arg[iarg],"rand") == 0) { - if (iarg+3 > narg) error->all(FLERR,"Illegal fix_modify command"); - ave_charge = utils::numeric(FLERR,arg[iarg+1],false,lmp); - seed_charge = utils::numeric(FLERR,arg[iarg+2],false,lmp); + } else if (strcmp(arg[iarg], "rand") == 0) { + if (iarg + 3 > narg) error->all(FLERR, "Illegal fix_modify command"); + ave_charge = utils::numeric(FLERR, arg[iarg + 1], false, lmp); + seed_charge = utils::numeric(FLERR, arg[iarg + 2], false, lmp); randomized = 1; iarg += 3; - } else error->all(FLERR,"Illegal fix_modify command"); + } else + error->all(FLERR, "Illegal fix_modify command"); } return iarg; @@ -401,8 +397,7 @@ int FixPolarizeBEMICC::modify_param(int narg, char **arg) /* ---------------------------------------------------------------------- */ -int FixPolarizeBEMICC::pack_forward_comm(int n, int *list, double *buf, - int pbc_flag, int *pbc) +int FixPolarizeBEMICC::pack_forward_comm(int n, int *list, double *buf, int pbc_flag, int *pbc) { int m; for (m = 0; m < n; m++) buf[m] = atom->q[list[m]]; @@ -421,8 +416,8 @@ void FixPolarizeBEMICC::unpack_forward_comm(int n, int first, double *buf) set dielectric params for the atoms in the group ------------------------------------------------------------------------- */ -void FixPolarizeBEMICC::set_dielectric_params(double ediff, double emean, - double epsiloni, double areai, int set_charge, double qvalue) +void FixPolarizeBEMICC::set_dielectric_params(double ediff, double emean, double epsiloni, + double areai, int set_charge, double qvalue) { double *area = atom->area; double *ed = atom->ed; @@ -450,7 +445,10 @@ void FixPolarizeBEMICC::set_dielectric_params(double ediff, double emean, double FixPolarizeBEMICC::compute_vector(int n) { - if (n == 0) return iterations; - else if (n == 1) return rho; - else return 0; + if (n == 0) + return iterations; + else if (n == 1) + return rho; + else + return 0; } diff --git a/src/USER-DIELECTRIC/fix_polarize_functional.cpp b/src/USER-DIELECTRIC/fix_polarize_functional.cpp index 51d8dc9d94..55fcd98bbe 100644 --- a/src/USER-DIELECTRIC/fix_polarize_functional.cpp +++ b/src/USER-DIELECTRIC/fix_polarize_functional.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/ Sandia National Laboratories @@ -62,7 +61,7 @@ using namespace FixConst; using namespace MathExtra; using namespace MathConst; -enum {REAL2SCALED=0,SCALED2REAL=1}; +enum { REAL2SCALED = 0, SCALED2REAL = 1 }; #define EPSILON 1e-6 @@ -71,18 +70,18 @@ enum {REAL2SCALED=0,SCALED2REAL=1}; /* ---------------------------------------------------------------------- */ FixPolarizeFunctional::FixPolarizeFunctional(LAMMPS *lmp, int narg, char **arg) : - Fix(lmp, narg, arg) + Fix(lmp, narg, arg) { - if (narg < 4) error->all(FLERR,"Illegal fix polarize/functional command"); + if (narg < 4) error->all(FLERR, "Illegal fix polarize/functional command"); avec = (AtomVecDielectric *) atom->style_match("dielectric"); - if (!avec) error->all(FLERR,"Fix polarize/functional requires atom style dielectric"); + if (!avec) error->all(FLERR, "Fix polarize/functional requires atom style dielectric"); - nevery = utils::inumeric(FLERR,arg[3],false,lmp); - if (nevery < 0) error->all(FLERR,"Illegal fix polarize/functional command"); + nevery = utils::inumeric(FLERR, arg[3], false, lmp); + if (nevery < 0) error->all(FLERR, "Illegal fix polarize/functional command"); tolerance = EPSILON; - if (narg == 5) tolerance = utils::numeric(FLERR,arg[4],false,lmp); + if (narg == 5) tolerance = utils::numeric(FLERR, arg[4], false, lmp); comm_forward = 1; nmax = 0; @@ -131,7 +130,7 @@ FixPolarizeFunctional::FixPolarizeFunctional(LAMMPS *lmp, int narg, char **arg) cg_A = nullptr; grow_arrays(atom->nmax); - atom->add_callback(0); // to ensure to work with atom->sort() + atom->add_callback(0); // to ensure to work with atom->sort() } /* ---------------------------------------------------------------------- */ @@ -151,7 +150,7 @@ FixPolarizeFunctional::~FixPolarizeFunctional() memory->destroy(buffer2); if (allocated) deallocate(); - atom->delete_callback(id,0); + atom->delete_callback(id, 0); } /* ---------------------------------------------------------------------- */ @@ -169,7 +168,7 @@ void FixPolarizeFunctional::init() { // mapping induced charge matrix/vector to atom tags and vice versa - int i,maxtag; + int i, maxtag; double *q = atom->q; int *mask = atom->mask; tagint *tag = atom->tag; @@ -182,26 +181,28 @@ void FixPolarizeFunctional::init() max_tag = -1; for (i = 0; i < nlocal; i++) - if (mask[i] & groupbit) max_tag = MAX(max_tag,tag[i]); + if (mask[i] & groupbit) max_tag = MAX(max_tag, tag[i]); - MPI_Allreduce(&max_tag,&itmp,1,MPI_LMP_TAGINT,MPI_MAX,world); + MPI_Allreduce(&max_tag, &itmp, 1, MPI_LMP_TAGINT, MPI_MAX, world); maxtag = (int) itmp; - memory->create(ncount,maxtag+1,"polarize:ncount"); + memory->create(ncount, maxtag + 1, "polarize:ncount"); for (i = 0; i <= maxtag; i++) ncount[i] = 0; for (i = 0; i < nlocal; i++) if (mask[i] & groupbit) ncount[tag[i]]++; - memory->create(tag2mat,maxtag+1,"polarize:tag2mat"); - MPI_Allreduce(ncount,tag2mat,maxtag+1,MPI_INT,MPI_SUM,world); + memory->create(tag2mat, maxtag + 1, "polarize:tag2mat"); + MPI_Allreduce(ncount, tag2mat, maxtag + 1, MPI_INT, MPI_SUM, world); num_induced_charges = 0; for (i = 0; i <= maxtag; i++) - if (tag2mat[i]) tag2mat[i] = num_induced_charges++; - else tag2mat[i] = -1; + if (tag2mat[i]) + tag2mat[i] = num_induced_charges++; + else + tag2mat[i] = -1; - memory->create(mat2tag,num_induced_charges,"polarize:mat2tag"); + memory->create(mat2tag, num_induced_charges, "polarize:mat2tag"); num_induced_charges = 0; for (i = 0; i <= maxtag; i++) @@ -218,34 +219,34 @@ void FixPolarizeFunctional::init() max_tag = -1; for (i = 0; i < nlocal; i++) - if (!(mask[i] & groupbit)) max_tag = MAX(max_tag,tag[i]); + if (!(mask[i] & groupbit)) max_tag = MAX(max_tag, tag[i]); - MPI_Allreduce(&max_tag,&itmp,1,MPI_LMP_TAGINT,MPI_MAX,world); + MPI_Allreduce(&max_tag, &itmp, 1, MPI_LMP_TAGINT, MPI_MAX, world); maxtag = (int) itmp; - memory->create(ncount,maxtag+1,"polarize:ncount"); + memory->create(ncount, maxtag + 1, "polarize:ncount"); for (i = 0; i <= maxtag; i++) ncount[i] = 0; for (i = 0; i < nlocal; i++) if (!(mask[i] & groupbit)) ncount[tag[i]]++; - memory->create(tag2mat_ions,maxtag+1,"polarize:tag2mat_ions"); - MPI_Allreduce(ncount,tag2mat_ions,maxtag+1,MPI_INT,MPI_SUM,world); + memory->create(tag2mat_ions, maxtag + 1, "polarize:tag2mat_ions"); + MPI_Allreduce(ncount, tag2mat_ions, maxtag + 1, MPI_INT, MPI_SUM, world); num_ions = 0; for (i = 0; i <= maxtag; i++) - if (tag2mat_ions[i]) tag2mat_ions[i] = num_ions++; - else tag2mat_ions[i] = -1; + if (tag2mat_ions[i]) + tag2mat_ions[i] = num_ions++; + else + tag2mat_ions[i] = -1; - memory->create(mat2tag_ions,num_ions,"polarize:mat2tag_ions"); - memory->create(rhs1,num_induced_charges,"polarize:rhs1"); - memory->create(rhs2,num_induced_charges,"polarize:rhs2"); + memory->create(mat2tag_ions, num_ions, "polarize:mat2tag_ions"); + memory->create(rhs1, num_induced_charges, "polarize:rhs1"); + memory->create(rhs2, num_induced_charges, "polarize:rhs2"); int buffer_size = (num_induced_charges > num_ions) ? num_induced_charges : num_ions; - memory->create(buffer1,buffer_size,num_induced_charges,"polarize:buffer1"); - memory->create(buffer2,num_induced_charges,num_induced_charges,"polarize:buffer2"); - memory->create(induced_charges,num_induced_charges,"polarize:induced_charges"); - - + memory->create(buffer1, buffer_size, num_induced_charges, "polarize:buffer1"); + memory->create(buffer2, num_induced_charges, num_induced_charges, "polarize:buffer2"); + memory->create(induced_charges, num_induced_charges, "polarize:induced_charges"); num_ions = 0; for (i = 0; i <= maxtag; i++) @@ -267,22 +268,21 @@ void FixPolarizeFunctional::init() // need a full neighbor list w/ Newton off and ghost neighbors // built whenever re-neighboring occurs - int irequest = neighbor->request(this,instance_me); + int irequest = neighbor->request(this, instance_me); neighbor->requests[irequest]->pair = 0; neighbor->requests[irequest]->fix = 1; neighbor->requests[irequest]->half = 0; neighbor->requests[irequest]->full = 1; neighbor->requests[irequest]->occasional = 0; - if (force->kspace) g_ewald = force->kspace->g_ewald; - else g_ewald = 0.01; + if (force->kspace) + g_ewald = force->kspace->g_ewald; + else + g_ewald = 0.01; - if (comm->me == 0) { - if (screen) fprintf(screen,"Direct solver using the variational approach " - "for %d induced charges\n", num_induced_charges); - if (logfile) fprintf(logfile,"Direct solver using the variational approach " - "for %d induced charges\n", num_induced_charges); - } + if (comm->me == 0) + utils::logmesg(lmp, "Direct solver using a variational approach for {} induced charges\n", + num_induced_charges); } /* ---------------------------------------------------------------------- */ @@ -298,35 +298,37 @@ void FixPolarizeFunctional::setup(int vflag) { // check if the pair styles in use are compatible - if (strcmp(force->pair_style,"lj/cut/coul/long/dielectric") == 0) - efield_pair = ((PairLJCutCoulLongDielectric*)force->pair)->efield; - else if (strcmp(force->pair_style,"lj/cut/coul/long/dielectric/omp") == 0) - efield_pair = ((PairLJCutCoulLongDielectric*)force->pair)->efield; - else if (strcmp(force->pair_style,"lj/cut/coul/msm/dielectric") == 0) - efield_pair = ((PairLJCutCoulMSMDielectric*)force->pair)->efield; - else if (strcmp(force->pair_style,"lj/cut/coul/cut/dielectric") == 0) - efield_pair = ((PairLJCutCoulCutDielectric*)force->pair)->efield; - else if (strcmp(force->pair_style,"lj/cut/coul/cut/dielectric/omp") == 0) - efield_pair = ((PairLJCutCoulCutDielectric*)force->pair)->efield; - else if (strcmp(force->pair_style,"coul/long/dielectric") == 0) - efield_pair = ((PairCoulLongDielectric*)force->pair)->efield; - else if (strcmp(force->pair_style,"coul/cut/dielectric") == 0) - efield_pair = ((PairCoulCutDielectric*)force->pair)->efield; - else error->all(FLERR,"Pair style not compatible with fix polarize/functional"); + if (strcmp(force->pair_style, "lj/cut/coul/long/dielectric") == 0) + efield_pair = ((PairLJCutCoulLongDielectric *) force->pair)->efield; + else if (strcmp(force->pair_style, "lj/cut/coul/long/dielectric/omp") == 0) + efield_pair = ((PairLJCutCoulLongDielectric *) force->pair)->efield; + else if (strcmp(force->pair_style, "lj/cut/coul/msm/dielectric") == 0) + efield_pair = ((PairLJCutCoulMSMDielectric *) force->pair)->efield; + else if (strcmp(force->pair_style, "lj/cut/coul/cut/dielectric") == 0) + efield_pair = ((PairLJCutCoulCutDielectric *) force->pair)->efield; + else if (strcmp(force->pair_style, "lj/cut/coul/cut/dielectric/omp") == 0) + efield_pair = ((PairLJCutCoulCutDielectric *) force->pair)->efield; + else if (strcmp(force->pair_style, "coul/long/dielectric") == 0) + efield_pair = ((PairCoulLongDielectric *) force->pair)->efield; + else if (strcmp(force->pair_style, "coul/cut/dielectric") == 0) + efield_pair = ((PairCoulCutDielectric *) force->pair)->efield; + else + error->all(FLERR, "Pair style not compatible with fix polarize/functional"); if (force->kspace) { kspaceflag = 1; - if (strcmp(force->kspace_style,"pppm/dielectric") == 0) - efield_kspace = ((PPPMDielectric*)force->kspace)->efield; - else if (strcmp(force->kspace_style,"msm/dielectric") == 0) - efield_kspace = ((MSMDielectric*)force->kspace)->efield; - else error->all(FLERR,"Kspace style not compatible with fix polarize/functional"); + if (strcmp(force->kspace_style, "pppm/dielectric") == 0) + efield_kspace = ((PPPMDielectric *) force->kspace)->efield; + else if (strcmp(force->kspace_style, "msm/dielectric") == 0) + efield_kspace = ((MSMDielectric *) force->kspace)->efield; + else + error->all(FLERR, "Kspace style not compatible with fix polarize/functional"); } else { - if (kspaceflag == 1) { // users specified kspace yes - error->warning(FLERR,"No Kspace style available for fix polarize/functional"); + if (kspaceflag == 1) { // users specified kspace yes + error->warning(FLERR, "No Kspace style available for fix polarize/functional"); kspaceflag = 0; } } @@ -371,8 +373,7 @@ void FixPolarizeFunctional::update_induced_charges() // conjugate gradient solver for w from Rww * w = -qRqw for (int i = 0; i < num_induced_charges; i++) - for (int j = 0; j < num_induced_charges; j++) - cg_A[i][j] = Rww[i][j] + Rww[j][i]; + for (int j = 0; j < num_induced_charges; j++) cg_A[i][j] = Rww[i][j] + Rww[j][i]; for (int i = 0; i < num_induced_charges; i++) induced_charges[i] = 0; @@ -386,7 +387,7 @@ void FixPolarizeFunctional::update_induced_charges() for (int i = 0; i < nlocal; i++) { if (induced_charge_idx[i] < 0) continue; int idx = induced_charge_idx[i]; - q[i] = -induced_charges[idx] / (4*MY_PI); + q[i] = -induced_charges[idx] / (4 * MY_PI); } // revert to scaled charges to calculate forces @@ -401,9 +402,9 @@ void FixPolarizeFunctional::update_induced_charges() void FixPolarizeFunctional::charge_rescaled(int scaled2real) { - double* q = atom->q; - double* q_real = atom->q_unscaled; - double* epsilon = atom->epsilon; + double *q = atom->q; + double *q_real = atom->q_unscaled; + double *epsilon = atom->epsilon; int nlocal = atom->nlocal; if (scaled2real) { @@ -478,32 +479,35 @@ int FixPolarizeFunctional::modify_param(int narg, char **arg) { int iarg = 0; while (iarg < narg) { - if (strcmp(arg[iarg],"kspace") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal fix_modify command"); - if (strcmp(arg[iarg+1],"yes") == 0) kspaceflag = 1; - else if (strcmp(arg[iarg+1],"no") == 0) kspaceflag = 0; - else error->all(FLERR,"Illegal fix_modify command for fix polarize/functional"); + if (strcmp(arg[iarg], "kspace") == 0) { + if (iarg + 2 > narg) error->all(FLERR, "Illegal fix_modify command"); + if (strcmp(arg[iarg + 1], "yes") == 0) + kspaceflag = 1; + else if (strcmp(arg[iarg + 1], "no") == 0) + kspaceflag = 0; + else + error->all(FLERR, "Illegal fix_modify command for fix polarize/functional"); iarg += 2; - } else if (strcmp(arg[iarg],"dielectrics") == 0) { - if (iarg+6 > narg) error->all(FLERR,"Illegal fix_modify command"); - double epsiloni=-1, areai=-1; - double q_unscaled=0; - int set_charge=0; - double ediff = utils::numeric(FLERR,arg[iarg+1],false,lmp); - double emean = utils::numeric(FLERR,arg[iarg+2],false,lmp); - if (strcmp(arg[iarg+3],"nullptr") != 0) - epsiloni = utils::numeric(FLERR,arg[iarg+3],false,lmp); - if (strcmp(arg[iarg+4],"nullptr") != 0) - areai = utils::numeric(FLERR,arg[iarg+4],false,lmp); - if (strcmp(arg[iarg+5],"nullptr") != 0) { - q_unscaled = utils::numeric(FLERR,arg[iarg+5],false,lmp); + } else if (strcmp(arg[iarg], "dielectrics") == 0) { + if (iarg + 6 > narg) error->all(FLERR, "Illegal fix_modify command"); + double epsiloni = -1, areai = -1; + double q_unscaled = 0; + int set_charge = 0; + double ediff = utils::numeric(FLERR, arg[iarg + 1], false, lmp); + double emean = utils::numeric(FLERR, arg[iarg + 2], false, lmp); + if (strcmp(arg[iarg + 3], "nullptr") != 0) + epsiloni = utils::numeric(FLERR, arg[iarg + 3], false, lmp); + if (strcmp(arg[iarg + 4], "nullptr") != 0) + areai = utils::numeric(FLERR, arg[iarg + 4], false, lmp); + if (strcmp(arg[iarg + 5], "nullptr") != 0) { + q_unscaled = utils::numeric(FLERR, arg[iarg + 5], false, lmp); set_charge = 1; } - set_dielectric_params(ediff, emean, epsiloni, areai, set_charge, - q_unscaled); + set_dielectric_params(ediff, emean, epsiloni, areai, set_charge, q_unscaled); iarg += 6; - } else error->all(FLERR,"Illegal fix_modify command"); + } else + error->all(FLERR, "Illegal fix_modify command"); } return iarg; @@ -533,8 +537,7 @@ int FixPolarizeFunctional::unpack_exchange(int nlocal, double *buf) /* ---------------------------------------------------------------------- */ -int FixPolarizeFunctional::pack_forward_comm(int n, int *list, double *buf, - int pbc_flag, int *pbc) +int FixPolarizeFunctional::pack_forward_comm(int n, int *list, double *buf, int pbc_flag, int *pbc) { int m; for (m = 0; m < n; m++) buf[m] = atom->q[list[m]]; @@ -556,8 +559,8 @@ void FixPolarizeFunctional::unpack_forward_comm(int n, int first, double *buf) void FixPolarizeFunctional::grow_arrays(int n) { if (n > nmax) nmax = n; - memory->grow(induced_charge_idx,nmax,"fix:induced_charge_idx"); - memory->grow(ion_idx,nmax,"fix:ion_idx"); + memory->grow(induced_charge_idx, nmax, "fix:induced_charge_idx"); + memory->grow(ion_idx, nmax, "fix:ion_idx"); } /* ---------------------------------------------------------------------- @@ -587,21 +590,21 @@ void FixPolarizeFunctional::set_arrays(int i) double FixPolarizeFunctional::memory_usage() { double bytes = 0; - bytes += num_induced_charges*num_induced_charges*sizeof(double); // inverse_matrix - bytes += num_induced_charges*num_induced_charges*sizeof(double); // Rww - bytes += num_induced_charges*num_induced_charges*sizeof(double); // G1ww - bytes += num_induced_charges*num_induced_charges*sizeof(double); // ndotGww - bytes += num_induced_charges*num_induced_charges*sizeof(double); // G2ww - bytes += num_induced_charges*num_induced_charges*sizeof(double); // G3ww - bytes += num_induced_charges*sizeof(double); // qiRqwVector - bytes += num_induced_charges*sizeof(double); // sum2G2wq - bytes += num_induced_charges*sizeof(double); // sum1G2qw - bytes += num_induced_charges*sizeof(double); // sum1G1qw_epsilon - bytes += num_induced_charges*sizeof(double); // sum2ndotGwq_epsilon - bytes += num_ions*num_induced_charges*sizeof(double); // G1qw_real - bytes += nmax*sizeof(int); // induced_charge_idx - bytes += nmax*sizeof(int); // ion_idx - bytes += num_induced_charges*sizeof(double); // induced_charges + bytes += num_induced_charges * num_induced_charges * sizeof(double); // inverse_matrix + bytes += num_induced_charges * num_induced_charges * sizeof(double); // Rww + bytes += num_induced_charges * num_induced_charges * sizeof(double); // G1ww + bytes += num_induced_charges * num_induced_charges * sizeof(double); // ndotGww + bytes += num_induced_charges * num_induced_charges * sizeof(double); // G2ww + bytes += num_induced_charges * num_induced_charges * sizeof(double); // G3ww + bytes += num_induced_charges * sizeof(double); // qiRqwVector + bytes += num_induced_charges * sizeof(double); // sum2G2wq + bytes += num_induced_charges * sizeof(double); // sum1G2qw + bytes += num_induced_charges * sizeof(double); // sum1G1qw_epsilon + bytes += num_induced_charges * sizeof(double); // sum2ndotGwq_epsilon + bytes += num_ions * num_induced_charges * sizeof(double); // G1qw_real + bytes += nmax * sizeof(int); // induced_charge_idx + bytes += nmax * sizeof(int); // ion_idx + bytes += num_induced_charges * sizeof(double); // induced_charges return bytes; } @@ -611,7 +614,7 @@ void FixPolarizeFunctional::calculate_Rww_cutoff() { int *mask = atom->mask; int *type = atom->type; - tagint* tag = atom->tag; + tagint *tag = atom->tag; int nlocal = atom->nlocal; double **x = atom->x; double *area = atom->area; @@ -622,7 +625,7 @@ void FixPolarizeFunctional::calculate_Rww_cutoff() // invoke full neighbor list - int inum,jnum,*ilist,*jlist,*numneigh,**firstneigh; + int inum, jnum, *ilist, *jlist, *numneigh, **firstneigh; inum = list->inum; ilist = list->ilist; numneigh = list->numneigh; @@ -657,7 +660,7 @@ void FixPolarizeFunctional::calculate_Rww_cutoff() double delx = xtmp - x[k][0]; double dely = ytmp - x[k][1]; double delz = ztmp - x[k][2]; - domain->minimum_image(delx,dely,delz); + domain->minimum_image(delx, dely, delz); int mk = tag2mat[tag[k]]; // G1ww[mi][mk] = calculate_greens_ewald(delx, dely, delz); @@ -668,7 +671,7 @@ void FixPolarizeFunctional::calculate_Rww_cutoff() calculate_grad_greens_ewald(gradG1ww, delx, dely, delz); // use mu to store the normal vector of interface vertex - buffer2[mi][mk] = MathExtra::dot3(norm[i], gradG1ww) / (4*MY_PI); + buffer2[mi][mk] = MathExtra::dot3(norm[i], gradG1ww) / (4 * MY_PI); } } @@ -676,15 +679,14 @@ void FixPolarizeFunctional::calculate_Rww_cutoff() // even though in the above loop there is mk == mi buffer1[mi][mi] = calculate_greens_ewald_self_vertex(area[i]); - buffer2[mi][mi] = calculate_ndotgreens_ewald_self_vertex(area[i], curvature[i]) / - (4*MY_PI); + buffer2[mi][mi] = calculate_ndotgreens_ewald_self_vertex(area[i], curvature[i]) / (4 * MY_PI); } } - MPI_Allreduce(buffer1[0],G1ww[0],num_induced_charges*num_induced_charges, - MPI_DOUBLE,MPI_SUM,world); - MPI_Allreduce(buffer2[0],ndotGww[0],num_induced_charges*num_induced_charges, - MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(buffer1[0], G1ww[0], num_induced_charges * num_induced_charges, MPI_DOUBLE, MPI_SUM, + world); + MPI_Allreduce(buffer2[0], ndotGww[0], num_induced_charges * num_induced_charges, MPI_DOUBLE, + MPI_SUM, world); // calculate G2ww // fill up buffer1 with local G2ww @@ -734,8 +736,8 @@ void FixPolarizeFunctional::calculate_Rww_cutoff() } } - MPI_Allreduce(buffer1[0],G2ww[0],num_induced_charges*num_induced_charges, - MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(buffer1[0], G2ww[0], num_induced_charges * num_induced_charges, MPI_DOUBLE, MPI_SUM, + world); // calculate G3ww and Rww // G3ww is implemented as in _exact(), but can be optionally excluded @@ -815,18 +817,18 @@ void FixPolarizeFunctional::calculate_Rww_cutoff() } } - MPI_Allreduce(buffer1[0],Rww[0],num_induced_charges*num_induced_charges, - MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(buffer1[0], Rww[0], num_induced_charges * num_induced_charges, MPI_DOUBLE, MPI_SUM, + world); - #ifdef _POLARIZE_DEBUG +#ifdef _POLARIZE_DEBUG if (comm->me == 0) { - FILE* fp = fopen("Rww-functional.txt", "w"); + FILE *fp = fopen("Rww-functional.txt", "w"); for (int i = 0; i < num_induced_charges; i++) - fprintf(fp, "%d %g %g %g\n", i, Rww[i][i], Rww[i][num_induced_charges/2], - Rww[num_induced_charges/2][i]); + fprintf(fp, "%d %g %g %g\n", i, Rww[i][i], Rww[i][num_induced_charges / 2], + Rww[num_induced_charges / 2][i]); fclose(fp); } - #endif +#endif } /* ---------------------------------------------------------------------- */ @@ -849,7 +851,7 @@ void FixPolarizeFunctional::calculate_qiRqw_cutoff() // invoke full neighbor list - int inum,*ilist,*jlist,*numneigh,**firstneigh; + int inum, *ilist, *jlist, *numneigh, **firstneigh; inum = list->inum; ilist = list->ilist; numneigh = list->numneigh; @@ -879,7 +881,7 @@ void FixPolarizeFunctional::calculate_qiRqw_cutoff() delx = xtmp - x[k][0]; dely = ytmp - x[k][1]; delz = ztmp - x[k][2]; - domain->minimum_image(delx,dely,delz); + domain->minimum_image(delx, dely, delz); r = sqrt(delx * delx + dely * dely + delz * delz); int mk = tag2mat[tag[k]]; @@ -890,18 +892,18 @@ void FixPolarizeFunctional::calculate_qiRqw_cutoff() } } - MPI_Allreduce(&buffer1[0][0],&G1qw_real[0][0],num_ions*num_induced_charges, - MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(&buffer1[0][0], &G1qw_real[0][0], num_ions * num_induced_charges, MPI_DOUBLE, + MPI_SUM, world); // the following loop need the above results: gradG1wq_real // calculate sum1G1qw_epsilon and sum2ndotGwq_epsilon // fill up rhs1 with local sum1G1qw_epsilon and rhs2 with local sum2ndotGwq_epsilon - memset(rhs1, 0, num_induced_charges*sizeof(double)); - memset(rhs2, 0, num_induced_charges*sizeof(double)); + memset(rhs1, 0, num_induced_charges * sizeof(double)); + memset(rhs2, 0, num_induced_charges * sizeof(double)); for (kk = 0; kk < inum; kk++) { - k = ilist[kk]; // k is local index + k = ilist[kk]; // k is local index if (mask[k] & groupbit) { // interface particles int mk = induced_charge_idx[k]; @@ -920,9 +922,9 @@ void FixPolarizeFunctional::calculate_qiRqw_cutoff() delx = x[i][0] - xtmp; dely = x[i][1] - ytmp; delz = x[i][2] - ztmp; - domain->minimum_image(delx,dely,delz); + domain->minimum_image(delx, dely, delz); - int mi = tag2mat_ions[tag[i]]; //ion_idx[i]; + int mi = tag2mat_ions[tag[i]]; //ion_idx[i]; //calculate_grad_greens_real(gradG1wq_real[mk][mi], delx, dely, delz); double gradG1wq[3]; @@ -944,18 +946,18 @@ void FixPolarizeFunctional::calculate_qiRqw_cutoff() } } - MPI_Allreduce(rhs1,sum1G1qw_epsilon,num_induced_charges,MPI_DOUBLE,MPI_SUM,world); - MPI_Allreduce(rhs2,sum2ndotGwq_epsilon,num_induced_charges,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(rhs1, sum1G1qw_epsilon, num_induced_charges, MPI_DOUBLE, MPI_SUM, world); + MPI_Allreduce(rhs2, sum2ndotGwq_epsilon, num_induced_charges, MPI_DOUBLE, MPI_SUM, world); // calculate G2, gradient G2 // sum2G2wq and sum1G2qw -// for (int i = 0; i < num_induced_charges; i++) rhs1[i] = rhs2[i] = 0; - memset(rhs1, 0, num_induced_charges*sizeof(double)); - memset(rhs2, 0, num_induced_charges*sizeof(double)); + // for (int i = 0; i < num_induced_charges; i++) rhs1[i] = rhs2[i] = 0; + memset(rhs1, 0, num_induced_charges * sizeof(double)); + memset(rhs2, 0, num_induced_charges * sizeof(double)); for (kk = 0; kk < inum; kk++) { - k = ilist[kk]; // k is local index + k = ilist[kk]; // k is local index if (mask[k] & groupbit) { // interface particles int mk = induced_charge_idx[k]; @@ -985,16 +987,16 @@ void FixPolarizeFunctional::calculate_qiRqw_cutoff() } } - MPI_Allreduce(rhs1,sum2G2wq,num_induced_charges,MPI_DOUBLE,MPI_SUM,world); - MPI_Allreduce(rhs2,sum1G2qw,num_induced_charges,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(rhs1, sum2G2wq, num_induced_charges, MPI_DOUBLE, MPI_SUM, world); + MPI_Allreduce(rhs2, sum1G2qw, num_induced_charges, MPI_DOUBLE, MPI_SUM, world); // calculate G3, gradient G3 // fill up rhs1 with local qiRqwVector - memset(rhs1, 0, num_induced_charges*sizeof(double)); + memset(rhs1, 0, num_induced_charges * sizeof(double)); for (kk = 0; kk < inum; kk++) { - k = ilist[kk]; // k is local index + k = ilist[kk]; // k is local index if (mask[k] & groupbit) { // interface particles int mk = induced_charge_idx[k]; @@ -1011,7 +1013,7 @@ void FixPolarizeFunctional::calculate_qiRqw_cutoff() sum1G3qw += sum2ndotGwq_epsilon[mi] * G2ww[mi][mk] * area[i] * ed[i]; } else { // ions particles: i can be ghost atoms - int mi = tag2mat_ions[tag[i]]; //ion_idx[i]; + int mi = tag2mat_ions[tag[i]]; //ion_idx[i]; qiRwwVectorTemp1 += q[i] * (1.0 - em[k] / epsilon[i]) * G1qw_real[mi][mk]; } } @@ -1021,32 +1023,30 @@ void FixPolarizeFunctional::calculate_qiRqw_cutoff() sum1G3qw += sum2ndotGwq_epsilon[mk] * G2ww[mk][mk] * area[k] * ed[k]; // qiRwwVectorTemp2 is a significant contribution, of which sum2G2wq is significant - double qiRwwVectorTemp2 = (1.0 - 2.0 * em[k]) * sum2G2wq[mk] + - sum1G2qw[mk] + 2.0 * sum1G3qw; + double qiRwwVectorTemp2 = (1.0 - 2.0 * em[k]) * sum2G2wq[mk] + sum1G2qw[mk] + 2.0 * sum1G3qw; // qiRqwVector[mk] = qiRwwVectorTemp1 + qiRwwVectorTemp2; rhs1[mk] = qiRwwVectorTemp1 + qiRwwVectorTemp2; } } - MPI_Allreduce(rhs1,qiRqwVector,num_induced_charges,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(rhs1, qiRqwVector, num_induced_charges, MPI_DOUBLE, MPI_SUM, world); - #ifdef _POLARIZE_DEBUG +#ifdef _POLARIZE_DEBUG if (comm->me == 0) { - FILE* fp = fopen("qRqw-functional.txt", "w"); - for (int i = 0; i < num_induced_charges; i++) - fprintf(fp, "%d %g\n", i, qiRqwVector[i]); + FILE *fp = fopen("qRqw-functional.txt", "w"); + for (int i = 0; i < num_induced_charges; i++) fprintf(fp, "%d %g\n", i, qiRqwVector[i]); fclose(fp); } - #endif +#endif } /* ---------------------------------------------------------------------- set dielectric params for the atom in the group ------------------------------------------------------------------------- */ -void FixPolarizeFunctional::set_dielectric_params(double ediff, double emean, - double epsiloni, double areai, int set_charge, double qvalue) +void FixPolarizeFunctional::set_dielectric_params(double ediff, double emean, double epsiloni, + double areai, int set_charge, double qvalue) { double *area = atom->area; double *ed = atom->ed; @@ -1081,16 +1081,14 @@ double FixPolarizeFunctional::greens_real(double r) double FixPolarizeFunctional::grad_greens_real_factor(double r) { double alpharij = g_ewald * r; - double factor = erfc(alpharij) + 2.0 * alpharij / MY_PIS * - exp(-(alpharij * alpharij)); - double r3 = r*r*r; + double factor = erfc(alpharij) + 2.0 * alpharij / MY_PIS * exp(-(alpharij * alpharij)); + double r3 = r * r * r; return (factor * (-1.0 / r3)); } /* ---------------------------------------------------------------------- */ -void FixPolarizeFunctional::calculate_grad_greens_real(double *vec, - double dx, double dy, double dz) +void FixPolarizeFunctional::calculate_grad_greens_real(double *vec, double dx, double dy, double dz) { double r = sqrt(dx * dx + dy * dy + dz * dz); double real = grad_greens_real_factor(r); @@ -1101,8 +1099,7 @@ void FixPolarizeFunctional::calculate_grad_greens_real(double *vec, /* ---------------------------------------------------------------------- */ -double FixPolarizeFunctional::calculate_greens_ewald(double dx, double dy, - double dz) +double FixPolarizeFunctional::calculate_greens_ewald(double dx, double dy, double dz) { // excluding the reciprocal term double r = sqrt(dx * dx + dy * dy + dz * dz); @@ -1111,8 +1108,8 @@ double FixPolarizeFunctional::calculate_greens_ewald(double dx, double dy, /* ---------------------------------------------------------------------- */ -void FixPolarizeFunctional::calculate_grad_greens_ewald(double *vec, - double dx, double dy, double dz) +void FixPolarizeFunctional::calculate_grad_greens_ewald(double *vec, double dx, double dy, + double dz) { // real part of grad greens, excluding the reciprocal term calculate_grad_greens_real(vec, dx, dy, dz); @@ -1120,17 +1117,15 @@ void FixPolarizeFunctional::calculate_grad_greens_ewald(double *vec, /* ---------------------------------------------------------------------- */ -void FixPolarizeFunctional::calculate_matrix_multiply_vector(double **matrix, - double *in_vec, double *out_vec, int M) +void FixPolarizeFunctional::calculate_matrix_multiply_vector(double **matrix, double *in_vec, + double *out_vec, int M) { #if defined(OPENMP) #pragma parallel omp for #endif for (int k = 0; k < M; ++k) { double temp = 0.0; - for (int l = 0; l < M; ++l) { - temp += matrix[k][l] * in_vec[l]; - } + for (int l = 0; l < M; ++l) { temp += matrix[k][l] * in_vec[l]; } out_vec[k] = temp; } } @@ -1147,8 +1142,7 @@ double FixPolarizeFunctional::calculate_greens_ewald_self_vertex(double area) /* ---------------------------------------------------------------------- */ -double FixPolarizeFunctional::calculate_ndotgreens_ewald_self_vertex(double area, - double curvature) +double FixPolarizeFunctional::calculate_ndotgreens_ewald_self_vertex(double area, double curvature) { // this term is important, cannot be set to zero // curvature = 1 / R, minus if norm is inverse of R to center. @@ -1161,16 +1155,16 @@ double FixPolarizeFunctional::calculate_ndotgreens_ewald_self_vertex(double area where ^t is the transpose operator -- ---------------------------------------------------------------------- */ -double FixPolarizeFunctional::inner_product(double* x, double* y, int N) +double FixPolarizeFunctional::inner_product(double *x, double *y, int N) { double t = 0; - for (int i = 0; i < N; i++) t += x[i]*y[i]; + for (int i = 0; i < N; i++) t += x[i] * y[i]; return t; } /* ---------------------------------------------------------------------- */ -void FixPolarizeFunctional::cg_solver(double** A, double* b, double* x, int N) +void FixPolarizeFunctional::cg_solver(double **A, double *b, double *x, int N) { calculate_matrix_multiply_vector(A, x, cg_p, N); for (int i = 0; i < N; i++) { @@ -1194,8 +1188,8 @@ void FixPolarizeFunctional::cg_solver(double** A, double* b, double* x, int N) // x = x + alpha * p // r = r - alpha * Ap for (int i = 0; i < N; i++) { - x[i] = x[i] + alpha*cg_p[i]; - cg_r[i] = cg_r[i] - alpha*cg_Ap[i]; + x[i] = x[i] + alpha * cg_p[i]; + cg_r[i] = cg_r[i] - alpha * cg_Ap[i]; } double rsq_new = inner_product(cg_r, cg_r, N); @@ -1203,8 +1197,7 @@ void FixPolarizeFunctional::cg_solver(double** A, double* b, double* x, int N) // beta = rsq_new / rsq double beta = rsq_new / rsq; - for (int i = 0; i < N; i++) - cg_p[i] = cg_r[i] + beta*cg_p[i]; + for (int i = 0; i < N; i++) cg_p[i] = cg_r[i] + beta * cg_p[i]; rsq = rsq_new; } } From b524a0b81926080ae7c289cea3e676f63762b534 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 6 Jun 2021 18:25:16 -0400 Subject: [PATCH 166/726] correctly remove dependent sources for fix QEQ --- cmake/Modules/Packages/QEQ.cmake | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/cmake/Modules/Packages/QEQ.cmake b/cmake/Modules/Packages/QEQ.cmake index 1bdaa02f43..041d34cf9d 100644 --- a/cmake/Modules/Packages/QEQ.cmake +++ b/cmake/Modules/Packages/QEQ.cmake @@ -1,18 +1,13 @@ # Fix qeq/fire requires MANYBODY (i.e. COMB and COMB3) to be installed set(QEQ_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/QEQ) -file(GLOB QEQ_HEADERS ${QEQ_SOURCES_DIR}/fix*.h) -file(GLOB QEQ_SOURCES ${QEQ_SOURCES_DIR}/fix*.cpp) +get_property(hlist GLOBAL PROPERTY FIX) if(NOT PKG_MANYBODY) - list(REMOVE_ITEM QEQ_HEADERS ${QEQ_SOURCES_DIR}/fix_qeq_fire.h) - list(REMOVE_ITEM QEQ_SOURCES ${QEQ_SOURCES_DIR}/fix_qeq_fire.cpp) + list(REMOVE_ITEM hlist ${QEQ_SOURCES_DIR}/fix_qeq_fire.h) + get_target_property(LAMMPS_SOURCES lammps SOURCES) + list(REMOVE_ITEM LAMMPS_SOURCES ${QEQ_SOURCES_DIR}/fix_qeq_fire.cpp) + set_property(TARGET lammps PROPERTY SOURCES ${LAMMPS_SOURCES}) endif() -set_property(GLOBAL PROPERTY "QEQ_SOURCES" "${QEQ_SOURCES}") +set_property(GLOBAL PROPERTY FIX "${hlist}") -foreach(MY_HEADER ${QEQ_HEADERS}) - AddStyleHeader(${MY_HEADER} FIX) -endforeach() - -get_property(QEQ_SOURCES GLOBAL PROPERTY QEQ_SOURCES) -target_sources(lammps PRIVATE ${QEQ_SOURCES}) target_include_directories(lammps PRIVATE ${QEQ_SOURCES_DIR}) From 0ee6cf798c1b62a8e93a49a377d5f32c0fe20a25 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 6 Jun 2021 18:25:47 -0400 Subject: [PATCH 167/726] include cythonize for building MLIAP with Python support --- tools/singularity/fedora34_mingw.def | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/singularity/fedora34_mingw.def b/tools/singularity/fedora34_mingw.def index 4dd27894d4..2f8118778f 100644 --- a/tools/singularity/fedora34_mingw.def +++ b/tools/singularity/fedora34_mingw.def @@ -9,7 +9,7 @@ From: fedora:34 ccache gcc-c++ gcc-gfortran gdb valgrind eigen3-devel openblas-devel \ openmpi-devel mpich-devel fftw-devel voro++-devel gsl-devel hdf5-devel \ netcdf-devel netcdf-cxx-devel netcdf-mpich-devel netcdf-openmpi-devel \ - readline-devel python3-pyyaml \ + readline-devel python3-pyyaml python3-Cython \ mingw-filesystem-base mingw32-nsis mingw-binutils-generic \ mingw32-filesystem mingw32-pkg-config \ mingw64-filesystem mingw64-pkg-config \ From 8b0a063059f89136da00c6a8a1ee8085a491e959 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 6 Jun 2021 18:37:14 -0400 Subject: [PATCH 168/726] must not test for bonded interactions without MOLECULE package --- unittest/formats/test_molecule_file.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/unittest/formats/test_molecule_file.cpp b/unittest/formats/test_molecule_file.cpp index 90c52681ce..d13a90524c 100644 --- a/unittest/formats/test_molecule_file.cpp +++ b/unittest/formats/test_molecule_file.cpp @@ -209,6 +209,7 @@ TEST_F(MoleculeFileTest, twofiles) TEST_F(MoleculeFileTest, bonds) { + if (!LAMMPS::is_installed_pkg("MOLECULE")) GTEST_SKIP(); BEGIN_CAPTURE_OUTPUT(); command("atom_style bond"); command("region box block 0 1 0 1 0 1"); From 7322066dde1e6224fe5c1109e7bd01be1cd8eb7f Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 6 Jun 2021 18:39:19 -0400 Subject: [PATCH 169/726] use alternate approach for dealing with Package style dependency issues --- cmake/CMakeLists.txt | 31 ++++++++++--------------------- cmake/Modules/Packages/QEQ.cmake | 17 ++++++----------- unittest/c-library/CMakeLists.txt | 2 +- 3 files changed, 17 insertions(+), 33 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 8fed2fbe68..090185aac8 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -140,18 +140,17 @@ option(CMAKE_VERBOSE_MAKEFILE "Generate verbose Makefiles" OFF) set(STANDARD_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS DIPOLE GRANULAR KSPACE LATTE MANYBODY MC MESSAGE MISC MLIAP MOLECULE PERI POEMS - PLUGIN REPLICA RIGID SHOCK SPIN SNAP SRD KIM PYTHON MSCG MPIIO VORONOI + PLUGIN QEQ REPLICA RIGID SHOCK SPIN SNAP SRD KIM PYTHON MSCG MPIIO VORONOI USER-ADIOS USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-MESODPD USER-CGSDK USER-COLVARS USER-DIELECTRIC USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD USER-HDNNP USER-LB USER-MANIFOLD USER-MDI USER-MEAMC USER-MESONT USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF USER-PHONON USER-PLUMED USER-PTM USER-QTB - USER-RANN USER-REACTION USER-REAXC USER-SCAFACOS USER-SMD USER-SMTBQ USER-SPH + USER-RANN USER-REACTION USER-REAXC USER-SCAFACOS USER-SDPD USER-SMD USER-SMTBQ USER-SPH USER-TALLY USER-UEF USER-VTK USER-QUIP USER-QMMM USER-YAFF USER-PACE USER-BROWNIAN) set(SUFFIX_PACKAGES CORESHELL GPU KOKKOS OPT USER-INTEL USER-OMP) -set(DEPEND_PACKAGES QEQ USER-SDPD) -foreach(PKG ${STANDARD_PACKAGES} ${SUFFIX_PACKAGES} ${DEPEND_PACKAGES}) +foreach(PKG ${STANDARD_PACKAGES} ${SUFFIX_PACKAGES}) option(PKG_${PKG} "Build ${PKG} Package" OFF) endforeach() @@ -350,9 +349,8 @@ else() set(CUDA_REQUEST_PIC) endif() -foreach(PKG_WITH_INCL KSPACE PYTHON MLIAP VORONOI USER-COLVARS USER-HDNNP - USER-MDI USER-MOLFILE USER-NETCDF USER-PLUMED USER-QMMM USER-QUIP - USER-SCAFACOS USER-SMD USER-VTK KIM LATTE MESSAGE MSCG COMPRESS USER-PACE) +foreach(PKG_WITH_INCL KSPACE PYTHON MLIAP VORONOI USER-COLVARS USER-DIELECTRIC USER-HDNNP USER-MDI USER-MOLFILE USER-NETCDF + USER-PLUMED USER-QMMM USER-QUIP USER-SCAFACOS USER-SMD USER-VTK KIM LATTE MESSAGE MSCG COMPRESS USER-PACE) if(PKG_${PKG_WITH_INCL}) include(Packages/${PKG_WITH_INCL}) endif() @@ -393,7 +391,7 @@ RegisterStyles(${LAMMPS_SOURCE_DIR}) ######################################################## # Fetch missing external files and archives for packages ######################################################## -foreach(PKG ${STANDARD_PACKAGES} ${SUFFIX_PACKAGES} ${DEPEND_PACKAGES}) +foreach(PKG ${STANDARD_PACKAGES} ${SUFFIX_PACKAGES}) if(PKG_${PKG}) FetchPotentials(${LAMMPS_SOURCE_DIR}/${PKG} ${LAMMPS_POTENTIALS_DIR}) endif() @@ -429,15 +427,6 @@ foreach(PKG MPIIO) endif() endforeach() -# packages with custom dependencies -foreach(PKG ${DEPEND_PACKAGES}) - if(PKG_${PKG}) - include(Packages/${PKG}) - endif() - set(${PKG}_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/${PKG}) - RegisterPackages(${${PKG}_SOURCES_DIR}) -endforeach() - # dedicated check for entire contents of accelerator packages foreach(PKG ${SUFFIX_PACKAGES}) set(${PKG}_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/${PKG}) @@ -506,9 +495,9 @@ endif() # packages which selectively include variants based on enabled styles # e.g. accelerator packages ###################################################################### -foreach(PKG_WITH_DEPS ${DEPEND_PACKAGES} ${SUFFIX_PACKAGES}) - if(PKG_${PKG_WITH_DEPS}) - include(Packages/${PKG_WITH_DEPS}) +foreach(PKG_WITH_INCL CORESHELL QEQ USER-OMP USER-SDPD KOKKOS OPT USER-INTEL GPU) + if(PKG_${PKG_WITH_INCL}) + include(Packages/${PKG_WITH_INCL}) endif() endforeach() @@ -550,7 +539,7 @@ target_include_directories(lammps PRIVATE ${LAMMPS_STYLE_HEADERS_DIR}) ###################################### set(temp "#ifndef LMP_INSTALLED_PKGS_H\n#define LMP_INSTALLED_PKGS_H\n") set(temp "${temp}const char * LAMMPS_NS::LAMMPS::installed_packages[] = {\n") -set(temp_PKG_LIST ${STANDARD_PACKAGES} ${DEPEND_PACKAGES} ${SUFFIX_PACKAGES}) +set(temp_PKG_LIST ${STANDARD_PACKAGES} ${SUFFIX_PACKAGES}) list(SORT temp_PKG_LIST) foreach(PKG ${temp_PKG_LIST}) if(PKG_${PKG}) diff --git a/cmake/Modules/Packages/QEQ.cmake b/cmake/Modules/Packages/QEQ.cmake index 1bdaa02f43..041d34cf9d 100644 --- a/cmake/Modules/Packages/QEQ.cmake +++ b/cmake/Modules/Packages/QEQ.cmake @@ -1,18 +1,13 @@ # Fix qeq/fire requires MANYBODY (i.e. COMB and COMB3) to be installed set(QEQ_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/QEQ) -file(GLOB QEQ_HEADERS ${QEQ_SOURCES_DIR}/fix*.h) -file(GLOB QEQ_SOURCES ${QEQ_SOURCES_DIR}/fix*.cpp) +get_property(hlist GLOBAL PROPERTY FIX) if(NOT PKG_MANYBODY) - list(REMOVE_ITEM QEQ_HEADERS ${QEQ_SOURCES_DIR}/fix_qeq_fire.h) - list(REMOVE_ITEM QEQ_SOURCES ${QEQ_SOURCES_DIR}/fix_qeq_fire.cpp) + list(REMOVE_ITEM hlist ${QEQ_SOURCES_DIR}/fix_qeq_fire.h) + get_target_property(LAMMPS_SOURCES lammps SOURCES) + list(REMOVE_ITEM LAMMPS_SOURCES ${QEQ_SOURCES_DIR}/fix_qeq_fire.cpp) + set_property(TARGET lammps PROPERTY SOURCES ${LAMMPS_SOURCES}) endif() -set_property(GLOBAL PROPERTY "QEQ_SOURCES" "${QEQ_SOURCES}") +set_property(GLOBAL PROPERTY FIX "${hlist}") -foreach(MY_HEADER ${QEQ_HEADERS}) - AddStyleHeader(${MY_HEADER} FIX) -endforeach() - -get_property(QEQ_SOURCES GLOBAL PROPERTY QEQ_SOURCES) -target_sources(lammps PRIVATE ${QEQ_SOURCES}) target_include_directories(lammps PRIVATE ${QEQ_SOURCES_DIR}) diff --git a/unittest/c-library/CMakeLists.txt b/unittest/c-library/CMakeLists.txt index c4d2ad7466..3c24cdcff4 100644 --- a/unittest/c-library/CMakeLists.txt +++ b/unittest/c-library/CMakeLists.txt @@ -15,7 +15,7 @@ set_tests_properties(LibraryProperties PROPERTIES ENVIRONMENT "LAMMPS_POTENTIALS set(TEST_CONFIG_DEFS "-DTEST_INPUT_FOLDER=${CMAKE_CURRENT_SOURCE_DIR};-DLAMMPS_${LAMMPS_SIZES}") set(PKG_COUNT 0) -foreach(PKG ${STANDARD_PACKAGES} ${DEPEND_PACKAGES} ${SUFFIX_PACKAGES}) +foreach(PKG ${STANDARD_PACKAGES} ${SUFFIX_PACKAGES}) if(PKG_${PKG}) MATH(EXPR PKG_COUNT "${PKG_COUNT}+1") endif() From ffd1b2bfa99a087cb506efe0f1f7a6a067cb20d9 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 7 Jun 2021 11:48:13 -0400 Subject: [PATCH 170/726] fix compilation issue --- cmake/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 090185aac8..c6dafe902a 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -349,7 +349,7 @@ else() set(CUDA_REQUEST_PIC) endif() -foreach(PKG_WITH_INCL KSPACE PYTHON MLIAP VORONOI USER-COLVARS USER-DIELECTRIC USER-HDNNP USER-MDI USER-MOLFILE USER-NETCDF +foreach(PKG_WITH_INCL KSPACE PYTHON MLIAP VORONOI USER-COLVARS USER-HDNNP USER-MDI USER-MOLFILE USER-NETCDF USER-PLUMED USER-QMMM USER-QUIP USER-SCAFACOS USER-SMD USER-VTK KIM LATTE MESSAGE MSCG COMPRESS USER-PACE) if(PKG_${PKG_WITH_INCL}) include(Packages/${PKG_WITH_INCL}) From 337527282d67e77a846d160c9a6f914a027323d3 Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Mon, 7 Jun 2021 16:36:45 -0500 Subject: [PATCH 171/726] Added the documentation for atom style dielectric and for compute efield/atom --- doc/src/atom_style.rst | 13 +++++++++++++ doc/src/compute_efield_atom.rst | 28 ++++++++++++++++++---------- 2 files changed, 31 insertions(+), 10 deletions(-) diff --git a/doc/src/atom_style.rst b/doc/src/atom_style.rst index dff222b053..1b5aaccb9a 100644 --- a/doc/src/atom_style.rst +++ b/doc/src/atom_style.rst @@ -88,6 +88,8 @@ quantities. +--------------+-----------------------------------------------------+--------------------------------------+ | *charge* | charge | atomic system with charges | +--------------+-----------------------------------------------------+--------------------------------------+ +| *dielectric* | dipole, area, curvature | system with surface polarization | ++--------------+-----------------------------------------------------+--------------------------------------+ | *dipole* | charge and dipole moment | system with dipolar particles | +--------------+-----------------------------------------------------+--------------------------------------+ | *dpd* | internal temperature and internal energies | DPD particles | @@ -166,6 +168,17 @@ a point particle. If it is an ellipsoid, it also stores a shape vector with the 3 diameters of the ellipsoid and a quaternion 4-vector with its orientation. +For the *dielectric* style, each particle can be either a physical +particle (e.g. an ion), or an interface particle representing a boundary +element. For physical particles, the per-particle properties are +the same as atom_style full. For interface particles, in addition to +these properties, each particle also has an area, a normal unit vector, +a mean local curvature, the mean and difference of the dielectric constants +of two sides of the interface, and the local dielectric constant at the +boundary element. The distinction between the physical and interface +particles is only meaningful when :doc:`fix polarize ` +commands are applied to the interface particles. + For the *dipole* style, a point dipole is defined for each point particle. Note that if you wish the particles to be finite-size spheres as in a Stockmayer potential for a dipolar fluid, so that the diff --git a/doc/src/compute_efield_atom.rst b/doc/src/compute_efield_atom.rst index 449a495519..68faccd8ad 100644 --- a/doc/src/compute_efield_atom.rst +++ b/doc/src/compute_efield_atom.rst @@ -19,20 +19,26 @@ Examples .. code-block:: LAMMPS compute 1 all efield/atom + compute 1 all efield/atom pair yes kspace no Description """"""""""" -FIXME update docs from here +Define a computation that calculates the electric field at each atom in a group. +The compute should only enabled with pair and kspace styles that are provided +by the USER-DIELECTRIC package because only these styles compute the per-atom +electric field at every time step. -Define a computation that calculates the per-atom translational -kinetic energy for each atom in a group. +The electric field is a 3-component vector. The value of the electric field +components will be 0.0 for atoms not in the specified compute group. -The kinetic energy is simply 1/2 m v\^2, where m is the mass and v is -the velocity of each atom. +---------- + +The keyword/value option pairs are used in the following ways. + +For the *pair* and *kspace* keywords, the real-space and reciprocal-space +contributions to the electric field can be turned off and on. -The value of the kinetic energy will be 0.0 for atoms not in the -specified compute group. Output info """"""""""" @@ -42,11 +48,12 @@ any command that uses per-atom values from a compute as input. See the :doc:`Howto output ` doc page for an overview of LAMMPS output options. -The per-atom vector values will be in energy :doc:`units `. +The per-atom vector values will be in electric field :doc:`units `. Restrictions """""""""""" - none +This compute is part of the USER-DIELECTRIC package. It is only enabled if +LAMMPS was built with that package. Related commands """""""""""""""" @@ -56,4 +63,5 @@ Related commands Default """"""" -none +The option defaults are pair = yes and kspace = yes. + From a32e68269705e8d8b438b2e1725842cb040ea348 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 8 Jun 2021 10:23:19 -0400 Subject: [PATCH 172/726] error exit if driver sends number of atoms. add comment why. --- src/USER-MDI/fix_mdi_engine.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/USER-MDI/fix_mdi_engine.cpp b/src/USER-MDI/fix_mdi_engine.cpp index 260701107b..db9e114488 100644 --- a/src/USER-MDI/fix_mdi_engine.cpp +++ b/src/USER-MDI/fix_mdi_engine.cpp @@ -228,9 +228,12 @@ int FixMDIEngine::execute_command(const char *command, MDI_Comm mdicomm) // respond to any driver command if (strcmp(command, ">NATOMS") == 0) { - int mdi_natoms = 0; - ierr = MDI_Recv((char *) &mdi_natoms, 1, MDI_INT, mdicomm); + int64_t mdi_natoms = 0; + ierr = MDI_Recv((char *) &mdi_natoms, 1, MDI_INT64_T, mdicomm); if (ierr != 0) error->all(FLERR, "MDI: Unable to receive number of atoms from driver"); + error->all(FLERR, "MDI: '>NATOMS' driver command not (yet) supported"); + // FIXME: to import the number of atoms, more steps than below are needed for LAMMPS. + // also a check for overflow is needed in case natoms is 32-bit atom->natoms = mdi_natoms; MPI_Bcast(&atom->natoms, 1, MPI_LMP_BIGINT, 0, world); From b8236c640270e300f87b080685304d6baf5a3f2f Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 8 Jun 2021 10:58:12 -0400 Subject: [PATCH 173/726] improve error messages by printing unrecognized property --- src/balance.cpp | 2 +- src/imbalance_group.cpp | 2 +- src/info.cpp | 12 ++++++------ src/pair_hybrid.cpp | 6 +++--- src/pair_table.cpp | 2 +- src/thermo.cpp | 2 +- 6 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/balance.cpp b/src/balance.cpp index 03ee4a8195..af142f404d 100644 --- a/src/balance.cpp +++ b/src/balance.cpp @@ -458,7 +458,7 @@ void Balance::options(int iarg, int narg, char **arg) nopt = imb->options(narg-iarg,arg+iarg+2); imbalances[nimbalance++] = imb; } else { - error->all(FLERR,"Unknown (fix) balance weight method"); + error->all(FLERR,"Unknown (fix) balance weight method: {}", arg[iarg+1]); } iarg += 2+nopt; diff --git a/src/imbalance_group.cpp b/src/imbalance_group.cpp index f4c883ff4c..e674338e76 100644 --- a/src/imbalance_group.cpp +++ b/src/imbalance_group.cpp @@ -48,7 +48,7 @@ int ImbalanceGroup::options(int narg, char **arg) for (int i = 0; i < num; ++i) { id[i] = group->find(arg[2*i+1]); if (id[i] < 0) - error->all(FLERR,"Unknown group in balance weight command"); + error->all(FLERR,"Unknown group in balance weight command: {}", arg[2*i+1]); factor[i] = utils::numeric(FLERR,arg[2*i+2],false,lmp); if (factor[i] <= 0.0) error->all(FLERR,"Illegal balance weight command"); } diff --git a/src/info.cpp b/src/info.cpp index 12546b6be9..049bdd5bfd 100644 --- a/src/info.cpp +++ b/src/info.cpp @@ -814,13 +814,13 @@ bool Info::is_active(const char *category, const char *name) return (lmp->kokkos && lmp->kokkos->kokkos_exists) ? true : false; } else if (strcmp(name,"omp") == 0) { return (modify->find_fix("package_omp") >= 0) ? true : false; - } else error->all(FLERR,"Unknown name for info package category"); + } else error->all(FLERR,"Unknown name for info package category: {}", name); } else if (strcmp(category,"newton") == 0) { if (strcmp(name,"pair") == 0) return (force->newton_pair != 0); else if (strcmp(name,"bond") == 0) return (force->newton_bond != 0); else if (strcmp(name,"any") == 0) return (force->newton != 0); - else error->all(FLERR,"Unknown name for info newton category"); + else error->all(FLERR,"Unknown name for info newton category: {}", name); } else if (strcmp(category,"pair") == 0) { if (force->pair == nullptr) return false; @@ -829,7 +829,7 @@ bool Info::is_active(const char *category, const char *name) else if (strcmp(name,"manybody") == 0) return (force->pair->manybody_flag != 0); else if (strcmp(name,"tail") == 0) return (force->pair->tail_flag != 0); else if (strcmp(name,"shift") == 0) return (force->pair->offset_flag != 0); - else error->all(FLERR,"Unknown name for info pair category"); + else error->all(FLERR,"Unknown name for info pair category: {}", name); } else if (strcmp(category,"comm_style") == 0) { style = commstyles[comm->style]; @@ -851,7 +851,7 @@ bool Info::is_active(const char *category, const char *name) style = force->improper_style; } else if (strcmp(category,"kspace_style") == 0) { style = force->kspace_style; - } else error->all(FLERR,"Unknown category for info is_active()"); + } else error->all(FLERR,"Unknown category for info is_active(): {}", category); int match = 0; if (strcmp(style,name) == 0) match = 1; @@ -893,7 +893,7 @@ bool Info::is_available(const char *category, const char *name) } else if (strcmp(name,"exceptions") == 0) { return has_exceptions(); } - } else error->all(FLERR,"Unknown category for info is_available()"); + } else error->all(FLERR,"Unknown category for info is_available(): {}", category); return false; } @@ -952,7 +952,7 @@ bool Info::is_defined(const char *category, const char *name) if (strcmp(names[i],name) == 0) return true; } - } else error->all(FLERR,"Unknown category for info is_defined()"); + } else error->all(FLERR,"Unknown category for info is_defined(): {}", category); return false; } diff --git a/src/pair_hybrid.cpp b/src/pair_hybrid.cpp index c2bc37e931..ab2fe7803a 100644 --- a/src/pair_hybrid.cpp +++ b/src/pair_hybrid.cpp @@ -494,7 +494,7 @@ void PairHybrid::coeff(int narg, char **arg) int none = 0; if (m == nstyles) { if (strcmp(arg[2],"none") == 0) none = 1; - else error->all(FLERR,"Pair coeff for hybrid has invalid style"); + else error->all(FLERR,"Pair coeff for hybrid has invalid style: {}",arg[2]); } // move 1st/2nd args to 2nd/3rd args @@ -896,7 +896,7 @@ void PairHybrid::modify_params(int narg, char **arg) int m; for (m = 0; m < nstyles; m++) if (strcmp(arg[1],keywords[m]) == 0) break; - if (m == nstyles) error->all(FLERR,"Unknown pair_modify hybrid sub-style"); + if (m == nstyles) error->all(FLERR,"Unknown pair_modify hybrid sub-style: {}",arg[1]); int iarg = 2; if (multiple[m]) { @@ -905,7 +905,7 @@ void PairHybrid::modify_params(int narg, char **arg) for (m = 0; m < nstyles; m++) if (strcmp(arg[1],keywords[m]) == 0 && multiflag == multiple[m]) break; if (m == nstyles) - error->all(FLERR,"Unknown pair_modify hybrid sub-style"); + error->all(FLERR,"Unknown pair_modify hybrid sub-style: {}",arg[1]); iarg = 3; } diff --git a/src/pair_table.cpp b/src/pair_table.cpp index ee3a6454c9..f064d56377 100644 --- a/src/pair_table.cpp +++ b/src/pair_table.cpp @@ -215,7 +215,7 @@ void PairTable::settings(int narg, char **arg) else if (strcmp(arg[0],"linear") == 0) tabstyle = LINEAR; else if (strcmp(arg[0],"spline") == 0) tabstyle = SPLINE; else if (strcmp(arg[0],"bitmap") == 0) tabstyle = BITMAP; - else error->all(FLERR,"Unknown table style in pair_style command"); + else error->all(FLERR,"Unknown table style in pair_style command: {}", arg[0]); tablength = utils::inumeric(FLERR,arg[1],false,lmp); if (tablength < 2) error->all(FLERR,"Illegal number of pair table entries"); diff --git a/src/thermo.cpp b/src/thermo.cpp index f030ac2391..1fa6f18d2c 100644 --- a/src/thermo.cpp +++ b/src/thermo.cpp @@ -908,7 +908,7 @@ void Thermo::parse_fields(char *str) if ((argi.get_type() == ArgInfo::UNKNOWN) || (argi.get_type() == ArgInfo::NONE) || (argi.get_dim() > 2)) - error->all(FLERR,"Unknown keyword in thermo_style custom command"); + error->all(FLERR,"Unknown keyword '{}' in thermo_style custom command",word); // process zero or one or two trailing brackets // argindex1,argindex2 = int inside each bracket pair, 0 if no bracket From 41bdf0f39887c8a11465ed4b9522baa42567bde8 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 8 Jun 2021 18:46:48 -0400 Subject: [PATCH 174/726] address spelling issues and update list of false positives --- doc/src/fix_polarize.rst | 2 +- doc/utils/sphinx-config/false_positives.txt | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/doc/src/fix_polarize.rst b/doc/src/fix_polarize.rst index 4eb2839f96..2c499fce3c 100644 --- a/doc/src/fix_polarize.rst +++ b/doc/src/fix_polarize.rst @@ -64,7 +64,7 @@ the interface, are computed using the equation: Fix *polarize/bem/gmres* employs the Generalized Minimum Residual (GMRES) as described in :ref:`(Barros) ` to solve :math:`\sigma_b`. -Fix *polarize/bem/icc* employs the successive overrelaxation algorithm +Fix *polarize/bem/icc* employs the successive over-relaxation algorithm as described in :ref:`(Tyagi) ` to solve :math:`\sigma_b`. Fix *polarize/functional* ... diff --git a/doc/utils/sphinx-config/false_positives.txt b/doc/utils/sphinx-config/false_positives.txt index b13e6b8252..403f3f4377 100644 --- a/doc/utils/sphinx-config/false_positives.txt +++ b/doc/utils/sphinx-config/false_positives.txt @@ -188,6 +188,7 @@ Babaei backcolor backends Baczewski +Bagchi Bagi Bagnold Bajaj @@ -201,6 +202,7 @@ Ballenegger Bammann Banna Barashev +Barbosa barnes barostat Barostats @@ -208,6 +210,7 @@ barostatted barostatting Barostatting Barrat +Barros Bartelt Bartels barycenter @@ -225,6 +228,7 @@ bdw Beckman Belak Bellott +bem benchmarking Bennet Berardi @@ -1156,6 +1160,7 @@ gmake gmask Gmask GMock +gmres gneb GNEB Goldfarb @@ -1461,6 +1466,7 @@ Izvekov izz Izz Jacobsen +Jadhao Jadhav jagreat Jahn @@ -1516,6 +1522,7 @@ Kadiri Kai Kalia Kamberaj +Kantorovich Kapfer Karls Karlsruhe @@ -2356,6 +2363,7 @@ Oleinik Olfason olivedrab Ollila +Olvera omegaDD omegax omegay @@ -2987,6 +2995,7 @@ Sim Simov Simul simulations +Sinkovits Sinnott sinusoid sinusoidally @@ -3137,6 +3146,7 @@ surfactant surfactants Suter Sutmann +Suzen svn sw Swegat @@ -3338,6 +3348,7 @@ twobody twojmax Tx txt +Tyagi typeI typeJ typeN From b1f8740204b5b253ad56a208acfb46a9104e4e5a Mon Sep 17 00:00:00 2001 From: macstein Date: Wed, 9 Jun 2021 16:55:11 -0700 Subject: [PATCH 175/726] update --- src/MLIAP/mliap_descriptor_so3.cpp | 298 ++++++ src/MLIAP/mliap_descriptor_so3.h | 59 ++ src/MLIAP/mliap_so3.cpp | 1422 ++++++++++++++++++++++++++++ src/MLIAP/mliap_so3.h | 113 +++ src/MLIAP/mliap_so3_math.h | 684 +++++++++++++ src/MLIAP/pair_mliap.cpp | 6 + 6 files changed, 2582 insertions(+) create mode 100644 src/MLIAP/mliap_descriptor_so3.cpp create mode 100644 src/MLIAP/mliap_descriptor_so3.h create mode 100644 src/MLIAP/mliap_so3.cpp create mode 100644 src/MLIAP/mliap_so3.h create mode 100644 src/MLIAP/mliap_so3_math.h diff --git a/src/MLIAP/mliap_descriptor_so3.cpp b/src/MLIAP/mliap_descriptor_so3.cpp new file mode 100644 index 0000000000..1b9f852e51 --- /dev/null +++ b/src/MLIAP/mliap_descriptor_so3.cpp @@ -0,0 +1,298 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://lammps.sandia.gov/, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include "mliap_descriptor_so3.h" +#include "atom.h" +#include "comm.h" +#include "error.h" +#include "memory.h" +#include "mliap_data.h" +#include "pair_mliap.h" +#include "mliap_so3.h" + +#include +#include + +using namespace LAMMPS_NS; + +#define MAXLINE 1024 +#define MAXWORD 3 + + +MLIAPDescriptorSO3::MLIAPDescriptorSO3(LAMMPS *lmp, + char *paramfilename): + MLIAPDescriptor(lmp) +{ + nelements = 0; + elements = nullptr; + radelem = nullptr; + wjelem = nullptr; + so3ptr = nullptr; + read_paramfile(paramfilename); + + so3ptr = new MLIAP_SO3(lmp,rcutfac,lmax,nmax,alpha); + + ndescriptors = so3ptr->ncoeff; +} + +MLIAPDescriptorSO3::~MLIAPDescriptorSO3() +{ + delete so3ptr; +} + +void MLIAPDescriptorSO3::read_paramfile(char *paramfilename) +{ + int rcutfacflag = 0; + int nelementsflag = 0; + int elementsflag = 0; + int radelemflag = 0; + int wjelemflag = 0; + int nmaxflag=0; + int lmaxflag=0; + int alphaflag=0; + + // set defaults for optional keywords + + rfac0 = 0.99363; + rmin0 = 0.0; + + // open SO3 parameter file on proc 0 + + FILE *fpparam; + if (comm->me == 0) { + fpparam = utils::open_potential(paramfilename,lmp,nullptr); + if (fpparam == nullptr) + error->one(FLERR,fmt::format + ("Cannot open SO3 parameter file {}: {}", + paramfilename, utils::getsyserror())); + } + + char line[MAXLINE],*ptr; + int eof = 0; + int n,nwords; + + while (1) { + if (comm->me == 0) { + ptr = fgets(line,MAXLINE,fpparam); + if (ptr == nullptr) { + eof = 1; + fclose(fpparam); + } else n = strlen(line) + 1; + } + + MPI_Bcast(&eof,1,MPI_INT,0,world); + if (eof) break; + MPI_Bcast(&n,1,MPI_INT,0,world); + MPI_Bcast(line,n,MPI_CHAR,0,world); + + // strip comment, skip line if blank + + if ((ptr = strchr(line,'#'))) *ptr = '\0'; + nwords = utils::count_words(line); + if (nwords == 0) continue; + + // words = ptrs to all words in line + // strip single and double quotes from words + + char* keywd = strtok(line,"' \t\n\r\f"); + char* keyval = strtok(nullptr,"' \t\n\r\f"); + + if (comm->me == 0) { + utils::logmesg(lmp, fmt::format("SO3 keyword {} {} \n", + keywd, keyval)); + } + + // check for keywords with one value per element + + if (strcmp(keywd,"elems") == 0 || strcmp(keywd,"radelems") + == 0 || strcmp(keywd,"welems") == 0) { + + if (nelementsflag == 0 || nwords != nelements+1) + error->all(FLERR,"Incorrect SO3 parameter file"); + + if (strcmp(keywd,"elems") == 0) { + for (int ielem = 0; ielem < nelements; ielem++) { + elements[ielem] = utils::strdup(keyval); + keyval = strtok(nullptr,"' \t\n\r\f"); + } + + elementsflag = 1; + } else if (strcmp(keywd,"radelems") == 0) { + for (int ielem = 0; ielem < nelements; ielem++) { + radelem[ielem] = utils::numeric(FLERR,keyval,false,lmp); + keyval = strtok(nullptr,"' \t\n\r\f"); + } + radelemflag = 1; + } else if (strcmp(keywd,"welems") == 0) { + for (int ielem = 0; ielem < nelements; ielem++) { + wjelem[ielem] = atof(keyval); + keyval = strtok(nullptr,"' \t\n\r\f"); + } + wjelemflag = 1; + } + + } else { + + // all other keywords take one value + + if (nwords != 2) + error->all(FLERR,"Incorrect SO3 parameter file"); + + if (strcmp(keywd,"nelems") == 0) { + nelements = atoi(keyval); + elements = new char*[nelements]; + memory->create(radelem,nelements, + "mliap_so3_descriptor:radelem"); + memory->create(wjelem,nelements, + "mliap_so3_descriptor:wjelem"); + nelementsflag = 1; + } else if (strcmp(keywd,"rcutfac") == 0) { + rcutfac = atof(keyval); + rcutfacflag = 1; + } else if (strcmp(keywd,"nmax") == 0) { + nmax = atoi(keyval); + nmaxflag = 1; + } else if (strcmp(keywd,"lmax") == 0) { + lmax = atoi(keyval); + lmaxflag = 1; + } else if (strcmp(keywd,"alpha") == 0) { + alpha = atof(keyval); + alphaflag = 1; + } else + error->all(FLERR,"Incorrect SO3 parameter file"); + } + } + + if (!rcutfacflag || !nelementsflag || + !elementsflag || !radelemflag || !wjelemflag || + !nmaxflag || !lmaxflag || !alphaflag) + error->all(FLERR,"Incorrect SO3 parameter file"); + + // construct cutsq + + double cut; + cutmax = 0.0; + memory->create(cutsq,nelements,nelements, + "mliap/descriptor/so3:cutsq"); + for (int ielem = 0; ielem < nelements; ielem++) { + + cut = 2.0*radelem[ielem]*rcutfac; + if (cut > cutmax) cutmax = cut; + cutsq[ielem][ielem] = cut*cut; + + for(int jelem = ielem+1; jelem < nelements; jelem++) { + cut = (radelem[ielem]+radelem[jelem])*rcutfac; + cutsq[ielem][jelem] = cutsq[jelem][ielem] = cut*cut; + } + + } + +} + +void MLIAPDescriptorSO3::compute_descriptors(class MLIAPData* data) +{ + + so3ptr->spectrum(data->nlistatoms,data->numneighs, + data->jelems,wjelem,data->rij,nmax, lmax, rcutfac,alpha, + data->ndescriptors); + + for (int ii = 0; ii < data->nlistatoms; ii++) { + for (int icoeff = 0; icoeff < data->ndescriptors; icoeff++) + data->descriptors[ii][icoeff] = + so3ptr->m_plist_r[ii*(data->ndescriptors)+icoeff]; + } + +} + +void MLIAPDescriptorSO3::compute_forces(class MLIAPData* data) +{ + int npairs=0; + for (int ii = 0; ii < data->nlistatoms; ii++) + npairs+=data->numneighs[ii]; + + int totali; + + so3ptr->spectrum_dxdr(data->nlistatoms,data->numneighs, + data->jelems,wjelem,data->rij,nmax, lmax, rcutfac,alpha,npairs, + data->ndescriptors); + + + double fij[3]; + double **f = atom->f; + + int ij = 0; + + for (int ii = 0; ii < data->nlistatoms; ii++) { + const int i = data->iatoms[ii]; + const int ielem = data->ielems[ii]; + + // insure rij, inside, wj, and rcutij are of size jnum + + const int jnum = data->numneighs[ii]; + + for (int jj = 0; jj < jnum; jj++) { + int j = data->jatoms[ij]; + + for(int ir=0;ir<3;ir++){ + fij[ir]=0.0; + for(int icoeff=0;icoeffndescriptors;icoeff++) + fij[ir]+=data->betas[ii][icoeff]*so3ptr->m_dplist_r[(ij + *(data->ndescriptors)+icoeff)*3+ir]; + } + + f[i][0] += fij[0]; + f[i][1] += fij[1]; + f[i][2] += fij[2]; + f[j][0] -= fij[0]; + f[j][1] -= fij[1]; + f[j][2] -= fij[2]; + + // add in global and per-atom virial contributions + // this is optional and has no effect on force calculation + + if (data->vflag) + data->pairmliap->v_tally(i,j,fij,data->rij[ij]); + ij++; + } + + } +} + +void MLIAPDescriptorSO3::compute_force_gradients + (class MLIAPData* data) +{ + +} + +void MLIAPDescriptorSO3::compute_descriptor_gradients + (class MLIAPData* data) +{ + +} + +void MLIAPDescriptorSO3::init() +{ + so3ptr->init(); +} + + +double MLIAPDescriptorSO3::memory_usage() +{ + double bytes = 0; + + bytes += (double)nelements*sizeof(double); + bytes += (double)nelements*sizeof(double); + bytes += (double)nelements*nelements*sizeof(int); + + return bytes; +} diff --git a/src/MLIAP/mliap_descriptor_so3.h b/src/MLIAP/mliap_descriptor_so3.h new file mode 100644 index 0000000000..e956e9ab4b --- /dev/null +++ b/src/MLIAP/mliap_descriptor_so3.h @@ -0,0 +1,59 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifndef LMP_MLIAP_DESCRIPTOR_SO3_H +#define LMP_MLIAP_DESCRIPTOR_SO3_H + +#include "mliap_descriptor.h" + + +namespace LAMMPS_NS { + +class MLIAPDescriptorSO3 : public MLIAPDescriptor { + + public: + + MLIAPDescriptorSO3(LAMMPS*, char*); + ~MLIAPDescriptorSO3(); + + virtual void compute_descriptors(class MLIAPData*); + virtual void compute_forces(class MLIAPData*); + virtual void compute_force_gradients(class MLIAPData*); + virtual void compute_descriptor_gradients(class MLIAPData*); + virtual void init(); + virtual double memory_usage(); + + double rcutfac; + + protected: + + class MLIAP_SO3* so3ptr; + void read_paramfile(char *); + inline int equal(double* x,double* y); + inline double dist2(double* x,double* y); + + int nmax,lmax; + double alpha; + + double *radelem; + double *wjelem; + int twojmax, switchflag, bzeroflag; + int chemflag, bnormflag, wselfallflag; + double rfac0, rmin0; + +}; + +} + +#endif + diff --git a/src/MLIAP/mliap_so3.cpp b/src/MLIAP/mliap_so3.cpp new file mode 100644 index 0000000000..1fa7fcf287 --- /dev/null +++ b/src/MLIAP/mliap_so3.cpp @@ -0,0 +1,1422 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://lammps.sandia.gov/, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. + ------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing authors: Aidan Thompson, Christian Trott, SNL + ------------------------------------------------------------------------- */ + +#include "mliap_so3.h" +#include +#include "math_const.h" +#include "math_special.h" +#include "memory.h" +#include "error.h" +#include "comm.h" + +#ifdef MLIAP_SO3_MKL +#include "mkl.h" +#else + +#include "mliap_so3_math.h" + +using namespace jacobi_pd; +#endif + +using namespace LAMMPS_NS; +using namespace MathConst; +using namespace MathSpecial; + +MLIAP_SO3::MLIAP_SO3(LAMMPS *lmp, double vrcut, int vlmax, int vnmax, + double valpha) : Pointers(lmp) +{ + m_rcut = vrcut; + m_alpha = valpha; + m_lmax = vlmax; + m_nmax = vnmax; + compute_ncoeff(); + + m_Nmax = (m_nmax + m_lmax + 1) * 10; + + m_ellpl1 = nullptr; + m_ellm1 = nullptr; + m_pfac = nullptr; + m_dfac0 = nullptr; + m_dfac1 = nullptr; + m_dfac2 = nullptr; + m_dfac3 = nullptr; + m_dfac4 = nullptr; + m_dfac5 = nullptr; + + m_g_array = nullptr; + m_w = nullptr; + m_rootpq = nullptr; + m_idxu_block = nullptr; + m_idxylm = nullptr; + + m_rip_array = nullptr; + m_rip_darray = nullptr; + + m_sbes_array = nullptr; + m_sbes_darray = nullptr; + + m_plist_r = nullptr; + m_plist_i = nullptr; + + m_clist_r = nullptr; + m_clist_i = nullptr; + + m_ulist_r = nullptr; + m_ulist_i = nullptr; + + m_Ylms_r = nullptr; + m_Ylms_i = nullptr; + + m_dYlm_r = nullptr; + m_dYlm_i = nullptr; + + m_dplist_r = nullptr; + m_dplist_i = nullptr; + + m_dclist_r = nullptr; + m_dclist_i = nullptr; + + m_tempdp_r = nullptr; + + m_clisttot_r = nullptr; + m_clisttot_i = nullptr; + + m_init_arrays = 0; + +} + +MLIAP_SO3::~MLIAP_SO3() +{ + + memory->destroy(m_ellpl1); + memory->destroy(m_ellm1); + memory->destroy(m_pfac); + memory->destroy(m_dfac0); + memory->destroy(m_pfac); + memory->destroy(m_dfac0); + memory->destroy(m_dfac1); + memory->destroy(m_dfac2); + memory->destroy(m_dfac3); + memory->destroy(m_dfac4); + memory->destroy(m_dfac5); + memory->destroy(m_w); + memory->destroy(m_g_array); + + memory->destroy(m_rootpq); + memory->destroy(m_idxu_block); + memory->destroy(m_idxylm); + + memory->destroy(m_rip_array); + memory->destroy(m_rip_darray); + + memory->destroy(m_sbes_array); + memory->destroy(m_sbes_darray); + + memory->destroy(m_plist_r); + memory->destroy(m_plist_i); + + memory->destroy(m_clist_r); + memory->destroy(m_clist_i); + + memory->destroy(m_ulist_r); + memory->destroy(m_ulist_i); + + memory->destroy(m_Ylms_r); + memory->destroy(m_Ylms_i); + memory->destroy(m_dYlm_r); + memory->destroy(m_dYlm_i); + + memory->destroy(m_dplist_r); + memory->destroy(m_dplist_i); + + memory->destroy(m_dclist_r); + memory->destroy(m_dclist_i); + + memory->destroy(m_tempdp_r); + + memory->destroy(m_clisttot_r); + memory->destroy(m_clisttot_i); + +} + +void MLIAP_SO3::compute_ncoeff() +{ + + ncoeff = m_nmax * (m_nmax + 1) * (m_lmax + 1) / 2; + +} + +void MLIAP_SO3::init() +{ + int i, totali; + + totali = m_lmax + 1; + memory->destroy(m_ellpl1); + memory->create(m_ellpl1, totali, "MLIAP_SO3:m_ellpl1"); + memory->destroy(m_ellm1); + memory->create(m_ellm1, totali, "MLIAP_SO3:m_ellm1"); + + for (int l = 1; l < m_lmax + 1; l++) { + m_ellpl1[l] = get_sum(0, l + 2, 1, 2); + m_ellm1[l] = get_sum(0, l, 1, 2); + } + + double pfac1 = 1.0 / 4.0 / M_PI; + m_pfac_l1 = m_lmax + 2; + m_pfac_l2 = (m_lmax + 2) * (m_lmax + 2) + 1; + totali = m_pfac_l1 * m_pfac_l2; + memory->destroy(m_pfac); + memory->create(m_pfac, totali, "MLIAP_SO3:m_pfac"); + for (int l = 0; l < m_lmax + 2; l++) + for (int m = -l; m < l + 1; m++) + m_pfac[l * m_pfac_l2 + m] = sqrt((2.0 * l + 1.0) * pfac1) + * pow(-1, m); + + m_dfac_l1 = m_lmax + 1; + m_dfac_l2 = (m_lmax + 1) * (m_lmax + 1) + 1; + totali = m_dfac_l1 * m_dfac_l2; + memory->destroy(m_dfac0); + memory->create(m_dfac0, totali, "MLIAP_SO3:m_dfac0"); + memory->destroy(m_dfac1); + memory->create(m_dfac1, totali, "MLIAP_SO3:m_dfac1"); + memory->destroy(m_dfac2); + memory->create(m_dfac2, totali, "MLIAP_SO3:m_dfac2"); + memory->destroy(m_dfac3); + memory->create(m_dfac3, totali, "MLIAP_SO3:m_dfac3"); + memory->destroy(m_dfac4); + memory->create(m_dfac4, totali, "MLIAP_SO3:m_dfac4"); + memory->destroy(m_dfac5); + memory->create(m_dfac5, totali, "MLIAP_SO3:m_dfac5"); + + for (int l = 1; l < m_lmax + 1; l++) + for (int m = -l; m < l + 1; m++) { + m_dfac0[l * m_dfac_l2 + m] = -sqrt( + ((l + 1.0) * (l + 1.0) - m * m) / (2.0 * l + 1.0) + / (2.0 * l + 3.0)) * l; + m_dfac1[l * m_dfac_l2 + m] = sqrt( + (l * l - m * m) / (2.0 * l - 1.0) / (2.0 * l + 1.0)) + * (l + 1.0); + m_dfac2[l * m_dfac_l2 + m] = -sqrt( + (l + m + 1.0) * (l + m + 2.0) / 2.0 / (2.0 * l + 1.0) + / (2.0 * l + 3.0)) * l; + m_dfac3[l * m_dfac_l2 + m] = sqrt( + (l - m - 1.0) * (l - m) / 2.0 / (2.0 * l - 1.0) + / (2.0 * l + 1.0)) * (l + 1.0); + m_dfac4[l * m_dfac_l2 + m] = -sqrt( + (l - m + 1.0) * (l - m + 2.0) / 2.0 / (2.0 * l + 1.0) + / (2.0 * l + 3.0)) * l; + m_dfac5[l * m_dfac_l2 + m] = sqrt( + (l + m - 1.0) * (l + m) / 2.0 / (2.0 * l - 1.0) + / (2.0 * l + 1.0)) * (l + 1.0); + } + + totali = m_nmax * m_nmax; + memory->destroy(m_w); + memory->create(m_w, totali, "MLIAP_SO3:w"); + + for (i = 0; i < totali; i++) + m_w[i] = 0.0; + + W(m_nmax, m_w); + + totali = m_nmax * m_Nmax; + memory->create(m_g_array, totali, "MLIAP_SO3:g_array"); + + for (i = 0; i < totali; i++) + m_g_array[i] = 0.0; + + init_garray(m_nmax, m_lmax, m_rcut, m_alpha, m_w, m_nmax, m_nmax, + m_g_array, m_nmax, m_Nmax); + + int twolmax; + twolmax = 2 * (m_lmax + 1); + m_ldim = twolmax + 1; + totali = m_ldim * m_ldim; + memory->create(m_rootpq, totali, "MLIAP_SO3:rootpq"); + + for (i = 0; i < totali; i++) + m_rootpq[i] = 0.0; + + for (int p = 1; p < m_ldim; p++) + for (int q = 1; q < m_ldim; q++) + m_rootpq[p * m_ldim + q] = sqrt(static_cast(p) / q); + + memory->create(m_idxu_block, m_ldim, "MLIAP_SO3:idxu_bloc"); + + for (i = 0; i < m_ldim; i++) + m_idxu_block[i] = 0; + + totali = pow(m_lmax + 2, 2); + memory->create(m_idxylm, totali, "MLIAP_SO3:idxylm"); + + for (i = 0; i < totali; i++) + m_idxylm[i] = 0; + + m_idxu_count = 0, m_idxy_count = 0; + + for (int l = 0; l < m_ldim; l++) { + m_idxu_block[l] = m_idxu_count; + for (int mb = 0; mb < l + 1; mb++) + for (int ma = 0; ma < l + 1; ma++) { + if (l % 2 == 0 && ma == l / 2) { + m_idxylm[m_idxy_count] = m_idxu_count; + m_idxy_count += 1; + } + m_idxu_count += 1; + } + } + + m_numYlms = (m_lmax + 1) * (m_lmax + 1); +} + +void MLIAP_SO3::init_arrays(int natoms, int *numneighs, int ncoefs) +{ + int totali = natoms * ncoefs; + memory->destroy(m_plist_r); + memory->create(m_plist_r, totali, "MLIAP_SO3:m_plist_r"); + memory->destroy(m_plist_i); + memory->create(m_plist_i, totali, "MLIAP_SO3:m_plist_i"); + + totali = m_nmax * m_numYlms; + memory->destroy(m_clist_r); + memory->create(m_clist_r, totali, "MLIAP_SO3:m_clist_r"); + memory->destroy(m_clist_i); + memory->create(m_clist_i, totali, "MLIAP_SO3:m_clist_i"); + + totali = m_idxu_count; + memory->destroy(m_ulist_r); + memory->create(m_ulist_r, totali, "MLIAP_SO3:m_ulist_r"); + memory->destroy(m_ulist_i); + memory->create(m_ulist_i, totali, "MLIAP_SO3:m_ulist_i"); + + totali = (m_lmax + 2) * (m_lmax + 2); + memory->destroy(m_Ylms_r); + memory->create(m_Ylms_r, totali, "MLIAP_SO3:m_Ylms_r"); + memory->destroy(m_Ylms_i); + memory->create(m_Ylms_i, totali, "MLIAP_SO3:m_Ylms_i"); + + totali = (m_lmax + 1) * (m_lmax + 1) * 3; + memory->destroy(m_dYlm_r); + memory->create(m_dYlm_r, totali, "MLIAP_SO3:m_dYlm_r"); + memory->destroy(m_dYlm_i); + memory->create(m_dYlm_i, totali, "MLIAP_SO3:m_dYlm_i"); + + totali = m_nmax * m_numYlms * 3; + memory->destroy(m_dclist_r); + memory->create(m_dclist_r, totali, "MLIAP_SO3:m_dclist_r"); + memory->destroy(m_dclist_i); + memory->create(m_dclist_i, totali, "MLIAP_SO3:m_dclist_i"); + + totali = 3 * m_nmax * (m_nmax + 1) * (m_lmax + 1) / 2; + memory->destroy(m_tempdp_r); + memory->create(m_tempdp_r, totali, "MLIAP_SO3:m_tempdp_r"); + + totali = m_nmax * m_numYlms; + memory->destroy(m_clisttot_r); + memory->create(m_clisttot_r, totali, "MLIAP_SO3:m_clisttot_r"); + memory->destroy(m_clisttot_i); + memory->create(m_clisttot_i, totali, "MLIAP_SO3:m_clisttot_i"); + m_init_arrays = 1; +} + +double MLIAP_SO3::memory_usage() +{ + double bytes; + + bytes = 0; + bytes += (double) m_nmax * m_nmax * sizeof(double); + + return bytes; +} + +void MLIAP_SO3::swap(double *a, double *b) +{ + double t = *a; + *a = *b; + *b = t; +} + +int MLIAP_SO3::partition(double arr[], int low, int high, + double arrv[], int n) +{ + double pivot = arr[high]; + int i = (low - 1); + int vi; + + for (int j = low; j <= high - 1; j++) + + if (arr[j] >= pivot) { + i++; + swap(&arr[i], &arr[j]); + for (vi = 0; vi < n; vi++) + swap(&arrv[vi * n + i], &arrv[vi * n + j]); + } + + swap(&arr[i + 1], &arr[high]); + for (vi = 0; vi < n; vi++) + swap(&arrv[vi * n + i + 1], &arrv[vi * n + high]); + + return (i + 1); +} + +void MLIAP_SO3::quickSort(double arr[], int low, int high, + double arrv[], int n) +{ + if (low < high) { + + int pi = partition(arr, low, high, arrv, n); + + quickSort(arr, low, pi - 1, arrv, n); + quickSort(arr, pi + 1, high, arrv, n); + } + +} + +void MLIAP_SO3::W(int nmax, double *arr) +{ + int alpha, beta, temp1, temp2; + + for (alpha = 1; alpha < nmax + 1; alpha++) { + temp1 = (2 * alpha + 5) * (2 * alpha + 6) * (2 * alpha + 7); + for (beta = 1; beta < alpha + 1; beta++) { + temp2 = (2 * beta + 5) * (2 * beta + 6) * (2 * beta + 7); + arr[(alpha - 1) * nmax + beta - 1] = sqrt(temp1 * temp2) + / (5 + alpha + beta) / (6 + alpha + beta) + / (7 + alpha + beta); + arr[(beta - 1) * nmax + alpha - 1] = arr[(alpha - 1) + * nmax + beta - 1]; + } + } + + char Nchar = 'V'; + char charN = 'N'; + char charT = 'T'; + int i, j, k, l, totaln, n = nmax; + double *outeig = new double[n]; + double *outeigvec = new double[n * n]; + double *arrinv = new double[n * n]; + + double *sqrtD = new double[n * n]; + double *tempM = new double[n * n]; + + int *IPIV = new int[n]; + double *eigReal = new double[n]; + double *eigImag = new double[n]; + + int lwork = 6 * n; + double *vl = new double[n * n]; + double *vr = new double[n * n]; + double *work = new double[lwork]; + int info; + + #ifdef MLIAP_SO3_MKL + //******************* // for mkl + + dgetrf(&n,&n,arr,&n,IPIV,&info); + dgetri(&n,arr,&n,IPIV,work,&lwork,&info); + + // calculate eigenvalues using the DGEEV subroutine + dgeev(&Nchar,&Nchar,&n,arr,&n,outeig,eigImag, + vl,&n,vr,&n,work,&lwork,&info); + // check for errors + if (info!=0) + error->all(FLERR,"Invert matrix Error in W calculation!"); + + for( i=0;i eigen_calc(n); + + info = eigen_calc.invert_matrix(arr, arrinv); + if (info != 0) + error->all(FLERR, "Invert matrix Error in W calculation!"); + + eigen_calc.Diagonalize_1DArray(arrinv, outeig, vl); + + for (i = 0; i < n; i++) + for (j = 0; j < n; j++) + outeigvec[i * n + j] = vl[j * n + i]; + + quickSort(outeig, 0, n - 1, outeigvec, n); + + for (i = 0; i < n; i++) + for (j = 0; j < n; j++) + if (i == j) + sqrtD[i * n + j] = sqrt(outeig[i]); + else + sqrtD[i * n + j] = 0.0; + + double dtemp; + for (i = 0; i < n; i++) + for (j = 0; j < n; j++) { + dtemp = 0; + for (k = 0; k < n; k++) + dtemp += outeigvec[i * n + k] * sqrtD[k * n + j]; + + tempM[i * n + j] = dtemp; + } + + info = eigen_calc.invert_matrix(outeigvec, arrinv); + + for (i = 0; i < n; i++) + for (j = 0; j < n; j++) { + dtemp = 0; + for (k = 0; k < n; k++) + dtemp += tempM[i * n + k] * arrinv[k * n + j]; + + arr[i * n + j] = dtemp; + } + + /////////// end for interanl lib. + + #endif + + delete outeig; + delete outeigvec; + delete arrinv; + + delete sqrtD; + delete tempM; + + delete IPIV; + delete eigReal; + delete eigImag; + + delete vl; + delete vr; + delete work; + +} + +void MLIAP_SO3::compute_pi(int nmax, int lmax, double *clisttot_r, + double *clisttot_i, int lcl1, int lcl2, + double *plist_r, double *plist_i, + int lpl1, int lpl2, int indpl) +{ + int n1, n2, j, l, m, i = 0; + double norm; + for (n1 = 0; n1 < nmax; n1++) + for (n2 = 0; n2 < n1 + 1; n2++) { + j = 0; + for (l = 0; l < lmax + 1; l++) { + norm = 2.0 * sqrt(2.0) * M_PI / sqrt(2.0 * l + 1.0); + + for (m = -l; m < l + 1; m++) { + + plist_r[lpl2 * indpl + i] += (clisttot_r[lcl2 * n1 + j] + * clisttot_r[lcl2 * n2 + j] + + clisttot_i[lcl2 * n1 + j] + * clisttot_i[lcl2 * n2 + j]) * norm; + plist_i[lpl2 * indpl + i] += (-clisttot_r[lcl2 * n1 + j] + * clisttot_i[lcl2 * n2 + j] + + clisttot_i[lcl2 * n1 + j] + * clisttot_r[lcl2 * n2 + j]) * norm; + + j += 1; + } + i += 1; + } + } + +} + +double MLIAP_SO3::phi(double r, int alpha, double rcut) +{ + return pow((rcut - r), (alpha + 2)) + / sqrt( 2 * pow(rcut, (2 * alpha + 7)) / (2 * alpha + 5) + / (2 * alpha + 6) / (2 * alpha + 7)); +} + +double MLIAP_SO3::g(double r, int n, int nmax, double rcut, + double *w, int lw1, int lw2) +{ + double Sum; + Sum = 0.0; + int alpha; + + for (alpha = 1; alpha < nmax + 1; alpha++) + Sum += w[(n - 1) * lw1 + alpha - 1] * phi(r, alpha, rcut); + + return Sum; + +} + +double MLIAP_SO3::Cosine(double Rij, double Rc) +{ + + return 0.5 * (cos(M_PI * Rij / Rc) + 1.0); + +} +double MLIAP_SO3::CosinePrime(double Rij, double Rc) +{ + + return -0.5 * M_PI / Rc * sin(M_PI * Rij / Rc); + +} +double MLIAP_SO3::compute_sfac(double r, double rcut) +{ + + if(r>rcut) return 0.0; + else return Cosine(r,rcut); + +} +double MLIAP_SO3::compute_dsfac(double r, double rcut) +{ + + if(r>rcut) return 0.0; + else return CosinePrime(r,rcut); + +} + +void MLIAP_SO3::compute_dpidrj(int nmax, int lmax, double *clisttot_r, + double *clisttot_i, int lctot1, + int lctot2, double *dclist_r, + double *dclist_i, int ldcli1, + int ldcli2, int ldcli3, + double *dplist_r, int dpli1, int dpli2) +{ + double temp_r; + double norm; + int i, n1, n2, j, l, m, ii; + i = 0; + for (n1 = 0; n1 < nmax; n1++) + for (n2 = 0; n2 < n1 + 1; n2++) { + j = 0; + for (l = 0; l < lmax + 1; l++) { + norm = 2.0 * sqrt(2.0) * M_PI / sqrt(2.0 * l + 1.0); + for (m = -l; m < l + 1; m++) { + for (ii = 0; ii < 3; ii++) { + + temp_r = dclist_r[(n1 * ldcli2 + j) * ldcli3 + ii] + * clisttot_r[n2 * lctot2 + j] + + dclist_i[(n1 * ldcli2 + j) * ldcli3 + ii] + * clisttot_i[n2 * lctot2 + j]; + + temp_r += clisttot_r[n1 * lctot2 + j] + * dclist_r[(n2 * ldcli2 + j) * ldcli3 + ii] + + clisttot_i[n1 * lctot2 + j] + * dclist_i[(n2 * ldcli2 + j) * ldcli3 + ii]; + + temp_r *= norm; + + dplist_r[i * dpli2 + ii] += temp_r; + + } + j += 1; + } + i += 1; + } + } + +} + +int MLIAP_SO3::get_sum(int istart, int iend, int id, int imult) +{ + int ires = 0; + int i; + + for (i = istart; i < iend; i = i + id) + ires += i * imult; + + return ires; + +} + +void MLIAP_SO3::compute_uarray_recursive(double x, double y, + double z, double r, + int twol, double *ulist_r, + double *ulist_i, + int *idxu_block, + double *rootpqarray, + int roi1, int roi2) +{ + int l, llu, llup, mb, ma, mbpar, mapar; + double rootpq; + int ldim = twol + 1; + + double theta, phi, atheta, btheta; + + double aphi_r, aphi_i, a_r, a_i, b_r, b_i; + + theta = acos(z / r); + phi = atan2(y, x); + + atheta = cos(theta / 2); + btheta = sin(theta / 2); + + aphi_r = cos(phi / 2); + aphi_i = sin(phi / 2); + + a_r = atheta * aphi_r; + a_i = atheta * aphi_i; + b_r = btheta * aphi_r; + b_i = btheta * aphi_i; + + ulist_r[0] = 1.0; + ulist_i[0] = 0.0; + + for (l = 1; l < ldim; l++) { + + llu = idxu_block[l]; + llup = idxu_block[l - 1]; + mb = 0; + + while (2 * mb <= l) { + + ulist_r[llu] = 0.0; + ulist_i[llu] = 0.0; + for (ma = 0; ma < l; ma++) { + + rootpq = rootpqarray[(l - ma) * ldim + l - mb]; + + ulist_r[llu] += rootpq + * (a_r * ulist_r[llup] + a_i * ulist_i[llup]); + ulist_i[llu] += rootpq + * (a_r * ulist_i[llup] - a_i * ulist_r[llup]); + + rootpq = rootpqarray[(ma + 1) * ldim + l - mb]; + + ulist_r[llu + 1] += -rootpq + * (b_r * ulist_r[llup] + b_i * ulist_i[llup]); + ulist_i[llu + 1] += -rootpq + * (b_r * ulist_i[llup] - b_i * ulist_r[llup]); + + llu += 1; + llup += 1; + } + + llu += 1; + mb += 1; + } + + llu = idxu_block[l]; + llup = llu + (l + 1) * (l + 1) - 1; + mbpar = 1; + mb = 0; + + while (2 * mb <= l) { + mapar = mbpar; + for (ma = 0; ma < l + 1; ma++) { + if (mapar == 1) { + + ulist_r[llup] = ulist_r[llu]; + ulist_i[llup] = -ulist_i[llu]; + + } else { + + ulist_r[llup] = -ulist_r[llu]; + ulist_i[llup] = ulist_i[llu]; + + } + mapar = -mapar; + llu += 1; + llup -= 1; + } + mbpar = -mbpar; + mb += 1; + } + } + +} + +void MLIAP_SO3::init_garray(int nmax, int lmax, double rcut, + double alpha, double *w, int lw1, + int lw2, double *g_array, int lg1, + int lg2) +{ + int i, n, Nmax = (nmax + lmax + 1) * 10; + double x, xi; + + for (i = 1; i < Nmax + 1; i++) { + // roots of Chebyshev polynomial of degree N + x = cos((2 * i - 1) * M_PI / 2 / Nmax); + // transform the interval [-1,1] to [0, rcut] + xi = rcut / 2 * (x + 1); + for (n = 1; n < nmax + 1; n++) + // r**2*g(n)(r)*e^(-alpha*r**2) + g_array[(n - 1) * lg2 + i - 1] = rcut / 2 * M_PI / Nmax + * sqrt(1 - x * x) * xi * xi + * g(xi, n, nmax, rcut, w, lw1, lw2) * exp(-alpha * xi * xi); + + } +} + +void MLIAP_SO3::get_sbes_array(int natoms, int *numneighs, + int *jelems, double *wjelem, + double **rij, int nmax, int lmax, + double rcut, double alpha, int ncoefs) +{ + int i, j, k, l, ti, n; + int totali; + + int neighbor; + + double x, y, z, r, ri, xi, rb; + double sa, sb; + double pfac1, pfac2, pfac3, pfac4; + double exts; + + pfac1 = alpha * rcut; + pfac4 = rcut / 2; + pfac3 = M_PI / 2 / m_Nmax; + + int ipair = 0; + int gindex; + int findex = m_Nmax * (m_lmax + 1); + int mindex = m_lmax + 1; + + for (int ii = 0; ii < natoms; ii++) { + + for (neighbor = 0; neighbor < numneighs[ii]; neighbor++) { + + x = rij[ipair][0]; + y = rij[ipair][1]; + z = rij[ipair][2]; + ipair++; + + ri = sqrt(x * x + y * y + z * z); + + if (ri < pow(10, -8)) + continue; + + pfac2 = pfac1 * ri; + + gindex = (ipair - 1) * findex; + + for (i = 1; i < m_Nmax + 1; i++) { + + x = cos((2 * i - 1) * pfac3); + xi = pfac4 * (x + 1); + rb = pfac2 * (x + 1); + + sa = sinh(rb) / rb; + sb = (cosh(rb) - sa) / rb; + + m_sbes_array[gindex + (i - 1) * mindex + 0] = sa; + m_sbes_array[gindex + (i - 1) * mindex + 1] = sb; + + for (j = 2; j < lmax + 1; j++) + m_sbes_array[gindex + (i - 1) * mindex + j] = + m_sbes_array[gindex + (i - 1) * mindex + j - 2] + - (2 * j - 1) / rb + * m_sbes_array[gindex + + (i - 1) * mindex + j - 1]; + + exts = m_sbes_array[gindex + (i - 1) * mindex + j - 2] + - (2 * j - 1) / rb + * m_sbes_array[gindex + (i - 1) * mindex + j - 1]; + + m_sbes_darray[gindex + (i - 1) * mindex + 0] = sb; + + for (j = 1; j < lmax; j++) + m_sbes_darray[gindex + (i - 1) * mindex + j] = xi * (j + * m_sbes_array[gindex + (i - 1) * mindex + j - 1] + + (j + 1) * m_sbes_array[gindex + + (i - 1) * mindex + j + 1]) / (2 * j + 1); + + m_sbes_darray[gindex + (i - 1) * mindex + j] = xi + * (j * m_sbes_array[gindex + (i - 1) * mindex + j - 1] + + (j + 1) * exts) / (2 * j + 1); + m_sbes_darray[gindex + (i - 1) * mindex + 0] = xi * sb; + + } + + } + + } + + return; + +} + +void MLIAP_SO3::get_rip_array(int natoms, int *numneighs, + int *jelems, double *wjelem, + double **rij, int nmax, int lmax, + double rcut, double alpha, int ncoefs) +{ + int i, j, k, l, ti, n; + int totali; + double integrald, integral = 0.0; + int neighbor; + + double x, y, z, r, ri, expfac, xi, rb; + + int ipair = 0; + + for (int ii = 0; ii < natoms; ii++) + + for (neighbor = 0; neighbor < numneighs[ii]; neighbor++) { + + x = rij[ipair][0]; + y = rij[ipair][1]; + z = rij[ipair][2]; + ipair++; + + ri = sqrt(x * x + y * y + z * z); + + if (ri < pow(10, -8)) + continue; + + expfac = 4 * M_PI * exp(-alpha * ri * ri); + + for (n = 1; n < nmax + 1; n++) + for (l = 0; l < lmax + 1; l++) { + + integral = 0.0; + integrald = 0.0; + for (i = 0; i < m_Nmax; i++) { + integral += m_g_array[(n - 1) * m_Nmax + i] + * m_sbes_array[(ipair - 1) * m_Nmax + * (m_lmax + 1) + i * (m_lmax + 1) + l]; + integrald += m_g_array[(n - 1) * m_Nmax + i] + * m_sbes_darray[(ipair - 1) * m_Nmax + * (m_lmax + 1) + i * (m_lmax + 1) + l]; + } + + m_rip_array[(ipair - 1) * m_nmax * (m_lmax + 1) + + (n - 1) * (m_lmax + 1) + l] = integral * expfac; + m_rip_darray[(ipair - 1) * m_nmax * (m_lmax + 1) + + (n - 1) * (m_lmax + 1) + l] = integrald * expfac; + + } + + } + + return; +} + +void MLIAP_SO3::spectrum(int natoms, int *numneighs, int *jelems, + double *wjelem, double **rij, int nmax, + int lmax, double rcut, double alpha, + int ncoefs) +{ + + init_arrays(natoms, numneighs, ncoefs); + + int totaln = 0; + int totali; + double Ylm_r, Ylm_i; + double expfac; + int i, j, k, l, ti; + int numps, nstart, nsite, n, weight, neighbor; + double isite; + double x, y, z, r; + double r_int; + int twolmax = 2 * (lmax + 1); + double pfac1 = 1.0 / 4.0 / M_PI; + double pfac2; + int findex, gindex; + int ipair = 0; + double sfac; + + findex = m_nmax * (m_lmax + 1); + + for (i = 0; i < natoms; i++) + totaln += numneighs[i]; + + totali = totaln * m_Nmax * (m_lmax + 1); + memory->destroy(m_sbes_array); + memory->create(m_sbes_array, totali, "MLIAP_SO3:m_sbes_array"); + memory->destroy(m_sbes_darray); + memory->create(m_sbes_darray, totali, "MLIAP_SO3:m_sbes_darray"); + + totali = totaln * m_nmax * (m_lmax + 1); + memory->destroy(m_rip_array); + memory->create(m_rip_array, totali, "MLIAP_SO3:m_rip_array"); + memory->destroy(m_rip_darray); + memory->create(m_rip_darray, totali, "MLIAP_SO3:m_rip_darray"); + + totali = totaln * ncoefs * 3; + memory->destroy(m_dplist_r); + memory->create(m_dplist_r, totali, "MLIAP_SO3:m_dplist_r"); + memory->destroy(m_dplist_i); + memory->create(m_dplist_i, totali, "MLIAP_SO3:m_dplist_i"); + + get_sbes_array(natoms,numneighs,jelems,wjelem,rij,nmax, + lmax, rcut,alpha, ncoefs); + + get_rip_array(natoms,numneighs,jelems,wjelem,rij,nmax,lmax,rcut, + alpha, ncoefs); + + totali = natoms * ncoefs; + for (i = 0; i < totali; i++) { + m_plist_r[i] = 0.0; + m_plist_i[i] = 0.0; + } + + for (int ii = 0; ii < natoms; ii++) { + + totali = nmax * m_numYlms; + + for (ti = 0; ti < totali; ti++) { + m_clisttot_r[ti] = 0.0; + m_clisttot_i[ti] = 0.0; + } + + for (neighbor = 0; neighbor < numneighs[ii]; neighbor++) { + + const int jelem = jelems[ipair]; + weight = wjelem[jelem]; + + x = rij[ipair][0]; + y = rij[ipair][1]; + z = rij[ipair][2]; + ipair++; + + r = sqrt(x * x + y * y + z * z); + + if (r < pow(10, -8)) + continue; + totali = nmax * m_numYlms; + for (ti = 0; ti < totali; ti++) { + m_clist_r[ti] = 0.0; + m_clist_i[ti] = 0.0; + } + for (ti = 0; ti < m_idxu_count; ti++) { + m_ulist_r[ti] = 0.0; + m_ulist_i[ti] = 0.0; + } + + compute_uarray_recursive(x, y, z, r, twolmax, m_ulist_r, + m_ulist_i,m_idxu_block, m_rootpq, m_ldim, m_ldim); + + sfac=compute_sfac(r,rcut); + + gindex = (ipair - 1) * findex; + for (int n = 1; n < nmax + 1; n++) { + int i = 0; + for (int l = 0; l < lmax + 1; l++) { + r_int = m_rip_array[gindex + (n - 1) * (m_lmax + 1) + l]; + + for (int m = -l; m < l + 1; m++) { + + Ylm_r = (m_ulist_r[m_idxylm[i]]) + * m_pfac[l * m_pfac_l2 + m]; + m_clist_r[(n - 1) * m_numYlms + i] + += r_int * Ylm_r * sfac; + Ylm_i = (m_ulist_i[m_idxylm[i]]) + * m_pfac[l * m_pfac_l2 + m]; + m_clist_i[(n - 1) * m_numYlms + i] + += r_int * Ylm_i*sfac; + i += 1; + } + } + } + + totali = nmax * m_numYlms; + for (int tn = 0; tn < totali; tn++) { + m_clist_r[tn] = m_clist_r[tn] * double(weight); + m_clist_i[tn] = m_clist_i[tn] * double(weight); + } + + for (int tn = 0; tn < totali; tn++) { + m_clisttot_r[tn] += m_clist_r[tn]; + m_clisttot_i[tn] += m_clist_i[tn]; + } + + } + + compute_pi(nmax, lmax, m_clisttot_r, m_clisttot_i, nmax, + m_numYlms,m_plist_r, m_plist_i, natoms, ncoefs, ii); + + } + + return; + +} + +void MLIAP_SO3::spectrum_dxdr(int natoms, int *numneighs, + int *jelems, double *wjelem, + double **rij, int nmax, int lmax, + double rcut, double alpha, int npairs, + int ncoefs) +{ + int totaln = 0; + int totali; + double dr_int[3]; + double Ylm_r, Ylm_i; + + int ellpl1, ellm1; + double rvec[3]; + double dexpfac[3]; + double dfact[6]; + double expfac; + + int i, j, k, l, ti; + + double xcov0_r, xcov0_i, xcovpl1_r, xcovpl1_i, xcovm1_r, xcovm1_i; + double comj_r, comj_i; + double r_int; + double r_int_temp; + + double pfac1 = 1.0 / 4.0 / M_PI; + double pfac2; + double oneofr; + int findex, gindex; + + int numps, weight, neighbor; + + double x, y, z, r; + + int ipair = 0; + int idpair = 0; + double sfac,dsfac,dsfac_arr[3]; + + findex = m_nmax * (m_lmax + 1); + + for (i = 0; i < natoms; i++) + totaln += numneighs[i]; + + totali = totaln * m_Nmax * (m_lmax + 1); + memory->destroy(m_sbes_array); + memory->create(m_sbes_array, totali, "MLIAP_SO3:m_sbes_array"); + memory->destroy(m_sbes_darray); + memory->create(m_sbes_darray, totali, "MLIAP_SO3:m_sbes_darray"); + + totali = totaln * m_nmax * (m_lmax + 1); + memory->destroy(m_rip_array); + memory->create(m_rip_array, totali, "MLIAP_SO3:m_rip_array"); + memory->destroy(m_rip_darray); + memory->create(m_rip_darray, totali, "MLIAP_SO3:m_rip_darray"); + + totali = totaln * ncoefs * 3; + memory->destroy(m_dplist_r); + memory->create(m_dplist_r, totali, "MLIAP_SO3:m_dplist_r"); + memory->destroy(m_dplist_i); + memory->create(m_dplist_i, totali, "MLIAP_SO3:m_dplist_i"); + + totali = npairs * ncoefs * 3; + + for (i = 0; i < totali; i++) { + m_dplist_r[i] = 0.0; + m_dplist_i[i] = 0.0; + } + + numps = nmax * (nmax + 1) * (lmax + 1) / 2; + + get_sbes_array(natoms, numneighs, jelems, wjelem, rij, nmax, lmax, + rcut, alpha, ncoefs); + + get_rip_array(natoms, numneighs, jelems, wjelem, rij, nmax, lmax, + rcut, alpha, ncoefs); + + int twolmax = 2 * (lmax + 1); + + for (int ii = 0; ii < natoms; ii++) { + + totali = nmax * m_numYlms; + for (ti = 0; ti < totali; ti++) { + m_clisttot_r[ti] = 0.0; + m_clisttot_i[ti] = 0.0; + } + + for (neighbor = 0; neighbor < numneighs[ii]; neighbor++) { + + const int jelem = jelems[ipair]; + weight = wjelem[jelem]; + + x = rij[ipair][0]; + y = rij[ipair][1]; + z = rij[ipair][2]; + ipair++; + + r = sqrt(x * x + y * y + z * z); + + if (r < pow(10, -8)) + continue; + totali = nmax * m_numYlms; + + for (ti = 0; ti < totali; ti++) { + m_clist_r[ti] = 0.0; + m_clist_i[ti] = 0.0; + } + + for (ti = 0; ti < m_idxu_count; ti++) { + m_ulist_r[ti] = 0.0; + m_ulist_i[ti] = 0.0; + } + + compute_uarray_recursive(x, y, z, r, twolmax, m_ulist_r, + m_ulist_i, m_idxu_block, m_rootpq, m_ldim, m_ldim); + + sfac=compute_sfac(r,rcut); + + gindex = (ipair - 1) * findex; + for (int n = 1; n < nmax + 1; n++) { + int i = 0; + for (int l = 0; l < lmax + 1; l++) { + r_int = m_rip_array[gindex + (n - 1) * (m_lmax + 1) + l]; + + for (int m = -l; m < l + 1; m++) { + + Ylm_r = (m_ulist_r[m_idxylm[i]]) + * m_pfac[l * m_pfac_l2 + m]; + m_clist_r[(n - 1) * m_numYlms + i] + += r_int * Ylm_r * sfac; + Ylm_i = (m_ulist_i[m_idxylm[i]]) + * m_pfac[l * m_pfac_l2 + m]; + m_clist_i[(n - 1) * m_numYlms + i] + += r_int * Ylm_i * sfac; + i += 1; + } + } + } + + totali = nmax * m_numYlms; + for (int tn = 0; tn < totali; tn++) { + m_clist_r[tn] = m_clist_r[tn] * double(weight); + m_clist_i[tn] = m_clist_i[tn] * double(weight); + } + + for (int tn = 0; tn < totali; tn++) { + m_clisttot_r[tn] += m_clist_r[tn]; + m_clisttot_i[tn] += m_clist_i[tn]; + } + + } + + for (neighbor = 0; neighbor < numneighs[ii]; neighbor++) { + + const int jelem = jelems[idpair]; + weight = wjelem[jelem]; + + x = rij[idpair][0]; + y = rij[idpair][1]; + z = rij[idpair][2]; + idpair++; + + r = sqrt(x * x + y * y + z * z); + if (r < pow(10, -8)) + continue; + + totali = nmax * m_numYlms * 3; + for (int tn = 0; tn < totali; tn++) { + m_dclist_r[tn] = 0.0; + m_dclist_i[tn] = 0.0; + } + + for (ti = 0; ti < m_idxu_count; ti++) { + m_ulist_r[ti] = 0.0; + m_ulist_i[ti] = 0.0; + } + + compute_uarray_recursive(x, y, z, r, twolmax, m_ulist_r, + m_ulist_i, m_idxu_block, m_rootpq, m_ldim, m_ldim); + + ///////// compute_carray_wD //////// + { + rvec[0] = x; + rvec[1] = y; + rvec[2] = z; + totali = (lmax + 2) * (lmax + 2); + for (int tn = 0; tn < totali; tn++) { + m_Ylms_r[tn] = 0.0; + m_Ylms_i[tn] = 0.0; + } + + int i = 0; + for (int l = 0; l < lmax + 2; l++) { + for (int m = -l; m < l + 1; m++) { + m_Ylms_r[i] = (m_ulist_r[m_idxylm[i]]) + * m_pfac[l * m_pfac_l2 + m]; + m_Ylms_i[i] = (m_ulist_i[m_idxylm[i]]) + * m_pfac[l * m_pfac_l2 + m]; + i += 1; + } + } + + totali = (lmax + 1) * (lmax + 1) * 3; + for (int tn = 0; tn < totali; tn++) { + m_dYlm_r[tn] = 0.0; + m_dYlm_i[tn] = 0.0; + } + + comj_r = 0.0; + comj_i = 1.0 / sqrt(2.0); + oneofr = 1.0 / r; + + i = 1; + for (int l = 1; l < lmax + 1; l++) { + ellpl1 = get_sum(0, l + 2, 1, 2); + ellm1 = get_sum(0, l, 1, 2); + + for (int m = -l; m < l + 1; m++) { + + dfact[0] = m_dfac0[l * m_dfac_l2 + m] * oneofr; + dfact[1] = m_dfac1[l * m_dfac_l2 + m] * oneofr; + dfact[2] = m_dfac2[l * m_dfac_l2 + m] * oneofr; + dfact[3] = m_dfac3[l * m_dfac_l2 + m] * oneofr; + dfact[4] = m_dfac4[l * m_dfac_l2 + m] * oneofr; + dfact[5] = m_dfac5[l * m_dfac_l2 + m] * oneofr; + + xcov0_r = dfact[0] * m_Ylms_r[m_ellpl1[l] + m]; + xcov0_i = dfact[0] * m_Ylms_i[m_ellpl1[l] + m]; + if (abs(m) <= l - 1.0) { + xcov0_r += dfact[1] * m_Ylms_r[m_ellm1[l] + m]; + xcov0_i += dfact[1] * m_Ylms_i[m_ellm1[l] + m]; + } + xcovpl1_r = dfact[2] * m_Ylms_r[m_ellpl1[l] + m + 1]; + xcovpl1_i = dfact[2] * m_Ylms_i[m_ellpl1[l] + m + 1]; + if (abs(m + 1) <= l - 1.0) { + xcovpl1_r -= dfact[3] + * m_Ylms_r[m_ellm1[l] + m + 1]; + xcovpl1_i -= dfact[3] + * m_Ylms_i[m_ellm1[l] + m + 1]; + } + xcovm1_r = dfact[4] * m_Ylms_r[m_ellpl1[l] + m - 1]; + xcovm1_i = dfact[4] * m_Ylms_i[m_ellpl1[l] + m - 1]; + if (abs(m - 1.0) <= l - 1.0) { + xcovm1_r -= dfact[5] * m_Ylms_r[m_ellm1[l] + m - 1]; + xcovm1_i -= dfact[5] * m_Ylms_i[m_ellm1[l] + m - 1]; + } + m_dYlm_r[i * 3 + 0] = 1.0 / sqrt(2.0) + * (xcovm1_r - xcovpl1_r); + m_dYlm_r[i * 3 + 1] = -comj_i * (xcovm1_i + xcovpl1_i); + m_dYlm_r[i * 3 + 2] = xcov0_r; + + m_dYlm_i[i * 3 + 0] = 1.0 / sqrt(2.0) + * (xcovm1_i - xcovpl1_i); + m_dYlm_i[i * 3 + 1] = comj_i * (xcovm1_r + xcovpl1_r); + m_dYlm_i[i * 3 + 2] = xcov0_i; + + i += 1; + } + + } + + for (int ii = 0; ii < 3; ii++) + dexpfac[ii] = -2.0 * alpha * rvec[ii]; + + sfac=compute_sfac(r,rcut); + dsfac=compute_dsfac(r,rcut); + for(int ii=0;ii<3;ii++){ + dsfac_arr[ii]=dsfac*rvec[ii]/r; + } + + for (int n = 1; n < nmax + 1; n++) { + int i = 0; + for (int l = 0; l < lmax + 1; l++) { + r_int = m_rip_array[(idpair - 1) * m_nmax * (m_lmax + 1) + + (n - 1) * (m_lmax + 1) + l]; + r_int_temp = m_rip_darray[(idpair - 1) * m_nmax + * (m_lmax + 1) + (n - 1) * (m_lmax + 1) + l]; + + for (int ii = 0; ii < 3; ii++) + dr_int[ii] = r_int_temp * 2.0 * alpha * rvec[ii] / r; + + for (int m = -l; m < l + 1; m++) { + + m_dclist_r[((n-1)*m_numYlms+i)*3+0] += + (r_int*m_Ylms_r[i]*dexpfac[0] + dr_int[0]*m_Ylms_r[i] + + r_int*m_dYlm_r[i*3+0])*sfac; + m_dclist_r[((n-1)*m_numYlms+i)*3+1] += + (r_int*m_Ylms_r[i]*dexpfac[1] + dr_int[1]*m_Ylms_r[i] + + r_int*m_dYlm_r[i*3+1])*sfac; + m_dclist_r[((n-1)*m_numYlms+i)*3+2] += + (r_int*m_Ylms_r[i]*dexpfac[2] + dr_int[2]*m_Ylms_r[i] + + r_int*m_dYlm_r[i*3+2])*sfac; + + m_dclist_i[((n-1)*m_numYlms+i)*3+0] += + (r_int*m_Ylms_i[i]*dexpfac[0] + dr_int[0]*m_Ylms_i[i] + + r_int*m_dYlm_i[i*3+0])*sfac; + m_dclist_i[((n-1)*m_numYlms+i)*3+1] += + (r_int*m_Ylms_i[i]*dexpfac[1] + dr_int[1]*m_Ylms_i[i] + + r_int*m_dYlm_i[i*3+1])*sfac; + m_dclist_i[((n-1)*m_numYlms+i)*3+2] += + (r_int*m_Ylms_i[i]*dexpfac[2] + dr_int[2]*m_Ylms_i[i] + + r_int*m_dYlm_i[i*3+2])*sfac; + + + m_dclist_r[((n-1)*m_numYlms+i)*3+0] += + (r_int*m_Ylms_r[i])*dsfac_arr[0]; + m_dclist_r[((n-1)*m_numYlms+i)*3+1] += + (r_int*m_Ylms_r[i])*dsfac_arr[1]; + m_dclist_r[((n-1)*m_numYlms+i)*3+2] += + (r_int*m_Ylms_r[i])*dsfac_arr[2]; + + m_dclist_i[((n-1)*m_numYlms+i)*3+0] += + (r_int*m_Ylms_i[i])*dsfac_arr[0]; + m_dclist_i[((n-1)*m_numYlms+i)*3+1] += + (r_int*m_Ylms_i[i])*dsfac_arr[1]; + m_dclist_i[((n-1)*m_numYlms+i)*3+2] += + (r_int*m_Ylms_i[i])*dsfac_arr[2]; + + i += 1; + } + } + } + + } + /////// end compute_carray_wD ////////////////// + + totali = nmax * m_numYlms * 3; + for (int tn = 0; tn < totali; tn++) { + m_dclist_r[tn] = m_dclist_r[tn] * double(weight); + m_dclist_i[tn] = m_dclist_i[tn] * double(weight); + } + + totali = numps * 3; + for (ti = 0; ti < totali; ti++) + m_tempdp_r[ti] = 0.0; + + compute_dpidrj(nmax, lmax, m_clisttot_r, m_clisttot_i, nmax, + m_numYlms, m_dclist_r, m_dclist_i, nmax, m_numYlms, 3, + m_tempdp_r, numps, 3); + + for (int tn = 0; tn < totali; tn++) + m_dplist_r[((idpair - 1) * (numps * 3)) + tn] += + m_tempdp_r[tn]; + + } //for(neighbor=0;neighbor + +#ifndef _MATRIX_ALLOC_JPD_H +#define _MATRIX_ALLOC_JPD_H + +namespace matrix_alloc_jpd { + +/// @brief Allocate a 2-dimensional array. (Uses row-major order.) +template +void Alloc2D(size_t nrows, size_t ncols, Entry ***paaX); + +/// @brief Deallocate arrays that were created using Alloc2D(). +template +void Dealloc2D(Entry ***paaX); + +// ---- implementation ---- + +template +void Alloc2D(size_t nrows, size_t ncols, Entry ***paaX) +{ + assert(paaX); + *paaX = new Entry* [nrows]; + (*paaX)[0] = new Entry [nrows * ncols]; + for(size_t iy=0; iy +void Dealloc2D(Entry ***paaX) +{ + if (paaX && *paaX) { + delete [] (*paaX)[0]; + delete [] (*paaX); + *paaX = nullptr; + } +} + +} // namespace matrix_alloc_jpd + +#endif //#ifndef _MATRIX_ALLOC_JPD_H + + +#ifndef _JACOBI_HPP +#define _JACOBI_HPP + +#include +#include + + +namespace jacobi_pd { + +using namespace matrix_alloc_jpd; + + +template +class Jacobi +{ + int n; + Scalar **M; + Scalar c; + Scalar s; + Scalar t; + int *max_idx_row; + + public: + + void SetSize(int n); + + Jacobi(int n = 0) { + Init(); + SetSize(n); + } + + ~Jacobi() { + Dealloc(); + } + + typedef enum eSortCriteria { + DO_NOT_SORT, + SORT_DECREASING_EVALS, + SORT_INCREASING_EVALS, + SORT_DECREASING_ABS_EVALS, + SORT_INCREASING_ABS_EVALS + } SortCriteria; + + int Diagonalize(ConstMatrix mat, Vector eval, Matrix evec, + SortCriteria sort_criteria=SORT_DECREASING_EVALS, + bool calc_evecs=true, int max_num_sweeps = 50); + + int Diagonalize_1DArray(double *mat, Vector eval, double *evec, + SortCriteria sort_criteria= + SORT_DECREASING_EVALS, + bool calc_evecs=true, + int max_num_sweeps = 50); + + private: + + void CalcRot(Scalar const *const *M, int i, int j); + + void ApplyRot(Scalar **M, int i, int j); + + void ApplyRotLeft(Matrix E, int i, int j); + + void ApplyRotLeft_1DArray(double *E, int i, int j); + + int MaxEntryRow(Scalar const *const *M, int i) const; + + void MaxEntry(Scalar const *const *M, int& i_max, int& j_max) const; + + void SortRows(Vector v, Matrix M, int n, + SortCriteria s=SORT_DECREASING_EVALS ) const; + + void Alloc(int N); + void Init(); + void Dealloc(); + + int LU_decompose( double *A, int *permute ); + void LU_substitution( double *A, double *B, int *permute ); + + public: + + int invert_matrix( double *Am, double *Aminv ); + + Jacobi(const Jacobi& source); + Jacobi(Jacobi&& other); + void swap(Jacobi &other); + Jacobi& operator = + (Jacobi source); + +}; // class Jacobi + + +template +int Jacobi:: + invert_matrix( double *Am, double *Aminv ) +{ + int i,j; + + int *permute; + double *dxm, *Amtmp; + permute=new int[n]; + dxm=new double[n]; + Amtmp=new double[n*n]; + + for( i = 0 ; i < n*n ; i++ ) + Amtmp[i] = Am[i]; + + + if( LU_decompose( Amtmp, permute ) != 0 ) + return(1); + + for( i = 0; i < n; i++ ) { + + for( j = 0 ; j < n ; j++ ) + dxm[j] = 0. ; + + dxm[i] = 1.; + + LU_substitution( Amtmp, dxm, permute ); + + for( j = 0 ; j < n ; j++ ) + Aminv[j*n+i] = dxm[j]; + + } + + delete permute; + delete dxm; + delete Amtmp; + + return(0); +} + +template +int Jacobi:: + LU_decompose( double *A, int *permute ) +{ + const double absmin = 1.e-30; + double *row_norm; + double absmax, maxtemp, mintemp; + + int i, j, k, max_row; + + row_norm=new double[n]; + + max_row = 0; + + for( i = 0; i < n; i++ ) { + absmax = 0.; + + for( j = 0; j < n ; j++ ) { + + maxtemp = fabs( A[i*n+j] ); + + if( maxtemp > absmax ) + absmax = maxtemp; + } + + if( absmax == 0. ) { + fprintf(stderr, "LU_decompose(): row-wise singular matrix!\n"); + return(1); + } + + row_norm[i] = 1. / absmax ; + } + + + for( j = 0; j < n; j++ ) { + + for( i = 0; i < j; i++ ) { + for( k = 0; k < i; k++ ) + A[i*n+j] -= A[i*n+k] * A[k*n+j]; + } + + absmax = 0.0; + + for( i = j; i < n; i++ ) { + + for (k = 0; k < j; k++) + A[i*n+j] -= A[i*n+k] * A[k*n+j]; + + maxtemp = fabs(A[i*n+j]) * row_norm[i] ; + + if( maxtemp >= absmax ) { + absmax = maxtemp; + max_row = i; + } + + } + + if( max_row != j ) { + + if( (j == (n-2)) && (A[j*n+j+1] == 0.) ) + max_row = j; + + else { + + for( k = 0; k < n; k++ ) { + + maxtemp = A[ j*n+k] ; + A[ j*n+k] = A[max_row*n+k] ; + A[max_row*n+k] = maxtemp; + + } + + row_norm[max_row] = row_norm[j] ; + + } + } + + permute[j] = max_row; + + if( A[j*n+j] == 0. ) + A[j*n+j] = absmin; + + if( j != (n-1) ) { + maxtemp = 1. / A[j*n+j] ; + + for( i = (j+1) ; i < n; i++ ) + A[i*n+j] *= maxtemp; + } + + } + + delete row_norm; + return(0); + +} + + +template +void Jacobi:: + LU_substitution( double *A, double *B, int *permute) +{ + int i, j ; + double tmpvar,tmpvar2; + + for(i = 0; i < n; i++) { + + tmpvar = B[permute[i]]; + B[permute[i]] = B[ i ]; + for( j = (i-1); j >= 0 ; j-- ) + tmpvar -= A[i*n+j] * B[j]; + + B[i] = tmpvar; + } + + + for( i = (n-1); i >= 0; i-- ) { + for( j = (i+1); j < n ; j++ ) + B[i] -= A[i*n+j] * B[j]; + + B[i] /= A[i*n+i] ; + } + +} + + +// -------------- implementation -------------- + +template +int Jacobi:: +Diagonalize_1DArray(double *mat, Vector eval, double *evec, + SortCriteria sort_criteria, + bool calc_evec, int max_num_sweeps) +{ + for (int i = 0; i < n; i++) + for (int j = i; j < n; j++) + M[i][j] = mat[i*n+j]; + + if (calc_evec) + for (int i = 0; i < n; i++) + for (int j = 0; j < n; j++) + evec[i*n+j] = (i==j) ? 1.0 : 0.0; + + for (int i = 0; i < n-1; i++) + max_idx_row[i] = MaxEntryRow(M, i); + + int n_iters; + int max_num_iters = max_num_sweeps*n*(n-1)/2; + for (n_iters=1; n_iters <= max_num_iters; n_iters++) { + int i,j; + MaxEntry(M, i, j); + + if ((M[i][i] + M[i][j] == M[i][i]) && + (M[j][j] + M[i][j] == M[j][j])) { + M[i][j] = 0.0; + max_idx_row[i] = MaxEntryRow(M,i); + } + + if (M[i][j] == 0.0) + break; + + CalcRot(M, i, j); + ApplyRot(M, i, j); + if (calc_evec) + ApplyRotLeft_1DArray(evec,i,j); + + } + + for (int i = 0; i < n; i++) + eval[i] = M[i][i]; + + if ((n_iters > max_num_iters) && (n>1)) + return 0; + + return n_iters; +} + +template +int Jacobi:: + Diagonalize(ConstMatrix mat, + Vector eval, + Matrix evec, + SortCriteria sort_criteria, + bool calc_evec, + int max_num_sweeps) +{ + for (int i = 0; i < n; i++) + for (int j = i; j < n; j++) + M[i][j] = mat[i][j]; + + if (calc_evec) + for (int i = 0; i < n; i++) + for (int j = 0; j < n; j++) + evec[i][j] = (i==j) ? 1.0 : 0.0; + + for (int i = 0; i < n-1; i++) + max_idx_row[i] = MaxEntryRow(M, i); + + // -- Iteration -- + int n_iters; + int max_num_iters = max_num_sweeps*n*(n-1)/2; + for (n_iters=1; n_iters <= max_num_iters; n_iters++) { + int i,j; + MaxEntry(M, i, j); + + + if ((M[i][i] + M[i][j] == M[i][i]) && (M[j][j] + M[i][j] == M[j][j])) { + M[i][j] = 0.0; + max_idx_row[i] = MaxEntryRow(M,i); + } + + if (M[i][j] == 0.0) + break; + + CalcRot(M, i, j); + ApplyRot(M, i, j); + if (calc_evec) + ApplyRotLeft(evec,i,j); + + } + + for (int i = 0; i < n; i++) + eval[i] = M[i][i]; + + SortRows(eval, evec, n, sort_criteria); + + if ((n_iters > max_num_iters) && (n>1)) + return 0; + + return n_iters; +} + + +template +void Jacobi:: + CalcRot(Scalar const *const *M, int i, int j) +{ + t = 1.0; + Scalar M_jj_ii = (M[j][j] - M[i][i]); + if (M_jj_ii != 0.0) { + + Scalar kappa = M_jj_ii; + t = 0.0; + Scalar M_ij = M[i][j]; + if (M_ij != 0.0) { + kappa /= (2.0*M_ij); + t = 1.0 / (std::sqrt(1 + kappa*kappa) + std::abs(kappa)); + if (kappa < 0.0) + t = -t; + } + } + + c = 1.0 / std::sqrt(1 + t*t); + s = c*t; + +} + +template +void Jacobi:: +ApplyRot(Scalar **M, + int i, + int j) +{ + M[i][i] -= t * M[i][j]; + M[j][j] += t * M[i][j]; + + M[i][j] = 0.0; + + for (int w=0; w < i; w++) { + M[i][w] = M[w][i]; + M[w][i] = c*M[w][i] - s*M[w][j]; + if (i == max_idx_row[w]) + max_idx_row[w] = MaxEntryRow(M, w); + else if (std::abs(M[w][i])>std::abs(M[w][max_idx_row[w]])) + max_idx_row[w]=i; + + } + + for (int w=i+1; w < j; w++) { + M[w][i] = M[i][w]; + M[i][w] = c*M[i][w] - s*M[w][j]; + } + + for (int w=j+1; w < n; w++) { + M[w][i] = M[i][w]; + M[i][w] = c*M[i][w] - s*M[j][w]; + } + + max_idx_row[i] = MaxEntryRow(M, i); + + for (int w=0; w < i; w++) { + M[w][j] = s*M[i][w] + c*M[w][j]; + if (j == max_idx_row[w]) + max_idx_row[w] = MaxEntryRow(M, w); + else if (std::abs(M[w][j])>std::abs(M[w][max_idx_row[w]])) + max_idx_row[w]=j; + + } + + for (int w=i+1; w < j; w++) { + M[w][j] = s*M[w][i] + c*M[w][j]; + if (j == max_idx_row[w]) + max_idx_row[w] = MaxEntryRow(M, w); + else if (std::abs(M[w][j])>std::abs(M[w][max_idx_row[w]])) + max_idx_row[w]=j; + } + + for (int w=j+1; w < n; w++) + M[j][w] = s*M[w][i] + c*M[j][w]; + + max_idx_row[j] = MaxEntryRow(M, j); + +} + +template +void Jacobi:: + ApplyRotLeft(Matrix E, int i, int j) +{ + for (int v = 0; v < n; v++) { + Scalar Eiv = E[i][v]; + E[i][v] = c*E[i][v] - s*E[j][v]; + E[j][v] = s*Eiv + c*E[j][v]; + } +} + +template +void Jacobi:: + ApplyRotLeft_1DArray(double *E, int i, int j) +{ + for (int v = 0; v < n; v++) { + Scalar Eiv = E[i*n+v]; + E[i*n+v] = c*E[i*n+v] - s*E[j*n+v]; + E[j*n+v] = s*Eiv + c*E[j*n+v]; + } +} + +template +int Jacobi:: + MaxEntryRow(Scalar const *const *M, int i) const +{ + int j_max = i+1; + for(int j = i+2; j < n; j++) + if (std::abs(M[i][j]) > std::abs(M[i][j_max])) + j_max = j; + return j_max; +} + +template +void Jacobi:: + MaxEntry(Scalar const *const *M, + int& i_max, int& j_max) const { + + i_max = 0; + j_max = max_idx_row[i_max]; + Scalar max_entry = std::abs(M[i_max][j_max]); + int nm1 = n-1; + for (int i=1; i < nm1; i++) { + int j = max_idx_row[i]; + if (std::abs(M[i][j]) > max_entry) { + max_entry = std::abs(M[i][j]); + i_max = i; + j_max = j; + } + } + +} + +template +void Jacobi:: + SortRows(Vector eval, Matrix evec, int n, + SortCriteria sort_criteria) const +{ + for (int i = 0; i < n-1; i++) { + int i_max = i; + for (int j = i+1; j < n; j++) { + switch (sort_criteria) { + case SORT_DECREASING_EVALS: + if (eval[j] > eval[i_max]) + i_max = j; + break; + case SORT_INCREASING_EVALS: + if (eval[j] < eval[i_max]) + i_max = j; + break; + case SORT_DECREASING_ABS_EVALS: + if (std::abs(eval[j]) > std::abs(eval[i_max])) + i_max = j; + break; + case SORT_INCREASING_ABS_EVALS: + if (std::abs(eval[j]) < std::abs(eval[i_max])) + i_max = j; + break; + default: + break; + } + } + std::swap(eval[i], eval[i_max]); + for (int k = 0; k < n; k++) + std::swap(evec[i][k], evec[i_max][k]); + } +} + +template +void Jacobi::Init() +{ + n = 0; + M = nullptr; + max_idx_row = nullptr; +} + +template +void Jacobi::SetSize(int n) +{ + Dealloc(); + Alloc(n); +} + +template +void Jacobi::Alloc(int N) +{ + n = N; + if (n > 0) { + max_idx_row = new int[n]; + Alloc2D(n, n, &M); + } +} + +template +void Jacobi:: +Dealloc() { + if (max_idx_row) { + delete [] max_idx_row; + max_idx_row = nullptr; + } + Dealloc2D(&M); + Init(); +} + +template +Jacobi:: + Jacobi(const Jacobi& source) +{ + Init(); + SetSize(source.n); + + std::copy(source.max_idx_row, + source.max_idx_row + n,max_idx_row); + for (int i = 0; i < n; i++) + std::copy(source.M[i],source.M[i] + n,M[i]); + +} + +template +void Jacobi:: + swap(Jacobi &other) +{ + std::swap(n, other.n); + std::swap(max_idx_row, other.max_idx_row); + std::swap(M, other.M); +} + +template +Jacobi:: + Jacobi(Jacobi&& other) +{ + Init(); + this->swap(other); +} + +template +Jacobi& + Jacobi:: + operator = (Jacobi + source) +{ + this->swap(source); + return *this; +} + +} // namespace jacobi + + +#endif //#ifndef _JACOBI_HPP + + +#endif /* SRC_SOT_MLIAP_SO3_MATH_H_ */ diff --git a/src/MLIAP/pair_mliap.cpp b/src/MLIAP/pair_mliap.cpp index 85374e9214..dc14dc80dd 100644 --- a/src/MLIAP/pair_mliap.cpp +++ b/src/MLIAP/pair_mliap.cpp @@ -22,6 +22,7 @@ #include "mliap_model_quadratic.h" #include "mliap_model_nn.h" #include "mliap_descriptor_snap.h" +#include "mliap_descriptor_so3.h" #ifdef MLIAP_PYTHON #include "mliap_model_python.h" #endif @@ -171,6 +172,11 @@ void PairMLIAP::settings(int narg, char ** arg) if (iarg+3 > narg) error->all(FLERR,"Illegal pair_style mliap command"); descriptor = new MLIAPDescriptorSNAP(lmp,arg[iarg+2]); iarg += 3; + }else if (strcmp(arg[iarg+1],"so3") == 0) { + if (iarg+3 > narg) error->all(FLERR,"Illegal pair_style mliap command"); + descriptor = new MLIAPDescriptorSO3(lmp,arg[iarg+2]); + iarg += 3; + } else error->all(FLERR,"Illegal pair_style mliap command"); descriptorflag = 1; } else From 75fd4e9eec931344a59579eb4d154cfaf5eaa258 Mon Sep 17 00:00:00 2001 From: macstein Date: Wed, 9 Jun 2021 16:59:59 -0700 Subject: [PATCH 176/726] update --- examples/mliap/Ni_Mo.data | 26 +++ examples/mliap/Ni_Mo.mliap.descriptor | 1 + examples/mliap/Ni_Mo.mliap.model | 1 + examples/mliap/Si.nn.mliap.descriptor | 1 + examples/mliap/Si.nn.mliap.model | 1 + examples/mliap/compute.quadratic.gg0.dat | 17 ++ examples/mliap/compute.quadratic.gg1.dat | 17 ++ examples/mliap/compute.snap.gg0.dat | 17 ++ examples/mliap/compute.snap.gg1.dat | 17 ++ examples/mliap/dump.myforce.0 | 19 ++ examples/mliap/dump.myforce.1 | 19 ++ examples/mliap/dump.myforce.2 | 19 ++ examples/mliap/dump.myforce.3 | 19 ++ examples/mliap/in.mliap.so3.Ni_Mo | 29 +++ examples/mliap/in.mliap.so3.nn.Si | 52 +++++ .../mliap/log.09Jun21.mliap.so3.Ni_Mo.g++.1 | 96 +++++++++ .../mliap/log.09Jun21.mliap.so3.Ni_Mo.g++.4 | 96 +++++++++ .../mliap/log.09Jun21.mliap.so3.nn.Si.g++.1 | 124 ++++++++++++ .../mliap/log.09Jun21.mliap.so3.nn.Si.g++.4 | 124 ++++++++++++ potentials/Ni_Mo.mliap.descriptor | 17 ++ potentials/Ni_Mo.mliap.model | 42 ++++ potentials/Si.nn.mliap.descriptor | 14 ++ potentials/Si.nn.mliap.model | 182 ++++++++++++++++++ 23 files changed, 950 insertions(+) create mode 100644 examples/mliap/Ni_Mo.data create mode 120000 examples/mliap/Ni_Mo.mliap.descriptor create mode 120000 examples/mliap/Ni_Mo.mliap.model create mode 120000 examples/mliap/Si.nn.mliap.descriptor create mode 120000 examples/mliap/Si.nn.mliap.model create mode 100644 examples/mliap/compute.quadratic.gg0.dat create mode 100644 examples/mliap/compute.quadratic.gg1.dat create mode 100644 examples/mliap/compute.snap.gg0.dat create mode 100644 examples/mliap/compute.snap.gg1.dat create mode 100644 examples/mliap/dump.myforce.0 create mode 100644 examples/mliap/dump.myforce.1 create mode 100644 examples/mliap/dump.myforce.2 create mode 100644 examples/mliap/dump.myforce.3 create mode 100644 examples/mliap/in.mliap.so3.Ni_Mo create mode 100644 examples/mliap/in.mliap.so3.nn.Si create mode 100644 examples/mliap/log.09Jun21.mliap.so3.Ni_Mo.g++.1 create mode 100644 examples/mliap/log.09Jun21.mliap.so3.Ni_Mo.g++.4 create mode 100644 examples/mliap/log.09Jun21.mliap.so3.nn.Si.g++.1 create mode 100644 examples/mliap/log.09Jun21.mliap.so3.nn.Si.g++.4 create mode 100644 potentials/Ni_Mo.mliap.descriptor create mode 100644 potentials/Ni_Mo.mliap.model create mode 100644 potentials/Si.nn.mliap.descriptor create mode 100644 potentials/Si.nn.mliap.model diff --git a/examples/mliap/Ni_Mo.data b/examples/mliap/Ni_Mo.data new file mode 100644 index 0000000000..9711e3832b --- /dev/null +++ b/examples/mliap/Ni_Mo.data @@ -0,0 +1,26 @@ +NiMo.data (written by ASE) + +10 atoms +2 atom types +0.0 5.7209004999999999 xlo xhi +0.0 5.7209004999999999 ylo yhi +0.0 3.5556619999999999 zlo zhi + +Masses + +1 95.96 +2 58.6934 + + +Atoms + + 1 1 0 0 0 + 2 1 2.86045025 2.86045025 1.7778309999999999 + 3 2 2.2921502965812497 4.5858137713447498 0 + 4 2 3.4287502034187498 1.13508672865525 0 + 5 2 1.72536352134475 0.56829995341874995 1.7778309999999999 + 6 2 3.9955369786552501 5.1526005465812501 1.7778309999999999 + 7 2 5.1526005465812501 1.72536352134475 1.7778309999999999 + 8 2 0.56829995341874995 3.9955369786552501 1.7778309999999999 + 9 2 4.5858137713447498 3.4287502034187498 0 + 10 2 1.13508672865525 2.2921502965812497 0 diff --git a/examples/mliap/Ni_Mo.mliap.descriptor b/examples/mliap/Ni_Mo.mliap.descriptor new file mode 120000 index 0000000000..aef91dff49 --- /dev/null +++ b/examples/mliap/Ni_Mo.mliap.descriptor @@ -0,0 +1 @@ +../../potentials/Ni_Mo.mliap.descriptor \ No newline at end of file diff --git a/examples/mliap/Ni_Mo.mliap.model b/examples/mliap/Ni_Mo.mliap.model new file mode 120000 index 0000000000..5d95a4b76e --- /dev/null +++ b/examples/mliap/Ni_Mo.mliap.model @@ -0,0 +1 @@ +../../potentials/Ni_Mo.mliap.model \ No newline at end of file diff --git a/examples/mliap/Si.nn.mliap.descriptor b/examples/mliap/Si.nn.mliap.descriptor new file mode 120000 index 0000000000..919e3e58d8 --- /dev/null +++ b/examples/mliap/Si.nn.mliap.descriptor @@ -0,0 +1 @@ +../../potentials/Si.nn.mliap.descriptor \ No newline at end of file diff --git a/examples/mliap/Si.nn.mliap.model b/examples/mliap/Si.nn.mliap.model new file mode 120000 index 0000000000..940fade2fc --- /dev/null +++ b/examples/mliap/Si.nn.mliap.model @@ -0,0 +1 @@ +../../potentials/Si.nn.mliap.model \ No newline at end of file diff --git a/examples/mliap/compute.quadratic.gg0.dat b/examples/mliap/compute.quadratic.gg0.dat new file mode 100644 index 0000000000..0a6695c1ab --- /dev/null +++ b/examples/mliap/compute.quadratic.gg0.dat @@ -0,0 +1,17 @@ +# Time-averaged data for fix snap +# TimeStep Number-of-rows +# Row c_snap[1] c_snap[2] c_snap[3] c_snap[4] c_snap[5] c_snap[6] c_snap[7] c_snap[8] c_snap[9] c_snap[10] c_snap[11] c_snap[12] c_snap[13] c_snap[14] c_snap[15] c_snap[16] c_snap[17] c_snap[18] c_snap[19] c_snap[20] c_snap[21] c_snap[22] c_snap[23] c_snap[24] c_snap[25] c_snap[26] c_snap[27] c_snap[28] c_snap[29] c_snap[30] c_snap[31] c_snap[32] c_snap[33] c_snap[34] c_snap[35] c_snap[36] c_snap[37] c_snap[38] c_snap[39] c_snap[40] c_snap[41] c_snap[42] c_snap[43] +0 13 +1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 364183 213523 107428 122916 41227.5 3.31573e+10 3.88807e+10 1.95617e+10 2.23819e+10 7.50718e+09 1.1398e+10 1.14692e+10 1.31227e+10 4.40152e+09 2.88519e+09 6.60228e+09 2.21449e+09 3.77706e+09 2.53375e+09 4.24928e+08 322.87 +2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -206.978 -293.105 -434.029 -217.39 0 -3.76889e+07 -5.33719e+07 -7.9033e+07 -3.95849e+07 -2.20973e+07 -4.24099e+07 -5.9058e+07 -2.74755e+07 -1.57438e+07 -4.1327e+07 -1.77189e+07 -2.66745e+07 -2.23073e+07 -4.48124e+06 -20.7188 +3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1277.1 -1841.02 -2752.08 -1381.8 0 -2.3255e+08 -3.35235e+08 -5.0113e+08 -2.51613e+08 -1.36345e+08 -2.65149e+08 -3.72304e+08 -1.73849e+08 -9.88886e+07 -2.6097e+08 -1.12172e+08 -1.69137e+08 -1.41653e+08 -2.8484e+07 -106.829 +4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 804.916 1147.62 1705.6 855.045 0 1.46568e+08 2.08973e+08 3.10574e+08 1.55696e+08 8.59341e+07 1.65757e+08 2.3156e+08 1.07878e+08 6.16434e+07 1.62145e+08 6.95847e+07 1.04822e+08 8.77079e+07 1.76257e+07 74.8128 +5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 206.978 293.105 434.029 217.39 0 3.76889e+07 5.33719e+07 7.9033e+07 3.95849e+07 2.20973e+07 4.24099e+07 5.9058e+07 2.74755e+07 1.57438e+07 4.1327e+07 1.77189e+07 2.66745e+07 2.23073e+07 4.48124e+06 20.7188 +6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1277.1 1841.02 2752.08 1381.8 0 2.3255e+08 3.35235e+08 5.0113e+08 2.51613e+08 1.36345e+08 2.65149e+08 3.72304e+08 1.73849e+08 9.88886e+07 2.6097e+08 1.12172e+08 1.69137e+08 1.41653e+08 2.8484e+07 106.829 +7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -804.916 -1147.62 -1705.6 -855.045 0 -1.46568e+08 -2.08973e+08 -3.10574e+08 -1.55696e+08 -8.59341e+07 -1.65757e+08 -2.3156e+08 -1.07878e+08 -6.16434e+07 -1.62145e+08 -6.95847e+07 -1.04822e+08 -8.77079e+07 -1.76257e+07 -74.8128 +8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -368289 -407156 -507654 -255414 0 -6.70623e+10 -7.41396e+10 -9.24395e+10 -4.65087e+10 -3.93191e+10 -6.32509e+10 -7.68322e+10 -3.48602e+10 -2.18699e+10 -5.2291e+10 -2.21123e+10 -3.11993e+10 -2.61618e+10 -5.26504e+09 1.3152e+08 +9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -366906 -404336 -502742 -252940 0 -6.68105e+10 -7.36261e+10 -9.1545e+10 -4.60582e+10 -3.91714e+10 -6.28755e+10 -7.62227e+10 -3.45676e+10 -2.17185e+10 -5.18538e+10 -2.19213e+10 -3.08974e+10 -2.59085e+10 -5.21405e+09 1.2154e+08 +10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -367764 -406084 -505786 -254475 0 -6.69666e+10 -7.39444e+10 -9.20993e+10 -4.63376e+10 -3.9263e+10 -6.31081e+10 -7.66004e+10 -3.47491e+10 -2.18124e+10 -5.21248e+10 -2.20397e+10 -3.10845e+10 -2.60656e+10 -5.24568e+09 1.27407e+08 +11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1133.9 -1843.91 -2924.6 -1483.25 0 -2.06474e+08 -3.3576e+08 -5.32545e+08 -2.70086e+08 -1.21057e+08 -2.57765e+08 -3.81922e+08 -1.81728e+08 -9.90436e+07 -2.70414e+08 -1.17681e+08 -1.7974e+08 -1.51444e+08 -3.05753e+07 -5.32884e+06 +12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -183.403 -298.662 -473.996 -240.251 0 -3.33961e+07 -5.43839e+07 -8.63107e+07 -4.37476e+07 -1.95804e+07 -4.17369e+07 -6.18761e+07 -2.94301e+07 -1.60423e+07 -4.38153e+07 -1.90614e+07 -2.91308e+07 -2.45361e+07 -4.95247e+06 -1.08912e+06 +13 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 291.353 474.04 752.045 381.322 0 5.30528e+07 8.63186e+07 1.36941e+08 6.94355e+07 3.11053e+07 6.62589e+07 9.81954e+07 4.67164e+07 2.54626e+07 6.95288e+07 3.02541e+07 4.6219e+07 3.89377e+07 7.86049e+06 1.50556e+06 diff --git a/examples/mliap/compute.quadratic.gg1.dat b/examples/mliap/compute.quadratic.gg1.dat new file mode 100644 index 0000000000..0a6695c1ab --- /dev/null +++ b/examples/mliap/compute.quadratic.gg1.dat @@ -0,0 +1,17 @@ +# Time-averaged data for fix snap +# TimeStep Number-of-rows +# Row c_snap[1] c_snap[2] c_snap[3] c_snap[4] c_snap[5] c_snap[6] c_snap[7] c_snap[8] c_snap[9] c_snap[10] c_snap[11] c_snap[12] c_snap[13] c_snap[14] c_snap[15] c_snap[16] c_snap[17] c_snap[18] c_snap[19] c_snap[20] c_snap[21] c_snap[22] c_snap[23] c_snap[24] c_snap[25] c_snap[26] c_snap[27] c_snap[28] c_snap[29] c_snap[30] c_snap[31] c_snap[32] c_snap[33] c_snap[34] c_snap[35] c_snap[36] c_snap[37] c_snap[38] c_snap[39] c_snap[40] c_snap[41] c_snap[42] c_snap[43] +0 13 +1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 364183 213523 107428 122916 41227.5 3.31573e+10 3.88807e+10 1.95617e+10 2.23819e+10 7.50718e+09 1.1398e+10 1.14692e+10 1.31227e+10 4.40152e+09 2.88519e+09 6.60228e+09 2.21449e+09 3.77706e+09 2.53375e+09 4.24928e+08 322.87 +2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -206.978 -293.105 -434.029 -217.39 0 -3.76889e+07 -5.33719e+07 -7.9033e+07 -3.95849e+07 -2.20973e+07 -4.24099e+07 -5.9058e+07 -2.74755e+07 -1.57438e+07 -4.1327e+07 -1.77189e+07 -2.66745e+07 -2.23073e+07 -4.48124e+06 -20.7188 +3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1277.1 -1841.02 -2752.08 -1381.8 0 -2.3255e+08 -3.35235e+08 -5.0113e+08 -2.51613e+08 -1.36345e+08 -2.65149e+08 -3.72304e+08 -1.73849e+08 -9.88886e+07 -2.6097e+08 -1.12172e+08 -1.69137e+08 -1.41653e+08 -2.8484e+07 -106.829 +4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 804.916 1147.62 1705.6 855.045 0 1.46568e+08 2.08973e+08 3.10574e+08 1.55696e+08 8.59341e+07 1.65757e+08 2.3156e+08 1.07878e+08 6.16434e+07 1.62145e+08 6.95847e+07 1.04822e+08 8.77079e+07 1.76257e+07 74.8128 +5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 206.978 293.105 434.029 217.39 0 3.76889e+07 5.33719e+07 7.9033e+07 3.95849e+07 2.20973e+07 4.24099e+07 5.9058e+07 2.74755e+07 1.57438e+07 4.1327e+07 1.77189e+07 2.66745e+07 2.23073e+07 4.48124e+06 20.7188 +6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1277.1 1841.02 2752.08 1381.8 0 2.3255e+08 3.35235e+08 5.0113e+08 2.51613e+08 1.36345e+08 2.65149e+08 3.72304e+08 1.73849e+08 9.88886e+07 2.6097e+08 1.12172e+08 1.69137e+08 1.41653e+08 2.8484e+07 106.829 +7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -804.916 -1147.62 -1705.6 -855.045 0 -1.46568e+08 -2.08973e+08 -3.10574e+08 -1.55696e+08 -8.59341e+07 -1.65757e+08 -2.3156e+08 -1.07878e+08 -6.16434e+07 -1.62145e+08 -6.95847e+07 -1.04822e+08 -8.77079e+07 -1.76257e+07 -74.8128 +8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -368289 -407156 -507654 -255414 0 -6.70623e+10 -7.41396e+10 -9.24395e+10 -4.65087e+10 -3.93191e+10 -6.32509e+10 -7.68322e+10 -3.48602e+10 -2.18699e+10 -5.2291e+10 -2.21123e+10 -3.11993e+10 -2.61618e+10 -5.26504e+09 1.3152e+08 +9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -366906 -404336 -502742 -252940 0 -6.68105e+10 -7.36261e+10 -9.1545e+10 -4.60582e+10 -3.91714e+10 -6.28755e+10 -7.62227e+10 -3.45676e+10 -2.17185e+10 -5.18538e+10 -2.19213e+10 -3.08974e+10 -2.59085e+10 -5.21405e+09 1.2154e+08 +10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -367764 -406084 -505786 -254475 0 -6.69666e+10 -7.39444e+10 -9.20993e+10 -4.63376e+10 -3.9263e+10 -6.31081e+10 -7.66004e+10 -3.47491e+10 -2.18124e+10 -5.21248e+10 -2.20397e+10 -3.10845e+10 -2.60656e+10 -5.24568e+09 1.27407e+08 +11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1133.9 -1843.91 -2924.6 -1483.25 0 -2.06474e+08 -3.3576e+08 -5.32545e+08 -2.70086e+08 -1.21057e+08 -2.57765e+08 -3.81922e+08 -1.81728e+08 -9.90436e+07 -2.70414e+08 -1.17681e+08 -1.7974e+08 -1.51444e+08 -3.05753e+07 -5.32884e+06 +12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -183.403 -298.662 -473.996 -240.251 0 -3.33961e+07 -5.43839e+07 -8.63107e+07 -4.37476e+07 -1.95804e+07 -4.17369e+07 -6.18761e+07 -2.94301e+07 -1.60423e+07 -4.38153e+07 -1.90614e+07 -2.91308e+07 -2.45361e+07 -4.95247e+06 -1.08912e+06 +13 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 291.353 474.04 752.045 381.322 0 5.30528e+07 8.63186e+07 1.36941e+08 6.94355e+07 3.11053e+07 6.62589e+07 9.81954e+07 4.67164e+07 2.54626e+07 6.95288e+07 3.02541e+07 4.6219e+07 3.89377e+07 7.86049e+06 1.50556e+06 diff --git a/examples/mliap/compute.snap.gg0.dat b/examples/mliap/compute.snap.gg0.dat new file mode 100644 index 0000000000..4351b21103 --- /dev/null +++ b/examples/mliap/compute.snap.gg0.dat @@ -0,0 +1,17 @@ +# Time-averaged data for fix snap +# TimeStep Number-of-rows +# Row c_snap[1] c_snap[2] c_snap[3] c_snap[4] c_snap[5] c_snap[6] c_snap[7] c_snap[8] c_snap[9] c_snap[10] c_snap[11] c_snap[12] c_snap[13] +0 13 +1 0 0 0 0 0 0 2 364183 213523 107428 122916 41227.5 322.87 +2 0 0 0 0 0 0 0 0 -206.978 -293.105 -434.029 -217.39 -20.7188 +3 0 0 0 0 0 0 0 0 -1277.1 -1841.02 -2752.08 -1381.8 -106.829 +4 0 0 0 0 0 0 0 0 804.916 1147.62 1705.6 855.045 74.8128 +5 0 0 0 0 0 0 0 0 206.978 293.105 434.029 217.39 20.7188 +6 0 0 0 0 0 0 0 0 1277.1 1841.02 2752.08 1381.8 106.829 +7 0 0 0 0 0 0 0 0 -804.916 -1147.62 -1705.6 -855.045 -74.8128 +8 0 0 0 0 0 0 0 0 -368289 -407156 -507654 -255414 1.3152e+08 +9 0 0 0 0 0 0 0 0 -366906 -404336 -502742 -252940 1.2154e+08 +10 0 0 0 0 0 0 0 0 -367764 -406084 -505786 -254475 1.27407e+08 +11 0 0 0 0 0 0 0 0 -1133.9 -1843.91 -2924.6 -1483.25 -5.32884e+06 +12 0 0 0 0 0 0 0 0 -183.403 -298.662 -473.996 -240.251 -1.08912e+06 +13 0 0 0 0 0 0 0 0 291.353 474.04 752.045 381.322 1.50556e+06 diff --git a/examples/mliap/compute.snap.gg1.dat b/examples/mliap/compute.snap.gg1.dat new file mode 100644 index 0000000000..4351b21103 --- /dev/null +++ b/examples/mliap/compute.snap.gg1.dat @@ -0,0 +1,17 @@ +# Time-averaged data for fix snap +# TimeStep Number-of-rows +# Row c_snap[1] c_snap[2] c_snap[3] c_snap[4] c_snap[5] c_snap[6] c_snap[7] c_snap[8] c_snap[9] c_snap[10] c_snap[11] c_snap[12] c_snap[13] +0 13 +1 0 0 0 0 0 0 2 364183 213523 107428 122916 41227.5 322.87 +2 0 0 0 0 0 0 0 0 -206.978 -293.105 -434.029 -217.39 -20.7188 +3 0 0 0 0 0 0 0 0 -1277.1 -1841.02 -2752.08 -1381.8 -106.829 +4 0 0 0 0 0 0 0 0 804.916 1147.62 1705.6 855.045 74.8128 +5 0 0 0 0 0 0 0 0 206.978 293.105 434.029 217.39 20.7188 +6 0 0 0 0 0 0 0 0 1277.1 1841.02 2752.08 1381.8 106.829 +7 0 0 0 0 0 0 0 0 -804.916 -1147.62 -1705.6 -855.045 -74.8128 +8 0 0 0 0 0 0 0 0 -368289 -407156 -507654 -255414 1.3152e+08 +9 0 0 0 0 0 0 0 0 -366906 -404336 -502742 -252940 1.2154e+08 +10 0 0 0 0 0 0 0 0 -367764 -406084 -505786 -254475 1.27407e+08 +11 0 0 0 0 0 0 0 0 -1133.9 -1843.91 -2924.6 -1483.25 -5.32884e+06 +12 0 0 0 0 0 0 0 0 -183.403 -298.662 -473.996 -240.251 -1.08912e+06 +13 0 0 0 0 0 0 0 0 291.353 474.04 752.045 381.322 1.50556e+06 diff --git a/examples/mliap/dump.myforce.0 b/examples/mliap/dump.myforce.0 new file mode 100644 index 0000000000..d07a85b3c7 --- /dev/null +++ b/examples/mliap/dump.myforce.0 @@ -0,0 +1,19 @@ +ITEM: TIMESTEP +0 +ITEM: NUMBER OF ATOMS +10 +ITEM: BOX BOUNDS pp pp pp +0.0000000000000000e+00 5.7209004999999999e+00 +0.0000000000000000e+00 5.7209004999999999e+00 +0.0000000000000000e+00 3.5556619999999999e+00 +ITEM: ATOMS id type fx fy fz +1 1 1.72085e-15 3.09128e-15 9.31869e-17 +5 2 0.050938 -0.032908 -1.25321e-16 +10 2 -0.050938 0.032908 9.15529e-17 +3 2 0.032908 0.050938 -1.38233e-16 +8 2 -0.032908 -0.050938 -1.22814e-17 +4 2 -0.032908 -0.050938 9.26486e-17 +7 2 0.032908 0.050938 -3.02615e-17 +2 1 -4.44089e-16 -3.19189e-16 -6.33482e-17 +6 2 -0.050938 0.032908 -3.00332e-17 +9 2 0.050938 -0.032908 3.78648e-17 diff --git a/examples/mliap/dump.myforce.1 b/examples/mliap/dump.myforce.1 new file mode 100644 index 0000000000..c9fd04f390 --- /dev/null +++ b/examples/mliap/dump.myforce.1 @@ -0,0 +1,19 @@ +ITEM: TIMESTEP +1 +ITEM: NUMBER OF ATOMS +10 +ITEM: BOX BOUNDS pp pp pp +0.0000000000000000e+00 5.7209004999999999e+00 +0.0000000000000000e+00 5.7209004999999999e+00 +0.0000000000000000e+00 3.5556619999999999e+00 +ITEM: ATOMS id type fx fy fz +1 1 -0.000729125 -0.000714994 -0.00220841 +5 2 0.0496682 -0.0324377 0.00038266 +10 2 -0.0530431 0.0329728 0.000550495 +3 2 0.0332856 0.052411 0.000870549 +8 2 -0.032953 -0.0497086 0.00132549 +4 2 -0.0320752 -0.0521202 0.00124439 +7 2 0.0338522 0.050681 -0.00121784 +2 1 0.00165517 -0.00250976 -0.000302692 +6 2 -0.050105 0.0339082 0.000826425 +9 2 0.0504443 -0.0324816 -0.00147106 diff --git a/examples/mliap/dump.myforce.2 b/examples/mliap/dump.myforce.2 new file mode 100644 index 0000000000..71b1e05781 --- /dev/null +++ b/examples/mliap/dump.myforce.2 @@ -0,0 +1,19 @@ +ITEM: TIMESTEP +2 +ITEM: NUMBER OF ATOMS +10 +ITEM: BOX BOUNDS pp pp pp +0.0000000000000000e+00 5.7209004999999999e+00 +0.0000000000000000e+00 5.7209004999999999e+00 +0.0000000000000000e+00 3.5556619999999999e+00 +ITEM: ATOMS id type fx fy fz +1 1 -0.00145405 -0.0014157 -0.00437929 +5 2 0.0484153 -0.0319671 0.000741695 +10 2 -0.0551658 0.0330298 0.00107644 +3 2 0.033659 0.0539066 0.0017504 +8 2 -0.0329891 -0.0484647 0.00266786 +4 2 -0.03122 -0.0532983 0.00250335 +7 2 0.034752 0.0504247 -0.00242198 +2 1 0.00333417 -0.00505301 -0.000618701 +6 2 -0.0492679 0.0349087 0.00163536 +9 2 0.0499364 -0.0320709 -0.00295513 diff --git a/examples/mliap/dump.myforce.3 b/examples/mliap/dump.myforce.3 new file mode 100644 index 0000000000..ffd25bf563 --- /dev/null +++ b/examples/mliap/dump.myforce.3 @@ -0,0 +1,19 @@ +ITEM: TIMESTEP +3 +ITEM: NUMBER OF ATOMS +10 +ITEM: BOX BOUNDS pp pp pp +0.0000000000000000e+00 5.7209004999999999e+00 +0.0000000000000000e+00 5.7209004999999999e+00 +0.0000000000000000e+00 3.5556619999999999e+00 +ITEM: ATOMS id type fx fy fz +1 1 -0.00217493 -0.0021024 -0.00651463 +5 2 0.0471778 -0.0314961 0.00107734 +10 2 -0.0573094 0.0330784 0.00157862 +3 2 0.0340287 0.0554264 0.0026393 +8 2 -0.0330162 -0.0472058 0.00402941 +4 2 -0.030341 -0.0544744 0.00377712 +7 2 0.03561 0.0501692 -0.00361334 +2 1 0.00503727 -0.00762942 -0.000948075 +6 2 -0.048426 0.0359101 0.00242874 +9 2 0.0494137 -0.031676 -0.00445449 diff --git a/examples/mliap/in.mliap.so3.Ni_Mo b/examples/mliap/in.mliap.so3.Ni_Mo new file mode 100644 index 0000000000..3a102e9d9b --- /dev/null +++ b/examples/mliap/in.mliap.so3.Ni_Mo @@ -0,0 +1,29 @@ +# ---------- Initialize Simulation --------------------- +clear +units metal +dimension 3 +boundary p p p +atom_style atomic +read_data Ni_Mo.data + +#change_box all x scale 0.9 y scale 0.9 z scale 0.9 + +pair_style mliap model linear Ni_Mo.mliap.model descriptor so3 Ni_Mo.mliap.descriptor +pair_coeff * * Mo Ni + +variable e equal pe +variable N equal count(all) + +thermo_style custom pe pxx pyy pzz pxy pxz pyz +thermo 1 + +dump 1 all custom 1 dump.myforce.* id type fx fy fz + +velocity all create 300.0 4928459 loop geom +fix 1 all nve + +run 3 +variable emin equal $e +variable EperAtom equal (${emin}/${N}) + +print "Total energy (eV/atom) = ${EperAtom} " diff --git a/examples/mliap/in.mliap.so3.nn.Si b/examples/mliap/in.mliap.so3.nn.Si new file mode 100644 index 0000000000..39b1241d53 --- /dev/null +++ b/examples/mliap/in.mliap.so3.nn.Si @@ -0,0 +1,52 @@ +# Run NPT MD simulation for Si at 500 K. +variable nsteps index 100 #0 + +# NOTE: These are not intended to represent real materials + +units metal + +atom_style atomic +atom_modify map array +boundary p p p +atom_modify sort 0 0.0 + +#read_data Si.data +lattice diamond 5.43 +region box block 0 10 0 10 0 10 +create_box 1 box +create_atoms 1 box +mass 1 29.0 + +# temperature +variable t equal 500. + + +# Potential +#pair_style mliap model nn Si-snap/NN_weights.txt descriptor sna Si-snap/DescriptorParam.txt +pair_style mliap model nn Si.nn.mliap.model descriptor so3 Si.nn.mliap.descriptor +pair_coeff * * Si Si + +# Set-up output + +compute eatom all pe/atom +compute energy all reduce sum c_eatom + +compute satom all stress/atom NULL +compute str all reduce sum c_satom[1] c_satom[2] c_satom[3] +variable press equal (c_str[1]+c_str[2]+c_str[3])/(3*vol) + +thermo_style custom step temp epair c_energy etotal press v_press +thermo 10 +thermo_modify norm yes + +# Set up NVE run + +timestep 0.5e-3 +neighbor 1.0 bin +neigh_modify once no every 1 delay 0 check yes + +# Run MD + +velocity all create $t 5287287 loop geom +fix 1 all npt temp ${t} ${t} 0.2 iso 0.0 0.0 2 +run ${nsteps} diff --git a/examples/mliap/log.09Jun21.mliap.so3.Ni_Mo.g++.1 b/examples/mliap/log.09Jun21.mliap.so3.Ni_Mo.g++.1 new file mode 100644 index 0000000000..976f6a3518 --- /dev/null +++ b/examples/mliap/log.09Jun21.mliap.so3.Ni_Mo.g++.1 @@ -0,0 +1,96 @@ +LAMMPS (8 Apr 2021) +# ---------- Initialize Simulation --------------------- +clear +units metal +dimension 3 +boundary p p p +atom_style atomic +read_data Ni_Mo.data +Reading data file ... + orthogonal box = (0.0000000 0.0000000 0.0000000) to (5.7209005 5.7209005 3.5556620) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 10 atoms + read_data CPU = 0.000 seconds + +#change_box all x scale 0.9 y scale 0.9 z scale 0.9 + +pair_style mliap model linear Ni_Mo.mliap.model descriptor so3 Ni_Mo.mliap.descriptor +Reading potential file Ni_Mo.mliap.descriptor with DATE: 2014-09-05 +SO3 keyword rcutfac 4.1 +SO3 keyword nmax 3 +SO3 keyword lmax 2 +SO3 keyword alpha 2.0 +SO3 keyword nelems 2 +SO3 keyword elems Mo +SO3 keyword radelems 0.5 +SO3 keyword welems 42 +pair_coeff * * Mo Ni + +variable e equal pe +variable N equal count(all) + +thermo_style custom pe pxx pyy pzz pxy pxz pyz +thermo 1 + +dump 1 all custom 1 dump.myforce.* id type fx fy fz + +velocity all create 300.0 4928459 loop geom +fix 1 all nve + +run 3 +Neighbor list info ... + update every 1 steps, delay 10 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 6.1 + ghost atom cutoff = 6.1 + binsize = 3.05, bins = 2 2 2 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair mliap, perpetual + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 18.47 | 18.47 | 18.47 Mbytes +PotEng Pxx Pyy Pzz Pxy Pxz Pyz + -60.509577 -38.702887 -342.91582 1831.0743 -819.59439 427.87407 446.40498 + -60.509344 -29.050171 -342.67124 1839.4215 -832.92479 439.72661 448.55829 + -60.509056 -9.4119072 -335.83361 1856.2802 -846.04664 451.4663 450.35456 + -60.508714 20.205972 -322.43019 1881.6 -858.97774 463.10122 451.79916 +Loop time of 0.00652385 on 1 procs for 3 steps with 10 atoms + +Performance: 39.731 ns/day, 0.604 hours/ns, 459.851 timesteps/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.0063381 | 0.0063381 | 0.0063381 | 0.0 | 97.15 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 8.5831e-06 | 8.5831e-06 | 8.5831e-06 | 0.0 | 0.13 +Output | 0.00017047 | 0.00017047 | 0.00017047 | 0.0 | 2.61 +Modify | 2.3842e-06 | 2.3842e-06 | 2.3842e-06 | 0.0 | 0.04 +Other | | 4.292e-06 | | | 0.07 + +Nlocal: 10.0000 ave 10 max 10 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 423.000 ave 423 max 423 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0.00000 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +FullNghs: 780.000 ave 780 max 780 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 780 +Ave neighs/atom = 78.000000 +Neighbor list builds = 0 +Dangerous builds = 0 +variable emin equal $e +variable emin equal -60.5087142406574 +variable EperAtom equal (${emin}/${N}) +variable EperAtom equal (-60.5087142406574/${N}) +variable EperAtom equal (-60.5087142406574/10) + +print "Total energy (eV/atom) = ${EperAtom} " +Total energy (eV/atom) = -6.05087142406574 +Total wall time: 0:00:00 diff --git a/examples/mliap/log.09Jun21.mliap.so3.Ni_Mo.g++.4 b/examples/mliap/log.09Jun21.mliap.so3.Ni_Mo.g++.4 new file mode 100644 index 0000000000..16383b0646 --- /dev/null +++ b/examples/mliap/log.09Jun21.mliap.so3.Ni_Mo.g++.4 @@ -0,0 +1,96 @@ +LAMMPS (8 Apr 2021) +# ---------- Initialize Simulation --------------------- +clear +units metal +dimension 3 +boundary p p p +atom_style atomic +read_data Ni_Mo.data +Reading data file ... + orthogonal box = (0.0000000 0.0000000 0.0000000) to (5.7209005 5.7209005 3.5556620) + 2 by 2 by 1 MPI processor grid + reading atoms ... + 10 atoms + read_data CPU = 0.001 seconds + +#change_box all x scale 0.9 y scale 0.9 z scale 0.9 + +pair_style mliap model linear Ni_Mo.mliap.model descriptor so3 Ni_Mo.mliap.descriptor +Reading potential file Ni_Mo.mliap.descriptor with DATE: 2014-09-05 +SO3 keyword rcutfac 4.1 +SO3 keyword nmax 3 +SO3 keyword lmax 2 +SO3 keyword alpha 2.0 +SO3 keyword nelems 2 +SO3 keyword elems Mo +SO3 keyword radelems 0.5 +SO3 keyword welems 42 +pair_coeff * * Mo Ni + +variable e equal pe +variable N equal count(all) + +thermo_style custom pe pxx pyy pzz pxy pxz pyz +thermo 1 + +dump 1 all custom 1 dump.myforce.* id type fx fy fz + +velocity all create 300.0 4928459 loop geom +fix 1 all nve + +run 3 +Neighbor list info ... + update every 1 steps, delay 10 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 6.1 + ghost atom cutoff = 6.1 + binsize = 3.05, bins = 2 2 2 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair mliap, perpetual + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 18.48 | 18.48 | 18.48 Mbytes +PotEng Pxx Pyy Pzz Pxy Pxz Pyz + -60.509577 -38.702887 -342.91582 1831.0743 -819.59439 427.87407 446.40498 + -60.509344 -29.050171 -342.67124 1839.4215 -832.92479 439.72661 448.55829 + -60.509056 -9.4119072 -335.83361 1856.2802 -846.04664 451.4663 450.35456 + -60.508714 20.205972 -322.43019 1881.6 -858.97774 463.10122 451.79916 +Loop time of 0.00700521 on 4 procs for 3 steps with 10 atoms + +Performance: 37.001 ns/day, 0.649 hours/ns, 428.252 timesteps/s +83.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 | 0.0029368 | 0.0044926 | 0.0064001 | 1.8 | 64.13 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.00015497 | 0.0020633 | 0.0036275 | 2.7 | 29.45 +Output | 0.00042009 | 0.00043052 | 0.00044107 | 0.0 | 6.15 +Modify | 2.861e-06 | 4.2915e-06 | 5.0068e-06 | 0.0 | 0.06 +Other | | 1.448e-05 | | | 0.21 + +Nlocal: 2.50000 ave 3 max 2 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Nghost: 303.500 ave 304 max 303 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Neighs: 0.00000 ave 0 max 0 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +FullNghs: 195.000 ave 234 max 156 min +Histogram: 2 0 0 0 0 0 0 0 0 2 + +Total # of neighbors = 780 +Ave neighs/atom = 78.000000 +Neighbor list builds = 0 +Dangerous builds = 0 +variable emin equal $e +variable emin equal -60.5087142406574 +variable EperAtom equal (${emin}/${N}) +variable EperAtom equal (-60.5087142406574/${N}) +variable EperAtom equal (-60.5087142406574/10) + +print "Total energy (eV/atom) = ${EperAtom} " +Total energy (eV/atom) = -6.05087142406574 +Total wall time: 0:00:00 diff --git a/examples/mliap/log.09Jun21.mliap.so3.nn.Si.g++.1 b/examples/mliap/log.09Jun21.mliap.so3.nn.Si.g++.1 new file mode 100644 index 0000000000..e914c23b23 --- /dev/null +++ b/examples/mliap/log.09Jun21.mliap.so3.nn.Si.g++.1 @@ -0,0 +1,124 @@ +LAMMPS (8 Apr 2021) +# Run NPT MD simulation for Si at 500 K. +variable nsteps index 100 #0 + +# NOTE: These are not intended to represent real materials + +units metal + +atom_style atomic +atom_modify map array +boundary p p p +atom_modify sort 0 0.0 + +#read_data Si.data +lattice diamond 5.43 +Lattice spacing in x,y,z = 5.4300000 5.4300000 5.4300000 +region box block 0 10 0 10 0 10 +create_box 1 box +Created orthogonal box = (0.0000000 0.0000000 0.0000000) to (54.300000 54.300000 54.300000) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 8000 atoms + create_atoms CPU = 0.001 seconds +mass 1 29.0 + +# temperature +variable t equal 500. + + +# Potential +#pair_style mliap model nn Si-snap/NN_weights.txt descriptor sna Si-snap/DescriptorParam.txt +pair_style mliap model nn Si.nn.mliap.model descriptor so3 Si.nn.mliap.descriptor +SO3 keyword rcutfac 5.0 +SO3 keyword nmax 3 +SO3 keyword lmax 4 +SO3 keyword alpha 2.0 +SO3 keyword nelems 1 +SO3 keyword elems Si +SO3 keyword radelems 0.5 +SO3 keyword welems 14 +pair_coeff * * Si Si + +# Set-up output + +compute eatom all pe/atom +compute energy all reduce sum c_eatom + +compute satom all stress/atom NULL +compute str all reduce sum c_satom[1] c_satom[2] c_satom[3] +variable press equal (c_str[1]+c_str[2]+c_str[3])/(3*vol) + +thermo_style custom step temp epair c_energy etotal press v_press +thermo 10 +thermo_modify norm yes + +# Set up NVE run + +timestep 0.5e-3 +neighbor 1.0 bin +neigh_modify once no every 1 delay 0 check yes + +# Run MD + +velocity all create $t 5287287 loop geom +velocity all create 500 5287287 loop geom +fix 1 all npt temp ${t} ${t} 0.2 iso 0.0 0.0 2 +fix 1 all npt temp 500 ${t} 0.2 iso 0.0 0.0 2 +fix 1 all npt temp 500 500 0.2 iso 0.0 0.0 2 +run ${nsteps} +run 100 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 6 + ghost atom cutoff = 6 + binsize = 3, bins = 19 19 19 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair mliap, perpetual + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 308.6 | 308.6 | 308.6 Mbytes +Step Temp E_pair c_energy TotEng Press v_press + 0 500 -3.8376374 -3.8376374 -3.7730154 -7241.7798 7241.7798 + 10 490.38075 -3.8363493 -3.8363493 -3.7729705 -6905.607 6905.607 + 20 461.60083 -3.8325872 -3.8325872 -3.7729281 -5943.433 5943.433 + 30 416.53292 -3.8267188 -3.8267188 -3.7728845 -4484.7771 4484.7771 + 40 361.07069 -3.8195026 -3.8195026 -3.7728364 -2752.1553 2752.1553 + 50 304.26606 -3.812108 -3.812108 -3.7727834 -1038.0742 1038.0742 + 60 256.18955 -3.8058374 -3.8058374 -3.7727265 364.81585 -364.81585 + 70 223.86195 -3.8015965 -3.8015965 -3.7726637 1258.7414 -1258.7414 + 80 208.28902 -3.799511 -3.799511 -3.7725909 1602.5954 -1602.5954 + 90 205.19655 -3.7990256 -3.7990256 -3.7725051 1498.693 -1498.693 + 100 208.38945 -3.7993407 -3.7993407 -3.7724076 1121.1675 -1121.1675 +Loop time of 310.377 on 1 procs for 100 steps with 8000 atoms + +Performance: 0.014 ns/day, 1724.319 hours/ns, 0.322 timesteps/s +86.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 | 310.34 | 310.34 | 310.34 | 0.0 | 99.99 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.0033481 | 0.0033481 | 0.0033481 | 0.0 | 0.00 +Output | 0.00336 | 0.00336 | 0.00336 | 0.0 | 0.00 +Modify | 0.024909 | 0.024909 | 0.024909 | 0.0 | 0.01 +Other | | 0.00329 | | | 0.00 + +Nlocal: 8000.00 ave 8000 max 8000 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 6725.00 ave 6725 max 6725 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0.00000 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +FullNghs: 368000.0 ave 368000 max 368000 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 368000 +Ave neighs/atom = 46.000000 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:05:15 diff --git a/examples/mliap/log.09Jun21.mliap.so3.nn.Si.g++.4 b/examples/mliap/log.09Jun21.mliap.so3.nn.Si.g++.4 new file mode 100644 index 0000000000..beeab17bce --- /dev/null +++ b/examples/mliap/log.09Jun21.mliap.so3.nn.Si.g++.4 @@ -0,0 +1,124 @@ +LAMMPS (8 Apr 2021) +# Run NPT MD simulation for Si at 500 K. +variable nsteps index 100 #0 + +# NOTE: These are not intended to represent real materials + +units metal + +atom_style atomic +atom_modify map array +boundary p p p +atom_modify sort 0 0.0 + +#read_data Si.data +lattice diamond 5.43 +Lattice spacing in x,y,z = 5.4300000 5.4300000 5.4300000 +region box block 0 10 0 10 0 10 +create_box 1 box +Created orthogonal box = (0.0000000 0.0000000 0.0000000) to (54.300000 54.300000 54.300000) + 1 by 2 by 2 MPI processor grid +create_atoms 1 box +Created 8000 atoms + create_atoms CPU = 0.000 seconds +mass 1 29.0 + +# temperature +variable t equal 500. + + +# Potential +#pair_style mliap model nn Si-snap/NN_weights.txt descriptor sna Si-snap/DescriptorParam.txt +pair_style mliap model nn Si.nn.mliap.model descriptor so3 Si.nn.mliap.descriptor +SO3 keyword rcutfac 5.0 +SO3 keyword nmax 3 +SO3 keyword lmax 4 +SO3 keyword alpha 2.0 +SO3 keyword nelems 1 +SO3 keyword elems Si +SO3 keyword radelems 0.5 +SO3 keyword welems 14 +pair_coeff * * Si Si + +# Set-up output + +compute eatom all pe/atom +compute energy all reduce sum c_eatom + +compute satom all stress/atom NULL +compute str all reduce sum c_satom[1] c_satom[2] c_satom[3] +variable press equal (c_str[1]+c_str[2]+c_str[3])/(3*vol) + +thermo_style custom step temp epair c_energy etotal press v_press +thermo 10 +thermo_modify norm yes + +# Set up NVE run + +timestep 0.5e-3 +neighbor 1.0 bin +neigh_modify once no every 1 delay 0 check yes + +# Run MD + +velocity all create $t 5287287 loop geom +velocity all create 500 5287287 loop geom +fix 1 all npt temp ${t} ${t} 0.2 iso 0.0 0.0 2 +fix 1 all npt temp 500 ${t} 0.2 iso 0.0 0.0 2 +fix 1 all npt temp 500 500 0.2 iso 0.0 0.0 2 +run ${nsteps} +run 100 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 6 + ghost atom cutoff = 6 + binsize = 3, bins = 19 19 19 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair mliap, perpetual + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 300.6 | 300.6 | 300.6 Mbytes +Step Temp E_pair c_energy TotEng Press v_press + 0 500 -3.8376374 -3.8376374 -3.7730154 -7241.7798 7241.7798 + 10 490.38075 -3.8363493 -3.8363493 -3.7729705 -6905.607 6905.607 + 20 461.60083 -3.8325872 -3.8325872 -3.7729281 -5943.433 5943.433 + 30 416.53292 -3.8267188 -3.8267188 -3.7728845 -4484.7771 4484.7771 + 40 361.07069 -3.8195026 -3.8195026 -3.7728364 -2752.1553 2752.1553 + 50 304.26606 -3.812108 -3.812108 -3.7727834 -1038.0742 1038.0742 + 60 256.18955 -3.8058374 -3.8058374 -3.7727265 364.81585 -364.81585 + 70 223.86195 -3.8015965 -3.8015965 -3.7726637 1258.7414 -1258.7414 + 80 208.28902 -3.799511 -3.799511 -3.7725909 1602.5954 -1602.5954 + 90 205.19655 -3.7990256 -3.7990256 -3.7725051 1498.693 -1498.693 + 100 208.38945 -3.7993407 -3.7993407 -3.7724076 1121.1675 -1121.1675 +Loop time of 82.8939 on 4 procs for 100 steps with 8000 atoms + +Performance: 0.052 ns/day, 460.522 hours/ns, 1.206 timesteps/s +86.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 | 82.395 | 82.572 | 82.813 | 1.7 | 99.61 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.070041 | 0.31023 | 0.48768 | 28.0 | 0.37 +Output | 0.0018134 | 0.0018318 | 0.001883 | 0.1 | 0.00 +Modify | 0.0079656 | 0.0080939 | 0.0082271 | 0.1 | 0.01 +Other | | 0.00147 | | | 0.00 + +Nlocal: 2000.00 ave 2000 max 2000 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Nghost: 3165.00 ave 3165 max 3165 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Neighs: 0.00000 ave 0 max 0 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +FullNghs: 92000.0 ave 92000 max 92000 min +Histogram: 4 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 368000 +Ave neighs/atom = 46.000000 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:01:24 diff --git a/potentials/Ni_Mo.mliap.descriptor b/potentials/Ni_Mo.mliap.descriptor new file mode 100644 index 0000000000..55218aa401 --- /dev/null +++ b/potentials/Ni_Mo.mliap.descriptor @@ -0,0 +1,17 @@ +# DATE: 2014-09-05 UNITS: metal CONTRIBUTOR: Aidan Thompson athomps@sandia.gov CITATION: Thompson, Swiler, Trott, Foiles and Tucker, arxiv.org, 1409.3880 (2014) + +# LAMMPS SNAP parameters for Ta_Cand06A + +# required +rcutfac 4.1 + +nmax 3 +lmax 2 +alpha 2.0 + +nelems 2 +elems Mo Ni +radelems 0.5 0.5 +welems 42 28 + + diff --git a/potentials/Ni_Mo.mliap.model b/potentials/Ni_Mo.mliap.model new file mode 100644 index 0000000000..fe7410ac47 --- /dev/null +++ b/potentials/Ni_Mo.mliap.model @@ -0,0 +1,42 @@ +# Polynomial Regression weights generated in PyXtal_FF +# total_species ncoefficient + +2 19 +-10.484582207168929 +0.002181984336398585 +0.00014278726759476177 +-3.8073123887240994e-05 +0.00942160245354996 +-0.002953156990653782 +0.0035289893532609155 +0.010388199227015397 +-0.007293285178559783 +0.007778725702022789 +0.02409088304815118 +-0.006471686904018551 +0.007708629032670791 +0.05493502344189282 +-0.037332449564392266 +0.03526780681504278 +0.07467315638703718 +-0.040318596628773226 +0.0422992011630305 +-4.847096371333525 +0.00026609729899863425 +0.0006174790678830839 +0.0011724604882377416 +0.0007124714756813229 +0.0008021747400134603 +0.004032016341419122 +0.00011594166533859027 +-0.0007692676499943738 +0.003157768943516899 +0.0029578461448900376 +0.004176054309089772 +0.013203612422421204 +0.003423023528944328 +-0.0030482554314720275 +0.021258801851889702 +0.009238194498574716 +-0.0031503286063986977 +0.03174623113337486 diff --git a/potentials/Si.nn.mliap.descriptor b/potentials/Si.nn.mliap.descriptor new file mode 100644 index 0000000000..362bfe18e6 --- /dev/null +++ b/potentials/Si.nn.mliap.descriptor @@ -0,0 +1,14 @@ +# Descriptor parameters generated in PyXtal_FF + +# Required +rcutfac 5.0 +nmax 3 +lmax 4 +alpha 2.0 + +# Elements + +nelems 1 +elems Si +radelems 0.5 +welems 14 diff --git a/potentials/Si.nn.mliap.model b/potentials/Si.nn.mliap.model new file mode 100644 index 0000000000..b3e2058a14 --- /dev/null +++ b/potentials/Si.nn.mliap.model @@ -0,0 +1,182 @@ +# Neural networks weights generated in PyXtal_FF +# total_species nparams +1 785 + +# NET ndescriptors nlayers activation_func for layer 1, number of nodes for layer 1, ..., ..., ...., +NET 30 3 tanh 16 tanh 16 linear 1 + +# Scale0 + 882.1455698558184 0.0000000000000 0.0000000000000 5.8841777702371 5.7517799958383 + -3238.9045671946642 -251.4215568867158 -178.2481266736228 -179.1034402268287 -221.9598950116207 + 90.0327111887464 0.0000000000000 0.0000000000000 1.0415952549641 2.1678474306880 + -322.3587241302986 -75.7646415488627 -76.7145786721378 -129.0677794487796 -112.8987161484017 + -245.1898929301280 -74.2072298868271 -80.7839875646899 -88.2638908840287 -72.5147728162335 + 0.0000000611830 0.0000000000000 0.0000000000000 0.8210754495092 0.8535996334201 + +# Scale1 + 5596.5949073820930 631.6650003257006 507.4436535576392 526.9938853932412 578.4408280351018 + 2946.1154148172673 387.1899445036270 289.3330986716401 400.3133327930956 344.7757780648306 + 1791.3334649717744 229.6824470442407 282.7126942391381 295.8232977577057 213.4074061628525 + 702.0628109646157 116.5739852500949 94.8723519732492 161.8196514838781 125.3225027894728 + 336.8056307932885 81.6558752026350 86.1654467256720 94.0311967431067 81.3402101281388 + 36.4668951370478 29.7270744697909 30.5640947358207 43.8634527339667 37.3463021205072 + +# Coefficients (Si) + 0.3685385859286 -0.7362089264023 0.2715981065192 -0.1163322715384 0.3075404404972 + -0.1610935909884 0.0015719318101 -0.5946522948990 -0.1053262271503 0.0880530740557 + -0.1994084791015 0.5117820573250 -0.3213661835683 -0.0937083715377 -0.2683319723078 + -0.2532296010987 -0.5584453847766 -0.1042993171458 0.1662189986326 0.1082297339321 + 0.4454372211944 0.7546740467117 -0.4766645580419 -0.6032704524575 -0.5618001207332 + -0.3428319344940 0.0260954348575 -0.1489788544525 -0.1717162356069 -0.2914269918301 + 0.1840607080241 -0.0255899000658 1.0924323643612 0.4260148927592 0.1239175432774 + -0.9116368030807 -1.2975392383857 0.2389860982057 0.5160804882868 0.1210706506477 + -0.1473192701817 0.8192625410393 0.2152596573607 0.1358353711302 0.6717634613131 + -0.2315709284550 0.1741413084117 -0.0099955470754 0.2616483846714 0.3912502053220 + 0.8749951208333 -0.0431582056181 0.0102692478410 0.1186685028545 0.1946870540726 + 0.4036277185047 0.5928075256653 -0.4496293441759 0.9264124791852 0.1716675841982 + 0.2708051872856 0.4463867931709 -0.4957162076397 -0.0746578010730 0.0073625462495 + 0.0092517223471 -0.0415038367188 0.0045399774768 -0.2776779881357 -0.3091863908603 + -0.1016267540100 -0.0784091348819 -0.0203494059243 -0.2990856988363 0.2401024708934 + 0.0708936055962 0.1431336258523 0.1858443893117 -0.2816923101943 -0.2910022130389 + -0.3135572060018 -0.1521378607704 -0.2453897063581 -0.2726430057341 -0.2421602698082 + -0.3128029713546 -0.1827056998260 -0.3901520035262 -0.1324626884016 0.1607549950922 + -0.1272025961543 -0.2662529289302 -0.2001902105085 1.3322746230916 -0.8843714935272 + 0.0610990084591 -0.2018171772711 -1.2055303456803 -0.2325866875488 0.1081275282523 + -0.1491391559555 -0.5520812407412 -0.0640761380549 0.6765175020195 1.2206531572117 + 0.1078375642360 -0.1028473414486 0.6249292293014 -0.2018181367134 -0.4251848300159 + 0.0381912209677 -0.2839240973504 0.6938189551207 0.4475271058663 1.2439556871932 + 0.0958715552130 0.0848914643322 0.0359333433729 -0.1426658987523 0.3878612432265 + -0.0884002830699 0.2461842525732 -0.3855417641638 0.3610547974928 1.2000221012044 + -0.7619489325768 0.1922710798231 0.2013011272099 0.2597940390654 0.1663268357305 + 0.1773185099443 -0.3741158312170 -0.0338525225587 0.2549708021742 -0.0810650986302 + 0.1224230230427 -0.1934990255791 0.0495785029249 -0.0618816297472 -0.2746687250995 + 0.5713036318631 -0.0364995002901 -0.1983132283451 -0.3268392300109 -0.3482902774445 + 0.6538801814102 -0.4113836580166 -0.2305353676706 -0.5778250045389 -0.3598740944450 + 0.2736443710983 -0.1128910933430 -0.0919988917993 -0.4368560396096 -0.2305403790951 + 0.6649323339792 0.0709828831945 -0.0033436631396 0.1057717177900 -0.1460299227050 + -0.1389142008027 -0.1475847298953 0.0780163595712 0.0258466155780 -0.1789616940560 + -0.0373947792796 0.2148420813297 -0.0431798011847 -0.0146104312043 -0.1480239599857 + -0.0847080878942 0.2039926538485 -0.2010381944098 -0.2668431937612 -0.3216515425436 + -0.2596890571364 0.4936195382822 -0.1860180745114 -0.2074354118557 -0.2416732831209 + -0.2666376819098 -0.0908097400915 -0.1289920784494 0.0335866638839 -0.2518965413050 + 0.0674487132870 0.8915640476571 0.7651062195186 -0.1737237449531 -0.4109639542841 + 0.1298528884941 0.4157590846198 -0.4396218718418 0.4188550271970 -0.0968598586540 + 0.4380015939459 0.5274261605942 0.4817745745905 -0.1670330165165 0.0672294110689 + -0.1621708597271 -0.1891426446188 -0.5498956343431 -0.2262600980463 0.5589639856567 + 0.1239520142574 0.3232100994997 0.9701165829357 -0.4243827247698 -0.1907722239427 + -0.3252703454469 -0.2813430915954 -0.0354802312175 0.2331764896939 -0.1601162478960 + 0.3928971102942 0.3584634396318 -1.6846550738145 0.5632377845138 0.3377503176471 + -0.0405972283898 -0.1126722368764 0.1169922293148 0.2868564429577 0.2054722348762 + 0.0146227932877 0.4210830438308 0.3900767602931 -1.6796713374215 -0.0141085808126 + 0.0267583172940 0.1747450657015 -0.0869382873339 0.2294135521442 0.3500471271637 + 0.3153816845778 0.5203183486326 0.2344264371423 -1.0952287735043 0.0360401196553 + 0.3766505356391 0.0690211828188 -0.1291720195852 -0.1391378659197 0.1277323633603 + 0.4358883412432 -0.0930214078514 0.2296762696431 0.3657489953416 0.4448481207998 + -0.2970278559470 0.0082107225834 0.4729868874967 -0.0322408769252 -0.2567544388038 + -0.0394079478990 -0.3276878648768 0.1190393086387 -0.4630355455104 0.1903764089070 + -0.0686929963287 -0.2700398391081 0.1630763502798 0.0039653039953 0.5471048363965 + -0.2121672830401 -0.1387310526842 -0.4748692221685 -0.2179131043939 0.1791359553141 + -0.0691481047346 0.0364693118101 -0.1074750293966 -0.0280347427886 -0.0531915291890 + -0.0027278735969 0.0472166196619 0.0639748960102 -0.2149691753932 0.1703765335668 + -0.8365293274490 -0.2036299287295 -0.3024336780502 0.6313286341753 0.4324479854633 + -0.2212564442055 -0.1902989818823 -0.5341896432760 0.2063449670623 0.1972911567449 + 0.1952633938886 -0.2248277867577 -0.4015108017380 0.0682928813456 0.1196456983654 + 1.0593448000443 -0.2011051575189 -0.1122540932884 -0.7191699683672 -0.5961212611454 + -0.2982400656862 -0.1475683720679 -0.0478394860059 0.0495651850840 -0.2362850664368 + -0.4559405422384 -0.0692926624755 -0.0148035961730 -0.3522265422434 -0.6042574163050 + 0.1875123361167 0.5036468057014 0.2489867456544 0.1906756848081 -0.2642126398248 + -0.6311635481053 -0.2129877266597 0.2904008152973 0.1018749064853 0.0181960006954 + 0.1945223832919 0.6415511824798 0.3522432230794 0.5854281319088 0.4379170307822 + 0.1648737245668 0.7394444442469 -0.3829009998903 0.0560041245747 0.1579916169815 + 0.2501615866544 -0.3289091242248 0.5711076100448 0.3588275108163 0.3369828604279 + 0.2195478789498 0.2864203320072 0.1841745961074 -0.1113560909355 -0.4174258027241 + -0.2575966532337 0.4461193139074 0.3595341872731 -0.1382070858505 -0.0159911642453 + -0.1567014153427 0.0806357834131 -0.2494555963476 -0.2182530605791 -0.0961148334151 + -0.3785090354048 0.0767693764145 0.4786604486863 0.1568926643890 0.0566623778208 + -0.3094365663166 -0.1083766919037 -0.2986844651899 0.2345767514997 -0.0059661611070 + 0.1902232250425 0.3007396332837 0.4012532609389 -0.0776601524775 0.0887931786695 + 0.4013405289830 -0.0921550476990 -0.3615563850377 -0.0073781054302 0.1676596752198 + -0.2268566003739 0.2596695961758 0.1563055924178 -0.8119493930685 -0.0342191707597 + 0.0870489501782 -0.2974632450281 0.1306968350832 0.1784678031175 -0.4884028995396 + -0.1023409886934 0.0559531100516 -0.3279385032663 0.2928797561194 -0.0716663805949 + -0.0190349957267 0.0613799053730 -0.4339274961167 -0.7006893315445 -0.2182992907551 + -0.2609681405818 -0.0185885459265 0.1742618542683 0.8278105797262 -0.5688268645217 + -0.4792864876608 -0.7316222338308 -0.4475501847008 -0.1582773880609 -0.1305552697648 + -0.2538086608846 -0.1678664635166 0.2462902787707 -0.5492441534695 -0.3128240729465 + 0.1049857923344 -0.0330704910625 0.0956870561308 -0.1972193315073 -0.1048020498956 + -0.1061682562857 -0.1047593924707 -0.2964507520524 -0.2578017048300 -0.4019070165651 + 0.0393263343754 0.1406195106286 -0.0853062790799 -0.0047225654714 0.0761059325935 + -0.1435354639704 -0.3039719120447 -0.1568669592638 -0.1740003982441 -0.5880253498919 + -0.0489572853307 0.0220457298206 0.0868809611978 -0.1265508169263 -0.0800482390698 + -0.1234524026091 -0.0121219049785 -0.3047835841705 -0.3699741347267 -0.3479025131708 + -0.2237103203199 0.0309776473568 0.1054531715636 -0.2456114999955 0.0171740317434 + -0.1534204498368 0.0015393121406 -0.0391843066781 -0.1615841309991 -0.2673244607112 + 0.0214007124664 -0.1339223667613 0.0543227945322 -0.1687852155448 -0.0804620409308 + -0.1724371034281 -0.1384011520847 -0.0833851773924 -0.2328384556197 -0.2024054789816 + -0.2320102698623 -0.0455728305404 -0.1232310117814 -0.1415638175694 -0.0587450191320 + 0.1245671209481 -0.0456711386439 -0.1264329406955 -0.1111747027193 -0.0094711310831 + 0.8746357449946 0.0015891946774 0.2237765838820 -0.2115611671441 -0.4005773679195 + -0.2186188633684 -0.1453645274652 -0.2036514323290 -0.0298211838719 -0.2351411896292 + -0.3870269527221 0.5250721712499 -0.1455085902255 -0.1891590874126 -0.2531338044708 + -0.3623391871451 -0.1455624668322 -0.2637835432189 0.0967268579861 0.1262091023974 + 0.0991503171882 0.8407894741334 -0.1888506108661 0.0271133642332 -0.4138397980861 + -0.4048449242738 0.1827704696781 -0.0706675535582 -0.0502436125664 -0.1042334268383 + 0.1707949370808 0.3284897275196 0.0818957864931 0.0392814721250 -0.1833387659320 + 0.0893216359566 0.0763231106540 -0.1839596412801 -0.0344947879819 -0.0792812914101 + 0.1444554612643 -0.0993219107507 0.0649589561109 -0.0966764437673 -0.0391474257378 + -0.0718042907276 -0.0510326987528 0.0874954020808 -0.2550973591885 -0.0126974836540 + 0.1795275097906 0.1101543183550 -0.0995485499980 -0.1751275503398 -0.0359731228901 + -0.1452836760264 -0.0541032661164 -0.2716642394681 -0.5104540803432 -0.0566481480266 + 0.0817172135540 -0.1122245807885 0.0297482550722 -0.0749316464476 -0.0204811962607 + -0.0639507960267 -0.1668705387068 0.3722759373542 0.2136526553985 0.0150012303106 + 0.0603997328772 -0.1097567029358 0.1397793930764 -0.0040445558669 -0.1154439955295 + -0.3701591631754 -0.0595312646604 0.1651745572528 -0.1602767026376 -0.1626919630315 + -0.0675007240727 0.1734640638880 0.1277542922121 -0.0192996025061 -0.1440538146222 + -0.1247820904688 0.0302035441708 0.1316686798346 0.1643643009318 0.0539896790809 + 0.1625339645675 0.1823539567496 0.3634460144592 0.1207046199949 0.0578686179836 + 0.0941689295993 -0.1237971505306 0.1491810141483 -0.0770705141179 -0.2065595244990 + 0.0089263397707 0.0961014773091 0.2140364206986 -0.2163708468276 -0.2097652590745 + -0.1637721527497 0.0204393073684 -0.0106139043140 -0.0506018331394 0.1608831823069 + 0.0653020745598 -0.1954829098091 -0.0307611137052 -0.0115378469285 -0.1461047931131 + 0.0035523460907 -0.5402468972430 -0.4333734271909 0.3871808991651 0.3982942968667 + -0.8733108214666 -0.6905546696240 -0.8806423587757 -0.3197354220301 0.6231176926895 + 0.1388604007147 -0.1367318985738 -0.1411949712371 -0.2705802320621 -0.3449665135980 + -0.0081040886406 -0.0965179875103 -0.4439740653898 -0.4248582686136 -0.0004104724442 + 0.0053370201369 0.2980657389484 0.0334502122417 0.0819999333318 -0.1169849309797 + -0.1596767695407 0.2136850755282 -0.2621010345049 -0.0869758529020 -0.3184408121493 + -0.1206579399187 0.1995314696923 -0.1617366359012 -0.1124458838619 -0.2696291568413 + -0.2029138009744 -0.2026416870784 0.0510599783777 0.1692934578713 0.0844396492460 + -0.1751769965838 -0.1534795159321 0.2127885250648 -0.0856561690561 0.1907353848099 + -0.0138361532750 -0.0480655789029 -0.1272012046007 0.0416270201558 0.2065976758082 + 0.0988493595194 -0.0176964082905 -0.4744037719779 -0.2949523315253 0.3118705497400 + 0.1489691439304 -0.4569175538330 -0.4644897009341 -0.4686168623570 -0.1243054728558 + 0.5732171519706 0.1904896053219 -0.2103352434311 -0.3795352101730 0.0574951703103 + -0.3815644383174 0.0985307776878 -0.0259340090039 -0.2085191025194 0.2110201228876 + 0.2340052956771 -0.3498732231605 -0.0988402172947 -0.1940790287983 0.2660742157027 + 0.0798252876458 0.2279218829521 -0.3316405856822 0.7115928862830 0.7723969088612 + 0.3349444713400 -0.0497704006667 0.1887612653901 0.1279612878363 0.1974428443251 + 0.0658477720105 -0.2305151128541 -0.1247363598405 0.1178605543768 0.3570210956889 + -0.1204677179984 -0.3879495282948 -0.1219409546575 -0.3573611388182 0.3281661470559 + -0.1902806689623 -0.2716112953705 0.0830330364636 -0.1578261726584 -0.0994840276723 + 0.1897574923466 0.0992230533211 0.1276570722926 -0.4546854120255 -0.1836046126462 + 0.1539256939837 0.0387381375615 -0.1707388754077 0.3056841191317 0.1034545056807 + -0.1189619476757 0.6363824120801 0.1042674354613 0.1333633803582 -0.1622687430124 + -0.0897454482076 0.1708797441326 0.2868923216527 0.0277641973893 -0.1791665666371 + -0.3176474905621 -0.0061446861913 -0.0161385152018 0.1738887663948 0.0208887791735 + -0.0320567148133 -0.0730146550801 -0.0470228989655 0.0834656204265 -0.0233593165817 + -0.2052942640539 -0.0431692803469 -0.2366994435096 0.1849125314854 -0.0643179085590 + -0.0088101155797 -0.2350930514721 -0.2791829346342 0.0945329648928 0.0068964862844 + -0.0712883926756 -0.1754196742000 -0.4150465134868 -0.4320468295210 -0.2447975183043 + 0.1960976634210 -0.4307520361914 -0.2063984002846 -0.2480057268925 -0.0820093912801 + 0.0660477467766 0.1769199080810 0.0072956097283 -0.0799041994372 -0.2899420838166 + -0.4369141960078 0.7189088286830 0.3163475833145 -0.8137264081246 0.3439733571036 + -0.1878989767113 -0.1104570273397 1.1720380395723 0.1303453425092 0.0366319333275 + -0.5273326142452 -0.3340415625742 -0.1183805290179 0.0253960559615 0.1809779542769 + -0.9338279630235 -0.3338827912382 -0.0414641467582 0.1875909526505 0.2023114370903 + 0.1821986225696 -0.4841920377164 -0.3672659774414 -0.2560262915836 -0.1794602414659 + -0.4710940323449 -0.7267786564363 -0.3848973015652 0.0131471778865 -0.1416931043725 + -0.0062759865543 -0.0176786818303 -0.2892970475287 -1.9877373273863 -0.0857983129657 + 0.3632455559432 0.2256244524453 -0.3175640453009 0.1235831888525 1.3675895000900 + 0.6094018739680 0.0106519517753 1.0631117686475 -1.0188789294824 0.5078419912585 + 0.7342404388578 0.1929388215830 0.7192101094887 1.3393750566441 1.2057785028366 + From b4e9e990675872cf1ae889bde61d79d050dd9dae Mon Sep 17 00:00:00 2001 From: macstein <31542628+macstein@users.noreply.github.com> Date: Wed, 9 Jun 2021 20:44:32 -0700 Subject: [PATCH 177/726] Delete dump.myforce.0 --- examples/mliap/dump.myforce.0 | 19 ------------------- 1 file changed, 19 deletions(-) delete mode 100644 examples/mliap/dump.myforce.0 diff --git a/examples/mliap/dump.myforce.0 b/examples/mliap/dump.myforce.0 deleted file mode 100644 index d07a85b3c7..0000000000 --- a/examples/mliap/dump.myforce.0 +++ /dev/null @@ -1,19 +0,0 @@ -ITEM: TIMESTEP -0 -ITEM: NUMBER OF ATOMS -10 -ITEM: BOX BOUNDS pp pp pp -0.0000000000000000e+00 5.7209004999999999e+00 -0.0000000000000000e+00 5.7209004999999999e+00 -0.0000000000000000e+00 3.5556619999999999e+00 -ITEM: ATOMS id type fx fy fz -1 1 1.72085e-15 3.09128e-15 9.31869e-17 -5 2 0.050938 -0.032908 -1.25321e-16 -10 2 -0.050938 0.032908 9.15529e-17 -3 2 0.032908 0.050938 -1.38233e-16 -8 2 -0.032908 -0.050938 -1.22814e-17 -4 2 -0.032908 -0.050938 9.26486e-17 -7 2 0.032908 0.050938 -3.02615e-17 -2 1 -4.44089e-16 -3.19189e-16 -6.33482e-17 -6 2 -0.050938 0.032908 -3.00332e-17 -9 2 0.050938 -0.032908 3.78648e-17 From 399de7dbf8139b29f4116265708d3c7ab87008bc Mon Sep 17 00:00:00 2001 From: macstein <31542628+macstein@users.noreply.github.com> Date: Wed, 9 Jun 2021 20:44:45 -0700 Subject: [PATCH 178/726] Delete dump.myforce.1 --- examples/mliap/dump.myforce.1 | 19 ------------------- 1 file changed, 19 deletions(-) delete mode 100644 examples/mliap/dump.myforce.1 diff --git a/examples/mliap/dump.myforce.1 b/examples/mliap/dump.myforce.1 deleted file mode 100644 index c9fd04f390..0000000000 --- a/examples/mliap/dump.myforce.1 +++ /dev/null @@ -1,19 +0,0 @@ -ITEM: TIMESTEP -1 -ITEM: NUMBER OF ATOMS -10 -ITEM: BOX BOUNDS pp pp pp -0.0000000000000000e+00 5.7209004999999999e+00 -0.0000000000000000e+00 5.7209004999999999e+00 -0.0000000000000000e+00 3.5556619999999999e+00 -ITEM: ATOMS id type fx fy fz -1 1 -0.000729125 -0.000714994 -0.00220841 -5 2 0.0496682 -0.0324377 0.00038266 -10 2 -0.0530431 0.0329728 0.000550495 -3 2 0.0332856 0.052411 0.000870549 -8 2 -0.032953 -0.0497086 0.00132549 -4 2 -0.0320752 -0.0521202 0.00124439 -7 2 0.0338522 0.050681 -0.00121784 -2 1 0.00165517 -0.00250976 -0.000302692 -6 2 -0.050105 0.0339082 0.000826425 -9 2 0.0504443 -0.0324816 -0.00147106 From 06aa6b737e7b97837b3a86e741f989ada45e5730 Mon Sep 17 00:00:00 2001 From: macstein <31542628+macstein@users.noreply.github.com> Date: Wed, 9 Jun 2021 20:44:56 -0700 Subject: [PATCH 179/726] Delete dump.myforce.2 --- examples/mliap/dump.myforce.2 | 19 ------------------- 1 file changed, 19 deletions(-) delete mode 100644 examples/mliap/dump.myforce.2 diff --git a/examples/mliap/dump.myforce.2 b/examples/mliap/dump.myforce.2 deleted file mode 100644 index 71b1e05781..0000000000 --- a/examples/mliap/dump.myforce.2 +++ /dev/null @@ -1,19 +0,0 @@ -ITEM: TIMESTEP -2 -ITEM: NUMBER OF ATOMS -10 -ITEM: BOX BOUNDS pp pp pp -0.0000000000000000e+00 5.7209004999999999e+00 -0.0000000000000000e+00 5.7209004999999999e+00 -0.0000000000000000e+00 3.5556619999999999e+00 -ITEM: ATOMS id type fx fy fz -1 1 -0.00145405 -0.0014157 -0.00437929 -5 2 0.0484153 -0.0319671 0.000741695 -10 2 -0.0551658 0.0330298 0.00107644 -3 2 0.033659 0.0539066 0.0017504 -8 2 -0.0329891 -0.0484647 0.00266786 -4 2 -0.03122 -0.0532983 0.00250335 -7 2 0.034752 0.0504247 -0.00242198 -2 1 0.00333417 -0.00505301 -0.000618701 -6 2 -0.0492679 0.0349087 0.00163536 -9 2 0.0499364 -0.0320709 -0.00295513 From e64ec4647a848d28ae7873ea537f638ce9d32417 Mon Sep 17 00:00:00 2001 From: macstein <31542628+macstein@users.noreply.github.com> Date: Wed, 9 Jun 2021 20:45:06 -0700 Subject: [PATCH 180/726] Delete dump.myforce.3 --- examples/mliap/dump.myforce.3 | 19 ------------------- 1 file changed, 19 deletions(-) delete mode 100644 examples/mliap/dump.myforce.3 diff --git a/examples/mliap/dump.myforce.3 b/examples/mliap/dump.myforce.3 deleted file mode 100644 index ffd25bf563..0000000000 --- a/examples/mliap/dump.myforce.3 +++ /dev/null @@ -1,19 +0,0 @@ -ITEM: TIMESTEP -3 -ITEM: NUMBER OF ATOMS -10 -ITEM: BOX BOUNDS pp pp pp -0.0000000000000000e+00 5.7209004999999999e+00 -0.0000000000000000e+00 5.7209004999999999e+00 -0.0000000000000000e+00 3.5556619999999999e+00 -ITEM: ATOMS id type fx fy fz -1 1 -0.00217493 -0.0021024 -0.00651463 -5 2 0.0471778 -0.0314961 0.00107734 -10 2 -0.0573094 0.0330784 0.00157862 -3 2 0.0340287 0.0554264 0.0026393 -8 2 -0.0330162 -0.0472058 0.00402941 -4 2 -0.030341 -0.0544744 0.00377712 -7 2 0.03561 0.0501692 -0.00361334 -2 1 0.00503727 -0.00762942 -0.000948075 -6 2 -0.048426 0.0359101 0.00242874 -9 2 0.0494137 -0.031676 -0.00445449 From 7dda30a198f580762c8427f79d134a7766cec6ac Mon Sep 17 00:00:00 2001 From: jtclemm Date: Thu, 10 Jun 2021 11:40:09 -0600 Subject: [PATCH 181/726] Adding type filter --- doc/src/compute_fabric.rst | 35 ++++++++++++++-- src/GRANULAR/compute_fabric.cpp | 74 ++++++++++++++++++++++++++++++--- src/GRANULAR/compute_fabric.h | 1 + 3 files changed, 100 insertions(+), 10 deletions(-) diff --git a/doc/src/compute_fabric.rst b/doc/src/compute_fabric.rst index c99fca4a5e..e76e745f52 100644 --- a/doc/src/compute_fabric.rst +++ b/doc/src/compute_fabric.rst @@ -8,7 +8,7 @@ Syntax .. parsed-literal:: - compute ID group-ID fabric cutoff attribute1 attribute2 ... + compute ID group-ID fabric cutoff attribute1 attribute2 ... keyword values ... * ID, group-ID are documented in :doc:`compute ` command * fabric = style name of this compute command @@ -28,19 +28,27 @@ Syntax *force/normal* = normal force tensor *force/tangential* = tangential force tensor +* zero or more keyword/value pairs may be appended +* keyword = *type/include* + + .. parsed-literal:: + + *type/include* value = arg1 arg2 + arg = separate lists of types (see below) + Examples """""""" .. code-block:: LAMMPS - compute 1 all fabric type contact force/normal + compute 1 all fabric type contact force/normal type/include 1,2 3*4 compute 1 all fabric radius force/normal force/tangential Description """"""""""" Define a computation that calculates various fabric tensors for pairwise -interactions. The *type* and *radius* settings are used to select whether +interactions :ref:`(Ouadfel) `. The *type* and *radius* settings are used to select whether the compute will be used used with regular interactions with cutoffs determined by atom types or with granular interactions with interaction lengths determined by particle radii, respectively. @@ -103,7 +111,7 @@ as .. math:: - F^t_{ab} = \frac{15}{9 tr(N)} (T_{ab} - tr(T) \delta_{ab}) + F^t_{ab} = \frac{15}{9 \mathrm{tr}(N)} (T_{ab} - ]mathrm{tr}(T) \delta_{ab}) where the tensor :math:`T` is defined as @@ -115,6 +123,17 @@ where the tensor :math:`T` is defined as where :math:`f_t` is the magnitude of the tagential force between the two atoms. +The *type/include* keyword filters interactions based on the types of the two atoms. +Interactions between two atoms are only included in calculations if the atom types +are in the two lists. Each list consists of a series of type +ranges separated by commas. The range can be specified as a +single numeric value, or a wildcard asterisk can be used to specify a range +of values. This takes the form "\*" or "\*n" or "n\*" or "m\*n". For +example, if M = the number of atom types, then an asterisk with no numeric +values means all types from 1 to M. A leading asterisk means all types +from 1 to n (inclusive). A trailing asterisk means all types from n to M +(inclusive). A middle asterisk means all types from m to n (inclusive). +Multiple *type/include* keywords may be added. Output info """"""""""" @@ -149,3 +168,11 @@ Default """"""" none + +---------- + +.. _Ouadfel: + +**(Ouadfel)** Ouadfel and Rothenburg +"Stress-force-fabric relationship for assemblies of ellipsoids", +Mechanics of Materials (2001). (`link to paper `_) diff --git a/src/GRANULAR/compute_fabric.cpp b/src/GRANULAR/compute_fabric.cpp index 4f2bec72b3..7636c1024c 100644 --- a/src/GRANULAR/compute_fabric.cpp +++ b/src/GRANULAR/compute_fabric.cpp @@ -16,14 +16,18 @@ #include #include #include "atom.h" -#include "update.h" +#include "error.h" #include "force.h" -#include "pair.h" +#include "memory.h" #include "modify.h" #include "neighbor.h" #include "neigh_request.h" #include "neigh_list.h" -#include "error.h" +#include "pair.h" +#include "tokenizer.h" +#include "update.h" + +#include using namespace LAMMPS_NS; @@ -35,7 +39,7 @@ enum{CN,BR,FN,FT}; ComputeFabric::ComputeFabric(LAMMPS *lmp, int narg, char **arg) : Compute(lmp, narg, arg), - tensor_style(NULL), vector(NULL) + tensor_style(NULL) { if (narg < 3) error->all(FLERR,"Illegal compute fabric command"); @@ -53,6 +57,7 @@ ComputeFabric::ComputeFabric(LAMMPS *lmp, int narg, char **arg) : br_flag = 0; fn_flag = 0; ft_flag = 0; + type_filter = nullptr; ntensors = 0; int iarg = 4; @@ -69,6 +74,54 @@ ComputeFabric::ComputeFabric(LAMMPS *lmp, int narg, char **arg) : } else if (strcmp(arg[iarg],"force/tangential") == 0) { ft_flag = 1; tensor_style[ntensors++] = FT; + } else if (strcmp(arg[iarg], "type/include") == 0) { + if (iarg + 1 >= narg) error->all(FLERR, "Invalid keyword in compute fabric command"); + int ntypes = atom->ntypes; + + int i, j, itype, jtype, in, jn, infield, jnfield; + int inlo, inhi, jnlo, jnhi; + char *istr, *jstr; + if (!type_filter) { + memory->create(type_filter, ntypes + 1, ntypes + 1, "compute/fabric:type_filter"); + + for (i = 0; i <= ntypes; i++) { + for (j = 0; j <= ntypes; j++) { type_filter[i][j] = 0; } + } + } + + in = strlen(arg[iarg + 1]) + 1; + istr = new char[in]; + strcpy(istr, arg[iarg + 1]); + std::vector iwords = Tokenizer(istr, ",").as_vector(); + infield = iwords.size(); + + jn = strlen(arg[iarg + 2]) + 1; + jstr = new char[jn]; + strcpy(jstr, arg[iarg + 2]); + std::vector jwords = Tokenizer(jstr, ",").as_vector(); + jnfield = jwords.size(); + + for (i = 0; i < infield; i++) { + const char *ifield = iwords[i].c_str(); + utils::bounds(FLERR, ifield, 1, ntypes, inlo, inhi, error); + + for (j = 0; j < jnfield; j++) { + const char *jfield = jwords[j].c_str(); + utils::bounds(FLERR, jfield, 1, ntypes, jnlo, jnhi, error); + + for (itype = inlo; itype <= inhi; itype++) { + for (jtype = jnlo; jtype <= jnhi; jtype++) { + type_filter[itype][jtype] = 1; + type_filter[jtype][itype] = 1; + } + } + } + } + + delete[] istr; + delete[] jstr; + + iarg += 2; } else error->all(FLERR,"Illegal compute fabric command"); iarg++; } @@ -86,6 +139,7 @@ ComputeFabric::~ComputeFabric() { delete [] vector; delete [] tensor_style; + memory->destroy(type_filter); } /* ---------------------------------------------------------------------- */ @@ -209,11 +263,15 @@ void ComputeFabric::compute_vector() } } + jtype = type[j]; + + if (type_filter) + if (type_filter[itype][jtype] == 0) return; + delx = xtmp - x[j][0]; dely = ytmp - x[j][1]; delz = ztmp - x[j][2]; rsq = delx*delx + dely*dely + delz*delz; - jtype = type[j]; if (cutstyle == TYPE) { if (rsq >= cutsq[itype][jtype]) continue; @@ -303,11 +361,15 @@ void ComputeFabric::compute_vector() } } + jtype = type[j]; + + if (type_filter) + if (type_filter[itype][jtype] == 0) return; + delx = xtmp - x[j][0]; dely = ytmp - x[j][1]; delz = ztmp - x[j][2]; rsq = delx*delx + dely*dely + delz*delz; - jtype = type[j]; if (cutstyle == TYPE) { if (rsq >= cutsq[itype][jtype]) continue; diff --git a/src/GRANULAR/compute_fabric.h b/src/GRANULAR/compute_fabric.h index 99b45daaee..20cef91adc 100644 --- a/src/GRANULAR/compute_fabric.h +++ b/src/GRANULAR/compute_fabric.h @@ -35,6 +35,7 @@ class ComputeFabric : public Compute { private: int ntensors, pstyle, cutstyle; int *tensor_style; + int **type_filter; class NeighList *list; int cn_flag, br_flag, fn_flag, ft_flag; From 06ff2f897aefe4a0606d0068ebe956c32434e31e Mon Sep 17 00:00:00 2001 From: jtclemm Date: Thu, 10 Jun 2021 14:08:19 -0600 Subject: [PATCH 182/726] Fixing typos in documentation and comments --- doc/src/compute_fabric.rst | 32 ++++++++++++++++---------------- src/GRANULAR/compute_fabric.cpp | 1 + 2 files changed, 17 insertions(+), 16 deletions(-) diff --git a/doc/src/compute_fabric.rst b/doc/src/compute_fabric.rst index e76e745f52..0c1f5214f7 100644 --- a/doc/src/compute_fabric.rst +++ b/doc/src/compute_fabric.rst @@ -16,8 +16,8 @@ Syntax .. parsed-literal:: - *type* = cutoffs determined for the types of the two atoms - *radius* = cutoffs determined based on finite size of atoms + *type* = cutoffs determined based on atom types + *radius* = cutoffs determined based on atom diameters (atom style sphere) * one or more attributes may be appended @@ -47,13 +47,12 @@ Examples Description """"""""""" -Define a computation that calculates various fabric tensors for pairwise -interactions :ref:`(Ouadfel) `. The *type* and *radius* settings are used to select whether -the compute will be used used with regular interactions with cutoffs -determined by atom types or with granular interactions with interaction -lengths determined by particle radii, respectively. +Define a computate that calculates various fabric tensors for pairwise +interactions :ref:`(Ouadfel) `. The *type* and *radius* settings +are used to select whether interactions cutoffs are determined by atom types +or by the sum of atomic radii (atom style sphere), respectively. -Four fabric tensors can be computed: a contact, branch, normal force, or +Four fabric tensors are available: the contact, branch, normal force, or tangential force tensor. The contact tensor is calculated as .. math:: @@ -68,9 +67,9 @@ the tensor :math:`\phi` is defined as \phi_{ab} = \sum_{n = 1}^{N_p} \frac{r_{a} r_{b}}{r^2} -where :math:`N_p` is the number of pair interactions in the simulation, +where :math:`n` loops over the :math:`N_p` pair interactions in the simulation, :math:`r_{a}` is the :math:`a` component of the radial vector between the -two particles, and :math:`r` is the magnitude of the radial vector. +two pairwise interacting particles, and :math:`r` is the magnitude of the radial vector. The branch tensor is calculated as @@ -87,7 +86,7 @@ where the tensor :math:`D` is defined as \frac{r_{a} r_{b}}{r} where :math:`N_c` is the total number of contacts in the system and the subscripts -:math:`c` and :math:`d` are summed according to Einstein notation. +:math:`c` and :math:`d` indices are summed according to Einstein notation. The normal force fabric tensor is calculated as @@ -103,7 +102,7 @@ where the tensor :math:`N` is defined as \frac{1}{N_c (r^2 + C_{cd} r_c r_d)} \frac{r_{a} r_{b}}{r^2} f_n -where :math:`f_n` is the magnitude of the normal, central-body force between the two atoms. +and :math:`f_n` is the magnitude of the normal, central-body force between the two atoms. Finally, the tangential force fabric tensor is only defined for pair styles that apply tangential forces to particles, namely granular pair styles. It is calculated @@ -111,7 +110,7 @@ as .. math:: - F^t_{ab} = \frac{15}{9 \mathrm{tr}(N)} (T_{ab} - ]mathrm{tr}(T) \delta_{ab}) + F^t_{ab} = \frac{15}{9 \mathrm{tr}(N)} (T_{ab} - \mathrm{tr}(T) \delta_{ab}) where the tensor :math:`T` is defined as @@ -121,10 +120,10 @@ where the tensor :math:`T` is defined as \frac{1}{N_c (r^2 + C_{cd} r_c r_d)} \frac{r_{a} r_{b}}{r^2} f_t -where :math:`f_t` is the magnitude of the tagential force between the two atoms. +and :math:`f_t` is the magnitude of the tagential force between the two atoms. The *type/include* keyword filters interactions based on the types of the two atoms. -Interactions between two atoms are only included in calculations if the atom types +Interactions between two atoms are only included in calculations if the atom types are in the two lists. Each list consists of a series of type ranges separated by commas. The range can be specified as a single numeric value, or a wildcard asterisk can be used to specify a range @@ -157,7 +156,8 @@ i.e. the kspace_style command in LAMMPS. It also does not support the following fixes which add rigid-body constraints: :doc:`fix shake `, :doc:`fix rattle `, :doc:`fix rigid `, :doc:`fix rigid/small `. It does not support -granular pair styles that extend beyond the contact (e.g. JKR and DMT). +granular pair styles that extend beyond the contact of atomic radii +(e.g. JKR and DMT). Related commands """""""""""""""" diff --git a/src/GRANULAR/compute_fabric.cpp b/src/GRANULAR/compute_fabric.cpp index 7636c1024c..c1cd5c6577 100644 --- a/src/GRANULAR/compute_fabric.cpp +++ b/src/GRANULAR/compute_fabric.cpp @@ -50,6 +50,7 @@ ComputeFabric::ComputeFabric(LAMMPS *lmp, int narg, char **arg) : if (cutstyle == RADIUS && !atom->radius_flag) error->all(FLERR,"Compute fabric radius style requires atom attribute radius"); + // If optional arguments included, this will be oversized ntensors = narg - 4; tensor_style = new int[ntensors]; From c9d38b7b6d53b291e62837c6b4e32ffa47b0d048 Mon Sep 17 00:00:00 2001 From: jtclemm Date: Thu, 10 Jun 2021 15:16:15 -0600 Subject: [PATCH 183/726] Mention contact number in documentation --- doc/src/compute_fabric.rst | 8 ++++---- src/GRANULAR/compute_fabric.cpp | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/doc/src/compute_fabric.rst b/doc/src/compute_fabric.rst index 0c1f5214f7..2a7a6fada8 100644 --- a/doc/src/compute_fabric.rst +++ b/doc/src/compute_fabric.rst @@ -138,10 +138,10 @@ Output info """"""""""" This compute calculates a local vector of doubles. The vector stores the -unique components of the first requested tensor in the order -xx, yy, zz, xy, xz, yz followed by the same components for all -subsequent tensors. The length of the vector is therefore six times -the number of requested tensors. +unique components of the first requested tensor in the order xx, yy, zz, xy, xz, yz +followed by the same components for all subsequent tensors. The final entry is the +number of pairwise interactions included in the calculation of the fabric tensor. +The length of the vector is therefore six times the number of requested tensors plus one. Restrictions """""""""""" diff --git a/src/GRANULAR/compute_fabric.cpp b/src/GRANULAR/compute_fabric.cpp index c1cd5c6577..bb89a5c020 100644 --- a/src/GRANULAR/compute_fabric.cpp +++ b/src/GRANULAR/compute_fabric.cpp @@ -365,7 +365,7 @@ void ComputeFabric::compute_vector() jtype = type[j]; if (type_filter) - if (type_filter[itype][jtype] == 0) return; + if (type_filter[itype][jtype] == 0) continue; delx = xtmp - x[j][0]; dely = ytmp - x[j][1]; From 406d2c4eb21d549a69d6c86d6a643835a5adbd42 Mon Sep 17 00:00:00 2001 From: jtclemm Date: Thu, 10 Jun 2021 15:18:55 -0600 Subject: [PATCH 184/726] typo in compute_fabric.cpp --- src/GRANULAR/compute_fabric.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/GRANULAR/compute_fabric.cpp b/src/GRANULAR/compute_fabric.cpp index bb89a5c020..e224aefd3d 100644 --- a/src/GRANULAR/compute_fabric.cpp +++ b/src/GRANULAR/compute_fabric.cpp @@ -267,7 +267,7 @@ void ComputeFabric::compute_vector() jtype = type[j]; if (type_filter) - if (type_filter[itype][jtype] == 0) return; + if (type_filter[itype][jtype] == 0) continue; delx = xtmp - x[j][0]; dely = ytmp - x[j][1]; From 59b83a6f273db3e8d1bc72c6f184b8d808b4709e Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 10 Jun 2021 23:06:29 -0400 Subject: [PATCH 185/726] simplify --- src/GRANULAR/compute_fabric.cpp | 28 ++++++++++++---------------- 1 file changed, 12 insertions(+), 16 deletions(-) diff --git a/src/GRANULAR/compute_fabric.cpp b/src/GRANULAR/compute_fabric.cpp index e224aefd3d..34e5f6346b 100644 --- a/src/GRANULAR/compute_fabric.cpp +++ b/src/GRANULAR/compute_fabric.cpp @@ -122,13 +122,14 @@ ComputeFabric::ComputeFabric(LAMMPS *lmp, int narg, char **arg) : delete[] istr; delete[] jstr; - iarg += 2; - } else error->all(FLERR,"Illegal compute fabric command"); + iarg += 2; + } else + error->all(FLERR, "Illegal compute fabric command"); iarg++; } vector_flag = 1; - size_vector = 1+ntensors*6; + size_vector = 1 + ntensors * 6; extvector = 0; vector = new double[size_vector]; @@ -138,8 +139,8 @@ ComputeFabric::ComputeFabric(LAMMPS *lmp, int narg, char **arg) : ComputeFabric::~ComputeFabric() { - delete [] vector; - delete [] tensor_style; + delete[] vector; + delete[] tensor_style; memory->destroy(type_filter); } @@ -147,30 +148,25 @@ ComputeFabric::~ComputeFabric() void ComputeFabric::init() { - if (force->pair == NULL) - error->all(FLERR,"No pair style is defined for compute fabric"); + if (force->pair == NULL) error->all(FLERR, "No pair style is defined for compute fabric"); if (force->pair->single_enable == 0 && (fn_flag || ft_flag)) - error->all(FLERR,"Pair style does not support compute fabric normal or tangential force"); + error->all(FLERR, "Pair style does not support compute fabric normal or tangential force"); // Find if granular or gran pstyle = OTHER; - if (force->pair_match("granular",0) || - force->pair_match("gran/hooke",0) || - force->pair_match("gran/hertz",0) || - force->pair_match("gran/hooke/history",0) || - force->pair_match("gran/hertz/history",0)) pstyle = GRANULAR; + if (force->pair_match("^granular", 0) || force->pair_match("^gran/", 0)) pstyle = GRANULAR; if (pstyle != GRANULAR && ft_flag) - error->all(FLERR,"Pair style does not calculate tangential forces for compute fabric"); + error->all(FLERR, "Pair style does not calculate tangential forces for compute fabric"); - if(force->pair->beyond_contact) + if (force->pair->beyond_contact) error->all(FLERR, "Compute fabric does not support pair styles that extend beyond contact"); // need an occasional half neighbor list // set size to same value as request made by force->pair // this should enable it to always be a copy list (e.g. for granular pstyle) - int irequest = neighbor->request(this,instance_me); + int irequest = neighbor->request(this, instance_me); neighbor->requests[irequest]->pair = 0; neighbor->requests[irequest]->compute = 1; neighbor->requests[irequest]->occasional = 1; From ae3a4dbf0d342480d809ae75d74c4c3d30184ec5 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 10 Jun 2021 23:07:07 -0400 Subject: [PATCH 186/726] apply clang-format --- src/GRANULAR/compute_fabric.cpp | 244 ++++++++++++++++---------------- src/GRANULAR/compute_fabric.h | 8 +- 2 files changed, 126 insertions(+), 126 deletions(-) diff --git a/src/GRANULAR/compute_fabric.cpp b/src/GRANULAR/compute_fabric.cpp index 34e5f6346b..7fc7641799 100644 --- a/src/GRANULAR/compute_fabric.cpp +++ b/src/GRANULAR/compute_fabric.cpp @@ -12,43 +12,44 @@ ------------------------------------------------------------------------- */ #include "compute_fabric.h" -#include -#include -#include + #include "atom.h" #include "error.h" #include "force.h" #include "memory.h" #include "modify.h" -#include "neighbor.h" -#include "neigh_request.h" #include "neigh_list.h" +#include "neigh_request.h" +#include "neighbor.h" #include "pair.h" #include "tokenizer.h" #include "update.h" -#include +#include +#include using namespace LAMMPS_NS; -enum{OTHER,GRANULAR}; -enum{TYPE,RADIUS}; -enum{CN,BR,FN,FT}; +enum { OTHER, GRANULAR }; +enum { TYPE, RADIUS }; +enum { CN, BR, FN, FT }; /* ---------------------------------------------------------------------- */ ComputeFabric::ComputeFabric(LAMMPS *lmp, int narg, char **arg) : - Compute(lmp, narg, arg), - tensor_style(NULL) + Compute(lmp, narg, arg), tensor_style(NULL) { - if (narg < 3) error->all(FLERR,"Illegal compute fabric command"); + if (narg < 3) error->all(FLERR, "Illegal compute fabric command"); - if (strcmp(arg[3],"type") == 0) cutstyle = TYPE; - else if (strcmp(arg[3],"radius") == 0) cutstyle = RADIUS; - else error->all(FLERR,"Illegal compute fabric command"); + if (strcmp(arg[3], "type") == 0) + cutstyle = TYPE; + else if (strcmp(arg[3], "radius") == 0) + cutstyle = RADIUS; + else + error->all(FLERR, "Illegal compute fabric command"); if (cutstyle == RADIUS && !atom->radius_flag) - error->all(FLERR,"Compute fabric radius style requires atom attribute radius"); + error->all(FLERR, "Compute fabric radius style requires atom attribute radius"); // If optional arguments included, this will be oversized ntensors = narg - 4; @@ -63,16 +64,16 @@ ComputeFabric::ComputeFabric(LAMMPS *lmp, int narg, char **arg) : ntensors = 0; int iarg = 4; while (iarg < narg) { - if (strcmp(arg[iarg],"contact") == 0) { + if (strcmp(arg[iarg], "contact") == 0) { cn_flag = 1; tensor_style[ntensors++] = CN; - } else if (strcmp(arg[iarg],"branch") == 0) { + } else if (strcmp(arg[iarg], "branch") == 0) { br_flag = 1; tensor_style[ntensors++] = BR; - } else if (strcmp(arg[iarg],"force/normal") == 0) { + } else if (strcmp(arg[iarg], "force/normal") == 0) { fn_flag = 1; tensor_style[ntensors++] = FN; - } else if (strcmp(arg[iarg],"force/tangential") == 0) { + } else if (strcmp(arg[iarg], "force/tangential") == 0) { ft_flag = 1; tensor_style[ntensors++] = FT; } else if (strcmp(arg[iarg], "type/include") == 0) { @@ -185,12 +186,12 @@ void ComputeFabric::init_list(int /*id*/, NeighList *ptr) void ComputeFabric::compute_vector() { - int i,j,ii,jj,inum,jnum,itype,jtype; - tagint itag,jtag; - double xtmp,ytmp,ztmp,delx,dely,delz; - double r,rinv,rsq,radsum,eng,fpair; + int i, j, ii, jj, inum, jnum, itype, jtype; + tagint itag, jtag; + double xtmp, ytmp, ztmp, delx, dely, delz; + double r, rinv, rsq, radsum, eng, fpair; - double nx, ny, nz, fx, fy ,fz; + double nx, ny, nz, fx, fy, fz; double ncinv, denom, fn, ft, prefactor; double cn_tensor[6], br_tensor[6], ft_tensor[6], fn_tensor[6]; double trace_phi, trace_D, trace_Xfn, trace_Xft; @@ -202,7 +203,7 @@ void ComputeFabric::compute_vector() int nc, temp_int; double temp_dbl[6]; - int *ilist,*jlist,*numneigh,**firstneigh; + int *ilist, *jlist, *numneigh, **firstneigh; double **x = atom->x; double *radius = atom->radius; @@ -248,9 +249,9 @@ void ComputeFabric::compute_vector() if (newton_pair == 0 && j >= nlocal) { jtag = tag[j]; if (itag > jtag) { - if ((itag+jtag) % 2 == 0) continue; + if ((itag + jtag) % 2 == 0) continue; } else if (itag < jtag) { - if ((itag+jtag) % 2 == 1) continue; + if ((itag + jtag) % 2 == 1) continue; } else { if (x[j][2] < ztmp) continue; if (x[j][2] == ztmp) { @@ -261,64 +262,64 @@ void ComputeFabric::compute_vector() } jtype = type[j]; - - if (type_filter) + + if (type_filter) if (type_filter[itype][jtype] == 0) continue; delx = xtmp - x[j][0]; dely = ytmp - x[j][1]; delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; + rsq = delx * delx + dely * dely + delz * delz; if (cutstyle == TYPE) { if (rsq >= cutsq[itype][jtype]) continue; } else { radsum = radius[i] + radius[j]; - if (rsq >= radsum*radsum) continue; + if (rsq >= radsum * radsum) continue; } nc += 1; r = sqrt(rsq); - rinv = 1.0/r; - nx = delx*rinv; - ny = dely*rinv; - nz = delz*rinv; + rinv = 1.0 / r; + nx = delx * rinv; + ny = dely * rinv; + nz = delz * rinv; - phi_ij[0] += nx*nx; - phi_ij[1] += ny*ny; - phi_ij[2] += nz*nz; - phi_ij[3] += nx*ny; - phi_ij[4] += nx*nz; - phi_ij[5] += ny*nz; + phi_ij[0] += nx * nx; + phi_ij[1] += ny * ny; + phi_ij[2] += nz * nz; + phi_ij[3] += nx * ny; + phi_ij[4] += nx * nz; + phi_ij[5] += ny * nz; } } //Count total contacts across processors - MPI_Allreduce(&nc,&temp_int,1,MPI_INT,MPI_SUM,world); + MPI_Allreduce(&nc, &temp_int, 1, MPI_INT, MPI_SUM, world); nc = temp_int; // If no contacts, everything will be zero if (nc == 0) { - for (i = 0; i < size_vector; i ++) vector[i] = 0.0; + for (i = 0; i < size_vector; i++) vector[i] = 0.0; return; } - vector[ntensors*6] = nc; - ncinv = 1.0/nc; + vector[ntensors * 6] = nc; + ncinv = 1.0 / nc; //Sum phi across processors - MPI_Allreduce(phi_ij,temp_dbl,6,MPI_DOUBLE,MPI_SUM,world); - for (i = 0; i < 6; i++) phi_ij[i] = temp_dbl[i]*ncinv; + MPI_Allreduce(phi_ij, temp_dbl, 6, MPI_DOUBLE, MPI_SUM, world); + for (i = 0; i < 6; i++) phi_ij[i] = temp_dbl[i] * ncinv; - trace_phi = (1.0/3.0)*(phi_ij[0]+phi_ij[1]+phi_ij[2]); + trace_phi = (1.0 / 3.0) * (phi_ij[0] + phi_ij[1] + phi_ij[2]); - Ac_ij[0] = (15.0/2.0)*(phi_ij[0] - trace_phi); - Ac_ij[1] = (15.0/2.0)*(phi_ij[1] - trace_phi); - Ac_ij[2] = (15.0/2.0)*(phi_ij[2] - trace_phi); - Ac_ij[3] = (15.0/2.0)*(phi_ij[3]); - Ac_ij[4] = (15.0/2.0)*(phi_ij[4]); - Ac_ij[5] = (15.0/2.0)*(phi_ij[5]); + Ac_ij[0] = (15.0 / 2.0) * (phi_ij[0] - trace_phi); + Ac_ij[1] = (15.0 / 2.0) * (phi_ij[1] - trace_phi); + Ac_ij[2] = (15.0 / 2.0) * (phi_ij[2] - trace_phi); + Ac_ij[3] = (15.0 / 2.0) * (phi_ij[3]); + Ac_ij[4] = (15.0 / 2.0) * (phi_ij[4]); + Ac_ij[5] = (15.0 / 2.0) * (phi_ij[5]); // If needed, loop through and calculate other fabric tensors if (br_flag || fn_flag || ft_flag) { @@ -346,9 +347,9 @@ void ComputeFabric::compute_vector() if (newton_pair == 0 && j >= nlocal) { jtag = tag[j]; if (itag > jtag) { - if ((itag+jtag) % 2 == 0) continue; + if ((itag + jtag) % 2 == 0) continue; } else if (itag < jtag) { - if ((itag+jtag) % 2 == 1) continue; + if ((itag + jtag) % 2 == 1) continue; } else { if (x[j][2] < ztmp) continue; if (x[j][2] == ztmp) { @@ -359,63 +360,62 @@ void ComputeFabric::compute_vector() } jtype = type[j]; - - if (type_filter) - if (type_filter[itype][jtype] == 0) continue; + + if (type_filter) + if (type_filter[itype][jtype] == 0) continue; delx = xtmp - x[j][0]; dely = ytmp - x[j][1]; delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; + rsq = delx * delx + dely * dely + delz * delz; if (cutstyle == TYPE) { if (rsq >= cutsq[itype][jtype]) continue; } else { radsum = radius[i] + radius[j]; - if (rsq >= radsum*radsum) continue; + if (rsq >= radsum * radsum) continue; } - if (fn_flag || ft_flag) - eng = pair->single(i,j,itype,jtype,rsq,1.0,1.0,fpair); + if (fn_flag || ft_flag) eng = pair->single(i, j, itype, jtype, rsq, 1.0, 1.0, fpair); r = sqrt(rsq); - rinv = 1.0/r; - nx = delx*rinv; - ny = dely*rinv; - nz = delz*rinv; + rinv = 1.0 / r; + nx = delx * rinv; + ny = dely * rinv; + nz = delz * rinv; - denom = 1 + Ac_ij[0]*nx*nx + Ac_ij[1]*ny*ny + Ac_ij[2]*nz*nz; - denom += 2*Ac_ij[3]*nx*ny + 2*Ac_ij[4]*nx*nz + 2*Ac_ij[5]*ny*nz; - prefactor = ncinv/denom; + denom = 1 + Ac_ij[0] * nx * nx + Ac_ij[1] * ny * ny + Ac_ij[2] * nz * nz; + denom += 2 * Ac_ij[3] * nx * ny + 2 * Ac_ij[4] * nx * nz + 2 * Ac_ij[5] * ny * nz; + prefactor = ncinv / denom; if (br_flag) { - D_ij[0] += prefactor*nx*nx*r; - D_ij[1] += prefactor*ny*ny*r; - D_ij[2] += prefactor*nz*nz*r; - D_ij[3] += prefactor*nx*ny*r; - D_ij[4] += prefactor*nx*nz*r; - D_ij[5] += prefactor*ny*nz*r; + D_ij[0] += prefactor * nx * nx * r; + D_ij[1] += prefactor * ny * ny * r; + D_ij[2] += prefactor * nz * nz * r; + D_ij[3] += prefactor * nx * ny * r; + D_ij[4] += prefactor * nx * nz * r; + D_ij[5] += prefactor * ny * nz * r; } if (fn_flag || ft_flag) { - fn = r*fpair; + fn = r * fpair; - Xfn_ij[0] += prefactor*nx*nx*fn; - Xfn_ij[1] += prefactor*ny*ny*fn; - Xfn_ij[2] += prefactor*nz*nz*fn; - Xfn_ij[3] += prefactor*nx*ny*fn; - Xfn_ij[4] += prefactor*nx*nz*fn; - Xfn_ij[5] += prefactor*ny*nz*fn; + Xfn_ij[0] += prefactor * nx * nx * fn; + Xfn_ij[1] += prefactor * ny * ny * fn; + Xfn_ij[2] += prefactor * nz * nz * fn; + Xfn_ij[3] += prefactor * nx * ny * fn; + Xfn_ij[4] += prefactor * nx * nz * fn; + Xfn_ij[5] += prefactor * ny * nz * fn; if (ft_flag) { ft = force->pair->svector[3]; - Xft_ij[0] += prefactor*nx*nx*ft; - Xft_ij[1] += prefactor*ny*ny*ft; - Xft_ij[2] += prefactor*nz*nz*ft; - Xft_ij[3] += prefactor*nx*ny*ft; - Xft_ij[4] += prefactor*nx*nz*ft; - Xft_ij[5] += prefactor*ny*nz*ft; + Xft_ij[0] += prefactor * nx * nx * ft; + Xft_ij[1] += prefactor * ny * ny * ft; + Xft_ij[2] += prefactor * nz * nz * ft; + Xft_ij[3] += prefactor * nx * ny * ft; + Xft_ij[4] += prefactor * nx * nz * ft; + Xft_ij[5] += prefactor * ny * nz * ft; } } } @@ -425,72 +425,72 @@ void ComputeFabric::compute_vector() // Output results if (cn_flag) { - for (i = 0; i < ntensors; i ++) { + for (i = 0; i < ntensors; i++) { if (tensor_style[i] == CN) { - for (j = 0; j < 6; j++) vector[6*i + j] = Ac_ij[j]; + for (j = 0; j < 6; j++) vector[6 * i + j] = Ac_ij[j]; } } } if (br_flag) { - MPI_Allreduce(D_ij,temp_dbl,6,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(D_ij, temp_dbl, 6, MPI_DOUBLE, MPI_SUM, world); for (i = 0; i < 6; i++) D_ij[i] = temp_dbl[i]; - trace_D = (1.0/3.0)*(D_ij[0]+D_ij[1]+D_ij[2]); + trace_D = (1.0 / 3.0) * (D_ij[0] + D_ij[1] + D_ij[2]); - br_tensor[0] = (15.0/(6.0*trace_D))*(D_ij[0] - trace_D); - br_tensor[1] = (15.0/(6.0*trace_D))*(D_ij[1] - trace_D); - br_tensor[2] = (15.0/(6.0*trace_D))*(D_ij[2] - trace_D); - br_tensor[3] = (15.0/(6.0*trace_D))*(D_ij[3]); - br_tensor[4] = (15.0/(6.0*trace_D))*(D_ij[4]); - br_tensor[5] = (15.0/(6.0*trace_D))*(D_ij[5]); + br_tensor[0] = (15.0 / (6.0 * trace_D)) * (D_ij[0] - trace_D); + br_tensor[1] = (15.0 / (6.0 * trace_D)) * (D_ij[1] - trace_D); + br_tensor[2] = (15.0 / (6.0 * trace_D)) * (D_ij[2] - trace_D); + br_tensor[3] = (15.0 / (6.0 * trace_D)) * (D_ij[3]); + br_tensor[4] = (15.0 / (6.0 * trace_D)) * (D_ij[4]); + br_tensor[5] = (15.0 / (6.0 * trace_D)) * (D_ij[5]); - for (i = 0; i < ntensors; i ++) { + for (i = 0; i < ntensors; i++) { if (tensor_style[i] == BR) { - for (j = 0; j < 6; j++) vector[6*i + j] = br_tensor[j]; + for (j = 0; j < 6; j++) vector[6 * i + j] = br_tensor[j]; } } } if (fn_flag || ft_flag) { - MPI_Allreduce(Xfn_ij,temp_dbl,6,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(Xfn_ij, temp_dbl, 6, MPI_DOUBLE, MPI_SUM, world); for (i = 0; i < 6; i++) Xfn_ij[i] = temp_dbl[i]; - trace_Xfn = (1.0/3.0)*(Xfn_ij[0]+Xfn_ij[1]+Xfn_ij[2]); + trace_Xfn = (1.0 / 3.0) * (Xfn_ij[0] + Xfn_ij[1] + Xfn_ij[2]); } if (fn_flag) { - fn_tensor[0] = (15.0/(6.0*trace_Xfn))*(Xfn_ij[0] - trace_Xfn); - fn_tensor[1] = (15.0/(6.0*trace_Xfn))*(Xfn_ij[1] - trace_Xfn); - fn_tensor[2] = (15.0/(6.0*trace_Xfn))*(Xfn_ij[2] - trace_Xfn); - fn_tensor[3] = (15.0/(6.0*trace_Xfn))*(Xfn_ij[3]); - fn_tensor[4] = (15.0/(6.0*trace_Xfn))*(Xfn_ij[4]); - fn_tensor[5] = (15.0/(6.0*trace_Xfn))*(Xfn_ij[5]); + fn_tensor[0] = (15.0 / (6.0 * trace_Xfn)) * (Xfn_ij[0] - trace_Xfn); + fn_tensor[1] = (15.0 / (6.0 * trace_Xfn)) * (Xfn_ij[1] - trace_Xfn); + fn_tensor[2] = (15.0 / (6.0 * trace_Xfn)) * (Xfn_ij[2] - trace_Xfn); + fn_tensor[3] = (15.0 / (6.0 * trace_Xfn)) * (Xfn_ij[3]); + fn_tensor[4] = (15.0 / (6.0 * trace_Xfn)) * (Xfn_ij[4]); + fn_tensor[5] = (15.0 / (6.0 * trace_Xfn)) * (Xfn_ij[5]); - for (i = 0; i < ntensors; i ++) { + for (i = 0; i < ntensors; i++) { if (tensor_style[i] == FN) { - for (j = 0; j < 6; j++) vector[6*i + j] = fn_tensor[j]; + for (j = 0; j < 6; j++) vector[6 * i + j] = fn_tensor[j]; } } } if (ft_flag) { - MPI_Allreduce(Xft_ij,temp_dbl,6,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(Xft_ij, temp_dbl, 6, MPI_DOUBLE, MPI_SUM, world); for (i = 0; i < 6; i++) Xft_ij[i] = temp_dbl[i]; - trace_Xft = (1.0/3.0)*(Xft_ij[0]+Xft_ij[1]+Xft_ij[2]); + trace_Xft = (1.0 / 3.0) * (Xft_ij[0] + Xft_ij[1] + Xft_ij[2]); - ft_tensor[0] = (15.0/(9.0*trace_Xfn))*(Xft_ij[0] - trace_Xft); - ft_tensor[1] = (15.0/(9.0*trace_Xfn))*(Xft_ij[1] - trace_Xft); - ft_tensor[2] = (15.0/(9.0*trace_Xfn))*(Xft_ij[2] - trace_Xft); - ft_tensor[3] = (15.0/(9.0*trace_Xfn))*(Xft_ij[3]); - ft_tensor[4] = (15.0/(9.0*trace_Xfn))*(Xft_ij[4]); - ft_tensor[5] = (15.0/(9.0*trace_Xfn))*(Xft_ij[5]); + ft_tensor[0] = (15.0 / (9.0 * trace_Xfn)) * (Xft_ij[0] - trace_Xft); + ft_tensor[1] = (15.0 / (9.0 * trace_Xfn)) * (Xft_ij[1] - trace_Xft); + ft_tensor[2] = (15.0 / (9.0 * trace_Xfn)) * (Xft_ij[2] - trace_Xft); + ft_tensor[3] = (15.0 / (9.0 * trace_Xfn)) * (Xft_ij[3]); + ft_tensor[4] = (15.0 / (9.0 * trace_Xfn)) * (Xft_ij[4]); + ft_tensor[5] = (15.0 / (9.0 * trace_Xfn)) * (Xft_ij[5]); - for (i = 0; i < ntensors; i ++) { + for (i = 0; i < ntensors; i++) { if (tensor_style[i] == FT) { - for (j = 0; j < 6; j++) vector[6*i + j] = ft_tensor[j]; + for (j = 0; j < 6; j++) vector[6 * i + j] = ft_tensor[j]; } } } diff --git a/src/GRANULAR/compute_fabric.h b/src/GRANULAR/compute_fabric.h index 20cef91adc..6a2d9f4eb3 100644 --- a/src/GRANULAR/compute_fabric.h +++ b/src/GRANULAR/compute_fabric.h @@ -12,9 +12,9 @@ ------------------------------------------------------------------------- */ #ifdef COMPUTE_CLASS - -ComputeStyle(fabric,ComputeFabric) - +// clang-format off +ComputeStyle(fabric,ComputeFabric); +// clang-format on #else #ifndef LMP_COMPUTE_FABRIC_H @@ -41,7 +41,7 @@ class ComputeFabric : public Compute { int cn_flag, br_flag, fn_flag, ft_flag; }; -} +} // namespace LAMMPS_NS #endif #endif From fe0422d0420aa1d086a6116b4d452c633134882d Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 10 Jun 2021 23:07:19 -0400 Subject: [PATCH 187/726] whitespace --- doc/src/Howto_granular.rst | 2 +- doc/src/compute_fabric.rst | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/doc/src/Howto_granular.rst b/doc/src/Howto_granular.rst index 43fd1cd429..9492e5755e 100644 --- a/doc/src/Howto_granular.rst +++ b/doc/src/Howto_granular.rst @@ -17,7 +17,7 @@ This compute * :doc:`compute erotate/sphere ` calculates rotational kinetic energy which can be :doc:`output with thermodynamic info `. -The compute +The compute * :doc:`compute fabric ` diff --git a/doc/src/compute_fabric.rst b/doc/src/compute_fabric.rst index 2a7a6fada8..75958d7a91 100644 --- a/doc/src/compute_fabric.rst +++ b/doc/src/compute_fabric.rst @@ -138,9 +138,9 @@ Output info """"""""""" This compute calculates a local vector of doubles. The vector stores the -unique components of the first requested tensor in the order xx, yy, zz, xy, xz, yz -followed by the same components for all subsequent tensors. The final entry is the -number of pairwise interactions included in the calculation of the fabric tensor. +unique components of the first requested tensor in the order xx, yy, zz, xy, xz, yz +followed by the same components for all subsequent tensors. The final entry is the +number of pairwise interactions included in the calculation of the fabric tensor. The length of the vector is therefore six times the number of requested tensors plus one. Restrictions From f14a4377ce4bbf3e633553dc2c7ba3e6c47c2b15 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 10 Jun 2021 23:15:08 -0400 Subject: [PATCH 188/726] spelling --- doc/src/compute_fabric.rst | 4 ++-- doc/utils/sphinx-config/false_positives.txt | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/doc/src/compute_fabric.rst b/doc/src/compute_fabric.rst index 75958d7a91..1f01b1cbc1 100644 --- a/doc/src/compute_fabric.rst +++ b/doc/src/compute_fabric.rst @@ -47,7 +47,7 @@ Examples Description """"""""""" -Define a computate that calculates various fabric tensors for pairwise +Define a compute that calculates various fabric tensors for pairwise interactions :ref:`(Ouadfel) `. The *type* and *radius* settings are used to select whether interactions cutoffs are determined by atom types or by the sum of atomic radii (atom style sphere), respectively. @@ -120,7 +120,7 @@ where the tensor :math:`T` is defined as \frac{1}{N_c (r^2 + C_{cd} r_c r_d)} \frac{r_{a} r_{b}}{r^2} f_t -and :math:`f_t` is the magnitude of the tagential force between the two atoms. +and :math:`f_t` is the magnitude of the tangential force between the two atoms. The *type/include* keyword filters interactions based on the types of the two atoms. Interactions between two atoms are only included in calculations if the atom types diff --git a/doc/utils/sphinx-config/false_positives.txt b/doc/utils/sphinx-config/false_positives.txt index 0367808002..a40e3a74b1 100644 --- a/doc/utils/sphinx-config/false_positives.txt +++ b/doc/utils/sphinx-config/false_positives.txt @@ -2668,6 +2668,7 @@ qoverride qqr qqrd qtb +Quadfel quadratically quadrupolar Quant @@ -2849,6 +2850,7 @@ Rossky rosybrown rotationally Rotenberg +Rothenburg Rovigatti royalblue rozero From a474754b3389bce47797906f152e0e189cb5d51a Mon Sep 17 00:00:00 2001 From: macstein <31542628+macstein@users.noreply.github.com> Date: Fri, 11 Jun 2021 10:54:09 -0700 Subject: [PATCH 189/726] Update pair_mliap.cpp --- src/MLIAP/pair_mliap.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/MLIAP/pair_mliap.cpp b/src/MLIAP/pair_mliap.cpp index 3153f9df1d..184022ac55 100644 --- a/src/MLIAP/pair_mliap.cpp +++ b/src/MLIAP/pair_mliap.cpp @@ -172,10 +172,10 @@ void PairMLIAP::settings(int narg, char ** arg) if (iarg+3 > narg) error->all(FLERR,"Illegal pair_style mliap command"); descriptor = new MLIAPDescriptorSNAP(lmp,arg[iarg+2]); iarg += 3; - }else if (strcmp(arg[iarg+1],"so3") == 0) { - if (iarg+3 > narg) error->all(FLERR,"Illegal pair_style mliap command"); - descriptor = new MLIAPDescriptorSO3(lmp,arg[iarg+2]); - iarg += 3; + } else if (strcmp(arg[iarg+1],"so3") == 0) { + if (iarg+3 > narg) error->all(FLERR,"Illegal pair_style mliap command"); + descriptor = new MLIAPDescriptorSO3(lmp,arg[iarg+2]); + iarg += 3; } else error->all(FLERR,"Illegal pair_style mliap command"); descriptorflag = 1; From 431ab35732019ceddcec307ff4a89a2012387c8e Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 11 Jun 2021 15:10:53 -0400 Subject: [PATCH 190/726] whitespace --- doc/src/compute_efield_atom.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/compute_efield_atom.rst b/doc/src/compute_efield_atom.rst index 68faccd8ad..1e87ad2556 100644 --- a/doc/src/compute_efield_atom.rst +++ b/doc/src/compute_efield_atom.rst @@ -53,7 +53,7 @@ The per-atom vector values will be in electric field :doc:`units `. Restrictions """""""""""" This compute is part of the USER-DIELECTRIC package. It is only enabled if -LAMMPS was built with that package. +LAMMPS was built with that package. Related commands """""""""""""""" From 4a2d32ff6d2dfc15834ff24cde1b4d0b0774d3aa Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 11 Jun 2021 15:11:01 -0400 Subject: [PATCH 191/726] remove dead code --- src/GRANULAR/compute_fabric.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/GRANULAR/compute_fabric.cpp b/src/GRANULAR/compute_fabric.cpp index 7fc7641799..aeb887c795 100644 --- a/src/GRANULAR/compute_fabric.cpp +++ b/src/GRANULAR/compute_fabric.cpp @@ -191,9 +191,9 @@ void ComputeFabric::compute_vector() double xtmp, ytmp, ztmp, delx, dely, delz; double r, rinv, rsq, radsum, eng, fpair; - double nx, ny, nz, fx, fy, fz; + double nx, ny, nz; double ncinv, denom, fn, ft, prefactor; - double cn_tensor[6], br_tensor[6], ft_tensor[6], fn_tensor[6]; + double br_tensor[6], ft_tensor[6], fn_tensor[6]; double trace_phi, trace_D, trace_Xfn, trace_Xft; double phi_ij[6] = {0.0}; double Ac_ij[6] = {0.0}; From a23f56a4f02c8cd47af85225800307a36f134451 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 11 Jun 2021 16:26:34 -0400 Subject: [PATCH 192/726] silence compiler warnings, remove dead code and fix bugs --- src/USER-DIELECTRIC/compute_efield_atom.cpp | 2 - .../fix_polarize_bem_gmres.cpp | 13 ++- src/USER-DIELECTRIC/fix_polarize_bem_icc.cpp | 5 +- .../fix_polarize_functional.cpp | 15 ++-- .../pair_coul_cut_dielectric.cpp | 11 ++- .../pair_lj_cut_coul_cut_dielectric.cpp | 3 +- .../pair_lj_cut_coul_debye_dielectric.cpp | 2 +- .../pair_lj_cut_coul_msm_dielectric.cpp | 2 +- .../pair_lj_long_coul_long_dielectric.cpp | 79 ++++++++++--------- 9 files changed, 60 insertions(+), 72 deletions(-) diff --git a/src/USER-DIELECTRIC/compute_efield_atom.cpp b/src/USER-DIELECTRIC/compute_efield_atom.cpp index f81cb06f18..c6ea0db94f 100644 --- a/src/USER-DIELECTRIC/compute_efield_atom.cpp +++ b/src/USER-DIELECTRIC/compute_efield_atom.cpp @@ -121,7 +121,6 @@ void ComputeEfieldAtom::setup() void ComputeEfieldAtom::compute_peratom() { int i,j; - double onemass; invoked_peratom = update->ntimestep; if (update->vflag_atom != invoked_peratom) @@ -143,7 +142,6 @@ void ComputeEfieldAtom::compute_peratom() // ntotal includes ghosts if either newton flag is set // KSpace includes ghosts if tip4pflag is set - double** f = atom->f; double* q = atom->q; int nlocal = atom->nlocal; int npair = nlocal; diff --git a/src/USER-DIELECTRIC/fix_polarize_bem_gmres.cpp b/src/USER-DIELECTRIC/fix_polarize_bem_gmres.cpp index 2fd3d14b3f..b25c7ce7b7 100644 --- a/src/USER-DIELECTRIC/fix_polarize_bem_gmres.cpp +++ b/src/USER-DIELECTRIC/fix_polarize_bem_gmres.cpp @@ -246,7 +246,7 @@ void FixPolarizeBEMGMRES::init() /* ---------------------------------------------------------------------- */ -void FixPolarizeBEMGMRES::setup(int vflag) +void FixPolarizeBEMGMRES::setup(int /*vflag*/) { // check if the pair styles in use are compatible @@ -308,7 +308,6 @@ void FixPolarizeBEMGMRES::compute_induced_charges() double *ed = atom->ed; double *em = atom->em; double *epsilon = atom->epsilon; - int *mask = atom->mask; int nlocal = atom->nlocal; double epsilon0 = force->dielectric; int eflag = 0; @@ -585,7 +584,7 @@ void FixPolarizeBEMGMRES::gmres_solve(double *x, double *r) matvec(A, v(k-1), v(k), n); ------------------------------------------------------------------------- */ -void FixPolarizeBEMGMRES::apply_operator(double *w, double *Aw, int n) +void FixPolarizeBEMGMRES::apply_operator(double *w, double *Aw, int /*n*/) { int i; double *q = atom->q; @@ -594,7 +593,6 @@ void FixPolarizeBEMGMRES::apply_operator(double *w, double *Aw, int n) double *ed = atom->ed; double *em = atom->em; double *epsilon = atom->epsilon; - int *mask = atom->mask; int nlocal = atom->nlocal; double epsilon0 = force->dielectric; int eflag = 0; @@ -655,7 +653,7 @@ void FixPolarizeBEMGMRES::apply_operator(double *w, double *Aw, int n) using Eq. (60) in Barros et al. ------------------------------------------------------------------------ */ -void FixPolarizeBEMGMRES::update_residual(double *w, double *r, int n) +void FixPolarizeBEMGMRES::update_residual(double *w, double *r, int /*n*/) { int i; double *q = atom->q; @@ -665,7 +663,6 @@ void FixPolarizeBEMGMRES::update_residual(double *w, double *r, int n) double *ed = atom->ed; double *em = atom->em; double *epsilon = atom->epsilon; - int *mask = atom->mask; int nlocal = atom->nlocal; double epsilon0 = force->dielectric; int eflag = 0; @@ -862,7 +859,7 @@ void FixPolarizeBEMGMRES::grow_arrays(int n) copy values within local atom-based arrays ------------------------------------------------------------------------- */ -void FixPolarizeBEMGMRES::copy_arrays(int i, int j, int delflag) +void FixPolarizeBEMGMRES::copy_arrays(int i, int j, int /*delflag*/) { induced_charge_idx[j] = induced_charge_idx[i]; } @@ -878,7 +875,7 @@ void FixPolarizeBEMGMRES::set_arrays(int i) /* ---------------------------------------------------------------------- */ -int FixPolarizeBEMGMRES::pack_forward_comm(int n, int *list, double *buf, int pbc_flag, int *pbc) +int FixPolarizeBEMGMRES::pack_forward_comm(int n, int *list, double *buf, int /*pbc_flag*/, int * /*pbc*/) { int m; for (m = 0; m < n; m++) buf[m] = atom->q[list[m]]; diff --git a/src/USER-DIELECTRIC/fix_polarize_bem_icc.cpp b/src/USER-DIELECTRIC/fix_polarize_bem_icc.cpp index 325e3044ff..10f4c62958 100644 --- a/src/USER-DIELECTRIC/fix_polarize_bem_icc.cpp +++ b/src/USER-DIELECTRIC/fix_polarize_bem_icc.cpp @@ -146,7 +146,7 @@ void FixPolarizeBEMICC::init() /* ---------------------------------------------------------------------- */ -void FixPolarizeBEMICC::setup(int vflag) +void FixPolarizeBEMICC::setup(int /*vflag*/) { // check if the pair styles in use are compatible @@ -236,7 +236,6 @@ void FixPolarizeBEMICC::compute_induced_charges() if (kspaceflag) force->kspace->compute(eflag, vflag); if (force->newton) comm->reverse_comm(); - int i10 = 0; for (int i = 0; i < nlocal; i++) { if (!(mask[i] & groupbit)) continue; @@ -397,7 +396,7 @@ int FixPolarizeBEMICC::modify_param(int narg, char **arg) /* ---------------------------------------------------------------------- */ -int FixPolarizeBEMICC::pack_forward_comm(int n, int *list, double *buf, int pbc_flag, int *pbc) +int FixPolarizeBEMICC::pack_forward_comm(int n, int *list, double *buf, int /*pbc_flag*/, int * /*pbc*/) { int m; for (m = 0; m < n; m++) buf[m] = atom->q[list[m]]; diff --git a/src/USER-DIELECTRIC/fix_polarize_functional.cpp b/src/USER-DIELECTRIC/fix_polarize_functional.cpp index 55fcd98bbe..4ca2de43d0 100644 --- a/src/USER-DIELECTRIC/fix_polarize_functional.cpp +++ b/src/USER-DIELECTRIC/fix_polarize_functional.cpp @@ -169,7 +169,6 @@ void FixPolarizeFunctional::init() // mapping induced charge matrix/vector to atom tags and vice versa int i, maxtag; - double *q = atom->q; int *mask = atom->mask; tagint *tag = atom->tag; int nlocal = atom->nlocal; @@ -287,14 +286,14 @@ void FixPolarizeFunctional::init() /* ---------------------------------------------------------------------- */ -void FixPolarizeFunctional::init_list(int id, NeighList *ptr) +void FixPolarizeFunctional::init_list(int /*id*/, NeighList *ptr) { list = ptr; } /* ---------------------------------------------------------------------- */ -void FixPolarizeFunctional::setup(int vflag) +void FixPolarizeFunctional::setup(int /*vflag*/) { // check if the pair styles in use are compatible @@ -338,7 +337,7 @@ void FixPolarizeFunctional::setup(int vflag) /* ---------------------------------------------------------------------- */ -void FixPolarizeFunctional::setup_pre_force(int vflag) +void FixPolarizeFunctional::setup_pre_force(int /*vflag*/) { // calculate Rww before the run (assuming that the interface is fixed for now) // otherwise this should be done every time step in pre_force() @@ -537,7 +536,7 @@ int FixPolarizeFunctional::unpack_exchange(int nlocal, double *buf) /* ---------------------------------------------------------------------- */ -int FixPolarizeFunctional::pack_forward_comm(int n, int *list, double *buf, int pbc_flag, int *pbc) +int FixPolarizeFunctional::pack_forward_comm(int n, int *list, double *buf, int /*pbc_flag*/, int * /*pbc*/) { int m; for (m = 0; m < n; m++) buf[m] = atom->q[list[m]]; @@ -567,7 +566,7 @@ void FixPolarizeFunctional::grow_arrays(int n) copy values within local atom-based arrays ------------------------------------------------------------------------- */ -void FixPolarizeFunctional::copy_arrays(int i, int j, int delflag) +void FixPolarizeFunctional::copy_arrays(int i, int j, int /*delflag*/) { induced_charge_idx[j] = induced_charge_idx[i]; ion_idx[j] = ion_idx[i]; @@ -613,9 +612,7 @@ double FixPolarizeFunctional::memory_usage() void FixPolarizeFunctional::calculate_Rww_cutoff() { int *mask = atom->mask; - int *type = atom->type; tagint *tag = atom->tag; - int nlocal = atom->nlocal; double **x = atom->x; double *area = atom->area; double *curvature = atom->curvature; @@ -838,9 +835,7 @@ void FixPolarizeFunctional::calculate_qiRqw_cutoff() int ii, i, k, kk, jnum; double xtmp, ytmp, ztmp, delx, dely, delz, r; int *mask = atom->mask; - int *type = atom->type; tagint *tag = atom->tag; - int nlocal = atom->nlocal; double **x = atom->x; double *q = atom->q_unscaled; double *epsilon = atom->epsilon; diff --git a/src/USER-DIELECTRIC/pair_coul_cut_dielectric.cpp b/src/USER-DIELECTRIC/pair_coul_cut_dielectric.cpp index 1b540157e4..d5ead44512 100644 --- a/src/USER-DIELECTRIC/pair_coul_cut_dielectric.cpp +++ b/src/USER-DIELECTRIC/pair_coul_cut_dielectric.cpp @@ -56,7 +56,7 @@ PairCoulCutDielectric::~PairCoulCutDielectric() void PairCoulCutDielectric::compute(int eflag, int vflag) { int i,j,ii,jj,inum,jnum,itype,jtype; - double qtmp,etmp,xtmp,ytmp,ztmp,delx,dely,delz,ecoul,fpair; + double qtmp,etmp,xtmp,ytmp,ztmp,delx,dely,delz,ecoul; double fpair_i,fpair_j; double rsq,r2inv,rinv,forcecoul,factor_coul,efield_i; int *ilist,*jlist,*numneigh,**firstneigh; @@ -73,7 +73,6 @@ void PairCoulCutDielectric::compute(int eflag, int vflag) double **x = atom->x; double **f = atom->f; double *q = atom->q; - double *q_real = atom->q_unscaled; double* eps = atom->epsilon; double** norm = atom->mu; double* curvature = atom->curvature; @@ -177,16 +176,16 @@ void PairCoulCutDielectric::init_style() /* ---------------------------------------------------------------------- */ -double PairCoulCutDielectric::single(int i, int j, int itype, int jtype, +double PairCoulCutDielectric::single(int i, int j, int /*itype*/, int /*jtype*/, double rsq, - double factor_coul, double factor_lj, + double factor_coul, double /*factor_lj*/, double &fforce) { - double r2inv,forcecoul,phicoul,ei,ej; + double r2inv,phicoul,ei,ej; double* eps = atom->epsilon; r2inv = 1.0/rsq; - forcecoul = force->qqrd2e * atom->q[i]*atom->q[j]*sqrt(r2inv)*eps[i]; + fforce = force->qqrd2e * atom->q[i]*atom->q[j]*sqrt(r2inv)*eps[i]; double eng = 0.0; if (eps[i] == 1) ei = 0; diff --git a/src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric.cpp b/src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric.cpp index 82a5b0c99a..e4b330d485 100644 --- a/src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric.cpp +++ b/src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric.cpp @@ -57,7 +57,7 @@ PairLJCutCoulCutDielectric::~PairLJCutCoulCutDielectric() void PairLJCutCoulCutDielectric::compute(int eflag, int vflag) { int i, j, ii, jj, inum, jnum, itype, jtype; - double qtmp, etmp, xtmp, ytmp, ztmp, delx, dely, delz, evdwl, ecoul, fpair; + double qtmp, etmp, xtmp, ytmp, ztmp, delx, dely, delz, evdwl, ecoul; double fpair_i, fpair_j; double rsq, r2inv, r6inv, forcecoul, forcelj, factor_coul, factor_lj, efield_i, epot_i; int *ilist, *jlist, *numneigh, **firstneigh; @@ -76,7 +76,6 @@ void PairLJCutCoulCutDielectric::compute(int eflag, int vflag) double **x = atom->x; double **f = atom->f; double *q = atom->q; - double *q_real = atom->q_unscaled; double *eps = atom->epsilon; double **norm = atom->mu; double *curvature = atom->curvature; diff --git a/src/USER-DIELECTRIC/pair_lj_cut_coul_debye_dielectric.cpp b/src/USER-DIELECTRIC/pair_lj_cut_coul_debye_dielectric.cpp index 4f8b2d63c8..4f3b46b14d 100644 --- a/src/USER-DIELECTRIC/pair_lj_cut_coul_debye_dielectric.cpp +++ b/src/USER-DIELECTRIC/pair_lj_cut_coul_debye_dielectric.cpp @@ -58,7 +58,7 @@ PairLJCutCoulDebyeDielectric::~PairLJCutCoulDebyeDielectric() void PairLJCutCoulDebyeDielectric::compute(int eflag, int vflag) { int i, j, ii, jj, inum, jnum, itype, jtype; - double qtmp, etmp, xtmp, ytmp, ztmp, delx, dely, delz, evdwl, ecoul, fpair; + double qtmp, etmp, xtmp, ytmp, ztmp, delx, dely, delz, evdwl, ecoul; double fpair_i, fpair_j; double rsq, r2inv, r6inv, forcecoul, forcelj, factor_coul, factor_lj, efield_i, epot_i; double r, rinv, screening; diff --git a/src/USER-DIELECTRIC/pair_lj_cut_coul_msm_dielectric.cpp b/src/USER-DIELECTRIC/pair_lj_cut_coul_msm_dielectric.cpp index c273fc2132..5fd8b499f8 100644 --- a/src/USER-DIELECTRIC/pair_lj_cut_coul_msm_dielectric.cpp +++ b/src/USER-DIELECTRIC/pair_lj_cut_coul_msm_dielectric.cpp @@ -64,7 +64,7 @@ PairLJCutCoulMSMDielectric::~PairLJCutCoulMSMDielectric() void PairLJCutCoulMSMDielectric::compute(int eflag, int vflag) { int i, ii, j, jj, inum, jnum, itype, jtype, itable; - double qtmp, etmp, xtmp, ytmp, ztmp, delx, dely, delz, evdwl, ecoul, fpair, fcoul; + double qtmp, etmp, xtmp, ytmp, ztmp, delx, dely, delz, evdwl, ecoul, fpair; double fpair_i, fpair_j; double fraction, table; double r, r2inv, r6inv, forcecoul, forcelj, factor_coul, factor_lj; diff --git a/src/USER-DIELECTRIC/pair_lj_long_coul_long_dielectric.cpp b/src/USER-DIELECTRIC/pair_lj_long_coul_long_dielectric.cpp index 564a156a04..53e9998f31 100644 --- a/src/USER-DIELECTRIC/pair_lj_long_coul_long_dielectric.cpp +++ b/src/USER-DIELECTRIC/pair_lj_long_coul_long_dielectric.cpp @@ -75,7 +75,7 @@ PairLJLongCoulLongDielectric::~PairLJLongCoulLongDielectric() void PairLJLongCoulLongDielectric::init_style() { - PairLJLongCoulLongDielectric::init_style(); + PairLJLongCoulLong::init_style(); avec = (AtomVecDielectric *) atom->style_match("dielectric"); if (!avec) error->all(FLERR, "Pair lj/long/coul/long/dielectric requires atom style dielectric"); @@ -91,7 +91,7 @@ void PairLJLongCoulLongDielectric::init_style() void PairLJLongCoulLongDielectric::compute(int eflag, int vflag) { - double evdwl, ecoul, fpair; + double evdwl, ecoul; evdwl = ecoul = 0.0; ev_init(eflag, vflag); @@ -117,10 +117,10 @@ void PairLJLongCoulLongDielectric::compute(int eflag, int vflag) int newton_pair = force->newton_pair; double qqrd2e = force->qqrd2e; - int i, ii, j, jj, inum, jnum, itype, jtype, itable; + int i, j, itype, jtype, itable; double qtmp, etmp, xtmp, ytmp, ztmp, delx, dely, delz; int order1 = ewald_order & (1 << 1), order6 = ewald_order & (1 << 6); - int *ineigh, *ineighn, *jneigh, *jneighn, typei, typej, ni; + int *ineigh, *ineighn, *jneigh, *jneighn, ni; double qi = 0.0, qri = 0.0; double fpair_i, fpair_j; double fraction, table; @@ -128,7 +128,7 @@ void PairLJLongCoulLongDielectric::compute(int eflag, int vflag) double grij, expm2, prefactor, t, erfc, prefactorE, efield_i, epot_i; double r, rsq, r2inv, force_coul, force_lj, factor_coul, factor_lj; double g2 = g_ewald_6 * g_ewald_6, g6 = g2 * g2 * g2, g8 = g6 * g2; - double xi[3], d[3]; + double xi[3]; ineighn = (ineigh = list->ilist) + list->inum; @@ -136,15 +136,19 @@ void PairLJLongCoulLongDielectric::compute(int eflag, int vflag) i = *ineigh; fi = f0 + 3 * i; qtmp = q[i]; + xtmp = x[i][0]; + ytmp = x[i][1]; + ztmp = x[i][2]; + etmp = eps[i]; if (order1) qri = (qi = q[i]) * qqrd2e; // initialize constants - offseti = offset[typei = type[i]]; - lj1i = lj1[typei]; - lj2i = lj2[typei]; - lj3i = lj3[typei]; - lj4i = lj4[typei]; - cutsqi = cutsq[typei]; - cut_ljsqi = cut_ljsq[typei]; + offseti = offset[itype = type[i]]; + lj1i = lj1[itype]; + lj2i = lj2[itype]; + lj3i = lj3[itype]; + lj4i = lj4[itype]; + cutsqi = cutsq[itype]; + cut_ljsqi = cut_ljsq[itype]; memcpy(xi, x0 + (i + (i << 1)), 3 * sizeof(double)); jneighn = (jneigh = list->firstneigh[i]) + list->numneigh[i]; @@ -174,7 +178,7 @@ void PairLJLongCoulLongDielectric::compute(int eflag, int vflag) rsq = delx * delx + dely * dely + delz * delz; jtype = type[j]; - if (rsq >= cutsq[typei][typej]) continue; + if (rsq >= cutsq[itype][jtype]) continue; r2inv = 1.0 / rsq; r = sqrt(rsq); @@ -216,22 +220,22 @@ void PairLJLongCoulLongDielectric::compute(int eflag, int vflag) } else epot_i = efield_i = force_coul = ecoul = 0.0; - if (rsq < cut_ljsqi[typej]) { // lj + if (rsq < cut_ljsqi[jtype]) { // lj if (order6) { // long-range lj if (!ndisptablebits || rsq <= tabinnerdispsq) { // series real space double rn = r2inv * r2inv * r2inv; double x2 = g2 * rsq, a2 = 1.0 / x2; - x2 = a2 * exp(-x2) * lj4i[typej]; + x2 = a2 * exp(-x2) * lj4i[jtype]; if (ni == 0) { - force_lj = (rn *= rn) * lj1i[typej] - + force_lj = (rn *= rn) * lj1i[jtype] - g8 * (((6.0 * a2 + 6.0) * a2 + 3.0) * a2 + 1.0) * x2 * rsq; - if (eflag) evdwl = rn * lj3i[typej] - g6 * ((a2 + 1.0) * a2 + 0.5) * x2; + if (eflag) evdwl = rn * lj3i[jtype] - g6 * ((a2 + 1.0) * a2 + 0.5) * x2; } else { // special case double f = special_lj[ni], t = rn * (1.0 - f); - force_lj = f * (rn *= rn) * lj1i[typej] - - g8 * (((6.0 * a2 + 6.0) * a2 + 3.0) * a2 + 1.0) * x2 * rsq + t * lj2i[typej]; + force_lj = f * (rn *= rn) * lj1i[jtype] - + g8 * (((6.0 * a2 + 6.0) * a2 + 3.0) * a2 + 1.0) * x2 * rsq + t * lj2i[jtype]; if (eflag) - evdwl = f * rn * lj3i[typej] - g6 * ((a2 + 1.0) * a2 + 0.5) * x2 + t * lj4i[typej]; + evdwl = f * rn * lj3i[jtype] - g6 * ((a2 + 1.0) * a2 + 0.5) * x2 + t * lj4i[jtype]; } } else { // table real space union_int_float_t disp_t; @@ -240,39 +244,36 @@ void PairLJLongCoulLongDielectric::compute(int eflag, int vflag) double f_disp = (rsq - rdisptable[disp_k]) * drdisptable[disp_k]; double rn = r2inv * r2inv * r2inv; if (ni == 0) { - force_lj = (rn *= rn) * lj1i[typej] - - (fdisptable[disp_k] + f_disp * dfdisptable[disp_k]) * lj4i[typej]; + force_lj = (rn *= rn) * lj1i[jtype] - + (fdisptable[disp_k] + f_disp * dfdisptable[disp_k]) * lj4i[jtype]; if (eflag) - evdwl = rn * lj3i[typej] - - (edisptable[disp_k] + f_disp * dedisptable[disp_k]) * lj4i[typej]; + evdwl = rn * lj3i[jtype] - + (edisptable[disp_k] + f_disp * dedisptable[disp_k]) * lj4i[jtype]; } else { // special case double f = special_lj[ni], t = rn * (1.0 - f); - force_lj = f * (rn *= rn) * lj1i[typej] - - (fdisptable[disp_k] + f_disp * dfdisptable[disp_k]) * lj4i[typej] + - t * lj2i[typej]; + force_lj = f * (rn *= rn) * lj1i[jtype] - + (fdisptable[disp_k] + f_disp * dfdisptable[disp_k]) * lj4i[jtype] + + t * lj2i[jtype]; if (eflag) - evdwl = f * rn * lj3i[typej] - - (edisptable[disp_k] + f_disp * dedisptable[disp_k]) * lj4i[typej] + - t * lj4i[typej]; + evdwl = f * rn * lj3i[jtype] - + (edisptable[disp_k] + f_disp * dedisptable[disp_k]) * lj4i[jtype] + + t * lj4i[jtype]; } } } else { // cut lj double rn = r2inv * r2inv * r2inv; if (ni == 0) { - force_lj = rn * (rn * lj1i[typej] - lj2i[typej]); - if (eflag) evdwl = rn * (rn * lj3i[typej] - lj4i[typej]) - offseti[typej]; + force_lj = rn * (rn * lj1i[jtype] - lj2i[jtype]); + if (eflag) evdwl = rn * (rn * lj3i[jtype] - lj4i[jtype]) - offseti[jtype]; } else { // special case double f = special_lj[ni]; - force_lj = f * rn * (rn * lj1i[typej] - lj2i[typej]); - if (eflag) evdwl = f * (rn * (rn * lj3i[typej] - lj4i[typej]) - offseti[typej]); + force_lj = f * rn * (rn * lj1i[jtype] - lj2i[jtype]); + if (eflag) evdwl = f * (rn * (rn * lj3i[jtype] - lj4i[jtype]) - offseti[jtype]); } } - } + } else force_lj = evdwl = 0.0; - else - force_lj = evdwl = 0.0; - - fpair = (force_coul * etmp + force_lj) * r2inv; + fpair_i = (force_coul * etmp + force_lj) * r2inv; f[i][0] += delx * fpair_i; f[i][1] += dely * fpair_i; f[i][2] += delz * fpair_i; From e1cfb95f548e7fa767605cabff0bdd20e4174efd Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 11 Jun 2021 16:28:05 -0400 Subject: [PATCH 193/726] update CODEOWNERS --- .github/CODEOWNERS | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index afdac828f8..56fcf548e6 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -26,6 +26,7 @@ src/USER-BROWNIAN/* @samueljmcameron src/USER-CGDNA/* @ohenrich src/USER-CGSDK/* @akohlmey src/USER-COLVARS/* @giacomofiorin +src/USER-DIELECTRIC/* @ndtrung81 src/USER-FEP/* @agiliopadua src/USER-HDNNP/* @singraber src/USER-INTEL/* @wmbrownintel From 263d92eff5a6986706d0a84943291687ce9baecd Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 11 Jun 2021 16:30:01 -0400 Subject: [PATCH 194/726] whitespace --- doc/src/compute_efield_atom.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/compute_efield_atom.rst b/doc/src/compute_efield_atom.rst index 68faccd8ad..1e87ad2556 100644 --- a/doc/src/compute_efield_atom.rst +++ b/doc/src/compute_efield_atom.rst @@ -53,7 +53,7 @@ The per-atom vector values will be in electric field :doc:`units `. Restrictions """""""""""" This compute is part of the USER-DIELECTRIC package. It is only enabled if -LAMMPS was built with that package. +LAMMPS was built with that package. Related commands """""""""""""""" From 51994c8c65c3f36242833986e906f1b76485809c Mon Sep 17 00:00:00 2001 From: macstein Date: Sat, 12 Jun 2021 01:02:31 -0700 Subject: [PATCH 195/726] update --- src/MLIAP/mliap_descriptor_so3.cpp | 17 +- src/MLIAP/mliap_descriptor_so3.h | 4 +- src/MLIAP/mliap_so3.cpp | 139 ++---- src/MLIAP/mliap_so3.h | 4 +- src/MLIAP/mliap_so3_math.h | 731 +++++------------------------ 5 files changed, 165 insertions(+), 730 deletions(-) diff --git a/src/MLIAP/mliap_descriptor_so3.cpp b/src/MLIAP/mliap_descriptor_so3.cpp index 1b9f852e51..ee8eb87cb6 100644 --- a/src/MLIAP/mliap_descriptor_so3.cpp +++ b/src/MLIAP/mliap_descriptor_so3.cpp @@ -1,3 +1,4 @@ +// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://lammps.sandia.gov/, Sandia National Laboratories @@ -12,6 +13,7 @@ ------------------------------------------------------------------------- */ #include "mliap_descriptor_so3.h" + #include "atom.h" #include "comm.h" #include "error.h" @@ -72,7 +74,7 @@ void MLIAPDescriptorSO3::read_paramfile(char *paramfilename) if (comm->me == 0) { fpparam = utils::open_potential(paramfilename,lmp,nullptr); if (fpparam == nullptr) - error->one(FLERR,fmt::format + error->one(FLERR, ("Cannot open SO3 parameter file {}: {}", paramfilename, utils::getsyserror())); } @@ -267,19 +269,6 @@ void MLIAPDescriptorSO3::compute_forces(class MLIAPData* data) } } - -void MLIAPDescriptorSO3::compute_force_gradients - (class MLIAPData* data) -{ - -} - -void MLIAPDescriptorSO3::compute_descriptor_gradients - (class MLIAPData* data) -{ - -} - void MLIAPDescriptorSO3::init() { so3ptr->init(); diff --git a/src/MLIAP/mliap_descriptor_so3.h b/src/MLIAP/mliap_descriptor_so3.h index e956e9ab4b..78d8937e55 100644 --- a/src/MLIAP/mliap_descriptor_so3.h +++ b/src/MLIAP/mliap_descriptor_so3.h @@ -28,8 +28,8 @@ class MLIAPDescriptorSO3 : public MLIAPDescriptor { virtual void compute_descriptors(class MLIAPData*); virtual void compute_forces(class MLIAPData*); - virtual void compute_force_gradients(class MLIAPData*); - virtual void compute_descriptor_gradients(class MLIAPData*); + virtual void compute_force_gradients(class MLIAPData*) {}; + virtual void compute_descriptor_gradients(class MLIAPData*) {}; virtual void init(); virtual double memory_usage(); diff --git a/src/MLIAP/mliap_so3.cpp b/src/MLIAP/mliap_so3.cpp index 1fa7fcf287..2027119d86 100644 --- a/src/MLIAP/mliap_so3.cpp +++ b/src/MLIAP/mliap_so3.cpp @@ -1,6 +1,6 @@ /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - https://lammps.sandia.gov/, Sandia National Laboratories + https://www.lammps.org/, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract @@ -23,15 +23,9 @@ #include "error.h" #include "comm.h" -#ifdef MLIAP_SO3_MKL -#include "mkl.h" -#else - #include "mliap_so3_math.h" -using namespace jacobi_pd; -#endif - +using namespace SO3Math; using namespace LAMMPS_NS; using namespace MathConst; using namespace MathSpecial; @@ -175,7 +169,7 @@ void MLIAP_SO3::init() m_ellm1[l] = get_sum(0, l, 1, 2); } - double pfac1 = 1.0 / 4.0 / M_PI; + double pfac1 = 1.0 / 4.0 / MY_PI; m_pfac_l1 = m_lmax + 2; m_pfac_l2 = (m_lmax + 2) * (m_lmax + 2) + 1; totali = m_pfac_l1 * m_pfac_l2; @@ -231,7 +225,7 @@ void MLIAP_SO3::init() for (i = 0; i < totali; i++) m_w[i] = 0.0; - W(m_nmax, m_w); + compute_W(m_nmax, m_w); totali = m_nmax * m_Nmax; memory->create(m_g_array, totali, "MLIAP_SO3:g_array"); @@ -386,7 +380,7 @@ void MLIAP_SO3::quickSort(double arr[], int low, int high, } -void MLIAP_SO3::W(int nmax, double *arr) +void MLIAP_SO3::compute_W(int nmax, double *arr) { int alpha, beta, temp1, temp2; @@ -413,82 +407,41 @@ void MLIAP_SO3::W(int nmax, double *arr) double *sqrtD = new double[n * n]; double *tempM = new double[n * n]; - int *IPIV = new int[n]; - double *eigReal = new double[n]; - double *eigImag = new double[n]; + double **temparr; + double tempout[n]; + double **tempvl; - int lwork = 6 * n; - double *vl = new double[n * n]; - double *vr = new double[n * n]; - double *work = new double[lwork]; int info; - #ifdef MLIAP_SO3_MKL - //******************* // for mkl - dgetrf(&n,&n,arr,&n,IPIV,&info); - dgetri(&n,arr,&n,IPIV,work,&lwork,&info); - - // calculate eigenvalues using the DGEEV subroutine - dgeev(&Nchar,&Nchar,&n,arr,&n,outeig,eigImag, - vl,&n,vr,&n,work,&lwork,&info); - // check for errors - if (info!=0) - error->all(FLERR,"Invert matrix Error in W calculation!"); - - for( i=0;i eigen_calc(n); - - info = eigen_calc.invert_matrix(arr, arrinv); + info = invert_matrix(n, arr, arrinv ); if (info != 0) error->all(FLERR, "Invert matrix Error in W calculation!"); - eigen_calc.Diagonalize_1DArray(arrinv, outeig, vl); + temparr = new double* [n]; + for (int iy=0; iyall(FLERR,"Invert matrix Error in W calculation!"); + for (i = 0; i < n; i++) for (j = 0; j < n; j++) { @@ -513,9 +469,6 @@ void MLIAP_SO3::W(int nmax, double *arr) arr[i * n + j] = dtemp; } - /////////// end for interanl lib. - - #endif delete outeig; delete outeigvec; @@ -524,13 +477,8 @@ void MLIAP_SO3::W(int nmax, double *arr) delete sqrtD; delete tempM; - delete IPIV; - delete eigReal; - delete eigImag; - - delete vl; - delete vr; - delete work; + delete temparr; + delete tempvl; } @@ -545,7 +493,7 @@ void MLIAP_SO3::compute_pi(int nmax, int lmax, double *clisttot_r, for (n2 = 0; n2 < n1 + 1; n2++) { j = 0; for (l = 0; l < lmax + 1; l++) { - norm = 2.0 * sqrt(2.0) * M_PI / sqrt(2.0 * l + 1.0); + norm = 2.0 * sqrt(2.0) * MY_PI / sqrt(2.0 * l + 1.0); for (m = -l; m < l + 1; m++) { @@ -573,7 +521,7 @@ double MLIAP_SO3::phi(double r, int alpha, double rcut) / (2 * alpha + 6) / (2 * alpha + 7)); } -double MLIAP_SO3::g(double r, int n, int nmax, double rcut, +double MLIAP_SO3::compute_g(double r, int n, int nmax,double rcut, double *w, int lw1, int lw2) { double Sum; @@ -590,13 +538,13 @@ double MLIAP_SO3::g(double r, int n, int nmax, double rcut, double MLIAP_SO3::Cosine(double Rij, double Rc) { - return 0.5 * (cos(M_PI * Rij / Rc) + 1.0); + return 0.5 * (cos(MY_PI * Rij / Rc) + 1.0); } double MLIAP_SO3::CosinePrime(double Rij, double Rc) { - return -0.5 * M_PI / Rc * sin(M_PI * Rij / Rc); + return -0.5 * MY_PI / Rc * sin(MY_PI * Rij / Rc); } double MLIAP_SO3::compute_sfac(double r, double rcut) @@ -629,7 +577,7 @@ void MLIAP_SO3::compute_dpidrj(int nmax, int lmax, double *clisttot_r, for (n2 = 0; n2 < n1 + 1; n2++) { j = 0; for (l = 0; l < lmax + 1; l++) { - norm = 2.0 * sqrt(2.0) * M_PI / sqrt(2.0 * l + 1.0); + norm = 2.0 * sqrt(2.0) * MY_PI / sqrt(2.0 * l + 1.0); for (m = -l; m < l + 1; m++) { for (ii = 0; ii < 3; ii++) { @@ -775,14 +723,15 @@ void MLIAP_SO3::init_garray(int nmax, int lmax, double rcut, for (i = 1; i < Nmax + 1; i++) { // roots of Chebyshev polynomial of degree N - x = cos((2 * i - 1) * M_PI / 2 / Nmax); + x = cos((2 * i - 1) * MY_PI / 2 / Nmax); // transform the interval [-1,1] to [0, rcut] xi = rcut / 2 * (x + 1); for (n = 1; n < nmax + 1; n++) // r**2*g(n)(r)*e^(-alpha*r**2) - g_array[(n - 1) * lg2 + i - 1] = rcut / 2 * M_PI / Nmax + g_array[(n - 1) * lg2 + i - 1] = rcut / 2 * MY_PI / Nmax * sqrt(1 - x * x) * xi * xi - * g(xi, n, nmax, rcut, w, lw1, lw2) * exp(-alpha * xi * xi); + * compute_g(xi, n, nmax, rcut, w, lw1, lw2) + * exp(-alpha * xi * xi); } } @@ -804,7 +753,7 @@ void MLIAP_SO3::get_sbes_array(int natoms, int *numneighs, pfac1 = alpha * rcut; pfac4 = rcut / 2; - pfac3 = M_PI / 2 / m_Nmax; + pfac3 = MY_PI / 2 / m_Nmax; int ipair = 0; int gindex; @@ -903,7 +852,7 @@ void MLIAP_SO3::get_rip_array(int natoms, int *numneighs, if (ri < pow(10, -8)) continue; - expfac = 4 * M_PI * exp(-alpha * ri * ri); + expfac = 4 * MY_PI * exp(-alpha * ri * ri); for (n = 1; n < nmax + 1; n++) for (l = 0; l < lmax + 1; l++) { @@ -949,7 +898,7 @@ void MLIAP_SO3::spectrum(int natoms, int *numneighs, int *jelems, double x, y, z, r; double r_int; int twolmax = 2 * (lmax + 1); - double pfac1 = 1.0 / 4.0 / M_PI; + double pfac1 = 1.0 / 4.0 / MY_PI; double pfac2; int findex, gindex; int ipair = 0; @@ -1095,7 +1044,7 @@ void MLIAP_SO3::spectrum_dxdr(int natoms, int *numneighs, double r_int; double r_int_temp; - double pfac1 = 1.0 / 4.0 / M_PI; + double pfac1 = 1.0 / 4.0 / MY_PI; double pfac2; double oneofr; int findex, gindex; diff --git a/src/MLIAP/mliap_so3.h b/src/MLIAP/mliap_so3.h index f543166228..2e0d757dcf 100644 --- a/src/MLIAP/mliap_so3.h +++ b/src/MLIAP/mliap_so3.h @@ -89,7 +89,7 @@ class MLIAP_SO3: protected Pointers { double *dclist_i, int ldcli1, int ldcli2, int ldcli3, double *dplist_r, int dpli1, int dpli2); - double g(double r, int n, int nmax, double rcut, double *w, int lw1, + double compute_g(double r, int n, int nmax, double rcut, double *w, int lw1, int lw2); double phi(double r, int alpha, double rcut); void compute_pi(int nmax, int lmax, double *clisttot_r, @@ -97,7 +97,7 @@ class MLIAP_SO3: protected Pointers { double *plist_r, double *plist_i, int lpl1, int lpl2, int indpl); - void W(int nmax, double *arr); + void compute_W(int nmax, double *arr); void swap(double *a, double *b); int partition(double arr[], int low, int high, double arrv[], diff --git a/src/MLIAP/mliap_so3_math.h b/src/MLIAP/mliap_so3_math.h index 028ee02ba8..556ba8570f 100644 --- a/src/MLIAP/mliap_so3_math.h +++ b/src/MLIAP/mliap_so3_math.h @@ -1,684 +1,181 @@ +/* + * MLIAP_SO3_math.h + * + * Created on: Apr 12, 2021 + * Author: macstein + */ -#ifndef SRC_SOT_MLIAP_SO3_MATH_H_ -#define SRC_SOT_MLIAP_SO3_MATH_H_ +#ifndef LMP_MLIAP_SO3_MATH_H_ +#define LMP_MLIAP_SO3_MATH_H_ -#include +#include "math_eigen_impl.h" -#ifndef _MATRIX_ALLOC_JPD_H -#define _MATRIX_ALLOC_JPD_H +namespace SO3Math{ -namespace matrix_alloc_jpd { +int jacobin(int n,double const* const* mat, double *eval, double **evec); +int invert_matrix( int n,double *A, double *Ainv ); +int LUPdecompose( int n, double dtol, double *A, int *P ); +void LUPSolve( int n,double *A, double *B, int *P); -/// @brief Allocate a 2-dimensional array. (Uses row-major order.) -template -void Alloc2D(size_t nrows, size_t ncols, Entry ***paaX); - -/// @brief Deallocate arrays that were created using Alloc2D(). -template -void Dealloc2D(Entry ***paaX); - -// ---- implementation ---- - -template -void Alloc2D(size_t nrows, size_t ncols, Entry ***paaX) -{ - assert(paaX); - *paaX = new Entry* [nrows]; - (*paaX)[0] = new Entry [nrows * ncols]; - for(size_t iy=0; iy -void Dealloc2D(Entry ***paaX) -{ - if (paaX && *paaX) { - delete [] (*paaX)[0]; - delete [] (*paaX); - *paaX = nullptr; - } -} +using namespace MathEigen; -} // namespace matrix_alloc_jpd - -#endif //#ifndef _MATRIX_ALLOC_JPD_H - - -#ifndef _JACOBI_HPP -#define _JACOBI_HPP - -#include -#include - - -namespace jacobi_pd { - -using namespace matrix_alloc_jpd; - - -template -class Jacobi -{ - int n; - Scalar **M; - Scalar c; - Scalar s; - Scalar t; - int *max_idx_row; - - public: - - void SetSize(int n); - - Jacobi(int n = 0) { - Init(); - SetSize(n); - } - - ~Jacobi() { - Dealloc(); - } - - typedef enum eSortCriteria { - DO_NOT_SORT, - SORT_DECREASING_EVALS, - SORT_INCREASING_EVALS, - SORT_DECREASING_ABS_EVALS, - SORT_INCREASING_ABS_EVALS - } SortCriteria; - - int Diagonalize(ConstMatrix mat, Vector eval, Matrix evec, - SortCriteria sort_criteria=SORT_DECREASING_EVALS, - bool calc_evecs=true, int max_num_sweeps = 50); - - int Diagonalize_1DArray(double *mat, Vector eval, double *evec, - SortCriteria sort_criteria= - SORT_DECREASING_EVALS, - bool calc_evecs=true, - int max_num_sweeps = 50); - - private: - - void CalcRot(Scalar const *const *M, int i, int j); - - void ApplyRot(Scalar **M, int i, int j); - - void ApplyRotLeft(Matrix E, int i, int j); - - void ApplyRotLeft_1DArray(double *E, int i, int j); - - int MaxEntryRow(Scalar const *const *M, int i) const; - - void MaxEntry(Scalar const *const *M, int& i_max, int& j_max) const; - - void SortRows(Vector v, Matrix M, int n, - SortCriteria s=SORT_DECREASING_EVALS ) const; - - void Alloc(int N); - void Init(); - void Dealloc(); - - int LU_decompose( double *A, int *permute ); - void LU_substitution( double *A, double *B, int *permute ); - - public: - - int invert_matrix( double *Am, double *Aminv ); - - Jacobi(const Jacobi& source); - Jacobi(Jacobi&& other); - void swap(Jacobi &other); - Jacobi& operator = - (Jacobi source); - -}; // class Jacobi - - -template -int Jacobi:: - invert_matrix( double *Am, double *Aminv ) +typedef Jacobi Jacobi_v2; +int SO3Math::jacobin(int n, double const* const* mat, double *eval, double **evec) { int i,j; + double mat_cpy[n][n]; - int *permute; - double *dxm, *Amtmp; - permute=new int[n]; - dxm=new double[n]; - Amtmp=new double[n*n]; + for(i=0;i -int Jacobi:: - LU_decompose( double *A, int *permute ) +int SO3Math::invert_matrix(int n, double *A, double *Ainv ) { - const double absmin = 1.e-30; - double *row_norm; - double absmax, maxtemp, mintemp; - int i, j, k, max_row; + int i,j; + double dtol=1.e-30; - row_norm=new double[n]; + int *P; + double *b, *Atemp; - max_row = 0; + P=new int[n]; + b=new double[n]; + Atemp=new double[n*n]; - for( i = 0; i < n; i++ ) { - absmax = 0.; + for(i=0 ; i< n*n; i++) + Atemp[i] = A[i]; - for( j = 0; j < n ; j++ ) { + if(LUPdecompose(n, dtol, Atemp, P) != 0) + return 1; - maxtemp = fabs( A[i*n+j] ); + for(i=0; i absmax ) - absmax = maxtemp; - } + b[i] = 1.0; + LUPSolve(n ,Atemp, b, P); - if( absmax == 0. ) { - fprintf(stderr, "LU_decompose(): row-wise singular matrix!\n"); - return(1); - } - - row_norm[i] = 1. / absmax ; + for(j=0 ; j maxA) + maxA = Atemp; } + if(maxA < dtol) + return 1; - absmax = 0.0; + normi[i] = 1.0/maxA ; + } - for( i = j; i < n; i++ ) { - - for (k = 0; k < j; k++) + for(j=0; j= absmax ) { - absmax = maxtemp; - max_row = i; + Atemp = fabs(A[i*n+j]) * normi[i] ; + if(Atemp >= maxA) { + maxA = Atemp; + maxi = i; } - } - - if( max_row != j ) { - - if( (j == (n-2)) && (A[j*n+j+1] == 0.) ) - max_row = j; - + if(maxi != j) { + if( (j == (n-2)) && (A[j*n+j+1] == 0.0) ) + maxi = j; else { - for( k = 0; k < n; k++ ) { - - maxtemp = A[ j*n+k] ; - A[ j*n+k] = A[max_row*n+k] ; - A[max_row*n+k] = maxtemp; - + Atemp = A[j*n+k]; + A[j*n+k] = A[maxi*n+k]; + A[maxi*n+k] = Atemp; } - - row_norm[max_row] = row_norm[j] ; - + normi[maxi] = normi[j] ; } } - permute[j] = max_row; - - if( A[j*n+j] == 0. ) - A[j*n+j] = absmin; - - if( j != (n-1) ) { - maxtemp = 1. / A[j*n+j] ; + P[j] = maxi; + if(A[j*n+j] == 0.0) + A[j*n+j] = dtol; + if(j != (n-1)) { + Atemp = 1.0/A[j*n+j]; for( i = (j+1) ; i < n; i++ ) - A[i*n+j] *= maxtemp; + A[i*n+j] *= Atemp; } } - delete row_norm; - return(0); + delete normi; + + return 0; } - -template -void Jacobi:: - LU_substitution( double *A, double *B, int *permute) +void SO3Math::LUPSolve(int n, double *A, double *B, int *P) { - int i, j ; - double tmpvar,tmpvar2; + int i, j; + double dtemp; - for(i = 0; i < n; i++) { + for(i=0; i= 0 ; j-- ) - tmpvar -= A[i*n+j] * B[j]; + dtemp = B[P[i]]; + B[P[i]] = B[i]; + for(j=(i-1); j >= 0; j--) + dtemp -= A[i*n+j] * B[j]; - B[i] = tmpvar; + B[i] = dtemp; } - - for( i = (n-1); i >= 0; i-- ) { - for( j = (i+1); j < n ; j++ ) + for(i=(n-1); i>=0; i--) { + for(j=(i+1); j -int Jacobi:: -Diagonalize_1DArray(double *mat, Vector eval, double *evec, - SortCriteria sort_criteria, - bool calc_evec, int max_num_sweeps) -{ - for (int i = 0; i < n; i++) - for (int j = i; j < n; j++) - M[i][j] = mat[i*n+j]; - - if (calc_evec) - for (int i = 0; i < n; i++) - for (int j = 0; j < n; j++) - evec[i*n+j] = (i==j) ? 1.0 : 0.0; - - for (int i = 0; i < n-1; i++) - max_idx_row[i] = MaxEntryRow(M, i); - - int n_iters; - int max_num_iters = max_num_sweeps*n*(n-1)/2; - for (n_iters=1; n_iters <= max_num_iters; n_iters++) { - int i,j; - MaxEntry(M, i, j); - - if ((M[i][i] + M[i][j] == M[i][i]) && - (M[j][j] + M[i][j] == M[j][j])) { - M[i][j] = 0.0; - max_idx_row[i] = MaxEntryRow(M,i); - } - - if (M[i][j] == 0.0) - break; - - CalcRot(M, i, j); - ApplyRot(M, i, j); - if (calc_evec) - ApplyRotLeft_1DArray(evec,i,j); - - } - - for (int i = 0; i < n; i++) - eval[i] = M[i][i]; - - if ((n_iters > max_num_iters) && (n>1)) - return 0; - - return n_iters; -} - -template -int Jacobi:: - Diagonalize(ConstMatrix mat, - Vector eval, - Matrix evec, - SortCriteria sort_criteria, - bool calc_evec, - int max_num_sweeps) -{ - for (int i = 0; i < n; i++) - for (int j = i; j < n; j++) - M[i][j] = mat[i][j]; - - if (calc_evec) - for (int i = 0; i < n; i++) - for (int j = 0; j < n; j++) - evec[i][j] = (i==j) ? 1.0 : 0.0; - - for (int i = 0; i < n-1; i++) - max_idx_row[i] = MaxEntryRow(M, i); - - // -- Iteration -- - int n_iters; - int max_num_iters = max_num_sweeps*n*(n-1)/2; - for (n_iters=1; n_iters <= max_num_iters; n_iters++) { - int i,j; - MaxEntry(M, i, j); - - - if ((M[i][i] + M[i][j] == M[i][i]) && (M[j][j] + M[i][j] == M[j][j])) { - M[i][j] = 0.0; - max_idx_row[i] = MaxEntryRow(M,i); - } - - if (M[i][j] == 0.0) - break; - - CalcRot(M, i, j); - ApplyRot(M, i, j); - if (calc_evec) - ApplyRotLeft(evec,i,j); - - } - - for (int i = 0; i < n; i++) - eval[i] = M[i][i]; - - SortRows(eval, evec, n, sort_criteria); - - if ((n_iters > max_num_iters) && (n>1)) - return 0; - - return n_iters; -} - - -template -void Jacobi:: - CalcRot(Scalar const *const *M, int i, int j) -{ - t = 1.0; - Scalar M_jj_ii = (M[j][j] - M[i][i]); - if (M_jj_ii != 0.0) { - - Scalar kappa = M_jj_ii; - t = 0.0; - Scalar M_ij = M[i][j]; - if (M_ij != 0.0) { - kappa /= (2.0*M_ij); - t = 1.0 / (std::sqrt(1 + kappa*kappa) + std::abs(kappa)); - if (kappa < 0.0) - t = -t; - } - } - - c = 1.0 / std::sqrt(1 + t*t); - s = c*t; - -} - -template -void Jacobi:: -ApplyRot(Scalar **M, - int i, - int j) -{ - M[i][i] -= t * M[i][j]; - M[j][j] += t * M[i][j]; - - M[i][j] = 0.0; - - for (int w=0; w < i; w++) { - M[i][w] = M[w][i]; - M[w][i] = c*M[w][i] - s*M[w][j]; - if (i == max_idx_row[w]) - max_idx_row[w] = MaxEntryRow(M, w); - else if (std::abs(M[w][i])>std::abs(M[w][max_idx_row[w]])) - max_idx_row[w]=i; - - } - - for (int w=i+1; w < j; w++) { - M[w][i] = M[i][w]; - M[i][w] = c*M[i][w] - s*M[w][j]; - } - - for (int w=j+1; w < n; w++) { - M[w][i] = M[i][w]; - M[i][w] = c*M[i][w] - s*M[j][w]; - } - - max_idx_row[i] = MaxEntryRow(M, i); - - for (int w=0; w < i; w++) { - M[w][j] = s*M[i][w] + c*M[w][j]; - if (j == max_idx_row[w]) - max_idx_row[w] = MaxEntryRow(M, w); - else if (std::abs(M[w][j])>std::abs(M[w][max_idx_row[w]])) - max_idx_row[w]=j; - - } - - for (int w=i+1; w < j; w++) { - M[w][j] = s*M[w][i] + c*M[w][j]; - if (j == max_idx_row[w]) - max_idx_row[w] = MaxEntryRow(M, w); - else if (std::abs(M[w][j])>std::abs(M[w][max_idx_row[w]])) - max_idx_row[w]=j; - } - - for (int w=j+1; w < n; w++) - M[j][w] = s*M[w][i] + c*M[j][w]; - - max_idx_row[j] = MaxEntryRow(M, j); - -} - -template -void Jacobi:: - ApplyRotLeft(Matrix E, int i, int j) -{ - for (int v = 0; v < n; v++) { - Scalar Eiv = E[i][v]; - E[i][v] = c*E[i][v] - s*E[j][v]; - E[j][v] = s*Eiv + c*E[j][v]; - } -} - -template -void Jacobi:: - ApplyRotLeft_1DArray(double *E, int i, int j) -{ - for (int v = 0; v < n; v++) { - Scalar Eiv = E[i*n+v]; - E[i*n+v] = c*E[i*n+v] - s*E[j*n+v]; - E[j*n+v] = s*Eiv + c*E[j*n+v]; - } -} - -template -int Jacobi:: - MaxEntryRow(Scalar const *const *M, int i) const -{ - int j_max = i+1; - for(int j = i+2; j < n; j++) - if (std::abs(M[i][j]) > std::abs(M[i][j_max])) - j_max = j; - return j_max; -} - -template -void Jacobi:: - MaxEntry(Scalar const *const *M, - int& i_max, int& j_max) const { - - i_max = 0; - j_max = max_idx_row[i_max]; - Scalar max_entry = std::abs(M[i_max][j_max]); - int nm1 = n-1; - for (int i=1; i < nm1; i++) { - int j = max_idx_row[i]; - if (std::abs(M[i][j]) > max_entry) { - max_entry = std::abs(M[i][j]); - i_max = i; - j_max = j; - } - } - -} - -template -void Jacobi:: - SortRows(Vector eval, Matrix evec, int n, - SortCriteria sort_criteria) const -{ - for (int i = 0; i < n-1; i++) { - int i_max = i; - for (int j = i+1; j < n; j++) { - switch (sort_criteria) { - case SORT_DECREASING_EVALS: - if (eval[j] > eval[i_max]) - i_max = j; - break; - case SORT_INCREASING_EVALS: - if (eval[j] < eval[i_max]) - i_max = j; - break; - case SORT_DECREASING_ABS_EVALS: - if (std::abs(eval[j]) > std::abs(eval[i_max])) - i_max = j; - break; - case SORT_INCREASING_ABS_EVALS: - if (std::abs(eval[j]) < std::abs(eval[i_max])) - i_max = j; - break; - default: - break; - } - } - std::swap(eval[i], eval[i_max]); - for (int k = 0; k < n; k++) - std::swap(evec[i][k], evec[i_max][k]); - } -} - -template -void Jacobi::Init() -{ - n = 0; - M = nullptr; - max_idx_row = nullptr; -} - -template -void Jacobi::SetSize(int n) -{ - Dealloc(); - Alloc(n); -} - -template -void Jacobi::Alloc(int N) -{ - n = N; - if (n > 0) { - max_idx_row = new int[n]; - Alloc2D(n, n, &M); - } -} - -template -void Jacobi:: -Dealloc() { - if (max_idx_row) { - delete [] max_idx_row; - max_idx_row = nullptr; - } - Dealloc2D(&M); - Init(); -} - -template -Jacobi:: - Jacobi(const Jacobi& source) -{ - Init(); - SetSize(source.n); - - std::copy(source.max_idx_row, - source.max_idx_row + n,max_idx_row); - for (int i = 0; i < n; i++) - std::copy(source.M[i],source.M[i] + n,M[i]); - -} - -template -void Jacobi:: - swap(Jacobi &other) -{ - std::swap(n, other.n); - std::swap(max_idx_row, other.max_idx_row); - std::swap(M, other.M); -} - -template -Jacobi:: - Jacobi(Jacobi&& other) -{ - Init(); - this->swap(other); -} - -template -Jacobi& - Jacobi:: - operator = (Jacobi - source) -{ - this->swap(source); - return *this; -} - -} // namespace jacobi - - -#endif //#ifndef _JACOBI_HPP - - -#endif /* SRC_SOT_MLIAP_SO3_MATH_H_ */ +#endif /* LMP_MLIAP_SO3_MATH_H_ */ From c6d950d35eba3a05f939f9accd396f0719b4a009 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 12 Jun 2021 13:10:56 -0400 Subject: [PATCH 196/726] update googletest --- cmake/Modules/GTest.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cmake/Modules/GTest.cmake b/cmake/Modules/GTest.cmake index 211b506d2f..c66ccffa98 100644 --- a/cmake/Modules/GTest.cmake +++ b/cmake/Modules/GTest.cmake @@ -7,8 +7,8 @@ else() endif() include(ExternalProject) -set(GTEST_URL "https://github.com/google/googletest/archive/release-1.10.0.tar.gz" CACHE STRING "URL for GTest tarball") -set(GTEST_MD5 "ecd1fa65e7de707cd5c00bdac56022cd" CACHE STRING "MD5 checksum of GTest tarball") +set(GTEST_URL "https://github.com/google/googletest/archive/release-1.11.0.tar.gz" CACHE STRING "URL for GTest tarball") +set(GTEST_MD5 "e8a8df240b6938bb6384155d4c37d937" CACHE STRING "MD5 checksum of GTest tarball") mark_as_advanced(GTEST_URL) mark_as_advanced(GTEST_MD5) ExternalProject_Add(googletest From 7f261a2801ab84669f11b4d0ee4177cd9acc2f3e Mon Sep 17 00:00:00 2001 From: macstein Date: Sat, 12 Jun 2021 10:36:37 -0700 Subject: [PATCH 197/726] update --- src/MLIAP/mliap_so3.cpp | 10 ++++++++-- src/MLIAP/mliap_so3_math.h | 10 +++++++++- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/src/MLIAP/mliap_so3.cpp b/src/MLIAP/mliap_so3.cpp index 2027119d86..97e6abb010 100644 --- a/src/MLIAP/mliap_so3.cpp +++ b/src/MLIAP/mliap_so3.cpp @@ -477,8 +477,14 @@ void MLIAP_SO3::compute_W(int nmax, double *arr) delete sqrtD; delete tempM; - delete temparr; - delete tempvl; + for (int iy=0; iy Jacobi_v2; int SO3Math::jacobin(int n, double const* const* mat, double *eval, double **evec) { int i,j; - double mat_cpy[n][n]; + double **mat_cpy; + + mat_cpy = new double* [n]; + for (int iy=0; iy Date: Sat, 12 Jun 2021 13:23:02 -0700 Subject: [PATCH 198/726] update --- src/MLIAP/mliap_descriptor_so3.cpp | 54 ++++++++++++++++-------------- 1 file changed, 28 insertions(+), 26 deletions(-) diff --git a/src/MLIAP/mliap_descriptor_so3.cpp b/src/MLIAP/mliap_descriptor_so3.cpp index ee8eb87cb6..88bd7052b7 100644 --- a/src/MLIAP/mliap_descriptor_so3.cpp +++ b/src/MLIAP/mliap_descriptor_so3.cpp @@ -21,6 +21,7 @@ #include "mliap_data.h" #include "pair_mliap.h" #include "mliap_so3.h" +#include "tokenizer.h" #include #include @@ -85,7 +86,7 @@ void MLIAPDescriptorSO3::read_paramfile(char *paramfilename) while (1) { if (comm->me == 0) { - ptr = fgets(line,MAXLINE,fpparam); + ptr = utils::fgets_trunc(line,MAXLINE,fpparam); if (ptr == nullptr) { eof = 1; fclose(fpparam); @@ -106,39 +107,40 @@ void MLIAPDescriptorSO3::read_paramfile(char *paramfilename) // words = ptrs to all words in line // strip single and double quotes from words - char* keywd = strtok(line,"' \t\n\r\f"); - char* keyval = strtok(nullptr,"' \t\n\r\f"); + Tokenizer p(line,"' \t\n\r\f"); + std::string skeywd=p.next(); + std::string skeyval=p.next(); if (comm->me == 0) { - utils::logmesg(lmp, fmt::format("SO3 keyword {} {} \n", - keywd, keyval)); + utils::logmesg(lmp, "SO3 keyword {} {} \n", + skeywd, skeyval); } // check for keywords with one value per element - if (strcmp(keywd,"elems") == 0 || strcmp(keywd,"radelems") - == 0 || strcmp(keywd,"welems") == 0) { + if (strcmp(skeywd.c_str(),"elems") == 0 || strcmp(skeywd.c_str(),"radelems") + == 0 || strcmp(skeywd.c_str(),"welems") == 0) { if (nelementsflag == 0 || nwords != nelements+1) error->all(FLERR,"Incorrect SO3 parameter file"); - if (strcmp(keywd,"elems") == 0) { + if (strcmp(skeywd.c_str(),"elems") == 0) { for (int ielem = 0; ielem < nelements; ielem++) { - elements[ielem] = utils::strdup(keyval); - keyval = strtok(nullptr,"' \t\n\r\f"); + elements[ielem] = utils::strdup(skeyval); + if(ielem < nelements -1) skeyval=p.next(); } elementsflag = 1; - } else if (strcmp(keywd,"radelems") == 0) { + } else if (strcmp(skeywd.c_str(),"radelems") == 0) { for (int ielem = 0; ielem < nelements; ielem++) { - radelem[ielem] = utils::numeric(FLERR,keyval,false,lmp); - keyval = strtok(nullptr,"' \t\n\r\f"); + radelem[ielem] = utils::numeric(FLERR,skeyval.c_str(),false,lmp); + if(ielem < nelements -1) skeyval=p.next(); } radelemflag = 1; - } else if (strcmp(keywd,"welems") == 0) { + } else if (strcmp(skeywd.c_str(),"welems") == 0) { for (int ielem = 0; ielem < nelements; ielem++) { - wjelem[ielem] = atof(keyval); - keyval = strtok(nullptr,"' \t\n\r\f"); + wjelem[ielem] = utils::numeric(FLERR,skeyval.c_str(),false,lmp); + if(ielem < nelements -1) skeyval=p.next(); } wjelemflag = 1; } @@ -150,25 +152,25 @@ void MLIAPDescriptorSO3::read_paramfile(char *paramfilename) if (nwords != 2) error->all(FLERR,"Incorrect SO3 parameter file"); - if (strcmp(keywd,"nelems") == 0) { - nelements = atoi(keyval); + if (strcmp(skeywd.c_str(),"nelems") == 0) { + nelements = utils::inumeric(FLERR,skeyval.c_str(),false,lmp); elements = new char*[nelements]; memory->create(radelem,nelements, "mliap_so3_descriptor:radelem"); memory->create(wjelem,nelements, "mliap_so3_descriptor:wjelem"); nelementsflag = 1; - } else if (strcmp(keywd,"rcutfac") == 0) { - rcutfac = atof(keyval); + } else if (strcmp(skeywd.c_str(),"rcutfac") == 0) { + rcutfac = utils::numeric(FLERR,skeyval.c_str(),false,lmp); rcutfacflag = 1; - } else if (strcmp(keywd,"nmax") == 0) { - nmax = atoi(keyval); + } else if (strcmp(skeywd.c_str(),"nmax") == 0) { + nmax = utils::inumeric(FLERR,skeyval.c_str(),false,lmp); nmaxflag = 1; - } else if (strcmp(keywd,"lmax") == 0) { - lmax = atoi(keyval); + } else if (strcmp(skeywd.c_str(),"lmax") == 0) { + lmax = utils::inumeric(FLERR,skeyval.c_str(),false,lmp); lmaxflag = 1; - } else if (strcmp(keywd,"alpha") == 0) { - alpha = atof(keyval); + } else if (strcmp(skeywd.c_str(),"alpha") == 0) { + alpha = utils::numeric(FLERR,skeyval.c_str(),false,lmp); alphaflag = 1; } else error->all(FLERR,"Incorrect SO3 parameter file"); From 6acb7678472afc5c35f557e32bbba0e494cf6cd7 Mon Sep 17 00:00:00 2001 From: macstein Date: Sat, 12 Jun 2021 14:53:35 -0700 Subject: [PATCH 199/726] update --- src/MLIAP/mliap_descriptor_so3.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/MLIAP/mliap_descriptor_so3.cpp b/src/MLIAP/mliap_descriptor_so3.cpp index 88bd7052b7..d8e45f797d 100644 --- a/src/MLIAP/mliap_descriptor_so3.cpp +++ b/src/MLIAP/mliap_descriptor_so3.cpp @@ -50,6 +50,16 @@ MLIAPDescriptorSO3::MLIAPDescriptorSO3(LAMMPS *lmp, MLIAPDescriptorSO3::~MLIAPDescriptorSO3() { + + if (nelements) { + for (int i = 0; i < nelements; i++) + delete[] elements[i]; + delete[] elements; + memory->destroy(radelem); + memory->destroy(wjelem); + memory->destroy(cutsq); + } + delete so3ptr; } From 34608aba9b258e816ebcf321634260f842d1b8b0 Mon Sep 17 00:00:00 2001 From: macstein Date: Sat, 12 Jun 2021 15:06:10 -0700 Subject: [PATCH 200/726] update --- src/MLIAP/mliap_so3.cpp | 43 ----------------------------------------- src/MLIAP/mliap_so3.h | 7 ------- 2 files changed, 50 deletions(-) diff --git a/src/MLIAP/mliap_so3.cpp b/src/MLIAP/mliap_so3.cpp index 97e6abb010..4008dc3465 100644 --- a/src/MLIAP/mliap_so3.cpp +++ b/src/MLIAP/mliap_so3.cpp @@ -337,49 +337,6 @@ double MLIAP_SO3::memory_usage() return bytes; } -void MLIAP_SO3::swap(double *a, double *b) -{ - double t = *a; - *a = *b; - *b = t; -} - -int MLIAP_SO3::partition(double arr[], int low, int high, - double arrv[], int n) -{ - double pivot = arr[high]; - int i = (low - 1); - int vi; - - for (int j = low; j <= high - 1; j++) - - if (arr[j] >= pivot) { - i++; - swap(&arr[i], &arr[j]); - for (vi = 0; vi < n; vi++) - swap(&arrv[vi * n + i], &arrv[vi * n + j]); - } - - swap(&arr[i + 1], &arr[high]); - for (vi = 0; vi < n; vi++) - swap(&arrv[vi * n + i + 1], &arrv[vi * n + high]); - - return (i + 1); -} - -void MLIAP_SO3::quickSort(double arr[], int low, int high, - double arrv[], int n) -{ - if (low < high) { - - int pi = partition(arr, low, high, arrv, n); - - quickSort(arr, low, pi - 1, arrv, n); - quickSort(arr, pi + 1, high, arrv, n); - } - -} - void MLIAP_SO3::compute_W(int nmax, double *arr) { int alpha, beta, temp1, temp2; diff --git a/src/MLIAP/mliap_so3.h b/src/MLIAP/mliap_so3.h index 2e0d757dcf..0cebe0115f 100644 --- a/src/MLIAP/mliap_so3.h +++ b/src/MLIAP/mliap_so3.h @@ -98,13 +98,6 @@ class MLIAP_SO3: protected Pointers { int lpl2, int indpl); void compute_W(int nmax, double *arr); - - void swap(double *a, double *b); - int partition(double arr[], int low, int high, double arrv[], - int n); - void quickSort(double arr[], int low, int high, double arrv[], - int n); - }; } From 55c2d51476106426fba0d517befc105dcebf9fcd Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 12 Jun 2021 21:19:05 -0400 Subject: [PATCH 201/726] better support for newer compilers. prefer flang with clang --- cmake/CMakeLists.txt | 3 ++- cmake/Modules/Packages/USER-HDNNP.cmake | 4 ++-- cmake/presets/clang.cmake | 11 ++++++++--- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index c6dafe902a..ab1fd6bba6 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -257,7 +257,8 @@ if(BUILD_OMP) endif() if(((CMAKE_CXX_COMPILER_ID STREQUAL "GNU") AND (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 9.0)) OR - (CMAKE_CXX_COMPILER_ID STREQUAL "PGI") OR + (CMAKE_CXX_COMPILER_ID STREQUAL "PGI") OR (CMAKE_CXX_COMPILER_ID STREQUAL "NVHPC") OR + (CMAKE_CXX_COMPILER_ID STREQUAL "IntelLLVM") OR (CMAKE_CXX_COMPILER_ID STREQUAL "XLClang") OR ((CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang") AND (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 10.0)) OR ((CMAKE_CXX_COMPILER_ID STREQUAL "Clang") AND (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 10.0)) OR ((CMAKE_CXX_COMPILER_ID STREQUAL "Intel") AND (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 19.0))) diff --git a/cmake/Modules/Packages/USER-HDNNP.cmake b/cmake/Modules/Packages/USER-HDNNP.cmake index 02b343e42f..44873b9929 100644 --- a/cmake/Modules/Packages/USER-HDNNP.cmake +++ b/cmake/Modules/Packages/USER-HDNNP.cmake @@ -16,13 +16,13 @@ if(DOWNLOAD_N2P2) if((CMAKE_CXX_COMPILER_ID STREQUAL "Clang") OR (CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang")) set(N2P2_COMP llvm) set(N2P2_CXX_STD "-std=c++11") - elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Intel") + elseif((CMAKE_CXX_COMPILER_ID STREQUAL "Intel") OR (CMAKE_CXX_COMPILER_ID STREQUAL "IntelLLVM")) set(N2P2_COMP intel) set(N2P2_CXX_STD "-std=c++11") elseif(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") set(N2P2_COMP gnu) set(N2P2_CXX_STD "-std=gnu++11") - elseif(CMAKE_CXX_COMPILER_ID STREQUAL "PGI") + elseif((CMAKE_CXX_COMPILER_ID STREQUAL "PGI") OR (CMAKE_CXX_COMPILER_ID STREQUAL "NVHPC")) set(N2P2_COMP gnu) set(N2P2_CXX_STD "--c++11") else() # default diff --git a/cmake/presets/clang.cmake b/cmake/presets/clang.cmake index 9ea077b14c..073bcec3f2 100644 --- a/cmake/presets/clang.cmake +++ b/cmake/presets/clang.cmake @@ -1,13 +1,18 @@ # preset that will enable clang/clang++ with support for MPI and OpenMP (on Linux boxes) +# prefer flang over gfortran, if available +find_program(CLANG_FORTRAN NAMES flang gfortran f95) +set(ENV{OMPI_FC} ${CLANG_FORTRAN}) + set(CMAKE_CXX_COMPILER "clang++" CACHE STRING "" FORCE) set(CMAKE_C_COMPILER "clang" CACHE STRING "" FORCE) +set(CMAKE_Fortran_COMPILER ${CLANG_FORTRAN} CACHE STRING "" FORCE) set(CMAKE_CXX_FLAGS_DEBUG "-Wall -Wextra -g" CACHE STRING "" FORCE) set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-Wall -Wextra -g -O2 -DNDEBUG" CACHE STRING "" FORCE) set(CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG" CACHE STRING "" FORCE) -set(CMAKE_Fortran_FLAGS_DEBUG "-Wall -Wextra -g" CACHE STRING "" FORCE) -set(CMAKE_Fortran_FLAGS_RELWITHDEBINFO "-Wall -Wextra -g -O2 -DNDEBUG" CACHE STRING "" FORCE) -set(CMAKE_Fortran_FLAGS_RELEASE "-O3 -DNDEBUG" CACHE STRING "" FORCE) +set(CMAKE_Fortran_FLAGS_DEBUG "-Wall -Wextra -g -std=f95" CACHE STRING "" FORCE) +set(CMAKE_Fortran_FLAGS_RELWITHDEBINFO "-Wall -Wextra -g -O2 -DNDEBUG -std=f95" CACHE STRING "" FORCE) +set(CMAKE_Fortran_FLAGS_RELEASE "-O3 -DNDEBUG -std=f95" CACHE STRING "" FORCE) set(CMAKE_C_FLAGS_DEBUG "-Wall -Wextra -g" CACHE STRING "" FORCE) set(CMAKE_C_FLAGS_RELWITHDEBINFO "-Wall -Wextra -g -O2 -DNDEBUG" CACHE STRING "" FORCE) set(CMAKE_C_FLAGS_RELEASE "-O3 -DNDEBUG" CACHE STRING "" FORCE) From 87ea63266b21bf9e8561e30f3cc3b553d377ff0a Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 12 Jun 2021 21:20:28 -0400 Subject: [PATCH 202/726] fix a few formatting issues, silence compiler warnings, remove dead code --- src/MLIAP/mliap_descriptor_so3.cpp | 30 ++++--------- src/MLIAP/mliap_so3.cpp | 67 ++++++++++-------------------- 2 files changed, 30 insertions(+), 67 deletions(-) diff --git a/src/MLIAP/mliap_descriptor_so3.cpp b/src/MLIAP/mliap_descriptor_so3.cpp index d8e45f797d..b970826460 100644 --- a/src/MLIAP/mliap_descriptor_so3.cpp +++ b/src/MLIAP/mliap_descriptor_so3.cpp @@ -50,7 +50,6 @@ MLIAPDescriptorSO3::MLIAPDescriptorSO3(LAMMPS *lmp, MLIAPDescriptorSO3::~MLIAPDescriptorSO3() { - if (nelements) { for (int i = 0; i < nelements; i++) delete[] elements[i]; @@ -59,7 +58,6 @@ MLIAPDescriptorSO3::~MLIAPDescriptorSO3() memory->destroy(wjelem); memory->destroy(cutsq); } - delete so3ptr; } @@ -85,9 +83,8 @@ void MLIAPDescriptorSO3::read_paramfile(char *paramfilename) if (comm->me == 0) { fpparam = utils::open_potential(paramfilename,lmp,nullptr); if (fpparam == nullptr) - error->one(FLERR, - ("Cannot open SO3 parameter file {}: {}", - paramfilename, utils::getsyserror())); + error->one(FLERR, "Cannot open SO3 parameter file {}: {}", + paramfilename, utils::getsyserror()); } char line[MAXLINE],*ptr; @@ -208,24 +205,18 @@ void MLIAPDescriptorSO3::read_paramfile(char *paramfilename) cut = (radelem[ielem]+radelem[jelem])*rcutfac; cutsq[ielem][jelem] = cutsq[jelem][ielem] = cut*cut; } - } - } void MLIAPDescriptorSO3::compute_descriptors(class MLIAPData* data) { - - so3ptr->spectrum(data->nlistatoms,data->numneighs, - data->jelems,wjelem,data->rij,nmax, lmax, rcutfac,alpha, - data->ndescriptors); + so3ptr->spectrum(data->nlistatoms,data->numneighs,data->jelems,wjelem, + data->rij,nmax,lmax,rcutfac,alpha,data->ndescriptors); for (int ii = 0; ii < data->nlistatoms; ii++) { for (int icoeff = 0; icoeff < data->ndescriptors; icoeff++) - data->descriptors[ii][icoeff] = - so3ptr->m_plist_r[ii*(data->ndescriptors)+icoeff]; + data->descriptors[ii][icoeff] = so3ptr->m_plist_r[ii*(data->ndescriptors)+icoeff]; } - } void MLIAPDescriptorSO3::compute_forces(class MLIAPData* data) @@ -234,21 +225,14 @@ void MLIAPDescriptorSO3::compute_forces(class MLIAPData* data) for (int ii = 0; ii < data->nlistatoms; ii++) npairs+=data->numneighs[ii]; - int totali; - - so3ptr->spectrum_dxdr(data->nlistatoms,data->numneighs, - data->jelems,wjelem,data->rij,nmax, lmax, rcutfac,alpha,npairs, - data->ndescriptors); - - + so3ptr->spectrum_dxdr(data->nlistatoms,data->numneighs,data->jelems,wjelem, + data->rij,nmax,lmax,rcutfac,alpha,npairs,data->ndescriptors); double fij[3]; double **f = atom->f; - int ij = 0; for (int ii = 0; ii < data->nlistatoms; ii++) { const int i = data->iatoms[ii]; - const int ielem = data->ielems[ii]; // insure rij, inside, wj, and rcutij are of size jnum diff --git a/src/MLIAP/mliap_so3.cpp b/src/MLIAP/mliap_so3.cpp index 4008dc3465..16dd333ec6 100644 --- a/src/MLIAP/mliap_so3.cpp +++ b/src/MLIAP/mliap_so3.cpp @@ -277,7 +277,7 @@ void MLIAP_SO3::init() m_numYlms = (m_lmax + 1) * (m_lmax + 1); } -void MLIAP_SO3::init_arrays(int natoms, int *numneighs, int ncoefs) +void MLIAP_SO3::init_arrays(int natoms, int * /*numneighs*/, int ncoefs) { int totali = natoms * ncoefs; memory->destroy(m_plist_r); @@ -353,10 +353,7 @@ void MLIAP_SO3::compute_W(int nmax, double *arr) } } - char Nchar = 'V'; - char charN = 'N'; - char charT = 'T'; - int i, j, k, l, totaln, n = nmax; + int i, j, k, n = nmax; double *outeig = new double[n]; double *outeigvec = new double[n * n]; double *arrinv = new double[n * n]; @@ -446,9 +443,9 @@ void MLIAP_SO3::compute_W(int nmax, double *arr) } void MLIAP_SO3::compute_pi(int nmax, int lmax, double *clisttot_r, - double *clisttot_i, int lcl1, int lcl2, + double *clisttot_i, int /*lcl1*/, int lcl2, double *plist_r, double *plist_i, - int lpl1, int lpl2, int indpl) + int /*lpl1*/, int lpl2, int indpl) { int n1, n2, j, l, m, i = 0; double norm; @@ -485,7 +482,7 @@ double MLIAP_SO3::phi(double r, int alpha, double rcut) } double MLIAP_SO3::compute_g(double r, int n, int nmax,double rcut, - double *w, int lw1, int lw2) + double *w, int lw1, int /*lw2*/) { double Sum; Sum = 0.0; @@ -526,11 +523,11 @@ double MLIAP_SO3::compute_dsfac(double r, double rcut) } void MLIAP_SO3::compute_dpidrj(int nmax, int lmax, double *clisttot_r, - double *clisttot_i, int lctot1, + double *clisttot_i, int /*lctot1*/, int lctot2, double *dclist_r, - double *dclist_i, int ldcli1, + double *dclist_i, int /*ldcli1*/, int ldcli2, int ldcli3, - double *dplist_r, int dpli1, int dpli2) + double *dplist_r, int /*dpli1*/, int dpli2) { double temp_r; double norm; @@ -564,7 +561,6 @@ void MLIAP_SO3::compute_dpidrj(int nmax, int lmax, double *clisttot_r, i += 1; } } - } int MLIAP_SO3::get_sum(int istart, int iend, int id, int imult) @@ -576,7 +572,6 @@ int MLIAP_SO3::get_sum(int istart, int iend, int id, int imult) ires += i * imult; return ires; - } void MLIAP_SO3::compute_uarray_recursive(double x, double y, @@ -585,7 +580,7 @@ void MLIAP_SO3::compute_uarray_recursive(double x, double y, double *ulist_i, int *idxu_block, double *rootpqarray, - int roi1, int roi2) + int /*roi1*/, int /*roi2*/) { int l, llu, llup, mb, ma, mbpar, mapar; double rootpq; @@ -678,7 +673,7 @@ void MLIAP_SO3::compute_uarray_recursive(double x, double y, void MLIAP_SO3::init_garray(int nmax, int lmax, double rcut, double alpha, double *w, int lw1, - int lw2, double *g_array, int lg1, + int lw2, double *g_array, int /*lg1*/, int lg2) { int i, n, Nmax = (nmax + lmax + 1) * 10; @@ -700,16 +695,14 @@ void MLIAP_SO3::init_garray(int nmax, int lmax, double rcut, } void MLIAP_SO3::get_sbes_array(int natoms, int *numneighs, - int *jelems, double *wjelem, - double **rij, int nmax, int lmax, - double rcut, double alpha, int ncoefs) + int * /*jelems*/, double * /*wjelem*/, + double **rij, int /*nmax*/, int lmax, + double rcut, double alpha, int /*ncoefs*/) { - int i, j, k, l, ti, n; - int totali; - + int i, j; int neighbor; - double x, y, z, r, ri, xi, rb; + double x, y, z, ri, xi, rb; double sa, sb; double pfac1, pfac2, pfac3, pfac4; double exts; @@ -788,16 +781,15 @@ void MLIAP_SO3::get_sbes_array(int natoms, int *numneighs, } void MLIAP_SO3::get_rip_array(int natoms, int *numneighs, - int *jelems, double *wjelem, + int * /*jelems*/, double * /*wjelem*/, double **rij, int nmax, int lmax, - double rcut, double alpha, int ncoefs) + double /*rcut*/, double alpha, int /*ncoefs*/) { - int i, j, k, l, ti, n; - int totali; + int i, l, n; double integrald, integral = 0.0; int neighbor; - double x, y, z, r, ri, expfac, xi, rb; + double x, y, z, ri, expfac; int ipair = 0; @@ -854,15 +846,11 @@ void MLIAP_SO3::spectrum(int natoms, int *numneighs, int *jelems, int totaln = 0; int totali; double Ylm_r, Ylm_i; - double expfac; - int i, j, k, l, ti; - int numps, nstart, nsite, n, weight, neighbor; - double isite; + int i, ti; + int weight, neighbor; double x, y, z, r; double r_int; int twolmax = 2 * (lmax + 1); - double pfac1 = 1.0 / 4.0 / MY_PI; - double pfac2; int findex, gindex; int ipair = 0; double sfac; @@ -994,21 +982,17 @@ void MLIAP_SO3::spectrum_dxdr(int natoms, int *numneighs, double dr_int[3]; double Ylm_r, Ylm_i; - int ellpl1, ellm1; double rvec[3]; double dexpfac[3]; double dfact[6]; - double expfac; - int i, j, k, l, ti; + int i, ti; double xcov0_r, xcov0_i, xcovpl1_r, xcovpl1_i, xcovm1_r, xcovm1_i; - double comj_r, comj_i; + double comj_i; double r_int; double r_int_temp; - double pfac1 = 1.0 / 4.0 / MY_PI; - double pfac2; double oneofr; int findex, gindex; @@ -1189,15 +1173,11 @@ void MLIAP_SO3::spectrum_dxdr(int natoms, int *numneighs, m_dYlm_i[tn] = 0.0; } - comj_r = 0.0; comj_i = 1.0 / sqrt(2.0); oneofr = 1.0 / r; i = 1; for (int l = 1; l < lmax + 1; l++) { - ellpl1 = get_sum(0, l + 2, 1, 2); - ellm1 = get_sum(0, l, 1, 2); - for (int m = -l; m < l + 1; m++) { dfact[0] = m_dfac0[l * m_dfac_l2 + m] * oneofr; @@ -1239,7 +1219,6 @@ void MLIAP_SO3::spectrum_dxdr(int natoms, int *numneighs, i += 1; } - } for (int ii = 0; ii < 3; ii++) From a9bf1a4372bfe0e5969a7f133d0503f8e60a6283 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 12 Jun 2021 21:24:16 -0400 Subject: [PATCH 203/726] apply clang-format --- src/MLIAP/mliap_so3_math.h | 144 ++++++++++++++++--------------------- 1 file changed, 61 insertions(+), 83 deletions(-) diff --git a/src/MLIAP/mliap_so3_math.h b/src/MLIAP/mliap_so3_math.h index 54f75da1ed..d40100e6c7 100644 --- a/src/MLIAP/mliap_so3_math.h +++ b/src/MLIAP/mliap_so3_math.h @@ -5,84 +5,75 @@ * Author: macstein */ -#ifndef LMP_MLIAP_SO3_MATH_H_ -#define LMP_MLIAP_SO3_MATH_H_ +#ifndef LMP_MLIAP_SO3_MATH_H +#define LMP_MLIAP_SO3_MATH_H #include "math_eigen_impl.h" -namespace SO3Math{ +namespace SO3Math { -int jacobin(int n,double const* const* mat, double *eval, double **evec); -int invert_matrix( int n,double *A, double *Ainv ); -int LUPdecompose( int n, double dtol, double *A, int *P ); -void LUPSolve( int n,double *A, double *B, int *P); +int jacobin(int n, double const *const *mat, double *eval, double **evec); +int invert_matrix(int n, double *A, double *Ainv); +int LUPdecompose(int n, double dtol, double *A, int *P); +void LUPSolve(int n, double *A, double *B, int *P); -} +} // namespace SO3Math using namespace MathEigen; -typedef Jacobi Jacobi_v2; -int SO3Math::jacobin(int n, double const* const* mat, double *eval, double **evec) +typedef Jacobi Jacobi_v2; +int SO3Math::jacobin(int n, double const *const *mat, double *eval, double **evec) { - int i,j; + int i, j; double **mat_cpy; - mat_cpy = new double* [n]; - for (int iy=0; iy maxA) - maxA = Atemp; + for (j = 0; j < n; j++) { + Atemp = fabs(A[i * n + j]); + if (Atemp > maxA) maxA = Atemp; } - if(maxA < dtol) - return 1; + if (maxA < dtol) return 1; - normi[i] = 1.0/maxA ; + normi[i] = 1.0 / maxA; } - for(j=0; j= maxA) { + Atemp = fabs(A[i * n + j]) * normi[i]; + if (Atemp >= maxA) { maxA = Atemp; maxi = i; } } - if(maxi != j) { - if( (j == (n-2)) && (A[j*n+j+1] == 0.0) ) + if (maxi != j) { + if ((j == (n - 2)) && (A[j * n + j + 1] == 0.0)) maxi = j; else { - for( k = 0; k < n; k++ ) { - Atemp = A[j*n+k]; - A[j*n+k] = A[maxi*n+k]; - A[maxi*n+k] = Atemp; + for (k = 0; k < n; k++) { + Atemp = A[j * n + k]; + A[j * n + k] = A[maxi * n + k]; + A[maxi * n + k] = Atemp; } - normi[maxi] = normi[j] ; + normi[maxi] = normi[j]; } } P[j] = maxi; - if(A[j*n+j] == 0.0) - A[j*n+j] = dtol; + if (A[j * n + j] == 0.0) A[j * n + j] = dtol; - if(j != (n-1)) { - Atemp = 1.0/A[j*n+j]; - for( i = (j+1) ; i < n; i++ ) - A[i*n+j] *= Atemp; + if (j != (n - 1)) { + Atemp = 1.0 / A[j * n + j]; + for (i = (j + 1); i < n; i++) A[i * n + j] *= Atemp; } - } delete normi; - return 0; - } void SO3Math::LUPSolve(int n, double *A, double *B, int *P) @@ -166,24 +148,20 @@ void SO3Math::LUPSolve(int n, double *A, double *B, int *P) int i, j; double dtemp; - for(i=0; i= 0; j--) - dtemp -= A[i*n+j] * B[j]; + for (j = (i - 1); j >= 0; j--) dtemp -= A[i * n + j] * B[j]; B[i] = dtemp; } - for(i=(n-1); i>=0; i--) { - for(j=(i+1); j= 0; i--) { + for (j = (i + 1); j < n; j++) B[i] -= A[i * n + j] * B[j]; - B[i] /= A[i*n+i]; + B[i] /= A[i * n + i]; } - } - #endif /* LMP_MLIAP_SO3_MATH_H_ */ From 5b91fd8193d9b1729451883585f44014324ff64d Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 12 Jun 2021 21:24:26 -0400 Subject: [PATCH 204/726] whitespace --- doc/src/compute_efield_atom.rst | 2 +- src/MLIAP/mliap_descriptor_so3.h | 3 --- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/doc/src/compute_efield_atom.rst b/doc/src/compute_efield_atom.rst index 68faccd8ad..1e87ad2556 100644 --- a/doc/src/compute_efield_atom.rst +++ b/doc/src/compute_efield_atom.rst @@ -53,7 +53,7 @@ The per-atom vector values will be in electric field :doc:`units `. Restrictions """""""""""" This compute is part of the USER-DIELECTRIC package. It is only enabled if -LAMMPS was built with that package. +LAMMPS was built with that package. Related commands """""""""""""""" diff --git a/src/MLIAP/mliap_descriptor_so3.h b/src/MLIAP/mliap_descriptor_so3.h index 78d8937e55..8ff6c1edee 100644 --- a/src/MLIAP/mliap_descriptor_so3.h +++ b/src/MLIAP/mliap_descriptor_so3.h @@ -16,7 +16,6 @@ #include "mliap_descriptor.h" - namespace LAMMPS_NS { class MLIAPDescriptorSO3 : public MLIAPDescriptor { @@ -50,9 +49,7 @@ class MLIAPDescriptorSO3 : public MLIAPDescriptor { int twojmax, switchflag, bzeroflag; int chemflag, bnormflag, wselfallflag; double rfac0, rmin0; - }; - } #endif From 110fcf70f97d8dceab2265e0657b4d673232fba9 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 12 Jun 2021 21:29:06 -0400 Subject: [PATCH 205/726] correct mismatched new type[] / delete --- src/MLIAP/mliap_so3.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/MLIAP/mliap_so3.cpp b/src/MLIAP/mliap_so3.cpp index 16dd333ec6..8bdb599da1 100644 --- a/src/MLIAP/mliap_so3.cpp +++ b/src/MLIAP/mliap_so3.cpp @@ -424,12 +424,12 @@ void MLIAP_SO3::compute_W(int nmax, double *arr) } - delete outeig; - delete outeigvec; - delete arrinv; + delete[] outeig; + delete[] outeigvec; + delete[] arrinv; - delete sqrtD; - delete tempM; + delete[] sqrtD; + delete[] tempM; for (int iy=0; iy Date: Sat, 12 Jun 2021 21:29:20 -0400 Subject: [PATCH 206/726] use floating point function --- src/MLIAP/mliap_so3.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/MLIAP/mliap_so3.cpp b/src/MLIAP/mliap_so3.cpp index 8bdb599da1..f9569e2fd1 100644 --- a/src/MLIAP/mliap_so3.cpp +++ b/src/MLIAP/mliap_so3.cpp @@ -1203,7 +1203,7 @@ void MLIAP_SO3::spectrum_dxdr(int natoms, int *numneighs, } xcovm1_r = dfact[4] * m_Ylms_r[m_ellpl1[l] + m - 1]; xcovm1_i = dfact[4] * m_Ylms_i[m_ellpl1[l] + m - 1]; - if (abs(m - 1.0) <= l - 1.0) { + if (fabs(m - 1.0) <= l - 1.0) { xcovm1_r -= dfact[5] * m_Ylms_r[m_ellm1[l] + m - 1]; xcovm1_i -= dfact[5] * m_Ylms_i[m_ellm1[l] + m - 1]; } From 9de5c9fc98003fbbc7462f5e047fdeb72ce68294 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 12 Jun 2021 21:33:01 -0400 Subject: [PATCH 207/726] correct homepage URLs --- src/MLIAP/mliap_descriptor_so3.cpp | 2 +- src/MLIAP/mliap_descriptor_so3.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/MLIAP/mliap_descriptor_so3.cpp b/src/MLIAP/mliap_descriptor_so3.cpp index b970826460..31fcf29303 100644 --- a/src/MLIAP/mliap_descriptor_so3.cpp +++ b/src/MLIAP/mliap_descriptor_so3.cpp @@ -1,7 +1,7 @@ // clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - https://lammps.sandia.gov/, Sandia National Laboratories + https://www.lammps.org/, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract diff --git a/src/MLIAP/mliap_descriptor_so3.h b/src/MLIAP/mliap_descriptor_so3.h index 8ff6c1edee..d744b4da52 100644 --- a/src/MLIAP/mliap_descriptor_so3.h +++ b/src/MLIAP/mliap_descriptor_so3.h @@ -1,6 +1,6 @@ /* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories + https://www.lammps.org/ Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract From aa2940448e47c59a4a8de5330cb7ce02dc94dcd1 Mon Sep 17 00:00:00 2001 From: macstein <31542628+macstein@users.noreply.github.com> Date: Sat, 12 Jun 2021 19:49:32 -0700 Subject: [PATCH 208/726] Update mliap_model_nn.cpp set nonlinearflag in NN model --- src/MLIAP/mliap_model_nn.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/MLIAP/mliap_model_nn.cpp b/src/MLIAP/mliap_model_nn.cpp index f3dec942a1..4a81c84a26 100644 --- a/src/MLIAP/mliap_model_nn.cpp +++ b/src/MLIAP/mliap_model_nn.cpp @@ -41,6 +41,7 @@ MLIAPModelNN::MLIAPModelNN(LAMMPS* lmp, char* coefffilename) : activation = nullptr; scale = nullptr; if (coefffilename) read_coeffs(coefffilename); + nonlinearflag = 1; } /* ---------------------------------------------------------------------- */ From af34348e8aa7860abbbe089e01bbe2584fdae7f4 Mon Sep 17 00:00:00 2001 From: macstein Date: Sun, 13 Jun 2021 00:01:31 -0700 Subject: [PATCH 209/726] removed unused parameters --- src/MLIAP/mliap_so3.cpp | 58 ++++++++++++++++++----------------------- src/MLIAP/mliap_so3.h | 28 +++++++++----------- 2 files changed, 37 insertions(+), 49 deletions(-) diff --git a/src/MLIAP/mliap_so3.cpp b/src/MLIAP/mliap_so3.cpp index f9569e2fd1..332c8be6fe 100644 --- a/src/MLIAP/mliap_so3.cpp +++ b/src/MLIAP/mliap_so3.cpp @@ -277,7 +277,7 @@ void MLIAP_SO3::init() m_numYlms = (m_lmax + 1) * (m_lmax + 1); } -void MLIAP_SO3::init_arrays(int natoms, int * /*numneighs*/, int ncoefs) +void MLIAP_SO3::init_arrays(int natoms, int ncoefs) { int totali = natoms * ncoefs; memory->destroy(m_plist_r); @@ -443,9 +443,9 @@ void MLIAP_SO3::compute_W(int nmax, double *arr) } void MLIAP_SO3::compute_pi(int nmax, int lmax, double *clisttot_r, - double *clisttot_i, int /*lcl1*/, int lcl2, + double *clisttot_i, int lcl2, double *plist_r, double *plist_i, - int /*lpl1*/, int lpl2, int indpl) + int lpl2, int indpl) { int n1, n2, j, l, m, i = 0; double norm; @@ -482,7 +482,7 @@ double MLIAP_SO3::phi(double r, int alpha, double rcut) } double MLIAP_SO3::compute_g(double r, int n, int nmax,double rcut, - double *w, int lw1, int /*lw2*/) + double *w, int lw1) { double Sum; Sum = 0.0; @@ -523,11 +523,11 @@ double MLIAP_SO3::compute_dsfac(double r, double rcut) } void MLIAP_SO3::compute_dpidrj(int nmax, int lmax, double *clisttot_r, - double *clisttot_i, int /*lctot1*/, + double *clisttot_i, int lctot2, double *dclist_r, - double *dclist_i, int /*ldcli1*/, + double *dclist_i, int ldcli2, int ldcli3, - double *dplist_r, int /*dpli1*/, int dpli2) + double *dplist_r, int dpli2) { double temp_r; double norm; @@ -579,8 +579,7 @@ void MLIAP_SO3::compute_uarray_recursive(double x, double y, int twol, double *ulist_r, double *ulist_i, int *idxu_block, - double *rootpqarray, - int /*roi1*/, int /*roi2*/) + double *rootpqarray) { int l, llu, llup, mb, ma, mbpar, mapar; double rootpq; @@ -688,16 +687,15 @@ void MLIAP_SO3::init_garray(int nmax, int lmax, double rcut, // r**2*g(n)(r)*e^(-alpha*r**2) g_array[(n - 1) * lg2 + i - 1] = rcut / 2 * MY_PI / Nmax * sqrt(1 - x * x) * xi * xi - * compute_g(xi, n, nmax, rcut, w, lw1, lw2) + * compute_g(xi, n, nmax, rcut, w, lw1) * exp(-alpha * xi * xi); } } void MLIAP_SO3::get_sbes_array(int natoms, int *numneighs, - int * /*jelems*/, double * /*wjelem*/, - double **rij, int /*nmax*/, int lmax, - double rcut, double alpha, int /*ncoefs*/) + double **rij, int lmax, + double rcut, double alpha) { int i, j; int neighbor; @@ -781,9 +779,7 @@ void MLIAP_SO3::get_sbes_array(int natoms, int *numneighs, } void MLIAP_SO3::get_rip_array(int natoms, int *numneighs, - int * /*jelems*/, double * /*wjelem*/, - double **rij, int nmax, int lmax, - double /*rcut*/, double alpha, int /*ncoefs*/) + double **rij, int nmax, int lmax, double alpha) { int i, l, n; double integrald, integral = 0.0; @@ -841,7 +837,7 @@ void MLIAP_SO3::spectrum(int natoms, int *numneighs, int *jelems, int ncoefs) { - init_arrays(natoms, numneighs, ncoefs); + init_arrays(natoms, ncoefs); int totaln = 0; int totali; @@ -878,11 +874,9 @@ void MLIAP_SO3::spectrum(int natoms, int *numneighs, int *jelems, memory->destroy(m_dplist_i); memory->create(m_dplist_i, totali, "MLIAP_SO3:m_dplist_i"); - get_sbes_array(natoms,numneighs,jelems,wjelem,rij,nmax, - lmax, rcut,alpha, ncoefs); + get_sbes_array(natoms,numneighs,rij,lmax,rcut,alpha); - get_rip_array(natoms,numneighs,jelems,wjelem,rij,nmax,lmax,rcut, - alpha, ncoefs); + get_rip_array(natoms,numneighs,rij,nmax,lmax,alpha); totali = natoms * ncoefs; for (i = 0; i < totali; i++) { @@ -924,7 +918,7 @@ void MLIAP_SO3::spectrum(int natoms, int *numneighs, int *jelems, } compute_uarray_recursive(x, y, z, r, twolmax, m_ulist_r, - m_ulist_i,m_idxu_block, m_rootpq, m_ldim, m_ldim); + m_ulist_i,m_idxu_block, m_rootpq); sfac=compute_sfac(r,rcut); @@ -962,8 +956,8 @@ void MLIAP_SO3::spectrum(int natoms, int *numneighs, int *jelems, } - compute_pi(nmax, lmax, m_clisttot_r, m_clisttot_i, nmax, - m_numYlms,m_plist_r, m_plist_i, natoms, ncoefs, ii); + compute_pi(nmax, lmax, m_clisttot_r, m_clisttot_i, + m_numYlms,m_plist_r, m_plist_i, ncoefs, ii); } @@ -1036,11 +1030,9 @@ void MLIAP_SO3::spectrum_dxdr(int natoms, int *numneighs, numps = nmax * (nmax + 1) * (lmax + 1) / 2; - get_sbes_array(natoms, numneighs, jelems, wjelem, rij, nmax, lmax, - rcut, alpha, ncoefs); + get_sbes_array(natoms, numneighs, rij, lmax, rcut, alpha); - get_rip_array(natoms, numneighs, jelems, wjelem, rij, nmax, lmax, - rcut, alpha, ncoefs); + get_rip_array(natoms, numneighs, rij, nmax, lmax, alpha); int twolmax = 2 * (lmax + 1); @@ -1079,7 +1071,7 @@ void MLIAP_SO3::spectrum_dxdr(int natoms, int *numneighs, } compute_uarray_recursive(x, y, z, r, twolmax, m_ulist_r, - m_ulist_i, m_idxu_block, m_rootpq, m_ldim, m_ldim); + m_ulist_i, m_idxu_block, m_rootpq); sfac=compute_sfac(r,rcut); @@ -1143,7 +1135,7 @@ void MLIAP_SO3::spectrum_dxdr(int natoms, int *numneighs, } compute_uarray_recursive(x, y, z, r, twolmax, m_ulist_r, - m_ulist_i, m_idxu_block, m_rootpq, m_ldim, m_ldim); + m_ulist_i, m_idxu_block, m_rootpq); ///////// compute_carray_wD //////// { @@ -1296,9 +1288,9 @@ void MLIAP_SO3::spectrum_dxdr(int natoms, int *numneighs, for (ti = 0; ti < totali; ti++) m_tempdp_r[ti] = 0.0; - compute_dpidrj(nmax, lmax, m_clisttot_r, m_clisttot_i, nmax, - m_numYlms, m_dclist_r, m_dclist_i, nmax, m_numYlms, 3, - m_tempdp_r, numps, 3); + compute_dpidrj(nmax, lmax, m_clisttot_r, m_clisttot_i, + m_numYlms, m_dclist_r, m_dclist_i, m_numYlms, 3, + m_tempdp_r, 3); for (int tn = 0; tn < totali; tn++) m_dplist_r[((idpair - 1) * (numps * 3)) + tn] += diff --git a/src/MLIAP/mliap_so3.h b/src/MLIAP/mliap_so3.h index 0cebe0115f..18d8073a5f 100644 --- a/src/MLIAP/mliap_so3.h +++ b/src/MLIAP/mliap_so3.h @@ -64,13 +64,11 @@ class MLIAP_SO3: protected Pointers { double CosinePrime(double Rij, double Rc); double compute_sfac(double r, double rcut); double compute_dsfac(double r, double rcut); - void get_sbes_array(int natoms, int *numneighs, int *jelems, - double *wjelem, double **rij, int nmax, int lmax, - double rcut, double alpha,int ncoefs); - void get_rip_array(int natoms, int *numneighs, int *jelems, - double *wjelem, double **rij, int nmax, int lmax, - double rcut, double alpha, int ncoefs); - void init_arrays(int natoms, int *numneighs, int ncoefs); + void get_sbes_array(int natoms, int *numneighs, double **rij, + int lmax, double rcut, double alpha); + void get_rip_array(int natoms, int *numneighs, + double **rij, int nmax, int lmax, double alpha); + void init_arrays(int natoms, int ncoefs); void init_garray(int nmax, int lmax, double rcut, double alpha, double *w, int lw1, int lw2, double *g_array, int lg1, int lg2); @@ -78,23 +76,21 @@ class MLIAP_SO3: protected Pointers { void compute_uarray_recursive(double x, double y, double z, double r, int twol, double *ulist_r, double *ulist_i, int *idxu_block, - double *rootpqarray, int roi1, - int roi2); + double *rootpqarray); void compute_ncoeff(); int get_sum(int istart, int iend, int id, int imult); void compute_dpidrj(int nmax, int lmax, double *clisttot_r, - double *clisttot_i, int lctot1, int lctot2, double *dclist_r, - double *dclist_i, int ldcli1, int ldcli2, int ldcli3, - double *dplist_r, int dpli1, int dpli2); + double *clisttot_i, int lctot2, double *dclist_r, + double *dclist_i, int ldcli2, int ldcli3, + double *dplist_r, int dpli2); - double compute_g(double r, int n, int nmax, double rcut, double *w, int lw1, - int lw2); + double compute_g(double r, int n, int nmax, double rcut, double *w, int lw1); double phi(double r, int alpha, double rcut); void compute_pi(int nmax, int lmax, double *clisttot_r, - double *clisttot_i, int lcl1, int lcl2, - double *plist_r, double *plist_i, int lpl1, + double *clisttot_i, int lcl2, + double *plist_r, double *plist_i, int lpl2, int indpl); void compute_W(int nmax, double *arr); From 66cf2319a124ad8dc3689d963ff708618235ee3d Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 13 Jun 2021 17:11:13 -0400 Subject: [PATCH 210/726] silence compiler warning --- src/MLIAP/mliap_so3.cpp | 6 ++---- src/MLIAP/mliap_so3.h | 3 +-- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/src/MLIAP/mliap_so3.cpp b/src/MLIAP/mliap_so3.cpp index 332c8be6fe..e3691760ba 100644 --- a/src/MLIAP/mliap_so3.cpp +++ b/src/MLIAP/mliap_so3.cpp @@ -233,8 +233,7 @@ void MLIAP_SO3::init() for (i = 0; i < totali; i++) m_g_array[i] = 0.0; - init_garray(m_nmax, m_lmax, m_rcut, m_alpha, m_w, m_nmax, m_nmax, - m_g_array, m_nmax, m_Nmax); + init_garray(m_nmax, m_lmax, m_rcut, m_alpha, m_w, m_nmax, m_g_array, m_Nmax); int twolmax; twolmax = 2 * (m_lmax + 1); @@ -672,8 +671,7 @@ void MLIAP_SO3::compute_uarray_recursive(double x, double y, void MLIAP_SO3::init_garray(int nmax, int lmax, double rcut, double alpha, double *w, int lw1, - int lw2, double *g_array, int /*lg1*/, - int lg2) + double *g_array, int lg2) { int i, n, Nmax = (nmax + lmax + 1) * 10; double x, xi; diff --git a/src/MLIAP/mliap_so3.h b/src/MLIAP/mliap_so3.h index 18d8073a5f..1802bae0c5 100644 --- a/src/MLIAP/mliap_so3.h +++ b/src/MLIAP/mliap_so3.h @@ -70,8 +70,7 @@ class MLIAP_SO3: protected Pointers { double **rij, int nmax, int lmax, double alpha); void init_arrays(int natoms, int ncoefs); void init_garray(int nmax, int lmax, double rcut, double alpha, - double *w, int lw1, int lw2, double *g_array, - int lg1, int lg2); + double *w, int lw1, double *g_array, int lg2); void compute_uarray_recursive(double x, double y, double z, double r, int twol, double *ulist_r, From 84d04752d3f977e606d86c428229e8c9bf54f745 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 13 Jun 2021 17:40:00 -0400 Subject: [PATCH 211/726] update log files. make Si example (much) smaller --- examples/mliap/in.mliap.so3.Ni_Mo | 2 +- examples/mliap/in.mliap.so3.nn.Si | 10 +-- .../mliap/log.09Jun21.mliap.so3.Ni_Mo.g++.1 | 24 ++++--- .../mliap/log.09Jun21.mliap.so3.Ni_Mo.g++.4 | 24 ++++--- .../mliap/log.09Jun21.mliap.so3.nn.Si.g++.1 | 69 ++++++++++--------- .../mliap/log.09Jun21.mliap.so3.nn.Si.g++.4 | 69 ++++++++++--------- 6 files changed, 102 insertions(+), 96 deletions(-) diff --git a/examples/mliap/in.mliap.so3.Ni_Mo b/examples/mliap/in.mliap.so3.Ni_Mo index 3a102e9d9b..901600e156 100644 --- a/examples/mliap/in.mliap.so3.Ni_Mo +++ b/examples/mliap/in.mliap.so3.Ni_Mo @@ -17,7 +17,7 @@ variable N equal count(all) thermo_style custom pe pxx pyy pzz pxy pxz pyz thermo 1 -dump 1 all custom 1 dump.myforce.* id type fx fy fz +# dump 1 all custom 1 dump.myforce.* id type fx fy fz velocity all create 300.0 4928459 loop geom fix 1 all nve diff --git a/examples/mliap/in.mliap.so3.nn.Si b/examples/mliap/in.mliap.so3.nn.Si index 39b1241d53..675f65f299 100644 --- a/examples/mliap/in.mliap.so3.nn.Si +++ b/examples/mliap/in.mliap.so3.nn.Si @@ -11,11 +11,11 @@ boundary p p p atom_modify sort 0 0.0 #read_data Si.data -lattice diamond 5.43 -region box block 0 10 0 10 0 10 -create_box 1 box -create_atoms 1 box -mass 1 29.0 +lattice diamond 5.43 +region box block 0 2 0 2 0 2 +create_box 1 box +create_atoms 1 box +mass 1 29.0 # temperature variable t equal 500. diff --git a/examples/mliap/log.09Jun21.mliap.so3.Ni_Mo.g++.1 b/examples/mliap/log.09Jun21.mliap.so3.Ni_Mo.g++.1 index 976f6a3518..5382c3593d 100644 --- a/examples/mliap/log.09Jun21.mliap.so3.Ni_Mo.g++.1 +++ b/examples/mliap/log.09Jun21.mliap.so3.Ni_Mo.g++.1 @@ -1,6 +1,8 @@ -LAMMPS (8 Apr 2021) +LAMMPS (27 May 2021) + using 1 OpenMP thread(s) per MPI task # ---------- Initialize Simulation --------------------- clear + using 1 OpenMP thread(s) per MPI task units metal dimension 3 boundary p p p @@ -33,7 +35,7 @@ variable N equal count(all) thermo_style custom pe pxx pyy pzz pxy pxz pyz thermo 1 -dump 1 all custom 1 dump.myforce.* id type fx fy fz +# dump 1 all custom 1 dump.myforce.* id type fx fy fz velocity all create 300.0 4928459 loop geom fix 1 all nve @@ -51,26 +53,26 @@ Neighbor list info ... pair build: full/bin/atomonly stencil: full/bin/3d bin: standard -Per MPI rank memory allocation (min/avg/max) = 18.47 | 18.47 | 18.47 Mbytes +Per MPI rank memory allocation (min/avg/max) = 17.22 | 17.22 | 17.22 Mbytes PotEng Pxx Pyy Pzz Pxy Pxz Pyz -60.509577 -38.702887 -342.91582 1831.0743 -819.59439 427.87407 446.40498 -60.509344 -29.050171 -342.67124 1839.4215 -832.92479 439.72661 448.55829 -60.509056 -9.4119072 -335.83361 1856.2802 -846.04664 451.4663 450.35456 -60.508714 20.205972 -322.43019 1881.6 -858.97774 463.10122 451.79916 -Loop time of 0.00652385 on 1 procs for 3 steps with 10 atoms +Loop time of 0.0093536 on 1 procs for 3 steps with 10 atoms -Performance: 39.731 ns/day, 0.604 hours/ns, 459.851 timesteps/s -100.0% CPU use with 1 MPI tasks x no OpenMP threads +Performance: 27.711 ns/day, 0.866 hours/ns, 320.732 timesteps/s +99.4% CPU use with 1 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 0.0063381 | 0.0063381 | 0.0063381 | 0.0 | 97.15 +Pair | 0.0092137 | 0.0092137 | 0.0092137 | 0.0 | 98.50 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 8.5831e-06 | 8.5831e-06 | 8.5831e-06 | 0.0 | 0.13 -Output | 0.00017047 | 0.00017047 | 0.00017047 | 0.0 | 2.61 -Modify | 2.3842e-06 | 2.3842e-06 | 2.3842e-06 | 0.0 | 0.04 -Other | | 4.292e-06 | | | 0.07 +Comm | 1.5188e-05 | 1.5188e-05 | 1.5188e-05 | 0.0 | 0.16 +Output | 0.00010311 | 0.00010311 | 0.00010311 | 0.0 | 1.10 +Modify | 5.4e-06 | 5.4e-06 | 5.4e-06 | 0.0 | 0.06 +Other | | 1.621e-05 | | | 0.17 Nlocal: 10.0000 ave 10 max 10 min Histogram: 1 0 0 0 0 0 0 0 0 0 diff --git a/examples/mliap/log.09Jun21.mliap.so3.Ni_Mo.g++.4 b/examples/mliap/log.09Jun21.mliap.so3.Ni_Mo.g++.4 index 16383b0646..3dfe8291e3 100644 --- a/examples/mliap/log.09Jun21.mliap.so3.Ni_Mo.g++.4 +++ b/examples/mliap/log.09Jun21.mliap.so3.Ni_Mo.g++.4 @@ -1,6 +1,8 @@ -LAMMPS (8 Apr 2021) +LAMMPS (27 May 2021) + using 1 OpenMP thread(s) per MPI task # ---------- Initialize Simulation --------------------- clear + using 1 OpenMP thread(s) per MPI task units metal dimension 3 boundary p p p @@ -33,7 +35,7 @@ variable N equal count(all) thermo_style custom pe pxx pyy pzz pxy pxz pyz thermo 1 -dump 1 all custom 1 dump.myforce.* id type fx fy fz +# dump 1 all custom 1 dump.myforce.* id type fx fy fz velocity all create 300.0 4928459 loop geom fix 1 all nve @@ -51,26 +53,26 @@ Neighbor list info ... pair build: full/bin/atomonly stencil: full/bin/3d bin: standard -Per MPI rank memory allocation (min/avg/max) = 18.48 | 18.48 | 18.48 Mbytes +Per MPI rank memory allocation (min/avg/max) = 17.23 | 17.23 | 17.23 Mbytes PotEng Pxx Pyy Pzz Pxy Pxz Pyz -60.509577 -38.702887 -342.91582 1831.0743 -819.59439 427.87407 446.40498 -60.509344 -29.050171 -342.67124 1839.4215 -832.92479 439.72661 448.55829 -60.509056 -9.4119072 -335.83361 1856.2802 -846.04664 451.4663 450.35456 -60.508714 20.205972 -322.43019 1881.6 -858.97774 463.10122 451.79916 -Loop time of 0.00700521 on 4 procs for 3 steps with 10 atoms +Loop time of 0.00731116 on 4 procs for 3 steps with 10 atoms -Performance: 37.001 ns/day, 0.649 hours/ns, 428.252 timesteps/s -83.7% CPU use with 4 MPI tasks x no OpenMP threads +Performance: 35.453 ns/day, 0.677 hours/ns, 410.331 timesteps/s +84.6% CPU use with 4 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 0.0029368 | 0.0044926 | 0.0064001 | 1.8 | 64.13 +Pair | 0.0027137 | 0.0039915 | 0.0065214 | 2.5 | 54.60 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.00015497 | 0.0020633 | 0.0036275 | 2.7 | 29.45 -Output | 0.00042009 | 0.00043052 | 0.00044107 | 0.0 | 6.15 -Modify | 2.861e-06 | 4.2915e-06 | 5.0068e-06 | 0.0 | 0.06 -Other | | 1.448e-05 | | | 0.21 +Comm | 0.00021023 | 0.002945 | 0.0044067 | 3.0 | 40.28 +Output | 9.7476e-05 | 0.00030125 | 0.00043822 | 0.0 | 4.12 +Modify | 4.574e-06 | 5.1632e-06 | 6.299e-06 | 0.0 | 0.07 +Other | | 6.82e-05 | | | 0.93 Nlocal: 2.50000 ave 3 max 2 min Histogram: 2 0 0 0 0 0 0 0 0 2 diff --git a/examples/mliap/log.09Jun21.mliap.so3.nn.Si.g++.1 b/examples/mliap/log.09Jun21.mliap.so3.nn.Si.g++.1 index e914c23b23..c5903a1de8 100644 --- a/examples/mliap/log.09Jun21.mliap.so3.nn.Si.g++.1 +++ b/examples/mliap/log.09Jun21.mliap.so3.nn.Si.g++.1 @@ -1,4 +1,5 @@ -LAMMPS (8 Apr 2021) +LAMMPS (27 May 2021) + using 1 OpenMP thread(s) per MPI task # Run NPT MD simulation for Si at 500 K. variable nsteps index 100 #0 @@ -12,16 +13,16 @@ boundary p p p atom_modify sort 0 0.0 #read_data Si.data -lattice diamond 5.43 +lattice diamond 5.43 Lattice spacing in x,y,z = 5.4300000 5.4300000 5.4300000 -region box block 0 10 0 10 0 10 -create_box 1 box -Created orthogonal box = (0.0000000 0.0000000 0.0000000) to (54.300000 54.300000 54.300000) +region box block 0 2 0 2 0 2 +create_box 1 box +Created orthogonal box = (0.0000000 0.0000000 0.0000000) to (10.860000 10.860000 10.860000) 1 by 1 by 1 MPI processor grid -create_atoms 1 box -Created 8000 atoms +create_atoms 1 box +Created 64 atoms create_atoms CPU = 0.001 seconds -mass 1 29.0 +mass 1 29.0 # temperature variable t equal 500. @@ -73,52 +74,52 @@ Neighbor list info ... max neighbors/atom: 2000, page size: 100000 master list distance cutoff = 6 ghost atom cutoff = 6 - binsize = 3, bins = 19 19 19 + binsize = 3, bins = 4 4 4 1 neighbor lists, perpetual/occasional/extra = 1 0 0 (1) pair mliap, perpetual attributes: full, newton on pair build: full/bin/atomonly stencil: full/bin/3d bin: standard -Per MPI rank memory allocation (min/avg/max) = 308.6 | 308.6 | 308.6 Mbytes +Per MPI rank memory allocation (min/avg/max) = 298.3 | 298.3 | 298.3 Mbytes Step Temp E_pair c_energy TotEng Press v_press - 0 500 -3.8376374 -3.8376374 -3.7730154 -7241.7798 7241.7798 - 10 490.38075 -3.8363493 -3.8363493 -3.7729705 -6905.607 6905.607 - 20 461.60083 -3.8325872 -3.8325872 -3.7729281 -5943.433 5943.433 - 30 416.53292 -3.8267188 -3.8267188 -3.7728845 -4484.7771 4484.7771 - 40 361.07069 -3.8195026 -3.8195026 -3.7728364 -2752.1553 2752.1553 - 50 304.26606 -3.812108 -3.812108 -3.7727834 -1038.0742 1038.0742 - 60 256.18955 -3.8058374 -3.8058374 -3.7727265 364.81585 -364.81585 - 70 223.86195 -3.8015965 -3.8015965 -3.7726637 1258.7414 -1258.7414 - 80 208.28902 -3.799511 -3.799511 -3.7725909 1602.5954 -1602.5954 - 90 205.19655 -3.7990256 -3.7990256 -3.7725051 1498.693 -1498.693 - 100 208.38945 -3.7993407 -3.7993407 -3.7724076 1121.1675 -1121.1675 -Loop time of 310.377 on 1 procs for 100 steps with 8000 atoms + 0 500 -3.8376374 -3.8376374 -3.7740172 -7295.2456 7295.2456 + 10 489.81 -3.8363423 -3.8363423 -3.7740187 -6964.5624 6964.5624 + 20 460.24523 -3.8325828 -3.8325828 -3.774021 -6014.7165 6014.7165 + 30 414.4367 -3.826752 -3.826752 -3.7740189 -4572.0641 4572.0641 + 40 358.34511 -3.8196022 -3.8196022 -3.7740062 -2849.9177 2849.9177 + 50 300.80447 -3.8122536 -3.8122536 -3.7739791 -1128.7008 1128.7008 + 60 251.6276 -3.8059543 -3.8059543 -3.7739371 306.20639 -306.20639 + 70 218.02888 -3.8016236 -3.8016236 -3.7738815 1253.4391 -1253.4391 + 80 201.70095 -3.7994767 -3.7994767 -3.7738122 1661.6675 -1661.6675 + 90 198.91416 -3.7990366 -3.7990366 -3.7737266 1628.78 -1628.78 + 100 203.36197 -3.799497 -3.799497 -3.7736212 1338.0458 -1338.0458 +Loop time of 5.83795 on 1 procs for 100 steps with 64 atoms -Performance: 0.014 ns/day, 1724.319 hours/ns, 0.322 timesteps/s -86.6% CPU use with 1 MPI tasks x no OpenMP threads +Performance: 0.740 ns/day, 32.433 hours/ns, 17.129 timesteps/s +91.4% CPU use with 1 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 310.34 | 310.34 | 310.34 | 0.0 | 99.99 +Pair | 5.8338 | 5.8338 | 5.8338 | 0.0 | 99.93 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.0033481 | 0.0033481 | 0.0033481 | 0.0 | 0.00 -Output | 0.00336 | 0.00336 | 0.00336 | 0.0 | 0.00 -Modify | 0.024909 | 0.024909 | 0.024909 | 0.0 | 0.01 -Other | | 0.00329 | | | 0.00 +Comm | 0.00053236 | 0.00053236 | 0.00053236 | 0.0 | 0.01 +Output | 0.0006904 | 0.0006904 | 0.0006904 | 0.0 | 0.01 +Modify | 0.0025477 | 0.0025477 | 0.0025477 | 0.0 | 0.04 +Other | | 0.0003419 | | | 0.01 -Nlocal: 8000.00 ave 8000 max 8000 min +Nlocal: 64.0000 ave 64 max 64 min Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 6725.00 ave 6725 max 6725 min +Nghost: 557.000 ave 557 max 557 min Histogram: 1 0 0 0 0 0 0 0 0 0 Neighs: 0.00000 ave 0 max 0 min Histogram: 1 0 0 0 0 0 0 0 0 0 -FullNghs: 368000.0 ave 368000 max 368000 min +FullNghs: 2944.00 ave 2944 max 2944 min Histogram: 1 0 0 0 0 0 0 0 0 0 -Total # of neighbors = 368000 +Total # of neighbors = 2944 Ave neighs/atom = 46.000000 Neighbor list builds = 0 Dangerous builds = 0 -Total wall time: 0:05:15 +Total wall time: 0:00:05 diff --git a/examples/mliap/log.09Jun21.mliap.so3.nn.Si.g++.4 b/examples/mliap/log.09Jun21.mliap.so3.nn.Si.g++.4 index beeab17bce..1336615287 100644 --- a/examples/mliap/log.09Jun21.mliap.so3.nn.Si.g++.4 +++ b/examples/mliap/log.09Jun21.mliap.so3.nn.Si.g++.4 @@ -1,4 +1,5 @@ -LAMMPS (8 Apr 2021) +LAMMPS (27 May 2021) + using 1 OpenMP thread(s) per MPI task # Run NPT MD simulation for Si at 500 K. variable nsteps index 100 #0 @@ -12,16 +13,16 @@ boundary p p p atom_modify sort 0 0.0 #read_data Si.data -lattice diamond 5.43 +lattice diamond 5.43 Lattice spacing in x,y,z = 5.4300000 5.4300000 5.4300000 -region box block 0 10 0 10 0 10 -create_box 1 box -Created orthogonal box = (0.0000000 0.0000000 0.0000000) to (54.300000 54.300000 54.300000) +region box block 0 2 0 2 0 2 +create_box 1 box +Created orthogonal box = (0.0000000 0.0000000 0.0000000) to (10.860000 10.860000 10.860000) 1 by 2 by 2 MPI processor grid -create_atoms 1 box -Created 8000 atoms +create_atoms 1 box +Created 64 atoms create_atoms CPU = 0.000 seconds -mass 1 29.0 +mass 1 29.0 # temperature variable t equal 500. @@ -73,52 +74,52 @@ Neighbor list info ... max neighbors/atom: 2000, page size: 100000 master list distance cutoff = 6 ghost atom cutoff = 6 - binsize = 3, bins = 19 19 19 + binsize = 3, bins = 4 4 4 1 neighbor lists, perpetual/occasional/extra = 1 0 0 (1) pair mliap, perpetual attributes: full, newton on pair build: full/bin/atomonly stencil: full/bin/3d bin: standard -Per MPI rank memory allocation (min/avg/max) = 300.6 | 300.6 | 300.6 Mbytes +Per MPI rank memory allocation (min/avg/max) = 298.2 | 298.2 | 298.2 Mbytes Step Temp E_pair c_energy TotEng Press v_press - 0 500 -3.8376374 -3.8376374 -3.7730154 -7241.7798 7241.7798 - 10 490.38075 -3.8363493 -3.8363493 -3.7729705 -6905.607 6905.607 - 20 461.60083 -3.8325872 -3.8325872 -3.7729281 -5943.433 5943.433 - 30 416.53292 -3.8267188 -3.8267188 -3.7728845 -4484.7771 4484.7771 - 40 361.07069 -3.8195026 -3.8195026 -3.7728364 -2752.1553 2752.1553 - 50 304.26606 -3.812108 -3.812108 -3.7727834 -1038.0742 1038.0742 - 60 256.18955 -3.8058374 -3.8058374 -3.7727265 364.81585 -364.81585 - 70 223.86195 -3.8015965 -3.8015965 -3.7726637 1258.7414 -1258.7414 - 80 208.28902 -3.799511 -3.799511 -3.7725909 1602.5954 -1602.5954 - 90 205.19655 -3.7990256 -3.7990256 -3.7725051 1498.693 -1498.693 - 100 208.38945 -3.7993407 -3.7993407 -3.7724076 1121.1675 -1121.1675 -Loop time of 82.8939 on 4 procs for 100 steps with 8000 atoms + 0 500 -3.8376374 -3.8376374 -3.7740172 -7295.2456 7295.2456 + 10 489.81 -3.8363423 -3.8363423 -3.7740187 -6964.5624 6964.5624 + 20 460.24523 -3.8325828 -3.8325828 -3.774021 -6014.7165 6014.7165 + 30 414.4367 -3.826752 -3.826752 -3.7740189 -4572.0641 4572.0641 + 40 358.34511 -3.8196022 -3.8196022 -3.7740062 -2849.9177 2849.9177 + 50 300.80447 -3.8122536 -3.8122536 -3.7739791 -1128.7008 1128.7008 + 60 251.6276 -3.8059543 -3.8059543 -3.7739371 306.20639 -306.20639 + 70 218.02888 -3.8016236 -3.8016236 -3.7738815 1253.4391 -1253.4391 + 80 201.70095 -3.7994767 -3.7994767 -3.7738122 1661.6675 -1661.6675 + 90 198.91416 -3.7990366 -3.7990366 -3.7737266 1628.78 -1628.78 + 100 203.36197 -3.799497 -3.799497 -3.7736212 1338.0458 -1338.0458 +Loop time of 2.61422 on 4 procs for 100 steps with 64 atoms -Performance: 0.052 ns/day, 460.522 hours/ns, 1.206 timesteps/s -86.0% CPU use with 4 MPI tasks x no OpenMP threads +Performance: 1.653 ns/day, 14.523 hours/ns, 38.252 timesteps/s +91.1% CPU use with 4 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 82.395 | 82.572 | 82.813 | 1.7 | 99.61 +Pair | 2.4136 | 2.4671 | 2.569 | 3.9 | 94.37 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.070041 | 0.31023 | 0.48768 | 28.0 | 0.37 -Output | 0.0018134 | 0.0018318 | 0.001883 | 0.1 | 0.00 -Modify | 0.0079656 | 0.0080939 | 0.0082271 | 0.1 | 0.01 -Other | | 0.00147 | | | 0.00 +Comm | 0.037437 | 0.13954 | 0.19315 | 16.2 | 5.34 +Output | 0.00088435 | 0.0013739 | 0.0028352 | 2.3 | 0.05 +Modify | 0.004319 | 0.0054199 | 0.0059273 | 0.9 | 0.21 +Other | | 0.0007924 | | | 0.03 -Nlocal: 2000.00 ave 2000 max 2000 min +Nlocal: 16.0000 ave 16 max 16 min Histogram: 4 0 0 0 0 0 0 0 0 0 -Nghost: 3165.00 ave 3165 max 3165 min +Nghost: 349.000 ave 349 max 349 min Histogram: 4 0 0 0 0 0 0 0 0 0 Neighs: 0.00000 ave 0 max 0 min Histogram: 4 0 0 0 0 0 0 0 0 0 -FullNghs: 92000.0 ave 92000 max 92000 min +FullNghs: 736.000 ave 736 max 736 min Histogram: 4 0 0 0 0 0 0 0 0 0 -Total # of neighbors = 368000 +Total # of neighbors = 2944 Ave neighs/atom = 46.000000 Neighbor list builds = 0 Dangerous builds = 0 -Total wall time: 0:01:24 +Total wall time: 0:00:02 From 2ca0a4df98fb815685c20065ae277e5117c9d03e Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 13 Jun 2021 17:45:00 -0400 Subject: [PATCH 212/726] add unit test for MLIAP SO3 descriptor --- .../tests/manybody-pair-mliap_so3.yaml | 156 ++++++++++++++++++ 1 file changed, 156 insertions(+) create mode 100644 unittest/force-styles/tests/manybody-pair-mliap_so3.yaml diff --git a/unittest/force-styles/tests/manybody-pair-mliap_so3.yaml b/unittest/force-styles/tests/manybody-pair-mliap_so3.yaml new file mode 100644 index 0000000000..cee70bc484 --- /dev/null +++ b/unittest/force-styles/tests/manybody-pair-mliap_so3.yaml @@ -0,0 +1,156 @@ +--- +lammps_version: 27 May 2021 +date_generated: Sun Jun 13 17:44:07 2021 +epsilon: 5e-13 +skip_tests: +prerequisites: ! | + pair mliap +pre_commands: ! | + variable newton_pair delete + variable newton_pair index on +post_commands: ! "" +input_file: in.manybody +pair_style: mliap model nn Si.nn.mliap.model descriptor so3 Si.nn.mliap.descriptor +pair_coeff: ! | + * * Si Si Si Si Si Si Si Si +extract: ! "" +natoms: 64 +init_vdwl: -242.08541438097282 +init_coul: 0 +init_stress: ! |2- + 3.5856243389095512e+00 4.3178319509851431e+00 5.1450742391421338e+00 -2.3382445177587403e+00 6.3444541794487845e+00 9.1752299438021412e-01 +init_forces: ! |2 + 1 -3.1962501950595823e-01 5.6761412892541685e-01 3.5767479262345103e-01 + 2 -3.4055902237163499e-01 -3.3463048947437657e-01 -2.0463281550586621e-01 + 3 1.0965493482185078e-01 1.1852119996899939e-02 -6.8690216469585785e-02 + 4 -4.2917681710400246e-01 5.8785334295730940e-01 2.6944024734509658e-01 + 5 -2.8480011500666280e-01 -2.4246371636263281e-02 2.6371880866650411e-02 + 6 1.4478663596031660e-01 5.0373076788511817e-01 2.4754536884184455e-01 + 7 -1.6648111143006419e-01 -2.1580818190690107e-01 4.5962059999665661e-01 + 8 5.1793872208577641e-03 9.8258205721181310e-02 -2.1237239804032296e-01 + 9 -2.2695156450444193e-01 -3.0886720222241792e-01 -3.3982471524904129e-01 + 10 -5.4899280049504409e-02 -2.6361580602848766e-01 -4.6186547428794356e-01 + 11 7.0822516902798582e-01 -6.5855726964151540e-01 6.8445843697172026e-01 + 12 -9.3227603274412574e-01 -9.3228190927668686e-01 -7.6938876929731748e-01 + 13 -3.0470726616180671e-01 8.0435103580644729e-01 -2.4756252000756823e-01 + 14 -2.3479043824466983e-01 7.3220393122987470e-01 -1.4939914893452921e-01 + 15 -7.1082131811158800e-01 8.5118662256190825e-01 -9.4363341636616416e-01 + 16 3.0519311772485996e-01 2.8483674897946326e-01 1.2395992551492252e+00 + 17 6.5956915047965214e-01 4.8254693346624744e-01 -5.2567354105831976e-01 + 18 -7.9689468944905612e-02 6.8196067151325090e-02 5.9874054660106668e-01 + 19 -2.3763697545215456e-01 -4.2724396450632990e-01 -1.8684043081463819e-01 + 20 -9.7721019192374103e-01 1.9998108603209278e-01 8.6010353204828152e-02 + 21 2.2013361219973313e-01 -1.2294990669541571e-01 -2.6697320196243068e-01 + 22 -1.2285340017853370e+00 1.1690349275168264e+00 -1.4237226265347376e+00 + 23 3.8898630617701757e-01 4.6455023282884689e-01 3.3423521635638376e-01 + 24 3.8226040090622126e-01 2.9557989393434092e-01 5.5205109933714203e-01 + 25 9.3521601977790650e-02 -1.6073416835582686e-02 1.3983336197196455e-01 + 26 7.0434112329697054e-02 -2.1616954791777516e-02 1.1838121146432676e-01 + 27 4.3053526631612626e-01 -1.8120315965038483e-01 3.2118273346822135e-01 + 28 -8.5222587593901430e-02 2.5053534569095887e-01 8.4998194456908627e-01 + 29 -5.2824806036659966e-01 3.7688334350435798e-01 -2.9342945950696531e-01 + 30 -2.0630152439038446e-01 1.1742029257880499e-01 -1.5472597043542272e-01 + 31 -1.5461602575510483e-01 1.7652146539226263e-01 -3.9084496119253777e-02 + 32 -4.5837827660003577e-01 2.0385249301614106e-01 -1.2398969536978524e-01 + 33 7.9471459720084048e-01 -6.9190694940632047e-01 8.3162926736539400e-01 + 34 1.4890352006720189e-01 1.2051093068835445e-02 -1.4903892467477795e-02 + 35 2.2834220821773751e-01 -1.2404653069908662e-01 4.7043869369199348e-01 + 36 -6.0161946119659152e-02 -3.5011696674253306e-01 6.9827025926206300e-03 + 37 -3.5755783353896464e-01 3.4293192644746495e-01 -3.3035510255109329e-01 + 38 -1.5264515528290096e-01 -1.8578933375676593e-02 7.6231207427680664e-02 + 39 5.0950710874938010e-01 -4.8343099863687994e-01 -5.9731921195378934e-01 + 40 8.2087228191924311e-01 -5.8338727466140039e-01 -5.3577051746179449e-01 + 41 -2.5932061784047694e-02 -1.2942331539744090e-01 -1.1369207362951550e-01 + 42 -5.0930140389860812e-01 -2.4266141136226554e-01 -2.0947953649294865e-01 + 43 8.5673434249355668e-02 -8.4351858143712588e-01 1.2348559495353699e-01 + 44 5.2887927118716704e-01 -5.4060461346991406e-01 6.0878058062650675e-01 + 45 -4.5189088028948604e-01 3.5848279996786603e-01 -6.0248253431181398e-01 + 46 -3.3641633018653277e-01 -2.9706533294242637e-01 9.5865696396805256e-01 + 47 4.4265361896830380e-01 3.4098141839855145e-01 2.7768582076458542e-01 + 48 1.5550373308714810e-01 -8.0490292537712296e-02 -1.2140381247151916e-02 + 49 -6.4126972948425498e-01 -8.1277048989772516e-01 -6.6088623870263008e-01 + 50 6.9590856991288405e-02 3.2650008138931746e-01 -1.2981864462879661e-01 + 51 -5.9079732678911834e-01 5.4485696856005095e-01 6.8471642407028899e-01 + 52 1.2500943393870998e+00 -1.2483610604845263e+00 1.3764499435893642e+00 + 53 7.5044082180665861e-01 7.1006339405720620e-01 6.8752933088770685e-01 + 54 5.7790768581732632e-01 -6.0482253610873882e-01 -5.7995317962912973e-01 + 55 4.4776151869164765e-01 -5.9219393004341692e-01 -6.9398818388834249e-01 + 56 -7.4276087479339600e-02 3.8502591921562142e-02 -3.1482369726424059e-01 + 57 -4.9028410280524036e-02 -5.8115359646338252e-02 -2.6774949685019013e-02 + 58 3.7437462851140180e-01 -2.3858950328415252e-01 2.7176318794239890e-01 + 59 7.5049664891509604e-01 6.0003203348980849e-01 -6.0606097897888678e-01 + 60 -7.8027828178258207e-01 -1.0282777251742856e+00 -7.6957323203237027e-01 + 61 -2.0704735890388715e-01 2.1426153130500308e-01 -1.7757121507272916e-01 + 62 -4.9195674075326684e-01 5.5632927867395221e-01 -4.8501482619942371e-01 + 63 4.0392077364288381e-01 -6.5683525718558333e-01 -3.5450072515244213e-01 + 64 8.3136790206790612e-01 8.4030959270424599e-01 9.6744125066169429e-01 +run_vdwl: -242.07509367477505 +run_coul: 0 +run_stress: ! |2- + 3.6067334447532695e+00 4.3471333638967478e+00 5.1979080340147519e+00 -2.2917015647694656e+00 6.3545457412614894e+00 1.0105656026958723e+00 +run_forces: ! |2 + 1 -3.2099025878012155e-01 5.6621647667818076e-01 3.5950167010603051e-01 + 2 -3.4509776918969848e-01 -3.3867254821455528e-01 -2.0920538372184505e-01 + 3 1.0531155735451671e-01 1.2386817647918189e-02 -6.5592214009213612e-02 + 4 -4.2518309605527171e-01 5.8922044317041156e-01 2.6563467306378569e-01 + 5 -2.8801072479776163e-01 -2.5766299821446889e-02 2.9057158897915637e-02 + 6 1.5542359530932462e-01 5.0618090170742924e-01 2.5705162916056401e-01 + 7 -1.6155636197369327e-01 -2.0933544079115984e-01 4.5528515616655318e-01 + 8 2.4173198798722703e-03 9.8119054544594395e-02 -2.1160344210292820e-01 + 9 -2.3309913937974988e-01 -3.1480594421707164e-01 -3.4564398106874977e-01 + 10 -5.4522048631510535e-02 -2.6706654804162977e-01 -4.5324758936337878e-01 + 11 7.0091421529942932e-01 -6.5161362710989634e-01 6.7911091706071092e-01 + 12 -9.3013382458275318e-01 -9.2865203992752920e-01 -7.6857777606975730e-01 + 13 -2.9150015714972832e-01 8.0193668506020310e-01 -2.3445660406176830e-01 + 14 -2.3931752715567098e-01 7.3165656442486871e-01 -1.5460079660908072e-01 + 15 -7.0949250316968981e-01 8.4895481344920531e-01 -9.4171558147000023e-01 + 16 3.0631254529841845e-01 2.8452527197212563e-01 1.2374792465145266e+00 + 17 6.5855968811869425e-01 4.8254937919423335e-01 -5.2248413587752107e-01 + 18 -8.7481644703575029e-02 7.6634049591861181e-02 6.0224665003051581e-01 + 19 -2.4288814928950306e-01 -4.3211093792565469e-01 -1.9384450640073986e-01 + 20 -9.7426378856830720e-01 1.9288999988815433e-01 8.0604056667934840e-02 + 21 2.2424888386015288e-01 -1.3293815632038816e-01 -2.7377822690501097e-01 + 22 -1.2323644574571764e+00 1.1752131626398818e+00 -1.4294587388733917e+00 + 23 3.9308015126728924e-01 4.6878338812272585e-01 3.4083333751850131e-01 + 24 3.8760532137362280e-01 2.9510552152958136e-01 5.5074781186708821e-01 + 25 9.3396150962252164e-02 -1.5317581194901989e-02 1.3747727146599498e-01 + 26 6.9265560054146760e-02 -2.0314915486256999e-02 1.1931386929585183e-01 + 27 4.3415121072825247e-01 -1.8687603495448388e-01 3.2487067605082509e-01 + 28 -9.1871593618403344e-02 2.5620554100946658e-01 8.5286477941973227e-01 + 29 -5.3071912525035825e-01 3.8001024033499603e-01 -2.9595616725714385e-01 + 30 -2.0363608471489461e-01 1.1467846274268546e-01 -1.5423466174347741e-01 + 31 -1.5347742017717006e-01 1.7737371992520326e-01 -3.9100161388642633e-02 + 32 -4.5523972305123062e-01 2.0385758964290804e-01 -1.2369373913464421e-01 + 33 7.9087458324830917e-01 -6.9245678150703793e-01 8.3099119891416617e-01 + 34 1.4802038008409366e-01 1.1906014937963626e-02 -1.4079337228309469e-02 + 35 2.2885578071414028e-01 -1.2375478283251561e-01 4.7035167000612227e-01 + 36 -6.6712338981015251e-02 -3.4784959749591643e-01 -8.2434566151845740e-04 + 37 -3.5559876201572144e-01 3.4127522791063586e-01 -3.3119493923999893e-01 + 38 -1.5190134438030195e-01 -1.7408563012483787e-02 7.7163920440187175e-02 + 39 5.0793157466484662e-01 -4.8015243788901102e-01 -5.9618064615637467e-01 + 40 8.3101665635822208e-01 -5.9096688016268673e-01 -5.4151897902038382e-01 + 41 -2.2638462355541608e-02 -1.2687248931889569e-01 -1.1170657237550335e-01 + 42 -5.1187405127087360e-01 -2.4900529137919386e-01 -2.1379948491741790e-01 + 43 8.1549992649728023e-02 -8.4270445844787201e-01 1.1940335582923872e-01 + 44 5.2979201238463836e-01 -5.4163495044340293e-01 6.0904604522603012e-01 + 45 -4.5349498979959058e-01 3.5543802758009235e-01 -6.0071827959729118e-01 + 46 -3.3812369451494262e-01 -2.9608077672407218e-01 9.6601486219971566e-01 + 47 4.4432776315481021e-01 3.4106617818250651e-01 2.8018780396259058e-01 + 48 1.5373759328615888e-01 -7.7559745424578372e-02 -1.1738256128522504e-02 + 49 -6.5552433924923514e-01 -8.2962215224843339e-01 -6.8041757200528219e-01 + 50 7.2009338943382531e-02 3.2345724726665581e-01 -1.3328856788416371e-01 + 51 -6.0193053801934937e-01 5.5621389434911084e-01 6.9122096987900861e-01 + 52 1.2542223217674440e+00 -1.2515674646711927e+00 1.3812983341667304e+00 + 53 7.6517171556659869e-01 7.2661791257033292e-01 7.1045870262624977e-01 + 54 5.7763188954157396e-01 -6.0585750515061210e-01 -5.7983327790970884e-01 + 55 4.4244372609738386e-01 -5.8905832551910409e-01 -6.8763885072819386e-01 + 56 -7.2489818842452189e-02 3.3901184340476273e-02 -3.1255337552350843e-01 + 57 -5.0302123192962747e-02 -6.1405545784893767e-02 -2.7597409034218284e-02 + 58 3.7360346515990828e-01 -2.3419685074330851e-01 2.6752706940536103e-01 + 59 7.5732954986333467e-01 6.0665518776115368e-01 -6.0815520107330145e-01 + 60 -7.9635276290536017e-01 -1.0415254996798184e+00 -7.8732107265558360e-01 + 61 -2.0591458098965063e-01 2.1482058504135643e-01 -1.7680341681360623e-01 + 62 -4.8938738154162575e-01 5.5387119501671334e-01 -4.8275712266641585e-01 + 63 4.0721801666660368e-01 -6.6333065414791259e-01 -3.6112779273985718e-01 + 64 8.4666802609774161e-01 8.5876008835428574e-01 9.8070536947452069e-01 +... From 9c385a98aff37b1b5e4b049bc60f761cbb97fa0f Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 13 Jun 2021 18:06:40 -0400 Subject: [PATCH 213/726] small tweaks and reformat --- src/MLIAP/mliap_descriptor_so3.cpp | 185 +++++----- src/MLIAP/mliap_descriptor_so3.h | 23 +- src/MLIAP/mliap_so3.cpp | 539 +++++++++++++---------------- src/MLIAP/mliap_so3.h | 53 ++- 4 files changed, 354 insertions(+), 446 deletions(-) diff --git a/src/MLIAP/mliap_descriptor_so3.cpp b/src/MLIAP/mliap_descriptor_so3.cpp index 31fcf29303..dc95d75cb8 100644 --- a/src/MLIAP/mliap_descriptor_so3.cpp +++ b/src/MLIAP/mliap_descriptor_so3.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -19,8 +18,8 @@ #include "error.h" #include "memory.h" #include "mliap_data.h" -#include "pair_mliap.h" #include "mliap_so3.h" +#include "pair_mliap.h" #include "tokenizer.h" #include @@ -31,10 +30,9 @@ using namespace LAMMPS_NS; #define MAXLINE 1024 #define MAXWORD 3 +/* ---------------------------------------------------------------------- */ -MLIAPDescriptorSO3::MLIAPDescriptorSO3(LAMMPS *lmp, - char *paramfilename): - MLIAPDescriptor(lmp) +MLIAPDescriptorSO3::MLIAPDescriptorSO3(LAMMPS *lmp, char *paramfilename) : MLIAPDescriptor(lmp) { nelements = 0; elements = nullptr; @@ -43,16 +41,17 @@ MLIAPDescriptorSO3::MLIAPDescriptorSO3(LAMMPS *lmp, so3ptr = nullptr; read_paramfile(paramfilename); - so3ptr = new MLIAP_SO3(lmp,rcutfac,lmax,nmax,alpha); + so3ptr = new MLIAP_SO3(lmp, rcutfac, lmax, nmax, alpha); ndescriptors = so3ptr->ncoeff; } +/* ---------------------------------------------------------------------- */ + MLIAPDescriptorSO3::~MLIAPDescriptorSO3() { if (nelements) { - for (int i = 0; i < nelements; i++) - delete[] elements[i]; + for (int i = 0; i < nelements; i++) delete[] elements[i]; delete[] elements; memory->destroy(radelem); memory->destroy(wjelem); @@ -61,6 +60,8 @@ MLIAPDescriptorSO3::~MLIAPDescriptorSO3() delete so3ptr; } +/* ---------------------------------------------------------------------- */ + void MLIAPDescriptorSO3::read_paramfile(char *paramfilename) { int rcutfacflag = 0; @@ -68,9 +69,9 @@ void MLIAPDescriptorSO3::read_paramfile(char *paramfilename) int elementsflag = 0; int radelemflag = 0; int wjelemflag = 0; - int nmaxflag=0; - int lmaxflag=0; - int alphaflag=0; + int nmaxflag = 0; + int lmaxflag = 0; + int alphaflag = 0; // set defaults for optional keywords @@ -81,152 +82,148 @@ void MLIAPDescriptorSO3::read_paramfile(char *paramfilename) FILE *fpparam; if (comm->me == 0) { - fpparam = utils::open_potential(paramfilename,lmp,nullptr); + fpparam = utils::open_potential(paramfilename, lmp, nullptr); if (fpparam == nullptr) - error->one(FLERR, "Cannot open SO3 parameter file {}: {}", - paramfilename, utils::getsyserror()); + error->one(FLERR, "Cannot open SO3 parameter file {}: {}", paramfilename, + utils::getsyserror()); } - char line[MAXLINE],*ptr; + char line[MAXLINE], *ptr; int eof = 0; - int n,nwords; + int n, nwords; while (1) { if (comm->me == 0) { - ptr = utils::fgets_trunc(line,MAXLINE,fpparam); + ptr = utils::fgets_trunc(line, MAXLINE, fpparam); if (ptr == nullptr) { eof = 1; fclose(fpparam); - } else n = strlen(line) + 1; + } else + n = strlen(line) + 1; } - MPI_Bcast(&eof,1,MPI_INT,0,world); + MPI_Bcast(&eof, 1, MPI_INT, 0, world); if (eof) break; - MPI_Bcast(&n,1,MPI_INT,0,world); - MPI_Bcast(line,n,MPI_CHAR,0,world); + MPI_Bcast(&n, 1, MPI_INT, 0, world); + MPI_Bcast(line, n, MPI_CHAR, 0, world); // strip comment, skip line if blank - if ((ptr = strchr(line,'#'))) *ptr = '\0'; + if ((ptr = strchr(line, '#'))) *ptr = '\0'; nwords = utils::count_words(line); if (nwords == 0) continue; // words = ptrs to all words in line // strip single and double quotes from words - Tokenizer p(line,"' \t\n\r\f"); - std::string skeywd=p.next(); - std::string skeyval=p.next(); + Tokenizer p(line, "' \t\n\r\f"); + std::string skeywd = p.next(); + std::string skeyval = p.next(); - if (comm->me == 0) { - utils::logmesg(lmp, "SO3 keyword {} {} \n", - skeywd, skeyval); - } + if (comm->me == 0) { utils::logmesg(lmp, "SO3 keyword {} {} \n", skeywd, skeyval); } // check for keywords with one value per element - if (strcmp(skeywd.c_str(),"elems") == 0 || strcmp(skeywd.c_str(),"radelems") - == 0 || strcmp(skeywd.c_str(),"welems") == 0) { + if (strcmp(skeywd.c_str(), "elems") == 0 || strcmp(skeywd.c_str(), "radelems") == 0 || + strcmp(skeywd.c_str(), "welems") == 0) { - if (nelementsflag == 0 || nwords != nelements+1) - error->all(FLERR,"Incorrect SO3 parameter file"); + if (nelementsflag == 0 || nwords != nelements + 1) + error->all(FLERR, "Incorrect SO3 parameter file"); - if (strcmp(skeywd.c_str(),"elems") == 0) { + if (strcmp(skeywd.c_str(), "elems") == 0) { for (int ielem = 0; ielem < nelements; ielem++) { elements[ielem] = utils::strdup(skeyval); - if(ielem < nelements -1) skeyval=p.next(); + if (ielem < nelements - 1) skeyval = p.next(); } elementsflag = 1; - } else if (strcmp(skeywd.c_str(),"radelems") == 0) { + } else if (strcmp(skeywd.c_str(), "radelems") == 0) { for (int ielem = 0; ielem < nelements; ielem++) { - radelem[ielem] = utils::numeric(FLERR,skeyval.c_str(),false,lmp); - if(ielem < nelements -1) skeyval=p.next(); + radelem[ielem] = utils::numeric(FLERR, skeyval.c_str(), false, lmp); + if (ielem < nelements - 1) skeyval = p.next(); } radelemflag = 1; - } else if (strcmp(skeywd.c_str(),"welems") == 0) { + } else if (strcmp(skeywd.c_str(), "welems") == 0) { for (int ielem = 0; ielem < nelements; ielem++) { - wjelem[ielem] = utils::numeric(FLERR,skeyval.c_str(),false,lmp); - if(ielem < nelements -1) skeyval=p.next(); + wjelem[ielem] = utils::numeric(FLERR, skeyval.c_str(), false, lmp); + if (ielem < nelements - 1) skeyval = p.next(); } wjelemflag = 1; } } else { - // all other keywords take one value + // all other keywords take one value - if (nwords != 2) - error->all(FLERR,"Incorrect SO3 parameter file"); + if (nwords != 2) error->all(FLERR, "Incorrect SO3 parameter file"); - if (strcmp(skeywd.c_str(),"nelems") == 0) { - nelements = utils::inumeric(FLERR,skeyval.c_str(),false,lmp); - elements = new char*[nelements]; - memory->create(radelem,nelements, - "mliap_so3_descriptor:radelem"); - memory->create(wjelem,nelements, - "mliap_so3_descriptor:wjelem"); + if (strcmp(skeywd.c_str(), "nelems") == 0) { + nelements = utils::inumeric(FLERR, skeyval.c_str(), false, lmp); + elements = new char *[nelements]; + memory->create(radelem, nelements, "mliap_so3_descriptor:radelem"); + memory->create(wjelem, nelements, "mliap_so3_descriptor:wjelem"); nelementsflag = 1; - } else if (strcmp(skeywd.c_str(),"rcutfac") == 0) { - rcutfac = utils::numeric(FLERR,skeyval.c_str(),false,lmp); + } else if (strcmp(skeywd.c_str(), "rcutfac") == 0) { + rcutfac = utils::numeric(FLERR, skeyval.c_str(), false, lmp); rcutfacflag = 1; - } else if (strcmp(skeywd.c_str(),"nmax") == 0) { - nmax = utils::inumeric(FLERR,skeyval.c_str(),false,lmp); + } else if (strcmp(skeywd.c_str(), "nmax") == 0) { + nmax = utils::inumeric(FLERR, skeyval.c_str(), false, lmp); nmaxflag = 1; - } else if (strcmp(skeywd.c_str(),"lmax") == 0) { - lmax = utils::inumeric(FLERR,skeyval.c_str(),false,lmp); + } else if (strcmp(skeywd.c_str(), "lmax") == 0) { + lmax = utils::inumeric(FLERR, skeyval.c_str(), false, lmp); lmaxflag = 1; - } else if (strcmp(skeywd.c_str(),"alpha") == 0) { - alpha = utils::numeric(FLERR,skeyval.c_str(),false,lmp); + } else if (strcmp(skeywd.c_str(), "alpha") == 0) { + alpha = utils::numeric(FLERR, skeyval.c_str(), false, lmp); alphaflag = 1; } else - error->all(FLERR,"Incorrect SO3 parameter file"); + error->all(FLERR, "Incorrect SO3 parameter file"); } } - if (!rcutfacflag || !nelementsflag || - !elementsflag || !radelemflag || !wjelemflag || - !nmaxflag || !lmaxflag || !alphaflag) - error->all(FLERR,"Incorrect SO3 parameter file"); + if (!rcutfacflag || !nelementsflag || !elementsflag || !radelemflag || !wjelemflag || !nmaxflag || + !lmaxflag || !alphaflag) + error->all(FLERR, "Incorrect SO3 parameter file"); // construct cutsq double cut; cutmax = 0.0; - memory->create(cutsq,nelements,nelements, - "mliap/descriptor/so3:cutsq"); + memory->create(cutsq, nelements, nelements, "mliap/descriptor/so3:cutsq"); for (int ielem = 0; ielem < nelements; ielem++) { - cut = 2.0*radelem[ielem]*rcutfac; + cut = 2.0 * radelem[ielem] * rcutfac; if (cut > cutmax) cutmax = cut; - cutsq[ielem][ielem] = cut*cut; + cutsq[ielem][ielem] = cut * cut; - for(int jelem = ielem+1; jelem < nelements; jelem++) { - cut = (radelem[ielem]+radelem[jelem])*rcutfac; - cutsq[ielem][jelem] = cutsq[jelem][ielem] = cut*cut; + for (int jelem = ielem + 1; jelem < nelements; jelem++) { + cut = (radelem[ielem] + radelem[jelem]) * rcutfac; + cutsq[ielem][jelem] = cutsq[jelem][ielem] = cut * cut; } } } -void MLIAPDescriptorSO3::compute_descriptors(class MLIAPData* data) +/* ---------------------------------------------------------------------- */ + +void MLIAPDescriptorSO3::compute_descriptors(class MLIAPData *data) { - so3ptr->spectrum(data->nlistatoms,data->numneighs,data->jelems,wjelem, - data->rij,nmax,lmax,rcutfac,alpha,data->ndescriptors); + so3ptr->spectrum(data->nlistatoms, data->numneighs, data->jelems, wjelem, data->rij, nmax, lmax, + rcutfac, alpha, data->ndescriptors); for (int ii = 0; ii < data->nlistatoms; ii++) { for (int icoeff = 0; icoeff < data->ndescriptors; icoeff++) - data->descriptors[ii][icoeff] = so3ptr->m_plist_r[ii*(data->ndescriptors)+icoeff]; + data->descriptors[ii][icoeff] = so3ptr->m_plist_r[ii * (data->ndescriptors) + icoeff]; } } -void MLIAPDescriptorSO3::compute_forces(class MLIAPData* data) -{ - int npairs=0; - for (int ii = 0; ii < data->nlistatoms; ii++) - npairs+=data->numneighs[ii]; +/* ---------------------------------------------------------------------- */ - so3ptr->spectrum_dxdr(data->nlistatoms,data->numneighs,data->jelems,wjelem, - data->rij,nmax,lmax,rcutfac,alpha,npairs,data->ndescriptors); +void MLIAPDescriptorSO3::compute_forces(class MLIAPData *data) +{ + int npairs = 0; + for (int ii = 0; ii < data->nlistatoms; ii++) npairs += data->numneighs[ii]; + + so3ptr->spectrum_dxdr(data->nlistatoms, data->numneighs, data->jelems, wjelem, data->rij, nmax, + lmax, rcutfac, alpha, npairs, data->ndescriptors); double fij[3]; double **f = atom->f; int ij = 0; @@ -241,11 +238,11 @@ void MLIAPDescriptorSO3::compute_forces(class MLIAPData* data) for (int jj = 0; jj < jnum; jj++) { int j = data->jatoms[ij]; - for(int ir=0;ir<3;ir++){ - fij[ir]=0.0; - for(int icoeff=0;icoeffndescriptors;icoeff++) - fij[ir]+=data->betas[ii][icoeff]*so3ptr->m_dplist_r[(ij - *(data->ndescriptors)+icoeff)*3+ir]; + for (int ir = 0; ir < 3; ir++) { + fij[ir] = 0.0; + for (int icoeff = 0; icoeff < data->ndescriptors; icoeff++) + fij[ir] += data->betas[ii][icoeff] * + so3ptr->m_dplist_r[(ij * (data->ndescriptors) + icoeff) * 3 + ir]; } f[i][0] += fij[0]; @@ -258,26 +255,28 @@ void MLIAPDescriptorSO3::compute_forces(class MLIAPData* data) // add in global and per-atom virial contributions // this is optional and has no effect on force calculation - if (data->vflag) - data->pairmliap->v_tally(i,j,fij,data->rij[ij]); + if (data->vflag) data->pairmliap->v_tally(i, j, fij, data->rij[ij]); ij++; } - } } + +/* ---------------------------------------------------------------------- */ + void MLIAPDescriptorSO3::init() { so3ptr->init(); } +/* ---------------------------------------------------------------------- */ double MLIAPDescriptorSO3::memory_usage() { double bytes = 0; - bytes += (double)nelements*sizeof(double); - bytes += (double)nelements*sizeof(double); - bytes += (double)nelements*nelements*sizeof(int); + bytes += (double) nelements * sizeof(double); + bytes += (double) nelements * sizeof(double); + bytes += (double) nelements * nelements * sizeof(int); return bytes; } diff --git a/src/MLIAP/mliap_descriptor_so3.h b/src/MLIAP/mliap_descriptor_so3.h index d744b4da52..03495633b4 100644 --- a/src/MLIAP/mliap_descriptor_so3.h +++ b/src/MLIAP/mliap_descriptor_so3.h @@ -21,27 +21,25 @@ namespace LAMMPS_NS { class MLIAPDescriptorSO3 : public MLIAPDescriptor { public: - - MLIAPDescriptorSO3(LAMMPS*, char*); + MLIAPDescriptorSO3(LAMMPS *, char *); ~MLIAPDescriptorSO3(); - virtual void compute_descriptors(class MLIAPData*); - virtual void compute_forces(class MLIAPData*); - virtual void compute_force_gradients(class MLIAPData*) {}; - virtual void compute_descriptor_gradients(class MLIAPData*) {}; + virtual void compute_descriptors(class MLIAPData *); + virtual void compute_forces(class MLIAPData *); + virtual void compute_force_gradients(class MLIAPData *){}; + virtual void compute_descriptor_gradients(class MLIAPData *){}; virtual void init(); virtual double memory_usage(); double rcutfac; protected: - - class MLIAP_SO3* so3ptr; + class MLIAP_SO3 *so3ptr; void read_paramfile(char *); - inline int equal(double* x,double* y); - inline double dist2(double* x,double* y); + inline int equal(double *x, double *y); + inline double dist2(double *x, double *y); - int nmax,lmax; + int nmax, lmax; double alpha; double *radelem; @@ -50,7 +48,6 @@ class MLIAPDescriptorSO3 : public MLIAPDescriptor { int chemflag, bnormflag, wselfallflag; double rfac0, rmin0; }; -} +} // namespace LAMMPS_NS #endif - diff --git a/src/MLIAP/mliap_so3.cpp b/src/MLIAP/mliap_so3.cpp index e3691760ba..33d3a6bce5 100644 --- a/src/MLIAP/mliap_so3.cpp +++ b/src/MLIAP/mliap_so3.cpp @@ -12,16 +12,18 @@ ------------------------------------------------------------------------- */ /* ---------------------------------------------------------------------- - Contributing authors: Aidan Thompson, Christian Trott, SNL + Contributing authors: ------------------------------------------------------------------------- */ #include "mliap_so3.h" -#include + +#include "comm.h" +#include "error.h" #include "math_const.h" #include "math_special.h" #include "memory.h" -#include "error.h" -#include "comm.h" + +#include #include "mliap_so3_math.h" @@ -30,8 +32,11 @@ using namespace LAMMPS_NS; using namespace MathConst; using namespace MathSpecial; -MLIAP_SO3::MLIAP_SO3(LAMMPS *lmp, double vrcut, int vlmax, int vnmax, - double valpha) : Pointers(lmp) +#define SMALL 1.0e-8 + +/* ---------------------------------------------------------------------- */ + +MLIAP_SO3::MLIAP_SO3(LAMMPS *lmp, double vrcut, int vlmax, int vnmax, double valpha) : Pointers(lmp) { m_rcut = vrcut; m_alpha = valpha; @@ -90,9 +95,10 @@ MLIAP_SO3::MLIAP_SO3(LAMMPS *lmp, double vrcut, int vlmax, int vnmax, m_clisttot_i = nullptr; m_init_arrays = 0; - } +/* ---------------------------------------------------------------------- */ + MLIAP_SO3::~MLIAP_SO3() { @@ -144,16 +150,18 @@ MLIAP_SO3::~MLIAP_SO3() memory->destroy(m_clisttot_r); memory->destroy(m_clisttot_i); - } +/* ---------------------------------------------------------------------- */ + void MLIAP_SO3::compute_ncoeff() { ncoeff = m_nmax * (m_nmax + 1) * (m_lmax + 1) / 2; - } +/* ---------------------------------------------------------------------- */ + void MLIAP_SO3::init() { int i, totali; @@ -177,8 +185,7 @@ void MLIAP_SO3::init() memory->create(m_pfac, totali, "MLIAP_SO3:m_pfac"); for (int l = 0; l < m_lmax + 2; l++) for (int m = -l; m < l + 1; m++) - m_pfac[l * m_pfac_l2 + m] = sqrt((2.0 * l + 1.0) * pfac1) - * pow(-1, m); + m_pfac[l * m_pfac_l2 + m] = sqrt((2.0 * l + 1.0) * pfac1) * powsign(m); m_dfac_l1 = m_lmax + 1; m_dfac_l2 = (m_lmax + 1) * (m_lmax + 1) + 1; @@ -198,40 +205,32 @@ void MLIAP_SO3::init() for (int l = 1; l < m_lmax + 1; l++) for (int m = -l; m < l + 1; m++) { - m_dfac0[l * m_dfac_l2 + m] = -sqrt( - ((l + 1.0) * (l + 1.0) - m * m) / (2.0 * l + 1.0) - / (2.0 * l + 3.0)) * l; - m_dfac1[l * m_dfac_l2 + m] = sqrt( - (l * l - m * m) / (2.0 * l - 1.0) / (2.0 * l + 1.0)) - * (l + 1.0); - m_dfac2[l * m_dfac_l2 + m] = -sqrt( - (l + m + 1.0) * (l + m + 2.0) / 2.0 / (2.0 * l + 1.0) - / (2.0 * l + 3.0)) * l; - m_dfac3[l * m_dfac_l2 + m] = sqrt( - (l - m - 1.0) * (l - m) / 2.0 / (2.0 * l - 1.0) - / (2.0 * l + 1.0)) * (l + 1.0); - m_dfac4[l * m_dfac_l2 + m] = -sqrt( - (l - m + 1.0) * (l - m + 2.0) / 2.0 / (2.0 * l + 1.0) - / (2.0 * l + 3.0)) * l; - m_dfac5[l * m_dfac_l2 + m] = sqrt( - (l + m - 1.0) * (l + m) / 2.0 / (2.0 * l - 1.0) - / (2.0 * l + 1.0)) * (l + 1.0); + m_dfac0[l * m_dfac_l2 + m] = + -sqrt(((l + 1.0) * (l + 1.0) - m * m) / (2.0 * l + 1.0) / (2.0 * l + 3.0)) * l; + m_dfac1[l * m_dfac_l2 + m] = + sqrt((l * l - m * m) / (2.0 * l - 1.0) / (2.0 * l + 1.0)) * (l + 1.0); + m_dfac2[l * m_dfac_l2 + m] = + -sqrt((l + m + 1.0) * (l + m + 2.0) / 2.0 / (2.0 * l + 1.0) / (2.0 * l + 3.0)) * l; + m_dfac3[l * m_dfac_l2 + m] = + sqrt((l - m - 1.0) * (l - m) / 2.0 / (2.0 * l - 1.0) / (2.0 * l + 1.0)) * (l + 1.0); + m_dfac4[l * m_dfac_l2 + m] = + -sqrt((l - m + 1.0) * (l - m + 2.0) / 2.0 / (2.0 * l + 1.0) / (2.0 * l + 3.0)) * l; + m_dfac5[l * m_dfac_l2 + m] = + sqrt((l + m - 1.0) * (l + m) / 2.0 / (2.0 * l - 1.0) / (2.0 * l + 1.0)) * (l + 1.0); } totali = m_nmax * m_nmax; memory->destroy(m_w); memory->create(m_w, totali, "MLIAP_SO3:w"); - for (i = 0; i < totali; i++) - m_w[i] = 0.0; + for (i = 0; i < totali; i++) m_w[i] = 0.0; compute_W(m_nmax, m_w); totali = m_nmax * m_Nmax; memory->create(m_g_array, totali, "MLIAP_SO3:g_array"); - for (i = 0; i < totali; i++) - m_g_array[i] = 0.0; + for (i = 0; i < totali; i++) m_g_array[i] = 0.0; init_garray(m_nmax, m_lmax, m_rcut, m_alpha, m_w, m_nmax, m_g_array, m_Nmax); @@ -241,23 +240,19 @@ void MLIAP_SO3::init() totali = m_ldim * m_ldim; memory->create(m_rootpq, totali, "MLIAP_SO3:rootpq"); - for (i = 0; i < totali; i++) - m_rootpq[i] = 0.0; + for (i = 0; i < totali; i++) m_rootpq[i] = 0.0; for (int p = 1; p < m_ldim; p++) - for (int q = 1; q < m_ldim; q++) - m_rootpq[p * m_ldim + q] = sqrt(static_cast(p) / q); + for (int q = 1; q < m_ldim; q++) m_rootpq[p * m_ldim + q] = sqrt(static_cast(p) / q); memory->create(m_idxu_block, m_ldim, "MLIAP_SO3:idxu_bloc"); - for (i = 0; i < m_ldim; i++) - m_idxu_block[i] = 0; + for (i = 0; i < m_ldim; i++) m_idxu_block[i] = 0; - totali = pow(m_lmax + 2, 2); + totali = square(m_lmax + 2); memory->create(m_idxylm, totali, "MLIAP_SO3:idxylm"); - for (i = 0; i < totali; i++) - m_idxylm[i] = 0; + for (i = 0; i < totali; i++) m_idxylm[i] = 0; m_idxu_count = 0, m_idxy_count = 0; @@ -276,6 +271,8 @@ void MLIAP_SO3::init() m_numYlms = (m_lmax + 1) * (m_lmax + 1); } +/* ---------------------------------------------------------------------- */ + void MLIAP_SO3::init_arrays(int natoms, int ncoefs) { int totali = natoms * ncoefs; @@ -326,6 +323,8 @@ void MLIAP_SO3::init_arrays(int natoms, int ncoefs) m_init_arrays = 1; } +/* ---------------------------------------------------------------------- */ + double MLIAP_SO3::memory_usage() { double bytes; @@ -336,6 +335,8 @@ double MLIAP_SO3::memory_usage() return bytes; } +/* ---------------------------------------------------------------------- */ + void MLIAP_SO3::compute_W(int nmax, double *arr) { int alpha, beta, temp1, temp2; @@ -344,11 +345,9 @@ void MLIAP_SO3::compute_W(int nmax, double *arr) temp1 = (2 * alpha + 5) * (2 * alpha + 6) * (2 * alpha + 7); for (beta = 1; beta < alpha + 1; beta++) { temp2 = (2 * beta + 5) * (2 * beta + 6) * (2 * beta + 7); - arr[(alpha - 1) * nmax + beta - 1] = sqrt(temp1 * temp2) - / (5 + alpha + beta) / (6 + alpha + beta) - / (7 + alpha + beta); - arr[(beta - 1) * nmax + alpha - 1] = arr[(alpha - 1) - * nmax + beta - 1]; + arr[(alpha - 1) * nmax + beta - 1] = + sqrt(temp1 * temp2) / (5 + alpha + beta) / (6 + alpha + beta) / (7 + alpha + beta); + arr[(beta - 1) * nmax + alpha - 1] = arr[(alpha - 1) * nmax + beta - 1]; } } @@ -366,30 +365,22 @@ void MLIAP_SO3::compute_W(int nmax, double *arr) int info; + info = invert_matrix(n, arr, arrinv); + if (info != 0) error->all(FLERR, "Invert matrix Error in W calculation!"); - info = invert_matrix(n, arr, arrinv ); - if (info != 0) - error->all(FLERR, "Invert matrix Error in W calculation!"); - - temparr = new double* [n]; - for (int iy=0; iyall(FLERR,"Invert matrix Error in W calculation!"); - + info = invert_matrix(n, outeigvec, arrinv); + if (info != 0) error->all(FLERR, "Invert matrix Error in W calculation!"); for (i = 0; i < n; i++) for (j = 0; j < n; j++) { dtemp = 0; - for (k = 0; k < n; k++) - dtemp += tempM[i * n + k] * arrinv[k * n + j]; + for (k = 0; k < n; k++) dtemp += tempM[i * n + k] * arrinv[k * n + j]; arr[i * n + j] = dtemp; } - delete[] outeig; delete[] outeigvec; delete[] arrinv; @@ -430,21 +416,17 @@ void MLIAP_SO3::compute_W(int nmax, double *arr) delete[] sqrtD; delete[] tempM; - for (int iy=0; iyrcut) return 0.0; - else return Cosine(r,rcut); - + if (r > rcut) + return 0.0; + else + return Cosine(r, rcut); } + +/* ---------------------------------------------------------------------- */ + double MLIAP_SO3::compute_dsfac(double r, double rcut) { - if(r>rcut) return 0.0; - else return CosinePrime(r,rcut); - + if (r > rcut) + return 0.0; + else + return CosinePrime(r, rcut); } -void MLIAP_SO3::compute_dpidrj(int nmax, int lmax, double *clisttot_r, - double *clisttot_i, - int lctot2, double *dclist_r, - double *dclist_i, - int ldcli2, int ldcli3, - double *dplist_r, int dpli2) +/* ---------------------------------------------------------------------- */ + +void MLIAP_SO3::compute_dpidrj(int nmax, int lmax, double *clisttot_r, double *clisttot_i, + int lctot2, double *dclist_r, double *dclist_i, int ldcli2, + int ldcli3, double *dplist_r, int dpli2) { double temp_r; double norm; @@ -540,20 +530,15 @@ void MLIAP_SO3::compute_dpidrj(int nmax, int lmax, double *clisttot_r, for (m = -l; m < l + 1; m++) { for (ii = 0; ii < 3; ii++) { - temp_r = dclist_r[(n1 * ldcli2 + j) * ldcli3 + ii] - * clisttot_r[n2 * lctot2 + j] - + dclist_i[(n1 * ldcli2 + j) * ldcli3 + ii] - * clisttot_i[n2 * lctot2 + j]; + temp_r = dclist_r[(n1 * ldcli2 + j) * ldcli3 + ii] * clisttot_r[n2 * lctot2 + j] + + dclist_i[(n1 * ldcli2 + j) * ldcli3 + ii] * clisttot_i[n2 * lctot2 + j]; - temp_r += clisttot_r[n1 * lctot2 + j] - * dclist_r[(n2 * ldcli2 + j) * ldcli3 + ii] - + clisttot_i[n1 * lctot2 + j] - * dclist_i[(n2 * ldcli2 + j) * ldcli3 + ii]; + temp_r += clisttot_r[n1 * lctot2 + j] * dclist_r[(n2 * ldcli2 + j) * ldcli3 + ii] + + clisttot_i[n1 * lctot2 + j] * dclist_i[(n2 * ldcli2 + j) * ldcli3 + ii]; temp_r *= norm; dplist_r[i * dpli2 + ii] += temp_r; - } j += 1; } @@ -562,22 +547,22 @@ void MLIAP_SO3::compute_dpidrj(int nmax, int lmax, double *clisttot_r, } } +/* ---------------------------------------------------------------------- */ + int MLIAP_SO3::get_sum(int istart, int iend, int id, int imult) { int ires = 0; int i; - for (i = istart; i < iend; i = i + id) - ires += i * imult; + for (i = istart; i < iend; i = i + id) ires += i * imult; return ires; } -void MLIAP_SO3::compute_uarray_recursive(double x, double y, - double z, double r, - int twol, double *ulist_r, - double *ulist_i, - int *idxu_block, +/* ---------------------------------------------------------------------- */ + +void MLIAP_SO3::compute_uarray_recursive(double x, double y, double z, double r, int twol, + double *ulist_r, double *ulist_i, int *idxu_block, double *rootpqarray) { int l, llu, llup, mb, ma, mbpar, mapar; @@ -619,17 +604,13 @@ void MLIAP_SO3::compute_uarray_recursive(double x, double y, rootpq = rootpqarray[(l - ma) * ldim + l - mb]; - ulist_r[llu] += rootpq - * (a_r * ulist_r[llup] + a_i * ulist_i[llup]); - ulist_i[llu] += rootpq - * (a_r * ulist_i[llup] - a_i * ulist_r[llup]); + ulist_r[llu] += rootpq * (a_r * ulist_r[llup] + a_i * ulist_i[llup]); + ulist_i[llu] += rootpq * (a_r * ulist_i[llup] - a_i * ulist_r[llup]); rootpq = rootpqarray[(ma + 1) * ldim + l - mb]; - ulist_r[llu + 1] += -rootpq - * (b_r * ulist_r[llup] + b_i * ulist_i[llup]); - ulist_i[llu + 1] += -rootpq - * (b_r * ulist_i[llup] - b_i * ulist_r[llup]); + ulist_r[llu + 1] += -rootpq * (b_r * ulist_r[llup] + b_i * ulist_i[llup]); + ulist_i[llu + 1] += -rootpq * (b_r * ulist_i[llup] - b_i * ulist_r[llup]); llu += 1; llup += 1; @@ -656,7 +637,6 @@ void MLIAP_SO3::compute_uarray_recursive(double x, double y, ulist_r[llup] = -ulist_r[llu]; ulist_i[llup] = ulist_i[llu]; - } mapar = -mapar; llu += 1; @@ -666,11 +646,11 @@ void MLIAP_SO3::compute_uarray_recursive(double x, double y, mb += 1; } } - } -void MLIAP_SO3::init_garray(int nmax, int lmax, double rcut, - double alpha, double *w, int lw1, +/* ---------------------------------------------------------------------- */ + +void MLIAP_SO3::init_garray(int nmax, int lmax, double rcut, double alpha, double *w, int lw1, double *g_array, int lg2) { int i, n, Nmax = (nmax + lmax + 1) * 10; @@ -683,17 +663,15 @@ void MLIAP_SO3::init_garray(int nmax, int lmax, double rcut, xi = rcut / 2 * (x + 1); for (n = 1; n < nmax + 1; n++) // r**2*g(n)(r)*e^(-alpha*r**2) - g_array[(n - 1) * lg2 + i - 1] = rcut / 2 * MY_PI / Nmax - * sqrt(1 - x * x) * xi * xi - * compute_g(xi, n, nmax, rcut, w, lw1) - * exp(-alpha * xi * xi); - + g_array[(n - 1) * lg2 + i - 1] = rcut / 2 * MY_PI / Nmax * sqrt(1 - x * x) * xi * xi * + compute_g(xi, n, nmax, rcut, w, lw1) * exp(-alpha * xi * xi); } } -void MLIAP_SO3::get_sbes_array(int natoms, int *numneighs, - double **rij, int lmax, - double rcut, double alpha) +/* ---------------------------------------------------------------------- */ + +void MLIAP_SO3::get_sbes_array(int natoms, int *numneighs, double **rij, int lmax, double rcut, + double alpha) { int i, j; int neighbor; @@ -723,8 +701,7 @@ void MLIAP_SO3::get_sbes_array(int natoms, int *numneighs, ri = sqrt(x * x + y * y + z * z); - if (ri < pow(10, -8)) - continue; + if (ri < SMALL) continue; pfac2 = pfac1 * ri; @@ -744,40 +721,34 @@ void MLIAP_SO3::get_sbes_array(int natoms, int *numneighs, for (j = 2; j < lmax + 1; j++) m_sbes_array[gindex + (i - 1) * mindex + j] = - m_sbes_array[gindex + (i - 1) * mindex + j - 2] - - (2 * j - 1) / rb - * m_sbes_array[gindex - + (i - 1) * mindex + j - 1]; + m_sbes_array[gindex + (i - 1) * mindex + j - 2] - + (2 * j - 1) / rb * m_sbes_array[gindex + (i - 1) * mindex + j - 1]; - exts = m_sbes_array[gindex + (i - 1) * mindex + j - 2] - - (2 * j - 1) / rb - * m_sbes_array[gindex + (i - 1) * mindex + j - 1]; + exts = m_sbes_array[gindex + (i - 1) * mindex + j - 2] - + (2 * j - 1) / rb * m_sbes_array[gindex + (i - 1) * mindex + j - 1]; m_sbes_darray[gindex + (i - 1) * mindex + 0] = sb; for (j = 1; j < lmax; j++) - m_sbes_darray[gindex + (i - 1) * mindex + j] = xi * (j - * m_sbes_array[gindex + (i - 1) * mindex + j - 1] - + (j + 1) * m_sbes_array[gindex - + (i - 1) * mindex + j + 1]) / (2 * j + 1); + m_sbes_darray[gindex + (i - 1) * mindex + j] = xi * + (j * m_sbes_array[gindex + (i - 1) * mindex + j - 1] + + (j + 1) * m_sbes_array[gindex + (i - 1) * mindex + j + 1]) / + (2 * j + 1); - m_sbes_darray[gindex + (i - 1) * mindex + j] = xi - * (j * m_sbes_array[gindex + (i - 1) * mindex + j - 1] - + (j + 1) * exts) / (2 * j + 1); + m_sbes_darray[gindex + (i - 1) * mindex + j] = xi * + (j * m_sbes_array[gindex + (i - 1) * mindex + j - 1] + (j + 1) * exts) / (2 * j + 1); m_sbes_darray[gindex + (i - 1) * mindex + 0] = xi * sb; - } - } - } return; - } -void MLIAP_SO3::get_rip_array(int natoms, int *numneighs, - double **rij, int nmax, int lmax, double alpha) +/* ---------------------------------------------------------------------- */ + +void MLIAP_SO3::get_rip_array(int natoms, int *numneighs, double **rij, int nmax, int lmax, + double alpha) { int i, l, n; double integrald, integral = 0.0; @@ -798,8 +769,7 @@ void MLIAP_SO3::get_rip_array(int natoms, int *numneighs, ri = sqrt(x * x + y * y + z * z); - if (ri < pow(10, -8)) - continue; + if (ri < SMALL) continue; expfac = 4 * MY_PI * exp(-alpha * ri * ri); @@ -809,30 +779,26 @@ void MLIAP_SO3::get_rip_array(int natoms, int *numneighs, integral = 0.0; integrald = 0.0; for (i = 0; i < m_Nmax; i++) { - integral += m_g_array[(n - 1) * m_Nmax + i] - * m_sbes_array[(ipair - 1) * m_Nmax - * (m_lmax + 1) + i * (m_lmax + 1) + l]; - integrald += m_g_array[(n - 1) * m_Nmax + i] - * m_sbes_darray[(ipair - 1) * m_Nmax - * (m_lmax + 1) + i * (m_lmax + 1) + l]; + integral += m_g_array[(n - 1) * m_Nmax + i] * + m_sbes_array[(ipair - 1) * m_Nmax * (m_lmax + 1) + i * (m_lmax + 1) + l]; + integrald += m_g_array[(n - 1) * m_Nmax + i] * + m_sbes_darray[(ipair - 1) * m_Nmax * (m_lmax + 1) + i * (m_lmax + 1) + l]; } - m_rip_array[(ipair - 1) * m_nmax * (m_lmax + 1) - + (n - 1) * (m_lmax + 1) + l] = integral * expfac; - m_rip_darray[(ipair - 1) * m_nmax * (m_lmax + 1) - + (n - 1) * (m_lmax + 1) + l] = integrald * expfac; - + m_rip_array[(ipair - 1) * m_nmax * (m_lmax + 1) + (n - 1) * (m_lmax + 1) + l] = + integral * expfac; + m_rip_darray[(ipair - 1) * m_nmax * (m_lmax + 1) + (n - 1) * (m_lmax + 1) + l] = + integrald * expfac; } - } return; } -void MLIAP_SO3::spectrum(int natoms, int *numneighs, int *jelems, - double *wjelem, double **rij, int nmax, - int lmax, double rcut, double alpha, - int ncoefs) +/* ---------------------------------------------------------------------- */ + +void MLIAP_SO3::spectrum(int natoms, int *numneighs, int *jelems, double *wjelem, double **rij, + int nmax, int lmax, double rcut, double alpha, int ncoefs) { init_arrays(natoms, ncoefs); @@ -851,8 +817,7 @@ void MLIAP_SO3::spectrum(int natoms, int *numneighs, int *jelems, findex = m_nmax * (m_lmax + 1); - for (i = 0; i < natoms; i++) - totaln += numneighs[i]; + for (i = 0; i < natoms; i++) totaln += numneighs[i]; totali = totaln * m_Nmax * (m_lmax + 1); memory->destroy(m_sbes_array); @@ -872,9 +837,9 @@ void MLIAP_SO3::spectrum(int natoms, int *numneighs, int *jelems, memory->destroy(m_dplist_i); memory->create(m_dplist_i, totali, "MLIAP_SO3:m_dplist_i"); - get_sbes_array(natoms,numneighs,rij,lmax,rcut,alpha); + get_sbes_array(natoms, numneighs, rij, lmax, rcut, alpha); - get_rip_array(natoms,numneighs,rij,nmax,lmax,alpha); + get_rip_array(natoms, numneighs, rij, nmax, lmax, alpha); totali = natoms * ncoefs; for (i = 0; i < totali; i++) { @@ -903,8 +868,7 @@ void MLIAP_SO3::spectrum(int natoms, int *numneighs, int *jelems, r = sqrt(x * x + y * y + z * z); - if (r < pow(10, -8)) - continue; + if (r < SMALL) continue; totali = nmax * m_numYlms; for (ti = 0; ti < totali; ti++) { m_clist_r[ti] = 0.0; @@ -915,10 +879,9 @@ void MLIAP_SO3::spectrum(int natoms, int *numneighs, int *jelems, m_ulist_i[ti] = 0.0; } - compute_uarray_recursive(x, y, z, r, twolmax, m_ulist_r, - m_ulist_i,m_idxu_block, m_rootpq); + compute_uarray_recursive(x, y, z, r, twolmax, m_ulist_r, m_ulist_i, m_idxu_block, m_rootpq); - sfac=compute_sfac(r,rcut); + sfac = compute_sfac(r, rcut); gindex = (ipair - 1) * findex; for (int n = 1; n < nmax + 1; n++) { @@ -928,14 +891,10 @@ void MLIAP_SO3::spectrum(int natoms, int *numneighs, int *jelems, for (int m = -l; m < l + 1; m++) { - Ylm_r = (m_ulist_r[m_idxylm[i]]) - * m_pfac[l * m_pfac_l2 + m]; - m_clist_r[(n - 1) * m_numYlms + i] - += r_int * Ylm_r * sfac; - Ylm_i = (m_ulist_i[m_idxylm[i]]) - * m_pfac[l * m_pfac_l2 + m]; - m_clist_i[(n - 1) * m_numYlms + i] - += r_int * Ylm_i*sfac; + Ylm_r = (m_ulist_r[m_idxylm[i]]) * m_pfac[l * m_pfac_l2 + m]; + m_clist_r[(n - 1) * m_numYlms + i] += r_int * Ylm_r * sfac; + Ylm_i = (m_ulist_i[m_idxylm[i]]) * m_pfac[l * m_pfac_l2 + m]; + m_clist_i[(n - 1) * m_numYlms + i] += r_int * Ylm_i * sfac; i += 1; } } @@ -951,23 +910,18 @@ void MLIAP_SO3::spectrum(int natoms, int *numneighs, int *jelems, m_clisttot_r[tn] += m_clist_r[tn]; m_clisttot_i[tn] += m_clist_i[tn]; } - } - compute_pi(nmax, lmax, m_clisttot_r, m_clisttot_i, - m_numYlms,m_plist_r, m_plist_i, ncoefs, ii); - + compute_pi(nmax, lmax, m_clisttot_r, m_clisttot_i, m_numYlms, m_plist_r, m_plist_i, ncoefs, ii); } return; - } -void MLIAP_SO3::spectrum_dxdr(int natoms, int *numneighs, - int *jelems, double *wjelem, - double **rij, int nmax, int lmax, - double rcut, double alpha, int npairs, - int ncoefs) +/* ---------------------------------------------------------------------- */ + +void MLIAP_SO3::spectrum_dxdr(int natoms, int *numneighs, int *jelems, double *wjelem, double **rij, + int nmax, int lmax, double rcut, double alpha, int npairs, int ncoefs) { int totaln = 0; int totali; @@ -994,12 +948,11 @@ void MLIAP_SO3::spectrum_dxdr(int natoms, int *numneighs, int ipair = 0; int idpair = 0; - double sfac,dsfac,dsfac_arr[3]; + double sfac, dsfac, dsfac_arr[3]; findex = m_nmax * (m_lmax + 1); - for (i = 0; i < natoms; i++) - totaln += numneighs[i]; + for (i = 0; i < natoms; i++) totaln += numneighs[i]; totali = totaln * m_Nmax * (m_lmax + 1); memory->destroy(m_sbes_array); @@ -1054,8 +1007,7 @@ void MLIAP_SO3::spectrum_dxdr(int natoms, int *numneighs, r = sqrt(x * x + y * y + z * z); - if (r < pow(10, -8)) - continue; + if (r < SMALL) continue; totali = nmax * m_numYlms; for (ti = 0; ti < totali; ti++) { @@ -1068,10 +1020,9 @@ void MLIAP_SO3::spectrum_dxdr(int natoms, int *numneighs, m_ulist_i[ti] = 0.0; } - compute_uarray_recursive(x, y, z, r, twolmax, m_ulist_r, - m_ulist_i, m_idxu_block, m_rootpq); + compute_uarray_recursive(x, y, z, r, twolmax, m_ulist_r, m_ulist_i, m_idxu_block, m_rootpq); - sfac=compute_sfac(r,rcut); + sfac = compute_sfac(r, rcut); gindex = (ipair - 1) * findex; for (int n = 1; n < nmax + 1; n++) { @@ -1081,14 +1032,10 @@ void MLIAP_SO3::spectrum_dxdr(int natoms, int *numneighs, for (int m = -l; m < l + 1; m++) { - Ylm_r = (m_ulist_r[m_idxylm[i]]) - * m_pfac[l * m_pfac_l2 + m]; - m_clist_r[(n - 1) * m_numYlms + i] - += r_int * Ylm_r * sfac; - Ylm_i = (m_ulist_i[m_idxylm[i]]) - * m_pfac[l * m_pfac_l2 + m]; - m_clist_i[(n - 1) * m_numYlms + i] - += r_int * Ylm_i * sfac; + Ylm_r = (m_ulist_r[m_idxylm[i]]) * m_pfac[l * m_pfac_l2 + m]; + m_clist_r[(n - 1) * m_numYlms + i] += r_int * Ylm_r * sfac; + Ylm_i = (m_ulist_i[m_idxylm[i]]) * m_pfac[l * m_pfac_l2 + m]; + m_clist_i[(n - 1) * m_numYlms + i] += r_int * Ylm_i * sfac; i += 1; } } @@ -1104,7 +1051,6 @@ void MLIAP_SO3::spectrum_dxdr(int natoms, int *numneighs, m_clisttot_r[tn] += m_clist_r[tn]; m_clisttot_i[tn] += m_clist_i[tn]; } - } for (neighbor = 0; neighbor < numneighs[ii]; neighbor++) { @@ -1118,8 +1064,7 @@ void MLIAP_SO3::spectrum_dxdr(int natoms, int *numneighs, idpair++; r = sqrt(x * x + y * y + z * z); - if (r < pow(10, -8)) - continue; + if (r < SMALL) continue; totali = nmax * m_numYlms * 3; for (int tn = 0; tn < totali; tn++) { @@ -1132,8 +1077,7 @@ void MLIAP_SO3::spectrum_dxdr(int natoms, int *numneighs, m_ulist_i[ti] = 0.0; } - compute_uarray_recursive(x, y, z, r, twolmax, m_ulist_r, - m_ulist_i, m_idxu_block, m_rootpq); + compute_uarray_recursive(x, y, z, r, twolmax, m_ulist_r, m_ulist_i, m_idxu_block, m_rootpq); ///////// compute_carray_wD //////// { @@ -1149,10 +1093,8 @@ void MLIAP_SO3::spectrum_dxdr(int natoms, int *numneighs, int i = 0; for (int l = 0; l < lmax + 2; l++) { for (int m = -l; m < l + 1; m++) { - m_Ylms_r[i] = (m_ulist_r[m_idxylm[i]]) - * m_pfac[l * m_pfac_l2 + m]; - m_Ylms_i[i] = (m_ulist_i[m_idxylm[i]]) - * m_pfac[l * m_pfac_l2 + m]; + m_Ylms_r[i] = (m_ulist_r[m_idxylm[i]]) * m_pfac[l * m_pfac_l2 + m]; + m_Ylms_i[i] = (m_ulist_i[m_idxylm[i]]) * m_pfac[l * m_pfac_l2 + m]; i += 1; } } @@ -1186,10 +1128,8 @@ void MLIAP_SO3::spectrum_dxdr(int natoms, int *numneighs, xcovpl1_r = dfact[2] * m_Ylms_r[m_ellpl1[l] + m + 1]; xcovpl1_i = dfact[2] * m_Ylms_i[m_ellpl1[l] + m + 1]; if (abs(m + 1) <= l - 1.0) { - xcovpl1_r -= dfact[3] - * m_Ylms_r[m_ellm1[l] + m + 1]; - xcovpl1_i -= dfact[3] - * m_Ylms_i[m_ellm1[l] + m + 1]; + xcovpl1_r -= dfact[3] * m_Ylms_r[m_ellm1[l] + m + 1]; + xcovpl1_i -= dfact[3] * m_Ylms_i[m_ellm1[l] + m + 1]; } xcovm1_r = dfact[4] * m_Ylms_r[m_ellpl1[l] + m - 1]; xcovm1_i = dfact[4] * m_Ylms_i[m_ellpl1[l] + m - 1]; @@ -1197,13 +1137,11 @@ void MLIAP_SO3::spectrum_dxdr(int natoms, int *numneighs, xcovm1_r -= dfact[5] * m_Ylms_r[m_ellm1[l] + m - 1]; xcovm1_i -= dfact[5] * m_Ylms_i[m_ellm1[l] + m - 1]; } - m_dYlm_r[i * 3 + 0] = 1.0 / sqrt(2.0) - * (xcovm1_r - xcovpl1_r); + m_dYlm_r[i * 3 + 0] = 1.0 / sqrt(2.0) * (xcovm1_r - xcovpl1_r); m_dYlm_r[i * 3 + 1] = -comj_i * (xcovm1_i + xcovpl1_i); m_dYlm_r[i * 3 + 2] = xcov0_r; - m_dYlm_i[i * 3 + 0] = 1.0 / sqrt(2.0) - * (xcovm1_i - xcovpl1_i); + m_dYlm_i[i * 3 + 0] = 1.0 / sqrt(2.0) * (xcovm1_i - xcovpl1_i); m_dYlm_i[i * 3 + 1] = comj_i * (xcovm1_r + xcovpl1_r); m_dYlm_i[i * 3 + 2] = xcov0_i; @@ -1211,68 +1149,61 @@ void MLIAP_SO3::spectrum_dxdr(int natoms, int *numneighs, } } - for (int ii = 0; ii < 3; ii++) - dexpfac[ii] = -2.0 * alpha * rvec[ii]; + for (int ii = 0; ii < 3; ii++) dexpfac[ii] = -2.0 * alpha * rvec[ii]; - sfac=compute_sfac(r,rcut); - dsfac=compute_dsfac(r,rcut); - for(int ii=0;ii<3;ii++){ - dsfac_arr[ii]=dsfac*rvec[ii]/r; - } + sfac = compute_sfac(r, rcut); + dsfac = compute_dsfac(r, rcut); + for (int ii = 0; ii < 3; ii++) { dsfac_arr[ii] = dsfac * rvec[ii] / r; } for (int n = 1; n < nmax + 1; n++) { int i = 0; for (int l = 0; l < lmax + 1; l++) { - r_int = m_rip_array[(idpair - 1) * m_nmax * (m_lmax + 1) - + (n - 1) * (m_lmax + 1) + l]; - r_int_temp = m_rip_darray[(idpair - 1) * m_nmax - * (m_lmax + 1) + (n - 1) * (m_lmax + 1) + l]; + r_int = m_rip_array[(idpair - 1) * m_nmax * (m_lmax + 1) + (n - 1) * (m_lmax + 1) + l]; + r_int_temp = + m_rip_darray[(idpair - 1) * m_nmax * (m_lmax + 1) + (n - 1) * (m_lmax + 1) + l]; - for (int ii = 0; ii < 3; ii++) - dr_int[ii] = r_int_temp * 2.0 * alpha * rvec[ii] / r; + for (int ii = 0; ii < 3; ii++) dr_int[ii] = r_int_temp * 2.0 * alpha * rvec[ii] / r; for (int m = -l; m < l + 1; m++) { - m_dclist_r[((n-1)*m_numYlms+i)*3+0] += - (r_int*m_Ylms_r[i]*dexpfac[0] + dr_int[0]*m_Ylms_r[i] - + r_int*m_dYlm_r[i*3+0])*sfac; - m_dclist_r[((n-1)*m_numYlms+i)*3+1] += - (r_int*m_Ylms_r[i]*dexpfac[1] + dr_int[1]*m_Ylms_r[i] - + r_int*m_dYlm_r[i*3+1])*sfac; - m_dclist_r[((n-1)*m_numYlms+i)*3+2] += - (r_int*m_Ylms_r[i]*dexpfac[2] + dr_int[2]*m_Ylms_r[i] - + r_int*m_dYlm_r[i*3+2])*sfac; + m_dclist_r[((n - 1) * m_numYlms + i) * 3 + 0] += + (r_int * m_Ylms_r[i] * dexpfac[0] + dr_int[0] * m_Ylms_r[i] + + r_int * m_dYlm_r[i * 3 + 0]) * + sfac; + m_dclist_r[((n - 1) * m_numYlms + i) * 3 + 1] += + (r_int * m_Ylms_r[i] * dexpfac[1] + dr_int[1] * m_Ylms_r[i] + + r_int * m_dYlm_r[i * 3 + 1]) * + sfac; + m_dclist_r[((n - 1) * m_numYlms + i) * 3 + 2] += + (r_int * m_Ylms_r[i] * dexpfac[2] + dr_int[2] * m_Ylms_r[i] + + r_int * m_dYlm_r[i * 3 + 2]) * + sfac; - m_dclist_i[((n-1)*m_numYlms+i)*3+0] += - (r_int*m_Ylms_i[i]*dexpfac[0] + dr_int[0]*m_Ylms_i[i] - + r_int*m_dYlm_i[i*3+0])*sfac; - m_dclist_i[((n-1)*m_numYlms+i)*3+1] += - (r_int*m_Ylms_i[i]*dexpfac[1] + dr_int[1]*m_Ylms_i[i] - + r_int*m_dYlm_i[i*3+1])*sfac; - m_dclist_i[((n-1)*m_numYlms+i)*3+2] += - (r_int*m_Ylms_i[i]*dexpfac[2] + dr_int[2]*m_Ylms_i[i] - + r_int*m_dYlm_i[i*3+2])*sfac; + m_dclist_i[((n - 1) * m_numYlms + i) * 3 + 0] += + (r_int * m_Ylms_i[i] * dexpfac[0] + dr_int[0] * m_Ylms_i[i] + + r_int * m_dYlm_i[i * 3 + 0]) * + sfac; + m_dclist_i[((n - 1) * m_numYlms + i) * 3 + 1] += + (r_int * m_Ylms_i[i] * dexpfac[1] + dr_int[1] * m_Ylms_i[i] + + r_int * m_dYlm_i[i * 3 + 1]) * + sfac; + m_dclist_i[((n - 1) * m_numYlms + i) * 3 + 2] += + (r_int * m_Ylms_i[i] * dexpfac[2] + dr_int[2] * m_Ylms_i[i] + + r_int * m_dYlm_i[i * 3 + 2]) * + sfac; + m_dclist_r[((n - 1) * m_numYlms + i) * 3 + 0] += (r_int * m_Ylms_r[i]) * dsfac_arr[0]; + m_dclist_r[((n - 1) * m_numYlms + i) * 3 + 1] += (r_int * m_Ylms_r[i]) * dsfac_arr[1]; + m_dclist_r[((n - 1) * m_numYlms + i) * 3 + 2] += (r_int * m_Ylms_r[i]) * dsfac_arr[2]; - m_dclist_r[((n-1)*m_numYlms+i)*3+0] += - (r_int*m_Ylms_r[i])*dsfac_arr[0]; - m_dclist_r[((n-1)*m_numYlms+i)*3+1] += - (r_int*m_Ylms_r[i])*dsfac_arr[1]; - m_dclist_r[((n-1)*m_numYlms+i)*3+2] += - (r_int*m_Ylms_r[i])*dsfac_arr[2]; - - m_dclist_i[((n-1)*m_numYlms+i)*3+0] += - (r_int*m_Ylms_i[i])*dsfac_arr[0]; - m_dclist_i[((n-1)*m_numYlms+i)*3+1] += - (r_int*m_Ylms_i[i])*dsfac_arr[1]; - m_dclist_i[((n-1)*m_numYlms+i)*3+2] += - (r_int*m_Ylms_i[i])*dsfac_arr[2]; + m_dclist_i[((n - 1) * m_numYlms + i) * 3 + 0] += (r_int * m_Ylms_i[i]) * dsfac_arr[0]; + m_dclist_i[((n - 1) * m_numYlms + i) * 3 + 1] += (r_int * m_Ylms_i[i]) * dsfac_arr[1]; + m_dclist_i[((n - 1) * m_numYlms + i) * 3 + 2] += (r_int * m_Ylms_i[i]) * dsfac_arr[2]; i += 1; } } } - } /////// end compute_carray_wD ////////////////// @@ -1283,21 +1214,15 @@ void MLIAP_SO3::spectrum_dxdr(int natoms, int *numneighs, } totali = numps * 3; - for (ti = 0; ti < totali; ti++) - m_tempdp_r[ti] = 0.0; + for (ti = 0; ti < totali; ti++) m_tempdp_r[ti] = 0.0; - compute_dpidrj(nmax, lmax, m_clisttot_r, m_clisttot_i, - m_numYlms, m_dclist_r, m_dclist_i, m_numYlms, 3, - m_tempdp_r, 3); + compute_dpidrj(nmax, lmax, m_clisttot_r, m_clisttot_i, m_numYlms, m_dclist_r, m_dclist_i, + m_numYlms, 3, m_tempdp_r, 3); for (int tn = 0; tn < totali; tn++) - m_dplist_r[((idpair - 1) * (numps * 3)) + tn] += - m_tempdp_r[tn]; + m_dplist_r[((idpair - 1) * (numps * 3)) + tn] += m_tempdp_r[tn]; - } //for(neighbor=0;neighbor Date: Sun, 13 Jun 2021 18:28:42 -0400 Subject: [PATCH 214/726] update valgrind suppressions for newer GCC compilers --- tools/valgrind/OpenMP.supp | 29 ++++++++++++++++++++--------- 1 file changed, 20 insertions(+), 9 deletions(-) diff --git a/tools/valgrind/OpenMP.supp b/tools/valgrind/OpenMP.supp index 6d9c8b2867..76dc4f78f4 100644 --- a/tools/valgrind/OpenMP.supp +++ b/tools/valgrind/OpenMP.supp @@ -49,26 +49,37 @@ Memcheck:Leak match-leak-kinds: reachable fun:malloc + fun:strdup ... - fun:GOMP_parallel + obj:/usr/lib64/libomp.so + fun:omp_set_num_threads ... + fun:_ZN9LAMMPS_NS6LAMMPSC1EiPPci } { OpenMP_init_part5 - Memcheck:Leak - match-leak-kinds: reachable - fun:malloc + Memcheck:Param + sched_setaffinity(mask) + fun:syscall + obj:/usr/lib64/libomp.so ... - obj:/usr/lib*/libgomp.so.1* + obj:/usr/lib64/libomp.so fun:omp_set_num_threads ... + fun:main } { OpenMP_init_part6 Memcheck:Leak - match-leak-kinds: possible - fun:calloc - ... - fun:GOMP_parallel + match-leak-kinds: reachable + fun:malloc ... + fun:call_init + fun:call_init + fun:_dl_init + obj:/usr/lib*/ld*.so + obj:* + obj:* + obj:* + obj:* } From 14ca95026fc582a60877f64e2ea409e72b0b12e6 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 13 Jun 2021 18:29:36 -0400 Subject: [PATCH 215/726] begin documentation for SO3 MLIAP descriptor --- doc/src/pair_mliap.rst | 192 +++++++++++++++++++++-------------------- 1 file changed, 99 insertions(+), 93 deletions(-) diff --git a/doc/src/pair_mliap.rst b/doc/src/pair_mliap.rst index c40b911087..1b4b990b21 100644 --- a/doc/src/pair_mliap.rst +++ b/doc/src/pair_mliap.rst @@ -19,7 +19,7 @@ Syntax style = *linear* or *quadratic* or *nn* or *mliappy* filename = name of file containing model definitions *descriptor* values = style filename - style = *sna* + style = *sna* or *so3* filename = name of file containing descriptor definitions Examples @@ -29,65 +29,67 @@ Examples pair_style mliap model linear InP.mliap.model descriptor sna InP.mliap.descriptor pair_style mliap model quadratic W.mliap.model descriptor sna W.mliap.descriptor + pair_style mliap model nn Si.nn.mliap.model descriptor so3 Si.nn.mliap.descriptor pair_coeff * * In P Description """"""""""" Pair style *mliap* provides a general interface to families of -machine-learning interatomic potentials. It allows separate -definitions of the interatomic potential functional form (*model*) -and the geometric quantities that characterize the atomic positions -(*descriptor*). By defining *model* and *descriptor* separately, -it is possible to use many different models with a given descriptor, -or many different descriptors with a given model. The -pair style currently supports just one descriptor style, but it is -is straightforward to add new descriptor styles. -The SNAP descriptor style *sna* is the same as that used by :doc:`pair_style snap `, -including the linear, quadratic, and chem variants. -The available models are *linear*, *quadratic*, *nn*, and *mliappy*. -The *mliappy* style can be used to couple python models, -e.g. PyTorch neural network energy models, and requires building -LAMMPS with the PYTHON package (see below). -In order to train a model, it is useful to know the gradient or derivative -of energy, force, and stress w.r.t. model parameters. This information -can be accessed using the related :doc:`compute mliap ` command. +machine-learning interatomic potentials. It allows separate definitions +of the interatomic potential functional form (*model*) and the geometric +quantities that characterize the atomic positions (*descriptor*). By +defining *model* and *descriptor* separately, it is possible to use many +different models with a given descriptor, or many different descriptors +with a given model. The pair style currently supports just one +descriptor style, but it is is straightforward to add new descriptor +styles. -The pair_style *mliap* command must be followed by two keywords -*model* and *descriptor* in either order. A single -*pair_coeff* command is also required. The first 2 arguments -must be \* \* so as to span all LAMMPS atom types. -This is followed by a list of N arguments -that specify the mapping of MLIAP -element names to LAMMPS atom types, -where N is the number of LAMMPS atom types. +The SNAP descriptor style *sna* is the same as that used by +:doc:`pair_style snap `, including the linear, quadratic, and +chem variants. The available models are *linear*, *quadratic*, *nn*, +and *mliappy*. The *mliappy* style can be used to couple python models, +e.g. PyTorch neural network energy models, and requires building LAMMPS +with the PYTHON package (see below). In order to train a model, it is +useful to know the gradient or derivative of energy, force, and stress +w.r.t. model parameters. This information can be accessed using the +related :doc:`compute mliap ` command. -The *model* keyword is followed by the model style. This is followed -by a single argument specifying the model filename containing the -parameters for a set of elements. -The model filename usually ends in the *.mliap.model* extension. -It may contain parameters for many elements. The only requirement is that it -contain at least those element names appearing in the -*pair_coeff* command. +The descriptor style *so3* is FIXME -The top of the model file can contain any number of blank and comment lines (start with #), -but follows a strict format after that. The first non-blank non-comment -line must contain two integers: +The pair_style *mliap* command must be followed by two keywords *model* +and *descriptor* in either order. A single *pair_coeff* command is also +required. The first 2 arguments must be \* \* so as to span all LAMMPS +atom types. This is followed by a list of N arguments that specify the +mapping of MLIAP element names to LAMMPS atom types, where N is the +number of LAMMPS atom types. + +The *model* keyword is followed by the model style. This is followed by +a single argument specifying the model filename containing the +parameters for a set of elements. The model filename usually ends in +the *.mliap.model* extension. It may contain parameters for many +elements. The only requirement is that it contain at least those element +names appearing in the *pair_coeff* command. + +The top of the model file can contain any number of blank and comment +lines (start with #), but follows a strict format after that. The first +non-blank non-comment line must contain two integers: * nelems = Number of elements * nparams = Number of parameters -When the *model* keyword is *linear* or *quadratic*, -this is followed by one block for each of the *nelem* elements. -Each block consists of *nparams* parameters, one per line. -Note that this format is similar, but not identical to that used -for the :doc:`pair_style snap ` coefficient file. -Specifically, the line containing the element weight and radius is omitted, -since these are handled by the *descriptor*. +When the *model* keyword is *linear* or *quadratic*, this is followed by +one block for each of the *nelem* elements. Each block consists of +*nparams* parameters, one per line. Note that this format is similar, +but not identical to that used for the :doc:`pair_style snap +` coefficient file. Specifically, the line containing the +element weight and radius is omitted, since these are handled by the +*descriptor*. -When the *model* keyword is *nn* (neural networks), the model file can contain -blank and comment lines (start with #) anywhere. The second non-blank non-comment -line must contain the string NET, followed by two integers: +When the *model* keyword is *nn* (neural networks), the model file can +contain blank and comment lines (start with #) anywhere. The second +non-blank non-comment line must contain the string NET, followed by two +integers: * ndescriptors = Number of descriptors * nlayers = Number of layers (including the hidden layers and the output layer) @@ -97,50 +99,53 @@ and followed by a sequence of a string and an integer for each layer: * Activation function (linear, sigmoid, tanh or relu) * nnodes = Number of nodes -This is followed by one block for each of the *nelem* elements. Each block consists -of *scale0* minimum value, *scale1* (maximum - minimum) value, -in order to normalize the descriptors, followed by *nparams* parameters, -including *bias* and *weights* of the model, starting with the first node of the first layer -and so on, with a maximum of 30 values per line. +This is followed by one block for each of the *nelem* elements. Each +block consists of *scale0* minimum value, *scale1* (maximum - minimum) +value, in order to normalize the descriptors, followed by *nparams* +parameters, including *bias* and *weights* of the model, starting with +the first node of the first layer and so on, with a maximum of 30 values +per line. -Notes on mliappy models: -When the *model* keyword is *mliappy*, the filename should end in '.pt', -'.pth' for pytorch models, or be a pickle file. To load a model from -memory (i.e. an existing python object), specify the filename as -"LATER", and then call `lammps.mliap.load_model(model)` from python -before using the pair style. When using lammps via the library mode, you will need to call -`lammps.mliappy.activate_mliappy(lmp)` on the active lammps object -before the pair style is defined. This call locates and loads the mliap-specific -python module that is built into lammps. +.. admonition:: Notes on mliappy models + + When the *model* keyword is *mliappy*, the filename should end in '.pt', + '.pth' for pytorch models, or be a pickle file. To load a model from + memory (i.e. an existing python object), specify the filename as + "LATER", and then call `lammps.mliap.load_model(model)` from python + before using the pair style. When using lammps via the library mode, you + will need to call `lammps.mliappy.activate_mliappy(lmp)` on the active + lammps object before the pair style is defined. This call locates and + loads the mliap-specific python module that is built into lammps. The *descriptor* keyword is followed by a descriptor style, and additional arguments. -Currently the only descriptor style is *sna*, indicating the bispectrum component -descriptors used by the Spectral Neighbor Analysis Potential (SNAP) potentials of -:doc:`pair_style snap `. -A single additional argument specifies the descriptor filename -containing the parameters and setting used by the SNAP descriptor. -The descriptor filename usually ends in the *.mliap.descriptor* extension. +Currently two descriptor styles are available: *sna* and *so3*. + +- *sna* indicates the bispectrum component descriptors used by the Spectral + Neighbor Analysis Potential (SNAP) potentials of :doc:`pair_style snap + `. A single additional argument specifies the descriptor + filename containing the parameters and setting used by the SNAP + descriptor. The descriptor filename usually ends in the + *.mliap.descriptor* extension. + +- *so3* FIXME The SNAP descriptor file closely follows the format of the -:doc:`pair_style snap ` parameter file. -The file can contain blank and comment lines (start -with #) anywhere. Each non-blank non-comment line must contain one -keyword/value pair. The required keywords are *rcutfac* and -*twojmax*\ . There are many optional keywords that are described -on the :doc:`pair_style snap ` doc page. -In addition, the SNAP descriptor file must contain -the *nelems*, *elems*, *radelems*, and *welems* keywords. -The *nelems* keyword specifies the number of elements -provided in the other three keywords. -The *elems* keyword is followed by a list of *nelems* -element names that must include the element -names appearing in the *pair_coeff* command, -but can contain other names too. -Similarly, the *radelems* and *welems* keywords are -followed by lists of *nelems* numbers giving the element radius -and element weight of each element. Obviously, the order -in which the elements are listed must be consistent for all -three keywords. +:doc:`pair_style snap ` parameter file. The file can contain +blank and comment lines (start with #) anywhere. Each non-blank +non-comment line must contain one keyword/value pair. The required +keywords are *rcutfac* and *twojmax*\ . There are many optional keywords +that are described on the :doc:`pair_style snap ` doc page. +In addition, the SNAP descriptor file must contain the *nelems*, +*elems*, *radelems*, and *welems* keywords. The *nelems* keyword +specifies the number of elements provided in the other three keywords. +The *elems* keyword is followed by a list of *nelems* element names that +must include the element names appearing in the *pair_coeff* command, +but can contain other names too. Similarly, the *radelems* and *welems* +keywords are followed by lists of *nelems* numbers giving the element +radius and element weight of each element. Obviously, the order in which +the elements are listed must be consistent for all three keywords. + +The SO3 descriptor file FIXME See the :doc:`pair_coeff ` doc page for alternate ways to specify the path for these *model* and *descriptor* files. @@ -156,9 +161,10 @@ specify a pair_coeff command with I != J arguments for this style. This pair style does not support the :doc:`pair_modify ` shift, table, and tail options. -This pair style does not write its information to :doc:`binary restart files `, since it is stored in potential files. Thus, you -need to re-specify the pair_style and pair_coeff commands in an input -script that reads a restart file. +This pair style does not write its information to :doc:`binary restart +files `, since it is stored in potential files. Thus, you need +to re-specify the pair_style and pair_coeff commands in an input script +that reads a restart file. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa ` command. It does not support the @@ -169,11 +175,11 @@ This pair style can only be used via the *pair* keyword of the Restrictions """""""""""" -This pair style is part of the MLIAP package. It is only enabled if LAMMPS -was built with that package. In addition, building LAMMPS with the MLIAP package -requires building LAMMPS with the SNAP package. -The *mliappy* model requires building LAMMPS with the PYTHON package. -See the :doc:`Build package ` doc page for more info. +This pair style is part of the MLIAP package. It is only enabled if +LAMMPS was built with that package. In addition, building LAMMPS with +the MLIAP package requires building LAMMPS with the SNAP package. The +*mliappy* model requires building LAMMPS with the PYTHON package. See +the :doc:`Build package ` doc page for more info. Related commands From 3f2834b99706e09662a415c7550e2a72a6dc3c52 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 13 Jun 2021 18:29:48 -0400 Subject: [PATCH 216/726] fix new/delete mismatch bugs --- src/MLIAP/mliap_model_nn.cpp | 6 +++--- src/MLIAP/mliap_so3_math.h | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/MLIAP/mliap_model_nn.cpp b/src/MLIAP/mliap_model_nn.cpp index 4a81c84a26..c33108c254 100644 --- a/src/MLIAP/mliap_model_nn.cpp +++ b/src/MLIAP/mliap_model_nn.cpp @@ -353,9 +353,9 @@ void MLIAPModelNN::compute_gradients(MLIAPData* data) // Deleting the variables for (int n=0; n Date: Sun, 13 Jun 2021 19:10:07 -0400 Subject: [PATCH 217/726] move coeffelem declaration to base class and avoid memory leak --- src/MLIAP/mliap_model.cpp | 12 +++--------- src/MLIAP/mliap_model.h | 6 +++--- src/MLIAP/mliap_model_nn.cpp | 3 +-- src/MLIAP/mliap_model_nn.h | 1 - 4 files changed, 7 insertions(+), 15 deletions(-) diff --git a/src/MLIAP/mliap_model.cpp b/src/MLIAP/mliap_model.cpp index dfebe2eccf..f6491c926d 100644 --- a/src/MLIAP/mliap_model.cpp +++ b/src/MLIAP/mliap_model.cpp @@ -32,7 +32,7 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -MLIAPModel::MLIAPModel(LAMMPS *lmp, char *) : Pointers(lmp) +MLIAPModel::MLIAPModel(LAMMPS *lmp, char *) : Pointers(lmp), coeffelem(nullptr) { nparams = 0; nelements = 0; @@ -44,6 +44,7 @@ MLIAPModel::MLIAPModel(LAMMPS *lmp, char *) : Pointers(lmp) MLIAPModel::~MLIAPModel() { + memory->destroy(coeffelem); } /* ---------------------------------------------------------------------- @@ -77,19 +78,11 @@ void MLIAPModel::set_ndescriptors(int ndescriptors_in) MLIAPModelSimple::MLIAPModelSimple(LAMMPS *lmp, char *coefffilename) : MLIAPModel(lmp, coefffilename) { - coeffelem = nullptr; if (coefffilename) read_coeffs(coefffilename); } /* ---------------------------------------------------------------------- */ -MLIAPModelSimple::~MLIAPModelSimple() -{ - memory->destroy(coeffelem); -} - -/* ---------------------------------------------------------------------- */ - void MLIAPModelSimple::read_coeffs(char *coefffilename) { @@ -143,6 +136,7 @@ void MLIAPModelSimple::read_coeffs(char *coefffilename) // set up coeff lists + memory->destroy(coeffelem); memory->create(coeffelem,nelements,nparams,"mliap_snap_model:coeffelem"); // Loop over nelements blocks in the coefficient file diff --git a/src/MLIAP/mliap_model.h b/src/MLIAP/mliap_model.h index 9c14782806..187c1698b8 100644 --- a/src/MLIAP/mliap_model.h +++ b/src/MLIAP/mliap_model.h @@ -21,7 +21,7 @@ namespace LAMMPS_NS { class MLIAPModel : protected Pointers { public: MLIAPModel(LAMMPS *, char *); - ~MLIAPModel(); + virtual ~MLIAPModel(); void set_ndescriptors(int); void set_nelements(int); virtual int get_nparams() = 0; @@ -35,6 +35,7 @@ class MLIAPModel : protected Pointers { int nonlinearflag; // 1 if gradient() requires descriptors int ndescriptors; // number of descriptors int nparams; // number of parameters per element + double **coeffelem; // element coefficients protected: virtual void read_coeffs(char *) = 0; @@ -43,11 +44,10 @@ class MLIAPModel : protected Pointers { class MLIAPModelSimple : public MLIAPModel { public: MLIAPModelSimple(LAMMPS *, char *); - ~MLIAPModelSimple(); + ~MLIAPModelSimple(){}; virtual double memory_usage(); protected: - double **coeffelem; // element coefficients virtual void read_coeffs(char *); }; diff --git a/src/MLIAP/mliap_model_nn.cpp b/src/MLIAP/mliap_model_nn.cpp index c33108c254..2dc29200a1 100644 --- a/src/MLIAP/mliap_model_nn.cpp +++ b/src/MLIAP/mliap_model_nn.cpp @@ -36,7 +36,6 @@ using namespace LAMMPS_NS; MLIAPModelNN::MLIAPModelNN(LAMMPS* lmp, char* coefffilename) : MLIAPModel(lmp, coefffilename) { - coeffelem = nullptr; nnodes = nullptr; activation = nullptr; scale = nullptr; @@ -48,7 +47,6 @@ MLIAPModelNN::MLIAPModelNN(LAMMPS* lmp, char* coefffilename) : MLIAPModelNN::~MLIAPModelNN() { - memory->destroy(coeffelem); memory->destroy(nnodes); memory->destroy(activation); memory->destroy(scale); @@ -119,6 +117,7 @@ void MLIAPModelNN::read_coeffs(char *coefffilename) // set up coeff lists + memory->destroy(coeffelem); memory->create(coeffelem,nelements,nparams,"mliap_snap_model:coeffelem"); int stats = 0; diff --git a/src/MLIAP/mliap_model_nn.h b/src/MLIAP/mliap_model_nn.h index 6eeaddb39d..34950a3c32 100644 --- a/src/MLIAP/mliap_model_nn.h +++ b/src/MLIAP/mliap_model_nn.h @@ -35,7 +35,6 @@ class MLIAPModelNN : public MLIAPModel { int *activation; // activation functions int *nnodes; // number of nodes per layer double ***scale; // element scale values - double **coeffelem; // element coefficients virtual void read_coeffs(char *); inline double sigm(double x, double &deriv) From b105abde1f74f594b01f6b973872826c23183312 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 13 Jun 2021 22:31:35 -0400 Subject: [PATCH 218/726] make memory management more consistent and move declarations to base classes this change reduced some code redundancy and consolidates memory management. - pointers are initialized to null and deleted where they are declared - pointers are deleted/destroyed before created/allocated - memory usage is reported where pointers are declared This makes it easier to follow flow of control and avoids memory leaks --- src/MLIAP/mliap_descriptor.cpp | 32 +++++++++++++++++--- src/MLIAP/mliap_descriptor.h | 6 ++-- src/MLIAP/mliap_descriptor_snap.cpp | 29 ++++++------------- src/MLIAP/mliap_descriptor_snap.h | 4 +-- src/MLIAP/mliap_descriptor_so3.cpp | 24 +++++++-------- src/MLIAP/mliap_descriptor_so3.h | 4 +-- src/MLIAP/pair_mliap.cpp | 45 ++++++++++++----------------- 7 files changed, 72 insertions(+), 72 deletions(-) diff --git a/src/MLIAP/mliap_descriptor.cpp b/src/MLIAP/mliap_descriptor.cpp index 06cb8bbb80..4d9b22a49e 100644 --- a/src/MLIAP/mliap_descriptor.cpp +++ b/src/MLIAP/mliap_descriptor.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -18,14 +17,39 @@ #include "mliap_descriptor.h" +#include "memory.h" + using namespace LAMMPS_NS; +/* ---------------------------------------------------------------------- */ + +MLIAPDescriptor::MLIAPDescriptor(LAMMPS *lmp) : + Pointers(lmp), ndescriptors(0), nelements(0), elements(nullptr), cutsq(nullptr), + radelem(nullptr), wjelem(nullptr) +{ + cutmax = 0.0; +} /* ---------------------------------------------------------------------- */ -MLIAPDescriptor::MLIAPDescriptor(LAMMPS *lmp) : Pointers(lmp) {} +MLIAPDescriptor::~MLIAPDescriptor() +{ + for (int i = 0; i < nelements; i++) delete[] elements[i]; + delete[] elements; + memory->destroy(cutsq); + memory->destroy(radelem); + memory->destroy(wjelem); +} -/* ---------------------------------------------------------------------- */ +/* ---------------------------------------------------------------------- + memory usage +------------------------------------------------------------------------- */ -MLIAPDescriptor::~MLIAPDescriptor() {} +double MLIAPDescriptor::memory_usage() +{ + double bytes = (double)nelements*sizeof(double); // radelem + bytes += (double)nelements*sizeof(double); // welem + bytes += (double)nelements*nelements*sizeof(double); // cutsq + return bytes; +} diff --git a/src/MLIAP/mliap_descriptor.h b/src/MLIAP/mliap_descriptor.h index 437c6b4620..1655cc4a82 100644 --- a/src/MLIAP/mliap_descriptor.h +++ b/src/MLIAP/mliap_descriptor.h @@ -21,19 +21,21 @@ namespace LAMMPS_NS { class MLIAPDescriptor : protected Pointers { public: MLIAPDescriptor(LAMMPS *); - ~MLIAPDescriptor(); + virtual ~MLIAPDescriptor(); virtual void compute_descriptors(class MLIAPData *) = 0; virtual void compute_forces(class MLIAPData *) = 0; virtual void compute_force_gradients(class MLIAPData *) = 0; virtual void compute_descriptor_gradients(class MLIAPData *) = 0; virtual void init() = 0; - virtual double memory_usage() = 0; + virtual double memory_usage(); int ndescriptors; // number of descriptors int nelements; // # of unique elements char **elements; // names of unique elements double **cutsq; // nelem x nelem rcutsq values double cutmax; // maximum cutoff needed + double *radelem; // element radii + double *wjelem; // elements weights protected: }; diff --git a/src/MLIAP/mliap_descriptor_snap.cpp b/src/MLIAP/mliap_descriptor_snap.cpp index fdc6210b08..6399ef63a3 100644 --- a/src/MLIAP/mliap_descriptor_snap.cpp +++ b/src/MLIAP/mliap_descriptor_snap.cpp @@ -39,8 +39,6 @@ using namespace LAMMPS_NS; MLIAPDescriptorSNAP::MLIAPDescriptorSNAP(LAMMPS *lmp, char *paramfilename): MLIAPDescriptor(lmp) { - nelements = 0; - elements = nullptr; radelem = nullptr; wjelem = nullptr; snaptr = nullptr; @@ -51,25 +49,15 @@ MLIAPDescriptorSNAP::MLIAPDescriptorSNAP(LAMMPS *lmp, char *paramfilename): chemflag, bnormflag, wselfallflag, nelements); ndescriptors = snaptr->ncoeff; - } /* ---------------------------------------------------------------------- */ MLIAPDescriptorSNAP::~MLIAPDescriptorSNAP() { - - if (nelements) { - for (int i = 0; i < nelements; i++) - delete[] elements[i]; - delete[] elements; - memory->destroy(radelem); - memory->destroy(wjelem); - memory->destroy(cutsq); - } - + memory->destroy(radelem); + memory->destroy(wjelem); delete snaptr; - } /* ---------------------------------------------------------------------- @@ -374,6 +362,12 @@ void MLIAPDescriptorSNAP::read_paramfile(char *paramfilename) bnormflag = 0; wselfallflag = 0; + for (int i = 0; i < nelements; i++) delete[] elements[i]; + delete[] elements; + memory->destroy(radelem); + memory->destroy(wjelem); + memory->destroy(cutsq); + // open SNAP parameter file on proc 0 FILE *fpparam; @@ -510,13 +504,8 @@ void MLIAPDescriptorSNAP::read_paramfile(char *paramfilename) double MLIAPDescriptorSNAP::memory_usage() { - double bytes = 0; - - bytes += (double)nelements*sizeof(double); // radelem - bytes += (double)nelements*sizeof(double); // welem - bytes += (double)nelements*nelements*sizeof(int); // cutsq + double bytes = MLIAPDescriptor::memory_usage(); bytes += snaptr->memory_usage(); // SNA object return bytes; } - diff --git a/src/MLIAP/mliap_descriptor_snap.h b/src/MLIAP/mliap_descriptor_snap.h index e2ebda794f..7d8c3ea98c 100644 --- a/src/MLIAP/mliap_descriptor_snap.h +++ b/src/MLIAP/mliap_descriptor_snap.h @@ -21,7 +21,7 @@ namespace LAMMPS_NS { class MLIAPDescriptorSNAP : public MLIAPDescriptor { public: MLIAPDescriptorSNAP(LAMMPS *, char *); - ~MLIAPDescriptorSNAP(); + virtual ~MLIAPDescriptorSNAP(); virtual void compute_descriptors(class MLIAPData *); virtual void compute_forces(class MLIAPData *); virtual void compute_force_gradients(class MLIAPData *); @@ -37,8 +37,6 @@ class MLIAPDescriptorSNAP : public MLIAPDescriptor { inline int equal(double *x, double *y); inline double dist2(double *x, double *y); - double *radelem; // element radii - double *wjelem; // elements weights int twojmax, switchflag, bzeroflag; int chemflag, bnormflag, wselfallflag; double rfac0, rmin0; diff --git a/src/MLIAP/mliap_descriptor_so3.cpp b/src/MLIAP/mliap_descriptor_so3.cpp index dc95d75cb8..832a16db25 100644 --- a/src/MLIAP/mliap_descriptor_so3.cpp +++ b/src/MLIAP/mliap_descriptor_so3.cpp @@ -34,8 +34,6 @@ using namespace LAMMPS_NS; MLIAPDescriptorSO3::MLIAPDescriptorSO3(LAMMPS *lmp, char *paramfilename) : MLIAPDescriptor(lmp) { - nelements = 0; - elements = nullptr; radelem = nullptr; wjelem = nullptr; so3ptr = nullptr; @@ -50,13 +48,8 @@ MLIAPDescriptorSO3::MLIAPDescriptorSO3(LAMMPS *lmp, char *paramfilename) : MLIAP MLIAPDescriptorSO3::~MLIAPDescriptorSO3() { - if (nelements) { - for (int i = 0; i < nelements; i++) delete[] elements[i]; - delete[] elements; - memory->destroy(radelem); - memory->destroy(wjelem); - memory->destroy(cutsq); - } + memory->destroy(radelem); + memory->destroy(wjelem); delete so3ptr; } @@ -78,6 +71,12 @@ void MLIAPDescriptorSO3::read_paramfile(char *paramfilename) rfac0 = 0.99363; rmin0 = 0.0; + for (int i = 0; i < nelements; i++) delete[] elements[i]; + delete[] elements; + memory->destroy(radelem); + memory->destroy(wjelem); + memory->destroy(cutsq); + // open SO3 parameter file on proc 0 FILE *fpparam; @@ -272,11 +271,8 @@ void MLIAPDescriptorSO3::init() double MLIAPDescriptorSO3::memory_usage() { - double bytes = 0; - - bytes += (double) nelements * sizeof(double); - bytes += (double) nelements * sizeof(double); - bytes += (double) nelements * nelements * sizeof(int); + double bytes = MLIAPDescriptor::memory_usage(); + bytes += so3ptr->memory_usage(); return bytes; } diff --git a/src/MLIAP/mliap_descriptor_so3.h b/src/MLIAP/mliap_descriptor_so3.h index 03495633b4..ec19e91b75 100644 --- a/src/MLIAP/mliap_descriptor_so3.h +++ b/src/MLIAP/mliap_descriptor_so3.h @@ -22,7 +22,7 @@ class MLIAPDescriptorSO3 : public MLIAPDescriptor { public: MLIAPDescriptorSO3(LAMMPS *, char *); - ~MLIAPDescriptorSO3(); + virtual ~MLIAPDescriptorSO3(); virtual void compute_descriptors(class MLIAPData *); virtual void compute_forces(class MLIAPData *); @@ -42,8 +42,6 @@ class MLIAPDescriptorSO3 : public MLIAPDescriptor { int nmax, lmax; double alpha; - double *radelem; - double *wjelem; int twojmax, switchflag, bzeroflag; int chemflag, bnormflag, wselfallflag; double rfac0, rmin0; diff --git a/src/MLIAP/pair_mliap.cpp b/src/MLIAP/pair_mliap.cpp index 184022ac55..0d2a80635a 100644 --- a/src/MLIAP/pair_mliap.cpp +++ b/src/MLIAP/pair_mliap.cpp @@ -19,11 +19,11 @@ #include "pair_mliap.h" #include "mliap_data.h" -#include "mliap_model_linear.h" -#include "mliap_model_quadratic.h" -#include "mliap_model_nn.h" #include "mliap_descriptor_snap.h" #include "mliap_descriptor_so3.h" +#include "mliap_model_linear.h" +#include "mliap_model_nn.h" +#include "mliap_model_quadratic.h" #ifdef MLIAP_PYTHON #include "mliap_model_python.h" #endif @@ -42,7 +42,8 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -PairMLIAP::PairMLIAP(LAMMPS *lmp) : Pair(lmp) +PairMLIAP::PairMLIAP(LAMMPS *lmp) : + Pair(lmp), map(nullptr), model(nullptr), descriptor(nullptr), data(nullptr) { single_enable = 0; restartinfo = 0; @@ -66,7 +67,6 @@ PairMLIAP::~PairMLIAP() memory->destroy(cutsq); memory->destroy(map); } - } /* ---------------------------------------------------------------------- @@ -78,27 +78,22 @@ void PairMLIAP::compute(int eflag, int vflag) // consistency checks - if (data->ndescriptors != model->ndescriptors) { - error->all(FLERR,"Incompatible model and descriptor descriptor count"); - }; + if (data->ndescriptors != model->ndescriptors) + error->all(FLERR, "Incompatible model and descriptor descriptor count"); - if (data->nelements != model->nelements) { - error->all(FLERR,"Incompatible model and descriptor element count"); - }; - - ev_init(eflag,vflag); + if (data->nelements != model->nelements) + error->all(FLERR, "Incompatible model and descriptor element count"); + ev_init(eflag, vflag); data->generate_neighdata(list, eflag, vflag); // compute descriptors, if needed - if (model->nonlinearflag || eflag) - descriptor->compute_descriptors(data); + if (model->nonlinearflag || eflag) descriptor->compute_descriptors(data); // compute E_i and beta_i = dE_i/dB_i for all i in list model->compute_gradients(data); - e_tally(data); // calculate force contributions beta_i*dB_i/dR_j @@ -130,7 +125,6 @@ void PairMLIAP::allocate() void PairMLIAP::settings(int narg, char ** arg) { - if (narg < 4) error->all(FLERR,"Illegal pair_style command"); @@ -138,6 +132,8 @@ void PairMLIAP::settings(int narg, char ** arg) int modelflag = 0; int descriptorflag = 0; + delete model; + delete descriptor; // process keywords @@ -160,9 +156,9 @@ void PairMLIAP::settings(int narg, char ** arg) iarg += 3; #ifdef MLIAP_PYTHON } else if (strcmp(arg[iarg+1],"mliappy") == 0) { - if (iarg+3 > narg) error->all(FLERR,"Illegal pair_style mliap command"); - model = new MLIAPModelPython(lmp,arg[iarg+2]); - iarg += 3; + if (iarg+3 > narg) error->all(FLERR,"Illegal pair_style mliap command"); + model = new MLIAPModelPython(lmp,arg[iarg+2]); + iarg += 3; #endif } else error->all(FLERR,"Illegal pair_style mliap command"); modelflag = 1; @@ -247,10 +243,9 @@ void PairMLIAP::coeff(int narg, char **arg) model->init(); descriptor->init(); int gradgradflag = -1; + delete data; data = new MLIAPData(lmp, gradgradflag, map, model, descriptor, this); data->init(); - - } /* ---------------------------------------------------------------------- @@ -261,10 +256,8 @@ void PairMLIAP::e_tally(MLIAPData* data) { if (eflag_global) eng_vdwl += data->energy; if (eflag_atom) - for (int ii = 0; ii < data->nlistatoms; ii++) { - const int i = data->iatoms[ii]; - eatom[i] += data->eatoms[ii]; - } + for (int ii = 0; ii < data->nlistatoms; ii++) + eatom[data->iatoms[ii]] += data->eatoms[ii]; } /* ---------------------------------------------------------------------- From 480fd393420c4e99d1db5de3ae21b20413d4d1e7 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 13 Jun 2021 22:34:06 -0400 Subject: [PATCH 219/726] OpenMP suppression updates --- tools/valgrind/OpenMP.supp | 37 +++++++++++++++++++++++++++++++++---- 1 file changed, 33 insertions(+), 4 deletions(-) diff --git a/tools/valgrind/OpenMP.supp b/tools/valgrind/OpenMP.supp index 76dc4f78f4..64ee61febd 100644 --- a/tools/valgrind/OpenMP.supp +++ b/tools/valgrind/OpenMP.supp @@ -77,9 +77,38 @@ fun:call_init fun:call_init fun:_dl_init - obj:/usr/lib*/ld*.so - obj:* - obj:* - obj:* + ... + obj:* +} +{ + OpnMP_init_part7 + Memcheck:Leak + match-leak-kinds: reachable + fun:malloc + ... + fun:GOMP_parallel + ... + obj:* +} +{ + OpnMP_init_part8 + Memcheck:Leak + match-leak-kinds: reachable + fun:malloc + ... + fun:omp_set_num_threads + ... + obj:* +} +{ + OpnMP_init_part9 + Memcheck:Leak + match-leak-kinds: possible + fun:calloc + ... + fun:pthread_create + ... + fun:GOMP_parallel + ... obj:* } From 2dfbdcbc40f01988e58c2eee2787f8ccfa59a6de Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Sun, 13 Jun 2021 23:55:28 -0500 Subject: [PATCH 220/726] Added pppm/disp/dielectric, minor updates to lj/long/coul/long/dielectric --- src/USER-DIELECTRIC/Install.sh | 2 +- .../pair_lj_long_coul_long_dielectric.cpp | 6 +- src/USER-DIELECTRIC/pppm_disp_dielectric.cpp | 872 ++++++++++++++++++ src/USER-DIELECTRIC/pppm_disp_dielectric.h | 62 ++ 4 files changed, 938 insertions(+), 4 deletions(-) create mode 100644 src/USER-DIELECTRIC/pppm_disp_dielectric.cpp create mode 100644 src/USER-DIELECTRIC/pppm_disp_dielectric.h diff --git a/src/USER-DIELECTRIC/Install.sh b/src/USER-DIELECTRIC/Install.sh index fd540f3c7e..be6c4f6c9e 100644 --- a/src/USER-DIELECTRIC/Install.sh +++ b/src/USER-DIELECTRIC/Install.sh @@ -30,7 +30,7 @@ action () { # are installed, which in turn requires KSPACE if (test $1 = 1) then - if (test ! -e ../ppp.cpp) then + if (test ! -e ../pppm.cpp) then echo "Must install KSPACE package with USER-DIELECTRIC" exit 1 fi diff --git a/src/USER-DIELECTRIC/pair_lj_long_coul_long_dielectric.cpp b/src/USER-DIELECTRIC/pair_lj_long_coul_long_dielectric.cpp index 564a156a04..d43a552f15 100644 --- a/src/USER-DIELECTRIC/pair_lj_long_coul_long_dielectric.cpp +++ b/src/USER-DIELECTRIC/pair_lj_long_coul_long_dielectric.cpp @@ -53,9 +53,9 @@ using namespace MathExtra; PairLJLongCoulLongDielectric::PairLJLongCoulLongDielectric(LAMMPS *lmp) : PairLJLongCoulLong(lmp) { respa_enable = 0; - cut_respa = NULL; - efield = NULL; - epot = NULL; + cut_respa = nullptr; + efield = nullptr; + epot = nullptr; nmax = 0; } diff --git a/src/USER-DIELECTRIC/pppm_disp_dielectric.cpp b/src/USER-DIELECTRIC/pppm_disp_dielectric.cpp new file mode 100644 index 0000000000..cd20fc3c7a --- /dev/null +++ b/src/USER-DIELECTRIC/pppm_disp_dielectric.cpp @@ -0,0 +1,872 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing authors: Trung Nguyen (Northwestern) +------------------------------------------------------------------------- */ + +#include "pppm_disp_dielectric.h" + +#include "angle.h" +#include "atom.h" +#include "atom_vec_dielectric.h" +#include "bond.h" +#include "comm.h" +#include "domain.h" +#include "error.h" +#include "fft3d_wrap.h" +#include "force.h" +#include "gridcomm.h" +#include "math_const.h" +#include "memory.h" +#include "neighbor.h" +#include "pair.h" +#include "remap_wrap.h" + +#include +#include + +using namespace LAMMPS_NS; +using namespace MathConst; + +#define MAXORDER 7 +#define OFFSET 16384 +#define SMALL 0.00001 +#define LARGE 10000.0 +#define EPS_HOC 1.0e-7 + +enum{REVERSE_RHO,REVERSE_RHO_GEOM,REVERSE_RHO_ARITH,REVERSE_RHO_NONE}; +enum{FORWARD_IK,FORWARD_AD,FORWARD_IK_PERATOM,FORWARD_AD_PERATOM, + FORWARD_IK_GEOM,FORWARD_AD_GEOM, + FORWARD_IK_PERATOM_GEOM,FORWARD_AD_PERATOM_GEOM, + FORWARD_IK_ARITH,FORWARD_AD_ARITH, + FORWARD_IK_PERATOM_ARITH,FORWARD_AD_PERATOM_ARITH, + FORWARD_IK_NONE,FORWARD_AD_NONE,FORWARD_IK_PERATOM_NONE, + FORWARD_AD_PERATOM_NONE}; + +#ifdef FFT_SINGLE +#define ZEROF 0.0f +#define ONEF 1.0f +#else +#define ZEROF 0.0 +#define ONEF 1.0 +#endif + +/* ---------------------------------------------------------------------- */ + +PPPMDispDielectric::PPPMDispDielectric(LAMMPS *lmp) : PPPMDisp(lmp) +{ + dipoleflag = 0; // turned off for now, until dipole works + group_group_enable = 0; + + mu_flag = 0; + + efield = nullptr; + phi = nullptr; + potflag = 0; + + avec = (AtomVecDielectric *) atom->style_match("dielectric"); + if (!avec) error->all(FLERR,"pppm/dielectric requires atom style dielectric"); +} + +/* ---------------------------------------------------------------------- */ + +PPPMDispDielectric::~PPPMDispDielectric() +{ + memory->destroy(efield); + memory->destroy(phi); +} + +/* ---------------------------------------------------------------------- + compute the PPPM long-range force, energy, virial +------------------------------------------------------------------------- */ + +void PPPMDispDielectric::compute(int eflag, int vflag) +{ + + int i; + + // set energy/virial flags + // invoke allocate_peratom() if needed for first time + + ev_init(eflag,vflag); + + if (evflag_atom && !peratom_allocate_flag) allocate_peratom(); + + // convert atoms from box to lamda coords + + if (triclinic == 0) boxlo = domain->boxlo; + else { + boxlo = domain->boxlo_lamda; + domain->x2lamda(atom->nlocal); + } + // extend size of per-atom arrays if necessary + + if (atom->nmax > nmax) { + + if (function[0]) { + memory->destroy(part2grid); + memory->destroy(efield); + memory->destroy(phi); + } + if (function[1] + function[2] + function[3]) memory->destroy(part2grid_6); + nmax = atom->nmax; + if (function[0]) { + memory->create(part2grid,nmax,3,"pppm/disp:part2grid"); + memory->create(efield,nmax,3,"pppm/disp:efield"); + memory->create(phi,nmax,"pppm/disp:phi"); + } + if (function[1] + function[2] + function[3]) + memory->create(part2grid_6,nmax,3,"pppm/disp:part2grid_6"); + } + + energy = 0.0; + energy_1 = 0.0; + energy_6 = 0.0; + if (vflag) for (i = 0; i < 6; i++) virial_6[i] = virial_1[i] = 0.0; + + // find grid points for all my particles + // distribute partcles' charges/dispersion coefficients on the grid + // communication between processors and remapping two fft + // Solution of poissons equation in k-space and backtransformation + // communication between processors + // calculation of forces + + if (function[0]) { + + // perform calculations for coulomb interactions only + + particle_map_c(delxinv,delyinv,delzinv,shift,part2grid,nupper,nlower, + nxlo_out,nylo_out,nzlo_out,nxhi_out,nyhi_out,nzhi_out); + + make_rho_c(); + + gc->reverse_comm_kspace(this,1,sizeof(FFT_SCALAR),REVERSE_RHO, + gc_buf1,gc_buf2,MPI_FFT_SCALAR); + + brick2fft(nxlo_in,nylo_in,nzlo_in,nxhi_in,nyhi_in,nzhi_in, + density_brick,density_fft,work1,remap); + + if (differentiation_flag == 1) { + poisson_ad(work1,work2,density_fft,fft1,fft2, + nx_pppm,ny_pppm,nz_pppm,nfft, + nxlo_fft,nylo_fft,nzlo_fft,nxhi_fft,nyhi_fft,nzhi_fft, + nxlo_in,nylo_in,nzlo_in,nxhi_in,nyhi_in,nzhi_in, + energy_1,greensfn, + virial_1,vg,vg2, + u_brick,v0_brick,v1_brick,v2_brick,v3_brick,v4_brick,v5_brick); + + gc->forward_comm_kspace(this,1,sizeof(FFT_SCALAR),FORWARD_AD, + gc_buf1,gc_buf2,MPI_FFT_SCALAR); + + fieldforce_c_ad(); + + if (vflag_atom) + gc->forward_comm_kspace(this,6,sizeof(FFT_SCALAR),FORWARD_AD_PERATOM, + gc_buf1,gc_buf2,MPI_FFT_SCALAR); + + } else { + poisson_ik(work1,work2,density_fft,fft1,fft2, + nx_pppm,ny_pppm,nz_pppm,nfft, + nxlo_fft,nylo_fft,nzlo_fft,nxhi_fft,nyhi_fft,nzhi_fft, + nxlo_in,nylo_in,nzlo_in,nxhi_in,nyhi_in,nzhi_in, + energy_1,greensfn, + fkx,fky,fkz,fkx2,fky2,fkz2, + vdx_brick,vdy_brick,vdz_brick,virial_1,vg,vg2, + u_brick,v0_brick,v1_brick,v2_brick,v3_brick,v4_brick,v5_brick); + + gc->forward_comm_kspace(this,3,sizeof(FFT_SCALAR),FORWARD_IK, + gc_buf1,gc_buf2,MPI_FFT_SCALAR); + + fieldforce_c_ik(); + + if (evflag_atom) + gc->forward_comm_kspace(this,7,sizeof(FFT_SCALAR),FORWARD_IK_PERATOM, + gc_buf1,gc_buf2,MPI_FFT_SCALAR); + } + + if (evflag_atom) fieldforce_c_peratom(); + } + + if (function[1]) { + + // perform calculations for geometric mixing + + particle_map(delxinv_6,delyinv_6,delzinv_6,shift_6,part2grid_6, + nupper_6,nlower_6, + nxlo_out_6,nylo_out_6,nzlo_out_6, + nxhi_out_6,nyhi_out_6,nzhi_out_6); + + make_rho_g(); + + gc6->reverse_comm_kspace(this,1,sizeof(FFT_SCALAR),REVERSE_RHO_GEOM, + gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); + + brick2fft(nxlo_in_6,nylo_in_6,nzlo_in_6,nxhi_in_6,nyhi_in_6,nzhi_in_6, + density_brick_g,density_fft_g,work1_6,remap_6); + + if (differentiation_flag == 1) { + poisson_ad(work1_6,work2_6,density_fft_g,fft1_6,fft2_6, + nx_pppm_6,ny_pppm_6,nz_pppm_6,nfft_6, + nxlo_fft_6,nylo_fft_6,nzlo_fft_6,nxhi_fft_6,nyhi_fft_6,nzhi_fft_6, + nxlo_in_6,nylo_in_6,nzlo_in_6,nxhi_in_6,nyhi_in_6,nzhi_in_6, + energy_6,greensfn_6, + virial_6,vg_6,vg2_6, + u_brick_g,v0_brick_g,v1_brick_g,v2_brick_g, + v3_brick_g,v4_brick_g,v5_brick_g); + + gc6->forward_comm_kspace(this,1,sizeof(FFT_SCALAR),FORWARD_AD_GEOM, + gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); + + fieldforce_g_ad(); + + if (vflag_atom) + gc6->forward_comm_kspace(this,6,sizeof(FFT_SCALAR),FORWARD_AD_PERATOM_GEOM, + gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); + + } else { + poisson_ik(work1_6,work2_6,density_fft_g,fft1_6,fft2_6, + nx_pppm_6,ny_pppm_6,nz_pppm_6,nfft_6, + nxlo_fft_6,nylo_fft_6,nzlo_fft_6,nxhi_fft_6,nyhi_fft_6,nzhi_fft_6, + nxlo_in_6,nylo_in_6,nzlo_in_6,nxhi_in_6,nyhi_in_6,nzhi_in_6, + energy_6,greensfn_6, + fkx_6,fky_6,fkz_6,fkx2_6,fky2_6,fkz2_6, + vdx_brick_g,vdy_brick_g,vdz_brick_g,virial_6,vg_6,vg2_6, + u_brick_g,v0_brick_g,v1_brick_g,v2_brick_g, + v3_brick_g,v4_brick_g,v5_brick_g); + + gc6->forward_comm_kspace(this,3,sizeof(FFT_SCALAR),FORWARD_IK_GEOM, + gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); + + fieldforce_g_ik(); + + if (evflag_atom) + gc6->forward_comm_kspace(this,7,sizeof(FFT_SCALAR),FORWARD_IK_PERATOM_GEOM, + gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); + } + + if (evflag_atom) fieldforce_g_peratom(); + } + + if (function[2]) { + + // perform calculations for arithmetic mixing + + particle_map(delxinv_6,delyinv_6,delzinv_6,shift_6,part2grid_6, + nupper_6,nlower_6, + nxlo_out_6,nylo_out_6,nzlo_out_6, + nxhi_out_6,nyhi_out_6,nzhi_out_6); + + make_rho_a(); + + gc6->reverse_comm_kspace(this,7,sizeof(FFT_SCALAR),REVERSE_RHO_ARITH, + gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); + + brick2fft_a(); + + if (differentiation_flag == 1) { + poisson_ad(work1_6,work2_6,density_fft_a3,fft1_6,fft2_6, + nx_pppm_6,ny_pppm_6,nz_pppm_6,nfft_6, + nxlo_fft_6,nylo_fft_6,nzlo_fft_6,nxhi_fft_6,nyhi_fft_6,nzhi_fft_6, + nxlo_in_6,nylo_in_6,nzlo_in_6,nxhi_in_6,nyhi_in_6,nzhi_in_6, + energy_6,greensfn_6, + virial_6,vg_6,vg2_6, + u_brick_a3,v0_brick_a3,v1_brick_a3,v2_brick_a3, + v3_brick_a3,v4_brick_a3,v5_brick_a3); + poisson_2s_ad(density_fft_a0,density_fft_a6, + u_brick_a0,v0_brick_a0,v1_brick_a0,v2_brick_a0, + v3_brick_a0,v4_brick_a0,v5_brick_a0, + u_brick_a6,v0_brick_a6,v1_brick_a6,v2_brick_a6, + v3_brick_a6,v4_brick_a6,v5_brick_a6); + poisson_2s_ad(density_fft_a1,density_fft_a5, + u_brick_a1,v0_brick_a1,v1_brick_a1,v2_brick_a1, + v3_brick_a1,v4_brick_a1,v5_brick_a1, + u_brick_a5,v0_brick_a5,v1_brick_a5,v2_brick_a5, + v3_brick_a5,v4_brick_a5,v5_brick_a5); + poisson_2s_ad(density_fft_a2,density_fft_a4, + u_brick_a2,v0_brick_a2,v1_brick_a2,v2_brick_a2, + v3_brick_a2,v4_brick_a2,v5_brick_a2, + u_brick_a4,v0_brick_a4,v1_brick_a4,v2_brick_a4, + v3_brick_a4,v4_brick_a4,v5_brick_a4); + + gc6->forward_comm_kspace(this,7,sizeof(FFT_SCALAR),FORWARD_AD_ARITH, + gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); + + fieldforce_a_ad(); + + if (evflag_atom) + gc6->forward_comm_kspace(this,42,sizeof(FFT_SCALAR),FORWARD_AD_PERATOM_ARITH, + gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); + + } else { + poisson_ik(work1_6,work2_6,density_fft_a3,fft1_6,fft2_6, + nx_pppm_6,ny_pppm_6,nz_pppm_6,nfft_6, + nxlo_fft_6,nylo_fft_6,nzlo_fft_6,nxhi_fft_6,nyhi_fft_6,nzhi_fft_6, + nxlo_in_6,nylo_in_6,nzlo_in_6,nxhi_in_6,nyhi_in_6,nzhi_in_6, + energy_6,greensfn_6, + fkx_6,fky_6,fkz_6,fkx2_6,fky2_6,fkz2_6, + vdx_brick_a3,vdy_brick_a3,vdz_brick_a3,virial_6,vg_6,vg2_6, + u_brick_a3,v0_brick_a3,v1_brick_a3,v2_brick_a3, + v3_brick_a3,v4_brick_a3,v5_brick_a3); + poisson_2s_ik(density_fft_a0,density_fft_a6, + vdx_brick_a0,vdy_brick_a0,vdz_brick_a0, + vdx_brick_a6,vdy_brick_a6,vdz_brick_a6, + u_brick_a0,v0_brick_a0,v1_brick_a0,v2_brick_a0, + v3_brick_a0,v4_brick_a0,v5_brick_a0, + u_brick_a6,v0_brick_a6,v1_brick_a6,v2_brick_a6, + v3_brick_a6,v4_brick_a6,v5_brick_a6); + poisson_2s_ik(density_fft_a1,density_fft_a5, + vdx_brick_a1,vdy_brick_a1,vdz_brick_a1, + vdx_brick_a5,vdy_brick_a5,vdz_brick_a5, + u_brick_a1,v0_brick_a1,v1_brick_a1,v2_brick_a1, + v3_brick_a1,v4_brick_a1,v5_brick_a1, + u_brick_a5,v0_brick_a5,v1_brick_a5,v2_brick_a5, + v3_brick_a5,v4_brick_a5,v5_brick_a5); + poisson_2s_ik(density_fft_a2,density_fft_a4, + vdx_brick_a2,vdy_brick_a2,vdz_brick_a2, + vdx_brick_a4,vdy_brick_a4,vdz_brick_a4, + u_brick_a2,v0_brick_a2,v1_brick_a2,v2_brick_a2, + v3_brick_a2,v4_brick_a2,v5_brick_a2, + u_brick_a4,v0_brick_a4,v1_brick_a4,v2_brick_a4, + v3_brick_a4,v4_brick_a4,v5_brick_a4); + + gc6->forward_comm_kspace(this,21,sizeof(FFT_SCALAR),FORWARD_IK_ARITH, + gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); + + fieldforce_a_ik(); + + if (evflag_atom) + gc6->forward_comm_kspace(this,49,sizeof(FFT_SCALAR),FORWARD_IK_PERATOM_ARITH, + gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); + } + + if (evflag_atom) fieldforce_a_peratom(); + } + + if (function[3]) { + + // perform calculations if no mixing rule applies + + particle_map(delxinv_6,delyinv_6,delzinv_6,shift_6,part2grid_6, + nupper_6,nlower_6, + nxlo_out_6,nylo_out_6,nzlo_out_6, + nxhi_out_6,nyhi_out_6,nzhi_out_6); + + make_rho_none(); + + gc6->reverse_comm_kspace(this,nsplit_alloc,sizeof(FFT_SCALAR),REVERSE_RHO_NONE, + gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); + + brick2fft_none(); + + if (differentiation_flag == 1) { + int n = 0; + for (int k = 0; k < nsplit_alloc/2; k++) { + poisson_none_ad(n,n+1,density_fft_none[n],density_fft_none[n+1], + u_brick_none[n],u_brick_none[n+1], + v0_brick_none,v1_brick_none,v2_brick_none, + v3_brick_none,v4_brick_none,v5_brick_none); + n += 2; + } + + gc6->forward_comm_kspace(this,1*nsplit_alloc,sizeof(FFT_SCALAR), + FORWARD_AD_NONE, + gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); + + fieldforce_none_ad(); + + if (vflag_atom) + gc6->forward_comm_kspace(this,6*nsplit_alloc,sizeof(FFT_SCALAR), + FORWARD_AD_PERATOM_NONE, + gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); + + } else { + int n = 0; + for (int k = 0; k < nsplit_alloc/2; k++) { + poisson_none_ik(n,n+1,density_fft_none[n],density_fft_none[n+1], + vdx_brick_none[n],vdy_brick_none[n],vdz_brick_none[n], + vdx_brick_none[n+1],vdy_brick_none[n+1],vdz_brick_none[n+1], + u_brick_none,v0_brick_none,v1_brick_none,v2_brick_none, + v3_brick_none,v4_brick_none,v5_brick_none); + n += 2; + } + + gc6->forward_comm_kspace(this,3*nsplit_alloc,sizeof(FFT_SCALAR), + FORWARD_IK_NONE, + gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); + + fieldforce_none_ik(); + + if (evflag_atom) + gc6->forward_comm_kspace(this,7*nsplit_alloc,sizeof(FFT_SCALAR), + FORWARD_IK_PERATOM_NONE, + gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); + } + + if (evflag_atom) fieldforce_none_peratom(); + } + + // update qsum and qsqsum, if atom count has changed and energy needed + + if ((eflag_global || eflag_atom) && atom->natoms != natoms_original) { + qsum_qsq(); + natoms_original = atom->natoms; + } + + // sum energy across procs and add in volume-dependent term + + const double qscale = force->qqrd2e * scale; + + if (eflag_global) { + double energy_all; + MPI_Allreduce(&energy_1,&energy_all,1,MPI_DOUBLE,MPI_SUM,world); + energy_1 = energy_all; + MPI_Allreduce(&energy_6,&energy_all,1,MPI_DOUBLE,MPI_SUM,world); + energy_6 = energy_all; + + energy_1 *= 0.5*volume; + energy_6 *= 0.5*volume; + + energy_1 -= g_ewald*qsqsum/MY_PIS + + MY_PI2*qsum*qsum / (g_ewald*g_ewald*volume); + energy_6 += - MY_PI*MY_PIS/(6*volume)*pow(g_ewald_6,3)*csumij + + 1.0/12.0*pow(g_ewald_6,6)*csum; + energy_1 *= qscale; + } + + // sum virial across procs + + if (vflag_global) { + double virial_all[6]; + MPI_Allreduce(virial_1,virial_all,6,MPI_DOUBLE,MPI_SUM,world); + for (i = 0; i < 6; i++) virial[i] = 0.5*qscale*volume*virial_all[i]; + MPI_Allreduce(virial_6,virial_all,6,MPI_DOUBLE,MPI_SUM,world); + for (i = 0; i < 6; i++) virial[i] += 0.5*volume*virial_all[i]; + if (function[1]+function[2]+function[3]) { + double a = MY_PI*MY_PIS/(6*volume)*pow(g_ewald_6,3)*csumij; + virial[0] -= a; + virial[1] -= a; + virial[2] -= a; + } + } + + if (eflag_atom) { + if (function[0]) { + double *q = atom->q; + // coulomb self energy correction + for (i = 0; i < atom->nlocal; i++) { + eatom[i] -= qscale*g_ewald*q[i]*q[i]/MY_PIS + + qscale*MY_PI2*q[i]*qsum / (g_ewald*g_ewald*volume); + } + } + if (function[1] + function[2] + function[3]) { + int tmp; + for (i = 0; i < atom->nlocal; i++) { + tmp = atom->type[i]; + eatom[i] += - MY_PI*MY_PIS/(6*volume)*pow(g_ewald_6,3)*csumi[tmp] + + 1.0/12.0*pow(g_ewald_6,6)*cii[tmp]; + } + } + } + + if (vflag_atom) { + if (function[1] + function[2] + function[3]) { + int tmp; + // dispersion self virial correction + for (i = 0; i < atom->nlocal; i++) { + tmp = atom->type[i]; + for (int n = 0; n < 3; n++) + vatom[i][n] -= MY_PI*MY_PIS/(6*volume)*pow(g_ewald_6,3)*csumi[tmp]; + } + } + } + + // 2d slab correction + + if (slabflag) slabcorr(eflag); + if (function[0]) energy += energy_1; + if (function[1] + function[2] + function[3]) energy += energy_6; + + // convert atoms back from lamda to box coords + + if (triclinic) domain->lamda2x(atom->nlocal); +} + +/* ---------------------------------------------------------------------- + interpolate from grid to get electric field & force on my particles + for ik scheme +------------------------------------------------------------------------- */ + +void PPPMDispDielectric::fieldforce_c_ik() +{ + int i,l,m,n,nx,ny,nz,mx,my,mz; + FFT_SCALAR dx,dy,dz,x0,y0,z0; + FFT_SCALAR ekx,eky,ekz,u; + + // loop over my charges, interpolate electric field from nearby grid points + // (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 + // ek = 3 components of E-field on particle + + double *q = atom->q; + double **x = atom->x; + double **f = atom->f; + double *eps = atom->epsilon; + int nlocal = atom->nlocal; + + for (i = 0; i < nlocal; i++) { + nx = part2grid[i][0]; + ny = part2grid[i][1]; + nz = part2grid[i][2]; + dx = nx+shiftone - (x[i][0]-boxlo[0])*delxinv; + dy = ny+shiftone - (x[i][1]-boxlo[1])*delyinv; + dz = nz+shiftone - (x[i][2]-boxlo[2])*delzinv; + + compute_rho1d(dx,dy,dz, order, rho_coeff, rho1d); + + u = ekx = eky = ekz = ZEROF; + for (n = nlower; n <= nupper; n++) { + mz = n+nz; + z0 = rho1d[2][n]; + for (m = nlower; m <= nupper; m++) { + my = m+ny; + y0 = z0*rho1d[1][m]; + for (l = nlower; l <= nupper; l++) { + mx = l+nx; + x0 = y0*rho1d[0][l]; + if (potflag) u += x0*u_brick[mz][my][mx]; + ekx -= x0*vdx_brick[mz][my][mx]; + eky -= x0*vdy_brick[mz][my][mx]; + ekz -= x0*vdz_brick[mz][my][mx]; + } + } + } + + // electrostatic potential + + if (potflag) phi[i] = u; + + // convert E-field to force + + const double efactor = scale * eps[i]; + efield[i][0] = efactor*ekx; + efield[i][1] = efactor*eky; + efield[i][2] = efactor*ekz; + + // convert E-field to force + + const double qfactor = force->qqrd2e * scale * q[i]; + f[i][0] += qfactor*ekx; + f[i][1] += qfactor*eky; + if (slabflag != 2) f[i][2] += qfactor*ekz; + } +} +/* ---------------------------------------------------------------------- + interpolate from grid to get electric field & force on my particles + for ad scheme +------------------------------------------------------------------------- */ + +void PPPMDispDielectric::fieldforce_c_ad() +{ + int i,l,m,n,nx,ny,nz,mx,my,mz; + FFT_SCALAR dx,dy,dz; + FFT_SCALAR ekx,eky,ekz,u; + double s1,s2,s3; + double sf = 0.0; + + double *prd; + + if (triclinic == 0) prd = domain->prd; + else prd = domain->prd_lamda; + + double xprd = prd[0]; + double yprd = prd[1]; + double zprd = prd[2]; + double zprd_slab = zprd*slab_volfactor; + + double hx_inv = nx_pppm/xprd; + double hy_inv = ny_pppm/yprd; + double hz_inv = nz_pppm/zprd_slab; + + // loop over my charges, interpolate electric field from nearby grid points + // (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 + // ek = 3 components of E-field on particle + + double *q = atom->q; + double **x = atom->x; + double **f = atom->f; + double *eps = atom->epsilon; + int nlocal = atom->nlocal; + + for (i = 0; i < nlocal; i++) { + nx = part2grid[i][0]; + ny = part2grid[i][1]; + nz = part2grid[i][2]; + dx = nx+shiftone - (x[i][0]-boxlo[0])*delxinv; + dy = ny+shiftone - (x[i][1]-boxlo[1])*delyinv; + dz = nz+shiftone - (x[i][2]-boxlo[2])*delzinv; + + compute_rho1d(dx,dy,dz, order, rho_coeff, rho1d); + compute_drho1d(dx,dy,dz, order, drho_coeff, drho1d); + + u = ekx = eky = ekz = ZEROF; + for (n = nlower; n <= nupper; n++) { + mz = n+nz; + for (m = nlower; m <= nupper; m++) { + my = m+ny; + for (l = nlower; l <= nupper; l++) { + mx = l+nx; + u += rho1d[0][l]*rho1d[1][m]*rho1d[2][n]*u_brick[mz][my][mx]; + ekx += drho1d[0][l]*rho1d[1][m]*rho1d[2][n]*u_brick[mz][my][mx]; + eky += rho1d[0][l]*drho1d[1][m]*rho1d[2][n]*u_brick[mz][my][mx]; + ekz += rho1d[0][l]*rho1d[1][m]*drho1d[2][n]*u_brick[mz][my][mx]; + } + } + } + ekx *= hx_inv; + eky *= hy_inv; + ekz *= hz_inv; + + // electrical potential + + if (potflag) phi[i] = u; + + // convert E-field to force and substract self forces + const double qfactor = qqrd2e * scale; + double qtmp = eps[i]*q[i]; + + s1 = x[i][0]*hx_inv; + s2 = x[i][1]*hy_inv; + s3 = x[i][2]*hz_inv; + sf = sf_coeff[0]*sin(2*MY_PI*s1); + sf += sf_coeff[1]*sin(4*MY_PI*s1); + sf *= 2*q[i]*q[i]; + f[i][0] += qfactor*(ekx*q[i] - sf); + + sf = sf_coeff[2]*sin(2*MY_PI*s2); + sf += sf_coeff[3]*sin(4*MY_PI*s2); + sf *= 2*q[i]*q[i]; + f[i][1] += qfactor*(eky*q[i] - sf); + + sf = sf_coeff[4]*sin(2*MY_PI*s3); + sf += sf_coeff[5]*sin(4*MY_PI*s3); + sf *= 2*q[i]*q[i]; + if (slabflag != 2) f[i][2] += qfactor*(ekz*q[i] - sf); + } +} + +/* ---------------------------------------------------------------------- + interpolate from grid to get electric field & force on my particles +------------------------------------------------------------------------- */ + +void PPPMDispDielectric::fieldforce_c_peratom() +{ + int i,l,m,n,nx,ny,nz,mx,my,mz; + FFT_SCALAR dx,dy,dz,x0,y0,z0; + FFT_SCALAR u_pa,v0,v1,v2,v3,v4,v5; + + // loop over my charges, interpolate electric field from nearby grid points + // (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 + // ek = 3 components of E-field on particle + + double *q = atom->q; + double **x = atom->x; + + int nlocal = atom->nlocal; + + for (i = 0; i < nlocal; i++) { + nx = part2grid[i][0]; + ny = part2grid[i][1]; + nz = part2grid[i][2]; + dx = nx+shiftone - (x[i][0]-boxlo[0])*delxinv; + dy = ny+shiftone - (x[i][1]-boxlo[1])*delyinv; + dz = nz+shiftone - (x[i][2]-boxlo[2])*delzinv; + + compute_rho1d(dx,dy,dz, order, rho_coeff, rho1d); + + u_pa = v0 = v1 = v2 = v3 = v4 = v5 = ZEROF; + for (n = nlower; n <= nupper; n++) { + mz = n+nz; + z0 = rho1d[2][n]; + for (m = nlower; m <= nupper; m++) { + my = m+ny; + y0 = z0*rho1d[1][m]; + for (l = nlower; l <= nupper; l++) { + mx = l+nx; + x0 = y0*rho1d[0][l]; + if (eflag_atom) u_pa += x0*u_brick[mz][my][mx]; + if (vflag_atom) { + v0 += x0*v0_brick[mz][my][mx]; + v1 += x0*v1_brick[mz][my][mx]; + v2 += x0*v2_brick[mz][my][mx]; + v3 += x0*v3_brick[mz][my][mx]; + v4 += x0*v4_brick[mz][my][mx]; + v5 += x0*v5_brick[mz][my][mx]; + } + } + } + } + + // electrostatic potential + + phi[i] = u_pa; + + // convert E-field to force + + const double qfactor = 0.5*force->qqrd2e * scale * q[i]; + + if (eflag_atom) eatom[i] += u_pa*qfactor; + if (vflag_atom) { + vatom[i][0] += v0*qfactor; + vatom[i][1] += v1*qfactor; + vatom[i][2] += v2*qfactor; + vatom[i][3] += v3*qfactor; + vatom[i][4] += v4*qfactor; + vatom[i][5] += v5*qfactor; + } + } +} + +/* ---------------------------------------------------------------------- + Slab-geometry correction term to dampen inter-slab interactions between + periodically repeating slabs. Yields good approximation to 2D Ewald if + adequate empty space is left between repeating slabs (J. Chem. Phys. + 111, 3155). Slabs defined here to be parallel to the xy plane. Also + extended to non-neutral systems (J. Chem. Phys. 131, 094107). +------------------------------------------------------------------------- */ + +void PPPMDispDielectric::slabcorr(int eflag) +{ + // compute local contribution to global dipole moment + + double *q = atom->q; + double **x = atom->x; + double *eps = atom->epsilon; + double zprd = domain->zprd; + int nlocal = atom->nlocal; + + double dipole = 0.0; + for (int i = 0; i < nlocal; i++) dipole += q[i]*x[i][2]; + + if (mu_flag) { + double **mu = atom->mu; + for (int i = 0; i < nlocal; i++) dipole += mu[i][2]; + } + + // sum local contributions to get global dipole moment + + double dipole_all; + MPI_Allreduce(&dipole,&dipole_all,1,MPI_DOUBLE,MPI_SUM,world); + + // need to make non-neutral systems and/or + // per-atom energy translationally invariant + + double dipole_r2 = 0.0; + if (eflag_atom || fabs(qsum) > SMALL) { + + if (mu_flag) + error->all(FLERR,"Cannot (yet) use kspace slab correction with " + "long-range dipoles and non-neutral systems or per-atom energy"); + + for (int i = 0; i < nlocal; i++) + dipole_r2 += q[i]*x[i][2]*x[i][2]; + + // sum local contributions + + double tmp; + MPI_Allreduce(&dipole_r2,&tmp,1,MPI_DOUBLE,MPI_SUM,world); + dipole_r2 = tmp; + } + + // compute corrections + + const double e_slabcorr = MY_2PI*(dipole_all*dipole_all - + qsum*dipole_r2 - qsum*qsum*zprd*zprd/12.0)/volume; + const double qscale = qqrd2e * scale; + + if (eflag_global) energy += qscale * e_slabcorr; + + // per-atom energy + + if (eflag_atom) { + double efact = qscale * MY_2PI/volume; + for (int i = 0; i < nlocal; i++) + eatom[i] += efact * eps[i]*q[i]*(x[i][2]*dipole_all - 0.5*(dipole_r2 + + qsum*x[i][2]*x[i][2]) - qsum*zprd*zprd/12.0); + } + + // add on force corrections + + double ffact = qscale * (-4.0*MY_PI/volume); + double **f = atom->f; + + for (int i = 0; i < nlocal; i++) { + f[i][2] += ffact * eps[i]*q[i]*(dipole_all - qsum*x[i][2]); + efield[i][2] += ffact * eps[i]*(dipole_all - qsum*x[i][2]); + } + + // add on torque corrections + + if (mu_flag && atom->torque) { + double **mu = atom->mu; + double **torque = atom->torque; + for (int i = 0; i < nlocal; i++) { + torque[i][0] += ffact * dipole_all * mu[i][1]; + torque[i][1] += -ffact * dipole_all * mu[i][0]; + } + } +} + +/* ---------------------------------------------------------------------- + memory usage of local arrays +------------------------------------------------------------------------- */ + +double PPPMDispDielectric::memory_usage() +{ + double bytes = PPPMDisp::memory_usage(); + bytes += nmax*3 * sizeof(double); + bytes += nmax * sizeof(double); + return bytes; +} + +/* ---------------------------------------------------------------------- + compute qsum,qsqsum,q2 and give error/warning if not charge neutral + called initially, when particle count changes, when charges are changed +------------------------------------------------------------------------- */ + +void PPPMDispDielectric::qsum_qsq() +{ + const double * const q = atom->q; + const double * const eps = atom->epsilon; + const int nlocal = atom->nlocal; + double qsum_local(0.0), qsqsum_local(0.0); + +#if defined(_OPENMP) +#pragma omp parallel for default(none) reduction(+:qsum_local,qsqsum_local) +#endif + for (int i = 0; i < nlocal; i++) { + double qtmp = eps[i]*q[i]; + qsum_local += qtmp; + qsqsum_local += qtmp*qtmp; + } + + MPI_Allreduce(&qsum_local,&qsum,1,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(&qsqsum_local,&qsqsum,1,MPI_DOUBLE,MPI_SUM,world); + + q2 = qsqsum * force->qqrd2e; +} diff --git a/src/USER-DIELECTRIC/pppm_disp_dielectric.h b/src/USER-DIELECTRIC/pppm_disp_dielectric.h new file mode 100644 index 0000000000..86623b91c4 --- /dev/null +++ b/src/USER-DIELECTRIC/pppm_disp_dielectric.h @@ -0,0 +1,62 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef KSPACE_CLASS + +KSpaceStyle(pppm/disp/dielectric,PPPMDispDielectric) + +#else + +#ifndef LMP_PPPM_DISP_DIELECTRIC_H +#define LMP_PPPM_DISP_DIELECTRIC_H + +#include "pppm_disp.h" + +namespace LAMMPS_NS { + +class PPPMDispDielectric : public PPPMDisp { + public: + PPPMDispDielectric(class LAMMPS *); + virtual ~PPPMDispDielectric(); + virtual double memory_usage(); + virtual void compute(int, int); + void qsum_qsq(); + void slabcorr(int); + + double** efield; + double* phi; + int potflag; // 1/0 if per-atom electrostatic potential phi is needed + + protected: + virtual void fieldforce_c_ik(); + virtual void fieldforce_c_ad(); + virtual void fieldforce_c_peratom(); + + class AtomVecDielectric* avec; + int mu_flag; +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +E: Illegal ... command + +Self-explanatory. Check the input script syntax and compare to the +documentation for the command. You can use -echo screen as a +command-line option when running LAMMPS to see the offending line. + +*/ From 1c6ce707769af033c3624a40de081701c7202709 Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Mon, 14 Jun 2021 00:09:48 -0500 Subject: [PATCH 221/726] Updated qsum_qsq() in pppm/dielectric and pppm/disp/dielectric --- src/USER-DIELECTRIC/pppm_dielectric.cpp | 13 +++++++------ src/USER-DIELECTRIC/pppm_disp_dielectric.cpp | 6 ++---- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/src/USER-DIELECTRIC/pppm_dielectric.cpp b/src/USER-DIELECTRIC/pppm_dielectric.cpp index 7fdb0b76c4..98e5c40d3c 100644 --- a/src/USER-DIELECTRIC/pppm_dielectric.cpp +++ b/src/USER-DIELECTRIC/pppm_dielectric.cpp @@ -469,21 +469,22 @@ void PPPMDielectric::slabcorr() } /* ---------------------------------------------------------------------- - compute qsum,qsqsum,q2 and give error/warning if not charge neutral - called initially, when particle count changes, when charges are changed + compute qsum,qsqsum,q2 and ignore error/warning if not charge neutral + called whenever charges are changed ------------------------------------------------------------------------- */ void PPPMDielectric::qsum_qsq() { const double * const q = atom->q; - const double * const eps = atom->epsilon; const int nlocal = atom->nlocal; double qsum_local(0.0), qsqsum_local(0.0); +#if defined(_OPENMP) +#pragma omp parallel for default(shared) reduction(+:qsum_local,qsqsum_local) +#endif for (int i = 0; i < nlocal; i++) { - double qtmp = eps[i]*q[i]; - qsum_local += qtmp; - qsqsum_local += qtmp*qtmp; + qsum_local += q[i]; + qsqsum_local += q[i]*q[i]; } MPI_Allreduce(&qsum_local,&qsum,1,MPI_DOUBLE,MPI_SUM,world); diff --git a/src/USER-DIELECTRIC/pppm_disp_dielectric.cpp b/src/USER-DIELECTRIC/pppm_disp_dielectric.cpp index cd20fc3c7a..f96726fc42 100644 --- a/src/USER-DIELECTRIC/pppm_disp_dielectric.cpp +++ b/src/USER-DIELECTRIC/pppm_disp_dielectric.cpp @@ -852,7 +852,6 @@ double PPPMDispDielectric::memory_usage() void PPPMDispDielectric::qsum_qsq() { const double * const q = atom->q; - const double * const eps = atom->epsilon; const int nlocal = atom->nlocal; double qsum_local(0.0), qsqsum_local(0.0); @@ -860,9 +859,8 @@ void PPPMDispDielectric::qsum_qsq() #pragma omp parallel for default(none) reduction(+:qsum_local,qsqsum_local) #endif for (int i = 0; i < nlocal; i++) { - double qtmp = eps[i]*q[i]; - qsum_local += qtmp; - qsqsum_local += qtmp*qtmp; + qsum_local += q[i]; + qsqsum_local += q[i]*q[i]; } MPI_Allreduce(&qsum_local,&qsum,1,MPI_DOUBLE,MPI_SUM,world); From 97799eabaf7523262e16cfcde979c2d1fac4f6ce Mon Sep 17 00:00:00 2001 From: macstein Date: Mon, 14 Jun 2021 10:57:27 -0700 Subject: [PATCH 222/726] added contributing author --- src/MLIAP/mliap_descriptor_so3.cpp | 3 +++ src/MLIAP/mliap_so3.cpp | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/MLIAP/mliap_descriptor_so3.cpp b/src/MLIAP/mliap_descriptor_so3.cpp index 832a16db25..8d170f6447 100644 --- a/src/MLIAP/mliap_descriptor_so3.cpp +++ b/src/MLIAP/mliap_descriptor_so3.cpp @@ -10,6 +10,9 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ +/* ---------------------------------------------------------------------- + Contributing authors: Byungkyun Kang (University of Nevada, Las Vegas) + ------------------------------------------------------------------------- */ #include "mliap_descriptor_so3.h" diff --git a/src/MLIAP/mliap_so3.cpp b/src/MLIAP/mliap_so3.cpp index 33d3a6bce5..670869fe7e 100644 --- a/src/MLIAP/mliap_so3.cpp +++ b/src/MLIAP/mliap_so3.cpp @@ -12,7 +12,7 @@ ------------------------------------------------------------------------- */ /* ---------------------------------------------------------------------- - Contributing authors: + Contributing authors: Byungkyun Kang (University of Nevada, Las Vegas) ------------------------------------------------------------------------- */ #include "mliap_so3.h" From 6a4420ba5c07c2eafc41ddcccec7107bbc50ecc4 Mon Sep 17 00:00:00 2001 From: macstein Date: Mon, 14 Jun 2021 11:40:45 -0700 Subject: [PATCH 223/726] updated log files from the latested run --- examples/mliap/in.mliap.so3.Ni_Mo | 4 - examples/mliap/log.14Jun21.mliap.nn.Cu.g++.1 | 133 +++++++++++++++ examples/mliap/log.14Jun21.mliap.nn.Cu.g++.4 | 133 +++++++++++++++ .../mliap/log.14Jun21.mliap.nn.Ta06A.g++.1 | 156 ++++++++++++++++++ .../mliap/log.14Jun21.mliap.nn.Ta06A.g++.4 | 156 ++++++++++++++++++ .../mliap/log.14Jun21.mliap.so3.Ni_Mo.g++.1 | 88 ++++++++++ .../mliap/log.14Jun21.mliap.so3.Ni_Mo.g++.4 | 88 ++++++++++ .../mliap/log.14Jun21.mliap.so3.nn.Si.g++.1 | 124 ++++++++++++++ .../mliap/log.14Jun21.mliap.so3.nn.Si.g++.4 | 124 ++++++++++++++ 9 files changed, 1002 insertions(+), 4 deletions(-) create mode 100644 examples/mliap/log.14Jun21.mliap.nn.Cu.g++.1 create mode 100644 examples/mliap/log.14Jun21.mliap.nn.Cu.g++.4 create mode 100644 examples/mliap/log.14Jun21.mliap.nn.Ta06A.g++.1 create mode 100644 examples/mliap/log.14Jun21.mliap.nn.Ta06A.g++.4 create mode 100644 examples/mliap/log.14Jun21.mliap.so3.Ni_Mo.g++.1 create mode 100644 examples/mliap/log.14Jun21.mliap.so3.Ni_Mo.g++.4 create mode 100644 examples/mliap/log.14Jun21.mliap.so3.nn.Si.g++.1 create mode 100644 examples/mliap/log.14Jun21.mliap.so3.nn.Si.g++.4 diff --git a/examples/mliap/in.mliap.so3.Ni_Mo b/examples/mliap/in.mliap.so3.Ni_Mo index 901600e156..34c900a972 100644 --- a/examples/mliap/in.mliap.so3.Ni_Mo +++ b/examples/mliap/in.mliap.so3.Ni_Mo @@ -23,7 +23,3 @@ velocity all create 300.0 4928459 loop geom fix 1 all nve run 3 -variable emin equal $e -variable EperAtom equal (${emin}/${N}) - -print "Total energy (eV/atom) = ${EperAtom} " diff --git a/examples/mliap/log.14Jun21.mliap.nn.Cu.g++.1 b/examples/mliap/log.14Jun21.mliap.nn.Cu.g++.1 new file mode 100644 index 0000000000..7e23163086 --- /dev/null +++ b/examples/mliap/log.14Jun21.mliap.nn.Cu.g++.1 @@ -0,0 +1,133 @@ +LAMMPS (27 May 2021) +# Demonstrate MLIAP interface to SNAP nn Cu potential + +# Initialize simulation + +variable nsteps index 100 +variable nrep equal 4 +variable a equal 3.621262 +units metal + +# generate the box and atom positions using a FCC lattice + +variable nx equal ${nrep} +variable nx equal 4 +variable ny equal ${nrep} +variable ny equal 4 +variable nz equal ${nrep} +variable nz equal 4 + +boundary p p p + +lattice fcc $a +lattice fcc 3.621262 +Lattice spacing in x,y,z = 3.6212620 3.6212620 3.6212620 +region box block 0 ${nx} 0 ${ny} 0 ${nz} +region box block 0 4 0 ${ny} 0 ${nz} +region box block 0 4 0 4 0 ${nz} +region box block 0 4 0 4 0 4 +create_box 1 box +Created orthogonal box = (0.0000000 0.0000000 0.0000000) to (14.485048 14.485048 14.485048) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 256 atoms + create_atoms CPU = 0.000 seconds + +mass 1 63.546 + +# choose potential + +pair_style mliap model nn Cu.nn.mliap.model descriptor sna Cu.snap.mliap.descriptor +Reading potential file Cu.nn.mliap.model with DATE: 2021-03-03 +Reading potential file Cu.snap.mliap.descriptor with DATE: 2021-03-03 +SNAP keyword rcutfac 5.0 +SNAP keyword twojmax 6 +SNAP keyword nelems 1 +SNAP keyword elems Cu +SNAP keyword radelems 0.5 +SNAP keyword welems 1.0 +SNAP keyword rfac0 0.99363 +SNAP keyword rmin0 0 +SNAP keyword bzeroflag 0 +SNAP keyword switchflag 1 +pair_coeff * * Cu + +# Setup output + +compute eatom all pe/atom +compute energy all reduce sum c_eatom + +compute satom all stress/atom NULL +compute str all reduce sum c_satom[1] c_satom[2] c_satom[3] +variable press equal (c_str[1]+c_str[2]+c_str[3])/(3*vol) + +thermo_style custom step temp epair c_energy etotal press v_press +thermo 10 +thermo_modify norm yes + +# Set up NVE run + +timestep 0.5e-3 +neighbor 1.0 bin +neigh_modify once no every 1 delay 0 check yes + +# Run MD + +velocity all create 300.0 4928459 loop geom +fix 1 all nve +run ${nsteps} +run 100 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 6 + ghost atom cutoff = 6 + binsize = 3, bins = 5 5 5 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair mliap, perpetual + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 31.17 | 31.17 | 31.17 Mbytes +Step Temp E_pair c_energy TotEng Press v_press + 0 300 -4.0935581 -4.0935581 -4.0549315 -2916.7505 2916.7505 + 10 294.11049 -4.0927998 -4.0927998 -4.0549315 -2654.7826 2654.7826 + 20 276.89115 -4.0905826 -4.0905826 -4.0549314 -1879.2872 1879.2872 + 30 249.71134 -4.0870829 -4.0870829 -4.0549312 -627.47006 627.47006 + 40 214.92415 -4.0826036 -4.0826036 -4.054931 995.44801 -995.44801 + 50 175.86879 -4.0775747 -4.0775747 -4.0549307 2811.6019 -2811.6019 + 60 136.62706 -4.0725218 -4.0725218 -4.0549303 4640.4144 -4640.4144 + 70 101.48566 -4.0679968 -4.0679968 -4.05493 6313.5871 -6313.5871 + 80 74.248664 -4.0644897 -4.0644897 -4.0549298 7644.1364 -7644.1364 + 90 57.500423 -4.0623332 -4.0623332 -4.0549297 8514.2222 -8514.2222 + 100 52.104609 -4.0616385 -4.0616385 -4.0549298 8870.8923 -8870.8923 +Loop time of 4.77867 on 1 procs for 100 steps with 256 atoms + +Performance: 0.904 ns/day, 26.548 hours/ns, 20.926 timesteps/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 | 4.7771 | 4.7771 | 4.7771 | 0.0 | 99.97 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.00052619 | 0.00052619 | 0.00052619 | 0.0 | 0.01 +Output | 0.00054073 | 0.00054073 | 0.00054073 | 0.0 | 0.01 +Modify | 0.00021744 | 0.00021744 | 0.00021744 | 0.0 | 0.00 +Other | | 0.0002317 | | | 0.00 + +Nlocal: 256.000 ave 256 max 256 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1431.00 ave 1431 max 1431 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0.00000 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +FullNghs: 19968.0 ave 19968 max 19968 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 19968 +Ave neighs/atom = 78.000000 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:04 diff --git a/examples/mliap/log.14Jun21.mliap.nn.Cu.g++.4 b/examples/mliap/log.14Jun21.mliap.nn.Cu.g++.4 new file mode 100644 index 0000000000..6738ce3f75 --- /dev/null +++ b/examples/mliap/log.14Jun21.mliap.nn.Cu.g++.4 @@ -0,0 +1,133 @@ +LAMMPS (27 May 2021) +# Demonstrate MLIAP interface to SNAP nn Cu potential + +# Initialize simulation + +variable nsteps index 100 +variable nrep equal 4 +variable a equal 3.621262 +units metal + +# generate the box and atom positions using a FCC lattice + +variable nx equal ${nrep} +variable nx equal 4 +variable ny equal ${nrep} +variable ny equal 4 +variable nz equal ${nrep} +variable nz equal 4 + +boundary p p p + +lattice fcc $a +lattice fcc 3.621262 +Lattice spacing in x,y,z = 3.6212620 3.6212620 3.6212620 +region box block 0 ${nx} 0 ${ny} 0 ${nz} +region box block 0 4 0 ${ny} 0 ${nz} +region box block 0 4 0 4 0 ${nz} +region box block 0 4 0 4 0 4 +create_box 1 box +Created orthogonal box = (0.0000000 0.0000000 0.0000000) to (14.485048 14.485048 14.485048) + 1 by 2 by 2 MPI processor grid +create_atoms 1 box +Created 256 atoms + create_atoms CPU = 0.000 seconds + +mass 1 63.546 + +# choose potential + +pair_style mliap model nn Cu.nn.mliap.model descriptor sna Cu.snap.mliap.descriptor +Reading potential file Cu.nn.mliap.model with DATE: 2021-03-03 +Reading potential file Cu.snap.mliap.descriptor with DATE: 2021-03-03 +SNAP keyword rcutfac 5.0 +SNAP keyword twojmax 6 +SNAP keyword nelems 1 +SNAP keyword elems Cu +SNAP keyword radelems 0.5 +SNAP keyword welems 1.0 +SNAP keyword rfac0 0.99363 +SNAP keyword rmin0 0 +SNAP keyword bzeroflag 0 +SNAP keyword switchflag 1 +pair_coeff * * Cu + +# Setup output + +compute eatom all pe/atom +compute energy all reduce sum c_eatom + +compute satom all stress/atom NULL +compute str all reduce sum c_satom[1] c_satom[2] c_satom[3] +variable press equal (c_str[1]+c_str[2]+c_str[3])/(3*vol) + +thermo_style custom step temp epair c_energy etotal press v_press +thermo 10 +thermo_modify norm yes + +# Set up NVE run + +timestep 0.5e-3 +neighbor 1.0 bin +neigh_modify once no every 1 delay 0 check yes + +# Run MD + +velocity all create 300.0 4928459 loop geom +fix 1 all nve +run ${nsteps} +run 100 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 6 + ghost atom cutoff = 6 + binsize = 3, bins = 5 5 5 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair mliap, perpetual + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 30.85 | 30.85 | 30.85 Mbytes +Step Temp E_pair c_energy TotEng Press v_press + 0 300 -4.0935581 -4.0935581 -4.0549315 -2916.7505 2916.7505 + 10 294.11049 -4.0927998 -4.0927998 -4.0549315 -2654.7826 2654.7826 + 20 276.89115 -4.0905826 -4.0905826 -4.0549314 -1879.2872 1879.2872 + 30 249.71134 -4.0870829 -4.0870829 -4.0549312 -627.47006 627.47006 + 40 214.92415 -4.0826036 -4.0826036 -4.054931 995.44801 -995.44801 + 50 175.86879 -4.0775747 -4.0775747 -4.0549307 2811.6019 -2811.6019 + 60 136.62706 -4.0725218 -4.0725218 -4.0549303 4640.4144 -4640.4144 + 70 101.48566 -4.0679968 -4.0679968 -4.05493 6313.5871 -6313.5871 + 80 74.248664 -4.0644897 -4.0644897 -4.0549298 7644.1364 -7644.1364 + 90 57.500423 -4.0623332 -4.0623332 -4.0549297 8514.2222 -8514.2222 + 100 52.104609 -4.0616385 -4.0616385 -4.0549298 8870.8923 -8870.8923 +Loop time of 1.25021 on 4 procs for 100 steps with 256 atoms + +Performance: 3.455 ns/day, 6.946 hours/ns, 79.987 timesteps/s +100.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 | 1.2256 | 1.2347 | 1.2415 | 0.5 | 98.76 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.0074687 | 0.014311 | 0.023481 | 4.8 | 1.14 +Output | 0.00060678 | 0.00062859 | 0.00066781 | 0.0 | 0.05 +Modify | 8.7976e-05 | 9.7811e-05 | 0.00010943 | 0.0 | 0.01 +Other | | 0.0004484 | | | 0.04 + +Nlocal: 64.0000 ave 64 max 64 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Nghost: 843.000 ave 843 max 843 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Neighs: 0.00000 ave 0 max 0 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +FullNghs: 4992.00 ave 4992 max 4992 min +Histogram: 4 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 19968 +Ave neighs/atom = 78.000000 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:01 diff --git a/examples/mliap/log.14Jun21.mliap.nn.Ta06A.g++.1 b/examples/mliap/log.14Jun21.mliap.nn.Ta06A.g++.1 new file mode 100644 index 0000000000..088e00fced --- /dev/null +++ b/examples/mliap/log.14Jun21.mliap.nn.Ta06A.g++.1 @@ -0,0 +1,156 @@ +LAMMPS (27 May 2021) +# Demonstrate MLIAP interface to linear SNAP potential + +# Initialize simulation + +variable nsteps index 100 +variable nrep equal 4 +variable a equal 3.316 +units metal + +# generate the box and atom positions using a BCC lattice + +variable nx equal ${nrep} +variable nx equal 4 +variable ny equal ${nrep} +variable ny equal 4 +variable nz equal ${nrep} +variable nz equal 4 + +boundary p p p + +lattice bcc $a +lattice bcc 3.316 +Lattice spacing in x,y,z = 3.3160000 3.3160000 3.3160000 +region box block 0 ${nx} 0 ${ny} 0 ${nz} +region box block 0 4 0 ${ny} 0 ${nz} +region box block 0 4 0 4 0 ${nz} +region box block 0 4 0 4 0 4 +create_box 1 box +Created orthogonal box = (0.0000000 0.0000000 0.0000000) to (13.264000 13.264000 13.264000) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 128 atoms + create_atoms CPU = 0.000 seconds + +mass 1 180.88 + +# choose potential + +include Ta06A.nn.mliap +# DATE: 2014-09-05 UNITS: metal CONTRIBUTOR: Aidan Thompson athomps@sandia.gov CITATION: Thompson, Swiler, Trott, Foiles and Tucker, arxiv.org, 1409.3880 (2014) + +# Definition of SNAP potential Ta_Cand06A +# Assumes 1 LAMMPS atom type + +variable zblcutinner equal 4 +variable zblcutouter equal 4.8 +variable zblz equal 73 + +# Specify hybrid with SNAP, ZBL + +pair_style hybrid/overlay zbl ${zblcutinner} ${zblcutouter} mliap model nn Ta06A.nn.mliap.model descriptor sna Ta06A.mliap.descriptor +pair_style hybrid/overlay zbl 4 ${zblcutouter} mliap model nn Ta06A.nn.mliap.model descriptor sna Ta06A.mliap.descriptor +pair_style hybrid/overlay zbl 4 4.8 mliap model nn Ta06A.nn.mliap.model descriptor sna Ta06A.mliap.descriptor +Reading potential file Ta06A.nn.mliap.model with DATE: 2021-03-03 +Reading potential file Ta06A.mliap.descriptor with DATE: 2014-09-05 +SNAP keyword rcutfac 4.67637 +SNAP keyword twojmax 6 +SNAP keyword nelems 1 +SNAP keyword elems Ta +SNAP keyword radelems 0.5 +SNAP keyword welems 1 +SNAP keyword rfac0 0.99363 +SNAP keyword rmin0 0 +SNAP keyword bzeroflag 0 +pair_coeff 1 1 zbl ${zblz} ${zblz} +pair_coeff 1 1 zbl 73 ${zblz} +pair_coeff 1 1 zbl 73 73 +pair_coeff * * mliap Ta + + +# Setup output + +compute eatom all pe/atom +compute energy all reduce sum c_eatom + +compute satom all stress/atom NULL +compute str all reduce sum c_satom[1] c_satom[2] c_satom[3] +variable press equal (c_str[1]+c_str[2]+c_str[3])/(3*vol) + +thermo_style custom step temp epair c_energy etotal press v_press +thermo 10 +thermo_modify norm yes + +# Set up NVE run + +timestep 0.5e-3 +neighbor 1.0 bin +neigh_modify once no every 1 delay 0 check yes + +# Run MD + +velocity all create 300.0 4928459 loop geom +fix 1 all nve +run ${nsteps} +run 100 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 5.8 + ghost atom cutoff = 5.8 + binsize = 2.9, bins = 5 5 5 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair zbl, perpetual, half/full from (2) + attributes: half, newton on + pair build: halffull/newton + stencil: none + bin: none + (2) pair mliap, perpetual + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 18.15 | 18.15 | 18.15 Mbytes +Step Temp E_pair c_energy TotEng Press v_press + 0 300 -11.85157 -11.85157 -11.813095 2717.1661 -2717.1661 + 10 296.01467 -11.851059 -11.851059 -11.813095 2697.4796 -2697.4796 + 20 284.53666 -11.849587 -11.849587 -11.813095 2289.1527 -2289.1527 + 30 266.51577 -11.847275 -11.847275 -11.813095 1851.7131 -1851.7131 + 40 243.05007 -11.844266 -11.844266 -11.813095 1570.684 -1570.684 + 50 215.51032 -11.840734 -11.840734 -11.813094 1468.1899 -1468.1899 + 60 185.48331 -11.836883 -11.836883 -11.813094 1524.8757 -1524.8757 + 70 154.6736 -11.832931 -11.832931 -11.813094 1698.3351 -1698.3351 + 80 124.79303 -11.829099 -11.829099 -11.813094 1947.0715 -1947.0715 + 90 97.448054 -11.825592 -11.825592 -11.813094 2231.9563 -2231.9563 + 100 74.035418 -11.822589 -11.822589 -11.813094 2515.8526 -2515.8526 +Loop time of 1.46158 on 1 procs for 100 steps with 128 atoms + +Performance: 2.956 ns/day, 8.120 hours/ns, 68.419 timesteps/s +99.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 | 1.4607 | 1.4607 | 1.4607 | 0.0 | 99.94 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.00028086 | 0.00028086 | 0.00028086 | 0.0 | 0.02 +Output | 0.00035334 | 0.00035334 | 0.00035334 | 0.0 | 0.02 +Modify | 0.00011992 | 0.00011992 | 0.00011992 | 0.0 | 0.01 +Other | | 0.0001502 | | | 0.01 + +Nlocal: 128.000 ave 128 max 128 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 727.000 ave 727 max 727 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 3712.00 ave 3712 max 3712 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +FullNghs: 7424.00 ave 7424 max 7424 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 7424 +Ave neighs/atom = 58.000000 +Neighbor list builds = 0 +Dangerous builds = 0 + +Total wall time: 0:00:01 diff --git a/examples/mliap/log.14Jun21.mliap.nn.Ta06A.g++.4 b/examples/mliap/log.14Jun21.mliap.nn.Ta06A.g++.4 new file mode 100644 index 0000000000..eb03f14da5 --- /dev/null +++ b/examples/mliap/log.14Jun21.mliap.nn.Ta06A.g++.4 @@ -0,0 +1,156 @@ +LAMMPS (27 May 2021) +# Demonstrate MLIAP interface to linear SNAP potential + +# Initialize simulation + +variable nsteps index 100 +variable nrep equal 4 +variable a equal 3.316 +units metal + +# generate the box and atom positions using a BCC lattice + +variable nx equal ${nrep} +variable nx equal 4 +variable ny equal ${nrep} +variable ny equal 4 +variable nz equal ${nrep} +variable nz equal 4 + +boundary p p p + +lattice bcc $a +lattice bcc 3.316 +Lattice spacing in x,y,z = 3.3160000 3.3160000 3.3160000 +region box block 0 ${nx} 0 ${ny} 0 ${nz} +region box block 0 4 0 ${ny} 0 ${nz} +region box block 0 4 0 4 0 ${nz} +region box block 0 4 0 4 0 4 +create_box 1 box +Created orthogonal box = (0.0000000 0.0000000 0.0000000) to (13.264000 13.264000 13.264000) + 1 by 2 by 2 MPI processor grid +create_atoms 1 box +Created 128 atoms + create_atoms CPU = 0.001 seconds + +mass 1 180.88 + +# choose potential + +include Ta06A.nn.mliap +# DATE: 2014-09-05 UNITS: metal CONTRIBUTOR: Aidan Thompson athomps@sandia.gov CITATION: Thompson, Swiler, Trott, Foiles and Tucker, arxiv.org, 1409.3880 (2014) + +# Definition of SNAP potential Ta_Cand06A +# Assumes 1 LAMMPS atom type + +variable zblcutinner equal 4 +variable zblcutouter equal 4.8 +variable zblz equal 73 + +# Specify hybrid with SNAP, ZBL + +pair_style hybrid/overlay zbl ${zblcutinner} ${zblcutouter} mliap model nn Ta06A.nn.mliap.model descriptor sna Ta06A.mliap.descriptor +pair_style hybrid/overlay zbl 4 ${zblcutouter} mliap model nn Ta06A.nn.mliap.model descriptor sna Ta06A.mliap.descriptor +pair_style hybrid/overlay zbl 4 4.8 mliap model nn Ta06A.nn.mliap.model descriptor sna Ta06A.mliap.descriptor +Reading potential file Ta06A.nn.mliap.model with DATE: 2021-03-03 +Reading potential file Ta06A.mliap.descriptor with DATE: 2014-09-05 +SNAP keyword rcutfac 4.67637 +SNAP keyword twojmax 6 +SNAP keyword nelems 1 +SNAP keyword elems Ta +SNAP keyword radelems 0.5 +SNAP keyword welems 1 +SNAP keyword rfac0 0.99363 +SNAP keyword rmin0 0 +SNAP keyword bzeroflag 0 +pair_coeff 1 1 zbl ${zblz} ${zblz} +pair_coeff 1 1 zbl 73 ${zblz} +pair_coeff 1 1 zbl 73 73 +pair_coeff * * mliap Ta + + +# Setup output + +compute eatom all pe/atom +compute energy all reduce sum c_eatom + +compute satom all stress/atom NULL +compute str all reduce sum c_satom[1] c_satom[2] c_satom[3] +variable press equal (c_str[1]+c_str[2]+c_str[3])/(3*vol) + +thermo_style custom step temp epair c_energy etotal press v_press +thermo 10 +thermo_modify norm yes + +# Set up NVE run + +timestep 0.5e-3 +neighbor 1.0 bin +neigh_modify once no every 1 delay 0 check yes + +# Run MD + +velocity all create 300.0 4928459 loop geom +fix 1 all nve +run ${nsteps} +run 100 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 5.8 + ghost atom cutoff = 5.8 + binsize = 2.9, bins = 5 5 5 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair zbl, perpetual, half/full from (2) + attributes: half, newton on + pair build: halffull/newton + stencil: none + bin: none + (2) pair mliap, perpetual + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 18.06 | 18.06 | 18.06 Mbytes +Step Temp E_pair c_energy TotEng Press v_press + 0 300 -11.85157 -11.85157 -11.813095 2717.1661 -2717.1661 + 10 296.01467 -11.851059 -11.851059 -11.813095 2697.4796 -2697.4796 + 20 284.53666 -11.849587 -11.849587 -11.813095 2289.1527 -2289.1527 + 30 266.51577 -11.847275 -11.847275 -11.813095 1851.7131 -1851.7131 + 40 243.05007 -11.844266 -11.844266 -11.813095 1570.684 -1570.684 + 50 215.51032 -11.840734 -11.840734 -11.813094 1468.1899 -1468.1899 + 60 185.48331 -11.836883 -11.836883 -11.813094 1524.8757 -1524.8757 + 70 154.6736 -11.832931 -11.832931 -11.813094 1698.3351 -1698.3351 + 80 124.79303 -11.829099 -11.829099 -11.813094 1947.0715 -1947.0715 + 90 97.448054 -11.825592 -11.825592 -11.813094 2231.9563 -2231.9563 + 100 74.035418 -11.822589 -11.822589 -11.813094 2515.8526 -2515.8526 +Loop time of 0.466162 on 4 procs for 100 steps with 128 atoms + +Performance: 9.267 ns/day, 2.590 hours/ns, 214.518 timesteps/s +99.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 | 0.36478 | 0.41101 | 0.45575 | 6.9 | 88.17 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.0095217 | 0.054209 | 0.10046 | 19.0 | 11.63 +Output | 0.00042248 | 0.00045168 | 0.00051188 | 0.0 | 0.10 +Modify | 5.4359e-05 | 6.0737e-05 | 6.5088e-05 | 0.0 | 0.01 +Other | | 0.0004352 | | | 0.09 + +Nlocal: 32.0000 ave 32 max 32 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Nghost: 431.000 ave 431 max 431 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Neighs: 928.000 ave 928 max 928 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +FullNghs: 1856.00 ave 1856 max 1856 min +Histogram: 4 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 7424 +Ave neighs/atom = 58.000000 +Neighbor list builds = 0 +Dangerous builds = 0 + +Total wall time: 0:00:00 diff --git a/examples/mliap/log.14Jun21.mliap.so3.Ni_Mo.g++.1 b/examples/mliap/log.14Jun21.mliap.so3.Ni_Mo.g++.1 new file mode 100644 index 0000000000..057732ec8c --- /dev/null +++ b/examples/mliap/log.14Jun21.mliap.so3.Ni_Mo.g++.1 @@ -0,0 +1,88 @@ +LAMMPS (27 May 2021) +# ---------- Initialize Simulation --------------------- +clear +units metal +dimension 3 +boundary p p p +atom_style atomic +read_data Ni_Mo.data +Reading data file ... + orthogonal box = (0.0000000 0.0000000 0.0000000) to (5.7209005 5.7209005 3.5556620) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 10 atoms + read_data CPU = 0.000 seconds + +#change_box all x scale 0.9 y scale 0.9 z scale 0.9 + +pair_style mliap model linear Ni_Mo.mliap.model descriptor so3 Ni_Mo.mliap.descriptor +Reading potential file Ni_Mo.mliap.descriptor with DATE: 2014-09-05 +SO3 keyword rcutfac 4.1 +SO3 keyword nmax 3 +SO3 keyword lmax 2 +SO3 keyword alpha 2.0 +SO3 keyword nelems 2 +SO3 keyword elems Mo +SO3 keyword radelems 0.5 +SO3 keyword welems 42 +pair_coeff * * Mo Ni + +variable e equal pe +variable N equal count(all) + +thermo_style custom pe pxx pyy pzz pxy pxz pyz +thermo 1 + +# dump 1 all custom 1 dump.myforce.* id type fx fy fz + +velocity all create 300.0 4928459 loop geom +fix 1 all nve + +run 3 +Neighbor list info ... + update every 1 steps, delay 10 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 6.1 + ghost atom cutoff = 6.1 + binsize = 3.05, bins = 2 2 2 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair mliap, perpetual + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 17.22 | 17.22 | 17.22 Mbytes +PotEng Pxx Pyy Pzz Pxy Pxz Pyz + -60.509577 -38.702887 -342.91582 1831.0743 -819.59439 427.87407 446.40498 + -60.509344 -29.050171 -342.67124 1839.4215 -832.92479 439.72661 448.55829 + -60.509056 -9.4119072 -335.83361 1856.2802 -846.04664 451.4663 450.35456 + -60.508714 20.205972 -322.43019 1881.6 -858.97774 463.10122 451.79916 +Loop time of 0.00634885 on 1 procs for 3 steps with 10 atoms + +Performance: 40.826 ns/day, 0.588 hours/ns, 472.527 timesteps/s +78.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.0063019 | 0.0063019 | 0.0063019 | 0.0 | 99.26 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 7.6294e-06 | 7.6294e-06 | 7.6294e-06 | 0.0 | 0.12 +Output | 3.4094e-05 | 3.4094e-05 | 3.4094e-05 | 0.0 | 0.54 +Modify | 2.1458e-06 | 2.1458e-06 | 2.1458e-06 | 0.0 | 0.03 +Other | | 3.099e-06 | | | 0.05 + +Nlocal: 10.0000 ave 10 max 10 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 423.000 ave 423 max 423 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0.00000 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +FullNghs: 780.000 ave 780 max 780 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 780 +Ave neighs/atom = 78.000000 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/mliap/log.14Jun21.mliap.so3.Ni_Mo.g++.4 b/examples/mliap/log.14Jun21.mliap.so3.Ni_Mo.g++.4 new file mode 100644 index 0000000000..a7da331482 --- /dev/null +++ b/examples/mliap/log.14Jun21.mliap.so3.Ni_Mo.g++.4 @@ -0,0 +1,88 @@ +LAMMPS (27 May 2021) +# ---------- Initialize Simulation --------------------- +clear +units metal +dimension 3 +boundary p p p +atom_style atomic +read_data Ni_Mo.data +Reading data file ... + orthogonal box = (0.0000000 0.0000000 0.0000000) to (5.7209005 5.7209005 3.5556620) + 2 by 2 by 1 MPI processor grid + reading atoms ... + 10 atoms + read_data CPU = 0.000 seconds + +#change_box all x scale 0.9 y scale 0.9 z scale 0.9 + +pair_style mliap model linear Ni_Mo.mliap.model descriptor so3 Ni_Mo.mliap.descriptor +Reading potential file Ni_Mo.mliap.descriptor with DATE: 2014-09-05 +SO3 keyword rcutfac 4.1 +SO3 keyword nmax 3 +SO3 keyword lmax 2 +SO3 keyword alpha 2.0 +SO3 keyword nelems 2 +SO3 keyword elems Mo +SO3 keyword radelems 0.5 +SO3 keyword welems 42 +pair_coeff * * Mo Ni + +variable e equal pe +variable N equal count(all) + +thermo_style custom pe pxx pyy pzz pxy pxz pyz +thermo 1 + +# dump 1 all custom 1 dump.myforce.* id type fx fy fz + +velocity all create 300.0 4928459 loop geom +fix 1 all nve + +run 3 +Neighbor list info ... + update every 1 steps, delay 10 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 6.1 + ghost atom cutoff = 6.1 + binsize = 3.05, bins = 2 2 2 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair mliap, perpetual + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 17.23 | 17.23 | 17.23 Mbytes +PotEng Pxx Pyy Pzz Pxy Pxz Pyz + -60.509577 -38.702887 -342.91582 1831.0743 -819.59439 427.87407 446.40498 + -60.509344 -29.050171 -342.67124 1839.4215 -832.92479 439.72661 448.55829 + -60.509056 -9.4119072 -335.83361 1856.2802 -846.04664 451.4663 450.35456 + -60.508714 20.205972 -322.43019 1881.6 -858.97774 463.10122 451.79916 +Loop time of 0.00191921 on 4 procs for 3 steps with 10 atoms + +Performance: 135.056 ns/day, 0.178 hours/ns, 1563.143 timesteps/s +100.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 | 0.0012183 | 0.0015162 | 0.0018141 | 0.8 | 79.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 5.3883e-05 | 0.00035822 | 0.00065947 | 0.0 | 18.67 +Output | 3.4094e-05 | 3.8326e-05 | 4.6492e-05 | 0.0 | 2.00 +Modify | 9.5367e-07 | 1.1325e-06 | 1.4305e-06 | 0.0 | 0.06 +Other | | 5.305e-06 | | | 0.28 + +Nlocal: 2.50000 ave 3 max 2 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Nghost: 303.500 ave 304 max 303 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Neighs: 0.00000 ave 0 max 0 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +FullNghs: 195.000 ave 234 max 156 min +Histogram: 2 0 0 0 0 0 0 0 0 2 + +Total # of neighbors = 780 +Ave neighs/atom = 78.000000 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/mliap/log.14Jun21.mliap.so3.nn.Si.g++.1 b/examples/mliap/log.14Jun21.mliap.so3.nn.Si.g++.1 new file mode 100644 index 0000000000..0b67712e7e --- /dev/null +++ b/examples/mliap/log.14Jun21.mliap.so3.nn.Si.g++.1 @@ -0,0 +1,124 @@ +LAMMPS (27 May 2021) +# Run NPT MD simulation for Si at 500 K. +variable nsteps index 100 #0 + +# NOTE: These are not intended to represent real materials + +units metal + +atom_style atomic +atom_modify map array +boundary p p p +atom_modify sort 0 0.0 + +#read_data Si.data +lattice diamond 5.43 +Lattice spacing in x,y,z = 5.4300000 5.4300000 5.4300000 +region box block 0 2 0 2 0 2 +create_box 1 box +Created orthogonal box = (0.0000000 0.0000000 0.0000000) to (10.860000 10.860000 10.860000) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 64 atoms + create_atoms CPU = 0.000 seconds +mass 1 29.0 + +# temperature +variable t equal 500. + + +# Potential +#pair_style mliap model nn Si-snap/NN_weights.txt descriptor sna Si-snap/DescriptorParam.txt +pair_style mliap model nn Si.nn.mliap.model descriptor so3 Si.nn.mliap.descriptor +SO3 keyword rcutfac 5.0 +SO3 keyword nmax 3 +SO3 keyword lmax 4 +SO3 keyword alpha 2.0 +SO3 keyword nelems 1 +SO3 keyword elems Si +SO3 keyword radelems 0.5 +SO3 keyword welems 14 +pair_coeff * * Si Si + +# Set-up output + +compute eatom all pe/atom +compute energy all reduce sum c_eatom + +compute satom all stress/atom NULL +compute str all reduce sum c_satom[1] c_satom[2] c_satom[3] +variable press equal (c_str[1]+c_str[2]+c_str[3])/(3*vol) + +thermo_style custom step temp epair c_energy etotal press v_press +thermo 10 +thermo_modify norm yes + +# Set up NVE run + +timestep 0.5e-3 +neighbor 1.0 bin +neigh_modify once no every 1 delay 0 check yes + +# Run MD + +velocity all create $t 5287287 loop geom +velocity all create 500 5287287 loop geom +fix 1 all npt temp ${t} ${t} 0.2 iso 0.0 0.0 2 +fix 1 all npt temp 500 ${t} 0.2 iso 0.0 0.0 2 +fix 1 all npt temp 500 500 0.2 iso 0.0 0.0 2 +run ${nsteps} +run 100 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 6 + ghost atom cutoff = 6 + binsize = 3, bins = 4 4 4 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair mliap, perpetual + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 298.3 | 298.3 | 298.3 Mbytes +Step Temp E_pair c_energy TotEng Press v_press + 0 500 -3.8376374 -3.8376374 -3.7740172 -7295.2456 7295.2456 + 10 489.81 -3.8363423 -3.8363423 -3.7740187 -6964.5624 6964.5624 + 20 460.24523 -3.8325828 -3.8325828 -3.774021 -6014.7165 6014.7165 + 30 414.4367 -3.826752 -3.826752 -3.7740189 -4572.0641 4572.0641 + 40 358.34511 -3.8196022 -3.8196022 -3.7740062 -2849.9177 2849.9177 + 50 300.80447 -3.8122536 -3.8122536 -3.7739791 -1128.7008 1128.7008 + 60 251.6276 -3.8059543 -3.8059543 -3.7739371 306.20639 -306.20639 + 70 218.02888 -3.8016236 -3.8016236 -3.7738815 1253.4391 -1253.4391 + 80 201.70095 -3.7994767 -3.7994767 -3.7738122 1661.6675 -1661.6675 + 90 198.91416 -3.7990366 -3.7990366 -3.7737266 1628.78 -1628.78 + 100 203.36197 -3.799497 -3.799497 -3.7736212 1338.0458 -1338.0458 +Loop time of 3.39264 on 1 procs for 100 steps with 64 atoms + +Performance: 1.273 ns/day, 18.848 hours/ns, 29.476 timesteps/s +99.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 | 3.391 | 3.391 | 3.391 | 0.0 | 99.95 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.00029302 | 0.00029302 | 0.00029302 | 0.0 | 0.01 +Output | 0.00039387 | 0.00039387 | 0.00039387 | 0.0 | 0.01 +Modify | 0.00074792 | 0.00074792 | 0.00074792 | 0.0 | 0.02 +Other | | 0.0002153 | | | 0.01 + +Nlocal: 64.0000 ave 64 max 64 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 557.000 ave 557 max 557 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0.00000 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +FullNghs: 2944.00 ave 2944 max 2944 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 2944 +Ave neighs/atom = 46.000000 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:03 diff --git a/examples/mliap/log.14Jun21.mliap.so3.nn.Si.g++.4 b/examples/mliap/log.14Jun21.mliap.so3.nn.Si.g++.4 new file mode 100644 index 0000000000..7cde39a04e --- /dev/null +++ b/examples/mliap/log.14Jun21.mliap.so3.nn.Si.g++.4 @@ -0,0 +1,124 @@ +LAMMPS (27 May 2021) +# Run NPT MD simulation for Si at 500 K. +variable nsteps index 100 #0 + +# NOTE: These are not intended to represent real materials + +units metal + +atom_style atomic +atom_modify map array +boundary p p p +atom_modify sort 0 0.0 + +#read_data Si.data +lattice diamond 5.43 +Lattice spacing in x,y,z = 5.4300000 5.4300000 5.4300000 +region box block 0 2 0 2 0 2 +create_box 1 box +Created orthogonal box = (0.0000000 0.0000000 0.0000000) to (10.860000 10.860000 10.860000) + 1 by 2 by 2 MPI processor grid +create_atoms 1 box +Created 64 atoms + create_atoms CPU = 0.000 seconds +mass 1 29.0 + +# temperature +variable t equal 500. + + +# Potential +#pair_style mliap model nn Si-snap/NN_weights.txt descriptor sna Si-snap/DescriptorParam.txt +pair_style mliap model nn Si.nn.mliap.model descriptor so3 Si.nn.mliap.descriptor +SO3 keyword rcutfac 5.0 +SO3 keyword nmax 3 +SO3 keyword lmax 4 +SO3 keyword alpha 2.0 +SO3 keyword nelems 1 +SO3 keyword elems Si +SO3 keyword radelems 0.5 +SO3 keyword welems 14 +pair_coeff * * Si Si + +# Set-up output + +compute eatom all pe/atom +compute energy all reduce sum c_eatom + +compute satom all stress/atom NULL +compute str all reduce sum c_satom[1] c_satom[2] c_satom[3] +variable press equal (c_str[1]+c_str[2]+c_str[3])/(3*vol) + +thermo_style custom step temp epair c_energy etotal press v_press +thermo 10 +thermo_modify norm yes + +# Set up NVE run + +timestep 0.5e-3 +neighbor 1.0 bin +neigh_modify once no every 1 delay 0 check yes + +# Run MD + +velocity all create $t 5287287 loop geom +velocity all create 500 5287287 loop geom +fix 1 all npt temp ${t} ${t} 0.2 iso 0.0 0.0 2 +fix 1 all npt temp 500 ${t} 0.2 iso 0.0 0.0 2 +fix 1 all npt temp 500 500 0.2 iso 0.0 0.0 2 +run ${nsteps} +run 100 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 6 + ghost atom cutoff = 6 + binsize = 3, bins = 4 4 4 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair mliap, perpetual + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 298.2 | 298.2 | 298.2 Mbytes +Step Temp E_pair c_energy TotEng Press v_press + 0 500 -3.8376374 -3.8376374 -3.7740172 -7295.2456 7295.2456 + 10 489.81 -3.8363423 -3.8363423 -3.7740187 -6964.5624 6964.5624 + 20 460.24523 -3.8325828 -3.8325828 -3.774021 -6014.7165 6014.7165 + 30 414.4367 -3.826752 -3.826752 -3.7740189 -4572.0641 4572.0641 + 40 358.34511 -3.8196022 -3.8196022 -3.7740062 -2849.9177 2849.9177 + 50 300.80447 -3.8122536 -3.8122536 -3.7739791 -1128.7008 1128.7008 + 60 251.6276 -3.8059543 -3.8059543 -3.7739371 306.20639 -306.20639 + 70 218.02888 -3.8016236 -3.8016236 -3.7738815 1253.4391 -1253.4391 + 80 201.70095 -3.7994767 -3.7994767 -3.7738122 1661.6675 -1661.6675 + 90 198.91416 -3.7990366 -3.7990366 -3.7737266 1628.78 -1628.78 + 100 203.36197 -3.799497 -3.799497 -3.7736212 1338.0458 -1338.0458 +Loop time of 1.06231 on 4 procs for 100 steps with 64 atoms + +Performance: 4.067 ns/day, 5.902 hours/ns, 94.135 timesteps/s +95.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.97395 | 1.0072 | 1.048 | 2.7 | 94.81 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.012069 | 0.052803 | 0.086037 | 12.0 | 4.97 +Output | 0.00052595 | 0.0005523 | 0.00062776 | 0.0 | 0.05 +Modify | 0.0014014 | 0.001442 | 0.0014772 | 0.1 | 0.14 +Other | | 0.0003045 | | | 0.03 + +Nlocal: 16.0000 ave 16 max 16 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Nghost: 349.000 ave 349 max 349 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Neighs: 0.00000 ave 0 max 0 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +FullNghs: 736.000 ave 736 max 736 min +Histogram: 4 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 2944 +Ave neighs/atom = 46.000000 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:01 From ec0f47642ac3db5f6a5d4784fe3c055cc128487a Mon Sep 17 00:00:00 2001 From: macstein Date: Mon, 14 Jun 2021 11:44:05 -0700 Subject: [PATCH 224/726] delete old log files --- examples/mliap/log.03Mar21.mliap.nn.Cu.g++.1 | 134 --------------- examples/mliap/log.03Mar21.mliap.nn.Cu.g++.4 | 134 --------------- .../mliap/log.03Mar21.mliap.nn.Ta06A.g++.1 | 157 ------------------ .../mliap/log.03Mar21.mliap.nn.Ta06A.g++.4 | 157 ------------------ .../mliap/log.09Jun21.mliap.so3.Ni_Mo.g++.1 | 98 ----------- .../mliap/log.09Jun21.mliap.so3.Ni_Mo.g++.4 | 98 ----------- .../mliap/log.09Jun21.mliap.so3.nn.Si.g++.1 | 125 -------------- .../mliap/log.09Jun21.mliap.so3.nn.Si.g++.4 | 125 -------------- 8 files changed, 1028 deletions(-) delete mode 100644 examples/mliap/log.03Mar21.mliap.nn.Cu.g++.1 delete mode 100644 examples/mliap/log.03Mar21.mliap.nn.Cu.g++.4 delete mode 100644 examples/mliap/log.03Mar21.mliap.nn.Ta06A.g++.1 delete mode 100644 examples/mliap/log.03Mar21.mliap.nn.Ta06A.g++.4 delete mode 100644 examples/mliap/log.09Jun21.mliap.so3.Ni_Mo.g++.1 delete mode 100644 examples/mliap/log.09Jun21.mliap.so3.Ni_Mo.g++.4 delete mode 100644 examples/mliap/log.09Jun21.mliap.so3.nn.Si.g++.1 delete mode 100644 examples/mliap/log.09Jun21.mliap.so3.nn.Si.g++.4 diff --git a/examples/mliap/log.03Mar21.mliap.nn.Cu.g++.1 b/examples/mliap/log.03Mar21.mliap.nn.Cu.g++.1 deleted file mode 100644 index 151972e99a..0000000000 --- a/examples/mliap/log.03Mar21.mliap.nn.Cu.g++.1 +++ /dev/null @@ -1,134 +0,0 @@ -LAMMPS (10 Feb 2021) - using 1 OpenMP thread(s) per MPI task -# Demonstrate MLIAP interface to SNAP nn Cu potential - -# Initialize simulation - -variable nsteps index 100 -variable nrep equal 4 -variable a equal 3.621262 -units metal - -# generate the box and atom positions using a FCC lattice - -variable nx equal ${nrep} -variable nx equal 4 -variable ny equal ${nrep} -variable ny equal 4 -variable nz equal ${nrep} -variable nz equal 4 - -boundary p p p - -lattice fcc $a -lattice fcc 3.621262 -Lattice spacing in x,y,z = 3.6212620 3.6212620 3.6212620 -region box block 0 ${nx} 0 ${ny} 0 ${nz} -region box block 0 4 0 ${ny} 0 ${nz} -region box block 0 4 0 4 0 ${nz} -region box block 0 4 0 4 0 4 -create_box 1 box -Created orthogonal box = (0.0000000 0.0000000 0.0000000) to (14.485048 14.485048 14.485048) - 1 by 1 by 1 MPI processor grid -create_atoms 1 box -Created 256 atoms - create_atoms CPU = 0.000 seconds - -mass 1 63.546 - -# choose potential - -pair_style mliap model nn Cu.nn.mliap.model descriptor sna Cu.snap.mliap.descriptor -Reading potential file Cu.nn.mliap.model with DATE: 2021-03-03 -Reading potential file Cu.snap.mliap.descriptor with DATE: 2021-03-03 -SNAP keyword rcutfac 5.0 -SNAP keyword twojmax 6 -SNAP keyword nelems 1 -SNAP keyword elems Cu -SNAP keyword radelems 0.5 -SNAP keyword welems 1.0 -SNAP keyword rfac0 0.99363 -SNAP keyword rmin0 0 -SNAP keyword bzeroflag 0 -SNAP keyword switchflag 1 -pair_coeff * * Cu - -# Setup output - -compute eatom all pe/atom -compute energy all reduce sum c_eatom - -compute satom all stress/atom NULL -compute str all reduce sum c_satom[1] c_satom[2] c_satom[3] -variable press equal (c_str[1]+c_str[2]+c_str[3])/(3*vol) - -thermo_style custom step temp epair c_energy etotal press v_press -thermo 10 -thermo_modify norm yes - -# Set up NVE run - -timestep 0.5e-3 -neighbor 1.0 bin -neigh_modify once no every 1 delay 0 check yes - -# Run MD - -velocity all create 300.0 4928459 loop geom -fix 1 all nve -run ${nsteps} -run 100 -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 6 - ghost atom cutoff = 6 - binsize = 3, bins = 5 5 5 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair mliap, perpetual - attributes: full, newton on - pair build: full/bin/atomonly - stencil: full/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 31.17 | 31.17 | 31.17 Mbytes -Step Temp E_pair c_energy TotEng Press v_press - 0 300 -4.0935581 -4.0935581 -4.0549315 -2916.7505 2916.7505 - 10 294.19698 -4.0927997 -4.0927997 -4.0549203 -2653.7504 2653.7504 - 20 277.15991 -4.0905816 -4.0905816 -4.0548958 -1875.7718 1875.7718 - 30 250.30462 -4.0870777 -4.0870777 -4.0548496 -618.45378 618.45378 - 40 215.94455 -4.0825861 -4.0825861 -4.0547821 1014.6151 -1014.6151 - 50 177.29307 -4.0775299 -4.0775299 -4.0547025 2846.7675 -2846.7675 - 60 138.26899 -4.072429 -4.072429 -4.0546261 4698.9654 -4698.9654 - 70 103.04321 -4.0678341 -4.0678341 -4.0545667 6401.8077 -6401.8077 - 80 75.426905 -4.0642423 -4.0642423 -4.0545307 7766.2217 -7766.2217 - 90 58.150738 -4.0620015 -4.0620015 -4.0545143 8668.0598 -8668.0598 - 100 52.301012 -4.0612408 -4.0612408 -4.0545067 9049.3141 -9049.3141 -Loop time of 12.7584 on 1 procs for 100 steps with 256 atoms - -Performance: 0.339 ns/day, 70.880 hours/ns, 7.838 timesteps/s -100.0% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 12.755 | 12.755 | 12.755 | 0.0 | 99.97 -Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.0014069 | 0.0014069 | 0.0014069 | 0.0 | 0.01 -Output | 0.00085897 | 0.00085897 | 0.00085897 | 0.0 | 0.01 -Modify | 0.00075486 | 0.00075486 | 0.00075486 | 0.0 | 0.01 -Other | | 0.0003242 | | | 0.00 - -Nlocal: 256.000 ave 256 max 256 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 1431.00 ave 1431 max 1431 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 0.00000 ave 0 max 0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -FullNghs: 19968.0 ave 19968 max 19968 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 19968 -Ave neighs/atom = 78.000000 -Neighbor list builds = 0 -Dangerous builds = 0 -Total wall time: 0:00:12 diff --git a/examples/mliap/log.03Mar21.mliap.nn.Cu.g++.4 b/examples/mliap/log.03Mar21.mliap.nn.Cu.g++.4 deleted file mode 100644 index a7be3b1415..0000000000 --- a/examples/mliap/log.03Mar21.mliap.nn.Cu.g++.4 +++ /dev/null @@ -1,134 +0,0 @@ -LAMMPS (10 Feb 2021) - using 1 OpenMP thread(s) per MPI task -# Demonstrate MLIAP interface to SNAP nn Cu potential - -# Initialize simulation - -variable nsteps index 100 -variable nrep equal 4 -variable a equal 3.621262 -units metal - -# generate the box and atom positions using a FCC lattice - -variable nx equal ${nrep} -variable nx equal 4 -variable ny equal ${nrep} -variable ny equal 4 -variable nz equal ${nrep} -variable nz equal 4 - -boundary p p p - -lattice fcc $a -lattice fcc 3.621262 -Lattice spacing in x,y,z = 3.6212620 3.6212620 3.6212620 -region box block 0 ${nx} 0 ${ny} 0 ${nz} -region box block 0 4 0 ${ny} 0 ${nz} -region box block 0 4 0 4 0 ${nz} -region box block 0 4 0 4 0 4 -create_box 1 box -Created orthogonal box = (0.0000000 0.0000000 0.0000000) to (14.485048 14.485048 14.485048) - 1 by 2 by 2 MPI processor grid -create_atoms 1 box -Created 256 atoms - create_atoms CPU = 0.000 seconds - -mass 1 63.546 - -# choose potential - -pair_style mliap model nn Cu.nn.mliap.model descriptor sna Cu.snap.mliap.descriptor -Reading potential file Cu.nn.mliap.model with DATE: 2021-03-03 -Reading potential file Cu.snap.mliap.descriptor with DATE: 2021-03-03 -SNAP keyword rcutfac 5.0 -SNAP keyword twojmax 6 -SNAP keyword nelems 1 -SNAP keyword elems Cu -SNAP keyword radelems 0.5 -SNAP keyword welems 1.0 -SNAP keyword rfac0 0.99363 -SNAP keyword rmin0 0 -SNAP keyword bzeroflag 0 -SNAP keyword switchflag 1 -pair_coeff * * Cu - -# Setup output - -compute eatom all pe/atom -compute energy all reduce sum c_eatom - -compute satom all stress/atom NULL -compute str all reduce sum c_satom[1] c_satom[2] c_satom[3] -variable press equal (c_str[1]+c_str[2]+c_str[3])/(3*vol) - -thermo_style custom step temp epair c_energy etotal press v_press -thermo 10 -thermo_modify norm yes - -# Set up NVE run - -timestep 0.5e-3 -neighbor 1.0 bin -neigh_modify once no every 1 delay 0 check yes - -# Run MD - -velocity all create 300.0 4928459 loop geom -fix 1 all nve -run ${nsteps} -run 100 -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 6 - ghost atom cutoff = 6 - binsize = 3, bins = 5 5 5 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair mliap, perpetual - attributes: full, newton on - pair build: full/bin/atomonly - stencil: full/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 30.85 | 30.85 | 30.85 Mbytes -Step Temp E_pair c_energy TotEng Press v_press - 0 300 -4.0935581 -4.0935581 -4.0549315 -2916.7505 2916.7505 - 10 294.19698 -4.0927997 -4.0927997 -4.0549203 -2653.7504 2653.7504 - 20 277.15991 -4.0905816 -4.0905816 -4.0548958 -1875.7718 1875.7718 - 30 250.30462 -4.0870777 -4.0870777 -4.0548496 -618.45378 618.45378 - 40 215.94455 -4.0825861 -4.0825861 -4.0547821 1014.6151 -1014.6151 - 50 177.29307 -4.0775299 -4.0775299 -4.0547025 2846.7675 -2846.7675 - 60 138.26899 -4.072429 -4.072429 -4.0546261 4698.9654 -4698.9654 - 70 103.04321 -4.0678341 -4.0678341 -4.0545667 6401.8077 -6401.8077 - 80 75.426905 -4.0642423 -4.0642423 -4.0545307 7766.2217 -7766.2217 - 90 58.150738 -4.0620015 -4.0620015 -4.0545143 8668.0598 -8668.0598 - 100 52.301012 -4.0612408 -4.0612408 -4.0545067 9049.3141 -9049.3141 -Loop time of 3.22769 on 4 procs for 100 steps with 256 atoms - -Performance: 1.338 ns/day, 17.932 hours/ns, 30.982 timesteps/s -100.0% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 3.19 | 3.2037 | 3.2196 | 0.7 | 99.26 -Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.0061415 | 0.022081 | 0.035855 | 8.9 | 0.68 -Output | 0.00093221 | 0.00094824 | 0.00098861 | 0.0 | 0.03 -Modify | 0.0002173 | 0.00022773 | 0.00024477 | 0.0 | 0.01 -Other | | 0.0006805 | | | 0.02 - -Nlocal: 64.0000 ave 64 max 64 min -Histogram: 4 0 0 0 0 0 0 0 0 0 -Nghost: 843.000 ave 843 max 843 min -Histogram: 4 0 0 0 0 0 0 0 0 0 -Neighs: 0.00000 ave 0 max 0 min -Histogram: 4 0 0 0 0 0 0 0 0 0 -FullNghs: 4992.00 ave 4992 max 4992 min -Histogram: 4 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 19968 -Ave neighs/atom = 78.000000 -Neighbor list builds = 0 -Dangerous builds = 0 -Total wall time: 0:00:03 diff --git a/examples/mliap/log.03Mar21.mliap.nn.Ta06A.g++.1 b/examples/mliap/log.03Mar21.mliap.nn.Ta06A.g++.1 deleted file mode 100644 index e22afa65f0..0000000000 --- a/examples/mliap/log.03Mar21.mliap.nn.Ta06A.g++.1 +++ /dev/null @@ -1,157 +0,0 @@ -LAMMPS (10 Feb 2021) - using 1 OpenMP thread(s) per MPI task -# Demonstrate MLIAP interface to linear SNAP potential - -# Initialize simulation - -variable nsteps index 100 -variable nrep equal 4 -variable a equal 3.316 -units metal - -# generate the box and atom positions using a BCC lattice - -variable nx equal ${nrep} -variable nx equal 4 -variable ny equal ${nrep} -variable ny equal 4 -variable nz equal ${nrep} -variable nz equal 4 - -boundary p p p - -lattice bcc $a -lattice bcc 3.316 -Lattice spacing in x,y,z = 3.3160000 3.3160000 3.3160000 -region box block 0 ${nx} 0 ${ny} 0 ${nz} -region box block 0 4 0 ${ny} 0 ${nz} -region box block 0 4 0 4 0 ${nz} -region box block 0 4 0 4 0 4 -create_box 1 box -Created orthogonal box = (0.0000000 0.0000000 0.0000000) to (13.264000 13.264000 13.264000) - 1 by 1 by 1 MPI processor grid -create_atoms 1 box -Created 128 atoms - create_atoms CPU = 0.000 seconds - -mass 1 180.88 - -# choose potential - -include Ta06A.nn.mliap -# DATE: 2014-09-05 UNITS: metal CONTRIBUTOR: Aidan Thompson athomps@sandia.gov CITATION: Thompson, Swiler, Trott, Foiles and Tucker, arxiv.org, 1409.3880 (2014) - -# Definition of SNAP potential Ta_Cand06A -# Assumes 1 LAMMPS atom type - -variable zblcutinner equal 4 -variable zblcutouter equal 4.8 -variable zblz equal 73 - -# Specify hybrid with SNAP, ZBL - -pair_style hybrid/overlay zbl ${zblcutinner} ${zblcutouter} mliap model nn Ta06A.nn.mliap.model descriptor sna Ta06A.mliap.descriptor -pair_style hybrid/overlay zbl 4 ${zblcutouter} mliap model nn Ta06A.nn.mliap.model descriptor sna Ta06A.mliap.descriptor -pair_style hybrid/overlay zbl 4 4.8 mliap model nn Ta06A.nn.mliap.model descriptor sna Ta06A.mliap.descriptor -Reading potential file Ta06A.nn.mliap.model with DATE: 2021-03-03 -Reading potential file Ta06A.mliap.descriptor with DATE: 2014-09-05 -SNAP keyword rcutfac 4.67637 -SNAP keyword twojmax 6 -SNAP keyword nelems 1 -SNAP keyword elems Ta -SNAP keyword radelems 0.5 -SNAP keyword welems 1 -SNAP keyword rfac0 0.99363 -SNAP keyword rmin0 0 -SNAP keyword bzeroflag 0 -pair_coeff 1 1 zbl ${zblz} ${zblz} -pair_coeff 1 1 zbl 73 ${zblz} -pair_coeff 1 1 zbl 73 73 -pair_coeff * * mliap Ta - - -# Setup output - -compute eatom all pe/atom -compute energy all reduce sum c_eatom - -compute satom all stress/atom NULL -compute str all reduce sum c_satom[1] c_satom[2] c_satom[3] -variable press equal (c_str[1]+c_str[2]+c_str[3])/(3*vol) - -thermo_style custom step temp epair c_energy etotal press v_press -thermo 10 -thermo_modify norm yes - -# Set up NVE run - -timestep 0.5e-3 -neighbor 1.0 bin -neigh_modify once no every 1 delay 0 check yes - -# Run MD - -velocity all create 300.0 4928459 loop geom -fix 1 all nve -run ${nsteps} -run 100 -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 5.8 - ghost atom cutoff = 5.8 - binsize = 2.9, bins = 5 5 5 - 2 neighbor lists, perpetual/occasional/extra = 2 0 0 - (1) pair zbl, perpetual, half/full from (2) - attributes: half, newton on - pair build: halffull/newton - stencil: none - bin: none - (2) pair mliap, perpetual - attributes: full, newton on - pair build: full/bin/atomonly - stencil: full/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 18.15 | 18.15 | 18.15 Mbytes -Step Temp E_pair c_energy TotEng Press v_press - 0 300 -11.85157 -11.85157 -11.813095 2717.1661 -2717.1661 - 10 296.01467 -11.851059 -11.851059 -11.813095 2697.4796 -2697.4796 - 20 284.53666 -11.849587 -11.849587 -11.813095 2289.1527 -2289.1527 - 30 266.51577 -11.847275 -11.847275 -11.813095 1851.7131 -1851.7131 - 40 243.05007 -11.844266 -11.844266 -11.813095 1570.684 -1570.684 - 50 215.51032 -11.840734 -11.840734 -11.813094 1468.1899 -1468.1899 - 60 185.48331 -11.836883 -11.836883 -11.813094 1524.8757 -1524.8757 - 70 154.6736 -11.832931 -11.832931 -11.813094 1698.3351 -1698.3351 - 80 124.79303 -11.829099 -11.829099 -11.813094 1947.0715 -1947.0715 - 90 97.448054 -11.825592 -11.825592 -11.813094 2231.9563 -2231.9563 - 100 74.035418 -11.822589 -11.822589 -11.813094 2515.8526 -2515.8526 -Loop time of 3.05207 on 1 procs for 100 steps with 128 atoms - -Performance: 1.415 ns/day, 16.956 hours/ns, 32.765 timesteps/s -100.0% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 3.0503 | 3.0503 | 3.0503 | 0.0 | 99.94 -Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.00072395 | 0.00072395 | 0.00072395 | 0.0 | 0.02 -Output | 0.00050893 | 0.00050893 | 0.00050893 | 0.0 | 0.02 -Modify | 0.00037375 | 0.00037375 | 0.00037375 | 0.0 | 0.01 -Other | | 0.0001878 | | | 0.01 - -Nlocal: 128.000 ave 128 max 128 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 727.000 ave 727 max 727 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 3712.00 ave 3712 max 3712 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -FullNghs: 7424.00 ave 7424 max 7424 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 7424 -Ave neighs/atom = 58.000000 -Neighbor list builds = 0 -Dangerous builds = 0 - -Total wall time: 0:00:03 diff --git a/examples/mliap/log.03Mar21.mliap.nn.Ta06A.g++.4 b/examples/mliap/log.03Mar21.mliap.nn.Ta06A.g++.4 deleted file mode 100644 index b0fdd57ce2..0000000000 --- a/examples/mliap/log.03Mar21.mliap.nn.Ta06A.g++.4 +++ /dev/null @@ -1,157 +0,0 @@ -LAMMPS (10 Feb 2021) - using 1 OpenMP thread(s) per MPI task -# Demonstrate MLIAP interface to linear SNAP potential - -# Initialize simulation - -variable nsteps index 100 -variable nrep equal 4 -variable a equal 3.316 -units metal - -# generate the box and atom positions using a BCC lattice - -variable nx equal ${nrep} -variable nx equal 4 -variable ny equal ${nrep} -variable ny equal 4 -variable nz equal ${nrep} -variable nz equal 4 - -boundary p p p - -lattice bcc $a -lattice bcc 3.316 -Lattice spacing in x,y,z = 3.3160000 3.3160000 3.3160000 -region box block 0 ${nx} 0 ${ny} 0 ${nz} -region box block 0 4 0 ${ny} 0 ${nz} -region box block 0 4 0 4 0 ${nz} -region box block 0 4 0 4 0 4 -create_box 1 box -Created orthogonal box = (0.0000000 0.0000000 0.0000000) to (13.264000 13.264000 13.264000) - 1 by 2 by 2 MPI processor grid -create_atoms 1 box -Created 128 atoms - create_atoms CPU = 0.000 seconds - -mass 1 180.88 - -# choose potential - -include Ta06A.nn.mliap -# DATE: 2014-09-05 UNITS: metal CONTRIBUTOR: Aidan Thompson athomps@sandia.gov CITATION: Thompson, Swiler, Trott, Foiles and Tucker, arxiv.org, 1409.3880 (2014) - -# Definition of SNAP potential Ta_Cand06A -# Assumes 1 LAMMPS atom type - -variable zblcutinner equal 4 -variable zblcutouter equal 4.8 -variable zblz equal 73 - -# Specify hybrid with SNAP, ZBL - -pair_style hybrid/overlay zbl ${zblcutinner} ${zblcutouter} mliap model nn Ta06A.nn.mliap.model descriptor sna Ta06A.mliap.descriptor -pair_style hybrid/overlay zbl 4 ${zblcutouter} mliap model nn Ta06A.nn.mliap.model descriptor sna Ta06A.mliap.descriptor -pair_style hybrid/overlay zbl 4 4.8 mliap model nn Ta06A.nn.mliap.model descriptor sna Ta06A.mliap.descriptor -Reading potential file Ta06A.nn.mliap.model with DATE: 2021-03-03 -Reading potential file Ta06A.mliap.descriptor with DATE: 2014-09-05 -SNAP keyword rcutfac 4.67637 -SNAP keyword twojmax 6 -SNAP keyword nelems 1 -SNAP keyword elems Ta -SNAP keyword radelems 0.5 -SNAP keyword welems 1 -SNAP keyword rfac0 0.99363 -SNAP keyword rmin0 0 -SNAP keyword bzeroflag 0 -pair_coeff 1 1 zbl ${zblz} ${zblz} -pair_coeff 1 1 zbl 73 ${zblz} -pair_coeff 1 1 zbl 73 73 -pair_coeff * * mliap Ta - - -# Setup output - -compute eatom all pe/atom -compute energy all reduce sum c_eatom - -compute satom all stress/atom NULL -compute str all reduce sum c_satom[1] c_satom[2] c_satom[3] -variable press equal (c_str[1]+c_str[2]+c_str[3])/(3*vol) - -thermo_style custom step temp epair c_energy etotal press v_press -thermo 10 -thermo_modify norm yes - -# Set up NVE run - -timestep 0.5e-3 -neighbor 1.0 bin -neigh_modify once no every 1 delay 0 check yes - -# Run MD - -velocity all create 300.0 4928459 loop geom -fix 1 all nve -run ${nsteps} -run 100 -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 5.8 - ghost atom cutoff = 5.8 - binsize = 2.9, bins = 5 5 5 - 2 neighbor lists, perpetual/occasional/extra = 2 0 0 - (1) pair zbl, perpetual, half/full from (2) - attributes: half, newton on - pair build: halffull/newton - stencil: none - bin: none - (2) pair mliap, perpetual - attributes: full, newton on - pair build: full/bin/atomonly - stencil: full/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 18.06 | 18.06 | 18.06 Mbytes -Step Temp E_pair c_energy TotEng Press v_press - 0 300 -11.85157 -11.85157 -11.813095 2717.1661 -2717.1661 - 10 296.01467 -11.851059 -11.851059 -11.813095 2697.4796 -2697.4796 - 20 284.53666 -11.849587 -11.849587 -11.813095 2289.1527 -2289.1527 - 30 266.51577 -11.847275 -11.847275 -11.813095 1851.7131 -1851.7131 - 40 243.05007 -11.844266 -11.844266 -11.813095 1570.684 -1570.684 - 50 215.51032 -11.840734 -11.840734 -11.813094 1468.1899 -1468.1899 - 60 185.48331 -11.836883 -11.836883 -11.813094 1524.8757 -1524.8757 - 70 154.6736 -11.832931 -11.832931 -11.813094 1698.3351 -1698.3351 - 80 124.79303 -11.829099 -11.829099 -11.813094 1947.0715 -1947.0715 - 90 97.448054 -11.825592 -11.825592 -11.813094 2231.9563 -2231.9563 - 100 74.035418 -11.822589 -11.822589 -11.813094 2515.8526 -2515.8526 -Loop time of 0.858301 on 4 procs for 100 steps with 128 atoms - -Performance: 5.033 ns/day, 4.768 hours/ns, 116.509 timesteps/s -100.2% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.75351 | 0.79999 | 0.85429 | 4.2 | 93.21 -Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.0026857 | 0.057019 | 0.10354 | 15.8 | 6.64 -Output | 0.00078796 | 0.00080864 | 0.00085671 | 0.0 | 0.09 -Modify | 0.00011437 | 0.00012275 | 0.00013339 | 0.0 | 0.01 -Other | | 0.0003564 | | | 0.04 - -Nlocal: 32.0000 ave 32 max 32 min -Histogram: 4 0 0 0 0 0 0 0 0 0 -Nghost: 431.000 ave 431 max 431 min -Histogram: 4 0 0 0 0 0 0 0 0 0 -Neighs: 928.000 ave 928 max 928 min -Histogram: 4 0 0 0 0 0 0 0 0 0 -FullNghs: 1856.00 ave 1856 max 1856 min -Histogram: 4 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 7424 -Ave neighs/atom = 58.000000 -Neighbor list builds = 0 -Dangerous builds = 0 - -Total wall time: 0:00:00 diff --git a/examples/mliap/log.09Jun21.mliap.so3.Ni_Mo.g++.1 b/examples/mliap/log.09Jun21.mliap.so3.Ni_Mo.g++.1 deleted file mode 100644 index 5382c3593d..0000000000 --- a/examples/mliap/log.09Jun21.mliap.so3.Ni_Mo.g++.1 +++ /dev/null @@ -1,98 +0,0 @@ -LAMMPS (27 May 2021) - using 1 OpenMP thread(s) per MPI task -# ---------- Initialize Simulation --------------------- -clear - using 1 OpenMP thread(s) per MPI task -units metal -dimension 3 -boundary p p p -atom_style atomic -read_data Ni_Mo.data -Reading data file ... - orthogonal box = (0.0000000 0.0000000 0.0000000) to (5.7209005 5.7209005 3.5556620) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 10 atoms - read_data CPU = 0.000 seconds - -#change_box all x scale 0.9 y scale 0.9 z scale 0.9 - -pair_style mliap model linear Ni_Mo.mliap.model descriptor so3 Ni_Mo.mliap.descriptor -Reading potential file Ni_Mo.mliap.descriptor with DATE: 2014-09-05 -SO3 keyword rcutfac 4.1 -SO3 keyword nmax 3 -SO3 keyword lmax 2 -SO3 keyword alpha 2.0 -SO3 keyword nelems 2 -SO3 keyword elems Mo -SO3 keyword radelems 0.5 -SO3 keyword welems 42 -pair_coeff * * Mo Ni - -variable e equal pe -variable N equal count(all) - -thermo_style custom pe pxx pyy pzz pxy pxz pyz -thermo 1 - -# dump 1 all custom 1 dump.myforce.* id type fx fy fz - -velocity all create 300.0 4928459 loop geom -fix 1 all nve - -run 3 -Neighbor list info ... - update every 1 steps, delay 10 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 6.1 - ghost atom cutoff = 6.1 - binsize = 3.05, bins = 2 2 2 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair mliap, perpetual - attributes: full, newton on - pair build: full/bin/atomonly - stencil: full/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 17.22 | 17.22 | 17.22 Mbytes -PotEng Pxx Pyy Pzz Pxy Pxz Pyz - -60.509577 -38.702887 -342.91582 1831.0743 -819.59439 427.87407 446.40498 - -60.509344 -29.050171 -342.67124 1839.4215 -832.92479 439.72661 448.55829 - -60.509056 -9.4119072 -335.83361 1856.2802 -846.04664 451.4663 450.35456 - -60.508714 20.205972 -322.43019 1881.6 -858.97774 463.10122 451.79916 -Loop time of 0.0093536 on 1 procs for 3 steps with 10 atoms - -Performance: 27.711 ns/day, 0.866 hours/ns, 320.732 timesteps/s -99.4% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0092137 | 0.0092137 | 0.0092137 | 0.0 | 98.50 -Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 1.5188e-05 | 1.5188e-05 | 1.5188e-05 | 0.0 | 0.16 -Output | 0.00010311 | 0.00010311 | 0.00010311 | 0.0 | 1.10 -Modify | 5.4e-06 | 5.4e-06 | 5.4e-06 | 0.0 | 0.06 -Other | | 1.621e-05 | | | 0.17 - -Nlocal: 10.0000 ave 10 max 10 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 423.000 ave 423 max 423 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 0.00000 ave 0 max 0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -FullNghs: 780.000 ave 780 max 780 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 780 -Ave neighs/atom = 78.000000 -Neighbor list builds = 0 -Dangerous builds = 0 -variable emin equal $e -variable emin equal -60.5087142406574 -variable EperAtom equal (${emin}/${N}) -variable EperAtom equal (-60.5087142406574/${N}) -variable EperAtom equal (-60.5087142406574/10) - -print "Total energy (eV/atom) = ${EperAtom} " -Total energy (eV/atom) = -6.05087142406574 -Total wall time: 0:00:00 diff --git a/examples/mliap/log.09Jun21.mliap.so3.Ni_Mo.g++.4 b/examples/mliap/log.09Jun21.mliap.so3.Ni_Mo.g++.4 deleted file mode 100644 index 3dfe8291e3..0000000000 --- a/examples/mliap/log.09Jun21.mliap.so3.Ni_Mo.g++.4 +++ /dev/null @@ -1,98 +0,0 @@ -LAMMPS (27 May 2021) - using 1 OpenMP thread(s) per MPI task -# ---------- Initialize Simulation --------------------- -clear - using 1 OpenMP thread(s) per MPI task -units metal -dimension 3 -boundary p p p -atom_style atomic -read_data Ni_Mo.data -Reading data file ... - orthogonal box = (0.0000000 0.0000000 0.0000000) to (5.7209005 5.7209005 3.5556620) - 2 by 2 by 1 MPI processor grid - reading atoms ... - 10 atoms - read_data CPU = 0.001 seconds - -#change_box all x scale 0.9 y scale 0.9 z scale 0.9 - -pair_style mliap model linear Ni_Mo.mliap.model descriptor so3 Ni_Mo.mliap.descriptor -Reading potential file Ni_Mo.mliap.descriptor with DATE: 2014-09-05 -SO3 keyword rcutfac 4.1 -SO3 keyword nmax 3 -SO3 keyword lmax 2 -SO3 keyword alpha 2.0 -SO3 keyword nelems 2 -SO3 keyword elems Mo -SO3 keyword radelems 0.5 -SO3 keyword welems 42 -pair_coeff * * Mo Ni - -variable e equal pe -variable N equal count(all) - -thermo_style custom pe pxx pyy pzz pxy pxz pyz -thermo 1 - -# dump 1 all custom 1 dump.myforce.* id type fx fy fz - -velocity all create 300.0 4928459 loop geom -fix 1 all nve - -run 3 -Neighbor list info ... - update every 1 steps, delay 10 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 6.1 - ghost atom cutoff = 6.1 - binsize = 3.05, bins = 2 2 2 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair mliap, perpetual - attributes: full, newton on - pair build: full/bin/atomonly - stencil: full/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 17.23 | 17.23 | 17.23 Mbytes -PotEng Pxx Pyy Pzz Pxy Pxz Pyz - -60.509577 -38.702887 -342.91582 1831.0743 -819.59439 427.87407 446.40498 - -60.509344 -29.050171 -342.67124 1839.4215 -832.92479 439.72661 448.55829 - -60.509056 -9.4119072 -335.83361 1856.2802 -846.04664 451.4663 450.35456 - -60.508714 20.205972 -322.43019 1881.6 -858.97774 463.10122 451.79916 -Loop time of 0.00731116 on 4 procs for 3 steps with 10 atoms - -Performance: 35.453 ns/day, 0.677 hours/ns, 410.331 timesteps/s -84.6% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0027137 | 0.0039915 | 0.0065214 | 2.5 | 54.60 -Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.00021023 | 0.002945 | 0.0044067 | 3.0 | 40.28 -Output | 9.7476e-05 | 0.00030125 | 0.00043822 | 0.0 | 4.12 -Modify | 4.574e-06 | 5.1632e-06 | 6.299e-06 | 0.0 | 0.07 -Other | | 6.82e-05 | | | 0.93 - -Nlocal: 2.50000 ave 3 max 2 min -Histogram: 2 0 0 0 0 0 0 0 0 2 -Nghost: 303.500 ave 304 max 303 min -Histogram: 2 0 0 0 0 0 0 0 0 2 -Neighs: 0.00000 ave 0 max 0 min -Histogram: 4 0 0 0 0 0 0 0 0 0 -FullNghs: 195.000 ave 234 max 156 min -Histogram: 2 0 0 0 0 0 0 0 0 2 - -Total # of neighbors = 780 -Ave neighs/atom = 78.000000 -Neighbor list builds = 0 -Dangerous builds = 0 -variable emin equal $e -variable emin equal -60.5087142406574 -variable EperAtom equal (${emin}/${N}) -variable EperAtom equal (-60.5087142406574/${N}) -variable EperAtom equal (-60.5087142406574/10) - -print "Total energy (eV/atom) = ${EperAtom} " -Total energy (eV/atom) = -6.05087142406574 -Total wall time: 0:00:00 diff --git a/examples/mliap/log.09Jun21.mliap.so3.nn.Si.g++.1 b/examples/mliap/log.09Jun21.mliap.so3.nn.Si.g++.1 deleted file mode 100644 index c5903a1de8..0000000000 --- a/examples/mliap/log.09Jun21.mliap.so3.nn.Si.g++.1 +++ /dev/null @@ -1,125 +0,0 @@ -LAMMPS (27 May 2021) - using 1 OpenMP thread(s) per MPI task -# Run NPT MD simulation for Si at 500 K. -variable nsteps index 100 #0 - -# NOTE: These are not intended to represent real materials - -units metal - -atom_style atomic -atom_modify map array -boundary p p p -atom_modify sort 0 0.0 - -#read_data Si.data -lattice diamond 5.43 -Lattice spacing in x,y,z = 5.4300000 5.4300000 5.4300000 -region box block 0 2 0 2 0 2 -create_box 1 box -Created orthogonal box = (0.0000000 0.0000000 0.0000000) to (10.860000 10.860000 10.860000) - 1 by 1 by 1 MPI processor grid -create_atoms 1 box -Created 64 atoms - create_atoms CPU = 0.001 seconds -mass 1 29.0 - -# temperature -variable t equal 500. - - -# Potential -#pair_style mliap model nn Si-snap/NN_weights.txt descriptor sna Si-snap/DescriptorParam.txt -pair_style mliap model nn Si.nn.mliap.model descriptor so3 Si.nn.mliap.descriptor -SO3 keyword rcutfac 5.0 -SO3 keyword nmax 3 -SO3 keyword lmax 4 -SO3 keyword alpha 2.0 -SO3 keyword nelems 1 -SO3 keyword elems Si -SO3 keyword radelems 0.5 -SO3 keyword welems 14 -pair_coeff * * Si Si - -# Set-up output - -compute eatom all pe/atom -compute energy all reduce sum c_eatom - -compute satom all stress/atom NULL -compute str all reduce sum c_satom[1] c_satom[2] c_satom[3] -variable press equal (c_str[1]+c_str[2]+c_str[3])/(3*vol) - -thermo_style custom step temp epair c_energy etotal press v_press -thermo 10 -thermo_modify norm yes - -# Set up NVE run - -timestep 0.5e-3 -neighbor 1.0 bin -neigh_modify once no every 1 delay 0 check yes - -# Run MD - -velocity all create $t 5287287 loop geom -velocity all create 500 5287287 loop geom -fix 1 all npt temp ${t} ${t} 0.2 iso 0.0 0.0 2 -fix 1 all npt temp 500 ${t} 0.2 iso 0.0 0.0 2 -fix 1 all npt temp 500 500 0.2 iso 0.0 0.0 2 -run ${nsteps} -run 100 -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 6 - ghost atom cutoff = 6 - binsize = 3, bins = 4 4 4 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair mliap, perpetual - attributes: full, newton on - pair build: full/bin/atomonly - stencil: full/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 298.3 | 298.3 | 298.3 Mbytes -Step Temp E_pair c_energy TotEng Press v_press - 0 500 -3.8376374 -3.8376374 -3.7740172 -7295.2456 7295.2456 - 10 489.81 -3.8363423 -3.8363423 -3.7740187 -6964.5624 6964.5624 - 20 460.24523 -3.8325828 -3.8325828 -3.774021 -6014.7165 6014.7165 - 30 414.4367 -3.826752 -3.826752 -3.7740189 -4572.0641 4572.0641 - 40 358.34511 -3.8196022 -3.8196022 -3.7740062 -2849.9177 2849.9177 - 50 300.80447 -3.8122536 -3.8122536 -3.7739791 -1128.7008 1128.7008 - 60 251.6276 -3.8059543 -3.8059543 -3.7739371 306.20639 -306.20639 - 70 218.02888 -3.8016236 -3.8016236 -3.7738815 1253.4391 -1253.4391 - 80 201.70095 -3.7994767 -3.7994767 -3.7738122 1661.6675 -1661.6675 - 90 198.91416 -3.7990366 -3.7990366 -3.7737266 1628.78 -1628.78 - 100 203.36197 -3.799497 -3.799497 -3.7736212 1338.0458 -1338.0458 -Loop time of 5.83795 on 1 procs for 100 steps with 64 atoms - -Performance: 0.740 ns/day, 32.433 hours/ns, 17.129 timesteps/s -91.4% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 5.8338 | 5.8338 | 5.8338 | 0.0 | 99.93 -Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.00053236 | 0.00053236 | 0.00053236 | 0.0 | 0.01 -Output | 0.0006904 | 0.0006904 | 0.0006904 | 0.0 | 0.01 -Modify | 0.0025477 | 0.0025477 | 0.0025477 | 0.0 | 0.04 -Other | | 0.0003419 | | | 0.01 - -Nlocal: 64.0000 ave 64 max 64 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 557.000 ave 557 max 557 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 0.00000 ave 0 max 0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -FullNghs: 2944.00 ave 2944 max 2944 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 2944 -Ave neighs/atom = 46.000000 -Neighbor list builds = 0 -Dangerous builds = 0 -Total wall time: 0:00:05 diff --git a/examples/mliap/log.09Jun21.mliap.so3.nn.Si.g++.4 b/examples/mliap/log.09Jun21.mliap.so3.nn.Si.g++.4 deleted file mode 100644 index 1336615287..0000000000 --- a/examples/mliap/log.09Jun21.mliap.so3.nn.Si.g++.4 +++ /dev/null @@ -1,125 +0,0 @@ -LAMMPS (27 May 2021) - using 1 OpenMP thread(s) per MPI task -# Run NPT MD simulation for Si at 500 K. -variable nsteps index 100 #0 - -# NOTE: These are not intended to represent real materials - -units metal - -atom_style atomic -atom_modify map array -boundary p p p -atom_modify sort 0 0.0 - -#read_data Si.data -lattice diamond 5.43 -Lattice spacing in x,y,z = 5.4300000 5.4300000 5.4300000 -region box block 0 2 0 2 0 2 -create_box 1 box -Created orthogonal box = (0.0000000 0.0000000 0.0000000) to (10.860000 10.860000 10.860000) - 1 by 2 by 2 MPI processor grid -create_atoms 1 box -Created 64 atoms - create_atoms CPU = 0.000 seconds -mass 1 29.0 - -# temperature -variable t equal 500. - - -# Potential -#pair_style mliap model nn Si-snap/NN_weights.txt descriptor sna Si-snap/DescriptorParam.txt -pair_style mliap model nn Si.nn.mliap.model descriptor so3 Si.nn.mliap.descriptor -SO3 keyword rcutfac 5.0 -SO3 keyword nmax 3 -SO3 keyword lmax 4 -SO3 keyword alpha 2.0 -SO3 keyword nelems 1 -SO3 keyword elems Si -SO3 keyword radelems 0.5 -SO3 keyword welems 14 -pair_coeff * * Si Si - -# Set-up output - -compute eatom all pe/atom -compute energy all reduce sum c_eatom - -compute satom all stress/atom NULL -compute str all reduce sum c_satom[1] c_satom[2] c_satom[3] -variable press equal (c_str[1]+c_str[2]+c_str[3])/(3*vol) - -thermo_style custom step temp epair c_energy etotal press v_press -thermo 10 -thermo_modify norm yes - -# Set up NVE run - -timestep 0.5e-3 -neighbor 1.0 bin -neigh_modify once no every 1 delay 0 check yes - -# Run MD - -velocity all create $t 5287287 loop geom -velocity all create 500 5287287 loop geom -fix 1 all npt temp ${t} ${t} 0.2 iso 0.0 0.0 2 -fix 1 all npt temp 500 ${t} 0.2 iso 0.0 0.0 2 -fix 1 all npt temp 500 500 0.2 iso 0.0 0.0 2 -run ${nsteps} -run 100 -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 6 - ghost atom cutoff = 6 - binsize = 3, bins = 4 4 4 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair mliap, perpetual - attributes: full, newton on - pair build: full/bin/atomonly - stencil: full/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 298.2 | 298.2 | 298.2 Mbytes -Step Temp E_pair c_energy TotEng Press v_press - 0 500 -3.8376374 -3.8376374 -3.7740172 -7295.2456 7295.2456 - 10 489.81 -3.8363423 -3.8363423 -3.7740187 -6964.5624 6964.5624 - 20 460.24523 -3.8325828 -3.8325828 -3.774021 -6014.7165 6014.7165 - 30 414.4367 -3.826752 -3.826752 -3.7740189 -4572.0641 4572.0641 - 40 358.34511 -3.8196022 -3.8196022 -3.7740062 -2849.9177 2849.9177 - 50 300.80447 -3.8122536 -3.8122536 -3.7739791 -1128.7008 1128.7008 - 60 251.6276 -3.8059543 -3.8059543 -3.7739371 306.20639 -306.20639 - 70 218.02888 -3.8016236 -3.8016236 -3.7738815 1253.4391 -1253.4391 - 80 201.70095 -3.7994767 -3.7994767 -3.7738122 1661.6675 -1661.6675 - 90 198.91416 -3.7990366 -3.7990366 -3.7737266 1628.78 -1628.78 - 100 203.36197 -3.799497 -3.799497 -3.7736212 1338.0458 -1338.0458 -Loop time of 2.61422 on 4 procs for 100 steps with 64 atoms - -Performance: 1.653 ns/day, 14.523 hours/ns, 38.252 timesteps/s -91.1% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 2.4136 | 2.4671 | 2.569 | 3.9 | 94.37 -Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.037437 | 0.13954 | 0.19315 | 16.2 | 5.34 -Output | 0.00088435 | 0.0013739 | 0.0028352 | 2.3 | 0.05 -Modify | 0.004319 | 0.0054199 | 0.0059273 | 0.9 | 0.21 -Other | | 0.0007924 | | | 0.03 - -Nlocal: 16.0000 ave 16 max 16 min -Histogram: 4 0 0 0 0 0 0 0 0 0 -Nghost: 349.000 ave 349 max 349 min -Histogram: 4 0 0 0 0 0 0 0 0 0 -Neighs: 0.00000 ave 0 max 0 min -Histogram: 4 0 0 0 0 0 0 0 0 0 -FullNghs: 736.000 ave 736 max 736 min -Histogram: 4 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 2944 -Ave neighs/atom = 46.000000 -Neighbor list builds = 0 -Dangerous builds = 0 -Total wall time: 0:00:02 From a4a7fc353ca0d5eb7f9ec8b8fb0c0ef75f35201d Mon Sep 17 00:00:00 2001 From: tc387 Date: Mon, 14 Jun 2021 18:55:38 -0500 Subject: [PATCH 225/726] Added variable pH support and fixed Ewald self-energy updating --- src/MC/fix_charge_regulation.cpp | 54 +++++++++++++++++++++++++++----- src/MC/fix_charge_regulation.h | 18 ++++++----- 2 files changed, 57 insertions(+), 15 deletions(-) diff --git a/src/MC/fix_charge_regulation.cpp b/src/MC/fix_charge_regulation.cpp index 309d390ca4..f3fb3467c2 100644 --- a/src/MC/fix_charge_regulation.cpp +++ b/src/MC/fix_charge_regulation.cpp @@ -27,6 +27,7 @@ #include "dihedral.h" #include "domain.h" #include "error.h" +#include "input.h" #include "fix.h" #include "force.h" #include "group.h" @@ -40,6 +41,7 @@ #include "pair.h" #include "random_park.h" #include "update.h" +#include "variable.h" #include #include @@ -50,6 +52,8 @@ using namespace FixConst; using namespace MathConst; using namespace MathSpecial; +enum{CONSTANT,EQUAL}; // parsing input variables + // large energy value used to signal overlap #define MAXENERGYSIGNAL 1.0e100 #define MAXENERGYTEST 1.0e50 @@ -62,7 +66,7 @@ FixChargeRegulation::FixChargeRegulation(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg), ngroups(0), groupstrings(nullptr), ptype_ID(nullptr), random_equal(nullptr), random_unequal(nullptr), - idftemp(nullptr) + idftemp(nullptr), pHstr(nullptr) { // Region restrictions not yet implemented .. @@ -130,6 +134,7 @@ FixChargeRegulation::~FixChargeRegulation() { delete random_equal; delete random_unequal; + delete[] pHstr; delete[] idftemp; if (group) { @@ -150,6 +155,14 @@ void FixChargeRegulation::init() { int ipe = modify->find_compute("thermo_pe"); c_pe = modify->compute[ipe]; + if (pHstr) { + pHvar = input->variable->find(pHstr); + if (pHvar < 0) + error->all(FLERR,"Variable name for fix charge/regulation does not exist"); + if (input->variable->equalstyle(pHvar)) pHstyle = EQUAL; + else error->all(FLERR,"Variable for fix charge/regulation is invalid style"); + + } if (atom->molecule_flag) { int flag = 0; @@ -270,6 +283,9 @@ void FixChargeRegulation::pre_exchange() { } beta = 1.0 / (force->boltz * *target_temperature_tcp); + if (pHstyle == EQUAL) + pH = input->variable->compute_equal(pHvar); + // pre-compute powers c10pH = pow(10.0,-pH); // dissociated ion (H+) activity c10pKa = pow(10.0,-pKa); // acid dissociation constant @@ -378,6 +394,8 @@ void FixChargeRegulation::forward_acid() { factor = nacid_neutral * vlocal_xrd * c10pKa * c10pI_plus / (c10pH * (1 + nacid_charged) * (1 + npart_xrd2)); + if (force->kspace) force->kspace->qsum_qsq(); + if (force->pair->tail_flag) force->pair->reinit(); double energy_after = energy_full(); if (energy_after < MAXENERGYTEST && @@ -444,6 +462,8 @@ void FixChargeRegulation::backward_acid() { factor = (1 + nacid_neutral) * vlocal_xrd * c10pKa * c10pI_plus / (c10pH * nacid_charged * npart_xrd); + if (force->kspace) force->kspace->qsum_qsq(); + if (force->pair->tail_flag) force->pair->reinit(); double energy_after = energy_full(); if (energy_after < MAXENERGYTEST && @@ -467,6 +487,8 @@ void FixChargeRegulation::backward_acid() { atom->q[m2] = 1; atom->mask[m2] = mask_tmp; } + if (force->kspace) force->kspace->qsum_qsq(); + if (force->pair->tail_flag) force->pair->reinit(); } } else { if (m1 >= 0) { @@ -511,6 +533,8 @@ void FixChargeRegulation::forward_base() { (c10pOH * (1 + nbase_charged) * (1 + npart_xrd2)); m2 = insert_particle(anion_type, -1, reaction_distance, pos_all); + if (force->kspace) force->kspace->qsum_qsq(); + if (force->pair->tail_flag) force->pair->reinit(); double energy_after = energy_full(); if (energy_after < MAXENERGYTEST && random_equal->uniform() < factor * exp(beta * (energy_before - energy_after))) { @@ -575,6 +599,8 @@ void FixChargeRegulation::backward_base() { factor = (1 + nbase_neutral) * vlocal_xrd * c10pKb * c10pI_minus / (c10pOH * nbase_charged * npart_xrd); + if (force->kspace) force->kspace->qsum_qsq(); + if (force->pair->tail_flag) force->pair->reinit(); double energy_after = energy_full(); if (energy_after < MAXENERGYTEST && @@ -598,6 +624,8 @@ void FixChargeRegulation::backward_base() { atom->q[m2] = -1; atom->mask[m2] = mask_tmp; } + if (force->kspace) force->kspace->qsum_qsq(); + if (force->pair->tail_flag) force->pair->reinit(); } } else { if (m1 >= 0) { @@ -672,6 +700,8 @@ void FixChargeRegulation::backward_ions() { } factor = volume_rx * volume_rx * c10pI_plus * c10pI_minus / (ncation * nanion); + if (force->kspace) force->kspace->qsum_qsq(); + if (force->pair->tail_flag) force->pair->reinit(); double energy_after = energy_full(); if (energy_after < MAXENERGYTEST && random_equal->uniform() < (1.0 / factor) * exp(beta * (energy_before - energy_after))) { @@ -701,9 +731,6 @@ void FixChargeRegulation::backward_ions() { atom->nlocal--; } } - if (force->kspace) force->kspace->qsum_qsq(); - if (force->pair->tail_flag) force->pair->reinit(); - } else { energy_stored = energy_before; @@ -716,6 +743,8 @@ void FixChargeRegulation::backward_ions() { atom->q[m2] = -1; atom->mask[m2] = mask2_tmp; } + if (force->kspace) force->kspace->qsum_qsq(); + if (force->pair->tail_flag) force->pair->reinit(); } } } @@ -750,6 +779,8 @@ void FixChargeRegulation::forward_ions_multival() { } } + if (force->kspace) force->kspace->qsum_qsq(); + if (force->pair->tail_flag) force->pair->reinit(); double energy_after = energy_full(); if (energy_after < MAXENERGYTEST && random_equal->uniform() < factor * exp(beta * (energy_before - energy_after))) { energy_stored = energy_after; @@ -845,6 +876,8 @@ void FixChargeRegulation::backward_ions_multival() { // attempt deletion + if (force->kspace) force->kspace->qsum_qsq(); + if (force->pair->tail_flag) force->pair->reinit(); double energy_after = energy_full(); if (energy_after < MAXENERGYTEST && random_equal->uniform() < (1.0 / factor) * exp(beta * (energy_before - energy_after))) { @@ -880,8 +913,6 @@ void FixChargeRegulation::backward_ions_multival() { nanion -= salt_charge_ratio; ncation--; } - if (force->kspace) force->kspace->qsum_qsq(); - if (force->pair->tail_flag) force->pair->reinit(); } else { energy_stored = energy_before; @@ -893,6 +924,8 @@ void FixChargeRegulation::backward_ions_multival() { atom->mask[mm[i]] = mask_tmp[i]; } } + if (force->kspace) force->kspace->qsum_qsq(); + if (force->pair->tail_flag) force->pair->reinit(); } } @@ -1251,7 +1284,14 @@ void FixChargeRegulation::options(int narg, char **arg) { } else if (strcmp(arg[iarg], "pH") == 0) { if (iarg + 2 > narg) error->all(FLERR, "Illegal fix charge/regulation command"); - pH = utils::numeric(FLERR, arg[iarg + 1], false, lmp); + if (strstr(arg[iarg + 1],"v_") == arg[iarg + 1]) { + int n = strlen(&arg[iarg + 1][2]) + 1; + pHstr = new char[n]; + strcpy(pHstr,&arg[iarg + 1][2]); + } else { + pH = utils::numeric(FLERR, arg[iarg + 1], false, lmp); + pHstyle = CONSTANT; + } iarg += 2; } else if (strcmp(arg[iarg], "pIp") == 0) { if (iarg + 2 > narg) diff --git a/src/MC/fix_charge_regulation.h b/src/MC/fix_charge_regulation.h index bd4ab22a07..15a9577663 100644 --- a/src/MC/fix_charge_regulation.h +++ b/src/MC/fix_charge_regulation.h @@ -61,9 +61,9 @@ class FixChargeRegulation : public Fix { double llength_unit_in_nm; // LAMMPS unit of length in nm, needed since chemical potentials are in units of mol/l double pH, pKa, pKb, pKs, pI_plus, - pI_minus; // chemical potentials and equilibrium constant in log10 base + pI_minus; // chemical potentials and equilibrium constant in log10 base double c10pH, c10pKa, c10pKb, c10pOH, c10pI_plus, - c10pI_minus; // 10 raised to chemical potential value, in units of concentration [mol/liter] + c10pI_minus; // 10 raised to chemical potential value, in units of concentration [mol/liter] double pmcmoves[3]; // mc move attempt probability: acid, base, ion pair exchange double pmcc; // mc move cumulative attempt probability int npart_xrd; // # of particles (ions) within xrd @@ -71,17 +71,17 @@ class FixChargeRegulation : public Fix { double vlocal_xrd; // # local volume within xrd bool only_salt_flag; // true if performing only salt insertion/deletion, no acid/base dissociation. - bool add_tags_flag; // true if each inserted atom gets its unique atom tag - int groupbitall; // group bitmask for inserted atoms - int ngroups; // number of group-ids for inserted atoms - char **groupstrings; // list of group-ids for inserted atoms + bool add_tags_flag; // true if each inserted atom gets its unique atom tag + int groupbitall; // group bitmask for inserted atoms + int ngroups; // number of group-ids for inserted atoms + char **groupstrings; // list of group-ids for inserted atoms // counters unsigned long int nacid_attempts, nacid_successes, nbase_attempts, nbase_successes, nsalt_attempts, nsalt_successes; int nacid_neutral, nacid_charged, nbase_neutral, nbase_charged, ncation, - nanion; // particle type counts - int cr_nmax; // max number of local particles + nanion; // particle type counts + int cr_nmax; // max number of local particles double reservoir_temperature; double beta, sigma, volume, volume_rx; // inverse temperature, speed, total volume, reacting volume @@ -97,6 +97,8 @@ class FixChargeRegulation : public Fix { int acid_type, cation_type, base_type, anion_type; // reacting atom types int reaction_distance_flag; // radial reaction restriction flag double reaction_distance; // max radial distance from acid/base for ion insertion + int pHvar, pHstyle; // variable pH style + char *pHstr; // variable pH input parsing class Pair *pair; class Compute *c_pe; // energy compute pointer From 80964619c8a17acd3e6399865aee2c7199e9dceb Mon Sep 17 00:00:00 2001 From: qzhu2017 Date: Mon, 14 Jun 2021 22:59:30 -0700 Subject: [PATCH 226/726] add documentation for pair_mliap regarding so3 and nn --- doc/src/pair_mliap.rst | 35 ++++++++++++++++++++++++++++++----- doc/src/pair_snap.rst | 2 +- 2 files changed, 31 insertions(+), 6 deletions(-) diff --git a/doc/src/pair_mliap.rst b/doc/src/pair_mliap.rst index 1b4b990b21..fd24e4775e 100644 --- a/doc/src/pair_mliap.rst +++ b/doc/src/pair_mliap.rst @@ -41,8 +41,8 @@ of the interatomic potential functional form (*model*) and the geometric quantities that characterize the atomic positions (*descriptor*). By defining *model* and *descriptor* separately, it is possible to use many different models with a given descriptor, or many different descriptors -with a given model. The pair style currently supports just one -descriptor style, but it is is straightforward to add new descriptor +with a given model. The pair style currently supports only *sna* and *so3* +descriptor styles, but it is is straightforward to add new descriptor styles. The SNAP descriptor style *sna* is the same as that used by @@ -55,7 +55,10 @@ useful to know the gradient or derivative of energy, force, and stress w.r.t. model parameters. This information can be accessed using the related :doc:`compute mliap ` command. -The descriptor style *so3* is FIXME +The descriptor style *so3* is a descriptor that is derived from the +the smooth SO(3) power spectrum with the explicit inclusion of a radial +basis :ref:`(Bartok) ` and :ref:`(Zagaceta) `. +The available models are *linear* and *nn*. The pair_style *mliap* command must be followed by two keywords *model* and *descriptor* in either order. A single *pair_coeff* command is also @@ -106,6 +109,8 @@ parameters, including *bias* and *weights* of the model, starting with the first node of the first layer and so on, with a maximum of 30 values per line. +The detail of *nn* module implementation can be found at :ref:`(Yanxon) `. + .. admonition:: Notes on mliappy models When the *model* keyword is *mliappy*, the filename should end in '.pt', @@ -127,7 +132,8 @@ Currently two descriptor styles are available: *sna* and *so3*. descriptor. The descriptor filename usually ends in the *.mliap.descriptor* extension. -- *so3* FIXME +- *so3* indicated the power spectrum component descriptors. A single additional +argument specifies the descriptor filename containing the parameters and setting. The SNAP descriptor file closely follows the format of the :doc:`pair_style snap ` parameter file. The file can contain @@ -145,7 +151,10 @@ keywords are followed by lists of *nelems* numbers giving the element radius and element weight of each element. Obviously, the order in which the elements are listed must be consistent for all three keywords. -The SO3 descriptor file FIXME +The SO3 descriptor file is similar to the SNAP descriptor except that it +contains a few more arguments (e.g., *nmax* and *alpha*). The preparation +of SO3 descriptor and model files can be done with the +`*Pyxtal_FF*`_ package. See the :doc:`pair_coeff ` doc page for alternate ways to specify the path for these *model* and *descriptor* files. @@ -191,3 +200,19 @@ Default """"""" none + +---------- + +.. _Bartok2013: + +**(Bartok2013)** Bartok, Kondor, Csanyi, Phys Rev B, 87, 184115 (2013). + +.. _Zagaceta2020: + +**(Zagaceta2020)** Zagaceta, Yanxon, Zhu, J Appl Phys, 128, 045113 (2020). + +.. _Yanxon2020: + +**(Yanxon2020)** Yanxon, Zagaceta, Tang, Matteson, Zhu, Mach. Learn.: Sci. Technol. 2, 027001 (2020). + + diff --git a/doc/src/pair_snap.rst b/doc/src/pair_snap.rst index 22dea8e2fc..2de1b59dd4 100644 --- a/doc/src/pair_snap.rst +++ b/doc/src/pair_snap.rst @@ -262,7 +262,7 @@ none .. _Bartok20102: -**(Bartok2010)** Bartok, Payne, Risi, Csanyi, Phys Rev Lett, 104, 136403 (2010). +**(Bartok2010)** Bartok, Payne, Kondor, Csanyi, Phys Rev Lett, 104, 136403 (2010). .. _Wood20182: From a0e0f5e1bd9760c046a422ff2d2e665ccfdcdc73 Mon Sep 17 00:00:00 2001 From: macstein <31542628+macstein@users.noreply.github.com> Date: Mon, 14 Jun 2021 23:49:44 -0700 Subject: [PATCH 227/726] Update pair_mliap.rst added note regarding SO3 pre computations and array size. --- doc/src/pair_mliap.rst | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/doc/src/pair_mliap.rst b/doc/src/pair_mliap.rst index fd24e4775e..4b1d4f501e 100644 --- a/doc/src/pair_mliap.rst +++ b/doc/src/pair_mliap.rst @@ -159,6 +159,16 @@ of SO3 descriptor and model files can be done with the See the :doc:`pair_coeff ` doc page for alternate ways to specify the path for these *model* and *descriptor* files. +.. note:: + To reduce SO3 descriptor/force calculation time, some variables are pre-computed + and reused during the calculation. There are two major arrays where pre-computed factors + were saved. The size of arrays is increased with the number of neighbor atoms. + One can estimate size of two major arrays, + size of m_sbes_array is (lmax+1)*(nmax+lmax+1)*10*8*total_neighs bytes, + and size of m_rip_arry is nmax*(lmax+1)*8*total_neighs, where total_neighs is obtained by + summing over number of neighbor of individual atoms which is distributed on MPI ranks + + Mixing, shift, table, tail correction, restart, rRESPA info """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" From 48c2ed24308013a138ea85a6a34e7c40f813beb5 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 15 Jun 2021 06:57:46 -0400 Subject: [PATCH 228/726] remove trailing whitespace --- doc/src/pair_mliap.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/src/pair_mliap.rst b/doc/src/pair_mliap.rst index 4b1d4f501e..2394c90b01 100644 --- a/doc/src/pair_mliap.rst +++ b/doc/src/pair_mliap.rst @@ -56,9 +56,9 @@ w.r.t. model parameters. This information can be accessed using the related :doc:`compute mliap ` command. The descriptor style *so3* is a descriptor that is derived from the -the smooth SO(3) power spectrum with the explicit inclusion of a radial +the smooth SO(3) power spectrum with the explicit inclusion of a radial basis :ref:`(Bartok) ` and :ref:`(Zagaceta) `. -The available models are *linear* and *nn*. +The available models are *linear* and *nn*. The pair_style *mliap* command must be followed by two keywords *model* and *descriptor* in either order. A single *pair_coeff* command is also @@ -153,7 +153,7 @@ the elements are listed must be consistent for all three keywords. The SO3 descriptor file is similar to the SNAP descriptor except that it contains a few more arguments (e.g., *nmax* and *alpha*). The preparation -of SO3 descriptor and model files can be done with the +of SO3 descriptor and model files can be done with the `*Pyxtal_FF*`_ package. See the :doc:`pair_coeff ` doc page for alternate ways From 73d97241f2b9c3a08a880c87c8b0ee64e082245b Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 15 Jun 2021 06:58:42 -0400 Subject: [PATCH 229/726] simplify large memory use explanation --- doc/src/pair_mliap.rst | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/doc/src/pair_mliap.rst b/doc/src/pair_mliap.rst index 2394c90b01..aa6d24465a 100644 --- a/doc/src/pair_mliap.rst +++ b/doc/src/pair_mliap.rst @@ -160,14 +160,12 @@ See the :doc:`pair_coeff ` doc page for alternate ways to specify the path for these *model* and *descriptor* files. .. note:: - To reduce SO3 descriptor/force calculation time, some variables are pre-computed - and reused during the calculation. There are two major arrays where pre-computed factors - were saved. The size of arrays is increased with the number of neighbor atoms. - One can estimate size of two major arrays, - size of m_sbes_array is (lmax+1)*(nmax+lmax+1)*10*8*total_neighs bytes, - and size of m_rip_arry is nmax*(lmax+1)*8*total_neighs, where total_neighs is obtained by - summing over number of neighbor of individual atoms which is distributed on MPI ranks - + + To significantly reduce SO3 descriptor/force calculation time, + some properties are pre-computed and reused during the calculation. + These can consume a significant amount of RAM for simulations of + larger systems since their size depends on the total number of + neighbors per MPI process. Mixing, shift, table, tail correction, restart, rRESPA info """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" From 63f9590b0ec9b29046ad573f126ebd751313b6d6 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 15 Jun 2021 07:00:17 -0400 Subject: [PATCH 230/726] keep track of memory use. use bigint in some cases to avoid overflows. --- src/MLIAP/mliap_so3.cpp | 59 ++++++++++++++++++++++++++--------------- src/MLIAP/mliap_so3.h | 1 + 2 files changed, 38 insertions(+), 22 deletions(-) diff --git a/src/MLIAP/mliap_so3.cpp b/src/MLIAP/mliap_so3.cpp index 670869fe7e..9fe8dd211d 100644 --- a/src/MLIAP/mliap_so3.cpp +++ b/src/MLIAP/mliap_so3.cpp @@ -171,6 +171,7 @@ void MLIAP_SO3::init() memory->create(m_ellpl1, totali, "MLIAP_SO3:m_ellpl1"); memory->destroy(m_ellm1); memory->create(m_ellm1, totali, "MLIAP_SO3:m_ellm1"); + alloc_init = 2.0*totali*sizeof(double); for (int l = 1; l < m_lmax + 1; l++) { m_ellpl1[l] = get_sum(0, l + 2, 1, 2); @@ -183,6 +184,7 @@ void MLIAP_SO3::init() totali = m_pfac_l1 * m_pfac_l2; memory->destroy(m_pfac); memory->create(m_pfac, totali, "MLIAP_SO3:m_pfac"); + alloc_init += totali*sizeof(double); for (int l = 0; l < m_lmax + 2; l++) for (int m = -l; m < l + 1; m++) m_pfac[l * m_pfac_l2 + m] = sqrt((2.0 * l + 1.0) * pfac1) * powsign(m); @@ -202,6 +204,7 @@ void MLIAP_SO3::init() memory->create(m_dfac4, totali, "MLIAP_SO3:m_dfac4"); memory->destroy(m_dfac5); memory->create(m_dfac5, totali, "MLIAP_SO3:m_dfac5"); + alloc_init += 6.0*totali*sizeof(double); for (int l = 1; l < m_lmax + 1; l++) for (int m = -l; m < l + 1; m++) { @@ -222,13 +225,16 @@ void MLIAP_SO3::init() totali = m_nmax * m_nmax; memory->destroy(m_w); memory->create(m_w, totali, "MLIAP_SO3:w"); + alloc_init += totali*sizeof(double); for (i = 0; i < totali; i++) m_w[i] = 0.0; compute_W(m_nmax, m_w); totali = m_nmax * m_Nmax; + memory->destroy(m_g_array); memory->create(m_g_array, totali, "MLIAP_SO3:g_array"); + alloc_init += totali*sizeof(double); for (i = 0; i < totali; i++) m_g_array[i] = 0.0; @@ -238,19 +244,25 @@ void MLIAP_SO3::init() twolmax = 2 * (m_lmax + 1); m_ldim = twolmax + 1; totali = m_ldim * m_ldim; + memory->destroy(m_rootpq); memory->create(m_rootpq, totali, "MLIAP_SO3:rootpq"); + alloc_init += totali*sizeof(double); for (i = 0; i < totali; i++) m_rootpq[i] = 0.0; for (int p = 1; p < m_ldim; p++) for (int q = 1; q < m_ldim; q++) m_rootpq[p * m_ldim + q] = sqrt(static_cast(p) / q); + memory->destroy(m_idxu_block); memory->create(m_idxu_block, m_ldim, "MLIAP_SO3:idxu_bloc"); + alloc_init += totali*sizeof(double); for (i = 0; i < m_ldim; i++) m_idxu_block[i] = 0; totali = square(m_lmax + 2); + memory->destroy(m_idxylm); memory->create(m_idxylm, totali, "MLIAP_SO3:idxylm"); + alloc_init += totali*sizeof(double); for (i = 0; i < totali; i++) m_idxylm[i] = 0; @@ -280,46 +292,54 @@ void MLIAP_SO3::init_arrays(int natoms, int ncoefs) memory->create(m_plist_r, totali, "MLIAP_SO3:m_plist_r"); memory->destroy(m_plist_i); memory->create(m_plist_i, totali, "MLIAP_SO3:m_plist_i"); + alloc_arrays = 2.0*totali*sizeof(double); totali = m_nmax * m_numYlms; memory->destroy(m_clist_r); memory->create(m_clist_r, totali, "MLIAP_SO3:m_clist_r"); memory->destroy(m_clist_i); memory->create(m_clist_i, totali, "MLIAP_SO3:m_clist_i"); + alloc_arrays += 2.0*totali*sizeof(double); totali = m_idxu_count; memory->destroy(m_ulist_r); memory->create(m_ulist_r, totali, "MLIAP_SO3:m_ulist_r"); memory->destroy(m_ulist_i); memory->create(m_ulist_i, totali, "MLIAP_SO3:m_ulist_i"); + alloc_arrays += 2.0*totali*sizeof(double); totali = (m_lmax + 2) * (m_lmax + 2); memory->destroy(m_Ylms_r); memory->create(m_Ylms_r, totali, "MLIAP_SO3:m_Ylms_r"); memory->destroy(m_Ylms_i); memory->create(m_Ylms_i, totali, "MLIAP_SO3:m_Ylms_i"); + alloc_arrays += 2.0*totali*sizeof(double); totali = (m_lmax + 1) * (m_lmax + 1) * 3; memory->destroy(m_dYlm_r); memory->create(m_dYlm_r, totali, "MLIAP_SO3:m_dYlm_r"); memory->destroy(m_dYlm_i); memory->create(m_dYlm_i, totali, "MLIAP_SO3:m_dYlm_i"); + alloc_arrays += 2.0*totali*sizeof(double); totali = m_nmax * m_numYlms * 3; memory->destroy(m_dclist_r); memory->create(m_dclist_r, totali, "MLIAP_SO3:m_dclist_r"); memory->destroy(m_dclist_i); memory->create(m_dclist_i, totali, "MLIAP_SO3:m_dclist_i"); + alloc_arrays += 2.0*totali*sizeof(double); totali = 3 * m_nmax * (m_nmax + 1) * (m_lmax + 1) / 2; memory->destroy(m_tempdp_r); memory->create(m_tempdp_r, totali, "MLIAP_SO3:m_tempdp_r"); + alloc_arrays += totali*sizeof(double); totali = m_nmax * m_numYlms; memory->destroy(m_clisttot_r); memory->create(m_clisttot_r, totali, "MLIAP_SO3:m_clisttot_r"); memory->destroy(m_clisttot_i); memory->create(m_clisttot_i, totali, "MLIAP_SO3:m_clisttot_i"); + alloc_arrays += 2.0*totali*sizeof(double); m_init_arrays = 1; } @@ -327,12 +347,7 @@ void MLIAP_SO3::init_arrays(int natoms, int ncoefs) double MLIAP_SO3::memory_usage() { - double bytes; - - bytes = 0; - bytes += (double) m_nmax * m_nmax * sizeof(double); - - return bytes; + return alloc_init + alloc_arrays; } /* ---------------------------------------------------------------------- */ @@ -674,7 +689,7 @@ void MLIAP_SO3::get_sbes_array(int natoms, int *numneighs, double **rij, int lma double alpha) { int i, j; - int neighbor; + bigint neighbor; double x, y, z, ri, xi, rb; double sa, sb; @@ -682,11 +697,11 @@ void MLIAP_SO3::get_sbes_array(int natoms, int *numneighs, double **rij, int lma double exts; pfac1 = alpha * rcut; - pfac4 = rcut / 2; - pfac3 = MY_PI / 2 / m_Nmax; + pfac4 = rcut / 2.0; + pfac3 = MY_PI / 2.0 / m_Nmax; - int ipair = 0; - int gindex; + bigint ipair = 0; + bigint gindex; int findex = m_Nmax * (m_lmax + 1); int mindex = m_lmax + 1; @@ -752,11 +767,11 @@ void MLIAP_SO3::get_rip_array(int natoms, int *numneighs, double **rij, int nmax { int i, l, n; double integrald, integral = 0.0; - int neighbor; + bigint neighbor; double x, y, z, ri, expfac; - int ipair = 0; + bigint ipair = 0; for (int ii = 0; ii < natoms; ii++) @@ -800,11 +815,10 @@ void MLIAP_SO3::get_rip_array(int natoms, int *numneighs, double **rij, int nmax void MLIAP_SO3::spectrum(int natoms, int *numneighs, int *jelems, double *wjelem, double **rij, int nmax, int lmax, double rcut, double alpha, int ncoefs) { - init_arrays(natoms, ncoefs); - int totaln = 0; - int totali; + bigint totaln = 0; + bigint totali; double Ylm_r, Ylm_i; int i, ti; int weight, neighbor; @@ -824,18 +838,21 @@ void MLIAP_SO3::spectrum(int natoms, int *numneighs, int *jelems, double *wjelem memory->create(m_sbes_array, totali, "MLIAP_SO3:m_sbes_array"); memory->destroy(m_sbes_darray); memory->create(m_sbes_darray, totali, "MLIAP_SO3:m_sbes_darray"); + alloc_arrays += 2.0*totali*sizeof(double); totali = totaln * m_nmax * (m_lmax + 1); memory->destroy(m_rip_array); memory->create(m_rip_array, totali, "MLIAP_SO3:m_rip_array"); memory->destroy(m_rip_darray); memory->create(m_rip_darray, totali, "MLIAP_SO3:m_rip_darray"); + alloc_arrays += 2.0*totali*sizeof(double); totali = totaln * ncoefs * 3; memory->destroy(m_dplist_r); memory->create(m_dplist_r, totali, "MLIAP_SO3:m_dplist_r"); memory->destroy(m_dplist_i); memory->create(m_dplist_i, totali, "MLIAP_SO3:m_dplist_i"); + alloc_arrays += 2.0*totali*sizeof(double); get_sbes_array(natoms, numneighs, rij, lmax, rcut, alpha); @@ -848,7 +865,6 @@ void MLIAP_SO3::spectrum(int natoms, int *numneighs, int *jelems, double *wjelem } for (int ii = 0; ii < natoms; ii++) { - totali = nmax * m_numYlms; for (ti = 0; ti < totali; ti++) { @@ -857,7 +873,6 @@ void MLIAP_SO3::spectrum(int natoms, int *numneighs, int *jelems, double *wjelem } for (neighbor = 0; neighbor < numneighs[ii]; neighbor++) { - const int jelem = jelems[ipair]; weight = wjelem[jelem]; @@ -923,8 +938,8 @@ void MLIAP_SO3::spectrum(int natoms, int *numneighs, int *jelems, double *wjelem void MLIAP_SO3::spectrum_dxdr(int natoms, int *numneighs, int *jelems, double *wjelem, double **rij, int nmax, int lmax, double rcut, double alpha, int npairs, int ncoefs) { - int totaln = 0; - int totali; + bigint totaln = 0; + bigint totali; double dr_int[3]; double Ylm_r, Ylm_i; @@ -946,8 +961,8 @@ void MLIAP_SO3::spectrum_dxdr(int natoms, int *numneighs, int *jelems, double *w double x, y, z, r; - int ipair = 0; - int idpair = 0; + bigint ipair = 0; + bigint idpair = 0; double sfac, dsfac, dsfac_arr[3]; findex = m_nmax * (m_lmax + 1); diff --git a/src/MLIAP/mliap_so3.h b/src/MLIAP/mliap_so3.h index 5aba563eb0..0222f1e82e 100644 --- a/src/MLIAP/mliap_so3.h +++ b/src/MLIAP/mliap_so3.h @@ -22,6 +22,7 @@ class MLIAP_SO3 : protected Pointers { double *m_dplist_r; private: + double alloc_init, alloc_arrays; int *m_ellpl1, *m_ellm1; double *m_pfac; int m_pfac_l1, m_pfac_l2; From 03d8ae04bdabf832aec807d116a9d4a78638bd61 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 15 Jun 2021 10:48:19 -0400 Subject: [PATCH 231/726] simplify --- src/MC/fix_charge_regulation.cpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/MC/fix_charge_regulation.cpp b/src/MC/fix_charge_regulation.cpp index f3fb3467c2..43df1e2436 100644 --- a/src/MC/fix_charge_regulation.cpp +++ b/src/MC/fix_charge_regulation.cpp @@ -27,11 +27,11 @@ #include "dihedral.h" #include "domain.h" #include "error.h" -#include "input.h" #include "fix.h" #include "force.h" #include "group.h" #include "improper.h" +#include "input.h" #include "kspace.h" #include "math_const.h" #include "math_special.h" @@ -1285,9 +1285,7 @@ void FixChargeRegulation::options(int narg, char **arg) { if (iarg + 2 > narg) error->all(FLERR, "Illegal fix charge/regulation command"); if (strstr(arg[iarg + 1],"v_") == arg[iarg + 1]) { - int n = strlen(&arg[iarg + 1][2]) + 1; - pHstr = new char[n]; - strcpy(pHstr,&arg[iarg + 1][2]); + pHstr = utils::strdup(&arg[iarg + 1][2]); } else { pH = utils::numeric(FLERR, arg[iarg + 1], false, lmp); pHstyle = CONSTANT; From d88577f44b926873a73c138750131e5bacc052fd Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 15 Jun 2021 10:52:07 -0400 Subject: [PATCH 232/726] whitespace --- src/MC/fix_charge_regulation.cpp | 2 +- src/MC/fix_charge_regulation.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/MC/fix_charge_regulation.cpp b/src/MC/fix_charge_regulation.cpp index 43df1e2436..e69e0ec332 100644 --- a/src/MC/fix_charge_regulation.cpp +++ b/src/MC/fix_charge_regulation.cpp @@ -161,7 +161,7 @@ void FixChargeRegulation::init() { error->all(FLERR,"Variable name for fix charge/regulation does not exist"); if (input->variable->equalstyle(pHvar)) pHstyle = EQUAL; else error->all(FLERR,"Variable for fix charge/regulation is invalid style"); - + } if (atom->molecule_flag) { diff --git a/src/MC/fix_charge_regulation.h b/src/MC/fix_charge_regulation.h index 15a9577663..9b8fa9e9ed 100644 --- a/src/MC/fix_charge_regulation.h +++ b/src/MC/fix_charge_regulation.h @@ -97,7 +97,7 @@ class FixChargeRegulation : public Fix { int acid_type, cation_type, base_type, anion_type; // reacting atom types int reaction_distance_flag; // radial reaction restriction flag double reaction_distance; // max radial distance from acid/base for ion insertion - int pHvar, pHstyle; // variable pH style + int pHvar, pHstyle; // variable pH style char *pHstr; // variable pH input parsing class Pair *pair; From 6b56177e487975516f0430a0aeb2c1ce127255e2 Mon Sep 17 00:00:00 2001 From: tc387 Date: Tue, 15 Jun 2021 10:44:45 -0500 Subject: [PATCH 233/726] small updated to variable description in fix_charge_regulation.rst --- doc/src/fix_charge_regulation.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/fix_charge_regulation.rst b/doc/src/fix_charge_regulation.rst index ef91db1e59..06c1d92b79 100644 --- a/doc/src/fix_charge_regulation.rst +++ b/doc/src/fix_charge_regulation.rst @@ -21,7 +21,7 @@ Syntax .. parsed-literal:: keyword = *pH*, *pKa*, *pKb*, *pIp*, *pIm*, *pKs*, *acid_type*, *base_type*, *lunit_nm*, *temp*, *tempfixid*, *nevery*, *nmc*, *xrd*, *seed*, *tag*, *group*, *onlysalt*, *pmcmoves* - *pH* value = pH of the solution + *pH* value = pH of the solution (can be specified as an equal-style variable) *pKa* value = acid dissociation constant *pKb* value = base dissociation constant *pIp* value = chemical potential of free cations From 1bb9fb281958dee267f6b442340205495f384d09 Mon Sep 17 00:00:00 2001 From: macstein Date: Tue, 15 Jun 2021 10:55:17 -0700 Subject: [PATCH 234/726] changed natoms to nlocal --- src/MLIAP/mliap_so3.cpp | 38 +++++++++++++++++++------------------- src/MLIAP/mliap_so3.h | 10 +++++----- 2 files changed, 24 insertions(+), 24 deletions(-) diff --git a/src/MLIAP/mliap_so3.cpp b/src/MLIAP/mliap_so3.cpp index 9fe8dd211d..5e868c8d5e 100644 --- a/src/MLIAP/mliap_so3.cpp +++ b/src/MLIAP/mliap_so3.cpp @@ -285,9 +285,9 @@ void MLIAP_SO3::init() /* ---------------------------------------------------------------------- */ -void MLIAP_SO3::init_arrays(int natoms, int ncoefs) +void MLIAP_SO3::init_arrays(int nlocal, int ncoefs) { - int totali = natoms * ncoefs; + int totali = nlocal * ncoefs; memory->destroy(m_plist_r); memory->create(m_plist_r, totali, "MLIAP_SO3:m_plist_r"); memory->destroy(m_plist_i); @@ -685,7 +685,7 @@ void MLIAP_SO3::init_garray(int nmax, int lmax, double rcut, double alpha, doubl /* ---------------------------------------------------------------------- */ -void MLIAP_SO3::get_sbes_array(int natoms, int *numneighs, double **rij, int lmax, double rcut, +void MLIAP_SO3::get_sbes_array(int nlocal, int *numneighs, double **rij, int lmax, double rcut, double alpha) { int i, j; @@ -705,7 +705,7 @@ void MLIAP_SO3::get_sbes_array(int natoms, int *numneighs, double **rij, int lma int findex = m_Nmax * (m_lmax + 1); int mindex = m_lmax + 1; - for (int ii = 0; ii < natoms; ii++) { + for (int ii = 0; ii < nlocal; ii++) { for (neighbor = 0; neighbor < numneighs[ii]; neighbor++) { @@ -762,7 +762,7 @@ void MLIAP_SO3::get_sbes_array(int natoms, int *numneighs, double **rij, int lma /* ---------------------------------------------------------------------- */ -void MLIAP_SO3::get_rip_array(int natoms, int *numneighs, double **rij, int nmax, int lmax, +void MLIAP_SO3::get_rip_array(int nlocal, int *numneighs, double **rij, int nmax, int lmax, double alpha) { int i, l, n; @@ -773,7 +773,7 @@ void MLIAP_SO3::get_rip_array(int natoms, int *numneighs, double **rij, int nmax bigint ipair = 0; - for (int ii = 0; ii < natoms; ii++) + for (int ii = 0; ii < nlocal; ii++) for (neighbor = 0; neighbor < numneighs[ii]; neighbor++) { @@ -812,10 +812,10 @@ void MLIAP_SO3::get_rip_array(int natoms, int *numneighs, double **rij, int nmax /* ---------------------------------------------------------------------- */ -void MLIAP_SO3::spectrum(int natoms, int *numneighs, int *jelems, double *wjelem, double **rij, +void MLIAP_SO3::spectrum(int nlocal, int *numneighs, int *jelems, double *wjelem, double **rij, int nmax, int lmax, double rcut, double alpha, int ncoefs) { - init_arrays(natoms, ncoefs); + init_arrays(nlocal, ncoefs); bigint totaln = 0; bigint totali; @@ -831,7 +831,7 @@ void MLIAP_SO3::spectrum(int natoms, int *numneighs, int *jelems, double *wjelem findex = m_nmax * (m_lmax + 1); - for (i = 0; i < natoms; i++) totaln += numneighs[i]; + for (i = 0; i < nlocal; i++) totaln += numneighs[i]; totali = totaln * m_Nmax * (m_lmax + 1); memory->destroy(m_sbes_array); @@ -854,17 +854,17 @@ void MLIAP_SO3::spectrum(int natoms, int *numneighs, int *jelems, double *wjelem memory->create(m_dplist_i, totali, "MLIAP_SO3:m_dplist_i"); alloc_arrays += 2.0*totali*sizeof(double); - get_sbes_array(natoms, numneighs, rij, lmax, rcut, alpha); + get_sbes_array(nlocal, numneighs, rij, lmax, rcut, alpha); - get_rip_array(natoms, numneighs, rij, nmax, lmax, alpha); + get_rip_array(nlocal, numneighs, rij, nmax, lmax, alpha); - totali = natoms * ncoefs; + totali = nlocal * ncoefs; for (i = 0; i < totali; i++) { m_plist_r[i] = 0.0; m_plist_i[i] = 0.0; } - for (int ii = 0; ii < natoms; ii++) { + for (int ii = 0; ii < nlocal; ii++) { totali = nmax * m_numYlms; for (ti = 0; ti < totali; ti++) { @@ -935,7 +935,7 @@ void MLIAP_SO3::spectrum(int natoms, int *numneighs, int *jelems, double *wjelem /* ---------------------------------------------------------------------- */ -void MLIAP_SO3::spectrum_dxdr(int natoms, int *numneighs, int *jelems, double *wjelem, double **rij, +void MLIAP_SO3::spectrum_dxdr(int nlocal, int *numneighs, int *jelems, double *wjelem, double **rij, int nmax, int lmax, double rcut, double alpha, int npairs, int ncoefs) { bigint totaln = 0; @@ -967,7 +967,7 @@ void MLIAP_SO3::spectrum_dxdr(int natoms, int *numneighs, int *jelems, double *w findex = m_nmax * (m_lmax + 1); - for (i = 0; i < natoms; i++) totaln += numneighs[i]; + for (i = 0; i < nlocal; i++) totaln += numneighs[i]; totali = totaln * m_Nmax * (m_lmax + 1); memory->destroy(m_sbes_array); @@ -996,13 +996,13 @@ void MLIAP_SO3::spectrum_dxdr(int natoms, int *numneighs, int *jelems, double *w numps = nmax * (nmax + 1) * (lmax + 1) / 2; - get_sbes_array(natoms, numneighs, rij, lmax, rcut, alpha); + get_sbes_array(nlocal, numneighs, rij, lmax, rcut, alpha); - get_rip_array(natoms, numneighs, rij, nmax, lmax, alpha); + get_rip_array(nlocal, numneighs, rij, nmax, lmax, alpha); int twolmax = 2 * (lmax + 1); - for (int ii = 0; ii < natoms; ii++) { + for (int ii = 0; ii < nlocal; ii++) { totali = nmax * m_numYlms; for (ti = 0; ti < totali; ti++) { @@ -1239,5 +1239,5 @@ void MLIAP_SO3::spectrum_dxdr(int natoms, int *numneighs, int *jelems, double *w } //for(neighbor=0;neighbor Date: Wed, 16 Jun 2021 08:40:40 -0400 Subject: [PATCH 235/726] reformat --- src/compute_pe.cpp | 61 +++++++++++++++++++++++++--------------------- 1 file changed, 33 insertions(+), 28 deletions(-) diff --git a/src/compute_pe.cpp b/src/compute_pe.cpp index e48b436c85..2385f1e94e 100644 --- a/src/compute_pe.cpp +++ b/src/compute_pe.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -14,30 +13,30 @@ #include "compute_pe.h" -#include -#include "atom.h" -#include "update.h" -#include "force.h" -#include "pair.h" -#include "bond.h" #include "angle.h" +#include "atom.h" +#include "atom_masks.h" +#include "bond.h" #include "dihedral.h" +#include "domain.h" +#include "error.h" +#include "force.h" #include "improper.h" #include "kspace.h" #include "modify.h" -#include "domain.h" -#include "error.h" -#include "atom_masks.h" +#include "pair.h" +#include "update.h" + +#include using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -ComputePE::ComputePE(LAMMPS *lmp, int narg, char **arg) : - Compute(lmp, narg, arg) +ComputePE::ComputePE(LAMMPS *lmp, int narg, char **arg) : Compute(lmp, narg, arg) { - if (narg < 3) error->all(FLERR,"Illegal compute pe command"); - if (igroup) error->all(FLERR,"Compute pe must use group all"); + if (narg < 3) error->all(FLERR, "Illegal compute pe command"); + if (igroup) error->all(FLERR, "Compute pe must use group all"); scalar_flag = 1; extscalar = 1; @@ -56,14 +55,22 @@ ComputePE::ComputePE(LAMMPS *lmp, int narg, char **arg) : fixflag = 0; int iarg = 3; while (iarg < narg) { - if (strcmp(arg[iarg],"pair") == 0) pairflag = 1; - else if (strcmp(arg[iarg],"bond") == 0) bondflag = 1; - else if (strcmp(arg[iarg],"angle") == 0) angleflag = 1; - else if (strcmp(arg[iarg],"dihedral") == 0) dihedralflag = 1; - else if (strcmp(arg[iarg],"improper") == 0) improperflag = 1; - else if (strcmp(arg[iarg],"kspace") == 0) kspaceflag = 1; - else if (strcmp(arg[iarg],"fix") == 0) fixflag = 1; - else error->all(FLERR,"Illegal compute pe command"); + if (strcmp(arg[iarg], "pair") == 0) + pairflag = 1; + else if (strcmp(arg[iarg], "bond") == 0) + bondflag = 1; + else if (strcmp(arg[iarg], "angle") == 0) + angleflag = 1; + else if (strcmp(arg[iarg], "dihedral") == 0) + dihedralflag = 1; + else if (strcmp(arg[iarg], "improper") == 0) + improperflag = 1; + else if (strcmp(arg[iarg], "kspace") == 0) + kspaceflag = 1; + else if (strcmp(arg[iarg], "fix") == 0) + fixflag = 1; + else + error->all(FLERR, "Illegal compute pe command"); iarg++; } } @@ -78,11 +85,10 @@ double ComputePE::compute_scalar() { invoked_scalar = update->ntimestep; if (update->eflag_global != invoked_scalar) - error->all(FLERR,"Energy was not tallied on needed timestep"); + error->all(FLERR, "Energy was not tallied on needed timestep"); double one = 0.0; - if (pairflag && force->pair) - one += force->pair->eng_vdwl + force->pair->eng_coul; + if (pairflag && force->pair) one += force->pair->eng_vdwl + force->pair->eng_coul; if (atom->molecular != Atom::ATOMIC) { if (bondflag && force->bond) one += force->bond->energy; @@ -91,7 +97,7 @@ double ComputePE::compute_scalar() if (improperflag && force->improper) one += force->improper->energy; } - MPI_Allreduce(&one,&scalar,1,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(&one, &scalar, 1, MPI_DOUBLE, MPI_SUM, world); if (kspaceflag && force->kspace) scalar += force->kspace->energy; @@ -100,8 +106,7 @@ double ComputePE::compute_scalar() scalar += force->pair->etail / volume; } - if (fixflag && modify->n_energy_global) - scalar += modify->energy_global(); + if (fixflag && modify->n_energy_global) scalar += modify->energy_global(); return scalar; } From 9eefa3920198eda1abe5e6923e64a4dad52647b1 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 16 Jun 2021 13:17:25 -0400 Subject: [PATCH 236/726] silence compiler warnings --- .../pair_lj_long_coul_long_dielectric.cpp | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/USER-DIELECTRIC/pair_lj_long_coul_long_dielectric.cpp b/src/USER-DIELECTRIC/pair_lj_long_coul_long_dielectric.cpp index 53e9998f31..8eb91fa5a9 100644 --- a/src/USER-DIELECTRIC/pair_lj_long_coul_long_dielectric.cpp +++ b/src/USER-DIELECTRIC/pair_lj_long_coul_long_dielectric.cpp @@ -104,7 +104,7 @@ void PairLJLongCoulLongDielectric::compute(int eflag, int vflag) } double **x = atom->x, *x0 = x[0]; - double **f = atom->f, *f0 = f[0], *fi = f0; + double **f = atom->f, *f0 = f[0]; double *q = atom->q; double *eps = avec->epsilon; double **norm = avec->mu; @@ -121,10 +121,10 @@ void PairLJLongCoulLongDielectric::compute(int eflag, int vflag) double qtmp, etmp, xtmp, ytmp, ztmp, delx, dely, delz; int order1 = ewald_order & (1 << 1), order6 = ewald_order & (1 << 6); int *ineigh, *ineighn, *jneigh, *jneighn, ni; - double qi = 0.0, qri = 0.0; + double qi = 0.0; double fpair_i, fpair_j; double fraction, table; - double *cutsqi, *cut_ljsqi, *lj1i, *lj2i, *lj3i, *lj4i, *offseti; + double *cut_ljsqi, *lj1i, *lj2i, *lj3i, *lj4i, *offseti; double grij, expm2, prefactor, t, erfc, prefactorE, efield_i, epot_i; double r, rsq, r2inv, force_coul, force_lj, factor_coul, factor_lj; double g2 = g_ewald_6 * g_ewald_6, g6 = g2 * g2 * g2, g8 = g6 * g2; @@ -134,20 +134,17 @@ void PairLJLongCoulLongDielectric::compute(int eflag, int vflag) for (; ineigh < ineighn; ++ineigh) { // loop over my atoms i = *ineigh; - fi = f0 + 3 * i; qtmp = q[i]; xtmp = x[i][0]; ytmp = x[i][1]; ztmp = x[i][2]; etmp = eps[i]; - if (order1) qri = (qi = q[i]) * qqrd2e; // initialize constants offseti = offset[itype = type[i]]; lj1i = lj1[itype]; lj2i = lj2[itype]; lj3i = lj3[itype]; lj4i = lj4[itype]; - cutsqi = cutsq[itype]; cut_ljsqi = cut_ljsq[itype]; memcpy(xi, x0 + (i + (i << 1)), 3 * sizeof(double)); jneighn = (jneigh = list->firstneigh[i]) + list->numneigh[i]; From e207896632162387d95275887921bb4eeb7b2a66 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 16 Jun 2021 13:18:32 -0400 Subject: [PATCH 237/726] silence compiler warnings, simplify --- src/USER-MDI/mdi_engine.cpp | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/src/USER-MDI/mdi_engine.cpp b/src/USER-MDI/mdi_engine.cpp index 7289986218..a1159f7402 100644 --- a/src/USER-MDI/mdi_engine.cpp +++ b/src/USER-MDI/mdi_engine.cpp @@ -43,7 +43,7 @@ using namespace LAMMPS_NS; when EXIT command is received, mdi/engine command exits ---------------------------------------------------------------------- */ -void MDIEngine::command(int narg, char **arg) +void MDIEngine::command(int narg, char ** /*arg*/) { // list of nodes and commands that a MDI-compliant MD code should support @@ -223,10 +223,7 @@ void MDIEngine::command(int narg, char **arg) break; } else - error->all(FLERR, - fmt::format("MDI node exited with " - "invalid command: {}", - command)); + error->all(FLERR, "MDI node exited with invalid command: {}", command); } // remove mdi/engine fix that mdi/engine instantiated @@ -298,9 +295,6 @@ char *MDIEngine::mdi_md() char *MDIEngine::mdi_optg() { - // initialize an energy minization - - Minimize *minimizer = new Minimize(lmp); // setup the minimizer in a way that ensures optimization // will continue until MDI driver exits @@ -346,9 +340,6 @@ char *MDIEngine::mdi_optg() if (strcmp(command, "@DEFAULT") == 0 || strcmp(command, "EXIT") == 0) return command; - error->all(FLERR, - fmt::format("MDI reached end of OPTG simulation " - "with invalid command: {}", - command)); + error->all(FLERR,"MDI reached end of OPTG simulation with invalid command: {}", command); return nullptr; } From b7e059126a7134a5ddd582b1943a886065721192 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 16 Jun 2021 13:47:23 -0400 Subject: [PATCH 238/726] silence compiler warnings --- src/USER-DIELECTRIC/pair_lj_long_coul_long_dielectric.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/USER-DIELECTRIC/pair_lj_long_coul_long_dielectric.cpp b/src/USER-DIELECTRIC/pair_lj_long_coul_long_dielectric.cpp index 8eb91fa5a9..ef326b5316 100644 --- a/src/USER-DIELECTRIC/pair_lj_long_coul_long_dielectric.cpp +++ b/src/USER-DIELECTRIC/pair_lj_long_coul_long_dielectric.cpp @@ -104,7 +104,7 @@ void PairLJLongCoulLongDielectric::compute(int eflag, int vflag) } double **x = atom->x, *x0 = x[0]; - double **f = atom->f, *f0 = f[0]; + double **f = atom->f; double *q = atom->q; double *eps = avec->epsilon; double **norm = avec->mu; @@ -121,7 +121,6 @@ void PairLJLongCoulLongDielectric::compute(int eflag, int vflag) double qtmp, etmp, xtmp, ytmp, ztmp, delx, dely, delz; int order1 = ewald_order & (1 << 1), order6 = ewald_order & (1 << 6); int *ineigh, *ineighn, *jneigh, *jneighn, ni; - double qi = 0.0; double fpair_i, fpair_j; double fraction, table; double *cut_ljsqi, *lj1i, *lj2i, *lj3i, *lj4i, *offseti; From 45048a7384b16db8327425fa33471a2cdea9cf3a Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 16 Jun 2021 13:47:51 -0400 Subject: [PATCH 239/726] silence compiler warnings, remove dead code, simplify --- src/USER-RANN/pair_rann.cpp | 119 ++++++++---------- src/USER-RANN/pair_rann.h | 8 +- src/USER-RANN/rann_activation.h | 7 +- src/USER-RANN/rann_activation_linear.h | 4 +- src/USER-RANN/rann_fingerprint_bond.cpp | 21 ++-- .../rann_fingerprint_bondscreened.cpp | 17 ++- .../rann_fingerprint_bondscreenedspin.cpp | 9 +- src/USER-RANN/rann_fingerprint_bondspin.cpp | 25 ++-- src/USER-RANN/rann_fingerprint_radial.cpp | 8 +- .../rann_fingerprint_radialscreened.cpp | 9 +- .../rann_fingerprint_radialscreenedspin.cpp | 5 +- src/USER-RANN/rann_fingerprint_radialspin.cpp | 5 +- 12 files changed, 100 insertions(+), 137 deletions(-) diff --git a/src/USER-RANN/pair_rann.cpp b/src/USER-RANN/pair_rann.cpp index f2e3af1ae5..4cf3b063d9 100644 --- a/src/USER-RANN/pair_rann.cpp +++ b/src/USER-RANN/pair_rann.cpp @@ -177,11 +177,9 @@ PairRANN::~PairRANN() } } - - -void PairRANN::allocate(const std::vector elementwords) +void PairRANN::allocate(const std::vector &elementwords) { - int i,j,k,l,n; + int i,n; n = atom->ntypes; memory->create(setflag,n+1,n+1,"pair:setflag"); memory->create(cutsq,n+1,n+1,"pair:cutsq"); @@ -214,24 +212,21 @@ void PairRANN::allocate(const std::vector elementwords) } } for (i=0;i<=nelements;i++) { - n = elementwords[i].size()+1; fingerprintlength[i]=0; fingerprintperelement[i] = -1; fingerprintcount[i] = 0; if (i 0) error->one(FLERR,"Illegal pair_style command"); @@ -289,16 +284,13 @@ void PairRANN::coeff(int narg, char **arg) void PairRANN::read_file(char *filename) { FILE *fp; - int eof = 0,i,j,k,l; - int n,nwords; + int eof = 0; std::string line,line1; int longline = 4096; int linenum; char linetemp[longline]; std::string strtemp; char *ptr; - bool comment; - char str[128]; std::vector linev,line1v; fp = utils::open_potential(filename,lmp,nullptr); if (fp == nullptr) {error->one(FLERR,"Cannot open RANN potential file");} @@ -306,9 +298,9 @@ void PairRANN::read_file(char *filename) linenum++; strtemp=utils::trim_comment(linetemp); while (strtemp.empty()) { - ptr=fgets(linetemp,longline,fp); - strtemp=utils::trim_comment(linetemp); - linenum++; + ptr=fgets(linetemp,longline,fp); + strtemp=utils::trim_comment(linetemp); + linenum++; } line=strtemp; while (eof == 0) { @@ -325,17 +317,17 @@ void PairRANN::read_file(char *filename) } strtemp=utils::trim_comment(linetemp); while (strtemp.empty()) { - ptr=fgets(linetemp,longline,fp); - strtemp=utils::trim_comment(linetemp); - linenum++; + ptr=fgets(linetemp,longline,fp); + strtemp=utils::trim_comment(linetemp); + linenum++; } line1=linetemp; Tokenizer values = Tokenizer(line,": ,\t_\n"); Tokenizer values1 = Tokenizer(line1,": ,\t_\n"); linev = values.as_vector(); line1v = values1.as_vector(); - if (linev[0]=="atomtypes") read_atom_types(linev,line1v,filename,linenum); - else if (linev[0]=="mass") read_mass(linev,line1v,filename,linenum); + if (linev[0]=="atomtypes") read_atom_types(line1v,filename,linenum); + else if (linev[0]=="mass") read_mass(line1v,filename,linenum); else if (linev[0]=="fingerprintsperelement") read_fpe(linev,line1v,filename,linenum); else if (linev[0]=="fingerprints") read_fingerprints(linev,line1v,filename,linenum); else if (linev[0]=="fingerprintconstants") read_fingerprint_constants(linev,line1v,filename,linenum); @@ -351,9 +343,9 @@ void PairRANN::read_file(char *filename) linenum++; strtemp=utils::trim_comment(linetemp); while (strtemp.empty()) { - ptr=fgets(linetemp,longline,fp); - strtemp=utils::trim_comment(linetemp); - linenum++; + ptr=fgets(linetemp,longline,fp); + strtemp=utils::trim_comment(linetemp); + linenum++; } if (ptr == NULL) { if (check_potential()) { @@ -368,20 +360,19 @@ void PairRANN::read_file(char *filename) } } -void PairRANN::read_atom_types(std::vector line,std::vector line1,char *filename,int linenum) { - int nwords = line1.size(); +void PairRANN::read_atom_types(std::vector line,char *filename,int linenum) { + int nwords = line.size(); if (nwords < 1) error->one(filename,linenum,"Incorrect syntax for atom types"); nelements = nwords; - line1.push_back("all"); - allocate(line1); + line.push_back("all"); + allocate(line); } -void PairRANN::read_mass(std::vector line,std::vector line1,char *filename,int linenum) { +void PairRANN::read_mass(const std::vector &line,char *filename,int linenum) { if (nelements == -1)error->one(filename,linenum-1,"atom types must be defined before mass in potential file."); - int nwords = 0,i; - for (i=0;i line,std::vector } void PairRANN::read_fpe(std::vector line,std::vector line1,char *filename,int linenum) { - int i,j; + int i; if (nelements == -1)error->one(filename,linenum-1,"atom types must be defined before fingerprints per element in potential file."); for (i=0;i line,std::vector l } void PairRANN::read_fingerprints(std::vector line,std::vector line1,char *filename,int linenum) { - int nwords1,nwords,i,j,k,l,m,i1; + int nwords1,nwords,i,j,k,i1; bool found; - char str[MAXLINE]; nwords1 = line1.size(); nwords = line.size(); if (nelements == -1)error->one(filename,linenum-1,"atom types must be defined before fingerprints in potential file."); @@ -439,9 +429,8 @@ void PairRANN::read_fingerprints(std::vector line,std::vector line,std::vector line1,char *filename,int linenum) { - int i,j,k,l,m,i1; + int i,j,k,i1; bool found; - char str [128]; int nwords = line.size(); if (nelements == -1)error->one(filename,linenum-1,"atom types must be defined before fingerprints in potential file."); int n_body_type = nwords-4; @@ -559,8 +548,7 @@ void PairRANN::read_weight(std::vector line,std::vector line,std::vector line1,FILE* fp,char *filename,int *linenum) { - int i,j,l,nwords; - char *ptr; + int i,j,l; char linetemp[MAXLINE]; for (l=0;l line,std::vector net[l].Biases[i] = new double [net[l].dimensions[i+1]]; net[l].Biases[i][0] = utils::numeric(filename,*linenum,line1[0].c_str(),1,lmp); for (j=1;j line,std::vector } void PairRANN::read_activation_functions(std::vector line,std::vector line1,char *filename,int linenum) { - int i,j,l,nwords; - int *ptr; + int i,l; for (l=0;lone(filename,linenum-1,"networklayers must be defined before activation functions."); @@ -819,7 +806,7 @@ void PairRANN::compute(int eflag, int vflag) screen(ii,0,jnum-1); } if (allscreen) { - screen_neighbor_list(&jnum,i,0); + screen_neighbor_list(&jnum); } //do fingerprints for atom type len = fingerprintperelement[itype]; @@ -880,7 +867,7 @@ void PairRANN::cull_neighbor_list(int* jnum,int i,int sn) { jnum[0]=count+1; } -void PairRANN::screen_neighbor_list(int *jnum, int i,int sn) { +void PairRANN::screen_neighbor_list(int *jnum) { int jj,kk,count,count1; count = 0; for (jj=0;jjilist[ii]; itype = map[sim->type[i]]; for (int jj=0;jjilist; - int inum = listfull->inum; int *type = atom->type; i1=ilist[ii]; itype = map[type[i1]]; @@ -1092,11 +1078,10 @@ void PairRANN::propagateforward(double * energy,double **force,double **virial, } //Called by getproperties. Propagate features and dfeatures through network. Updates force and energy -void PairRANN::propagateforwardspin(double * energy,double **force,double **fm,double **virial, int ii,int jnum) { +void PairRANN::propagateforwardspin(double * energy,double **force,double **fm,double ** /*virial*/, int ii,int jnum) { int i,j,k,jj,j1,itype,i1; - int *ilist,*numneigh; + int *ilist; ilist = listfull->ilist; - int inum = listfull->inum; int *type = atom->type; i1=ilist[ii]; itype = map[type[i1]]; @@ -1191,7 +1176,7 @@ void PairRANN::propagateforwardspin(double * energy,double **force,double **fm,d } -void PairRANN::init_list(int which, NeighList *ptr) +void PairRANN::init_list(int /*which*/, NeighList *ptr) { listfull = ptr; } @@ -1210,7 +1195,7 @@ void PairRANN::init_style() init for one type pair i,j and corresponding j,i ------------------------------------------------------------------------- */ -double PairRANN::init_one(int i, int j) +double PairRANN::init_one(int /*i*/, int /*j*/) { return cutmax; } @@ -1220,34 +1205,34 @@ void PairRANN::errorf(const char *file, int line, const char * message) { } int PairRANN::factorial(int n) { - return round(MathSpecial::factorial(n)); + return round(MathSpecial::factorial(n)); } RANN::Fingerprint *PairRANN::create_fingerprint(const char *style) { if (strcmp(style,"radial")==0) { - return new RANN::Fingerprint_radial(this); + return new RANN::Fingerprint_radial(this); } else if (strcmp(style,"radialscreened")==0) { - return new RANN::Fingerprint_radialscreened(this); + return new RANN::Fingerprint_radialscreened(this); } else if (strcmp(style,"radialscreenedspin")==0) { - return new RANN::Fingerprint_radialscreenedspin(this); + return new RANN::Fingerprint_radialscreenedspin(this); } else if (strcmp(style,"radialspin")==0) { - return new RANN::Fingerprint_radialspin(this); + return new RANN::Fingerprint_radialspin(this); } else if (strcmp(style,"bond")==0) { - return new RANN::Fingerprint_bond(this); + return new RANN::Fingerprint_bond(this); } else if (strcmp(style,"bondscreened")==0) { - return new RANN::Fingerprint_bondscreened(this); + return new RANN::Fingerprint_bondscreened(this); } else if (strcmp(style,"bondscreenedspin")==0) { - return new RANN::Fingerprint_bondscreenedspin(this); + return new RANN::Fingerprint_bondscreenedspin(this); } else if (strcmp(style,"bondspin")==0) { - return new RANN::Fingerprint_bondspin(this); + return new RANN::Fingerprint_bondspin(this); } char str[128]; sprintf(str,"Unknown fingerprint style %s",style); @@ -1259,10 +1244,10 @@ RANN::Fingerprint *PairRANN::create_fingerprint(const char *style) RANN::Activation *PairRANN::create_activation(const char *style) { if (strcmp(style,"linear")==0) { - return new RANN::Activation_linear(this); + return new RANN::Activation_linear(this); } else if (strcmp(style,"sigI")==0) { - return new RANN::Activation_sigI(this); + return new RANN::Activation_sigI(this); } char str[128]; sprintf(str,"Unknown activation style %s",style); diff --git a/src/USER-RANN/pair_rann.h b/src/USER-RANN/pair_rann.h index 97461d2437..333b9b53a1 100644 --- a/src/USER-RANN/pair_rann.h +++ b/src/USER-RANN/pair_rann.h @@ -135,10 +135,10 @@ namespace LAMMPS_NS { private: //new functions - void allocate(const std::vector);//called after reading element list, but before reading the rest of the potential + void allocate(const std::vector &);//called after reading element list, but before reading the rest of the potential void read_file(char *);//read potential file - void read_atom_types(std::vector,std::vector,char*,int); - void read_mass(std::vector,std::vector,char*,int); + void read_atom_types(std::vector,char*,int); + void read_mass(const std::vector &,char*,int); void read_fpe(std::vector,std::vector,char*,int);//fingerprints per element. Count total fingerprints defined for each 1st element in element combinations void read_fingerprints(std::vector,std::vector,char*,int); void read_fingerprint_constants(std::vector,std::vector,char*,int); @@ -153,7 +153,7 @@ namespace LAMMPS_NS { void propagateforwardspin(double *,double **,double **,double**,int,int);//called by compute to get force and energy void screen(int,int,int); void cull_neighbor_list(int *,int,int); - void screen_neighbor_list(int *,int,int); + void screen_neighbor_list(int *); }; } diff --git a/src/USER-RANN/rann_activation.h b/src/USER-RANN/rann_activation.h index b924dff63c..045d37a273 100644 --- a/src/USER-RANN/rann_activation.h +++ b/src/USER-RANN/rann_activation.h @@ -45,13 +45,12 @@ namespace LAMMPS_NS { const char *style; }; - Activation::Activation(PairRANN *_pair) { + Activation::Activation(PairRANN *) { empty = true; style = "empty"; } Activation::~Activation() { - } //default is linear activation (no change). @@ -59,11 +58,11 @@ namespace LAMMPS_NS { return A; } - double Activation::dactivation_function(double A) { + double Activation::dactivation_function(double) { return 1.0; } - double Activation::ddactivation_function(double A) { + double Activation::ddactivation_function(double) { return 0.0; } } diff --git a/src/USER-RANN/rann_activation_linear.h b/src/USER-RANN/rann_activation_linear.h index 2d94859cb0..4afc4bc61d 100644 --- a/src/USER-RANN/rann_activation_linear.h +++ b/src/USER-RANN/rann_activation_linear.h @@ -53,7 +53,7 @@ namespace LAMMPS_NS { return A; } - double Activation_linear::dactivation_function(double A) + double Activation_linear::dactivation_function(double) { return 1.0; } @@ -61,8 +61,6 @@ namespace LAMMPS_NS { double Activation_linear::ddactivation_function(double) { return 0.0; } - - } } diff --git a/src/USER-RANN/rann_fingerprint_bond.cpp b/src/USER-RANN/rann_fingerprint_bond.cpp index 94522eba1c..bf14828a7b 100644 --- a/src/USER-RANN/rann_fingerprint_bond.cpp +++ b/src/USER-RANN/rann_fingerprint_bond.cpp @@ -287,12 +287,6 @@ void Fingerprint_bond::generate_coefficients() { //calculates multinomial c //Called by getproperties. Gets 3-body features and dfeatures void Fingerprint_bond::compute_fingerprint(double * features,double * dfeaturesx,double *dfeaturesy,double *dfeaturesz, int ii,int sid,double *xn,double *yn,double*zn,int *tn,int jnum,int *jl) { - int i; - int *ilist,*numneigh; - PairRANN::Simulation *sim = &pair->sims[sid]; - ilist = sim->ilist; - numneigh = sim->numneigh; - i = ilist[ii]; //select the more efficient algorithm for this particular potential and environment. if (jnum*2>(mlength+1)*mlength*20) { do3bodyfeatureset_singleneighborloop(features,dfeaturesx,dfeaturesy,dfeaturesz,ii,sid,xn,yn,zn,tn,jnum,jl); @@ -304,10 +298,10 @@ void Fingerprint_bond::compute_fingerprint(double * features,double * dfeaturesx } //Called by do3bodyfeatureset. Algorithm for high neighbor numbers and small series of bond angle powers -void Fingerprint_bond::do3bodyfeatureset_singleneighborloop(double * features,double * dfeaturesx,double *dfeaturesy,double *dfeaturesz,int ii,int sid,double *xn,double *yn,double*zn,int *tn,int jnum,int *jl) { - int i,j,jj,itype,jtype,kk,m,n,mcount,a,a1,a2,ai; - double xtmp,ytmp,ztmp,delx,dely,delz,rsq; - int *ilist,*jlist,*numneigh,**firstneigh; +void Fingerprint_bond::do3bodyfeatureset_singleneighborloop(double * features,double * dfeaturesx,double *dfeaturesy,double *dfeaturesz,int ii,int sid,double *xn,double *yn,double*zn,int *tn,int jnum,int * /*jl*/) { + int i,jj,itype,jtype,kk,m,n,mcount,a,a1,a2,ai; + double delx,dely,delz,rsq; + int *ilist; int count=0; PairRANN::Simulation *sim = &pair->sims[sid]; int *type = sim->type; @@ -557,15 +551,14 @@ void Fingerprint_bond::do3bodyfeatureset_singleneighborloop(double * features,do } //Called by do3bodyfeatureset. Algorithm for low neighbor numbers and large series of bond angle powers -void Fingerprint_bond::do3bodyfeatureset_doubleneighborloop(double * features,double * dfeaturesx,double *dfeaturesy,double *dfeaturesz,int ii, int sid,double *xn,double *yn,double*zn,int *tn,int jnum,int *jl) { - int i,j,jj,itype,jtype,ktype,kk,m,n; - double xtmp,ytmp,ztmp,delx,dely,delz,rsq; int *ilist,*jlist,*numneigh,**firstneigh; +void Fingerprint_bond::do3bodyfeatureset_doubleneighborloop(double * features,double * dfeaturesx,double *dfeaturesy,double *dfeaturesz,int ii, int sid,double *xn,double *yn,double*zn,int *tn,int jnum,int * /*jl*/) { + int i,jj,itype,jtype,ktype,kk,m,n; + double delx,dely,delz,rsq; int jtypes = atomtypes[1]; int ktypes = atomtypes[2]; int count=0; PairRANN::Simulation *sim = &pair->sims[sid]; - double **x = sim->x; int *type = sim->type; int nelements = pair->nelements; int res = pair->res; diff --git a/src/USER-RANN/rann_fingerprint_bondscreened.cpp b/src/USER-RANN/rann_fingerprint_bondscreened.cpp index c81fcd428a..59fed322a3 100644 --- a/src/USER-RANN/rann_fingerprint_bondscreened.cpp +++ b/src/USER-RANN/rann_fingerprint_bondscreened.cpp @@ -288,7 +288,6 @@ void Fingerprint_bondscreened::generate_coefficients() { //calculates multi //Called by getproperties. Gets 3-body features and dfeatures void Fingerprint_bondscreened::compute_fingerprint(double * features,double * dfeaturesx,double *dfeaturesy,double *dfeaturesz,double *Sik, double *dSikx, double*dSiky, double *dSikz, double *dSijkx, double *dSijky, double *dSijkz, bool *Bij, int ii,int sid,double *xn,double *yn,double*zn,int *tn,int jnum,int *jl) { - int i; //select the more efficient algorithm for this particular potential and environment. if (jnum*2>(mlength+1)*mlength*20) { do3bodyfeatureset_singleneighborloop(features,dfeaturesx,dfeaturesy,dfeaturesz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,sid,xn,yn,zn,tn,jnum,jl); @@ -300,10 +299,10 @@ void Fingerprint_bondscreened::compute_fingerprint(double * features,double * df } //Called by do3bodyfeatureset. Algorithm for high neighbor numbers and small series of bond angle powers -void Fingerprint_bondscreened::do3bodyfeatureset_singleneighborloop(double * features,double * dfeaturesx,double *dfeaturesy,double *dfeaturesz,double *Sik, double *dSikx, double*dSiky, double *dSikz, double *dSijkx, double *dSijky, double *dSijkz, bool *Bij,int ii,int sid,double *xn,double *yn,double*zn,int *tn,int jnum,int *jl) { - int i,j,jj,itype,jtype,kk,m,n,mcount,a,a1,a2,ai; - double xtmp,ytmp,ztmp,delx,dely,delz,rsq; - int *ilist,*jlist,*numneigh,**firstneigh; +void Fingerprint_bondscreened::do3bodyfeatureset_singleneighborloop(double * features,double * dfeaturesx,double *dfeaturesy,double *dfeaturesz,double *Sik, double *dSikx, double*dSiky, double *dSikz, double *dSijkx, double *dSijky, double *dSijkz, bool *Bij,int ii,int sid,double *xn,double *yn,double*zn,int *tn,int jnum,int * /*jl*/) { + int i,jj,itype,jtype,kk,m,n,mcount,a,a1,a2,ai; + double delx,dely,delz,rsq; + int *ilist; int count=0; PairRANN::Simulation *sim = &pair->sims[sid]; int *type = sim->type; @@ -594,10 +593,10 @@ void Fingerprint_bondscreened::do3bodyfeatureset_singleneighborloop(double * fea } //Called by do3bodyfeatureset. Algorithm for low neighbor numbers and large series of bond angle powers -void Fingerprint_bondscreened::do3bodyfeatureset_doubleneighborloop(double * features,double * dfeaturesx,double *dfeaturesy,double *dfeaturesz,double *Sik, double *dSikx, double*dSiky, double *dSikz, double *dSijkx, double *dSijky, double *dSijkz, bool *Bij,int ii,int sid,double *xn,double *yn,double*zn,int *tn,int jnum,int *jl) { - int i,j,jj,itype,jtype,ktype,kk,m,n; - double xtmp,ytmp,ztmp,delx,dely,delz,rsq; - int *ilist,*jlist,*numneigh,**firstneigh; +void Fingerprint_bondscreened::do3bodyfeatureset_doubleneighborloop(double * features,double * dfeaturesx,double *dfeaturesy,double *dfeaturesz,double *Sik, double *dSikx, double*dSiky, double *dSikz, double *dSijkx, double *dSijky, double *dSijkz, bool *Bij,int ii,int sid,double *xn,double *yn,double*zn,int *tn,int jnum,int * /*jl*/) { + int i,jj,itype,jtype,ktype,kk,m,n; + double delx,dely,delz,rsq; + int *ilist; int jtypes = atomtypes[1]; int ktypes = atomtypes[2]; int count=0; diff --git a/src/USER-RANN/rann_fingerprint_bondscreenedspin.cpp b/src/USER-RANN/rann_fingerprint_bondscreenedspin.cpp index fc051d08ee..0728b6a295 100644 --- a/src/USER-RANN/rann_fingerprint_bondscreenedspin.cpp +++ b/src/USER-RANN/rann_fingerprint_bondscreenedspin.cpp @@ -290,7 +290,6 @@ void Fingerprint_bondscreenedspin::generate_coefficients() { //calculates m //Called by getproperties. Gets 3-body features and dfeatures void Fingerprint_bondscreenedspin::compute_fingerprint(double * features,double * dfeaturesx,double *dfeaturesy,double *dfeaturesz, double *dspinx, double *dspiny, double *dspinz,double *Sik, double *dSikx, double*dSiky, double *dSikz, double *dSijkx, double *dSijky, double *dSijkz, bool *Bij, int ii,int sid,double *xn,double *yn,double*zn,int *tn,int jnum,int *jl) { - int i; //select the more efficient algorithm for this particular potential and environment. if (jnum*2>(mlength+1)*mlength*20) { do3bodyfeatureset_singleneighborloop(features,dfeaturesx,dfeaturesy,dfeaturesz,dspinx,dspiny,dspinz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,sid,xn,yn,zn,tn,jnum,jl); @@ -304,8 +303,8 @@ void Fingerprint_bondscreenedspin::compute_fingerprint(double * features,double //Called by do3bodyfeatureset. Algorithm for high neighbor numbers and small series of bond angle powers void Fingerprint_bondscreenedspin::do3bodyfeatureset_singleneighborloop(double * features,double * dfeaturesx,double *dfeaturesy,double *dfeaturesz, double *dspinx, double *dspiny, double *dspinz,double *Sik, double *dSikx, double*dSiky, double *dSikz, double *dSijkx, double *dSijky, double *dSijkz, bool *Bij, int ii,int sid,double *xn,double *yn,double*zn,int *tn,int jnum,int *jl) { int i,j,jj,itype,jtype,kk,m,n,mcount,a,a1,a2,ai; - double xtmp,ytmp,ztmp,delx,dely,delz,rsq; - int *ilist,*jlist,*numneigh,**firstneigh; + double delx,dely,delz,rsq; + int *ilist; int count=0; PairRANN::Simulation *sim = &pair->sims[sid]; int *type = sim->type; @@ -623,8 +622,8 @@ void Fingerprint_bondscreenedspin::do3bodyfeatureset_singleneighborloop(double * //Called by do3bodyfeatureset. Algorithm for low neighbor numbers and large series of bond angle powers void Fingerprint_bondscreenedspin::do3bodyfeatureset_doubleneighborloop(double * features,double * dfeaturesx,double *dfeaturesy,double *dfeaturesz, double *dspinx, double *dspiny, double *dspinz,double *Sik, double *dSikx, double*dSiky, double *dSikz, double *dSijkx, double *dSijky, double *dSijkz, bool *Bij, int ii,int sid,double *xn,double *yn,double*zn,int *tn,int jnum,int *jl) { int i,j,jj,itype,jtype,ktype,kk,m,n; - double xtmp,ytmp,ztmp,delx,dely,delz,rsq; - int *ilist,*jlist,*numneigh,**firstneigh; + double delx,dely,delz,rsq; + int *ilist; int jtypes = atomtypes[1]; int ktypes = atomtypes[2]; int count=0; diff --git a/src/USER-RANN/rann_fingerprint_bondspin.cpp b/src/USER-RANN/rann_fingerprint_bondspin.cpp index 22b88f5026..1005818217 100644 --- a/src/USER-RANN/rann_fingerprint_bondspin.cpp +++ b/src/USER-RANN/rann_fingerprint_bondspin.cpp @@ -288,12 +288,6 @@ void Fingerprint_bondspin::generate_coefficients() { //calculates multinomi //Called by getproperties. Gets 3-body features and dfeatures void Fingerprint_bondspin::compute_fingerprint(double * features,double * dfeaturesx,double *dfeaturesy,double *dfeaturesz,double * dspinx,double *dspiny,double *dspinz,int ii,int sid,double *xn,double *yn,double*zn,int *tn,int jnum,int *jl) { - int i; - int *ilist,*numneigh; - PairRANN::Simulation *sim = &pair->sims[sid]; - ilist = sim->ilist; - numneigh = sim->numneigh; - i = ilist[ii]; //select the more efficient algorithm for this particular potential and environment. if (jnum*2>(mlength+1)*mlength*20) { do3bodyfeatureset_singleneighborloop(features,dfeaturesx,dfeaturesy,dfeaturesz,dspinx,dspiny,dspinz,ii,sid,xn,yn,zn,tn,jnum,jl); @@ -306,8 +300,8 @@ void Fingerprint_bondspin::compute_fingerprint(double * features,double * dfeatu //Called by do3bodyfeatureset. Algorithm for high neighbor numbers and small series of bond angle powers void Fingerprint_bondspin::do3bodyfeatureset_singleneighborloop(double * features,double * dfeaturesx,double *dfeaturesy,double *dfeaturesz,double * dspinx,double *dspiny,double *dspinz,int ii,int sid,double *xn,double *yn,double*zn,int *tn,int jnum,int *jl) { int i,j,jj,itype,jtype,kk,m,n,mcount,a,a1,a2,ai; - double xtmp,ytmp,ztmp,delx,dely,delz,rsq; - int *ilist,*jlist,*numneigh,**firstneigh; + double delx,dely,delz,rsq; + int *ilist; int count=0; PairRANN::Simulation *sim = &pair->sims[sid]; int *type = sim->type; @@ -599,13 +593,12 @@ void Fingerprint_bondspin::do3bodyfeatureset_singleneighborloop(double * feature //Called by do3bodyfeatureset. Algorithm for low neighbor numbers and large series of bond angle powers void Fingerprint_bondspin::do3bodyfeatureset_doubleneighborloop(double * features,double * dfeaturesx,double *dfeaturesy,double *dfeaturesz,double * dspinx,double *dspiny,double *dspinz,int ii,int sid,double *xn,double *yn,double*zn,int *tn,int jnum,int *jl) { int i,j,jj,itype,jtype,ktype,kk,m,n; - double xtmp,ytmp,ztmp,delx,dely,delz,rsq; - int *ilist,*jlist,*numneigh,**firstneigh; + double delx,dely,delz,rsq; + int *ilist; int jtypes = atomtypes[1]; int ktypes = atomtypes[2]; int count=0; PairRANN::Simulation *sim = &pair->sims[sid]; - double **x = sim->x; int *type = sim->type; int nelements = pair->nelements; int res = pair->res; @@ -629,16 +622,16 @@ void Fingerprint_bondspin::do3bodyfeatureset_doubleneighborloop(double * feature for (jj = 0; jj < jnum; jj++) { jtype = tn[jj]; if (jtypes != nelements && jtypes != jtype && ktypes != nelements && ktypes != jtype) { - expr[jj][0]=0; - continue; + expr[jj][0]=0; + continue; } delx = xn[jj]; dely = yn[jj]; delz = zn[jj]; rsq = delx*delx + dely*dely + delz*delz; if (rsq>rc*rc) { - expr[jj][0]=0; - continue; + expr[jj][0]=0; + continue; } double r1 = (rsq*((double)res)*cutinv2); int m1 = (int)r1; @@ -649,7 +642,7 @@ void Fingerprint_bondspin::do3bodyfeatureset_doubleneighborloop(double * feature double *p2 = &expcuttable[(m1+1)*kmax]; double *p3 = &expcuttable[(m1+2)*kmax]; for (kk=0;kknelements; int res = pair->res; - int i,j,jj,itype,jtype,l; - double xtmp,ytmp,ztmp,delx,dely,delz,rsq; - int *ilist,*jlist,*numneigh,**firstneigh; + int i,jj,itype,jtype,l; + double delx,dely,delz,rsq; + int *ilist; // PairRANN::Simulation *sim = &pair->sims[sid]; int count=0; diff --git a/src/USER-RANN/rann_fingerprint_radialscreened.cpp b/src/USER-RANN/rann_fingerprint_radialscreened.cpp index ba9cee8de7..126b83fc51 100644 --- a/src/USER-RANN/rann_fingerprint_radialscreened.cpp +++ b/src/USER-RANN/rann_fingerprint_radialscreened.cpp @@ -176,17 +176,16 @@ void Fingerprint_radialscreened::init(int *i,int _id) id = _id; } -void Fingerprint_radialscreened::compute_fingerprint(double * features,double * dfeaturesx,double *dfeaturesy,double *dfeaturesz,double *Sik, double *dSikx, double*dSiky, double *dSikz, double *dSijkx, double *dSijky, double *dSijkz, bool *Bij,int ii,int sid,double *xn,double *yn,double*zn,int *tn,int jnum,int *jl) +void Fingerprint_radialscreened::compute_fingerprint(double * features,double * dfeaturesx,double *dfeaturesy,double *dfeaturesz,double *Sik, double *dSikx, double*dSiky, double *dSikz, double *dSijkx, double *dSijky, double *dSijkz, bool *Bij,int ii,int sid,double *xn,double *yn,double*zn,int *tn,int jnum,int * /*jl*/) { int nelements = pair->nelements; int res = pair->res; - int i,j,jj,itype,jtype,l,kk; - double xtmp,ytmp,ztmp,delx,dely,delz,rsq; - int *ilist,*jlist,*numneigh,**firstneigh; + int i,jj,itype,jtype,l,kk; + double delx,dely,delz,rsq; + int *ilist; // PairRANN::Simulation *sim = &pair->sims[sid]; int count=0; - double **x = sim->x; int *type = sim->type; ilist = sim->ilist; double cutmax = pair->cutmax; diff --git a/src/USER-RANN/rann_fingerprint_radialscreenedspin.cpp b/src/USER-RANN/rann_fingerprint_radialscreenedspin.cpp index 01defe8a7e..11674190fb 100644 --- a/src/USER-RANN/rann_fingerprint_radialscreenedspin.cpp +++ b/src/USER-RANN/rann_fingerprint_radialscreenedspin.cpp @@ -182,11 +182,10 @@ void Fingerprint_radialscreenedspin::compute_fingerprint(double * features,doubl int nelements = pair->nelements; int res = pair->res; int i,j,jj,itype,jtype,l,kk; - double xtmp,ytmp,ztmp,delx,dely,delz,rsq; - int *ilist,*jlist,*numneigh,**firstneigh; + double delx,dely,delz,rsq; + int *ilist; PairRANN::Simulation *sim = &pair->sims[sid]; int count=0; - double **x = sim->x; int *type = sim->type; ilist = sim->ilist; double cutmax = pair->cutmax; diff --git a/src/USER-RANN/rann_fingerprint_radialspin.cpp b/src/USER-RANN/rann_fingerprint_radialspin.cpp index 1ce43a44b2..2d0a2f68f1 100644 --- a/src/USER-RANN/rann_fingerprint_radialspin.cpp +++ b/src/USER-RANN/rann_fingerprint_radialspin.cpp @@ -181,8 +181,8 @@ void Fingerprint_radialspin::compute_fingerprint(double * features,double * dfea int nelements = pair->nelements; int res = pair->res; int i,j,jj,itype,jtype,l; - double xtmp,ytmp,ztmp,delx,dely,delz,rsq; - int *ilist,*jlist,*numneigh,**firstneigh; + int *ilist,**firstneigh; + double delx,dely,delz,rsq; // PairRANN::Simulation *sim = &pair->sims[sid]; int count=0; @@ -195,7 +195,6 @@ void Fingerprint_radialspin::compute_fingerprint(double * features,double * dfea double cutinv2 = 1/cutmax/cutmax; double *si = sim->s[i]; firstneigh = sim->firstneigh; - jlist = firstneigh[i]; //loop over neighbors for (jj = 0; jj < jnum; jj++) { j = jl[jj]; From 5a511c2e9285d88c611315bab1dbd5eee6f33550 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 17 Jun 2021 09:56:14 -0400 Subject: [PATCH 240/726] whitespace --- examples/ASPHERE/box/in.box | 124 ++++++++++++++++++------------------ 1 file changed, 62 insertions(+), 62 deletions(-) diff --git a/examples/ASPHERE/box/in.box b/examples/ASPHERE/box/in.box index 6018458231..b3f4cbc19f 100644 --- a/examples/ASPHERE/box/in.box +++ b/examples/ASPHERE/box/in.box @@ -1,111 +1,111 @@ # SRD diffusion demo - rigid box particles -units lj -atom_style sphere -atom_modify map array first big -dimension 2 +units lj +atom_style sphere +atom_modify map array first big +dimension 2 # read in clusters of rigid bodies fix molprop all property/atom mol -read_data data.box fix molprop NULL Molecules +read_data data.box fix molprop NULL Molecules + +set type 1 mass 1.0 +group big type 1 +velocity big create 1.44 87287 loop geom -set type 1 mass 1.0 -group big type 1 -velocity big create 1.44 87287 loop geom - # equilibrate big particles -pair_style soft 1.12 -pair_coeff 1 1 0.0 -pair_coeff 2 2 0.0 0.0 -pair_coeff 1 2 0.0 0.0 +pair_style soft 1.12 +pair_coeff 1 1 0.0 +pair_coeff 2 2 0.0 0.0 +pair_coeff 1 2 0.0 0.0 variable prefactor equal ramp(0,60) fix soft all adapt 1 pair soft a * * v_prefactor -neighbor 0.3 bin -neigh_modify delay 0 every 1 check yes +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes -fix 1 big rigid molecule -fix 2 all enforce2d +fix 1 big rigid molecule +fix 2 all enforce2d -#dump 1 all atom 10 dump.box.equil +#dump 1 all atom 10 dump.box.equil -compute tbig all temp/sphere -thermo_modify temp tbig +compute tbig all temp/sphere +thermo_modify temp tbig -thermo 100 -run 1000 +thermo 100 +run 1000 -#undump 1 +#undump 1 unfix soft -unfix 1 -unfix 2 +unfix 1 +unfix 2 # add small particles as hi density lattice -region plane block INF INF INF INF -0.001 0.001 units box -lattice sq 85.0 -create_atoms 2 region plane +region plane block INF INF INF INF -0.001 0.001 units box +lattice sq 85.0 +create_atoms 2 region plane -set type 2 mass 0.1 -group small type 2 -velocity small create 1.0 593849 loop geom +set type 2 mass 0.1 +group small type 2 +velocity small create 1.0 593849 loop geom # delete overlaps # must set 1-2 cutoff to non-zero value -pair_style lj/cut 2.5 -pair_coeff 1 1 1.0 1.0 -pair_coeff 2 2 0.0 1.0 0.0 -pair_coeff 1 2 0.0 1.0 1.0 +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 +pair_coeff 2 2 0.0 1.0 0.0 +pair_coeff 1 2 0.0 1.0 1.0 -delete_atoms overlap 1.0 small big +delete_atoms overlap 1.0 small big # SRD run -reset_timestep 0 +reset_timestep 0 -neighbor 0.3 multi -neigh_modify delay 0 every 1 check yes +neighbor 0.3 multi +neigh_modify delay 0 every 1 check yes -comm_modify mode multi group big vel yes -neigh_modify include big +comm_modify mode multi group big vel yes +neigh_modify include big # no pairwise interactions with small particles -pair_style lj/cut 2.5 -pair_coeff 1 1 1.0 1.0 -pair_coeff 2 2 0.0 1.0 0.0 -pair_coeff 1 2 0.0 1.0 0.0 +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 +pair_coeff 2 2 0.0 1.0 0.0 +pair_coeff 1 2 0.0 1.0 0.0 # use fix SRD to push small particles out from inside big ones # if comment out, big particles won't see SRD particles -timestep 0.001 +timestep 0.001 -fix 1 big rigid molecule -fix 2 small srd 20 big 1.0 0.25 49894 shift yes 54979 & - search 0.2 collision slip inside ignore overlap yes -fix 3 all enforce2d +fix 1 big rigid molecule +fix 2 small srd 20 big 1.0 0.25 49894 shift yes 54979 & + search 0.2 collision slip inside ignore overlap yes +fix 3 all enforce2d # diagnostics uncompute tbig -compute tbig big temp/sphere -variable pebig equal pe*atoms/count(big) -variable ebig equal etotal*atoms/count(big) -thermo_style custom step temp f_2[8] etotal v_pebig v_ebig press & - f_2[1] f_2[2] f_2[3] f_2[4] f_2[5] & - f_2[6] f_2[7] f_2[8] f_2[9] f_2[10] f_2[11] f_2[12] +compute tbig big temp/sphere +variable pebig equal pe*atoms/count(big) +variable ebig equal etotal*atoms/count(big) +thermo_style custom step temp f_2[8] etotal v_pebig v_ebig press & + f_2[1] f_2[2] f_2[3] f_2[4] f_2[5] & + f_2[6] f_2[7] f_2[8] f_2[9] f_2[10] f_2[11] f_2[12] -thermo_modify temp tbig -thermo 1000 +thermo_modify temp tbig +thermo 1000 -#dump 1 all atom 1000 dump.box +#dump 1 all atom 1000 dump.box -#dump 1 all image 1000 image.*.jpg type type zoom 1.6 -#dump_modify 1 pad 6 adiam 1 1 adiam 2 0.2 +#dump 1 all image 1000 image.*.jpg type type zoom 1.6 +#dump_modify 1 pad 6 adiam 1 1 adiam 2 0.2 -run 100000 +run 100000 From a90a48c038498332c876144c6b469fb62f67b04b Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 17 Jun 2021 10:35:07 -0400 Subject: [PATCH 241/726] update ASPHERE box/srd example --- examples/ASPHERE/box/in.box | 6 +- examples/ASPHERE/box/in.box.mp | 130 ++++---- examples/ASPHERE/box/log.17Jun21.box.g++.1 | 309 +++++++++++++++++ examples/ASPHERE/box/log.17Jun21.box.g++.4 | 309 +++++++++++++++++ examples/ASPHERE/box/log.17Jun21.box.mp.g++.1 | 310 ++++++++++++++++++ examples/ASPHERE/box/log.17Jun21.box.mp.g++.4 | 310 ++++++++++++++++++ examples/ASPHERE/box/log.1Feb14.box.g++.8 | 290 ---------------- examples/ASPHERE/box/log.1Feb14.box.mp.g++.8 | 291 ---------------- 8 files changed, 1306 insertions(+), 649 deletions(-) create mode 100644 examples/ASPHERE/box/log.17Jun21.box.g++.1 create mode 100644 examples/ASPHERE/box/log.17Jun21.box.g++.4 create mode 100644 examples/ASPHERE/box/log.17Jun21.box.mp.g++.1 create mode 100644 examples/ASPHERE/box/log.17Jun21.box.mp.g++.4 delete mode 100644 examples/ASPHERE/box/log.1Feb14.box.g++.8 delete mode 100644 examples/ASPHERE/box/log.1Feb14.box.mp.g++.8 diff --git a/examples/ASPHERE/box/in.box b/examples/ASPHERE/box/in.box index b3f4cbc19f..96b0605fc8 100644 --- a/examples/ASPHERE/box/in.box +++ b/examples/ASPHERE/box/in.box @@ -7,7 +7,7 @@ dimension 2 # read in clusters of rigid bodies -fix molprop all property/atom mol +fix molprop all property/atom mol ghost yes read_data data.box fix molprop NULL Molecules set type 1 mass 1.0 @@ -17,7 +17,7 @@ velocity big create 1.44 87287 loop geom # equilibrate big particles pair_style soft 1.12 -pair_coeff 1 1 0.0 +pair_coeff 1 1 0.0 pair_coeff 2 2 0.0 0.0 pair_coeff 1 2 0.0 0.0 @@ -108,4 +108,4 @@ thermo 1000 #dump 1 all image 1000 image.*.jpg type type zoom 1.6 #dump_modify 1 pad 6 adiam 1 1 adiam 2 0.2 -run 100000 +run 10000 diff --git a/examples/ASPHERE/box/in.box.mp b/examples/ASPHERE/box/in.box.mp index ce1591c7dc..d60b973d62 100644 --- a/examples/ASPHERE/box/in.box.mp +++ b/examples/ASPHERE/box/in.box.mp @@ -1,112 +1,112 @@ # SRD viscosity demo - rigid box particles -units lj -atom_style sphere -atom_modify map array first big -dimension 2 +units lj +atom_style sphere +atom_modify map array first big +dimension 2 # read in clusters of rigid bodies -fix molprop all property/atom mol -read_data data.box fix molprop NULL Molecules +fix molprop all property/atom mol ghost yes +read_data data.box fix molprop NULL Molecules + +set type 1 mass 1.0 +group big type 1 +velocity big create 1.44 87287 loop geom -set type 1 mass 1.0 -group big type 1 -velocity big create 1.44 87287 loop geom - # equilibrate big particles -pair_style soft 1.12 -pair_coeff 1 1 0.0 -pair_coeff 2 2 0.0 0.0 -pair_coeff 1 2 0.0 0.0 +pair_style soft 1.12 +pair_coeff 1 1 0.0 +pair_coeff 2 2 0.0 0.0 +pair_coeff 1 2 0.0 0.0 variable prefactor equal ramp(0,60) fix soft all adapt 1 pair soft a * * v_prefactor -neighbor 0.3 bin -neigh_modify delay 0 every 1 check yes +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes -fix 1 big rigid molecule -fix 2 all enforce2d +fix 1 big rigid molecule +fix 2 all enforce2d -#dump 1 all atom 10 dump.box.equil +#dump 1 all atom 10 dump.box.equil -compute tbig all temp/sphere -thermo_modify temp tbig +compute tbig all temp/sphere +thermo_modify temp tbig -thermo 100 -run 1000 +thermo 100 +run 1000 -#undump 1 -unfix soft -unfix 1 -unfix 2 +#undump 1 +unfix soft +unfix 1 +unfix 2 # add small particles as hi density lattice -region plane block INF INF INF INF -0.001 0.001 units box -lattice sq 85.0 -create_atoms 2 region plane +region plane block INF INF INF INF -0.001 0.001 units box +lattice sq 85.0 +create_atoms 2 region plane -set type 2 mass 0.1 -group small type 2 -velocity small create 1.0 593849 loop geom +set type 2 mass 0.1 +group small type 2 +velocity small create 1.0 593849 loop geom # delete overlaps # must set 1-2 cutoff to non-zero value -pair_style lj/cut 2.5 -pair_coeff 1 1 1.0 1.0 -pair_coeff 2 2 0.0 1.0 0.0 -pair_coeff 1 2 0.0 1.0 1.0 +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 +pair_coeff 2 2 0.0 1.0 0.0 +pair_coeff 1 2 0.0 1.0 1.0 -delete_atoms overlap 1.0 small big +delete_atoms overlap 1.0 small big # SRD run -reset_timestep 0 +reset_timestep 0 -neighbor 0.3 multi -neigh_modify delay 0 every 1 check yes +neighbor 0.3 multi +neigh_modify delay 0 every 1 check yes -comm_modify mode multi group big vel yes -neigh_modify include big +comm_modify mode multi group big vel yes +neigh_modify include big # no pairwise interactions with small particles -pair_style lj/cut 2.5 -pair_coeff 1 1 1.0 1.0 -pair_coeff 2 2 0.0 1.0 0.0 -pair_coeff 1 2 0.0 1.0 0.0 +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 +pair_coeff 2 2 0.0 1.0 0.0 +pair_coeff 1 2 0.0 1.0 0.0 # use fix SRD to push small particles out from inside big ones # if comment out, big particles won't see SRD particles -timestep 0.001 +timestep 0.001 -fix 1 big rigid molecule -fix 2 small srd 20 big 1.0 0.25 49894 shift yes 54979 & - search 0.2 collision slip inside ignore overlap yes -fix 3 small viscosity 10 x y 50 -fix 4 all enforce2d +fix 1 big rigid molecule +fix 2 small srd 20 big 1.0 0.25 49894 shift yes 54979 & + search 0.2 collision slip inside ignore overlap yes +fix 3 small viscosity 10 x y 50 +fix 4 all enforce2d # diagnostics uncompute tbig -compute tbig big temp/sphere -variable pebig equal pe*atoms/count(big) -variable ebig equal etotal*atoms/count(big) -thermo_style custom step temp f_2[8] etotal v_pebig v_ebig press & - f_2[1] f_2[2] f_2[3] f_2[4] f_2[5] & - f_2[6] f_2[7] f_2[8] f_2[9] f_2[10] f_2[11] f_2[12] +compute tbig big temp/sphere +variable pebig equal pe*atoms/count(big) +variable ebig equal etotal*atoms/count(big) +thermo_style custom step temp f_2[8] etotal v_pebig v_ebig press & + f_2[1] f_2[2] f_2[3] f_2[4] f_2[5] & + f_2[6] f_2[7] f_2[8] f_2[9] f_2[10] f_2[11] f_2[12] -thermo_modify temp tbig -thermo 1000 +thermo_modify temp tbig +thermo 1000 -#dump 1 all atom 1000 dump.box.mp +#dump 1 all atom 1000 dump.box.mp -#dump 1 all image 1000 image.*.jpg type type zoom 1.6 -#dump_modify 1 pad 6 adiam 1 1 adiam 2 0.2 +#dump 1 all image 1000 image.*.jpg type type zoom 1.6 +#dump_modify 1 pad 6 adiam 1 1 adiam 2 0.2 -run 100000 +run 10000 diff --git a/examples/ASPHERE/box/log.17Jun21.box.g++.1 b/examples/ASPHERE/box/log.17Jun21.box.g++.1 new file mode 100644 index 0000000000..e3e4f79fcc --- /dev/null +++ b/examples/ASPHERE/box/log.17Jun21.box.g++.1 @@ -0,0 +1,309 @@ +LAMMPS (27 May 2021) + using 1 OpenMP thread(s) per MPI task +# SRD diffusion demo - rigid box particles + +units lj +atom_style sphere +atom_modify map array first big +dimension 2 + +# read in clusters of rigid bodies + +fix molprop all property/atom mol ghost yes +read_data data.box fix molprop NULL Molecules +Reading data file ... + orthogonal box = (-19.144690 -19.144690 -0.50000000) to (19.144690 19.144690 0.50000000) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 420 atoms + read_data CPU = 0.002 seconds + +set type 1 mass 1.0 +Setting atom values ... + 420 settings made for mass +group big type 1 +420 atoms in group big +velocity big create 1.44 87287 loop geom + +# equilibrate big particles + +pair_style soft 1.12 +pair_coeff 1 1 0.0 +pair_coeff 2 2 0.0 0.0 +pair_coeff 1 2 0.0 0.0 + +variable prefactor equal ramp(0,60) +fix soft all adapt 1 pair soft a * * v_prefactor + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 1 big rigid molecule + 30 rigid bodies with 420 atoms +fix 2 all enforce2d + +#dump 1 all atom 10 dump.box.equil + +compute tbig all temp/sphere +thermo_modify temp tbig + +thermo 100 +run 1000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.42 + ghost atom cutoff = 1.42 + binsize = 0.71, bins = 54 54 2 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair soft, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/2d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 5.570 | 5.570 | 5.570 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.4252596 0 0 0.14931291 -8.727261 + 100 4.7699234 3.4203218 0 3.9200281 0.63667047 + 200 14.850064 5.3315601 0 6.8872811 0.71533738 + 300 21.249889 7.2094878 0 9.4356667 1.0710181 + 400 24.551027 9.2008598 0 11.772872 1.0133205 + 500 23.999755 11.562353 0 14.076613 1.3275867 + 600 25.022182 13.731564 0 16.352935 1.0236907 + 700 26.601942 15.850142 0 18.637012 0.80166569 + 800 24.154216 18.395444 0 20.925886 1.7521839 + 900 27.3897 20.3322 0 23.201597 0.65472411 + 1000 27.381112 22.600716 0 25.469214 0.69152692 +Loop time of 0.0920079 on 1 procs for 1000 steps with 420 atoms + +Performance: 4695251.138 tau/day, 10868.637 timesteps/s +98.7% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.029557 | 0.029557 | 0.029557 | 0.0 | 32.12 +Neigh | 0.011621 | 0.011621 | 0.011621 | 0.0 | 12.63 +Comm | 0.0041208 | 0.0041208 | 0.0041208 | 0.0 | 4.48 +Output | 0.00034363 | 0.00034363 | 0.00034363 | 0.0 | 0.37 +Modify | 0.042122 | 0.042122 | 0.042122 | 0.0 | 45.78 +Other | | 0.004243 | | | 4.61 + +Nlocal: 420.000 ave 420 max 420 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 84.0000 ave 84 max 84 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 562.000 ave 562 max 562 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 562 +Ave neighs/atom = 1.3380952 +Neighbor list builds = 158 +Dangerous builds = 0 + +#undump 1 +unfix soft +unfix 1 +unfix 2 + +# add small particles as hi density lattice + +region plane block INF INF INF INF -0.001 0.001 units box +lattice sq 85.0 +Lattice spacing in x,y,z = 0.10846523 0.10846523 0.10846523 +create_atoms 2 region plane +Created 124609 atoms + create_atoms CPU = 0.042 seconds + +set type 2 mass 0.1 +Setting atom values ... + 124609 settings made for mass +group small type 2 +124609 atoms in group small +velocity small create 1.0 593849 loop geom + +# delete overlaps +# must set 1-2 cutoff to non-zero value + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 +pair_coeff 2 2 0.0 1.0 0.0 +pair_coeff 1 2 0.0 1.0 1.0 + +delete_atoms overlap 1.0 small big +System init for delete_atoms ... +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 28 28 1 + 2 neighbor lists, perpetual/occasional/extra = 1 1 0 + (1) command delete_atoms, occasional + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/2d + bin: standard + (2) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/2d + bin: standard +WARNING: Delete_atoms cutoff > minimum neighbor cutoff (src/delete_atoms.cpp:308) +Deleted 51030 atoms, new total = 73999 + +# SRD run + +reset_timestep 0 + +neighbor 0.3 multi +neigh_modify delay 0 every 1 check yes + +comm_modify mode multi group big vel yes +neigh_modify include big + +# no pairwise interactions with small particles + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 +pair_coeff 2 2 0.0 1.0 0.0 +pair_coeff 1 2 0.0 1.0 0.0 + +# use fix SRD to push small particles out from inside big ones +# if comment out, big particles won't see SRD particles + +timestep 0.001 + +fix 1 big rigid molecule + 30 rigid bodies with 420 atoms +fix 2 small srd 20 big 1.0 0.25 49894 shift yes 54979 search 0.2 collision slip inside ignore overlap yes +fix 3 all enforce2d + +# diagnostics + +uncompute tbig +compute tbig big temp/sphere +variable pebig equal pe*atoms/count(big) +variable ebig equal etotal*atoms/count(big) +thermo_style custom step temp f_2[8] etotal v_pebig v_ebig press f_2[1] f_2[2] f_2[3] f_2[4] f_2[5] f_2[6] f_2[7] f_2[8] f_2[9] f_2[10] f_2[11] f_2[12] +WARNING: New thermo_style command, previous thermo_modify settings will be lost (src/output.cpp:689) + +thermo_modify temp tbig +WARNING: Temperature for thermo pressure is not for group all (src/thermo.cpp:483) +thermo 1000 + +#dump 1 all atom 1000 dump.box + +#dump 1 all image 1000 image.*.jpg type type zoom 1.6 +#dump_modify 1 pad 6 adiam 1 1 adiam 2 0.2 + +run 10000 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- neighbor multi command: doi:10.1016/j.cpc.2008.03.005, doi:10.1007/s40571-020-00361-2 + +@Article{Intveld08, + author = {P.{\,}J.~in{\,}'t~Veld and S.{\,}J.~Plimpton and G.{\,}S.~Grest}, + title = {Accurate and Efficient Methods for Modeling Colloidal + Mixtures in an Explicit Solvent using Molecular Dynamics}, + journal = {Comp.~Phys.~Comm.}, + year = 2008, + volume = 179, + pages = {320--329} +} + +@article{Stratford2018, + author = {Stratford, Kevin and Shire, Tom and Hanley, Kevin}, + title = {Implementation of multi-level contact detection in LAMMPS}, + year = {2018} +} + +@article{Shire2020, + author = {Shire, Tom and Hanley, Kevin J. and Stratford, Kevin}, + title = {DEM simulations of polydisperse media: efficient contact + detection applied to investigate the quasi-static limit}, + journal = {Computational Particle Mechanics}, + year = {2020} +} + +- fix srd command: + +@Article{Petersen10, + author = {M. K. Petersen, J. B. Lechman, S. J. Plimpton, G. S. Grest, P. J. in 't Veld, P. R. Schunk}, + title = {Mesoscale Hydrodynamics via Stochastic Rotation Dynamics: Comparison with Lennard-Jones Fluid}, journal = {J.~Chem.~Phys.}, + year = 2010, + volume = 132, + pages = {174106} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +SRD info: + SRD/big particles = 73579 420 + big particle diameter max/min = 1.0000000 1.0000000 + SRD temperature & lamda = 1.0000000 0.063245553 + SRD max distance & max velocity = 0.25298221 12.649111 + SRD grid counts: 153 153 1 + SRD grid size: request, actual (xyz) = 0.25000000, 0.25025738 0.25025738 1.0000000 + SRD per actual grid cell = 4.0557326 + SRD viscosity = 0.22929663 + big/SRD mass density ratio = 0.19661407 +WARNING: Fix srd grid size > 1/4 of big particle diameter (src/SRD/fix_srd.cpp:2845) + # of rescaled SRD velocities = 0 + ave/max small velocity = 4.1966772 7.7276214 + ave/max big velocity = 2.1275716 5.8359099 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 38.289379, bins = 1 1 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/multi/newton + stencil: half/multi/2d + bin: multi +Per MPI rank memory allocation (min/avg/max) = 75.37 | 75.37 | 75.37 Mbytes +Step Temp f_2[8] TotEng v_pebig v_ebig Press f_2[1] f_2[2] f_2[3] f_2[4] f_2[5] f_2[6] f_2[7] f_2[8] f_2[9] f_2[10] f_2[11] f_2[12] + 0 27.381112 0 0.25599398 42.234595 45.103092 0.74047865 0 0 0 0 0 0 0 0 0 0 0 0 + 1000 3.7986429 16232 0.24173874 42.193535 42.591488 10.849557 10086 45 45 0 1004 51984 23409 16232 0.91196906 0 5 0 + 2000 1.4227624 16312 0.24027816 42.185099 42.334151 11.114609 10229 28 28 0 1829 51984 23409 16312 0.91266737 0 5 0 + 3000 1.2870561 16338 0.24012829 42.172911 42.307746 9.1532934 10247 29 29 0 2474 51984 23409 16338 0.92249481 0 5 0 + 4000 0.99207377 16354 0.23996323 42.174734 42.278665 13.010306 10390 42 42 0 3137 51984 23409 16354 0.93252257 0 5 0 + 5000 1.2778672 16234 0.24012389 42.1731 42.306972 11.375628 10158 39 39 0 3802 51984 23409 16234 0.93405963 0 7 0 + 6000 0.92241679 16273 0.23984728 42.161601 42.258235 9.4164757 10190 34 35 0 4514 51984 23409 16273 0.94347665 0 7 0 + 7000 1.4747828 16291 0.24015741 42.158375 42.312876 11.273642 10208 40 40 0 5231 51984 23409 16291 0.94315382 0 7 0 + 8000 1.143932 16385 0.23997671 42.1612 42.28104 11.518583 10409 31 31 0 5954 51984 23409 16385 0.94024078 0 7 0 + 9000 1.123729 16298 0.23981793 42.135341 42.253065 14.210625 10067 51 51 0 6654 51984 23409 16298 0.9463894 0 7 0 + 10000 1.0362924 16356 0.23977465 42.136875 42.245439 10.19621 10227 33 34 0 7437 51984 23409 16356 0.94188712 0 7 0 +Loop time of 41.8379 on 1 procs for 10000 steps with 73999 atoms + +Performance: 20651.124 tau/day, 239.018 timesteps/s +99.4% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.44984 | 0.44984 | 0.44984 | 0.0 | 1.08 +Neigh | 0.11618 | 0.11618 | 0.11618 | 0.0 | 0.28 +Comm | 0.4757 | 0.4757 | 0.4757 | 0.0 | 1.14 +Output | 0.0035887 | 0.0035887 | 0.0035887 | 0.0 | 0.01 +Modify | 40.52 | 40.52 | 40.52 | 0.0 | 96.85 +Other | | 0.2722 | | | 0.65 + +Nlocal: 73999.0 ave 73999 max 73999 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 135.000 ave 135 max 135 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 2407.00 ave 2407 max 2407 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 2407 +Ave neighs/atom = 0.032527467 +Neighbor list builds = 500 +Dangerous builds = 0 +Total wall time: 0:00:45 diff --git a/examples/ASPHERE/box/log.17Jun21.box.g++.4 b/examples/ASPHERE/box/log.17Jun21.box.g++.4 new file mode 100644 index 0000000000..d530d04c3c --- /dev/null +++ b/examples/ASPHERE/box/log.17Jun21.box.g++.4 @@ -0,0 +1,309 @@ +LAMMPS (27 May 2021) + using 1 OpenMP thread(s) per MPI task +# SRD diffusion demo - rigid box particles + +units lj +atom_style sphere +atom_modify map array first big +dimension 2 + +# read in clusters of rigid bodies + +fix molprop all property/atom mol ghost yes +read_data data.box fix molprop NULL Molecules +Reading data file ... + orthogonal box = (-19.144690 -19.144690 -0.50000000) to (19.144690 19.144690 0.50000000) + 2 by 2 by 1 MPI processor grid + reading atoms ... + 420 atoms + read_data CPU = 0.009 seconds + +set type 1 mass 1.0 +Setting atom values ... + 420 settings made for mass +group big type 1 +420 atoms in group big +velocity big create 1.44 87287 loop geom + +# equilibrate big particles + +pair_style soft 1.12 +pair_coeff 1 1 0.0 +pair_coeff 2 2 0.0 0.0 +pair_coeff 1 2 0.0 0.0 + +variable prefactor equal ramp(0,60) +fix soft all adapt 1 pair soft a * * v_prefactor + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 1 big rigid molecule + 30 rigid bodies with 420 atoms +fix 2 all enforce2d + +#dump 1 all atom 10 dump.box.equil + +compute tbig all temp/sphere +thermo_modify temp tbig + +thermo 100 +run 1000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.42 + ghost atom cutoff = 1.42 + binsize = 0.71, bins = 54 54 2 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair soft, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/2d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 5.557 | 5.557 | 5.558 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.4252596 0 0 0.14931291 -8.727261 + 100 4.7699234 3.4203218 0 3.9200281 0.63667047 + 200 14.850064 5.3315601 0 6.8872811 0.71533738 + 300 21.249889 7.2094878 0 9.4356667 1.0710181 + 400 24.551027 9.2008598 0 11.772872 1.0133205 + 500 23.999755 11.562353 0 14.076613 1.3275867 + 600 25.022182 13.731564 0 16.352935 1.0236907 + 700 26.601942 15.850142 0 18.637012 0.80166569 + 800 24.154216 18.395444 0 20.925886 1.7521839 + 900 27.3897 20.3322 0 23.201597 0.65472411 + 1000 27.381112 22.600716 0 25.469214 0.69152692 +Loop time of 0.102477 on 4 procs for 1000 steps with 420 atoms + +Performance: 4215597.184 tau/day, 9758.327 timesteps/s +87.7% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0086884 | 0.011084 | 0.012345 | 1.4 | 10.82 +Neigh | 0.0038968 | 0.0042393 | 0.0045272 | 0.4 | 4.14 +Comm | 0.028577 | 0.030455 | 0.032476 | 1.0 | 29.72 +Output | 0.00028127 | 0.00044494 | 0.0009265 | 0.0 | 0.43 +Modify | 0.041755 | 0.042937 | 0.044332 | 0.4 | 41.90 +Other | | 0.01332 | | | 13.00 + +Nlocal: 105.000 ave 130 max 77 min +Histogram: 1 0 1 0 0 0 0 0 1 1 +Nghost: 39.0000 ave 49 max 21 min +Histogram: 1 0 0 0 0 0 1 0 1 1 +Neighs: 140.500 ave 180 max 105 min +Histogram: 2 0 0 0 0 0 0 0 1 1 + +Total # of neighbors = 562 +Ave neighs/atom = 1.3380952 +Neighbor list builds = 158 +Dangerous builds = 0 + +#undump 1 +unfix soft +unfix 1 +unfix 2 + +# add small particles as hi density lattice + +region plane block INF INF INF INF -0.001 0.001 units box +lattice sq 85.0 +Lattice spacing in x,y,z = 0.10846523 0.10846523 0.10846523 +create_atoms 2 region plane +Created 124609 atoms + create_atoms CPU = 0.025 seconds + +set type 2 mass 0.1 +Setting atom values ... + 124609 settings made for mass +group small type 2 +124609 atoms in group small +velocity small create 1.0 593849 loop geom + +# delete overlaps +# must set 1-2 cutoff to non-zero value + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 +pair_coeff 2 2 0.0 1.0 0.0 +pair_coeff 1 2 0.0 1.0 1.0 + +delete_atoms overlap 1.0 small big +System init for delete_atoms ... +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 28 28 1 + 2 neighbor lists, perpetual/occasional/extra = 1 1 0 + (1) command delete_atoms, occasional + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/2d + bin: standard + (2) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/2d + bin: standard +WARNING: Delete_atoms cutoff > minimum neighbor cutoff (src/delete_atoms.cpp:308) +Deleted 51030 atoms, new total = 73999 + +# SRD run + +reset_timestep 0 + +neighbor 0.3 multi +neigh_modify delay 0 every 1 check yes + +comm_modify mode multi group big vel yes +neigh_modify include big + +# no pairwise interactions with small particles + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 +pair_coeff 2 2 0.0 1.0 0.0 +pair_coeff 1 2 0.0 1.0 0.0 + +# use fix SRD to push small particles out from inside big ones +# if comment out, big particles won't see SRD particles + +timestep 0.001 + +fix 1 big rigid molecule + 30 rigid bodies with 420 atoms +fix 2 small srd 20 big 1.0 0.25 49894 shift yes 54979 search 0.2 collision slip inside ignore overlap yes +fix 3 all enforce2d + +# diagnostics + +uncompute tbig +compute tbig big temp/sphere +variable pebig equal pe*atoms/count(big) +variable ebig equal etotal*atoms/count(big) +thermo_style custom step temp f_2[8] etotal v_pebig v_ebig press f_2[1] f_2[2] f_2[3] f_2[4] f_2[5] f_2[6] f_2[7] f_2[8] f_2[9] f_2[10] f_2[11] f_2[12] +WARNING: New thermo_style command, previous thermo_modify settings will be lost (src/output.cpp:689) + +thermo_modify temp tbig +WARNING: Temperature for thermo pressure is not for group all (src/thermo.cpp:483) +thermo 1000 + +#dump 1 all atom 1000 dump.box + +#dump 1 all image 1000 image.*.jpg type type zoom 1.6 +#dump_modify 1 pad 6 adiam 1 1 adiam 2 0.2 + +run 10000 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- neighbor multi command: doi:10.1016/j.cpc.2008.03.005, doi:10.1007/s40571-020-00361-2 + +@Article{Intveld08, + author = {P.{\,}J.~in{\,}'t~Veld and S.{\,}J.~Plimpton and G.{\,}S.~Grest}, + title = {Accurate and Efficient Methods for Modeling Colloidal + Mixtures in an Explicit Solvent using Molecular Dynamics}, + journal = {Comp.~Phys.~Comm.}, + year = 2008, + volume = 179, + pages = {320--329} +} + +@article{Stratford2018, + author = {Stratford, Kevin and Shire, Tom and Hanley, Kevin}, + title = {Implementation of multi-level contact detection in LAMMPS}, + year = {2018} +} + +@article{Shire2020, + author = {Shire, Tom and Hanley, Kevin J. and Stratford, Kevin}, + title = {DEM simulations of polydisperse media: efficient contact + detection applied to investigate the quasi-static limit}, + journal = {Computational Particle Mechanics}, + year = {2020} +} + +- fix srd command: + +@Article{Petersen10, + author = {M. K. Petersen, J. B. Lechman, S. J. Plimpton, G. S. Grest, P. J. in 't Veld, P. R. Schunk}, + title = {Mesoscale Hydrodynamics via Stochastic Rotation Dynamics: Comparison with Lennard-Jones Fluid}, journal = {J.~Chem.~Phys.}, + year = 2010, + volume = 132, + pages = {174106} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +SRD info: + SRD/big particles = 73579 420 + big particle diameter max/min = 1.0000000 1.0000000 + SRD temperature & lamda = 1.0000000 0.063245553 + SRD max distance & max velocity = 0.25298221 12.649111 + SRD grid counts: 153 153 1 + SRD grid size: request, actual (xyz) = 0.25000000, 0.25025738 0.25025738 1.0000000 + SRD per actual grid cell = 4.0557326 + SRD viscosity = 0.22929663 + big/SRD mass density ratio = 0.19661407 +WARNING: Fix srd grid size > 1/4 of big particle diameter (src/SRD/fix_srd.cpp:2845) + # of rescaled SRD velocities = 0 + ave/max small velocity = 4.1966772 7.7276214 + ave/max big velocity = 2.1275716 5.8359099 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 38.289379, bins = 1 1 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/multi/newton + stencil: half/multi/2d + bin: multi +Per MPI rank memory allocation (min/avg/max) = 27.16 | 27.18 | 27.21 Mbytes +Step Temp f_2[8] TotEng v_pebig v_ebig Press f_2[1] f_2[2] f_2[3] f_2[4] f_2[5] f_2[6] f_2[7] f_2[8] f_2[9] f_2[10] f_2[11] f_2[12] + 0 27.381112 0 0.25599398 42.234595 45.103092 0.74047865 0 0 0 0 0 0 0 0 0 0 0 0 + 1000 2.4803865 16183 0.24097572 42.197203 42.457053 10.685486 10313 34 34 0 1010 70756 23409 16183 0.91088084 0 10 0 + 2000 1.5192587 16288 0.2403558 42.18867 42.34783 12.991827 10247 51 51 0 1780 70756 23409 16288 0.91423542 0 10 0 + 3000 1.3453745 16254 0.24021083 42.181344 42.322288 10.311263 9901 36 36 0 2457 70756 23409 16254 0.92345925 0 10 0 + 4000 1.5208981 16348 0.24035467 42.188298 42.347631 11.118817 10195 32 33 2 3117 70756 23409 16348 0.93218296 0 10 0 + 5000 1.0700659 16291 0.2400755 42.186343 42.298445 9.3784033 10271 35 35 0 3810 70756 23409 16291 0.93211425 0 10 0 + 6000 1.0488908 16303 0.2400744 42.188368 42.298252 12.777782 10058 50 50 0 4557 70756 23409 16303 0.94151194 0 10 0 + 7000 1.331013 16244 0.24024721 42.189259 42.328698 10.953939 10388 36 36 0 5276 70756 23409 16244 0.94703063 0 10 0 + 8000 0.94738473 16321 0.23996282 42.179342 42.278592 11.767946 10161 41 41 0 5967 70756 23409 16321 0.94682195 0 10 0 + 9000 1.1009209 16291 0.24002765 42.17468 42.290015 8.045595 10584 33 33 0 6751 70756 23409 16291 0.94001295 0 10 0 + 10000 1.0564033 16282 0.23992848 42.161871 42.272542 12.284202 10257 40 40 0 7488 70756 23409 16282 0.94873736 0 10 0 +Loop time of 30.6515 on 4 procs for 10000 steps with 73999 atoms + +Performance: 28187.845 tau/day, 326.248 timesteps/s +90.0% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.14666 | 0.20404 | 0.29182 | 13.1 | 0.67 +Neigh | 0.040061 | 0.050996 | 0.068192 | 4.8 | 0.17 +Comm | 1.087 | 1.2248 | 1.2747 | 7.2 | 4.00 +Output | 0.0024737 | 0.0037751 | 0.0060755 | 2.4 | 0.01 +Modify | 28.133 | 28.273 | 28.452 | 2.3 | 92.24 +Other | | 0.8951 | | | 2.92 + +Nlocal: 18499.8 ave 20267 max 16093 min +Histogram: 1 0 0 0 1 0 0 0 1 1 +Nghost: 74.5000 ave 90 max 57 min +Histogram: 1 0 0 1 0 0 0 1 0 1 +Neighs: 590.250 ave 907 max 422 min +Histogram: 2 0 0 1 0 0 0 0 0 1 + +Total # of neighbors = 2361 +Ave neighs/atom = 0.031905837 +Neighbor list builds = 500 +Dangerous builds = 0 +Total wall time: 0:00:32 diff --git a/examples/ASPHERE/box/log.17Jun21.box.mp.g++.1 b/examples/ASPHERE/box/log.17Jun21.box.mp.g++.1 new file mode 100644 index 0000000000..02552a4c29 --- /dev/null +++ b/examples/ASPHERE/box/log.17Jun21.box.mp.g++.1 @@ -0,0 +1,310 @@ +LAMMPS (27 May 2021) + using 1 OpenMP thread(s) per MPI task +# SRD viscosity demo - rigid box particles + +units lj +atom_style sphere +atom_modify map array first big +dimension 2 + +# read in clusters of rigid bodies + +fix molprop all property/atom mol ghost yes +read_data data.box fix molprop NULL Molecules +Reading data file ... + orthogonal box = (-19.144690 -19.144690 -0.50000000) to (19.144690 19.144690 0.50000000) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 420 atoms + read_data CPU = 0.002 seconds + +set type 1 mass 1.0 +Setting atom values ... + 420 settings made for mass +group big type 1 +420 atoms in group big +velocity big create 1.44 87287 loop geom + +# equilibrate big particles + +pair_style soft 1.12 +pair_coeff 1 1 0.0 +pair_coeff 2 2 0.0 0.0 +pair_coeff 1 2 0.0 0.0 + +variable prefactor equal ramp(0,60) +fix soft all adapt 1 pair soft a * * v_prefactor + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 1 big rigid molecule + 30 rigid bodies with 420 atoms +fix 2 all enforce2d + +#dump 1 all atom 10 dump.box.equil + +compute tbig all temp/sphere +thermo_modify temp tbig + +thermo 100 +run 1000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.42 + ghost atom cutoff = 1.42 + binsize = 0.71, bins = 54 54 2 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair soft, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/2d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 5.570 | 5.570 | 5.570 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.4252596 0 0 0.14931291 -8.727261 + 100 4.7699234 3.4203218 0 3.9200281 0.63667047 + 200 14.850064 5.3315601 0 6.8872811 0.71533738 + 300 21.249889 7.2094878 0 9.4356667 1.0710181 + 400 24.551027 9.2008598 0 11.772872 1.0133205 + 500 23.999755 11.562353 0 14.076613 1.3275867 + 600 25.022182 13.731564 0 16.352935 1.0236907 + 700 26.601942 15.850142 0 18.637012 0.80166569 + 800 24.154216 18.395444 0 20.925886 1.7521839 + 900 27.3897 20.3322 0 23.201597 0.65472411 + 1000 27.381112 22.600716 0 25.469214 0.69152692 +Loop time of 0.0830324 on 1 procs for 1000 steps with 420 atoms + +Performance: 5202788.685 tau/day, 12043.492 timesteps/s +99.4% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.027522 | 0.027522 | 0.027522 | 0.0 | 33.15 +Neigh | 0.011039 | 0.011039 | 0.011039 | 0.0 | 13.29 +Comm | 0.0034208 | 0.0034208 | 0.0034208 | 0.0 | 4.12 +Output | 0.00033641 | 0.00033641 | 0.00033641 | 0.0 | 0.41 +Modify | 0.037199 | 0.037199 | 0.037199 | 0.0 | 44.80 +Other | | 0.003515 | | | 4.23 + +Nlocal: 420.000 ave 420 max 420 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 84.0000 ave 84 max 84 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 562.000 ave 562 max 562 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 562 +Ave neighs/atom = 1.3380952 +Neighbor list builds = 158 +Dangerous builds = 0 + +#undump 1 +unfix soft +unfix 1 +unfix 2 + +# add small particles as hi density lattice + +region plane block INF INF INF INF -0.001 0.001 units box +lattice sq 85.0 +Lattice spacing in x,y,z = 0.10846523 0.10846523 0.10846523 +create_atoms 2 region plane +Created 124609 atoms + create_atoms CPU = 0.044 seconds + +set type 2 mass 0.1 +Setting atom values ... + 124609 settings made for mass +group small type 2 +124609 atoms in group small +velocity small create 1.0 593849 loop geom + +# delete overlaps +# must set 1-2 cutoff to non-zero value + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 +pair_coeff 2 2 0.0 1.0 0.0 +pair_coeff 1 2 0.0 1.0 1.0 + +delete_atoms overlap 1.0 small big +System init for delete_atoms ... +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 28 28 1 + 2 neighbor lists, perpetual/occasional/extra = 1 1 0 + (1) command delete_atoms, occasional + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/2d + bin: standard + (2) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/2d + bin: standard +WARNING: Delete_atoms cutoff > minimum neighbor cutoff (src/delete_atoms.cpp:308) +Deleted 51030 atoms, new total = 73999 + +# SRD run + +reset_timestep 0 + +neighbor 0.3 multi +neigh_modify delay 0 every 1 check yes + +comm_modify mode multi group big vel yes +neigh_modify include big + +# no pairwise interactions with small particles + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 +pair_coeff 2 2 0.0 1.0 0.0 +pair_coeff 1 2 0.0 1.0 0.0 + +# use fix SRD to push small particles out from inside big ones +# if comment out, big particles won't see SRD particles + +timestep 0.001 + +fix 1 big rigid molecule + 30 rigid bodies with 420 atoms +fix 2 small srd 20 big 1.0 0.25 49894 shift yes 54979 search 0.2 collision slip inside ignore overlap yes +fix 3 small viscosity 10 x y 50 +fix 4 all enforce2d + +# diagnostics + +uncompute tbig +compute tbig big temp/sphere +variable pebig equal pe*atoms/count(big) +variable ebig equal etotal*atoms/count(big) +thermo_style custom step temp f_2[8] etotal v_pebig v_ebig press f_2[1] f_2[2] f_2[3] f_2[4] f_2[5] f_2[6] f_2[7] f_2[8] f_2[9] f_2[10] f_2[11] f_2[12] +WARNING: New thermo_style command, previous thermo_modify settings will be lost (src/output.cpp:689) + +thermo_modify temp tbig +WARNING: Temperature for thermo pressure is not for group all (src/thermo.cpp:483) +thermo 1000 + +#dump 1 all atom 1000 dump.box.mp + +#dump 1 all image 1000 image.*.jpg type type zoom 1.6 +#dump_modify 1 pad 6 adiam 1 1 adiam 2 0.2 + +run 10000 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- neighbor multi command: doi:10.1016/j.cpc.2008.03.005, doi:10.1007/s40571-020-00361-2 + +@Article{Intveld08, + author = {P.{\,}J.~in{\,}'t~Veld and S.{\,}J.~Plimpton and G.{\,}S.~Grest}, + title = {Accurate and Efficient Methods for Modeling Colloidal + Mixtures in an Explicit Solvent using Molecular Dynamics}, + journal = {Comp.~Phys.~Comm.}, + year = 2008, + volume = 179, + pages = {320--329} +} + +@article{Stratford2018, + author = {Stratford, Kevin and Shire, Tom and Hanley, Kevin}, + title = {Implementation of multi-level contact detection in LAMMPS}, + year = {2018} +} + +@article{Shire2020, + author = {Shire, Tom and Hanley, Kevin J. and Stratford, Kevin}, + title = {DEM simulations of polydisperse media: efficient contact + detection applied to investigate the quasi-static limit}, + journal = {Computational Particle Mechanics}, + year = {2020} +} + +- fix srd command: + +@Article{Petersen10, + author = {M. K. Petersen, J. B. Lechman, S. J. Plimpton, G. S. Grest, P. J. in 't Veld, P. R. Schunk}, + title = {Mesoscale Hydrodynamics via Stochastic Rotation Dynamics: Comparison with Lennard-Jones Fluid}, journal = {J.~Chem.~Phys.}, + year = 2010, + volume = 132, + pages = {174106} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +SRD info: + SRD/big particles = 73579 420 + big particle diameter max/min = 1.0000000 1.0000000 + SRD temperature & lamda = 1.0000000 0.063245553 + SRD max distance & max velocity = 0.25298221 12.649111 + SRD grid counts: 153 153 1 + SRD grid size: request, actual (xyz) = 0.25000000, 0.25025738 0.25025738 1.0000000 + SRD per actual grid cell = 4.0557326 + SRD viscosity = 0.22929663 + big/SRD mass density ratio = 0.19661407 +WARNING: Fix srd grid size > 1/4 of big particle diameter (src/SRD/fix_srd.cpp:2845) + # of rescaled SRD velocities = 0 + ave/max small velocity = 4.1966772 7.7276214 + ave/max big velocity = 2.1275716 5.8359099 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 38.289379, bins = 1 1 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/multi/newton + stencil: half/multi/2d + bin: multi +Per MPI rank memory allocation (min/avg/max) = 75.37 | 75.37 | 75.37 Mbytes +Step Temp f_2[8] TotEng v_pebig v_ebig Press f_2[1] f_2[2] f_2[3] f_2[4] f_2[5] f_2[6] f_2[7] f_2[8] f_2[9] f_2[10] f_2[11] f_2[12] + 0 27.381112 0 0.25599398 42.234595 45.103092 0.74047865 0 0 0 0 0 0 0 0 0 0 0 0 + 1000 2.9594916 16137 0.24127616 42.199945 42.509987 10.792325 10296 45 45 0 990 51984 23409 16137 0.90706131 0 10 0 + 2000 1.7108824 16274 0.24052684 42.198731 42.377967 9.5364607 10320 34 34 0 1741 51984 23409 16274 0.91369719 0 10 0 + 3000 1.3927232 16271 0.24024605 42.182589 42.328493 9.6211672 10122 29 29 0 2450 51984 23409 16271 0.92150155 0 10 0 + 4000 1.8264312 16304 0.24052774 42.186783 42.378124 9.2177883 10128 38 40 0 3114 51984 23409 16304 0.92089374 0 10 0 + 5000 1.6944513 16287 0.24043781 42.184766 42.36228 7.4352852 10198 31 31 0 3833 51984 23409 16287 0.92601496 0 10 0 + 6000 2.1923757 16301 0.24067781 42.174888 42.404565 11.864868 10340 39 39 0 4537 51984 23409 16301 0.93147673 0 10 0 + 7000 2.1699734 16292 0.24062985 42.168784 42.396114 9.6780093 9932 23 23 0 5290 51984 23409 16292 0.94127767 0 10 0 + 8000 2.8026605 16335 0.24100748 42.169037 42.462649 9.1457843 10044 38 38 0 6125 51984 23409 16335 0.93275263 0 10 0 + 9000 4.1434204 16297 0.24180594 42.169255 42.603328 12.358126 10095 37 37 0 6957 51984 23409 16297 0.9324244 0 10 0 + 10000 3.6168745 16237 0.24147749 42.166548 42.545459 9.1577014 10270 27 27 0 7779 51984 23409 16237 0.93952778 0 10 0 +Loop time of 40.9072 on 1 procs for 10000 steps with 73999 atoms + +Performance: 21120.990 tau/day, 244.456 timesteps/s +99.4% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.44663 | 0.44663 | 0.44663 | 0.0 | 1.09 +Neigh | 0.11472 | 0.11472 | 0.11472 | 0.0 | 0.28 +Comm | 0.45946 | 0.45946 | 0.45946 | 0.0 | 1.12 +Output | 0.0036154 | 0.0036154 | 0.0036154 | 0.0 | 0.01 +Modify | 39.618 | 39.618 | 39.618 | 0.0 | 96.85 +Other | | 0.2648 | | | 0.65 + +Nlocal: 73999.0 ave 73999 max 73999 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 126.000 ave 126 max 126 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 2406.00 ave 2406 max 2406 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 2406 +Ave neighs/atom = 0.032513953 +Neighbor list builds = 500 +Dangerous builds = 0 +Total wall time: 0:00:44 diff --git a/examples/ASPHERE/box/log.17Jun21.box.mp.g++.4 b/examples/ASPHERE/box/log.17Jun21.box.mp.g++.4 new file mode 100644 index 0000000000..dfb28a8585 --- /dev/null +++ b/examples/ASPHERE/box/log.17Jun21.box.mp.g++.4 @@ -0,0 +1,310 @@ +LAMMPS (27 May 2021) + using 1 OpenMP thread(s) per MPI task +# SRD viscosity demo - rigid box particles + +units lj +atom_style sphere +atom_modify map array first big +dimension 2 + +# read in clusters of rigid bodies + +fix molprop all property/atom mol ghost yes +read_data data.box fix molprop NULL Molecules +Reading data file ... + orthogonal box = (-19.144690 -19.144690 -0.50000000) to (19.144690 19.144690 0.50000000) + 2 by 2 by 1 MPI processor grid + reading atoms ... + 420 atoms + read_data CPU = 0.003 seconds + +set type 1 mass 1.0 +Setting atom values ... + 420 settings made for mass +group big type 1 +420 atoms in group big +velocity big create 1.44 87287 loop geom + +# equilibrate big particles + +pair_style soft 1.12 +pair_coeff 1 1 0.0 +pair_coeff 2 2 0.0 0.0 +pair_coeff 1 2 0.0 0.0 + +variable prefactor equal ramp(0,60) +fix soft all adapt 1 pair soft a * * v_prefactor + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 1 big rigid molecule + 30 rigid bodies with 420 atoms +fix 2 all enforce2d + +#dump 1 all atom 10 dump.box.equil + +compute tbig all temp/sphere +thermo_modify temp tbig + +thermo 100 +run 1000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.42 + ghost atom cutoff = 1.42 + binsize = 0.71, bins = 54 54 2 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair soft, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/2d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 5.557 | 5.557 | 5.558 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.4252596 0 0 0.14931291 -8.727261 + 100 4.7699234 3.4203218 0 3.9200281 0.63667047 + 200 14.850064 5.3315601 0 6.8872811 0.71533738 + 300 21.249889 7.2094878 0 9.4356667 1.0710181 + 400 24.551027 9.2008598 0 11.772872 1.0133205 + 500 23.999755 11.562353 0 14.076613 1.3275867 + 600 25.022182 13.731564 0 16.352935 1.0236907 + 700 26.601942 15.850142 0 18.637012 0.80166569 + 800 24.154216 18.395444 0 20.925886 1.7521839 + 900 27.3897 20.3322 0 23.201597 0.65472411 + 1000 27.381112 22.600716 0 25.469214 0.69152692 +Loop time of 0.0821786 on 4 procs for 1000 steps with 420 atoms + +Performance: 5256844.414 tau/day, 12168.621 timesteps/s +92.0% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0096035 | 0.011958 | 0.014498 | 1.7 | 14.55 +Neigh | 0.0039157 | 0.0041593 | 0.0045318 | 0.4 | 5.06 +Comm | 0.021053 | 0.022374 | 0.024067 | 0.8 | 27.23 +Output | 0.00024565 | 0.00085109 | 0.0026608 | 0.0 | 1.04 +Modify | 0.031525 | 0.034215 | 0.036481 | 1.2 | 41.63 +Other | | 0.008622 | | | 10.49 + +Nlocal: 105.000 ave 130 max 77 min +Histogram: 1 0 1 0 0 0 0 0 1 1 +Nghost: 39.0000 ave 49 max 21 min +Histogram: 1 0 0 0 0 0 1 0 1 1 +Neighs: 140.500 ave 180 max 105 min +Histogram: 2 0 0 0 0 0 0 0 1 1 + +Total # of neighbors = 562 +Ave neighs/atom = 1.3380952 +Neighbor list builds = 158 +Dangerous builds = 0 + +#undump 1 +unfix soft +unfix 1 +unfix 2 + +# add small particles as hi density lattice + +region plane block INF INF INF INF -0.001 0.001 units box +lattice sq 85.0 +Lattice spacing in x,y,z = 0.10846523 0.10846523 0.10846523 +create_atoms 2 region plane +Created 124609 atoms + create_atoms CPU = 0.020 seconds + +set type 2 mass 0.1 +Setting atom values ... + 124609 settings made for mass +group small type 2 +124609 atoms in group small +velocity small create 1.0 593849 loop geom + +# delete overlaps +# must set 1-2 cutoff to non-zero value + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 +pair_coeff 2 2 0.0 1.0 0.0 +pair_coeff 1 2 0.0 1.0 1.0 + +delete_atoms overlap 1.0 small big +System init for delete_atoms ... +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 28 28 1 + 2 neighbor lists, perpetual/occasional/extra = 1 1 0 + (1) command delete_atoms, occasional + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/2d + bin: standard + (2) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/2d + bin: standard +WARNING: Delete_atoms cutoff > minimum neighbor cutoff (src/delete_atoms.cpp:308) +Deleted 51030 atoms, new total = 73999 + +# SRD run + +reset_timestep 0 + +neighbor 0.3 multi +neigh_modify delay 0 every 1 check yes + +comm_modify mode multi group big vel yes +neigh_modify include big + +# no pairwise interactions with small particles + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 +pair_coeff 2 2 0.0 1.0 0.0 +pair_coeff 1 2 0.0 1.0 0.0 + +# use fix SRD to push small particles out from inside big ones +# if comment out, big particles won't see SRD particles + +timestep 0.001 + +fix 1 big rigid molecule + 30 rigid bodies with 420 atoms +fix 2 small srd 20 big 1.0 0.25 49894 shift yes 54979 search 0.2 collision slip inside ignore overlap yes +fix 3 small viscosity 10 x y 50 +fix 4 all enforce2d + +# diagnostics + +uncompute tbig +compute tbig big temp/sphere +variable pebig equal pe*atoms/count(big) +variable ebig equal etotal*atoms/count(big) +thermo_style custom step temp f_2[8] etotal v_pebig v_ebig press f_2[1] f_2[2] f_2[3] f_2[4] f_2[5] f_2[6] f_2[7] f_2[8] f_2[9] f_2[10] f_2[11] f_2[12] +WARNING: New thermo_style command, previous thermo_modify settings will be lost (src/output.cpp:689) + +thermo_modify temp tbig +WARNING: Temperature for thermo pressure is not for group all (src/thermo.cpp:483) +thermo 1000 + +#dump 1 all atom 1000 dump.box.mp + +#dump 1 all image 1000 image.*.jpg type type zoom 1.6 +#dump_modify 1 pad 6 adiam 1 1 adiam 2 0.2 + +run 10000 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- neighbor multi command: doi:10.1016/j.cpc.2008.03.005, doi:10.1007/s40571-020-00361-2 + +@Article{Intveld08, + author = {P.{\,}J.~in{\,}'t~Veld and S.{\,}J.~Plimpton and G.{\,}S.~Grest}, + title = {Accurate and Efficient Methods for Modeling Colloidal + Mixtures in an Explicit Solvent using Molecular Dynamics}, + journal = {Comp.~Phys.~Comm.}, + year = 2008, + volume = 179, + pages = {320--329} +} + +@article{Stratford2018, + author = {Stratford, Kevin and Shire, Tom and Hanley, Kevin}, + title = {Implementation of multi-level contact detection in LAMMPS}, + year = {2018} +} + +@article{Shire2020, + author = {Shire, Tom and Hanley, Kevin J. and Stratford, Kevin}, + title = {DEM simulations of polydisperse media: efficient contact + detection applied to investigate the quasi-static limit}, + journal = {Computational Particle Mechanics}, + year = {2020} +} + +- fix srd command: + +@Article{Petersen10, + author = {M. K. Petersen, J. B. Lechman, S. J. Plimpton, G. S. Grest, P. J. in 't Veld, P. R. Schunk}, + title = {Mesoscale Hydrodynamics via Stochastic Rotation Dynamics: Comparison with Lennard-Jones Fluid}, journal = {J.~Chem.~Phys.}, + year = 2010, + volume = 132, + pages = {174106} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +SRD info: + SRD/big particles = 73579 420 + big particle diameter max/min = 1.0000000 1.0000000 + SRD temperature & lamda = 1.0000000 0.063245553 + SRD max distance & max velocity = 0.25298221 12.649111 + SRD grid counts: 153 153 1 + SRD grid size: request, actual (xyz) = 0.25000000, 0.25025738 0.25025738 1.0000000 + SRD per actual grid cell = 4.0557326 + SRD viscosity = 0.22929663 + big/SRD mass density ratio = 0.19661407 +WARNING: Fix srd grid size > 1/4 of big particle diameter (src/SRD/fix_srd.cpp:2845) + # of rescaled SRD velocities = 0 + ave/max small velocity = 4.1966772 7.7276214 + ave/max big velocity = 2.1275716 5.8359099 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 38.289379, bins = 1 1 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/multi/newton + stencil: half/multi/2d + bin: multi +Per MPI rank memory allocation (min/avg/max) = 27.16 | 27.18 | 27.21 Mbytes +Step Temp f_2[8] TotEng v_pebig v_ebig Press f_2[1] f_2[2] f_2[3] f_2[4] f_2[5] f_2[6] f_2[7] f_2[8] f_2[9] f_2[10] f_2[11] f_2[12] + 0 27.381112 0 0.25599398 42.234595 45.103092 0.74047865 0 0 0 0 0 0 0 0 0 0 0 0 + 1000 3.1072437 16288 0.24129297 42.187428 42.512949 11.859485 10412 35 35 0 1004 70756 23409 16288 0.91643759 0 66 0 + 2000 2.1718238 16265 0.24069263 42.179651 42.407175 11.539339 10224 48 48 0 1797 70756 23409 16265 0.91071196 0 66 0 + 3000 1.5732455 16326 0.24032934 42.178352 42.343168 10.457457 10058 45 45 0 2517 70756 23409 16326 0.91928964 0 66 0 + 4000 2.3482192 16229 0.24085032 42.188956 42.43496 10.606093 10150 43 43 0 3181 70756 23409 16229 0.91913606 0 66 0 + 5000 2.5996379 16333 0.2410073 42.190274 42.462617 11.204793 10528 38 38 0 3885 70756 23409 16333 0.9241125 0 66 0 + 6000 2.4105417 16271 0.24084161 42.180891 42.433424 9.8492284 10088 30 30 0 4620 70756 23409 16271 0.93147983 0 66 0 + 7000 2.2377455 16250 0.24081836 42.194898 42.429329 9.2171742 10091 34 34 0 5351 70756 23409 16250 0.92985862 0 66 0 + 8000 2.9660933 16303 0.24115329 42.177606 42.48834 9.4008156 10139 39 39 0 6167 70756 23409 16303 0.92973123 0 66 0 + 9000 2.9430592 16287 0.24114154 42.177948 42.486269 10.347006 10329 41 41 0 6957 70756 23409 16287 0.93491985 0 66 0 + 10000 2.9059731 16336 0.2410888 42.172541 42.476977 8.1176194 10272 31 31 0 7736 70756 23409 16336 0.94200526 0 66 0 +Loop time of 24.5198 on 4 procs for 10000 steps with 73999 atoms + +Performance: 35236.804 tau/day, 407.833 timesteps/s +96.5% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.14222 | 0.18851 | 0.26138 | 11.1 | 0.77 +Neigh | 0.039759 | 0.047049 | 0.058019 | 3.3 | 0.19 +Comm | 0.58081 | 0.65008 | 0.68833 | 5.4 | 2.65 +Output | 0.0024264 | 0.0030395 | 0.0048751 | 1.9 | 0.01 +Modify | 23.123 | 23.276 | 23.388 | 2.3 | 94.93 +Other | | 0.3547 | | | 1.45 + +Nlocal: 18499.8 ave 19805 max 17016 min +Histogram: 1 0 1 0 0 0 0 0 1 1 +Nghost: 71.0000 ave 86 max 62 min +Histogram: 1 1 0 1 0 0 0 0 0 1 +Neighs: 604.000 ave 818 max 455 min +Histogram: 1 1 0 0 1 0 0 0 0 1 + +Total # of neighbors = 2416 +Ave neighs/atom = 0.032649090 +Neighbor list builds = 500 +Dangerous builds = 0 +Total wall time: 0:00:26 diff --git a/examples/ASPHERE/box/log.1Feb14.box.g++.8 b/examples/ASPHERE/box/log.1Feb14.box.g++.8 deleted file mode 100644 index cb21e806fe..0000000000 --- a/examples/ASPHERE/box/log.1Feb14.box.g++.8 +++ /dev/null @@ -1,290 +0,0 @@ -LAMMPS (1 Feb 2014) -# SRD diffusion demo - rigid box particles - -units lj -atom_style sphere -atom_modify map array first big -dimension 2 - -# read in clusters of rigid bodies - -fix molprop all property/atom mol -read_data data.box fix molprop NULL Molecules - orthogonal box = (-19.1447 -19.1447 -0.5) to (19.1447 19.1447 0.5) - 4 by 2 by 1 MPI processor grid - reading atoms ... - 420 atoms - -set type 1 mass 1.0 - 420 settings made for mass -group big type 1 -420 atoms in group big -velocity big create 1.44 87287 loop geom - -# equilibrate big particles - -pair_style soft 1.12 -pair_coeff 1 1 0.0 -pair_coeff 2 2 0.0 0.0 -pair_coeff 1 2 0.0 0.0 - -variable prefactor equal ramp(0,60) -fix soft all adapt 1 pair soft a * * v_prefactor - -neighbor 0.3 bin -neigh_modify delay 0 every 1 check yes - -fix 1 big rigid molecule -30 rigid bodies with 420 atoms -fix 2 all enforce2d - -#dump 1 all atom 10 dump.box.equil - -thermo 100 -run 1000 -Memory usage per processor = 0.443012 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 0 0 0 0 -8.770036 - 100 0 3.4203218 0 3.4203218 0.49351517 - 200 0 5.3315601 0 5.3315601 0.26965614 - 300 0 7.2094878 0 7.2094878 0.43326479 - 400 0 9.2008598 0 9.2008598 0.27649318 - 500 0 11.562353 0 11.562353 0.60730421 - 600 0 13.731564 0 13.731564 0.27272312 - 700 0 15.850142 0 15.850142 0.0032862218 - 800 0 18.395444 0 18.395444 1.0272658 - 900 0 20.3322 0 20.3322 -0.16729762 - 1000 0 22.600716 0 22.600716 -0.13023705 -Loop time of 0.0534293 on 8 procs for 1000 steps with 420 atoms - -Pair time (%) = 0.00388658 (7.27425) -Neigh time (%) = 0.0012759 (2.38801) -Comm time (%) = 0.0151907 (28.4315) -Outpt time (%) = 0.000330567 (0.618701) -Other time (%) = 0.0327455 (61.2876) - -Nlocal: 52.5 ave 67 max 35 min -Histogram: 1 1 1 0 1 0 0 1 1 2 -Nghost: 30.625 ave 41 max 17 min -Histogram: 1 0 0 1 1 1 2 0 1 1 -Neighs: 70.25 ave 90 max 44 min -Histogram: 2 0 0 1 1 0 1 0 0 3 - -Total # of neighbors = 562 -Ave neighs/atom = 1.3381 -Neighbor list builds = 158 -Dangerous builds = 0 - -#undump 1 -unfix soft -unfix 1 -unfix 2 - -# add small particles as hi density lattice - -region plane block INF INF INF INF -0.001 0.001 units box -lattice sq 85.0 -Lattice spacing in x,y,z = 0.108465 0.108465 0.108465 -create_atoms 2 region plane -Created 124609 atoms - -set type 2 mass 0.1 - 124609 settings made for mass -group small type 2 -124609 atoms in group small -velocity small create 1.0 593849 loop geom - -# delete overlaps -# must set 1-2 cutoff to non-zero value - -pair_style lj/cut 2.5 -pair_coeff 1 1 1.0 1.0 -pair_coeff 2 2 0.0 1.0 0.0 -pair_coeff 1 2 0.0 1.0 1.0 - -delete_atoms overlap 1.0 small big -Deleted 51030 atoms, new total = 73999 - -# SRD run - -reset_timestep 0 - -neighbor 0.3 bin -neigh_modify delay 0 every 1 check yes - -communicate multi group big vel yes -neigh_modify include big - -# no pairwise interactions with small particles - -pair_style lj/cut 2.5 -pair_coeff 1 1 1.0 1.0 -pair_coeff 2 2 0.0 1.0 0.0 -pair_coeff 1 2 0.0 1.0 0.0 - -# use fix SRD to push small particles out from inside big ones -# if comment out, big particles won't see SRD particles - -timestep 0.001 - -fix 1 big rigid molecule -30 rigid bodies with 420 atoms -fix 2 small srd 20 big 1.0 0.25 49894 shift yes 54979 search 0.2 collision slip inside ignore overlap yes -fix 3 all enforce2d - -# diagnostics - -compute tbig big temp/sphere -variable pebig equal pe*atoms/count(big) -variable ebig equal etotal*atoms/count(big) -thermo_style custom step temp f_2[8] etotal v_pebig v_ebig press f_2[1] f_2[2] f_2[3] f_2[4] f_2[5] f_2[6] f_2[7] f_2[8] f_2[9] f_2[10] f_2[11] f_2[12] - -thermo_modify temp tbig -WARNING: Temperature for thermo pressure is not for group all (../thermo.cpp:439) -thermo 1000 - -#dump 1 all atom 1000 dump.box - -#dump 1 all image 1000 image.*.jpg type type zoom 1.6 -#dump_modify 1 pad 6 adiam 1 1 adiam 2 0.2 - -run 100000 -SRD info: - SRD/big particles = 73579 420 - big particle diameter max/min = 1 1 - SRD temperature & lamda = 1 0.0632456 - SRD max distance & max velocity = 0.252982 12.6491 - SRD grid counts: 153 153 1 - SRD grid size: request, actual (xyz) = 0.25, 0.250257 0.250257 1 - SRD per actual grid cell = 4.05573 - SRD viscosity = 0.229297 - big/SRD mass density ratio = 0.196614 -WARNING: Fix srd grid size > 1/4 of big particle diameter (../fix_srd.cpp:2875) - # of rescaled SRD velocities = 0 - ave/max small velocity = 4.19668 7.72762 - ave/max big velocity = 2.12757 5.83591 -Memory usage per processor = 14.2707 Mbytes -Step Temp 2[8] TotEng pebig ebig Press 2[1] 2[2] 2[3] 2[4] 2[5] 2[6] 2[7] 2[8] 2[9] 2[10] 2[11] 2[12] - 0 27.381112 0 0.25599398 42.234595 45.103092 0.74047865 0 0 0 0 0 0 0 0 0 0 0 0 - 1000 3.4640099 16291 0.24158286 42.201127 42.564024 10.312083 10282 38 38 0 957 90440 23409 16291 0.91054529 0 69 0 - 2000 1.4820124 16228 0.24022248 42.169082 42.324341 9.5969069 10066 30 30 0 1726 90440 23409 16228 0.91140743 0 69 0 - 3000 1.3797075 16198 0.24017061 42.170661 42.315202 11.093574 10151 43 43 0 2410 90440 23409 16198 0.91909014 0 69 0 - 4000 1.3403741 16287 0.24014493 42.170257 42.310677 10.101336 10172 38 38 0 3094 90440 23409 16287 0.92752333 0 69 0 - 5000 1.0444432 16295 0.2399965 42.175108 42.284525 9.5498999 10375 26 26 0 3799 90440 23409 16295 0.93506273 0 69 0 - 6000 0.78295352 16299 0.2398933 42.184319 42.266343 9.535916 10090 37 37 0 4563 90440 23409 16299 0.93041308 0 69 0 - 7000 1.1675613 16333 0.24006565 42.174393 42.296709 11.594065 10426 37 37 0 5266 90440 23409 16333 0.94031182 0 69 0 - 8000 1.1343357 16302 0.24001364 42.168711 42.287546 9.8091173 9979 39 39 0 5993 90440 23409 16302 0.94116994 0 69 0 - 9000 1.4165164 16306 0.24010969 42.156072 42.304469 10.736953 10191 38 39 1 6683 90440 23409 16306 0.93957787 0 69 0 - 10000 0.63657628 16306 0.23958347 42.145066 42.211755 6.3923231 10115 37 37 0 7409 90440 23409 16306 0.9420945 0 69 0 - 11000 0.9421837 16286 0.23976832 42.145619 42.244324 9.9611184 10079 45 45 0 8122 90440 23409 16286 0.94240902 0 69 0 - 12000 0.9735159 16295 0.23980202 42.148274 42.250262 11.862106 10345 36 36 0 8854 90440 23409 16295 0.94994179 0 69 0 - 13000 0.93356977 16392 0.23970059 42.134589 42.232391 11.29915 10321 41 41 0 9607 90440 23409 16392 0.94747955 0 69 0 - 14000 1.0596151 16306 0.2397451 42.129226 42.240233 12.305503 10075 37 37 0 10323 90440 23409 16306 0.94857373 0 69 0 - 15000 1.4275311 16285 0.23986502 42.11181 42.261361 8.6785032 9963 43 43 0 11054 90440 23409 16285 0.95130035 0 69 0 - 16000 1.1798179 16367 0.23973717 42.115236 42.238836 9.7201163 10138 38 38 0 11785 90440 23409 16367 0.94838949 0 69 0 - 17000 1.2809316 16368 0.23978706 42.113433 42.247626 7.4568393 10239 31 31 0 12545 90440 23409 16368 0.94818482 0 69 0 - 18000 1.0552359 16355 0.23962676 42.108834 42.219382 11.024507 10270 39 39 0 13350 90440 23409 16355 0.94825339 0 69 0 - 19000 1.1373204 16343 0.23964456 42.103371 42.222519 9.1505749 10245 37 37 0 14198 90440 23409 16343 0.94776971 0 69 0 - 20000 0.89607862 16295 0.23962161 42.1246 42.218475 8.377591 10173 48 48 0 14985 90440 23409 16295 0.95836326 0 69 0 - 21000 0.93823225 16323 0.23958542 42.113808 42.212099 9.9128627 10398 39 39 0 15722 90440 23409 16323 0.94732512 0 69 0 - 22000 1.0132051 16270 0.23958637 42.106121 42.212267 12.521464 10414 37 37 1 16538 90440 23409 16270 0.94611956 0 69 0 - 23000 1.2399208 16420 0.2396696 42.097034 42.226931 9.1607507 10169 32 32 0 17263 90440 23409 16420 0.95141771 0 69 0 - 24000 1.2359103 16395 0.23957354 42.080529 42.210006 10.051289 10225 34 34 1 18057 90440 23409 16395 0.95487046 0 69 0 - 25000 0.96280337 16322 0.23944374 42.086271 42.187136 11.818136 10183 40 40 0 18818 90440 23409 16322 0.95691179 0 69 0 - 26000 0.83139747 16344 0.23940306 42.09287 42.179968 10.844701 10090 38 38 0 19555 90440 23409 16344 0.95332651 0 69 0 - 27000 1.107274 16270 0.23949948 42.080957 42.196957 14.435937 10028 46 46 0 20355 90440 23409 16270 0.95321506 0 69 0 - 28000 1.0892583 16399 0.23938721 42.063064 42.177177 9.3768225 10011 38 38 0 21195 90440 23409 16399 0.95935372 0 69 0 - 29000 1.1099534 16320 0.23940855 42.064655 42.180936 8.8044985 9919 34 34 0 22020 90440 23409 16320 0.95465302 0 69 0 - 30000 1.0119272 16302 0.23934223 42.06324 42.169252 12.13721 10160 47 47 0 22750 90440 23409 16302 0.94922806 0 69 0 - 31000 0.9567755 16335 0.23916982 42.038642 42.138875 8.3903033 10007 30 30 0 23497 90440 23409 16335 0.95223124 0 69 0 - 32000 0.86048362 16291 0.23910468 42.037252 42.127398 11.646647 10347 41 41 0 24266 90440 23409 16291 0.95484469 0 69 0 - 33000 1.1129645 16284 0.23928206 42.042053 42.15865 9.0389494 9909 33 33 0 25073 90440 23409 16284 0.96246044 0 69 0 - 34000 1.0741874 16303 0.23920774 42.033022 42.145556 12.710332 10125 35 35 0 25845 90440 23409 16303 0.95343962 0 69 0 - 35000 0.87606515 16293 0.23916564 42.046361 42.138139 13.784203 10044 42 42 0 26569 90440 23409 16293 0.95827172 0 69 0 - 36000 0.8268686 16315 0.23912916 42.045087 42.131712 13.474499 10240 43 44 0 27324 90440 23409 16315 0.9539089 0 69 0 - 37000 1.1732368 16336 0.23930076 42.039035 42.161945 8.7392785 9996 34 34 0 28094 90440 23409 16336 0.95672234 0 69 0 - 38000 1.089263 16323 0.2391967 42.029498 42.143611 9.464664 10104 39 39 0 28856 90440 23409 16323 0.95362271 0 69 0 - 39000 1.06444 16335 0.23919427 42.03167 42.143183 10.036973 9961 36 36 0 29607 90440 23409 16335 0.95464483 0 69 0 - 40000 1.1390869 16376 0.23927054 42.037288 42.156621 9.8133871 10206 38 38 0 30409 90440 23409 16376 0.95191201 0 69 0 - 41000 0.76020035 16347 0.23906101 42.040064 42.119704 10.826738 10406 41 41 0 31195 90440 23409 16347 0.94685002 0 69 0 - 42000 1.3087439 16311 0.23945151 42.051398 42.188505 11.375199 10219 45 45 0 31938 90440 23409 16311 0.95326292 0 69 0 - 43000 0.98306175 16313 0.23923796 42.047893 42.15088 10.536429 10269 47 47 0 32660 90440 23409 16313 0.94791465 0 69 0 - 44000 1.1067947 16299 0.23929754 42.045427 42.161377 10.366386 10166 33 33 0 33471 90440 23409 16299 0.9520033 0 69 0 - 45000 1.1754605 16269 0.2394174 42.059352 42.182496 7.898603 9985 37 37 0 34245 90440 23409 16269 0.95500544 0 69 0 - 46000 0.93860976 16272 0.23926541 42.057387 42.155717 11.566786 10108 35 35 0 35050 90440 23409 16272 0.95183186 0 69 0 - 47000 1.3576761 16315 0.23942 42.040721 42.182954 10.037574 9902 33 33 0 35807 90440 23409 16315 0.95525561 0 69 0 - 48000 1.3465813 16308 0.23938501 42.035719 42.176789 8.9584586 9830 33 33 0 36625 90440 23409 16308 0.95044669 0 69 0 - 49000 0.93823974 16340 0.23917669 42.041793 42.140085 10.474409 9930 35 35 0 37393 90440 23409 16340 0.94869206 0 69 0 - 50000 1.0643183 16332 0.23923523 42.0389 42.1504 8.9372951 9886 43 43 0 38182 90440 23409 16332 0.94865149 0 69 0 - 51000 0.87518396 16310 0.23914944 42.043598 42.135284 11.284535 9695 40 40 0 38995 90440 23409 16310 0.9560088 0 69 0 - 52000 1.1910982 16336 0.23929054 42.035364 42.160145 12.437325 9961 44 44 0 39787 90440 23409 16336 0.95735399 0 69 0 - 53000 1.0023949 16384 0.23923896 42.046043 42.151056 10.386358 9859 36 36 0 40569 90440 23409 16384 0.95693245 0 69 0 - 54000 0.98715708 16261 0.23921241 42.042962 42.146379 9.9941499 10027 35 35 0 41343 90440 23409 16261 0.951038 0 69 0 - 55000 1.0004435 16299 0.23914811 42.030241 42.135049 12.345206 9830 47 48 0 42056 90440 23409 16299 0.95562154 0 69 0 - 56000 1.0479458 16296 0.23914874 42.025377 42.135162 11.587952 9801 39 39 0 42915 90440 23409 16296 0.94868699 0 69 0 - 57000 0.94369119 16319 0.23902076 42.013749 42.112612 10.195934 9764 46 46 0 43652 90440 23409 16319 0.95438171 0 69 0 - 58000 1.1549569 16347 0.23924582 42.031269 42.152265 9.511812 9910 41 41 0 44366 90440 23409 16347 0.9484367 0 69 0 - 59000 0.81453047 16402 0.23895926 42.016445 42.101776 10.359564 9967 46 46 0 45115 90440 23409 16402 0.95256147 0 69 0 - 60000 0.9253868 16360 0.23897085 42.006873 42.103818 12.308731 9839 44 44 0 45872 90440 23409 16360 0.95753176 0 69 0 - 61000 0.95173279 16298 0.23908799 42.024752 42.124457 10.985428 9848 45 45 0 46621 90440 23409 16298 0.95937218 0 69 0 - 62000 1.0168886 16273 0.23910318 42.020603 42.127134 13.493586 9842 41 41 0 47356 90440 23409 16273 0.95720763 0 69 0 - 63000 0.59853847 16306 0.23888991 42.026854 42.089558 11.654045 10030 47 47 0 48152 90440 23409 16306 0.95164201 0 69 0 - 64000 0.88165231 16295 0.23904152 42.023907 42.11627 8.6017877 9808 31 31 0 48944 90440 23409 16295 0.95791125 0 69 0 - 65000 0.83089386 16306 0.23895929 42.014736 42.101782 11.57787 10042 51 51 0 49729 90440 23409 16306 0.95848466 0 69 0 - 66000 1.1172469 16324 0.23919188 42.025716 42.142761 11.423941 9802 55 55 0 50498 90440 23409 16324 0.94666759 0 69 0 - 67000 0.97470955 16356 0.23903681 42.013327 42.11544 11.345125 10043 40 40 0 51251 90440 23409 16356 0.95264876 0 69 0 - 68000 0.90592443 16274 0.23906764 42.025966 42.120872 11.050097 9782 44 44 0 52009 90440 23409 16274 0.95334971 0 69 0 - 69000 1.0820724 16352 0.23920813 42.032265 42.145625 11.892518 9803 43 43 0 52800 90440 23409 16352 0.95290952 0 69 0 - 70000 1.0413192 16301 0.23929529 42.051891 42.160982 13.193444 9847 48 48 0 53595 90440 23409 16301 0.95613844 0 69 0 - 71000 0.95433723 16430 0.23919345 42.04306 42.143038 12.116035 9898 46 46 0 54350 90440 23409 16430 0.95532726 0 69 0 - 72000 0.80923962 16318 0.23909626 42.041137 42.125915 10.240888 9800 37 37 0 55133 90440 23409 16318 0.95196829 0 69 0 - 73000 0.93773964 16330 0.23920083 42.046099 42.144338 13.100955 9780 37 37 0 55931 90440 23409 16330 0.95075325 0 69 0 - 74000 1.0547823 16296 0.23913003 42.021364 42.131865 12.215247 10308 45 45 0 56705 90440 23409 16296 0.95515593 0 69 0 - 75000 0.74939607 16287 0.23910386 42.048745 42.127253 10.270685 10092 43 43 0 57457 90440 23409 16287 0.95365363 0 69 0 - 76000 0.95221448 16326 0.23921923 42.047825 42.147581 10.33549 10191 47 47 0 58254 90440 23409 16326 0.95389896 0 69 0 - 77000 0.94854568 16249 0.23925669 42.054809 42.15418 10.317964 10055 35 35 1 59026 90440 23409 16249 0.95716276 0 69 0 - 78000 1.2663624 16282 0.23949043 42.062695 42.195362 10.496265 9893 41 41 0 59780 90440 23409 16282 0.94847998 0 69 0 - 79000 0.98933199 16264 0.2392933 42.056987 42.160631 12.876564 9946 41 41 0 60518 90440 23409 16264 0.95354593 0 69 0 - 80000 0.8212992 16341 0.23927469 42.07131 42.157351 8.5608431 9838 40 40 0 61296 90440 23409 16341 0.95234534 0 69 0 - 81000 0.98231967 16339 0.23928757 42.056712 42.159622 11.491156 10104 37 38 0 62061 90440 23409 16339 0.94886686 0 69 0 - 82000 0.99158973 16299 0.23925843 42.050607 42.154488 9.4538952 10047 37 37 0 62852 90440 23409 16299 0.95656275 0 69 0 - 83000 1.2341517 16344 0.239348 42.040977 42.170269 10.524371 9784 37 37 0 63608 90440 23409 16344 0.94780456 0 69 0 - 84000 1.1753084 16288 0.23928447 42.035947 42.159074 9.1748883 9831 37 37 0 64314 90440 23409 16288 0.94217045 0 69 0 - 85000 0.84912682 16310 0.23915288 42.046935 42.135891 11.43337 9890 42 42 0 64992 90440 23409 16310 0.9423407 0 69 0 - 86000 0.88939653 16275 0.23909757 42.032971 42.126146 12.34417 9961 46 46 0 65677 90440 23409 16275 0.93887016 0 69 0 - 87000 1.1303842 16248 0.23922093 42.029458 42.147879 11.934641 9945 47 47 0 66417 90440 23409 16248 0.93840688 0 69 0 - 88000 1.2294052 16326 0.23916023 42.00839 42.137185 9.7233305 9838 35 36 0 67149 90440 23409 16326 0.94945034 0 69 0 - 89000 1.0455638 16345 0.23918575 42.032147 42.141682 8.6325214 9871 35 35 0 67855 90440 23409 16345 0.94891424 0 69 0 - 90000 0.79047982 16288 0.23897011 42.020876 42.103688 10.271997 10053 45 45 0 68551 90440 23409 16288 0.94963234 0 69 0 - 91000 0.85451256 16320 0.23898107 42.016098 42.105619 12.567859 10053 42 42 0 69246 90440 23409 16320 0.9506585 0 69 0 - 92000 1.1082033 16363 0.23917252 42.023254 42.139351 11.730554 9858 46 46 0 70046 90440 23409 16363 0.95352701 0 69 0 - 93000 0.90368051 16312 0.23897927 42.010631 42.105303 10.70167 9793 37 37 0 70824 90440 23409 16312 0.95992717 0 69 0 - 94000 0.95749706 16350 0.23909592 42.025545 42.125855 10.174353 9970 42 42 0 71646 90440 23409 16350 0.95082103 0 69 0 - 95000 0.90723392 16298 0.23898239 42.010809 42.105853 11.561525 9938 33 33 0 72414 90440 23409 16298 0.94768554 0 69 0 - 96000 1.0249944 16288 0.23910408 42.019912 42.127292 10.755062 9945 38 38 0 73184 90440 23409 16288 0.94637131 0 69 0 - 97000 0.96263604 16339 0.23911151 42.027754 42.128601 9.9303923 9816 36 36 0 73853 90440 23409 16339 0.94851816 0 69 0 - 98000 0.93105892 16301 0.23897506 42.00702 42.10456 12.088691 9933 39 39 0 74604 90440 23409 16301 0.94785265 0 69 0 - 99000 1.2448977 16286 0.23920972 42.015487 42.145905 11.565661 10001 51 51 0 75328 90440 23409 16286 0.9483854 0 69 0 - 100000 0.95492648 16337 0.23919603 42.043453 42.143492 11.223512 9793 32 32 0 76045 90440 23409 16337 0.95143273 0 69 0 -Loop time of 51.3335 on 8 procs for 100000 steps with 73999 atoms - -Pair time (%) = 0.586967 (1.14344) -Neigh time (%) = 3.95145 (7.69761) -Comm time (%) = 2.97199 (5.78957) -Outpt time (%) = 0.0085291 (0.0166151) -Other time (%) = 43.8145 (85.3528) - -Nlocal: 9249.88 ave 10642 max 7533 min -Histogram: 1 0 0 1 1 1 2 0 1 1 -Nghost: 57.375 ave 89 max 34 min -Histogram: 1 2 0 1 1 0 2 0 0 1 -Neighs: 335.875 ave 616 max 209 min -Histogram: 2 1 0 3 1 0 0 0 0 1 - -Total # of neighbors = 2687 -Ave neighs/atom = 0.0363113 -Neighbor list builds = 5000 -Dangerous builds = 0 - -Please see the log.cite file for references relevant to this simulation - diff --git a/examples/ASPHERE/box/log.1Feb14.box.mp.g++.8 b/examples/ASPHERE/box/log.1Feb14.box.mp.g++.8 deleted file mode 100644 index 1613729eca..0000000000 --- a/examples/ASPHERE/box/log.1Feb14.box.mp.g++.8 +++ /dev/null @@ -1,291 +0,0 @@ -LAMMPS (1 Feb 2014) -# SRD viscosity demo - rigid box particles - -units lj -atom_style sphere -atom_modify map array first big -dimension 2 - -# read in clusters of rigid bodies - -fix molprop all property/atom mol -read_data data.box fix molprop NULL Molecules - orthogonal box = (-19.1447 -19.1447 -0.5) to (19.1447 19.1447 0.5) - 4 by 2 by 1 MPI processor grid - reading atoms ... - 420 atoms - -set type 1 mass 1.0 - 420 settings made for mass -group big type 1 -420 atoms in group big -velocity big create 1.44 87287 loop geom - -# equilibrate big particles - -pair_style soft 1.12 -pair_coeff 1 1 0.0 -pair_coeff 2 2 0.0 0.0 -pair_coeff 1 2 0.0 0.0 - -variable prefactor equal ramp(0,60) -fix soft all adapt 1 pair soft a * * v_prefactor - -neighbor 0.3 bin -neigh_modify delay 0 every 1 check yes - -fix 1 big rigid molecule -30 rigid bodies with 420 atoms -fix 2 all enforce2d - -#dump 1 all atom 10 dump.box.equil - -thermo 100 -run 1000 -Memory usage per processor = 0.443012 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 0 0 0 0 -8.770036 - 100 0 3.4203218 0 3.4203218 0.49351517 - 200 0 5.3315601 0 5.3315601 0.26965614 - 300 0 7.2094878 0 7.2094878 0.43326479 - 400 0 9.2008598 0 9.2008598 0.27649318 - 500 0 11.562353 0 11.562353 0.60730421 - 600 0 13.731564 0 13.731564 0.27272312 - 700 0 15.850142 0 15.850142 0.0032862218 - 800 0 18.395444 0 18.395444 1.0272658 - 900 0 20.3322 0 20.3322 -0.16729762 - 1000 0 22.600716 0 22.600716 -0.13023705 -Loop time of 0.0540034 on 8 procs for 1000 steps with 420 atoms - -Pair time (%) = 0.00388333 (7.1909) -Neigh time (%) = 0.0012731 (2.35743) -Comm time (%) = 0.0160792 (29.7743) -Outpt time (%) = 0.000274509 (0.508318) -Other time (%) = 0.0324934 (60.169) - -Nlocal: 52.5 ave 67 max 35 min -Histogram: 1 1 1 0 1 0 0 1 1 2 -Nghost: 30.625 ave 41 max 17 min -Histogram: 1 0 0 1 1 1 2 0 1 1 -Neighs: 70.25 ave 90 max 44 min -Histogram: 2 0 0 1 1 0 1 0 0 3 - -Total # of neighbors = 562 -Ave neighs/atom = 1.3381 -Neighbor list builds = 158 -Dangerous builds = 0 - -#undump 1 -unfix soft -unfix 1 -unfix 2 - -# add small particles as hi density lattice - -region plane block INF INF INF INF -0.001 0.001 units box -lattice sq 85.0 -Lattice spacing in x,y,z = 0.108465 0.108465 0.108465 -create_atoms 2 region plane -Created 124609 atoms - -set type 2 mass 0.1 - 124609 settings made for mass -group small type 2 -124609 atoms in group small -velocity small create 1.0 593849 loop geom - -# delete overlaps -# must set 1-2 cutoff to non-zero value - -pair_style lj/cut 2.5 -pair_coeff 1 1 1.0 1.0 -pair_coeff 2 2 0.0 1.0 0.0 -pair_coeff 1 2 0.0 1.0 1.0 - -delete_atoms overlap 1.0 small big -Deleted 51030 atoms, new total = 73999 - -# SRD run - -reset_timestep 0 - -neighbor 0.3 bin -neigh_modify delay 0 every 1 check yes - -communicate multi group big vel yes -neigh_modify include big - -# no pairwise interactions with small particles - -pair_style lj/cut 2.5 -pair_coeff 1 1 1.0 1.0 -pair_coeff 2 2 0.0 1.0 0.0 -pair_coeff 1 2 0.0 1.0 0.0 - -# use fix SRD to push small particles out from inside big ones -# if comment out, big particles won't see SRD particles - -timestep 0.001 - -fix 1 big rigid molecule -30 rigid bodies with 420 atoms -fix 2 small srd 20 big 1.0 0.25 49894 shift yes 54979 search 0.2 collision slip inside ignore overlap yes -fix 3 small viscosity 10 x y 50 -fix 4 all enforce2d - -# diagnostics - -compute tbig big temp/sphere -variable pebig equal pe*atoms/count(big) -variable ebig equal etotal*atoms/count(big) -thermo_style custom step temp f_2[8] etotal v_pebig v_ebig press f_2[1] f_2[2] f_2[3] f_2[4] f_2[5] f_2[6] f_2[7] f_2[8] f_2[9] f_2[10] f_2[11] f_2[12] - -thermo_modify temp tbig -WARNING: Temperature for thermo pressure is not for group all (../thermo.cpp:439) -thermo 1000 - -#dump 1 all atom 1000 dump.box.mp - -#dump 1 all image 1000 image.*.jpg type type zoom 1.6 -#dump_modify 1 pad 6 adiam 1 1 adiam 2 0.2 - -run 100000 -SRD info: - SRD/big particles = 73579 420 - big particle diameter max/min = 1 1 - SRD temperature & lamda = 1 0.0632456 - SRD max distance & max velocity = 0.252982 12.6491 - SRD grid counts: 153 153 1 - SRD grid size: request, actual (xyz) = 0.25, 0.250257 0.250257 1 - SRD per actual grid cell = 4.05573 - SRD viscosity = 0.229297 - big/SRD mass density ratio = 0.196614 -WARNING: Fix srd grid size > 1/4 of big particle diameter (../fix_srd.cpp:2875) - # of rescaled SRD velocities = 0 - ave/max small velocity = 4.19668 7.72762 - ave/max big velocity = 2.12757 5.83591 -Memory usage per processor = 14.2707 Mbytes -Step Temp 2[8] TotEng pebig ebig Press 2[1] 2[2] 2[3] 2[4] 2[5] 2[6] 2[7] 2[8] 2[9] 2[10] 2[11] 2[12] - 0 27.381112 0 0.25599398 42.234595 45.103092 0.74047865 0 0 0 0 0 0 0 0 0 0 0 0 - 1000 3.0049838 16229 0.24126663 42.1935 42.508307 10.275827 10158 39 39 0 970 90440 23409 16229 0.90908897 0 5 0 - 2000 2.1454941 16282 0.24068985 42.18192 42.406686 8.3551805 10114 39 39 0 1766 90440 23409 16282 0.91411077 0 5 0 - 3000 1.7194781 16297 0.24043991 42.182513 42.362649 9.0500757 10293 35 35 0 2454 90440 23409 16297 0.91613392 0 5 0 - 4000 1.9700398 16189 0.24063155 42.190029 42.396415 11.380017 10043 27 28 0 3083 90440 23409 16189 0.92535621 0 5 0 - 5000 2.2262815 16301 0.24071918 42.178625 42.411854 10.059361 10169 29 29 0 3730 90440 23409 16301 0.92861813 0 5 0 - 6000 2.2291507 16232 0.24063671 42.163793 42.397323 7.276142 9899 40 40 0 4445 90440 23409 16232 0.93275834 0 5 0 - 7000 2.7841984 16212 0.2407729 42.129641 42.421319 10.838996 10144 39 39 0 5148 90440 23409 16212 0.93329636 0 5 0 - 8000 3.1799279 16294 0.24102189 42.132053 42.465189 9.3204165 10068 31 31 0 5897 90440 23409 16294 0.93229671 0 5 0 - 9000 3.6101913 16308 0.24126974 42.130646 42.508857 9.9117415 10113 30 30 0 6716 90440 23409 16308 0.93107227 0 5 0 - 10000 4.1022731 16319 0.24161934 42.140689 42.570451 9.8799373 10205 34 34 0 7480 90440 23409 16319 0.92489062 0 5 0 - 11000 4.2790298 16269 0.2417129 42.138657 42.586936 10.14836 10002 37 37 2 8283 90440 23409 16269 0.92331323 0 10 0 - 12000 4.4299614 16323 0.24179577 42.137445 42.601537 11.786696 10068 37 37 1 9085 90440 23409 16323 0.93507414 0 10 0 - 13000 4.1451629 16263 0.24166347 42.143972 42.578227 7.5907603 9931 27 27 0 9967 90440 23409 16263 0.93269278 0 10 0 - 14000 5.0478037 16299 0.24222245 42.147894 42.676711 9.616107 10010 39 39 0 10856 90440 23409 16299 0.93132197 0 10 0 - 15000 4.9761523 16318 0.24208522 42.131222 42.652533 10.028283 10181 45 45 0 11744 90440 23409 16318 0.92914494 0 10 0 - 16000 5.0281695 16300 0.24209471 42.127445 42.654206 13.025657 10410 38 38 0 12657 90440 23409 16300 0.9322983 0 10 0 - 17000 6.0553511 16294 0.24278108 42.140765 42.775135 8.3971756 9898 31 31 0 13606 90440 23409 16294 0.93207864 0 10 0 - 18000 5.8870865 16349 0.24261355 42.128876 42.745619 9.4579631 9872 33 33 0 14510 90440 23409 16349 0.92911772 0 10 0 - 19000 6.19767 16260 0.2425369 42.082834 42.732114 10.497489 10068 37 37 0 15478 90440 23409 16260 0.9258668 0 10 0 - 20000 5.0588231 16330 0.24187554 42.085618 42.61559 9.3582625 9935 35 35 0 16470 90440 23409 16330 0.92639501 0 10 0 - 21000 6.4272357 16337 0.24285051 42.11404 42.78737 11.339789 9973 38 38 0 17363 90440 23409 16337 0.91830732 0 10 0 - 22000 6.3660195 16301 0.24257121 42.071243 42.738159 10.340724 9855 41 41 0 18300 90440 23409 16301 0.92735973 0 13 0 - 23000 5.9141967 16265 0.24245321 42.097787 42.71737 10.888473 9874 46 46 0 19294 90440 23409 16265 0.92958577 0 13 0 - 24000 7.3326392 16305 0.24333743 42.104977 42.873159 8.159204 9831 32 32 0 20337 90440 23409 16305 0.92498949 0 13 0 - 25000 7.8712498 16317 0.24365329 42.104202 42.928809 13.3861 10107 51 52 0 21343 90440 23409 16317 0.92093733 0 13 0 - 26000 7.6909446 16302 0.24354679 42.104327 42.910045 9.3626418 10101 45 45 0 22390 90440 23409 16302 0.91881953 0 13 0 - 27000 7.7525711 16296 0.24366541 42.11877 42.930944 9.3545743 9869 31 31 0 23458 90440 23409 16296 0.92276633 0 13 0 - 28000 7.8688635 16287 0.24363999 42.102109 42.926466 9.6143934 10023 37 37 0 24515 90440 23409 16287 0.92561111 0 13 0 - 29000 8.1116441 16298 0.24396496 42.13393 42.983722 9.8457785 10018 37 37 0 25571 90440 23409 16298 0.92896968 0 13 0 - 30000 7.5432306 16233 0.24356273 42.12261 42.912853 10.484741 9978 33 33 0 26714 90440 23409 16233 0.92084331 0 13 0 - 31000 7.9849131 16251 0.24395097 42.144741 42.981256 8.728219 9926 36 36 0 27794 90440 23409 16251 0.91985968 0 13 0 - 32000 8.8200827 16255 0.24461412 42.174088 43.098096 9.4477224 10118 31 31 0 28911 90440 23409 16255 0.92764378 0 13 0 - 33000 9.0462578 16266 0.24476502 42.176979 43.124682 9.0256529 9948 41 41 0 30010 90440 23409 16266 0.92496675 0 13 0 - 34000 11.115911 16273 0.24591951 42.163566 43.32809 10.89006 10013 35 35 1 31155 90440 23409 16273 0.9209011 0 59 0 - 35000 9.5287387 16348 0.24494148 42.157524 43.155772 9.1589486 10058 33 33 0 32262 90440 23409 16348 0.91852697 0 59 0 - 36000 8.6525285 16271 0.24454224 42.178976 43.085431 9.6115865 9936 39 39 0 33447 90440 23409 16271 0.91738637 0 59 0 - 37000 9.3244405 16237 0.24490339 42.172216 43.149062 11.766374 10057 49 49 0 34660 90440 23409 16237 0.92209291 0 59 0 - 38000 9.2952308 16272 0.24496591 42.186292 43.160078 9.5173055 10039 32 32 1 35916 90440 23409 16272 0.91915422 0 59 0 - 39000 10.12307 16312 0.24550971 42.195376 43.255888 10.678168 9989 43 43 1 37116 90440 23409 16312 0.92499805 0 59 0 - 40000 11.051307 16266 0.24606279 42.195578 43.353334 10.078073 9867 37 37 0 38363 90440 23409 16266 0.9229677 0 59 0 - 41000 10.400692 16313 0.24566631 42.193882 43.283479 9.2181368 10040 39 39 0 39612 90440 23409 16313 0.92195363 0 59 0 - 42000 9.0646248 16277 0.24487452 42.194348 43.143975 8.2531891 10173 37 37 0 40821 90440 23409 16277 0.91941681 0 59 0 - 43000 9.8646504 16258 0.24532194 42.189366 43.222806 10.34072 10037 37 37 0 42068 90440 23409 16258 0.91264623 0 59 0 - 44000 10.441846 16296 0.24553053 42.165649 43.259556 12.147264 10299 31 31 0 43277 90440 23409 16296 0.91599514 0 59 0 - 45000 10.458302 16261 0.24544296 42.148496 43.244128 8.8999271 10208 26 26 0 44492 90440 23409 16261 0.91716968 0 59 0 - 46000 10.117248 16269 0.24511999 42.127322 43.187224 9.0053892 10132 36 36 0 45691 90440 23409 16269 0.91327538 0 59 0 - 47000 9.6094606 16247 0.24494761 42.150148 43.156854 11.844069 9936 43 43 0 46930 90440 23409 16247 0.91513796 0 59 0 - 48000 12.544005 16250 0.24661869 42.137144 43.451278 14.420938 9999 43 43 0 48233 90440 23409 16250 0.91642267 0 59 0 - 49000 11.948168 16257 0.24628573 42.140902 43.392614 8.653163 10093 38 38 0 49517 90440 23409 16257 0.90604463 0 59 0 - 50000 12.315254 16233 0.2466687 42.16992 43.460089 9.1125366 10050 39 39 0 50806 90440 23409 16233 0.90490961 0 59 0 - 51000 11.364234 16265 0.24609762 42.168932 43.359471 9.8694192 9860 37 37 0 52074 90440 23409 16265 0.909623 0 59 0 - 52000 10.627787 16231 0.24578998 42.191882 43.305269 10.869196 9877 33 33 0 53420 90440 23409 16231 0.90981484 0 59 0 - 53000 11.809423 16261 0.24656286 42.204263 43.441441 13.38992 9828 39 39 0 54766 90440 23409 16261 0.90710704 0 59 0 - 54000 10.63283 16251 0.24554697 42.148537 43.262453 10.181102 10098 29 29 0 56085 90440 23409 16251 0.90800902 0 59 0 - 55000 10.803075 16254 0.24562954 42.145251 43.277002 7.9856721 9964 26 26 0 57451 90440 23409 16254 0.90786888 0 59 0 - 56000 10.844803 16274 0.2458735 42.183861 43.319983 9.9407901 10031 36 36 0 58695 90440 23409 16274 0.89847818 0 59 0 - 57000 10.623373 16218 0.24574768 42.184891 43.297816 12.015798 9792 43 43 0 60012 90440 23409 16218 0.90944412 0 59 0 - 58000 10.679964 16262 0.24583434 42.194231 43.313084 11.651504 9776 45 45 0 61295 90440 23409 16262 0.90511687 0 59 0 - 59000 10.35931 16278 0.24567475 42.199706 43.284967 10.599471 10069 30 30 1 62506 90440 23409 16278 0.90064789 0 59 0 - 60000 12.034078 16208 0.24677506 42.218115 43.478828 10.511331 9936 31 31 0 63825 90440 23409 16208 0.90250225 0 59 0 - 61000 11.915856 16208 0.24666669 42.211407 43.459734 11.982448 10227 34 34 0 65189 90440 23409 16208 0.90006711 0 59 0 - 62000 11.388719 16269 0.24635856 42.212341 43.405445 8.4867265 9991 29 29 0 66502 90440 23409 16269 0.90418592 0 59 0 - 63000 10.513272 16243 0.24593174 42.228854 43.330244 9.2843187 10133 39 39 0 67836 90440 23409 16243 0.91282932 0 59 0 - 64000 11.465761 16203 0.24638806 42.209467 43.410642 8.8736184 10023 38 39 0 69216 90440 23409 16203 0.90742452 0 59 0 - 65000 9.9798452 16292 0.24547666 42.204557 43.250064 12.475112 9766 36 36 0 70559 90440 23409 16292 0.90921789 0 59 0 - 66000 12.184131 16177 0.2468175 42.209872 43.486305 8.4442171 10049 33 33 0 71851 90440 23409 16177 0.90771921 0 59 0 - 67000 11.845593 16250 0.24645726 42.181869 43.422835 8.2359478 9678 33 33 0 73241 90440 23409 16250 0.9069606 0 59 0 - 68000 10.616202 16220 0.2456631 42.17074 43.282913 7.6844013 9954 28 28 0 74707 90440 23409 16220 0.90830051 0 59 0 - 69000 11.708481 16174 0.246425 42.190549 43.417152 9.6601201 10019 34 34 0 76143 90440 23409 16174 0.90853993 0 59 0 - 70000 13.149115 16175 0.24730865 42.195313 43.57284 7.8721271 9794 31 31 0 77520 90440 23409 16175 0.90460472 0 59 0 - 71000 12.420743 16210 0.24676949 42.176626 43.477846 10.370102 9886 36 36 0 78901 90440 23409 16210 0.90567986 0 59 0 - 72000 13.424842 16222 0.24726211 42.158228 43.56464 10.837461 9892 36 36 0 80221 90440 23409 16222 0.90896224 0 59 0 - 73000 12.983985 16177 0.2470467 42.16646 43.526687 7.3246122 9975 31 31 0 81578 90440 23409 16177 0.90172487 0 59 0 - 74000 11.873207 16217 0.24644792 42.177329 43.421189 11.257297 9937 40 40 0 83004 90440 23409 16217 0.9069376 0 59 0 - 75000 11.719883 16219 0.24631358 42.169723 43.397521 8.2731229 10281 28 28 0 84503 90440 23409 16219 0.90087971 0 59 0 - 76000 11.648725 16220 0.24633978 42.181793 43.402136 11.364684 9961 31 31 0 85910 90440 23409 16220 0.90445518 0 59 0 - 77000 11.315159 16169 0.24618794 42.189986 43.375384 10.639734 9853 35 35 0 87272 90440 23409 16169 0.90967681 0 59 0 - 78000 11.026923 16262 0.2459278 42.17435 43.329551 9.3461335 10068 36 36 0 88765 90440 23409 16262 0.90250223 0 59 0 - 79000 11.923316 16205 0.24657893 42.195162 43.444272 8.3200696 9914 29 29 1 90167 90440 23409 16205 0.89792511 0 59 0 - 80000 12.28723 16233 0.246793 42.194756 43.481989 9.8594414 9898 41 41 0 91543 90440 23409 16233 0.89920018 0 59 0 - 81000 12.657271 16252 0.24700788 42.193847 43.519847 9.5478351 10045 38 38 0 92888 90440 23409 16252 0.90032559 0 59 0 - 82000 10.415047 16249 0.24563975 42.1877 43.2788 8.4502786 9729 30 30 0 94355 90440 23409 16249 0.90516702 0 59 0 - 83000 13.038087 16237 0.24718282 42.184776 43.550671 10.813181 9834 48 48 0 95792 90440 23409 16237 0.90160106 0 59 0 - 84000 11.994728 16253 0.24664911 42.200046 43.456637 10.907779 9632 48 48 0 97203 90440 23409 16253 0.90075335 0 59 0 - 85000 11.560331 16253 0.24626448 42.177788 43.38887 9.8019244 9637 27 27 0 98581 90440 23409 16253 0.90204694 0 59 0 - 86000 12.294346 16214 0.2466302 42.165325 43.453305 8.4731319 9776 30 30 1 100022 90440 23409 16214 0.8976977 0 59 0 - 87000 11.439691 16227 0.24593937 42.133145 43.331589 11.138197 9408 35 35 0 101446 90440 23409 16227 0.90678956 0 59 0 - 88000 12.269451 16218 0.24642733 42.132191 43.417562 9.2022903 9627 28 28 0 102882 90440 23409 16218 0.89354177 0 59 0 - 89000 11.630085 16281 0.24612243 42.145453 43.363843 9.4906584 9713 45 45 0 104390 90440 23409 16281 0.90416008 0 59 0 - 90000 12.068036 16226 0.24636746 42.142743 43.407014 13.55402 9721 30 30 1 105786 90440 23409 16226 0.90693102 0 59 0 - 91000 11.423374 16180 0.24593187 42.133533 43.330267 11.12182 9490 33 33 0 107319 90440 23409 16180 0.89908597 0 59 0 - 92000 11.759782 16253 0.24594059 42.099827 43.331804 8.5785997 9808 36 37 0 108822 90440 23409 16253 0.90323757 0 59 0 - 93000 12.860286 16203 0.24670999 42.120094 43.467362 9.7352723 9342 32 32 0 110320 90440 23409 16203 0.89837993 0 59 0 - 94000 12.65067 16201 0.24650827 42.106515 43.431823 11.726981 9708 37 37 0 111721 90440 23409 16201 0.90153973 0 59 0 - 95000 12.938398 16301 0.2467405 42.117288 43.472739 13.229664 9490 42 42 0 113106 90440 23409 16301 0.89222858 0 59 0 - 96000 13.125 16243 0.24672164 42.094416 43.469416 11.492955 9666 43 43 0 114441 90440 23409 16243 0.89369219 0 59 0 - 97000 14.779601 16270 0.24775001 42.102263 43.650602 9.7132418 9517 31 31 0 115831 90440 23409 16270 0.88854614 0 59 0 - 98000 15.427308 16254 0.24808383 42.093224 43.709418 11.821283 9510 36 37 0 117263 90440 23409 16254 0.88982996 0 59 0 - 99000 16.212104 16248 0.24846852 42.078784 43.777195 10.786344 9807 37 37 0 118659 90440 23409 16248 0.89136464 0 59 0 - 100000 15.896 16229 0.24841013 42.101613 43.766908 10.836017 9640 28 28 0 120081 90440 23409 16229 0.90018614 0 59 0 -Loop time of 53.3125 on 8 procs for 100000 steps with 73999 atoms - -Pair time (%) = 0.559711 (1.04987) -Neigh time (%) = 3.94754 (7.40453) -Comm time (%) = 3.46588 (6.50106) -Outpt time (%) = 0.00787139 (0.0147646) -Other time (%) = 45.3315 (85.0298) - -Nlocal: 9249.88 ave 10477 max 8359 min -Histogram: 1 2 1 1 0 1 0 0 0 2 -Nghost: 54 ave 65 max 45 min -Histogram: 2 1 0 0 1 1 0 2 0 1 -Neighs: 316.875 ave 387 max 170 min -Histogram: 1 0 0 0 1 0 0 4 0 2 - -Total # of neighbors = 2535 -Ave neighs/atom = 0.0342572 -Neighbor list builds = 5000 -Dangerous builds = 0 - -Please see the log.cite file for references relevant to this simulation - From 4b83439eeb67ae77130dc782132908a8c77647bc Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 17 Jun 2021 10:35:35 -0400 Subject: [PATCH 242/726] reformat and modernize --- src/SRD/fix_srd.cpp | 2465 +++++++++++++++++++++---------------------- 1 file changed, 1207 insertions(+), 1258 deletions(-) diff --git a/src/SRD/fix_srd.cpp b/src/SRD/fix_srd.cpp index b1bd4a6fab..dcb62e534d 100644 --- a/src/SRD/fix_srd.cpp +++ b/src/SRD/fix_srd.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -18,41 +17,42 @@ #include "fix_srd.h" -#include -#include -#include "math_extra.h" #include "atom.h" #include "atom_vec_ellipsoid.h" #include "atom_vec_line.h" #include "atom_vec_tri.h" -#include "group.h" -#include "update.h" -#include "force.h" -#include "domain.h" -#include "neighbor.h" +#include "citeme.h" #include "comm.h" -#include "modify.h" +#include "domain.h" +#include "error.h" #include "fix_deform.h" #include "fix_wall_srd.h" +#include "force.h" +#include "group.h" +#include "math_const.h" +#include "math_extra.h" +#include "memory.h" +#include "modify.h" +#include "neighbor.h" #include "random_mars.h" #include "random_park.h" -#include "math_const.h" -#include "citeme.h" -#include "memory.h" -#include "error.h" +#include "update.h" + +#include +#include using namespace LAMMPS_NS; using namespace FixConst; using namespace MathConst; -enum{SLIP,NOSLIP}; -enum{SPHERE,ELLIPSOID,LINE,TRIANGLE,WALL}; -enum{INSIDE_ERROR,INSIDE_WARN,INSIDE_IGNORE}; -enum{BIG_MOVE,SRD_MOVE,SRD_ROTATE}; -enum{CUBIC_ERROR,CUBIC_WARN}; -enum{SHIFT_NO,SHIFT_YES,SHIFT_POSSIBLE}; +enum { SLIP, NOSLIP }; +enum { SPHERE, ELLIPSOID, LINE, TRIANGLE, WALL }; +enum { INSIDE_ERROR, INSIDE_WARN, INSIDE_IGNORE }; +enum { BIG_MOVE, SRD_MOVE, SRD_ROTATE }; +enum { CUBIC_ERROR, CUBIC_WARN }; +enum { SHIFT_NO, SHIFT_YES, SHIFT_POSSIBLE }; -#define EINERTIA 0.2 // moment of inertia prefactor for ellipsoid +#define EINERTIA 0.2 // moment of inertia prefactor for ellipsoid #define ATOMPERBIN 30 #define BIG 1.0e20 @@ -60,16 +60,17 @@ enum{SHIFT_NO,SHIFT_YES,SHIFT_POSSIBLE}; #define TOLERANCE 0.00001 #define MAXITER 20 -static const char cite_fix_srd[] = - "fix srd command:\n\n" - "@Article{Petersen10,\n" - " author = {M. K. Petersen, J. B. Lechman, S. J. Plimpton, G. S. Grest, P. J. in 't Veld, P. R. Schunk},\n" - " title = {Mesoscale Hydrodynamics via Stochastic Rotation Dynamics: Comparison with Lennard-Jones Fluid}," - " journal = {J.~Chem.~Phys.},\n" - " year = 2010,\n" - " volume = 132,\n" - " pages = {174106}\n" - "}\n\n"; +static const char cite_fix_srd[] = "fix srd command:\n\n" + "@Article{Petersen10,\n" + " author = {M. K. Petersen, J. B. Lechman, S. J. Plimpton, G. " + "S. Grest, P. J. in 't Veld, P. R. Schunk},\n" + " title = {Mesoscale Hydrodynamics via Stochastic Rotation " + "Dynamics: Comparison with Lennard-Jones Fluid}," + " journal = {J.~Chem.~Phys.},\n" + " year = 2010,\n" + " volume = 132,\n" + " pages = {174106}\n" + "}\n\n"; //#define SRD_DEBUG 1 //#define SRD_DEBUG_ATOMID 58 @@ -77,17 +78,16 @@ static const char cite_fix_srd[] = /* ---------------------------------------------------------------------- */ -FixSRD::FixSRD(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg), - wallfix(nullptr), wallwhich(nullptr), xwall(nullptr), xwallhold(nullptr), - vwall(nullptr), fwall(nullptr), avec_ellipsoid(nullptr), avec_line(nullptr), - avec_tri(nullptr), random(nullptr), randomshift(nullptr), flocal(nullptr), - tlocal(nullptr), biglist(nullptr), binhead(nullptr), binnext(nullptr), sbuf1(nullptr), - sbuf2(nullptr), rbuf1(nullptr), rbuf2(nullptr), nbinbig(nullptr), binbig(nullptr), - binsrd(nullptr), stencil(nullptr) +FixSRD::FixSRD(LAMMPS *lmp, int narg, char **arg) : + Fix(lmp, narg, arg), wallfix(nullptr), wallwhich(nullptr), xwall(nullptr), xwallhold(nullptr), + vwall(nullptr), fwall(nullptr), avec_ellipsoid(nullptr), avec_line(nullptr), avec_tri(nullptr), + random(nullptr), randomshift(nullptr), flocal(nullptr), tlocal(nullptr), biglist(nullptr), + binhead(nullptr), binnext(nullptr), sbuf1(nullptr), sbuf2(nullptr), rbuf1(nullptr), + rbuf2(nullptr), nbinbig(nullptr), binbig(nullptr), binsrd(nullptr), stencil(nullptr) { if (lmp->citeme) lmp->citeme->add(cite_fix_srd); - if (narg < 8) error->all(FLERR,"Illegal fix srd command"); + if (narg < 8) error->all(FLERR, "Illegal fix srd command"); restart_pbc = 1; vector_flag = 1; @@ -95,15 +95,17 @@ FixSRD::FixSRD(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg), global_freq = 1; extvector = 0; - nevery = utils::inumeric(FLERR,arg[3],false,lmp); + nevery = utils::inumeric(FLERR, arg[3], false, lmp); bigexist = 1; - if (strcmp(arg[4],"NULL") == 0) bigexist = 0; - else biggroup = group->find(arg[4]); + if (strcmp(arg[4], "NULL") == 0) + bigexist = 0; + else + biggroup = group->find(arg[4]); - temperature_srd = utils::numeric(FLERR,arg[5],false,lmp); - gridsrd = utils::numeric(FLERR,arg[6],false,lmp); - int seed = utils::inumeric(FLERR,arg[7],false,lmp); + temperature_srd = utils::numeric(FLERR, arg[5], false, lmp); + gridsrd = utils::numeric(FLERR, arg[6], false, lmp); + int seed = utils::inumeric(FLERR, arg[7], false, lmp); // parse options @@ -124,121 +126,147 @@ FixSRD::FixSRD(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg), int iarg = 8; while (iarg < narg) { - if (strcmp(arg[iarg],"lamda") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal fix srd command"); - lamda = utils::numeric(FLERR,arg[iarg+1],false,lmp); + if (strcmp(arg[iarg], "lamda") == 0) { + if (iarg + 2 > narg) error->all(FLERR, "Illegal fix srd command"); + lamda = utils::numeric(FLERR, arg[iarg + 1], false, lmp); lamdaflag = 1; iarg += 2; - } else if (strcmp(arg[iarg],"collision") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal fix srd command"); - if (strcmp(arg[iarg+1],"slip") == 0) collidestyle = SLIP; - else if (strcmp(arg[iarg+1],"noslip") == 0) collidestyle = NOSLIP; - else error->all(FLERR,"Illegal fix srd command"); + } else if (strcmp(arg[iarg], "collision") == 0) { + if (iarg + 2 > narg) error->all(FLERR, "Illegal fix srd command"); + if (strcmp(arg[iarg + 1], "slip") == 0) + collidestyle = SLIP; + else if (strcmp(arg[iarg + 1], "noslip") == 0) + collidestyle = NOSLIP; + else + error->all(FLERR, "Illegal fix srd command"); iarg += 2; - } else if (strcmp(arg[iarg],"overlap") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal fix srd command"); - if (strcmp(arg[iarg+1],"yes") == 0) overlap = 1; - else if (strcmp(arg[iarg+1],"no") == 0) overlap = 0; - else error->all(FLERR,"Illegal fix srd command"); + } else if (strcmp(arg[iarg], "overlap") == 0) { + if (iarg + 2 > narg) error->all(FLERR, "Illegal fix srd command"); + if (strcmp(arg[iarg + 1], "yes") == 0) + overlap = 1; + else if (strcmp(arg[iarg + 1], "no") == 0) + overlap = 0; + else + error->all(FLERR, "Illegal fix srd command"); iarg += 2; - } else if (strcmp(arg[iarg],"inside") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal fix srd command"); - if (strcmp(arg[iarg+1],"error") == 0) insideflag = INSIDE_ERROR; - else if (strcmp(arg[iarg+1],"warn") == 0) insideflag = INSIDE_WARN; - else if (strcmp(arg[iarg+1],"ignore") == 0) insideflag = INSIDE_IGNORE; - else error->all(FLERR,"Illegal fix srd command"); + } else if (strcmp(arg[iarg], "inside") == 0) { + if (iarg + 2 > narg) error->all(FLERR, "Illegal fix srd command"); + if (strcmp(arg[iarg + 1], "error") == 0) + insideflag = INSIDE_ERROR; + else if (strcmp(arg[iarg + 1], "warn") == 0) + insideflag = INSIDE_WARN; + else if (strcmp(arg[iarg + 1], "ignore") == 0) + insideflag = INSIDE_IGNORE; + else + error->all(FLERR, "Illegal fix srd command"); iarg += 2; - } else if (strcmp(arg[iarg],"exact") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal fix srd command"); - if (strcmp(arg[iarg+1],"yes") == 0) exactflag = 1; - else if (strcmp(arg[iarg+1],"no") == 0) exactflag = 0; - else error->all(FLERR,"Illegal fix srd command"); + } else if (strcmp(arg[iarg], "exact") == 0) { + if (iarg + 2 > narg) error->all(FLERR, "Illegal fix srd command"); + if (strcmp(arg[iarg + 1], "yes") == 0) + exactflag = 1; + else if (strcmp(arg[iarg + 1], "no") == 0) + exactflag = 0; + else + error->all(FLERR, "Illegal fix srd command"); iarg += 2; - } else if (strcmp(arg[iarg],"radius") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal fix srd command"); - radfactor = utils::numeric(FLERR,arg[iarg+1],false,lmp); + } else if (strcmp(arg[iarg], "radius") == 0) { + if (iarg + 2 > narg) error->all(FLERR, "Illegal fix srd command"); + radfactor = utils::numeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; - } else if (strcmp(arg[iarg],"bounce") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal fix srd command"); - maxbounceallow = utils::inumeric(FLERR,arg[iarg+1],false,lmp); + } else if (strcmp(arg[iarg], "bounce") == 0) { + if (iarg + 2 > narg) error->all(FLERR, "Illegal fix srd command"); + maxbounceallow = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; - } else if (strcmp(arg[iarg],"search") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal fix srd command"); - gridsearch = utils::numeric(FLERR,arg[iarg+1],false,lmp); + } else if (strcmp(arg[iarg], "search") == 0) { + if (iarg + 2 > narg) error->all(FLERR, "Illegal fix srd command"); + gridsearch = utils::numeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; - } else if (strcmp(arg[iarg],"cubic") == 0) { - if (iarg+3 > narg) error->all(FLERR,"Illegal fix srd command"); - if (strcmp(arg[iarg+1],"error") == 0) cubicflag = CUBIC_ERROR; - else if (strcmp(arg[iarg+1],"warn") == 0) cubicflag = CUBIC_WARN; - else error->all(FLERR,"Illegal fix srd command"); - cubictol = utils::numeric(FLERR,arg[iarg+2],false,lmp); + } else if (strcmp(arg[iarg], "cubic") == 0) { + if (iarg + 3 > narg) error->all(FLERR, "Illegal fix srd command"); + if (strcmp(arg[iarg + 1], "error") == 0) + cubicflag = CUBIC_ERROR; + else if (strcmp(arg[iarg + 1], "warn") == 0) + cubicflag = CUBIC_WARN; + else + error->all(FLERR, "Illegal fix srd command"); + cubictol = utils::numeric(FLERR, arg[iarg + 2], false, lmp); iarg += 3; - } else if (strcmp(arg[iarg],"shift") == 0) { - if (iarg+3 > narg) error->all(FLERR,"Illegal fix srd command"); - else if (strcmp(arg[iarg+1],"no") == 0) shiftuser = SHIFT_NO; - else if (strcmp(arg[iarg+1],"yes") == 0) shiftuser = SHIFT_YES; - else if (strcmp(arg[iarg+1],"possible") == 0) shiftuser = SHIFT_POSSIBLE; - else error->all(FLERR,"Illegal fix srd command"); - shiftseed = utils::inumeric(FLERR,arg[iarg+2],false,lmp); + } else if (strcmp(arg[iarg], "shift") == 0) { + if (iarg + 3 > narg) + error->all(FLERR, "Illegal fix srd command"); + else if (strcmp(arg[iarg + 1], "no") == 0) + shiftuser = SHIFT_NO; + else if (strcmp(arg[iarg + 1], "yes") == 0) + shiftuser = SHIFT_YES; + else if (strcmp(arg[iarg + 1], "possible") == 0) + shiftuser = SHIFT_POSSIBLE; + else + error->all(FLERR, "Illegal fix srd command"); + shiftseed = utils::inumeric(FLERR, arg[iarg + 2], false, lmp); iarg += 3; - } else if (strcmp(arg[iarg],"tstat") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal fix srd command"); - if (strcmp(arg[iarg+1],"no") == 0) tstat = 0; - else if (strcmp(arg[iarg+1],"yes") == 0) tstat = 1; - else error->all(FLERR,"Illegal fix srd command"); + } else if (strcmp(arg[iarg], "tstat") == 0) { + if (iarg + 2 > narg) error->all(FLERR, "Illegal fix srd command"); + if (strcmp(arg[iarg + 1], "no") == 0) + tstat = 0; + else if (strcmp(arg[iarg + 1], "yes") == 0) + tstat = 1; + else + error->all(FLERR, "Illegal fix srd command"); iarg += 2; - } else if (strcmp(arg[iarg],"rescale") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal fix srd command"); - if (strcmp(arg[iarg+1],"no") == 0) + } else if (strcmp(arg[iarg], "rescale") == 0) { + if (iarg + 2 > narg) error->all(FLERR, "Illegal fix srd command"); + if (strcmp(arg[iarg + 1], "no") == 0) rescale_rotate = rescale_collide = 0; - else if (strcmp(arg[iarg+1],"yes") == 0) + else if (strcmp(arg[iarg + 1], "yes") == 0) rescale_rotate = rescale_collide = 1; - else if (strcmp(arg[iarg+1],"rotate") == 0) { + else if (strcmp(arg[iarg + 1], "rotate") == 0) { rescale_rotate = 1; rescale_collide = 0; - } else if (strcmp(arg[iarg+1],"collide") == 0) { + } else if (strcmp(arg[iarg + 1], "collide") == 0) { rescale_rotate = 0; rescale_collide = 1; - } - else error->all(FLERR,"Illegal fix srd command"); + } else + error->all(FLERR, "Illegal fix srd command"); iarg += 2; - } else error->all(FLERR,"Illegal fix srd command"); + } else + error->all(FLERR, "Illegal fix srd command"); } // error check - if (nevery <= 0) error->all(FLERR,"Illegal fix srd command"); - if (bigexist && biggroup < 0) - error->all(FLERR,"Could not find fix srd group ID"); - if (gridsrd <= 0.0) error->all(FLERR,"Illegal fix srd command"); - if (temperature_srd <= 0.0) error->all(FLERR,"Illegal fix srd command"); - if (seed <= 0) error->all(FLERR,"Illegal fix srd command"); - if (radfactor <= 0.0) error->all(FLERR,"Illegal fix srd command"); - if (maxbounceallow < 0) error->all(FLERR,"Illegal fix srd command"); - if (lamdaflag && lamda <= 0.0) error->all(FLERR,"Illegal fix srd command"); - if (gridsearch <= 0.0) error->all(FLERR,"Illegal fix srd command"); - if (cubictol < 0.0 || cubictol > 1.0) - error->all(FLERR,"Illegal fix srd command"); - if ((shiftuser == SHIFT_YES || shiftuser == SHIFT_POSSIBLE) && - shiftseed <= 0) error->all(FLERR,"Illegal fix srd command"); + if (nevery <= 0) error->all(FLERR, "Illegal fix srd command"); + if (bigexist && biggroup < 0) error->all(FLERR, "Could not find fix srd group ID"); + if (gridsrd <= 0.0) error->all(FLERR, "Illegal fix srd command"); + if (temperature_srd <= 0.0) error->all(FLERR, "Illegal fix srd command"); + if (seed <= 0) error->all(FLERR, "Illegal fix srd command"); + if (radfactor <= 0.0) error->all(FLERR, "Illegal fix srd command"); + if (maxbounceallow < 0) error->all(FLERR, "Illegal fix srd command"); + if (lamdaflag && lamda <= 0.0) error->all(FLERR, "Illegal fix srd command"); + if (gridsearch <= 0.0) error->all(FLERR, "Illegal fix srd command"); + if (cubictol < 0.0 || cubictol > 1.0) error->all(FLERR, "Illegal fix srd command"); + if ((shiftuser == SHIFT_YES || shiftuser == SHIFT_POSSIBLE) && shiftseed <= 0) + error->all(FLERR, "Illegal fix srd command"); // initialize Marsaglia RNG with processor-unique seed me = comm->me; nprocs = comm->nprocs; - random = new RanMars(lmp,seed + me); + random = new RanMars(lmp, seed + me); // if requested, initialize shift RNG, same on every proc if (shiftuser == SHIFT_YES || shiftuser == SHIFT_POSSIBLE) - randomshift = new RanPark(lmp,shiftseed); - else randomshift = nullptr; + randomshift = new RanPark(lmp, shiftseed); + else + randomshift = nullptr; // initialize data structs and flags - if (bigexist) biggroupbit = group->bitmask[biggroup]; - else biggroupbit = 0; + if (bigexist) + biggroupbit = group->bitmask[biggroup]; + else + biggroupbit = 0; nmax = 0; binhead = nullptr; @@ -253,8 +281,7 @@ FixSRD::FixSRD(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg), shifts[0].maxbinsq = shifts[1].maxbinsq = 0; for (int ishift = 0; ishift < 2; ishift++) for (int iswap = 0; iswap < 6; iswap++) - shifts[ishift].bcomm[iswap].sendlist = - shifts[ishift].bcomm[iswap].recvlist = nullptr; + shifts[ishift].bcomm[iswap].sendlist = shifts[ishift].bcomm[iswap].recvlist = nullptr; maxbin2 = 0; nbinbig = nullptr; @@ -283,8 +310,10 @@ FixSRD::FixSRD(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg), // fix parameters - if (collidestyle == SLIP) comm_reverse = 3; - else comm_reverse = 6; + if (collidestyle == SLIP) + comm_reverse = 3; + else + comm_reverse = 6; force_reneighbor = 1; } @@ -333,17 +362,15 @@ void FixSRD::init() { // error checks - if (force->newton_pair == 0) - error->all(FLERR,"Fix srd requires newton pair on"); + if (force->newton_pair == 0) error->all(FLERR, "Fix srd requires newton pair on"); if (bigexist && comm->ghost_velocity == 0) - error->all(FLERR,"Fix srd requires ghost atoms store velocity"); + error->all(FLERR, "Fix srd requires ghost atoms store velocity"); if (bigexist && collidestyle == NOSLIP && !atom->torque_flag) - error->all(FLERR,"Fix srd no-slip requires atom attribute torque"); + error->all(FLERR, "Fix srd no-slip requires atom attribute torque"); if (initflag && update->dt != dt_big) - error->all(FLERR,"Cannot change timestep once fix srd is setup"); + error->all(FLERR, "Cannot change timestep once fix srd is setup"); if (comm->style != 0) - error->universe_all(FLERR,"Fix srd can only currently be used with " - "comm_style brick"); + error->universe_all(FLERR, "Fix srd can only currently be used with comm_style brick"); // orthogonal vs triclinic simulation box // could be static or shearing box @@ -354,8 +381,8 @@ void FixSRD::init() wallexist = 0; for (int m = 0; m < modify->nfix; m++) { - if (strcmp(modify->fix[m]->style,"wall/srd") == 0) { - if (wallexist) error->all(FLERR,"Cannot use fix wall/srd more than once"); + if (strcmp(modify->fix[m]->style, "wall/srd") == 0) { + if (wallexist) error->all(FLERR, "Cannot use fix wall/srd more than once"); wallexist = 1; wallfix = (FixWallSRD *) modify->fix[m]; nwall = wallfix->nwall; @@ -367,8 +394,7 @@ void FixSRD::init() fwall = wallfix->fwall; walltrigger = 0.5 * neighbor->skin; if (wallfix->overlap && overlap == 0 && me == 0) - error->warning(FLERR, - "Fix SRD walls overlap but fix srd overlap not set"); + error->warning(FLERR, "Fix SRD walls overlap but fix srd overlap not set"); } } @@ -379,21 +405,18 @@ void FixSRD::init() Fix **fixes = modify->fix; for (int i = 0; i < modify->nfix; i++) { - if (fixes[i]->box_change & BOX_CHANGE_SIZE) change_size = 1; + if (fixes[i]->box_change & BOX_CHANGE_SIZE) change_size = 1; if (fixes[i]->box_change & BOX_CHANGE_SHAPE) change_shape = 1; - if (strcmp(fixes[i]->style,"deform") == 0) { + if (strcmp(fixes[i]->style, "deform") == 0) { deformflag = 1; FixDeform *deform = (FixDeform *) modify->fix[i]; - if ((deform->box_change & BOX_CHANGE_SHAPE) - && deform->remapflag != Domain::V_REMAP) - error->all(FLERR,"Using fix srd with inconsistent " - "fix deform remap option"); + if ((deform->box_change & BOX_CHANGE_SHAPE) && deform->remapflag != Domain::V_REMAP) + error->all(FLERR, "Using fix srd with inconsistent fix deform remap option"); } } if (deformflag && tstat == 0 && me == 0) - error->warning(FLERR, - "Using fix srd with box deformation but no SRD thermostat"); + error->warning(FLERR, "Using fix srd with box deformation but no SRD thermostat"); // parameterize based on current box volume @@ -411,21 +434,16 @@ void FixSRD::init() for (int i = 0; i < nlocal; i++) if (mask[i] & groupbit) { - vsq = v[i][0]*v[i][0] + v[i][1]*v[i][1] + v[i][2]*v[i][2]; + vsq = v[i][0] * v[i][0] + v[i][1] * v[i][1] + v[i][2] * v[i][2]; if (vsq > vmaxsq) { nrescale++; - MathExtra::scale3(vmax/sqrt(vsq),v[i]); + MathExtra::scale3(vmax / sqrt(vsq), v[i]); } } int all; - MPI_Allreduce(&nrescale,&all,1,MPI_INT,MPI_SUM,world); - if (me == 0) { - if (screen) - fprintf(screen," # of rescaled SRD velocities = %d\n",all); - if (logfile) - fprintf(logfile," # of rescaled SRD velocities = %d\n",all); - } + MPI_Allreduce(&nrescale, &all, 1, MPI_INT, MPI_SUM, world); + if (me == 0) utils::logmesg(lmp, " # of rescaled SRD velocities = {}\n", all); velocity_stats(igroup); if (bigexist) velocity_stats(biggroup); @@ -447,16 +465,16 @@ void FixSRD::setup(int /*vflag*/) { setup_bounds(); - if (dist_srd_reneigh < nevery*dt_big*vmax && me == 0) - error->warning(FLERR, - "Fix srd SRD moves may trigger frequent reneighboring"); + if (dist_srd_reneigh < nevery * dt_big * vmax && me == 0) + error->warning(FLERR, "Fix srd SRD moves may trigger frequent reneighboring"); // setup search bins and search stencil based on these distances if (bigexist || wallexist) { setup_search_bins(); setup_search_stencil(); - } else nbins2 = 0; + } else + nbins2 = 0; // perform first binning of SRD and big particles and walls // set reneighflag to turn off SRD rotation @@ -473,8 +491,8 @@ void FixSRD::setup(int /*vflag*/) void FixSRD::pre_neighbor() { - int i,j,m,ix,iy,iz,jx,jy,jz,ibin,jbin,lo,hi; - double rsq,cutbinsq; + int i, j, m, ix, iy, iz, jx, jy, jz, ibin, jbin, lo, hi; + double rsq, cutbinsq; // grow SRD per-atom bin arrays if necessary @@ -482,8 +500,8 @@ void FixSRD::pre_neighbor() nmax = atom->nmax; memory->destroy(binsrd); memory->destroy(binnext); - memory->create(binsrd,nmax,"fix/srd:binsrd"); - memory->create(binnext,nmax,"fix/srd:binnext"); + memory->create(binsrd, nmax, "fix/srd:binsrd"); + memory->create(binnext, nmax, "fix/srd:binnext"); } // setup and grow BIG info list if necessary @@ -492,7 +510,8 @@ void FixSRD::pre_neighbor() if (bigexist || wallexist) { if (bigexist) { - if (biggroup == atom->firstgroup) nbig = atom->nfirst + atom->nghost; + if (biggroup == atom->firstgroup) + nbig = atom->nfirst + atom->nghost; else { int *mask = atom->mask; int nlocal = atom->nlocal; @@ -500,7 +519,8 @@ void FixSRD::pre_neighbor() for (i = 0; i < nlocal; i++) if (mask[i] & biggroupbit) nbig++; } - } else nbig = 0; + } else + nbig = 0; int ninfo = nbig; if (wallexist) ninfo += nwall; @@ -508,7 +528,7 @@ void FixSRD::pre_neighbor() if (ninfo > maxbig) { maxbig = ninfo; memory->destroy(biglist); - biglist = (Big *) memory->smalloc(maxbig*sizeof(Big),"fix/srd:biglist"); + biglist = (Big *) memory->smalloc(maxbig * sizeof(Big), "fix/srd:biglist"); } if (bigexist) { @@ -526,8 +546,8 @@ void FixSRD::pre_neighbor() if (wallexist) { for (m = 0; m < nwall; m++) { - biglist[nbig+m].index = m; - biglist[nbig+m].type = WALL; + biglist[nbig + m].index = m; + biglist[nbig + m].type = WALL; } wallfix->wall_params(1); } @@ -557,21 +577,19 @@ void FixSRD::pre_neighbor() if (bigexist && biggroup == atom->firstgroup) nfirst = atom->nfirst; if (bigexist || wallexist) - for (i = 0; i < nbins2; i++) - nbinbig[i] = 0; + for (i = 0; i < nbins2; i++) nbinbig[i] = 0; if (bigexist) { i = nbig = 0; while (i < nall) { if (mask[i] & biggroupbit) { - ix = static_cast ((x[i][0]-xblo2)*bininv2x); - iy = static_cast ((x[i][1]-yblo2)*bininv2y); - iz = static_cast ((x[i][2]-zblo2)*bininv2z); - ibin = iz*nbin2y*nbin2x + iy*nbin2x + ix; + ix = static_cast((x[i][0] - xblo2) * bininv2x); + iy = static_cast((x[i][1] - yblo2) * bininv2y); + iz = static_cast((x[i][2] - zblo2) * bininv2z); + ibin = iz * nbin2y * nbin2x + iy * nbin2x + ix; - if (ix < 0 || ix >= nbin2x || iy < 0 || iy >= nbin2y || - iz < 0 || iz >= nbin2z) - error->one(FLERR,"Fix SRD: bad search bin assignment"); + if (ix < 0 || ix >= nbin2x || iy < 0 || iy >= nbin2y || iz < 0 || iz >= nbin2z) + error->one(FLERR, "Fix SRD: bad search bin assignment"); cutbinsq = biglist[nbig].cutbinsq; for (j = 0; j < nstencil; j++) { @@ -579,21 +597,18 @@ void FixSRD::pre_neighbor() jy = iy + stencil[j][1]; jz = iz + stencil[j][2]; - if (jx < 0 || jx >= nbin2x || jy < 0 || jy >= nbin2y || - jz < 0 || jz >= nbin2z) { - if (screen) { - fprintf(screen,"Big particle " TAGINT_FORMAT " %d %g %g %g\n", - atom->tag[i],i,x[i][0],x[i][1],x[i][2]); - fprintf(screen,"Bin indices: %d %d %d, %d %d %d, %d %d %d\n", - ix,iy,iz,jx,jy,jz,nbin2x,nbin2y,nbin2z); - } - error->one(FLERR,"Fix SRD: bad stencil bin for big particle"); - } - rsq = point_bin_distance(x[i],jx,jy,jz); + if (jx < 0 || jx >= nbin2x || jy < 0 || jy >= nbin2y || jz < 0 || jz >= nbin2z) + error->one(FLERR, + "Fix SRD: bad stencil bin for big particle\n" + "Big particle {} {} {:.8} {:.8} {:.8}\n" + "Bin indices: {} {} {}, {} {} {}, {} {} {}\n", + atom->tag[i], i, x[i][0], x[i][1], x[i][2], ix, iy, iz, jx, jy, jz, nbin2x, + nbin2y, nbin2z); + rsq = point_bin_distance(x[i], jx, jy, jz); if (rsq < cutbinsq) { jbin = ibin + stencil[j][3]; if (nbinbig[jbin] == ATOMPERBIN) - error->one(FLERR,"Fix SRD: too many big particles in bin"); + error->one(FLERR, "Fix SRD: too many big particles in bin"); binbig[jbin][nbinbig[jbin]++] = nbig; } } @@ -620,71 +635,65 @@ void FixSRD::pre_neighbor() if (dim == 0) { if (side == 0) { - hi = static_cast ((xwall[m]+delta-xblo2)*bininv2x); + hi = static_cast((xwall[m] + delta - xblo2) * bininv2x); if (hi < 0) continue; - if (hi >= nbin2x) error->all(FLERR, - "Fix SRD: bad search bin assignment"); + if (hi >= nbin2x) error->all(FLERR, "Fix SRD: bad search bin assignment"); lo = 0; } else { - lo = static_cast ((xwall[m]-delta-xblo2)*bininv2x); + lo = static_cast((xwall[m] - delta - xblo2) * bininv2x); if (lo >= nbin2x) continue; - if (lo < 0) error->all(FLERR,"Fix SRD: bad search bin assignment"); - hi = nbin2x-1; + if (lo < 0) error->all(FLERR, "Fix SRD: bad search bin assignment"); + hi = nbin2x - 1; } for (ix = lo; ix <= hi; ix++) for (iy = 0; iy < nbin2y; iy++) for (iz = 0; iz < nbin2z; iz++) { - ibin = iz*nbin2y*nbin2x + iy*nbin2x + ix; - if (nbinbig[ibin] == ATOMPERBIN) - error->all(FLERR,"Fix SRD: too many walls in bin"); - binbig[ibin][nbinbig[ibin]++] = nbig+m; + ibin = iz * nbin2y * nbin2x + iy * nbin2x + ix; + if (nbinbig[ibin] == ATOMPERBIN) error->all(FLERR, "Fix SRD: too many walls in bin"); + binbig[ibin][nbinbig[ibin]++] = nbig + m; } } else if (dim == 1) { if (side == 0) { - hi = static_cast ((xwall[m]+delta-yblo2)*bininv2y); + hi = static_cast((xwall[m] + delta - yblo2) * bininv2y); if (hi < 0) continue; - if (hi >= nbin2y) error->all(FLERR, - "Fix SRD: bad search bin assignment"); + if (hi >= nbin2y) error->all(FLERR, "Fix SRD: bad search bin assignment"); lo = 0; } else { - lo = static_cast ((xwall[m]-delta-yblo2)*bininv2y); + lo = static_cast((xwall[m] - delta - yblo2) * bininv2y); if (lo >= nbin2y) continue; - if (lo < 0) error->all(FLERR,"Fix SRD: bad search bin assignment"); - hi = nbin2y-1; + if (lo < 0) error->all(FLERR, "Fix SRD: bad search bin assignment"); + hi = nbin2y - 1; } for (iy = lo; iy <= hi; iy++) for (ix = 0; ix < nbin2x; ix++) for (iz = 0; iz < nbin2z; iz++) { - ibin = iz*nbin2y*nbin2x + iy*nbin2x + ix; - if (nbinbig[ibin] == ATOMPERBIN) - error->all(FLERR,"Fix SRD: too many walls in bin"); - binbig[ibin][nbinbig[ibin]++] = nbig+m; + ibin = iz * nbin2y * nbin2x + iy * nbin2x + ix; + if (nbinbig[ibin] == ATOMPERBIN) error->all(FLERR, "Fix SRD: too many walls in bin"); + binbig[ibin][nbinbig[ibin]++] = nbig + m; } } else if (dim == 2) { if (side == 0) { - hi = static_cast ((xwall[m]+delta-zblo2)*bininv2z); + hi = static_cast((xwall[m] + delta - zblo2) * bininv2z); if (hi < 0) continue; - if (hi >= nbin2z) error->all(FLERR, - "Fix SRD: bad search bin assignment"); + if (hi >= nbin2z) error->all(FLERR, "Fix SRD: bad search bin assignment"); lo = 0; } else { - lo = static_cast ((xwall[m]-delta-zblo2)*bininv2z); + lo = static_cast((xwall[m] - delta - zblo2) * bininv2z); if (lo >= nbin2z) continue; - if (lo < 0) error->all(FLERR,"Fix SRD: bad search bin assignment"); - hi = nbin2z-1; + if (lo < 0) error->all(FLERR, "Fix SRD: bad search bin assignment"); + hi = nbin2z - 1; } for (iz = lo; iz < hi; iz++) for (ix = 0; ix < nbin2x; ix++) for (iy = 0; iy < nbin2y; iy++) { - ibin = iz*nbin2y*nbin2x + iy*nbin2x + ix; - if (nbinbig[ibin] == ATOMPERBIN) - error->all(FLERR,"Fix SRD: too many walls in bin"); - binbig[ibin][nbinbig[ibin]++] = nbig+m; + ibin = iz * nbin2y * nbin2x + iy * nbin2x + ix; + if (nbinbig[ibin] == ATOMPERBIN) error->all(FLERR, "Fix SRD: too many walls in bin"); + binbig[ibin][nbinbig[ibin]++] = nbig + m; } } } @@ -708,7 +717,7 @@ void FixSRD::pre_neighbor() void FixSRD::post_force(int /*vflag*/) { - int i,m,ix,iy,iz; + int i, m, ix, iy, iz; // zero per-timestep stats @@ -723,12 +732,10 @@ void FixSRD::post_force(int /*vflag*/) int nall = nlocal + atom->nghost; if (bigexist == 0) nall = 0; - for (i = nlocal; i < nall; i++) - f[i][0] = f[i][1] = f[i][2] = 0.0; + for (i = nlocal; i < nall; i++) f[i][0] = f[i][1] = f[i][2] = 0.0; if (collidestyle == NOSLIP) - for (i = nlocal; i < nall; i++) - torque[i][0] = torque[i][1] = torque[i][2] = 0.0; + for (i = nlocal; i < nall; i++) torque[i][0] = torque[i][1] = torque[i][2] = 0.0; // advect SRD particles // assign to search bins if big particles or walls exist @@ -740,36 +747,30 @@ void FixSRD::post_force(int /*vflag*/) if (bigexist || wallexist) { for (i = 0; i < nlocal; i++) if (mask[i] & groupbit) { - x[i][0] += dt_big*v[i][0]; - x[i][1] += dt_big*v[i][1]; - x[i][2] += dt_big*v[i][2]; + x[i][0] += dt_big * v[i][0]; + x[i][1] += dt_big * v[i][1]; + x[i][2] += dt_big * v[i][2]; - ix = static_cast ((x[i][0]-xblo2)*bininv2x); - iy = static_cast ((x[i][1]-yblo2)*bininv2y); - iz = static_cast ((x[i][2]-zblo2)*bininv2z); - binsrd[i] = iz*nbin2y*nbin2x + iy*nbin2x + ix; + ix = static_cast((x[i][0] - xblo2) * bininv2x); + iy = static_cast((x[i][1] - yblo2) * bininv2y); + iz = static_cast((x[i][2] - zblo2) * bininv2z); + binsrd[i] = iz * nbin2y * nbin2x + iy * nbin2x + ix; - if (ix < 0 || ix >= nbin2x || iy < 0 || iy >= nbin2y || - iz < 0 || iz >= nbin2z) { - if (screen) { - fprintf(screen,"SRD particle " TAGINT_FORMAT - " on step " BIGINT_FORMAT "\n", - atom->tag[i],update->ntimestep); - fprintf(screen,"v = %g %g %g\n",v[i][0],v[i][1],v[i][2]); - fprintf(screen,"x = %g %g %g\n",x[i][0],x[i][1],x[i][2]); - fprintf(screen,"ix,iy,iz nx,ny,nz = %d %d %d %d %d %d\n", - ix,iy,iz,nbin2x,nbin2y,nbin2z); - } - error->one(FLERR,"Fix SRD: bad bin assignment for SRD advection"); - } + if (ix < 0 || ix >= nbin2x || iy < 0 || iy >= nbin2y || iz < 0 || iz >= nbin2z) + error->one(FLERR, + "Fix SRD: bad bin assignment for SRD advection\n" + "SRD particle {} on step {}\n" + "v = {:.8} {:.8} {:.8}\nx = {:.8} {:.8} {:.8}\n" + "ix,iy,iz nx,ny,nz = {} {} {} {} {} {}\n", + atom->tag[i], update->ntimestep, v[i][0], v[i][1], v[i][2], x[i][0], x[i][1], + x[i][2], ix, iy, iz, nbin2x, nbin2y, nbin2z); } - } else { for (i = 0; i < nlocal; i++) if (mask[i] & groupbit) { - x[i][0] += dt_big*v[i][0]; - x[i][1] += dt_big*v[i][1]; - x[i][2] += dt_big*v[i][2]; + x[i][0] += dt_big * v[i][0]; + x[i][1] += dt_big * v[i][1]; + x[i][2] += dt_big * v[i][2]; } } @@ -778,8 +779,10 @@ void FixSRD::post_force(int /*vflag*/) if (bigexist || wallexist) { if (bigexist) big_dynamic(); if (wallexist) wallfix->wall_params(0); - if (overlap) collisions_multi(); - else collisions_single(); + if (overlap) + collisions_multi(); + else + collisions_single(); } // reverse communicate forces & torques on BIG particles @@ -798,14 +801,14 @@ void FixSRD::post_force(int /*vflag*/) if (triclinic) domain->x2lamda(nlocal); for (i = 0; i < nlocal; i++) if (mask[i] & groupbit) { - if (x[i][0] < srdlo_reneigh[0] || x[i][0] > srdhi_reneigh[0] || - x[i][1] < srdlo_reneigh[1] || x[i][1] > srdhi_reneigh[1] || - x[i][2] < srdlo_reneigh[2] || x[i][2] > srdhi_reneigh[2]) flag = 1; + if (x[i][0] < srdlo_reneigh[0] || x[i][0] > srdhi_reneigh[0] || x[i][1] < srdlo_reneigh[1] || + x[i][1] > srdhi_reneigh[1] || x[i][2] < srdlo_reneigh[2] || x[i][2] > srdhi_reneigh[2]) + flag = 1; } if (triclinic) domain->lamda2x(nlocal); int flagall; - MPI_Allreduce(&flag,&flagall,1,MPI_INT,MPI_SUM,world); + MPI_Allreduce(&flag, &flagall, 1, MPI_INT, MPI_SUM, world); if (flagall) { next_reneighbor = update->ntimestep + 1; reneighflag = SRD_MOVE; @@ -816,13 +819,12 @@ void FixSRD::post_force(int /*vflag*/) if (wallexist) { for (m = 0; m < nwall; m++) - if (fabs(xwall[m]-xwallhold[m]) > walltrigger) - next_reneighbor = update->ntimestep + 1; + if (fabs(xwall[m] - xwallhold[m]) > walltrigger) next_reneighbor = update->ntimestep + 1; } // if next timestep is SRD timestep, trigger reneigh - if ((update->ntimestep+1) % nevery == 0) { + if ((update->ntimestep + 1) % nevery == 0) { next_reneighbor = update->ntimestep + 1; reneighflag = SRD_ROTATE; } @@ -837,24 +839,27 @@ void FixSRD::post_force(int /*vflag*/) void FixSRD::reset_velocities() { - int i,j,n,ix,iy,iz,ibin,axis,sign,irandom; - double u[3],vsum[3]; - double vsq,tbin,scale; - double *vave,*xlamda; + int i, j, n, ix, iy, iz, ibin, axis, sign, irandom; + double u[3], vsum[3]; + double vsq, tbin, scale; + double *vave, *xlamda; double vstream[3]; // if requested, perform a dynamic shift of bin positions if (shiftflag) { double *boxlo; - if (triclinic == 0) boxlo = domain->boxlo; - else boxlo = domain->boxlo_lamda; - shifts[1].corner[0] = boxlo[0] - binsize1x*randomshift->uniform(); - shifts[1].corner[1] = boxlo[1] - binsize1y*randomshift->uniform(); + if (triclinic == 0) + boxlo = domain->boxlo; + else + boxlo = domain->boxlo_lamda; + shifts[1].corner[0] = boxlo[0] - binsize1x * randomshift->uniform(); + shifts[1].corner[1] = boxlo[1] - binsize1y * randomshift->uniform(); if (dimension == 3) - shifts[1].corner[2] = boxlo[2] - binsize1z*randomshift->uniform(); - else shifts[1].corner[2] = boxlo[2]; - setup_velocity_shift(1,1); + shifts[1].corner[2] = boxlo[2] - binsize1z * randomshift->uniform(); + else + shifts[1].corner[2] = boxlo[2]; + setup_velocity_shift(1, 1); } double *corner = shifts[shiftflag].corner; @@ -880,17 +885,17 @@ void FixSRD::reset_velocities() for (i = 0; i < nlocal; i++) if (mask[i] & groupbit) { - ix = static_cast ((x[i][0]-corner[0])*bininv1x); - ix = MAX(ix,binlo[0]); - ix = MIN(ix,binhi[0]); - iy = static_cast ((x[i][1]-corner[1])*bininv1y); - iy = MAX(iy,binlo[1]); - iy = MIN(iy,binhi[1]); - iz = static_cast ((x[i][2]-corner[2])*bininv1z); - iz = MAX(iz,binlo[2]); - iz = MIN(iz,binhi[2]); + ix = static_cast((x[i][0] - corner[0]) * bininv1x); + ix = MAX(ix, binlo[0]); + ix = MIN(ix, binhi[0]); + iy = static_cast((x[i][1] - corner[1]) * bininv1y); + iy = MAX(iy, binlo[1]); + iy = MIN(iy, binhi[1]); + iz = static_cast((x[i][2] - corner[2]) * bininv1z); + iz = MAX(iz, binlo[2]); + iz = MIN(iz, binhi[2]); - ibin = (iz-binlo[2])*nbiny*nbinx + (iy-binlo[1])*nbinx + (ix-binlo[0]); + ibin = (iz - binlo[2]) * nbiny * nbinx + (iy - binlo[1]) * nbinx + (ix - binlo[0]); binnext[i] = binhead[ibin]; binhead[ibin] = i; } @@ -915,8 +920,10 @@ void FixSRD::reset_velocities() vbin[i].vsum[1] = vsum[1]; vbin[i].vsum[2] = vsum[2]; vbin[i].n = n; - if (vbin[i].owner) vbin[i].random = random->uniform(); - else vbin[i].random = 0.0; + if (vbin[i].owner) + vbin[i].random = random->uniform(); + else + vbin[i].random = 0.0; } // communicate bin info for bins which more than 1 proc contribute to @@ -943,8 +950,10 @@ void FixSRD::reset_velocities() int dof_temp = 1; int dof_tstat; if (tstat) { - if (deformflag) dof_tstat = dof_temp = 0; - else dof_tstat = 1; + if (deformflag) + dof_tstat = dof_temp = 0; + else + dof_tstat = 1; } srd_bin_temp = 0.0; @@ -963,26 +972,26 @@ void FixSRD::reset_velocities() vave[1] /= n; vave[2] /= n; - irandom = static_cast (6.0*vbin[i].random); + irandom = static_cast(6.0 * vbin[i].random); sign = irandom % 2; if (dimension == 3) axis = irandom / 2; vsq = 0.0; for (j = binhead[i]; j >= 0; j = binnext[j]) { if (axis == 0) { - u[0] = v[j][0]-vave[0]; - u[1] = sign ? v[j][2]-vave[2] : vave[2]-v[j][2]; - u[2] = sign ? vave[1]-v[j][1] : v[j][1]-vave[1]; + u[0] = v[j][0] - vave[0]; + u[1] = sign ? v[j][2] - vave[2] : vave[2] - v[j][2]; + u[2] = sign ? vave[1] - v[j][1] : v[j][1] - vave[1]; } else if (axis == 1) { - u[1] = v[j][1]-vave[1]; - u[0] = sign ? v[j][2]-vave[2] : vave[2]-v[j][2]; - u[2] = sign ? vave[0]-v[j][0] : v[j][0]-vave[0]; + u[1] = v[j][1] - vave[1]; + u[0] = sign ? v[j][2] - vave[2] : vave[2] - v[j][2]; + u[2] = sign ? vave[0] - v[j][0] : v[j][0] - vave[0]; } else { - u[2] = v[j][2]-vave[2]; - u[1] = sign ? v[j][0]-vave[0] : vave[0]-v[j][0]; - u[0] = sign ? vave[1]-v[j][1] : v[j][1]-vave[1]; + u[2] = v[j][2] - vave[2]; + u[1] = sign ? v[j][0] - vave[0] : vave[0] - v[j][0]; + u[0] = sign ? vave[1] - v[j][1] : v[j][1] - vave[1]; } - vsq += u[0]*u[0] + u[1]*u[1] + u[2]*u[2]; + vsq += u[0] * u[0] + u[1] * u[1] + u[2] * u[2]; v[j][0] = u[0] + vave[0]; v[j][1] = u[1] + vave[1]; v[j][2] = u[2] + vave[2]; @@ -991,7 +1000,7 @@ void FixSRD::reset_velocities() if (n > 1) vbin[i].value[0] = vsq; } - if (shifts[shiftflag].commflag) xbin_comm(shiftflag,1); + if (shifts[shiftflag].commflag) xbin_comm(shiftflag, 1); if (tstat) { for (i = 0; i < nbins; i++) { @@ -1004,10 +1013,10 @@ void FixSRD::reset_velocities() if (deformflag) { xlamda = vbin[i].xctr; - vstream[0] = h_rate[0]*xlamda[0] + h_rate[5]*xlamda[1] + - h_rate[4]*xlamda[2] + h_ratelo[0]; - vstream[1] = h_rate[1]*xlamda[1] + h_rate[3]*xlamda[2] + h_ratelo[1]; - vstream[2] = h_rate[2]*xlamda[2] + h_ratelo[2]; + vstream[0] = + h_rate[0] * xlamda[0] + h_rate[5] * xlamda[1] + h_rate[4] * xlamda[2] + h_ratelo[0]; + vstream[1] = h_rate[1] * xlamda[1] + h_rate[3] * xlamda[2] + h_ratelo[1]; + vstream[2] = h_rate[2] * xlamda[2] + h_ratelo[2]; } else { vstream[0] = vave[0]; vstream[1] = vave[1]; @@ -1017,14 +1026,14 @@ void FixSRD::reset_velocities() // tbin = thermal temperature of particles in bin // scale = scale factor for thermal velocity - tbin = vbin[i].value[0]/(n-dof_tstat) * tfactor; - scale = sqrt(temperature_srd/tbin); + tbin = vbin[i].value[0] / (n - dof_tstat) * tfactor; + scale = sqrt(temperature_srd / tbin); vsq = 0.0; for (j = binhead[i]; j >= 0; j = binnext[j]) { u[0] = (v[j][0] - vave[0]) * scale; u[1] = (v[j][1] - vave[1]) * scale; u[2] = (v[j][2] - vave[2]) * scale; - vsq += u[0]*u[0] + u[1]*u[1] + u[2]*u[2]; + vsq += u[0] * u[0] + u[1] * u[1] + u[2] * u[2]; v[j][0] = u[0] + vstream[0]; v[j][1] = u[1] + vstream[1]; v[j][2] = u[2] + vstream[2]; @@ -1032,13 +1041,13 @@ void FixSRD::reset_velocities() vbin[i].value[0] = vsq; } - if (shifts[shiftflag].commflag) xbin_comm(shiftflag,1); + if (shifts[shiftflag].commflag) xbin_comm(shiftflag, 1); } for (i = 0; i < nbins; i++) { if (vbin[i].owner) { if (vbin[i].n > 1) { - srd_bin_temp += vbin[i].value[0]/(vbin[i].n-dof_temp); + srd_bin_temp += vbin[i].value[0] / (vbin[i].n - dof_temp); srd_bin_count++; } } @@ -1051,10 +1060,10 @@ void FixSRD::reset_velocities() if (rescale_rotate) { for (i = 0; i < nlocal; i++) if (mask[i] & groupbit) { - vsq = v[i][0]*v[i][0] + v[i][1]*v[i][1] + v[i][2]*v[i][2]; + vsq = v[i][0] * v[i][0] + v[i][1] * v[i][1] + v[i][2] * v[i][2]; if (vsq > vmaxsq) { nrescale++; - MathExtra::scale3(vmax/sqrt(vsq),v[i]); + MathExtra::scale3(vmax / sqrt(vsq), v[i]); } } } @@ -1066,8 +1075,8 @@ void FixSRD::reset_velocities() void FixSRD::vbin_comm(int ishift) { - BinComm *bcomm1,*bcomm2; - MPI_Request request1,request2; + BinComm *bcomm1, *bcomm2; + MPI_Request request1, request2; // send/recv bins in both directions in each dimension // don't send if nsend = 0 @@ -1088,39 +1097,33 @@ void FixSRD::vbin_comm(int ishift) bcomm2 = &shifts[ishift].bcomm[iswap++]; if (procgrid[idim] == 1) { - if (bcomm1->nsend) - vbin_pack(vbin,bcomm1->nsend,bcomm1->sendlist,sbuf1); - if (bcomm2->nsend) - vbin_pack(vbin,bcomm2->nsend,bcomm2->sendlist,sbuf2); - if (bcomm1->nrecv) - vbin_unpack(sbuf1,vbin,bcomm1->nrecv,bcomm1->recvlist); - if (bcomm2->nrecv) - vbin_unpack(sbuf2,vbin,bcomm2->nrecv,bcomm2->recvlist); + if (bcomm1->nsend) vbin_pack(vbin, bcomm1->nsend, bcomm1->sendlist, sbuf1); + if (bcomm2->nsend) vbin_pack(vbin, bcomm2->nsend, bcomm2->sendlist, sbuf2); + if (bcomm1->nrecv) vbin_unpack(sbuf1, vbin, bcomm1->nrecv, bcomm1->recvlist); + if (bcomm2->nrecv) vbin_unpack(sbuf2, vbin, bcomm2->nrecv, bcomm2->recvlist); } else { if (bcomm1->nrecv) - MPI_Irecv(rbuf1,bcomm1->nrecv*VBINSIZE,MPI_DOUBLE,bcomm1->recvproc,0, - world,&request1); + MPI_Irecv(rbuf1, bcomm1->nrecv * VBINSIZE, MPI_DOUBLE, bcomm1->recvproc, 0, world, + &request1); if (bcomm2->nrecv) - MPI_Irecv(rbuf2,bcomm2->nrecv*VBINSIZE,MPI_DOUBLE,bcomm2->recvproc,0, - world,&request2); + MPI_Irecv(rbuf2, bcomm2->nrecv * VBINSIZE, MPI_DOUBLE, bcomm2->recvproc, 0, world, + &request2); if (bcomm1->nsend) { - vbin_pack(vbin,bcomm1->nsend,bcomm1->sendlist,sbuf1); - MPI_Send(sbuf1,bcomm1->nsend*VBINSIZE,MPI_DOUBLE, - bcomm1->sendproc,0,world); + vbin_pack(vbin, bcomm1->nsend, bcomm1->sendlist, sbuf1); + MPI_Send(sbuf1, bcomm1->nsend * VBINSIZE, MPI_DOUBLE, bcomm1->sendproc, 0, world); } if (bcomm2->nsend) { - vbin_pack(vbin,bcomm2->nsend,bcomm2->sendlist,sbuf2); - MPI_Send(sbuf2,bcomm2->nsend*VBINSIZE,MPI_DOUBLE, - bcomm2->sendproc,0,world); + vbin_pack(vbin, bcomm2->nsend, bcomm2->sendlist, sbuf2); + MPI_Send(sbuf2, bcomm2->nsend * VBINSIZE, MPI_DOUBLE, bcomm2->sendproc, 0, world); } if (bcomm1->nrecv) { - MPI_Wait(&request1,MPI_STATUS_IGNORE); - vbin_unpack(rbuf1,vbin,bcomm1->nrecv,bcomm1->recvlist); + MPI_Wait(&request1, MPI_STATUS_IGNORE); + vbin_unpack(rbuf1, vbin, bcomm1->nrecv, bcomm1->recvlist); } if (bcomm2->nrecv) { - MPI_Wait(&request2,MPI_STATUS_IGNORE); - vbin_unpack(rbuf2,vbin,bcomm2->nrecv,bcomm2->recvlist); + MPI_Wait(&request2, MPI_STATUS_IGNORE); + vbin_unpack(rbuf2, vbin, bcomm2->nrecv, bcomm2->recvlist); } } } @@ -1154,7 +1157,7 @@ void FixSRD::vbin_unpack(double *buf, BinAve *vbin, int n, int *list) int m = 0; for (int i = 0; i < n; i++) { j = list[i]; - vbin[j].n += static_cast (buf[m++]); + vbin[j].n += static_cast(buf[m++]); vbin[j].vsum[0] += buf[m++]; vbin[j].vsum[1] += buf[m++]; vbin[j].vsum[2] += buf[m++]; @@ -1168,8 +1171,8 @@ void FixSRD::vbin_unpack(double *buf, BinAve *vbin, int n, int *list) void FixSRD::xbin_comm(int ishift, int nval) { - BinComm *bcomm1,*bcomm2; - MPI_Request request1,request2; + BinComm *bcomm1, *bcomm2; + MPI_Request request1, request2; // send/recv bins in both directions in each dimension // don't send if nsend = 0 @@ -1190,39 +1193,31 @@ void FixSRD::xbin_comm(int ishift, int nval) bcomm2 = &shifts[ishift].bcomm[iswap++]; if (procgrid[idim] == 1) { - if (bcomm1->nsend) - xbin_pack(vbin,bcomm1->nsend,bcomm1->sendlist,sbuf1,nval); - if (bcomm2->nsend) - xbin_pack(vbin,bcomm2->nsend,bcomm2->sendlist,sbuf2,nval); - if (bcomm1->nrecv) - xbin_unpack(sbuf1,vbin,bcomm1->nrecv,bcomm1->recvlist,nval); - if (bcomm2->nrecv) - xbin_unpack(sbuf2,vbin,bcomm2->nrecv,bcomm2->recvlist,nval); + if (bcomm1->nsend) xbin_pack(vbin, bcomm1->nsend, bcomm1->sendlist, sbuf1, nval); + if (bcomm2->nsend) xbin_pack(vbin, bcomm2->nsend, bcomm2->sendlist, sbuf2, nval); + if (bcomm1->nrecv) xbin_unpack(sbuf1, vbin, bcomm1->nrecv, bcomm1->recvlist, nval); + if (bcomm2->nrecv) xbin_unpack(sbuf2, vbin, bcomm2->nrecv, bcomm2->recvlist, nval); } else { if (bcomm1->nrecv) - MPI_Irecv(rbuf1,bcomm1->nrecv*nval,MPI_DOUBLE,bcomm1->recvproc,0, - world,&request1); + MPI_Irecv(rbuf1, bcomm1->nrecv * nval, MPI_DOUBLE, bcomm1->recvproc, 0, world, &request1); if (bcomm2->nrecv) - MPI_Irecv(rbuf2,bcomm2->nrecv*nval,MPI_DOUBLE,bcomm2->recvproc,0, - world,&request2); + MPI_Irecv(rbuf2, bcomm2->nrecv * nval, MPI_DOUBLE, bcomm2->recvproc, 0, world, &request2); if (bcomm1->nsend) { - xbin_pack(vbin,bcomm1->nsend,bcomm1->sendlist,sbuf1,nval); - MPI_Send(sbuf1,bcomm1->nsend*nval,MPI_DOUBLE, - bcomm1->sendproc,0,world); + xbin_pack(vbin, bcomm1->nsend, bcomm1->sendlist, sbuf1, nval); + MPI_Send(sbuf1, bcomm1->nsend * nval, MPI_DOUBLE, bcomm1->sendproc, 0, world); } if (bcomm2->nsend) { - xbin_pack(vbin,bcomm2->nsend,bcomm2->sendlist,sbuf2,nval); - MPI_Send(sbuf2,bcomm2->nsend*nval,MPI_DOUBLE, - bcomm2->sendproc,0,world); + xbin_pack(vbin, bcomm2->nsend, bcomm2->sendlist, sbuf2, nval); + MPI_Send(sbuf2, bcomm2->nsend * nval, MPI_DOUBLE, bcomm2->sendproc, 0, world); } if (bcomm1->nrecv) { - MPI_Wait(&request1,MPI_STATUS_IGNORE); - xbin_unpack(rbuf1,vbin,bcomm1->nrecv,bcomm1->recvlist,nval); + MPI_Wait(&request1, MPI_STATUS_IGNORE); + xbin_unpack(rbuf1, vbin, bcomm1->nrecv, bcomm1->recvlist, nval); } if (bcomm2->nrecv) { - MPI_Wait(&request2,MPI_STATUS_IGNORE); - xbin_unpack(rbuf2,vbin,bcomm2->nrecv,bcomm2->recvlist,nval); + MPI_Wait(&request2, MPI_STATUS_IGNORE); + xbin_unpack(rbuf2, vbin, bcomm2->nrecv, bcomm2->recvlist, nval); } } } @@ -1238,8 +1233,7 @@ void FixSRD::xbin_pack(BinAve *vbin, int n, int *list, double *buf, int nval) int m = 0; for (int i = 0; i < n; i++) { j = list[i]; - for (k = 0; k < nval; k++) - buf[m++] = vbin[j].value[k]; + for (k = 0; k < nval; k++) buf[m++] = vbin[j].value[k]; } } @@ -1253,8 +1247,7 @@ void FixSRD::xbin_unpack(double *buf, BinAve *vbin, int n, int *list, int nval) int m = 0; for (int i = 0; i < n; i++) { j = list[i]; - for (k = 0; k < nval; k++) - vbin[j].value[k] += buf[m++]; + for (k = 0; k < nval; k++) vbin[j].value[k] += buf[m++]; } } @@ -1266,9 +1259,9 @@ void FixSRD::xbin_unpack(double *buf, BinAve *vbin, int n, int *list, int nval) void FixSRD::collisions_single() { - int i,j,k,m,type,nbig,ibin,ibounce,inside,collide_flag; - double dt,t_remain; - double norm[3],xscoll[3],xbcoll[3],vsnew[3]; + int i, j, k, m, type, nbig, ibin, ibounce, inside, collide_flag; + double dt, t_remain; + double norm[3], xscoll[3], xbcoll[3], vsnew[3]; Big *big; // outer loop over SRD particles @@ -1308,35 +1301,36 @@ void FixSRD::collisions_single() j = big->index; type = big->type; - if (type == SPHERE) inside = inside_sphere(x[i],x[j],big); - else if (type == ELLIPSOID) inside = inside_ellipsoid(x[i],x[j],big); - else inside = inside_wall(x[i],j); + if (type == SPHERE) + inside = inside_sphere(x[i], x[j], big); + else if (type == ELLIPSOID) + inside = inside_ellipsoid(x[i], x[j], big); + else + inside = inside_wall(x[i], j); if (inside) { if (exactflag) { if (type == SPHERE) - t_remain = collision_sphere_exact(x[i],x[j],v[i],v[j],big, - xscoll,xbcoll,norm); + t_remain = collision_sphere_exact(x[i], x[j], v[i], v[j], big, xscoll, xbcoll, norm); else if (type == ELLIPSOID) - t_remain = collision_ellipsoid_exact(x[i],x[j],v[i],v[j],big, - xscoll,xbcoll,norm); + t_remain = + collision_ellipsoid_exact(x[i], x[j], v[i], v[j], big, xscoll, xbcoll, norm); else - t_remain = collision_wall_exact(x[i],j,v[i],xscoll,xbcoll,norm); + t_remain = collision_wall_exact(x[i], j, v[i], xscoll, xbcoll, norm); } else { - t_remain = 0.5*dt; + t_remain = 0.5 * dt; if (type == SPHERE) - collision_sphere_inexact(x[i],x[j],big,xscoll,xbcoll,norm); + collision_sphere_inexact(x[i], x[j], big, xscoll, xbcoll, norm); else if (type == ELLIPSOID) - collision_ellipsoid_inexact(x[i],x[j],big,xscoll,xbcoll,norm); + collision_ellipsoid_inexact(x[i], x[j], big, xscoll, xbcoll, norm); else - collision_wall_inexact(x[i],j,xscoll,xbcoll,norm); + collision_wall_inexact(x[i], j, xscoll, xbcoll, norm); } #ifdef SRD_DEBUG - if (update->ntimestep == SRD_DEBUG_TIMESTEP && - atom->tag[i] == SRD_DEBUG_ATOMID) - print_collision(i,j,ibounce,t_remain,dt,xscoll,xbcoll,norm,type); + if (update->ntimestep == SRD_DEBUG_TIMESTEP && atom->tag[i] == SRD_DEBUG_ATOMID) + print_collision(i, j, ibounce, t_remain, dt, xscoll, xbcoll, norm, type); #endif if (t_remain > dt) { @@ -1346,29 +1340,32 @@ void FixSRD::collisions_single() if (type != WALL) { sprintf(str, "SRD particle " TAGINT_FORMAT " started " - "inside big particle " TAGINT_FORMAT - " on step " BIGINT_FORMAT " bounce %d", - atom->tag[i],atom->tag[j],update->ntimestep,ibounce+1); - if (insideflag == INSIDE_ERROR) error->one(FLERR,str); - error->warning(FLERR,str); + "inside big particle " TAGINT_FORMAT " on step " BIGINT_FORMAT " bounce %d", + atom->tag[i], atom->tag[j], update->ntimestep, ibounce + 1); + if (insideflag == INSIDE_ERROR) error->one(FLERR, str); + error->warning(FLERR, str); } else { sprintf(str, "SRD particle " TAGINT_FORMAT " started " "inside wall %d on step " BIGINT_FORMAT " bounce %d", - atom->tag[i],j,update->ntimestep,ibounce+1); - if (insideflag == INSIDE_ERROR) error->one(FLERR,str); - error->warning(FLERR,str); + atom->tag[i], j, update->ntimestep, ibounce + 1); + if (insideflag == INSIDE_ERROR) error->one(FLERR, str); + error->warning(FLERR, str); } } break; } if (collidestyle == SLIP) { - if (type != WALL) slip(v[i],v[j],x[j],big,xscoll,norm,vsnew); - else slip_wall(v[i],j,norm,vsnew); + if (type != WALL) + slip(v[i], v[j], x[j], big, xscoll, norm, vsnew); + else + slip_wall(v[i], j, norm, vsnew); } else { - if (type != WALL) noslip(v[i],v[j],x[j],big,-1, xscoll,norm,vsnew); - else noslip(v[i],nullptr,x[j],big,j,xscoll,norm,vsnew); + if (type != WALL) + noslip(v[i], v[j], x[j], big, -1, xscoll, norm, vsnew); + else + noslip(v[i], nullptr, x[j], big, j, xscoll, norm, vsnew); } if (dimension == 2) vsnew[2] = 0.0; @@ -1376,11 +1373,10 @@ void FixSRD::collisions_single() // check on rescaling of vsnew if (rescale_collide) { - double vsq = vsnew[0]*vsnew[0] + vsnew[1]*vsnew[1] + - vsnew[2]*vsnew[2]; + double vsq = vsnew[0] * vsnew[0] + vsnew[1] * vsnew[1] + vsnew[2] * vsnew[2]; if (vsq > vmaxsq) { nrescale++; - MathExtra::scale3(vmax/sqrt(vsq),vsnew); + MathExtra::scale3(vmax / sqrt(vsq), vsnew); } } @@ -1388,18 +1384,17 @@ void FixSRD::collisions_single() // BIG particle is not torqued if sphere and SLIP collision if (collidestyle == SLIP && type == SPHERE) - force_torque(v[i],vsnew,xscoll,xbcoll,f[j],nullptr); + force_torque(v[i], vsnew, xscoll, xbcoll, f[j], nullptr); else if (type != WALL) - force_torque(v[i],vsnew,xscoll,xbcoll,f[j],torque[j]); + force_torque(v[i], vsnew, xscoll, xbcoll, f[j], torque[j]); else if (type == WALL) - force_wall(v[i],vsnew,j); + force_wall(v[i], vsnew, j); - ibin = binsrd[i] = update_srd(i,t_remain,xscoll,vsnew,x[i],v[i]); + ibin = binsrd[i] = update_srd(i, t_remain, xscoll, vsnew, x[i], v[i]); if (ibounce == 0) ncollide++; ibounce++; - if (ibounce < maxbounceallow || maxbounceallow == 0) - collide_flag = 1; + if (ibounce < maxbounceallow || maxbounceallow == 0) collide_flag = 1; dt = t_remain; break; } @@ -1421,10 +1416,10 @@ void FixSRD::collisions_single() void FixSRD::collisions_multi() { - int i,j,k,m,type,nbig,ibin,ibounce,inside,jfirst,typefirst,jlast; - double dt,t_remain,t_first; - double norm[3],xscoll[3],xbcoll[3],vsnew[3]; - double normfirst[3],xscollfirst[3],xbcollfirst[3]; + int i, j, k, m, type, nbig, ibin, ibounce, inside, jfirst, typefirst, jlast; + double dt, t_remain, t_first; + double norm[3], xscoll[3], xbcoll[3], vsnew[3]; + double normfirst[3], xscollfirst[3], xbcollfirst[3]; Big *big; // outer loop over SRD particles @@ -1466,36 +1461,31 @@ void FixSRD::collisions_multi() type = big->type; if (type == SPHERE) - inside = inside_sphere(x[i],x[j],big); + inside = inside_sphere(x[i], x[j], big); else if (type == ELLIPSOID) - inside = inside_ellipsoid(x[i],x[j],big); + inside = inside_ellipsoid(x[i], x[j], big); else if (type == LINE) - inside = inside_line(x[i],x[j],v[i],v[j],big,dt); + inside = inside_line(x[i], x[j], v[i], v[j], big, dt); else if (type == TRIANGLE) - inside = inside_tri(x[i],x[j],v[i],v[j],big,dt); + inside = inside_tri(x[i], x[j], v[i], v[j], big, dt); else - inside = inside_wall(x[i],j); + inside = inside_wall(x[i], j); if (inside) { if (type == SPHERE) - t_remain = collision_sphere_exact(x[i],x[j],v[i],v[j],big, - xscoll,xbcoll,norm); + t_remain = collision_sphere_exact(x[i], x[j], v[i], v[j], big, xscoll, xbcoll, norm); else if (type == ELLIPSOID) - t_remain = collision_ellipsoid_exact(x[i],x[j],v[i],v[j],big, - xscoll,xbcoll,norm); + t_remain = collision_ellipsoid_exact(x[i], x[j], v[i], v[j], big, xscoll, xbcoll, norm); else if (type == LINE) - t_remain = collision_line_exact(x[i],x[j],v[i],v[j],big,dt, - xscoll,xbcoll,norm); + t_remain = collision_line_exact(x[i], x[j], v[i], v[j], big, dt, xscoll, xbcoll, norm); else if (type == TRIANGLE) - t_remain = collision_tri_exact(x[i],x[j],v[i],v[j],big,dt, - xscoll,xbcoll,norm); + t_remain = collision_tri_exact(x[i], x[j], v[i], v[j], big, dt, xscoll, xbcoll, norm); else - t_remain = collision_wall_exact(x[i],j,v[i],xscoll,xbcoll,norm); + t_remain = collision_wall_exact(x[i], j, v[i], xscoll, xbcoll, norm); #ifdef SRD_DEBUG - if (update->ntimestep == SRD_DEBUG_TIMESTEP && - atom->tag[i] == SRD_DEBUG_ATOMID) - print_collision(i,j,ibounce,t_remain,dt,xscoll,xbcoll,norm,type); + if (update->ntimestep == SRD_DEBUG_TIMESTEP && atom->tag[i] == SRD_DEBUG_ATOMID) + print_collision(i, j, ibounce, t_remain, dt, xscoll, xbcoll, norm, type); #endif if (t_remain > dt || t_remain < 0.0) { @@ -1505,18 +1495,17 @@ void FixSRD::collisions_multi() if (type != WALL) { sprintf(str, "SRD particle " TAGINT_FORMAT " started " - "inside big particle " TAGINT_FORMAT - " on step " BIGINT_FORMAT " bounce %d", - atom->tag[i],atom->tag[j],update->ntimestep,ibounce+1); - if (insideflag == INSIDE_ERROR) error->one(FLERR,str); - error->warning(FLERR,str); + "inside big particle " TAGINT_FORMAT " on step " BIGINT_FORMAT " bounce %d", + atom->tag[i], atom->tag[j], update->ntimestep, ibounce + 1); + if (insideflag == INSIDE_ERROR) error->one(FLERR, str); + error->warning(FLERR, str); } else { sprintf(str, "SRD particle " TAGINT_FORMAT " started " "inside wall %d on step " BIGINT_FORMAT " bounce %d", - atom->tag[i],j,update->ntimestep,ibounce+1); - if (insideflag == INSIDE_ERROR) error->one(FLERR,str); - error->warning(FLERR,str); + atom->tag[i], j, update->ntimestep, ibounce + 1); + if (insideflag == INSIDE_ERROR) error->one(FLERR, str); + error->warning(FLERR, str); } } t_first = 0.0; @@ -1554,11 +1543,15 @@ void FixSRD::collisions_multi() norm[2] = normfirst[2]; if (collidestyle == SLIP) { - if (type != WALL) slip(v[i],v[j],x[j],big,xscoll,norm,vsnew); - else slip_wall(v[i],j,norm,vsnew); + if (type != WALL) + slip(v[i], v[j], x[j], big, xscoll, norm, vsnew); + else + slip_wall(v[i], j, norm, vsnew); } else { - if (type != WALL) noslip(v[i],v[j],x[j],big,-1,xscoll,norm,vsnew); - else noslip(v[i],nullptr,x[j],big,j,xscoll,norm,vsnew); + if (type != WALL) + noslip(v[i], v[j], x[j], big, -1, xscoll, norm, vsnew); + else + noslip(v[i], nullptr, x[j], big, j, xscoll, norm, vsnew); } if (dimension == 2) vsnew[2] = 0.0; @@ -1566,10 +1559,10 @@ void FixSRD::collisions_multi() // check on rescaling of vsnew if (rescale_collide) { - double vsq = vsnew[0]*vsnew[0] + vsnew[1]*vsnew[1] + vsnew[2]*vsnew[2]; + double vsq = vsnew[0] * vsnew[0] + vsnew[1] * vsnew[1] + vsnew[2] * vsnew[2]; if (vsq > vmaxsq) { nrescale++; - MathExtra::scale3(vmax/sqrt(vsq),vsnew); + MathExtra::scale3(vmax / sqrt(vsq), vsnew); } } @@ -1577,13 +1570,13 @@ void FixSRD::collisions_multi() // BIG particle is not torqued if sphere and SLIP collision if (collidestyle == SLIP && type == SPHERE) - force_torque(v[i],vsnew,xscoll,xbcoll,f[j],nullptr); + force_torque(v[i], vsnew, xscoll, xbcoll, f[j], nullptr); else if (type != WALL) - force_torque(v[i],vsnew,xscoll,xbcoll,f[j],torque[j]); + force_torque(v[i], vsnew, xscoll, xbcoll, f[j], torque[j]); else if (type == WALL) - force_wall(v[i],vsnew,j); + force_wall(v[i], vsnew, j); - ibin = binsrd[i] = update_srd(i,t_first,xscoll,vsnew,x[i],v[i]); + ibin = binsrd[i] = update_srd(i, t_first, xscoll, vsnew, x[i], v[i]); if (ibounce == 0) ncollide++; ibounce++; @@ -1603,13 +1596,13 @@ void FixSRD::collisions_multi() int FixSRD::inside_sphere(double *xs, double *xb, Big *big) { - double dx,dy,dz; + double dx, dy, dz; dx = xs[0] - xb[0]; dy = xs[1] - xb[1]; dz = xs[2] - xb[2]; - if (dx*dx + dy*dy + dz*dz <= big->radsq) return 1; + if (dx * dx + dy * dy + dz * dz <= big->radsq) return 1; return 0; } @@ -1619,7 +1612,7 @@ int FixSRD::inside_sphere(double *xs, double *xb, Big *big) int FixSRD::inside_ellipsoid(double *xs, double *xb, Big *big) { - double x,y,z; + double x, y, z; double *ex = big->ex; double *ey = big->ey; @@ -1630,12 +1623,11 @@ int FixSRD::inside_ellipsoid(double *xs, double *xb, Big *big) xs_xb[1] = xs[1] - xb[1]; xs_xb[2] = xs[2] - xb[2]; - x = xs_xb[0]*ex[0] + xs_xb[1]*ex[1] + xs_xb[2]*ex[2]; - y = xs_xb[0]*ey[0] + xs_xb[1]*ey[1] + xs_xb[2]*ey[2]; - z = xs_xb[0]*ez[0] + xs_xb[1]*ez[1] + xs_xb[2]*ez[2]; + x = xs_xb[0] * ex[0] + xs_xb[1] * ex[1] + xs_xb[2] * ex[2]; + y = xs_xb[0] * ey[0] + xs_xb[1] * ey[1] + xs_xb[2] * ey[2]; + z = xs_xb[0] * ez[0] + xs_xb[1] * ez[1] + xs_xb[2] * ez[2]; - if (x*x*big->aradsqinv + y*y*big->bradsqinv + z*z*big->cradsqinv <= 1.0) - return 1; + if (x * x * big->aradsqinv + y * y * big->bradsqinv + z * z * big->cradsqinv <= 1.0) return 1; return 0; } @@ -1652,10 +1644,9 @@ int FixSRD::inside_ellipsoid(double *xs, double *xb, Big *big) collision if pt is within endpoints of B ------------------------------------------------------------------------- */ -int FixSRD::inside_line(double *xs, double *xb, double *vs, double *vb, - Big *big, double dt_step) +int FixSRD::inside_line(double *xs, double *xb, double *vs, double *vb, Big *big, double dt_step) { - double pmc0[2],pmc1[2],n0[2],n1[2]; + double pmc0[2], pmc1[2], n0[2], n1[2]; // 1 and 2 = start and end of timestep // pmc = P - C, where P = position of S, C = position of B @@ -1669,13 +1660,13 @@ int FixSRD::inside_line(double *xs, double *xb, double *vs, double *vb, xb1[0] = xb[0]; xb1[1] = xb[1]; - xs0[0] = xs1[0] - dt_step*vs[0]; - xs0[1] = xs1[1] - dt_step*vs[1]; - xb0[0] = xb1[0] - dt_step*vb[0]; - xb0[1] = xb1[1] - dt_step*vb[1]; + xs0[0] = xs1[0] - dt_step * vs[0]; + xs0[1] = xs1[1] - dt_step * vs[1]; + xb0[0] = xb1[0] - dt_step * vb[0]; + xb0[1] = xb1[1] - dt_step * vb[1]; theta1 = big->theta; - theta0 = theta1 - dt_step*big->omega[2]; + theta0 = theta1 - dt_step * big->omega[2]; pmc0[0] = xs0[0] - xb0[0]; pmc0[1] = xs0[1] - xb0[1]; @@ -1687,8 +1678,8 @@ int FixSRD::inside_line(double *xs, double *xb, double *vs, double *vb, n1[0] = sin(theta1); n1[1] = -cos(theta1); - double side0 = pmc0[0]*n0[0] + pmc0[1]*n0[1]; - double side1 = pmc1[0]*n1[0] + pmc1[1]*n1[1]; + double side0 = pmc0[0] * n0[0] + pmc0[1] * n0[1]; + double side1 = pmc1[0] * n1[0] + pmc1[1] * n1[1]; if (side0 <= 0.0 || side1 >= 0.0) return 0; @@ -1697,7 +1688,7 @@ int FixSRD::inside_line(double *xs, double *xb, double *vs, double *vb, // Newton-Raphson solve of full non-linear parametric equation - tfraction = newton_raphson(0.0,1.0); + tfraction = newton_raphson(0.0, 1.0); // quadratic equation solve of approximate parametric equation @@ -1737,20 +1728,20 @@ int FixSRD::inside_line(double *xs, double *xb, double *vs, double *vb, // check if collision pt is within line segment at collision time - xsc[0] = xs0[0] + tfraction*(xs1[0]-xs0[0]); - xsc[1] = xs0[1] + tfraction*(xs1[1]-xs0[1]); - xbc[0] = xb0[0] + tfraction*(xb1[0]-xb0[0]); - xbc[1] = xb0[1] + tfraction*(xb1[1]-xb0[1]); + xsc[0] = xs0[0] + tfraction * (xs1[0] - xs0[0]); + xsc[1] = xs0[1] + tfraction * (xs1[1] - xs0[1]); + xbc[0] = xb0[0] + tfraction * (xb1[0] - xb0[0]); + xbc[1] = xb0[1] + tfraction * (xb1[1] - xb0[1]); double delx = xsc[0] - xbc[0]; double dely = xsc[1] - xbc[1]; - double rsq = delx*delx + dely*dely; - if (rsq > 0.25*big->length*big->length) return 0; + double rsq = delx * delx + dely * dely; + if (rsq > 0.25 * big->length * big->length) return 0; //nbc[0] = n0[0] + tfraction*(n1[0]-n0[0]); //nbc[1] = n0[1] + tfraction*(n1[1]-n0[1]); - nbc[0] = sin(theta0 + tfraction*(theta1-theta0)); - nbc[1] = -cos(theta0 + tfraction*(theta1-theta0)); + nbc[0] = sin(theta0 + tfraction * (theta1 - theta0)); + nbc[1] = -cos(theta0 + tfraction * (theta1 - theta0)); return 1; } @@ -1767,16 +1758,15 @@ int FixSRD::inside_line(double *xs, double *xb, double *vs, double *vb, collision if pt is inside triangle B ------------------------------------------------------------------------- */ -int FixSRD::inside_tri(double *xs, double *xb, double *vs, double *vb, - Big *big, double dt_step) +int FixSRD::inside_tri(double *xs, double *xb, double *vs, double *vb, Big *big, double dt_step) { - double pmc0[3],pmc1[3],n0[3]; - double n1_n0[3],pmc1_pmc0[3]; - double excoll[3],eycoll[3],ezcoll[3]; - double dc1[3],dc2[3],dc3[3]; - double c1[3],c2[3],c3[3]; - double c2mc1[3],c3mc2[3],c1mc3[3]; - double pvec[3],xproduct[3]; + double pmc0[3], pmc1[3], n0[3]; + double n1_n0[3], pmc1_pmc0[3]; + double excoll[3], eycoll[3], ezcoll[3]; + double dc1[3], dc2[3], dc3[3]; + double c1[3], c2[3], c3[3]; + double c2mc1[3], c3mc2[3], c1mc3[3]; + double pvec[3], xproduct[3]; // 1 and 2 = start and end of timestep // pmc = P - C, where P = position of S, C = position of B @@ -1788,19 +1778,19 @@ int FixSRD::inside_tri(double *xs, double *xb, double *vs, double *vb, double *omega = big->omega; double *n1 = big->norm; - n0[0] = n1[0] - dt_step*(omega[1]*n1[2] - omega[2]*n1[1]); - n0[1] = n1[1] - dt_step*(omega[2]*n1[0] - omega[0]*n1[2]); - n0[2] = n1[2] - dt_step*(omega[0]*n1[1] - omega[1]*n1[0]); + n0[0] = n1[0] - dt_step * (omega[1] * n1[2] - omega[2] * n1[1]); + n0[1] = n1[1] - dt_step * (omega[2] * n1[0] - omega[0] * n1[2]); + n0[2] = n1[2] - dt_step * (omega[0] * n1[1] - omega[1] * n1[0]); - pmc0[0] = xs[0] - dt_step*vs[0] - xb[0] + dt_step*vb[0]; - pmc0[1] = xs[1] - dt_step*vs[1] - xb[1] + dt_step*vb[1]; - pmc0[2] = xs[2] - dt_step*vs[2] - xb[2] + dt_step*vb[2]; + pmc0[0] = xs[0] - dt_step * vs[0] - xb[0] + dt_step * vb[0]; + pmc0[1] = xs[1] - dt_step * vs[1] - xb[1] + dt_step * vb[1]; + pmc0[2] = xs[2] - dt_step * vs[2] - xb[2] + dt_step * vb[2]; pmc1[0] = xs[0] - xb[0]; pmc1[1] = xs[1] - xb[1]; pmc1[2] = xs[2] - xb[2]; - double side0 = MathExtra::dot3(pmc0,n0); - double side1 = MathExtra::dot3(pmc1,n1); + double side0 = MathExtra::dot3(pmc0, n0); + double side1 = MathExtra::dot3(pmc1, n1); if (side0 <= 0.0 || side1 >= 0.0) return 0; @@ -1808,29 +1798,32 @@ int FixSRD::inside_tri(double *xs, double *xb, double *vs, double *vb, // crosses moving/rotating tri // quadratic equation solve of approximate parametric equation - n1_n0[0] = n1[0]-n0[0]; - n1_n0[1] = n1[1]-n0[1]; - n1_n0[2] = n1[2]-n0[2]; - pmc1_pmc0[0] = pmc1[0]-pmc0[0]; - pmc1_pmc0[1] = pmc1[1]-pmc0[1]; - pmc1_pmc0[2] = pmc1[2]-pmc0[2]; + n1_n0[0] = n1[0] - n0[0]; + n1_n0[1] = n1[1] - n0[1]; + n1_n0[2] = n1[2] - n0[2]; + pmc1_pmc0[0] = pmc1[0] - pmc0[0]; + pmc1_pmc0[1] = pmc1[1] - pmc0[1]; + pmc1_pmc0[2] = pmc1[2] - pmc0[2]; - double a = MathExtra::dot3(pmc1_pmc0,n1_n0); - double b = MathExtra::dot3(pmc1_pmc0,n0) + MathExtra::dot3(n1_n0,pmc0); - double c = MathExtra::dot3(pmc0,n0); + double a = MathExtra::dot3(pmc1_pmc0, n1_n0); + double b = MathExtra::dot3(pmc1_pmc0, n0) + MathExtra::dot3(n1_n0, pmc0); + double c = MathExtra::dot3(pmc0, n0); if (a == 0.0) { - double dot0 = MathExtra::dot3(pmc0,n0); - double dot1 = MathExtra::dot3(pmc1,n0); + double dot0 = MathExtra::dot3(pmc0, n0); + double dot1 = MathExtra::dot3(pmc1, n0); double root = -dot0 / (dot1 - dot0); tfraction = root; } else { - double term = sqrt(b*b - 4.0*a*c); - double root1 = (-b + term) / (2.0*a); - double root2 = (-b - term) / (2.0*a); - if (0.0 <= root1 && root1 <= 1.0) tfraction = root1; - else if (0.0 <= root2 && root2 <= 1.0) tfraction = root2; - else error->one(FLERR,"Bad quadratic solve for particle/tri collision"); + double term = sqrt(b * b - 4.0 * a * c); + double root1 = (-b + term) / (2.0 * a); + double root2 = (-b - term) / (2.0 * a); + if (0.0 <= root1 && root1 <= 1.0) + tfraction = root1; + else if (0.0 <= root2 && root2 <= 1.0) + tfraction = root2; + else + error->one(FLERR, "Bad quadratic solve for particle/tri collision"); } // calculate position/orientation of S and B at collision time @@ -1851,40 +1844,40 @@ int FixSRD::inside_tri(double *xs, double *xb, double *vs, double *vb, double *c2body = tbonus[index].c2; double *c3body = tbonus[index].c3; - double dt = (1.0-tfraction)*dt_step; + double dt = (1.0 - tfraction) * dt_step; - xsc[0] = xs[0] - dt*vs[0]; - xsc[1] = xs[1] - dt*vs[1]; - xsc[2] = xs[2] - dt*vs[2]; - xbc[0] = xb[0] - dt*vb[0]; - xbc[1] = xb[1] - dt*vb[1]; - xbc[2] = xb[2] - dt*vb[2]; + xsc[0] = xs[0] - dt * vs[0]; + xsc[1] = xs[1] - dt * vs[1]; + xsc[2] = xs[2] - dt * vs[2]; + xbc[0] = xb[0] - dt * vb[0]; + xbc[1] = xb[1] - dt * vb[1]; + xbc[2] = xb[2] - dt * vb[2]; - excoll[0] = ex[0] - dt*(omega[1]*ex[2] - omega[2]*ex[1]); - excoll[1] = ex[1] - dt*(omega[2]*ex[0] - omega[0]*ex[2]); - excoll[2] = ex[2] - dt*(omega[0]*ex[1] - omega[1]*ex[0]); + excoll[0] = ex[0] - dt * (omega[1] * ex[2] - omega[2] * ex[1]); + excoll[1] = ex[1] - dt * (omega[2] * ex[0] - omega[0] * ex[2]); + excoll[2] = ex[2] - dt * (omega[0] * ex[1] - omega[1] * ex[0]); - eycoll[0] = ey[0] - dt*(omega[1]*ey[2] - omega[2]*ey[1]); - eycoll[1] = ey[1] - dt*(omega[2]*ey[0] - omega[0]*ey[2]); - eycoll[2] = ey[2] - dt*(omega[0]*ey[1] - omega[1]*ey[0]); + eycoll[0] = ey[0] - dt * (omega[1] * ey[2] - omega[2] * ey[1]); + eycoll[1] = ey[1] - dt * (omega[2] * ey[0] - omega[0] * ey[2]); + eycoll[2] = ey[2] - dt * (omega[0] * ey[1] - omega[1] * ey[0]); - ezcoll[0] = ez[0] - dt*(omega[1]*ez[2] - omega[2]*ez[1]); - ezcoll[1] = ez[1] - dt*(omega[2]*ez[0] - omega[0]*ez[2]); - ezcoll[2] = ez[2] - dt*(omega[0]*ez[1] - omega[1]*ez[0]); + ezcoll[0] = ez[0] - dt * (omega[1] * ez[2] - omega[2] * ez[1]); + ezcoll[1] = ez[1] - dt * (omega[2] * ez[0] - omega[0] * ez[2]); + ezcoll[2] = ez[2] - dt * (omega[0] * ez[1] - omega[1] * ez[0]); - MathExtra::matvec(excoll,eycoll,ezcoll,c1body,dc1); - MathExtra::matvec(excoll,eycoll,ezcoll,c2body,dc2); - MathExtra::matvec(excoll,eycoll,ezcoll,c3body,dc3); + MathExtra::matvec(excoll, eycoll, ezcoll, c1body, dc1); + MathExtra::matvec(excoll, eycoll, ezcoll, c2body, dc2); + MathExtra::matvec(excoll, eycoll, ezcoll, c3body, dc3); - MathExtra::add3(xbc,dc1,c1); - MathExtra::add3(xbc,dc2,c2); - MathExtra::add3(xbc,dc3,c3); + MathExtra::add3(xbc, dc1, c1); + MathExtra::add3(xbc, dc2, c2); + MathExtra::add3(xbc, dc3, c3); - MathExtra::sub3(c2,c1,c2mc1); - MathExtra::sub3(c3,c2,c3mc2); - MathExtra::sub3(c1,c3,c1mc3); + MathExtra::sub3(c2, c1, c2mc1); + MathExtra::sub3(c3, c2, c3mc2); + MathExtra::sub3(c1, c3, c1mc3); - MathExtra::cross3(c2mc1,c3mc2,nbc); + MathExtra::cross3(c2mc1, c3mc2, nbc); MathExtra::norm3(nbc); // check if collision pt is within triangle @@ -1893,17 +1886,17 @@ int FixSRD::inside_tri(double *xs, double *xb, double *vs, double *vb, // if dot product of xproduct with nbc < 0.0 for any of 3 edges, // intersection point is outside tri - MathExtra::sub3(xsc,c1,pvec); - MathExtra::cross3(c2mc1,pvec,xproduct); - if (MathExtra::dot3(xproduct,nbc) < 0.0) return 0; + MathExtra::sub3(xsc, c1, pvec); + MathExtra::cross3(c2mc1, pvec, xproduct); + if (MathExtra::dot3(xproduct, nbc) < 0.0) return 0; - MathExtra::sub3(xsc,c2,pvec); - MathExtra::cross3(c3mc2,pvec,xproduct); - if (MathExtra::dot3(xproduct,nbc) < 0.0) return 0; + MathExtra::sub3(xsc, c2, pvec); + MathExtra::cross3(c3mc2, pvec, xproduct); + if (MathExtra::dot3(xproduct, nbc) < 0.0) return 0; - MathExtra::sub3(xsc,c3,pvec); - MathExtra::cross3(c1mc3,pvec,xproduct); - if (MathExtra::dot3(xproduct,nbc) < 0.0) return 0; + MathExtra::sub3(xsc, c3, pvec); + MathExtra::cross3(c1mc3, pvec, xproduct); + if (MathExtra::dot3(xproduct, nbc) < 0.0) return 0; return 1; } @@ -1931,47 +1924,45 @@ int FixSRD::inside_wall(double *xs, int iwall) norm = surface normal of collision pt at time of collision ------------------------------------------------------------------------- */ -double FixSRD::collision_sphere_exact(double *xs, double *xb, - double *vs, double *vb, Big *big, - double *xscoll, double *xbcoll, - double *norm) +double FixSRD::collision_sphere_exact(double *xs, double *xb, double *vs, double *vb, Big *big, + double *xscoll, double *xbcoll, double *norm) { - double vs_dot_vs,vb_dot_vb,vs_dot_vb; - double vs_dot_xb,vb_dot_xs,vs_dot_xs,vb_dot_xb; - double xs_dot_xs,xb_dot_xb,xs_dot_xb; - double a,b,c,scale; + double vs_dot_vs, vb_dot_vb, vs_dot_vb; + double vs_dot_xb, vb_dot_xs, vs_dot_xs, vb_dot_xb; + double xs_dot_xs, xb_dot_xb, xs_dot_xb; + double a, b, c, scale; - vs_dot_vs = vs[0]*vs[0] + vs[1]*vs[1] + vs[2]*vs[2]; - vb_dot_vb = vb[0]*vb[0] + vb[1]*vb[1] + vb[2]*vb[2]; - vs_dot_vb = vs[0]*vb[0] + vs[1]*vb[1] + vs[2]*vb[2]; + vs_dot_vs = vs[0] * vs[0] + vs[1] * vs[1] + vs[2] * vs[2]; + vb_dot_vb = vb[0] * vb[0] + vb[1] * vb[1] + vb[2] * vb[2]; + vs_dot_vb = vs[0] * vb[0] + vs[1] * vb[1] + vs[2] * vb[2]; - vs_dot_xb = vs[0]*xb[0] + vs[1]*xb[1] + vs[2]*xb[2]; - vb_dot_xs = vb[0]*xs[0] + vb[1]*xs[1] + vb[2]*xs[2]; - vs_dot_xs = vs[0]*xs[0] + vs[1]*xs[1] + vs[2]*xs[2]; - vb_dot_xb = vb[0]*xb[0] + vb[1]*xb[1] + vb[2]*xb[2]; + vs_dot_xb = vs[0] * xb[0] + vs[1] * xb[1] + vs[2] * xb[2]; + vb_dot_xs = vb[0] * xs[0] + vb[1] * xs[1] + vb[2] * xs[2]; + vs_dot_xs = vs[0] * xs[0] + vs[1] * xs[1] + vs[2] * xs[2]; + vb_dot_xb = vb[0] * xb[0] + vb[1] * xb[1] + vb[2] * xb[2]; - xs_dot_xs = xs[0]*xs[0] + xs[1]*xs[1] + xs[2]*xs[2]; - xb_dot_xb = xb[0]*xb[0] + xb[1]*xb[1] + xb[2]*xb[2]; - xs_dot_xb = xs[0]*xb[0] + xs[1]*xb[1] + xs[2]*xb[2]; + xs_dot_xs = xs[0] * xs[0] + xs[1] * xs[1] + xs[2] * xs[2]; + xb_dot_xb = xb[0] * xb[0] + xb[1] * xb[1] + xb[2] * xb[2]; + xs_dot_xb = xs[0] * xb[0] + xs[1] * xb[1] + xs[2] * xb[2]; - a = vs_dot_vs + vb_dot_vb - 2.0*vs_dot_vb; + a = vs_dot_vs + vb_dot_vb - 2.0 * vs_dot_vb; b = 2.0 * (vs_dot_xb + vb_dot_xs - vs_dot_xs - vb_dot_xb); - c = xs_dot_xs + xb_dot_xb - 2.0*xs_dot_xb - big->radsq; + c = xs_dot_xs + xb_dot_xb - 2.0 * xs_dot_xb - big->radsq; - double dt = (-b + sqrt(b*b - 4.0*a*c)) / (2.0*a); + double dt = (-b + sqrt(b * b - 4.0 * a * c)) / (2.0 * a); - xscoll[0] = xs[0] - dt*vs[0]; - xscoll[1] = xs[1] - dt*vs[1]; - xscoll[2] = xs[2] - dt*vs[2]; + xscoll[0] = xs[0] - dt * vs[0]; + xscoll[1] = xs[1] - dt * vs[1]; + xscoll[2] = xs[2] - dt * vs[2]; - xbcoll[0] = xb[0] - dt*vb[0]; - xbcoll[1] = xb[1] - dt*vb[1]; - xbcoll[2] = xb[2] - dt*vb[2]; + xbcoll[0] = xb[0] - dt * vb[0]; + xbcoll[1] = xb[1] - dt * vb[1]; + xbcoll[2] = xb[2] - dt * vb[2]; norm[0] = xscoll[0] - xbcoll[0]; norm[1] = xscoll[1] - xbcoll[1]; norm[2] = xscoll[2] - xbcoll[2]; - scale = 1.0/sqrt(norm[0]*norm[0] + norm[1]*norm[1] + norm[2]*norm[2]); + scale = 1.0 / sqrt(norm[0] * norm[0] + norm[1] * norm[1] + norm[2] * norm[2]); norm[0] *= scale; norm[1] *= scale; norm[2] *= scale; @@ -1988,24 +1979,22 @@ double FixSRD::collision_sphere_exact(double *xs, double *xb, norm = surface normal of collision pt at time of collision ------------------------------------------------------------------------- */ -void FixSRD::collision_sphere_inexact(double *xs, double *xb, - Big *big, - double *xscoll, double *xbcoll, - double *norm) +void FixSRD::collision_sphere_inexact(double *xs, double *xb, Big *big, double *xscoll, + double *xbcoll, double *norm) { double scale; norm[0] = xs[0] - xb[0]; norm[1] = xs[1] - xb[1]; norm[2] = xs[2] - xb[2]; - scale = 1.0/sqrt(norm[0]*norm[0] + norm[1]*norm[1] + norm[2]*norm[2]); + scale = 1.0 / sqrt(norm[0] * norm[0] + norm[1] * norm[1] + norm[2] * norm[2]); norm[0] *= scale; norm[1] *= scale; norm[2] *= scale; - xscoll[0] = xb[0] + big->radius*norm[0]; - xscoll[1] = xb[1] + big->radius*norm[1]; - xscoll[2] = xb[2] + big->radius*norm[2]; + xscoll[0] = xb[0] + big->radius * norm[0]; + xscoll[1] = xb[1] + big->radius * norm[1]; + xscoll[2] = xb[2] + big->radius * norm[2]; xbcoll[0] = xb[0]; xbcoll[1] = xb[1]; @@ -2021,60 +2010,59 @@ void FixSRD::collision_sphere_inexact(double *xs, double *xb, norm = surface normal of collision pt at time of collision ------------------------------------------------------------------------- */ -double FixSRD::collision_ellipsoid_exact(double *xs, double *xb, - double *vs, double *vb, Big *big, - double *xscoll, double *xbcoll, - double *norm) +double FixSRD::collision_ellipsoid_exact(double *xs, double *xb, double *vs, double *vb, Big *big, + double *xscoll, double *xbcoll, double *norm) { - double vs_vb[3],xs_xb[3],omega_ex[3],omega_ey[3],omega_ez[3]; - double excoll[3],eycoll[3],ezcoll[3],delta[3],xbody[3],nbody[3]; - double ax,bx,cx,ay,by,cy,az,bz,cz; - double a,b,c; + double vs_vb[3], xs_xb[3], omega_ex[3], omega_ey[3], omega_ez[3]; + double excoll[3], eycoll[3], ezcoll[3], delta[3], xbody[3], nbody[3]; + double ax, bx, cx, ay, by, cy, az, bz, cz; + double a, b, c; double *omega = big->omega; double *ex = big->ex; double *ey = big->ey; double *ez = big->ez; - vs_vb[0] = vs[0]-vb[0]; vs_vb[1] = vs[1]-vb[1]; vs_vb[2] = vs[2]-vb[2]; - xs_xb[0] = xs[0]-xb[0]; xs_xb[1] = xs[1]-xb[1]; xs_xb[2] = xs[2]-xb[2]; + vs_vb[0] = vs[0] - vb[0]; + vs_vb[1] = vs[1] - vb[1]; + vs_vb[2] = vs[2] - vb[2]; + xs_xb[0] = xs[0] - xb[0]; + xs_xb[1] = xs[1] - xb[1]; + xs_xb[2] = xs[2] - xb[2]; - MathExtra::cross3(omega,ex,omega_ex); - MathExtra::cross3(omega,ey,omega_ey); - MathExtra::cross3(omega,ez,omega_ez); + MathExtra::cross3(omega, ex, omega_ex); + MathExtra::cross3(omega, ey, omega_ey); + MathExtra::cross3(omega, ez, omega_ez); - ax = vs_vb[0]*omega_ex[0] + vs_vb[1]*omega_ex[1] + vs_vb[2]*omega_ex[2]; - bx = -(vs_vb[0]*ex[0] + vs_vb[1]*ex[1] + vs_vb[2]*ex[2]); - bx -= xs_xb[0]*omega_ex[0] + xs_xb[1]*omega_ex[1] + xs_xb[2]*omega_ex[2]; - cx = xs_xb[0]*ex[0] + xs_xb[1]*ex[1] + xs_xb[2]*ex[2]; + ax = vs_vb[0] * omega_ex[0] + vs_vb[1] * omega_ex[1] + vs_vb[2] * omega_ex[2]; + bx = -(vs_vb[0] * ex[0] + vs_vb[1] * ex[1] + vs_vb[2] * ex[2]); + bx -= xs_xb[0] * omega_ex[0] + xs_xb[1] * omega_ex[1] + xs_xb[2] * omega_ex[2]; + cx = xs_xb[0] * ex[0] + xs_xb[1] * ex[1] + xs_xb[2] * ex[2]; - ay = vs_vb[0]*omega_ey[0] + vs_vb[1]*omega_ey[1] + vs_vb[2]*omega_ey[2]; - by = -(vs_vb[0]*ey[0] + vs_vb[1]*ey[1] + vs_vb[2]*ey[2]); - by -= xs_xb[0]*omega_ey[0] + xs_xb[1]*omega_ey[1] + xs_xb[2]*omega_ey[2]; - cy = xs_xb[0]*ey[0] + xs_xb[1]*ey[1] + xs_xb[2]*ey[2]; + ay = vs_vb[0] * omega_ey[0] + vs_vb[1] * omega_ey[1] + vs_vb[2] * omega_ey[2]; + by = -(vs_vb[0] * ey[0] + vs_vb[1] * ey[1] + vs_vb[2] * ey[2]); + by -= xs_xb[0] * omega_ey[0] + xs_xb[1] * omega_ey[1] + xs_xb[2] * omega_ey[2]; + cy = xs_xb[0] * ey[0] + xs_xb[1] * ey[1] + xs_xb[2] * ey[2]; - az = vs_vb[0]*omega_ez[0] + vs_vb[1]*omega_ez[1] + vs_vb[2]*omega_ez[2]; - bz = -(vs_vb[0]*ez[0] + vs_vb[1]*ez[1] + vs_vb[2]*ez[2]); - bz -= xs_xb[0]*omega_ez[0] + xs_xb[1]*omega_ez[1] + xs_xb[2]*omega_ez[2]; - cz = xs_xb[0]*ez[0] + xs_xb[1]*ez[1] + xs_xb[2]*ez[2]; + az = vs_vb[0] * omega_ez[0] + vs_vb[1] * omega_ez[1] + vs_vb[2] * omega_ez[2]; + bz = -(vs_vb[0] * ez[0] + vs_vb[1] * ez[1] + vs_vb[2] * ez[2]); + bz -= xs_xb[0] * omega_ez[0] + xs_xb[1] * omega_ez[1] + xs_xb[2] * omega_ez[2]; + cz = xs_xb[0] * ez[0] + xs_xb[1] * ez[1] + xs_xb[2] * ez[2]; - a = (bx*bx + 2.0*ax*cx)*big->aradsqinv + - (by*by + 2.0*ay*cy)*big->bradsqinv + - (bz*bz + 2.0*az*cz)*big->cradsqinv; - b = 2.0 * (bx*cx*big->aradsqinv + by*cy*big->bradsqinv + - bz*cz*big->cradsqinv); - c = cx*cx*big->aradsqinv + cy*cy*big->bradsqinv + - cz*cz*big->cradsqinv - 1.0; + a = (bx * bx + 2.0 * ax * cx) * big->aradsqinv + (by * by + 2.0 * ay * cy) * big->bradsqinv + + (bz * bz + 2.0 * az * cz) * big->cradsqinv; + b = 2.0 * (bx * cx * big->aradsqinv + by * cy * big->bradsqinv + bz * cz * big->cradsqinv); + c = cx * cx * big->aradsqinv + cy * cy * big->bradsqinv + cz * cz * big->cradsqinv - 1.0; - double dt = (-b + sqrt(b*b - 4.0*a*c)) / (2.0*a); + double dt = (-b + sqrt(b * b - 4.0 * a * c)) / (2.0 * a); - xscoll[0] = xs[0] - dt*vs[0]; - xscoll[1] = xs[1] - dt*vs[1]; - xscoll[2] = xs[2] - dt*vs[2]; + xscoll[0] = xs[0] - dt * vs[0]; + xscoll[1] = xs[1] - dt * vs[1]; + xscoll[2] = xs[2] - dt * vs[2]; - xbcoll[0] = xb[0] - dt*vb[0]; - xbcoll[1] = xb[1] - dt*vb[1]; - xbcoll[2] = xb[2] - dt*vb[2]; + xbcoll[0] = xb[0] - dt * vb[0]; + xbcoll[1] = xb[1] - dt * vb[1]; + xbcoll[2] = xb[2] - dt * vb[2]; // calculate normal to ellipsoid at collision pt // Excoll,Eycoll,Ezcoll = orientation of ellipsoid at collision time @@ -2082,26 +2070,26 @@ double FixSRD::collision_ellipsoid_exact(double *xs, double *xb, // norm = normal in space frame // only worry about normalizing final norm vector - excoll[0] = ex[0] - dt*(omega[1]*ex[2] - omega[2]*ex[1]); - excoll[1] = ex[1] - dt*(omega[2]*ex[0] - omega[0]*ex[2]); - excoll[2] = ex[2] - dt*(omega[0]*ex[1] - omega[1]*ex[0]); + excoll[0] = ex[0] - dt * (omega[1] * ex[2] - omega[2] * ex[1]); + excoll[1] = ex[1] - dt * (omega[2] * ex[0] - omega[0] * ex[2]); + excoll[2] = ex[2] - dt * (omega[0] * ex[1] - omega[1] * ex[0]); - eycoll[0] = ey[0] - dt*(omega[1]*ey[2] - omega[2]*ey[1]); - eycoll[1] = ey[1] - dt*(omega[2]*ey[0] - omega[0]*ey[2]); - eycoll[2] = ey[2] - dt*(omega[0]*ey[1] - omega[1]*ey[0]); + eycoll[0] = ey[0] - dt * (omega[1] * ey[2] - omega[2] * ey[1]); + eycoll[1] = ey[1] - dt * (omega[2] * ey[0] - omega[0] * ey[2]); + eycoll[2] = ey[2] - dt * (omega[0] * ey[1] - omega[1] * ey[0]); - ezcoll[0] = ez[0] - dt*(omega[1]*ez[2] - omega[2]*ez[1]); - ezcoll[1] = ez[1] - dt*(omega[2]*ez[0] - omega[0]*ez[2]); - ezcoll[2] = ez[2] - dt*(omega[0]*ez[1] - omega[1]*ez[0]); + ezcoll[0] = ez[0] - dt * (omega[1] * ez[2] - omega[2] * ez[1]); + ezcoll[1] = ez[1] - dt * (omega[2] * ez[0] - omega[0] * ez[2]); + ezcoll[2] = ez[2] - dt * (omega[0] * ez[1] - omega[1] * ez[0]); - MathExtra::sub3(xscoll,xbcoll,delta); - MathExtra::transpose_matvec(excoll,eycoll,ezcoll,delta,xbody); + MathExtra::sub3(xscoll, xbcoll, delta); + MathExtra::transpose_matvec(excoll, eycoll, ezcoll, delta, xbody); - nbody[0] = xbody[0]*big->aradsqinv; - nbody[1] = xbody[1]*big->bradsqinv; - nbody[2] = xbody[2]*big->cradsqinv; + nbody[0] = xbody[0] * big->aradsqinv; + nbody[1] = xbody[1] * big->bradsqinv; + nbody[2] = xbody[2] * big->cradsqinv; - MathExtra::matvec(excoll,eycoll,ezcoll,nbody,norm); + MathExtra::matvec(excoll, eycoll, ezcoll, nbody, norm); MathExtra::norm3(norm); return dt; @@ -2116,31 +2104,29 @@ double FixSRD::collision_ellipsoid_exact(double *xs, double *xb, norm = surface normal of collision pt at time of collision ------------------------------------------------------------------------- */ -void FixSRD::collision_ellipsoid_inexact(double *xs, double *xb, - Big *big, - double *xscoll, double *xbcoll, - double *norm) +void FixSRD::collision_ellipsoid_inexact(double *xs, double *xb, Big *big, double *xscoll, + double *xbcoll, double *norm) { - double xs_xb[3],delta[3],xbody[3],nbody[3]; + double xs_xb[3], delta[3], xbody[3], nbody[3]; double *ex = big->ex; double *ey = big->ey; double *ez = big->ez; - MathExtra::sub3(xs,xb,xs_xb); - double x = MathExtra::dot3(xs_xb,ex); - double y = MathExtra::dot3(xs_xb,ey); - double z = MathExtra::dot3(xs_xb,ez); + MathExtra::sub3(xs, xb, xs_xb); + double x = MathExtra::dot3(xs_xb, ex); + double y = MathExtra::dot3(xs_xb, ey); + double z = MathExtra::dot3(xs_xb, ez); - double scale = 1.0/sqrt(x*x*big->aradsqinv + y*y*big->bradsqinv + - z*z*big->cradsqinv); + double scale = + 1.0 / sqrt(x * x * big->aradsqinv + y * y * big->bradsqinv + z * z * big->cradsqinv); x *= scale; y *= scale; z *= scale; - xscoll[0] = x*ex[0] + y*ey[0] + z*ez[0] + xb[0]; - xscoll[1] = x*ex[1] + y*ey[1] + z*ez[1] + xb[1]; - xscoll[2] = x*ex[2] + y*ey[2] + z*ez[2] + xb[2]; + xscoll[0] = x * ex[0] + y * ey[0] + z * ez[0] + xb[0]; + xscoll[1] = x * ex[1] + y * ey[1] + z * ez[1] + xb[1]; + xscoll[2] = x * ex[2] + y * ey[2] + z * ez[2] + xb[2]; xbcoll[0] = xb[0]; xbcoll[1] = xb[1]; @@ -2151,14 +2137,14 @@ void FixSRD::collision_ellipsoid_inexact(double *xs, double *xb, // norm = normal in space frame // only worry about normalizing final norm vector - MathExtra::sub3(xscoll,xbcoll,delta); - MathExtra::transpose_matvec(ex,ey,ez,delta,xbody); + MathExtra::sub3(xscoll, xbcoll, delta); + MathExtra::transpose_matvec(ex, ey, ez, delta, xbody); - nbody[0] = xbody[0]*big->aradsqinv; - nbody[1] = xbody[1]*big->bradsqinv; - nbody[2] = xbody[2]*big->cradsqinv; + nbody[0] = xbody[0] * big->aradsqinv; + nbody[1] = xbody[1] * big->bradsqinv; + nbody[2] = xbody[2] * big->cradsqinv; - MathExtra::matvec(ex,ey,ez,nbody,norm); + MathExtra::matvec(ex, ey, ez, nbody, norm); MathExtra::norm3(norm); } @@ -2171,11 +2157,9 @@ void FixSRD::collision_ellipsoid_inexact(double *xs, double *xb, norm = surface normal of collision pt at time of collision ------------------------------------------------------------------------- */ -double FixSRD::collision_line_exact(double * /*xs*/, double * /*xb*/, - double * /*vs*/, double * /*vb*/, Big * /*big*/, - double dt_step, - double *xscoll, double *xbcoll, - double *norm) +double FixSRD::collision_line_exact(double * /*xs*/, double * /*xb*/, double * /*vs*/, + double * /*vb*/, Big * /*big*/, double dt_step, double *xscoll, + double *xbcoll, double *norm) { xscoll[0] = xsc[0]; xscoll[1] = xsc[1]; @@ -2188,7 +2172,7 @@ double FixSRD::collision_line_exact(double * /*xs*/, double * /*xb*/, norm[1] = nbc[1]; norm[2] = 0.0; - return (1.0-tfraction)*dt_step; + return (1.0 - tfraction) * dt_step; } /* ---------------------------------------------------------------------- @@ -2200,11 +2184,9 @@ double FixSRD::collision_line_exact(double * /*xs*/, double * /*xb*/, norm = surface normal of collision pt at time of collision ------------------------------------------------------------------------- */ -double FixSRD::collision_tri_exact(double * /*xs*/, double * /*xb*/, - double * /*vs*/, double * /*vb*/, Big * /*big*/, - double dt_step, - double *xscoll, double *xbcoll, - double *norm) +double FixSRD::collision_tri_exact(double * /*xs*/, double * /*xb*/, double * /*vs*/, + double * /*vb*/, Big * /*big*/, double dt_step, double *xscoll, + double *xbcoll, double *norm) { xscoll[0] = xsc[0]; xscoll[1] = xsc[1]; @@ -2217,7 +2199,7 @@ double FixSRD::collision_tri_exact(double * /*xs*/, double * /*xb*/, norm[1] = nbc[1]; norm[2] = nbc[2]; - return (1.0-tfraction)*dt_step; + return (1.0 - tfraction) * dt_step; } /* ---------------------------------------------------------------------- @@ -2229,24 +2211,25 @@ double FixSRD::collision_tri_exact(double * /*xs*/, double * /*xb*/, norm = surface normal of collision pt at time of collision ------------------------------------------------------------------------- */ -double FixSRD::collision_wall_exact(double *xs, int iwall, double *vs, - double *xscoll, double *xbcoll, - double *norm) +double FixSRD::collision_wall_exact(double *xs, int iwall, double *vs, double *xscoll, + double *xbcoll, double *norm) { int dim = wallwhich[iwall] / 2; double dt = (xs[dim] - xwall[iwall]) / (vs[dim] - vwall[iwall]); - xscoll[0] = xs[0] - dt*vs[0]; - xscoll[1] = xs[1] - dt*vs[1]; - xscoll[2] = xs[2] - dt*vs[2]; + xscoll[0] = xs[0] - dt * vs[0]; + xscoll[1] = xs[1] - dt * vs[1]; + xscoll[2] = xs[2] - dt * vs[2]; xbcoll[0] = xbcoll[1] = xbcoll[2] = 0.0; - xbcoll[dim] = xwall[iwall] - dt*vwall[iwall]; + xbcoll[dim] = xwall[iwall] - dt * vwall[iwall]; int side = wallwhich[iwall] % 2; norm[0] = norm[1] = norm[2] = 0.0; - if (side == 0) norm[dim] = 1.0; - else norm[dim] = -1.0; + if (side == 0) + norm[dim] = 1.0; + else + norm[dim] = -1.0; return dt; } @@ -2260,8 +2243,8 @@ double FixSRD::collision_wall_exact(double *xs, int iwall, double *vs, norm = surface normal of collision pt at time of collision ------------------------------------------------------------------------- */ -void FixSRD::collision_wall_inexact(double *xs, int iwall, double *xscoll, - double *xbcoll, double *norm) +void FixSRD::collision_wall_inexact(double *xs, int iwall, double *xscoll, double *xbcoll, + double *norm) { int dim = wallwhich[iwall] / 2; @@ -2275,8 +2258,10 @@ void FixSRD::collision_wall_inexact(double *xs, int iwall, double *xscoll, int side = wallwhich[iwall] % 2; norm[0] = norm[1] = norm[2] = 0.0; - if (side == 0) norm[dim] = 1.0; - else norm[dim] = -1.0; + if (side == 0) + norm[dim] = 1.0; + else + norm[dim] = -1.0; } /* ---------------------------------------------------------------------- @@ -2290,39 +2275,39 @@ void FixSRD::collision_wall_inexact(double *xs, int iwall, double *xscoll, return vsnew of SRD ------------------------------------------------------------------------- */ -void FixSRD::slip(double *vs, double *vb, double *xb, Big *big, - double *xsurf, double *norm, double *vsnew) +void FixSRD::slip(double *vs, double *vb, double *xb, Big *big, double *xsurf, double *norm, + double *vsnew) { - double r1,r2,vnmag,vs_dot_n,vsurf_dot_n; - double tangent[3],vsurf[3]; + double r1, r2, vnmag, vs_dot_n, vsurf_dot_n; + double tangent[3], vsurf[3]; double *omega = big->omega; while (1) { r1 = sigma * random->gaussian(); r2 = sigma * random->gaussian(); - vnmag = sqrt(r1*r1 + r2*r2); - if (vnmag*vnmag <= vmaxsq) break; + vnmag = sqrt(r1 * r1 + r2 * r2); + if (vnmag * vnmag <= vmaxsq) break; } - vs_dot_n = vs[0]*norm[0] + vs[1]*norm[1] + vs[2]*norm[2]; + vs_dot_n = vs[0] * norm[0] + vs[1] * norm[1] + vs[2] * norm[2]; - tangent[0] = vs[0] - vs_dot_n*norm[0]; - tangent[1] = vs[1] - vs_dot_n*norm[1]; - tangent[2] = vs[2] - vs_dot_n*norm[2]; + tangent[0] = vs[0] - vs_dot_n * norm[0]; + tangent[1] = vs[1] - vs_dot_n * norm[1]; + tangent[2] = vs[2] - vs_dot_n * norm[2]; // vsurf = velocity of collision pt = translation/rotation of BIG particle // NOTE: for sphere could just use vsurf = vb, since w x (xsurf-xb) // is orthogonal to norm and thus doesn't contribute to vsurf_dot_n - vsurf[0] = vb[0] + omega[1]*(xsurf[2]-xb[2]) - omega[2]*(xsurf[1]-xb[1]); - vsurf[1] = vb[1] + omega[2]*(xsurf[0]-xb[0]) - omega[0]*(xsurf[2]-xb[2]); - vsurf[2] = vb[2] + omega[0]*(xsurf[1]-xb[1]) - omega[1]*(xsurf[0]-xb[0]); + vsurf[0] = vb[0] + omega[1] * (xsurf[2] - xb[2]) - omega[2] * (xsurf[1] - xb[1]); + vsurf[1] = vb[1] + omega[2] * (xsurf[0] - xb[0]) - omega[0] * (xsurf[2] - xb[2]); + vsurf[2] = vb[2] + omega[0] * (xsurf[1] - xb[1]) - omega[1] * (xsurf[0] - xb[0]); - vsurf_dot_n = vsurf[0]*norm[0] + vsurf[1]*norm[1] + vsurf[2]*norm[2]; + vsurf_dot_n = vsurf[0] * norm[0] + vsurf[1] * norm[1] + vsurf[2] * norm[2]; - vsnew[0] = (vnmag+vsurf_dot_n)*norm[0] + tangent[0]; - vsnew[1] = (vnmag+vsurf_dot_n)*norm[1] + tangent[1]; - vsnew[2] = (vnmag+vsurf_dot_n)*norm[2] + tangent[2]; + vsnew[0] = (vnmag + vsurf_dot_n) * norm[0] + tangent[0]; + vsnew[1] = (vnmag + vsurf_dot_n) * norm[1] + tangent[1]; + vsnew[2] = (vnmag + vsurf_dot_n) * norm[2] + tangent[2]; } /* ---------------------------------------------------------------------- @@ -2335,36 +2320,36 @@ void FixSRD::slip(double *vs, double *vb, double *xb, Big *big, void FixSRD::slip_wall(double *vs, int iwall, double *norm, double *vsnew) { - double vs_dot_n,scale,r1,r2,vnmag,vtmag1,vtmag2; - double tangent1[3],tangent2[3]; + double vs_dot_n, scale, r1, r2, vnmag, vtmag1, vtmag2; + double tangent1[3], tangent2[3]; - vs_dot_n = vs[0]*norm[0] + vs[1]*norm[1] + vs[2]*norm[2]; + vs_dot_n = vs[0] * norm[0] + vs[1] * norm[1] + vs[2] * norm[2]; - tangent1[0] = vs[0] - vs_dot_n*norm[0]; - tangent1[1] = vs[1] - vs_dot_n*norm[1]; - tangent1[2] = vs[2] - vs_dot_n*norm[2]; - scale = 1.0/sqrt(tangent1[0]*tangent1[0] + tangent1[1]*tangent1[1] + - tangent1[2]*tangent1[2]); + tangent1[0] = vs[0] - vs_dot_n * norm[0]; + tangent1[1] = vs[1] - vs_dot_n * norm[1]; + tangent1[2] = vs[2] - vs_dot_n * norm[2]; + scale = + 1.0 / sqrt(tangent1[0] * tangent1[0] + tangent1[1] * tangent1[1] + tangent1[2] * tangent1[2]); tangent1[0] *= scale; tangent1[1] *= scale; tangent1[2] *= scale; - tangent2[0] = norm[1]*tangent1[2] - norm[2]*tangent1[1]; - tangent2[1] = norm[2]*tangent1[0] - norm[0]*tangent1[2]; - tangent2[2] = norm[0]*tangent1[1] - norm[1]*tangent1[0]; + tangent2[0] = norm[1] * tangent1[2] - norm[2] * tangent1[1]; + tangent2[1] = norm[2] * tangent1[0] - norm[0] * tangent1[2]; + tangent2[2] = norm[0] * tangent1[1] - norm[1] * tangent1[0]; while (1) { r1 = sigma * random->gaussian(); r2 = sigma * random->gaussian(); - vnmag = sqrt(r1*r1 + r2*r2); + vnmag = sqrt(r1 * r1 + r2 * r2); vtmag1 = sigma * random->gaussian(); vtmag2 = sigma * random->gaussian(); - if (vnmag*vnmag + vtmag1*vtmag1 + vtmag2*vtmag2 <= vmaxsq) break; + if (vnmag * vnmag + vtmag1 * vtmag1 + vtmag2 * vtmag2 <= vmaxsq) break; } - vsnew[0] = vnmag*norm[0] + vtmag1*tangent1[0] + vtmag2*tangent2[0]; - vsnew[1] = vnmag*norm[1] + vtmag1*tangent1[1] + vtmag2*tangent2[1]; - vsnew[2] = vnmag*norm[2] + vtmag1*tangent1[2] + vtmag2*tangent2[2]; + vsnew[0] = vnmag * norm[0] + vtmag1 * tangent1[0] + vtmag2 * tangent2[0]; + vsnew[1] = vnmag * norm[1] + vtmag1 * tangent1[1] + vtmag2 * tangent2[1]; + vsnew[2] = vnmag * norm[2] + vtmag1 * tangent1[2] + vtmag2 * tangent2[2]; // add in velocity of collision pt = velocity of wall @@ -2383,39 +2368,39 @@ void FixSRD::slip_wall(double *vs, int iwall, double *norm, double *vsnew) return vsnew of SRD ------------------------------------------------------------------------- */ -void FixSRD::noslip(double *vs, double *vb, double *xb, Big *big, int iwall, - double *xsurf, double *norm, double *vsnew) +void FixSRD::noslip(double *vs, double *vb, double *xb, Big *big, int iwall, double *xsurf, + double *norm, double *vsnew) { - double vs_dot_n,scale,r1,r2,vnmag,vtmag1,vtmag2; - double tangent1[3],tangent2[3]; + double vs_dot_n, scale, r1, r2, vnmag, vtmag1, vtmag2; + double tangent1[3], tangent2[3]; - vs_dot_n = vs[0]*norm[0] + vs[1]*norm[1] + vs[2]*norm[2]; + vs_dot_n = vs[0] * norm[0] + vs[1] * norm[1] + vs[2] * norm[2]; - tangent1[0] = vs[0] - vs_dot_n*norm[0]; - tangent1[1] = vs[1] - vs_dot_n*norm[1]; - tangent1[2] = vs[2] - vs_dot_n*norm[2]; - scale = 1.0/sqrt(tangent1[0]*tangent1[0] + tangent1[1]*tangent1[1] + - tangent1[2]*tangent1[2]); + tangent1[0] = vs[0] - vs_dot_n * norm[0]; + tangent1[1] = vs[1] - vs_dot_n * norm[1]; + tangent1[2] = vs[2] - vs_dot_n * norm[2]; + scale = + 1.0 / sqrt(tangent1[0] * tangent1[0] + tangent1[1] * tangent1[1] + tangent1[2] * tangent1[2]); tangent1[0] *= scale; tangent1[1] *= scale; tangent1[2] *= scale; - tangent2[0] = norm[1]*tangent1[2] - norm[2]*tangent1[1]; - tangent2[1] = norm[2]*tangent1[0] - norm[0]*tangent1[2]; - tangent2[2] = norm[0]*tangent1[1] - norm[1]*tangent1[0]; + tangent2[0] = norm[1] * tangent1[2] - norm[2] * tangent1[1]; + tangent2[1] = norm[2] * tangent1[0] - norm[0] * tangent1[2]; + tangent2[2] = norm[0] * tangent1[1] - norm[1] * tangent1[0]; while (1) { r1 = sigma * random->gaussian(); r2 = sigma * random->gaussian(); - vnmag = sqrt(r1*r1 + r2*r2); + vnmag = sqrt(r1 * r1 + r2 * r2); vtmag1 = sigma * random->gaussian(); vtmag2 = sigma * random->gaussian(); - if (vnmag*vnmag + vtmag1*vtmag1 + vtmag2*vtmag2 <= vmaxsq) break; + if (vnmag * vnmag + vtmag1 * vtmag1 + vtmag2 * vtmag2 <= vmaxsq) break; } - vsnew[0] = vnmag*norm[0] + vtmag1*tangent1[0] + vtmag2*tangent2[0]; - vsnew[1] = vnmag*norm[1] + vtmag1*tangent1[1] + vtmag2*tangent2[1]; - vsnew[2] = vnmag*norm[2] + vtmag1*tangent1[2] + vtmag2*tangent2[2]; + vsnew[0] = vnmag * norm[0] + vtmag1 * tangent1[0] + vtmag2 * tangent2[0]; + vsnew[1] = vnmag * norm[1] + vtmag1 * tangent1[1] + vtmag2 * tangent2[1]; + vsnew[2] = vnmag * norm[2] + vtmag1 * tangent1[2] + vtmag2 * tangent2[2]; // add in velocity of collision pt // for WALL: velocity of wall in one dim @@ -2427,9 +2412,9 @@ void FixSRD::noslip(double *vs, double *vb, double *xb, Big *big, int iwall, } else { double *omega = big->omega; - vsnew[0] += vb[0] + omega[1]*(xsurf[2]-xb[2]) - omega[2]*(xsurf[1]-xb[1]); - vsnew[1] += vb[1] + omega[2]*(xsurf[0]-xb[0]) - omega[0]*(xsurf[2]-xb[2]); - vsnew[2] += vb[2] + omega[0]*(xsurf[1]-xb[1]) - omega[1]*(xsurf[0]-xb[0]); + vsnew[0] += vb[0] + omega[1] * (xsurf[2] - xb[2]) - omega[2] * (xsurf[1] - xb[1]); + vsnew[1] += vb[1] + omega[2] * (xsurf[0] - xb[0]) - omega[0] * (xsurf[2] - xb[2]); + vsnew[2] += vb[2] + omega[0] * (xsurf[1] - xb[1]) - omega[1] * (xsurf[0] - xb[0]); } } @@ -2439,11 +2424,10 @@ void FixSRD::noslip(double *vs, double *vb, double *xb, Big *big, int iwall, torque on BIG particle = r cross (-dp/dt) ------------------------------------------------------------------------- */ -void FixSRD::force_torque(double *vsold, double *vsnew, - double *xs, double *xb, - double *fb, double *tb) +void FixSRD::force_torque(double *vsold, double *vsnew, double *xs, double *xb, double *fb, + double *tb) { - double dpdt[3],xs_xb[3]; + double dpdt[3], xs_xb[3]; double factor = mass_srd / dt_big / force->ftm2v; dpdt[0] = factor * (vsnew[0] - vsold[0]); @@ -2457,12 +2441,12 @@ void FixSRD::force_torque(double *vsold, double *vsnew, // no torque if SLIP collision and BIG is a sphere if (tb) { - xs_xb[0] = xs[0]-xb[0]; - xs_xb[1] = xs[1]-xb[1]; - xs_xb[2] = xs[2]-xb[2]; - tb[0] -= xs_xb[1]*dpdt[2] - xs_xb[2]*dpdt[1]; - tb[1] -= xs_xb[2]*dpdt[0] - xs_xb[0]*dpdt[2]; - tb[2] -= xs_xb[0]*dpdt[1] - xs_xb[1]*dpdt[0]; + xs_xb[0] = xs[0] - xb[0]; + xs_xb[1] = xs[1] - xb[1]; + xs_xb[2] = xs[2] - xb[2]; + tb[0] -= xs_xb[1] * dpdt[2] - xs_xb[2] * dpdt[1]; + tb[1] -= xs_xb[2] * dpdt[0] - xs_xb[0] * dpdt[2]; + tb[2] -= xs_xb[0] * dpdt[1] - xs_xb[1] * dpdt[0]; } } @@ -2492,42 +2476,40 @@ void FixSRD::force_wall(double *vsold, double *vsnew, int iwall) if so, may overlap off-processor BIG particle ------------------------------------------------------------------------- */ -int FixSRD::update_srd(int i, double dt, double *xscoll, double *vsnew, - double *xs, double *vs) +int FixSRD::update_srd(int i, double dt, double *xscoll, double *vsnew, double *xs, double *vs) { - int ix,iy,iz; + int ix, iy, iz; vs[0] = vsnew[0]; vs[1] = vsnew[1]; vs[2] = vsnew[2]; - xs[0] = xscoll[0] + dt*vsnew[0]; - xs[1] = xscoll[1] + dt*vsnew[1]; - xs[2] = xscoll[2] + dt*vsnew[2]; + xs[0] = xscoll[0] + dt * vsnew[0]; + xs[1] = xscoll[1] + dt * vsnew[1]; + xs[2] = xscoll[2] + dt * vsnew[2]; - if (triclinic) domain->x2lamda(xs,xs); + if (triclinic) domain->x2lamda(xs, xs); - if (xs[0] < srdlo[0] || xs[0] > srdhi[0] || - xs[1] < srdlo[1] || xs[1] > srdhi[1] || + if (xs[0] < srdlo[0] || xs[0] > srdhi[0] || xs[1] < srdlo[1] || xs[1] > srdhi[1] || xs[2] < srdlo[2] || xs[2] > srdhi[2]) { - if (screen) { - error->warning(FLERR,"Fix srd particle moved outside valid domain"); - fprintf(screen," particle " TAGINT_FORMAT - " on proc %d at timestep " BIGINT_FORMAT, - atom->tag[i],me,update->ntimestep); - fprintf(screen," xnew %g %g %g\n",xs[0],xs[1],xs[2]); - fprintf(screen," srdlo/hi x %g %g\n",srdlo[0],srdhi[0]); - fprintf(screen," srdlo/hi y %g %g\n",srdlo[1],srdhi[1]); - fprintf(screen," srdlo/hi z %g %g\n",srdlo[2],srdhi[2]); - } + if (screen) + error->warning(FLERR, + "Fix srd particle moved outside valid domain\n" + " particle {} on proc {} at timestep {}\n" + " xnew {:.8} {:.8} {:.8}\n" + " srdlo/hi x {:.8} {:.8}\n" + " srdlo/hi y {:.8} {:.8}\n" + " srdlo/hi z {:.8} {:.8}\n", + atom->tag[i], me, update->ntimestep, xs[0], xs[1], xs[2], srdlo[0], srdhi[0], + srdlo[1], srdhi[1], srdlo[2], srdhi[2]); } - if (triclinic) domain->lamda2x(xs,xs); + if (triclinic) domain->lamda2x(xs, xs); - ix = static_cast ((xs[0]-xblo2)*bininv2x); - iy = static_cast ((xs[1]-yblo2)*bininv2y); - iz = static_cast ((xs[2]-zblo2)*bininv2z); - return iz*nbin2y*nbin2x + iy*nbin2x + ix; + ix = static_cast((xs[0] - xblo2) * bininv2x); + iy = static_cast((xs[1] - yblo2) * bininv2y); + iz = static_cast((xs[2] - zblo2) * bininv2z); + return iz * nbin2y * nbin2x + iy * nbin2x + ix; } /* ---------------------------------------------------------------------- @@ -2567,60 +2549,61 @@ void FixSRD::parameterize() for (int i = 0; i < nlocal; i++) if (mask[i] & biggroupbit) { if (radius && radius[i] > 0.0) { - maxbigdiam = MAX(maxbigdiam,2.0*radius[i]); - minbigdiam = MIN(minbigdiam,2.0*radius[i]); + maxbigdiam = MAX(maxbigdiam, 2.0 * radius[i]); + minbigdiam = MIN(minbigdiam, 2.0 * radius[i]); } else if (ellipsoid && ellipsoid[i] >= 0) { any_ellipsoids = 1; double *shape = ebonus[ellipsoid[i]].shape; - maxbigdiam = MAX(maxbigdiam,2.0*shape[0]); - maxbigdiam = MAX(maxbigdiam,2.0*shape[1]); - maxbigdiam = MAX(maxbigdiam,2.0*shape[2]); - minbigdiam = MIN(minbigdiam,2.0*shape[0]); - minbigdiam = MIN(minbigdiam,2.0*shape[1]); - minbigdiam = MIN(minbigdiam,2.0*shape[2]); + maxbigdiam = MAX(maxbigdiam, 2.0 * shape[0]); + maxbigdiam = MAX(maxbigdiam, 2.0 * shape[1]); + maxbigdiam = MAX(maxbigdiam, 2.0 * shape[2]); + minbigdiam = MIN(minbigdiam, 2.0 * shape[0]); + minbigdiam = MIN(minbigdiam, 2.0 * shape[1]); + minbigdiam = MIN(minbigdiam, 2.0 * shape[2]); } else if (line && line[i] >= 0) { any_lines = 1; double length = lbonus[line[i]].length; - maxbigdiam = MAX(maxbigdiam,length); - minbigdiam = MIN(minbigdiam,length); + maxbigdiam = MAX(maxbigdiam, length); + minbigdiam = MIN(minbigdiam, length); } else if (tri && tri[i] >= 0) { any_tris = 1; double length1 = MathExtra::len3(tbonus[tri[i]].c1); double length2 = MathExtra::len3(tbonus[tri[i]].c2); double length3 = MathExtra::len3(tbonus[tri[i]].c3); - double length = MAX(length1,length2); - length = MAX(length,length3); - maxbigdiam = MAX(maxbigdiam,length); - minbigdiam = MIN(minbigdiam,length); + double length = MAX(length1, length2); + length = MAX(length, length3); + maxbigdiam = MAX(maxbigdiam, length); + minbigdiam = MIN(minbigdiam, length); } else - error->one(FLERR,"Big particle in fix srd cannot be point particle"); + error->one(FLERR, "Big particle in fix srd cannot be point particle"); } double tmp = maxbigdiam; - MPI_Allreduce(&tmp,&maxbigdiam,1,MPI_DOUBLE,MPI_MAX,world); + MPI_Allreduce(&tmp, &maxbigdiam, 1, MPI_DOUBLE, MPI_MAX, world); tmp = minbigdiam; - MPI_Allreduce(&tmp,&minbigdiam,1,MPI_DOUBLE,MPI_MIN,world); + MPI_Allreduce(&tmp, &minbigdiam, 1, MPI_DOUBLE, MPI_MIN, world); maxbigdiam *= radfactor; minbigdiam *= radfactor; int itmp = any_ellipsoids; - MPI_Allreduce(&itmp,&any_ellipsoids,1,MPI_INT,MPI_MAX,world); + MPI_Allreduce(&itmp, &any_ellipsoids, 1, MPI_INT, MPI_MAX, world); itmp = any_lines; - MPI_Allreduce(&itmp,&any_lines,1,MPI_INT,MPI_MAX,world); + MPI_Allreduce(&itmp, &any_lines, 1, MPI_INT, MPI_MAX, world); itmp = any_tris; - MPI_Allreduce(&itmp,&any_tris,1,MPI_INT,MPI_MAX,world); + MPI_Allreduce(&itmp, &any_tris, 1, MPI_INT, MPI_MAX, world); if (any_lines && overlap == 0) - error->all(FLERR,"Cannot use lines with fix srd unless overlap is set"); + error->all(FLERR, "Cannot use lines with fix srd unless overlap is set"); if (any_tris && overlap == 0) - error->all(FLERR,"Cannot use tris with fix srd unless overlap is set"); + error->all(FLERR, "Cannot use tris with fix srd unless overlap is set"); // big particles are only torqued if ellipsoids/lines/tris or NOSLIP - if (any_ellipsoids == 0 && any_lines == 0 && any_tris == 0 && - collidestyle == SLIP) torqueflag = 0; - else torqueflag = 1; + if (any_ellipsoids == 0 && any_lines == 0 && any_tris == 0 && collidestyle == SLIP) + torqueflag = 0; + else + torqueflag = 1; // mass of SRD particles, require monodispersity @@ -2634,35 +2617,37 @@ void FixSRD::parameterize() for (int i = 0; i < nlocal; i++) if (mask[i] & groupbit) { if (rmass) { - if (mass_srd == 0.0) mass_srd = rmass[i]; - else if (rmass[i] != mass_srd) flag = 1; + if (mass_srd == 0.0) + mass_srd = rmass[i]; + else if (rmass[i] != mass_srd) + flag = 1; } else { - if (mass_srd == 0.0) mass_srd = mass[type[i]]; - else if (mass[type[i]] != mass_srd) flag = 1; + if (mass_srd == 0.0) + mass_srd = mass[type[i]]; + else if (mass[type[i]] != mass_srd) + flag = 1; } } int flagall; - MPI_Allreduce(&flag,&flagall,1,MPI_INT,MPI_MAX,world); - if (flagall) - error->all(FLERR,"Fix srd requires SRD particles all have same mass"); + MPI_Allreduce(&flag, &flagall, 1, MPI_INT, MPI_MAX, world); + if (flagall) error->all(FLERR, "Fix srd requires SRD particles all have same mass"); // set temperature and lamda of SRD particles from each other // lamda = dt_srd * sqrt(boltz * temperature_srd / mass_srd); if (lamdaflag == 0) - lamda = dt_srd * sqrt(force->boltz*temperature_srd/mass_srd/force->mvv2e); + lamda = dt_srd * sqrt(force->boltz * temperature_srd / mass_srd / force->mvv2e); else - temperature_srd = force->mvv2e * - (lamda/dt_srd)*(lamda/dt_srd) * mass_srd/force->boltz; + temperature_srd = force->mvv2e * (lamda / dt_srd) * (lamda / dt_srd) * mass_srd / force->boltz; // vmax = maximum velocity of an SRD particle // dmax = maximum distance an SRD can move = 4*lamda = vmax * dt_srd - sigma = lamda/dt_srd; - dmax = 4.0*lamda; - vmax = dmax/dt_srd; - vmaxsq = vmax*vmax; + sigma = lamda / dt_srd; + dmax = 4.0 * lamda; + vmax = dmax / dt_srd; + vmaxsq = vmax * vmax; // volbig = total volume of all big particles // LINE/TRI particles have no volume @@ -2677,19 +2662,20 @@ void FixSRD::parameterize() if (mask[i] & biggroupbit) { if (radius && radius[i] > 0.0) { double r = radfactor * radius[i]; - volbig += 4.0/3.0*MY_PI * r*r*r;; + volbig += 4.0 / 3.0 * MY_PI * r * r * r; + ; } else if (ellipsoid && ellipsoid[i] >= 0) { double *shape = ebonus[ellipsoid[i]].shape; - volbig += 4.0/3.0*MY_PI * shape[0]*shape[1]*shape[2] * - radfactor*radfactor*radfactor; + volbig += 4.0 / 3.0 * MY_PI * shape[0] * shape[1] * shape[2] * radfactor * radfactor * + radfactor; } else if (tri && tri[i] >= 0) { double *c1 = tbonus[tri[i]].c1; double *c2 = tbonus[tri[i]].c2; double *c3 = tbonus[tri[i]].c3; - double c2mc1[3],c3mc1[3],cross[3]; - MathExtra::sub3(c2,c1,c2mc1); - MathExtra::sub3(c3,c1,c3mc1); - MathExtra::cross3(c2mc1,c3mc1,cross); + double c2mc1[3], c3mc1[3], cross[3]; + MathExtra::sub3(c2, c1, c2mc1); + MathExtra::sub3(c3, c1, c3mc1); + MathExtra::cross3(c2mc1, c3mc1, cross); volbig += 0.5 * MathExtra::len3(cross); } } @@ -2698,10 +2684,10 @@ void FixSRD::parameterize() if (mask[i] & biggroupbit) { if (radius && radius[i] > 0.0) { double r = radfactor * radius[i]; - volbig += MY_PI * r*r; + volbig += MY_PI * r * r; } else if (ellipsoid && ellipsoid[i] >= 0) { double *shape = ebonus[ellipsoid[i]].shape; - volbig += MY_PI * shape[0]*shape[1] * radfactor*radfactor; + volbig += MY_PI * shape[0] * shape[1] * radfactor * radfactor; } else if (line && line[i] >= 0) { double length = lbonus[line[i]].length; volbig += length * WIDTH; @@ -2710,7 +2696,7 @@ void FixSRD::parameterize() } tmp = volbig; - MPI_Allreduce(&tmp,&volbig,1,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(&tmp, &volbig, 1, MPI_DOUBLE, MPI_SUM, world); // particle counts @@ -2723,30 +2709,30 @@ void FixSRD::parameterize() mass_big = 0.0; for (int i = 0; i < nlocal; i++) if (mask[i] & biggroupbit) { - if (rmass) mass_big += rmass[i]; - else mass_big += mass[type[i]]; + if (rmass) + mass_big += rmass[i]; + else + mass_big += mass[type[i]]; } tmp = mass_big; - MPI_Allreduce(&tmp,&mass_big,1,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(&tmp, &mass_big, 1, MPI_DOUBLE, MPI_SUM, world); // mass density ratio = big / SRD double density_big = 0.0; if (bigexist) density_big = mass_big / volbig; - double volsrd,density_srd; + double volsrd, density_srd; if (dimension == 3) { volsrd = (domain->xprd * domain->yprd * domain->zprd) - volbig; - density_srd = nsrd * mass_srd / - (domain->xprd*domain->yprd*domain->zprd - volbig); + density_srd = nsrd * mass_srd / (domain->xprd * domain->yprd * domain->zprd - volbig); } else { volsrd = (domain->xprd * domain->yprd) - volbig; - density_srd = nsrd * mass_srd / - (domain->xprd*domain->yprd - volbig); + density_srd = nsrd * mass_srd / (domain->xprd * domain->yprd - volbig); } - double mdratio = density_big/density_srd; + double mdratio = density_big / density_srd; // create grid for binning/rotating SRD particles from gridsrd @@ -2767,9 +2753,9 @@ void FixSRD::parameterize() double ncell; if (dimension == 3) - ncell = volsrd / (binsize3x*binsize3y*binsize3z); + ncell = volsrd / (binsize3x * binsize3y * binsize3z); else - ncell = volsrd / (binsize3x*binsize3y); + ncell = volsrd / (binsize3x * binsize3y); srd_per_cell = (double) nsrd / ncell; @@ -2778,121 +2764,89 @@ void FixSRD::parameterize() double viscosity; if (dimension == 3) - viscosity = gridsrd*gridsrd/(18.0*dt_srd) * - (1.0-(1.0-exp(-srd_per_cell))/srd_per_cell) + - (force->boltz*temperature_srd*dt_srd/(4.0*mass_srd*force->mvv2e)) * - ((srd_per_cell+2.0)/(srd_per_cell-1.0)); - else viscosity = - (force->boltz*temperature_srd*dt_srd/(2.0*mass_srd*force->mvv2e)) * - (srd_per_cell/(srd_per_cell-1.0 + exp(-srd_per_cell)) - 1.0) + - (gridsrd*gridsrd)/(12.0*dt_srd) * - ((srd_per_cell-1.0 + exp(-srd_per_cell))/srd_per_cell); + gridsrd * gridsrd / (18.0 * dt_srd) * (1.0 - (1.0 - exp(-srd_per_cell)) / srd_per_cell) + + (force->boltz * temperature_srd * dt_srd / (4.0 * mass_srd * force->mvv2e)) * + ((srd_per_cell + 2.0) / (srd_per_cell - 1.0)); + else + viscosity = (force->boltz * temperature_srd * dt_srd / (2.0 * mass_srd * force->mvv2e)) * + (srd_per_cell / (srd_per_cell - 1.0 + exp(-srd_per_cell)) - 1.0) + + (gridsrd * gridsrd) / (12.0 * dt_srd) * + ((srd_per_cell - 1.0 + exp(-srd_per_cell)) / srd_per_cell); viscosity *= force->xxt2kmu; // print SRD parameters if (me == 0) { - if (screen) { - fprintf(screen,"SRD info:\n"); - fprintf(screen, - " SRD/big particles = " BIGINT_FORMAT " " BIGINT_FORMAT "\n", - nsrd,mbig); - fprintf(screen," big particle diameter max/min = %g %g\n", - maxbigdiam,minbigdiam); - fprintf(screen," SRD temperature & lamda = %g %g\n", - temperature_srd,lamda); - fprintf(screen," SRD max distance & max velocity = %g %g\n",dmax,vmax); - fprintf(screen," SRD grid counts: %d %d %d\n",nbin1x,nbin1y,nbin1z); - fprintf(screen," SRD grid size: request, actual (xyz) = %g, %g %g %g\n", - gridsrd,binsize3x,binsize3y,binsize3z); - fprintf(screen," SRD per actual grid cell = %g\n",srd_per_cell); - fprintf(screen," SRD viscosity = %g\n",viscosity); - fprintf(screen," big/SRD mass density ratio = %g\n",mdratio); - } - if (logfile) { - fprintf(logfile,"SRD info:\n"); - fprintf(logfile, - " SRD/big particles = " BIGINT_FORMAT " " BIGINT_FORMAT "\n", - nsrd,mbig); - fprintf(logfile," big particle diameter max/min = %g %g\n", - maxbigdiam,minbigdiam); - fprintf(logfile," SRD temperature & lamda = %g %g\n", - temperature_srd,lamda); - fprintf(logfile," SRD max distance & max velocity = %g %g\n",dmax,vmax); - fprintf(logfile," SRD grid counts: %d %d %d\n",nbin1x,nbin1y,nbin1z); - fprintf(logfile," SRD grid size: request, actual (xyz) = %g, %g %g %g\n", - gridsrd,binsize3x,binsize3y,binsize3z); - fprintf(logfile," SRD per actual grid cell = %g\n",srd_per_cell); - fprintf(logfile," SRD viscosity = %g\n",viscosity); - fprintf(logfile," big/SRD mass density ratio = %g\n",mdratio); - } + std::string mesg = "SRD info:\n"; + mesg += fmt::format(" SRD/big particles = {} {}\n", nsrd, mbig); + mesg += fmt::format(" big particle diameter max/min = {:.8} {:.8}\n", maxbigdiam, minbigdiam); + mesg += fmt::format(" SRD temperature & lamda = {:.8} {:.8}\n", temperature_srd, lamda); + mesg += fmt::format(" SRD max distance & max velocity = {:.8} {:.8}\n", dmax, vmax); + mesg += fmt::format(" SRD grid counts: {} {} {}\n", nbin1x, nbin1y, nbin1z); + mesg += fmt::format(" SRD grid size: request, actual (xyz) = {:.8}, {:.8} {:.8} {:.8}\n", + gridsrd, binsize3x, binsize3y, binsize3z); + mesg += fmt::format(" SRD per actual grid cell = {:.8}\n", srd_per_cell); + mesg += fmt::format(" SRD viscosity = {:.8}\n", viscosity); + mesg += fmt::format(" big/SRD mass density ratio = {:.8}\n", mdratio); + utils::logmesg(lmp, mesg); } // error if less than 1 SRD bin per processor in some dim - if (nbin1x < comm->procgrid[0] || nbin1y < comm->procgrid[1] || - nbin1z < comm->procgrid[2]) - error->all(FLERR,"Fewer SRD bins than processors in some dimension"); + if (nbin1x < comm->procgrid[0] || nbin1y < comm->procgrid[1] || nbin1z < comm->procgrid[2]) + error->all(FLERR, "Fewer SRD bins than processors in some dimension"); // check if SRD bins are within tolerance for shape and size int tolflag = 0; - if (binsize3y/binsize3x > 1.0+cubictol || - binsize3x/binsize3y > 1.0+cubictol) tolflag = 1; + if (binsize3y / binsize3x > 1.0 + cubictol || binsize3x / binsize3y > 1.0 + cubictol) tolflag = 1; if (dimension == 3) { - if (binsize3z/binsize3x > 1.0+cubictol || - binsize3x/binsize3z > 1.0+cubictol) tolflag = 1; - } - - if (tolflag) { - if (cubicflag == CUBIC_ERROR) - error->all(FLERR,"SRD bins for fix srd are not cubic enough"); - if (me == 0) - error->warning(FLERR,"SRD bins for fix srd are not cubic enough"); - } - - tolflag = 0; - if (binsize3x/gridsrd > 1.0+cubictol || gridsrd/binsize3x > 1.0+cubictol) - tolflag = 1; - if (binsize3y/gridsrd > 1.0+cubictol || gridsrd/binsize3y > 1.0+cubictol) - tolflag = 1; - if (dimension == 3) { - if (binsize3z/gridsrd > 1.0+cubictol || gridsrd/binsize3z > 1.0+cubictol) + if (binsize3z / binsize3x > 1.0 + cubictol || binsize3x / binsize3z > 1.0 + cubictol) tolflag = 1; } + if (tolflag) { + if (cubicflag == CUBIC_ERROR) error->all(FLERR, "SRD bins for fix srd are not cubic enough"); + if (me == 0) error->warning(FLERR, "SRD bins for fix srd are not cubic enough"); + } + + tolflag = 0; + if (binsize3x / gridsrd > 1.0 + cubictol || gridsrd / binsize3x > 1.0 + cubictol) tolflag = 1; + if (binsize3y / gridsrd > 1.0 + cubictol || gridsrd / binsize3y > 1.0 + cubictol) tolflag = 1; + if (dimension == 3) { + if (binsize3z / gridsrd > 1.0 + cubictol || gridsrd / binsize3z > 1.0 + cubictol) tolflag = 1; + } + if (tolflag) { if (cubicflag == CUBIC_ERROR) - error->all(FLERR,"SRD bin size for fix srd differs from user request"); - if (me == 0) - error->warning(FLERR, - "SRD bin size for fix srd differs from user request"); + error->all(FLERR, "SRD bin size for fix srd differs from user request"); + if (me == 0) error->warning(FLERR, "SRD bin size for fix srd differs from user request"); } // error if lamda < 0.6 of SRD grid size and no shifting allowed // turn on shifting in this case if allowed - double maxgridsrd = MAX(binsize3x,binsize3y); - if (dimension == 3) maxgridsrd = MAX(maxgridsrd,binsize3z); + double maxgridsrd = MAX(binsize3x, binsize3y); + if (dimension == 3) maxgridsrd = MAX(maxgridsrd, binsize3z); shiftflag = 0; - if (lamda < 0.6*maxgridsrd && shiftuser == SHIFT_NO) - error->all(FLERR,"Fix srd lamda must be >= 0.6 of SRD grid size"); - else if (lamda < 0.6*maxgridsrd && shiftuser == SHIFT_POSSIBLE) { + if (lamda < 0.6 * maxgridsrd && shiftuser == SHIFT_NO) + error->all(FLERR, "Fix srd lamda must be >= 0.6 of SRD grid size"); + else if (lamda < 0.6 * maxgridsrd && shiftuser == SHIFT_POSSIBLE) { + shiftflag = 1; + if (me == 0) error->warning(FLERR, "SRD bin shifting turned on due to small lamda"); + } else if (shiftuser == SHIFT_YES) shiftflag = 1; - if (me == 0) - error->warning(FLERR,"SRD bin shifting turned on due to small lamda"); - } else if (shiftuser == SHIFT_YES) shiftflag = 1; // warnings if (bigexist && maxgridsrd > 0.25 * minbigdiam && me == 0) - error->warning(FLERR,"Fix srd grid size > 1/4 of big particle diameter"); + error->warning(FLERR, "Fix srd grid size > 1/4 of big particle diameter"); if (viscosity < 0.0 && me == 0) - error->warning(FLERR,"Fix srd viscosity < 0.0 due to low SRD density"); - if (bigexist && dt_big*vmax > minbigdiam && me == 0) - error->warning(FLERR,"Fix srd particles may move > big particle diameter"); + error->warning(FLERR, "Fix srd viscosity < 0.0 due to low SRD density"); + if (bigexist && dt_big * vmax > minbigdiam && me == 0) + error->warning(FLERR, "Fix srd particles may move > big particle diameter"); } /* ---------------------------------------------------------------------- @@ -2904,9 +2858,9 @@ void FixSRD::parameterize() void FixSRD::big_static() { int i; - double rad,arad,brad,crad,length,length1,length2,length3; - double *shape,*c1,*c2,*c3; - double c2mc1[3],c3mc1[3]; + double rad, arad, brad, crad, length, length1, length2, length3; + double *shape, *c1, *c2, *c3; + double c2mc1[3], c3mc1[3]; AtomVecEllipsoid::Bonus *ebonus; if (avec_ellipsoid) ebonus = avec_ellipsoid->bonus; @@ -2929,55 +2883,55 @@ void FixSRD::big_static() if (radius && radius[i] > 0.0) { biglist[k].type = SPHERE; - rad = radfactor*radius[i]; + rad = radfactor * radius[i]; biglist[k].radius = rad; - biglist[k].radsq = rad*rad; - biglist[k].cutbinsq = (rad+skinhalf) * (rad+skinhalf); + biglist[k].radsq = rad * rad; + biglist[k].cutbinsq = (rad + skinhalf) * (rad + skinhalf); - // ellipsoid - // set abc radsqinv and cutoff based on max radius + // ellipsoid + // set abc radsqinv and cutoff based on max radius } else if (ellipsoid && ellipsoid[i] >= 0) { shape = ebonus[ellipsoid[i]].shape; biglist[k].type = ELLIPSOID; - arad = radfactor*shape[0]; - brad = radfactor*shape[1]; - crad = radfactor*shape[2]; - biglist[k].aradsqinv = 1.0/(arad*arad); - biglist[k].bradsqinv = 1.0/(brad*brad); - biglist[k].cradsqinv = 1.0/(crad*crad); - rad = MAX(arad,brad); - rad = MAX(rad,crad); - biglist[k].cutbinsq = (rad+skinhalf) * (rad+skinhalf); + arad = radfactor * shape[0]; + brad = radfactor * shape[1]; + crad = radfactor * shape[2]; + biglist[k].aradsqinv = 1.0 / (arad * arad); + biglist[k].bradsqinv = 1.0 / (brad * brad); + biglist[k].cradsqinv = 1.0 / (crad * crad); + rad = MAX(arad, brad); + rad = MAX(rad, crad); + biglist[k].cutbinsq = (rad + skinhalf) * (rad + skinhalf); - // line - // set length and cutoff based on 1/2 length + // line + // set length and cutoff based on 1/2 length } else if (line && line[i] >= 0) { length = lbonus[line[i]].length; biglist[k].type = LINE; biglist[k].length = length; - rad = 0.5*length; - biglist[k].cutbinsq = (rad+skinhalf) * (rad+skinhalf); + rad = 0.5 * length; + biglist[k].cutbinsq = (rad + skinhalf) * (rad + skinhalf); - // tri - // set normbody based on c1,c2,c3 - // set cutoff based on point furthest from centroid + // tri + // set normbody based on c1,c2,c3 + // set cutoff based on point furthest from centroid } else if (tri && tri[i] >= 0) { biglist[k].type = TRIANGLE; c1 = tbonus[tri[i]].c1; c2 = tbonus[tri[i]].c2; c3 = tbonus[tri[i]].c3; - MathExtra::sub3(c2,c1,c2mc1); - MathExtra::sub3(c3,c1,c3mc1); - MathExtra::cross3(c2mc1,c3mc1,biglist[k].normbody); + MathExtra::sub3(c2, c1, c2mc1); + MathExtra::sub3(c3, c1, c3mc1); + MathExtra::cross3(c2mc1, c3mc1, biglist[k].normbody); length1 = MathExtra::len3(c1); length2 = MathExtra::len3(c2); length3 = MathExtra::len3(c3); - rad = MAX(length1,length2); - rad = MAX(rad,length3); - biglist[k].cutbinsq = (rad+skinhalf) * (rad+skinhalf); + rad = MAX(length1, length2); + rad = MAX(rad, length3); + biglist[k].cutbinsq = (rad + skinhalf) * (rad + skinhalf); } } } @@ -2990,7 +2944,7 @@ void FixSRD::big_static() void FixSRD::big_dynamic() { int i; - double *shape,*quat,*inertia; + double *shape, *quat, *inertia; double inertiaone[3]; AtomVecEllipsoid::Bonus *ebonus; @@ -3017,23 +2971,22 @@ void FixSRD::big_dynamic() biglist[k].omega[1] = omega[i][1]; biglist[k].omega[2] = omega[i][2]; - // ellipsoid - // set ex,ey,ez from quaternion - // set omega from angmom & ex,ey,ez + // ellipsoid + // set ex,ey,ez from quaternion + // set omega from angmom & ex,ey,ez } else if (biglist[k].type == ELLIPSOID) { quat = ebonus[ellipsoid[i]].quat; - MathExtra::q_to_exyz(quat,biglist[k].ex,biglist[k].ey,biglist[k].ez); + MathExtra::q_to_exyz(quat, biglist[k].ex, biglist[k].ey, biglist[k].ez); shape = ebonus[ellipsoid[i]].shape; - inertiaone[0] = EINERTIA*rmass[i] * (shape[1]*shape[1]+shape[2]*shape[2]); - inertiaone[1] = EINERTIA*rmass[i] * (shape[0]*shape[0]+shape[2]*shape[2]); - inertiaone[2] = EINERTIA*rmass[i] * (shape[0]*shape[0]+shape[1]*shape[1]); - MathExtra::angmom_to_omega(angmom[i], - biglist[k].ex,biglist[k].ey,biglist[k].ez, - inertiaone,biglist[k].omega); + inertiaone[0] = EINERTIA * rmass[i] * (shape[1] * shape[1] + shape[2] * shape[2]); + inertiaone[1] = EINERTIA * rmass[i] * (shape[0] * shape[0] + shape[2] * shape[2]); + inertiaone[2] = EINERTIA * rmass[i] * (shape[0] * shape[0] + shape[1] * shape[1]); + MathExtra::angmom_to_omega(angmom[i], biglist[k].ex, biglist[k].ey, biglist[k].ez, inertiaone, + biglist[k].omega); - // line - // set omega from atom->omega directly + // line + // set omega from atom->omega directly } else if (biglist[k].type == LINE) { biglist[k].theta = lbonus[line[i]].theta; @@ -3041,20 +2994,19 @@ void FixSRD::big_dynamic() biglist[k].omega[1] = omega[i][1]; biglist[k].omega[2] = omega[i][2]; - // tri - // set ex,ey,ez from quaternion - // set omega from angmom & ex,ey,ez - // set unit space-frame norm from body-frame norm + // tri + // set ex,ey,ez from quaternion + // set omega from angmom & ex,ey,ez + // set unit space-frame norm from body-frame norm } else if (biglist[k].type == TRIANGLE) { quat = tbonus[tri[i]].quat; - MathExtra::q_to_exyz(quat,biglist[k].ex,biglist[k].ey,biglist[k].ez); + MathExtra::q_to_exyz(quat, biglist[k].ex, biglist[k].ey, biglist[k].ez); inertia = tbonus[tri[i]].inertia; - MathExtra::angmom_to_omega(angmom[i], - biglist[k].ex,biglist[k].ey,biglist[k].ez, - inertia,biglist[k].omega); - MathExtra::matvec(biglist[k].ex,biglist[k].ey,biglist[k].ez, - biglist[k].normbody,biglist[k].norm); + MathExtra::angmom_to_omega(angmom[i], biglist[k].ex, biglist[k].ey, biglist[k].ez, inertia, + biglist[k].omega); + MathExtra::matvec(biglist[k].ex, biglist[k].ey, biglist[k].ez, biglist[k].normbody, + biglist[k].norm); MathExtra::norm3(biglist[k].norm); } } @@ -3070,11 +3022,11 @@ void FixSRD::setup_bounds() // triclinic scale factors // convert a real distance (perpendicular to box face) to a lamda distance - double length0,length1,length2; + double length0, length1, length2; if (triclinic) { double *h_inv = domain->h_inv; - length0 = sqrt(h_inv[0]*h_inv[0] + h_inv[5]*h_inv[5] + h_inv[4]*h_inv[4]); - length1 = sqrt(h_inv[1]*h_inv[1] + h_inv[3]*h_inv[3]); + length0 = sqrt(h_inv[0] * h_inv[0] + h_inv[5] * h_inv[5] + h_inv[4] * h_inv[4]); + length1 = sqrt(h_inv[1] * h_inv[1] + h_inv[3] * h_inv[3]); length2 = h_inv[2]; } @@ -3101,30 +3053,28 @@ void FixSRD::setup_bounds() // max distance to move without being lost during comm->exchange() // subsize = perp distance between sub-domain faces (orthog or triclinic) - double cut = MAX(neighbor->cutneighmax,comm->cutghostuser); - double onemove = dt_big*vmax; + double cut = MAX(neighbor->cutneighmax, comm->cutghostuser); + double onemove = dt_big * vmax; if (bigexist) { - dist_ghost = cut + 0.5*neighbor->skin; - dist_srd = cut - 0.5*neighbor->skin - 0.5*maxbigdiam; + dist_ghost = cut + 0.5 * neighbor->skin; + dist_srd = cut - 0.5 * neighbor->skin - 0.5 * maxbigdiam; dist_srd_reneigh = dist_srd - onemove; } else if (wallexist) { - dist_ghost = 4*onemove; - dist_srd = 4*onemove; - dist_srd_reneigh = 4*onemove - onemove; + dist_ghost = 4 * onemove; + dist_srd = 4 * onemove; + dist_srd_reneigh = 4 * onemove - onemove; } else { dist_ghost = dist_srd = 0.0; double subsize; if (triclinic == 0) { - subsize = domain->prd[0]/comm->procgrid[0]; - subsize = MIN(subsize,domain->prd[1]/comm->procgrid[1]); - if (dimension == 3) - subsize = MIN(subsize,domain->prd[2]/comm->procgrid[2]); + subsize = domain->prd[0] / comm->procgrid[0]; + subsize = MIN(subsize, domain->prd[1] / comm->procgrid[1]); + if (dimension == 3) subsize = MIN(subsize, domain->prd[2] / comm->procgrid[2]); } else { - subsize = 1.0/comm->procgrid[0]/length0; - subsize = MIN(subsize,1.0/comm->procgrid[1]/length1); - if (dimension == 3) - subsize = MIN(subsize,1.0/comm->procgrid[2]/length2); + subsize = 1.0 / comm->procgrid[0] / length0; + subsize = MIN(subsize, 1.0 / comm->procgrid[1] / length1); + if (dimension == 3) subsize = MIN(subsize, 1.0 / comm->procgrid[2] / length2); } dist_srd_reneigh = subsize - onemove; } @@ -3149,19 +3099,19 @@ void FixSRD::setup_bounds() srdhi_reneigh[2] = domain->subhi[2] + dist_srd_reneigh; } else { - srdlo[0] = domain->sublo_lamda[0] - dist_srd*length0; - srdhi[0] = domain->subhi_lamda[0] + dist_srd*length0; - srdlo[1] = domain->sublo_lamda[1] - dist_srd*length1; - srdhi[1] = domain->subhi_lamda[1] + dist_srd*length1; - srdlo[2] = domain->sublo_lamda[2] - dist_srd*length2; - srdhi[2] = domain->subhi_lamda[2] + dist_srd*length2; + srdlo[0] = domain->sublo_lamda[0] - dist_srd * length0; + srdhi[0] = domain->subhi_lamda[0] + dist_srd * length0; + srdlo[1] = domain->sublo_lamda[1] - dist_srd * length1; + srdhi[1] = domain->subhi_lamda[1] + dist_srd * length1; + srdlo[2] = domain->sublo_lamda[2] - dist_srd * length2; + srdhi[2] = domain->subhi_lamda[2] + dist_srd * length2; - srdlo_reneigh[0] = domain->sublo_lamda[0] - dist_srd_reneigh*length0; - srdhi_reneigh[0] = domain->subhi_lamda[0] + dist_srd_reneigh*length0; - srdlo_reneigh[1] = domain->sublo_lamda[1] - dist_srd_reneigh*length1; - srdhi_reneigh[1] = domain->subhi_lamda[1] + dist_srd_reneigh*length1; - srdlo_reneigh[2] = domain->sublo_lamda[2] - dist_srd_reneigh*length2; - srdhi_reneigh[2] = domain->subhi_lamda[2] + dist_srd_reneigh*length2; + srdlo_reneigh[0] = domain->sublo_lamda[0] - dist_srd_reneigh * length0; + srdhi_reneigh[0] = domain->subhi_lamda[0] + dist_srd_reneigh * length0; + srdlo_reneigh[1] = domain->sublo_lamda[1] - dist_srd_reneigh * length1; + srdhi_reneigh[1] = domain->subhi_lamda[1] + dist_srd_reneigh * length1; + srdlo_reneigh[2] = domain->sublo_lamda[2] - dist_srd_reneigh * length2; + srdhi_reneigh[2] = domain->subhi_lamda[2] + dist_srd_reneigh * length2; } } @@ -3178,9 +3128,9 @@ void FixSRD::setup_velocity_bins() { // require integer # of bins across global domain - nbin1x = static_cast (domain->xprd/gridsrd + 0.5); - nbin1y = static_cast (domain->yprd/gridsrd + 0.5); - nbin1z = static_cast (domain->zprd/gridsrd + 0.5); + nbin1x = static_cast(domain->xprd / gridsrd + 0.5); + nbin1y = static_cast(domain->yprd / gridsrd + 0.5); + nbin1z = static_cast(domain->zprd / gridsrd + 0.5); if (dimension == 2) nbin1z = 1; if (nbin1x == 0) nbin1x = 1; @@ -3191,9 +3141,9 @@ void FixSRD::setup_velocity_bins() binsize1x = domain->xprd / nbin1x; binsize1y = domain->yprd / nbin1y; binsize1z = domain->zprd / nbin1z; - bininv1x = 1.0/binsize1x; - bininv1y = 1.0/binsize1y; - bininv1z = 1.0/binsize1z; + bininv1x = 1.0 / binsize1x; + bininv1y = 1.0 / binsize1y; + bininv1z = 1.0 / binsize1z; } else { binsize1x = 1.0 / nbin1x; binsize1y = 1.0 / nbin1y; @@ -3203,7 +3153,7 @@ void FixSRD::setup_velocity_bins() bininv1z = nbin1z; } - nbins1 = nbin1x*nbin1y*nbin1z; + nbins1 = nbin1x * nbin1y * nbin1z; // setup two shifts, 0 = no shift, 1 = shift // initialize no shift case since static @@ -3211,37 +3161,39 @@ void FixSRD::setup_velocity_bins() // setup_velocity_shift allocates memory for vbin and sendlist/recvlist double *boxlo; - if (triclinic == 0) boxlo = domain->boxlo; - else boxlo = domain->boxlo_lamda; + if (triclinic == 0) + boxlo = domain->boxlo; + else + boxlo = domain->boxlo_lamda; shifts[0].corner[0] = boxlo[0]; shifts[0].corner[1] = boxlo[1]; shifts[0].corner[2] = boxlo[2]; - setup_velocity_shift(0,0); + setup_velocity_shift(0, 0); shifts[1].corner[0] = boxlo[0]; shifts[1].corner[1] = boxlo[1]; shifts[1].corner[2] = boxlo[2]; - setup_velocity_shift(1,0); + setup_velocity_shift(1, 0); // allocate binhead based on max # of bins in either shift int max = shifts[0].nbins; - max = MAX(max,shifts[1].nbins); + max = MAX(max, shifts[1].nbins); if (max > maxbin1) { memory->destroy(binhead); maxbin1 = max; - memory->create(binhead,max,"fix/srd:binhead"); + memory->create(binhead, max, "fix/srd:binhead"); } // allocate sbuf,rbuf based on biggest bin message max = 0; for (int ishift = 0; ishift < 2; ishift++) - for (int iswap = 0; iswap < 2*dimension; iswap++) { - max = MAX(max,shifts[ishift].bcomm[iswap].nsend); - max = MAX(max,shifts[ishift].bcomm[iswap].nrecv); + for (int iswap = 0; iswap < 2 * dimension; iswap++) { + max = MAX(max, shifts[ishift].bcomm[iswap].nsend); + max = MAX(max, shifts[ishift].bcomm[iswap].nrecv); } if (max > maxbuf) { @@ -3250,10 +3202,10 @@ void FixSRD::setup_velocity_bins() memory->destroy(rbuf1); memory->destroy(rbuf2); maxbuf = max; - memory->create(sbuf1,max*VBINSIZE,"fix/srd:sbuf"); - memory->create(sbuf2,max*VBINSIZE,"fix/srd:sbuf"); - memory->create(rbuf1,max*VBINSIZE,"fix/srd:rbuf"); - memory->create(rbuf2,max*VBINSIZE,"fix/srd:rbuf"); + memory->create(sbuf1, max * VBINSIZE, "fix/srd:sbuf"); + memory->create(sbuf2, max * VBINSIZE, "fix/srd:sbuf"); + memory->create(rbuf1, max * VBINSIZE, "fix/srd:rbuf"); + memory->create(rbuf2, max * VBINSIZE, "fix/srd:rbuf"); } // commflag = 1 if any comm required due to bins overlapping proc boundaries @@ -3287,12 +3239,12 @@ void FixSRD::setup_velocity_bins() void FixSRD::setup_velocity_shift(int ishift, int dynamic) { - int i,j,k,m,id,nsend; + int i, j, k, m, id, nsend; int *sendlist; - BinComm *first,*second; + BinComm *first, *second; BinAve *vbin; - double *sublo,*subhi; + double *sublo, *subhi; if (triclinic == 0) { sublo = domain->sublo; subhi = domain->subhi; @@ -3307,30 +3259,27 @@ void FixSRD::setup_velocity_shift(int ishift, int dynamic) int *procgrid = comm->procgrid; int *myloc = comm->myloc; - binlo[0] = static_cast ((sublo[0]-corner[0])*bininv1x); - binlo[1] = static_cast ((sublo[1]-corner[1])*bininv1y); - binlo[2] = static_cast ((sublo[2]-corner[2])*bininv1z); + binlo[0] = static_cast((sublo[0] - corner[0]) * bininv1x); + binlo[1] = static_cast((sublo[1] - corner[1]) * bininv1y); + binlo[2] = static_cast((sublo[2] - corner[2]) * bininv1z); if (dimension == 2) shifts[ishift].binlo[2] = 0; - binhi[0] = static_cast ((subhi[0]-corner[0])*bininv1x); - binhi[1] = static_cast ((subhi[1]-corner[1])*bininv1y); - binhi[2] = static_cast ((subhi[2]-corner[2])*bininv1z); + binhi[0] = static_cast((subhi[0] - corner[0]) * bininv1x); + binhi[1] = static_cast((subhi[1] - corner[1]) * bininv1y); + binhi[2] = static_cast((subhi[2] - corner[2]) * bininv1z); if (dimension == 2) shifts[ishift].binhi[2] = 0; if (ishift == 0) { - if (myloc[0]*nbin1x % procgrid[0] == 0) - binlo[0] = myloc[0]*nbin1x/procgrid[0]; - if (myloc[1]*nbin1y % procgrid[1] == 0) - binlo[1] = myloc[1]*nbin1y/procgrid[1]; - if (myloc[2]*nbin1z % procgrid[2] == 0) - binlo[2] = myloc[2]*nbin1z/procgrid[2]; + if (myloc[0] * nbin1x % procgrid[0] == 0) binlo[0] = myloc[0] * nbin1x / procgrid[0]; + if (myloc[1] * nbin1y % procgrid[1] == 0) binlo[1] = myloc[1] * nbin1y / procgrid[1]; + if (myloc[2] * nbin1z % procgrid[2] == 0) binlo[2] = myloc[2] * nbin1z / procgrid[2]; - if ((myloc[0]+1)*nbin1x % procgrid[0] == 0) - binhi[0] = (myloc[0]+1)*nbin1x/procgrid[0] - 1; - if ((myloc[1]+1)*nbin1y % procgrid[1] == 0) - binhi[1] = (myloc[1]+1)*nbin1y/procgrid[1] - 1; - if ((myloc[2]+1)*nbin1z % procgrid[2] == 0) - binhi[2] = (myloc[2]+1)*nbin1z/procgrid[2] - 1; + if ((myloc[0] + 1) * nbin1x % procgrid[0] == 0) + binhi[0] = (myloc[0] + 1) * nbin1x / procgrid[0] - 1; + if ((myloc[1] + 1) * nbin1y % procgrid[1] == 0) + binhi[1] = (myloc[1] + 1) * nbin1y / procgrid[1] - 1; + if ((myloc[2] + 1) * nbin1z % procgrid[2] == 0) + binhi[2] = (myloc[2] + 1) * nbin1z / procgrid[2] - 1; } int nbinx = binhi[0] - binlo[0] + 1; @@ -3345,11 +3294,11 @@ void FixSRD::setup_velocity_shift(int ishift, int dynamic) if (dimension == 3) nbinz++; } - int nbins = nbinx*nbiny*nbinz; - int nbinxy = nbinx*nbiny; - int nbinsq = nbinx*nbiny; - nbinsq = MAX(nbiny*nbinz,nbinsq); - nbinsq = MAX(nbinx*nbinz,nbinsq); + int nbins = nbinx * nbiny * nbinz; + int nbinxy = nbinx * nbiny; + int nbinsq = nbinx * nbiny; + nbinsq = MAX(nbiny * nbinz, nbinsq); + nbinsq = MAX(nbinx * nbinz, nbinsq); shifts[ishift].nbins = nbins; shifts[ishift].nbinx = nbinx; @@ -3389,16 +3338,14 @@ void FixSRD::setup_velocity_shift(int ishift, int dynamic) first = &shifts[ishift].bcomm[0]; second = &shifts[ishift].bcomm[1]; - first->nsend = first->nrecv = second->nsend = second->nrecv = nbiny*nbinz; + first->nsend = first->nrecv = second->nsend = second->nrecv = nbiny * nbinz; if (ishift == 0) { - if (myloc[0]*nbin1x % procgrid[0] == 0) - first->nsend = second->nrecv = 0; - if ((myloc[0]+1)*nbin1x % procgrid[0] == 0) - second->nsend = first->nrecv = 0; + if (myloc[0] * nbin1x % procgrid[0] == 0) first->nsend = second->nrecv = 0; + if ((myloc[0] + 1) * nbin1x % procgrid[0] == 0) second->nsend = first->nrecv = 0; } else { if (domain->xperiodic == 0) { if (myloc[0] == 0) first->nsend = second->nrecv = 0; - if (myloc[0] == procgrid[0]-1) second->nsend = first->nrecv = 0; + if (myloc[0] == procgrid[0] - 1) second->nsend = first->nrecv = 0; } } @@ -3407,25 +3354,25 @@ void FixSRD::setup_velocity_shift(int ishift, int dynamic) memory->destroy(first->recvlist); memory->destroy(second->sendlist); memory->destroy(second->recvlist); - memory->create(first->sendlist,nbinsq,"fix/srd:sendlist"); - memory->create(first->recvlist,nbinsq,"fix/srd:sendlist"); - memory->create(second->sendlist,nbinsq,"fix/srd:sendlist"); - memory->create(second->recvlist,nbinsq,"fix/srd:sendlist"); + memory->create(first->sendlist, nbinsq, "fix/srd:sendlist"); + memory->create(first->recvlist, nbinsq, "fix/srd:sendlist"); + memory->create(second->sendlist, nbinsq, "fix/srd:sendlist"); + memory->create(second->recvlist, nbinsq, "fix/srd:sendlist"); } m = 0; i = 0; for (j = 0; j < nbiny; j++) for (k = 0; k < nbinz; k++) { - id = k*nbinxy + j*nbinx + i; + id = k * nbinxy + j * nbinx + i; first->sendlist[m] = second->recvlist[m] = id; m++; } m = 0; - i = nbinx-1; + i = nbinx - 1; for (j = 0; j < nbiny; j++) for (k = 0; k < nbinz; k++) { - id = k*nbinxy + j*nbinx + i; + id = k * nbinxy + j * nbinx + i; second->sendlist[m] = first->recvlist[m] = id; m++; } @@ -3433,16 +3380,14 @@ void FixSRD::setup_velocity_shift(int ishift, int dynamic) first = &shifts[ishift].bcomm[2]; second = &shifts[ishift].bcomm[3]; - first->nsend = first->nrecv = second->nsend = second->nrecv = nbinx*nbinz; + first->nsend = first->nrecv = second->nsend = second->nrecv = nbinx * nbinz; if (ishift == 0) { - if (myloc[1]*nbin1y % procgrid[1] == 0) - first->nsend = second->nrecv = 0; - if ((myloc[1]+1)*nbin1y % procgrid[1] == 0) - second->nsend = first->nrecv = 0; + if (myloc[1] * nbin1y % procgrid[1] == 0) first->nsend = second->nrecv = 0; + if ((myloc[1] + 1) * nbin1y % procgrid[1] == 0) second->nsend = first->nrecv = 0; } else { if (domain->yperiodic == 0) { if (myloc[1] == 0) first->nsend = second->nrecv = 0; - if (myloc[1] == procgrid[1]-1) second->nsend = first->nrecv = 0; + if (myloc[1] == procgrid[1] - 1) second->nsend = first->nrecv = 0; } } @@ -3451,25 +3396,25 @@ void FixSRD::setup_velocity_shift(int ishift, int dynamic) memory->destroy(first->recvlist); memory->destroy(second->sendlist); memory->destroy(second->recvlist); - memory->create(first->sendlist,nbinsq,"fix/srd:sendlist"); - memory->create(first->recvlist,nbinsq,"fix/srd:sendlist"); - memory->create(second->sendlist,nbinsq,"fix/srd:sendlist"); - memory->create(second->recvlist,nbinsq,"fix/srd:sendlist"); + memory->create(first->sendlist, nbinsq, "fix/srd:sendlist"); + memory->create(first->recvlist, nbinsq, "fix/srd:sendlist"); + memory->create(second->sendlist, nbinsq, "fix/srd:sendlist"); + memory->create(second->recvlist, nbinsq, "fix/srd:sendlist"); } m = 0; j = 0; for (i = 0; i < nbinx; i++) for (k = 0; k < nbinz; k++) { - id = k*nbinxy + j*nbinx + i; + id = k * nbinxy + j * nbinx + i; first->sendlist[m] = second->recvlist[m] = id; m++; } m = 0; - j = nbiny-1; + j = nbiny - 1; for (i = 0; i < nbinx; i++) for (k = 0; k < nbinz; k++) { - id = k*nbinxy + j*nbinx + i; + id = k * nbinxy + j * nbinx + i; second->sendlist[m] = first->recvlist[m] = id; m++; } @@ -3478,16 +3423,14 @@ void FixSRD::setup_velocity_shift(int ishift, int dynamic) first = &shifts[ishift].bcomm[4]; second = &shifts[ishift].bcomm[5]; - first->nsend = first->nrecv = second->nsend = second->nrecv = nbinx*nbiny; + first->nsend = first->nrecv = second->nsend = second->nrecv = nbinx * nbiny; if (ishift == 0) { - if (myloc[2]*nbin1z % procgrid[2] == 0) - first->nsend = second->nrecv = 0; - if ((myloc[2]+1)*nbin1z % procgrid[2] == 0) - second->nsend = first->nrecv = 0; + if (myloc[2] * nbin1z % procgrid[2] == 0) first->nsend = second->nrecv = 0; + if ((myloc[2] + 1) * nbin1z % procgrid[2] == 0) second->nsend = first->nrecv = 0; } else { if (domain->zperiodic == 0) { if (myloc[2] == 0) first->nsend = second->nrecv = 0; - if (myloc[2] == procgrid[2]-1) second->nsend = first->nrecv = 0; + if (myloc[2] == procgrid[2] - 1) second->nsend = first->nrecv = 0; } } @@ -3496,25 +3439,25 @@ void FixSRD::setup_velocity_shift(int ishift, int dynamic) memory->destroy(first->recvlist); memory->destroy(second->sendlist); memory->destroy(second->recvlist); - memory->create(first->sendlist,nbinx*nbiny,"fix/srd:sendlist"); - memory->create(first->recvlist,nbinx*nbiny,"fix/srd:sendlist"); - memory->create(second->sendlist,nbinx*nbiny,"fix/srd:sendlist"); - memory->create(second->recvlist,nbinx*nbiny,"fix/srd:sendlist"); + memory->create(first->sendlist, nbinx * nbiny, "fix/srd:sendlist"); + memory->create(first->recvlist, nbinx * nbiny, "fix/srd:sendlist"); + memory->create(second->sendlist, nbinx * nbiny, "fix/srd:sendlist"); + memory->create(second->recvlist, nbinx * nbiny, "fix/srd:sendlist"); } m = 0; k = 0; for (i = 0; i < nbinx; i++) for (j = 0; j < nbiny; j++) { - id = k*nbinxy + j*nbinx + i; + id = k * nbinxy + j * nbinx + i; first->sendlist[m] = second->recvlist[m] = id; m++; } m = 0; - k = nbinz-1; + k = nbinz - 1; for (i = 0; i < nbinx; i++) for (j = 0; j < nbiny; j++) { - id = k*nbinxy + j*nbinx + i; + id = k * nbinxy + j * nbinx + i; second->sendlist[m] = first->recvlist[m] = id; m++; } @@ -3525,8 +3468,7 @@ void FixSRD::setup_velocity_shift(int ishift, int dynamic) if (dynamic == 0 && nbins > shifts[ishift].maxvbin) { memory->destroy(shifts[ishift].vbin); shifts[ishift].maxvbin = nbins; - shifts[ishift].vbin = (BinAve *) - memory->smalloc(nbins*sizeof(BinAve),"fix/srd:vbin"); + shifts[ishift].vbin = (BinAve *) memory->smalloc(nbins * sizeof(BinAve), "fix/srd:vbin"); } // for vbins I own, set owner = 1 @@ -3536,7 +3478,7 @@ void FixSRD::setup_velocity_shift(int ishift, int dynamic) vbin = shifts[ishift].vbin; for (i = 0; i < nbins; i++) vbin[i].owner = 1; - for (int iswap = 0; iswap < 2*dimension; iswap++) { + for (int iswap = 0; iswap < 2 * dimension; iswap++) { if (shifts[ishift].bcomm[iswap].sendproc > me) continue; if (shifts[ishift].bcomm[iswap].sendproc == me && iswap % 2 == 0) continue; nsend = shifts[ishift].bcomm[iswap].nsend; @@ -3552,9 +3494,9 @@ void FixSRD::setup_velocity_shift(int ishift, int dynamic) for (k = 0; k < nbinz; k++) for (j = 0; j < nbiny; j++) for (i = 0; i < nbinx; i++) { - vbin[m].xctr[0] = corner[0] + (i+binlo[0]+0.5)/nbin1x; - vbin[m].xctr[1] = corner[1] + (j+binlo[1]+0.5)/nbin1y; - vbin[m].xctr[2] = corner[2] + (k+binlo[2]+0.5)/nbin1z; + vbin[m].xctr[0] = corner[0] + (i + binlo[0] + 0.5) / nbin1x; + vbin[m].xctr[1] = corner[1] + (j + binlo[1] + 0.5) / nbin1y; + vbin[m].xctr[2] = corner[2] + (k + binlo[2] + 0.5) / nbin1z; m++; } } @@ -3583,7 +3525,7 @@ void FixSRD::setup_search_bins() // c) convert lo/hi to real space bounding box via domain->bbox() // similar to neighbor::setup_bins() and comm::cutghost[] calculation - double subboxlo[3],subboxhi[3]; + double subboxlo[3], subboxhi[3]; if (triclinic == 0) { subboxlo[0] = domain->sublo[0] - dist_ghost; @@ -3594,25 +3536,25 @@ void FixSRD::setup_search_bins() subboxhi[2] = domain->subhi[2] + dist_ghost; } else { double *h_inv = domain->h_inv; - double length0,length1,length2; - length0 = sqrt(h_inv[0]*h_inv[0] + h_inv[5]*h_inv[5] + h_inv[4]*h_inv[4]); - length1 = sqrt(h_inv[1]*h_inv[1] + h_inv[3]*h_inv[3]); + double length0, length1, length2; + length0 = sqrt(h_inv[0] * h_inv[0] + h_inv[5] * h_inv[5] + h_inv[4] * h_inv[4]); + length1 = sqrt(h_inv[1] * h_inv[1] + h_inv[3] * h_inv[3]); length2 = h_inv[2]; - double lo[3],hi[3]; - lo[0] = domain->sublo_lamda[0] - dist_ghost*length0; - lo[1] = domain->sublo_lamda[1] - dist_ghost*length1; - lo[2] = domain->sublo_lamda[2] - dist_ghost*length2; - hi[0] = domain->subhi_lamda[0] + dist_ghost*length0; - hi[1] = domain->subhi_lamda[1] + dist_ghost*length1; - hi[2] = domain->subhi_lamda[2] + dist_ghost*length2; - domain->bbox(lo,hi,subboxlo,subboxhi); + double lo[3], hi[3]; + lo[0] = domain->sublo_lamda[0] - dist_ghost * length0; + lo[1] = domain->sublo_lamda[1] - dist_ghost * length1; + lo[2] = domain->sublo_lamda[2] - dist_ghost * length2; + hi[0] = domain->subhi_lamda[0] + dist_ghost * length0; + hi[1] = domain->subhi_lamda[1] + dist_ghost * length1; + hi[2] = domain->subhi_lamda[2] + dist_ghost * length2; + domain->bbox(lo, hi, subboxlo, subboxhi); } // require integer # of bins for that volume - nbin2x = static_cast ((subboxhi[0] - subboxlo[0]) / gridsearch); - nbin2y = static_cast ((subboxhi[1] - subboxlo[1]) / gridsearch); - nbin2z = static_cast ((subboxhi[2] - subboxlo[2]) / gridsearch); + nbin2x = static_cast((subboxhi[0] - subboxlo[0]) / gridsearch); + nbin2y = static_cast((subboxhi[1] - subboxlo[1]) / gridsearch); + nbin2z = static_cast((subboxhi[2] - subboxlo[2]) / gridsearch); if (dimension == 2) nbin2z = 1; if (nbin2x == 0) nbin2x = 1; @@ -3622,41 +3564,41 @@ void FixSRD::setup_search_bins() binsize2x = (subboxhi[0] - subboxlo[0]) / nbin2x; binsize2y = (subboxhi[1] - subboxlo[1]) / nbin2y; binsize2z = (subboxhi[2] - subboxlo[2]) / nbin2z; - bininv2x = 1.0/binsize2x; - bininv2y = 1.0/binsize2y; - bininv2z = 1.0/binsize2z; + bininv2x = 1.0 / binsize2x; + bininv2y = 1.0 / binsize2y; + bininv2z = 1.0 / binsize2z; // add bins on either end due to extent of big particles // radmax = max distance from central bin that biggest particle overlaps // includes skin movement // nx,ny,nz = max # of bins to search away from central bin - double radmax = 0.5*maxbigdiam + 0.5*neighbor->skin; + double radmax = 0.5 * maxbigdiam + 0.5 * neighbor->skin; - int nx = static_cast (radmax/binsize2x) + 1; - int ny = static_cast (radmax/binsize2y) + 1; - int nz = static_cast (radmax/binsize2z) + 1; + int nx = static_cast(radmax / binsize2x) + 1; + int ny = static_cast(radmax / binsize2y) + 1; + int nz = static_cast(radmax / binsize2z) + 1; if (dimension == 2) nz = 0; - nbin2x += 2*nx; - nbin2y += 2*ny; - nbin2z += 2*nz; + nbin2x += 2 * nx; + nbin2y += 2 * ny; + nbin2z += 2 * nz; - xblo2 = subboxlo[0] - nx*binsize2x; - yblo2 = subboxlo[1] - ny*binsize2y; - zblo2 = subboxlo[2] - nz*binsize2z; + xblo2 = subboxlo[0] - nx * binsize2x; + yblo2 = subboxlo[1] - ny * binsize2y; + zblo2 = subboxlo[2] - nz * binsize2z; if (dimension == 2) zblo2 = domain->boxlo[2]; // allocate bins // first deallocate previous bins if necessary - nbins2 = nbin2x*nbin2y*nbin2z; + nbins2 = nbin2x * nbin2y * nbin2z; if (nbins2 > maxbin2) { memory->destroy(nbinbig); memory->destroy(binbig); maxbin2 = nbins2; - memory->create(nbinbig,nbins2,"fix/srd:nbinbig"); - memory->create(binbig,nbins2,ATOMPERBIN,"fix/srd:binbig"); + memory->create(nbinbig, nbins2, "fix/srd:nbinbig"); + memory->create(binbig, nbins2, ATOMPERBIN, "fix/srd:binbig"); } } @@ -3670,22 +3612,22 @@ void FixSRD::setup_search_stencil() // includes skin movement // nx,ny,nz = max # of bins to search away from central bin - double radmax = 0.5*maxbigdiam + 0.5*neighbor->skin; - double radsq = radmax*radmax; + double radmax = 0.5 * maxbigdiam + 0.5 * neighbor->skin; + double radsq = radmax * radmax; - int nx = static_cast (radmax/binsize2x) + 1; - int ny = static_cast (radmax/binsize2y) + 1; - int nz = static_cast (radmax/binsize2z) + 1; + int nx = static_cast(radmax / binsize2x) + 1; + int ny = static_cast(radmax / binsize2y) + 1; + int nz = static_cast(radmax / binsize2z) + 1; if (dimension == 2) nz = 0; // allocate stencil array // deallocate previous stencil if necessary - int max = (2*nx+1) * (2*ny+1) * (2*nz+1); + int max = (2 * nx + 1) * (2 * ny + 1) * (2 * nz + 1); if (max > maxstencil) { memory->destroy(stencil); maxstencil = max; - memory->create(stencil,max,4,"fix/srd:stencil"); + memory->create(stencil, max, 4, "fix/srd:stencil"); } // loop over all bins @@ -3696,11 +3638,11 @@ void FixSRD::setup_search_stencil() for (int k = -nz; k <= nz; k++) for (int j = -ny; j <= ny; j++) for (int i = -nx; i <= nx; i++) - if (bin_bin_distance(i,j,k) < radsq) { + if (bin_bin_distance(i, j, k) < radsq) { stencil[nstencil][0] = i; stencil[nstencil][1] = j; stencil[nstencil][2] = k; - stencil[nstencil][3] = k*nbin2y*nbin2x + j*nbin2x + i; + stencil[nstencil][3] = k * nbin2y * nbin2x + j * nbin2x + i; nstencil++; } } @@ -3711,28 +3653,37 @@ void FixSRD::setup_search_stencil() double FixSRD::point_bin_distance(double *x, int i, int j, int k) { - double delx,dely,delz; + double delx, dely, delz; - double xlo = xblo2 + i*binsize2x; + double xlo = xblo2 + i * binsize2x; double xhi = xlo + binsize2x; - double ylo = yblo2 + j*binsize2y; + double ylo = yblo2 + j * binsize2y; double yhi = ylo + binsize2y; - double zlo = zblo2 + k*binsize2z; + double zlo = zblo2 + k * binsize2z; double zhi = zlo + binsize2z; - if (x[0] < xlo) delx = xlo - x[0]; - else if (x[0] > xhi) delx = x[0] - xhi; - else delx = 0.0; + if (x[0] < xlo) + delx = xlo - x[0]; + else if (x[0] > xhi) + delx = x[0] - xhi; + else + delx = 0.0; - if (x[1] < ylo) dely = ylo - x[1]; - else if (x[1] > yhi) dely = x[1] - yhi; - else dely = 0.0; + if (x[1] < ylo) + dely = ylo - x[1]; + else if (x[1] > yhi) + dely = x[1] - yhi; + else + dely = 0.0; - if (x[2] < zlo) delz = zlo - x[2]; - else if (x[2] > zhi) delz = x[2] - zhi; - else delz = 0.0; + if (x[2] < zlo) + delz = zlo - x[2]; + else if (x[2] > zhi) + delz = x[2] - zhi; + else + delz = 0.0; - return (delx*delx + dely*dely + delz*delz); + return (delx * delx + dely * dely + delz * delz); } /* ---------------------------------------------------------------------- @@ -3742,28 +3693,37 @@ double FixSRD::point_bin_distance(double *x, int i, int j, int k) double FixSRD::bin_bin_distance(int i, int j, int k) { - double delx,dely,delz; + double delx, dely, delz; - if (i > 0) delx = (i-1)*binsize2x; - else if (i == 0) delx = 0.0; - else delx = (i+1)*binsize2x; + if (i > 0) + delx = (i - 1) * binsize2x; + else if (i == 0) + delx = 0.0; + else + delx = (i + 1) * binsize2x; - if (j > 0) dely = (j-1)*binsize2y; - else if (j == 0) dely = 0.0; - else dely = (j+1)*binsize2y; + if (j > 0) + dely = (j - 1) * binsize2y; + else if (j == 0) + dely = 0.0; + else + dely = (j + 1) * binsize2y; - if (k > 0) delz = (k-1)*binsize2z; - else if (k == 0) delz = 0.0; - else delz = (k+1)*binsize2z; + if (k > 0) + delz = (k - 1) * binsize2z; + else if (k == 0) + delz = 0.0; + else + delz = (k + 1) * binsize2z; - return (delx*delx + dely*dely + delz*delz); + return (delx * delx + dely * dely + delz * delz); } /* ---------------------------------------------------------------------- */ int FixSRD::pack_reverse_comm(int n, int first, double *buf) { - int i,m,last; + int i, m, last; m = 0; last = first + n; @@ -3793,7 +3753,7 @@ int FixSRD::pack_reverse_comm(int n, int first, double *buf) void FixSRD::unpack_reverse_comm(int n, int *list, double *buf) { - int i,j,m; + int i, j, m; m = 0; @@ -3840,8 +3800,8 @@ double FixSRD::compute_vector(int n) stats[10] = bouncemax; stats[11] = reneighcount; - MPI_Allreduce(stats,stats_all,10,MPI_DOUBLE,MPI_SUM,world); - MPI_Allreduce(&stats[10],&stats_all[10],1,MPI_DOUBLE,MPI_MAX,world); + MPI_Allreduce(stats, stats_all, 10, MPI_DOUBLE, MPI_SUM, world); + MPI_Allreduce(&stats[10], &stats_all[10], 1, MPI_DOUBLE, MPI_MAX, world); if (stats_all[7] != 0.0) stats_all[8] /= stats_all[7]; stats_all[6] /= nprocs; @@ -3867,36 +3827,33 @@ void FixSRD::velocity_stats(int groupnum) for (int i = 0; i < nlocal; i++) if (mask[i] & bitmask) { - vone = sqrt(v[i][0]*v[i][0] + v[i][1]*v[i][1] + v[i][2]*v[i][2]); + vone = sqrt(v[i][0] * v[i][0] + v[i][1] * v[i][1] + v[i][2] * v[i][2]); vave += vone; if (vone > vmax) vmax = vone; } double all; - MPI_Allreduce(&vave,&all,1,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(&vave, &all, 1, MPI_DOUBLE, MPI_SUM, world); double count = group->count(groupnum); - if (count != 0.0) vave = all/count; - else vave = 0.0; + if (count != 0.0) + vave = all / count; + else + vave = 0.0; - MPI_Allreduce(&vmax,&all,1,MPI_DOUBLE,MPI_MAX,world); + MPI_Allreduce(&vmax, &all, 1, MPI_DOUBLE, MPI_MAX, world); vmax = all; - if (me == 0) { - if (screen) - fprintf(screen," ave/max %s velocity = %g %g\n", - group->names[groupnum],vave,vmax); - if (logfile) - fprintf(logfile," ave/max %s velocity = %g %g\n", - group->names[groupnum],vave,vmax); - } + if (me == 0) + utils::logmesg(lmp, " ave/max {} velocity = {:.8} {:.8}\n", group->names[groupnum], vave, + vmax); } /* ---------------------------------------------------------------------- */ double FixSRD::newton_raphson(double t1, double t2) { - double f1,df,tlo,thi; - lineside(t1,f1,df); + double f1, df, tlo, thi; + lineside(t1, f1, df); if (f1 < 0.0) { tlo = t1; thi = t2; @@ -3906,17 +3863,16 @@ double FixSRD::newton_raphson(double t1, double t2) } double f; - double t = 0.5*(t1+t2); - double dtold = fabs(t2-t1); + double t = 0.5 * (t1 + t2); + double dtold = fabs(t2 - t1); double dt = dtold; - lineside(t,f,df); + lineside(t, f, df); double temp; for (int i = 0; i < MAXITER; i++) { - if ((((t-thi)*df - f)*((t-tlo)*df - f) > 0.0) || - (fabs(2.0*f) > fabs(dtold*df))) { + if ((((t - thi) * df - f) * ((t - tlo) * df - f) > 0.0) || (fabs(2.0 * f) > fabs(dtold * df))) { dtold = dt; - dt = 0.5 * (thi-tlo); + dt = 0.5 * (thi - tlo); t = tlo + dt; if (tlo == t) return t; } else { @@ -3927,9 +3883,11 @@ double FixSRD::newton_raphson(double t1, double t2) if (temp == t) return t; } if (fabs(dt) < TOLERANCE) return t; - lineside(t,f,df); - if (f < 0.0) tlo = t; - else thi = t; + lineside(t, f, df); + if (f < 0.0) + tlo = t; + else + thi = t; } return t; @@ -3939,40 +3897,40 @@ double FixSRD::newton_raphson(double t1, double t2) void FixSRD::lineside(double t, double &f, double &df) { - double p[2],c[2]; + double p[2], c[2]; - p[0] = xs0[0] + (xs1[0]-xs0[0])*t; - p[1] = xs0[1] + (xs1[1]-xs0[1])*t; - c[0] = xb0[0] + (xb1[0]-xb0[0])*t; - c[1] = xb0[1] + (xb1[1]-xb0[1])*t; + p[0] = xs0[0] + (xs1[0] - xs0[0]) * t; + p[1] = xs0[1] + (xs1[1] - xs0[1]) * t; + c[0] = xb0[0] + (xb1[0] - xb0[0]) * t; + c[1] = xb0[1] + (xb1[1] - xb0[1]) * t; double dtheta = theta1 - theta0; - double theta = theta0 + dtheta*t; + double theta = theta0 + dtheta * t; double cosT = cos(theta); double sinT = sin(theta); - f = (p[1]-c[1]) * cosT - (p[0]-c[0]) * sinT; - df = ((xs1[1]-xs0[1]) - (xb1[1]-xb0[1]))*cosT - (p[1]-c[1])*sinT*dtheta - - ((xs1[0]-xs0[0]) - (xb1[0]-xb0[0]))*sinT - (p[0]-c[0])*cosT*dtheta; + f = (p[1] - c[1]) * cosT - (p[0] - c[0]) * sinT; + df = ((xs1[1] - xs0[1]) - (xb1[1] - xb0[1])) * cosT - (p[1] - c[1]) * sinT * dtheta - + ((xs1[0] - xs0[0]) - (xb1[0] - xb0[0])) * sinT - (p[0] - c[0]) * cosT * dtheta; } /* ---------------------------------------------------------------------- */ void FixSRD::triside(double t, double &f, double &df) { - double p[2],c[2]; + double p[2], c[2]; - p[0] = xs0[0] + (xs1[0]-xs0[0])*t; - p[1] = xs0[1] + (xs1[1]-xs0[1])*t; - c[0] = xb0[0] + (xb1[0]-xb0[0])*t; - c[1] = xb0[1] + (xb1[1]-xb0[1])*t; + p[0] = xs0[0] + (xs1[0] - xs0[0]) * t; + p[1] = xs0[1] + (xs1[1] - xs0[1]) * t; + c[0] = xb0[0] + (xb1[0] - xb0[0]) * t; + c[1] = xb0[1] + (xb1[1] - xb0[1]) * t; double dtheta = theta1 - theta0; - double theta = theta0 + dtheta*t; + double theta = theta0 + dtheta * t; double cosT = cos(theta); double sinT = sin(theta); - f = (p[1]-c[1]) * cosT - (p[0]-c[0]) * sinT; - df = ((xs1[1]-xs0[1]) - (xb1[1]-xb0[1]))*cosT - (p[1]-c[1])*sinT*dtheta - - ((xs1[0]-xs0[0]) - (xb1[0]-xb0[0]))*sinT - (p[0]-c[0])*cosT*dtheta; + f = (p[1] - c[1]) * cosT - (p[0] - c[0]) * sinT; + df = ((xs1[1] - xs0[1]) - (xb1[1] - xb0[1])) * cosT - (p[1] - c[1]) * sinT * dtheta - + ((xs1[0] - xs0[0]) - (xb1[0] - xb0[0])) * sinT - (p[0] - c[0]) * cosT * dtheta; } /* ---------------------------------------------------------------------- */ @@ -3980,13 +3938,13 @@ void FixSRD::triside(double t, double &f, double &df) double FixSRD::memory_usage() { double bytes = 0.0; - bytes += (double)(shifts[0].nbins + shifts[1].nbins) * sizeof(BinAve); - bytes += (double)nmax * sizeof(int); + bytes += (double) (shifts[0].nbins + shifts[1].nbins) * sizeof(BinAve); + bytes += (double) nmax * sizeof(int); if (bigexist) { - bytes += (double)nbins2 * sizeof(int); - bytes += (double)nbins2*ATOMPERBIN * sizeof(int); + bytes += (double) nbins2 * sizeof(int); + bytes += (double) nbins2 * ATOMPERBIN * sizeof(int); } - bytes += (double)nmax * sizeof(int); + bytes += (double) nmax * sizeof(int); return bytes; } @@ -3999,99 +3957,90 @@ double FixSRD::distance(int i, int j) double dx = atom->x[i][0] - atom->x[j][0]; double dy = atom->x[i][1] - atom->x[j][1]; double dz = atom->x[i][2] - atom->x[j][2]; - return sqrt(dx*dx + dy*dy + dz*dz); + return sqrt(dx * dx + dy * dy + dz * dz); } /* ---------------------------------------------------------------------- */ -void FixSRD::print_collision(int i, int j, int ibounce, - double t_remain, double dt, - double *xscoll, double *xbcoll, double *norm, - int type) +void FixSRD::print_collision(int i, int j, int ibounce, double t_remain, double dt, double *xscoll, + double *xbcoll, double *norm, int type) { - double xsstart[3],xbstart[3]; + double xsstart[3], xbstart[3]; double **x = atom->x; double **v = atom->v; if (type != WALL) { - printf("COLLISION between SRD " TAGINT_FORMAT - " and BIG " TAGINT_FORMAT "\n",atom->tag[i],atom->tag[j]); - printf(" bounce # = %d\n",ibounce+1); - printf(" local indices: %d %d\n",i,j); - printf(" timestep = %g\n",dt); - printf(" time remaining post-collision = %g\n",t_remain); + printf("COLLISION between SRD " TAGINT_FORMAT " and BIG " TAGINT_FORMAT "\n", atom->tag[i], + atom->tag[j]); + printf(" bounce # = %d\n", ibounce + 1); + printf(" local indices: %d %d\n", i, j); + printf(" timestep = %g\n", dt); + printf(" time remaining post-collision = %g\n", t_remain); - xsstart[0] = x[i][0] - dt*v[i][0]; - xsstart[1] = x[i][1] - dt*v[i][1]; - xsstart[2] = x[i][2] - dt*v[i][2]; - xbstart[0] = x[j][0] - dt*v[j][0]; - xbstart[1] = x[j][1] - dt*v[j][1]; - xbstart[2] = x[j][2] - dt*v[j][2]; + xsstart[0] = x[i][0] - dt * v[i][0]; + xsstart[1] = x[i][1] - dt * v[i][1]; + xsstart[2] = x[i][2] - dt * v[i][2]; + xbstart[0] = x[j][0] - dt * v[j][0]; + xbstart[1] = x[j][1] - dt * v[j][1]; + xbstart[2] = x[j][2] - dt * v[j][2]; - printf(" SRD start position = %g %g %g\n", - xsstart[0],xsstart[1],xsstart[2]); - printf(" BIG start position = %g %g %g\n", - xbstart[0],xbstart[1],xbstart[2]); - printf(" SRD coll position = %g %g %g\n", - xscoll[0],xscoll[1],xscoll[2]); - printf(" BIG coll position = %g %g %g\n", - xbcoll[0],xbcoll[1],xbcoll[2]); - printf(" SRD end position = %g %g %g\n",x[i][0],x[i][1],x[i][2]); - printf(" BIG end position = %g %g %g\n",x[j][0],x[j][1],x[j][2]); + printf(" SRD start position = %g %g %g\n", xsstart[0], xsstart[1], xsstart[2]); + printf(" BIG start position = %g %g %g\n", xbstart[0], xbstart[1], xbstart[2]); + printf(" SRD coll position = %g %g %g\n", xscoll[0], xscoll[1], xscoll[2]); + printf(" BIG coll position = %g %g %g\n", xbcoll[0], xbcoll[1], xbcoll[2]); + printf(" SRD end position = %g %g %g\n", x[i][0], x[i][1], x[i][2]); + printf(" BIG end position = %g %g %g\n", x[j][0], x[j][1], x[j][2]); - printf(" SRD vel = %g %g %g\n",v[i][0],v[i][1],v[i][2]); - printf(" BIG vel = %g %g %g\n",v[j][0],v[j][1],v[j][2]); - printf(" surf norm = %g %g %g\n",norm[0],norm[1],norm[2]); + printf(" SRD vel = %g %g %g\n", v[i][0], v[i][1], v[i][2]); + printf(" BIG vel = %g %g %g\n", v[j][0], v[j][1], v[j][2]); + printf(" surf norm = %g %g %g\n", norm[0], norm[1], norm[2]); - double rstart = sqrt((xsstart[0]-xbstart[0])*(xsstart[0]-xbstart[0]) + - (xsstart[1]-xbstart[1])*(xsstart[1]-xbstart[1]) + - (xsstart[2]-xbstart[2])*(xsstart[2]-xbstart[2])); - double rcoll = sqrt((xscoll[0]-xbcoll[0])*(xscoll[0]-xbcoll[0]) + - (xscoll[1]-xbcoll[1])*(xscoll[1]-xbcoll[1]) + - (xscoll[2]-xbcoll[2])*(xscoll[2]-xbcoll[2])); - double rend = sqrt((x[i][0]-x[j][0])*(x[i][0]-x[j][0]) + - (x[i][1]-x[j][1])*(x[i][1]-x[j][1]) + - (x[i][2]-x[j][2])*(x[i][2]-x[j][2])); + double rstart = sqrt((xsstart[0] - xbstart[0]) * (xsstart[0] - xbstart[0]) + + (xsstart[1] - xbstart[1]) * (xsstart[1] - xbstart[1]) + + (xsstart[2] - xbstart[2]) * (xsstart[2] - xbstart[2])); + double rcoll = sqrt((xscoll[0] - xbcoll[0]) * (xscoll[0] - xbcoll[0]) + + (xscoll[1] - xbcoll[1]) * (xscoll[1] - xbcoll[1]) + + (xscoll[2] - xbcoll[2]) * (xscoll[2] - xbcoll[2])); + double rend = + sqrt((x[i][0] - x[j][0]) * (x[i][0] - x[j][0]) + (x[i][1] - x[j][1]) * (x[i][1] - x[j][1]) + + (x[i][2] - x[j][2]) * (x[i][2] - x[j][2])); - printf(" separation at start = %g\n",rstart); - printf(" separation at coll = %g\n",rcoll); - printf(" separation at end = %g\n",rend); + printf(" separation at start = %g\n", rstart); + printf(" separation at coll = %g\n", rcoll); + printf(" separation at end = %g\n", rend); } else { int dim = wallwhich[j] / 2; - printf("COLLISION between SRD " TAGINT_FORMAT " and WALL %d\n", - atom->tag[i],j); - printf(" bounce # = %d\n",ibounce+1); - printf(" local indices: %d %d\n",i,j); - printf(" timestep = %g\n",dt); - printf(" time remaining post-collision = %g\n",t_remain); + printf("COLLISION between SRD " TAGINT_FORMAT " and WALL %d\n", atom->tag[i], j); + printf(" bounce # = %d\n", ibounce + 1); + printf(" local indices: %d %d\n", i, j); + printf(" timestep = %g\n", dt); + printf(" time remaining post-collision = %g\n", t_remain); - xsstart[0] = x[i][0] - dt*v[i][0]; - xsstart[1] = x[i][1] - dt*v[i][1]; - xsstart[2] = x[i][2] - dt*v[i][2]; + xsstart[0] = x[i][0] - dt * v[i][0]; + xsstart[1] = x[i][1] - dt * v[i][1]; + xsstart[2] = x[i][2] - dt * v[i][2]; xbstart[0] = xbstart[1] = xbstart[2] = 0.0; - xbstart[dim] = xwall[j] - dt*vwall[j]; + xbstart[dim] = xwall[j] - dt * vwall[j]; - printf(" SRD start position = %g %g %g\n", - xsstart[0],xsstart[1],xsstart[2]); - printf(" WALL start position = %g\n",xbstart[dim]); - printf(" SRD coll position = %g %g %g\n", - xscoll[0],xscoll[1],xscoll[2]); - printf(" WALL coll position = %g\n",xbcoll[dim]); - printf(" SRD end position = %g %g %g\n",x[i][0],x[i][1],x[i][2]); - printf(" WALL end position = %g\n",xwall[j]); + printf(" SRD start position = %g %g %g\n", xsstart[0], xsstart[1], xsstart[2]); + printf(" WALL start position = %g\n", xbstart[dim]); + printf(" SRD coll position = %g %g %g\n", xscoll[0], xscoll[1], xscoll[2]); + printf(" WALL coll position = %g\n", xbcoll[dim]); + printf(" SRD end position = %g %g %g\n", x[i][0], x[i][1], x[i][2]); + printf(" WALL end position = %g\n", xwall[j]); - printf(" SRD vel = %g %g %g\n",v[i][0],v[i][1],v[i][2]); - printf(" WALL vel = %g\n",vwall[j]); - printf(" surf norm = %g %g %g\n",norm[0],norm[1],norm[2]); + printf(" SRD vel = %g %g %g\n", v[i][0], v[i][1], v[i][2]); + printf(" WALL vel = %g\n", vwall[j]); + printf(" surf norm = %g %g %g\n", norm[0], norm[1], norm[2]); - double rstart = xsstart[dim]-xbstart[dim]; - double rcoll = xscoll[dim]-xbcoll[dim]; - double rend = x[dim][0]-xwall[j]; + double rstart = xsstart[dim] - xbstart[dim]; + double rcoll = xscoll[dim] - xbcoll[dim]; + double rend = x[dim][0] - xwall[j]; - printf(" separation at start = %g\n",rstart); - printf(" separation at coll = %g\n",rcoll); - printf(" separation at end = %g\n",rend); + printf(" separation at start = %g\n", rstart); + printf(" separation at coll = %g\n", rcoll); + printf(" separation at end = %g\n", rend); } } From 1225dda3ad35e74450d039365076a8383019d5f5 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 17 Jun 2021 10:57:15 -0400 Subject: [PATCH 243/726] update MathJax to version 3.2.0 --- doc/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/Makefile b/doc/Makefile index d5671b8895..d61f844a1b 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -230,7 +230,7 @@ $(VENV): ) $(MATHJAX): - @git clone -b 3.1.4 -c advice.detachedHead=0 --depth 1 git://github.com/mathjax/MathJax.git $@ + @git clone -b 3.2.0 -c advice.detachedHead=0 --depth 1 git://github.com/mathjax/MathJax.git $@ $(ANCHORCHECK): $(VENV) @( \ From af802d18d19a81b7e2dfcd9262907c5934932911 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 17 Jun 2021 13:33:33 -0400 Subject: [PATCH 244/726] update gcc preset to include gfortran --- cmake/presets/gcc.cmake | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/cmake/presets/gcc.cmake b/cmake/presets/gcc.cmake index 51003c75fb..6757e876af 100644 --- a/cmake/presets/gcc.cmake +++ b/cmake/presets/gcc.cmake @@ -2,10 +2,16 @@ set(CMAKE_CXX_COMPILER "g++" CACHE STRING "" FORCE) set(CMAKE_C_COMPILER "gcc" CACHE STRING "" FORCE) -set(CMAKE_CXX_FLAGS_DEBUG "-Wall -Wextra -g" CACHE STRING "" FORCE) -set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-Wall -Wextra -g -O2 -DNDEBUG" CACHE STRING "" FORCE) +set(CMAKE_Fortran_COMPILER "gfortran" CACHE STRING "" FORCE) +set(CMAKE_CXX_FLAGS_DEBUG "-Wall -Wextra -Wno-maybe-uninitialized -g" CACHE STRING "" FORCE) +set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-Wall -Wextra -Wno-maybe-uninitialized -g -O2 -DNDEBUG" CACHE STRING "" FORCE) +set(CMAKE_CXX_FLAGS_RELEASE "-Wall -O3 -DNDEBUG" CACHE STRING "" FORCE) set(MPI_CXX "g++" CACHE STRING "" FORCE) set(MPI_CXX_COMPILER "mpicxx" CACHE STRING "" FORCE) +set(MPI_C "gcc" CACHE STRING "" FORCE) +set(MPI_C_COMPILER "mpicc" CACHE STRING "" FORCE) +set(MPI_Fortran "gfortran" CACHE STRING "" FORCE) +set(MPI_Fortran_COMPILER "mpifort" CACHE STRING "" FORCE) unset(HAVE_OMP_H_INCLUDE CACHE) set(OpenMP_C "gcc" CACHE STRING "" FORCE) From 396b426cd1dfd85fb4eccdd1f768cb11b7d0c9db Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 17 Jun 2021 16:30:49 -0400 Subject: [PATCH 245/726] reformat --- src/SRD/fix_wall_srd.cpp | 120 +++++++++++++++++++++------------------ 1 file changed, 64 insertions(+), 56 deletions(-) diff --git a/src/SRD/fix_wall_srd.cpp b/src/SRD/fix_wall_srd.cpp index 89b49f3b95..d284aaa0ad 100644 --- a/src/SRD/fix_wall_srd.cpp +++ b/src/SRD/fix_wall_srd.cpp @@ -29,15 +29,15 @@ using namespace LAMMPS_NS; using namespace FixConst; -enum{XLO,XHI,YLO,YHI,ZLO,ZHI}; -enum{NONE,EDGE,CONSTANT,VARIABLE}; +enum { XLO, XHI, YLO, YHI, ZLO, ZHI }; +enum { NONE, EDGE, CONSTANT, VARIABLE }; /* ---------------------------------------------------------------------- */ FixWallSRD::FixWallSRD(LAMMPS *lmp, int narg, char **arg) : - Fix(lmp, narg, arg), nwall(0), fwall(nullptr), fwall_all(nullptr) + Fix(lmp, narg, arg), nwall(0), fwall(nullptr), fwall_all(nullptr) { - if (narg < 4) error->all(FLERR,"Illegal fix wall/srd command"); + if (narg < 4) error->all(FLERR, "Illegal fix wall/srd command"); // parse args @@ -46,66 +46,72 @@ FixWallSRD::FixWallSRD(LAMMPS *lmp, int narg, char **arg) : int iarg = 3; while (iarg < narg) { - if ((strcmp(arg[iarg],"xlo") == 0) || (strcmp(arg[iarg],"xhi") == 0) || - (strcmp(arg[iarg],"ylo") == 0) || (strcmp(arg[iarg],"yhi") == 0) || - (strcmp(arg[iarg],"zlo") == 0) || (strcmp(arg[iarg],"zhi") == 0)) { - if (iarg+2 > narg) error->all(FLERR,"Illegal fix wall/srd command"); + const std::string thisarg(arg[iarg]); + if ((thisarg == "xlo") || (thisarg == "ylo") || (thisarg == "zlo") + || (thisarg == "xhi") || (thisarg == "yhi") || (thisarg == "zhi")) { + if (iarg+2 > narg) error->all(FLERR, "Illegal fix wall/srd command"); int newwall; - if (strcmp(arg[iarg],"xlo") == 0) newwall = XLO; - else if (strcmp(arg[iarg],"xhi") == 0) newwall = XHI; - else if (strcmp(arg[iarg],"ylo") == 0) newwall = YLO; - else if (strcmp(arg[iarg],"yhi") == 0) newwall = YHI; - else if (strcmp(arg[iarg],"zlo") == 0) newwall = ZLO; - else if (strcmp(arg[iarg],"zhi") == 0) newwall = ZHI; + if (thisarg == "xlo") newwall = XLO; + else if (thisarg == "xhi") newwall = XHI; + else if (thisarg == "ylo") newwall = YLO; + else if (thisarg == "yhi") newwall = YHI; + else if (thisarg == "zlo") newwall = ZLO; + else if (thisarg == "zhi") newwall = ZHI; for (int m = 0; (m < nwall) && (m < 6); m++) if (newwall == wallwhich[m]) - error->all(FLERR,"Wall defined twice in fix wall/srd command"); + error->all(FLERR, "Wall defined twice in fix wall/srd command"); wallwhich[nwall] = newwall; - if (strcmp(arg[iarg+1],"EDGE") == 0) { + if (strcmp(arg[iarg+1], "EDGE") == 0) { wallstyle[nwall] = EDGE; int dim = wallwhich[nwall] / 2; int side = wallwhich[nwall] % 2; - if (side == 0) coord0[nwall] = domain->boxlo[dim]; - else coord0[nwall] = domain->boxhi[dim]; - } else if (utils::strmatch(arg[iarg+1],"^v_")) { + if (side == 0) + coord0[nwall] = domain->boxlo[dim]; + else + coord0[nwall] = domain->boxhi[dim]; + } else if (utils::strmatch(arg[iarg+1], "^v_")) { wallstyle[nwall] = VARIABLE; - varstr[nwall] = utils::strdup(arg[iarg+1]+2); + varstr[nwall] = utils::strdup(arg[iarg+1] + 2); } else { wallstyle[nwall] = CONSTANT; - coord0[nwall] = utils::numeric(FLERR,arg[iarg+1],false,lmp); + coord0[nwall] = utils::numeric(FLERR, arg[iarg+1], false, lmp); } nwall++; iarg += 2; - } else if (strcmp(arg[iarg],"units") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal wall/srd command"); - if (strcmp(arg[iarg+1],"box") == 0) scaleflag = 0; - else if (strcmp(arg[iarg+1],"lattice") == 0) scaleflag = 1; - else error->all(FLERR,"Illegal fix wall/srd command"); + } else if (thisarg == "units") { + if (iarg+2 > narg) error->all(FLERR, "Illegal wall/srd command"); + if (strcmp(arg[iarg+1], "box") == 0) + scaleflag = 0; + else if (strcmp(arg[iarg+1], "lattice") == 0) + scaleflag = 1; + else + error->all(FLERR, "Illegal fix wall/srd command"); iarg += 2; - } else error->all(FLERR,"Illegal fix wall/srd command"); + } else + error->all(FLERR, "Illegal fix wall/srd command"); } // error check - if (nwall == 0) error->all(FLERR,"Illegal fix wall command"); + if (nwall == 0) error->all(FLERR, "Illegal fix wall command"); for (int m = 0; m < nwall; m++) { if ((wallwhich[m] == XLO || wallwhich[m] == XHI) && domain->xperiodic) - error->all(FLERR,"Cannot use fix wall/srd in periodic dimension"); + error->all(FLERR, "Cannot use fix wall/srd in periodic dimension"); if ((wallwhich[m] == YLO || wallwhich[m] == YHI) && domain->yperiodic) - error->all(FLERR,"Cannot use fix wall/srd in periodic dimension"); + error->all(FLERR, "Cannot use fix wall/srd in periodic dimension"); if ((wallwhich[m] == ZLO || wallwhich[m] == ZHI) && domain->zperiodic) - error->all(FLERR,"Cannot use fix wall/srd in periodic dimension"); + error->all(FLERR, "Cannot use fix wall/srd in periodic dimension"); } for (int m = 0; m < nwall; m++) if ((wallwhich[m] == ZLO || wallwhich[m] == ZHI) && domain->dimension == 2) - error->all(FLERR,"Cannot use fix wall/srd zlo/zhi for a 2d simulation"); + error->all(FLERR, "Cannot use fix wall/srd zlo/zhi for a 2d simulation"); // setup wall force array @@ -115,8 +121,8 @@ FixWallSRD::FixWallSRD(LAMMPS *lmp, int narg, char **arg) : global_freq = 1; extarray = 1; - memory->create(fwall,nwall,3,"wall/srd:fwall"); - memory->create(fwall_all,nwall,3,"wall/srd:fwall_all"); + memory->create(fwall, nwall, 3, "wall/srd:fwall"); + memory->create(fwall_all, nwall, 3, "wall/srd:fwall_all"); // scale coord for CONSTANT walls @@ -125,19 +131,22 @@ FixWallSRD::FixWallSRD(LAMMPS *lmp, int narg, char **arg) : if (wallstyle[m] == CONSTANT) flag = 1; if (flag) { - double xscale,yscale,zscale; + double xscale, yscale, zscale; if (scaleflag) { xscale = domain->lattice->xlattice; yscale = domain->lattice->ylattice; zscale = domain->lattice->zlattice; - } - else xscale = yscale = zscale = 1.0; + } else + xscale = yscale = zscale = 1.0; double scale; for (int m = 0; m < nwall; m++) { - if (wallwhich[m] < YLO) scale = xscale; - else if (wallwhich[m] < ZLO) scale = yscale; - else scale = zscale; + if (wallwhich[m] < YLO) + scale = xscale; + else if (wallwhich[m] < ZLO) + scale = yscale; + else + scale = zscale; if (wallstyle[m] == CONSTANT) coord0[m] *= scale; } } @@ -146,10 +155,11 @@ FixWallSRD::FixWallSRD(LAMMPS *lmp, int narg, char **arg) : int dimflag[3]; dimflag[0] = dimflag[1] = dimflag[2] = 0; - for (int m = 0; m < nwall; m++) - dimflag[wallwhich[m]/2] = 1; - if (dimflag[0] + dimflag[1] + dimflag[2] > 1) overlap = 1; - else overlap = 0; + for (int m = 0; m < nwall; m++) dimflag[wallwhich[m] / 2] = 1; + if (dimflag[0] + dimflag[1] + dimflag[2] > 1) + overlap = 1; + else + overlap = 0; // set varflag if any wall positions are variable @@ -164,7 +174,7 @@ FixWallSRD::FixWallSRD(LAMMPS *lmp, int narg, char **arg) : FixWallSRD::~FixWallSRD() { for (int m = 0; m < nwall; m++) - if (wallstyle[m] == VARIABLE) delete [] varstr[m]; + if (wallstyle[m] == VARIABLE) delete[] varstr[m]; memory->destroy(fwall); memory->destroy(fwall_all); } @@ -183,16 +193,15 @@ void FixWallSRD::init() { int flag = 0; for (int m = 0; m < modify->nfix; m++) - if (strcmp(modify->fix[m]->style,"srd") == 0) flag = 1; - if (!flag) error->all(FLERR,"Cannot use fix wall/srd without fix srd"); + if (utils::strmatch(modify->fix[m]->style, "^srd")) flag = 1; + if (!flag) error->all(FLERR, "Cannot use fix wall/srd without fix srd"); for (int m = 0; m < nwall; m++) { if (wallstyle[m] != VARIABLE) continue; varindex[m] = input->variable->find(varstr[m]); - if (varindex[m] < 0) - error->all(FLERR,"Variable name for fix wall/srd does not exist"); + if (varindex[m] < 0) error->all(FLERR, "Variable name for fix wall/srd does not exist"); if (!input->variable->equalstyle(varindex[m])) - error->all(FLERR,"Variable for fix wall/srd is invalid style"); + error->all(FLERR, "Variable for fix wall/srd is invalid style"); } dt = update->dt; @@ -206,9 +215,8 @@ double FixWallSRD::compute_array(int i, int j) { // only sum across procs one time - if (force_flag == 0) { - MPI_Allreduce(&fwall[0][0],&fwall_all[0][0],3*nwall, - MPI_DOUBLE,MPI_SUM,world); + if (!force_flag) { + MPI_Allreduce(&fwall[0][0], &fwall_all[0][0], 3 * nwall, MPI_DOUBLE, MPI_SUM, world); force_flag = 1; } return fwall_all[i][j]; @@ -231,7 +239,8 @@ void FixWallSRD::wall_params(int flag) for (int m = 0; m < nwall; m++) { if (wallstyle[m] == VARIABLE) xnew = input->variable->compute_equal(varindex[m]); - else xnew = coord0[m]; + else + xnew = coord0[m]; if (laststep < 0) { xwall[m] = xwalllast[m] = xnew; @@ -250,8 +259,7 @@ void FixWallSRD::wall_params(int flag) if (varflag) modify->addstep_compute(update->ntimestep + 1); if (flag) - for (int m = 0; m < nwall; m++) - xwallhold[m] = xwall[m]; + for (int m = 0; m < nwall; m++) xwallhold[m] = xwall[m]; force_flag = 0; } From 2a1527600540ecac2ce77a5284d6d0643cb20e45 Mon Sep 17 00:00:00 2001 From: Joe Weaver Date: Fri, 18 Jun 2021 11:17:37 +0100 Subject: [PATCH 246/726] Fix omitted word typo Very minor edit. Not sure if a fork and PR is the way you'd prefer edits or if I should've just filed an issue/sent an email. --- doc/src/Developer_write.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/Developer_write.rst b/doc/src/Developer_write.rst index 5e0f9d12bb..37ac9ca126 100644 --- a/doc/src/Developer_write.rst +++ b/doc/src/Developer_write.rst @@ -59,7 +59,7 @@ of each timestep. First of all, implement a constructor: } In the constructor you should parse your fix arguments which are -specified in the script. All fixes have pretty the same syntax: +specified in the script. All fixes have pretty much the same syntax: ``fix ``. The first 3 parameters are parsed by Fix base class constructor, while ```` should be parsed by you. In our case, we need to From 94ff9d1796c2108d074eb94f69cf1fc104bb14a5 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 18 Jun 2021 23:39:09 -0400 Subject: [PATCH 247/726] add missing word --- doc/src/fix_srd.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/fix_srd.rst b/doc/src/fix_srd.rst index f3a10df321..4ff260f575 100644 --- a/doc/src/fix_srd.rst +++ b/doc/src/fix_srd.rst @@ -238,7 +238,7 @@ warning is generated. .. note:: - The fix srd command can be used with simulations the size and/or + The fix srd command can be used with simulations where the size and/or shape of the simulation box changes. This can be due to non-periodic boundary conditions or the use of fixes such as the :doc:`fix deform ` or :doc:`fix wall/srd ` commands to impose a shear on an SRD fluid or an interaction with an external From b3c3714e7d0af7c10dd63fd4d7aa0622ddcd97cf Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 18 Jun 2021 23:39:42 -0400 Subject: [PATCH 248/726] pair style bop is not compatible with hybrid styles and multi-cutoff --- doc/src/pair_bop.rst | 7 ++++++- src/MANYBODY/pair_bop.cpp | 9 +++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/doc/src/pair_bop.rst b/doc/src/pair_bop.rst index 0508bf16ef..e525ee6051 100644 --- a/doc/src/pair_bop.rst +++ b/doc/src/pair_bop.rst @@ -385,7 +385,12 @@ enabled if LAMMPS was built with that package. See the :doc:`Build package ` setting to be "on" for pair interactions. -The CdTe.bop and GaAs.bop potential files provided with LAMMPS (see the +Pair style bop is not compatible with being used as a substyle with +doc:`hybrid pair styles `. Pair style bop is also not +compatible with :doc:`multi-cutoff neighbor lists ` or +:doc:`multi-cutoff communitcation `. + +The .bop.table potential files provided with LAMMPS (see the potentials directory) are parameterized for metal :doc:`units `. You can use the BOP potential with any LAMMPS units, but you would need to create your own BOP potential file with coefficients listed in the diff --git a/src/MANYBODY/pair_bop.cpp b/src/MANYBODY/pair_bop.cpp index 9041d25b53..0dbcb1de15 100644 --- a/src/MANYBODY/pair_bop.cpp +++ b/src/MANYBODY/pair_bop.cpp @@ -406,6 +406,15 @@ void PairBOP::init_style() if (force->newton_pair == 0) error->all(FLERR,"Pair style BOP requires newton pair on"); + if (utils::strmatch(force->pair_style,"^hybrid")) + error->all(FLERR,"Pair style BOP is not compatible with hybrid pair styles"); + + if ((neighbor->style == Neighbor::MULTI) || (neighbor->style == Neighbor::MULTI_OLD)) + error->all(FLERR,"Pair style BOP is not compatible with multi-cutoff neighbor lists"); + + if (comm->mode != Comm::SINGLE) + error->all(FLERR,"Pair style BOP is not compatible with multi-cutoff communication"); + // check that user sets comm->cutghostuser to 3x the max BOP cutoff if (comm->cutghostuser-0.001 < 3.0*cutmax) From 15033d59e6fabf2963c420e83c7f25ed28216125 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 19 Jun 2021 20:37:29 -0400 Subject: [PATCH 249/726] reorder package details paragraphs, fix broken reference to plumed --- doc/src/Packages_details.rst | 140 +++++++++++++++++------------------ 1 file changed, 69 insertions(+), 71 deletions(-) diff --git a/doc/src/Packages_details.rst b/doc/src/Packages_details.rst index e7fc88b73a..478bc2c282 100644 --- a/doc/src/Packages_details.rst +++ b/doc/src/Packages_details.rst @@ -1379,77 +1379,6 @@ This package has :ref:`specific installation instructions ` on the ---------- -.. _PKG-USER-PACE: - -USER-PACE package -------------------- - -**Contents:** - -A pair style for the Atomic Cluster Expansion potential (ACE). -ACE is a methodology for deriving a highly accurate classical potential -fit to a large archive of quantum mechanical (DFT) data. The USER-PACE -package provides an efficient implementation for running simulations -with ACE potentials. - -**Authors:** - -This package was written by Yury Lysogorskiy^1, -Cas van der Oord^2, Anton Bochkarev^1, -Sarath Menon^1, Matteo Rinaldi^1, Thomas Hammerschmidt^1, Matous Mrovec^1, -Aidan Thompson^3, Gabor Csanyi^2, Christoph Ortner^4, Ralf Drautz^1. - - ^1: Ruhr-University Bochum, Bochum, Germany - - ^2: University of Cambridge, Cambridge, United Kingdom - - ^3: Sandia National Laboratories, Albuquerque, New Mexico, USA - - ^4: University of British Columbia, Vancouver, BC, Canada - -**Install:** - -This package has :ref:`specific installation instructions ` on the :doc:`Build extras ` page. - -**Supporting info:** - -* src/USER-PACE: filenames -> commands -* :doc:`pair_style pace ` -* examples/USER/pace - ----------- - -.. _PKG-USER-PLUMED: - -USER-PLUMED package -------------------- - -**Contents:** - -The fix plumed command allows you to use the PLUMED free energy plugin -for molecular dynamics to analyze and bias your LAMMPS trajectory on -the fly. The PLUMED library is called from within the LAMMPS input -script by using the :doc:`fix plumed ` command. - -**Authors:** The :ref:`PLUMED library ` is written and maintained by -Massimilliano Bonomi, Giovanni Bussi, Carlo Camiloni and Gareth -Tribello. - -.. _PLUMED: https://www.plumed.org - -**Install:** - -This package has :ref:`specific installation instructions ` on the :doc:`Build extras ` page. - -**Supporting info:** - -* src/USER-PLUMED/README -* lib/plumed/README -* :doc:`fix plumed ` -* examples/USER/plumed - ----------- - .. _PKG-USER-DIELECTRIC: USER-DIELECTRIC package @@ -2145,6 +2074,46 @@ This package has :ref:`specific installation instructions ` on the :do ---------- +.. _PKG-USER-PACE: + +USER-PACE package +------------------- + +**Contents:** + +A pair style for the Atomic Cluster Expansion potential (ACE). +ACE is a methodology for deriving a highly accurate classical potential +fit to a large archive of quantum mechanical (DFT) data. The USER-PACE +package provides an efficient implementation for running simulations +with ACE potentials. + +**Authors:** + +This package was written by Yury Lysogorskiy^1, +Cas van der Oord^2, Anton Bochkarev^1, +Sarath Menon^1, Matteo Rinaldi^1, Thomas Hammerschmidt^1, Matous Mrovec^1, +Aidan Thompson^3, Gabor Csanyi^2, Christoph Ortner^4, Ralf Drautz^1. + + ^1: Ruhr-University Bochum, Bochum, Germany + + ^2: University of Cambridge, Cambridge, United Kingdom + + ^3: Sandia National Laboratories, Albuquerque, New Mexico, USA + + ^4: University of British Columbia, Vancouver, BC, Canada + +**Install:** + +This package has :ref:`specific installation instructions ` on the :doc:`Build extras ` page. + +**Supporting info:** + +* src/USER-PACE: filenames -> commands +* :doc:`pair_style pace ` +* examples/USER/pace + +---------- + .. _PKG-USER-PHONON: USER-PHONON package @@ -2173,6 +2142,35 @@ and Charlie Sievers (UC Davis) for "dynamical_matrix" and "third_order" ---------- +.. _PKG-USER-PLUMED: + +USER-PLUMED package +------------------- + +**Contents:** + +The fix plumed command allows you to use the PLUMED free energy plugin +for molecular dynamics to analyze and bias your LAMMPS trajectory on +the fly. The PLUMED library is called from within the LAMMPS input +script by using the :doc:`fix plumed ` command. + +**Authors:** The `PLUMED library `_ is written +and maintained by Massimilliano Bonomi, Giovanni Bussi, Carlo Camiloni, +and Gareth Tribello. + +**Install:** + +This package has :ref:`specific installation instructions ` on the :doc:`Build extras ` page. + +**Supporting info:** + +* src/USER-PLUMED/README +* lib/plumed/README +* :doc:`fix plumed ` +* examples/USER/plumed + +---------- + .. _PKG-USER-PTM: USER-PTM package From e8f1a7a1823d9264f56c6213ad24b0f0187ac3a4 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 19 Jun 2021 21:30:22 -0400 Subject: [PATCH 250/726] silence compiler warnings --- src/MC/fix_charge_regulation.cpp | 6 +++--- src/MC/fix_charge_regulation.h | 1 - 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/src/MC/fix_charge_regulation.cpp b/src/MC/fix_charge_regulation.cpp index e69e0ec332..2d04af50b8 100644 --- a/src/MC/fix_charge_regulation.cpp +++ b/src/MC/fix_charge_regulation.cpp @@ -64,9 +64,9 @@ enum{CONSTANT,EQUAL}; // parsing input variables FixChargeRegulation::FixChargeRegulation(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg), - ngroups(0), groupstrings(nullptr), ptype_ID(nullptr), - random_equal(nullptr), random_unequal(nullptr), - idftemp(nullptr), pHstr(nullptr) + ngroups(0), groupstrings(nullptr), ptype_ID(nullptr), pHstr(nullptr), + c_pe(nullptr), random_equal(nullptr), random_unequal(nullptr), + idftemp(nullptr) { // Region restrictions not yet implemented .. diff --git a/src/MC/fix_charge_regulation.h b/src/MC/fix_charge_regulation.h index 9b8fa9e9ed..2b50c7be5b 100644 --- a/src/MC/fix_charge_regulation.h +++ b/src/MC/fix_charge_regulation.h @@ -100,7 +100,6 @@ class FixChargeRegulation : public Fix { int pHvar, pHstyle; // variable pH style char *pHstr; // variable pH input parsing - class Pair *pair; class Compute *c_pe; // energy compute pointer class RanPark *random_equal; // random number generator class RanPark *random_unequal; // random number generator From 0ce9d147a435f8fcc20e78c02e5930e7aa542690 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 20 Jun 2021 15:50:07 -0400 Subject: [PATCH 251/726] fix typo --- doc/src/pair_bop.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/pair_bop.rst b/doc/src/pair_bop.rst index e525ee6051..af82c0b5c1 100644 --- a/doc/src/pair_bop.rst +++ b/doc/src/pair_bop.rst @@ -387,7 +387,7 @@ These pair potentials require the :doc:`newtion ` setting to be Pair style bop is not compatible with being used as a substyle with doc:`hybrid pair styles `. Pair style bop is also not -compatible with :doc:`multi-cutoff neighbor lists ` or +compatible with :doc:`multi-cutoff neighbor lists ` or :doc:`multi-cutoff communitcation `. The .bop.table potential files provided with LAMMPS (see the From 651772e6fa41822c0a852a92d931cef8519b801a Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 20 Jun 2021 15:51:38 -0400 Subject: [PATCH 252/726] spelling --- doc/src/pair_bop.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/pair_bop.rst b/doc/src/pair_bop.rst index af82c0b5c1..f566d41e2c 100644 --- a/doc/src/pair_bop.rst +++ b/doc/src/pair_bop.rst @@ -385,7 +385,7 @@ enabled if LAMMPS was built with that package. See the :doc:`Build package ` setting to be "on" for pair interactions. -Pair style bop is not compatible with being used as a substyle with +Pair style bop is not compatible with being used as a sub-style with doc:`hybrid pair styles `. Pair style bop is also not compatible with :doc:`multi-cutoff neighbor lists ` or :doc:`multi-cutoff communitcation `. From a4c8650d2a603177b2be76b2a0779ea3f797e84c Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 20 Jun 2021 21:29:08 -0400 Subject: [PATCH 253/726] plug memory leaks in USER-PACE --- src/USER-PACE/pair_pace.cpp | 8 ++++---- .../force-styles/tests/manybody-pair-pace_product.yaml | 1 - .../force-styles/tests/manybody-pair-pace_recursive.yaml | 1 - 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/src/USER-PACE/pair_pace.cpp b/src/USER-PACE/pair_pace.cpp index 952fd07a1a..fba622546e 100644 --- a/src/USER-PACE/pair_pace.cpp +++ b/src/USER-PACE/pair_pace.cpp @@ -50,6 +50,8 @@ Copyright 2021 Yury Lysogorskiy^1, Cas van der Oord^2, Anton Bochkarev^1, namespace LAMMPS_NS { struct ACEImpl { + ACEImpl() : basis_set(nullptr), ace(nullptr){} + ~ACEImpl() {delete basis_set; delete ace;} ACECTildeBasisSet *basis_set; ACERecursiveEvaluator *ace; }; @@ -93,8 +95,6 @@ PairPACE::PairPACE(LAMMPS *lmp) : Pair(lmp) { manybody_flag = 1; aceimpl = new ACEImpl; - aceimpl->ace = nullptr; - aceimpl->basis_set = nullptr; recursive = false; scale = nullptr; @@ -107,8 +107,6 @@ PairPACE::PairPACE(LAMMPS *lmp) : Pair(lmp) { PairPACE::~PairPACE() { if (copymode) return; - delete aceimpl->basis_set; - delete aceimpl->ace; delete aceimpl; if (allocated) { @@ -297,6 +295,7 @@ void PairPACE::coeff(int narg, char **arg) { char **elemtypes = &arg[3]; //load potential file + delete aceimpl->basis_set; aceimpl->basis_set = new ACECTildeBasisSet(); if (comm->me == 0) utils::logmesg(lmp,"Loading {}\n", potential_file_name); @@ -316,6 +315,7 @@ void PairPACE::coeff(int narg, char **arg) { // map[i] = which element the Ith atom type is, -1 if not mapped // map[0] is not used + delete aceimpl->ace; aceimpl->ace = new ACERecursiveEvaluator(); aceimpl->ace->set_recursive(recursive); aceimpl->ace->element_type_mapping.init(atom->ntypes + 1); diff --git a/unittest/force-styles/tests/manybody-pair-pace_product.yaml b/unittest/force-styles/tests/manybody-pair-pace_product.yaml index 21c37c49be..0911e1d81d 100644 --- a/unittest/force-styles/tests/manybody-pair-pace_product.yaml +++ b/unittest/force-styles/tests/manybody-pair-pace_product.yaml @@ -2,7 +2,6 @@ lammps_version: 10 Mar 2021 date_generated: Wed Apr 7 19:29:52 2021 epsilon: 5e-13 -skip_tests: prerequisites: ! | pair pace pre_commands: ! | diff --git a/unittest/force-styles/tests/manybody-pair-pace_recursive.yaml b/unittest/force-styles/tests/manybody-pair-pace_recursive.yaml index 43b52a5391..eef7509606 100644 --- a/unittest/force-styles/tests/manybody-pair-pace_recursive.yaml +++ b/unittest/force-styles/tests/manybody-pair-pace_recursive.yaml @@ -2,7 +2,6 @@ lammps_version: 10 Mar 2021 date_generated: Wed Apr 7 19:30:07 2021 epsilon: 5e-13 -skip_tests: prerequisites: ! | pair pace pre_commands: ! | From 3a079c666c963eaeeb46f1fd2d66fb8f996eced9 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 20 Jun 2021 22:06:58 -0400 Subject: [PATCH 254/726] fix bug when reading masses --- src/USER-RANN/pair_rann.cpp | 10 ++++------ src/USER-RANN/pair_rann.h | 2 +- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/src/USER-RANN/pair_rann.cpp b/src/USER-RANN/pair_rann.cpp index 4cf3b063d9..59ad688cb5 100644 --- a/src/USER-RANN/pair_rann.cpp +++ b/src/USER-RANN/pair_rann.cpp @@ -94,9 +94,7 @@ PairRANN::PairRANN(LAMMPS *lmp) : Pair(lmp) //at least one of the following will change during fingerprint definition: doscreen = false; allscreen = true; - dospin = false; - } PairRANN::~PairRANN() @@ -327,7 +325,7 @@ void PairRANN::read_file(char *filename) linev = values.as_vector(); line1v = values1.as_vector(); if (linev[0]=="atomtypes") read_atom_types(line1v,filename,linenum); - else if (linev[0]=="mass") read_mass(line1v,filename,linenum); + else if (linev[0]=="mass") read_mass(linev,line1v,filename,linenum); else if (linev[0]=="fingerprintsperelement") read_fpe(linev,line1v,filename,linenum); else if (linev[0]=="fingerprints") read_fingerprints(linev,line1v,filename,linenum); else if (linev[0]=="fingerprintconstants") read_fingerprint_constants(linev,line1v,filename,linenum); @@ -368,11 +366,11 @@ void PairRANN::read_atom_types(std::vector line,char *filename,int allocate(line); } -void PairRANN::read_mass(const std::vector &line,char *filename,int linenum) { +void PairRANN::read_mass(const std::vector &line1, const std::vector &line2, const char *filename,int linenum) { if (nelements == -1)error->one(filename,linenum-1,"atom types must be defined before mass in potential file."); for (int i=0;i &);//called after reading element list, but before reading the rest of the potential void read_file(char *);//read potential file void read_atom_types(std::vector,char*,int); - void read_mass(const std::vector &,char*,int); void read_fpe(std::vector,std::vector,char*,int);//fingerprints per element. Count total fingerprints defined for each 1st element in element combinations void read_fingerprints(std::vector,std::vector,char*,int); void read_fingerprint_constants(std::vector,std::vector,char*,int); @@ -148,6 +147,7 @@ namespace LAMMPS_NS { void read_bias(std::vector,std::vector,FILE*,char*,int*);//biases should be formatted as properly shaped vectors void read_activation_functions(std::vector,std::vector,char*,int); void read_screening(std::vector,std::vector,char*,int); + void read_mass(const std::vector &, const std::vector &,const char*,int); bool check_potential();//after finishing reading potential file void propagateforward(double *,double **,double **,int,int);//called by compute to get force and energy void propagateforwardspin(double *,double **,double **,double**,int,int);//called by compute to get force and energy From 2624e3fd8fabc67849ad5f4a241ab7f7ff3861df Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 20 Jun 2021 22:14:06 -0400 Subject: [PATCH 255/726] add unit test for pair style rann --- .../tests/manybody-pair-rann.yaml | 155 ++++++++++++++++++ 1 file changed, 155 insertions(+) create mode 100644 unittest/force-styles/tests/manybody-pair-rann.yaml diff --git a/unittest/force-styles/tests/manybody-pair-rann.yaml b/unittest/force-styles/tests/manybody-pair-rann.yaml new file mode 100644 index 0000000000..a5fb526c83 --- /dev/null +++ b/unittest/force-styles/tests/manybody-pair-rann.yaml @@ -0,0 +1,155 @@ +--- +lammps_version: 27 May 2021 +date_generated: Sun Jun 20 22:01:27 2021 +epsilon: 1e-13 +prerequisites: ! | + pair rann +pre_commands: ! | + variable newton_pair delete + if "$(is_active(package,gpu)) > 0.0" then "variable newton_pair index off" else "variable newton_pair index on" +post_commands: ! "" +input_file: in.manybody +pair_style: rann +pair_coeff: ! | + * * MgAl.rann Mg Mg Mg Mg Al Al Al Al +extract: ! "" +natoms: 64 +init_vdwl: -57815.47656880905 +init_coul: 0 +init_stress: ! |- + -7.0881835559558635e+02 -7.5315237753816689e+02 -7.1147226644808211e+02 -1.3837445587045201e+01 7.9866517038827411e+01 8.9378772876550237e+00 +init_forces: ! |2 + 1 -7.4901380133397755e-01 2.4409131350224844e+00 4.8218534947250857e+00 + 2 -2.0200584865196518e+00 6.2757003536552265e+00 7.9442692183241492e-01 + 3 -2.6192305563092275e+00 2.0489379188740782e+00 5.7697271810056288e+00 + 4 5.6665574652410884e+00 4.3897126181543697e+00 5.6100858543779637e+00 + 5 -1.1867627628727830e+00 -3.1228315521040440e-02 -3.3734503290228970e+00 + 6 -2.0270013432531488e+00 -5.7127760411979827e+00 -4.4788831486937886e+00 + 7 -4.2767311519141629e+00 -4.9368325682108871e+00 -7.6719577144065960e+00 + 8 -1.5922928150680993e+00 -3.9849443656002128e+00 -3.0693025113931172e+00 + 9 -3.5868117593821305e+00 6.9982010079031092e+00 4.5172335314706027e+00 + 10 -1.4681327049710537e+00 6.4907541657699488e+00 3.1559147347080176e+00 + 11 5.1856126961870563e+00 3.1934338668203277e+00 -5.8550235414381566e+00 + 12 -3.4544136410382178e+00 1.9855833755665284e+00 4.0150596772834296e-01 + 13 -9.3020872426433754e-01 4.6487869726464419e+00 -5.5561702597530926e-01 + 14 -5.5913224030406639e+00 -5.7274332820139717e+00 -1.8489700288723560e-01 + 15 -3.8096729061401700e+00 -1.2494070136035496e+00 -1.0462673021699619e+01 + 16 -4.0786121982686012e+00 -3.5009421046561808e+00 -4.3935447784397921e+00 + 17 3.9887871790214673e+00 1.6699654488252085e+00 2.4056230442293072e+00 + 18 7.5347316819999524e+00 5.0599083489367267e+00 1.2907173908719314e+00 + 19 3.6586280699103964e+00 5.8695597131274537e+00 -3.2146357596960158e+00 + 20 -2.3915119964784446e+00 5.2812911732787935e+00 -2.1332457303864660e+00 + 21 -2.3719015592736952e+00 -4.7171489860774960e+00 -5.4697766278545394e+00 + 22 -9.0352649815284458e+00 -4.0970679569250308e+00 -8.7847380321799253e+00 + 23 -7.0966016077898342e+00 -6.8250315709906531e+00 4.6712201964115794e+00 + 24 -3.2719941219250175e+00 2.2494321061558806e+00 2.3604391122857451e+00 + 25 1.8885528004917322e+00 1.8534620374579198e+00 -4.1811628520124122e+00 + 26 -1.8753731967959300e+00 2.7890837640018438e+00 -5.2580242081048345e+00 + 27 2.4567892624890142e+00 -2.5413585635779756e+00 2.6189178808327291e+00 + 28 3.4097634912103675e-01 -2.7290481595875136e+00 4.1838334870794354e+00 + 29 -2.2484513728021032e+00 -2.9438426817114700e+00 2.7071194027086567e+00 + 30 -4.0777103482585009e+00 -2.7191624924651823e+00 -1.9345504753413059e-01 + 31 -1.7808510449871775e+00 -6.4251745050694851e+00 -4.3190581891076896e+00 + 32 -2.6664815537986062e+00 -1.0552021662921729e+00 1.1314994806213061e+00 + 33 -1.5802643680966040e+00 5.4761856949759053e+00 6.2859288234554773e+00 + 34 -8.2193936421583702e-01 5.1017666521741778e-01 5.9032732741527596e+00 + 35 3.8621409495860359e-01 -2.1424622527427459e+00 4.1225810401921734e+00 + 36 5.2449394672055911e+00 8.0467321428826644e+00 1.2636271053352735e-01 + 37 -3.9098285843369336e+00 2.2503493079137116e-01 -4.9433754379102703e+00 + 38 4.5270883300779552e-01 -3.2220777012164464e-01 -3.1402877562190250e+00 + 39 -2.5949774694831040e+00 -1.0508497849444749e+01 -9.8888534680051610e+00 + 40 2.2752671256398522e+00 -7.1800789040908199e+00 -1.0822709900350147e+00 + 41 5.2390364787270984e+00 5.9671287290172597e+00 1.9373039589713348e+00 + 42 4.8895921943034187e-01 -4.3362708852962917e-01 2.0596823180700450e+00 + 43 6.6403067843575707e+00 -2.3787055640987438e+00 -1.6674264914997350e+00 + 44 6.8891062092559947e+00 4.1604804952891223e+00 1.4097581894752648e-01 + 45 -1.4710774931475539e+00 8.7499053398105686e-01 -4.6473582340806150e+00 + 46 -6.5167666066991377e+00 -5.8281831949085667e+00 1.9500022361595886e+00 + 47 -1.5858204440594650e+00 -1.0815913158341344e+00 4.5989635586562159e+00 + 48 1.4081550484791068e+00 -2.7883342629170635e+00 3.1133914828687566e+00 + 49 7.6239996157504537e+00 5.2573787606781031e-01 -1.3852172291931648e+00 + 50 5.1403993671087571e+00 -1.2081410686096494e+00 5.8425670172164645e+00 + 51 3.0786036233250154e+00 5.4742849882218163e+00 2.3808136337052916e+00 + 52 1.9468625075084007e+00 3.6860088757449931e+00 7.4726792525657464e+00 + 53 -3.2557096429395416e+00 6.4592000333927069e-01 3.1923837267892989e+00 + 54 -1.9535530370025738e+00 -2.0849425160609769e-01 -3.8272771003125916e+00 + 55 2.3620895987237374e+00 -5.0412457560995607e+00 -2.6319763612613933e-01 + 56 -2.2439565820765646e+00 -3.1143523038702652e+00 -2.7369392754749122e+00 + 57 9.0534338627879460e+00 1.9869144759358415e-01 1.4892652191560762e+00 + 58 7.4458183702635932e+00 6.4006896652883754e+00 1.4846001514185641e+00 + 59 4.2468314745600493e+00 4.8837352398485461e+00 7.4715386002889366e+00 + 60 6.8145035959979170e+00 -5.8708244007659429e+00 -3.9984594947452625e+00 + 61 -3.6751424804326249e+00 -2.1613654300940027e-01 -2.5015985538349400e-01 + 62 -2.0531903073449467e+00 -6.7684999199741624e-01 3.9064147631972221e+00 + 63 -2.6766653252971455e+00 -1.6324871335589470e+00 -3.2422798772605317e+00 + 64 1.0874279615965592e+00 -4.9170286874942537e-01 4.7537030998447420e+00 +run_vdwl: -57815.66014297714 +run_coul: 0 +run_stress: ! |- + -7.0869116726109485e+02 -7.5373913997143541e+02 -7.1068988893447613e+02 -1.4139831336883510e+01 8.0395589365061340e+01 9.6811648076162733e+00 +run_forces: ! |2 + 1 -7.5984244876523555e-01 2.4301600680318360e+00 4.8331612882135122e+00 + 2 -2.0451664662046598e+00 6.2410758901940158e+00 7.1708616182228080e-01 + 3 -2.6187876162470634e+00 2.0077612728059795e+00 5.7578341707040437e+00 + 4 5.6744803512230124e+00 4.3383760899562924e+00 5.6505252840753304e+00 + 5 -1.1995447416192662e+00 -7.0379004941474310e-02 -3.3613861073685181e+00 + 6 -2.0155601694378227e+00 -5.6962124777369114e+00 -4.4314981715465427e+00 + 7 -4.2920147691685262e+00 -4.8986655903130139e+00 -7.6787039382589173e+00 + 8 -1.6555908103603338e+00 -3.9993574019627842e+00 -3.1326542097113816e+00 + 9 -3.5114916872382440e+00 6.9743199231700252e+00 4.3807023111280925e+00 + 10 -1.4703149115694250e+00 6.5222134722770662e+00 3.1554763635564553e+00 + 11 5.0666213393436346e+00 3.2036884135229515e+00 -5.9720859376294078e+00 + 12 -3.4472269104570370e+00 2.0240276792836065e+00 3.8158246908773852e-01 + 13 -8.8219486752440557e-01 4.6539816511845959e+00 -5.4825242937461760e-01 + 14 -5.6077883868786049e+00 -5.7950287028390361e+00 -1.9506990170767563e-01 + 15 -3.7593953521621177e+00 -1.1348308303668373e+00 -1.0372452352139002e+01 + 16 -4.0907809417150878e+00 -3.5261825273585612e+00 -4.3738270849700074e+00 + 17 4.0042743312261049e+00 1.6782357738979159e+00 2.4374828156045782e+00 + 18 7.5091428011154218e+00 5.0842653422033957e+00 1.2960577758747363e+00 + 19 3.6593020783746919e+00 5.8802800375725992e+00 -3.2399958130755966e+00 + 20 -2.3338803829011985e+00 5.2750215312829880e+00 -2.1762018354629458e+00 + 21 -2.3770706836409321e+00 -4.7424207020538773e+00 -5.4795603541549012e+00 + 22 -9.0626304317157000e+00 -4.1053066906612381e+00 -8.7551457851983372e+00 + 23 -7.1176550021474245e+00 -6.8259244729850845e+00 4.6661230158049332e+00 + 24 -3.2752886889856341e+00 2.2241610428697935e+00 2.4262496545447712e+00 + 25 1.8871470660130780e+00 1.8475853677293788e+00 -4.1872857053050447e+00 + 26 -1.8371035001993494e+00 2.8008176367321327e+00 -5.3718517970787705e+00 + 27 2.4585135211135429e+00 -2.5491767243432082e+00 2.6080090532256439e+00 + 28 2.5620676036777296e-01 -2.7508658786328000e+00 4.1246184056872170e+00 + 29 -2.2352166633178294e+00 -2.9471742393352494e+00 2.7272822733783251e+00 + 30 -4.0830099358527532e+00 -2.7705162910139078e+00 -1.7452304485410103e-01 + 31 -1.7940513190554737e+00 -6.4512285885104674e+00 -4.3248612386826073e+00 + 32 -2.6248814306775730e+00 -1.0732579370751187e+00 1.1537637964247436e+00 + 33 -1.5809011491952372e+00 5.5959444950593369e+00 6.2699189434247939e+00 + 34 -7.5073731668034593e-01 4.7838700543326812e-01 5.9409217645478227e+00 + 35 3.6806082435379689e-01 -2.1392355084177073e+00 4.1125949203118877e+00 + 36 5.2555014413002086e+00 8.0623324577763125e+00 7.8450567180226111e-02 + 37 -3.8954285136872948e+00 1.8006508476654814e-01 -4.9553651920537547e+00 + 38 4.6739479317331889e-01 -3.2075191048405005e-01 -3.1263315842689776e+00 + 39 -2.5990193531942873e+00 -1.0503480074327525e+01 -9.9206908725289082e+00 + 40 2.2776909511688475e+00 -7.2272013974908491e+00 -1.0949973748806390e+00 + 41 5.2634967617826174e+00 5.9975342318388591e+00 1.9592850236319266e+00 + 42 4.1298475608017693e-01 -4.5012073626136351e-01 2.0388341524487363e+00 + 43 6.4851307417292938e+00 -2.4270555491114538e+00 -1.5510957010147048e+00 + 44 6.7050334739732609e+00 4.2351877958776400e+00 1.3662019064395065e-01 + 45 -1.4520326429862733e+00 8.8985932891199415e-01 -4.5847673817866754e+00 + 46 -6.5176703110169285e+00 -5.7896832826571902e+00 2.0164529662772797e+00 + 47 -1.5772238196381039e+00 -1.0643604580676200e+00 4.5919250471265505e+00 + 48 1.6434086748500107e+00 -2.9201829252289837e+00 3.0148396125202415e+00 + 49 7.6061197407749468e+00 4.0809827752794736e-01 -1.3682856885803798e+00 + 50 5.1496500604289324e+00 -1.2124243302524695e+00 5.8454004468517820e+00 + 51 3.0403813603950081e+00 5.4788649523580206e+00 2.3965201753036598e+00 + 52 2.0127111486379641e+00 3.6941609641936224e+00 7.4656457772777411e+00 + 53 -3.2280776448407265e+00 6.9251793179098997e-01 3.2838057514847323e+00 + 54 -1.9584928177337622e+00 -1.6108117691383494e-01 -3.8187403528965875e+00 + 55 2.3503121593887024e+00 -5.0521581687904717e+00 -2.3923854352489915e-01 + 56 -2.2250720983494894e+00 -3.1008291966318917e+00 -2.7229268457805018e+00 + 57 9.0396180854274135e+00 2.7127251166882260e-01 1.4264209876569987e+00 + 58 7.4836299850264547e+00 6.4714924907455389e+00 1.5005002620448258e+00 + 59 4.3262621327394761e+00 4.8954005782156989e+00 7.5198596786697163e+00 + 60 6.8608190839233263e+00 -5.9039360019985487e+00 -4.0344985080705280e+00 + 61 -3.6750318002056401e+00 -3.0620675120902491e-01 -2.0530575941000628e-01 + 62 -2.0745679381819597e+00 -6.4184372240446996e-01 3.9382267737875467e+00 + 63 -2.6791813177560067e+00 -1.6545271282630980e+00 -3.2611184683579104e+00 + 64 1.0460304173767785e+00 -3.2548292023914627e-01 4.8065400993499985e+00 +... From 72221238d6bc3fe4e3c123eeba31eedc43880199 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 21 Jun 2021 09:43:19 -0400 Subject: [PATCH 256/726] correct indentation --- doc/src/Commands_parse.rst | 2 +- doc/src/Manual.rst | 1 + doc/src/Speed_kokkos.rst | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/doc/src/Commands_parse.rst b/doc/src/Commands_parse.rst index 64d5100715..563b18a4c2 100644 --- a/doc/src/Commands_parse.rst +++ b/doc/src/Commands_parse.rst @@ -164,7 +164,7 @@ LAMMPS: allowed, but that should be sufficient for most use cases. .. admonition:: ASCII versus UTF-8 - :class: note + :class: note LAMMPS expects and processes 7-bit ASCII format text internally. Many modern environments use UTF-8 encoding, which is a superset diff --git a/doc/src/Manual.rst b/doc/src/Manual.rst index 61b5af0eff..2bbf2d95be 100644 --- a/doc/src/Manual.rst +++ b/doc/src/Manual.rst @@ -124,6 +124,7 @@ Indices and tables .. _webbrowser: .. admonition:: Web Browser Compatibility + :class: note The HTML version of the manual makes use of advanced features present in "modern" web browsers. This can lead to incompatibilities with older diff --git a/doc/src/Speed_kokkos.rst b/doc/src/Speed_kokkos.rst index 5548307de5..c3f8945c62 100644 --- a/doc/src/Speed_kokkos.rst +++ b/doc/src/Speed_kokkos.rst @@ -27,7 +27,7 @@ GPUs) and HIP (for AMD GPUs). You choose the mode at build time to produce an executable compatible with a specific hardware. .. admonition:: C++14 support - :class: note + :class: note Kokkos requires using a compiler that supports the c++14 standard. For some compilers, it may be necessary to add a flag to enable c++14 support. From 55dc5216a07264171fd5d32d2641ca58b314d56c Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 21 Jun 2021 16:36:24 -0400 Subject: [PATCH 257/726] Revert "update googletest" googletest compilation breaks on CentOS7 with native compilers thus we are going back to version 1.10 (for now). This reverts commit c6d950d35eba3a05f939f9accd396f0719b4a009. --- cmake/Modules/GTest.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cmake/Modules/GTest.cmake b/cmake/Modules/GTest.cmake index c66ccffa98..211b506d2f 100644 --- a/cmake/Modules/GTest.cmake +++ b/cmake/Modules/GTest.cmake @@ -7,8 +7,8 @@ else() endif() include(ExternalProject) -set(GTEST_URL "https://github.com/google/googletest/archive/release-1.11.0.tar.gz" CACHE STRING "URL for GTest tarball") -set(GTEST_MD5 "e8a8df240b6938bb6384155d4c37d937" CACHE STRING "MD5 checksum of GTest tarball") +set(GTEST_URL "https://github.com/google/googletest/archive/release-1.10.0.tar.gz" CACHE STRING "URL for GTest tarball") +set(GTEST_MD5 "ecd1fa65e7de707cd5c00bdac56022cd" CACHE STRING "MD5 checksum of GTest tarball") mark_as_advanced(GTEST_URL) mark_as_advanced(GTEST_MD5) ExternalProject_Add(googletest From 28fa06b298679d8450719a89c34df436e1e6c94d Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 21 Jun 2021 16:57:05 -0400 Subject: [PATCH 258/726] turn off extra warnings with gcc.cmake preset and introduce a pedantic preset the pedantic preset turns warnings about variable length arrays to errors --- cmake/presets/gcc.cmake | 12 +++++++++--- cmake/presets/pedantic.cmake | 26 ++++++++++++++++++++++++++ 2 files changed, 35 insertions(+), 3 deletions(-) create mode 100644 cmake/presets/pedantic.cmake diff --git a/cmake/presets/gcc.cmake b/cmake/presets/gcc.cmake index 6757e876af..7942b2a4ce 100644 --- a/cmake/presets/gcc.cmake +++ b/cmake/presets/gcc.cmake @@ -3,15 +3,21 @@ set(CMAKE_CXX_COMPILER "g++" CACHE STRING "" FORCE) set(CMAKE_C_COMPILER "gcc" CACHE STRING "" FORCE) set(CMAKE_Fortran_COMPILER "gfortran" CACHE STRING "" FORCE) -set(CMAKE_CXX_FLAGS_DEBUG "-Wall -Wextra -Wno-maybe-uninitialized -g" CACHE STRING "" FORCE) -set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-Wall -Wextra -Wno-maybe-uninitialized -g -O2 -DNDEBUG" CACHE STRING "" FORCE) -set(CMAKE_CXX_FLAGS_RELEASE "-Wall -O3 -DNDEBUG" CACHE STRING "" FORCE) +set(CMAKE_CXX_FLAGS_DEBUG "-Wall -g" CACHE STRING "" FORCE) +set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-g -O2 -DNDEBUG" CACHE STRING "" FORCE) +set(CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG" CACHE STRING "" FORCE) set(MPI_CXX "g++" CACHE STRING "" FORCE) set(MPI_CXX_COMPILER "mpicxx" CACHE STRING "" FORCE) set(MPI_C "gcc" CACHE STRING "" FORCE) set(MPI_C_COMPILER "mpicc" CACHE STRING "" FORCE) +set(CMAKE_C_FLAGS_DEBUG "-Wall -g" CACHE STRING "" FORCE) +set(CMAKE_C_FLAGS_RELWITHDEBINFO "-g -O2 -DNDEBUG" CACHE STRING "" FORCE) +set(CMAKE_C_FLAGS_RELEASE "-O3 -DNDEBUG" CACHE STRING "" FORCE) set(MPI_Fortran "gfortran" CACHE STRING "" FORCE) set(MPI_Fortran_COMPILER "mpifort" CACHE STRING "" FORCE) +set(CMAKE_Fortran_FLAGS_DEBUG "-Wall -g" CACHE STRING "" FORCE) +set(CMAKE_Fortran_FLAGS_RELWITHDEBINFO "-g -O2 -DNDEBUG" CACHE STRING "" FORCE) +set(CMAKE_Fortran_FLAGS_RELEASE "-O3 -DNDEBUG" CACHE STRING "" FORCE) unset(HAVE_OMP_H_INCLUDE CACHE) set(OpenMP_C "gcc" CACHE STRING "" FORCE) diff --git a/cmake/presets/pedantic.cmake b/cmake/presets/pedantic.cmake new file mode 100644 index 0000000000..11c74dbaa4 --- /dev/null +++ b/cmake/presets/pedantic.cmake @@ -0,0 +1,26 @@ +# preset that will restore gcc/g++ with support for MPI and OpenMP (on Linux boxes) + +set(CMAKE_CXX_COMPILER "g++" CACHE STRING "" FORCE) +set(CMAKE_C_COMPILER "gcc" CACHE STRING "" FORCE) +set(CMAKE_Fortran_COMPILER "gfortran" CACHE STRING "" FORCE) +set(CMAKE_CXX_FLAGS_DEBUG "-Wall -Wextra -Werror=vla -Wno-maybe-uninitialized -g" CACHE STRING "" FORCE) +set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-Wall -Wextra -Werror=vla -Wno-maybe-uninitialized -g -O2 -DNDEBUG" CACHE STRING "" FORCE) +set(CMAKE_CXX_FLAGS_RELEASE "-Wall -O3 -DNDEBUG" CACHE STRING "" FORCE) +set(MPI_CXX "g++" CACHE STRING "" FORCE) +set(MPI_CXX_COMPILER "mpicxx" CACHE STRING "" FORCE) +set(MPI_C "gcc" CACHE STRING "" FORCE) +set(MPI_C_COMPILER "mpicc" CACHE STRING "" FORCE) +set(CMAKE_C_FLAGS_DEBUG "-Wall -Wextra -Wno-maybe-uninitialized -g" CACHE STRING "" FORCE) +set(CMAKE_C_FLAGS_RELWITHDEBINFO "-Wall -Wextra -Wno-maybe-uninitialized -g -O2 -DNDEBUG" CACHE STRING "" FORCE) +set(CMAKE_C_FLAGS_RELEASE "-Wall -O3 -DNDEBUG" CACHE STRING "" FORCE) +set(MPI_Fortran "gfortran" CACHE STRING "" FORCE) +set(MPI_Fortran_COMPILER "mpifort" CACHE STRING "" FORCE) +unset(HAVE_OMP_H_INCLUDE CACHE) + +set(OpenMP_C "gcc" CACHE STRING "" FORCE) +set(OpenMP_C_FLAGS "-fopenmp" CACHE STRING "" FORCE) +set(OpenMP_C_LIB_NAMES "gomp" CACHE STRING "" FORCE) +set(OpenMP_CXX "g++" CACHE STRING "" FORCE) +set(OpenMP_CXX_FLAGS "-fopenmp" CACHE STRING "" FORCE) +set(OpenMP_CXX_LIB_NAMES "gomp" CACHE STRING "" FORCE) +set(OpenMP_omp_LIBRARY "libgomp.so" CACHE PATH "" FORCE) From ae863644024607e03fed2a3271822dc7244d8e36 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 21 Jun 2021 16:57:53 -0400 Subject: [PATCH 259/726] replace non-standard variable-length arrays with normal allocations --- src/MLIAP/mliap_so3.cpp | 25 ++++++++++++------------- src/MLIAP/mliap_so3_math.h | 28 +++++++++++++--------------- 2 files changed, 25 insertions(+), 28 deletions(-) diff --git a/src/MLIAP/mliap_so3.cpp b/src/MLIAP/mliap_so3.cpp index 5e868c8d5e..050408c0c9 100644 --- a/src/MLIAP/mliap_so3.cpp +++ b/src/MLIAP/mliap_so3.cpp @@ -374,23 +374,20 @@ void MLIAP_SO3::compute_W(int nmax, double *arr) double *sqrtD = new double[n * n]; double *tempM = new double[n * n]; - double **temparr; - double tempout[n]; - double **tempvl; + double **temparr = new double*[n]; + double **tempvl = new double*[n]; + double *tempout = new double[n]; int info; info = invert_matrix(n, arr, arrinv); if (info != 0) error->all(FLERR, "Invert matrix Error in W calculation!"); - temparr = new double *[n]; - for (int iy = 0; iy < n; iy++) temparr[iy] = new double[n]; - - tempvl = new double *[n]; - for (int iy = 0; iy < n; iy++) tempvl[iy] = new double[n]; - - for (i = 0; i < n; i++) + for (i = 0; i < n; i++) { + temparr[i] = new double[n]; + tempvl[i] = new double[n]; for (j = 0; j < n; j++) temparr[i][j] = arrinv[i * n + j]; + } jacobin(n, temparr, tempout, tempvl); @@ -431,11 +428,13 @@ void MLIAP_SO3::compute_W(int nmax, double *arr) delete[] sqrtD; delete[] tempM; - for (int iy = 0; iy < n; iy++) delete[] temparr[iy]; + for (i = 0; i < n; i++) { + delete[] temparr[i]; + delete[] tempvl[i]; + } delete[] temparr; - - for (int iy = 0; iy < n; iy++) delete[] tempvl[iy]; delete[] tempvl; + delete[] tempout; } /* ---------------------------------------------------------------------- */ diff --git a/src/MLIAP/mliap_so3_math.h b/src/MLIAP/mliap_so3_math.h index be16b04294..eaaa94d0a0 100644 --- a/src/MLIAP/mliap_so3_math.h +++ b/src/MLIAP/mliap_so3_math.h @@ -24,28 +24,26 @@ using namespace MathEigen; typedef Jacobi Jacobi_v2; int SO3Math::jacobin(int n, double const *const *mat, double *eval, double **evec) { - int i, j; - double **mat_cpy; + int *midx = new int[n]; + double **M = new double*[n]; + double **mat_cpy = new double*[n]; - mat_cpy = new double *[n]; - for (int iy = 0; iy < n; iy++) mat_cpy[iy] = new double[n]; - - for (i = 0; i < n; i++) - for (j = 0; j < n; j++) mat_cpy[i][j] = mat[i][j]; - - double *M[n]; - for (i = 0; i < n; i++) M[i] = &(mat_cpy[i][0]); - - int midx[n]; + for (int i = 0; i < n; i++) { + mat_cpy[i] = new double[n]; + for (int j = 0; j < n; j++) mat_cpy[i][j] = mat[i][j]; + M[i] = &(mat_cpy[i][0]); + } Jacobi_v2 ecalcn(n, M, midx); int ierror = ecalcn.Diagonalize(mat, eval, evec, Jacobi_v2::SORT_DECREASING_EVALS); - for (int i = 0; i < n; i++) + for (int i = 0; i < n; i++) { for (int j = i + 1; j < n; j++) std::swap(evec[i][j], evec[j][i]); - - for (int iy = 0; iy < n; iy++) delete[] mat_cpy[iy]; + delete[] mat_cpy[i]; + } delete[] mat_cpy; + delete[] M; + delete[] midx; return ierror; } From 95f713bd38e5e8746e3b76a11400ff233666dcda Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 21 Jun 2021 17:25:29 -0400 Subject: [PATCH 260/726] skip testing the fortran module if CMake cannot identify the fortran compiler this avoids compilation failure with the new llvm based flang (aka f18) --- unittest/fortran/CMakeLists.txt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/unittest/fortran/CMakeLists.txt b/unittest/fortran/CMakeLists.txt index 9bd6c8f419..fc116c3c40 100644 --- a/unittest/fortran/CMakeLists.txt +++ b/unittest/fortran/CMakeLists.txt @@ -6,6 +6,11 @@ endif() include(CheckLanguage) check_language(Fortran) +if(NOT CMAKE_Fortran_COMPILER_ID) + message(STATUS "Skipping Tests for the LAMMPS Fortran Module: cannot identify Fortran compiler") + return() +endif() + if(CMAKE_Fortran_COMPILER) enable_language(C) enable_language(Fortran) From 60e1c2be6de1f7316dcd80b894799932ec1d8f7e Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 22 Jun 2021 11:56:46 -0400 Subject: [PATCH 261/726] fix formatting and spelling --- doc/src/pair_mliap.rst | 4 ++-- doc/utils/sphinx-config/false_positives.txt | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/doc/src/pair_mliap.rst b/doc/src/pair_mliap.rst index aa6d24465a..73ebe48856 100644 --- a/doc/src/pair_mliap.rst +++ b/doc/src/pair_mliap.rst @@ -133,7 +133,7 @@ Currently two descriptor styles are available: *sna* and *so3*. *.mliap.descriptor* extension. - *so3* indicated the power spectrum component descriptors. A single additional -argument specifies the descriptor filename containing the parameters and setting. + argument specifies the descriptor filename containing the parameters and setting. The SNAP descriptor file closely follows the format of the :doc:`pair_style snap ` parameter file. The file can contain @@ -154,7 +154,7 @@ the elements are listed must be consistent for all three keywords. The SO3 descriptor file is similar to the SNAP descriptor except that it contains a few more arguments (e.g., *nmax* and *alpha*). The preparation of SO3 descriptor and model files can be done with the -`*Pyxtal_FF*`_ package. +`Pyxtal_FF `_ package. See the :doc:`pair_coeff ` doc page for alternate ways to specify the path for these *model* and *descriptor* files. diff --git a/doc/utils/sphinx-config/false_positives.txt b/doc/utils/sphinx-config/false_positives.txt index 403f3f4377..5d9b3eb8c1 100644 --- a/doc/utils/sphinx-config/false_positives.txt +++ b/doc/utils/sphinx-config/false_positives.txt @@ -1856,6 +1856,7 @@ Matous matplotlib Matsubara Matteo +Matteson Mattice Mattox Mattson @@ -3620,6 +3621,7 @@ xz xzhou yaff yaml +Yanxon YAFF Yamada Yaser @@ -3692,6 +3694,7 @@ PowerShell filesystems fingerprintconstants fingerprintsperelement +Zagaceta zincblende Zstandard Zstd From 31011252e330569e4a6f8327b2e2c8ea908d6a1e Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 22 Jun 2021 11:57:08 -0400 Subject: [PATCH 262/726] reformat, mention compute dipole --- doc/src/compute_dipole_chunk.rst | 61 ++++++++++++++++++-------------- 1 file changed, 34 insertions(+), 27 deletions(-) diff --git a/doc/src/compute_dipole_chunk.rst b/doc/src/compute_dipole_chunk.rst index d1bc5de4c9..4207d3d180 100644 --- a/doc/src/compute_dipole_chunk.rst +++ b/doc/src/compute_dipole_chunk.rst @@ -29,37 +29,41 @@ Description Define a computation that calculates the dipole vector and total dipole for multiple chunks of atoms. -In LAMMPS, chunks are collections of atoms defined by a :doc:`compute chunk/atom ` command, which assigns each atom -to a single chunk (or no chunk). The ID for this command is specified -as chunkID. For example, a single chunk could be the atoms in a -molecule or atoms in a spatial bin. See the :doc:`compute chunk/atom ` and :doc:`Howto chunk ` -doc pages for details of how chunks can be defined and examples of how -they can be used to measure properties of a system. +In LAMMPS, chunks are collections of atoms defined by a :doc:`compute +chunk/atom ` command, which assigns each atom to a +single chunk (or no chunk). The ID for this command is specified as +chunkID. For example, a single chunk could be the atoms in a molecule +or atoms in a spatial bin. See the :doc:`compute chunk/atom +` and :doc:`Howto chunk ` doc pages for +details of how chunks can be defined and examples of how they can be +used to measure properties of a system. -This compute calculates the x,y,z coordinates of the dipole vector -and the total dipole moment for each chunk, which includes all effects -due to atoms passing through periodic boundaries. For chunks with a net +This compute calculates the x,y,z coordinates of the dipole vector and +the total dipole moment for each chunk, which includes all effects due +to atoms passing through periodic boundaries. For chunks with a net charge the resulting dipole is made position independent by subtracting the position vector of the center of mass or geometric center times the -net charge from the computed dipole vector. +net charge from the computed dipole vector. Both per-atom charges and +per-atom dipole moments, if present, contribute to the computed dipole. Note that only atoms in the specified group contribute to the calculation. The :doc:`compute chunk/atom ` command -defines its own group; atoms will have a chunk ID = 0 if they are not -in that group, signifying they are not assigned to a chunk, and will -thus also not contribute to this calculation. You can specify the -"all" group for this command if you simply want to include atoms with -non-zero chunk IDs. +defines its own group; atoms will have a chunk ID = 0 if they are not in +that group, signifying they are not assigned to a chunk, and will thus +also not contribute to this calculation. You can specify the "all" +group for this command if you simply want to include atoms with non-zero +chunk IDs. .. note:: - The coordinates of an atom contribute to the chunk's - dipole in "unwrapped" form, by using the image flags - associated with each atom. See the :doc:`dump custom ` command - for a discussion of "unwrapped" coordinates. See the Atoms section of - the :doc:`read_data ` command for a discussion of image flags + The coordinates of an atom contribute to the chunk's dipole in + "unwrapped" form, by using the image flags associated with each atom. + See the :doc:`dump custom ` command for a discussion of + "unwrapped" coordinates. See the Atoms section of the + :doc:`read_data ` command for a discussion of image flags and how they are set for each atom. You can reset the image flags - (e.g. to 0) before invoking this compute by using the :doc:`set image ` command. + (e.g. to 0) before invoking this compute by using the :doc:`set image + ` command. The simplest way to output the results of the compute com/chunk calculation to a file is to use the :doc:`fix ave/time ` @@ -75,11 +79,12 @@ Output info """"""""""" This compute calculates a global array where the number of rows = the -number of chunks *Nchunk* as calculated by the specified :doc:`compute chunk/atom ` command. The number of columns = -4 for the x,y,z dipole vector components and the total dipole of each +number of chunks *Nchunk* as calculated by the specified :doc:`compute +chunk/atom ` command. The number of columns = 4 for +the x,y,z dipole vector components and the total dipole of each chunk. These values can be accessed by any command that uses global -array values from a compute as input. See the :doc:`Howto output ` doc page for an overview of LAMMPS output -options. +array values from a compute as input. See the :doc:`Howto output +` doc page for an overview of LAMMPS output options. The array values are "intensive". The array values will be in dipole units, i.e. charge units times distance :doc:`units `. @@ -91,9 +96,11 @@ Restrictions Related commands """""""""""""""" -:doc:`compute com/chunk ` +:doc:`compute com/chunk `, +:doc:`compute dipole ` Default """"""" -none +Using the center of mass is the default setting for the net charge correction. + From f4de4902e222c0953f501b18a89534cafaa9851e Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 22 Jun 2021 11:57:29 -0400 Subject: [PATCH 263/726] new compute dipole command --- doc/src/Commands_compute.rst | 1 + doc/src/compute.rst | 1 + doc/src/compute_dipole.rst | 72 +++++++++++++++++ src/compute_dipole.cpp | 152 +++++++++++++++++++++++++++++++++++ src/compute_dipole.h | 52 ++++++++++++ 5 files changed, 278 insertions(+) create mode 100644 doc/src/compute_dipole.rst create mode 100644 src/compute_dipole.cpp create mode 100644 src/compute_dipole.h diff --git a/doc/src/Commands_compute.rst b/doc/src/Commands_compute.rst index b24bd8f52a..72cc305bb3 100644 --- a/doc/src/Commands_compute.rst +++ b/doc/src/Commands_compute.rst @@ -47,6 +47,7 @@ KOKKOS, o = USER-OMP, t = OPT. * :doc:`dihedral ` * :doc:`dihedral/local ` * :doc:`dilatation/atom ` + * :doc:`dipole ` * :doc:`dipole/chunk ` * :doc:`displace/atom ` * :doc:`dpd ` diff --git a/doc/src/compute.rst b/doc/src/compute.rst index 098f376fdb..afe54a69be 100644 --- a/doc/src/compute.rst +++ b/doc/src/compute.rst @@ -193,6 +193,7 @@ The individual style names on the :doc:`Commands compute ` doc * :doc:`dihedral ` - energy of each dihedral sub-style * :doc:`dihedral/local ` - angle of each dihedral * :doc:`dilatation/atom ` - Peridynamic dilatation for each atom +* :doc:`dipole ` - dipole vector and total dipole * :doc:`dipole/chunk ` - dipole vector and total dipole for each chunk * :doc:`displace/atom ` - displacement of each atom * :doc:`dpd ` - diff --git a/doc/src/compute_dipole.rst b/doc/src/compute_dipole.rst new file mode 100644 index 0000000000..c0e17f27d3 --- /dev/null +++ b/doc/src/compute_dipole.rst @@ -0,0 +1,72 @@ +.. index:: compute dipole + +compute dipole command +============================ + +Syntax +"""""" + +.. parsed-literal:: + + compute ID group-ID dipole charge-correction + +* ID, group-ID are documented in :doc:`compute ` command +* dipole = style name of this compute command +* charge-correction = *mass* or *geometry*\ , use COM or geometric center for charged chunk correction (optional) + +Examples +"""""""" + +.. code-block:: LAMMPS + + compute 1 fluid dipole + compute dw water dipole geometry + +Description +""""""""""" + +Define a computation that calculates the dipole vector and total dipole +for a group of atoms. + +This compute calculates the x,y,z coordinates of the dipole vector +and the total dipole moment for the atoms in the compute group. +This includes all effects due to atoms passing through periodic boundaries. +For a group with a net charge the resulting dipole is made position independent +by subtracting the position vector of the center of mass or geometric center +times the net charge from the computed dipole vector. Both per-atom charges +and per-atom dipole moments, if present, contribute to the computed dipole. + +.. note:: + + The coordinates of an atom contribute to the dipole in "unwrapped" + form, by using the image flags associated with each atom. See the + :doc:`dump custom ` command for a discussion of "unwrapped" + coordinates. See the Atoms section of the :doc:`read_data + ` command for a discussion of image flags and how they are + set for each atom. You can reset the image flags (e.g. to 0) before + invoking this compute by using the :doc:`set image ` command. + +Output info +""""""""""" + +This compute calculations a global scalar containing the magnitude of +the computed dipole moment and a global vector of length 3 with the +dipole vector. See the :doc:`Howto output ` doc page for +an overview of LAMMPS output options. + +The computed values are "intensive". The array values will be in +dipole units, i.e. charge units times distance :doc:`units `. + +Restrictions +"""""""""""" + none + +Related commands +"""""""""""""""" + +:doc:`compute dipole/chunk ` + +Default +""""""" + +Using the center of mass is the default setting for the net charge correction. diff --git a/src/compute_dipole.cpp b/src/compute_dipole.cpp new file mode 100644 index 0000000000..053f11e6f9 --- /dev/null +++ b/src/compute_dipole.cpp @@ -0,0 +1,152 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include "compute_dipole.h" + +#include "atom.h" +#include "domain.h" +#include "error.h" +#include "group.h" +#include "update.h" + +#include + +using namespace LAMMPS_NS; + +enum { MASSCENTER, GEOMCENTER }; + +/* ---------------------------------------------------------------------- */ + +ComputeDipole::ComputeDipole(LAMMPS *lmp, int narg, char **arg) : Compute(lmp, narg, arg) +{ + if (narg != 3) error->all(FLERR, "Illegal compute com command"); + + scalar_flag = 1; + vector_flag = 1; + size_vector = 3; + extscalar = 0; + extvector = 0; + + vector = new double[size_vector]; + vector[0] = vector[1] = vector[2] = 0.0; + + usecenter = MASSCENTER; + + if ((narg != 3) && (narg != 4)) error->all(FLERR, "Illegal compute dipole command"); + + if (narg == 4) { + if (utils::strmatch(arg[3], "^geom")) + usecenter = GEOMCENTER; + else if (strcmp(arg[3], "mass") == 0) + usecenter = MASSCENTER; + else + error->all(FLERR, "Illegal compute dipole command"); + } +} + +/* ---------------------------------------------------------------------- */ + +ComputeDipole::~ComputeDipole() +{ + delete[] vector; +} + +/* ---------------------------------------------------------------------- */ + +void ComputeDipole::compute_vector() +{ + invoked_vector = update->ntimestep; + + const auto x = atom->x; + const auto mask = atom->mask; + const auto type = atom->type; + const auto image = atom->image; + const auto mass = atom->mass; + const auto rmass = atom->rmass; + const auto q = atom->q; + const auto mu = atom->mu; + const auto nlocal = atom->nlocal; + + double dipole[3] = {0.0, 0.0, 0.0}; + double comproc[3] = {0.0, 0.0, 0.0}; + double com[3] = {0.0, 0.0, 0.0}; + double masstotal = 0.0; + double chrgtotal = 0.0; + double massproc = 0.0; + double chrgproc = 0.0; + + for (int i = 0; i < nlocal; ++i) { + if (mask[i] & groupbit) { + double unwrap[3]; + double massone = 1.0; // for usecenter == GEOMCENTER + if (usecenter == MASSCENTER) { + if (rmass) + massone = rmass[i]; + else + massone = mass[type[i]]; + } + massproc += massone; + if (atom->q_flag) chrgproc += q[i]; + domain->unmap(x[i], image[i], unwrap); + comproc[0] += unwrap[0] * massone; + comproc[1] += unwrap[1] * massone; + comproc[2] += unwrap[2] * massone; + } + } + MPI_Allreduce(&massproc, &masstotal, 1, MPI_DOUBLE, MPI_SUM, world); + MPI_Allreduce(&chrgproc, &chrgtotal, 1, MPI_DOUBLE, MPI_SUM, world); + MPI_Allreduce(comproc, com, 3, MPI_DOUBLE, MPI_SUM, world); + + if (masstotal > 0.0) { + com[0] /= masstotal; + com[1] /= masstotal; + com[2] /= masstotal; + } + + // compute dipole moment + + for (int i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) { + double unwrap[3]; + domain->unmap(x[i], image[i], unwrap); + if (atom->q_flag) { + dipole[0] += q[i] * unwrap[0]; + dipole[1] += q[i] * unwrap[1]; + dipole[2] += q[i] * unwrap[2]; + } + if (atom->mu_flag) { + dipole[0] += mu[i][0]; + dipole[1] += mu[i][1]; + dipole[2] += mu[i][2]; + } + } + } + + MPI_Allreduce(dipole, vector, 3, MPI_DOUBLE, MPI_SUM, world); + + // correct for position dependence with a net charged group + vector[0] -= chrgtotal * com[0]; + vector[1] -= chrgtotal * com[1]; + vector[2] -= chrgtotal * com[2]; +} + +/* ---------------------------------------------------------------------- */ + +double ComputeDipole::compute_scalar() +{ + if (invoked_vector != update->ntimestep) compute_vector(); + + invoked_scalar = update->ntimestep; + scalar = sqrt(vector[0] * vector[0] + vector[1] * vector[1] + vector[2] * vector[2]); + return scalar; +} diff --git a/src/compute_dipole.h b/src/compute_dipole.h new file mode 100644 index 0000000000..39dcd929e9 --- /dev/null +++ b/src/compute_dipole.h @@ -0,0 +1,52 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef COMPUTE_CLASS +// clang-format off +ComputeStyle(dipole,ComputeDipole); +// clang-format on +#else + +#ifndef LMP_COMPUTE_DIPOLE_H +#define LMP_COMPUTE_DIPOLE_H + +#include "compute.h" + +namespace LAMMPS_NS { + +class ComputeDipole : public Compute { + public: + ComputeDipole(class LAMMPS *, int, char **); + virtual ~ComputeDipole(); + void init(){}; + void compute_vector(); + double compute_scalar(); + + private: + int usecenter; +}; + +} // namespace LAMMPS_NS + +#endif +#endif + +/* ERROR/WARNING messages: + +E: Illegal ... command + +Self-explanatory. Check the input script syntax and compare to the +documentation for the command. You can use -echo screen as a +command-line option when running LAMMPS to see the offending line. + +*/ From 8f60a54656d94f4a5905aa5a2774e1e5ca7bb15e Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 22 Jun 2021 12:27:05 -0400 Subject: [PATCH 264/726] update USER-RANN example to run faster and provide reference logs --- examples/USER/rann/in.lammps | 45 ------ examples/USER/rann/in.rann | 34 ++++ examples/USER/rann/log.22Jun21.rann.g++.1 | 149 ++++++++++++++++++ examples/USER/rann/log.22Jun21.rann.g++.4 | 149 ++++++++++++++++++ .../rann/TiZr_2.nn => potentials/TiZr_2.rann | 0 5 files changed, 332 insertions(+), 45 deletions(-) delete mode 100644 examples/USER/rann/in.lammps create mode 100644 examples/USER/rann/in.rann create mode 100644 examples/USER/rann/log.22Jun21.rann.g++.1 create mode 100644 examples/USER/rann/log.22Jun21.rann.g++.4 rename examples/USER/rann/TiZr_2.nn => potentials/TiZr_2.rann (100%) diff --git a/examples/USER/rann/in.lammps b/examples/USER/rann/in.lammps deleted file mode 100644 index 3f831fca21..0000000000 --- a/examples/USER/rann/in.lammps +++ /dev/null @@ -1,45 +0,0 @@ -units metal -dimension 3 -boundary p p p -atom_style atomic - - -lattice hcp 2.9962594 -region whole block 0 10 0 10 0 10 units lattice -create_box 2 whole -create_atoms 2 box -timestep 0.001 -set group all type 1 -set group all type/fraction 2 0.10 486 - -pair_style rann -pair_coeff * * TiZr_2.nn Ti Zr - - - -compute peratom all pe/atom -shell mkdir ovito_files2 -dump 1 all custom 10 ovito_files2/dump.*.gz id type x y z c_peratom -dump_modify 1 element Ti Zr - -thermo 1 -thermo_style custom step lx ly lz press pxx pyy pzz pxy pxz pyz pe temp - -variable etol equal 1.0e-32 -variable ftol equal 1.0e-32 -variable maxiter equal 1.0e+9 -variable maxeval equal 1.0e+9 -variable dmax equal 1.0e-2 - -fix 1 all box/relax aniso 0.0 -min_style cg -minimize ${etol} ${ftol} ${maxiter} ${maxeval} -unfix 1 -write_restart TiZr.min - -#-------------------------EQUILIBRATION-------------------------------- - -velocity all create 300 12345 mom yes rot no -fix 1 all npt temp 300 300 0.1 aniso 0 0 1 -run 100 -unfix 1 diff --git a/examples/USER/rann/in.rann b/examples/USER/rann/in.rann new file mode 100644 index 0000000000..32f79bb257 --- /dev/null +++ b/examples/USER/rann/in.rann @@ -0,0 +1,34 @@ +units metal +dimension 3 +boundary p p p +atom_style atomic + +lattice hcp 2.995 origin 0.5 0.5 0.5 +region whole block 0 4 0 2 0 1.94 units lattice +create_box 2 whole +create_atoms 2 box +timestep 0.001 +set group all type 1 +set group all type/fraction 2 0.10 486 + +pair_style rann +pair_coeff * * TiZr_2.rann Ti Zr +velocity all create 300 12345 mom yes rot no loop geom + +compute peratom all pe/atom +#dump 1 all custom 10 rann.dump id type x y z c_peratom +#dump_modify 1 element Ti Zr + +thermo 25 +thermo_style custom step lx ly lz press pxx pyy pzz pxy pxz pyz pe temp + +fix 1 all box/relax aniso 0.0 +min_style cg +minimize 1.0e-10 1.0e-10 250 1000 +unfix 1 +#write_restart TiZr.min +#-------------------------EQUILIBRATION-------------------------------- + +fix 1 all npt temp 300 300 0.1 aniso 0 0 1 +run 250 +unfix 1 diff --git a/examples/USER/rann/log.22Jun21.rann.g++.1 b/examples/USER/rann/log.22Jun21.rann.g++.1 new file mode 100644 index 0000000000..40309e5d0a --- /dev/null +++ b/examples/USER/rann/log.22Jun21.rann.g++.1 @@ -0,0 +1,149 @@ +LAMMPS (27 May 2021) + using 1 OpenMP thread(s) per MPI task +units metal +dimension 3 +boundary p p p +atom_style atomic + +lattice hcp 2.995 origin 0.5 0.5 0.5 +Lattice spacing in x,y,z = 2.9950000 5.1874922 4.8908145 +region whole block 0 4 0 2 0 1.94 units lattice +create_box 2 whole +Created orthogonal box = (0.0000000 0.0000000 0.0000000) to (11.980000 10.374984 9.4881802) + 1 by 1 by 1 MPI processor grid +create_atoms 2 box +Created 64 atoms + create_atoms CPU = 0.001 seconds +timestep 0.001 +set group all type 1 +Setting atom values ... + 64 settings made for type +set group all type/fraction 2 0.10 486 +Setting atom values ... + 3 settings made for type/fraction + +pair_style rann +pair_coeff * * TiZr_2.rann Ti Zr +velocity all create 300 12345 mom yes rot no loop geom + +compute peratom all pe/atom +#dump 1 all custom 10 rann.dump id type x y z c_peratom +#dump_modify 1 element Ti Zr + +thermo 25 +thermo_style custom step lx ly lz press pxx pyy pzz pxy pxz pyz pe temp + +fix 1 all box/relax aniso 0.0 +min_style cg +minimize 1.0e-10 1.0e-10 250 1000 +WARNING: Using 'neigh_modify every 1 delay 0 check yes' setting during minimization (src/min.cpp:189) +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 = 3 3 2 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair rann, perpetual + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.731 | 4.731 | 4.731 Mbytes +Step Lx Ly Lz Press Pxx Pyy Pzz Pxy Pxz Pyz PotEng Temp + 0 11.98 10.374984 9.4881802 -29375.303 -28706.895 -32525.995 -26893.017 -405.95229 150.93453 -694.91972 -103433.05 300 + 25 11.950182 10.349549 9.4684279 -21452.379 -23337.292 -22794.542 -18225.304 -134.67238 18.687575 99.672896 -103433.82 300 + 50 11.920232 10.32424 9.4496837 -14826.163 -16604.987 -16114.802 -11758.699 -137.29961 19.192625 98.496407 -103433.93 300 + 75 11.890282 10.299105 9.4325798 -8241.3799 -9829.5396 -9413.8421 -5480.758 -139.61723 19.753871 96.739255 -103434.01 300 + 100 11.860332 10.274334 9.4188725 -1918.2777 -3140.1632 -2843.6796 229.00961 -141.67556 20.337591 93.803319 -103434.06 300 + 125 11.833362 10.25385 9.4174816 2267.7814 2244.5712 2225.4032 2333.3697 -145.79432 20.426911 85.921454 -103434.27 300 + 150 11.845047 10.264313 9.3943614 2154.2266 2077.795 2064.0012 2320.8837 -166.59541 20.457485 86.593349 -103434.98 300 + 175 11.851749 10.270526 9.3807742 2356.6765 2258.3767 2245.2877 2566.3649 -198.93901 21.826088 87.211907 -103435.42 300 + 200 11.85791 10.276284 9.3740248 2116.088 2014.9253 2000.9373 2332.4013 -239.79555 23.069264 88.211395 -103435.71 300 + 225 11.86067 10.279084 9.3688089 2380.6783 2266.3876 2253.624 2622.0232 -284.70218 23.782436 89.32664 -103435.9 300 + 250 11.86457 10.282908 9.3667795 2093.631 1983.7868 1969.8563 2327.2499 -334.45392 23.717921 90.543955 -103436.03 300 +Loop time of 5.54687 on 1 procs for 250 steps with 64 atoms + +99.7% CPU use with 1 MPI tasks x 1 OpenMP threads + +Minimization stats: + Stopping criterion = max iterations + Energy initial, next-to-last, final = + -103433.047620681 -103436.028362733 -103436.034678926 + Force two-norm initial, final = 40.834083 2.1923162 + Force max component initial, final = 25.471215 0.42479025 + Final line search alpha, max atom move = 0.0013092641 0.00055616263 + Iterations, force evaluations = 250 250 + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 5.535 | 5.535 | 5.535 | 0.0 | 99.79 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.0021643 | 0.0021643 | 0.0021643 | 0.0 | 0.04 +Output | 0.00040175 | 0.00040175 | 0.00040175 | 0.0 | 0.01 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 0.009261 | | | 0.17 + +Nlocal: 64.0000 ave 64 max 64 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1508.00 ave 1508 max 1508 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0.00000 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +FullNghs: 15136.0 ave 15136 max 15136 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 15136 +Ave neighs/atom = 236.50000 +Neighbor list builds = 0 +Dangerous builds = 0 +unfix 1 +#write_restart TiZr.min +#-------------------------EQUILIBRATION-------------------------------- + +fix 1 all npt temp 300 300 0.1 aniso 0 0 1 +run 250 +Per MPI rank memory allocation (min/avg/max) = 3.606 | 3.606 | 3.606 Mbytes +Step Lx Ly Lz Press Pxx Pyy Pzz Pxy Pxz Pyz PotEng Temp + 250 11.86457 10.282908 9.3667795 2093.631 1983.7868 1969.8563 2327.2499 -334.45392 23.717921 90.543955 -103436.03 300 + 275 11.868972 10.287532 9.3712492 5459.6466 3913.9919 6041.4929 6423.455 1860.057 -169.89698 -163.71384 -103435.08 182.98209 + 300 11.883725 10.306821 9.3893899 821.53461 -1023.4738 2711.5668 776.51078 2816.8806 446.29412 -732.33785 -103434.5 116.94541 + 325 11.894878 10.332706 9.4085094 -7099.8438 -7329.3175 -4694.3612 -9275.8528 2957.9222 1086.6737 -1549.5101 -103434.96 192.09731 + 350 11.885259 10.347441 9.4071117 -6402.0644 -5181.1103 -5986.8957 -8038.1873 3057.1547 867.09919 -1625.3988 -103434.62 168.81926 + 375 11.860011 10.346166 9.3858556 -2508.1672 766.71963 -4549.8268 -3741.3944 1666.1095 224.37185 -926.42628 -103434.73 195.28196 + 400 11.837235 10.332927 9.3557562 3324.0157 7044.0305 -512.01476 3440.0314 -1246.2047 -108.13943 -18.443174 -103434.99 245.22981 + 425 11.835641 10.318434 9.3346884 8707.7341 9660.2158 4055.4863 12407.5 -2772.2282 -243.25933 619.5127 -103434.58 215.25674 + 450 11.862626 10.313654 9.3420741 6651.6061 5159.117 3236.6007 11559.101 -2538.4591 -179.54384 998.92807 -103434.53 225.2827 + 475 11.905198 10.317019 9.3767687 -823.32707 -3847.0367 -1183.0257 2560.0812 -2415.4604 -135.15481 1006.8549 -103434.64 259.05599 + 500 11.936602 10.317134 9.4184969 -7923.5224 -11138.312 -5701.3928 -6930.8623 -2175.4452 878.30934 737.79497 -103434.28 240.16605 +Loop time of 5.28008 on 1 procs for 250 steps with 64 atoms + +Performance: 4.091 ns/day, 5.867 hours/ns, 47.348 timesteps/s +99.7% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 5.2728 | 5.2728 | 5.2728 | 0.0 | 99.86 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.0021591 | 0.0021591 | 0.0021591 | 0.0 | 0.04 +Output | 0.00040452 | 0.00040452 | 0.00040452 | 0.0 | 0.01 +Modify | 0.0040597 | 0.0040597 | 0.0040597 | 0.0 | 0.08 +Other | | 0.0006859 | | | 0.01 + +Nlocal: 64.0000 ave 64 max 64 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1508.00 ave 1508 max 1508 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0.00000 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +FullNghs: 15320.0 ave 15320 max 15320 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 15320 +Ave neighs/atom = 239.37500 +Neighbor list builds = 0 +Dangerous builds = 0 +unfix 1 +Total wall time: 0:00:10 diff --git a/examples/USER/rann/log.22Jun21.rann.g++.4 b/examples/USER/rann/log.22Jun21.rann.g++.4 new file mode 100644 index 0000000000..4f31af6ce2 --- /dev/null +++ b/examples/USER/rann/log.22Jun21.rann.g++.4 @@ -0,0 +1,149 @@ +LAMMPS (27 May 2021) + using 1 OpenMP thread(s) per MPI task +units metal +dimension 3 +boundary p p p +atom_style atomic + +lattice hcp 2.995 origin 0.5 0.5 0.5 +Lattice spacing in x,y,z = 2.9950000 5.1874922 4.8908145 +region whole block 0 4 0 2 0 1.94 units lattice +create_box 2 whole +Created orthogonal box = (0.0000000 0.0000000 0.0000000) to (11.980000 10.374984 9.4881802) + 2 by 2 by 1 MPI processor grid +create_atoms 2 box +Created 64 atoms + create_atoms CPU = 0.000 seconds +timestep 0.001 +set group all type 1 +Setting atom values ... + 64 settings made for type +set group all type/fraction 2 0.10 486 +Setting atom values ... + 3 settings made for type/fraction + +pair_style rann +pair_coeff * * TiZr_2.rann Ti Zr +velocity all create 300 12345 mom yes rot no loop geom + +compute peratom all pe/atom +#dump 1 all custom 10 rann.dump id type x y z c_peratom +#dump_modify 1 element Ti Zr + +thermo 25 +thermo_style custom step lx ly lz press pxx pyy pzz pxy pxz pyz pe temp + +fix 1 all box/relax aniso 0.0 +min_style cg +minimize 1.0e-10 1.0e-10 250 1000 +WARNING: Using 'neigh_modify every 1 delay 0 check yes' setting during minimization (src/min.cpp:189) +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 = 3 3 2 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair rann, perpetual + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.478 | 4.478 | 4.478 Mbytes +Step Lx Ly Lz Press Pxx Pyy Pzz Pxy Pxz Pyz PotEng Temp + 0 11.98 10.374984 9.4881802 -29375.303 -28706.895 -32525.995 -26893.017 -405.95229 150.93453 -694.91972 -103433.05 300 + 25 11.950182 10.349549 9.4684279 -21452.379 -23337.292 -22794.542 -18225.304 -134.67238 18.687575 99.672896 -103433.82 300 + 50 11.920232 10.32424 9.4496837 -14826.163 -16604.987 -16114.802 -11758.699 -137.29961 19.192625 98.496407 -103433.93 300 + 75 11.890282 10.299105 9.4325798 -8241.3799 -9829.5396 -9413.8421 -5480.758 -139.61723 19.753871 96.739255 -103434.01 300 + 100 11.860332 10.274334 9.4188725 -1918.2777 -3140.1632 -2843.6796 229.00961 -141.67556 20.337591 93.803319 -103434.06 300 + 125 11.833362 10.25385 9.4174816 2267.7814 2244.5712 2225.4032 2333.3697 -145.79432 20.426911 85.921454 -103434.27 300 + 150 11.845047 10.264313 9.3943614 2154.2266 2077.795 2064.0012 2320.8837 -166.59541 20.457485 86.593349 -103434.98 300 + 175 11.851749 10.270526 9.3807742 2356.6765 2258.3767 2245.2877 2566.3649 -198.93901 21.826088 87.211907 -103435.42 300 + 200 11.85791 10.276284 9.3740248 2116.088 2014.9253 2000.9373 2332.4013 -239.79555 23.069264 88.211395 -103435.71 300 + 225 11.86067 10.279084 9.3688089 2380.6783 2266.3876 2253.624 2622.0232 -284.70218 23.782436 89.32664 -103435.9 300 + 250 11.86457 10.282908 9.3667795 2093.631 1983.7868 1969.8563 2327.2499 -334.45392 23.717921 90.543955 -103436.03 300 +Loop time of 2.4811 on 4 procs for 250 steps with 64 atoms + +97.6% CPU use with 4 MPI tasks x 1 OpenMP threads + +Minimization stats: + Stopping criterion = max iterations + Energy initial, next-to-last, final = + -103433.047620681 -103436.028362733 -103436.034678926 + Force two-norm initial, final = 40.834083 2.1923162 + Force max component initial, final = 25.471215 0.42479025 + Final line search alpha, max atom move = 0.0013092641 0.00055616263 + Iterations, force evaluations = 250 250 + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 2.3295 | 2.3474 | 2.3627 | 0.9 | 94.61 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.089974 | 0.10466 | 0.12186 | 4.0 | 4.22 +Output | 0.00048351 | 0.0010692 | 0.0028254 | 3.1 | 0.04 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 0.02802 | | | 1.13 + +Nlocal: 16.0000 ave 16 max 16 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Nghost: 1035.00 ave 1035 max 1035 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Neighs: 0.00000 ave 0 max 0 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +FullNghs: 3784.00 ave 3784 max 3784 min +Histogram: 4 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 15136 +Ave neighs/atom = 236.50000 +Neighbor list builds = 0 +Dangerous builds = 0 +unfix 1 +#write_restart TiZr.min +#-------------------------EQUILIBRATION-------------------------------- + +fix 1 all npt temp 300 300 0.1 aniso 0 0 1 +run 250 +Per MPI rank memory allocation (min/avg/max) = 3.353 | 3.353 | 3.353 Mbytes +Step Lx Ly Lz Press Pxx Pyy Pzz Pxy Pxz Pyz PotEng Temp + 250 11.86457 10.282908 9.3667795 2093.631 1983.7868 1969.8563 2327.2499 -334.45392 23.717921 90.543955 -103436.03 300 + 275 11.868972 10.287532 9.3712492 5459.6466 3913.9919 6041.4929 6423.455 1860.057 -169.89698 -163.71384 -103435.08 182.98209 + 300 11.883725 10.306821 9.3893899 821.53461 -1023.4738 2711.5668 776.51078 2816.8806 446.29412 -732.33785 -103434.5 116.94541 + 325 11.894878 10.332706 9.4085094 -7099.8438 -7329.3175 -4694.3612 -9275.8528 2957.9222 1086.6737 -1549.5101 -103434.96 192.09731 + 350 11.885259 10.347441 9.4071117 -6402.0644 -5181.1103 -5986.8957 -8038.1873 3057.1547 867.09919 -1625.3988 -103434.62 168.81926 + 375 11.860011 10.346166 9.3858556 -2508.1672 766.71963 -4549.8268 -3741.3944 1666.1095 224.37185 -926.42628 -103434.73 195.28196 + 400 11.837235 10.332927 9.3557562 3324.0157 7044.0305 -512.01476 3440.0314 -1246.2047 -108.13943 -18.443174 -103434.99 245.22981 + 425 11.835641 10.318434 9.3346884 8707.7341 9660.2158 4055.4863 12407.5 -2772.2282 -243.25933 619.5127 -103434.58 215.25674 + 450 11.862626 10.313654 9.3420741 6651.6061 5159.117 3236.6007 11559.101 -2538.4591 -179.54384 998.92807 -103434.53 225.2827 + 475 11.905198 10.317019 9.3767687 -823.32707 -3847.0367 -1183.0257 2560.0812 -2415.4604 -135.15481 1006.8549 -103434.64 259.05599 + 500 11.936602 10.317134 9.4184969 -7923.5224 -11138.312 -5701.3928 -6930.8623 -2175.4452 878.30934 737.79497 -103434.28 240.16605 +Loop time of 2.55414 on 4 procs for 250 steps with 64 atoms + +Performance: 8.457 ns/day, 2.838 hours/ns, 97.880 timesteps/s +97.4% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 1.5174 | 2.1911 | 2.5037 | 26.7 | 85.79 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.035032 | 0.34713 | 1.0204 | 67.1 | 13.59 +Output | 0.00048485 | 0.0010827 | 0.0028745 | 3.1 | 0.04 +Modify | 0.01054 | 0.012633 | 0.013719 | 1.1 | 0.49 +Other | | 0.002167 | | | 0.08 + +Nlocal: 16.0000 ave 18 max 11 min +Histogram: 1 0 0 0 0 0 0 0 1 2 +Nghost: 1035.00 ave 1040 max 1033 min +Histogram: 2 1 0 0 0 0 0 0 0 1 +Neighs: 0.00000 ave 0 max 0 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +FullNghs: 3830.00 ave 4316 max 2636 min +Histogram: 1 0 0 0 0 0 0 0 1 2 + +Total # of neighbors = 15320 +Ave neighs/atom = 239.37500 +Neighbor list builds = 0 +Dangerous builds = 0 +unfix 1 +Total wall time: 0:00:05 diff --git a/examples/USER/rann/TiZr_2.nn b/potentials/TiZr_2.rann similarity index 100% rename from examples/USER/rann/TiZr_2.nn rename to potentials/TiZr_2.rann From cc7538e7b92c4f7f99a778f5c5b0e9963c523c0e Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 22 Jun 2021 13:14:24 -0400 Subject: [PATCH 265/726] fix cut-n-paste bug in AtomVec class --- src/atom_vec.cpp | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/atom_vec.cpp b/src/atom_vec.cpp index dd13cf3ae0..5ebaf41ebb 100644 --- a/src/atom_vec.cpp +++ b/src/atom_vec.cpp @@ -1471,8 +1471,8 @@ int AtomVec::pack_restart(int i, double *buf) buf[m++] = array[i][mm]; } else { double **array = *((double ***) pdata); - collength = mexchange.collength[nn]; - plength = mexchange.plength[nn]; + collength = mrestart.collength[nn]; + plength = mrestart.plength[nn]; if (collength) ncols = (*((int ***) plength))[i][collength-1]; else ncols = (*((int **) plength))[i]; for (mm = 0; mm < ncols; mm++) @@ -1488,8 +1488,8 @@ int AtomVec::pack_restart(int i, double *buf) buf[m++] = ubuf(array[i][mm]).d; } else { int **array = *((int ***) pdata); - collength = mexchange.collength[nn]; - plength = mexchange.plength[nn]; + collength = mrestart.collength[nn]; + plength = mrestart.plength[nn]; if (collength) ncols = (*((int ***) plength))[i][collength-1]; else ncols = (*((int **) plength))[i]; for (mm = 0; mm < ncols; mm++) @@ -1505,8 +1505,8 @@ int AtomVec::pack_restart(int i, double *buf) buf[m++] = ubuf(array[i][mm]).d; } else { bigint **array = *((bigint ***) pdata); - collength = mexchange.collength[nn]; - plength = mexchange.plength[nn]; + collength = mrestart.collength[nn]; + plength = mrestart.plength[nn]; if (collength) ncols = (*((int ***) plength))[i][collength-1]; else ncols = (*((int **) plength))[i]; for (mm = 0; mm < ncols; mm++) @@ -1572,8 +1572,8 @@ int AtomVec::unpack_restart(double *buf) array[nlocal][mm] = buf[m++]; } else { double **array = *((double ***) pdata); - collength = mexchange.collength[nn]; - plength = mexchange.plength[nn]; + collength = mrestart.collength[nn]; + plength = mrestart.plength[nn]; if (collength) ncols = (*((int ***) plength))[nlocal][collength-1]; else ncols = (*((int **) plength))[nlocal]; for (mm = 0; mm < ncols; mm++) @@ -1589,8 +1589,8 @@ int AtomVec::unpack_restart(double *buf) array[nlocal][mm] = (int) ubuf(buf[m++]).i; } else { int **array = *((int ***) pdata); - collength = mexchange.collength[nn]; - plength = mexchange.plength[nn]; + collength = mrestart.collength[nn]; + plength = mrestart.plength[nn]; if (collength) ncols = (*((int ***) plength))[nlocal][collength-1]; else ncols = (*((int **) plength))[nlocal]; for (mm = 0; mm < ncols; mm++) @@ -1606,8 +1606,8 @@ int AtomVec::unpack_restart(double *buf) array[nlocal][mm] = (bigint) ubuf(buf[m++]).i; } else { bigint **array = *((bigint ***) pdata); - collength = mexchange.collength[nn]; - plength = mexchange.plength[nn]; + collength = mrestart.collength[nn]; + plength = mrestart.plength[nn]; if (collength) ncols = (*((int ***) plength))[nlocal][collength-1]; else ncols = (*((int **) plength))[nlocal]; for (mm = 0; mm < ncols; mm++) From d5e5f590e83ab943c15058ebaae5eb30a7564d2c Mon Sep 17 00:00:00 2001 From: jtclemm Date: Tue, 22 Jun 2021 14:14:25 -0600 Subject: [PATCH 266/726] Updating documentation, adding compute scalar --- doc/src/compute_fabric.rst | 21 +++-- src/GRANULAR/compute_fabric.cpp | 134 +++++++++++++++++++++++++++----- src/GRANULAR/compute_fabric.h | 2 + 3 files changed, 132 insertions(+), 25 deletions(-) diff --git a/doc/src/compute_fabric.rst b/doc/src/compute_fabric.rst index 1f01b1cbc1..3ded3d7adc 100644 --- a/doc/src/compute_fabric.rst +++ b/doc/src/compute_fabric.rst @@ -48,9 +48,15 @@ Description """"""""""" Define a compute that calculates various fabric tensors for pairwise -interactions :ref:`(Ouadfel) `. The *type* and *radius* settings -are used to select whether interactions cutoffs are determined by atom types -or by the sum of atomic radii (atom style sphere), respectively. +interaction :ref:`(Ouadfel) `. Fabric tensors are commonly used +to quantify the anisotropy or orientation of granular contacts but can also +be used to characterize the direction of pairwise interactions in general +systems. The *type* and *radius* settings are used to select whether interactions +cutoffs are determined by atom types or by the sum of atomic radii (atom +style sphere), respectively. Calling this compute is roughly the cost of a +pair style invocation as it involves a loop over the neighbor list. If the +normal or tangential force tensors are requested, it will be more expensive +than a pair style invocation as it will also recalculate all pair forces. Four fabric tensors are available: the contact, branch, normal force, or tangential force tensor. The contact tensor is calculated as @@ -137,17 +143,18 @@ Multiple *type/include* keywords may be added. Output info """"""""""" -This compute calculates a local vector of doubles. The vector stores the +This compute calculates a local vector of doubles and a scalar. The vector stores the unique components of the first requested tensor in the order xx, yy, zz, xy, xz, yz -followed by the same components for all subsequent tensors. The final entry is the +followed by the same components for all subsequent tensors. The length of the vector +is therefore six times the number of requested tensors. The scalar output is the number of pairwise interactions included in the calculation of the fabric tensor. -The length of the vector is therefore six times the number of requested tensors plus one. Restrictions """""""""""" This fix is part of the GRANULAR package. It is only enabled if LAMMPS -was built with that package. See the :doc:`Build package ` doc page for more info. +was built with that package. See the :doc:`Build package ` +doc page for more info. Currently, compute *fabric* does not support pair styles with many-body interactions. It also does not diff --git a/src/GRANULAR/compute_fabric.cpp b/src/GRANULAR/compute_fabric.cpp index aeb887c795..548c29eb10 100644 --- a/src/GRANULAR/compute_fabric.cpp +++ b/src/GRANULAR/compute_fabric.cpp @@ -130,9 +130,12 @@ ComputeFabric::ComputeFabric(LAMMPS *lmp, int narg, char **arg) : } vector_flag = 1; - size_vector = 1 + ntensors * 6; + size_vector = ntensors * 6; extvector = 0; + scalar_flag = 1; + extscalar = 0; + vector = new double[size_vector]; } @@ -186,6 +189,8 @@ void ComputeFabric::init_list(int /*id*/, NeighList *ptr) void ComputeFabric::compute_vector() { + invoked_vector = update->ntimestep; + int i, j, ii, jj, inum, jnum, itype, jtype; tagint itag, jtag; double xtmp, ytmp, ztmp, delx, dely, delz; @@ -200,7 +205,6 @@ void ComputeFabric::compute_vector() double D_ij[6] = {0.0}; double Xfn_ij[6] = {0.0}; double Xft_ij[6] = {0.0}; - int nc, temp_int; double temp_dbl[6]; int *ilist, *jlist, *numneigh, **firstneigh; @@ -224,8 +228,17 @@ void ComputeFabric::compute_vector() Pair *pair = force->pair; double **cutsq = force->pair->cutsq; + // invoke compute_scalar() to update the number of contacts, if needed + nc = compute_scalar(); + + // If no contacts, everything will be zero + if (nc == 0) { + for (i = 0; i < size_vector; i++) vector[i] = 0.0; + return; + } + ncinv = 1.0 / nc; + // First loop through and calculate contact fabric tensor - nc = 0; for (ii = 0; ii < inum; ii++) { i = ilist[ii]; if (!(mask[i] & groupbit)) continue; @@ -278,8 +291,6 @@ void ComputeFabric::compute_vector() if (rsq >= radsum * radsum) continue; } - nc += 1; - r = sqrt(rsq); rinv = 1.0 / r; nx = delx * rinv; @@ -295,19 +306,6 @@ void ComputeFabric::compute_vector() } } - //Count total contacts across processors - MPI_Allreduce(&nc, &temp_int, 1, MPI_INT, MPI_SUM, world); - nc = temp_int; - - // If no contacts, everything will be zero - if (nc == 0) { - for (i = 0; i < size_vector; i++) vector[i] = 0.0; - return; - } - - vector[ntensors * 6] = nc; - ncinv = 1.0 / nc; - //Sum phi across processors MPI_Allreduce(phi_ij, temp_dbl, 6, MPI_DOUBLE, MPI_SUM, world); for (i = 0; i < 6; i++) phi_ij[i] = temp_dbl[i] * ncinv; @@ -495,3 +493,103 @@ void ComputeFabric::compute_vector() } } } + +/* ---------------------------------------------------------------------- */ + +double ComputeFabric::compute_scalar() +{ + // Skip if already calculated on this timestep + if (invoked_scalar == update->ntimestep) return nc; + + invoked_scalar = update->ntimestep; + + int i, j, ii, jj, inum, jnum, itype, jtype; + tagint itag, jtag; + double xtmp, ytmp, ztmp, delx, dely, delz; + double rsq, radsum, temp_dbl; + + int *ilist, *jlist, *numneigh, **firstneigh; + + double **x = atom->x; + double *radius = atom->radius; + tagint *tag = atom->tag; + int *type = atom->type; + int *mask = atom->mask; + int nlocal = atom->nlocal; + int newton_pair = force->newton_pair; + + // invoke half neighbor list (will copy or build if necessary) + neighbor->build_one(list); + + inum = list->inum; + ilist = list->ilist; + numneigh = list->numneigh; + firstneigh = list->firstneigh; + + double **cutsq = force->pair->cutsq; + + // First loop through and calculate contact fabric tensor + nc = 0; + for (ii = 0; ii < inum; ii++) { + i = ilist[ii]; + if (!(mask[i] & groupbit)) continue; + + xtmp = x[i][0]; + ytmp = x[i][1]; + ztmp = x[i][2]; + itag = tag[i]; + itype = type[i]; + jlist = firstneigh[i]; + jnum = numneigh[i]; + + for (jj = 0; jj < jnum; jj++) { + j = jlist[jj]; + j &= NEIGHMASK; + + if (!(mask[j] & groupbit)) continue; + + // itag = jtag is possible for long cutoffs that include images of self + + if (newton_pair == 0 && j >= nlocal) { + jtag = tag[j]; + if (itag > jtag) { + if ((itag + jtag) % 2 == 0) continue; + } else if (itag < jtag) { + if ((itag + jtag) % 2 == 1) continue; + } else { + if (x[j][2] < ztmp) continue; + if (x[j][2] == ztmp) { + if (x[j][1] < ytmp) continue; + if (x[j][1] == ytmp && x[j][0] < xtmp) continue; + } + } + } + + jtype = type[j]; + + if (type_filter) + if (type_filter[itype][jtype] == 0) continue; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx * delx + dely * dely + delz * delz; + + if (cutstyle == TYPE) { + if (rsq >= cutsq[itype][jtype]) continue; + } else { + radsum = radius[i] + radius[j]; + if (rsq >= radsum * radsum) continue; + } + + nc += 1.0; + } + } + + //Count total contacts across processors + MPI_Allreduce(&nc, &temp_dbl, 1, MPI_DOUBLE, MPI_SUM, world); + nc = temp_dbl; + + return nc; +} + diff --git a/src/GRANULAR/compute_fabric.h b/src/GRANULAR/compute_fabric.h index 6a2d9f4eb3..5e20ea6562 100644 --- a/src/GRANULAR/compute_fabric.h +++ b/src/GRANULAR/compute_fabric.h @@ -31,9 +31,11 @@ class ComputeFabric : public Compute { void init(); void init_list(int, class NeighList *); void compute_vector(); + double compute_scalar(); private: int ntensors, pstyle, cutstyle; + double nc; int *tensor_style; int **type_filter; class NeighList *list; From 2741279254b92bdbb7ad7d24c19a29a63dd51a4d Mon Sep 17 00:00:00 2001 From: jtclemm Date: Tue, 22 Jun 2021 14:40:10 -0600 Subject: [PATCH 267/726] Adding correct scalar variable --- src/GRANULAR/compute_fabric.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/GRANULAR/compute_fabric.cpp b/src/GRANULAR/compute_fabric.cpp index 548c29eb10..61d3b632a5 100644 --- a/src/GRANULAR/compute_fabric.cpp +++ b/src/GRANULAR/compute_fabric.cpp @@ -134,7 +134,7 @@ ComputeFabric::ComputeFabric(LAMMPS *lmp, int narg, char **arg) : extvector = 0; scalar_flag = 1; - extscalar = 0; + extscalar = 1; vector = new double[size_vector]; } @@ -585,11 +585,11 @@ double ComputeFabric::compute_scalar() nc += 1.0; } } - //Count total contacts across processors MPI_Allreduce(&nc, &temp_dbl, 1, MPI_DOUBLE, MPI_SUM, world); nc = temp_dbl; + scalar = nc; return nc; } From f5f5721cfb7647b4c8479d2f00790cf449159262 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 22 Jun 2021 18:29:13 -0400 Subject: [PATCH 268/726] reformat --- src/fix_dt_reset.cpp | 138 +++++++++++++++++++++++-------------------- 1 file changed, 73 insertions(+), 65 deletions(-) diff --git a/src/fix_dt_reset.cpp b/src/fix_dt_reset.cpp index 6dfac5ff3e..409729c242 100644 --- a/src/fix_dt_reset.cpp +++ b/src/fix_dt_reset.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -14,21 +13,22 @@ #include "fix_dt_reset.h" +#include "atom.h" +#include "comm.h" +#include "domain.h" +#include "dump.h" +#include "error.h" +#include "fix.h" +#include "force.h" +#include "integrate.h" +#include "lattice.h" +#include "modify.h" +#include "output.h" +#include "pair.h" +#include "update.h" + #include #include -#include "atom.h" -#include "update.h" -#include "integrate.h" -#include "domain.h" -#include "lattice.h" -#include "force.h" -#include "pair.h" -#include "modify.h" -#include "fix.h" -#include "output.h" -#include "dump.h" -#include "comm.h" -#include "error.h" using namespace LAMMPS_NS; using namespace FixConst; @@ -37,10 +37,9 @@ using namespace FixConst; /* ---------------------------------------------------------------------- */ -FixDtReset::FixDtReset(LAMMPS *lmp, int narg, char **arg) : - Fix(lmp, narg, arg) +FixDtReset::FixDtReset(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) { - if (narg < 7) error->all(FLERR,"Illegal fix dt/reset command"); + if (narg < 7) error->all(FLERR, "Illegal fix dt/reset command"); // set time_depend, else elapsed time accumulation can be messed up @@ -51,40 +50,47 @@ FixDtReset::FixDtReset(LAMMPS *lmp, int narg, char **arg) : extvector = 0; dynamic_group_allow = 1; - nevery = utils::inumeric(FLERR,arg[3],false,lmp); - if (nevery <= 0) error->all(FLERR,"Illegal fix dt/reset command"); + nevery = utils::inumeric(FLERR, arg[3], false, lmp); + if (nevery <= 0) error->all(FLERR, "Illegal fix dt/reset command"); minbound = maxbound = 1; tmin = tmax = 0.0; - if (strcmp(arg[4],"NULL") == 0) minbound = 0; - else tmin = utils::numeric(FLERR,arg[4],false,lmp); - if (strcmp(arg[5],"NULL") == 0) maxbound = 0; - else tmax = utils::numeric(FLERR,arg[5],false,lmp); - xmax = utils::numeric(FLERR,arg[6],false,lmp); + if (strcmp(arg[4], "NULL") == 0) + minbound = 0; + else + tmin = utils::numeric(FLERR, arg[4], false, lmp); + if (strcmp(arg[5], "NULL") == 0) + maxbound = 0; + else + tmax = utils::numeric(FLERR, arg[5], false, lmp); + xmax = utils::numeric(FLERR, arg[6], false, lmp); - if (minbound && tmin < 0.0) error->all(FLERR,"Illegal fix dt/reset command"); - if (maxbound && tmax < 0.0) error->all(FLERR,"Illegal fix dt/reset command"); - if (minbound && maxbound && tmin >= tmax) - error->all(FLERR,"Illegal fix dt/reset command"); - if (xmax <= 0.0) error->all(FLERR,"Illegal fix dt/reset command"); + if (minbound && tmin < 0.0) error->all(FLERR, "Illegal fix dt/reset command"); + if (maxbound && tmax < 0.0) error->all(FLERR, "Illegal fix dt/reset command"); + if (minbound && maxbound && tmin >= tmax) error->all(FLERR, "Illegal fix dt/reset command"); + if (xmax <= 0.0) error->all(FLERR, "Illegal fix dt/reset command"); int scaleflag = 1; emax = -1.0; int iarg = 7; while (iarg < narg) { - if (strcmp(arg[iarg],"units") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal fix dt/reset command"); - if (strcmp(arg[iarg+1],"box") == 0) scaleflag = 0; - else if (strcmp(arg[iarg+1],"lattice") == 0) scaleflag = 1; - else error->all(FLERR,"Illegal fix dt/reset command"); + if (strcmp(arg[iarg], "units") == 0) { + if (iarg + 2 > narg) error->all(FLERR, "Illegal fix dt/reset command"); + if (strcmp(arg[iarg + 1], "box") == 0) + scaleflag = 0; + else if (strcmp(arg[iarg + 1], "lattice") == 0) + scaleflag = 1; + else + error->all(FLERR, "Illegal fix dt/reset command"); iarg += 2; - } else if (strcmp(arg[iarg],"emax") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal fix dt/reset command"); - emax = utils::numeric(FLERR,arg[iarg+1],false,lmp); - if (emax <= 0.0) error->all(FLERR,"Illegal fix dt/reset command"); + } else if (strcmp(arg[iarg], "emax") == 0) { + if (iarg + 2 > narg) error->all(FLERR, "Illegal fix dt/reset command"); + emax = utils::numeric(FLERR, arg[iarg + 1], false, lmp); + if (emax <= 0.0) error->all(FLERR, "Illegal fix dt/reset command"); iarg += 2; - } else error->all(FLERR,"Illegal fix dt/reset command"); + } else + error->all(FLERR, "Illegal fix dt/reset command"); } // setup scaling, based on xlattice parameter @@ -113,15 +119,15 @@ void FixDtReset::init() // set rRESPA flag respaflag = 0; - if (utils::strmatch(update->integrate_style,"^respa")) respaflag = 1; + if (utils::strmatch(update->integrate_style, "^respa")) respaflag = 1; // check for DCD or XTC dumps for (int i = 0; i < output->ndump; i++) - if ((strcmp(output->dump[i]->style,"dcd") == 0 || - strcmp(output->dump[i]->style,"xtc") == 0) && comm->me == 0) - error->warning(FLERR, - "Dump dcd/xtc timestamp may be wrong with fix dt/reset"); + if ((strcmp(output->dump[i]->style, "dcd") == 0 || + strcmp(output->dump[i]->style, "xtc") == 0) && + comm->me == 0) + error->warning(FLERR, "Dump dcd/xtc timestamp may be wrong with fix dt/reset"); ftm2v = force->ftm2v; mvv2e = force->mvv2e; @@ -139,9 +145,9 @@ void FixDtReset::setup(int /*vflag*/) void FixDtReset::end_of_step() { - double dtv,dtf,dte,dtsq; - double vsq,fsq,massinv; - double delx,dely,delz,delr; + double dtv, dtf, dte, dtsq; + double vsq, fsq, massinv; + double delx, dely, delz, delr; double **v = atom->v; double **f = atom->f; @@ -155,31 +161,33 @@ void FixDtReset::end_of_step() for (int i = 0; i < nlocal; i++) if (mask[i] & groupbit) { - if (rmass) massinv = 1.0/rmass[i]; - else massinv = 1.0/mass[type[i]]; - vsq = v[i][0]*v[i][0] + v[i][1]*v[i][1] + v[i][2]*v[i][2]; - fsq = f[i][0]*f[i][0] + f[i][1]*f[i][1] + f[i][2]*f[i][2]; + if (rmass) + massinv = 1.0 / rmass[i]; + else + massinv = 1.0 / mass[type[i]]; + vsq = v[i][0] * v[i][0] + v[i][1] * v[i][1] + v[i][2] * v[i][2]; + fsq = f[i][0] * f[i][0] + f[i][1] * f[i][1] + f[i][2] * f[i][2]; dtv = dtf = dte = BIG; - if (vsq > 0.0) dtv = xmax/sqrt(vsq); - if (fsq > 0.0) dtf = sqrt(2.0*xmax/(ftm2v*sqrt(fsq)*massinv)); - dt = MIN(dtv,dtf); + if (vsq > 0.0) dtv = xmax / sqrt(vsq); + if (fsq > 0.0) dtf = sqrt(2.0 * xmax / (ftm2v * sqrt(fsq) * massinv)); + dt = MIN(dtv, dtf); if (emax > 0.0 && vsq > 0.0 && fsq > 0.0) { - dte = emax/sqrt(fsq*vsq)/sqrt(ftm2v*mvv2e); + dte = emax / sqrt(fsq * vsq) / sqrt(ftm2v * mvv2e); dt = MIN(dt, dte); } - dtsq = dt*dt; - delx = dt*v[i][0] + 0.5*dtsq*massinv*f[i][0] * ftm2v; - dely = dt*v[i][1] + 0.5*dtsq*massinv*f[i][1] * ftm2v; - delz = dt*v[i][2] + 0.5*dtsq*massinv*f[i][2] * ftm2v; - delr = sqrt(delx*delx + dely*dely + delz*delz); - if (delr > xmax) dt *= xmax/delr; - dtmin = MIN(dtmin,dt); + dtsq = dt * dt; + delx = dt * v[i][0] + 0.5 * dtsq * massinv * f[i][0] * ftm2v; + dely = dt * v[i][1] + 0.5 * dtsq * massinv * f[i][1] * ftm2v; + delz = dt * v[i][2] + 0.5 * dtsq * massinv * f[i][2] * ftm2v; + delr = sqrt(delx * delx + dely * dely + delz * delz); + if (delr > xmax) dt *= xmax / delr; + dtmin = MIN(dtmin, dt); } - MPI_Allreduce(&dtmin,&dt,1,MPI_DOUBLE,MPI_MIN,world); + MPI_Allreduce(&dtmin, &dt, 1, MPI_DOUBLE, MPI_MIN, world); - if (minbound) dt = MAX(dt,tmin); - if (maxbound) dt = MIN(dt,tmax); + if (minbound) dt = MAX(dt, tmin); + if (maxbound) dt = MIN(dt, tmax); // if timestep didn't change, just return // else reset update->dt and other classes that depend on it From 8a344918a9f6c2b08cbc385ceb39761f27bed549 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 24 Jun 2021 09:15:58 -0400 Subject: [PATCH 269/726] no escape needed --- doc/src/if.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/if.rst b/doc/src/if.rst index 36d78da0d3..e779ec5a04 100644 --- a/doc/src/if.rst +++ b/doc/src/if.rst @@ -26,7 +26,7 @@ Examples if "${steps} > 1000" then quit if "${myString} == a10" then quit if "$x <= $y" then "print X is smaller = $x" else "print Y is smaller = $y" - if "(${eng} > 0.0) \|\| ($n < 1000)" then & + if "(${eng} > 0.0) || ($n < 1000)" then & "timestep 0.005" & elif $n<10000 & "timestep 0.01" & From 9fb7e25413ccf2d6378c7b214419e1a6e3827d6d Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 24 Jun 2021 09:25:35 -0400 Subject: [PATCH 270/726] correct escape --- doc/src/variable.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/variable.rst b/doc/src/variable.rst index 4747c492aa..ef876847d6 100644 --- a/doc/src/variable.rst +++ b/doc/src/variable.rst @@ -574,7 +574,7 @@ division and the modulo operator "%" are next; addition and subtraction are next; the 4 relational operators "<", "<=", ">", and ">=" are next; the two remaining relational operators "==" and "!=" are next; then the logical AND operator "&&"; and finally the logical -OR operator "\|\|" and logical XOR (exclusive or) operator "\|\^" have the +OR operator "||" and logical XOR (exclusive or) operator "\|^" have the lowest precedence. Parenthesis can be used to group one or more portions of a formula and/or enforce a different order of evaluation than what would occur with the default precedence. From 2d5e8f050acf092e461a277f665e5c94d5e44a5a Mon Sep 17 00:00:00 2001 From: Stan Gerald Moore Date: Thu, 24 Jun 2021 13:25:35 -0600 Subject: [PATCH 271/726] Make Kokkos init/finalize calls safer --- src/KOKKOS/kokkos.cpp | 21 ++++++++++++++++++++- src/KOKKOS/kokkos.h | 2 ++ src/accelerator_kokkos.h | 12 ++++++------ src/error.cpp | 9 +++++---- src/library.cpp | 2 +- src/main.cpp | 8 +++++--- 6 files changed, 39 insertions(+), 15 deletions(-) diff --git a/src/KOKKOS/kokkos.cpp b/src/KOKKOS/kokkos.cpp index 14a689e72a..53fda7684c 100644 --- a/src/KOKKOS/kokkos.cpp +++ b/src/KOKKOS/kokkos.cpp @@ -189,7 +189,7 @@ KokkosLMP::KokkosLMP(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp) args.num_numa = numa; args.device_id = device; - Kokkos::initialize(args); + initialize(args); // default settings for package kokkos command @@ -302,6 +302,25 @@ KokkosLMP::~KokkosLMP() } +/* ---------------------------------------------------------------------- */ + +void KokkosLMP::initialize(Kokkos::InitArguments args) +{ + if (!Kokkos::is_initialized()) + Kokkos::initialize(args); +} + +/* ---------------------------------------------------------------------- */ + +void KokkosLMP::finalize() +{ + static int is_finalized = 0; + + if (Kokkos::is_initialized() && !is_finalized) + Kokkos::finalize(); + is_finalized = 1; +} + /* ---------------------------------------------------------------------- invoked by package kokkos command ------------------------------------------------------------------------- */ diff --git a/src/KOKKOS/kokkos.h b/src/KOKKOS/kokkos.h index 22060ecc09..7782e4e00c 100644 --- a/src/KOKKOS/kokkos.h +++ b/src/KOKKOS/kokkos.h @@ -51,6 +51,8 @@ class KokkosLMP : protected Pointers { KokkosLMP(class LAMMPS *, int, char **); ~KokkosLMP(); + static void initialize(Kokkos::InitArguments); + static void finalize(); void accelerator(int, char **); int neigh_count(int); diff --git a/src/accelerator_kokkos.h b/src/accelerator_kokkos.h index 2ee15e946a..118ac3b9c8 100644 --- a/src/accelerator_kokkos.h +++ b/src/accelerator_kokkos.h @@ -43,6 +43,10 @@ #include "modify.h" #include "neighbor.h" +namespace Kokkos { + typedef int InitArguements; +}; + #define LAMMPS_INLINE inline namespace LAMMPS_NS { @@ -56,17 +60,13 @@ class KokkosLMP { KokkosLMP(class LAMMPS *, int, char **) { kokkos_exists = 0; } ~KokkosLMP() {} + static void initialize(Kokkos::InitArguements args) {} + static void finalize() {} void accelerator(int, char **) {} int neigh_list_kokkos(int) { return 0; } int neigh_count(int) { return 0; } }; -class Kokkos { - public: - static int is_initialized() {return false;} - static void finalize() {} -}; - class AtomKokkos : public Atom { public: tagint **k_special; diff --git a/src/error.cpp b/src/error.cpp index fd12cbe80e..9811a1d3eb 100644 --- a/src/error.cpp +++ b/src/error.cpp @@ -81,7 +81,7 @@ void Error::universe_all(const std::string &file, int line, const std::string &s throw LAMMPSException(mesg); #else - if (Kokkos::is_initialized()) Kokkos::finalize(); + KokkosLMP::finalize(); MPI_Finalize(); exit(1); #endif @@ -107,6 +107,7 @@ void Error::universe_one(const std::string &file, int line, const std::string &s throw LAMMPSAbortException(mesg, universe->uworld); #else + KokkosLMP::finalize(); MPI_Abort(universe->uworld,1); exit(1); // to trick "smart" compilers into believing this does not return #endif @@ -173,8 +174,8 @@ void Error::all(const std::string &file, int line, const std::string &str) if (screen && screen != stdout) fclose(screen); if (logfile) fclose(logfile); + KokkosLMP::finalize(); if (universe->nworlds > 1) MPI_Abort(universe->uworld,1); - if (Kokkos::is_initialized()) Kokkos::finalize(); MPI_Finalize(); exit(1); #endif @@ -213,7 +214,7 @@ void Error::one(const std::string &file, int line, const std::string &str) #else if (screen) fflush(screen); if (logfile) fflush(logfile); - if (Kokkos::is_initialized()) Kokkos::finalize(); + KokkosLMP::finalize(); MPI_Abort(world,1); exit(1); // to trick "smart" compilers into believing this does not return #endif @@ -316,7 +317,7 @@ void Error::done(int status) if (screen && screen != stdout) fclose(screen); if (logfile) fclose(logfile); - if (Kokkos::is_initialized()) Kokkos::finalize(); + KokkosLMP::finalize(); MPI_Finalize(); exit(status); } diff --git a/src/library.cpp b/src/library.cpp index 4fcf382247..178364d777 100644 --- a/src/library.cpp +++ b/src/library.cpp @@ -356,7 +356,7 @@ void lammps_mpi_finalize() void lammps_kokkos_finalize() { - if (Kokkos::is_initialized()) Kokkos::finalize(); + KokkosLMP::finalize(); } // ---------------------------------------------------------------------- diff --git a/src/main.cpp b/src/main.cpp index ff1b3f9a09..76ae4fde09 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -78,15 +78,16 @@ int main(int argc, char **argv) lammps->input->file(); delete lammps; } catch (LAMMPSAbortException &ae) { - if (Kokkos::is_initialized()) Kokkos::finalize(); + KokkosLMP::finalize(); MPI_Abort(ae.universe, 1); } catch (LAMMPSException &e) { - if (Kokkos::is_initialized()) Kokkos::finalize(); + KokkosLMP::finalize(); MPI_Barrier(lammps_comm); MPI_Finalize(); exit(1); } catch (fmt::format_error &fe) { fprintf(stderr, "fmt::format_error: %s\n", fe.what()); + KokkosLMP::finalize(); MPI_Abort(MPI_COMM_WORLD, 1); exit(1); } @@ -97,11 +98,12 @@ int main(int argc, char **argv) delete lammps; } catch (fmt::format_error &fe) { fprintf(stderr, "fmt::format_error: %s\n", fe.what()); + KokkosLMP::finalize(); MPI_Abort(MPI_COMM_WORLD, 1); exit(1); } #endif - if (Kokkos::is_initialized()) Kokkos::finalize(); + KokkosLMP::finalize(); MPI_Barrier(lammps_comm); MPI_Finalize(); } From 30ac0107c866d4124282a39c220b738eb90213e7 Mon Sep 17 00:00:00 2001 From: Stan Gerald Moore Date: Fri, 25 Jun 2021 10:32:54 -0600 Subject: [PATCH 272/726] Remove unused function --- src/accelerator_kokkos.h | 5 ----- 1 file changed, 5 deletions(-) diff --git a/src/accelerator_kokkos.h b/src/accelerator_kokkos.h index 118ac3b9c8..0cea855f1e 100644 --- a/src/accelerator_kokkos.h +++ b/src/accelerator_kokkos.h @@ -43,10 +43,6 @@ #include "modify.h" #include "neighbor.h" -namespace Kokkos { - typedef int InitArguements; -}; - #define LAMMPS_INLINE inline namespace LAMMPS_NS { @@ -60,7 +56,6 @@ class KokkosLMP { KokkosLMP(class LAMMPS *, int, char **) { kokkos_exists = 0; } ~KokkosLMP() {} - static void initialize(Kokkos::InitArguements args) {} static void finalize() {} void accelerator(int, char **) {} int neigh_list_kokkos(int) { return 0; } From a74a718b6f25ac6819196263885b3ec73871d345 Mon Sep 17 00:00:00 2001 From: Stan Gerald Moore Date: Fri, 25 Jun 2021 10:47:55 -0600 Subject: [PATCH 273/726] Add additional error check --- src/KOKKOS/kokkos.cpp | 7 ++++--- src/KOKKOS/kokkos.h | 2 ++ 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/KOKKOS/kokkos.cpp b/src/KOKKOS/kokkos.cpp index 53fda7684c..7c53ce0388 100644 --- a/src/KOKKOS/kokkos.cpp +++ b/src/KOKKOS/kokkos.cpp @@ -306,16 +306,17 @@ KokkosLMP::~KokkosLMP() void KokkosLMP::initialize(Kokkos::InitArguments args) { - if (!Kokkos::is_initialized()) + if (!Kokkos::is_initialized()) { + if (is_finalized) + error->all(FLERR,"Kokkos package already finalized, cannot re-initialize"); Kokkos::initialize(args); + } } /* ---------------------------------------------------------------------- */ void KokkosLMP::finalize() { - static int is_finalized = 0; - if (Kokkos::is_initialized() && !is_finalized) Kokkos::finalize(); is_finalized = 1; diff --git a/src/KOKKOS/kokkos.h b/src/KOKKOS/kokkos.h index 7782e4e00c..7d05512bd7 100644 --- a/src/KOKKOS/kokkos.h +++ b/src/KOKKOS/kokkos.h @@ -49,6 +49,8 @@ class KokkosLMP : protected Pointers { int newtonflag; double binsize; + static int is_finalized; + KokkosLMP(class LAMMPS *, int, char **); ~KokkosLMP(); static void initialize(Kokkos::InitArguments); From 4a0750ade0f816193ae97214102e0d8fb963ab33 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 25 Jun 2021 15:46:30 -0400 Subject: [PATCH 274/726] correct documentation under restrictions for temp/csld and temp/csvr fixes --- doc/src/fix_temp_csvr.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/src/fix_temp_csvr.rst b/doc/src/fix_temp_csvr.rst index ae276f9fc5..3652635340 100644 --- a/doc/src/fix_temp_csvr.rst +++ b/doc/src/fix_temp_csvr.rst @@ -176,9 +176,9 @@ These fixes are not invoked during :doc:`energy minimization `. Restrictions """""""""""" -These fixes are not compatible with :doc:`fix shake `. +Fix *temp/csld* is not compatible with :doc:`fix shake `. -The fix can be used with dynamic groups as defined by the +These fixes can be used with dynamic groups as defined by the :doc:`group ` command. Likewise it can be used with groups to which atoms are added or deleted over time, e.g. a deposition simulation. However, the conservation properties of the thermostat From 7b87b5c80b61f5177052c8b816a79f17a581d098 Mon Sep 17 00:00:00 2001 From: tomswinburne Date: Sun, 27 Jun 2021 15:46:14 +0200 Subject: [PATCH 275/726] snap scaling --- src/MAKE/Makefile.mpi | 6 ++--- src/SNAP/pair_snap.cpp | 51 +++++++++++++++++++++++++++++------------- src/SNAP/pair_snap.h | 2 ++ 3 files changed, 41 insertions(+), 18 deletions(-) diff --git a/src/MAKE/Makefile.mpi b/src/MAKE/Makefile.mpi index 9776b0153e..7b06320f52 100644 --- a/src/MAKE/Makefile.mpi +++ b/src/MAKE/Makefile.mpi @@ -7,12 +7,12 @@ SHELL = /bin/sh # specify flags and libraries needed for your compiler CC = mpicxx -CCFLAGS = -g -O3 +CCFLAGS = -g -O3 -std=c++11 SHFLAGS = -fPIC DEPFLAGS = -M LINK = mpicxx -LINKFLAGS = -g -O3 +LINKFLAGS = -g -O3 -std=c++11 LIB = SIZE = size @@ -28,7 +28,7 @@ SHLIBFLAGS = -shared -rdynamic # LAMMPS ifdef settings # see possible settings in Section 3.5 of the manual -LMP_INC = -DLAMMPS_GZIP -DLAMMPS_MEMALIGN=64 # -DLAMMPS_CXX98 +LMP_INC = -DLAMMPS_GZIP -DLAMMPS_MEMALIGN=64 -DLAMMPS_EXCEPTIONS # MPI library # see discussion in Section 3.4 of the manual diff --git a/src/SNAP/pair_snap.cpp b/src/SNAP/pair_snap.cpp index b8d8333902..da54847820 100644 --- a/src/SNAP/pair_snap.cpp +++ b/src/SNAP/pair_snap.cpp @@ -65,11 +65,13 @@ PairSNAP::~PairSNAP() memory->destroy(beta); memory->destroy(bispectrum); + delete snaptr; if (allocated) { memory->destroy(setflag); memory->destroy(cutsq); + memory->destroy(scale); } } @@ -178,12 +180,12 @@ void PairSNAP::compute(int eflag, int vflag) snaptr->compute_deidrj(fij); - f[i][0] += fij[0]; - f[i][1] += fij[1]; - f[i][2] += fij[2]; - f[j][0] -= fij[0]; - f[j][1] -= fij[1]; - f[j][2] -= fij[2]; + f[i][0] += fij[0] * scale[itype][itype]; + f[i][1] += fij[1] * scale[itype][itype]; + f[i][2] += fij[2] * scale[itype][itype]; + f[j][0] -= fij[0] * scale[itype][itype]; + f[j][1] -= fij[1] * scale[itype][itype]; + f[j][2] -= fij[2] * scale[itype][itype]; // tally per-atom virial contribution @@ -201,7 +203,7 @@ void PairSNAP::compute(int eflag, int vflag) // evdwl = energy of atom I, sum over coeffs_k * Bi_k double* coeffi = coeffelem[ielem]; - evdwl = coeffi[0]; + evdwl = coeffi[0] * scale[itype][itype] ; // snaptr->copy_bi2bvec(); // E = beta.B + 0.5*B^t.alpha.B @@ -209,7 +211,7 @@ void PairSNAP::compute(int eflag, int vflag) // linear contributions for (int icoeff = 0; icoeff < ncoeff; icoeff++) - evdwl += coeffi[icoeff+1]*bispectrum[ii][icoeff]; + evdwl += coeffi[icoeff+1]*bispectrum[ii][icoeff] * scale[itype][itype]; // quadratic contributions @@ -217,10 +219,10 @@ void PairSNAP::compute(int eflag, int vflag) int k = ncoeff+1; for (int icoeff = 0; icoeff < ncoeff; icoeff++) { double bveci = bispectrum[ii][icoeff]; - evdwl += 0.5*coeffi[k++]*bveci*bveci; + evdwl += 0.5*coeffi[k++]*bveci*bveci * scale[itype][itype]; for (int jcoeff = icoeff+1; jcoeff < ncoeff; jcoeff++) { double bvecj = bispectrum[ii][jcoeff]; - evdwl += coeffi[k++]*bveci*bvecj; + evdwl += coeffi[k++]*bveci*bvecj * scale[itype][itype]; } } } @@ -248,18 +250,18 @@ void PairSNAP::compute_beta() double* coeffi = coeffelem[ielem]; for (int icoeff = 0; icoeff < ncoeff; icoeff++) - beta[ii][icoeff] = coeffi[icoeff+1]; + beta[ii][icoeff] = coeffi[icoeff+1] ; if (quadraticflag) { int k = ncoeff+1; for (int icoeff = 0; icoeff < ncoeff; icoeff++) { double bveci = bispectrum[ii][icoeff]; - beta[ii][icoeff] += coeffi[k]*bveci; + beta[ii][icoeff] += coeffi[k] * bveci ; k++; for (int jcoeff = icoeff+1; jcoeff < ncoeff; jcoeff++) { double bvecj = bispectrum[ii][jcoeff]; - beta[ii][icoeff] += coeffi[k]*bvecj; - beta[ii][jcoeff] += coeffi[k]*bveci; + beta[ii][icoeff] += coeffi[k] * bvecj ; + beta[ii][jcoeff] += coeffi[k] * bveci ; k++; } } @@ -354,7 +356,9 @@ void PairSNAP::allocate() memory->create(setflag,n+1,n+1,"pair:setflag"); memory->create(cutsq,n+1,n+1,"pair:cutsq"); + memory->create(scale,n+1,n+1,"pair:scale"); map = new int[n+1]; + } /* ---------------------------------------------------------------------- @@ -374,6 +378,7 @@ void PairSNAP::settings(int narg, char ** /* arg */) void PairSNAP::coeff(int narg, char **arg) { if (!allocated) allocate(); + if (narg != 4 + atom->ntypes) error->all(FLERR,"Incorrect args for pair coefficients"); map_element2type(narg-4,arg+4); @@ -382,6 +387,8 @@ void PairSNAP::coeff(int narg, char **arg) read_files(arg[2],arg[3]); + + if (!quadraticflag) ncoeff = ncoeffall - 1; else { @@ -408,11 +415,16 @@ void PairSNAP::coeff(int narg, char **arg) } // Calculate maximum cutoff for all elements - rcutmax = 0.0; for (int ielem = 0; ielem < nelements; ielem++) rcutmax = MAX(2.0*radelem[ielem]*rcutfac,rcutmax); + // set default scaling + int n = atom->ntypes; + for (int ii = 0; ii < n+1; ii++) + for (int jj = 0; jj < n+1; jj++) + scale[ii][jj] = 1.0; + } /* ---------------------------------------------------------------------- @@ -441,6 +453,7 @@ void PairSNAP::init_style() double PairSNAP::init_one(int i, int j) { if (setflag[i][j] == 0) error->all(FLERR,"All pair coeffs are not set"); + scale[j][i] = scale[i][j]; return (radelem[map[i]] + radelem[map[j]])*rcutfac; } @@ -711,6 +724,7 @@ double PairSNAP::memory_usage() int n = atom->ntypes+1; bytes += (double)n*n*sizeof(int); // setflag bytes += (double)n*n*sizeof(double); // cutsq + bytes += (double)n*n*sizeof(double); // scale bytes += (double)n*sizeof(int); // map bytes += (double)beta_max*ncoeff*sizeof(double); // bispectrum bytes += (double)beta_max*ncoeff*sizeof(double); // beta @@ -720,3 +734,10 @@ double PairSNAP::memory_usage() return bytes; } + +void *PairSNAP::extract(const char *str, int &dim) +{ + dim = 2; + if (strcmp(str,"scale") == 0) return (void *) scale; + return nullptr; +} diff --git a/src/SNAP/pair_snap.h b/src/SNAP/pair_snap.h index 0cc38ef9cb..afce4bf895 100644 --- a/src/SNAP/pair_snap.h +++ b/src/SNAP/pair_snap.h @@ -34,6 +34,7 @@ class PairSNAP : public Pair { virtual void init_style(); virtual double init_one(int, int); virtual double memory_usage(); + virtual void *extract(const char *, int &); double rcutfac, quadraticflag; // declared public to workaround gcc 4.9 int ncoeff; // compiler bug, manifest in KOKKOS package @@ -55,6 +56,7 @@ class PairSNAP : public Pair { double **coeffelem; // element bispectrum coefficients double **beta; // betas for all atoms in list double **bispectrum; // bispectrum components for all atoms in list + double **scale; // for thermodynamic integration int twojmax, switchflag, bzeroflag, bnormflag; int chemflag, wselfallflag; int chunksize; From 78d1c8bc7ecf9642b25df37a1fd398840c8483a7 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 27 Jun 2021 14:39:53 -0400 Subject: [PATCH 276/726] USER-MOLFILE depends on CMAKE_DL_LIBS when not compiling on Windows --- cmake/Modules/Packages/USER-MOLFILE.cmake | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/cmake/Modules/Packages/USER-MOLFILE.cmake b/cmake/Modules/Packages/USER-MOLFILE.cmake index 427f0ed6fa..add4c640e7 100644 --- a/cmake/Modules/Packages/USER-MOLFILE.cmake +++ b/cmake/Modules/Packages/USER-MOLFILE.cmake @@ -1,5 +1,7 @@ set(MOLFILE_INCLUDE_DIR "${LAMMPS_LIB_SOURCE_DIR}/molfile" CACHE STRING "Path to VMD molfile plugin headers") -set(MOLFILE_INCLUDE_DIRS "${MOLFILE_INCLUDE_DIR}") add_library(molfile INTERFACE) -target_include_directories(molfile INTERFACE ${MOLFILE_INCLUDE_DIRS}) +target_include_directories(molfile INTERFACE ${MOLFILE_INCLUDE_DIR}) +if(NOT (CMAKE_SYSTEM_NAME STREQUAL "Windows")) + target_link_libraries(molfile INTERFACE ${CMAKE_DL_LIBS}) +endif() target_link_libraries(lammps PRIVATE molfile) From e8646f6aafb244ba4b1d16ffcd00e9cfb1395ef4 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 27 Jun 2021 15:03:12 -0400 Subject: [PATCH 277/726] fix very minor memory leak issues reported by static code analysis --- src/MLIAP/mliap_so3_math.h | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/src/MLIAP/mliap_so3_math.h b/src/MLIAP/mliap_so3_math.h index eaaa94d0a0..1e26b4d223 100644 --- a/src/MLIAP/mliap_so3_math.h +++ b/src/MLIAP/mliap_so3_math.h @@ -25,8 +25,8 @@ typedef Jacobi Jacobi_v2; int SO3Math::jacobin(int n, double const *const *mat, double *eval, double **evec) { int *midx = new int[n]; - double **M = new double*[n]; - double **mat_cpy = new double*[n]; + double **M = new double *[n]; + double **mat_cpy = new double *[n]; for (int i = 0; i < n; i++) { mat_cpy[i] = new double[n]; @@ -63,22 +63,26 @@ int SO3Math::invert_matrix(int n, double *A, double *Ainv) for (i = 0; i < n * n; i++) Atemp[i] = A[i]; - if (LUPdecompose(n, dtol, Atemp, P) != 0) return 1; + int rv = 0; + if (LUPdecompose(n, dtol, Atemp, P) == 0) { - for (i = 0; i < n; i++) { - for (j = 0; j < n; j++) b[j] = 0.0; + for (i = 0; i < n; i++) { + for (j = 0; j < n; j++) b[j] = 0.0; - b[i] = 1.0; - LUPSolve(n, Atemp, b, P); + b[i] = 1.0; + LUPSolve(n, Atemp, b, P); - for (j = 0; j < n; j++) Ainv[j * n + i] = b[j]; + for (j = 0; j < n; j++) Ainv[j * n + i] = b[j]; + } + } else { + rv = 1; } delete[] P; delete[] b; delete[] Atemp; - return 0; + return rv; } int SO3Math::LUPdecompose(int n, double dtol, double *A, int *P) @@ -96,7 +100,10 @@ int SO3Math::LUPdecompose(int n, double dtol, double *A, int *P) Atemp = fabs(A[i * n + j]); if (Atemp > maxA) maxA = Atemp; } - if (maxA < dtol) return 1; + if (maxA < dtol) { + delete[] normi; + return 1; + } normi[i] = 1.0 / maxA; } From 5d9b5261fb051d03ce1475cb5ebbfbb873e47841 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 27 Jun 2021 15:04:01 -0400 Subject: [PATCH 278/726] address possible 32-bit integer overflow issues reported by static code analysis --- src/MLIAP/mliap_descriptor_so3.cpp | 2 +- src/MLIAP/mliap_so3.cpp | 74 +++++++++++++++--------------- src/MLIAP/mliap_so3.h | 2 +- 3 files changed, 38 insertions(+), 40 deletions(-) diff --git a/src/MLIAP/mliap_descriptor_so3.cpp b/src/MLIAP/mliap_descriptor_so3.cpp index 8d170f6447..d28a2fdc42 100644 --- a/src/MLIAP/mliap_descriptor_so3.cpp +++ b/src/MLIAP/mliap_descriptor_so3.cpp @@ -221,7 +221,7 @@ void MLIAPDescriptorSO3::compute_descriptors(class MLIAPData *data) void MLIAPDescriptorSO3::compute_forces(class MLIAPData *data) { - int npairs = 0; + bigint npairs = 0; for (int ii = 0; ii < data->nlistatoms; ii++) npairs += data->numneighs[ii]; so3ptr->spectrum_dxdr(data->nlistatoms, data->numneighs, data->jelems, wjelem, data->rij, nmax, diff --git a/src/MLIAP/mliap_so3.cpp b/src/MLIAP/mliap_so3.cpp index 050408c0c9..cc9c1a97f0 100644 --- a/src/MLIAP/mliap_so3.cpp +++ b/src/MLIAP/mliap_so3.cpp @@ -819,18 +819,18 @@ void MLIAP_SO3::spectrum(int nlocal, int *numneighs, int *jelems, double *wjelem bigint totaln = 0; bigint totali; double Ylm_r, Ylm_i; - int i, ti; int weight, neighbor; double x, y, z, r; double r_int; int twolmax = 2 * (lmax + 1); - int findex, gindex; - int ipair = 0; + int findex; + bigint gindex; + bigint ipair = 0; double sfac; findex = m_nmax * (m_lmax + 1); - for (i = 0; i < nlocal; i++) totaln += numneighs[i]; + for (int i = 0; i < nlocal; i++) totaln += numneighs[i]; totali = totaln * m_Nmax * (m_lmax + 1); memory->destroy(m_sbes_array); @@ -857,16 +857,16 @@ void MLIAP_SO3::spectrum(int nlocal, int *numneighs, int *jelems, double *wjelem get_rip_array(nlocal, numneighs, rij, nmax, lmax, alpha); - totali = nlocal * ncoefs; - for (i = 0; i < totali; i++) { + totali = (bigint)nlocal * ncoefs; + for (int i = 0; i < totali; i++) { m_plist_r[i] = 0.0; m_plist_i[i] = 0.0; } for (int ii = 0; ii < nlocal; ii++) { - totali = nmax * m_numYlms; + totali = (bigint)nmax * m_numYlms; - for (ti = 0; ti < totali; ti++) { + for (bigint ti = 0; ti < totali; ti++) { m_clisttot_r[ti] = 0.0; m_clisttot_i[ti] = 0.0; } @@ -883,12 +883,12 @@ void MLIAP_SO3::spectrum(int nlocal, int *numneighs, int *jelems, double *wjelem r = sqrt(x * x + y * y + z * z); if (r < SMALL) continue; - totali = nmax * m_numYlms; - for (ti = 0; ti < totali; ti++) { + totali = (bigint)nmax * m_numYlms; + for (bigint ti = 0; ti < totali; ti++) { m_clist_r[ti] = 0.0; m_clist_i[ti] = 0.0; } - for (ti = 0; ti < m_idxu_count; ti++) { + for (bigint ti = 0; ti < m_idxu_count; ti++) { m_ulist_r[ti] = 0.0; m_ulist_i[ti] = 0.0; } @@ -914,18 +914,17 @@ void MLIAP_SO3::spectrum(int nlocal, int *numneighs, int *jelems, double *wjelem } } - totali = nmax * m_numYlms; - for (int tn = 0; tn < totali; tn++) { + totali = (bigint)nmax * m_numYlms; + for (bigint tn = 0; tn < totali; tn++) { m_clist_r[tn] = m_clist_r[tn] * double(weight); m_clist_i[tn] = m_clist_i[tn] * double(weight); } - for (int tn = 0; tn < totali; tn++) { + for (bigint tn = 0; tn < totali; tn++) { m_clisttot_r[tn] += m_clist_r[tn]; m_clisttot_i[tn] += m_clist_i[tn]; } } - compute_pi(nmax, lmax, m_clisttot_r, m_clisttot_i, m_numYlms, m_plist_r, m_plist_i, ncoefs, ii); } @@ -935,7 +934,7 @@ void MLIAP_SO3::spectrum(int nlocal, int *numneighs, int *jelems, double *wjelem /* ---------------------------------------------------------------------- */ void MLIAP_SO3::spectrum_dxdr(int nlocal, int *numneighs, int *jelems, double *wjelem, double **rij, - int nmax, int lmax, double rcut, double alpha, int npairs, int ncoefs) + int nmax, int lmax, double rcut, double alpha, bigint npairs, int ncoefs) { bigint totaln = 0; bigint totali; @@ -946,15 +945,14 @@ void MLIAP_SO3::spectrum_dxdr(int nlocal, int *numneighs, int *jelems, double *w double dexpfac[3]; double dfact[6]; - int i, ti; - double xcov0_r, xcov0_i, xcovpl1_r, xcovpl1_i, xcovm1_r, xcovm1_i; double comj_i; double r_int; double r_int_temp; double oneofr; - int findex, gindex; + int findex; + bigint gindex; int numps, weight, neighbor; @@ -966,7 +964,7 @@ void MLIAP_SO3::spectrum_dxdr(int nlocal, int *numneighs, int *jelems, double *w findex = m_nmax * (m_lmax + 1); - for (i = 0; i < nlocal; i++) totaln += numneighs[i]; + for (int i = 0; i < nlocal; i++) totaln += numneighs[i]; totali = totaln * m_Nmax * (m_lmax + 1); memory->destroy(m_sbes_array); @@ -988,7 +986,7 @@ void MLIAP_SO3::spectrum_dxdr(int nlocal, int *numneighs, int *jelems, double *w totali = npairs * ncoefs * 3; - for (i = 0; i < totali; i++) { + for (int i = 0; i < totali; i++) { m_dplist_r[i] = 0.0; m_dplist_i[i] = 0.0; } @@ -1004,7 +1002,7 @@ void MLIAP_SO3::spectrum_dxdr(int nlocal, int *numneighs, int *jelems, double *w for (int ii = 0; ii < nlocal; ii++) { totali = nmax * m_numYlms; - for (ti = 0; ti < totali; ti++) { + for (bigint ti = 0; ti < totali; ti++) { m_clisttot_r[ti] = 0.0; m_clisttot_i[ti] = 0.0; } @@ -1024,12 +1022,12 @@ void MLIAP_SO3::spectrum_dxdr(int nlocal, int *numneighs, int *jelems, double *w if (r < SMALL) continue; totali = nmax * m_numYlms; - for (ti = 0; ti < totali; ti++) { + for (bigint ti = 0; ti < totali; ti++) { m_clist_r[ti] = 0.0; m_clist_i[ti] = 0.0; } - for (ti = 0; ti < m_idxu_count; ti++) { + for (bigint ti = 0; ti < m_idxu_count; ti++) { m_ulist_r[ti] = 0.0; m_ulist_i[ti] = 0.0; } @@ -1056,12 +1054,12 @@ void MLIAP_SO3::spectrum_dxdr(int nlocal, int *numneighs, int *jelems, double *w } totali = nmax * m_numYlms; - for (int tn = 0; tn < totali; tn++) { + for (bigint tn = 0; tn < totali; tn++) { m_clist_r[tn] = m_clist_r[tn] * double(weight); m_clist_i[tn] = m_clist_i[tn] * double(weight); } - for (int tn = 0; tn < totali; tn++) { + for (bigint tn = 0; tn < totali; tn++) { m_clisttot_r[tn] += m_clist_r[tn]; m_clisttot_i[tn] += m_clist_i[tn]; } @@ -1080,13 +1078,13 @@ void MLIAP_SO3::spectrum_dxdr(int nlocal, int *numneighs, int *jelems, double *w r = sqrt(x * x + y * y + z * z); if (r < SMALL) continue; - totali = nmax * m_numYlms * 3; - for (int tn = 0; tn < totali; tn++) { + totali = (bigint) nmax * m_numYlms * 3; + for (bigint tn = 0; tn < totali; tn++) { m_dclist_r[tn] = 0.0; m_dclist_i[tn] = 0.0; } - for (ti = 0; ti < m_idxu_count; ti++) { + for (int ti = 0; ti < m_idxu_count; ti++) { m_ulist_r[ti] = 0.0; m_ulist_i[ti] = 0.0; } @@ -1098,8 +1096,8 @@ void MLIAP_SO3::spectrum_dxdr(int nlocal, int *numneighs, int *jelems, double *w rvec[0] = x; rvec[1] = y; rvec[2] = z; - totali = (lmax + 2) * (lmax + 2); - for (int tn = 0; tn < totali; tn++) { + totali = ((bigint)lmax + 2) * (lmax + 2); + for (bigint tn = 0; tn < totali; tn++) { m_Ylms_r[tn] = 0.0; m_Ylms_i[tn] = 0.0; } @@ -1113,8 +1111,8 @@ void MLIAP_SO3::spectrum_dxdr(int nlocal, int *numneighs, int *jelems, double *w } } - totali = (lmax + 1) * (lmax + 1) * 3; - for (int tn = 0; tn < totali; tn++) { + totali = ((bigint)lmax + 1) * (lmax + 1) * 3; + for (bigint tn = 0; tn < totali; tn++) { m_dYlm_r[tn] = 0.0; m_dYlm_i[tn] = 0.0; } @@ -1221,19 +1219,19 @@ void MLIAP_SO3::spectrum_dxdr(int nlocal, int *numneighs, int *jelems, double *w } /////// end compute_carray_wD ////////////////// - totali = nmax * m_numYlms * 3; - for (int tn = 0; tn < totali; tn++) { + totali = (bigint)nmax * m_numYlms * 3; + for (bigint tn = 0; tn < totali; tn++) { m_dclist_r[tn] = m_dclist_r[tn] * double(weight); m_dclist_i[tn] = m_dclist_i[tn] * double(weight); } - totali = numps * 3; - for (ti = 0; ti < totali; ti++) m_tempdp_r[ti] = 0.0; + totali = (bigint)numps * 3; + for (bigint ti = 0; ti < totali; ti++) m_tempdp_r[ti] = 0.0; compute_dpidrj(nmax, lmax, m_clisttot_r, m_clisttot_i, m_numYlms, m_dclist_r, m_dclist_i, m_numYlms, 3, m_tempdp_r, 3); - for (int tn = 0; tn < totali; tn++) + for (bigint tn = 0; tn < totali; tn++) m_dplist_r[((idpair - 1) * (numps * 3)) + tn] += m_tempdp_r[tn]; } //for(neighbor=0;neighbor Date: Sun, 27 Jun 2021 15:18:50 -0400 Subject: [PATCH 279/726] consolidate initialization, reformat --- src/MLIAP/mliap_so3.cpp | 76 ++++++++++++++++++++++------------------- src/MLIAP/mliap_so3.h | 2 +- 2 files changed, 41 insertions(+), 37 deletions(-) diff --git a/src/MLIAP/mliap_so3.cpp b/src/MLIAP/mliap_so3.cpp index cc9c1a97f0..d514b0bc70 100644 --- a/src/MLIAP/mliap_so3.cpp +++ b/src/MLIAP/mliap_so3.cpp @@ -45,6 +45,7 @@ MLIAP_SO3::MLIAP_SO3(LAMMPS *lmp, double vrcut, int vlmax, int vnmax, double val compute_ncoeff(); m_Nmax = (m_nmax + m_lmax + 1) * 10; + m_numYlms = (m_lmax + 1) * (m_lmax + 1); m_ellpl1 = nullptr; m_ellm1 = nullptr; @@ -95,6 +96,10 @@ MLIAP_SO3::MLIAP_SO3(LAMMPS *lmp, double vrcut, int vlmax, int vnmax, double val m_clisttot_i = nullptr; m_init_arrays = 0; + m_dfac_l1 = m_dfac_l2 = 0; + m_pfac_l1 = m_pfac_l2 = 0; + m_idxu_count = m_idxy_count = 0; + alloc_init = alloc_arrays = 0.0; } /* ---------------------------------------------------------------------- */ @@ -171,7 +176,7 @@ void MLIAP_SO3::init() memory->create(m_ellpl1, totali, "MLIAP_SO3:m_ellpl1"); memory->destroy(m_ellm1); memory->create(m_ellm1, totali, "MLIAP_SO3:m_ellm1"); - alloc_init = 2.0*totali*sizeof(double); + alloc_init = 2.0 * totali * sizeof(double); for (int l = 1; l < m_lmax + 1; l++) { m_ellpl1[l] = get_sum(0, l + 2, 1, 2); @@ -184,13 +189,13 @@ void MLIAP_SO3::init() totali = m_pfac_l1 * m_pfac_l2; memory->destroy(m_pfac); memory->create(m_pfac, totali, "MLIAP_SO3:m_pfac"); - alloc_init += totali*sizeof(double); + alloc_init += totali * sizeof(double); for (int l = 0; l < m_lmax + 2; l++) for (int m = -l; m < l + 1; m++) m_pfac[l * m_pfac_l2 + m] = sqrt((2.0 * l + 1.0) * pfac1) * powsign(m); m_dfac_l1 = m_lmax + 1; - m_dfac_l2 = (m_lmax + 1) * (m_lmax + 1) + 1; + m_dfac_l2 = m_numYlms + 1; totali = m_dfac_l1 * m_dfac_l2; memory->destroy(m_dfac0); memory->create(m_dfac0, totali, "MLIAP_SO3:m_dfac0"); @@ -204,7 +209,7 @@ void MLIAP_SO3::init() memory->create(m_dfac4, totali, "MLIAP_SO3:m_dfac4"); memory->destroy(m_dfac5); memory->create(m_dfac5, totali, "MLIAP_SO3:m_dfac5"); - alloc_init += 6.0*totali*sizeof(double); + alloc_init += 6.0 * totali * sizeof(double); for (int l = 1; l < m_lmax + 1; l++) for (int m = -l; m < l + 1; m++) { @@ -225,7 +230,7 @@ void MLIAP_SO3::init() totali = m_nmax * m_nmax; memory->destroy(m_w); memory->create(m_w, totali, "MLIAP_SO3:w"); - alloc_init += totali*sizeof(double); + alloc_init += totali * sizeof(double); for (i = 0; i < totali; i++) m_w[i] = 0.0; @@ -234,7 +239,7 @@ void MLIAP_SO3::init() totali = m_nmax * m_Nmax; memory->destroy(m_g_array); memory->create(m_g_array, totali, "MLIAP_SO3:g_array"); - alloc_init += totali*sizeof(double); + alloc_init += totali * sizeof(double); for (i = 0; i < totali; i++) m_g_array[i] = 0.0; @@ -242,11 +247,11 @@ void MLIAP_SO3::init() int twolmax; twolmax = 2 * (m_lmax + 1); - m_ldim = twolmax + 1; + int m_ldim = twolmax + 1; totali = m_ldim * m_ldim; memory->destroy(m_rootpq); memory->create(m_rootpq, totali, "MLIAP_SO3:rootpq"); - alloc_init += totali*sizeof(double); + alloc_init += totali * sizeof(double); for (i = 0; i < totali; i++) m_rootpq[i] = 0.0; @@ -255,18 +260,18 @@ void MLIAP_SO3::init() memory->destroy(m_idxu_block); memory->create(m_idxu_block, m_ldim, "MLIAP_SO3:idxu_bloc"); - alloc_init += totali*sizeof(double); + alloc_init += totali * sizeof(double); for (i = 0; i < m_ldim; i++) m_idxu_block[i] = 0; totali = square(m_lmax + 2); memory->destroy(m_idxylm); memory->create(m_idxylm, totali, "MLIAP_SO3:idxylm"); - alloc_init += totali*sizeof(double); + alloc_init += totali * sizeof(double); for (i = 0; i < totali; i++) m_idxylm[i] = 0; - m_idxu_count = 0, m_idxy_count = 0; + m_idxu_count = m_idxy_count = 0; for (int l = 0; l < m_ldim; l++) { m_idxu_block[l] = m_idxu_count; @@ -279,8 +284,6 @@ void MLIAP_SO3::init() m_idxu_count += 1; } } - - m_numYlms = (m_lmax + 1) * (m_lmax + 1); } /* ---------------------------------------------------------------------- */ @@ -292,54 +295,54 @@ void MLIAP_SO3::init_arrays(int nlocal, int ncoefs) memory->create(m_plist_r, totali, "MLIAP_SO3:m_plist_r"); memory->destroy(m_plist_i); memory->create(m_plist_i, totali, "MLIAP_SO3:m_plist_i"); - alloc_arrays = 2.0*totali*sizeof(double); + alloc_arrays = 2.0 * totali * sizeof(double); totali = m_nmax * m_numYlms; memory->destroy(m_clist_r); memory->create(m_clist_r, totali, "MLIAP_SO3:m_clist_r"); memory->destroy(m_clist_i); memory->create(m_clist_i, totali, "MLIAP_SO3:m_clist_i"); - alloc_arrays += 2.0*totali*sizeof(double); + alloc_arrays += 2.0 * totali * sizeof(double); totali = m_idxu_count; memory->destroy(m_ulist_r); memory->create(m_ulist_r, totali, "MLIAP_SO3:m_ulist_r"); memory->destroy(m_ulist_i); memory->create(m_ulist_i, totali, "MLIAP_SO3:m_ulist_i"); - alloc_arrays += 2.0*totali*sizeof(double); + alloc_arrays += 2.0 * totali * sizeof(double); totali = (m_lmax + 2) * (m_lmax + 2); memory->destroy(m_Ylms_r); memory->create(m_Ylms_r, totali, "MLIAP_SO3:m_Ylms_r"); memory->destroy(m_Ylms_i); memory->create(m_Ylms_i, totali, "MLIAP_SO3:m_Ylms_i"); - alloc_arrays += 2.0*totali*sizeof(double); + alloc_arrays += 2.0 * totali * sizeof(double); - totali = (m_lmax + 1) * (m_lmax + 1) * 3; + totali = m_numYlms * 3; memory->destroy(m_dYlm_r); memory->create(m_dYlm_r, totali, "MLIAP_SO3:m_dYlm_r"); memory->destroy(m_dYlm_i); memory->create(m_dYlm_i, totali, "MLIAP_SO3:m_dYlm_i"); - alloc_arrays += 2.0*totali*sizeof(double); + alloc_arrays += 2.0 * totali * sizeof(double); totali = m_nmax * m_numYlms * 3; memory->destroy(m_dclist_r); memory->create(m_dclist_r, totali, "MLIAP_SO3:m_dclist_r"); memory->destroy(m_dclist_i); memory->create(m_dclist_i, totali, "MLIAP_SO3:m_dclist_i"); - alloc_arrays += 2.0*totali*sizeof(double); + alloc_arrays += 2.0 * totali * sizeof(double); totali = 3 * m_nmax * (m_nmax + 1) * (m_lmax + 1) / 2; memory->destroy(m_tempdp_r); memory->create(m_tempdp_r, totali, "MLIAP_SO3:m_tempdp_r"); - alloc_arrays += totali*sizeof(double); + alloc_arrays += totali * sizeof(double); totali = m_nmax * m_numYlms; memory->destroy(m_clisttot_r); memory->create(m_clisttot_r, totali, "MLIAP_SO3:m_clisttot_r"); memory->destroy(m_clisttot_i); memory->create(m_clisttot_i, totali, "MLIAP_SO3:m_clisttot_i"); - alloc_arrays += 2.0*totali*sizeof(double); + alloc_arrays += 2.0 * totali * sizeof(double); m_init_arrays = 1; } @@ -374,8 +377,8 @@ void MLIAP_SO3::compute_W(int nmax, double *arr) double *sqrtD = new double[n * n]; double *tempM = new double[n * n]; - double **temparr = new double*[n]; - double **tempvl = new double*[n]; + double **temparr = new double *[n]; + double **tempvl = new double *[n]; double *tempout = new double[n]; int info; @@ -837,34 +840,34 @@ void MLIAP_SO3::spectrum(int nlocal, int *numneighs, int *jelems, double *wjelem memory->create(m_sbes_array, totali, "MLIAP_SO3:m_sbes_array"); memory->destroy(m_sbes_darray); memory->create(m_sbes_darray, totali, "MLIAP_SO3:m_sbes_darray"); - alloc_arrays += 2.0*totali*sizeof(double); + alloc_arrays += 2.0 * totali * sizeof(double); totali = totaln * m_nmax * (m_lmax + 1); memory->destroy(m_rip_array); memory->create(m_rip_array, totali, "MLIAP_SO3:m_rip_array"); memory->destroy(m_rip_darray); memory->create(m_rip_darray, totali, "MLIAP_SO3:m_rip_darray"); - alloc_arrays += 2.0*totali*sizeof(double); + alloc_arrays += 2.0 * totali * sizeof(double); totali = totaln * ncoefs * 3; memory->destroy(m_dplist_r); memory->create(m_dplist_r, totali, "MLIAP_SO3:m_dplist_r"); memory->destroy(m_dplist_i); memory->create(m_dplist_i, totali, "MLIAP_SO3:m_dplist_i"); - alloc_arrays += 2.0*totali*sizeof(double); + alloc_arrays += 2.0 * totali * sizeof(double); get_sbes_array(nlocal, numneighs, rij, lmax, rcut, alpha); get_rip_array(nlocal, numneighs, rij, nmax, lmax, alpha); - totali = (bigint)nlocal * ncoefs; + totali = (bigint) nlocal * ncoefs; for (int i = 0; i < totali; i++) { m_plist_r[i] = 0.0; m_plist_i[i] = 0.0; } for (int ii = 0; ii < nlocal; ii++) { - totali = (bigint)nmax * m_numYlms; + totali = (bigint) nmax * m_numYlms; for (bigint ti = 0; ti < totali; ti++) { m_clisttot_r[ti] = 0.0; @@ -883,7 +886,7 @@ void MLIAP_SO3::spectrum(int nlocal, int *numneighs, int *jelems, double *wjelem r = sqrt(x * x + y * y + z * z); if (r < SMALL) continue; - totali = (bigint)nmax * m_numYlms; + totali = (bigint) nmax * m_numYlms; for (bigint ti = 0; ti < totali; ti++) { m_clist_r[ti] = 0.0; m_clist_i[ti] = 0.0; @@ -914,7 +917,7 @@ void MLIAP_SO3::spectrum(int nlocal, int *numneighs, int *jelems, double *wjelem } } - totali = (bigint)nmax * m_numYlms; + totali = (bigint) nmax * m_numYlms; for (bigint tn = 0; tn < totali; tn++) { m_clist_r[tn] = m_clist_r[tn] * double(weight); m_clist_i[tn] = m_clist_i[tn] * double(weight); @@ -934,7 +937,8 @@ void MLIAP_SO3::spectrum(int nlocal, int *numneighs, int *jelems, double *wjelem /* ---------------------------------------------------------------------- */ void MLIAP_SO3::spectrum_dxdr(int nlocal, int *numneighs, int *jelems, double *wjelem, double **rij, - int nmax, int lmax, double rcut, double alpha, bigint npairs, int ncoefs) + int nmax, int lmax, double rcut, double alpha, bigint npairs, + int ncoefs) { bigint totaln = 0; bigint totali; @@ -1096,7 +1100,7 @@ void MLIAP_SO3::spectrum_dxdr(int nlocal, int *numneighs, int *jelems, double *w rvec[0] = x; rvec[1] = y; rvec[2] = z; - totali = ((bigint)lmax + 2) * (lmax + 2); + totali = ((bigint) lmax + 2) * (lmax + 2); for (bigint tn = 0; tn < totali; tn++) { m_Ylms_r[tn] = 0.0; m_Ylms_i[tn] = 0.0; @@ -1111,7 +1115,7 @@ void MLIAP_SO3::spectrum_dxdr(int nlocal, int *numneighs, int *jelems, double *w } } - totali = ((bigint)lmax + 1) * (lmax + 1) * 3; + totali = ((bigint) lmax + 1) * (lmax + 1) * 3; for (bigint tn = 0; tn < totali; tn++) { m_dYlm_r[tn] = 0.0; m_dYlm_i[tn] = 0.0; @@ -1219,13 +1223,13 @@ void MLIAP_SO3::spectrum_dxdr(int nlocal, int *numneighs, int *jelems, double *w } /////// end compute_carray_wD ////////////////// - totali = (bigint)nmax * m_numYlms * 3; + totali = (bigint) nmax * m_numYlms * 3; for (bigint tn = 0; tn < totali; tn++) { m_dclist_r[tn] = m_dclist_r[tn] * double(weight); m_dclist_i[tn] = m_dclist_i[tn] * double(weight); } - totali = (bigint)numps * 3; + totali = (bigint) numps * 3; for (bigint ti = 0; ti < totali; ti++) m_tempdp_r[ti] = 0.0; compute_dpidrj(nmax, lmax, m_clisttot_r, m_clisttot_i, m_numYlms, m_dclist_r, m_dclist_i, diff --git a/src/MLIAP/mliap_so3.h b/src/MLIAP/mliap_so3.h index 09174749d1..2429803dde 100644 --- a/src/MLIAP/mliap_so3.h +++ b/src/MLIAP/mliap_so3.h @@ -29,7 +29,7 @@ class MLIAP_SO3 : protected Pointers { double *m_dfac0, *m_dfac1, *m_dfac2, *m_dfac3, *m_dfac4, *m_dfac5; int m_dfac_l1, m_dfac_l2; double m_rcut, m_alpha; - int m_lmax, m_nmax, m_Nmax, m_ldim; + int m_lmax, m_nmax, m_Nmax; double *m_g_array, *m_w, *m_rootpq; int *m_idxu_block, *m_idxylm; int m_idxu_count, m_idxy_count; From ef54c7290e40864d486a654fc0e5efa675db0156 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 27 Jun 2021 15:40:38 -0400 Subject: [PATCH 280/726] must pass pointer to Error class as argument since static functions don't have access to "this" --- src/KOKKOS/kokkos.cpp | 4 ++-- src/KOKKOS/kokkos.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/KOKKOS/kokkos.cpp b/src/KOKKOS/kokkos.cpp index 7c53ce0388..9f0cb14683 100644 --- a/src/KOKKOS/kokkos.cpp +++ b/src/KOKKOS/kokkos.cpp @@ -189,7 +189,7 @@ KokkosLMP::KokkosLMP(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp) args.num_numa = numa; args.device_id = device; - initialize(args); + KokkosLMP::initialize(args,error); // default settings for package kokkos command @@ -304,7 +304,7 @@ KokkosLMP::~KokkosLMP() /* ---------------------------------------------------------------------- */ -void KokkosLMP::initialize(Kokkos::InitArguments args) +void KokkosLMP::initialize(Kokkos::InitArguments args, Error *error) { if (!Kokkos::is_initialized()) { if (is_finalized) diff --git a/src/KOKKOS/kokkos.h b/src/KOKKOS/kokkos.h index 7d05512bd7..a62666ba2a 100644 --- a/src/KOKKOS/kokkos.h +++ b/src/KOKKOS/kokkos.h @@ -53,7 +53,7 @@ class KokkosLMP : protected Pointers { KokkosLMP(class LAMMPS *, int, char **); ~KokkosLMP(); - static void initialize(Kokkos::InitArguments); + static void initialize(Kokkos::InitArguments, Error *); static void finalize(); void accelerator(int, char **); int neigh_count(int); From 8ec3d90f5c57e9a49df632a1ba80dc2b640b8c3f Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 27 Jun 2021 15:41:59 -0400 Subject: [PATCH 281/726] simplify --- src/KOKKOS/kokkos.cpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/KOKKOS/kokkos.cpp b/src/KOKKOS/kokkos.cpp index 9f0cb14683..ffef36cd68 100644 --- a/src/KOKKOS/kokkos.cpp +++ b/src/KOKKOS/kokkos.cpp @@ -167,10 +167,8 @@ KokkosLMP::KokkosLMP(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp) // initialize Kokkos - if (me == 0) { - if (screen) fprintf(screen," will use up to %d GPU(s) per node\n",ngpus); - if (logfile) fprintf(logfile," will use up to %d GPU(s) per node\n",ngpus); - } + if (me == 0) + utils::logmesg(lmp, " will use up to {} GPU(s) per node\n",ngpus); #ifdef LMP_KOKKOS_GPU if (ngpus <= 0) From 2ef47fce69e8a4624fce87d28763afb4a9c8e27f Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 27 Jun 2021 16:08:22 -0400 Subject: [PATCH 282/726] add missing initializer for KokkosLMP::is_finalized --- src/KOKKOS/kokkos.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/KOKKOS/kokkos.cpp b/src/KOKKOS/kokkos.cpp index ffef36cd68..2a83b40bba 100644 --- a/src/KOKKOS/kokkos.cpp +++ b/src/KOKKOS/kokkos.cpp @@ -69,6 +69,8 @@ GPU_AWARE_UNKNOWN using namespace LAMMPS_NS; +int KokkosLMP::is_finalized = 0; + /* ---------------------------------------------------------------------- */ KokkosLMP::KokkosLMP(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp) From 9a740a4a60c3e769abcbfa6d4f4d214e12bb9c46 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 27 Jun 2021 17:07:42 -0400 Subject: [PATCH 283/726] add lammps_kokos_finalize() support to various LAMMPS wrappers and document --- doc/src/Library_create.rst | 1 + doc/src/Python_create.rst | 5 ++++- fortran/lammps.f90 | 15 +++++++-------- python/lammps/core.py | 10 ++++++++-- src/library.cpp | 21 +++++++++++++++++++-- tools/swig/lammps.i | 2 ++ 6 files changed, 41 insertions(+), 13 deletions(-) diff --git a/doc/src/Library_create.rst b/doc/src/Library_create.rst index 350569e54e..b3fea4b89e 100644 --- a/doc/src/Library_create.rst +++ b/doc/src/Library_create.rst @@ -9,6 +9,7 @@ This section documents the following functions: - :cpp:func:`lammps_close` - :cpp:func:`lammps_mpi_init` - :cpp:func:`lammps_mpi_finalize` +- :cpp:func:`lammps_kokkos_finalize` -------------------- diff --git a/doc/src/Python_create.rst b/doc/src/Python_create.rst index 00b1c08814..ec4241f36a 100644 --- a/doc/src/Python_create.rst +++ b/doc/src/Python_create.rst @@ -134,7 +134,10 @@ compiled with. The :py:func:`lmp.close() ` call is optional since the LAMMPS class instance will also be deleted automatically during the :py:class:`lammps ` class -destructor. +destructor. Instead of :py:func:`lmp.close() ` +it is also possible to call :py:func:`lmp.finalize() `; +this will destruct the LAMMPS instance, but also finalized and release +the MPI and/or Kokkos environment if enabled and active. Note that you can create multiple LAMMPS objects in your Python script, and coordinate and run multiple simulations, e.g. diff --git a/fortran/lammps.f90 b/fortran/lammps.f90 index 21909e1288..2e78cdd00b 100644 --- a/fortran/lammps.f90 +++ b/fortran/lammps.f90 @@ -76,17 +76,15 @@ MODULE LIBLAMMPS TYPE(c_ptr), VALUE :: handle END SUBROUTINE lammps_close - SUBROUTINE lammps_mpi_init(handle) BIND(C, name='lammps_mpi_init') - IMPORT :: c_ptr - TYPE(c_ptr), VALUE :: handle + SUBROUTINE lammps_mpi_init() BIND(C, name='lammps_mpi_init') END SUBROUTINE lammps_mpi_init - SUBROUTINE lammps_mpi_finalize(handle) & - BIND(C, name='lammps_mpi_finalize') - IMPORT :: c_ptr - TYPE(c_ptr), VALUE :: handle + SUBROUTINE lammps_mpi_finalize() BIND(C, name='lammps_mpi_finalize') END SUBROUTINE lammps_mpi_finalize + SUBROUTINE lammps_kokkos_finalize() BIND(C, name='lammps_kokkos_finalize') + END SUBROUTINE lammps_kokkos_finalize + SUBROUTINE lammps_file(handle,filename) BIND(C, name='lammps_file') IMPORT :: c_ptr TYPE(c_ptr), VALUE :: handle @@ -188,7 +186,8 @@ CONTAINS IF (PRESENT(finalize)) THEN IF (finalize) THEN - CALL lammps_mpi_finalize(self%handle) + CALL lammps_kokkos_finalize() + CALL lammps_mpi_finalize() END IF END IF END SUBROUTINE lmp_close diff --git a/python/lammps/core.py b/python/lammps/core.py index 88eba735b0..c7b51a6b54 100644 --- a/python/lammps/core.py +++ b/python/lammps/core.py @@ -460,10 +460,16 @@ class lammps(object): # ------------------------------------------------------------------------- def finalize(self): - """Shut down the MPI communication through the library interface by calling :cpp:func:`lammps_finalize`. + """Shut down the MPI communication and Kokkos environment (if active) through the + library interface by calling :cpp:func:`lammps_mpi_finalize` and + :cpp:func:`lammps_kokkos_finalize`. + + You cannot create or use any LAMMPS instances after this function is called + unless LAMMPS was compiled without MPI and without Kokkos support. """ self.close() - self.lib.lammps_finalize() + self.lib.lammps_kokkos_finalize() + self.lib.lammps_mpi_finalize() # ------------------------------------------------------------------------- diff --git a/src/library.cpp b/src/library.cpp index 178364d777..111430ced0 100644 --- a/src/library.cpp +++ b/src/library.cpp @@ -334,8 +334,8 @@ The MPI standard requires that any MPI application calls do any MPI calls, MPI is still initialized internally to avoid errors accessing any MPI functions. This function should then be called right before exiting the program to wait until all (parallel) tasks are -completed and then MPI is cleanly shut down. After this function no -more MPI calls may be made. +completed and then MPI is cleanly shut down. After calling this +function no more MPI calls may be made. .. versionadded:: 18Sep2020 @@ -354,6 +354,23 @@ void lammps_mpi_finalize() } } +/* ---------------------------------------------------------------------- */ + +/** Shut down the Kokkos library environment. + * +\verbatim embed:rst + +The Kokkos library may only be initialized once during the execution of +a process. This is done automatically the first time Kokkos +functionality is used. This requires that the Kokkos environment +must be explicitly shut down after any LAMMPS instance using it is +closed (to release associated resources). +After calling this function no Kokkos functionality may be used. + +.. versionadded:: TBD + +\endverbatim */ + void lammps_kokkos_finalize() { KokkosLMP::finalize(); diff --git a/tools/swig/lammps.i b/tools/swig/lammps.i index ec37120c07..56547dda53 100644 --- a/tools/swig/lammps.i +++ b/tools/swig/lammps.i @@ -63,6 +63,7 @@ extern void *lammps_open_fortran(int argc, char **argv, int f_comm); extern void lammps_close(void *handle); extern void lammps_mpi_init(); extern void lammps_mpi_finalize(); +extern void lammps_kokkos_finalize(); extern void lammps_file(void *handle, const char *file); extern char *lammps_command(void *handle, const char *cmd); extern void lammps_commands_list(void *handle, int ncmd, const char **cmds); @@ -185,6 +186,7 @@ extern void *lammps_open_fortran(int argc, char **argv, int f_comm); extern void lammps_close(void *handle); extern void lammps_mpi_init(); extern void lammps_mpi_finalize(); +extern void lammps_kokkos_finalize(); extern void lammps_file(void *handle, const char *file); extern char *lammps_command(void *handle, const char *cmd); extern void lammps_commands_list(void *handle, int ncmd, const char **cmds); From 4a21a0e727a8ea8d8cb8ea7d2070e0a0ea5482c8 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 28 Jun 2021 10:17:48 -0400 Subject: [PATCH 284/726] make handling of 2theta values consistent including using the default --- src/USER-DIFFRACTION/compute_xrd.cpp | 29 +++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/src/USER-DIFFRACTION/compute_xrd.cpp b/src/USER-DIFFRACTION/compute_xrd.cpp index a0a049e9d7..8e58a534ea 100644 --- a/src/USER-DIFFRACTION/compute_xrd.cpp +++ b/src/USER-DIFFRACTION/compute_xrd.cpp @@ -109,19 +109,8 @@ ComputeXRD::ComputeXRD(LAMMPS *lmp, int narg, char **arg) : while (iarg < narg) { if (strcmp(arg[iarg],"2Theta") == 0) { if (iarg+3 > narg) error->all(FLERR,"Illegal Compute XRD Command"); - Min2Theta = atof(arg[iarg+1]) / 2; - Max2Theta = atof(arg[iarg+2]) / 2; - if (Max2Theta > MY_PI) { - Min2Theta = Min2Theta * MY_PI / 180; // converting to radians if necessary - Max2Theta = Max2Theta * MY_PI / 180; - radflag = 0; - } - if (Min2Theta <= 0) - error->all(FLERR,"Minimum 2theta value must be greater than zero"); - if (Max2Theta >= MY_PI ) - error->all(FLERR,"Maximum 2theta value must be less than 180 degrees"); - if (Max2Theta-Min2Theta <= 0) - error->all(FLERR,"Two-theta range must be greater than zero"); + Min2Theta = utils::numeric(FLERR,arg[iarg+1],false,lmp); + Max2Theta = utils::numeric(FLERR,arg[iarg+2],false,lmp); iarg += 3; } else if (strcmp(arg[iarg],"c") == 0) { @@ -152,6 +141,20 @@ ComputeXRD::ComputeXRD(LAMMPS *lmp, int narg, char **arg) : } else error->all(FLERR,"Illegal Compute XRD Command"); } + // error check and process min/max 2Theta values + Min2Theta /= 2.0; + Max2Theta /= 2.0; + if (Max2Theta > MY_PI) { + Min2Theta = Min2Theta * MY_PI / 180; // converting to radians if necessary + Max2Theta = Max2Theta * MY_PI / 180; + radflag = 0; + } + if (Min2Theta <= 0) + error->all(FLERR,"Minimum 2Theta value must be greater than zero"); + if (Max2Theta >= MY_PI ) + error->all(FLERR,"Maximum 2Theta value must be less than 180 degrees"); + if (Max2Theta-Min2Theta <= 0) + error->all(FLERR,"2Theta range must be greater than zero"); Kmax = 2 * sin(Max2Theta) / lambda; // Calculating spacing between reciprocal lattice points From a4c2bc13cf64d62ed4dfebd8887ff11b65d4d16a Mon Sep 17 00:00:00 2001 From: Stan Gerald Moore Date: Mon, 28 Jun 2021 08:38:31 -0600 Subject: [PATCH 285/726] Add atom_map hash option for Kokkos package --- src/KOKKOS/Install.sh | 1 + src/KOKKOS/atom_kokkos.cpp | 6 +- src/KOKKOS/atom_kokkos.h | 27 +++ src/KOKKOS/atom_map_kokkos.cpp | 287 +++++++++++++++++++++++++++++++ src/KOKKOS/comm_kokkos.cpp | 3 +- src/KOKKOS/fix_shake_kokkos.cpp | 104 +++++++---- src/KOKKOS/fix_shake_kokkos.h | 15 +- src/KOKKOS/neigh_bond_kokkos.cpp | 118 +++++++------ src/KOKKOS/neigh_bond_kokkos.h | 19 +- src/atom.h | 12 +- src/atom_map.cpp | 2 +- 11 files changed, 487 insertions(+), 107 deletions(-) create mode 100644 src/KOKKOS/atom_map_kokkos.cpp diff --git a/src/KOKKOS/Install.sh b/src/KOKKOS/Install.sh index 0ac90a53f2..a28b17270a 100755 --- a/src/KOKKOS/Install.sh +++ b/src/KOKKOS/Install.sh @@ -55,6 +55,7 @@ action angle_harmonic_kokkos.cpp angle_harmonic.cpp action angle_harmonic_kokkos.h angle_harmonic.h action atom_kokkos.cpp action atom_kokkos.h +action atom_map_kokkos.cpp action atom_vec_angle_kokkos.cpp atom_vec_angle.cpp action atom_vec_angle_kokkos.h atom_vec_angle.h action atom_vec_atomic_kokkos.cpp diff --git a/src/KOKKOS/atom_kokkos.cpp b/src/KOKKOS/atom_kokkos.cpp index a8527989d7..c8d2268937 100644 --- a/src/KOKKOS/atom_kokkos.cpp +++ b/src/KOKKOS/atom_kokkos.cpp @@ -29,7 +29,9 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -AtomKokkos::AtomKokkos(LAMMPS *lmp) : Atom(lmp) {} +AtomKokkos::AtomKokkos(LAMMPS *lmp) : Atom(lmp) { + k_error_flag = DAT::tdual_int_scalar("atom:error_flag"); +} /* ---------------------------------------------------------------------- */ @@ -77,6 +79,8 @@ AtomKokkos::~AtomKokkos() memoryKK->destroy_kokkos(k_improper_atom3, improper_atom3); memoryKK->destroy_kokkos(k_improper_atom4, improper_atom4); + map_delete(); + // SPIN package memoryKK->destroy_kokkos(k_sp, sp); diff --git a/src/KOKKOS/atom_kokkos.h b/src/KOKKOS/atom_kokkos.h index e807180f35..d2629b4441 100644 --- a/src/KOKKOS/atom_kokkos.h +++ b/src/KOKKOS/atom_kokkos.h @@ -14,6 +14,7 @@ #include "atom.h" // IWYU pragma: export #include "kokkos_type.h" +#include #ifndef LMP_ATOM_KOKKOS_H #define LMP_ATOM_KOKKOS_H @@ -69,6 +70,32 @@ class AtomKokkos : public Atom { AtomKokkos(class LAMMPS *); ~AtomKokkos(); + void map_init(int check = 1); + void map_clear(); + void map_set(); + void map_delete(); + + DAT::tdual_int_1d k_sametag; + DAT::tdual_int_1d k_map_array; + DAT::tdual_int_scalar k_error_flag; + + typedef Kokkos::UnorderedMap hash_type; + typedef Kokkos::DualView dual_hash_type; + typedef dual_hash_type::t_host::data_type host_hash_type; + dual_hash_type k_map_hash; + + template + KOKKOS_INLINE_FUNCTION + static int map_find_hash_kokkos(tagint global, dual_hash_type k_map_hash) + { + int local = -1; + auto d_map_hash = k_map_hash.view()(); + auto index = d_map_hash.find(global); + if (d_map_hash.valid_at(index)) + local = d_map_hash.value_at(index); + return local; + } + virtual void allocate_type_arrays(); void sync(const ExecutionSpace space, unsigned int mask); void modified(const ExecutionSpace space, unsigned int mask); diff --git a/src/KOKKOS/atom_map_kokkos.cpp b/src/KOKKOS/atom_map_kokkos.cpp new file mode 100644 index 0000000000..4c3d5cd1e9 --- /dev/null +++ b/src/KOKKOS/atom_map_kokkos.cpp @@ -0,0 +1,287 @@ +// clang-format off +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include "atom_kokkos.h" +#include "comm.h" +#include "error.h" +#include "memory_kokkos.h" +#include "atom_masks.h" + +#include + +using namespace LAMMPS_NS; + +#define EXTRA 1000 + +/* ---------------------------------------------------------------------- + allocate and initialize array or hash table for global -> local map + for array option: + array length = 1 to map_tag_max + set entire array to -1 as initial values + for hash option: + map_nhash = length of hash table + map_nbucket = # of hash buckets, prime larger than map_nhash * 2 + so buckets will only be filled with 0 or 1 atoms on average +------------------------------------------------------------------------- */ + +void AtomKokkos::map_init(int check) +{ + // check for new map style if max atomID changed (check = 1 = default) + // recreate = 1 if must delete old map and create new map + // recreate = 0 if can re-use old map w/out realloc and just adjust settings + // map_maxarray/map_nhash initially -1, to force recreate even when no atoms + + int recreate = 0; + if (check) recreate = map_style_set(); + + if (map_style == MAP_ARRAY && map_tag_max > map_maxarray) recreate = 1; + else if (map_style == MAP_HASH && nlocal+nghost > map_nhash) recreate = 1; + + // if not recreating: + // for array, initialize current map_tag_max values + // for hash, set all buckets to empty, put all entries in free list + + if (!recreate) { + if (map_style == MAP_ARRAY) { + for (int i = 0; i <= map_tag_max; i++) map_array[i] = -1; + } else { + for (int i = 0; i < map_nbucket; i++) map_bucket[i] = -1; + map_nused = 0; + map_free = 0; + for (int i = 0; i < map_nhash; i++) map_hash[i].next = i+1; + if (map_nhash > 0) map_hash[map_nhash-1].next = -1; + + k_map_hash.h_view().clear(); + } + + // recreating: delete old map and create new one for array or hash + + } else { + map_delete(); + + if (map_style == MAP_ARRAY) { + map_maxarray = map_tag_max; + memoryKK->create_kokkos(k_map_array,map_array,map_maxarray+1,"atom:map_array"); + for (int i = 0; i <= map_tag_max; i++) map_array[i] = -1; + + } else { + + // map_nhash = max # of atoms that can be hashed on this proc + // set to max of ave atoms/proc or atoms I can store + // multiply by 2, require at least 1000 + // doubling means hash table will need to be re-init only rarely + + int nper = static_cast (natoms/comm->nprocs); + map_nhash = MAX(nper,nmax); + map_nhash *= 2; + map_nhash = MAX(map_nhash,1000); + + // map_nbucket = prime just larger than map_nhash + // next_prime() should be fast enough, + // about 10% of odd integers are prime above 1M + + map_nbucket = next_prime(map_nhash); + + // set all buckets to empty + // set hash to map_nhash in length + // put all hash entries in free list and point them to each other + + map_bucket = new int[map_nbucket]; + for (int i = 0; i < map_nbucket; i++) map_bucket[i] = -1; + + map_hash = new HashElem[map_nhash]; + map_nused = 0; + map_free = 0; + for (int i = 0; i < map_nhash; i++) map_hash[i].next = i+1; + map_hash[map_nhash-1].next = -1; + + k_map_hash = dual_hash_type("atom:map_hash"); + k_map_hash.h_view() = host_hash_type(map_nhash); + } + } + + if (map_style == Atom::MAP_ARRAY) + k_map_array.modify_host(); + else if (map_style == Atom::MAP_HASH) + k_map_hash.modify_host(); +} + +/* ---------------------------------------------------------------------- + clear global -> local map for all of my own and ghost atoms + for hash table option: + global ID may not be in table if image atom was already cleared +------------------------------------------------------------------------- */ + +void AtomKokkos::map_clear() +{ + Atom::map_clear(); + + if (map_style == MAP_ARRAY) { + k_map_array.modify_host(); + } else { + k_map_hash.h_view().clear(); + k_map_hash.modify_host(); + } + k_sametag.modify_host(); +} + +/* ---------------------------------------------------------------------- + set global -> local map for all of my own and ghost atoms + loop in reverse order so that nearby images take precedence over far ones + and owned atoms take precedence over images + this enables valid lookups of bond topology atoms + for hash table option: + if hash table too small, re-init + global ID may already be in table if image atom was set +------------------------------------------------------------------------- */ + +void AtomKokkos::map_set() +{ + int nall = nlocal + nghost; + + atomKK->sync(Host,TAG_MASK); + + k_sametag.sync_host(); + if (map_style == Atom::MAP_ARRAY) + k_map_array.sync_host(); + + if (map_style == MAP_ARRAY) { + + // possible reallocation of sametag must come before loop over atoms + // since loop sets sametag + + if (nall > max_same) { + max_same = nall + EXTRA; + memoryKK->destroy_kokkos(k_sametag,sametag); + memoryKK->create_kokkos(k_sametag,sametag,max_same,"atom:sametag"); + } + + for (int i = nall-1; i >= 0 ; i--) { + sametag[i] = map_array[tag[i]]; + map_array[tag[i]] = i; + } + + } else { + + // if this proc has more atoms than hash table size, call map_init() + // call with 0 since max atomID in system has not changed + // possible reallocation of sametag must come after map_init(), + // b/c map_init() may invoke map_delete(), whacking sametag + + if (nall > map_nhash) map_init(0); + if (nall > max_same) { + max_same = nall + EXTRA; + memoryKK->destroy_kokkos(k_sametag,sametag); + memoryKK->create_kokkos(k_sametag,sametag,max_same,"atom:sametag"); + } + + int previous,ibucket,index; + tagint global; + + for (int i = nall-1; i >= 0 ; i--) { + sametag[i] = map_find_hash(tag[i]); + + // search for key + // if found it, just overwrite local value with index + + previous = -1; + global = tag[i]; + ibucket = global % map_nbucket; + index = map_bucket[ibucket]; + while (index > -1) { + if (map_hash[index].global == global) break; + previous = index; + index = map_hash[index].next; + } + if (index > -1) { + map_hash[index].local = i; + continue; + } + + // take one entry from free list + // add the new global/local pair as entry at end of bucket list + // special logic if this entry is 1st in bucket + + index = map_free; + map_free = map_hash[map_free].next; + if (previous == -1) map_bucket[ibucket] = index; + else map_hash[previous].next = index; + map_hash[index].global = global; + map_hash[index].local = i; + map_hash[index].next = -1; + map_nused++; + } + + // Copy to Kokkos hash + + k_map_hash.h_view().clear(); + auto h_map_hash = k_map_hash.h_view(); + + for (int i = nall-1; i >= 0 ; i--) { + + // search for key + // if don't find it, done + + previous = -1; + global = tag[i]; + ibucket = global % map_nbucket; + index = map_bucket[ibucket]; + while (index > -1) { + if (map_hash[index].global == global) break; + previous = index; + index = map_hash[index].next; + } + if (index == -1) continue; + + int local = map_hash[index].local; + + auto insert_result = h_map_hash.insert(global,local); + if (insert_result.failed()) + error->one(FLERR, "Kokkos::UnorderedMap insertion failed"); + } + } + + k_sametag.modify_host(); + if (map_style == Atom::MAP_ARRAY) + k_map_array.modify_host(); + else if (map_style == Atom::MAP_HASH) + k_map_hash.modify_host(); +} + + +/* ---------------------------------------------------------------------- + free the array or hash table for global to local mapping +------------------------------------------------------------------------- */ + +void AtomKokkos::map_delete() +{ + memoryKK->destroy_kokkos(k_sametag,sametag); + sametag = nullptr; + max_same = 0; + + if (map_style == MAP_ARRAY) { + memoryKK->destroy_kokkos(k_map_array,map_array); + map_array = nullptr; + } else { + if (map_nhash) { + delete [] map_bucket; + delete [] map_hash; + map_bucket = nullptr; + map_hash = nullptr; + k_map_hash = dual_hash_type(); + } + map_nhash = map_nbucket = 0; + } +} + diff --git a/src/KOKKOS/comm_kokkos.cpp b/src/KOKKOS/comm_kokkos.cpp index fd5318e1d1..588ff94d73 100644 --- a/src/KOKKOS/comm_kokkos.cpp +++ b/src/KOKKOS/comm_kokkos.cpp @@ -1128,9 +1128,10 @@ void CommKokkos::borders_device() { max = MAX(maxforward*rmax,maxreverse*smax); if (max > maxrecv) grow_recv_kokkos(max); + atomKK->modified(exec_space,ALL_MASK); + // reset global->local map - atomKK->modified(exec_space,ALL_MASK); if (map_style != Atom::MAP_NONE) { atomKK->sync(Host,TAG_MASK); atom->map_set(); diff --git a/src/KOKKOS/fix_shake_kokkos.cpp b/src/KOKKOS/fix_shake_kokkos.cpp index 804da9fd22..594c9c60db 100644 --- a/src/KOKKOS/fix_shake_kokkos.cpp +++ b/src/KOKKOS/fix_shake_kokkos.cpp @@ -201,6 +201,15 @@ void FixShakeKokkos::pre_neighbor() type = atom->type; nlocal = atom->nlocal; + map_style = atom->map_style; + if (map_style == Atom::MAP_ARRAY) { + k_map_array = atomKK->k_map_array; + k_map_array.template sync(); + } else if (map_style == Atom::MAP_HASH) { + k_map_hash = atomKK->k_map_hash; + k_map_hash.template sync(); + } + k_shake_flag.sync(); k_shake_atom.sync(); @@ -213,21 +222,17 @@ void FixShakeKokkos::pre_neighbor() d_list = k_list.view(); } - // don't yet have atom_map_kokkos routines, so move data from host to device + // Atom Map - if (atom->map_style != Atom::MAP_ARRAY) - error->all(FLERR,"Must use atom map style array with Kokkos"); + map_style = atom->map_style; - int* map_array_host = atom->get_map_array(); - int map_size = atom->get_map_size(); - int map_maxarray = atom->get_map_maxarray(); - if (map_maxarray > (int)k_map_array.extent(0)) - k_map_array = DAT::tdual_int_1d("NeighBond:map_array",map_maxarray); - for (int i=0; i(); - k_map_array.template sync(); - map_array = k_map_array.view(); + if (map_style == Atom::MAP_ARRAY) { + k_map_array = atomKK->k_map_array; + k_map_array.template sync(); + } else if (map_style == Atom::MAP_HASH) { + k_map_hash = atomKK->k_map_hash; + k_map_hash.template sync(); + } // build list of SHAKE clusters I compute @@ -241,14 +246,16 @@ void FixShakeKokkos::pre_neighbor() auto d_list = this->d_list; auto d_error_flag = this->d_error_flag; auto d_nlist = this->d_nlist; - auto map_array = this->map_array; + auto map_style = atom->map_style; + auto k_map_array = this->k_map_array; + auto k_map_hash = this->k_map_hash; Kokkos::parallel_for(Kokkos::RangePolicy(0,nlocal), LAMMPS_LAMBDA(const int& i) { if (d_shake_flag[i]) { if (d_shake_flag[i] == 2) { - const int atom1 = map_array(d_shake_atom(i,0)); - const int atom2 = map_array(d_shake_atom(i,1)); + const int atom1 = map_kokkos(d_shake_atom(i,0),map_style,k_map_array,k_map_hash); + const int atom2 = map_kokkos(d_shake_atom(i,1),map_style,k_map_array,k_map_hash); if (atom1 == -1 || atom2 == -1) { d_error_flag() = 1; } @@ -257,9 +264,9 @@ void FixShakeKokkos::pre_neighbor() d_list[nlist] = i; } } else if (d_shake_flag[i] % 2 == 1) { - const int atom1 = map_array(d_shake_atom(i,0)); - const int atom2 = map_array(d_shake_atom(i,1)); - const int atom3 = map_array(d_shake_atom(i,2)); + const int atom1 = map_kokkos(d_shake_atom(i,0),map_style,k_map_array,k_map_hash); + const int atom2 = map_kokkos(d_shake_atom(i,1),map_style,k_map_array,k_map_hash); + const int atom3 = map_kokkos(d_shake_atom(i,2),map_style,k_map_array,k_map_hash); if (atom1 == -1 || atom2 == -1 || atom3 == -1) d_error_flag() = 1; if (i <= atom1 && i <= atom2 && i <= atom3) { @@ -267,10 +274,10 @@ void FixShakeKokkos::pre_neighbor() d_list[nlist] = i; } } else { - const int atom1 = map_array(d_shake_atom(i,0)); - const int atom2 = map_array(d_shake_atom(i,1)); - const int atom3 = map_array(d_shake_atom(i,2)); - const int atom4 = map_array(d_shake_atom(i,3)); + const int atom1 = map_kokkos(d_shake_atom(i,0),map_style,k_map_array,k_map_hash); + const int atom2 = map_kokkos(d_shake_atom(i,1),map_style,k_map_array,k_map_hash); + const int atom3 = map_kokkos(d_shake_atom(i,2),map_style,k_map_array,k_map_hash); + const int atom4 = map_kokkos(d_shake_atom(i,3),map_style,k_map_array,k_map_hash); if (atom1 == -1 || atom2 == -1 || atom3 == -1 || atom4 == -1) d_error_flag() = 1; if (i <= atom1 && i <= atom2 && i <= atom3 && i <= atom4) { @@ -307,6 +314,15 @@ void FixShakeKokkos::post_force(int vflag) d_mass = atomKK->k_mass.view(); nlocal = atomKK->nlocal; + map_style = atom->map_style; + if (map_style == Atom::MAP_ARRAY) { + k_map_array = atomKK->k_map_array; + k_map_array.template sync(); + } else if (map_style == Atom::MAP_HASH) { + k_map_hash = atomKK->k_map_hash; + k_map_hash.template sync(); + } + if (d_rmass.data()) atomKK->sync(execution_space,X_MASK|F_MASK|RMASS_MASK); else @@ -586,8 +602,8 @@ void FixShakeKokkos::shake(int m, EV_FLOAT& ev) const // local atom IDs and constraint distances - int i0 = map_array(d_shake_atom(m,0)); - int i1 = map_array(d_shake_atom(m,1)); + int i0 = map_kokkos(d_shake_atom(m,0),map_style,k_map_array,k_map_hash); + int i1 = map_kokkos(d_shake_atom(m,1),map_style,k_map_array,k_map_hash); double bond1 = d_bond_distance[d_shake_type(m,0)]; // r01 = distance vec between atoms, with PBC @@ -697,9 +713,9 @@ void FixShakeKokkos::shake3(int m, EV_FLOAT& ev) const // local atom IDs and constraint distances - int i0 = map_array(d_shake_atom(m,0)); - int i1 = map_array(d_shake_atom(m,1)); - int i2 = map_array(d_shake_atom(m,2)); + int i0 = map_kokkos(d_shake_atom(m,0),map_style,k_map_array,k_map_hash); + int i1 = map_kokkos(d_shake_atom(m,1),map_style,k_map_array,k_map_hash); + int i2 = map_kokkos(d_shake_atom(m,2),map_style,k_map_array,k_map_hash); double bond1 = d_bond_distance[d_shake_type(m,0)]; double bond2 = d_bond_distance[d_shake_type(m,1)]; @@ -880,10 +896,10 @@ void FixShakeKokkos::shake4(int m, EV_FLOAT& ev) const // local atom IDs and constraint distances - int i0 = map_array(d_shake_atom(m,0)); - int i1 = map_array(d_shake_atom(m,1)); - int i2 = map_array(d_shake_atom(m,2)); - int i3 = map_array(d_shake_atom(m,3)); + int i0 = map_kokkos(d_shake_atom(m,0),map_style,k_map_array,k_map_hash); + int i1 = map_kokkos(d_shake_atom(m,1),map_style,k_map_array,k_map_hash); + int i2 = map_kokkos(d_shake_atom(m,2),map_style,k_map_array,k_map_hash); + int i3 = map_kokkos(d_shake_atom(m,3),map_style,k_map_array,k_map_hash); double bond1 = d_bond_distance[d_shake_type(m,0)]; double bond2 = d_bond_distance[d_shake_type(m,1)]; double bond3 = d_bond_distance[d_shake_type(m,2)]; @@ -1142,9 +1158,9 @@ void FixShakeKokkos::shake3angle(int m, EV_FLOAT& ev) const // local atom IDs and constraint distances - int i0 = map_array(d_shake_atom(m,0)); - int i1 = map_array(d_shake_atom(m,1)); - int i2 = map_array(d_shake_atom(m,2)); + int i0 = map_kokkos(d_shake_atom(m,0),map_style,k_map_array,k_map_hash); + int i1 = map_kokkos(d_shake_atom(m,1),map_style,k_map_array,k_map_hash); + int i2 = map_kokkos(d_shake_atom(m,2),map_style,k_map_array,k_map_hash); double bond1 = d_bond_distance[d_shake_type(m,0)]; double bond2 = d_bond_distance[d_shake_type(m,1)]; double bond12 = d_angle_distance[d_shake_type(m,2)]; @@ -1905,6 +1921,24 @@ void FixShakeKokkos::minimum_image_once(double *delta) const /* ---------------------------------------------------------------------- */ +// functions for global to local ID mapping +// map lookup function inlined for efficiency +// return -1 if no map defined + +template +KOKKOS_INLINE_FUNCTION +int FixShakeKokkos::map_kokkos(tagint global, int map_style, DAT::tdual_int_1d k_map_array, dual_hash_type k_map_hash) +{ + if (map_style == 1) + return k_map_array.view()(global); + else if (map_style == 2) + return AtomKokkos::map_find_hash_kokkos(global,k_map_hash); + else + return -1; +} + +/* ---------------------------------------------------------------------- */ + namespace LAMMPS_NS { template class FixShakeKokkos; #ifdef LMP_KOKKOS_GPU diff --git a/src/KOKKOS/fix_shake_kokkos.h b/src/KOKKOS/fix_shake_kokkos.h index b95c042ac1..fbf6e1de88 100644 --- a/src/KOKKOS/fix_shake_kokkos.h +++ b/src/KOKKOS/fix_shake_kokkos.h @@ -26,6 +26,7 @@ FixStyle(shake/kk/host,FixShakeKokkos); #include "fix_shake.h" #include "kokkos_type.h" #include "kokkos_base.h" +#include namespace LAMMPS_NS { @@ -172,9 +173,6 @@ class FixShakeKokkos : public FixShake, public KokkosBase { KOKKOS_INLINE_FUNCTION void v_tally(EV_FLOAT&, int, int *, double, double *) const; - DAT::tdual_int_1d k_map_array; - typename AT::t_int_1d_randomread map_array; - int iswap; int first; typename AT::t_int_2d d_sendlist; @@ -185,6 +183,17 @@ class FixShakeKokkos : public FixShake, public KokkosBase { tagint **shake_atom_tmp; int **shake_type_tmp; + int map_style; + + DAT::tdual_int_1d k_map_array; + + typedef Kokkos::UnorderedMap hash_type; + typedef Kokkos::DualView dual_hash_type; + dual_hash_type k_map_hash; + + KOKKOS_INLINE_FUNCTION + static int map_kokkos(tagint, int, DAT::tdual_int_1d, dual_hash_type); + // copied from Domain KOKKOS_INLINE_FUNCTION diff --git a/src/KOKKOS/neigh_bond_kokkos.cpp b/src/KOKKOS/neigh_bond_kokkos.cpp index eed0026af3..c427d18216 100644 --- a/src/KOKKOS/neigh_bond_kokkos.cpp +++ b/src/KOKKOS/neigh_bond_kokkos.cpp @@ -207,30 +207,7 @@ void NeighBondKokkos::build_topology_kk() lostbond = output->thermo->lostbond; - // don't yet have atom_map_kokkos routines, so move data from host to device - - if (atom->map_style != Atom::MAP_ARRAY) - error->all(FLERR,"Must use atom map style array with Kokkos"); - - int* map_array_host = atom->get_map_array(); - int map_size = atom->get_map_size(); - int map_maxarray = atom->get_map_maxarray(); - if (map_maxarray > (int)k_map_array.extent(0)) - k_map_array = DAT::tdual_int_1d("NeighBond:map_array",map_maxarray); - for (int i=0; i(); - k_map_array.template sync(); - map_array = k_map_array.view(); - - int* sametag_host = atomKK->sametag; - if (nmax > (int)k_sametag.extent(0)) - k_sametag = DAT::tdual_int_1d("NeighBond:sametag",nmax); - for (int i=0; i(); - k_sametag.template sync(); - sametag = k_sametag.view(); + update_class_variables(); if (force->bond) (this->*bond_build_kk)(); if (force->angle) (this->*angle_build_kk)(); @@ -306,7 +283,7 @@ template KOKKOS_INLINE_FUNCTION void NeighBondKokkos::operator()(TagNeighBondBondAll, const int &i, int &nmissing) const { for (int m = 0; m < num_bond[i]; m++) { - int atom1 = map_array(bond_atom(i,m)); + int atom1 = map_kokkos(bond_atom(i,m)); if (atom1 == -1) { nmissing++; if (lostbond == Thermo::ERROR) return; @@ -394,7 +371,7 @@ KOKKOS_INLINE_FUNCTION void NeighBondKokkos::operator()(TagNeighBondBondPartial, const int &i, int &nmissing) const { for (int m = 0; m < num_bond[i]; m++) { if (bond_type(i,m) <= 0) continue; - int atom1 = map_array(bond_atom(i,m)); + int atom1 = map_kokkos(bond_atom(i,m)); if (atom1 == -1) { nmissing++; if (lostbond == Thermo::ERROR) return; @@ -420,7 +397,6 @@ void NeighBondKokkos::bond_check() { int flag = 0; - update_domain_variables(); atomKK->sync(execution_space, X_MASK); k_bondlist.sync(); @@ -507,9 +483,9 @@ template KOKKOS_INLINE_FUNCTION void NeighBondKokkos::operator()(TagNeighBondAngleAll, const int &i, int &nmissing) const { for (int m = 0; m < num_angle[i]; m++) { - int atom1 = map_array(angle_atom1(i,m)); - int atom2 = map_array(angle_atom2(i,m)); - int atom3 = map_array(angle_atom3(i,m)); + int atom1 = map_kokkos(angle_atom1(i,m)); + int atom2 = map_kokkos(angle_atom2(i,m)); + int atom3 = map_kokkos(angle_atom3(i,m)); if (atom1 == -1 || atom2 == -1 || atom3 == -1) { nmissing++; if (lostbond == Thermo::ERROR) return; @@ -602,9 +578,9 @@ KOKKOS_INLINE_FUNCTION void NeighBondKokkos::operator()(TagNeighBondAnglePartial, const int &i, int &nmissing) const { for (int m = 0; m < num_angle[i]; m++) { if (angle_type(i,m) <= 0) continue; - int atom1 = map_array(angle_atom1(i,m)); - int atom2 = map_array(angle_atom2(i,m)); - int atom3 = map_array(angle_atom3(i,m)); + int atom1 = map_kokkos(angle_atom1(i,m)); + int atom2 = map_kokkos(angle_atom2(i,m)); + int atom3 = map_kokkos(angle_atom3(i,m)); if (atom1 == -1 || atom2 == -1 || atom3 == -1) { nmissing++; if (lostbond == Thermo::ERROR) return; @@ -636,7 +612,6 @@ void NeighBondKokkos::angle_check() // check all 3 distances // in case angle potential computes any of them - update_domain_variables(); atomKK->sync(execution_space, X_MASK); k_anglelist.sync(); @@ -735,10 +710,10 @@ template KOKKOS_INLINE_FUNCTION void NeighBondKokkos::operator()(TagNeighBondDihedralAll, const int &i, int &nmissing) const { for (int m = 0; m < num_dihedral[i]; m++) { - int atom1 = map_array(dihedral_atom1(i,m)); - int atom2 = map_array(dihedral_atom2(i,m)); - int atom3 = map_array(dihedral_atom3(i,m)); - int atom4 = map_array(dihedral_atom4(i,m)); + int atom1 = map_kokkos(dihedral_atom1(i,m)); + int atom2 = map_kokkos(dihedral_atom2(i,m)); + int atom3 = map_kokkos(dihedral_atom3(i,m)); + int atom4 = map_kokkos(dihedral_atom4(i,m)); if (atom1 == -1 || atom2 == -1 || atom3 == -1 || atom4 == -1) { nmissing++; if (lostbond == Thermo::ERROR) return; @@ -835,10 +810,10 @@ KOKKOS_INLINE_FUNCTION void NeighBondKokkos::operator()(TagNeighBondDihedralPartial, const int &i, int &nmissing) const { for (int m = 0; m < num_dihedral[i]; m++) { if (dihedral_type(i,m) <= 0) continue; - int atom1 = map_array(dihedral_atom1(i,m)); - int atom2 = map_array(dihedral_atom2(i,m)); - int atom3 = map_array(dihedral_atom3(i,m)); - int atom4 = map_array(dihedral_atom4(i,m)); + int atom1 = map_kokkos(dihedral_atom1(i,m)); + int atom2 = map_kokkos(dihedral_atom2(i,m)); + int atom3 = map_kokkos(dihedral_atom3(i,m)); + int atom4 = map_kokkos(dihedral_atom4(i,m)); if (atom1 == -1 || atom2 == -1 || atom3 == -1 || atom4 == -1) { nmissing++; if (lostbond == Thermo::ERROR) return; @@ -874,7 +849,6 @@ void NeighBondKokkos::dihedral_check(int nlist, typename AT::t_int_2 // check all 6 distances // in case dihedral/improper potential computes any of them - update_domain_variables(); atomKK->sync(execution_space, X_MASK); k_dihedrallist.sync(); @@ -990,10 +964,10 @@ template KOKKOS_INLINE_FUNCTION void NeighBondKokkos::operator()(TagNeighBondImproperAll, const int &i, int &nmissing) const { for (int m = 0; m < num_improper[i]; m++) { - int atom1 = map_array(improper_atom1(i,m)); - int atom2 = map_array(improper_atom2(i,m)); - int atom3 = map_array(improper_atom3(i,m)); - int atom4 = map_array(improper_atom4(i,m)); + int atom1 = map_kokkos(improper_atom1(i,m)); + int atom2 = map_kokkos(improper_atom2(i,m)); + int atom3 = map_kokkos(improper_atom3(i,m)); + int atom4 = map_kokkos(improper_atom4(i,m)); if (atom1 == -1 || atom2 == -1 || atom3 == -1 || atom4 == -1) { nmissing++; if (lostbond == Thermo::ERROR) return; @@ -1090,10 +1064,10 @@ KOKKOS_INLINE_FUNCTION void NeighBondKokkos::operator()(TagNeighBondImproperPartial, const int &i, int &nmissing) const { for (int m = 0; m < num_improper[i]; m++) { if (improper_type(i,m) <= 0) continue; - int atom1 = map_array(improper_atom1(i,m)); - int atom2 = map_array(improper_atom2(i,m)); - int atom3 = map_array(improper_atom3(i,m)); - int atom4 = map_array(improper_atom4(i,m)); + int atom1 = map_kokkos(improper_atom1(i,m)); + int atom2 = map_kokkos(improper_atom2(i,m)); + int atom3 = map_kokkos(improper_atom3(i,m)); + int atom4 = map_kokkos(improper_atom4(i,m)); if (atom1 == -1 || atom2 == -1 || atom3 == -1 || atom4 == -1) { nmissing++; if (lostbond == Thermo::ERROR) return; @@ -1137,8 +1111,8 @@ int NeighBondKokkos::closest_image(const int i, int j) const X_FLOAT rsqmin = delx*delx + dely*dely + delz*delz; X_FLOAT rsq; - while (sametag[j] >= 0) { - j = sametag[j]; + while (d_sametag[j] >= 0) { + j = d_sametag[j]; delx = xi0 - x(j,0); dely = xi1 - x(j,1); delz = xi2 - x(j,2); @@ -1217,9 +1191,29 @@ void NeighBondKokkos::minimum_image(X_FLOAT &dx, X_FLOAT &dy, X_FLOA /* ---------------------------------------------------------------------- */ +// functions for global to local ID mapping +// map lookup function inlined for efficiency +// return -1 if no map defined + template -void NeighBondKokkos::update_domain_variables() +KOKKOS_INLINE_FUNCTION +int NeighBondKokkos::map_kokkos(tagint global) const { + if (map_style == 1) + return k_map_array.view()(global); + else if (map_style == 2) + return AtomKokkos::map_find_hash_kokkos(global,k_map_hash); + else + return -1; +} + +/* ---------------------------------------------------------------------- */ + +template +void NeighBondKokkos::update_class_variables() +{ + // Domain + triclinic = domain->triclinic; xperiodic = domain->xperiodic; xprd_half = domain->xprd_half; @@ -1233,6 +1227,22 @@ void NeighBondKokkos::update_domain_variables() xy = domain->xy; xz = domain->xz; yz = domain->yz; + + // Atom Map + + map_style = atom->map_style; + + k_sametag = atomKK->k_sametag; + k_sametag.template sync(); + d_sametag = k_sametag.view(); + + if (map_style == Atom::MAP_ARRAY) { + k_map_array = atomKK->k_map_array; + k_map_array.template sync(); + } else if (map_style == Atom::MAP_HASH) { + k_map_hash = atomKK->k_map_hash; + k_map_hash.template sync(); + } } /* ---------------------------------------------------------------------- */ diff --git a/src/KOKKOS/neigh_bond_kokkos.h b/src/KOKKOS/neigh_bond_kokkos.h index 887ead95f6..defcf990e3 100644 --- a/src/KOKKOS/neigh_bond_kokkos.h +++ b/src/KOKKOS/neigh_bond_kokkos.h @@ -19,6 +19,7 @@ #include "kokkos_type.h" #include "domain_kokkos.h" #include "pointers.h" +#include namespace LAMMPS_NS { @@ -81,13 +82,19 @@ class NeighBondKokkos : protected Pointers { int me,nprocs; private: - - - DAT::tdual_int_1d k_map_array; - typename AT::t_int_1d_randomread map_array; + int map_style; DAT::tdual_int_1d k_sametag; - typename AT::t_int_1d_randomread sametag; + typename AT::t_int_1d d_sametag; + + DAT::tdual_int_1d k_map_array; + + typedef Kokkos::UnorderedMap hash_type; + typedef Kokkos::DualView dual_hash_type; + dual_hash_type k_map_hash; + + KOKKOS_INLINE_FUNCTION + int map_kokkos(tagint) const; typename AT::t_int_2d v_bondlist; typename AT::t_int_2d v_anglelist; @@ -130,7 +137,7 @@ class NeighBondKokkos : protected Pointers { KOKKOS_INLINE_FUNCTION void minimum_image(X_FLOAT &dx, X_FLOAT &dy, X_FLOAT &dz) const; - void update_domain_variables(); + void update_class_variables(); // topology build functions diff --git a/src/atom.h b/src/atom.h index 392e5c5d5c..e922630706 100644 --- a/src/atom.h +++ b/src/atom.h @@ -364,13 +364,13 @@ class Atom : protected Pointers { return -1; }; - void map_init(int check = 1); - void map_clear(); - void map_set(); - void map_one(tagint, int); + virtual void map_init(int check = 1); + virtual void map_clear(); + virtual void map_set(); + virtual void map_one(tagint, int); int map_style_set(); - void map_delete(); - int map_find_hash(tagint); + virtual void map_delete(); + virtual int map_find_hash(tagint); protected: // global to local ID mapping diff --git a/src/atom_map.cpp b/src/atom_map.cpp index 95f09d2639..2eb4a08ea6 100644 --- a/src/atom_map.cpp +++ b/src/atom_map.cpp @@ -309,7 +309,7 @@ int Atom::map_style_set() if (map_user == MAP_ARRAY || map_user == MAP_HASH) { map_style = map_user; } else { // map_user == MAP_YES - if (map_tag_max > 1000000 && !lmp->kokkos) map_style = MAP_HASH; + if (map_tag_max > 1000000) map_style = MAP_HASH; else map_style = MAP_ARRAY; } From 4d6bef3e04d6660f334797cdd69cfc727f75cf51 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 28 Jun 2021 10:18:07 -0400 Subject: [PATCH 286/726] modernize using utility functions --- src/USER-DIFFRACTION/compute_saed.cpp | 61 +++++++++++---------------- src/USER-DIFFRACTION/compute_xrd.cpp | 59 ++++++++++---------------- 2 files changed, 48 insertions(+), 72 deletions(-) diff --git a/src/USER-DIFFRACTION/compute_saed.cpp b/src/USER-DIFFRACTION/compute_saed.cpp index 3702751688..4de34cb339 100644 --- a/src/USER-DIFFRACTION/compute_saed.cpp +++ b/src/USER-DIFFRACTION/compute_saed.cpp @@ -74,7 +74,7 @@ ComputeSAED::ComputeSAED(LAMMPS *lmp, int narg, char **arg) : extvector = 0; // Store radiation wavelength - lambda = atof(arg[3]); + lambda = utils::numeric(FLERR,arg[3],false,lmp); if (lambda < 0) error->all(FLERR,"Compute SAED: Wavelength must be greater than zero"); @@ -109,30 +109,30 @@ ComputeSAED::ComputeSAED(LAMMPS *lmp, int narg, char **arg) : if (strcmp(arg[iarg],"Kmax") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal Compute SAED Command"); - Kmax = atof(arg[iarg+1]); + Kmax = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (Kmax / 2 < 0 || Kmax / 2 > 6) error->all(FLERR,"Compute SAED: |K|max/2 must be between 0 and 6 "); iarg += 2; } else if (strcmp(arg[iarg],"Zone") == 0) { if (iarg+4 > narg) error->all(FLERR,"Illegal Compute SAED Command"); - Zone[0] = atof(arg[iarg+1]); - Zone[1] = atof(arg[iarg+2]); - Zone[2] = atof(arg[iarg+3]); + Zone[0] = utils::numeric(FLERR,arg[iarg+1],false,lmp); + Zone[1] = utils::numeric(FLERR,arg[iarg+2],false,lmp); + Zone[2] = utils::numeric(FLERR,arg[iarg+3],false,lmp); iarg += 4; } else if (strcmp(arg[iarg],"c") == 0) { if (iarg+4 > narg) error->all(FLERR,"Illegal Compute SAED Command"); - c[0] = atof(arg[iarg+1]); - c[1] = atof(arg[iarg+2]); - c[2] = atof(arg[iarg+3]); + c[0] = utils::numeric(FLERR,arg[iarg+1],false,lmp); + c[1] = utils::numeric(FLERR,arg[iarg+2],false,lmp); + c[2] = utils::numeric(FLERR,arg[iarg+3],false,lmp); if (c[0] < 0 || c[1] < 0 || c[2] < 0) error->all(FLERR,"Compute SAED: dKs must be greater than 0"); iarg += 4; } else if (strcmp(arg[iarg],"dR_Ewald") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal Compute SAED Command"); - dR_Ewald = atof(arg[iarg+1]); + dR_Ewald = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (dR_Ewald < 0) error->all(FLERR,"Compute SAED: dR_Ewald slice must be greater than 0"); iarg += 2; @@ -170,6 +170,7 @@ ComputeSAED::ComputeSAED(LAMMPS *lmp, int narg, char **arg) : double *prd; double ave_inv = 0.0; prd = domain->prd; + if (periodicity[0]) { prd_inv[0] = 1 / prd[0]; ave_inv += prd_inv[0]; @@ -203,18 +204,18 @@ ComputeSAED::ComputeSAED(LAMMPS *lmp, int narg, char **arg) : } } - // Find reprical spacing and integer dimensions + // Find reciprocal spacing and integer dimensions for (int i=0; i<3; i++) { dK[i] = prd_inv[i]*c[i]; Knmax[i] = ceil(Kmax / dK[i]); } - // Finding the intersection of the reciprical space and Ewald sphere + // Finding the intersection of the reciprocal space and Ewald sphere int n = 0; double dinv2, r2, EmdR2, EpdR2; double K[3]; - // Zone flag to capture entire recrocal space volume + // Zone flag to capture entire reciprocal space volume if ((Zone[0] == 0) && (Zone[1] == 0) && (Zone[2] == 0)) { for (int k = -Knmax[2]; k <= Knmax[2]; k++) { for (int j = -Knmax[1]; j <= Knmax[1]; j++) { @@ -250,13 +251,10 @@ ComputeSAED::ComputeSAED(LAMMPS *lmp, int narg, char **arg) : } } - if (me == 0) { - if (screen && echo) { - fprintf(screen,"-----\nCompute SAED id:%s, # of atoms:%d, # of relp:%d\n",id,natoms,n); - fprintf(screen,"Reciprocal point spacing in k1,k2,k3 = %g %g %g\n-----\n", - dK[0], dK[1], dK[2]); - } - } + if (me == 0 && echo) + utils::logmesg(lmp,"-----\nCompute SAED id:{}, # of atoms:{}, # of relp:{}\n" + "Reciprocal point spacing in k1,k2,k3 = {:.8} {:.8} {:.8}\n-----\n", + id,natoms,n,dK[0],dK[1],dK[2]); nRows = n; size_vector = n; @@ -347,10 +345,8 @@ void ComputeSAED::compute_vector() { invoked_vector = update->ntimestep; - if (me == 0 && echo) { - if (screen) - fprintf(screen,"-----\nComputing SAED intensities"); - } + if (me == 0 && echo) + utils::logmesg(lmp,"-----\nComputing SAED intensities"); double t0 = MPI_Wtime(); double *Fvec = new double[2*nRows]; // Strct factor (real & imaginary) @@ -406,16 +402,10 @@ void ComputeSAED::compute_vector() // Setting up OMP #if defined(_OPENMP) - if (me == 0 && echo) { - if (screen) - fprintf(screen," using %d OMP threads\n",comm->nthreads); - } + if (me == 0 && echo) utils::logmesg(lmp," using {}OMP threads\n",comm->nthreads); #endif - if (me == 0 && echo) { - if (screen) - fprintf(screen,"\n"); - } + if (me == 0 && echo) utils::logmesg(lmp,"\n"); int m = 0; double frac = 0.1; @@ -482,7 +472,7 @@ void ComputeSAED::compute_vector() #endif { if (m == round(frac * nRows)) { - if (me == 0 && screen) fprintf(screen," %0.0f%% -",frac*100); + if (me == 0) utils::logmesg(lmp," {:2.0f}% -",frac*100); frac += 0.1; } m++; @@ -506,10 +496,9 @@ void ComputeSAED::compute_vector() // compute memory usage per processor double bytes = memory_usage(); - if (me == 0 && echo) { - if (screen) - fprintf(screen," 100%% \nTime elapsed during compute_saed = %0.2f sec using %0.2f Mbytes/processor\n-----\n", t2-t0, bytes/1024.0/1024.0); - } + if (me == 0 && echo) + utils::logmesg(lmp," 100% \nTime elapsed during compute_saed = {:.2f} sec " + "using {:.2f} Mbytes/processor\n-----\n", t2-t0, bytes/1024.0/1024.0); delete [] xlocal; delete [] typelocal; diff --git a/src/USER-DIFFRACTION/compute_xrd.cpp b/src/USER-DIFFRACTION/compute_xrd.cpp index 8e58a534ea..81f420cd9d 100644 --- a/src/USER-DIFFRACTION/compute_xrd.cpp +++ b/src/USER-DIFFRACTION/compute_xrd.cpp @@ -75,7 +75,7 @@ ComputeXRD::ComputeXRD(LAMMPS *lmp, int narg, char **arg) : extarray = 0; // Store radiation wavelength - lambda = atof(arg[3]); + lambda = utils::numeric(FLERR,arg[3],false,lmp); if (lambda < 0) error->all(FLERR,"Compute SAED: Wavelength must be greater than zero"); @@ -115,16 +115,16 @@ ComputeXRD::ComputeXRD(LAMMPS *lmp, int narg, char **arg) : } else if (strcmp(arg[iarg],"c") == 0) { if (iarg+4 > narg) error->all(FLERR,"Illegal Compute XRD Command"); - c[0] = atof(arg[iarg+1]); - c[1] = atof(arg[iarg+2]); - c[2] = atof(arg[iarg+3]); + c[0] = utils::numeric(FLERR,arg[iarg+1],false,lmp); + c[1] = utils::numeric(FLERR,arg[iarg+2],false,lmp); + c[2] = utils::numeric(FLERR,arg[iarg+3],false,lmp); if (c[0] < 0 || c[1] < 0 || c[2] < 0) error->all(FLERR,"Compute XRD: c's must be greater than 0"); iarg += 4; } else if (strcmp(arg[iarg],"LP") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal Compute XRD Command"); - LP = atof(arg[iarg+1]); + LP = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (!(LP == 1 || LP == 0)) error->all(FLERR,"Compute XRD: LP must have value of 0 or 1"); @@ -234,13 +234,10 @@ ComputeXRD::ComputeXRD(LAMMPS *lmp, int narg, char **arg) : size_array_rows = nRows; size_array_cols = 2; - if (me == 0) { - if (screen && echo) { - fprintf(screen,"-----\nCompute XRD id:%s, # of atoms:%d, # of relp:%d\n",id,natoms,nRows); - fprintf(screen,"Reciprocal point spacing in k1,k2,k3 = %g %g %g\n-----\n", - dK[0], dK[1], dK[2]); - } - } + if (me == 0 && echo) + utils::logmesg(lmp,"-----\nCompute XRD id:{}, # of atoms:{}, # of relp:{}\n" + "Reciprocal point spacing in k1,k2,k3 = {:.8} {:.8} {:.8}\n-----\n", + id,natoms,nRows,dK[0],dK[1],dK[2]); memory->create(array,size_array_rows,size_array_cols,"xrd:array"); memory->create(store_tmp,3*size_array_rows,"xrd:store_tmp"); @@ -266,9 +263,7 @@ void ComputeXRD::init() double ang = 0.0; double convf = 360 / MY_PI; - if (radflag ==1) { - convf = 1; - } + if (radflag ==1) convf = 1; int n = 0; for (int m = 0; m < mmax; m++) { @@ -303,10 +298,7 @@ void ComputeXRD::compute_array() { invoked_array = update->ntimestep; - if (me == 0 && echo) { - if (screen) - fprintf(screen,"-----\nComputing XRD intensities"); - } + if (me == 0 && echo) utils::logmesg(lmp, "-----\nComputing XRD intensities"); double t0 = MPI_Wtime(); @@ -342,19 +334,16 @@ void ComputeXRD::compute_array() // Setting up OMP #if defined(_OPENMP) - if (me == 0 && echo) { - if (screen) - fprintf(screen," using %d OMP threads\n",comm->nthreads); - } + if ((me == 0) && echo) utils::logmesg(lmp," using {} OMP threads\n",comm->nthreads); #endif - if (me == 0 && echo) { - if (screen) { - fprintf(screen,"\n"); - if (LP == 1) - fprintf(screen,"Applying Lorentz-Polarization Factor During XRD Calculation 2\n"); - } + if ((me == 0) && echo) { + utils::logmesg(lmp,"\n"); + + if (LP == 1) + utils::logmesg(lmp,"Applying Lorentz-Polarization Factor During XRD Calculation 2\n"); } + int m = 0; double frac = 0.1; @@ -433,7 +422,7 @@ void ComputeXRD::compute_array() #endif { if (m == round(frac * size_array_rows)) { - if (me == 0 && screen) fprintf(screen," %0.0f%% -",frac*100); + if (me == 0) utils::logmesg(lmp," {:2.0f}% -",frac*100); frac += 0.1; } m++; @@ -487,7 +476,7 @@ void ComputeXRD::compute_array() #endif { if (m == round(frac * size_array_rows)) { - if (me == 0 && screen) fprintf(screen," %0.0f%% -",frac*100 ); + if (me == 0) utils::logmesg(lmp," {:2.0f}% -",frac*100); frac += 0.1; } m++; @@ -512,10 +501,9 @@ void ComputeXRD::compute_array() // compute memory usage per processor double bytes = memory_usage(); - if (me == 0 && echo) { - if (screen) - fprintf(screen," 100%% \nTime elapsed during compute_xrd = %0.2f sec using %0.2f Mbytes/processor\n-----\n", t2-t0, bytes/1024.0/1024.0); - } + if (me == 0 && echo) + utils::logmesg(lmp," 100% \nTime elapsed during compute_xrd = {:.2f} sec " + "using {:.2f} Mbytes/processor\n-----\n", t2-t0, bytes/1024.0/1024.0); delete [] scratch; delete [] Fvec; @@ -538,4 +526,3 @@ double ComputeXRD::memory_usage() return bytes; } - From dd822848b48e9daaa0c1f584e1ca4f3d1fc079fe Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 28 Jun 2021 10:47:28 -0400 Subject: [PATCH 287/726] add doi to citations --- src/USER-DIFFRACTION/compute_saed.cpp | 2 +- src/USER-DIFFRACTION/compute_xrd.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/USER-DIFFRACTION/compute_saed.cpp b/src/USER-DIFFRACTION/compute_saed.cpp index 4de34cb339..e5af83ca92 100644 --- a/src/USER-DIFFRACTION/compute_saed.cpp +++ b/src/USER-DIFFRACTION/compute_saed.cpp @@ -38,7 +38,7 @@ using namespace LAMMPS_NS; using namespace MathConst; static const char cite_compute_saed_c[] = - "compute_saed command:\n\n" + "compute_saed command: doi:10.1088/0965-0393/21/5/055020\n\n" "@Article{Coleman13,\n" " author = {S. P. Coleman, D. E. Spearot, L. Capolungo},\n" " title = {Virtual diffraction analysis of Ni [010] symmetric tilt grain boundaries},\n" diff --git a/src/USER-DIFFRACTION/compute_xrd.cpp b/src/USER-DIFFRACTION/compute_xrd.cpp index 81f420cd9d..c6cf7be2ce 100644 --- a/src/USER-DIFFRACTION/compute_xrd.cpp +++ b/src/USER-DIFFRACTION/compute_xrd.cpp @@ -39,7 +39,7 @@ using namespace LAMMPS_NS; using namespace MathConst; static const char cite_compute_xrd_c[] = - "compute_xrd command:\n\n" + "compute_xrd command: doi:10.1088/0965-0393/21/5/055020\n\n" "@Article{Coleman13,\n" " author = {S. P. Coleman, D. E. Spearot, L. Capolungo},\n" " title = {Virtual diffraction analysis of Ni [010] symmetric tilt grain boundaries},\n" From 91e0614cefbea7442a3012cae55c1a18ecb61345 Mon Sep 17 00:00:00 2001 From: Stan Gerald Moore Date: Mon, 28 Jun 2021 08:51:28 -0600 Subject: [PATCH 288/726] Remove unnecessary virtual keyword --- src/atom.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/atom.h b/src/atom.h index e922630706..96066a5ab1 100644 --- a/src/atom.h +++ b/src/atom.h @@ -367,10 +367,10 @@ class Atom : protected Pointers { virtual void map_init(int check = 1); virtual void map_clear(); virtual void map_set(); - virtual void map_one(tagint, int); + void map_one(tagint, int); int map_style_set(); virtual void map_delete(); - virtual int map_find_hash(tagint); + int map_find_hash(tagint); protected: // global to local ID mapping From 39b99afb56311e54469e02a2d88230c7decdcdae Mon Sep 17 00:00:00 2001 From: Stan Gerald Moore Date: Mon, 28 Jun 2021 09:34:08 -0600 Subject: [PATCH 289/726] Remove error description in header file --- src/KOKKOS/neigh_bond_kokkos.h | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/KOKKOS/neigh_bond_kokkos.h b/src/KOKKOS/neigh_bond_kokkos.h index defcf990e3..9bf508ec7a 100644 --- a/src/KOKKOS/neigh_bond_kokkos.h +++ b/src/KOKKOS/neigh_bond_kokkos.h @@ -181,10 +181,6 @@ class NeighBondKokkos : protected Pointers { /* ERROR/WARNING messages: -E: Must use atom map style array with Kokkos - -See the atom_modify map command. - E: Bond atoms missing on proc %d at step %ld The 2nd atom needed to compute a particular bond is missing on this From 9a4735c6efd4f718c038adc23118267a7e8cbfc0 Mon Sep 17 00:00:00 2001 From: Stan Gerald Moore Date: Mon, 28 Jun 2021 11:11:15 -0600 Subject: [PATCH 290/726] Temporarily rename variable to avoid name collision until #2708 is merged --- src/USER-REAXC/reaxc_allocate.cpp | 12 ++++++------ src/USER-REAXC/reaxc_control.cpp | 2 +- src/USER-REAXC/reaxc_defs.h | 4 ++-- src/USER-REAXC/reaxc_ffield.cpp | 2 +- src/USER-REAXC/reaxc_init_md.cpp | 12 ++++++------ src/USER-REAXC/reaxc_io_tools.cpp | 4 ++-- src/USER-REAXC/reaxc_list.cpp | 2 +- src/USER-REAXC/reaxc_traj.cpp | 20 ++++++++++---------- 8 files changed, 29 insertions(+), 29 deletions(-) diff --git a/src/USER-REAXC/reaxc_allocate.cpp b/src/USER-REAXC/reaxc_allocate.cpp index 1cb101b118..7a9fca4d08 100644 --- a/src/USER-REAXC/reaxc_allocate.cpp +++ b/src/USER-REAXC/reaxc_allocate.cpp @@ -66,7 +66,7 @@ int PreAllocate_Space( reax_system *system, control_params * /*control*/, LMP_UNUSED_PARAM(workspace); #endif - return SUCCESS; + return REAXC_SUCCESS; } @@ -78,7 +78,7 @@ int Allocate_System( reax_system *system, int /*local_cap*/, int total_cap, system->my_atoms = (reax_atom*) realloc( system->my_atoms, total_cap*sizeof(reax_atom) ); - return SUCCESS; + return REAXC_SUCCESS; } @@ -315,7 +315,7 @@ int Allocate_Workspace( reax_system * /*system*/, control_params * control, LMP_UNUSED_PARAM(control); #endif - return SUCCESS; + return REAXC_SUCCESS; } @@ -392,7 +392,7 @@ static int Reallocate_Bonds_List( reax_system *system, reax_list *bonds, (double*) smalloc(system->error_ptr, sizeof(double)*nthreads, "CdboReduction"); #endif - return SUCCESS; + return REAXC_SUCCESS; } @@ -426,7 +426,7 @@ void ReAllocate( reax_system *system, control_params *control, if (Nflag) { /* system */ ret = Allocate_System( system, system->local_cap, system->total_cap, msg ); - if (ret != SUCCESS) { + if (ret != REAXC_SUCCESS) { char errmsg[256]; snprintf(errmsg, 256, "Not enough space for atom_list: total_cap=%d", system->total_cap); system->error_ptr->one(FLERR, errmsg); @@ -436,7 +436,7 @@ void ReAllocate( reax_system *system, control_params *control, DeAllocate_Workspace( control, workspace ); ret = Allocate_Workspace( system, control, workspace, system->local_cap, system->total_cap, msg ); - if (ret != SUCCESS) { + if (ret != REAXC_SUCCESS) { char errmsg[256]; snprintf(errmsg, 256, "Not enough space for workspace: local_cap=%d total_cap=%d", system->local_cap, system->total_cap); system->error_ptr->one(FLERR, errmsg); diff --git a/src/USER-REAXC/reaxc_control.cpp b/src/USER-REAXC/reaxc_control.cpp index 84c5feeec2..af24d393d8 100644 --- a/src/USER-REAXC/reaxc_control.cpp +++ b/src/USER-REAXC/reaxc_control.cpp @@ -387,5 +387,5 @@ char Read_Control_File( char *control_file, control_params* control, fclose(fp); - return SUCCESS; + return REAXC_SUCCESS; } diff --git a/src/USER-REAXC/reaxc_defs.h b/src/USER-REAXC/reaxc_defs.h index b98d8a2828..a98e5b5300 100644 --- a/src/USER-REAXC/reaxc_defs.h +++ b/src/USER-REAXC/reaxc_defs.h @@ -34,8 +34,8 @@ #define inline __inline__ #endif /*IBMC*/ -#ifndef SUCCESS -#define SUCCESS 1 +#ifndef REAXC_SUCCESS +#define REAXC_SUCCESS 1 #endif #ifndef FAILURE #define FAILURE 0 diff --git a/src/USER-REAXC/reaxc_ffield.cpp b/src/USER-REAXC/reaxc_ffield.cpp index 0b771bf356..0a3db31fc3 100644 --- a/src/USER-REAXC/reaxc_ffield.cpp +++ b/src/USER-REAXC/reaxc_ffield.cpp @@ -736,5 +736,5 @@ char Read_Force_Field( FILE *fp, reax_interaction *reax, fclose(fp); - return SUCCESS; + return REAXC_SUCCESS; } diff --git a/src/USER-REAXC/reaxc_init_md.cpp b/src/USER-REAXC/reaxc_init_md.cpp index 3d0a60c862..b08ca8a59d 100644 --- a/src/USER-REAXC/reaxc_init_md.cpp +++ b/src/USER-REAXC/reaxc_init_md.cpp @@ -67,7 +67,7 @@ int Init_System(reax_system *system, control_params *control, char * /*msg*/) } system->Hcap = (int)(MAX(system->numH * saferzone, mincap)); - return SUCCESS; + return REAXC_SUCCESS; } @@ -83,7 +83,7 @@ int Init_Simulation_Data(reax_system *system, control_params *control, data->step = data->prev_steps = 0; - return SUCCESS; + return REAXC_SUCCESS; } void Init_Taper(control_params *control, storage *workspace) @@ -134,7 +134,7 @@ int Init_Workspace(reax_system *system, control_params *control, ret = Allocate_Workspace(system, control, workspace, system->local_cap, system->total_cap, msg); - if (ret != SUCCESS) + if (ret != REAXC_SUCCESS) return ret; memset(&(workspace->realloc), 0, sizeof(reallocate_data)); @@ -143,7 +143,7 @@ int Init_Workspace(reax_system *system, control_params *control, /* Initialize the Taper function */ Init_Taper(control, workspace); - return SUCCESS; + return REAXC_SUCCESS; } @@ -156,7 +156,7 @@ int Init_MPI_Datatypes(reax_system *system, storage * /*workspace*/, mpi_data->world = comm; MPI_Comm_size(comm, &(system->wsize)); - return SUCCESS; + return REAXC_SUCCESS; } int Init_Lists(reax_system *system, control_params *control, @@ -216,7 +216,7 @@ int Init_Lists(reax_system *system, control_params *control, free(hb_top); free(bond_top); - return SUCCESS; + return REAXC_SUCCESS; } void Initialize(reax_system *system, control_params *control, diff --git a/src/USER-REAXC/reaxc_io_tools.cpp b/src/USER-REAXC/reaxc_io_tools.cpp index 0e254b2c88..dc9cf55789 100644 --- a/src/USER-REAXC/reaxc_io_tools.cpp +++ b/src/USER-REAXC/reaxc_io_tools.cpp @@ -78,7 +78,7 @@ int Init_Output_Files( reax_system *system, control_params *control, } } - return SUCCESS; + return REAXC_SUCCESS; } @@ -101,7 +101,7 @@ int Close_Output_Files( reax_system *system, control_params * /* control */, } } - return SUCCESS; + return REAXC_SUCCESS; } diff --git a/src/USER-REAXC/reaxc_list.cpp b/src/USER-REAXC/reaxc_list.cpp index a02f7d2fd7..4620a7a3c8 100644 --- a/src/USER-REAXC/reaxc_list.cpp +++ b/src/USER-REAXC/reaxc_list.cpp @@ -95,7 +95,7 @@ int Make_List(int n, int num_intrs, int type, reax_list *l ) l->error_ptr->one(FLERR,errmsg); } - return SUCCESS; + return REAXC_SUCCESS; } diff --git a/src/USER-REAXC/reaxc_traj.cpp b/src/USER-REAXC/reaxc_traj.cpp index 637a69ed0f..f6e2dafeee 100644 --- a/src/USER-REAXC/reaxc_traj.cpp +++ b/src/USER-REAXC/reaxc_traj.cpp @@ -48,7 +48,7 @@ int Reallocate_Output_Buffer( LAMMPS_NS::Error *error_ptr, output_controls *out_ error_ptr->one(FLERR,errmsg); } - return SUCCESS; + return REAXC_SUCCESS; } @@ -259,7 +259,7 @@ int Write_Header( reax_system *system, control_params *control, if (system->my_rank == MASTER_NODE) fprintf( out_control->strj, "%s", out_control->buffer ); - return SUCCESS; + return REAXC_SUCCESS; } @@ -311,7 +311,7 @@ int Write_Init_Desc( reax_system *system, control_params * /*control*/, fprintf( out_control->strj, "%s", out_control->buffer ); } - return SUCCESS; + return REAXC_SUCCESS; } @@ -355,7 +355,7 @@ int Init_Traj( reax_system *system, control_params *control, Write_Header( system, control, out_control, mpi_data ); Write_Init_Desc( system, control, out_control, mpi_data ); - return SUCCESS; + return REAXC_SUCCESS; } @@ -480,7 +480,7 @@ int Write_Frame_Header( reax_system *system, control_params *control, if (system->my_rank == MASTER_NODE) fprintf( out_control->strj, "%s", out_control->buffer ); - return SUCCESS; + return REAXC_SUCCESS; } @@ -557,7 +557,7 @@ int Write_Atoms( reax_system *system, control_params * /*control*/, fprintf( out_control->strj, "%s", out_control->buffer ); } - return SUCCESS; + return REAXC_SUCCESS; } @@ -646,7 +646,7 @@ int Write_Bonds(reax_system *system, control_params *control, reax_list *bonds, fprintf( out_control->strj, "%s", out_control->buffer ); } - return SUCCESS; + return REAXC_SUCCESS; } @@ -741,7 +741,7 @@ int Write_Angles( reax_system *system, control_params *control, fprintf( out_control->strj, "%s", out_control->buffer ); } - return SUCCESS; + return REAXC_SUCCESS; } @@ -761,7 +761,7 @@ int Append_Frame( reax_system *system, control_params *control, Write_Angles( system, control, (*lists + BONDS), (*lists + THREE_BODIES), out_control, mpi_data ); - return SUCCESS; + return REAXC_SUCCESS; } @@ -773,5 +773,5 @@ int End_Traj( int my_rank, output_controls *out_control ) free( out_control->buffer ); free( out_control->line ); - return SUCCESS; + return REAXC_SUCCESS; } From 5e3fe19c9f991a8f1ffde16efb6d40a5c53aa42f Mon Sep 17 00:00:00 2001 From: tomswinburne Date: Tue, 29 Jun 2021 10:48:19 +0200 Subject: [PATCH 291/726] revert --- python/lammps/core.py | 11 ++++------- src/MAKE/Makefile.mpi | 6 +++--- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/python/lammps/core.py b/python/lammps/core.py index ea038c0920..d26726b176 100644 --- a/python/lammps/core.py +++ b/python/lammps/core.py @@ -123,17 +123,14 @@ class lammps(object): lib_ext = ".dll" modpath = winpath else: - """ import platform - if platform.system() == "Darwin": # this flags an error on MacOSX + if platform.system() == "Darwin": lib_ext = ".dylib" elif platform.system() == "Windows": lib_ext = ".dll" else: lib_ext = ".so" - """ - lib_ext = ".so" - + if not self.lib: if name: libpath = join(modpath,"liblammps_%s" % name + lib_ext) @@ -1573,8 +1570,8 @@ class lammps(object): """Return a string with detailed information about any devices that are usable by the GPU package. - This is a wrapper around the :cpp:func:`lammps_get_gpu_device_info` - function of the C-library interface. + This is a wrapper around the :cpp:func:`lammps_get_gpu_device_info` + function of the C-library interface. :return: GPU device info string :rtype: string diff --git a/src/MAKE/Makefile.mpi b/src/MAKE/Makefile.mpi index 7b06320f52..756c25c7e0 100644 --- a/src/MAKE/Makefile.mpi +++ b/src/MAKE/Makefile.mpi @@ -7,12 +7,12 @@ SHELL = /bin/sh # specify flags and libraries needed for your compiler CC = mpicxx -CCFLAGS = -g -O3 -std=c++11 +CCFLAGS = -g -O3 SHFLAGS = -fPIC DEPFLAGS = -M LINK = mpicxx -LINKFLAGS = -g -O3 -std=c++11 +LINKFLAGS = -g -O3 LIB = SIZE = size @@ -28,7 +28,7 @@ SHLIBFLAGS = -shared -rdynamic # LAMMPS ifdef settings # see possible settings in Section 3.5 of the manual -LMP_INC = -DLAMMPS_GZIP -DLAMMPS_MEMALIGN=64 -DLAMMPS_EXCEPTIONS +LMP_INC = -DLAMMPS_GZIP -DLAMMPS_MEMALIGN=64 # -DLAMMPS_CXX98 # MPI library # see discussion in Section 3.4 of the manual From 49e8fead3ab7db611b4513a017986a94e04a4833 Mon Sep 17 00:00:00 2001 From: tomswinburne Date: Tue, 29 Jun 2021 10:51:10 +0200 Subject: [PATCH 292/726] revert --- python/lammps/core.py | 2 +- src/MAKE/Makefile.mpi | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/python/lammps/core.py b/python/lammps/core.py index d26726b176..a430052b8c 100644 --- a/python/lammps/core.py +++ b/python/lammps/core.py @@ -130,7 +130,7 @@ class lammps(object): lib_ext = ".dll" else: lib_ext = ".so" - + if not self.lib: if name: libpath = join(modpath,"liblammps_%s" % name + lib_ext) diff --git a/src/MAKE/Makefile.mpi b/src/MAKE/Makefile.mpi index 756c25c7e0..9776b0153e 100644 --- a/src/MAKE/Makefile.mpi +++ b/src/MAKE/Makefile.mpi @@ -28,7 +28,7 @@ SHLIBFLAGS = -shared -rdynamic # LAMMPS ifdef settings # see possible settings in Section 3.5 of the manual -LMP_INC = -DLAMMPS_GZIP -DLAMMPS_MEMALIGN=64 # -DLAMMPS_CXX98 +LMP_INC = -DLAMMPS_GZIP -DLAMMPS_MEMALIGN=64 # -DLAMMPS_CXX98 # MPI library # see discussion in Section 3.4 of the manual From 1a662b78d51a69dae94b16e5313da74d4e26e00f Mon Sep 17 00:00:00 2001 From: tomswinburne Date: Tue, 29 Jun 2021 10:53:02 +0200 Subject: [PATCH 293/726] conform --- python/lammps/core.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/python/lammps/core.py b/python/lammps/core.py index a430052b8c..88eba735b0 100644 --- a/python/lammps/core.py +++ b/python/lammps/core.py @@ -1570,8 +1570,8 @@ class lammps(object): """Return a string with detailed information about any devices that are usable by the GPU package. - This is a wrapper around the :cpp:func:`lammps_get_gpu_device_info` - function of the C-library interface. + This is a wrapper around the :cpp:func:`lammps_get_gpu_device_info` + function of the C-library interface. :return: GPU device info string :rtype: string From a8be4ca4b8de2b22eba46f9028fbbf07abc4fc1e Mon Sep 17 00:00:00 2001 From: tomswinburne Date: Tue, 29 Jun 2021 11:31:49 +0200 Subject: [PATCH 294/726] cleaner implementation --- src/SNAP/pair_snap.cpp | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/src/SNAP/pair_snap.cpp b/src/SNAP/pair_snap.cpp index da54847820..c9a6747fe4 100644 --- a/src/SNAP/pair_snap.cpp +++ b/src/SNAP/pair_snap.cpp @@ -180,15 +180,21 @@ void PairSNAP::compute(int eflag, int vflag) snaptr->compute_deidrj(fij); - f[i][0] += fij[0] * scale[itype][itype]; - f[i][1] += fij[1] * scale[itype][itype]; - f[i][2] += fij[2] * scale[itype][itype]; - f[j][0] -= fij[0] * scale[itype][itype]; - f[j][1] -= fij[1] * scale[itype][itype]; - f[j][2] -= fij[2] * scale[itype][itype]; + // scaling + fij[0] *= scale[itype][itype]; + fij[1] *= scale[itype][itype]; + fij[2] *= scale[itype][itype]; + + f[i][0] += fij[0]; + f[i][1] += fij[1]; + f[i][2] += fij[2]; + f[j][0] -= fij[0]; + f[j][1] -= fij[1]; + f[j][2] -= fij[2]; // tally per-atom virial contribution + if (vflag) ev_tally_xyz(i,j,nlocal,newton_pair,0.0,0.0, fij[0],fij[1],fij[2], @@ -203,7 +209,7 @@ void PairSNAP::compute(int eflag, int vflag) // evdwl = energy of atom I, sum over coeffs_k * Bi_k double* coeffi = coeffelem[ielem]; - evdwl = coeffi[0] * scale[itype][itype] ; + evdwl = coeffi[0] ; // snaptr->copy_bi2bvec(); // E = beta.B + 0.5*B^t.alpha.B @@ -211,7 +217,7 @@ void PairSNAP::compute(int eflag, int vflag) // linear contributions for (int icoeff = 0; icoeff < ncoeff; icoeff++) - evdwl += coeffi[icoeff+1]*bispectrum[ii][icoeff] * scale[itype][itype]; + evdwl += coeffi[icoeff+1]*bispectrum[ii][icoeff]; // quadratic contributions @@ -219,13 +225,14 @@ void PairSNAP::compute(int eflag, int vflag) int k = ncoeff+1; for (int icoeff = 0; icoeff < ncoeff; icoeff++) { double bveci = bispectrum[ii][icoeff]; - evdwl += 0.5*coeffi[k++]*bveci*bveci * scale[itype][itype]; + evdwl += 0.5*coeffi[k++]*bveci*bveci; for (int jcoeff = icoeff+1; jcoeff < ncoeff; jcoeff++) { double bvecj = bispectrum[ii][jcoeff]; - evdwl += coeffi[k++]*bveci*bvecj * scale[itype][itype]; + evdwl += coeffi[k++]*bveci*bvecj; } } } + evdwl *= scale[itype][itype]; ev_tally_full(i,2.0*evdwl,0.0,0.0,0.0,0.0,0.0); } From eda2cd965e541d34b928a1e9aaf897c2f265b44c Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 29 Jun 2021 10:44:32 -0400 Subject: [PATCH 295/726] rename MLIAP package to ML-IAP --- doc/src/Build_extras.rst | 42 +++++++------- doc/src/Packages_details.rst | 10 ++-- doc/src/Packages_standard.rst | 2 +- doc/src/compute_mliap.rst | 37 ++++++------ doc/src/pair_mliap.rst | 4 +- potentials/README | 20 +++---- python/lammps/mliap/loader.py | 4 +- src/Depend.sh | 4 +- src/{MLIAP => ML-IAP}/Install.sh | 2 +- src/ML-IAP/README.md | 56 +++++++++++++++++++ src/{MLIAP => ML-IAP}/compute_mliap.cpp | 0 src/{MLIAP => ML-IAP}/compute_mliap.h | 0 src/{MLIAP => ML-IAP}/mliap_data.cpp | 0 src/{MLIAP => ML-IAP}/mliap_data.h | 0 src/{MLIAP => ML-IAP}/mliap_descriptor.cpp | 0 src/{MLIAP => ML-IAP}/mliap_descriptor.h | 0 .../mliap_descriptor_snap.cpp | 0 src/{MLIAP => ML-IAP}/mliap_descriptor_snap.h | 0 .../mliap_descriptor_so3.cpp | 0 src/{MLIAP => ML-IAP}/mliap_descriptor_so3.h | 0 src/{MLIAP => ML-IAP}/mliap_model.cpp | 0 src/{MLIAP => ML-IAP}/mliap_model.h | 0 src/{MLIAP => ML-IAP}/mliap_model_linear.cpp | 0 src/{MLIAP => ML-IAP}/mliap_model_linear.h | 0 src/{MLIAP => ML-IAP}/mliap_model_nn.cpp | 0 src/{MLIAP => ML-IAP}/mliap_model_nn.h | 0 src/{MLIAP => ML-IAP}/mliap_model_python.cpp | 0 src/{MLIAP => ML-IAP}/mliap_model_python.h | 0 .../mliap_model_python_couple.pyx | 0 .../mliap_model_quadratic.cpp | 0 src/{MLIAP => ML-IAP}/mliap_model_quadratic.h | 0 src/{MLIAP => ML-IAP}/mliap_so3.cpp | 0 src/{MLIAP => ML-IAP}/mliap_so3.h | 0 src/{MLIAP => ML-IAP}/mliap_so3_math.h | 0 src/{MLIAP => ML-IAP}/pair_mliap.cpp | 0 src/{MLIAP => ML-IAP}/pair_mliap.h | 0 src/MLIAP/README.md | 41 -------------- src/Makefile | 2 +- 38 files changed, 121 insertions(+), 103 deletions(-) rename src/{MLIAP => ML-IAP}/Install.sh (96%) create mode 100644 src/ML-IAP/README.md rename src/{MLIAP => ML-IAP}/compute_mliap.cpp (100%) rename src/{MLIAP => ML-IAP}/compute_mliap.h (100%) rename src/{MLIAP => ML-IAP}/mliap_data.cpp (100%) rename src/{MLIAP => ML-IAP}/mliap_data.h (100%) rename src/{MLIAP => ML-IAP}/mliap_descriptor.cpp (100%) rename src/{MLIAP => ML-IAP}/mliap_descriptor.h (100%) rename src/{MLIAP => ML-IAP}/mliap_descriptor_snap.cpp (100%) rename src/{MLIAP => ML-IAP}/mliap_descriptor_snap.h (100%) rename src/{MLIAP => ML-IAP}/mliap_descriptor_so3.cpp (100%) rename src/{MLIAP => ML-IAP}/mliap_descriptor_so3.h (100%) rename src/{MLIAP => ML-IAP}/mliap_model.cpp (100%) rename src/{MLIAP => ML-IAP}/mliap_model.h (100%) rename src/{MLIAP => ML-IAP}/mliap_model_linear.cpp (100%) rename src/{MLIAP => ML-IAP}/mliap_model_linear.h (100%) rename src/{MLIAP => ML-IAP}/mliap_model_nn.cpp (100%) rename src/{MLIAP => ML-IAP}/mliap_model_nn.h (100%) rename src/{MLIAP => ML-IAP}/mliap_model_python.cpp (100%) rename src/{MLIAP => ML-IAP}/mliap_model_python.h (100%) rename src/{MLIAP => ML-IAP}/mliap_model_python_couple.pyx (100%) rename src/{MLIAP => ML-IAP}/mliap_model_quadratic.cpp (100%) rename src/{MLIAP => ML-IAP}/mliap_model_quadratic.h (100%) rename src/{MLIAP => ML-IAP}/mliap_so3.cpp (100%) rename src/{MLIAP => ML-IAP}/mliap_so3.h (100%) rename src/{MLIAP => ML-IAP}/mliap_so3_math.h (100%) rename src/{MLIAP => ML-IAP}/pair_mliap.cpp (100%) rename src/{MLIAP => ML-IAP}/pair_mliap.h (100%) delete mode 100644 src/MLIAP/README.md diff --git a/doc/src/Build_extras.rst b/doc/src/Build_extras.rst index 423897fd7a..4b7b7ad063 100644 --- a/doc/src/Build_extras.rst +++ b/doc/src/Build_extras.rst @@ -37,7 +37,7 @@ This is the list of packages that may require additional steps. * :ref:`KOKKOS ` * :ref:`LATTE ` * :ref:`MESSAGE ` - * :ref:`MLIAP ` + * :ref:`ML-IAP ` * :ref:`MSCG ` * :ref:`OPT ` * :ref:`POEMS ` @@ -811,16 +811,17 @@ be installed on your system. .. _mliap: -MLIAP package +ML-IAP package --------------------------- -Building the MLIAP package requires including the :ref:`SNAP ` -package. There will be an error message if this requirement is not satisfied. -Using the *mliappy* model also requires enabling Python support, which -in turn requires the :ref:`PYTHON ` -package **and** requires you have the `cython `_ software -installed and with it a working ``cythonize`` command. This feature requires -compiling LAMMPS with Python version 3.6 or later. +Building the ML-IAP package requires including the :ref:`SNAP +` package. There will be an error message if this requirement +is not satisfied. Using the *mliappy* model also requires enabling +Python support, which in turn requires to include the :ref:`PYTHON +` package **and** requires to have the `cython +`_ software installed and with it a working +``cythonize`` command. This feature requires compiling LAMMPS with +Python version 3.6 or later. .. tabs:: @@ -834,9 +835,9 @@ compiling LAMMPS with Python version 3.6 or later. suitable Python version and the ``cythonize`` command and choose the default accordingly. During the build procedure the provided .pyx file(s) will be automatically translated to C++ code and compiled. - Please do **not** run ``cythonize`` manually in the ``src/MLIAP`` folder, + Please do **not** run ``cythonize`` manually in the ``src/ML-IAP`` folder, as that can lead to compilation errors if Python support is not enabled. - If you did by accident, please remove the generated .cpp and .h files. + If you did it by accident, please remove the generated .cpp and .h files. .. tab:: Traditional make @@ -845,15 +846,16 @@ compiling LAMMPS with Python version 3.6 or later. the ``cythonize`` command in case the corresponding .pyx file(s) were modified. You may need to modify ``lib/python/Makefile.lammps`` if the LAMMPS build fails. - To manually enforce building MLIAP with Python support enabled, - you can add - ``-DMLIAP_PYTHON`` to the ``LMP_INC`` variable in your machine makefile. - You may have to manually run the ``cythonize`` command on .pyx file(s) - in the ``src`` folder, if this is not automatically done during - installing the MLIAP package. Please do **not** run ``cythonize`` - in the ``src/MLIAP`` folder, as that can lead to compilation errors - if Python support is not enabled. - If you did by accident, please remove the generated .cpp and .h files. + + To enable building the ML-IAP package with Python support enabled, + you need to add ``-DMLIAP_PYTHON`` to the ``LMP_INC`` variable in + your machine makefile. You may have to manually run the + ``cythonize`` command on .pyx file(s) in the ``src`` folder, if + this is not automatically done during installing the ML-IAP + package. Please do **not** run ``cythonize`` in the ``src/ML-IAP`` + folder, as that can lead to compilation errors if Python support + is not enabled. If you did this by accident, please remove the + generated .cpp and .h files. ---------- diff --git a/doc/src/Packages_details.rst b/doc/src/Packages_details.rst index 478bc2c282..69eeca4fac 100644 --- a/doc/src/Packages_details.rst +++ b/doc/src/Packages_details.rst @@ -44,7 +44,7 @@ page gives those details. * :ref:`MC ` * :ref:`MESSAGE ` * :ref:`MISC ` - * :ref:`MLIAP ` + * :ref:`ML-IAP ` * :ref:`MOLECULE ` * :ref:`MPIIO ` * :ref:`MSCG ` @@ -668,9 +668,9 @@ listing, "ls src/MISC", to see the list of commands. ---------- -.. _PKG-MLIAP: +.. _PKG-ML-IAP: -MLIAP package +ML-IAP package ------------- **Contents:** @@ -689,8 +689,8 @@ must be installed. **Supporting info:** -* src/MLIAP: filenames -> commands -* src/MLIAP/README +* src/ML-IAP: filenames -> commands +* src/ML-IAP/README.md * :doc:`pair_style mliap ` * :doc:`compute_style mliap ` * examples/mliap (see README) diff --git a/doc/src/Packages_standard.rst b/doc/src/Packages_standard.rst index 8fc1e7df7a..da788a3200 100644 --- a/doc/src/Packages_standard.rst +++ b/doc/src/Packages_standard.rst @@ -59,7 +59,7 @@ package: +----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ | :ref:`MISC ` | miscellaneous single-file commands | n/a | no | no | +----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`MLIAP ` | multiple machine learning potentials | :doc:`pair_style mliap ` | mliap | no | +| :ref:`ML-IAP ` | multiple machine learning potentials | :doc:`pair_style mliap ` | mliap | no | +----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ | :ref:`MOLECULE ` | molecular system force fields | :doc:`Howto bioFF ` | peptide | no | +----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ diff --git a/doc/src/compute_mliap.rst b/doc/src/compute_mliap.rst index 579086ad4a..de6a560c83 100644 --- a/doc/src/compute_mliap.rst +++ b/doc/src/compute_mliap.rst @@ -56,21 +56,22 @@ and it is also straightforward to add new descriptor styles. The compute *mliap* command must be followed by two keywords *model* and *descriptor* in either order. -The *model* keyword is followed by the model style (*linear*, *quadratic* or *mliappy*). -The *mliappy* model is only available -if lammps is built with MLIAPPY package. +The *model* keyword is followed by the model style (*linear*, +*quadratic* or *mliappy*). The *mliappy* model is only available if +LAMMPS is built with the *mliappy* python module. There are +:ref:`specific installation instructions ` for that. -The *descriptor* keyword is followed by a descriptor style, and additional arguments. -The compute currently supports just one descriptor style, but it is -is straightforward to add new descriptor styles. -The SNAP descriptor style *sna* is the same as that used by :doc:`pair_style snap `, -including the linear, quadratic, and chem variants. -A single additional argument specifies the descriptor filename -containing the parameters and setting used by the SNAP descriptor. -The descriptor filename usually ends in the *.mliap.descriptor* extension. -The format of this file is identical to the descriptor file in the -:doc:`pair_style mliap `, and is described in detail -there. +The *descriptor* keyword is followed by a descriptor style, and +additional arguments. The compute currently supports two descriptor +styles *sna* and *so3*, but it is is straightforward to add additional +descriptor styles. The SNAP descriptor style *sna* is the same as that +used by :doc:`pair_style snap `, including the linear, +quadratic, and chem variants. A single additional argument specifies +the descriptor filename containing the parameters and setting used by +the SNAP descriptor. The descriptor filename usually ends in the +*.mliap.descriptor* extension. The format of this file is identical to +the descriptor file in the :doc:`pair_style mliap `, and is +described in detail there. .. note:: @@ -164,10 +165,10 @@ potentials, see the examples in `FitSNAP `_. Restrictions """""""""""" -This compute is part of the MLIAP package. It is only enabled if LAMMPS -was built with that package. In addition, building LAMMPS with the MLIAP package -requires building LAMMPS with the SNAP package. -The *mliappy* model requires building LAMMPS with the PYTHON package. +This compute is part of the ML-IAP package. It is only enabled if +LAMMPS was built with that package. In addition, building LAMMPS with +the ML-IAP package requires building LAMMPS with the SNAP package. The +*mliappy* model also requires building LAMMPS with the PYTHON package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/pair_mliap.rst b/doc/src/pair_mliap.rst index 73ebe48856..8a43169c83 100644 --- a/doc/src/pair_mliap.rst +++ b/doc/src/pair_mliap.rst @@ -192,9 +192,9 @@ This pair style can only be used via the *pair* keyword of the Restrictions """""""""""" -This pair style is part of the MLIAP package. It is only enabled if +This pair style is part of the ML-IAP package. It is only enabled if LAMMPS was built with that package. In addition, building LAMMPS with -the MLIAP package requires building LAMMPS with the SNAP package. The +the ML-IAP package requires building LAMMPS with the SNAP package. The *mliappy* model requires building LAMMPS with the PYTHON package. See the :doc:`Build package ` doc page for more info. diff --git a/potentials/README b/potentials/README index fbc49f8613..bd4ea89c4e 100644 --- a/potentials/README +++ b/potentials/README @@ -84,35 +84,35 @@ Au_u3 = Gold universal 3 The suffix of each file indicates the pair style it is used with: adp ADP angular dependent potential -airebo AI-REBO and REBO potentials +airebo AI-REBO and REBO potentials bop.table BOP potential, tabulated form cdeam concentration-dependent EAM comb COMB potential comb3 COMB3 potential -eam embedded atom method (EAM) single element, DYNAMO funcfl format +eam embedded atom method (EAM) single element, DYNAMO funcfl format eam.alloy EAM multi-element alloy, DYNAMO setfl format -eam.fs Finnis-Sinclair EAM format (single element or alloy) +eam.fs Finnis-Sinclair EAM format (single element or alloy) edip EDIP potential for silicon-based materials eim embedded-ion method (EIM) potential lcbop LCBOP long-range bond-order potential -meam modified EAM (MEAM) library and individual elements/alloys +meam modified EAM (MEAM) library and individual elements/alloys meam.spline modified EAM (MEAM) spline potential meam.sw.spline modified EAM (MEAM) Stillinger-Weber spline potential mesocnt mesoscopic carbon nanotube (CNT) potential mgpt model generalized pseudopotential theory (MGPT) potential -mliap MLIAP potential -mliap.descriptor MLIAP potential descriptor -mliap.model MLIAP potential model +mliap ML-IAP potential +mliap.descriptor ML-IAP potential descriptor +mliap.model ML-IAP potential model nb3b.harmonic nonbonded 3-body harmonic potential poly polymorphic 3-body potential -reax ReaxFF potential (see README.reax for more info) +reax ReaxFF potential (see README.reax for more info) smtbq second moment tight binding QEq (SMTBQ) potential snap SNAP potential snapcoeff SNAP potential snapparam SNAP potential streitz Coulombic portion of Streitz-Mintmire potential -sw Stillinger-Weber potential -tersoff Tersoff potential +sw Stillinger-Weber potential +tersoff Tersoff potential tersoff.mod modified Tersoff potential tersoff.zbl Tersoff with ZBL core vashishta Vashishta 2-body and 3-body potential diff --git a/python/lammps/mliap/loader.py b/python/lammps/mliap/loader.py index 8588c2b4bf..dff791bfc1 100644 --- a/python/lammps/mliap/loader.py +++ b/python/lammps/mliap/loader.py @@ -39,13 +39,13 @@ def activate_mliappy(lmp): # End Importlib magic to find the embedded python module except Exception as ee: - raise ImportError("Could not load MLIAP python coupling module.") from ee + raise ImportError("Could not load ML-IAP python coupling module.") from ee def load_model(model): try: import mliap_model_python_couple except ImportError as ie: - raise ImportError("MLIAP python module must be activated before loading\n" + raise ImportError("ML-IAP python module must be activated before loading\n" "the pair style. Call lammps.mliap.activate_mliappy(lmp)." ) from ie mliap_model_python_couple.load_from_python(model) diff --git a/src/Depend.sh b/src/Depend.sh index f77d435fc5..7449a46ff5 100755 --- a/src/Depend.sh +++ b/src/Depend.sh @@ -107,7 +107,7 @@ if (test $1 = "PERI") then fi if (test $1 = "PYTHON") then - depend MLIAP + depend ML-IAP fi if (test $1 = "RIGID") then @@ -118,7 +118,7 @@ fi if (test $1 = "SNAP") then depend KOKKOS - depend MLIAP + depend ML-IAP fi if (test $1 = "USER-CGSDK") then diff --git a/src/MLIAP/Install.sh b/src/ML-IAP/Install.sh similarity index 96% rename from src/MLIAP/Install.sh rename to src/ML-IAP/Install.sh index e6ba4042a9..7be7c703a8 100755 --- a/src/MLIAP/Install.sh +++ b/src/ML-IAP/Install.sh @@ -29,7 +29,7 @@ action () { # enforce package dependency if (test $1 = 1 || test $1 = 2) then if (test ! -e ../sna.h) then - echo "Must install SNAP package to use MLIAP package" + echo "Must install SNAP package to use ML-IAP package" exit 1 fi fi diff --git a/src/ML-IAP/README.md b/src/ML-IAP/README.md new file mode 100644 index 0000000000..f6db495099 --- /dev/null +++ b/src/ML-IAP/README.md @@ -0,0 +1,56 @@ +This package provides a general interface to families of +machine-learning interatomic potentials (MLIAPs). This interface +consists of a `mliap pair style` and a `mliap compute`. The `mliap pair +style` is used when running simulations with energies and forces +calculated by an MLIAP. The interface allows separate definitions of the +interatomic potential functional form (`model`) and the geometric +quantities that characterize the atomic positions (`descriptor`). By +defining `model` and `descriptor` separately, it is possible to use many +different models with a given descriptor, or many different descriptors +with a given model. The mliap pair_style supports the following models: + +- `linear`, +- `quadratic`, +- `nn` (neural networks) +- `mliappy` (general Python interface to things like PyTorch). + +It currently supports two classes of descriptors, `sna` (the SNAP +descriptors) and `so3` (the SO3 descriptor). It is straightforward to +add new descriptor and model styles. + +The `compute mliap` style provides gradients of the energy, force, and +stress tensor w.r.t. model parameters. These are useful when training +MLIAPs to match target data. Any `model` or `descriptor` that has been +implemented for the `mliap` pair style can also be accessed by the +`mliap` compute. In addition to the energy, force, and stress +gradients, w.r.t. each `model` parameter, the compute also calculates +the energy, force, and stress contributions from a user-specified +reference potential. + +## Generating the model files from the third-party packages +- To train the `linear` and `quadratic` models with the SNAP descriptors, see the examples in [FitSNAP](https://github.com/FitSNAP/FitSNAP). +- To train the `nn` model with the SNAP descriptors, check the examples in [PyXtal\_FF](https://github.com/qzhu2017/PyXtal_FF). + +## Building the ML-IAP package with Python support + +The `mliappy` energy model requires that the MLIAP package is compiled +with Python support enabled. This extension, written by Nick Lubbers +(LANL), provides a coupling to PyTorch and other Python modules. This +should be automatically enabled by default if the prerequisite software +is installed when compiling with CMake. It can be enforced during CMake +configuration by setting the variable `MLIAP_ENABLE_PYTHON=yes` or for +conventional build by adding `-DMLIAP_PYTHON` to the `LMP_INC` variable +in your makefile and running the cythonize script on the .pyx file(s) +copied to the src folder. + +Using the `mliappy` energy model also requires to install the PYTHON +package and have the [cython](https://cython.org) software +installed. During configuration/compilation the cythonize script will be +used to convert the provided .pyx file(s) to C++ code. Please do *NOT* +run the cythonize script manually in the src/ML-IAP folder. If you have +done so by accident, you need to delete the generated .cpp and .h +file(s) in the src/ML-IAP folder or there may be problems during +compilation. + +More information on building LAMMPS with this package is +[here](https://docs.lammps.org/Build_extras.html#mliap). diff --git a/src/MLIAP/compute_mliap.cpp b/src/ML-IAP/compute_mliap.cpp similarity index 100% rename from src/MLIAP/compute_mliap.cpp rename to src/ML-IAP/compute_mliap.cpp diff --git a/src/MLIAP/compute_mliap.h b/src/ML-IAP/compute_mliap.h similarity index 100% rename from src/MLIAP/compute_mliap.h rename to src/ML-IAP/compute_mliap.h diff --git a/src/MLIAP/mliap_data.cpp b/src/ML-IAP/mliap_data.cpp similarity index 100% rename from src/MLIAP/mliap_data.cpp rename to src/ML-IAP/mliap_data.cpp diff --git a/src/MLIAP/mliap_data.h b/src/ML-IAP/mliap_data.h similarity index 100% rename from src/MLIAP/mliap_data.h rename to src/ML-IAP/mliap_data.h diff --git a/src/MLIAP/mliap_descriptor.cpp b/src/ML-IAP/mliap_descriptor.cpp similarity index 100% rename from src/MLIAP/mliap_descriptor.cpp rename to src/ML-IAP/mliap_descriptor.cpp diff --git a/src/MLIAP/mliap_descriptor.h b/src/ML-IAP/mliap_descriptor.h similarity index 100% rename from src/MLIAP/mliap_descriptor.h rename to src/ML-IAP/mliap_descriptor.h diff --git a/src/MLIAP/mliap_descriptor_snap.cpp b/src/ML-IAP/mliap_descriptor_snap.cpp similarity index 100% rename from src/MLIAP/mliap_descriptor_snap.cpp rename to src/ML-IAP/mliap_descriptor_snap.cpp diff --git a/src/MLIAP/mliap_descriptor_snap.h b/src/ML-IAP/mliap_descriptor_snap.h similarity index 100% rename from src/MLIAP/mliap_descriptor_snap.h rename to src/ML-IAP/mliap_descriptor_snap.h diff --git a/src/MLIAP/mliap_descriptor_so3.cpp b/src/ML-IAP/mliap_descriptor_so3.cpp similarity index 100% rename from src/MLIAP/mliap_descriptor_so3.cpp rename to src/ML-IAP/mliap_descriptor_so3.cpp diff --git a/src/MLIAP/mliap_descriptor_so3.h b/src/ML-IAP/mliap_descriptor_so3.h similarity index 100% rename from src/MLIAP/mliap_descriptor_so3.h rename to src/ML-IAP/mliap_descriptor_so3.h diff --git a/src/MLIAP/mliap_model.cpp b/src/ML-IAP/mliap_model.cpp similarity index 100% rename from src/MLIAP/mliap_model.cpp rename to src/ML-IAP/mliap_model.cpp diff --git a/src/MLIAP/mliap_model.h b/src/ML-IAP/mliap_model.h similarity index 100% rename from src/MLIAP/mliap_model.h rename to src/ML-IAP/mliap_model.h diff --git a/src/MLIAP/mliap_model_linear.cpp b/src/ML-IAP/mliap_model_linear.cpp similarity index 100% rename from src/MLIAP/mliap_model_linear.cpp rename to src/ML-IAP/mliap_model_linear.cpp diff --git a/src/MLIAP/mliap_model_linear.h b/src/ML-IAP/mliap_model_linear.h similarity index 100% rename from src/MLIAP/mliap_model_linear.h rename to src/ML-IAP/mliap_model_linear.h diff --git a/src/MLIAP/mliap_model_nn.cpp b/src/ML-IAP/mliap_model_nn.cpp similarity index 100% rename from src/MLIAP/mliap_model_nn.cpp rename to src/ML-IAP/mliap_model_nn.cpp diff --git a/src/MLIAP/mliap_model_nn.h b/src/ML-IAP/mliap_model_nn.h similarity index 100% rename from src/MLIAP/mliap_model_nn.h rename to src/ML-IAP/mliap_model_nn.h diff --git a/src/MLIAP/mliap_model_python.cpp b/src/ML-IAP/mliap_model_python.cpp similarity index 100% rename from src/MLIAP/mliap_model_python.cpp rename to src/ML-IAP/mliap_model_python.cpp diff --git a/src/MLIAP/mliap_model_python.h b/src/ML-IAP/mliap_model_python.h similarity index 100% rename from src/MLIAP/mliap_model_python.h rename to src/ML-IAP/mliap_model_python.h diff --git a/src/MLIAP/mliap_model_python_couple.pyx b/src/ML-IAP/mliap_model_python_couple.pyx similarity index 100% rename from src/MLIAP/mliap_model_python_couple.pyx rename to src/ML-IAP/mliap_model_python_couple.pyx diff --git a/src/MLIAP/mliap_model_quadratic.cpp b/src/ML-IAP/mliap_model_quadratic.cpp similarity index 100% rename from src/MLIAP/mliap_model_quadratic.cpp rename to src/ML-IAP/mliap_model_quadratic.cpp diff --git a/src/MLIAP/mliap_model_quadratic.h b/src/ML-IAP/mliap_model_quadratic.h similarity index 100% rename from src/MLIAP/mliap_model_quadratic.h rename to src/ML-IAP/mliap_model_quadratic.h diff --git a/src/MLIAP/mliap_so3.cpp b/src/ML-IAP/mliap_so3.cpp similarity index 100% rename from src/MLIAP/mliap_so3.cpp rename to src/ML-IAP/mliap_so3.cpp diff --git a/src/MLIAP/mliap_so3.h b/src/ML-IAP/mliap_so3.h similarity index 100% rename from src/MLIAP/mliap_so3.h rename to src/ML-IAP/mliap_so3.h diff --git a/src/MLIAP/mliap_so3_math.h b/src/ML-IAP/mliap_so3_math.h similarity index 100% rename from src/MLIAP/mliap_so3_math.h rename to src/ML-IAP/mliap_so3_math.h diff --git a/src/MLIAP/pair_mliap.cpp b/src/ML-IAP/pair_mliap.cpp similarity index 100% rename from src/MLIAP/pair_mliap.cpp rename to src/ML-IAP/pair_mliap.cpp diff --git a/src/MLIAP/pair_mliap.h b/src/ML-IAP/pair_mliap.h similarity index 100% rename from src/MLIAP/pair_mliap.h rename to src/ML-IAP/pair_mliap.h diff --git a/src/MLIAP/README.md b/src/MLIAP/README.md deleted file mode 100644 index b5cdc337f5..0000000000 --- a/src/MLIAP/README.md +++ /dev/null @@ -1,41 +0,0 @@ -This package provides a general interface to families of machine-learning interatomic potentials (MLIAPs). -This interface consists of a `mliap pair style` and a `mliap compute`. -The `mliap pair style` is used when running simulations with energies and -forces calculated by an MLIAP. The interface allows separate -definitions of the interatomic potential functional form (`model`) -and the geometric quantities that characterize the atomic positions -(`descriptor`). By defining `model` and `descriptor` separately, -it is possible to use many different models with a given descriptor, -or many different descriptors with a given model. The pair_style -supports the following models: - -- `linear`, -- `quadratic`, -- `nn` (neural networks) -- `mliappy` (general Python interface to things like PyTorch). - -It currently supports only one class of descriptors, `sna`, the SNAP descriptors. -It is straightforward to add new descriptor and model styles. - -The `mliap compute` style provides gradients of the energy, force, -and stress tensor w.r.t. model parameters. -These are useful when training MLIAPs to match target data. -Any `model` or `descriptor` that has been implemented for the -`mliap` pair style can also be accessed by the `mliap` compute. -In addition to the energy, force, and stress gradients, w.r.t. -each `model` parameter, the compute also calculates the energy, -force, and stress contributions from a user-specified -reference potential. - -## Generating the model files from the third-party packages -- To train the `linear` and `quadratic` models with the SNAP descriptors, see the examples in [FitSNAP](https://github.com/FitSNAP/FitSNAP). -- To train the `nn` model with the SNAP descriptors, check the examples in [PyXtal\_FF](https://github.com/qzhu2017/PyXtal_FF). - -## Building MLIAP with Python support - -The `mliappy` energy model requires that the MLIAP package be compiled with Python support enabled. This extension, written by Nick Lubbers (LANL), provides a coupling to PyTorch and other Python modules. This should be automatically enabled by default if the prerequisite software is installed. It can be enforced during CMake configuration by setting the variable `MLIAP_ENABLE_PYTHON=yes` or for conventional build by adding `-DMLIAP_PYTHON` to the `LMP_INC` variable in your makefile and running the cythonize script on the .pyx file(s) copied to the src folder. - -This requires to also install the PYTHON package and have the [cython](https://cython.org) software installed. During configuration/compilation -the cythonize script will be used to convert the provided .pyx file(s) to C++ code. Please do not run the cythonize script in the src/MLIAP folder. If you have done so by accident, you need to delete the generated .cpp and .h file(s) in the src/MLIAP folder or there may be problems during compilation. - -More information on building LAMMPS with this package is [here](https://docs.lammps.org/Build_extras.html#mliap). diff --git a/src/Makefile b/src/Makefile index 5e7a3c000f..d084d84c5c 100644 --- a/src/Makefile +++ b/src/Makefile @@ -48,7 +48,7 @@ endif PACKAGE = asphere body class2 colloid compress coreshell dipole gpu \ granular kim kokkos kspace latte manybody mc message misc \ - mliap molecule mpiio mscg opt peri plugin poems \ + ml-iap molecule mpiio mscg opt peri plugin poems \ python qeq replica rigid shock snap spin srd voronoi PACKUSER = user-adios user-atc user-awpmd user-brownian user-bocs user-cgdna \ From 553a06e823c3bb3bff7fe126a235e8dfbf765228 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 29 Jun 2021 10:44:40 -0400 Subject: [PATCH 296/726] remove bogus file --- src/Makefile.txt | 443 ----------------------------------------------- 1 file changed, 443 deletions(-) delete mode 100644 src/Makefile.txt diff --git a/src/Makefile.txt b/src/Makefile.txt deleted file mode 100644 index 5542ed0cc5..0000000000 --- a/src/Makefile.txt +++ /dev/null @@ -1,443 +0,0 @@ -# LAMMPS multiple-machine -*- Makefile -*- - -SHELL = /bin/bash -PYTHON = python - -#.IGNORE: - -# Definitions - -ROOT = lmp -EXE = lmp_$@ -ARLIB = liblammps_$@.a -SHLIB = liblammps_$@.so -ARLINK = liblammps.a -SHLINK = liblammps.so -TMPNAME= tmp_$@_name -LMPLINK= -L. -llammps_$@ - -OBJDIR = Obj_$@ -OBJSHDIR = Obj_shared_$@ - -SRC = $(wildcard *.cpp) -INC = $(filter-out lmpinstalledpkgs.h lmpgitversion.h,$(wildcard *.h)) -OBJ = $(SRC:.cpp=.o) - -SRCLIB = $(filter-out main.cpp,$(SRC)) -OBJLIB = $(filter-out main.o,$(OBJ)) - -# Command-line options for mode: static (default), shared, or print - -mode = static -objdir = $(OBJDIR) - -ifeq ($(mode),shared) -objdir = $(OBJSHDIR) -endif - -# Package variables - -# PACKAGE = standard packages -# PACKUSER = user packagse -# PACKLIB = all packages that require an additional lib -# should be PACKSYS + PACKINT + PACKEXT -# PACKSYS = subset that reqiure a common system library -# include MPIIO and LB b/c require full MPI, not just STUBS -# PACKINT = subset that require an internal (provided) library -# PACKEXT = subset that require an external (downloaded) library - -PACKAGE = asphere body class2 colloid compress coreshell dipole gpu \ - granular kim kokkos kspace latte manybody mc message misc \ - mliap molecule mpiio mscg opt peri plugin poems \ - python qeq replica rigid shock snap spin srd voronoi - -PACKUSER = user-adios user-atc user-awpmd user-bocs user-cgdna user-cgsdk user-colvars \ - user-diffraction user-dpd user-drude user-eff user-fep user-h5md \ - user-intel user-lb user-manifold user-meamc user-mesodpd user-mesont \ - user-mgpt user-misc user-mofff user-molfile \ - user-netcdf user-omp user-phonon user-pace user-plumed user-ptm user-qmmm \ - user-qtb user-quip user-rann user-reaction user-reaxc user-scafacos user-smd user-smtbq \ - user-sdpd user-sph user-tally user-uef user-vtk user-yaff - -PACKLIB = compress gpu kim kokkos latte message mpiio mscg poems \ - python voronoi \ - user-adios user-atc user-awpmd user-colvars user-h5md user-lb user-molfile \ - user-netcdf user-plumed user-qmmm user-quip user-scafacos \ - user-smd user-vtk user-mesont user-pace - -PACKSYS = compress mpiio python user-lb - -PACKINT = gpu kokkos message poems user-atc user-awpmd user-colvars user-mesont - -PACKEXT = kim latte mscg voronoi \ - user-adios user-h5md user-molfile user-netcdf user-pace user-plumed \ - user-qmmm user-quip user-smd user-vtk - -PACKALL = $(PACKAGE) $(PACKUSER) - -# Helper GNU make function for conversion to upper case without using shell commands -uppercase_TABLE:=a,A b,B c,C d,D e,E f,F g,G h,H i,I j,J k,K l,L m,M n,N o,O p,P q,Q r,R s,S t,T u,U v,V w,W x,X y,Y z,Z -uppercase_internal=$(if $1,$$(subst $(firstword $1),$(call uppercase_internal,$(wordlist 2,$(words $1),$1),$2)),$2) -uppercase=$(eval uppercase_RESULT:=$(call uppercase_internal,$(uppercase_TABLE),$1))$(uppercase_RESULT) - -PACKAGEUC = $(call uppercase,$(PACKAGE)) -PACKUSERUC = $(call uppercase,$(PACKUSER)) - -YESDIR = $(call uppercase,$(@:yes-%=%)) -NODIR = $(call uppercase,$(@:no-%=%)) -LIBDIR = $(@:lib-%=%) -LIBUSERDIR = $(@:lib-user-%=%) - -# List of all targets - -help: - @echo '' - @echo 'make clean-all delete all object files' - @echo 'make clean-machine delete object files for one machine' - @echo 'make mpi-stubs build dummy MPI library in STUBS' - @echo 'make install-python install LAMMPS wrapper in Python' - @echo 'make tar create lmp_src.tar.gz for src dir and packages' - @echo '' - @echo 'make package list available packages and their dependencies' - @echo 'make package-status (ps) status of all packages' - @echo 'make package-installed (pi) list of installed packages' - @echo 'make yes-package install a single pgk in src dir' - @echo 'make no-package remove a single pkg from src dir' - @echo 'make yes-all install all pgks in src dir' - @echo 'make no-all remove all pkgs from src dir' - @echo 'make yes-standard (yes-std) install all standard pkgs' - @echo 'make no-standard (no-std) remove all standard pkgs' - @echo 'make yes-user install all user pkgs' - @echo 'make no-user remove all user pkgs' - @echo 'make yes-lib install all pkgs with libs (included or ext)' - @echo 'make no-lib remove all pkgs with libs (included or ext)' - @echo 'make yes-ext install all pkgs with external libs' - @echo 'make no-ext remove all pkgs with external libs' - @echo '' - @echo 'make package-update (pu) replace src files with updated package files' - @echo 'make package-overwrite replace package files with src files' - @echo 'make package-diff (pd) diff src files against package files' - @echo '' - @echo 'make lib-package help for download/build/install a package library' - @echo 'make lib-package args="..." download/build/install a package library' - @echo 'make purge purge obsolete copies of source files' - @echo '' - @echo 'make machine build LAMMPS for machine with static library' - @echo 'make mode=static machine same as above' - @echo 'make mode=shared machine build LAMMPS for machine with shared library' - @echo 'make mode=print machine print compiler/linker flags' - @echo '' - @echo 'machine is one of these from src/MAKE:' - @echo '' - @files="`ls MAKE/Makefile.*`"; \ - for file in $$files; do head -1 $$file; done - @echo '' - @echo '... or one of these from src/MAKE/OPTIONS:' - @echo '' - @files="`ls MAKE/OPTIONS/Makefile.*`"; \ - for file in $$files; do head -1 $$file; done - @echo '' - @echo '... or one of these from src/MAKE/MACHINES:' - @echo '' - @files="`ls MAKE/MACHINES/Makefile.*`"; \ - for file in $$files; do head -1 $$file; done - @echo '' - @echo '... or one of these from src/MAKE/MINE:' - @echo '' - @files="`ls MAKE/MINE/Makefile.* 2>/dev/null`"; \ - for file in $$files; do head -1 $$file; done - @echo '' - - -lmpinstalledpkgs.h: $(SRC) $(INC) - @echo '#ifndef LMP_INSTALLED_PKGS_H' > ${TMPNAME}.lmpinstalled - @echo '#define LMP_INSTALLED_PKGS_H' >> ${TMPNAME}.lmpinstalled - @echo 'const char * LAMMPS_NS::LAMMPS::installed_packages[] = {' >> ${TMPNAME}.lmpinstalled - @for p in $(PACKAGEUC) $(PACKUSERUC); do info=$$($(SHELL) Package.sh $$p installed); \ - [ -n "$$info" ] && echo "\"$$info\"" | sed -e 's/".*package \(.*\)"/"\1",/' >> ${TMPNAME}.lmpinstalled || :; done - @echo ' NULL };' >> ${TMPNAME}.lmpinstalled - @echo '#endif' >> ${TMPNAME}.lmpinstalled - @if [ -f lmpinstalledpkgs.h ]; \ - then test "`diff --brief ${TMPNAME}.lmpinstalled lmpinstalledpkgs.h`" != "" && \ - mv ${TMPNAME}.lmpinstalled lmpinstalledpkgs.h || rm ${TMPNAME}.lmpinstalled ; \ - else mv ${TMPNAME}.lmpinstalled lmpinstalledpkgs.h ; fi - -gitversion: - @echo 'Gathering git version information' - @echo '#ifndef LMP_GIT_VERSION_H' > ${TMPNAME}.lmpgitversion - @echo '#define LMP_GIT_VERSION_H' >> ${TMPNAME}.lmpgitversion - @if (type git && test -e ../.git ) >> /dev/null 2>> /dev/null ; then \ - git='true'; \ - commit=$$(git rev-parse HEAD); \ - branch=$$(git rev-parse --abbrev-ref HEAD); \ - describe=$$(git describe --dirty=-modified); \ - else \ - git='false' ; \ - commit='(unknown)' ; \ - branch='(unknown)' ; \ - describe='(unknown)' ; \ - fi ; \ - echo "const bool LAMMPS_NS::LAMMPS::has_git_info = $${git};" >> ${TMPNAME}.lmpgitversion ; \ - echo "const char LAMMPS_NS::LAMMPS::git_commit[] = \"$${commit}\";" >> ${TMPNAME}.lmpgitversion ; \ - echo "const char LAMMPS_NS::LAMMPS::git_branch[] = \"$${branch}\";" >> ${TMPNAME}.lmpgitversion ; \ - echo "const char LAMMPS_NS::LAMMPS::git_descriptor[] = \"$${describe}\";" >> ${TMPNAME}.lmpgitversion - @echo '#endif' >> ${TMPNAME}.lmpgitversion - @if [ -f lmpgitversion.h ]; \ - then test "`diff --brief ${TMPNAME}.lmpgitversion lmpgitversion.h`" != "" && \ - mv ${TMPNAME}.lmpgitversion lmpgitversion.h || rm ${TMPNAME}.lmpgitversion ; \ - else mv ${TMPNAME}.lmpgitversion lmpgitversion.h ; fi - -# Build LAMMPS in one of 2 modes -# static = static compile in Obj_machine (default) -# shared = shared compile in Obj_shared_machine - -.DEFAULT: - @if [ $@ = "serial" ]; \ - then cd STUBS; $(MAKE); cd ..; fi - @test -f MAKE/Makefile.$@ -o -f MAKE/OPTIONS/Makefile.$@ -o \ - -f MAKE/MACHINES/Makefile.$@ -o -f MAKE/MINE/Makefile.$@ - @if [ ! -d $(objdir) ]; then mkdir $(objdir); fi - @echo 'Gathering installed package information (may take a little while)' - @$(SHELL) Make.sh style - @$(SHELL) Make.sh packages - @$(MAKE) $(MFLAGS) lmpinstalledpkgs.h gitversion - @echo 'Compiling LAMMPS for machine $@' - @if [ -f MAKE/MACHINES/Makefile.$@ ]; \ - then cp MAKE/MACHINES/Makefile.$@ $(objdir)/Makefile; fi - @if [ -f MAKE/OPTIONS/Makefile.$@ ]; \ - then cp MAKE/OPTIONS/Makefile.$@ $(objdir)/Makefile; fi - @if [ -f MAKE/Makefile.$@ ]; \ - then cp MAKE/Makefile.$@ $(objdir)/Makefile; fi - @if [ -f MAKE/MINE/Makefile.$@ ]; \ - then cp MAKE/MINE/Makefile.$@ $(objdir)/Makefile; fi - @if [ ! -e Makefile.package ]; \ - then cp Makefile.package.empty Makefile.package; fi - @if [ ! -e Makefile.package.settings ]; \ - then cp Makefile.package.settings.empty Makefile.package.settings; fi - @cp Makefile.package Makefile.package.settings $(objdir) - @cd $(objdir); rm -f .depend; \ - $(MAKE) $(MFLAGS) "SRC = $(SRC)" "INC = $(INC)" depend || : - @rm -f $(ARLINK) $(SHLINK) $(EXE) -ifeq ($(mode),static) - @cd $(objdir); \ - $(MAKE) $(MFLAGS) "OBJ = $(OBJLIB)" "INC = $(INC)" "SHFLAGS =" \ - "LMPLIB = $(ARLIB)" "ARLIB = $(ARLIB)" "SHLIB = $(SHLIB)" \ - "LMPLINK = $(LMPLINK)" "EXE = ../$(EXE)" ../$(EXE) - @ln -s $(ARLIB) $(ARLINK) -endif -ifeq ($(mode),shared) - @cd $(objdir); \ - $(MAKE) $(MFLAGS) "OBJ = $(OBJLIB)" "INC = $(INC)" \ - "LMPLIB = $(SHLIB)" "ARLIB = $(ARLIB)" "SHLIB = $(SHLIB)" \ - "LMPLINK = $(LMPLINK)" "EXE = ../$(EXE)" ../$(EXE) - @ln -s $(SHLIB) $(SHLINK) -endif -# backward compatibility -ifeq ($(mode),exe) - $(MAKE) $(MFLAGS) mode=static $@ -endif -ifeq ($(mode),lib) - $(MAKE) $(MFLAGS) mode=static $@ -endif -ifeq ($(mode),shexe) - $(MAKE) $(MFLAGS) mode=shared $@ -endif -ifeq ($(mode),shlib) - $(MAKE) $(MFLAGS) mode=shared $@ -endif - -ifeq ($(mode),print) - @cd $(objdir); \ - $(MAKE) $(MFLAGS) "OBJ = $(OBJLIB)" "INC = $(INC)" \ - "EXE = ../$(ARLIB)" -f ../Makefile.print -endif - -# Remove machine-specific object files - -clean: - @echo 'make clean-all delete all object files' - @echo 'make clean-machine delete object files for one machine' - -clean-all: - rm -rf Obj_* - -clean-%: - @if [ $@ = "clean-serial" ]; \ - then cd STUBS; $(MAKE) clean; cd ..; fi - rm -rf Obj_$(@:clean-%=%) Obj_shared_$(@:clean-%=%) - -# Make MPI STUBS library - -mpi-stubs: - @cd STUBS; $(MAKE) clean; $(MAKE) - -# install LAMMPS shared lib and Python wrapper for Python usage -# include python package settings to automatically adapt name of -# the python interpreter. must purge build folder to not install -# unwanted outdated files. - -sinclude ../lib/python/Makefile.lammps -install-python: - @rm -rf ../python/build - @$(PYTHON) ../python/install.py -v ../src/version.h \ - -p ../python/lammps -l ../src/liblammps.so - -# Create a tarball of src dir and packages - -tar: - @cd STUBS; $(MAKE) clean - @cd ..; tar cvzf src/$(ROOT)_src.tar.gz \ - src/Make* src/Package.sh src/Depend.sh src/Install.sh src/Fetch.sh \ - src/MAKE src/DEPEND src/*.cpp src/*.h src/STUBS \ - $(patsubst %,src/%,$(PACKAGEUC)) $(patsubst %,src/%,$(PACKUSERUC)) \ - --exclude=*/.svn - @cd STUBS; $(MAKE) - @echo "Created $(ROOT)_src.tar.gz" - -# Package management - -package: - @echo 'Standard packages:' $(PACKAGE) - @echo '' - @echo 'User-contributed packages:' $(PACKUSER) - @echo '' - @echo 'Packages that need system libraries:' $(PACKSYS) - @echo '' - @echo 'Packages that need provided libraries:' $(PACKINT) - @echo '' - @echo 'Packages that need external libraries:' $(PACKEXT) - @echo '' - @echo 'make package list available packages' - @echo 'make package list available packages' - @echo 'make package-status (ps) status of all packages' - @echo 'make package-installed (pi) list of installed packages' - @echo 'make yes-package install a single pgk in src dir' - @echo 'make no-package remove a single pkg from src dir' - @echo 'make yes-all install all pgks in src dir' - @echo 'make no-all remove all pkgs from src dir' - @echo 'make yes-standard (yes-std) install all standard pkgs' - @echo 'make no-standard (no-std) remove all standard pkgs' - @echo 'make yes-user install all user pkgs' - @echo 'make no-user remove all user pkgs' - @echo 'make yes-lib install all pkgs with libs (included or ext)' - @echo 'make no-lib remove all pkgs with libs (included or ext)' - @echo 'make yes-ext install all pkgs with external libs' - @echo 'make no-ext remove all pkgs with external libs' - @echo '' - @echo 'make package-update (pu) replace src files with package files' - @echo 'make package-overwrite replace package files with src files' - @echo 'make package-diff (pd) diff src files against package file' - @echo '' - @echo 'make lib-package build and/or download a package library' - -yes-all: - @for p in $(PACKALL); do $(MAKE) yes-$$p; done - -no-all: - @for p in $(PACKALL); do $(MAKE) no-$$p; done - -yes-standard yes-std: - @for p in $(PACKAGE); do $(MAKE) yes-$$p; done - -no-standard no-std: - @for p in $(PACKAGE); do $(MAKE) no-$$p; done - -yes-user: - @for p in $(PACKUSER); do $(MAKE) yes-$$p; done - -no-user: - @for p in $(PACKUSER); do $(MAKE) no-$$p; done - -yes-lib: - @for p in $(PACKLIB); do $(MAKE) yes-$$p; done - -no-lib: - @for p in $(PACKLIB); do $(MAKE) no-$$p; done - -yes-ext: - @for p in $(PACKEXT); do $(MAKE) yes-$$p; done - -no-ext: - @for p in $(PACKEXT); do $(MAKE) no-$$p; done - -yes-%: - @if [ ! -e Makefile.package ]; \ - then cp Makefile.package.empty Makefile.package; fi - @if [ ! -e Makefile.package.settings ]; \ - then cp Makefile.package.settings.empty Makefile.package.settings; fi - @if [ ! -e $(YESDIR) ]; then \ - echo "Package $(YESDIR) does not exist"; exit 1; \ - elif [ -e $(YESDIR)/Install.sh ]; then \ - echo "Installing package $(@:yes-%=%)"; \ - cd $(YESDIR); $(SHELL) Install.sh 1; cd ..; \ - $(SHELL) Depend.sh $(YESDIR) 1; \ - else \ - echo "Installing package $(@:yes-%=%)"; \ - cd $(YESDIR); $(SHELL) ../Install.sh 1; cd ..; \ - $(SHELL) Depend.sh $(YESDIR) 1; \ - fi; - @$(SHELL) Fetch.sh $(YESDIR) - -no-%: - @if [ ! -e $(NODIR) ]; then \ - echo "Package $(NODIR) does not exist"; exit 1; \ - elif [ -e $(NODIR)/Install.sh ]; then \ - echo "Uninstalling package $(@:no-%=%)"; \ - cd $(NODIR); $(SHELL) Install.sh 0; cd ..; \ - $(SHELL) Depend.sh $(NODIR) 0; \ - else \ - echo "Uninstalling package $(@:no-%=%)"; \ - cd $(NODIR); $(SHELL) ../Install.sh 0; cd ..; \ - $(SHELL) Depend.sh $(NODIR) 0; \ - fi; - -# download/build/install a package library -# update the timestamp on main.cpp to trigger a relink with "make machine" - -lib-%: - @if [ -e ../lib/$(LIBDIR)/Install.py ]; then \ - echo "Installing lib $(@:lib-%=%)"; \ - ( cd ../lib/$(LIBDIR); $(PYTHON) Install.py $(args) ); \ - elif [ -e ../lib/$(LIBUSERDIR)/Install.py ]; then \ - echo "Installing lib $(@:lib-user-%=%)"; \ - ( cd ../lib/$(LIBUSERDIR); $(PYTHON) Install.py $(args) ); \ - else \ - echo "Install script for lib $(@:lib-%=%) does not exist"; \ - fi; touch main.cpp - -# status = list src files that differ from package files -# installed = list of installed packages -# update = replace src files with newer package files -# overwrite = overwrite package files with newer src files -# diff = show differences between src and package files -# purge = delete obsolete and auto-generated package files - -package-status ps: - @for p in $(PACKAGEUC); do $(SHELL) Package.sh $$p status; done - @echo '' - @for p in $(PACKUSERUC); do $(SHELL) Package.sh $$p status; done - -package-installed pi: - @for p in $(PACKAGEUC); do $(SHELL) Package.sh $$p installed; done - @for p in $(PACKUSERUC); do $(SHELL) Package.sh $$p installed; done - -package-update pu: purge - @for p in $(PACKAGEUC); do $(SHELL) Package.sh $$p update; done - @echo '' - @for p in $(PACKUSERUC); do $(SHELL) Package.sh $$p update; done - -package-overwrite: purge - @for p in $(PACKAGEUC); do $(SHELL) Package.sh $$p overwrite; done - @echo '' - @for p in $(PACKUSERUC); do $(SHELL) Package.sh $$p overwrite; done - -package-diff pd: - @for p in $(PACKAGEUC); do $(SHELL) Package.sh $$p diff; done - @echo '' - @for p in $(PACKUSERUC); do $(SHELL) Package.sh $$p diff; done - -purge: Purge.list - @echo 'Purging obsolete and auto-generated source files' - @for f in `grep -v '#' Purge.list` ; \ - do test -f $$f && rm $$f && echo $$f || : ; \ - done From e482502691feaedd0b206d41470e9925a773bc3c Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 29 Jun 2021 11:06:59 -0400 Subject: [PATCH 297/726] rename SNAP package to ML-SNAP and fix up some remaining MLIAP to ML-IAP issues --- cmake/CMakeLists.txt | 8 +- .../Packages/{MLIAP.cmake => ML-IAP.cmake} | 10 +- cmake/presets/all_off.cmake | 4 +- cmake/presets/all_on.cmake | 4 +- cmake/presets/mingw-cross.cmake | 4 +- cmake/presets/most.cmake | 4 +- doc/src/Build_basics.rst | 2 +- doc/src/Build_extras.rst | 4 +- doc/src/Packages_details.rst | 14 +- doc/src/Packages_standard.rst | 2 +- doc/src/compute_mliap.rst | 7 +- doc/src/compute_sna_atom.rst | 306 +++++++++--------- doc/src/pair_mliap.rst | 6 +- doc/src/pair_snap.rst | 149 +++++---- potentials/README | 6 +- src/Depend.sh | 2 +- src/{SNAP => ML-SNAP}/compute_sna_atom.cpp | 0 src/{SNAP => ML-SNAP}/compute_sna_atom.h | 0 src/{SNAP => ML-SNAP}/compute_snad_atom.cpp | 0 src/{SNAP => ML-SNAP}/compute_snad_atom.h | 0 src/{SNAP => ML-SNAP}/compute_snap.cpp | 0 src/{SNAP => ML-SNAP}/compute_snap.h | 0 src/{SNAP => ML-SNAP}/compute_snav_atom.cpp | 0 src/{SNAP => ML-SNAP}/compute_snav_atom.h | 0 src/{SNAP => ML-SNAP}/pair_snap.cpp | 0 src/{SNAP => ML-SNAP}/pair_snap.h | 0 src/{SNAP => ML-SNAP}/sna.cpp | 0 src/{SNAP => ML-SNAP}/sna.h | 0 src/Makefile | 2 +- 29 files changed, 266 insertions(+), 268 deletions(-) rename cmake/Modules/Packages/{MLIAP.cmake => ML-IAP.cmake} (83%) rename src/{SNAP => ML-SNAP}/compute_sna_atom.cpp (100%) rename src/{SNAP => ML-SNAP}/compute_sna_atom.h (100%) rename src/{SNAP => ML-SNAP}/compute_snad_atom.cpp (100%) rename src/{SNAP => ML-SNAP}/compute_snad_atom.h (100%) rename src/{SNAP => ML-SNAP}/compute_snap.cpp (100%) rename src/{SNAP => ML-SNAP}/compute_snap.h (100%) rename src/{SNAP => ML-SNAP}/compute_snav_atom.cpp (100%) rename src/{SNAP => ML-SNAP}/compute_snav_atom.h (100%) rename src/{SNAP => ML-SNAP}/pair_snap.cpp (100%) rename src/{SNAP => ML-SNAP}/pair_snap.h (100%) rename src/{SNAP => ML-SNAP}/sna.cpp (100%) rename src/{SNAP => ML-SNAP}/sna.h (100%) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index ab1fd6bba6..5d8967adfa 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -139,8 +139,8 @@ install(TARGETS lmp EXPORT LAMMPS_Targets DESTINATION ${CMAKE_INSTALL_BINDIR}) option(CMAKE_VERBOSE_MAKEFILE "Generate verbose Makefiles" OFF) set(STANDARD_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS DIPOLE - GRANULAR KSPACE LATTE MANYBODY MC MESSAGE MISC MLIAP MOLECULE PERI POEMS - PLUGIN QEQ REPLICA RIGID SHOCK SPIN SNAP SRD KIM PYTHON MSCG MPIIO VORONOI + GRANULAR KSPACE LATTE MANYBODY MC MESSAGE MISC ML-IAP MOLECULE PERI POEMS + PLUGIN QEQ REPLICA RIGID SHOCK SPIN ML-SNAP SRD KIM PYTHON MSCG MPIIO VORONOI USER-ADIOS USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-MESODPD USER-CGSDK USER-COLVARS USER-DIELECTRIC USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD USER-HDNNP USER-LB USER-MANIFOLD USER-MDI USER-MEAMC USER-MESONT USER-MGPT @@ -229,7 +229,7 @@ endif() # "hard" dependencies between packages resulting # in an error instead of skipping over files -pkg_depends(MLIAP SNAP) +pkg_depends(ML-IAP ML-SNAP) pkg_depends(MPIIO MPI) pkg_depends(USER-ATC MANYBODY) pkg_depends(USER-LB MPI) @@ -350,7 +350,7 @@ else() set(CUDA_REQUEST_PIC) endif() -foreach(PKG_WITH_INCL KSPACE PYTHON MLIAP VORONOI USER-COLVARS USER-HDNNP USER-MDI USER-MOLFILE USER-NETCDF +foreach(PKG_WITH_INCL KSPACE PYTHON ML-IAP VORONOI USER-COLVARS USER-HDNNP USER-MDI USER-MOLFILE USER-NETCDF USER-PLUMED USER-QMMM USER-QUIP USER-SCAFACOS USER-SMD USER-VTK KIM LATTE MESSAGE MSCG COMPRESS USER-PACE) if(PKG_${PKG_WITH_INCL}) include(Packages/${PKG_WITH_INCL}) diff --git a/cmake/Modules/Packages/MLIAP.cmake b/cmake/Modules/Packages/ML-IAP.cmake similarity index 83% rename from cmake/Modules/Packages/MLIAP.cmake rename to cmake/Modules/Packages/ML-IAP.cmake index 81bb10cb8f..cbffeebf80 100644 --- a/cmake/Modules/Packages/MLIAP.cmake +++ b/cmake/Modules/Packages/ML-IAP.cmake @@ -1,4 +1,4 @@ -# if PYTHON package is included we may also include Python support in MLIAP +# if PYTHON package is included we may also include Python support in ML-IAP set(MLIAP_ENABLE_PYTHON_DEFAULT OFF) if(PKG_PYTHON) find_package(Cythonize QUIET) @@ -7,20 +7,20 @@ if(PKG_PYTHON) endif() endif() -option(MLIAP_ENABLE_PYTHON "Build MLIAP package with Python support" ${MLIAP_ENABLE_PYTHON_DEFAULT}) +option(MLIAP_ENABLE_PYTHON "Build ML-IAP package with Python support" ${MLIAP_ENABLE_PYTHON_DEFAULT}) if(MLIAP_ENABLE_PYTHON) find_package(Cythonize REQUIRED) if(NOT PKG_PYTHON) - message(FATAL_ERROR "Must enable PYTHON package for including Python support in MLIAP") + message(FATAL_ERROR "Must enable PYTHON package for including Python support in ML-IAP") endif() if(CMAKE_VERSION VERSION_LESS 3.12) if(PYTHONLIBS_VERSION_STRING VERSION_LESS 3.6) - message(FATAL_ERROR "Python support in MLIAP requires Python 3.6 or later") + message(FATAL_ERROR "Python support in ML-IAP requires Python 3.6 or later") endif() else() if(Python_VERSION VERSION_LESS 3.6) - message(FATAL_ERROR "Python support in MLIAP requires Python 3.6 or later") + message(FATAL_ERROR "Python support in ML-IAP requires Python 3.6 or later") endif() endif() diff --git a/cmake/presets/all_off.cmake b/cmake/presets/all_off.cmake index 457750c690..2f22a09f2b 100644 --- a/cmake/presets/all_off.cmake +++ b/cmake/presets/all_off.cmake @@ -2,8 +2,8 @@ # an existing package selection without losing any other settings set(ALL_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU - GRANULAR KIM KOKKOS KSPACE LATTE MANYBODY MC MESSAGE MISC MLIAP MOLECULE - MPIIO MSCG OPT PERI PLUGIN POEMS PYTHON QEQ REPLICA RIGID SHOCK SNAP SPIN + GRANULAR KIM KOKKOS KSPACE LATTE MANYBODY MC MESSAGE MISC ML-IAP MOLECULE + MPIIO MSCG OPT PERI PLUGIN POEMS PYTHON QEQ REPLICA RIGID SHOCK ML-SNAP SPIN SRD VORONOI USER-ADIOS USER-ATC USER-AWPMD USER-BROWNIAN USER-BOCS USER-CGDNA USER-CGSDK USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD diff --git a/cmake/presets/all_on.cmake b/cmake/presets/all_on.cmake index ae40bb0809..ca714c3f0e 100644 --- a/cmake/presets/all_on.cmake +++ b/cmake/presets/all_on.cmake @@ -4,8 +4,8 @@ # with just a working C++ compiler and an MPI library. set(ALL_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU - GRANULAR KIM KOKKOS KSPACE LATTE MANYBODY MC MESSAGE MISC MLIAP MOLECULE - MPIIO MSCG OPT PERI PLUGIN POEMS PYTHON QEQ REPLICA RIGID SHOCK SNAP SPIN + GRANULAR KIM KOKKOS KSPACE LATTE MANYBODY MC MESSAGE MISC ML-IAP MOLECULE + MPIIO MSCG OPT PERI PLUGIN POEMS PYTHON QEQ REPLICA RIGID SHOCK ML-SNAP SPIN SRD VORONOI USER-ADIOS USER-ATC USER-AWPMD USER-BROWNIAN USER-BOCS USER-CGDNA USER-CGSDK USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD diff --git a/cmake/presets/mingw-cross.cmake b/cmake/presets/mingw-cross.cmake index e1a6c5cf79..94aef93f29 100644 --- a/cmake/presets/mingw-cross.cmake +++ b/cmake/presets/mingw-cross.cmake @@ -1,6 +1,6 @@ set(WIN_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU - GRANULAR KSPACE LATTE MANYBODY MC MISC MLIAP MOLECULE OPT - PERI POEMS QEQ REPLICA RIGID SHOCK SNAP SPIN SRD VORONOI + GRANULAR KSPACE LATTE MANYBODY MC MISC ML-IAP MOLECULE OPT + PERI POEMS QEQ REPLICA RIGID SHOCK ML-SNAP SPIN SRD VORONOI USER-ATC USER-AWPMD USER-BOCS USER-BROWNIAN USER-CGDNA USER-CGSDK USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-HDNNP USER-INTEL USER-MANIFOLD USER-MDI USER-MEAMC USER-MESODPD diff --git a/cmake/presets/most.cmake b/cmake/presets/most.cmake index e124b25d2b..4b7519923b 100644 --- a/cmake/presets/most.cmake +++ b/cmake/presets/most.cmake @@ -3,8 +3,8 @@ # are removed. The resulting binary should be able to run most inputs. set(ALL_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE - GRANULAR KSPACE MANYBODY MC MISC MLIAP MOLECULE OPT PERI - PLUGIN POEMS PYTHON QEQ REPLICA RIGID SHOCK SNAP SPIN SRD VORONOI + GRANULAR KSPACE MANYBODY MC MISC ML-IAP MOLECULE OPT PERI + PLUGIN POEMS PYTHON QEQ REPLICA RIGID SHOCK ML-SNAP SPIN SRD VORONOI USER-BROWNIAN USER-BOCS USER-CGDNA USER-CGSDK USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-MEAMC USER-MESODPD USER-MISC USER-MOFFF USER-OMP USER-PHONON USER-REACTION diff --git a/doc/src/Build_basics.rst b/doc/src/Build_basics.rst index 30e668a283..f9cf713d29 100644 --- a/doc/src/Build_basics.rst +++ b/doc/src/Build_basics.rst @@ -130,7 +130,7 @@ package can be compiled to include OpenMP threading. In addition, there are a few commands in LAMMPS that have native OpenMP support included as well. These are commands in the ``MPIIO``, -``SNAP``, ``USER-DIFFRACTION``, and ``USER-DPD`` packages. In addition +``ML-SNAP``, ``USER-DIFFRACTION``, and ``USER-DPD`` packages. In addition some packages support OpenMP threading indirectly through the libraries they interface to: e.g. ``LATTE``, ``KSPACE``, and ``USER-COLVARS``. See the :doc:`Packages details ` page for more diff --git a/doc/src/Build_extras.rst b/doc/src/Build_extras.rst index 4b7b7ad063..3e79883a12 100644 --- a/doc/src/Build_extras.rst +++ b/doc/src/Build_extras.rst @@ -814,8 +814,8 @@ be installed on your system. ML-IAP package --------------------------- -Building the ML-IAP package requires including the :ref:`SNAP -` package. There will be an error message if this requirement +Building the ML-IAP package requires including the :ref:`ML-SNAP +` package. There will be an error message if this requirement is not satisfied. Using the *mliappy* model also requires enabling Python support, which in turn requires to include the :ref:`PYTHON ` package **and** requires to have the `cython diff --git a/doc/src/Packages_details.rst b/doc/src/Packages_details.rst index 69eeca4fac..c75f45ee2a 100644 --- a/doc/src/Packages_details.rst +++ b/doc/src/Packages_details.rst @@ -57,7 +57,7 @@ page gives those details. * :ref:`REPLICA ` * :ref:`RIGID ` * :ref:`SHOCK ` - * :ref:`SNAP ` + * :ref:`ML-SNAP ` * :ref:`SPIN ` * :ref:`SRD ` * :ref:`VORONOI ` @@ -671,7 +671,7 @@ listing, "ls src/MISC", to see the list of commands. .. _PKG-ML-IAP: ML-IAP package -------------- +-------------- **Contents:** @@ -679,7 +679,7 @@ A general interface for machine-learning interatomic potentials, including PyTor **Install:** -To use this package, also the :ref:`SNAP package ` package needs +To use this package, also the :ref:`ML-SNAP package ` package needs to be installed. To make the *mliappy* model available, also the :ref:`PYTHON package ` package needs to be installed, the version of Python must be 3.6 or later, and the `cython `_ software @@ -1038,10 +1038,10 @@ a material. ---------- -.. _PKG-SNAP: +.. _PKG-ML-SNAP: -SNAP package ------------- +ML-SNAP package +--------------- **Contents:** @@ -1054,7 +1054,7 @@ computes which analyze attributes of the potential. **Supporting info:** -* src/SNAP: filenames -> commands +* src/ML-SNAP: filenames -> commands * :doc:`pair_style snap ` * :doc:`compute sna/atom ` * :doc:`compute snad/atom ` diff --git a/doc/src/Packages_standard.rst b/doc/src/Packages_standard.rst index da788a3200..edd4124911 100644 --- a/doc/src/Packages_standard.rst +++ b/doc/src/Packages_standard.rst @@ -85,7 +85,7 @@ package: +----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ | :ref:`SHOCK ` | shock loading methods | :doc:`fix msst ` | n/a | no | +----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`SNAP ` | quantum-fitted potential | :doc:`pair_style snap ` | snap | no | +| :ref:`ML-SNAP ` | quantum-fitted potential | :doc:`pair_style snap ` | snap | no | +----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ | :ref:`SPIN ` | magnetic atomic spin dynamics | :doc:`Howto spins ` | SPIN | no | +----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ diff --git a/doc/src/compute_mliap.rst b/doc/src/compute_mliap.rst index de6a560c83..86dfe5a856 100644 --- a/doc/src/compute_mliap.rst +++ b/doc/src/compute_mliap.rst @@ -167,9 +167,10 @@ Restrictions This compute is part of the ML-IAP package. It is only enabled if LAMMPS was built with that package. In addition, building LAMMPS with -the ML-IAP package requires building LAMMPS with the SNAP package. The -*mliappy* model also requires building LAMMPS with the PYTHON package. -See the :doc:`Build package ` doc page for more info. +the ML-IAP package requires building LAMMPS with the ML-SNAP package. +The *mliappy* model also requires building LAMMPS with the PYTHON +package. See the :doc:`Build package ` doc page for more +info. Related commands """""""""""""""" diff --git a/doc/src/compute_sna_atom.rst b/doc/src/compute_sna_atom.rst index 08b06a32ec..4165c4e47a 100644 --- a/doc/src/compute_sna_atom.rst +++ b/doc/src/compute_sna_atom.rst @@ -72,64 +72,66 @@ Description """"""""""" Define a computation that calculates a set of quantities related to the -bispectrum components of the atoms in a group. These computes are -used primarily for calculating the dependence of energy, force, and -stress components on the linear coefficients in the -:doc:`snap pair_style `, which is useful when training a -SNAP potential to match target data. +bispectrum components of the atoms in a group. These computes are used +primarily for calculating the dependence of energy, force, and stress +components on the linear coefficients in the :doc:`snap pair_style +`, which is useful when training a SNAP potential to match +target data. -Bispectrum components of an atom are order parameters characterizing -the radial and angular distribution of neighbor atoms. The detailed +Bispectrum components of an atom are order parameters characterizing the +radial and angular distribution of neighbor atoms. The detailed mathematical definition is given in the paper by Thompson et al. :ref:`(Thompson) ` -The position of a neighbor atom *i'* relative to a central atom *i* is -a point within the 3D ball of radius :math:`R_{ii'}` = *rcutfac* :math:`(R_i + R_i')` +The position of a neighbor atom *i'* relative to a central atom *i* is a +point within the 3D ball of radius :math:`R_{ii'}` = *rcutfac* +:math:`(R_i + R_i')` -Bartok et al. :ref:`(Bartok) `, proposed mapping this 3D ball -onto the 3-sphere, the surface of the unit ball in a four-dimensional -space. The radial distance *r* within *R_ii'* is mapped on to a third -polar angle :math:`\theta_0` defined by, +Bartok et al. :ref:`(Bartok) `, proposed mapping this 3D +ball onto the 3-sphere, the surface of the unit ball in a +four-dimensional space. The radial distance *r* within *R_ii'* is +mapped on to a third polar angle :math:`\theta_0` defined by, .. math:: \theta_0 = {\sf rfac0} \frac{r-r_{min0}}{R_{ii'}-r_{min0}} \pi In this way, all possible neighbor positions are mapped on to a subset -of the 3-sphere. Points south of the latitude :math:`\theta_0` = *rfac0* :math:`\pi` -are excluded. +of the 3-sphere. Points south of the latitude :math:`\theta_0` = +*rfac0* :math:`\pi` are excluded. The natural basis for functions on the 3-sphere is formed by the -representatives of *SU(2)*, the matrices :math:`U^j_{m,m'}(\theta, \phi, \theta_0)`. -These functions are better known as :math:`D^j_{m,m'}`, the elements of the Wigner -*D*\ -matrices :ref:`(Meremianin `, -:ref:`Varshalovich `, :ref:`Mason) ` -The density of neighbors on the 3-sphere can be written as a sum of -Dirac-delta functions, one for each neighbor, weighted by species and -radial distance. Expanding this density function as a generalized -Fourier series in the basis functions, we can write each Fourier -coefficient as +representatives of *SU(2)*, the matrices :math:`U^j_{m,m'}(\theta, \phi, +\theta_0)`. These functions are better known as :math:`D^j_{m,m'}`, the +elements of the Wigner *D*\ -matrices :ref:`(Meremianin +`, :ref:`Varshalovich `, :ref:`Mason) +` The density of neighbors on the 3-sphere can be written as +a sum of Dirac-delta functions, one for each neighbor, weighted by +species and radial distance. Expanding this density function as a +generalized Fourier series in the basis functions, we can write each +Fourier coefficient as .. math:: u^j_{m,m'} = U^j_{m,m'}(0,0,0) + \sum_{r_{ii'} < R_{ii'}}{f_c(r_{ii'}) w_{\mu_{i'}} U^j_{m,m'}(\theta_0,\theta,\phi)} -The :math:`w_{\mu_{i'}}` neighbor weights are dimensionless numbers that depend on -:math:`\mu_{i'}`, the SNAP element of atom *i'*, while the central atom is -arbitrarily assigned a unit weight. The function :math:`f_c(r)` ensures that -the contribution of each neighbor atom goes smoothly to zero at -:math:`R_{ii'}`: +The :math:`w_{\mu_{i'}}` neighbor weights are dimensionless numbers that +depend on :math:`\mu_{i'}`, the SNAP element of atom *i'*, while the +central atom is arbitrarily assigned a unit weight. The function +:math:`f_c(r)` ensures that the contribution of each neighbor atom goes +smoothly to zero at :math:`R_{ii'}`: .. math:: f_c(r) = & \frac{1}{2}(\cos(\pi \frac{r-r_{min0}}{R_{ii'}-r_{min0}}) + 1), r \leq R_{ii'} \\ = & 0, r > R_{ii'} -The expansion coefficients :math:`u^j_{m,m'}` are complex-valued and they are -not directly useful as descriptors, because they are not invariant -under rotation of the polar coordinate frame. However, the following -scalar triple products of expansion coefficients can be shown to be -real-valued and invariant under rotation :ref:`(Bartok) `. +The expansion coefficients :math:`u^j_{m,m'}` are complex-valued and +they are not directly useful as descriptors, because they are not +invariant under rotation of the polar coordinate frame. However, the +following scalar triple products of expansion coefficients can be shown +to be real-valued and invariant under rotation :ref:`(Bartok) +`. .. math:: @@ -140,21 +142,20 @@ real-valued and invariant under rotation :ref:`(Bartok) `. {j_2} {m_2} {m'_2} \end{array}} u^{j_1}_{m_1,m'_1} u^{j_2}_{m_2,m'_2} -The constants :math:`H^{jmm'}_{j_1 m_1 m_{1'},j_2 m_ 2m_{2'}}` -are coupling coefficients, -analogous to Clebsch-Gordan coefficients for rotations on the -2-sphere. These invariants are the components of the bispectrum and -these are the quantities calculated by the compute *sna/atom*\ . They -characterize the strength of density correlations at three points on -the 3-sphere. The j2=0 subset form the power spectrum, which -characterizes the correlations of two points. The lowest-order -components describe the coarsest features of the density function, -while higher-order components reflect finer detail. Each bispectrum -component contains terms that depend on the positions of up to 4 -atoms (3 neighbors and the central atom). +The constants :math:`H^{jmm'}_{j_1 m_1 m_{1'},j_2 m_ 2m_{2'}}` are +coupling coefficients, analogous to Clebsch-Gordan coefficients for +rotations on the 2-sphere. These invariants are the components of the +bispectrum and these are the quantities calculated by the compute +*sna/atom*\ . They characterize the strength of density correlations at +three points on the 3-sphere. The j2=0 subset form the power spectrum, +which characterizes the correlations of two points. The lowest-order +components describe the coarsest features of the density function, while +higher-order components reflect finer detail. Each bispectrum component +contains terms that depend on the positions of up to 4 atoms (3 +neighbors and the central atom). -Compute *snad/atom* calculates the derivative of the bispectrum components -summed separately for each LAMMPS atom type: +Compute *snad/atom* calculates the derivative of the bispectrum +components summed separately for each LAMMPS atom type: .. math:: @@ -180,16 +181,16 @@ section below on output for a detailed explanation. Compute *snap* calculates a global array containing information related to all three of the above per-atom computes *sna/atom*\ , *snad/atom*\ , and *snav/atom*\ . The first row of the array contains the summation of -*sna/atom* over all atoms, but broken out by type. The last six rows -of the array contain the summation of *snav/atom* over all atoms, broken -out by type. In between these are 3\*\ *N* rows containing the same values -computed by *snad/atom* (these are already summed over all atoms and -broken out by type). The element in the last column of each row contains -the potential energy, force, or stress, according to the row. +*sna/atom* over all atoms, but broken out by type. The last six rows of +the array contain the summation of *snav/atom* over all atoms, broken +out by type. In between these are 3\*\ *N* rows containing the same +values computed by *snad/atom* (these are already summed over all atoms +and broken out by type). The element in the last column of each row +contains the potential energy, force, or stress, according to the row. These quantities correspond to the user-specified reference potential -that must be subtracted from the target data when fitting SNAP. -The potential energy calculation uses the built in compute *thermo_pe*. -The stress calculation uses a compute called *snap_press* that is +that must be subtracted from the target data when fitting SNAP. The +potential energy calculation uses the built in compute *thermo_pe*. The +stress calculation uses a compute called *snap_press* that is automatically created behind the scenes, according to the following command: @@ -225,36 +226,32 @@ The keyword *switchflag* can be used to turn off the switching function :math:`f_c(r)`. The keyword *bzeroflag* determines whether or not *B0*\ , the bispectrum -components of an atom with no neighbors, are subtracted from -the calculated bispectrum components. This optional keyword -normally only affects compute *sna/atom*\ . However, when -*quadraticflag* is on, it also affects *snad/atom* and *snav/atom*\ . +components of an atom with no neighbors, are subtracted from the +calculated bispectrum components. This optional keyword normally only +affects compute *sna/atom*\ . However, when *quadraticflag* is on, it +also affects *snad/atom* and *snav/atom*\ . -The keyword *quadraticflag* determines whether or not the -quadratic combinations of bispectrum quantities are generated. -These are formed by taking the outer product of the vector -of bispectrum components with itself. -See section below on output for a -detailed explanation of the number of quadratic terms and the -ordered in which they are listed. +The keyword *quadraticflag* determines whether or not the quadratic +combinations of bispectrum quantities are generated. These are formed +by taking the outer product of the vector of bispectrum components with +itself. See section below on output for a detailed explanation of the +number of quadratic terms and the ordered in which they are listed. -The keyword *chem* activates the explicit multi-element variant -of the SNAP bispectrum components. The argument *nelements* -specifies the number of SNAP elements that will be handled. -This is followed by *elementlist*, a list of integers of -length *ntypes*, with values in the range [0, *nelements* ), -which maps each LAMMPS type to one of the SNAP elements. -Note that multiple LAMMPS types can be mapped to the same element, -and some elements may be mapped by no LAMMPS type. However, in typical -use cases (training SNAP potentials) the mapping from LAMMPS types -to elements is one-to-one. +The keyword *chem* activates the explicit multi-element variant of the +SNAP bispectrum components. The argument *nelements* specifies the +number of SNAP elements that will be handled. This is followed by +*elementlist*, a list of integers of length *ntypes*, with values in the +range [0, *nelements* ), which maps each LAMMPS type to one of the SNAP +elements. Note that multiple LAMMPS types can be mapped to the same +element, and some elements may be mapped by no LAMMPS type. However, in +typical use cases (training SNAP potentials) the mapping from LAMMPS +types to elements is one-to-one. The explicit multi-element variant invoked by the *chem* keyword -partitions the density of neighbors into partial densities -for each chemical element. This is described in detail in the -paper by :ref:`Cusentino et al. ` -The bispectrum components are indexed on -ordered triplets of elements: +partitions the density of neighbors into partial densities for each +chemical element. This is described in detail in the paper by +:ref:`Cusentino et al. ` The bispectrum components are +indexed on ordered triplets of elements: .. math:: @@ -272,17 +269,19 @@ of element :math:`\mu` u^{\mu}_{j,m,m'} = w^{self}_{\mu_{i}\mu} U^{j,m,m'}(0,0,0) + \sum_{r_{ii'} < R_{ii'}}{\delta_{\mu\mu_{i'}}f_c(r_{ii'}) w_{\mu_{i'}} U^{j,m,m'}(\theta_0,\theta,\phi)} -where :math:`w^{self}_{\mu_{i}\mu}` is the self-contribution, which is either 1 or 0 -(see keyword *wselfallflag* below), :math:`\delta_{\mu\mu_{i'}}` indicates -that the sum is only over neighbor atoms of element :math:`\mu`, -and all other quantities are the same as those appearing in the -original equation for :math:`u^j_{m,m'}` given above. +where :math:`w^{self}_{\mu_{i}\mu}` is the self-contribution, which is +either 1 or 0 (see keyword *wselfallflag* below), +:math:`\delta_{\mu\mu_{i'}}` indicates that the sum is only over +neighbor atoms of element :math:`\mu`, and all other quantities are the +same as those appearing in the original equation for :math:`u^j_{m,m'}` +given above. -The keyword *wselfallflag* defines the rule used for the self-contribution. -If *wselfallflag* is on, then :math:`w^{self}_{\mu_{i}\mu}` = 1. If it is -off then :math:`w^{self}_{\mu_{i}\mu}` = 0, except in the case -of :math:`{\mu_{i}=\mu}`, when :math:`w^{self}_{\mu_{i}\mu}` = 1. -When the *chem* keyword is not used, this keyword has no effect. +The keyword *wselfallflag* defines the rule used for the +self-contribution. If *wselfallflag* is on, then +:math:`w^{self}_{\mu_{i}\mu}` = 1. If it is off then +:math:`w^{self}_{\mu_{i}\mu}` = 0, except in the case of +:math:`{\mu_{i}=\mu}`, when :math:`w^{self}_{\mu_{i}\mu}` = 1. When the +*chem* keyword is not used, this keyword has no effect. The keyword *bnormflag* determines whether or not the bispectrum component :math:`B_{j_1,j_2,j}` is divided by a factor of :math:`2j+1`. @@ -299,16 +298,16 @@ are not both set or not both unset. .. note:: - If you have a bonded system, then the settings of - :doc:`special_bonds ` command can remove pairwise - interactions between atoms in the same bond, angle, or dihedral. This - is the default setting for the :doc:`special_bonds ` - command, and means those pairwise interactions do not appear in the - neighbor list. Because this fix uses the neighbor list, it also means - those pairs will not be included in the calculation. One way to get - around this, is to write a dump file, and use the :doc:`rerun ` - command to compute the bispectrum components for snapshots in the dump - file. The rerun script can use a :doc:`special_bonds ` + If you have a bonded system, then the settings of :doc:`special_bonds + ` command can remove pairwise interactions between + atoms in the same bond, angle, or dihedral. This is the default + setting for the :doc:`special_bonds ` command, and + means those pairwise interactions do not appear in the neighbor list. + Because this fix uses the neighbor list, it also means those pairs + will not be included in the calculation. One way to get around this, + is to write a dump file, and use the :doc:`rerun ` command to + compute the bispectrum components for snapshots in the dump file. + The rerun script can use a :doc:`special_bonds ` command that includes all pairs in the neighbor list. ---------- @@ -317,10 +316,10 @@ Output info """"""""""" Compute *sna/atom* calculates a per-atom array, each column -corresponding to a particular bispectrum component. The total number -of columns and the identity of the bispectrum component contained in -each column depend of the value of *twojmax*\ , as -described by the following piece of python code: +corresponding to a particular bispectrum component. The total number of +columns and the identity of the bispectrum component contained in each +column depend of the value of *twojmax*\ , as described by the following +piece of python code: .. parsed-literal:: @@ -338,73 +337,72 @@ For even twojmax = 2(*m*\ -1), :math:`K = m(m+1)(2m+1)/6`, the *m*\ -th pyramida since all potentials use the value of 3, corresponding to the above set of bispectrum components. -Compute *snad/atom* evaluates a per-atom array. The columns are -arranged into *ntypes* blocks, listed in order of atom type *I*\ . Each -block contains three sub-blocks corresponding to the *x*\ , *y*\ , and *z* +Compute *snad/atom* evaluates a per-atom array. The columns are arranged +into *ntypes* blocks, listed in order of atom type *I*\ . Each block +contains three sub-blocks corresponding to the *x*\ , *y*\ , and *z* components of the atom position. Each of these sub-blocks contains *K* -columns for the *K* bispectrum components, the same as for compute *sna/atom* +columns for the *K* bispectrum components, the same as for compute +*sna/atom* -Compute *snav/atom* evaluates a per-atom array. The columns are -arranged into *ntypes* blocks, listed in order of atom type *I*\ . Each -block contains six sub-blocks corresponding to the *xx*\ , *yy*\ , *zz*\ , +Compute *snav/atom* evaluates a per-atom array. The columns are arranged +into *ntypes* blocks, listed in order of atom type *I*\ . Each block +contains six sub-blocks corresponding to the *xx*\ , *yy*\ , *zz*\ , *yz*\ , *xz*\ , and *xy* components of the virial tensor in Voigt -notation. Each of these sub-blocks contains *K* -columns for the *K* bispectrum components, the same as for compute *sna/atom* +notation. Each of these sub-blocks contains *K* columns for the *K* +bispectrum components, the same as for compute *sna/atom* -Compute *snap* evaluates a global array. -The columns are arranged into -*ntypes* blocks, listed in order of atom type *I*\ . Each block -contains one column for each bispectrum component, the same as for compute -*sna/atom*\ . A final column contains the corresponding energy, force component -on an atom, or virial stress component. The rows of the array appear -in the following order: +Compute *snap* evaluates a global array. The columns are arranged into +*ntypes* blocks, listed in order of atom type *I*\ . Each block contains +one column for each bispectrum component, the same as for compute +*sna/atom*\ . A final column contains the corresponding energy, force +component on an atom, or virial stress component. The rows of the array +appear in the following order: * 1 row: *sna/atom* quantities summed for all atoms of type *I* * 3\*\ *N* rows: *snad/atom* quantities, with derivatives w.r.t. x, y, and z coordinate of atom *i* appearing in consecutive rows. The atoms are sorted based on atom ID. * 6 rows: *snav/atom* quantities summed for all atoms of type *I* -For example, if *K* =30 and ntypes=1, the number of columns in the per-atom -arrays generated by *sna/atom*\ , *snad/atom*\ , and *snav/atom* -are 30, 90, and 180, respectively. With *quadratic* value=1, -the numbers of columns are 930, 2790, and 5580, respectively. -The number of columns in the global array generated by *snap* -are 31, and 931, respectively, while the number of rows is -1+3\*\ *N*\ +6, where *N* is the total number of atoms. +For example, if *K* =30 and ntypes=1, the number of columns in the +per-atom arrays generated by *sna/atom*\ , *snad/atom*\ , and +*snav/atom* are 30, 90, and 180, respectively. With *quadratic* value=1, +the numbers of columns are 930, 2790, and 5580, respectively. The +number of columns in the global array generated by *snap* are 31, and +931, respectively, while the number of rows is 1+3\*\ *N*\ +6, where *N* +is the total number of atoms. -If the *quadratic* keyword value is set to 1, then additional -columns are generated, corresponding to -the products of all distinct pairs of bispectrum components. If the -number of bispectrum components is *K*\ , then the number of distinct pairs -is *K*\ (\ *K*\ +1)/2. -For compute *sna/atom* these columns are appended to existing *K* columns. -The ordering of quadratic terms is upper-triangular, -(1,1),(1,2)...(1,\ *K*\ ),(2,1)...(\ *K*\ -1,\ *K*\ -1),(\ *K*\ -1,\ *K*\ ),(\ *K*\ ,\ *K*\ ). +If the *quadratic* keyword value is set to 1, then additional columns +are generated, corresponding to the products of all distinct pairs of +bispectrum components. If the number of bispectrum components is *K*\ , +then the number of distinct pairs is *K*\ (\ *K*\ +1)/2. For compute +*sna/atom* these columns are appended to existing *K* columns. The +ordering of quadratic terms is upper-triangular, (1,1),(1,2)...(1,\ *K*\ +),(2,1)...(\ *K*\ -1,\ *K*\ -1),(\ *K*\ -1,\ *K*\ ),(\ *K*\ ,\ *K*\ ). For computes *snad/atom* and *snav/atom* each set of *K*\ (\ *K*\ +1)/2 -additional columns is inserted directly after each of sub-block -of linear terms i.e. linear and quadratic terms are contiguous. -So the nesting order from inside to outside is bispectrum component, -linear then quadratic, vector/tensor component, type. +additional columns is inserted directly after each of sub-block of +linear terms i.e. linear and quadratic terms are contiguous. So the +nesting order from inside to outside is bispectrum component, linear +then quadratic, vector/tensor component, type. -If the *chem* keyword is used, then the data is arranged into :math:`N_{elem}^3` -sub-blocks, each sub-block corresponding to a particular chemical labeling -:math:`\kappa\lambda\mu` with the last label changing fastest. -Each sub-block contains *K* bispectrum components. For the purposes -of handling contributions to force, virial, and quadratic combinations, -these :math:`N_{elem}^3` sub-blocks are treated as a single block -of :math:`K N_{elem}^3` columns. +If the *chem* keyword is used, then the data is arranged into +:math:`N_{elem}^3` sub-blocks, each sub-block corresponding to a +particular chemical labeling :math:`\kappa\lambda\mu` with the last +label changing fastest. Each sub-block contains *K* bispectrum +components. For the purposes of handling contributions to force, virial, +and quadratic combinations, these :math:`N_{elem}^3` sub-blocks are +treated as a single block of :math:`K N_{elem}^3` columns. These values can be accessed by any command that uses per-atom values from a compute as input. See the :doc:`Howto output ` doc page for an overview of LAMMPS output options. To see how this command -can be used within a Python workflow to train SNAP potentials, -see the examples in `FitSNAP `_. +can be used within a Python workflow to train SNAP potentials, see the +examples in `FitSNAP `_. Restrictions """""""""""" -These computes are part of the SNAP package. They are only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` -doc page for more info. +These computes are part of the ML-SNAP package. They are only enabled +if LAMMPS was built with that package. See the :doc:`Build package +` doc page for more info. Related commands """""""""""""""" diff --git a/doc/src/pair_mliap.rst b/doc/src/pair_mliap.rst index 8a43169c83..199f23e1b2 100644 --- a/doc/src/pair_mliap.rst +++ b/doc/src/pair_mliap.rst @@ -194,9 +194,9 @@ Restrictions This pair style is part of the ML-IAP package. It is only enabled if LAMMPS was built with that package. In addition, building LAMMPS with -the ML-IAP package requires building LAMMPS with the SNAP package. The -*mliappy* model requires building LAMMPS with the PYTHON package. See -the :doc:`Build package ` doc page for more info. +the ML-IAP package requires building LAMMPS with the ML-SNAP package. +The *mliappy* model requires building LAMMPS with the PYTHON package. +See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/pair_snap.rst b/doc/src/pair_snap.rst index 2de1b59dd4..5638087d78 100644 --- a/doc/src/pair_snap.rst +++ b/doc/src/pair_snap.rst @@ -24,32 +24,28 @@ Examples Description """"""""""" -Pair style *snap* defines the spectral -neighbor analysis potential (SNAP), a machine-learning -interatomic potential :ref:`(Thompson) `. -Like the GAP framework of Bartok et al. :ref:`(Bartok2010) `, -SNAP uses bispectrum components -to characterize the local neighborhood of each atom -in a very general way. The mathematical definition of the -bispectrum calculation and its derivatives w.r.t. atom positions -is identical to that used by :doc:`compute snap `, -which is used to fit SNAP potentials to *ab initio* energy, force, -and stress data. -In SNAP, the total energy is decomposed into a sum over -atom energies. The energy of atom *i* is -expressed as a weighted sum over bispectrum components. +Pair style *snap* defines the spectral neighbor analysis potential +(SNAP), a machine-learning interatomic potential :ref:`(Thompson) +`. Like the GAP framework of Bartok et +al. :ref:`(Bartok2010) `, SNAP uses bispectrum components +to characterize the local neighborhood of each atom in a very general +way. The mathematical definition of the bispectrum calculation and its +derivatives w.r.t. atom positions is identical to that used by +:doc:`compute snap `, which is used to fit SNAP +potentials to *ab initio* energy, force, and stress data. In SNAP, the +total energy is decomposed into a sum over atom energies. The energy of +atom *i* is expressed as a weighted sum over bispectrum components. .. math:: E^i_{SNAP}(B_1^i,...,B_K^i) = \beta^{\mu_i}_0 + \sum_{k=1}^K \beta_k^{\mu_i} B_k^i where :math:`B_k^i` is the *k*\ -th bispectrum component of atom *i*\ , -and :math:`\beta_k^{\mu_i}` is the corresponding linear coefficient -that depends on :math:`\mu_i`, the SNAP element of atom *i*\ . The -number of bispectrum components used and their definitions -depend on the value of *twojmax* and other parameters -defined in the SNAP parameter file described below. -The bispectrum calculation is described in more detail +and :math:`\beta_k^{\mu_i}` is the corresponding linear coefficient that +depends on :math:`\mu_i`, the SNAP element of atom *i*\ . The number of +bispectrum components used and their definitions depend on the value of +*twojmax* and other parameters defined in the SNAP parameter file +described below. The bispectrum calculation is described in more detail in :doc:`compute sna/atom `. Note that unlike for other potentials, cutoffs for SNAP potentials are @@ -80,32 +76,28 @@ The two trailing 'In' arguments map LAMMPS atom types 1 and 2 to the SNAP 'In' element. The two trailing 'P' arguments map LAMMPS atom types 3 and 4 to the SNAP 'P' element. -If a SNAP mapping value is -specified as NULL, the mapping is not performed. -This can be used when a *snap* potential is used as part of the -*hybrid* pair style. The NULL values are placeholders for atom types -that will be used with other potentials. +If a SNAP mapping value is specified as NULL, the mapping is not +performed. This can be used when a *snap* potential is used as part of +the *hybrid* pair style. The NULL values are placeholders for atom +types that will be used with other potentials. -The name of the SNAP coefficient file usually ends in the -".snapcoeff" extension. It may contain coefficients -for many SNAP elements. The only requirement is that -each of the unique element names appearing in the -LAMMPS pair_coeff command appear exactly once in -the SNAP coefficient file. It is okay if the SNAP coefficient file -contains additional elements not in the pair_coeff command, -except when using *chemflag* (see below). -The name of the SNAP parameter file usually ends in the ".snapparam" -extension. It contains a small number -of parameters that define the overall form of the SNAP potential. -See the :doc:`pair_coeff ` doc page for alternate ways -to specify the path for these files. +The name of the SNAP coefficient file usually ends in the ".snapcoeff" +extension. It may contain coefficients for many SNAP elements. The only +requirement is that each of the unique element names appearing in the +LAMMPS pair_coeff command appear exactly once in the SNAP coefficient +file. It is okay if the SNAP coefficient file contains additional +elements not in the pair_coeff command, except when using *chemflag* +(see below). The name of the SNAP parameter file usually ends in the +".snapparam" extension. It contains a small number of parameters that +define the overall form of the SNAP potential. See the :doc:`pair_coeff +` doc page for alternate ways to specify the path for these +files. -Quite commonly, -SNAP potentials are combined with one or more other LAMMPS pair styles -using the *hybrid/overlay* pair style. As an example, the SNAP -tantalum potential provided in the LAMMPS potentials directory -combines the *snap* and *zbl* pair styles. It is invoked -by the following commands: +SNAP potentials are quite commonly combined with one or more other +LAMMPS pair styles using the *hybrid/overlay* pair style. As an +example, the SNAP tantalum potential provided in the LAMMPS potentials +directory combines the *snap* and *zbl* pair styles. It is invoked by +the following commands: .. code-block:: LAMMPS @@ -118,13 +110,13 @@ by the following commands: pair_coeff 1 1 zbl ${zblz} pair_coeff * * snap Ta06A.snapcoeff Ta06A.snapparam Ta -It is convenient to keep these commands in a separate file that can -be inserted in any LAMMPS input script using the :doc:`include ` +It is convenient to keep these commands in a separate file that can be +inserted in any LAMMPS input script using the :doc:`include ` command. -The top of the SNAP coefficient file can contain any number of blank and comment lines (start with #), but follows a strict -format after that. The first non-blank non-comment -line must contain two integers: +The top of the SNAP coefficient file can contain any number of blank and +comment lines (start with #), but follows a strict format after +that. The first non-blank non-comment line must contain two integers: * nelem = Number of elements * ncoeff = Number of coefficients @@ -157,39 +149,44 @@ The default values for these keywords are * *wselfallflag* = 0 * *chunksize* = 4096 -If *quadraticflag* is set to 1, then the SNAP energy expression includes additional quadratic terms -that have been shown to increase the overall accuracy of the potential without much increase -in computational cost :ref:`(Wood) `. +If *quadraticflag* is set to 1, then the SNAP energy expression includes +additional quadratic terms that have been shown to increase the overall +accuracy of the potential without much increase in computational cost +:ref:`(Wood) `. .. math:: E^i_{SNAP}(\mathbf{B}^i) = \beta^{\mu_i}_0 + \boldsymbol{\beta}^{\mu_i} \cdot \mathbf{B}_i + \frac{1}{2}\mathbf{B}^t_i \cdot \boldsymbol{\alpha}^{\mu_i} \cdot \mathbf{B}_i where :math:`\mathbf{B}_i` is the *K*-vector of bispectrum components, -:math:`\boldsymbol{\beta}^{\mu_i}` is the *K*-vector of linear coefficients -for element :math:`\mu_i`, and :math:`\boldsymbol{\alpha}^{\mu_i}` -is the symmetric *K* by *K* matrix of quadratic coefficients. -The SNAP coefficient file should contain *K*\ (\ *K*\ +1)/2 additional coefficients -in each element block, the upper-triangular elements of :math:`\boldsymbol{\alpha}^{\mu_i}`. +:math:`\boldsymbol{\beta}^{\mu_i}` is the *K*-vector of linear +coefficients for element :math:`\mu_i`, and +:math:`\boldsymbol{\alpha}^{\mu_i}` is the symmetric *K* by *K* matrix +of quadratic coefficients. The SNAP coefficient file should contain +*K*\ (\ *K*\ +1)/2 additional coefficients in each element block, the +upper-triangular elements of :math:`\boldsymbol{\alpha}^{\mu_i}`. -If *chemflag* is set to 1, then the energy expression is written in terms of explicit multi-element bispectrum -components indexed on ordered triplets of elements, which has been shown to increase the ability of the SNAP -potential to capture energy differences in chemically complex systems, -at the expense of a significant increase in computational cost :ref:`(Cusentino) `. +If *chemflag* is set to 1, then the energy expression is written in +terms of explicit multi-element bispectrum components indexed on ordered +triplets of elements, which has been shown to increase the ability of +the SNAP potential to capture energy differences in chemically complex +systems, at the expense of a significant increase in computational cost +:ref:`(Cusentino) `. .. math:: E^i_{SNAP}(\mathbf{B}^i) = \beta^{\mu_i}_0 + \sum_{\kappa,\lambda,\mu} \boldsymbol{\beta}^{\kappa\lambda\mu}_{\mu_i} \cdot \mathbf{B}^{\kappa\lambda\mu}_i -where :math:`\mathbf{B}^{\kappa\lambda\mu}_i` is the *K*-vector of bispectrum components -for neighbors of elements :math:`\kappa`, :math:`\lambda`, and :math:`\mu` and -:math:`\boldsymbol{\beta}^{\kappa\lambda\mu}_{\mu_i}` is the corresponding *K*-vector -of linear coefficients for element :math:`\mu_i`. The SNAP coefficient file should contain -a total of :math:`K N_{elem}^3` coefficients in each element block, -where :math:`N_{elem}` is the number of elements in the SNAP coefficient file, -which must equal the number of unique elements appearing in the -LAMMPS pair_coeff command, to avoid ambiguity in the -number of coefficients. +where :math:`\mathbf{B}^{\kappa\lambda\mu}_i` is the *K*-vector of +bispectrum components for neighbors of elements :math:`\kappa`, +:math:`\lambda`, and :math:`\mu` and +:math:`\boldsymbol{\beta}^{\kappa\lambda\mu}_{\mu_i}` is the +corresponding *K*-vector of linear coefficients for element +:math:`\mu_i`. The SNAP coefficient file should contain a total of +:math:`K N_{elem}^3` coefficients in each element block, where +:math:`N_{elem}` is the number of elements in the SNAP coefficient file, +which must equal the number of unique elements appearing in the LAMMPS +pair_coeff command, to avoid ambiguity in the number of coefficients. The keyword *chunksize* is only applicable when using the pair style *snap* with the KOKKOS package and is ignored otherwise. @@ -221,9 +218,10 @@ specify a pair_coeff command with I != J arguments for this style. This pair style does not support the :doc:`pair_modify ` shift, table, and tail options. -This pair style does not write its information to :doc:`binary restart files `, since it is stored in potential files. Thus, you -need to re-specify the pair_style and pair_coeff commands in an input -script that reads a restart file. +This pair style does not write its information to :doc:`binary restart +files `, since it is stored in potential files. Thus, you need +to re-specify the pair_style and pair_coeff commands in an input script +that reads a restart file. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa ` command. It does not support the @@ -238,8 +236,9 @@ This pair style can only be used via the *pair* keyword of the Restrictions """""""""""" -This style is part of the SNAP package. It is only enabled if LAMMPS -was built with that package. See the :doc:`Build package ` doc page for more info. +This style is part of the ML-SNAP package. It is only enabled if LAMMPS +was built with that package. See the :doc:`Build package +` doc page for more info. Related commands """""""""""""""" diff --git a/potentials/README b/potentials/README index bd4ea89c4e..4df315a7f2 100644 --- a/potentials/README +++ b/potentials/README @@ -100,9 +100,9 @@ meam.spline modified EAM (MEAM) spline potential meam.sw.spline modified EAM (MEAM) Stillinger-Weber spline potential mesocnt mesoscopic carbon nanotube (CNT) potential mgpt model generalized pseudopotential theory (MGPT) potential -mliap ML-IAP potential -mliap.descriptor ML-IAP potential descriptor -mliap.model ML-IAP potential model +mliap MLIAP potential +mliap.descriptor MLIAP potential descriptor +mliap.model MLIAP potential model nb3b.harmonic nonbonded 3-body harmonic potential poly polymorphic 3-body potential reax ReaxFF potential (see README.reax for more info) diff --git a/src/Depend.sh b/src/Depend.sh index 7449a46ff5..c97321a9ef 100755 --- a/src/Depend.sh +++ b/src/Depend.sh @@ -116,7 +116,7 @@ if (test $1 = "RIGID") then depend USER-SDPD fi -if (test $1 = "SNAP") then +if (test $1 = "ML-SNAP") then depend KOKKOS depend ML-IAP fi diff --git a/src/SNAP/compute_sna_atom.cpp b/src/ML-SNAP/compute_sna_atom.cpp similarity index 100% rename from src/SNAP/compute_sna_atom.cpp rename to src/ML-SNAP/compute_sna_atom.cpp diff --git a/src/SNAP/compute_sna_atom.h b/src/ML-SNAP/compute_sna_atom.h similarity index 100% rename from src/SNAP/compute_sna_atom.h rename to src/ML-SNAP/compute_sna_atom.h diff --git a/src/SNAP/compute_snad_atom.cpp b/src/ML-SNAP/compute_snad_atom.cpp similarity index 100% rename from src/SNAP/compute_snad_atom.cpp rename to src/ML-SNAP/compute_snad_atom.cpp diff --git a/src/SNAP/compute_snad_atom.h b/src/ML-SNAP/compute_snad_atom.h similarity index 100% rename from src/SNAP/compute_snad_atom.h rename to src/ML-SNAP/compute_snad_atom.h diff --git a/src/SNAP/compute_snap.cpp b/src/ML-SNAP/compute_snap.cpp similarity index 100% rename from src/SNAP/compute_snap.cpp rename to src/ML-SNAP/compute_snap.cpp diff --git a/src/SNAP/compute_snap.h b/src/ML-SNAP/compute_snap.h similarity index 100% rename from src/SNAP/compute_snap.h rename to src/ML-SNAP/compute_snap.h diff --git a/src/SNAP/compute_snav_atom.cpp b/src/ML-SNAP/compute_snav_atom.cpp similarity index 100% rename from src/SNAP/compute_snav_atom.cpp rename to src/ML-SNAP/compute_snav_atom.cpp diff --git a/src/SNAP/compute_snav_atom.h b/src/ML-SNAP/compute_snav_atom.h similarity index 100% rename from src/SNAP/compute_snav_atom.h rename to src/ML-SNAP/compute_snav_atom.h diff --git a/src/SNAP/pair_snap.cpp b/src/ML-SNAP/pair_snap.cpp similarity index 100% rename from src/SNAP/pair_snap.cpp rename to src/ML-SNAP/pair_snap.cpp diff --git a/src/SNAP/pair_snap.h b/src/ML-SNAP/pair_snap.h similarity index 100% rename from src/SNAP/pair_snap.h rename to src/ML-SNAP/pair_snap.h diff --git a/src/SNAP/sna.cpp b/src/ML-SNAP/sna.cpp similarity index 100% rename from src/SNAP/sna.cpp rename to src/ML-SNAP/sna.cpp diff --git a/src/SNAP/sna.h b/src/ML-SNAP/sna.h similarity index 100% rename from src/SNAP/sna.h rename to src/ML-SNAP/sna.h diff --git a/src/Makefile b/src/Makefile index d084d84c5c..dc28e28261 100644 --- a/src/Makefile +++ b/src/Makefile @@ -49,7 +49,7 @@ endif PACKAGE = asphere body class2 colloid compress coreshell dipole gpu \ granular kim kokkos kspace latte manybody mc message misc \ ml-iap molecule mpiio mscg opt peri plugin poems \ - python qeq replica rigid shock snap spin srd voronoi + python qeq replica rigid shock ml-snap spin srd voronoi PACKUSER = user-adios user-atc user-awpmd user-brownian user-bocs user-cgdna \ user-cgsdk user-colvars user-dielectric user-diffraction user-dpd user-drude \ From b8c5f08e753d1af97c2e6c2e2597a763af5299f7 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 29 Jun 2021 11:13:44 -0400 Subject: [PATCH 298/726] improve error message --- cmake/Modules/LAMMPSUtils.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/Modules/LAMMPSUtils.cmake b/cmake/Modules/LAMMPSUtils.cmake index 6cb23db12a..74102ab244 100644 --- a/cmake/Modules/LAMMPSUtils.cmake +++ b/cmake/Modules/LAMMPSUtils.cmake @@ -67,7 +67,7 @@ endfunction() macro(pkg_depends PKG1 PKG2) if(PKG_${PKG1} AND NOT (PKG_${PKG2} OR BUILD_${PKG2})) - message(FATAL_ERROR "${PKG1} package needs LAMMPS to be build with ${PKG2}") + message(FATAL_ERROR "The ${PKG1} package needs LAMMPS to be build with the ${PKG2} package") endif() endmacro() From 4342987043b046c88a5bc2f5f2d8cf7619d48885 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 29 Jun 2021 11:23:47 -0400 Subject: [PATCH 299/726] rename example folders --- .../USER-MISC}/addtorque/in.addtorque | 0 .../USER-MISC}/addtorque/log.9Nov16.addtorque.g++.1 | 0 .../USER-MISC}/addtorque/log.9Nov16.addtorque.g++.4 | 0 .../misc => PACKAGES/USER-MISC}/agni/Al_jpc.agni | 0 .../misc => PACKAGES/USER-MISC}/agni/adatom.data | 0 .../misc => PACKAGES/USER-MISC}/agni/in.adatom | 0 .../misc => PACKAGES/USER-MISC}/agni/in.vacancy | 0 .../USER-MISC}/agni/log.20Jan21.adatom.g++.1 | 0 .../USER-MISC}/agni/log.20Jan21.adatom.g++.4 | 0 .../USER-MISC}/agni/log.20Jan21.vacancy.g++.1 | 0 .../USER-MISC}/agni/log.20Jan21.vacancy.g++.4 | 0 .../misc => PACKAGES/USER-MISC}/agni/vacancy.data | 0 .../misc => PACKAGES/USER-MISC}/basal/almg.liu | 0 .../misc => PACKAGES/USER-MISC}/basal/in.basal | 0 .../USER-MISC}/cauchy/NiAlH_jea.eam.alloy | 0 .../{USER/misc => PACKAGES/USER-MISC}/cauchy/README | 0 .../USER-MISC}/cauchy/in.cauchystat | 0 .../USER-MISC}/cauchy/log.2Jun2020.cauchystat.g++.1 | 0 .../USER-MISC}/charge_regulation/README | 0 .../USER-MISC}/charge_regulation/data.chreg-acid | 0 .../charge_regulation/data.chreg-acid-real | 0 .../USER-MISC}/charge_regulation/data.chreg-polymer | 0 .../USER-MISC}/charge_regulation/in.chreg-acid | 0 .../USER-MISC}/charge_regulation/in.chreg-acid-real | 0 .../USER-MISC}/charge_regulation/in.chreg-polymer | 0 .../charge_regulation/log.10Feb21.chreg-acid.g++.1 | 0 .../charge_regulation/log.10Feb21.chreg-acid.g++.4 | 0 .../log.10Feb21.chreg-polymer.g++.1 | 0 .../log.10Feb21.chreg-polymer.g++.4 | 0 .../log.11Apr21.chreg-acid-real.g++.1 | 0 .../log.11Apr21.chreg-acid-real.g++.4 | 0 .../misc => PACKAGES/USER-MISC}/cnp/Cu_Mishin1.eam | 0 .../{USER/misc => PACKAGES/USER-MISC}/cnp/in.cnp | 0 .../USER-MISC}/cnp/log.31May17.cnp.g++.4 | 0 .../misc => PACKAGES/USER-MISC}/dpd_ext/README | 0 .../USER-MISC}/dpd_ext/dpdext/dpdext.data | 0 .../USER-MISC}/dpd_ext/dpdext/in.dpdext | 0 .../dpd_ext/dpdext/log.10Mar21.dpdext.g++.1 | 0 .../dpd_ext/dpdext/log.10Mar21.dpdext.g++.4 | 0 .../USER-MISC}/dpd_ext/dpdext_tstat/cg_spce.data | 0 .../dpd_ext/dpdext_tstat/cg_spce_table.pot | 0 .../USER-MISC}/dpd_ext/dpdext_tstat/in.cg_spce | 0 .../dpd_ext/dpdext_tstat/log.10Mar21.dpdext.g++.1 | 0 .../dpd_ext/dpdext_tstat/log.10Mar21.dpdext.g++.4 | 0 .../{USER/misc => PACKAGES/USER-MISC}/drip/C.drip | 0 .../{USER/misc => PACKAGES/USER-MISC}/drip/CH.rebo | 0 .../misc => PACKAGES/USER-MISC}/drip/README.txt | 0 .../{USER/misc => PACKAGES/USER-MISC}/drip/data.C | 0 .../{USER/misc => PACKAGES/USER-MISC}/drip/data.CH | 0 .../misc => PACKAGES/USER-MISC}/drip/in.CH_drip | 0 .../misc => PACKAGES/USER-MISC}/drip/in.C_drip | 0 .../USER-MISC}/drip/log.30Apr19.CH_drip.g++.1 | 0 .../USER-MISC}/drip/log.30Apr19.CH_drip.g++.4 | 0 .../USER-MISC}/drip/log.30Apr19.C_drip.g++.1 | 0 .../USER-MISC}/drip/log.30Apr19.C_drip.g++.4 | 0 .../{USER/misc => PACKAGES/USER-MISC}/e3b/README | 0 .../misc => PACKAGES/USER-MISC}/e3b/e3b_box.data | 0 .../USER-MISC}/e3b/in.e3b-tip4p2005 | 0 .../e3b/log.29Mar2019.e3b-tip4p2005.g++.1 | 0 .../e3b/log.29Mar2019.e3b-tip4p2005.g++.4 | 0 .../{USER/misc => PACKAGES/USER-MISC}/edip/Si.edip | 0 .../{USER/misc => PACKAGES/USER-MISC}/edip/SiC.edip | 0 .../{USER/misc => PACKAGES/USER-MISC}/edip/data.SiC | 0 .../misc => PACKAGES/USER-MISC}/edip/in.edip-Si | 0 .../USER-MISC}/edip/in.edip-Si-multi | 0 .../misc => PACKAGES/USER-MISC}/edip/in.edip-SiC | 0 .../edip/log.4May2017.g++.edip-Si-multi.1 | 0 .../edip/log.4May2017.g++.edip-Si-multi.4 | 0 .../USER-MISC}/edip/log.4May2017.g++.edip-Si.1 | 0 .../USER-MISC}/edip/log.4May2017.g++.edip-Si.4 | 0 .../USER-MISC}/edip/log.4May2017.g++.edip-SiC.1 | 0 .../USER-MISC}/edip/log.4May2017.g++.edip-SiC.4 | 0 .../misc => PACKAGES/USER-MISC}/ees/Data_region | 0 .../{USER/misc => PACKAGES/USER-MISC}/ees/Data_wall | 0 .../{USER/misc => PACKAGES/USER-MISC}/ees/README | 0 .../misc => PACKAGES/USER-MISC}/ees/in.fix_wall | 0 .../USER-MISC}/ees/in.fix_wall_region | 0 .../USER-MISC}/ees/log.23Jun17.fix_wall.g++.1 | 0 .../USER-MISC}/ees/log.23Jun17.fix_wall.g++.4 | 0 .../ees/log.23Jun17.fix_wall_region.g++.1 | 0 .../ees/log.23Jun17.fix_wall_region.g++.4 | 0 .../USER-MISC}/electron_stopping/Si.Si.elstop | 0 .../USER-MISC}/electron_stopping/Si.sw | 0 .../USER-MISC}/electron_stopping/in.cascade_AlCu | 0 .../USER-MISC}/electron_stopping/in.cascade_SiSi | 0 .../USER-MISC}/electron_stopping/in.elstop | 0 .../USER-MISC}/electron_stopping/in.elstop.only | 0 .../log.18Sep2020.cascade_AlCu.intel.1 | 0 .../log.18Sep2020.cascade_AlCu.intel.4 | 0 .../log.18Sep2020.cascade_SiSi.intel.1 | 0 .../log.18Sep2020.cascade_SiSi.intel.4 | 0 .../electron_stopping/log.20Mar19.elstop.g++.1 | 0 .../electron_stopping/log.20Mar19.elstop.g++.4 | 0 .../electron_stopping/log.20Mar19.elstop.only.g++.1 | 0 .../electron_stopping/log.20Mar19.elstop.only.g++.4 | 0 .../USER-MISC}/entropy/Na_MendelevM_2014.eam.fs | 0 .../USER-MISC}/entropy/data.interface | 0 .../misc => PACKAGES/USER-MISC}/entropy/in.entropy | 0 .../misc => PACKAGES/USER-MISC}/entropy/log.entropy | 0 .../{USER/misc => PACKAGES/USER-MISC}/extep/BN.data | 0 .../misc => PACKAGES/USER-MISC}/extep/in.extep-bn | 0 .../USER-MISC}/extep/log.23Oct17.extep-bn.g++.1 | 0 .../USER-MISC}/extep/log.23Oct17.extep-bn.g++.4 | 0 .../USER-MISC}/filter_corotate/data.bpti | 0 .../USER-MISC/filter_corotate}/data.peptide | 0 .../USER-MISC}/filter_corotate/in.bpti | 0 .../USER-MISC}/filter_corotate/in.peptide | 0 .../filter_corotate/log.22Jun2017.bpti.g++.1 | 0 .../filter_corotate/log.22Jun2017.bpti.g++.4 | 0 .../filter_corotate/log.22Jun2017.peptide.g++.1 | 0 .../filter_corotate/log.22Jun2017.peptide.g++.4 | 0 .../misc => PACKAGES/USER-MISC}/flow_gauss/README | 0 .../misc => PACKAGES/USER-MISC}/flow_gauss/in.GD | 0 .../USER-MISC}/flow_gauss/log.6Jul17.GD.g++.1 | 0 .../USER-MISC}/flow_gauss/log.6Jul17.GD.g++.4 | 0 .../USER-MISC}/flow_gauss/output-files/GD.out | 0 .../USER-MISC}/flow_gauss/output-files/Vy_profile | 0 .../USER-MISC}/flow_gauss/output-files/x_profiles | 0 .../USER-MISC}/gauss_diel/data.gauss-diel | 0 .../USER-MISC}/gauss_diel/in.gauss-diel | 0 .../USER-MISC}/gauss_diel/in.gauss-diel-cg | 0 .../USER-MISC}/gauss_diel/in.gauss-diel-split | 0 .../USER-MISC}/gauss_diel/log.gauss-diel | 0 .../USER-MISC}/gauss_diel/log.gauss-diel-cg | 0 .../USER-MISC}/gauss_diel/log.gauss-diel-split | 0 .../USER-MISC}/gle/data.h2o-quantum | 0 .../misc => PACKAGES/USER-MISC}/gle/data.h2o-smart | 0 .../misc => PACKAGES/USER-MISC}/gle/in.h2o-quantum | 0 .../misc => PACKAGES/USER-MISC}/gle/in.h2o-smart | 0 .../misc => PACKAGES/USER-MISC}/gle/log.h2o-quantum | 0 .../misc => PACKAGES/USER-MISC}/gle/log.h2o-smart | 0 .../{USER/misc => PACKAGES/USER-MISC}/gle/qt-300k.A | 0 .../{USER/misc => PACKAGES/USER-MISC}/gle/qt-300k.C | 0 .../{USER/misc => PACKAGES/USER-MISC}/gle/smart.A | 0 .../{USER/misc => PACKAGES/USER-MISC}/grem/README | 0 .../USER-MISC}/grem/lj-6rep/400/restart.init | 0 .../USER-MISC}/grem/lj-6rep/405/restart.init | 0 .../USER-MISC}/grem/lj-6rep/410/restart.init | 0 .../USER-MISC}/grem/lj-6rep/415/restart.init | 0 .../USER-MISC}/grem/lj-6rep/420/restart.init | 0 .../USER-MISC}/grem/lj-6rep/425/restart.init | 0 .../USER-MISC}/grem/lj-6rep/clean.sh | 0 .../USER-MISC}/grem/lj-6rep/double-re-short.py | 0 .../USER-MISC}/grem/lj-6rep/in.gREM | 0 .../misc => PACKAGES/USER-MISC}/grem/lj-6rep/run.sh | 0 .../USER-MISC}/grem/lj-6rep/walker.bkp | 0 .../USER-MISC}/grem/lj-single/in.gREM-npt | 0 .../USER-MISC}/grem/lj-single/in.gREM-nvt | 0 .../USER-MISC}/grem/lj-single/lj.data | 0 .../grem/lj-single/log.gREM-npt.9Nov16.g++.1 | 0 .../grem/lj-single/log.gREM-npt.9Nov16.g++.4 | 0 .../grem/lj-single/log.gREM-nvt.9Nov16.g++.1 | 0 .../grem/lj-single/log.gREM-nvt.9Nov16.g++.4 | 0 .../USER-MISC}/grem/lj-temper/0/lj.data | 0 .../USER-MISC}/grem/lj-temper/0/log.lammps.0 | 0 .../USER-MISC}/grem/lj-temper/1/lj.data | 0 .../USER-MISC}/grem/lj-temper/1/log.lammps.1 | 0 .../USER-MISC}/grem/lj-temper/2/lj.data | 0 .../USER-MISC}/grem/lj-temper/2/log.lammps.2 | 0 .../USER-MISC}/grem/lj-temper/3/lj.data | 0 .../USER-MISC}/grem/lj-temper/3/log.lammps.3 | 0 .../USER-MISC}/grem/lj-temper/in.gREM-temper | 0 .../{USER/misc => PACKAGES/USER-MISC}/hma/README | 0 .../{USER/misc => PACKAGES/USER-MISC}/hma/hma.in | 0 .../USER-MISC}/hma/log.6Nov18.hma.g++.1 | 0 .../USER-MISC}/hma/log.6Nov18.hma.g++.4 | 0 .../USER-MISC}/ilp_graphene_hbn/BNC.tersoff | 0 .../USER-MISC}/ilp_graphene_hbn/BNCH-old.ILP | 0 .../ilp_graphene_hbn/Bi_gr_AB_stack_2L_noH.data | 0 .../ilp_graphene_hbn/gr_hBN_Cstack_2L_noH.data | 0 .../ilp_graphene_hbn/hBN_AA_prime_stack_2L_noH.data | 0 .../hBN_AB_stack_2L_noH_equi_300K.data | 0 .../USER-MISC}/ilp_graphene_hbn/in.bilayer-graphene | 0 .../USER-MISC}/ilp_graphene_hbn/in.bilayer-hBN | 0 .../USER-MISC}/ilp_graphene_hbn/in.grhBN | 0 .../USER-MISC}/ilp_graphene_hbn/in.ilp_graphene_hbn | 0 .../log.31Jul19.bilayer-graphene.g++.1 | 0 .../log.31Jul19.bilayer-graphene.g++.4 | 0 .../ilp_graphene_hbn/log.31Jul19.bilayer-hBN.g++.1 | 0 .../ilp_graphene_hbn/log.31Jul19.bilayer-hBN.g++.4 | 0 .../ilp_graphene_hbn/log.31Jul19.grhBN.g++.1 | 0 .../ilp_graphene_hbn/log.31Jul19.grhBN.g++.4 | 0 .../log.31Jul19.ilp_graphene_hbn.g++.1 | 0 .../log.31Jul19.ilp_graphene_hbn.g++.4 | 0 .../{USER/misc => PACKAGES/USER-MISC}/imd/README | 0 .../USER-MISC}/imd/bucky-plus-cnt-mol.psf | 0 .../USER-MISC}/imd/bucky_cnt_imd.vmd | 0 .../USER-MISC}/imd/data.bucky-plus-cnt | 0 .../USER-MISC}/imd/data.deca-ala-solv | 0 .../USER-MISC}/imd/deca-ala-solv.psf | 0 .../USER-MISC}/imd/deca-ala-solv_imd-demo.vmd | 0 .../misc => PACKAGES/USER-MISC}/imd/deca-ala.psf | 0 .../USER-MISC}/imd/deca-ala_imd-demo.vmd | 0 .../misc => PACKAGES/USER-MISC}/imd/falcon.tcl | 0 .../USER-MISC}/imd/in.bucky-plus-cnt | 0 .../USER-MISC}/imd/in.bucky-plus-cnt-gpu | 0 .../USER-MISC}/imd/in.deca-ala-solv-filter_imd | 0 .../USER-MISC}/imd/in.deca-ala-solv_imd | 0 .../misc => PACKAGES/USER-MISC}/imd/in.deca-ala_imd | 0 .../USER-MISC}/imd/in.deca-ala_imd-gpu | 0 .../misc => PACKAGES/USER-MISC}/imd/in.melt_imd | 0 .../misc => PACKAGES/USER-MISC}/imd/in.melt_imd-gpu | 0 .../{USER/misc => PACKAGES/USER-MISC}/imd/melt.psf | 0 .../USER-MISC}/imd/melt_imd-demo.vmd | 0 .../misc => PACKAGES/USER-MISC}/ipi/C.opt.tersoff | 0 .../{USER/misc => PACKAGES/USER-MISC}/ipi/README | 0 .../misc => PACKAGES/USER-MISC}/ipi/data.graphene | 0 .../misc => PACKAGES/USER-MISC}/ipi/i-pi_input.xml | 0 .../USER-MISC}/ipi/i-pi_positions.xyz | 0 .../misc => PACKAGES/USER-MISC}/ipi/in.graphene | 0 .../Bi_gr_AB_stack_2L_noH.data | 0 .../Bi_gr_AB_stack_2L_noH_300K.data | 0 .../USER-MISC}/kolmogorov_crespi_full/CC.KC-full | 0 .../USER-MISC}/kolmogorov_crespi_full/CH.KC | 0 .../USER-MISC}/kolmogorov_crespi_full/CH.rebo | 0 .../USER-MISC}/kolmogorov_crespi_full/CH_taper.KC | 0 .../kolmogorov_crespi_full/in.bilayer-graphene | 0 .../log.5Jun19.bilayer-graphene.g++.1 | 0 .../log.5Jun19.bilayer-graphene.g++.4 | 0 .../log.5Jun19.bilayer-graphene.icc.1 | 0 .../log.5Jun19.bilayer-graphene.icc.4 | 0 .../USER-MISC}/kolmogorov_crespi_z/CC.KC | 0 .../USER-MISC}/kolmogorov_crespi_z/CH.rebo | 0 .../kolmogorov_crespi_z/data.bilayer-graphene | 0 .../kolmogorov_crespi_z/data.graphene-adsorbant | 0 .../kolmogorov_crespi_z/in.atom-diffusion | 0 .../kolmogorov_crespi_z/in.bilayer-graphene | 0 .../log.16Mar18.atom-diffusion.g++.1 | 0 .../log.16Mar18.atom-diffusion.g++.4 | 0 .../log.30Apr19.bilayer-graphene.g++.1 | 0 .../log.30Apr19.bilayer-graphene.g++.4 | 0 .../USER-MISC}/lebedeva/2particles.dat | 0 .../USER-MISC}/lebedeva/2particles.in | 0 .../USER-MISC}/lebedeva/CC.Lebedeva | 0 .../USER-MISC}/lebedeva/LammpsResult.dat | 0 .../misc => PACKAGES/USER-MISC}/lebedeva/LebDer.pl | 0 .../USER-MISC}/lebedeva/lebedeva00.plot | 0 .../local_density/benzene_water/benzene_water.data | 0 .../local_density/benzene_water/benzene_water.in | 0 .../benzene_water/benzene_water.localdensity.table | 0 .../benzene_water/benzene_water.pair.table | 0 .../local_density/benzene_water/log.04Sep19.g++.1 | 0 .../methanol_implicit_water/log.04Sep19.g++.1 | 0 .../methanol_implicit_water.data | 0 .../methanol_implicit_water.in | 0 .../methanol_implicit_water.localdensity.table | 0 .../methanol_implicit_water.pair.table | 0 .../USER-MISC}/meam_spline/Si_1.meam.spline | 0 .../USER-MISC}/meam_spline/TiO.meam.spline | 0 .../USER-MISC}/meam_spline/in.meam-spline.Si | 0 .../USER-MISC}/meam_spline/in.meam-spline.TiO2 | 0 .../meam_spline/log.4May2017.meam-spline.Si.g++.1 | 0 .../meam_spline/log.4May2017.meam-spline.Si.g++.4 | 0 .../meam_spline/log.4May2017.meam-spline.TiO2.g++.1 | 0 .../meam_spline/log.4May2017.meam-spline.TiO2.g++.4 | 0 .../USER-MISC}/meam_sw_spline/Si/bcc.in | 0 .../USER-MISC}/meam_sw_spline/Si/bcc_relax.in | 0 .../USER-MISC}/meam_sw_spline/Si/dc.in | 0 .../USER-MISC}/meam_sw_spline/Si/dc_relax.in | 0 .../Si/energy_conservation.meam.sw.in | 0 .../USER-MISC}/meam_sw_spline/Si/fcc.in | 0 .../USER-MISC}/meam_sw_spline/Si/fcc_relax.in | 0 .../USER-MISC}/meam_sw_spline/Si/hcp_relax.in | 0 .../USER-MISC}/meam_sw_spline/Si/sc.in | 0 .../USER-MISC}/meam_sw_spline/Si/sc_relax.in | 0 .../USER-MISC}/meam_sw_spline/Si/single_atom.in | 0 .../USER-MISC}/meam_sw_spline/Ti/alpha.in | 0 .../meam_sw_spline/Ti/alpha_relaxation.in | 0 .../USER-MISC}/meam_sw_spline/Ti/beta.in | 0 .../Ti/energy_conservation.meam.sw.in | 0 .../USER-MISC}/meam_sw_spline/Ti/fcc.in | 0 .../USER-MISC}/meam_sw_spline/Ti/hexagonal.in | 0 .../USER-MISC}/meam_sw_spline/Ti/omega.in | 0 .../USER-MISC}/meam_sw_spline/Ti/single_atom.in | 0 .../USER-MISC}/momb/Ag_O1X5.5_O2X0.55.eam.fs | 0 .../{USER/misc => PACKAGES/USER-MISC}/momb/README | 0 .../misc => PACKAGES/USER-MISC}/momb/in.system | 0 .../USER-MISC}/momb/log.17Mar2017.system.g++.1 | 0 .../USER-MISC}/momb/log.17Mar2017.system.g++.4 | 0 .../misc => PACKAGES/USER-MISC}/momb/system.data | 0 .../USER-MISC}/momentum/in.momentum | 0 .../{USER/misc => PACKAGES/USER-MISC}/mop/data.mop | 0 .../USER-MISC}/mop/in.compute_stress_mop | 0 .../mop/log.5Sep18.compute_stress_mop.g++.1 | 0 .../mop/log.5Sep18.compute_stress_mop.g++.4 | 0 .../USER-MISC}/mop/moppz.time.reference | 0 .../USER-MISC}/mop/mopz0.time.reference | 0 .../USER-MISC}/orient_eco/Ni_u3.eam | 0 .../USER-MISC}/orient_eco/data.sigma5 | 0 .../USER-MISC}/orient_eco/in.orient_eco | 0 .../orient_eco/log.2Jun2020.orent_eco.g++.1 | 0 .../orient_eco/log.2Jun2020.orent_eco.g++.4 | 0 .../USER-MISC}/orient_eco/sigma5.ori | 0 .../misc => PACKAGES/USER-MISC}/pafi/.gitignore | 0 .../{USER/misc => PACKAGES/USER-MISC}/pafi/README | 0 .../{USER/misc => PACKAGES/USER-MISC}/pafi/in.pafi | 0 .../USER-MISC}/pafi/log.15Apr20.pafi.g++.1 | 0 .../USER-MISC}/pafi/log.15Apr20.pafi.g++.4 | 0 .../USER-MISC}/pafi/pafipath.4.data | 0 .../USER-MISC}/pimd/para-h2/H2.data | 0 .../misc => PACKAGES/USER-MISC}/pimd/para-h2/H2.xyz | 0 .../USER-MISC}/pimd/para-h2/NM.info | 0 .../misc => PACKAGES/USER-MISC}/pimd/para-h2/in.scp | 0 .../USER-MISC}/pimd/para-h2/pair.table | 0 .../misc => PACKAGES/USER-MISC}/pimd/para-h2/run.sh | 0 .../USER-MISC}/pimd/para-h2/vmd.src | 0 .../USER-MISC}/pimd/prot-hairpin/in.scp | 0 .../USER-MISC}/pimd/prot-hairpin/run.sh | 0 .../USER-MISC}/pimd/prot-hairpin/system.data | 0 .../misc => PACKAGES/USER-MISC}/rhok/README.md | 0 .../misc => PACKAGES/USER-MISC}/rhok/in.crystal | 0 .../misc => PACKAGES/USER-MISC}/rhok/in.pinning | 0 .../{USER/misc => PACKAGES/USER-MISC}/rhok/in.setup | 0 .../USER-MISC}/rhok/log.22Sep2017.crystal.g++.1 | 0 .../USER-MISC}/rhok/log.22Sep2017.crystal.g++.4 | 0 .../USER-MISC}/rhok/log.22Sep2017.pinning.g++.1 | 0 .../USER-MISC}/rhok/log.22Sep2017.pinning.g++.4 | 0 .../USER-MISC}/rhok/log.22Sep2017.setup.g++.1 | 0 .../USER-MISC}/rhok/log.22Sep2017.setup.g++.4 | 0 .../USER-MISC}/slater/data.after_equilibration | 0 .../USER-MISC}/slater/data.after_production_run | 0 .../misc => PACKAGES/USER-MISC}/slater/in.slater | 0 .../misc => PACKAGES/USER-MISC}/slater/log.lammps | 0 .../misc => PACKAGES/USER-MISC}/slater/tmp_1_1.rdf | 0 .../misc => PACKAGES/USER-MISC}/slater/tmp_1_2.rdf | 0 .../misc => PACKAGES/USER-MISC}/slater/tmp_1_3.rdf | 0 .../misc => PACKAGES/USER-MISC}/slater/tmp_2_2.rdf | 0 .../misc => PACKAGES/USER-MISC}/slater/tmp_2_3.rdf | 0 .../misc => PACKAGES/USER-MISC}/slater/tmp_3_3.rdf | 0 .../misc => PACKAGES/USER-MISC}/srp/data.chain | 0 .../{USER/misc => PACKAGES/USER-MISC}/srp/in.srp | 0 .../USER-MISC/temper_npt}/data.peptide | 0 .../USER-MISC}/temper_npt/in.temper_npt | 0 .../temper_npt/log.temper_npt-17Aug17.g++.8 | 0 .../temper_npt/log.temper_npt-17Aug17.g++.8.0 | 0 .../temper_npt/log.temper_npt-17Aug17.g++.8.1 | 0 .../temper_npt/log.temper_npt-17Aug17.g++.8.2 | 0 .../temper_npt/log.temper_npt-17Aug17.g++.8.3 | 0 .../temper_npt/log.temper_npt-17Aug17.g++.8.4 | 0 .../temper_npt/log.temper_npt-17Aug17.g++.8.5 | 0 .../temper_npt/log.temper_npt-17Aug17.g++.8.6 | 0 .../temper_npt/log.temper_npt-17Aug17.g++.8.7 | 0 .../misc => PACKAGES/USER-MISC}/ti/in.ti_spring | 0 .../adios/balance/adios2_config.xml | 0 .../adios/balance/in.adios_balance | 0 .../adios/balance/in.adios_balance2 | 0 .../{USER => PACKAGES}/adios/balance/log.balance | 0 examples/{USER => PACKAGES}/adios/rerun/README | 0 .../adios/rerun/adios2_config.xml | 0 examples/{USER => PACKAGES}/adios/rerun/in.first | 0 .../{USER => PACKAGES}/adios/rerun/in.read_dump | 0 examples/{USER => PACKAGES}/adios/rerun/in.rerun | 0 .../adios/rerun/log.20Jan20.first.g++.7.4 | 0 .../adios/rerun/log.20Jan20.read_dump.g++.7.4 | 0 .../adios/rerun/log.20Jan20.rerun.g++.7.4 | 0 examples/{USER => PACKAGES}/atc/README | 0 .../atc/cauchy_born/Ar_CauchyBorn.mat | 0 .../atc/cauchy_born/Ar_CauchyBorn_linear.mat | 0 .../atc/cauchy_born/Au_CauchyBorn.mat | 0 .../atc/cauchy_born/Au_CauchyBorn_linear.mat | 0 .../{USER => PACKAGES}/atc/cauchy_born/Au_eam.mat | 0 .../atc/cauchy_born/Au_eam_linear.mat | 0 .../{USER => PACKAGES}/atc/cauchy_born/Au_u3.eam | 0 .../atc/cauchy_born/Cu_CauchyBorn.mat | 0 .../atc/cauchy_born/cb_biaxial.screen | 0 .../atc/cauchy_born/cb_shear.screen | 0 .../atc/cauchy_born/cb_unistrain.screen | 0 .../atc/cauchy_born/cb_unistrain_eam.screen | 0 .../atc/cauchy_born/cb_unistrain_eam_linear.screen | 0 .../atc/cauchy_born/cb_unistrain_linear.screen | 0 .../atc/cauchy_born/cb_volumetric.screen | 0 .../atc/cauchy_born/flying_cube.screen | 0 .../atc/cauchy_born/ftcb_constV.screen | 0 .../atc/cauchy_born/ftcb_constV_setup.init | 0 .../atc/cauchy_born/in.cb_biaxial | 0 .../{USER => PACKAGES}/atc/cauchy_born/in.cb_shear | 0 .../atc/cauchy_born/in.cb_unistrain | 0 .../atc/cauchy_born/in.cb_unistrain_eam | 0 .../atc/cauchy_born/in.cb_unistrain_eam_linear | 0 .../atc/cauchy_born/in.cb_unistrain_linear | 0 .../atc/cauchy_born/in.cb_volumetric | 0 .../atc/cauchy_born/in.flying_cube | 0 .../atc/cauchy_born/in.ftcb_constV | 0 .../{USER => PACKAGES}/atc/cauchy_born/in.read_xref | 0 .../atc/cauchy_born/read_xref.screen | 0 .../atc/cauchy_born/read_xref_0.data | 0 .../atc/cauchy_born/read_xref_1.init | 0 .../atc/drift_diffusion/Ar_ddm.mat | 0 .../atc/drift_diffusion/CNT_ddm.mat | 0 .../atc/drift_diffusion/Cu_cddm.mat | 0 .../atc/drift_diffusion/SiGe_ddm_schrodinger.mat | 0 .../drift_diffusion/SiVacuum_cddm_schrodinger.mat | 0 .../drift_diffusion/SiVacuum_ddm_schrodinger.mat | 0 .../atc/drift_diffusion/Si_ddm.mat | 0 .../atc/drift_diffusion/Si_ddm_eq.mat | 0 .../atc/drift_diffusion/Si_ddm_schrodinger.mat | 0 .../atc/drift_diffusion/Si_ddm_thermopower.mat | 0 .../atc/drift_diffusion/convective_pulse.screen | 0 .../atc/drift_diffusion/ddm_schrodinger.screen | 0 .../atc/drift_diffusion/finite_well.screen | 0 .../atc/drift_diffusion/in.convective_pulse | 0 .../atc/drift_diffusion/in.ddm_schrodinger | 0 .../atc/drift_diffusion/in.finite_well | 0 .../atc/drift_diffusion/in.no_atoms_ddm | 0 .../atc/drift_diffusion/in.null_material_ddm | 0 .../atc/drift_diffusion/in.poisson1d_noatoms | 0 .../atc/drift_diffusion/in.poisson2d_noatoms | 0 .../in.schrodinger-poisson2d_Jconstraint | 0 .../in.schrodinger-poisson2d_convective | 0 .../in.schrodinger-poisson2d_noatoms | 0 .../atc/drift_diffusion/no_atoms_ddm.screen | 0 .../atc/drift_diffusion/null_material_ddm.screen | 0 .../atc/drift_diffusion/poisson1d_noatoms.screen | 0 .../atc/drift_diffusion/poisson2d_noatoms.screen | 0 .../schrodinger-poisson2d_Jconstraint.screen | 0 .../schrodinger-poisson2d_convective.screen | 0 .../schrodinger-poisson2d_noatoms.screen | 0 .../atc/elastic/Ar_CauchyBorn.mat | 0 .../atc/elastic/Ar_CauchyBornLinear.mat | 0 .../{USER => PACKAGES}/atc/elastic/Ar_damped.mat | 0 .../{USER => PACKAGES}/atc/elastic/Ar_elastic.mat | 0 .../atc/elastic/Ar_thermo_elastic.mat | 0 .../{USER => PACKAGES}/atc/elastic/Au_elastic.mat | 0 examples/{USER => PACKAGES}/atc/elastic/CNT.mat | 0 .../atc/elastic/CNT_electrostatic.mat | 0 .../atc/elastic/CNT_electrostatic2.mat | 0 examples/{USER => PACKAGES}/atc/elastic/CNT_id.mat | 0 .../{USER => PACKAGES}/atc/elastic/bar1d.screen | 0 .../atc/elastic/bar1d_damped.screen | 0 .../atc/elastic/bar1d_flux.screen | 0 .../atc/elastic/bar1d_frac_step.screen | 0 .../atc/elastic/bar1d_ghost_flux.screen | 0 .../atc/elastic/bar1d_thermo_elastic.screen | 0 .../atc/elastic/cnt_electrostatic.screen | 0 .../atc/elastic/cnt_electrostatic2.screen | 0 .../atc/elastic/cnt_fixed_charge.screen | 0 .../atc/elastic/eam_energy.screen | 0 .../atc/elastic/electron_density.screen | 0 .../atc/elastic/electrostatic_bending.screen | 0 .../atc/elastic/electrostatic_bending_dos.screen | 0 examples/{USER => PACKAGES}/atc/elastic/in.bar1d | 0 .../{USER => PACKAGES}/atc/elastic/in.bar1d_damped | 0 .../{USER => PACKAGES}/atc/elastic/in.bar1d_flux | 0 .../atc/elastic/in.bar1d_frac_step | 0 .../atc/elastic/in.bar1d_ghost_flux | 0 .../atc/elastic/in.bar1d_thermo_elastic | 0 .../{USER => PACKAGES}/atc/elastic/in.eam_energy | 0 .../atc/elastic/in.electron_density | 0 examples/{USER => PACKAGES}/atc/elastic/in.no_atoms | 0 .../{USER => PACKAGES}/atc/elastic/in.no_atoms_cb | 0 .../atc/elastic/in.no_atoms_cb_linear | 0 .../{USER => PACKAGES}/atc/elastic/no_atoms.screen | 0 .../atc/elastic/no_atoms_cb.screen | 0 .../atc/elastic/no_atoms_cb_linear.screen | 0 examples/{USER => PACKAGES}/atc/elastic/temp.init | 0 .../{USER => PACKAGES}/atc/fluids/Ar_elastic.mat | 0 .../atc/fluids/Ar_electrostatic.mat | 0 .../{USER => PACKAGES}/atc/fluids/Ar_liquid.mat | 0 .../{USER => PACKAGES}/atc/fluids/Ar_species.mat | 0 .../{USER => PACKAGES}/atc/fluids/Ar_species_dl.mat | 0 .../{USER => PACKAGES}/atc/fluids/Ar_thermal.mat | 0 .../atc/fluids/Ar_visc_no_atoms.mat | 0 .../{USER => PACKAGES}/atc/fluids/Ar_viscosity.mat | 0 .../atc/fluids/bar1d_fluids.screen | 0 .../atc/fluids/concentration.screen | 0 .../atc/fluids/concentration_init.data | 0 .../atc/fluids/conducting_interface.screen | 0 .../{USER => PACKAGES}/atc/fluids/dielectric.mat | 0 .../atc/fluids/dielectric_interface.screen | 0 .../atc/fluids/double_layer.screen | 0 .../{USER => PACKAGES}/atc/fluids/in.bar1d_fluids | 0 .../{USER => PACKAGES}/atc/fluids/in.concentration | 0 .../atc/fluids/in.conducting_interface | 0 .../atc/fluids/in.dielectric_interface | 0 .../{USER => PACKAGES}/atc/fluids/in.double_layer | 0 .../atc/fluids/in.liquid_electrostatic | 0 examples/{USER => PACKAGES}/atc/fluids/in.opp_force | 0 examples/{USER => PACKAGES}/atc/fluids/in.poisson | 0 .../{USER => PACKAGES}/atc/fluids/in.shear_flow | 0 .../{USER => PACKAGES}/atc/fluids/in.shear_no_atoms | 0 .../atc/fluids/interface_init.data | 0 .../atc/fluids/liquid_electrostatic.screen | 0 .../{USER => PACKAGES}/atc/fluids/opp_force.screen | 0 .../{USER => PACKAGES}/atc/fluids/poisson.screen | 0 examples/{USER => PACKAGES}/atc/fluids/post_eq.init | 0 .../{USER => PACKAGES}/atc/fluids/shear_flow.screen | 0 .../atc/fluids/shear_no_atoms.screen | 0 examples/{USER => PACKAGES}/atc/fluids/temp.init | 0 .../{USER => PACKAGES}/atc/fluids/velocities.init | 0 examples/{USER => PACKAGES}/atc/fluids/waternve.atm | 0 .../{USER => PACKAGES}/atc/hardy/consistency.screen | 0 .../atc/hardy/eam_kernel_convergence.screen | 0 .../atc/hardy/eam_unistrain_cell.screen | 0 .../atc/hardy/eam_unistrain_mesh.screen | 0 .../atc/hardy/eam_unistrain_qcylinder.screen | 0 .../atc/hardy/eam_unistrain_qsphere.screen | 0 .../atc/hardy/eam_unistrain_step.screen | 0 .../atc/hardy/eam_volume_stretch.screen | 0 .../atc/hardy/eshelby_static.screen | 0 .../{USER => PACKAGES}/atc/hardy/in.consistency | 0 .../atc/hardy/in.eam_kernel_convergence | 0 .../atc/hardy/in.eam_unistrain_cell | 0 .../atc/hardy/in.eam_unistrain_mesh | 0 .../atc/hardy/in.eam_unistrain_qcylinder | 0 .../atc/hardy/in.eam_unistrain_qsphere | 0 .../atc/hardy/in.eam_unistrain_step | 0 .../atc/hardy/in.eam_volume_stretch | 0 .../{USER => PACKAGES}/atc/hardy/in.eshelby_static | 0 examples/{USER => PACKAGES}/atc/hardy/in.nvt | 0 examples/{USER => PACKAGES}/atc/hardy/nvt.data | 0 examples/{USER => PACKAGES}/atc/hardy/nvt.init | 0 examples/{USER => PACKAGES}/atc/hardy/nvt.screen | 0 examples/{USER => PACKAGES}/atc/mesh/Ar_ttm.mat | 0 examples/{USER => PACKAGES}/atc/mesh/Si.mat | 0 .../{USER => PACKAGES}/atc/mesh/circle_temp.init | 0 .../atc/mesh/gaussianIC1d_hex.screen | 0 .../atc/mesh/gaussianIC2d_hex.screen | 0 .../atc/mesh/gaussianIC2d_hex20_uniform.screen | 0 .../atc/mesh/gaussianIC2d_hex27_uniform.screen | 0 .../atc/mesh/gaussianIC2d_hex_uniform.screen | 0 .../atc/mesh/gaussianIC2d_tet.screen | 0 .../{USER => PACKAGES}/atc/mesh/in.gaussianIC1d_hex | 0 .../{USER => PACKAGES}/atc/mesh/in.gaussianIC2d_hex | 0 .../atc/mesh/in.gaussianIC2d_hex20_uniform | 0 .../atc/mesh/in.gaussianIC2d_hex27_uniform | 0 .../{USER => PACKAGES}/atc/mesh/in.gaussianIC2d_tet | 0 .../{USER => PACKAGES}/atc/mesh/in.kernel2d_hex | 0 .../{USER => PACKAGES}/atc/mesh/in.kernel2d_tet | 0 examples/{USER => PACKAGES}/atc/mesh/in.mesh2d_tet | 0 examples/{USER => PACKAGES}/atc/mesh/in.semicircle | 0 .../{USER => PACKAGES}/atc/mesh/kernel2d_hex.screen | 0 .../{USER => PACKAGES}/atc/mesh/kernel2d_tet.screen | 0 .../{USER => PACKAGES}/atc/mesh/mesh2d_tet.screen | 0 .../{USER => PACKAGES}/atc/mesh/semicircle.init | 0 .../{USER => PACKAGES}/atc/mesh/semicircle.screen | 0 .../{USER => PACKAGES}/atc/mesh/si_semicircle.init | 0 examples/{USER => PACKAGES}/atc/mesh/temp.init | 0 .../atc/molecule/harmonic_bonds.init | 0 .../atc/molecule/harmonic_bonds.screen | 0 .../atc/molecule/in.harmonic_bonds | 0 .../{USER => PACKAGES}/atc/molecule/in.polarize | 0 .../atc/molecule/in.quartic_bonds | 0 examples/{USER => PACKAGES}/atc/molecule/in.water | 0 .../{USER => PACKAGES}/atc/molecule/polarize.screen | 0 .../atc/molecule/quartic_bonds.data | 0 .../atc/molecule/quartic_bonds.screen | 0 examples/{USER => PACKAGES}/atc/molecule/water.init | 0 examples/{USER => PACKAGES}/atc/molecule/water.mat | 0 .../{USER => PACKAGES}/atc/molecule/water.screen | 0 .../{USER => PACKAGES}/atc/molecule/waterequil.init | 0 .../{USER => PACKAGES}/atc/thermal/Ar_thermal.mat | 0 .../{USER => PACKAGES}/atc/thermal/all_atoms.init | 0 .../{USER => PACKAGES}/atc/thermal/bar1d.screen | 0 .../atc/thermal/bar1d_all_atoms.screen | 0 .../atc/thermal/bar1d_combined.screen | 0 .../atc/thermal/bar1d_flux.screen | 0 .../atc/thermal/bar1d_frac_step.screen | 0 .../atc/thermal/bar1d_hoover.screen | 0 .../atc/thermal/bar1d_interpolate.screen | 0 .../atc/thermal/bar1d_lumped.screen | 0 examples/{USER => PACKAGES}/atc/thermal/in.bar1d | 0 .../atc/thermal/in.bar1d_all_atoms | 0 .../atc/thermal/in.bar1d_combined | 0 .../{USER => PACKAGES}/atc/thermal/in.bar1d_flux | 0 .../atc/thermal/in.bar1d_frac_step | 0 .../{USER => PACKAGES}/atc/thermal/in.bar1d_hoover | 0 .../atc/thermal/in.bar1d_interpolate | 0 .../{USER => PACKAGES}/atc/thermal/in.bar1d_lumped | 0 examples/{USER => PACKAGES}/atc/thermal/in.no_atoms | 0 .../{USER => PACKAGES}/atc/thermal/no_atoms.screen | 0 examples/{USER => PACKAGES}/atc/thermal/temp.init | 0 .../atc/two_temperature/Ar_ttm.mat | 0 .../atc/two_temperature/Cu_ttm.mat | 0 .../atc/two_temperature/bar1d_ttm.screen | 0 .../atc/two_temperature/cutout.init | 0 .../atc/two_temperature/cutout.screen | 0 .../atc/two_temperature/gaussianIC_ttm.screen | 0 .../atc/two_temperature/in.bar1d_ttm | 0 .../atc/two_temperature/in.cutout | 0 .../atc/two_temperature/in.gaussianIC_ttm | 0 .../atc/two_temperature/in.no_atoms | 0 .../atc/two_temperature/in.restart | 0 .../atc/two_temperature/in.uniform_exchange | 0 .../atc/two_temperature/in.uniform_heating | 0 .../atc/two_temperature/no_atoms.screen | 0 .../atc/two_temperature/restart.screen | 0 .../atc/two_temperature/temp.init | 0 .../atc/two_temperature/uniform_exchange.init | 0 .../atc/two_temperature/uniform_exchange.screen | 0 .../atc/two_temperature/uniform_heating.init | 0 .../atc/two_temperature/uniform_heating.screen | 0 examples/{USER => PACKAGES}/awpmd/README | 0 examples/{USER => PACKAGES}/awpmd/data.h_atom | 0 examples/{USER => PACKAGES}/awpmd/data.h_molecule | 0 examples/{USER => PACKAGES}/awpmd/in.h_atom | 0 examples/{USER => PACKAGES}/awpmd/in.h_molecule | 0 .../awpmd/log.27Nov18.h_atom.g++.1 | 0 .../awpmd/log.27Nov18.h_atom.g++.4 | 0 .../awpmd/log.27Nov18.h_molecule.g++.1 | 0 .../awpmd/log.27Nov18.h_molecule.g++.4 | 0 examples/{USER => PACKAGES}/bocs/README | 0 examples/{USER => PACKAGES}/bocs/in.methanol | 0 .../{USER => PACKAGES}/bocs/lammps_nb_MET-MET.table | 0 .../bocs/log.27Nov18.methanol.g++.1 | 0 .../bocs/log.27Nov18.methanol.g++.4 | 0 examples/{USER => PACKAGES}/bocs/methanol.data | 0 .../brownian/2d_velocity/in2d.velocity | 0 .../2d_velocity/log.11May2021.in2d_velocity.g++.1 | 0 .../2d_velocity/log.11May2021.in2d_velocity.g++.4 | 0 .../brownian/asphere/in2d.ellipsoid | 0 .../brownian/asphere/in3d.ellipsoid | 0 .../asphere/log.11May2021.in2d.ellipsoid.g++.1 | 0 .../asphere/log.11May2021.in2d.ellipsoid.g++.4 | 0 .../asphere/log.11May2021.in3d.ellipsoid.g++.1 | 0 .../asphere/log.11May2021.in3d.ellipsoid.g++.4 | 0 .../{USER => PACKAGES}/brownian/point/in2d.point | 0 .../{USER => PACKAGES}/brownian/point/in3d.point | 0 .../brownian/point/log.11May2021.in2d.point.g++.1 | 0 .../brownian/point/log.11May2021.in2d.point.g++.4 | 0 .../brownian/point/log.11May2021.in3d.point.g++.1 | 0 .../brownian/point/log.11May2021.in3d.point.g++.4 | 0 .../{USER => PACKAGES}/brownian/sphere/in2d.sphere | 0 .../{USER => PACKAGES}/brownian/sphere/in3d.sphere | 0 .../brownian/sphere/log.11May2021.in2d.sphere.g++.1 | 0 .../brownian/sphere/log.11May2021.in2d.sphere.g++.4 | 0 .../brownian/sphere/log.11May2021.in3d.sphere.g++.1 | 0 .../brownian/sphere/log.11May2021.in3d.sphere.g++.4 | 0 .../brownian/spherical_ABP/in2d.abp | 0 .../brownian/spherical_ABP/in3d.ideal_abp | 0 .../spherical_ABP/log.11May2021.in2d.apb.g++.1 | 0 .../spherical_ABP/log.11May2021.in2d.apb.g++.4 | 0 .../log.11May2021.in3d.ideal_apb.g++.1 | 0 .../log.11May2021.in3d.ideal_apb.g++.4 | 0 examples/{USER => PACKAGES}/cgdna/README | 0 .../cgdna/examples/oxDNA/duplex1/data.duplex1 | 0 .../cgdna/examples/oxDNA/duplex1/in.duplex1 | 0 .../oxDNA/duplex1/log.30Jun20.duplex1.g++.1 | 0 .../oxDNA/duplex1/log.30Jun20.duplex1.g++.4 | 0 .../cgdna/examples/oxDNA/duplex2/data.duplex2 | 0 .../cgdna/examples/oxDNA/duplex2/in.duplex2 | 0 .../oxDNA/duplex2/log.30Jun20.duplex2.g++.1 | 0 .../oxDNA/duplex2/log.30Jun20.duplex2.g++.4 | 0 .../cgdna/examples/oxDNA2/duplex1/data.duplex1 | 0 .../cgdna/examples/oxDNA2/duplex1/in.duplex1 | 0 .../oxDNA2/duplex1/log.30Jun20.duplex1.g++.1 | 0 .../oxDNA2/duplex1/log.30Jun20.duplex1.g++.4 | 0 .../cgdna/examples/oxDNA2/duplex2/data.duplex2 | 0 .../cgdna/examples/oxDNA2/duplex2/in.duplex2 | 0 .../oxDNA2/duplex2/log.30Jun20.duplex2.g++.1 | 0 .../oxDNA2/duplex2/log.30Jun20.duplex2.g++.4 | 0 .../cgdna/examples/oxDNA2/duplex3/data.duplex3 | 0 .../cgdna/examples/oxDNA2/duplex3/in.duplex3 | 0 .../oxDNA2/duplex3/log.30Jun20.duplex3.g++.1 | 0 .../oxDNA2/duplex3/log.30Jun20.duplex3.g++.4 | 0 .../examples/oxDNA2/unique_bp/data.duplex4.4type | 0 .../examples/oxDNA2/unique_bp/data.duplex4.8type | 0 .../examples/oxDNA2/unique_bp/generate_unique.py | 0 .../examples/oxDNA2/unique_bp/in.duplex4.4type | 0 .../examples/oxDNA2/unique_bp/in.duplex4.8type | 0 .../oxDNA2/unique_bp/log.30Jun20.duplex4.4type.g++1 | 0 .../oxDNA2/unique_bp/log.30Jun20.duplex4.4type.g++4 | 0 .../oxDNA2/unique_bp/log.30Jun20.duplex4.8type.g++1 | 0 .../oxDNA2/unique_bp/log.30Jun20.duplex4.8type.g++4 | 0 .../cgdna/examples/oxRNA2/duplex4/data.duplex4 | 0 .../cgdna/examples/oxRNA2/duplex4/in.duplex4 | 0 .../oxRNA2/duplex4/log.30Jun20.duplex4.g++.1 | 0 .../oxRNA2/duplex4/log.30Jun20.duplex4.g++.4 | 0 examples/{USER => PACKAGES}/cgdna/util/generate.py | 0 .../cgdna/util/generate_simple.py | 0 examples/{USER => PACKAGES}/cgdna/util/input.ref | 0 examples/{USER => PACKAGES}/cgdna/util/sequence.txt | 0 .../cgdna/util/sequence_simple.txt | 0 examples/{USER => PACKAGES}/cgsdk/README | 0 .../cgsdk/peg-verlet/data.pegc12e8.gz | Bin .../{USER => PACKAGES}/cgsdk/peg-verlet/in.pegc12e8 | 0 .../cgsdk/peg-verlet/in.pegc12e8-angle | 0 .../peg-verlet/log.27Nov18.pegc12e8-angle.g++.1 | 0 .../peg-verlet/log.27Nov18.pegc12e8-angle.g++.4 | 0 .../cgsdk/peg-verlet/log.27Nov18.pegc12e8.g++.1 | 0 .../cgsdk/peg-verlet/log.27Nov18.pegc12e8.g++.4 | 0 .../cgsdk/sds-monolayer/data.sds.gz | Bin .../cgsdk/sds-monolayer/in.sds-hybrid | 0 .../cgsdk/sds-monolayer/in.sds-regular | 0 .../sds-monolayer/log.27Nov18.sds-hybrid.g++.1 | 0 .../sds-monolayer/log.27Nov18.sds-hybrid.g++.4 | 0 .../sds-monolayer/log.27Nov18.sds-regular.g++.1 | 0 .../sds-monolayer/log.27Nov18.sds-regular.g++.4 | 0 .../temper_npt => PACKAGES/colvars}/data.peptide | 0 .../{USER => PACKAGES}/colvars/in.peptide-colvars | 0 .../{USER => PACKAGES}/colvars/in.peptide-colvars2 | 0 .../{USER => PACKAGES}/colvars/in.peptide-spring | 0 .../{USER => PACKAGES}/colvars/in.peptide-spring2 | 0 .../colvars/log.27Nov18.peptide-colvars.g++.1 | 0 .../colvars/log.27Nov18.peptide-colvars.g++.4 | 0 .../colvars/log.27Nov18.peptide-colvars2.g++.1 | 0 .../colvars/log.27Nov18.peptide-colvars2.g++.4 | 0 .../colvars/log.27Nov18.peptide-spring.g++.1 | 0 .../colvars/log.27Nov18.peptide-spring.g++.4 | 0 .../colvars/log.27Nov18.peptide-spring2.g++.1 | 0 .../colvars/log.27Nov18.peptide-spring2.g++.4 | 0 .../{USER => PACKAGES}/colvars/out.colvars.state | 0 .../colvars/out.colvars.state.old | 0 .../{USER => PACKAGES}/colvars/out.colvars.traj | 0 .../{USER => PACKAGES}/colvars/out2.colvars.state | 0 .../{USER => PACKAGES}/colvars/out2.colvars.traj | 0 examples/{USER => PACKAGES}/colvars/peptide.colvars | 0 .../{USER => PACKAGES}/colvars/peptide.colvars2 | 0 examples/{USER => PACKAGES}/colvars/peptide.psf | 0 .../colvars/peptide2.colvars.state | 0 .../colvars/peptide2.colvars.traj | 0 examples/{USER => PACKAGES}/dielectric/README | 0 .../{USER => PACKAGES}/dielectric/data.confined | 0 examples/{USER => PACKAGES}/dielectric/data.sphere | 0 examples/{USER => PACKAGES}/dielectric/in.confined | 0 examples/{USER => PACKAGES}/dielectric/in.nopbc | 0 .../diffraction/Output/bulkNi.hist.xrd.correct | 0 .../diffraction/Output/bulkNi.log.correct | 0 .../Output/bulkNi_001.saed.0.vtk.correct | 0 .../Output/bulkNi_001.saed.0_VisIt_Image.png | Bin .../{USER => PACKAGES}/diffraction/Output/log.cite | 0 examples/{USER => PACKAGES}/diffraction/README | 0 examples/{USER => PACKAGES}/diffraction/in.BulkNi | 0 .../diffraction/log.27Nov18.BulkNi.g++.1 | 0 .../diffraction/log.27Nov18.BulkNi.g++.4 | 0 examples/{USER => PACKAGES}/dpd/README | 0 .../{USER => PACKAGES}/dpd/dpd-shardlow/data.dpd | 0 .../dpd/dpd-shardlow/in.dpd-shardlow | 0 .../dpd/dpd-shardlow/log.dpd-shardlow.reference | 0 examples/{USER => PACKAGES}/dpd/dpd-vv/data.dpd | 0 examples/{USER => PACKAGES}/dpd/dpd-vv/in.dpd-vv | 0 .../dpd/dpd-vv/log.dpd-vv.reference | 0 .../{USER => PACKAGES}/dpd/dpde-shardlow/data.dpde | 0 .../dpd/dpde-shardlow/in.dpde-shardlow | 0 .../dpd/dpde-shardlow/log.dpde-shardlow.reference | 0 examples/{USER => PACKAGES}/dpd/dpde-vv/data.dpd | 0 examples/{USER => PACKAGES}/dpd/dpde-vv/in.dpde-vv | 0 .../dpd/dpde-vv/log.dpde-vv.reference | 0 .../{USER => PACKAGES}/dpd/dpdh-shardlow/data.dpdh | 0 .../dpd/dpdh-shardlow/in.dpdh-shardlow | 0 .../dpd/dpdh-shardlow/log.dpdh-shardlow.reference | 0 .../{USER => PACKAGES}/dpd/dpdp-shardlow/data.dpd | 0 .../dpd/dpdp-shardlow/in.dpdp-shardlow | 0 .../dpd/dpdp-shardlow/log.dpdp-shardlow.reference | 0 .../dpd/dpdrx-shardlow/in.dpdrx-shardlow | 0 .../dpd/dpdrx-shardlow/kinetics.dpdrx | 0 .../dpd/dpdrx-shardlow/log.dpdrx-shardlow.reference | 0 .../dpd/dpdrx-shardlow/params.exp6 | 0 .../{USER => PACKAGES}/dpd/dpdrx-shardlow/table.eos | 0 .../dpd/dpdrx-shardlow/thermo.dpdrx | 0 .../{USER => PACKAGES}/dpd/multi-lucy/in.multi-lucy | 0 .../dpd/multi-lucy/log.multi-lucy.reference | 0 .../dpd/multi-lucy/table.multibody | 0 examples/{USER => PACKAGES}/drude/README | 0 .../{USER => PACKAGES}/drude/butane/data.butane | 0 .../{USER => PACKAGES}/drude/butane/in.butane.lang | 0 .../{USER => PACKAGES}/drude/butane/in.butane.nh | 0 .../{USER => PACKAGES}/drude/butane/in.butane.tgnh | 0 .../drude/butane/log.12Nov20.butane.tgnh.g++.1 | 0 .../drude/butane/log.12Nov20.butane.tgnh.g++.4 | 0 .../drude/butane/log.27Nov18.butane.lang.g++.1 | 0 .../drude/butane/log.27Nov18.butane.lang.g++.4 | 0 .../drude/butane/log.27Nov18.butane.nh.g++.1 | 0 .../drude/butane/log.27Nov18.butane.nh.g++.4 | 0 .../{USER => PACKAGES}/drude/ethanol/data.ethanol | 0 .../drude/ethanol/in.ethanol.lang | 0 .../{USER => PACKAGES}/drude/ethanol/in.ethanol.nh | 0 .../drude/ethanol/in.ethanol.tgnh | 0 .../drude/ethanol/log.12Nov20.ethanol.tgnh.g++.1 | 0 .../drude/ethanol/log.12Nov20.ethanol.tgnh.g++.4 | 0 .../drude/ethanol/log.27Nov18.ethanol.lang.g++.1 | 0 .../drude/ethanol/log.27Nov18.ethanol.lang.g++.4 | 0 .../drude/ethanol/log.27Nov18.ethanol.nh.g++.1 | 0 .../drude/ethanol/log.27Nov18.ethanol.nh.g++.4 | 0 .../drude/ethylene_glycol/data.ethylene_glycol | 0 .../drude/ethylene_glycol/in.ethylene_glycol | 0 .../log.18Sep20.ethylene_glycol.g++.1 | 0 .../log.18Sep20.ethylene_glycol.g++.4 | 0 .../{USER => PACKAGES}/drude/swm4-ndp/data.swm4-ndp | 0 .../drude/swm4-ndp/in.swm4-ndp.lang | 0 .../drude/swm4-ndp/in.swm4-ndp.nh | 0 .../drude/swm4-ndp/log.27Nov18.swm4-ndp.lang.g++.1 | 0 .../drude/swm4-ndp/log.27Nov18.swm4-ndp.lang.g++.4 | 0 .../drude/swm4-ndp/log.27Nov18.swm4-ndp.nh.g++.1 | 0 .../drude/swm4-ndp/log.27Nov18.swm4-ndp.nh.g++.4 | 0 .../{USER => PACKAGES}/drude/toluene/data.toluene | 0 .../drude/toluene/in.toluene.lang | 0 .../{USER => PACKAGES}/drude/toluene/in.toluene.nh | 0 .../drude/toluene/log.7Aug19.toluene.lang.g++.1 | 0 .../drude/toluene/log.7Aug19.toluene.lang.g++.4 | 0 .../drude/toluene/log.7Aug19.toluene.nh.g++.1 | 0 .../drude/toluene/log.7Aug19.toluene.nh.g++.4 | 0 .../{USER => PACKAGES}/eff/Auger-Adamantane/README | 0 .../eff/Auger-Adamantane/data.adamantane | 0 .../eff/Auger-Adamantane/data.adamantane_ionized | 0 .../eff/Auger-Adamantane/in.adamantane_ionized.nve | 0 examples/{USER => PACKAGES}/eff/Be-solid/README | 0 .../{USER => PACKAGES}/eff/Be-solid/data.Be-solid | 0 .../{USER => PACKAGES}/eff/Be-solid/in.Be-solid.spe | 0 examples/{USER => PACKAGES}/eff/CH4/README | 0 examples/{USER => PACKAGES}/eff/CH4/data.ch4 | 0 .../{USER => PACKAGES}/eff/CH4/data.ch4_ionized | 0 examples/{USER => PACKAGES}/eff/CH4/in.ch4.dynamics | 0 examples/{USER => PACKAGES}/eff/CH4/in.ch4.min | 0 .../eff/CH4/in.ch4_ionized.dynamics | 0 examples/{USER => PACKAGES}/eff/ECP/README | 0 .../{USER => PACKAGES}/eff/ECP/Si2H6/data.Si2H6 | 0 .../{USER => PACKAGES}/eff/ECP/Si2H6/data.Si2H6.ang | 0 examples/{USER => PACKAGES}/eff/ECP/Si2H6/in.Si2H6 | 0 .../{USER => PACKAGES}/eff/ECP/Si2H6/in.Si2H6.ang | 0 .../{USER => PACKAGES}/eff/ECP/SiC/bulk/data.SiC | 0 examples/{USER => PACKAGES}/eff/ECP/SiC/bulk/in.SiC | 0 examples/{USER => PACKAGES}/eff/ECP/SiH4/data.SiH4 | 0 .../{USER => PACKAGES}/eff/ECP/SiH4/data.SiH4.ang | 0 examples/{USER => PACKAGES}/eff/ECP/SiH4/in.SiH4 | 0 .../{USER => PACKAGES}/eff/ECP/SiH4/in.SiH4.ang | 0 examples/{USER => PACKAGES}/eff/H/README | 0 examples/{USER => PACKAGES}/eff/H/data.h_atom.ang | 0 examples/{USER => PACKAGES}/eff/H/data.h_atom.bohr | 0 examples/{USER => PACKAGES}/eff/H/in.h_atom.spe.ang | 0 .../{USER => PACKAGES}/eff/H/in.h_atom.spe.bohr | 0 examples/{USER => PACKAGES}/eff/H2/README | 0 examples/{USER => PACKAGES}/eff/H2/data.h2 | 0 examples/{USER => PACKAGES}/eff/H2/in.h2 | 0 examples/{USER => PACKAGES}/eff/H_plasma/README | 0 .../{USER => PACKAGES}/eff/H_plasma/data.h2bulk | 0 .../{USER => PACKAGES}/eff/H_plasma/data.h2bulk.ang | 0 .../{USER => PACKAGES}/eff/H_plasma/in.h2bulk.npt | 0 .../{USER => PACKAGES}/eff/H_plasma/in.h2bulk.nve | 0 .../eff/H_plasma/in.h2bulk.nve.ang | 0 examples/{USER => PACKAGES}/eff/Li-dendritic/README | 0 .../eff/Li-dendritic/data.Li-dendritic | 0 .../eff/Li-dendritic/in.Li-dendritic.min | 0 .../eff/Li-dendritic/in.Li-dendritic.nvt | 0 examples/{USER => PACKAGES}/eff/Li-solid/README | 0 .../{USER => PACKAGES}/eff/Li-solid/data.Li.ang | 0 .../{USER => PACKAGES}/eff/Li-solid/data.Li.bohr | 0 examples/{USER => PACKAGES}/eff/Li-solid/in.Li.ang | 0 examples/{USER => PACKAGES}/eff/Li-solid/in.Li.bohr | 0 examples/{USER => PACKAGES}/eff/README | 0 .../eff/fixed-core/C2H6/data.C2H6fc.ang | 0 .../eff/fixed-core/C2H6/data.C2H6fc.bohr | 0 .../eff/fixed-core/C2H6/in.C2H6fc.ang | 0 .../eff/fixed-core/C2H6/in.C2H6fc.bohr | 0 .../eff/fixed-core/CH4/data.CH4fc.ang | 0 .../eff/fixed-core/CH4/data.CH4fc.bohr | 0 .../eff/fixed-core/CH4/in.CH4fc.ang | 0 .../eff/fixed-core/CH4/in.CH4fc.bohr | 0 .../eff/fixed-core/CH4/in.CH4fc.spe.ang | 0 .../eff/fixed-core/CH4/in.CH4fc.spe.bohr | 0 examples/{USER => PACKAGES}/eff/fixed-core/README | 0 .../C7inEthanol/fep01/data.init_conf_with_heptane | 0 .../fep/C7inEthanol/fep01/in.insertion | 0 .../fep/C7inEthanol/fep01/log.insertion | 0 .../C7inEthanol/fep10/data.init_conf_with_heptane | 0 .../fep/C7inEthanol/fep10/in.deletion | 0 .../fep/C7inEthanol/fep10/log.deletion | 0 examples/{USER => PACKAGES}/fep/CC-CO/README.md | 0 .../{USER => PACKAGES}/fep/CC-CO/fep01/fep01.fep | 0 .../{USER => PACKAGES}/fep/CC-CO/fep01/in.fep01.lmp | 0 .../{USER => PACKAGES}/fep/CC-CO/fep01/log.fep01 | 0 .../{USER => PACKAGES}/fep/CC-CO/fep10/fep10.fep | 0 .../{USER => PACKAGES}/fep/CC-CO/fep10/in.fep10.lmp | 0 .../{USER => PACKAGES}/fep/CC-CO/fep10/log.fep10 | 0 examples/{USER => PACKAGES}/fep/CC-CO/mols/CC-CO.ff | 0 .../{USER => PACKAGES}/fep/CC-CO/mols/CC-CO.zmat | 0 .../{USER => PACKAGES}/fep/CC-CO/mols/CO-CC.zmat | 0 examples/{USER => PACKAGES}/fep/CC-CO/mols/README | 0 .../{USER => PACKAGES}/fep/CC-CO/mols/data.0.lmp | 0 .../{USER => PACKAGES}/fep/CC-CO/mols/data.1.lmp | 0 examples/{USER => PACKAGES}/fep/CC-CO/mols/spce.ff | 0 .../{USER => PACKAGES}/fep/CC-CO/mols/spce.zmat | 0 examples/{USER => PACKAGES}/fep/CH4-CF4/README.md | 0 .../{USER => PACKAGES}/fep/CH4-CF4/bar01/bar01.fep | 0 .../fep/CH4-CF4/bar01/in.bar01.lmp | 0 .../{USER => PACKAGES}/fep/CH4-CF4/bar01/log.bar01 | 0 .../{USER => PACKAGES}/fep/CH4-CF4/bar10/bar10.fep | 0 .../fep/CH4-CF4/bar10/in.bar10.lmp | 0 .../{USER => PACKAGES}/fep/CH4-CF4/bar10/log.ber10 | 0 .../{USER => PACKAGES}/fep/CH4-CF4/fep01/fep01.fep | 0 .../fep/CH4-CF4/fep01/in.fep01.lmp | 0 .../{USER => PACKAGES}/fep/CH4-CF4/fep01/log.fep01 | 0 .../{USER => PACKAGES}/fep/CH4-CF4/fep10/fep10.fep | 0 .../fep/CH4-CF4/fep10/in.fep10.lmp | 0 .../{USER => PACKAGES}/fep/CH4-CF4/fep10/log.fep01 | 0 .../fep/CH4-CF4/mols/CF4-CH4.zmat | 0 .../{USER => PACKAGES}/fep/CH4-CF4/mols/CH4-CF4.ff | 0 .../fep/CH4-CF4/mols/CH4-CF4.zmat | 0 .../{USER => PACKAGES}/fep/CH4-CF4/mols/data.0.lmp | 0 .../{USER => PACKAGES}/fep/CH4-CF4/mols/data.1.lmp | 0 .../{USER => PACKAGES}/fep/CH4-CF4/mols/spce.ff | 0 .../{USER => PACKAGES}/fep/CH4-CF4/mols/spce.zmat | 0 examples/{USER => PACKAGES}/fep/CH4hyd/README.md | 0 .../{USER => PACKAGES}/fep/CH4hyd/fdti01/fdti01.fep | 0 .../fep/CH4hyd/fdti01/in.fdti01.lmp | 0 .../{USER => PACKAGES}/fep/CH4hyd/fdti01/log.fdti01 | 0 .../{USER => PACKAGES}/fep/CH4hyd/fdti10/fdti10.fep | 0 .../fep/CH4hyd/fdti10/in.fdti10.lmp | 0 .../{USER => PACKAGES}/fep/CH4hyd/fdti10/log.fdti10 | 0 .../{USER => PACKAGES}/fep/CH4hyd/fep01/fep01.fep | 0 .../fep/CH4hyd/fep01/in.fep01.lmp | 0 .../{USER => PACKAGES}/fep/CH4hyd/fep01/log.fep01 | 0 .../{USER => PACKAGES}/fep/CH4hyd/fep10/fep10.fep | 0 .../fep/CH4hyd/fep10/in.fep10.lmp | 0 .../{USER => PACKAGES}/fep/CH4hyd/fep10/log.fep10 | 0 .../{USER => PACKAGES}/fep/CH4hyd/mols/data.lmp | 0 .../{USER => PACKAGES}/fep/CH4hyd/mols/methane.zmat | 0 .../{USER => PACKAGES}/fep/CH4hyd/mols/oplsaa.ff | 0 .../{USER => PACKAGES}/fep/CH4hyd/mols/tip4pew.ff | 0 .../{USER => PACKAGES}/fep/CH4hyd/mols/tip4pew.zmat | 0 examples/{USER => PACKAGES}/fep/README.md | 0 examples/{USER => PACKAGES}/fep/SPCEhyd/README.md | 0 .../fep/SPCEhyd/fep01/fep01-lj.fep | 0 .../fep/SPCEhyd/fep01/fep01-lj.out | 0 .../fep/SPCEhyd/fep01/fep01-q.fep | 0 .../fep/SPCEhyd/fep01/fep01-q.out | 0 .../fep/SPCEhyd/fep01/in-fep01-lj.lmp | 0 .../fep/SPCEhyd/fep01/in-fep01-q.lmp | 0 .../fep/SPCEhyd/fep10/fep10-lj.fep | 0 .../fep/SPCEhyd/fep10/fep10-lj.out | 0 .../fep/SPCEhyd/fep10/fep10-q.fep | 0 .../fep/SPCEhyd/fep10/fep10-q.out | 0 .../fep/SPCEhyd/fep10/in-fep10-lj.lmp | 0 .../fep/SPCEhyd/fep10/in-fep10-q.lmp | 0 .../{USER => PACKAGES}/fep/SPCEhyd/mols/data.lmp | 0 .../{USER => PACKAGES}/fep/SPCEhyd/mols/spce.ff | 0 .../{USER => PACKAGES}/fep/SPCEhyd/mols/spce.zmat | 0 .../{USER => PACKAGES}/fep/SPCEhyd/mols/spce_h.ff | 0 .../{USER => PACKAGES}/fep/SPCEhyd/mols/spce_h.zmat | 0 .../{USER => PACKAGES}/fep/quicktests/in_adapt.lmp | 0 .../fep/quicktests/in_fep_soft.lmp | 0 .../{USER => PACKAGES}/fep/quicktests/log.adapt | 0 .../{USER => PACKAGES}/fep/quicktests/log.fep_soft | 0 examples/{USER => PACKAGES}/hdnnp/data.H2O-360mol | 0 .../{USER => PACKAGES}/hdnnp/hdnnp-data/input.nn | 0 .../hdnnp/hdnnp-data/scaling.data | 0 .../hdnnp/hdnnp-data/weights.001.data | 0 .../hdnnp/hdnnp-data/weights.008.data | 0 examples/{USER => PACKAGES}/hdnnp/in.hdnnp | 0 .../lb/confined_colloid/in.confined_colloids | 0 .../lb/confined_colloid/results64.out | 0 .../lb/dragforce/data.one_radius16d2 | 0 .../lb/dragforce/defaultgamma_drag.out | 0 .../lb/dragforce/in.defaultgamma_drag | 0 .../lb/dragforce/in.setgamma_drag | 0 .../lb/dragforce/setgamma13d0_drag.out | 0 .../{USER => PACKAGES}/lb/fourspheres/data.four | 0 .../fourspheres_velocity0d0001_defaultgamma.out | 0 .../fourspheres_velocity0d0001_setgamma.out | 0 .../lb/fourspheres/in.fourspheres_default_gamma | 0 .../lb/fourspheres/in.fourspheres_set_gamma | 0 .../{USER => PACKAGES}/lb/microrheology/data.two | 0 .../lb/microrheology/in.microrheology_default_gamma | 0 .../lb/microrheology/in.microrheology_set_gamma | 0 .../lb/microrheology/microrheology_defaultgamma.out | 0 .../lb/microrheology/microrheology_setgamma.out | 0 .../lb/planewall/data.one_radius16d2 | 0 .../lb/planewall/in.planewall_default_gamma | 0 .../lb/planewall/in.planewall_set_gamma | 0 .../lb/planewall/wall_defaultgamma.out | 0 .../lb/planewall/wall_setgamma.out | 0 examples/{USER => PACKAGES}/lb/polymer/data.polymer | 0 .../lb/polymer/in.polymer_default_gamma | 0 .../lb/polymer/in.polymer_setgamma | 0 .../lb/polymer/out.polymer_default_gamma | 0 .../lb/polymer/out.polymer_setgamma | 0 .../{USER => PACKAGES}/manifold/diffusion/README | 0 .../manifold/diffusion/msd.cyl.data | 0 .../manifold/diffusion/msd.cyl.in | 0 .../{USER => PACKAGES}/manifold/diffusion/msd.pdf | Bin .../manifold/diffusion/msd.plane.data | 0 .../manifold/diffusion/msd.plane.in | 0 .../manifold/diffusion/msd.sphere.data | 0 .../manifold/diffusion/msd.sphere.in | 0 .../manifold/diffusion/msd_plot2.pdf | Bin .../manifold/diffusion/plot_msd.gpl | 0 examples/{USER => PACKAGES}/manifold/energy/README | 0 .../manifold/energy/cylinder.data | 0 .../manifold/energy/cylinder.setup | 0 .../{USER => PACKAGES}/manifold/energy/energy.in | 0 .../manifold/energy/energy.plane.in | 0 .../{USER => PACKAGES}/manifold/energy/energy.sh | 0 .../manifold/energy/energy_conservation.pdf | Bin .../manifold/energy/energy_conservation.png | Bin .../manifold/energy/plane.anneal.data | 0 .../{USER => PACKAGES}/manifold/energy/plane.data | 0 .../manifold/energy/plot_energies.gpl | 0 .../{USER => PACKAGES}/manifold/energy/sphere.data | 0 .../{USER => PACKAGES}/manifold/energy/sphere.setup | 0 .../{USER => PACKAGES}/manifold/energy/torus.data | 0 .../{USER => PACKAGES}/manifold/energy/torus.setup | 0 .../{USER => PACKAGES}/manifold/thylakoid/README | 0 .../manifold/thylakoid/thylakoid.data | 0 .../manifold/thylakoid/thylakoid.in | 0 examples/{USER => PACKAGES}/manifold/virus/README | 0 .../{USER => PACKAGES}/manifold/virus/init.data | 0 examples/{USER => PACKAGES}/manifold/virus/vir.in | 0 examples/{USER => PACKAGES}/mdi/README | 0 examples/{USER => PACKAGES}/mdi/Script.sh | 0 examples/{USER => PACKAGES}/mdi/driver.py | 0 examples/{USER => PACKAGES}/mdi/lammps.data | 0 examples/{USER => PACKAGES}/mdi/lammps.in | 0 examples/{USER => PACKAGES}/mesodpd/README | 0 examples/{USER => PACKAGES}/mesodpd/edpd/in.edpd | 0 .../mesodpd/edpd/log.16Aug17.edpd.g++.1 | 0 .../mesodpd/edpd/log.16Aug17.edpd.g++.4 | 0 .../mesodpd/edpd/temp.profile.16Aug17.edpd.g++.1 | 0 .../mesodpd/edpd/temp.profile.16Aug17.edpd.g++.4 | 0 examples/{USER => PACKAGES}/mesodpd/mdpd/in.mdpd | 0 .../mesodpd/mdpd/log.16Aug17.mdpd.g++.1 | 0 .../mesodpd/mdpd/log.16Aug17.mdpd.g++.4 | 0 .../mesodpd/tdpd/cc.profile.16Aug17.tdpd.g++.1 | 0 .../mesodpd/tdpd/cc.profile.16Aug17.tdpd.g++.4 | 0 examples/{USER => PACKAGES}/mesodpd/tdpd/in.tdpd | 0 .../mesodpd/tdpd/log.16Aug17.tdpd.g++.1 | 0 .../mesodpd/tdpd/log.16Aug17.tdpd.g++.4 | 0 examples/{USER => PACKAGES}/mesont/C_10_10.mesocnt | 0 examples/{USER => PACKAGES}/mesont/README | 0 .../{USER => PACKAGES}/mesont/TABTP_10_10.mesont | 0 examples/{USER => PACKAGES}/mesont/cnt.data | 0 examples/{USER => PACKAGES}/mesont/data.bundle | 0 examples/{USER => PACKAGES}/mesont/data.film | 0 examples/{USER => PACKAGES}/mesont/in.bundle | 0 examples/{USER => PACKAGES}/mesont/in.cnt | 0 examples/{USER => PACKAGES}/mesont/in.film | 0 .../mesont/log.2Jun2020.bundle.g++.1 | 0 .../mesont/log.2Jun2020.bundle.g++.4 | 0 .../mesont/log.2Jun2020.film.g++.1 | 0 .../mesont/log.2Jun2020.film.g++.4 | 0 .../{USER => PACKAGES}/mesont/log.9Jan20.cnt.g++.1 | 0 .../{USER => PACKAGES}/mesont/log.9Jan20.cnt.g++.4 | 0 examples/{USER => PACKAGES}/mgpt/Ta6.8x.mgpt.README | 0 examples/{USER => PACKAGES}/mgpt/Ta6.8x.mgpt.parmin | 0 examples/{USER => PACKAGES}/mgpt/Ta6.8x.mgpt.potin | 0 examples/{USER => PACKAGES}/mgpt/in.bcc0 | 0 examples/{USER => PACKAGES}/mgpt/in.vac0-bcc | 0 examples/{USER => PACKAGES}/mgpt/in.vacmin-bcc | 0 examples/{USER => PACKAGES}/mgpt/log.bcc0 | 0 examples/{USER => PACKAGES}/mgpt/log.vac0-bcc | 0 examples/{USER => PACKAGES}/mgpt/log.vacmin-bcc | 0 examples/{USER => PACKAGES}/mofff/hkust1.data | 0 examples/{USER => PACKAGES}/mofff/in.hkust1 | 0 examples/{USER => PACKAGES}/mofff/in.hkust1_long | 0 .../mofff/log.27Nov18.hkust1.g++.1 | 0 .../mofff/log.27Nov18.hkust1.g++.4 | 0 .../mofff/log.27Nov18.hkust1_long.g++.1 | 0 .../mofff/log.27Nov18.hkust1_long.g++.4 | 0 .../{USER => PACKAGES}/pace/Cu-PBE-core-rep.ace | 0 examples/{USER => PACKAGES}/pace/in.pace.product | 0 examples/{USER => PACKAGES}/pace/in.pace.recursive | 0 .../pace/log.03Feb2021.pace.product.g++.1 | 0 .../pace/log.03Feb2021.pace.product.g++.4 | 0 .../pace/log.03Feb2021.pace.recursive.g++.1 | 0 .../pace/log.03Feb2021.pace.recursive.g++.4 | 0 examples/{USER => PACKAGES}/phonon/1-1D-mono/README | 0 .../{USER => PACKAGES}/phonon/1-1D-mono/data.pos | 0 .../{USER => PACKAGES}/phonon/1-1D-mono/disp.dat | 0 examples/{USER => PACKAGES}/phonon/1-1D-mono/in.Ana | 0 .../{USER => PACKAGES}/phonon/1-1D-mono/in.disp | 0 .../{USER => PACKAGES}/phonon/1-1D-mono/log.lammps | 0 examples/{USER => PACKAGES}/phonon/1-1D-mono/map.in | 0 .../{USER => PACKAGES}/phonon/1-1D-mono/pdisp.eps | 0 .../phonon/1-1D-mono/pdisp.gnuplot | 0 .../phonon/1-1D-mono/phonon.bin.2000000 | Bin .../{USER => PACKAGES}/phonon/1-1D-mono/phonon.log | 0 .../{USER => PACKAGES}/phonon/1-1D-mono/plot.disp | 0 .../{USER => PACKAGES}/phonon/2-1D-diatomic/README | 0 .../phonon/2-1D-diatomic/data.pos | 0 .../phonon/2-1D-diatomic/disp.dat | 0 .../{USER => PACKAGES}/phonon/2-1D-diatomic/in.Ana | 0 .../{USER => PACKAGES}/phonon/2-1D-diatomic/in.disp | 0 .../phonon/2-1D-diatomic/log.lammps | 0 .../{USER => PACKAGES}/phonon/2-1D-diatomic/map.in | 0 .../phonon/2-1D-diatomic/pdisp.eps | 0 .../phonon/2-1D-diatomic/pdisp.gnuplot | 0 .../phonon/2-1D-diatomic/phonon.bin.2000000 | Bin .../phonon/2-1D-diatomic/phonon.log | 0 .../phonon/2-1D-diatomic/plot.disp | 0 .../phonon/3-3D-FCC-Cu-EAM/CuPhonon.bin.6500000 | Bin .../phonon/3-3D-FCC-Cu-EAM/CuPhonon.log | 0 .../phonon/3-3D-FCC-Cu-EAM/README | 0 .../phonon/3-3D-FCC-Cu-EAM/cuu3.eam | 0 .../phonon/3-3D-FCC-Cu-EAM/data.pos | 0 .../phonon/3-3D-FCC-Cu-EAM/disp-expr.dat | 0 .../phonon/3-3D-FCC-Cu-EAM/disp-ld.dat | 0 .../phonon/3-3D-FCC-Cu-EAM/disp.dat | 0 .../phonon/3-3D-FCC-Cu-EAM/dos-expr.dat | 0 .../phonon/3-3D-FCC-Cu-EAM/dos-ld.dat | 0 .../phonon/3-3D-FCC-Cu-EAM/dos.dat | 0 .../phonon/3-3D-FCC-Cu-EAM/in.EAM3D | 0 .../phonon/3-3D-FCC-Cu-EAM/in.disp | 0 .../phonon/3-3D-FCC-Cu-EAM/in.disp2 | 0 .../phonon/3-3D-FCC-Cu-EAM/in.dos | 0 .../phonon/3-3D-FCC-Cu-EAM/map.in | 0 .../phonon/3-3D-FCC-Cu-EAM/pdisp.eps | 0 .../phonon/3-3D-FCC-Cu-EAM/pdisp.gnuplot | 0 .../phonon/3-3D-FCC-Cu-EAM/pdos.eps | 0 .../phonon/3-3D-FCC-Cu-EAM/plot.disp | 0 .../phonon/3-3D-FCC-Cu-EAM/plot.dos | 0 .../phonon/4-Graphene/Graphene.bin.6000000 | Bin .../phonon/4-Graphene/Graphene.log | 0 .../{USER => PACKAGES}/phonon/4-Graphene/README | 0 .../phonon/4-Graphene/SiC.tersoff | 0 .../{USER => PACKAGES}/phonon/4-Graphene/data.pos | 0 .../{USER => PACKAGES}/phonon/4-Graphene/in.disp | 0 .../phonon/4-Graphene/in.graphene | 0 .../{USER => PACKAGES}/phonon/4-Graphene/map.in | 0 .../{USER => PACKAGES}/phonon/4-Graphene/pdisp.dat | 0 .../{USER => PACKAGES}/phonon/4-Graphene/pdisp.eps | 0 .../phonon/4-Graphene/pdisp.gnuplot | 0 .../{USER => PACKAGES}/phonon/4-Graphene/plot.disp | 0 .../dynamical_matrix_command/Silicon/README.md | 0 .../dynamical_matrix_command/Silicon/SiCGe.tersoff | 0 .../dynamical_matrix_command/Silicon/ff-silicon.lmp | 0 .../dynamical_matrix_command/Silicon/in.silicon | 0 .../Silicon/lmp_bank/amorphous_silicon.lmp | 0 .../Silicon/lmp_bank/silicon_216.lmp | 0 .../Silicon/lmp_bank/silicon_512.lmp | 0 .../Silicon/lmp_bank/silicon_8.lmp | 0 .../Silicon/results/dynmat.dat | 0 .../Silicon/results/out.silicon | 0 .../Silicon/silicon_input_file.lmp | 0 .../dynamical_matrix_command/python/README.md | 0 .../dynamical_matrix_command/python/SiCGe.tersoff | 0 .../dynamical_matrix_command/python/dynmat.py | 0 .../dynamical_matrix_command/python/ff-silicon.lmp | 0 .../python/results/dynmat.dat | 0 .../python/results/out.dynamt | 0 .../python/silicon_input_file.lmp | 0 examples/{USER => PACKAGES}/plumed/data.peptide | 0 .../{USER => PACKAGES}/plumed/in.peptide-plumed | 0 .../plumed/log.4Feb20.peptide-plumed.g++.1 | 0 .../plumed/log.4Feb20.peptide-plumed.g++.4 | 0 examples/{USER => PACKAGES}/plumed/plumed.dat | 0 examples/{USER => PACKAGES}/plumed/reference/colvar | 0 examples/{USER => PACKAGES}/plumed/reference/p.log | 0 examples/{USER => PACKAGES}/ptm/ptm_example.in | 0 examples/{USER => PACKAGES}/qtb/README | 0 .../alpha_quartz_qbmsst/alpha_quartz_potential.mod | 0 .../qtb/alpha_quartz_qbmsst/alpha_quartz_qtb.mod | 0 .../qtb/alpha_quartz_qbmsst/in.alpha_quartz_qbmsst | 0 .../log.09Feb21.alpha_quartz_qbmsst.g++.1 | 0 .../log.09Feb21.alpha_quartz_qbmsst.g++.4 | 0 .../qtb/alpha_quartz_qbmsst/potential_SiO2.TPF | 0 .../qtb/alpha_quartz_qtb/in.alpha_quartz_qtb | 0 .../log.15Jun20.alpha_quartz_qtb.g++.1 | 0 .../log.15Jun20.alpha_quartz_qtb.g++.4 | 0 .../qtb/methane_qbmsst/ffield.reax | 0 .../qtb/methane_qbmsst/methane_qbmsst.in | 0 .../qtb/methane_qbmsst/methane_qtb.mod | 0 .../{USER => PACKAGES}/qtb/methane_qtb/ffield.reax | 0 .../qtb/methane_qtb/methane_qtb.in | 0 examples/{USER => PACKAGES}/quip/data_gap | 0 examples/{USER => PACKAGES}/quip/data_sw | 0 examples/{USER => PACKAGES}/quip/gap_example.xml | 0 .../{USER => PACKAGES}/quip/gap_example_sparse.dat | 0 examples/{USER => PACKAGES}/quip/in.gap | 0 examples/{USER => PACKAGES}/quip/in.molecular | 0 examples/{USER => PACKAGES}/quip/in.sw | 0 .../{USER => PACKAGES}/quip/log.24Jul17.gap.g++.1 | 0 .../{USER => PACKAGES}/quip/log.24Jul17.gap.g++.4 | 0 .../quip/log.24Jul17.molecular.g++.1 | 0 .../quip/log.24Jul17.molecular.g++.4 | 0 .../{USER => PACKAGES}/quip/log.24Jul17.sw.g++.1 | 0 .../{USER => PACKAGES}/quip/log.24Jul17.sw.g++.4 | 0 examples/{USER => PACKAGES}/quip/methane-box-8.data | 0 examples/{USER => PACKAGES}/quip/out.molecular | 0 examples/{USER => PACKAGES}/quip/sw_example.xml | 0 examples/{USER => PACKAGES}/rann/in.rann | 0 .../{USER => PACKAGES}/rann/log.22Jun21.rann.g++.1 | 0 .../{USER => PACKAGES}/rann/log.22Jun21.rann.g++.4 | 0 .../create_atoms_polystyrene/grow_styrene.map | 0 .../grow_styrene_post.data_template | 0 .../grow_styrene_pre.data_template | 0 .../create_atoms_polystyrene/in.grow_styrene | 0 .../log.24Dec20.grow_styrene.g++.1 | 0 .../log.24Dec20.grow_styrene.g++.4 | 0 .../reaction/create_atoms_polystyrene/trimer.data | 0 .../reaction/nylon,6-6_melt/in.large_nylon_melt | 0 .../nylon,6-6_melt/large_nylon_melt.data.gz | Bin .../log.20Apr18.large_nylon_melt.g++.1 | 0 .../log.20Apr18.large_nylon_melt.g++.4 | 0 .../reaction/nylon,6-6_melt/rxn1_stp1_map | 0 .../nylon,6-6_melt/rxn1_stp1_reacted.data_template | 0 .../rxn1_stp1_unreacted.data_template | 0 .../reaction/nylon,6-6_melt/rxn1_stp2_map | 0 .../nylon,6-6_melt/rxn1_stp2_reacted.data_template | 0 .../rxn1_stp2_unreacted.data_template | 0 .../reaction/tiny_epoxy/in.tiny_epoxy.stabilized | 0 .../log.20Nov19.tiny_epoxy.stabilized.g++.1 | 0 .../log.20Nov19.tiny_epoxy.stabilized.g++.4 | 0 .../reaction/tiny_epoxy/rxn1_stp1.map | 0 .../tiny_epoxy/rxn1_stp1_post.data_template | 0 .../reaction/tiny_epoxy/rxn1_stp1_pre.data_template | 0 .../reaction/tiny_epoxy/rxn1_stp2.map | 0 .../tiny_epoxy/rxn1_stp2_post.data_template | 0 .../reaction/tiny_epoxy/rxn2_stp1.map | 0 .../tiny_epoxy/rxn2_stp1_post.data_template | 0 .../reaction/tiny_epoxy/rxn2_stp1_pre.data_template | 0 .../reaction/tiny_epoxy/rxn2_stp2.map | 0 .../tiny_epoxy/rxn2_stp2_post.data_template | 0 .../reaction/tiny_epoxy/tiny_epoxy.data | 0 .../reaction/tiny_nylon/in.tiny_nylon.stabilized | 0 .../in.tiny_nylon.stabilized_variable_probability | 0 .../reaction/tiny_nylon/in.tiny_nylon.unstabilized | 0 ...tiny_nylon.stabilized_variable_probability.g++.1 | 0 ...tiny_nylon.stabilized_variable_probability.g++.4 | 0 .../log.5Jun19.tiny_nylon.stabilized.g++.1 | 0 .../log.5Jun19.tiny_nylon.stabilized.g++.4 | 0 .../log.5Jun19.tiny_nylon.unstabilized.g++.1 | 0 .../log.5Jun19.tiny_nylon.unstabilized.g++.4 | 0 .../reaction/tiny_nylon/rxn1_stp1_map | 0 .../tiny_nylon/rxn1_stp1_reacted.data_template | 0 .../tiny_nylon/rxn1_stp1_unreacted.data_template | 0 .../reaction/tiny_nylon/rxn1_stp2_map | 0 .../tiny_nylon/rxn1_stp2_reacted.data_template | 0 .../tiny_nylon/rxn1_stp2_unreacted.data_template | 0 .../reaction/tiny_nylon/tiny_nylon.data | 0 .../reaction/tiny_polystyrene/2styrene_map | 0 .../tiny_polystyrene/2styrene_reacted.data_template | 0 .../2styrene_unreacted.data_template | 0 .../reaction/tiny_polystyrene/chain_chain_map | 0 .../chain_chain_reacted.data_template | 0 .../chain_chain_unreacted.data_template | 0 .../tiny_polystyrene/chain_plus_styrene_map | 0 .../chain_plus_styrene_reacted.data_template | 0 .../chain_plus_styrene_unreacted.data_template | 0 .../tiny_polystyrene/in.tiny_polystyrene.stabilized | 0 .../log.20Nov19.tiny_polystyrene.stabilized.g++.1 | 0 .../log.20Nov19.tiny_polystyrene.stabilized.g++.4 | 0 .../reaction/tiny_polystyrene/tiny_polystyrene.data | 0 examples/{USER => PACKAGES}/scafacos/data.NaCl | 0 .../{USER => PACKAGES}/scafacos/data.cloud_wall | 0 .../scafacos/data.hammersley_sphere | 0 examples/{USER => PACKAGES}/scafacos/in.scafacos | 0 .../scafacos/in.scafacos.cw.ewald | 0 .../{USER => PACKAGES}/scafacos/in.scafacos.cw.fmm | 0 .../scafacos/in.scafacos.cw.p2nfft | 0 .../{USER => PACKAGES}/scafacos/in.scafacos.cw.p3m | 0 .../{USER => PACKAGES}/scafacos/in.scafacos.ewald | 0 .../{USER => PACKAGES}/scafacos/in.scafacos.fmm | 0 .../scafacos/in.scafacos.hsph.direct | 0 .../scafacos/in.scafacos.hsph.fmm | 0 .../scafacos/in.scafacos.hsph.p2nfft | 0 .../{USER => PACKAGES}/scafacos/in.scafacos.p2nfft | 0 .../{USER => PACKAGES}/scafacos/in.scafacos.p3m | 0 .../scafacos/log.27Nov18.scafacos.cw.ewald.g++.1 | 0 .../scafacos/log.27Nov18.scafacos.cw.ewald.g++.4 | 0 .../scafacos/log.27Nov18.scafacos.cw.fmm.g++.1 | 0 .../scafacos/log.27Nov18.scafacos.cw.fmm.g++.4 | 0 .../scafacos/log.27Nov18.scafacos.cw.p2nfft.g++.1 | 0 .../scafacos/log.27Nov18.scafacos.cw.p2nfft.g++.4 | 0 .../scafacos/log.27Nov18.scafacos.cw.p3m.g++.1 | 0 .../scafacos/log.27Nov18.scafacos.cw.p3m.g++.4 | 0 .../scafacos/log.27Nov18.scafacos.ewald.g++.1 | 0 .../scafacos/log.27Nov18.scafacos.ewald.g++.4 | 0 .../scafacos/log.27Nov18.scafacos.fmm.g++.1 | 0 .../scafacos/log.27Nov18.scafacos.fmm.g++.4 | 0 .../scafacos/log.27Nov18.scafacos.g++.1 | 0 .../scafacos/log.27Nov18.scafacos.g++.4 | 0 .../scafacos/log.27Nov18.scafacos.hsph.direct.g++.1 | 0 .../scafacos/log.27Nov18.scafacos.hsph.direct.g++.4 | 0 .../scafacos/log.27Nov18.scafacos.hsph.fmm.g++.1 | 0 .../scafacos/log.27Nov18.scafacos.hsph.fmm.g++.4 | 0 .../scafacos/log.27Nov18.scafacos.hsph.p2nfft.g++.1 | 0 .../scafacos/log.27Nov18.scafacos.hsph.p2nfft.g++.4 | 0 .../scafacos/log.27Nov18.scafacos.p2nfft.g++.1 | 0 .../scafacos/log.27Nov18.scafacos.p2nfft.g++.4 | 0 .../scafacos/log.27Nov18.scafacos.p3m.g++.1 | 0 .../scafacos/log.27Nov18.scafacos.p3m.g++.4 | 0 .../sdpd/2d-diffusion-in-shear-flow/in.lammps | 0 .../log.24Oct18.2d-diffusion-in-shear-flow.g++.1 | 0 .../log.24Oct18.2d-diffusion-in-shear-flow.g++.4 | 0 .../{USER => PACKAGES}/sdpd/2d-diffusion/in.lammps | 0 .../2d-diffusion/log.24Oct18.2d-diffusion.g++.1 | 0 .../2d-diffusion/log.24Oct18.2d-diffusion.g++.4 | 0 examples/{USER => PACKAGES}/sdpd/README | 0 .../sdpd/equipartition-verification/in.lammps | 0 .../log.24Oct18.equipartition.g++.1 | 0 .../log.24Oct18.equipartition.g++.4 | 0 examples/{USER => PACKAGES}/smd/README | 0 .../smd/aluminum_strip_pull/in.aluminum_strip_pull | 0 .../log.9Oct20.aluminum_strip_pull.g++.1 | 0 .../log.9Oct20.aluminum_strip_pull.g++.4 | 0 .../in.fluid_structure_interaction | 0 .../log.9Oct20.fluid_structure_interaction.g++.1 | 0 .../log.9Oct20.fluid_structure_interaction.g++.4 | 0 .../{USER => PACKAGES}/smd/funnel_flow/boundary.stl | 0 .../smd/funnel_flow/in.funnel_flow | 0 .../smd/funnel_flow/log.9Oct20.funnel_flow.g++.1 | 0 .../smd/funnel_flow/log.9Oct20.funnel_flow.g++.4 | 0 .../smd/rubber_rings_3d/in.rubber_rings_3d | 0 .../log.9Oct20.rubber_rings_3d.g++.1 | 0 .../log.9Oct20.rubber_rings_3d.g++.4 | 0 .../smd/rubber_rings_3d/washer_hex_adjusted.data | 0 .../smd/rubber_strip_pull/in.rubber_strip_pull | 0 .../log.9Oct20.rubber_strip_pull.g++.1 | 0 .../log.9Oct20.rubber_strip_pull.g++.4 | 0 .../smd/rubber_strip_pull/plot.gpl | 0 examples/{USER => PACKAGES}/smtbq/data.Alpha | 0 examples/{USER => PACKAGES}/smtbq/ffield.smtbq.Al | 0 .../{USER => PACKAGES}/smtbq/ffield.smtbq.Al2O3 | 0 examples/{USER => PACKAGES}/smtbq/ffield.smtbq.TiO2 | 0 examples/{USER => PACKAGES}/smtbq/in.smtbq.Al | 0 examples/{USER => PACKAGES}/smtbq/in.smtbq.Al2O3 | 0 examples/{USER => PACKAGES}/smtbq/in.smtbq.TiO2 | 0 .../{USER => PACKAGES}/smtbq/log.smtbq.Al.g++.1 | 0 .../{USER => PACKAGES}/smtbq/log.smtbq.Al.g++.4 | 0 .../{USER => PACKAGES}/smtbq/log.smtbq.Al2O3.g++.1 | 0 .../{USER => PACKAGES}/smtbq/log.smtbq.Al2O3.g++.4 | 0 .../{USER => PACKAGES}/smtbq/log.smtbq.TiO2.g++.1 | 0 .../{USER => PACKAGES}/smtbq/log.smtbq.TiO2.g++.4 | 0 examples/{USER => PACKAGES}/sph/README | 0 .../sph/cavity_flow/cavity_flow.lmp | 0 .../sph/heatconduction/compare_analytic.gpl | 0 .../sph/heatconduction/sph_heat_conduction_2d.lmp | 0 .../sph/heatconduction/sph_heat_conduction_3d.lmp | 0 .../sph/shock_tube/compare_exact.gpl | 0 .../sph/shock_tube/exact_solution.dat | 0 .../{USER => PACKAGES}/sph/shock_tube/shock2d.lmp | 0 .../{USER => PACKAGES}/sph/shock_tube/shock3d.lmp | 0 .../sph/water_collapse/data.initial | 0 .../sph/water_collapse/water_collapse.lmp | 0 examples/{USER => PACKAGES}/tally/README | 0 examples/{USER => PACKAGES}/tally/data.spce | 0 examples/{USER => PACKAGES}/tally/in.force | 0 examples/{USER => PACKAGES}/tally/in.pe | 0 examples/{USER => PACKAGES}/tally/in.stress | 0 .../{USER => PACKAGES}/tally/log.12Jun17.force.1 | 0 .../{USER => PACKAGES}/tally/log.12Jun17.force.4 | 0 examples/{USER => PACKAGES}/tally/log.12Jun17.pe.1 | 0 examples/{USER => PACKAGES}/tally/log.12Jun17.pe.4 | 0 .../{USER => PACKAGES}/tally/log.12Jun17.stress.1 | 0 .../{USER => PACKAGES}/tally/log.12Jun17.stress.4 | 0 examples/{USER => PACKAGES}/uef/README | 0 .../{USER => PACKAGES}/uef/npt_biaxial/data.wca | 0 .../uef/npt_biaxial/in.npt_biaxial | 0 .../uef/npt_biaxial/log.27Nov18.npt_biaxial.g++.1 | 0 .../uef/npt_biaxial/log.27Nov18.npt_biaxial.g++.4 | 0 .../{USER => PACKAGES}/uef/nvt_uniaxial/data.wca | 0 .../uef/nvt_uniaxial/in.nvt_uniaxial | 0 .../uef/nvt_uniaxial/log.27Nov18.nvt_uniaxial.g++.1 | 0 .../uef/nvt_uniaxial/log.27Nov18.nvt_uniaxial.g++.4 | 0 examples/{USER => PACKAGES}/vtk/.gitignore | 0 examples/{USER => PACKAGES}/vtk/in.vtk | 0 examples/{USER => PACKAGES}/vtk/in.vtp | 0 examples/{USER => PACKAGES}/yaff/README | 0 .../{USER => PACKAGES}/yaff/mil53al/lammps.data | 0 examples/{USER => PACKAGES}/yaff/mil53al/lammps.in | 0 examples/{USER => PACKAGES}/yaff/mof5/lammps.data | 0 examples/{USER => PACKAGES}/yaff/mof5/lammps.in | 0 examples/README | 7 ++++--- 1351 files changed, 4 insertions(+), 3 deletions(-) rename examples/{USER/misc => PACKAGES/USER-MISC}/addtorque/in.addtorque (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/addtorque/log.9Nov16.addtorque.g++.1 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/addtorque/log.9Nov16.addtorque.g++.4 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/agni/Al_jpc.agni (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/agni/adatom.data (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/agni/in.adatom (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/agni/in.vacancy (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/agni/log.20Jan21.adatom.g++.1 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/agni/log.20Jan21.adatom.g++.4 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/agni/log.20Jan21.vacancy.g++.1 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/agni/log.20Jan21.vacancy.g++.4 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/agni/vacancy.data (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/basal/almg.liu (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/basal/in.basal (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/cauchy/NiAlH_jea.eam.alloy (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/cauchy/README (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/cauchy/in.cauchystat (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/cauchy/log.2Jun2020.cauchystat.g++.1 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/charge_regulation/README (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/charge_regulation/data.chreg-acid (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/charge_regulation/data.chreg-acid-real (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/charge_regulation/data.chreg-polymer (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/charge_regulation/in.chreg-acid (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/charge_regulation/in.chreg-acid-real (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/charge_regulation/in.chreg-polymer (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/charge_regulation/log.10Feb21.chreg-acid.g++.1 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/charge_regulation/log.10Feb21.chreg-acid.g++.4 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/charge_regulation/log.10Feb21.chreg-polymer.g++.1 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/charge_regulation/log.10Feb21.chreg-polymer.g++.4 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/charge_regulation/log.11Apr21.chreg-acid-real.g++.1 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/charge_regulation/log.11Apr21.chreg-acid-real.g++.4 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/cnp/Cu_Mishin1.eam (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/cnp/in.cnp (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/cnp/log.31May17.cnp.g++.4 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/dpd_ext/README (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/dpd_ext/dpdext/dpdext.data (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/dpd_ext/dpdext/in.dpdext (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/dpd_ext/dpdext/log.10Mar21.dpdext.g++.1 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/dpd_ext/dpdext/log.10Mar21.dpdext.g++.4 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/dpd_ext/dpdext_tstat/cg_spce.data (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/dpd_ext/dpdext_tstat/cg_spce_table.pot (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/dpd_ext/dpdext_tstat/in.cg_spce (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/dpd_ext/dpdext_tstat/log.10Mar21.dpdext.g++.1 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/dpd_ext/dpdext_tstat/log.10Mar21.dpdext.g++.4 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/drip/C.drip (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/drip/CH.rebo (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/drip/README.txt (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/drip/data.C (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/drip/data.CH (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/drip/in.CH_drip (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/drip/in.C_drip (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/drip/log.30Apr19.CH_drip.g++.1 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/drip/log.30Apr19.CH_drip.g++.4 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/drip/log.30Apr19.C_drip.g++.1 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/drip/log.30Apr19.C_drip.g++.4 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/e3b/README (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/e3b/e3b_box.data (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/e3b/in.e3b-tip4p2005 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/e3b/log.29Mar2019.e3b-tip4p2005.g++.1 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/e3b/log.29Mar2019.e3b-tip4p2005.g++.4 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/edip/Si.edip (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/edip/SiC.edip (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/edip/data.SiC (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/edip/in.edip-Si (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/edip/in.edip-Si-multi (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/edip/in.edip-SiC (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/edip/log.4May2017.g++.edip-Si-multi.1 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/edip/log.4May2017.g++.edip-Si-multi.4 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/edip/log.4May2017.g++.edip-Si.1 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/edip/log.4May2017.g++.edip-Si.4 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/edip/log.4May2017.g++.edip-SiC.1 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/edip/log.4May2017.g++.edip-SiC.4 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/ees/Data_region (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/ees/Data_wall (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/ees/README (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/ees/in.fix_wall (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/ees/in.fix_wall_region (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/ees/log.23Jun17.fix_wall.g++.1 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/ees/log.23Jun17.fix_wall.g++.4 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/ees/log.23Jun17.fix_wall_region.g++.1 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/ees/log.23Jun17.fix_wall_region.g++.4 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/electron_stopping/Si.Si.elstop (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/electron_stopping/Si.sw (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/electron_stopping/in.cascade_AlCu (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/electron_stopping/in.cascade_SiSi (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/electron_stopping/in.elstop (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/electron_stopping/in.elstop.only (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/electron_stopping/log.18Sep2020.cascade_AlCu.intel.1 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/electron_stopping/log.18Sep2020.cascade_AlCu.intel.4 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/electron_stopping/log.18Sep2020.cascade_SiSi.intel.1 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/electron_stopping/log.18Sep2020.cascade_SiSi.intel.4 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/electron_stopping/log.20Mar19.elstop.g++.1 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/electron_stopping/log.20Mar19.elstop.g++.4 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/electron_stopping/log.20Mar19.elstop.only.g++.1 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/electron_stopping/log.20Mar19.elstop.only.g++.4 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/entropy/Na_MendelevM_2014.eam.fs (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/entropy/data.interface (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/entropy/in.entropy (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/entropy/log.entropy (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/extep/BN.data (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/extep/in.extep-bn (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/extep/log.23Oct17.extep-bn.g++.1 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/extep/log.23Oct17.extep-bn.g++.4 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/filter_corotate/data.bpti (100%) rename examples/{USER/colvars => PACKAGES/USER-MISC/filter_corotate}/data.peptide (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/filter_corotate/in.bpti (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/filter_corotate/in.peptide (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/filter_corotate/log.22Jun2017.bpti.g++.1 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/filter_corotate/log.22Jun2017.bpti.g++.4 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/filter_corotate/log.22Jun2017.peptide.g++.1 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/filter_corotate/log.22Jun2017.peptide.g++.4 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/flow_gauss/README (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/flow_gauss/in.GD (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/flow_gauss/log.6Jul17.GD.g++.1 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/flow_gauss/log.6Jul17.GD.g++.4 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/flow_gauss/output-files/GD.out (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/flow_gauss/output-files/Vy_profile (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/flow_gauss/output-files/x_profiles (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/gauss_diel/data.gauss-diel (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/gauss_diel/in.gauss-diel (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/gauss_diel/in.gauss-diel-cg (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/gauss_diel/in.gauss-diel-split (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/gauss_diel/log.gauss-diel (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/gauss_diel/log.gauss-diel-cg (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/gauss_diel/log.gauss-diel-split (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/gle/data.h2o-quantum (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/gle/data.h2o-smart (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/gle/in.h2o-quantum (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/gle/in.h2o-smart (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/gle/log.h2o-quantum (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/gle/log.h2o-smart (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/gle/qt-300k.A (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/gle/qt-300k.C (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/gle/smart.A (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/grem/README (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/grem/lj-6rep/400/restart.init (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/grem/lj-6rep/405/restart.init (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/grem/lj-6rep/410/restart.init (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/grem/lj-6rep/415/restart.init (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/grem/lj-6rep/420/restart.init (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/grem/lj-6rep/425/restart.init (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/grem/lj-6rep/clean.sh (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/grem/lj-6rep/double-re-short.py (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/grem/lj-6rep/in.gREM (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/grem/lj-6rep/run.sh (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/grem/lj-6rep/walker.bkp (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/grem/lj-single/in.gREM-npt (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/grem/lj-single/in.gREM-nvt (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/grem/lj-single/lj.data (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/grem/lj-single/log.gREM-npt.9Nov16.g++.1 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/grem/lj-single/log.gREM-npt.9Nov16.g++.4 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/grem/lj-single/log.gREM-nvt.9Nov16.g++.1 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/grem/lj-single/log.gREM-nvt.9Nov16.g++.4 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/grem/lj-temper/0/lj.data (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/grem/lj-temper/0/log.lammps.0 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/grem/lj-temper/1/lj.data (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/grem/lj-temper/1/log.lammps.1 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/grem/lj-temper/2/lj.data (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/grem/lj-temper/2/log.lammps.2 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/grem/lj-temper/3/lj.data (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/grem/lj-temper/3/log.lammps.3 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/grem/lj-temper/in.gREM-temper (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/hma/README (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/hma/hma.in (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/hma/log.6Nov18.hma.g++.1 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/hma/log.6Nov18.hma.g++.4 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/ilp_graphene_hbn/BNC.tersoff (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/ilp_graphene_hbn/BNCH-old.ILP (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/ilp_graphene_hbn/Bi_gr_AB_stack_2L_noH.data (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/ilp_graphene_hbn/gr_hBN_Cstack_2L_noH.data (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/ilp_graphene_hbn/hBN_AA_prime_stack_2L_noH.data (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/ilp_graphene_hbn/hBN_AB_stack_2L_noH_equi_300K.data (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/ilp_graphene_hbn/in.bilayer-graphene (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/ilp_graphene_hbn/in.bilayer-hBN (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/ilp_graphene_hbn/in.grhBN (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/ilp_graphene_hbn/in.ilp_graphene_hbn (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/ilp_graphene_hbn/log.31Jul19.bilayer-graphene.g++.1 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/ilp_graphene_hbn/log.31Jul19.bilayer-graphene.g++.4 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/ilp_graphene_hbn/log.31Jul19.bilayer-hBN.g++.1 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/ilp_graphene_hbn/log.31Jul19.bilayer-hBN.g++.4 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/ilp_graphene_hbn/log.31Jul19.grhBN.g++.1 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/ilp_graphene_hbn/log.31Jul19.grhBN.g++.4 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/ilp_graphene_hbn/log.31Jul19.ilp_graphene_hbn.g++.1 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/ilp_graphene_hbn/log.31Jul19.ilp_graphene_hbn.g++.4 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/imd/README (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/imd/bucky-plus-cnt-mol.psf (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/imd/bucky_cnt_imd.vmd (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/imd/data.bucky-plus-cnt (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/imd/data.deca-ala-solv (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/imd/deca-ala-solv.psf (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/imd/deca-ala-solv_imd-demo.vmd (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/imd/deca-ala.psf (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/imd/deca-ala_imd-demo.vmd (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/imd/falcon.tcl (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/imd/in.bucky-plus-cnt (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/imd/in.bucky-plus-cnt-gpu (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/imd/in.deca-ala-solv-filter_imd (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/imd/in.deca-ala-solv_imd (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/imd/in.deca-ala_imd (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/imd/in.deca-ala_imd-gpu (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/imd/in.melt_imd (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/imd/in.melt_imd-gpu (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/imd/melt.psf (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/imd/melt_imd-demo.vmd (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/ipi/C.opt.tersoff (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/ipi/README (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/ipi/data.graphene (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/ipi/i-pi_input.xml (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/ipi/i-pi_positions.xyz (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/ipi/in.graphene (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/kolmogorov_crespi_full/Bi_gr_AB_stack_2L_noH.data (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/kolmogorov_crespi_full/Bi_gr_AB_stack_2L_noH_300K.data (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/kolmogorov_crespi_full/CC.KC-full (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/kolmogorov_crespi_full/CH.KC (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/kolmogorov_crespi_full/CH.rebo (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/kolmogorov_crespi_full/CH_taper.KC (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/kolmogorov_crespi_full/in.bilayer-graphene (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/kolmogorov_crespi_full/log.5Jun19.bilayer-graphene.g++.1 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/kolmogorov_crespi_full/log.5Jun19.bilayer-graphene.g++.4 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/kolmogorov_crespi_full/log.5Jun19.bilayer-graphene.icc.1 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/kolmogorov_crespi_full/log.5Jun19.bilayer-graphene.icc.4 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/kolmogorov_crespi_z/CC.KC (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/kolmogorov_crespi_z/CH.rebo (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/kolmogorov_crespi_z/data.bilayer-graphene (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/kolmogorov_crespi_z/data.graphene-adsorbant (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/kolmogorov_crespi_z/in.atom-diffusion (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/kolmogorov_crespi_z/in.bilayer-graphene (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/kolmogorov_crespi_z/log.16Mar18.atom-diffusion.g++.1 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/kolmogorov_crespi_z/log.16Mar18.atom-diffusion.g++.4 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/kolmogorov_crespi_z/log.30Apr19.bilayer-graphene.g++.1 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/kolmogorov_crespi_z/log.30Apr19.bilayer-graphene.g++.4 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/lebedeva/2particles.dat (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/lebedeva/2particles.in (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/lebedeva/CC.Lebedeva (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/lebedeva/LammpsResult.dat (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/lebedeva/LebDer.pl (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/lebedeva/lebedeva00.plot (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/local_density/benzene_water/benzene_water.data (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/local_density/benzene_water/benzene_water.in (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/local_density/benzene_water/benzene_water.localdensity.table (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/local_density/benzene_water/benzene_water.pair.table (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/local_density/benzene_water/log.04Sep19.g++.1 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/local_density/methanol_implicit_water/log.04Sep19.g++.1 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/local_density/methanol_implicit_water/methanol_implicit_water.data (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/local_density/methanol_implicit_water/methanol_implicit_water.in (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/local_density/methanol_implicit_water/methanol_implicit_water.localdensity.table (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/local_density/methanol_implicit_water/methanol_implicit_water.pair.table (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/meam_spline/Si_1.meam.spline (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/meam_spline/TiO.meam.spline (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/meam_spline/in.meam-spline.Si (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/meam_spline/in.meam-spline.TiO2 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/meam_spline/log.4May2017.meam-spline.Si.g++.1 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/meam_spline/log.4May2017.meam-spline.Si.g++.4 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/meam_spline/log.4May2017.meam-spline.TiO2.g++.1 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/meam_spline/log.4May2017.meam-spline.TiO2.g++.4 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/meam_sw_spline/Si/bcc.in (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/meam_sw_spline/Si/bcc_relax.in (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/meam_sw_spline/Si/dc.in (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/meam_sw_spline/Si/dc_relax.in (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/meam_sw_spline/Si/energy_conservation.meam.sw.in (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/meam_sw_spline/Si/fcc.in (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/meam_sw_spline/Si/fcc_relax.in (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/meam_sw_spline/Si/hcp_relax.in (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/meam_sw_spline/Si/sc.in (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/meam_sw_spline/Si/sc_relax.in (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/meam_sw_spline/Si/single_atom.in (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/meam_sw_spline/Ti/alpha.in (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/meam_sw_spline/Ti/alpha_relaxation.in (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/meam_sw_spline/Ti/beta.in (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/meam_sw_spline/Ti/energy_conservation.meam.sw.in (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/meam_sw_spline/Ti/fcc.in (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/meam_sw_spline/Ti/hexagonal.in (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/meam_sw_spline/Ti/omega.in (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/meam_sw_spline/Ti/single_atom.in (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/momb/Ag_O1X5.5_O2X0.55.eam.fs (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/momb/README (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/momb/in.system (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/momb/log.17Mar2017.system.g++.1 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/momb/log.17Mar2017.system.g++.4 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/momb/system.data (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/momentum/in.momentum (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/mop/data.mop (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/mop/in.compute_stress_mop (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/mop/log.5Sep18.compute_stress_mop.g++.1 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/mop/log.5Sep18.compute_stress_mop.g++.4 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/mop/moppz.time.reference (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/mop/mopz0.time.reference (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/orient_eco/Ni_u3.eam (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/orient_eco/data.sigma5 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/orient_eco/in.orient_eco (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/orient_eco/log.2Jun2020.orent_eco.g++.1 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/orient_eco/log.2Jun2020.orent_eco.g++.4 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/orient_eco/sigma5.ori (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/pafi/.gitignore (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/pafi/README (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/pafi/in.pafi (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/pafi/log.15Apr20.pafi.g++.1 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/pafi/log.15Apr20.pafi.g++.4 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/pafi/pafipath.4.data (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/pimd/para-h2/H2.data (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/pimd/para-h2/H2.xyz (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/pimd/para-h2/NM.info (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/pimd/para-h2/in.scp (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/pimd/para-h2/pair.table (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/pimd/para-h2/run.sh (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/pimd/para-h2/vmd.src (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/pimd/prot-hairpin/in.scp (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/pimd/prot-hairpin/run.sh (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/pimd/prot-hairpin/system.data (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/rhok/README.md (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/rhok/in.crystal (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/rhok/in.pinning (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/rhok/in.setup (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/rhok/log.22Sep2017.crystal.g++.1 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/rhok/log.22Sep2017.crystal.g++.4 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/rhok/log.22Sep2017.pinning.g++.1 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/rhok/log.22Sep2017.pinning.g++.4 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/rhok/log.22Sep2017.setup.g++.1 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/rhok/log.22Sep2017.setup.g++.4 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/slater/data.after_equilibration (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/slater/data.after_production_run (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/slater/in.slater (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/slater/log.lammps (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/slater/tmp_1_1.rdf (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/slater/tmp_1_2.rdf (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/slater/tmp_1_3.rdf (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/slater/tmp_2_2.rdf (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/slater/tmp_2_3.rdf (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/slater/tmp_3_3.rdf (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/srp/data.chain (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/srp/in.srp (100%) rename examples/{USER/misc/filter_corotate => PACKAGES/USER-MISC/temper_npt}/data.peptide (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/temper_npt/in.temper_npt (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/temper_npt/log.temper_npt-17Aug17.g++.8 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/temper_npt/log.temper_npt-17Aug17.g++.8.0 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/temper_npt/log.temper_npt-17Aug17.g++.8.1 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/temper_npt/log.temper_npt-17Aug17.g++.8.2 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/temper_npt/log.temper_npt-17Aug17.g++.8.3 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/temper_npt/log.temper_npt-17Aug17.g++.8.4 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/temper_npt/log.temper_npt-17Aug17.g++.8.5 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/temper_npt/log.temper_npt-17Aug17.g++.8.6 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/temper_npt/log.temper_npt-17Aug17.g++.8.7 (100%) rename examples/{USER/misc => PACKAGES/USER-MISC}/ti/in.ti_spring (100%) rename examples/{USER => PACKAGES}/adios/balance/adios2_config.xml (100%) rename examples/{USER => PACKAGES}/adios/balance/in.adios_balance (100%) rename examples/{USER => PACKAGES}/adios/balance/in.adios_balance2 (100%) rename examples/{USER => PACKAGES}/adios/balance/log.balance (100%) rename examples/{USER => PACKAGES}/adios/rerun/README (100%) rename examples/{USER => PACKAGES}/adios/rerun/adios2_config.xml (100%) rename examples/{USER => PACKAGES}/adios/rerun/in.first (100%) rename examples/{USER => PACKAGES}/adios/rerun/in.read_dump (100%) rename examples/{USER => PACKAGES}/adios/rerun/in.rerun (100%) rename examples/{USER => PACKAGES}/adios/rerun/log.20Jan20.first.g++.7.4 (100%) rename examples/{USER => PACKAGES}/adios/rerun/log.20Jan20.read_dump.g++.7.4 (100%) rename examples/{USER => PACKAGES}/adios/rerun/log.20Jan20.rerun.g++.7.4 (100%) rename examples/{USER => PACKAGES}/atc/README (100%) rename examples/{USER => PACKAGES}/atc/cauchy_born/Ar_CauchyBorn.mat (100%) rename examples/{USER => PACKAGES}/atc/cauchy_born/Ar_CauchyBorn_linear.mat (100%) rename examples/{USER => PACKAGES}/atc/cauchy_born/Au_CauchyBorn.mat (100%) rename examples/{USER => PACKAGES}/atc/cauchy_born/Au_CauchyBorn_linear.mat (100%) rename examples/{USER => PACKAGES}/atc/cauchy_born/Au_eam.mat (100%) rename examples/{USER => PACKAGES}/atc/cauchy_born/Au_eam_linear.mat (100%) rename examples/{USER => PACKAGES}/atc/cauchy_born/Au_u3.eam (100%) rename examples/{USER => PACKAGES}/atc/cauchy_born/Cu_CauchyBorn.mat (100%) rename examples/{USER => PACKAGES}/atc/cauchy_born/cb_biaxial.screen (100%) rename examples/{USER => PACKAGES}/atc/cauchy_born/cb_shear.screen (100%) rename examples/{USER => PACKAGES}/atc/cauchy_born/cb_unistrain.screen (100%) rename examples/{USER => PACKAGES}/atc/cauchy_born/cb_unistrain_eam.screen (100%) rename examples/{USER => PACKAGES}/atc/cauchy_born/cb_unistrain_eam_linear.screen (100%) rename examples/{USER => PACKAGES}/atc/cauchy_born/cb_unistrain_linear.screen (100%) rename examples/{USER => PACKAGES}/atc/cauchy_born/cb_volumetric.screen (100%) rename examples/{USER => PACKAGES}/atc/cauchy_born/flying_cube.screen (100%) rename examples/{USER => PACKAGES}/atc/cauchy_born/ftcb_constV.screen (100%) rename examples/{USER => PACKAGES}/atc/cauchy_born/ftcb_constV_setup.init (100%) rename examples/{USER => PACKAGES}/atc/cauchy_born/in.cb_biaxial (100%) rename examples/{USER => PACKAGES}/atc/cauchy_born/in.cb_shear (100%) rename examples/{USER => PACKAGES}/atc/cauchy_born/in.cb_unistrain (100%) rename examples/{USER => PACKAGES}/atc/cauchy_born/in.cb_unistrain_eam (100%) rename examples/{USER => PACKAGES}/atc/cauchy_born/in.cb_unistrain_eam_linear (100%) rename examples/{USER => PACKAGES}/atc/cauchy_born/in.cb_unistrain_linear (100%) rename examples/{USER => PACKAGES}/atc/cauchy_born/in.cb_volumetric (100%) rename examples/{USER => PACKAGES}/atc/cauchy_born/in.flying_cube (100%) rename examples/{USER => PACKAGES}/atc/cauchy_born/in.ftcb_constV (100%) rename examples/{USER => PACKAGES}/atc/cauchy_born/in.read_xref (100%) rename examples/{USER => PACKAGES}/atc/cauchy_born/read_xref.screen (100%) rename examples/{USER => PACKAGES}/atc/cauchy_born/read_xref_0.data (100%) rename examples/{USER => PACKAGES}/atc/cauchy_born/read_xref_1.init (100%) rename examples/{USER => PACKAGES}/atc/drift_diffusion/Ar_ddm.mat (100%) rename examples/{USER => PACKAGES}/atc/drift_diffusion/CNT_ddm.mat (100%) rename examples/{USER => PACKAGES}/atc/drift_diffusion/Cu_cddm.mat (100%) rename examples/{USER => PACKAGES}/atc/drift_diffusion/SiGe_ddm_schrodinger.mat (100%) rename examples/{USER => PACKAGES}/atc/drift_diffusion/SiVacuum_cddm_schrodinger.mat (100%) rename examples/{USER => PACKAGES}/atc/drift_diffusion/SiVacuum_ddm_schrodinger.mat (100%) rename examples/{USER => PACKAGES}/atc/drift_diffusion/Si_ddm.mat (100%) rename examples/{USER => PACKAGES}/atc/drift_diffusion/Si_ddm_eq.mat (100%) rename examples/{USER => PACKAGES}/atc/drift_diffusion/Si_ddm_schrodinger.mat (100%) rename examples/{USER => PACKAGES}/atc/drift_diffusion/Si_ddm_thermopower.mat (100%) rename examples/{USER => PACKAGES}/atc/drift_diffusion/convective_pulse.screen (100%) rename examples/{USER => PACKAGES}/atc/drift_diffusion/ddm_schrodinger.screen (100%) rename examples/{USER => PACKAGES}/atc/drift_diffusion/finite_well.screen (100%) rename examples/{USER => PACKAGES}/atc/drift_diffusion/in.convective_pulse (100%) rename examples/{USER => PACKAGES}/atc/drift_diffusion/in.ddm_schrodinger (100%) rename examples/{USER => PACKAGES}/atc/drift_diffusion/in.finite_well (100%) rename examples/{USER => PACKAGES}/atc/drift_diffusion/in.no_atoms_ddm (100%) rename examples/{USER => PACKAGES}/atc/drift_diffusion/in.null_material_ddm (100%) rename examples/{USER => PACKAGES}/atc/drift_diffusion/in.poisson1d_noatoms (100%) rename examples/{USER => PACKAGES}/atc/drift_diffusion/in.poisson2d_noatoms (100%) rename examples/{USER => PACKAGES}/atc/drift_diffusion/in.schrodinger-poisson2d_Jconstraint (100%) rename examples/{USER => PACKAGES}/atc/drift_diffusion/in.schrodinger-poisson2d_convective (100%) rename examples/{USER => PACKAGES}/atc/drift_diffusion/in.schrodinger-poisson2d_noatoms (100%) rename examples/{USER => PACKAGES}/atc/drift_diffusion/no_atoms_ddm.screen (100%) rename examples/{USER => PACKAGES}/atc/drift_diffusion/null_material_ddm.screen (100%) rename examples/{USER => PACKAGES}/atc/drift_diffusion/poisson1d_noatoms.screen (100%) rename examples/{USER => PACKAGES}/atc/drift_diffusion/poisson2d_noatoms.screen (100%) rename examples/{USER => PACKAGES}/atc/drift_diffusion/schrodinger-poisson2d_Jconstraint.screen (100%) rename examples/{USER => PACKAGES}/atc/drift_diffusion/schrodinger-poisson2d_convective.screen (100%) rename examples/{USER => PACKAGES}/atc/drift_diffusion/schrodinger-poisson2d_noatoms.screen (100%) rename examples/{USER => PACKAGES}/atc/elastic/Ar_CauchyBorn.mat (100%) rename examples/{USER => PACKAGES}/atc/elastic/Ar_CauchyBornLinear.mat (100%) rename examples/{USER => PACKAGES}/atc/elastic/Ar_damped.mat (100%) rename examples/{USER => PACKAGES}/atc/elastic/Ar_elastic.mat (100%) rename examples/{USER => PACKAGES}/atc/elastic/Ar_thermo_elastic.mat (100%) rename examples/{USER => PACKAGES}/atc/elastic/Au_elastic.mat (100%) rename examples/{USER => PACKAGES}/atc/elastic/CNT.mat (100%) rename examples/{USER => PACKAGES}/atc/elastic/CNT_electrostatic.mat (100%) rename examples/{USER => PACKAGES}/atc/elastic/CNT_electrostatic2.mat (100%) rename examples/{USER => PACKAGES}/atc/elastic/CNT_id.mat (100%) rename examples/{USER => PACKAGES}/atc/elastic/bar1d.screen (100%) rename examples/{USER => PACKAGES}/atc/elastic/bar1d_damped.screen (100%) rename examples/{USER => PACKAGES}/atc/elastic/bar1d_flux.screen (100%) rename examples/{USER => PACKAGES}/atc/elastic/bar1d_frac_step.screen (100%) rename examples/{USER => PACKAGES}/atc/elastic/bar1d_ghost_flux.screen (100%) rename examples/{USER => PACKAGES}/atc/elastic/bar1d_thermo_elastic.screen (100%) rename examples/{USER => PACKAGES}/atc/elastic/cnt_electrostatic.screen (100%) rename examples/{USER => PACKAGES}/atc/elastic/cnt_electrostatic2.screen (100%) rename examples/{USER => PACKAGES}/atc/elastic/cnt_fixed_charge.screen (100%) rename examples/{USER => PACKAGES}/atc/elastic/eam_energy.screen (100%) rename examples/{USER => PACKAGES}/atc/elastic/electron_density.screen (100%) rename examples/{USER => PACKAGES}/atc/elastic/electrostatic_bending.screen (100%) rename examples/{USER => PACKAGES}/atc/elastic/electrostatic_bending_dos.screen (100%) rename examples/{USER => PACKAGES}/atc/elastic/in.bar1d (100%) rename examples/{USER => PACKAGES}/atc/elastic/in.bar1d_damped (100%) rename examples/{USER => PACKAGES}/atc/elastic/in.bar1d_flux (100%) rename examples/{USER => PACKAGES}/atc/elastic/in.bar1d_frac_step (100%) rename examples/{USER => PACKAGES}/atc/elastic/in.bar1d_ghost_flux (100%) rename examples/{USER => PACKAGES}/atc/elastic/in.bar1d_thermo_elastic (100%) rename examples/{USER => PACKAGES}/atc/elastic/in.eam_energy (100%) rename examples/{USER => PACKAGES}/atc/elastic/in.electron_density (100%) rename examples/{USER => PACKAGES}/atc/elastic/in.no_atoms (100%) rename examples/{USER => PACKAGES}/atc/elastic/in.no_atoms_cb (100%) rename examples/{USER => PACKAGES}/atc/elastic/in.no_atoms_cb_linear (100%) rename examples/{USER => PACKAGES}/atc/elastic/no_atoms.screen (100%) rename examples/{USER => PACKAGES}/atc/elastic/no_atoms_cb.screen (100%) rename examples/{USER => PACKAGES}/atc/elastic/no_atoms_cb_linear.screen (100%) rename examples/{USER => PACKAGES}/atc/elastic/temp.init (100%) rename examples/{USER => PACKAGES}/atc/fluids/Ar_elastic.mat (100%) rename examples/{USER => PACKAGES}/atc/fluids/Ar_electrostatic.mat (100%) rename examples/{USER => PACKAGES}/atc/fluids/Ar_liquid.mat (100%) rename examples/{USER => PACKAGES}/atc/fluids/Ar_species.mat (100%) rename examples/{USER => PACKAGES}/atc/fluids/Ar_species_dl.mat (100%) rename examples/{USER => PACKAGES}/atc/fluids/Ar_thermal.mat (100%) rename examples/{USER => PACKAGES}/atc/fluids/Ar_visc_no_atoms.mat (100%) rename examples/{USER => PACKAGES}/atc/fluids/Ar_viscosity.mat (100%) rename examples/{USER => PACKAGES}/atc/fluids/bar1d_fluids.screen (100%) rename examples/{USER => PACKAGES}/atc/fluids/concentration.screen (100%) rename examples/{USER => PACKAGES}/atc/fluids/concentration_init.data (100%) rename examples/{USER => PACKAGES}/atc/fluids/conducting_interface.screen (100%) rename examples/{USER => PACKAGES}/atc/fluids/dielectric.mat (100%) rename examples/{USER => PACKAGES}/atc/fluids/dielectric_interface.screen (100%) rename examples/{USER => PACKAGES}/atc/fluids/double_layer.screen (100%) rename examples/{USER => PACKAGES}/atc/fluids/in.bar1d_fluids (100%) rename examples/{USER => PACKAGES}/atc/fluids/in.concentration (100%) rename examples/{USER => PACKAGES}/atc/fluids/in.conducting_interface (100%) rename examples/{USER => PACKAGES}/atc/fluids/in.dielectric_interface (100%) rename examples/{USER => PACKAGES}/atc/fluids/in.double_layer (100%) rename examples/{USER => PACKAGES}/atc/fluids/in.liquid_electrostatic (100%) rename examples/{USER => PACKAGES}/atc/fluids/in.opp_force (100%) rename examples/{USER => PACKAGES}/atc/fluids/in.poisson (100%) rename examples/{USER => PACKAGES}/atc/fluids/in.shear_flow (100%) rename examples/{USER => PACKAGES}/atc/fluids/in.shear_no_atoms (100%) rename examples/{USER => PACKAGES}/atc/fluids/interface_init.data (100%) rename examples/{USER => PACKAGES}/atc/fluids/liquid_electrostatic.screen (100%) rename examples/{USER => PACKAGES}/atc/fluids/opp_force.screen (100%) rename examples/{USER => PACKAGES}/atc/fluids/poisson.screen (100%) rename examples/{USER => PACKAGES}/atc/fluids/post_eq.init (100%) rename examples/{USER => PACKAGES}/atc/fluids/shear_flow.screen (100%) rename examples/{USER => PACKAGES}/atc/fluids/shear_no_atoms.screen (100%) rename examples/{USER => PACKAGES}/atc/fluids/temp.init (100%) rename examples/{USER => PACKAGES}/atc/fluids/velocities.init (100%) rename examples/{USER => PACKAGES}/atc/fluids/waternve.atm (100%) rename examples/{USER => PACKAGES}/atc/hardy/consistency.screen (100%) rename examples/{USER => PACKAGES}/atc/hardy/eam_kernel_convergence.screen (100%) rename examples/{USER => PACKAGES}/atc/hardy/eam_unistrain_cell.screen (100%) rename examples/{USER => PACKAGES}/atc/hardy/eam_unistrain_mesh.screen (100%) rename examples/{USER => PACKAGES}/atc/hardy/eam_unistrain_qcylinder.screen (100%) rename examples/{USER => PACKAGES}/atc/hardy/eam_unistrain_qsphere.screen (100%) rename examples/{USER => PACKAGES}/atc/hardy/eam_unistrain_step.screen (100%) rename examples/{USER => PACKAGES}/atc/hardy/eam_volume_stretch.screen (100%) rename examples/{USER => PACKAGES}/atc/hardy/eshelby_static.screen (100%) rename examples/{USER => PACKAGES}/atc/hardy/in.consistency (100%) rename examples/{USER => PACKAGES}/atc/hardy/in.eam_kernel_convergence (100%) rename examples/{USER => PACKAGES}/atc/hardy/in.eam_unistrain_cell (100%) rename examples/{USER => PACKAGES}/atc/hardy/in.eam_unistrain_mesh (100%) rename examples/{USER => PACKAGES}/atc/hardy/in.eam_unistrain_qcylinder (100%) rename examples/{USER => PACKAGES}/atc/hardy/in.eam_unistrain_qsphere (100%) rename examples/{USER => PACKAGES}/atc/hardy/in.eam_unistrain_step (100%) rename examples/{USER => PACKAGES}/atc/hardy/in.eam_volume_stretch (100%) rename examples/{USER => PACKAGES}/atc/hardy/in.eshelby_static (100%) rename examples/{USER => PACKAGES}/atc/hardy/in.nvt (100%) rename examples/{USER => PACKAGES}/atc/hardy/nvt.data (100%) rename examples/{USER => PACKAGES}/atc/hardy/nvt.init (100%) rename examples/{USER => PACKAGES}/atc/hardy/nvt.screen (100%) rename examples/{USER => PACKAGES}/atc/mesh/Ar_ttm.mat (100%) rename examples/{USER => PACKAGES}/atc/mesh/Si.mat (100%) rename examples/{USER => PACKAGES}/atc/mesh/circle_temp.init (100%) rename examples/{USER => PACKAGES}/atc/mesh/gaussianIC1d_hex.screen (100%) rename examples/{USER => PACKAGES}/atc/mesh/gaussianIC2d_hex.screen (100%) rename examples/{USER => PACKAGES}/atc/mesh/gaussianIC2d_hex20_uniform.screen (100%) rename examples/{USER => PACKAGES}/atc/mesh/gaussianIC2d_hex27_uniform.screen (100%) rename examples/{USER => PACKAGES}/atc/mesh/gaussianIC2d_hex_uniform.screen (100%) rename examples/{USER => PACKAGES}/atc/mesh/gaussianIC2d_tet.screen (100%) rename examples/{USER => PACKAGES}/atc/mesh/in.gaussianIC1d_hex (100%) rename examples/{USER => PACKAGES}/atc/mesh/in.gaussianIC2d_hex (100%) rename examples/{USER => PACKAGES}/atc/mesh/in.gaussianIC2d_hex20_uniform (100%) rename examples/{USER => PACKAGES}/atc/mesh/in.gaussianIC2d_hex27_uniform (100%) rename examples/{USER => PACKAGES}/atc/mesh/in.gaussianIC2d_tet (100%) rename examples/{USER => PACKAGES}/atc/mesh/in.kernel2d_hex (100%) rename examples/{USER => PACKAGES}/atc/mesh/in.kernel2d_tet (100%) rename examples/{USER => PACKAGES}/atc/mesh/in.mesh2d_tet (100%) rename examples/{USER => PACKAGES}/atc/mesh/in.semicircle (100%) rename examples/{USER => PACKAGES}/atc/mesh/kernel2d_hex.screen (100%) rename examples/{USER => PACKAGES}/atc/mesh/kernel2d_tet.screen (100%) rename examples/{USER => PACKAGES}/atc/mesh/mesh2d_tet.screen (100%) rename examples/{USER => PACKAGES}/atc/mesh/semicircle.init (100%) rename examples/{USER => PACKAGES}/atc/mesh/semicircle.screen (100%) rename examples/{USER => PACKAGES}/atc/mesh/si_semicircle.init (100%) rename examples/{USER => PACKAGES}/atc/mesh/temp.init (100%) rename examples/{USER => PACKAGES}/atc/molecule/harmonic_bonds.init (100%) rename examples/{USER => PACKAGES}/atc/molecule/harmonic_bonds.screen (100%) rename examples/{USER => PACKAGES}/atc/molecule/in.harmonic_bonds (100%) rename examples/{USER => PACKAGES}/atc/molecule/in.polarize (100%) rename examples/{USER => PACKAGES}/atc/molecule/in.quartic_bonds (100%) rename examples/{USER => PACKAGES}/atc/molecule/in.water (100%) rename examples/{USER => PACKAGES}/atc/molecule/polarize.screen (100%) rename examples/{USER => PACKAGES}/atc/molecule/quartic_bonds.data (100%) rename examples/{USER => PACKAGES}/atc/molecule/quartic_bonds.screen (100%) rename examples/{USER => PACKAGES}/atc/molecule/water.init (100%) rename examples/{USER => PACKAGES}/atc/molecule/water.mat (100%) rename examples/{USER => PACKAGES}/atc/molecule/water.screen (100%) rename examples/{USER => PACKAGES}/atc/molecule/waterequil.init (100%) rename examples/{USER => PACKAGES}/atc/thermal/Ar_thermal.mat (100%) rename examples/{USER => PACKAGES}/atc/thermal/all_atoms.init (100%) rename examples/{USER => PACKAGES}/atc/thermal/bar1d.screen (100%) rename examples/{USER => PACKAGES}/atc/thermal/bar1d_all_atoms.screen (100%) rename examples/{USER => PACKAGES}/atc/thermal/bar1d_combined.screen (100%) rename examples/{USER => PACKAGES}/atc/thermal/bar1d_flux.screen (100%) rename examples/{USER => PACKAGES}/atc/thermal/bar1d_frac_step.screen (100%) rename examples/{USER => PACKAGES}/atc/thermal/bar1d_hoover.screen (100%) rename examples/{USER => PACKAGES}/atc/thermal/bar1d_interpolate.screen (100%) rename examples/{USER => PACKAGES}/atc/thermal/bar1d_lumped.screen (100%) rename examples/{USER => PACKAGES}/atc/thermal/in.bar1d (100%) rename examples/{USER => PACKAGES}/atc/thermal/in.bar1d_all_atoms (100%) rename examples/{USER => PACKAGES}/atc/thermal/in.bar1d_combined (100%) rename examples/{USER => PACKAGES}/atc/thermal/in.bar1d_flux (100%) rename examples/{USER => PACKAGES}/atc/thermal/in.bar1d_frac_step (100%) rename examples/{USER => PACKAGES}/atc/thermal/in.bar1d_hoover (100%) rename examples/{USER => PACKAGES}/atc/thermal/in.bar1d_interpolate (100%) rename examples/{USER => PACKAGES}/atc/thermal/in.bar1d_lumped (100%) rename examples/{USER => PACKAGES}/atc/thermal/in.no_atoms (100%) rename examples/{USER => PACKAGES}/atc/thermal/no_atoms.screen (100%) rename examples/{USER => PACKAGES}/atc/thermal/temp.init (100%) rename examples/{USER => PACKAGES}/atc/two_temperature/Ar_ttm.mat (100%) rename examples/{USER => PACKAGES}/atc/two_temperature/Cu_ttm.mat (100%) rename examples/{USER => PACKAGES}/atc/two_temperature/bar1d_ttm.screen (100%) rename examples/{USER => PACKAGES}/atc/two_temperature/cutout.init (100%) rename examples/{USER => PACKAGES}/atc/two_temperature/cutout.screen (100%) rename examples/{USER => PACKAGES}/atc/two_temperature/gaussianIC_ttm.screen (100%) rename examples/{USER => PACKAGES}/atc/two_temperature/in.bar1d_ttm (100%) rename examples/{USER => PACKAGES}/atc/two_temperature/in.cutout (100%) rename examples/{USER => PACKAGES}/atc/two_temperature/in.gaussianIC_ttm (100%) rename examples/{USER => PACKAGES}/atc/two_temperature/in.no_atoms (100%) rename examples/{USER => PACKAGES}/atc/two_temperature/in.restart (100%) rename examples/{USER => PACKAGES}/atc/two_temperature/in.uniform_exchange (100%) rename examples/{USER => PACKAGES}/atc/two_temperature/in.uniform_heating (100%) rename examples/{USER => PACKAGES}/atc/two_temperature/no_atoms.screen (100%) rename examples/{USER => PACKAGES}/atc/two_temperature/restart.screen (100%) rename examples/{USER => PACKAGES}/atc/two_temperature/temp.init (100%) rename examples/{USER => PACKAGES}/atc/two_temperature/uniform_exchange.init (100%) rename examples/{USER => PACKAGES}/atc/two_temperature/uniform_exchange.screen (100%) rename examples/{USER => PACKAGES}/atc/two_temperature/uniform_heating.init (100%) rename examples/{USER => PACKAGES}/atc/two_temperature/uniform_heating.screen (100%) rename examples/{USER => PACKAGES}/awpmd/README (100%) rename examples/{USER => PACKAGES}/awpmd/data.h_atom (100%) rename examples/{USER => PACKAGES}/awpmd/data.h_molecule (100%) rename examples/{USER => PACKAGES}/awpmd/in.h_atom (100%) rename examples/{USER => PACKAGES}/awpmd/in.h_molecule (100%) rename examples/{USER => PACKAGES}/awpmd/log.27Nov18.h_atom.g++.1 (100%) rename examples/{USER => PACKAGES}/awpmd/log.27Nov18.h_atom.g++.4 (100%) rename examples/{USER => PACKAGES}/awpmd/log.27Nov18.h_molecule.g++.1 (100%) rename examples/{USER => PACKAGES}/awpmd/log.27Nov18.h_molecule.g++.4 (100%) rename examples/{USER => PACKAGES}/bocs/README (100%) rename examples/{USER => PACKAGES}/bocs/in.methanol (100%) rename examples/{USER => PACKAGES}/bocs/lammps_nb_MET-MET.table (100%) rename examples/{USER => PACKAGES}/bocs/log.27Nov18.methanol.g++.1 (100%) rename examples/{USER => PACKAGES}/bocs/log.27Nov18.methanol.g++.4 (100%) rename examples/{USER => PACKAGES}/bocs/methanol.data (100%) rename examples/{USER => PACKAGES}/brownian/2d_velocity/in2d.velocity (100%) rename examples/{USER => PACKAGES}/brownian/2d_velocity/log.11May2021.in2d_velocity.g++.1 (100%) rename examples/{USER => PACKAGES}/brownian/2d_velocity/log.11May2021.in2d_velocity.g++.4 (100%) rename examples/{USER => PACKAGES}/brownian/asphere/in2d.ellipsoid (100%) rename examples/{USER => PACKAGES}/brownian/asphere/in3d.ellipsoid (100%) rename examples/{USER => PACKAGES}/brownian/asphere/log.11May2021.in2d.ellipsoid.g++.1 (100%) rename examples/{USER => PACKAGES}/brownian/asphere/log.11May2021.in2d.ellipsoid.g++.4 (100%) rename examples/{USER => PACKAGES}/brownian/asphere/log.11May2021.in3d.ellipsoid.g++.1 (100%) rename examples/{USER => PACKAGES}/brownian/asphere/log.11May2021.in3d.ellipsoid.g++.4 (100%) rename examples/{USER => PACKAGES}/brownian/point/in2d.point (100%) rename examples/{USER => PACKAGES}/brownian/point/in3d.point (100%) rename examples/{USER => PACKAGES}/brownian/point/log.11May2021.in2d.point.g++.1 (100%) rename examples/{USER => PACKAGES}/brownian/point/log.11May2021.in2d.point.g++.4 (100%) rename examples/{USER => PACKAGES}/brownian/point/log.11May2021.in3d.point.g++.1 (100%) rename examples/{USER => PACKAGES}/brownian/point/log.11May2021.in3d.point.g++.4 (100%) rename examples/{USER => PACKAGES}/brownian/sphere/in2d.sphere (100%) rename examples/{USER => PACKAGES}/brownian/sphere/in3d.sphere (100%) rename examples/{USER => PACKAGES}/brownian/sphere/log.11May2021.in2d.sphere.g++.1 (100%) rename examples/{USER => PACKAGES}/brownian/sphere/log.11May2021.in2d.sphere.g++.4 (100%) rename examples/{USER => PACKAGES}/brownian/sphere/log.11May2021.in3d.sphere.g++.1 (100%) rename examples/{USER => PACKAGES}/brownian/sphere/log.11May2021.in3d.sphere.g++.4 (100%) rename examples/{USER => PACKAGES}/brownian/spherical_ABP/in2d.abp (100%) rename examples/{USER => PACKAGES}/brownian/spherical_ABP/in3d.ideal_abp (100%) rename examples/{USER => PACKAGES}/brownian/spherical_ABP/log.11May2021.in2d.apb.g++.1 (100%) rename examples/{USER => PACKAGES}/brownian/spherical_ABP/log.11May2021.in2d.apb.g++.4 (100%) rename examples/{USER => PACKAGES}/brownian/spherical_ABP/log.11May2021.in3d.ideal_apb.g++.1 (100%) rename examples/{USER => PACKAGES}/brownian/spherical_ABP/log.11May2021.in3d.ideal_apb.g++.4 (100%) rename examples/{USER => PACKAGES}/cgdna/README (100%) rename examples/{USER => PACKAGES}/cgdna/examples/oxDNA/duplex1/data.duplex1 (100%) rename examples/{USER => PACKAGES}/cgdna/examples/oxDNA/duplex1/in.duplex1 (100%) rename examples/{USER => PACKAGES}/cgdna/examples/oxDNA/duplex1/log.30Jun20.duplex1.g++.1 (100%) rename examples/{USER => PACKAGES}/cgdna/examples/oxDNA/duplex1/log.30Jun20.duplex1.g++.4 (100%) rename examples/{USER => PACKAGES}/cgdna/examples/oxDNA/duplex2/data.duplex2 (100%) rename examples/{USER => PACKAGES}/cgdna/examples/oxDNA/duplex2/in.duplex2 (100%) rename examples/{USER => PACKAGES}/cgdna/examples/oxDNA/duplex2/log.30Jun20.duplex2.g++.1 (100%) rename examples/{USER => PACKAGES}/cgdna/examples/oxDNA/duplex2/log.30Jun20.duplex2.g++.4 (100%) rename examples/{USER => PACKAGES}/cgdna/examples/oxDNA2/duplex1/data.duplex1 (100%) rename examples/{USER => PACKAGES}/cgdna/examples/oxDNA2/duplex1/in.duplex1 (100%) rename examples/{USER => PACKAGES}/cgdna/examples/oxDNA2/duplex1/log.30Jun20.duplex1.g++.1 (100%) rename examples/{USER => PACKAGES}/cgdna/examples/oxDNA2/duplex1/log.30Jun20.duplex1.g++.4 (100%) rename examples/{USER => PACKAGES}/cgdna/examples/oxDNA2/duplex2/data.duplex2 (100%) rename examples/{USER => PACKAGES}/cgdna/examples/oxDNA2/duplex2/in.duplex2 (100%) rename examples/{USER => PACKAGES}/cgdna/examples/oxDNA2/duplex2/log.30Jun20.duplex2.g++.1 (100%) rename examples/{USER => PACKAGES}/cgdna/examples/oxDNA2/duplex2/log.30Jun20.duplex2.g++.4 (100%) rename examples/{USER => PACKAGES}/cgdna/examples/oxDNA2/duplex3/data.duplex3 (100%) rename examples/{USER => PACKAGES}/cgdna/examples/oxDNA2/duplex3/in.duplex3 (100%) rename examples/{USER => PACKAGES}/cgdna/examples/oxDNA2/duplex3/log.30Jun20.duplex3.g++.1 (100%) rename examples/{USER => PACKAGES}/cgdna/examples/oxDNA2/duplex3/log.30Jun20.duplex3.g++.4 (100%) rename examples/{USER => PACKAGES}/cgdna/examples/oxDNA2/unique_bp/data.duplex4.4type (100%) rename examples/{USER => PACKAGES}/cgdna/examples/oxDNA2/unique_bp/data.duplex4.8type (100%) rename examples/{USER => PACKAGES}/cgdna/examples/oxDNA2/unique_bp/generate_unique.py (100%) rename examples/{USER => PACKAGES}/cgdna/examples/oxDNA2/unique_bp/in.duplex4.4type (100%) rename examples/{USER => PACKAGES}/cgdna/examples/oxDNA2/unique_bp/in.duplex4.8type (100%) rename examples/{USER => PACKAGES}/cgdna/examples/oxDNA2/unique_bp/log.30Jun20.duplex4.4type.g++1 (100%) rename examples/{USER => PACKAGES}/cgdna/examples/oxDNA2/unique_bp/log.30Jun20.duplex4.4type.g++4 (100%) rename examples/{USER => PACKAGES}/cgdna/examples/oxDNA2/unique_bp/log.30Jun20.duplex4.8type.g++1 (100%) rename examples/{USER => PACKAGES}/cgdna/examples/oxDNA2/unique_bp/log.30Jun20.duplex4.8type.g++4 (100%) rename examples/{USER => PACKAGES}/cgdna/examples/oxRNA2/duplex4/data.duplex4 (100%) rename examples/{USER => PACKAGES}/cgdna/examples/oxRNA2/duplex4/in.duplex4 (100%) rename examples/{USER => PACKAGES}/cgdna/examples/oxRNA2/duplex4/log.30Jun20.duplex4.g++.1 (100%) rename examples/{USER => PACKAGES}/cgdna/examples/oxRNA2/duplex4/log.30Jun20.duplex4.g++.4 (100%) rename examples/{USER => PACKAGES}/cgdna/util/generate.py (100%) rename examples/{USER => PACKAGES}/cgdna/util/generate_simple.py (100%) rename examples/{USER => PACKAGES}/cgdna/util/input.ref (100%) rename examples/{USER => PACKAGES}/cgdna/util/sequence.txt (100%) rename examples/{USER => PACKAGES}/cgdna/util/sequence_simple.txt (100%) rename examples/{USER => PACKAGES}/cgsdk/README (100%) rename examples/{USER => PACKAGES}/cgsdk/peg-verlet/data.pegc12e8.gz (100%) rename examples/{USER => PACKAGES}/cgsdk/peg-verlet/in.pegc12e8 (100%) rename examples/{USER => PACKAGES}/cgsdk/peg-verlet/in.pegc12e8-angle (100%) rename examples/{USER => PACKAGES}/cgsdk/peg-verlet/log.27Nov18.pegc12e8-angle.g++.1 (100%) rename examples/{USER => PACKAGES}/cgsdk/peg-verlet/log.27Nov18.pegc12e8-angle.g++.4 (100%) rename examples/{USER => PACKAGES}/cgsdk/peg-verlet/log.27Nov18.pegc12e8.g++.1 (100%) rename examples/{USER => PACKAGES}/cgsdk/peg-verlet/log.27Nov18.pegc12e8.g++.4 (100%) rename examples/{USER => PACKAGES}/cgsdk/sds-monolayer/data.sds.gz (100%) rename examples/{USER => PACKAGES}/cgsdk/sds-monolayer/in.sds-hybrid (100%) rename examples/{USER => PACKAGES}/cgsdk/sds-monolayer/in.sds-regular (100%) rename examples/{USER => PACKAGES}/cgsdk/sds-monolayer/log.27Nov18.sds-hybrid.g++.1 (100%) rename examples/{USER => PACKAGES}/cgsdk/sds-monolayer/log.27Nov18.sds-hybrid.g++.4 (100%) rename examples/{USER => PACKAGES}/cgsdk/sds-monolayer/log.27Nov18.sds-regular.g++.1 (100%) rename examples/{USER => PACKAGES}/cgsdk/sds-monolayer/log.27Nov18.sds-regular.g++.4 (100%) rename examples/{USER/misc/temper_npt => PACKAGES/colvars}/data.peptide (100%) rename examples/{USER => PACKAGES}/colvars/in.peptide-colvars (100%) rename examples/{USER => PACKAGES}/colvars/in.peptide-colvars2 (100%) rename examples/{USER => PACKAGES}/colvars/in.peptide-spring (100%) rename examples/{USER => PACKAGES}/colvars/in.peptide-spring2 (100%) rename examples/{USER => PACKAGES}/colvars/log.27Nov18.peptide-colvars.g++.1 (100%) rename examples/{USER => PACKAGES}/colvars/log.27Nov18.peptide-colvars.g++.4 (100%) rename examples/{USER => PACKAGES}/colvars/log.27Nov18.peptide-colvars2.g++.1 (100%) rename examples/{USER => PACKAGES}/colvars/log.27Nov18.peptide-colvars2.g++.4 (100%) rename examples/{USER => PACKAGES}/colvars/log.27Nov18.peptide-spring.g++.1 (100%) rename examples/{USER => PACKAGES}/colvars/log.27Nov18.peptide-spring.g++.4 (100%) rename examples/{USER => PACKAGES}/colvars/log.27Nov18.peptide-spring2.g++.1 (100%) rename examples/{USER => PACKAGES}/colvars/log.27Nov18.peptide-spring2.g++.4 (100%) rename examples/{USER => PACKAGES}/colvars/out.colvars.state (100%) rename examples/{USER => PACKAGES}/colvars/out.colvars.state.old (100%) rename examples/{USER => PACKAGES}/colvars/out.colvars.traj (100%) rename examples/{USER => PACKAGES}/colvars/out2.colvars.state (100%) rename examples/{USER => PACKAGES}/colvars/out2.colvars.traj (100%) rename examples/{USER => PACKAGES}/colvars/peptide.colvars (100%) rename examples/{USER => PACKAGES}/colvars/peptide.colvars2 (100%) rename examples/{USER => PACKAGES}/colvars/peptide.psf (100%) rename examples/{USER => PACKAGES}/colvars/peptide2.colvars.state (100%) rename examples/{USER => PACKAGES}/colvars/peptide2.colvars.traj (100%) rename examples/{USER => PACKAGES}/dielectric/README (100%) rename examples/{USER => PACKAGES}/dielectric/data.confined (100%) rename examples/{USER => PACKAGES}/dielectric/data.sphere (100%) rename examples/{USER => PACKAGES}/dielectric/in.confined (100%) rename examples/{USER => PACKAGES}/dielectric/in.nopbc (100%) rename examples/{USER => PACKAGES}/diffraction/Output/bulkNi.hist.xrd.correct (100%) rename examples/{USER => PACKAGES}/diffraction/Output/bulkNi.log.correct (100%) rename examples/{USER => PACKAGES}/diffraction/Output/bulkNi_001.saed.0.vtk.correct (100%) rename examples/{USER => PACKAGES}/diffraction/Output/bulkNi_001.saed.0_VisIt_Image.png (100%) rename examples/{USER => PACKAGES}/diffraction/Output/log.cite (100%) rename examples/{USER => PACKAGES}/diffraction/README (100%) rename examples/{USER => PACKAGES}/diffraction/in.BulkNi (100%) rename examples/{USER => PACKAGES}/diffraction/log.27Nov18.BulkNi.g++.1 (100%) rename examples/{USER => PACKAGES}/diffraction/log.27Nov18.BulkNi.g++.4 (100%) rename examples/{USER => PACKAGES}/dpd/README (100%) rename examples/{USER => PACKAGES}/dpd/dpd-shardlow/data.dpd (100%) rename examples/{USER => PACKAGES}/dpd/dpd-shardlow/in.dpd-shardlow (100%) rename examples/{USER => PACKAGES}/dpd/dpd-shardlow/log.dpd-shardlow.reference (100%) rename examples/{USER => PACKAGES}/dpd/dpd-vv/data.dpd (100%) rename examples/{USER => PACKAGES}/dpd/dpd-vv/in.dpd-vv (100%) rename examples/{USER => PACKAGES}/dpd/dpd-vv/log.dpd-vv.reference (100%) rename examples/{USER => PACKAGES}/dpd/dpde-shardlow/data.dpde (100%) rename examples/{USER => PACKAGES}/dpd/dpde-shardlow/in.dpde-shardlow (100%) rename examples/{USER => PACKAGES}/dpd/dpde-shardlow/log.dpde-shardlow.reference (100%) rename examples/{USER => PACKAGES}/dpd/dpde-vv/data.dpd (100%) rename examples/{USER => PACKAGES}/dpd/dpde-vv/in.dpde-vv (100%) rename examples/{USER => PACKAGES}/dpd/dpde-vv/log.dpde-vv.reference (100%) rename examples/{USER => PACKAGES}/dpd/dpdh-shardlow/data.dpdh (100%) rename examples/{USER => PACKAGES}/dpd/dpdh-shardlow/in.dpdh-shardlow (100%) rename examples/{USER => PACKAGES}/dpd/dpdh-shardlow/log.dpdh-shardlow.reference (100%) rename examples/{USER => PACKAGES}/dpd/dpdp-shardlow/data.dpd (100%) rename examples/{USER => PACKAGES}/dpd/dpdp-shardlow/in.dpdp-shardlow (100%) rename examples/{USER => PACKAGES}/dpd/dpdp-shardlow/log.dpdp-shardlow.reference (100%) rename examples/{USER => PACKAGES}/dpd/dpdrx-shardlow/in.dpdrx-shardlow (100%) rename examples/{USER => PACKAGES}/dpd/dpdrx-shardlow/kinetics.dpdrx (100%) rename examples/{USER => PACKAGES}/dpd/dpdrx-shardlow/log.dpdrx-shardlow.reference (100%) rename examples/{USER => PACKAGES}/dpd/dpdrx-shardlow/params.exp6 (100%) rename examples/{USER => PACKAGES}/dpd/dpdrx-shardlow/table.eos (100%) rename examples/{USER => PACKAGES}/dpd/dpdrx-shardlow/thermo.dpdrx (100%) rename examples/{USER => PACKAGES}/dpd/multi-lucy/in.multi-lucy (100%) rename examples/{USER => PACKAGES}/dpd/multi-lucy/log.multi-lucy.reference (100%) rename examples/{USER => PACKAGES}/dpd/multi-lucy/table.multibody (100%) rename examples/{USER => PACKAGES}/drude/README (100%) rename examples/{USER => PACKAGES}/drude/butane/data.butane (100%) rename examples/{USER => PACKAGES}/drude/butane/in.butane.lang (100%) rename examples/{USER => PACKAGES}/drude/butane/in.butane.nh (100%) rename examples/{USER => PACKAGES}/drude/butane/in.butane.tgnh (100%) rename examples/{USER => PACKAGES}/drude/butane/log.12Nov20.butane.tgnh.g++.1 (100%) rename examples/{USER => PACKAGES}/drude/butane/log.12Nov20.butane.tgnh.g++.4 (100%) rename examples/{USER => PACKAGES}/drude/butane/log.27Nov18.butane.lang.g++.1 (100%) rename examples/{USER => PACKAGES}/drude/butane/log.27Nov18.butane.lang.g++.4 (100%) rename examples/{USER => PACKAGES}/drude/butane/log.27Nov18.butane.nh.g++.1 (100%) rename examples/{USER => PACKAGES}/drude/butane/log.27Nov18.butane.nh.g++.4 (100%) rename examples/{USER => PACKAGES}/drude/ethanol/data.ethanol (100%) rename examples/{USER => PACKAGES}/drude/ethanol/in.ethanol.lang (100%) rename examples/{USER => PACKAGES}/drude/ethanol/in.ethanol.nh (100%) rename examples/{USER => PACKAGES}/drude/ethanol/in.ethanol.tgnh (100%) rename examples/{USER => PACKAGES}/drude/ethanol/log.12Nov20.ethanol.tgnh.g++.1 (100%) rename examples/{USER => PACKAGES}/drude/ethanol/log.12Nov20.ethanol.tgnh.g++.4 (100%) rename examples/{USER => PACKAGES}/drude/ethanol/log.27Nov18.ethanol.lang.g++.1 (100%) rename examples/{USER => PACKAGES}/drude/ethanol/log.27Nov18.ethanol.lang.g++.4 (100%) rename examples/{USER => PACKAGES}/drude/ethanol/log.27Nov18.ethanol.nh.g++.1 (100%) rename examples/{USER => PACKAGES}/drude/ethanol/log.27Nov18.ethanol.nh.g++.4 (100%) rename examples/{USER => PACKAGES}/drude/ethylene_glycol/data.ethylene_glycol (100%) rename examples/{USER => PACKAGES}/drude/ethylene_glycol/in.ethylene_glycol (100%) rename examples/{USER => PACKAGES}/drude/ethylene_glycol/log.18Sep20.ethylene_glycol.g++.1 (100%) rename examples/{USER => PACKAGES}/drude/ethylene_glycol/log.18Sep20.ethylene_glycol.g++.4 (100%) rename examples/{USER => PACKAGES}/drude/swm4-ndp/data.swm4-ndp (100%) rename examples/{USER => PACKAGES}/drude/swm4-ndp/in.swm4-ndp.lang (100%) rename examples/{USER => PACKAGES}/drude/swm4-ndp/in.swm4-ndp.nh (100%) rename examples/{USER => PACKAGES}/drude/swm4-ndp/log.27Nov18.swm4-ndp.lang.g++.1 (100%) rename examples/{USER => PACKAGES}/drude/swm4-ndp/log.27Nov18.swm4-ndp.lang.g++.4 (100%) rename examples/{USER => PACKAGES}/drude/swm4-ndp/log.27Nov18.swm4-ndp.nh.g++.1 (100%) rename examples/{USER => PACKAGES}/drude/swm4-ndp/log.27Nov18.swm4-ndp.nh.g++.4 (100%) rename examples/{USER => PACKAGES}/drude/toluene/data.toluene (100%) rename examples/{USER => PACKAGES}/drude/toluene/in.toluene.lang (100%) rename examples/{USER => PACKAGES}/drude/toluene/in.toluene.nh (100%) rename examples/{USER => PACKAGES}/drude/toluene/log.7Aug19.toluene.lang.g++.1 (100%) rename examples/{USER => PACKAGES}/drude/toluene/log.7Aug19.toluene.lang.g++.4 (100%) rename examples/{USER => PACKAGES}/drude/toluene/log.7Aug19.toluene.nh.g++.1 (100%) rename examples/{USER => PACKAGES}/drude/toluene/log.7Aug19.toluene.nh.g++.4 (100%) rename examples/{USER => PACKAGES}/eff/Auger-Adamantane/README (100%) rename examples/{USER => PACKAGES}/eff/Auger-Adamantane/data.adamantane (100%) rename examples/{USER => PACKAGES}/eff/Auger-Adamantane/data.adamantane_ionized (100%) rename examples/{USER => PACKAGES}/eff/Auger-Adamantane/in.adamantane_ionized.nve (100%) rename examples/{USER => PACKAGES}/eff/Be-solid/README (100%) rename examples/{USER => PACKAGES}/eff/Be-solid/data.Be-solid (100%) rename examples/{USER => PACKAGES}/eff/Be-solid/in.Be-solid.spe (100%) rename examples/{USER => PACKAGES}/eff/CH4/README (100%) rename examples/{USER => PACKAGES}/eff/CH4/data.ch4 (100%) rename examples/{USER => PACKAGES}/eff/CH4/data.ch4_ionized (100%) rename examples/{USER => PACKAGES}/eff/CH4/in.ch4.dynamics (100%) rename examples/{USER => PACKAGES}/eff/CH4/in.ch4.min (100%) rename examples/{USER => PACKAGES}/eff/CH4/in.ch4_ionized.dynamics (100%) rename examples/{USER => PACKAGES}/eff/ECP/README (100%) rename examples/{USER => PACKAGES}/eff/ECP/Si2H6/data.Si2H6 (100%) rename examples/{USER => PACKAGES}/eff/ECP/Si2H6/data.Si2H6.ang (100%) rename examples/{USER => PACKAGES}/eff/ECP/Si2H6/in.Si2H6 (100%) rename examples/{USER => PACKAGES}/eff/ECP/Si2H6/in.Si2H6.ang (100%) rename examples/{USER => PACKAGES}/eff/ECP/SiC/bulk/data.SiC (100%) rename examples/{USER => PACKAGES}/eff/ECP/SiC/bulk/in.SiC (100%) rename examples/{USER => PACKAGES}/eff/ECP/SiH4/data.SiH4 (100%) rename examples/{USER => PACKAGES}/eff/ECP/SiH4/data.SiH4.ang (100%) rename examples/{USER => PACKAGES}/eff/ECP/SiH4/in.SiH4 (100%) rename examples/{USER => PACKAGES}/eff/ECP/SiH4/in.SiH4.ang (100%) rename examples/{USER => PACKAGES}/eff/H/README (100%) rename examples/{USER => PACKAGES}/eff/H/data.h_atom.ang (100%) rename examples/{USER => PACKAGES}/eff/H/data.h_atom.bohr (100%) rename examples/{USER => PACKAGES}/eff/H/in.h_atom.spe.ang (100%) rename examples/{USER => PACKAGES}/eff/H/in.h_atom.spe.bohr (100%) rename examples/{USER => PACKAGES}/eff/H2/README (100%) rename examples/{USER => PACKAGES}/eff/H2/data.h2 (100%) rename examples/{USER => PACKAGES}/eff/H2/in.h2 (100%) rename examples/{USER => PACKAGES}/eff/H_plasma/README (100%) rename examples/{USER => PACKAGES}/eff/H_plasma/data.h2bulk (100%) rename examples/{USER => PACKAGES}/eff/H_plasma/data.h2bulk.ang (100%) rename examples/{USER => PACKAGES}/eff/H_plasma/in.h2bulk.npt (100%) rename examples/{USER => PACKAGES}/eff/H_plasma/in.h2bulk.nve (100%) rename examples/{USER => PACKAGES}/eff/H_plasma/in.h2bulk.nve.ang (100%) rename examples/{USER => PACKAGES}/eff/Li-dendritic/README (100%) rename examples/{USER => PACKAGES}/eff/Li-dendritic/data.Li-dendritic (100%) rename examples/{USER => PACKAGES}/eff/Li-dendritic/in.Li-dendritic.min (100%) rename examples/{USER => PACKAGES}/eff/Li-dendritic/in.Li-dendritic.nvt (100%) rename examples/{USER => PACKAGES}/eff/Li-solid/README (100%) rename examples/{USER => PACKAGES}/eff/Li-solid/data.Li.ang (100%) rename examples/{USER => PACKAGES}/eff/Li-solid/data.Li.bohr (100%) rename examples/{USER => PACKAGES}/eff/Li-solid/in.Li.ang (100%) rename examples/{USER => PACKAGES}/eff/Li-solid/in.Li.bohr (100%) rename examples/{USER => PACKAGES}/eff/README (100%) rename examples/{USER => PACKAGES}/eff/fixed-core/C2H6/data.C2H6fc.ang (100%) rename examples/{USER => PACKAGES}/eff/fixed-core/C2H6/data.C2H6fc.bohr (100%) rename examples/{USER => PACKAGES}/eff/fixed-core/C2H6/in.C2H6fc.ang (100%) rename examples/{USER => PACKAGES}/eff/fixed-core/C2H6/in.C2H6fc.bohr (100%) rename examples/{USER => PACKAGES}/eff/fixed-core/CH4/data.CH4fc.ang (100%) rename examples/{USER => PACKAGES}/eff/fixed-core/CH4/data.CH4fc.bohr (100%) rename examples/{USER => PACKAGES}/eff/fixed-core/CH4/in.CH4fc.ang (100%) rename examples/{USER => PACKAGES}/eff/fixed-core/CH4/in.CH4fc.bohr (100%) rename examples/{USER => PACKAGES}/eff/fixed-core/CH4/in.CH4fc.spe.ang (100%) rename examples/{USER => PACKAGES}/eff/fixed-core/CH4/in.CH4fc.spe.bohr (100%) rename examples/{USER => PACKAGES}/eff/fixed-core/README (100%) rename examples/{USER => PACKAGES}/fep/C7inEthanol/fep01/data.init_conf_with_heptane (100%) rename examples/{USER => PACKAGES}/fep/C7inEthanol/fep01/in.insertion (100%) rename examples/{USER => PACKAGES}/fep/C7inEthanol/fep01/log.insertion (100%) rename examples/{USER => PACKAGES}/fep/C7inEthanol/fep10/data.init_conf_with_heptane (100%) rename examples/{USER => PACKAGES}/fep/C7inEthanol/fep10/in.deletion (100%) rename examples/{USER => PACKAGES}/fep/C7inEthanol/fep10/log.deletion (100%) rename examples/{USER => PACKAGES}/fep/CC-CO/README.md (100%) rename examples/{USER => PACKAGES}/fep/CC-CO/fep01/fep01.fep (100%) rename examples/{USER => PACKAGES}/fep/CC-CO/fep01/in.fep01.lmp (100%) rename examples/{USER => PACKAGES}/fep/CC-CO/fep01/log.fep01 (100%) rename examples/{USER => PACKAGES}/fep/CC-CO/fep10/fep10.fep (100%) rename examples/{USER => PACKAGES}/fep/CC-CO/fep10/in.fep10.lmp (100%) rename examples/{USER => PACKAGES}/fep/CC-CO/fep10/log.fep10 (100%) rename examples/{USER => PACKAGES}/fep/CC-CO/mols/CC-CO.ff (100%) rename examples/{USER => PACKAGES}/fep/CC-CO/mols/CC-CO.zmat (100%) rename examples/{USER => PACKAGES}/fep/CC-CO/mols/CO-CC.zmat (100%) rename examples/{USER => PACKAGES}/fep/CC-CO/mols/README (100%) rename examples/{USER => PACKAGES}/fep/CC-CO/mols/data.0.lmp (100%) rename examples/{USER => PACKAGES}/fep/CC-CO/mols/data.1.lmp (100%) rename examples/{USER => PACKAGES}/fep/CC-CO/mols/spce.ff (100%) rename examples/{USER => PACKAGES}/fep/CC-CO/mols/spce.zmat (100%) rename examples/{USER => PACKAGES}/fep/CH4-CF4/README.md (100%) rename examples/{USER => PACKAGES}/fep/CH4-CF4/bar01/bar01.fep (100%) rename examples/{USER => PACKAGES}/fep/CH4-CF4/bar01/in.bar01.lmp (100%) rename examples/{USER => PACKAGES}/fep/CH4-CF4/bar01/log.bar01 (100%) rename examples/{USER => PACKAGES}/fep/CH4-CF4/bar10/bar10.fep (100%) rename examples/{USER => PACKAGES}/fep/CH4-CF4/bar10/in.bar10.lmp (100%) rename examples/{USER => PACKAGES}/fep/CH4-CF4/bar10/log.ber10 (100%) rename examples/{USER => PACKAGES}/fep/CH4-CF4/fep01/fep01.fep (100%) rename examples/{USER => PACKAGES}/fep/CH4-CF4/fep01/in.fep01.lmp (100%) rename examples/{USER => PACKAGES}/fep/CH4-CF4/fep01/log.fep01 (100%) rename examples/{USER => PACKAGES}/fep/CH4-CF4/fep10/fep10.fep (100%) rename examples/{USER => PACKAGES}/fep/CH4-CF4/fep10/in.fep10.lmp (100%) rename examples/{USER => PACKAGES}/fep/CH4-CF4/fep10/log.fep01 (100%) rename examples/{USER => PACKAGES}/fep/CH4-CF4/mols/CF4-CH4.zmat (100%) rename examples/{USER => PACKAGES}/fep/CH4-CF4/mols/CH4-CF4.ff (100%) rename examples/{USER => PACKAGES}/fep/CH4-CF4/mols/CH4-CF4.zmat (100%) rename examples/{USER => PACKAGES}/fep/CH4-CF4/mols/data.0.lmp (100%) rename examples/{USER => PACKAGES}/fep/CH4-CF4/mols/data.1.lmp (100%) rename examples/{USER => PACKAGES}/fep/CH4-CF4/mols/spce.ff (100%) rename examples/{USER => PACKAGES}/fep/CH4-CF4/mols/spce.zmat (100%) rename examples/{USER => PACKAGES}/fep/CH4hyd/README.md (100%) rename examples/{USER => PACKAGES}/fep/CH4hyd/fdti01/fdti01.fep (100%) rename examples/{USER => PACKAGES}/fep/CH4hyd/fdti01/in.fdti01.lmp (100%) rename examples/{USER => PACKAGES}/fep/CH4hyd/fdti01/log.fdti01 (100%) rename examples/{USER => PACKAGES}/fep/CH4hyd/fdti10/fdti10.fep (100%) rename examples/{USER => PACKAGES}/fep/CH4hyd/fdti10/in.fdti10.lmp (100%) rename examples/{USER => PACKAGES}/fep/CH4hyd/fdti10/log.fdti10 (100%) rename examples/{USER => PACKAGES}/fep/CH4hyd/fep01/fep01.fep (100%) rename examples/{USER => PACKAGES}/fep/CH4hyd/fep01/in.fep01.lmp (100%) rename examples/{USER => PACKAGES}/fep/CH4hyd/fep01/log.fep01 (100%) rename examples/{USER => PACKAGES}/fep/CH4hyd/fep10/fep10.fep (100%) rename examples/{USER => PACKAGES}/fep/CH4hyd/fep10/in.fep10.lmp (100%) rename examples/{USER => PACKAGES}/fep/CH4hyd/fep10/log.fep10 (100%) rename examples/{USER => PACKAGES}/fep/CH4hyd/mols/data.lmp (100%) rename examples/{USER => PACKAGES}/fep/CH4hyd/mols/methane.zmat (100%) rename examples/{USER => PACKAGES}/fep/CH4hyd/mols/oplsaa.ff (100%) rename examples/{USER => PACKAGES}/fep/CH4hyd/mols/tip4pew.ff (100%) rename examples/{USER => PACKAGES}/fep/CH4hyd/mols/tip4pew.zmat (100%) rename examples/{USER => PACKAGES}/fep/README.md (100%) rename examples/{USER => PACKAGES}/fep/SPCEhyd/README.md (100%) rename examples/{USER => PACKAGES}/fep/SPCEhyd/fep01/fep01-lj.fep (100%) rename examples/{USER => PACKAGES}/fep/SPCEhyd/fep01/fep01-lj.out (100%) rename examples/{USER => PACKAGES}/fep/SPCEhyd/fep01/fep01-q.fep (100%) rename examples/{USER => PACKAGES}/fep/SPCEhyd/fep01/fep01-q.out (100%) rename examples/{USER => PACKAGES}/fep/SPCEhyd/fep01/in-fep01-lj.lmp (100%) rename examples/{USER => PACKAGES}/fep/SPCEhyd/fep01/in-fep01-q.lmp (100%) rename examples/{USER => PACKAGES}/fep/SPCEhyd/fep10/fep10-lj.fep (100%) rename examples/{USER => PACKAGES}/fep/SPCEhyd/fep10/fep10-lj.out (100%) rename examples/{USER => PACKAGES}/fep/SPCEhyd/fep10/fep10-q.fep (100%) rename examples/{USER => PACKAGES}/fep/SPCEhyd/fep10/fep10-q.out (100%) rename examples/{USER => PACKAGES}/fep/SPCEhyd/fep10/in-fep10-lj.lmp (100%) rename examples/{USER => PACKAGES}/fep/SPCEhyd/fep10/in-fep10-q.lmp (100%) rename examples/{USER => PACKAGES}/fep/SPCEhyd/mols/data.lmp (100%) rename examples/{USER => PACKAGES}/fep/SPCEhyd/mols/spce.ff (100%) rename examples/{USER => PACKAGES}/fep/SPCEhyd/mols/spce.zmat (100%) rename examples/{USER => PACKAGES}/fep/SPCEhyd/mols/spce_h.ff (100%) rename examples/{USER => PACKAGES}/fep/SPCEhyd/mols/spce_h.zmat (100%) rename examples/{USER => PACKAGES}/fep/quicktests/in_adapt.lmp (100%) rename examples/{USER => PACKAGES}/fep/quicktests/in_fep_soft.lmp (100%) rename examples/{USER => PACKAGES}/fep/quicktests/log.adapt (100%) rename examples/{USER => PACKAGES}/fep/quicktests/log.fep_soft (100%) rename examples/{USER => PACKAGES}/hdnnp/data.H2O-360mol (100%) rename examples/{USER => PACKAGES}/hdnnp/hdnnp-data/input.nn (100%) rename examples/{USER => PACKAGES}/hdnnp/hdnnp-data/scaling.data (100%) rename examples/{USER => PACKAGES}/hdnnp/hdnnp-data/weights.001.data (100%) rename examples/{USER => PACKAGES}/hdnnp/hdnnp-data/weights.008.data (100%) rename examples/{USER => PACKAGES}/hdnnp/in.hdnnp (100%) rename examples/{USER => PACKAGES}/lb/confined_colloid/in.confined_colloids (100%) rename examples/{USER => PACKAGES}/lb/confined_colloid/results64.out (100%) rename examples/{USER => PACKAGES}/lb/dragforce/data.one_radius16d2 (100%) rename examples/{USER => PACKAGES}/lb/dragforce/defaultgamma_drag.out (100%) rename examples/{USER => PACKAGES}/lb/dragforce/in.defaultgamma_drag (100%) rename examples/{USER => PACKAGES}/lb/dragforce/in.setgamma_drag (100%) rename examples/{USER => PACKAGES}/lb/dragforce/setgamma13d0_drag.out (100%) rename examples/{USER => PACKAGES}/lb/fourspheres/data.four (100%) rename examples/{USER => PACKAGES}/lb/fourspheres/fourspheres_velocity0d0001_defaultgamma.out (100%) rename examples/{USER => PACKAGES}/lb/fourspheres/fourspheres_velocity0d0001_setgamma.out (100%) rename examples/{USER => PACKAGES}/lb/fourspheres/in.fourspheres_default_gamma (100%) rename examples/{USER => PACKAGES}/lb/fourspheres/in.fourspheres_set_gamma (100%) rename examples/{USER => PACKAGES}/lb/microrheology/data.two (100%) rename examples/{USER => PACKAGES}/lb/microrheology/in.microrheology_default_gamma (100%) rename examples/{USER => PACKAGES}/lb/microrheology/in.microrheology_set_gamma (100%) rename examples/{USER => PACKAGES}/lb/microrheology/microrheology_defaultgamma.out (100%) rename examples/{USER => PACKAGES}/lb/microrheology/microrheology_setgamma.out (100%) rename examples/{USER => PACKAGES}/lb/planewall/data.one_radius16d2 (100%) rename examples/{USER => PACKAGES}/lb/planewall/in.planewall_default_gamma (100%) rename examples/{USER => PACKAGES}/lb/planewall/in.planewall_set_gamma (100%) rename examples/{USER => PACKAGES}/lb/planewall/wall_defaultgamma.out (100%) rename examples/{USER => PACKAGES}/lb/planewall/wall_setgamma.out (100%) rename examples/{USER => PACKAGES}/lb/polymer/data.polymer (100%) rename examples/{USER => PACKAGES}/lb/polymer/in.polymer_default_gamma (100%) rename examples/{USER => PACKAGES}/lb/polymer/in.polymer_setgamma (100%) rename examples/{USER => PACKAGES}/lb/polymer/out.polymer_default_gamma (100%) rename examples/{USER => PACKAGES}/lb/polymer/out.polymer_setgamma (100%) rename examples/{USER => PACKAGES}/manifold/diffusion/README (100%) rename examples/{USER => PACKAGES}/manifold/diffusion/msd.cyl.data (100%) rename examples/{USER => PACKAGES}/manifold/diffusion/msd.cyl.in (100%) rename examples/{USER => PACKAGES}/manifold/diffusion/msd.pdf (100%) rename examples/{USER => PACKAGES}/manifold/diffusion/msd.plane.data (100%) rename examples/{USER => PACKAGES}/manifold/diffusion/msd.plane.in (100%) rename examples/{USER => PACKAGES}/manifold/diffusion/msd.sphere.data (100%) rename examples/{USER => PACKAGES}/manifold/diffusion/msd.sphere.in (100%) rename examples/{USER => PACKAGES}/manifold/diffusion/msd_plot2.pdf (100%) rename examples/{USER => PACKAGES}/manifold/diffusion/plot_msd.gpl (100%) rename examples/{USER => PACKAGES}/manifold/energy/README (100%) rename examples/{USER => PACKAGES}/manifold/energy/cylinder.data (100%) rename examples/{USER => PACKAGES}/manifold/energy/cylinder.setup (100%) rename examples/{USER => PACKAGES}/manifold/energy/energy.in (100%) rename examples/{USER => PACKAGES}/manifold/energy/energy.plane.in (100%) rename examples/{USER => PACKAGES}/manifold/energy/energy.sh (100%) rename examples/{USER => PACKAGES}/manifold/energy/energy_conservation.pdf (100%) rename examples/{USER => PACKAGES}/manifold/energy/energy_conservation.png (100%) rename examples/{USER => PACKAGES}/manifold/energy/plane.anneal.data (100%) rename examples/{USER => PACKAGES}/manifold/energy/plane.data (100%) rename examples/{USER => PACKAGES}/manifold/energy/plot_energies.gpl (100%) rename examples/{USER => PACKAGES}/manifold/energy/sphere.data (100%) rename examples/{USER => PACKAGES}/manifold/energy/sphere.setup (100%) rename examples/{USER => PACKAGES}/manifold/energy/torus.data (100%) rename examples/{USER => PACKAGES}/manifold/energy/torus.setup (100%) rename examples/{USER => PACKAGES}/manifold/thylakoid/README (100%) rename examples/{USER => PACKAGES}/manifold/thylakoid/thylakoid.data (100%) rename examples/{USER => PACKAGES}/manifold/thylakoid/thylakoid.in (100%) rename examples/{USER => PACKAGES}/manifold/virus/README (100%) rename examples/{USER => PACKAGES}/manifold/virus/init.data (100%) rename examples/{USER => PACKAGES}/manifold/virus/vir.in (100%) rename examples/{USER => PACKAGES}/mdi/README (100%) rename examples/{USER => PACKAGES}/mdi/Script.sh (100%) rename examples/{USER => PACKAGES}/mdi/driver.py (100%) rename examples/{USER => PACKAGES}/mdi/lammps.data (100%) rename examples/{USER => PACKAGES}/mdi/lammps.in (100%) rename examples/{USER => PACKAGES}/mesodpd/README (100%) rename examples/{USER => PACKAGES}/mesodpd/edpd/in.edpd (100%) rename examples/{USER => PACKAGES}/mesodpd/edpd/log.16Aug17.edpd.g++.1 (100%) rename examples/{USER => PACKAGES}/mesodpd/edpd/log.16Aug17.edpd.g++.4 (100%) rename examples/{USER => PACKAGES}/mesodpd/edpd/temp.profile.16Aug17.edpd.g++.1 (100%) rename examples/{USER => PACKAGES}/mesodpd/edpd/temp.profile.16Aug17.edpd.g++.4 (100%) rename examples/{USER => PACKAGES}/mesodpd/mdpd/in.mdpd (100%) rename examples/{USER => PACKAGES}/mesodpd/mdpd/log.16Aug17.mdpd.g++.1 (100%) rename examples/{USER => PACKAGES}/mesodpd/mdpd/log.16Aug17.mdpd.g++.4 (100%) rename examples/{USER => PACKAGES}/mesodpd/tdpd/cc.profile.16Aug17.tdpd.g++.1 (100%) rename examples/{USER => PACKAGES}/mesodpd/tdpd/cc.profile.16Aug17.tdpd.g++.4 (100%) rename examples/{USER => PACKAGES}/mesodpd/tdpd/in.tdpd (100%) rename examples/{USER => PACKAGES}/mesodpd/tdpd/log.16Aug17.tdpd.g++.1 (100%) rename examples/{USER => PACKAGES}/mesodpd/tdpd/log.16Aug17.tdpd.g++.4 (100%) rename examples/{USER => PACKAGES}/mesont/C_10_10.mesocnt (100%) rename examples/{USER => PACKAGES}/mesont/README (100%) rename examples/{USER => PACKAGES}/mesont/TABTP_10_10.mesont (100%) rename examples/{USER => PACKAGES}/mesont/cnt.data (100%) rename examples/{USER => PACKAGES}/mesont/data.bundle (100%) rename examples/{USER => PACKAGES}/mesont/data.film (100%) rename examples/{USER => PACKAGES}/mesont/in.bundle (100%) rename examples/{USER => PACKAGES}/mesont/in.cnt (100%) rename examples/{USER => PACKAGES}/mesont/in.film (100%) rename examples/{USER => PACKAGES}/mesont/log.2Jun2020.bundle.g++.1 (100%) rename examples/{USER => PACKAGES}/mesont/log.2Jun2020.bundle.g++.4 (100%) rename examples/{USER => PACKAGES}/mesont/log.2Jun2020.film.g++.1 (100%) rename examples/{USER => PACKAGES}/mesont/log.2Jun2020.film.g++.4 (100%) rename examples/{USER => PACKAGES}/mesont/log.9Jan20.cnt.g++.1 (100%) rename examples/{USER => PACKAGES}/mesont/log.9Jan20.cnt.g++.4 (100%) rename examples/{USER => PACKAGES}/mgpt/Ta6.8x.mgpt.README (100%) rename examples/{USER => PACKAGES}/mgpt/Ta6.8x.mgpt.parmin (100%) rename examples/{USER => PACKAGES}/mgpt/Ta6.8x.mgpt.potin (100%) rename examples/{USER => PACKAGES}/mgpt/in.bcc0 (100%) rename examples/{USER => PACKAGES}/mgpt/in.vac0-bcc (100%) rename examples/{USER => PACKAGES}/mgpt/in.vacmin-bcc (100%) rename examples/{USER => PACKAGES}/mgpt/log.bcc0 (100%) rename examples/{USER => PACKAGES}/mgpt/log.vac0-bcc (100%) rename examples/{USER => PACKAGES}/mgpt/log.vacmin-bcc (100%) rename examples/{USER => PACKAGES}/mofff/hkust1.data (100%) rename examples/{USER => PACKAGES}/mofff/in.hkust1 (100%) rename examples/{USER => PACKAGES}/mofff/in.hkust1_long (100%) rename examples/{USER => PACKAGES}/mofff/log.27Nov18.hkust1.g++.1 (100%) rename examples/{USER => PACKAGES}/mofff/log.27Nov18.hkust1.g++.4 (100%) rename examples/{USER => PACKAGES}/mofff/log.27Nov18.hkust1_long.g++.1 (100%) rename examples/{USER => PACKAGES}/mofff/log.27Nov18.hkust1_long.g++.4 (100%) rename examples/{USER => PACKAGES}/pace/Cu-PBE-core-rep.ace (100%) rename examples/{USER => PACKAGES}/pace/in.pace.product (100%) rename examples/{USER => PACKAGES}/pace/in.pace.recursive (100%) rename examples/{USER => PACKAGES}/pace/log.03Feb2021.pace.product.g++.1 (100%) rename examples/{USER => PACKAGES}/pace/log.03Feb2021.pace.product.g++.4 (100%) rename examples/{USER => PACKAGES}/pace/log.03Feb2021.pace.recursive.g++.1 (100%) rename examples/{USER => PACKAGES}/pace/log.03Feb2021.pace.recursive.g++.4 (100%) rename examples/{USER => PACKAGES}/phonon/1-1D-mono/README (100%) rename examples/{USER => PACKAGES}/phonon/1-1D-mono/data.pos (100%) rename examples/{USER => PACKAGES}/phonon/1-1D-mono/disp.dat (100%) rename examples/{USER => PACKAGES}/phonon/1-1D-mono/in.Ana (100%) rename examples/{USER => PACKAGES}/phonon/1-1D-mono/in.disp (100%) rename examples/{USER => PACKAGES}/phonon/1-1D-mono/log.lammps (100%) rename examples/{USER => PACKAGES}/phonon/1-1D-mono/map.in (100%) rename examples/{USER => PACKAGES}/phonon/1-1D-mono/pdisp.eps (100%) rename examples/{USER => PACKAGES}/phonon/1-1D-mono/pdisp.gnuplot (100%) rename examples/{USER => PACKAGES}/phonon/1-1D-mono/phonon.bin.2000000 (100%) rename examples/{USER => PACKAGES}/phonon/1-1D-mono/phonon.log (100%) rename examples/{USER => PACKAGES}/phonon/1-1D-mono/plot.disp (100%) rename examples/{USER => PACKAGES}/phonon/2-1D-diatomic/README (100%) rename examples/{USER => PACKAGES}/phonon/2-1D-diatomic/data.pos (100%) rename examples/{USER => PACKAGES}/phonon/2-1D-diatomic/disp.dat (100%) rename examples/{USER => PACKAGES}/phonon/2-1D-diatomic/in.Ana (100%) rename examples/{USER => PACKAGES}/phonon/2-1D-diatomic/in.disp (100%) rename examples/{USER => PACKAGES}/phonon/2-1D-diatomic/log.lammps (100%) rename examples/{USER => PACKAGES}/phonon/2-1D-diatomic/map.in (100%) rename examples/{USER => PACKAGES}/phonon/2-1D-diatomic/pdisp.eps (100%) rename examples/{USER => PACKAGES}/phonon/2-1D-diatomic/pdisp.gnuplot (100%) rename examples/{USER => PACKAGES}/phonon/2-1D-diatomic/phonon.bin.2000000 (100%) rename examples/{USER => PACKAGES}/phonon/2-1D-diatomic/phonon.log (100%) rename examples/{USER => PACKAGES}/phonon/2-1D-diatomic/plot.disp (100%) rename examples/{USER => PACKAGES}/phonon/3-3D-FCC-Cu-EAM/CuPhonon.bin.6500000 (100%) rename examples/{USER => PACKAGES}/phonon/3-3D-FCC-Cu-EAM/CuPhonon.log (100%) rename examples/{USER => PACKAGES}/phonon/3-3D-FCC-Cu-EAM/README (100%) rename examples/{USER => PACKAGES}/phonon/3-3D-FCC-Cu-EAM/cuu3.eam (100%) rename examples/{USER => PACKAGES}/phonon/3-3D-FCC-Cu-EAM/data.pos (100%) rename examples/{USER => PACKAGES}/phonon/3-3D-FCC-Cu-EAM/disp-expr.dat (100%) rename examples/{USER => PACKAGES}/phonon/3-3D-FCC-Cu-EAM/disp-ld.dat (100%) rename examples/{USER => PACKAGES}/phonon/3-3D-FCC-Cu-EAM/disp.dat (100%) rename examples/{USER => PACKAGES}/phonon/3-3D-FCC-Cu-EAM/dos-expr.dat (100%) rename examples/{USER => PACKAGES}/phonon/3-3D-FCC-Cu-EAM/dos-ld.dat (100%) rename examples/{USER => PACKAGES}/phonon/3-3D-FCC-Cu-EAM/dos.dat (100%) rename examples/{USER => PACKAGES}/phonon/3-3D-FCC-Cu-EAM/in.EAM3D (100%) rename examples/{USER => PACKAGES}/phonon/3-3D-FCC-Cu-EAM/in.disp (100%) rename examples/{USER => PACKAGES}/phonon/3-3D-FCC-Cu-EAM/in.disp2 (100%) rename examples/{USER => PACKAGES}/phonon/3-3D-FCC-Cu-EAM/in.dos (100%) rename examples/{USER => PACKAGES}/phonon/3-3D-FCC-Cu-EAM/map.in (100%) rename examples/{USER => PACKAGES}/phonon/3-3D-FCC-Cu-EAM/pdisp.eps (100%) rename examples/{USER => PACKAGES}/phonon/3-3D-FCC-Cu-EAM/pdisp.gnuplot (100%) rename examples/{USER => PACKAGES}/phonon/3-3D-FCC-Cu-EAM/pdos.eps (100%) rename examples/{USER => PACKAGES}/phonon/3-3D-FCC-Cu-EAM/plot.disp (100%) rename examples/{USER => PACKAGES}/phonon/3-3D-FCC-Cu-EAM/plot.dos (100%) rename examples/{USER => PACKAGES}/phonon/4-Graphene/Graphene.bin.6000000 (100%) rename examples/{USER => PACKAGES}/phonon/4-Graphene/Graphene.log (100%) rename examples/{USER => PACKAGES}/phonon/4-Graphene/README (100%) rename examples/{USER => PACKAGES}/phonon/4-Graphene/SiC.tersoff (100%) rename examples/{USER => PACKAGES}/phonon/4-Graphene/data.pos (100%) rename examples/{USER => PACKAGES}/phonon/4-Graphene/in.disp (100%) rename examples/{USER => PACKAGES}/phonon/4-Graphene/in.graphene (100%) rename examples/{USER => PACKAGES}/phonon/4-Graphene/map.in (100%) rename examples/{USER => PACKAGES}/phonon/4-Graphene/pdisp.dat (100%) rename examples/{USER => PACKAGES}/phonon/4-Graphene/pdisp.eps (100%) rename examples/{USER => PACKAGES}/phonon/4-Graphene/pdisp.gnuplot (100%) rename examples/{USER => PACKAGES}/phonon/4-Graphene/plot.disp (100%) rename examples/{USER => PACKAGES}/phonon/dynamical_matrix_command/Silicon/README.md (100%) rename examples/{USER => PACKAGES}/phonon/dynamical_matrix_command/Silicon/SiCGe.tersoff (100%) rename examples/{USER => PACKAGES}/phonon/dynamical_matrix_command/Silicon/ff-silicon.lmp (100%) rename examples/{USER => PACKAGES}/phonon/dynamical_matrix_command/Silicon/in.silicon (100%) rename examples/{USER => PACKAGES}/phonon/dynamical_matrix_command/Silicon/lmp_bank/amorphous_silicon.lmp (100%) rename examples/{USER => PACKAGES}/phonon/dynamical_matrix_command/Silicon/lmp_bank/silicon_216.lmp (100%) rename examples/{USER => PACKAGES}/phonon/dynamical_matrix_command/Silicon/lmp_bank/silicon_512.lmp (100%) rename examples/{USER => PACKAGES}/phonon/dynamical_matrix_command/Silicon/lmp_bank/silicon_8.lmp (100%) rename examples/{USER => PACKAGES}/phonon/dynamical_matrix_command/Silicon/results/dynmat.dat (100%) rename examples/{USER => PACKAGES}/phonon/dynamical_matrix_command/Silicon/results/out.silicon (100%) rename examples/{USER => PACKAGES}/phonon/dynamical_matrix_command/Silicon/silicon_input_file.lmp (100%) rename examples/{USER => PACKAGES}/phonon/dynamical_matrix_command/python/README.md (100%) rename examples/{USER => PACKAGES}/phonon/dynamical_matrix_command/python/SiCGe.tersoff (100%) rename examples/{USER => PACKAGES}/phonon/dynamical_matrix_command/python/dynmat.py (100%) rename examples/{USER => PACKAGES}/phonon/dynamical_matrix_command/python/ff-silicon.lmp (100%) rename examples/{USER => PACKAGES}/phonon/dynamical_matrix_command/python/results/dynmat.dat (100%) rename examples/{USER => PACKAGES}/phonon/dynamical_matrix_command/python/results/out.dynamt (100%) rename examples/{USER => PACKAGES}/phonon/dynamical_matrix_command/python/silicon_input_file.lmp (100%) rename examples/{USER => PACKAGES}/plumed/data.peptide (100%) rename examples/{USER => PACKAGES}/plumed/in.peptide-plumed (100%) rename examples/{USER => PACKAGES}/plumed/log.4Feb20.peptide-plumed.g++.1 (100%) rename examples/{USER => PACKAGES}/plumed/log.4Feb20.peptide-plumed.g++.4 (100%) rename examples/{USER => PACKAGES}/plumed/plumed.dat (100%) rename examples/{USER => PACKAGES}/plumed/reference/colvar (100%) rename examples/{USER => PACKAGES}/plumed/reference/p.log (100%) rename examples/{USER => PACKAGES}/ptm/ptm_example.in (100%) rename examples/{USER => PACKAGES}/qtb/README (100%) rename examples/{USER => PACKAGES}/qtb/alpha_quartz_qbmsst/alpha_quartz_potential.mod (100%) rename examples/{USER => PACKAGES}/qtb/alpha_quartz_qbmsst/alpha_quartz_qtb.mod (100%) rename examples/{USER => PACKAGES}/qtb/alpha_quartz_qbmsst/in.alpha_quartz_qbmsst (100%) rename examples/{USER => PACKAGES}/qtb/alpha_quartz_qbmsst/log.09Feb21.alpha_quartz_qbmsst.g++.1 (100%) rename examples/{USER => PACKAGES}/qtb/alpha_quartz_qbmsst/log.09Feb21.alpha_quartz_qbmsst.g++.4 (100%) rename examples/{USER => PACKAGES}/qtb/alpha_quartz_qbmsst/potential_SiO2.TPF (100%) rename examples/{USER => PACKAGES}/qtb/alpha_quartz_qtb/in.alpha_quartz_qtb (100%) rename examples/{USER => PACKAGES}/qtb/alpha_quartz_qtb/log.15Jun20.alpha_quartz_qtb.g++.1 (100%) rename examples/{USER => PACKAGES}/qtb/alpha_quartz_qtb/log.15Jun20.alpha_quartz_qtb.g++.4 (100%) rename examples/{USER => PACKAGES}/qtb/methane_qbmsst/ffield.reax (100%) rename examples/{USER => PACKAGES}/qtb/methane_qbmsst/methane_qbmsst.in (100%) rename examples/{USER => PACKAGES}/qtb/methane_qbmsst/methane_qtb.mod (100%) rename examples/{USER => PACKAGES}/qtb/methane_qtb/ffield.reax (100%) rename examples/{USER => PACKAGES}/qtb/methane_qtb/methane_qtb.in (100%) rename examples/{USER => PACKAGES}/quip/data_gap (100%) rename examples/{USER => PACKAGES}/quip/data_sw (100%) rename examples/{USER => PACKAGES}/quip/gap_example.xml (100%) rename examples/{USER => PACKAGES}/quip/gap_example_sparse.dat (100%) rename examples/{USER => PACKAGES}/quip/in.gap (100%) rename examples/{USER => PACKAGES}/quip/in.molecular (100%) rename examples/{USER => PACKAGES}/quip/in.sw (100%) rename examples/{USER => PACKAGES}/quip/log.24Jul17.gap.g++.1 (100%) rename examples/{USER => PACKAGES}/quip/log.24Jul17.gap.g++.4 (100%) rename examples/{USER => PACKAGES}/quip/log.24Jul17.molecular.g++.1 (100%) rename examples/{USER => PACKAGES}/quip/log.24Jul17.molecular.g++.4 (100%) rename examples/{USER => PACKAGES}/quip/log.24Jul17.sw.g++.1 (100%) rename examples/{USER => PACKAGES}/quip/log.24Jul17.sw.g++.4 (100%) rename examples/{USER => PACKAGES}/quip/methane-box-8.data (100%) rename examples/{USER => PACKAGES}/quip/out.molecular (100%) rename examples/{USER => PACKAGES}/quip/sw_example.xml (100%) rename examples/{USER => PACKAGES}/rann/in.rann (100%) rename examples/{USER => PACKAGES}/rann/log.22Jun21.rann.g++.1 (100%) rename examples/{USER => PACKAGES}/rann/log.22Jun21.rann.g++.4 (100%) rename examples/{USER => PACKAGES}/reaction/create_atoms_polystyrene/grow_styrene.map (100%) rename examples/{USER => PACKAGES}/reaction/create_atoms_polystyrene/grow_styrene_post.data_template (100%) rename examples/{USER => PACKAGES}/reaction/create_atoms_polystyrene/grow_styrene_pre.data_template (100%) rename examples/{USER => PACKAGES}/reaction/create_atoms_polystyrene/in.grow_styrene (100%) rename examples/{USER => PACKAGES}/reaction/create_atoms_polystyrene/log.24Dec20.grow_styrene.g++.1 (100%) rename examples/{USER => PACKAGES}/reaction/create_atoms_polystyrene/log.24Dec20.grow_styrene.g++.4 (100%) rename examples/{USER => PACKAGES}/reaction/create_atoms_polystyrene/trimer.data (100%) rename examples/{USER => PACKAGES}/reaction/nylon,6-6_melt/in.large_nylon_melt (100%) rename examples/{USER => PACKAGES}/reaction/nylon,6-6_melt/large_nylon_melt.data.gz (100%) rename examples/{USER => PACKAGES}/reaction/nylon,6-6_melt/log.20Apr18.large_nylon_melt.g++.1 (100%) rename examples/{USER => PACKAGES}/reaction/nylon,6-6_melt/log.20Apr18.large_nylon_melt.g++.4 (100%) rename examples/{USER => PACKAGES}/reaction/nylon,6-6_melt/rxn1_stp1_map (100%) rename examples/{USER => PACKAGES}/reaction/nylon,6-6_melt/rxn1_stp1_reacted.data_template (100%) rename examples/{USER => PACKAGES}/reaction/nylon,6-6_melt/rxn1_stp1_unreacted.data_template (100%) rename examples/{USER => PACKAGES}/reaction/nylon,6-6_melt/rxn1_stp2_map (100%) rename examples/{USER => PACKAGES}/reaction/nylon,6-6_melt/rxn1_stp2_reacted.data_template (100%) rename examples/{USER => PACKAGES}/reaction/nylon,6-6_melt/rxn1_stp2_unreacted.data_template (100%) rename examples/{USER => PACKAGES}/reaction/tiny_epoxy/in.tiny_epoxy.stabilized (100%) rename examples/{USER => PACKAGES}/reaction/tiny_epoxy/log.20Nov19.tiny_epoxy.stabilized.g++.1 (100%) rename examples/{USER => PACKAGES}/reaction/tiny_epoxy/log.20Nov19.tiny_epoxy.stabilized.g++.4 (100%) rename examples/{USER => PACKAGES}/reaction/tiny_epoxy/rxn1_stp1.map (100%) rename examples/{USER => PACKAGES}/reaction/tiny_epoxy/rxn1_stp1_post.data_template (100%) rename examples/{USER => PACKAGES}/reaction/tiny_epoxy/rxn1_stp1_pre.data_template (100%) rename examples/{USER => PACKAGES}/reaction/tiny_epoxy/rxn1_stp2.map (100%) rename examples/{USER => PACKAGES}/reaction/tiny_epoxy/rxn1_stp2_post.data_template (100%) rename examples/{USER => PACKAGES}/reaction/tiny_epoxy/rxn2_stp1.map (100%) rename examples/{USER => PACKAGES}/reaction/tiny_epoxy/rxn2_stp1_post.data_template (100%) rename examples/{USER => PACKAGES}/reaction/tiny_epoxy/rxn2_stp1_pre.data_template (100%) rename examples/{USER => PACKAGES}/reaction/tiny_epoxy/rxn2_stp2.map (100%) rename examples/{USER => PACKAGES}/reaction/tiny_epoxy/rxn2_stp2_post.data_template (100%) rename examples/{USER => PACKAGES}/reaction/tiny_epoxy/tiny_epoxy.data (100%) rename examples/{USER => PACKAGES}/reaction/tiny_nylon/in.tiny_nylon.stabilized (100%) rename examples/{USER => PACKAGES}/reaction/tiny_nylon/in.tiny_nylon.stabilized_variable_probability (100%) rename examples/{USER => PACKAGES}/reaction/tiny_nylon/in.tiny_nylon.unstabilized (100%) rename examples/{USER => PACKAGES}/reaction/tiny_nylon/log.22Apr20.tiny_nylon.stabilized_variable_probability.g++.1 (100%) rename examples/{USER => PACKAGES}/reaction/tiny_nylon/log.22Apr20.tiny_nylon.stabilized_variable_probability.g++.4 (100%) rename examples/{USER => PACKAGES}/reaction/tiny_nylon/log.5Jun19.tiny_nylon.stabilized.g++.1 (100%) rename examples/{USER => PACKAGES}/reaction/tiny_nylon/log.5Jun19.tiny_nylon.stabilized.g++.4 (100%) rename examples/{USER => PACKAGES}/reaction/tiny_nylon/log.5Jun19.tiny_nylon.unstabilized.g++.1 (100%) rename examples/{USER => PACKAGES}/reaction/tiny_nylon/log.5Jun19.tiny_nylon.unstabilized.g++.4 (100%) rename examples/{USER => PACKAGES}/reaction/tiny_nylon/rxn1_stp1_map (100%) rename examples/{USER => PACKAGES}/reaction/tiny_nylon/rxn1_stp1_reacted.data_template (100%) rename examples/{USER => PACKAGES}/reaction/tiny_nylon/rxn1_stp1_unreacted.data_template (100%) rename examples/{USER => PACKAGES}/reaction/tiny_nylon/rxn1_stp2_map (100%) rename examples/{USER => PACKAGES}/reaction/tiny_nylon/rxn1_stp2_reacted.data_template (100%) rename examples/{USER => PACKAGES}/reaction/tiny_nylon/rxn1_stp2_unreacted.data_template (100%) rename examples/{USER => PACKAGES}/reaction/tiny_nylon/tiny_nylon.data (100%) rename examples/{USER => PACKAGES}/reaction/tiny_polystyrene/2styrene_map (100%) rename examples/{USER => PACKAGES}/reaction/tiny_polystyrene/2styrene_reacted.data_template (100%) rename examples/{USER => PACKAGES}/reaction/tiny_polystyrene/2styrene_unreacted.data_template (100%) rename examples/{USER => PACKAGES}/reaction/tiny_polystyrene/chain_chain_map (100%) rename examples/{USER => PACKAGES}/reaction/tiny_polystyrene/chain_chain_reacted.data_template (100%) rename examples/{USER => PACKAGES}/reaction/tiny_polystyrene/chain_chain_unreacted.data_template (100%) rename examples/{USER => PACKAGES}/reaction/tiny_polystyrene/chain_plus_styrene_map (100%) rename examples/{USER => PACKAGES}/reaction/tiny_polystyrene/chain_plus_styrene_reacted.data_template (100%) rename examples/{USER => PACKAGES}/reaction/tiny_polystyrene/chain_plus_styrene_unreacted.data_template (100%) rename examples/{USER => PACKAGES}/reaction/tiny_polystyrene/in.tiny_polystyrene.stabilized (100%) rename examples/{USER => PACKAGES}/reaction/tiny_polystyrene/log.20Nov19.tiny_polystyrene.stabilized.g++.1 (100%) rename examples/{USER => PACKAGES}/reaction/tiny_polystyrene/log.20Nov19.tiny_polystyrene.stabilized.g++.4 (100%) rename examples/{USER => PACKAGES}/reaction/tiny_polystyrene/tiny_polystyrene.data (100%) rename examples/{USER => PACKAGES}/scafacos/data.NaCl (100%) rename examples/{USER => PACKAGES}/scafacos/data.cloud_wall (100%) rename examples/{USER => PACKAGES}/scafacos/data.hammersley_sphere (100%) rename examples/{USER => PACKAGES}/scafacos/in.scafacos (100%) rename examples/{USER => PACKAGES}/scafacos/in.scafacos.cw.ewald (100%) rename examples/{USER => PACKAGES}/scafacos/in.scafacos.cw.fmm (100%) rename examples/{USER => PACKAGES}/scafacos/in.scafacos.cw.p2nfft (100%) rename examples/{USER => PACKAGES}/scafacos/in.scafacos.cw.p3m (100%) rename examples/{USER => PACKAGES}/scafacos/in.scafacos.ewald (100%) rename examples/{USER => PACKAGES}/scafacos/in.scafacos.fmm (100%) rename examples/{USER => PACKAGES}/scafacos/in.scafacos.hsph.direct (100%) rename examples/{USER => PACKAGES}/scafacos/in.scafacos.hsph.fmm (100%) rename examples/{USER => PACKAGES}/scafacos/in.scafacos.hsph.p2nfft (100%) rename examples/{USER => PACKAGES}/scafacos/in.scafacos.p2nfft (100%) rename examples/{USER => PACKAGES}/scafacos/in.scafacos.p3m (100%) rename examples/{USER => PACKAGES}/scafacos/log.27Nov18.scafacos.cw.ewald.g++.1 (100%) rename examples/{USER => PACKAGES}/scafacos/log.27Nov18.scafacos.cw.ewald.g++.4 (100%) rename examples/{USER => PACKAGES}/scafacos/log.27Nov18.scafacos.cw.fmm.g++.1 (100%) rename examples/{USER => PACKAGES}/scafacos/log.27Nov18.scafacos.cw.fmm.g++.4 (100%) rename examples/{USER => PACKAGES}/scafacos/log.27Nov18.scafacos.cw.p2nfft.g++.1 (100%) rename examples/{USER => PACKAGES}/scafacos/log.27Nov18.scafacos.cw.p2nfft.g++.4 (100%) rename examples/{USER => PACKAGES}/scafacos/log.27Nov18.scafacos.cw.p3m.g++.1 (100%) rename examples/{USER => PACKAGES}/scafacos/log.27Nov18.scafacos.cw.p3m.g++.4 (100%) rename examples/{USER => PACKAGES}/scafacos/log.27Nov18.scafacos.ewald.g++.1 (100%) rename examples/{USER => PACKAGES}/scafacos/log.27Nov18.scafacos.ewald.g++.4 (100%) rename examples/{USER => PACKAGES}/scafacos/log.27Nov18.scafacos.fmm.g++.1 (100%) rename examples/{USER => PACKAGES}/scafacos/log.27Nov18.scafacos.fmm.g++.4 (100%) rename examples/{USER => PACKAGES}/scafacos/log.27Nov18.scafacos.g++.1 (100%) rename examples/{USER => PACKAGES}/scafacos/log.27Nov18.scafacos.g++.4 (100%) rename examples/{USER => PACKAGES}/scafacos/log.27Nov18.scafacos.hsph.direct.g++.1 (100%) rename examples/{USER => PACKAGES}/scafacos/log.27Nov18.scafacos.hsph.direct.g++.4 (100%) rename examples/{USER => PACKAGES}/scafacos/log.27Nov18.scafacos.hsph.fmm.g++.1 (100%) rename examples/{USER => PACKAGES}/scafacos/log.27Nov18.scafacos.hsph.fmm.g++.4 (100%) rename examples/{USER => PACKAGES}/scafacos/log.27Nov18.scafacos.hsph.p2nfft.g++.1 (100%) rename examples/{USER => PACKAGES}/scafacos/log.27Nov18.scafacos.hsph.p2nfft.g++.4 (100%) rename examples/{USER => PACKAGES}/scafacos/log.27Nov18.scafacos.p2nfft.g++.1 (100%) rename examples/{USER => PACKAGES}/scafacos/log.27Nov18.scafacos.p2nfft.g++.4 (100%) rename examples/{USER => PACKAGES}/scafacos/log.27Nov18.scafacos.p3m.g++.1 (100%) rename examples/{USER => PACKAGES}/scafacos/log.27Nov18.scafacos.p3m.g++.4 (100%) rename examples/{USER => PACKAGES}/sdpd/2d-diffusion-in-shear-flow/in.lammps (100%) rename examples/{USER => PACKAGES}/sdpd/2d-diffusion-in-shear-flow/log.24Oct18.2d-diffusion-in-shear-flow.g++.1 (100%) rename examples/{USER => PACKAGES}/sdpd/2d-diffusion-in-shear-flow/log.24Oct18.2d-diffusion-in-shear-flow.g++.4 (100%) rename examples/{USER => PACKAGES}/sdpd/2d-diffusion/in.lammps (100%) rename examples/{USER => PACKAGES}/sdpd/2d-diffusion/log.24Oct18.2d-diffusion.g++.1 (100%) rename examples/{USER => PACKAGES}/sdpd/2d-diffusion/log.24Oct18.2d-diffusion.g++.4 (100%) rename examples/{USER => PACKAGES}/sdpd/README (100%) rename examples/{USER => PACKAGES}/sdpd/equipartition-verification/in.lammps (100%) rename examples/{USER => PACKAGES}/sdpd/equipartition-verification/log.24Oct18.equipartition.g++.1 (100%) rename examples/{USER => PACKAGES}/sdpd/equipartition-verification/log.24Oct18.equipartition.g++.4 (100%) rename examples/{USER => PACKAGES}/smd/README (100%) rename examples/{USER => PACKAGES}/smd/aluminum_strip_pull/in.aluminum_strip_pull (100%) rename examples/{USER => PACKAGES}/smd/aluminum_strip_pull/log.9Oct20.aluminum_strip_pull.g++.1 (100%) rename examples/{USER => PACKAGES}/smd/aluminum_strip_pull/log.9Oct20.aluminum_strip_pull.g++.4 (100%) rename examples/{USER => PACKAGES}/smd/fluid_structure_interaction/in.fluid_structure_interaction (100%) rename examples/{USER => PACKAGES}/smd/fluid_structure_interaction/log.9Oct20.fluid_structure_interaction.g++.1 (100%) rename examples/{USER => PACKAGES}/smd/fluid_structure_interaction/log.9Oct20.fluid_structure_interaction.g++.4 (100%) rename examples/{USER => PACKAGES}/smd/funnel_flow/boundary.stl (100%) rename examples/{USER => PACKAGES}/smd/funnel_flow/in.funnel_flow (100%) rename examples/{USER => PACKAGES}/smd/funnel_flow/log.9Oct20.funnel_flow.g++.1 (100%) rename examples/{USER => PACKAGES}/smd/funnel_flow/log.9Oct20.funnel_flow.g++.4 (100%) rename examples/{USER => PACKAGES}/smd/rubber_rings_3d/in.rubber_rings_3d (100%) rename examples/{USER => PACKAGES}/smd/rubber_rings_3d/log.9Oct20.rubber_rings_3d.g++.1 (100%) rename examples/{USER => PACKAGES}/smd/rubber_rings_3d/log.9Oct20.rubber_rings_3d.g++.4 (100%) rename examples/{USER => PACKAGES}/smd/rubber_rings_3d/washer_hex_adjusted.data (100%) rename examples/{USER => PACKAGES}/smd/rubber_strip_pull/in.rubber_strip_pull (100%) rename examples/{USER => PACKAGES}/smd/rubber_strip_pull/log.9Oct20.rubber_strip_pull.g++.1 (100%) rename examples/{USER => PACKAGES}/smd/rubber_strip_pull/log.9Oct20.rubber_strip_pull.g++.4 (100%) rename examples/{USER => PACKAGES}/smd/rubber_strip_pull/plot.gpl (100%) rename examples/{USER => PACKAGES}/smtbq/data.Alpha (100%) rename examples/{USER => PACKAGES}/smtbq/ffield.smtbq.Al (100%) rename examples/{USER => PACKAGES}/smtbq/ffield.smtbq.Al2O3 (100%) rename examples/{USER => PACKAGES}/smtbq/ffield.smtbq.TiO2 (100%) rename examples/{USER => PACKAGES}/smtbq/in.smtbq.Al (100%) rename examples/{USER => PACKAGES}/smtbq/in.smtbq.Al2O3 (100%) rename examples/{USER => PACKAGES}/smtbq/in.smtbq.TiO2 (100%) rename examples/{USER => PACKAGES}/smtbq/log.smtbq.Al.g++.1 (100%) rename examples/{USER => PACKAGES}/smtbq/log.smtbq.Al.g++.4 (100%) rename examples/{USER => PACKAGES}/smtbq/log.smtbq.Al2O3.g++.1 (100%) rename examples/{USER => PACKAGES}/smtbq/log.smtbq.Al2O3.g++.4 (100%) rename examples/{USER => PACKAGES}/smtbq/log.smtbq.TiO2.g++.1 (100%) rename examples/{USER => PACKAGES}/smtbq/log.smtbq.TiO2.g++.4 (100%) rename examples/{USER => PACKAGES}/sph/README (100%) rename examples/{USER => PACKAGES}/sph/cavity_flow/cavity_flow.lmp (100%) rename examples/{USER => PACKAGES}/sph/heatconduction/compare_analytic.gpl (100%) rename examples/{USER => PACKAGES}/sph/heatconduction/sph_heat_conduction_2d.lmp (100%) rename examples/{USER => PACKAGES}/sph/heatconduction/sph_heat_conduction_3d.lmp (100%) rename examples/{USER => PACKAGES}/sph/shock_tube/compare_exact.gpl (100%) rename examples/{USER => PACKAGES}/sph/shock_tube/exact_solution.dat (100%) rename examples/{USER => PACKAGES}/sph/shock_tube/shock2d.lmp (100%) rename examples/{USER => PACKAGES}/sph/shock_tube/shock3d.lmp (100%) rename examples/{USER => PACKAGES}/sph/water_collapse/data.initial (100%) rename examples/{USER => PACKAGES}/sph/water_collapse/water_collapse.lmp (100%) rename examples/{USER => PACKAGES}/tally/README (100%) rename examples/{USER => PACKAGES}/tally/data.spce (100%) rename examples/{USER => PACKAGES}/tally/in.force (100%) rename examples/{USER => PACKAGES}/tally/in.pe (100%) rename examples/{USER => PACKAGES}/tally/in.stress (100%) rename examples/{USER => PACKAGES}/tally/log.12Jun17.force.1 (100%) rename examples/{USER => PACKAGES}/tally/log.12Jun17.force.4 (100%) rename examples/{USER => PACKAGES}/tally/log.12Jun17.pe.1 (100%) rename examples/{USER => PACKAGES}/tally/log.12Jun17.pe.4 (100%) rename examples/{USER => PACKAGES}/tally/log.12Jun17.stress.1 (100%) rename examples/{USER => PACKAGES}/tally/log.12Jun17.stress.4 (100%) rename examples/{USER => PACKAGES}/uef/README (100%) rename examples/{USER => PACKAGES}/uef/npt_biaxial/data.wca (100%) rename examples/{USER => PACKAGES}/uef/npt_biaxial/in.npt_biaxial (100%) rename examples/{USER => PACKAGES}/uef/npt_biaxial/log.27Nov18.npt_biaxial.g++.1 (100%) rename examples/{USER => PACKAGES}/uef/npt_biaxial/log.27Nov18.npt_biaxial.g++.4 (100%) rename examples/{USER => PACKAGES}/uef/nvt_uniaxial/data.wca (100%) rename examples/{USER => PACKAGES}/uef/nvt_uniaxial/in.nvt_uniaxial (100%) rename examples/{USER => PACKAGES}/uef/nvt_uniaxial/log.27Nov18.nvt_uniaxial.g++.1 (100%) rename examples/{USER => PACKAGES}/uef/nvt_uniaxial/log.27Nov18.nvt_uniaxial.g++.4 (100%) rename examples/{USER => PACKAGES}/vtk/.gitignore (100%) rename examples/{USER => PACKAGES}/vtk/in.vtk (100%) rename examples/{USER => PACKAGES}/vtk/in.vtp (100%) rename examples/{USER => PACKAGES}/yaff/README (100%) rename examples/{USER => PACKAGES}/yaff/mil53al/lammps.data (100%) rename examples/{USER => PACKAGES}/yaff/mil53al/lammps.in (100%) rename examples/{USER => PACKAGES}/yaff/mof5/lammps.data (100%) rename examples/{USER => PACKAGES}/yaff/mof5/lammps.in (100%) diff --git a/examples/USER/misc/addtorque/in.addtorque b/examples/PACKAGES/USER-MISC/addtorque/in.addtorque similarity index 100% rename from examples/USER/misc/addtorque/in.addtorque rename to examples/PACKAGES/USER-MISC/addtorque/in.addtorque diff --git a/examples/USER/misc/addtorque/log.9Nov16.addtorque.g++.1 b/examples/PACKAGES/USER-MISC/addtorque/log.9Nov16.addtorque.g++.1 similarity index 100% rename from examples/USER/misc/addtorque/log.9Nov16.addtorque.g++.1 rename to examples/PACKAGES/USER-MISC/addtorque/log.9Nov16.addtorque.g++.1 diff --git a/examples/USER/misc/addtorque/log.9Nov16.addtorque.g++.4 b/examples/PACKAGES/USER-MISC/addtorque/log.9Nov16.addtorque.g++.4 similarity index 100% rename from examples/USER/misc/addtorque/log.9Nov16.addtorque.g++.4 rename to examples/PACKAGES/USER-MISC/addtorque/log.9Nov16.addtorque.g++.4 diff --git a/examples/USER/misc/agni/Al_jpc.agni b/examples/PACKAGES/USER-MISC/agni/Al_jpc.agni similarity index 100% rename from examples/USER/misc/agni/Al_jpc.agni rename to examples/PACKAGES/USER-MISC/agni/Al_jpc.agni diff --git a/examples/USER/misc/agni/adatom.data b/examples/PACKAGES/USER-MISC/agni/adatom.data similarity index 100% rename from examples/USER/misc/agni/adatom.data rename to examples/PACKAGES/USER-MISC/agni/adatom.data diff --git a/examples/USER/misc/agni/in.adatom b/examples/PACKAGES/USER-MISC/agni/in.adatom similarity index 100% rename from examples/USER/misc/agni/in.adatom rename to examples/PACKAGES/USER-MISC/agni/in.adatom diff --git a/examples/USER/misc/agni/in.vacancy b/examples/PACKAGES/USER-MISC/agni/in.vacancy similarity index 100% rename from examples/USER/misc/agni/in.vacancy rename to examples/PACKAGES/USER-MISC/agni/in.vacancy diff --git a/examples/USER/misc/agni/log.20Jan21.adatom.g++.1 b/examples/PACKAGES/USER-MISC/agni/log.20Jan21.adatom.g++.1 similarity index 100% rename from examples/USER/misc/agni/log.20Jan21.adatom.g++.1 rename to examples/PACKAGES/USER-MISC/agni/log.20Jan21.adatom.g++.1 diff --git a/examples/USER/misc/agni/log.20Jan21.adatom.g++.4 b/examples/PACKAGES/USER-MISC/agni/log.20Jan21.adatom.g++.4 similarity index 100% rename from examples/USER/misc/agni/log.20Jan21.adatom.g++.4 rename to examples/PACKAGES/USER-MISC/agni/log.20Jan21.adatom.g++.4 diff --git a/examples/USER/misc/agni/log.20Jan21.vacancy.g++.1 b/examples/PACKAGES/USER-MISC/agni/log.20Jan21.vacancy.g++.1 similarity index 100% rename from examples/USER/misc/agni/log.20Jan21.vacancy.g++.1 rename to examples/PACKAGES/USER-MISC/agni/log.20Jan21.vacancy.g++.1 diff --git a/examples/USER/misc/agni/log.20Jan21.vacancy.g++.4 b/examples/PACKAGES/USER-MISC/agni/log.20Jan21.vacancy.g++.4 similarity index 100% rename from examples/USER/misc/agni/log.20Jan21.vacancy.g++.4 rename to examples/PACKAGES/USER-MISC/agni/log.20Jan21.vacancy.g++.4 diff --git a/examples/USER/misc/agni/vacancy.data b/examples/PACKAGES/USER-MISC/agni/vacancy.data similarity index 100% rename from examples/USER/misc/agni/vacancy.data rename to examples/PACKAGES/USER-MISC/agni/vacancy.data diff --git a/examples/USER/misc/basal/almg.liu b/examples/PACKAGES/USER-MISC/basal/almg.liu similarity index 100% rename from examples/USER/misc/basal/almg.liu rename to examples/PACKAGES/USER-MISC/basal/almg.liu diff --git a/examples/USER/misc/basal/in.basal b/examples/PACKAGES/USER-MISC/basal/in.basal similarity index 100% rename from examples/USER/misc/basal/in.basal rename to examples/PACKAGES/USER-MISC/basal/in.basal diff --git a/examples/USER/misc/cauchy/NiAlH_jea.eam.alloy b/examples/PACKAGES/USER-MISC/cauchy/NiAlH_jea.eam.alloy similarity index 100% rename from examples/USER/misc/cauchy/NiAlH_jea.eam.alloy rename to examples/PACKAGES/USER-MISC/cauchy/NiAlH_jea.eam.alloy diff --git a/examples/USER/misc/cauchy/README b/examples/PACKAGES/USER-MISC/cauchy/README similarity index 100% rename from examples/USER/misc/cauchy/README rename to examples/PACKAGES/USER-MISC/cauchy/README diff --git a/examples/USER/misc/cauchy/in.cauchystat b/examples/PACKAGES/USER-MISC/cauchy/in.cauchystat similarity index 100% rename from examples/USER/misc/cauchy/in.cauchystat rename to examples/PACKAGES/USER-MISC/cauchy/in.cauchystat diff --git a/examples/USER/misc/cauchy/log.2Jun2020.cauchystat.g++.1 b/examples/PACKAGES/USER-MISC/cauchy/log.2Jun2020.cauchystat.g++.1 similarity index 100% rename from examples/USER/misc/cauchy/log.2Jun2020.cauchystat.g++.1 rename to examples/PACKAGES/USER-MISC/cauchy/log.2Jun2020.cauchystat.g++.1 diff --git a/examples/USER/misc/charge_regulation/README b/examples/PACKAGES/USER-MISC/charge_regulation/README similarity index 100% rename from examples/USER/misc/charge_regulation/README rename to examples/PACKAGES/USER-MISC/charge_regulation/README diff --git a/examples/USER/misc/charge_regulation/data.chreg-acid b/examples/PACKAGES/USER-MISC/charge_regulation/data.chreg-acid similarity index 100% rename from examples/USER/misc/charge_regulation/data.chreg-acid rename to examples/PACKAGES/USER-MISC/charge_regulation/data.chreg-acid diff --git a/examples/USER/misc/charge_regulation/data.chreg-acid-real b/examples/PACKAGES/USER-MISC/charge_regulation/data.chreg-acid-real similarity index 100% rename from examples/USER/misc/charge_regulation/data.chreg-acid-real rename to examples/PACKAGES/USER-MISC/charge_regulation/data.chreg-acid-real diff --git a/examples/USER/misc/charge_regulation/data.chreg-polymer b/examples/PACKAGES/USER-MISC/charge_regulation/data.chreg-polymer similarity index 100% rename from examples/USER/misc/charge_regulation/data.chreg-polymer rename to examples/PACKAGES/USER-MISC/charge_regulation/data.chreg-polymer diff --git a/examples/USER/misc/charge_regulation/in.chreg-acid b/examples/PACKAGES/USER-MISC/charge_regulation/in.chreg-acid similarity index 100% rename from examples/USER/misc/charge_regulation/in.chreg-acid rename to examples/PACKAGES/USER-MISC/charge_regulation/in.chreg-acid diff --git a/examples/USER/misc/charge_regulation/in.chreg-acid-real b/examples/PACKAGES/USER-MISC/charge_regulation/in.chreg-acid-real similarity index 100% rename from examples/USER/misc/charge_regulation/in.chreg-acid-real rename to examples/PACKAGES/USER-MISC/charge_regulation/in.chreg-acid-real diff --git a/examples/USER/misc/charge_regulation/in.chreg-polymer b/examples/PACKAGES/USER-MISC/charge_regulation/in.chreg-polymer similarity index 100% rename from examples/USER/misc/charge_regulation/in.chreg-polymer rename to examples/PACKAGES/USER-MISC/charge_regulation/in.chreg-polymer diff --git a/examples/USER/misc/charge_regulation/log.10Feb21.chreg-acid.g++.1 b/examples/PACKAGES/USER-MISC/charge_regulation/log.10Feb21.chreg-acid.g++.1 similarity index 100% rename from examples/USER/misc/charge_regulation/log.10Feb21.chreg-acid.g++.1 rename to examples/PACKAGES/USER-MISC/charge_regulation/log.10Feb21.chreg-acid.g++.1 diff --git a/examples/USER/misc/charge_regulation/log.10Feb21.chreg-acid.g++.4 b/examples/PACKAGES/USER-MISC/charge_regulation/log.10Feb21.chreg-acid.g++.4 similarity index 100% rename from examples/USER/misc/charge_regulation/log.10Feb21.chreg-acid.g++.4 rename to examples/PACKAGES/USER-MISC/charge_regulation/log.10Feb21.chreg-acid.g++.4 diff --git a/examples/USER/misc/charge_regulation/log.10Feb21.chreg-polymer.g++.1 b/examples/PACKAGES/USER-MISC/charge_regulation/log.10Feb21.chreg-polymer.g++.1 similarity index 100% rename from examples/USER/misc/charge_regulation/log.10Feb21.chreg-polymer.g++.1 rename to examples/PACKAGES/USER-MISC/charge_regulation/log.10Feb21.chreg-polymer.g++.1 diff --git a/examples/USER/misc/charge_regulation/log.10Feb21.chreg-polymer.g++.4 b/examples/PACKAGES/USER-MISC/charge_regulation/log.10Feb21.chreg-polymer.g++.4 similarity index 100% rename from examples/USER/misc/charge_regulation/log.10Feb21.chreg-polymer.g++.4 rename to examples/PACKAGES/USER-MISC/charge_regulation/log.10Feb21.chreg-polymer.g++.4 diff --git a/examples/USER/misc/charge_regulation/log.11Apr21.chreg-acid-real.g++.1 b/examples/PACKAGES/USER-MISC/charge_regulation/log.11Apr21.chreg-acid-real.g++.1 similarity index 100% rename from examples/USER/misc/charge_regulation/log.11Apr21.chreg-acid-real.g++.1 rename to examples/PACKAGES/USER-MISC/charge_regulation/log.11Apr21.chreg-acid-real.g++.1 diff --git a/examples/USER/misc/charge_regulation/log.11Apr21.chreg-acid-real.g++.4 b/examples/PACKAGES/USER-MISC/charge_regulation/log.11Apr21.chreg-acid-real.g++.4 similarity index 100% rename from examples/USER/misc/charge_regulation/log.11Apr21.chreg-acid-real.g++.4 rename to examples/PACKAGES/USER-MISC/charge_regulation/log.11Apr21.chreg-acid-real.g++.4 diff --git a/examples/USER/misc/cnp/Cu_Mishin1.eam b/examples/PACKAGES/USER-MISC/cnp/Cu_Mishin1.eam similarity index 100% rename from examples/USER/misc/cnp/Cu_Mishin1.eam rename to examples/PACKAGES/USER-MISC/cnp/Cu_Mishin1.eam diff --git a/examples/USER/misc/cnp/in.cnp b/examples/PACKAGES/USER-MISC/cnp/in.cnp similarity index 100% rename from examples/USER/misc/cnp/in.cnp rename to examples/PACKAGES/USER-MISC/cnp/in.cnp diff --git a/examples/USER/misc/cnp/log.31May17.cnp.g++.4 b/examples/PACKAGES/USER-MISC/cnp/log.31May17.cnp.g++.4 similarity index 100% rename from examples/USER/misc/cnp/log.31May17.cnp.g++.4 rename to examples/PACKAGES/USER-MISC/cnp/log.31May17.cnp.g++.4 diff --git a/examples/USER/misc/dpd_ext/README b/examples/PACKAGES/USER-MISC/dpd_ext/README similarity index 100% rename from examples/USER/misc/dpd_ext/README rename to examples/PACKAGES/USER-MISC/dpd_ext/README diff --git a/examples/USER/misc/dpd_ext/dpdext/dpdext.data b/examples/PACKAGES/USER-MISC/dpd_ext/dpdext/dpdext.data similarity index 100% rename from examples/USER/misc/dpd_ext/dpdext/dpdext.data rename to examples/PACKAGES/USER-MISC/dpd_ext/dpdext/dpdext.data diff --git a/examples/USER/misc/dpd_ext/dpdext/in.dpdext b/examples/PACKAGES/USER-MISC/dpd_ext/dpdext/in.dpdext similarity index 100% rename from examples/USER/misc/dpd_ext/dpdext/in.dpdext rename to examples/PACKAGES/USER-MISC/dpd_ext/dpdext/in.dpdext diff --git a/examples/USER/misc/dpd_ext/dpdext/log.10Mar21.dpdext.g++.1 b/examples/PACKAGES/USER-MISC/dpd_ext/dpdext/log.10Mar21.dpdext.g++.1 similarity index 100% rename from examples/USER/misc/dpd_ext/dpdext/log.10Mar21.dpdext.g++.1 rename to examples/PACKAGES/USER-MISC/dpd_ext/dpdext/log.10Mar21.dpdext.g++.1 diff --git a/examples/USER/misc/dpd_ext/dpdext/log.10Mar21.dpdext.g++.4 b/examples/PACKAGES/USER-MISC/dpd_ext/dpdext/log.10Mar21.dpdext.g++.4 similarity index 100% rename from examples/USER/misc/dpd_ext/dpdext/log.10Mar21.dpdext.g++.4 rename to examples/PACKAGES/USER-MISC/dpd_ext/dpdext/log.10Mar21.dpdext.g++.4 diff --git a/examples/USER/misc/dpd_ext/dpdext_tstat/cg_spce.data b/examples/PACKAGES/USER-MISC/dpd_ext/dpdext_tstat/cg_spce.data similarity index 100% rename from examples/USER/misc/dpd_ext/dpdext_tstat/cg_spce.data rename to examples/PACKAGES/USER-MISC/dpd_ext/dpdext_tstat/cg_spce.data diff --git a/examples/USER/misc/dpd_ext/dpdext_tstat/cg_spce_table.pot b/examples/PACKAGES/USER-MISC/dpd_ext/dpdext_tstat/cg_spce_table.pot similarity index 100% rename from examples/USER/misc/dpd_ext/dpdext_tstat/cg_spce_table.pot rename to examples/PACKAGES/USER-MISC/dpd_ext/dpdext_tstat/cg_spce_table.pot diff --git a/examples/USER/misc/dpd_ext/dpdext_tstat/in.cg_spce b/examples/PACKAGES/USER-MISC/dpd_ext/dpdext_tstat/in.cg_spce similarity index 100% rename from examples/USER/misc/dpd_ext/dpdext_tstat/in.cg_spce rename to examples/PACKAGES/USER-MISC/dpd_ext/dpdext_tstat/in.cg_spce diff --git a/examples/USER/misc/dpd_ext/dpdext_tstat/log.10Mar21.dpdext.g++.1 b/examples/PACKAGES/USER-MISC/dpd_ext/dpdext_tstat/log.10Mar21.dpdext.g++.1 similarity index 100% rename from examples/USER/misc/dpd_ext/dpdext_tstat/log.10Mar21.dpdext.g++.1 rename to examples/PACKAGES/USER-MISC/dpd_ext/dpdext_tstat/log.10Mar21.dpdext.g++.1 diff --git a/examples/USER/misc/dpd_ext/dpdext_tstat/log.10Mar21.dpdext.g++.4 b/examples/PACKAGES/USER-MISC/dpd_ext/dpdext_tstat/log.10Mar21.dpdext.g++.4 similarity index 100% rename from examples/USER/misc/dpd_ext/dpdext_tstat/log.10Mar21.dpdext.g++.4 rename to examples/PACKAGES/USER-MISC/dpd_ext/dpdext_tstat/log.10Mar21.dpdext.g++.4 diff --git a/examples/USER/misc/drip/C.drip b/examples/PACKAGES/USER-MISC/drip/C.drip similarity index 100% rename from examples/USER/misc/drip/C.drip rename to examples/PACKAGES/USER-MISC/drip/C.drip diff --git a/examples/USER/misc/drip/CH.rebo b/examples/PACKAGES/USER-MISC/drip/CH.rebo similarity index 100% rename from examples/USER/misc/drip/CH.rebo rename to examples/PACKAGES/USER-MISC/drip/CH.rebo diff --git a/examples/USER/misc/drip/README.txt b/examples/PACKAGES/USER-MISC/drip/README.txt similarity index 100% rename from examples/USER/misc/drip/README.txt rename to examples/PACKAGES/USER-MISC/drip/README.txt diff --git a/examples/USER/misc/drip/data.C b/examples/PACKAGES/USER-MISC/drip/data.C similarity index 100% rename from examples/USER/misc/drip/data.C rename to examples/PACKAGES/USER-MISC/drip/data.C diff --git a/examples/USER/misc/drip/data.CH b/examples/PACKAGES/USER-MISC/drip/data.CH similarity index 100% rename from examples/USER/misc/drip/data.CH rename to examples/PACKAGES/USER-MISC/drip/data.CH diff --git a/examples/USER/misc/drip/in.CH_drip b/examples/PACKAGES/USER-MISC/drip/in.CH_drip similarity index 100% rename from examples/USER/misc/drip/in.CH_drip rename to examples/PACKAGES/USER-MISC/drip/in.CH_drip diff --git a/examples/USER/misc/drip/in.C_drip b/examples/PACKAGES/USER-MISC/drip/in.C_drip similarity index 100% rename from examples/USER/misc/drip/in.C_drip rename to examples/PACKAGES/USER-MISC/drip/in.C_drip diff --git a/examples/USER/misc/drip/log.30Apr19.CH_drip.g++.1 b/examples/PACKAGES/USER-MISC/drip/log.30Apr19.CH_drip.g++.1 similarity index 100% rename from examples/USER/misc/drip/log.30Apr19.CH_drip.g++.1 rename to examples/PACKAGES/USER-MISC/drip/log.30Apr19.CH_drip.g++.1 diff --git a/examples/USER/misc/drip/log.30Apr19.CH_drip.g++.4 b/examples/PACKAGES/USER-MISC/drip/log.30Apr19.CH_drip.g++.4 similarity index 100% rename from examples/USER/misc/drip/log.30Apr19.CH_drip.g++.4 rename to examples/PACKAGES/USER-MISC/drip/log.30Apr19.CH_drip.g++.4 diff --git a/examples/USER/misc/drip/log.30Apr19.C_drip.g++.1 b/examples/PACKAGES/USER-MISC/drip/log.30Apr19.C_drip.g++.1 similarity index 100% rename from examples/USER/misc/drip/log.30Apr19.C_drip.g++.1 rename to examples/PACKAGES/USER-MISC/drip/log.30Apr19.C_drip.g++.1 diff --git a/examples/USER/misc/drip/log.30Apr19.C_drip.g++.4 b/examples/PACKAGES/USER-MISC/drip/log.30Apr19.C_drip.g++.4 similarity index 100% rename from examples/USER/misc/drip/log.30Apr19.C_drip.g++.4 rename to examples/PACKAGES/USER-MISC/drip/log.30Apr19.C_drip.g++.4 diff --git a/examples/USER/misc/e3b/README b/examples/PACKAGES/USER-MISC/e3b/README similarity index 100% rename from examples/USER/misc/e3b/README rename to examples/PACKAGES/USER-MISC/e3b/README diff --git a/examples/USER/misc/e3b/e3b_box.data b/examples/PACKAGES/USER-MISC/e3b/e3b_box.data similarity index 100% rename from examples/USER/misc/e3b/e3b_box.data rename to examples/PACKAGES/USER-MISC/e3b/e3b_box.data diff --git a/examples/USER/misc/e3b/in.e3b-tip4p2005 b/examples/PACKAGES/USER-MISC/e3b/in.e3b-tip4p2005 similarity index 100% rename from examples/USER/misc/e3b/in.e3b-tip4p2005 rename to examples/PACKAGES/USER-MISC/e3b/in.e3b-tip4p2005 diff --git a/examples/USER/misc/e3b/log.29Mar2019.e3b-tip4p2005.g++.1 b/examples/PACKAGES/USER-MISC/e3b/log.29Mar2019.e3b-tip4p2005.g++.1 similarity index 100% rename from examples/USER/misc/e3b/log.29Mar2019.e3b-tip4p2005.g++.1 rename to examples/PACKAGES/USER-MISC/e3b/log.29Mar2019.e3b-tip4p2005.g++.1 diff --git a/examples/USER/misc/e3b/log.29Mar2019.e3b-tip4p2005.g++.4 b/examples/PACKAGES/USER-MISC/e3b/log.29Mar2019.e3b-tip4p2005.g++.4 similarity index 100% rename from examples/USER/misc/e3b/log.29Mar2019.e3b-tip4p2005.g++.4 rename to examples/PACKAGES/USER-MISC/e3b/log.29Mar2019.e3b-tip4p2005.g++.4 diff --git a/examples/USER/misc/edip/Si.edip b/examples/PACKAGES/USER-MISC/edip/Si.edip similarity index 100% rename from examples/USER/misc/edip/Si.edip rename to examples/PACKAGES/USER-MISC/edip/Si.edip diff --git a/examples/USER/misc/edip/SiC.edip b/examples/PACKAGES/USER-MISC/edip/SiC.edip similarity index 100% rename from examples/USER/misc/edip/SiC.edip rename to examples/PACKAGES/USER-MISC/edip/SiC.edip diff --git a/examples/USER/misc/edip/data.SiC b/examples/PACKAGES/USER-MISC/edip/data.SiC similarity index 100% rename from examples/USER/misc/edip/data.SiC rename to examples/PACKAGES/USER-MISC/edip/data.SiC diff --git a/examples/USER/misc/edip/in.edip-Si b/examples/PACKAGES/USER-MISC/edip/in.edip-Si similarity index 100% rename from examples/USER/misc/edip/in.edip-Si rename to examples/PACKAGES/USER-MISC/edip/in.edip-Si diff --git a/examples/USER/misc/edip/in.edip-Si-multi b/examples/PACKAGES/USER-MISC/edip/in.edip-Si-multi similarity index 100% rename from examples/USER/misc/edip/in.edip-Si-multi rename to examples/PACKAGES/USER-MISC/edip/in.edip-Si-multi diff --git a/examples/USER/misc/edip/in.edip-SiC b/examples/PACKAGES/USER-MISC/edip/in.edip-SiC similarity index 100% rename from examples/USER/misc/edip/in.edip-SiC rename to examples/PACKAGES/USER-MISC/edip/in.edip-SiC diff --git a/examples/USER/misc/edip/log.4May2017.g++.edip-Si-multi.1 b/examples/PACKAGES/USER-MISC/edip/log.4May2017.g++.edip-Si-multi.1 similarity index 100% rename from examples/USER/misc/edip/log.4May2017.g++.edip-Si-multi.1 rename to examples/PACKAGES/USER-MISC/edip/log.4May2017.g++.edip-Si-multi.1 diff --git a/examples/USER/misc/edip/log.4May2017.g++.edip-Si-multi.4 b/examples/PACKAGES/USER-MISC/edip/log.4May2017.g++.edip-Si-multi.4 similarity index 100% rename from examples/USER/misc/edip/log.4May2017.g++.edip-Si-multi.4 rename to examples/PACKAGES/USER-MISC/edip/log.4May2017.g++.edip-Si-multi.4 diff --git a/examples/USER/misc/edip/log.4May2017.g++.edip-Si.1 b/examples/PACKAGES/USER-MISC/edip/log.4May2017.g++.edip-Si.1 similarity index 100% rename from examples/USER/misc/edip/log.4May2017.g++.edip-Si.1 rename to examples/PACKAGES/USER-MISC/edip/log.4May2017.g++.edip-Si.1 diff --git a/examples/USER/misc/edip/log.4May2017.g++.edip-Si.4 b/examples/PACKAGES/USER-MISC/edip/log.4May2017.g++.edip-Si.4 similarity index 100% rename from examples/USER/misc/edip/log.4May2017.g++.edip-Si.4 rename to examples/PACKAGES/USER-MISC/edip/log.4May2017.g++.edip-Si.4 diff --git a/examples/USER/misc/edip/log.4May2017.g++.edip-SiC.1 b/examples/PACKAGES/USER-MISC/edip/log.4May2017.g++.edip-SiC.1 similarity index 100% rename from examples/USER/misc/edip/log.4May2017.g++.edip-SiC.1 rename to examples/PACKAGES/USER-MISC/edip/log.4May2017.g++.edip-SiC.1 diff --git a/examples/USER/misc/edip/log.4May2017.g++.edip-SiC.4 b/examples/PACKAGES/USER-MISC/edip/log.4May2017.g++.edip-SiC.4 similarity index 100% rename from examples/USER/misc/edip/log.4May2017.g++.edip-SiC.4 rename to examples/PACKAGES/USER-MISC/edip/log.4May2017.g++.edip-SiC.4 diff --git a/examples/USER/misc/ees/Data_region b/examples/PACKAGES/USER-MISC/ees/Data_region similarity index 100% rename from examples/USER/misc/ees/Data_region rename to examples/PACKAGES/USER-MISC/ees/Data_region diff --git a/examples/USER/misc/ees/Data_wall b/examples/PACKAGES/USER-MISC/ees/Data_wall similarity index 100% rename from examples/USER/misc/ees/Data_wall rename to examples/PACKAGES/USER-MISC/ees/Data_wall diff --git a/examples/USER/misc/ees/README b/examples/PACKAGES/USER-MISC/ees/README similarity index 100% rename from examples/USER/misc/ees/README rename to examples/PACKAGES/USER-MISC/ees/README diff --git a/examples/USER/misc/ees/in.fix_wall b/examples/PACKAGES/USER-MISC/ees/in.fix_wall similarity index 100% rename from examples/USER/misc/ees/in.fix_wall rename to examples/PACKAGES/USER-MISC/ees/in.fix_wall diff --git a/examples/USER/misc/ees/in.fix_wall_region b/examples/PACKAGES/USER-MISC/ees/in.fix_wall_region similarity index 100% rename from examples/USER/misc/ees/in.fix_wall_region rename to examples/PACKAGES/USER-MISC/ees/in.fix_wall_region diff --git a/examples/USER/misc/ees/log.23Jun17.fix_wall.g++.1 b/examples/PACKAGES/USER-MISC/ees/log.23Jun17.fix_wall.g++.1 similarity index 100% rename from examples/USER/misc/ees/log.23Jun17.fix_wall.g++.1 rename to examples/PACKAGES/USER-MISC/ees/log.23Jun17.fix_wall.g++.1 diff --git a/examples/USER/misc/ees/log.23Jun17.fix_wall.g++.4 b/examples/PACKAGES/USER-MISC/ees/log.23Jun17.fix_wall.g++.4 similarity index 100% rename from examples/USER/misc/ees/log.23Jun17.fix_wall.g++.4 rename to examples/PACKAGES/USER-MISC/ees/log.23Jun17.fix_wall.g++.4 diff --git a/examples/USER/misc/ees/log.23Jun17.fix_wall_region.g++.1 b/examples/PACKAGES/USER-MISC/ees/log.23Jun17.fix_wall_region.g++.1 similarity index 100% rename from examples/USER/misc/ees/log.23Jun17.fix_wall_region.g++.1 rename to examples/PACKAGES/USER-MISC/ees/log.23Jun17.fix_wall_region.g++.1 diff --git a/examples/USER/misc/ees/log.23Jun17.fix_wall_region.g++.4 b/examples/PACKAGES/USER-MISC/ees/log.23Jun17.fix_wall_region.g++.4 similarity index 100% rename from examples/USER/misc/ees/log.23Jun17.fix_wall_region.g++.4 rename to examples/PACKAGES/USER-MISC/ees/log.23Jun17.fix_wall_region.g++.4 diff --git a/examples/USER/misc/electron_stopping/Si.Si.elstop b/examples/PACKAGES/USER-MISC/electron_stopping/Si.Si.elstop similarity index 100% rename from examples/USER/misc/electron_stopping/Si.Si.elstop rename to examples/PACKAGES/USER-MISC/electron_stopping/Si.Si.elstop diff --git a/examples/USER/misc/electron_stopping/Si.sw b/examples/PACKAGES/USER-MISC/electron_stopping/Si.sw similarity index 100% rename from examples/USER/misc/electron_stopping/Si.sw rename to examples/PACKAGES/USER-MISC/electron_stopping/Si.sw diff --git a/examples/USER/misc/electron_stopping/in.cascade_AlCu b/examples/PACKAGES/USER-MISC/electron_stopping/in.cascade_AlCu similarity index 100% rename from examples/USER/misc/electron_stopping/in.cascade_AlCu rename to examples/PACKAGES/USER-MISC/electron_stopping/in.cascade_AlCu diff --git a/examples/USER/misc/electron_stopping/in.cascade_SiSi b/examples/PACKAGES/USER-MISC/electron_stopping/in.cascade_SiSi similarity index 100% rename from examples/USER/misc/electron_stopping/in.cascade_SiSi rename to examples/PACKAGES/USER-MISC/electron_stopping/in.cascade_SiSi diff --git a/examples/USER/misc/electron_stopping/in.elstop b/examples/PACKAGES/USER-MISC/electron_stopping/in.elstop similarity index 100% rename from examples/USER/misc/electron_stopping/in.elstop rename to examples/PACKAGES/USER-MISC/electron_stopping/in.elstop diff --git a/examples/USER/misc/electron_stopping/in.elstop.only b/examples/PACKAGES/USER-MISC/electron_stopping/in.elstop.only similarity index 100% rename from examples/USER/misc/electron_stopping/in.elstop.only rename to examples/PACKAGES/USER-MISC/electron_stopping/in.elstop.only diff --git a/examples/USER/misc/electron_stopping/log.18Sep2020.cascade_AlCu.intel.1 b/examples/PACKAGES/USER-MISC/electron_stopping/log.18Sep2020.cascade_AlCu.intel.1 similarity index 100% rename from examples/USER/misc/electron_stopping/log.18Sep2020.cascade_AlCu.intel.1 rename to examples/PACKAGES/USER-MISC/electron_stopping/log.18Sep2020.cascade_AlCu.intel.1 diff --git a/examples/USER/misc/electron_stopping/log.18Sep2020.cascade_AlCu.intel.4 b/examples/PACKAGES/USER-MISC/electron_stopping/log.18Sep2020.cascade_AlCu.intel.4 similarity index 100% rename from examples/USER/misc/electron_stopping/log.18Sep2020.cascade_AlCu.intel.4 rename to examples/PACKAGES/USER-MISC/electron_stopping/log.18Sep2020.cascade_AlCu.intel.4 diff --git a/examples/USER/misc/electron_stopping/log.18Sep2020.cascade_SiSi.intel.1 b/examples/PACKAGES/USER-MISC/electron_stopping/log.18Sep2020.cascade_SiSi.intel.1 similarity index 100% rename from examples/USER/misc/electron_stopping/log.18Sep2020.cascade_SiSi.intel.1 rename to examples/PACKAGES/USER-MISC/electron_stopping/log.18Sep2020.cascade_SiSi.intel.1 diff --git a/examples/USER/misc/electron_stopping/log.18Sep2020.cascade_SiSi.intel.4 b/examples/PACKAGES/USER-MISC/electron_stopping/log.18Sep2020.cascade_SiSi.intel.4 similarity index 100% rename from examples/USER/misc/electron_stopping/log.18Sep2020.cascade_SiSi.intel.4 rename to examples/PACKAGES/USER-MISC/electron_stopping/log.18Sep2020.cascade_SiSi.intel.4 diff --git a/examples/USER/misc/electron_stopping/log.20Mar19.elstop.g++.1 b/examples/PACKAGES/USER-MISC/electron_stopping/log.20Mar19.elstop.g++.1 similarity index 100% rename from examples/USER/misc/electron_stopping/log.20Mar19.elstop.g++.1 rename to examples/PACKAGES/USER-MISC/electron_stopping/log.20Mar19.elstop.g++.1 diff --git a/examples/USER/misc/electron_stopping/log.20Mar19.elstop.g++.4 b/examples/PACKAGES/USER-MISC/electron_stopping/log.20Mar19.elstop.g++.4 similarity index 100% rename from examples/USER/misc/electron_stopping/log.20Mar19.elstop.g++.4 rename to examples/PACKAGES/USER-MISC/electron_stopping/log.20Mar19.elstop.g++.4 diff --git a/examples/USER/misc/electron_stopping/log.20Mar19.elstop.only.g++.1 b/examples/PACKAGES/USER-MISC/electron_stopping/log.20Mar19.elstop.only.g++.1 similarity index 100% rename from examples/USER/misc/electron_stopping/log.20Mar19.elstop.only.g++.1 rename to examples/PACKAGES/USER-MISC/electron_stopping/log.20Mar19.elstop.only.g++.1 diff --git a/examples/USER/misc/electron_stopping/log.20Mar19.elstop.only.g++.4 b/examples/PACKAGES/USER-MISC/electron_stopping/log.20Mar19.elstop.only.g++.4 similarity index 100% rename from examples/USER/misc/electron_stopping/log.20Mar19.elstop.only.g++.4 rename to examples/PACKAGES/USER-MISC/electron_stopping/log.20Mar19.elstop.only.g++.4 diff --git a/examples/USER/misc/entropy/Na_MendelevM_2014.eam.fs b/examples/PACKAGES/USER-MISC/entropy/Na_MendelevM_2014.eam.fs similarity index 100% rename from examples/USER/misc/entropy/Na_MendelevM_2014.eam.fs rename to examples/PACKAGES/USER-MISC/entropy/Na_MendelevM_2014.eam.fs diff --git a/examples/USER/misc/entropy/data.interface b/examples/PACKAGES/USER-MISC/entropy/data.interface similarity index 100% rename from examples/USER/misc/entropy/data.interface rename to examples/PACKAGES/USER-MISC/entropy/data.interface diff --git a/examples/USER/misc/entropy/in.entropy b/examples/PACKAGES/USER-MISC/entropy/in.entropy similarity index 100% rename from examples/USER/misc/entropy/in.entropy rename to examples/PACKAGES/USER-MISC/entropy/in.entropy diff --git a/examples/USER/misc/entropy/log.entropy b/examples/PACKAGES/USER-MISC/entropy/log.entropy similarity index 100% rename from examples/USER/misc/entropy/log.entropy rename to examples/PACKAGES/USER-MISC/entropy/log.entropy diff --git a/examples/USER/misc/extep/BN.data b/examples/PACKAGES/USER-MISC/extep/BN.data similarity index 100% rename from examples/USER/misc/extep/BN.data rename to examples/PACKAGES/USER-MISC/extep/BN.data diff --git a/examples/USER/misc/extep/in.extep-bn b/examples/PACKAGES/USER-MISC/extep/in.extep-bn similarity index 100% rename from examples/USER/misc/extep/in.extep-bn rename to examples/PACKAGES/USER-MISC/extep/in.extep-bn diff --git a/examples/USER/misc/extep/log.23Oct17.extep-bn.g++.1 b/examples/PACKAGES/USER-MISC/extep/log.23Oct17.extep-bn.g++.1 similarity index 100% rename from examples/USER/misc/extep/log.23Oct17.extep-bn.g++.1 rename to examples/PACKAGES/USER-MISC/extep/log.23Oct17.extep-bn.g++.1 diff --git a/examples/USER/misc/extep/log.23Oct17.extep-bn.g++.4 b/examples/PACKAGES/USER-MISC/extep/log.23Oct17.extep-bn.g++.4 similarity index 100% rename from examples/USER/misc/extep/log.23Oct17.extep-bn.g++.4 rename to examples/PACKAGES/USER-MISC/extep/log.23Oct17.extep-bn.g++.4 diff --git a/examples/USER/misc/filter_corotate/data.bpti b/examples/PACKAGES/USER-MISC/filter_corotate/data.bpti similarity index 100% rename from examples/USER/misc/filter_corotate/data.bpti rename to examples/PACKAGES/USER-MISC/filter_corotate/data.bpti diff --git a/examples/USER/colvars/data.peptide b/examples/PACKAGES/USER-MISC/filter_corotate/data.peptide similarity index 100% rename from examples/USER/colvars/data.peptide rename to examples/PACKAGES/USER-MISC/filter_corotate/data.peptide diff --git a/examples/USER/misc/filter_corotate/in.bpti b/examples/PACKAGES/USER-MISC/filter_corotate/in.bpti similarity index 100% rename from examples/USER/misc/filter_corotate/in.bpti rename to examples/PACKAGES/USER-MISC/filter_corotate/in.bpti diff --git a/examples/USER/misc/filter_corotate/in.peptide b/examples/PACKAGES/USER-MISC/filter_corotate/in.peptide similarity index 100% rename from examples/USER/misc/filter_corotate/in.peptide rename to examples/PACKAGES/USER-MISC/filter_corotate/in.peptide diff --git a/examples/USER/misc/filter_corotate/log.22Jun2017.bpti.g++.1 b/examples/PACKAGES/USER-MISC/filter_corotate/log.22Jun2017.bpti.g++.1 similarity index 100% rename from examples/USER/misc/filter_corotate/log.22Jun2017.bpti.g++.1 rename to examples/PACKAGES/USER-MISC/filter_corotate/log.22Jun2017.bpti.g++.1 diff --git a/examples/USER/misc/filter_corotate/log.22Jun2017.bpti.g++.4 b/examples/PACKAGES/USER-MISC/filter_corotate/log.22Jun2017.bpti.g++.4 similarity index 100% rename from examples/USER/misc/filter_corotate/log.22Jun2017.bpti.g++.4 rename to examples/PACKAGES/USER-MISC/filter_corotate/log.22Jun2017.bpti.g++.4 diff --git a/examples/USER/misc/filter_corotate/log.22Jun2017.peptide.g++.1 b/examples/PACKAGES/USER-MISC/filter_corotate/log.22Jun2017.peptide.g++.1 similarity index 100% rename from examples/USER/misc/filter_corotate/log.22Jun2017.peptide.g++.1 rename to examples/PACKAGES/USER-MISC/filter_corotate/log.22Jun2017.peptide.g++.1 diff --git a/examples/USER/misc/filter_corotate/log.22Jun2017.peptide.g++.4 b/examples/PACKAGES/USER-MISC/filter_corotate/log.22Jun2017.peptide.g++.4 similarity index 100% rename from examples/USER/misc/filter_corotate/log.22Jun2017.peptide.g++.4 rename to examples/PACKAGES/USER-MISC/filter_corotate/log.22Jun2017.peptide.g++.4 diff --git a/examples/USER/misc/flow_gauss/README b/examples/PACKAGES/USER-MISC/flow_gauss/README similarity index 100% rename from examples/USER/misc/flow_gauss/README rename to examples/PACKAGES/USER-MISC/flow_gauss/README diff --git a/examples/USER/misc/flow_gauss/in.GD b/examples/PACKAGES/USER-MISC/flow_gauss/in.GD similarity index 100% rename from examples/USER/misc/flow_gauss/in.GD rename to examples/PACKAGES/USER-MISC/flow_gauss/in.GD diff --git a/examples/USER/misc/flow_gauss/log.6Jul17.GD.g++.1 b/examples/PACKAGES/USER-MISC/flow_gauss/log.6Jul17.GD.g++.1 similarity index 100% rename from examples/USER/misc/flow_gauss/log.6Jul17.GD.g++.1 rename to examples/PACKAGES/USER-MISC/flow_gauss/log.6Jul17.GD.g++.1 diff --git a/examples/USER/misc/flow_gauss/log.6Jul17.GD.g++.4 b/examples/PACKAGES/USER-MISC/flow_gauss/log.6Jul17.GD.g++.4 similarity index 100% rename from examples/USER/misc/flow_gauss/log.6Jul17.GD.g++.4 rename to examples/PACKAGES/USER-MISC/flow_gauss/log.6Jul17.GD.g++.4 diff --git a/examples/USER/misc/flow_gauss/output-files/GD.out b/examples/PACKAGES/USER-MISC/flow_gauss/output-files/GD.out similarity index 100% rename from examples/USER/misc/flow_gauss/output-files/GD.out rename to examples/PACKAGES/USER-MISC/flow_gauss/output-files/GD.out diff --git a/examples/USER/misc/flow_gauss/output-files/Vy_profile b/examples/PACKAGES/USER-MISC/flow_gauss/output-files/Vy_profile similarity index 100% rename from examples/USER/misc/flow_gauss/output-files/Vy_profile rename to examples/PACKAGES/USER-MISC/flow_gauss/output-files/Vy_profile diff --git a/examples/USER/misc/flow_gauss/output-files/x_profiles b/examples/PACKAGES/USER-MISC/flow_gauss/output-files/x_profiles similarity index 100% rename from examples/USER/misc/flow_gauss/output-files/x_profiles rename to examples/PACKAGES/USER-MISC/flow_gauss/output-files/x_profiles diff --git a/examples/USER/misc/gauss_diel/data.gauss-diel b/examples/PACKAGES/USER-MISC/gauss_diel/data.gauss-diel similarity index 100% rename from examples/USER/misc/gauss_diel/data.gauss-diel rename to examples/PACKAGES/USER-MISC/gauss_diel/data.gauss-diel diff --git a/examples/USER/misc/gauss_diel/in.gauss-diel b/examples/PACKAGES/USER-MISC/gauss_diel/in.gauss-diel similarity index 100% rename from examples/USER/misc/gauss_diel/in.gauss-diel rename to examples/PACKAGES/USER-MISC/gauss_diel/in.gauss-diel diff --git a/examples/USER/misc/gauss_diel/in.gauss-diel-cg b/examples/PACKAGES/USER-MISC/gauss_diel/in.gauss-diel-cg similarity index 100% rename from examples/USER/misc/gauss_diel/in.gauss-diel-cg rename to examples/PACKAGES/USER-MISC/gauss_diel/in.gauss-diel-cg diff --git a/examples/USER/misc/gauss_diel/in.gauss-diel-split b/examples/PACKAGES/USER-MISC/gauss_diel/in.gauss-diel-split similarity index 100% rename from examples/USER/misc/gauss_diel/in.gauss-diel-split rename to examples/PACKAGES/USER-MISC/gauss_diel/in.gauss-diel-split diff --git a/examples/USER/misc/gauss_diel/log.gauss-diel b/examples/PACKAGES/USER-MISC/gauss_diel/log.gauss-diel similarity index 100% rename from examples/USER/misc/gauss_diel/log.gauss-diel rename to examples/PACKAGES/USER-MISC/gauss_diel/log.gauss-diel diff --git a/examples/USER/misc/gauss_diel/log.gauss-diel-cg b/examples/PACKAGES/USER-MISC/gauss_diel/log.gauss-diel-cg similarity index 100% rename from examples/USER/misc/gauss_diel/log.gauss-diel-cg rename to examples/PACKAGES/USER-MISC/gauss_diel/log.gauss-diel-cg diff --git a/examples/USER/misc/gauss_diel/log.gauss-diel-split b/examples/PACKAGES/USER-MISC/gauss_diel/log.gauss-diel-split similarity index 100% rename from examples/USER/misc/gauss_diel/log.gauss-diel-split rename to examples/PACKAGES/USER-MISC/gauss_diel/log.gauss-diel-split diff --git a/examples/USER/misc/gle/data.h2o-quantum b/examples/PACKAGES/USER-MISC/gle/data.h2o-quantum similarity index 100% rename from examples/USER/misc/gle/data.h2o-quantum rename to examples/PACKAGES/USER-MISC/gle/data.h2o-quantum diff --git a/examples/USER/misc/gle/data.h2o-smart b/examples/PACKAGES/USER-MISC/gle/data.h2o-smart similarity index 100% rename from examples/USER/misc/gle/data.h2o-smart rename to examples/PACKAGES/USER-MISC/gle/data.h2o-smart diff --git a/examples/USER/misc/gle/in.h2o-quantum b/examples/PACKAGES/USER-MISC/gle/in.h2o-quantum similarity index 100% rename from examples/USER/misc/gle/in.h2o-quantum rename to examples/PACKAGES/USER-MISC/gle/in.h2o-quantum diff --git a/examples/USER/misc/gle/in.h2o-smart b/examples/PACKAGES/USER-MISC/gle/in.h2o-smart similarity index 100% rename from examples/USER/misc/gle/in.h2o-smart rename to examples/PACKAGES/USER-MISC/gle/in.h2o-smart diff --git a/examples/USER/misc/gle/log.h2o-quantum b/examples/PACKAGES/USER-MISC/gle/log.h2o-quantum similarity index 100% rename from examples/USER/misc/gle/log.h2o-quantum rename to examples/PACKAGES/USER-MISC/gle/log.h2o-quantum diff --git a/examples/USER/misc/gle/log.h2o-smart b/examples/PACKAGES/USER-MISC/gle/log.h2o-smart similarity index 100% rename from examples/USER/misc/gle/log.h2o-smart rename to examples/PACKAGES/USER-MISC/gle/log.h2o-smart diff --git a/examples/USER/misc/gle/qt-300k.A b/examples/PACKAGES/USER-MISC/gle/qt-300k.A similarity index 100% rename from examples/USER/misc/gle/qt-300k.A rename to examples/PACKAGES/USER-MISC/gle/qt-300k.A diff --git a/examples/USER/misc/gle/qt-300k.C b/examples/PACKAGES/USER-MISC/gle/qt-300k.C similarity index 100% rename from examples/USER/misc/gle/qt-300k.C rename to examples/PACKAGES/USER-MISC/gle/qt-300k.C diff --git a/examples/USER/misc/gle/smart.A b/examples/PACKAGES/USER-MISC/gle/smart.A similarity index 100% rename from examples/USER/misc/gle/smart.A rename to examples/PACKAGES/USER-MISC/gle/smart.A diff --git a/examples/USER/misc/grem/README b/examples/PACKAGES/USER-MISC/grem/README similarity index 100% rename from examples/USER/misc/grem/README rename to examples/PACKAGES/USER-MISC/grem/README diff --git a/examples/USER/misc/grem/lj-6rep/400/restart.init b/examples/PACKAGES/USER-MISC/grem/lj-6rep/400/restart.init similarity index 100% rename from examples/USER/misc/grem/lj-6rep/400/restart.init rename to examples/PACKAGES/USER-MISC/grem/lj-6rep/400/restart.init diff --git a/examples/USER/misc/grem/lj-6rep/405/restart.init b/examples/PACKAGES/USER-MISC/grem/lj-6rep/405/restart.init similarity index 100% rename from examples/USER/misc/grem/lj-6rep/405/restart.init rename to examples/PACKAGES/USER-MISC/grem/lj-6rep/405/restart.init diff --git a/examples/USER/misc/grem/lj-6rep/410/restart.init b/examples/PACKAGES/USER-MISC/grem/lj-6rep/410/restart.init similarity index 100% rename from examples/USER/misc/grem/lj-6rep/410/restart.init rename to examples/PACKAGES/USER-MISC/grem/lj-6rep/410/restart.init diff --git a/examples/USER/misc/grem/lj-6rep/415/restart.init b/examples/PACKAGES/USER-MISC/grem/lj-6rep/415/restart.init similarity index 100% rename from examples/USER/misc/grem/lj-6rep/415/restart.init rename to examples/PACKAGES/USER-MISC/grem/lj-6rep/415/restart.init diff --git a/examples/USER/misc/grem/lj-6rep/420/restart.init b/examples/PACKAGES/USER-MISC/grem/lj-6rep/420/restart.init similarity index 100% rename from examples/USER/misc/grem/lj-6rep/420/restart.init rename to examples/PACKAGES/USER-MISC/grem/lj-6rep/420/restart.init diff --git a/examples/USER/misc/grem/lj-6rep/425/restart.init b/examples/PACKAGES/USER-MISC/grem/lj-6rep/425/restart.init similarity index 100% rename from examples/USER/misc/grem/lj-6rep/425/restart.init rename to examples/PACKAGES/USER-MISC/grem/lj-6rep/425/restart.init diff --git a/examples/USER/misc/grem/lj-6rep/clean.sh b/examples/PACKAGES/USER-MISC/grem/lj-6rep/clean.sh similarity index 100% rename from examples/USER/misc/grem/lj-6rep/clean.sh rename to examples/PACKAGES/USER-MISC/grem/lj-6rep/clean.sh diff --git a/examples/USER/misc/grem/lj-6rep/double-re-short.py b/examples/PACKAGES/USER-MISC/grem/lj-6rep/double-re-short.py similarity index 100% rename from examples/USER/misc/grem/lj-6rep/double-re-short.py rename to examples/PACKAGES/USER-MISC/grem/lj-6rep/double-re-short.py diff --git a/examples/USER/misc/grem/lj-6rep/in.gREM b/examples/PACKAGES/USER-MISC/grem/lj-6rep/in.gREM similarity index 100% rename from examples/USER/misc/grem/lj-6rep/in.gREM rename to examples/PACKAGES/USER-MISC/grem/lj-6rep/in.gREM diff --git a/examples/USER/misc/grem/lj-6rep/run.sh b/examples/PACKAGES/USER-MISC/grem/lj-6rep/run.sh similarity index 100% rename from examples/USER/misc/grem/lj-6rep/run.sh rename to examples/PACKAGES/USER-MISC/grem/lj-6rep/run.sh diff --git a/examples/USER/misc/grem/lj-6rep/walker.bkp b/examples/PACKAGES/USER-MISC/grem/lj-6rep/walker.bkp similarity index 100% rename from examples/USER/misc/grem/lj-6rep/walker.bkp rename to examples/PACKAGES/USER-MISC/grem/lj-6rep/walker.bkp diff --git a/examples/USER/misc/grem/lj-single/in.gREM-npt b/examples/PACKAGES/USER-MISC/grem/lj-single/in.gREM-npt similarity index 100% rename from examples/USER/misc/grem/lj-single/in.gREM-npt rename to examples/PACKAGES/USER-MISC/grem/lj-single/in.gREM-npt diff --git a/examples/USER/misc/grem/lj-single/in.gREM-nvt b/examples/PACKAGES/USER-MISC/grem/lj-single/in.gREM-nvt similarity index 100% rename from examples/USER/misc/grem/lj-single/in.gREM-nvt rename to examples/PACKAGES/USER-MISC/grem/lj-single/in.gREM-nvt diff --git a/examples/USER/misc/grem/lj-single/lj.data b/examples/PACKAGES/USER-MISC/grem/lj-single/lj.data similarity index 100% rename from examples/USER/misc/grem/lj-single/lj.data rename to examples/PACKAGES/USER-MISC/grem/lj-single/lj.data diff --git a/examples/USER/misc/grem/lj-single/log.gREM-npt.9Nov16.g++.1 b/examples/PACKAGES/USER-MISC/grem/lj-single/log.gREM-npt.9Nov16.g++.1 similarity index 100% rename from examples/USER/misc/grem/lj-single/log.gREM-npt.9Nov16.g++.1 rename to examples/PACKAGES/USER-MISC/grem/lj-single/log.gREM-npt.9Nov16.g++.1 diff --git a/examples/USER/misc/grem/lj-single/log.gREM-npt.9Nov16.g++.4 b/examples/PACKAGES/USER-MISC/grem/lj-single/log.gREM-npt.9Nov16.g++.4 similarity index 100% rename from examples/USER/misc/grem/lj-single/log.gREM-npt.9Nov16.g++.4 rename to examples/PACKAGES/USER-MISC/grem/lj-single/log.gREM-npt.9Nov16.g++.4 diff --git a/examples/USER/misc/grem/lj-single/log.gREM-nvt.9Nov16.g++.1 b/examples/PACKAGES/USER-MISC/grem/lj-single/log.gREM-nvt.9Nov16.g++.1 similarity index 100% rename from examples/USER/misc/grem/lj-single/log.gREM-nvt.9Nov16.g++.1 rename to examples/PACKAGES/USER-MISC/grem/lj-single/log.gREM-nvt.9Nov16.g++.1 diff --git a/examples/USER/misc/grem/lj-single/log.gREM-nvt.9Nov16.g++.4 b/examples/PACKAGES/USER-MISC/grem/lj-single/log.gREM-nvt.9Nov16.g++.4 similarity index 100% rename from examples/USER/misc/grem/lj-single/log.gREM-nvt.9Nov16.g++.4 rename to examples/PACKAGES/USER-MISC/grem/lj-single/log.gREM-nvt.9Nov16.g++.4 diff --git a/examples/USER/misc/grem/lj-temper/0/lj.data b/examples/PACKAGES/USER-MISC/grem/lj-temper/0/lj.data similarity index 100% rename from examples/USER/misc/grem/lj-temper/0/lj.data rename to examples/PACKAGES/USER-MISC/grem/lj-temper/0/lj.data diff --git a/examples/USER/misc/grem/lj-temper/0/log.lammps.0 b/examples/PACKAGES/USER-MISC/grem/lj-temper/0/log.lammps.0 similarity index 100% rename from examples/USER/misc/grem/lj-temper/0/log.lammps.0 rename to examples/PACKAGES/USER-MISC/grem/lj-temper/0/log.lammps.0 diff --git a/examples/USER/misc/grem/lj-temper/1/lj.data b/examples/PACKAGES/USER-MISC/grem/lj-temper/1/lj.data similarity index 100% rename from examples/USER/misc/grem/lj-temper/1/lj.data rename to examples/PACKAGES/USER-MISC/grem/lj-temper/1/lj.data diff --git a/examples/USER/misc/grem/lj-temper/1/log.lammps.1 b/examples/PACKAGES/USER-MISC/grem/lj-temper/1/log.lammps.1 similarity index 100% rename from examples/USER/misc/grem/lj-temper/1/log.lammps.1 rename to examples/PACKAGES/USER-MISC/grem/lj-temper/1/log.lammps.1 diff --git a/examples/USER/misc/grem/lj-temper/2/lj.data b/examples/PACKAGES/USER-MISC/grem/lj-temper/2/lj.data similarity index 100% rename from examples/USER/misc/grem/lj-temper/2/lj.data rename to examples/PACKAGES/USER-MISC/grem/lj-temper/2/lj.data diff --git a/examples/USER/misc/grem/lj-temper/2/log.lammps.2 b/examples/PACKAGES/USER-MISC/grem/lj-temper/2/log.lammps.2 similarity index 100% rename from examples/USER/misc/grem/lj-temper/2/log.lammps.2 rename to examples/PACKAGES/USER-MISC/grem/lj-temper/2/log.lammps.2 diff --git a/examples/USER/misc/grem/lj-temper/3/lj.data b/examples/PACKAGES/USER-MISC/grem/lj-temper/3/lj.data similarity index 100% rename from examples/USER/misc/grem/lj-temper/3/lj.data rename to examples/PACKAGES/USER-MISC/grem/lj-temper/3/lj.data diff --git a/examples/USER/misc/grem/lj-temper/3/log.lammps.3 b/examples/PACKAGES/USER-MISC/grem/lj-temper/3/log.lammps.3 similarity index 100% rename from examples/USER/misc/grem/lj-temper/3/log.lammps.3 rename to examples/PACKAGES/USER-MISC/grem/lj-temper/3/log.lammps.3 diff --git a/examples/USER/misc/grem/lj-temper/in.gREM-temper b/examples/PACKAGES/USER-MISC/grem/lj-temper/in.gREM-temper similarity index 100% rename from examples/USER/misc/grem/lj-temper/in.gREM-temper rename to examples/PACKAGES/USER-MISC/grem/lj-temper/in.gREM-temper diff --git a/examples/USER/misc/hma/README b/examples/PACKAGES/USER-MISC/hma/README similarity index 100% rename from examples/USER/misc/hma/README rename to examples/PACKAGES/USER-MISC/hma/README diff --git a/examples/USER/misc/hma/hma.in b/examples/PACKAGES/USER-MISC/hma/hma.in similarity index 100% rename from examples/USER/misc/hma/hma.in rename to examples/PACKAGES/USER-MISC/hma/hma.in diff --git a/examples/USER/misc/hma/log.6Nov18.hma.g++.1 b/examples/PACKAGES/USER-MISC/hma/log.6Nov18.hma.g++.1 similarity index 100% rename from examples/USER/misc/hma/log.6Nov18.hma.g++.1 rename to examples/PACKAGES/USER-MISC/hma/log.6Nov18.hma.g++.1 diff --git a/examples/USER/misc/hma/log.6Nov18.hma.g++.4 b/examples/PACKAGES/USER-MISC/hma/log.6Nov18.hma.g++.4 similarity index 100% rename from examples/USER/misc/hma/log.6Nov18.hma.g++.4 rename to examples/PACKAGES/USER-MISC/hma/log.6Nov18.hma.g++.4 diff --git a/examples/USER/misc/ilp_graphene_hbn/BNC.tersoff b/examples/PACKAGES/USER-MISC/ilp_graphene_hbn/BNC.tersoff similarity index 100% rename from examples/USER/misc/ilp_graphene_hbn/BNC.tersoff rename to examples/PACKAGES/USER-MISC/ilp_graphene_hbn/BNC.tersoff diff --git a/examples/USER/misc/ilp_graphene_hbn/BNCH-old.ILP b/examples/PACKAGES/USER-MISC/ilp_graphene_hbn/BNCH-old.ILP similarity index 100% rename from examples/USER/misc/ilp_graphene_hbn/BNCH-old.ILP rename to examples/PACKAGES/USER-MISC/ilp_graphene_hbn/BNCH-old.ILP diff --git a/examples/USER/misc/ilp_graphene_hbn/Bi_gr_AB_stack_2L_noH.data b/examples/PACKAGES/USER-MISC/ilp_graphene_hbn/Bi_gr_AB_stack_2L_noH.data similarity index 100% rename from examples/USER/misc/ilp_graphene_hbn/Bi_gr_AB_stack_2L_noH.data rename to examples/PACKAGES/USER-MISC/ilp_graphene_hbn/Bi_gr_AB_stack_2L_noH.data diff --git a/examples/USER/misc/ilp_graphene_hbn/gr_hBN_Cstack_2L_noH.data b/examples/PACKAGES/USER-MISC/ilp_graphene_hbn/gr_hBN_Cstack_2L_noH.data similarity index 100% rename from examples/USER/misc/ilp_graphene_hbn/gr_hBN_Cstack_2L_noH.data rename to examples/PACKAGES/USER-MISC/ilp_graphene_hbn/gr_hBN_Cstack_2L_noH.data diff --git a/examples/USER/misc/ilp_graphene_hbn/hBN_AA_prime_stack_2L_noH.data b/examples/PACKAGES/USER-MISC/ilp_graphene_hbn/hBN_AA_prime_stack_2L_noH.data similarity index 100% rename from examples/USER/misc/ilp_graphene_hbn/hBN_AA_prime_stack_2L_noH.data rename to examples/PACKAGES/USER-MISC/ilp_graphene_hbn/hBN_AA_prime_stack_2L_noH.data diff --git a/examples/USER/misc/ilp_graphene_hbn/hBN_AB_stack_2L_noH_equi_300K.data b/examples/PACKAGES/USER-MISC/ilp_graphene_hbn/hBN_AB_stack_2L_noH_equi_300K.data similarity index 100% rename from examples/USER/misc/ilp_graphene_hbn/hBN_AB_stack_2L_noH_equi_300K.data rename to examples/PACKAGES/USER-MISC/ilp_graphene_hbn/hBN_AB_stack_2L_noH_equi_300K.data diff --git a/examples/USER/misc/ilp_graphene_hbn/in.bilayer-graphene b/examples/PACKAGES/USER-MISC/ilp_graphene_hbn/in.bilayer-graphene similarity index 100% rename from examples/USER/misc/ilp_graphene_hbn/in.bilayer-graphene rename to examples/PACKAGES/USER-MISC/ilp_graphene_hbn/in.bilayer-graphene diff --git a/examples/USER/misc/ilp_graphene_hbn/in.bilayer-hBN b/examples/PACKAGES/USER-MISC/ilp_graphene_hbn/in.bilayer-hBN similarity index 100% rename from examples/USER/misc/ilp_graphene_hbn/in.bilayer-hBN rename to examples/PACKAGES/USER-MISC/ilp_graphene_hbn/in.bilayer-hBN diff --git a/examples/USER/misc/ilp_graphene_hbn/in.grhBN b/examples/PACKAGES/USER-MISC/ilp_graphene_hbn/in.grhBN similarity index 100% rename from examples/USER/misc/ilp_graphene_hbn/in.grhBN rename to examples/PACKAGES/USER-MISC/ilp_graphene_hbn/in.grhBN diff --git a/examples/USER/misc/ilp_graphene_hbn/in.ilp_graphene_hbn b/examples/PACKAGES/USER-MISC/ilp_graphene_hbn/in.ilp_graphene_hbn similarity index 100% rename from examples/USER/misc/ilp_graphene_hbn/in.ilp_graphene_hbn rename to examples/PACKAGES/USER-MISC/ilp_graphene_hbn/in.ilp_graphene_hbn diff --git a/examples/USER/misc/ilp_graphene_hbn/log.31Jul19.bilayer-graphene.g++.1 b/examples/PACKAGES/USER-MISC/ilp_graphene_hbn/log.31Jul19.bilayer-graphene.g++.1 similarity index 100% rename from examples/USER/misc/ilp_graphene_hbn/log.31Jul19.bilayer-graphene.g++.1 rename to examples/PACKAGES/USER-MISC/ilp_graphene_hbn/log.31Jul19.bilayer-graphene.g++.1 diff --git a/examples/USER/misc/ilp_graphene_hbn/log.31Jul19.bilayer-graphene.g++.4 b/examples/PACKAGES/USER-MISC/ilp_graphene_hbn/log.31Jul19.bilayer-graphene.g++.4 similarity index 100% rename from examples/USER/misc/ilp_graphene_hbn/log.31Jul19.bilayer-graphene.g++.4 rename to examples/PACKAGES/USER-MISC/ilp_graphene_hbn/log.31Jul19.bilayer-graphene.g++.4 diff --git a/examples/USER/misc/ilp_graphene_hbn/log.31Jul19.bilayer-hBN.g++.1 b/examples/PACKAGES/USER-MISC/ilp_graphene_hbn/log.31Jul19.bilayer-hBN.g++.1 similarity index 100% rename from examples/USER/misc/ilp_graphene_hbn/log.31Jul19.bilayer-hBN.g++.1 rename to examples/PACKAGES/USER-MISC/ilp_graphene_hbn/log.31Jul19.bilayer-hBN.g++.1 diff --git a/examples/USER/misc/ilp_graphene_hbn/log.31Jul19.bilayer-hBN.g++.4 b/examples/PACKAGES/USER-MISC/ilp_graphene_hbn/log.31Jul19.bilayer-hBN.g++.4 similarity index 100% rename from examples/USER/misc/ilp_graphene_hbn/log.31Jul19.bilayer-hBN.g++.4 rename to examples/PACKAGES/USER-MISC/ilp_graphene_hbn/log.31Jul19.bilayer-hBN.g++.4 diff --git a/examples/USER/misc/ilp_graphene_hbn/log.31Jul19.grhBN.g++.1 b/examples/PACKAGES/USER-MISC/ilp_graphene_hbn/log.31Jul19.grhBN.g++.1 similarity index 100% rename from examples/USER/misc/ilp_graphene_hbn/log.31Jul19.grhBN.g++.1 rename to examples/PACKAGES/USER-MISC/ilp_graphene_hbn/log.31Jul19.grhBN.g++.1 diff --git a/examples/USER/misc/ilp_graphene_hbn/log.31Jul19.grhBN.g++.4 b/examples/PACKAGES/USER-MISC/ilp_graphene_hbn/log.31Jul19.grhBN.g++.4 similarity index 100% rename from examples/USER/misc/ilp_graphene_hbn/log.31Jul19.grhBN.g++.4 rename to examples/PACKAGES/USER-MISC/ilp_graphene_hbn/log.31Jul19.grhBN.g++.4 diff --git a/examples/USER/misc/ilp_graphene_hbn/log.31Jul19.ilp_graphene_hbn.g++.1 b/examples/PACKAGES/USER-MISC/ilp_graphene_hbn/log.31Jul19.ilp_graphene_hbn.g++.1 similarity index 100% rename from examples/USER/misc/ilp_graphene_hbn/log.31Jul19.ilp_graphene_hbn.g++.1 rename to examples/PACKAGES/USER-MISC/ilp_graphene_hbn/log.31Jul19.ilp_graphene_hbn.g++.1 diff --git a/examples/USER/misc/ilp_graphene_hbn/log.31Jul19.ilp_graphene_hbn.g++.4 b/examples/PACKAGES/USER-MISC/ilp_graphene_hbn/log.31Jul19.ilp_graphene_hbn.g++.4 similarity index 100% rename from examples/USER/misc/ilp_graphene_hbn/log.31Jul19.ilp_graphene_hbn.g++.4 rename to examples/PACKAGES/USER-MISC/ilp_graphene_hbn/log.31Jul19.ilp_graphene_hbn.g++.4 diff --git a/examples/USER/misc/imd/README b/examples/PACKAGES/USER-MISC/imd/README similarity index 100% rename from examples/USER/misc/imd/README rename to examples/PACKAGES/USER-MISC/imd/README diff --git a/examples/USER/misc/imd/bucky-plus-cnt-mol.psf b/examples/PACKAGES/USER-MISC/imd/bucky-plus-cnt-mol.psf similarity index 100% rename from examples/USER/misc/imd/bucky-plus-cnt-mol.psf rename to examples/PACKAGES/USER-MISC/imd/bucky-plus-cnt-mol.psf diff --git a/examples/USER/misc/imd/bucky_cnt_imd.vmd b/examples/PACKAGES/USER-MISC/imd/bucky_cnt_imd.vmd similarity index 100% rename from examples/USER/misc/imd/bucky_cnt_imd.vmd rename to examples/PACKAGES/USER-MISC/imd/bucky_cnt_imd.vmd diff --git a/examples/USER/misc/imd/data.bucky-plus-cnt b/examples/PACKAGES/USER-MISC/imd/data.bucky-plus-cnt similarity index 100% rename from examples/USER/misc/imd/data.bucky-plus-cnt rename to examples/PACKAGES/USER-MISC/imd/data.bucky-plus-cnt diff --git a/examples/USER/misc/imd/data.deca-ala-solv b/examples/PACKAGES/USER-MISC/imd/data.deca-ala-solv similarity index 100% rename from examples/USER/misc/imd/data.deca-ala-solv rename to examples/PACKAGES/USER-MISC/imd/data.deca-ala-solv diff --git a/examples/USER/misc/imd/deca-ala-solv.psf b/examples/PACKAGES/USER-MISC/imd/deca-ala-solv.psf similarity index 100% rename from examples/USER/misc/imd/deca-ala-solv.psf rename to examples/PACKAGES/USER-MISC/imd/deca-ala-solv.psf diff --git a/examples/USER/misc/imd/deca-ala-solv_imd-demo.vmd b/examples/PACKAGES/USER-MISC/imd/deca-ala-solv_imd-demo.vmd similarity index 100% rename from examples/USER/misc/imd/deca-ala-solv_imd-demo.vmd rename to examples/PACKAGES/USER-MISC/imd/deca-ala-solv_imd-demo.vmd diff --git a/examples/USER/misc/imd/deca-ala.psf b/examples/PACKAGES/USER-MISC/imd/deca-ala.psf similarity index 100% rename from examples/USER/misc/imd/deca-ala.psf rename to examples/PACKAGES/USER-MISC/imd/deca-ala.psf diff --git a/examples/USER/misc/imd/deca-ala_imd-demo.vmd b/examples/PACKAGES/USER-MISC/imd/deca-ala_imd-demo.vmd similarity index 100% rename from examples/USER/misc/imd/deca-ala_imd-demo.vmd rename to examples/PACKAGES/USER-MISC/imd/deca-ala_imd-demo.vmd diff --git a/examples/USER/misc/imd/falcon.tcl b/examples/PACKAGES/USER-MISC/imd/falcon.tcl similarity index 100% rename from examples/USER/misc/imd/falcon.tcl rename to examples/PACKAGES/USER-MISC/imd/falcon.tcl diff --git a/examples/USER/misc/imd/in.bucky-plus-cnt b/examples/PACKAGES/USER-MISC/imd/in.bucky-plus-cnt similarity index 100% rename from examples/USER/misc/imd/in.bucky-plus-cnt rename to examples/PACKAGES/USER-MISC/imd/in.bucky-plus-cnt diff --git a/examples/USER/misc/imd/in.bucky-plus-cnt-gpu b/examples/PACKAGES/USER-MISC/imd/in.bucky-plus-cnt-gpu similarity index 100% rename from examples/USER/misc/imd/in.bucky-plus-cnt-gpu rename to examples/PACKAGES/USER-MISC/imd/in.bucky-plus-cnt-gpu diff --git a/examples/USER/misc/imd/in.deca-ala-solv-filter_imd b/examples/PACKAGES/USER-MISC/imd/in.deca-ala-solv-filter_imd similarity index 100% rename from examples/USER/misc/imd/in.deca-ala-solv-filter_imd rename to examples/PACKAGES/USER-MISC/imd/in.deca-ala-solv-filter_imd diff --git a/examples/USER/misc/imd/in.deca-ala-solv_imd b/examples/PACKAGES/USER-MISC/imd/in.deca-ala-solv_imd similarity index 100% rename from examples/USER/misc/imd/in.deca-ala-solv_imd rename to examples/PACKAGES/USER-MISC/imd/in.deca-ala-solv_imd diff --git a/examples/USER/misc/imd/in.deca-ala_imd b/examples/PACKAGES/USER-MISC/imd/in.deca-ala_imd similarity index 100% rename from examples/USER/misc/imd/in.deca-ala_imd rename to examples/PACKAGES/USER-MISC/imd/in.deca-ala_imd diff --git a/examples/USER/misc/imd/in.deca-ala_imd-gpu b/examples/PACKAGES/USER-MISC/imd/in.deca-ala_imd-gpu similarity index 100% rename from examples/USER/misc/imd/in.deca-ala_imd-gpu rename to examples/PACKAGES/USER-MISC/imd/in.deca-ala_imd-gpu diff --git a/examples/USER/misc/imd/in.melt_imd b/examples/PACKAGES/USER-MISC/imd/in.melt_imd similarity index 100% rename from examples/USER/misc/imd/in.melt_imd rename to examples/PACKAGES/USER-MISC/imd/in.melt_imd diff --git a/examples/USER/misc/imd/in.melt_imd-gpu b/examples/PACKAGES/USER-MISC/imd/in.melt_imd-gpu similarity index 100% rename from examples/USER/misc/imd/in.melt_imd-gpu rename to examples/PACKAGES/USER-MISC/imd/in.melt_imd-gpu diff --git a/examples/USER/misc/imd/melt.psf b/examples/PACKAGES/USER-MISC/imd/melt.psf similarity index 100% rename from examples/USER/misc/imd/melt.psf rename to examples/PACKAGES/USER-MISC/imd/melt.psf diff --git a/examples/USER/misc/imd/melt_imd-demo.vmd b/examples/PACKAGES/USER-MISC/imd/melt_imd-demo.vmd similarity index 100% rename from examples/USER/misc/imd/melt_imd-demo.vmd rename to examples/PACKAGES/USER-MISC/imd/melt_imd-demo.vmd diff --git a/examples/USER/misc/ipi/C.opt.tersoff b/examples/PACKAGES/USER-MISC/ipi/C.opt.tersoff similarity index 100% rename from examples/USER/misc/ipi/C.opt.tersoff rename to examples/PACKAGES/USER-MISC/ipi/C.opt.tersoff diff --git a/examples/USER/misc/ipi/README b/examples/PACKAGES/USER-MISC/ipi/README similarity index 100% rename from examples/USER/misc/ipi/README rename to examples/PACKAGES/USER-MISC/ipi/README diff --git a/examples/USER/misc/ipi/data.graphene b/examples/PACKAGES/USER-MISC/ipi/data.graphene similarity index 100% rename from examples/USER/misc/ipi/data.graphene rename to examples/PACKAGES/USER-MISC/ipi/data.graphene diff --git a/examples/USER/misc/ipi/i-pi_input.xml b/examples/PACKAGES/USER-MISC/ipi/i-pi_input.xml similarity index 100% rename from examples/USER/misc/ipi/i-pi_input.xml rename to examples/PACKAGES/USER-MISC/ipi/i-pi_input.xml diff --git a/examples/USER/misc/ipi/i-pi_positions.xyz b/examples/PACKAGES/USER-MISC/ipi/i-pi_positions.xyz similarity index 100% rename from examples/USER/misc/ipi/i-pi_positions.xyz rename to examples/PACKAGES/USER-MISC/ipi/i-pi_positions.xyz diff --git a/examples/USER/misc/ipi/in.graphene b/examples/PACKAGES/USER-MISC/ipi/in.graphene similarity index 100% rename from examples/USER/misc/ipi/in.graphene rename to examples/PACKAGES/USER-MISC/ipi/in.graphene diff --git a/examples/USER/misc/kolmogorov_crespi_full/Bi_gr_AB_stack_2L_noH.data b/examples/PACKAGES/USER-MISC/kolmogorov_crespi_full/Bi_gr_AB_stack_2L_noH.data similarity index 100% rename from examples/USER/misc/kolmogorov_crespi_full/Bi_gr_AB_stack_2L_noH.data rename to examples/PACKAGES/USER-MISC/kolmogorov_crespi_full/Bi_gr_AB_stack_2L_noH.data diff --git a/examples/USER/misc/kolmogorov_crespi_full/Bi_gr_AB_stack_2L_noH_300K.data b/examples/PACKAGES/USER-MISC/kolmogorov_crespi_full/Bi_gr_AB_stack_2L_noH_300K.data similarity index 100% rename from examples/USER/misc/kolmogorov_crespi_full/Bi_gr_AB_stack_2L_noH_300K.data rename to examples/PACKAGES/USER-MISC/kolmogorov_crespi_full/Bi_gr_AB_stack_2L_noH_300K.data diff --git a/examples/USER/misc/kolmogorov_crespi_full/CC.KC-full b/examples/PACKAGES/USER-MISC/kolmogorov_crespi_full/CC.KC-full similarity index 100% rename from examples/USER/misc/kolmogorov_crespi_full/CC.KC-full rename to examples/PACKAGES/USER-MISC/kolmogorov_crespi_full/CC.KC-full diff --git a/examples/USER/misc/kolmogorov_crespi_full/CH.KC b/examples/PACKAGES/USER-MISC/kolmogorov_crespi_full/CH.KC similarity index 100% rename from examples/USER/misc/kolmogorov_crespi_full/CH.KC rename to examples/PACKAGES/USER-MISC/kolmogorov_crespi_full/CH.KC diff --git a/examples/USER/misc/kolmogorov_crespi_full/CH.rebo b/examples/PACKAGES/USER-MISC/kolmogorov_crespi_full/CH.rebo similarity index 100% rename from examples/USER/misc/kolmogorov_crespi_full/CH.rebo rename to examples/PACKAGES/USER-MISC/kolmogorov_crespi_full/CH.rebo diff --git a/examples/USER/misc/kolmogorov_crespi_full/CH_taper.KC b/examples/PACKAGES/USER-MISC/kolmogorov_crespi_full/CH_taper.KC similarity index 100% rename from examples/USER/misc/kolmogorov_crespi_full/CH_taper.KC rename to examples/PACKAGES/USER-MISC/kolmogorov_crespi_full/CH_taper.KC diff --git a/examples/USER/misc/kolmogorov_crespi_full/in.bilayer-graphene b/examples/PACKAGES/USER-MISC/kolmogorov_crespi_full/in.bilayer-graphene similarity index 100% rename from examples/USER/misc/kolmogorov_crespi_full/in.bilayer-graphene rename to examples/PACKAGES/USER-MISC/kolmogorov_crespi_full/in.bilayer-graphene diff --git a/examples/USER/misc/kolmogorov_crespi_full/log.5Jun19.bilayer-graphene.g++.1 b/examples/PACKAGES/USER-MISC/kolmogorov_crespi_full/log.5Jun19.bilayer-graphene.g++.1 similarity index 100% rename from examples/USER/misc/kolmogorov_crespi_full/log.5Jun19.bilayer-graphene.g++.1 rename to examples/PACKAGES/USER-MISC/kolmogorov_crespi_full/log.5Jun19.bilayer-graphene.g++.1 diff --git a/examples/USER/misc/kolmogorov_crespi_full/log.5Jun19.bilayer-graphene.g++.4 b/examples/PACKAGES/USER-MISC/kolmogorov_crespi_full/log.5Jun19.bilayer-graphene.g++.4 similarity index 100% rename from examples/USER/misc/kolmogorov_crespi_full/log.5Jun19.bilayer-graphene.g++.4 rename to examples/PACKAGES/USER-MISC/kolmogorov_crespi_full/log.5Jun19.bilayer-graphene.g++.4 diff --git a/examples/USER/misc/kolmogorov_crespi_full/log.5Jun19.bilayer-graphene.icc.1 b/examples/PACKAGES/USER-MISC/kolmogorov_crespi_full/log.5Jun19.bilayer-graphene.icc.1 similarity index 100% rename from examples/USER/misc/kolmogorov_crespi_full/log.5Jun19.bilayer-graphene.icc.1 rename to examples/PACKAGES/USER-MISC/kolmogorov_crespi_full/log.5Jun19.bilayer-graphene.icc.1 diff --git a/examples/USER/misc/kolmogorov_crespi_full/log.5Jun19.bilayer-graphene.icc.4 b/examples/PACKAGES/USER-MISC/kolmogorov_crespi_full/log.5Jun19.bilayer-graphene.icc.4 similarity index 100% rename from examples/USER/misc/kolmogorov_crespi_full/log.5Jun19.bilayer-graphene.icc.4 rename to examples/PACKAGES/USER-MISC/kolmogorov_crespi_full/log.5Jun19.bilayer-graphene.icc.4 diff --git a/examples/USER/misc/kolmogorov_crespi_z/CC.KC b/examples/PACKAGES/USER-MISC/kolmogorov_crespi_z/CC.KC similarity index 100% rename from examples/USER/misc/kolmogorov_crespi_z/CC.KC rename to examples/PACKAGES/USER-MISC/kolmogorov_crespi_z/CC.KC diff --git a/examples/USER/misc/kolmogorov_crespi_z/CH.rebo b/examples/PACKAGES/USER-MISC/kolmogorov_crespi_z/CH.rebo similarity index 100% rename from examples/USER/misc/kolmogorov_crespi_z/CH.rebo rename to examples/PACKAGES/USER-MISC/kolmogorov_crespi_z/CH.rebo diff --git a/examples/USER/misc/kolmogorov_crespi_z/data.bilayer-graphene b/examples/PACKAGES/USER-MISC/kolmogorov_crespi_z/data.bilayer-graphene similarity index 100% rename from examples/USER/misc/kolmogorov_crespi_z/data.bilayer-graphene rename to examples/PACKAGES/USER-MISC/kolmogorov_crespi_z/data.bilayer-graphene diff --git a/examples/USER/misc/kolmogorov_crespi_z/data.graphene-adsorbant b/examples/PACKAGES/USER-MISC/kolmogorov_crespi_z/data.graphene-adsorbant similarity index 100% rename from examples/USER/misc/kolmogorov_crespi_z/data.graphene-adsorbant rename to examples/PACKAGES/USER-MISC/kolmogorov_crespi_z/data.graphene-adsorbant diff --git a/examples/USER/misc/kolmogorov_crespi_z/in.atom-diffusion b/examples/PACKAGES/USER-MISC/kolmogorov_crespi_z/in.atom-diffusion similarity index 100% rename from examples/USER/misc/kolmogorov_crespi_z/in.atom-diffusion rename to examples/PACKAGES/USER-MISC/kolmogorov_crespi_z/in.atom-diffusion diff --git a/examples/USER/misc/kolmogorov_crespi_z/in.bilayer-graphene b/examples/PACKAGES/USER-MISC/kolmogorov_crespi_z/in.bilayer-graphene similarity index 100% rename from examples/USER/misc/kolmogorov_crespi_z/in.bilayer-graphene rename to examples/PACKAGES/USER-MISC/kolmogorov_crespi_z/in.bilayer-graphene diff --git a/examples/USER/misc/kolmogorov_crespi_z/log.16Mar18.atom-diffusion.g++.1 b/examples/PACKAGES/USER-MISC/kolmogorov_crespi_z/log.16Mar18.atom-diffusion.g++.1 similarity index 100% rename from examples/USER/misc/kolmogorov_crespi_z/log.16Mar18.atom-diffusion.g++.1 rename to examples/PACKAGES/USER-MISC/kolmogorov_crespi_z/log.16Mar18.atom-diffusion.g++.1 diff --git a/examples/USER/misc/kolmogorov_crespi_z/log.16Mar18.atom-diffusion.g++.4 b/examples/PACKAGES/USER-MISC/kolmogorov_crespi_z/log.16Mar18.atom-diffusion.g++.4 similarity index 100% rename from examples/USER/misc/kolmogorov_crespi_z/log.16Mar18.atom-diffusion.g++.4 rename to examples/PACKAGES/USER-MISC/kolmogorov_crespi_z/log.16Mar18.atom-diffusion.g++.4 diff --git a/examples/USER/misc/kolmogorov_crespi_z/log.30Apr19.bilayer-graphene.g++.1 b/examples/PACKAGES/USER-MISC/kolmogorov_crespi_z/log.30Apr19.bilayer-graphene.g++.1 similarity index 100% rename from examples/USER/misc/kolmogorov_crespi_z/log.30Apr19.bilayer-graphene.g++.1 rename to examples/PACKAGES/USER-MISC/kolmogorov_crespi_z/log.30Apr19.bilayer-graphene.g++.1 diff --git a/examples/USER/misc/kolmogorov_crespi_z/log.30Apr19.bilayer-graphene.g++.4 b/examples/PACKAGES/USER-MISC/kolmogorov_crespi_z/log.30Apr19.bilayer-graphene.g++.4 similarity index 100% rename from examples/USER/misc/kolmogorov_crespi_z/log.30Apr19.bilayer-graphene.g++.4 rename to examples/PACKAGES/USER-MISC/kolmogorov_crespi_z/log.30Apr19.bilayer-graphene.g++.4 diff --git a/examples/USER/misc/lebedeva/2particles.dat b/examples/PACKAGES/USER-MISC/lebedeva/2particles.dat similarity index 100% rename from examples/USER/misc/lebedeva/2particles.dat rename to examples/PACKAGES/USER-MISC/lebedeva/2particles.dat diff --git a/examples/USER/misc/lebedeva/2particles.in b/examples/PACKAGES/USER-MISC/lebedeva/2particles.in similarity index 100% rename from examples/USER/misc/lebedeva/2particles.in rename to examples/PACKAGES/USER-MISC/lebedeva/2particles.in diff --git a/examples/USER/misc/lebedeva/CC.Lebedeva b/examples/PACKAGES/USER-MISC/lebedeva/CC.Lebedeva similarity index 100% rename from examples/USER/misc/lebedeva/CC.Lebedeva rename to examples/PACKAGES/USER-MISC/lebedeva/CC.Lebedeva diff --git a/examples/USER/misc/lebedeva/LammpsResult.dat b/examples/PACKAGES/USER-MISC/lebedeva/LammpsResult.dat similarity index 100% rename from examples/USER/misc/lebedeva/LammpsResult.dat rename to examples/PACKAGES/USER-MISC/lebedeva/LammpsResult.dat diff --git a/examples/USER/misc/lebedeva/LebDer.pl b/examples/PACKAGES/USER-MISC/lebedeva/LebDer.pl similarity index 100% rename from examples/USER/misc/lebedeva/LebDer.pl rename to examples/PACKAGES/USER-MISC/lebedeva/LebDer.pl diff --git a/examples/USER/misc/lebedeva/lebedeva00.plot b/examples/PACKAGES/USER-MISC/lebedeva/lebedeva00.plot similarity index 100% rename from examples/USER/misc/lebedeva/lebedeva00.plot rename to examples/PACKAGES/USER-MISC/lebedeva/lebedeva00.plot diff --git a/examples/USER/misc/local_density/benzene_water/benzene_water.data b/examples/PACKAGES/USER-MISC/local_density/benzene_water/benzene_water.data similarity index 100% rename from examples/USER/misc/local_density/benzene_water/benzene_water.data rename to examples/PACKAGES/USER-MISC/local_density/benzene_water/benzene_water.data diff --git a/examples/USER/misc/local_density/benzene_water/benzene_water.in b/examples/PACKAGES/USER-MISC/local_density/benzene_water/benzene_water.in similarity index 100% rename from examples/USER/misc/local_density/benzene_water/benzene_water.in rename to examples/PACKAGES/USER-MISC/local_density/benzene_water/benzene_water.in diff --git a/examples/USER/misc/local_density/benzene_water/benzene_water.localdensity.table b/examples/PACKAGES/USER-MISC/local_density/benzene_water/benzene_water.localdensity.table similarity index 100% rename from examples/USER/misc/local_density/benzene_water/benzene_water.localdensity.table rename to examples/PACKAGES/USER-MISC/local_density/benzene_water/benzene_water.localdensity.table diff --git a/examples/USER/misc/local_density/benzene_water/benzene_water.pair.table b/examples/PACKAGES/USER-MISC/local_density/benzene_water/benzene_water.pair.table similarity index 100% rename from examples/USER/misc/local_density/benzene_water/benzene_water.pair.table rename to examples/PACKAGES/USER-MISC/local_density/benzene_water/benzene_water.pair.table diff --git a/examples/USER/misc/local_density/benzene_water/log.04Sep19.g++.1 b/examples/PACKAGES/USER-MISC/local_density/benzene_water/log.04Sep19.g++.1 similarity index 100% rename from examples/USER/misc/local_density/benzene_water/log.04Sep19.g++.1 rename to examples/PACKAGES/USER-MISC/local_density/benzene_water/log.04Sep19.g++.1 diff --git a/examples/USER/misc/local_density/methanol_implicit_water/log.04Sep19.g++.1 b/examples/PACKAGES/USER-MISC/local_density/methanol_implicit_water/log.04Sep19.g++.1 similarity index 100% rename from examples/USER/misc/local_density/methanol_implicit_water/log.04Sep19.g++.1 rename to examples/PACKAGES/USER-MISC/local_density/methanol_implicit_water/log.04Sep19.g++.1 diff --git a/examples/USER/misc/local_density/methanol_implicit_water/methanol_implicit_water.data b/examples/PACKAGES/USER-MISC/local_density/methanol_implicit_water/methanol_implicit_water.data similarity index 100% rename from examples/USER/misc/local_density/methanol_implicit_water/methanol_implicit_water.data rename to examples/PACKAGES/USER-MISC/local_density/methanol_implicit_water/methanol_implicit_water.data diff --git a/examples/USER/misc/local_density/methanol_implicit_water/methanol_implicit_water.in b/examples/PACKAGES/USER-MISC/local_density/methanol_implicit_water/methanol_implicit_water.in similarity index 100% rename from examples/USER/misc/local_density/methanol_implicit_water/methanol_implicit_water.in rename to examples/PACKAGES/USER-MISC/local_density/methanol_implicit_water/methanol_implicit_water.in diff --git a/examples/USER/misc/local_density/methanol_implicit_water/methanol_implicit_water.localdensity.table b/examples/PACKAGES/USER-MISC/local_density/methanol_implicit_water/methanol_implicit_water.localdensity.table similarity index 100% rename from examples/USER/misc/local_density/methanol_implicit_water/methanol_implicit_water.localdensity.table rename to examples/PACKAGES/USER-MISC/local_density/methanol_implicit_water/methanol_implicit_water.localdensity.table diff --git a/examples/USER/misc/local_density/methanol_implicit_water/methanol_implicit_water.pair.table b/examples/PACKAGES/USER-MISC/local_density/methanol_implicit_water/methanol_implicit_water.pair.table similarity index 100% rename from examples/USER/misc/local_density/methanol_implicit_water/methanol_implicit_water.pair.table rename to examples/PACKAGES/USER-MISC/local_density/methanol_implicit_water/methanol_implicit_water.pair.table diff --git a/examples/USER/misc/meam_spline/Si_1.meam.spline b/examples/PACKAGES/USER-MISC/meam_spline/Si_1.meam.spline similarity index 100% rename from examples/USER/misc/meam_spline/Si_1.meam.spline rename to examples/PACKAGES/USER-MISC/meam_spline/Si_1.meam.spline diff --git a/examples/USER/misc/meam_spline/TiO.meam.spline b/examples/PACKAGES/USER-MISC/meam_spline/TiO.meam.spline similarity index 100% rename from examples/USER/misc/meam_spline/TiO.meam.spline rename to examples/PACKAGES/USER-MISC/meam_spline/TiO.meam.spline diff --git a/examples/USER/misc/meam_spline/in.meam-spline.Si b/examples/PACKAGES/USER-MISC/meam_spline/in.meam-spline.Si similarity index 100% rename from examples/USER/misc/meam_spline/in.meam-spline.Si rename to examples/PACKAGES/USER-MISC/meam_spline/in.meam-spline.Si diff --git a/examples/USER/misc/meam_spline/in.meam-spline.TiO2 b/examples/PACKAGES/USER-MISC/meam_spline/in.meam-spline.TiO2 similarity index 100% rename from examples/USER/misc/meam_spline/in.meam-spline.TiO2 rename to examples/PACKAGES/USER-MISC/meam_spline/in.meam-spline.TiO2 diff --git a/examples/USER/misc/meam_spline/log.4May2017.meam-spline.Si.g++.1 b/examples/PACKAGES/USER-MISC/meam_spline/log.4May2017.meam-spline.Si.g++.1 similarity index 100% rename from examples/USER/misc/meam_spline/log.4May2017.meam-spline.Si.g++.1 rename to examples/PACKAGES/USER-MISC/meam_spline/log.4May2017.meam-spline.Si.g++.1 diff --git a/examples/USER/misc/meam_spline/log.4May2017.meam-spline.Si.g++.4 b/examples/PACKAGES/USER-MISC/meam_spline/log.4May2017.meam-spline.Si.g++.4 similarity index 100% rename from examples/USER/misc/meam_spline/log.4May2017.meam-spline.Si.g++.4 rename to examples/PACKAGES/USER-MISC/meam_spline/log.4May2017.meam-spline.Si.g++.4 diff --git a/examples/USER/misc/meam_spline/log.4May2017.meam-spline.TiO2.g++.1 b/examples/PACKAGES/USER-MISC/meam_spline/log.4May2017.meam-spline.TiO2.g++.1 similarity index 100% rename from examples/USER/misc/meam_spline/log.4May2017.meam-spline.TiO2.g++.1 rename to examples/PACKAGES/USER-MISC/meam_spline/log.4May2017.meam-spline.TiO2.g++.1 diff --git a/examples/USER/misc/meam_spline/log.4May2017.meam-spline.TiO2.g++.4 b/examples/PACKAGES/USER-MISC/meam_spline/log.4May2017.meam-spline.TiO2.g++.4 similarity index 100% rename from examples/USER/misc/meam_spline/log.4May2017.meam-spline.TiO2.g++.4 rename to examples/PACKAGES/USER-MISC/meam_spline/log.4May2017.meam-spline.TiO2.g++.4 diff --git a/examples/USER/misc/meam_sw_spline/Si/bcc.in b/examples/PACKAGES/USER-MISC/meam_sw_spline/Si/bcc.in similarity index 100% rename from examples/USER/misc/meam_sw_spline/Si/bcc.in rename to examples/PACKAGES/USER-MISC/meam_sw_spline/Si/bcc.in diff --git a/examples/USER/misc/meam_sw_spline/Si/bcc_relax.in b/examples/PACKAGES/USER-MISC/meam_sw_spline/Si/bcc_relax.in similarity index 100% rename from examples/USER/misc/meam_sw_spline/Si/bcc_relax.in rename to examples/PACKAGES/USER-MISC/meam_sw_spline/Si/bcc_relax.in diff --git a/examples/USER/misc/meam_sw_spline/Si/dc.in b/examples/PACKAGES/USER-MISC/meam_sw_spline/Si/dc.in similarity index 100% rename from examples/USER/misc/meam_sw_spline/Si/dc.in rename to examples/PACKAGES/USER-MISC/meam_sw_spline/Si/dc.in diff --git a/examples/USER/misc/meam_sw_spline/Si/dc_relax.in b/examples/PACKAGES/USER-MISC/meam_sw_spline/Si/dc_relax.in similarity index 100% rename from examples/USER/misc/meam_sw_spline/Si/dc_relax.in rename to examples/PACKAGES/USER-MISC/meam_sw_spline/Si/dc_relax.in diff --git a/examples/USER/misc/meam_sw_spline/Si/energy_conservation.meam.sw.in b/examples/PACKAGES/USER-MISC/meam_sw_spline/Si/energy_conservation.meam.sw.in similarity index 100% rename from examples/USER/misc/meam_sw_spline/Si/energy_conservation.meam.sw.in rename to examples/PACKAGES/USER-MISC/meam_sw_spline/Si/energy_conservation.meam.sw.in diff --git a/examples/USER/misc/meam_sw_spline/Si/fcc.in b/examples/PACKAGES/USER-MISC/meam_sw_spline/Si/fcc.in similarity index 100% rename from examples/USER/misc/meam_sw_spline/Si/fcc.in rename to examples/PACKAGES/USER-MISC/meam_sw_spline/Si/fcc.in diff --git a/examples/USER/misc/meam_sw_spline/Si/fcc_relax.in b/examples/PACKAGES/USER-MISC/meam_sw_spline/Si/fcc_relax.in similarity index 100% rename from examples/USER/misc/meam_sw_spline/Si/fcc_relax.in rename to examples/PACKAGES/USER-MISC/meam_sw_spline/Si/fcc_relax.in diff --git a/examples/USER/misc/meam_sw_spline/Si/hcp_relax.in b/examples/PACKAGES/USER-MISC/meam_sw_spline/Si/hcp_relax.in similarity index 100% rename from examples/USER/misc/meam_sw_spline/Si/hcp_relax.in rename to examples/PACKAGES/USER-MISC/meam_sw_spline/Si/hcp_relax.in diff --git a/examples/USER/misc/meam_sw_spline/Si/sc.in b/examples/PACKAGES/USER-MISC/meam_sw_spline/Si/sc.in similarity index 100% rename from examples/USER/misc/meam_sw_spline/Si/sc.in rename to examples/PACKAGES/USER-MISC/meam_sw_spline/Si/sc.in diff --git a/examples/USER/misc/meam_sw_spline/Si/sc_relax.in b/examples/PACKAGES/USER-MISC/meam_sw_spline/Si/sc_relax.in similarity index 100% rename from examples/USER/misc/meam_sw_spline/Si/sc_relax.in rename to examples/PACKAGES/USER-MISC/meam_sw_spline/Si/sc_relax.in diff --git a/examples/USER/misc/meam_sw_spline/Si/single_atom.in b/examples/PACKAGES/USER-MISC/meam_sw_spline/Si/single_atom.in similarity index 100% rename from examples/USER/misc/meam_sw_spline/Si/single_atom.in rename to examples/PACKAGES/USER-MISC/meam_sw_spline/Si/single_atom.in diff --git a/examples/USER/misc/meam_sw_spline/Ti/alpha.in b/examples/PACKAGES/USER-MISC/meam_sw_spline/Ti/alpha.in similarity index 100% rename from examples/USER/misc/meam_sw_spline/Ti/alpha.in rename to examples/PACKAGES/USER-MISC/meam_sw_spline/Ti/alpha.in diff --git a/examples/USER/misc/meam_sw_spline/Ti/alpha_relaxation.in b/examples/PACKAGES/USER-MISC/meam_sw_spline/Ti/alpha_relaxation.in similarity index 100% rename from examples/USER/misc/meam_sw_spline/Ti/alpha_relaxation.in rename to examples/PACKAGES/USER-MISC/meam_sw_spline/Ti/alpha_relaxation.in diff --git a/examples/USER/misc/meam_sw_spline/Ti/beta.in b/examples/PACKAGES/USER-MISC/meam_sw_spline/Ti/beta.in similarity index 100% rename from examples/USER/misc/meam_sw_spline/Ti/beta.in rename to examples/PACKAGES/USER-MISC/meam_sw_spline/Ti/beta.in diff --git a/examples/USER/misc/meam_sw_spline/Ti/energy_conservation.meam.sw.in b/examples/PACKAGES/USER-MISC/meam_sw_spline/Ti/energy_conservation.meam.sw.in similarity index 100% rename from examples/USER/misc/meam_sw_spline/Ti/energy_conservation.meam.sw.in rename to examples/PACKAGES/USER-MISC/meam_sw_spline/Ti/energy_conservation.meam.sw.in diff --git a/examples/USER/misc/meam_sw_spline/Ti/fcc.in b/examples/PACKAGES/USER-MISC/meam_sw_spline/Ti/fcc.in similarity index 100% rename from examples/USER/misc/meam_sw_spline/Ti/fcc.in rename to examples/PACKAGES/USER-MISC/meam_sw_spline/Ti/fcc.in diff --git a/examples/USER/misc/meam_sw_spline/Ti/hexagonal.in b/examples/PACKAGES/USER-MISC/meam_sw_spline/Ti/hexagonal.in similarity index 100% rename from examples/USER/misc/meam_sw_spline/Ti/hexagonal.in rename to examples/PACKAGES/USER-MISC/meam_sw_spline/Ti/hexagonal.in diff --git a/examples/USER/misc/meam_sw_spline/Ti/omega.in b/examples/PACKAGES/USER-MISC/meam_sw_spline/Ti/omega.in similarity index 100% rename from examples/USER/misc/meam_sw_spline/Ti/omega.in rename to examples/PACKAGES/USER-MISC/meam_sw_spline/Ti/omega.in diff --git a/examples/USER/misc/meam_sw_spline/Ti/single_atom.in b/examples/PACKAGES/USER-MISC/meam_sw_spline/Ti/single_atom.in similarity index 100% rename from examples/USER/misc/meam_sw_spline/Ti/single_atom.in rename to examples/PACKAGES/USER-MISC/meam_sw_spline/Ti/single_atom.in diff --git a/examples/USER/misc/momb/Ag_O1X5.5_O2X0.55.eam.fs b/examples/PACKAGES/USER-MISC/momb/Ag_O1X5.5_O2X0.55.eam.fs similarity index 100% rename from examples/USER/misc/momb/Ag_O1X5.5_O2X0.55.eam.fs rename to examples/PACKAGES/USER-MISC/momb/Ag_O1X5.5_O2X0.55.eam.fs diff --git a/examples/USER/misc/momb/README b/examples/PACKAGES/USER-MISC/momb/README similarity index 100% rename from examples/USER/misc/momb/README rename to examples/PACKAGES/USER-MISC/momb/README diff --git a/examples/USER/misc/momb/in.system b/examples/PACKAGES/USER-MISC/momb/in.system similarity index 100% rename from examples/USER/misc/momb/in.system rename to examples/PACKAGES/USER-MISC/momb/in.system diff --git a/examples/USER/misc/momb/log.17Mar2017.system.g++.1 b/examples/PACKAGES/USER-MISC/momb/log.17Mar2017.system.g++.1 similarity index 100% rename from examples/USER/misc/momb/log.17Mar2017.system.g++.1 rename to examples/PACKAGES/USER-MISC/momb/log.17Mar2017.system.g++.1 diff --git a/examples/USER/misc/momb/log.17Mar2017.system.g++.4 b/examples/PACKAGES/USER-MISC/momb/log.17Mar2017.system.g++.4 similarity index 100% rename from examples/USER/misc/momb/log.17Mar2017.system.g++.4 rename to examples/PACKAGES/USER-MISC/momb/log.17Mar2017.system.g++.4 diff --git a/examples/USER/misc/momb/system.data b/examples/PACKAGES/USER-MISC/momb/system.data similarity index 100% rename from examples/USER/misc/momb/system.data rename to examples/PACKAGES/USER-MISC/momb/system.data diff --git a/examples/USER/misc/momentum/in.momentum b/examples/PACKAGES/USER-MISC/momentum/in.momentum similarity index 100% rename from examples/USER/misc/momentum/in.momentum rename to examples/PACKAGES/USER-MISC/momentum/in.momentum diff --git a/examples/USER/misc/mop/data.mop b/examples/PACKAGES/USER-MISC/mop/data.mop similarity index 100% rename from examples/USER/misc/mop/data.mop rename to examples/PACKAGES/USER-MISC/mop/data.mop diff --git a/examples/USER/misc/mop/in.compute_stress_mop b/examples/PACKAGES/USER-MISC/mop/in.compute_stress_mop similarity index 100% rename from examples/USER/misc/mop/in.compute_stress_mop rename to examples/PACKAGES/USER-MISC/mop/in.compute_stress_mop diff --git a/examples/USER/misc/mop/log.5Sep18.compute_stress_mop.g++.1 b/examples/PACKAGES/USER-MISC/mop/log.5Sep18.compute_stress_mop.g++.1 similarity index 100% rename from examples/USER/misc/mop/log.5Sep18.compute_stress_mop.g++.1 rename to examples/PACKAGES/USER-MISC/mop/log.5Sep18.compute_stress_mop.g++.1 diff --git a/examples/USER/misc/mop/log.5Sep18.compute_stress_mop.g++.4 b/examples/PACKAGES/USER-MISC/mop/log.5Sep18.compute_stress_mop.g++.4 similarity index 100% rename from examples/USER/misc/mop/log.5Sep18.compute_stress_mop.g++.4 rename to examples/PACKAGES/USER-MISC/mop/log.5Sep18.compute_stress_mop.g++.4 diff --git a/examples/USER/misc/mop/moppz.time.reference b/examples/PACKAGES/USER-MISC/mop/moppz.time.reference similarity index 100% rename from examples/USER/misc/mop/moppz.time.reference rename to examples/PACKAGES/USER-MISC/mop/moppz.time.reference diff --git a/examples/USER/misc/mop/mopz0.time.reference b/examples/PACKAGES/USER-MISC/mop/mopz0.time.reference similarity index 100% rename from examples/USER/misc/mop/mopz0.time.reference rename to examples/PACKAGES/USER-MISC/mop/mopz0.time.reference diff --git a/examples/USER/misc/orient_eco/Ni_u3.eam b/examples/PACKAGES/USER-MISC/orient_eco/Ni_u3.eam similarity index 100% rename from examples/USER/misc/orient_eco/Ni_u3.eam rename to examples/PACKAGES/USER-MISC/orient_eco/Ni_u3.eam diff --git a/examples/USER/misc/orient_eco/data.sigma5 b/examples/PACKAGES/USER-MISC/orient_eco/data.sigma5 similarity index 100% rename from examples/USER/misc/orient_eco/data.sigma5 rename to examples/PACKAGES/USER-MISC/orient_eco/data.sigma5 diff --git a/examples/USER/misc/orient_eco/in.orient_eco b/examples/PACKAGES/USER-MISC/orient_eco/in.orient_eco similarity index 100% rename from examples/USER/misc/orient_eco/in.orient_eco rename to examples/PACKAGES/USER-MISC/orient_eco/in.orient_eco diff --git a/examples/USER/misc/orient_eco/log.2Jun2020.orent_eco.g++.1 b/examples/PACKAGES/USER-MISC/orient_eco/log.2Jun2020.orent_eco.g++.1 similarity index 100% rename from examples/USER/misc/orient_eco/log.2Jun2020.orent_eco.g++.1 rename to examples/PACKAGES/USER-MISC/orient_eco/log.2Jun2020.orent_eco.g++.1 diff --git a/examples/USER/misc/orient_eco/log.2Jun2020.orent_eco.g++.4 b/examples/PACKAGES/USER-MISC/orient_eco/log.2Jun2020.orent_eco.g++.4 similarity index 100% rename from examples/USER/misc/orient_eco/log.2Jun2020.orent_eco.g++.4 rename to examples/PACKAGES/USER-MISC/orient_eco/log.2Jun2020.orent_eco.g++.4 diff --git a/examples/USER/misc/orient_eco/sigma5.ori b/examples/PACKAGES/USER-MISC/orient_eco/sigma5.ori similarity index 100% rename from examples/USER/misc/orient_eco/sigma5.ori rename to examples/PACKAGES/USER-MISC/orient_eco/sigma5.ori diff --git a/examples/USER/misc/pafi/.gitignore b/examples/PACKAGES/USER-MISC/pafi/.gitignore similarity index 100% rename from examples/USER/misc/pafi/.gitignore rename to examples/PACKAGES/USER-MISC/pafi/.gitignore diff --git a/examples/USER/misc/pafi/README b/examples/PACKAGES/USER-MISC/pafi/README similarity index 100% rename from examples/USER/misc/pafi/README rename to examples/PACKAGES/USER-MISC/pafi/README diff --git a/examples/USER/misc/pafi/in.pafi b/examples/PACKAGES/USER-MISC/pafi/in.pafi similarity index 100% rename from examples/USER/misc/pafi/in.pafi rename to examples/PACKAGES/USER-MISC/pafi/in.pafi diff --git a/examples/USER/misc/pafi/log.15Apr20.pafi.g++.1 b/examples/PACKAGES/USER-MISC/pafi/log.15Apr20.pafi.g++.1 similarity index 100% rename from examples/USER/misc/pafi/log.15Apr20.pafi.g++.1 rename to examples/PACKAGES/USER-MISC/pafi/log.15Apr20.pafi.g++.1 diff --git a/examples/USER/misc/pafi/log.15Apr20.pafi.g++.4 b/examples/PACKAGES/USER-MISC/pafi/log.15Apr20.pafi.g++.4 similarity index 100% rename from examples/USER/misc/pafi/log.15Apr20.pafi.g++.4 rename to examples/PACKAGES/USER-MISC/pafi/log.15Apr20.pafi.g++.4 diff --git a/examples/USER/misc/pafi/pafipath.4.data b/examples/PACKAGES/USER-MISC/pafi/pafipath.4.data similarity index 100% rename from examples/USER/misc/pafi/pafipath.4.data rename to examples/PACKAGES/USER-MISC/pafi/pafipath.4.data diff --git a/examples/USER/misc/pimd/para-h2/H2.data b/examples/PACKAGES/USER-MISC/pimd/para-h2/H2.data similarity index 100% rename from examples/USER/misc/pimd/para-h2/H2.data rename to examples/PACKAGES/USER-MISC/pimd/para-h2/H2.data diff --git a/examples/USER/misc/pimd/para-h2/H2.xyz b/examples/PACKAGES/USER-MISC/pimd/para-h2/H2.xyz similarity index 100% rename from examples/USER/misc/pimd/para-h2/H2.xyz rename to examples/PACKAGES/USER-MISC/pimd/para-h2/H2.xyz diff --git a/examples/USER/misc/pimd/para-h2/NM.info b/examples/PACKAGES/USER-MISC/pimd/para-h2/NM.info similarity index 100% rename from examples/USER/misc/pimd/para-h2/NM.info rename to examples/PACKAGES/USER-MISC/pimd/para-h2/NM.info diff --git a/examples/USER/misc/pimd/para-h2/in.scp b/examples/PACKAGES/USER-MISC/pimd/para-h2/in.scp similarity index 100% rename from examples/USER/misc/pimd/para-h2/in.scp rename to examples/PACKAGES/USER-MISC/pimd/para-h2/in.scp diff --git a/examples/USER/misc/pimd/para-h2/pair.table b/examples/PACKAGES/USER-MISC/pimd/para-h2/pair.table similarity index 100% rename from examples/USER/misc/pimd/para-h2/pair.table rename to examples/PACKAGES/USER-MISC/pimd/para-h2/pair.table diff --git a/examples/USER/misc/pimd/para-h2/run.sh b/examples/PACKAGES/USER-MISC/pimd/para-h2/run.sh similarity index 100% rename from examples/USER/misc/pimd/para-h2/run.sh rename to examples/PACKAGES/USER-MISC/pimd/para-h2/run.sh diff --git a/examples/USER/misc/pimd/para-h2/vmd.src b/examples/PACKAGES/USER-MISC/pimd/para-h2/vmd.src similarity index 100% rename from examples/USER/misc/pimd/para-h2/vmd.src rename to examples/PACKAGES/USER-MISC/pimd/para-h2/vmd.src diff --git a/examples/USER/misc/pimd/prot-hairpin/in.scp b/examples/PACKAGES/USER-MISC/pimd/prot-hairpin/in.scp similarity index 100% rename from examples/USER/misc/pimd/prot-hairpin/in.scp rename to examples/PACKAGES/USER-MISC/pimd/prot-hairpin/in.scp diff --git a/examples/USER/misc/pimd/prot-hairpin/run.sh b/examples/PACKAGES/USER-MISC/pimd/prot-hairpin/run.sh similarity index 100% rename from examples/USER/misc/pimd/prot-hairpin/run.sh rename to examples/PACKAGES/USER-MISC/pimd/prot-hairpin/run.sh diff --git a/examples/USER/misc/pimd/prot-hairpin/system.data b/examples/PACKAGES/USER-MISC/pimd/prot-hairpin/system.data similarity index 100% rename from examples/USER/misc/pimd/prot-hairpin/system.data rename to examples/PACKAGES/USER-MISC/pimd/prot-hairpin/system.data diff --git a/examples/USER/misc/rhok/README.md b/examples/PACKAGES/USER-MISC/rhok/README.md similarity index 100% rename from examples/USER/misc/rhok/README.md rename to examples/PACKAGES/USER-MISC/rhok/README.md diff --git a/examples/USER/misc/rhok/in.crystal b/examples/PACKAGES/USER-MISC/rhok/in.crystal similarity index 100% rename from examples/USER/misc/rhok/in.crystal rename to examples/PACKAGES/USER-MISC/rhok/in.crystal diff --git a/examples/USER/misc/rhok/in.pinning b/examples/PACKAGES/USER-MISC/rhok/in.pinning similarity index 100% rename from examples/USER/misc/rhok/in.pinning rename to examples/PACKAGES/USER-MISC/rhok/in.pinning diff --git a/examples/USER/misc/rhok/in.setup b/examples/PACKAGES/USER-MISC/rhok/in.setup similarity index 100% rename from examples/USER/misc/rhok/in.setup rename to examples/PACKAGES/USER-MISC/rhok/in.setup diff --git a/examples/USER/misc/rhok/log.22Sep2017.crystal.g++.1 b/examples/PACKAGES/USER-MISC/rhok/log.22Sep2017.crystal.g++.1 similarity index 100% rename from examples/USER/misc/rhok/log.22Sep2017.crystal.g++.1 rename to examples/PACKAGES/USER-MISC/rhok/log.22Sep2017.crystal.g++.1 diff --git a/examples/USER/misc/rhok/log.22Sep2017.crystal.g++.4 b/examples/PACKAGES/USER-MISC/rhok/log.22Sep2017.crystal.g++.4 similarity index 100% rename from examples/USER/misc/rhok/log.22Sep2017.crystal.g++.4 rename to examples/PACKAGES/USER-MISC/rhok/log.22Sep2017.crystal.g++.4 diff --git a/examples/USER/misc/rhok/log.22Sep2017.pinning.g++.1 b/examples/PACKAGES/USER-MISC/rhok/log.22Sep2017.pinning.g++.1 similarity index 100% rename from examples/USER/misc/rhok/log.22Sep2017.pinning.g++.1 rename to examples/PACKAGES/USER-MISC/rhok/log.22Sep2017.pinning.g++.1 diff --git a/examples/USER/misc/rhok/log.22Sep2017.pinning.g++.4 b/examples/PACKAGES/USER-MISC/rhok/log.22Sep2017.pinning.g++.4 similarity index 100% rename from examples/USER/misc/rhok/log.22Sep2017.pinning.g++.4 rename to examples/PACKAGES/USER-MISC/rhok/log.22Sep2017.pinning.g++.4 diff --git a/examples/USER/misc/rhok/log.22Sep2017.setup.g++.1 b/examples/PACKAGES/USER-MISC/rhok/log.22Sep2017.setup.g++.1 similarity index 100% rename from examples/USER/misc/rhok/log.22Sep2017.setup.g++.1 rename to examples/PACKAGES/USER-MISC/rhok/log.22Sep2017.setup.g++.1 diff --git a/examples/USER/misc/rhok/log.22Sep2017.setup.g++.4 b/examples/PACKAGES/USER-MISC/rhok/log.22Sep2017.setup.g++.4 similarity index 100% rename from examples/USER/misc/rhok/log.22Sep2017.setup.g++.4 rename to examples/PACKAGES/USER-MISC/rhok/log.22Sep2017.setup.g++.4 diff --git a/examples/USER/misc/slater/data.after_equilibration b/examples/PACKAGES/USER-MISC/slater/data.after_equilibration similarity index 100% rename from examples/USER/misc/slater/data.after_equilibration rename to examples/PACKAGES/USER-MISC/slater/data.after_equilibration diff --git a/examples/USER/misc/slater/data.after_production_run b/examples/PACKAGES/USER-MISC/slater/data.after_production_run similarity index 100% rename from examples/USER/misc/slater/data.after_production_run rename to examples/PACKAGES/USER-MISC/slater/data.after_production_run diff --git a/examples/USER/misc/slater/in.slater b/examples/PACKAGES/USER-MISC/slater/in.slater similarity index 100% rename from examples/USER/misc/slater/in.slater rename to examples/PACKAGES/USER-MISC/slater/in.slater diff --git a/examples/USER/misc/slater/log.lammps b/examples/PACKAGES/USER-MISC/slater/log.lammps similarity index 100% rename from examples/USER/misc/slater/log.lammps rename to examples/PACKAGES/USER-MISC/slater/log.lammps diff --git a/examples/USER/misc/slater/tmp_1_1.rdf b/examples/PACKAGES/USER-MISC/slater/tmp_1_1.rdf similarity index 100% rename from examples/USER/misc/slater/tmp_1_1.rdf rename to examples/PACKAGES/USER-MISC/slater/tmp_1_1.rdf diff --git a/examples/USER/misc/slater/tmp_1_2.rdf b/examples/PACKAGES/USER-MISC/slater/tmp_1_2.rdf similarity index 100% rename from examples/USER/misc/slater/tmp_1_2.rdf rename to examples/PACKAGES/USER-MISC/slater/tmp_1_2.rdf diff --git a/examples/USER/misc/slater/tmp_1_3.rdf b/examples/PACKAGES/USER-MISC/slater/tmp_1_3.rdf similarity index 100% rename from examples/USER/misc/slater/tmp_1_3.rdf rename to examples/PACKAGES/USER-MISC/slater/tmp_1_3.rdf diff --git a/examples/USER/misc/slater/tmp_2_2.rdf b/examples/PACKAGES/USER-MISC/slater/tmp_2_2.rdf similarity index 100% rename from examples/USER/misc/slater/tmp_2_2.rdf rename to examples/PACKAGES/USER-MISC/slater/tmp_2_2.rdf diff --git a/examples/USER/misc/slater/tmp_2_3.rdf b/examples/PACKAGES/USER-MISC/slater/tmp_2_3.rdf similarity index 100% rename from examples/USER/misc/slater/tmp_2_3.rdf rename to examples/PACKAGES/USER-MISC/slater/tmp_2_3.rdf diff --git a/examples/USER/misc/slater/tmp_3_3.rdf b/examples/PACKAGES/USER-MISC/slater/tmp_3_3.rdf similarity index 100% rename from examples/USER/misc/slater/tmp_3_3.rdf rename to examples/PACKAGES/USER-MISC/slater/tmp_3_3.rdf diff --git a/examples/USER/misc/srp/data.chain b/examples/PACKAGES/USER-MISC/srp/data.chain similarity index 100% rename from examples/USER/misc/srp/data.chain rename to examples/PACKAGES/USER-MISC/srp/data.chain diff --git a/examples/USER/misc/srp/in.srp b/examples/PACKAGES/USER-MISC/srp/in.srp similarity index 100% rename from examples/USER/misc/srp/in.srp rename to examples/PACKAGES/USER-MISC/srp/in.srp diff --git a/examples/USER/misc/filter_corotate/data.peptide b/examples/PACKAGES/USER-MISC/temper_npt/data.peptide similarity index 100% rename from examples/USER/misc/filter_corotate/data.peptide rename to examples/PACKAGES/USER-MISC/temper_npt/data.peptide diff --git a/examples/USER/misc/temper_npt/in.temper_npt b/examples/PACKAGES/USER-MISC/temper_npt/in.temper_npt similarity index 100% rename from examples/USER/misc/temper_npt/in.temper_npt rename to examples/PACKAGES/USER-MISC/temper_npt/in.temper_npt diff --git a/examples/USER/misc/temper_npt/log.temper_npt-17Aug17.g++.8 b/examples/PACKAGES/USER-MISC/temper_npt/log.temper_npt-17Aug17.g++.8 similarity index 100% rename from examples/USER/misc/temper_npt/log.temper_npt-17Aug17.g++.8 rename to examples/PACKAGES/USER-MISC/temper_npt/log.temper_npt-17Aug17.g++.8 diff --git a/examples/USER/misc/temper_npt/log.temper_npt-17Aug17.g++.8.0 b/examples/PACKAGES/USER-MISC/temper_npt/log.temper_npt-17Aug17.g++.8.0 similarity index 100% rename from examples/USER/misc/temper_npt/log.temper_npt-17Aug17.g++.8.0 rename to examples/PACKAGES/USER-MISC/temper_npt/log.temper_npt-17Aug17.g++.8.0 diff --git a/examples/USER/misc/temper_npt/log.temper_npt-17Aug17.g++.8.1 b/examples/PACKAGES/USER-MISC/temper_npt/log.temper_npt-17Aug17.g++.8.1 similarity index 100% rename from examples/USER/misc/temper_npt/log.temper_npt-17Aug17.g++.8.1 rename to examples/PACKAGES/USER-MISC/temper_npt/log.temper_npt-17Aug17.g++.8.1 diff --git a/examples/USER/misc/temper_npt/log.temper_npt-17Aug17.g++.8.2 b/examples/PACKAGES/USER-MISC/temper_npt/log.temper_npt-17Aug17.g++.8.2 similarity index 100% rename from examples/USER/misc/temper_npt/log.temper_npt-17Aug17.g++.8.2 rename to examples/PACKAGES/USER-MISC/temper_npt/log.temper_npt-17Aug17.g++.8.2 diff --git a/examples/USER/misc/temper_npt/log.temper_npt-17Aug17.g++.8.3 b/examples/PACKAGES/USER-MISC/temper_npt/log.temper_npt-17Aug17.g++.8.3 similarity index 100% rename from examples/USER/misc/temper_npt/log.temper_npt-17Aug17.g++.8.3 rename to examples/PACKAGES/USER-MISC/temper_npt/log.temper_npt-17Aug17.g++.8.3 diff --git a/examples/USER/misc/temper_npt/log.temper_npt-17Aug17.g++.8.4 b/examples/PACKAGES/USER-MISC/temper_npt/log.temper_npt-17Aug17.g++.8.4 similarity index 100% rename from examples/USER/misc/temper_npt/log.temper_npt-17Aug17.g++.8.4 rename to examples/PACKAGES/USER-MISC/temper_npt/log.temper_npt-17Aug17.g++.8.4 diff --git a/examples/USER/misc/temper_npt/log.temper_npt-17Aug17.g++.8.5 b/examples/PACKAGES/USER-MISC/temper_npt/log.temper_npt-17Aug17.g++.8.5 similarity index 100% rename from examples/USER/misc/temper_npt/log.temper_npt-17Aug17.g++.8.5 rename to examples/PACKAGES/USER-MISC/temper_npt/log.temper_npt-17Aug17.g++.8.5 diff --git a/examples/USER/misc/temper_npt/log.temper_npt-17Aug17.g++.8.6 b/examples/PACKAGES/USER-MISC/temper_npt/log.temper_npt-17Aug17.g++.8.6 similarity index 100% rename from examples/USER/misc/temper_npt/log.temper_npt-17Aug17.g++.8.6 rename to examples/PACKAGES/USER-MISC/temper_npt/log.temper_npt-17Aug17.g++.8.6 diff --git a/examples/USER/misc/temper_npt/log.temper_npt-17Aug17.g++.8.7 b/examples/PACKAGES/USER-MISC/temper_npt/log.temper_npt-17Aug17.g++.8.7 similarity index 100% rename from examples/USER/misc/temper_npt/log.temper_npt-17Aug17.g++.8.7 rename to examples/PACKAGES/USER-MISC/temper_npt/log.temper_npt-17Aug17.g++.8.7 diff --git a/examples/USER/misc/ti/in.ti_spring b/examples/PACKAGES/USER-MISC/ti/in.ti_spring similarity index 100% rename from examples/USER/misc/ti/in.ti_spring rename to examples/PACKAGES/USER-MISC/ti/in.ti_spring diff --git a/examples/USER/adios/balance/adios2_config.xml b/examples/PACKAGES/adios/balance/adios2_config.xml similarity index 100% rename from examples/USER/adios/balance/adios2_config.xml rename to examples/PACKAGES/adios/balance/adios2_config.xml diff --git a/examples/USER/adios/balance/in.adios_balance b/examples/PACKAGES/adios/balance/in.adios_balance similarity index 100% rename from examples/USER/adios/balance/in.adios_balance rename to examples/PACKAGES/adios/balance/in.adios_balance diff --git a/examples/USER/adios/balance/in.adios_balance2 b/examples/PACKAGES/adios/balance/in.adios_balance2 similarity index 100% rename from examples/USER/adios/balance/in.adios_balance2 rename to examples/PACKAGES/adios/balance/in.adios_balance2 diff --git a/examples/USER/adios/balance/log.balance b/examples/PACKAGES/adios/balance/log.balance similarity index 100% rename from examples/USER/adios/balance/log.balance rename to examples/PACKAGES/adios/balance/log.balance diff --git a/examples/USER/adios/rerun/README b/examples/PACKAGES/adios/rerun/README similarity index 100% rename from examples/USER/adios/rerun/README rename to examples/PACKAGES/adios/rerun/README diff --git a/examples/USER/adios/rerun/adios2_config.xml b/examples/PACKAGES/adios/rerun/adios2_config.xml similarity index 100% rename from examples/USER/adios/rerun/adios2_config.xml rename to examples/PACKAGES/adios/rerun/adios2_config.xml diff --git a/examples/USER/adios/rerun/in.first b/examples/PACKAGES/adios/rerun/in.first similarity index 100% rename from examples/USER/adios/rerun/in.first rename to examples/PACKAGES/adios/rerun/in.first diff --git a/examples/USER/adios/rerun/in.read_dump b/examples/PACKAGES/adios/rerun/in.read_dump similarity index 100% rename from examples/USER/adios/rerun/in.read_dump rename to examples/PACKAGES/adios/rerun/in.read_dump diff --git a/examples/USER/adios/rerun/in.rerun b/examples/PACKAGES/adios/rerun/in.rerun similarity index 100% rename from examples/USER/adios/rerun/in.rerun rename to examples/PACKAGES/adios/rerun/in.rerun diff --git a/examples/USER/adios/rerun/log.20Jan20.first.g++.7.4 b/examples/PACKAGES/adios/rerun/log.20Jan20.first.g++.7.4 similarity index 100% rename from examples/USER/adios/rerun/log.20Jan20.first.g++.7.4 rename to examples/PACKAGES/adios/rerun/log.20Jan20.first.g++.7.4 diff --git a/examples/USER/adios/rerun/log.20Jan20.read_dump.g++.7.4 b/examples/PACKAGES/adios/rerun/log.20Jan20.read_dump.g++.7.4 similarity index 100% rename from examples/USER/adios/rerun/log.20Jan20.read_dump.g++.7.4 rename to examples/PACKAGES/adios/rerun/log.20Jan20.read_dump.g++.7.4 diff --git a/examples/USER/adios/rerun/log.20Jan20.rerun.g++.7.4 b/examples/PACKAGES/adios/rerun/log.20Jan20.rerun.g++.7.4 similarity index 100% rename from examples/USER/adios/rerun/log.20Jan20.rerun.g++.7.4 rename to examples/PACKAGES/adios/rerun/log.20Jan20.rerun.g++.7.4 diff --git a/examples/USER/atc/README b/examples/PACKAGES/atc/README similarity index 100% rename from examples/USER/atc/README rename to examples/PACKAGES/atc/README diff --git a/examples/USER/atc/cauchy_born/Ar_CauchyBorn.mat b/examples/PACKAGES/atc/cauchy_born/Ar_CauchyBorn.mat similarity index 100% rename from examples/USER/atc/cauchy_born/Ar_CauchyBorn.mat rename to examples/PACKAGES/atc/cauchy_born/Ar_CauchyBorn.mat diff --git a/examples/USER/atc/cauchy_born/Ar_CauchyBorn_linear.mat b/examples/PACKAGES/atc/cauchy_born/Ar_CauchyBorn_linear.mat similarity index 100% rename from examples/USER/atc/cauchy_born/Ar_CauchyBorn_linear.mat rename to examples/PACKAGES/atc/cauchy_born/Ar_CauchyBorn_linear.mat diff --git a/examples/USER/atc/cauchy_born/Au_CauchyBorn.mat b/examples/PACKAGES/atc/cauchy_born/Au_CauchyBorn.mat similarity index 100% rename from examples/USER/atc/cauchy_born/Au_CauchyBorn.mat rename to examples/PACKAGES/atc/cauchy_born/Au_CauchyBorn.mat diff --git a/examples/USER/atc/cauchy_born/Au_CauchyBorn_linear.mat b/examples/PACKAGES/atc/cauchy_born/Au_CauchyBorn_linear.mat similarity index 100% rename from examples/USER/atc/cauchy_born/Au_CauchyBorn_linear.mat rename to examples/PACKAGES/atc/cauchy_born/Au_CauchyBorn_linear.mat diff --git a/examples/USER/atc/cauchy_born/Au_eam.mat b/examples/PACKAGES/atc/cauchy_born/Au_eam.mat similarity index 100% rename from examples/USER/atc/cauchy_born/Au_eam.mat rename to examples/PACKAGES/atc/cauchy_born/Au_eam.mat diff --git a/examples/USER/atc/cauchy_born/Au_eam_linear.mat b/examples/PACKAGES/atc/cauchy_born/Au_eam_linear.mat similarity index 100% rename from examples/USER/atc/cauchy_born/Au_eam_linear.mat rename to examples/PACKAGES/atc/cauchy_born/Au_eam_linear.mat diff --git a/examples/USER/atc/cauchy_born/Au_u3.eam b/examples/PACKAGES/atc/cauchy_born/Au_u3.eam similarity index 100% rename from examples/USER/atc/cauchy_born/Au_u3.eam rename to examples/PACKAGES/atc/cauchy_born/Au_u3.eam diff --git a/examples/USER/atc/cauchy_born/Cu_CauchyBorn.mat b/examples/PACKAGES/atc/cauchy_born/Cu_CauchyBorn.mat similarity index 100% rename from examples/USER/atc/cauchy_born/Cu_CauchyBorn.mat rename to examples/PACKAGES/atc/cauchy_born/Cu_CauchyBorn.mat diff --git a/examples/USER/atc/cauchy_born/cb_biaxial.screen b/examples/PACKAGES/atc/cauchy_born/cb_biaxial.screen similarity index 100% rename from examples/USER/atc/cauchy_born/cb_biaxial.screen rename to examples/PACKAGES/atc/cauchy_born/cb_biaxial.screen diff --git a/examples/USER/atc/cauchy_born/cb_shear.screen b/examples/PACKAGES/atc/cauchy_born/cb_shear.screen similarity index 100% rename from examples/USER/atc/cauchy_born/cb_shear.screen rename to examples/PACKAGES/atc/cauchy_born/cb_shear.screen diff --git a/examples/USER/atc/cauchy_born/cb_unistrain.screen b/examples/PACKAGES/atc/cauchy_born/cb_unistrain.screen similarity index 100% rename from examples/USER/atc/cauchy_born/cb_unistrain.screen rename to examples/PACKAGES/atc/cauchy_born/cb_unistrain.screen diff --git a/examples/USER/atc/cauchy_born/cb_unistrain_eam.screen b/examples/PACKAGES/atc/cauchy_born/cb_unistrain_eam.screen similarity index 100% rename from examples/USER/atc/cauchy_born/cb_unistrain_eam.screen rename to examples/PACKAGES/atc/cauchy_born/cb_unistrain_eam.screen diff --git a/examples/USER/atc/cauchy_born/cb_unistrain_eam_linear.screen b/examples/PACKAGES/atc/cauchy_born/cb_unistrain_eam_linear.screen similarity index 100% rename from examples/USER/atc/cauchy_born/cb_unistrain_eam_linear.screen rename to examples/PACKAGES/atc/cauchy_born/cb_unistrain_eam_linear.screen diff --git a/examples/USER/atc/cauchy_born/cb_unistrain_linear.screen b/examples/PACKAGES/atc/cauchy_born/cb_unistrain_linear.screen similarity index 100% rename from examples/USER/atc/cauchy_born/cb_unistrain_linear.screen rename to examples/PACKAGES/atc/cauchy_born/cb_unistrain_linear.screen diff --git a/examples/USER/atc/cauchy_born/cb_volumetric.screen b/examples/PACKAGES/atc/cauchy_born/cb_volumetric.screen similarity index 100% rename from examples/USER/atc/cauchy_born/cb_volumetric.screen rename to examples/PACKAGES/atc/cauchy_born/cb_volumetric.screen diff --git a/examples/USER/atc/cauchy_born/flying_cube.screen b/examples/PACKAGES/atc/cauchy_born/flying_cube.screen similarity index 100% rename from examples/USER/atc/cauchy_born/flying_cube.screen rename to examples/PACKAGES/atc/cauchy_born/flying_cube.screen diff --git a/examples/USER/atc/cauchy_born/ftcb_constV.screen b/examples/PACKAGES/atc/cauchy_born/ftcb_constV.screen similarity index 100% rename from examples/USER/atc/cauchy_born/ftcb_constV.screen rename to examples/PACKAGES/atc/cauchy_born/ftcb_constV.screen diff --git a/examples/USER/atc/cauchy_born/ftcb_constV_setup.init b/examples/PACKAGES/atc/cauchy_born/ftcb_constV_setup.init similarity index 100% rename from examples/USER/atc/cauchy_born/ftcb_constV_setup.init rename to examples/PACKAGES/atc/cauchy_born/ftcb_constV_setup.init diff --git a/examples/USER/atc/cauchy_born/in.cb_biaxial b/examples/PACKAGES/atc/cauchy_born/in.cb_biaxial similarity index 100% rename from examples/USER/atc/cauchy_born/in.cb_biaxial rename to examples/PACKAGES/atc/cauchy_born/in.cb_biaxial diff --git a/examples/USER/atc/cauchy_born/in.cb_shear b/examples/PACKAGES/atc/cauchy_born/in.cb_shear similarity index 100% rename from examples/USER/atc/cauchy_born/in.cb_shear rename to examples/PACKAGES/atc/cauchy_born/in.cb_shear diff --git a/examples/USER/atc/cauchy_born/in.cb_unistrain b/examples/PACKAGES/atc/cauchy_born/in.cb_unistrain similarity index 100% rename from examples/USER/atc/cauchy_born/in.cb_unistrain rename to examples/PACKAGES/atc/cauchy_born/in.cb_unistrain diff --git a/examples/USER/atc/cauchy_born/in.cb_unistrain_eam b/examples/PACKAGES/atc/cauchy_born/in.cb_unistrain_eam similarity index 100% rename from examples/USER/atc/cauchy_born/in.cb_unistrain_eam rename to examples/PACKAGES/atc/cauchy_born/in.cb_unistrain_eam diff --git a/examples/USER/atc/cauchy_born/in.cb_unistrain_eam_linear b/examples/PACKAGES/atc/cauchy_born/in.cb_unistrain_eam_linear similarity index 100% rename from examples/USER/atc/cauchy_born/in.cb_unistrain_eam_linear rename to examples/PACKAGES/atc/cauchy_born/in.cb_unistrain_eam_linear diff --git a/examples/USER/atc/cauchy_born/in.cb_unistrain_linear b/examples/PACKAGES/atc/cauchy_born/in.cb_unistrain_linear similarity index 100% rename from examples/USER/atc/cauchy_born/in.cb_unistrain_linear rename to examples/PACKAGES/atc/cauchy_born/in.cb_unistrain_linear diff --git a/examples/USER/atc/cauchy_born/in.cb_volumetric b/examples/PACKAGES/atc/cauchy_born/in.cb_volumetric similarity index 100% rename from examples/USER/atc/cauchy_born/in.cb_volumetric rename to examples/PACKAGES/atc/cauchy_born/in.cb_volumetric diff --git a/examples/USER/atc/cauchy_born/in.flying_cube b/examples/PACKAGES/atc/cauchy_born/in.flying_cube similarity index 100% rename from examples/USER/atc/cauchy_born/in.flying_cube rename to examples/PACKAGES/atc/cauchy_born/in.flying_cube diff --git a/examples/USER/atc/cauchy_born/in.ftcb_constV b/examples/PACKAGES/atc/cauchy_born/in.ftcb_constV similarity index 100% rename from examples/USER/atc/cauchy_born/in.ftcb_constV rename to examples/PACKAGES/atc/cauchy_born/in.ftcb_constV diff --git a/examples/USER/atc/cauchy_born/in.read_xref b/examples/PACKAGES/atc/cauchy_born/in.read_xref similarity index 100% rename from examples/USER/atc/cauchy_born/in.read_xref rename to examples/PACKAGES/atc/cauchy_born/in.read_xref diff --git a/examples/USER/atc/cauchy_born/read_xref.screen b/examples/PACKAGES/atc/cauchy_born/read_xref.screen similarity index 100% rename from examples/USER/atc/cauchy_born/read_xref.screen rename to examples/PACKAGES/atc/cauchy_born/read_xref.screen diff --git a/examples/USER/atc/cauchy_born/read_xref_0.data b/examples/PACKAGES/atc/cauchy_born/read_xref_0.data similarity index 100% rename from examples/USER/atc/cauchy_born/read_xref_0.data rename to examples/PACKAGES/atc/cauchy_born/read_xref_0.data diff --git a/examples/USER/atc/cauchy_born/read_xref_1.init b/examples/PACKAGES/atc/cauchy_born/read_xref_1.init similarity index 100% rename from examples/USER/atc/cauchy_born/read_xref_1.init rename to examples/PACKAGES/atc/cauchy_born/read_xref_1.init diff --git a/examples/USER/atc/drift_diffusion/Ar_ddm.mat b/examples/PACKAGES/atc/drift_diffusion/Ar_ddm.mat similarity index 100% rename from examples/USER/atc/drift_diffusion/Ar_ddm.mat rename to examples/PACKAGES/atc/drift_diffusion/Ar_ddm.mat diff --git a/examples/USER/atc/drift_diffusion/CNT_ddm.mat b/examples/PACKAGES/atc/drift_diffusion/CNT_ddm.mat similarity index 100% rename from examples/USER/atc/drift_diffusion/CNT_ddm.mat rename to examples/PACKAGES/atc/drift_diffusion/CNT_ddm.mat diff --git a/examples/USER/atc/drift_diffusion/Cu_cddm.mat b/examples/PACKAGES/atc/drift_diffusion/Cu_cddm.mat similarity index 100% rename from examples/USER/atc/drift_diffusion/Cu_cddm.mat rename to examples/PACKAGES/atc/drift_diffusion/Cu_cddm.mat diff --git a/examples/USER/atc/drift_diffusion/SiGe_ddm_schrodinger.mat b/examples/PACKAGES/atc/drift_diffusion/SiGe_ddm_schrodinger.mat similarity index 100% rename from examples/USER/atc/drift_diffusion/SiGe_ddm_schrodinger.mat rename to examples/PACKAGES/atc/drift_diffusion/SiGe_ddm_schrodinger.mat diff --git a/examples/USER/atc/drift_diffusion/SiVacuum_cddm_schrodinger.mat b/examples/PACKAGES/atc/drift_diffusion/SiVacuum_cddm_schrodinger.mat similarity index 100% rename from examples/USER/atc/drift_diffusion/SiVacuum_cddm_schrodinger.mat rename to examples/PACKAGES/atc/drift_diffusion/SiVacuum_cddm_schrodinger.mat diff --git a/examples/USER/atc/drift_diffusion/SiVacuum_ddm_schrodinger.mat b/examples/PACKAGES/atc/drift_diffusion/SiVacuum_ddm_schrodinger.mat similarity index 100% rename from examples/USER/atc/drift_diffusion/SiVacuum_ddm_schrodinger.mat rename to examples/PACKAGES/atc/drift_diffusion/SiVacuum_ddm_schrodinger.mat diff --git a/examples/USER/atc/drift_diffusion/Si_ddm.mat b/examples/PACKAGES/atc/drift_diffusion/Si_ddm.mat similarity index 100% rename from examples/USER/atc/drift_diffusion/Si_ddm.mat rename to examples/PACKAGES/atc/drift_diffusion/Si_ddm.mat diff --git a/examples/USER/atc/drift_diffusion/Si_ddm_eq.mat b/examples/PACKAGES/atc/drift_diffusion/Si_ddm_eq.mat similarity index 100% rename from examples/USER/atc/drift_diffusion/Si_ddm_eq.mat rename to examples/PACKAGES/atc/drift_diffusion/Si_ddm_eq.mat diff --git a/examples/USER/atc/drift_diffusion/Si_ddm_schrodinger.mat b/examples/PACKAGES/atc/drift_diffusion/Si_ddm_schrodinger.mat similarity index 100% rename from examples/USER/atc/drift_diffusion/Si_ddm_schrodinger.mat rename to examples/PACKAGES/atc/drift_diffusion/Si_ddm_schrodinger.mat diff --git a/examples/USER/atc/drift_diffusion/Si_ddm_thermopower.mat b/examples/PACKAGES/atc/drift_diffusion/Si_ddm_thermopower.mat similarity index 100% rename from examples/USER/atc/drift_diffusion/Si_ddm_thermopower.mat rename to examples/PACKAGES/atc/drift_diffusion/Si_ddm_thermopower.mat diff --git a/examples/USER/atc/drift_diffusion/convective_pulse.screen b/examples/PACKAGES/atc/drift_diffusion/convective_pulse.screen similarity index 100% rename from examples/USER/atc/drift_diffusion/convective_pulse.screen rename to examples/PACKAGES/atc/drift_diffusion/convective_pulse.screen diff --git a/examples/USER/atc/drift_diffusion/ddm_schrodinger.screen b/examples/PACKAGES/atc/drift_diffusion/ddm_schrodinger.screen similarity index 100% rename from examples/USER/atc/drift_diffusion/ddm_schrodinger.screen rename to examples/PACKAGES/atc/drift_diffusion/ddm_schrodinger.screen diff --git a/examples/USER/atc/drift_diffusion/finite_well.screen b/examples/PACKAGES/atc/drift_diffusion/finite_well.screen similarity index 100% rename from examples/USER/atc/drift_diffusion/finite_well.screen rename to examples/PACKAGES/atc/drift_diffusion/finite_well.screen diff --git a/examples/USER/atc/drift_diffusion/in.convective_pulse b/examples/PACKAGES/atc/drift_diffusion/in.convective_pulse similarity index 100% rename from examples/USER/atc/drift_diffusion/in.convective_pulse rename to examples/PACKAGES/atc/drift_diffusion/in.convective_pulse diff --git a/examples/USER/atc/drift_diffusion/in.ddm_schrodinger b/examples/PACKAGES/atc/drift_diffusion/in.ddm_schrodinger similarity index 100% rename from examples/USER/atc/drift_diffusion/in.ddm_schrodinger rename to examples/PACKAGES/atc/drift_diffusion/in.ddm_schrodinger diff --git a/examples/USER/atc/drift_diffusion/in.finite_well b/examples/PACKAGES/atc/drift_diffusion/in.finite_well similarity index 100% rename from examples/USER/atc/drift_diffusion/in.finite_well rename to examples/PACKAGES/atc/drift_diffusion/in.finite_well diff --git a/examples/USER/atc/drift_diffusion/in.no_atoms_ddm b/examples/PACKAGES/atc/drift_diffusion/in.no_atoms_ddm similarity index 100% rename from examples/USER/atc/drift_diffusion/in.no_atoms_ddm rename to examples/PACKAGES/atc/drift_diffusion/in.no_atoms_ddm diff --git a/examples/USER/atc/drift_diffusion/in.null_material_ddm b/examples/PACKAGES/atc/drift_diffusion/in.null_material_ddm similarity index 100% rename from examples/USER/atc/drift_diffusion/in.null_material_ddm rename to examples/PACKAGES/atc/drift_diffusion/in.null_material_ddm diff --git a/examples/USER/atc/drift_diffusion/in.poisson1d_noatoms b/examples/PACKAGES/atc/drift_diffusion/in.poisson1d_noatoms similarity index 100% rename from examples/USER/atc/drift_diffusion/in.poisson1d_noatoms rename to examples/PACKAGES/atc/drift_diffusion/in.poisson1d_noatoms diff --git a/examples/USER/atc/drift_diffusion/in.poisson2d_noatoms b/examples/PACKAGES/atc/drift_diffusion/in.poisson2d_noatoms similarity index 100% rename from examples/USER/atc/drift_diffusion/in.poisson2d_noatoms rename to examples/PACKAGES/atc/drift_diffusion/in.poisson2d_noatoms diff --git a/examples/USER/atc/drift_diffusion/in.schrodinger-poisson2d_Jconstraint b/examples/PACKAGES/atc/drift_diffusion/in.schrodinger-poisson2d_Jconstraint similarity index 100% rename from examples/USER/atc/drift_diffusion/in.schrodinger-poisson2d_Jconstraint rename to examples/PACKAGES/atc/drift_diffusion/in.schrodinger-poisson2d_Jconstraint diff --git a/examples/USER/atc/drift_diffusion/in.schrodinger-poisson2d_convective b/examples/PACKAGES/atc/drift_diffusion/in.schrodinger-poisson2d_convective similarity index 100% rename from examples/USER/atc/drift_diffusion/in.schrodinger-poisson2d_convective rename to examples/PACKAGES/atc/drift_diffusion/in.schrodinger-poisson2d_convective diff --git a/examples/USER/atc/drift_diffusion/in.schrodinger-poisson2d_noatoms b/examples/PACKAGES/atc/drift_diffusion/in.schrodinger-poisson2d_noatoms similarity index 100% rename from examples/USER/atc/drift_diffusion/in.schrodinger-poisson2d_noatoms rename to examples/PACKAGES/atc/drift_diffusion/in.schrodinger-poisson2d_noatoms diff --git a/examples/USER/atc/drift_diffusion/no_atoms_ddm.screen b/examples/PACKAGES/atc/drift_diffusion/no_atoms_ddm.screen similarity index 100% rename from examples/USER/atc/drift_diffusion/no_atoms_ddm.screen rename to examples/PACKAGES/atc/drift_diffusion/no_atoms_ddm.screen diff --git a/examples/USER/atc/drift_diffusion/null_material_ddm.screen b/examples/PACKAGES/atc/drift_diffusion/null_material_ddm.screen similarity index 100% rename from examples/USER/atc/drift_diffusion/null_material_ddm.screen rename to examples/PACKAGES/atc/drift_diffusion/null_material_ddm.screen diff --git a/examples/USER/atc/drift_diffusion/poisson1d_noatoms.screen b/examples/PACKAGES/atc/drift_diffusion/poisson1d_noatoms.screen similarity index 100% rename from examples/USER/atc/drift_diffusion/poisson1d_noatoms.screen rename to examples/PACKAGES/atc/drift_diffusion/poisson1d_noatoms.screen diff --git a/examples/USER/atc/drift_diffusion/poisson2d_noatoms.screen b/examples/PACKAGES/atc/drift_diffusion/poisson2d_noatoms.screen similarity index 100% rename from examples/USER/atc/drift_diffusion/poisson2d_noatoms.screen rename to examples/PACKAGES/atc/drift_diffusion/poisson2d_noatoms.screen diff --git a/examples/USER/atc/drift_diffusion/schrodinger-poisson2d_Jconstraint.screen b/examples/PACKAGES/atc/drift_diffusion/schrodinger-poisson2d_Jconstraint.screen similarity index 100% rename from examples/USER/atc/drift_diffusion/schrodinger-poisson2d_Jconstraint.screen rename to examples/PACKAGES/atc/drift_diffusion/schrodinger-poisson2d_Jconstraint.screen diff --git a/examples/USER/atc/drift_diffusion/schrodinger-poisson2d_convective.screen b/examples/PACKAGES/atc/drift_diffusion/schrodinger-poisson2d_convective.screen similarity index 100% rename from examples/USER/atc/drift_diffusion/schrodinger-poisson2d_convective.screen rename to examples/PACKAGES/atc/drift_diffusion/schrodinger-poisson2d_convective.screen diff --git a/examples/USER/atc/drift_diffusion/schrodinger-poisson2d_noatoms.screen b/examples/PACKAGES/atc/drift_diffusion/schrodinger-poisson2d_noatoms.screen similarity index 100% rename from examples/USER/atc/drift_diffusion/schrodinger-poisson2d_noatoms.screen rename to examples/PACKAGES/atc/drift_diffusion/schrodinger-poisson2d_noatoms.screen diff --git a/examples/USER/atc/elastic/Ar_CauchyBorn.mat b/examples/PACKAGES/atc/elastic/Ar_CauchyBorn.mat similarity index 100% rename from examples/USER/atc/elastic/Ar_CauchyBorn.mat rename to examples/PACKAGES/atc/elastic/Ar_CauchyBorn.mat diff --git a/examples/USER/atc/elastic/Ar_CauchyBornLinear.mat b/examples/PACKAGES/atc/elastic/Ar_CauchyBornLinear.mat similarity index 100% rename from examples/USER/atc/elastic/Ar_CauchyBornLinear.mat rename to examples/PACKAGES/atc/elastic/Ar_CauchyBornLinear.mat diff --git a/examples/USER/atc/elastic/Ar_damped.mat b/examples/PACKAGES/atc/elastic/Ar_damped.mat similarity index 100% rename from examples/USER/atc/elastic/Ar_damped.mat rename to examples/PACKAGES/atc/elastic/Ar_damped.mat diff --git a/examples/USER/atc/elastic/Ar_elastic.mat b/examples/PACKAGES/atc/elastic/Ar_elastic.mat similarity index 100% rename from examples/USER/atc/elastic/Ar_elastic.mat rename to examples/PACKAGES/atc/elastic/Ar_elastic.mat diff --git a/examples/USER/atc/elastic/Ar_thermo_elastic.mat b/examples/PACKAGES/atc/elastic/Ar_thermo_elastic.mat similarity index 100% rename from examples/USER/atc/elastic/Ar_thermo_elastic.mat rename to examples/PACKAGES/atc/elastic/Ar_thermo_elastic.mat diff --git a/examples/USER/atc/elastic/Au_elastic.mat b/examples/PACKAGES/atc/elastic/Au_elastic.mat similarity index 100% rename from examples/USER/atc/elastic/Au_elastic.mat rename to examples/PACKAGES/atc/elastic/Au_elastic.mat diff --git a/examples/USER/atc/elastic/CNT.mat b/examples/PACKAGES/atc/elastic/CNT.mat similarity index 100% rename from examples/USER/atc/elastic/CNT.mat rename to examples/PACKAGES/atc/elastic/CNT.mat diff --git a/examples/USER/atc/elastic/CNT_electrostatic.mat b/examples/PACKAGES/atc/elastic/CNT_electrostatic.mat similarity index 100% rename from examples/USER/atc/elastic/CNT_electrostatic.mat rename to examples/PACKAGES/atc/elastic/CNT_electrostatic.mat diff --git a/examples/USER/atc/elastic/CNT_electrostatic2.mat b/examples/PACKAGES/atc/elastic/CNT_electrostatic2.mat similarity index 100% rename from examples/USER/atc/elastic/CNT_electrostatic2.mat rename to examples/PACKAGES/atc/elastic/CNT_electrostatic2.mat diff --git a/examples/USER/atc/elastic/CNT_id.mat b/examples/PACKAGES/atc/elastic/CNT_id.mat similarity index 100% rename from examples/USER/atc/elastic/CNT_id.mat rename to examples/PACKAGES/atc/elastic/CNT_id.mat diff --git a/examples/USER/atc/elastic/bar1d.screen b/examples/PACKAGES/atc/elastic/bar1d.screen similarity index 100% rename from examples/USER/atc/elastic/bar1d.screen rename to examples/PACKAGES/atc/elastic/bar1d.screen diff --git a/examples/USER/atc/elastic/bar1d_damped.screen b/examples/PACKAGES/atc/elastic/bar1d_damped.screen similarity index 100% rename from examples/USER/atc/elastic/bar1d_damped.screen rename to examples/PACKAGES/atc/elastic/bar1d_damped.screen diff --git a/examples/USER/atc/elastic/bar1d_flux.screen b/examples/PACKAGES/atc/elastic/bar1d_flux.screen similarity index 100% rename from examples/USER/atc/elastic/bar1d_flux.screen rename to examples/PACKAGES/atc/elastic/bar1d_flux.screen diff --git a/examples/USER/atc/elastic/bar1d_frac_step.screen b/examples/PACKAGES/atc/elastic/bar1d_frac_step.screen similarity index 100% rename from examples/USER/atc/elastic/bar1d_frac_step.screen rename to examples/PACKAGES/atc/elastic/bar1d_frac_step.screen diff --git a/examples/USER/atc/elastic/bar1d_ghost_flux.screen b/examples/PACKAGES/atc/elastic/bar1d_ghost_flux.screen similarity index 100% rename from examples/USER/atc/elastic/bar1d_ghost_flux.screen rename to examples/PACKAGES/atc/elastic/bar1d_ghost_flux.screen diff --git a/examples/USER/atc/elastic/bar1d_thermo_elastic.screen b/examples/PACKAGES/atc/elastic/bar1d_thermo_elastic.screen similarity index 100% rename from examples/USER/atc/elastic/bar1d_thermo_elastic.screen rename to examples/PACKAGES/atc/elastic/bar1d_thermo_elastic.screen diff --git a/examples/USER/atc/elastic/cnt_electrostatic.screen b/examples/PACKAGES/atc/elastic/cnt_electrostatic.screen similarity index 100% rename from examples/USER/atc/elastic/cnt_electrostatic.screen rename to examples/PACKAGES/atc/elastic/cnt_electrostatic.screen diff --git a/examples/USER/atc/elastic/cnt_electrostatic2.screen b/examples/PACKAGES/atc/elastic/cnt_electrostatic2.screen similarity index 100% rename from examples/USER/atc/elastic/cnt_electrostatic2.screen rename to examples/PACKAGES/atc/elastic/cnt_electrostatic2.screen diff --git a/examples/USER/atc/elastic/cnt_fixed_charge.screen b/examples/PACKAGES/atc/elastic/cnt_fixed_charge.screen similarity index 100% rename from examples/USER/atc/elastic/cnt_fixed_charge.screen rename to examples/PACKAGES/atc/elastic/cnt_fixed_charge.screen diff --git a/examples/USER/atc/elastic/eam_energy.screen b/examples/PACKAGES/atc/elastic/eam_energy.screen similarity index 100% rename from examples/USER/atc/elastic/eam_energy.screen rename to examples/PACKAGES/atc/elastic/eam_energy.screen diff --git a/examples/USER/atc/elastic/electron_density.screen b/examples/PACKAGES/atc/elastic/electron_density.screen similarity index 100% rename from examples/USER/atc/elastic/electron_density.screen rename to examples/PACKAGES/atc/elastic/electron_density.screen diff --git a/examples/USER/atc/elastic/electrostatic_bending.screen b/examples/PACKAGES/atc/elastic/electrostatic_bending.screen similarity index 100% rename from examples/USER/atc/elastic/electrostatic_bending.screen rename to examples/PACKAGES/atc/elastic/electrostatic_bending.screen diff --git a/examples/USER/atc/elastic/electrostatic_bending_dos.screen b/examples/PACKAGES/atc/elastic/electrostatic_bending_dos.screen similarity index 100% rename from examples/USER/atc/elastic/electrostatic_bending_dos.screen rename to examples/PACKAGES/atc/elastic/electrostatic_bending_dos.screen diff --git a/examples/USER/atc/elastic/in.bar1d b/examples/PACKAGES/atc/elastic/in.bar1d similarity index 100% rename from examples/USER/atc/elastic/in.bar1d rename to examples/PACKAGES/atc/elastic/in.bar1d diff --git a/examples/USER/atc/elastic/in.bar1d_damped b/examples/PACKAGES/atc/elastic/in.bar1d_damped similarity index 100% rename from examples/USER/atc/elastic/in.bar1d_damped rename to examples/PACKAGES/atc/elastic/in.bar1d_damped diff --git a/examples/USER/atc/elastic/in.bar1d_flux b/examples/PACKAGES/atc/elastic/in.bar1d_flux similarity index 100% rename from examples/USER/atc/elastic/in.bar1d_flux rename to examples/PACKAGES/atc/elastic/in.bar1d_flux diff --git a/examples/USER/atc/elastic/in.bar1d_frac_step b/examples/PACKAGES/atc/elastic/in.bar1d_frac_step similarity index 100% rename from examples/USER/atc/elastic/in.bar1d_frac_step rename to examples/PACKAGES/atc/elastic/in.bar1d_frac_step diff --git a/examples/USER/atc/elastic/in.bar1d_ghost_flux b/examples/PACKAGES/atc/elastic/in.bar1d_ghost_flux similarity index 100% rename from examples/USER/atc/elastic/in.bar1d_ghost_flux rename to examples/PACKAGES/atc/elastic/in.bar1d_ghost_flux diff --git a/examples/USER/atc/elastic/in.bar1d_thermo_elastic b/examples/PACKAGES/atc/elastic/in.bar1d_thermo_elastic similarity index 100% rename from examples/USER/atc/elastic/in.bar1d_thermo_elastic rename to examples/PACKAGES/atc/elastic/in.bar1d_thermo_elastic diff --git a/examples/USER/atc/elastic/in.eam_energy b/examples/PACKAGES/atc/elastic/in.eam_energy similarity index 100% rename from examples/USER/atc/elastic/in.eam_energy rename to examples/PACKAGES/atc/elastic/in.eam_energy diff --git a/examples/USER/atc/elastic/in.electron_density b/examples/PACKAGES/atc/elastic/in.electron_density similarity index 100% rename from examples/USER/atc/elastic/in.electron_density rename to examples/PACKAGES/atc/elastic/in.electron_density diff --git a/examples/USER/atc/elastic/in.no_atoms b/examples/PACKAGES/atc/elastic/in.no_atoms similarity index 100% rename from examples/USER/atc/elastic/in.no_atoms rename to examples/PACKAGES/atc/elastic/in.no_atoms diff --git a/examples/USER/atc/elastic/in.no_atoms_cb b/examples/PACKAGES/atc/elastic/in.no_atoms_cb similarity index 100% rename from examples/USER/atc/elastic/in.no_atoms_cb rename to examples/PACKAGES/atc/elastic/in.no_atoms_cb diff --git a/examples/USER/atc/elastic/in.no_atoms_cb_linear b/examples/PACKAGES/atc/elastic/in.no_atoms_cb_linear similarity index 100% rename from examples/USER/atc/elastic/in.no_atoms_cb_linear rename to examples/PACKAGES/atc/elastic/in.no_atoms_cb_linear diff --git a/examples/USER/atc/elastic/no_atoms.screen b/examples/PACKAGES/atc/elastic/no_atoms.screen similarity index 100% rename from examples/USER/atc/elastic/no_atoms.screen rename to examples/PACKAGES/atc/elastic/no_atoms.screen diff --git a/examples/USER/atc/elastic/no_atoms_cb.screen b/examples/PACKAGES/atc/elastic/no_atoms_cb.screen similarity index 100% rename from examples/USER/atc/elastic/no_atoms_cb.screen rename to examples/PACKAGES/atc/elastic/no_atoms_cb.screen diff --git a/examples/USER/atc/elastic/no_atoms_cb_linear.screen b/examples/PACKAGES/atc/elastic/no_atoms_cb_linear.screen similarity index 100% rename from examples/USER/atc/elastic/no_atoms_cb_linear.screen rename to examples/PACKAGES/atc/elastic/no_atoms_cb_linear.screen diff --git a/examples/USER/atc/elastic/temp.init b/examples/PACKAGES/atc/elastic/temp.init similarity index 100% rename from examples/USER/atc/elastic/temp.init rename to examples/PACKAGES/atc/elastic/temp.init diff --git a/examples/USER/atc/fluids/Ar_elastic.mat b/examples/PACKAGES/atc/fluids/Ar_elastic.mat similarity index 100% rename from examples/USER/atc/fluids/Ar_elastic.mat rename to examples/PACKAGES/atc/fluids/Ar_elastic.mat diff --git a/examples/USER/atc/fluids/Ar_electrostatic.mat b/examples/PACKAGES/atc/fluids/Ar_electrostatic.mat similarity index 100% rename from examples/USER/atc/fluids/Ar_electrostatic.mat rename to examples/PACKAGES/atc/fluids/Ar_electrostatic.mat diff --git a/examples/USER/atc/fluids/Ar_liquid.mat b/examples/PACKAGES/atc/fluids/Ar_liquid.mat similarity index 100% rename from examples/USER/atc/fluids/Ar_liquid.mat rename to examples/PACKAGES/atc/fluids/Ar_liquid.mat diff --git a/examples/USER/atc/fluids/Ar_species.mat b/examples/PACKAGES/atc/fluids/Ar_species.mat similarity index 100% rename from examples/USER/atc/fluids/Ar_species.mat rename to examples/PACKAGES/atc/fluids/Ar_species.mat diff --git a/examples/USER/atc/fluids/Ar_species_dl.mat b/examples/PACKAGES/atc/fluids/Ar_species_dl.mat similarity index 100% rename from examples/USER/atc/fluids/Ar_species_dl.mat rename to examples/PACKAGES/atc/fluids/Ar_species_dl.mat diff --git a/examples/USER/atc/fluids/Ar_thermal.mat b/examples/PACKAGES/atc/fluids/Ar_thermal.mat similarity index 100% rename from examples/USER/atc/fluids/Ar_thermal.mat rename to examples/PACKAGES/atc/fluids/Ar_thermal.mat diff --git a/examples/USER/atc/fluids/Ar_visc_no_atoms.mat b/examples/PACKAGES/atc/fluids/Ar_visc_no_atoms.mat similarity index 100% rename from examples/USER/atc/fluids/Ar_visc_no_atoms.mat rename to examples/PACKAGES/atc/fluids/Ar_visc_no_atoms.mat diff --git a/examples/USER/atc/fluids/Ar_viscosity.mat b/examples/PACKAGES/atc/fluids/Ar_viscosity.mat similarity index 100% rename from examples/USER/atc/fluids/Ar_viscosity.mat rename to examples/PACKAGES/atc/fluids/Ar_viscosity.mat diff --git a/examples/USER/atc/fluids/bar1d_fluids.screen b/examples/PACKAGES/atc/fluids/bar1d_fluids.screen similarity index 100% rename from examples/USER/atc/fluids/bar1d_fluids.screen rename to examples/PACKAGES/atc/fluids/bar1d_fluids.screen diff --git a/examples/USER/atc/fluids/concentration.screen b/examples/PACKAGES/atc/fluids/concentration.screen similarity index 100% rename from examples/USER/atc/fluids/concentration.screen rename to examples/PACKAGES/atc/fluids/concentration.screen diff --git a/examples/USER/atc/fluids/concentration_init.data b/examples/PACKAGES/atc/fluids/concentration_init.data similarity index 100% rename from examples/USER/atc/fluids/concentration_init.data rename to examples/PACKAGES/atc/fluids/concentration_init.data diff --git a/examples/USER/atc/fluids/conducting_interface.screen b/examples/PACKAGES/atc/fluids/conducting_interface.screen similarity index 100% rename from examples/USER/atc/fluids/conducting_interface.screen rename to examples/PACKAGES/atc/fluids/conducting_interface.screen diff --git a/examples/USER/atc/fluids/dielectric.mat b/examples/PACKAGES/atc/fluids/dielectric.mat similarity index 100% rename from examples/USER/atc/fluids/dielectric.mat rename to examples/PACKAGES/atc/fluids/dielectric.mat diff --git a/examples/USER/atc/fluids/dielectric_interface.screen b/examples/PACKAGES/atc/fluids/dielectric_interface.screen similarity index 100% rename from examples/USER/atc/fluids/dielectric_interface.screen rename to examples/PACKAGES/atc/fluids/dielectric_interface.screen diff --git a/examples/USER/atc/fluids/double_layer.screen b/examples/PACKAGES/atc/fluids/double_layer.screen similarity index 100% rename from examples/USER/atc/fluids/double_layer.screen rename to examples/PACKAGES/atc/fluids/double_layer.screen diff --git a/examples/USER/atc/fluids/in.bar1d_fluids b/examples/PACKAGES/atc/fluids/in.bar1d_fluids similarity index 100% rename from examples/USER/atc/fluids/in.bar1d_fluids rename to examples/PACKAGES/atc/fluids/in.bar1d_fluids diff --git a/examples/USER/atc/fluids/in.concentration b/examples/PACKAGES/atc/fluids/in.concentration similarity index 100% rename from examples/USER/atc/fluids/in.concentration rename to examples/PACKAGES/atc/fluids/in.concentration diff --git a/examples/USER/atc/fluids/in.conducting_interface b/examples/PACKAGES/atc/fluids/in.conducting_interface similarity index 100% rename from examples/USER/atc/fluids/in.conducting_interface rename to examples/PACKAGES/atc/fluids/in.conducting_interface diff --git a/examples/USER/atc/fluids/in.dielectric_interface b/examples/PACKAGES/atc/fluids/in.dielectric_interface similarity index 100% rename from examples/USER/atc/fluids/in.dielectric_interface rename to examples/PACKAGES/atc/fluids/in.dielectric_interface diff --git a/examples/USER/atc/fluids/in.double_layer b/examples/PACKAGES/atc/fluids/in.double_layer similarity index 100% rename from examples/USER/atc/fluids/in.double_layer rename to examples/PACKAGES/atc/fluids/in.double_layer diff --git a/examples/USER/atc/fluids/in.liquid_electrostatic b/examples/PACKAGES/atc/fluids/in.liquid_electrostatic similarity index 100% rename from examples/USER/atc/fluids/in.liquid_electrostatic rename to examples/PACKAGES/atc/fluids/in.liquid_electrostatic diff --git a/examples/USER/atc/fluids/in.opp_force b/examples/PACKAGES/atc/fluids/in.opp_force similarity index 100% rename from examples/USER/atc/fluids/in.opp_force rename to examples/PACKAGES/atc/fluids/in.opp_force diff --git a/examples/USER/atc/fluids/in.poisson b/examples/PACKAGES/atc/fluids/in.poisson similarity index 100% rename from examples/USER/atc/fluids/in.poisson rename to examples/PACKAGES/atc/fluids/in.poisson diff --git a/examples/USER/atc/fluids/in.shear_flow b/examples/PACKAGES/atc/fluids/in.shear_flow similarity index 100% rename from examples/USER/atc/fluids/in.shear_flow rename to examples/PACKAGES/atc/fluids/in.shear_flow diff --git a/examples/USER/atc/fluids/in.shear_no_atoms b/examples/PACKAGES/atc/fluids/in.shear_no_atoms similarity index 100% rename from examples/USER/atc/fluids/in.shear_no_atoms rename to examples/PACKAGES/atc/fluids/in.shear_no_atoms diff --git a/examples/USER/atc/fluids/interface_init.data b/examples/PACKAGES/atc/fluids/interface_init.data similarity index 100% rename from examples/USER/atc/fluids/interface_init.data rename to examples/PACKAGES/atc/fluids/interface_init.data diff --git a/examples/USER/atc/fluids/liquid_electrostatic.screen b/examples/PACKAGES/atc/fluids/liquid_electrostatic.screen similarity index 100% rename from examples/USER/atc/fluids/liquid_electrostatic.screen rename to examples/PACKAGES/atc/fluids/liquid_electrostatic.screen diff --git a/examples/USER/atc/fluids/opp_force.screen b/examples/PACKAGES/atc/fluids/opp_force.screen similarity index 100% rename from examples/USER/atc/fluids/opp_force.screen rename to examples/PACKAGES/atc/fluids/opp_force.screen diff --git a/examples/USER/atc/fluids/poisson.screen b/examples/PACKAGES/atc/fluids/poisson.screen similarity index 100% rename from examples/USER/atc/fluids/poisson.screen rename to examples/PACKAGES/atc/fluids/poisson.screen diff --git a/examples/USER/atc/fluids/post_eq.init b/examples/PACKAGES/atc/fluids/post_eq.init similarity index 100% rename from examples/USER/atc/fluids/post_eq.init rename to examples/PACKAGES/atc/fluids/post_eq.init diff --git a/examples/USER/atc/fluids/shear_flow.screen b/examples/PACKAGES/atc/fluids/shear_flow.screen similarity index 100% rename from examples/USER/atc/fluids/shear_flow.screen rename to examples/PACKAGES/atc/fluids/shear_flow.screen diff --git a/examples/USER/atc/fluids/shear_no_atoms.screen b/examples/PACKAGES/atc/fluids/shear_no_atoms.screen similarity index 100% rename from examples/USER/atc/fluids/shear_no_atoms.screen rename to examples/PACKAGES/atc/fluids/shear_no_atoms.screen diff --git a/examples/USER/atc/fluids/temp.init b/examples/PACKAGES/atc/fluids/temp.init similarity index 100% rename from examples/USER/atc/fluids/temp.init rename to examples/PACKAGES/atc/fluids/temp.init diff --git a/examples/USER/atc/fluids/velocities.init b/examples/PACKAGES/atc/fluids/velocities.init similarity index 100% rename from examples/USER/atc/fluids/velocities.init rename to examples/PACKAGES/atc/fluids/velocities.init diff --git a/examples/USER/atc/fluids/waternve.atm b/examples/PACKAGES/atc/fluids/waternve.atm similarity index 100% rename from examples/USER/atc/fluids/waternve.atm rename to examples/PACKAGES/atc/fluids/waternve.atm diff --git a/examples/USER/atc/hardy/consistency.screen b/examples/PACKAGES/atc/hardy/consistency.screen similarity index 100% rename from examples/USER/atc/hardy/consistency.screen rename to examples/PACKAGES/atc/hardy/consistency.screen diff --git a/examples/USER/atc/hardy/eam_kernel_convergence.screen b/examples/PACKAGES/atc/hardy/eam_kernel_convergence.screen similarity index 100% rename from examples/USER/atc/hardy/eam_kernel_convergence.screen rename to examples/PACKAGES/atc/hardy/eam_kernel_convergence.screen diff --git a/examples/USER/atc/hardy/eam_unistrain_cell.screen b/examples/PACKAGES/atc/hardy/eam_unistrain_cell.screen similarity index 100% rename from examples/USER/atc/hardy/eam_unistrain_cell.screen rename to examples/PACKAGES/atc/hardy/eam_unistrain_cell.screen diff --git a/examples/USER/atc/hardy/eam_unistrain_mesh.screen b/examples/PACKAGES/atc/hardy/eam_unistrain_mesh.screen similarity index 100% rename from examples/USER/atc/hardy/eam_unistrain_mesh.screen rename to examples/PACKAGES/atc/hardy/eam_unistrain_mesh.screen diff --git a/examples/USER/atc/hardy/eam_unistrain_qcylinder.screen b/examples/PACKAGES/atc/hardy/eam_unistrain_qcylinder.screen similarity index 100% rename from examples/USER/atc/hardy/eam_unistrain_qcylinder.screen rename to examples/PACKAGES/atc/hardy/eam_unistrain_qcylinder.screen diff --git a/examples/USER/atc/hardy/eam_unistrain_qsphere.screen b/examples/PACKAGES/atc/hardy/eam_unistrain_qsphere.screen similarity index 100% rename from examples/USER/atc/hardy/eam_unistrain_qsphere.screen rename to examples/PACKAGES/atc/hardy/eam_unistrain_qsphere.screen diff --git a/examples/USER/atc/hardy/eam_unistrain_step.screen b/examples/PACKAGES/atc/hardy/eam_unistrain_step.screen similarity index 100% rename from examples/USER/atc/hardy/eam_unistrain_step.screen rename to examples/PACKAGES/atc/hardy/eam_unistrain_step.screen diff --git a/examples/USER/atc/hardy/eam_volume_stretch.screen b/examples/PACKAGES/atc/hardy/eam_volume_stretch.screen similarity index 100% rename from examples/USER/atc/hardy/eam_volume_stretch.screen rename to examples/PACKAGES/atc/hardy/eam_volume_stretch.screen diff --git a/examples/USER/atc/hardy/eshelby_static.screen b/examples/PACKAGES/atc/hardy/eshelby_static.screen similarity index 100% rename from examples/USER/atc/hardy/eshelby_static.screen rename to examples/PACKAGES/atc/hardy/eshelby_static.screen diff --git a/examples/USER/atc/hardy/in.consistency b/examples/PACKAGES/atc/hardy/in.consistency similarity index 100% rename from examples/USER/atc/hardy/in.consistency rename to examples/PACKAGES/atc/hardy/in.consistency diff --git a/examples/USER/atc/hardy/in.eam_kernel_convergence b/examples/PACKAGES/atc/hardy/in.eam_kernel_convergence similarity index 100% rename from examples/USER/atc/hardy/in.eam_kernel_convergence rename to examples/PACKAGES/atc/hardy/in.eam_kernel_convergence diff --git a/examples/USER/atc/hardy/in.eam_unistrain_cell b/examples/PACKAGES/atc/hardy/in.eam_unistrain_cell similarity index 100% rename from examples/USER/atc/hardy/in.eam_unistrain_cell rename to examples/PACKAGES/atc/hardy/in.eam_unistrain_cell diff --git a/examples/USER/atc/hardy/in.eam_unistrain_mesh b/examples/PACKAGES/atc/hardy/in.eam_unistrain_mesh similarity index 100% rename from examples/USER/atc/hardy/in.eam_unistrain_mesh rename to examples/PACKAGES/atc/hardy/in.eam_unistrain_mesh diff --git a/examples/USER/atc/hardy/in.eam_unistrain_qcylinder b/examples/PACKAGES/atc/hardy/in.eam_unistrain_qcylinder similarity index 100% rename from examples/USER/atc/hardy/in.eam_unistrain_qcylinder rename to examples/PACKAGES/atc/hardy/in.eam_unistrain_qcylinder diff --git a/examples/USER/atc/hardy/in.eam_unistrain_qsphere b/examples/PACKAGES/atc/hardy/in.eam_unistrain_qsphere similarity index 100% rename from examples/USER/atc/hardy/in.eam_unistrain_qsphere rename to examples/PACKAGES/atc/hardy/in.eam_unistrain_qsphere diff --git a/examples/USER/atc/hardy/in.eam_unistrain_step b/examples/PACKAGES/atc/hardy/in.eam_unistrain_step similarity index 100% rename from examples/USER/atc/hardy/in.eam_unistrain_step rename to examples/PACKAGES/atc/hardy/in.eam_unistrain_step diff --git a/examples/USER/atc/hardy/in.eam_volume_stretch b/examples/PACKAGES/atc/hardy/in.eam_volume_stretch similarity index 100% rename from examples/USER/atc/hardy/in.eam_volume_stretch rename to examples/PACKAGES/atc/hardy/in.eam_volume_stretch diff --git a/examples/USER/atc/hardy/in.eshelby_static b/examples/PACKAGES/atc/hardy/in.eshelby_static similarity index 100% rename from examples/USER/atc/hardy/in.eshelby_static rename to examples/PACKAGES/atc/hardy/in.eshelby_static diff --git a/examples/USER/atc/hardy/in.nvt b/examples/PACKAGES/atc/hardy/in.nvt similarity index 100% rename from examples/USER/atc/hardy/in.nvt rename to examples/PACKAGES/atc/hardy/in.nvt diff --git a/examples/USER/atc/hardy/nvt.data b/examples/PACKAGES/atc/hardy/nvt.data similarity index 100% rename from examples/USER/atc/hardy/nvt.data rename to examples/PACKAGES/atc/hardy/nvt.data diff --git a/examples/USER/atc/hardy/nvt.init b/examples/PACKAGES/atc/hardy/nvt.init similarity index 100% rename from examples/USER/atc/hardy/nvt.init rename to examples/PACKAGES/atc/hardy/nvt.init diff --git a/examples/USER/atc/hardy/nvt.screen b/examples/PACKAGES/atc/hardy/nvt.screen similarity index 100% rename from examples/USER/atc/hardy/nvt.screen rename to examples/PACKAGES/atc/hardy/nvt.screen diff --git a/examples/USER/atc/mesh/Ar_ttm.mat b/examples/PACKAGES/atc/mesh/Ar_ttm.mat similarity index 100% rename from examples/USER/atc/mesh/Ar_ttm.mat rename to examples/PACKAGES/atc/mesh/Ar_ttm.mat diff --git a/examples/USER/atc/mesh/Si.mat b/examples/PACKAGES/atc/mesh/Si.mat similarity index 100% rename from examples/USER/atc/mesh/Si.mat rename to examples/PACKAGES/atc/mesh/Si.mat diff --git a/examples/USER/atc/mesh/circle_temp.init b/examples/PACKAGES/atc/mesh/circle_temp.init similarity index 100% rename from examples/USER/atc/mesh/circle_temp.init rename to examples/PACKAGES/atc/mesh/circle_temp.init diff --git a/examples/USER/atc/mesh/gaussianIC1d_hex.screen b/examples/PACKAGES/atc/mesh/gaussianIC1d_hex.screen similarity index 100% rename from examples/USER/atc/mesh/gaussianIC1d_hex.screen rename to examples/PACKAGES/atc/mesh/gaussianIC1d_hex.screen diff --git a/examples/USER/atc/mesh/gaussianIC2d_hex.screen b/examples/PACKAGES/atc/mesh/gaussianIC2d_hex.screen similarity index 100% rename from examples/USER/atc/mesh/gaussianIC2d_hex.screen rename to examples/PACKAGES/atc/mesh/gaussianIC2d_hex.screen diff --git a/examples/USER/atc/mesh/gaussianIC2d_hex20_uniform.screen b/examples/PACKAGES/atc/mesh/gaussianIC2d_hex20_uniform.screen similarity index 100% rename from examples/USER/atc/mesh/gaussianIC2d_hex20_uniform.screen rename to examples/PACKAGES/atc/mesh/gaussianIC2d_hex20_uniform.screen diff --git a/examples/USER/atc/mesh/gaussianIC2d_hex27_uniform.screen b/examples/PACKAGES/atc/mesh/gaussianIC2d_hex27_uniform.screen similarity index 100% rename from examples/USER/atc/mesh/gaussianIC2d_hex27_uniform.screen rename to examples/PACKAGES/atc/mesh/gaussianIC2d_hex27_uniform.screen diff --git a/examples/USER/atc/mesh/gaussianIC2d_hex_uniform.screen b/examples/PACKAGES/atc/mesh/gaussianIC2d_hex_uniform.screen similarity index 100% rename from examples/USER/atc/mesh/gaussianIC2d_hex_uniform.screen rename to examples/PACKAGES/atc/mesh/gaussianIC2d_hex_uniform.screen diff --git a/examples/USER/atc/mesh/gaussianIC2d_tet.screen b/examples/PACKAGES/atc/mesh/gaussianIC2d_tet.screen similarity index 100% rename from examples/USER/atc/mesh/gaussianIC2d_tet.screen rename to examples/PACKAGES/atc/mesh/gaussianIC2d_tet.screen diff --git a/examples/USER/atc/mesh/in.gaussianIC1d_hex b/examples/PACKAGES/atc/mesh/in.gaussianIC1d_hex similarity index 100% rename from examples/USER/atc/mesh/in.gaussianIC1d_hex rename to examples/PACKAGES/atc/mesh/in.gaussianIC1d_hex diff --git a/examples/USER/atc/mesh/in.gaussianIC2d_hex b/examples/PACKAGES/atc/mesh/in.gaussianIC2d_hex similarity index 100% rename from examples/USER/atc/mesh/in.gaussianIC2d_hex rename to examples/PACKAGES/atc/mesh/in.gaussianIC2d_hex diff --git a/examples/USER/atc/mesh/in.gaussianIC2d_hex20_uniform b/examples/PACKAGES/atc/mesh/in.gaussianIC2d_hex20_uniform similarity index 100% rename from examples/USER/atc/mesh/in.gaussianIC2d_hex20_uniform rename to examples/PACKAGES/atc/mesh/in.gaussianIC2d_hex20_uniform diff --git a/examples/USER/atc/mesh/in.gaussianIC2d_hex27_uniform b/examples/PACKAGES/atc/mesh/in.gaussianIC2d_hex27_uniform similarity index 100% rename from examples/USER/atc/mesh/in.gaussianIC2d_hex27_uniform rename to examples/PACKAGES/atc/mesh/in.gaussianIC2d_hex27_uniform diff --git a/examples/USER/atc/mesh/in.gaussianIC2d_tet b/examples/PACKAGES/atc/mesh/in.gaussianIC2d_tet similarity index 100% rename from examples/USER/atc/mesh/in.gaussianIC2d_tet rename to examples/PACKAGES/atc/mesh/in.gaussianIC2d_tet diff --git a/examples/USER/atc/mesh/in.kernel2d_hex b/examples/PACKAGES/atc/mesh/in.kernel2d_hex similarity index 100% rename from examples/USER/atc/mesh/in.kernel2d_hex rename to examples/PACKAGES/atc/mesh/in.kernel2d_hex diff --git a/examples/USER/atc/mesh/in.kernel2d_tet b/examples/PACKAGES/atc/mesh/in.kernel2d_tet similarity index 100% rename from examples/USER/atc/mesh/in.kernel2d_tet rename to examples/PACKAGES/atc/mesh/in.kernel2d_tet diff --git a/examples/USER/atc/mesh/in.mesh2d_tet b/examples/PACKAGES/atc/mesh/in.mesh2d_tet similarity index 100% rename from examples/USER/atc/mesh/in.mesh2d_tet rename to examples/PACKAGES/atc/mesh/in.mesh2d_tet diff --git a/examples/USER/atc/mesh/in.semicircle b/examples/PACKAGES/atc/mesh/in.semicircle similarity index 100% rename from examples/USER/atc/mesh/in.semicircle rename to examples/PACKAGES/atc/mesh/in.semicircle diff --git a/examples/USER/atc/mesh/kernel2d_hex.screen b/examples/PACKAGES/atc/mesh/kernel2d_hex.screen similarity index 100% rename from examples/USER/atc/mesh/kernel2d_hex.screen rename to examples/PACKAGES/atc/mesh/kernel2d_hex.screen diff --git a/examples/USER/atc/mesh/kernel2d_tet.screen b/examples/PACKAGES/atc/mesh/kernel2d_tet.screen similarity index 100% rename from examples/USER/atc/mesh/kernel2d_tet.screen rename to examples/PACKAGES/atc/mesh/kernel2d_tet.screen diff --git a/examples/USER/atc/mesh/mesh2d_tet.screen b/examples/PACKAGES/atc/mesh/mesh2d_tet.screen similarity index 100% rename from examples/USER/atc/mesh/mesh2d_tet.screen rename to examples/PACKAGES/atc/mesh/mesh2d_tet.screen diff --git a/examples/USER/atc/mesh/semicircle.init b/examples/PACKAGES/atc/mesh/semicircle.init similarity index 100% rename from examples/USER/atc/mesh/semicircle.init rename to examples/PACKAGES/atc/mesh/semicircle.init diff --git a/examples/USER/atc/mesh/semicircle.screen b/examples/PACKAGES/atc/mesh/semicircle.screen similarity index 100% rename from examples/USER/atc/mesh/semicircle.screen rename to examples/PACKAGES/atc/mesh/semicircle.screen diff --git a/examples/USER/atc/mesh/si_semicircle.init b/examples/PACKAGES/atc/mesh/si_semicircle.init similarity index 100% rename from examples/USER/atc/mesh/si_semicircle.init rename to examples/PACKAGES/atc/mesh/si_semicircle.init diff --git a/examples/USER/atc/mesh/temp.init b/examples/PACKAGES/atc/mesh/temp.init similarity index 100% rename from examples/USER/atc/mesh/temp.init rename to examples/PACKAGES/atc/mesh/temp.init diff --git a/examples/USER/atc/molecule/harmonic_bonds.init b/examples/PACKAGES/atc/molecule/harmonic_bonds.init similarity index 100% rename from examples/USER/atc/molecule/harmonic_bonds.init rename to examples/PACKAGES/atc/molecule/harmonic_bonds.init diff --git a/examples/USER/atc/molecule/harmonic_bonds.screen b/examples/PACKAGES/atc/molecule/harmonic_bonds.screen similarity index 100% rename from examples/USER/atc/molecule/harmonic_bonds.screen rename to examples/PACKAGES/atc/molecule/harmonic_bonds.screen diff --git a/examples/USER/atc/molecule/in.harmonic_bonds b/examples/PACKAGES/atc/molecule/in.harmonic_bonds similarity index 100% rename from examples/USER/atc/molecule/in.harmonic_bonds rename to examples/PACKAGES/atc/molecule/in.harmonic_bonds diff --git a/examples/USER/atc/molecule/in.polarize b/examples/PACKAGES/atc/molecule/in.polarize similarity index 100% rename from examples/USER/atc/molecule/in.polarize rename to examples/PACKAGES/atc/molecule/in.polarize diff --git a/examples/USER/atc/molecule/in.quartic_bonds b/examples/PACKAGES/atc/molecule/in.quartic_bonds similarity index 100% rename from examples/USER/atc/molecule/in.quartic_bonds rename to examples/PACKAGES/atc/molecule/in.quartic_bonds diff --git a/examples/USER/atc/molecule/in.water b/examples/PACKAGES/atc/molecule/in.water similarity index 100% rename from examples/USER/atc/molecule/in.water rename to examples/PACKAGES/atc/molecule/in.water diff --git a/examples/USER/atc/molecule/polarize.screen b/examples/PACKAGES/atc/molecule/polarize.screen similarity index 100% rename from examples/USER/atc/molecule/polarize.screen rename to examples/PACKAGES/atc/molecule/polarize.screen diff --git a/examples/USER/atc/molecule/quartic_bonds.data b/examples/PACKAGES/atc/molecule/quartic_bonds.data similarity index 100% rename from examples/USER/atc/molecule/quartic_bonds.data rename to examples/PACKAGES/atc/molecule/quartic_bonds.data diff --git a/examples/USER/atc/molecule/quartic_bonds.screen b/examples/PACKAGES/atc/molecule/quartic_bonds.screen similarity index 100% rename from examples/USER/atc/molecule/quartic_bonds.screen rename to examples/PACKAGES/atc/molecule/quartic_bonds.screen diff --git a/examples/USER/atc/molecule/water.init b/examples/PACKAGES/atc/molecule/water.init similarity index 100% rename from examples/USER/atc/molecule/water.init rename to examples/PACKAGES/atc/molecule/water.init diff --git a/examples/USER/atc/molecule/water.mat b/examples/PACKAGES/atc/molecule/water.mat similarity index 100% rename from examples/USER/atc/molecule/water.mat rename to examples/PACKAGES/atc/molecule/water.mat diff --git a/examples/USER/atc/molecule/water.screen b/examples/PACKAGES/atc/molecule/water.screen similarity index 100% rename from examples/USER/atc/molecule/water.screen rename to examples/PACKAGES/atc/molecule/water.screen diff --git a/examples/USER/atc/molecule/waterequil.init b/examples/PACKAGES/atc/molecule/waterequil.init similarity index 100% rename from examples/USER/atc/molecule/waterequil.init rename to examples/PACKAGES/atc/molecule/waterequil.init diff --git a/examples/USER/atc/thermal/Ar_thermal.mat b/examples/PACKAGES/atc/thermal/Ar_thermal.mat similarity index 100% rename from examples/USER/atc/thermal/Ar_thermal.mat rename to examples/PACKAGES/atc/thermal/Ar_thermal.mat diff --git a/examples/USER/atc/thermal/all_atoms.init b/examples/PACKAGES/atc/thermal/all_atoms.init similarity index 100% rename from examples/USER/atc/thermal/all_atoms.init rename to examples/PACKAGES/atc/thermal/all_atoms.init diff --git a/examples/USER/atc/thermal/bar1d.screen b/examples/PACKAGES/atc/thermal/bar1d.screen similarity index 100% rename from examples/USER/atc/thermal/bar1d.screen rename to examples/PACKAGES/atc/thermal/bar1d.screen diff --git a/examples/USER/atc/thermal/bar1d_all_atoms.screen b/examples/PACKAGES/atc/thermal/bar1d_all_atoms.screen similarity index 100% rename from examples/USER/atc/thermal/bar1d_all_atoms.screen rename to examples/PACKAGES/atc/thermal/bar1d_all_atoms.screen diff --git a/examples/USER/atc/thermal/bar1d_combined.screen b/examples/PACKAGES/atc/thermal/bar1d_combined.screen similarity index 100% rename from examples/USER/atc/thermal/bar1d_combined.screen rename to examples/PACKAGES/atc/thermal/bar1d_combined.screen diff --git a/examples/USER/atc/thermal/bar1d_flux.screen b/examples/PACKAGES/atc/thermal/bar1d_flux.screen similarity index 100% rename from examples/USER/atc/thermal/bar1d_flux.screen rename to examples/PACKAGES/atc/thermal/bar1d_flux.screen diff --git a/examples/USER/atc/thermal/bar1d_frac_step.screen b/examples/PACKAGES/atc/thermal/bar1d_frac_step.screen similarity index 100% rename from examples/USER/atc/thermal/bar1d_frac_step.screen rename to examples/PACKAGES/atc/thermal/bar1d_frac_step.screen diff --git a/examples/USER/atc/thermal/bar1d_hoover.screen b/examples/PACKAGES/atc/thermal/bar1d_hoover.screen similarity index 100% rename from examples/USER/atc/thermal/bar1d_hoover.screen rename to examples/PACKAGES/atc/thermal/bar1d_hoover.screen diff --git a/examples/USER/atc/thermal/bar1d_interpolate.screen b/examples/PACKAGES/atc/thermal/bar1d_interpolate.screen similarity index 100% rename from examples/USER/atc/thermal/bar1d_interpolate.screen rename to examples/PACKAGES/atc/thermal/bar1d_interpolate.screen diff --git a/examples/USER/atc/thermal/bar1d_lumped.screen b/examples/PACKAGES/atc/thermal/bar1d_lumped.screen similarity index 100% rename from examples/USER/atc/thermal/bar1d_lumped.screen rename to examples/PACKAGES/atc/thermal/bar1d_lumped.screen diff --git a/examples/USER/atc/thermal/in.bar1d b/examples/PACKAGES/atc/thermal/in.bar1d similarity index 100% rename from examples/USER/atc/thermal/in.bar1d rename to examples/PACKAGES/atc/thermal/in.bar1d diff --git a/examples/USER/atc/thermal/in.bar1d_all_atoms b/examples/PACKAGES/atc/thermal/in.bar1d_all_atoms similarity index 100% rename from examples/USER/atc/thermal/in.bar1d_all_atoms rename to examples/PACKAGES/atc/thermal/in.bar1d_all_atoms diff --git a/examples/USER/atc/thermal/in.bar1d_combined b/examples/PACKAGES/atc/thermal/in.bar1d_combined similarity index 100% rename from examples/USER/atc/thermal/in.bar1d_combined rename to examples/PACKAGES/atc/thermal/in.bar1d_combined diff --git a/examples/USER/atc/thermal/in.bar1d_flux b/examples/PACKAGES/atc/thermal/in.bar1d_flux similarity index 100% rename from examples/USER/atc/thermal/in.bar1d_flux rename to examples/PACKAGES/atc/thermal/in.bar1d_flux diff --git a/examples/USER/atc/thermal/in.bar1d_frac_step b/examples/PACKAGES/atc/thermal/in.bar1d_frac_step similarity index 100% rename from examples/USER/atc/thermal/in.bar1d_frac_step rename to examples/PACKAGES/atc/thermal/in.bar1d_frac_step diff --git a/examples/USER/atc/thermal/in.bar1d_hoover b/examples/PACKAGES/atc/thermal/in.bar1d_hoover similarity index 100% rename from examples/USER/atc/thermal/in.bar1d_hoover rename to examples/PACKAGES/atc/thermal/in.bar1d_hoover diff --git a/examples/USER/atc/thermal/in.bar1d_interpolate b/examples/PACKAGES/atc/thermal/in.bar1d_interpolate similarity index 100% rename from examples/USER/atc/thermal/in.bar1d_interpolate rename to examples/PACKAGES/atc/thermal/in.bar1d_interpolate diff --git a/examples/USER/atc/thermal/in.bar1d_lumped b/examples/PACKAGES/atc/thermal/in.bar1d_lumped similarity index 100% rename from examples/USER/atc/thermal/in.bar1d_lumped rename to examples/PACKAGES/atc/thermal/in.bar1d_lumped diff --git a/examples/USER/atc/thermal/in.no_atoms b/examples/PACKAGES/atc/thermal/in.no_atoms similarity index 100% rename from examples/USER/atc/thermal/in.no_atoms rename to examples/PACKAGES/atc/thermal/in.no_atoms diff --git a/examples/USER/atc/thermal/no_atoms.screen b/examples/PACKAGES/atc/thermal/no_atoms.screen similarity index 100% rename from examples/USER/atc/thermal/no_atoms.screen rename to examples/PACKAGES/atc/thermal/no_atoms.screen diff --git a/examples/USER/atc/thermal/temp.init b/examples/PACKAGES/atc/thermal/temp.init similarity index 100% rename from examples/USER/atc/thermal/temp.init rename to examples/PACKAGES/atc/thermal/temp.init diff --git a/examples/USER/atc/two_temperature/Ar_ttm.mat b/examples/PACKAGES/atc/two_temperature/Ar_ttm.mat similarity index 100% rename from examples/USER/atc/two_temperature/Ar_ttm.mat rename to examples/PACKAGES/atc/two_temperature/Ar_ttm.mat diff --git a/examples/USER/atc/two_temperature/Cu_ttm.mat b/examples/PACKAGES/atc/two_temperature/Cu_ttm.mat similarity index 100% rename from examples/USER/atc/two_temperature/Cu_ttm.mat rename to examples/PACKAGES/atc/two_temperature/Cu_ttm.mat diff --git a/examples/USER/atc/two_temperature/bar1d_ttm.screen b/examples/PACKAGES/atc/two_temperature/bar1d_ttm.screen similarity index 100% rename from examples/USER/atc/two_temperature/bar1d_ttm.screen rename to examples/PACKAGES/atc/two_temperature/bar1d_ttm.screen diff --git a/examples/USER/atc/two_temperature/cutout.init b/examples/PACKAGES/atc/two_temperature/cutout.init similarity index 100% rename from examples/USER/atc/two_temperature/cutout.init rename to examples/PACKAGES/atc/two_temperature/cutout.init diff --git a/examples/USER/atc/two_temperature/cutout.screen b/examples/PACKAGES/atc/two_temperature/cutout.screen similarity index 100% rename from examples/USER/atc/two_temperature/cutout.screen rename to examples/PACKAGES/atc/two_temperature/cutout.screen diff --git a/examples/USER/atc/two_temperature/gaussianIC_ttm.screen b/examples/PACKAGES/atc/two_temperature/gaussianIC_ttm.screen similarity index 100% rename from examples/USER/atc/two_temperature/gaussianIC_ttm.screen rename to examples/PACKAGES/atc/two_temperature/gaussianIC_ttm.screen diff --git a/examples/USER/atc/two_temperature/in.bar1d_ttm b/examples/PACKAGES/atc/two_temperature/in.bar1d_ttm similarity index 100% rename from examples/USER/atc/two_temperature/in.bar1d_ttm rename to examples/PACKAGES/atc/two_temperature/in.bar1d_ttm diff --git a/examples/USER/atc/two_temperature/in.cutout b/examples/PACKAGES/atc/two_temperature/in.cutout similarity index 100% rename from examples/USER/atc/two_temperature/in.cutout rename to examples/PACKAGES/atc/two_temperature/in.cutout diff --git a/examples/USER/atc/two_temperature/in.gaussianIC_ttm b/examples/PACKAGES/atc/two_temperature/in.gaussianIC_ttm similarity index 100% rename from examples/USER/atc/two_temperature/in.gaussianIC_ttm rename to examples/PACKAGES/atc/two_temperature/in.gaussianIC_ttm diff --git a/examples/USER/atc/two_temperature/in.no_atoms b/examples/PACKAGES/atc/two_temperature/in.no_atoms similarity index 100% rename from examples/USER/atc/two_temperature/in.no_atoms rename to examples/PACKAGES/atc/two_temperature/in.no_atoms diff --git a/examples/USER/atc/two_temperature/in.restart b/examples/PACKAGES/atc/two_temperature/in.restart similarity index 100% rename from examples/USER/atc/two_temperature/in.restart rename to examples/PACKAGES/atc/two_temperature/in.restart diff --git a/examples/USER/atc/two_temperature/in.uniform_exchange b/examples/PACKAGES/atc/two_temperature/in.uniform_exchange similarity index 100% rename from examples/USER/atc/two_temperature/in.uniform_exchange rename to examples/PACKAGES/atc/two_temperature/in.uniform_exchange diff --git a/examples/USER/atc/two_temperature/in.uniform_heating b/examples/PACKAGES/atc/two_temperature/in.uniform_heating similarity index 100% rename from examples/USER/atc/two_temperature/in.uniform_heating rename to examples/PACKAGES/atc/two_temperature/in.uniform_heating diff --git a/examples/USER/atc/two_temperature/no_atoms.screen b/examples/PACKAGES/atc/two_temperature/no_atoms.screen similarity index 100% rename from examples/USER/atc/two_temperature/no_atoms.screen rename to examples/PACKAGES/atc/two_temperature/no_atoms.screen diff --git a/examples/USER/atc/two_temperature/restart.screen b/examples/PACKAGES/atc/two_temperature/restart.screen similarity index 100% rename from examples/USER/atc/two_temperature/restart.screen rename to examples/PACKAGES/atc/two_temperature/restart.screen diff --git a/examples/USER/atc/two_temperature/temp.init b/examples/PACKAGES/atc/two_temperature/temp.init similarity index 100% rename from examples/USER/atc/two_temperature/temp.init rename to examples/PACKAGES/atc/two_temperature/temp.init diff --git a/examples/USER/atc/two_temperature/uniform_exchange.init b/examples/PACKAGES/atc/two_temperature/uniform_exchange.init similarity index 100% rename from examples/USER/atc/two_temperature/uniform_exchange.init rename to examples/PACKAGES/atc/two_temperature/uniform_exchange.init diff --git a/examples/USER/atc/two_temperature/uniform_exchange.screen b/examples/PACKAGES/atc/two_temperature/uniform_exchange.screen similarity index 100% rename from examples/USER/atc/two_temperature/uniform_exchange.screen rename to examples/PACKAGES/atc/two_temperature/uniform_exchange.screen diff --git a/examples/USER/atc/two_temperature/uniform_heating.init b/examples/PACKAGES/atc/two_temperature/uniform_heating.init similarity index 100% rename from examples/USER/atc/two_temperature/uniform_heating.init rename to examples/PACKAGES/atc/two_temperature/uniform_heating.init diff --git a/examples/USER/atc/two_temperature/uniform_heating.screen b/examples/PACKAGES/atc/two_temperature/uniform_heating.screen similarity index 100% rename from examples/USER/atc/two_temperature/uniform_heating.screen rename to examples/PACKAGES/atc/two_temperature/uniform_heating.screen diff --git a/examples/USER/awpmd/README b/examples/PACKAGES/awpmd/README similarity index 100% rename from examples/USER/awpmd/README rename to examples/PACKAGES/awpmd/README diff --git a/examples/USER/awpmd/data.h_atom b/examples/PACKAGES/awpmd/data.h_atom similarity index 100% rename from examples/USER/awpmd/data.h_atom rename to examples/PACKAGES/awpmd/data.h_atom diff --git a/examples/USER/awpmd/data.h_molecule b/examples/PACKAGES/awpmd/data.h_molecule similarity index 100% rename from examples/USER/awpmd/data.h_molecule rename to examples/PACKAGES/awpmd/data.h_molecule diff --git a/examples/USER/awpmd/in.h_atom b/examples/PACKAGES/awpmd/in.h_atom similarity index 100% rename from examples/USER/awpmd/in.h_atom rename to examples/PACKAGES/awpmd/in.h_atom diff --git a/examples/USER/awpmd/in.h_molecule b/examples/PACKAGES/awpmd/in.h_molecule similarity index 100% rename from examples/USER/awpmd/in.h_molecule rename to examples/PACKAGES/awpmd/in.h_molecule diff --git a/examples/USER/awpmd/log.27Nov18.h_atom.g++.1 b/examples/PACKAGES/awpmd/log.27Nov18.h_atom.g++.1 similarity index 100% rename from examples/USER/awpmd/log.27Nov18.h_atom.g++.1 rename to examples/PACKAGES/awpmd/log.27Nov18.h_atom.g++.1 diff --git a/examples/USER/awpmd/log.27Nov18.h_atom.g++.4 b/examples/PACKAGES/awpmd/log.27Nov18.h_atom.g++.4 similarity index 100% rename from examples/USER/awpmd/log.27Nov18.h_atom.g++.4 rename to examples/PACKAGES/awpmd/log.27Nov18.h_atom.g++.4 diff --git a/examples/USER/awpmd/log.27Nov18.h_molecule.g++.1 b/examples/PACKAGES/awpmd/log.27Nov18.h_molecule.g++.1 similarity index 100% rename from examples/USER/awpmd/log.27Nov18.h_molecule.g++.1 rename to examples/PACKAGES/awpmd/log.27Nov18.h_molecule.g++.1 diff --git a/examples/USER/awpmd/log.27Nov18.h_molecule.g++.4 b/examples/PACKAGES/awpmd/log.27Nov18.h_molecule.g++.4 similarity index 100% rename from examples/USER/awpmd/log.27Nov18.h_molecule.g++.4 rename to examples/PACKAGES/awpmd/log.27Nov18.h_molecule.g++.4 diff --git a/examples/USER/bocs/README b/examples/PACKAGES/bocs/README similarity index 100% rename from examples/USER/bocs/README rename to examples/PACKAGES/bocs/README diff --git a/examples/USER/bocs/in.methanol b/examples/PACKAGES/bocs/in.methanol similarity index 100% rename from examples/USER/bocs/in.methanol rename to examples/PACKAGES/bocs/in.methanol diff --git a/examples/USER/bocs/lammps_nb_MET-MET.table b/examples/PACKAGES/bocs/lammps_nb_MET-MET.table similarity index 100% rename from examples/USER/bocs/lammps_nb_MET-MET.table rename to examples/PACKAGES/bocs/lammps_nb_MET-MET.table diff --git a/examples/USER/bocs/log.27Nov18.methanol.g++.1 b/examples/PACKAGES/bocs/log.27Nov18.methanol.g++.1 similarity index 100% rename from examples/USER/bocs/log.27Nov18.methanol.g++.1 rename to examples/PACKAGES/bocs/log.27Nov18.methanol.g++.1 diff --git a/examples/USER/bocs/log.27Nov18.methanol.g++.4 b/examples/PACKAGES/bocs/log.27Nov18.methanol.g++.4 similarity index 100% rename from examples/USER/bocs/log.27Nov18.methanol.g++.4 rename to examples/PACKAGES/bocs/log.27Nov18.methanol.g++.4 diff --git a/examples/USER/bocs/methanol.data b/examples/PACKAGES/bocs/methanol.data similarity index 100% rename from examples/USER/bocs/methanol.data rename to examples/PACKAGES/bocs/methanol.data diff --git a/examples/USER/brownian/2d_velocity/in2d.velocity b/examples/PACKAGES/brownian/2d_velocity/in2d.velocity similarity index 100% rename from examples/USER/brownian/2d_velocity/in2d.velocity rename to examples/PACKAGES/brownian/2d_velocity/in2d.velocity diff --git a/examples/USER/brownian/2d_velocity/log.11May2021.in2d_velocity.g++.1 b/examples/PACKAGES/brownian/2d_velocity/log.11May2021.in2d_velocity.g++.1 similarity index 100% rename from examples/USER/brownian/2d_velocity/log.11May2021.in2d_velocity.g++.1 rename to examples/PACKAGES/brownian/2d_velocity/log.11May2021.in2d_velocity.g++.1 diff --git a/examples/USER/brownian/2d_velocity/log.11May2021.in2d_velocity.g++.4 b/examples/PACKAGES/brownian/2d_velocity/log.11May2021.in2d_velocity.g++.4 similarity index 100% rename from examples/USER/brownian/2d_velocity/log.11May2021.in2d_velocity.g++.4 rename to examples/PACKAGES/brownian/2d_velocity/log.11May2021.in2d_velocity.g++.4 diff --git a/examples/USER/brownian/asphere/in2d.ellipsoid b/examples/PACKAGES/brownian/asphere/in2d.ellipsoid similarity index 100% rename from examples/USER/brownian/asphere/in2d.ellipsoid rename to examples/PACKAGES/brownian/asphere/in2d.ellipsoid diff --git a/examples/USER/brownian/asphere/in3d.ellipsoid b/examples/PACKAGES/brownian/asphere/in3d.ellipsoid similarity index 100% rename from examples/USER/brownian/asphere/in3d.ellipsoid rename to examples/PACKAGES/brownian/asphere/in3d.ellipsoid diff --git a/examples/USER/brownian/asphere/log.11May2021.in2d.ellipsoid.g++.1 b/examples/PACKAGES/brownian/asphere/log.11May2021.in2d.ellipsoid.g++.1 similarity index 100% rename from examples/USER/brownian/asphere/log.11May2021.in2d.ellipsoid.g++.1 rename to examples/PACKAGES/brownian/asphere/log.11May2021.in2d.ellipsoid.g++.1 diff --git a/examples/USER/brownian/asphere/log.11May2021.in2d.ellipsoid.g++.4 b/examples/PACKAGES/brownian/asphere/log.11May2021.in2d.ellipsoid.g++.4 similarity index 100% rename from examples/USER/brownian/asphere/log.11May2021.in2d.ellipsoid.g++.4 rename to examples/PACKAGES/brownian/asphere/log.11May2021.in2d.ellipsoid.g++.4 diff --git a/examples/USER/brownian/asphere/log.11May2021.in3d.ellipsoid.g++.1 b/examples/PACKAGES/brownian/asphere/log.11May2021.in3d.ellipsoid.g++.1 similarity index 100% rename from examples/USER/brownian/asphere/log.11May2021.in3d.ellipsoid.g++.1 rename to examples/PACKAGES/brownian/asphere/log.11May2021.in3d.ellipsoid.g++.1 diff --git a/examples/USER/brownian/asphere/log.11May2021.in3d.ellipsoid.g++.4 b/examples/PACKAGES/brownian/asphere/log.11May2021.in3d.ellipsoid.g++.4 similarity index 100% rename from examples/USER/brownian/asphere/log.11May2021.in3d.ellipsoid.g++.4 rename to examples/PACKAGES/brownian/asphere/log.11May2021.in3d.ellipsoid.g++.4 diff --git a/examples/USER/brownian/point/in2d.point b/examples/PACKAGES/brownian/point/in2d.point similarity index 100% rename from examples/USER/brownian/point/in2d.point rename to examples/PACKAGES/brownian/point/in2d.point diff --git a/examples/USER/brownian/point/in3d.point b/examples/PACKAGES/brownian/point/in3d.point similarity index 100% rename from examples/USER/brownian/point/in3d.point rename to examples/PACKAGES/brownian/point/in3d.point diff --git a/examples/USER/brownian/point/log.11May2021.in2d.point.g++.1 b/examples/PACKAGES/brownian/point/log.11May2021.in2d.point.g++.1 similarity index 100% rename from examples/USER/brownian/point/log.11May2021.in2d.point.g++.1 rename to examples/PACKAGES/brownian/point/log.11May2021.in2d.point.g++.1 diff --git a/examples/USER/brownian/point/log.11May2021.in2d.point.g++.4 b/examples/PACKAGES/brownian/point/log.11May2021.in2d.point.g++.4 similarity index 100% rename from examples/USER/brownian/point/log.11May2021.in2d.point.g++.4 rename to examples/PACKAGES/brownian/point/log.11May2021.in2d.point.g++.4 diff --git a/examples/USER/brownian/point/log.11May2021.in3d.point.g++.1 b/examples/PACKAGES/brownian/point/log.11May2021.in3d.point.g++.1 similarity index 100% rename from examples/USER/brownian/point/log.11May2021.in3d.point.g++.1 rename to examples/PACKAGES/brownian/point/log.11May2021.in3d.point.g++.1 diff --git a/examples/USER/brownian/point/log.11May2021.in3d.point.g++.4 b/examples/PACKAGES/brownian/point/log.11May2021.in3d.point.g++.4 similarity index 100% rename from examples/USER/brownian/point/log.11May2021.in3d.point.g++.4 rename to examples/PACKAGES/brownian/point/log.11May2021.in3d.point.g++.4 diff --git a/examples/USER/brownian/sphere/in2d.sphere b/examples/PACKAGES/brownian/sphere/in2d.sphere similarity index 100% rename from examples/USER/brownian/sphere/in2d.sphere rename to examples/PACKAGES/brownian/sphere/in2d.sphere diff --git a/examples/USER/brownian/sphere/in3d.sphere b/examples/PACKAGES/brownian/sphere/in3d.sphere similarity index 100% rename from examples/USER/brownian/sphere/in3d.sphere rename to examples/PACKAGES/brownian/sphere/in3d.sphere diff --git a/examples/USER/brownian/sphere/log.11May2021.in2d.sphere.g++.1 b/examples/PACKAGES/brownian/sphere/log.11May2021.in2d.sphere.g++.1 similarity index 100% rename from examples/USER/brownian/sphere/log.11May2021.in2d.sphere.g++.1 rename to examples/PACKAGES/brownian/sphere/log.11May2021.in2d.sphere.g++.1 diff --git a/examples/USER/brownian/sphere/log.11May2021.in2d.sphere.g++.4 b/examples/PACKAGES/brownian/sphere/log.11May2021.in2d.sphere.g++.4 similarity index 100% rename from examples/USER/brownian/sphere/log.11May2021.in2d.sphere.g++.4 rename to examples/PACKAGES/brownian/sphere/log.11May2021.in2d.sphere.g++.4 diff --git a/examples/USER/brownian/sphere/log.11May2021.in3d.sphere.g++.1 b/examples/PACKAGES/brownian/sphere/log.11May2021.in3d.sphere.g++.1 similarity index 100% rename from examples/USER/brownian/sphere/log.11May2021.in3d.sphere.g++.1 rename to examples/PACKAGES/brownian/sphere/log.11May2021.in3d.sphere.g++.1 diff --git a/examples/USER/brownian/sphere/log.11May2021.in3d.sphere.g++.4 b/examples/PACKAGES/brownian/sphere/log.11May2021.in3d.sphere.g++.4 similarity index 100% rename from examples/USER/brownian/sphere/log.11May2021.in3d.sphere.g++.4 rename to examples/PACKAGES/brownian/sphere/log.11May2021.in3d.sphere.g++.4 diff --git a/examples/USER/brownian/spherical_ABP/in2d.abp b/examples/PACKAGES/brownian/spherical_ABP/in2d.abp similarity index 100% rename from examples/USER/brownian/spherical_ABP/in2d.abp rename to examples/PACKAGES/brownian/spherical_ABP/in2d.abp diff --git a/examples/USER/brownian/spherical_ABP/in3d.ideal_abp b/examples/PACKAGES/brownian/spherical_ABP/in3d.ideal_abp similarity index 100% rename from examples/USER/brownian/spherical_ABP/in3d.ideal_abp rename to examples/PACKAGES/brownian/spherical_ABP/in3d.ideal_abp diff --git a/examples/USER/brownian/spherical_ABP/log.11May2021.in2d.apb.g++.1 b/examples/PACKAGES/brownian/spherical_ABP/log.11May2021.in2d.apb.g++.1 similarity index 100% rename from examples/USER/brownian/spherical_ABP/log.11May2021.in2d.apb.g++.1 rename to examples/PACKAGES/brownian/spherical_ABP/log.11May2021.in2d.apb.g++.1 diff --git a/examples/USER/brownian/spherical_ABP/log.11May2021.in2d.apb.g++.4 b/examples/PACKAGES/brownian/spherical_ABP/log.11May2021.in2d.apb.g++.4 similarity index 100% rename from examples/USER/brownian/spherical_ABP/log.11May2021.in2d.apb.g++.4 rename to examples/PACKAGES/brownian/spherical_ABP/log.11May2021.in2d.apb.g++.4 diff --git a/examples/USER/brownian/spherical_ABP/log.11May2021.in3d.ideal_apb.g++.1 b/examples/PACKAGES/brownian/spherical_ABP/log.11May2021.in3d.ideal_apb.g++.1 similarity index 100% rename from examples/USER/brownian/spherical_ABP/log.11May2021.in3d.ideal_apb.g++.1 rename to examples/PACKAGES/brownian/spherical_ABP/log.11May2021.in3d.ideal_apb.g++.1 diff --git a/examples/USER/brownian/spherical_ABP/log.11May2021.in3d.ideal_apb.g++.4 b/examples/PACKAGES/brownian/spherical_ABP/log.11May2021.in3d.ideal_apb.g++.4 similarity index 100% rename from examples/USER/brownian/spherical_ABP/log.11May2021.in3d.ideal_apb.g++.4 rename to examples/PACKAGES/brownian/spherical_ABP/log.11May2021.in3d.ideal_apb.g++.4 diff --git a/examples/USER/cgdna/README b/examples/PACKAGES/cgdna/README similarity index 100% rename from examples/USER/cgdna/README rename to examples/PACKAGES/cgdna/README diff --git a/examples/USER/cgdna/examples/oxDNA/duplex1/data.duplex1 b/examples/PACKAGES/cgdna/examples/oxDNA/duplex1/data.duplex1 similarity index 100% rename from examples/USER/cgdna/examples/oxDNA/duplex1/data.duplex1 rename to examples/PACKAGES/cgdna/examples/oxDNA/duplex1/data.duplex1 diff --git a/examples/USER/cgdna/examples/oxDNA/duplex1/in.duplex1 b/examples/PACKAGES/cgdna/examples/oxDNA/duplex1/in.duplex1 similarity index 100% rename from examples/USER/cgdna/examples/oxDNA/duplex1/in.duplex1 rename to examples/PACKAGES/cgdna/examples/oxDNA/duplex1/in.duplex1 diff --git a/examples/USER/cgdna/examples/oxDNA/duplex1/log.30Jun20.duplex1.g++.1 b/examples/PACKAGES/cgdna/examples/oxDNA/duplex1/log.30Jun20.duplex1.g++.1 similarity index 100% rename from examples/USER/cgdna/examples/oxDNA/duplex1/log.30Jun20.duplex1.g++.1 rename to examples/PACKAGES/cgdna/examples/oxDNA/duplex1/log.30Jun20.duplex1.g++.1 diff --git a/examples/USER/cgdna/examples/oxDNA/duplex1/log.30Jun20.duplex1.g++.4 b/examples/PACKAGES/cgdna/examples/oxDNA/duplex1/log.30Jun20.duplex1.g++.4 similarity index 100% rename from examples/USER/cgdna/examples/oxDNA/duplex1/log.30Jun20.duplex1.g++.4 rename to examples/PACKAGES/cgdna/examples/oxDNA/duplex1/log.30Jun20.duplex1.g++.4 diff --git a/examples/USER/cgdna/examples/oxDNA/duplex2/data.duplex2 b/examples/PACKAGES/cgdna/examples/oxDNA/duplex2/data.duplex2 similarity index 100% rename from examples/USER/cgdna/examples/oxDNA/duplex2/data.duplex2 rename to examples/PACKAGES/cgdna/examples/oxDNA/duplex2/data.duplex2 diff --git a/examples/USER/cgdna/examples/oxDNA/duplex2/in.duplex2 b/examples/PACKAGES/cgdna/examples/oxDNA/duplex2/in.duplex2 similarity index 100% rename from examples/USER/cgdna/examples/oxDNA/duplex2/in.duplex2 rename to examples/PACKAGES/cgdna/examples/oxDNA/duplex2/in.duplex2 diff --git a/examples/USER/cgdna/examples/oxDNA/duplex2/log.30Jun20.duplex2.g++.1 b/examples/PACKAGES/cgdna/examples/oxDNA/duplex2/log.30Jun20.duplex2.g++.1 similarity index 100% rename from examples/USER/cgdna/examples/oxDNA/duplex2/log.30Jun20.duplex2.g++.1 rename to examples/PACKAGES/cgdna/examples/oxDNA/duplex2/log.30Jun20.duplex2.g++.1 diff --git a/examples/USER/cgdna/examples/oxDNA/duplex2/log.30Jun20.duplex2.g++.4 b/examples/PACKAGES/cgdna/examples/oxDNA/duplex2/log.30Jun20.duplex2.g++.4 similarity index 100% rename from examples/USER/cgdna/examples/oxDNA/duplex2/log.30Jun20.duplex2.g++.4 rename to examples/PACKAGES/cgdna/examples/oxDNA/duplex2/log.30Jun20.duplex2.g++.4 diff --git a/examples/USER/cgdna/examples/oxDNA2/duplex1/data.duplex1 b/examples/PACKAGES/cgdna/examples/oxDNA2/duplex1/data.duplex1 similarity index 100% rename from examples/USER/cgdna/examples/oxDNA2/duplex1/data.duplex1 rename to examples/PACKAGES/cgdna/examples/oxDNA2/duplex1/data.duplex1 diff --git a/examples/USER/cgdna/examples/oxDNA2/duplex1/in.duplex1 b/examples/PACKAGES/cgdna/examples/oxDNA2/duplex1/in.duplex1 similarity index 100% rename from examples/USER/cgdna/examples/oxDNA2/duplex1/in.duplex1 rename to examples/PACKAGES/cgdna/examples/oxDNA2/duplex1/in.duplex1 diff --git a/examples/USER/cgdna/examples/oxDNA2/duplex1/log.30Jun20.duplex1.g++.1 b/examples/PACKAGES/cgdna/examples/oxDNA2/duplex1/log.30Jun20.duplex1.g++.1 similarity index 100% rename from examples/USER/cgdna/examples/oxDNA2/duplex1/log.30Jun20.duplex1.g++.1 rename to examples/PACKAGES/cgdna/examples/oxDNA2/duplex1/log.30Jun20.duplex1.g++.1 diff --git a/examples/USER/cgdna/examples/oxDNA2/duplex1/log.30Jun20.duplex1.g++.4 b/examples/PACKAGES/cgdna/examples/oxDNA2/duplex1/log.30Jun20.duplex1.g++.4 similarity index 100% rename from examples/USER/cgdna/examples/oxDNA2/duplex1/log.30Jun20.duplex1.g++.4 rename to examples/PACKAGES/cgdna/examples/oxDNA2/duplex1/log.30Jun20.duplex1.g++.4 diff --git a/examples/USER/cgdna/examples/oxDNA2/duplex2/data.duplex2 b/examples/PACKAGES/cgdna/examples/oxDNA2/duplex2/data.duplex2 similarity index 100% rename from examples/USER/cgdna/examples/oxDNA2/duplex2/data.duplex2 rename to examples/PACKAGES/cgdna/examples/oxDNA2/duplex2/data.duplex2 diff --git a/examples/USER/cgdna/examples/oxDNA2/duplex2/in.duplex2 b/examples/PACKAGES/cgdna/examples/oxDNA2/duplex2/in.duplex2 similarity index 100% rename from examples/USER/cgdna/examples/oxDNA2/duplex2/in.duplex2 rename to examples/PACKAGES/cgdna/examples/oxDNA2/duplex2/in.duplex2 diff --git a/examples/USER/cgdna/examples/oxDNA2/duplex2/log.30Jun20.duplex2.g++.1 b/examples/PACKAGES/cgdna/examples/oxDNA2/duplex2/log.30Jun20.duplex2.g++.1 similarity index 100% rename from examples/USER/cgdna/examples/oxDNA2/duplex2/log.30Jun20.duplex2.g++.1 rename to examples/PACKAGES/cgdna/examples/oxDNA2/duplex2/log.30Jun20.duplex2.g++.1 diff --git a/examples/USER/cgdna/examples/oxDNA2/duplex2/log.30Jun20.duplex2.g++.4 b/examples/PACKAGES/cgdna/examples/oxDNA2/duplex2/log.30Jun20.duplex2.g++.4 similarity index 100% rename from examples/USER/cgdna/examples/oxDNA2/duplex2/log.30Jun20.duplex2.g++.4 rename to examples/PACKAGES/cgdna/examples/oxDNA2/duplex2/log.30Jun20.duplex2.g++.4 diff --git a/examples/USER/cgdna/examples/oxDNA2/duplex3/data.duplex3 b/examples/PACKAGES/cgdna/examples/oxDNA2/duplex3/data.duplex3 similarity index 100% rename from examples/USER/cgdna/examples/oxDNA2/duplex3/data.duplex3 rename to examples/PACKAGES/cgdna/examples/oxDNA2/duplex3/data.duplex3 diff --git a/examples/USER/cgdna/examples/oxDNA2/duplex3/in.duplex3 b/examples/PACKAGES/cgdna/examples/oxDNA2/duplex3/in.duplex3 similarity index 100% rename from examples/USER/cgdna/examples/oxDNA2/duplex3/in.duplex3 rename to examples/PACKAGES/cgdna/examples/oxDNA2/duplex3/in.duplex3 diff --git a/examples/USER/cgdna/examples/oxDNA2/duplex3/log.30Jun20.duplex3.g++.1 b/examples/PACKAGES/cgdna/examples/oxDNA2/duplex3/log.30Jun20.duplex3.g++.1 similarity index 100% rename from examples/USER/cgdna/examples/oxDNA2/duplex3/log.30Jun20.duplex3.g++.1 rename to examples/PACKAGES/cgdna/examples/oxDNA2/duplex3/log.30Jun20.duplex3.g++.1 diff --git a/examples/USER/cgdna/examples/oxDNA2/duplex3/log.30Jun20.duplex3.g++.4 b/examples/PACKAGES/cgdna/examples/oxDNA2/duplex3/log.30Jun20.duplex3.g++.4 similarity index 100% rename from examples/USER/cgdna/examples/oxDNA2/duplex3/log.30Jun20.duplex3.g++.4 rename to examples/PACKAGES/cgdna/examples/oxDNA2/duplex3/log.30Jun20.duplex3.g++.4 diff --git a/examples/USER/cgdna/examples/oxDNA2/unique_bp/data.duplex4.4type b/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/data.duplex4.4type similarity index 100% rename from examples/USER/cgdna/examples/oxDNA2/unique_bp/data.duplex4.4type rename to examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/data.duplex4.4type diff --git a/examples/USER/cgdna/examples/oxDNA2/unique_bp/data.duplex4.8type b/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/data.duplex4.8type similarity index 100% rename from examples/USER/cgdna/examples/oxDNA2/unique_bp/data.duplex4.8type rename to examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/data.duplex4.8type diff --git a/examples/USER/cgdna/examples/oxDNA2/unique_bp/generate_unique.py b/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/generate_unique.py similarity index 100% rename from examples/USER/cgdna/examples/oxDNA2/unique_bp/generate_unique.py rename to examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/generate_unique.py diff --git a/examples/USER/cgdna/examples/oxDNA2/unique_bp/in.duplex4.4type b/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/in.duplex4.4type similarity index 100% rename from examples/USER/cgdna/examples/oxDNA2/unique_bp/in.duplex4.4type rename to examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/in.duplex4.4type diff --git a/examples/USER/cgdna/examples/oxDNA2/unique_bp/in.duplex4.8type b/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/in.duplex4.8type similarity index 100% rename from examples/USER/cgdna/examples/oxDNA2/unique_bp/in.duplex4.8type rename to examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/in.duplex4.8type diff --git a/examples/USER/cgdna/examples/oxDNA2/unique_bp/log.30Jun20.duplex4.4type.g++1 b/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.30Jun20.duplex4.4type.g++1 similarity index 100% rename from examples/USER/cgdna/examples/oxDNA2/unique_bp/log.30Jun20.duplex4.4type.g++1 rename to examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.30Jun20.duplex4.4type.g++1 diff --git a/examples/USER/cgdna/examples/oxDNA2/unique_bp/log.30Jun20.duplex4.4type.g++4 b/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.30Jun20.duplex4.4type.g++4 similarity index 100% rename from examples/USER/cgdna/examples/oxDNA2/unique_bp/log.30Jun20.duplex4.4type.g++4 rename to examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.30Jun20.duplex4.4type.g++4 diff --git a/examples/USER/cgdna/examples/oxDNA2/unique_bp/log.30Jun20.duplex4.8type.g++1 b/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.30Jun20.duplex4.8type.g++1 similarity index 100% rename from examples/USER/cgdna/examples/oxDNA2/unique_bp/log.30Jun20.duplex4.8type.g++1 rename to examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.30Jun20.duplex4.8type.g++1 diff --git a/examples/USER/cgdna/examples/oxDNA2/unique_bp/log.30Jun20.duplex4.8type.g++4 b/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.30Jun20.duplex4.8type.g++4 similarity index 100% rename from examples/USER/cgdna/examples/oxDNA2/unique_bp/log.30Jun20.duplex4.8type.g++4 rename to examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.30Jun20.duplex4.8type.g++4 diff --git a/examples/USER/cgdna/examples/oxRNA2/duplex4/data.duplex4 b/examples/PACKAGES/cgdna/examples/oxRNA2/duplex4/data.duplex4 similarity index 100% rename from examples/USER/cgdna/examples/oxRNA2/duplex4/data.duplex4 rename to examples/PACKAGES/cgdna/examples/oxRNA2/duplex4/data.duplex4 diff --git a/examples/USER/cgdna/examples/oxRNA2/duplex4/in.duplex4 b/examples/PACKAGES/cgdna/examples/oxRNA2/duplex4/in.duplex4 similarity index 100% rename from examples/USER/cgdna/examples/oxRNA2/duplex4/in.duplex4 rename to examples/PACKAGES/cgdna/examples/oxRNA2/duplex4/in.duplex4 diff --git a/examples/USER/cgdna/examples/oxRNA2/duplex4/log.30Jun20.duplex4.g++.1 b/examples/PACKAGES/cgdna/examples/oxRNA2/duplex4/log.30Jun20.duplex4.g++.1 similarity index 100% rename from examples/USER/cgdna/examples/oxRNA2/duplex4/log.30Jun20.duplex4.g++.1 rename to examples/PACKAGES/cgdna/examples/oxRNA2/duplex4/log.30Jun20.duplex4.g++.1 diff --git a/examples/USER/cgdna/examples/oxRNA2/duplex4/log.30Jun20.duplex4.g++.4 b/examples/PACKAGES/cgdna/examples/oxRNA2/duplex4/log.30Jun20.duplex4.g++.4 similarity index 100% rename from examples/USER/cgdna/examples/oxRNA2/duplex4/log.30Jun20.duplex4.g++.4 rename to examples/PACKAGES/cgdna/examples/oxRNA2/duplex4/log.30Jun20.duplex4.g++.4 diff --git a/examples/USER/cgdna/util/generate.py b/examples/PACKAGES/cgdna/util/generate.py similarity index 100% rename from examples/USER/cgdna/util/generate.py rename to examples/PACKAGES/cgdna/util/generate.py diff --git a/examples/USER/cgdna/util/generate_simple.py b/examples/PACKAGES/cgdna/util/generate_simple.py similarity index 100% rename from examples/USER/cgdna/util/generate_simple.py rename to examples/PACKAGES/cgdna/util/generate_simple.py diff --git a/examples/USER/cgdna/util/input.ref b/examples/PACKAGES/cgdna/util/input.ref similarity index 100% rename from examples/USER/cgdna/util/input.ref rename to examples/PACKAGES/cgdna/util/input.ref diff --git a/examples/USER/cgdna/util/sequence.txt b/examples/PACKAGES/cgdna/util/sequence.txt similarity index 100% rename from examples/USER/cgdna/util/sequence.txt rename to examples/PACKAGES/cgdna/util/sequence.txt diff --git a/examples/USER/cgdna/util/sequence_simple.txt b/examples/PACKAGES/cgdna/util/sequence_simple.txt similarity index 100% rename from examples/USER/cgdna/util/sequence_simple.txt rename to examples/PACKAGES/cgdna/util/sequence_simple.txt diff --git a/examples/USER/cgsdk/README b/examples/PACKAGES/cgsdk/README similarity index 100% rename from examples/USER/cgsdk/README rename to examples/PACKAGES/cgsdk/README diff --git a/examples/USER/cgsdk/peg-verlet/data.pegc12e8.gz b/examples/PACKAGES/cgsdk/peg-verlet/data.pegc12e8.gz similarity index 100% rename from examples/USER/cgsdk/peg-verlet/data.pegc12e8.gz rename to examples/PACKAGES/cgsdk/peg-verlet/data.pegc12e8.gz diff --git a/examples/USER/cgsdk/peg-verlet/in.pegc12e8 b/examples/PACKAGES/cgsdk/peg-verlet/in.pegc12e8 similarity index 100% rename from examples/USER/cgsdk/peg-verlet/in.pegc12e8 rename to examples/PACKAGES/cgsdk/peg-verlet/in.pegc12e8 diff --git a/examples/USER/cgsdk/peg-verlet/in.pegc12e8-angle b/examples/PACKAGES/cgsdk/peg-verlet/in.pegc12e8-angle similarity index 100% rename from examples/USER/cgsdk/peg-verlet/in.pegc12e8-angle rename to examples/PACKAGES/cgsdk/peg-verlet/in.pegc12e8-angle diff --git a/examples/USER/cgsdk/peg-verlet/log.27Nov18.pegc12e8-angle.g++.1 b/examples/PACKAGES/cgsdk/peg-verlet/log.27Nov18.pegc12e8-angle.g++.1 similarity index 100% rename from examples/USER/cgsdk/peg-verlet/log.27Nov18.pegc12e8-angle.g++.1 rename to examples/PACKAGES/cgsdk/peg-verlet/log.27Nov18.pegc12e8-angle.g++.1 diff --git a/examples/USER/cgsdk/peg-verlet/log.27Nov18.pegc12e8-angle.g++.4 b/examples/PACKAGES/cgsdk/peg-verlet/log.27Nov18.pegc12e8-angle.g++.4 similarity index 100% rename from examples/USER/cgsdk/peg-verlet/log.27Nov18.pegc12e8-angle.g++.4 rename to examples/PACKAGES/cgsdk/peg-verlet/log.27Nov18.pegc12e8-angle.g++.4 diff --git a/examples/USER/cgsdk/peg-verlet/log.27Nov18.pegc12e8.g++.1 b/examples/PACKAGES/cgsdk/peg-verlet/log.27Nov18.pegc12e8.g++.1 similarity index 100% rename from examples/USER/cgsdk/peg-verlet/log.27Nov18.pegc12e8.g++.1 rename to examples/PACKAGES/cgsdk/peg-verlet/log.27Nov18.pegc12e8.g++.1 diff --git a/examples/USER/cgsdk/peg-verlet/log.27Nov18.pegc12e8.g++.4 b/examples/PACKAGES/cgsdk/peg-verlet/log.27Nov18.pegc12e8.g++.4 similarity index 100% rename from examples/USER/cgsdk/peg-verlet/log.27Nov18.pegc12e8.g++.4 rename to examples/PACKAGES/cgsdk/peg-verlet/log.27Nov18.pegc12e8.g++.4 diff --git a/examples/USER/cgsdk/sds-monolayer/data.sds.gz b/examples/PACKAGES/cgsdk/sds-monolayer/data.sds.gz similarity index 100% rename from examples/USER/cgsdk/sds-monolayer/data.sds.gz rename to examples/PACKAGES/cgsdk/sds-monolayer/data.sds.gz diff --git a/examples/USER/cgsdk/sds-monolayer/in.sds-hybrid b/examples/PACKAGES/cgsdk/sds-monolayer/in.sds-hybrid similarity index 100% rename from examples/USER/cgsdk/sds-monolayer/in.sds-hybrid rename to examples/PACKAGES/cgsdk/sds-monolayer/in.sds-hybrid diff --git a/examples/USER/cgsdk/sds-monolayer/in.sds-regular b/examples/PACKAGES/cgsdk/sds-monolayer/in.sds-regular similarity index 100% rename from examples/USER/cgsdk/sds-monolayer/in.sds-regular rename to examples/PACKAGES/cgsdk/sds-monolayer/in.sds-regular diff --git a/examples/USER/cgsdk/sds-monolayer/log.27Nov18.sds-hybrid.g++.1 b/examples/PACKAGES/cgsdk/sds-monolayer/log.27Nov18.sds-hybrid.g++.1 similarity index 100% rename from examples/USER/cgsdk/sds-monolayer/log.27Nov18.sds-hybrid.g++.1 rename to examples/PACKAGES/cgsdk/sds-monolayer/log.27Nov18.sds-hybrid.g++.1 diff --git a/examples/USER/cgsdk/sds-monolayer/log.27Nov18.sds-hybrid.g++.4 b/examples/PACKAGES/cgsdk/sds-monolayer/log.27Nov18.sds-hybrid.g++.4 similarity index 100% rename from examples/USER/cgsdk/sds-monolayer/log.27Nov18.sds-hybrid.g++.4 rename to examples/PACKAGES/cgsdk/sds-monolayer/log.27Nov18.sds-hybrid.g++.4 diff --git a/examples/USER/cgsdk/sds-monolayer/log.27Nov18.sds-regular.g++.1 b/examples/PACKAGES/cgsdk/sds-monolayer/log.27Nov18.sds-regular.g++.1 similarity index 100% rename from examples/USER/cgsdk/sds-monolayer/log.27Nov18.sds-regular.g++.1 rename to examples/PACKAGES/cgsdk/sds-monolayer/log.27Nov18.sds-regular.g++.1 diff --git a/examples/USER/cgsdk/sds-monolayer/log.27Nov18.sds-regular.g++.4 b/examples/PACKAGES/cgsdk/sds-monolayer/log.27Nov18.sds-regular.g++.4 similarity index 100% rename from examples/USER/cgsdk/sds-monolayer/log.27Nov18.sds-regular.g++.4 rename to examples/PACKAGES/cgsdk/sds-monolayer/log.27Nov18.sds-regular.g++.4 diff --git a/examples/USER/misc/temper_npt/data.peptide b/examples/PACKAGES/colvars/data.peptide similarity index 100% rename from examples/USER/misc/temper_npt/data.peptide rename to examples/PACKAGES/colvars/data.peptide diff --git a/examples/USER/colvars/in.peptide-colvars b/examples/PACKAGES/colvars/in.peptide-colvars similarity index 100% rename from examples/USER/colvars/in.peptide-colvars rename to examples/PACKAGES/colvars/in.peptide-colvars diff --git a/examples/USER/colvars/in.peptide-colvars2 b/examples/PACKAGES/colvars/in.peptide-colvars2 similarity index 100% rename from examples/USER/colvars/in.peptide-colvars2 rename to examples/PACKAGES/colvars/in.peptide-colvars2 diff --git a/examples/USER/colvars/in.peptide-spring b/examples/PACKAGES/colvars/in.peptide-spring similarity index 100% rename from examples/USER/colvars/in.peptide-spring rename to examples/PACKAGES/colvars/in.peptide-spring diff --git a/examples/USER/colvars/in.peptide-spring2 b/examples/PACKAGES/colvars/in.peptide-spring2 similarity index 100% rename from examples/USER/colvars/in.peptide-spring2 rename to examples/PACKAGES/colvars/in.peptide-spring2 diff --git a/examples/USER/colvars/log.27Nov18.peptide-colvars.g++.1 b/examples/PACKAGES/colvars/log.27Nov18.peptide-colvars.g++.1 similarity index 100% rename from examples/USER/colvars/log.27Nov18.peptide-colvars.g++.1 rename to examples/PACKAGES/colvars/log.27Nov18.peptide-colvars.g++.1 diff --git a/examples/USER/colvars/log.27Nov18.peptide-colvars.g++.4 b/examples/PACKAGES/colvars/log.27Nov18.peptide-colvars.g++.4 similarity index 100% rename from examples/USER/colvars/log.27Nov18.peptide-colvars.g++.4 rename to examples/PACKAGES/colvars/log.27Nov18.peptide-colvars.g++.4 diff --git a/examples/USER/colvars/log.27Nov18.peptide-colvars2.g++.1 b/examples/PACKAGES/colvars/log.27Nov18.peptide-colvars2.g++.1 similarity index 100% rename from examples/USER/colvars/log.27Nov18.peptide-colvars2.g++.1 rename to examples/PACKAGES/colvars/log.27Nov18.peptide-colvars2.g++.1 diff --git a/examples/USER/colvars/log.27Nov18.peptide-colvars2.g++.4 b/examples/PACKAGES/colvars/log.27Nov18.peptide-colvars2.g++.4 similarity index 100% rename from examples/USER/colvars/log.27Nov18.peptide-colvars2.g++.4 rename to examples/PACKAGES/colvars/log.27Nov18.peptide-colvars2.g++.4 diff --git a/examples/USER/colvars/log.27Nov18.peptide-spring.g++.1 b/examples/PACKAGES/colvars/log.27Nov18.peptide-spring.g++.1 similarity index 100% rename from examples/USER/colvars/log.27Nov18.peptide-spring.g++.1 rename to examples/PACKAGES/colvars/log.27Nov18.peptide-spring.g++.1 diff --git a/examples/USER/colvars/log.27Nov18.peptide-spring.g++.4 b/examples/PACKAGES/colvars/log.27Nov18.peptide-spring.g++.4 similarity index 100% rename from examples/USER/colvars/log.27Nov18.peptide-spring.g++.4 rename to examples/PACKAGES/colvars/log.27Nov18.peptide-spring.g++.4 diff --git a/examples/USER/colvars/log.27Nov18.peptide-spring2.g++.1 b/examples/PACKAGES/colvars/log.27Nov18.peptide-spring2.g++.1 similarity index 100% rename from examples/USER/colvars/log.27Nov18.peptide-spring2.g++.1 rename to examples/PACKAGES/colvars/log.27Nov18.peptide-spring2.g++.1 diff --git a/examples/USER/colvars/log.27Nov18.peptide-spring2.g++.4 b/examples/PACKAGES/colvars/log.27Nov18.peptide-spring2.g++.4 similarity index 100% rename from examples/USER/colvars/log.27Nov18.peptide-spring2.g++.4 rename to examples/PACKAGES/colvars/log.27Nov18.peptide-spring2.g++.4 diff --git a/examples/USER/colvars/out.colvars.state b/examples/PACKAGES/colvars/out.colvars.state similarity index 100% rename from examples/USER/colvars/out.colvars.state rename to examples/PACKAGES/colvars/out.colvars.state diff --git a/examples/USER/colvars/out.colvars.state.old b/examples/PACKAGES/colvars/out.colvars.state.old similarity index 100% rename from examples/USER/colvars/out.colvars.state.old rename to examples/PACKAGES/colvars/out.colvars.state.old diff --git a/examples/USER/colvars/out.colvars.traj b/examples/PACKAGES/colvars/out.colvars.traj similarity index 100% rename from examples/USER/colvars/out.colvars.traj rename to examples/PACKAGES/colvars/out.colvars.traj diff --git a/examples/USER/colvars/out2.colvars.state b/examples/PACKAGES/colvars/out2.colvars.state similarity index 100% rename from examples/USER/colvars/out2.colvars.state rename to examples/PACKAGES/colvars/out2.colvars.state diff --git a/examples/USER/colvars/out2.colvars.traj b/examples/PACKAGES/colvars/out2.colvars.traj similarity index 100% rename from examples/USER/colvars/out2.colvars.traj rename to examples/PACKAGES/colvars/out2.colvars.traj diff --git a/examples/USER/colvars/peptide.colvars b/examples/PACKAGES/colvars/peptide.colvars similarity index 100% rename from examples/USER/colvars/peptide.colvars rename to examples/PACKAGES/colvars/peptide.colvars diff --git a/examples/USER/colvars/peptide.colvars2 b/examples/PACKAGES/colvars/peptide.colvars2 similarity index 100% rename from examples/USER/colvars/peptide.colvars2 rename to examples/PACKAGES/colvars/peptide.colvars2 diff --git a/examples/USER/colvars/peptide.psf b/examples/PACKAGES/colvars/peptide.psf similarity index 100% rename from examples/USER/colvars/peptide.psf rename to examples/PACKAGES/colvars/peptide.psf diff --git a/examples/USER/colvars/peptide2.colvars.state b/examples/PACKAGES/colvars/peptide2.colvars.state similarity index 100% rename from examples/USER/colvars/peptide2.colvars.state rename to examples/PACKAGES/colvars/peptide2.colvars.state diff --git a/examples/USER/colvars/peptide2.colvars.traj b/examples/PACKAGES/colvars/peptide2.colvars.traj similarity index 100% rename from examples/USER/colvars/peptide2.colvars.traj rename to examples/PACKAGES/colvars/peptide2.colvars.traj diff --git a/examples/USER/dielectric/README b/examples/PACKAGES/dielectric/README similarity index 100% rename from examples/USER/dielectric/README rename to examples/PACKAGES/dielectric/README diff --git a/examples/USER/dielectric/data.confined b/examples/PACKAGES/dielectric/data.confined similarity index 100% rename from examples/USER/dielectric/data.confined rename to examples/PACKAGES/dielectric/data.confined diff --git a/examples/USER/dielectric/data.sphere b/examples/PACKAGES/dielectric/data.sphere similarity index 100% rename from examples/USER/dielectric/data.sphere rename to examples/PACKAGES/dielectric/data.sphere diff --git a/examples/USER/dielectric/in.confined b/examples/PACKAGES/dielectric/in.confined similarity index 100% rename from examples/USER/dielectric/in.confined rename to examples/PACKAGES/dielectric/in.confined diff --git a/examples/USER/dielectric/in.nopbc b/examples/PACKAGES/dielectric/in.nopbc similarity index 100% rename from examples/USER/dielectric/in.nopbc rename to examples/PACKAGES/dielectric/in.nopbc diff --git a/examples/USER/diffraction/Output/bulkNi.hist.xrd.correct b/examples/PACKAGES/diffraction/Output/bulkNi.hist.xrd.correct similarity index 100% rename from examples/USER/diffraction/Output/bulkNi.hist.xrd.correct rename to examples/PACKAGES/diffraction/Output/bulkNi.hist.xrd.correct diff --git a/examples/USER/diffraction/Output/bulkNi.log.correct b/examples/PACKAGES/diffraction/Output/bulkNi.log.correct similarity index 100% rename from examples/USER/diffraction/Output/bulkNi.log.correct rename to examples/PACKAGES/diffraction/Output/bulkNi.log.correct diff --git a/examples/USER/diffraction/Output/bulkNi_001.saed.0.vtk.correct b/examples/PACKAGES/diffraction/Output/bulkNi_001.saed.0.vtk.correct similarity index 100% rename from examples/USER/diffraction/Output/bulkNi_001.saed.0.vtk.correct rename to examples/PACKAGES/diffraction/Output/bulkNi_001.saed.0.vtk.correct diff --git a/examples/USER/diffraction/Output/bulkNi_001.saed.0_VisIt_Image.png b/examples/PACKAGES/diffraction/Output/bulkNi_001.saed.0_VisIt_Image.png similarity index 100% rename from examples/USER/diffraction/Output/bulkNi_001.saed.0_VisIt_Image.png rename to examples/PACKAGES/diffraction/Output/bulkNi_001.saed.0_VisIt_Image.png diff --git a/examples/USER/diffraction/Output/log.cite b/examples/PACKAGES/diffraction/Output/log.cite similarity index 100% rename from examples/USER/diffraction/Output/log.cite rename to examples/PACKAGES/diffraction/Output/log.cite diff --git a/examples/USER/diffraction/README b/examples/PACKAGES/diffraction/README similarity index 100% rename from examples/USER/diffraction/README rename to examples/PACKAGES/diffraction/README diff --git a/examples/USER/diffraction/in.BulkNi b/examples/PACKAGES/diffraction/in.BulkNi similarity index 100% rename from examples/USER/diffraction/in.BulkNi rename to examples/PACKAGES/diffraction/in.BulkNi diff --git a/examples/USER/diffraction/log.27Nov18.BulkNi.g++.1 b/examples/PACKAGES/diffraction/log.27Nov18.BulkNi.g++.1 similarity index 100% rename from examples/USER/diffraction/log.27Nov18.BulkNi.g++.1 rename to examples/PACKAGES/diffraction/log.27Nov18.BulkNi.g++.1 diff --git a/examples/USER/diffraction/log.27Nov18.BulkNi.g++.4 b/examples/PACKAGES/diffraction/log.27Nov18.BulkNi.g++.4 similarity index 100% rename from examples/USER/diffraction/log.27Nov18.BulkNi.g++.4 rename to examples/PACKAGES/diffraction/log.27Nov18.BulkNi.g++.4 diff --git a/examples/USER/dpd/README b/examples/PACKAGES/dpd/README similarity index 100% rename from examples/USER/dpd/README rename to examples/PACKAGES/dpd/README diff --git a/examples/USER/dpd/dpd-shardlow/data.dpd b/examples/PACKAGES/dpd/dpd-shardlow/data.dpd similarity index 100% rename from examples/USER/dpd/dpd-shardlow/data.dpd rename to examples/PACKAGES/dpd/dpd-shardlow/data.dpd diff --git a/examples/USER/dpd/dpd-shardlow/in.dpd-shardlow b/examples/PACKAGES/dpd/dpd-shardlow/in.dpd-shardlow similarity index 100% rename from examples/USER/dpd/dpd-shardlow/in.dpd-shardlow rename to examples/PACKAGES/dpd/dpd-shardlow/in.dpd-shardlow diff --git a/examples/USER/dpd/dpd-shardlow/log.dpd-shardlow.reference b/examples/PACKAGES/dpd/dpd-shardlow/log.dpd-shardlow.reference similarity index 100% rename from examples/USER/dpd/dpd-shardlow/log.dpd-shardlow.reference rename to examples/PACKAGES/dpd/dpd-shardlow/log.dpd-shardlow.reference diff --git a/examples/USER/dpd/dpd-vv/data.dpd b/examples/PACKAGES/dpd/dpd-vv/data.dpd similarity index 100% rename from examples/USER/dpd/dpd-vv/data.dpd rename to examples/PACKAGES/dpd/dpd-vv/data.dpd diff --git a/examples/USER/dpd/dpd-vv/in.dpd-vv b/examples/PACKAGES/dpd/dpd-vv/in.dpd-vv similarity index 100% rename from examples/USER/dpd/dpd-vv/in.dpd-vv rename to examples/PACKAGES/dpd/dpd-vv/in.dpd-vv diff --git a/examples/USER/dpd/dpd-vv/log.dpd-vv.reference b/examples/PACKAGES/dpd/dpd-vv/log.dpd-vv.reference similarity index 100% rename from examples/USER/dpd/dpd-vv/log.dpd-vv.reference rename to examples/PACKAGES/dpd/dpd-vv/log.dpd-vv.reference diff --git a/examples/USER/dpd/dpde-shardlow/data.dpde b/examples/PACKAGES/dpd/dpde-shardlow/data.dpde similarity index 100% rename from examples/USER/dpd/dpde-shardlow/data.dpde rename to examples/PACKAGES/dpd/dpde-shardlow/data.dpde diff --git a/examples/USER/dpd/dpde-shardlow/in.dpde-shardlow b/examples/PACKAGES/dpd/dpde-shardlow/in.dpde-shardlow similarity index 100% rename from examples/USER/dpd/dpde-shardlow/in.dpde-shardlow rename to examples/PACKAGES/dpd/dpde-shardlow/in.dpde-shardlow diff --git a/examples/USER/dpd/dpde-shardlow/log.dpde-shardlow.reference b/examples/PACKAGES/dpd/dpde-shardlow/log.dpde-shardlow.reference similarity index 100% rename from examples/USER/dpd/dpde-shardlow/log.dpde-shardlow.reference rename to examples/PACKAGES/dpd/dpde-shardlow/log.dpde-shardlow.reference diff --git a/examples/USER/dpd/dpde-vv/data.dpd b/examples/PACKAGES/dpd/dpde-vv/data.dpd similarity index 100% rename from examples/USER/dpd/dpde-vv/data.dpd rename to examples/PACKAGES/dpd/dpde-vv/data.dpd diff --git a/examples/USER/dpd/dpde-vv/in.dpde-vv b/examples/PACKAGES/dpd/dpde-vv/in.dpde-vv similarity index 100% rename from examples/USER/dpd/dpde-vv/in.dpde-vv rename to examples/PACKAGES/dpd/dpde-vv/in.dpde-vv diff --git a/examples/USER/dpd/dpde-vv/log.dpde-vv.reference b/examples/PACKAGES/dpd/dpde-vv/log.dpde-vv.reference similarity index 100% rename from examples/USER/dpd/dpde-vv/log.dpde-vv.reference rename to examples/PACKAGES/dpd/dpde-vv/log.dpde-vv.reference diff --git a/examples/USER/dpd/dpdh-shardlow/data.dpdh b/examples/PACKAGES/dpd/dpdh-shardlow/data.dpdh similarity index 100% rename from examples/USER/dpd/dpdh-shardlow/data.dpdh rename to examples/PACKAGES/dpd/dpdh-shardlow/data.dpdh diff --git a/examples/USER/dpd/dpdh-shardlow/in.dpdh-shardlow b/examples/PACKAGES/dpd/dpdh-shardlow/in.dpdh-shardlow similarity index 100% rename from examples/USER/dpd/dpdh-shardlow/in.dpdh-shardlow rename to examples/PACKAGES/dpd/dpdh-shardlow/in.dpdh-shardlow diff --git a/examples/USER/dpd/dpdh-shardlow/log.dpdh-shardlow.reference b/examples/PACKAGES/dpd/dpdh-shardlow/log.dpdh-shardlow.reference similarity index 100% rename from examples/USER/dpd/dpdh-shardlow/log.dpdh-shardlow.reference rename to examples/PACKAGES/dpd/dpdh-shardlow/log.dpdh-shardlow.reference diff --git a/examples/USER/dpd/dpdp-shardlow/data.dpd b/examples/PACKAGES/dpd/dpdp-shardlow/data.dpd similarity index 100% rename from examples/USER/dpd/dpdp-shardlow/data.dpd rename to examples/PACKAGES/dpd/dpdp-shardlow/data.dpd diff --git a/examples/USER/dpd/dpdp-shardlow/in.dpdp-shardlow b/examples/PACKAGES/dpd/dpdp-shardlow/in.dpdp-shardlow similarity index 100% rename from examples/USER/dpd/dpdp-shardlow/in.dpdp-shardlow rename to examples/PACKAGES/dpd/dpdp-shardlow/in.dpdp-shardlow diff --git a/examples/USER/dpd/dpdp-shardlow/log.dpdp-shardlow.reference b/examples/PACKAGES/dpd/dpdp-shardlow/log.dpdp-shardlow.reference similarity index 100% rename from examples/USER/dpd/dpdp-shardlow/log.dpdp-shardlow.reference rename to examples/PACKAGES/dpd/dpdp-shardlow/log.dpdp-shardlow.reference diff --git a/examples/USER/dpd/dpdrx-shardlow/in.dpdrx-shardlow b/examples/PACKAGES/dpd/dpdrx-shardlow/in.dpdrx-shardlow similarity index 100% rename from examples/USER/dpd/dpdrx-shardlow/in.dpdrx-shardlow rename to examples/PACKAGES/dpd/dpdrx-shardlow/in.dpdrx-shardlow diff --git a/examples/USER/dpd/dpdrx-shardlow/kinetics.dpdrx b/examples/PACKAGES/dpd/dpdrx-shardlow/kinetics.dpdrx similarity index 100% rename from examples/USER/dpd/dpdrx-shardlow/kinetics.dpdrx rename to examples/PACKAGES/dpd/dpdrx-shardlow/kinetics.dpdrx diff --git a/examples/USER/dpd/dpdrx-shardlow/log.dpdrx-shardlow.reference b/examples/PACKAGES/dpd/dpdrx-shardlow/log.dpdrx-shardlow.reference similarity index 100% rename from examples/USER/dpd/dpdrx-shardlow/log.dpdrx-shardlow.reference rename to examples/PACKAGES/dpd/dpdrx-shardlow/log.dpdrx-shardlow.reference diff --git a/examples/USER/dpd/dpdrx-shardlow/params.exp6 b/examples/PACKAGES/dpd/dpdrx-shardlow/params.exp6 similarity index 100% rename from examples/USER/dpd/dpdrx-shardlow/params.exp6 rename to examples/PACKAGES/dpd/dpdrx-shardlow/params.exp6 diff --git a/examples/USER/dpd/dpdrx-shardlow/table.eos b/examples/PACKAGES/dpd/dpdrx-shardlow/table.eos similarity index 100% rename from examples/USER/dpd/dpdrx-shardlow/table.eos rename to examples/PACKAGES/dpd/dpdrx-shardlow/table.eos diff --git a/examples/USER/dpd/dpdrx-shardlow/thermo.dpdrx b/examples/PACKAGES/dpd/dpdrx-shardlow/thermo.dpdrx similarity index 100% rename from examples/USER/dpd/dpdrx-shardlow/thermo.dpdrx rename to examples/PACKAGES/dpd/dpdrx-shardlow/thermo.dpdrx diff --git a/examples/USER/dpd/multi-lucy/in.multi-lucy b/examples/PACKAGES/dpd/multi-lucy/in.multi-lucy similarity index 100% rename from examples/USER/dpd/multi-lucy/in.multi-lucy rename to examples/PACKAGES/dpd/multi-lucy/in.multi-lucy diff --git a/examples/USER/dpd/multi-lucy/log.multi-lucy.reference b/examples/PACKAGES/dpd/multi-lucy/log.multi-lucy.reference similarity index 100% rename from examples/USER/dpd/multi-lucy/log.multi-lucy.reference rename to examples/PACKAGES/dpd/multi-lucy/log.multi-lucy.reference diff --git a/examples/USER/dpd/multi-lucy/table.multibody b/examples/PACKAGES/dpd/multi-lucy/table.multibody similarity index 100% rename from examples/USER/dpd/multi-lucy/table.multibody rename to examples/PACKAGES/dpd/multi-lucy/table.multibody diff --git a/examples/USER/drude/README b/examples/PACKAGES/drude/README similarity index 100% rename from examples/USER/drude/README rename to examples/PACKAGES/drude/README diff --git a/examples/USER/drude/butane/data.butane b/examples/PACKAGES/drude/butane/data.butane similarity index 100% rename from examples/USER/drude/butane/data.butane rename to examples/PACKAGES/drude/butane/data.butane diff --git a/examples/USER/drude/butane/in.butane.lang b/examples/PACKAGES/drude/butane/in.butane.lang similarity index 100% rename from examples/USER/drude/butane/in.butane.lang rename to examples/PACKAGES/drude/butane/in.butane.lang diff --git a/examples/USER/drude/butane/in.butane.nh b/examples/PACKAGES/drude/butane/in.butane.nh similarity index 100% rename from examples/USER/drude/butane/in.butane.nh rename to examples/PACKAGES/drude/butane/in.butane.nh diff --git a/examples/USER/drude/butane/in.butane.tgnh b/examples/PACKAGES/drude/butane/in.butane.tgnh similarity index 100% rename from examples/USER/drude/butane/in.butane.tgnh rename to examples/PACKAGES/drude/butane/in.butane.tgnh diff --git a/examples/USER/drude/butane/log.12Nov20.butane.tgnh.g++.1 b/examples/PACKAGES/drude/butane/log.12Nov20.butane.tgnh.g++.1 similarity index 100% rename from examples/USER/drude/butane/log.12Nov20.butane.tgnh.g++.1 rename to examples/PACKAGES/drude/butane/log.12Nov20.butane.tgnh.g++.1 diff --git a/examples/USER/drude/butane/log.12Nov20.butane.tgnh.g++.4 b/examples/PACKAGES/drude/butane/log.12Nov20.butane.tgnh.g++.4 similarity index 100% rename from examples/USER/drude/butane/log.12Nov20.butane.tgnh.g++.4 rename to examples/PACKAGES/drude/butane/log.12Nov20.butane.tgnh.g++.4 diff --git a/examples/USER/drude/butane/log.27Nov18.butane.lang.g++.1 b/examples/PACKAGES/drude/butane/log.27Nov18.butane.lang.g++.1 similarity index 100% rename from examples/USER/drude/butane/log.27Nov18.butane.lang.g++.1 rename to examples/PACKAGES/drude/butane/log.27Nov18.butane.lang.g++.1 diff --git a/examples/USER/drude/butane/log.27Nov18.butane.lang.g++.4 b/examples/PACKAGES/drude/butane/log.27Nov18.butane.lang.g++.4 similarity index 100% rename from examples/USER/drude/butane/log.27Nov18.butane.lang.g++.4 rename to examples/PACKAGES/drude/butane/log.27Nov18.butane.lang.g++.4 diff --git a/examples/USER/drude/butane/log.27Nov18.butane.nh.g++.1 b/examples/PACKAGES/drude/butane/log.27Nov18.butane.nh.g++.1 similarity index 100% rename from examples/USER/drude/butane/log.27Nov18.butane.nh.g++.1 rename to examples/PACKAGES/drude/butane/log.27Nov18.butane.nh.g++.1 diff --git a/examples/USER/drude/butane/log.27Nov18.butane.nh.g++.4 b/examples/PACKAGES/drude/butane/log.27Nov18.butane.nh.g++.4 similarity index 100% rename from examples/USER/drude/butane/log.27Nov18.butane.nh.g++.4 rename to examples/PACKAGES/drude/butane/log.27Nov18.butane.nh.g++.4 diff --git a/examples/USER/drude/ethanol/data.ethanol b/examples/PACKAGES/drude/ethanol/data.ethanol similarity index 100% rename from examples/USER/drude/ethanol/data.ethanol rename to examples/PACKAGES/drude/ethanol/data.ethanol diff --git a/examples/USER/drude/ethanol/in.ethanol.lang b/examples/PACKAGES/drude/ethanol/in.ethanol.lang similarity index 100% rename from examples/USER/drude/ethanol/in.ethanol.lang rename to examples/PACKAGES/drude/ethanol/in.ethanol.lang diff --git a/examples/USER/drude/ethanol/in.ethanol.nh b/examples/PACKAGES/drude/ethanol/in.ethanol.nh similarity index 100% rename from examples/USER/drude/ethanol/in.ethanol.nh rename to examples/PACKAGES/drude/ethanol/in.ethanol.nh diff --git a/examples/USER/drude/ethanol/in.ethanol.tgnh b/examples/PACKAGES/drude/ethanol/in.ethanol.tgnh similarity index 100% rename from examples/USER/drude/ethanol/in.ethanol.tgnh rename to examples/PACKAGES/drude/ethanol/in.ethanol.tgnh diff --git a/examples/USER/drude/ethanol/log.12Nov20.ethanol.tgnh.g++.1 b/examples/PACKAGES/drude/ethanol/log.12Nov20.ethanol.tgnh.g++.1 similarity index 100% rename from examples/USER/drude/ethanol/log.12Nov20.ethanol.tgnh.g++.1 rename to examples/PACKAGES/drude/ethanol/log.12Nov20.ethanol.tgnh.g++.1 diff --git a/examples/USER/drude/ethanol/log.12Nov20.ethanol.tgnh.g++.4 b/examples/PACKAGES/drude/ethanol/log.12Nov20.ethanol.tgnh.g++.4 similarity index 100% rename from examples/USER/drude/ethanol/log.12Nov20.ethanol.tgnh.g++.4 rename to examples/PACKAGES/drude/ethanol/log.12Nov20.ethanol.tgnh.g++.4 diff --git a/examples/USER/drude/ethanol/log.27Nov18.ethanol.lang.g++.1 b/examples/PACKAGES/drude/ethanol/log.27Nov18.ethanol.lang.g++.1 similarity index 100% rename from examples/USER/drude/ethanol/log.27Nov18.ethanol.lang.g++.1 rename to examples/PACKAGES/drude/ethanol/log.27Nov18.ethanol.lang.g++.1 diff --git a/examples/USER/drude/ethanol/log.27Nov18.ethanol.lang.g++.4 b/examples/PACKAGES/drude/ethanol/log.27Nov18.ethanol.lang.g++.4 similarity index 100% rename from examples/USER/drude/ethanol/log.27Nov18.ethanol.lang.g++.4 rename to examples/PACKAGES/drude/ethanol/log.27Nov18.ethanol.lang.g++.4 diff --git a/examples/USER/drude/ethanol/log.27Nov18.ethanol.nh.g++.1 b/examples/PACKAGES/drude/ethanol/log.27Nov18.ethanol.nh.g++.1 similarity index 100% rename from examples/USER/drude/ethanol/log.27Nov18.ethanol.nh.g++.1 rename to examples/PACKAGES/drude/ethanol/log.27Nov18.ethanol.nh.g++.1 diff --git a/examples/USER/drude/ethanol/log.27Nov18.ethanol.nh.g++.4 b/examples/PACKAGES/drude/ethanol/log.27Nov18.ethanol.nh.g++.4 similarity index 100% rename from examples/USER/drude/ethanol/log.27Nov18.ethanol.nh.g++.4 rename to examples/PACKAGES/drude/ethanol/log.27Nov18.ethanol.nh.g++.4 diff --git a/examples/USER/drude/ethylene_glycol/data.ethylene_glycol b/examples/PACKAGES/drude/ethylene_glycol/data.ethylene_glycol similarity index 100% rename from examples/USER/drude/ethylene_glycol/data.ethylene_glycol rename to examples/PACKAGES/drude/ethylene_glycol/data.ethylene_glycol diff --git a/examples/USER/drude/ethylene_glycol/in.ethylene_glycol b/examples/PACKAGES/drude/ethylene_glycol/in.ethylene_glycol similarity index 100% rename from examples/USER/drude/ethylene_glycol/in.ethylene_glycol rename to examples/PACKAGES/drude/ethylene_glycol/in.ethylene_glycol diff --git a/examples/USER/drude/ethylene_glycol/log.18Sep20.ethylene_glycol.g++.1 b/examples/PACKAGES/drude/ethylene_glycol/log.18Sep20.ethylene_glycol.g++.1 similarity index 100% rename from examples/USER/drude/ethylene_glycol/log.18Sep20.ethylene_glycol.g++.1 rename to examples/PACKAGES/drude/ethylene_glycol/log.18Sep20.ethylene_glycol.g++.1 diff --git a/examples/USER/drude/ethylene_glycol/log.18Sep20.ethylene_glycol.g++.4 b/examples/PACKAGES/drude/ethylene_glycol/log.18Sep20.ethylene_glycol.g++.4 similarity index 100% rename from examples/USER/drude/ethylene_glycol/log.18Sep20.ethylene_glycol.g++.4 rename to examples/PACKAGES/drude/ethylene_glycol/log.18Sep20.ethylene_glycol.g++.4 diff --git a/examples/USER/drude/swm4-ndp/data.swm4-ndp b/examples/PACKAGES/drude/swm4-ndp/data.swm4-ndp similarity index 100% rename from examples/USER/drude/swm4-ndp/data.swm4-ndp rename to examples/PACKAGES/drude/swm4-ndp/data.swm4-ndp diff --git a/examples/USER/drude/swm4-ndp/in.swm4-ndp.lang b/examples/PACKAGES/drude/swm4-ndp/in.swm4-ndp.lang similarity index 100% rename from examples/USER/drude/swm4-ndp/in.swm4-ndp.lang rename to examples/PACKAGES/drude/swm4-ndp/in.swm4-ndp.lang diff --git a/examples/USER/drude/swm4-ndp/in.swm4-ndp.nh b/examples/PACKAGES/drude/swm4-ndp/in.swm4-ndp.nh similarity index 100% rename from examples/USER/drude/swm4-ndp/in.swm4-ndp.nh rename to examples/PACKAGES/drude/swm4-ndp/in.swm4-ndp.nh diff --git a/examples/USER/drude/swm4-ndp/log.27Nov18.swm4-ndp.lang.g++.1 b/examples/PACKAGES/drude/swm4-ndp/log.27Nov18.swm4-ndp.lang.g++.1 similarity index 100% rename from examples/USER/drude/swm4-ndp/log.27Nov18.swm4-ndp.lang.g++.1 rename to examples/PACKAGES/drude/swm4-ndp/log.27Nov18.swm4-ndp.lang.g++.1 diff --git a/examples/USER/drude/swm4-ndp/log.27Nov18.swm4-ndp.lang.g++.4 b/examples/PACKAGES/drude/swm4-ndp/log.27Nov18.swm4-ndp.lang.g++.4 similarity index 100% rename from examples/USER/drude/swm4-ndp/log.27Nov18.swm4-ndp.lang.g++.4 rename to examples/PACKAGES/drude/swm4-ndp/log.27Nov18.swm4-ndp.lang.g++.4 diff --git a/examples/USER/drude/swm4-ndp/log.27Nov18.swm4-ndp.nh.g++.1 b/examples/PACKAGES/drude/swm4-ndp/log.27Nov18.swm4-ndp.nh.g++.1 similarity index 100% rename from examples/USER/drude/swm4-ndp/log.27Nov18.swm4-ndp.nh.g++.1 rename to examples/PACKAGES/drude/swm4-ndp/log.27Nov18.swm4-ndp.nh.g++.1 diff --git a/examples/USER/drude/swm4-ndp/log.27Nov18.swm4-ndp.nh.g++.4 b/examples/PACKAGES/drude/swm4-ndp/log.27Nov18.swm4-ndp.nh.g++.4 similarity index 100% rename from examples/USER/drude/swm4-ndp/log.27Nov18.swm4-ndp.nh.g++.4 rename to examples/PACKAGES/drude/swm4-ndp/log.27Nov18.swm4-ndp.nh.g++.4 diff --git a/examples/USER/drude/toluene/data.toluene b/examples/PACKAGES/drude/toluene/data.toluene similarity index 100% rename from examples/USER/drude/toluene/data.toluene rename to examples/PACKAGES/drude/toluene/data.toluene diff --git a/examples/USER/drude/toluene/in.toluene.lang b/examples/PACKAGES/drude/toluene/in.toluene.lang similarity index 100% rename from examples/USER/drude/toluene/in.toluene.lang rename to examples/PACKAGES/drude/toluene/in.toluene.lang diff --git a/examples/USER/drude/toluene/in.toluene.nh b/examples/PACKAGES/drude/toluene/in.toluene.nh similarity index 100% rename from examples/USER/drude/toluene/in.toluene.nh rename to examples/PACKAGES/drude/toluene/in.toluene.nh diff --git a/examples/USER/drude/toluene/log.7Aug19.toluene.lang.g++.1 b/examples/PACKAGES/drude/toluene/log.7Aug19.toluene.lang.g++.1 similarity index 100% rename from examples/USER/drude/toluene/log.7Aug19.toluene.lang.g++.1 rename to examples/PACKAGES/drude/toluene/log.7Aug19.toluene.lang.g++.1 diff --git a/examples/USER/drude/toluene/log.7Aug19.toluene.lang.g++.4 b/examples/PACKAGES/drude/toluene/log.7Aug19.toluene.lang.g++.4 similarity index 100% rename from examples/USER/drude/toluene/log.7Aug19.toluene.lang.g++.4 rename to examples/PACKAGES/drude/toluene/log.7Aug19.toluene.lang.g++.4 diff --git a/examples/USER/drude/toluene/log.7Aug19.toluene.nh.g++.1 b/examples/PACKAGES/drude/toluene/log.7Aug19.toluene.nh.g++.1 similarity index 100% rename from examples/USER/drude/toluene/log.7Aug19.toluene.nh.g++.1 rename to examples/PACKAGES/drude/toluene/log.7Aug19.toluene.nh.g++.1 diff --git a/examples/USER/drude/toluene/log.7Aug19.toluene.nh.g++.4 b/examples/PACKAGES/drude/toluene/log.7Aug19.toluene.nh.g++.4 similarity index 100% rename from examples/USER/drude/toluene/log.7Aug19.toluene.nh.g++.4 rename to examples/PACKAGES/drude/toluene/log.7Aug19.toluene.nh.g++.4 diff --git a/examples/USER/eff/Auger-Adamantane/README b/examples/PACKAGES/eff/Auger-Adamantane/README similarity index 100% rename from examples/USER/eff/Auger-Adamantane/README rename to examples/PACKAGES/eff/Auger-Adamantane/README diff --git a/examples/USER/eff/Auger-Adamantane/data.adamantane b/examples/PACKAGES/eff/Auger-Adamantane/data.adamantane similarity index 100% rename from examples/USER/eff/Auger-Adamantane/data.adamantane rename to examples/PACKAGES/eff/Auger-Adamantane/data.adamantane diff --git a/examples/USER/eff/Auger-Adamantane/data.adamantane_ionized b/examples/PACKAGES/eff/Auger-Adamantane/data.adamantane_ionized similarity index 100% rename from examples/USER/eff/Auger-Adamantane/data.adamantane_ionized rename to examples/PACKAGES/eff/Auger-Adamantane/data.adamantane_ionized diff --git a/examples/USER/eff/Auger-Adamantane/in.adamantane_ionized.nve b/examples/PACKAGES/eff/Auger-Adamantane/in.adamantane_ionized.nve similarity index 100% rename from examples/USER/eff/Auger-Adamantane/in.adamantane_ionized.nve rename to examples/PACKAGES/eff/Auger-Adamantane/in.adamantane_ionized.nve diff --git a/examples/USER/eff/Be-solid/README b/examples/PACKAGES/eff/Be-solid/README similarity index 100% rename from examples/USER/eff/Be-solid/README rename to examples/PACKAGES/eff/Be-solid/README diff --git a/examples/USER/eff/Be-solid/data.Be-solid b/examples/PACKAGES/eff/Be-solid/data.Be-solid similarity index 100% rename from examples/USER/eff/Be-solid/data.Be-solid rename to examples/PACKAGES/eff/Be-solid/data.Be-solid diff --git a/examples/USER/eff/Be-solid/in.Be-solid.spe b/examples/PACKAGES/eff/Be-solid/in.Be-solid.spe similarity index 100% rename from examples/USER/eff/Be-solid/in.Be-solid.spe rename to examples/PACKAGES/eff/Be-solid/in.Be-solid.spe diff --git a/examples/USER/eff/CH4/README b/examples/PACKAGES/eff/CH4/README similarity index 100% rename from examples/USER/eff/CH4/README rename to examples/PACKAGES/eff/CH4/README diff --git a/examples/USER/eff/CH4/data.ch4 b/examples/PACKAGES/eff/CH4/data.ch4 similarity index 100% rename from examples/USER/eff/CH4/data.ch4 rename to examples/PACKAGES/eff/CH4/data.ch4 diff --git a/examples/USER/eff/CH4/data.ch4_ionized b/examples/PACKAGES/eff/CH4/data.ch4_ionized similarity index 100% rename from examples/USER/eff/CH4/data.ch4_ionized rename to examples/PACKAGES/eff/CH4/data.ch4_ionized diff --git a/examples/USER/eff/CH4/in.ch4.dynamics b/examples/PACKAGES/eff/CH4/in.ch4.dynamics similarity index 100% rename from examples/USER/eff/CH4/in.ch4.dynamics rename to examples/PACKAGES/eff/CH4/in.ch4.dynamics diff --git a/examples/USER/eff/CH4/in.ch4.min b/examples/PACKAGES/eff/CH4/in.ch4.min similarity index 100% rename from examples/USER/eff/CH4/in.ch4.min rename to examples/PACKAGES/eff/CH4/in.ch4.min diff --git a/examples/USER/eff/CH4/in.ch4_ionized.dynamics b/examples/PACKAGES/eff/CH4/in.ch4_ionized.dynamics similarity index 100% rename from examples/USER/eff/CH4/in.ch4_ionized.dynamics rename to examples/PACKAGES/eff/CH4/in.ch4_ionized.dynamics diff --git a/examples/USER/eff/ECP/README b/examples/PACKAGES/eff/ECP/README similarity index 100% rename from examples/USER/eff/ECP/README rename to examples/PACKAGES/eff/ECP/README diff --git a/examples/USER/eff/ECP/Si2H6/data.Si2H6 b/examples/PACKAGES/eff/ECP/Si2H6/data.Si2H6 similarity index 100% rename from examples/USER/eff/ECP/Si2H6/data.Si2H6 rename to examples/PACKAGES/eff/ECP/Si2H6/data.Si2H6 diff --git a/examples/USER/eff/ECP/Si2H6/data.Si2H6.ang b/examples/PACKAGES/eff/ECP/Si2H6/data.Si2H6.ang similarity index 100% rename from examples/USER/eff/ECP/Si2H6/data.Si2H6.ang rename to examples/PACKAGES/eff/ECP/Si2H6/data.Si2H6.ang diff --git a/examples/USER/eff/ECP/Si2H6/in.Si2H6 b/examples/PACKAGES/eff/ECP/Si2H6/in.Si2H6 similarity index 100% rename from examples/USER/eff/ECP/Si2H6/in.Si2H6 rename to examples/PACKAGES/eff/ECP/Si2H6/in.Si2H6 diff --git a/examples/USER/eff/ECP/Si2H6/in.Si2H6.ang b/examples/PACKAGES/eff/ECP/Si2H6/in.Si2H6.ang similarity index 100% rename from examples/USER/eff/ECP/Si2H6/in.Si2H6.ang rename to examples/PACKAGES/eff/ECP/Si2H6/in.Si2H6.ang diff --git a/examples/USER/eff/ECP/SiC/bulk/data.SiC b/examples/PACKAGES/eff/ECP/SiC/bulk/data.SiC similarity index 100% rename from examples/USER/eff/ECP/SiC/bulk/data.SiC rename to examples/PACKAGES/eff/ECP/SiC/bulk/data.SiC diff --git a/examples/USER/eff/ECP/SiC/bulk/in.SiC b/examples/PACKAGES/eff/ECP/SiC/bulk/in.SiC similarity index 100% rename from examples/USER/eff/ECP/SiC/bulk/in.SiC rename to examples/PACKAGES/eff/ECP/SiC/bulk/in.SiC diff --git a/examples/USER/eff/ECP/SiH4/data.SiH4 b/examples/PACKAGES/eff/ECP/SiH4/data.SiH4 similarity index 100% rename from examples/USER/eff/ECP/SiH4/data.SiH4 rename to examples/PACKAGES/eff/ECP/SiH4/data.SiH4 diff --git a/examples/USER/eff/ECP/SiH4/data.SiH4.ang b/examples/PACKAGES/eff/ECP/SiH4/data.SiH4.ang similarity index 100% rename from examples/USER/eff/ECP/SiH4/data.SiH4.ang rename to examples/PACKAGES/eff/ECP/SiH4/data.SiH4.ang diff --git a/examples/USER/eff/ECP/SiH4/in.SiH4 b/examples/PACKAGES/eff/ECP/SiH4/in.SiH4 similarity index 100% rename from examples/USER/eff/ECP/SiH4/in.SiH4 rename to examples/PACKAGES/eff/ECP/SiH4/in.SiH4 diff --git a/examples/USER/eff/ECP/SiH4/in.SiH4.ang b/examples/PACKAGES/eff/ECP/SiH4/in.SiH4.ang similarity index 100% rename from examples/USER/eff/ECP/SiH4/in.SiH4.ang rename to examples/PACKAGES/eff/ECP/SiH4/in.SiH4.ang diff --git a/examples/USER/eff/H/README b/examples/PACKAGES/eff/H/README similarity index 100% rename from examples/USER/eff/H/README rename to examples/PACKAGES/eff/H/README diff --git a/examples/USER/eff/H/data.h_atom.ang b/examples/PACKAGES/eff/H/data.h_atom.ang similarity index 100% rename from examples/USER/eff/H/data.h_atom.ang rename to examples/PACKAGES/eff/H/data.h_atom.ang diff --git a/examples/USER/eff/H/data.h_atom.bohr b/examples/PACKAGES/eff/H/data.h_atom.bohr similarity index 100% rename from examples/USER/eff/H/data.h_atom.bohr rename to examples/PACKAGES/eff/H/data.h_atom.bohr diff --git a/examples/USER/eff/H/in.h_atom.spe.ang b/examples/PACKAGES/eff/H/in.h_atom.spe.ang similarity index 100% rename from examples/USER/eff/H/in.h_atom.spe.ang rename to examples/PACKAGES/eff/H/in.h_atom.spe.ang diff --git a/examples/USER/eff/H/in.h_atom.spe.bohr b/examples/PACKAGES/eff/H/in.h_atom.spe.bohr similarity index 100% rename from examples/USER/eff/H/in.h_atom.spe.bohr rename to examples/PACKAGES/eff/H/in.h_atom.spe.bohr diff --git a/examples/USER/eff/H2/README b/examples/PACKAGES/eff/H2/README similarity index 100% rename from examples/USER/eff/H2/README rename to examples/PACKAGES/eff/H2/README diff --git a/examples/USER/eff/H2/data.h2 b/examples/PACKAGES/eff/H2/data.h2 similarity index 100% rename from examples/USER/eff/H2/data.h2 rename to examples/PACKAGES/eff/H2/data.h2 diff --git a/examples/USER/eff/H2/in.h2 b/examples/PACKAGES/eff/H2/in.h2 similarity index 100% rename from examples/USER/eff/H2/in.h2 rename to examples/PACKAGES/eff/H2/in.h2 diff --git a/examples/USER/eff/H_plasma/README b/examples/PACKAGES/eff/H_plasma/README similarity index 100% rename from examples/USER/eff/H_plasma/README rename to examples/PACKAGES/eff/H_plasma/README diff --git a/examples/USER/eff/H_plasma/data.h2bulk b/examples/PACKAGES/eff/H_plasma/data.h2bulk similarity index 100% rename from examples/USER/eff/H_plasma/data.h2bulk rename to examples/PACKAGES/eff/H_plasma/data.h2bulk diff --git a/examples/USER/eff/H_plasma/data.h2bulk.ang b/examples/PACKAGES/eff/H_plasma/data.h2bulk.ang similarity index 100% rename from examples/USER/eff/H_plasma/data.h2bulk.ang rename to examples/PACKAGES/eff/H_plasma/data.h2bulk.ang diff --git a/examples/USER/eff/H_plasma/in.h2bulk.npt b/examples/PACKAGES/eff/H_plasma/in.h2bulk.npt similarity index 100% rename from examples/USER/eff/H_plasma/in.h2bulk.npt rename to examples/PACKAGES/eff/H_plasma/in.h2bulk.npt diff --git a/examples/USER/eff/H_plasma/in.h2bulk.nve b/examples/PACKAGES/eff/H_plasma/in.h2bulk.nve similarity index 100% rename from examples/USER/eff/H_plasma/in.h2bulk.nve rename to examples/PACKAGES/eff/H_plasma/in.h2bulk.nve diff --git a/examples/USER/eff/H_plasma/in.h2bulk.nve.ang b/examples/PACKAGES/eff/H_plasma/in.h2bulk.nve.ang similarity index 100% rename from examples/USER/eff/H_plasma/in.h2bulk.nve.ang rename to examples/PACKAGES/eff/H_plasma/in.h2bulk.nve.ang diff --git a/examples/USER/eff/Li-dendritic/README b/examples/PACKAGES/eff/Li-dendritic/README similarity index 100% rename from examples/USER/eff/Li-dendritic/README rename to examples/PACKAGES/eff/Li-dendritic/README diff --git a/examples/USER/eff/Li-dendritic/data.Li-dendritic b/examples/PACKAGES/eff/Li-dendritic/data.Li-dendritic similarity index 100% rename from examples/USER/eff/Li-dendritic/data.Li-dendritic rename to examples/PACKAGES/eff/Li-dendritic/data.Li-dendritic diff --git a/examples/USER/eff/Li-dendritic/in.Li-dendritic.min b/examples/PACKAGES/eff/Li-dendritic/in.Li-dendritic.min similarity index 100% rename from examples/USER/eff/Li-dendritic/in.Li-dendritic.min rename to examples/PACKAGES/eff/Li-dendritic/in.Li-dendritic.min diff --git a/examples/USER/eff/Li-dendritic/in.Li-dendritic.nvt b/examples/PACKAGES/eff/Li-dendritic/in.Li-dendritic.nvt similarity index 100% rename from examples/USER/eff/Li-dendritic/in.Li-dendritic.nvt rename to examples/PACKAGES/eff/Li-dendritic/in.Li-dendritic.nvt diff --git a/examples/USER/eff/Li-solid/README b/examples/PACKAGES/eff/Li-solid/README similarity index 100% rename from examples/USER/eff/Li-solid/README rename to examples/PACKAGES/eff/Li-solid/README diff --git a/examples/USER/eff/Li-solid/data.Li.ang b/examples/PACKAGES/eff/Li-solid/data.Li.ang similarity index 100% rename from examples/USER/eff/Li-solid/data.Li.ang rename to examples/PACKAGES/eff/Li-solid/data.Li.ang diff --git a/examples/USER/eff/Li-solid/data.Li.bohr b/examples/PACKAGES/eff/Li-solid/data.Li.bohr similarity index 100% rename from examples/USER/eff/Li-solid/data.Li.bohr rename to examples/PACKAGES/eff/Li-solid/data.Li.bohr diff --git a/examples/USER/eff/Li-solid/in.Li.ang b/examples/PACKAGES/eff/Li-solid/in.Li.ang similarity index 100% rename from examples/USER/eff/Li-solid/in.Li.ang rename to examples/PACKAGES/eff/Li-solid/in.Li.ang diff --git a/examples/USER/eff/Li-solid/in.Li.bohr b/examples/PACKAGES/eff/Li-solid/in.Li.bohr similarity index 100% rename from examples/USER/eff/Li-solid/in.Li.bohr rename to examples/PACKAGES/eff/Li-solid/in.Li.bohr diff --git a/examples/USER/eff/README b/examples/PACKAGES/eff/README similarity index 100% rename from examples/USER/eff/README rename to examples/PACKAGES/eff/README diff --git a/examples/USER/eff/fixed-core/C2H6/data.C2H6fc.ang b/examples/PACKAGES/eff/fixed-core/C2H6/data.C2H6fc.ang similarity index 100% rename from examples/USER/eff/fixed-core/C2H6/data.C2H6fc.ang rename to examples/PACKAGES/eff/fixed-core/C2H6/data.C2H6fc.ang diff --git a/examples/USER/eff/fixed-core/C2H6/data.C2H6fc.bohr b/examples/PACKAGES/eff/fixed-core/C2H6/data.C2H6fc.bohr similarity index 100% rename from examples/USER/eff/fixed-core/C2H6/data.C2H6fc.bohr rename to examples/PACKAGES/eff/fixed-core/C2H6/data.C2H6fc.bohr diff --git a/examples/USER/eff/fixed-core/C2H6/in.C2H6fc.ang b/examples/PACKAGES/eff/fixed-core/C2H6/in.C2H6fc.ang similarity index 100% rename from examples/USER/eff/fixed-core/C2H6/in.C2H6fc.ang rename to examples/PACKAGES/eff/fixed-core/C2H6/in.C2H6fc.ang diff --git a/examples/USER/eff/fixed-core/C2H6/in.C2H6fc.bohr b/examples/PACKAGES/eff/fixed-core/C2H6/in.C2H6fc.bohr similarity index 100% rename from examples/USER/eff/fixed-core/C2H6/in.C2H6fc.bohr rename to examples/PACKAGES/eff/fixed-core/C2H6/in.C2H6fc.bohr diff --git a/examples/USER/eff/fixed-core/CH4/data.CH4fc.ang b/examples/PACKAGES/eff/fixed-core/CH4/data.CH4fc.ang similarity index 100% rename from examples/USER/eff/fixed-core/CH4/data.CH4fc.ang rename to examples/PACKAGES/eff/fixed-core/CH4/data.CH4fc.ang diff --git a/examples/USER/eff/fixed-core/CH4/data.CH4fc.bohr b/examples/PACKAGES/eff/fixed-core/CH4/data.CH4fc.bohr similarity index 100% rename from examples/USER/eff/fixed-core/CH4/data.CH4fc.bohr rename to examples/PACKAGES/eff/fixed-core/CH4/data.CH4fc.bohr diff --git a/examples/USER/eff/fixed-core/CH4/in.CH4fc.ang b/examples/PACKAGES/eff/fixed-core/CH4/in.CH4fc.ang similarity index 100% rename from examples/USER/eff/fixed-core/CH4/in.CH4fc.ang rename to examples/PACKAGES/eff/fixed-core/CH4/in.CH4fc.ang diff --git a/examples/USER/eff/fixed-core/CH4/in.CH4fc.bohr b/examples/PACKAGES/eff/fixed-core/CH4/in.CH4fc.bohr similarity index 100% rename from examples/USER/eff/fixed-core/CH4/in.CH4fc.bohr rename to examples/PACKAGES/eff/fixed-core/CH4/in.CH4fc.bohr diff --git a/examples/USER/eff/fixed-core/CH4/in.CH4fc.spe.ang b/examples/PACKAGES/eff/fixed-core/CH4/in.CH4fc.spe.ang similarity index 100% rename from examples/USER/eff/fixed-core/CH4/in.CH4fc.spe.ang rename to examples/PACKAGES/eff/fixed-core/CH4/in.CH4fc.spe.ang diff --git a/examples/USER/eff/fixed-core/CH4/in.CH4fc.spe.bohr b/examples/PACKAGES/eff/fixed-core/CH4/in.CH4fc.spe.bohr similarity index 100% rename from examples/USER/eff/fixed-core/CH4/in.CH4fc.spe.bohr rename to examples/PACKAGES/eff/fixed-core/CH4/in.CH4fc.spe.bohr diff --git a/examples/USER/eff/fixed-core/README b/examples/PACKAGES/eff/fixed-core/README similarity index 100% rename from examples/USER/eff/fixed-core/README rename to examples/PACKAGES/eff/fixed-core/README diff --git a/examples/USER/fep/C7inEthanol/fep01/data.init_conf_with_heptane b/examples/PACKAGES/fep/C7inEthanol/fep01/data.init_conf_with_heptane similarity index 100% rename from examples/USER/fep/C7inEthanol/fep01/data.init_conf_with_heptane rename to examples/PACKAGES/fep/C7inEthanol/fep01/data.init_conf_with_heptane diff --git a/examples/USER/fep/C7inEthanol/fep01/in.insertion b/examples/PACKAGES/fep/C7inEthanol/fep01/in.insertion similarity index 100% rename from examples/USER/fep/C7inEthanol/fep01/in.insertion rename to examples/PACKAGES/fep/C7inEthanol/fep01/in.insertion diff --git a/examples/USER/fep/C7inEthanol/fep01/log.insertion b/examples/PACKAGES/fep/C7inEthanol/fep01/log.insertion similarity index 100% rename from examples/USER/fep/C7inEthanol/fep01/log.insertion rename to examples/PACKAGES/fep/C7inEthanol/fep01/log.insertion diff --git a/examples/USER/fep/C7inEthanol/fep10/data.init_conf_with_heptane b/examples/PACKAGES/fep/C7inEthanol/fep10/data.init_conf_with_heptane similarity index 100% rename from examples/USER/fep/C7inEthanol/fep10/data.init_conf_with_heptane rename to examples/PACKAGES/fep/C7inEthanol/fep10/data.init_conf_with_heptane diff --git a/examples/USER/fep/C7inEthanol/fep10/in.deletion b/examples/PACKAGES/fep/C7inEthanol/fep10/in.deletion similarity index 100% rename from examples/USER/fep/C7inEthanol/fep10/in.deletion rename to examples/PACKAGES/fep/C7inEthanol/fep10/in.deletion diff --git a/examples/USER/fep/C7inEthanol/fep10/log.deletion b/examples/PACKAGES/fep/C7inEthanol/fep10/log.deletion similarity index 100% rename from examples/USER/fep/C7inEthanol/fep10/log.deletion rename to examples/PACKAGES/fep/C7inEthanol/fep10/log.deletion diff --git a/examples/USER/fep/CC-CO/README.md b/examples/PACKAGES/fep/CC-CO/README.md similarity index 100% rename from examples/USER/fep/CC-CO/README.md rename to examples/PACKAGES/fep/CC-CO/README.md diff --git a/examples/USER/fep/CC-CO/fep01/fep01.fep b/examples/PACKAGES/fep/CC-CO/fep01/fep01.fep similarity index 100% rename from examples/USER/fep/CC-CO/fep01/fep01.fep rename to examples/PACKAGES/fep/CC-CO/fep01/fep01.fep diff --git a/examples/USER/fep/CC-CO/fep01/in.fep01.lmp b/examples/PACKAGES/fep/CC-CO/fep01/in.fep01.lmp similarity index 100% rename from examples/USER/fep/CC-CO/fep01/in.fep01.lmp rename to examples/PACKAGES/fep/CC-CO/fep01/in.fep01.lmp diff --git a/examples/USER/fep/CC-CO/fep01/log.fep01 b/examples/PACKAGES/fep/CC-CO/fep01/log.fep01 similarity index 100% rename from examples/USER/fep/CC-CO/fep01/log.fep01 rename to examples/PACKAGES/fep/CC-CO/fep01/log.fep01 diff --git a/examples/USER/fep/CC-CO/fep10/fep10.fep b/examples/PACKAGES/fep/CC-CO/fep10/fep10.fep similarity index 100% rename from examples/USER/fep/CC-CO/fep10/fep10.fep rename to examples/PACKAGES/fep/CC-CO/fep10/fep10.fep diff --git a/examples/USER/fep/CC-CO/fep10/in.fep10.lmp b/examples/PACKAGES/fep/CC-CO/fep10/in.fep10.lmp similarity index 100% rename from examples/USER/fep/CC-CO/fep10/in.fep10.lmp rename to examples/PACKAGES/fep/CC-CO/fep10/in.fep10.lmp diff --git a/examples/USER/fep/CC-CO/fep10/log.fep10 b/examples/PACKAGES/fep/CC-CO/fep10/log.fep10 similarity index 100% rename from examples/USER/fep/CC-CO/fep10/log.fep10 rename to examples/PACKAGES/fep/CC-CO/fep10/log.fep10 diff --git a/examples/USER/fep/CC-CO/mols/CC-CO.ff b/examples/PACKAGES/fep/CC-CO/mols/CC-CO.ff similarity index 100% rename from examples/USER/fep/CC-CO/mols/CC-CO.ff rename to examples/PACKAGES/fep/CC-CO/mols/CC-CO.ff diff --git a/examples/USER/fep/CC-CO/mols/CC-CO.zmat b/examples/PACKAGES/fep/CC-CO/mols/CC-CO.zmat similarity index 100% rename from examples/USER/fep/CC-CO/mols/CC-CO.zmat rename to examples/PACKAGES/fep/CC-CO/mols/CC-CO.zmat diff --git a/examples/USER/fep/CC-CO/mols/CO-CC.zmat b/examples/PACKAGES/fep/CC-CO/mols/CO-CC.zmat similarity index 100% rename from examples/USER/fep/CC-CO/mols/CO-CC.zmat rename to examples/PACKAGES/fep/CC-CO/mols/CO-CC.zmat diff --git a/examples/USER/fep/CC-CO/mols/README b/examples/PACKAGES/fep/CC-CO/mols/README similarity index 100% rename from examples/USER/fep/CC-CO/mols/README rename to examples/PACKAGES/fep/CC-CO/mols/README diff --git a/examples/USER/fep/CC-CO/mols/data.0.lmp b/examples/PACKAGES/fep/CC-CO/mols/data.0.lmp similarity index 100% rename from examples/USER/fep/CC-CO/mols/data.0.lmp rename to examples/PACKAGES/fep/CC-CO/mols/data.0.lmp diff --git a/examples/USER/fep/CC-CO/mols/data.1.lmp b/examples/PACKAGES/fep/CC-CO/mols/data.1.lmp similarity index 100% rename from examples/USER/fep/CC-CO/mols/data.1.lmp rename to examples/PACKAGES/fep/CC-CO/mols/data.1.lmp diff --git a/examples/USER/fep/CC-CO/mols/spce.ff b/examples/PACKAGES/fep/CC-CO/mols/spce.ff similarity index 100% rename from examples/USER/fep/CC-CO/mols/spce.ff rename to examples/PACKAGES/fep/CC-CO/mols/spce.ff diff --git a/examples/USER/fep/CC-CO/mols/spce.zmat b/examples/PACKAGES/fep/CC-CO/mols/spce.zmat similarity index 100% rename from examples/USER/fep/CC-CO/mols/spce.zmat rename to examples/PACKAGES/fep/CC-CO/mols/spce.zmat diff --git a/examples/USER/fep/CH4-CF4/README.md b/examples/PACKAGES/fep/CH4-CF4/README.md similarity index 100% rename from examples/USER/fep/CH4-CF4/README.md rename to examples/PACKAGES/fep/CH4-CF4/README.md diff --git a/examples/USER/fep/CH4-CF4/bar01/bar01.fep b/examples/PACKAGES/fep/CH4-CF4/bar01/bar01.fep similarity index 100% rename from examples/USER/fep/CH4-CF4/bar01/bar01.fep rename to examples/PACKAGES/fep/CH4-CF4/bar01/bar01.fep diff --git a/examples/USER/fep/CH4-CF4/bar01/in.bar01.lmp b/examples/PACKAGES/fep/CH4-CF4/bar01/in.bar01.lmp similarity index 100% rename from examples/USER/fep/CH4-CF4/bar01/in.bar01.lmp rename to examples/PACKAGES/fep/CH4-CF4/bar01/in.bar01.lmp diff --git a/examples/USER/fep/CH4-CF4/bar01/log.bar01 b/examples/PACKAGES/fep/CH4-CF4/bar01/log.bar01 similarity index 100% rename from examples/USER/fep/CH4-CF4/bar01/log.bar01 rename to examples/PACKAGES/fep/CH4-CF4/bar01/log.bar01 diff --git a/examples/USER/fep/CH4-CF4/bar10/bar10.fep b/examples/PACKAGES/fep/CH4-CF4/bar10/bar10.fep similarity index 100% rename from examples/USER/fep/CH4-CF4/bar10/bar10.fep rename to examples/PACKAGES/fep/CH4-CF4/bar10/bar10.fep diff --git a/examples/USER/fep/CH4-CF4/bar10/in.bar10.lmp b/examples/PACKAGES/fep/CH4-CF4/bar10/in.bar10.lmp similarity index 100% rename from examples/USER/fep/CH4-CF4/bar10/in.bar10.lmp rename to examples/PACKAGES/fep/CH4-CF4/bar10/in.bar10.lmp diff --git a/examples/USER/fep/CH4-CF4/bar10/log.ber10 b/examples/PACKAGES/fep/CH4-CF4/bar10/log.ber10 similarity index 100% rename from examples/USER/fep/CH4-CF4/bar10/log.ber10 rename to examples/PACKAGES/fep/CH4-CF4/bar10/log.ber10 diff --git a/examples/USER/fep/CH4-CF4/fep01/fep01.fep b/examples/PACKAGES/fep/CH4-CF4/fep01/fep01.fep similarity index 100% rename from examples/USER/fep/CH4-CF4/fep01/fep01.fep rename to examples/PACKAGES/fep/CH4-CF4/fep01/fep01.fep diff --git a/examples/USER/fep/CH4-CF4/fep01/in.fep01.lmp b/examples/PACKAGES/fep/CH4-CF4/fep01/in.fep01.lmp similarity index 100% rename from examples/USER/fep/CH4-CF4/fep01/in.fep01.lmp rename to examples/PACKAGES/fep/CH4-CF4/fep01/in.fep01.lmp diff --git a/examples/USER/fep/CH4-CF4/fep01/log.fep01 b/examples/PACKAGES/fep/CH4-CF4/fep01/log.fep01 similarity index 100% rename from examples/USER/fep/CH4-CF4/fep01/log.fep01 rename to examples/PACKAGES/fep/CH4-CF4/fep01/log.fep01 diff --git a/examples/USER/fep/CH4-CF4/fep10/fep10.fep b/examples/PACKAGES/fep/CH4-CF4/fep10/fep10.fep similarity index 100% rename from examples/USER/fep/CH4-CF4/fep10/fep10.fep rename to examples/PACKAGES/fep/CH4-CF4/fep10/fep10.fep diff --git a/examples/USER/fep/CH4-CF4/fep10/in.fep10.lmp b/examples/PACKAGES/fep/CH4-CF4/fep10/in.fep10.lmp similarity index 100% rename from examples/USER/fep/CH4-CF4/fep10/in.fep10.lmp rename to examples/PACKAGES/fep/CH4-CF4/fep10/in.fep10.lmp diff --git a/examples/USER/fep/CH4-CF4/fep10/log.fep01 b/examples/PACKAGES/fep/CH4-CF4/fep10/log.fep01 similarity index 100% rename from examples/USER/fep/CH4-CF4/fep10/log.fep01 rename to examples/PACKAGES/fep/CH4-CF4/fep10/log.fep01 diff --git a/examples/USER/fep/CH4-CF4/mols/CF4-CH4.zmat b/examples/PACKAGES/fep/CH4-CF4/mols/CF4-CH4.zmat similarity index 100% rename from examples/USER/fep/CH4-CF4/mols/CF4-CH4.zmat rename to examples/PACKAGES/fep/CH4-CF4/mols/CF4-CH4.zmat diff --git a/examples/USER/fep/CH4-CF4/mols/CH4-CF4.ff b/examples/PACKAGES/fep/CH4-CF4/mols/CH4-CF4.ff similarity index 100% rename from examples/USER/fep/CH4-CF4/mols/CH4-CF4.ff rename to examples/PACKAGES/fep/CH4-CF4/mols/CH4-CF4.ff diff --git a/examples/USER/fep/CH4-CF4/mols/CH4-CF4.zmat b/examples/PACKAGES/fep/CH4-CF4/mols/CH4-CF4.zmat similarity index 100% rename from examples/USER/fep/CH4-CF4/mols/CH4-CF4.zmat rename to examples/PACKAGES/fep/CH4-CF4/mols/CH4-CF4.zmat diff --git a/examples/USER/fep/CH4-CF4/mols/data.0.lmp b/examples/PACKAGES/fep/CH4-CF4/mols/data.0.lmp similarity index 100% rename from examples/USER/fep/CH4-CF4/mols/data.0.lmp rename to examples/PACKAGES/fep/CH4-CF4/mols/data.0.lmp diff --git a/examples/USER/fep/CH4-CF4/mols/data.1.lmp b/examples/PACKAGES/fep/CH4-CF4/mols/data.1.lmp similarity index 100% rename from examples/USER/fep/CH4-CF4/mols/data.1.lmp rename to examples/PACKAGES/fep/CH4-CF4/mols/data.1.lmp diff --git a/examples/USER/fep/CH4-CF4/mols/spce.ff b/examples/PACKAGES/fep/CH4-CF4/mols/spce.ff similarity index 100% rename from examples/USER/fep/CH4-CF4/mols/spce.ff rename to examples/PACKAGES/fep/CH4-CF4/mols/spce.ff diff --git a/examples/USER/fep/CH4-CF4/mols/spce.zmat b/examples/PACKAGES/fep/CH4-CF4/mols/spce.zmat similarity index 100% rename from examples/USER/fep/CH4-CF4/mols/spce.zmat rename to examples/PACKAGES/fep/CH4-CF4/mols/spce.zmat diff --git a/examples/USER/fep/CH4hyd/README.md b/examples/PACKAGES/fep/CH4hyd/README.md similarity index 100% rename from examples/USER/fep/CH4hyd/README.md rename to examples/PACKAGES/fep/CH4hyd/README.md diff --git a/examples/USER/fep/CH4hyd/fdti01/fdti01.fep b/examples/PACKAGES/fep/CH4hyd/fdti01/fdti01.fep similarity index 100% rename from examples/USER/fep/CH4hyd/fdti01/fdti01.fep rename to examples/PACKAGES/fep/CH4hyd/fdti01/fdti01.fep diff --git a/examples/USER/fep/CH4hyd/fdti01/in.fdti01.lmp b/examples/PACKAGES/fep/CH4hyd/fdti01/in.fdti01.lmp similarity index 100% rename from examples/USER/fep/CH4hyd/fdti01/in.fdti01.lmp rename to examples/PACKAGES/fep/CH4hyd/fdti01/in.fdti01.lmp diff --git a/examples/USER/fep/CH4hyd/fdti01/log.fdti01 b/examples/PACKAGES/fep/CH4hyd/fdti01/log.fdti01 similarity index 100% rename from examples/USER/fep/CH4hyd/fdti01/log.fdti01 rename to examples/PACKAGES/fep/CH4hyd/fdti01/log.fdti01 diff --git a/examples/USER/fep/CH4hyd/fdti10/fdti10.fep b/examples/PACKAGES/fep/CH4hyd/fdti10/fdti10.fep similarity index 100% rename from examples/USER/fep/CH4hyd/fdti10/fdti10.fep rename to examples/PACKAGES/fep/CH4hyd/fdti10/fdti10.fep diff --git a/examples/USER/fep/CH4hyd/fdti10/in.fdti10.lmp b/examples/PACKAGES/fep/CH4hyd/fdti10/in.fdti10.lmp similarity index 100% rename from examples/USER/fep/CH4hyd/fdti10/in.fdti10.lmp rename to examples/PACKAGES/fep/CH4hyd/fdti10/in.fdti10.lmp diff --git a/examples/USER/fep/CH4hyd/fdti10/log.fdti10 b/examples/PACKAGES/fep/CH4hyd/fdti10/log.fdti10 similarity index 100% rename from examples/USER/fep/CH4hyd/fdti10/log.fdti10 rename to examples/PACKAGES/fep/CH4hyd/fdti10/log.fdti10 diff --git a/examples/USER/fep/CH4hyd/fep01/fep01.fep b/examples/PACKAGES/fep/CH4hyd/fep01/fep01.fep similarity index 100% rename from examples/USER/fep/CH4hyd/fep01/fep01.fep rename to examples/PACKAGES/fep/CH4hyd/fep01/fep01.fep diff --git a/examples/USER/fep/CH4hyd/fep01/in.fep01.lmp b/examples/PACKAGES/fep/CH4hyd/fep01/in.fep01.lmp similarity index 100% rename from examples/USER/fep/CH4hyd/fep01/in.fep01.lmp rename to examples/PACKAGES/fep/CH4hyd/fep01/in.fep01.lmp diff --git a/examples/USER/fep/CH4hyd/fep01/log.fep01 b/examples/PACKAGES/fep/CH4hyd/fep01/log.fep01 similarity index 100% rename from examples/USER/fep/CH4hyd/fep01/log.fep01 rename to examples/PACKAGES/fep/CH4hyd/fep01/log.fep01 diff --git a/examples/USER/fep/CH4hyd/fep10/fep10.fep b/examples/PACKAGES/fep/CH4hyd/fep10/fep10.fep similarity index 100% rename from examples/USER/fep/CH4hyd/fep10/fep10.fep rename to examples/PACKAGES/fep/CH4hyd/fep10/fep10.fep diff --git a/examples/USER/fep/CH4hyd/fep10/in.fep10.lmp b/examples/PACKAGES/fep/CH4hyd/fep10/in.fep10.lmp similarity index 100% rename from examples/USER/fep/CH4hyd/fep10/in.fep10.lmp rename to examples/PACKAGES/fep/CH4hyd/fep10/in.fep10.lmp diff --git a/examples/USER/fep/CH4hyd/fep10/log.fep10 b/examples/PACKAGES/fep/CH4hyd/fep10/log.fep10 similarity index 100% rename from examples/USER/fep/CH4hyd/fep10/log.fep10 rename to examples/PACKAGES/fep/CH4hyd/fep10/log.fep10 diff --git a/examples/USER/fep/CH4hyd/mols/data.lmp b/examples/PACKAGES/fep/CH4hyd/mols/data.lmp similarity index 100% rename from examples/USER/fep/CH4hyd/mols/data.lmp rename to examples/PACKAGES/fep/CH4hyd/mols/data.lmp diff --git a/examples/USER/fep/CH4hyd/mols/methane.zmat b/examples/PACKAGES/fep/CH4hyd/mols/methane.zmat similarity index 100% rename from examples/USER/fep/CH4hyd/mols/methane.zmat rename to examples/PACKAGES/fep/CH4hyd/mols/methane.zmat diff --git a/examples/USER/fep/CH4hyd/mols/oplsaa.ff b/examples/PACKAGES/fep/CH4hyd/mols/oplsaa.ff similarity index 100% rename from examples/USER/fep/CH4hyd/mols/oplsaa.ff rename to examples/PACKAGES/fep/CH4hyd/mols/oplsaa.ff diff --git a/examples/USER/fep/CH4hyd/mols/tip4pew.ff b/examples/PACKAGES/fep/CH4hyd/mols/tip4pew.ff similarity index 100% rename from examples/USER/fep/CH4hyd/mols/tip4pew.ff rename to examples/PACKAGES/fep/CH4hyd/mols/tip4pew.ff diff --git a/examples/USER/fep/CH4hyd/mols/tip4pew.zmat b/examples/PACKAGES/fep/CH4hyd/mols/tip4pew.zmat similarity index 100% rename from examples/USER/fep/CH4hyd/mols/tip4pew.zmat rename to examples/PACKAGES/fep/CH4hyd/mols/tip4pew.zmat diff --git a/examples/USER/fep/README.md b/examples/PACKAGES/fep/README.md similarity index 100% rename from examples/USER/fep/README.md rename to examples/PACKAGES/fep/README.md diff --git a/examples/USER/fep/SPCEhyd/README.md b/examples/PACKAGES/fep/SPCEhyd/README.md similarity index 100% rename from examples/USER/fep/SPCEhyd/README.md rename to examples/PACKAGES/fep/SPCEhyd/README.md diff --git a/examples/USER/fep/SPCEhyd/fep01/fep01-lj.fep b/examples/PACKAGES/fep/SPCEhyd/fep01/fep01-lj.fep similarity index 100% rename from examples/USER/fep/SPCEhyd/fep01/fep01-lj.fep rename to examples/PACKAGES/fep/SPCEhyd/fep01/fep01-lj.fep diff --git a/examples/USER/fep/SPCEhyd/fep01/fep01-lj.out b/examples/PACKAGES/fep/SPCEhyd/fep01/fep01-lj.out similarity index 100% rename from examples/USER/fep/SPCEhyd/fep01/fep01-lj.out rename to examples/PACKAGES/fep/SPCEhyd/fep01/fep01-lj.out diff --git a/examples/USER/fep/SPCEhyd/fep01/fep01-q.fep b/examples/PACKAGES/fep/SPCEhyd/fep01/fep01-q.fep similarity index 100% rename from examples/USER/fep/SPCEhyd/fep01/fep01-q.fep rename to examples/PACKAGES/fep/SPCEhyd/fep01/fep01-q.fep diff --git a/examples/USER/fep/SPCEhyd/fep01/fep01-q.out b/examples/PACKAGES/fep/SPCEhyd/fep01/fep01-q.out similarity index 100% rename from examples/USER/fep/SPCEhyd/fep01/fep01-q.out rename to examples/PACKAGES/fep/SPCEhyd/fep01/fep01-q.out diff --git a/examples/USER/fep/SPCEhyd/fep01/in-fep01-lj.lmp b/examples/PACKAGES/fep/SPCEhyd/fep01/in-fep01-lj.lmp similarity index 100% rename from examples/USER/fep/SPCEhyd/fep01/in-fep01-lj.lmp rename to examples/PACKAGES/fep/SPCEhyd/fep01/in-fep01-lj.lmp diff --git a/examples/USER/fep/SPCEhyd/fep01/in-fep01-q.lmp b/examples/PACKAGES/fep/SPCEhyd/fep01/in-fep01-q.lmp similarity index 100% rename from examples/USER/fep/SPCEhyd/fep01/in-fep01-q.lmp rename to examples/PACKAGES/fep/SPCEhyd/fep01/in-fep01-q.lmp diff --git a/examples/USER/fep/SPCEhyd/fep10/fep10-lj.fep b/examples/PACKAGES/fep/SPCEhyd/fep10/fep10-lj.fep similarity index 100% rename from examples/USER/fep/SPCEhyd/fep10/fep10-lj.fep rename to examples/PACKAGES/fep/SPCEhyd/fep10/fep10-lj.fep diff --git a/examples/USER/fep/SPCEhyd/fep10/fep10-lj.out b/examples/PACKAGES/fep/SPCEhyd/fep10/fep10-lj.out similarity index 100% rename from examples/USER/fep/SPCEhyd/fep10/fep10-lj.out rename to examples/PACKAGES/fep/SPCEhyd/fep10/fep10-lj.out diff --git a/examples/USER/fep/SPCEhyd/fep10/fep10-q.fep b/examples/PACKAGES/fep/SPCEhyd/fep10/fep10-q.fep similarity index 100% rename from examples/USER/fep/SPCEhyd/fep10/fep10-q.fep rename to examples/PACKAGES/fep/SPCEhyd/fep10/fep10-q.fep diff --git a/examples/USER/fep/SPCEhyd/fep10/fep10-q.out b/examples/PACKAGES/fep/SPCEhyd/fep10/fep10-q.out similarity index 100% rename from examples/USER/fep/SPCEhyd/fep10/fep10-q.out rename to examples/PACKAGES/fep/SPCEhyd/fep10/fep10-q.out diff --git a/examples/USER/fep/SPCEhyd/fep10/in-fep10-lj.lmp b/examples/PACKAGES/fep/SPCEhyd/fep10/in-fep10-lj.lmp similarity index 100% rename from examples/USER/fep/SPCEhyd/fep10/in-fep10-lj.lmp rename to examples/PACKAGES/fep/SPCEhyd/fep10/in-fep10-lj.lmp diff --git a/examples/USER/fep/SPCEhyd/fep10/in-fep10-q.lmp b/examples/PACKAGES/fep/SPCEhyd/fep10/in-fep10-q.lmp similarity index 100% rename from examples/USER/fep/SPCEhyd/fep10/in-fep10-q.lmp rename to examples/PACKAGES/fep/SPCEhyd/fep10/in-fep10-q.lmp diff --git a/examples/USER/fep/SPCEhyd/mols/data.lmp b/examples/PACKAGES/fep/SPCEhyd/mols/data.lmp similarity index 100% rename from examples/USER/fep/SPCEhyd/mols/data.lmp rename to examples/PACKAGES/fep/SPCEhyd/mols/data.lmp diff --git a/examples/USER/fep/SPCEhyd/mols/spce.ff b/examples/PACKAGES/fep/SPCEhyd/mols/spce.ff similarity index 100% rename from examples/USER/fep/SPCEhyd/mols/spce.ff rename to examples/PACKAGES/fep/SPCEhyd/mols/spce.ff diff --git a/examples/USER/fep/SPCEhyd/mols/spce.zmat b/examples/PACKAGES/fep/SPCEhyd/mols/spce.zmat similarity index 100% rename from examples/USER/fep/SPCEhyd/mols/spce.zmat rename to examples/PACKAGES/fep/SPCEhyd/mols/spce.zmat diff --git a/examples/USER/fep/SPCEhyd/mols/spce_h.ff b/examples/PACKAGES/fep/SPCEhyd/mols/spce_h.ff similarity index 100% rename from examples/USER/fep/SPCEhyd/mols/spce_h.ff rename to examples/PACKAGES/fep/SPCEhyd/mols/spce_h.ff diff --git a/examples/USER/fep/SPCEhyd/mols/spce_h.zmat b/examples/PACKAGES/fep/SPCEhyd/mols/spce_h.zmat similarity index 100% rename from examples/USER/fep/SPCEhyd/mols/spce_h.zmat rename to examples/PACKAGES/fep/SPCEhyd/mols/spce_h.zmat diff --git a/examples/USER/fep/quicktests/in_adapt.lmp b/examples/PACKAGES/fep/quicktests/in_adapt.lmp similarity index 100% rename from examples/USER/fep/quicktests/in_adapt.lmp rename to examples/PACKAGES/fep/quicktests/in_adapt.lmp diff --git a/examples/USER/fep/quicktests/in_fep_soft.lmp b/examples/PACKAGES/fep/quicktests/in_fep_soft.lmp similarity index 100% rename from examples/USER/fep/quicktests/in_fep_soft.lmp rename to examples/PACKAGES/fep/quicktests/in_fep_soft.lmp diff --git a/examples/USER/fep/quicktests/log.adapt b/examples/PACKAGES/fep/quicktests/log.adapt similarity index 100% rename from examples/USER/fep/quicktests/log.adapt rename to examples/PACKAGES/fep/quicktests/log.adapt diff --git a/examples/USER/fep/quicktests/log.fep_soft b/examples/PACKAGES/fep/quicktests/log.fep_soft similarity index 100% rename from examples/USER/fep/quicktests/log.fep_soft rename to examples/PACKAGES/fep/quicktests/log.fep_soft diff --git a/examples/USER/hdnnp/data.H2O-360mol b/examples/PACKAGES/hdnnp/data.H2O-360mol similarity index 100% rename from examples/USER/hdnnp/data.H2O-360mol rename to examples/PACKAGES/hdnnp/data.H2O-360mol diff --git a/examples/USER/hdnnp/hdnnp-data/input.nn b/examples/PACKAGES/hdnnp/hdnnp-data/input.nn similarity index 100% rename from examples/USER/hdnnp/hdnnp-data/input.nn rename to examples/PACKAGES/hdnnp/hdnnp-data/input.nn diff --git a/examples/USER/hdnnp/hdnnp-data/scaling.data b/examples/PACKAGES/hdnnp/hdnnp-data/scaling.data similarity index 100% rename from examples/USER/hdnnp/hdnnp-data/scaling.data rename to examples/PACKAGES/hdnnp/hdnnp-data/scaling.data diff --git a/examples/USER/hdnnp/hdnnp-data/weights.001.data b/examples/PACKAGES/hdnnp/hdnnp-data/weights.001.data similarity index 100% rename from examples/USER/hdnnp/hdnnp-data/weights.001.data rename to examples/PACKAGES/hdnnp/hdnnp-data/weights.001.data diff --git a/examples/USER/hdnnp/hdnnp-data/weights.008.data b/examples/PACKAGES/hdnnp/hdnnp-data/weights.008.data similarity index 100% rename from examples/USER/hdnnp/hdnnp-data/weights.008.data rename to examples/PACKAGES/hdnnp/hdnnp-data/weights.008.data diff --git a/examples/USER/hdnnp/in.hdnnp b/examples/PACKAGES/hdnnp/in.hdnnp similarity index 100% rename from examples/USER/hdnnp/in.hdnnp rename to examples/PACKAGES/hdnnp/in.hdnnp diff --git a/examples/USER/lb/confined_colloid/in.confined_colloids b/examples/PACKAGES/lb/confined_colloid/in.confined_colloids similarity index 100% rename from examples/USER/lb/confined_colloid/in.confined_colloids rename to examples/PACKAGES/lb/confined_colloid/in.confined_colloids diff --git a/examples/USER/lb/confined_colloid/results64.out b/examples/PACKAGES/lb/confined_colloid/results64.out similarity index 100% rename from examples/USER/lb/confined_colloid/results64.out rename to examples/PACKAGES/lb/confined_colloid/results64.out diff --git a/examples/USER/lb/dragforce/data.one_radius16d2 b/examples/PACKAGES/lb/dragforce/data.one_radius16d2 similarity index 100% rename from examples/USER/lb/dragforce/data.one_radius16d2 rename to examples/PACKAGES/lb/dragforce/data.one_radius16d2 diff --git a/examples/USER/lb/dragforce/defaultgamma_drag.out b/examples/PACKAGES/lb/dragforce/defaultgamma_drag.out similarity index 100% rename from examples/USER/lb/dragforce/defaultgamma_drag.out rename to examples/PACKAGES/lb/dragforce/defaultgamma_drag.out diff --git a/examples/USER/lb/dragforce/in.defaultgamma_drag b/examples/PACKAGES/lb/dragforce/in.defaultgamma_drag similarity index 100% rename from examples/USER/lb/dragforce/in.defaultgamma_drag rename to examples/PACKAGES/lb/dragforce/in.defaultgamma_drag diff --git a/examples/USER/lb/dragforce/in.setgamma_drag b/examples/PACKAGES/lb/dragforce/in.setgamma_drag similarity index 100% rename from examples/USER/lb/dragforce/in.setgamma_drag rename to examples/PACKAGES/lb/dragforce/in.setgamma_drag diff --git a/examples/USER/lb/dragforce/setgamma13d0_drag.out b/examples/PACKAGES/lb/dragforce/setgamma13d0_drag.out similarity index 100% rename from examples/USER/lb/dragforce/setgamma13d0_drag.out rename to examples/PACKAGES/lb/dragforce/setgamma13d0_drag.out diff --git a/examples/USER/lb/fourspheres/data.four b/examples/PACKAGES/lb/fourspheres/data.four similarity index 100% rename from examples/USER/lb/fourspheres/data.four rename to examples/PACKAGES/lb/fourspheres/data.four diff --git a/examples/USER/lb/fourspheres/fourspheres_velocity0d0001_defaultgamma.out b/examples/PACKAGES/lb/fourspheres/fourspheres_velocity0d0001_defaultgamma.out similarity index 100% rename from examples/USER/lb/fourspheres/fourspheres_velocity0d0001_defaultgamma.out rename to examples/PACKAGES/lb/fourspheres/fourspheres_velocity0d0001_defaultgamma.out diff --git a/examples/USER/lb/fourspheres/fourspheres_velocity0d0001_setgamma.out b/examples/PACKAGES/lb/fourspheres/fourspheres_velocity0d0001_setgamma.out similarity index 100% rename from examples/USER/lb/fourspheres/fourspheres_velocity0d0001_setgamma.out rename to examples/PACKAGES/lb/fourspheres/fourspheres_velocity0d0001_setgamma.out diff --git a/examples/USER/lb/fourspheres/in.fourspheres_default_gamma b/examples/PACKAGES/lb/fourspheres/in.fourspheres_default_gamma similarity index 100% rename from examples/USER/lb/fourspheres/in.fourspheres_default_gamma rename to examples/PACKAGES/lb/fourspheres/in.fourspheres_default_gamma diff --git a/examples/USER/lb/fourspheres/in.fourspheres_set_gamma b/examples/PACKAGES/lb/fourspheres/in.fourspheres_set_gamma similarity index 100% rename from examples/USER/lb/fourspheres/in.fourspheres_set_gamma rename to examples/PACKAGES/lb/fourspheres/in.fourspheres_set_gamma diff --git a/examples/USER/lb/microrheology/data.two b/examples/PACKAGES/lb/microrheology/data.two similarity index 100% rename from examples/USER/lb/microrheology/data.two rename to examples/PACKAGES/lb/microrheology/data.two diff --git a/examples/USER/lb/microrheology/in.microrheology_default_gamma b/examples/PACKAGES/lb/microrheology/in.microrheology_default_gamma similarity index 100% rename from examples/USER/lb/microrheology/in.microrheology_default_gamma rename to examples/PACKAGES/lb/microrheology/in.microrheology_default_gamma diff --git a/examples/USER/lb/microrheology/in.microrheology_set_gamma b/examples/PACKAGES/lb/microrheology/in.microrheology_set_gamma similarity index 100% rename from examples/USER/lb/microrheology/in.microrheology_set_gamma rename to examples/PACKAGES/lb/microrheology/in.microrheology_set_gamma diff --git a/examples/USER/lb/microrheology/microrheology_defaultgamma.out b/examples/PACKAGES/lb/microrheology/microrheology_defaultgamma.out similarity index 100% rename from examples/USER/lb/microrheology/microrheology_defaultgamma.out rename to examples/PACKAGES/lb/microrheology/microrheology_defaultgamma.out diff --git a/examples/USER/lb/microrheology/microrheology_setgamma.out b/examples/PACKAGES/lb/microrheology/microrheology_setgamma.out similarity index 100% rename from examples/USER/lb/microrheology/microrheology_setgamma.out rename to examples/PACKAGES/lb/microrheology/microrheology_setgamma.out diff --git a/examples/USER/lb/planewall/data.one_radius16d2 b/examples/PACKAGES/lb/planewall/data.one_radius16d2 similarity index 100% rename from examples/USER/lb/planewall/data.one_radius16d2 rename to examples/PACKAGES/lb/planewall/data.one_radius16d2 diff --git a/examples/USER/lb/planewall/in.planewall_default_gamma b/examples/PACKAGES/lb/planewall/in.planewall_default_gamma similarity index 100% rename from examples/USER/lb/planewall/in.planewall_default_gamma rename to examples/PACKAGES/lb/planewall/in.planewall_default_gamma diff --git a/examples/USER/lb/planewall/in.planewall_set_gamma b/examples/PACKAGES/lb/planewall/in.planewall_set_gamma similarity index 100% rename from examples/USER/lb/planewall/in.planewall_set_gamma rename to examples/PACKAGES/lb/planewall/in.planewall_set_gamma diff --git a/examples/USER/lb/planewall/wall_defaultgamma.out b/examples/PACKAGES/lb/planewall/wall_defaultgamma.out similarity index 100% rename from examples/USER/lb/planewall/wall_defaultgamma.out rename to examples/PACKAGES/lb/planewall/wall_defaultgamma.out diff --git a/examples/USER/lb/planewall/wall_setgamma.out b/examples/PACKAGES/lb/planewall/wall_setgamma.out similarity index 100% rename from examples/USER/lb/planewall/wall_setgamma.out rename to examples/PACKAGES/lb/planewall/wall_setgamma.out diff --git a/examples/USER/lb/polymer/data.polymer b/examples/PACKAGES/lb/polymer/data.polymer similarity index 100% rename from examples/USER/lb/polymer/data.polymer rename to examples/PACKAGES/lb/polymer/data.polymer diff --git a/examples/USER/lb/polymer/in.polymer_default_gamma b/examples/PACKAGES/lb/polymer/in.polymer_default_gamma similarity index 100% rename from examples/USER/lb/polymer/in.polymer_default_gamma rename to examples/PACKAGES/lb/polymer/in.polymer_default_gamma diff --git a/examples/USER/lb/polymer/in.polymer_setgamma b/examples/PACKAGES/lb/polymer/in.polymer_setgamma similarity index 100% rename from examples/USER/lb/polymer/in.polymer_setgamma rename to examples/PACKAGES/lb/polymer/in.polymer_setgamma diff --git a/examples/USER/lb/polymer/out.polymer_default_gamma b/examples/PACKAGES/lb/polymer/out.polymer_default_gamma similarity index 100% rename from examples/USER/lb/polymer/out.polymer_default_gamma rename to examples/PACKAGES/lb/polymer/out.polymer_default_gamma diff --git a/examples/USER/lb/polymer/out.polymer_setgamma b/examples/PACKAGES/lb/polymer/out.polymer_setgamma similarity index 100% rename from examples/USER/lb/polymer/out.polymer_setgamma rename to examples/PACKAGES/lb/polymer/out.polymer_setgamma diff --git a/examples/USER/manifold/diffusion/README b/examples/PACKAGES/manifold/diffusion/README similarity index 100% rename from examples/USER/manifold/diffusion/README rename to examples/PACKAGES/manifold/diffusion/README diff --git a/examples/USER/manifold/diffusion/msd.cyl.data b/examples/PACKAGES/manifold/diffusion/msd.cyl.data similarity index 100% rename from examples/USER/manifold/diffusion/msd.cyl.data rename to examples/PACKAGES/manifold/diffusion/msd.cyl.data diff --git a/examples/USER/manifold/diffusion/msd.cyl.in b/examples/PACKAGES/manifold/diffusion/msd.cyl.in similarity index 100% rename from examples/USER/manifold/diffusion/msd.cyl.in rename to examples/PACKAGES/manifold/diffusion/msd.cyl.in diff --git a/examples/USER/manifold/diffusion/msd.pdf b/examples/PACKAGES/manifold/diffusion/msd.pdf similarity index 100% rename from examples/USER/manifold/diffusion/msd.pdf rename to examples/PACKAGES/manifold/diffusion/msd.pdf diff --git a/examples/USER/manifold/diffusion/msd.plane.data b/examples/PACKAGES/manifold/diffusion/msd.plane.data similarity index 100% rename from examples/USER/manifold/diffusion/msd.plane.data rename to examples/PACKAGES/manifold/diffusion/msd.plane.data diff --git a/examples/USER/manifold/diffusion/msd.plane.in b/examples/PACKAGES/manifold/diffusion/msd.plane.in similarity index 100% rename from examples/USER/manifold/diffusion/msd.plane.in rename to examples/PACKAGES/manifold/diffusion/msd.plane.in diff --git a/examples/USER/manifold/diffusion/msd.sphere.data b/examples/PACKAGES/manifold/diffusion/msd.sphere.data similarity index 100% rename from examples/USER/manifold/diffusion/msd.sphere.data rename to examples/PACKAGES/manifold/diffusion/msd.sphere.data diff --git a/examples/USER/manifold/diffusion/msd.sphere.in b/examples/PACKAGES/manifold/diffusion/msd.sphere.in similarity index 100% rename from examples/USER/manifold/diffusion/msd.sphere.in rename to examples/PACKAGES/manifold/diffusion/msd.sphere.in diff --git a/examples/USER/manifold/diffusion/msd_plot2.pdf b/examples/PACKAGES/manifold/diffusion/msd_plot2.pdf similarity index 100% rename from examples/USER/manifold/diffusion/msd_plot2.pdf rename to examples/PACKAGES/manifold/diffusion/msd_plot2.pdf diff --git a/examples/USER/manifold/diffusion/plot_msd.gpl b/examples/PACKAGES/manifold/diffusion/plot_msd.gpl similarity index 100% rename from examples/USER/manifold/diffusion/plot_msd.gpl rename to examples/PACKAGES/manifold/diffusion/plot_msd.gpl diff --git a/examples/USER/manifold/energy/README b/examples/PACKAGES/manifold/energy/README similarity index 100% rename from examples/USER/manifold/energy/README rename to examples/PACKAGES/manifold/energy/README diff --git a/examples/USER/manifold/energy/cylinder.data b/examples/PACKAGES/manifold/energy/cylinder.data similarity index 100% rename from examples/USER/manifold/energy/cylinder.data rename to examples/PACKAGES/manifold/energy/cylinder.data diff --git a/examples/USER/manifold/energy/cylinder.setup b/examples/PACKAGES/manifold/energy/cylinder.setup similarity index 100% rename from examples/USER/manifold/energy/cylinder.setup rename to examples/PACKAGES/manifold/energy/cylinder.setup diff --git a/examples/USER/manifold/energy/energy.in b/examples/PACKAGES/manifold/energy/energy.in similarity index 100% rename from examples/USER/manifold/energy/energy.in rename to examples/PACKAGES/manifold/energy/energy.in diff --git a/examples/USER/manifold/energy/energy.plane.in b/examples/PACKAGES/manifold/energy/energy.plane.in similarity index 100% rename from examples/USER/manifold/energy/energy.plane.in rename to examples/PACKAGES/manifold/energy/energy.plane.in diff --git a/examples/USER/manifold/energy/energy.sh b/examples/PACKAGES/manifold/energy/energy.sh similarity index 100% rename from examples/USER/manifold/energy/energy.sh rename to examples/PACKAGES/manifold/energy/energy.sh diff --git a/examples/USER/manifold/energy/energy_conservation.pdf b/examples/PACKAGES/manifold/energy/energy_conservation.pdf similarity index 100% rename from examples/USER/manifold/energy/energy_conservation.pdf rename to examples/PACKAGES/manifold/energy/energy_conservation.pdf diff --git a/examples/USER/manifold/energy/energy_conservation.png b/examples/PACKAGES/manifold/energy/energy_conservation.png similarity index 100% rename from examples/USER/manifold/energy/energy_conservation.png rename to examples/PACKAGES/manifold/energy/energy_conservation.png diff --git a/examples/USER/manifold/energy/plane.anneal.data b/examples/PACKAGES/manifold/energy/plane.anneal.data similarity index 100% rename from examples/USER/manifold/energy/plane.anneal.data rename to examples/PACKAGES/manifold/energy/plane.anneal.data diff --git a/examples/USER/manifold/energy/plane.data b/examples/PACKAGES/manifold/energy/plane.data similarity index 100% rename from examples/USER/manifold/energy/plane.data rename to examples/PACKAGES/manifold/energy/plane.data diff --git a/examples/USER/manifold/energy/plot_energies.gpl b/examples/PACKAGES/manifold/energy/plot_energies.gpl similarity index 100% rename from examples/USER/manifold/energy/plot_energies.gpl rename to examples/PACKAGES/manifold/energy/plot_energies.gpl diff --git a/examples/USER/manifold/energy/sphere.data b/examples/PACKAGES/manifold/energy/sphere.data similarity index 100% rename from examples/USER/manifold/energy/sphere.data rename to examples/PACKAGES/manifold/energy/sphere.data diff --git a/examples/USER/manifold/energy/sphere.setup b/examples/PACKAGES/manifold/energy/sphere.setup similarity index 100% rename from examples/USER/manifold/energy/sphere.setup rename to examples/PACKAGES/manifold/energy/sphere.setup diff --git a/examples/USER/manifold/energy/torus.data b/examples/PACKAGES/manifold/energy/torus.data similarity index 100% rename from examples/USER/manifold/energy/torus.data rename to examples/PACKAGES/manifold/energy/torus.data diff --git a/examples/USER/manifold/energy/torus.setup b/examples/PACKAGES/manifold/energy/torus.setup similarity index 100% rename from examples/USER/manifold/energy/torus.setup rename to examples/PACKAGES/manifold/energy/torus.setup diff --git a/examples/USER/manifold/thylakoid/README b/examples/PACKAGES/manifold/thylakoid/README similarity index 100% rename from examples/USER/manifold/thylakoid/README rename to examples/PACKAGES/manifold/thylakoid/README diff --git a/examples/USER/manifold/thylakoid/thylakoid.data b/examples/PACKAGES/manifold/thylakoid/thylakoid.data similarity index 100% rename from examples/USER/manifold/thylakoid/thylakoid.data rename to examples/PACKAGES/manifold/thylakoid/thylakoid.data diff --git a/examples/USER/manifold/thylakoid/thylakoid.in b/examples/PACKAGES/manifold/thylakoid/thylakoid.in similarity index 100% rename from examples/USER/manifold/thylakoid/thylakoid.in rename to examples/PACKAGES/manifold/thylakoid/thylakoid.in diff --git a/examples/USER/manifold/virus/README b/examples/PACKAGES/manifold/virus/README similarity index 100% rename from examples/USER/manifold/virus/README rename to examples/PACKAGES/manifold/virus/README diff --git a/examples/USER/manifold/virus/init.data b/examples/PACKAGES/manifold/virus/init.data similarity index 100% rename from examples/USER/manifold/virus/init.data rename to examples/PACKAGES/manifold/virus/init.data diff --git a/examples/USER/manifold/virus/vir.in b/examples/PACKAGES/manifold/virus/vir.in similarity index 100% rename from examples/USER/manifold/virus/vir.in rename to examples/PACKAGES/manifold/virus/vir.in diff --git a/examples/USER/mdi/README b/examples/PACKAGES/mdi/README similarity index 100% rename from examples/USER/mdi/README rename to examples/PACKAGES/mdi/README diff --git a/examples/USER/mdi/Script.sh b/examples/PACKAGES/mdi/Script.sh similarity index 100% rename from examples/USER/mdi/Script.sh rename to examples/PACKAGES/mdi/Script.sh diff --git a/examples/USER/mdi/driver.py b/examples/PACKAGES/mdi/driver.py similarity index 100% rename from examples/USER/mdi/driver.py rename to examples/PACKAGES/mdi/driver.py diff --git a/examples/USER/mdi/lammps.data b/examples/PACKAGES/mdi/lammps.data similarity index 100% rename from examples/USER/mdi/lammps.data rename to examples/PACKAGES/mdi/lammps.data diff --git a/examples/USER/mdi/lammps.in b/examples/PACKAGES/mdi/lammps.in similarity index 100% rename from examples/USER/mdi/lammps.in rename to examples/PACKAGES/mdi/lammps.in diff --git a/examples/USER/mesodpd/README b/examples/PACKAGES/mesodpd/README similarity index 100% rename from examples/USER/mesodpd/README rename to examples/PACKAGES/mesodpd/README diff --git a/examples/USER/mesodpd/edpd/in.edpd b/examples/PACKAGES/mesodpd/edpd/in.edpd similarity index 100% rename from examples/USER/mesodpd/edpd/in.edpd rename to examples/PACKAGES/mesodpd/edpd/in.edpd diff --git a/examples/USER/mesodpd/edpd/log.16Aug17.edpd.g++.1 b/examples/PACKAGES/mesodpd/edpd/log.16Aug17.edpd.g++.1 similarity index 100% rename from examples/USER/mesodpd/edpd/log.16Aug17.edpd.g++.1 rename to examples/PACKAGES/mesodpd/edpd/log.16Aug17.edpd.g++.1 diff --git a/examples/USER/mesodpd/edpd/log.16Aug17.edpd.g++.4 b/examples/PACKAGES/mesodpd/edpd/log.16Aug17.edpd.g++.4 similarity index 100% rename from examples/USER/mesodpd/edpd/log.16Aug17.edpd.g++.4 rename to examples/PACKAGES/mesodpd/edpd/log.16Aug17.edpd.g++.4 diff --git a/examples/USER/mesodpd/edpd/temp.profile.16Aug17.edpd.g++.1 b/examples/PACKAGES/mesodpd/edpd/temp.profile.16Aug17.edpd.g++.1 similarity index 100% rename from examples/USER/mesodpd/edpd/temp.profile.16Aug17.edpd.g++.1 rename to examples/PACKAGES/mesodpd/edpd/temp.profile.16Aug17.edpd.g++.1 diff --git a/examples/USER/mesodpd/edpd/temp.profile.16Aug17.edpd.g++.4 b/examples/PACKAGES/mesodpd/edpd/temp.profile.16Aug17.edpd.g++.4 similarity index 100% rename from examples/USER/mesodpd/edpd/temp.profile.16Aug17.edpd.g++.4 rename to examples/PACKAGES/mesodpd/edpd/temp.profile.16Aug17.edpd.g++.4 diff --git a/examples/USER/mesodpd/mdpd/in.mdpd b/examples/PACKAGES/mesodpd/mdpd/in.mdpd similarity index 100% rename from examples/USER/mesodpd/mdpd/in.mdpd rename to examples/PACKAGES/mesodpd/mdpd/in.mdpd diff --git a/examples/USER/mesodpd/mdpd/log.16Aug17.mdpd.g++.1 b/examples/PACKAGES/mesodpd/mdpd/log.16Aug17.mdpd.g++.1 similarity index 100% rename from examples/USER/mesodpd/mdpd/log.16Aug17.mdpd.g++.1 rename to examples/PACKAGES/mesodpd/mdpd/log.16Aug17.mdpd.g++.1 diff --git a/examples/USER/mesodpd/mdpd/log.16Aug17.mdpd.g++.4 b/examples/PACKAGES/mesodpd/mdpd/log.16Aug17.mdpd.g++.4 similarity index 100% rename from examples/USER/mesodpd/mdpd/log.16Aug17.mdpd.g++.4 rename to examples/PACKAGES/mesodpd/mdpd/log.16Aug17.mdpd.g++.4 diff --git a/examples/USER/mesodpd/tdpd/cc.profile.16Aug17.tdpd.g++.1 b/examples/PACKAGES/mesodpd/tdpd/cc.profile.16Aug17.tdpd.g++.1 similarity index 100% rename from examples/USER/mesodpd/tdpd/cc.profile.16Aug17.tdpd.g++.1 rename to examples/PACKAGES/mesodpd/tdpd/cc.profile.16Aug17.tdpd.g++.1 diff --git a/examples/USER/mesodpd/tdpd/cc.profile.16Aug17.tdpd.g++.4 b/examples/PACKAGES/mesodpd/tdpd/cc.profile.16Aug17.tdpd.g++.4 similarity index 100% rename from examples/USER/mesodpd/tdpd/cc.profile.16Aug17.tdpd.g++.4 rename to examples/PACKAGES/mesodpd/tdpd/cc.profile.16Aug17.tdpd.g++.4 diff --git a/examples/USER/mesodpd/tdpd/in.tdpd b/examples/PACKAGES/mesodpd/tdpd/in.tdpd similarity index 100% rename from examples/USER/mesodpd/tdpd/in.tdpd rename to examples/PACKAGES/mesodpd/tdpd/in.tdpd diff --git a/examples/USER/mesodpd/tdpd/log.16Aug17.tdpd.g++.1 b/examples/PACKAGES/mesodpd/tdpd/log.16Aug17.tdpd.g++.1 similarity index 100% rename from examples/USER/mesodpd/tdpd/log.16Aug17.tdpd.g++.1 rename to examples/PACKAGES/mesodpd/tdpd/log.16Aug17.tdpd.g++.1 diff --git a/examples/USER/mesodpd/tdpd/log.16Aug17.tdpd.g++.4 b/examples/PACKAGES/mesodpd/tdpd/log.16Aug17.tdpd.g++.4 similarity index 100% rename from examples/USER/mesodpd/tdpd/log.16Aug17.tdpd.g++.4 rename to examples/PACKAGES/mesodpd/tdpd/log.16Aug17.tdpd.g++.4 diff --git a/examples/USER/mesont/C_10_10.mesocnt b/examples/PACKAGES/mesont/C_10_10.mesocnt similarity index 100% rename from examples/USER/mesont/C_10_10.mesocnt rename to examples/PACKAGES/mesont/C_10_10.mesocnt diff --git a/examples/USER/mesont/README b/examples/PACKAGES/mesont/README similarity index 100% rename from examples/USER/mesont/README rename to examples/PACKAGES/mesont/README diff --git a/examples/USER/mesont/TABTP_10_10.mesont b/examples/PACKAGES/mesont/TABTP_10_10.mesont similarity index 100% rename from examples/USER/mesont/TABTP_10_10.mesont rename to examples/PACKAGES/mesont/TABTP_10_10.mesont diff --git a/examples/USER/mesont/cnt.data b/examples/PACKAGES/mesont/cnt.data similarity index 100% rename from examples/USER/mesont/cnt.data rename to examples/PACKAGES/mesont/cnt.data diff --git a/examples/USER/mesont/data.bundle b/examples/PACKAGES/mesont/data.bundle similarity index 100% rename from examples/USER/mesont/data.bundle rename to examples/PACKAGES/mesont/data.bundle diff --git a/examples/USER/mesont/data.film b/examples/PACKAGES/mesont/data.film similarity index 100% rename from examples/USER/mesont/data.film rename to examples/PACKAGES/mesont/data.film diff --git a/examples/USER/mesont/in.bundle b/examples/PACKAGES/mesont/in.bundle similarity index 100% rename from examples/USER/mesont/in.bundle rename to examples/PACKAGES/mesont/in.bundle diff --git a/examples/USER/mesont/in.cnt b/examples/PACKAGES/mesont/in.cnt similarity index 100% rename from examples/USER/mesont/in.cnt rename to examples/PACKAGES/mesont/in.cnt diff --git a/examples/USER/mesont/in.film b/examples/PACKAGES/mesont/in.film similarity index 100% rename from examples/USER/mesont/in.film rename to examples/PACKAGES/mesont/in.film diff --git a/examples/USER/mesont/log.2Jun2020.bundle.g++.1 b/examples/PACKAGES/mesont/log.2Jun2020.bundle.g++.1 similarity index 100% rename from examples/USER/mesont/log.2Jun2020.bundle.g++.1 rename to examples/PACKAGES/mesont/log.2Jun2020.bundle.g++.1 diff --git a/examples/USER/mesont/log.2Jun2020.bundle.g++.4 b/examples/PACKAGES/mesont/log.2Jun2020.bundle.g++.4 similarity index 100% rename from examples/USER/mesont/log.2Jun2020.bundle.g++.4 rename to examples/PACKAGES/mesont/log.2Jun2020.bundle.g++.4 diff --git a/examples/USER/mesont/log.2Jun2020.film.g++.1 b/examples/PACKAGES/mesont/log.2Jun2020.film.g++.1 similarity index 100% rename from examples/USER/mesont/log.2Jun2020.film.g++.1 rename to examples/PACKAGES/mesont/log.2Jun2020.film.g++.1 diff --git a/examples/USER/mesont/log.2Jun2020.film.g++.4 b/examples/PACKAGES/mesont/log.2Jun2020.film.g++.4 similarity index 100% rename from examples/USER/mesont/log.2Jun2020.film.g++.4 rename to examples/PACKAGES/mesont/log.2Jun2020.film.g++.4 diff --git a/examples/USER/mesont/log.9Jan20.cnt.g++.1 b/examples/PACKAGES/mesont/log.9Jan20.cnt.g++.1 similarity index 100% rename from examples/USER/mesont/log.9Jan20.cnt.g++.1 rename to examples/PACKAGES/mesont/log.9Jan20.cnt.g++.1 diff --git a/examples/USER/mesont/log.9Jan20.cnt.g++.4 b/examples/PACKAGES/mesont/log.9Jan20.cnt.g++.4 similarity index 100% rename from examples/USER/mesont/log.9Jan20.cnt.g++.4 rename to examples/PACKAGES/mesont/log.9Jan20.cnt.g++.4 diff --git a/examples/USER/mgpt/Ta6.8x.mgpt.README b/examples/PACKAGES/mgpt/Ta6.8x.mgpt.README similarity index 100% rename from examples/USER/mgpt/Ta6.8x.mgpt.README rename to examples/PACKAGES/mgpt/Ta6.8x.mgpt.README diff --git a/examples/USER/mgpt/Ta6.8x.mgpt.parmin b/examples/PACKAGES/mgpt/Ta6.8x.mgpt.parmin similarity index 100% rename from examples/USER/mgpt/Ta6.8x.mgpt.parmin rename to examples/PACKAGES/mgpt/Ta6.8x.mgpt.parmin diff --git a/examples/USER/mgpt/Ta6.8x.mgpt.potin b/examples/PACKAGES/mgpt/Ta6.8x.mgpt.potin similarity index 100% rename from examples/USER/mgpt/Ta6.8x.mgpt.potin rename to examples/PACKAGES/mgpt/Ta6.8x.mgpt.potin diff --git a/examples/USER/mgpt/in.bcc0 b/examples/PACKAGES/mgpt/in.bcc0 similarity index 100% rename from examples/USER/mgpt/in.bcc0 rename to examples/PACKAGES/mgpt/in.bcc0 diff --git a/examples/USER/mgpt/in.vac0-bcc b/examples/PACKAGES/mgpt/in.vac0-bcc similarity index 100% rename from examples/USER/mgpt/in.vac0-bcc rename to examples/PACKAGES/mgpt/in.vac0-bcc diff --git a/examples/USER/mgpt/in.vacmin-bcc b/examples/PACKAGES/mgpt/in.vacmin-bcc similarity index 100% rename from examples/USER/mgpt/in.vacmin-bcc rename to examples/PACKAGES/mgpt/in.vacmin-bcc diff --git a/examples/USER/mgpt/log.bcc0 b/examples/PACKAGES/mgpt/log.bcc0 similarity index 100% rename from examples/USER/mgpt/log.bcc0 rename to examples/PACKAGES/mgpt/log.bcc0 diff --git a/examples/USER/mgpt/log.vac0-bcc b/examples/PACKAGES/mgpt/log.vac0-bcc similarity index 100% rename from examples/USER/mgpt/log.vac0-bcc rename to examples/PACKAGES/mgpt/log.vac0-bcc diff --git a/examples/USER/mgpt/log.vacmin-bcc b/examples/PACKAGES/mgpt/log.vacmin-bcc similarity index 100% rename from examples/USER/mgpt/log.vacmin-bcc rename to examples/PACKAGES/mgpt/log.vacmin-bcc diff --git a/examples/USER/mofff/hkust1.data b/examples/PACKAGES/mofff/hkust1.data similarity index 100% rename from examples/USER/mofff/hkust1.data rename to examples/PACKAGES/mofff/hkust1.data diff --git a/examples/USER/mofff/in.hkust1 b/examples/PACKAGES/mofff/in.hkust1 similarity index 100% rename from examples/USER/mofff/in.hkust1 rename to examples/PACKAGES/mofff/in.hkust1 diff --git a/examples/USER/mofff/in.hkust1_long b/examples/PACKAGES/mofff/in.hkust1_long similarity index 100% rename from examples/USER/mofff/in.hkust1_long rename to examples/PACKAGES/mofff/in.hkust1_long diff --git a/examples/USER/mofff/log.27Nov18.hkust1.g++.1 b/examples/PACKAGES/mofff/log.27Nov18.hkust1.g++.1 similarity index 100% rename from examples/USER/mofff/log.27Nov18.hkust1.g++.1 rename to examples/PACKAGES/mofff/log.27Nov18.hkust1.g++.1 diff --git a/examples/USER/mofff/log.27Nov18.hkust1.g++.4 b/examples/PACKAGES/mofff/log.27Nov18.hkust1.g++.4 similarity index 100% rename from examples/USER/mofff/log.27Nov18.hkust1.g++.4 rename to examples/PACKAGES/mofff/log.27Nov18.hkust1.g++.4 diff --git a/examples/USER/mofff/log.27Nov18.hkust1_long.g++.1 b/examples/PACKAGES/mofff/log.27Nov18.hkust1_long.g++.1 similarity index 100% rename from examples/USER/mofff/log.27Nov18.hkust1_long.g++.1 rename to examples/PACKAGES/mofff/log.27Nov18.hkust1_long.g++.1 diff --git a/examples/USER/mofff/log.27Nov18.hkust1_long.g++.4 b/examples/PACKAGES/mofff/log.27Nov18.hkust1_long.g++.4 similarity index 100% rename from examples/USER/mofff/log.27Nov18.hkust1_long.g++.4 rename to examples/PACKAGES/mofff/log.27Nov18.hkust1_long.g++.4 diff --git a/examples/USER/pace/Cu-PBE-core-rep.ace b/examples/PACKAGES/pace/Cu-PBE-core-rep.ace similarity index 100% rename from examples/USER/pace/Cu-PBE-core-rep.ace rename to examples/PACKAGES/pace/Cu-PBE-core-rep.ace diff --git a/examples/USER/pace/in.pace.product b/examples/PACKAGES/pace/in.pace.product similarity index 100% rename from examples/USER/pace/in.pace.product rename to examples/PACKAGES/pace/in.pace.product diff --git a/examples/USER/pace/in.pace.recursive b/examples/PACKAGES/pace/in.pace.recursive similarity index 100% rename from examples/USER/pace/in.pace.recursive rename to examples/PACKAGES/pace/in.pace.recursive diff --git a/examples/USER/pace/log.03Feb2021.pace.product.g++.1 b/examples/PACKAGES/pace/log.03Feb2021.pace.product.g++.1 similarity index 100% rename from examples/USER/pace/log.03Feb2021.pace.product.g++.1 rename to examples/PACKAGES/pace/log.03Feb2021.pace.product.g++.1 diff --git a/examples/USER/pace/log.03Feb2021.pace.product.g++.4 b/examples/PACKAGES/pace/log.03Feb2021.pace.product.g++.4 similarity index 100% rename from examples/USER/pace/log.03Feb2021.pace.product.g++.4 rename to examples/PACKAGES/pace/log.03Feb2021.pace.product.g++.4 diff --git a/examples/USER/pace/log.03Feb2021.pace.recursive.g++.1 b/examples/PACKAGES/pace/log.03Feb2021.pace.recursive.g++.1 similarity index 100% rename from examples/USER/pace/log.03Feb2021.pace.recursive.g++.1 rename to examples/PACKAGES/pace/log.03Feb2021.pace.recursive.g++.1 diff --git a/examples/USER/pace/log.03Feb2021.pace.recursive.g++.4 b/examples/PACKAGES/pace/log.03Feb2021.pace.recursive.g++.4 similarity index 100% rename from examples/USER/pace/log.03Feb2021.pace.recursive.g++.4 rename to examples/PACKAGES/pace/log.03Feb2021.pace.recursive.g++.4 diff --git a/examples/USER/phonon/1-1D-mono/README b/examples/PACKAGES/phonon/1-1D-mono/README similarity index 100% rename from examples/USER/phonon/1-1D-mono/README rename to examples/PACKAGES/phonon/1-1D-mono/README diff --git a/examples/USER/phonon/1-1D-mono/data.pos b/examples/PACKAGES/phonon/1-1D-mono/data.pos similarity index 100% rename from examples/USER/phonon/1-1D-mono/data.pos rename to examples/PACKAGES/phonon/1-1D-mono/data.pos diff --git a/examples/USER/phonon/1-1D-mono/disp.dat b/examples/PACKAGES/phonon/1-1D-mono/disp.dat similarity index 100% rename from examples/USER/phonon/1-1D-mono/disp.dat rename to examples/PACKAGES/phonon/1-1D-mono/disp.dat diff --git a/examples/USER/phonon/1-1D-mono/in.Ana b/examples/PACKAGES/phonon/1-1D-mono/in.Ana similarity index 100% rename from examples/USER/phonon/1-1D-mono/in.Ana rename to examples/PACKAGES/phonon/1-1D-mono/in.Ana diff --git a/examples/USER/phonon/1-1D-mono/in.disp b/examples/PACKAGES/phonon/1-1D-mono/in.disp similarity index 100% rename from examples/USER/phonon/1-1D-mono/in.disp rename to examples/PACKAGES/phonon/1-1D-mono/in.disp diff --git a/examples/USER/phonon/1-1D-mono/log.lammps b/examples/PACKAGES/phonon/1-1D-mono/log.lammps similarity index 100% rename from examples/USER/phonon/1-1D-mono/log.lammps rename to examples/PACKAGES/phonon/1-1D-mono/log.lammps diff --git a/examples/USER/phonon/1-1D-mono/map.in b/examples/PACKAGES/phonon/1-1D-mono/map.in similarity index 100% rename from examples/USER/phonon/1-1D-mono/map.in rename to examples/PACKAGES/phonon/1-1D-mono/map.in diff --git a/examples/USER/phonon/1-1D-mono/pdisp.eps b/examples/PACKAGES/phonon/1-1D-mono/pdisp.eps similarity index 100% rename from examples/USER/phonon/1-1D-mono/pdisp.eps rename to examples/PACKAGES/phonon/1-1D-mono/pdisp.eps diff --git a/examples/USER/phonon/1-1D-mono/pdisp.gnuplot b/examples/PACKAGES/phonon/1-1D-mono/pdisp.gnuplot similarity index 100% rename from examples/USER/phonon/1-1D-mono/pdisp.gnuplot rename to examples/PACKAGES/phonon/1-1D-mono/pdisp.gnuplot diff --git a/examples/USER/phonon/1-1D-mono/phonon.bin.2000000 b/examples/PACKAGES/phonon/1-1D-mono/phonon.bin.2000000 similarity index 100% rename from examples/USER/phonon/1-1D-mono/phonon.bin.2000000 rename to examples/PACKAGES/phonon/1-1D-mono/phonon.bin.2000000 diff --git a/examples/USER/phonon/1-1D-mono/phonon.log b/examples/PACKAGES/phonon/1-1D-mono/phonon.log similarity index 100% rename from examples/USER/phonon/1-1D-mono/phonon.log rename to examples/PACKAGES/phonon/1-1D-mono/phonon.log diff --git a/examples/USER/phonon/1-1D-mono/plot.disp b/examples/PACKAGES/phonon/1-1D-mono/plot.disp similarity index 100% rename from examples/USER/phonon/1-1D-mono/plot.disp rename to examples/PACKAGES/phonon/1-1D-mono/plot.disp diff --git a/examples/USER/phonon/2-1D-diatomic/README b/examples/PACKAGES/phonon/2-1D-diatomic/README similarity index 100% rename from examples/USER/phonon/2-1D-diatomic/README rename to examples/PACKAGES/phonon/2-1D-diatomic/README diff --git a/examples/USER/phonon/2-1D-diatomic/data.pos b/examples/PACKAGES/phonon/2-1D-diatomic/data.pos similarity index 100% rename from examples/USER/phonon/2-1D-diatomic/data.pos rename to examples/PACKAGES/phonon/2-1D-diatomic/data.pos diff --git a/examples/USER/phonon/2-1D-diatomic/disp.dat b/examples/PACKAGES/phonon/2-1D-diatomic/disp.dat similarity index 100% rename from examples/USER/phonon/2-1D-diatomic/disp.dat rename to examples/PACKAGES/phonon/2-1D-diatomic/disp.dat diff --git a/examples/USER/phonon/2-1D-diatomic/in.Ana b/examples/PACKAGES/phonon/2-1D-diatomic/in.Ana similarity index 100% rename from examples/USER/phonon/2-1D-diatomic/in.Ana rename to examples/PACKAGES/phonon/2-1D-diatomic/in.Ana diff --git a/examples/USER/phonon/2-1D-diatomic/in.disp b/examples/PACKAGES/phonon/2-1D-diatomic/in.disp similarity index 100% rename from examples/USER/phonon/2-1D-diatomic/in.disp rename to examples/PACKAGES/phonon/2-1D-diatomic/in.disp diff --git a/examples/USER/phonon/2-1D-diatomic/log.lammps b/examples/PACKAGES/phonon/2-1D-diatomic/log.lammps similarity index 100% rename from examples/USER/phonon/2-1D-diatomic/log.lammps rename to examples/PACKAGES/phonon/2-1D-diatomic/log.lammps diff --git a/examples/USER/phonon/2-1D-diatomic/map.in b/examples/PACKAGES/phonon/2-1D-diatomic/map.in similarity index 100% rename from examples/USER/phonon/2-1D-diatomic/map.in rename to examples/PACKAGES/phonon/2-1D-diatomic/map.in diff --git a/examples/USER/phonon/2-1D-diatomic/pdisp.eps b/examples/PACKAGES/phonon/2-1D-diatomic/pdisp.eps similarity index 100% rename from examples/USER/phonon/2-1D-diatomic/pdisp.eps rename to examples/PACKAGES/phonon/2-1D-diatomic/pdisp.eps diff --git a/examples/USER/phonon/2-1D-diatomic/pdisp.gnuplot b/examples/PACKAGES/phonon/2-1D-diatomic/pdisp.gnuplot similarity index 100% rename from examples/USER/phonon/2-1D-diatomic/pdisp.gnuplot rename to examples/PACKAGES/phonon/2-1D-diatomic/pdisp.gnuplot diff --git a/examples/USER/phonon/2-1D-diatomic/phonon.bin.2000000 b/examples/PACKAGES/phonon/2-1D-diatomic/phonon.bin.2000000 similarity index 100% rename from examples/USER/phonon/2-1D-diatomic/phonon.bin.2000000 rename to examples/PACKAGES/phonon/2-1D-diatomic/phonon.bin.2000000 diff --git a/examples/USER/phonon/2-1D-diatomic/phonon.log b/examples/PACKAGES/phonon/2-1D-diatomic/phonon.log similarity index 100% rename from examples/USER/phonon/2-1D-diatomic/phonon.log rename to examples/PACKAGES/phonon/2-1D-diatomic/phonon.log diff --git a/examples/USER/phonon/2-1D-diatomic/plot.disp b/examples/PACKAGES/phonon/2-1D-diatomic/plot.disp similarity index 100% rename from examples/USER/phonon/2-1D-diatomic/plot.disp rename to examples/PACKAGES/phonon/2-1D-diatomic/plot.disp diff --git a/examples/USER/phonon/3-3D-FCC-Cu-EAM/CuPhonon.bin.6500000 b/examples/PACKAGES/phonon/3-3D-FCC-Cu-EAM/CuPhonon.bin.6500000 similarity index 100% rename from examples/USER/phonon/3-3D-FCC-Cu-EAM/CuPhonon.bin.6500000 rename to examples/PACKAGES/phonon/3-3D-FCC-Cu-EAM/CuPhonon.bin.6500000 diff --git a/examples/USER/phonon/3-3D-FCC-Cu-EAM/CuPhonon.log b/examples/PACKAGES/phonon/3-3D-FCC-Cu-EAM/CuPhonon.log similarity index 100% rename from examples/USER/phonon/3-3D-FCC-Cu-EAM/CuPhonon.log rename to examples/PACKAGES/phonon/3-3D-FCC-Cu-EAM/CuPhonon.log diff --git a/examples/USER/phonon/3-3D-FCC-Cu-EAM/README b/examples/PACKAGES/phonon/3-3D-FCC-Cu-EAM/README similarity index 100% rename from examples/USER/phonon/3-3D-FCC-Cu-EAM/README rename to examples/PACKAGES/phonon/3-3D-FCC-Cu-EAM/README diff --git a/examples/USER/phonon/3-3D-FCC-Cu-EAM/cuu3.eam b/examples/PACKAGES/phonon/3-3D-FCC-Cu-EAM/cuu3.eam similarity index 100% rename from examples/USER/phonon/3-3D-FCC-Cu-EAM/cuu3.eam rename to examples/PACKAGES/phonon/3-3D-FCC-Cu-EAM/cuu3.eam diff --git a/examples/USER/phonon/3-3D-FCC-Cu-EAM/data.pos b/examples/PACKAGES/phonon/3-3D-FCC-Cu-EAM/data.pos similarity index 100% rename from examples/USER/phonon/3-3D-FCC-Cu-EAM/data.pos rename to examples/PACKAGES/phonon/3-3D-FCC-Cu-EAM/data.pos diff --git a/examples/USER/phonon/3-3D-FCC-Cu-EAM/disp-expr.dat b/examples/PACKAGES/phonon/3-3D-FCC-Cu-EAM/disp-expr.dat similarity index 100% rename from examples/USER/phonon/3-3D-FCC-Cu-EAM/disp-expr.dat rename to examples/PACKAGES/phonon/3-3D-FCC-Cu-EAM/disp-expr.dat diff --git a/examples/USER/phonon/3-3D-FCC-Cu-EAM/disp-ld.dat b/examples/PACKAGES/phonon/3-3D-FCC-Cu-EAM/disp-ld.dat similarity index 100% rename from examples/USER/phonon/3-3D-FCC-Cu-EAM/disp-ld.dat rename to examples/PACKAGES/phonon/3-3D-FCC-Cu-EAM/disp-ld.dat diff --git a/examples/USER/phonon/3-3D-FCC-Cu-EAM/disp.dat b/examples/PACKAGES/phonon/3-3D-FCC-Cu-EAM/disp.dat similarity index 100% rename from examples/USER/phonon/3-3D-FCC-Cu-EAM/disp.dat rename to examples/PACKAGES/phonon/3-3D-FCC-Cu-EAM/disp.dat diff --git a/examples/USER/phonon/3-3D-FCC-Cu-EAM/dos-expr.dat b/examples/PACKAGES/phonon/3-3D-FCC-Cu-EAM/dos-expr.dat similarity index 100% rename from examples/USER/phonon/3-3D-FCC-Cu-EAM/dos-expr.dat rename to examples/PACKAGES/phonon/3-3D-FCC-Cu-EAM/dos-expr.dat diff --git a/examples/USER/phonon/3-3D-FCC-Cu-EAM/dos-ld.dat b/examples/PACKAGES/phonon/3-3D-FCC-Cu-EAM/dos-ld.dat similarity index 100% rename from examples/USER/phonon/3-3D-FCC-Cu-EAM/dos-ld.dat rename to examples/PACKAGES/phonon/3-3D-FCC-Cu-EAM/dos-ld.dat diff --git a/examples/USER/phonon/3-3D-FCC-Cu-EAM/dos.dat b/examples/PACKAGES/phonon/3-3D-FCC-Cu-EAM/dos.dat similarity index 100% rename from examples/USER/phonon/3-3D-FCC-Cu-EAM/dos.dat rename to examples/PACKAGES/phonon/3-3D-FCC-Cu-EAM/dos.dat diff --git a/examples/USER/phonon/3-3D-FCC-Cu-EAM/in.EAM3D b/examples/PACKAGES/phonon/3-3D-FCC-Cu-EAM/in.EAM3D similarity index 100% rename from examples/USER/phonon/3-3D-FCC-Cu-EAM/in.EAM3D rename to examples/PACKAGES/phonon/3-3D-FCC-Cu-EAM/in.EAM3D diff --git a/examples/USER/phonon/3-3D-FCC-Cu-EAM/in.disp b/examples/PACKAGES/phonon/3-3D-FCC-Cu-EAM/in.disp similarity index 100% rename from examples/USER/phonon/3-3D-FCC-Cu-EAM/in.disp rename to examples/PACKAGES/phonon/3-3D-FCC-Cu-EAM/in.disp diff --git a/examples/USER/phonon/3-3D-FCC-Cu-EAM/in.disp2 b/examples/PACKAGES/phonon/3-3D-FCC-Cu-EAM/in.disp2 similarity index 100% rename from examples/USER/phonon/3-3D-FCC-Cu-EAM/in.disp2 rename to examples/PACKAGES/phonon/3-3D-FCC-Cu-EAM/in.disp2 diff --git a/examples/USER/phonon/3-3D-FCC-Cu-EAM/in.dos b/examples/PACKAGES/phonon/3-3D-FCC-Cu-EAM/in.dos similarity index 100% rename from examples/USER/phonon/3-3D-FCC-Cu-EAM/in.dos rename to examples/PACKAGES/phonon/3-3D-FCC-Cu-EAM/in.dos diff --git a/examples/USER/phonon/3-3D-FCC-Cu-EAM/map.in b/examples/PACKAGES/phonon/3-3D-FCC-Cu-EAM/map.in similarity index 100% rename from examples/USER/phonon/3-3D-FCC-Cu-EAM/map.in rename to examples/PACKAGES/phonon/3-3D-FCC-Cu-EAM/map.in diff --git a/examples/USER/phonon/3-3D-FCC-Cu-EAM/pdisp.eps b/examples/PACKAGES/phonon/3-3D-FCC-Cu-EAM/pdisp.eps similarity index 100% rename from examples/USER/phonon/3-3D-FCC-Cu-EAM/pdisp.eps rename to examples/PACKAGES/phonon/3-3D-FCC-Cu-EAM/pdisp.eps diff --git a/examples/USER/phonon/3-3D-FCC-Cu-EAM/pdisp.gnuplot b/examples/PACKAGES/phonon/3-3D-FCC-Cu-EAM/pdisp.gnuplot similarity index 100% rename from examples/USER/phonon/3-3D-FCC-Cu-EAM/pdisp.gnuplot rename to examples/PACKAGES/phonon/3-3D-FCC-Cu-EAM/pdisp.gnuplot diff --git a/examples/USER/phonon/3-3D-FCC-Cu-EAM/pdos.eps b/examples/PACKAGES/phonon/3-3D-FCC-Cu-EAM/pdos.eps similarity index 100% rename from examples/USER/phonon/3-3D-FCC-Cu-EAM/pdos.eps rename to examples/PACKAGES/phonon/3-3D-FCC-Cu-EAM/pdos.eps diff --git a/examples/USER/phonon/3-3D-FCC-Cu-EAM/plot.disp b/examples/PACKAGES/phonon/3-3D-FCC-Cu-EAM/plot.disp similarity index 100% rename from examples/USER/phonon/3-3D-FCC-Cu-EAM/plot.disp rename to examples/PACKAGES/phonon/3-3D-FCC-Cu-EAM/plot.disp diff --git a/examples/USER/phonon/3-3D-FCC-Cu-EAM/plot.dos b/examples/PACKAGES/phonon/3-3D-FCC-Cu-EAM/plot.dos similarity index 100% rename from examples/USER/phonon/3-3D-FCC-Cu-EAM/plot.dos rename to examples/PACKAGES/phonon/3-3D-FCC-Cu-EAM/plot.dos diff --git a/examples/USER/phonon/4-Graphene/Graphene.bin.6000000 b/examples/PACKAGES/phonon/4-Graphene/Graphene.bin.6000000 similarity index 100% rename from examples/USER/phonon/4-Graphene/Graphene.bin.6000000 rename to examples/PACKAGES/phonon/4-Graphene/Graphene.bin.6000000 diff --git a/examples/USER/phonon/4-Graphene/Graphene.log b/examples/PACKAGES/phonon/4-Graphene/Graphene.log similarity index 100% rename from examples/USER/phonon/4-Graphene/Graphene.log rename to examples/PACKAGES/phonon/4-Graphene/Graphene.log diff --git a/examples/USER/phonon/4-Graphene/README b/examples/PACKAGES/phonon/4-Graphene/README similarity index 100% rename from examples/USER/phonon/4-Graphene/README rename to examples/PACKAGES/phonon/4-Graphene/README diff --git a/examples/USER/phonon/4-Graphene/SiC.tersoff b/examples/PACKAGES/phonon/4-Graphene/SiC.tersoff similarity index 100% rename from examples/USER/phonon/4-Graphene/SiC.tersoff rename to examples/PACKAGES/phonon/4-Graphene/SiC.tersoff diff --git a/examples/USER/phonon/4-Graphene/data.pos b/examples/PACKAGES/phonon/4-Graphene/data.pos similarity index 100% rename from examples/USER/phonon/4-Graphene/data.pos rename to examples/PACKAGES/phonon/4-Graphene/data.pos diff --git a/examples/USER/phonon/4-Graphene/in.disp b/examples/PACKAGES/phonon/4-Graphene/in.disp similarity index 100% rename from examples/USER/phonon/4-Graphene/in.disp rename to examples/PACKAGES/phonon/4-Graphene/in.disp diff --git a/examples/USER/phonon/4-Graphene/in.graphene b/examples/PACKAGES/phonon/4-Graphene/in.graphene similarity index 100% rename from examples/USER/phonon/4-Graphene/in.graphene rename to examples/PACKAGES/phonon/4-Graphene/in.graphene diff --git a/examples/USER/phonon/4-Graphene/map.in b/examples/PACKAGES/phonon/4-Graphene/map.in similarity index 100% rename from examples/USER/phonon/4-Graphene/map.in rename to examples/PACKAGES/phonon/4-Graphene/map.in diff --git a/examples/USER/phonon/4-Graphene/pdisp.dat b/examples/PACKAGES/phonon/4-Graphene/pdisp.dat similarity index 100% rename from examples/USER/phonon/4-Graphene/pdisp.dat rename to examples/PACKAGES/phonon/4-Graphene/pdisp.dat diff --git a/examples/USER/phonon/4-Graphene/pdisp.eps b/examples/PACKAGES/phonon/4-Graphene/pdisp.eps similarity index 100% rename from examples/USER/phonon/4-Graphene/pdisp.eps rename to examples/PACKAGES/phonon/4-Graphene/pdisp.eps diff --git a/examples/USER/phonon/4-Graphene/pdisp.gnuplot b/examples/PACKAGES/phonon/4-Graphene/pdisp.gnuplot similarity index 100% rename from examples/USER/phonon/4-Graphene/pdisp.gnuplot rename to examples/PACKAGES/phonon/4-Graphene/pdisp.gnuplot diff --git a/examples/USER/phonon/4-Graphene/plot.disp b/examples/PACKAGES/phonon/4-Graphene/plot.disp similarity index 100% rename from examples/USER/phonon/4-Graphene/plot.disp rename to examples/PACKAGES/phonon/4-Graphene/plot.disp diff --git a/examples/USER/phonon/dynamical_matrix_command/Silicon/README.md b/examples/PACKAGES/phonon/dynamical_matrix_command/Silicon/README.md similarity index 100% rename from examples/USER/phonon/dynamical_matrix_command/Silicon/README.md rename to examples/PACKAGES/phonon/dynamical_matrix_command/Silicon/README.md diff --git a/examples/USER/phonon/dynamical_matrix_command/Silicon/SiCGe.tersoff b/examples/PACKAGES/phonon/dynamical_matrix_command/Silicon/SiCGe.tersoff similarity index 100% rename from examples/USER/phonon/dynamical_matrix_command/Silicon/SiCGe.tersoff rename to examples/PACKAGES/phonon/dynamical_matrix_command/Silicon/SiCGe.tersoff diff --git a/examples/USER/phonon/dynamical_matrix_command/Silicon/ff-silicon.lmp b/examples/PACKAGES/phonon/dynamical_matrix_command/Silicon/ff-silicon.lmp similarity index 100% rename from examples/USER/phonon/dynamical_matrix_command/Silicon/ff-silicon.lmp rename to examples/PACKAGES/phonon/dynamical_matrix_command/Silicon/ff-silicon.lmp diff --git a/examples/USER/phonon/dynamical_matrix_command/Silicon/in.silicon b/examples/PACKAGES/phonon/dynamical_matrix_command/Silicon/in.silicon similarity index 100% rename from examples/USER/phonon/dynamical_matrix_command/Silicon/in.silicon rename to examples/PACKAGES/phonon/dynamical_matrix_command/Silicon/in.silicon diff --git a/examples/USER/phonon/dynamical_matrix_command/Silicon/lmp_bank/amorphous_silicon.lmp b/examples/PACKAGES/phonon/dynamical_matrix_command/Silicon/lmp_bank/amorphous_silicon.lmp similarity index 100% rename from examples/USER/phonon/dynamical_matrix_command/Silicon/lmp_bank/amorphous_silicon.lmp rename to examples/PACKAGES/phonon/dynamical_matrix_command/Silicon/lmp_bank/amorphous_silicon.lmp diff --git a/examples/USER/phonon/dynamical_matrix_command/Silicon/lmp_bank/silicon_216.lmp b/examples/PACKAGES/phonon/dynamical_matrix_command/Silicon/lmp_bank/silicon_216.lmp similarity index 100% rename from examples/USER/phonon/dynamical_matrix_command/Silicon/lmp_bank/silicon_216.lmp rename to examples/PACKAGES/phonon/dynamical_matrix_command/Silicon/lmp_bank/silicon_216.lmp diff --git a/examples/USER/phonon/dynamical_matrix_command/Silicon/lmp_bank/silicon_512.lmp b/examples/PACKAGES/phonon/dynamical_matrix_command/Silicon/lmp_bank/silicon_512.lmp similarity index 100% rename from examples/USER/phonon/dynamical_matrix_command/Silicon/lmp_bank/silicon_512.lmp rename to examples/PACKAGES/phonon/dynamical_matrix_command/Silicon/lmp_bank/silicon_512.lmp diff --git a/examples/USER/phonon/dynamical_matrix_command/Silicon/lmp_bank/silicon_8.lmp b/examples/PACKAGES/phonon/dynamical_matrix_command/Silicon/lmp_bank/silicon_8.lmp similarity index 100% rename from examples/USER/phonon/dynamical_matrix_command/Silicon/lmp_bank/silicon_8.lmp rename to examples/PACKAGES/phonon/dynamical_matrix_command/Silicon/lmp_bank/silicon_8.lmp diff --git a/examples/USER/phonon/dynamical_matrix_command/Silicon/results/dynmat.dat b/examples/PACKAGES/phonon/dynamical_matrix_command/Silicon/results/dynmat.dat similarity index 100% rename from examples/USER/phonon/dynamical_matrix_command/Silicon/results/dynmat.dat rename to examples/PACKAGES/phonon/dynamical_matrix_command/Silicon/results/dynmat.dat diff --git a/examples/USER/phonon/dynamical_matrix_command/Silicon/results/out.silicon b/examples/PACKAGES/phonon/dynamical_matrix_command/Silicon/results/out.silicon similarity index 100% rename from examples/USER/phonon/dynamical_matrix_command/Silicon/results/out.silicon rename to examples/PACKAGES/phonon/dynamical_matrix_command/Silicon/results/out.silicon diff --git a/examples/USER/phonon/dynamical_matrix_command/Silicon/silicon_input_file.lmp b/examples/PACKAGES/phonon/dynamical_matrix_command/Silicon/silicon_input_file.lmp similarity index 100% rename from examples/USER/phonon/dynamical_matrix_command/Silicon/silicon_input_file.lmp rename to examples/PACKAGES/phonon/dynamical_matrix_command/Silicon/silicon_input_file.lmp diff --git a/examples/USER/phonon/dynamical_matrix_command/python/README.md b/examples/PACKAGES/phonon/dynamical_matrix_command/python/README.md similarity index 100% rename from examples/USER/phonon/dynamical_matrix_command/python/README.md rename to examples/PACKAGES/phonon/dynamical_matrix_command/python/README.md diff --git a/examples/USER/phonon/dynamical_matrix_command/python/SiCGe.tersoff b/examples/PACKAGES/phonon/dynamical_matrix_command/python/SiCGe.tersoff similarity index 100% rename from examples/USER/phonon/dynamical_matrix_command/python/SiCGe.tersoff rename to examples/PACKAGES/phonon/dynamical_matrix_command/python/SiCGe.tersoff diff --git a/examples/USER/phonon/dynamical_matrix_command/python/dynmat.py b/examples/PACKAGES/phonon/dynamical_matrix_command/python/dynmat.py similarity index 100% rename from examples/USER/phonon/dynamical_matrix_command/python/dynmat.py rename to examples/PACKAGES/phonon/dynamical_matrix_command/python/dynmat.py diff --git a/examples/USER/phonon/dynamical_matrix_command/python/ff-silicon.lmp b/examples/PACKAGES/phonon/dynamical_matrix_command/python/ff-silicon.lmp similarity index 100% rename from examples/USER/phonon/dynamical_matrix_command/python/ff-silicon.lmp rename to examples/PACKAGES/phonon/dynamical_matrix_command/python/ff-silicon.lmp diff --git a/examples/USER/phonon/dynamical_matrix_command/python/results/dynmat.dat b/examples/PACKAGES/phonon/dynamical_matrix_command/python/results/dynmat.dat similarity index 100% rename from examples/USER/phonon/dynamical_matrix_command/python/results/dynmat.dat rename to examples/PACKAGES/phonon/dynamical_matrix_command/python/results/dynmat.dat diff --git a/examples/USER/phonon/dynamical_matrix_command/python/results/out.dynamt b/examples/PACKAGES/phonon/dynamical_matrix_command/python/results/out.dynamt similarity index 100% rename from examples/USER/phonon/dynamical_matrix_command/python/results/out.dynamt rename to examples/PACKAGES/phonon/dynamical_matrix_command/python/results/out.dynamt diff --git a/examples/USER/phonon/dynamical_matrix_command/python/silicon_input_file.lmp b/examples/PACKAGES/phonon/dynamical_matrix_command/python/silicon_input_file.lmp similarity index 100% rename from examples/USER/phonon/dynamical_matrix_command/python/silicon_input_file.lmp rename to examples/PACKAGES/phonon/dynamical_matrix_command/python/silicon_input_file.lmp diff --git a/examples/USER/plumed/data.peptide b/examples/PACKAGES/plumed/data.peptide similarity index 100% rename from examples/USER/plumed/data.peptide rename to examples/PACKAGES/plumed/data.peptide diff --git a/examples/USER/plumed/in.peptide-plumed b/examples/PACKAGES/plumed/in.peptide-plumed similarity index 100% rename from examples/USER/plumed/in.peptide-plumed rename to examples/PACKAGES/plumed/in.peptide-plumed diff --git a/examples/USER/plumed/log.4Feb20.peptide-plumed.g++.1 b/examples/PACKAGES/plumed/log.4Feb20.peptide-plumed.g++.1 similarity index 100% rename from examples/USER/plumed/log.4Feb20.peptide-plumed.g++.1 rename to examples/PACKAGES/plumed/log.4Feb20.peptide-plumed.g++.1 diff --git a/examples/USER/plumed/log.4Feb20.peptide-plumed.g++.4 b/examples/PACKAGES/plumed/log.4Feb20.peptide-plumed.g++.4 similarity index 100% rename from examples/USER/plumed/log.4Feb20.peptide-plumed.g++.4 rename to examples/PACKAGES/plumed/log.4Feb20.peptide-plumed.g++.4 diff --git a/examples/USER/plumed/plumed.dat b/examples/PACKAGES/plumed/plumed.dat similarity index 100% rename from examples/USER/plumed/plumed.dat rename to examples/PACKAGES/plumed/plumed.dat diff --git a/examples/USER/plumed/reference/colvar b/examples/PACKAGES/plumed/reference/colvar similarity index 100% rename from examples/USER/plumed/reference/colvar rename to examples/PACKAGES/plumed/reference/colvar diff --git a/examples/USER/plumed/reference/p.log b/examples/PACKAGES/plumed/reference/p.log similarity index 100% rename from examples/USER/plumed/reference/p.log rename to examples/PACKAGES/plumed/reference/p.log diff --git a/examples/USER/ptm/ptm_example.in b/examples/PACKAGES/ptm/ptm_example.in similarity index 100% rename from examples/USER/ptm/ptm_example.in rename to examples/PACKAGES/ptm/ptm_example.in diff --git a/examples/USER/qtb/README b/examples/PACKAGES/qtb/README similarity index 100% rename from examples/USER/qtb/README rename to examples/PACKAGES/qtb/README diff --git a/examples/USER/qtb/alpha_quartz_qbmsst/alpha_quartz_potential.mod b/examples/PACKAGES/qtb/alpha_quartz_qbmsst/alpha_quartz_potential.mod similarity index 100% rename from examples/USER/qtb/alpha_quartz_qbmsst/alpha_quartz_potential.mod rename to examples/PACKAGES/qtb/alpha_quartz_qbmsst/alpha_quartz_potential.mod diff --git a/examples/USER/qtb/alpha_quartz_qbmsst/alpha_quartz_qtb.mod b/examples/PACKAGES/qtb/alpha_quartz_qbmsst/alpha_quartz_qtb.mod similarity index 100% rename from examples/USER/qtb/alpha_quartz_qbmsst/alpha_quartz_qtb.mod rename to examples/PACKAGES/qtb/alpha_quartz_qbmsst/alpha_quartz_qtb.mod diff --git a/examples/USER/qtb/alpha_quartz_qbmsst/in.alpha_quartz_qbmsst b/examples/PACKAGES/qtb/alpha_quartz_qbmsst/in.alpha_quartz_qbmsst similarity index 100% rename from examples/USER/qtb/alpha_quartz_qbmsst/in.alpha_quartz_qbmsst rename to examples/PACKAGES/qtb/alpha_quartz_qbmsst/in.alpha_quartz_qbmsst diff --git a/examples/USER/qtb/alpha_quartz_qbmsst/log.09Feb21.alpha_quartz_qbmsst.g++.1 b/examples/PACKAGES/qtb/alpha_quartz_qbmsst/log.09Feb21.alpha_quartz_qbmsst.g++.1 similarity index 100% rename from examples/USER/qtb/alpha_quartz_qbmsst/log.09Feb21.alpha_quartz_qbmsst.g++.1 rename to examples/PACKAGES/qtb/alpha_quartz_qbmsst/log.09Feb21.alpha_quartz_qbmsst.g++.1 diff --git a/examples/USER/qtb/alpha_quartz_qbmsst/log.09Feb21.alpha_quartz_qbmsst.g++.4 b/examples/PACKAGES/qtb/alpha_quartz_qbmsst/log.09Feb21.alpha_quartz_qbmsst.g++.4 similarity index 100% rename from examples/USER/qtb/alpha_quartz_qbmsst/log.09Feb21.alpha_quartz_qbmsst.g++.4 rename to examples/PACKAGES/qtb/alpha_quartz_qbmsst/log.09Feb21.alpha_quartz_qbmsst.g++.4 diff --git a/examples/USER/qtb/alpha_quartz_qbmsst/potential_SiO2.TPF b/examples/PACKAGES/qtb/alpha_quartz_qbmsst/potential_SiO2.TPF similarity index 100% rename from examples/USER/qtb/alpha_quartz_qbmsst/potential_SiO2.TPF rename to examples/PACKAGES/qtb/alpha_quartz_qbmsst/potential_SiO2.TPF diff --git a/examples/USER/qtb/alpha_quartz_qtb/in.alpha_quartz_qtb b/examples/PACKAGES/qtb/alpha_quartz_qtb/in.alpha_quartz_qtb similarity index 100% rename from examples/USER/qtb/alpha_quartz_qtb/in.alpha_quartz_qtb rename to examples/PACKAGES/qtb/alpha_quartz_qtb/in.alpha_quartz_qtb diff --git a/examples/USER/qtb/alpha_quartz_qtb/log.15Jun20.alpha_quartz_qtb.g++.1 b/examples/PACKAGES/qtb/alpha_quartz_qtb/log.15Jun20.alpha_quartz_qtb.g++.1 similarity index 100% rename from examples/USER/qtb/alpha_quartz_qtb/log.15Jun20.alpha_quartz_qtb.g++.1 rename to examples/PACKAGES/qtb/alpha_quartz_qtb/log.15Jun20.alpha_quartz_qtb.g++.1 diff --git a/examples/USER/qtb/alpha_quartz_qtb/log.15Jun20.alpha_quartz_qtb.g++.4 b/examples/PACKAGES/qtb/alpha_quartz_qtb/log.15Jun20.alpha_quartz_qtb.g++.4 similarity index 100% rename from examples/USER/qtb/alpha_quartz_qtb/log.15Jun20.alpha_quartz_qtb.g++.4 rename to examples/PACKAGES/qtb/alpha_quartz_qtb/log.15Jun20.alpha_quartz_qtb.g++.4 diff --git a/examples/USER/qtb/methane_qbmsst/ffield.reax b/examples/PACKAGES/qtb/methane_qbmsst/ffield.reax similarity index 100% rename from examples/USER/qtb/methane_qbmsst/ffield.reax rename to examples/PACKAGES/qtb/methane_qbmsst/ffield.reax diff --git a/examples/USER/qtb/methane_qbmsst/methane_qbmsst.in b/examples/PACKAGES/qtb/methane_qbmsst/methane_qbmsst.in similarity index 100% rename from examples/USER/qtb/methane_qbmsst/methane_qbmsst.in rename to examples/PACKAGES/qtb/methane_qbmsst/methane_qbmsst.in diff --git a/examples/USER/qtb/methane_qbmsst/methane_qtb.mod b/examples/PACKAGES/qtb/methane_qbmsst/methane_qtb.mod similarity index 100% rename from examples/USER/qtb/methane_qbmsst/methane_qtb.mod rename to examples/PACKAGES/qtb/methane_qbmsst/methane_qtb.mod diff --git a/examples/USER/qtb/methane_qtb/ffield.reax b/examples/PACKAGES/qtb/methane_qtb/ffield.reax similarity index 100% rename from examples/USER/qtb/methane_qtb/ffield.reax rename to examples/PACKAGES/qtb/methane_qtb/ffield.reax diff --git a/examples/USER/qtb/methane_qtb/methane_qtb.in b/examples/PACKAGES/qtb/methane_qtb/methane_qtb.in similarity index 100% rename from examples/USER/qtb/methane_qtb/methane_qtb.in rename to examples/PACKAGES/qtb/methane_qtb/methane_qtb.in diff --git a/examples/USER/quip/data_gap b/examples/PACKAGES/quip/data_gap similarity index 100% rename from examples/USER/quip/data_gap rename to examples/PACKAGES/quip/data_gap diff --git a/examples/USER/quip/data_sw b/examples/PACKAGES/quip/data_sw similarity index 100% rename from examples/USER/quip/data_sw rename to examples/PACKAGES/quip/data_sw diff --git a/examples/USER/quip/gap_example.xml b/examples/PACKAGES/quip/gap_example.xml similarity index 100% rename from examples/USER/quip/gap_example.xml rename to examples/PACKAGES/quip/gap_example.xml diff --git a/examples/USER/quip/gap_example_sparse.dat b/examples/PACKAGES/quip/gap_example_sparse.dat similarity index 100% rename from examples/USER/quip/gap_example_sparse.dat rename to examples/PACKAGES/quip/gap_example_sparse.dat diff --git a/examples/USER/quip/in.gap b/examples/PACKAGES/quip/in.gap similarity index 100% rename from examples/USER/quip/in.gap rename to examples/PACKAGES/quip/in.gap diff --git a/examples/USER/quip/in.molecular b/examples/PACKAGES/quip/in.molecular similarity index 100% rename from examples/USER/quip/in.molecular rename to examples/PACKAGES/quip/in.molecular diff --git a/examples/USER/quip/in.sw b/examples/PACKAGES/quip/in.sw similarity index 100% rename from examples/USER/quip/in.sw rename to examples/PACKAGES/quip/in.sw diff --git a/examples/USER/quip/log.24Jul17.gap.g++.1 b/examples/PACKAGES/quip/log.24Jul17.gap.g++.1 similarity index 100% rename from examples/USER/quip/log.24Jul17.gap.g++.1 rename to examples/PACKAGES/quip/log.24Jul17.gap.g++.1 diff --git a/examples/USER/quip/log.24Jul17.gap.g++.4 b/examples/PACKAGES/quip/log.24Jul17.gap.g++.4 similarity index 100% rename from examples/USER/quip/log.24Jul17.gap.g++.4 rename to examples/PACKAGES/quip/log.24Jul17.gap.g++.4 diff --git a/examples/USER/quip/log.24Jul17.molecular.g++.1 b/examples/PACKAGES/quip/log.24Jul17.molecular.g++.1 similarity index 100% rename from examples/USER/quip/log.24Jul17.molecular.g++.1 rename to examples/PACKAGES/quip/log.24Jul17.molecular.g++.1 diff --git a/examples/USER/quip/log.24Jul17.molecular.g++.4 b/examples/PACKAGES/quip/log.24Jul17.molecular.g++.4 similarity index 100% rename from examples/USER/quip/log.24Jul17.molecular.g++.4 rename to examples/PACKAGES/quip/log.24Jul17.molecular.g++.4 diff --git a/examples/USER/quip/log.24Jul17.sw.g++.1 b/examples/PACKAGES/quip/log.24Jul17.sw.g++.1 similarity index 100% rename from examples/USER/quip/log.24Jul17.sw.g++.1 rename to examples/PACKAGES/quip/log.24Jul17.sw.g++.1 diff --git a/examples/USER/quip/log.24Jul17.sw.g++.4 b/examples/PACKAGES/quip/log.24Jul17.sw.g++.4 similarity index 100% rename from examples/USER/quip/log.24Jul17.sw.g++.4 rename to examples/PACKAGES/quip/log.24Jul17.sw.g++.4 diff --git a/examples/USER/quip/methane-box-8.data b/examples/PACKAGES/quip/methane-box-8.data similarity index 100% rename from examples/USER/quip/methane-box-8.data rename to examples/PACKAGES/quip/methane-box-8.data diff --git a/examples/USER/quip/out.molecular b/examples/PACKAGES/quip/out.molecular similarity index 100% rename from examples/USER/quip/out.molecular rename to examples/PACKAGES/quip/out.molecular diff --git a/examples/USER/quip/sw_example.xml b/examples/PACKAGES/quip/sw_example.xml similarity index 100% rename from examples/USER/quip/sw_example.xml rename to examples/PACKAGES/quip/sw_example.xml diff --git a/examples/USER/rann/in.rann b/examples/PACKAGES/rann/in.rann similarity index 100% rename from examples/USER/rann/in.rann rename to examples/PACKAGES/rann/in.rann diff --git a/examples/USER/rann/log.22Jun21.rann.g++.1 b/examples/PACKAGES/rann/log.22Jun21.rann.g++.1 similarity index 100% rename from examples/USER/rann/log.22Jun21.rann.g++.1 rename to examples/PACKAGES/rann/log.22Jun21.rann.g++.1 diff --git a/examples/USER/rann/log.22Jun21.rann.g++.4 b/examples/PACKAGES/rann/log.22Jun21.rann.g++.4 similarity index 100% rename from examples/USER/rann/log.22Jun21.rann.g++.4 rename to examples/PACKAGES/rann/log.22Jun21.rann.g++.4 diff --git a/examples/USER/reaction/create_atoms_polystyrene/grow_styrene.map b/examples/PACKAGES/reaction/create_atoms_polystyrene/grow_styrene.map similarity index 100% rename from examples/USER/reaction/create_atoms_polystyrene/grow_styrene.map rename to examples/PACKAGES/reaction/create_atoms_polystyrene/grow_styrene.map diff --git a/examples/USER/reaction/create_atoms_polystyrene/grow_styrene_post.data_template b/examples/PACKAGES/reaction/create_atoms_polystyrene/grow_styrene_post.data_template similarity index 100% rename from examples/USER/reaction/create_atoms_polystyrene/grow_styrene_post.data_template rename to examples/PACKAGES/reaction/create_atoms_polystyrene/grow_styrene_post.data_template diff --git a/examples/USER/reaction/create_atoms_polystyrene/grow_styrene_pre.data_template b/examples/PACKAGES/reaction/create_atoms_polystyrene/grow_styrene_pre.data_template similarity index 100% rename from examples/USER/reaction/create_atoms_polystyrene/grow_styrene_pre.data_template rename to examples/PACKAGES/reaction/create_atoms_polystyrene/grow_styrene_pre.data_template diff --git a/examples/USER/reaction/create_atoms_polystyrene/in.grow_styrene b/examples/PACKAGES/reaction/create_atoms_polystyrene/in.grow_styrene similarity index 100% rename from examples/USER/reaction/create_atoms_polystyrene/in.grow_styrene rename to examples/PACKAGES/reaction/create_atoms_polystyrene/in.grow_styrene diff --git a/examples/USER/reaction/create_atoms_polystyrene/log.24Dec20.grow_styrene.g++.1 b/examples/PACKAGES/reaction/create_atoms_polystyrene/log.24Dec20.grow_styrene.g++.1 similarity index 100% rename from examples/USER/reaction/create_atoms_polystyrene/log.24Dec20.grow_styrene.g++.1 rename to examples/PACKAGES/reaction/create_atoms_polystyrene/log.24Dec20.grow_styrene.g++.1 diff --git a/examples/USER/reaction/create_atoms_polystyrene/log.24Dec20.grow_styrene.g++.4 b/examples/PACKAGES/reaction/create_atoms_polystyrene/log.24Dec20.grow_styrene.g++.4 similarity index 100% rename from examples/USER/reaction/create_atoms_polystyrene/log.24Dec20.grow_styrene.g++.4 rename to examples/PACKAGES/reaction/create_atoms_polystyrene/log.24Dec20.grow_styrene.g++.4 diff --git a/examples/USER/reaction/create_atoms_polystyrene/trimer.data b/examples/PACKAGES/reaction/create_atoms_polystyrene/trimer.data similarity index 100% rename from examples/USER/reaction/create_atoms_polystyrene/trimer.data rename to examples/PACKAGES/reaction/create_atoms_polystyrene/trimer.data diff --git a/examples/USER/reaction/nylon,6-6_melt/in.large_nylon_melt b/examples/PACKAGES/reaction/nylon,6-6_melt/in.large_nylon_melt similarity index 100% rename from examples/USER/reaction/nylon,6-6_melt/in.large_nylon_melt rename to examples/PACKAGES/reaction/nylon,6-6_melt/in.large_nylon_melt diff --git a/examples/USER/reaction/nylon,6-6_melt/large_nylon_melt.data.gz b/examples/PACKAGES/reaction/nylon,6-6_melt/large_nylon_melt.data.gz similarity index 100% rename from examples/USER/reaction/nylon,6-6_melt/large_nylon_melt.data.gz rename to examples/PACKAGES/reaction/nylon,6-6_melt/large_nylon_melt.data.gz diff --git a/examples/USER/reaction/nylon,6-6_melt/log.20Apr18.large_nylon_melt.g++.1 b/examples/PACKAGES/reaction/nylon,6-6_melt/log.20Apr18.large_nylon_melt.g++.1 similarity index 100% rename from examples/USER/reaction/nylon,6-6_melt/log.20Apr18.large_nylon_melt.g++.1 rename to examples/PACKAGES/reaction/nylon,6-6_melt/log.20Apr18.large_nylon_melt.g++.1 diff --git a/examples/USER/reaction/nylon,6-6_melt/log.20Apr18.large_nylon_melt.g++.4 b/examples/PACKAGES/reaction/nylon,6-6_melt/log.20Apr18.large_nylon_melt.g++.4 similarity index 100% rename from examples/USER/reaction/nylon,6-6_melt/log.20Apr18.large_nylon_melt.g++.4 rename to examples/PACKAGES/reaction/nylon,6-6_melt/log.20Apr18.large_nylon_melt.g++.4 diff --git a/examples/USER/reaction/nylon,6-6_melt/rxn1_stp1_map b/examples/PACKAGES/reaction/nylon,6-6_melt/rxn1_stp1_map similarity index 100% rename from examples/USER/reaction/nylon,6-6_melt/rxn1_stp1_map rename to examples/PACKAGES/reaction/nylon,6-6_melt/rxn1_stp1_map diff --git a/examples/USER/reaction/nylon,6-6_melt/rxn1_stp1_reacted.data_template b/examples/PACKAGES/reaction/nylon,6-6_melt/rxn1_stp1_reacted.data_template similarity index 100% rename from examples/USER/reaction/nylon,6-6_melt/rxn1_stp1_reacted.data_template rename to examples/PACKAGES/reaction/nylon,6-6_melt/rxn1_stp1_reacted.data_template diff --git a/examples/USER/reaction/nylon,6-6_melt/rxn1_stp1_unreacted.data_template b/examples/PACKAGES/reaction/nylon,6-6_melt/rxn1_stp1_unreacted.data_template similarity index 100% rename from examples/USER/reaction/nylon,6-6_melt/rxn1_stp1_unreacted.data_template rename to examples/PACKAGES/reaction/nylon,6-6_melt/rxn1_stp1_unreacted.data_template diff --git a/examples/USER/reaction/nylon,6-6_melt/rxn1_stp2_map b/examples/PACKAGES/reaction/nylon,6-6_melt/rxn1_stp2_map similarity index 100% rename from examples/USER/reaction/nylon,6-6_melt/rxn1_stp2_map rename to examples/PACKAGES/reaction/nylon,6-6_melt/rxn1_stp2_map diff --git a/examples/USER/reaction/nylon,6-6_melt/rxn1_stp2_reacted.data_template b/examples/PACKAGES/reaction/nylon,6-6_melt/rxn1_stp2_reacted.data_template similarity index 100% rename from examples/USER/reaction/nylon,6-6_melt/rxn1_stp2_reacted.data_template rename to examples/PACKAGES/reaction/nylon,6-6_melt/rxn1_stp2_reacted.data_template diff --git a/examples/USER/reaction/nylon,6-6_melt/rxn1_stp2_unreacted.data_template b/examples/PACKAGES/reaction/nylon,6-6_melt/rxn1_stp2_unreacted.data_template similarity index 100% rename from examples/USER/reaction/nylon,6-6_melt/rxn1_stp2_unreacted.data_template rename to examples/PACKAGES/reaction/nylon,6-6_melt/rxn1_stp2_unreacted.data_template diff --git a/examples/USER/reaction/tiny_epoxy/in.tiny_epoxy.stabilized b/examples/PACKAGES/reaction/tiny_epoxy/in.tiny_epoxy.stabilized similarity index 100% rename from examples/USER/reaction/tiny_epoxy/in.tiny_epoxy.stabilized rename to examples/PACKAGES/reaction/tiny_epoxy/in.tiny_epoxy.stabilized diff --git a/examples/USER/reaction/tiny_epoxy/log.20Nov19.tiny_epoxy.stabilized.g++.1 b/examples/PACKAGES/reaction/tiny_epoxy/log.20Nov19.tiny_epoxy.stabilized.g++.1 similarity index 100% rename from examples/USER/reaction/tiny_epoxy/log.20Nov19.tiny_epoxy.stabilized.g++.1 rename to examples/PACKAGES/reaction/tiny_epoxy/log.20Nov19.tiny_epoxy.stabilized.g++.1 diff --git a/examples/USER/reaction/tiny_epoxy/log.20Nov19.tiny_epoxy.stabilized.g++.4 b/examples/PACKAGES/reaction/tiny_epoxy/log.20Nov19.tiny_epoxy.stabilized.g++.4 similarity index 100% rename from examples/USER/reaction/tiny_epoxy/log.20Nov19.tiny_epoxy.stabilized.g++.4 rename to examples/PACKAGES/reaction/tiny_epoxy/log.20Nov19.tiny_epoxy.stabilized.g++.4 diff --git a/examples/USER/reaction/tiny_epoxy/rxn1_stp1.map b/examples/PACKAGES/reaction/tiny_epoxy/rxn1_stp1.map similarity index 100% rename from examples/USER/reaction/tiny_epoxy/rxn1_stp1.map rename to examples/PACKAGES/reaction/tiny_epoxy/rxn1_stp1.map diff --git a/examples/USER/reaction/tiny_epoxy/rxn1_stp1_post.data_template b/examples/PACKAGES/reaction/tiny_epoxy/rxn1_stp1_post.data_template similarity index 100% rename from examples/USER/reaction/tiny_epoxy/rxn1_stp1_post.data_template rename to examples/PACKAGES/reaction/tiny_epoxy/rxn1_stp1_post.data_template diff --git a/examples/USER/reaction/tiny_epoxy/rxn1_stp1_pre.data_template b/examples/PACKAGES/reaction/tiny_epoxy/rxn1_stp1_pre.data_template similarity index 100% rename from examples/USER/reaction/tiny_epoxy/rxn1_stp1_pre.data_template rename to examples/PACKAGES/reaction/tiny_epoxy/rxn1_stp1_pre.data_template diff --git a/examples/USER/reaction/tiny_epoxy/rxn1_stp2.map b/examples/PACKAGES/reaction/tiny_epoxy/rxn1_stp2.map similarity index 100% rename from examples/USER/reaction/tiny_epoxy/rxn1_stp2.map rename to examples/PACKAGES/reaction/tiny_epoxy/rxn1_stp2.map diff --git a/examples/USER/reaction/tiny_epoxy/rxn1_stp2_post.data_template b/examples/PACKAGES/reaction/tiny_epoxy/rxn1_stp2_post.data_template similarity index 100% rename from examples/USER/reaction/tiny_epoxy/rxn1_stp2_post.data_template rename to examples/PACKAGES/reaction/tiny_epoxy/rxn1_stp2_post.data_template diff --git a/examples/USER/reaction/tiny_epoxy/rxn2_stp1.map b/examples/PACKAGES/reaction/tiny_epoxy/rxn2_stp1.map similarity index 100% rename from examples/USER/reaction/tiny_epoxy/rxn2_stp1.map rename to examples/PACKAGES/reaction/tiny_epoxy/rxn2_stp1.map diff --git a/examples/USER/reaction/tiny_epoxy/rxn2_stp1_post.data_template b/examples/PACKAGES/reaction/tiny_epoxy/rxn2_stp1_post.data_template similarity index 100% rename from examples/USER/reaction/tiny_epoxy/rxn2_stp1_post.data_template rename to examples/PACKAGES/reaction/tiny_epoxy/rxn2_stp1_post.data_template diff --git a/examples/USER/reaction/tiny_epoxy/rxn2_stp1_pre.data_template b/examples/PACKAGES/reaction/tiny_epoxy/rxn2_stp1_pre.data_template similarity index 100% rename from examples/USER/reaction/tiny_epoxy/rxn2_stp1_pre.data_template rename to examples/PACKAGES/reaction/tiny_epoxy/rxn2_stp1_pre.data_template diff --git a/examples/USER/reaction/tiny_epoxy/rxn2_stp2.map b/examples/PACKAGES/reaction/tiny_epoxy/rxn2_stp2.map similarity index 100% rename from examples/USER/reaction/tiny_epoxy/rxn2_stp2.map rename to examples/PACKAGES/reaction/tiny_epoxy/rxn2_stp2.map diff --git a/examples/USER/reaction/tiny_epoxy/rxn2_stp2_post.data_template b/examples/PACKAGES/reaction/tiny_epoxy/rxn2_stp2_post.data_template similarity index 100% rename from examples/USER/reaction/tiny_epoxy/rxn2_stp2_post.data_template rename to examples/PACKAGES/reaction/tiny_epoxy/rxn2_stp2_post.data_template diff --git a/examples/USER/reaction/tiny_epoxy/tiny_epoxy.data b/examples/PACKAGES/reaction/tiny_epoxy/tiny_epoxy.data similarity index 100% rename from examples/USER/reaction/tiny_epoxy/tiny_epoxy.data rename to examples/PACKAGES/reaction/tiny_epoxy/tiny_epoxy.data diff --git a/examples/USER/reaction/tiny_nylon/in.tiny_nylon.stabilized b/examples/PACKAGES/reaction/tiny_nylon/in.tiny_nylon.stabilized similarity index 100% rename from examples/USER/reaction/tiny_nylon/in.tiny_nylon.stabilized rename to examples/PACKAGES/reaction/tiny_nylon/in.tiny_nylon.stabilized diff --git a/examples/USER/reaction/tiny_nylon/in.tiny_nylon.stabilized_variable_probability b/examples/PACKAGES/reaction/tiny_nylon/in.tiny_nylon.stabilized_variable_probability similarity index 100% rename from examples/USER/reaction/tiny_nylon/in.tiny_nylon.stabilized_variable_probability rename to examples/PACKAGES/reaction/tiny_nylon/in.tiny_nylon.stabilized_variable_probability diff --git a/examples/USER/reaction/tiny_nylon/in.tiny_nylon.unstabilized b/examples/PACKAGES/reaction/tiny_nylon/in.tiny_nylon.unstabilized similarity index 100% rename from examples/USER/reaction/tiny_nylon/in.tiny_nylon.unstabilized rename to examples/PACKAGES/reaction/tiny_nylon/in.tiny_nylon.unstabilized diff --git a/examples/USER/reaction/tiny_nylon/log.22Apr20.tiny_nylon.stabilized_variable_probability.g++.1 b/examples/PACKAGES/reaction/tiny_nylon/log.22Apr20.tiny_nylon.stabilized_variable_probability.g++.1 similarity index 100% rename from examples/USER/reaction/tiny_nylon/log.22Apr20.tiny_nylon.stabilized_variable_probability.g++.1 rename to examples/PACKAGES/reaction/tiny_nylon/log.22Apr20.tiny_nylon.stabilized_variable_probability.g++.1 diff --git a/examples/USER/reaction/tiny_nylon/log.22Apr20.tiny_nylon.stabilized_variable_probability.g++.4 b/examples/PACKAGES/reaction/tiny_nylon/log.22Apr20.tiny_nylon.stabilized_variable_probability.g++.4 similarity index 100% rename from examples/USER/reaction/tiny_nylon/log.22Apr20.tiny_nylon.stabilized_variable_probability.g++.4 rename to examples/PACKAGES/reaction/tiny_nylon/log.22Apr20.tiny_nylon.stabilized_variable_probability.g++.4 diff --git a/examples/USER/reaction/tiny_nylon/log.5Jun19.tiny_nylon.stabilized.g++.1 b/examples/PACKAGES/reaction/tiny_nylon/log.5Jun19.tiny_nylon.stabilized.g++.1 similarity index 100% rename from examples/USER/reaction/tiny_nylon/log.5Jun19.tiny_nylon.stabilized.g++.1 rename to examples/PACKAGES/reaction/tiny_nylon/log.5Jun19.tiny_nylon.stabilized.g++.1 diff --git a/examples/USER/reaction/tiny_nylon/log.5Jun19.tiny_nylon.stabilized.g++.4 b/examples/PACKAGES/reaction/tiny_nylon/log.5Jun19.tiny_nylon.stabilized.g++.4 similarity index 100% rename from examples/USER/reaction/tiny_nylon/log.5Jun19.tiny_nylon.stabilized.g++.4 rename to examples/PACKAGES/reaction/tiny_nylon/log.5Jun19.tiny_nylon.stabilized.g++.4 diff --git a/examples/USER/reaction/tiny_nylon/log.5Jun19.tiny_nylon.unstabilized.g++.1 b/examples/PACKAGES/reaction/tiny_nylon/log.5Jun19.tiny_nylon.unstabilized.g++.1 similarity index 100% rename from examples/USER/reaction/tiny_nylon/log.5Jun19.tiny_nylon.unstabilized.g++.1 rename to examples/PACKAGES/reaction/tiny_nylon/log.5Jun19.tiny_nylon.unstabilized.g++.1 diff --git a/examples/USER/reaction/tiny_nylon/log.5Jun19.tiny_nylon.unstabilized.g++.4 b/examples/PACKAGES/reaction/tiny_nylon/log.5Jun19.tiny_nylon.unstabilized.g++.4 similarity index 100% rename from examples/USER/reaction/tiny_nylon/log.5Jun19.tiny_nylon.unstabilized.g++.4 rename to examples/PACKAGES/reaction/tiny_nylon/log.5Jun19.tiny_nylon.unstabilized.g++.4 diff --git a/examples/USER/reaction/tiny_nylon/rxn1_stp1_map b/examples/PACKAGES/reaction/tiny_nylon/rxn1_stp1_map similarity index 100% rename from examples/USER/reaction/tiny_nylon/rxn1_stp1_map rename to examples/PACKAGES/reaction/tiny_nylon/rxn1_stp1_map diff --git a/examples/USER/reaction/tiny_nylon/rxn1_stp1_reacted.data_template b/examples/PACKAGES/reaction/tiny_nylon/rxn1_stp1_reacted.data_template similarity index 100% rename from examples/USER/reaction/tiny_nylon/rxn1_stp1_reacted.data_template rename to examples/PACKAGES/reaction/tiny_nylon/rxn1_stp1_reacted.data_template diff --git a/examples/USER/reaction/tiny_nylon/rxn1_stp1_unreacted.data_template b/examples/PACKAGES/reaction/tiny_nylon/rxn1_stp1_unreacted.data_template similarity index 100% rename from examples/USER/reaction/tiny_nylon/rxn1_stp1_unreacted.data_template rename to examples/PACKAGES/reaction/tiny_nylon/rxn1_stp1_unreacted.data_template diff --git a/examples/USER/reaction/tiny_nylon/rxn1_stp2_map b/examples/PACKAGES/reaction/tiny_nylon/rxn1_stp2_map similarity index 100% rename from examples/USER/reaction/tiny_nylon/rxn1_stp2_map rename to examples/PACKAGES/reaction/tiny_nylon/rxn1_stp2_map diff --git a/examples/USER/reaction/tiny_nylon/rxn1_stp2_reacted.data_template b/examples/PACKAGES/reaction/tiny_nylon/rxn1_stp2_reacted.data_template similarity index 100% rename from examples/USER/reaction/tiny_nylon/rxn1_stp2_reacted.data_template rename to examples/PACKAGES/reaction/tiny_nylon/rxn1_stp2_reacted.data_template diff --git a/examples/USER/reaction/tiny_nylon/rxn1_stp2_unreacted.data_template b/examples/PACKAGES/reaction/tiny_nylon/rxn1_stp2_unreacted.data_template similarity index 100% rename from examples/USER/reaction/tiny_nylon/rxn1_stp2_unreacted.data_template rename to examples/PACKAGES/reaction/tiny_nylon/rxn1_stp2_unreacted.data_template diff --git a/examples/USER/reaction/tiny_nylon/tiny_nylon.data b/examples/PACKAGES/reaction/tiny_nylon/tiny_nylon.data similarity index 100% rename from examples/USER/reaction/tiny_nylon/tiny_nylon.data rename to examples/PACKAGES/reaction/tiny_nylon/tiny_nylon.data diff --git a/examples/USER/reaction/tiny_polystyrene/2styrene_map b/examples/PACKAGES/reaction/tiny_polystyrene/2styrene_map similarity index 100% rename from examples/USER/reaction/tiny_polystyrene/2styrene_map rename to examples/PACKAGES/reaction/tiny_polystyrene/2styrene_map diff --git a/examples/USER/reaction/tiny_polystyrene/2styrene_reacted.data_template b/examples/PACKAGES/reaction/tiny_polystyrene/2styrene_reacted.data_template similarity index 100% rename from examples/USER/reaction/tiny_polystyrene/2styrene_reacted.data_template rename to examples/PACKAGES/reaction/tiny_polystyrene/2styrene_reacted.data_template diff --git a/examples/USER/reaction/tiny_polystyrene/2styrene_unreacted.data_template b/examples/PACKAGES/reaction/tiny_polystyrene/2styrene_unreacted.data_template similarity index 100% rename from examples/USER/reaction/tiny_polystyrene/2styrene_unreacted.data_template rename to examples/PACKAGES/reaction/tiny_polystyrene/2styrene_unreacted.data_template diff --git a/examples/USER/reaction/tiny_polystyrene/chain_chain_map b/examples/PACKAGES/reaction/tiny_polystyrene/chain_chain_map similarity index 100% rename from examples/USER/reaction/tiny_polystyrene/chain_chain_map rename to examples/PACKAGES/reaction/tiny_polystyrene/chain_chain_map diff --git a/examples/USER/reaction/tiny_polystyrene/chain_chain_reacted.data_template b/examples/PACKAGES/reaction/tiny_polystyrene/chain_chain_reacted.data_template similarity index 100% rename from examples/USER/reaction/tiny_polystyrene/chain_chain_reacted.data_template rename to examples/PACKAGES/reaction/tiny_polystyrene/chain_chain_reacted.data_template diff --git a/examples/USER/reaction/tiny_polystyrene/chain_chain_unreacted.data_template b/examples/PACKAGES/reaction/tiny_polystyrene/chain_chain_unreacted.data_template similarity index 100% rename from examples/USER/reaction/tiny_polystyrene/chain_chain_unreacted.data_template rename to examples/PACKAGES/reaction/tiny_polystyrene/chain_chain_unreacted.data_template diff --git a/examples/USER/reaction/tiny_polystyrene/chain_plus_styrene_map b/examples/PACKAGES/reaction/tiny_polystyrene/chain_plus_styrene_map similarity index 100% rename from examples/USER/reaction/tiny_polystyrene/chain_plus_styrene_map rename to examples/PACKAGES/reaction/tiny_polystyrene/chain_plus_styrene_map diff --git a/examples/USER/reaction/tiny_polystyrene/chain_plus_styrene_reacted.data_template b/examples/PACKAGES/reaction/tiny_polystyrene/chain_plus_styrene_reacted.data_template similarity index 100% rename from examples/USER/reaction/tiny_polystyrene/chain_plus_styrene_reacted.data_template rename to examples/PACKAGES/reaction/tiny_polystyrene/chain_plus_styrene_reacted.data_template diff --git a/examples/USER/reaction/tiny_polystyrene/chain_plus_styrene_unreacted.data_template b/examples/PACKAGES/reaction/tiny_polystyrene/chain_plus_styrene_unreacted.data_template similarity index 100% rename from examples/USER/reaction/tiny_polystyrene/chain_plus_styrene_unreacted.data_template rename to examples/PACKAGES/reaction/tiny_polystyrene/chain_plus_styrene_unreacted.data_template diff --git a/examples/USER/reaction/tiny_polystyrene/in.tiny_polystyrene.stabilized b/examples/PACKAGES/reaction/tiny_polystyrene/in.tiny_polystyrene.stabilized similarity index 100% rename from examples/USER/reaction/tiny_polystyrene/in.tiny_polystyrene.stabilized rename to examples/PACKAGES/reaction/tiny_polystyrene/in.tiny_polystyrene.stabilized diff --git a/examples/USER/reaction/tiny_polystyrene/log.20Nov19.tiny_polystyrene.stabilized.g++.1 b/examples/PACKAGES/reaction/tiny_polystyrene/log.20Nov19.tiny_polystyrene.stabilized.g++.1 similarity index 100% rename from examples/USER/reaction/tiny_polystyrene/log.20Nov19.tiny_polystyrene.stabilized.g++.1 rename to examples/PACKAGES/reaction/tiny_polystyrene/log.20Nov19.tiny_polystyrene.stabilized.g++.1 diff --git a/examples/USER/reaction/tiny_polystyrene/log.20Nov19.tiny_polystyrene.stabilized.g++.4 b/examples/PACKAGES/reaction/tiny_polystyrene/log.20Nov19.tiny_polystyrene.stabilized.g++.4 similarity index 100% rename from examples/USER/reaction/tiny_polystyrene/log.20Nov19.tiny_polystyrene.stabilized.g++.4 rename to examples/PACKAGES/reaction/tiny_polystyrene/log.20Nov19.tiny_polystyrene.stabilized.g++.4 diff --git a/examples/USER/reaction/tiny_polystyrene/tiny_polystyrene.data b/examples/PACKAGES/reaction/tiny_polystyrene/tiny_polystyrene.data similarity index 100% rename from examples/USER/reaction/tiny_polystyrene/tiny_polystyrene.data rename to examples/PACKAGES/reaction/tiny_polystyrene/tiny_polystyrene.data diff --git a/examples/USER/scafacos/data.NaCl b/examples/PACKAGES/scafacos/data.NaCl similarity index 100% rename from examples/USER/scafacos/data.NaCl rename to examples/PACKAGES/scafacos/data.NaCl diff --git a/examples/USER/scafacos/data.cloud_wall b/examples/PACKAGES/scafacos/data.cloud_wall similarity index 100% rename from examples/USER/scafacos/data.cloud_wall rename to examples/PACKAGES/scafacos/data.cloud_wall diff --git a/examples/USER/scafacos/data.hammersley_sphere b/examples/PACKAGES/scafacos/data.hammersley_sphere similarity index 100% rename from examples/USER/scafacos/data.hammersley_sphere rename to examples/PACKAGES/scafacos/data.hammersley_sphere diff --git a/examples/USER/scafacos/in.scafacos b/examples/PACKAGES/scafacos/in.scafacos similarity index 100% rename from examples/USER/scafacos/in.scafacos rename to examples/PACKAGES/scafacos/in.scafacos diff --git a/examples/USER/scafacos/in.scafacos.cw.ewald b/examples/PACKAGES/scafacos/in.scafacos.cw.ewald similarity index 100% rename from examples/USER/scafacos/in.scafacos.cw.ewald rename to examples/PACKAGES/scafacos/in.scafacos.cw.ewald diff --git a/examples/USER/scafacos/in.scafacos.cw.fmm b/examples/PACKAGES/scafacos/in.scafacos.cw.fmm similarity index 100% rename from examples/USER/scafacos/in.scafacos.cw.fmm rename to examples/PACKAGES/scafacos/in.scafacos.cw.fmm diff --git a/examples/USER/scafacos/in.scafacos.cw.p2nfft b/examples/PACKAGES/scafacos/in.scafacos.cw.p2nfft similarity index 100% rename from examples/USER/scafacos/in.scafacos.cw.p2nfft rename to examples/PACKAGES/scafacos/in.scafacos.cw.p2nfft diff --git a/examples/USER/scafacos/in.scafacos.cw.p3m b/examples/PACKAGES/scafacos/in.scafacos.cw.p3m similarity index 100% rename from examples/USER/scafacos/in.scafacos.cw.p3m rename to examples/PACKAGES/scafacos/in.scafacos.cw.p3m diff --git a/examples/USER/scafacos/in.scafacos.ewald b/examples/PACKAGES/scafacos/in.scafacos.ewald similarity index 100% rename from examples/USER/scafacos/in.scafacos.ewald rename to examples/PACKAGES/scafacos/in.scafacos.ewald diff --git a/examples/USER/scafacos/in.scafacos.fmm b/examples/PACKAGES/scafacos/in.scafacos.fmm similarity index 100% rename from examples/USER/scafacos/in.scafacos.fmm rename to examples/PACKAGES/scafacos/in.scafacos.fmm diff --git a/examples/USER/scafacos/in.scafacos.hsph.direct b/examples/PACKAGES/scafacos/in.scafacos.hsph.direct similarity index 100% rename from examples/USER/scafacos/in.scafacos.hsph.direct rename to examples/PACKAGES/scafacos/in.scafacos.hsph.direct diff --git a/examples/USER/scafacos/in.scafacos.hsph.fmm b/examples/PACKAGES/scafacos/in.scafacos.hsph.fmm similarity index 100% rename from examples/USER/scafacos/in.scafacos.hsph.fmm rename to examples/PACKAGES/scafacos/in.scafacos.hsph.fmm diff --git a/examples/USER/scafacos/in.scafacos.hsph.p2nfft b/examples/PACKAGES/scafacos/in.scafacos.hsph.p2nfft similarity index 100% rename from examples/USER/scafacos/in.scafacos.hsph.p2nfft rename to examples/PACKAGES/scafacos/in.scafacos.hsph.p2nfft diff --git a/examples/USER/scafacos/in.scafacos.p2nfft b/examples/PACKAGES/scafacos/in.scafacos.p2nfft similarity index 100% rename from examples/USER/scafacos/in.scafacos.p2nfft rename to examples/PACKAGES/scafacos/in.scafacos.p2nfft diff --git a/examples/USER/scafacos/in.scafacos.p3m b/examples/PACKAGES/scafacos/in.scafacos.p3m similarity index 100% rename from examples/USER/scafacos/in.scafacos.p3m rename to examples/PACKAGES/scafacos/in.scafacos.p3m diff --git a/examples/USER/scafacos/log.27Nov18.scafacos.cw.ewald.g++.1 b/examples/PACKAGES/scafacos/log.27Nov18.scafacos.cw.ewald.g++.1 similarity index 100% rename from examples/USER/scafacos/log.27Nov18.scafacos.cw.ewald.g++.1 rename to examples/PACKAGES/scafacos/log.27Nov18.scafacos.cw.ewald.g++.1 diff --git a/examples/USER/scafacos/log.27Nov18.scafacos.cw.ewald.g++.4 b/examples/PACKAGES/scafacos/log.27Nov18.scafacos.cw.ewald.g++.4 similarity index 100% rename from examples/USER/scafacos/log.27Nov18.scafacos.cw.ewald.g++.4 rename to examples/PACKAGES/scafacos/log.27Nov18.scafacos.cw.ewald.g++.4 diff --git a/examples/USER/scafacos/log.27Nov18.scafacos.cw.fmm.g++.1 b/examples/PACKAGES/scafacos/log.27Nov18.scafacos.cw.fmm.g++.1 similarity index 100% rename from examples/USER/scafacos/log.27Nov18.scafacos.cw.fmm.g++.1 rename to examples/PACKAGES/scafacos/log.27Nov18.scafacos.cw.fmm.g++.1 diff --git a/examples/USER/scafacos/log.27Nov18.scafacos.cw.fmm.g++.4 b/examples/PACKAGES/scafacos/log.27Nov18.scafacos.cw.fmm.g++.4 similarity index 100% rename from examples/USER/scafacos/log.27Nov18.scafacos.cw.fmm.g++.4 rename to examples/PACKAGES/scafacos/log.27Nov18.scafacos.cw.fmm.g++.4 diff --git a/examples/USER/scafacos/log.27Nov18.scafacos.cw.p2nfft.g++.1 b/examples/PACKAGES/scafacos/log.27Nov18.scafacos.cw.p2nfft.g++.1 similarity index 100% rename from examples/USER/scafacos/log.27Nov18.scafacos.cw.p2nfft.g++.1 rename to examples/PACKAGES/scafacos/log.27Nov18.scafacos.cw.p2nfft.g++.1 diff --git a/examples/USER/scafacos/log.27Nov18.scafacos.cw.p2nfft.g++.4 b/examples/PACKAGES/scafacos/log.27Nov18.scafacos.cw.p2nfft.g++.4 similarity index 100% rename from examples/USER/scafacos/log.27Nov18.scafacos.cw.p2nfft.g++.4 rename to examples/PACKAGES/scafacos/log.27Nov18.scafacos.cw.p2nfft.g++.4 diff --git a/examples/USER/scafacos/log.27Nov18.scafacos.cw.p3m.g++.1 b/examples/PACKAGES/scafacos/log.27Nov18.scafacos.cw.p3m.g++.1 similarity index 100% rename from examples/USER/scafacos/log.27Nov18.scafacos.cw.p3m.g++.1 rename to examples/PACKAGES/scafacos/log.27Nov18.scafacos.cw.p3m.g++.1 diff --git a/examples/USER/scafacos/log.27Nov18.scafacos.cw.p3m.g++.4 b/examples/PACKAGES/scafacos/log.27Nov18.scafacos.cw.p3m.g++.4 similarity index 100% rename from examples/USER/scafacos/log.27Nov18.scafacos.cw.p3m.g++.4 rename to examples/PACKAGES/scafacos/log.27Nov18.scafacos.cw.p3m.g++.4 diff --git a/examples/USER/scafacos/log.27Nov18.scafacos.ewald.g++.1 b/examples/PACKAGES/scafacos/log.27Nov18.scafacos.ewald.g++.1 similarity index 100% rename from examples/USER/scafacos/log.27Nov18.scafacos.ewald.g++.1 rename to examples/PACKAGES/scafacos/log.27Nov18.scafacos.ewald.g++.1 diff --git a/examples/USER/scafacos/log.27Nov18.scafacos.ewald.g++.4 b/examples/PACKAGES/scafacos/log.27Nov18.scafacos.ewald.g++.4 similarity index 100% rename from examples/USER/scafacos/log.27Nov18.scafacos.ewald.g++.4 rename to examples/PACKAGES/scafacos/log.27Nov18.scafacos.ewald.g++.4 diff --git a/examples/USER/scafacos/log.27Nov18.scafacos.fmm.g++.1 b/examples/PACKAGES/scafacos/log.27Nov18.scafacos.fmm.g++.1 similarity index 100% rename from examples/USER/scafacos/log.27Nov18.scafacos.fmm.g++.1 rename to examples/PACKAGES/scafacos/log.27Nov18.scafacos.fmm.g++.1 diff --git a/examples/USER/scafacos/log.27Nov18.scafacos.fmm.g++.4 b/examples/PACKAGES/scafacos/log.27Nov18.scafacos.fmm.g++.4 similarity index 100% rename from examples/USER/scafacos/log.27Nov18.scafacos.fmm.g++.4 rename to examples/PACKAGES/scafacos/log.27Nov18.scafacos.fmm.g++.4 diff --git a/examples/USER/scafacos/log.27Nov18.scafacos.g++.1 b/examples/PACKAGES/scafacos/log.27Nov18.scafacos.g++.1 similarity index 100% rename from examples/USER/scafacos/log.27Nov18.scafacos.g++.1 rename to examples/PACKAGES/scafacos/log.27Nov18.scafacos.g++.1 diff --git a/examples/USER/scafacos/log.27Nov18.scafacos.g++.4 b/examples/PACKAGES/scafacos/log.27Nov18.scafacos.g++.4 similarity index 100% rename from examples/USER/scafacos/log.27Nov18.scafacos.g++.4 rename to examples/PACKAGES/scafacos/log.27Nov18.scafacos.g++.4 diff --git a/examples/USER/scafacos/log.27Nov18.scafacos.hsph.direct.g++.1 b/examples/PACKAGES/scafacos/log.27Nov18.scafacos.hsph.direct.g++.1 similarity index 100% rename from examples/USER/scafacos/log.27Nov18.scafacos.hsph.direct.g++.1 rename to examples/PACKAGES/scafacos/log.27Nov18.scafacos.hsph.direct.g++.1 diff --git a/examples/USER/scafacos/log.27Nov18.scafacos.hsph.direct.g++.4 b/examples/PACKAGES/scafacos/log.27Nov18.scafacos.hsph.direct.g++.4 similarity index 100% rename from examples/USER/scafacos/log.27Nov18.scafacos.hsph.direct.g++.4 rename to examples/PACKAGES/scafacos/log.27Nov18.scafacos.hsph.direct.g++.4 diff --git a/examples/USER/scafacos/log.27Nov18.scafacos.hsph.fmm.g++.1 b/examples/PACKAGES/scafacos/log.27Nov18.scafacos.hsph.fmm.g++.1 similarity index 100% rename from examples/USER/scafacos/log.27Nov18.scafacos.hsph.fmm.g++.1 rename to examples/PACKAGES/scafacos/log.27Nov18.scafacos.hsph.fmm.g++.1 diff --git a/examples/USER/scafacos/log.27Nov18.scafacos.hsph.fmm.g++.4 b/examples/PACKAGES/scafacos/log.27Nov18.scafacos.hsph.fmm.g++.4 similarity index 100% rename from examples/USER/scafacos/log.27Nov18.scafacos.hsph.fmm.g++.4 rename to examples/PACKAGES/scafacos/log.27Nov18.scafacos.hsph.fmm.g++.4 diff --git a/examples/USER/scafacos/log.27Nov18.scafacos.hsph.p2nfft.g++.1 b/examples/PACKAGES/scafacos/log.27Nov18.scafacos.hsph.p2nfft.g++.1 similarity index 100% rename from examples/USER/scafacos/log.27Nov18.scafacos.hsph.p2nfft.g++.1 rename to examples/PACKAGES/scafacos/log.27Nov18.scafacos.hsph.p2nfft.g++.1 diff --git a/examples/USER/scafacos/log.27Nov18.scafacos.hsph.p2nfft.g++.4 b/examples/PACKAGES/scafacos/log.27Nov18.scafacos.hsph.p2nfft.g++.4 similarity index 100% rename from examples/USER/scafacos/log.27Nov18.scafacos.hsph.p2nfft.g++.4 rename to examples/PACKAGES/scafacos/log.27Nov18.scafacos.hsph.p2nfft.g++.4 diff --git a/examples/USER/scafacos/log.27Nov18.scafacos.p2nfft.g++.1 b/examples/PACKAGES/scafacos/log.27Nov18.scafacos.p2nfft.g++.1 similarity index 100% rename from examples/USER/scafacos/log.27Nov18.scafacos.p2nfft.g++.1 rename to examples/PACKAGES/scafacos/log.27Nov18.scafacos.p2nfft.g++.1 diff --git a/examples/USER/scafacos/log.27Nov18.scafacos.p2nfft.g++.4 b/examples/PACKAGES/scafacos/log.27Nov18.scafacos.p2nfft.g++.4 similarity index 100% rename from examples/USER/scafacos/log.27Nov18.scafacos.p2nfft.g++.4 rename to examples/PACKAGES/scafacos/log.27Nov18.scafacos.p2nfft.g++.4 diff --git a/examples/USER/scafacos/log.27Nov18.scafacos.p3m.g++.1 b/examples/PACKAGES/scafacos/log.27Nov18.scafacos.p3m.g++.1 similarity index 100% rename from examples/USER/scafacos/log.27Nov18.scafacos.p3m.g++.1 rename to examples/PACKAGES/scafacos/log.27Nov18.scafacos.p3m.g++.1 diff --git a/examples/USER/scafacos/log.27Nov18.scafacos.p3m.g++.4 b/examples/PACKAGES/scafacos/log.27Nov18.scafacos.p3m.g++.4 similarity index 100% rename from examples/USER/scafacos/log.27Nov18.scafacos.p3m.g++.4 rename to examples/PACKAGES/scafacos/log.27Nov18.scafacos.p3m.g++.4 diff --git a/examples/USER/sdpd/2d-diffusion-in-shear-flow/in.lammps b/examples/PACKAGES/sdpd/2d-diffusion-in-shear-flow/in.lammps similarity index 100% rename from examples/USER/sdpd/2d-diffusion-in-shear-flow/in.lammps rename to examples/PACKAGES/sdpd/2d-diffusion-in-shear-flow/in.lammps diff --git a/examples/USER/sdpd/2d-diffusion-in-shear-flow/log.24Oct18.2d-diffusion-in-shear-flow.g++.1 b/examples/PACKAGES/sdpd/2d-diffusion-in-shear-flow/log.24Oct18.2d-diffusion-in-shear-flow.g++.1 similarity index 100% rename from examples/USER/sdpd/2d-diffusion-in-shear-flow/log.24Oct18.2d-diffusion-in-shear-flow.g++.1 rename to examples/PACKAGES/sdpd/2d-diffusion-in-shear-flow/log.24Oct18.2d-diffusion-in-shear-flow.g++.1 diff --git a/examples/USER/sdpd/2d-diffusion-in-shear-flow/log.24Oct18.2d-diffusion-in-shear-flow.g++.4 b/examples/PACKAGES/sdpd/2d-diffusion-in-shear-flow/log.24Oct18.2d-diffusion-in-shear-flow.g++.4 similarity index 100% rename from examples/USER/sdpd/2d-diffusion-in-shear-flow/log.24Oct18.2d-diffusion-in-shear-flow.g++.4 rename to examples/PACKAGES/sdpd/2d-diffusion-in-shear-flow/log.24Oct18.2d-diffusion-in-shear-flow.g++.4 diff --git a/examples/USER/sdpd/2d-diffusion/in.lammps b/examples/PACKAGES/sdpd/2d-diffusion/in.lammps similarity index 100% rename from examples/USER/sdpd/2d-diffusion/in.lammps rename to examples/PACKAGES/sdpd/2d-diffusion/in.lammps diff --git a/examples/USER/sdpd/2d-diffusion/log.24Oct18.2d-diffusion.g++.1 b/examples/PACKAGES/sdpd/2d-diffusion/log.24Oct18.2d-diffusion.g++.1 similarity index 100% rename from examples/USER/sdpd/2d-diffusion/log.24Oct18.2d-diffusion.g++.1 rename to examples/PACKAGES/sdpd/2d-diffusion/log.24Oct18.2d-diffusion.g++.1 diff --git a/examples/USER/sdpd/2d-diffusion/log.24Oct18.2d-diffusion.g++.4 b/examples/PACKAGES/sdpd/2d-diffusion/log.24Oct18.2d-diffusion.g++.4 similarity index 100% rename from examples/USER/sdpd/2d-diffusion/log.24Oct18.2d-diffusion.g++.4 rename to examples/PACKAGES/sdpd/2d-diffusion/log.24Oct18.2d-diffusion.g++.4 diff --git a/examples/USER/sdpd/README b/examples/PACKAGES/sdpd/README similarity index 100% rename from examples/USER/sdpd/README rename to examples/PACKAGES/sdpd/README diff --git a/examples/USER/sdpd/equipartition-verification/in.lammps b/examples/PACKAGES/sdpd/equipartition-verification/in.lammps similarity index 100% rename from examples/USER/sdpd/equipartition-verification/in.lammps rename to examples/PACKAGES/sdpd/equipartition-verification/in.lammps diff --git a/examples/USER/sdpd/equipartition-verification/log.24Oct18.equipartition.g++.1 b/examples/PACKAGES/sdpd/equipartition-verification/log.24Oct18.equipartition.g++.1 similarity index 100% rename from examples/USER/sdpd/equipartition-verification/log.24Oct18.equipartition.g++.1 rename to examples/PACKAGES/sdpd/equipartition-verification/log.24Oct18.equipartition.g++.1 diff --git a/examples/USER/sdpd/equipartition-verification/log.24Oct18.equipartition.g++.4 b/examples/PACKAGES/sdpd/equipartition-verification/log.24Oct18.equipartition.g++.4 similarity index 100% rename from examples/USER/sdpd/equipartition-verification/log.24Oct18.equipartition.g++.4 rename to examples/PACKAGES/sdpd/equipartition-verification/log.24Oct18.equipartition.g++.4 diff --git a/examples/USER/smd/README b/examples/PACKAGES/smd/README similarity index 100% rename from examples/USER/smd/README rename to examples/PACKAGES/smd/README diff --git a/examples/USER/smd/aluminum_strip_pull/in.aluminum_strip_pull b/examples/PACKAGES/smd/aluminum_strip_pull/in.aluminum_strip_pull similarity index 100% rename from examples/USER/smd/aluminum_strip_pull/in.aluminum_strip_pull rename to examples/PACKAGES/smd/aluminum_strip_pull/in.aluminum_strip_pull diff --git a/examples/USER/smd/aluminum_strip_pull/log.9Oct20.aluminum_strip_pull.g++.1 b/examples/PACKAGES/smd/aluminum_strip_pull/log.9Oct20.aluminum_strip_pull.g++.1 similarity index 100% rename from examples/USER/smd/aluminum_strip_pull/log.9Oct20.aluminum_strip_pull.g++.1 rename to examples/PACKAGES/smd/aluminum_strip_pull/log.9Oct20.aluminum_strip_pull.g++.1 diff --git a/examples/USER/smd/aluminum_strip_pull/log.9Oct20.aluminum_strip_pull.g++.4 b/examples/PACKAGES/smd/aluminum_strip_pull/log.9Oct20.aluminum_strip_pull.g++.4 similarity index 100% rename from examples/USER/smd/aluminum_strip_pull/log.9Oct20.aluminum_strip_pull.g++.4 rename to examples/PACKAGES/smd/aluminum_strip_pull/log.9Oct20.aluminum_strip_pull.g++.4 diff --git a/examples/USER/smd/fluid_structure_interaction/in.fluid_structure_interaction b/examples/PACKAGES/smd/fluid_structure_interaction/in.fluid_structure_interaction similarity index 100% rename from examples/USER/smd/fluid_structure_interaction/in.fluid_structure_interaction rename to examples/PACKAGES/smd/fluid_structure_interaction/in.fluid_structure_interaction diff --git a/examples/USER/smd/fluid_structure_interaction/log.9Oct20.fluid_structure_interaction.g++.1 b/examples/PACKAGES/smd/fluid_structure_interaction/log.9Oct20.fluid_structure_interaction.g++.1 similarity index 100% rename from examples/USER/smd/fluid_structure_interaction/log.9Oct20.fluid_structure_interaction.g++.1 rename to examples/PACKAGES/smd/fluid_structure_interaction/log.9Oct20.fluid_structure_interaction.g++.1 diff --git a/examples/USER/smd/fluid_structure_interaction/log.9Oct20.fluid_structure_interaction.g++.4 b/examples/PACKAGES/smd/fluid_structure_interaction/log.9Oct20.fluid_structure_interaction.g++.4 similarity index 100% rename from examples/USER/smd/fluid_structure_interaction/log.9Oct20.fluid_structure_interaction.g++.4 rename to examples/PACKAGES/smd/fluid_structure_interaction/log.9Oct20.fluid_structure_interaction.g++.4 diff --git a/examples/USER/smd/funnel_flow/boundary.stl b/examples/PACKAGES/smd/funnel_flow/boundary.stl similarity index 100% rename from examples/USER/smd/funnel_flow/boundary.stl rename to examples/PACKAGES/smd/funnel_flow/boundary.stl diff --git a/examples/USER/smd/funnel_flow/in.funnel_flow b/examples/PACKAGES/smd/funnel_flow/in.funnel_flow similarity index 100% rename from examples/USER/smd/funnel_flow/in.funnel_flow rename to examples/PACKAGES/smd/funnel_flow/in.funnel_flow diff --git a/examples/USER/smd/funnel_flow/log.9Oct20.funnel_flow.g++.1 b/examples/PACKAGES/smd/funnel_flow/log.9Oct20.funnel_flow.g++.1 similarity index 100% rename from examples/USER/smd/funnel_flow/log.9Oct20.funnel_flow.g++.1 rename to examples/PACKAGES/smd/funnel_flow/log.9Oct20.funnel_flow.g++.1 diff --git a/examples/USER/smd/funnel_flow/log.9Oct20.funnel_flow.g++.4 b/examples/PACKAGES/smd/funnel_flow/log.9Oct20.funnel_flow.g++.4 similarity index 100% rename from examples/USER/smd/funnel_flow/log.9Oct20.funnel_flow.g++.4 rename to examples/PACKAGES/smd/funnel_flow/log.9Oct20.funnel_flow.g++.4 diff --git a/examples/USER/smd/rubber_rings_3d/in.rubber_rings_3d b/examples/PACKAGES/smd/rubber_rings_3d/in.rubber_rings_3d similarity index 100% rename from examples/USER/smd/rubber_rings_3d/in.rubber_rings_3d rename to examples/PACKAGES/smd/rubber_rings_3d/in.rubber_rings_3d diff --git a/examples/USER/smd/rubber_rings_3d/log.9Oct20.rubber_rings_3d.g++.1 b/examples/PACKAGES/smd/rubber_rings_3d/log.9Oct20.rubber_rings_3d.g++.1 similarity index 100% rename from examples/USER/smd/rubber_rings_3d/log.9Oct20.rubber_rings_3d.g++.1 rename to examples/PACKAGES/smd/rubber_rings_3d/log.9Oct20.rubber_rings_3d.g++.1 diff --git a/examples/USER/smd/rubber_rings_3d/log.9Oct20.rubber_rings_3d.g++.4 b/examples/PACKAGES/smd/rubber_rings_3d/log.9Oct20.rubber_rings_3d.g++.4 similarity index 100% rename from examples/USER/smd/rubber_rings_3d/log.9Oct20.rubber_rings_3d.g++.4 rename to examples/PACKAGES/smd/rubber_rings_3d/log.9Oct20.rubber_rings_3d.g++.4 diff --git a/examples/USER/smd/rubber_rings_3d/washer_hex_adjusted.data b/examples/PACKAGES/smd/rubber_rings_3d/washer_hex_adjusted.data similarity index 100% rename from examples/USER/smd/rubber_rings_3d/washer_hex_adjusted.data rename to examples/PACKAGES/smd/rubber_rings_3d/washer_hex_adjusted.data diff --git a/examples/USER/smd/rubber_strip_pull/in.rubber_strip_pull b/examples/PACKAGES/smd/rubber_strip_pull/in.rubber_strip_pull similarity index 100% rename from examples/USER/smd/rubber_strip_pull/in.rubber_strip_pull rename to examples/PACKAGES/smd/rubber_strip_pull/in.rubber_strip_pull diff --git a/examples/USER/smd/rubber_strip_pull/log.9Oct20.rubber_strip_pull.g++.1 b/examples/PACKAGES/smd/rubber_strip_pull/log.9Oct20.rubber_strip_pull.g++.1 similarity index 100% rename from examples/USER/smd/rubber_strip_pull/log.9Oct20.rubber_strip_pull.g++.1 rename to examples/PACKAGES/smd/rubber_strip_pull/log.9Oct20.rubber_strip_pull.g++.1 diff --git a/examples/USER/smd/rubber_strip_pull/log.9Oct20.rubber_strip_pull.g++.4 b/examples/PACKAGES/smd/rubber_strip_pull/log.9Oct20.rubber_strip_pull.g++.4 similarity index 100% rename from examples/USER/smd/rubber_strip_pull/log.9Oct20.rubber_strip_pull.g++.4 rename to examples/PACKAGES/smd/rubber_strip_pull/log.9Oct20.rubber_strip_pull.g++.4 diff --git a/examples/USER/smd/rubber_strip_pull/plot.gpl b/examples/PACKAGES/smd/rubber_strip_pull/plot.gpl similarity index 100% rename from examples/USER/smd/rubber_strip_pull/plot.gpl rename to examples/PACKAGES/smd/rubber_strip_pull/plot.gpl diff --git a/examples/USER/smtbq/data.Alpha b/examples/PACKAGES/smtbq/data.Alpha similarity index 100% rename from examples/USER/smtbq/data.Alpha rename to examples/PACKAGES/smtbq/data.Alpha diff --git a/examples/USER/smtbq/ffield.smtbq.Al b/examples/PACKAGES/smtbq/ffield.smtbq.Al similarity index 100% rename from examples/USER/smtbq/ffield.smtbq.Al rename to examples/PACKAGES/smtbq/ffield.smtbq.Al diff --git a/examples/USER/smtbq/ffield.smtbq.Al2O3 b/examples/PACKAGES/smtbq/ffield.smtbq.Al2O3 similarity index 100% rename from examples/USER/smtbq/ffield.smtbq.Al2O3 rename to examples/PACKAGES/smtbq/ffield.smtbq.Al2O3 diff --git a/examples/USER/smtbq/ffield.smtbq.TiO2 b/examples/PACKAGES/smtbq/ffield.smtbq.TiO2 similarity index 100% rename from examples/USER/smtbq/ffield.smtbq.TiO2 rename to examples/PACKAGES/smtbq/ffield.smtbq.TiO2 diff --git a/examples/USER/smtbq/in.smtbq.Al b/examples/PACKAGES/smtbq/in.smtbq.Al similarity index 100% rename from examples/USER/smtbq/in.smtbq.Al rename to examples/PACKAGES/smtbq/in.smtbq.Al diff --git a/examples/USER/smtbq/in.smtbq.Al2O3 b/examples/PACKAGES/smtbq/in.smtbq.Al2O3 similarity index 100% rename from examples/USER/smtbq/in.smtbq.Al2O3 rename to examples/PACKAGES/smtbq/in.smtbq.Al2O3 diff --git a/examples/USER/smtbq/in.smtbq.TiO2 b/examples/PACKAGES/smtbq/in.smtbq.TiO2 similarity index 100% rename from examples/USER/smtbq/in.smtbq.TiO2 rename to examples/PACKAGES/smtbq/in.smtbq.TiO2 diff --git a/examples/USER/smtbq/log.smtbq.Al.g++.1 b/examples/PACKAGES/smtbq/log.smtbq.Al.g++.1 similarity index 100% rename from examples/USER/smtbq/log.smtbq.Al.g++.1 rename to examples/PACKAGES/smtbq/log.smtbq.Al.g++.1 diff --git a/examples/USER/smtbq/log.smtbq.Al.g++.4 b/examples/PACKAGES/smtbq/log.smtbq.Al.g++.4 similarity index 100% rename from examples/USER/smtbq/log.smtbq.Al.g++.4 rename to examples/PACKAGES/smtbq/log.smtbq.Al.g++.4 diff --git a/examples/USER/smtbq/log.smtbq.Al2O3.g++.1 b/examples/PACKAGES/smtbq/log.smtbq.Al2O3.g++.1 similarity index 100% rename from examples/USER/smtbq/log.smtbq.Al2O3.g++.1 rename to examples/PACKAGES/smtbq/log.smtbq.Al2O3.g++.1 diff --git a/examples/USER/smtbq/log.smtbq.Al2O3.g++.4 b/examples/PACKAGES/smtbq/log.smtbq.Al2O3.g++.4 similarity index 100% rename from examples/USER/smtbq/log.smtbq.Al2O3.g++.4 rename to examples/PACKAGES/smtbq/log.smtbq.Al2O3.g++.4 diff --git a/examples/USER/smtbq/log.smtbq.TiO2.g++.1 b/examples/PACKAGES/smtbq/log.smtbq.TiO2.g++.1 similarity index 100% rename from examples/USER/smtbq/log.smtbq.TiO2.g++.1 rename to examples/PACKAGES/smtbq/log.smtbq.TiO2.g++.1 diff --git a/examples/USER/smtbq/log.smtbq.TiO2.g++.4 b/examples/PACKAGES/smtbq/log.smtbq.TiO2.g++.4 similarity index 100% rename from examples/USER/smtbq/log.smtbq.TiO2.g++.4 rename to examples/PACKAGES/smtbq/log.smtbq.TiO2.g++.4 diff --git a/examples/USER/sph/README b/examples/PACKAGES/sph/README similarity index 100% rename from examples/USER/sph/README rename to examples/PACKAGES/sph/README diff --git a/examples/USER/sph/cavity_flow/cavity_flow.lmp b/examples/PACKAGES/sph/cavity_flow/cavity_flow.lmp similarity index 100% rename from examples/USER/sph/cavity_flow/cavity_flow.lmp rename to examples/PACKAGES/sph/cavity_flow/cavity_flow.lmp diff --git a/examples/USER/sph/heatconduction/compare_analytic.gpl b/examples/PACKAGES/sph/heatconduction/compare_analytic.gpl similarity index 100% rename from examples/USER/sph/heatconduction/compare_analytic.gpl rename to examples/PACKAGES/sph/heatconduction/compare_analytic.gpl diff --git a/examples/USER/sph/heatconduction/sph_heat_conduction_2d.lmp b/examples/PACKAGES/sph/heatconduction/sph_heat_conduction_2d.lmp similarity index 100% rename from examples/USER/sph/heatconduction/sph_heat_conduction_2d.lmp rename to examples/PACKAGES/sph/heatconduction/sph_heat_conduction_2d.lmp diff --git a/examples/USER/sph/heatconduction/sph_heat_conduction_3d.lmp b/examples/PACKAGES/sph/heatconduction/sph_heat_conduction_3d.lmp similarity index 100% rename from examples/USER/sph/heatconduction/sph_heat_conduction_3d.lmp rename to examples/PACKAGES/sph/heatconduction/sph_heat_conduction_3d.lmp diff --git a/examples/USER/sph/shock_tube/compare_exact.gpl b/examples/PACKAGES/sph/shock_tube/compare_exact.gpl similarity index 100% rename from examples/USER/sph/shock_tube/compare_exact.gpl rename to examples/PACKAGES/sph/shock_tube/compare_exact.gpl diff --git a/examples/USER/sph/shock_tube/exact_solution.dat b/examples/PACKAGES/sph/shock_tube/exact_solution.dat similarity index 100% rename from examples/USER/sph/shock_tube/exact_solution.dat rename to examples/PACKAGES/sph/shock_tube/exact_solution.dat diff --git a/examples/USER/sph/shock_tube/shock2d.lmp b/examples/PACKAGES/sph/shock_tube/shock2d.lmp similarity index 100% rename from examples/USER/sph/shock_tube/shock2d.lmp rename to examples/PACKAGES/sph/shock_tube/shock2d.lmp diff --git a/examples/USER/sph/shock_tube/shock3d.lmp b/examples/PACKAGES/sph/shock_tube/shock3d.lmp similarity index 100% rename from examples/USER/sph/shock_tube/shock3d.lmp rename to examples/PACKAGES/sph/shock_tube/shock3d.lmp diff --git a/examples/USER/sph/water_collapse/data.initial b/examples/PACKAGES/sph/water_collapse/data.initial similarity index 100% rename from examples/USER/sph/water_collapse/data.initial rename to examples/PACKAGES/sph/water_collapse/data.initial diff --git a/examples/USER/sph/water_collapse/water_collapse.lmp b/examples/PACKAGES/sph/water_collapse/water_collapse.lmp similarity index 100% rename from examples/USER/sph/water_collapse/water_collapse.lmp rename to examples/PACKAGES/sph/water_collapse/water_collapse.lmp diff --git a/examples/USER/tally/README b/examples/PACKAGES/tally/README similarity index 100% rename from examples/USER/tally/README rename to examples/PACKAGES/tally/README diff --git a/examples/USER/tally/data.spce b/examples/PACKAGES/tally/data.spce similarity index 100% rename from examples/USER/tally/data.spce rename to examples/PACKAGES/tally/data.spce diff --git a/examples/USER/tally/in.force b/examples/PACKAGES/tally/in.force similarity index 100% rename from examples/USER/tally/in.force rename to examples/PACKAGES/tally/in.force diff --git a/examples/USER/tally/in.pe b/examples/PACKAGES/tally/in.pe similarity index 100% rename from examples/USER/tally/in.pe rename to examples/PACKAGES/tally/in.pe diff --git a/examples/USER/tally/in.stress b/examples/PACKAGES/tally/in.stress similarity index 100% rename from examples/USER/tally/in.stress rename to examples/PACKAGES/tally/in.stress diff --git a/examples/USER/tally/log.12Jun17.force.1 b/examples/PACKAGES/tally/log.12Jun17.force.1 similarity index 100% rename from examples/USER/tally/log.12Jun17.force.1 rename to examples/PACKAGES/tally/log.12Jun17.force.1 diff --git a/examples/USER/tally/log.12Jun17.force.4 b/examples/PACKAGES/tally/log.12Jun17.force.4 similarity index 100% rename from examples/USER/tally/log.12Jun17.force.4 rename to examples/PACKAGES/tally/log.12Jun17.force.4 diff --git a/examples/USER/tally/log.12Jun17.pe.1 b/examples/PACKAGES/tally/log.12Jun17.pe.1 similarity index 100% rename from examples/USER/tally/log.12Jun17.pe.1 rename to examples/PACKAGES/tally/log.12Jun17.pe.1 diff --git a/examples/USER/tally/log.12Jun17.pe.4 b/examples/PACKAGES/tally/log.12Jun17.pe.4 similarity index 100% rename from examples/USER/tally/log.12Jun17.pe.4 rename to examples/PACKAGES/tally/log.12Jun17.pe.4 diff --git a/examples/USER/tally/log.12Jun17.stress.1 b/examples/PACKAGES/tally/log.12Jun17.stress.1 similarity index 100% rename from examples/USER/tally/log.12Jun17.stress.1 rename to examples/PACKAGES/tally/log.12Jun17.stress.1 diff --git a/examples/USER/tally/log.12Jun17.stress.4 b/examples/PACKAGES/tally/log.12Jun17.stress.4 similarity index 100% rename from examples/USER/tally/log.12Jun17.stress.4 rename to examples/PACKAGES/tally/log.12Jun17.stress.4 diff --git a/examples/USER/uef/README b/examples/PACKAGES/uef/README similarity index 100% rename from examples/USER/uef/README rename to examples/PACKAGES/uef/README diff --git a/examples/USER/uef/npt_biaxial/data.wca b/examples/PACKAGES/uef/npt_biaxial/data.wca similarity index 100% rename from examples/USER/uef/npt_biaxial/data.wca rename to examples/PACKAGES/uef/npt_biaxial/data.wca diff --git a/examples/USER/uef/npt_biaxial/in.npt_biaxial b/examples/PACKAGES/uef/npt_biaxial/in.npt_biaxial similarity index 100% rename from examples/USER/uef/npt_biaxial/in.npt_biaxial rename to examples/PACKAGES/uef/npt_biaxial/in.npt_biaxial diff --git a/examples/USER/uef/npt_biaxial/log.27Nov18.npt_biaxial.g++.1 b/examples/PACKAGES/uef/npt_biaxial/log.27Nov18.npt_biaxial.g++.1 similarity index 100% rename from examples/USER/uef/npt_biaxial/log.27Nov18.npt_biaxial.g++.1 rename to examples/PACKAGES/uef/npt_biaxial/log.27Nov18.npt_biaxial.g++.1 diff --git a/examples/USER/uef/npt_biaxial/log.27Nov18.npt_biaxial.g++.4 b/examples/PACKAGES/uef/npt_biaxial/log.27Nov18.npt_biaxial.g++.4 similarity index 100% rename from examples/USER/uef/npt_biaxial/log.27Nov18.npt_biaxial.g++.4 rename to examples/PACKAGES/uef/npt_biaxial/log.27Nov18.npt_biaxial.g++.4 diff --git a/examples/USER/uef/nvt_uniaxial/data.wca b/examples/PACKAGES/uef/nvt_uniaxial/data.wca similarity index 100% rename from examples/USER/uef/nvt_uniaxial/data.wca rename to examples/PACKAGES/uef/nvt_uniaxial/data.wca diff --git a/examples/USER/uef/nvt_uniaxial/in.nvt_uniaxial b/examples/PACKAGES/uef/nvt_uniaxial/in.nvt_uniaxial similarity index 100% rename from examples/USER/uef/nvt_uniaxial/in.nvt_uniaxial rename to examples/PACKAGES/uef/nvt_uniaxial/in.nvt_uniaxial diff --git a/examples/USER/uef/nvt_uniaxial/log.27Nov18.nvt_uniaxial.g++.1 b/examples/PACKAGES/uef/nvt_uniaxial/log.27Nov18.nvt_uniaxial.g++.1 similarity index 100% rename from examples/USER/uef/nvt_uniaxial/log.27Nov18.nvt_uniaxial.g++.1 rename to examples/PACKAGES/uef/nvt_uniaxial/log.27Nov18.nvt_uniaxial.g++.1 diff --git a/examples/USER/uef/nvt_uniaxial/log.27Nov18.nvt_uniaxial.g++.4 b/examples/PACKAGES/uef/nvt_uniaxial/log.27Nov18.nvt_uniaxial.g++.4 similarity index 100% rename from examples/USER/uef/nvt_uniaxial/log.27Nov18.nvt_uniaxial.g++.4 rename to examples/PACKAGES/uef/nvt_uniaxial/log.27Nov18.nvt_uniaxial.g++.4 diff --git a/examples/USER/vtk/.gitignore b/examples/PACKAGES/vtk/.gitignore similarity index 100% rename from examples/USER/vtk/.gitignore rename to examples/PACKAGES/vtk/.gitignore diff --git a/examples/USER/vtk/in.vtk b/examples/PACKAGES/vtk/in.vtk similarity index 100% rename from examples/USER/vtk/in.vtk rename to examples/PACKAGES/vtk/in.vtk diff --git a/examples/USER/vtk/in.vtp b/examples/PACKAGES/vtk/in.vtp similarity index 100% rename from examples/USER/vtk/in.vtp rename to examples/PACKAGES/vtk/in.vtp diff --git a/examples/USER/yaff/README b/examples/PACKAGES/yaff/README similarity index 100% rename from examples/USER/yaff/README rename to examples/PACKAGES/yaff/README diff --git a/examples/USER/yaff/mil53al/lammps.data b/examples/PACKAGES/yaff/mil53al/lammps.data similarity index 100% rename from examples/USER/yaff/mil53al/lammps.data rename to examples/PACKAGES/yaff/mil53al/lammps.data diff --git a/examples/USER/yaff/mil53al/lammps.in b/examples/PACKAGES/yaff/mil53al/lammps.in similarity index 100% rename from examples/USER/yaff/mil53al/lammps.in rename to examples/PACKAGES/yaff/mil53al/lammps.in diff --git a/examples/USER/yaff/mof5/lammps.data b/examples/PACKAGES/yaff/mof5/lammps.data similarity index 100% rename from examples/USER/yaff/mof5/lammps.data rename to examples/PACKAGES/yaff/mof5/lammps.data diff --git a/examples/USER/yaff/mof5/lammps.in b/examples/PACKAGES/yaff/mof5/lammps.in similarity index 100% rename from examples/USER/yaff/mof5/lammps.in rename to examples/PACKAGES/yaff/mof5/lammps.in diff --git a/examples/README b/examples/README index 9efac36a47..f0e84f18c1 100644 --- a/examples/README +++ b/examples/README @@ -5,7 +5,7 @@ problems you can run with LAMMPS. lower-case directories = simple test problems for LAMMPS and its packages upper-case directories = more complex problems -USER directory with its own sub-directories = tests for USER packages +PACKAGE directory with its own sub-directories = tests for specific packages Each is discussed below. @@ -179,8 +179,9 @@ lj, real, and metal. So that you can see how to scale/unscale input and output values read/written by LAMMPS to verify you are performing the same simulation in different unit systems. -The USER directory contains subdirectories of user-provided example -scripts for ser packages. See the README files in those directories +The PACKAGES directory contains subdirectories of example scripts for +individual packages. Most of those are contributed by the corresponding +package developers. See the README files in those directories for more info. See the doc/html/Build_package.html file for more info about installing and building user packages. From 7390d8e344eb3bd144aeb305a468b4739fd278c2 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 29 Jun 2021 11:31:31 -0400 Subject: [PATCH 300/726] remove bogus folder --- examples/TIP4P/gpu_dump/data.spce | 1 - .../dump.force_cpu.19Dec19.tip4p.g++.1 | 9018 ----------------- ...p.force_gpu.19Dec19.tip4p.g++.1.gtx1070.dp | 9018 ----------------- examples/TIP4P/gpu_dump/in.tip4p | 49 - .../TIP4P/gpu_dump/log.19Dec19.tip4p.g++.1 | 127 - .../log.19Dec19.tip4p.g++.1.gtx1070.dp | 120 - 6 files changed, 18333 deletions(-) delete mode 120000 examples/TIP4P/gpu_dump/data.spce delete mode 100644 examples/TIP4P/gpu_dump/dump.force_cpu.19Dec19.tip4p.g++.1 delete mode 100644 examples/TIP4P/gpu_dump/dump.force_gpu.19Dec19.tip4p.g++.1.gtx1070.dp delete mode 100644 examples/TIP4P/gpu_dump/in.tip4p delete mode 100644 examples/TIP4P/gpu_dump/log.19Dec19.tip4p.g++.1 delete mode 100644 examples/TIP4P/gpu_dump/log.19Dec19.tip4p.g++.1.gtx1070.dp diff --git a/examples/TIP4P/gpu_dump/data.spce b/examples/TIP4P/gpu_dump/data.spce deleted file mode 120000 index 4c8051fdff..0000000000 --- a/examples/TIP4P/gpu_dump/data.spce +++ /dev/null @@ -1 +0,0 @@ -../../rdf-adf/data.spce \ No newline at end of file diff --git a/examples/TIP4P/gpu_dump/dump.force_cpu.19Dec19.tip4p.g++.1 b/examples/TIP4P/gpu_dump/dump.force_cpu.19Dec19.tip4p.g++.1 deleted file mode 100644 index faa6d3c117..0000000000 --- a/examples/TIP4P/gpu_dump/dump.force_cpu.19Dec19.tip4p.g++.1 +++ /dev/null @@ -1,9018 +0,0 @@ -ITEM: TIMESTEP -0 -ITEM: NUMBER OF ATOMS -4500 -ITEM: BOX BOUNDS pp pp pp -2.6450000000000001e-02 3.5532800000000002e+01 -2.6450000000000001e-02 3.5532800000000002e+01 -2.6409999999999999e-02 3.5473599999999998e+01 -ITEM: ATOMS id type x y z fx fy fz -1 1 12.1247 28.092 22.2745 44.3296 17.0725 48.5356 -2 2 12.4974 28.7565 22.854 -24.598 -41.7029 -32.885 -3 2 11.5314 28.5784 21.7021 -26.0334 10.24 -23.1056 -4 1 1.17081 29.3781 23.7307 -74.0189 -7.00332 56.5394 -5 2 1.86259 29.4619 23.0745 28.6874 -4.77355 -53.1747 -6 2 0.455888 28.9379 23.2709 28.8474 14.4006 -7.70694 -7 1 29.6824 14.7369 21.6275 -6.84135 -10.4682 -14.9806 -8 2 30.5192 14.9459 21.2125 -6.0991 2.52794 20.3786 -9 2 29.7669 15.072 22.5202 13.979 5.65532 2.32707 -10 1 10.8733 7.00191 35.1099 71.1535 29.5945 64.996 -11 2 11.0641 6.25389 34.5439 -29.2143 -6.46229 -20.2952 -12 2 9.99418 7.27965 34.8524 -52.7015 -16.0671 -37.9354 -13 1 9.46552 6.437 19.7997 85.2674 -39.8413 10.9994 -14 2 9.09748 6.31006 18.9252 -72.8621 17.4338 -56.4264 -15 2 10.2738 5.92429 19.7966 -6.89627 25.8832 52.2923 -16 1 3.17887 29.6978 22.1201 11.0669 36.9603 2.15921 -17 2 3.20092 30.5775 21.7434 1.96842 -53.5324 1.10468 -18 2 3.38088 29.1173 21.3863 -1.13041 18.9593 -2.63733 -19 1 23.3853 11.3001 30.7823 -23.52 11.4998 -1.78141 -20 2 23.7233 10.5129 31.2094 -10.6549 -69.8744 42.1205 -21 2 24.1635 11.7415 30.442 31.685 49.5553 -38.1127 -22 1 11.0372 10.4605 30.1467 -38.6093 -16.0236 -66.6776 -23 2 10.974 11.4059 30.2831 -19.3275 67.6485 -7.84838 -24 2 11.5859 10.1503 30.8671 54.5017 -54.8943 68.1861 -25 1 26.2405 25.4087 21.068 -56.1074 83.4996 53.8252 -26 2 25.6867 26.079 21.4683 35.5039 -49.8834 28.2082 -27 2 26.1991 25.5923 20.1295 25.5629 -23.0759 -81.8338 -28 1 10.8412 35.3391 19.7844 2.25797 -26.5412 -45.6254 -29 2 10.2354 0.4972 19.4561 -48.2648 70.871 28.539 -30 2 11.0286 34.7886 19.024 33.3135 -41.853 25.3389 -31 1 20.0736 4.95841 33.6228 -61.0677 -13.7236 -95.3328 -32 2 19.8087 5.82724 33.9249 54.506 -38.052 50.8578 -33 2 20.6504 4.63009 34.3126 1.15025 57.2924 50.6838 -34 1 12.4393 28.5674 17.3981 33.9775 120.605 -49.4783 -35 2 12.7582 27.993 18.0943 -64.8698 -62.097 -14.4475 -36 2 11.6784 28.1105 17.0396 32.2849 -56.3428 67.7286 -37 1 14.8039 7.14276 1.42142 -7.78991 -28.0947 -44.4196 -38 2 14.8296 6.67781 0.58511 21.988 19.6957 -0.20597 -39 2 14.1583 6.66478 1.94198 -16.8612 -0.635684 46.5116 -40 1 15.8789 22.1828 24.1349 44.729 6.0878 18.5114 -41 2 16.0034 22.7047 23.3423 9.45233 -5.41322 19.0748 -42 2 16.6757 22.3276 24.6452 -62.1564 -2.11365 -46.4012 -43 1 13.2926 18.3041 12.3718 -21.6321 35.4491 -10.1185 -44 2 12.5784 18.6431 12.9115 9.10165 -10.6191 6.40125 -45 2 13.218 18.7831 11.5465 14.7856 -26.5319 15.1201 -46 1 20.2739 23.9416 15.503 27.5133 -80.7739 21.5233 -47 2 20.1962 24.62 14.8322 -14.4264 75.5043 -48.974 -48 2 20.6056 23.1764 15.0333 -10.3055 9.55818 35.1212 -49 1 30.1029 10.7821 14.2432 -141.04 -58.2559 25.7885 -50 2 29.4054 10.9741 13.6165 73.7261 15.4355 6.52542 -51 2 29.6831 10.2399 14.911 75.3093 38.8314 -27.5838 -52 1 19.7156 12.9895 25.4049 25.1117 -7.00757 -10.1087 -53 2 20.1589 13.3425 26.1764 19.8361 12.6508 10.0706 -54 2 18.8028 12.8923 25.6761 -46.6998 -11.9636 -2.64236 -55 1 4.22446 18.9933 32.6299 -12.2623 -33.6491 -3.58742 -56 2 4.01977 18.2262 32.0951 -0.65906 11.4759 13.4292 -57 2 3.40273 19.4824 32.6724 -7.13172 6.03869 -1.39336 -58 1 17.6728 30.8673 34.87 42.8216 130.59 -162.103 -59 2 17.2252 31.7134 34.8674 13.8991 -74.4356 51.5196 -60 2 18.1499 30.8456 34.0405 -35.2142 -46.045 103.968 -61 1 7.49176 27.8412 34.6561 -8.38477 -4.69264 -29.7059 -62 2 7.38276 27.3655 33.8327 3.64633 13.1076 44.1915 -63 2 7.82071 27.1851 35.2706 1.95624 -6.65514 -3.58729 -64 1 9.58253 8.75799 28.3877 116.709 -125.981 52.5075 -65 2 8.92109 8.98732 27.7349 -83.0107 68.6483 -51.5114 -66 2 9.58418 9.49606 28.9972 -27.4509 50.7129 1.40082 -67 1 18.1554 7.97905 4.0298 47.2833 37.721 -106.65 -68 2 17.6432 8.00694 3.22162 21.7418 4.14945 19.095 -69 2 17.5569 7.61234 4.68067 -67.2893 -44.6283 76.9492 -70 1 13.4544 10.3013 21.9454 112.071 76.0432 -129.691 -71 2 14.0936 10.9988 21.8003 -80.2192 -86.4066 17.6862 -72 2 13.1932 10.4017 22.8608 -32.0643 14.779 114.996 -73 1 28.7733 1.83557 6.23648 -33.7442 -50.1324 141.754 -74 2 29.5164 1.24498 6.11254 72.8233 -15.8851 -85.3405 -75 2 28.4822 1.6701 7.1332 -43.058 63.9581 -50.3394 -76 1 21.1742 3.00831 4.56194 0.158124 109.891 -61.1284 -77 2 21.0127 3.00272 5.5054 -3.77625 0.15944 20.7409 -78 2 21.1677 3.93514 4.32281 -4.10082 -117.387 36.7397 -79 1 15.8627 20.7772 10.347 -10.8751 -6.77505 -87.4378 -80 2 15.8439 20.002 10.9082 2.07226 -35.7907 75.1733 -81 2 15.7698 20.4328 9.45877 3.69478 48.5508 14.319 -82 1 19.3725 6.41188 28.333 42.8955 -47.4225 -74.3718 -83 2 19.8486 6.19566 27.5312 -2.00587 -66.9261 16.8146 -84 2 19.262 7.36203 28.2977 -43.4222 115.62 57.3684 -85 1 19.6982 26.8019 22.5666 -77.4398 127.696 -35.8514 -86 2 20.4868 26.5238 22.1007 51.2918 -45.295 0.540468 -87 2 19.5656 26.1306 23.236 21.0243 -78.6205 45.4993 -88 1 10.4486 1.95811 4.23832 63.567 40.254 14.5292 -89 2 10.9951 1.54351 4.90589 -28.1495 10.7305 -27.3413 -90 2 10.8566 2.81117 4.08991 -18.7034 -31.7241 3.15415 -91 1 6.35427 29.1963 23.1793 -29.2287 -97.5878 12.9355 -92 2 5.55633 29.6696 23.4149 55.5736 43.5447 -24.9518 -93 2 6.95717 29.8766 22.8795 -35.247 50.4619 7.95578 -94 1 27.7028 33.6383 1.45462 36.6631 -4.41182 91.5502 -95 2 27.4855 34.5223 1.7505 12.7995 -35.9533 -4.41385 -96 2 28.2115 33.2629 2.17332 -48.0369 41.4416 -65.6927 -97 1 34.5416 25.9073 10.9736 -19.1062 -56.3751 83.5104 -98 2 34.2864 25.1281 10.4796 8.74626 32.4951 -24.3485 -99 2 34.7285 26.5654 10.3041 1.15796 20.488 -60.0485 -100 1 35.1366 10.3525 32.754 -9.9115 27.9412 -47.5072 -101 2 35.323 9.88429 31.9401 -1.21323 0.173058 45.894 -102 2 35.4066 9.74832 33.4456 11.7906 -25.9937 -4.14432 -103 1 19.4561 25.2295 13.0696 -34.7922 43.4863 20.8002 -104 2 18.6651 25.749 12.9256 44.3512 -42.029 -2.37612 -105 2 19.5339 24.6879 12.2842 -8.2881 -3.31681 -21.2962 -106 1 8.76547 34.6063 24.2016 7.52675 9.11202 41.274 -107 2 9.5024 34.687 24.8071 -2.7471 26.6092 61.1862 -108 2 9.1379 34.1896 23.4245 -16.1122 -29.9152 -90.1805 -109 1 18.5215 34.0034 24.7629 -74.498 64.9847 76.1986 -110 2 19.4506 33.8539 24.5878 58.0195 -31.5722 -39.0073 -111 2 18.0656 33.4544 24.1249 7.42357 -27.6015 -32.0517 -112 1 5.46886 16.7558 12.093 -17.0969 53.0014 -84.6821 -113 2 5.21531 17.6489 11.8601 5.11263 -40.4739 -3.81505 -114 2 5.63533 16.7914 13.035 16.0052 -14.0188 86.0212 -115 1 26.781 26.5431 35.171 -28.5043 23.0849 6.25217 -116 2 27.3832 26.8853 0.384541 9.51793 -6.79118 0.854316 -117 2 27.1949 25.7365 34.8639 10.5636 -6.94813 2.07456 -118 1 14.042 15.2722 12.4152 -6.98046 5.31304 -41.3336 -119 2 14.3635 15.7719 13.1656 10.4373 16.2949 7.19166 -120 2 14.3154 15.7819 11.6525 -7.62897 -16.9701 33.4178 -121 1 6.75572 6.34761 6.04904 -14.913 -114.378 50.8323 -122 2 7.52382 5.77889 6.1022 89.7723 50.1259 -42.1802 -123 2 6.04245 5.82212 6.41148 -76.7731 69.3424 -2.39869 -124 1 10.8653 34.9299 25.9813 -12.691 35.3986 86.5855 -125 2 10.7304 35.3349 26.838 6.78153 -45.5644 -81.4521 -126 2 11.5626 35.4473 25.5784 9.92948 4.856 -7.07708 -127 1 18.3449 30.5117 26.2753 -103.107 -57.9301 72.3714 -128 2 18.0864 30.3259 25.3725 26.7237 15.8486 -29.6445 -129 2 19.1377 31.0419 26.1936 65.5933 39.9704 -39.8997 -130 1 13.1854 0.779973 20.6243 81.3777 12.0416 59.4967 -131 2 13.4027 0.553288 21.5285 14.4341 14.3149 -18.5238 -132 2 12.3296 0.377931 20.4752 -83.0606 -29.5325 -38.428 -133 1 24.4788 24.0591 28.2097 -118.912 -31.1893 -55.4725 -134 2 24.1351 23.1975 27.9733 62.8124 16.5818 27.6012 -135 2 23.752 24.6603 28.0467 42.8457 25.2665 21.0462 -136 1 30.7914 15.3383 34.8666 -36.8734 -27.4228 -38.7829 -137 2 31.1297 15.2985 0.314002 43.4745 5.19776 74.1708 -138 2 30.0192 14.7728 34.8767 -3.99114 4.82244 -19.2854 -139 1 18.3088 19.7692 34.2383 43.6473 -35.1725 -56.0785 -140 2 17.808 20.1629 33.5238 -92.1196 74.2998 -2.9096 -141 2 19.0026 19.2752 33.8013 48.8682 -37.2392 66.2367 -142 1 24.189 16.2105 25.5385 -0.181209 -16.6726 59.0143 -143 2 24.349 17.1409 25.3808 2.42437 26.5156 -15.3934 -144 2 24.2607 16.1121 26.488 -2.83765 -5.75982 -36.6239 -145 1 9.29124 8.02555 32.2386 2.48948 -29.6534 -24.8342 -146 2 10.2134 7.8576 32.4327 31.8036 20.4105 17.0655 -147 2 9.01097 7.26542 31.7288 -26.4691 14.1164 -4.4899 -148 1 5.33072 1.15323 27.6455 -99.5241 -60.3872 -16.82 -149 2 4.53119 0.648193 27.4974 81.2369 20.6794 11.1662 -150 2 5.02358 2.04221 27.8233 17.4124 37.2156 9.91232 -151 1 22.8986 21.3393 11.6393 28.1132 127.743 73.0574 -152 2 23.2137 20.533 12.0479 33.0241 -93.8932 48.8254 -153 2 22.4644 21.0481 10.8374 -63.9384 -44.2191 -122.295 -154 1 16.8853 32.6084 23.1632 -40.2231 21.2143 -13.5481 -155 2 15.9412 32.7546 23.1043 69.618 -40.0453 12.4309 -156 2 16.9707 31.688 23.4119 -32.3722 12.1186 -5.38012 -157 1 29.2445 7.09638 23.7072 -1.12957 -3.65594 21.0543 -158 2 28.5132 7.5433 24.1336 40.6101 12.7753 -56.5041 -159 2 29.5003 7.68133 22.9941 -50.5075 13.9556 40.0132 -160 1 34.2995 6.85607 2.08221 -41.6067 85.9705 -42.0765 -161 2 34.928 6.93053 1.36409 61.0147 -50.7124 -15.7023 -162 2 33.7562 7.64071 2.00804 -26.0889 -31.781 52.5771 -163 1 32.9538 29.2697 19.2601 25.0772 4.67584 -9.25793 -164 2 32.6162 28.3947 19.4512 6.09507 -0.239467 -8.85929 -165 2 33.629 29.1269 18.5967 -36.3898 0.969014 34.9175 -166 1 9.782 33.7315 21.9679 23.6304 -12.3053 113.32 -167 2 9.27554 33.1646 21.3863 28.7547 58.3849 -65.0641 -168 2 10.1185 34.422 21.3969 -43.9505 -45.3547 -65.3708 -169 1 7.86172 6.97535 8.72743 5.31026 117.758 1.6484 -170 2 8.12672 6.10163 9.01491 -17.4208 -76.0839 -8.70951 -171 2 7.18636 6.81647 8.06797 4.22171 -49.2367 4.72701 -172 1 34.2523 27.8162 31.7928 4.42728 37.1672 22.9422 -173 2 34.6656 28.5971 31.4245 -22.2446 -26.6653 23.5366 -174 2 33.7864 28.1334 32.5665 26.7616 -2.81452 -43.2471 -175 1 34.9408 26.8493 19.5207 -40.8253 20.186 -15.7627 -176 2 35.3567 26.0213 19.7607 47.8518 -45.0982 20.9735 -177 2 34.1941 26.5945 18.9786 -19.8359 20.7404 -9.04553 -178 1 21.7634 32.2052 20.8913 40.2319 -7.57914 11.5032 -179 2 22.6356 31.8785 21.1119 -61.4458 48.6587 -12.7466 -180 2 21.8052 33.1438 21.0744 21.6291 -41.0188 -1.29321 -181 1 34.3069 3.4369 14.2416 11.8825 -4.17747 -6.06276 -182 2 34.8955 2.86956 13.7437 -6.07372 58.069 42.8805 -183 2 34.8876 4.05554 14.6847 0.534158 -52.3872 -36.6293 -184 1 17.8805 18.9098 14.4214 18.2247 4.88776 64.045 -185 2 17.9548 18.9993 15.3715 -42.8043 -30.1627 -8.62782 -186 2 18.5763 19.4669 14.0726 32.4897 21.6255 -64.6188 -187 1 19.084 14.23 20.7836 110.796 -60.9746 98.9936 -188 2 19.5859 13.8071 21.4803 -40.7047 88.2745 -62.4523 -189 2 18.6613 13.5073 20.3196 -48.7232 -31.1271 -64.9364 -190 1 7.86003 17.978 9.48229 -28.237 73.4846 14.5895 -191 2 7.53996 18.808 9.12874 -16.2898 29.8858 41.7847 -192 2 8.10073 17.4653 8.71064 41.8456 -98.8301 -50.6458 -193 1 0.304617 23.1831 0.38096 -78.3927 60.1352 -2.29358 -194 2 35.3295 24.0104 0.390698 61.0788 -8.89985 -2.77166 -195 2 35.1318 22.5097 0.420236 19.2727 -54.2865 -4.32405 -196 1 4.53589 21.216 29.8616 25.0598 -50.3298 37.7541 -197 2 5.09258 21.9865 29.7486 12.5883 75.9238 -33.6575 -198 2 5.02947 20.648 30.4532 -34.5266 -23.3977 -2.20192 -199 1 3.76258 1.66522 34.1156 20.1869 41.1278 62.7052 -200 2 4.69217 1.8395 33.9682 1.88904 -6.47658 -21.3021 -201 2 3.6079 1.93725 35.0202 -13.7483 -26.962 -46.3795 -202 1 35.18 34.703 7.53061 -5.65508 -102.057 61.1201 -203 2 34.2674 34.45 7.391 73.3918 -0.541703 20.1152 -204 2 0.039622 33.9969 8.06332 -71.5895 97.8188 -77.7579 -205 1 24.8192 8.21475 16.0928 43.6176 5.27942 48.1074 -206 2 25.5443 8.83016 15.9844 -25.7863 -9.11079 -14.9001 -207 2 25.0356 7.7264 16.8871 -28.0524 3.85964 -38.3966 -208 1 4.18203 28.528 29.7088 41.5799 -18.4054 9.76833 -209 2 5.08976 28.4127 29.9899 -13.4909 -11.6805 29.9384 -210 2 4.2439 29.0359 28.8999 -35.7908 29.3683 -45.3609 -211 1 26.4364 31.2732 3.91789 49.4594 16.1792 -4.09451 -212 2 26.5539 30.6091 3.23869 -23.3814 -19.6039 -7.625 -213 2 27.2972 31.6828 4.00459 -24.6028 4.5394 12.5465 -214 1 35.1129 7.70441 27.0798 21.9105 0.565462 41.1714 -215 2 35.1479 7.37061 27.9763 -25.8854 -2.87034 -84.2074 -216 2 34.5635 7.07612 26.6111 6.2251 -2.52059 38.5326 -217 1 21.4537 34.0564 2.90079 44.0394 20.1673 12.9283 -218 2 21.0733 33.794 3.73906 24.8882 24.4222 -24.099 -219 2 22.2378 34.5516 3.13761 -65.8204 -38.3052 7.28173 -220 1 31.2126 3.31209 25.8037 -39.5059 178.463 71.9614 -221 2 30.7527 4.00258 25.3262 19.1009 -84.3985 -20.4576 -222 2 31.4851 3.72687 26.6222 8.64932 -86.8097 -50.8943 -223 1 7.37047 1.049 25.8311 -34.6037 -105.976 -17.3001 -224 2 7.45985 0.254776 25.3043 30.7853 56.4536 3.7687 -225 2 6.67901 0.843187 26.4602 5.83672 41.2452 14.0228 -226 1 30.3443 6.0935 15.7346 29.0103 -50.3202 57.2757 -227 2 30.8577 5.55742 15.1302 -17.0625 19.1427 11.7234 -228 2 30.4383 5.6573 16.5814 -13.6217 36.2093 -68.8758 -229 1 34.9406 25.1535 32.0359 -53.0762 -30.1649 90.3946 -230 2 34.6475 24.6313 32.7827 26.3961 117.066 -102.702 -231 2 34.5757 26.0242 32.1941 15.1417 -80.1978 19.5365 -232 1 0.486827 26.4103 7.95722 124.875 -85.7052 40.59 -233 2 35.2606 26.1137 7.41716 -79.3455 0.456501 -47.345 -234 2 0.316061 27.3408 8.10317 -44.4252 80.7273 0.713515 -235 1 28.5546 15.8348 29.5308 66.8025 41.4978 -5.89079 -236 2 28.4016 16.7769 29.603 -5.5961 -48.4331 0.809848 -237 2 29.4774 15.7595 29.2877 -69.7011 1.65452 15.1976 -238 1 18.1482 14.6895 4.78996 8.00082 -70.2306 -11.2 -239 2 18.482 15.5072 5.15915 48.1651 77.4657 47.0685 -240 2 17.3317 14.9376 4.35647 -49.4963 -7.10304 -29.2879 -241 1 23.9882 17.7998 4.00135 20.3949 74.3027 21.119 -242 2 24.8648 17.7641 3.61845 -68.5798 -57.8839 7.89019 -243 2 23.6128 16.9377 3.82215 51.9494 -25.0455 -30.3431 -244 1 27.7862 18.3989 29.8265 -63.6581 -49.8202 70.1486 -245 2 27.1292 18.9462 30.2565 -7.75297 -4.80631 2.21132 -246 2 28.306 19.0119 29.3064 63.0177 59.3949 -62.3275 -247 1 32.5582 20.9927 23.1604 38.3772 -15.0773 -39.4729 -248 2 33.1231 20.5952 22.4977 6.98637 -51.1748 14.5939 -249 2 32.4888 21.9104 22.8973 -35.7752 58.1314 21.5966 -250 1 0.528608 10.6878 20.5129 -45.1825 -91.6801 -43.9594 -251 2 35.2342 10.7282 21.0358 48.3923 39.2871 -3.51685 -252 2 1.04905 11.433 20.8129 -6.60051 50.7162 44.2546 -253 1 24.9866 7.82749 20.9415 -6.60822 19.7581 -51.3802 -254 2 25.8535 7.95815 20.5572 -4.03983 -7.49698 19.0213 -255 2 24.377 8.11853 20.2633 16.7624 -16.0334 39.3525 -256 1 22.843 20.1255 4.77966 -5.35193 8.30823 7.63631 -257 2 23.2394 19.2562 4.83915 6.63705 -10.0641 -1.45143 -258 2 23.5621 20.6995 4.51581 -2.434 -0.970204 -5.47414 -259 1 33.5356 10.0152 10.4555 12.5933 37.9752 -122.351 -260 2 32.8766 9.38348 10.7435 50.3779 9.66049 78.5068 -261 2 34.0545 10.1949 11.2395 -59.5617 -58.0541 41.63 -262 1 16.0063 10.0182 6.93569 -102.376 -18.2949 26.802 -263 2 16.3601 10.7312 6.40402 19.5437 35.7976 -25.6892 -264 2 15.0648 10.1875 6.96843 82.7652 -14.9595 0.289532 -265 1 29.8113 30.3232 24.406 -23.7178 98.4642 -3.14443 -266 2 29.922 30.0038 25.3015 12.0233 -11.0747 81.5559 -267 2 29.9367 29.5487 23.8577 11.5541 -81.6359 -77.4595 -268 1 4.63644 9.89466 32.0912 120.797 -9.32754 65.1128 -269 2 4.05974 9.6844 31.3567 -76.1477 -19.9134 -84.1071 -270 2 5.44173 9.40979 31.9105 -48.0989 32.1609 19.6015 -271 1 32.8568 18.7926 15.2635 -51.2923 14.5456 -75.9336 -272 2 33.0922 17.9405 15.6308 24.7186 -23.8985 32.9854 -273 2 33.3873 19.4203 15.7543 39.5623 6.46069 40.5207 -274 1 0.620035 7.9515 15.2532 -143.122 -14.9926 129.979 -275 2 0.0510458 7.86056 16.0175 123.296 5.69832 -56.917 -276 2 35.5239 8.03812 14.5144 24.9711 5.12758 -70.7027 -277 1 2.41065 1.86754 23.9447 -40.4756 105.488 -9.40925 -278 2 2.47755 1.8148 22.9913 11.2521 -33.4133 32.9604 -279 2 2.77411 1.03892 24.257 34.231 -72.5424 -13.211 -280 1 35.1326 4.79391 16.9146 106.68 -42.9244 -68.6416 -281 2 34.777 5.68071 16.8566 -63.4326 2.62601 40.6823 -282 2 34.4928 4.31261 17.4393 -62.593 37.258 23.7005 -283 1 0.971748 31.0445 15.1789 76.4355 -14.7966 -16.0432 -284 2 35.5565 31.2671 15.3104 -50.0812 0.95173 26.557 -285 2 1.19513 30.494 15.9294 -27.3807 17.0655 -11.5771 -286 1 2.20035 4.72159 17.0276 47.0668 39.7929 17.8805 -287 2 2.33908 5.61694 17.3364 61.7702 15.4537 12.3053 -288 2 1.25717 4.66382 16.8749 -87.1196 -55.0563 -28.2108 -289 1 11.3254 9.4347 18.2344 11.7976 -10.4379 24.5317 -290 2 11.3164 9.66372 17.3051 -25.075 5.1143 3.69917 -291 2 10.4471 9.65542 18.5445 7.50548 -0.11578 -26.3305 -292 1 1.17591 29.8737 2.3068 -107.463 -153.382 44.0449 -293 2 0.828878 30.5377 1.71103 86.6769 59.3349 7.20169 -294 2 2.04257 30.1991 2.55023 21.8408 99.5657 -50.7846 -295 1 30.8956 1.46771 1.98014 -75.339 129.725 59.4699 -296 2 31.6312 1.00728 2.38406 42.7946 -65.7909 -19.7995 -297 2 30.7103 0.971315 1.18295 34.3845 -56.7708 -28.112 -298 1 5.03388 1.93986 10.3156 40.2198 -8.9614 79.105 -299 2 4.31666 1.9889 10.9476 -10.0479 4.93042 54.0974 -300 2 4.60913 2.03307 9.4629 -17.7046 6.17047 -105.855 -301 1 12.089 2.71992 8.77078 -0.44395 146.49 0.351241 -302 2 11.7554 3.02262 9.61538 -27.0699 -84.9299 99.2585 -303 2 12.2005 3.51938 8.2563 39.3597 -64.2996 -86.5592 -304 1 33.0148 6.97463 32.6982 59.5937 11.0476 -7.192 -305 2 32.3935 6.99179 31.9702 -72.4361 0.276944 -27.2154 -306 2 33.8723 7.07198 32.2842 7.82339 -9.57214 40.7648 -307 1 24.198 6.71447 6.6216 35.4711 -61.6312 -34.9 -308 2 24.4396 5.98182 6.05494 -3.14269 40.3724 37.7002 -309 2 23.3814 7.04694 6.24897 -29.5513 22.2993 -1.9748 -310 1 11.2072 33.6597 13.7404 -90.0765 -14.1081 5.97921 -311 2 11.1307 33.961 12.8351 58.6471 -3.82007 33.6458 -312 2 12.1269 33.8025 13.9641 27.3421 17.4136 -46.6304 -313 1 9.04559 20.2483 13.1334 -12.3327 118.563 28.8468 -314 2 8.84419 19.4861 13.6763 14.5411 -47.5289 -57.295 -315 2 9.26221 19.8818 12.2761 -9.75541 -75.679 25.6173 -316 1 8.42923 16.2958 7.43331 124.073 -42.0451 -52.7424 -317 2 9.13467 15.7129 7.15261 -46.0416 66.5848 23.4621 -318 2 7.69911 15.71 7.63334 -74.6834 -28.5133 18.2854 -319 1 8.18104 30.9568 14.0723 -133.551 72.597 -7.443 -320 2 7.61271 30.5196 14.7065 49.0629 -6.08976 -18.3683 -321 2 7.66595 31.7014 13.7617 83.6323 -69.5569 10.9112 -322 1 17.7645 27.7213 30.1781 51.9341 -123.736 -74.5055 -323 2 17.6426 28.6085 29.84 -29.2491 52.2985 53.3968 -324 2 17.4532 27.7641 31.0823 -27.5855 68.413 26.443 -325 1 17.4568 25.8552 16.7827 154.473 -58.3036 63.0945 -326 2 18.0215 26.5675 17.0825 -59.5731 -25.912 -28.4384 -327 2 17.9731 25.0623 16.9277 -97.2115 84.5361 -31.6402 -328 1 28.6 12.4539 18.305 6.49159 -106.916 62.1566 -329 2 28.8491 12.5384 17.3846 0.679384 33.4404 -47.7569 -330 2 28.3481 13.3392 18.5677 -11.5062 71.0539 -6.87848 -331 1 20.0399 19.6067 21.614 3.01922 17.046 38.0965 -332 2 19.2616 19.3948 22.1295 -54.7351 -40.0747 -11.8341 -333 2 20.5158 20.2426 22.1483 33.955 6.52502 -34.0655 -334 1 24.4307 31.0807 15.275 23.5122 -14.3992 -27.9385 -335 2 24.6303 31.0822 14.3389 -51.3969 23.1188 70.6773 -336 2 23.6561 31.6372 15.3562 21.8003 -10.0533 -44.1874 -337 1 14.0344 4.28348 28.231 58.5623 -7.93259 -45.5328 -338 2 13.7612 5.01885 27.6826 -51.1202 45.9101 7.95334 -339 2 14.7762 3.89853 27.7643 -10.9784 -32.6367 41.9163 -340 1 3.18854 1.92069 1.25146 -20.104 97.423 -144.691 -341 2 3.9078 2.01521 1.87594 -44.2109 -69.4343 59.7438 -342 2 2.6209 1.25404 1.63827 62.3149 -16.3633 79.9835 -343 1 22.5438 23.6026 9.4683 -87.252 -6.22256 -36.4821 -344 2 22.8416 22.8247 8.99672 14.7837 -22.9257 -12.1197 -345 2 23.3332 23.947 9.886 82.1846 37.0176 42.2679 -346 1 6.44607 3.02132 18.876 78.7812 47.2181 -22.7118 -347 2 5.96158 2.75632 19.6579 -41.5365 -23.3135 99.9642 -348 2 5.92777 2.68238 18.1461 -36.0119 -20.5394 -78.3414 -349 1 12.3169 10.9432 26.1829 -5.08656 -28.0125 43.4747 -350 2 11.8078 11.5545 26.7152 16.3468 -20.8769 -15.1568 -351 2 12.4989 10.2086 26.769 -4.79142 30.8135 -20.3199 -352 1 8.93682 1.70871 18.8141 -58.6924 9.95536 -22.4594 -353 2 9.38413 2.41209 19.2847 65.4522 22.7208 33.2048 -354 2 8.08246 2.07653 18.5882 -7.64927 -33.5054 -10.5631 -355 1 2.23471 20.2183 0.676125 -163.761 -2.13057 -62.3142 -356 2 1.94055 19.3844 0.309555 79.6101 -58.4522 18.6978 -357 2 1.49985 20.8152 0.534791 75.9203 50.0528 46.035 -358 1 32.3471 18.1361 22.3814 33.0839 -23.5078 39.0562 -359 2 31.7985 18.8718 22.6535 -58.2719 59.1757 -20.3121 -360 2 32.8137 17.8777 23.1762 25.448 -34.6631 -15.3604 -361 1 20.2462 32.095 18.494 -44.3344 3.0311 -25.3448 -362 2 19.4254 32.5546 18.6705 65.2391 -20.7042 28.631 -363 2 20.7682 32.2231 19.286 -36.9082 18.5041 12.5029 -364 1 32.4443 13.4841 19.5474 -10.9594 -49.1601 -73.407 -365 2 32.4715 14.2622 20.1041 -32.1411 15.5405 -66.0445 -366 2 32.0113 13.7776 18.7457 38.6789 32.0174 122.655 -367 1 35.2662 18.2165 1.39492 32.4568 25.5004 34.1354 -368 2 0.0781831 18.3756 2.28352 14.7457 5.48261 -32.5375 -369 2 34.5289 17.6166 1.50792 -53.602 -35.4773 -19.5135 -370 1 3.39321 26.4378 7.35976 -132.051 -84.8389 -66.0548 -371 2 2.46301 26.3969 7.5818 68.4405 43.1117 36.9187 -372 2 3.47809 25.8893 6.57987 64.6112 37.2069 30.8245 -373 1 15.9473 21.7571 15.7717 80.2477 37.3872 97.4646 -374 2 16.5322 22.1216 15.1074 -34.0919 -18.5258 -16.5313 -375 2 15.2781 21.2896 15.2718 -24.9871 -11.8194 -70.5596 -376 1 20.4938 23.5717 7.41159 50.8193 20.4004 68.0395 -377 2 19.762 23.467 8.01969 -37.5397 -16.3792 -20.7314 -378 2 21.2331 23.8203 7.96634 -4.87661 -6.30441 -49.9873 -379 1 6.64522 4.33607 1.9108 -89.8952 -38.2359 -27.7463 -380 2 6.3417 4.912 1.20907 37.8968 -2.82108 23.7595 -381 2 7.47689 4.71773 2.1917 37.5115 41.0863 -6.03177 -382 1 26.7061 32.8934 9.88993 -46.2541 34.8766 -56.947 -383 2 26.6289 31.9395 9.9114 27.757 8.92786 33.4513 -384 2 27.3372 33.0987 10.5797 20.6789 -38.3521 25.8477 -385 1 5.48762 32.6298 12.9312 90.8528 -39.6573 -57.829 -386 2 5.6899 33.4572 13.3679 -41.8708 9.12524 24.0689 -387 2 4.57656 32.4516 13.1646 -41.376 32.1412 34.7119 -388 1 3.37037 5.95494 9.99259 -73.6018 1.37215 -95.8919 -389 2 3.97871 6.51332 10.4767 56.43 33.8593 55.7786 -390 2 3.42291 5.10584 10.4314 15.7429 -37.8924 39.7238 -391 1 2.63508 9.37827 30.0091 21.121 18.2333 -26.021 -392 2 2.77034 9.84765 29.1859 -49.0229 -52.7445 61.9651 -393 2 1.72909 9.07251 29.965 32.3238 35.317 -35.2681 -394 1 0.977609 8.01621 8.99919 -111.563 -11.1128 68.7844 -395 2 1.80768 8.15617 8.54352 75.3304 32.5143 -57.4543 -396 2 0.443131 8.77422 8.76255 38.9877 -26.0165 -8.7021 -397 1 2.73739 11.5303 15.3858 -0.442878 -61.1168 -47.9938 -398 2 3.53085 11.7961 15.8506 80.7975 102.272 87.973 -399 2 2.95627 10.6803 15.004 -64.613 -35.0083 -44.0725 -400 1 18.3556 23.1694 17.3713 -20.4775 -22.0644 -13.6739 -401 2 17.8315 22.4691 16.9827 50.8265 45.4387 -4.75072 -402 2 19.0225 23.3638 16.7128 -39.801 -33.8349 4.72978 -403 1 9.12975 4.89663 5.72344 95.4048 128.979 43.9469 -404 2 9.74879 5.58115 5.97734 -92.9449 -70.912 -48.2661 -405 2 9.47026 4.10122 6.13285 -2.30589 -59.3782 14.5398 -406 1 7.31487 35.3513 12.8636 -53.7009 10.8717 -37.9202 -407 2 7.73273 35.1803 13.7076 3.88322 -3.06639 44.3497 -408 2 6.41171 0.0723024 13.0846 65.4322 -13.1168 3.70361 -409 1 0.521146 24.4006 19.6652 23.4031 31.7994 89.2139 -410 2 0.81366 23.586 20.0739 -16.8799 22.5984 -36.8923 -411 2 0.269965 24.1469 18.7771 -16.5335 -39.5627 -65.1023 -412 1 11.6427 23.42 11.5287 41.9603 -80.4573 -53.5971 -413 2 12.5664 23.6709 11.5231 -57.7336 33.5005 25.4825 -414 2 11.2049 24.1268 12.0031 30.9178 34.3145 7.24893 -415 1 3.45754 3.18434 19.1296 -0.791523 -195.631 19.4209 -416 2 3.14656 3.75098 18.4236 -39.9981 101.254 -92.2787 -417 2 3.78767 3.78858 19.7945 39.2864 99.8256 68.2361 -418 1 20.6324 31.64 26.8937 -50.896 -88.2509 -36.3265 -419 2 21.2188 31.7854 26.1513 29.9033 0.455118 -37.7432 -420 2 20.8442 32.3427 27.5082 29.1877 97.6429 84.8576 -421 1 27.8733 20.3289 9.33363 33.4251 35.6949 -34.4631 -422 2 27.043 20.7293 9.07542 -1.36718 -21.0707 18.556 -423 2 27.6306 19.674 9.98818 -35.5326 -16.8023 19.2559 -424 1 31.2911 11.9345 0.401079 -0.669509 -1.5057 14.1636 -425 2 31.3346 12.033 1.35222 66.4446 3.47246 60.5543 -426 2 30.3556 11.9582 0.199844 -70.6666 -5.75203 -80.5383 -427 1 21.3945 7.42481 2.71765 40.4438 -7.61201 -28.0919 -428 2 22.2268 6.9521 2.71221 -74.2935 29.919 30.902 -429 2 21.0664 7.32279 3.61106 25.307 -16.9995 -1.99737 -430 1 20.0198 19.5365 17.1659 77.726 3.43199 -2.6656 -431 2 19.0718 19.4551 17.0617 -101.912 -24.19 -30.1089 -432 2 20.1298 20.0787 17.9471 30.6105 23.147 30.7171 -433 1 3.61397 34.6745 24.7218 -109.308 14.9079 63.5267 -434 2 3.62587 34.539 25.6693 57.4424 8.28404 -116.419 -435 2 4.52288 34.5476 24.4497 49.8739 -17.5674 50.3328 -436 1 23.4164 19.5568 18.899 8.1154 -3.76905 8.85423 -437 2 24.0628 19.0481 18.4095 -6.46996 7.58754 -7.80924 -438 2 23.0406 20.1537 18.2519 8.76205 -8.26691 -1.39997 -439 1 13.0197 3.81797 4.39004 -13.751 -29.1759 87.5723 -440 2 13.3658 3.12571 3.82679 28.7745 -69.2024 -39.3079 -441 2 12.942 4.57905 3.81474 -11.8278 86.2159 -47.0621 -442 1 15.2845 28.3697 13.0717 -95.1139 -12.2299 -48.7565 -443 2 15.6975 28.8397 12.3473 54.9125 27.8223 -4.42333 -444 2 14.4265 28.1135 12.7335 32.4002 -8.41115 55.0494 -445 1 31.0729 4.63924 29.6443 -6.76117 59.7208 11.8063 -446 2 30.905 5.34935 30.2638 16.8108 -48.7851 -51.7218 -447 2 31.2708 5.08233 28.8192 2.74051 -14.2359 41.6695 -448 1 18.6697 22.7204 9.28188 64.4602 -69.137 86.0174 -449 2 19.3896 22.6437 9.9081 -51.066 36.4415 -57.6202 -450 2 18.234 21.8687 9.31152 -10.0184 22.6509 -21.3654 -451 1 20.6769 4.79527 26.4455 112.125 37.3145 -38.5672 -452 2 21.3077 4.88435 25.731 31.8742 24.8201 47.3011 -453 2 19.9194 4.36867 26.0451 -142.877 -60.5842 -8.85356 -454 1 23.3256 28.5944 34.8758 -49.0897 -75.8034 4.91447 -455 2 22.3798 28.7293 34.8168 -15.7028 66.527 -10.1902 -456 2 23.4249 27.655 35.0304 62.731 20.2169 4.14569 -457 1 19.3044 32.1589 13.0141 -29.5809 23.5704 45.9915 -458 2 18.8311 32.2128 13.8443 -12.7724 -41.1367 6.13506 -459 2 19.7127 33.0189 12.9144 31.6374 4.45258 -49.2538 -460 1 34.7634 20.4998 35.2443 -13.6499 93.575 -4.385 -461 2 34.8055 20.2032 34.3351 5.28093 -46.3307 73.4743 -462 2 34.8943 19.7055 0.314969 7.43231 -45.8009 -53.0403 -463 1 13.9861 1.37234 3.23 -17.3905 76.8784 -30.4277 -464 2 13.6014 0.497041 3.27534 -38.5888 -70.4565 1.30393 -465 2 14.8347 1.28425 3.66407 58.6516 -6.1958 30.8329 -466 1 24.9605 8.59214 8.51438 71.9788 47.2208 45.683 -467 2 24.9432 7.91317 7.83988 -28.7961 -55.0824 -53.6017 -468 2 25.8898 8.71292 8.70958 -43.6741 10.0154 9.12725 -469 1 14.1786 14.8674 29.6201 -55.0628 -68.3241 -6.25569 -470 2 14.4547 13.9914 29.8895 -3.51416 41.8122 -10.9206 -471 2 13.2518 14.7702 29.4012 58.2236 16.0113 13.2021 -472 1 32.4922 9.01235 2.57225 60.3162 55.0596 -15.4453 -473 2 31.9249 8.89765 3.33466 -31.9796 -13.4608 35.4835 -474 2 32.9537 9.83445 2.73797 -18.9102 -40.2828 -15.6205 -475 1 33.4785 32.1769 27.4678 -36.0697 66.285 -128.06 -476 2 33.3593 32.1783 28.4175 33.2141 -61.8531 39.0471 -477 2 34.0456 31.4246 27.2982 -1.20475 -7.74747 75.6765 -478 1 31.0956 6.22277 0.75316 -1.68791 3.1179 22.1487 -479 2 31.59 5.84207 35.4745 1.32683 72.8085 26.2947 -480 2 31.3748 7.13796 0.779867 5.56221 -88.5619 -52.6526 -481 1 14.5717 18.7904 19.0881 -37.3197 3.53263 -16.8672 -482 2 15.4679 18.7544 19.4223 105.341 49.1246 32.5226 -483 2 14.2779 17.8794 19.0906 -69.5095 -56.084 -18.0849 -484 1 34.1233 15.7722 34.7603 -68.787 99.0112 -45.9824 -485 2 34.1397 15.2396 0.108299 16.1175 -69.8001 72.5325 -486 2 33.3672 16.3483 34.8728 50.5399 -25.6276 -28.6308 -487 1 27.185 6.31325 11.1444 -10.152 -29.5811 59.2476 -488 2 27.1779 6.89013 10.3806 5.72129 45.5244 -74.8985 -489 2 26.8382 6.85214 11.8554 9.71853 -16.3633 2.97909 -490 1 11.8433 26.7799 35.2855 30.4022 23.9277 -92.2132 -491 2 11.0199 26.4465 0.194727 -85.2345 -31.5198 31.3192 -492 2 12.4362 26.8075 0.589303 53.1338 2.65929 55.988 -493 1 7.69402 20.7204 27.4987 1.79057 89.8662 -4.7832 -494 2 7.6955 21.6527 27.2816 -8.50029 -21.6446 45.407 -495 2 7.81217 20.278 26.6581 5.64822 -75.2982 -39.207 -496 1 23.5086 8.78525 32.0301 53.7446 137.692 106.931 -497 2 23.271 8.22239 31.2932 -36.2918 -106.054 -11.4029 -498 2 23.3895 8.23251 32.8025 -13.1224 -25.361 -93.2468 -499 1 15.5723 12.9998 12.6022 -61.849 -26.1968 -183.135 -500 2 14.8092 13.5199 12.8541 7.43183 14.6243 36.583 -501 2 15.427 12.7919 11.6792 54.5257 13.4483 130.138 -502 1 11.2985 27.9294 8.6854 23.1152 -19.3718 -75.1387 -503 2 11.6352 27.1258 8.28897 9.67304 -70.3423 49.655 -504 2 11.2946 28.5662 7.97077 -23.8632 81.7385 18.9316 -505 1 15.7586 14.5554 3.4991 -8.20249 -59.9263 -66.7933 -506 2 16.0207 15.0913 2.75059 0.143613 26.6417 14.6013 -507 2 15.6309 13.6797 3.13428 0.262132 39.9968 44.162 -508 1 29.042 26.8837 19.8513 -11.7145 -32.1786 -32.6432 -509 2 28.5771 26.7987 19.0189 7.81062 -10.9956 2.48898 -510 2 28.9565 27.8091 20.0806 0.171708 60.5996 27.2904 -511 1 28.0275 8.84497 0.367598 13.4533 -7.20738 71.0945 -512 2 28.9832 8.89053 0.338066 41.255 8.50518 -59.4352 -513 2 27.8216 8.72304 1.29441 -61.4887 -2.58931 -0.227275 -514 1 32.7498 2.39469 21.0187 -49.2344 157.964 20.5985 -515 2 32.2039 1.60948 20.978 45.7607 -72.66 -9.16697 -516 2 33.6468 2.06698 20.9535 12.2647 -89.4033 -3.91285 -517 1 16.2518 5.40714 30.7296 176.034 127.855 -121.817 -518 2 16.7322 6.23429 30.7652 -114.2 -83.4266 70.7216 -519 2 16.6149 4.95125 29.9702 -71.1617 -39.2645 63.1616 -520 1 28.5774 22.3151 24.2235 126.464 -30.0745 123.215 -521 2 28.6145 23.0449 24.8418 -50.2287 23.9506 -43.3353 -522 2 29.2544 21.7097 24.5259 -73.5696 11.9078 -76.2697 -523 1 31.7128 17.9846 9.79808 -72.66 70.2809 -108.931 -524 2 32.5424 17.6112 10.0956 92.5579 -53.8911 58.0559 -525 2 31.0865 17.7557 10.4849 -12.0469 -16.3097 47.7217 -526 1 28.8218 33.2443 34.5954 11.3632 13.4381 -69.1097 -527 2 28.5344 33.9618 34.0308 8.10746 -33.2748 41.731 -528 2 28.3356 33.3706 35.4102 -7.0575 14.7438 9.60856 -529 1 34.6093 19.7152 32.7136 -58.4991 51.5425 -18.2983 -530 2 34.6152 19.2892 31.8564 16.8286 -21.6165 -3.19767 -531 2 33.942 20.3972 32.6381 48.1976 -38.2016 17.2125 -532 1 17.6954 27.6501 3.21718 -72.6845 1.30547 -51.6073 -533 2 18.4481 27.4622 3.77784 55.1781 20.3748 30.2719 -534 2 17.8188 28.56 2.94674 23.328 -13.2163 21.5928 -535 1 26.6884 34.6209 27.4938 -26.4402 111.109 -39.6184 -536 2 26.4581 35.4305 27.9494 19.1084 -83.1179 -31.4301 -537 2 26.5877 34.831 26.5653 6.42432 -21.2515 52.4499 -538 1 21.336 26.6252 14.5054 -72.5875 57.5812 133.446 -539 2 20.7546 26.1743 13.8931 18.0626 -22.6846 -55.4308 -540 2 22.2041 26.5545 14.1084 58.8894 -36.7423 -77.0296 -541 1 0.364659 14.1659 2.1165 -8.47071 10.3543 -79.6351 -542 2 0.92543 14.6282 1.49353 -29.6648 -24.2212 44.7411 -543 2 35.1633 13.8064 1.5815 28.5989 12.8252 35.2752 -544 1 23.7941 1.57151 23.8153 -152.335 47.9415 -90.6871 -545 2 23.0155 1.15189 24.1813 46.0715 -40.9612 64.2251 -546 2 23.4645 2.09117 23.0822 107.126 -4.74738 25.5915 -547 1 8.54969 33.4626 4.50828 -2.60668 -9.59529 -25.0495 -548 2 9.3287 33.1991 4.01843 -72.4941 13.9234 -2.86505 -549 2 7.84086 33.4335 3.86567 85.5731 -5.94196 31.1338 -550 1 33.9747 22.1753 28.939 -7.01808 59.5677 19.8481 -551 2 33.7668 23.0311 29.3141 32.1904 -88.6827 -59.7482 -552 2 34.5098 22.3737 28.1705 -21.906 19.6801 34.2682 -553 1 14.4946 4.44832 8.81497 97.6551 51.8994 -25.5764 -554 2 14.1684 4.63793 7.93526 -27.8383 -13.0718 5.01487 -555 2 15.3792 4.81378 8.82685 -60.0149 -33.9443 26.3443 -556 1 33.7962 24.0182 9.18382 -16.6703 96.0125 96.0278 -557 2 33.9547 23.1393 8.8394 14.0112 -82.5213 -66.5027 -558 2 33.5743 24.5414 8.41358 6.7603 -26.8866 -14.771 -559 1 16.2286 19.0037 12.2651 5.66163 -11.3285 13.5815 -560 2 16.8898 18.9736 12.9566 -94.6652 -13.0707 -20.3657 -561 2 15.4158 18.7435 12.6987 83.7389 13.3963 10.1536 -562 1 31.009 33.5738 32.2523 -98.6016 -62.4559 -58.3452 -563 2 30.9182 33.2351 33.143 45.3997 7.92623 105.383 -564 2 30.3115 33.1421 31.7591 49.6293 48.0445 -40.6251 -565 1 2.10054 7.03891 25.4933 49.5742 -116.414 -24.3642 -566 2 1.37817 7.21613 26.0958 -46.5398 18.9272 35.2538 -567 2 2.23171 6.09229 25.5477 -8.82651 99.5353 -10.0328 -568 1 20.3898 7.66837 35.4531 -71.8388 10.0211 14.4813 -569 2 20.3691 7.16129 0.817511 25.0287 5.72214 -14.6494 -570 2 21.2857 7.56941 35.131 49.8575 -18.8171 -2.49779 -571 1 29.274 19.0325 27.686 46.2941 -57.7969 -81.4741 -572 2 28.4655 18.615 27.3891 -2.60762 18.7786 17.045 -573 2 29.95 18.6894 27.1016 -32.0159 35.3968 53.3081 -574 1 13.9386 22.6609 17.3852 -97.7961 -40.3289 22.4585 -575 2 14.7687 22.5571 16.9199 100.143 -25.998 -72.0206 -576 2 14.0638 23.4388 17.9288 -3.35982 72.3696 50.3521 -577 1 25.1286 22.9251 17.5378 2.88627 34.8303 -40.7053 -578 2 24.3315 22.3996 17.6057 70.2325 -11.6087 52.9929 -579 2 25.7079 22.5707 18.2124 -80.6546 -34.0558 -10.1113 -580 1 14.8135 28.3634 3.79138 58.9163 -4.93091 -19.0913 -581 2 15.7559 28.3034 3.63485 23.3775 -21.475 -70.9606 -582 2 14.7389 28.6274 4.70842 -76.4898 26.8388 94.1799 -583 1 9.41819 1.55647 11.4413 -43.6786 -53.6748 -18.6154 -584 2 9.08375 1.02165 12.1613 17.8336 20.117 53.8054 -585 2 9.02915 1.17188 10.6558 23.9428 34.2089 -37.3194 -586 1 0.585961 35.2962 12.1156 64.9297 1.5716 72.811 -587 2 0.994623 34.458 11.8996 -20.9731 8.50202 -18.6912 -588 2 35.3883 35.3923 11.4742 -49.9897 -13.7446 -58.3011 -589 1 24.9957 27.1133 22.8582 -6.35046 -2.68148 -104 -590 2 24.9452 26.681 23.7108 1.40984 -2.49174 68.2654 -591 2 24.9712 28.0484 23.0614 3.40426 3.89543 28.47 -592 1 28.0977 27.082 14.3679 108.558 44.661 -99.5092 -593 2 28.1744 26.1324 14.4617 -2.40605 -20.7513 2.43342 -594 2 28.7791 27.3167 13.738 -98.0415 -29.0805 90.2958 -595 1 29.4417 8.93123 21.3892 -53.0669 -61.5733 10.4227 -596 2 29.8847 9.43489 20.7063 37.9098 45.9659 -31.5319 -597 2 28.8141 8.38518 20.9158 14.0931 12.6147 28.1266 -598 1 5.82302 14.8968 2.82269 -35.3302 -38.213 6.3863 -599 2 5.68081 14.0101 3.15399 -7.68409 74.7431 -49.424 -600 2 5.12218 15.0298 2.18442 42.3828 -35.6195 47.9763 -601 1 31.1131 8.01659 27.8852 -12.2841 -38.95 -68.9882 -602 2 31.4869 8.6953 27.3232 -35.4764 -64.2999 25.4486 -603 2 30.8257 7.33413 27.2787 38.1647 89.4277 53.1272 -604 1 24.9203 28.5915 25.9686 122.426 -10.4542 4.02408 -605 2 25.8714 28.5083 25.8993 -67.2903 -16.7404 -37.9179 -606 2 24.7802 29.0712 26.785 -60.47 27.9967 37.1181 -607 1 34.8613 10.3008 12.873 -24.6312 -15.8447 20.1712 -608 2 34.6288 9.37357 12.9234 3.38717 17.763 4.49854 -609 2 34.257 10.7328 13.4767 15.4493 -14.0255 -17.6758 -610 1 10.3166 24.58 6.5705 150.619 -12.9618 -27.2885 -611 2 9.45032 24.6532 6.97112 -101.461 -0.59168 -17.8031 -612 2 10.1396 24.3961 5.64794 -50.6187 13.5075 51.4764 -613 1 4.30103 0.284542 18.8493 -92.8263 119.369 61.7574 -614 2 3.78792 0.981299 19.2586 42.7748 -77.3563 43.1915 -615 2 4.32621 0.518396 17.9215 49.0858 -36.2257 -111.275 -616 1 8.41845 15.4894 34.9161 -21.9995 -92.3116 77.3643 -617 2 8.5516 16.0973 34.1888 0.40017 33.805 -80.7382 -618 2 8.06037 14.7013 34.5077 22.5642 59.4361 -2.08439 -619 1 6.18986 7.53958 24.2193 -77.072 -75.6264 59.2598 -620 2 6.02793 8.4788 24.3082 64.4468 -2.40175 -50.2801 -621 2 6.94982 7.48078 23.6403 10.241 79.4709 -7.75386 -622 1 1.0813 14.4102 23.7545 17.8874 -20.3959 33.4307 -623 2 0.598463 15.0355 23.214 -16.6192 -13.5318 -8.93398 -624 2 0.4708 13.6847 23.8856 10.4261 29.3799 -13.6347 -625 1 31.6711 8.22546 14.0838 -88.2666 -7.53425 73.0485 -626 2 31.1065 7.81878 14.7411 54.414 -17.8712 -41.7073 -627 2 31.356 9.12718 14.0215 24.3549 26.385 -31.506 -628 1 4.3232 13.1663 34.0253 50.9904 35.9431 -5.38217 -629 2 4.88629 13.8006 33.5817 -24.9491 -34.0612 29.2466 -630 2 3.56221 13.0783 33.4514 -25.8695 -7.26615 -11.2578 -631 1 22.66 11.9929 8.47771 25.9841 35.8168 65.8525 -632 2 22.5722 11.2159 9.0299 2.25539 -19.3247 31.6031 -633 2 22.4098 11.6952 7.60305 -23.4685 -9.98814 -92.4697 -634 1 12.5648 8.92628 31.8888 1.71286 -62.5223 -5.76503 -635 2 12.9463 8.57405 32.6929 0.308995 28.7305 4.42907 -636 2 12.421 8.1588 31.3351 -4.47831 29.2538 -10.7263 -637 1 7.37205 21.642 6.22483 20.2244 -86.7927 59.8717 -638 2 7.17256 22.5036 5.85864 -20.6203 77.8304 -49.894 -639 2 7.30266 21.0433 5.48122 -1.15773 28.5541 -2.18688 -640 1 27.0078 16.6345 8.08915 -16.7776 114.02 -71.7494 -641 2 26.4317 16.8465 8.82358 20.4643 -48.3731 4.30587 -642 2 27.3718 15.7771 8.30945 -2.5544 -68.4615 65.4386 -643 1 7.19536 3.79407 31.5939 96.3444 9.15971 20.9346 -644 2 7.20257 3.7578 30.6374 -28.8696 -3.48026 -31.443 -645 2 8.10798 3.95301 31.835 -61.9528 -6.37481 15.5395 -646 1 30.1599 16.2094 7.44437 -35.1628 168.291 44.0803 -647 2 30.079 17.1255 7.71015 68.0691 -88.8671 -10.22 -648 2 29.2887 15.9745 7.12475 -38.9582 -76.3841 -36.7339 -649 1 10.2158 4.39927 31.8968 -6.01407 5.71757 -20.7292 -650 2 10.6261 4.90358 31.1942 -3.38616 -15.715 37.2549 -651 2 10.8508 4.42448 32.6126 4.69159 14.9508 -18.7469 -652 1 27.5051 28.3875 25.6828 25.783 -101.894 -52.45 -653 2 28.3631 27.9785 25.7959 -40.3441 43.7985 9.06157 -654 2 27.5763 29.225 26.1408 28.1345 58.1745 43.8413 -655 1 19.0552 11.8994 31.2663 -77.5761 8.06187 -72.9526 -656 2 18.2733 12.0303 30.7299 78.2406 -2.712 25.5012 -657 2 18.718 11.6279 32.12 -2.99072 -21.4479 60.884 -658 1 3.86571 28.0938 13.0195 -23.2585 47.2329 -4.50778 -659 2 4.48935 27.487 12.6207 28.5174 -54.326 2.54157 -660 2 3.82038 28.8282 12.4073 -10.4375 24.678 3.96981 -661 1 26.5997 23.3417 29.5587 73.2868 -39.8192 40.6402 -662 2 25.8214 23.6007 29.0654 -22.3292 -27.6393 -29.4187 -663 2 26.7611 22.4359 29.2943 -38.6075 64.9284 -7.60011 -664 1 27.6897 7.4106 19.8613 -2.32359 -71.1062 23.1248 -665 2 27.7834 6.6158 20.3865 -6.02471 65.3847 -36.2911 -666 2 27.2839 7.11367 19.0468 6.10913 11.539 5.40271 -667 1 20.052 4.55998 1.8452 -194.038 24.7244 132.492 -668 2 19.1395 4.41593 2.09567 91.5236 -46.551 -114.209 -669 2 20.3859 5.17527 2.49807 107.272 28.0869 -18.4638 -670 1 32.602 15.4737 21.2951 -20.8893 85.8797 37.032 -671 2 32.419 16.3995 21.4555 17.422 -88.4588 -11.6652 -672 2 32.5897 15.0726 22.1641 -3.37279 8.6533 -16.743 -673 1 29.0551 5.06529 32.5326 81.873 0.589934 15.5768 -674 2 28.1799 4.93926 32.1661 -73.8772 -5.63912 -27.1218 -675 2 28.9484 5.76953 33.1721 -8.03642 11.6135 14.9819 -676 1 18.3067 3.04276 8.64187 58.9499 28.4676 21.5917 -677 2 18.0273 3.95829 8.64076 -14.7608 -8.96715 -3.85249 -678 2 17.5352 2.55607 8.35159 -55.9613 -18.4359 -22.7107 -679 1 34.7363 1.91301 8.12053 -45.688 -72.7847 28.8951 -680 2 35.34 2.23351 7.45037 10.331 -34.4005 -28.2947 -681 2 34.6269 0.983418 7.92018 43.1562 100.845 -11.0094 -682 1 20.9532 29.3093 14.6908 -4.60573 112.316 14.3233 -683 2 21.1336 28.3739 14.5972 -18.7645 -74.3146 -6.63115 -684 2 20.0031 29.3613 14.795 20.5811 -32.033 -10.1947 -685 1 31.9049 26.1971 33.5443 41.5261 82.5513 -15.2504 -686 2 32.2733 27.0776 33.4714 -11.1011 -15.7157 -58.4875 -687 2 31.8757 26.0263 34.4857 -31.0414 -70.4302 56.2803 -688 1 2.97534 9.05622 14.3085 45.0085 17.308 21.7581 -689 2 2.85821 8.92243 13.368 -8.55564 -6.43928 -41.4636 -690 2 2.15798 8.74642 14.6986 -35.2668 -14.2551 17.1973 -691 1 34.246 3.69816 9.97129 14.5708 -111.765 -106.32 -692 2 34.5614 3.03818 9.35388 13.6627 80.4291 70.4334 -693 2 33.2925 3.61889 9.94105 -40.2636 36.5172 37.1086 -694 1 19.8481 0.1446 18.9016 165.62 -54.4695 -12.0568 -695 2 20.6412 0.676939 18.8389 -99.5459 -44.6615 7.47188 -696 2 19.1308 0.777274 18.864 -72.1431 89.5926 -6.96567 -697 1 32.2576 30.8368 10.9242 -4.12348 -37.4357 8.36234 -698 2 32.6018 31.6723 10.6083 13.1132 21.1816 -3.81674 -699 2 32.9278 30.5134 11.5262 -7.8978 8.0616 -10.3923 -700 1 27.0172 17.9456 11.2339 111.375 60.0151 127.451 -701 2 26.8607 18.3613 12.0818 8.76844 -53.1347 -107.71 -702 2 27.9706 17.9125 11.1552 -89.3416 -0.550725 -0.0157693 -703 1 20.2294 35.2354 14.5871 -69.5438 52.6266 169.078 -704 2 20.5807 34.9392 13.7474 65.2364 -78.6829 -86.9768 -705 2 20.5305 34.581 15.2175 -1.95356 32.4603 -87.1035 -706 1 28.1368 28.8737 1.33752 129.541 -82.7722 38.9908 -707 2 27.5178 29.2409 0.706451 -60.0221 43.4138 -79.105 -708 2 28.8678 28.5626 0.803539 -84.8509 46.3105 51.5473 -709 1 19.0545 9.09722 19.79 -152.566 -42.7986 10.497 -710 2 18.0987 9.14314 19.8123 104.842 -29.9296 -1.67142 -711 2 19.3362 10.0063 19.6879 47.1859 71.8968 -7.7632 -712 1 28.908 11.6794 7.13619 -32.8137 26.418 27.6514 -713 2 29.7566 11.7919 6.70779 71.7765 16.0929 -8.36171 -714 2 28.3974 11.1515 6.52235 -54.2056 -34.7688 -26.2478 -715 1 15.6777 27.8008 20.4095 -84.1403 3.80829 36.1379 -716 2 15.9895 28.5082 19.8451 11.2665 83.3724 -57.4992 -717 2 16.431 27.2174 20.5016 66.7711 -81.0963 20.3708 -718 1 11.4721 8.69009 1.78864 9.74736 60.9033 64.9989 -719 2 10.6762 9.14002 2.07189 62.441 -89.2061 -84.8795 -720 2 11.1868 8.12832 1.06806 -68.7286 22.8855 8.22006 -721 1 35.2886 10.2847 26.2142 -55.2572 -126.911 6.37938 -722 2 35.2399 9.49264 26.7496 3.78223 80.7839 -55.2166 -723 2 0.374116 10.8633 26.695 54.7586 50.479 44.8435 -724 1 15.1246 29.3353 22.6989 -173.18 43.7445 -20.7779 -725 2 14.2253 29.6628 22.6828 103.781 10.023 59.5298 -726 2 15.1678 28.7167 21.9697 68.0826 -57.4093 -43.0165 -727 1 26.3537 6.84547 25.1722 -4.63582 -30.3837 -33.5314 -728 2 25.9912 7.58362 24.6824 -0.533292 -8.29827 1.21582 -729 2 26.2201 6.08934 24.6007 7.66998 43.3118 28.3176 -730 1 17.8778 33.0777 31.3347 -23.1416 -152.823 -27.2 -731 2 18.2325 33.7816 30.7917 -8.37178 79.2676 50.5199 -732 2 17.6112 33.5111 32.1455 27.552 84.4547 -22.52 -733 1 3.45247 32.2248 21.0692 -79.9962 122.14 -62.2245 -734 2 2.9778 32.5294 20.2958 65.3854 -68.3954 72.9715 -735 2 3.42657 32.9662 21.6741 20.5788 -54.8723 0.450483 -736 1 34.6889 28.2408 9.56726 -31.5443 -98.6328 -4.15076 -737 2 33.8747 28.2799 9.06547 15.7923 17.4516 13.4028 -738 2 35.0184 29.1395 9.56046 13.3439 88.3226 -6.37393 -739 1 11.8358 33.7715 34.9766 -7.59771 16.0905 1.8506 -740 2 12.7339 33.7274 34.6486 -75.2112 -72.8999 42.4189 -741 2 11.6246 32.8701 35.2199 88.2497 49.9512 -42.8838 -742 1 27.9904 23.6439 17.286 -15.328 -38.6404 29.5053 -743 2 27.3279 24.2176 17.6709 -6.6554 48.8867 -7.44392 -744 2 27.8318 22.7901 17.6887 28.3517 -1.32444 -21.643 -745 1 30.2148 28.5985 35.3214 -30.2772 20.3466 35.8071 -746 2 31.1059 28.3583 0.128141 26.9181 -15.6798 -7.40653 -747 2 30.1852 28.4461 34.3768 17.9101 -10.14 -30.889 -748 1 21.8918 27.3711 7.14598 -148.078 43.9407 23.0348 -749 2 22.4412 27.9944 7.62137 47.5919 25.4942 20.0399 -750 2 22.5114 26.7573 6.7516 98.3268 -66.7798 -41.9308 -751 1 1.75582 32.9681 9.67423 76.9241 56.0879 15.9253 -752 2 2.23482 33.1074 8.85728 -32.3396 -8.59603 57.9151 -753 2 2.25379 33.4555 10.3305 -50.3439 -50.5299 -75.8858 -754 1 0.210008 25.7004 3.19351 -72.0205 -4.01381 -16.6285 -755 2 0.752182 26.3766 3.59968 34.0966 64.3694 29.3021 -756 2 0.811576 24.9725 3.03678 38.3408 -73.6781 -19.3042 -757 1 13.8935 31.5152 7.21535 -40.4393 49.1214 -42.5753 -758 2 14.5105 30.793 7.09721 35.9866 -44.5832 8.92535 -759 2 13.6509 31.7716 6.3256 -3.02824 4.80241 32.9126 -760 1 1.19548 17.2352 10.1726 -105 64.9433 35.3647 -761 2 1.8345 16.532 10.2883 60.6709 9.4678 -74.2388 -762 2 1.46533 17.6744 9.3661 49.3378 -85.9182 46.5246 -763 1 26.3964 29.9711 16.7931 131.115 43.8223 24.0088 -764 2 25.615 30.239 16.3096 -120.078 10.7388 -52.8908 -765 2 27.0366 30.6602 16.6155 -8.56758 -54.021 30.9895 -766 1 6.05099 32.3967 30.1853 5.48676 -2.35019 10.1937 -767 2 6.80443 32.7303 30.6724 8.29144 14.4257 28.3309 -768 2 6.4293 31.9976 29.4018 -7.14654 -18.1784 -31.1246 -769 1 26.1089 21.6679 1.29472 -41.158 18.3879 78.8768 -770 2 25.6625 21.8759 2.11553 47.1287 -31.2792 -38.0875 -771 2 25.5986 22.1199 0.622772 0.353705 5.18418 -43.7309 -772 1 17.4431 21.3042 6.11842 -2.70618 68.5058 128.415 -773 2 17.3424 22.2395 6.29547 8.74893 -104.1 -61.7908 -774 2 17.4191 21.2366 5.1639 -5.74586 33.7778 -63.5851 -775 1 28.4147 27.0935 17.1252 -4.01319 2.30477 -36.9394 -776 2 29.2981 27.3227 16.8362 70.6484 10.5538 39.2698 -777 2 27.8837 27.1349 16.3298 -65.7772 -11.5243 2.01916 -778 1 31.3045 34.7149 13.4427 -22.9799 3.84685 62.0716 -779 2 30.9406 34.8277 14.3208 22.7542 -4.75958 -44.9741 -780 2 31.3145 33.7674 13.307 1.65605 -5.97599 -4.99822 -781 1 17.8316 30.3744 2.80742 13.8805 -76.5249 64.0274 -782 2 18.7244 30.6355 2.58163 40.9368 17.643 -19.2379 -783 2 17.2736 30.9537 2.28859 -46.9564 55.8062 -50.6318 -784 1 21.2138 4.88347 14.5608 2.3624 -63.9532 -48.0032 -785 2 21.2751 5.63756 15.1472 9.7261 63.6419 71.4622 -786 2 20.9623 5.25631 13.7158 0.427283 -19.9888 11.3786 -787 1 2.58183 4.47768 29.5793 33.1872 -112.438 77.902 -788 2 1.83044 3.97205 29.2694 23.0956 26.3269 2.96372 -789 2 3.0506 3.87908 30.1608 -65.4663 91.523 -76.6854 -790 1 13.9988 19.821 25.1902 -50.5167 25.8502 89.6039 -791 2 13.5791 20.1209 25.9965 -26.9821 -31.4414 -58.1881 -792 2 14.9228 20.0441 25.3033 86.3655 -3.02184 -35.8162 -793 1 31.2355 21.2734 20.2143 -22.8319 -178.555 16.4726 -794 2 31.0188 22.0288 19.6678 46.9607 78.2348 39.4622 -795 2 31.7477 21.6382 20.936 -22.7661 84.7573 -54.6178 -796 1 5.98906 23.6118 29.5057 -154.089 -65.5094 119.896 -797 2 6.93675 23.486 29.4575 53.5671 62.5392 -85.3176 -798 2 5.78994 24.2129 28.7879 100.452 1.92566 -28.5892 -799 1 34.9793 3.70523 28.2195 43.653 0.981173 -28.7798 -800 2 34.4045 2.95652 28.0606 13.3441 0.363569 -2.54187 -801 2 0.270595 3.50348 27.7302 -60.0238 5.59393 35.9209 -802 1 23.9077 26.4062 10.4329 -31.0905 79.2029 -34.765 -803 2 23.1989 27.0484 10.4714 35.6956 -48.5262 7.93538 -804 2 24.5797 26.8226 9.89327 -6.35781 -29.0963 17.2877 -805 1 24.6635 14.2149 8.75122 -39.4385 3.94714 -7.68593 -806 2 25.5004 13.7857 8.57367 7.09634 -16.7695 -6.84775 -807 2 24.0042 13.5626 8.51429 33.5665 11.9077 8.1046 -808 1 26.7626 32.3281 18.595 8.1296 1.1658 12.0067 -809 2 26.9983 33.2223 18.3477 -91.7296 -59.0605 15.7335 -810 2 25.8084 32.3029 18.5231 71.6174 64.4425 -18.1641 -811 1 15.8164 4.4571 25.2911 -0.969443 86.149 -10.0472 -812 2 15.0355 4.40765 24.7397 -46.7166 -57.684 -28.6245 -813 2 16.0298 5.38972 25.3219 42.8368 -11.5485 34.585 -814 1 19.1817 10.0629 23.1816 68.003 -1.18629 -14.7437 -815 2 18.8592 10.7015 23.8174 1.6019 14.4418 14.5874 -816 2 20.1103 10.2722 23.081 -63.999 -15.0981 11.0875 -817 1 16.921 8.80992 1.39691 5.51049 13.2857 10.0508 -818 2 17.4295 8.46922 0.660943 31.0913 -3.20643 -19.5252 -819 2 16.0637 8.39331 1.30961 -36.5554 -8.76862 17.2256 -820 1 22.4017 16.2975 33.083 -46.5196 78.6596 -76.537 -821 2 21.6855 15.7153 32.8295 42.5686 -0.672646 23.9555 -822 2 22.9005 15.7973 33.7289 15.9456 -69.0485 48.9107 -823 1 8.68182 34.4885 6.98579 -7.54129 -17.0971 -74.3771 -824 2 9.58038 34.4267 7.30984 47.1176 4.05073 69.7424 -825 2 8.74978 34.2933 6.05116 -47.8024 5.72394 -1.35938 -826 1 23.9512 6.80496 13.7055 -35.8857 128.919 -101.661 -827 2 24.0159 5.85015 13.7253 7.28979 -110.021 42.5823 -828 2 24.0412 7.0706 14.6207 11.7879 -25.1848 57.1416 -829 1 9.0144 30.1287 34.4159 -0.708265 8.16789 10.0914 -830 2 8.35259 29.4395 34.3581 18.8865 -0.814734 -4.64994 -831 2 9.66769 29.8898 33.7583 -19.5491 -5.66185 11.0471 -832 1 26.4508 33.5536 7.0832 30.7795 5.806 64.7147 -833 2 25.8042 32.9499 6.71762 2.13217 0.065051 28.627 -834 2 26.471 33.3468 8.01757 -20.2274 -4.69719 -76.7028 -835 1 30.8883 23.188 18.3978 -60.1288 17.4927 -118.222 -836 2 29.9874 23.2377 18.078 36.9377 -1.33026 55.9953 -837 2 31.4239 23.1712 17.6046 16.0945 -3.4338 56.4184 -838 1 10.5274 12.5423 34.9033 -67.3919 -37.4538 -27.0356 -839 2 11.4153 12.1942 34.9851 20.1408 18.2778 27.0574 -840 2 10.508 13.2924 0.0504926 35.4649 12.497 20.8063 -841 1 3.6378 19.4364 9.7108 33.6687 15.1204 -3.97269 -842 2 3.0357 19.2383 8.99353 -59.0343 -11.7264 -18.7601 -843 2 4.49675 19.4984 9.29293 38.2053 10.1555 14.4545 -844 1 24.552 32.7037 5.53456 -2.31145 38.281 30.8588 -845 2 25.0512 32.3315 4.80761 13.3201 -26.0485 -34.3085 -846 2 23.7072 32.2548 5.50019 -22.3644 -20.5171 -7.08918 -847 1 11.8101 0.451759 5.9598 15.4316 -62.4853 87.049 -848 2 11.4451 35.4188 6.66135 55.2539 68.259 -78.1318 -849 2 12.7375 0.537519 6.18076 -65.4691 -10.4776 -2.40589 -850 1 7.05339 31.9289 0.309817 164.597 36.2718 -83.4904 -851 2 7.51988 32.7647 0.29898 -81.1253 41.2246 61.7545 -852 2 7.60576 31.3391 35.244 -74.4289 -77.8106 19.4093 -853 1 4.88055 2.44646 3.21122 102.671 94.0043 197.055 -854 2 5.10886 2.27848 4.1255 -63.2274 -85.3691 -85.6811 -855 2 5.19609 3.33462 3.04433 -34.8947 -9.68548 -98.8989 -856 1 7.48014 15.1531 10.2941 119.548 -89.2114 96.8156 -857 2 7.02997 15.9036 10.6818 -56.0165 40.0736 -44.9064 -858 2 7.08821 15.0605 9.42574 -70.6546 45.1128 -44.6028 -859 1 6.26711 26.904 24.5466 -18.018 -76.9316 38.2749 -860 2 5.56995 27.0721 25.1806 10.0001 6.03582 -14.8282 -861 2 6.32268 27.7091 24.0318 -1.24218 65.9708 -34.6969 -862 1 7.15211 18.2021 25.5449 -21.9536 -33.5674 24.005 -863 2 6.52129 17.8319 26.1624 -13.8754 34.3002 20.3471 -864 2 7.48415 17.447 25.0593 34.9883 -3.83009 -40.6165 -865 1 15.2388 32.9181 4.26291 63.2653 32.3933 46.9188 -866 2 14.3143 32.8539 4.50245 16.128 -25.6484 -74.9416 -867 2 15.2798 32.5747 3.37035 -68.3688 -1.95224 25.7349 -868 1 13.9005 29.6985 15.3252 -30.0489 -11.9024 16.8227 -869 2 14.4357 29.0527 14.864 29.1459 -5.70279 -28.1173 -870 2 13.2647 29.1773 15.8155 -2.88812 19.4683 8.82766 -871 1 0.236869 14.7799 15.9933 -197.541 41.6284 59.2942 -872 2 35.1551 14.0603 16.2226 86.5786 -43.0383 -8.15884 -873 2 35.1805 15.554 15.9773 92.3677 25.5619 -23.0335 -874 1 9.98766 25.2301 12.269 0.452101 89.4539 63.6673 -875 2 10.0365 26.0882 11.8477 -5.88975 -42.2823 4.14746 -876 2 10.185 25.4031 13.1895 -13.3365 -28.6036 -60.4023 -877 1 21.4603 13.2049 15.0149 100.974 32.5156 139.024 -878 2 21.7735 13.1276 14.1137 -54.0891 -21.1588 -58.7194 -879 2 20.5298 12.986 14.9652 -34.2482 -21.6515 -73.3557 -880 1 31.1078 22.9991 9.65619 -47.0525 -33.6785 -15.0028 -881 2 30.4287 23.5253 10.0782 -15.2089 10.2746 9.6055 -882 2 31.9291 23.4241 9.90348 61.6807 29.1457 10.9788 -883 1 13.2563 9.90564 3.33829 10.1964 57.4404 -83.1333 -884 2 13.6677 10.6346 2.87389 3.37715 -23.2035 53.2807 -885 2 12.6585 9.51987 2.69791 -5.56637 -26.1562 32.7142 -886 1 10.3022 4.65246 17.6406 -11.9537 53.9357 -141.36 -887 2 10.5017 4.29474 18.5057 34.357 -45.9381 100.725 -888 2 11.1439 4.66203 17.1849 -26.5292 -7.18061 27.5695 -889 1 28.8782 21.4777 33.7524 -28.0991 -50.0375 -36.958 -890 2 28.5952 20.7854 34.3497 7.96749 25.3026 19.3337 -891 2 28.6422 21.1554 32.8825 19.2969 39.6636 6.94403 -892 1 17.6859 22.5274 26.0562 -108.664 -84.7987 -55.3245 -893 2 18.3831 23.1834 26.0541 80.5569 56.5831 44.5095 -894 2 17.6978 22.1675 26.9431 38.4307 29.1208 19.4878 -895 1 35.3289 15.359 21.6101 62.6541 8.59664 11.8438 -896 2 34.4232 15.3943 21.3024 -33.3167 -6.32726 -28.4045 -897 2 0.308301 14.9705 20.8824 -31.569 9.15313 9.65361 -898 1 34.8143 9.91543 7.88002 62.1971 -47.1153 40.7324 -899 2 34.3424 10.3801 7.18896 -48.1009 44.9985 -38.8917 -900 2 34.3864 10.1917 8.69047 -22.5153 13.9236 -0.899322 -901 1 25.9892 17.7284 34.7684 43.956 42.9765 -14.3718 -902 2 25.4513 18.3755 34.3122 -9.0187 -6.44238 0.752225 -903 2 25.3784 17.0285 34.9993 -37.0621 -34.4819 11.6648 -904 1 1.10554 14.4475 19.2888 -185.972 60.8617 29.0657 -905 2 1.58112 13.7328 19.7122 87.1098 -45.5977 2.30081 -906 2 1.73164 14.8165 18.6659 97.1772 -10.9253 -35.2674 -907 1 23.0705 7.39442 29.7254 -24.5986 -112.115 -33.4465 -908 2 22.6417 7.26401 28.8796 11.4404 51.1764 13.1754 -909 2 23.2161 6.50936 30.0596 15.5321 54.2943 28.7578 -910 1 10.5227 33.0542 2.5622 -8.79506 38.2993 23.3453 -911 2 10.8293 33.949 2.41547 -8.39548 -36.7363 4.12177 -912 2 10.8693 32.5572 1.8212 10.0232 -12.1532 -24.397 -913 1 32.8796 27.8684 13.0471 -88.3048 68.8629 78.8026 -914 2 33.4627 28.4844 12.6035 15.1763 -79.2035 -19.9047 -915 2 33.1447 27.0089 12.7197 66.9624 2.74064 -56.4333 -916 1 28.8646 12.2173 3.75367 60.119 23.7361 15.5141 -917 2 28.5496 11.5164 4.32455 -19.4619 8.56407 -25.578 -918 2 28.2443 12.23 3.02472 -25.8272 -13.9675 -8.60119 -919 1 23.1206 7.48998 34.3923 50.1617 -54.6697 -48.0913 -920 2 23.0885 7.77596 35.3053 -16.0878 39.0306 71.9507 -921 2 23.9155 6.95985 34.3347 -42.399 20.9419 -14.9485 -922 1 23.0496 24.1218 3.43647 -10.5386 -61.3395 -25.0519 -923 2 23.1849 24.9084 3.96491 -28.4328 -22.981 33.6151 -924 2 22.4579 23.5805 3.95905 58.1067 80.5812 -11.1972 -925 1 32.9268 24.0067 30.5698 93.4107 -38.706 9.0689 -926 2 33.6604 24.5596 30.8386 -62.7364 -15.7161 -11.1461 -927 2 32.1781 24.602 30.534 -33.0532 54.6577 7.00249 -928 1 3.45549 11.7451 10.9315 55.2503 -47.3468 -62.6269 -929 2 2.67175 11.8755 11.4653 66.182 69.0224 22.3506 -930 2 4.06526 12.4191 11.2317 -113.835 -23.8394 39.789 -931 1 18.0309 4.40872 5.247 3.37645 -24.2481 -1.4641 -932 2 18.4652 3.55907 5.17087 -12.8562 15.5609 6.39922 -933 2 17.1792 4.209 5.63557 14.7085 -4.37891 -5.72668 -934 1 21.9173 10.6745 23.007 -138.057 -21.9234 -6.13985 -935 2 21.5554 11.4521 23.4321 54.8553 -18.9986 -14.4575 -936 2 22.8638 10.8174 23.011 83.3206 46.855 16.4839 -937 1 27.4308 31.4867 23.7611 62.2461 25.3649 -7.13523 -938 2 27.8048 32.2023 23.2471 -30.9176 -35.4317 23.2129 -939 2 28.189 31.0389 24.1364 -34.9223 14.7407 -14.7627 -940 1 31.1334 15.0475 2.15046 -6.94564 65.7161 -55.1515 -941 2 31.361 14.3063 2.71188 14.6102 -59.6222 41.1184 -942 2 30.5869 15.6073 2.70187 -8.64082 1.0755 8.08938 -943 1 26.4837 26.4613 29.233 106.107 -63.0887 -30.778 -944 2 26.2683 27.33 29.5723 -53.5769 54.4639 19.2382 -945 2 25.6386 26.0194 29.1508 -60.0652 4.6996 8.51536 -946 1 31.2215 24.1777 24.5883 14.1308 -20.036 -56.0792 -947 2 31.2462 25.0877 24.2924 -6.94032 33.9551 15.3996 -948 2 31.4406 23.666 23.8095 -10.0522 -9.58882 31.6924 -949 1 2.2308 8.39805 11.702 -25.9278 72.4629 -62.3921 -950 2 2.19268 7.46748 11.923 -18.2178 -30.2456 -15.1875 -951 2 1.69593 8.47931 10.9123 45.6222 -39.4373 72.291 -952 1 10.3032 13.6934 7.45165 -26.5584 -22.6742 -26.7631 -953 2 9.99582 13.2455 6.66356 36.4271 36.3883 49.4382 -954 2 10.9817 14.2917 7.13847 -0.600371 -7.03533 -17.82 -955 1 19.0967 27.2701 33.964 13.3213 87.1582 59.4234 -956 2 18.3249 27.61 33.511 7.02123 -13.6294 3.65441 -957 2 19.3587 27.9763 34.5547 -21.057 -80.5959 -61.541 -958 1 21.984 20.9149 33.6057 -13.2294 -111.165 45.6027 -959 2 22.1104 21.6543 33.0111 4.56541 83.2239 -6.28725 -960 2 21.881 21.3158 34.4688 7.70274 30.7349 -39.0983 -961 1 8.05927 10.6139 31.6569 -39.7855 72.6436 -23.7398 -962 2 8.405 9.72798 31.7655 -32.7633 -16.4778 -53.6367 -963 2 7.49797 10.5594 30.8835 74.8422 -56.3765 75.6807 -964 1 9.0941 18.3243 0.84783 26.3867 -45.0205 70.9669 -965 2 9.39079 17.9803 1.69038 -14.0457 47.0499 -38.1091 -966 2 8.83676 17.5488 0.349181 -13.4024 -0.1274 -32.7344 -967 1 13.2562 25.9707 14.2144 25.3824 7.01883 -62.881 -968 2 13.5094 26.1925 15.1105 -25.7918 -13.6183 17.0963 -969 2 12.3709 25.616 14.296 10.0725 8.78775 40.8899 -970 1 33.1354 9.19259 24.0589 85.7786 -47.5273 23.0686 -971 2 32.6875 9.78224 23.4523 0.825384 40.0659 -44.3043 -972 2 34.0648 9.30186 23.8576 -78.9974 11.272 -7.9459 -973 1 0.58659 30.7969 7.10441 -76.0371 32.9328 96.3177 -974 2 0.169654 30.8981 7.96008 21.302 10.6759 -79.165 -975 2 1.21081 30.0812 7.22473 40.397 -34.8905 -16.7496 -976 1 16.6083 24.0059 6.4584 14.2821 54.4666 22.4032 -977 2 16.7425 24.606 5.72479 -6.25319 -17.653 -38.7459 -978 2 16.7413 24.5459 7.23752 -8.86305 -35.3724 18.3455 -979 1 21.7834 18.2351 15.2976 62.7229 -36.1596 -108.657 -980 2 21.2936 17.4129 15.2838 -9.75237 7.09872 25.6914 -981 2 21.4639 18.6918 16.0759 -54.4229 25.6067 86.3738 -982 1 1.07513 17.9084 22.5021 155.324 26.1063 -64.9168 -983 2 0.716816 17.1248 22.0851 -45.4358 -37.2277 -7.57822 -984 2 1.962 17.9835 22.1499 -123.14 9.12379 73.6764 -985 1 8.51552 8.69526 13.4464 27.9726 -3.93814 38.5488 -986 2 8.03144 8.05905 12.9199 -8.38501 37.5413 -6.78268 -987 2 8.12975 9.54047 13.2161 -15.1185 -30.5594 -19.9669 -988 1 28.3524 22.6765 2.57778 4.50918 45.8972 4.67774 -989 2 27.7649 22.2675 1.94231 -16.0283 -30.0373 -7.27243 -990 2 28.7214 21.9432 3.07005 -4.44835 -34.7704 0.426531 -991 1 17.1523 8.01103 31.3361 -6.43129 -6.19971 63.0736 -992 2 16.782 8.45558 32.0986 -1.47691 -24.9844 54.7888 -993 2 16.9529 8.59004 30.6004 -7.61986 35.4159 -124.442 -994 1 29.3721 32.2834 30.4082 -98.2459 -79.9855 2.24996 -995 2 28.6217 31.7907 30.7403 58.7826 37.0593 37.1014 -996 2 29.3092 32.204 29.4563 42.3709 32.2814 -36.7511 -997 1 35.3011 34.4955 31.3099 -34.6845 -39.5258 -74.9262 -998 2 0.494462 34.8466 31.8607 35.8661 43.0693 47.1311 -999 2 34.5081 34.931 31.6226 -0.133072 18.1987 18.232 -1000 1 14.0996 2.13108 18.09 -20.823 -77.5244 -44.303 -1001 2 13.8706 1.505 17.403 12.4673 51.7003 -2.55363 -1002 2 14.0677 1.62139 18.8996 6.81076 20.6619 48.5382 -1003 1 23.7489 3.68726 32.9571 69.1184 -38.1078 123.401 -1004 2 23.6219 3.88613 32.0295 -49.2533 26.2939 -86.3729 -1005 2 22.8923 3.84232 33.3553 -16.6362 9.37066 -33.9528 -1006 1 31.0991 21.5663 28.0754 64.0698 21.9165 9.92207 -1007 2 31.8476 21.203 28.5487 -24.4509 -32.4919 3.98123 -1008 2 31.379 22.4461 27.8227 -40.3331 12.4814 -17.3785 -1009 1 20.641 15.6933 14.8203 43.377 -2.22174 -57.3948 -1010 2 20.0531 15.8097 15.5667 -70.0316 39.5881 70.6618 -1011 2 21.0709 14.8535 14.9821 27.3569 -27.1541 -21.1361 -1012 1 20.2875 15.138 31.9425 -36.4419 5.41552 10.6307 -1013 2 20.5979 14.4012 31.4161 8.95763 -14.6982 -9.11594 -1014 2 19.3458 14.9904 32.0302 20.0558 4.72103 -4.13998 -1015 1 32.4737 33.0549 7.42136 57.7398 14.465 -2.87417 -1016 2 31.5251 33.0996 7.54192 -15.4179 -34.4658 1.30456 -1017 2 32.6733 32.1189 7.43347 -46.0939 28.5804 1.92267 -1018 1 25.6358 27.7652 13.6201 17.9068 -76.954 -5.91433 -1019 2 26.5234 27.4872 13.8464 -41.296 29.8658 -8.28664 -1020 2 25.1859 26.9563 13.3761 11.3414 52.8605 8.98245 -1021 1 0.752811 4.33746 20.9711 26.3523 87.0603 -16.7255 -1022 2 0.735369 4.49981 20.0279 -18.8716 -50.1447 -27.1136 -1023 2 1.05098 5.16373 21.3514 -12.233 -35.5578 45.2635 -1024 1 1.15955 21.097 13.1804 -5.70836 50.9455 49.396 -1025 2 1.14347 21.475 12.3011 9.75717 -95.3378 14.0555 -1026 2 1.23437 20.1539 13.0349 -2.99113 48.1469 -70.6267 -1027 1 8.63447 29.6682 25.4291 -24.2937 15.1584 -57.2241 -1028 2 8.2969 30.3446 24.8419 0.386903 32.0326 34.6862 -1029 2 8.70943 28.8884 24.879 18.5133 -46.3605 26.4414 -1030 1 30.7609 20.6322 25.1496 -66.4937 -19.9747 62.2919 -1031 2 31.506 20.908 24.6158 36.8894 16.0715 36.9823 -1032 2 31.0187 20.8408 26.0475 26.0015 3.09923 -89.5564 -1033 1 4.24567 30.7967 2.94453 1.13943 -48.8247 -106.457 -1034 2 4.17998 31.333 2.15442 -5.0906 73.5472 26.6679 -1035 2 4.35745 29.9033 2.61955 2.54345 -26.9407 75.6015 -1036 1 15.4298 29.354 26.2536 -21.2886 -38.6909 -36.5509 -1037 2 16.2299 29.239 25.741 -33.1263 -2.12357 9.93884 -1038 2 14.7684 28.8465 25.7833 52.8592 30.8222 23.0843 -1039 1 15.489 26.8995 10.3602 80.9819 -10.7728 -8.06397 -1040 2 15.1155 26.1015 10.7342 6.2318 -0.755727 1.63719 -1041 2 16.4293 26.7262 10.3153 -80.6119 6.16622 6.08593 -1042 1 3.69093 24.7984 1.79789 53.7836 -14.2604 17.3241 -1043 2 2.97812 24.7914 1.15906 -65.9914 16.2221 -35.9748 -1044 2 4.387 24.2861 1.38648 20.0102 2.62709 18.5968 -1045 1 30.6362 20.421 0.684293 -108.223 -87.2204 97.7535 -1046 2 29.7183 20.5224 0.432403 70.0785 0.995274 0.947085 -1047 2 31.1142 20.9947 0.0854012 48.7689 93.7421 -96.2573 -1048 1 23.0789 3.25676 10.1998 -56.8271 -82.1987 163.266 -1049 2 23.0881 3.65825 9.33089 -32.905 48.5766 -109.699 -1050 2 22.1531 3.09177 10.3782 94.3427 33.2525 -52.0774 -1051 1 35.1739 13.9254 30.4187 93.3453 51.4364 -45.9008 -1052 2 34.4624 13.3238 30.6378 -114.635 -67.6202 66.4469 -1053 2 35.4474 13.6636 29.5395 30.7835 23.3683 -20.6124 -1054 1 28.8873 35.0723 21.7756 -60.5953 -149.17 -57.9849 -1055 2 29.7858 35.0419 22.1043 100.868 58.0547 52.4067 -1056 2 28.7071 34.1777 21.4865 -43.6743 91.8104 5.88896 -1057 1 11.0517 25.6031 26.2833 84.2023 -149.954 6.23889 -1058 2 11.1927 24.6601 26.1988 10.9372 99.8877 15.6456 -1059 2 10.1376 25.7327 26.0304 -98.6491 41.8353 -24.1329 -1060 1 31.6325 18.1406 19.4413 137.795 -27.3735 -41.4505 -1061 2 31.8817 18.8171 20.071 -61.2417 79.73 83.0788 -1062 2 32.4612 17.8515 19.0591 -69.38 -51.332 -39.8188 -1063 1 3.312 2.6318 12.334 -107.581 73.6051 29.3374 -1064 2 2.44277 2.88495 12.0232 46.5541 -45.4413 -38.982 -1065 2 3.39854 3.06444 13.1835 62.6426 -30.027 5.03646 -1066 1 12.2454 6.49511 14.0823 82.2064 81.0609 -45.5992 -1067 2 13.1196 6.41676 13.7003 -21.1732 -65.0757 18.2416 -1068 2 12.0488 7.43101 14.0417 -58.6882 -26.4395 24.6073 -1069 1 11.5046 16.9032 14.0494 79.7741 -24.151 -20.9732 -1070 2 12.2839 16.8335 13.4979 -68.6855 9.71393 36.3467 -1071 2 11.7474 16.4638 14.8644 -15.0941 15.9792 -17.697 -1072 1 35.4327 34.5785 0.886731 -10.8441 27.0805 -2.03554 -1073 2 34.8065 34.925 0.251066 53.0505 -76.519 22.9354 -1074 2 0.0236496 33.6563 0.649613 -46.5146 44.7546 -30.8102 -1075 1 32.9022 21.6462 32.0455 -18.6267 86.0059 -76.4499 -1076 2 32.8865 22.3518 31.3989 28.136 -37.6397 61.9662 -1077 2 32.1381 21.1099 31.834 -12.5655 -36.7867 20.0832 -1078 1 28.666 4.66171 28.4229 -23.7263 -35.2508 -24.4602 -1079 2 29.6021 4.57844 28.6042 -14.3351 -12.174 -2.07158 -1080 2 28.415 3.81178 28.0611 30.0327 47.8705 20.2444 -1081 1 11.7974 16.6105 9.43137 -32.9505 84.4933 -45.5955 -1082 2 12.6181 16.4215 9.88636 31.5138 -27.9555 21.6745 -1083 2 11.277 15.8137 9.53417 -19.2206 -55.1657 22.0584 -1084 1 9.5567 34.0297 10.6332 5.08397 -30.78 -3.50354 -1085 2 8.64488 34.2191 10.8545 -22.6455 24.893 8.77543 -1086 2 9.56535 33.0941 10.4314 18.7297 3.83284 -2.75462 -1087 1 22.0706 19.0062 23.4589 -50.6034 61.4956 73.3002 -1088 2 22.8697 19.4423 23.163 73.2576 -9.44263 -53.7673 -1089 2 21.6588 19.6357 24.0508 -17.1189 -56.8738 -17.8811 -1090 1 35.0507 19.9084 25.8047 -8.97498 -57.1681 14.3012 -1091 2 35.3227 20.4791 25.086 3.20608 23.5388 -15.6564 -1092 2 34.7922 20.5093 26.5036 -4.15561 25.1786 14.68 -1093 1 1.29509 5.44627 7.26844 -105.385 48.7942 -14.1839 -1094 2 0.503537 5.90603 7.5483 75.4881 -40.619 -24.513 -1095 2 1.76785 5.26593 8.08098 27.1151 -6.97561 49.2339 -1096 1 33.079 1.6019 25.1564 -44.0711 -50.1524 43.9863 -1097 2 32.3867 2.22782 25.3688 -0.688406 -0.567475 0.120255 -1098 2 33.655 2.0756 24.5563 57.9468 46.3913 -55.0037 -1099 1 14.2223 33.4357 22.7965 44.6458 -102.796 -72.7688 -1100 2 14.3111 34.2608 23.2737 -9.66296 89.3801 50.3192 -1101 2 13.2969 33.2068 22.8833 -36.7491 6.49743 17.9439 -1102 1 27.0764 24.9189 8.20593 16.6439 -74.7286 73.16 -1103 2 27.1764 24.95 7.25446 2.52372 18.6385 -66.7873 -1104 2 26.7986 25.8026 8.4471 -14.7838 45.7512 -7.27173 -1105 1 7.24983 20.2262 4.06282 52.8138 47.254 9.61264 -1106 2 6.60861 19.545 4.26536 -35.0709 -40.735 -19.4254 -1107 2 7.32775 20.2065 3.10899 -17.2476 -20.1948 -6.14881 -1108 1 13.4126 1.40206 12.7354 -50.3951 11.3155 42.0291 -1109 2 13.8845 1.45584 11.9043 25.881 6.1063 -51.9478 -1110 2 12.594 1.87248 12.5774 24.798 -15.1811 -2.59961 -1111 1 0.852213 16.3886 27.3816 -38.9671 -64.4858 75.4018 -1112 2 1.08742 16.8331 28.1961 6.56439 5.83862 -36.777 -1113 2 1.16568 16.9722 26.6906 33.8962 64.6142 -42.946 -1114 1 4.02403 25.2956 4.78907 12.5824 -31.0604 13.6428 -1115 2 3.90816 25.5675 3.87865 -32.8978 82.4023 -72.6643 -1116 2 4.3228 24.388 4.73227 15.7865 -49.6513 59.6569 -1117 1 16.5897 15.7718 19.3669 12.7176 -90.9182 -88.7668 -1118 2 16.7861 16.3511 20.1032 53.6208 20.9259 47.938 -1119 2 17.4037 15.2914 19.2157 -68.2302 71.3709 48.3064 -1120 1 33.138 25.8228 3.9786 -68.8332 54.6496 22.9106 -1121 2 32.8297 24.9295 4.13115 50.2042 -11.2461 -19.0873 -1122 2 34.0101 25.7142 3.59935 12.3465 -53.1371 -1.11756 -1123 1 31.5763 1.03019 18.5632 -15.1436 26.0476 6.56201 -1124 2 31.8736 0.411808 19.2306 -3.12571 -8.88644 -35.1118 -1125 2 31.6624 0.552575 17.7381 9.10405 -12.4766 43.6027 -1126 1 2.96133 16.2944 6.71328 14.6005 5.35419 -78.0001 -1127 2 3.06766 15.5042 7.24293 2.85304 -12.3624 9.88323 -1128 2 3.2307 16.0315 5.83319 -20.3773 19.8766 61.5194 -1129 1 20.3444 33.6993 7.89419 -55.8188 -70.7228 28.1259 -1130 2 20.3572 32.7428 7.85821 37.6074 20.1923 -22.1427 -1131 2 19.5421 33.9108 8.37147 18.2087 49.7047 -7.42802 -1132 1 19.3737 16.8055 19.7353 94.066 21.1274 26.5062 -1133 2 20.2474 17.1614 19.8972 -42.0598 35.9658 -26.3561 -1134 2 19.4036 15.9208 20.0994 -49.9023 -50.4933 2.84341 -1135 1 19.2328 9.13935 28.8891 -97.3718 -44.9198 -22.2374 -1136 2 20.086 9.56472 28.9744 99.3991 45.2652 4.49131 -1137 2 18.8197 9.25619 29.7446 -9.69961 0.411218 19.8043 -1138 1 27.7276 22.9171 10.4608 -62.6602 98.4379 -18.4366 -1139 2 27.5781 23.39 9.64208 -11.4069 9.12972 23.4701 -1140 2 28.2562 22.1603 10.2077 67.4179 -107.285 -16.8798 -1141 1 6.32768 1.89226 33.44 -72.0744 7.49082 -82.9874 -1142 2 6.58014 2.58071 32.8248 25.4581 -46.099 96.5402 -1143 2 6.95637 1.96939 34.1577 50.8871 50.0147 -11.457 -1144 1 5.63587 5.55012 15.3806 92.2133 73.6508 52.3846 -1145 2 6.56181 5.55866 15.6231 -130.377 1.2146 -37.5389 -1146 2 5.33094 6.43826 15.5663 44.7075 -99.2767 -21.2438 -1147 1 3.24197 34.9522 10.9341 17.2036 -1.52774 9.33956 -1148 2 2.7887 0.238224 11.2221 -30.9696 18.823 -2.34631 -1149 2 4.08818 34.9841 11.3804 15.9618 -17.4101 -2.88726 -1150 1 10.5446 28.1697 5.04139 55.7205 -11.45 -30.6131 -1151 2 10.7484 28.8432 5.69027 -2.43738 9.2734 21.0659 -1152 2 9.62178 27.964 5.1907 -41.4898 -3.41787 17.5967 -1153 1 17.0092 14.0659 8.09647 -12.136 -64.9675 -42.4125 -1154 2 17.3431 14.7589 8.66621 6.79549 55.0712 19.4704 -1155 2 16.5827 14.5314 7.37705 9.12413 7.3379 22.4737 -1156 1 6.62718 33.8523 2.7885 -175.304 114.452 -163.462 -1157 2 5.76537 34.0356 3.16259 53.0361 -47.3213 73.6221 -1158 2 6.58166 34.2015 1.89843 104.742 -68.6427 95.0605 -1159 1 29.7652 24.7644 2.86101 31.5485 29.5689 5.18325 -1160 2 29.2091 23.99 2.77496 89.7481 21.2068 32.4867 -1161 2 30.5676 24.4394 3.26941 -101.79 -34.1407 -36.7138 -1162 1 13.5911 30.3716 2.31083 7.38646 -93.7607 142.075 -1163 2 12.6998 30.488 2.64013 17.0731 19.9579 -45.8209 -1164 2 14.0047 29.782 2.94132 -12.5232 72.6453 -107.847 -1165 1 12.3977 27.4721 30.6571 -57.9762 46.4221 48.3965 -1166 2 12.976 27.1696 29.9569 44.913 -34.3822 -37.8674 -1167 2 12.4809 26.8076 31.341 11.6055 0.319656 -17.5517 -1168 1 6.06068 34.0502 23.5902 -57.9836 -49.9335 78.7031 -1169 2 5.97725 34.4306 22.7158 80.0963 18.9425 1.99906 -1170 2 6.98204 34.1734 23.8186 -18.7054 31.5723 -80.6112 -1171 1 14.9074 2.14518 10.3424 -3.86741 -53.7378 51.4215 -1172 2 15.8029 2.09856 10.0073 -28.5191 34.2278 -16.329 -1173 2 14.5045 2.86146 9.85158 35.2613 16.6623 -28.9955 -1174 1 5.95436 23.5246 19.2547 56.8234 -91.8572 2.69859 -1175 2 6.54424 22.9592 19.7534 -16.4427 57.3292 24.6682 -1176 2 5.77843 23.0373 18.4498 -32.3426 34.3286 -33.6345 -1177 1 16.5383 22.9775 33.9079 -25.623 13.5284 7.35937 -1178 2 16.9652 22.2488 33.4573 14.2626 -60.371 -95.9308 -1179 2 16.944 22.9944 34.7747 13.8359 48.4157 98.0346 -1180 1 19.3595 19.3018 25.9192 53.3344 39.8848 31.3257 -1181 2 18.4077 19.4001 25.8917 -21.9983 -24.9642 -21.1437 -1182 2 19.5531 18.6508 25.2447 -26.2432 -18.9209 -17.6824 -1183 1 17.8401 26.2845 20.606 40.1769 77.7602 46.7425 -1184 2 18.3464 25.5318 20.3003 17.2256 -37.5992 -20.2908 -1185 2 18.4831 26.8468 21.038 -51.2144 -42.8042 -29.1582 -1186 1 25.3913 19.8552 30.7376 20.0936 -65.381 -71.8147 -1187 2 24.7959 19.2127 31.1236 1.40413 20.913 15.475 -1188 2 25.3818 20.59 31.3509 -16.3859 32.8174 45.5155 -1189 1 32.1725 22.9298 4.21561 -24.7259 98.7674 -35.3221 -1190 2 32.6174 22.3949 3.5582 8.01284 -36.5995 20.1539 -1191 2 32.1195 22.3664 4.98761 16.4227 -55.8294 12.2274 -1192 1 17.293 0.371901 33.3426 -29.2453 33.5646 -5.3233 -1193 2 16.6778 1.10483 33.3677 74.5313 -46.2801 -10.1642 -1194 2 18.1074 0.753287 33.0149 -50.7551 10.5434 13.6834 -1195 1 12.8918 11.4121 34.9634 -58.3647 143.561 -30.6204 -1196 2 13.7859 11.6081 35.2433 -18.8504 -104.751 1.91778 -1197 2 12.8302 10.4579 35.0075 91.388 -47.4214 32.8659 -1198 1 6.36207 31.8606 10.2731 -135.307 63.22 -9.47997 -1199 2 6.36892 32.2067 11.1655 57.4111 -42.3017 -45.4597 -1200 2 7.21503 31.4379 10.1731 87.2992 -15.188 54.1059 -1201 1 28.3837 3.88807 10.784 2.27523 31.5532 -42.2355 -1202 2 28.4188 3.66246 11.7135 -2.24411 4.62971 23.9645 -1203 2 28.1944 4.82629 10.7717 3.21905 -41.1355 15.5841 -1204 1 18.3948 3.79886 25.3535 73.1638 -120.408 -4.47755 -1205 2 18.429 2.84257 25.3776 -3.81601 100.317 1.68225 -1206 2 17.4648 4.00804 25.44 -57.8416 12.8671 -1.42522 -1207 1 30.8084 7.81437 7.0699 102.38 -11.3463 13.9379 -1208 2 30.6043 7.49665 7.94947 -56.6145 -7.38245 25.8535 -1209 2 31.7639 7.78607 7.02024 -36.4349 18.0501 -41.8929 -1210 1 23.5106 5.83877 2.88586 37.2541 -48.3299 55.3324 -1211 2 23.8638 5.67191 3.75971 -26.7954 19.2891 -68.2444 -1212 2 23.7226 5.05005 2.38664 -4.96277 30.2279 5.58204 -1213 1 20.521 3.94364 31.1629 -47.5713 61.9085 82.8437 -1214 2 20.2273 4.51578 31.8719 -25.7834 -50.6714 -46.9258 -1215 2 21.4544 4.13492 31.0712 75.2943 -15.9676 -42.0404 -1216 1 35.4734 28.0649 0.545313 43.7911 43.3453 83.2764 -1217 2 0.719897 27.8074 35.4604 13.1602 -29.7558 -64.9751 -1218 2 0.3481 28.5217 1.29524 -55.9305 -10.0894 -18.5136 -1219 1 25.3434 8.52543 3.30452 2.68319 116.19 -69.5319 -1220 2 24.8083 8.23407 4.04283 11.9946 -67.0033 26.5426 -1221 2 25.9107 7.7794 3.11011 -12.5781 -57.7959 42.733 -1222 1 14.0305 20.3049 1.00346 97.4574 103.285 -4.32456 -1223 2 14.5352 21.0518 1.32538 -39.29 -71.4043 -38.5883 -1224 2 13.3736 20.1488 1.682 -52.2565 -20.6915 42.6683 -1225 1 4.87206 5.75987 12.7023 -6.3087 1.3838 -22.8637 -1226 2 5.71533 6.05576 12.3594 -10.4187 -12.7283 36.8865 -1227 2 5.04403 5.55981 13.6225 34.3757 14.394 -19.8446 -1228 1 13.5366 35.1238 16.5047 -49.915 -180.894 115.595 -1229 2 13.073 0.353281 16.1048 -53.7603 99.8364 -61.4548 -1230 2 12.8458 34.5887 16.8954 103.367 69.5917 -51.6059 -1231 1 31.2842 13.9756 12.1655 52.8024 -20.3553 2.40583 -1232 2 30.3507 14.0549 12.362 -54.8058 6.85213 12.1205 -1233 2 31.3501 14.1703 11.2307 -2.71706 8.74406 -17.2599 -1234 1 23.7287 25.7733 13.0452 17.6814 -88.1793 -0.0907475 -1235 2 23.5572 26.1842 12.1979 -12.9211 54.6089 -33.7686 -1236 2 23.9578 24.8688 12.8313 -5.94387 37.7036 45.7103 -1237 1 18.4257 13.2996 12.6757 58.2863 69.1626 -74.5633 -1238 2 18.7099 12.845 13.4687 46.7597 -48.3383 98.3482 -1239 2 17.5212 13.0143 12.5465 -104.479 -19.1726 -26.2275 -1240 1 24.3805 21.2318 28.5222 -16.6584 12.8651 -28.1703 -1241 2 24.888 20.7134 29.1466 16.9641 12.4199 -40.5222 -1242 2 24.9442 21.2984 27.7515 -2.44622 -29.6153 63.2217 -1243 1 4.76601 3.74899 28.1536 -31.4564 56.147 -22.1624 -1244 2 3.98332 4.07454 28.5982 25.1202 -20.8058 -4.77683 -1245 2 4.86658 4.32258 27.3939 9.85382 -29.6967 24.1702 -1246 1 31.108 24.4217 27.2462 -32.8319 4.04044 11.7032 -1247 2 30.9657 24.3003 26.3075 28.2469 -26.1525 -50.6649 -1248 2 30.343 24.9144 27.5432 -4.42364 11.0213 44.9813 -1249 1 17.2783 19.5093 16.9655 -60.1784 -29.4078 150.552 -1250 2 16.8826 19.416 17.8321 72.6947 -18.5118 -89.5063 -1251 2 16.815 20.2466 16.5682 -16.5438 51.6415 -60.3519 -1252 1 3.72712 18.9765 12.2733 -60.481 -21.5634 -8.54324 -1253 2 3.66857 19.3414 11.3903 37.0586 20.8875 -20.4083 -1254 2 2.88663 18.5388 12.4083 30.8409 -0.239219 39.8288 -1255 1 20.9657 21.2382 26.7901 -32.3032 -33.3405 70.7632 -1256 2 20.371 20.5309 26.5405 31.4588 42.4983 31.1449 -1257 2 20.9334 21.2526 27.7466 -6.91795 -14.0858 -89.827 -1258 1 32.5271 5.30066 27.394 101.283 85.3312 -24.7355 -1259 2 32.5765 5.97016 26.7117 -58.6391 -37.4096 -2.67819 -1260 2 33.3762 5.343 27.8338 -43.855 -51.8169 26.8108 -1261 1 4.50556 19.021 2.7385 58.9959 21.6696 -28.7879 -1262 2 4.92573 18.2632 3.14518 -4.83727 -11.7556 10.0253 -1263 2 3.57771 18.9249 2.95321 -62.8393 -19.4247 20.2901 -1264 1 5.79971 17.6809 34.541 38.5048 -44.0747 -11.9115 -1265 2 5.23998 18.2445 34.0069 -24.9319 22.9427 -7.74228 -1266 2 5.65575 17.9809 -0.00869391 -12.5216 17.4664 21.9898 -1267 1 2.03129 11.2778 4.67972 14.1215 16.6431 11.1564 -1268 2 2.51154 11.8318 4.06435 41.8172 36.2027 -2.91361 -1269 2 1.34576 10.8698 4.15072 -50.1017 -43.9426 0.246861 -1270 1 21.6378 11.6763 6.00517 58.4066 1.86269 -35.668 -1271 2 22.2118 11.437 5.2775 -22.8664 29.5295 40.54 -1272 2 20.8832 11.0939 5.91714 -47.8755 -23.4964 7.0582 -1273 1 12.7351 6.22467 3.30416 -0.976459 -152.272 -15.1903 -1274 2 12.9753 6.93245 3.90215 -16.1236 82.1518 -46.7996 -1275 2 12.4285 6.67102 2.51486 14.7223 79.8271 55.3646 -1276 1 8.02075 27.6995 5.68907 0.105108 7.77206 -15.0229 -1277 2 7.57159 27.1964 6.36829 -7.38328 2.60367 8.30732 -1278 2 7.72177 28.5994 5.81975 -4.10548 -19.1299 3.94593 -1279 1 25.0734 29.2811 32.0874 87.3603 -44.2001 -65.4859 -1280 2 25.8469 29.0521 32.6026 -36.9664 6.74013 -6.93622 -1281 2 24.4383 29.5912 32.733 -52.6967 27.5081 69.9018 -1282 1 1.22354 34.1624 23.4099 -70.2961 -14.3262 -32.7606 -1283 2 2.01674 34.4997 23.8262 89.2072 23.5083 32.8694 -1284 2 0.514189 34.4259 23.9961 -21.9767 -4.25928 2.85625 -1285 1 32.5606 17.3037 1.33552 -3.55823 -4.86336 2.57453 -1286 2 32.0526 16.5053 1.47954 5.0489 30.4425 -16.5687 -1287 2 32.1165 17.7432 0.610343 6.61525 -33.5489 21.8662 -1288 1 23.5606 32.1915 29.5912 -58.9738 27.5069 -119.926 -1289 2 23.5826 31.8743 30.4941 51.0545 3.28699 71.6217 -1290 2 24.3671 32.6981 29.4951 1.82036 -23.095 59.7299 -1291 1 19.5201 6.96296 31.098 -33.4441 17.598 55.087 -1292 2 19.3294 6.57096 30.2458 32.5061 -40.602 -83.7079 -1293 2 18.6621 7.19711 31.4519 22.9384 18.547 31.2692 -1294 1 4.38512 5.1998 20.8473 24.9778 33.632 -14.5609 -1295 2 4.92522 5.85634 20.4074 -19.9868 -30.0931 13.8877 -1296 2 4.17731 5.58975 21.6964 -2.66288 -4.31882 0.543793 -1297 1 31.4096 11.1988 22.7912 3.41945 -18.1746 -114.057 -1298 2 30.9434 11.0298 21.9724 37.9262 17.9978 76.3244 -1299 2 30.7409 11.1115 23.4705 -51.5111 -4.46773 44.084 -1300 1 22.1571 13.6464 17.9692 20.051 160.475 61.447 -1301 2 21.9787 13.3388 17.0806 -18.7429 -46.2623 -87.2785 -1302 2 22.1932 14.5997 17.8905 -3.9102 -106.03 25.4767 -1303 1 27.1765 16.0707 32.8225 86.1395 -82.5375 -62.9647 -1304 2 26.8988 16.0748 31.9065 -9.50974 9.82048 16.448 -1305 2 26.5906 16.6928 33.2537 -75.8713 76.5065 41.2929 -1306 1 15.665 24.9406 32.3942 -29.3091 70.6216 -34.1987 -1307 2 15.8541 24.241 33.0196 17.3246 -47.2529 24.742 -1308 2 15.7701 24.5302 31.5359 5.66033 -13.5667 -2.13695 -1309 1 15.408 32.1299 30.7089 115.781 42.9243 62.4771 -1310 2 16.2953 32.4051 30.9396 -99.1638 -22.203 -3.50268 -1311 2 15.4783 31.8272 29.8036 -22.0022 -22.7219 -57.5648 -1312 1 16.0269 35.5208 25.8556 48.1596 -10.6463 26.2732 -1313 2 16.3107 34.673 26.1976 -42.2113 43.6875 -28.5338 -1314 2 15.1486 35.3589 25.5114 -5.96048 -29.6144 7.59265 -1315 1 22.6023 17.622 10.5767 -36.1924 -30.5014 -26.9574 -1316 2 22.1544 17.0701 9.93558 22.6295 18.8292 9.28398 -1317 2 21.9809 17.7018 11.3005 -4.26698 7.54511 22.6868 -1318 1 19.6527 1.47462 32.3789 -12.2142 -28.9087 8.04189 -1319 2 19.9334 2.33577 32.0692 -2.62415 -18.0943 -34.504 -1320 2 19.5892 0.94317 31.5854 12.567 52.9065 15.0016 -1321 1 29.9469 28.284 22.6292 -39.1106 69.5603 25.8377 -1322 2 29.2973 27.5903 22.7434 -13.0205 -30.7032 5.78975 -1323 2 30.7475 27.8241 22.3769 65.4846 -52.0904 -22.7206 -1324 1 1.2726 25.4708 15.544 -45.5079 17.5669 -55.8638 -1325 2 1.00544 25.8573 14.71 17.7594 -35.0725 71.8048 -1326 2 0.47714 25.0616 15.8847 18.1907 15.9788 -12.9239 -1327 1 15.3159 29.3189 6.73734 -2.02491 -29.0031 -0.930171 -1328 2 14.9965 28.4535 6.99287 -72.2606 -34.4565 -7.17928 -1329 2 16.2354 29.3235 7.00313 72.1792 62.7168 -0.0444177 -1330 1 32.3569 35.0381 20.7172 7.0959 -6.20045 -33.7562 -1331 2 33.2862 35.0845 20.9418 -37.5874 -1.53598 24.1924 -1332 2 31.9107 34.9471 21.5591 32.0734 2.90974 10.1871 -1333 1 16.0024 9.2535 19.8541 72.4051 81.66 -72.9817 -1334 2 16.2106 9.61439 20.7159 -33.4838 -46.4534 1.14611 -1335 2 15.4614 8.48595 20.0397 -37.1277 -48.0831 65.0859 -1336 1 0.161092 12.4703 34.7744 12.2039 3.05784 3.57477 -1337 2 0.227633 12.2363 33.8486 -11.0561 -12.6126 -24.4493 -1338 2 1.06042 12.6652 35.0379 8.82702 4.72066 14.8727 -1339 1 10.8803 14.0171 18.6776 71.8329 41.0729 58.9697 -1340 2 9.9777 14.2843 18.504 -24.3282 19.696 13.0716 -1341 2 11.1754 14.6055 19.3725 -51.4206 -57.9544 -72.5678 -1342 1 10.1528 18.8692 10.8437 -76.8134 -60.1193 -33.2812 -1343 2 10.9615 18.4218 10.5945 45.0918 1.09944 2.21813 -1344 2 9.45596 18.3368 10.4599 29.7685 55.6589 34.0211 -1345 1 27.8606 32.5033 21.0207 35.7226 -57.1208 21.6396 -1346 2 27.4858 32.3186 20.1595 9.18463 -2.64104 17.5864 -1347 2 28.2767 31.6819 21.2825 -40.3337 59.6224 -30.8282 -1348 1 22.3488 4.76645 7.82381 9.70975 -1.66795 -4.14218 -1349 2 23.2087 5.12525 7.6047 39.6281 -5.95853 -38.2003 -1350 2 22.0354 5.31589 8.54227 -48.9028 10.9985 43.1758 -1351 1 22.1743 31.295 5.91224 -105.748 -32.7267 45.3784 -1352 2 22.1292 30.4773 5.41671 47.1225 -4.78591 -29.5695 -1353 2 21.358 31.3183 6.41156 59.9512 40.0693 -12.7264 -1354 1 30.1296 27.2073 12.2108 4.58457 -11.0289 1.85728 -1355 2 30.0951 26.266 12.0403 37.283 65.8111 22.9591 -1356 2 31.024 27.3636 12.5141 -40.7559 -46.5712 -21.1669 -1357 1 5.00064 18.675 17.14 -33.0814 -16.1069 -6.87397 -1358 2 4.34836 18.7908 17.8309 49.2484 11.4397 -18.974 -1359 2 5.73674 19.2239 17.4104 -24.0873 0.94509 26.7424 -1360 1 0.506065 15.2301 32.8526 -42.7934 -9.89495 -32.0656 -1361 2 0.0495987 14.9647 32.0543 25.9805 8.96974 34.4161 -1362 2 35.3228 15.2939 33.5135 12.713 1.28012 -8.30898 -1363 1 0.363005 21.4896 23.8864 6.27916 18.2402 -176.719 -1364 2 35.4303 21.6582 23.0527 17.8652 -11.7523 124.524 -1365 2 1.23751 21.188 23.6403 -17.6735 7.78026 48.073 -1366 1 8.03728 15.2226 26.8397 -84.7474 99.6952 95.9521 -1367 2 8.74964 15.7825 27.1485 2.18716 -33.5928 -31.015 -1368 2 7.25601 15.5682 27.2715 85.017 -67.9654 -66.4092 -1369 1 34.6838 18.8502 10.8922 -0.259639 -46.2597 6.36543 -1370 2 0.00799904 18.3869 10.7832 15.6853 -42.1857 4.87203 -1371 2 34.8715 19.7474 10.6165 -13.9009 85.9933 -20.1174 -1372 1 31.3398 22.9006 34.2952 -67.4276 -7.60732 5.21933 -1373 2 31.9538 22.7215 33.583 137.992 -4.85595 -54.0105 -1374 2 30.4807 22.6878 33.9306 -71.1965 3.99713 45.985 -1375 1 35.1271 20.4288 21.394 -35.7539 28.9737 -83.235 -1376 2 35.3537 19.7239 22.0006 29.5449 -64.6546 84.6042 -1377 2 35.045 19.9967 20.5438 -4.21543 32.4219 16.3262 -1378 1 17.3691 12.9617 29.5298 -50.6158 16.5385 -68.0183 -1379 2 17.3472 13.2666 28.6227 51.043 10.5019 3.85175 -1380 2 16.4616 12.7297 29.7269 5.42638 -20.7268 48.6147 -1381 1 16.0952 4.35113 20.4656 -111.562 -23.1831 -30.4415 -1382 2 16.8442 4.88951 20.21 59.6749 -10.7025 31.4165 -1383 2 16.4392 3.76619 21.1407 56.1101 24.296 2.44889 -1384 1 13.6655 33.4732 9.21016 -14.6434 37.0793 15.1981 -1385 2 14.2197 33.2523 9.95868 -9.57172 -23.2998 -40.9927 -1386 2 13.8557 32.7948 8.56223 24.3428 -15.0531 27.2471 -1387 1 25.1695 0.643382 29.2335 21.6465 7.95298 -130.788 -1388 2 24.7386 0.166493 29.9428 -29.9978 -22.498 78.141 -1389 2 25.5891 1.38773 29.6649 3.33758 13.4086 29.2283 -1390 1 24.8138 0.436907 0.690727 82.9688 63.0709 -81.8661 -1391 2 25.2941 0.519025 1.51461 -3.8017 3.41814 -32.584 -1392 2 25.3749 0.862377 35.4895 -86.4281 -63.7493 106.295 -1393 1 13.7956 23.6312 5.71698 -35.7377 -64.3828 62.7025 -1394 2 13.842 24.1956 4.9453 -21.5195 70.6055 -99.7723 -1395 2 14.6849 23.6351 6.07102 59.4049 -13.6179 44.5807 -1396 1 7.02677 26.6503 3.02399 -21.3525 -19.2925 1.13509 -1397 2 7.55117 26.8222 3.8061 11.0515 11.8412 13.9462 -1398 2 6.54412 25.8497 3.22987 5.1324 7.58352 -12.6751 -1399 1 18.318 10.3747 9.8207 -69.0317 -42.8691 127.234 -1400 2 18.707 10.6545 8.99207 44.2864 49.335 -117.918 -1401 2 17.434 10.7417 9.80682 22.0442 -3.86412 -9.97593 -1402 1 22.326 9.87117 1.19539 40.9266 19.5162 -10.9025 -1403 2 21.5732 10.3756 0.887038 -9.18788 -28.0544 15.3445 -1404 2 21.9446 9.16763 1.72058 -34.0527 5.68362 -4.38123 -1405 1 10.9077 22.4384 26.2571 53.7764 -11.6296 -86.1821 -1406 2 10.3417 22.4067 27.0285 34.0431 -34.4579 21.229 -1407 2 11.5524 21.7462 26.4038 -80.1967 47.6878 34.6446 -1408 1 1.32004 18.3856 3.4783 -27.7467 110.044 35.0836 -1409 2 1.00096 18.0083 4.29811 2.17993 -56.7925 19.1756 -1410 2 1.03374 19.2985 3.50678 36.0406 -40.6698 -42.6953 -1411 1 6.61677 10.2852 21.3574 9.58689 -39.0761 64.6614 -1412 2 6.49798 10.336 22.3058 -7.33316 19.6021 -41.7054 -1413 2 6.96581 9.40689 21.2059 -6.30944 16.7036 -21.0585 -1414 1 19.8012 1.74541 35.1965 -29.4306 -7.47265 57.1041 -1415 2 19.8884 1.70617 34.2441 13.6581 2.39509 -47.3898 -1416 2 20.601 2.17956 0.0459631 11.8203 4.44552 -10.5283 -1417 1 22.0001 23.1291 31.8058 -54.6841 16.07 1.56329 -1418 2 21.1377 23.5428 31.7681 -10.1327 -24.8997 -22.7677 -1419 2 22.5056 23.6821 32.4016 59.6791 6.74463 25.8539 -1420 1 21.0289 21.4059 14.8517 -44.1254 -67.6583 2.8981 -1421 2 20.6787 20.8086 15.5126 24.1258 41.8838 -25.1308 -1422 2 20.7142 21.0538 14.0191 19.8493 21.3704 23.5235 -1423 1 29.505 13.0928 27.0217 -107.653 103.967 -57.0344 -1424 2 29.8602 12.7396 27.8374 18.1003 -17.1709 78.425 -1425 2 28.8285 13.7094 27.3017 87.5048 -87.3846 -21.3471 -1426 1 30.7698 14.8611 17.3189 17.5138 -134.472 -42.0085 -1427 2 30.4122 15.6867 17.6457 -50.4164 96.8817 38.7428 -1428 2 30.006 14.2941 17.2123 34.0684 32.1428 2.369 -1429 1 12.5732 32.154 27.8481 -6.31995 23.46 -13.9166 -1430 2 12.6209 33.0232 27.4502 9.90664 -36.2322 16.7352 -1431 2 13.4863 31.8831 27.9431 -1.57741 13.2234 -5.62125 -1432 1 15.4498 20.1384 7.8344 48.4415 41.1344 -58.0345 -1433 2 16.0623 20.5634 7.234 -42.8246 -19.7189 44.354 -1434 2 15.4537 19.2185 7.56981 -7.21379 -22.1224 2.01465 -1435 1 27.2557 6.25579 2.82563 -59.761 92.8868 -65.711 -1436 2 27.5031 5.33128 2.84265 34.811 -83.2273 23.7266 -1437 2 27.6042 6.6126 3.64264 23.1159 -6.88647 41.2559 -1438 1 32.3064 10.3228 17.6539 118.765 -108.507 -61.3909 -1439 2 32.9663 10.3428 16.9608 -60.4617 78.2692 14.0558 -1440 2 32.4224 9.46918 18.0711 -64.5691 29.4345 48.0744 -1441 1 17.3491 14.8921 22.4719 -44.6868 6.44812 46.6807 -1442 2 17.9987 14.7469 21.7841 -6.22047 24.2872 -10.1369 -1443 2 17.0204 15.7762 22.3089 37.4009 -46.2035 -15.619 -1444 1 24.791 15.5753 30.8618 -64.4598 -19.7068 38.6591 -1445 2 23.9186 15.6713 31.2437 40.3392 12.4654 -23.9298 -1446 2 25.0554 14.6837 31.0884 14.1664 20.6161 -10.7037 -1447 1 18.6782 24.8372 24.4046 -14.5103 -31.9694 -38.4522 -1448 2 17.859 25.2 24.0678 -31.385 54.4281 29.1764 -1449 2 18.8975 24.1329 23.7946 49.2072 -15.3593 20.9719 -1450 1 4.57751 35.3113 30.6937 -15.6966 67.0722 14.9899 -1451 2 4.18802 34.5119 30.3395 -28.7954 -55.821 -26.0477 -1452 2 5.49527 35.0848 30.8442 38.1821 -9.54411 10.9305 -1453 1 22.1368 7.03674 27.3081 32.7954 91.2137 44.1913 -1454 2 21.753 6.16242 27.2411 -18.4835 -43.5438 -51.6082 -1455 2 22.2482 7.3202 26.4007 -15.9554 -43.6992 -0.093033 -1456 1 20.9956 25.6219 2.95695 -98.5049 58.8207 -38.9534 -1457 2 21.6083 24.9057 2.79006 47.7293 -54.4712 -10.745 -1458 2 20.3559 25.5607 2.24751 41.6943 1.0756 41.7927 -1459 1 19.8924 8.7545 11.5513 55.7089 -129.639 124.693 -1460 2 19.3642 9.23782 10.9159 -32.6135 100.35 -83.5693 -1461 2 20.6791 9.28782 11.6646 -21.4365 33.3546 -37.0064 -1462 1 35.3169 7.31809 4.49898 29.4751 -21.769 16.3554 -1463 2 34.9183 7.01033 3.68494 -63.81 16.2325 -75.7788 -1464 2 0.447432 6.64038 4.72557 49.7681 -5.96568 51.491 -1465 1 1.9355 20.4295 32.7373 0.0235286 41.2151 -46.5324 -1466 2 1.65024 20.8948 31.951 32.4868 -1.84136 26.2853 -1467 2 1.22056 19.8228 32.9299 -33.0497 -43.2753 32.1616 -1468 1 14.6938 26.3169 16.5184 -49.6012 7.41863 -31.0797 -1469 2 14.3727 26.4394 17.4118 44.7859 -7.20856 -5.11159 -1470 2 15.6396 26.207 16.6162 5.67087 2.23012 40.7061 -1471 1 34.5432 29.0051 17.205 87.3538 -47.5622 -43.7907 -1472 2 -0.0131445 29.0815 17.1158 -77.6281 14.2291 15.3026 -1473 2 34.3414 28.1278 16.8796 -16.092 30.8182 12.6619 -1474 1 19.1676 26.024 7.57252 17.3309 28.2203 -10.3177 -1475 2 19.5078 25.4445 6.89079 -22.7028 -74.1092 -43.6128 -1476 2 19.8731 26.652 7.72774 11.6307 60.3526 48.1414 -1477 1 5.88699 11.5974 0.0750917 -11.397 6.61126 12.4805 -1478 2 6.61357 11.6352 34.9003 -54.4901 17.725 1.45372 -1479 2 5.19218 12.1117 35.1112 73.1208 -29.3779 -9.78091 -1480 1 33.5452 10.1857 28.6521 -117.999 -6.82498 -96.5276 -1481 2 33.0353 10.128 27.8441 88.4536 10.9027 59.8411 -1482 2 32.9019 10.0673 29.3509 24.4362 4.883 32.0541 -1483 1 12.8347 20.7594 27.3436 64.8954 13.5772 -12.4334 -1484 2 12.1335 20.746 27.995 -35.754 -6.40342 39.6202 -1485 2 13.6396 20.8173 27.8585 -26.5877 -4.82988 -18.2562 -1486 1 30.9453 23.5354 7.01712 -3.79111 -75.5576 -104.025 -1487 2 30.8188 23.3276 7.94291 -2.77067 -9.92772 48.2901 -1488 2 30.8368 22.698 6.56621 6.2652 93.6929 51.7292 -1489 1 22.3771 28.646 11.2728 61.7169 34.2017 21.3674 -1490 2 23.1106 29.1563 11.6161 -80.0898 -38.4124 -56.0167 -1491 2 22.1647 29.0631 10.4378 26.4728 2.43983 35.5913 -1492 1 23.9787 11.3621 13.9802 -37.0876 66.0885 -59.0902 -1493 2 24.0761 11.9626 14.7192 19.9802 -11.2667 54.877 -1494 2 23.6517 11.9104 13.267 9.21913 -50.9673 7.86957 -1495 1 19.0946 19.8258 30.3969 -6.72115 -13.0711 42.2878 -1496 2 19.5944 19.3543 29.7304 0.00751095 1.25155 46.2361 -1497 2 19.3222 19.392 31.2192 8.63242 12.2508 -79.4812 -1498 1 35.1985 30.2504 30.6737 -33.146 -58.7931 -60.4343 -1499 2 35.163 30.9483 31.3279 50.7396 10.2514 21.0995 -1500 2 0.612914 29.9899 30.6505 -18.3276 41.9676 40.2048 -1501 1 3.50028 19.4402 27.8959 -12.9943 8.03922 24.0427 -1502 2 2.812 19.2077 28.5192 64.0106 29.1795 -28.1468 -1503 2 4.05908 20.0535 28.3732 -47.6572 -35.5715 1.09958 -1504 1 8.60562 18.3221 15.0406 22.3767 2.09925 -37.4438 -1505 2 9.49043 17.9913 14.886 -12.0732 2.53916 -3.08372 -1506 2 8.48138 18.2423 15.9864 -6.76131 -8.00219 31.4675 -1507 1 15.0888 12.0278 30.3538 -24.2091 -81.8331 -11.8119 -1508 2 14.3122 12.0516 30.9129 3.24102 4.7152 2.64164 -1509 2 15.1575 11.114 30.0773 4.53056 74.9853 15.7961 -1510 1 34.2443 30.1962 12.7027 -61.5193 53.1761 11.2353 -1511 2 34.1387 30.8199 13.4211 46.9213 -66.5821 -47.9074 -1512 2 35.1054 29.8047 12.8493 15.0476 22.4894 32.7197 -1513 1 16.0363 11.3784 34.5979 -87.1601 95.4939 -32.3314 -1514 2 15.9994 12.1743 34.0674 3.93094 -63.6283 45.8668 -1515 2 16.9499 11.0977 34.5464 83.904 -29.8353 -3.16959 -1516 1 12.4152 19.7731 32.359 -29.23 -105.434 -42.2761 -1517 2 11.7582 19.8074 33.0543 43.706 57.5963 -11.7122 -1518 2 12.8722 20.612 32.419 -16.9607 52.1285 56.4364 -1519 1 16.3614 1.43284 13.6015 -46.342 25.3971 -20.4111 -1520 2 16.6779 2.32463 13.7458 -41.6887 -47.6717 -13.4338 -1521 2 15.4914 1.54591 13.2187 80.0304 11.2373 37.3255 -1522 1 3.93277 21.9872 35.0581 -58.7737 35.0306 -25.0108 -1523 2 3.31118 22.6785 34.8299 51.0255 -59.3625 16.4731 -1524 2 3.40055 21.1933 35.1095 15.4245 36.5818 0.309174 -1525 1 3.71521 25.4976 16.6129 -148.342 2.80328 -4.24477 -1526 2 3.58896 25.2752 17.5353 62.4394 -10.206 58.9231 -1527 2 2.82928 25.5411 16.2531 76.7206 14.8199 -48.8937 -1528 1 12.4985 4.72387 6.90255 1.91962 0.52362 -19.1508 -1529 2 12.6514 4.50999 5.98217 8.17142 -18.4337 1.58486 -1530 2 11.9509 5.50861 6.87878 -10.6994 16.2775 17.4777 -1531 1 0.21346 15.4946 12.4585 4.39006 -29.9867 56.3628 -1532 2 0.769886 15.5472 11.6814 17.657 -3.35287 -18.9153 -1533 2 0.636607 14.8388 13.0127 -20.1879 35.4316 -36.7927 -1534 1 18.2512 16.0368 12.3029 17.8365 38.5449 -61.9645 -1535 2 18.5747 15.2221 12.6874 -19.6615 -16.5382 28.7596 -1536 2 17.5497 16.3176 12.8905 -7.9691 -19.2674 30.5526 -1537 1 26.9017 18.5689 6.14094 26.8653 -71.854 8.15584 -1538 2 27.174 17.8118 6.6594 -31.1006 74.5865 -60.4986 -1539 2 26.9315 18.2625 5.2346 0.839629 4.62758 46.1112 -1540 1 33.442 4.98845 23.0317 -75.6749 -19.7714 19.3376 -1541 2 32.5433 4.81178 23.31 74.1662 17.7462 -24.8336 -1542 2 33.8705 4.13266 23.0467 2.97596 2.87355 2.89537 -1543 1 26.442 7.53491 13.3223 121.751 35.6501 30.8845 -1544 2 26.4996 8.46929 13.5219 -81.7588 -101.618 -37.0763 -1545 2 25.5189 7.3904 13.1143 -30.5681 66.173 16.9024 -1546 1 3.43826 25.264 19.5283 89.1385 -55.4691 20.9639 -1547 2 4.36612 25.0299 19.5058 -84.1054 23.8768 0.0693532 -1548 2 3.10198 24.8368 20.3161 -0.207042 15.1097 -23.8577 -1549 1 31.866 26.7728 18.8636 -9.0721 -13.1062 -6.48517 -1550 2 31.0204 26.6571 19.2969 -16.0098 1.98494 41.8094 -1551 2 31.6682 26.7056 17.9295 22.3541 5.14399 -34.0248 -1552 1 27.9829 0.0751176 33.1577 44.0638 1.24253 79.9828 -1553 2 27.1539 0.503472 33.3709 -17.5162 7.038 -15.5979 -1554 2 27.887 35.3146 32.2434 -21.7632 -9.16523 -67.5476 -1555 1 12.5009 14.3873 2.6462 55.5124 5.27167 -117.38 -1556 2 13.3795 14.0779 2.42584 -36.8136 3.6346 51.294 -1557 2 12.1504 14.7224 1.82091 1.70912 -19.6039 88.6409 -1558 1 35.3499 8.99378 30.2361 -71.673 137.679 -57.7263 -1559 2 34.738 9.54929 29.7532 92.4381 -73.5106 66.8807 -1560 2 35.0429 8.10164 30.0746 -15.2678 -67.3723 -6.51647 -1561 1 7.94184 25.3175 7.96439 -40.8607 -135.513 -106.497 -1562 2 8.07175 26.2092 8.28741 31.6947 88.0599 83.9912 -1563 2 8.25803 24.7571 8.67303 6.22746 44.5192 25.2024 -1564 1 32.0389 28.4793 8.5667 26.7942 -83.7809 -57.855 -1565 2 31.549 27.8876 7.9956 18.246 33.6491 35.1854 -1566 2 31.3699 29.0341 8.96795 -52.8128 36.9513 27.9447 -1567 1 7.65276 14.6738 31.3611 61.5049 -61.2367 1.31765 -1568 2 8.3836 14.1425 31.0452 -30.1415 5.69719 23.5996 -1569 2 7.66016 15.4497 30.8006 -14.928 49.3529 -30.5248 -1570 1 30.6546 5.02904 23.1487 32.4845 -17.5397 -93.7816 -1571 2 30.3254 5.90734 23.3398 -15.8593 14.3918 21.9405 -1572 2 30.8109 5.03157 22.2043 -10.5032 -20.2248 80.4125 -1573 1 16.77 18.1619 2.61666 32.1728 3.16549 11.3331 -1574 2 17.4259 17.7967 2.02271 -26.9007 8.54143 8.21315 -1575 2 15.9351 17.832 2.28438 -4.87514 -8.26756 -13.8911 -1576 1 24.4883 17.4271 17.1944 89.4519 15.8533 48.1909 -1577 2 23.568 17.313 17.4316 -57.0761 -12.7957 -18.7189 -1578 2 24.4958 17.3919 16.2379 -31.8419 -7.37793 -33.0905 -1579 1 26.3197 10.561 19.0568 -12.5125 29.391 13.0461 -1580 2 25.5556 11.0622 19.3417 71.2805 -15.1349 -17.1482 -1581 2 27.0516 11.1727 19.137 -57.3276 -12.5408 3.14824 -1582 1 17.3895 17.6639 5.36751 136.865 -46.2505 -86.6115 -1583 2 17.1875 17.8762 4.45625 -37.8252 2.79242 85.9577 -1584 2 16.6036 17.9157 5.85246 -96.6438 38.5511 -4.41566 -1585 1 17.483 20.8441 3.33293 -20.0766 -22.2361 -12.6015 -1586 2 17.3516 19.9309 3.07779 34.4362 -84.6278 29.6443 -1587 2 16.9046 21.3407 2.75404 -19.0832 93.1123 -7.33096 -1588 1 30.7037 8.90538 0.583707 63.0404 36.3138 -42.9969 -1589 2 31.2523 8.91432 1.36801 -14.4539 20.7652 -90.2982 -1590 2 31.2691 9.24757 35.3385 -47.807 -47.2069 128.263 -1591 1 17.2453 9.5157 26.9759 -60.856 -102.386 13.3636 -1592 2 18.0957 9.68447 27.3816 32.785 40.7682 -4.60386 -1593 2 17.1001 10.2674 26.4013 31.8421 57.3579 -14.2918 -1594 1 26.714 8.00411 33.0086 -18.8372 2.47145 -88.6429 -1595 2 26.4184 7.28436 33.5661 -6.78048 -42.4253 71.7477 -1596 2 26.318 7.82524 32.1557 23.0525 35.8489 7.53648 -1597 1 2.78382 32.0058 13.2659 -79.3847 -71.8506 -8.07404 -1598 2 2.87581 31.3758 12.5512 -5.84405 49.218 52.4079 -1599 2 1.99207 31.7305 13.7281 83.6797 26.2771 -44.1959 -1600 1 7.54066 16.0825 21.8424 83.3387 106.529 97.4681 -1601 2 8.1886 16.7346 22.1092 20.7274 -33.8673 -107.529 -1602 2 6.98425 15.9678 22.6127 -105.353 -83.5861 3.81267 -1603 1 3.5859 2.68851 31.3102 2.64894 -19.5051 -22.5632 -1604 2 3.77606 1.79432 31.0264 -0.583355 28.1287 27.2612 -1605 2 3.86178 2.71335 32.2264 2.91842 -15.4128 -1.29979 -1606 1 6.00535 6.06827 35.2473 21.0603 14.9965 65.757 -1607 2 6.87263 6.45646 35.1317 -4.70248 3.14836 -6.3667 -1608 2 5.73031 5.82735 34.3627 -12.7763 -13.9795 -52.1841 -1609 1 10.8009 12.6166 27.5365 -23.3163 29.9009 65.6171 -1610 2 10.01 12.2018 27.881 13.0457 1.8261 -17.6657 -1611 2 10.9429 13.3727 28.106 5.28197 -37.8943 -37.3005 -1612 1 5.91857 34.412 7.6627 -25.1587 -13.9473 -11.6672 -1613 2 6.17134 34.8139 8.49387 -30.1461 54.1173 99.284 -1614 2 6.73751 34.0732 7.30108 51.3012 -50.54 -80.2485 -1615 1 33.1196 4.34069 33.432 106.907 -83.3611 -24.5211 -1616 2 32.9915 5.2225 33.0824 -24.5718 79.7221 -19.805 -1617 2 33.9591 4.05826 33.069 -73.7331 8.37694 41.0772 -1618 1 4.74677 32.2549 32.8203 23.0535 2.88625 -90.9187 -1619 2 5.03231 32.4285 31.9233 -19.9967 -24.823 61.3615 -1620 2 4.54887 33.1193 33.1807 -3.71913 19.6053 24.3811 -1621 1 16.3431 0.390297 4.84014 92.1028 -29.6041 -88.0807 -1622 2 16.2331 35.0363 4.43524 -39.8901 11.9003 35.0145 -1623 2 17.173 0.715438 4.49121 -61.5698 14.9698 52.8055 -1624 1 29.7614 18.4935 11.691 -11.1144 -4.59879 18.648 -1625 2 29.6222 19.3822 12.0183 11.4933 -51.067 8.1685 -1626 2 29.8231 17.9542 12.4794 -4.1558 50.6836 -26.0052 -1627 1 6.35865 20.2396 32.1088 -1.83806 -23.796 -0.768101 -1628 2 5.60426 19.7608 32.4522 0.644557 -24.6272 -24.3801 -1629 2 6.37864 21.0514 32.6156 27.2229 66.0038 14.8107 -1630 1 32.3886 33.7655 35.3574 -34.9092 136.423 -9.40077 -1631 2 33.1176 34.3557 35.1662 -4.66992 -58.7547 4.14178 -1632 2 31.6272 34.3408 35.432 32.1983 -80.4017 2.11851 -1633 1 33.535 26.8252 15.68 -24.9602 -98.0496 -155.48 -1634 2 33.3744 27.5341 15.0572 9.75888 26.8221 40.8427 -1635 2 33.4921 26.0277 15.1523 13.7426 71.5683 113.526 -1636 1 10.2698 4.84621 26.0289 -42.4697 -49.8707 63.1331 -1637 2 9.72661 4.19971 26.4797 51.487 59.2848 -51.3943 -1638 2 9.9363 4.8561 25.1317 -7.36393 -4.22669 -4.63818 -1639 1 21.2839 12.9972 30.4097 -2.4449 -61.1998 15.9761 -1640 2 20.6421 12.3291 30.6505 78.1043 62.6959 -18.1643 -1641 2 22.1322 12.5848 30.5725 -72.0347 11.544 -7.13444 -1642 1 15.4545 8.3492 23.3732 6.15535 45.4233 123.296 -1643 2 15.3671 7.90171 22.5315 -4.06507 -39.2025 -95.8133 -1644 2 15.9371 9.15051 23.17 -3.96388 -6.89081 -19.4508 -1645 1 6.9692 34.4149 28.2496 126.344 13.0669 92.9354 -1646 2 7.75215 34.2986 28.7878 -80.6382 -33.7673 -79.4595 -1647 2 6.6558 35.2925 28.4683 -57.791 32.4648 -27.4451 -1648 1 1.81069 22.893 2.63117 -18.1116 -2.7492 -100.894 -1649 2 1.55963 22.8823 1.70753 -6.5128 -6.94875 85.854 -1650 2 2.69067 23.2696 2.63633 21.9196 9.64694 25.3183 -1651 1 33.2762 8.93412 34.7773 -13.2381 56.1361 38.4201 -1652 2 33.5997 8.15141 34.3312 25.4279 -26.9532 -8.4114 -1653 2 33.9793 9.17417 35.3809 -17.2597 -31.508 -36.1669 -1654 1 11.2728 30.3309 3.53307 74.4696 124.831 -73.1291 -1655 2 10.3798 30.4519 3.21011 -42.5272 -22.7395 7.19523 -1656 2 11.2115 29.5902 4.13636 -46.901 -97.3504 65.2987 -1657 1 24.9656 2.12252 18.9021 33.3563 -17.3579 39.7137 -1658 2 25.4507 2.94695 18.8673 -5.67418 -38.5328 11.5703 -1659 2 25.4573 1.58052 19.5191 -30.7963 54.7743 -50.3064 -1660 1 27.5802 12.9165 22.8062 34.2937 -106.205 -22.72 -1661 2 28.2409 13.4616 22.379 46.0228 31.356 -28.0055 -1662 2 26.9553 13.5411 23.1745 -80.0686 77.0279 49.3683 -1663 1 34.6817 21.4399 8.60969 -73.058 22.5949 45.0197 -1664 2 35.104 21.1458 7.80258 47.7135 -13.3412 -3.90043 -1665 2 35.3457 21.3139 9.28759 20.5098 -6.8073 -35.3017 -1666 1 2.66043 24.6342 34.3839 -201.347 15.5141 46.9287 -1667 2 2.54285 25.5752 34.2532 89.1663 43.726 -25.045 -1668 2 1.78739 24.3121 34.6082 109.098 -60.0536 -14.7027 -1669 1 21.599 20.2716 9.43204 -56.4951 -35.9493 -88.8409 -1670 2 21.31 19.7799 10.2008 2.83399 -12.92 68.5135 -1671 2 21.1026 19.8948 8.70553 43.6339 44.7837 17.264 -1672 1 17.7015 4.32954 28.8155 -33.6982 -68.3783 27.9871 -1673 2 18.2861 5.04784 28.5736 30.5259 48.6789 -26.0938 -1674 2 17.0824 4.26851 28.088 4.70363 8.36075 -11.4455 -1675 1 33.5959 13.3965 0.695757 2.79841 -24.1553 -42.5753 -1676 2 32.7156 13.039 0.579496 -14.9363 8.19131 18.7453 -1677 2 34.0833 13.0874 35.3793 9.4111 19.0814 31.0753 -1678 1 14.7123 15.9805 26.964 -42.2435 47.3128 -122.718 -1679 2 14.7242 15.4242 27.7429 26.2961 -54.2827 108.603 -1680 2 15.4805 16.5435 27.0595 26.2067 -1.75861 29.3924 -1681 1 25.2092 21.9557 32.2815 4.04508 35.4619 23.1261 -1682 2 25.3274 22.9036 32.2198 -7.9735 -53.6536 13.5863 -1683 2 25.1049 21.7873 33.2179 2.69287 22.6518 -31.5403 -1684 1 6.8152 3.83407 8.73031 -7.34112 5.27456 2.31529 -1685 2 7.56538 3.28217 8.50919 60.3111 -7.62897 -24.0959 -1686 2 6.13748 3.21783 9.00813 -51.0667 -4.31125 21.852 -1687 1 9.21614 7.78454 24.9559 94.662 18.0946 21.3798 -1688 2 9.5013 7.22695 25.6798 -8.6858 30.463 -41.8049 -1689 2 10.0137 8.22672 24.6649 -84.4616 -48.6356 40.5947 -1690 1 25.7661 24.5664 31.8221 16.139 4.73405 -156.303 -1691 2 25.2319 25.3353 31.6226 -32.5472 39.6123 65.8085 -1692 2 26.059 24.2494 30.9677 23.401 -39.9205 88.9561 -1693 1 15.9782 35.0173 18.8879 132.666 -54.1077 123.171 -1694 2 15.0677 35.0725 19.1782 -51.5336 28.7784 -67.7068 -1695 2 15.9592 35.3188 17.9796 -84.804 21.2184 -51.7155 -1696 1 13.183 8.82794 28.5664 -105.277 -122.027 -38.9877 -1697 2 12.3716 9.19446 28.9179 -2.34036 100.559 49.3371 -1698 2 12.9277 7.97655 28.2112 101.455 27.0344 -10.777 -1699 1 1.80201 1.01319 14.2125 -10.9994 108.429 11.6013 -1700 2 2.15615 0.283851 14.7213 39.2506 -81.1255 49.7133 -1701 2 1.36283 0.597347 13.4706 -26.3655 -26.5573 -49.0049 -1702 1 27.2049 9.56984 16.515 -122.192 59.5793 16.3919 -1703 2 28.0878 9.20111 16.4896 81.0579 -24.2595 37.5124 -1704 2 27.0912 9.85809 17.4207 38.8898 -30.2236 -51.7474 -1705 1 22.6438 27.8828 17.7012 49.3457 18.1757 -73.0896 -1706 2 23.3962 27.6648 17.151 -82.2546 49.5789 56.4651 -1707 2 22.4278 28.7852 17.4658 34.1152 -68.9783 3.55196 -1708 1 35.0221 17.7583 30.838 -25.1366 -163.909 -30.0371 -1709 2 35.2543 16.8308 30.884 19.9373 100.762 22.1918 -1710 2 34.1816 17.7728 30.3802 9.20744 55.9104 6.77971 -1711 1 32.1562 2.34683 15.7785 16.8639 -17.4896 5.79746 -1712 2 31.3149 2.79707 15.8547 3.30382 10.9899 -15.41 -1713 2 32.6299 2.83564 15.1055 -20.4562 2.78633 10.1896 -1714 1 17.3491 33.6121 35.0554 28.0663 -20.3669 34.0552 -1715 2 17.1509 34.4411 34.6198 17.9725 14.6268 3.83022 -1716 2 18.1602 33.7808 0.0877944 -54.6905 10.1453 -40.8997 -1717 1 1.64578 29.1889 17.0804 49.603 -4.48077 -54.9171 -1718 2 2.45524 28.7783 16.7764 -63.8429 27.0246 36.324 -1719 2 1.60016 28.9696 18.011 14.7364 -14.8058 31.0836 -1720 1 19.9464 29.2537 0.269639 -26.8873 -56.575 -80.5011 -1721 2 19.2231 29.8603 0.111085 -5.06196 13.5063 10.198 -1722 2 20.3884 29.6041 1.04298 28.7619 40.6573 62.5122 -1723 1 27.8751 8.50124 9.36767 -63.6131 -41.3148 -12.2052 -1724 2 28.6953 8.01212 9.3013 13.7418 37.4852 9.3571 -1725 2 28.146 9.39911 9.55925 44.6403 -2.626 -1.79707 -1726 1 9.83009 27.7479 10.8535 35.48 -43.6722 -77.1661 -1727 2 10.0168 28.6051 11.2364 14.3999 23.1012 9.24224 -1728 2 10.4015 27.6978 10.0872 -56.6997 19.3254 82.5667 -1729 1 26.3005 18.4601 21.2951 14.5335 -83.6305 -16.8008 -1730 2 27.1781 18.8416 21.319 -83.2571 48.8169 11.9793 -1731 2 25.712 19.2034 21.4273 70.7685 36.4426 0.424326 -1732 1 14.1931 25.9911 24.7443 -198.215 -14.4377 51.3373 -1733 2 13.3857 26.4657 24.9421 118.834 12.0828 -28.5984 -1734 2 13.9501 25.0674 24.8069 73.5881 9.35866 -14.5886 -1735 1 0.68914 8.97174 18.2007 61.1146 -22.113 79.7685 -1736 2 1.47886 8.43084 18.1956 -31.3821 7.19771 -40.948 -1737 2 0.659383 9.34465 19.0818 -31.0353 11.9113 -38.3143 -1738 1 32.7638 11.762 33.2407 155.271 -70.1926 -64.5912 -1739 2 33.5829 11.2865 33.1021 -74.1724 66.4987 -31.2067 -1740 2 32.4646 11.4779 34.1044 -82.0389 -1.68615 100.141 -1741 1 11.5837 29.9382 6.86929 68.3086 96.8308 30.659 -1742 2 10.8312 30.5293 6.84786 -80.6859 -12.2726 -16.7586 -1743 2 12.3177 30.4934 7.13259 8.33693 -75.678 -14.9418 -1744 1 33.7412 13.4573 4.64077 57.4437 -27.4415 -59.0767 -1745 2 33.2622 14.0744 5.19406 2.79143 46.6947 3.92001 -1746 2 34.2624 14.011 4.05935 -48.6945 -7.59113 53.8631 -1747 1 20.834 4.12553 19.8797 -36.0917 -30.8907 39.6433 -1748 2 20.9344 4.49859 20.7554 -34.0334 -10.765 52.4405 -1749 2 21.5059 4.56085 19.3549 63.6418 30.6897 -107.072 -1750 1 25.2814 8.95348 23.557 113.275 41.1287 -141.268 -1751 2 25.1132 8.59773 22.6844 -40.0213 -9.36321 67.6354 -1752 2 26.0681 9.48829 23.4506 -78.4309 -37.9369 71.1926 -1753 1 16.3379 1.45632 7.44654 -7.6265 0.517501 36.3702 -1754 2 15.5559 1.07957 7.84999 -0.84736 5.60168 5.42508 -1755 2 16.3331 1.11752 6.55131 9.51431 -14.4495 -40.4388 -1756 1 8.46245 10.8141 34.5349 -105.564 -54.5549 27.1296 -1757 2 8.57768 10.9131 33.5898 41.3995 21.57 -1.82151 -1758 2 9.25468 11.1943 34.9144 58.3156 34.8572 -29.9698 -1759 1 5.31339 12.695 25.2695 49.5823 22.0342 -4.2842 -1760 2 5.28055 12.4465 26.1933 -51.7824 -33.1812 63.8585 -1761 2 6.20703 13.0116 25.1378 -4.64511 8.64075 -53.7069 -1762 1 28.5176 6.14909 35.2405 -88.1782 47.8796 -5.94682 -1763 2 28.1069 6.97269 0.0565239 44.1167 -62.7793 -19.5292 -1764 2 29.4065 6.2011 0.144711 40.6685 10.4457 21.8035 -1765 1 7.78961 0.697739 16.2244 -84.5532 -7.2713 -20.9178 -1766 2 8.09867 0.8319 17.1203 24.3771 9.55988 83.0212 -1767 2 8.55261 0.883276 15.677 61.8641 10.8884 -56.4237 -1768 1 21.6803 21.8045 29.4666 92.6174 -29.1217 6.5542 -1769 2 21.6121 21.9092 30.4156 -6.33304 2.49275 -14.679 -1770 2 22.6036 21.6037 29.3131 -84.8983 18.8452 2.49276 -1771 1 20.5415 13.5162 22.8863 -63.6149 -44.7099 -59.224 -1772 2 20.1252 13.4069 23.7413 41.5347 19.0983 10.1776 -1773 2 21.3921 13.9091 23.0819 28.2143 21.3073 52.2065 -1774 1 13.5096 24.4133 28.8518 -16.7584 -104.831 19.9095 -1775 2 13.7422 25.3379 28.7668 -58.9978 10.9322 -52.2701 -1776 2 12.7416 24.3065 28.2906 68.3339 88.9671 29.8283 -1777 1 10.6965 24.268 31.9247 39.9214 65.0054 -105.217 -1778 2 10.6473 23.7252 32.7116 26.2784 -37.7588 71.5504 -1779 2 11.6103 24.5501 31.8844 -76.997 -34.07 32.5642 -1780 1 15.9558 28.976 35.0551 -4.59869 16.9032 24.3371 -1781 2 15.9895 28.403 34.289 13.1654 5.89541 -13.4528 -1782 2 16.6183 29.6453 34.8835 -18.1637 -24.8778 -4.73429 -1783 1 1.56494 0.695931 33.0488 -7.82546 2.85897 6.28041 -1784 2 2.3653 1.15923 33.2959 21.5381 2.16919 -17.3713 -1785 2 1.07421 0.61188 33.8664 -30.4619 -13.1026 5.47324 -1786 1 26.1486 0.156998 10.0334 100.992 19.0148 78.4341 -1787 2 25.3876 0.327467 9.47838 -100.512 12.7939 -72.7237 -1788 2 26.2276 34.7095 10.046 -6.30603 -35.7748 -6.321 -1789 1 9.77747 17.7256 3.3079 -15.1177 -51.4176 -46.837 -1790 2 9.84926 17.8953 4.24722 -2.02682 14.0052 57.0174 -1791 2 9.25206 16.9278 3.24758 22.2251 35.8836 0.252656 -1792 1 8.7542 5.30397 3.09771 12.4213 18.1284 -138.238 -1793 2 8.60827 5.08184 4.01728 -2.3211 -5.44548 114.096 -1794 2 9.11045 6.19216 3.11897 -1.95036 -2.72999 26.7585 -1795 1 20.4817 15.9179 9.33613 21.0604 -24.5147 -135.704 -1796 2 20.554 15.4845 8.48573 -10.0707 58.8981 115.641 -1797 2 20.2655 15.2133 9.94696 -7.71867 -31.7412 19.3962 -1798 1 16.8258 18.5832 26.1716 29.5009 -180.881 47.1146 -1799 2 16.6113 18.4222 27.0905 -41.8391 101.856 42.9472 -1800 2 17.1968 17.7563 25.8634 -2.55761 77.1759 -91.7224 -1801 1 13.7602 16.9853 22.3202 -0.347047 22.858 -76.9174 -1802 2 13.5835 17.873 22.0086 7.00159 -0.924808 -16.0352 -1803 2 13.5903 17.0231 23.2614 -8.69006 -19.8049 86.5568 -1804 1 32.6202 30.4061 6.88945 12.3583 39.1277 -33.0313 -1805 2 33.5171 30.4006 6.55509 -2.18656 -7.54507 2.7296 -1806 2 32.5606 29.6182 7.42965 1.39015 -29.1017 22.5731 -1807 1 17.6323 14.6078 27.182 -11.8057 18.0452 -87.9568 -1808 2 17.8963 15.2122 27.8757 18.0023 21.7031 44.3758 -1809 2 17.7049 15.1203 26.3767 -9.11405 -46.4403 43.6533 -1810 1 11.6224 21.259 16.4721 -32.7747 -25.0008 40.6365 -1811 2 11.4997 21.3612 15.5283 -40.9671 0.61544 -90.6165 -1812 2 12.4984 21.6069 16.6393 70.6567 28.2261 46.8509 -1813 1 1.37589 22.2789 20.7522 -41.4353 -37.4922 33.5456 -1814 2 2.11728 21.8396 20.3355 7.62508 -10.9398 -1.55026 -1815 2 0.768503 21.5715 20.9687 46.2513 38.8436 -18.9684 -1816 1 7.18312 3.2674 24.3648 10.7382 40.4213 -33.1762 -1817 2 7.70367 3.09513 23.5802 -33.0432 -24.3849 55.393 -1818 2 6.96172 2.39909 24.7013 24.8018 -7.23514 -26.132 -1819 1 17.6495 11.9524 5.42355 10.8967 15.9964 107.143 -1820 2 17.6466 12.8975 5.57508 1.82762 -1.82657 0.60285 -1821 2 17.4214 11.8569 4.49883 -20.8259 -17.7865 -102.08 -1822 1 12.8489 11.6661 32.148 -17.8965 188.078 -111.666 -1823 2 12.9552 10.7149 32.136 14.8057 -118.886 68.8195 -1824 2 12.8329 11.8941 33.0775 8.91269 -65.1713 40.0813 -1825 1 28.1248 28.5738 6.21199 -192.186 43.1029 -11.4148 -1826 2 28.7331 27.8725 6.44515 126.968 -85.4696 28.3322 -1827 2 28.6866 29.2917 5.91998 82.4559 38.5651 -17.6132 -1828 1 9.60802 10.1304 3.09593 -93.7682 46.3021 37.3457 -1829 2 9.15367 10.5237 3.841 48.1761 -48.506 -94.0423 -1830 2 8.91505 9.94798 2.4613 39.6056 15.8046 57.281 -1831 1 14.4249 9.53466 14.3051 -123.439 24.9231 25.9395 -1832 2 13.6218 9.61307 14.82 56.7426 -18.0094 52.7871 -1833 2 14.1516 9.7137 13.4053 59.4293 -1.54716 -76.4542 -1834 1 6.04341 31.1491 20.461 -47.2656 -32.3307 7.09195 -1835 2 6.13021 30.2015 20.3565 -34.2445 79.6778 13.6184 -1836 2 5.11162 31.2874 20.6309 73.0105 -36.3797 -15.7581 -1837 1 8.78644 13.5813 21.8859 65.416 50.4952 92.7993 -1838 2 8.50305 14.4953 21.9079 -17.1217 -46.3339 -35.7963 -1839 2 8.24095 13.177 21.2112 -44.0244 9.7129 -48.364 -1840 1 23.4728 35.2749 4.51444 82.1512 -62.8586 -4.43703 -1841 2 22.7717 35.446 5.14336 -24.85 2.97315 30.1159 -1842 2 24.0277 34.6244 4.94466 -50.4442 53.9632 -33.0951 -1843 1 22.0934 26.5436 21.4556 61.6688 13.3811 31.4118 -1844 2 22.6334 26.459 22.2414 -33.6265 -15.6813 -19.5227 -1845 2 22.498 27.2571 20.962 -25.1393 -16.8342 -7.17079 -1846 1 1.89425 19.0608 16.6622 3.28475 46.2513 -5.68985 -1847 2 1.87083 19.9778 16.3884 1.6448 -79.7844 41.4251 -1848 2 2.01718 19.0967 17.6108 -5.23574 16.1596 -36.0108 -1849 1 23.9637 29.6196 2.08828 -69.8703 54.5439 -173.282 -1850 2 23.9782 29.2387 1.21026 17.7273 -5.49981 101.72 -1851 2 23.5499 30.4749 1.97202 26.107 -35.3959 56.7774 -1852 1 1.04741 21.6892 30.5979 -115.233 -13.532 -151.998 -1853 2 0.113051 21.7444 30.3975 31.2588 10.1427 93.9672 -1854 2 1.46569 21.533 29.7512 75.2562 4.98715 47.7558 -1855 1 13.7336 18.7716 16.05 36.1898 53.9538 -56.9996 -1856 2 14.028 19.1122 16.8948 -13.9343 -22.8762 19.6579 -1857 2 13.1753 18.0268 16.2729 -19.3783 -29.7417 40.7088 -1858 1 15.0251 6.07561 33.9309 8.45826 5.37648 -1.81671 -1859 2 14.744 5.59469 33.1525 44.0459 8.11479 29.3483 -1860 2 15.9583 5.8782 34.011 -55.9922 -14.2135 -28.2397 -1861 1 31.8194 4.72563 13.932 -76.438 36.5996 36.6777 -1862 2 32.7645 4.6887 14.0793 76.2185 -10.5878 3.59609 -1863 2 31.6915 4.29775 13.0854 0.759274 -26.189 -49.3505 -1864 1 24.2464 18.8312 7.32372 -41.9992 53.3351 -90.8799 -1865 2 24.4155 18.4871 8.20079 50.7924 -34.3591 51.5305 -1866 2 25.0374 18.6218 6.8271 14.2528 -14.3602 32.1679 -1867 1 30.0922 6.70763 9.34653 19.3341 -118.414 -30.4242 -1868 2 30.6874 6.86847 10.0787 17.9106 47.1118 43.6622 -1869 2 30.3036 5.82052 9.05573 -43.4784 60.4306 -8.82744 -1870 1 6.445 22.2103 16.5271 -47.7403 -14.1187 159.808 -1871 2 6.64042 21.365 16.9316 2.42881 46.1711 -48.8959 -1872 2 6.77163 22.1288 15.6311 45.4809 -35.2284 -93.468 -1873 1 26.5351 4.89727 31.491 20.5514 42.1388 77.5845 -1874 2 26.401 4.09028 30.9939 -19.8733 12.7801 -50.7802 -1875 2 26.231 5.59212 30.9071 -5.94505 -47.2654 -24.2121 -1876 1 16.6218 30.9593 12.5758 76.776 21.1314 15.0447 -1877 2 17.5309 31.2416 12.4755 -63.1447 -15.9732 -5.44499 -1878 2 16.5322 30.7656 13.509 -13.3801 -1.95666 -9.97437 -1879 1 4.87302 34.6151 34.447 104.714 84.2993 -0.89393 -1880 2 5.78717 34.7455 34.6991 -66.4725 -52.938 1.96992 -1881 2 4.61648 35.4418 34.0383 -42.5934 -34.2834 5.2485 -1882 1 2.50195 12.2818 26.0872 -8.67516 29.7785 -70.3215 -1883 2 3.1341 12.4118 25.3803 -27.1441 -5.8392 34.5663 -1884 2 3.01104 11.8861 26.7947 30.271 -23.377 31.7936 -1885 1 11.0081 34.2904 8.17399 9.42688 -5.7969 97.8947 -1886 2 10.7998 34.3332 9.10726 7.04621 0.417361 -87.1889 -1887 2 11.8825 33.9022 8.14084 -5.45944 4.15781 -5.16582 -1888 1 10.4598 16.7637 26.4131 148.288 90.0257 41.7655 -1889 2 10.4316 17.0754 27.3177 -72.7157 -36.8972 0.248291 -1890 2 11.309 17.0585 26.0841 -70.484 -54.3031 -51.5156 -1891 1 17.2098 4.69875 34.6801 81.246 -30.7191 -41.3973 -1892 2 18.0151 4.45904 34.2214 -71.7257 21.3966 42.2854 -1893 2 16.875 3.87125 35.0255 6.50051 11.5534 -2.108 -1894 1 6.97863 35.1347 32.2629 50.8129 -99.4838 -30.4474 -1895 2 7.56347 34.8235 32.9538 -41.616 46.5075 -25.0214 -1896 2 6.65314 0.469077 32.5846 2.57011 40.1833 47.8232 -1897 1 30.2687 4.69117 18.0464 60.7323 97.3861 -22.0469 -1898 2 29.6025 4.01217 17.9397 -42.0291 -72.8011 18.2538 -1899 2 30.768 4.4187 18.8164 -17.8086 -24.6517 8.15754 -1900 1 14.1597 29.6356 31.6828 30.9419 40.4802 -8.95169 -1901 2 14.4476 30.3966 31.1787 -5.71984 -21.9829 20.3791 -1902 2 13.5545 29.1766 31.1002 -20.3468 -21.2423 -11.9375 -1903 1 22.4062 9.51588 9.73682 -25.0265 24.595 63.1611 -1904 2 22.734 9.37614 10.6252 -11.7157 4.39127 -35.1937 -1905 2 23.0228 9.04451 9.1766 39.1276 -27.1504 -30.8252 -1906 1 22.2407 0.134276 35.413 -42.8239 -41.0374 60.4051 -1907 2 23.1409 0.333643 0.222809 43.4422 17.792 -1.46489 -1908 2 21.8776 35.1647 0.712762 2.03662 22.5692 -45.7042 -1909 1 30.8031 21.1275 11.6291 8.18201 -81.2251 51.4742 -1910 2 31.1578 21.6894 10.9401 18.9684 37.0502 -48.7174 -1911 2 31.4306 20.4081 11.699 -31.726 41.7294 -2.6312 -1912 1 27.4502 5.23285 21.3967 43.0518 -12.2654 10.7167 -1913 2 27.8253 4.72625 22.1171 -28.5647 20.7097 -13.5339 -1914 2 26.5781 5.47904 21.705 -14.103 -7.53663 23.2646 -1915 1 34.2489 16.5307 18.5363 26.9125 -52.6845 -20.1673 -1916 2 34.8827 15.8461 18.7503 10.1132 17.7044 42.0284 -1917 2 33.9212 16.2918 17.6692 -38.1022 30.6955 -21.5306 -1918 1 32.1141 35.0942 16.4825 -0.867004 -48.405 2.84315 -1919 2 32.9623 34.6708 16.6154 -20.9146 28.4235 -14.5239 -1920 2 32.313 0.365179 15.9607 23.3692 9.94143 -6.48738 -1921 1 5.27687 31.5242 24.5907 -41.8155 -32.232 -72.1813 -1922 2 5.60539 31.6007 25.4865 31.5439 41.9211 28.7506 -1923 2 5.5227 32.3499 24.1735 12.1666 -5.48947 41.746 -1924 1 25.7907 25.4154 18.2947 20.8035 21.2797 20.5846 -1925 2 25.4138 24.7122 17.7657 -11.5015 -8.7926 -11.7913 -1926 2 25.758 26.186 17.7278 -5.43932 -10.731 -2.4049 -1927 1 4.9373 22.5181 12.7303 -6.4384 -109.105 57.2178 -1928 2 4.67073 21.7372 13.2154 46.7558 31.8331 -22.6463 -1929 2 4.1183 22.9792 12.549 -49.1964 70.1051 -30.4411 -1930 1 12.3715 3.4068 24.8685 96.9889 -105.459 -2.59257 -1931 2 11.5379 3.78717 25.1454 -78.5271 72.7012 7.46574 -1932 2 12.7376 4.04834 24.2597 -26.2048 27.0425 1.81415 -1933 1 17.2206 21.0678 32.2286 70.9033 -32.4857 -28.922 -1934 2 16.37 21.3218 31.8703 -31.2433 6.59635 -32.464 -1935 2 17.7395 20.8211 31.463 -47.0509 20.4749 43.9242 -1936 1 25.4169 13.6587 27.4317 -0.727949 9.42962 -145.923 -1937 2 25.9517 14.3734 27.0861 -3.23386 -8.44445 54.635 -1938 2 25.0518 13.2348 26.655 1.65215 1.37226 80.6823 -1939 1 31.3457 0.922103 6.09387 93.2805 93.8551 -38.7299 -1940 2 31.5155 0.207477 5.48008 -21.219 -72.6924 -14.0259 -1941 2 31.9625 1.6085 5.83961 -64.7524 -23.8625 51.719 -1942 1 14.5195 27.1466 0.851682 38.6886 37.2405 14.6579 -1943 2 15.053 27.8652 0.512027 -28.0679 -32.9887 -8.99741 -1944 2 14.6072 27.2114 1.80267 -15.0183 -14.128 4.77814 -1945 1 28.877 13.802 31.4018 -4.50288 23.8843 -13.5573 -1946 2 29.2081 14.2631 32.1725 -0.230544 2.07915 -12.4648 -1947 2 28.8087 14.4787 30.7282 1.77038 -19.7831 31.8497 -1948 1 32.2979 1.69743 30.0205 -28.8467 109.78 -38.9645 -1949 2 32.9555 1.84764 29.3413 24.5461 -47.0658 1.39339 -1950 2 31.7668 2.49381 30.0206 1.00965 -60.2251 37.5257 -1951 1 12.623 8.26205 20.3365 -51.0291 54.698 -56.076 -1952 2 12.8038 8.94712 20.98 7.54061 -8.85741 0.764622 -1953 2 12.1346 8.70659 19.6435 47.8511 -55.3633 57.2868 -1954 1 12.529 25.4483 7.87221 -48.9382 -101.6 1.11575 -1955 2 12.9572 24.6439 8.16517 48.6378 37.6284 17.52 -1956 2 11.6948 25.156 7.50493 -0.295674 62.8691 -15.443 -1957 1 1.10092 20.9789 6.76259 27.205 20.4467 -20.553 -1958 2 0.8209 21.0263 5.84848 -7.50941 -2.67192 -4.52081 -1959 2 1.91303 21.4847 6.79139 -30.6585 -22.163 10.0435 -1960 1 4.82409 0.410104 13.4746 -3.61871 -66.6275 45.8026 -1961 2 4.33159 1.13563 13.0908 -33.7684 83.5475 -47.5464 -1962 2 4.1925 35.4689 14.0377 32.5565 -8.9676 -2.20459 -1963 1 7.97943 14.3227 18.3991 -62.6546 39.1623 68.9072 -1964 2 7.48796 15.0929 18.6846 32.7298 -3.02693 -45.5565 -1965 2 7.74856 13.6426 19.0319 33.3077 -26.9346 -30.733 -1966 1 6.57492 10.8376 7.69432 -42.1835 -33.4879 61.6812 -1967 2 6.88034 11.43 7.00728 61.1077 54.5155 -84.4452 -1968 2 5.70739 11.1679 7.92785 -16.8375 -20.6972 23.7848 -1969 1 10.1308 13.458 3.45525 -19.289 -27.8108 18.398 -1970 2 9.47924 14.0224 3.03904 59.8681 9.66437 -14.5467 -1971 2 10.9686 13.7582 3.10271 -46.1431 27.4514 -18.5848 -1972 1 2.78627 23.982 22.6844 61.7668 -37.9237 -21.697 -1973 2 2.23775 23.3518 22.2172 -8.17893 -35.1455 -20.7984 -1974 2 2.17291 24.6441 23.0031 -46.5196 68.0647 37.1881 -1975 1 29.6763 34.0661 9.4221 -25.2085 -34.5053 76.7307 -1976 2 29.4116 33.869 10.3206 -13.3027 -22.4655 -41.4267 -1977 2 30.2063 34.8598 9.49668 49.5961 63.0099 -39.1917 -1978 1 17.3951 25.0142 9.24935 74.1256 -119.972 13.8699 -1979 2 18.0557 25.5131 8.76884 -7.409 57.2755 -19.7204 -1980 2 17.7887 24.1502 9.37149 -78.6001 67.4017 9.86198 -1981 1 11.139 14.0733 32.9523 31.4256 -0.03008 -5.2348 -1982 2 12.066 14.2725 33.0835 -15.5197 6.63618 -14.1202 -1983 2 10.9478 13.388 33.5926 -13.6636 8.48879 -3.5036 -1984 1 1.12572 32.0183 27.5356 24.6266 46.3494 2.8897 -1985 2 0.546692 31.3048 27.8037 -3.08121 -31.7776 -12.0256 -1986 2 1.55521 31.6943 26.7439 -12.2274 -17.2869 5.12609 -1987 1 16.7457 10.366 22.1454 -15.3164 -22.3958 -16.0252 -1988 2 17.6114 10.1816 22.5099 -14.3265 37.126 0.80158 -1989 2 16.5565 11.2637 22.4183 29.9704 0.0490406 16.3066 -1990 1 3.7604 22.8172 16.7231 -94.979 -46.3638 63.4302 -1991 2 3.80199 23.6592 16.2696 52.6252 2.42304 -21.4425 -1992 2 4.60092 22.4005 16.533 37.2062 36.1623 -37.5204 -1993 1 1.85858 2.74219 27.3787 -16.8615 -16.8421 15.8272 -1994 2 2.54214 2.17108 27.7292 -4.59146 35.0941 -40.6374 -1995 2 2.27945 3.20266 26.6527 25.2819 -23.6186 22.0617 -1996 1 20.9735 33.5714 23.8814 -106.803 36.5464 88.0259 -1997 2 21.6236 32.9171 24.1374 45.6079 -11.0665 -63.4639 -1998 2 21.2264 33.8268 22.9943 67.7875 -35.3184 -31.857 -1999 1 14.9346 6.66221 21.3527 -126.314 -3.88715 -82.8474 -2000 2 14.0911 6.81595 20.927 39.2653 62.6904 53.7569 -2001 2 15.1982 5.79131 21.0556 85.678 -53.7307 17.9606 -2002 1 22.2461 5.18918 17.8715 -69.145 -31.4218 -18.0837 -2003 2 21.9344 5.83223 17.2347 -27.7401 11.8107 -16.433 -2004 2 23.137 5.47038 18.0801 108.344 19.9553 34.4799 -2005 1 31.7359 29.9237 26.3736 -84.3482 -146.558 -73.4212 -2006 2 32.1627 30.6728 26.7895 111.481 40.2155 8.28834 -2007 2 32.4462 29.4563 25.9339 -20.9159 104.035 73.147 -2008 1 24.5541 23.2903 6.20562 34.8499 -73.6669 40.9676 -2009 2 25.3233 22.7463 6.0363 -54.9847 54.2625 4.3351 -2010 2 24.1245 22.8728 6.95223 10.9892 27.9336 -36.5991 -2011 1 25.8826 13.3692 31.6978 -39.5587 45.0721 109.942 -2012 2 26.0654 12.9392 30.8624 14.4928 -55.2593 -101.315 -2013 2 26.7459 13.5818 32.0524 34.4682 10.678 13.5079 -2014 1 31.9081 10.2232 30.8508 60.5777 139.069 -26.1959 -2015 2 32.2481 10.7082 31.6027 -21.552 -31.8062 -26.0603 -2016 2 31.6024 9.39393 31.2183 -39.6468 -107.76 57.4176 -2017 1 0.849757 3.66316 11.6882 -66.4227 -77.864 -86.3174 -2018 2 0.839326 4.56785 12.0007 9.47524 78.9317 34.8726 -2019 2 0.14017 3.62253 11.047 60.8788 -7.45935 55.9047 -2020 1 12.6493 6.4064 27.2531 -40.9759 17.8512 -96.8045 -2021 2 11.9988 5.88507 26.7827 30.2874 12.9967 48.5047 -2022 2 12.9203 7.07589 26.6249 2.54534 -39.1725 52.0268 -2023 1 15.9599 7.99333 15.8859 30.1406 -18.388 8.6192 -2024 2 16.7797 7.85417 15.4117 -4.79859 1.07516 10.1564 -2025 2 15.4667 8.60439 15.3385 -20.0761 12.8881 -12.5608 -2026 1 20.0344 20.1357 12.6654 -3.86966 -64.7249 -48.8174 -2027 2 19.4344 20.3202 11.9427 10.3543 13.9442 17.6237 -2028 2 20.3441 19.2454 12.4988 -10.1918 51.4785 29.9814 -2029 1 21.356 6.30633 10.131 -67.0198 -114.109 -5.58798 -2030 2 20.9103 5.53439 10.4799 -7.83167 25.8119 -63.3827 -2031 2 21.891 6.6238 10.8585 85.5245 81.2641 57.4267 -2032 1 35.1559 30.9332 9.83309 61.3262 -2.90007 -69.3354 -2033 2 0.303167 31.6302 9.88912 -24.8958 -15.4978 13.785 -2034 2 34.5934 31.0698 10.5955 -26.5859 21.8525 52.7843 -2035 1 4.27659 27.2552 26.2915 116.968 -151.738 -34.7454 -2036 2 3.39554 27.3768 25.9377 -83.718 52.8428 -4.72735 -2037 2 4.42257 28.0247 26.8419 -28.396 103.456 48.6556 -2038 1 26.8593 19.3342 13.6851 30.7677 67.3413 -148.698 -2039 2 26.0004 19.2038 14.0871 -50.0945 -27.4421 67.323 -2040 2 27.4811 19.0115 14.3374 18.1351 -38.3726 82.2067 -2041 1 7.83885 28.1834 15.8334 16.5365 20.604 -8.56175 -2042 2 7.60386 27.3316 16.2014 -33.7069 20.3127 -2.25908 -2043 2 7.02096 28.6807 15.838 5.21927 -39.3621 14.9074 -2044 1 32.631 18.2249 29.7861 41.9215 38.3318 11.8543 -2045 2 32.1421 17.5039 29.3895 -39.2744 -31.6531 -17.1652 -2046 2 31.957 18.8189 30.1164 -14.576 -4.73824 -0.949144 -2047 1 3.25628 33.4796 7.39391 71.9746 30.5666 -22.4299 -2048 2 4.11434 33.8297 7.63344 -69.5572 -27.2519 -15.9057 -2049 2 3.24436 33.5071 6.43718 -2.52475 -1.44402 31.1707 -2050 1 0.842237 3.50013 3.05753 16.9517 -63.8559 -23.0072 -2051 2 1.37533 4.09985 3.57944 19.8724 20.4219 19.8016 -2052 2 1.42823 2.77011 2.85767 -26.1771 37.5505 12.1175 -2053 1 25.1227 15.9755 21.4703 2.5941 62.4248 -49.2139 -2054 2 25.4287 15.7265 22.3424 20.0835 -17.1737 50.8233 -2055 2 25.5184 16.8328 21.3129 -18.0552 -40.9029 7.45317 -2056 1 7.27484 22.2113 14.035 48.561 60.0034 62.6588 -2057 2 7.83751 21.4533 13.8765 -38.0713 -11.7879 -38.4589 -2058 2 6.51927 22.0729 13.4638 0.293443 -44.8648 -32.9729 -2059 1 14.2406 9.72758 11.5631 116.878 81.801 14.5405 -2060 2 13.6867 9.60902 10.7914 -66.2487 -25.9071 -61.3884 -2061 2 14.9707 10.264 11.2543 -53.7978 -46.298 43.148 -2062 1 24.5661 34.1068 22.5037 -12.6784 75.01 -32.2381 -2063 2 24.4448 33.1898 22.2577 -6.71238 -64.4707 -26.8253 -2064 2 24.8834 34.0733 23.4061 24.4774 5.00072 65.3718 -2065 1 28.1828 24.2163 14.5011 36.8397 60.2005 -124.445 -2066 2 28.1283 24.0875 15.448 -42.2705 -47.9485 79.128 -2067 2 27.5548 23.5921 14.1374 10.284 -1.76503 54.6319 -2068 1 35.2069 9.7887 0.991304 -95.944 64.7317 5.27254 -2069 2 0.552607 10.1881 0.815879 115.488 -3.29094 -17.0999 -2070 2 34.5965 10.5257 1.01417 -16.4988 -53.7782 7.85015 -2071 1 0.691695 26.2382 12.9947 -9.41017 61.2975 -51.419 -2072 2 0.0768464 25.8717 12.3592 -28.0544 -73.2286 1.85962 -2073 2 0.833398 27.1379 12.7003 45.2238 18.3035 55.3252 -2074 1 22.1934 29.1186 4.33055 7.9951 12.5985 3.19312 -2075 2 21.5188 28.4403 4.36471 47.1765 5.49724 -20.3584 -2076 2 22.9008 28.7279 3.81759 -48.2839 -12.3785 13.5407 -2077 1 17.9152 28.6807 14.9942 -54.009 -38.437 -55.3386 -2078 2 18.4519 28.3813 15.7281 -12.5555 -30.3197 -4.96761 -2079 2 17.4906 27.8873 14.668 64.847 68.7897 58.1862 -2080 1 12.7944 25.7701 32.651 87.3127 -33.674 -49.9122 -2081 2 13.7325 25.6374 32.7874 -23.9657 -5.59064 -20.5018 -2082 2 12.4854 26.1582 33.4696 -48.9202 37.6441 80.1222 -2083 1 30.8723 23.1715 13.4622 -9.11844 -27.0426 17.3174 -2084 2 30.4177 23.0049 14.2879 -11.7763 32.8722 29.883 -2085 2 30.92 22.3151 13.0374 18.8176 -9.0042 -46.3578 -2086 1 9.82399 23.583 1.7494 3.91602 -23.2748 -58.3544 -2087 2 9.72916 23.4277 0.80965 -20.0403 27.4058 -4.72991 -2088 2 10.3677 22.8585 2.05872 18.1457 -16.7879 43.7545 -2089 1 6.8955 12.5745 5.5963 85.8424 -23.1235 -93.8407 -2090 2 7.81182 12.4154 5.36977 -59.0646 18.9114 61.7966 -2091 2 6.4222 12.4672 4.77122 -25.9937 7.60744 34.9584 -2092 1 11.0245 29.5546 32.8142 27.2343 -22.8279 -26.0862 -2093 2 11.5962 29.377 33.5611 -2.51259 4.69703 -3.95931 -2094 2 11.3841 29.0222 32.1047 -13.3466 16.0372 20.0845 -2095 1 5.68503 15.1158 32.9715 71.9243 84.7749 22.2842 -2096 2 6.43529 15.2072 32.3842 -29.722 -48.1256 -23.5074 -2097 2 5.83799 15.7643 33.6589 -49.7197 -21.4736 10.4848 -2098 1 21.2604 27.2124 29.976 9.35206 -13.3824 -10.3518 -2099 2 21.1086 27.9685 30.543 -0.00945565 9.47109 13.7934 -2100 2 20.5932 27.2863 29.2937 2.67135 -4.7572 1.71573 -2101 1 6.19805 8.13917 30.3426 -73.1956 -40.2746 18.2363 -2102 2 6.98147 7.66228 30.0686 68.3476 -8.23578 -14.6177 -2103 2 5.51941 7.46745 30.4098 -8.28926 38.749 8.67497 -2104 1 32.4114 28.41 3.86786 -36.9652 -91.2495 22.0784 -2105 2 32.506 27.4619 3.95885 10.6094 88.9598 -11.6688 -2106 2 31.5044 28.5859 4.11817 26.5222 9.8783 -10.8104 -2107 1 23.9888 26.6201 31.2201 1.20293 -109.473 17.0178 -2108 2 23.2074 26.8924 30.739 -49.7779 23.7284 -32.1279 -2109 2 24.4775 27.4307 31.3625 44.3945 90.7049 14.6397 -2110 1 28.5019 29.5744 20.8753 -105.573 -63.5283 91.4836 -2111 2 29.2364 29.9771 20.4121 98.2346 34.6669 -48.3894 -2112 2 28.9027 29.1372 21.6267 -2.74566 33.6259 -52.7638 -2113 1 27.7502 21.2781 18.5161 19.7289 10.8774 29.9785 -2114 2 27.4189 20.4309 18.218 36.4689 9.88724 51.6874 -2115 2 28.2531 21.075 19.3049 -59.0951 -30.5306 -78.2835 -2116 1 25.2558 27.4375 16.5506 -27.3132 48.5894 -138.27 -2117 2 25.6596 28.3054 16.5549 -16.4669 -51.6805 13.5284 -2118 2 24.9314 27.3282 15.6566 44.5383 5.03271 118.679 -2119 1 5.61318 2.12428 21.5016 42.3627 116.054 -46.2104 -2120 2 4.7857 2.12108 21.9828 -11.881 -55.7866 17.5254 -2121 2 5.90501 1.21282 21.52 -32.99 -59.6739 27.9577 -2122 1 14.2061 17.2982 2.13514 14.87 -16.8255 82.4501 -2123 2 13.459 17.6149 1.62724 -31.7979 16.4565 -57.7066 -2124 2 13.9007 17.3075 3.0423 30.4046 -13.1183 -10.0672 -2125 1 33.7736 2.92312 0.155872 -23.2753 70.1969 84.7704 -2126 2 33.4448 3.50799 34.9204 -1.98604 -9.23228 -59.7488 -2127 2 33.6438 3.40839 0.970669 26.2779 -65.148 -23.8257 -2128 1 0.228023 13.6858 9.35278 75.2268 -30.5675 -41.8622 -2129 2 0.628256 13.369 10.1625 -15.1728 4.49884 -22.1448 -2130 2 0.840824 13.4263 8.66472 -61.7866 22.2466 65.7642 -2131 1 27.5701 24.367 33.9196 28.7332 -71.3958 -21.3549 -2132 2 27.0209 24.2561 33.1435 -61.9626 57.7048 -37.1137 -2133 2 28.0866 23.5623 33.965 40.9923 1.35586 55.7795 -2134 1 18.7528 23.4345 22.1157 -55.989 -41.7974 78.544 -2135 2 17.831 23.3407 21.8758 44.1354 11.4866 -10.7307 -2136 2 19.1759 23.7589 21.3207 13.9252 25.7041 -74.501 -2137 1 2.29467 10.8714 1.51084 -32.1408 -14.5508 -43.6556 -2138 2 2.49392 11.7359 1.87029 8.29658 40.0219 18.0615 -2139 2 2.86631 10.2736 1.99261 26.9538 -27.5494 21.3125 -2140 1 25.6183 25.8965 25.2435 -22.6704 50.8467 44.5622 -2141 2 25.4682 26.5987 25.8765 11.2294 -47.0705 -40.532 -2142 2 26.3923 25.4388 25.5719 14.337 -4.85607 6.83892 -2143 1 16.9274 16.3249 9.80007 65.7834 60.832 91.2583 -2144 2 17.206 17.0991 9.31089 -15.6938 -45.7663 10.4381 -2145 2 17.345 16.4189 10.6563 -51.7702 -27.03 -90.6821 -2146 1 10.4759 17.2108 29.1097 -29.7724 -51.6266 4.03033 -2147 2 10.915 18.0412 29.2938 16.6521 36.3727 20.7383 -2148 2 10.1976 16.8911 29.968 12.6809 23.8938 -15.59 -2149 1 16.0664 22.369 1.69557 85.9561 -48.6572 -5.15207 -2150 2 15.3902 23.0063 1.46575 -28.2658 50.5099 -24.9006 -2151 2 16.8392 22.6523 1.20702 -67.0317 -6.80127 33.7933 -2152 1 16.3327 27.5815 32.8061 -97.1356 26.6046 -105.602 -2153 2 15.9617 26.7251 32.5938 37.4344 3.83013 30.771 -2154 2 15.8275 28.1996 32.278 61.9273 -28.2727 64.9337 -2155 1 20.4924 11.6244 35.2661 -5.21163 -1.0569 -6.7191 -2156 2 20.9669 12.078 34.5693 21.3478 4.01433 -4.63918 -2157 2 19.7346 11.2374 34.8278 -14.5793 -14.9179 8.0377 -2158 1 30.4097 26.5784 6.51351 -9.32609 30.1609 -39.3002 -2159 2 30.176 26.74 5.59942 17.4667 -38.6776 62.5005 -2160 2 30.4473 25.6247 6.58661 -9.16188 10.4851 -24.9264 -2161 1 12.3738 16.3745 4.56041 -15.067 -62.6596 -68.9688 -2162 2 12.3566 15.5741 4.03566 24.5663 39.9643 43.3456 -2163 2 11.6799 16.9196 4.18943 -10.8773 31.6695 6.66512 -2164 1 33.5682 11.906 21.4632 131.371 -44.4617 47.3568 -2165 2 33.2081 12.3946 20.723 -83.4852 -5.59447 28.6945 -2166 2 32.8074 11.6945 22.0041 -35.7983 48.0193 -76.3145 -2167 1 31.321 31.2318 1.41481 -9.64347 -36.4689 79.3449 -2168 2 31.4863 31.9888 0.852737 -9.20003 -55.8008 -59.1419 -2169 2 31.1997 30.5029 0.806288 16.3896 96.331 -24.3681 -2170 1 28.8703 19.6379 21.2284 48.52 113.94 -13.0221 -2171 2 29.7074 19.4491 20.8043 -13.2463 -30.88 0.948916 -2172 2 28.8769 20.5858 21.3611 -33.496 -85.1446 0.652634 -2173 1 4.42957 23.1715 25.4257 16.2789 -123.243 -35.6211 -2174 2 3.96582 23.5238 24.6661 2.94752 -9.19552 1.30951 -2175 2 4.5263 22.2382 25.2362 -18.205 130.166 23.9116 -2176 1 24.008 31.9956 18.1856 -117.196 85.2226 -16.1123 -2177 2 23.242 32.5523 18.0459 108.23 -55.2981 20.8967 -2178 2 23.6712 31.1022 18.1165 7.89186 -25.0594 -0.78642 -2179 1 12.5975 11.8079 19.0164 -30.5357 87.8883 -34.2682 -2180 2 12.2075 11.1552 18.4349 -2.33616 -57.2338 -2.36799 -2181 2 12.293 12.6478 18.6728 26.2177 -28.2123 43.9707 -2182 1 22.6089 27.9043 24.8195 -160.576 -21.8022 52.0453 -2183 2 23.4906 28.2525 24.9526 69.6867 41.0498 40.342 -2184 2 22.0845 28.3081 25.511 84.5604 -39.6516 -76.6987 -2185 1 10.8916 10.4455 15.8 -22.9141 -62.4068 -81.1362 -2186 2 10.7237 10.0344 14.952 11.329 1.04638 60.8679 -2187 2 10.9593 11.3801 15.6043 14.5228 67.5064 8.34378 -2188 1 0.0806027 9.79667 3.64446 -0.950094 -5.43541 -85.2643 -2189 2 35.4479 8.89892 3.94607 11.3933 22.8736 -38.4962 -2190 2 0.0936377 9.72978 2.68968 -7.40219 -19.1687 115.509 -2191 1 30.4073 21.0886 5.84674 52.8532 96.6697 -8.54195 -2192 2 30.0786 20.9467 4.95901 -16.1652 -22.7283 -11.5336 -2193 2 30.129 20.3123 6.33268 -33.0331 -73.0871 29.5632 -2194 1 24.6725 21.9194 3.53992 28.8323 6.42743 43.0674 -2195 2 24.3523 22.8154 3.43518 -38.9559 26.8758 -32.1553 -2196 2 25.2182 21.9499 4.32571 8.87151 -37.4672 -8.77811 -2197 1 28.9523 32.9106 27.7139 38.777 -73.8098 3.30276 -2198 2 28.276 33.5695 27.871 -22.8961 53.4222 -7.02643 -2199 2 29.6378 33.3791 27.2377 -17.926 15.2775 1.12307 -2200 1 30.0351 19.2109 7.99842 56.3343 -46.5142 -52.7242 -2201 2 30.7099 18.7746 8.51848 -74.8025 59.0519 7.30024 -2202 2 29.4792 19.6472 8.64408 20.8691 -13.7133 39.8829 -2203 1 24.4989 23.3484 12.1537 31.9512 118.967 26.8713 -2204 2 25.3983 23.0485 12.2856 -105.266 -69.2773 -33.8465 -2205 2 24.0125 22.5559 11.9268 85.1555 -46.3862 9.27762 -2206 1 31.7734 12.6346 3.01042 -34.2182 -37.3041 -88.7021 -2207 2 30.9423 12.3459 3.38745 -3.41543 4.45908 24.7195 -2208 2 32.2888 12.9278 3.76182 30.7768 15.3316 72.6946 -2209 1 14.3004 32.5135 11.8847 47.3641 -27.9171 -75.5567 -2210 2 15.1265 32.0325 11.9345 2.57721 -4.43068 -23.7228 -2211 2 14.0856 32.7162 12.7952 -47.0809 31.0815 95.3786 -2212 1 29.4344 16.8279 3.26315 1.71258 21.4097 -10.3499 -2213 2 29.2745 16.425 4.11658 35.0595 47.4908 -32.0321 -2214 2 30.0363 17.5491 3.44721 -34.267 -57.0872 34.6434 -2215 1 16.9328 0.291348 22.9259 -96.0457 35.1642 -81.0802 -2216 2 17.6742 35.4119 23.3925 68.2767 -48.9319 17.8501 -2217 2 16.9924 35.4375 22.041 26.4343 7.98162 65.9151 -2218 1 6.39107 32.0742 27.1141 -71.8376 -120.036 -66.8619 -2219 2 7.19893 31.719 27.4849 48.8832 -1.28396 25.7903 -2220 2 6.41169 33.0041 27.3403 23.9249 107.873 39.1037 -2221 1 11.3853 0.736949 34.4447 -6.27155 -21.4529 13.9855 -2222 2 11.8452 0.738645 33.6052 5.55277 -1.6284 -9.06704 -2223 2 11.3558 35.3213 34.7003 8.13427 36.8025 -14.2026 -2224 1 5.62922 0.9539 5.9663 143.249 9.02751 -73.4699 -2225 2 5.6188 0.151351 6.48789 -57.4481 -51.6778 60.9691 -2226 2 6.50024 0.971096 5.56972 -85.5718 52.5802 3.87491 -2227 1 31.4437 14.7803 9.5261 72.7893 -49.8157 51.2561 -2228 2 30.8084 15.3043 9.03817 -14.7892 50.6077 -37.3046 -2229 2 32.2619 15.2726 9.46018 -56.6295 -4.02105 -14.0818 -2230 1 4.14196 30.4663 11.2574 11.7043 -31.1743 -105.49 -2231 2 4.27745 30.2949 10.3255 -32.782 12.1484 85.6385 -2232 2 4.96545 30.8553 11.5521 11.1088 11.3476 21.6061 -2233 1 2.68608 19.0816 19.359 -3.01057 17.0183 27.4831 -2234 2 2.27221 18.6011 20.0759 -10.6631 -34.8733 -4.22677 -2235 2 2.869 19.9472 19.7243 18.376 16.3539 -25.2662 -2236 1 22.9299 35.3243 10.6498 -18.4446 106.559 3.48015 -2237 2 23.025 34.5167 11.1546 13.1046 -47.5462 -63.684 -2238 2 23.0373 35.0518 9.73849 8.84858 -59.2344 54.0435 -2239 1 21.4245 28.833 27.2617 -112.882 -122.417 48.1301 -2240 2 20.9579 28.0587 27.5765 94.6762 127.005 -55.7499 -2241 2 20.7393 29.4877 27.1269 24.9839 7.30026 -4.47793 -2242 1 30.8529 9.03894 4.7007 -10.4074 0.580166 26.9286 -2243 2 30.816 8.58637 5.54336 1.35589 4.39792 -23.1526 -2244 2 30.494 9.90818 4.87919 1.68948 2.12885 -6.87637 -2245 1 4.86299 22.6951 4.35164 68.9609 53.2154 38.5763 -2246 2 5.71115 23.1388 4.34908 -68.3496 -36.7087 0.304243 -2247 2 4.83212 22.2315 3.51476 -0.0544366 -20.7945 -36.6172 -2248 1 13.4448 3.46093 20.9058 117.199 -147.58 -78.3774 -2249 2 14.2592 3.66177 20.4448 -54.2965 70.2265 33.8493 -2250 2 13.3849 2.50589 20.8823 -65.9335 79.899 41.3496 -2251 1 22.1549 21.8464 0.89966 70.1558 -49.7685 -19.5359 -2252 2 22.4513 21.0015 1.23811 24.4575 9.50177 -15.5263 -2253 2 21.3077 21.99 1.32132 -96.5829 40.0968 36.6351 -2254 1 9.81432 3.47734 1.49557 -20.9621 29.0428 47.0274 -2255 2 9.6162 4.18978 2.10338 5.3877 -81.0925 -49.9401 -2256 2 9.30715 2.73449 1.823 14.9586 47.8294 -0.725459 -2257 1 25.044 17.8503 9.69663 27.1502 -5.67979 -58.5993 -2258 2 24.2054 17.8816 10.1572 -69.4711 -0.0877294 26.756 -2259 2 25.6996 17.8219 10.3934 28.1182 5.25101 15.3179 -2260 1 15.1885 12.4135 1.71068 7.9846 18.3332 -112.133 -2261 2 15.5278 12.4107 0.815631 -46.1935 16.816 46.221 -2262 2 15.8252 11.9023 2.21028 36.3231 -37.1811 65.9966 -2263 1 10.8225 25.4182 22.6942 -16.3709 41.7061 -2.96855 -2264 2 11.5577 24.8393 22.896 51.7105 -104.798 27.2426 -2265 2 11.2285 26.2631 22.5003 -26.5312 68.4147 -17.545 -2266 1 18.2565 35.029 9.19933 93.2247 -130.515 -43.5824 -2267 2 17.8418 0.076846 8.53814 -47.7517 59.7514 27.4167 -2268 2 17.9592 35.389 10.035 -46.5773 66.1426 3.76913 -2269 1 20.6778 9.17376 32.729 13.3347 58.1187 40.967 -2270 2 21.5931 9.09497 32.998 21.3061 -0.378409 3.74345 -2271 2 20.5577 8.47997 32.0806 -13.4588 -66.5699 -61.818 -2272 1 26.3205 10.1324 13.9383 -82.5262 78.4062 47.6559 -2273 2 26.6072 10.0574 14.8484 56.1801 -32.325 13.375 -2274 2 25.526 10.6647 13.98 41.9144 -38.3569 -60.0645 -2275 1 0.822477 13.723 27.8175 -18.4017 86.3861 0.306287 -2276 2 0.842594 14.6428 27.5534 -7.45577 -62.9773 29.0841 -2277 2 1.34584 13.2716 27.1553 24.5862 -30.0006 -29.3344 -2278 1 21.8482 3.72499 35.3614 36.4395 57.3032 155.66 -2279 2 22.7485 3.92269 0.172076 9.19721 -27.7397 -73.4064 -2280 2 21.3254 3.93384 0.688367 -38.3534 -28.3721 -78.9399 -2281 1 19.2709 12.3493 7.94476 -62.7607 -34.1593 44.1878 -2282 2 18.5912 12.9879 7.72931 8.59403 -0.283937 -0.469165 -2283 2 20.0393 12.6421 7.45467 58.528 31.0007 -42.4613 -2284 1 29.8055 8.7965 16.4947 -12.9653 17.4412 -9.2463 -2285 2 30.5349 9.33389 16.8037 38.9819 89.4241 16.7099 -2286 2 30.0908 7.89527 16.6453 -19.0631 -103.816 -7.43473 -2287 1 27.8603 15.0699 19.6052 83.747 75.2206 -5.30123 -2288 2 28.3877 14.91 20.3878 -26.3407 6.71241 -35.3388 -2289 2 28.2706 15.8287 19.1903 -47.6683 -81.2156 42.8305 -2290 1 23.9795 35.0271 31.2038 -16.0643 -35.4203 65.0323 -2291 2 23.2135 35.1816 31.7565 75.965 -32.1958 -23.9523 -2292 2 24.5232 34.4236 31.7104 -70.7673 54.323 -20.7793 -2293 1 28.6882 19.2643 23.8942 -16.4712 1.15992 -26.0508 -2294 2 29.4533 19.5951 24.3649 19.4068 7.6544 8.63 -2295 2 28.7906 19.6001 23.0037 -0.414651 -13.7932 21.9272 -2296 1 20.7335 23.1194 11.3875 -132.673 -3.94111 55.0552 -2297 2 21.1715 22.5352 12.0065 40.8347 21.9813 -45.4087 -2298 2 21.4293 23.409 10.7974 78.2433 -16.4624 -6.64684 -2299 1 5.76865 34.8073 20.9366 8.59954 55.6468 36.0945 -2300 2 5.89297 33.8627 20.8445 -19.239 -11.8736 -44.9649 -2301 2 5.29271 35.0648 20.147 14.6633 -48.6548 9.42685 -2302 1 26.3719 21.6155 25.723 -52.4769 41.5212 -107.741 -2303 2 25.5949 21.9411 25.2687 49.1753 -30.8638 68.2328 -2304 2 27.0803 21.7124 25.0866 0.971727 -15.0263 43.7018 -2305 1 31.1949 33.5037 26.1577 -0.305328 17.7795 77.151 -2306 2 31.1856 33.3666 25.2104 -18.7205 -0.0870564 -112.732 -2307 2 31.8436 32.8802 26.4841 23.9745 -14.7429 37.6849 -2308 1 24.5449 11.8069 22.6789 -100.147 -62.5151 81.3694 -2309 2 24.237 12.4805 22.0724 13.8625 44.5054 -49.4034 -2310 2 25.4812 11.7288 22.4957 90.5149 15.6782 -42.0978 -2311 1 5.96395 23.1672 33.3812 97.8855 -28.9792 -37.3817 -2312 2 5.34134 22.8619 34.041 -59.4175 -1.95037 35.496 -2313 2 5.55146 23.9439 33.0032 -40.8304 26.6924 -1.815 -2314 1 5.02408 11.1391 19.2056 7.79439 37.4987 -8.0257 -2315 2 5.58969 10.8764 19.9318 -11.0185 23.6311 -15.0243 -2316 2 5.05585 12.0958 19.2107 11.5163 -64.2191 20.6005 -2317 1 22.6925 11.2993 3.68885 81.6279 47.0615 -150.454 -2318 2 23.2095 12.0912 3.54084 -38.1501 -33.0125 65.3097 -2319 2 22.6662 10.8668 2.83532 -31.4268 -19.1718 69.7692 -2320 1 13.2731 8.09219 34.2734 56.1217 -69.4658 28.7909 -2321 2 12.3781 7.81581 34.4702 -82.5992 21.2634 7.82178 -2322 2 13.8048 7.31117 34.427 21.784 49.9213 -22.6862 -2323 1 34.147 7.38458 17.2959 128.122 84.7247 16.155 -2324 2 34.8037 7.99519 17.6308 -71.8626 -79.6139 -45.092 -2325 2 33.3918 7.50471 17.8715 -53.191 -5.44706 27.234 -2326 1 20.6676 14.0728 27.6799 -4.55589 -56.3065 14.3935 -2327 2 20.8489 15.004 27.8074 8.55006 51.3349 6.637 -2328 2 20.6522 13.7079 28.5647 3.70158 5.23715 -13.8869 -2329 1 6.84695 29.7784 7.44131 -56.2079 -12.309 74.102 -2330 2 7.1152 29.1572 8.11836 13.0111 17.5933 -40.7267 -2331 2 5.9866 30.0868 7.72582 39.9029 2.67604 -36.4672 -2332 1 8.84483 31.9119 32.1601 16.1855 30.0914 -21.6965 -2333 2 8.26994 31.2378 32.5224 5.30669 -20.9853 8.41054 -2334 2 9.69641 31.4826 32.0783 -23.1356 -6.1695 8.66511 -2335 1 12.7037 30.3257 23.6316 -52.1283 90.7618 55.6358 -2336 2 12.3849 31.209 23.4459 29.331 9.64204 -93.3124 -2337 2 12.4292 30.1561 24.5328 23.8475 -100.184 43.644 -2338 1 21.7678 30.4577 17.1688 94.4256 -21.2218 35.6331 -2339 2 21.3226 30.123 16.3903 -54.714 37.3878 10.1016 -2340 2 21.1222 31.026 17.5888 -30.7298 -28.2798 -57.6974 -2341 1 6.27785 16.189 19.5392 -2.31074 -6.88598 1.96642 -2342 2 6.76193 16.0689 20.3562 -12.7975 17.3096 -20.0626 -2343 2 6.31288 17.1315 19.3758 3.79875 -6.52673 8.34609 -2344 1 6.9984 25.0316 14.1875 -37.8963 18.3255 21.5916 -2345 2 7.02602 24.0748 14.187 34.0156 14.1914 -23.6091 -2346 2 7.76438 25.294 13.677 11.4611 -36.2604 -6.20007 -2347 1 7.4937 35.0734 0.573486 -58.0494 -50.9225 2.1652 -2348 2 7.7463 0.417943 0.931942 17.4114 46.531 15.358 -2349 2 8.09222 34.935 35.2866 34.7488 1.38206 -28.1603 -2350 1 6.48178 7.54146 20.65 -53.6324 23.4755 0.101216 -2351 2 7.21504 7.33761 21.2305 40.8944 -7.2597 39.2754 -2352 2 6.6779 7.06932 19.8408 5.10199 -21.4665 -39.2175 -2353 1 5.24021 9.16161 11.0807 89.9759 -12.4896 19.1187 -2354 2 5.1137 8.72341 10.2392 -38.6083 15.7454 4.46654 -2355 2 4.35678 9.39798 11.3635 -59.0149 -5.33741 -22.9569 -2356 1 27.6384 15.5319 26.979 -17.4192 -46.1585 -24.2583 -2357 2 27.5981 16.4544 26.7265 3.56674 30.9889 -9.09763 -2358 2 28.2543 15.5102 27.7114 13.2412 13.7928 26.3189 -2359 1 22.8464 5.25124 24.8604 -167.224 -108.347 -36.2384 -2360 2 23.6152 4.70705 25.0311 64.3934 48.623 13.8499 -2361 2 23.1726 6.14978 24.9101 100.116 61.2069 17.8055 -2362 1 29.5224 32.0833 3.42784 -38.829 38.153 -81.4999 -2363 2 29.8883 31.7142 4.23165 47.8461 -29.7935 -11.9893 -2364 2 30.1285 31.8083 2.73987 -15.7148 -6.36159 87.7867 -2365 1 13.9881 20.8968 14.3191 -36.1683 -61.5204 25.0363 -2366 2 13.6862 20.1606 14.8512 14.4404 72.0861 -58.5737 -2367 2 13.2157 21.1666 13.8224 6.25032 -17.1684 21.099 -2368 1 8.3642 15.6026 2.21043 116.172 6.52238 113.755 -2369 2 7.43697 15.4611 2.40139 -92.7595 -15.7171 -2.72572 -2370 2 8.4069 15.658 1.25578 -16.7336 0.06983 -107.951 -2371 1 25.8083 29.1256 29.4969 -44.265 32.8015 48.2871 -2372 2 25.4685 29.3124 30.3721 31.269 -16.5859 -53.3047 -2373 2 25.1849 29.5439 28.9031 15.4683 -15.7264 9.53257 -2374 1 21.3317 23.7584 26.2371 19.41 135.601 -58.1021 -2375 2 21.1955 22.8183 26.3544 -16.7367 -73.0332 52.4513 -2376 2 21.2804 24.1206 27.1217 -2.54367 -53.3155 -14.8388 -2377 1 32.6092 28.8341 33.799 5.65931 23.2817 -72.8064 -2378 2 32.8586 29.755 33.7216 -10.0399 -50.8303 31.0365 -2379 2 32.6235 28.6599 34.7401 12.4276 16.5343 38.7942 -2380 1 22.0655 16.5871 18.1964 -2.22093 5.40452 7.85251 -2381 2 22.2169 17.0383 19.0269 -45.9543 -13.5814 -56.4262 -2382 2 21.2165 16.9129 17.8977 43.9112 1.15471 43.153 -2383 1 10.537 29.7378 12.9329 -71.4525 -26.4273 42.0895 -2384 2 9.82316 30.3735 12.9838 56.9052 -19.7581 -10.4636 -2385 2 11.2563 30.2169 12.5216 -2.42853 34.1683 -14.1558 -2386 1 17.1531 2.96331 22.8161 55.5613 -26.8636 58.709 -2387 2 16.9307 2.04759 22.9841 27.9593 59.295 -7.37414 -2388 2 17.9051 3.13551 23.3827 -82.3858 -22.6026 -57.6016 -2389 1 2.8461 16.6254 31.8339 30.7511 143.552 21.7101 -2390 2 3.06062 15.7862 31.4264 -40.8143 -81.3386 9.39514 -2391 2 2.06905 16.4438 32.3626 15.3649 -67.5137 -31.4111 -2392 1 17.8188 7.51575 34.6569 6.4968 99.814 -25.158 -2393 2 18.7683 7.60874 34.7349 -32.0366 -37.8491 5.88384 -2394 2 17.6609 6.57651 34.7527 25.2407 -68.7114 13.5328 -2395 1 26.8816 17.8253 18.4913 -0.599549 23.4064 26.8398 -2396 2 26.1255 17.5424 17.977 -13.6715 -3.33116 -8.78617 -2397 2 26.5076 18.1434 19.313 9.86374 -9.95401 -13.6482 -2398 1 19.0544 1.05637 26.0196 -4.09618 69.666 24.3304 -2399 2 18.5926 0.283664 25.6941 -41.1554 -65.7457 -25.3793 -2400 2 19.957 0.939121 25.7233 37.4086 -5.34329 -9.63087 -2401 1 1.10132 34.6529 5.12328 23.9732 85.5176 17.1806 -2402 2 0.880765 33.7329 4.97805 -27.0915 -41.8561 24.878 -2403 2 0.812351 34.8306 6.01836 2.68594 -43.3193 -44.8014 -2404 1 3.04471 35.0954 27.4151 -106.657 33.6928 -13.7095 -2405 2 2.09018 35.108 27.4855 43.6283 29.5516 -22.4649 -2406 2 3.3122 34.325 27.9163 58.0272 -65.556 40.3947 -2407 1 14.1254 17.7122 32.8459 20.8693 -50.3188 1.26855 -2408 2 14.7635 18.0559 33.4712 -66.7916 34.5289 -43.3557 -2409 2 13.5955 18.4711 32.6021 41.6345 16.7444 43.1291 -2410 1 20.9523 30.6956 2.27631 -17.2977 16.3641 0.316953 -2411 2 21.429 31.5226 2.20525 -3.89086 -20.1286 1.76727 -2412 2 21.1256 30.3946 3.16828 11.1257 -2.22088 9.07081 -2413 1 16.9619 25.7118 27.4219 100.476 -40.0943 -23.0217 -2414 2 16.9677 25.283 26.5661 -29.1653 29.1549 41.8013 -2415 2 16.065 26.0298 27.5249 -71.7256 7.30527 -21.235 -2416 1 28.7512 33.8326 11.8205 39.6374 -41.3815 101.263 -2417 2 29.372 33.3045 12.3225 1.66675 -13.2024 -65.1474 -2418 2 28.308 34.3704 12.4767 -52.2957 48.3981 -15.4157 -2419 1 13.8956 4.37358 31.9518 -41.6917 72.8033 28.8823 -2420 2 13.8793 3.41777 32.0008 27.5751 -32.0189 -24.7717 -2421 2 14.5091 4.56715 31.2431 17.9423 -36.8477 -10.7968 -2422 1 34.191 7.66514 13.3948 -52.135 -85.6155 -54.3587 -2423 2 34.2368 6.88003 12.8492 31.8394 56.5051 31.256 -2424 2 33.2615 7.75857 13.6035 26.1341 25.5259 15.4426 -2425 1 2.17905 12.8728 21.403 63.3842 -23.7486 -70.8515 -2426 2 3.05329 12.9088 21.0149 -82.2351 19.0593 55.4489 -2427 2 2.22429 13.4673 22.1519 19.4139 17.4895 11.8405 -2428 1 20.024 29.9384 11.783 -47.9279 64.19 -0.762442 -2429 2 20.7791 29.4544 12.1172 47.0599 -30.9048 16.82 -2430 2 20.0253 30.7573 12.2786 -5.1146 -40.3181 -24.7763 -2431 1 12.6844 8.32072 9.63148 102.622 -17.6101 70.642 -2432 2 12.5774 7.52176 10.1477 -28.3297 35.3895 -45.0079 -2433 2 11.8683 8.39832 9.13731 -79.1927 -29.0308 -19.705 -2434 1 27.1767 35.0717 17.9429 -70.2345 73.1212 56.4 -2435 2 26.6892 0.135546 17.3483 24.1215 -22.7687 -63.6353 -2436 2 26.9423 35.3808 18.8179 48.0327 -54.4481 12.6475 -2437 1 23.4999 14.0122 4.26674 9.42008 -42.3865 -26.7528 -2438 2 22.651 14.345 3.97534 -66.3488 2.57158 -59.4664 -2439 2 23.7117 14.5378 5.03815 53.6134 31.6325 82.7852 -2440 1 13.2037 1.239 26.2271 -2.66521 -35.017 -99.8782 -2441 2 12.8963 2.054 25.8302 10.5504 -14.2048 47.5675 -2442 2 13.2509 1.43103 27.1637 -6.47069 44.1647 53.9049 -2443 1 32.6125 13.5614 31.2261 -13.5468 31.8748 0.0526688 -2444 2 32.5535 13.0731 32.0473 -0.689731 36.4651 -10.1369 -2445 2 32.5458 14.4797 31.4876 5.41377 -77.1341 7.14631 -2446 1 11.3656 10.006 5.49035 -80.7814 -0.67841 103.695 -2447 2 11.8931 10.1029 6.2832 5.73155 -5.05381 -48.476 -2448 2 12.0034 10.0028 4.77662 80.7154 4.64604 -48.3796 -2449 1 9.17459 26.419 20.7245 -37.2781 -6.07716 -14.4824 -2450 2 8.24673 26.2197 20.5996 27.2959 -0.446912 9.82908 -2451 2 9.48167 25.755 21.3419 -2.12078 -3.23867 1.45952 -2452 1 9.87026 7.59448 4.03866 43.6133 -46.4041 105.54 -2453 2 10.2864 7.37686 4.87278 -39.399 -53.6234 -20.114 -2454 2 10.1962 8.46974 3.82902 -6.30794 99.1966 -80.7604 -2455 1 20.557 13.7759 1.37132 -8.30169 -8.39195 52.4977 -2456 2 20.371 13.4016 2.23247 9.17431 22.1909 -61.1236 -2457 2 20.6389 13.0177 0.792755 -4.47525 -6.15952 1.31369 -2458 1 29.9325 5.93369 4.91003 -44.6695 -5.23782 -46.0847 -2459 2 30.4535 6.06817 5.70169 39.9144 19.6821 71.0338 -2460 2 30.4405 5.30971 4.39152 -0.937947 -7.51881 -21.5744 -2461 1 12.516 1.74295 15.2961 -19.8391 -55.8309 -3.05401 -2462 2 12.8895 1.9545 14.4405 6.10259 12.5785 8.26535 -2463 2 12.522 2.57317 15.7725 6.61047 39.8615 -4.65859 -2464 1 11.625 32.788 23.8271 -105.779 109.217 -8.99331 -2465 2 11.4555 32.9895 24.7473 25.1664 -24.2735 -17.6564 -2466 2 11.0079 33.3373 23.3435 78.9275 -78.703 26.0362 -2467 1 13.0634 18.992 9.84318 -8.02388 -19.4384 -122.358 -2468 2 12.6831 18.3656 9.22741 -17.3722 -11.5575 68.886 -2469 2 13.5692 19.5913 9.29424 28.5903 46.8648 39.866 -2470 1 26.0237 14.5711 17.782 82.0721 10.7288 70.381 -2471 2 25.4537 15.3243 17.937 -1.28501 1.9169 0.491881 -2472 2 26.7233 14.6624 18.429 -96.522 -8.55476 -80.5525 -2473 1 27.0396 16.2503 1.75686 -31.9879 -35.1923 10.2752 -2474 2 27.9746 16.2658 1.96093 95.218 46.32 -9.7392 -2475 2 26.6887 15.5389 2.29259 -61.1581 -10.9731 -0.253272 -2476 1 15.3583 20.7242 28.7265 42.7669 -32.5274 -10.8199 -2477 2 15.985 21.4477 28.7242 -6.81721 15.5559 0.197791 -2478 2 15.8959 19.9414 28.847 -37.5569 11.9199 -2.2391 -2479 1 27.1055 30.5022 27.4233 -37.04 -77.1838 -26.2864 -2480 2 26.8761 30.0025 28.2068 17.8196 37.2762 -16.0095 -2481 2 27.477 31.3179 27.7591 23.718 47.0387 41.0177 -2482 1 24.9744 18.8146 24.6908 86.3646 -30.4117 -49.3552 -2483 2 25.4242 19.2625 23.9744 -38.2285 -19.2401 45.4377 -2484 2 24.1759 19.3242 24.8287 -53.5956 50.1898 2.14076 -2485 1 29.2347 2.55748 15.48 -80.391 44.2924 -18.4495 -2486 2 29.4594 2.0826 14.6799 16.1257 -11.316 -7.4104 -2487 2 28.424 3.01897 15.2655 63.5637 -28.9279 29.783 -2488 1 23.9872 0.629662 13.0513 55.7402 -176.355 100.53 -2489 2 23.9026 1.58207 13.0961 -30.4697 110.235 -62.6042 -2490 2 23.759 0.410696 12.1479 -15.2479 69.2884 -34.1009 -2491 1 30.8423 19.9765 31.5279 -21.7127 -69.3849 14.0458 -2492 2 30.1813 19.2903 31.6201 17.2573 -90.5456 40.5217 -2493 2 30.3802 20.6993 31.1032 1.31526 144.594 -56.731 -2494 1 30.1636 12.1291 29.6752 77.3602 -114.774 -171.263 -2495 2 29.8535 12.6346 30.4266 1.71911 52.8864 135.49 -2496 2 30.9519 11.6879 29.9916 -78.5718 59.2821 27.4517 -2497 1 8.49941 25.1151 30.478 -103.416 57.7784 15.2022 -2498 2 9.21053 24.8508 31.0617 42.5065 -9.36 44.9239 -2499 2 7.93975 25.6725 31.0187 63.9018 -59.7873 -46.3297 -2500 1 5.73637 9.03013 5.59225 60.5821 -9.42521 67.8502 -2501 2 6.08528 9.67767 6.20479 -27.7976 57.9257 -30.2207 -2502 2 6.04234 8.18915 5.93194 -22.5341 -50.8366 -47.3982 -2503 1 11.2524 34.7652 31.5211 -116.208 71.3695 25.9476 -2504 2 12.1881 34.8117 31.3251 75.4529 15.2137 -14.5797 -2505 2 10.982 0.171879 31.6188 43.7827 -100.133 -12.3525 -2506 1 5.35366 22.0175 22.2346 3.64304 -55.9826 -1.82342 -2507 2 5.96721 21.4316 22.6778 -32.1158 106.962 -23.8327 -2508 2 5.67997 22.8966 22.4267 32.5965 -51.2768 26.2228 -2509 1 33.5598 31.0965 3.22313 44.0686 -95.1114 44.3274 -2510 2 32.8441 31.5566 2.78451 -48.9791 -1.91012 -22.4197 -2511 2 33.2665 30.1865 3.27073 5.65077 93.3172 -13.864 -2512 1 25.964 29.5827 7.26463 -44.7506 -5.4197 82.4735 -2513 2 26.765 29.2043 6.90212 15.2728 9.38187 -39.6754 -2514 2 25.6336 30.1544 6.57162 16.5485 6.54615 -42.3894 -2515 1 33.8777 4.18707 2.43604 -55.4501 8.26836 2.36575 -2516 2 34.8152 4.03226 2.55213 18.8456 25.249 2.7166 -2517 2 33.8005 5.13704 2.3475 31.7402 -23.8862 3.94488 -2518 1 13.8114 25.3718 3.67105 -65.3049 -9.06907 11.4943 -2519 2 13.2573 26.0848 3.35364 -5.7945 1.99705 2.38244 -2520 2 14.6717 25.5486 3.29043 54.9942 4.93808 -15.1448 -2521 1 30.8848 4.38217 2.92127 51.7066 -40.6331 -67.9753 -2522 2 31.3701 3.56801 2.78752 -38.0844 58.5177 14.5353 -2523 2 31.0056 4.87019 2.10673 -11.5554 -22.1869 51.437 -2524 1 12.0694 4.99265 33.857 61.9342 -70.3626 1.30241 -2525 2 12.1121 4.23493 34.4403 -30.737 39.1177 -4.24698 -2526 2 12.8564 4.92416 33.3165 -33.496 28.882 -2.01291 -2527 1 7.37693 22.9959 25.9948 -123.614 33.8567 -28.3154 -2528 2 7.67711 23.9048 26.0038 38.3409 14.5139 6.54532 -2529 2 6.44135 23.0541 25.801 86.8714 -38.2435 17.9418 -2530 1 6.26719 14.4572 7.69069 32.5423 -47.1094 -45.2674 -2531 2 5.31045 14.4624 7.66107 -46.5982 19.507 22.3074 -2532 2 6.52267 13.7704 7.07481 18.0344 28.8525 24.8402 -2533 1 3.42177 16.3256 24.5529 10.0482 -18.4972 2.19713 -2534 2 2.7692 15.6254 24.5593 1.42308 -3.07529 -3.07129 -2535 2 2.93123 17.113 24.7889 -6.77451 11.5867 6.99486 -2536 1 11.8927 13.7293 11.881 74.9988 -140.812 120.581 -2537 2 11.2691 14.1226 11.2705 -76.2957 86.6584 -92.6118 -2538 2 12.5402 14.4163 12.0385 9.6688 44.1871 -14.1094 -2539 1 27.0851 4.13632 19.0672 16.7176 15.3374 41.5616 -2540 2 27.6727 3.3834 19.0033 17.5619 -62.9286 -53.1671 -2541 2 27.3028 4.54004 19.9073 -37.4501 35.5716 -3.28978 -2542 1 27.8272 10.5816 29.1165 -30.9176 -60.9511 -7.32488 -2543 2 28.0436 9.64926 29.101 16.4608 79.5556 4.45046 -2544 2 28.6744 11.0236 29.1719 24.1165 -26.4177 3.53441 -2545 1 8.69836 11.8249 17.3326 71.0366 -46.4969 -48.3257 -2546 2 8.91783 12.7473 17.2013 0.794482 -11.1782 -0.0751204 -2547 2 9.42107 11.3461 16.9268 -64.4599 49.5074 34.3334 -2548 1 13.4279 16.9758 24.9588 34.1563 13.7459 48.6035 -2549 2 13.9279 16.4791 25.6066 -30.8708 -6.03087 -31.2224 -2550 2 13.6668 17.8886 25.1196 -19.603 4.02195 -22.0798 -2551 1 25.2932 29.7753 23.4555 -76.4771 -52.7546 -62.5805 -2552 2 24.991 29.5838 24.3433 -44.6727 -21.9864 65.4926 -2553 2 26.1263 30.2302 23.5784 127.321 70.9051 -12.2232 -2554 1 1.80823 18.6694 8.01778 38.1887 -46.5474 -149.289 -2555 2 2.26727 18.0401 7.46142 -48.8521 63.641 81.977 -2556 2 1.52685 19.3599 7.41754 7.13197 -23.4394 49.9072 -2557 1 30.1224 27.6134 26.5464 -13.7825 26.2831 21.6709 -2558 2 30.5295 27.0023 25.9324 20.7865 16.5579 -3.80488 -2559 2 30.7058 28.3722 26.5522 -7.14206 -43.6792 -16.176 -2560 1 33.1846 17.8857 6.35207 31.4568 -56.3608 19.9367 -2561 2 32.5892 18.5857 6.62007 -15.9089 11.1535 25.3335 -2562 2 33.2712 17.3336 7.12919 -20.7702 46.3098 -43.1133 -2563 1 33.2728 21.1808 2.29508 -22.9392 20.1414 38.244 -2564 2 32.3589 20.9052 2.22454 13.6857 -4.91243 -14.5777 -2565 2 33.6769 20.8829 1.48006 0.18497 -14.7888 -31.4998 -2566 1 28.3439 11.5381 12.3752 10.5881 28.3218 44.9126 -2567 2 28.275 11.1377 11.5085 7.21294 -22.8022 -85.6506 -2568 2 27.6852 11.0854 12.9018 -29.2888 -9.71495 36.1554 -2569 1 28.3004 2.64499 2.85749 2.07125 9.46596 22.4267 -2570 2 28.3454 2.7769 3.8045 27.7028 -11.2085 -78.7103 -2571 2 29.195 2.41807 2.60393 -21.0522 10.996 43.2599 -2572 1 31.4417 35.4347 23.4012 -50.6227 125.845 -24.4512 -2573 2 32.2354 0.374998 23.6957 -17.5384 -67.1458 -3.29044 -2574 2 31.6578 34.5035 23.4508 65.5235 -64.7245 24.8254 -2575 1 3.7133 28.2017 15.8796 27.7833 -25.2085 -9.84873 -2576 2 3.95056 28.3084 14.9584 -3.2806 23.4102 -22.5767 -2577 2 3.89552 27.2813 16.0694 -8.46786 -2.93706 24.1835 -2578 1 10.9456 21.0269 2.86059 101.963 23.7457 39.8435 -2579 2 11.6136 20.9452 3.54132 -82.9708 4.62671 -62.7019 -2580 2 10.2413 20.4441 3.14429 -21.0936 -26.9197 21.8168 -2581 1 15.5794 3.78445 6.21944 -52.3283 -29.4076 -18.2149 -2582 2 15.7079 2.9224 6.61517 38.8829 -3.9294 25.5762 -2583 2 14.7213 3.72987 5.79876 6.13031 38.0697 -14.2942 -2584 1 19.6459 9.99163 5.15199 -146.737 -10.203 -6.51045 -2585 2 18.8865 10.5107 5.41651 77.0647 35.0067 20.5957 -2586 2 19.2746 9.24686 4.67903 68.5571 -26.1646 -11.0948 -2587 1 3.53556 21.9464 7.08874 9.51448 -18.0672 -47.7131 -2588 2 4.16425 22.5925 7.41063 22.6156 45.714 59.6861 -2589 2 3.81038 21.7719 6.1886 -22.0497 -24.4685 -15.2921 -2590 1 12.525 18.649 6.43848 83.8367 -101.519 143.338 -2591 2 11.7757 18.4286 5.88511 -23.5173 61.6419 -58.4141 -2592 2 12.846 19.4799 6.08792 -49.15 40.9024 -70.7612 -2593 1 23.9503 18.894 33.0696 43.4536 -27.6598 -5.88685 -2594 2 23.5234 18.0724 32.8267 -14.6705 24.7058 7.57044 -2595 2 23.2282 19.5007 33.2327 -30.6495 -0.656101 -0.419966 -2596 1 19.8513 7.44506 22.0304 -10.2273 77.1659 -37.1205 -2597 2 19.512 7.85727 22.8248 4.6998 -15.8383 2.85052 -2598 2 19.8228 8.13726 21.3698 5.73997 -58.1365 31.7955 -2599 1 7.99967 26.6387 28.4332 18.0864 15.3632 15.3662 -2600 2 8.46535 27.4341 28.6916 -2.34521 57.3237 -24.865 -2601 2 8.29438 25.9748 29.0565 -19.6207 -56.6835 4.92201 -2602 1 23.8368 15.0159 11.2196 -71.7275 68.1064 56.4738 -2603 2 24.1491 15.0269 10.3149 44.9805 -27.6427 -82.7179 -2604 2 23.1787 15.7102 11.2548 26.5509 -36.6431 26.757 -2605 1 17.623 5.88954 12.542 12.4382 -6.44618 1.93776 -2606 2 16.7437 6.20214 12.3294 -34.4471 20.9213 -14.7925 -2607 2 17.4975 5.31561 13.2977 7.70165 -13.8845 11.5094 -2608 1 33.2481 25.7929 27.9949 -14.7465 -65.7345 -62.4061 -2609 2 33.0067 25.9906 28.8998 -16.8571 5.27634 29.9023 -2610 2 32.6969 25.0475 27.7568 35.0404 68.3416 30.8148 -2611 1 8.52507 32.1103 20.1491 -76.8468 37.2909 98.1061 -2612 2 8.86015 31.7275 19.3383 68.8752 -49.0959 -117.957 -2613 2 7.62967 31.7792 20.2188 10.7876 14.1417 12.2205 -2614 1 27.8257 4.07116 5.11499 56.4882 -77.5739 82.3051 -2615 2 28.4962 4.74768 5.02009 2.19793 20.0432 -11.7763 -2616 2 28.2418 3.39401 5.64844 -65.0009 68.3454 -63.3303 -2617 1 26.0875 14.3347 3.52318 -13.6781 9.99037 18.498 -2618 2 26.1246 13.6914 2.81531 48.2248 -38.2897 -60.3247 -2619 2 25.2074 14.2401 3.88751 -27.2387 26.4627 40.1447 -2620 1 30.1746 24.5516 31.229 36.3247 -7.64612 94.2215 -2621 2 29.8999 25.2009 30.5816 -17.4714 45.1025 -41.0079 -2622 2 30.4379 25.0684 31.9905 -16.1015 -29.9443 -51.1546 -2623 1 4.56917 31.1784 8.22951 71.2995 -71.5899 53.2349 -2624 2 4.04525 31.8928 7.86707 -44.2872 77.5199 -28.7951 -2625 2 5.17866 31.6082 8.82954 -28.5171 -7.82692 -23.1096 -2626 1 6.38187 30.8924 16.1144 -88.0505 -107.31 15.919 -2627 2 5.44366 30.8448 16.2981 74.7505 16.7619 -13.5627 -2628 2 6.58668 31.8267 16.152 4.25627 86.0654 4.84886 -2629 1 22.9379 32.2556 1.41549 -32.8751 37.6209 61.1968 -2630 2 22.7457 32.88 2.11506 22.8713 -44.1922 -62.3876 -2631 2 23.7415 32.5854 1.0134 22.8149 14.778 -4.61832 -2632 1 26.7401 10.5378 34.1404 23.9748 -80.1729 -1.73937 -2633 2 26.6671 9.8552 33.4733 -18.8954 42.4357 0.872912 -2634 2 27.1894 10.1125 34.8708 -11.5364 38.4875 4.20159 -2635 1 18.1286 0.528634 11.6383 74.8256 47.0823 90.9006 -2636 2 17.6446 0.642191 12.4563 13.2115 -7.21849 -50.6904 -2637 2 19.0118 0.839512 11.8368 -85.9936 -32.5152 -31.2306 -2638 1 5.04223 17.2483 27.1671 46.6996 -2.9071 12.1929 -2639 2 4.48051 16.6222 26.7102 -28.0304 85.2331 34.5951 -2640 2 4.4623 17.979 27.3817 -20.4576 -85.2897 -46.011 -2641 1 0.200054 22.7309 26.749 -63.6178 16.1674 31.8428 -2642 2 0.486537 22.5053 25.8639 23.4085 -20.3772 -57.1853 -2643 2 0.976109 22.5986 27.2935 45.3949 -7.86946 23.8961 -2644 1 6.67359 10.3929 29.1264 -7.37823 -147.55 24.0972 -2645 2 7.08222 10.0424 28.335 -24.0022 38.9786 44.0098 -2646 2 6.40403 9.61858 29.6204 26.5412 114.862 -55.5225 -2647 1 0.36104 3.59799 32.9651 11.4014 26.6468 51.9375 -2648 2 0.873648 2.81009 32.7843 -3.68055 30.9884 38.8418 -2649 2 0.646484 3.87548 33.8356 -6.73988 -63.0976 -92.7865 -2650 1 1.12478 7.04672 21.9698 66.7487 -77.5766 -66.966 -2651 2 2.08107 7.05977 21.93 -24.7398 -12.3836 -6.26863 -2652 2 0.898266 7.78155 22.5399 -43.8856 93.6322 73.8478 -2653 1 20.4666 7.96111 8.20874 15.8434 -32.6035 52.6354 -2654 2 20.7142 7.33465 8.8888 -21.8573 83.348 -61.0888 -2655 2 20.6597 8.81774 8.58974 2.2457 -43.5191 2.72564 -2656 1 29.2217 8.66715 31.7283 19.833 -66.0471 -20.0069 -2657 2 28.4817 8.16808 32.0741 11.1103 48.9974 0.117948 -2658 2 29.0002 9.58077 31.9086 -30.3824 13.2653 19.7787 -2659 1 13.3441 26.4709 19.2927 -115.971 37.8527 97.0575 -2660 2 12.4279 26.3229 19.058 30.7284 -24.3712 -59.0751 -2661 2 13.3101 26.8245 20.1815 72.4576 -9.56039 -38.9884 -2662 1 19.9465 12.7059 3.72521 -36.1988 -7.42816 -65.8015 -2663 2 20.7192 12.4772 4.24181 -0.447715 15.7117 46.1089 -2664 2 19.4354 13.2775 4.29812 36.1351 -10.6912 22.6229 -2665 1 35.2316 31.6321 19.7285 3.80197 -28.2812 -105.649 -2666 2 0.36441 30.9813 19.4383 -38.0783 43.8553 65.8631 -2667 2 35.3447 31.6725 20.6782 39.8826 -25.2633 32.6525 -2668 1 24.9028 4.71974 4.92239 -63.3583 -33.3608 -15.992 -2669 2 24.6018 3.89886 4.53277 -7.11114 26.2248 12.6603 -2670 2 25.8469 4.60302 5.02852 80.5179 2.14044 12.1928 -2671 1 24.3545 20.3891 21.3939 -102.965 -23.0718 -103.911 -2672 2 24.5635 21.3231 21.3785 59.9967 78.3811 49.1747 -2673 2 23.7485 20.2667 20.6632 40.6037 -56.1156 60.4666 -2674 1 27.5086 1.34545 12.131 44.0317 -15.4597 -3.55067 -2675 2 26.8907 0.938183 11.5239 -31.2707 -6.90501 -18.3088 -2676 2 26.9731 1.94188 12.6543 -28.942 19.4273 16.453 -2677 1 13.1367 1.89352 29.112 -6.62117 -111.122 44.8152 -2678 2 13.1447 2.81909 28.8681 53.6601 34.8113 29.6886 -2679 2 13.8601 1.80252 29.7322 -60.1189 69.4814 -76.0169 -2680 1 28.1449 3.96235 23.804 -93.391 66.1592 -3.9443 -2681 2 28.0928 3.0105 23.8907 22.084 -60.9204 6.3715 -2682 2 29.0832 4.15097 23.7889 69.1442 -7.97473 -3.30581 -2683 1 18.2497 23.2275 0.516824 -7.4507 -73.1195 -9.26436 -2684 2 18.5105 24.1471 0.566952 54.6303 -32.6454 32.7005 -2685 2 18.9778 22.7496 0.91401 -36.4349 102.442 -21.1507 -2686 1 2.5137 29.0901 7.57562 -55.8197 21.9792 -10.8777 -2687 2 3.11306 29.8135 7.39196 24.9271 2.70377 3.89564 -2688 2 3.08188 28.3736 7.85838 40.9053 -30.5936 7.33634 -2689 1 25.0079 10.6905 1.68671 141.214 144.387 -12.5437 -2690 2 25.2324 9.8706 2.12671 -41.1713 -69.7619 19.7156 -2691 2 24.1055 10.566 1.39281 -100.059 -69.9567 -12.5108 -2692 1 0.508572 31.9831 4.59022 24.6707 45.0758 -47.4396 -2693 2 0.565883 31.5803 5.45667 5.41788 -29.7953 64.3678 -2694 2 35.2575 31.5649 4.18077 -29.3276 -13.8025 -18.2311 -2695 1 8.51919 24.056 22.2589 64.1043 -87.2503 -95.0235 -2696 2 7.75486 24.4204 22.7053 -106.348 57.231 69.3263 -2697 2 9.26573 24.5036 22.6572 35.7388 30.3316 25.936 -2698 1 3.74125 33.1514 4.3048 -21.4819 -79.4932 -60.957 -2699 2 2.7927 33.0305 4.26148 34.5404 19.032 11.8258 -2700 2 4.09772 32.4502 3.75942 -14.3741 62.7479 54.4682 -2701 1 23.7084 3.65684 13.1034 54.6014 6.20372 -78.2996 -2702 2 22.8587 3.36418 13.433 -104.643 -21.5773 109.995 -2703 2 23.6851 3.45586 12.1678 53.2148 20.3639 -38.7242 -2704 1 24.605 3.77015 1.43548 -68.163 -28.4542 58.3319 -2705 2 25.4485 3.56335 1.03297 45.1027 -15.9382 -16.7113 -2706 2 24.4726 3.0787 2.08403 14.2563 40.9913 -41.9301 -2707 1 19.4869 29.4921 22.0104 166.882 -121.378 42.987 -2708 2 19.5701 28.5549 22.1866 -54.8293 108.301 -26.2606 -2709 2 20.3758 29.8341 22.1064 -98.0152 11.6221 -19.0776 -2710 1 16.2301 13.9005 33.7977 -111.673 -105.461 30.1439 -2711 2 16.8203 14.224 33.1169 75.1109 60.5581 -52.7099 -2712 2 16.4373 14.4311 34.5669 36.9306 47.0721 11.9951 -2713 1 31.4006 4.69857 20.6192 142.369 -3.20111 51.6757 -2714 2 31.8989 3.93239 20.9037 -72.1931 34.0727 -35.3877 -2715 2 31.9922 5.43699 20.7643 -67.5914 -23.2216 -27.4061 -2716 1 11.9141 27.2143 2.83094 -74.1765 48.9976 77.2612 -2717 2 11.7378 27.6177 3.68092 61.8305 -31.7271 -30.6941 -2718 2 11.0749 27.2457 2.37166 16.8031 -19.7319 -48.5888 -2719 1 22.2931 12.3266 33.3111 54.0525 -10.7077 -0.246658 -2720 2 23.1318 12.4064 33.7655 -36.5516 2.05601 -9.73195 -2721 2 22.4872 11.792 32.5412 -18.5412 9.92714 6.38864 -2722 1 34.7646 23.6541 16.893 -67.9785 -34.696 -1.00751 -2723 2 35.4605 23.1586 16.4612 27.1246 -9.71736 -9.85471 -2724 2 33.9816 23.1147 16.7822 50.5401 50.4801 12.7823 -2725 1 1.74248 27.5855 25.6015 -30.7642 -25.9133 70.2902 -2726 2 1.16405 27.7208 26.3521 19.3008 -37.0103 20.5099 -2727 2 1.50405 28.2793 24.9867 6.79333 56.5179 -87.2203 -2728 1 12.8948 5.6108 10.6747 95.455 61.2594 -38.3881 -2729 2 12.1716 5.02097 10.8874 -87.9466 -69.3071 29.6563 -2730 2 13.4561 5.10122 10.0903 -7.97913 14.9967 6.65116 -2731 1 26.3115 30.231 9.95969 5.34231 -6.90593 35.2746 -2732 2 26.2963 29.9692 9.0391 -7.29872 -0.202001 -44.9514 -2733 2 26.8791 29.5869 10.383 -2.126 9.47921 9.40371 -2734 1 2.44559 10.303 33.9575 -94.4174 -10.9117 47.6112 -2735 2 3.25634 10.413 33.4607 72.4063 13.6244 -0.311529 -2736 2 2.67967 10.5411 34.8546 27.714 -2.43626 -44.0458 -2737 1 23.5954 21.3764 7.99423 -61.8129 -58.9749 20.7867 -2738 2 22.8343 21.0079 8.44276 -19.6241 64.7815 39.0644 -2739 2 23.9551 20.6454 7.49181 81.4823 0.345496 -56.7672 -2740 1 35.3134 2.94635 23.5839 -7.05487 18.7534 -33.4632 -2741 2 0.232722 3.38509 22.8473 -15.2107 -2.17004 3.81712 -2742 2 0.528143 2.56826 24.0873 20.8343 -19.1251 24.5829 -2743 1 13.9967 14.344 15.5008 12.7808 -34.8924 14.4207 -2744 2 14.7703 13.9657 15.9188 -11.6631 -15.065 -2.15325 -2745 2 14.1557 15.2879 15.5113 -4.94027 45.2337 -11.1722 -2746 1 6.46786 25.9869 20.3665 -14.1505 63.9641 63.1481 -2747 2 6.59641 25.2992 19.7132 -5.96476 -61.8687 -7.92735 -2748 2 6.12736 25.5279 21.1343 21.4951 -1.50962 -59.0287 -2749 1 13.2419 10.2222 7.85745 -34.0179 69.392 63.7033 -2750 2 12.9462 10.9161 8.44681 31.6309 -50.9664 -76.2031 -2751 2 13.3295 9.45178 8.41869 6.82988 -25.1507 -9.51637 -2752 1 19.8806 15.7607 34.7873 -37.0107 24.3223 66.6847 -2753 2 20.2198 15.0943 35.3849 -1.13409 -17.9924 48.2272 -2754 2 20.2698 15.5438 33.9402 30.4228 -5.67562 -110.977 -2755 1 28.0615 14.474 34.8691 0.409611 12.6457 27.5878 -2756 2 27.8498 15.0298 0.171869 3.58985 -16.1929 -16.439 -2757 2 27.8916 15.026 34.1057 -6.63253 1.40685 -7.21741 -2758 1 19.6279 31.0003 7.02693 95.9331 57.4595 5.63075 -2759 2 18.9027 31.3652 6.51969 -52.483 29.7381 -40.5469 -2760 2 19.2874 30.1753 7.37296 -33.3349 -78.7794 37.112 -2761 1 23.5196 19.5792 13.6534 11.9703 -11.9872 -16.0803 -2762 2 23.6724 20.443 14.0364 21.0772 46.6019 4.07495 -2763 2 22.948 19.1363 14.2807 -27.4046 -32.4068 14.6896 -2764 1 17.2298 33.3918 27.4282 136.737 -44.9806 38.5596 -2765 2 17.9104 33.6617 28.0447 -64.6365 72.609 31.4718 -2766 2 17.6201 32.6648 26.9429 -67.6491 -27.3852 -72.0513 -2767 1 14.5268 35.0836 34.7036 76.357 -105.08 3.06184 -2768 2 14.9194 34.4663 34.0863 -44.5302 60.5052 19.8773 -2769 2 14.8544 34.808 0.112509 -31.0786 39.0882 -20.3082 -2770 1 23.4454 32.9767 12.2117 4.78103 -41.7327 -98.3026 -2771 2 24.2263 32.4486 12.3775 -33.1722 34.8981 28.2986 -2772 2 23.3422 33.5071 13.0018 24.5216 2.21769 60.9284 -2773 1 27.832 1.81871 26.9047 -32.0759 64.1072 72.7195 -2774 2 28.3908 1.28778 27.4722 -1.09261 -12.6809 -52.067 -2775 2 27.9432 1.43761 26.0337 31.771 -40.3508 -4.74014 -2776 1 33.4891 28.0906 24.9173 -46.8518 63.902 27.9928 -2777 2 33.9371 28.5069 24.1809 11.4662 -13.0261 -12.6512 -2778 2 33.8254 27.1944 24.9271 34.3676 -54.1118 -11.2405 -2779 1 4.51563 24.7989 27.5189 15.8458 -16.6832 -111.647 -2780 2 4.61605 24.1405 26.8314 -10.7558 -34.721 67.0397 -2781 2 4.53926 25.6358 27.055 -9.99317 59.6882 52.1345 -2782 1 21.9856 18.5099 0.0939801 116.12 -37.0828 22.3152 -2783 2 22.4363 17.9182 34.9386 -49.9278 23.9836 6.77421 -2784 2 22.6424 18.7234 0.756763 -71.4054 8.06381 -34.2768 -2785 1 1.51371 16.0299 0.147148 -24.4521 46.4337 41.1972 -2786 2 1.10521 16.6802 0.718505 26.6731 -45.7321 -50.918 -2787 2 1.18565 16.239 34.7197 -0.794459 0.0473671 14.1248 -2788 1 15.6023 24.9766 19.1526 -30.4876 6.15423 9.07014 -2789 2 16.1677 25.4411 18.5355 77.1737 -4.56497 -55.3531 -2790 2 14.9395 25.6204 19.4023 -44.9173 -12.2782 35.9217 -2791 1 14.8951 26.7785 7.57002 -28.9024 -12.7271 77.4225 -2792 2 15.0575 26.9683 8.49406 -11.8303 -20.5564 -75.969 -2793 2 14.0842 26.2699 7.5684 44.5902 29.0216 -2.09941 -2794 1 20.1216 16.9941 24.3889 -31.6835 -59.9485 -34.0243 -2795 2 20.0745 16.276 23.7577 -0.546933 34.9584 37.2473 -2796 2 20.9425 17.4412 24.1829 55.8782 32.646 -10.7657 -2797 1 31.9712 9.82395 26.2433 2.36483 16.2972 -73.3128 -2798 2 31.2308 10.3276 25.905 -2.0764 -2.12049 27.598 -2799 2 32.4308 9.51836 25.4612 -3.98865 9.02436 56.1582 -2800 1 0.384785 34.9305 18.5365 -1.02826 75.3333 -48.1016 -2801 2 0.354052 0.183512 17.9545 15.0984 -60.6377 56.1406 -2802 2 35.1912 34.3585 18.2218 -22.9533 -27.0379 -0.65624 -2803 1 13.4153 12.3332 24.2365 53.861 15.3051 -19.0809 -2804 2 13.1015 11.7844 24.9552 -20.4292 -27.21 42.4184 -2805 2 12.6205 12.7041 23.8531 -37.0126 12.5839 -20.1741 -2806 1 5.18743 5.1874 32.8737 -15.2537 5.61229 -28.6354 -2807 2 4.61713 5.7387 32.3379 29.3153 -25.3254 10.5915 -2808 2 5.77525 4.76805 32.2453 -20.6678 19.7285 11.6709 -2809 1 32.4256 26.6679 22.0935 -87.9601 -81.0708 -81.2 -2810 2 33.1172 26.9848 22.6746 79.3103 23.5872 55.7243 -2811 2 32.7109 25.791 21.8369 -4.28217 68.5352 27.2623 -2812 1 26.5495 2.70435 29.9119 -59.8392 17.2196 34.5191 -2813 2 26.4581 3.07008 29.0321 21.5598 -1.9171 -9.32332 -2814 2 27.4581 2.40645 29.9548 48.0416 -3.54659 -19.3604 -2815 1 31.3613 7.26017 30.587 25.248 22.6492 -92.5078 -2816 2 31.4661 7.56461 29.6856 -26.7071 -28.7997 101.629 -2817 2 30.4884 7.55955 30.8415 -4.65436 10.3928 -9.60175 -2818 1 10.1748 14.388 10.0675 60.1917 1.01503 -16.4986 -2819 2 9.29104 14.5008 10.4175 -54.2346 1.37504 -2.04806 -2820 2 10.0441 13.9746 9.21416 -18.2269 3.89829 8.59036 -2821 1 28.1567 13.9451 15.9579 60.9298 -20.4478 25.5826 -2822 2 27.2963 14.2301 16.2656 -18.8925 7.92771 -35.3315 -2823 2 28.1014 14.0018 15.004 -37.6295 13.7187 8.76001 -2824 1 8.84141 24.5716 17.2442 -15.1354 -95.9852 71.0112 -2825 2 7.89444 24.6528 17.3579 -48.3914 65.3555 -41.9685 -2826 2 9.0818 23.809 17.7705 66.8992 27.9244 -33.2913 -2827 1 6.95639 20.2904 23.8496 5.10672 30.3774 -27.7754 -2828 2 7.08451 19.4606 24.3091 9.46819 -22.2566 14.2323 -2829 2 7.84243 20.5992 23.6602 -11.593 -4.08766 6.08018 -2830 1 5.75365 13.11 29.0537 61.2888 -5.98057 40.761 -2831 2 5.92902 12.9785 29.9855 -47.1793 14.8338 -69.0138 -2832 2 4.80751 13.2466 29.0046 -21.2898 1.01333 36.259 -2833 1 30.0299 16.6854 32.8482 -69.0194 25.9389 -13.7276 -2834 2 29.0847 16.8354 32.8675 63.3953 -15.9432 1.52291 -2835 2 30.2217 16.2551 33.6815 -3.34277 5.67395 -8.60755 -2836 1 19.4105 24.3103 19.4554 -6.45078 22.0348 82.3983 -2837 2 18.9684 23.7628 18.8065 52.915 26.3034 -31.6666 -2838 2 20.17 24.6647 18.9929 -37.5734 -39.0679 -37.0269 -2839 1 21.0876 32.5234 34.0548 4.44932 59.9927 111.572 -2840 2 21.4201 33.3104 33.6231 20.4274 22.4473 -105.558 -2841 2 21.0169 32.7677 34.9776 -26.2577 -81.494 -6.49713 -2842 1 27.58 10.4702 5.09171 -65.2659 5.31237 12.2309 -2843 2 26.6286 10.5692 5.12737 -0.2139 44.391 9.28985 -2844 2 27.7181 9.5393 4.91664 52.9737 -66.6441 -8.53156 -2845 1 28.7347 28.9472 29.8879 7.45179 86.9813 22.018 -2846 2 27.7913 28.8345 30.0046 -51.7656 -1.30873 6.75643 -2847 2 29.0371 28.1044 29.5497 32.1883 -83.9254 -30.2719 -2848 1 23.1275 9.19045 12.3318 -23.9151 -43.3885 -25.0746 -2849 2 23.4816 8.43938 12.808 -0.108479 97.3974 -0.673422 -2850 2 23.502 9.95277 12.7732 20.9614 -58.0152 32.6549 -2851 1 7.73216 20.4882 35.3884 -79.8619 53.6086 26.6705 -2852 2 7.15161 20.7595 0.652262 -9.28349 14.6477 -30.7094 -2853 2 8.30386 19.8298 0.336145 66.1889 -67.8282 9.79696 -2854 1 15.7512 1.18494 29.4705 45.5095 23.8518 -9.66497 -2855 2 16.6208 1.21888 29.8691 -57.067 12.8279 -49.9056 -2856 2 15.8169 1.75236 28.7024 18.7036 -43.2154 69.2484 -2857 1 21.0125 1.65575 12.0146 -59.7992 -6.22894 -86.5593 -2858 2 21.2864 1.87162 12.906 31.1405 18.4624 94.0344 -2859 2 21.754 1.17624 11.6452 24.5695 -19.7654 -12.1322 -2860 1 17.7706 21.9532 29.4088 28.4722 40.1726 13.2434 -2861 2 18.054 22.8281 29.6744 -25.2589 0.91138 -16.2222 -2862 2 18.4264 21.3647 29.7828 -2.82969 -29.684 -8.31059 -2863 1 22.4681 13.0574 12.4604 -3.89925 -7.04083 111.939 -2864 2 23.1035 13.6329 12.0345 2.45139 7.79522 -50.7168 -2865 2 22.0388 12.5979 11.7386 -5.84249 -2.03513 -69.058 -2866 1 11.2192 21.7415 13.5285 0.71591 13.1881 -35.2564 -2867 2 11.4727 22.2366 12.7495 54.0703 31.7834 6.09939 -2868 2 10.3482 21.4014 13.3239 -46.4165 -48.0548 42.6166 -2869 1 21.7279 10.8896 26.2263 155.179 -72.0569 -85.1622 -2870 2 20.9652 11.4405 26.0502 -88.2546 35.9495 60.6437 -2871 2 21.6288 10.628 27.1418 -65.0603 43.6902 6.08865 -2872 1 18.4681 8.09524 14.4984 -42.8663 -10.5244 65.1347 -2873 2 19.2322 8.4718 14.0618 12.347 -3.22468 -46.981 -2874 2 18.0028 7.62636 13.8056 32.0667 11.3951 -20.5248 -2875 1 2.91994 4.40223 25.4102 68.4593 -106.026 -71.0964 -2876 2 2.9641 3.59725 24.8941 -43.6585 75.7969 46.9731 -2877 2 3.83273 4.67101 25.5142 -27.2896 23.449 16.4356 -2878 1 5.27068 8.45247 8.47141 -0.45936 59.6162 -88.5046 -2879 2 6.07814 8.80495 8.09723 -38.6684 -29.5621 41.7408 -2880 2 4.5724 8.84056 7.94411 30.7556 -35.9611 44.4882 -2881 1 1.77043 24.1476 31.5884 113.491 -45.171 -13.3083 -2882 2 1.57331 23.2177 31.476 -37.6559 54.8168 8.35864 -2883 2 0.922094 24.5527 31.7685 -67.1584 -21.0734 6.19013 -2884 1 24.4488 22.6675 34.863 53.6463 31.8488 -27.9005 -2885 2 24.1329 23.4176 34.3593 8.57955 16.1041 -13.8081 -2886 2 23.6572 22.2748 35.2308 -65.4644 -43.4471 42.7218 -2887 1 4.18134 10.9323 27.7271 -41.3639 46.5937 7.13493 -2888 2 4.44351 10.1435 27.2524 13.6387 -38.0837 -13.1096 -2889 2 4.90713 11.1036 28.3272 27.6277 -3.86564 16.1274 -2890 1 17.6908 23.1912 14.1671 40.9328 34.084 -66.2881 -2891 2 17.1845 23.2465 13.3566 33.8272 -2.9704 51.2992 -2892 2 18.5214 23.6199 13.9609 -76.319 -34.0165 16.0849 -2893 1 7.47672 4.12438 28.9446 -22.8299 28.7473 27.892 -2894 2 6.58995 4.0886 28.586 -19.5575 2.09032 0.409323 -2895 2 8.00996 3.63896 28.3151 40.7678 -31.8926 -34.8062 -2896 1 24.0042 12.4897 25.2199 38.5247 37.3461 5.77766 -2897 2 24.2259 12.1149 24.3675 -55.0705 -12.1358 56.7591 -2898 2 23.2744 11.956 25.5343 13.9204 -22.8569 -51.6737 -2899 1 29.918 1.50225 13.0354 75.5507 21.2953 35.0371 -2900 2 29.1022 1.34652 12.5595 -101.695 9.35002 -44.2639 -2901 2 30.3992 0.677984 12.9629 41.4874 -27.6833 13.0594 -2902 1 10.6846 11.2162 11.7056 46.9543 7.255 52.1953 -2903 2 10.069 11.2418 10.973 -3.47021 43.2252 -9.19003 -2904 2 10.9117 12.1331 11.8604 -41.0777 -53.5227 -44.7363 -2905 1 26.8381 6.78465 27.9006 -50.7771 42.2208 59.3526 -2906 2 27.6215 6.24454 28.0045 36.2291 -28.7848 -29.968 -2907 2 26.7437 6.89101 26.9541 22.397 -17.2347 -36.5058 -2908 1 19.4556 27.2634 28.0476 74.7157 44.3669 -12.6026 -2909 2 19.0273 26.4901 27.6804 -55.5415 -27.4345 8.10583 -2910 2 18.8413 27.5881 28.706 -35.0639 -30.5625 -2.17053 -2911 1 9.18255 17.5435 23.2127 8.21961 -70.4799 94.4371 -2912 2 9.74774 18.2918 23.0206 41.5016 83.0309 -44.0195 -2913 2 9.53163 17.182 24.0274 -39.1929 -7.16284 -37.3733 -2914 1 18.2489 34.633 20.6572 -68.217 -28.4289 7.38848 -2915 2 17.3984 34.3595 20.3135 35.4618 11.8698 15.9795 -2916 2 18.8007 34.7322 19.8813 22.3872 8.18786 -10.4491 -2917 1 32.5286 32.1002 29.978 144.636 -105.032 -13.0226 -2918 2 33.1946 32.7213 30.2727 -13.1541 10.2472 6.53621 -2919 2 31.7069 32.589 30.0248 -130.943 94.3219 16.4759 -2920 1 3.80317 11.4907 8.14909 143.302 26.8417 45.2275 -2921 2 2.93818 11.2859 7.79399 -84.4397 -31.4305 25.0952 -2922 2 3.73823 11.2741 9.0792 -50.9865 2.5913 -64.012 -2923 1 19.1863 31.1183 32.5068 -12.0623 35.8943 -19.4964 -2924 2 19.8048 31.5887 33.0657 23.4255 -9.54582 26.7298 -2925 2 18.8225 31.7915 31.9317 -10.2112 -32.3181 3.06299 -2926 1 13.3411 28.4149 10.641 3.34007 -14.726 -13.3078 -2927 2 14.1915 28.0363 10.4178 -75.4882 3.20921 -1.65362 -2928 2 12.713 27.9229 10.1123 63.6172 16.6732 18.4633 -2929 1 9.56066 12.0599 5.5378 -71.0216 -17.4924 88.2472 -2930 2 10.0845 11.2645 5.63368 18.3524 28.1895 -51.8271 -2931 2 9.85161 12.4404 4.70907 46.6748 -26.2759 -33.8016 -2932 1 7.60233 1.79163 2.09066 39.672 -27.8932 -56.456 -2933 2 7.02467 2.55091 2.01293 -17.9461 10.8592 30.4958 -2934 2 7.49185 1.49758 2.99485 -16.2544 23.8587 4.1825 -2935 1 28.7863 11.0348 9.63764 39.2072 31.7224 -76.3819 -2936 2 28.9362 11.2441 8.71571 -23.8279 -25.9114 103.079 -2937 2 29.6227 11.2195 10.0648 -17.09 -5.59611 -10.921 -2938 1 4.02098 14.8441 0.820804 67.4068 -72.0618 -71.7471 -2939 2 4.34572 14.3154 0.091936 -31.0882 51.9916 75.4603 -2940 2 3.18107 15.1857 0.514003 -42.0857 24.178 -9.54397 -2941 1 28.3015 1.63961 9.02848 -52.559 48.1017 123.575 -2942 2 28.2815 2.44636 9.54326 29.2851 -31.2803 -68.8272 -2943 2 27.7918 1.01381 9.54309 22.4243 -13.276 -57.996 -2944 1 8.86256 20.4666 30.0525 -99.7857 -26.2475 -55.8247 -2945 2 8.39383 20.5285 29.2202 64.3164 48.7994 -50.6381 -2946 2 8.28464 19.9518 30.6158 28.9816 -21.4281 107.605 -2947 1 18.1542 12.2335 19.1516 27.4247 70.8773 89.7586 -2948 2 18.5969 11.7695 18.441 1.30388 -40.2364 -56.5476 -2949 2 17.2292 12.0128 19.0428 -40.092 -29.1614 -29.4192 -2950 1 30.2698 30.1299 18.8353 37.1352 -11.1803 25.939 -2951 2 31.1342 29.7381 18.7104 -44.6819 19.4956 -6.12373 -2952 2 29.8739 30.1204 17.9638 3.6213 -6.78098 -24.7147 -2953 1 28.7226 14.9429 4.97488 -1.66756 68.8243 10.6896 -2954 2 29.0698 14.07 5.15845 50.8057 -84.1089 16.9265 -2955 2 27.7967 14.797 4.78055 -55.3976 7.23105 -17.2855 -2956 1 30.791 17.3437 25.8787 20.1614 42.3021 24.3914 -2957 2 31.6006 17.6157 25.4464 -17.9015 -17.809 2.6887 -2958 2 30.4503 16.6385 25.3284 -1.72001 -22.5407 -23.6411 -2959 1 20.8506 21.7807 22.8003 -141.087 -9.07591 20.3625 -2960 2 20.0136 22.2116 22.6276 45.5953 -44.6865 16.3948 -2961 2 21.5099 22.4241 22.5403 100.472 60.9364 -24.9189 -2962 1 3.21789 15.2924 10.937 -23.3893 80.6483 -91.9814 -2963 2 3.56197 14.7753 11.6653 22.2621 -76.518 90.9634 -2964 2 3.77722 16.0687 10.9085 -8.42365 4.33568 -12.5946 -2965 1 33.9264 7.67463 6.62657 -123.621 -62.3054 138.698 -2966 2 34.0772 8.53894 7.0093 23.6199 38.9048 3.63645 -2967 2 34.4214 7.68527 5.80732 85.0314 17.3009 -123.347 -2968 1 33.0988 6.7402 25.1335 0.212515 -37.547 78.5615 -2969 2 33.4699 6.34989 24.3422 9.85314 -9.13135 -40.9209 -2970 2 32.7257 7.57107 24.839 -8.8376 38.7946 -32.2126 -2971 1 29.49 24.6375 11.599 -92.0933 -92.6967 25.7368 -2972 2 29.8285 24.0569 12.2806 64.957 29.8299 13.5556 -2973 2 28.6115 24.3048 11.4149 33.5439 64.4375 -41.704 -2974 1 2.34598 1.81435 21.2345 53.6875 49.7702 -34.2509 -2975 2 1.41391 1.65909 21.0816 -67.4521 -27.5074 3.58396 -2976 2 2.57001 2.53236 20.6425 11.5078 -31.0174 28.0644 -2977 1 11.0668 31.422 0.346272 -83.3704 -1.44554 -0.838347 -2978 2 10.3033 30.9597 35.4476 57.5828 23.3342 19.4149 -2979 2 11.8087 30.8591 0.125255 19.2238 -33.5191 -13.3845 -2980 1 34.9363 6.0772 11.1023 -60.9353 28.2084 104.489 -2981 2 0.149072 6.51881 10.6506 20.1781 -20.3265 -61.1897 -2982 2 34.6812 5.36839 10.5117 37.3097 3.47695 -42.2691 -2983 1 20.0091 11.1394 17.5178 -0.0794191 -31.8703 -70.9117 -2984 2 20.5934 10.5672 17.0204 -20.5913 28.6887 40.1527 -2985 2 20.4725 11.2994 18.3399 31.4596 -0.864838 26.8425 -2986 1 26.6349 15.2395 11.5807 107.963 104.775 -6.48655 -2987 2 25.7801 14.947 11.2644 -95.4482 -28.6297 -30.8549 -2988 2 26.7542 16.1032 11.1857 -11.9979 -81.0141 43.1229 -2989 1 7.32435 7.27453 11.524 -70.2163 27.9645 41.0289 -2990 2 7.87904 7.21046 10.7465 45.0638 -14.5459 -54.9957 -2991 2 6.64935 7.90995 11.2855 10.9667 -13.9591 17.3675 -2992 1 8.60901 9.07467 19.349 14.4873 113.489 -2.27516 -2993 2 8.9412 8.21275 19.6 -10.2127 -71.8664 -4.31275 -2994 2 7.80419 8.89005 18.8648 -0.407555 -38.1702 0.605339 -2995 1 11.2137 13.0386 22.91 36.8508 11.3381 91.9037 -2996 2 10.9248 13.309 23.7816 32.0583 -11.9969 -24.55 -2997 2 10.4278 13.0997 22.3669 -71.1031 -0.0183268 -74.6972 -2998 1 15.706 18.8252 34.7368 50.6702 220.334 66.4483 -2999 2 15.2717 19.5697 35.1533 -104.112 -106.929 -0.0739134 -3000 2 16.5944 19.1342 34.5594 58.4791 -116.649 -60.1393 -3001 1 23.1225 30.9535 32.8062 -11.5232 -47.4843 -20.1772 -3002 2 22.4213 31.3292 33.3386 15.2889 32.1831 4.48784 -3003 2 23.7593 31.6621 32.7135 -11.1202 27.3947 19.9914 -3004 1 2.07266 30.6853 32.5082 2.20304 -15.1846 -4.47244 -3005 2 2.44872 29.8345 32.2824 1.25664 45.9244 14.0498 -3006 2 2.82553 31.2228 32.7543 4.98464 -28.1642 -7.87423 -3007 1 12.1995 21.2364 5.4283 -32.0454 75.4827 65.604 -3008 2 11.4513 21.4729 5.97648 -25.9566 -62.9847 -26.2509 -3009 2 12.8424 21.9273 5.58856 61.6065 -7.78012 -40.7108 -3010 1 16.4972 26.0218 23.2803 -66.2874 -32.1385 72.9852 -3011 2 15.7823 26.3937 23.797 42.4703 -25.7243 -34.9881 -3012 2 16.794 26.7439 22.7265 21.8666 56.0479 -42.3271 -3013 1 3.71179 6.69621 23.0926 -123.342 -8.49758 127.592 -3014 2 4.46036 7.2121 23.3922 48.6623 20.0326 -4.01401 -3015 2 3.10433 6.70275 23.8324 76.4543 -10.2282 -122.733 -3016 1 23.6935 19.6422 1.85777 0.209897 17.5701 -36.761 -3017 2 23.6211 19.1016 2.64434 -7.3501 -27.1257 40.9529 -3018 2 24.5697 20.0243 1.90892 11.6264 9.37825 -3.08416 -3019 1 12.4965 4.32588 15.9575 -9.06634 5.4772 3.82191 -3020 2 12.1362 4.97328 15.3514 -39.6978 19.6755 -25.3815 -3021 2 13.4258 4.54664 16.0199 52.3356 -13.2322 24.8652 -3022 1 2.88894 24.3137 12.3312 16.7267 -24.6252 -128.381 -3023 2 2.72116 24.3254 11.3889 15.4058 5.68649 111.475 -3024 2 2.10712 24.7068 12.7191 -37.833 23.192 17.3605 -3025 1 4.46987 13.6695 19.8465 6.53189 -3.89799 126.194 -3026 2 4.25748 13.4758 18.9335 -9.70471 18.73 -97.5383 -3027 2 4.92458 14.5112 19.8138 -0.86866 3.86998 -29.753 -3028 1 7.11206 19.8591 18.4357 8.56105 -85.7575 -137.309 -3029 2 7.44511 20.0321 19.3163 36.1343 22.3162 96.66 -3030 2 7.65103 19.137 18.1128 -42.0071 59.7902 33.455 -3031 1 23.3108 24.8603 33.3744 22.8366 36.6175 -67.4818 -3032 2 23.603 25.3992 32.6393 -29.2433 -42.0669 95.8325 -3033 2 23.4688 25.4025 34.1472 5.86126 12.1595 -16.5901 -3034 1 6.59197 35.268 10.2945 -26.2422 63.9458 220.321 -3035 2 6.06101 0.556756 10.3414 -16.3484 4.65997 -115.118 -3036 2 6.81337 35.0732 11.2051 40.821 -73.0983 -107.658 -3037 1 21.5894 3.03649 28.3505 77.2698 -48.2297 35.1374 -3038 2 21.3509 3.70374 27.707 -44.5588 39.9593 -31.1666 -3039 2 20.7855 2.88365 28.8471 -44.2206 13.0545 -3.14814 -3040 1 24.8162 5.45263 22.574 50.8055 -8.19271 71.6016 -3041 2 24.3367 4.70144 22.2247 -24.3128 -24.308 -28.2633 -3042 2 24.6302 6.16283 21.9598 -20.7455 36.1325 -44.1965 -3043 1 34.443 0.140586 3.28665 22.7476 -4.27742 -18.2466 -3044 2 34.6441 35.4023 2.38336 -49.054 -21.0686 -58.8521 -3045 2 35.298 0.280292 3.69354 25.7472 19.623 80.1278 -3046 1 4.27801 2.41134 7.98156 -52.0027 48.716 42.461 -3047 2 4.63221 1.98118 7.20326 -20.9194 39.5469 -45.4201 -3048 2 3.80563 3.17135 7.64171 60.5922 -83.5855 -31.0222 -3049 1 24.5229 31.654 21.5399 14.9007 25.2874 -71.6345 -3050 2 24.6934 30.9807 22.1986 34.1571 -16.2199 -16.6001 -3051 2 25.2238 31.5441 20.8973 -52.2928 -21.7319 83.3836 -3052 1 34.4216 34.6829 25.273 -30.5636 -51.7606 39.8167 -3053 2 33.9512 0.00647401 25.1939 -7.37968 -20.3485 16.6229 -3054 2 33.8936 34.1647 25.8803 41.5734 66.6679 -57.8298 -3055 1 11.2651 8.85698 13.2565 6.11934 -18.1511 34.6897 -3056 2 11.1803 9.45133 12.511 43.0191 72.8104 -86.6167 -3057 2 10.3634 8.66802 13.5165 -52.5127 -44.4877 51.1612 -3058 1 17.0485 2.13014 0.320304 -43.131 -13.3828 -71.8851 -3059 2 17.1878 2.31814 1.24847 37.1022 1.7386 47.0418 -3060 2 17.8595 1.70824 35.4837 0.612316 12.3229 30.846 -3061 1 24.823 22.0754 14.9421 -6.63076 28.6944 -27.1115 -3062 2 25.0916 22.4371 15.7866 -7.77581 7.22436 -26.5664 -3063 2 24.7553 22.8366 14.3657 8.94946 -40.7131 48.733 -3064 1 17.7785 29.215 7.78087 5.96691 6.93036 -13.4023 -3065 2 17.51 29.1426 8.69677 -3.91694 12.0117 40.0881 -3066 2 17.678 28.3299 7.43057 3.06703 -33.3962 -24.411 -3067 1 14.0455 24.7655 11.8398 -49.2556 40.9757 -49.7447 -3068 2 14.7227 24.0969 11.9431 67.8415 -63.9109 -0.68869 -3069 2 13.9232 25.1211 12.7201 -16.1137 28.9092 45.8115 -3070 1 24.4288 23.4037 24.8381 32.0421 -132.205 -12.7566 -3071 2 24.7652 24.0979 25.4048 -4.53894 64.141 15.4496 -3072 2 23.7166 23.8165 24.3497 -19.8377 53.1604 -1.7683 -3073 1 11.8864 15.0814 0.295659 -23.6845 124.122 -87.2924 -3074 2 12.5067 15.0949 35.014 47.757 -74.3406 -4.18454 -3075 2 11.4471 15.9308 0.252718 -32.7933 -36.5625 65.9053 -3076 1 11.005 18.7627 17.7 57.571 104.704 54.04 -3077 2 11.2164 19.0989 18.5709 -26.2432 -42.8806 -122.398 -3078 2 11.3661 19.4131 17.0976 -34.5845 -54.5784 64.5603 -3079 1 0.213824 34.4341 28.4428 21.8233 49.2599 -121.163 -3080 2 35.4371 34.42 29.3571 -7.57222 -43.8627 81.875 -3081 2 0.503842 33.5389 28.2675 -14.3425 3.10667 40.5483 -3082 1 27.6974 7.75614 5.28368 -24.1258 54.3121 -69.9057 -3083 2 28.5713 7.36598 5.26558 2.06337 -29.0246 38.9829 -3084 2 27.2788 7.37167 6.05388 27.1055 -33.9832 30.5922 -3085 1 18.5713 5.67475 20.2207 -2.51276 2.63569 -5.61542 -3086 2 19.1274 6.25517 20.7404 -5.47448 -17.9351 -13.6563 -3087 2 19.1825 5.0702 19.7998 0.412368 20.1907 17.371 -3088 1 2.33518 13.1733 32.3637 -6.67276 -6.59705 -16.0066 -3089 2 1.56693 13.7328 32.4774 -3.27126 3.73458 2.50816 -3090 2 1.9767 12.3206 32.1172 -3.45382 -3.48071 1.62879 -3091 1 35.0159 31.7345 0.975688 57.7793 37.717 -88.537 -3092 2 34.603 31.4215 1.78052 -56.1962 -39.1495 9.85887 -3093 2 34.515 31.3212 0.272487 2.72589 2.20814 74.1069 -3094 1 17.1685 3.81685 14.5237 -0.395477 -4.79857 42.9314 -3095 2 16.5563 3.93356 15.2503 -23.639 22.1736 -23.5747 -3096 2 17.8471 3.2386 14.8721 36.0122 -9.6197 -21.8192 -3097 1 23.7386 2.4584 3.91235 47.4542 -90.8935 17.4722 -3098 2 23.8003 1.55288 4.21645 31.1365 41.007 -18.5667 -3099 2 22.8025 2.65665 3.93718 -71.6822 46.4586 -3.97008 -3100 1 22.4655 29.5058 22.7956 -2.25466 1.96441 -21.2068 -3101 2 22.7703 29.3341 21.9046 1.67822 23.1404 -57.5992 -3102 2 22.6993 28.7173 23.2854 -13.9541 -14.9818 55.1933 -3103 1 8.33712 6.62653 29.9373 31.5476 -89.8883 -122.772 -3104 2 8.86569 7.13039 29.3185 -8.28931 25.4008 42.5857 -3105 2 8.17788 5.79321 29.4941 -11.5475 60.286 76.4204 -3106 1 35.1771 29.8014 28.031 -31.2652 19.0848 99.6402 -3107 2 35.03 29.8291 28.9764 2.72713 51.7456 -45.4691 -3108 2 35.306 28.8734 27.8352 18.4617 -58.896 -58.6129 -3109 1 30.2844 0.508833 35.0187 -48.777 -22.175 105.623 -3110 2 29.4063 0.495686 34.6378 43.2415 5.19364 -33.303 -3111 2 30.8697 0.616182 34.269 6.38214 12.525 -84.2589 -3112 1 9.04292 33.8986 34.1544 75.5062 26.0372 32.7989 -3113 2 9.98341 33.9212 34.3311 -63.3922 2.00547 -6.25756 -3114 2 8.9528 33.3037 33.4099 -9.59051 -33.9579 -35.0105 -3115 1 8.19435 7.9026 34.6297 11.855 -66.149 -33.6619 -3116 2 8.11438 8.7497 35.0682 -12.1268 66.7494 45.2147 -3117 2 8.55127 8.11191 33.7665 -4.62032 -10.8461 -2.78562 -3118 1 16.3662 30.7294 16.147 20.5344 -27.5856 -5.42293 -3119 2 15.4361 30.6063 16.3368 -34.2708 9.28735 7.76366 -3120 2 16.6458 29.8966 15.7667 17.1217 16.2493 2.62049 -3121 1 1.38264 21.5184 15.8303 -58.9783 12.9998 134.042 -3122 2 2.16376 22.006 16.0918 3.20911 -13.3891 -61.5717 -3123 2 1.48275 21.3927 14.8867 60.1299 18.9745 -70.8489 -3124 1 24.4963 16.9169 14.4141 62.9081 -66.8611 41.999 -3125 2 24.4414 15.999 14.1481 3.35497 18.1124 5.89269 -3126 2 23.8376 17.3613 13.8805 -61.0725 46.665 -49.6133 -3127 1 6.59739 30.0808 32.9641 23.3861 54.144 -66.6773 -3128 2 6.359 29.5259 33.7068 -17.7568 -70.0809 79.3913 -3129 2 5.92691 30.7638 32.9499 -12.7795 21.81 -7.26337 -3130 1 13.7884 1.75333 32.9894 -14.5543 135.526 34.0508 -3131 2 13.8644 0.828995 32.7525 13.4684 -120.922 -18.159 -3132 2 13.8464 1.76184 33.9448 1.98557 -14.9872 -21.9652 -3133 1 4.51029 20.4673 25.3828 23.0121 -31.6647 -26.1194 -3134 2 4.11123 20.2108 26.2142 -36.7709 5.32783 47.1395 -3135 2 5.09212 19.7402 25.1614 9.15468 17.9259 -19.2209 -3136 1 8.54987 4.97894 10.5397 32.5233 5.08555 5.68287 -3137 2 9.37764 4.57053 10.2862 37.2636 4.57339 9.473 -3138 2 7.87834 4.43952 10.1222 -60.7434 -17.5176 -14.734 -3139 1 6.5683 13.4283 12.4661 -8.91078 -14.636 12.1494 -3140 2 6.84231 14.1375 11.8845 7.19049 17.4336 -29.3178 -3141 2 6.79546 13.7362 13.3435 -0.0869492 -3.01627 16.8131 -3142 1 17.307 29.5652 18.8231 -7.52758 76.379 -46.3916 -3143 2 17.0003 30.1022 18.0924 3.94572 -52.4499 23.6073 -3144 2 17.7929 30.1732 19.3803 -0.817609 -24.7159 15.5413 -3145 1 7.07642 33.6794 15.8803 -75.984 -114.82 -59.9806 -3146 2 7.97477 33.3657 15.9843 53.4595 -0.638717 11.6813 -3147 2 7.08478 34.56 16.2552 22.6245 99.3747 41.5713 -3148 1 4.32137 32.0873 0.424436 69.9283 161.382 -65.8744 -3149 2 5.25166 32.0605 0.200658 -14.4107 -84.2935 33.228 -3150 2 4.04886 32.9798 0.211301 -61.597 -74.6591 37.9821 -3151 1 12.5002 15.4323 7.00232 -8.70739 10.6033 -11.8746 -3152 2 12.4155 16.0237 7.75023 -1.78474 3.27413 2.15962 -3153 2 12.4195 16.0009 6.23649 5.22072 -22.9938 24.5208 -3154 1 20.2221 27.4409 4.69069 -74.908 50.482 -17.9587 -3155 2 20.7352 27.3354 5.49186 37.8695 -14.9753 51.9266 -3156 2 20.545 26.7545 4.1068 23.4431 -37.6015 -21.274 -3157 1 30.0029 27.9944 32.6308 30.7558 -164.84 66.5675 -3158 2 30.486 28.5742 32.042 49.7091 49.809 -56.1679 -3159 2 30.5704 27.2305 32.7343 -78.3062 113.464 -15.4126 -3160 1 14.6352 3.86392 1.20817 44.1387 158.917 54.6602 -3161 2 15.1668 3.06821 1.1869 -30.6919 -76.2285 -30.1494 -3162 2 13.7873 3.59559 0.85413 -14.6988 -81.689 -24.0301 -3163 1 4.28636 7.12905 1.70236 21.9316 -51.2641 -29.7234 -3164 2 4.88191 6.73262 1.06642 -15.5554 37.644 -5.12385 -3165 2 4.17288 6.45812 2.37558 -16.0108 9.25601 28.8861 -3166 1 29.161 26.1946 28.881 58.8653 58.7727 -64.3034 -3167 2 29.2454 26.8933 28.2323 14.6843 -51.8693 28.463 -3168 2 28.2799 26.3044 29.2387 -64.5288 -9.89334 32.5705 -3169 1 3.6307 32.7844 28.9131 23.018 139.373 0.667921 -3170 2 3.08044 32.01 28.7957 31.628 -77.5558 11.1173 -3171 2 4.48391 32.4356 29.1713 -57.5917 -56.2137 -10.4294 -3172 1 23.7597 25.8477 5.67657 -96.5423 10.253 11.886 -3173 2 23.9308 24.9206 5.84223 18.4402 -28.1721 5.89335 -3174 2 24.6048 26.202 5.39989 77.2583 21.8985 -17.2391 -3175 1 25.3798 33.2779 0.148899 75.4223 71.5816 61.7665 -3176 2 26.2702 33.3855 0.483413 -91.4497 -27.8402 -36.1648 -3177 2 24.9565 34.1195 0.318356 8.5596 -45.599 -18.6525 -3178 1 0.684541 1.52127 17.0723 46.0853 98.2221 -58.1946 -3179 2 0.543599 2.42315 17.3604 18.8968 -86.4072 -37.6137 -3180 2 1.27924 1.59782 16.3261 -64.7647 5.04332 79.4214 -3181 1 23.6522 8.67676 18.7747 140.904 44.0114 -2.02711 -3182 2 22.7387 8.77383 18.5057 -98.0332 18.3775 -33.1976 -3183 2 24.0927 9.44429 18.4099 -50.6636 -68.5567 34.2005 -3184 1 33.0517 15.6304 13.3433 -20.2908 58.9141 60.681 -3185 2 33.9502 15.6132 13.0136 46.7877 -10.5931 -27.7962 -3186 2 32.6041 14.9385 12.8563 -21.1064 -43.2951 -33.3811 -3187 1 18.3296 24.6507 30.1353 38.9348 21.2611 37.121 -3188 2 18.9708 24.8861 30.8059 -54.088 -5.60163 -59.2884 -3189 2 18.1634 25.4676 29.6649 9.88442 -16.6591 20.1549 -3190 1 5.36499 26.7656 9.7064 98.2529 29.6679 -35.6306 -3191 2 4.62217 26.8187 9.10502 -60.0596 -9.20086 -15.0624 -3192 2 4.99158 26.4259 10.5197 -48.2634 -26.3659 48.4727 -3193 1 10.1058 10.0801 21.5441 24.4402 29.4457 10.0886 -3194 2 10.506 10.9023 21.2612 11.0252 1.08249 13.2242 -3195 2 9.51926 9.83943 20.827 -30.9863 -24.4863 -21.5877 -3196 1 19.0061 35.0715 29.8453 32.7906 -136.427 60.0693 -3197 2 19.0829 0.407401 29.397 36.0421 53.0525 -49.5439 -3198 2 19.8366 34.6294 29.6693 -68.7432 76.2642 -6.4072 -3199 1 29.9967 14.9835 24.7284 100.622 -51.4676 -58.9963 -3200 2 29.7413 14.5569 25.5464 -73.7508 -10.0155 90.6002 -3201 2 30.7764 14.5074 24.4427 -47.7605 66.2903 -29.5139 -3202 1 6.63552 29.0069 30.4954 22.7967 -16.2204 -48.5805 -3203 2 7.11118 29.3398 29.7344 -17.8038 0.479644 70.7388 -3204 2 6.91887 29.566 31.2189 9.0948 9.05753 -20.8884 -3205 1 10.1147 30.2942 18.3028 -55.2895 -4.36511 25.5693 -3206 2 10.963 30.6738 18.532 37.4021 19.4289 9.25994 -3207 2 10.2334 29.9607 17.4135 5.50325 -14.2197 -35.7038 -3208 1 32.3883 34.1525 4.7896 -25.6317 101.338 -107.376 -3209 2 33.3038 34.1786 4.51137 3.24538 -13.6024 13.8673 -3210 2 32.3673 33.4945 5.48444 21.467 -87.2294 89.2683 -3211 1 8.2698 25.9039 25.879 -62.9319 19.1398 -22.7544 -3212 2 7.46619 26.2015 25.4525 47.3148 -22.9759 -17.5113 -3213 2 8.18507 26.2014 26.7849 28.2241 -5.49332 39.9778 -3214 1 34.3961 28.7638 22.3401 44.2066 -74.5895 17.391 -3215 2 34.7524 28.2418 21.6212 -46.8371 75.1473 28.4799 -3216 2 33.9862 29.5149 21.911 2.03002 0.342479 -52.3425 -3217 1 26.178 0.333694 20.7574 -132.28 -3.06791 -19.4387 -3218 2 26.9777 0.119867 21.2381 58.3164 -25.9 50.5338 -3219 2 25.4776 35.4231 21.2593 77.6027 27.3215 -32.1949 -3220 1 10.6118 26.3762 18.4157 -33.1031 -65.7202 -81.658 -3221 2 10.078 25.7513 17.925 53.6369 51.6786 32.3461 -3222 2 10.1123 26.5429 19.215 -14.6818 12.8496 45.101 -3223 1 8.64268 7.64083 22.408 112.388 -21.7311 17.6467 -3224 2 9.37406 7.40432 21.8376 -73.5032 18.9955 41.1717 -3225 2 9.02858 7.69711 23.2822 -48.741 -4.97437 -70.5746 -3226 1 34.9414 6.28976 29.4794 -34.6058 161.542 -105.674 -3227 2 34.7735 5.37329 29.26 9.55491 -106.349 27.1499 -3228 2 35.3353 6.25953 30.3513 24.0478 -60.8354 69.3312 -3229 1 22.9676 8.26696 24.975 74.487 191.822 -49.0853 -3230 2 23.5974 8.59941 24.3354 -88.7604 -82.9852 87.9522 -3231 2 22.6788 9.04395 25.4537 11.1391 -105.72 -39.2231 -3232 1 11.4546 14.5872 29.1683 -2.58474 -63.6869 28.1888 -3233 2 11.2716 15.5199 29.282 -19.599 21.9368 17.6733 -3234 2 10.9912 14.1621 29.8899 22.1003 49.0686 -40.7668 -3235 1 30.985 28.1923 16.3523 9.64695 -130.27 67.3652 -3236 2 30.9061 29.0428 15.9204 58.5398 31.2604 -48.592 -3237 2 31.8462 27.8681 16.0885 -68.3856 89.1096 -18.4133 -3238 1 19.6047 34.6371 0.729815 -45.7141 -106.869 -45.8594 -3239 2 20.0601 34.5259 1.56436 33.1216 11.5576 58.3708 -3240 2 19.676 0.0663058 0.540252 17.6326 91.021 -4.8927 -3241 1 6.52775 20.2004 8.34661 17.3958 -45.2217 -129.249 -3242 2 6.4609 20.8282 9.06611 -16.9595 81.73 131.538 -3243 2 6.74854 20.7334 7.58279 -5.01426 -38.2966 6.87302 -3244 1 2.22302 5.95014 13.033 27.2297 -9.93227 10.5128 -3245 2 3.15877 5.75509 13.0838 -71.5812 22.0438 13.6531 -3246 2 1.98328 6.20969 13.9226 30.22 -10.9768 -23.0461 -3247 1 33.5471 3.0257 18.3252 11.3508 7.81036 96.9187 -3248 2 33.2451 2.83172 19.2126 10.2059 9.4294 -113.126 -3249 2 32.8845 2.63513 17.7554 -17.5703 -12.2742 15.925 -3250 1 27.713 5.53325 14.9777 36.8493 49.4888 -13.4663 -3251 2 28.5713 5.88565 15.2131 -27.7003 -33.7876 4.33164 -3252 2 27.3573 6.1651 14.3528 -12.8791 -17.6877 7.33821 -3253 1 15.9444 23.733 21.562 7.76589 30.0149 72.9707 -3254 2 15.9674 24.6061 21.9537 7.0313 -32.9011 0.629257 -3255 2 15.6479 23.8806 20.6639 -16.1495 4.56357 -64.5545 -3256 1 6.69181 14.3979 15.1017 4.13052 -24.6817 2.417 -3257 2 7.63647 14.552 15.1112 -17.9767 11.9167 -0.0614324 -3258 2 6.30866 15.2639 14.9622 14.3309 11.016 0.986939 -3259 1 5.95406 12.1457 3.05336 48.454 39.3818 -42.6333 -3260 2 6.26184 12.1924 2.14819 -45.4957 -26.1772 67.861 -3261 2 5.25059 11.4969 3.03453 -3.30765 -16.9927 -28.6957 -3262 1 12.1016 30.8099 11.2235 155.185 -19.8029 -22.9497 -3263 2 12.541 29.9828 11.0259 -57.5428 88.9252 19.3385 -3264 2 12.8146 31.429 11.3803 -82.1418 -56.3231 -13.8489 -3265 1 18.9335 2.00915 15.9897 88.7001 -124.516 -56.1124 -3266 2 19.4402 1.25104 15.6986 -35.5491 93.817 -21.1516 -3267 2 18.5824 1.75029 16.8417 -54.9783 31.1795 74.375 -3268 1 23.9645 13.7277 20.7019 112.02 124.421 94.8307 -3269 2 24.4506 14.5099 20.963 -62.6811 -130.203 -21.241 -3270 2 23.4797 13.9958 19.9213 -56.8481 0.494608 -77.5142 -3271 1 8.25081 5.7875 16.0213 79.9576 -74.7123 19.2498 -3272 2 8.7527 5.13509 16.5099 -52.0172 65.9522 -32.7973 -3273 2 8.67838 5.82789 15.1658 -20.6495 9.26393 10.327 -3274 1 28.35 22.2559 21.4982 40.7798 49.6332 44.3967 -3275 2 29.0686 22.7951 21.1679 -18.1415 -14.2002 -29.9981 -3276 2 28.3189 22.4456 22.4359 -26.5065 -29.0232 -16.7208 -3277 1 1.812 0.0675245 2.46565 -23.8176 -48.4348 11.365 -3278 2 1.24126 34.9858 1.97104 24.5176 33.2589 17.4237 -3279 2 1.91105 35.151 3.31865 0.402326 13.5121 -15.2157 -3280 1 35.5318 20.9796 3.82301 23.9546 -23.8115 24.5029 -3281 2 34.6922 21.3612 3.56659 2.09191 10.041 -12.7756 -3282 2 0.680289 21.5875 3.47953 -13.3663 11.7675 -6.60228 -3283 1 11.1775 3.63432 11.4321 54.9348 65.6556 67.6734 -3284 2 10.4865 2.97194 11.4215 -33.6081 -28.3827 23.7474 -3285 2 11.2327 3.90893 12.3474 -24.7465 -39.3972 -87.3741 -3286 1 9.92695 28.8961 20.6834 91.5452 116.242 110.274 -3287 2 9.95565 29.2881 19.8106 -10.0877 15.446 -74.162 -3288 2 9.39203 28.1096 20.5758 -74.191 -111.529 -30.7529 -3289 1 8.0874 0.987365 4.46162 33.0475 21.9523 24.5842 -3290 2 8.90823 1.47434 4.38853 -44.725 -15.0677 7.60756 -3291 2 8.33225 35.5839 4.29273 -7.85787 -27.655 -4.61239 -3292 1 2.10784 25.5839 29.3574 9.44459 40.5552 -58.3612 -3293 2 2.22865 25.0927 30.17 8.15378 -24.566 37.717 -3294 2 2.98786 25.8772 29.1212 -19.0729 -10.9767 11.1079 -3295 1 0.21754 17.1269 5.6237 1.86836 -0.749514 17.6612 -3296 2 0.667185 16.9733 6.45465 -19.3442 5.73553 -16.6027 -3297 2 34.857 17.4454 5.8752 19.6174 -7.35086 2.52803 -3298 1 29.3603 32.8815 7.14991 0.101535 1.84776 -7.11208 -3299 2 28.4639 33.0416 6.85464 -24.1197 0.377775 -16.22 -3300 2 29.4335 33.3694 7.97018 11.1714 9.8229 22.1136 -3301 1 33.4609 17.4446 24.9889 34.8459 19.6949 44.3807 -3302 2 33.7335 16.5688 25.2626 -17.6138 -21.8592 -16.3795 -3303 2 33.8346 18.0293 25.6482 -17.878 13.9155 -31.7685 -3304 1 14.6341 31.9725 20.1175 -10.2422 -33.9331 -87.7276 -3305 2 14.4125 32.3819 20.9538 68.0644 -3.09541 31.0175 -3306 2 15.5667 31.7692 20.1894 -48.4577 37.7206 63.2122 -3307 1 17.9003 30.1954 29.0743 -20.5718 -10.6223 -35.8036 -3308 2 17.9938 30.3841 28.1406 16.2906 4.03579 62.6651 -3309 2 18.5464 30.7597 29.4991 7.40136 8.62669 -26.9221 -3310 1 29.8169 30.589 9.54408 39.6713 155.86 -33.18 -3311 2 29.6746 31.3817 9.02685 -35.6802 -93.4223 6.28851 -3312 2 30.5093 30.826 10.161 -4.3369 -62.5369 21.6605 -3313 1 21.8305 0.179867 6.59561 -131.553 24.4675 93.6831 -3314 2 21.3265 35.0491 7.10188 56.6761 -51.529 -42.5722 -3315 2 21.4655 1.02846 6.84652 56.7059 32.3959 -53.67 -3316 1 29.6929 11.0441 25.0272 68.5124 10.0532 -10.3615 -3317 2 28.8625 10.574 24.9514 -48.3361 -13.9214 3.38157 -3318 2 29.5569 11.6566 25.7501 -17.7477 7.91035 9.88249 -3319 1 7.91799 12.4181 27.4903 38.2933 48.1398 -40.1548 -3320 2 7.29823 12.3555 28.2171 -21.1617 10.1593 23.0352 -3321 2 8.04287 13.3584 27.3617 -13.9837 -54.2923 12.9695 -3322 1 1.58321 18.1522 25.2386 91.2986 -50.7877 56.0817 -3323 2 0.935055 18.795 25.5266 -44.6607 18.6983 -44.2886 -3324 2 1.35627 17.9751 24.3257 -50.6701 38.1164 -10.704 -3325 1 6.93301 23.5326 2.35574 -143.702 50.9719 121.697 -3326 2 6.7006 22.6248 2.16076 94.0162 47.7602 -51.0249 -3327 2 7.72931 23.6907 1.84864 50.8499 -90.7436 -70.5706 -3328 1 4.74447 5.25766 7.60102 19.9075 -27.8094 -0.753735 -3329 2 5.38569 4.62785 7.93028 2.14717 4.07472 -20.7134 -3330 2 4.31509 5.59604 8.38675 -26.7245 27.0335 18.304 -3331 1 8.12565 1.12124 8.50092 37.7007 154.709 -26.3853 -3332 2 7.75501 0.575229 9.19428 -11.7892 -87.7153 -14.3202 -3333 2 8.33368 0.506866 7.79699 -29.7583 -61.3847 45.9006 -3334 1 19.7437 22.072 2.67536 -72.6452 -87.084 35.6201 -3335 2 20.3016 22.2032 3.44201 18.2973 12.2857 9.66385 -3336 2 19.0937 21.4291 2.95877 68.6697 80.7659 -46.803 -3337 1 26.996 3.406 0.239371 -66.2659 32.1677 -86.7549 -3338 2 27.3911 4.22902 35.3989 18.753 -48.8397 52.7615 -3339 2 27.5459 3.11752 0.967819 63.4184 26.7336 38.2662 -3340 1 2.7621 30.7273 25.4424 74.8314 71.9446 101.042 -3341 2 2.31783 30.4193 24.6525 -55.1412 -39.0564 -105.488 -3342 2 3.5226 31.2093 25.1175 -28.2416 -20.6612 -0.597836 -3343 1 32.1236 13.8574 23.8371 82.6849 -92.3484 25.6154 -3344 2 32.8168 14.2397 24.3753 -29.9897 10.0684 -14.062 -3345 2 32.2779 12.9138 23.8819 -36.7412 75.6787 -21.0433 -3346 1 10.2167 20.2654 34.4011 -29.0169 -52.8399 -24.3943 -3347 2 10.6544 21.097 34.5827 -56.8116 22.1131 -0.754093 -3348 2 9.28658 20.4877 34.3598 104.381 40.8574 18.6361 -3349 1 23.0912 20.8756 25.3036 45.4503 70.41 -36.826 -3350 2 22.403 20.9462 25.9651 -56.0243 -33.0301 53.3605 -3351 2 23.2916 21.7815 25.0682 24.2539 -34.2054 -20.0738 -3352 1 29.4589 17.1069 18.2198 19.4228 -1.40422 1.05421 -3353 2 30.1657 17.4898 18.7395 39.3762 -8.71837 8.8109 -3354 2 28.7383 17.7323 18.2972 -55.9257 7.97026 -13.1335 -3355 1 20.0572 13.4047 10.4575 -2.4323 25.8505 84.4739 -3356 2 19.4773 13.2123 11.1943 24.6504 10.5749 -32.8394 -3357 2 19.765 12.8156 9.76187 -20.1514 -37.3764 -49.959 -3358 1 20.7068 15.0622 6.6659 22.0222 105.487 -3.90323 -3359 2 21.2622 14.3842 6.28108 21.5218 5.94817 -10.4378 -3360 2 21.1772 15.8796 6.50172 -44.0914 -112.56 13.5308 -3361 1 18.8927 16.3345 29.0147 3.11439 -5.52118 23.7863 -3362 2 19.5602 17.018 29.0749 3.80841 8.53475 -13.572 -3363 2 18.8557 15.9571 29.8936 -5.87826 -5.29892 -6.19814 -3364 1 32.5311 22.1127 16.3334 46.7764 47.0163 35.2924 -3365 2 31.6606 21.7262 16.2385 8.686 -8.32642 -67.7514 -3366 2 32.9046 22.0819 15.4526 -79.2373 -24.2636 31.1248 -3367 1 25.6681 12.0582 29.5269 -43.3653 1.85266 30.514 -3368 2 25.5754 12.5328 28.7009 3.15091 15.8366 -30.653 -3369 2 26.4292 11.493 29.3949 38.09 -26.6876 -15.2454 -3370 1 17.5095 29.899 23.7505 -70.9322 -33.6234 -30.1557 -3371 2 18.2389 29.8011 23.1384 4.10489 -2.49186 -3.14647 -3372 2 16.7592 29.5205 23.2923 64.9967 39.6899 42.2027 -3373 1 20.4281 5.60763 4.90377 43.3353 15.8926 -17.7164 -3374 2 20.7454 5.92042 5.75094 20.3228 9.88075 17.3449 -3375 2 19.5006 5.42055 5.04908 -57.5937 -15.3165 -1.5189 -3376 1 21.2234 7.21772 16.3362 -54.0068 -49.4883 0.496242 -3377 2 21.6615 8.0648 16.2537 -7.48507 35.6857 -4.04865 -3378 2 20.2897 7.42645 16.3062 51.4826 7.47009 -1.10846 -3379 1 8.7241 17.2874 17.5571 50.0242 18.6049 8.24109 -3380 2 9.56672 17.7358 17.6291 -59.5477 -42.7563 -7.04497 -3381 2 8.94619 16.4058 17.2576 2.45645 24.0611 6.31696 -3382 1 8.76448 18.0667 33.5473 -18.346 -49.3877 -22.772 -3383 2 9.24749 18.8304 33.863 -64.5601 8.40435 -10.4695 -3384 2 7.86477 18.3771 33.4452 77.2328 36.4092 28.0727 -3385 1 32.8279 35.5211 32.0991 -10.4975 -32.3901 13.2109 -3386 2 32.1895 34.8107 32.1627 21.0022 44.1785 -14.0154 -3387 2 32.4202 0.651917 31.5124 -9.11716 -8.55347 -5.19565 -3388 1 9.68833 32.4158 15.8107 3.23149 -9.79765 5.76038 -3389 2 10.2945 32.8351 15.2 21.23 34.5213 -14.6478 -3390 2 9.52376 31.5527 15.4309 -22.1751 -17.1488 8.31693 -3391 1 3.1368 9.32324 6.33094 -3.39491 25.1297 -51.1663 -3392 2 2.77138 10.1031 5.91308 -61.0141 40.3755 38.8402 -3393 2 3.77819 8.99228 5.70219 55.4222 -73.1271 17.2332 -3394 1 8.1759 30.3492 28.5657 7.5399 -1.43381 -14.9468 -3395 2 8.31433 29.939 27.712 14.466 31.0842 30.1305 -3396 2 8.87221 31.0024 28.6338 -28.4678 -40.1121 -23.713 -3397 1 5.52993 5.11953 25.8355 53.5195 -13.135 -30.2365 -3398 2 6.23257 4.5294 25.5629 -30.9488 0.177078 20.6695 -3399 2 5.65688 5.90546 25.304 -16.8137 18.9708 5.53673 -3400 1 27.9661 26.597 23.4635 16.7393 -26.4826 -28.0337 -3401 2 27.4491 26.129 22.8078 5.32207 1.51069 1.43209 -3402 2 27.3188 27.068 23.9882 -20.7744 18.2494 21.327 -3403 1 8.76852 34.4617 30.1291 162.613 -32.0616 27.02 -3404 2 8.04582 34.686 30.7153 -46.8888 17.0706 57.3805 -3405 2 9.51946 34.3391 30.7099 -100.66 18.9808 -61.5523 -3406 1 6.61756 26.6857 32.4204 31.166 25.8027 -19.8292 -3407 2 6.41207 27.4057 31.8241 18.3739 24.5396 -7.73335 -3408 2 5.83584 26.1334 32.4082 -50.738 -53.4944 12.7413 -3409 1 20.6112 1.66808 21.2131 -43.6657 -67.1231 26.6125 -3410 2 20.4312 2.47489 20.7305 27.2766 117.435 -47.6964 -3411 2 19.8211 1.13957 21.1002 11.355 -43.6885 26.316 -3412 1 17.1102 11.9426 25.7026 69.0884 -60.5556 70.5342 -3413 2 16.5894 12.2432 24.9579 -53.605 52.6405 -53.434 -3414 2 17.034 12.6453 26.3481 -19.4738 14.9789 -19.6483 -3415 1 35.2931 32.2182 32.5142 -56.7764 103.938 -25.8188 -3416 2 0.697494 31.9244 32.5363 56.4161 -2.59715 -3.99805 -3417 2 35.3412 33.1271 32.2178 14.3382 -103.63 25.6849 -3418 1 18.6382 20.0677 10.2448 25.7639 86.1471 45.8099 -3419 2 18.676 19.2526 9.74431 -44.7576 -47.8898 -9.37971 -3420 2 17.7796 20.0499 10.6677 14.0086 -41.4336 -38.0528 -3421 1 15.6726 16.7093 30.8461 -44.8368 -83.8999 -77.4136 -3422 2 15.1741 17.0928 31.5678 -23.835 15.4404 28.7229 -3423 2 15.0758 16.0717 30.4544 66.1832 75.5011 46.6656 -3424 1 25.3202 32.9979 32.9327 43.4105 -29.6453 8.45064 -3425 2 25.3628 32.954 33.888 -6.84476 9.95434 -27.8054 -3426 2 26.1328 32.5874 32.6371 -37.5595 17.0426 7.19597 -3427 1 21.9587 34.9141 21.6809 -42.4235 5.70057 -25.5554 -3428 2 22.8241 35.1307 22.028 49.499 0.561843 19.9907 -3429 2 21.5943 0.248143 21.4031 -2.60287 -12.5542 3.09103 -3430 1 9.90973 22.8694 28.5464 -28.0032 99.8289 105.23 -3431 2 9.65694 22.0726 29.0127 -11.6245 -115.025 -5.18689 -3432 2 9.79178 23.5703 29.1876 24.8154 19.9895 -68.3317 -3433 1 18.9212 1.83008 28.5451 -35.6287 68.4189 13.817 -3434 2 18.7633 1.66888 27.6149 18.9969 -41.7285 -36.2556 -3435 2 18.4661 2.65234 28.7268 18.1074 -11.1764 31.36 -3436 1 16.8393 26.3035 13.637 63.1028 -75.2487 27.2994 -3437 2 16.3042 25.8814 14.3092 -1.86222 30.0778 -24.7142 -3438 2 16.3114 27.0449 13.3406 -57.045 37.0959 -2.04287 -3439 1 23.0349 33.9771 14.6645 -29.0599 -53.7854 83.9222 -3440 2 22.8905 33.8789 15.6056 -15.2502 -27.5782 -28.5587 -3441 2 23.4463 34.8366 14.5732 42.5054 87.3122 -46.9412 -3442 1 26.3752 30.4314 35.255 66.7486 -91.2019 51.862 -3443 2 25.736 30.4012 34.5432 -31.4707 53.3263 -18.3384 -3444 2 26.3927 31.3502 0.075858 -39.4981 35.5157 -31.8471 -3445 1 32.6389 13.7831 28.3883 -40.287 85.0313 54.2217 -3446 2 32.5988 13.6435 29.3344 4.66747 -2.65884 -27.1701 -3447 2 33.0186 12.9753 28.0424 37.4597 -87.3197 -27.1008 -3448 1 1.19593 11.8888 7.42467 17.9071 0.0770962 -155.647 -3449 2 1.33615 11.8699 6.47798 21.8886 32.368 89.9456 -3450 2 0.465825 11.2873 7.57121 -40.183 -32.3659 56.5142 -3451 1 35.0035 34.5814 14.679 3.44773 -53.1054 -94.5722 -3452 2 35.3667 34.7837 13.8168 -25.1988 -4.48377 64.5505 -3453 2 35.2101 35.3488 15.2125 19.5787 60.5919 30.4304 -3454 1 9.9103 32.3347 28.6243 48.6878 -46.6998 -53.2543 -3455 2 10.8379 32.2614 28.3996 -77.9924 36.8395 46.4538 -3456 2 9.87291 33.0504 29.2588 34.9508 15.1029 5.85766 -3457 1 6.36403 25.8243 16.6644 -16.1589 17.9781 52.9133 -3458 2 6.37999 25.3464 15.8352 -29.3146 4.42505 10.8465 -3459 2 5.45095 25.7817 16.9485 56.2893 -15.3865 -54.905 -3460 1 32.8168 28.0031 1.05913 -96.0089 1.17159 66.622 -3461 2 32.6956 27.9847 2.00846 27.0307 3.09449 -76.0414 -3462 2 33.7662 27.9895 0.93806 59.9237 0.352852 9.64117 -3463 1 2.09899 25.0043 9.7293 -53.6534 13.8155 26.5068 -3464 2 1.36584 25.4283 9.28321 45.6659 -23.0643 8.43214 -3465 2 2.74207 24.8471 9.03794 13.3196 1.18355 -35.1154 -3466 1 3.70652 6.67891 30.8857 15.87 75.9393 15.1615 -3467 2 3.23501 7.46601 30.6129 17.4934 -7.99131 11.223 -3468 2 3.20651 5.9561 30.5065 -32.4693 -63.445 -27.4311 -3469 1 22.9178 23.3564 22.0081 -25.1602 81.2187 36.1659 -3470 2 23.8577 23.369 21.8271 -15.1274 16.504 8.87942 -3471 2 22.7393 24.2067 22.4099 39.5264 -94.2896 -47.7767 -3472 1 4.20162 8.41358 26.7982 48.7791 104.166 72.608 -3473 2 4.85221 7.71145 26.7996 -16.7383 -41.4118 -28.8962 -3474 2 3.4841 8.07485 26.2628 -28.6378 -71.1973 -47.1544 -3475 1 27.8326 24.3777 5.10329 -137.893 -72.3241 88.237 -3476 2 28.5466 24.7957 4.6219 91.754 77.5058 -79.2674 -3477 2 27.0858 24.9642 4.98216 50.4121 -8.65731 -6.38646 -3478 1 28.2544 34.7065 30.381 97.2627 45.8314 -116.984 -3479 2 28.8182 33.9394 30.4815 -27.7812 -23.1994 38.6363 -3480 2 28.6257 35.1814 29.6374 -78.0351 -20.6732 95.0681 -3481 1 30.1607 30.7278 15.6443 8.59899 -65.5002 -49.0853 -3482 2 29.4337 31.3109 15.8625 19.5435 41.053 22.8313 -3483 2 30.9387 31.1837 15.9653 -34.1392 27.1611 18.3096 -3484 1 14.2997 15.8865 9.70203 14.0989 9.98026 12.8524 -3485 2 14.1713 15.1909 9.05721 9.45358 -7.56628 -8.3217 -3486 2 15.2349 16.0858 9.65712 -15.1491 -8.81076 -4.31854 -3487 1 32.3072 26.7535 30.2794 -4.5433 -41.6012 5.85099 -3488 2 31.8458 27.5106 29.9186 42.1621 15.4809 23.2047 -3489 2 33.1226 27.1132 30.6284 -48.3043 29.8418 -21.5533 -3490 1 26.3835 26.6899 5.02896 -0.646478 75.6432 -63.7359 -3491 2 26.1032 27.0026 4.16877 0.104151 -42.3419 41.4498 -3492 2 26.9429 27.3888 5.36785 -3.27869 -32.0366 24.9016 -3493 1 20.864 29.0333 31.8884 26.8352 -53.5207 -33.162 -3494 2 21.5917 29.5833 32.1784 30.9919 25.2238 12.4152 -3495 2 20.0872 29.4419 32.2703 -48.6771 31.7017 22.7137 -3496 1 25.8114 29.4495 19.7816 13.8466 24.3072 -82.231 -3497 2 26.6672 29.3412 20.1964 53.3822 -25.961 100.31 -3498 2 26.0117 29.6945 18.8783 -64.6468 4.77229 -21.0812 -3499 1 9.81251 4.84888 23.3863 -96.2886 -40.2315 -51.7316 -3500 2 10.5835 5.30584 23.0502 25.5556 19.0493 -21.7735 -3501 2 9.24406 4.74414 22.6233 58.4793 15.0587 71.2459 -3502 1 27.0947 22.2721 13.0402 -6.79161 -59.1148 13.4854 -3503 2 27.0933 21.3415 13.2646 13.7968 86.6695 -55.4936 -3504 2 27.4864 22.308 12.1675 -16.0519 -36.2129 38.8825 -3505 1 29.7425 0.482189 28.6511 -61.0464 -56.8096 -84.3857 -3506 2 30.6713 0.250926 28.6414 -0.608574 55.5878 47.9626 -3507 2 29.6816 1.20466 29.2761 73.5748 -6.48145 8.66722 -3508 1 23.2947 4.02586 30.1986 -29.3203 1.89031 -119.633 -3509 2 23.9237 4.3356 29.5469 60.2069 21.4296 57.3546 -3510 2 22.5567 3.69958 29.6836 -31.7596 -22.7644 70.0354 -3511 1 10.1204 1.62223 31.7903 -61.1305 -4.46558 -29.5722 -3512 2 10.0959 2.5661 31.9476 35.4632 48.5161 20.8741 -3513 2 9.30023 1.43352 31.3343 18.841 -34.1159 5.79413 -3514 1 23.9845 35.1238 7.96016 -10.6284 53.2855 123.072 -3515 2 23.3733 35.3976 7.27625 -47.1229 16.9718 -51.208 -3516 2 24.5796 34.5161 7.52095 72.6521 -74.3364 -60.1194 -3517 1 18.958 12.2172 15.0986 38.367 46.2019 -29.0506 -3518 2 19.2466 11.8535 15.9357 28.8113 -20.7278 65.6048 -3519 2 18.1608 11.731 14.8878 -58.6663 -27.0262 -23.9617 -3520 1 20.6442 34.0582 11.9649 20.1198 13.5935 -25.2181 -3521 2 20.094 34.3902 11.2555 -13.5655 8.52734 1.78246 -3522 2 21.3382 33.57 11.522 2.25438 -4.07039 15.6592 -3523 1 1.02054 25.621 23.7941 37.5301 83.1538 132.617 -3524 2 1.38957 26.2576 24.4063 -31.1523 -55.2068 -104.824 -3525 2 0.562232 24.991 24.3502 -15.3302 -21.5782 -24.2806 -3526 1 10.9908 19.5452 23.2486 68.5748 -17.9341 -38.6244 -3527 2 10.64 20.4033 23.4872 -40.935 44.9961 21.1151 -3528 2 11.8288 19.7371 22.8275 -22.3723 -25.2391 20.0988 -3529 1 27.884 14.0953 8.7173 -18.8364 52.4126 -45.4144 -3530 2 28.0351 13.6732 9.56304 12.8353 -40.7635 21.3733 -3531 2 28.0597 13.4101 8.07235 7.77097 -18.0644 22.9239 -3532 1 24.8519 12.3704 16.4494 -57.1725 -118.05 -87.7455 -3533 2 24.8365 11.8185 17.2313 12.9151 38.5206 10.6428 -3534 2 25.2031 13.2074 16.7533 44.0679 79.9499 75.4369 -3535 1 3.37362 29.514 35.2477 -6.65795 29.8202 -24.4663 -3536 2 3.67396 30.3806 0.0747184 -0.42068 -50.0754 10.7076 -3537 2 3.66636 28.9269 0.497535 8.80803 36.0696 3.11396 -3538 1 0.35226 31.8838 22.2817 19.9559 44.3717 40.2784 -3539 2 0.728631 32.6231 22.7592 -23.764 -44.0518 -33.4235 -3540 2 0.147801 31.2394 22.9593 2.61951 -6.29362 2.55222 -3541 1 22.0935 22.9647 19.3038 -17.5433 -23.9669 -112.667 -3542 2 22.1588 23.8226 18.8845 3.76004 -23.0409 56.3376 -3543 2 22.252 23.1383 20.2317 20.8587 53.8537 61.7942 -3544 1 21.044 34.0795 16.8811 -11.8234 13.9577 41.5468 -3545 2 20.6443 33.2966 17.2599 4.53262 -42.2129 -20.5005 -3546 2 20.8337 34.7794 17.4994 16.8739 28.505 -21.0635 -3547 1 33.5506 31.2389 34.0734 -21.848 127.989 31.631 -3548 2 33.1175 31.966 34.5206 24.2052 -77.9044 -29.8647 -3549 2 34.1844 31.6583 33.4915 -18.5509 -40.3948 16.7176 -3550 1 18.0376 31.4119 20.7349 -70.5184 133.665 18.3336 -3551 2 18.5755 30.7593 21.1831 52.2329 -60.202 42.9481 -3552 2 17.8751 32.0844 21.3964 16.4363 -65.143 -61.9239 -3553 1 21.1192 11.5157 20.229 -0.695157 85.1391 -43.4765 -3554 2 21.2035 11.2726 21.151 6.08178 -0.594923 36.6384 -3555 2 21.2074 12.4688 20.2231 -7.74155 -85.9257 9.31637 -3556 1 2.50298 22.4551 28.2607 -35.7628 -42.888 -8.38434 -3557 2 2.72055 23.372 28.0933 14.6089 58.9774 -8.90274 -3558 2 3.24684 22.1194 28.761 25.2697 -13.3805 18.0552 -3559 1 1.89573 15.3497 4.09787 -73.7571 -30.0003 -12.3158 -3560 2 1.55642 16.13 4.53631 -11.7893 -48.7663 -27.0419 -3561 2 1.11485 14.8833 3.79961 85.8573 81.3405 43.3891 -3562 1 11.3172 29.9474 26.0701 13.6802 29.5476 17.3138 -3563 2 10.4038 30.1953 25.9267 -32.0254 -5.70543 -20.2709 -3564 2 11.5572 30.3791 26.89 14.3318 1.19991 0.31166 -3565 1 10.4617 0.481497 28.4692 -35.1413 -4.44637 -117.314 -3566 2 11.2541 0.772002 28.9209 65.4782 23.1716 61.7502 -3567 2 9.8718 0.207679 29.1716 -23.5462 -15.9573 59.7126 -3568 1 20.0134 21.115 19.3997 -26.6372 -12.9945 -21.0188 -3569 2 19.9559 20.4788 20.1125 -41.9022 -77.7552 36.5394 -3570 2 20.699 21.7234 19.6757 67.7466 96.7635 -20.3254 -3571 1 17.4984 14.902 31.4572 27.506 -3.30801 28.9215 -3572 2 17.4805 14.2255 30.7803 -15.1269 14.4773 -8.48787 -3573 2 16.8757 15.5623 31.1531 -3.14909 -15.2433 -12.5692 -3574 1 23.9317 26.1796 0.412398 170.195 -100.839 79.5365 -3575 2 23.8236 25.4801 1.05676 -76.9067 37.3757 -31.5576 -3576 2 24.8794 26.2676 0.310427 -88.1848 51.789 -45.9488 -3577 1 15.4819 12.3634 9.67033 -19.8663 5.11764 -18.7055 -3578 2 14.5857 12.4026 9.33616 1.98503 -12.8102 21.4596 -3579 2 16 12.8443 9.02488 22.7048 3.85741 5.98872 -3580 1 24.9486 4.70241 28.2375 -2.57864 -79.4793 -59.1556 -3581 2 25.4351 5.5253 28.2858 26.851 7.65263 -32.8143 -3582 2 25.2637 4.28395 27.4363 -16.938 74.1766 78.4681 -3583 1 7.23436 24.3184 5.42789 37.8735 -0.775645 -27.2929 -3584 2 7.44612 24.7131 6.27383 2.40615 -2.39704 -6.60842 -3585 2 8.0488 24.3713 4.92775 -54.0402 3.27436 36.7715 -3586 1 28.5832 14.1094 13.2002 -110.691 -136.314 -144.649 -3587 2 27.8159 14.4607 12.7484 32.9652 92.6729 57.8164 -3588 2 28.651 13.206 12.8911 79.4664 49.3465 86.9461 -3589 1 34.0325 15.8739 9.37626 -140.603 -10.1161 -63.328 -3590 2 34.5926 16.5368 9.78008 80.1926 -87.154 14.1906 -3591 2 34.546 15.0672 9.4193 61.9781 104.02 48.8618 -3592 1 31.8276 18.3692 3.71243 42.0448 -49.6994 101.317 -3593 2 32.3174 17.8315 4.33463 -53.1986 58.6671 -39.5589 -3594 2 32.1706 18.117 2.85514 8.17491 -3.77404 -54.4445 -3595 1 23.5968 11.4782 18.8515 -109.809 111.1 50.0643 -3596 2 23.0828 11.2528 19.627 52.8829 -15.2654 -54.0368 -3597 2 23.2543 12.3284 18.5755 61.5152 -99.5577 1.33405 -3598 1 15.3421 31.4032 27.9998 -183.55 60.7817 173.055 -3599 2 16.102 31.8955 27.6893 84.335 -33.9473 -85.0037 -3600 2 15.3804 30.5752 27.5209 90.2591 -19.864 -83.0916 -3601 1 13.7728 0.546334 8.10166 -6.18769 36.6368 11.829 -3602 2 13.846 35.2661 8.64223 22.8887 -100.977 5.98018 -3603 2 13.4362 1.21616 8.69689 -14.3689 59.6653 -22.0468 -3604 1 29.742 21.7386 15.8096 -116.344 -22.759 34.8034 -3605 2 28.9315 22.1581 16.0983 44.9247 61.5364 -14.7166 -3606 2 29.5531 20.8009 15.8462 72.3367 -31.0434 -21.7142 -3607 1 9.34314 5.53326 13.3807 39.7143 33.4527 -11.565 -3608 2 8.95036 5.79809 12.5489 -42.741 -18.0317 -20.0179 -3609 2 10.1637 6.02411 13.4257 7.39092 -15.8392 32.8869 -3610 1 33.6876 33.2668 18.3422 22.4446 -25.5797 -35.5458 -3611 2 34.1527 32.5711 18.8069 -26.2016 41.0503 2.93598 -3612 2 33.1844 33.7148 19.0222 -4.20149 -7.92709 30.0046 -3613 1 8.49135 30.2457 2.44109 23.9157 7.17537 -19.8003 -3614 2 8.19958 31.0768 2.06644 -2.25202 1.622 -4.15097 -3615 2 7.89603 30.0909 3.17448 -23.9722 -3.50079 27.8968 -3616 1 25.3191 5.99196 34.5142 8.83459 -55.4612 -32.2293 -3617 2 25.2955 5.20312 33.9725 -13.8482 25.8594 -30.1698 -3618 2 25.6102 5.68486 35.3728 12.1103 21.5915 61.5313 -3619 1 26.7363 34.729 14.2933 -24.482 -4.66775 -20.9684 -3620 2 26.7669 35.3792 14.9952 26.0996 24.8258 42.7509 -3621 2 25.9046 34.8943 13.8492 -1.08397 -19.2769 -22.1655 -3622 1 21.8359 2.05719 14.5302 -136.849 -25.6928 82.2069 -3623 2 21.3287 1.27515 14.748 76.2742 -72.3947 -47.8433 -3624 2 21.3162 2.78375 14.8743 59.737 101.526 -24.0072 -3625 1 35.0179 0.236717 21.0037 -9.61163 22.1292 76.2748 -3626 2 35.1757 0.0302649 20.0825 26.4302 -20.4656 -51.3901 -3627 2 0.24548 35.3413 21.4688 -10.2702 -0.22372 -18.2343 -3628 1 22.3584 9.63112 16.2628 65.9758 -66.6564 30.5877 -3629 2 23.2076 9.19027 16.2357 -15.0421 -40.6174 44.2396 -3630 2 22.4357 10.3404 15.6247 -45.8975 118.836 -79.4017 -3631 1 11.2018 33.5967 17.8171 -5.099 113.175 2.58168 -3632 2 10.7267 33.2243 17.0742 -14.5078 -40.2049 -20.1264 -3633 2 11.6224 32.8448 18.2342 21.7676 -69.2239 7.85863 -3634 1 31.8268 18.5181 34.5626 -18.7801 28.4882 24.4267 -3635 2 31.2933 19.1513 35.043 24.1808 -32.1657 -39.964 -3636 2 31.5202 18.5832 33.6581 -9.15953 8.84109 3.51105 -3637 1 30.8823 31.9632 12.906 -4.98046 65.4917 -37.3837 -3638 2 31.3576 31.3219 12.3776 -5.51623 -12.2794 19.4275 -3639 2 30.645 31.489 13.7029 0.552455 -47.0477 27.9218 -3640 1 13.9814 21.3914 19.922 -11.2257 32.4667 74.1258 -3641 2 13.9691 20.4501 19.7488 3.51439 -42.4832 -20.9941 -3642 2 14.3175 21.7797 19.1141 15.4374 10.5992 -55.0963 -3643 1 4.16074 28.1777 1.92626 -91.3549 -59.4207 65.0367 -3644 2 4.95285 27.7239 2.21405 14.1258 -7.86638 -2.62881 -3645 2 3.45307 27.7602 2.41731 88.6726 56.9226 -61.1326 -3646 1 2.61292 16.008 16.0487 105.888 2.78042 -11.4889 -3647 2 1.76196 15.5699 16.0641 -25.6889 94.5201 12.2982 -3648 2 2.40685 16.9366 16.1559 -76.8729 -84.8802 -1.38338 -3649 1 13.5967 19.9543 22.5359 124.713 101.686 148.592 -3650 2 14.2007 20.5831 22.1408 -41.39 -30.3474 -78.3384 -3651 2 13.76 20.0232 23.4765 -80.4878 -70.5046 -80.6887 -3652 1 7.19074 10.7165 12.0509 69.853 -11.7546 27.2393 -3653 2 6.44501 10.1821 11.7778 -25.4296 60.9173 12.6181 -3654 2 6.81031 11.5688 12.2632 -46.381 -39.9432 -21.5414 -3655 1 15.0751 14.7213 6.25146 41.8724 11.9251 -92.4929 -3656 2 14.1717 14.5529 6.51932 -70.7452 -9.24225 48.7997 -3657 2 15.037 14.7705 5.29628 31.8718 0.628492 36.8551 -3658 1 17.767 16.0818 24.8764 65.0609 6.12587 -85.9001 -3659 2 17.6335 15.6615 24.0268 -52.6699 -14.2077 36.6454 -3660 2 18.6257 16.4987 24.8056 -29.5285 4.96417 59.1713 -3661 1 17.6587 7.92315 7.74956 122.522 -24.7524 19.6573 -3662 2 18.5393 8.2564 7.9223 -67.315 -39.8303 -13.6759 -3663 2 17.1148 8.70762 7.67908 -53.9639 62.4966 -9.58155 -3664 1 3.0519 13.206 2.89884 42.117 180.004 -29.5126 -3665 2 3.54416 13.7163 2.25579 -5.76554 -106.242 -4.69676 -3666 2 2.67043 13.8607 3.48366 -28.5456 -78.2571 30.8168 -3667 1 5.2597 2.13569 16.4052 14.6148 -24.5364 35.7916 -3668 2 6.05252 1.8221 15.9701 -39.0215 30.8268 -11.9325 -3669 2 4.85794 2.73085 15.7723 36.2715 -24.5444 -7.37103 -3670 1 12.6134 32.5254 4.71836 -77.0261 -107.537 -73.751 -3671 2 11.9146 33.1777 4.76638 7.48894 10.4031 4.30928 -3672 2 12.2375 31.8081 4.20803 63.842 99.7629 77.1855 -3673 1 33.0591 19.819 12.7153 -10.5355 34.8811 -32.9597 -3674 2 32.9006 19.3073 13.5086 35.274 -33.3787 -25.8266 -3675 2 33.6734 19.2895 12.2069 -35.7488 -4.36963 63.8621 -3676 1 8.67433 22.945 34.6166 1.11384 2.39081 0.553861 -3677 2 8.08877 22.2163 34.8226 8.39419 10.2847 -7.59116 -3678 2 8.32013 23.3165 33.8086 -5.42022 -5.35904 5.77631 -3679 1 0.870004 12.0996 11.6814 -3.76935 -56.2811 -41.6354 -3680 2 0.727373 12.5483 12.5148 -6.93992 -7.25146 25.5319 -3681 2 0.577346 11.202 11.8389 15.2299 76.7283 11.0605 -3682 1 27.2946 18.0251 25.8768 -53.8373 92.1518 -136.781 -3683 2 26.383 18.116 25.5993 28.013 -40.7342 68.7489 -3684 2 27.7932 18.5255 25.2308 27.0974 -53.3359 74.9799 -3685 1 20.9684 4.9403 22.3218 60.7873 84.9249 170.058 -3686 2 21.4172 4.88033 23.1652 -34.5288 -49.8334 -98.5988 -3687 2 20.6807 5.85161 22.2674 -18.9541 -31.1188 -49.9598 -3688 1 22.2718 31.3297 24.7708 -80.0185 -53.121 -69.8147 -3689 2 22.2477 30.6898 24.0593 36.4882 73.5448 84.0062 -3690 2 23.202 31.4273 24.9744 51.4504 -17.2534 -13.6299 -3691 1 22.6617 15.1536 23.5469 -18.8991 -10.9707 -25.4067 -3692 2 23.0869 15.5816 22.8037 -4.19446 17.1751 -99.3992 -3693 2 23.2114 15.3756 24.2984 20.8263 -5.53181 117.107 -3694 1 11.1975 9.41597 24.1559 -25.3928 -64.3436 -63.0139 -3695 2 10.868 9.89822 23.3975 3.02115 -1.46911 5.99015 -3696 2 11.5307 10.0931 24.7447 25.52 69.5593 52.5239 -3697 1 11.9981 23.2883 34.3373 35.2719 2.83079 25.1033 -3698 2 12.5336 23.6025 35.0658 -30.6011 22.854 37.6283 -3699 2 12.6285 22.9254 33.715 -9.62688 -26.9002 -52.4375 -3700 1 23.2236 18.5991 28.074 -77.9135 84.2362 -24.6075 -3701 2 23.5211 19.5072 28.1286 12.4408 -82.2918 6.03597 -3702 2 23.9891 18.0804 28.3213 65.5163 -3.23327 17.4056 -3703 1 30.9252 3.09481 32.5192 205.089 81.8476 52.6774 -3704 2 31.7867 3.46344 32.7148 -105.355 -111.647 -46.8149 -3705 2 30.3097 3.79539 32.7351 -102.757 19.0956 -3.30129 -3706 1 1.33849 18.3589 13.3863 20.1387 54.0284 3.71633 -3707 2 1.21373 18.273 14.3315 -15.2268 -48.2671 -57.0255 -3708 2 1.0008 17.5397 13.0242 -13.5703 -16.3848 57.58 -3709 1 9.40473 27.6845 1.86011 45.9651 29.7375 -23.0635 -3710 2 9.16585 28.582 2.09199 -15.9779 -48.9078 -2.63319 -3711 2 8.66685 27.1543 2.16124 -35.101 12.9469 17.9902 -3712 1 22.5953 25.1543 24.1614 -50.2095 48.6282 102.182 -3713 2 22.1396 24.6687 24.849 13.3479 -23.9966 -52.3854 -3714 2 22.6986 26.0363 24.5186 18.1816 -10.9155 -54.4902 -3715 1 34.943 12.2429 24.2306 -62.0963 -28.608 -114.43 -3716 2 34.9706 11.4908 24.8219 13.4099 -22.892 49.9694 -3717 2 34.521 11.9101 23.4385 44.7781 56.4983 60.8973 -3718 1 13.6602 32.5523 14.5575 -18.1295 -51.4806 17.7018 -3719 2 13.5574 31.7091 14.9986 47.1179 115.369 -20.5459 -3720 2 14.2752 33.0375 15.1075 -24.2999 -62.9766 8.7767 -3721 1 25.8474 7.64634 30.194 36.3371 -5.68322 -33.2046 -3722 2 26.4363 7.46941 29.4605 -43.1885 11.5927 42.7948 -3723 2 25.0515 7.98745 29.786 5.9268 -5.4747 4.08938 -3724 1 31.3497 3.95976 8.27225 -37.7113 15.7662 -135.086 -3725 2 31.6898 4.44698 7.5218 -0.807487 -30.075 83.3033 -3726 2 30.6246 3.44617 7.91631 38.4536 15.4527 52.359 -3727 1 32.0835 7.74348 18.9834 -118.321 -96.9953 -47.7577 -3728 2 31.5295 6.96362 18.9485 -9.87082 60.5249 -57.0648 -3729 2 32.6456 7.60469 19.7456 111.654 39.5691 97.8797 -3730 1 33.8625 32.0398 14.8287 8.88825 44.9115 -6.97317 -3731 2 34.1613 32.9378 14.6851 38.1086 9.40182 -42.4816 -3732 2 33.2684 32.1013 15.5767 -43.067 -54.1821 42.7837 -3733 1 15.8053 9.53925 29.227 -63.3074 -31.1981 -12.5856 -3734 2 16.235 9.50709 28.3723 71.1484 21.3998 -31.0882 -3735 2 14.9378 9.16499 29.0738 -9.06846 9.80772 51.6698 -3736 1 14.7566 31.7855 33.951 -3.85881 -9.77149 5.84353 -3737 2 14.8638 31.6022 33.0176 -17.6981 -30.2622 59.4115 -3738 2 14.505 30.9449 34.3334 20.237 40.8399 -65.2085 -3739 1 19.5465 27.8829 17.0407 37.0051 -44.8122 -76.6473 -3740 2 19.9165 28.2367 17.8495 5.36694 42.7819 88.6308 -3741 2 20.305 27.577 16.5434 -40.4277 -0.822133 -8.45086 -3742 1 29.4132 2.42115 30.2725 60.8001 114.214 147.635 -3743 2 29.5757 3.35129 30.1155 -35.0686 -26.316 -77.7359 -3744 2 29.7196 2.27169 31.167 -37.2695 -74.6259 -55.0817 -3745 1 25.2139 16.4592 28.3341 103.521 -47.9511 69.4163 -3746 2 26.1699 16.4528 28.2871 -102.233 10.423 -12.3309 -3747 2 25.0079 15.9288 29.1038 -2.77519 46.7478 -61.8722 -3748 1 4.35692 14.2082 17.0329 -7.63685 -48.921 41.3301 -3749 2 5.22516 14.2766 16.6358 -24.0649 29.9545 -22.1658 -3750 2 3.82591 14.8497 16.561 37.4402 10.1153 -18.4927 -3751 1 29.136 0.849216 24.7718 -25.2743 -38.0925 -51.2255 -3752 2 29.7495 1.31244 25.3422 36.8781 68.075 79.8822 -3753 2 29.6922 0.316795 24.2032 -11.1608 -28.7889 -35.6432 -3754 1 27.6198 10.2269 23.3023 35.3891 -107.296 -8.73321 -3755 2 28.375 9.94904 22.7839 -39.7159 23.6922 19.9601 -3756 2 27.6063 11.1801 23.2148 10.3849 81.8835 -14.7071 -3757 1 13.1034 23.7862 22.5198 102.675 -36.4531 -19.979 -3758 2 13.3645 23.5156 23.4001 -36.2422 7.08165 36.729 -3759 2 13.8528 23.5627 21.9678 -61.6767 29.9161 -5.41039 -3760 1 33.1916 2.34747 4.32665 18.6917 -91.9564 -5.20366 -3761 2 33.6838 3.00989 3.84168 10.5325 56.2988 -20.1389 -3762 2 33.5518 1.51306 4.0262 -34.8695 35.0605 31.1053 -3763 1 25.9473 28.2992 2.89749 11.9918 54.2463 -78.1888 -3764 2 25.1283 28.7066 2.61539 -14.4676 -26.502 42.8749 -3765 2 26.607 28.6452 2.29629 25.4852 -42.7043 41.5031 -3766 1 9.90683 2.78059 7.29585 40.727 55.865 -47.6439 -3767 2 9.33986 2.14368 7.73076 -10.3866 -46.2604 33.3027 -3768 2 10.7937 2.52476 7.54919 -42.208 -8.82879 8.48066 -3769 1 16.3085 34.8621 16.1224 -94.1852 -45.4498 72.3766 -3770 2 16.5694 35.2711 15.2972 22.6449 45.9135 -81.753 -3771 2 15.3523 34.8384 16.0867 73.4532 5.41117 2.6017 -3772 1 7.6175 9.73713 26.7829 -52.9316 -149.954 136.326 -3773 2 7.5002 10.6846 26.8516 31.7631 72.1364 -82.6104 -3774 2 7.99062 9.60404 25.9115 25.6652 73.9941 -79.3087 -3775 1 3.53486 14.1967 8.20157 -2.21972 49.6361 11.8082 -3776 2 3.27793 14.4501 9.08814 -0.933519 41.5238 33.4662 -3777 2 3.40949 13.248 8.17725 3.14009 -94.5475 -33.5619 -3778 1 17.3671 21.518 20.3435 -177.556 73.0687 55.0646 -3779 2 18.1489 21.6971 19.821 78.9273 38.658 -60.9633 -3780 2 16.8156 22.2911 20.2231 99.6339 -108.418 6.47984 -3781 1 24.8604 10.5339 5.64122 25.528 64.9002 -85.7486 -3782 2 24.5944 9.99761 6.38814 -59.4041 -28.7414 26.1508 -3783 2 24.0545 10.6671 5.14219 31.5663 -35.5399 61.6783 -3784 1 17.5413 19.8838 23.1648 121.413 -193.777 -91.2804 -3785 2 18.25 20.3298 23.6286 -91.1236 62.0394 18.8114 -3786 2 16.7691 20.425 23.3291 -28.8566 131.743 76.3545 -3787 1 9.13803 2.62533 27.3096 -19.337 74.3707 0.178883 -3788 2 9.74534 1.98181 27.6747 74.5527 -52.9825 54.9755 -3789 2 8.60582 2.12782 26.6887 -56.6932 -20.2386 -55.8039 -3790 1 14.2663 24.1469 0.962263 5.18682 98.0449 22.1723 -3791 2 13.7723 24.4114 1.73836 -29.5231 -49.3764 15.9435 -3792 2 14.7686 24.9251 0.720771 11.1868 -40.6144 -41.1654 -3793 1 34.128 0.604428 34.3605 57.209 30.8234 155.974 -3794 2 33.9675 1.41632 34.8414 4.30279 -69.1537 -64.2192 -3795 2 33.6763 0.726776 33.5254 -56.6618 27.9211 -85.9534 -3796 1 12.286 18.1905 0.678623 -53.9478 16.9283 -11.9112 -3797 2 12.8592 18.6585 0.0715165 5.02307 2.82091 -2.18507 -3798 2 11.4919 18.7235 0.718171 22.7098 -18.2088 -1.13205 -3799 1 12.1621 6.42616 30.3419 55.7932 -115.517 96.1664 -3800 2 12.5994 5.70683 30.7975 -64.9691 74.7512 -8.51393 -3801 2 12.6065 6.47979 29.4958 8.88454 36.7959 -83.4163 -3802 1 22.543 21.3288 17.1582 57.3393 -94.5688 -97.8253 -3803 2 22.2584 21.4942 16.2593 -0.272427 20.1763 67.7799 -3804 2 22.1496 22.0366 17.6686 -53.5414 80.9932 22.4362 -3805 1 16.47 17.2479 22.2277 -59.9998 -11.1194 -31.9926 -3806 2 16.6497 17.999 22.7932 -1.35671 26.3877 17.6291 -3807 2 15.5155 17.1765 22.2195 55.191 11.0222 8.98424 -3808 1 15.8971 2.6331 27.1142 11.2406 37.9804 5.0284 -3809 2 15.9573 1.74705 26.7571 5.72403 59.8246 -45.6159 -3810 2 16.0112 3.20582 26.3558 -13.2085 -114.573 46.336 -3811 1 17.5641 29.2049 10.5347 -77.1799 -32.3785 -39.2824 -3812 2 16.9547 29.7515 11.0309 44.1972 0.139983 1.9337 -3813 2 18.4279 29.4406 10.873 34.6611 31.7834 39.3004 -3814 1 14.1342 0.57901 23.4048 42.6714 -54.8038 -86.8328 -3815 2 15.0781 0.738211 23.4044 -22.417 2.4917 11.6896 -3816 2 13.8024 1.10489 24.1325 -20.4431 58.9146 79.0554 -3817 1 14.9427 16.7399 14.4969 -16.8506 -74.2055 -85.5732 -3818 2 14.562 17.5426 14.8532 -28.8969 84.4981 45.7137 -3819 2 15.7272 16.5914 15.0247 51.9281 -1.74408 46.0391 -3820 1 18.6053 10.1016 33.8522 -56.5687 4.0164 18.6858 -3821 2 18.0884 9.29617 33.8725 10.3756 18.8329 1.47471 -3822 2 19.4211 9.85231 33.4179 20.0518 -8.83435 -9.91195 -3823 1 21.9193 17.7798 6.9681 10.1336 127.905 -49.9752 -3824 2 22.7197 18.2669 7.16356 52.8718 -67.9787 56.8213 -3825 2 21.4024 18.3753 6.42548 -82.7154 -63.4348 -9.82444 -3826 1 9.21812 31.2544 9.94992 71.8501 -53.1816 -58.0694 -3827 2 9.95344 30.7007 10.2126 -57.0022 48.0258 -8.86601 -3828 2 9.26437 31.2773 8.9941 -12.8923 6.39395 66.3921 -3829 1 13.4106 7.95481 25.2803 120.373 90.504 -116.279 -3830 2 12.6872 8.48697 24.9489 -61.7816 -9.62097 19.1689 -3831 2 14.1711 8.24211 24.775 -58.3802 -73.5624 85.7139 -3832 1 12.0756 15.04 21.0432 6.77022 25.6313 58.5733 -3833 2 11.9728 14.227 21.538 -9.98404 -30.353 -13.0223 -3834 2 12.3022 15.6954 21.703 -0.572982 1.23392 -42.1214 -3835 1 9.88585 18.4112 5.93334 -20.7946 -118.114 1.16194 -3836 2 9.70018 19.3071 6.21482 -18.8974 63.6123 36.5545 -3837 2 9.39199 17.8613 6.54158 29.922 51.7912 -35.0079 -3838 1 17.694 1.78604 18.6471 -23.1157 -38.503 -2.04107 -3839 2 17.1299 1.01598 18.7183 28.28 118.607 23.967 -3840 2 17.2285 2.46985 19.1288 -10.4947 -75.5136 -19.9588 -3841 1 31.7859 31.5583 20.7045 44.0355 88.0378 159.334 -3842 2 30.9836 31.4696 20.19 40.7097 -61.3332 -84.2489 -3843 2 32.4449 31.0741 20.2069 -78.6276 -23.7977 -70.36 -3844 1 3.88749 14.0721 13.1675 -31.2694 10.0601 -19.9332 -3845 2 4.82385 13.8812 13.1123 17.1179 -11.0264 21.5198 -3846 2 3.64642 13.834 14.0628 20.3602 -7.5611 7.14616 -3847 1 17.402 4.32978 2.49944 -29.3485 23.7234 26.7661 -3848 2 16.6947 4.9715 2.43447 16.8402 -19.4402 -15.7945 -3849 2 17.6155 4.30153 3.43211 6.01644 -6.27806 -8.76153 -3850 1 32.9546 16.0441 16.0362 13.9808 -41.1799 -104.526 -3851 2 32.2114 15.5645 16.4024 10.4079 3.14484 -17.257 -3852 2 33.0332 15.717 15.1401 -22.3131 39.8006 124.846 -3853 1 26.8132 18.7522 3.07369 77.8004 76.1902 59.0526 -3854 2 26.8273 18.0153 2.46291 3.94673 -56.6928 -45.1098 -3855 2 27.7351 18.9763 3.20073 -81.2472 -19.7751 -12.6025 -3856 1 31.2997 29.3842 30.4902 -103.512 -14.7955 5.44397 -3857 2 30.4211 29.6993 30.2783 132.626 -14.158 11.4731 -3858 2 31.8849 30.0684 30.1652 -19.348 36.4718 -15.5492 -3859 1 7.70361 13.5829 24.4311 -144.431 -39.7748 81.8736 -3860 2 8.13101 13.595 23.5747 84.8615 8.92574 -88.9901 -3861 2 8.38594 13.8574 25.0438 68.187 19.073 7.1178 -3862 1 6.4007 28.6097 19.7383 68.5202 -85.112 -70.5468 -3863 2 6.92332 28.7846 18.9557 -49.8417 -7.90281 70.9479 -3864 2 6.53243 27.6776 19.9116 -19.0901 90.3994 -6.75589 -3865 1 3.04408 10.5078 22.1946 -10.2125 -10.9841 -34.5484 -3866 2 2.92599 9.94853 21.4268 7.70682 38.7755 43.2747 -3867 2 2.80744 11.3844 21.8917 4.05782 -36.1895 6.66626 -3868 1 14.3758 26.9336 28.5997 -35.6717 -123.461 91.9062 -3869 2 13.7979 27.4278 28.0182 -58.5589 63.3166 -75.5207 -3870 2 15.2199 27.3805 28.5356 102.467 69.7095 -13.7668 -3871 1 34.1224 21.8531 14.1489 -76.6694 37.3201 33.9626 -3872 2 33.6746 21.0959 13.7716 11.3792 -7.49305 -14.7754 -3873 2 35.0399 21.7369 13.9021 70.0708 -23.1808 -28.4367 -3874 1 32.6449 5.25699 5.99983 9.46429 89.6575 68.1829 -3875 2 33.123 4.93289 5.23655 25.9111 -5.47944 -31.8037 -3876 2 33.0886 6.07263 6.23243 -35.8405 -86.8319 -34.1512 -3877 1 23.6491 3.217 21.3646 -23.4859 -5.01895 -26.1614 -3878 2 22.758 3.50121 21.1608 47.1961 -24.8556 -4.42956 -3879 2 23.9289 2.73024 20.5893 -27.1692 27.5407 29.9763 -3880 1 32.6423 16.1168 31.9718 -48.3175 -105.592 -1.03155 -3881 2 31.8696 16.4365 32.4377 51.954 34.4611 -20.4869 -3882 2 33.2067 16.8853 31.8876 -2.1729 78.687 21.7928 -3883 1 6.29203 17.3633 3.95531 -6.75445 68.7148 -15.2076 -3884 2 6.75038 17.3996 4.79486 -3.20797 -40.3455 -3.38379 -3885 2 6.15162 16.4294 3.79875 12.5484 -30.1008 26.6482 -3886 1 31.9247 23.3077 22.0031 -38.1409 -20.8326 11.6228 -3887 2 31.3098 23.8442 21.5028 -9.39582 3.23473 -1.07966 -3888 2 32.7734 23.7307 21.8728 49.4852 23.854 -6.86032 -3889 1 27.3319 28.0706 32.9209 27.7225 12.2407 -23.6096 -3890 2 27.1225 27.4233 33.5942 37.9859 3.87945 -12.8349 -3891 2 28.2588 27.9269 32.7298 -66.5582 -13.9817 37.8349 -3892 1 2.64591 33.5295 18.9202 -11.3191 69.7841 -26.6106 -3893 2 1.74708 33.8238 18.7728 12.5353 -26.5552 6.90608 -3894 2 3.17265 34.3263 18.8576 2.21666 -43.1513 9.12223 -3895 1 20.257 25.4032 31.939 -100.56 -73.1093 112.747 -3896 2 19.9736 25.8395 32.7424 17.9644 -19.6455 -49.594 -3897 2 20.8409 26.0334 31.5168 79.4306 94.4404 -59.2991 -3898 1 3.04255 13.8246 29.6388 58.7738 5.22196 40.762 -3899 2 2.21889 13.7031 29.1665 -34.3364 -15.2998 13.5278 -3900 2 2.87518 13.4646 30.5098 -23.8581 12.9843 -54.4598 -3901 1 27.7397 30.9994 32.5858 9.84868 14.9659 6.32656 -3902 2 28.2885 31.2801 33.3181 -59.3734 -88.6667 -50.2212 -3903 2 27.5819 30.0692 32.7469 52.3802 78.8762 42.1382 -3904 1 31.5461 3.17401 11.4804 -21.8556 -25.3674 18.8081 -3905 2 31.0042 2.59604 12.0175 11.8984 3.88446 41.5306 -3906 2 31.2258 3.0424 10.588 8.79655 22.1184 -63.6348 -3907 1 12.7837 29.3646 35.2496 12.2982 97.0361 -64.5975 -3908 2 12.5107 28.4472 35.2395 -14.6625 -71.5958 25.4733 -3909 2 13.0867 29.515 0.697791 6.13919 -22.1466 35.5473 -3910 1 23.7774 14.977 35.0802 -3.69278 7.14628 34.439 -3911 2 23.6695 15.0199 0.583175 12.1643 -33.4032 -64.9615 -3912 2 23.9742 14.0573 34.9023 -3.7322 29.6997 35.2332 -3913 1 9.02799 31.4435 7.08018 110.618 70.3656 -2.61447 -3914 2 8.9271 32.3241 6.71877 -9.11581 -37.2557 13.2004 -3915 2 8.15653 31.0539 7.0097 -94.6111 -31.6948 -7.75256 -3916 1 31.3646 11.5948 10.4205 100.931 -27.1663 29.6046 -3917 2 31.6766 12.1795 11.1112 -40.7494 12.8878 -6.78762 -3918 2 32.0867 10.9823 10.2803 -63.5942 23.4953 -17.2483 -3919 1 29.5022 27.3281 3.75926 -23.5431 0.497001 -72.4655 -3920 2 29.5153 26.5471 3.206 36.6853 -78.5678 38.5122 -3921 2 29.0949 28.0015 3.21427 -12.1953 84.0421 36.4354 -3922 1 33.8191 14.8849 25.7613 -142.294 6.89503 29.2421 -3923 2 34.7013 14.9296 25.3925 105.629 -26.526 9.32968 -3924 2 33.9283 14.4165 26.5888 45.994 15.1423 -36.7235 -3925 1 7.98755 21.5067 20.4128 -30.7776 10.4914 -61.0325 -3926 2 8.56995 21.558 19.6549 -7.41699 14.1094 -40.3774 -3927 2 8.56934 21.3239 21.1506 39.8293 -19.8323 108.488 -3928 1 32.4672 14.8373 6.59315 -39.5699 33.6315 -12.808 -3929 2 32.6894 14.2103 7.28145 11.4237 -22.3999 23.2457 -3930 2 31.6136 15.1851 6.85167 27.9693 -6.26206 -9.97527 -3931 1 19.2731 16.6271 16.9098 42.1095 5.21202 5.10933 -3932 2 18.4149 16.5308 16.4968 -34.1927 -2.70334 1.02101 -3933 2 19.0777 16.8359 17.8233 -9.14151 -1.63393 3.40478 -3934 1 10.7538 25.3086 14.9022 -126.11 72.3384 112.454 -3935 2 10.04 24.8151 15.306 63.4093 -11.9509 -46.5339 -3936 2 10.6541 26.1974 15.2433 50.8136 -63.029 -59.8558 -3937 1 10.5921 3.58132 20.0272 108.132 -27.6287 71.1391 -3938 2 10.1601 3.59103 20.8814 -26.7917 7.89907 -11.1127 -3939 2 11.515 3.42438 20.2268 -74.4636 17.6518 -44.1852 -3940 1 23.1561 28.533 20.1793 60.615 76.0359 65.9746 -3941 2 23.9599 29.0513 20.1411 -70.2008 -62.3663 -26.1144 -3942 2 23.0599 28.1739 19.2972 21.3169 5.89706 -36.7198 -3943 1 6.61244 15.8817 29.1737 128.084 -15.1744 66.3596 -3944 2 5.97242 16.4603 28.7592 -86.1858 -13.1564 -41.5393 -3945 2 6.21546 15.0119 29.1268 -48.8016 35.7291 -29.6068 -3946 1 33.8405 10.8765 5.32362 24.6039 -21.6428 -15.9068 -3947 2 34.0721 11.7765 5.09401 -15.0361 19.7806 10.7728 -3948 2 34.3804 10.3354 4.7475 -15.2629 -3.44202 15.9901 -3949 1 5.10896 7.9872 15.7577 32.2099 78.0231 2.2553 -3950 2 5.79008 8.63784 15.9279 -56.0004 -45.0323 -15.2791 -3951 2 4.57569 8.37405 15.0632 14.1517 -4.41468 19.9202 -3952 1 21.7314 9.9854 28.6562 65.6476 35.2022 97.5872 -3953 2 22.1296 9.13272 28.4811 -3.48187 -33.0468 -23.8249 -3954 2 22.2305 10.3365 29.3937 -50.7824 -2.95266 -56.0653 -3955 1 15.1199 17.5475 6.96592 130.633 -15.7396 11.5417 -3956 2 15.1985 16.6949 6.53791 -80.4635 65.315 27.9025 -3957 2 14.184 17.746 6.93554 -54.7979 -53.584 -38.8831 -3958 1 9.36219 21.7283 23.4735 3.69911 -32.0659 3.15996 -3959 2 9.44071 22.4646 22.8669 -5.3106 21.5683 -6.38658 -3960 2 9.26265 22.1358 24.3339 -0.186565 10.7362 8.33334 -3961 1 9.43559 15.0019 14.9412 -150.072 29.5889 25.5001 -3962 2 10.2393 14.564 15.2215 79.7059 5.40836 -50.4428 -3963 2 9.68522 15.4776 14.149 70.7115 -36.9437 26.3654 -3964 1 8.59124 10.7686 9.86787 -136.463 28.64 -79.2346 -3965 2 7.83086 10.931 9.30959 107.428 -16.7834 -4.92613 -3966 2 8.23592 10.7447 10.7564 36.9967 -13.1632 62.596 -3967 1 11.6169 13.0834 14.8942 14.1006 10.3119 100.78 -3968 2 11.7088 13.0622 13.9417 32.0913 11.6462 -49.5976 -3969 2 12.451 13.4329 15.2081 -49.4521 -21.4647 -51.1199 -3970 1 16.1169 13.0849 16.6526 9.2025 -118.553 -31.6532 -3971 2 16.2719 12.5665 15.8629 -3.85869 60.7569 35.2333 -3972 2 15.9434 12.4365 17.3351 -0.882779 56.5315 -6.67566 -3973 1 15.866 31.9621 1.66404 29.6265 -57.8362 123.611 -3974 2 15.0447 31.485 1.54502 -3.78469 19.2449 -32.805 -3975 2 15.9266 32.5308 0.896478 -27.8613 42.2014 -91.4736 -3976 1 24.9205 12.5492 34.1182 -0.768731 39.2345 -40.3125 -3977 2 25.5161 11.8217 34.2974 -3.56131 30.9527 -44.9034 -3978 2 25.1997 12.8836 33.2659 -0.952291 -68.2749 91.2498 -3979 1 11.5306 35.4797 2.50652 11.3594 -86.7641 77.4664 -3980 2 11.2758 0.841541 2.81893 -10.0827 51.0069 -15.6281 -3981 2 11.6868 0.0917655 1.56959 3.58949 45.0992 -65.4944 -3982 1 30.3765 11.0645 19.9845 -19.9557 48.7036 -97.4672 -3983 2 31.0238 11.004 19.2819 29.113 -26.4623 37.1752 -3984 2 29.6551 11.5652 19.6037 -0.138011 -20.5029 56.9178 -3985 1 5.33901 10.3562 23.8263 -160.708 51.5163 -68.117 -3986 2 4.52304 10.463 23.3373 119.173 -58.7901 41.533 -3987 2 5.38642 11.131 24.3863 42.8351 2.05132 28.862 -3988 1 17.2104 5.6409 9.21134 -40.7922 -110.795 2.46205 -3989 2 17.4479 5.74172 10.1331 13.07 48.8488 -27.3336 -3990 2 17.4366 6.48089 8.81196 26.0325 56.818 28.7572 -3991 1 8.48374 30.6404 22.5653 3.52697 19.7682 4.5482 -3992 2 9.04208 30.0276 22.0868 19.9346 -37.5412 -4.63915 -3993 2 8.40382 31.3965 21.9839 -12.7462 21.6308 -0.115894 -3994 1 1.13232 13.3894 14.1228 20.767 -54.7832 -62.6344 -3995 2 1.02916 13.9976 14.8547 -15.6633 34.5091 41.3055 -3996 2 1.55605 12.6217 14.5066 0.972021 0.0249524 -4.46702 -3997 1 3.61281 27.7853 20.2183 67.9648 -82.7745 -64.5073 -3998 2 3.58429 26.8869 19.8892 -24.9679 75.0864 43.157 -3999 2 4.46736 28.1155 19.941 -30.3744 14.7052 21.5721 -4000 1 34.8799 19.1634 19.1612 -2.34923 54.4692 -41.8603 -4001 2 34.7249 18.2474 18.9307 -6.01899 -40.4295 -9.80293 -4002 2 34.7324 19.6442 18.3468 8.94431 -22.6536 37.6407 -4003 1 33.1712 25.437 7.0972 -152.771 -43.8268 -64.9432 -4004 2 32.7369 26.2101 6.73655 62.1747 96.8067 3.23272 -4005 2 32.5368 24.7296 6.98161 86.0824 -46.2917 46.4623 -4006 1 10.0393 8.39228 8.37502 -6.08522 4.40716 13.4263 -4007 2 9.809 9.24672 8.73989 -9.73291 -10.2887 -0.00548656 -4008 2 9.27531 7.84279 8.54984 17.0955 27.1119 -1.88733 -4009 1 8.03207 12.0726 19.9369 3.3007 -89.4561 -23.2569 -4010 2 7.66129 11.3606 20.4583 -12.2653 33.7895 19.4337 -4011 2 8.48691 11.6325 19.2188 -1.6296 47.371 -2.58803 -4012 1 1.41772 21.5423 10.364 38.5564 -79.5266 6.67197 -4013 2 2.19256 20.9994 10.2189 -44.346 17.6397 9.17324 -4014 2 1.68724 22.4213 10.0974 6.24901 63.0656 -17.2737 -4015 1 34.5004 20.5433 16.8123 -24.2521 -14.2884 19.1521 -4016 2 35.1775 21.0076 16.3201 -32.8025 13.3867 9.00467 -4017 2 33.7604 21.1501 16.8334 67.2253 -19.2211 -21.2652 -4018 1 9.44504 24.8047 4.00393 -56.4685 -31.9136 80.5927 -4019 2 10.0435 25.5181 3.78224 -1.2047 -44.9338 -79.6807 -4020 2 9.37527 24.2912 3.19917 66.8721 89.3024 4.48336 -4021 1 4.73733 28.1361 4.76614 9.56656 -60.5211 8.3486 -4022 2 4.6771 27.2657 5.15997 -34.7909 8.52006 38.4775 -4023 2 5.35703 28.0305 4.04428 22.7677 47.575 -36.921 -4024 1 28.7938 11.263 32.5626 13.0736 28.7459 -27.229 -4025 2 28.6378 12.0424 32.0292 27.3655 7.45622 -22.0831 -4026 2 28.0196 11.1957 33.1214 -34.84 -34.6011 50.1087 -4027 1 29.0062 2.02213 18.3206 -32.4818 13.1566 -67.6776 -4028 2 29.8902 1.72755 18.5397 7.44521 -7.04392 -17.2011 -4029 2 28.9607 1.95611 17.3668 19.8444 -2.0809 84.537 -4030 1 31.3854 11.7053 6.36087 41.3535 -44.6501 -48.2621 -4031 2 31.7474 12.2695 7.04417 22.1051 -11.5557 -3.51736 -4032 2 32.1346 11.2002 6.04488 -53.3989 55.9312 39.2357 -4033 1 14.0436 34.7426 31.2335 28.6142 -55.3715 24.8918 -4034 2 14.4327 35.2515 30.5223 9.08543 31.9943 -30.7826 -4035 2 14.5977 33.9652 31.3035 -34.2215 24.382 3.11232 -4036 1 11.7414 19.2455 20.2133 -42.3978 39.8075 -112.174 -4037 2 12.1828 18.4237 20.428 32.8363 -51.9587 45.3544 -4038 2 11.6652 19.7029 21.0507 6.95558 11.4491 71.9189 -4039 1 35.5212 6.24096 32.0311 83.386 67.6774 97.8305 -4040 2 0.501933 6.77327 32.66 -64.5465 -5.62764 -78.8143 -4041 2 0.310734 5.34544 32.1945 -13.2609 -75.4962 -25.1732 -4042 1 15.5732 9.26805 33.0817 64.1884 31.7576 -151.129 -4043 2 15.5209 10.0473 33.6351 -26.4068 -31.8921 57.8934 -4044 2 15.2065 8.56649 33.6198 -39.7344 -2.61323 91.5865 -4045 1 17.8042 31.8086 5.14303 -73.3105 31.6045 -0.990426 -4046 2 16.8948 32.0909 5.04562 112.928 -59.8769 -17.0012 -4047 2 17.9269 31.153 4.45644 -46.3914 34.1053 17.4489 -4048 1 30.3836 19.1224 16.0754 -8.29799 -35.0116 3.78594 -4049 2 31.2532 19.0127 15.6908 53.3503 47.565 -31.0824 -4050 2 30.1301 18.2414 16.3508 -60.8597 -20.7297 34.0065 -4051 1 11.1034 6.99694 6.44966 63.101 -48.721 -64.0294 -4052 2 11.9698 7.39064 6.3472 -22.8019 -6.07207 0.212319 -4053 2 10.6483 7.57439 7.06264 -33.661 51.1316 52.5476 -4054 1 12.2719 16.5901 16.7475 -52.0673 53.4205 0.2594 -4055 2 11.8603 17.264 17.2884 12.777 -29.321 -32.7724 -4056 2 12.8586 16.1274 17.3459 38.5413 -35.2887 34.6272 -4057 1 20.3352 18.8399 32.6982 -47.9287 -69.161 -55.1321 -4058 2 20.7109 19.5689 33.1918 44.5744 133.898 52.4844 -4059 2 20.7379 18.0594 33.0791 10.0986 -72.1948 1.48436 -4060 1 2.03115 27.6025 3.55873 -56.44 -33.4012 -143.474 -4061 2 1.51924 28.3309 3.20717 41.4594 -28.369 51.3312 -4062 2 2.30014 27.8962 4.42914 20.8834 65.5837 101.464 -4063 1 18.8812 18.114 0.872943 -5.50629 36.808 -56.9446 -4064 2 19.3639 17.5365 0.281572 22.2754 -40.2042 15.6535 -4065 2 18.5977 18.8417 0.319433 -7.07197 -3.65798 44.6492 -4066 1 16.2545 6.69927 5.58133 36.8343 -158.261 133.657 -4067 2 16.85 6.95769 6.28482 4.57163 92.7831 -31.1905 -4068 2 16.0577 5.77956 5.75921 -44.456 68.1751 -93.0296 -4069 1 4.91576 23.8201 8.54951 -34.8863 7.94033 -28.2498 -4070 2 5.3561 23.2676 9.19534 23.5267 58.5193 -11.5304 -4071 2 5.41642 24.636 8.55037 11.3325 -57.2222 38.7255 -4072 1 33.3098 33.2048 10.0927 -18.0555 170.007 66.8906 -4073 2 33.2524 34.0404 10.5561 23.0855 -125.995 -16.3 -4074 2 32.9744 33.3929 9.21616 -6.06188 -41.0569 -51.2764 -4075 1 16.61 7.10567 25.5457 11.8064 -27.218 27.7901 -4076 2 17.0402 7.76051 26.0956 -18.958 2.27451 -33.6266 -4077 2 16.3592 7.58349 24.7551 8.36263 23.1996 7.43295 -4078 1 21.9021 1.54985 18.3703 -12.0951 102.669 -25.1008 -4079 2 22.8484 1.67143 18.4479 70.871 -39.7346 13.5334 -4080 2 21.5606 2.42755 18.1994 -33.7855 -47.6755 4.07183 -4081 1 3.86513 3.59757 14.8367 -60.2762 115.365 102.767 -4082 2 4.37641 4.40219 14.923 -6.49213 -67.749 -29.0902 -4083 2 3.20261 3.65925 15.5248 50.4561 -38.2372 -79.4078 -4084 1 21.9237 8.04577 5.73412 -37.1889 34.5506 6.76492 -4085 2 21.1749 8.13328 6.32401 53.3781 8.98228 -48.1525 -4086 2 21.887 8.82704 5.18228 -14.9814 -40.4833 40.9395 -4087 1 3.88407 21.7075 19.8733 -13.655 82.7301 -71.4332 -4088 2 3.80964 22.4702 19.2998 7.85298 -87.1212 59.6058 -4089 2 4.62523 21.9084 20.4448 2.04081 -3.24013 5.7781 -4090 1 12.5075 27.831 26.8382 53.2796 -171.165 42.0426 -4091 2 11.8218 27.1819 26.6813 40.8129 83.2836 1.39157 -4092 2 12.1126 28.6642 26.5812 -81.7384 69.8635 -40.7298 -4093 1 32.4676 31.1621 16.9489 -45.3255 118.894 39.2801 -4094 2 33.0531 30.405 16.9576 71.3041 -102.72 -4.62485 -4095 2 32.8167 31.7433 17.6246 -22.6798 -12.8914 -28.8335 -4096 1 4.0462 20.2388 14.721 10.7706 38.5488 28.0881 -4097 2 4.06816 19.7036 15.5143 2.12203 -6.39002 14.2189 -4098 2 3.88937 19.6132 14.0137 -7.59074 -28.9868 -41.9528 -4099 1 13.7624 15.0652 33.4126 -44.3308 -86.3802 23.0514 -4100 2 14.6525 14.8881 33.7168 -0.298325 32.3795 -17.5296 -4101 2 13.7878 15.9736 33.1119 37.2853 48.8631 -4.56446 -4102 1 7.97866 4.0276 21.4105 45.9331 4.13344 41.1377 -4103 2 7.61163 3.92061 20.533 -27.5969 -4.52354 -35.3523 -4104 2 7.21511 4.11842 21.9806 -21.2436 0.236445 -5.03316 -4105 1 20.2977 6.13359 12.6213 -70.0954 89.9508 -63.0316 -4106 2 19.358 6.05556 12.4567 10.5837 -53.8912 24.846 -4107 2 20.5184 7.02037 12.3364 46.8524 -19.6553 16.1467 -4108 1 5.16562 5.52039 3.92857 98.0827 -58.5175 -79.3159 -4109 2 5.61987 5.95736 4.64896 -0.481325 15.1632 21.5242 -4110 2 5.86684 5.15438 3.38952 -102.904 43.8394 55.6923 -4111 1 17.276 18.9186 19.6389 -16.0602 -6.16293 -0.915394 -4112 2 18.0373 18.3453 19.7287 -5.57176 48.4352 20.2316 -4113 2 17.5204 19.7171 20.1067 21.5504 -52.6985 -14.1221 -4114 1 14.9208 7.12472 11.9717 -96.3347 -22.6645 -106.2 -4115 2 14.4819 6.63552 11.2757 65.1647 -77.7223 32.3549 -4116 2 14.4872 7.97812 11.9753 38.456 91.1732 78.1031 -4117 1 1.0995 6.63177 0.4939 -19.726 14.8208 11.6641 -4118 2 1.96189 6.84415 0.850885 -33.5524 -65.3579 -15.7026 -4119 2 1.07961 5.67513 0.467575 54.802 43.7673 21.0643 -4120 1 22.5944 0.720101 27.604 -30.6354 10.1384 -9.95581 -4121 2 22.2256 1.57413 27.8295 -17.7906 -4.03207 -9.06126 -4122 2 23.4669 0.723901 27.9978 64.3614 -16.9811 22.2502 -4123 1 15.7818 12.7952 23.3556 193.366 -93.0785 -59.6124 -4124 2 15.9775 13.7072 23.141 -81.53 1.56953 30.1426 -4125 2 14.8889 12.816 23.7001 -92.6374 87.0994 21.1865 -4126 1 33.5807 6.89886 20.9769 -67.4702 -73.8261 21.227 -4127 2 34.3837 7.39995 21.1195 76.4786 43.2345 13.3692 -4128 2 33.612 6.20327 21.6337 2.5678 27.1745 -22.6866 -4129 1 1.92096 17.8931 29.5572 42.0261 24.7042 -130.352 -4130 2 1.05789 17.9235 29.97 -1.02847 -11.7679 73.7154 -4131 2 2.51758 17.6519 30.2658 -45.7839 -9.3511 54.5571 -4132 1 11.6294 22.332 20.7837 160.752 12.1677 117.856 -4133 2 11.8639 22.6912 21.6394 -85.0579 -14.7229 -82.0733 -4134 2 12.4515 21.9882 20.4342 -83.5378 0.260443 -35.21 -4135 1 18.9996 25.7341 1.0776 -8.36208 -21.9597 49.982 -4136 2 19.196 26.0724 0.203977 -16.0629 35.8546 -16.193 -4137 2 18.3751 26.3609 1.44284 22.1218 -0.766186 -38.043 -4138 1 26.7313 0.586038 2.48947 17.4123 1.5478 108.896 -4139 2 27.237 1.39213 2.59302 -36.2148 -66.2088 5.39657 -4140 2 26.6349 0.247162 3.37949 20.2548 53.8496 -106.586 -4141 1 10.3992 13.9179 25.3044 26.4972 -70.0641 94.7814 -4142 2 10.6162 13.5077 26.1415 -28.1814 37.0429 -99.9328 -4143 2 10.4216 14.8577 25.4847 0.00991706 45.4978 2.37219 -4144 1 21.3622 34.044 28.8312 -35.8761 19.3806 -31.3339 -4145 2 21.8057 34.6579 28.2458 -1.71621 -14.5395 22.1583 -4146 2 22.0722 33.5796 29.2746 38.8265 -12.3834 10.9892 -4147 1 6.60698 30.2287 4.76591 -104.339 27.2563 -5.29409 -4148 2 6.8203 30.2006 5.69863 12.5037 -2.4126 13.8544 -4149 2 5.66171 30.3772 4.74026 96.322 -17.4449 -17.9614 -4150 1 6.99527 5.86523 18.4942 20.1488 82.371 -89.8142 -4151 2 6.81261 4.93294 18.6114 -15.6779 -73.967 6.1687 -4152 2 7.15302 5.96272 17.5551 -12.0079 -9.60018 81.616 -4153 1 27.851 24.405 26.7617 4.63888 7.53081 -42.5366 -4154 2 28.1406 23.539 27.049 20.3725 -58.7489 -2.94192 -4155 2 27.5324 24.8283 27.5589 -26.4583 49.9367 44.627 -4156 1 26.1847 0.140034 24.9008 62.7222 46.5586 -72.3822 -4157 2 27.0828 0.257357 24.591 -102.243 -9.60509 28.7724 -4158 2 25.664 0.730934 24.3567 39.2694 -40.7231 36.8022 -4159 1 28.2393 32.5515 16.4746 -12.2491 123.187 -96.561 -4160 2 27.7891 32.452 17.3135 -24.8874 -33.3896 63.5897 -4161 2 27.9456 33.4004 16.1438 44.2559 -94.2137 14.1925 -4162 1 3.71145 17.6948 22.1384 -17.7568 -46.1662 -22.8866 -4163 2 4.10707 18.5551 22.2783 11.5165 -32.666 53.6072 -4164 2 3.87233 17.2212 22.9546 15.813 81.368 -38.3691 -4165 1 21.9983 17.9774 20.5384 -54.4162 -108.032 14.2413 -4166 2 22.6974 18.5479 20.2189 -47.2879 67.1311 55.5722 -4167 2 21.4981 18.5261 21.1426 96.9611 32.4959 -62.3011 -4168 1 10.4152 21.3694 9.81762 -45.4392 -50.2753 -28.6746 -4169 2 10.9708 21.8708 10.4144 41.7288 35.9066 43.8126 -4170 2 10.3192 20.5155 10.2394 6.24922 21.8148 -12.3303 -4171 1 26.0998 27.3565 8.93221 -33.2139 -131.113 16.3657 -4172 2 26.683 27.7806 9.56173 56.4207 44.1515 53.9534 -4173 2 25.8564 28.0537 8.32312 -22.7985 85.7147 -68.6226 -4174 1 17.3585 11.0882 2.80177 33.7992 -74.4663 -63.6096 -4175 2 17.0711 10.3084 2.32677 -6.66147 52.1132 40.7412 -4176 2 18.2976 11.1443 2.62499 -23.4478 26.5739 25.6273 -4177 1 16.7677 15.9689 35.3849 -41.4458 -49.4886 9.22468 -4178 2 16.4599 16.8496 0.151763 27.43 21.0248 -4.53329 -4179 2 17.7067 16.0736 35.231 16.3588 35.636 3.88828 -4180 1 5.38626 21.3296 1.85846 22.3993 19.6506 -5.63091 -4181 2 4.98086 21.4219 0.996265 -15.5366 43.9803 -55.2713 -4182 2 5.1146 20.4626 2.15982 -3.93441 -58.2389 55.0752 -4183 1 13.9881 4.76201 23.3058 66.2072 -11.3778 -81.4889 -4184 2 14.6499 5.4446 23.1945 0.535987 69.1431 56.6713 -4185 2 14.1404 4.15917 22.578 -61.4504 -51.0725 15.3107 -4186 1 25.2047 3.81471 25.2009 43.4572 85.7786 11.9519 -4187 2 25.4092 4.3195 24.4137 -29.7601 -66.8171 35.8169 -4188 2 24.7808 3.02126 24.8738 -14.9213 -25.5147 -48.9941 -4189 1 34.5545 24.9158 25.7931 39.6922 -15.4832 -50.1964 -4190 2 35.04 24.1833 26.1724 65.5511 -53.5182 -18.3836 -4191 2 33.9022 25.1407 26.4566 -106.246 77.4659 57.8672 -4192 1 26.2159 33.1144 29.5411 -59.7931 -87.9085 13.7663 -4193 2 26.8586 33.6195 30.0392 31.0856 45.5375 -0.315276 -4194 2 26.0866 33.6172 28.7369 22.8132 27.5787 -1.79026 -4195 1 12.7591 12.3309 9.28105 5.98193 6.01833 -5.79113 -4196 2 12.4759 12.4887 10.1817 -13.6472 12.7894 -8.29459 -4197 2 12.1887 12.8861 8.74935 -4.32777 -1.23923 22.8682 -4198 1 30.8987 15.9931 28.3963 -10.4365 40.8042 -6.93341 -4199 2 31.4259 15.1945 28.4193 15.7151 -9.25018 -28.5756 -4200 2 30.9571 16.2932 27.4892 12.3767 -29.5553 29.0552 -4201 1 0.818705 11.507 17.1895 -68.7428 46.1498 49.8602 -4202 2 0.657409 10.5641 17.225 24.145 -15.8376 -8.92911 -4203 2 1.611 11.5951 16.6597 38.3532 -26.6343 -32.3638 -4204 1 6.31268 10.4416 16.767 24.9253 20.778 -16.2056 -4205 2 6.96974 11.1351 16.7068 -84.0816 -54.3302 52.0982 -4206 2 5.81593 10.6497 17.5583 58.081 29.9648 -35.2506 -4207 1 0.544073 9.54408 23.5586 -4.3706 22.6093 109.062 -4208 2 0.363425 9.65181 24.4924 -47.1283 -45.3155 -25.856 -4209 2 1.32226 10.0788 23.4014 52.8387 16.0325 -83.6953 -4210 1 1.24466 29.2191 12.9975 -36.0018 9.59645 -9.87451 -4211 2 2.08033 28.7555 12.9426 -35.2817 49.4131 83.7737 -4212 2 1.22283 29.5699 13.8879 76.819 -65.1755 -71.2037 -4213 1 9.87662 0.562628 14.3854 84.0468 -136.889 -83.1184 -4214 2 10.3383 35.3377 13.9751 -100.753 56.8195 26.6604 -4215 2 10.5602 1.05107 14.8441 21.7444 82.8147 58.4438 -4216 1 20.6218 2.6258 7.23221 4.17682 45.1246 31.5708 -4217 2 21.2054 3.30993 7.5603 42.7041 -10.2172 -22.3238 -4218 2 19.7794 2.80909 7.6482 -43.2379 -34.9052 -8.90715 -4219 1 26.2496 1.51431 16.1992 -32.964 20.7417 -2.09295 -4220 2 25.4303 1.67954 16.6658 28.4303 -5.66665 -11.7313 -4221 2 26.2591 2.16179 15.4942 -0.399018 -13.6519 8.98367 -4222 1 21.5217 15.5304 3.18398 -78.0758 30.3799 -52.8039 -4223 2 21.1405 15.1107 2.41275 37.6875 11.5799 49.4482 -4224 2 20.9406 16.2686 3.36738 39.1093 -29.4171 6.25381 -4225 1 9.60109 12.8135 30.7528 -87.4895 -113.448 22.2979 -4226 2 10.1842 13.0399 31.4773 62.7224 47.069 45.2582 -4227 2 9.0992 12.0643 31.0738 31.4711 70.1779 -63.679 -4228 1 5.23742 9.36432 2.7609 -79.4047 -118.798 -53.7307 -4229 2 5.46697 9.12123 3.65782 24.4799 18.4127 49.9166 -4230 2 4.85038 8.57176 2.38901 40.8137 104.034 15.3421 -4231 1 30.1558 30.8628 5.78729 -3.72737 -45.1893 -34.6351 -4232 2 30.9971 30.6604 6.1966 8.09579 4.14245 6.07764 -4233 2 29.8224 31.6117 6.28152 -0.441078 19.4019 18.9085 -4234 1 3.00035 7.40303 17.6643 98.6865 52.8777 2.94112 -4235 2 3.33936 7.95458 18.3694 -38.7947 -39.7416 -29.1246 -4236 2 3.68076 7.42834 16.9915 -57.2432 -11.3125 31.6151 -4237 1 1.27113 7.78357 33.6312 -9.85035 4.69088 -83.0319 -4238 2 1.0809 7.47596 34.5174 46.5729 53.0604 16.649 -4239 2 1.82714 8.55233 33.7581 -24.4065 -36.0685 64.1051 -4240 1 10.3667 16.589 31.9495 -48.2698 111.133 9.80002 -4241 2 9.92399 17.1174 32.6136 58.1399 -94.3192 -65.9368 -4242 2 10.5562 15.7602 32.3893 -7.14018 -20.851 47.8334 -4243 1 2.92555 20.7895 22.9982 76.894 -26.497 46.9922 -4244 2 3.40176 20.4652 23.7626 -44.4334 42.484 -85.4879 -4245 2 3.6046 21.148 22.4267 -32.4142 -19.1026 43.5123 -4246 1 31.2431 32.5658 23.4061 26.937 80.5778 -8.0527 -4247 2 30.8022 31.8369 23.8428 -23.7865 -59.5874 13.8433 -4248 2 31.6341 32.176 22.6241 -3.20003 -20.7055 -9.18394 -4249 1 20.5012 18.6736 3.6052 58.7628 64.3317 -51.4312 -4250 2 20.5286 18.7715 2.6534 -34.6747 -38.0176 9.57071 -4251 2 21.097 19.3472 3.93299 -23.6667 -30.0125 37.8835 -4252 1 29.2619 22.0258 30.8195 -81.2608 -2.50192 -71.0244 -4253 2 29.7304 22.8285 31.0485 48.313 47.5955 34.7042 -4254 2 28.6249 22.2996 30.1596 25.2142 -44.0421 32.1754 -4255 1 1.85152 27.6227 34.117 11.0262 27.7966 4.74673 -4256 2 2.14468 28.5211 34.2692 1.78183 -25.2709 16.659 -4257 2 1.67189 27.5847 33.1776 -11.0875 -15.4824 -31.9165 -4258 1 7.53086 9.50176 1.4703 -63.2347 45.0319 -45.3469 -4259 2 6.63963 9.2584 1.72075 60.4172 15.0205 -5.42767 -4260 2 7.41895 10.2429 0.874912 13.3897 -57.6764 44.4595 -4261 1 16.5836 11.395 14.3984 -26.4763 -4.99026 -17.5907 -4262 2 16.1767 11.8854 13.6842 18.3968 28.8087 -2.9943 -4263 2 16.0084 10.6414 14.5304 -2.04278 -37.3185 27.4559 -4264 1 2.10525 5.43636 4.72248 -92.5019 7.99273 18.804 -4265 2 3.05147 5.3496 4.60672 91.5626 -7.4674 -6.16113 -4266 2 1.97684 5.4184 5.67087 6.21074 -0.406508 -21.4929 -4267 1 3.71422 8.98222 20.0167 84.0841 36.8647 13.121 -4268 2 3.97101 9.87224 19.7755 -25.7266 -74.6288 13.2815 -4269 2 4.49152 8.61356 20.4364 -61.9564 20.1516 -30.0386 -4270 1 1.86853 28.2348 30.9459 85.4366 90.2736 6.30511 -4271 2 2.74699 28.3771 30.5934 -78.5776 -17.65 26.2199 -4272 2 1.63778 27.3492 30.6652 -16.24 -77.6018 -28.2934 -4273 1 25.9191 1.73701 33.9074 -14.7334 97.0787 -2.4223 -4274 2 26.3411 2.44678 34.3915 -14.4732 -63.2448 -21.1255 -4275 2 25.2697 2.17482 33.3571 21.7332 -38.1397 17.3839 -4276 1 4.3036 25.0121 31.6946 33.359 30.4584 17.7997 -4277 2 4.72483 24.5936 30.9438 9.0318 -13.7759 -19.8908 -4278 2 3.47004 24.5512 31.7898 -26.4588 -13.9006 2.94815 -4279 1 19.6649 33.9607 4.92684 62.0225 96.9369 -17.6808 -4280 2 19.9636 33.8924 5.83367 -70.1908 -66.6773 -54.7211 -4281 2 19.0902 33.2048 4.80584 1.75769 -35.6365 83.3046 -4282 1 21.5287 24.5356 28.7061 2.7837 34.6474 -18.2043 -4283 2 21.5455 23.8549 29.3788 6.90842 -56.7077 29.0636 -4284 2 21.2645 25.3282 29.1732 -7.18974 33.8939 4.26458 -4285 1 26.1058 14.9608 24.0555 -70.3841 -17.4636 -43.971 -4286 2 26.8778 15.2443 24.5454 109.24 19.9969 44.73 -4287 2 25.3738 15.4061 24.4823 -33.5986 -3.41378 -1.36086 -4288 1 8.93904 1.91687 34.6652 -91.0921 59.0088 86.3563 -4289 2 9.70491 1.74517 34.1173 58.8577 32.9501 15.3198 -4290 2 9.22019 2.61261 35.2595 21.4639 -87.4106 -99.9056 -4291 1 5.49227 24.8499 22.622 50.5127 -14.2436 -14.0932 -4292 2 4.55601 24.6836 22.5125 12.2398 42.75 51.9481 -4293 2 5.54164 25.4795 23.3414 -62.0664 -28.8336 -30.7225 -4294 1 30.3586 16.6612 13.6925 -54.894 -88.0087 23.9793 -4295 2 31.314 16.608 13.6682 61.3375 21.0413 -8.04941 -4296 2 30.073 15.7666 13.878 -9.85953 66.3778 -13.3349 -4297 1 23.7399 30.0972 28.0052 25.9833 -27.1787 -24.4024 -4298 2 22.9036 29.8099 27.6386 -24.2408 -21.6133 -14.7739 -4299 2 23.5176 30.8566 28.5438 1.01118 44.4545 33.5519 -4300 1 6.27413 22.2847 10.3122 -83.908 -9.44513 99.9529 -4301 2 7.15863 22.6504 10.3254 69.9751 26.9318 -13.4948 -4302 2 5.93038 22.4563 11.1889 15.915 -23.509 -84.3421 -4303 1 34.2658 24.6704 21.9649 176.818 45.1028 -9.72726 -4304 2 34.876 24.9304 21.2747 -91.0118 -25.4458 -63.2233 -4305 2 34.7738 24.7402 22.7732 -76.4184 -28.2201 73.1029 -4306 1 18.9208 1.08323 4.46925 74.9367 1.95491 -10.0117 -4307 2 19.7691 1.48879 4.29016 -71.995 -48.6351 19.4975 -4308 2 19.1268 0.16646 4.65186 4.75725 55.7717 -12.4829 -4309 1 12.5722 31.4022 18.4685 -14.3392 -27.9508 -21.5843 -4310 2 12.5473 30.5523 18.029 26.1444 33.4695 29.4392 -4311 2 13.3821 31.385 18.9785 -2.53236 -16.3966 -8.97759 -4312 1 18.3397 32.5022 15.432 -14.0618 91.2114 -2.00392 -4313 2 17.9283 33.3663 15.4177 32.1 -67.8146 3.84335 -4314 2 17.6969 31.9374 15.861 -22.4516 -18.5175 11.3528 -4315 1 7.67656 27.849 9.04222 -84.1818 -41.5128 28.9933 -4316 2 8.37571 27.9363 9.69015 33.9368 4.04618 28.0405 -4317 2 6.94927 27.4567 9.52532 64.7629 37.6472 -53.3266 -4318 1 21.6506 35.2328 32.9035 23.291 -4.94824 67.1547 -4319 2 21.8618 35.309 33.8341 -12.8847 -5.98885 -73.1945 -4320 2 21.1419 0.51334 32.7077 -6.91316 3.09637 -7.02745 -4321 1 26.989 12.6621 1.39547 3.46456 8.46491 -49.9898 -4322 2 27.1921 13.0086 0.526617 24.1553 24.3485 17.691 -4323 2 26.3388 11.9782 1.2351 -26.4113 -33.371 34.6187 -4324 1 33.9049 1.20278 27.7978 -79.6453 134.643 -27.3552 -4325 2 33.6054 1.1356 26.8911 49.996 -47.3666 70.3922 -4326 2 34.3526 0.373371 27.9648 31.3392 -90.2051 -43.8397 -4327 1 16.0905 23.005 11.9077 -5.78308 -51.6557 -59.7145 -4328 2 15.6387 22.2014 11.65 8.38405 30.5909 36.3528 -4329 2 16.6436 23.2206 11.1569 3.30965 23.9635 24.0397 -4330 1 21.6618 22.497 5.11379 55.9249 -125.883 2.50076 -4331 2 21.5079 22.9444 5.9459 -32.9677 60.336 53.0828 -4332 2 22.073 21.6682 5.35935 -38.7041 69.6465 -59.4998 -4333 1 28.2697 28.4704 10.542 27.7623 -54.0697 49.8376 -4334 2 28.7511 29.1688 10.0986 16.3472 34.8786 -23.9178 -4335 2 28.9236 28.0408 11.0935 -40.8466 14.1719 -23.8977 -4336 1 11.8105 6.08311 22.2294 -14.3797 -36.3983 14.5895 -4337 2 12.015 6.91994 21.8122 30.8537 16.0756 -13.0829 -4338 2 12.6584 5.64975 22.3266 -9.78262 32.2911 -10.3957 -4339 1 11.5474 20.0039 29.6491 89.0735 -11.7162 84.5737 -4340 2 12.1502 19.9592 30.3913 30.0699 -16.8145 -62.2277 -4341 2 10.7063 20.2451 30.0371 -123.312 22.6151 -21.3909 -4342 1 23.633 15.7527 6.25933 43.886 -23.1933 92.2258 -4343 2 23.9874 15.5139 7.11584 -23.2272 8.91646 -72.9336 -4344 2 23.2084 16.5985 6.40269 -10.9351 13.1655 -8.27802 -4345 1 18.5954 17.845 8.51439 -139.532 53.0339 62.8825 -4346 2 19.2977 17.263 8.80488 71.37 -8.10933 -58.673 -4347 2 18.9047 18.1961 7.67936 76.1179 -37.1234 -2.10796 -4348 1 24.9575 31.6473 25.4268 -14.7131 12.7911 -25.788 -4349 2 25.8072 31.6496 24.986 -52.856 2.78645 122.052 -4350 2 25.1709 31.6733 26.3595 68.4387 -3.45896 -87.0383 -4351 1 16.669 15.8459 16.5977 -24.0276 -108.485 55.488 -4352 2 16.315 16.1221 17.4431 -7.69536 91.2611 14.7797 -4353 2 16.7072 14.8911 16.6538 28.6221 17.6454 -79.7267 -4354 1 33.0156 0.032498 11.5021 136.916 -93.2588 -16.1157 -4355 2 32.495 0.66338 11.0049 -74.6471 51.1252 33.4699 -4356 2 32.6206 35.5359 12.374 -54.5859 48.4887 -25.07 -4357 1 28.0541 19.828 0.195551 63.9544 130.693 70.8175 -4358 2 27.3725 20.1651 0.776876 7.8426 -53.5821 -46.6086 -4359 2 27.6778 19.0317 35.2679 -86.6184 -88.3 -17.3198 -4360 1 13.8269 16.0706 19.243 22.4058 -6.11085 -5.877 -4361 2 14.7397 15.844 19.4211 30.1098 18.5393 -15.8417 -4362 2 13.3193 15.4086 19.7123 -49.472 -9.35297 14.3587 -4363 1 14.0791 21.9775 33.1802 5.60041 -4.57527 -118.796 -4364 2 14.8575 22.0984 33.724 44.9898 9.29066 69.0512 -4365 2 14.3937 22.0881 32.2829 -54.5149 -7.30097 44.2626 -4366 1 16.3364 25.3929 3.02022 84.6359 60.776 -19.7724 -4367 2 16.8023 26.2291 3.02574 -52.3593 -70.7163 7.78233 -4368 2 16.9642 24.7707 2.65304 -19.9952 -1.24897 8.16014 -4369 1 34.411 25.5093 0.150128 23.1129 -20.4309 -18.5952 -4370 2 34.8151 26.3405 0.399127 17.9618 22.6695 4.60842 -4371 2 33.5103 25.5758 0.467514 -44.3095 -3.76013 12.8009 -4372 1 27.8617 21.3523 28.1223 -172.701 -12.33 -72.7862 -4373 2 28.7364 21.0508 27.8769 100.743 -34.1309 -18.9959 -4374 2 27.2915 21.027 27.4256 72.8324 50.0532 93.1416 -4375 1 0.23536 27.2417 28.0006 50.4314 -167.045 80.5358 -4376 2 0.771775 26.6312 28.5064 14.5807 108.626 -37.1926 -4377 2 34.9462 26.75 27.7965 -63.3451 42.5012 -45.6736 -4378 1 21.6873 25.3227 17.7978 12.661 -55.1413 106.503 -4379 2 21.9866 26.2293 17.7289 3.60281 37.5382 -29.5901 -4380 2 21.3387 25.1184 16.9301 -19.9609 10.3437 -77.8735 -4381 1 30.9723 0.898875 8.90471 -85.0078 23.6007 -5.9887 -4382 2 31.2744 0.987181 8.00074 61.6503 -8.01533 -39.7214 -4383 2 30.0369 1.09847 8.86571 28.0055 -11.1114 50.7891 -4384 1 25.4563 22.8754 20.9972 -5.07435 22.6462 -12.0219 -4385 2 26.2859 22.4494 21.2129 4.37207 23.7254 -4.92608 -4386 2 25.6906 23.7893 20.8359 6.40417 -51.5425 17.211 -4387 1 24.874 30.4804 12.6059 -19.8947 10.9055 4.72499 -4388 2 25.6407 30.6521 12.0591 -15.3438 -55.4859 31.8644 -4389 2 25.017 29.5985 12.9496 39.664 38.1048 -40.1102 -4390 1 13.809 7.99375 5.2908 51.1555 87.9643 -54.3658 -4391 2 13.7738 8.74071 4.69324 -30.9877 -60.4603 41.5936 -4392 2 14.7365 7.90537 5.5102 -26.1136 -30.347 14.1217 -4393 1 33.9748 12.8432 16.8232 -13.4845 12.7944 69.4529 -4394 2 34.7718 12.3687 17.0593 61.3828 -42.5897 -47.7906 -4395 2 33.6028 13.1193 17.6609 -51.4331 28.1604 -20.197 -4396 1 26.5897 21.8387 5.49561 28.0221 -38.4976 2.8844 -4397 2 27.183 22.5117 5.16189 6.23018 26.244 -5.94113 -4398 2 27.1546 21.0859 5.66997 -16.7122 0.536598 3.89112 -4399 1 5.16644 25.9255 12.3571 -82.7459 1.42539 -84.5855 -4400 2 4.39998 25.3604 12.4545 23.0139 17.2738 -1.42561 -4401 2 5.73938 25.6802 13.0836 64.5181 -30.4443 80.3616 -4402 1 26.7913 35.4278 5.15497 -9.40389 -28.7505 60.3628 -4403 2 26.5972 34.8126 5.86211 -1.28859 6.35502 -43.8848 -4404 2 27.2233 0.657265 5.58886 12.9592 24.9801 -17.5741 -4405 1 1.20621 3.82847 0.244538 -40.0525 -9.51598 5.30674 -4406 2 2.01543 3.41203 0.541171 68.6845 -6.13463 0.748333 -4407 2 0.510081 3.34188 0.685998 -29.6666 16.922 -13.6114 -4408 1 26.437 3.26469 13.8626 -20.4753 -1.51645 -19.7008 -4409 2 26.7883 4.05515 14.2724 1.73507 11.5741 -1.0845 -4410 2 25.7399 3.58167 13.2883 20.1784 -7.72027 24.8614 -4411 1 33.2059 12.6345 8.22768 -48.259 16.5415 62.8839 -4412 2 32.687 12.8286 9.00826 23.0672 -16.7871 -55.5218 -4413 2 34.1098 12.806 8.49161 28.9905 3.90551 -0.0860054 -4414 1 29.9054 24.5675 20.7059 -13.5854 11.3423 24.5363 -4415 2 29.4901 25.4285 20.6558 -14.887 8.10393 22.1611 -4416 2 30.2859 24.4337 19.8378 33.321 -33.5201 -47.5323 -4417 1 15.2981 4.02934 16.4438 -29.935 -15.2392 -93.1997 -4418 2 15.7196 4.61703 17.0709 20.926 20.3598 62.1741 -4419 2 14.9943 3.29177 16.9729 7.15007 3.44663 37.4838 -4420 1 31.2726 25.182 0.424883 26.649 -8.81929 -45.8657 -4421 2 31.0449 24.4589 35.2877 -9.53936 49.552 98.4664 -4422 2 30.7324 25.0415 1.20245 -16.8458 -44.7892 -34.1521 -4423 1 12.1232 3.02693 0.178421 -45.5005 12.2205 35.5735 -4424 2 11.8547 2.17886 35.2722 18.192 -31.0677 -25.0771 -4425 2 11.3649 3.32967 0.678076 34.0795 14.5182 -2.88402 -4426 1 32.8427 11.5509 14.3819 -91.2789 68.5593 27.437 -4427 2 31.909 11.5768 14.1727 60.9571 -31.84 -6.08398 -4428 2 32.9724 12.278 14.9909 32.2787 -37.0296 -17.8106 -4429 1 20.5619 17.4416 12.4541 136.986 74.6128 143.748 -4430 2 19.8502 16.8877 12.1333 -116.27 -88.0868 -42.1302 -4431 2 20.6375 17.2215 13.3826 -13.0941 16.617 -100.388 -4432 1 15.2812 11.6219 18.8127 6.80276 34.133 -6.01119 -4433 2 14.3861 11.8289 19.0813 -11.9318 5.09595 -3.58709 -4434 2 15.4041 10.7084 19.0708 12.1743 -38.1237 8.8528 -4435 1 29.7405 20.3666 3.36315 18.3701 14.8795 -105.965 -4436 2 30.4862 19.8082 3.58297 12.0341 -20.5311 32.607 -4437 2 29.868 20.5849 2.43993 -29.7698 -3.80367 66.9347 -4438 1 10.46 28.0973 15.3778 71.514 -16.5505 3.27588 -4439 2 9.53034 28.2357 15.5588 24.3304 39.3431 -68.0595 -4440 2 10.6357 28.6311 14.6029 -88.3516 -22.5465 61.2733 -4441 1 16.7725 6.13462 17.9388 20.149 83.0126 15.9032 -4442 2 17.2522 6.31266 18.7478 -23.8922 -10.6549 -48.6411 -4443 2 16.6775 6.99137 17.5227 3.52603 -73.958 31.3174 -4444 1 21.5176 0.3225 25.1413 -92.813 126.218 -57.3643 -4445 2 22.2268 0.140791 25.7579 90.7671 -41.9406 79.7128 -4446 2 21.4174 35.0167 24.6446 7.64372 -73.5945 -25.9911 -4447 1 8.70604 23.6629 10.1379 -25.7717 -48.0317 -84.6185 -4448 2 9.03204 24.0884 10.931 57.7445 -21.3587 13.668 -4449 2 9.40137 23.0539 9.88907 -30.5683 69.1944 70.3422 -4450 1 20.2489 3.67137 10.3661 -8.30713 -22.3406 27.8151 -4451 2 20.3807 3.09493 11.1189 -11.4663 21.3636 -35.98 -4452 2 19.4828 3.31127 9.91934 21.4222 6.23375 12.7328 -4453 1 5.99013 17.0858 14.8655 71.5445 42.4963 -59.2165 -4454 2 6.63939 17.7618 14.671 -6.85989 -44.1823 -21.0692 -4455 2 5.55609 17.3919 15.6618 -67.0354 2.45563 81.7331 -4456 1 9.84183 21.0265 7.17511 14.7304 -5.05498 19.0396 -4457 2 9.13236 21.5961 6.87762 -51.8618 28.4149 -70.0223 -4458 2 9.85429 21.1353 8.12603 43.7584 -27.0665 43.7908 -4459 1 14.2772 22.3485 30.4736 -10.2863 -6.65522 -127.018 -4460 2 13.816 23.1243 30.1546 -21.9549 53.9289 62.6314 -4461 2 14.4875 21.8521 29.6826 31.5113 -44.9653 79.5439 -4462 1 9.99678 22.3634 18.6226 -42.4577 -0.332751 -31.978 -4463 2 10.4634 21.97 17.8852 5.89745 -13.1733 -32.2516 -4464 2 10.6659 22.4752 19.2979 32.1741 11.9416 55.6482 -4465 1 13.5454 23.313 25.3324 134.115 -67.6122 13.7333 -4466 2 13.26 22.9881 26.1863 -55.527 13.4579 20.873 -4467 2 14.4248 22.9521 25.22 -73.5869 51.7449 -37.8159 -4468 1 20.3795 18.6911 28.3966 -70.0465 35.9997 -116.917 -4469 2 20.0142 18.9793 27.5601 -11.6358 -28.1922 84.1403 -4470 2 21.3195 18.6133 28.2339 89.7671 -19.3825 29.567 -4471 1 31.9732 7.21096 11.2032 -10.093 -13.3317 92.5153 -4472 2 31.6137 7.12832 12.0866 24.3899 12.1792 -76.805 -4473 2 32.839 6.80642 11.2576 -7.612 5.61821 -10.8494 -4474 1 3.59876 34.1729 15.108 -39.7918 -52.0796 -27.2857 -4475 2 3.18707 33.4613 14.6177 21.2066 37.7172 0.898996 -4476 2 3.55439 33.8917 16.0219 9.2138 8.29839 33.3399 -4477 1 16.7544 18.4101 28.9948 64.7577 13.9098 13.7679 -4478 2 17.6391 18.6424 29.277 -37.2231 5.8359 -22.2173 -4479 2 16.5422 17.6219 29.4948 -26.7194 -15.7664 6.92865 -4480 1 4.3038 30.0039 27.4134 91.3839 4.65336 29.2546 -4481 2 5.14801 30.4096 27.2162 -84.4322 -23.2475 2.4758 -4482 2 3.72077 30.3139 26.7204 3.17073 12.3231 -21.1344 -4483 1 6.15154 15.7184 24.0708 -40.3603 76.9811 -23.667 -4484 2 5.31566 15.8508 24.5181 39.881 -34.8127 -5.09765 -4485 2 6.50772 14.9194 24.4594 -9.12014 -33.6788 31.6837 -4486 1 1.16747 28.7757 19.837 13.8631 126.139 11.3653 -4487 2 0.560743 28.0604 19.646 47.6494 -59.0546 1.85876 -4488 2 2.01917 28.3492 19.9316 -62.3678 -51.3412 -14.7173 -4489 1 23.2355 29.743 8.55328 107.193 47.7531 -19.2738 -4490 2 24.1772 29.8565 8.68164 -86.3163 -32.1967 9.60776 -4491 2 23.0034 30.3937 7.89074 -26.213 -16.9993 8.08903 -4492 1 19.4814 19.1556 6.41632 -3.02546 14.8549 -4.88762 -4493 2 18.9878 18.526 5.89073 0.339062 -6.44059 -6.88493 -4494 2 18.8848 19.8957 6.52735 6.38336 5.649 0.895905 -4495 1 33.0444 24.8218 13.6454 190.156 76.9754 21.5069 -4496 2 33.78 24.3567 13.2468 -97.1422 21.3535 28.2737 -4497 2 32.2746 24.3082 13.4005 -87.762 -95.9209 -46.39 -4498 1 26.0489 6.03932 17.256 55.7356 -79.2221 36.6622 -4499 2 26.4088 5.4448 17.9142 -36.0877 61.7902 -92.8565 -4500 2 26.4379 5.74814 16.4313 -16.42 12.5907 64.2149 -ITEM: TIMESTEP -1 -ITEM: NUMBER OF ATOMS -4500 -ITEM: BOX BOUNDS pp pp pp -2.6450000000000001e-02 3.5532800000000002e+01 -2.6450000000000001e-02 3.5532800000000002e+01 -2.6409999999999999e-02 3.5473599999999998e+01 -ITEM: ATOMS id type x y z fx fy fz -1 1 12.1197 28.0885 22.2802 2.83943 -11.6349 -7.21473 -2 2 12.4885 28.7491 22.8667 -4.16123 0.985402 0.0193574 -3 2 11.5388 28.5804 21.6998 -2.84409 -3.92723 0.75706 -4 1 1.17511 29.3742 23.736 -17.8933 0.0578882 -4.35639 -5 2 1.85553 29.4497 23.067 -0.487987 0.0169913 1.59281 -6 2 0.446373 28.9431 23.2894 -0.690646 3.49336 -1.95732 -7 1 29.6785 14.7335 21.6258 1.95135 1.24077 6.15592 -8 2 30.5168 14.9438 21.2143 0.99602 -1.20723 1.56832 -9 2 29.7509 15.087 22.5123 -0.421409 -1.69686 -0.228008 -10 1 10.8735 6.99846 35.108 -10.0389 10.835 1.5249 -11 2 11.079 6.26364 34.53 0.88781 -0.467315 4.23203 -12 2 9.9984 7.2779 34.8389 -2.34395 -3.85231 2.12436 -13 1 9.47019 6.43118 19.8044 6.90852 5.54825 2.30363 -14 2 9.10191 6.30845 18.9295 -1.1598 -3.72224 1.39899 -15 2 10.2897 5.93683 19.7914 -0.715388 1.07873 1.68353 -16 1 3.18398 29.7003 22.1238 14.0628 3.95468 0.562309 -17 2 3.20329 30.5742 21.7339 -0.955442 -0.973553 -1.40556 -18 2 3.39235 29.1098 21.3999 -0.982794 -0.455077 0.844587 -19 1 23.3815 11.2999 30.7862 0.144812 -2.51891 4.09525 -20 2 23.7172 10.5132 31.216 -2.29648 -1.01218 0.478777 -21 2 24.1599 11.7319 30.4344 0.453813 -4.30435 -2.18913 -22 1 11.0338 10.4586 30.1489 -0.620609 -1.02936 -7.35718 -23 2 10.9806 11.4046 30.285 -0.925455 -0.536551 0.922496 -24 2 11.578 10.1426 30.8701 -0.978535 -0.658662 -0.175294 -25 1 26.2351 25.4085 21.065 7.1584 9.23358 -1.45945 -26 2 25.6774 26.0793 21.4591 0.706736 -0.0882212 1.15416 -27 2 26.2119 25.5979 20.127 -1.55701 0.736299 0.865926 -28 1 10.8404 35.3437 19.7859 -8.50381 6.03522 6.89699 -29 2 10.2386 0.508835 19.4647 -1.67824 -1.32566 -0.261999 -30 2 11.0233 34.7992 19.0202 -2.84454 -2.6281 2.24284 -31 1 20.0749 4.96011 33.6181 -8.09271 4.73099 7.64077 -32 2 19.8036 5.82849 33.9157 3.36446 1.68187 -0.386527 -33 2 20.659 4.64213 34.3065 -0.240854 -0.494311 -0.643129 -34 1 12.4352 28.5642 17.3982 1.07487 1.56659 6.44931 -35 2 12.737 27.9994 18.1096 -0.0782354 0.221159 -1.46202 -36 2 11.6768 28.1074 17.0343 0.751379 -0.247561 -0.393532 -37 1 14.8065 7.14018 1.42106 -8.02644 -4.25717 -3.68122 -38 2 14.8136 6.66898 0.587897 1.58363 -3.56536 2.76297 -39 2 14.1708 6.66771 1.95853 3.66778 -1.40869 1.75119 -40 1 15.8758 22.1873 24.1301 -5.86729 -5.47916 -12.8363 -41 2 15.9916 22.7158 23.3405 1.57497 0.623028 0.476755 -42 2 16.6833 22.3184 24.6271 -4.05631 2.59608 2.33577 -43 1 13.2908 18.3045 12.369 2.75858 1.2371 17.1257 -44 2 12.5605 18.6229 12.8997 0.322944 1.15953 -2.83651 -45 2 13.2207 18.7912 11.5477 -0.341369 -4.86634 -1.60449 -46 1 20.2764 23.9401 15.4995 3.20873 8.01449 5.07135 -47 2 20.1809 24.6135 14.8259 0.142923 -1.69999 -0.626952 -48 2 20.6042 23.1741 15.0283 -0.0540956 -0.996547 2.63258 -49 1 30.1061 10.7787 14.243 5.62232 -4.16839 6.17127 -50 2 29.4199 10.9553 13.5995 3.0264 0.504971 0.184688 -51 2 29.6797 10.2351 14.9054 -1.09306 0.467184 -0.199294 -52 1 19.7168 12.9867 25.4038 2.10581 -8.4639 -0.0930328 -53 2 20.1668 13.3273 26.1769 -2.70216 4.40091 -1.0351 -54 2 18.8056 12.889 25.6801 -0.310147 -1.39533 -1.91953 -55 1 4.22865 18.9983 32.6298 -18.8845 -14.8365 6.31113 -56 2 4.03782 18.2267 32.0966 -3.48939 -1.86931 3.47252 -57 2 3.4031 19.4821 32.656 0.85948 1.11098 -0.884952 -58 1 17.6782 30.8671 34.8731 20.9264 7.80933 -6.55676 -59 2 17.2389 31.7174 34.8614 1.75282 0.32389 2.07873 -60 2 18.1479 30.8282 34.0399 -1.04653 1.99998 -0.795977 -61 1 7.49719 27.8425 34.6559 0.711667 0.422199 9.24732 -62 2 7.38783 27.3525 33.8409 -3.80781 -0.699131 2.36107 -63 2 7.82516 27.1969 35.2819 0.832186 0.853418 0.112955 -64 1 9.58841 8.76146 28.3855 0.421925 -8.00793 0.889771 -65 2 8.91948 9.00414 27.7453 1.63331 2.40481 0.994192 -66 2 9.59444 9.48491 29.0123 4.45118 -1.51376 -0.861827 -67 1 18.1508 7.97873 4.03126 1.19851 -3.23444 -5.56895 -68 2 17.642 8.00406 3.22091 1.76243 2.3251 -1.28592 -69 2 17.5522 7.60681 4.679 -1.20543 -1.81415 -2.59291 -70 1 13.4533 10.3047 21.9486 1.29645 4.21818 4.52343 -71 2 14.0965 10.995 21.7873 -0.993808 -0.150147 -0.863461 -72 2 13.1982 10.4234 22.8635 0.505393 1.47316 -0.741787 -73 1 28.7728 1.83933 6.23542 -6.65128 -8.01516 4.02892 -74 2 29.5247 1.26313 6.09823 1.68913 4.05945 1.16655 -75 2 28.4952 1.66172 7.1341 1.80959 0.821771 0.315841 -76 1 21.1702 3.00541 4.56565 -2.73613 -4.25787 -6.86233 -77 2 21.014 3.01364 5.50998 0.22429 -3.71788 -0.828608 -78 2 21.1656 3.92882 4.31359 -3.75499 0.0853394 2.439 -79 1 15.8613 20.7792 10.3461 -2.1509 6.20406 2.42187 -80 2 15.8605 20.0094 10.9151 -1.96176 0.95374 -0.736288 -81 2 15.7672 20.4242 9.46214 -1.38938 1.20573 0.28312 -82 1 19.3699 6.4158 28.3267 -3.76481 2.15265 -3.12662 -83 2 19.8657 6.19926 27.537 -1.55855 -0.527811 0.745342 -84 2 19.2669 7.36681 28.2921 2.39367 0.343061 1.82307 -85 1 19.693 26.803 22.5635 -6.01875 0.290784 6.9103 -86 2 20.4921 26.5342 22.1102 1.07526 2.72016 3.43643 -87 2 19.5587 26.1312 23.232 -0.0599486 0.140756 0.639191 -88 1 10.4543 1.95998 4.23361 14.57 21.0633 -12.4632 -89 2 11.0104 1.54281 4.89155 -1.67412 0.0313792 -0.0455861 -90 2 10.8423 2.82552 4.10523 2.10771 -1.33362 2.84224 -91 1 6.34959 29.1954 23.1846 -13.1563 -1.58418 -3.77502 -92 2 5.55058 29.6622 23.4294 1.15638 2.83752 -0.431495 -93 2 6.95232 29.8832 22.902 1.9456 -3.66523 -0.185132 -94 1 27.7056 33.6421 1.45472 -1.62869 3.71204 22.1075 -95 2 27.4924 34.5343 1.72816 1.3689 -1.06238 1.7149 -96 2 28.2162 33.2841 2.18091 1.05986 -0.401654 -0.871882 -97 1 34.5461 25.9093 10.9792 -7.25124 -8.22401 -0.411791 -98 2 34.2838 25.1355 10.4806 0.105132 1.70434 -3.27492 -99 2 34.7392 26.5696 10.3136 -2.14199 2.74203 2.91602 -100 1 35.1317 10.3539 32.7564 3.98212 -1.13684 -3.47087 -101 2 35.3289 9.88921 31.9431 -1.93508 0.303203 -0.623766 -102 2 35.4275 9.7626 33.4485 0.0343044 2.21555 -1.07153 -103 1 19.4604 25.2267 13.0653 -0.363992 -0.984018 -5.3813 -104 2 18.6718 25.7534 12.9347 -1.62401 -3.1834 0.969792 -105 2 19.5157 24.6792 12.2821 2.06933 2.34955 -0.297024 -106 1 8.76522 34.6074 24.2066 -8.82969 1.416 11.5869 -107 2 9.51058 34.7062 24.799 -2.3368 0.584546 0.611902 -108 2 9.13417 34.201 23.4224 -0.772331 3.40749 -0.554145 -109 1 18.5221 33.9987 24.7608 -2.93377 5.39726 7.76333 -110 2 19.4554 33.8572 24.6019 -1.81501 -0.822564 -3.43674 -111 2 18.0823 33.4502 24.1113 -3.27337 1.93913 2.54194 -112 1 5.47387 16.7567 12.0943 8.27471 1.42195 -4.08713 -113 2 5.20982 17.646 11.8584 -2.53422 -0.796464 1.24347 -114 2 5.6267 16.7942 13.0385 -2.10079 -2.56077 -0.237851 -115 1 26.7775 26.5446 35.1729 -6.86914 9.68401 11.5013 -116 2 27.3719 26.8911 0.391099 0.931334 -0.83299 -0.0417153 -117 2 27.1994 25.7409 34.8693 -2.05961 0.438302 -0.525641 -118 1 14.0402 15.2713 12.4147 -4.19791 5.66653 0.621796 -119 2 14.3586 15.7751 13.1637 1.10827 0.906128 -0.977754 -120 2 14.3044 15.7841 11.6508 -0.152959 -1.55261 -0.933291 -121 1 6.76112 6.34981 6.05238 -2.70495 2.85939 1.39213 -122 2 7.52396 5.77463 6.11124 -0.0700211 0.393854 -2.68118 -123 2 6.03967 5.82838 6.4043 2.12309 1.55706 5.74267 -124 1 10.8686 34.9287 25.9776 7.77314 -2.79381 -6.74978 -125 2 10.732 35.335 26.8334 -2.13344 -2.8432 0.426264 -126 2 11.585 35.4286 25.5863 -0.481848 0.461465 3.57474 -127 1 18.3451 30.5104 26.2815 -14.9723 0.2775 0.512422 -128 2 18.0951 30.3237 25.3766 2.0694 -0.276021 -0.527541 -129 2 19.1314 31.0511 26.2065 1.04458 -3.34861 2.2845 -130 1 13.1902 0.775062 20.6208 12.1623 -4.75254 6.75315 -131 2 13.3972 0.571428 21.5329 0.165578 -0.74308 -1.34619 -132 2 12.3249 0.390876 20.4795 1.75963 1.77962 -3.42515 -133 1 24.4741 24.0632 28.214 -12.7106 11.7323 -13.9437 -134 2 24.1502 23.1986 27.9614 0.829329 0.536959 3.81511 -135 2 23.7414 24.6541 28.0402 -2.53365 -1.55982 2.11145 -136 1 30.7906 15.3363 34.869 4.63905 -16.5667 18.2332 -137 2 31.1338 15.2839 0.313836 -0.042718 -2.44006 0.687676 -138 2 30.0303 14.7548 34.8698 0.0454091 1.20789 -1.3884 -139 1 18.3054 19.7719 34.2398 -2.65777 -3.13815 7.16495 -140 2 17.7985 20.1569 33.5248 3.10359 4.14252 0.757259 -141 2 19.0004 19.2794 33.8032 0.784736 1.15633 0.421225 -142 1 24.1942 16.2148 25.5393 -0.782891 5.84105 10.9734 -143 2 24.3348 17.1483 25.3806 -1.23573 -0.79486 -1.34185 -144 2 24.2407 16.1235 26.491 1.11135 -0.75001 -1.14865 -145 1 9.28645 8.02377 32.2408 8.05966 1.4497 -7.31894 -146 2 10.2068 7.85329 32.4413 1.263 0.751324 -3.76416 -147 2 9.00276 7.25603 31.7445 -0.0742995 2.55319 -2.84575 -148 1 5.33384 1.15297 27.6506 -1.75272 -4.1022 0.0591199 -149 2 4.54258 0.633055 27.5098 -0.61388 1.20081 3.18076 -150 2 5.01191 2.03694 27.8272 2.01119 -0.329206 1.17155 -151 1 22.9016 21.3407 11.6347 -1.63083 -9.51727 -2.27349 -152 2 23.2136 20.5314 12.0396 -3.0482 -0.662518 1.84435 -153 2 22.466 21.0549 10.8317 1.45482 -0.726841 -0.872976 -154 1 16.8814 32.603 23.1625 -1.99651 -7.02783 -6.02043 -155 2 15.937 32.7487 23.1056 0.0449312 0.920253 0.0996749 -156 2 16.9674 31.6871 23.4269 -1.00053 -0.0186117 -0.941042 -157 1 29.2427 7.09932 23.713 -5.45108 23.3244 3.61939 -158 2 28.5117 7.55692 24.1285 -1.98056 -2.32106 0.280838 -159 2 29.4998 7.66732 22.9867 -3.68654 1.64426 0.679867 -160 1 34.2995 6.85329 2.08574 -8.21029 1.97776 -8.91288 -161 2 34.9275 6.9298 1.36744 2.0579 1.94829 1.87792 -162 2 33.768 7.64707 2.02537 -0.334071 -0.952619 -0.373538 -163 1 32.9585 29.2727 19.2571 -4.7292 2.96696 18.7205 -164 2 32.622 28.3943 19.4342 -0.888368 0.483627 -1.42878 -165 2 33.6279 29.1424 18.5854 -0.291946 2.23437 1.72417 -166 1 9.78203 33.7297 21.9669 4.93329 2.3764 -13.8274 -167 2 9.26811 33.1664 21.3882 2.40106 -1.22896 -1.13088 -168 2 10.1179 34.4193 21.3943 0.776117 -0.219468 -1.06337 -169 1 7.85979 6.97575 8.72784 -6.69291 -4.69032 -4.55535 -170 2 8.12984 6.10181 9.00986 -2.65325 0.129473 2.85676 -171 2 7.18136 6.81716 8.07149 0.0534681 -1.05163 -0.559877 -172 1 34.2511 27.8157 31.7899 10.4762 7.05211 4.51592 -173 2 34.6389 28.6044 31.4107 -0.460218 -1.37768 0.621499 -174 2 33.7966 28.1247 32.5736 -0.63165 2.38407 -2.06476 -175 1 34.9453 26.8443 19.5201 -14.5394 -4.41372 1.51362 -176 2 35.353 26.0133 19.764 2.43554 -0.560912 -7.11053 -177 2 34.2056 26.5952 18.966 -1.90509 1.10494 1.72174 -178 1 21.7592 32.2086 20.8925 -0.960966 -0.833187 0.557924 -179 2 22.6308 31.8822 21.1161 0.425469 0.0200191 -1.74286 -180 2 21.7978 33.1459 21.0827 0.363327 0.0105238 -1.00393 -181 1 34.3091 3.44165 14.2418 6.85604 2.0347 -1.97505 -182 2 34.8868 2.86532 13.7415 0.126524 2.00945 -1.69308 -183 2 34.8997 4.0644 14.6656 -0.171216 -2.72991 2.33793 -184 1 17.8781 18.9142 14.4175 11.2959 -3.49575 -6.33449 -185 2 17.9618 18.9721 15.3693 -4.79424 0.675416 -2.63349 -186 2 18.5847 19.465 14.0805 1.08316 -1.26729 0.789542 -187 1 19.0844 14.2299 20.7819 17.9425 -3.81829 -29.597 -188 2 19.5933 13.8075 21.4738 -0.168135 2.5365 0.58617 -189 2 18.6697 13.5059 20.3129 2.96701 -1.65518 -0.867102 -190 1 7.8639 17.9762 9.47954 -1.9145 7.76101 7.13427 -191 2 7.55814 18.8151 9.13442 -1.77281 -2.06344 -2.05978 -192 2 8.09095 17.4654 8.70252 -0.0229779 -1.0275 2.11073 -193 1 0.305213 23.1875 0.380315 2.15923 -1.20055 -5.2823 -194 2 35.3376 24.0188 0.401724 -1.10221 -1.3328 -0.660012 -195 2 35.1268 22.5198 0.419787 1.281 -1.26386 -3.6752 -196 1 4.53609 21.2197 29.8607 6.18031 -0.301104 1.13012 -197 2 5.07517 22.0038 29.7573 -1.5309 -0.553643 -0.179216 -198 2 5.03313 20.6642 30.4613 -1.56608 1.24611 1.83912 -199 1 3.76374 1.66703 34.1149 4.60928 13.749 -4.42429 -200 2 4.6935 1.84503 33.9731 0.246792 1.27148 0.627445 -201 2 3.60851 1.91341 35.0267 0.804549 -5.77191 -0.447515 -202 1 35.1782 34.7026 7.53573 -6.31198 -4.95123 2.51746 -203 2 34.2731 34.4329 7.38013 1.80099 -1.90553 -0.534367 -204 2 0.0447447 33.9975 8.06495 1.00405 1.67013 1.55509 -205 1 24.8236 8.21132 16.0938 -9.6969 7.89144 -2.27959 -206 2 25.5407 8.83618 15.9864 1.50586 -2.32451 0.45854 -207 2 25.0361 7.73819 16.8983 -1.18389 -4.46215 -3.8081 -208 1 4.17923 28.5296 29.7058 -2.88046 -10.6216 -6.84024 -209 2 5.08358 28.4277 30.0025 -1.01535 6.12236 0.587199 -210 2 4.24837 29.0292 28.8923 -2.21319 2.09021 1.43555 -211 1 26.4376 31.2789 3.92319 2.84025 3.04321 0.456704 -212 2 26.5554 30.6022 3.25646 -1.74519 -0.941019 1.99126 -213 2 27.2972 31.6928 3.99958 0.923212 -1.66733 -2.21147 -214 1 35.1104 7.7066 27.0823 6.05284 -5.7425 -0.180027 -215 2 35.1458 7.37552 27.9797 -1.75363 -2.57822 -0.738777 -216 2 34.5557 7.08035 26.6172 -1.44653 2.94276 -2.05708 -217 1 21.4552 34.0539 2.89573 11.302 2.09916 -2.67275 -218 2 21.0613 33.7789 3.72363 -5.06393 4.0502 -2.98268 -219 2 22.2256 34.5603 3.15307 -3.28377 0.950992 2.87891 -220 1 31.2149 3.30939 25.8036 -17.0599 6.72165 5.63366 -221 2 30.7602 4.00583 25.3298 1.04912 0.188966 -1.67492 -222 2 31.5053 3.72236 26.6168 3.12088 1.89515 -3.0163 -223 1 7.3704 1.04797 25.8271 0.552616 -8.24081 -0.442916 -224 2 7.45764 0.257315 25.2946 2.71341 -1.88807 2.58774 -225 2 6.69161 0.832836 26.4668 -0.29095 0.0312636 -1.47269 -226 1 30.3418 6.08721 15.7385 3.90543 9.00007 2.29911 -227 2 30.8669 5.56177 15.1349 -2.23048 1.01371 -1.46973 -228 2 30.4505 5.65811 16.5872 -3.59843 -2.57949 -1.61253 -229 1 34.9369 25.1501 32.0324 -13.6155 2.18796 7.82975 -230 2 34.6307 24.6345 32.7785 -1.51556 2.82725 1.36609 -231 2 34.5731 26.0233 32.1786 2.4557 1.35615 -1.0158 -232 1 0.490122 26.4103 7.95636 3.32409 -3.20955 -12.856 -233 2 35.2631 26.0934 7.42912 -0.106447 0.0969442 2.10962 -234 2 0.306616 27.3405 8.08821 -2.2747 -2.25371 3.97245 -235 1 28.56 15.833 29.5301 -3.826 -6.56926 11.2866 -236 2 28.3907 16.7712 29.6158 -3.55148 -2.34318 1.59443 -237 2 29.4835 15.7773 29.2842 -1.72847 3.58265 -1.65629 -238 1 18.1451 14.6878 4.78782 9.51977 3.79075 4.87582 -239 2 18.4764 15.509 5.15136 -1.90617 0.799269 1.03289 -240 2 17.3382 14.9339 4.33558 0.165899 -2.85263 1.69221 -241 1 23.9833 17.8058 3.99744 3.5085 -8.49432 -3.19996 -242 2 24.8668 17.7728 3.63051 -0.0339981 -1.72033 1.32632 -243 2 23.6069 16.9495 3.79418 1.78792 0.206614 0.831364 -244 1 27.7841 18.4005 29.8222 -5.82682 5.62791 15.5672 -245 2 27.1267 18.943 30.2578 -2.2913 1.07112 -3.01516 -246 2 28.3079 19.0198 29.3139 -1.08291 -1.61952 -1.35224 -247 1 32.5628 20.9923 23.1578 10.2894 -7.06679 -1.36124 -248 2 33.1107 20.5989 22.4787 1.65535 0.570396 2.07657 -249 2 32.498 21.9145 22.9097 -1.96237 -1.94554 -2.74825 -250 1 0.529621 10.6912 20.5083 -1.52448 -5.20317 2.76575 -251 2 35.2484 10.7192 21.0516 -0.746382 2.59942 -3.95564 -252 2 1.05343 11.4348 20.8065 -0.649637 0.904838 -2.0048 -253 1 24.9847 7.82339 20.9378 4.22697 -3.24249 5.83819 -254 2 25.8484 7.96491 20.5501 0.321651 -0.472163 1.19417 -255 2 24.3689 8.1054 20.2615 1.24569 0.510515 0.168072 -256 1 22.8417 20.1259 4.77636 2.25192 -4.01988 9.51734 -257 2 23.2469 19.2622 4.85416 -0.68369 0.262114 -2.19466 -258 2 23.5617 20.7077 4.53292 -3.57154 0.12694 -5.28692 -259 1 33.531 10.0194 10.4523 2.23865 -9.02086 0.65873 -260 2 32.8869 9.37147 10.7377 3.10392 -2.68693 -2.46734 -261 2 34.0623 10.1885 11.2303 -1.10666 2.12307 -0.551179 -262 1 16.0034 10.0187 6.93969 -0.0157862 1.46394 -2.25462 -263 2 16.3729 10.7237 6.40805 -0.581764 0.322807 1.11678 -264 2 15.0645 10.2033 6.96401 0.984556 0.881953 2.09758 -265 1 29.8073 30.3234 24.4015 -2.98162 4.05797 3.97019 -266 2 29.9402 30.0111 25.2965 4.59268 1.93769 -1.44163 -267 2 29.9351 29.5479 23.8552 -0.962857 0.38951 -0.116666 -268 1 4.63504 9.89981 32.0876 -0.597646 3.76672 -0.607395 -269 2 4.06399 9.66601 31.3559 0.0145483 0.519651 1.75544 -270 2 5.44802 9.4234 31.9193 -1.58937 -1.21179 0.422227 -271 1 32.858 18.7906 15.2586 15.368 -0.368584 -3.67531 -272 2 33.09 17.9392 15.6294 -2.47177 -1.02061 -0.504964 -273 2 33.3912 19.4182 15.7466 1.51076 -2.09783 1.81346 -274 1 0.623382 7.94944 15.2508 3.80799 0.24342 2.82524 -275 2 0.0633951 7.84158 16.0196 0.616825 -0.663036 -0.846482 -276 2 35.5186 8.05521 14.5217 0.292685 -3.688 1.25463 -277 1 2.40678 1.86324 23.9393 7.33346 -1.44995 11.0012 -278 2 2.48578 1.7912 22.9881 -2.26933 0.255389 1.70609 -279 2 2.76086 1.03878 24.2727 0.126448 0.610747 -1.0252 -280 1 35.1333 4.78832 16.9147 -18.0369 0.782922 -7.14109 -281 2 34.7851 5.67886 16.8708 -0.992126 -0.470626 3.57874 -282 2 34.491 4.30485 17.4343 -0.216958 -1.63923 -1.01964 -283 1 0.96815 31.039 15.177 -2.59575 1.20166 1.79468 -284 2 35.559 31.2792 15.3194 1.1809 1.34848 -1.2581 -285 2 1.19767 30.5062 15.9384 0.841992 0.849433 -1.12295 -286 1 2.19584 4.7201 17.0282 18.7205 -1.10406 -0.13592 -287 2 2.34925 5.61815 17.3218 2.89469 -1.14643 -1.40782 -288 2 1.24984 4.67085 16.8907 1.56541 1.99584 2.35003 -289 1 11.3259 9.43872 18.2362 -3.88264 0.0389878 0.0584138 -290 2 11.298 9.65681 17.3046 -1.24279 -1.93525 0.843635 -291 2 10.4494 9.64919 18.5582 -0.344631 -3.84908 0.281424 -292 1 1.17054 29.874 2.31095 2.13019 5.50944 0.52163 -293 2 0.831358 30.5292 1.70118 -0.344656 -0.49626 0.672084 -294 2 2.03768 30.1984 2.55396 -0.0734556 0.913319 0.0850878 -295 1 30.8983 1.46705 1.98029 1.622 4.78186 14.4004 -296 2 31.6371 1.00972 2.38172 -0.0311556 -1.06285 -0.510003 -297 2 30.7157 0.972925 1.18107 0.485102 3.49755 -1.1124 -298 1 5.02918 1.93606 10.3113 11.4394 -3.20201 28.2572 -299 2 4.31926 1.99065 10.951 1.46516 6.05228 1.49628 -300 2 4.59569 2.03046 9.46313 1.15288 -1.38093 1.65567 -301 1 12.0936 2.71745 8.76878 8.49805 -3.46067 13.138 -302 2 11.7642 3.02088 9.61477 0.220384 0.945424 0.25363 -303 2 12.1902 3.51522 8.24872 2.21173 -1.18559 0.759853 -304 1 33.0108 6.97676 32.6955 -5.39336 5.62795 5.2098 -305 2 32.4 6.99323 31.9588 0.303423 2.98326 0.44294 -306 2 33.8734 7.08299 32.2945 -0.112867 -5.59797 0.727311 -307 1 24.1963 6.70858 6.62675 0.879076 0.0982027 -0.983687 -308 2 24.4318 5.9833 6.04821 0.352999 1.10541 -0.37129 -309 2 23.3964 7.07001 6.24502 1.91575 -0.216065 3.33754 -310 1 11.2091 33.6649 13.7407 -6.08425 8.77156 -4.90196 -311 2 11.1256 33.9572 12.833 2.14023 -4.30782 -1.72852 -312 2 12.1306 33.8092 13.9555 0.414871 -5.22416 -0.696513 -313 1 9.04203 20.2545 13.13 -11.6814 -4.34275 -7.95811 -314 2 8.8286 19.4941 13.6708 1.64772 1.25875 2.00469 -315 2 9.25025 19.8872 12.2709 1.63204 -2.13387 1.03075 -316 1 8.42575 16.2928 7.43807 4.27381 -5.07133 -11.2648 -317 2 9.14283 15.7265 7.15276 -0.223023 -1.0138 2.92862 -318 2 7.70404 15.6916 7.62238 -0.390521 1.92201 -3.11575 -319 1 8.18394 30.9543 14.0748 -2.41667 -5.27262 -15.4671 -320 2 7.61392 30.4978 14.6935 1.26892 2.6435 0.282607 -321 2 7.66613 31.7031 13.779 0.517852 -0.171684 0.241652 -322 1 17.7653 27.7195 30.1717 -5.59966 -3.46467 4.68953 -323 2 17.6495 28.6114 29.8441 1.1767 0.00400204 1.62723 -324 2 17.4674 27.7572 31.0806 -0.00179477 -1.83252 -0.125619 -325 1 17.4565 25.8547 16.7851 -0.924208 4.99742 3.12478 -326 2 18.0298 26.5695 17.0618 1.78723 -3.04755 -0.28129 -327 2 17.9684 25.0615 16.9433 -2.11137 -0.526495 -0.247938 -328 1 28.6033 12.4545 18.3091 1.30401 -1.32623 5.99183 -329 2 28.8677 12.5412 17.3932 -6.09413 0.760724 -0.774634 -330 2 28.3247 13.3344 18.5628 0.561944 -2.20607 0.512001 -331 1 20.0362 19.611 21.6134 -13.4793 -19.5824 -2.94183 -332 2 19.2704 19.3962 22.146 -1.65974 0.452498 -2.60353 -333 2 20.5285 20.2383 22.143 -2.66547 0.558464 -2.18073 -334 1 24.4357 31.0837 15.2736 -7.11272 4.40663 -2.01195 -335 2 24.6197 31.0814 14.3343 -0.722228 -2.7073 0.505959 -336 2 23.6441 31.6146 15.3618 1.31075 -1.77272 0.685277 -337 1 14.0307 4.28505 28.2267 3.6145 5.9881 4.95361 -338 2 13.7557 5.01311 27.6695 -1.23453 0.238681 1.38326 -339 2 14.7553 3.8791 27.751 -4.23601 -1.64363 -0.401782 -340 1 3.18443 1.92001 1.25427 -3.2953 14.3493 -3.63966 -341 2 3.90511 2.02168 1.87598 -0.637342 1.43726 -0.0244416 -342 2 2.61932 1.25558 1.6485 2.7296 -3.03416 -2.96996 -343 1 22.5471 23.601 9.46872 7.69607 4.82225 -7.27847 -344 2 22.8393 22.8173 9.00325 3.05506 0.618861 1.11025 -345 2 23.3409 23.9483 9.87554 -1.01519 2.56456 -0.27686 -346 1 6.44242 3.01688 18.8813 1.82273 1.7924 0.410445 -347 2 5.97208 2.73028 19.6641 0.698581 -0.273663 -1.81346 -348 2 5.9178 2.68682 18.1518 -1.05906 2.15457 0.347978 -349 1 12.3141 10.9428 26.1835 2.77889 -16.9609 6.06916 -350 2 11.7911 11.5389 26.7195 1.48107 -0.890573 -0.438788 -351 2 12.5038 10.204 26.7618 2.58289 1.03348 1.72282 -352 1 8.93879 1.71279 18.8111 -4.63544 1.30018 -2.05909 -353 2 9.38423 2.3982 19.3091 3.50858 -3.22624 -4.06656 -354 2 8.08216 2.08568 18.6028 -0.570251 -0.468788 4.26163 -355 1 2.23179 20.2207 0.677379 -8.64361 -7.72747 2.41023 -356 2 1.94019 19.3835 0.316362 0.0914765 -1.12871 1.42597 -357 2 1.49665 20.8154 0.528486 -0.886094 -1.37579 -0.774201 -358 1 32.3482 18.1318 22.3789 0.558177 1.12951 3.49315 -359 2 31.8038 18.8698 22.6531 -0.382097 -0.295343 0.226796 -360 2 32.8285 17.8815 23.1682 0.188179 0.196747 -0.685 -361 1 20.2488 32.1003 18.4895 -14.2425 6.04396 12.8856 -362 2 19.4344 32.568 18.6749 -1.59525 -2.4038 2.46969 -363 2 20.7813 32.225 19.275 -1.94305 -2.80646 1.54529 -364 1 32.4423 13.4881 19.5499 -1.48552 -2.05876 -19.7713 -365 2 32.4655 14.2688 20.1034 1.38911 -1.27458 0.223738 -366 2 31.9988 13.7734 18.7511 -4.15659 0.456242 1.81568 -367 1 35.2698 18.2117 1.39679 -9.31338 -2.25079 -16.8697 -368 2 0.0774076 18.3737 2.28641 4.04563 -5.10782 -1.81823 -369 2 34.5202 17.6273 1.50955 -1.78436 3.10543 -0.930148 -370 1 3.3859 26.4404 7.35643 1.04508 -5.80812 4.88798 -371 2 2.45634 26.3944 7.5801 -0.622699 0.701582 -2.53259 -372 2 3.4738 25.8865 6.58071 1.68108 1.16996 -0.465971 -373 1 15.9435 21.7553 15.768 24.104 -4.31563 10.3878 -374 2 16.5364 22.1083 15.1046 -0.192815 4.85855 2.44345 -375 2 15.2807 21.2786 15.2682 -1.69841 6.3951 -1.01283 -376 1 20.498 23.5729 7.40932 9.51757 2.01359 -2.50442 -377 2 19.7757 23.4786 8.03026 0.221927 -4.54778 -2.54866 -378 2 21.2469 23.8263 7.94899 -1.82273 0.142949 1.81261 -379 1 6.63884 4.33333 1.91475 -15.452 2.83468 -9.69141 -380 2 6.33817 4.88893 1.19564 2.85594 -1.87067 -1.30187 -381 2 7.46593 4.72701 2.19255 -0.936521 -1.25523 -0.056747 -382 1 26.7003 32.8932 9.89209 1.89298 6.32708 1.08491 -383 2 26.6207 31.9398 9.92351 -1.6032 0.81617 0.639698 -384 2 27.3368 33.1035 10.5754 0.827969 -0.69281 -0.566807 -385 1 5.49409 32.6341 12.9276 7.40176 2.39872 1.50516 -386 2 5.69799 33.4612 13.3643 -0.120038 -0.654192 1.92629 -387 2 4.58681 32.4512 13.1718 0.431893 -0.340158 -1.74835 -388 1 3.37321 5.95681 9.99178 1.45489 -4.52468 -1.46946 -389 2 3.97059 6.52252 10.481 -1.68862 0.0234268 0.727212 -390 2 3.44617 5.10368 10.4197 -1.31454 2.07979 1.93758 -391 1 2.62995 9.37933 30.0075 1.85838 -1.67291 -1.09479 -392 2 2.76015 9.85854 29.1892 2.58473 -1.85191 -0.329678 -393 2 1.71864 9.08853 29.9729 -0.242362 3.88792 1.44688 -394 1 0.976039 8.02112 8.99902 5.73753 -0.624598 9.30034 -395 2 1.81032 8.16289 8.55169 -0.965673 -1.99762 -2.13252 -396 2 0.442944 8.77886 8.75846 -1.49315 -2.97558 -4.35998 -397 1 2.73717 11.5335 15.383 16.3922 7.22197 -3.81787 -398 2 3.53088 11.795 15.8498 1.78704 -1.50506 -0.523988 -399 2 2.95475 10.6855 14.9959 -1.35244 -0.289537 0.203787 -400 1 18.3512 23.1702 17.3703 -4.95937 -10.7694 -12.8152 -401 2 17.8222 22.4723 16.9837 -2.04428 1.05664 -1.34106 -402 2 19.0358 23.339 16.7229 -2.69325 -1.34853 0.520452 -403 1 9.13203 4.89942 5.72214 0.239062 -1.22177 11.0193 -404 2 9.74802 5.58289 5.98606 1.20171 -0.498932 -1.82272 -405 2 9.4604 4.10486 6.14294 -1.02005 0.302482 0.646603 -406 1 7.31467 35.3527 12.8609 11.546 -9.36403 9.08963 -407 2 7.71939 35.181 13.7112 1.78824 0.973874 -0.170189 -408 2 6.4036 0.0557527 13.0667 3.43704 4.20229 1.08076 -409 1 0.520361 24.4038 19.6695 -7.48128 12.4677 -11.6493 -410 2 0.794978 23.582 20.0762 0.0760696 1.5804 -1.63398 -411 2 0.273098 24.1594 18.7777 -1.59613 0.629255 -0.102249 -412 1 11.6461 23.418 11.5254 19.3089 -15.7344 -13.4298 -413 2 12.5711 23.6642 11.5243 -0.173102 3.96595 -0.780912 -414 2 11.2137 24.1117 12.0235 -3.8378 -1.73203 -7.52143 -415 1 3.45601 3.18554 19.1271 -2.46962 4.1222 -1.6637 -416 2 3.15792 3.7519 18.4153 -0.842065 -2.18539 -1.11456 -417 2 3.79508 3.78913 19.7881 1.94644 1.26937 -2.4694 -418 1 20.6329 31.6376 26.8968 4.80244 12.8541 12.6069 -419 2 21.2262 31.7764 26.1586 1.14682 -3.64936 1.01608 -420 2 20.8434 32.342 27.5097 2.26883 2.08422 -1.34892 -421 1 27.8714 20.3258 9.33865 -3.3081 -0.804317 5.9965 -422 2 27.0362 20.7175 9.0834 0.487018 -0.540637 -1.72978 -423 2 27.6374 19.6655 9.99095 -1.49585 -0.931242 -1.34209 -424 1 31.2907 11.935 0.403222 -5.16277 -4.03868 -6.95223 -425 2 31.3266 12.0385 1.35412 -0.0314989 0.539472 -0.727772 -426 2 30.3566 11.9522 0.195033 -0.214207 -0.751818 0.000993452 -427 1 21.393 7.42281 2.71191 -5.24456 8.36552 1.80019 -428 2 22.2268 6.95299 2.72748 -2.37431 -0.841254 0.0737861 -429 2 21.0503 7.33297 3.60112 -1.92978 -1.44291 -1.71718 -430 1 20.0182 19.5371 17.1698 4.10963 1.46782 -4.0209 -431 2 19.072 19.4657 17.0434 1.35174 -0.972995 2.81464 -432 2 20.1153 20.0708 17.9585 1.15183 0.710433 -1.62106 -433 1 3.60738 34.6751 24.7187 0.216396 4.58085 -3.75026 -434 2 3.62356 34.5417 25.6664 -1.51956 2.32936 0.038933 -435 2 4.51511 34.5478 24.4429 0.184437 -1.71569 1.29655 -436 1 23.4211 19.5532 18.8954 11.6131 -3.593 -1.24999 -437 2 24.0828 19.0413 18.4303 -2.26588 0.773423 -1.28315 -438 2 23.0598 20.1392 18.2304 -0.15863 -0.444182 2.45498 -439 1 13.0249 3.81722 4.39568 3.56887 -12.4582 -1.3446 -440 2 13.3837 3.13173 3.83212 -1.32684 -0.332106 -0.798633 -441 2 12.9531 4.58307 3.82599 0.613943 0.165888 1.50952 -442 1 15.2865 28.3719 13.0679 -10.2917 7.23825 0.0244674 -443 2 15.6972 28.8248 12.3314 0.212319 0.180989 1.7217 -444 2 14.4299 28.1024 12.7365 0.536309 -0.575973 -0.609846 -445 1 31.0686 4.6397 29.6449 1.43394 2.05487 0.386275 -446 2 30.926 5.35165 30.2686 2.23912 -2.18878 0.563649 -447 2 31.2886 5.08021 28.824 10.088 -3.19924 2.71167 -448 1 18.6711 22.7246 9.2811 1.49922 -10.5913 7.12206 -449 2 19.3914 22.6549 9.90762 0.13932 0.66929 0.369292 -450 2 18.2325 21.8749 9.32414 2.45023 -1.44778 -0.689229 -451 1 20.6767 4.79282 26.4504 -0.590313 -0.952314 -0.968562 -452 2 21.2956 4.87233 25.7245 0.450434 -0.564718 1.45007 -453 2 19.9084 4.37101 26.0657 0.24932 2.5393 -1.1478 -454 1 23.3303 28.5909 34.8777 -2.81343 10.6046 -7.34803 -455 2 22.3866 28.74 34.8206 0.106825 -0.252715 0.87678 -456 2 23.4159 27.6491 35.0256 0.5842 2.04095 4.35992 -457 1 19.3011 32.1582 13.0189 -19.6232 -14.0731 3.58768 -458 2 18.8244 32.2026 13.8478 6.36595 2.94129 4.18185 -459 2 19.6986 33.0238 12.924 1.99286 -3.30428 -4.86621 -460 1 34.7649 20.5 35.2421 1.76199 1.77478 15.1806 -461 2 34.8177 20.2119 34.3308 -3.34859 1.45927 0.784508 -462 2 34.9002 19.7027 0.306946 -0.253 -0.658019 -0.416262 -463 1 13.9835 1.36871 3.22861 6.99391 1.42338 0.122431 -464 2 13.603 0.492216 3.28479 -2.78286 1.80507 -0.282218 -465 2 14.8374 1.28731 3.65357 -0.900388 -3.09043 1.34963 -466 1 24.9654 8.5946 8.51564 1.72964 6.2782 0.705419 -467 2 24.9517 7.91214 7.8446 -2.19037 -1.12406 1.74601 -468 2 25.8931 8.71042 8.72118 0.0737234 -1.99007 0.0117182 -469 1 14.1791 14.8719 29.6206 -0.918442 -10.3852 -4.82433 -470 2 14.451 13.9922 29.882 -0.775842 -0.619118 -0.244396 -471 2 13.2483 14.7844 29.4154 0.438279 -0.104685 0.762058 -472 1 32.488 9.01431 2.57467 11.5904 1.75899 3.61817 -473 2 31.9241 8.88468 3.33717 0.166931 -0.276803 -0.97149 -474 2 32.9484 9.83428 2.75331 -0.929715 0.630808 -0.0765109 -475 1 33.4764 32.1742 27.4714 1.05341 -2.61782 -13.9523 -476 2 33.3729 32.1778 28.4229 -5.2426 -1.12562 -1.9872 -477 2 34.0436 31.4237 27.2945 2.33066 1.11697 1.51862 -478 1 31.0984 6.21906 0.750212 12.3643 -12.4159 -0.421904 -479 2 31.6066 5.85837 35.4709 -0.494525 1.66756 -0.15846 -480 2 31.3572 7.13971 0.790405 -5.68671 -0.551968 -3.21754 -481 1 14.5695 18.7894 19.0871 -1.90796 -3.76053 -3.63924 -482 2 15.4683 18.7669 19.4156 -0.630005 0.263907 -0.375132 -483 2 14.2829 17.8763 19.1093 0.486453 0.766963 0.812827 -484 1 34.1171 15.7715 34.7579 1.56618 7.09269 1.4946 -485 2 34.1309 15.2433 0.108857 -3.94339 -3.20093 -2.32266 -486 2 33.3644 16.3525 34.8677 -0.193311 0.120866 -0.987159 -487 1 27.1796 6.31455 11.1495 -0.266231 -2.83304 -14.9625 -488 2 27.1663 6.88132 10.3783 1.1045 2.84259 1.77445 -489 2 26.8565 6.86858 11.8601 4.07747 -2.36122 -0.139652 -490 1 11.8389 26.7847 35.2847 -1.91829 -6.52206 -2.64155 -491 2 11.0136 26.453 0.191095 -0.549642 1.52125 0.596636 -492 2 12.4367 26.7866 0.585057 -0.447364 -1.41139 -2.15905 -493 1 7.69881 20.7241 27.5003 1.8828 -2.06647 2.71073 -494 2 7.68295 21.6549 27.2778 -1.99637 -1.87466 -3.19419 -495 2 7.81645 20.2787 26.6613 -1.37681 -3.47018 1.76359 -496 1 23.5044 8.78517 32.0302 3.32344 6.36037 2.07369 -497 2 23.2527 8.22132 31.2988 0.253398 -0.0881024 1.23143 -498 2 23.4087 8.23076 32.8046 1.87213 0.687678 -1.19919 -499 1 15.5757 12.9973 12.6037 -5.57599 -4.4579 -12.8095 -500 2 14.8142 13.5229 12.8488 2.90329 4.65698 -2.20035 -501 2 15.4272 12.7735 11.685 0.656589 3.07486 -1.13415 -502 1 11.2997 27.9238 8.68592 3.62424 -8.43873 -8.49129 -503 2 11.6457 27.1285 8.28079 0.771654 0.415271 -0.578333 -504 2 11.2957 28.5704 7.9802 3.63943 0.89983 1.37702 -505 1 15.7631 14.5535 3.49731 -6.85886 2.14874 -12.0003 -506 2 16.0022 15.076 2.73178 -2.52479 1.57515 2.67209 -507 2 15.6107 13.6747 3.1499 0.494254 2.10286 0.205646 -508 1 29.0408 26.8793 19.8513 -5.49056 13.969 -4.6493 -509 2 28.5993 26.7894 19.0068 2.16094 1.85512 0.37728 -510 2 28.9486 27.806 20.0728 -1.16326 0.29917 0.76249 -511 1 28.0287 8.84036 0.368412 -4.82376 -0.0637703 9.78351 -512 2 28.9833 8.90623 0.343309 -1.31513 -0.756137 0.287451 -513 2 27.8204 8.72485 1.29551 -1.01476 -0.0693157 0.347446 -514 1 32.7521 2.39627 21.02 8.00488 -5.51663 5.67018 -515 2 32.2006 1.61423 20.997 0.0566587 1.05481 -1.41139 -516 2 33.6468 2.06065 20.9658 0.272289 -0.0662684 3.3069 -517 1 16.2501 5.40454 30.7319 -10.6043 1.46911 6.06676 -518 2 16.7175 6.23904 30.7691 -4.10224 1.1731 3.32774 -519 2 16.6099 4.962 29.9632 4.76324 0.982963 3.22418 -520 1 28.5802 22.3131 24.2218 2.10409 3.22733 4.27187 -521 2 28.6225 23.0502 24.8311 0.649947 1.43249 -1.91374 -522 2 29.2532 21.7069 24.5314 0.725953 1.52311 1.07467 -523 1 31.7165 17.9817 9.79948 5.89721 -8.24391 -2.31239 -524 2 32.5537 17.6205 10.0908 0.337057 1.53474 0.464249 -525 2 31.1062 17.7736 10.5069 1.79463 6.02692 -0.949074 -526 1 28.8184 33.2418 34.5975 6.42684 -9.17969 -22.3829 -527 2 28.5188 33.9514 34.0293 0.851926 1.3499 1.61506 -528 2 28.338 33.3703 35.4154 6.05313 1.26619 1.43314 -529 1 34.6124 19.7116 32.7122 2.9387 -5.89333 -0.721319 -530 2 34.6267 19.2985 31.8489 1.81217 -3.23088 2.05347 -531 2 33.9386 20.3879 32.6436 2.14753 0.741233 -5.03891 -532 1 17.6895 27.6466 3.22037 10.3042 8.51135 -1.46486 -533 2 18.4438 27.4466 3.77465 -0.59305 1.70352 1.28878 -534 2 17.8365 28.5469 2.93053 -3.05018 -1.08204 1.14552 -535 1 26.688 34.6179 27.4958 6.90214 8.50192 -19.3943 -536 2 26.44 35.4283 27.9407 -3.27192 -2.50748 -0.144205 -537 2 26.6047 34.8206 26.564 -3.13653 1.8516 0.247606 -538 1 21.3295 26.6207 14.5048 6.70822 -2.20352 2.66792 -539 2 20.7459 26.1786 13.8882 -1.37163 3.52334 -0.332461 -540 2 22.1963 26.5547 14.1043 0.192064 -2.84235 0.25139 -541 1 0.363555 14.1675 2.11303 -6.25059 -2.05981 -1.5423 -542 2 0.9324 14.6264 1.49488 -1.74165 1.00595 -0.160775 -543 2 35.1804 13.7879 1.56834 -0.239314 0.577713 2.75664 -544 1 23.7908 1.56977 23.8123 -0.816205 1.39063 0.740525 -545 2 23.0057 1.16548 24.1817 -0.260863 1.94539 -0.274017 -546 2 23.4679 2.09782 23.0821 2.10223 -0.879634 -1.21132 -547 1 8.55211 33.4678 4.50991 12.9856 -6.42546 3.97051 -548 2 9.32851 33.2069 4.01458 -0.818876 0.857663 -2.75803 -549 2 7.84149 33.4507 3.86885 -0.888496 2.40113 2.65811 -550 1 33.9695 22.1742 28.9396 7.32738 -10.1169 -9.0686 -551 2 33.7528 23.0342 29.2996 -3.1884 -3.44281 1.85201 -552 2 34.4899 22.365 28.1592 0.15838 1.97285 1.08942 -553 1 14.4933 4.45192 8.81758 11.5568 2.77541 3.78457 -554 2 14.1841 4.63623 7.93062 -0.591872 -0.790408 1.45674 -555 2 15.3793 4.81325 8.84285 -0.312317 1.61279 -1.00632 -556 1 33.7969 24.0157 9.17998 -0.860672 -12.3168 14.9645 -557 2 33.9536 23.139 8.82927 3.01344 0.158328 0.255365 -558 2 33.5722 24.544 8.414 2.28134 0.00539634 0.928837 -559 1 16.234 19.0059 12.2615 0.112462 -10.8756 3.7563 -560 2 16.8908 18.9843 12.9575 -2.53229 -0.477538 2.24349 -561 2 15.418 18.7538 12.6936 -1.60278 -0.242065 -2.96867 -562 1 31.0089 33.5775 32.251 -6.08024 -4.9206 6.69296 -563 2 30.9159 33.2471 33.1445 -1.01377 0.598589 0.481275 -564 2 30.3001 33.1565 31.7645 2.42064 -2.19834 -0.774328 -565 1 2.09615 7.04206 25.4974 -2.95029 1.66888 1.12805 -566 2 1.37386 7.21121 26.1023 -1.0704 0.813157 -1.41652 -567 2 2.2409 6.0976 25.5546 -1.32486 0.399374 0.122301 -568 1 20.3863 7.66706 35.4487 2.00529 -5.62568 -1.1247 -569 2 20.3751 7.15146 0.807865 3.34321 3.16259 1.68616 -570 2 21.2821 7.58257 35.1222 -1.17467 -0.255137 -2.00875 -571 1 29.2757 19.0355 27.69 12.4492 -5.23436 -9.41886 -572 2 28.4706 18.6154 27.3874 0.176645 2.40036 -2.41706 -573 2 29.9585 18.6868 27.1169 0.286933 -0.867438 -0.0214945 -574 1 13.9396 22.6604 17.387 0.961528 3.84075 8.26404 -575 2 14.768 22.5713 16.9158 -2.94659 0.0446589 -3.3908 -576 2 14.0526 23.444 17.9251 -0.0210095 2.54723 -3.81474 -577 1 25.1254 22.9236 17.5328 -4.2072 -11.6775 1.173 -578 2 24.3238 22.4054 17.604 -1.15035 1.09054 0.507968 -579 2 25.7048 22.5629 18.204 -1.85558 -0.22377 1.57804 -580 1 14.8107 28.3579 3.79288 5.41004 1.08897 3.5082 -581 2 15.7515 28.2829 3.63346 -0.268184 -0.326884 0.247627 -582 2 14.7429 28.6174 4.71173 -0.0160614 -1.18561 0.381478 -583 1 9.41598 1.55951 11.4373 -1.27708 -1.30543 -1.18447 -584 2 9.07006 1.0324 12.1575 -2.01482 1.69029 -0.369165 -585 2 9.03579 1.16939 10.6502 0.662771 -0.875416 0.288418 -586 1 0.58385 35.2913 12.1129 -4.59852 -5.51783 -3.21217 -587 2 0.998386 34.4544 11.9028 0.0502009 0.746187 -3.21713 -588 2 35.3824 35.3755 11.474 -1.03704 0.908107 1.36058 -589 1 25.0004 27.1119 22.8622 -13.2571 -1.66181 -7.51737 -590 2 24.9396 26.6753 23.7118 4.98409 0.805757 0.124312 -591 2 24.9754 28.046 23.0701 5.00974 0.105757 -0.896936 -592 1 28.0962 27.0826 14.3699 9.75909 -4.99327 -3.40396 -593 2 28.1956 26.1355 14.4667 -0.81923 0.593925 -2.48966 -594 2 28.7706 27.3314 13.7379 -0.0317515 -0.23503 0.0672887 -595 1 29.444 8.92761 21.3861 1.50481 -8.93017 6.1292 -596 2 29.8855 9.44577 20.7132 -2.0851 2.43375 2.45504 -597 2 28.8381 8.36871 20.8996 0.44643 3.49538 -0.812548 -598 1 5.82754 14.8939 2.81911 -5.59983 2.76004 10.7496 -599 2 5.68023 14.0084 3.15134 1.85506 -1.47027 -2.8334 -600 2 5.11996 15.0351 2.19011 2.5704 -0.655237 -2.15153 -601 1 31.1105 8.01751 27.8865 -6.5494 -12.9843 8.28162 -602 2 31.4698 8.70389 27.3243 -1.56568 -0.571698 1.23814 -603 2 30.8161 7.33917 27.2787 -1.53479 -0.513772 0.977857 -604 1 24.9252 28.59 25.9654 -5.42324 -2.99608 5.96273 -605 2 25.8765 28.5064 25.9001 -0.101464 2.35665 0.906911 -606 2 24.7824 29.079 26.7758 -1.91588 2.1974 -1.74784 -607 1 34.8618 10.2981 12.8754 -6.03294 -9.82315 5.91867 -608 2 34.62 9.37383 12.934 1.66846 -0.524965 3.68104 -609 2 34.2791 10.7384 13.4941 0.317523 -0.167799 -2.16845 -610 1 10.3162 24.5779 6.57326 -1.56094 -7.98183 6.25629 -611 2 9.44667 24.6657 6.96364 0.985614 2.82514 -0.0705805 -612 2 10.147 24.3987 5.64833 0.163381 3.32176 -0.15988 -613 1 4.30088 0.283364 18.8449 -6.8644 4.78232 -9.13732 -614 2 3.7956 0.986036 19.2538 1.66753 0.890384 0.436428 -615 2 4.34804 0.528123 17.9208 3.86139 1.28596 1.6154 -616 1 8.41821 15.4855 34.9168 1.64855 -0.638461 -5.83869 -617 2 8.57075 16.0913 34.1915 -1.60864 0.518095 0.946156 -618 2 8.05851 14.7011 34.5026 0.352975 0.24098 -0.868061 -619 1 6.18725 7.54332 24.2159 -2.57914 1.32946 0.257693 -620 2 6.02423 8.48096 24.3183 -0.209671 -0.301546 -0.618823 -621 2 6.94523 7.49367 23.6335 1.18408 -0.061398 2.14073 -622 1 1.08592 14.4152 23.7524 6.00274 5.28206 14.9512 -623 2 0.608047 15.0258 23.1911 2.02583 -5.93496 -4.04289 -624 2 0.479964 13.686 23.8844 4.0026 -2.60843 0.599883 -625 1 31.6746 8.22056 14.0861 -10.0186 2.39958 -1.144 -626 2 31.1088 7.81954 14.7459 0.00693743 -0.98606 -0.317934 -627 2 31.361 9.1223 14.0171 -1.06214 0.0184056 1.37046 -628 1 4.32019 13.1655 34.0204 1.45698 -6.33101 11.6555 -629 2 4.89915 13.7806 33.5702 -2.03822 -0.611236 1.14573 -630 2 3.5548 13.0949 33.4499 1.05598 -0.287541 0.805733 -631 1 22.6652 11.9877 8.47553 6.87629 4.72031 7.41651 -632 2 22.5671 11.2066 9.02004 0.248744 -0.407166 -1.3907 -633 2 22.4063 11.7033 7.59901 -1.38341 3.46652 0.726627 -634 1 12.57 8.92618 31.8905 -5.5735 -8.37952 -10.0675 -635 2 12.9683 8.56051 32.6804 0.497007 3.07762 -1.37082 -636 2 12.4409 8.17186 31.3156 2.46302 1.62 -0.466361 -637 1 7.37381 21.6448 6.22012 -6.12579 14.0379 7.33633 -638 2 7.14945 22.4979 5.84839 1.60045 0.951472 3.86764 -639 2 7.30317 21.0364 5.48454 2.20602 3.48273 -1.49842 -640 1 27.012 16.638 8.08604 7.42115 -3.47323 -1.11644 -641 2 26.4249 16.8502 8.81163 -2.32483 1.48305 -3.55121 -642 2 27.3761 15.7826 8.31424 -3.14108 -0.976135 2.14509 -643 1 7.19631 3.79075 31.5904 6.27022 -6.71864 5.57236 -644 2 7.20908 3.74333 30.6345 0.007883 2.98959 0.506436 -645 2 8.10694 3.95604 31.8347 -0.368599 3.41115 0.0311792 -646 1 30.1631 16.2124 7.4475 -5.07716 4.07369 0.661528 -647 2 30.0806 17.1289 7.71122 -1.47852 0.620996 -1.60343 -648 2 29.29 15.9726 7.13678 0.661691 -0.819756 -1.14693 -649 1 10.2181 4.40317 31.8925 -0.932383 0.930783 -2.57327 -650 2 10.6312 4.89156 31.1804 -3.31874 0.342968 -0.704544 -651 2 10.8637 4.41688 32.5991 -1.50209 3.84142 0.0634357 -652 1 27.5055 28.3854 25.6772 15.2262 0.781625 -3.25947 -653 2 28.3671 27.9822 25.7843 0.406487 -0.189089 1.7948 -654 2 27.5734 29.2222 26.137 -0.383396 -0.891831 1.64994 -655 1 19.0548 11.9044 31.2635 -1.49924 -16.0938 16.0943 -656 2 18.278 12.0337 30.7194 1.60015 2.04851 -0.290398 -657 2 18.7096 11.6346 32.1145 -2.50396 -2.7008 -0.71459 -658 1 3.86829 28.0986 13.0251 -8.88494 20.506 -2.24887 -659 2 4.48938 27.4844 12.6336 -2.77072 -3.10086 4.10107 -660 2 3.80929 28.8154 12.3935 6.75996 -0.56643 0.252764 -661 1 26.5989 23.341 29.5583 10.1106 -5.00147 5.08156 -662 2 25.8179 23.605 29.0719 1.03155 0.176755 0.313586 -663 2 26.739 22.4273 29.3098 3.0246 2.44074 -1.50213 -664 1 27.6953 7.41221 19.8629 -1.30025 3.73685 -8.38598 -665 2 27.8011 6.61011 20.3744 -1.90562 1.30371 -0.183769 -666 2 27.2997 7.1222 19.0409 1.36775 1.39393 -1.00924 -667 1 20.0533 4.55795 1.84261 7.22428 2.40301 3.70219 -668 2 19.1372 4.42261 2.08475 -0.400473 1.96223 -3.73638 -669 2 20.387 5.16994 2.49861 -1.94327 1.51343 0.137945 -670 1 32.6071 15.4752 21.2995 -5.91183 8.22589 6.98481 -671 2 32.4285 16.4031 21.4518 0.346947 0.258797 1.63333 -672 2 32.5913 15.0814 22.1718 -2.33312 -0.847998 -0.394008 -673 1 29.0544 5.06448 32.5335 0.595357 9.51656 1.52449 -674 2 28.1825 4.93011 32.162 0.386468 0.677 -0.128446 -675 2 28.9332 5.75284 33.1874 -0.0493197 -3.41456 1.71749 -676 1 18.3053 3.04581 8.64569 -10.7406 0.946939 -3.19733 -677 2 18.0242 3.96078 8.64788 -2.20562 -0.435996 0.89925 -678 2 17.5385 2.55982 8.3424 1.10413 -0.303243 -2.54057 -679 1 34.7305 1.9173 8.11838 3.01631 -7.00668 -11.9442 -680 2 35.3311 2.23212 7.44274 -0.519048 0.195859 -0.860094 -681 2 34.6269 0.984264 7.93148 3.98188 -0.648897 1.2795 -682 1 20.9496 29.3104 14.6892 -3.70179 3.33217 3.77515 -683 2 21.1509 28.3804 14.5859 -0.506779 1.88547 -2.17469 -684 2 19.9969 29.3415 14.7761 1.26672 1.35164 -4.74743 -685 1 31.9093 26.1979 33.5435 5.8537 -2.47937 -18.9022 -686 2 32.2876 27.0747 33.4779 -0.35563 -0.0340489 2.33841 -687 2 31.8752 26.021 34.4836 -3.70334 -2.04476 -1.873 -688 1 2.9736 9.05146 14.3062 2.19599 -2.30297 -3.99016 -689 2 2.8398 8.90967 13.3691 -1.20179 0.358292 0.773672 -690 2 2.15931 8.75466 14.7125 1.92027 -0.439365 0.51019 -691 1 34.2421 3.69258 9.97318 -9.24712 4.42745 -0.146502 -692 2 34.5516 3.03765 9.34748 -2.5003 0.669663 -0.865995 -693 2 33.2879 3.62583 9.93819 -0.325589 1.34622 2.80943 -694 1 19.8463 0.146468 18.9028 -5.82595 -8.64354 -11.8952 -695 2 20.6351 0.687189 18.8624 -0.385776 -3.00728 0.414895 -696 2 19.1237 0.773588 18.8739 0.297834 -0.280708 -1.54633 -697 1 32.2566 30.8307 10.9245 1.9182 -8.08889 -8.37295 -698 2 32.6124 31.6594 10.6036 -0.67285 0.0188545 1.37469 -699 2 32.9253 30.4983 11.5233 -0.60072 -1.0408 -0.364989 -700 1 27.0164 17.9458 11.2306 29.3941 5.4327 18.0331 -701 2 26.8549 18.3628 12.0769 0.436708 0.120834 0.902788 -702 2 27.9702 17.9002 11.1637 1.24744 1.38009 2.23159 -703 1 20.2276 35.2413 14.5847 -6.38363 4.21045 -6.3748 -704 2 20.5897 34.942 13.7507 -0.946295 -1.58315 0.467771 -705 2 20.5096 34.5822 15.2191 0.552104 2.65704 0.197085 -706 1 28.1335 28.8742 1.33585 -17.9446 -4.44271 7.6833 -707 2 27.5222 29.2604 0.708656 1.69257 3.84862 2.08503 -708 2 28.8679 28.5731 0.800859 2.88528 6.54779 2.79293 -709 1 19.0579 9.09327 19.7905 -0.924494 0.415639 0.758809 -710 2 18.1016 9.1349 19.795 0.755584 -0.638899 -1.26678 -711 2 19.3372 10.0032 19.6897 -0.41003 0.224577 0.865792 -712 1 28.9062 11.685 7.13595 -15.8028 12.0419 -10.8777 -713 2 29.7558 11.7798 6.70539 0.941726 -3.74856 4.05338 -714 2 28.3932 11.1419 6.53758 -0.416183 1.13666 0.369734 -715 1 15.6796 27.8051 20.409 -4.30862 8.99812 1.76111 -716 2 16.0055 28.5046 19.8426 0.0658771 -0.608898 -0.0431367 -717 2 16.4247 27.2131 20.5121 -2.55065 -1.78559 -2.97347 -718 1 11.4669 8.69535 1.7881 3.54567 -6.70503 -14.197 -719 2 10.6677 9.13781 2.07408 1.62169 0.639925 0.837299 -720 2 11.181 8.11651 1.08139 -0.720094 -0.204453 0.962196 -721 1 35.2897 10.2863 26.2119 4.12582 6.84814 -3.0773 -722 2 35.2518 9.49778 26.7532 -1.85243 0.132487 -1.42403 -723 2 0.369646 10.8754 26.6866 0.692651 -1.59346 0.99278 -724 1 15.127 29.3401 22.7028 -1.22894 -7.21841 -4.94819 -725 2 14.233 29.681 22.6765 1.25715 1.15531 2.7638 -726 2 15.1711 28.7255 21.9702 -2.05708 2.0103 -2.41298 -727 1 26.3495 6.84339 25.1733 2.22474 4.34196 -5.42501 -728 2 26.0131 7.59501 24.6853 -2.12949 -2.27416 1.37751 -729 2 26.2031 6.09588 24.5936 1.37698 0.744542 -0.0605856 -730 1 17.8747 33.0766 31.3368 -4.46865 10.3686 0.32797 -731 2 18.2301 33.7802 30.7937 -0.355211 0.357844 -0.445013 -732 2 17.6073 33.5106 32.147 1.72848 0.757838 0.649591 -733 1 3.45284 32.2318 21.0708 2.99049 -2.38264 10.4642 -734 2 2.9913 32.5369 20.2897 3.33045 1.23759 0.0991466 -735 2 3.41787 32.9732 21.6752 -0.938543 -0.814509 1.09571 -736 1 34.6932 28.2428 9.5684 2.1398 5.67268 -7.27178 -737 2 33.8722 28.2955 9.07907 -2.4346 0.378912 5.92242 -738 2 35.026 29.1403 9.57611 -2.28024 0.575748 3.84267 -739 1 11.8368 33.7717 34.9745 6.7257 -5.48874 0.0622548 -740 2 12.7371 33.729 34.652 0.520141 -0.703576 0.541759 -741 2 11.6253 32.8699 35.2158 -0.102979 -0.288651 -0.206856 -742 1 27.9876 23.6391 17.2843 4.2527 4.80622 -1.904 -743 2 27.3196 24.2059 17.6699 2.42824 2.89254 -0.549716 -744 2 27.824 22.7785 17.6702 -0.193594 2.38761 2.30631 -745 1 30.2156 28.5996 35.3164 13.208 0.187617 -5.75936 -746 2 31.1094 28.3726 0.125881 -1.47113 -4.62885 2.07286 -747 2 30.1952 28.4605 34.3696 1.46371 0.0797129 0.287279 -748 1 21.8931 27.3718 7.15006 -1.7779 -0.164471 1.53479 -749 2 22.4329 28.0093 7.61746 -1.8107 0.406661 -0.37565 -750 2 22.522 26.7616 6.76473 0.855512 1.50878 0.399324 -751 1 1.75464 32.9681 9.67687 -3.45906 -2.79051 0.874438 -752 2 2.24229 33.084 8.86139 -3.23062 -1.10111 -0.0597052 -753 2 2.25929 33.4537 10.3294 0.276254 1.02643 -1.43296 -754 1 0.204776 25.6965 3.19375 1.36017 -11.3926 -2.51395 -755 2 0.740405 26.3727 3.60847 1.97185 0.15522 -4.51441 -756 2 0.807961 24.9673 3.04982 -1.78998 -1.81678 0.150586 -757 1 13.8908 31.5112 7.2093 -4.25783 9.6193 0.327517 -758 2 14.5208 30.7998 7.09398 -2.4872 -0.414508 -0.234897 -759 2 13.6443 31.7602 6.31854 0.499774 1.18747 0.138962 -760 1 1.19257 17.2315 10.1724 4.01387 -13.8147 7.04449 -761 2 1.83915 16.535 10.2865 2.04963 0.996736 -0.620844 -762 2 1.4596 17.6774 9.36858 -1.36246 1.05917 1.15977 -763 1 26.3983 29.9729 16.7961 1.54086 -1.3537 -0.476481 -764 2 25.6109 30.232 16.3175 1.00484 3.11554 0.811359 -765 2 27.0297 30.6689 16.6138 1.70043 -1.44863 1.94541 -766 1 6.05025 32.3938 30.1849 6.17697 -3.72403 6.84415 -767 2 6.80649 32.728 30.6672 0.860386 -1.655 0.566707 -768 2 6.42365 31.998 29.3975 -0.373442 -0.344908 0.255516 -769 1 26.1115 21.6673 1.3012 7.12165 -5.40928 -3.64136 -770 2 25.6609 21.8616 2.12305 -0.540892 -1.83053 -1.03408 -771 2 25.6039 22.1295 0.634127 0.0537422 -0.954958 0.0841886 -772 1 17.4459 21.3013 6.11685 1.78239 0.181429 2.56524 -773 2 17.3636 22.2363 6.30487 -1.39352 -1.1471 -0.339725 -774 2 17.4351 21.2469 5.16126 0.0922605 -1.95764 1.09362 -775 1 28.4195 27.0911 17.1251 0.678339 -2.91075 1.24681 -776 2 29.3029 27.3259 16.8412 -0.362192 2.77564 1.74486 -777 2 27.8881 27.1525 16.3313 0.283859 1.18249 1.25909 -778 1 31.3012 34.7157 13.4417 -3.06609 -6.0331 12.8699 -779 2 30.9535 34.8442 14.3242 3.16677 -1.95228 0.902964 -780 2 31.3147 33.7657 13.3251 0.457325 0.814418 -1.48046 -781 1 17.8283 30.3749 2.81217 11.1034 -0.54637 -4.59472 -782 2 18.7188 30.6217 2.56249 -1.7505 -0.465613 -1.79537 -783 2 17.2655 30.9475 2.29108 -1.65554 -1.8943 0.554334 -784 1 21.2134 4.8843 14.5638 16.6109 -17.1721 28.0077 -785 2 21.2778 5.63444 15.1548 -0.658846 -1.64915 2.51101 -786 2 20.9765 5.26482 13.718 -3.9094 -1.58545 3.59177 -787 1 2.58032 4.48009 29.5844 -7.63806 1.10318 -0.00169331 -788 2 1.84483 3.96528 29.2523 0.706097 3.75402 -2.25857 -789 2 3.05925 3.87606 30.1518 -4.492 2.02049 4.27185 -790 1 14.0037 19.8262 25.1957 10.4219 -6.88538 -5.74017 -791 2 13.5836 20.1344 25.9986 -1.16381 -0.477683 -1.52352 -792 2 14.9285 20.0456 25.3091 0.449756 -0.939857 2.15512 -793 1 31.2388 21.2715 20.2169 -0.978942 -14.3411 7.7303 -794 2 31.0148 22.0257 19.6718 4.05201 -4.13714 -5.50188 -795 2 31.7411 21.641 20.9431 -2.18941 2.22165 -0.114837 -796 1 5.99108 23.613 29.5076 2.20651 -2.158 5.73083 -797 2 6.93723 23.4783 29.454 0.453286 3.52709 0.775664 -798 2 5.79582 24.2282 28.8008 -1.39296 -2.47047 -0.205965 -799 1 34.9823 3.70887 28.218 -7.42252 8.93455 -0.990117 -800 2 34.3991 2.96677 28.0588 1.78363 -1.38487 2.18174 -801 2 0.268119 3.50226 27.7219 1.57212 -0.347883 3.96058 -802 1 23.905 26.4033 10.4361 -4.99275 -0.632022 -9.39197 -803 2 23.196 27.0453 10.4738 1.97109 2.49298 -0.28063 -804 2 24.5764 26.8186 9.89483 1.47483 -1.94104 0.15074 -805 1 24.6685 14.2148 8.74888 0.490576 -1.08209 -10.1909 -806 2 25.5156 13.8043 8.57526 -0.714151 0.860405 -0.0223568 -807 2 24.0252 13.5444 8.51884 1.6899 -0.559991 2.99971 -808 1 26.7588 32.328 18.5961 -9.88326 7.15566 7.66545 -809 2 26.9994 33.224 18.3605 -3.588 2.03285 5.28261 -810 2 25.8034 32.3135 18.5408 0.520015 -4.83521 -3.04287 -811 1 15.8178 4.45394 25.2923 -7.79911 14.9462 -4.79541 -812 2 15.0322 4.41122 24.7471 0.822951 0.71047 -1.77631 -813 2 16.0255 5.38705 25.3412 -0.333557 -0.069973 0.788481 -814 1 19.1809 10.067 23.1841 4.47504 2.70061 8.17267 -815 2 18.8741 10.7191 23.8141 3.79214 -0.686846 1.30661 -816 2 20.1161 10.2469 23.0886 -1.47128 -3.43001 0.964128 -817 1 16.9222 8.81535 1.40159 1.11574 5.51973 1.7043 -818 2 17.443 8.47992 0.671935 -1.63985 -1.40282 0.356451 -819 2 16.0665 8.39936 1.29681 1.44643 -2.08056 4.69763 -820 1 22.3983 16.3017 33.0868 12.2723 10.2759 4.52391 -821 2 21.6828 15.7193 32.8314 2.71963 1.43165 -6.9005 -822 2 22.9082 15.7933 33.7174 -2.37334 -1.3664 -0.370885 -823 1 8.68233 34.4854 6.98831 -9.7051 -3.27958 -5.92687 -824 2 9.57728 34.4164 7.32079 -1.47786 -1.83561 0.638748 -825 2 8.75931 34.3015 6.05209 0.558767 -0.582056 0.327442 -826 1 23.9504 6.80165 13.7007 -16.785 -6.31991 0.984633 -827 2 24.0053 5.8461 13.7126 -4.24613 -0.168663 -0.545233 -828 2 24.0238 7.05771 14.6201 2.52793 -0.222877 -1.18707 -829 1 9.00961 30.1242 34.4123 -4.27587 5.41846 11.1091 -830 2 8.35755 29.4249 34.3668 3.36005 -1.91259 3.54475 -831 2 9.65661 29.8927 33.746 0.298694 -0.556363 2.1198 -832 1 26.454 33.5568 7.08081 15.2613 0.494126 18.4802 -833 2 25.8052 32.958 6.71108 -0.415725 2.75231 -0.515271 -834 2 26.4642 33.3521 8.01581 -0.0157164 -1.76267 0.527178 -835 1 30.8871 23.1896 18.3992 -8.25913 13.9675 -4.99826 -836 2 29.9833 23.2292 18.0863 0.615221 0.774556 -2.52108 -837 2 31.4165 23.1711 17.602 1.55419 -1.80827 1.25911 -838 1 10.5268 12.5434 34.908 -10.8736 -5.90294 20.6677 -839 2 11.4058 12.1758 34.9997 -2.59425 -1.2223 1.37599 -840 2 10.516 13.2916 0.057822 1.10212 1.4047 -1.21476 -841 1 3.63297 19.4314 9.71344 13.7626 11.0083 -7.25409 -842 2 3.01725 19.227 9.00964 0.607175 0.501317 1.22175 -843 2 4.48397 19.488 9.27889 -0.71312 1.94194 -1.33876 -844 1 24.5544 32.6989 5.53846 -13.5656 -3.21901 -13.5335 -845 2 25.0445 32.3281 4.80463 -0.198621 -2.58559 1.16942 -846 2 23.7009 32.2674 5.49958 0.761127 -1.64249 2.29822 -847 1 11.8092 0.446084 5.96109 7.63818 -9.67527 3.05556 -848 2 11.4356 35.4153 6.65981 -0.693046 2.58685 1.73292 -849 2 12.7327 0.536988 6.19588 -0.896521 2.16961 2.02876 -850 1 7.05982 31.924 0.313227 8.16613 0.0544357 -3.14849 -851 2 7.51797 32.7644 0.302398 0.374268 -0.149748 0.450227 -852 2 7.60883 31.3445 35.2322 0.00783651 0.204646 0.595802 -853 1 4.87712 2.45099 3.2103 3.22154 0.565306 11.5681 -854 2 5.1171 2.28281 4.12154 -0.150093 -1.39136 0.193859 -855 2 5.18989 3.33944 3.03982 1.62839 -0.298584 1.74792 -856 1 7.47702 15.1494 10.2914 -5.47325 -1.55438 6.53866 -857 2 7.03069 15.8948 10.6931 1.33627 1.66494 -2.26695 -858 2 7.08667 15.0769 9.42043 -1.53852 -3.18225 2.24385 -859 1 6.26198 26.9056 24.5482 -8.59015 -4.90367 -11.0347 -860 2 5.56016 27.0785 25.1757 -0.022373 0.699909 -0.692928 -861 2 6.33876 27.7161 24.0447 0.388205 -1.53808 0.379158 -862 1 7.15043 18.1988 25.5502 1.97087 -4.41344 3.52421 -863 2 6.51258 17.8342 26.1637 -0.0501158 0.892358 0.381078 -864 2 7.46953 17.4424 25.058 -1.24096 0.130871 -0.252243 -865 1 15.2346 32.9183 4.26158 7.62632 4.14162 1.05113 -866 2 14.3137 32.8339 4.50878 0.964362 0.709243 -2.53528 -867 2 15.2754 32.5777 3.36796 2.63011 0.0325706 0.262083 -868 1 13.9003 29.6953 15.3271 -2.9226 -0.161324 -3.65308 -869 2 14.4226 29.057 14.8412 -2.58159 2.37199 -1.66209 -870 2 13.2664 29.1671 15.8123 2.40351 -0.365244 2.43418 -871 1 0.239233 14.7762 15.9996 -20.5469 23 28.2465 -872 2 35.1523 14.0524 16.2007 2.75684 0.778005 1.3174 -873 2 35.1804 15.5481 15.9679 -1.52974 0.300683 -1.06901 -874 1 9.98974 25.2291 12.2643 -21.3325 18.1189 5.93291 -875 2 10.0556 26.0845 11.8397 -0.371119 0.775272 1.5155 -876 2 10.1747 25.4043 13.187 2.25837 0.200368 -0.527085 -877 1 21.4671 13.2091 15.0149 11.5092 -10.3064 7.25368 -878 2 21.7845 13.1314 14.1153 -0.130653 1.05219 0.0356988 -879 2 20.5349 12.9987 14.9595 1.22841 -2.0453 1.23938 -880 1 31.1065 22.9962 9.65247 -3.22868 4.41444 8.04541 -881 2 30.4319 23.5401 10.0591 2.21392 0.0864726 1.46667 -882 2 31.9318 23.4155 9.8959 0.680104 0.897967 -4.18554 -883 1 13.2583 9.90624 3.34279 6.85003 9.5915 1.75346 -884 2 13.6652 10.6316 2.86889 -0.0908223 0.0588134 -0.563914 -885 2 12.6387 9.52906 2.71825 2.65167 -0.478626 1.56622 -886 1 10.3071 4.65074 17.6392 -2.97127 5.71213 -12.7341 -887 2 10.5089 4.30382 18.5082 -1.7479 -2.19821 -1.77883 -888 2 11.1452 4.6423 17.1768 -0.562846 -1.75802 0.572138 -889 1 28.8785 21.4736 33.7528 4.20895 8.37446 -9.49764 -890 2 28.5983 20.77 34.3383 -4.75236 2.66363 -1.49688 -891 2 28.6683 21.1537 32.8755 0.483209 3.54062 0.235375 -892 1 17.6802 22.5275 26.0501 9.95684 -1.37522 9.79687 -893 2 18.3844 23.1757 26.0447 -0.163737 0.345415 -1.16609 -894 2 17.69 22.1698 26.9379 1.4168 1.96442 1.42528 -895 1 35.3295 15.3622 21.6118 0.814845 10.8359 -7.99854 -896 2 34.4205 15.3937 21.3137 -0.121348 -0.316346 0.856637 -897 2 0.305356 14.9913 20.8728 -1.92359 -0.853623 0.387732 -898 1 34.8119 9.9125 7.87572 -4.11235 13.8645 1.67449 -899 2 34.3441 10.3796 7.18343 -0.201097 0.370967 -0.215983 -900 2 34.3912 10.2003 8.68594 -2.90774 -2.46392 -0.542342 -901 1 25.9855 17.7266 34.7681 -2.38058 5.81205 -3.64555 -902 2 25.4597 18.3715 34.2949 -2.00986 -2.06434 0.657588 -903 2 25.3666 17.0327 34.9955 1.99008 -0.401705 2.28697 -904 1 1.1053 14.4509 19.286 -1.65239 5.30578 -7.32113 -905 2 1.57885 13.7271 19.696 -1.4056 1.09553 0.919251 -906 2 1.73596 14.8363 18.6778 1.04276 -2.20356 1.0866 -907 1 23.0751 7.38903 29.7282 -1.94613 -6.44395 7.63198 -908 2 22.6505 7.26836 28.8789 2.63821 -0.365156 -0.555244 -909 2 23.2305 6.50006 30.0473 0.295208 0.621698 0.633405 -910 1 10.5172 33.0499 2.5668 -6.44514 -9.37624 1.85866 -911 2 10.8284 33.9396 2.39986 1.1147 -1.97234 1.94928 -912 2 10.8574 32.5354 1.83489 -2.16127 0.68007 -0.217623 -913 1 32.8792 27.871 13.0461 -7.40126 -10.537 0.491139 -914 2 33.4649 28.4854 12.6038 -0.91222 1.12148 1.93551 -915 2 33.1369 27.0115 12.7128 2.16008 0.463611 -0.300406 -916 1 28.8689 12.2189 3.75837 17.1988 11.3541 -15.533 -917 2 28.5486 11.5178 4.32597 -3.757 2.9122 -1.18473 -918 2 28.2558 12.2315 3.02334 1.77794 4.57089 -1.215 -919 1 23.1241 7.49412 34.3894 -9.88396 -1.58608 9.6826 -920 2 23.0875 7.77884 35.3026 2.88505 5.27029 -0.943563 -921 2 23.9082 6.9474 34.3397 -1.70843 0.341585 0.277899 -922 1 23.0515 24.1243 3.44044 13.1151 1.09212 -4.41551 -923 2 23.1775 24.9192 3.95866 1.65731 -1.44767 0.733747 -924 2 22.4488 23.5922 3.9599 5.06065 -3.28527 0.378437 -925 1 32.9264 24.0008 30.5652 -1.92969 4.12307 -2.77763 -926 2 33.6583 24.5475 30.8511 -2.42043 -0.45685 4.03365 -927 2 32.1835 24.6022 30.514 -0.137016 -0.608082 3.0046 -928 1 3.45599 11.7491 10.9314 10.4183 -2.84831 1.45042 -929 2 2.67255 11.8758 11.4666 -1.67862 0.713006 -3.55986 -930 2 4.06349 12.4252 11.2314 -0.516532 0.0700833 1.87725 -931 1 18.0366 4.40471 5.24781 2.58042 -11.0824 -1.78529 -932 2 18.4845 3.56079 5.18918 -0.28112 0.441872 1.99901 -933 2 17.1802 4.19646 5.62132 1.13501 -1.20967 -0.189733 -934 1 21.9199 10.6731 23.0084 0.365904 6.12722 -1.25848 -935 2 21.5542 11.4517 23.4282 1.87637 0.976659 0.256827 -936 2 22.8641 10.8299 22.993 -1.04692 -2.19886 -2.15146 -937 1 27.4279 31.4892 23.7652 -1.35614 3.90524 5.73694 -938 2 27.8112 32.2004 23.2519 -3.07679 0.240047 -1.48385 -939 2 28.1805 31.0284 24.1361 1.36139 1.49383 -2.37626 -940 1 31.1291 15.0522 2.14682 4.07418 12.19 -2.91994 -941 2 31.3569 14.305 2.70001 -1.71985 -2.10378 -3.75783 -942 2 30.5984 15.6151 2.71049 -3.07124 -4.25702 0.0759651 -943 1 26.4819 26.4635 29.2371 -5.55747 -3.15814 1.51615 -944 2 26.2636 27.3302 29.5798 -2.43995 0.997149 -4.34783 -945 2 25.6391 26.0159 29.1618 0.759839 -1.83796 0.0196529 -946 1 31.2231 24.1827 24.5825 0.668516 3.37323 -7.49659 -947 2 31.2495 25.0894 24.277 -1.23716 -0.0568031 -0.612805 -948 2 31.4433 23.6626 23.8097 -2.16984 0.287856 -0.842212 -949 1 2.23494 8.39997 11.7038 -1.07096 3.18645 -7.91655 -950 2 2.20931 7.46595 11.9116 0.512227 1.68043 2.53768 -951 2 1.7129 8.48269 10.9058 1.23752 -1.26548 -0.792511 -952 1 10.3 13.6909 7.45672 3.48271 12.99 4.45395 -953 2 10.0096 13.2306 6.66933 3.1851 -2.81438 2.7756 -954 2 10.9602 14.3092 7.1435 0.879723 -3.75474 -2.08828 -955 1 19.1012 27.2712 33.962 0.859966 -5.26038 0.00912596 -956 2 18.3308 27.6171 33.5114 -1.67668 -1.89967 1.93105 -957 2 19.376 27.9788 34.5451 0.369945 -0.116617 -1.31671 -958 1 21.9793 20.9172 33.61 -0.2697 4.05844 -0.81161 -959 2 22.1177 21.6676 33.0321 -1.20275 -0.45485 0.961878 -960 2 21.8831 21.3003 34.4819 0.37651 -1.39348 -0.511266 -961 1 8.05848 10.6148 31.6623 0.309139 -0.5612 0.771344 -962 2 8.40211 9.72846 31.7741 0.835138 0.137303 -1.17245 -963 2 7.50301 10.5606 30.8847 0.7 0.642883 -0.342158 -964 1 9.09722 18.3264 0.850838 0.921404 -4.8852 -0.591393 -965 2 9.36736 17.9882 1.70458 -1.66308 3.52202 -0.465673 -966 2 8.8156 17.5519 0.364033 -0.376267 2.5005 -0.666062 -967 1 13.2543 25.9751 14.21 3.66876 5.25566 -6.43392 -968 2 13.5184 26.1778 15.1075 4.46846 -2.69915 -2.36647 -969 2 12.3655 25.6298 14.2936 0.989876 0.093166 3.78898 -970 1 33.1402 9.19669 24.0632 8.62539 2.96225 -27.3181 -971 2 32.693 9.79381 23.4635 -0.160159 -0.119383 -1.11725 -972 2 34.0701 9.31189 23.8675 0.275043 -0.223416 -2.5497 -973 1 0.582484 30.8006 7.11057 -15.9209 5.64454 -0.552312 -974 2 0.16146 30.8929 7.96524 1.02162 1.57604 0.603476 -975 2 1.20235 30.0802 7.22496 0.731033 2.02029 -0.26031 -976 1 16.6056 24.0039 6.45517 1.58102 2.01032 -0.209196 -977 2 16.7527 24.5997 5.72062 -1.31219 0.808301 0.809874 -978 2 16.7378 24.5452 7.23346 -0.870702 -0.33848 0.48891 -979 1 21.7788 18.2334 15.3006 -1.10516 0.177375 4.33381 -980 2 21.2844 17.414 15.2842 2.63986 -1.57114 0.744139 -981 2 21.4693 18.6847 16.086 -2.83589 -0.0888003 -1.23499 -982 1 1.07405 17.9077 22.5065 -13.7562 2.15816 -7.90545 -983 2 0.717523 17.1347 22.0688 -1.35337 0.670309 1.79359 -984 2 1.95443 18.0044 22.1434 1.01162 -3.80271 6.67723 -985 1 8.51637 8.69022 13.4495 0.516471 3.2135 14.5379 -986 2 8.02789 8.05013 12.9319 2.95095 0.142212 -1.33087 -987 2 8.12989 9.53388 13.2147 0.850681 -0.0258318 -1.06011 -988 1 28.355 22.6813 2.57923 -9.10787 -19.1853 -4.11436 -989 2 27.7805 22.2817 1.92614 -3.80403 0.223936 3.62752 -990 2 28.7009 21.9419 3.07912 -3.0699 -1.32209 -1.79037 -991 1 17.1494 8.00605 31.3315 -3.79617 9.97543 -3.90521 -992 2 16.7837 8.46458 32.088 -4.86097 -2.50552 -1.29184 -993 2 16.9618 8.58034 30.5891 -5.75721 -2.69167 -0.824764 -994 1 29.3688 32.2879 30.4114 5.21045 -13.6556 0.41496 -995 2 28.613 31.7986 30.7364 1.68526 -2.13682 0.697675 -996 2 29.3242 32.1942 29.4598 -2.98689 2.52559 1.08257 -997 1 35.3007 34.4984 31.3042 2.55575 15.0193 -4.65081 -998 2 0.502159 34.8439 31.8482 -0.163288 5.49552 -3.3491 -999 2 34.513 34.9332 31.6307 0.0262034 0.776608 -1.87328 -1000 1 14.098 2.1335 18.0845 1.67442 -6.17995 1.11332 -1001 2 13.8599 1.5091 17.3992 -0.101339 -0.777558 0.783385 -1002 2 14.0564 1.62698 18.8957 -3.17157 1.94372 1.01733 -1003 1 23.7463 3.68797 32.9572 2.89417 0.439725 5.07309 -1004 2 23.6107 3.89139 32.0318 0.784306 -2.13734 -0.018941 -1005 2 22.8968 3.85293 33.3662 0.108705 -0.929859 -0.907845 -1006 1 31.095 21.564 28.0747 3.57491 -2.07699 -5.07625 -1007 2 31.8312 21.1945 28.5623 0.103021 2.19218 -0.247774 -1008 2 31.3861 22.4423 27.8295 -3.63277 1.50654 2.62633 -1009 1 20.6388 15.6961 14.8235 0.740236 8.30795 -7.31642 -1010 2 20.0535 15.8194 15.5707 1.58372 1.35362 0.442957 -1011 2 21.0802 14.8651 14.9989 -2.15295 -0.138047 -3.00885 -1012 1 20.2886 15.1408 31.9396 -8.59911 -6.60832 -2.01982 -1013 2 20.5926 14.3874 31.4334 1.1122 1.46081 1.46897 -1014 2 19.3474 14.9987 32.0397 -0.531595 0.292663 -2.95284 -1015 1 32.4772 33.0516 7.41771 -1.06495 7.81374 4.10713 -1016 2 31.5311 33.0941 7.55641 0.392316 1.51321 -2.32768 -1017 2 32.6777 32.1156 7.41665 -2.45116 0.444671 -1.76406 -1018 1 25.6318 27.7599 13.6223 -11.7453 5.92874 -3.47886 -1019 2 26.5207 27.4796 13.84 -0.847114 0.666326 -0.217674 -1020 2 25.1735 26.9506 13.3961 0.806733 0.948756 -1.55053 -1021 1 0.749179 4.34026 20.9761 0.36129 0.337454 -0.0435254 -1022 2 0.741418 4.49244 20.0311 -0.878137 -0.470793 0.410183 -1023 2 1.06092 5.1647 21.3494 -3.36576 0.528334 0.362277 -1024 1 1.15402 21.0969 13.1843 -1.71412 6.6269 -8.74155 -1025 2 1.14321 21.4728 12.3041 2.47914 -2.11123 -1.56905 -1026 2 1.21652 20.1525 13.0412 0.440485 0.427739 2.16536 -1027 1 8.6325 29.6658 25.4263 -6.67403 2.37725 2.35468 -1028 2 8.28422 30.329 24.8304 0.822107 -1.62717 -1.07589 -1029 2 8.72312 28.8812 24.8856 -0.204939 -0.0268692 2.03587 -1030 1 30.7606 20.6341 25.1537 -3.54425 2.37055 8.45768 -1031 2 31.5065 20.8915 24.6118 0.208588 -2.82407 1.58924 -1032 2 31.0236 20.8589 26.0462 0.199644 0.110335 -0.422102 -1033 1 4.24459 30.7927 2.94419 -5.73888 0.448207 -3.41699 -1034 2 4.17765 31.3338 2.15744 4.56731 -1.22206 -1.42565 -1035 2 4.36847 29.903 2.61371 -0.0600479 -0.357315 2.23115 -1036 1 15.4286 29.3517 26.2541 -0.34126 -10.3518 -3.47102 -1037 2 16.2287 29.2603 25.7367 -1.46617 0.521017 0.0597372 -1038 2 14.7769 28.8335 25.7818 0.668807 0.26784 -1.1244 -1039 1 15.4887 26.9032 10.3573 6.84261 -6.99284 0.304499 -1040 2 15.1217 26.1128 10.7533 -0.406571 1.89063 0.3289 -1041 2 16.4305 26.7367 10.3176 0.0885609 -1.22142 -1.05714 -1042 1 3.69165 24.8011 1.80378 3.32407 -1.44316 0.842433 -1043 2 2.97159 24.8024 1.17311 3.06008 3.19797 -2.51489 -1044 2 4.37103 24.2677 1.3912 0.629469 2.81942 0.983877 -1045 1 30.6385 20.4209 0.683151 11.4039 10.3869 2.45886 -1046 2 29.7186 20.5353 0.444326 1.00173 -4.95433 -0.566655 -1047 2 31.1152 20.9953 0.083937 -1.90266 4.02119 1.29025 -1048 1 23.0832 3.2592 10.1974 2.77576 -2.70447 2.1017 -1049 2 23.0813 3.66259 9.32935 1.31559 0.351393 0.683887 -1050 2 22.1608 3.08128 10.3813 0.225475 1.37947 -0.621634 -1051 1 35.1715 13.9293 30.4231 17.2996 0.108073 0.681043 -1052 2 34.4558 13.3318 30.64 -3.03981 4.63637 -1.39619 -1053 2 35.4639 13.6487 29.5559 -3.42703 1.71901 0.190238 -1054 1 28.8878 35.0696 21.7774 -2.48504 1.6217 1.30567 -1055 2 29.7844 35.0388 22.1113 -0.176661 -0.439909 -0.0743526 -1056 2 28.7103 34.1761 21.4835 -0.284459 0.489987 -0.80681 -1057 1 11.0508 25.6044 26.2793 -2.44634 -10.2617 -1.0534 -1058 2 11.1936 24.6599 26.2181 -0.873746 0.659167 -1.00917 -1059 2 10.1357 25.7257 26.0262 0.175173 0.589206 -0.112941 -1060 1 31.6317 18.1425 19.4448 7.26459 1.56022 1.89996 -1061 2 31.887 18.8177 20.0734 0.581476 0.831731 -0.848601 -1062 2 32.4587 17.8354 19.0733 -0.705265 -0.718909 1.07161 -1063 1 3.30689 2.62838 12.3339 0.101554 -0.923591 -8.48063 -1064 2 2.43509 2.87708 12.0267 -0.616451 1.03862 2.39992 -1065 2 3.39918 3.07052 13.1778 1.89279 -2.77674 0.289106 -1066 1 12.244 6.49339 14.0857 6.21035 -9.74564 1.5769 -1067 2 13.1083 6.40596 13.6838 -1.01509 0.31991 0.271108 -1068 2 12.0552 7.431 14.0473 -2.07822 -1.39201 -3.52963 -1069 1 11.5078 16.9016 14.0534 -3.534 -1.01107 -3.7526 -1070 2 12.273 16.8197 13.4841 -1.42 -0.391294 0.952563 -1071 2 11.7654 16.4659 14.8658 0.734087 2.70942 0.227559 -1072 1 35.4302 34.5763 0.88364 -3.97299 -6.78797 -6.8011 -1073 2 34.8 34.912 0.2462 5.22393 2.54891 -3.85881 -1074 2 0.0246398 33.6517 0.657342 -4.92949 -1.08958 1.58972 -1075 1 32.9062 21.6469 32.0502 -2.86569 11.8673 4.26171 -1076 2 32.8747 22.3603 31.4128 -0.235529 -0.0363658 0.860309 -1077 2 32.143 21.1071 31.8443 1.03674 -0.502059 -0.557064 -1078 1 28.6678 4.65732 28.4235 -8.30589 -1.97349 -10.3402 -1079 2 29.6077 4.57516 28.5848 -2.32838 0.675922 4.83243 -1080 2 28.4145 3.81502 28.0459 0.717603 1.26399 -2.49898 -1081 1 11.7987 16.6095 9.4364 -22.9291 0.960262 -2.476 -1082 2 12.6212 16.411 9.88395 -0.0868168 -0.26264 -3.62332 -1083 2 11.2651 15.8238 9.55552 -0.665605 2.00108 4.15764 -1084 1 9.55714 34.0244 10.628 0.343311 -1.44167 3.9861 -1085 2 8.64775 34.2241 10.8502 0.131094 0.10844 -0.626629 -1086 2 9.55645 33.0871 10.4337 -0.0655578 0.277631 0.188859 -1087 1 22.0752 19.0056 23.4545 2.69518 -3.42356 3.93402 -1088 2 22.8708 19.4383 23.1447 -0.179218 -2.62903 -2.25356 -1089 2 21.6714 19.6407 24.046 3.0214 1.4366 0.00309633 -1090 1 35.0557 19.9075 25.8017 -8.80715 -7.75201 13.9898 -1091 2 35.3315 20.4786 25.0848 -2.73183 -1.2438 -0.540834 -1092 2 34.7979 20.5078 26.5012 0.727405 0.211208 0.778201 -1093 1 1.29751 5.44499 7.26746 -5.14916 -3.61338 12.772 -1094 2 0.510745 5.91836 7.53794 1.40072 1.96069 -0.775975 -1095 2 1.76912 5.27734 8.08337 0.953298 2.45944 0.0902307 -1096 1 33.0764 1.5984 25.1516 10.3154 -6.2862 -12.5658 -1097 2 32.3716 2.21247 25.3575 1.63711 -0.708828 -0.264764 -1098 2 33.6552 2.08531 24.565 1.24548 1.14454 2.65687 -1099 1 14.2184 33.4365 22.7948 -2.0109 -8.45621 -3.91105 -1100 2 14.3092 34.2615 23.2716 0.0766034 2.00361 -4.66317 -1101 2 13.2923 33.2103 22.8806 0.444639 -1.44586 3.53675 -1102 1 27.0821 24.9192 8.20154 4.87223 -5.78877 -1.75426 -1103 2 27.1649 24.967 7.24912 0.437196 -1.75504 1.23031 -1104 2 26.784 25.7911 8.46055 -0.947283 -3.10337 -0.558426 -1105 1 7.2487 20.2249 4.05929 -0.695783 -13.5797 -14.2258 -1106 2 6.61521 19.5425 4.28113 0.374388 -0.311185 -2.51556 -1107 2 7.31225 20.1922 3.10476 0.714551 0.31933 0.0123078 -1108 1 13.4157 1.40303 12.737 -1.37479 4.02125 -11.0222 -1109 2 13.8679 1.45767 11.895 1.54164 -0.181746 1.52063 -1110 2 12.5861 1.85849 12.5938 0.41448 -2.36464 -2.46868 -1111 1 0.851448 16.3863 27.3794 -0.699147 6.92179 -1.54325 -1112 2 1.11005 16.8215 28.1917 2.15066 -0.260283 -2.36697 -1113 2 1.1563 16.9716 26.686 -0.654342 -0.159766 -0.601956 -1114 1 4.02154 25.2943 4.7923 0.210942 3.13836 -0.973808 -1115 2 3.90321 25.5655 3.88198 -2.90738 -1.48865 -0.176506 -1116 2 4.30977 24.3833 4.73576 -1.51033 -0.0335246 1.07873 -1117 1 16.5936 15.7737 19.3697 -0.298721 1.54972 7.84348 -1118 2 16.7916 16.3673 20.0941 0.404147 -0.0362057 -0.666801 -1119 2 17.4104 15.298 19.2191 -0.76339 -1.03747 0.354535 -1120 1 33.1419 25.8287 3.97581 -9.73239 -11.2093 -0.424041 -1121 2 32.8327 24.9377 4.13935 1.37975 -0.83924 1.19714 -1122 2 34.0192 25.7151 3.61031 0.105393 1.82574 2.52392 -1123 1 31.5809 1.03266 18.568 -6.76167 6.01285 9.03228 -1124 2 31.8778 0.42006 19.2409 -2.90302 0.5711 1.62227 -1125 2 31.6534 0.54289 17.7488 0.306132 0.139627 1.83604 -1126 1 2.95795 16.2924 6.70699 -1.48909 10.7669 -6.61385 -1127 2 3.07374 15.5086 7.24413 0.61621 1.85014 0.30302 -1128 2 3.24672 16.0293 5.83314 -2.06424 1.12307 -0.120291 -1129 1 20.3462 33.6967 7.89773 0.776187 -4.61772 -2.75312 -1130 2 20.3612 32.7404 7.86081 -3.25588 -0.413956 1.32848 -1131 2 19.5311 33.9065 8.3536 3.14499 3.2483 0.603564 -1132 1 19.3712 16.8012 19.7355 3.43843 5.10869 2.81411 -1133 2 20.2392 17.1671 19.9055 -1.05168 1.12887 2.0405 -1134 2 19.4029 15.9225 20.1137 -0.510168 0.3861 -1.02933 -1135 1 19.2326 9.13993 28.8892 -10.2675 4.57779 4.78141 -1136 2 20.0925 9.55374 28.9634 -0.0787822 -2.31348 -2.16036 -1137 2 18.8387 9.24797 29.7549 2.14133 -0.673583 0.110521 -1138 1 27.731 22.9141 10.4558 -1.37486 -2.0777 -9.54442 -1139 2 27.5951 23.3766 9.62889 -1.96895 1.38758 1.51158 -1140 2 28.2483 22.1446 10.2182 -2.61328 0.719227 -3.70024 -1141 1 6.32965 1.88677 33.4438 2.22666 14.4555 6.52356 -1142 2 6.57204 2.58727 32.8382 -0.454538 -0.534984 -0.211498 -1143 2 6.95371 1.9666 34.1652 3.07172 -1.52569 -1.93469 -1144 1 5.63488 5.5512 15.376 1.91358 -23.3563 1.34139 -1145 2 6.55585 5.55772 15.6367 0.818555 -3.18356 -5.2588 -1146 2 5.32532 6.43676 15.5662 3.22171 0.0372073 -2.27021 -1147 1 3.24725 34.9571 10.9309 2.92352 0.284236 2.74299 -1148 2 2.79077 0.240978 11.2197 -0.239818 -0.284652 0.264801 -1149 2 4.09418 34.9932 11.3754 -0.0391706 0.204194 0.520059 -1150 1 10.5471 28.1721 5.0358 6.83307 -0.674273 0.678612 -1151 2 10.7567 28.8255 5.70316 1.68467 -5.25869 1.73875 -1152 2 9.62078 27.9753 5.17519 1.55823 -1.08687 3.23398 -1153 1 17.0117 14.0685 8.09923 10.9304 0.551701 0.165965 -1154 2 17.3279 14.7525 8.68955 -4.1862 0.408869 -1.21891 -1155 2 16.593 14.545 7.38236 -2.43596 -2.48781 0.695203 -1156 1 6.62517 33.8531 2.79148 -19.1018 -7.09126 4.16426 -1157 2 5.76079 34.0309 3.16225 -1.61616 1.49289 -1.8933 -1158 2 6.58126 34.2031 1.90167 3.08893 3.2464 1.51747 -1159 1 29.763 24.7685 2.85611 21.2758 16.027 2.35288 -1160 2 29.2099 23.9926 2.76492 -0.267512 2.48102 -1.79573 -1161 2 30.5575 24.448 3.28296 -0.890917 -1.47111 0.0879258 -1162 1 13.5858 30.3747 2.31436 10.5065 5.70594 -5.87399 -1163 2 12.6917 30.4715 2.6422 1.09667 -2.79779 -1.32904 -1164 2 14.0066 29.7813 2.93643 1.1561 -2.52712 -4.04057 -1165 1 12.4011 27.4751 30.6561 -2.8088 8.66388 -8.12607 -1166 2 12.9668 27.1422 29.9595 -0.852171 1.55065 2.22409 -1167 2 12.4798 26.8294 31.3584 0.471696 1.7726 -1.86613 -1168 1 6.06359 34.0451 23.5896 3.21677 1.67305 2.06798 -1169 2 5.98147 34.4244 22.7146 0.0636259 -0.542452 -0.151382 -1170 2 6.98293 34.1751 23.8223 0.359544 -0.757179 -0.602406 -1171 1 14.9045 2.14558 10.3411 1.08416 -1.86778 2.08485 -1172 2 15.8053 2.12347 10.0182 -0.710876 -1.28131 3.8149 -1173 2 14.4939 2.86277 9.85813 2.00325 0.406721 -0.212067 -1174 1 5.95914 23.5257 19.2522 2.35504 -6.02996 -5.58588 -1175 2 6.54285 22.9529 19.7495 1.17565 1.41639 0.125617 -1176 2 5.7511 23.0281 18.4613 3.81807 3.33203 0.213826 -1177 1 16.5376 22.9758 33.9075 -6.23817 -3.77554 15.281 -1178 2 16.9792 22.2566 33.4558 1.81228 3.85969 -1.63095 -1179 2 16.9256 22.9839 34.7825 6.0081 1.97002 -2.97433 -1180 1 19.3558 19.2998 25.9146 4.58881 5.05423 -13.0087 -1181 2 18.4062 19.417 25.8904 0.341577 -5.36477 2.59103 -1182 2 19.5347 18.6496 25.2352 1.14662 -2.45179 2.8392 -1183 1 17.842 26.2826 20.603 6.14746 1.43167 -1.99646 -1184 2 18.3547 25.534 20.2979 -1.6971 0.200077 -3.54593 -1185 2 18.4829 26.8584 21.0199 0.914585 -3.83894 2.34609 -1186 1 25.3882 19.8571 30.7333 5.5889 -14.783 -6.98428 -1187 2 24.7996 19.2181 31.1351 0.388217 0.836897 0.598353 -1188 2 25.3915 20.5961 31.3418 -0.779953 1.19177 -3.79542 -1189 1 32.1696 22.9315 4.21847 1.00763 5.40314 -2.12157 -1190 2 32.6276 22.4081 3.56085 -0.263357 0.815686 0.352062 -1191 2 32.1235 22.3636 4.98764 -1.45217 0.168282 -0.552111 -1192 1 17.2973 0.371716 33.3401 -3.77544 -3.32716 -4.58856 -1193 2 16.6731 1.09732 33.3474 1.06662 -0.517195 1.79196 -1194 2 18.1168 0.763147 33.0376 -2.64799 0.899378 0.686687 -1195 1 12.8932 11.4087 34.9628 13.3407 -8.35341 3.7397 -1196 2 13.789 11.608 35.2351 0.579788 -0.709499 0.695871 -1197 2 12.8303 10.4555 35.0236 1.10849 0.140111 0.0846143 -1198 1 6.36209 31.8667 10.2781 9.43217 0.659495 -1.89227 -1199 2 6.37921 32.2051 11.1733 -1.33946 1.66774 -1.10363 -1200 2 7.21656 31.4512 10.1623 1.27818 2.62894 1.75295 -1201 1 28.3789 3.89121 10.7818 8.84146 -2.01293 -2.34204 -1202 2 28.4034 3.65 11.7078 -0.686655 -1.27428 -1.38671 -1203 2 28.1993 4.83142 10.7834 -4.51911 -1.80235 1.34072 -1204 1 18.3921 3.79626 25.3581 10.9336 -8.03379 -1.54257 -1205 2 18.4442 2.84112 25.3931 0.000530959 0.726118 3.77444 -1206 2 17.4599 3.98955 25.4576 1.31479 1.0581 -6.36741 -1207 1 30.8111 7.8191 7.06802 8.83318 0.733882 -1.62309 -1208 2 30.5959 7.50813 7.94734 -0.84219 0.0174011 -0.915337 -1209 2 31.7664 7.77549 7.02523 -0.0933524 -0.354766 1.5902 -1210 1 23.5143 5.84272 2.88877 -2.32193 -1.28287 -2.17091 -1211 2 23.8594 5.67034 3.7648 3.39751 -0.673462 -1.87777 -1212 2 23.7395 5.06122 2.38404 3.8888 3.57885 -2.61375 -1213 1 20.5198 3.93971 31.165 1.49686 -4.7621 -6.16354 -1214 2 20.2216 4.51985 31.8655 -0.293769 -0.437411 -0.952717 -1215 2 21.4512 4.13847 31.0689 -0.291327 0.1806 -1.27968 -1216 1 35.4763 28.0627 0.543325 0.137484 -2.45374 7.70265 -1217 2 0.721277 27.8126 35.4527 -1.85391 3.58982 -3.37933 -1218 2 0.3536 28.5044 1.3009 2.12113 2.32402 -2.8539 -1219 1 25.3437 8.52132 3.30449 1.9991 -7.49321 0.217306 -1220 2 24.8196 8.23374 4.05209 0.903449 0.659124 0.286543 -1221 2 25.9066 7.77351 3.10412 -1.26646 -1.34771 0.0166595 -1222 1 14.0303 20.301 1.0078 2.25373 12.8874 2.11268 -1223 2 14.5237 21.0551 1.33068 1.49349 -0.718829 0.431676 -1224 2 13.3543 20.1553 1.66958 1.15369 -0.115439 -1.77847 -1225 1 4.86836 5.7588 12.6995 14.8603 0.733642 -2.53048 -1226 2 5.70872 6.06464 12.3582 -0.502049 0.0646611 -2.95579 -1227 2 5.04369 5.54986 13.6171 4.12756 1.37597 -0.703412 -1228 1 13.5391 35.1232 16.5053 -0.164633 -9.12076 7.91113 -1229 2 13.0773 0.356465 16.1105 0.542976 -2.75147 -4.08221 -1230 2 12.8482 34.5937 16.9034 -0.418039 0.0271149 0.126329 -1231 1 31.2884 13.9783 12.1616 -4.43371 -10.6496 -5.33862 -1232 2 30.3527 14.0418 12.3534 1.1563 1.17381 2.93793 -1233 2 31.3538 14.1575 11.2236 -1.24601 3.92621 1.0247 -1234 1 23.7303 25.7698 13.045 -6.81135 2.29274 10.2203 -1235 2 23.5698 26.179 12.1946 3.58107 0.801923 0.613767 -1236 2 23.973 24.868 12.8354 0.487099 0.632497 2.03812 -1237 1 18.4229 13.2985 12.6746 2.22144 -5.02051 -3.86098 -1238 2 18.705 12.852 13.4729 -1.41485 1.53926 1.04029 -1239 2 17.5136 13.0246 12.555 -0.60751 4.15039 0.496543 -1240 1 24.3818 21.2326 28.5199 -0.936851 -2.54954 -8.04439 -1241 2 24.8854 20.7056 29.1404 -0.714701 2.5189 1.97172 -1242 2 24.9505 21.31 27.7539 0.862181 -3.2343 0.344195 -1243 1 4.76538 3.74751 28.1534 1.24201 5.5239 -0.752161 -1244 2 3.9882 4.06561 28.6127 0.251301 0.633579 -1.45781 -1245 2 4.8526 4.32912 27.3981 1.1266 -0.505854 0.200278 -1246 1 31.1031 24.4216 27.2469 -9.47026 -9.88393 6.35816 -1247 2 30.9831 24.3092 26.3039 -0.498619 0.590062 1.75804 -1248 2 30.3227 24.8962 27.5332 0.615942 -1.12937 -1.06004 -1249 1 17.2795 19.508 16.9685 -6.05388 3.89875 -1.87904 -1250 2 16.8833 19.4075 17.834 3.50616 0.328252 1.54232 -1251 2 16.8098 20.2425 16.5734 -2.51586 -0.44019 1.47479 -1252 1 3.72472 18.9816 12.2765 7.88709 0.793819 5.78526 -1253 2 3.68136 19.3289 11.3855 0.545982 -3.8515 0.534142 -1254 2 2.88621 18.5374 12.4019 0.496929 1.7214 4.14213 -1255 1 20.967 21.2347 26.7888 -7.39741 -4.3235 13.1896 -1256 2 20.3615 20.5302 26.5577 -1.11854 2.04608 0.260423 -1257 2 20.951 21.2607 27.7455 -0.192126 -1.78073 -0.0973039 -1258 1 32.5333 5.30525 27.3893 -4.20841 1.47081 4.10313 -1259 2 32.5792 5.97523 26.7072 3.11014 -3.23655 -2.78005 -1260 2 33.3866 5.34368 27.8212 -0.142516 -2.602 -0.2589 -1261 1 4.50577 19.0196 2.73747 -9.92633 -7.99611 0.706984 -1262 2 4.93113 18.2583 3.13201 0.462389 1.07441 0.852502 -1263 2 3.5793 18.9163 2.95474 -0.508017 -2.14097 -0.860845 -1264 1 5.80075 17.6858 34.537 3.37322 -1.06124 4.0505 -1265 2 5.23218 18.2523 34.0154 -0.97525 -2.68144 -0.207856 -1266 2 5.65701 17.9677 -0.00682635 -0.456885 -0.213111 -0.733587 -1267 1 2.02998 11.2736 4.67563 7.64661 10.2056 7.48092 -1268 2 2.50896 11.8215 4.05384 -2.00608 1.3849 -0.50885 -1269 2 1.34774 10.8551 4.15068 1.28782 -1.96386 2.16807 -1270 1 21.6403 11.6786 6.00623 -9.00808 0.446811 15.9891 -1271 2 22.2238 11.4311 5.28894 -3.16349 6.19056 -2.50624 -1272 2 20.8915 11.0885 5.92102 -1.16976 1.43055 -1.00137 -1273 1 12.7361 6.22759 3.30002 1.45045 7.80013 -10.8096 -1274 2 12.9895 6.93415 3.894 0.902688 -1.57898 0.675674 -1275 2 12.4214 6.67546 2.51477 -5.73046 3.16963 3.51165 -1276 1 8.02061 27.6965 5.69417 -9.6713 -5.52008 0.257153 -1277 2 7.55785 27.2006 6.36955 1.02131 -0.895441 -0.100214 -1278 2 7.72528 28.5991 5.8144 -2.93917 -1.29985 -0.99213 -1279 1 25.0701 29.2822 32.0862 -0.613756 -3.74178 -0.857573 -1280 2 25.8503 29.0742 32.6001 -2.56665 -4.68695 -0.0508963 -1281 2 24.4379 29.6036 32.729 -0.957471 -0.329338 -1.41499 -1282 1 1.22498 34.1618 23.4103 -3.69996 12.7247 -0.425056 -1283 2 2.0299 34.4871 23.8135 -0.57519 -4.55632 2.21092 -1284 2 0.528243 34.4471 24.0014 1.56115 -2.31492 1.01345 -1285 1 32.5582 17.3033 1.33281 3.40831 -4.92216 8.66623 -1286 2 32.0478 16.5089 1.48967 0.874001 0.00824853 1.46608 -1287 2 32.0966 17.7488 0.622427 4.43742 -3.05654 -2.20986 -1288 1 23.5583 32.1951 29.5915 -6.04009 12.132 10.3658 -1289 2 23.5731 31.8874 30.4978 -1.47268 -1.24721 -0.383311 -1290 2 24.3634 32.7043 29.4978 1.54884 -2.16376 1.39904 -1291 1 19.5215 6.96383 31.0983 14.5251 -8.38924 7.42836 -1292 2 19.3294 6.58468 30.2407 5.74866 0.654739 -0.586084 -1293 2 18.6669 7.22234 31.4434 2.07938 2.11741 -3.66241 -1294 1 4.38022 5.19516 20.8514 2.39274 1.11654 -2.28108 -1295 2 4.89965 5.85379 20.3903 0.118168 -1.49165 2.05749 -1296 2 4.18756 5.59282 21.7005 -0.123298 -0.0736771 -0.927625 -1297 1 31.4131 11.1978 22.7939 -8.26544 -10.1366 5.26921 -1298 2 30.9599 11.0127 21.9714 -0.651625 2.90004 0.80574 -1299 2 30.7363 11.1127 23.4653 -1.24269 2.42956 -0.492715 -1300 1 22.1535 13.6461 17.9735 0.177689 7.56615 -2.97468 -1301 2 21.9877 13.3317 17.0848 -0.575155 0.338041 0.501571 -1302 2 22.2097 14.5976 17.8848 -2.5929 -0.380813 1.79762 -1303 1 27.1729 16.0733 32.8226 3.31925 4.51863 -9.47914 -1304 2 26.9088 16.0963 31.9029 -3.29381 -0.165118 1.76535 -1305 2 26.5818 16.6878 33.2575 0.748117 -0.809958 1.15248 -1306 1 15.6672 24.9422 32.3926 -12.472 4.50298 -10.6497 -1307 2 15.8368 24.2332 33.0129 4.49188 3.15243 -0.516368 -1308 2 15.7537 24.5334 31.5314 1.47006 2.15014 -0.407296 -1309 1 15.4135 32.1251 30.7119 -4.06414 -2.58309 3.90849 -1310 2 16.2956 32.4213 30.9367 -0.72825 -1.14105 -1.93233 -1311 2 15.4878 31.813 29.8101 -2.08695 1.74913 -0.30615 -1312 1 16.0266 35.5227 25.8507 -1.68804 3.73632 0.700345 -1313 2 16.3142 34.6718 26.1816 0.90054 1.33117 1.00969 -1314 2 15.1405 35.3663 25.5242 0.330753 -1.52668 2.72929 -1315 1 22.6018 17.6201 10.5786 -15.4664 -4.40861 5.91735 -1316 2 22.1528 17.0654 9.94065 -1.6898 2.17028 -1.22216 -1317 2 21.9892 17.6877 11.311 -0.104874 -1.3595 0.208472 -1318 1 19.6521 1.4788 32.3839 -0.640898 7.76494 -9.3217 -1319 2 19.9152 2.3467 32.0777 -1.09202 -0.567683 -1.62713 -1320 2 19.6002 0.949116 31.5883 -0.818105 0.330226 -0.0288603 -1321 1 29.9454 28.2899 22.6344 14.0756 -12.3004 4.38512 -1322 2 29.2905 27.5983 22.7293 1.30026 0.634643 4.06281 -1323 2 30.7451 27.8299 22.3791 0.0311167 -1.48812 -1.08258 -1324 1 1.27497 25.4706 15.5402 -8.8055 -3.30306 3.05318 -1325 2 1.01438 25.8709 14.7107 0.509512 -0.997783 0.188338 -1326 2 0.473853 25.0668 15.8739 -1.10159 2.14495 0.966343 -1327 1 15.3127 29.3138 6.73594 -3.85416 -4.05914 -13.3732 -1328 2 14.993 28.4442 6.97649 2.15537 0.0406233 1.25003 -1329 2 16.2311 29.3149 7.00545 -1.11426 3.81908 1.99067 -1330 1 32.3614 35.043 20.7162 0.947019 -10.0211 1.28976 -1331 2 33.2932 35.0818 20.9316 -0.403223 1.99233 0.109545 -1332 2 31.9234 34.9475 21.5619 -0.0829661 1.21943 -0.0376552 -1333 1 16.0007 9.25661 19.8533 2.54125 -14.6392 -6.41458 -1334 2 16.2126 9.61088 20.717 -0.94492 0.643919 -0.903769 -1335 2 15.4631 8.48588 20.0354 -0.648917 -0.165083 0.115412 -1336 1 0.161604 12.4673 34.7768 12.7324 -0.448419 -7.85995 -1337 2 0.223697 12.2533 33.8459 -0.94983 -4.4369 1.4404 -1338 2 1.05816 12.6825 35.0339 -0.237842 -0.920887 -0.275148 -1339 1 10.8809 14.0201 18.6787 -1.73126 6.90791 -7.91142 -1340 2 9.9762 14.2773 18.5007 -1.16993 -1.92002 3.14986 -1341 2 11.1662 14.6124 19.3744 -0.75978 -3.02143 2.3593 -1342 1 10.155 18.8731 10.8436 -0.657588 -8.75248 6.80245 -1343 2 10.955 18.4147 10.5866 -0.781684 0.185377 -0.810078 -1344 2 9.44646 18.3392 10.4842 0.912499 2.8901 -1.86918 -1345 1 27.8595 32.5077 21.0166 8.66128 -2.18015 8.64688 -1346 2 27.4679 32.2969 20.1689 0.589036 4.07127 2.62241 -1347 2 28.289 31.6974 21.2906 -3.97765 -2.17673 -1.93402 -1348 1 22.3527 4.76363 7.82926 2.41943 2.50223 3.12033 -1349 2 23.2083 5.12935 7.60491 -1.77496 2.38316 -2.44964 -1350 2 22.0292 5.32474 8.53406 -0.624233 -1.3326 -0.391069 -1351 1 22.1719 31.296 5.91703 -0.00957182 4.45362 5.91712 -1352 2 22.1318 30.4715 5.43255 3.15176 1.10186 -0.358184 -1353 2 21.3573 31.3193 6.41902 -1.68878 -1.37012 -2.28306 -1354 1 30.1287 27.2092 12.2148 2.60607 9.11368 4.57296 -1355 2 30.0953 26.2698 12.0341 -1.28008 0.949927 -0.0639179 -1356 2 31.0219 27.3628 12.5226 0.64862 -0.931144 -0.526383 -1357 1 5.00448 18.6716 17.1345 -4.86731 1.12253 -1.58291 -1358 2 4.33991 18.7823 17.8144 -0.627081 -2.4045 -1.08408 -1359 2 5.74003 19.2092 17.428 -1.88564 -2.45001 2.77554 -1360 1 0.50983 15.2295 32.8533 -4.11944 1.84497 -4.88685 -1361 2 0.0682036 14.9784 32.042 0.420343 -2.30381 1.74271 -1362 2 35.3159 15.2724 33.5044 0.383026 1.62334 -2.034 -1363 1 0.365858 21.492 23.8872 7.23513 15.6048 -4.46135 -1364 2 35.4236 21.6647 23.0595 -1.08017 -2.55812 0.214767 -1365 2 1.23304 21.1793 23.6295 0.0999107 2.38425 -0.365415 -1366 1 8.03708 15.229 26.8357 -2.04252 -0.316478 -1.1417 -1367 2 8.74483 15.7959 27.1423 1.45772 -0.347475 -3.65558 -1368 2 7.25186 15.5745 27.2603 2.06872 -0.144754 3.83204 -1369 1 34.6784 18.8507 10.8897 2.36808 -1.79398 -5.79972 -1370 2 0.00459478 18.3945 10.768 -0.416468 0.216598 -1.25377 -1371 2 34.8586 19.7533 10.6267 -0.322781 -1.0366 -1.77505 -1372 1 31.3418 22.8996 34.2951 -1.14382 -5.65388 -3.92804 -1373 2 31.9644 22.713 33.5923 0.167349 -0.0439441 0.613173 -1374 2 30.488 22.6747 33.9253 0.612452 -2.42819 0.742504 -1375 1 35.1215 20.4293 21.3907 -11.548 -3.32559 18.5011 -1376 2 35.35 19.7256 21.998 2.38881 -0.508693 -0.354099 -1377 2 35.034 19.9951 20.5421 -1.69952 0.773587 0.844303 -1378 1 17.3671 12.958 29.5255 5.11076 8.87788 -14.5971 -1379 2 17.3555 13.2539 28.6153 -0.884713 2.10664 0.0659456 -1380 2 16.4541 12.747 29.7208 2.20572 -4.25651 -2.56262 -1381 1 16.0931 4.35231 20.4642 5.91845 -13.2791 -1.50355 -1382 2 16.8504 4.87778 20.206 -1.21616 0.617072 0.247744 -1383 2 16.4313 3.75591 21.1321 -0.396646 3.07443 3.12285 -1384 1 13.6695 33.4717 9.21077 2.29543 1.48261 -2.12416 -1385 2 14.2141 33.2477 9.9654 -3.66482 -1.43616 1.65843 -1386 2 13.8781 32.8039 8.55755 0.245772 -0.702491 2.41708 -1387 1 25.1657 0.642153 29.2335 -4.59085 -3.74202 -21.3018 -1388 2 24.737 0.172076 29.9487 -0.558511 2.057 -0.285887 -1389 2 25.5932 1.38621 29.6576 -0.075956 0.469352 -3.44803 -1390 1 24.8095 0.442117 0.694518 -5.36604 -0.109712 -1.52909 -1391 2 25.2949 0.516149 1.51617 2.79137 0.994372 -2.31132 -1392 2 25.3734 0.860676 35.4913 -4.35024 1.06998 -2.69906 -1393 1 13.7965 23.6252 5.71653 3.90815 -11.7263 7.2362 -1394 2 13.8498 24.1885 4.94446 -2.85234 2.33795 2.58868 -1395 2 14.6795 23.6397 6.08568 -0.233356 1.13462 -0.907426 -1396 1 7.02727 26.6553 3.02374 -5.17097 -1.31983 6.59546 -1397 2 7.57072 26.8194 3.79441 -2.8738 2.12975 0.112605 -1398 2 6.56459 25.8419 3.22518 2.82009 -1.16555 -4.11085 -1399 1 18.3219 10.375 9.82054 -2.67445 -0.810474 -3.1847 -1400 2 18.7061 10.6513 8.98854 0.284026 4.00377 1.44517 -1401 2 17.4399 10.7467 9.81279 -0.144922 -0.342449 0.848519 -1402 1 22.3236 9.87128 1.2009 -1.4295 -0.793311 5.19762 -1403 2 21.5796 10.3783 0.875969 1.35958 -2.09004 -3.3491 -1404 2 21.9288 9.17818 1.7301 -1.52948 -0.334754 -2.4752 -1405 1 10.9124 22.4386 26.2534 3.03207 -4.70073 -32.4592 -1406 2 10.3511 22.4066 27.0281 3.81597 5.96568 0.716842 -1407 2 11.5487 21.7364 26.3889 -0.699237 0.275791 0.111391 -1408 1 1.31868 18.384 3.4795 13.7351 10.4325 13.7713 -1409 2 0.979225 18.0084 4.29185 -1.59499 -0.168935 -2.01154 -1410 2 1.03409 19.2977 3.50027 0.922852 0.533062 0.760545 -1411 1 6.61973 10.288 21.3565 1.37768 -1.81138 2.18941 -1412 2 6.50612 10.3401 22.3055 -3.29888 -0.610272 -0.275105 -1413 2 6.96333 9.40775 21.2039 -1.51029 -0.767181 0.783622 -1414 1 19.7986 1.74467 35.1946 -2.17719 1.63205 2.1666 -1415 2 19.8857 1.70585 34.2422 -1.59524 -0.716055 0.0138104 -1416 2 20.6038 2.16817 0.0450252 0.0251848 0.164343 -1.47069 -1417 1 22.0004 23.132 31.8017 -7.4975 -3.43952 6.01246 -1418 2 21.1399 23.5499 31.7694 0.781806 2.11508 0.859838 -1419 2 22.5088 23.6757 32.4035 2.26776 -0.0879471 -2.52286 -1420 1 21.0314 21.4005 14.8519 -0.828165 -3.3167 -0.172162 -1421 2 20.6809 20.8108 15.5195 -0.518104 0.655628 0.152897 -1422 2 20.7021 21.0491 14.0246 2.34736 -1.44485 0.196267 -1423 1 29.5064 13.0888 27.0228 1.72479 1.75439 1.22244 -1424 2 29.8667 12.7296 27.8336 -0.273049 1.72648 0.752644 -1425 2 28.8409 13.7131 27.3118 -3.16754 -3.42388 -1.70811 -1426 1 30.7756 14.8616 17.3161 1.42311 -5.35583 4.53374 -1427 2 30.4237 15.6938 17.632 -1.53169 -1.18784 -0.709816 -1428 2 30.0095 14.2943 17.2299 0.860341 0.925417 -4.5862 -1429 1 12.5746 32.1589 27.8456 3.41994 0.575839 -3.31357 -1430 2 12.6442 33.0335 27.4629 0.172076 -1.47175 0.976087 -1431 2 13.4806 31.8637 27.936 -1.02939 1.54234 0.015198 -1432 1 15.4464 20.1353 7.83226 -2.70284 -0.499793 -10.7676 -1433 2 16.0732 20.5564 7.24403 -0.557846 -1.31587 -0.536307 -1434 2 15.4315 19.2202 7.55186 0.95495 1.43888 -0.318854 -1435 1 27.2537 6.25173 2.83022 -0.408874 0.183442 -0.139964 -1436 2 27.5036 5.32773 2.83022 0.091142 0.802362 -0.476584 -1437 2 27.6253 6.60082 3.64037 -1.24243 0.569625 -1.53547 -1438 1 32.3096 10.3257 17.6569 -6.08967 -1.23434 -0.474204 -1439 2 32.9699 10.352 16.9644 0.147765 0.97778 0.641002 -1440 2 32.4261 9.46873 18.0671 0.778923 0.314022 0.158804 -1441 1 17.3506 14.8889 22.477 -12.5546 -11.3309 20.0858 -1442 2 17.998 14.74 21.7879 -1.18669 -2.92936 1.42644 -1443 2 17.0317 15.7775 22.3186 0.0201363 -1.14867 -0.85026 -1444 1 24.7897 15.5721 30.8604 -13.6105 9.63798 3.4681 -1445 2 23.9079 15.6652 31.2208 0.447779 0.842595 -0.317297 -1446 2 25.0387 14.6708 31.0652 3.34822 3.98773 1.16936 -1447 1 18.6762 24.8399 24.409 3.04668 -1.05331 12.3404 -1448 2 17.8528 25.189 24.0678 2.04043 2.72122 0.561402 -1449 2 18.9196 24.1513 23.7902 -0.80957 3.84234 -0.386605 -1450 1 4.57816 35.3118 30.6935 -5.0951 1.49892 -3.00437 -1451 2 4.19876 34.5135 30.3262 0.221048 0.974654 -0.895508 -1452 2 5.49754 35.0929 30.8453 -1.23593 -0.77961 3.28839 -1453 1 22.1356 7.03609 27.3081 -6.84865 1.42402 -5.01333 -1454 2 21.7639 6.1559 27.2505 1.42776 0.182187 -2.74355 -1455 2 22.2384 7.31319 26.3976 3.06966 0.879143 0.585467 -1456 1 20.9969 25.6249 2.95634 -10.4318 5.51343 -8.51129 -1457 2 21.6109 24.9121 2.77949 0.427584 0.950206 2.10334 -1458 2 20.3544 25.5692 2.249 0.963881 -1.55619 -1.76584 -1459 1 19.8899 8.75644 11.5526 2.36354 3.03945 4.60088 -1460 2 19.3663 9.2395 10.9133 -1.53333 -0.00753126 1.60753 -1461 2 20.6787 9.28661 11.6666 0.476464 0.143344 -1.885 -1462 1 35.3228 7.31424 4.49674 10.504 -14.225 -3.18079 -1463 2 34.914 7.0035 3.68895 2.06691 0.445085 -1.04694 -1464 2 0.45027 6.63333 4.72226 3.58071 1.08091 -2.48672 -1465 1 1.93139 20.428 32.7404 -0.824098 -6.4487 11.0073 -1466 2 1.65904 20.897 31.9516 1.98961 0.563968 1.14381 -1467 2 1.20899 19.8274 32.924 -1.94292 2.45106 0.237913 -1468 1 14.6956 26.3146 16.5191 1.09468 4.28865 3.84182 -1469 2 14.375 26.4359 17.4128 0.145879 -0.767451 0.425749 -1470 2 15.6442 26.2287 16.6141 -1.45251 -1.0769 -0.189023 -1471 1 34.5427 29.0009 17.208 -4.88449 -2.6316 -15.8072 -1472 2 -0.0143205 29.0626 17.102 -1.29416 -0.268411 0.93603 -1473 2 34.3213 28.1277 16.8844 0.239945 0.939662 -1.44274 -1474 1 19.1652 26.0218 7.57594 4.14765 18.511 -11.0405 -1475 2 19.491 25.4501 6.88076 0.969112 -2.65551 4.16473 -1476 2 19.8764 26.6441 7.7279 2.07029 -1.38082 0.0380258 -1477 1 5.88429 11.6017 0.0769697 4.87374 1.38194 8.11156 -1478 2 6.61435 11.6532 34.9072 0.265938 -4.6398 0.833481 -1479 2 5.18801 12.1159 35.1155 0.765576 -2.30327 -3.25491 -1480 1 33.5434 10.1885 28.6512 -5.16126 8.24088 -4.03409 -1481 2 33.0419 10.1427 27.8371 1.46464 -1.45434 -0.54149 -1482 2 32.8897 10.0815 29.3421 -0.344921 1.65642 -1.13414 -1483 1 12.8404 20.7624 27.348 -1.68232 11.4061 9.17061 -1484 2 12.1346 20.7447 27.9943 1.88992 -5.68904 2.34172 -1485 2 13.6416 20.8164 27.8689 1.31604 -2.91106 -1.50353 -1486 1 30.9483 23.5352 7.01313 0.979359 6.35397 -5.87517 -1487 2 30.8307 23.3385 7.94249 2.94911 0.753777 -0.497099 -1488 2 30.8198 22.6955 6.57195 -4.05963 1.84136 0.994945 -1489 1 22.377 28.6456 11.2718 9.62249 -3.3664 -1.40192 -1490 2 23.1091 29.1589 11.6134 -0.873444 0.949223 1.28389 -1491 2 22.1566 29.0656 10.4404 -0.330029 0.838071 0.925303 -1492 1 23.9822 11.3576 13.9781 -7.96375 4.34795 -0.436933 -1493 2 24.0597 11.9545 14.7224 2.28643 -3.59368 1.43637 -1494 2 23.6525 11.9046 13.2651 -3.07709 2.84702 3.15131 -1495 1 19.0954 19.83 30.3994 -6.74717 -8.81551 10.0609 -1496 2 19.5729 19.3467 29.7252 3.2595 7.10322 -0.0288859 -1497 2 19.3152 19.3825 31.2165 4.85567 2.21949 0.0120677 -1498 1 35.194 30.2545 30.675 -0.00325861 -5.3541 -0.466303 -1499 2 35.1597 30.9616 31.3192 -0.243858 -0.423087 -0.621134 -1500 2 0.604865 29.9807 30.6678 -1.34921 -0.893424 2.95608 -1501 1 3.49459 19.442 27.893 3.51418 7.70933 -4.80646 -1502 2 2.80704 19.2266 28.5232 1.40649 -4.31732 -1.81924 -1503 2 4.06978 20.0461 28.3625 -2.23338 -0.95918 2.56437 -1504 1 8.60984 18.3239 15.045 3.93585 3.67412 -4.03711 -1505 2 9.49688 17.9917 14.9072 -1.40743 -1.47176 -2.12699 -1506 2 8.46616 18.2407 15.9877 0.0627209 -4.89771 -1.76545 -1507 1 15.0862 12.0286 30.3533 -20.7973 1.49421 5.37801 -1508 2 14.3001 12.0697 30.8979 1.35482 -4.79209 2.17907 -1509 2 15.1512 11.1093 30.0947 1.70977 1.43043 -0.441665 -1510 1 34.2419 30.1927 12.7001 1.30331 8.42729 -2.09699 -1511 2 34.1466 30.8171 13.4193 -0.300536 -0.86199 0.707832 -1512 2 35.1054 29.802 12.8344 0.829359 2.43596 -2.28348 -1513 1 16.0401 11.3798 34.5983 0.384837 1.50985 9.54227 -1514 2 16.0053 12.1814 34.0763 2.31591 0.781151 2.00321 -1515 2 16.9483 11.0861 34.5268 -1.89196 -0.840976 0.315611 -1516 1 12.4189 19.7734 32.3587 -3.00118 6.17608 -0.52067 -1517 2 11.7656 19.7989 33.0579 -1.60946 0.0513 -1.67935 -1518 2 12.8578 20.6225 32.4093 0.863823 -1.73562 3.63051 -1519 1 16.3644 1.43616 13.5982 -4.45026 -9.61999 -0.937344 -1520 2 16.6755 2.32722 13.7578 -2.35529 -1.15587 2.84071 -1521 2 15.498 1.55075 13.2078 -0.646615 -0.66309 1.10723 -1522 1 3.93127 21.9822 35.0556 6.54555 9.03566 -9.44152 -1523 2 3.30895 22.6774 34.8419 1.97285 0.588043 -2.82251 -1524 2 3.39902 21.1877 35.0959 -1.40465 2.26706 2.70483 -1525 1 3.71412 25.5028 16.6179 -4.55853 5.25955 8.2012 -1526 2 3.58201 25.2608 17.5345 -2.58156 1.23176 -0.737153 -1527 2 2.8309 25.5462 16.2515 1.0074 0.155607 -2.28034 -1528 1 12.503 4.72407 6.8972 0.325521 2.9202 -0.382441 -1529 2 12.6722 4.52349 5.97667 -1.84824 -3.48092 1.47744 -1530 2 11.971 5.51949 6.87565 0.487667 -0.565427 0.137213 -1531 1 0.21892 15.4983 12.4645 3.84218 2.55808 0.81364 -1532 2 0.767238 15.5399 11.681 -0.814365 0.322051 0.0059746 -1533 2 0.63619 14.8352 13.0144 -0.855356 -0.578169 -0.452661 -1534 1 18.2549 16.0338 12.3038 -5.07495 4.75803 0.879261 -1535 2 18.5823 15.2176 12.6818 -4.2137 -2.5912 -3.18853 -1536 2 17.5544 16.3083 12.8956 0.354447 0.734167 0.452541 -1537 1 26.907 18.5733 6.14364 1.47189 6.2058 -6.22923 -1538 2 27.1514 17.8111 6.66853 -3.08562 2.46806 0.112797 -1539 2 26.9385 18.2619 5.23907 -0.718384 -1.07659 0.151652 -1540 1 33.4365 4.99059 23.0286 3.50247 -3.60847 -4.33296 -1541 2 32.5415 4.79382 23.3054 0.92574 -0.0862174 -1.48623 -1542 2 33.8905 4.14887 23.0683 -0.884349 3.55993 2.41578 -1543 1 26.439 7.53311 13.3281 13.313 4.8046 4.19393 -1544 2 26.5025 8.46551 13.535 -1.61892 0.452948 -0.545671 -1545 2 25.515 7.3961 13.1188 -0.0768458 -3.77546 7.43398 -1546 1 3.43455 25.2604 19.5279 8.25111 -17.0165 -2.80611 -1547 2 4.36736 25.0474 19.5005 -0.674924 -1.17209 2.14656 -1548 2 3.11676 24.8443 20.3292 -2.89501 1.29103 -2.1461 -1549 1 31.8707 26.7669 18.8677 -0.759797 -10.9446 -1.34449 -1550 2 31.0222 26.6362 19.291 -0.00124199 3.15644 -0.528172 -1551 2 31.6799 26.7279 17.9305 -1.27767 2.42817 2.27722 -1552 1 27.98 0.0728208 33.1595 1.49479 -7.45941 -0.502913 -1553 2 27.1426 0.490327 33.3612 2.39089 3.23494 -1.7015 -1554 2 27.9013 35.314 32.2431 1.42934 2.93021 -0.317011 -1555 1 12.5044 14.3906 2.64676 15.1087 -9.39083 17.5397 -1556 2 13.3884 14.0943 2.43013 0.886069 -0.941992 3.62317 -1557 2 12.1522 14.7196 1.81978 3.92225 0.21392 0.252965 -1558 1 35.3469 8.99292 30.2383 1.98289 -2.60913 4.50879 -1559 2 34.74 9.55607 29.7579 1.66577 -1.25598 -2.53986 -1560 2 35.0474 8.10313 30.0517 1.81915 0.794383 1.63101 -1561 1 7.94185 25.316 7.9644 2.50908 -2.52172 0.239062 -1562 2 8.06842 26.2093 8.28409 -2.60436 -0.133909 0.885098 -1563 2 8.24263 24.7592 8.68257 -2.65265 0.145668 0.242167 -1564 1 32.0427 28.4794 8.56592 -6.81119 -12.3532 2.23283 -1565 2 31.5552 27.8774 8.00364 -1.85487 -1.0482 2.47848 -1566 2 31.3706 29.0302 8.96739 1.03246 -0.455201 2.05418 -1567 1 7.64853 14.6773 31.3628 19.9519 -0.923273 -0.647949 -1568 2 8.37741 14.1384 31.0553 -0.142824 -1.2504 -0.256279 -1569 2 7.659 15.4443 30.7903 -1.91913 -3.81534 -4.05852 -1570 1 30.6566 5.02589 23.1481 12.1267 -13.7036 8.94453 -1571 2 30.306 5.89312 23.3511 -4.28317 -5.02373 0.328229 -1572 2 30.7918 5.03744 22.2006 -2.36324 -3.78179 1.46811 -1573 1 16.7728 18.1621 2.61401 -1.42575 -1.21083 8.75385 -1574 2 17.4208 17.7872 2.01755 -0.0138849 3.68103 -1.15083 -1575 2 15.9317 17.8461 2.28396 0.765879 0.996739 -0.963545 -1576 1 24.484 17.4256 17.1907 -0.114491 2.53934 -2.8731 -1577 2 23.5685 17.3158 17.4476 1.49051 -4.06803 -0.569458 -1578 2 24.4709 17.3885 16.2343 0.583004 -1.75592 0.926961 -1579 1 26.3222 10.5658 19.0558 3.05895 0.853092 2.20902 -1580 2 25.5629 11.0738 19.3416 -0.418558 -0.722881 -0.638298 -1581 2 27.0579 11.1743 19.1252 -0.929127 0.985435 -0.968582 -1582 1 17.3896 17.6664 5.37034 3.65524 -3.46077 -6.03813 -1583 2 17.1879 17.8621 4.45532 -0.806979 0.556997 0.734336 -1584 2 16.6049 17.9304 5.85082 0.342973 -1.99811 0.0191143 -1585 1 17.4777 20.8458 3.328 -3.79193 -14.6668 8.63594 -1586 2 17.3397 19.9311 3.08209 -0.765626 -0.404588 0.0886088 -1587 2 16.8819 21.3385 2.76357 1.45213 0.626554 2.30091 -1588 1 30.7011 8.90714 0.57984 1.26553 7.63176 -4.60185 -1589 2 31.2413 8.91277 1.37002 -1.13981 4.14411 0.181597 -1590 2 31.2722 9.25742 35.3434 0.395104 -2.03807 -0.76182 -1591 1 17.2406 9.51829 26.9735 2.80464 -5.08975 -12.4407 -1592 2 18.0861 9.69404 27.3864 -1.24442 -1.81115 2.02963 -1593 2 17.0985 10.2643 26.3907 1.56735 2.31386 2.59961 -1594 1 26.7134 8.00274 33.0109 1.57155 -5.48374 -8.44171 -1595 2 26.415 7.2786 33.5612 -1.34894 0.874959 -0.0105577 -1596 2 26.326 7.82779 32.1533 -2.1083 1.14904 0.430711 -1597 1 2.78108 32.0047 13.2693 -3.79196 5.8553 -0.621097 -1598 2 2.87182 31.3694 12.559 0.242387 1.18372 -0.577626 -1599 2 1.98979 31.7331 13.7344 1.89803 -2.63784 1.76496 -1600 1 7.53885 16.0827 21.8412 0.188885 -6.73655 -8.22665 -1601 2 8.18753 16.7344 22.1071 0.402431 -1.82996 2.03032 -1602 2 6.98291 15.9691 22.6121 -1.53155 -1.37348 -1.74886 -1603 1 3.58087 2.6873 31.3064 6.12692 -8.68566 2.06076 -1604 2 3.7593 1.78451 31.043 0.234009 0.655424 1.65801 -1605 2 3.85427 2.72845 32.2228 -1.37099 0.229259 -0.0937033 -1606 1 6.00249 6.0735 35.246 8.90489 0.0568186 6.7614 -1607 2 6.87976 6.43644 35.1239 -3.54278 4.62978 -1.26979 -1608 2 5.72175 5.82319 34.3658 -1.38053 -1.01132 1.7235 -1609 1 10.8007 12.6172 27.5356 -4.87113 -10.6629 13.6081 -1610 2 10.0185 12.1916 27.8866 -2.70744 3.32406 -1.0003 -1611 2 10.9433 13.369 28.1106 1.93744 -0.640098 0.0953286 -1612 1 5.92169 34.4067 7.66379 -1.69582 -9.16162 3.73755 -1613 2 6.16444 34.8027 8.50076 -2.11426 -3.05561 1.4745 -1614 2 6.74603 34.0766 7.30642 0.720997 1.63755 0.951689 -1615 1 33.1189 4.3436 33.4318 4.14817 4.62978 -5.79712 -1616 2 32.9766 5.22496 33.0866 2.51591 1.00795 1.96525 -1617 2 33.9567 4.07156 33.0571 0.145898 0.0397904 1.04753 -1618 1 4.74385 32.2532 32.8182 -5.61693 -0.937522 -5.51628 -1619 2 5.02916 32.439 31.9236 -0.672421 0.227017 0.008911 -1620 2 4.56205 33.1138 33.1957 4.44372 -1.49352 1.3558 -1621 1 16.3473 0.393864 4.84025 -12.9764 0.454048 -5.96315 -1622 2 16.2471 35.0361 4.44087 0.26536 -1.03011 2.51384 -1623 2 17.1711 0.728123 4.48542 1.47369 -2.97122 2.96091 -1624 1 29.7583 18.4882 11.6957 -10.5235 -5.00376 0.767103 -1625 2 29.6165 19.3792 12.0156 4.00896 0.462347 -0.514732 -1626 2 29.8138 17.9546 12.4885 2.74941 0.822619 0.32884 -1627 1 6.36272 20.2439 32.1062 29.7675 14.7106 -3.90603 -1628 2 5.60631 19.776 32.4599 -0.302089 2.02775 -4.85357 -1629 2 6.40253 21.0543 32.6141 -1.29723 1.04415 -1.90186 -1630 1 32.3858 33.7647 35.3561 -3.68256 0.800266 -0.165521 -1631 2 33.1171 34.3575 35.1831 -1.44842 -0.429083 -2.39507 -1632 2 31.627 34.3405 35.4498 -1.13473 -2.5451 -0.545654 -1633 1 33.5401 26.8258 15.6796 -2.6875 3.56292 -1.9021 -1634 2 33.356 27.5281 15.0558 3.78374 -2.95964 -2.71465 -1635 2 33.507 26.0251 15.1561 -1.59552 -1.42057 3.04795 -1636 1 10.2665 4.84142 26.03 -0.883567 8.05403 7.99147 -1637 2 9.71786 4.19158 26.4693 2.50785 -1.7152 -0.518256 -1638 2 9.94249 4.85985 25.1296 -0.198668 0.793775 0.999518 -1639 1 21.287 12.9963 30.4048 8.64638 11.6621 -10.5109 -1640 2 20.6376 12.3313 30.6337 -1.42183 4.23767 1.82465 -1641 2 22.1299 12.5825 30.5905 -2.30022 -2.37989 -1.79226 -1642 1 15.4569 8.3488 23.3702 2.74033 3.05025 10.1566 -1643 2 15.373 7.89569 22.5313 -2.60095 -2.56237 2.54512 -1644 2 15.941 9.14832 23.1639 -2.43111 0.547883 -3.93157 -1645 1 6.96926 34.4201 28.2534 -7.44912 7.43163 -12.5359 -1646 2 7.75638 34.3061 28.7861 -0.880635 2.77886 0.100735 -1647 2 6.65875 35.2994 28.4692 -2.77603 -0.0129522 -2.27 -1648 1 1.80763 22.889 2.62846 3.40479 -4.82814 10.7528 -1649 2 1.55527 22.8588 1.70561 -2.41694 2.89626 2.20661 -1650 2 2.67907 23.285 2.62612 -1.89773 1.14419 -1.7506 -1651 1 33.2809 8.93917 34.779 -4.45895 0.833769 -0.731631 -1652 2 33.6219 8.16371 34.3334 -3.95709 0.955224 -2.65031 -1653 2 33.9723 9.18662 35.393 2.09581 -3.45298 -2.32363 -1654 1 11.2744 30.3298 3.53087 -14.2317 4.61021 5.51068 -1655 2 10.3799 30.4685 3.21936 1.20117 0.749865 -2.15314 -1656 2 11.2069 29.5875 4.13133 -2.74347 -1.71098 -2.54214 -1657 1 24.9634 2.12244 18.9035 -4.62233 4.00021 1.72961 -1658 2 25.4328 2.95644 18.8844 1.76916 -2.50616 -0.692872 -1659 2 25.4579 1.58285 19.5204 -0.806965 -1.78993 -1.27415 -1660 1 27.583 12.9201 22.8093 -1.91355 3.94107 -4.34255 -1661 2 28.231 13.4716 22.3709 1.01401 -1.49465 0.885001 -1662 2 26.9436 13.5375 23.1647 1.69372 -0.435282 1.44004 -1663 1 34.6816 21.4438 8.60678 -7.59995 -9.20186 5.12545 -1664 2 35.1108 21.1318 7.8101 0.687078 4.44594 0.296021 -1665 2 35.3325 21.3144 9.29651 0.922517 5.75387 -0.835847 -1666 1 2.66327 24.6305 34.3848 -2.57643 0.226677 11.0723 -1667 2 2.55466 25.5742 34.2666 1.05295 -0.681249 -1.27154 -1668 2 1.78974 24.3157 34.6173 -0.986279 0.243558 -3.14385 -1669 1 21.5961 20.2689 9.43623 -8.91104 -5.27448 -1.09992 -1670 2 21.2914 19.7844 10.2035 -0.94635 -0.728836 -1.40678 -1671 2 21.1052 19.8938 8.70507 -0.634536 1.06904 -0.577801 -1672 1 17.6998 4.32986 28.8162 0.0470835 -9.70813 -9.82544 -1673 2 18.2844 5.04367 28.5614 -0.583697 -0.157664 0.895449 -1674 2 17.0649 4.27313 28.1021 2.16453 -0.333214 -1.12352 -1675 1 33.6002 13.397 0.691356 -6.82825 4.40222 7.15182 -1676 2 32.7166 13.0486 0.57281 0.160305 -0.14685 -0.907652 -1677 2 34.087 13.0807 35.3775 0.999025 -0.551989 1.88374 -1678 1 14.7169 15.9807 26.9648 10.9415 -7.73377 13.5307 -1679 2 14.7226 15.4281 27.7463 -1.34534 0.723212 1.53905 -1680 2 15.4807 16.5486 27.0668 1.00111 -1.23334 0.881763 -1681 1 25.2139 21.9579 32.2871 1.27158 -0.0516868 7.93375 -1682 2 25.3301 22.9053 32.2148 -0.243699 -0.522486 -2.56916 -1683 2 25.1236 21.7982 33.2266 -2.4123 3.50151 0.148676 -1684 1 6.81077 3.83481 8.72774 3.58569 -6.80957 -0.0585816 -1685 2 7.56235 3.28629 8.50307 -1.4373 -1.25159 -3.35806 -1686 2 6.13779 3.21566 9.01054 0.894452 0.380572 2.91079 -1687 1 9.21552 7.78779 24.9513 0.851865 -2.96996 19.6674 -1688 2 9.50611 7.21599 25.6618 0.455792 -1.37977 -1.32421 -1689 2 10.0113 8.23405 24.6617 -0.677032 2.57149 3.65727 -1690 1 25.77 24.5649 31.8222 3.02397 6.77212 0.774988 -1691 2 25.2359 25.3342 31.6245 0.66635 0.156705 -2.36342 -1692 2 26.0527 24.2426 30.9664 2.25624 -0.763796 1.5217 -1693 1 15.9783 35.0149 18.8881 -2.52424 6.36231 7.69138 -1694 2 15.0684 35.0561 19.1825 -0.363845 -1.64935 -1.6214 -1695 2 15.9548 35.3431 17.9892 -1.40776 -9.07428 -1.0381 -1696 1 13.1827 8.82568 28.5669 -5.28574 4.5653 0.106327 -1697 2 12.3732 9.19564 28.9192 -0.0752527 -0.0597401 0.908166 -1698 2 12.9266 7.96828 28.227 -0.390865 1.50433 -1.23303 -1699 1 1.80124 1.00981 14.2164 -2.17871 0.0268062 15.5731 -1700 2 2.14683 0.272412 14.7195 1.86508 -1.10869 -2.83941 -1701 2 1.36677 0.605435 13.4655 2.06109 2.61459 -0.89005 -1702 1 27.2073 9.56512 16.5201 0.763728 3.98977 -0.110689 -1703 2 28.0839 9.1822 16.4877 -0.481461 0.522971 2.73865 -1704 2 27.1029 9.8492 17.4282 -2.76864 0.666836 -0.698285 -1705 1 22.6415 27.8876 17.7055 -2.53325 -4.85744 -18.6506 -1706 2 23.3998 27.6695 17.1636 3.31055 2.93737 2.90797 -1707 2 22.4245 28.7879 17.4635 0.283615 0.2607 0.89547 -1708 1 35.024 17.7611 30.837 7.00863 -10.2522 0.788331 -1709 2 35.2749 16.8379 30.8677 -4.39228 -0.501888 0.258944 -1710 2 34.1752 17.7646 30.3946 2.73062 2.13705 -2.20154 -1711 1 32.1588 2.34656 15.7759 -1.31786 -1.4549 2.43 -1712 2 31.3097 2.78327 15.8429 -0.0852006 -1.50952 -2.89976 -1713 2 32.6312 2.84181 15.1067 0.827025 -0.279904 0.834726 -1714 1 17.3517 33.607 35.0559 -7.91182 5.95534 -1.32808 -1715 2 17.1655 34.4337 34.6108 0.197304 -1.19601 -1.9684 -1716 2 18.1712 33.766 0.0772161 -1.09548 -0.562889 -0.176332 -1717 1 1.64488 29.1834 17.0852 -0.0815325 7.00023 12.2952 -1718 2 2.45105 28.7757 16.7688 -1.60768 -0.0772507 -1.2852 -1719 2 1.61769 28.9694 18.0178 2.50057 0.89099 -0.0371666 -1720 1 19.9506 29.2489 0.273098 -4.25536 -3.36927 -6.20834 -1721 2 19.2352 29.8589 0.0936771 0.503118 -0.682629 1.46511 -1722 2 20.3728 29.5983 1.0579 1.3161 1.07523 -3.32135 -1723 1 27.8716 8.50267 9.36321 -3.35714 -5.18294 -1.3578 -1724 2 28.6831 7.99746 9.31369 -2.54911 -1.12108 0.0872618 -1725 2 28.1556 9.39335 9.56884 -0.30153 -0.574623 -3.49663 -1726 1 9.82818 27.7479 10.8488 -6.86871 -1.02967 9.93278 -1727 2 10.0249 28.601 11.2357 1.0744 -3.24139 5.94322 -1728 2 10.4102 27.688 10.0912 -1.79317 2.78384 0.173816 -1729 1 26.3014 18.4567 21.2957 2.97647 0.633511 -3.14148 -1730 2 27.1778 18.8413 21.31 -0.191739 0.273 2.06412 -1731 2 25.7116 19.1982 21.4319 -0.360629 -0.119192 -1.88185 -1732 1 14.1914 25.9865 24.741 -8.56081 5.41353 5.26795 -1733 2 13.3901 26.4644 24.9552 0.801187 0.9469 0.49194 -1734 2 13.9489 25.0639 24.8199 1.01328 0.836675 2.54839 -1735 1 0.691931 8.9728 18.1979 -3.96677 -7.54445 4.48751 -1736 2 1.47197 8.41808 18.19 0.376242 1.60941 -1.26285 -1737 2 0.664427 9.33553 19.0833 2.64769 3.31739 -1.46519 -1738 1 32.7652 11.7583 33.2395 1.54918 -3.51172 4.14695 -1739 2 33.5873 11.2854 33.1103 -0.908083 -1.99124 2.2228 -1740 2 32.4626 11.4818 34.1045 -2.75121 0.59432 -0.665015 -1741 1 11.5804 29.9345 6.87085 -3.98604 9.21602 -2.45617 -1742 2 10.8367 30.5367 6.85149 0.851864 1.19311 1.9558 -1743 2 12.3257 30.4815 7.11894 0.0163468 -1.68651 -0.123458 -1744 1 33.7395 13.4583 4.64308 10.1649 10.37 -3.38104 -1745 2 33.2614 14.0691 5.20404 3.11441 -0.157142 2.33649 -1746 2 34.2654 14.0184 4.07207 -0.588828 0.656755 -0.674781 -1747 1 20.8293 4.12745 19.884 -0.900155 -15.6481 -12.3012 -1748 2 20.9387 4.49588 20.7607 -1.00948 1.1354 -1.78485 -1749 2 21.497 4.56415 19.3551 -4.10532 2.81675 -2.55123 -1750 1 25.2813 8.95117 23.5529 -5.6549 -6.06679 -1.98084 -1751 2 25.1124 8.60317 22.6773 0.0877073 0.937122 -0.552264 -1752 2 26.07 9.48399 23.4513 -0.42974 -0.187555 0.938219 -1753 1 16.3361 1.45257 7.44306 -0.501178 -6.27248 2.34719 -1754 2 15.5487 1.07503 7.83514 -1.16082 1.49855 -1.27372 -1755 2 16.3356 1.12726 6.54283 3.10938 -3.19078 1.70532 -1756 1 8.46444 10.8147 34.5389 1.12869 -0.330035 -1.90714 -1757 2 8.56968 10.9289 33.5943 -4.54814 -2.02095 -0.0366463 -1758 2 9.24803 11.2132 34.9176 -1.55944 2.95459 -2.62445 -1759 1 5.31657 12.6947 25.2739 -9.69831 1.103 8.43976 -1760 2 5.27809 12.4477 26.1978 1.52965 0.18905 0.598663 -1761 2 6.20859 13.0186 25.149 -0.0991383 -3.08896 -2.53084 -1762 1 28.5157 6.15004 35.2372 -5.69213 -5.5969 -1.87507 -1763 2 28.1098 6.98026 0.0393634 1.89261 0.643659 -2.3838 -1764 2 29.4003 6.19696 0.15274 -0.951175 -0.989321 0.289933 -1765 1 7.78466 0.693766 16.2287 1.07241 17.9604 8.0931 -1766 2 8.08356 0.837065 17.1267 2.58043 -0.069536 -0.583198 -1767 2 8.54661 0.898259 15.6866 -1.36197 -3.65085 -1.7895 -1768 1 21.6813 21.8072 29.4703 -1.631 -11.6725 -3.76703 -1769 2 21.6061 21.9011 30.4199 2.13797 2.18847 -0.698889 -1770 2 22.6074 21.6171 29.3206 -0.332776 0.79081 -1.47354 -1771 1 20.5438 13.5191 22.8826 8.03659 -9.74553 5.52175 -1772 2 20.1393 13.3888 23.7403 -0.0625002 0.794746 -1.27364 -1773 2 21.4006 13.8991 23.0765 -1.59286 3.93326 -1.415 -1774 1 13.5072 24.416 28.8495 -8.61398 -6.58765 -2.60536 -1775 2 13.7372 25.3416 28.7683 2.58009 -1.31723 -1.32215 -1776 2 12.7483 24.3061 28.2766 -1.06138 1.82656 0.980875 -1777 1 10.701 24.2694 31.9278 -7.73908 -14.9481 -5.3071 -1778 2 10.6397 23.7255 32.7131 0.152684 2.00444 1.33256 -1779 2 11.6139 24.5564 31.9053 -3.56031 5.87723 2.3617 -1780 1 15.9514 28.9785 35.05 -6.13348 -2.84415 3.65671 -1781 2 16.0007 28.4044 34.2856 0.493557 1.27707 -0.0375282 -1782 2 16.6361 29.6313 34.9043 -4.91485 0.184314 4.289 -1783 1 1.56406 0.696046 33.0473 -16.3277 -3.33827 -5.14075 -1784 2 2.3588 1.1655 33.3007 1.16723 -4.89822 0.624136 -1785 2 1.06186 0.61896 33.8585 -1.23525 -0.142794 -1.08219 -1786 1 26.1489 0.161449 10.031 -5.85314 -4.26932 -0.640182 -1787 2 25.3888 0.338633 9.47686 -0.577658 0.378965 0.630074 -1788 2 26.2083 34.7128 10.0587 -0.3756 1.22642 -0.639825 -1789 1 9.77827 17.7213 3.30542 13.4611 -4.29639 13.2923 -1790 2 9.83141 17.9127 4.24179 -5.99096 1.04012 -1.33779 -1791 2 9.26456 16.9152 3.254 -0.739499 1.56695 -0.0280845 -1792 1 8.75546 5.30359 3.09792 -0.255889 15.3482 2.41007 -1793 2 8.6027 5.09529 4.01961 5.84751 -3.00388 -0.291936 -1794 2 9.09027 6.20028 3.10684 1.43964 -1.33517 0.526293 -1795 1 20.4814 15.9216 9.33796 2.81371 2.13566 3.79524 -1796 2 20.5543 15.4841 8.48968 0.274219 2.66894 -1.03473 -1797 2 20.2654 15.2198 9.95206 0.47654 -1.71684 -1.79442 -1798 1 16.8296 18.5853 26.1735 -17.8837 -2.73022 -2.5972 -1799 2 16.6236 18.4217 27.0938 3.92839 1.60667 1.04126 -1800 2 17.1997 17.7601 25.86 -2.6041 -0.625285 -0.525706 -1801 1 13.7551 16.9871 22.3221 -6.04948 3.15298 -10.5342 -1802 2 13.5677 17.869 22.0006 2.17897 1.9518 4.20383 -1803 2 13.5993 17.0374 23.2652 0.893133 -3.3634 -1.12973 -1804 1 32.6224 30.4104 6.89006 12.2886 3.52112 -9.79544 -1805 2 33.5187 30.4095 6.55399 0.662146 -3.05942 -0.827721 -1806 2 32.5692 29.6244 7.43374 -1.08508 2.2176 1.86676 -1807 1 17.6301 14.6078 27.1804 -9.11653 -2.98566 2.71955 -1808 2 17.8789 15.2291 27.8647 5.79835 -2.21682 -2.26285 -1809 2 17.6954 15.1079 26.3669 0.199624 -2.18441 -0.175446 -1810 1 11.6265 21.2541 16.4685 1.56278 -2.32071 -4.67919 -1811 2 11.5027 21.367 15.5261 -1.319 2.52053 0.527184 -1812 2 12.4931 21.6214 16.6425 -3.12478 2.9172 1.71274 -1813 1 1.37498 22.2786 20.7552 7.83084 -9.33461 11.8114 -1814 2 2.11044 21.8342 20.3335 2.21102 1.17282 2.27104 -1815 2 0.762515 21.5758 20.9725 1.01663 -1.67241 -1.68685 -1816 1 7.17805 3.26556 24.3673 -4.99946 9.48611 -9.40754 -1817 2 7.6939 3.09383 23.5795 2.13125 -0.0841017 1.22202 -1818 2 6.9663 2.39709 24.7096 4.87344 1.24813 3.20579 -1819 1 17.6456 11.9508 5.42429 -12.8292 2.12827 9.01964 -1820 2 17.666 12.8943 5.58451 0.315621 -0.93474 -2.51064 -1821 2 17.4213 11.8696 4.49727 3.76995 -3.16317 0.287845 -1822 1 12.8487 11.6647 32.1501 1.95459 3.14079 0.595388 -1823 2 12.9364 10.7117 32.1312 1.03335 1.31396 -2.45903 -1824 2 12.8135 11.8841 33.0812 1.80441 -0.0285427 -0.940293 -1825 1 28.1273 28.5701 6.20796 15.569 -1.19954 -3.84549 -1826 2 28.7421 27.8707 6.42982 0.569705 0.69249 1.61013 -1827 2 28.6828 29.3008 5.93649 0.880667 -1.77333 0.445495 -1828 1 9.60977 10.1365 3.09891 -5.94523 16.4753 -3.61789 -1829 2 9.15241 10.5276 3.84329 1.96922 -0.0930667 1.79105 -1830 2 8.91879 9.95189 2.46275 -2.80442 -1.49947 3.15747 -1831 1 14.4197 9.53079 14.3089 -7.16532 7.48911 2.91416 -1832 2 13.6136 9.59909 14.8205 -1.17855 0.294958 -1.49237 -1833 2 14.1507 9.72232 13.4104 0.397574 -1.98121 -0.174343 -1834 1 6.04069 31.1465 20.4566 -9.15708 8.12434 4.89108 -1835 2 6.13395 30.1983 20.3652 -0.244382 1.09085 -0.00860043 -1836 2 5.11224 31.279 20.6481 0.843334 1.97473 -0.0647082 -1837 1 8.7838 13.5803 21.8928 0.217801 17.1488 14.4834 -1838 2 8.51094 14.4978 21.8985 -1.45571 -0.38088 -3.77848 -1839 2 8.24509 13.174 21.2139 6.3086 -2.86453 -1.40498 -1840 1 23.4748 35.2743 4.51161 4.21931 -5.52566 -6.44192 -1841 2 22.7721 35.442 5.13959 1.52363 0.185827 0.842397 -1842 2 24.0271 34.6195 4.93869 0.555595 -0.767624 -1.58782 -1843 1 22.0894 26.5427 21.4562 3.95908 -18.8496 4.23428 -1844 2 22.6255 26.467 22.2455 0.409818 -0.407813 -0.0667319 -1845 2 22.4919 27.2556 20.9601 -0.706819 -0.893449 -0.0692904 -1846 1 1.89498 19.0649 16.666 2.80053 -16.753 0.163504 -1847 2 1.87316 19.9794 16.384 -2.84196 -1.39736 -0.279 -1848 2 2.03554 19.1088 17.6118 -0.829705 -0.704631 -0.796266 -1849 1 23.9684 29.6207 2.08753 -23.7725 14.9997 -17.3986 -1850 2 23.9631 29.2365 1.21082 -2.58409 -0.109131 0.494741 -1851 2 23.5338 30.4669 1.98139 -0.29018 0.110115 1.17243 -1852 1 1.04624 21.6926 30.599 -10.8783 -3.72514 -8.42776 -1853 2 0.112367 21.7513 30.3974 -0.385649 -0.331062 -1.86197 -1854 2 1.46468 21.5314 29.7533 0.951807 4.52263 -0.597105 -1855 1 13.7383 18.7757 16.052 2.06801 4.28003 3.94841 -1856 2 14.0403 19.1264 16.8898 0.614545 -1.93383 0.441892 -1857 2 13.1788 18.0361 16.289 0.955085 -0.158913 -1.28769 -1858 1 15.0232 6.07511 33.936 -1.29508 2.93069 -5.05057 -1859 2 14.7347 5.5858 33.1655 0.234827 -0.161482 0.355153 -1860 2 15.9546 5.86971 34.0159 -1.64187 -4.18189 4.22192 -1861 1 31.8145 4.72505 13.9315 3.51696 2.46284 -9.06312 -1862 2 32.7583 4.70545 14.09 -0.860689 -3.55617 -0.581682 -1863 2 31.7034 4.28385 13.0893 -0.970181 0.0843368 0.95089 -1864 1 24.2418 18.8281 7.32442 19.8697 2.2108 -6.54484 -1865 2 24.4226 18.4746 8.19539 2.81024 2.54724 -0.45717 -1866 2 25.0242 18.62 6.81378 0.970146 1.95667 -0.32899 -1867 1 30.0972 6.70621 9.34508 -7.11575 -10.6459 5.95087 -1868 2 30.6725 6.85653 10.0952 0.385181 0.328039 -2.98084 -1869 2 30.3149 5.82236 9.04901 -0.729241 -1.02843 1.76281 -1870 1 6.44717 22.2065 16.5255 -3.59057 -4.00173 16.1678 -1871 2 6.64259 21.3661 16.94 3.11856 0.683016 0.647408 -1872 2 6.76977 22.1127 15.6292 0.416604 1.37739 1.48251 -1873 1 26.5355 4.89359 31.4896 -7.52384 6.40183 3.48158 -1874 2 26.4108 4.09458 30.9775 1.28288 1.47802 -0.0815147 -1875 2 26.2333 5.59673 30.9148 0.174929 0.381041 0.467201 -1876 1 16.6203 30.9547 12.5759 2.29181 3.31892 0.336466 -1877 2 17.5257 31.2473 12.4718 -0.428516 1.14843 0.686943 -1878 2 16.5321 30.7758 13.5121 -0.928822 -0.936925 -0.848334 -1879 1 4.87322 34.619 34.4415 0.500801 -6.20716 0.421653 -1880 2 5.78673 34.74 34.7005 -1.1578 1.99203 1.93461 -1881 2 4.62688 35.45 34.0352 -2.67178 0.290957 3.74667 -1882 1 2.50149 12.2801 26.0877 -3.61028 1.8033 -1.8975 -1883 2 3.14626 12.3987 25.3903 -1.63452 1.76565 0.0939493 -1884 2 2.99924 11.9029 26.8131 -0.546173 -2.4228 -3.67059 -1885 1 11.0044 34.2914 8.17886 15.9126 -2.73607 2.69613 -1886 2 10.7906 34.3407 9.11057 -2.69506 0.109664 -0.892116 -1887 2 11.8744 33.8931 8.15305 0.922075 0.494336 3.88877 -1888 1 10.4642 16.7648 26.4147 2.80971 1.51282 -9.61072 -1889 2 10.4264 17.0779 27.3185 1.17471 -1.35509 -0.280756 -1890 2 11.3146 17.0636 26.0926 0.590472 -1.32977 -0.414974 -1891 1 17.2152 4.69462 34.6747 11.9213 0.65814 -4.69715 -1892 2 18.0195 4.45625 34.2137 1.04857 -0.57361 0.535519 -1893 2 16.8774 3.86516 35.0125 1.91423 1.04657 2.96864 -1894 1 6.97445 35.1353 32.2671 9.97328 -11.6302 -7.33462 -1895 2 7.55154 34.8288 32.9666 0.774769 -1.62199 -1.46055 -1896 2 6.63884 0.467797 32.5832 1.02155 -1.24749 0.362107 -1897 1 30.2645 4.69075 18.0422 0.694439 -2.46184 2.97624 -1898 2 29.6017 4.00886 17.9326 1.10342 -1.19819 0.759635 -1899 2 30.7589 4.42264 18.8167 -1.07894 2.27368 1.54311 -1900 1 14.1656 29.632 31.6787 5.05867 -0.355939 -0.980506 -1901 2 14.4451 30.4041 31.1867 -0.842964 -0.790639 -0.294246 -1902 2 13.5563 29.1821 31.0933 0.0725257 -1.19259 1.4708 -1903 1 22.4084 9.52165 9.7397 0.735332 -1.67091 -3.93305 -1904 2 22.7212 9.37225 10.6319 -1.09142 1.00002 -0.542777 -1905 2 23.025 9.04279 9.18587 1.34861 1.44662 0.230846 -1906 1 22.2367 0.136878 35.4162 2.39769 -1.00634 11.3877 -1907 2 23.1336 0.346647 0.22933 -0.416125 0.426818 1.11968 -1908 2 21.8755 35.1657 0.715801 -0.0814999 0.0454572 0.682247 -1909 1 30.8013 21.126 11.6255 -3.46793 -5.01909 1.70411 -1910 2 31.1601 21.6971 10.9462 -4.45423 -1.15624 -2.23432 -1911 2 31.4336 20.4108 11.6964 2.44046 2.26421 0.934019 -1912 1 27.4508 5.23152 21.4006 1.74025 1.89877 19.0993 -1913 2 27.8319 4.73772 22.1266 0.4018 0.947765 0.850108 -1914 2 26.5774 5.47438 21.7079 -0.634266 -2.0344 0.72118 -1915 1 34.2517 16.5309 18.5306 0.907524 -6.93269 -4.04601 -1916 2 34.8715 15.8322 18.7399 -0.501769 0.835994 1.04597 -1917 2 33.8909 16.2844 17.6789 -0.976215 1.5179 3.59303 -1918 1 32.115 35.0905 16.482 2.22898 -11.9743 -20.9485 -1919 2 32.966 34.6682 16.5991 -0.636814 -0.495605 0.383446 -1920 2 32.3008 0.353133 15.9431 0.148533 0.858467 3.15742 -1921 1 5.2813 31.5245 24.5891 -0.88265 3.56081 0.527901 -1922 2 5.6102 31.6063 25.4843 2.8911 0.897716 -1.16555 -1923 2 5.50826 32.3562 24.1732 0.0452461 -1.83796 -1.84019 -1924 1 25.7935 25.4126 18.2933 8.42974 5.04501 3.04403 -1925 2 25.4171 24.7186 17.752 -3.18932 0.154086 3.92798 -1926 2 25.7522 26.195 17.7434 -1.62301 -1.62428 -0.262324 -1927 1 4.94055 22.5134 12.7286 -9.04805 -9.98913 0.740441 -1928 2 4.66669 21.7387 13.2196 -2.25032 0.777095 0.693415 -1929 2 4.12797 22.9905 12.5602 2.55025 2.81834 1.88639 -1930 1 12.3705 3.40796 24.8702 -10.2718 -6.94273 4.16449 -1931 2 11.5354 3.79201 25.1374 1.11482 2.05237 1.26765 -1932 2 12.7415 4.04279 24.2574 1.31703 -1.09657 1.0894 -1933 1 17.2229 21.0728 32.2314 -8.179 -5.27121 -18.2871 -1934 2 16.3825 21.3411 31.86 1.15239 -1.37236 -2.54915 -1935 2 17.7485 20.8146 31.4742 0.636225 0.416061 0.167394 -1936 1 25.4211 13.6617 27.4256 -0.423575 1.5864 -14.144 -1937 2 25.9311 14.3939 27.0792 0.209498 -1.21813 2.94262 -1938 2 25.0385 13.2482 26.6517 -1.88498 1.40152 0.678356 -1939 1 31.3452 0.921707 6.09496 5.75289 0.0456399 -1.04313 -1940 2 31.5193 0.206077 5.48357 1.7599 -1.91271 2.66807 -1941 2 31.9558 1.61205 5.83652 -0.775733 -0.136291 -2.46929 -1942 1 14.5238 27.1426 0.855822 -0.28203 -13.8472 13.0001 -1943 2 15.0637 27.8615 0.527327 -2.90129 -0.385453 -1.8344 -1944 2 14.5862 27.2115 1.8085 -1.36301 3.80564 -1.12804 -1945 1 28.8746 13.8014 31.4027 -2.88672 6.47051 7.86952 -1946 2 29.2232 14.2517 32.1721 1.91816 0.252514 -1.72337 -1947 2 28.8041 14.4848 30.7362 -2.55312 0.206489 0.885327 -1948 1 32.2921 1.69364 30.0162 -5.24318 6.11719 0.10458 -1949 2 32.9509 1.85569 29.3409 -1.02656 -2.73336 -0.95222 -1950 2 31.7703 2.49576 30.0398 2.18736 -0.0064308 0.36284 -1951 1 12.6171 8.26014 20.3408 -0.40671 -8.63132 6.16379 -1952 2 12.7962 8.9555 20.9737 1.99194 1.08407 -2.86475 -1953 2 12.1389 8.69542 19.635 2.27749 -2.82959 -1.29442 -1954 1 12.5264 25.4516 7.87552 -4.00904 -0.543437 10.3565 -1955 2 12.9562 24.654 8.18449 -0.215524 -0.0928553 -1.74864 -1956 2 11.705 25.1474 7.48948 4.50811 -0.52052 -4.58555 -1957 1 1.10395 20.9772 6.76689 -12.4418 -4.87906 -17.0173 -1958 2 0.841381 21.0115 5.84704 0.961335 2.29109 -0.167377 -1959 2 1.91806 21.4794 6.80294 -0.662195 -1.08577 2.11991 -1960 1 4.82166 0.411135 13.4723 -6.95497 7.27665 -10.2603 -1961 2 4.31632 1.13144 13.0954 -1.71759 1.5163 4.71861 -1962 2 4.19868 35.4546 14.0325 3.34255 0.282635 2.02706 -1963 1 7.98045 14.3231 18.3954 3.08041 14.4496 -7.04888 -1964 2 7.47829 15.0927 18.6634 -2.22303 -2.54215 1.24386 -1965 2 7.75094 13.6513 19.0374 2.28408 -1.12721 -2.33416 -1966 1 6.57567 10.8403 7.6939 2.74017 2.33053 3.06743 -1967 2 6.87818 11.4306 7.00375 -0.816871 -0.135469 -0.424054 -1968 2 5.69956 11.1571 7.91368 0.353319 -2.48188 -0.273827 -1969 1 10.1296 13.4617 3.4523 -7.92991 7.36607 -13.5551 -1970 2 9.4814 14.0411 3.05172 2.81436 1.47522 -1.87702 -1971 2 10.9658 13.745 3.08241 -0.999119 -0.282534 1.18626 -1972 1 2.78873 23.9803 22.6823 7.39875 -2.15156 -6.43063 -1973 2 2.24341 23.3472 22.2153 1.0523 -1.39215 0.678747 -1974 2 2.17172 24.6381 23.0029 -0.309516 -1.48449 0.660469 -1975 1 29.681 34.0668 9.41834 9.5803 -0.140978 0.198088 -1976 2 29.4023 33.8738 10.3135 -0.39736 4.75337 0.09998 -1977 2 30.2232 34.8514 9.49973 0.132783 -0.224159 -2.50537 -1978 1 17.3964 25.0161 9.25437 -10.6964 6.49204 10.2875 -1979 2 18.0663 25.5133 8.78518 -2.57426 -0.200004 -1.71763 -1980 2 17.7826 24.1488 9.37642 -1.26016 -0.11254 -2.41078 -1981 1 11.1411 14.0768 32.9507 2.74692 8.93145 -23.0737 -1982 2 12.0674 14.2752 33.0877 0.326495 0.0181461 -2.13137 -1983 2 10.9448 13.3932 33.5914 -1.40918 5.092 2.7765 -1984 1 1.12682 32.0133 27.5402 4.517 -1.51145 -4.02069 -1985 2 0.552584 31.2959 27.8081 3.00058 -1.99467 0.131487 -1986 2 1.5621 31.6905 26.7511 1.52551 1.30495 -0.0263278 -1987 1 16.7481 10.3694 22.1507 0.264039 13.0692 4.69918 -1988 2 17.6248 10.1979 22.4946 -0.0377334 0.851346 -4.78636 -1989 2 16.5624 11.2729 22.4066 -1.46932 -0.377234 0.467584 -1990 1 3.76375 22.8172 16.7293 -4.0741 -10.5757 1.02761 -1991 2 3.80151 23.6586 16.2743 -0.690304 1.29329 3.69566 -1992 2 4.5994 22.3969 16.5262 -0.197813 0.973283 -0.721214 -1993 1 1.85399 2.73861 27.3822 3.20071 -7.68688 -3.72082 -1994 2 2.53752 2.17131 27.7389 0.0246343 -1.14856 -1.23911 -1995 2 2.27395 3.18876 26.6492 0.934788 1.93265 2.10385 -1996 1 20.9724 33.5726 23.8784 8.10433 -9.20518 -4.51155 -1997 2 21.6189 32.9194 24.1461 -2.046 -3.87957 -3.38316 -1998 2 21.2405 33.8276 22.9955 0.119388 1.30018 0.791288 -1999 1 14.9356 6.66547 21.3473 -4.32378 2.01425 -5.99167 -2000 2 14.0917 6.81509 20.921 0.850589 0.904261 -2.27949 -2001 2 15.2025 5.79487 21.0522 1.98877 1.97817 -3.72271 -2002 1 22.2485 5.18667 17.87 13.215 -1.9753 -1.37536 -2003 2 21.9401 5.84134 17.2434 -1.85661 0.524428 2.90348 -2004 2 23.1453 5.4526 18.0731 0.178716 1.34064 -2.4977 -2005 1 31.7392 29.9223 26.3752 4.76914 0.177865 5.41636 -2006 2 32.1647 30.6696 26.7955 0.903997 -0.87703 1.20137 -2007 2 32.4505 29.4583 25.9336 0.0227674 -0.433216 0.401033 -2008 1 24.5495 23.287 6.21014 -9.6064 5.24279 8.20718 -2009 2 25.3283 22.7624 6.02443 0.116339 4.39189 1.8768 -2010 2 24.1468 22.8595 6.966 0.2289 -0.0589481 -2.13137 -2011 1 25.8848 13.3641 31.6949 11.7976 1.283 28.4217 -2012 2 26.0644 12.9328 30.8595 -3.81135 -1.20515 1.50928 -2013 2 26.7491 13.586 32.0412 2.1747 1.23594 -3.73301 -2014 1 31.9059 10.2239 30.8521 3.15397 -0.693558 5.50864 -2015 2 32.2432 10.7005 31.6105 -2.64306 -0.474064 1.50947 -2016 2 31.6065 9.38729 31.2082 -1.91976 0.707005 -1.14165 -2017 1 0.84878 3.6625 11.6852 3.82778 -4.24681 3.04899 -2018 2 0.853073 4.56299 12.0097 1.00506 -0.863618 -0.913913 -2019 2 0.134074 3.64014 11.0488 -1.02679 -1.02985 3.07516 -2020 1 12.653 6.40924 27.2569 -10.896 -2.3651 4.67545 -2021 2 12.0107 5.88536 26.7781 -1.95087 -0.422561 2.90655 -2022 2 12.932 7.07765 26.6311 3.33215 -5.37792 -3.19321 -2023 1 15.9575 7.9951 15.8816 6.43964 -4.15323 6.61769 -2024 2 16.7831 7.8467 15.4206 0.588477 2.84349 1.20404 -2025 2 15.4803 8.61195 15.3266 -2.08725 -4.05933 -0.295667 -2026 1 20.0375 20.1391 12.665 -4.11025 1.52341 -3.10314 -2027 2 19.4274 20.3342 11.9537 2.89664 -0.270393 -1.94487 -2028 2 20.3292 19.244 12.4922 -2.13637 -0.289793 3.97752 -2029 1 21.356 6.30845 10.1293 11.8845 -7.32937 -8.40835 -2030 2 20.9041 5.54426 10.4872 -0.836302 1.13214 -0.345734 -2031 2 21.8894 6.63336 10.8547 0.11176 0.0745871 -0.490015 -2032 1 35.1526 30.9366 9.83286 7.59845 5.2547 -1.12957 -2033 2 0.311501 31.622 9.89575 0.964885 -1.25019 -0.233494 -2034 2 34.6019 31.0651 10.6052 0.344797 -0.803576 -0.904465 -2035 1 4.27525 27.2569 26.2869 4.28071 5.72746 7.8462 -2036 2 3.39987 27.3692 25.9163 0.165296 -0.828825 2.86229 -2037 2 4.39971 28.0244 26.8452 0.266735 0.0706906 -1.3371 -2038 1 26.8649 19.3391 13.6882 0.177125 1.61838 2.46927 -2039 2 26.0052 19.1944 14.0834 -0.103725 0.362381 -1.50792 -2040 2 27.4862 19.0117 14.3386 -0.695576 -0.902314 0.251747 -2041 1 7.83542 28.181 15.8382 -13.3943 -2.71551 5.4783 -2042 2 7.57758 27.3247 16.1794 -0.25335 2.11014 -2.48558 -2043 2 7.02351 28.6878 15.8233 1.95232 1.88776 0.576467 -2044 1 32.6262 18.2228 29.791 -14.1882 1.19327 -8.66236 -2045 2 32.1279 17.5186 29.3763 0.458993 0.618559 0.834874 -2046 2 31.9606 18.8321 30.1103 1.27184 -0.0824113 1.15038 -2047 1 3.26267 33.4782 7.39241 0.72256 1.05107 -6.58477 -2048 2 4.1177 33.8412 7.62335 -1.20198 1.46048 -0.601021 -2049 2 3.2457 33.4941 6.43549 0.071718 0.812761 -0.0287205 -2050 1 0.844894 3.50214 3.06141 10.9265 -6.46418 5.34726 -2051 2 1.3825 4.10673 3.57296 -1.34547 0.02462 1.3239 -2052 2 1.43348 2.7774 2.85035 0.956803 -0.0258241 1.47884 -2053 1 25.1225 15.9729 21.4727 1.26189 6.66637 7.55006 -2054 2 25.4376 15.7328 22.3441 1.99941 -1.50251 -1.18582 -2055 2 25.5145 16.8296 21.3033 0.649747 -0.161475 0.915999 -2056 1 7.27486 22.2101 14.0385 10.1815 -3.49421 -8.18063 -2057 2 7.84619 21.46 13.8737 1.50039 1.74304 -3.72093 -2058 2 6.53621 22.0846 13.4428 1.08182 3.6941 2.34564 -2059 1 14.2409 9.72949 11.5638 -2.21614 13.7167 -2.62635 -2060 2 13.6906 9.62021 10.7883 -0.22348 -2.43277 0.646692 -2061 2 14.9733 10.2682 11.2645 -0.353329 -0.504752 -2.50308 -2062 1 24.5604 34.1124 22.5076 2.81011 9.56643 12.8028 -2063 2 24.4651 33.192 22.2624 2.76066 3.39389 -3.794 -2064 2 24.909 34.0885 23.3987 -0.0660125 2.15758 -2.31326 -2065 1 28.1787 24.2138 14.4977 2.85163 13.2743 10.1108 -2066 2 28.1314 24.0884 15.4454 -1.95 -0.314329 0.254779 -2067 2 27.5593 23.5776 14.1402 4.78697 -1.19745 -1.90137 -2068 1 35.2086 9.78789 0.994199 1.76044 6.5307 -5.2317 -2069 2 0.557202 10.1754 0.806894 0.418955 -1.44608 0.928967 -2070 2 34.6067 10.532 1.01289 1.59781 1.15857 -0.38696 -2071 1 0.696525 26.2392 12.9981 6.15683 2.43528 1.97356 -2072 2 0.0853603 25.8774 12.3564 0.126465 3.40177 -1.1815 -2073 2 0.827069 27.1459 12.7205 1.01216 -0.0198955 3.9203 -2074 1 22.1927 29.1204 4.3329 10.0155 4.13346 -1.27455 -2075 2 21.5089 28.451 4.35461 1.49845 0.495267 -0.159421 -2076 2 22.908 28.7169 3.84119 -2.47796 1.10379 -2.16302 -2077 1 17.916 28.683 14.989 -2.36263 0.654597 -2.84745 -2078 2 18.4385 28.392 15.7363 -2.11473 0.465722 -0.120026 -2079 2 17.5044 27.8844 14.6585 2.66175 -0.386546 -1.02105 -2080 1 12.7952 25.7665 32.6497 13.9949 3.53752 8.37998 -2081 2 13.7341 25.6434 32.7898 0.325895 -1.85511 0.845326 -2082 2 12.4802 26.1577 33.4645 0.612139 -2.92432 1.79416 -2083 1 30.8742 23.167 13.459 1.42585 -4.1257 6.75052 -2084 2 30.4067 23.0024 14.2778 -1.88886 -0.614314 -1.43999 -2085 2 30.9172 22.3119 13.0311 -1.44327 1.00043 -2.06414 -2086 1 9.82816 23.5848 1.74826 4.09339 -9.25808 -17.9911 -2087 2 9.74381 23.4546 0.803719 0.485579 -1.71759 0.88707 -2088 2 10.3572 22.8448 2.04625 -1.70334 -0.335486 -1.80313 -2089 1 6.89263 12.5722 5.59003 -3.42428 7.18815 0.109591 -2090 2 7.81348 12.4179 5.37924 -0.409968 -0.134661 3.03095 -2091 2 6.43412 12.4627 4.75695 2.18255 -2.57536 -0.0517335 -2092 1 11.0294 29.5516 32.8106 9.33574 -3.0002 -9.362 -2093 2 11.6012 29.3802 33.5589 1.86495 1.52792 -1.29087 -2094 2 11.3895 29.014 32.1053 -0.11513 -1.05364 -0.15456 -2095 1 5.68421 15.1154 32.971 -6.10389 17.5032 9.81276 -2096 2 6.44786 15.1804 32.3976 -2.76176 -5.22659 1.4758 -2097 2 5.84755 15.7576 33.6618 -0.353412 4.33933 -2.88367 -2098 1 21.2619 27.2128 29.9745 13.6163 -5.96544 1.97752 -2099 2 21.1023 27.9709 30.5368 -0.179442 -1.82524 1.45305 -2100 2 20.5969 27.2782 29.2891 0.137903 -0.746035 1.06037 -2101 1 6.19181 8.13957 30.3451 -8.48727 -8.28994 6.01453 -2102 2 6.97701 7.67729 30.0519 -2.03856 -3.21695 4.93459 -2103 2 5.52559 7.45652 30.4214 -1.35773 1.55745 0.920755 -2104 1 32.4099 28.4116 3.86444 -4.18766 8.07464 1.54038 -2105 2 32.5147 27.4665 3.9742 3.5415 2.18598 0.381035 -2106 2 31.5078 28.5858 4.13297 -0.124238 -0.90634 -1.56255 -2107 1 23.9935 26.6237 31.2156 -1.77594 5.02662 -3.69764 -2108 2 23.2047 26.8918 30.7444 0.0659868 -0.69126 -0.258411 -2109 2 24.4759 27.438 31.3587 -2.36725 0.937325 2.90768 -2110 1 28.5047 29.5758 20.8717 -11.8816 10.0842 -0.798304 -2111 2 29.2407 29.9723 20.4054 -1.63534 -5.14698 -5.99675 -2112 2 28.9026 29.1526 21.6325 1.97682 0.775721 -2.26728 -2113 1 27.7507 21.2746 18.519 -2.5653 -10.6239 2.62546 -2114 2 27.4235 20.422 18.2324 0.481061 -0.629309 0.781079 -2115 2 28.2537 21.0848 19.311 -1.00646 0.362905 0.392864 -2116 1 25.2532 27.4363 16.553 -8.60012 2.32024 -6.4729 -2117 2 25.6623 28.3016 16.542 2.83422 -2.12619 2.30998 -2118 2 24.92 27.317 15.6636 5.31661 1.51202 -2.34852 -2119 1 5.61824 2.12637 21.503 -1.17612 0.715888 4.06576 -2120 2 4.8052 2.11258 22.008 1.06061 -0.364635 -2.05514 -2121 2 5.91777 1.21725 21.5055 -2.31637 0.137551 -1.97542 -2122 1 14.2045 17.3028 2.13313 13.8322 -9.9262 14.7443 -2123 2 13.4643 17.6404 1.62874 2.50063 -2.15093 -0.197974 -2124 2 13.9013 17.314 3.04098 -1.33233 -2.7535 0.223921 -2125 1 33.7781 2.9239 0.155769 0.178407 -4.43945 -0.37031 -2126 2 33.4616 3.50802 34.9138 0.119409 -0.168031 0.668625 -2127 2 33.6395 3.41265 0.967026 0.0418614 -0.671587 -0.0553616 -2128 1 0.227757 13.6891 9.35453 3.75917 4.51084 1.19032 -2129 2 0.64664 13.3875 10.1607 -2.554 -4.83332 -1.99438 -2130 2 0.820174 13.4088 8.65689 -2.36288 -2.906 2.52442 -2131 1 27.5718 24.3683 33.9227 11.8758 -14.0536 -0.652827 -2132 2 27.0285 24.2545 33.1429 -0.126379 2.90913 0.147778 -2133 2 28.103 23.573 33.9632 -2.25564 -2.06787 -1.68633 -2134 1 18.7547 23.4368 22.1148 1.76793 -3.43652 -5.89452 -2135 2 17.8334 23.3516 21.8695 0.21508 -0.204651 0.176003 -2136 2 19.1852 23.7587 21.3229 -0.448118 0.043474 -0.389491 -2137 1 2.29221 10.8734 1.51363 3.40588 -1.78065 -4.02462 -2138 2 2.50322 11.7417 1.85678 -0.631189 -1.51747 1.05411 -2139 2 2.85137 10.2765 2.01087 0.643156 1.05988 -1.16649 -2140 1 25.6214 25.899 25.2413 3.03123 -3.73655 12.5526 -2141 2 25.4794 26.589 25.8893 -0.15111 -0.362854 -0.719554 -2142 2 26.3846 25.42 25.5642 0.366269 1.78247 -0.942643 -2143 1 16.9269 16.3234 9.79661 -6.62239 -4.09948 11.2029 -2144 2 17.2235 17.0918 9.30892 4.24477 -4.29454 -0.846488 -2145 2 17.3507 16.4032 10.6511 0.535424 -3.08265 -0.22927 -2146 1 10.4746 17.2104 29.111 0.461956 5.13833 10.1707 -2147 2 10.9241 18.0338 29.3012 -0.703571 0.85844 -2.15095 -2148 2 10.1952 16.8862 29.9673 -1.05192 3.52498 1.46743 -2149 1 16.0666 22.3671 1.6953 -13.4076 -7.95118 -0.708657 -2150 2 15.3907 23.0043 1.46427 1.07175 1.7325 0.439819 -2151 2 16.8399 22.6498 1.20714 1.38044 0.287258 3.91095 -2152 1 16.3357 27.5846 32.8085 2.54571 4.88704 -14.3477 -2153 2 15.9474 26.7327 32.6096 4.10112 -0.695412 1.47727 -2154 2 15.8243 28.2078 32.2925 -3.9931 -1.27178 2.38137 -2155 1 20.4932 11.6283 35.2655 -3.26067 -1.10384 -0.810694 -2156 2 20.9736 12.0663 34.5629 2.17296 -7.5022 -1.79892 -2157 2 19.7289 11.2477 34.8327 1.40006 -3.27805 0.449146 -2158 1 30.4143 26.578 6.51765 1.34698 1.94845 -3.36576 -2159 2 30.1945 26.7453 5.60116 0.455236 -0.800151 0.112693 -2160 2 30.4582 25.6241 6.58369 -2.82519 0.317721 2.06092 -2161 1 12.3779 16.378 4.55641 -4.36421 7.90937 -13.7187 -2162 2 12.3465 15.5702 4.0438 3.23934 2.28262 -2.17386 -2163 2 11.6883 16.9264 4.18253 -0.260462 -0.501236 -2.16943 -2164 1 33.5739 11.9086 21.4588 11.1152 -1.5316 3.49609 -2165 2 33.2115 12.3917 20.7162 3.11323 -0.128176 -0.870749 -2166 2 32.8144 11.6995 22.0027 -1.07419 -0.174326 -2.30381 -2167 1 31.3265 31.2337 1.41157 1.73917 3.01076 -4.26138 -2168 2 31.4705 31.9953 0.849882 -0.517616 -0.645507 0.434596 -2169 2 31.2025 30.5061 0.802147 -2.99133 0.294358 0.258116 -2170 1 28.8718 19.6384 21.2244 5.68955 -4.46505 -10.0472 -2171 2 29.7168 19.4523 20.815 -0.0967467 0.927831 -0.484415 -2172 2 28.8758 20.5854 21.3635 -2.11682 -0.153636 -2.1144 -2173 1 4.42453 23.1716 25.4282 2.90202 2.28962 -12.879 -2174 2 3.9564 23.5331 24.6756 -0.22092 -2.25427 -1.27917 -2175 2 4.52948 22.2427 25.222 -2.16739 -0.10553 2.93245 -2176 1 24.0098 31.996 18.183 -2.49774 3.05067 4.43748 -2177 2 23.2463 32.5536 18.0336 0.686358 1.13207 0.939593 -2178 2 23.6737 31.1031 18.1056 -0.339556 0.639762 -1.92479 -2179 1 12.5965 11.8134 19.0199 0.740877 6.18874 2.34954 -2180 2 12.2121 11.1554 18.4406 -0.485915 -2.06334 3.55624 -2181 2 12.2837 12.6494 18.6744 -6.15752 -1.78466 1.24711 -2182 1 22.6083 27.9044 24.8206 -4.82246 -13.5194 9.39119 -2183 2 23.4879 28.2584 24.9519 0.0947729 -4.15615 6.39783 -2184 2 22.0799 28.3144 25.5054 -2.34407 -3.05615 0.0172565 -2185 1 10.8934 10.4495 15.7934 -5.11254 6.98451 -8.01208 -2186 2 10.7152 10.0409 14.9463 1.76759 -0.812467 -0.0749665 -2187 2 10.9693 11.3835 15.5982 5.17566 -0.714622 -2.87787 -2188 1 0.082404 9.79724 3.64898 -2.02438 -0.241486 -8.02039 -2189 2 35.4288 8.901 3.9446 6.48101 -0.274731 -1.11117 -2190 2 0.113674 9.73312 2.69444 -2.08722 -0.349248 0.254082 -2191 1 30.4051 21.0896 5.849 4.70324 0.772835 5.75226 -2192 2 30.0855 20.9492 4.95774 -1.61648 -1.90844 1.56949 -2193 2 30.1158 20.3157 6.33237 0.187226 1.91967 2.66775 -2194 1 24.6681 21.9189 3.54032 1.5012 -2.16417 1.86007 -2195 2 24.3513 22.8175 3.44855 -5.46579 -2.27758 3.27978 -2196 2 25.2021 21.9326 4.33461 2.49917 0.648722 -2.89273 -2197 1 28.9535 32.9129 27.7197 -2.2052 -2.2515 2.98885 -2198 2 28.2714 33.5692 27.8623 -0.0456994 -0.210812 -3.47395 -2199 2 29.6382 33.3788 27.2398 -0.0427422 -2.86791 -2.22103 -2200 1 30.0346 19.208 7.99526 4.75506 -6.66374 -4.34388 -2201 2 30.7123 18.7664 8.5071 0.454158 5.08749 3.93067 -2202 2 29.4988 19.6607 8.64652 -2.97823 -0.274169 -5.51419 -2203 1 24.4975 23.3494 12.1534 13.7107 4.89884 2.56005 -2204 2 25.3937 23.044 12.2939 0.156279 -1.67664 -1.47157 -2205 2 24.0084 22.5599 11.9216 -1.08709 1.54871 0.416254 -2206 1 31.7696 12.6394 3.00526 -9.99272 -17.4934 8.72874 -2207 2 30.9432 12.3333 3.37887 -0.209767 2.52571 2.50869 -2208 2 32.2815 12.9292 3.76032 3.30471 -3.9613 -1.10394 -2209 1 14.3063 32.5165 11.8812 7.30143 0.0556361 -1.38649 -2210 2 15.1181 32.0114 11.9261 -1.38711 0.777775 -1.05715 -2211 2 14.0878 32.7013 12.7946 -3.05929 -1.69692 -1.52082 -2212 1 29.4326 16.8233 3.26073 -1.1934 19.9674 -6.70824 -2213 2 29.2772 16.4318 4.12024 -0.373273 -3.4086 -3.02457 -2214 2 30.0347 17.5474 3.43221 2.36875 -2.11674 3.31269 -2215 1 16.9359 0.294205 22.93 -1.43661 -5.88207 -1.02348 -2216 2 17.6799 35.4202 23.3969 -2.82944 -1.25383 3.44888 -2217 2 16.9928 35.4332 22.0479 4.11945 0.0654616 0.169236 -2218 1 6.38667 32.0714 27.1175 -1.34154 -7.88241 -2.95021 -2219 2 7.18916 31.7222 27.5053 -0.512257 -1.75037 -2.44929 -2220 2 6.40383 33.0046 27.3299 1.69591 -1.45992 1.74288 -2221 1 11.385 0.737762 34.444 1.0769 9.84781 -8.3086 -2222 2 11.8541 0.729189 33.6096 -0.191503 2.29055 -0.103684 -2223 2 11.348 35.3248 34.708 4.0328 0.86116 -0.188704 -2224 1 5.62568 0.955507 5.96111 -0.934378 8.09796 -8.81512 -2225 2 5.62063 0.151628 6.48071 0.42077 1.38248 0.679491 -2226 2 6.49814 0.981823 5.56822 -0.398521 0.313198 -0.774023 -2227 1 31.4414 14.775 9.5218 -0.12758 -1.13407 1.28874 -2228 2 30.8095 15.3119 9.04368 1.0014 -1.48762 -1.55137 -2229 2 32.2667 15.2547 9.4504 -0.726656 -0.00515146 -0.133122 -2230 1 4.13931 30.4704 11.2579 -4.64295 -12.2416 2.30026 -2231 2 4.26266 30.2823 10.3275 -2.90422 2.95032 0.101658 -2232 2 4.96616 30.8654 11.5346 -1.71939 1.42058 -2.07621 -2233 1 2.68111 19.0805 19.357 0.288495 -0.965979 -1.46009 -2234 2 2.26378 18.6038 20.0745 0.613272 0.598088 0.627627 -2235 2 2.86302 19.9478 19.7188 3.79847 -0.957173 0.111671 -2236 1 22.9328 35.3205 10.654 -1.17128 -1.3631 -3.13154 -2237 2 23.0104 34.5088 11.1552 1.68407 -0.569046 -2.78572 -2238 2 23.0408 35.0506 9.74197 2.03086 2.91551 -0.823667 -2239 1 21.4267 28.833 27.2611 5.01184 6.20341 -7.50164 -2240 2 20.9554 28.0656 27.5855 -2.16121 1.53484 -2.53281 -2241 2 20.7464 29.4921 27.1237 2.50921 2.41066 -0.766813 -2242 1 30.8573 9.03794 4.70224 -5.68181 8.0784 -2.67509 -2243 2 30.8212 8.60041 5.55283 -1.94414 -0.488055 -1.51649 -2244 2 30.4962 9.90935 4.86509 0.308488 -0.0282253 0.643963 -2245 1 4.86565 22.6956 4.35471 -0.616398 -4.28067 1.06681 -2246 2 5.71049 23.1455 4.34482 -0.16007 -0.536699 0.198194 -2247 2 4.83945 22.216 3.52676 0.744006 0.0629632 0.877338 -2248 1 13.4417 3.4638 20.9032 -1.99632 1.72584 -0.702536 -2249 2 14.2551 3.66454 20.4403 -1.02977 0.584263 -1.43401 -2250 2 13.3931 2.50784 20.8996 -0.655064 1.40362 -1.76127 -2251 1 22.1603 21.8511 0.901716 -7.10607 -1.12586 -2.74575 -2252 2 22.4546 20.9995 1.22474 3.06491 2.51485 1.50768 -2253 2 21.3098 21.9855 1.31985 1.18724 -0.0774429 2.61558 -2254 1 9.81493 3.48285 1.49932 2.26475 -8.4394 -1.32831 -2255 2 9.61878 4.19515 2.10792 -0.710188 0.950926 -2.07478 -2256 2 9.33199 2.73212 1.84486 -1.07434 2.35338 -2.01987 -2257 1 25.0473 17.8456 9.69231 -14.3842 -5.19005 -16.2047 -2258 2 24.2117 17.8649 10.1588 -0.385203 -1.38885 -0.994251 -2259 2 25.7079 17.816 10.3844 -0.475704 5.97919 -1.30498 -2260 1 15.1904 12.4179 1.71138 -2.67464 -1.64625 0.609141 -2261 2 15.5382 12.4179 0.819609 -1.16785 -0.661763 -0.140467 -2262 2 15.8133 11.891 2.21191 0.172249 1.15005 -1.0779 -2263 1 10.8181 25.4174 22.6919 9.58336 3.59728 10.2152 -2264 2 11.5544 24.8356 22.8806 1.23843 0.501538 -3.46471 -2265 2 11.2239 26.2611 22.4925 -1.1591 1.24299 1.60585 -2266 1 18.2549 35.0277 9.20161 -4.50675 -6.59285 -15.2326 -2267 2 17.8393 0.0704687 8.53681 -1.26387 1.11665 1.01091 -2268 2 17.948 35.3856 10.0346 4.52059 0.0316157 0.402168 -2269 1 20.6792 9.17175 32.7272 21.7634 -9.32988 -14.2962 -2270 2 21.5877 9.09614 33.0191 0.663048 0.238701 -3.06646 -2271 2 20.5735 8.46796 32.0871 -0.388148 -0.314998 0.451021 -2272 1 26.3243 10.1277 13.9338 14.7149 7.83308 0.760686 -2273 2 26.6293 10.0691 14.8392 -0.429455 1.97339 -1.04355 -2274 2 25.522 10.6473 13.984 0.308735 -1.88575 0.236102 -2275 1 0.821087 13.7218 27.8146 -2.26492 -9.59385 -1.07816 -2276 2 0.847164 14.6412 27.5496 -0.184504 0.0728298 2.52512 -2277 2 1.34985 13.2678 27.1584 -0.259283 1.10003 -1.12015 -2278 1 21.8514 3.72663 35.3611 7.84788 0.365632 2.13817 -2279 2 22.752 3.91439 0.178158 0.081654 -2.20158 1.79129 -2280 2 21.3246 3.94932 0.681469 0.422671 1.75435 -1.22192 -2281 1 19.2674 12.3505 7.94159 5.49851 -4.59446 -2.34016 -2282 2 18.5911 12.992 7.72426 -0.287121 -0.304051 1.92836 -2283 2 20.0315 12.6265 7.43548 -1.20273 1.02982 0.774456 -2284 1 29.8096 8.7982 16.4994 8.96829 4.07211 0.418976 -2285 2 30.5497 9.33158 16.7893 -0.530701 -1.42266 1.98351 -2286 2 30.0933 7.89546 16.6437 -1.18305 -0.410238 -1.41774 -2287 1 27.8657 15.0681 19.6061 8.55154 -1.00711 1.29943 -2288 2 28.4001 14.9028 20.3828 0.112602 1.5095 0.405119 -2289 2 28.269 15.833 19.1956 -0.932179 0.723724 0.725274 -2290 1 23.9809 35.023 31.2007 -10.0867 -12.9137 18.1875 -2291 2 23.2146 35.1817 31.7518 -0.557535 -0.0422997 0.971954 -2292 2 24.5228 34.421 31.7109 -0.546179 -0.0543038 1.89337 -2293 1 28.6883 19.2647 23.8972 -1.06559 0.370071 5.98763 -2294 2 29.457 19.5962 24.3614 0.867262 -0.259978 -1.24066 -2295 2 28.7785 19.6078 23.0081 1.20813 -4.84946 -0.896597 -2296 1 20.7337 23.115 11.3862 -11.7918 3.04966 8.24761 -2297 2 21.1739 22.5193 11.9925 0.124017 -0.927109 -2.46924 -2298 2 21.4277 23.4174 10.8005 -2.31786 -1.02388 -1.27723 -2299 1 5.7637 34.8087 20.9376 2.82092 -7.11993 2.9332 -2300 2 5.89804 33.8668 20.8334 0.50885 0.657977 -3.2233 -2301 2 5.27649 35.0696 20.1561 1.16825 1.5682 0.845121 -2302 1 26.3661 21.6175 25.7165 -3.91456 -10.3696 2.1367 -2303 2 25.586 21.9419 25.2666 0.946708 3.82434 1.41459 -2304 2 27.0697 21.7105 25.0742 0.391923 1.23046 1.31727 -2305 1 31.1931 33.5092 26.1544 3.86364 3.76933 -0.293378 -2306 2 31.1857 33.3639 25.2083 -0.357315 -2.05612 0.52228 -2307 2 31.8416 32.889 26.4874 1.11476 1.8572 0.935319 -2308 1 24.546 11.8067 22.6747 2.57064 -2.75864 -10.3969 -2309 2 24.2325 12.4851 22.0766 1.26784 0.277594 -0.249071 -2310 2 25.4811 11.7321 22.484 0.251406 -0.236827 0.537012 -2311 1 5.97086 23.1659 33.3816 0.705889 0.834823 0.888701 -2312 2 5.35068 22.853 34.0402 -0.940541 -1.80376 -1.98015 -2313 2 5.54819 23.9354 33.0003 -1.20932 -2.3363 -2.28282 -2314 1 5.02374 11.1367 19.2099 9.11094 1.4522 -5.05209 -2315 2 5.57832 10.8665 19.9418 0.0667804 -2.44269 -1.56288 -2316 2 5.05074 12.0933 19.2288 -1.04476 -0.52274 3.09253 -2317 1 22.6927 11.3007 3.69 11.7717 -5.75673 -14.7203 -2318 2 23.186 12.1059 3.53346 -0.554293 -1.90399 -0.546262 -2319 2 22.6736 10.8617 2.83959 0.229846 0.997184 -1.36306 -2320 1 13.2787 8.09069 34.2792 -5.87462 4.25582 16.8038 -2321 2 12.3796 7.82903 34.4773 1.14502 -1.10337 3.47234 -2322 2 13.7994 7.30467 34.4445 0.719881 0.435052 -5.10805 -2323 1 34.1492 7.38549 17.2995 2.86733 3.35536 -5.99085 -2324 2 34.8094 7.99031 17.6381 -0.254148 -1.5628 3.20709 -2325 2 33.3995 7.49678 17.8841 -0.46512 -3.21209 -1.32731 -2326 1 20.6672 14.0678 27.6787 5.22805 0.460659 8.25552 -2327 2 20.8532 14.9985 27.8022 -1.06787 0.319231 -0.0930803 -2328 2 20.6693 13.7031 28.5637 2.99808 -0.145382 -0.431332 -2329 1 6.84198 29.7775 7.43738 -3.6945 7.08614 -1.32895 -2330 2 7.11063 29.17 8.12657 -0.669828 -0.717694 -2.02287 -2331 2 5.98193 30.0918 7.71632 0.15126 0.568919 0.480994 -2332 1 8.84596 31.9067 32.1619 -1.71367 1.17373 -8.29679 -2333 2 8.27076 31.2397 32.5367 1.09525 1.29079 2.10124 -2334 2 9.69241 31.4693 32.0697 -0.474034 0.125448 0.689486 -2335 1 12.7039 30.3224 23.6336 3.14334 4.61749 6.41166 -2336 2 12.37 31.1982 23.4394 -0.848294 -1.2064 -0.0332228 -2337 2 12.4155 30.1489 24.5297 -1.02623 -2.42083 -1.17093 -2338 1 21.7674 30.4564 17.1685 6.5518 -12.4474 -9.45557 -2339 2 21.3087 30.112 16.4023 2.78164 3.67264 -2.82802 -2340 2 21.1257 31.0218 17.5984 0.650375 -1.76947 0.395319 -2341 1 6.28059 16.1851 19.5341 -8.375 1.45001 -7.90091 -2342 2 6.75192 16.0752 20.3599 -2.33614 2.5353 -0.186929 -2343 2 6.3153 17.1259 19.3613 -1.57662 -0.389152 -2.08316 -2344 1 6.99654 25.0325 14.189 6.37705 -5.97158 -7.91246 -2345 2 7.03721 24.0761 14.1968 0.93065 0.226108 -0.951314 -2346 2 7.76576 25.3013 13.6868 0.0459608 1.06549 0.296257 -2347 1 7.49172 35.0755 0.571041 -7.54956 -1.02289 -15.168 -2348 2 7.7428 0.41275 0.947324 -2.23751 -1.40677 0.780299 -2349 2 8.09285 34.952 35.2837 3.79006 -0.0562834 3.27487 -2350 1 6.48037 7.53717 20.648 -8.02777 -4.747 -0.62537 -2351 2 7.21581 7.34537 21.2298 -0.837511 1.08193 0.21763 -2352 2 6.67733 7.05454 19.8451 0.315343 -1.20679 1.16012 -2353 1 5.24123 9.15932 11.0846 -10.6843 -8.81928 6.09711 -2354 2 5.12586 8.71611 10.244 1.19034 6.57538 -3.23221 -2355 2 4.3528 9.38285 11.3619 -0.464243 0.0554528 -1.26203 -2356 1 27.6329 15.5327 26.9815 7.07009 -4.51744 -6.19427 -2357 2 27.5893 16.4508 26.7142 -0.670524 -2.49491 -5.27887 -2358 2 28.2696 15.5208 27.6961 -6.71133 4.24043 3.46151 -2359 1 22.8449 5.25425 24.8601 -1.3917 0.173002 -4.63316 -2360 2 23.6077 4.70545 25.0424 -0.260217 1.19249 1.46138 -2361 2 23.1767 6.15069 24.9103 -0.822615 0.30714 -1.9854 -2362 1 29.5201 32.0828 3.42734 -5.34051 4.53098 -5.37183 -2363 2 29.8855 31.7217 4.235 -1.21524 -0.286452 -0.401081 -2364 2 30.1345 31.8135 2.74455 -1.29293 -0.823783 -0.363964 -2365 1 13.9897 20.8994 14.3156 -14.0381 -5.85964 -16.5379 -2366 2 13.6895 20.1628 14.8479 0.25559 -0.584225 -0.677042 -2367 2 13.2179 21.1643 13.8152 -2.26938 0.822901 1.83824 -2368 1 8.36277 15.6001 2.20894 6.52209 -2.69932 2.69911 -2369 2 7.43379 15.4638 2.39514 0.9458 -2.61057 0.550013 -2370 2 8.41129 15.6508 1.25432 0.217873 -3.20535 0.135441 -2371 1 25.8126 29.1212 29.4999 2.46095 3.60515 -0.506437 -2372 2 25.4701 29.3084 30.3739 2.82308 0.128297 1.04318 -2373 2 25.183 29.5265 28.9036 -2.85708 -2.76924 2.03039 -2374 1 21.3363 23.7549 26.2382 -0.579308 9.77558 -18.7807 -2375 2 21.1875 22.8163 26.3529 -0.888272 1.21154 -0.921635 -2376 2 21.3017 24.1134 27.1251 1.57509 -0.318968 -1.5505 -2377 1 32.6125 28.8311 33.8005 0.235997 -6.9473 -1.53484 -2378 2 32.8588 29.7518 33.7119 1.51986 -1.18944 -0.283798 -2379 2 32.634 28.6667 34.7433 4.91311 -1.61745 -0.805848 -2380 1 22.062 16.5876 18.1999 -1.80021 -3.11402 -4.7509 -2381 2 22.2021 17.0488 19.0269 -3.25178 -1.55956 0.265227 -2382 2 21.2087 16.8958 17.8947 0.625352 -2.08885 -1.31173 -2383 1 10.5389 29.7358 12.9364 -12.7593 -9.41484 16.8249 -2384 2 9.81454 30.3583 13.0004 -0.164148 -1.9119 3.40176 -2385 2 11.2491 30.2346 12.5327 -3.77976 -1.41639 -2.12395 -2386 1 17.1497 2.96302 22.8123 -2.86226 7.88029 -3.50334 -2387 2 16.9332 2.04837 22.9934 5.25217 -0.707133 -2.47536 -2388 2 17.8982 3.14921 23.3792 -1.46687 3.53261 -0.454214 -2389 1 2.85085 16.6241 31.8294 -0.237117 -3.93008 0.382887 -2390 2 3.0593 15.7855 31.4176 3.0594 0.221942 0.854424 -2391 2 2.06098 16.4502 32.3414 1.44269 -1.30476 -0.373273 -2392 1 17.814 7.51767 34.6584 -0.216548 -8.72397 -13.26 -2393 2 18.7644 7.61621 34.7149 -1.63703 1.22522 4.48935 -2394 2 17.6655 6.57516 34.7349 -1.19489 0.992974 2.36771 -2395 1 26.8863 17.8275 18.4929 -6.87722 12.3895 2.70852 -2396 2 26.1237 17.5492 17.9858 -0.613852 1.67922 0.470501 -2397 2 26.5239 18.1268 19.3267 1.27971 -4.11344 0.720256 -2398 1 19.0539 1.05719 26.024 -7.17866 0.452909 -16.7359 -2399 2 18.5856 0.290948 25.6926 -0.558003 -0.829103 1.81807 -2400 2 19.9491 0.948666 25.703 -0.901923 -1.282 3.25294 -2401 1 1.10399 34.6555 5.12556 4.09992 0.295934 -0.358278 -2402 2 0.888586 33.7336 4.98424 -2.83867 1.06254 -1.64303 -2403 2 0.823645 34.8326 6.02349 -0.916637 0.246813 -0.620362 -2404 1 3.04357 35.0974 27.4205 -4.46906 -2.53166 2.67694 -2405 2 2.08966 35.122 27.4958 0.200141 0.287758 0.87854 -2406 2 3.30243 34.3134 27.9049 -1.31357 1.35733 0.567667 -2407 1 14.1278 17.7111 32.8473 -0.319038 1.68778 -1.0739 -2408 2 14.7509 18.0662 33.4812 -2.34692 0.182838 0.520773 -2409 2 13.5865 18.4599 32.5975 -1.9156 -1.82157 0.879205 -2410 1 20.9574 30.6986 2.27113 -19.686 2.13661 16.7588 -2411 2 21.4102 31.5404 2.21974 2.31005 -5.11481 -3.53369 -2412 2 21.1213 30.392 3.16295 5.92237 -2.16654 -1.30373 -2413 1 16.9594 25.7075 27.4213 -0.948258 0.506541 -2.62232 -2414 2 16.9749 25.2792 26.5654 1.25357 -0.406528 0.338891 -2415 2 16.0646 26.0358 27.5091 -0.306281 -3.04471 0.0689326 -2416 1 28.7504 33.8266 11.8199 -9.72652 -3.55156 19.4258 -2417 2 29.3754 33.3057 12.3241 -0.562569 -0.734957 0.337774 -2418 2 28.3157 34.3768 12.4715 -0.415935 -0.803731 0.975799 -2419 1 13.8898 4.37077 31.9564 -2.5287 2.99378 -14.0691 -2420 2 13.8839 3.41454 31.999 2.1508 0.695756 2.76411 -2421 2 14.4981 4.57559 31.2463 4.43455 -0.982105 3.16165 -2422 1 34.186 7.66677 13.3942 4.81902 -3.87759 -6.57067 -2423 2 34.2489 6.88436 12.8463 0.144402 1.0824 -1.02676 -2424 2 33.254 7.74232 13.5987 1.39935 -1.47495 1.02822 -2425 1 2.1811 12.8724 21.4013 5.37692 7.09755 -1.58485 -2426 2 3.05735 12.8908 21.0165 -0.984916 6.69812 -1.10862 -2427 2 2.2398 13.4536 22.1596 -4.46569 -0.508194 -0.326457 -2428 1 20.0245 29.9398 11.7838 -3.18592 -6.83682 -5.48856 -2429 2 20.7672 29.4459 12.1312 0.216597 0.668003 -2.4493 -2430 2 20.0165 30.7507 12.2924 -2.83824 -1.27647 -0.562509 -2431 1 12.6863 8.32573 9.63016 -5.34324 -10.2496 6.94001 -2432 2 12.59 7.50839 10.119 1.51587 0.752951 -2.92993 -2433 2 11.8655 8.41374 9.14562 -1.05411 -2.06667 2.4836 -2434 1 27.1798 35.0741 17.9428 -4.93722 -8.32202 4.28407 -2435 2 26.677 0.125738 17.3494 4.77076 2.79933 0.420244 -2436 2 26.9375 35.3752 18.8185 2.62258 0.673448 0.382376 -2437 1 23.501 14.0131 4.27013 -3.1066 -10.8845 -1.51389 -2438 2 22.6551 14.3486 3.97308 2.52641 1.94126 -4.40419 -2439 2 23.7117 14.5415 5.04 -2.0039 -0.918869 0.551021 -2440 1 13.1993 1.2376 26.2308 -0.0377683 -2.56308 2.02019 -2441 2 12.9134 2.05284 25.8187 0.201584 -1.7374 0.859191 -2442 2 13.2593 1.44798 27.1627 1.51495 -2.64421 -0.716056 -2443 1 32.6176 13.5619 31.2224 -12.7142 -7.55177 -3.50872 -2444 2 32.5606 13.0866 32.0513 -0.0534797 -0.895006 -1.04554 -2445 2 32.5391 14.4836 31.4684 2.31451 -1.41549 0.761516 -2446 1 11.364 10.0025 5.49064 5.21002 -1.23718 7.85778 -2447 2 11.8798 10.0908 6.29211 1.73028 -1.66702 -1.04168 -2448 2 12.0118 10.0115 4.78606 -1.49863 0.894201 -0.0804874 -2449 1 9.17425 26.4194 20.7228 -13.6699 -11.0732 -4.19379 -2450 2 8.24519 26.2239 20.6008 -0.9992 -1.49946 2.45359 -2451 2 9.47449 25.7705 21.3592 1.98389 1.42195 -1.79821 -2452 1 9.87547 7.59326 4.03593 0.883171 -3.44409 4.26605 -2453 2 10.299 7.38518 4.8687 1.49211 1.38928 -0.500535 -2454 2 10.1867 8.47267 3.82149 -4.65415 0.833573 0.861099 -2455 1 20.557 13.7786 1.37502 3.205 5.16823 -8.48874 -2456 2 20.3777 13.3855 2.22916 -3.08669 2.21554 -1.54 -2457 2 20.6351 13.0333 0.779463 -3.09556 0.383008 0.813317 -2458 1 29.9318 5.93866 4.90663 -3.60609 -1.06295 11.0676 -2459 2 30.4405 6.05199 5.70949 1.36851 2.43673 -2.67826 -2460 2 30.4226 5.29089 4.40093 -2.56784 5.82371 -4.58499 -2461 1 12.5153 1.74362 15.2984 -10.8636 3.35373 2.73939 -2462 2 12.876 1.9367 14.4331 3.94471 -5.76471 2.46227 -2463 2 12.5114 2.58732 15.7505 -1.1863 -0.0294337 -4.21117 -2464 1 11.6267 32.7838 23.8264 1.03734 9.75962 5.26541 -2465 2 11.442 32.9687 24.7472 -1.1882 1.23065 -1.34969 -2466 2 11.0021 33.3247 23.3431 -1.61581 -4.55086 -2.55462 -2467 1 13.0669 18.986 9.84038 3.33517 16.6445 -14.1393 -2468 2 12.6725 18.3695 9.22345 0.489585 0.38348 0.703203 -2469 2 13.5705 19.5865 9.29076 -0.0733354 0.573218 -1.67715 -2470 1 26.0197 14.5747 17.7833 -10.2536 3.3327 -8.54489 -2471 2 25.4576 15.3345 17.9348 -1.67012 -0.556756 -2.21609 -2472 2 26.7191 14.6606 18.4312 -3.23085 0.457096 2.13364 -2473 1 27.0423 16.2446 1.7557 4.70326 -5.00337 -5.38823 -2474 2 27.9731 16.2543 1.97879 -1.80526 3.26291 3.58925 -2475 2 26.6749 15.5403 2.28971 -0.519056 2.21714 0.931438 -2476 1 15.3611 20.7239 28.7216 1.20597 -0.245867 -16.9637 -2477 2 15.9805 21.4537 28.7276 2.56858 -2.65264 1.97675 -2478 2 15.9038 19.9475 28.8589 -4.92025 -2.11854 0.899041 -2479 1 27.0999 30.5024 27.4193 1.0109 5.93928 0.0562211 -2480 2 26.8686 29.9966 28.1984 1.14902 1.68636 1.03794 -2481 2 27.4825 31.31 27.7623 1.60369 -0.102085 -2.25533 -2482 1 24.9789 18.8128 24.687 -7.53856 1.44271 -6.87967 -2483 2 25.4361 19.2786 23.9869 0.402066 -1.41473 1.33752 -2484 2 24.1853 19.326 24.8384 1.99303 1.763 3.03767 -2485 1 29.2382 2.55474 15.4842 -3.31484 1.87848 3.65103 -2486 2 29.4505 2.08858 14.6756 0.707966 1.77299 0.39448 -2487 2 28.4169 3.00721 15.2918 1.9658 0.37742 -0.194336 -2488 1 23.984 0.631265 13.0554 10.7624 1.05418 2.21336 -2489 2 23.8893 1.58288 13.0967 -0.431254 -0.424151 2.45856 -2490 2 23.7633 0.407082 12.1514 0.526395 2.2046 -0.166429 -2491 1 30.8432 19.9805 31.527 -3.09153 -12.8661 -2.45215 -2492 2 30.1838 19.2912 31.6067 0.997981 -1.40606 -0.379255 -2493 2 30.381 20.7077 31.11 -1.68263 -1.29434 1.09279 -2494 1 30.1598 12.1327 29.6775 4.77956 -1.41289 -8.20705 -2495 2 29.844 12.6253 30.4351 -0.168345 1.41792 -2.3804 -2496 2 30.9454 11.6857 29.9924 -2.71361 -3.43495 1.90098 -2497 1 8.49576 25.1186 30.478 2.50308 -12.3475 13.7376 -2498 2 9.2182 24.8702 31.0547 0.503684 1.57581 -0.403978 -2499 2 7.93312 25.6698 31.0219 0.139393 -1.35531 1.20362 -2500 1 5.74112 9.02584 5.59473 7.6874 -2.13278 -7.76044 -2501 2 6.09781 9.66792 6.20852 -0.64989 -0.052286 -0.228595 -2502 2 6.04234 8.18105 5.92914 2.82579 0.356003 -1.75083 -2503 1 11.248 34.7652 31.5221 1.66538 -11.9248 -1.68254 -2504 2 12.1823 34.8085 31.3184 0.155843 -1.14116 0.764978 -2505 2 10.985 0.171981 31.6376 1.23696 -1.46377 0.381503 -2506 1 5.35121 22.0216 22.2333 6.02592 -0.848622 -0.13292 -2507 2 5.96925 21.4492 22.6878 -0.527151 0.778755 0.550141 -2508 2 5.66662 22.9071 22.4142 -0.779678 -0.52244 0.613903 -2509 1 33.5647 31.0964 3.22264 -0.585532 -2.25901 4.90734 -2510 2 32.8469 31.5645 2.79604 -0.440377 -1.47333 0.661883 -2511 2 33.2684 30.1871 3.26191 0.0931372 0.0828954 2.64392 -2512 1 25.9586 29.5778 7.26604 -11.156 11.8725 -0.932792 -2513 2 26.7582 29.2106 6.88917 -1.44866 0.264706 0.856777 -2514 2 25.6147 30.1546 6.58396 -0.831726 -1.49291 -0.78684 -2515 1 33.872 4.1891 2.43361 -5.14681 11.4021 7.36067 -2516 2 34.8076 4.0173 2.5401 -1.69556 -0.173078 2.59153 -2517 2 33.8121 5.13942 2.33587 0.360386 -0.327702 -0.600446 -2518 1 13.8061 25.366 3.67669 -16.4922 -3.3948 -6.78713 -2519 2 13.246 26.0763 3.36341 1.44735 2.14405 0.825318 -2520 2 14.6666 25.5565 3.30339 0.433187 0.182352 4.77498 -2521 1 30.8829 4.38467 2.92061 2.36553 -7.8232 -1.28025 -2522 2 31.362 3.56455 2.80183 0.0858757 0.560851 -2.02351 -2523 2 31.0124 4.8593 2.09951 -0.575946 1.05035 1.49595 -2524 1 12.0677 4.99568 33.8529 0.711927 -4.37376 -7.12077 -2525 2 12.0915 4.22871 34.4251 0.371353 3.60395 2.49988 -2526 2 12.8474 4.91001 33.3042 -1.39331 -0.280065 -0.676199 -2527 1 7.3804 22.9973 25.9998 -1.26488 11.0414 -3.32291 -2528 2 7.67016 23.9095 25.9875 0.666485 -1.01452 0.254445 -2529 2 6.44844 23.0386 25.7854 1.85872 -0.86745 -0.704059 -2530 1 6.27227 14.4592 7.69437 4.36272 1.8509 -1.84231 -2531 2 5.31542 14.4663 7.66943 0.21803 -1.70643 3.98418 -2532 2 6.52326 13.7696 7.07982 -0.975729 0.61486 -1.09642 -2533 1 3.42149 16.3234 24.5572 1.99666 -7.14473 5.86282 -2534 2 2.77068 15.6216 24.5478 2.04411 -1.25759 -2.78267 -2535 2 2.92209 17.1109 24.7733 0.692575 -2.13941 2.91917 -2536 1 11.8924 13.7297 11.8857 7.34878 -6.89105 13.365 -2537 2 11.2677 14.1185 11.2734 0.769076 -0.332571 0.661763 -2538 2 12.5505 14.4112 12.0222 0.284382 -2.28551 0.74805 -2539 1 27.0842 4.13469 19.0705 -0.579223 -8.01077 -14.6741 -2540 2 27.68 3.38835 19.0055 -0.717828 -0.638239 -1.88883 -2541 2 27.3023 4.54376 19.9079 -1.9337 -3.25034 0.853043 -2542 1 27.8231 10.5814 29.1136 9.01581 -7.88073 -4.43631 -2543 2 28.044 9.65044 29.0845 0.376996 -0.106267 1.34453 -2544 2 28.6685 11.027 29.1678 0.335287 -0.479378 2.85233 -2545 1 8.69733 11.8294 17.337 9.31799 -6.67989 -15.1806 -2546 2 8.9004 12.7514 17.1792 -1.67775 -1.90487 1.95611 -2547 2 9.41556 11.3511 16.9228 0.159419 0.198253 -1.90207 -2548 1 13.4311 16.9813 24.9618 -13.0532 10.544 -5.41904 -2549 2 13.9336 16.4931 25.614 -2.61652 0.329759 0.472667 -2550 2 13.662 17.8972 25.1173 -0.976717 0.322298 0.495971 -2551 1 25.2958 29.7712 23.4585 3.55844 -9.5727 -5.90045 -2552 2 24.993 29.5971 24.3497 1.6947 4.59589 0.20742 -2553 2 26.1319 30.223 23.5731 -0.166553 0.536019 -3.94791 -2554 1 1.80399 18.671 8.02133 -7.37783 -9.95427 -17.9732 -2555 2 2.25893 18.0422 7.46104 1.13594 1.7194 -2.35741 -2556 2 1.53398 19.3708 7.42673 1.32613 1.2116 1.27953 -2557 1 30.118 27.6164 26.5456 -1.18557 -0.0618805 -2.19944 -2558 2 30.5216 26.9893 25.9454 0.809147 0.840649 1.40233 -2559 2 30.7037 28.3733 26.5314 0.64456 -1.74754 2.10831 -2560 1 33.1829 17.8848 6.35072 -3.65742 2.83492 3.65576 -2561 2 32.6032 18.5986 6.61645 1.20921 -0.292978 0.635203 -2562 2 33.2546 17.3316 7.12858 -3.32066 -1.03914 -1.0834 -2563 1 33.2717 21.1828 2.29144 -9.68722 0.436961 -7.2067 -2564 2 32.3558 20.9091 2.24022 0.825493 -1.38791 -1.5673 -2565 2 33.6596 20.8775 1.47132 0.686099 1.17223 0.668902 -2566 1 28.341 11.5329 12.3732 -8.47327 -6.8272 -1.16735 -2567 2 28.2692 11.1218 11.5117 0.0991386 2.27738 -1.0661 -2568 2 27.6852 11.0856 12.908 -3.54188 0.889008 -3.04969 -2569 1 28.2949 2.63944 2.86311 10.5168 4.27249 -11.5497 -2570 2 28.3595 2.7858 3.80685 -1.04675 4.878 -2.88961 -2571 2 29.1827 2.40182 2.59575 0.866287 0.589303 2.57587 -2572 1 31.44 35.4365 23.4059 1.37683 -4.86578 -9.2244 -2573 2 32.2305 0.379979 23.7042 -2.11239 0.538924 3.63843 -2574 2 31.6596 34.5062 23.4569 -0.28108 -0.144794 3.50708 -2575 1 3.71286 28.1965 15.8744 20.7969 -0.779916 -6.51302 -2576 2 3.94042 28.3062 14.9512 -2.22305 -2.42971 -1.27009 -2577 2 3.90411 27.2774 16.0611 -1.85204 -0.461113 -0.132222 -2578 1 10.9435 21.0253 2.85794 2.06931 -3.16979 -3.84085 -2579 2 11.6016 20.9623 3.55012 -4.4319 4.08433 2.2642 -2580 2 10.2463 20.4308 3.1349 0.747186 0.0593113 -0.0884858 -2581 1 15.5763 3.78874 6.21377 -7.0445 3.53778 -6.04847 -2582 2 15.7042 2.93817 6.63375 -2.00891 2.65582 0.797074 -2583 2 14.7258 3.71697 5.78049 1.27379 -1.75631 -0.505344 -2584 1 19.6419 9.99075 5.15053 1.2755 -6.29449 5.23881 -2585 2 18.8806 10.4985 5.43135 2.09443 2.92741 -3.22524 -2586 2 19.2724 9.25176 4.66718 -2.21285 0.902642 0.775694 -2587 1 3.53446 21.9417 7.0908 11.0875 0.278195 -8.15233 -2588 2 4.153 22.5997 7.40806 -2.68591 0.113968 3.87499 -2589 2 3.79852 21.7812 6.18485 3.06261 2.34224 0.661959 -2590 1 12.5238 18.6425 6.44357 19.6018 -3.77207 3.63381 -2591 2 11.7831 18.4223 5.8787 -3.98008 1.69666 6.96944 -2592 2 12.8563 19.4685 6.09221 -4.44662 2.80814 2.811 -2593 1 23.9477 18.8913 33.0683 -0.672565 -6.24728 -0.545141 -2594 2 23.533 18.0576 32.8466 -2.18849 2.63818 0.396189 -2595 2 23.2166 19.4921 33.2126 1.98397 0.147998 0.528278 -2596 1 19.8517 7.44184 22.0292 2.16616 5.78893 1.96391 -2597 2 19.5289 7.86813 22.8232 0.464402 0.273898 -1.11868 -2598 2 19.8336 8.12931 21.3634 -2.1131 -1.62843 -1.33122 -2599 1 8.00087 26.6376 28.4337 -1.0351 14.1878 -6.62671 -2600 2 8.47057 27.4284 28.6985 -0.533087 0.765719 0.187145 -2601 2 8.30474 25.9632 29.0413 -3.73395 2.18308 1.25568 -2602 1 23.836 15.0131 11.2192 2.92728 10.5305 2.78273 -2603 2 24.1577 15.0323 10.3179 -4.25793 -5.82523 -1.22176 -2604 2 23.187 15.7157 11.2573 0.911817 0.853086 -0.665495 -2605 1 17.6273 5.8919 12.5464 -13.503 1.23989 -2.23486 -2606 2 16.7437 6.2 12.345 -0.492059 1.2263 2.01687 -2607 2 17.5135 5.31228 13.2996 -0.267386 -1.64534 -1.94712 -2608 1 33.2476 25.7937 27.9891 12.8701 -4.23847 0.996233 -2609 2 33.0135 25.9726 28.8998 -1.0973 6.39722 -2.72093 -2610 2 32.7022 25.0465 27.7434 -7.05173 5.57993 0.414508 -2611 1 8.51914 32.1129 20.1464 1.04532 2.17642 -5.77016 -2612 2 8.85286 31.7371 19.3318 1.87128 -0.547667 0.847531 -2613 2 7.63307 31.7602 20.2281 1.13846 1.37709 -3.14964 -2614 1 27.8227 4.07151 5.11334 -5.24716 15.1216 7.06912 -2615 2 28.5081 4.73042 5.00255 -0.342972 -1.95037 0.470709 -2616 2 28.2302 3.38864 5.64617 -2.12271 -0.289679 -0.275411 -2617 1 26.09 14.3328 3.51959 3.57115 1.28362 1.37381 -2618 2 26.1234 13.6783 2.82191 3.49818 -1.05108 2.13729 -2619 2 25.2066 14.2547 3.87977 0.0511633 -1.75065 -2.63981 -2620 1 30.174 24.5518 31.2318 0.453806 8.37899 3.97807 -2621 2 29.8931 25.1932 30.5792 0.192708 -0.318399 -0.197484 -2622 2 30.4132 25.076 31.9961 1.04353 -0.255543 -1.48615 -2623 1 4.56466 31.1753 8.23455 -1.47407 -1.80864 -0.241406 -2624 2 4.0545 31.8998 7.87252 0.649766 -0.274746 0.522243 -2625 2 5.17132 31.5914 8.84695 -1.61562 -0.76437 0.56642 -2626 1 6.38498 30.8921 16.1135 -8.7013 -3.59789 8.37059 -2627 2 5.44256 30.8586 16.2776 0.870294 0.193461 -0.00545666 -2628 2 6.6039 31.8227 16.1607 -1.498 -0.676669 -0.813149 -2629 1 22.938 32.2614 1.41519 14.0793 6.87784 -4.94951 -2630 2 22.7465 32.8754 2.12408 -0.553048 2.06651 -2.69849 -2631 2 23.7481 32.59 1.02541 1.0202 -1.18075 -0.224786 -2632 1 26.7444 10.5412 34.1386 -0.729196 1.75666 0.74932 -2633 2 26.6718 9.85587 33.4743 -4.75502 -1.46035 2.22842 -2634 2 27.2035 10.1222 34.8666 -1.67976 -0.183623 0.488617 -2635 1 18.1293 0.52611 11.6353 3.41316 3.29135 9.94169 -2636 2 17.6407 0.643794 12.4499 -1.4887 3.06455 -0.965199 -2637 2 19.012 0.836124 11.8379 -0.276044 1.01134 1.40861 -2638 1 5.04501 17.2495 27.1697 -2.146 -4.61458 -0.836672 -2639 2 4.4774 16.628 26.7139 -0.82171 0.917514 -0.568112 -2640 2 4.47003 17.9822 27.3907 0.645521 -0.401839 1.61141 -2641 1 0.198644 22.7272 26.7498 4.97196 -9.83645 -0.747047 -2642 2 0.485092 22.4978 25.8657 -0.767604 -2.67568 0.161263 -2643 2 0.970107 22.5816 27.2974 0.488831 1.32294 -0.60145 -2644 1 6.67849 10.3936 29.1304 -1.39586 4.92947 13.2738 -2645 2 7.07742 10.0396 28.3355 -1.37077 1.95382 -0.194229 -2646 2 6.39016 9.62216 29.6182 -2.55868 1.21458 -1.25885 -2647 1 0.357222 3.60367 32.963 3.54082 -1.49796 -0.860356 -2648 2 0.853001 2.80565 32.7797 -1.82766 0.0764419 -1.10872 -2649 2 0.663016 3.88332 33.8259 0.00141422 -4.14073 0.0386493 -2650 1 1.13046 7.04777 21.9697 -1.36602 4.54907 -1.81365 -2651 2 2.08727 7.0469 21.9423 -0.933193 -0.759308 1.26323 -2652 2 0.907488 7.78147 22.5426 -0.618196 -0.166542 0.202288 -2653 1 20.4723 7.96391 8.21019 -5.70361 8.16976 -4.32045 -2654 2 20.7008 7.33003 8.89006 -0.820803 0.456798 -1.6465 -2655 2 20.6808 8.8149 8.59569 2.83099 -1.19691 -0.124197 -2656 1 29.2237 8.66913 31.7268 -3.76694 -6.34732 -4.28055 -2657 2 28.474 8.17605 32.0601 0.201797 2.17518 2.56007 -2658 2 29.0053 9.5847 31.9006 4.0033 0.225852 1.0783 -2659 1 13.3479 26.4695 19.2974 -12.6879 5.26715 -1.6482 -2660 2 12.4341 26.3198 19.0548 -0.69562 -2.60764 1.92669 -2661 2 13.3056 26.82 20.1872 -0.00757085 1.02006 -0.520727 -2662 1 19.945 12.7021 3.72663 2.30376 -1.43383 2.03977 -2663 2 20.7173 12.4663 4.24053 -2.13784 -2.46285 2.21689 -2664 2 19.4388 13.2747 4.30302 -0.201643 0.523955 -0.901549 -2665 1 35.2269 31.6271 19.7321 3.0437 -12.9806 -5.85585 -2666 2 0.350386 30.9713 19.4328 -0.650925 -1.31964 0.448065 -2667 2 35.3339 31.6462 20.6831 2.90425 4.63755 -1.87852 -2668 1 24.9049 4.724 4.91696 10.9643 -4.21072 6.97059 -2669 2 24.587 3.91058 4.52513 -0.672371 -0.0493481 3.21388 -2670 2 25.8462 4.58705 5.0239 -0.186405 -0.689595 -1.70685 -2671 1 24.3494 20.3931 21.3946 -7.30182 1.25914 9.95131 -2672 2 24.5733 21.3233 21.3667 0.918382 -1.32978 -0.695591 -2673 2 23.7379 20.2716 20.6682 3.50744 -0.697665 -2.48663 -2674 1 27.5146 1.3468 12.1304 -18.9568 -3.37881 -7.09919 -2675 2 26.8978 0.952809 11.5135 -0.57462 0.635446 -0.558951 -2676 2 26.9857 1.96141 12.6391 1.33641 -1.65086 1.25419 -2677 1 13.1382 1.88681 29.1164 -19.3501 -1.21559 5.25222 -2678 2 13.1475 2.80789 28.8561 2.37382 -1.33266 -1.23115 -2679 2 13.8632 1.80524 29.7361 2.29128 -3.36128 -4.5117 -2680 1 28.1419 3.96507 23.8017 -4.13944 -4.90891 3.33174 -2681 2 28.0866 3.01241 23.8767 2.08831 -0.0530147 0.949923 -2682 2 29.0808 4.15147 23.7989 -0.897092 1.16349 -3.58271 -2683 1 18.255 23.2281 0.51671 13.017 -2.60707 -6.14686 -2684 2 18.501 24.1514 0.572386 0.58418 -0.949365 2.42056 -2685 2 18.992 22.7593 0.908282 -2.29153 -0.436364 4.12473 -2686 1 2.51327 29.0883 7.57027 8.56702 -1.21518 2.97505 -2687 2 3.1076 29.8197 7.40263 1.53159 -1.43542 2.78538 -2688 2 3.08511 28.3739 7.85107 -0.729143 -2.95678 -4.67993 -2689 1 25.0121 10.6877 1.68774 -1.05656 3.05609 -5.09265 -2690 2 25.2283 9.87495 2.14483 -0.171184 3.0798 2.57181 -2691 2 24.1067 10.5683 1.40112 1.32529 -1.43319 -3.47055 -2692 1 0.50617 31.9797 4.59155 1.77512 1.04483 -0.489645 -2693 2 0.576737 31.5785 5.45776 -0.607725 -0.972758 -0.907699 -2694 2 35.2544 31.5542 4.19107 0.265634 1.31029 -0.934013 -2695 1 8.51989 24.0602 22.2582 -7.65516 0.0063794 1.89121 -2696 2 7.74514 24.4102 22.6982 0.307435 -0.286949 -0.184993 -2697 2 9.25561 24.5092 22.6746 -1.06747 0.567575 -1.92694 -2698 1 3.73918 33.1554 4.30804 -2.18129 3.63303 0.584678 -2699 2 2.79347 33.013 4.26818 0.979572 0.737021 0.250396 -2700 2 4.11004 32.4564 3.7695 0.173535 -1.95325 4.26562 -2701 1 23.7076 3.6516 13.1066 5.92638 0.744877 -8.33536 -2702 2 22.8563 3.37109 13.4427 1.50065 2.01964 2.52455 -2703 2 23.6751 3.44909 12.1717 -4.75045 3.71825 -0.887774 -2704 1 24.6094 3.76835 1.43633 -7.83663 -3.87311 -2.26436 -2705 2 25.4373 3.54032 1.01348 -1.9767 0.932489 2.44944 -2706 2 24.4797 3.08518 2.09411 0.570828 0.0828268 -0.161102 -2707 1 19.489 29.4901 22.011 12.9932 -2.12124 -4.93526 -2708 2 19.5763 28.5564 22.203 0.787662 0.886444 1.11437 -2709 2 20.3762 29.8378 22.1017 0.549872 0.0858767 0.0230447 -2710 1 16.2231 13.9023 33.7957 5.34525 -2.16947 -4.07723 -2711 2 16.8156 14.224 33.1163 -3.21617 0.123838 -3.23683 -2712 2 16.4259 14.4365 34.5636 0.686072 3.08711 -2.69532 -2713 1 31.399 4.7027 20.6234 3.9746 8.45814 -7.29279 -2714 2 31.9008 3.93057 20.8846 -2.52839 -0.230635 -2.9313 -2715 2 32.0005 5.43562 20.7551 0.843683 -0.607816 -2.56919 -2716 1 11.9188 27.2126 2.82681 1.93093 -3.34621 -1.70953 -2717 2 11.7457 27.6027 3.68362 0.986563 -1.96242 0.197858 -2718 2 11.0739 27.2359 2.37743 1.47321 3.98089 -1.5501 -2719 1 22.2884 12.3306 33.307 0.940241 3.05038 -1.33159 -2720 2 23.1322 12.4197 33.7501 0.255271 -2.02172 -1.26508 -2721 2 22.4783 11.7989 32.5339 -2.36363 0.687125 -0.911792 -2722 1 34.7656 23.657 16.896 9.62155 3.90823 2.11601 -2723 2 35.4516 23.1498 16.4621 -1.32827 -1.54927 0.558607 -2724 2 33.9698 23.1397 16.772 0.60288 4.39094 -0.396775 -2725 1 1.74523 27.5889 25.5996 -6.53839 -6.82767 1.94607 -2726 2 1.17073 27.7273 26.3526 0.539793 -1.6298 0.992483 -2727 2 1.51072 28.2863 24.9874 0.657332 1.76883 2.35651 -2728 1 12.8914 5.60656 10.6761 -1.76008 7.46092 0.161921 -2729 2 12.1721 5.01955 10.9088 2.65328 -1.03119 0.394868 -2730 2 13.4357 5.09391 10.0784 -1.61704 2.48952 -1.15736 -2731 1 26.3153 30.236 9.95479 -7.74972 -1.80655 2.43549 -2732 2 26.2843 29.9614 9.03834 1.80453 1.97719 0.494949 -2733 2 26.8894 29.5973 10.3774 1.41313 1.08345 -1.02797 -2734 1 2.44722 10.3076 33.9549 4.72672 5.68641 2.8651 -2735 2 3.26412 10.3953 33.4637 -0.941029 -3.90876 0.277869 -2736 2 2.68214 10.5364 34.8541 0.37328 -0.595572 0.165857 -2737 1 23.5954 21.3779 8.00008 -2.85632 5.19091 -0.190371 -2738 2 22.8512 21.0049 8.47256 2.68306 0.841767 0.343144 -2739 2 23.954 20.6448 7.49988 2.14098 0.206487 1.84538 -2740 1 35.3128 2.94243 23.5832 -0.399748 -1.02466 -1.58818 -2741 2 0.251374 3.38626 22.8612 -1.94198 -0.803917 0.223577 -2742 2 0.513676 2.55574 24.0994 4.07735e-05 -0.211042 -2.17315 -2743 1 13.9993 14.3451 15.4959 -5.74139 -2.53368 2.32769 -2744 2 14.7868 13.9813 15.9005 -2.60555 -0.0933608 1.24778 -2745 2 14.1339 15.2926 15.518 3.21263 -2.30957 -3.34463 -2746 1 6.4645 25.9877 20.3714 1.43107 -1.25589 -9.65394 -2747 2 6.6171 25.2913 19.7326 -2.00968 -1.37895 3.56543 -2748 2 6.11211 25.5365 21.1386 1.6957 2.75439 1.17621 -2749 1 13.2457 10.2242 7.859 3.43441 -8.3974 -20.8527 -2750 2 12.9557 10.9266 8.44107 2.81464 0.707181 -2.19064 -2751 2 13.3446 9.46353 8.43156 -1.69187 0.066917 -1.61218 -2752 1 19.8812 15.7573 34.7861 -4.06867 3.04416 2.11606 -2753 2 20.2197 15.0911 35.3841 -1.39693 0.0543542 0.655742 -2754 2 20.2627 15.534 33.9371 -1.74523 -1.63224 0.24708 -2755 1 28.0598 14.4787 34.8705 5.37928 2.614 3.07549 -2756 2 27.8692 15.0335 0.1797 -2.40524 -2.56523 0.0428427 -2757 2 27.909 15.0449 34.1136 -5.62842 -3.60627 0.267252 -2758 1 19.6323 31.005 7.0221 9.20888 4.55656 1.96157 -2759 2 18.9038 31.3669 6.51756 1.61612 0.27848 -1.30313 -2760 2 19.2969 30.1781 7.36848 -1.30502 2.08742 2.48415 -2761 1 23.521 19.5792 13.6503 6.03364 -0.332811 2.62901 -2762 2 23.6747 20.445 14.0286 1.80967 -0.349473 0.225309 -2763 2 22.9412 19.1438 14.2752 -1.95949 1.66324 -1.35292 -2764 1 17.2304 33.3898 27.4249 1.1281 -6.20412 3.21829 -2765 2 17.9059 33.6588 28.0475 -0.192424 2.73248 -1.06281 -2766 2 17.626 32.6657 26.9397 4.2075 4.38632 -3.32403 -2767 1 14.5322 35.0858 34.6993 -0.268081 -5.95202 0.907761 -2768 2 14.9164 34.4631 34.0822 0.504538 -0.699612 1.06231 -2769 2 14.8594 34.8085 0.107853 0.741955 1.64832 0.440973 -2770 1 23.4486 32.977 12.2136 3.47655 5.48574 -13.7567 -2771 2 24.2409 32.4625 12.3679 -3.79185 -3.83586 -0.412587 -2772 2 23.3448 33.5017 13.0074 -2.52596 -6.75812 3.26493 -2773 1 27.8316 1.824 26.9097 -1.66042 8.9451 14.5854 -2774 2 28.3871 1.2825 27.4705 0.0286398 0.299291 -0.174207 -2775 2 27.9327 1.44688 26.0358 -0.962392 1.60629 0.713311 -2776 1 33.4916 28.0884 24.9203 -0.712322 -2.11292 3.47627 -2777 2 33.9329 28.4947 24.1744 -1.82696 -1.99834 -1.05081 -2778 2 33.8333 27.1946 24.9436 1.69504 1.18455 2.07523 -2779 1 4.51133 24.8021 27.5206 1.28979 5.47865 7.81809 -2780 2 4.62931 24.1455 26.8341 -4.27974 1.54165 -0.437149 -2781 2 4.53136 25.6396 27.0576 -1.95256 0.799878 1.27739 -2782 1 21.9854 18.5123 0.092704 -6.56221 -8.14758 -3.58299 -2783 2 22.4317 17.916 34.9387 0.0920611 -0.325727 0.101063 -2784 2 22.6414 18.7165 0.759221 0.0444473 3.15133 -2.08491 -2785 1 1.51348 16.027 0.149824 2.03745 3.53117 4.01959 -2786 2 1.09257 16.6699 0.720627 -0.162494 0.449542 -1.0739 -2787 2 1.18326 16.2305 34.7219 -1.02773 -3.01344 0.0396897 -2788 1 15.5969 24.9785 19.1505 1.73011 -8.89754 -8.0953 -2789 2 16.1733 25.4392 18.5408 1.97217 -1.48094 1.33374 -2790 2 14.9434 25.6309 19.4025 -0.186919 -0.70118 -2.37729 -2791 1 14.8977 26.7736 7.56698 3.64679 -0.802562 -0.27657 -2792 2 15.0608 26.9434 8.49478 0.535359 -4.91904 -0.346031 -2793 2 14.077 26.2812 7.55376 1.07337 0.968492 -0.658073 -2794 1 20.1266 16.995 24.3871 19.087 8.12062 -9.1825 -2795 2 20.0724 16.2868 23.7454 3.05509 -0.835597 1.61385 -2796 2 20.9558 17.4319 24.1928 0.975087 -0.677737 -0.421857 -2797 1 31.9677 9.81852 26.242 -4.91114 20.8064 9.87467 -2798 2 31.2256 10.3168 25.8997 -1.50199 -1.3044 -0.259873 -2799 2 32.4373 9.52148 25.4626 1.75304 3.89594 1.46565 -2800 1 0.380368 34.9269 18.532 -6.74307 -12.0947 7.8343 -2801 2 0.337044 0.188368 17.962 2.15691 -2.12816 -0.0824411 -2802 2 35.1959 34.3487 18.2086 -1.59822 1.57104 0.186063 -2803 1 13.4144 12.3364 24.2319 -3.88795 0.629947 5.10119 -2804 2 13.1054 11.7821 24.9484 -1.04187 3.33703 2.40208 -2805 2 12.6184 12.7232 23.8671 1.10482 -3.53512 -2.80024 -2806 1 5.18575 5.18379 32.8683 -8.52953 -1.48329 -7.56321 -2807 2 4.63138 5.73738 32.3183 0.791719 -0.45441 -0.17166 -2808 2 5.78991 4.76488 32.2553 0.641899 1.39399 1.70778 -2809 1 32.4253 26.6631 22.0955 -15.0204 3.20577 5.30348 -2810 2 33.1217 26.9876 22.6663 -0.981396 4.27585 -2.81302 -2811 2 32.7121 25.7858 21.8419 3.36573 2.01772 -1.00995 -2812 1 26.5528 2.70454 29.9113 8.95514 7.83874 3.78904 -2813 2 26.4617 3.06993 29.0313 -0.0834723 0.307849 0.204299 -2814 2 27.4614 2.4065 29.9545 1.33238 2.80669 0.553669 -2815 1 31.3574 7.26094 30.5828 -4.03998 0.261943 -3.75028 -2816 2 31.4615 7.58031 29.6865 -2.28306 -0.22389 0.0901194 -2817 2 30.4784 7.54204 30.8371 2.15248 2.87526 1.73663 -2818 1 10.1801 14.3848 10.0633 -12.1617 2.0849 -4.30922 -2819 2 9.29239 14.5028 10.4013 -0.911512 3.38922 -3.1982 -2820 2 10.0586 13.9669 9.21069 0.198087 0.963979 -0.535541 -2821 1 28.1521 13.9438 15.9583 2.50892 0.408084 -0.679025 -2822 2 27.2912 14.2181 16.2743 0.671428 0.0163249 0.0139203 -2823 2 28.0832 13.989 15.0046 1.37228 0.945193 0.662166 -2824 1 8.84268 24.5712 17.2424 3.44969 -1.93068 -2.28459 -2825 2 7.89403 24.6452 17.3464 0.397558 -0.544831 -1.58029 -2826 2 9.08421 23.8139 17.7758 -0.788671 -0.507014 -0.544087 -2827 1 6.95641 20.2933 23.8469 1.06651 -0.198739 -9.54172 -2828 2 7.07455 19.4613 24.3052 1.71358 1.37465 1.02785 -2829 2 7.84625 20.5962 23.6661 -0.775495 2.59061 1.12602 -2830 1 5.75767 13.1151 29.0524 -7.97376 7.83299 5.44391 -2831 2 5.93882 12.9694 29.9809 1.21281 0.126021 -0.679553 -2832 2 4.81049 13.2467 29.0104 -0.266364 1.37462 1.95971 -2833 1 30.0282 16.6847 32.8516 -11.2328 20.0015 -20.869 -2834 2 29.0808 16.8206 32.8633 -0.693183 -3.69826 0.0648344 -2835 2 30.2207 16.2642 33.6897 1.77695 1.0191 -2.32119 -2836 1 19.4053 24.3099 19.4577 8.65447 4.77876 10.7924 -2837 2 18.979 23.7496 18.8092 0.341436 2.37178 0.50017 -2838 2 20.1747 24.6569 19.0063 0.3177 1.49143 2.67484 -2839 1 21.0843 32.5202 34.0578 2.576 1.41346 0.224423 -2840 2 21.4117 33.3054 33.619 -3.5255 1.31905 -0.103233 -2841 2 21.014 32.7716 34.9787 -0.254995 -0.394205 -0.00629371 -2842 1 27.5834 10.4686 5.09157 -10.9482 -14.9634 6.13458 -2843 2 26.6332 10.5766 5.13221 -0.305973 -0.0647781 0.954535 -2844 2 27.7115 9.53795 4.9079 -1.7223 -1.39351 3.98857 -2845 1 28.7385 28.951 29.8835 -11.5401 2.51462 -4.71309 -2846 2 27.7957 28.8412 30.007 -0.670738 0.750379 -0.285083 -2847 2 29.0373 28.1043 29.5518 -0.417363 -0.926714 3.30304 -2848 1 23.1307 9.19308 12.3337 0.271372 -1.41529 3.65252 -2849 2 23.4644 8.44505 12.8289 -2.54285 0.642465 -0.778933 -2850 2 23.5213 9.95628 12.7593 -0.350473 -3.21359 3.45456 -2851 1 7.73182 20.4858 35.3899 -17.0412 3.67328 5.67729 -2852 2 7.15162 20.744 0.658948 -2.46349 -1.5055 -0.808684 -2853 2 8.31437 19.8322 0.329594 -3.36666 -1.41409 -0.124757 -2854 1 15.7473 1.18738 29.4666 8.99138 -4.76431 11.4419 -2855 2 16.622 1.2105 29.8547 0.69727 -0.907829 -1.13811 -2856 2 15.8119 1.7508 28.6955 -0.722798 -1.46272 -0.167298 -2857 1 21.0153 1.65931 12.0138 -0.807926 -2.85642 -3.27261 -2858 2 21.2844 1.85364 12.9116 -0.916424 -2.25324 -0.944087 -2859 2 21.749 1.16777 11.6444 -3.09998 -2.89318 -1.19791 -2860 1 17.7742 21.9579 29.4079 -1.43183 10.2189 -7.71686 -2861 2 18.0478 22.8312 29.6883 -0.485372 -0.0277758 -0.691396 -2862 2 18.4284 21.3691 29.7843 1.3136 0.635409 -2.92429 -2863 1 22.4656 13.0592 12.4564 0.391903 -10.4928 -6.3805 -2864 2 23.0946 13.6425 12.0317 -4.65889 3.40678 -1.05301 -2865 2 22.0569 12.581 11.735 -3.09446 4.72481 0.137222 -2866 1 11.2187 21.7367 13.5236 11.2203 -3.3679 11.148 -2867 2 11.4662 22.2306 12.7419 -3.03733 3.77767 2.17024 -2868 2 10.344 21.4007 13.3282 2.01496 -3.25253 1.35227 -2869 1 21.7259 10.8873 26.2257 -0.948559 4.40785 -20.9387 -2870 2 20.958 11.4299 26.0464 0.258215 0.988232 0.700661 -2871 2 21.6279 10.628 27.1419 2.85847 1.84581 -0.569352 -2872 1 18.468 8.09921 14.496 0.460724 0.338582 -2.70037 -2873 2 19.2276 8.48671 14.0611 -0.617008 0.333315 -0.269705 -2874 2 18.0138 7.61945 13.8033 2.29812 -1.97785 0.612331 -2875 1 2.92126 4.40316 25.4055 -0.594627 -6.74262 -2.27643 -2876 2 2.97228 3.60227 24.8838 -2.15811 1.70178 -3.17956 -2877 2 3.83162 4.67978 25.5102 0.275709 -1.41156 -1.54012 -2878 1 5.27078 8.44836 8.47366 -7.50519 -7.60062 -6.39689 -2879 2 6.08819 8.80039 8.12131 -1.56714 2.55761 4.24307 -2880 2 4.58633 8.84767 7.93671 0.783629 -1.12696 -0.660225 -2881 1 1.76917 24.1455 31.5871 9.02602 -11.9706 7.00766 -2882 2 1.55883 23.2163 31.4947 -0.39641 1.31334 -4.25707 -2883 2 0.926216 24.5669 31.7549 1.38584 -1.397 -0.144867 -2884 1 24.4496 22.6663 34.8586 -4.73651 3.87611 -0.631536 -2885 2 24.1429 23.4303 34.3704 1.24114 -0.963438 -0.382184 -2886 2 23.6548 22.2847 35.2313 0.557533 1.95083 2.46902 -2887 1 4.18318 10.9343 27.7274 4.85776 10.5023 6.59977 -2888 2 4.44701 10.155 27.2381 -4.63086 -2.5052 4.10237 -2889 2 4.904 11.0899 28.3377 0.494956 -2.76604 -0.457625 -2890 1 17.6964 23.1891 14.1611 2.528 -4.65335 -0.844841 -2891 2 17.1743 23.2456 13.3608 -0.520082 -0.73266 1.43697 -2892 2 18.517 23.6315 13.944 -2.46878 2.79571 1.01989 -2893 1 7.47741 4.12466 28.9506 -0.540841 2.4568 -9.88588 -2894 2 6.59486 4.06975 28.5841 0.644358 -1.70369 0.968235 -2895 2 8.0256 3.64574 28.329 -0.917384 -1.43845 1.04733 -2896 1 24.0011 12.4872 25.2177 -1.63741 0.861853 11.3118 -2897 2 24.2343 12.1095 24.3697 -0.728214 2.62357 -0.177716 -2898 2 23.2773 11.9448 25.5311 0.320345 -0.391044 0.088968 -2899 1 29.9156 1.50347 13.0309 19.0448 3.52148 -0.747577 -2900 2 29.0968 1.34719 12.5604 -0.905026 1.13431 3.52755 -2901 2 30.3885 0.67336 12.9718 -1.2587 -0.441583 1.56873 -2902 1 10.6844 11.217 11.7013 1.33878 -3.06313 0.144848 -2903 2 10.067 11.2335 10.97 -0.166971 -0.282535 0.479962 -2904 2 10.8998 12.137 11.8544 0.938882 -0.612302 -0.818373 -2905 1 26.8336 6.78223 27.9029 11.5112 1.50349 -6.90344 -2906 2 27.609 6.23134 28.01 -1.77876 -2.62931 -0.866304 -2907 2 26.7369 6.8791 26.9555 -1.69975 -1.31495 -0.0891284 -2908 1 19.4521 27.2611 28.0451 -14.0332 -12.1976 -5.23952 -2909 2 19.029 26.4902 27.667 -1.80084 1.18086 -2.29871 -2910 2 18.8344 27.5738 28.7061 -1.07244 -0.952262 -0.975604 -2911 1 9.18005 17.542 23.217 9.58692 5.53966 10.9819 -2912 2 9.73809 18.2933 23.0162 0.661761 0.249674 1.94269 -2913 2 9.53057 17.1951 24.0374 -0.451038 -0.441519 0.120853 -2914 1 18.2432 34.6318 20.6587 -14.8178 -12.8929 14.9929 -2915 2 17.3934 34.3554 20.3155 0.894255 0.596258 -4.69797 -2916 2 18.7971 34.7224 19.8833 2.90117 3.60804 4.39229 -2917 1 32.525 32.1026 29.9775 1.19741 1.95427 4.3926 -2918 2 33.1896 32.7313 30.259 -1.36297 -1.02136 4.51635 -2919 2 31.7007 32.5867 30.0264 -0.513643 -1.30973 2.8375 -2920 1 3.80601 11.4922 8.14632 9.02824 -8.2097 3.10397 -2921 2 2.93881 11.2995 7.78988 0.418984 0.403059 1.076 -2922 2 3.74295 11.2562 9.07183 -1.1469 4.51136 0.447144 -2923 1 19.1896 31.1144 32.5061 3.07339 -6.40905 6.96892 -2924 2 19.8074 31.5927 33.059 0.501986 -0.0600323 -0.60876 -2925 2 18.8138 31.7824 31.9326 -2.14162 -0.712873 2.35727 -2926 1 13.3364 28.4195 10.6384 -5.01076 1.76213 2.05512 -2927 2 14.1859 28.0302 10.4309 -1.16483 -0.864801 2.96633 -2928 2 12.7079 27.9116 10.1252 -0.68838 4.04386 -1.17866 -2929 1 9.56373 12.0613 5.54417 -8.0218 -20.2669 0.875703 -2930 2 10.1056 11.2784 5.64203 1.58025 1.53603 -1.36768 -2931 2 9.8396 12.4414 4.71008 0.617277 1.75 2.48548 -2932 1 7.60285 1.78858 2.08879 0.19232 5.73283 -20.0824 -2933 2 7.02218 2.54466 2.00276 0.474573 0.83358 1.69376 -2934 2 7.5107 1.51792 3.0023 2.91195 0.168917 -3.59678 -2935 1 28.7816 11.0345 9.63859 0.266169 2.83895 19.5255 -2936 2 28.9365 11.2443 8.71761 -4.17654 -1.73685 0.115912 -2937 2 29.611 11.2337 10.0729 1.89841 -0.786874 -3.46395 -2938 1 4.02317 14.839 0.81847 -3.68837 0.0531165 -5.35539 -2939 2 4.35752 14.3192 0.0875726 -2.82348 0.0993259 -1.0692 -2940 2 3.18374 15.1781 0.507615 0.966628 3.94 0.797238 -2941 1 28.3052 1.63659 9.03352 3.26313 2.99961 -1.05437 -2942 2 28.2986 2.44251 9.54994 -1.34905 -0.986399 0.956591 -2943 2 27.7776 1.02109 9.54254 -2.62801 1.48309 -3.72567 -2944 1 8.86105 20.4677 30.0536 -5.92802 2.2053 1.7584 -2945 2 8.39358 20.5181 29.2198 0.0772718 -3.11318 0.0771502 -2946 2 8.28184 19.9615 30.6233 -0.533885 2.24543 1.30942 -2947 1 18.1537 12.2328 19.151 -10.4682 0.155871 4.44097 -2948 2 18.586 11.7639 18.4373 -0.384457 1.67294 -0.206693 -2949 2 17.225 12.0258 19.0465 0.0480797 -0.774503 0.24081 -2950 1 30.2744 30.1289 18.8358 -3.96715 0.0935664 -8.38557 -2951 2 31.145 29.7517 18.7095 -0.147376 1.12178 1.6605 -2952 2 29.8876 30.1384 17.9603 0.0432452 -0.346864 0.583518 -2953 1 28.7255 14.9388 4.98002 -7.49327 -7.4278 17.7853 -2954 2 29.0605 14.0616 5.16564 0.211933 -0.85908 -4.01397 -2955 2 27.8008 14.8038 4.77322 1.20335 -0.518813 -2.96547 -2956 1 30.7879 17.3487 25.8764 1.48818 5.56834 -1.94334 -2957 2 31.6096 17.59 25.4489 -0.730261 -2.47537 3.11669 -2958 2 30.4383 16.6371 25.3401 -0.609294 0.308066 1.82469 -2959 1 20.8478 21.7768 22.7954 0.0358594 9.27172 14.5119 -2960 2 20.0162 22.2243 22.6391 2.52586 1.35719 -1.62567 -2961 2 21.5151 22.4166 22.5472 2.52891 -2.86184 0.976522 -2962 1 3.22194 15.2975 10.9357 -3.51532 7.70573 -16.7386 -2963 2 3.55999 14.7783 11.6653 -7.00058 0.904732 2.19656 -2964 2 3.78028 16.0747 10.9152 1.92723 -1.19381 1.40173 -2965 1 33.9272 7.6728 6.62392 -20.804 -1.07668 13.7617 -2966 2 34.078 8.5423 6.99464 4.86877 -2.50402 3.08823 -2967 2 34.4214 7.67239 5.80416 0.736965 -2.28961 2.47031 -2968 1 33.0943 6.73498 25.1359 -2.35227 -2.84798 5.46258 -2969 2 33.4608 6.34555 24.342 -1.23612 -4.04645 1.80119 -2970 2 32.7218 7.56737 24.845 4.72804 1.10746 -2.15895 -2971 1 29.4942 24.6409 11.6012 4.71049 0.825667 -3.56202 -2972 2 29.8232 24.0575 12.285 -0.610726 2.31733 1.79505 -2973 2 28.6114 24.3203 11.4164 1.46015 -1.24279 -1.57806 -2974 1 2.34792 1.81035 21.2382 -3.4999 -6.91405 -2.42619 -2975 2 1.4121 1.66343 21.1008 0.451451 0.0707964 0.348786 -2976 2 2.56626 2.53329 20.65 1.02378 -1.82654 -1.17006 -2977 1 11.0679 31.4274 0.349589 -3.97336 -13.8949 2.97679 -2978 2 10.304 30.9501 35.4729 -0.760996 2.82044 1.03595 -2979 2 11.8111 30.8622 0.138954 -1.44827 -2.32165 1.11003 -2980 1 34.9397 6.07678 11.1034 -2.22254 12.6479 0.124682 -2981 2 0.14602 6.5293 10.6522 -1.43533 0.263672 -1.74925 -2982 2 34.6875 5.37179 10.5071 0.11593 -1.26085 2.49135 -2983 1 20.0111 11.1357 17.5169 8.94125 -5.40484 -5.62534 -2984 2 20.596 10.5709 17.0117 0.573271 -1.62917 1.56005 -2985 2 20.4766 11.2893 18.339 0.347632 1.95303 -0.753852 -2986 1 26.6381 15.2383 11.5783 2.78153 -9.62363 -3.13409 -2987 2 25.7818 14.953 11.2598 -1.96195 2.60261 3.13745 -2988 2 26.7609 16.1057 11.1926 -0.616151 1.23039 4.45004 -2989 1 7.32762 7.27335 11.5191 -11.5084 1.52659 1.91609 -2990 2 7.87547 7.21532 10.7364 -3.04089 -2.64426 -0.970149 -2991 2 6.63615 7.89162 11.2828 1.28543 0.865092 1.79652 -2992 1 8.60792 9.07582 19.3478 1.04807 2.81443 -4.51533 -2993 2 8.93494 8.21003 19.5922 -0.156428 -0.0130758 -1.45729 -2994 2 7.78872 8.90098 18.8846 1.88853 1.2264 -0.117691 -2995 1 11.2159 13.0372 22.9095 -3.77077 -2.02172 -8.1681 -2996 2 10.931 13.3055 23.783 0.451649 1.14277 -0.721053 -2997 2 10.4331 13.1218 22.3651 0.734647 -0.604207 0.445075 -2998 1 15.7036 18.8245 34.7355 5.23332 -0.227801 0.791726 -2999 2 15.2712 19.5646 35.1615 -0.454361 -2.99982 3.71108 -3000 2 16.5946 19.1314 34.5676 0.0840154 0.936719 1.94938 -3001 1 23.1195 30.9582 32.8093 -11.3175 14.9495 1.96537 -3002 2 22.4065 31.3447 33.3176 1.35806 -1.22189 0.859915 -3003 2 23.7489 31.6708 32.6982 1.85513 -2.36108 1.61979 -3004 1 2.07812 30.6848 32.5125 9.50871 4.37908 2.11897 -3005 2 2.43408 29.8226 32.2975 -1.77747 1.34646 -0.726946 -3006 2 2.8449 31.2117 32.7374 0.797833 -3.39264 -0.125451 -3007 1 12.1981 21.2384 5.43324 3.93045 4.29295 -2.75349 -3008 2 11.4503 21.4703 5.98398 0.717393 -3.04214 1.72986 -3009 2 12.8415 21.9273 5.59964 -1.76956 2.25667 -1.02733 -3010 1 16.4951 26.0231 23.2793 1.20945 1.85924 -2.84815 -3011 2 15.7985 26.4104 23.8094 -1.49847 -3.03635 -3.10019 -3012 2 16.7991 26.7395 22.7221 -0.741222 0.615042 0.378175 -3013 1 3.71108 6.70022 23.0891 0.546525 1.51113 1.77057 -3014 2 4.45769 7.21328 23.3982 1.24038 -2.02874 -0.0210337 -3015 2 3.10006 6.69769 23.8259 -0.180669 2.16934 -0.352777 -3016 1 23.6925 19.6449 1.86019 6.11077 -4.15312 -0.477888 -3017 2 23.6298 19.1029 2.64672 -0.089146 2.12459 1.32039 -3018 2 24.5702 20.0247 1.89981 -0.817435 1.66468 0.388381 -3019 1 12.4959 4.32834 15.962 -0.464021 11.3045 -0.319746 -3020 2 12.1311 4.98338 15.367 3.40215 1.83627 -0.124034 -3021 2 13.4256 4.54853 16.0205 0.3889 -1.75557 2.45794 -3022 1 2.89099 24.3098 12.3341 -10.2719 -2.50793 -2.75169 -3023 2 2.73334 24.3455 11.3906 0.597416 3.60168 1.58196 -3024 2 2.11574 24.7153 12.7225 2.77215 2.33842 2.72458 -3025 1 4.4686 13.6711 19.8435 -0.224386 11.0909 -3.62286 -3026 2 4.27441 13.4825 18.9254 -2.82327 7.11789 0.0186368 -3027 2 4.91935 14.5153 19.8249 0.632082 -0.232832 3.71788 -3028 1 7.1078 19.856 18.4337 2.64282 -7.78221 -9.14682 -3029 2 7.43041 20.0245 19.319 -2.09754 4.43317 -1.08205 -3030 2 7.64216 19.1271 18.1182 2.03997 -0.403494 3.33763 -3031 1 23.3081 24.8617 33.3754 1.02774 5.67881 9.77323 -3032 2 23.5976 25.4019 32.6402 -1.14669 1.16174 0.738581 -3033 2 23.4605 25.406 34.1479 -0.414788 0.0385136 0.849893 -3034 1 6.59192 35.2634 10.2919 -1.69789 -7.03354 -1.4315 -3035 2 6.039 0.537106 10.3377 0.735783 -1.88206 -2.53305 -3036 2 6.80998 35.0699 11.2036 0.924183 2.2383 0.209157 -3037 1 21.5878 3.03158 28.3469 -7.36918 10.2464 7.09225 -3038 2 21.3479 3.69549 27.7004 -1.01123 -1.88456 -1.87167 -3039 2 20.7883 2.89048 28.854 -1.54958 -2.11883 -3.12699 -3040 1 24.8121 5.45479 22.5708 4.95404 0.738567 0.825884 -3041 2 24.3509 4.70237 22.2001 1.47035 2.40415 -0.973521 -3042 2 24.6174 6.1749 21.971 -0.859228 -0.289865 1.57076 -3043 1 34.4439 0.14072 3.29046 0.170386 0.494963 0.747063 -3044 2 34.6455 35.4143 2.38414 0.597437 -2.35776 1.12549 -3045 2 35.299 0.264483 3.70234 -0.535882 -2.81448 0.371187 -3046 1 4.27486 2.40924 7.98257 -17.2399 4.37037 -32.5587 -3047 2 4.6166 1.97117 7.20312 0.888642 -0.0110902 -0.402426 -3048 2 3.79879 3.16693 7.64271 1.17907 1.10367 -3.32676 -3049 1 24.5176 31.6538 21.542 -1.7922 -10.8329 -4.7487 -3050 2 24.6804 30.9765 22.1986 0.388193 -0.0291122 -0.00436807 -3051 2 25.2264 31.5481 20.9075 -0.808358 -1.43934 -0.445244 -3052 1 34.4191 34.6792 25.2728 1.19412 -4.21575 -4.26816 -3053 2 33.9421 -0.00252157 25.1796 0.357394 -0.571662 2.03016 -3054 2 33.8891 34.1627 25.88 2.14388 -0.654089 1.21809 -3055 1 11.2607 8.85349 13.2596 -2.85349 8.637 0.395286 -3056 2 11.1856 9.44817 12.5133 2.36053 2.61497 1.72379 -3057 2 10.3558 8.66542 13.5087 -0.678152 -0.566696 -3.97953 -3058 1 17.0459 2.13522 0.319573 -7.62627 -7.75025 6.92663 -3059 2 17.1923 2.32736 1.24579 1.43866 3.99033 -1.0029 -3060 2 17.8554 1.71362 35.4783 0.980211 3.23457 -0.74221 -3061 1 24.82 22.0747 14.9437 -3.32541 -3.90264 -4.36813 -3062 2 25.0997 22.4204 15.7913 -2.12642 0.636614 -1.03652 -3063 2 24.7413 22.847 14.3837 0.143539 -1.58195 -0.0114513 -3064 1 17.7746 29.2204 7.77634 -1.75581 -15.0852 -1.02709 -3065 2 17.5185 29.1396 8.6951 4.22675 1.97634 0.772015 -3066 2 17.6967 28.3328 7.42654 3.48531 -0.859944 2.65568 -3067 1 14.0445 24.7695 11.8375 0.104386 3.22218 -4.1619 -3068 2 14.7198 24.1007 11.9509 1.97005 2.64165 0.295046 -3069 2 13.9228 25.1386 12.7122 -0.891384 0.540169 -1.09134 -3070 1 24.4309 23.4053 24.8337 1.96428 -14.3017 4.03813 -3071 2 24.7546 24.0966 25.4113 3.72551 -1.18643 -2.45811 -3072 2 23.719 23.8162 24.3432 2.19485 1.23715 -0.958494 -3073 1 11.8838 15.0848 0.294702 -11.4296 10.2094 -27.0561 -3074 2 12.5161 15.1014 35.0234 1.30371 0.162089 0.989065 -3075 2 11.4533 15.9388 0.255296 2.16788 1.85131 0.156548 -3076 1 11.0005 18.7643 17.6983 0.390203 6.27683 -5.83743 -3077 2 11.2331 19.0898 18.5679 -0.860541 -1.16214 -1.08104 -3078 2 11.3443 19.4235 17.0955 -2.41904 3.17817 2.87646 -3079 1 0.212921 34.4319 28.4455 -5.86964 7.99631 1.8581 -3080 2 35.4147 34.4114 29.3527 5.9547 -0.0953155 0.917275 -3081 2 0.50196 33.5366 28.2691 -0.201666 1.05608 -2.47241 -3082 1 27.6981 7.7592 5.28276 3.92355 -11.2186 0.242097 -3083 2 28.562 7.34785 5.25841 -0.149851 1.68166 0.720173 -3084 2 27.2695 7.37236 6.04625 0.205607 0.902706 0.367591 -3085 1 18.5723 5.67892 20.2163 -6.02016 1.8601 -5.43617 -3086 2 19.1293 6.24861 20.7468 -3.96339 1.04349 1.38954 -3087 2 19.1816 5.07394 19.7932 2.43478 1.13669 2.2349 -3088 1 2.33693 13.1719 32.3593 -13.3993 -4.48384 -16.0865 -3089 2 1.5677 13.7241 32.4995 1.4918 -0.72052 0.376221 -3090 2 1.97874 12.3212 32.1059 -2.51831 -0.528888 2.5057 -3091 1 35.0122 31.7353 0.970772 6.57238 -0.58943 -2.42739 -3092 2 34.6001 31.4202 1.77521 -2.94121 2.29257 -0.94387 -3093 2 34.5126 31.3212 0.267087 1.75996 -0.0651233 -1.11022 -3094 1 17.1722 3.81562 14.5284 11.466 6.01945 -3.64575 -3095 2 16.5577 3.94465 15.2509 -1.01933 -0.138314 -2.17922 -3096 2 17.8427 3.23287 14.8849 1.32264 3.2161 2.31187 -3097 1 23.7396 2.46095 3.91675 5.09855 -3.6877 -8.41987 -3098 2 23.8152 1.55569 4.21847 1.25645 0.0633707 -1.44855 -3099 2 22.8006 2.64503 3.94296 1.06893 0.251702 4.18713 -3100 1 22.4692 29.5039 22.7944 -7.04283 13.1446 -24.7136 -3101 2 22.7786 29.3334 21.9047 -0.0355099 -3.58315 -0.530013 -3102 2 22.6888 28.7095 23.2812 -5.94423 1.46554 0.646369 -3103 1 8.34225 6.62101 29.939 10.7605 -4.966 -5.37703 -3104 2 8.85581 7.12833 29.3104 1.09347 -0.453817 1.09475 -3105 2 8.16523 5.79339 29.4918 -0.746411 0.476258 0.738427 -3106 1 35.1774 29.8008 28.037 -14.2266 5.81133 -9.66849 -3107 2 35.0229 29.8285 28.9813 1.46344 3.94796 -0.437012 -3108 2 35.2933 28.8713 27.84 2.87828 0.486819 2.79865 -3109 1 30.2879 0.506773 35.0183 -0.0220244 -7.48652 -13.6305 -3110 2 29.4063 0.507705 34.6456 0.368065 -0.436168 0.028707 -3111 2 30.8668 0.628735 34.2658 0.0722307 3.42722 0.71933 -3112 1 9.04929 33.894 34.152 1.75944 -1.76355 -12.0666 -3113 2 9.98995 33.9231 34.3267 -0.237583 -0.73015 0.731214 -3114 2 8.9592 33.2777 33.4251 0.940534 -1.93201 3.3508 -3115 1 8.19649 7.90125 34.6279 -0.750093 -8.24519 11.2663 -3116 2 8.11967 8.7432 35.0768 -1.49527 -0.431736 -0.390457 -3117 2 8.55354 8.11986 33.7671 -4.43471 -0.494743 -0.869832 -3118 1 16.3613 30.7341 16.1521 -1.32103 -1.78989 8.1053 -3119 2 15.4334 30.5913 16.3388 0.211157 -1.94223 -4.84257 -3120 2 16.6538 29.9164 15.7495 2.73462 3.00948 1.63632 -3121 1 1.38641 21.5237 15.8356 0.382218 21.7981 1.54053 -3122 2 2.17106 22.0089 16.0908 1.63247 -1.64657 0.384985 -3123 2 1.47499 21.4044 14.89 1.02155 -0.698164 0.852323 -3124 1 24.4986 16.9123 14.4172 3.36877 -4.46589 -1.72943 -3125 2 24.4501 15.9986 14.1361 -0.1234 0.839279 -1.26243 -3126 2 23.8432 17.3624 13.8842 0.898563 1.2003 0.483694 -3127 1 6.59793 30.0857 32.9682 -10.0053 7.44618 5.35652 -3128 2 6.34106 29.5277 33.7022 1.72771 -1.41646 -1.61101 -3129 2 5.91687 30.7571 32.9272 1.67235 -0.510327 1.12055 -3130 1 13.7919 1.75339 32.9854 -3.04482 -0.841377 -3.04608 -3131 2 13.8631 0.825517 32.7614 2.90628 0.884514 -1.17246 -3132 2 13.8558 1.7753 33.9403 1.63449 -0.902038 -0.815833 -3133 1 4.50537 20.472 25.3775 -7.01104 -10.863 -0.411089 -3134 2 4.10411 20.2045 26.2044 0.21006 -1.79814 -0.483465 -3135 2 5.10303 19.7571 25.1585 3.19687 3.09117 2.48273 -3136 1 8.5517 4.97747 10.5373 8.54264 -6.17324 -2.27361 -3137 2 9.3799 4.56812 10.2868 -0.0265061 -2.80724 1.99319 -3138 2 7.88203 4.45063 10.1011 0.791187 -0.216069 1.93204 -3139 1 6.57267 13.4244 12.4651 -2.66533 0.190568 0.343552 -3140 2 6.84562 14.1285 11.8769 0.999929 -1.41232 -0.862375 -3141 2 6.80767 13.737 13.3388 0.593879 0.504111 -0.617371 -3142 1 17.3051 29.5698 18.826 -2.09761 -1.56961 -5.85992 -3143 2 16.9932 30.1121 18.1015 1.27135 -1.36871 -1.67475 -3144 2 17.7855 30.1759 19.3899 -2.60039 0.672287 0.578534 -3145 1 7.07373 33.6833 15.8811 -3.33946 -16.3787 0.753892 -3146 2 7.97151 33.3642 15.973 -0.335634 -0.646447 -2.04025 -3147 2 7.09186 34.5629 16.258 1.52739 0.883337 -5.12431 -3148 1 4.32196 32.0851 0.42601 -8.31271 4.23867 3.2573 -3149 2 5.25152 32.0642 0.19857 0.0467094 -1.76689 3.06762 -3150 2 4.04169 32.9742 0.208875 1.73502 0.288443 -1.76802 -3151 1 12.4966 15.4353 7.00479 -4.87305 -6.78623 14.9711 -3152 2 12.4009 16.0358 7.74402 -1.11078 0.813417 -1.10515 -3153 2 12.4123 15.9922 6.23079 2.09218 -2.59353 -0.188445 -3154 1 20.2251 27.4421 4.69375 -14.3676 -3.36821 9.96803 -3155 2 20.7465 27.3324 5.48899 -2.05761 0.0840214 1.10639 -3156 2 20.5287 26.7469 4.10997 0.279503 0.866927 1.72249 -3157 1 30.0019 27.9901 32.6268 1.82088 -2.2096 -6.54983 -3158 2 30.4839 28.5623 32.0298 0.44041 -1.26554 -0.728412 -3159 2 30.5757 27.2339 32.7502 0.0590132 1.6685 1.09813 -3160 1 14.6358 3.8656 1.21071 -0.819968 1.59801 0.387496 -3161 2 15.1718 3.07311 1.18106 0.116537 0.518779 -0.450852 -3162 2 13.7884 3.59562 0.856623 -0.433036 -0.289237 1.20145 -3163 1 4.2822 7.13256 1.69724 -14.9359 -8.17507 -4.62687 -3164 2 4.87502 6.72009 1.06902 -1.06769 2.21203 -1.06715 -3165 2 4.16104 6.47383 2.38107 5.26702 0.414931 0.632684 -3166 1 29.1615 26.1905 28.8827 9.67772 3.76926 8.13664 -3167 2 29.2574 26.8932 28.2398 0.513427 -4.85775 -4.47592 -3168 2 28.2853 26.3164 29.2469 -1.95118 -3.16068 -6.29995 -3169 1 3.62976 32.788 28.9084 -0.834533 -1.73903 1.92162 -3170 2 3.07474 32.0132 28.8196 -0.722843 3.12955 -2.08264 -3171 2 4.47746 32.4449 29.191 -1.39132 2.29384 1.33189 -3172 1 23.7625 25.8517 5.67418 -2.89265 0.905805 -6.3717 -3173 2 23.9373 24.928 5.85466 0.777798 1.62035 3.15506 -3174 2 24.6083 26.2071 5.40128 0.409569 1.94495 4.04616 -3175 1 25.3841 33.2777 0.144757 -6.80409 -2.47605 7.89502 -3176 2 26.2712 33.376 0.490466 -1.91422 -1.35509 3.02263 -3177 2 24.9671 34.1233 0.310124 1.51027 1.3301 -3.37749 -3178 1 0.685328 1.52273 17.0713 2.74794 15.6135 -13.9686 -3179 2 0.559315 2.42202 17.374 -1.37572 -0.190286 -1.4119 -3180 2 1.27373 1.60246 16.3206 -0.68884 2.516 -1.17394 -3181 1 23.6485 8.67276 18.7769 -7.08752 -5.50871 -6.71542 -3182 2 22.7359 8.79532 18.5156 1.02533 -0.47446 0.882346 -3183 2 24.1045 9.43553 18.4212 -1.32333 0.912962 3.4913 -3184 1 33.0482 15.6342 13.3463 8.18733 4.85689 -0.214581 -3185 2 33.9436 15.6098 13.0087 -0.630976 -1.10045 -2.04374 -3186 2 32.5901 14.9479 12.8612 -1.60322 1.25415 1.39163 -3187 1 18.3307 24.6467 30.1322 -0.955422 -1.38722 -1.75177 -3188 2 18.9627 24.8944 30.8071 -1.49562 1.04332 -0.108165 -3189 2 18.153 25.46 29.6597 -2.69449 -0.827413 0.404738 -3190 1 5.36796 26.7648 9.70426 -13.6267 -2.88569 -2.78576 -3191 2 4.62472 26.803 9.10228 -0.865691 -2.76846 0.591491 -3192 2 5.0026 26.4092 10.5144 2.49814 -0.442311 0.242191 -3193 1 10.1075 10.0813 21.5404 3.09966 6.72823 0.892418 -3194 2 10.4974 10.9043 21.2457 0.780786 -0.847116 -0.777912 -3195 2 9.50312 9.83741 20.8393 0.835184 0.0782372 1.61986 -3196 1 19.012 35.0674 29.8516 4.3428 -6.61849 10.5981 -3197 2 19.0973 0.402926 29.4041 -5.38171 -1.86839 -2.89064 -3198 2 19.8446 34.6239 29.6891 0.183317 1.63007 -3.019 -3199 1 29.9973 14.9857 24.7306 -17.4183 5.33963 4.87523 -3200 2 29.7441 14.5706 25.5551 -1.91594 -1.82735 -1.48944 -3201 2 30.7847 14.5152 24.457 -2.11635 0.90977 -1.69864 -3202 1 6.6402 29.0041 30.4905 15.7643 -8.82461 -4.15695 -3203 2 7.10398 29.3504 29.7281 2.3573 3.19606 3.31031 -3204 2 6.93748 29.5482 31.2198 -4.49631 -0.702552 0.707882 -3205 1 10.1181 30.2954 18.3043 -12.0596 -1.90595 -3.77068 -3206 2 10.9678 30.6733 18.5311 -1.63719 1.83543 -0.208788 -3207 2 10.241 29.9394 17.4243 -0.308495 -0.288452 1.5646 -3208 1 32.3865 34.1511 4.78754 -1.67137 -3.00822 -5.19097 -3209 2 33.3065 34.19 4.52596 -1.62335 1.39459 -1.27044 -3210 2 32.3622 33.4932 5.4824 2.08471 1.65484 1.49175 -3211 1 8.26454 25.9048 25.8804 8.94171 -11.3934 0.741146 -3212 2 7.47174 26.2165 25.4439 4.55256 2.3376 -2.50811 -3213 2 8.18021 26.2157 26.7817 -0.324019 -1.77069 -0.17311 -3214 1 34.3926 28.7617 22.3391 1.9632 1.7306 -7.94159 -3215 2 34.76 28.2417 21.6243 -0.843718 -0.102087 -0.399323 -3216 2 33.9973 29.5186 21.9066 -1.328 -0.716924 0.707409 -3217 1 26.1808 0.338509 20.7552 -0.530624 0.905905 1.22078 -3218 2 26.9748 0.135408 21.2496 0.758579 0.520292 -2.53616 -3219 2 25.4771 35.4207 21.2463 2.72845 -3.10353 0.445541 -3220 1 10.6084 26.3748 18.4166 3.99152 3.8481 -5.58069 -3221 2 10.0782 25.743 17.9308 0.773352 -0.238694 0.0988648 -3222 2 10.0993 26.5584 19.2062 2.35715 -3.68713 0.611427 -3223 1 8.64044 7.6455 22.4072 -6.40467 -2.47405 -12.6408 -3224 2 9.37282 7.41678 21.8349 0.521448 -1.22821 1.03763 -3225 2 9.0216 7.6745 23.2847 -3.04737 -2.20988 -1.76929 -3226 1 34.9357 6.28892 29.4823 -2.65782 -6.85515 -9.59745 -3227 2 34.7842 5.37266 29.2505 2.73546 0.78599 -2.66532 -3228 2 35.3491 6.25302 30.3449 -3.33941 1.66965 -0.276464 -3229 1 22.966 8.26627 24.9751 -3.72776 2.73435 -0.299067 -3230 2 23.5948 8.60314 24.3369 2.10863 -1.48539 1.46579 -3231 2 22.6759 9.04029 25.4578 -1.42852 1.2525 -2.54178 -3232 1 11.4497 14.5881 29.1677 3.44622 4.90251 9.9534 -3233 2 11.2767 15.52 29.3013 -2.29014 -0.777789 -3.16685 -3234 2 10.9794 14.1524 29.8785 -1.01619 2.56573 0.316079 -3235 1 30.9829 28.1896 16.3482 3.36744 -8.84675 3.87946 -3236 2 30.8989 29.0477 15.9326 -2.1131 -1.76634 0.217371 -3237 2 31.8401 27.8695 16.0668 -1.29576 0.932408 -2.9256 -3238 1 19.6015 34.6355 0.734635 3.82111 -4.37811 6.72148 -3239 2 20.0608 34.5325 1.5681 -1.3195 1.04856 1.2229 -3240 2 19.6676 0.0635781 0.537969 1.46512 -0.941646 -1.4333 -3241 1 6.52274 20.2042 8.34712 -4.98263 -2.7053 7.87655 -3242 2 6.45632 20.8253 9.07234 -0.554966 0.744751 -0.522263 -3243 2 6.74491 20.7439 7.58844 0.61905 -1.46179 0.0439269 -3244 1 2.22782 5.94996 13.0364 -17.2712 -2.84246 5.56346 -3245 2 3.16404 5.76122 13.1004 -0.880385 2.20527 -2.96363 -3246 2 1.97011 6.19048 13.9263 2.3965 0.663106 -0.613193 -3247 1 33.5525 3.02123 18.3272 2.13174 3.66578 2.24417 -3248 2 33.2473 2.81478 19.2106 -1.29332 0.657395 -0.726031 -3249 2 32.9021 2.62214 17.7492 2.43767 0.0675429 -1.10021 -3250 1 27.7117 5.52877 14.9754 -6.06074 2.41431 -3.95136 -3251 2 28.5657 5.88536 15.2199 0.974935 -4.04966 0.119662 -3252 2 27.3439 6.17708 14.3749 1.28794 -0.410055 2.17493 -3253 1 15.9445 23.7335 21.564 -8.60712 -0.951582 4.96711 -3254 2 15.9725 24.607 21.9545 3.72476 -1.41776 2.87875 -3255 2 15.6578 23.8825 20.663 3.24861 3.81336 0.0586851 -3256 1 6.6904 14.3962 15.0963 -0.0978392 0.803277 -0.133338 -3257 2 7.63287 14.5603 15.1288 -1.21276 -2.8047 2.42918 -3258 2 6.30051 15.261 14.9683 0.879849 0.2149 1.69295 -3259 1 5.94938 12.1421 3.05339 -3.45367 0.791173 -5.22024 -3260 2 6.27182 12.1751 2.15274 -0.568328 -2.4727 0.596492 -3261 2 5.22855 11.5128 3.02733 4.3059 -2.57114 0.352067 -3262 1 12.099 30.8089 11.2227 13.3139 12.603 -17.0896 -3263 2 12.5423 29.98 11.0424 0.570747 1.63989 -1.53893 -3264 2 12.8088 31.4303 11.3848 0.212312 0.992703 0.299528 -3265 1 18.9397 2.00989 15.9859 2.37424 0.777821 -2.15082 -3266 2 19.4513 1.25681 15.6903 -3.41359 -2.21367 -0.125346 -3267 2 18.5899 1.74354 16.8361 -0.67014 1.851 -0.0408308 -3268 1 23.9633 13.7242 20.699 -7.04089 -4.10473 -2.62291 -3269 2 24.4543 14.5014 20.9656 -0.258566 -0.269603 -1.11839 -3270 2 23.4888 13.9978 19.914 -0.17171 -1.31947 -0.255456 -3271 1 8.24907 5.78477 16.0182 6.14668 -1.69714 -3.23432 -3272 2 8.75532 5.13106 16.5005 3.79762 3.09406 0.268565 -3273 2 8.6576 5.81429 15.153 -2.1102 -0.242667 0.23941 -3274 1 28.3557 22.2528 21.4965 -1.12848 4.9588 -3.03789 -3275 2 29.0642 22.8062 21.1679 -4.15163 4.40876 0.435322 -3276 2 28.3309 22.428 22.4372 0.684064 -0.998779 -0.589035 -3277 1 1.81383 0.070486 2.4619 3.60168 -5.24101 14.9462 -3278 2 1.24801 34.9933 1.95639 -0.841782 1.90331 0.324084 -3279 2 1.92066 35.1365 3.30507 -1.36045 -0.149955 -0.0515105 -3280 1 35.5284 20.9796 3.82593 13.6567 3.77454 7.24769 -3281 2 34.6903 21.3564 3.55764 -0.452622 -5.9856 -2.48859 -3282 2 0.679368 21.5709 3.45906 -1.36066 -0.17902 1.15662 -3283 1 11.1819 3.63594 11.4341 -1.23448 -4.24365 3.98738 -3284 2 10.4888 2.97589 11.4209 0.599039 -0.966374 0.794656 -3285 2 11.232 3.91313 12.3489 -2.46566 2.9773 -0.694713 -3286 1 9.92738 28.8964 20.6864 3.94915 24.4543 3.73891 -3287 2 9.94766 29.2857 19.8121 -1.39617 -0.84439 -0.640753 -3288 2 9.39516 28.1073 20.5854 4.66981 -1.48028 2.11861 -3289 1 8.08269 0.989361 4.46134 -14.0597 -16.2403 28.609 -3290 2 8.89529 1.4905 4.39221 -0.684921 -2.58286 2.11947 -3291 2 8.34315 35.5911 4.28807 -2.96919 -0.287033 -1.33236 -3292 1 2.10527 25.5824 29.3595 0.983872 8.37989 -9.79344 -3293 2 2.22015 25.088 30.171 -2.38025 -1.22084 -1.47614 -3294 2 2.98885 25.865 29.1235 0.77411 -1.56796 0.88154 -3295 1 0.212584 17.1241 5.62441 1.39821 -1.61016 5.87563 -3296 2 0.651319 16.9542 6.45802 -0.368837 -0.914572 -0.677593 -3297 2 34.8451 17.4276 5.87057 0.334555 -0.236617 -1.48321 -3298 1 29.3616 32.8766 7.14896 -12.0765 10.2589 -0.939196 -3299 2 28.4597 33.0352 6.87015 0.182995 1.14712 -0.311918 -3300 2 29.4455 33.3551 7.97369 -0.209521 0.732153 -0.786202 -3301 1 33.4598 17.4491 24.9847 2.11038 8.3072 -5.40215 -3302 2 33.7183 16.5716 25.2665 -4.33311 1.26891 3.50772 -3303 2 33.84 18.0335 25.6406 2.0206 1.18645 -2.23072 -3304 1 14.6377 31.9704 20.1131 9.68456 0.860329 7.32485 -3305 2 14.4071 32.3851 20.9444 0.906652 0.595226 -0.0943368 -3306 2 15.5756 31.7932 20.1853 -1.25285 -0.793495 -0.410536 -3307 1 17.8961 30.1944 29.0767 0.621021 7.11004 1.80483 -3308 2 17.9929 30.3778 28.1422 1.44532 -3.2156 -0.349684 -3309 2 18.5488 30.7524 29.4996 0.838933 -0.0453566 -0.936837 -3310 1 29.8193 30.5889 9.54668 -0.628052 1.56003 -4.40323 -3311 2 29.6738 31.3737 9.01837 -0.450756 0.0175536 0.559744 -3312 2 30.5229 30.8317 10.1485 0.00756191 -1.38613 -1.25868 -3313 1 21.8272 0.179766 6.5969 -18.0431 4.53122 -6.56692 -3314 2 21.3272 35.0418 7.098 1.25164 0.338498 1.62574 -3315 2 21.4588 1.02419 6.85657 -0.750224 -0.0582204 0.31509 -3316 1 29.6904 11.0454 25.0251 2.33752 -0.96734 9.85858 -3317 2 28.8519 10.59 24.9487 0.302626 1.82834 -3.32752 -3318 2 29.5572 11.6764 25.7325 -0.76139 1.86091 -3.3875 -3319 1 7.91663 12.4205 27.488 2.38558 4.83677 -0.669721 -3320 2 7.28177 12.3613 28.2019 0.272835 0.640398 -1.26434 -3321 2 8.02843 13.3601 27.3435 1.12213 -1.33235 -2.81748 -3322 1 1.5855 18.1499 25.235 -3.60019 4.62669 0.297942 -3323 2 0.946117 18.7954 25.5363 0.895335 -0.142645 1.24424 -3324 2 1.35029 17.9874 24.3215 -0.800766 1.71324 0.665709 -3325 1 6.92913 23.5306 2.35467 4.24147 9.91669 0.192001 -3326 2 6.69957 22.6225 2.15737 -2.97042 1.45814 -0.0241258 -3327 2 7.72624 23.6918 1.84982 1.01333 -2.26896 0.290488 -3328 1 4.74579 5.257 7.60594 -8.1153 -0.577194 -4.07828 -3329 2 5.37806 4.61978 7.93823 1.04971 2.75479 1.22151 -3330 2 4.32943 5.61357 8.39062 1.06583 1.38027 -1.63751 -3331 1 8.12968 1.12532 8.49743 1.1209 3.96308 4.67158 -3332 2 7.74892 0.577617 9.18392 -3.55806 2.94526 -0.130036 -3333 2 8.3272 0.515943 7.78618 -1.14764 -0.264716 1.0137 -3334 1 19.7458 22.0659 2.67225 18.3384 2.20608 -0.94418 -3335 2 20.2877 22.1995 3.44988 -0.904178 0.218135 0.152496 -3336 2 19.0861 21.4287 2.94609 -1.91537 3.86918 -0.863176 -3337 1 26.9934 3.40086 0.234015 14.6517 10.5186 3.97054 -3338 2 27.3756 4.23204 35.3997 2.55867 -0.827732 0.197438 -3339 2 27.5537 3.1106 0.953764 -0.029995 0.66067 0.409184 -3340 1 2.76103 30.7268 25.4412 -5.75383 16.6906 -3.55212 -3341 2 2.32342 30.421 24.6467 -2.08578 -2.42204 2.2176 -3342 2 3.52516 31.2082 25.1241 -0.175038 -1.94824 -3.89895 -3343 1 32.1288 13.8554 23.8329 21.7008 -5.37731 -10.4704 -3344 2 32.8136 14.2332 24.3846 -2.0612 -2.23312 3.55763 -3345 2 32.2638 12.9099 23.8964 -3.38076 0.761255 -2.47604 -3346 1 10.2185 20.2676 34.3998 15.2593 10.6233 -8.64911 -3347 2 10.6626 21.0934 34.5924 2.38968 -0.805604 0.0260447 -3348 2 9.289 20.4948 34.376 1.73925 0.523081 2.37512 -3349 1 23.0906 20.8756 25.3075 13.7229 4.09741 -4.27902 -3350 2 22.4009 20.9589 25.9661 -0.288635 -0.356673 -1.99659 -3351 2 23.28 21.7759 25.0432 1.39522 -2.138 0.749067 -3352 1 29.4549 17.1088 18.2217 7.94286 -2.378 -3.85895 -3353 2 30.1656 17.4819 18.7432 -1.08675 3.07326 -0.802121 -3354 2 28.7383 17.7375 18.3082 -2.51312 -4.05733 0.561873 -3355 1 20.0608 13.4039 10.4572 5.04473 -4.51256 2.86533 -3356 2 19.4979 13.2149 11.208 -1.40501 1.1548 -2.22268 -3357 2 19.7461 12.819 9.76801 -0.432934 2.44907 0.190352 -3358 1 20.7016 15.0623 6.66541 1.39628 -2.79706 -4.73189 -3359 2 21.2622 14.3782 6.29955 -0.211539 0.394243 0.968982 -3360 2 21.1859 15.8745 6.51674 -1.87715 0.0703474 2.07966 -3361 1 18.8984 16.3315 29.0204 1.04537 0.310191 8.55786 -3362 2 19.5417 17.0382 29.0741 -1.41499 -2.25769 -4.03755 -3363 2 18.8584 15.9754 29.908 1.79801 -0.29507 -0.922349 -3364 1 32.5352 22.1102 16.3319 -24.3725 11.9478 -0.680763 -3365 2 31.659 21.7359 16.2399 -0.895725 0.758594 -1.5004 -3366 2 32.906 22.0727 15.4503 -1.05083 2.91754 0.171807 -3367 1 25.6654 12.063 29.5304 -2.85898 -13.6103 -17.2582 -3368 2 25.5664 12.5179 28.6941 0.531749 2.37548 1.99238 -3369 2 26.4216 11.49 29.4038 -0.650078 -0.782704 -2.2293 -3370 1 17.5123 29.9015 23.7452 0.130619 -0.12934 7.10982 -3371 2 18.2375 29.8134 23.1268 -0.184475 -2.12229 1.05588 -3372 2 16.7553 29.5459 23.2796 -1.00122 4.6161 1.99008 -3373 1 20.4269 5.6055 4.9074 4.34446 11.8067 0.910525 -3374 2 20.7434 5.94266 5.74551 1.47457 0.00737942 -2.02064 -3375 2 19.4959 5.43711 5.05254 1.31156 -0.867906 -0.780244 -3376 1 21.2253 7.22168 16.333 -7.94769 -3.95955 -3.61516 -3377 2 21.6588 8.07216 16.2626 -1.35531 -0.307306 -0.278736 -3378 2 20.2905 7.42705 16.3201 -0.220529 -2.51262 -0.430337 -3379 1 8.72324 17.2916 17.5625 -6.58968 -1.33093 7.05123 -3380 2 9.5685 17.7359 17.6288 -0.155545 -0.986223 1.46862 -3381 2 8.9395 16.4072 17.267 -1.04737 0.195017 -0.447676 -3382 1 8.76201 18.0604 33.5428 -7.56838 -2.56141 -6.95389 -3383 2 9.25193 18.8141 33.8717 0.521228 -2.10818 0.132125 -3384 2 7.86559 18.3812 33.4443 0.0444599 0.894764 1.53827 -3385 1 32.8224 35.5233 32.0988 -1.95057 3.24234 -1.2997 -3386 2 32.1812 34.8166 32.1745 -0.440579 0.909898 -1.21059 -3387 2 32.4032 0.661248 31.5284 4.28658 -0.597406 -2.52913 -3388 1 9.69385 32.4204 15.8089 10.3807 2.9954 3.37865 -3389 2 10.2901 32.8334 15.1844 -2.7783 0.235633 -1.68737 -3390 2 9.51347 31.5582 15.4344 -5.42953 2.82506 -0.923237 -3391 1 3.13446 9.32127 6.33326 -10.8097 -6.22737 3.06476 -3392 2 2.77258 10.0937 5.89901 -0.654735 -2.84703 -2.24445 -3393 2 3.78943 8.98642 5.72079 2.45726 1.68982 4.38482 -3394 1 8.17139 30.3513 28.5615 -6.52517 -10.0004 -7.04036 -3395 2 8.30711 29.9371 27.7093 1.01048 0.239809 -0.594245 -3396 2 8.8657 31.0073 28.6228 -0.506277 -0.885291 1.42944 -3397 1 5.53189 5.12086 25.8323 7.48861 7.48227 -2.55695 -3398 2 6.24114 4.54539 25.5459 -2.72995 -0.797924 -1.879 -3399 2 5.64172 5.91539 25.3099 1.47095 -0.398534 0.725182 -3400 1 27.9626 26.5991 23.4596 0.521509 -7.8934 -4.74021 -3401 2 27.4533 26.1298 22.7988 -0.388008 0.37005 -0.30781 -3402 2 27.3083 27.0624 23.9825 0.668756 -0.526858 0.0598596 -3403 1 8.77088 34.4658 30.1266 11.0961 2.89892 20.9596 -3404 2 8.04443 34.6847 30.7102 1.20981 0.306993 1.7449 -3405 2 9.52086 34.35 30.7099 0.890756 -0.0646288 0.845224 -3406 1 6.61394 26.6807 32.4226 -1.3746 -7.30693 -13.2846 -3407 2 6.41447 27.3957 31.8184 1.48957 0.777806 0.551128 -3408 2 5.83053 26.1308 32.4107 -1.57063 1.66406 -1.17362 -3409 1 20.6153 1.66454 21.2115 -6.82624 7.44408 7.7485 -3410 2 20.4401 2.47712 20.7369 1.56518 -0.224013 -0.875498 -3411 2 19.8172 1.14718 21.1044 0.272287 0.671331 -0.97757 -3412 1 17.1106 11.9436 25.7023 -2.31529 6.52622 -0.828719 -3413 2 16.5993 12.2588 24.9571 0.534096 -0.801411 -0.0917035 -3414 2 17.0326 12.6371 26.3574 -2.24782 0.334892 -0.841434 -3415 1 35.2892 32.216 32.5107 13.1229 3.49317 1.45054 -3416 2 0.695874 31.93 32.5391 0.180618 -0.974867 0.87005 -3417 2 35.3318 33.1256 32.2156 1.86379 -1.74338 -5.62944 -3418 1 18.6421 20.0697 10.2411 -0.760249 -5.85374 5.35721 -3419 2 18.6772 19.2535 9.74221 -1.20709 1.46995 -2.74082 -3420 2 17.788 20.0505 10.6727 -1.88027 1.53515 -3.60403 -3421 1 15.6679 16.7069 30.8439 -0.595343 6.97263 0.138322 -3422 2 15.1675 17.1025 31.5576 -0.077824 0.576454 -0.801573 -3423 2 15.0709 16.0652 30.4591 -0.549308 1.5231 -0.663896 -3424 1 25.3192 32.9991 32.9335 -0.145392 -5.90495 -13.1481 -3425 2 25.3528 32.9615 33.8893 0.482085 5.00413 -0.954227 -3426 2 26.1444 32.6064 32.6486 -1.53445 -1.1667 0.750488 -3427 1 21.9587 34.9114 21.6861 3.65539 -4.39228 -4.58889 -3428 2 22.819 35.1406 22.0376 0.572314 -1.7044 -1.45319 -3429 2 21.5901 0.237978 21.3919 0.714861 0.114712 2.79563 -3430 1 9.91267 22.8658 28.5446 -14.1799 3.41403 28.2445 -3431 2 9.67354 22.0633 29.0082 -0.138092 1.34312 2.98703 -3432 2 9.7777 23.563 29.1863 -0.00296983 0.094768 1.01292 -3433 1 18.918 1.83045 28.5438 -4.34857 15.7549 12.7936 -3434 2 18.7461 1.66405 27.617 4.87863 -1.77712 0.881538 -3435 2 18.4478 2.64243 28.7331 1.11083 1.64439 -3.12636 -3436 1 16.8382 26.302 13.6324 4.03359 -4.89263 2.71657 -3437 2 16.3219 25.8742 14.3155 2.00875 -1.24876 -0.88422 -3438 2 16.3006 27.0435 13.3542 -1.28915 -3.19085 -0.920498 -3439 1 23.037 33.978 14.6628 4.21813 1.60877 12.8096 -3440 2 22.874 33.8925 15.6022 -3.58972 2.05233 -1.08386 -3441 2 23.4374 34.8421 14.5663 -2.57994 0.643832 -1.57212 -3442 1 26.3779 30.428 35.2555 -2.59592 1.3535 -0.703548 -3443 2 25.7296 30.3999 34.5518 -0.687619 -1.42471 1.01732 -3444 2 26.3863 31.3426 0.0905942 -0.974484 -0.920489 0.627836 -3445 1 32.6398 13.7853 28.3915 3.91467 -4.13414 -2.69765 -3446 2 32.6 13.6369 29.3363 -0.334727 1.22835 -0.132315 -3447 2 33.0146 12.9788 28.0375 -1.76618 -1.4672 1.02159 -3448 1 1.19215 11.8896 7.4208 -3.40921 3.0357 -8.44886 -3449 2 1.34061 11.8641 6.47552 -0.0214094 0.0908808 -0.23019 -3450 2 0.4742 11.2738 7.56762 3.37529 -2.1067 1.14894 -3451 1 34.9995 34.5795 14.6795 0.672929 3.09838 2.60259 -3452 2 35.3498 34.7743 13.8103 -2.70571 0.851942 -0.029096 -3453 2 35.2236 35.3468 15.206 -0.104801 0.039011 -1.13565 -3454 1 9.91254 32.335 28.62 6.43116 4.37118 -1.75464 -3455 2 10.8418 32.2754 28.3983 0.372593 1.35336 1.6582 -3456 2 9.86533 33.0362 29.2698 -1.18122 -0.321332 -1.5517 -3457 1 6.3693 25.8201 16.6625 4.89261 3.72648 16.1743 -3458 2 6.38554 25.3562 15.8255 4.68629 4.26171 -0.313855 -3459 2 5.45701 25.7688 16.9477 -1.32666 -0.225144 -4.93422 -3460 1 32.8185 28.0047 1.06201 -5.57838 -0.182744 2.14705 -3461 2 32.6937 27.9671 2.0103 -1.48662 1.85874 -0.858103 -3462 2 33.7676 27.9681 0.943146 -1.68683 2.33236 -1.05935 -3463 1 2.1035 25.0049 9.73403 2.95207 -6.29275 -3.55759 -3464 2 1.35926 25.4058 9.28504 0.954402 -0.304633 2.04874 -3465 2 2.73675 24.8283 9.0383 0.972908 -0.362293 2.12157 -3466 1 3.70785 6.67803 30.8843 -0.122161 1.91736 -0.676321 -3467 2 3.2359 7.46176 30.6028 0.876484 0.82842 1.08843 -3468 2 3.22136 5.95182 30.4942 0.328417 1.21638 -0.602421 -3469 1 22.9146 23.3527 22.0072 -1.25971 4.56475 -2.81829 -3470 2 23.8559 23.365 21.8337 -0.307358 -0.605235 -0.784883 -3471 2 22.733 24.2037 22.4061 1.19574 0.104677 0.745539 -3472 1 4.20014 8.41088 26.8029 3.35373 -10.5811 -5.95442 -3473 2 4.86162 7.71927 26.7841 0.667307 1.94241 0.897544 -3474 2 3.49206 8.08084 26.2498 -0.356082 -0.157469 2.01662 -3475 1 27.8337 24.3776 5.10567 2.37849 -2.46319 1.28414 -3476 2 28.5459 24.7904 4.61722 0.708865 -2.94222 -1.05415 -3477 2 27.0836 24.9571 4.97201 2.05225 2.00893 2.20421 -3478 1 28.2509 34.7039 30.3825 -4.76092 5.9163 14.3707 -3479 2 28.8312 33.9508 30.4935 -4.9948 -1.75713 -0.332144 -3480 2 28.6292 35.1927 29.6516 -0.488576 0.708654 2.36347 -3481 1 30.1567 30.7224 15.6451 -5.56801 6.05947 -12.8658 -3482 2 29.4341 31.3077 15.8719 0.216574 0.435467 -0.148853 -3483 2 30.9386 31.1699 15.9683 -0.663861 -3.57014 4.63153 -3484 1 14.2972 15.8915 9.69908 6.00922 -9.96312 -2.98521 -3485 2 14.168 15.1752 9.07746 2.48745 1.24989 0.896836 -3486 2 15.2333 16.0856 9.65033 -0.0480828 1.47306 1.31405 -3487 1 32.3046 26.7568 30.2773 -7.39435 0.497476 -1.72373 -3488 2 31.8334 27.5168 29.9358 -0.240412 0.378062 3.91081 -3489 2 33.1297 27.1138 30.606 -4.33621 0.934021 5.34919 -3490 1 26.3854 26.686 5.02592 -6.28809 1.49535 -0.333485 -3491 2 26.1235 27.0032 4.16161 1.89347 1.97834 1.0529 -3492 2 26.9511 27.3755 5.37336 0.570478 -2.65752 2.37432 -3493 1 20.8665 29.0275 31.8909 5.36828 4.21718 9.04454 -3494 2 21.5933 29.5881 32.1622 1.31269 -1.7962 -1.90981 -3495 2 20.0884 29.4512 32.2531 0.891686 1.37944 -3.93709 -3496 1 25.8114 29.4524 19.7813 2.2953 1.9769 -2.73118 -3497 2 26.6647 29.3298 20.1973 -0.55122 0.851488 0.300945 -3498 2 26.0172 29.6955 18.8787 0.410045 -0.279303 -0.150156 -3499 1 9.81686 4.85262 23.3895 -8.50047 -8.13822 -1.58707 -3500 2 10.5761 5.33185 23.0577 -3.01161 -0.823542 -1.48687 -3501 2 9.25704 4.72945 22.6229 -1.41547 1.83375 1.4111 -3502 1 27.0981 22.2755 13.0372 -5.79791 -11.1936 -1.06182 -3503 2 27.0848 21.3442 13.2579 -1.28749 -0.558793 -1.17073 -3504 2 27.4762 22.3085 12.1585 -1.86038 1.03598 -0.0250246 -3505 1 29.7369 0.480195 28.652 12.2129 -8.08815 -24.5161 -3506 2 30.6646 0.244616 28.6399 0.756028 -0.396893 -1.42312 -3507 2 29.6773 1.18742 29.2943 0.331103 -0.821681 -3.1717 -3508 1 23.2894 4.02621 30.2023 -7.80416 7.48217 6.80169 -3509 2 23.9204 4.33065 29.5501 3.38599 -3.03822 2.67836 -3510 2 22.5594 3.68221 29.6876 3.46398 -3.3341 -0.708655 -3511 1 10.1189 1.62701 31.7898 -7.85916 9.22144 -0.458996 -3512 2 10.1027 2.57334 31.9327 2.36057 0.373786 -3.53498 -3513 2 9.30033 1.43971 31.3303 -1.34381 0.688964 1.47321 -3514 1 23.9872 35.1189 7.95919 18.2284 -4.45602 9.92786 -3515 2 23.3849 35.3931 7.26763 -2.37641 -0.792485 3.86618 -3516 2 24.5935 34.5186 7.52529 -0.124602 1.06337 -1.954 -3517 1 18.9544 12.2169 15.1004 10.2231 -4.43145 10.464 -3518 2 19.2397 11.8363 15.931 -0.89808 1.29549 0.977857 -3519 2 18.1641 11.7279 14.8712 0.110716 2.38867 0.796028 -3520 1 20.6404 34.0536 11.9687 10.9976 22.9347 -8.87206 -3521 2 20.1001 34.3982 11.2577 1.08415 -1.24532 -1.34625 -3522 2 21.3245 33.5499 11.5277 -1.88305 -1.47489 0.768636 -3523 1 1.017 25.617 23.7961 -7.92267 0.658327 3.97665 -3524 2 1.38738 26.2623 24.3983 -0.812074 2.08464 -2.50786 -3525 2 0.547806 25.0031 24.3611 -1.22761 3.33116 1.18225 -3526 1 10.9896 19.5445 23.2452 7.35267 2.45306 -3.75204 -3527 2 10.6494 20.4052 23.4893 -3.34348 -1.37248 -1.35083 -3528 2 11.8438 19.7263 22.8534 0.58284 -0.238467 7.936 -3529 1 27.8814 14.101 8.71517 0.109321 -7.76244 -0.615685 -3530 2 28.0546 13.6708 9.55254 -0.0253166 0.728765 -1.16574 -3531 2 28.041 13.4224 8.05922 1.98769 -0.154603 1.545 -3532 1 24.8552 12.373 16.4534 2.80402 1.37301 -2.57344 -3533 2 24.8519 11.8215 17.2357 -2.71734 -0.573195 -1.02185 -3534 2 25.2072 13.2114 16.7523 0.16036 -0.577582 1.59551 -3535 1 3.37031 29.514 35.2429 -0.0700923 12.6569 -7.84996 -3536 2 3.66439 30.385 0.062327 0.917191 0.741811 -2.36499 -3537 2 3.65998 28.9363 0.501846 1.12877 1.71083 -0.811827 -3538 1 0.35179 31.8885 22.2866 -4.82826 -7.70345 8.66802 -3539 2 0.730755 32.6265 22.764 -0.707823 0.866423 -1.2186 -3540 2 0.145411 31.2448 22.9643 3.9157 -0.707138 1.64225 -3541 1 22.0899 22.9664 19.2985 4.70583 6.96804 7.90385 -3542 2 22.1645 23.8259 18.8839 -0.743098 -0.17563 -0.413381 -3543 2 22.2615 23.1315 20.2256 3.39693 0.254649 -0.705176 -3544 1 21.0387 34.0771 16.8789 9.42866 0.954763 1.11011 -3545 2 20.6588 33.2828 17.2543 1.85843 0.782471 -0.543927 -3546 2 20.8192 34.7671 17.505 -0.905472 -0.435533 -0.831423 -3547 1 33.5501 31.2386 34.0706 -17.9894 8.57009 21.169 -3548 2 33.1048 31.9677 34.5025 -0.227183 2.00155 -2.44441 -3549 2 34.1864 31.6561 33.49 -0.0951291 -2.53785 0.286302 -3550 1 18.0421 31.4157 20.7315 -3.54393 8.45405 -0.394748 -3551 2 18.5773 30.7558 21.1723 1.23674 1.32093 -1.20787 -3552 2 17.8888 32.0849 21.3985 0.209624 0.0301862 0.154975 -3553 1 21.1227 11.5161 20.2274 -2.94068 -0.514279 3.15262 -3554 2 21.2126 11.261 21.1456 1.30391 0.18203 -0.372681 -3555 2 21.1991 12.4703 20.2349 -0.913297 -0.771684 0.379285 -3556 1 2.50289 22.4546 28.2579 3.97027 3.8635 -2.0516 -3557 2 2.73189 23.3675 28.0839 0.778268 -0.0521987 1.48239 -3558 2 3.24618 22.111 28.7536 -0.858374 -1.15872 0.172186 -3559 1 1.8987 15.3539 4.09987 1.91946 3.10074 8.837 -3560 2 1.55499 16.1318 4.5392 -2.06187 -0.819541 0.519926 -3561 2 1.1204 14.8823 3.80303 1.72475 1.17813 -4.99141 -3562 1 11.3151 29.949 26.0703 -1.41373 23.6675 -0.0178891 -3563 2 10.4032 30.209 25.9397 -0.87803 -4.18166 -0.714799 -3564 2 11.5722 30.3771 26.8869 -2.50055 5.26044 -2.07259 -3565 1 10.4669 0.479635 28.4702 6.98332 6.20547 4.03663 -3566 2 11.2534 0.795588 28.9148 -1.51046 -0.625385 0.548199 -3567 2 9.88649 0.200778 29.1784 1.44536 -2.50786 -0.579011 -3568 1 20.0135 21.1165 19.4011 -3.59943 1.69688 -3.445 -3569 2 19.9536 20.4738 20.1079 1.96905 2.86659 2.2711 -3570 2 20.6939 21.7257 19.6877 0.137013 1.20992 -4.39894 -3571 1 17.5011 14.9063 31.4526 12.2293 -3.89433 5.3826 -3572 2 17.4859 14.2261 30.7793 -0.631998 0.440275 -0.243768 -3573 2 16.8852 15.5684 31.1388 -1.43239 -1.22134 3.50248 -3574 1 23.931 26.1772 0.41894 3.4952 -12.1766 2.4676 -3575 2 23.8214 25.4864 1.07235 0.23721 0.368712 0.775735 -3576 2 24.8789 26.2665 0.320726 0.153128 -0.269827 0.172132 -3577 1 15.4795 12.3632 9.66808 4.77688 -2.6466 3.07168 -3578 2 14.5803 12.4215 9.34538 0.809631 -2.41294 2.04023 -3579 2 15.9943 12.8653 9.03633 0.239404 0.110885 2.89077 -3580 1 24.9488 4.70562 28.2371 10.4489 1.89581 -7.86617 -3581 2 25.448 5.52031 28.2951 -0.102147 -0.134311 -2.74845 -3582 2 25.27 4.28349 27.4404 -4.30517 0.452977 -2.52901 -3583 1 7.23206 24.3137 5.43109 -10.1411 -1.59806 1.82694 -3584 2 7.46337 24.7198 6.26647 -1.94101 -1.17937 -0.734066 -3585 2 8.03645 24.354 4.91382 -2.41115 4.06508 0.165746 -3586 1 28.5838 14.1121 13.1994 3.38335 3.6329 -0.906964 -3587 2 27.8233 14.4668 12.7388 2.42436 2.74832 -1.03467 -3588 2 28.6528 13.2093 12.8889 -3.84794 -0.838277 2.10966 -3589 1 34.0346 15.8788 9.37622 0.131364 5.75879 2.51971 -3590 2 34.6052 16.5377 9.77182 0.0575523 0.315541 -1.00307 -3591 2 34.541 15.0675 9.4162 0.878431 1.0162 -2.0188 -3592 1 31.8255 18.3671 3.7158 -3.06808 4.08983 3.78201 -3593 2 32.3233 17.8301 4.33223 -0.063455 2.96079 2.15242 -3594 2 32.1715 18.1285 2.85582 0.381466 -1.43646 1.45312 -3595 1 23.5909 11.4785 18.8548 7.42138 -1.39114 1.98375 -3596 2 23.0733 11.2643 19.631 -1.5958 -0.653773 -1.8128 -3597 2 23.25 12.3248 18.5651 -1.24317 -2.21549 -2.31425 -3598 1 15.3418 31.4092 27.9991 -7.70302 -0.410807 5.9489 -3599 2 16.105 31.8971 27.6896 -2.59685 3.80238 1.33792 -3600 2 15.3801 30.5781 27.5258 1.37541 2.15685 -3.17854 -3601 1 13.7731 0.54618 8.10539 6.97101 -3.75342 -3.05543 -3602 2 13.8337 35.2662 8.64781 -2.02246 -0.132773 -0.51265 -3603 2 13.437 1.22004 8.69631 -2.63957 -0.574753 -1.67622 -3604 1 29.7422 21.7344 15.8154 -1.95403 10.4986 -4.52406 -3605 2 28.9359 22.1604 16.1062 -1.10714 -1.4998 -0.245697 -3606 2 29.5462 20.7983 15.8533 3.33193 0.150481 2.48514 -3607 1 9.34752 5.53292 13.3797 4.53531 0.896783 2.83435 -3608 2 8.95398 5.79174 12.5464 -0.00511393 -2.29292 -0.30685 -3609 2 10.1583 6.03926 13.4297 -0.872468 0.373057 -1.44367 -3610 1 33.684 33.2628 18.3391 -9.38675 5.22013 -2.74967 -3611 2 34.1458 32.5654 18.8045 4.10766 4.24635 1.0333 -3612 2 33.1866 33.7168 19.0193 -2.79996 -1.30155 -0.881049 -3613 1 8.4881 30.2448 2.44149 -2.91557 4.94298 8.44177 -3614 2 8.18575 31.0735 2.06995 -0.0779166 -1.72637 -3.34146 -3615 2 7.8819 30.0691 3.16112 0.382119 1.96789 -1.02635 -3616 1 25.319 5.98733 34.5148 9.10799 -7.69883 -0.0667008 -3617 2 25.2927 5.2034 33.9662 -0.961659 -0.352086 0.199196 -3618 2 25.5961 5.66962 35.3742 -1.03878 -0.574276 -0.381033 -3619 1 26.738 34.7332 14.2948 -0.192919 -0.77538 1.63215 -3620 2 26.7609 35.3851 14.9954 0.175471 0.947019 -1.02275 -3621 2 25.9081 34.8928 13.8455 0.658691 0.141659 -0.771348 -3622 1 21.8327 2.06013 14.527 -0.635347 2.9555 12.4407 -3623 2 21.3272 1.2791 14.7521 0.248146 -0.0819776 -0.00855613 -3624 2 21.3262 2.78671 14.89 0.71593 -0.420402 -0.402694 -3625 1 35.0221 0.231656 21.0048 5.8521 4.11702 3.33082 -3626 2 35.1729 0.0292659 20.0815 3.18998 -0.349771 0.935023 -3627 2 0.258699 35.3433 21.4615 -3.0313 -1.9009 2.99488 -3628 1 22.3551 9.63087 16.261 3.21709 12.3275 -4.47889 -3629 2 23.2053 9.19286 16.2233 -0.0580106 0.740061 1.02011 -3630 2 22.4247 10.3449 15.6273 1.02553 0.0823399 -0.635705 -3631 1 11.1995 33.5959 17.8181 1.39374 4.3774 -10.6936 -3632 2 10.7111 33.2273 17.0819 -3.25889 0.227744 2.41585 -3633 2 11.6092 32.8391 18.2372 2.89241 1.37201 -2.15736 -3634 1 31.8225 18.5223 34.56 -3.32058 4.17571 -14.0097 -3635 2 31.2933 19.1603 35.0386 0.388426 0.295278 -0.447712 -3636 2 31.5307 18.6015 33.6518 -0.0579648 -0.566791 0.104417 -3637 1 30.8789 31.967 12.9036 -8.57018 2.32107 14.4843 -3638 2 31.3717 31.3383 12.3763 -1.20305 3.89146 -2.01136 -3639 2 30.6654 31.4917 13.7065 -0.73233 -1.08716 -1.63962 -3640 1 13.9773 21.3924 19.9242 15.079 -0.891371 0.898863 -3641 2 13.9791 20.4495 19.759 -0.870544 0.573986 0.0319369 -3642 2 14.3236 21.7777 19.1193 -4.97921 0.688458 -1.87293 -3643 1 4.162 28.1763 1.92941 11.2721 -8.25651 1.61204 -3644 2 4.94995 27.7043 2.19893 -1.31961 -2.6288 -4.12438 -3645 2 3.45404 27.7635 2.42398 1.53577 0.976199 2.3694 -3646 1 2.61894 16.0128 16.0534 2.65221 11.0603 -4.20442 -3647 2 1.76957 15.5719 16.0717 -0.0421554 1.20978 0.836914 -3648 2 2.41054 16.94 16.1686 1.25569 0.529009 1.6056 -3649 1 13.5943 19.9564 22.5357 4.54283 -0.432012 -8.94128 -3650 2 14.2073 20.577 22.1417 -1.19203 0.931768 -0.533043 -3651 2 13.7521 20.0282 23.4771 0.502176 0.351287 -0.710161 -3652 1 7.18825 10.713 12.0528 -2.48975 4.45098 20.3952 -3653 2 6.438 10.1849 11.78 -0.336733 2.22227 -1.45167 -3654 2 6.81486 11.5681 12.2663 1.42221 1.43926 -1.25772 -3655 1 15.08 14.7211 6.25087 -0.211104 0.314136 -3.71454 -3656 2 14.1791 14.5607 6.53161 -0.736201 4.4101 -2.0467 -3657 2 15.03 14.7624 5.29587 2.1131 -1.95858 0.0522404 -3658 1 17.765 16.0872 24.8765 -17.3417 1.98754 7.54358 -3659 2 17.6371 15.6461 24.0367 -1.40239 -0.993093 2.74635 -3660 2 18.6221 16.5063 24.7993 0.524903 -3.39808 0.45681 -3661 1 17.6629 7.92428 7.74929 -1.20634 -0.534031 -1.41505 -3662 2 18.5439 8.25368 7.92729 0.372735 -1.41963 -0.236844 -3663 2 17.1242 8.71134 7.66842 1.70362 0.631063 -1.20406 -3664 1 3.05034 13.2039 2.90071 10.2577 -4.19471 0.743669 -3665 2 3.52904 13.709 2.24345 -2.21814 -1.41999 -1.3374 -3666 2 2.68483 13.8632 3.49061 -0.339733 0.790115 -2.89934 -3667 1 5.25491 2.13415 16.4098 11.9451 -13.3004 16.608 -3668 2 6.04493 1.82002 15.97 -0.105212 -1.83028 0.357528 -3669 2 4.85255 2.73353 15.7812 -1.01364 -3.31444 -0.086644 -3670 1 12.6124 32.5216 4.72024 -7.39105 -0.0519653 7.72896 -3671 2 11.9102 33.1688 4.78609 1.97676 1.73144 -2.28293 -3672 2 12.2335 31.8077 4.20746 -1.36205 0.465649 0.592344 -3673 1 33.0547 19.8219 12.7146 -10.8752 -2.59039 6.17341 -3674 2 32.8939 19.3218 13.5147 1.18754 -2.24639 -1.03368 -3675 2 33.6538 19.2753 12.2062 -1.52272 2.43346 -0.965447 -3676 1 8.67027 22.9484 34.6112 3.13757 7.0879 -3.76372 -3677 2 8.07556 22.2294 34.8246 2.73145 -0.739243 0.442631 -3678 2 8.31198 23.3258 33.8078 -2.10255 1.10927 1.31712 -3679 1 0.873324 12.1041 11.6855 1.26905 8.08275 -5.81077 -3680 2 0.737631 12.5655 12.5131 3.44448 1.56175 -1.1404 -3681 2 0.574472 11.211 11.8569 -1.97722 2.20648 1.22909 -3682 1 27.2981 18.0281 25.8759 -0.4372 -1.12812 7.87205 -3683 2 26.3866 18.1115 25.596 0.307484 2.81361 0.662547 -3684 2 27.7939 18.5361 25.2337 1.50146 -3.62283 -0.91399 -3685 1 20.972 4.9435 22.3243 7.50275 2.75784 20.6111 -3686 2 21.4313 4.88244 23.1619 1.50414 1.19126 0.40113 -3687 2 20.6811 5.85414 22.2759 -1.22078 -0.458237 1.75147 -3688 1 22.2724 31.3263 24.7749 7.72278 2.17579 -0.11151 -3689 2 22.2631 30.6884 24.0613 0.0533488 0.901774 0.0440948 -3690 2 23.1999 31.4416 24.9817 -0.27852 -0.449026 0.0780911 -3691 1 22.6642 15.1568 23.547 -0.409347 -0.839205 -9.17366 -3692 2 23.1048 15.5712 22.8051 0.320161 0.521419 1.31174 -3693 2 23.2094 15.3757 24.3027 -2.3218 0.727711 0.709085 -3694 1 11.1995 9.41799 24.1582 7.49311 3.92997 -5.50027 -3695 2 10.8862 9.88232 23.382 0.308949 -2.06835 1.11573 -3696 2 11.5175 10.1091 24.7392 -4.26906 1.30341 -1.15195 -3697 1 12.0009 23.2868 34.3322 -4.06381 -1.58742 8.14865 -3698 2 12.5234 23.5892 35.0751 -1.62705 1.22844 -0.685304 -3699 2 12.6425 22.9362 33.7144 0.289955 -0.75336 2.58293 -3700 1 23.225 18.6038 28.0793 1.07587 2.74212 0.47148 -3701 2 23.5425 19.5062 28.1115 0.0146688 -2.30849 -0.104113 -3702 2 23.9859 18.0731 28.3151 -1.78285 -1.85308 -1.76605 -3703 1 30.9246 3.09255 32.5197 -0.453915 -11.6761 4.12126 -3704 2 31.7846 3.46107 32.7215 -1.01082 0.485358 1.73266 -3705 2 30.3079 3.79419 32.7284 -1.05165 -0.870628 -2.96253 -3706 1 1.33894 18.3603 13.3846 -12.6271 -14.8007 4.29297 -3707 2 1.18911 18.2847 14.3269 2.71412 2.32134 -0.73482 -3708 2 0.976982 17.5534 13.0185 -0.0977707 0.902942 0.459145 -3709 1 9.40279 27.6865 1.85571 -3.49317 -7.06257 -2.07381 -3710 2 9.17571 28.5909 2.07163 0.345047 -0.500758 -4.5524 -3711 2 8.65428 27.1723 2.15837 -0.83578 1.68486 -1.06326 -3712 1 22.5972 25.1523 24.1599 -13.3957 12.8051 -2.79119 -3713 2 22.1466 24.6721 24.8546 -2.53168 1.5964 -1.04922 -3714 2 22.6844 26.0424 24.501 -1.95031 -0.318702 -1.07895 -3715 1 34.9451 12.2382 24.2306 -6.74699 4.90626 -2.4964 -3716 2 34.9676 11.4871 24.8234 -0.515597 0.648015 0.1903 -3717 2 34.5092 11.9103 23.444 2.69797 -0.172751 -1.02667 -3718 1 13.656 32.5527 14.5591 3.52399 3.28347 7.53009 -3719 2 13.5559 31.7127 15.007 1.70432 -1.68555 -2.99108 -3720 2 14.2764 33.0408 15.1005 -0.0096836 -1.42096 1.77616 -3721 1 25.8424 7.64287 30.1946 3.58911 4.37424 12.2937 -3722 2 26.4323 7.47709 29.4592 -3.24595 -0.732783 -1.40073 -3723 2 25.0375 7.96479 29.7888 -0.801812 -2.2113 3.65897 -3724 1 31.3475 3.95503 8.26969 -4.55984 6.24184 2.07703 -3725 2 31.6686 4.45361 7.51833 3.35756 -4.24341 0.00786495 -3726 2 30.6243 3.43397 7.92062 1.39136 -0.763387 -0.922171 -3727 1 32.0824 7.74441 18.9869 -14.1506 3.89877 -5.14723 -3728 2 31.5304 6.96305 18.9547 -1.83786 0.962853 -1.31355 -3729 2 32.6478 7.60768 19.747 -1.41189 -1.12343 -0.210839 -3730 1 33.8621 32.041 14.8242 2.211 3.12936 -10.2194 -3731 2 34.1566 32.9388 14.6711 -0.420902 0.736677 2.79158 -3732 2 33.2655 32.108 15.5698 0.914608 -3.38995 0.227113 -3733 1 15.8076 9.5358 29.2283 -1.80414 -2.26686 7.46877 -3734 2 16.2385 9.52694 28.3736 0.258512 0.504924 2.18098 -3735 2 14.9413 9.16325 29.0642 -0.116251 0.948383 -0.245439 -3736 1 14.7618 31.7857 33.9494 -0.862215 0.864066 -1.4651 -3737 2 14.8394 31.6125 33.0112 -1.38111 0.0101356 2.39798 -3738 2 14.521 30.9412 34.3302 0.66341 0.0671641 -0.448572 -3739 1 19.5432 27.8851 17.0366 3.36727 -4.51675 3.56854 -3740 2 19.9105 28.2384 17.8469 -0.780504 0.846087 0.17294 -3741 2 20.3042 27.5873 16.538 0.763129 0.195968 1.10021 -3742 1 29.4154 2.42483 30.2737 -13.3417 12.2077 17.6282 -3743 2 29.5887 3.35348 30.1195 1.17257 -0.114372 0.0723006 -3744 2 29.6925 2.27588 31.1777 1.52121 1.61815 -1.872 -3745 1 25.2114 16.456 28.3378 -0.138512 8.36784 -5.25643 -3746 2 26.1667 16.4449 28.2787 -0.525412 -1.292 -1.35792 -3747 2 25.0121 15.9163 29.1028 -0.764483 2.69607 0.583732 -3748 1 4.36082 14.2052 17.0353 5.66967 -11.0513 -2.65596 -3749 2 5.22231 14.268 16.6228 -0.156834 -0.0338139 0.602701 -3750 2 3.82085 14.8371 16.5606 0.794212 1.96493 3.67543 -3751 1 29.1382 0.851962 24.7707 2.06285 -1.13215 -6.06762 -3752 2 29.7411 1.31386 25.3532 -1.31145 0.491696 -0.408364 -3753 2 29.7045 0.31817 24.2134 0.555398 1.54372 -0.520127 -3754 1 27.6216 10.2278 23.2979 6.89211 -0.404131 0.510688 -3755 2 28.3775 9.96145 22.7747 -2.92047 -1.33565 -3.45873 -3756 2 27.6049 11.1823 23.227 1.28662 -0.754596 -0.814504 -3757 1 13.1028 23.7808 22.5152 8.99427 -0.0303466 9.38373 -3758 2 13.3775 23.5343 23.3984 -3.08937 -0.387731 -0.400884 -3759 2 13.8574 23.5758 21.9632 0.104562 2.04529 0.838043 -3760 1 33.1902 2.34833 4.32561 -1.75265 -2.42667 10.7405 -3761 2 33.6768 3.00764 3.83091 -4.56299 0.0272706 -2.71816 -3762 2 33.5625 1.51303 4.04301 0.0208334 1.71962 -0.866583 -3763 1 25.9453 28.2959 2.8978 16.8701 -15.6795 6.56734 -3764 2 25.1192 28.6872 2.61386 3.79374 3.54762 0.976538 -3765 2 26.5988 28.6514 2.29548 2.61282 -4.41372 0.498951 -3766 1 9.91296 2.7846 7.29577 -9.12229 -0.339628 -8.40421 -3767 2 9.33787 2.14816 7.72056 -0.350326 0.236506 -0.747486 -3768 2 10.7956 2.52321 7.55827 -1.14038 1.92774 2.10014 -3769 1 16.3074 34.8594 16.1228 3.5563 -1.36468 -12.0203 -3770 2 16.589 35.2646 15.3026 -1.44097 3.97022 1.98468 -3771 2 15.3516 34.8526 16.0714 1.39507 2.01712 1.76657 -3772 1 7.62107 9.73917 26.7802 -2.62894 -1.44688 -20.7265 -3773 2 7.50842 10.6867 26.856 5.44315 0.551319 -3.29343 -3774 2 7.99259 9.61071 25.9074 0.49808 -3.99413 -0.417346 -3775 1 3.53298 14.1983 8.20234 -8.19283 -2.13588 8.66323 -3776 2 3.25626 14.4375 9.0869 3.71795 -1.47699 0.701187 -3777 2 3.40553 13.2506 8.15903 4.56537 0.0399284 0.969593 -3778 1 17.369 21.5175 20.3438 -1.78726 3.34487 -1.26263 -3779 2 18.1535 21.7027 19.8276 0.617841 0.413018 1.48625 -3780 2 16.815 22.2887 20.2236 0.601437 0.778507 0.296816 -3781 1 24.8552 10.5385 5.64092 -2.07206 0.283785 4.81887 -3782 2 24.5974 9.98806 6.38036 -1.26661 1.31526 -0.132052 -3783 2 24.0468 10.6682 5.14502 1.14524 -1.08438 -1.97886 -3784 1 17.5413 19.8866 23.1663 0.716769 -0.077373 5.2828 -3785 2 18.2506 20.3344 23.6274 -0.0824389 0.0361011 0.472299 -3786 2 16.7708 20.4325 23.3233 0.396018 0.69726 -1.62177 -3787 1 9.13332 2.63099 27.3103 0.711433 0.238673 -3.16846 -3788 2 9.74087 1.98474 27.6701 -1.20779 -0.291884 1.20181 -3789 2 8.60772 2.14047 26.6784 -0.747072 0.18407 1.08674 -3790 1 14.2662 24.1474 0.96094 -12.2675 9.05938 -2.94394 -3791 2 13.7881 24.3962 1.75203 1.79681 -1.75478 -0.184912 -3792 2 14.7674 24.9289 0.727714 -2.70773 1.29013 -1.20205 -3793 1 34.1239 0.604707 34.3595 5.25471 -7.77037 6.08357 -3794 2 33.9537 1.42157 34.8286 0.723865 0.228405 -2.07331 -3795 2 33.6859 0.71669 33.5158 -0.310434 -3.20951 1.40054 -3796 1 12.2867 18.1924 0.681844 -26.9322 0.4752 -16.3741 -3797 2 12.8667 18.6555 0.0774987 -0.330875 1.47695 1.6832 -3798 2 11.4909 18.7237 0.705366 -1.03264 -0.124562 -1.31948 -3799 1 12.1575 6.42873 30.341 0.393529 -4.38889 4.89359 -3800 2 12.6038 5.72238 30.8081 2.18145 1.62459 -0.868224 -3801 2 12.5962 6.46916 29.4912 -2.43196 -1.27183 -0.36985 -3802 1 22.5459 21.3328 17.1554 4.88784 5.35815 -10.1134 -3803 2 22.2724 21.4952 16.2526 -0.993205 2.08258 0.418613 -3804 2 22.1318 22.0322 17.6611 0.26072 -2.30674 0.512731 -3805 1 16.4645 17.2516 22.2267 -4.68363 25.4595 -6.35803 -3806 2 16.6361 17.9878 22.8139 0.789742 0.486581 -2.32161 -3807 2 15.5107 17.172 22.2142 0.00738741 -0.123813 2.8024 -3808 1 15.9011 2.63371 27.117 11.0663 -18.576 6.78915 -3809 2 15.941 1.74607 26.761 -0.616252 0.395834 -0.805462 -3810 2 16.0186 3.20283 26.3564 -6.16279 0.231731 0.461073 -3811 1 17.5615 29.2029 10.5364 -1.06731 -1.05621 2.15091 -3812 2 16.9553 29.7528 11.0327 1.7347 1.92492 0.0444944 -3813 2 18.4269 29.4352 10.8733 0.698365 -2.48939 -0.237792 -3814 1 14.1384 0.581608 23.4078 -2.27897 9.31261 3.03833 -3815 2 15.085 0.723624 23.4143 -0.654032 -2.09883 0.0671299 -3816 2 13.8123 1.10415 24.1404 0.706033 0.223679 0.618332 -3817 1 14.9414 16.7395 14.495 7.32463 10.4942 3.301 -3818 2 14.5649 17.5429 14.8543 0.721363 0.702768 0.265994 -3819 2 15.7277 16.5877 15.0193 -0.820958 -0.865094 1.60426 -3820 1 18.608 10.1031 33.8477 -24.6084 14.0078 6.08919 -3821 2 18.0893 9.29922 33.8803 -1.5282 1.42905 2.34129 -3822 2 19.4229 9.84556 33.4167 -1.39694 -0.111796 1.69863 -3823 1 21.924 17.7782 6.96358 -19.7746 -3.21631 -2.76134 -3824 2 22.7217 18.2712 7.15575 -0.830949 -0.475262 -1.77061 -3825 2 21.3913 18.3778 6.44112 -1.77895 -1.23316 2.36002 -3826 1 9.22437 31.2544 9.95433 -1.17376 -3.31566 0.249839 -3827 2 9.95489 30.6972 10.223 2.55651 3.3203 -0.291877 -3828 2 9.2825 31.2824 8.99931 -0.289951 0.241407 0.420031 -3829 1 13.4077 7.95674 25.2807 1.23659 11.6173 -5.01344 -3830 2 12.685 8.48745 24.9455 -0.160213 -2.12909 -4.1976 -3831 2 14.1706 8.24687 24.7807 -0.134911 -2.45592 -2.35689 -3832 1 12.0763 15.0399 21.0425 -7.31986 -3.86399 5.04573 -3833 2 11.9752 14.2178 21.5222 -0.945123 1.25472 1.30913 -3834 2 12.2894 15.686 21.7159 3.77031 -0.895496 -1.86868 -3835 1 9.88201 18.408 5.93331 -14.9718 -1.8265 -1.45985 -3836 2 9.68756 19.3058 6.2023 4.29769 -0.451865 3.06777 -3837 2 9.38485 17.862 6.54235 0.444895 0.192676 1.24753 -3838 1 17.6882 1.78624 18.6449 -5.5752 3.91968 1.91873 -3839 2 17.1199 1.01994 18.7229 -0.425798 0.760221 2.22595 -3840 2 17.2387 2.46991 19.1417 1.02602 1.14993 -2.15016 -3841 1 31.7855 31.5559 20.7063 4.07595 4.65975 3.12935 -3842 2 30.9813 31.471 20.1943 0.982712 -0.00207104 -0.828102 -3843 2 32.4396 31.0649 20.2091 0.288299 -1.77808 2.62639 -3844 1 3.88936 14.0746 13.1719 5.21678 -7.17671 8.87143 -3845 2 4.82767 13.8896 13.1317 -0.365096 -0.752722 1.34397 -3846 2 3.63346 13.8254 14.06 0.296763 -0.345453 -0.47382 -3847 1 17.4025 4.32568 2.49463 -3.22214 -3.03566 5.24046 -3848 2 16.6942 4.96663 2.43314 -0.724206 -1.10438 -3.08822 -3849 2 17.6307 4.30859 3.42408 -2.55518 2.50628 0.0732779 -3850 1 32.9548 16.0465 16.0376 4.73557 -1.91881 5.23081 -3851 2 32.2003 15.5837 16.4023 0.422038 0.748287 -1.03015 -3852 2 33.0386 15.7047 15.1475 -2.1859 2.42796 -0.209222 -3853 1 26.8154 18.7571 3.07913 -0.134287 -0.681192 -0.14024 -3854 2 26.8181 18.0148 2.47477 1.19869 -0.326906 1.0985 -3855 2 27.7396 18.981 3.18846 -1.02417 0.967329 -0.375125 -3856 1 31.3031 29.3841 30.4925 12.7439 8.83549 -0.178563 -3857 2 30.4263 29.7121 30.2926 0.304923 -3.42483 -0.96222 -3858 2 31.8928 30.0718 30.1834 -0.913196 2.26969 2.85603 -3859 1 7.70111 13.5855 24.4289 9.97791 -8.95713 2.74808 -3860 2 8.14074 13.5829 23.5786 -1.21899 -3.08791 0.364893 -3861 2 8.37794 13.8586 25.0481 1.90439 -1.00514 -1.26579 -3862 1 6.3968 28.6105 19.7408 -0.298131 -2.04319 -8.18028 -3863 2 6.92458 28.7818 18.9608 0.391544 -1.6957 -0.454225 -3864 2 6.52111 27.6774 19.9145 0.47838 0.48206 1.75964 -3865 1 3.0465 10.5056 22.1889 2.32709 -5.82071 13.3437 -3866 2 2.93123 9.9475 21.4198 1.57071 -0.631015 0.832052 -3867 2 2.78828 11.3785 21.8929 -2.5708 -2.4563 1.52268 -3868 1 14.3782 26.937 28.596 9.60821 8.67151 3.62702 -3869 2 13.8037 27.432 28.0119 0.616908 -2.59811 -2.3899 -3870 2 15.2219 27.3856 28.5396 -0.937364 3.31179 1.78532 -3871 1 34.1164 21.8568 14.1478 5.18695 2.86612 -2.7819 -3872 2 33.6711 21.0886 13.7901 0.16716 4.15357 -5.49101 -3873 2 35.0325 21.7426 13.8948 0.187499 0.538806 -0.484871 -3874 1 32.6419 5.25883 6.00163 -1.22133 -1.26739 1.29798 -3875 2 33.1212 4.91923 5.24587 -1.75701 -1.11358 0.427833 -3876 2 33.0934 6.07234 6.22641 1.38351 -1.07468 -0.612535 -3877 1 23.6494 3.21765 21.3683 -4.61863 -1.51797 -3.01354 -3878 2 22.7543 3.49597 21.1747 -0.723196 -2.29625 0.609988 -3879 2 23.9167 2.71609 20.5981 1.33059 0.975413 0.873379 -3880 1 32.6447 16.118 31.9771 4.92458 7.65149 1.94671 -3881 2 31.882 16.4455 32.4539 -1.16603 -1.1017 -2.42802 -3882 2 33.2111 16.883 31.8761 -1.63804 1.29903 1.94438 -3883 1 6.29363 17.3648 3.95884 3.82395 -0.2605 9.74489 -3884 2 6.75172 17.3936 4.79881 0.55513 -2.43879 0.368223 -3885 2 6.1626 16.4319 3.78889 -0.713888 1.20396 -1.5457 -3886 1 31.9214 23.3127 21.9983 5.36237 5.08739 0.0628286 -3887 2 31.3177 23.8463 21.4815 -1.92443 -0.722569 3.27565 -3888 2 32.7782 23.7156 21.8579 -1.37972 0.583558 -0.232822 -3889 1 27.3274 28.0727 32.9254 -0.128522 -1.07874 -0.963512 -3890 2 27.1357 27.4156 33.5945 0.299043 2.24237 0.827474 -3891 2 28.2535 27.9436 32.7206 -0.706554 0.340564 1.0787 -3892 1 2.65063 33.5261 18.923 -0.475807 -1.10987 -14.2598 -3893 2 1.75038 33.8241 18.7929 1.23411 1.79624 0.588586 -3894 2 3.17886 34.3215 18.856 1.2742 -0.74189 1.82999 -3895 1 20.2603 25.4035 31.9398 2.63764 0.0143584 7.38238 -3896 2 19.983 25.8467 32.7416 -1.55154 1.44191 -1.17301 -3897 2 20.8361 26.0323 31.5048 -3.07164 0.57669 -1.61765 -3898 1 3.04327 13.8289 29.6408 2.43251 0.0959545 0.236489 -3899 2 2.22727 13.6895 29.1602 0.789563 1.61886 0.59905 -3900 2 2.86792 13.4843 30.5165 -1.91014 1.17906 -0.843994 -3901 1 27.7419 30.9995 32.5812 0.988809 2.46475 -0.334488 -3902 2 28.2985 31.2828 33.3066 -1.29678 1.61875 0.102619 -3903 2 27.5981 30.0665 32.7393 2.08457 0.262362 -0.900174 -3904 1 31.542 3.17267 11.4819 1.02322 -1.35888 -3.07947 -3905 2 30.9885 2.60353 12.0166 -0.049823 0.79761 -0.343916 -3906 2 31.2216 3.04871 10.5885 -0.937969 1.97019 0.0305741 -3907 1 12.7852 29.3614 35.2516 2.39249 4.76346 -3.32027 -3908 2 12.5245 28.4404 35.2449 -0.356984 0.86532 -0.0646309 -3909 2 13.0702 29.5235 0.70374 2.06797 -1.36651 -1.70521 -3910 1 23.7791 14.9732 35.0754 -0.252773 2.18519 7.13887 -3911 2 23.6502 15.0285 0.575116 -0.559464 -1.21197 -1.08213 -3912 2 23.9673 14.0489 34.9124 4.70784 2.06207 -0.820371 -3913 1 9.02665 31.44 7.08347 8.27154 4.28279 -3.52326 -3914 2 8.94569 32.3163 6.70697 -2.00378 -1.19947 0.809177 -3915 2 8.14967 31.0641 7.00717 1.2558 -0.714131 3.41882 -3916 1 31.3639 11.5983 10.4259 -1.70757 6.16601 1.45299 -3917 2 31.689 12.1759 11.1166 -3.63186 -0.553661 1.85101 -3918 2 32.0768 10.977 10.2775 1.29081 2.54659 1.10007 -3919 1 29.501 27.3231 3.76377 1.83422 7.56217 -2.35355 -3920 2 29.5414 26.5529 3.19682 0.187293 0.323983 4.38327 -3921 2 29.1082 28.0034 3.21681 -1.31734 -0.533733 0.682033 -3922 1 33.8197 14.8834 25.7597 9.98008 -4.08683 0.786344 -3923 2 34.7053 14.9197 25.3984 1.16536 -3.59622 2.02366 -3924 2 33.92 14.4282 26.5957 -2.31186 2.6059 0.953868 -3925 1 7.99155 21.511 20.4084 0.841531 -3.34819 4.8852 -3926 2 8.58315 21.5572 19.6573 1.54996 6.17917 2.36193 -3927 2 8.56211 21.3152 21.1516 -1.17675 2.34941 0.913831 -3928 1 32.4664 14.836 6.58929 -3.69142 2.85219 3.11936 -3929 2 32.7087 14.2224 7.28276 0.598258 1.08428 -1.41378 -3930 2 31.6242 15.1945 6.86953 2.04516 1.93914 -1.34063 -3931 1 19.2736 16.6309 16.9127 -2.72804 5.46857 4.23886 -3932 2 18.4227 16.5336 16.4851 -1.02528 -1.93414 3.81939 -3933 2 19.0624 16.8516 17.8198 3.18621 -1.89443 0.555498 -3934 1 10.7516 25.3069 14.9072 -12.6816 -3.02274 4.15342 -3935 2 10.0377 24.8166 15.3149 1.75007 -0.291116 4.4484 -3936 2 10.6565 26.1966 15.2472 -0.241497 0.288138 -0.960155 -3937 1 10.5884 3.58122 20.0241 9.23179 -7.39875 17.9616 -3938 2 10.1708 3.61014 20.8849 -0.528131 2.60921 -1.26157 -3939 2 11.5163 3.44022 20.2121 -0.0999029 2.18294 1.06876 -3940 1 23.1577 28.5342 20.1835 10.03 20.794 4.65757 -3941 2 23.9618 29.0523 20.1484 3.70821 -3.52097 -0.198815 -3942 2 23.058 28.1857 19.2975 -1.98278 2.08897 0.653897 -3943 1 6.6118 15.8866 29.1698 -5.56486 7.72349 -4.46841 -3944 2 5.97541 16.4756 28.7644 -0.753584 -1.19732 -1.00247 -3945 2 6.21404 15.0188 29.1 0.529937 1.31684 1.60809 -3946 1 33.8455 10.8712 5.32661 -0.648991 -6.26708 8.94336 -3947 2 34.0468 11.78 5.10335 -5.36502 -1.92314 1.29238 -3948 2 34.3936 10.3524 4.7379 0.102438 3.13333 0.661722 -3949 1 5.10697 7.98289 15.7546 -5.07526 27.341 4.51981 -3950 2 5.79832 8.61997 15.9346 -2.14877 2.30924 0.345888 -3951 2 4.57114 8.39525 15.0771 -0.366538 0.571445 2.96368 -3952 1 21.7333 9.98464 28.6528 10.1004 -3.52142 18.1579 -3953 2 22.1105 9.12109 28.4849 0.385492 1.14576 2.12448 -3954 2 22.2404 10.3293 29.3878 1.65115 1.10133 -0.525412 -3955 1 15.1205 17.5441 6.96785 -4.0742 -3.6394 -0.822275 -3956 2 15.1991 16.6892 6.54453 -0.611912 -2.02696 3.68048 -3957 2 14.1831 17.7364 6.94816 0.435806 1.26001 -2.2264 -3958 1 9.35744 21.7286 23.4748 4.60203 4.54243 5.31986 -3959 2 9.45631 22.4742 22.8827 -5.90072 -1.23724 0.0174059 -3960 2 9.27857 22.1213 24.3441 0.730143 -2.41451 -0.441865 -3961 1 9.43883 15.0048 14.9419 0.314426 1.59906 0.367481 -3962 2 10.2424 14.571 15.2288 -1.28222 -3.26256 -1.76344 -3963 2 9.6848 15.456 14.1344 0.767672 0.794746 3.0722 -3964 1 8.59354 10.7735 9.86306 5.99071 0.841656 -16.1772 -3965 2 7.83556 10.9072 9.294 4.25535 -0.712678 -2.30007 -3966 2 8.22842 10.7501 10.7476 -2.05275 -1.18312 -2.37107 -3967 1 11.617 13.0887 14.8901 -1.58894 -2.71727 -1.71031 -3968 2 11.7167 13.0473 13.939 -1.11901 1.43904 0.848427 -3969 2 12.4526 13.4342 15.2042 -0.689057 0.855696 0.270819 -3970 1 16.1134 13.085 16.6558 9.68148 -1.04717 -5.59688 -3971 2 16.2934 12.568 15.8706 0.402135 -1.30428 2.38463 -3972 2 15.9412 12.4349 17.3369 -4.22554 2.16248 0.566251 -3973 1 15.868 31.9579 1.66213 -3.81785 6.05441 -0.660218 -3974 2 15.0368 31.4962 1.55145 1.60361 -0.8945 -0.227265 -3975 2 15.9319 32.5247 0.893466 0.0556864 -1.5497 -1.40815 -3976 1 24.9234 12.5447 34.1221 -2.19408 4.7233 7.06644 -3977 2 25.5223 11.8195 34.2998 -2.48522 -1.91103 -0.736903 -3978 2 25.1937 12.8746 33.2652 -0.754639 -0.887511 0.121088 -3979 1 11.5296 35.4822 2.50447 6.38765 6.83479 -7.57633 -3980 2 11.2785 0.847732 2.80947 -1.29039 -1.10514 2.02978 -3981 2 11.701 0.0888475 1.56954 0.194343 3.11193 0.455568 -3982 1 30.379 11.0671 19.9867 5.07017 1.23248 -3.26146 -3983 2 31.0311 11.0087 19.2884 1.44841 0.55972 0.955547 -3984 2 29.6547 11.5577 19.5983 1.58837 0.565512 -0.967737 -3985 1 5.34237 10.3555 23.823 1.59358 -5.3267 5.95594 -3986 2 4.52641 10.4614 23.3339 0.739924 -1.63484 -0.998042 -3987 2 5.391 11.1326 24.3797 -0.548755 1.15207 -1.70377 -3988 1 17.2112 5.63859 9.20963 -1.59931 -4.98841 4.50344 -3989 2 17.4458 5.73633 10.1325 0.725663 0.553121 -0.0395487 -3990 2 17.4308 6.48275 8.81545 -1.20794 -0.678259 -0.627942 -3991 1 8.4864 30.6373 22.5698 11.9751 8.04387 0.919905 -3992 2 9.05026 30.0245 22.0978 -1.04013 -0.934625 0.0994632 -3993 2 8.3935 31.3832 21.977 0.471907 -1.58626 -0.868862 -3994 1 1.13272 13.3843 14.1251 11.7036 -16.0311 -24.3026 -3995 2 1.01956 13.9974 14.8515 -6.323 -3.68607 -0.94242 -3996 2 1.56261 12.6243 14.5173 1.24662 0.146274 -0.863917 -3997 1 3.61294 27.789 20.2148 13.9479 5.36317 -4.0896 -3998 2 3.59563 26.882 19.9095 -1.78317 1.42596 2.75437 -3999 2 4.47375 28.1144 19.9516 0.838882 -0.571317 0.875417 -4000 1 34.8798 19.1594 19.1625 -1.37504 -8.57866 -11.1703 -4001 2 34.7419 18.2405 18.9328 0.448631 0.286869 -1.25144 -4002 2 34.7198 19.6369 18.3485 1.74758 -0.95274 -0.862345 -4003 1 33.1735 25.431 7.09449 -4.41583 8.04986 -14.0378 -4004 2 32.7408 26.208 6.74045 -0.153824 0.146071 -1.47643 -4005 2 32.5342 24.7277 6.98075 0.235387 0.195829 -1.12817 -4006 1 10.0403 8.3942 8.36977 4.14754 19.2341 14.7274 -4007 2 9.80807 9.25226 8.72475 -1.53965 0.921002 -0.310744 -4008 2 9.28269 7.84178 8.56228 -0.0702865 1.99929 -2.25635 -4009 1 8.03694 12.0759 19.9347 -6.94948 -9.78202 -2.71026 -4010 2 7.66226 11.3761 20.4696 0.465487 -1.29197 -1.87734 -4011 2 8.46717 11.6206 19.2109 -3.7033 2.2393 -0.981192 -4012 1 1.41766 21.5415 10.3687 3.56249 0.224637 1.99497 -4013 2 2.20022 21.0061 10.2376 -0.799637 0.308728 -1.87963 -4014 2 1.6839 22.4234 10.1087 -1.33896 -0.12877 -1.47044 -4015 1 34.4975 20.5465 16.8175 10.2315 -18.1569 6.94962 -4016 2 35.1902 20.9993 16.3365 0.686829 -2.29661 1.94671 -4017 2 33.7669 21.165 16.825 1.44562 -1.77936 -1.90522 -4018 1 9.44173 24.8072 4.00537 3.18599 11.7807 2.5113 -4019 2 10.039 25.5224 3.78628 1.23444 0.581297 2.51338 -4020 2 9.36854 24.2995 3.19717 4.07741 0.133672 0.321972 -4021 1 4.73899 28.1296 4.76971 -4.30797 -5.26562 6.13443 -4022 2 4.69158 27.2545 5.15468 -0.352808 -0.10607 -0.737971 -4023 2 5.34102 28.0348 4.03161 2.43216 1.51696 4.45808 -4024 1 28.796 11.2658 32.5582 5.02594 2.57225 -1.18075 -4025 2 28.6287 12.054 32.0414 -0.34881 -0.152093 1.94418 -4026 2 28.0215 11.1737 33.113 2.03126 -0.126897 -0.434179 -4027 1 29.0048 2.02236 18.3182 -1.14984 8.37325 0.0309689 -4028 2 29.8924 1.7417 18.5408 -1.79269 -3.04698 0.308423 -4029 2 28.9688 1.96941 17.3631 -2.05592 -1.81896 0.795206 -4030 1 31.3835 11.699 6.3574 10.9594 1.27938 -9.56884 -4031 2 31.7367 12.2798 7.03134 0.937998 -2.47325 -0.00298411 -4032 2 32.1425 11.209 6.04112 -1.14077 0.263894 -2.91021 -4033 1 14.039 34.7439 31.2374 6.55161 4.04245 1.09534 -4034 2 14.4287 35.2564 30.5291 0.646193 -0.252499 -0.127536 -4035 2 14.5951 33.9679 31.3063 -3.37862 -2.77928 -3.44851 -4036 1 11.7428 19.2437 20.2152 -1.01459 -1.7126 5.84868 -4037 2 12.184 18.4187 20.4175 -0.415383 0.413393 1.45802 -4038 2 11.6883 19.699 21.0555 -0.515379 0.526114 -1.34328 -4039 1 35.5196 6.23858 32.0273 3.7866 -14.0836 -1.4516 -4040 2 0.476394 6.78305 32.6639 2.63966 -0.412619 -5.04589 -4041 2 0.316301 5.34861 32.2072 -1.05321 -0.176121 0.94582 -4042 1 15.5685 9.27302 33.0832 -3.56537 -3.4913 -2.62028 -4043 2 15.5367 10.0579 33.6302 2.27954 -1.54372 -0.320553 -4044 2 15.1891 8.58446 33.6292 -1.61314 1.65034 -0.551582 -4045 1 17.805 31.8087 5.1392 -4.7417 2.97872 -0.583035 -4046 2 16.8967 32.096 5.04612 0.220436 1.90547 1.34335 -4047 2 17.9241 31.1609 4.44468 -2.35066 0.492209 -0.216663 -4048 1 30.388 19.1235 16.0717 -15.4952 -8.29265 2.28005 -4049 2 31.2475 19.0131 15.6652 -1.15164 -0.201718 2.93494 -4050 2 30.139 18.2421 16.3497 -0.28409 -0.17882 1.69683 -4051 1 11.1062 6.99079 6.45424 6.82627 -4.17254 -7.99901 -4052 2 11.9773 7.37785 6.36684 -1.26792 1.13689 -4.19989 -4053 2 10.6476 7.56754 7.06515 1.39533 -0.186942 0.120506 -4054 1 12.2758 16.5947 16.7471 4.00536 -11.4271 2.79862 -4055 2 11.8835 17.2722 17.298 -2.22573 -2.32725 -1.58234 -4056 2 12.8613 16.117 17.3346 -2.55884 -0.147513 2.09305 -4057 1 20.3366 18.8419 32.7002 0.349495 -8.19314 3.83485 -4058 2 20.7162 19.5767 33.182 5.07714 -1.24001 -3.68865 -4059 2 20.7258 18.065 33.1017 1.08608 0.848222 -1.72409 -4060 1 2.0347 27.6022 3.56204 -0.861034 -0.0757757 10.9711 -4061 2 1.51849 28.3324 3.22076 2.83222 1.46954 0.28477 -4062 2 2.31345 27.8908 4.43108 3.3218 0.767371 -1.00717 -4063 1 18.8803 18.1119 0.867847 4.19773 -6.78545 1.58949 -4064 2 19.3578 17.5252 0.281209 2.80027 0.212795 2.02743 -4065 2 18.6026 18.837 0.308191 2.76695 -0.22979 -0.560285 -4066 1 16.2594 6.69312 5.57876 2.07676 0.708831 7.4761 -4067 2 16.8319 6.95983 6.29796 -3.56934 0.430806 0.365346 -4068 2 16.0572 5.77536 5.76065 -1.36362 0.308777 -0.432378 -4069 1 4.9164 23.8172 8.5489 -1.24016 9.80911 -0.832883 -4070 2 5.3451 23.2639 9.20185 0.582883 0.543676 -1.1967 -4071 2 5.42892 24.6256 8.5456 0.190051 -0.186211 -0.195091 -4072 1 33.306 33.2019 10.0884 3.14214 5.3069 1.1605 -4073 2 33.2759 34.0363 10.5565 -3.31366 -1.41005 -0.742553 -4074 2 32.9633 33.4028 9.21751 0.762042 -0.620598 0.279913 -4075 1 16.6105 7.1066 25.5431 5.94612 -1.5227 2.37806 -4076 2 17.0345 7.75528 26.1049 -2.86499 1.05855 0.332526 -4077 2 16.3552 7.59643 24.7614 -1.38338 -1.70352 0.430624 -4078 1 21.9068 1.54935 18.3721 22.6272 15.0493 -7.48295 -4079 2 22.8544 1.66656 18.4399 1.15982 0.700986 -0.126586 -4080 2 21.5683 2.4274 18.197 1.3468 0.932152 -0.161088 -4081 1 3.86061 3.59448 14.8336 -20.9965 13.3007 -10.8766 -4082 2 4.3642 4.40576 14.9003 4.04561 -4.16115 4.64785 -4083 2 3.20468 3.66148 15.5275 -0.637703 1.25249 -0.427359 -4084 1 21.923 8.04684 5.73181 -0.022764 5.45969 -4.87883 -4085 2 21.1698 8.12301 6.31756 2.82842 -0.549169 2.82146 -4086 2 21.8686 8.81933 5.1692 -1.9017 -1.13364 0.0701226 -4087 1 3.88484 21.7031 19.8762 -3.15287 -4.75027 -6.0866 -4088 2 3.80219 22.471 19.3107 2.22261 -1.42062 -1.68005 -4089 2 4.6185 21.9095 20.4553 -1.4287 -1.43493 0.986333 -4090 1 12.5086 27.8274 26.8377 11.4372 -9.37868 4.5279 -4091 2 11.8211 27.179 26.6857 3.70669 -3.69502 0.297188 -4092 2 12.113 28.6609 26.5829 -2.08228 -2.69956 -2.29516 -4093 1 32.4704 31.1628 16.9518 2.11357 -1.48819 5.50013 -4094 2 33.0533 30.4036 16.942 0.856727 1.46943 2.59918 -4095 2 32.8223 31.7266 17.6406 -1.11806 1.25621 -1.68717 -4096 1 4.04431 20.2437 14.7189 3.51045 3.84186 3.40953 -4097 2 4.05985 19.7071 15.5114 0.862525 -1.00848 -0.750195 -4098 2 3.88361 19.6206 14.0103 0.448612 1.46331 -0.858565 -4099 1 13.7668 15.0619 33.4074 -7.98084 1.45787 4.28602 -4100 2 14.6552 14.9022 33.726 -0.808891 -4.72155 -4.64895 -4101 2 13.7741 15.9763 33.1244 0.228786 -1.35587 1.30139 -4102 1 7.97543 4.02727 21.414 -4.18161 0.0674029 1.52049 -4103 2 7.59981 3.90537 20.5421 2.23066 -0.411297 -0.0588781 -4104 2 7.21732 4.11355 21.992 -1.11858 0.158971 -1.45303 -4105 1 20.2992 6.13681 12.6157 -4.65839 18.1078 -21.4402 -4106 2 19.3618 6.04703 12.4445 -0.334513 -1.33003 2.71319 -4107 2 20.5071 7.03248 12.3496 -4.8248 0.351749 -2.06179 -4108 1 5.16634 5.52008 3.92799 -5.78184 -1.8257 4.30678 -4109 2 5.62719 5.95699 4.6442 1.52983 0.662518 -1.62898 -4110 2 5.86253 5.15273 3.38338 -1.93258 2.13051 -2.97674 -4111 1 17.2743 18.9143 19.6381 1.95092 -12.4678 4.69416 -4112 2 18.0384 18.345 19.7287 1.1155 0.940059 2.14255 -4113 2 17.5128 19.7129 20.1089 -2.11882 0.329402 -0.681864 -4114 1 14.9231 7.12293 11.9749 5.60369 -10.0502 3.75912 -4115 2 14.4841 6.62806 11.2831 -3.12459 -0.362157 2.40912 -4116 2 14.4907 7.97685 11.9706 4.5601 1.30052 -1.57856 -4117 1 1.1018 6.6283 0.493833 0.0847131 -5.76526 19.042 -4118 2 1.96371 6.82989 0.858113 0.191272 0.208256 -0.573607 -4119 2 1.07326 5.67212 0.459891 1.89671 -0.0056239 -1.45991 -4120 1 22.5994 0.719477 27.6088 17.1548 -11.2245 2.33891 -4121 2 22.2394 1.57393 27.8465 -0.961734 -1.82423 -1.00339 -4122 2 23.4707 0.707589 28.005 0.0650274 1.08426 1.02412 -4123 1 15.7804 12.793 23.3565 18.8794 -2.11187 -5.38727 -4124 2 15.973 13.7033 23.1316 0.759814 -0.583143 -1.27856 -4125 2 14.89 12.8157 23.7072 0.585073 -0.153164 -2.1205 -4126 1 33.5832 6.90147 20.9754 9.08701 -2.73932 12.8218 -4127 2 34.386 7.40667 21.1043 1.24123 -1.73736 -1.0843 -4128 2 33.6157 6.22312 21.65 1.34856 0.910449 -0.297508 -4129 1 1.92125 17.8885 29.5518 -0.997191 2.22251 -1.60841 -4130 2 1.05933 17.9202 29.9669 -0.0724016 4.24677 -0.451976 -4131 2 2.51844 17.6399 30.2573 -1.72221 -3.05845 -0.0506166 -4132 1 11.6317 22.3278 20.7882 -11.0202 -5.53003 5.37447 -4133 2 11.8675 22.7064 21.6351 2.48978 3.60538 -3.72978 -4134 2 12.4521 21.9704 20.4483 -1.67976 0.0752414 -0.600526 -4135 1 18.9959 25.7341 1.07897 -3.47994 10.7156 -5.46845 -4136 2 19.1913 26.0765 0.206694 -0.252977 1.54123 0.0216058 -4137 2 18.3616 26.3518 1.44266 1.56703 1.13346 0.906771 -4138 1 26.7287 0.59146 2.48599 -2.20293 -9.78492 6.85805 -4139 2 27.2352 1.39482 2.60526 1.64506 -2.20521 -1.26388 -4140 2 26.6187 0.243488 3.3709 0.863162 0.562581 0.26655 -4141 1 10.4003 13.92 25.3078 -0.962396 15.3833 -4.93199 -4142 2 10.6122 13.4967 26.1398 -2.14085 -1.53014 -1.73293 -4143 2 10.4096 14.8565 25.5057 1.04593 -0.701333 1.55735 -4144 1 21.3637 34.043 28.8298 1.4001 -11.7715 -1.67874 -4145 2 21.8046 34.6519 28.2372 -1.50159 4.07699 3.9044 -4146 2 22.0757 33.584 29.2755 1.25601 0.388789 -0.978831 -4147 1 6.60999 30.225 4.76784 8.53452 9.67382 -4.29729 -4148 2 6.83393 30.1794 5.69736 -4.44206 0.238457 -0.139842 -4149 2 5.66376 30.369 4.75574 0.609064 -2.29517 -5.70018 -4150 1 6.99068 5.86981 18.4947 -8.23218 -2.20618 -0.894714 -4151 2 6.8151 4.93759 18.6227 -0.944124 0.172147 -1.23251 -4152 2 7.14578 5.95791 17.5542 2.29827 0.473602 0.679238 -4153 1 27.8466 24.3996 26.7588 1.05667 -1.74424 0.244623 -4154 2 28.1463 23.5403 27.0556 -3.25726 -0.701678 -0.0547919 -4155 2 27.5281 24.8299 27.5523 1.09271 1.11987 -0.409343 -4156 1 26.1831 0.140071 24.8988 2.35276 -3.3745 -4.70384 -4157 2 27.0796 0.245964 24.5803 -1.18138 0.568071 -2.21468 -4158 2 25.6645 0.736318 24.3586 -1.33754 -0.605024 0.874003 -4159 1 28.2363 32.548 16.4734 10.7774 0.742271 -16.6282 -4160 2 27.7881 32.4455 17.3129 -1.06544 -2.92576 -2.36439 -4161 2 27.9382 33.3959 16.1441 -1.02354 -0.261093 -0.15835 -4162 1 3.7132 17.6923 22.1338 9.48116 4.06658 -6.57558 -4163 2 4.10276 18.5544 22.2794 1.82023 -0.62549 0.480462 -4164 2 3.85734 17.222 22.955 -0.238367 -1.39491 -2.11917 -4165 1 21.9958 17.9788 20.5412 -0.23362 -9.40487 10.2253 -4166 2 22.69 18.5507 20.2136 -3.38689 1.18515 -2.63097 -4167 2 21.4976 18.5284 21.1461 -0.602627 -1.03644 0.576629 -4168 1 10.4154 21.3642 9.81859 -1.19287 9.56963 5.15119 -4169 2 10.974 21.8613 10.4162 1.63516 -0.365362 -0.565172 -4170 2 10.3197 20.5081 10.2358 2.73217 -0.708676 -1.86311 -4171 1 26.0962 27.3575 8.92767 -5.09794 0.447979 3.42067 -4172 2 26.675 27.7896 9.55576 2.50225 -1.90922 -1.31364 -4173 2 25.8413 28.0514 8.31947 2.49327 -0.121371 -0.649587 -4174 1 17.3595 11.0885 2.80451 -0.250902 3.86482 -2.43409 -4175 2 17.0745 10.3089 2.32789 3.58894 -1.8659 1.16046 -4176 2 18.2984 11.1477 2.62808 0.456684 2.04601 3.031 -4177 1 16.7677 15.9659 35.3884 4.2245 5.80279 10.1208 -4178 2 16.4669 16.8472 0.162809 -0.762282 0.77283 -3.27711 -4179 2 17.7026 16.0691 35.2106 -1.11119 0.926401 1.49324 -4180 1 5.38645 21.334 1.85386 8.77862 -1.42981 -9.42808 -4181 2 4.96706 21.439 0.999853 -3.25578 3.68236 3.06371 -4182 2 5.10365 20.4708 2.15562 -2.29893 1.86754 1.18616 -4183 1 13.986 4.7631 23.3052 12.8047 6.08458 -3.78654 -4184 2 14.6542 5.44206 23.2121 -1.76542 1.1993 -3.81598 -4185 2 14.1474 4.16571 22.5749 -2.48461 1.02262 -1.14882 -4186 1 25.2052 3.81092 25.2058 -1.355 -2.40509 -1.02471 -4187 2 25.3952 4.31498 24.4146 1.17205 -2.79144 -0.789296 -4188 2 24.7951 3.00742 24.8858 0.838829 -0.115986 1.22923 -4189 1 34.5549 24.9172 25.7942 -2.0019 3.3272 -13.8093 -4190 2 35.0348 24.1788 26.1694 -1.07342 0.657736 0.761941 -4191 2 33.9024 25.1413 26.4577 2.46285 4.86874 0.125467 -4192 1 26.21 33.1108 29.5456 -8.31537 -11.4325 12.1979 -4193 2 26.8514 33.6083 30.0529 -0.403036 -1.34439 0.585757 -4194 2 26.0717 33.6331 28.7555 2.6809 -3.75217 0.0799075 -4195 1 12.762 12.3262 9.28007 -11.3443 21.406 11.346 -4196 2 12.4904 12.5084 10.1797 -0.187416 -0.590399 -0.627906 -4197 2 12.204 12.8882 8.74247 -1.74784 -1.27697 0.00882101 -4198 1 30.9034 15.9971 28.3949 15.7811 0.909492 -3.857 -4199 2 31.4312 15.1988 28.4115 1.6553 0.56775 -2.32094 -4200 2 30.9644 16.3064 27.4911 -0.411354 1.67942 0.48472 -4201 1 0.823294 11.51 17.1883 -6.21799 4.15266 5.58237 -4202 2 0.682832 10.5642 17.2328 1.74444 1.63934 6.29122 -4203 2 1.61273 11.6107 16.6565 -2.30255 -1.59641 -2.13798 -4204 1 6.31451 10.4384 16.7685 -5.40696 0.391454 -3.08155 -4205 2 6.95707 11.1454 16.7095 2.72145 -3.77209 1.99599 -4206 2 5.8109 10.637 17.5579 1.07225 -0.237642 0.380436 -4207 1 0.544232 9.54012 23.5575 -3.52185 -2.62805 3.04745 -4208 2 0.344971 9.66391 24.4855 4.79456 -1.28192 -0.103218 -4209 2 1.31881 10.0812 23.4041 0.295248 -2.2391 -3.76116 -4210 1 1.24787 29.2155 12.9959 5.2137 -6.26201 1.90798 -4211 2 2.08465 28.7542 12.9395 0.207961 -0.745689 1.17577 -4212 2 1.23094 29.5742 13.8832 0.0694037 1.38271 -0.86036 -4213 1 9.88023 0.563343 14.3846 4.69978 5.52396 -1.09311 -4214 2 10.3391 35.3341 13.979 -0.917016 -2.55741 4.18097 -4215 2 10.5662 1.05399 14.8373 0.75593 0.458577 -1.10443 -4216 1 20.6209 2.62161 7.22959 1.89471 1.48231 0.349766 -4217 2 21.206 3.30512 7.55617 -0.274177 0.280324 0.366066 -4218 2 19.7824 2.79984 7.65552 0.818032 -1.95265 1.44662 -4219 1 26.2452 1.50903 16.1996 -4.92227 2.83603 -5.1937 -4220 2 25.4166 1.67954 16.6476 1.88236 1.47512 0.873518 -4221 2 26.2763 2.15852 15.4972 -2.36156 -2.20011 -1.07786 -4222 1 21.5207 15.5264 3.18393 -1.8434 13.8518 2.35567 -4223 2 21.1263 15.0987 2.42382 0.357029 -0.807719 2.00353 -4224 2 20.9346 16.2577 3.37874 0.57537 0.848378 -0.0529868 -4225 1 9.60299 12.813 30.7548 8.23807 3.47296 3.2908 -4226 2 10.2026 13.0281 31.4693 -2.34791 0.932592 0.826893 -4227 2 9.10876 12.0585 31.0752 -0.132626 -0.0459088 -2.01363 -4228 1 5.23254 9.36496 2.75943 -17.9102 4.87483 10.3512 -4229 2 5.4629 9.10845 3.65239 1.49794 1.23415 -0.25961 -4230 2 4.85398 8.57528 2.373 1.2137 -0.204359 1.20085 -4231 1 30.1611 30.8666 5.78152 2.74501 -22.6484 -7.27604 -4232 2 31.0126 30.6778 6.17607 0.0500574 -0.625303 -2.96798 -4233 2 29.8281 31.6153 6.27617 0.913738 -1.07661 -0.44818 -4234 1 2.99923 7.40789 17.6657 3.6309 -0.277655 3.87185 -4235 2 3.35203 7.93807 18.3803 -0.684746 -2.4533 -0.0123526 -4236 2 3.67545 7.43695 16.9888 -0.284233 3.25991 0.0382316 -4237 1 1.27275 7.7847 33.6274 6.00436 23.1762 -1.62376 -4238 2 1.08578 7.46756 34.511 5.91532 -1.27953 -0.252786 -4239 2 1.80994 8.56555 33.7614 0.562347 -0.262301 -0.42384 -4240 1 10.368 16.5859 31.9462 5.55607 -4.3468 -8.1128 -4241 2 9.92432 17.1103 32.6129 -1.71107 0.189694 -2.2981 -4242 2 10.5695 15.7597 32.3857 -0.091162 0.772908 0.88631 -4243 1 2.92593 20.7927 22.9961 1.57154 -11.0194 -1.95547 -4244 2 3.38836 20.4602 23.7654 -1.24949 3.92598 1.83288 -4245 2 3.61613 21.1486 22.4364 -0.558415 3.9339 3.18365 -4246 1 31.2431 32.5659 23.4081 3.40158 -1.08707 -0.0936051 -4247 2 30.8131 31.8382 23.8573 -0.406753 -0.318552 -2.36231 -4248 2 31.6153 32.174 22.6181 -2.43488 1.46892 -0.699903 -4249 1 20.5012 18.6719 3.60613 1.78027 -3.8485 -3.29082 -4250 2 20.5227 18.7829 2.65564 -1.78367 0.52182 0.377812 -4251 2 21.0943 19.345 3.93991 0.151215 -0.251783 -0.506028 -4252 1 29.2561 22.0296 30.8148 -6.1356 1.25133 -1.93814 -4253 2 29.7302 22.8297 31.0413 -2.579 1.5052 -0.886503 -4254 2 28.6097 22.3091 30.1665 0.29547 -2.47382 -1.03056 -4255 1 1.84675 27.6232 34.1127 -3.31041 -13.6715 -12.6919 -4256 2 2.15482 28.5179 34.2575 4.40641 -3.60954 1.17567 -4257 2 1.64814 27.5863 33.177 0.441925 3.54535 -0.166983 -4258 1 7.52671 9.50693 1.47357 8.24451 -0.247118 -11.8827 -4259 2 6.63067 9.25859 1.70088 2.81554 3.10769 6.4063 -4260 2 7.4259 10.2408 0.867375 -0.503515 -1.06514 -0.728157 -4261 1 16.5831 11.3905 14.3941 -8.88341 -18.0698 6.57772 -4262 2 16.1671 11.876 13.6818 -0.297836 1.84141 2.61871 -4263 2 16.0028 10.6447 14.5471 -0.446192 0.0817589 -1.21788 -4264 1 2.10561 5.43705 4.72412 6.19336 -0.905368 -10.3882 -4265 2 3.0524 5.36045 4.60599 0.484628 1.34862 1.33413 -4266 2 1.97835 5.40102 5.67214 -0.700933 0.518019 -1.5785 -4267 1 3.71536 8.97987 20.0174 -4.48125 -14.4493 -0.0769435 -4268 2 3.98256 9.86896 19.7843 1.23707 -2.89427 -4.17115 -4269 2 4.48637 8.60034 20.439 -0.73916 -0.766973 0.0830405 -4270 1 1.86961 28.2346 30.9432 -7.35062 -6.22047 8.16235 -4271 2 2.74687 28.3908 30.5936 -2.13545 0.265312 -2.01973 -4272 2 1.65535 27.3442 30.6647 -1.36891 1.00187 -0.808785 -4273 1 25.92 1.73368 33.9064 -9.29514 -3.99789 -10.0984 -4274 2 26.3457 2.4441 34.3862 0.45073 -1.41319 0.0410852 -4275 2 25.2575 2.16949 33.3702 -0.0131382 0.968065 1.33015 -4276 1 4.30053 25.0097 31.692 12.5576 -0.506469 -4.24601 -4277 2 4.71024 24.6087 30.9255 1.01281 0.0056296 1.91444 -4278 2 3.45345 24.5706 31.7686 2.01976 3.70981 3.57969 -4279 1 19.6612 33.9569 4.9309 -0.829477 -7.21018 7.25756 -4280 2 19.9483 33.8958 5.84201 -1.30476 0.916428 0.387737 -4281 2 19.0951 33.1952 4.80603 -2.83186 1.56858 2.57645 -4282 1 21.5273 24.5414 28.7055 1.38389 12.9697 13.6851 -4283 2 21.5515 23.8605 29.3778 0.348781 -0.899889 -1.05701 -4284 2 21.2479 25.3293 29.1719 0.797487 -1.02461 3.1406 -4285 1 26.1041 14.9647 24.0521 5.92546 4.21508 -3.75316 -4286 2 26.8787 15.2277 24.5493 -0.679749 -0.915015 -0.296971 -4287 2 25.379 15.4222 24.4778 0.457882 -4.01465 3.55886 -4288 1 8.93685 1.91916 34.6637 -10.219 9.93164 -3.0808 -4289 2 9.69587 1.73055 34.1119 0.0521306 -3.99518 3.943 -4290 2 9.23849 2.60375 35.2609 -0.648201 -1.82671 0.375325 -4291 1 5.49707 24.8501 22.6193 -2.64832 -1.74254 7.2366 -4292 2 4.56261 24.6705 22.5156 0.28805 -0.746343 2.57357 -4293 2 5.54331 25.4666 23.3501 2.29492 1.44312 -1.96031 -4294 1 30.3615 16.6632 13.6928 -0.834857 0.826893 6.19588 -4295 2 31.3169 16.6074 13.6763 -0.362501 -2.24513 -1.3004 -4296 2 30.0719 15.7692 13.8746 -1.86163 0.435158 -0.963462 -4297 1 23.74 30.1021 28.003 2.66463 -2.54372 -8.45555 -4298 2 22.898 29.8192 27.6462 -0.329809 -2.18974 3.28077 -4299 2 23.5277 30.8616 28.5455 0.954541 -0.0968009 -0.796022 -4300 1 6.27848 22.2857 10.3096 5.66257 -7.53804 1.41095 -4301 2 7.15621 22.6675 10.3085 -2.01244 1.72553 1.76521 -4302 2 5.94782 22.4468 11.1933 -0.762301 -0.311752 -1.21153 -4303 1 34.2693 24.6682 21.9687 10.1329 -5.54387 3.34255 -4304 2 34.8751 24.9349 21.2772 -0.157333 -3.72037 -1.60043 -4305 2 34.7749 24.7543 22.777 0.694809 2.34151 -0.961264 -4306 1 18.9198 1.08653 4.47467 6.55378 6.00902 -4.77798 -4307 2 19.766 1.49649 4.29555 -0.101016 1.92026 1.05607 -4308 2 19.1293 0.168315 4.64555 1.75962 1.20728 0.50861 -4309 1 12.5678 31.4035 18.4647 5.88584 -15.3346 -3.70324 -4310 2 12.5742 30.5592 18.0137 6.40143 1.63704 1.49927 -4311 2 13.3662 31.3996 18.9927 -1.88881 2.73012 0.193204 -4312 1 18.3438 32.4995 15.4266 -3.9904 6.06415 14.5954 -4313 2 17.9296 33.3624 15.4193 -0.137747 0.299802 2.80798 -4314 2 17.6989 31.9273 15.8426 -0.550353 -0.237777 -1.78186 -4315 1 7.6725 27.8532 9.04801 16.7987 1.56087 5.84171 -4316 2 8.36576 27.9235 9.70426 -1.02062 -1.56521 1.25195 -4317 2 6.94044 27.4498 9.51451 -0.165982 1.01236 -3.0079 -4318 1 21.6535 35.2374 32.8993 4.09947 -9.4506 -8.49862 -4319 2 21.8537 35.2911 33.8338 1.85435 3.29633 -2.62281 -4320 2 21.1505 0.524473 32.7157 -1.78918 -2.85981 -2.11222 -4321 1 26.993 12.6617 1.39198 2.05848 -1.69099 0.0687019 -4322 2 27.1894 12.9954 0.516592 -0.966777 -0.223245 0.395614 -4323 2 26.3538 11.9645 1.24523 0.577407 0.849651 1.35699 -4324 1 33.9045 1.20052 27.8023 -2.33637 -5.51682 1.40975 -4325 2 33.603 1.12676 26.8968 1.24979 1.40491 -0.426436 -4326 2 34.3526 0.372347 27.9743 3.42524 1.1543 -2.2197 -4327 1 16.0885 23.0056 11.9093 4.79202 -2.39237 -5.32742 -4328 2 15.6597 22.187 11.6595 2.29095 0.459862 2.29915 -4329 2 16.666 23.2083 11.1734 -1.09887 4.00583 2.85637 -4330 1 21.6596 22.4961 5.11773 -9.51431 9.8708 -1.62575 -4331 2 21.4852 22.935 5.95029 -4.61028 -4.53582 0.221516 -4332 2 22.081 21.6727 5.36417 -1.64014 -0.0267157 -1.6718 -4333 1 28.268 28.4681 10.5467 2.75704 -2.71017 -0.730922 -4334 2 28.7416 29.169 10.0988 2.15222 -0.64057 1.68507 -4335 2 28.9254 28.053 11.1052 -2.17328 -1.67899 0.509274 -4336 1 11.814 6.08474 22.2338 5.57575 11.6684 -11.1484 -4337 2 12.0007 6.92598 21.817 1.20852 -0.699246 -1.35385 -4338 2 12.6676 5.65722 22.3043 -1.45818 1.81313 2.98978 -4339 1 11.545 20.0086 29.645 2.45448 -2.28849 6.0506 -4340 2 12.1383 19.9359 30.3926 -2.64585 -0.8671 -0.395312 -4341 2 10.6992 20.2362 30.0311 -1.60912 -2.00444 -3.76502 -4342 1 23.6299 15.7509 6.2555 8.45802 1.4203 10.158 -4343 2 23.9938 15.5035 7.10558 0.281676 0.425602 0.293976 -4344 2 23.1914 16.5864 6.41616 0.290038 -1.76178 0.628914 -4345 1 18.5937 17.8488 8.51013 6.82909 6.27367 3.88919 -4346 2 19.2963 17.2747 8.81497 -1.2703 -2.29402 -2.74965 -4347 2 18.902 18.178 7.66582 0.962976 1.97469 2.59929 -4348 1 24.9607 31.6484 25.4236 1.38453 13.0051 9.65847 -4349 2 25.8152 31.6438 24.9923 -0.843985 1.17469 -0.410583 -4350 2 25.1639 31.6709 26.3587 1.11749 -1.86222 0.156463 -4351 1 16.6738 15.8481 16.6039 -6.49855 0.857235 -8.51147 -4352 2 16.332 16.1253 17.4539 3.13074 -1.17484 0.758344 -4353 2 16.6932 14.8923 16.6532 -0.673001 1.01633 -0.95947 -4354 1 33.0124 0.0361321 11.5052 9.94137 10.2428 -7.05107 -4355 2 32.4782 0.653016 11.005 0.748592 0.590978 1.1889 -4356 2 32.6293 35.5497 12.3824 -2.50239 -3.64973 -2.40855 -4357 1 28.0502 19.8274 0.200166 -14.718 -13.8365 8.14135 -4358 2 27.3541 20.1731 0.758914 0.586214 2.00411 -2.90586 -4359 2 27.6786 19.0326 35.2649 -1.29562 -1.13825 1.86866 -4360 1 13.8259 16.066 19.2377 3.42806 -1.9108 -8.46231 -4361 2 14.739 15.8494 19.4262 -0.173301 -1.04149 -2.1628 -4362 2 13.3196 15.4176 19.727 -1.00489 5.59839 2.6295 -4363 1 14.0833 21.9737 33.177 1.55338 -10.2777 0.601086 -4364 2 14.8552 22.1139 33.7254 -0.592833 3.48917 -2.04988 -4365 2 14.3993 22.0966 32.2819 -4.6893 3.47479 -0.636361 -4366 1 16.3426 25.3935 3.01903 8.64182 -10.3293 -7.26207 -4367 2 16.7982 26.2352 3.03233 1.45724 -1.73979 2.17777 -4368 2 16.9769 24.7832 2.64282 0.517788 -0.592036 1.01179 -4369 1 34.4109 25.5041 0.147232 -4.97865 0.544753 -0.984839 -4370 2 34.8322 26.3303 0.384396 -0.932015 -0.895181 -0.271714 -4371 2 33.5198 25.5827 0.487847 1.51715 -0.291147 -0.624421 -4372 1 27.8648 21.35 28.119 -0.690813 2.64901 0.101312 -4373 2 28.7387 21.0626 27.8543 -1.28703 -2.80379 3.83509 -4374 2 27.2858 21.0223 27.4309 2.06622 3.35093 -2.82638 -4375 1 0.240252 27.2384 27.9971 -0.91815 -14.2657 -2.87632 -4376 2 0.781723 26.637 28.5084 1.49113 0.267903 -1.08884 -4377 2 34.9499 26.7426 27.8083 0.127613 -0.916031 2.36942 -4378 1 21.6858 25.3229 17.7964 -5.16014 -6.43428 -1.59847 -4379 2 21.9921 26.2272 17.7279 -0.0319833 -0.570092 0.694787 -4380 2 21.3181 25.1281 16.9343 1.91105 0.442844 0.0444748 -4381 1 30.9762 0.893719 8.90624 6.84658 4.89315 4.34164 -4382 2 31.2866 0.970928 8.00407 -1.30872 -1.28953 0.0387564 -4383 2 30.0457 1.11331 8.85952 1.85147 1.23716 1.21913 -4384 1 25.4566 22.8733 21.0012 8.46941 -6.2365 -4.41175 -4385 2 26.2934 22.4661 21.2251 -0.0869085 0.997113 -0.522472 -4386 2 25.6712 23.793 20.8454 -2.04348 -0.380031 3.58637 -4387 1 24.8743 30.4839 12.6069 5.18592 -5.90954 -3.66721 -4388 2 25.6363 30.6355 12.0478 -2.47753 -1.31299 -1.73489 -4389 2 25.0041 29.602 12.9557 1.098 0.771613 1.03075 -4390 1 13.8113 7.99004 5.29125 -6.25539 2.54191 5.22156 -4391 2 13.7892 8.73645 4.69241 1.40451 -0.877124 -0.322734 -4392 2 14.7345 7.89861 5.52688 -0.824712 -3.60413 -2.23204 -4393 1 33.9717 12.8445 16.8206 -5.08834 3.24579 2.32558 -4394 2 34.7638 12.3611 17.0557 -0.912544 -1.123 -1.64622 -4395 2 33.6042 13.1252 17.6586 -0.0818337 -2.83827 1.19082 -4396 1 26.5929 21.8369 5.4998 15.2188 -12.8758 -3.5611 -4397 2 27.193 22.4961 5.15108 1.54123 -0.472239 4.36294 -4398 2 27.1503 21.0829 5.69232 0.775207 0.532331 0.731822 -4399 1 5.16966 25.9262 12.3542 3.63388 -10.9707 -4.2268 -4400 2 4.39065 25.3778 12.4469 0.868663 0.512582 0.49162 -4401 2 5.73068 25.672 13.0869 1.15015 -1.40555 -2.02342 -4402 1 26.7931 35.4254 5.15069 -2.58439 4.8653 0.22666 -4403 2 26.5925 34.8211 5.86542 2.47532 -0.574882 -0.655596 -4404 2 27.2131 0.665389 5.57819 2.08955 -0.944702 -1.56575 -4405 1 1.20884 3.82973 0.244724 1.66138 -1.50883 -2.97877 -4406 2 2.01641 3.42102 0.556221 -0.565104 -0.453085 -0.98583 -4407 2 0.510904 3.36319 0.704569 -0.652139 1.89174 -3.14661 -4408 1 26.4335 3.26352 13.8621 2.94116 4.56618 2.38726 -4409 2 26.7833 4.04332 14.2931 1.33818 -0.0840263 -3.07679 -4410 2 25.7332 3.59406 13.2994 -3.10068 -2.3533 4.10846 -4411 1 33.2055 12.6395 8.23391 5.45516 1.9919 5.8193 -4412 2 32.6787 12.8131 9.01402 -0.345731 -1.59928 -1.24485 -4413 2 34.1053 12.8183 8.50726 -0.805487 1.53365 1.78742 -4414 1 29.9023 24.5626 20.7116 3.42295 -6.98403 -0.952027 -4415 2 29.4679 25.4132 20.6473 -0.48284 -2.69496 0.222901 -4416 2 30.2739 24.4166 19.8417 -0.244826 -2.35878 0.7128 -4417 1 15.2998 4.02453 16.4417 -2.15742 4.79241 6.05563 -4418 2 15.7057 4.6226 17.0692 0.191126 1.42105 -2.21766 -4419 2 14.9946 3.28953 16.9736 -0.120429 1.69431 2.26192 -4420 1 31.2753 25.1783 0.424078 -3.05861 -1.08728 17.9787 -4421 2 31.0586 24.4517 35.287 4.05906 -1.40755 1.82856 -4422 2 30.7422 25.0259 1.20438 -1.38424 0.164027 -0.204301 -4423 1 12.1221 3.02324 0.180171 5.54245 -1.23026 6.11818 -4424 2 11.8464 2.17458 35.281 1.14317 0.150516 -0.180026 -4425 2 11.3607 3.34415 0.66332 2.03454 -2.74467 1.9593 -4426 1 32.8431 11.557 14.38 0.147749 2.67556 -1.98289 -4427 2 31.9068 11.5678 14.1811 0.291943 -1.00905 2.75821 -4428 2 32.9664 12.2812 14.9936 1.19966 -2.12497 2.082 -4429 1 20.5645 17.4424 12.4515 6.55406 0.156517 0.559841 -4430 2 19.8459 16.8903 12.1433 -1.42603 2.83887 0.952488 -4431 2 20.6495 17.2292 13.3808 1.56555 -1.24922 -0.696423 -4432 1 15.2816 11.6269 18.8168 5.55975 3.4447 3.66971 -4433 2 14.386 11.8473 19.0727 -0.646747 -2.40537 -4.21442 -4434 2 15.3862 10.7109 19.0741 1.74861 1.0941 -0.195148 -4435 1 29.7377 20.372 3.36652 0.797329 -7.98301 -8.63454 -4436 2 30.4736 19.7997 3.5836 -1.83703 -0.890419 1.54523 -4437 2 29.86 20.5792 2.44008 0.781849 -1.5009 -0.273719 -4438 1 10.4638 28.1009 15.3794 8.14468 4.22684 -0.814723 -4439 2 9.53379 28.2306 15.5652 0.0260372 -2.67835 -1.69305 -4440 2 10.6322 28.642 14.608 -0.570693 -1.3859 -1.11001 -4441 1 16.7704 6.13101 17.944 -0.211983 -1.47772 3.31 -4442 2 17.2683 6.32159 18.7389 1.86764 1.15901 -3.46209 -4443 2 16.6681 6.98075 17.5153 -2.39931 -1.61441 -0.74807 -4444 1 21.5135 0.327334 25.1409 8.66564 11.1895 -11.7105 -4445 2 22.2279 0.15114 25.7531 -4.2921 0.404201 4.61487 -4446 2 21.4118 35.0184 24.6498 0.519456 -0.928846 2.19863 -4447 1 8.71062 23.6629 10.1362 3.05079 1.60887 0.77512 -4448 2 9.03714 24.1011 10.9221 0.259856 1.17771 -1.23482 -4449 2 9.41576 23.0672 9.88307 -1.85123 -1.62472 0.915088 -4450 1 20.2468 3.67222 10.3704 0.4777 5.10365 7.10224 -4451 2 20.359 3.07898 11.1132 -0.765711 0.100413 -2.14552 -4452 2 19.4836 3.33128 9.90403 2.85534 1.08452 -0.754728 -4453 1 5.99164 17.0864 14.8678 -5.37574 3.84131 -0.459775 -4454 2 6.63127 17.7689 14.6646 3.22934 -2.98012 2.44679 -4455 2 5.554 17.396 15.6608 -0.457156 0.512177 -0.289605 -4456 1 9.83882 21.0265 7.18035 5.95081 -1.40299 -8.14061 -4457 2 9.12061 21.5838 6.88056 -2.6067 -3.24929 2.7288 -4458 2 9.85976 21.1517 8.1291 3.24078 0.788148 -1.58199 -4459 1 14.2806 22.3479 30.4744 -5.28704 8.01428 14.3895 -4460 2 13.8253 23.128 30.1575 2.20354 -0.167513 -4.00018 -4461 2 14.4934 21.8556 29.6816 1.73645 -3.40489 3.93134 -4462 1 9.99574 22.3649 18.625 -1.24662 -2.70761 -10.6994 -4463 2 10.4595 21.9481 17.8987 0.183494 1.6516 0.642745 -4464 2 10.6595 22.4657 19.3072 -3.1201 -0.222712 1.57266 -4465 1 13.5444 23.3091 25.3305 6.03923 1.55312 0.42896 -4466 2 13.2633 22.9728 26.1815 -0.932337 -1.00851 -1.27722 -4467 2 14.4265 22.9566 25.2126 -1.02044 -2.61951 -0.48294 -4468 1 20.38 18.6937 28.3968 7.14119 -6.8925 -2.09374 -4469 2 20.0167 18.9886 27.5617 0.316244 -5.43562 -1.75257 -4470 2 21.3206 18.6184 28.2361 0.666353 0.344779 0.815735 -4471 1 31.9689 7.20731 11.1996 7.34708 3.16447 9.75319 -4472 2 31.6099 7.15114 12.0852 0.998483 0.911771 -1.0382 -4473 2 32.8409 6.81882 11.269 -0.906482 -0.425175 -2.58612 -4474 1 3.59826 34.1759 15.1126 -11.7123 -5.68349 5.97393 -4475 2 3.21043 33.454 14.6179 1.39026 0.0576551 1.52481 -4476 2 3.54331 33.8972 16.0267 0.654449 -1.39662 -0.127074 -4477 1 16.7556 18.4081 28.9987 8.31009 -1.52636 -3.73736 -4478 2 17.6307 18.6606 29.2931 -1.43242 0.172472 0.00350369 -4479 2 16.5433 17.6311 29.5158 -4.3853 4.025 1.85791 -4480 1 4.3102 29.9995 27.41 12.3163 -5.69934 9.04024 -4481 2 5.14895 30.4141 27.2079 -1.45489 3.42303 0.773461 -4482 2 3.71946 30.3049 26.7216 -0.489848 -3.13791 0.780952 -4483 1 6.15571 15.7166 24.0745 -10.4675 14.0348 8.09529 -4484 2 5.31022 15.8535 24.5019 -1.15491 -4.01696 -1.7966 -4485 2 6.50126 14.9194 24.4761 0.366863 0.626035 -2.42182 -4486 1 1.16849 28.775 19.8427 0.210476 14.8941 -2.95759 -4487 2 0.55835 28.0645 19.6452 -0.37833 1.16517 1.01041 -4488 2 2.02094 28.3459 19.9163 -1.22217 1.3797 3.29741 -4489 1 23.2346 29.7445 8.55319 -3.19073 0.0591217 -1.71373 -4490 2 24.177 29.8703 8.66448 -1.37464 0.315561 0.0894517 -4491 2 22.981 30.3965 7.89984 0.244518 -1.23007 0.476314 -4492 1 19.4825 19.1594 6.42054 2.91673 9.05689 -8.3853 -4493 2 19.0036 18.5381 5.87205 1.04646 3.76482 -1.27192 -4494 2 18.8796 19.8942 6.5334 2.07477 2.20963 -2.23813 -4495 1 33.0425 24.822 13.641 6.63183 6.2187 -2.78039 -4496 2 33.7809 24.3577 13.2468 -0.641414 -1.92179 0.68381 -4497 2 32.2751 24.3054 13.3949 -0.245517 -1.04267 4.99319 -4498 1 26.0476 6.03912 17.2588 1.74441 -5.97008 8.24573 -4499 2 26.4147 5.4419 17.9106 -0.885223 -2.61028 -1.33276 -4500 2 26.4184 5.74408 16.4271 1.8916 3.73175 0.920143 diff --git a/examples/TIP4P/gpu_dump/dump.force_gpu.19Dec19.tip4p.g++.1.gtx1070.dp b/examples/TIP4P/gpu_dump/dump.force_gpu.19Dec19.tip4p.g++.1.gtx1070.dp deleted file mode 100644 index faa6d3c117..0000000000 --- a/examples/TIP4P/gpu_dump/dump.force_gpu.19Dec19.tip4p.g++.1.gtx1070.dp +++ /dev/null @@ -1,9018 +0,0 @@ -ITEM: TIMESTEP -0 -ITEM: NUMBER OF ATOMS -4500 -ITEM: BOX BOUNDS pp pp pp -2.6450000000000001e-02 3.5532800000000002e+01 -2.6450000000000001e-02 3.5532800000000002e+01 -2.6409999999999999e-02 3.5473599999999998e+01 -ITEM: ATOMS id type x y z fx fy fz -1 1 12.1247 28.092 22.2745 44.3296 17.0725 48.5356 -2 2 12.4974 28.7565 22.854 -24.598 -41.7029 -32.885 -3 2 11.5314 28.5784 21.7021 -26.0334 10.24 -23.1056 -4 1 1.17081 29.3781 23.7307 -74.0189 -7.00332 56.5394 -5 2 1.86259 29.4619 23.0745 28.6874 -4.77355 -53.1747 -6 2 0.455888 28.9379 23.2709 28.8474 14.4006 -7.70694 -7 1 29.6824 14.7369 21.6275 -6.84135 -10.4682 -14.9806 -8 2 30.5192 14.9459 21.2125 -6.0991 2.52794 20.3786 -9 2 29.7669 15.072 22.5202 13.979 5.65532 2.32707 -10 1 10.8733 7.00191 35.1099 71.1535 29.5945 64.996 -11 2 11.0641 6.25389 34.5439 -29.2143 -6.46229 -20.2952 -12 2 9.99418 7.27965 34.8524 -52.7015 -16.0671 -37.9354 -13 1 9.46552 6.437 19.7997 85.2674 -39.8413 10.9994 -14 2 9.09748 6.31006 18.9252 -72.8621 17.4338 -56.4264 -15 2 10.2738 5.92429 19.7966 -6.89627 25.8832 52.2923 -16 1 3.17887 29.6978 22.1201 11.0669 36.9603 2.15921 -17 2 3.20092 30.5775 21.7434 1.96842 -53.5324 1.10468 -18 2 3.38088 29.1173 21.3863 -1.13041 18.9593 -2.63733 -19 1 23.3853 11.3001 30.7823 -23.52 11.4998 -1.78141 -20 2 23.7233 10.5129 31.2094 -10.6549 -69.8744 42.1205 -21 2 24.1635 11.7415 30.442 31.685 49.5553 -38.1127 -22 1 11.0372 10.4605 30.1467 -38.6093 -16.0236 -66.6776 -23 2 10.974 11.4059 30.2831 -19.3275 67.6485 -7.84838 -24 2 11.5859 10.1503 30.8671 54.5017 -54.8943 68.1861 -25 1 26.2405 25.4087 21.068 -56.1074 83.4996 53.8252 -26 2 25.6867 26.079 21.4683 35.5039 -49.8834 28.2082 -27 2 26.1991 25.5923 20.1295 25.5629 -23.0759 -81.8338 -28 1 10.8412 35.3391 19.7844 2.25797 -26.5412 -45.6254 -29 2 10.2354 0.4972 19.4561 -48.2648 70.871 28.539 -30 2 11.0286 34.7886 19.024 33.3135 -41.853 25.3389 -31 1 20.0736 4.95841 33.6228 -61.0677 -13.7236 -95.3328 -32 2 19.8087 5.82724 33.9249 54.506 -38.052 50.8578 -33 2 20.6504 4.63009 34.3126 1.15025 57.2924 50.6838 -34 1 12.4393 28.5674 17.3981 33.9775 120.605 -49.4783 -35 2 12.7582 27.993 18.0943 -64.8698 -62.097 -14.4475 -36 2 11.6784 28.1105 17.0396 32.2849 -56.3428 67.7286 -37 1 14.8039 7.14276 1.42142 -7.78991 -28.0947 -44.4196 -38 2 14.8296 6.67781 0.58511 21.988 19.6957 -0.20597 -39 2 14.1583 6.66478 1.94198 -16.8612 -0.635684 46.5116 -40 1 15.8789 22.1828 24.1349 44.729 6.0878 18.5114 -41 2 16.0034 22.7047 23.3423 9.45233 -5.41322 19.0748 -42 2 16.6757 22.3276 24.6452 -62.1564 -2.11365 -46.4012 -43 1 13.2926 18.3041 12.3718 -21.6321 35.4491 -10.1185 -44 2 12.5784 18.6431 12.9115 9.10165 -10.6191 6.40125 -45 2 13.218 18.7831 11.5465 14.7856 -26.5319 15.1201 -46 1 20.2739 23.9416 15.503 27.5133 -80.7739 21.5233 -47 2 20.1962 24.62 14.8322 -14.4264 75.5043 -48.974 -48 2 20.6056 23.1764 15.0333 -10.3055 9.55818 35.1212 -49 1 30.1029 10.7821 14.2432 -141.04 -58.2559 25.7885 -50 2 29.4054 10.9741 13.6165 73.7261 15.4355 6.52542 -51 2 29.6831 10.2399 14.911 75.3093 38.8314 -27.5838 -52 1 19.7156 12.9895 25.4049 25.1117 -7.00757 -10.1087 -53 2 20.1589 13.3425 26.1764 19.8361 12.6508 10.0706 -54 2 18.8028 12.8923 25.6761 -46.6998 -11.9636 -2.64236 -55 1 4.22446 18.9933 32.6299 -12.2623 -33.6491 -3.58742 -56 2 4.01977 18.2262 32.0951 -0.65906 11.4759 13.4292 -57 2 3.40273 19.4824 32.6724 -7.13172 6.03869 -1.39336 -58 1 17.6728 30.8673 34.87 42.8216 130.59 -162.103 -59 2 17.2252 31.7134 34.8674 13.8991 -74.4356 51.5196 -60 2 18.1499 30.8456 34.0405 -35.2142 -46.045 103.968 -61 1 7.49176 27.8412 34.6561 -8.38477 -4.69264 -29.7059 -62 2 7.38276 27.3655 33.8327 3.64633 13.1076 44.1915 -63 2 7.82071 27.1851 35.2706 1.95624 -6.65514 -3.58729 -64 1 9.58253 8.75799 28.3877 116.709 -125.981 52.5075 -65 2 8.92109 8.98732 27.7349 -83.0107 68.6483 -51.5114 -66 2 9.58418 9.49606 28.9972 -27.4509 50.7129 1.40082 -67 1 18.1554 7.97905 4.0298 47.2833 37.721 -106.65 -68 2 17.6432 8.00694 3.22162 21.7418 4.14945 19.095 -69 2 17.5569 7.61234 4.68067 -67.2893 -44.6283 76.9492 -70 1 13.4544 10.3013 21.9454 112.071 76.0432 -129.691 -71 2 14.0936 10.9988 21.8003 -80.2192 -86.4066 17.6862 -72 2 13.1932 10.4017 22.8608 -32.0643 14.779 114.996 -73 1 28.7733 1.83557 6.23648 -33.7442 -50.1324 141.754 -74 2 29.5164 1.24498 6.11254 72.8233 -15.8851 -85.3405 -75 2 28.4822 1.6701 7.1332 -43.058 63.9581 -50.3394 -76 1 21.1742 3.00831 4.56194 0.158124 109.891 -61.1284 -77 2 21.0127 3.00272 5.5054 -3.77625 0.15944 20.7409 -78 2 21.1677 3.93514 4.32281 -4.10082 -117.387 36.7397 -79 1 15.8627 20.7772 10.347 -10.8751 -6.77505 -87.4378 -80 2 15.8439 20.002 10.9082 2.07226 -35.7907 75.1733 -81 2 15.7698 20.4328 9.45877 3.69478 48.5508 14.319 -82 1 19.3725 6.41188 28.333 42.8955 -47.4225 -74.3718 -83 2 19.8486 6.19566 27.5312 -2.00587 -66.9261 16.8146 -84 2 19.262 7.36203 28.2977 -43.4222 115.62 57.3684 -85 1 19.6982 26.8019 22.5666 -77.4398 127.696 -35.8514 -86 2 20.4868 26.5238 22.1007 51.2918 -45.295 0.540468 -87 2 19.5656 26.1306 23.236 21.0243 -78.6205 45.4993 -88 1 10.4486 1.95811 4.23832 63.567 40.254 14.5292 -89 2 10.9951 1.54351 4.90589 -28.1495 10.7305 -27.3413 -90 2 10.8566 2.81117 4.08991 -18.7034 -31.7241 3.15415 -91 1 6.35427 29.1963 23.1793 -29.2287 -97.5878 12.9355 -92 2 5.55633 29.6696 23.4149 55.5736 43.5447 -24.9518 -93 2 6.95717 29.8766 22.8795 -35.247 50.4619 7.95578 -94 1 27.7028 33.6383 1.45462 36.6631 -4.41182 91.5502 -95 2 27.4855 34.5223 1.7505 12.7995 -35.9533 -4.41385 -96 2 28.2115 33.2629 2.17332 -48.0369 41.4416 -65.6927 -97 1 34.5416 25.9073 10.9736 -19.1062 -56.3751 83.5104 -98 2 34.2864 25.1281 10.4796 8.74626 32.4951 -24.3485 -99 2 34.7285 26.5654 10.3041 1.15796 20.488 -60.0485 -100 1 35.1366 10.3525 32.754 -9.9115 27.9412 -47.5072 -101 2 35.323 9.88429 31.9401 -1.21323 0.173058 45.894 -102 2 35.4066 9.74832 33.4456 11.7906 -25.9937 -4.14432 -103 1 19.4561 25.2295 13.0696 -34.7922 43.4863 20.8002 -104 2 18.6651 25.749 12.9256 44.3512 -42.029 -2.37612 -105 2 19.5339 24.6879 12.2842 -8.2881 -3.31681 -21.2962 -106 1 8.76547 34.6063 24.2016 7.52675 9.11202 41.274 -107 2 9.5024 34.687 24.8071 -2.7471 26.6092 61.1862 -108 2 9.1379 34.1896 23.4245 -16.1122 -29.9152 -90.1805 -109 1 18.5215 34.0034 24.7629 -74.498 64.9847 76.1986 -110 2 19.4506 33.8539 24.5878 58.0195 -31.5722 -39.0073 -111 2 18.0656 33.4544 24.1249 7.42357 -27.6015 -32.0517 -112 1 5.46886 16.7558 12.093 -17.0969 53.0014 -84.6821 -113 2 5.21531 17.6489 11.8601 5.11263 -40.4739 -3.81505 -114 2 5.63533 16.7914 13.035 16.0052 -14.0188 86.0212 -115 1 26.781 26.5431 35.171 -28.5043 23.0849 6.25217 -116 2 27.3832 26.8853 0.384541 9.51793 -6.79118 0.854316 -117 2 27.1949 25.7365 34.8639 10.5636 -6.94813 2.07456 -118 1 14.042 15.2722 12.4152 -6.98046 5.31304 -41.3336 -119 2 14.3635 15.7719 13.1656 10.4373 16.2949 7.19166 -120 2 14.3154 15.7819 11.6525 -7.62897 -16.9701 33.4178 -121 1 6.75572 6.34761 6.04904 -14.913 -114.378 50.8323 -122 2 7.52382 5.77889 6.1022 89.7723 50.1259 -42.1802 -123 2 6.04245 5.82212 6.41148 -76.7731 69.3424 -2.39869 -124 1 10.8653 34.9299 25.9813 -12.691 35.3986 86.5855 -125 2 10.7304 35.3349 26.838 6.78153 -45.5644 -81.4521 -126 2 11.5626 35.4473 25.5784 9.92948 4.856 -7.07708 -127 1 18.3449 30.5117 26.2753 -103.107 -57.9301 72.3714 -128 2 18.0864 30.3259 25.3725 26.7237 15.8486 -29.6445 -129 2 19.1377 31.0419 26.1936 65.5933 39.9704 -39.8997 -130 1 13.1854 0.779973 20.6243 81.3777 12.0416 59.4967 -131 2 13.4027 0.553288 21.5285 14.4341 14.3149 -18.5238 -132 2 12.3296 0.377931 20.4752 -83.0606 -29.5325 -38.428 -133 1 24.4788 24.0591 28.2097 -118.912 -31.1893 -55.4725 -134 2 24.1351 23.1975 27.9733 62.8124 16.5818 27.6012 -135 2 23.752 24.6603 28.0467 42.8457 25.2665 21.0462 -136 1 30.7914 15.3383 34.8666 -36.8734 -27.4228 -38.7829 -137 2 31.1297 15.2985 0.314002 43.4745 5.19776 74.1708 -138 2 30.0192 14.7728 34.8767 -3.99114 4.82244 -19.2854 -139 1 18.3088 19.7692 34.2383 43.6473 -35.1725 -56.0785 -140 2 17.808 20.1629 33.5238 -92.1196 74.2998 -2.9096 -141 2 19.0026 19.2752 33.8013 48.8682 -37.2392 66.2367 -142 1 24.189 16.2105 25.5385 -0.181209 -16.6726 59.0143 -143 2 24.349 17.1409 25.3808 2.42437 26.5156 -15.3934 -144 2 24.2607 16.1121 26.488 -2.83765 -5.75982 -36.6239 -145 1 9.29124 8.02555 32.2386 2.48948 -29.6534 -24.8342 -146 2 10.2134 7.8576 32.4327 31.8036 20.4105 17.0655 -147 2 9.01097 7.26542 31.7288 -26.4691 14.1164 -4.4899 -148 1 5.33072 1.15323 27.6455 -99.5241 -60.3872 -16.82 -149 2 4.53119 0.648193 27.4974 81.2369 20.6794 11.1662 -150 2 5.02358 2.04221 27.8233 17.4124 37.2156 9.91232 -151 1 22.8986 21.3393 11.6393 28.1132 127.743 73.0574 -152 2 23.2137 20.533 12.0479 33.0241 -93.8932 48.8254 -153 2 22.4644 21.0481 10.8374 -63.9384 -44.2191 -122.295 -154 1 16.8853 32.6084 23.1632 -40.2231 21.2143 -13.5481 -155 2 15.9412 32.7546 23.1043 69.618 -40.0453 12.4309 -156 2 16.9707 31.688 23.4119 -32.3722 12.1186 -5.38012 -157 1 29.2445 7.09638 23.7072 -1.12957 -3.65594 21.0543 -158 2 28.5132 7.5433 24.1336 40.6101 12.7753 -56.5041 -159 2 29.5003 7.68133 22.9941 -50.5075 13.9556 40.0132 -160 1 34.2995 6.85607 2.08221 -41.6067 85.9705 -42.0765 -161 2 34.928 6.93053 1.36409 61.0147 -50.7124 -15.7023 -162 2 33.7562 7.64071 2.00804 -26.0889 -31.781 52.5771 -163 1 32.9538 29.2697 19.2601 25.0772 4.67584 -9.25793 -164 2 32.6162 28.3947 19.4512 6.09507 -0.239467 -8.85929 -165 2 33.629 29.1269 18.5967 -36.3898 0.969014 34.9175 -166 1 9.782 33.7315 21.9679 23.6304 -12.3053 113.32 -167 2 9.27554 33.1646 21.3863 28.7547 58.3849 -65.0641 -168 2 10.1185 34.422 21.3969 -43.9505 -45.3547 -65.3708 -169 1 7.86172 6.97535 8.72743 5.31026 117.758 1.6484 -170 2 8.12672 6.10163 9.01491 -17.4208 -76.0839 -8.70951 -171 2 7.18636 6.81647 8.06797 4.22171 -49.2367 4.72701 -172 1 34.2523 27.8162 31.7928 4.42728 37.1672 22.9422 -173 2 34.6656 28.5971 31.4245 -22.2446 -26.6653 23.5366 -174 2 33.7864 28.1334 32.5665 26.7616 -2.81452 -43.2471 -175 1 34.9408 26.8493 19.5207 -40.8253 20.186 -15.7627 -176 2 35.3567 26.0213 19.7607 47.8518 -45.0982 20.9735 -177 2 34.1941 26.5945 18.9786 -19.8359 20.7404 -9.04553 -178 1 21.7634 32.2052 20.8913 40.2319 -7.57914 11.5032 -179 2 22.6356 31.8785 21.1119 -61.4458 48.6587 -12.7466 -180 2 21.8052 33.1438 21.0744 21.6291 -41.0188 -1.29321 -181 1 34.3069 3.4369 14.2416 11.8825 -4.17747 -6.06276 -182 2 34.8955 2.86956 13.7437 -6.07372 58.069 42.8805 -183 2 34.8876 4.05554 14.6847 0.534158 -52.3872 -36.6293 -184 1 17.8805 18.9098 14.4214 18.2247 4.88776 64.045 -185 2 17.9548 18.9993 15.3715 -42.8043 -30.1627 -8.62782 -186 2 18.5763 19.4669 14.0726 32.4897 21.6255 -64.6188 -187 1 19.084 14.23 20.7836 110.796 -60.9746 98.9936 -188 2 19.5859 13.8071 21.4803 -40.7047 88.2745 -62.4523 -189 2 18.6613 13.5073 20.3196 -48.7232 -31.1271 -64.9364 -190 1 7.86003 17.978 9.48229 -28.237 73.4846 14.5895 -191 2 7.53996 18.808 9.12874 -16.2898 29.8858 41.7847 -192 2 8.10073 17.4653 8.71064 41.8456 -98.8301 -50.6458 -193 1 0.304617 23.1831 0.38096 -78.3927 60.1352 -2.29358 -194 2 35.3295 24.0104 0.390698 61.0788 -8.89985 -2.77166 -195 2 35.1318 22.5097 0.420236 19.2727 -54.2865 -4.32405 -196 1 4.53589 21.216 29.8616 25.0598 -50.3298 37.7541 -197 2 5.09258 21.9865 29.7486 12.5883 75.9238 -33.6575 -198 2 5.02947 20.648 30.4532 -34.5266 -23.3977 -2.20192 -199 1 3.76258 1.66522 34.1156 20.1869 41.1278 62.7052 -200 2 4.69217 1.8395 33.9682 1.88904 -6.47658 -21.3021 -201 2 3.6079 1.93725 35.0202 -13.7483 -26.962 -46.3795 -202 1 35.18 34.703 7.53061 -5.65508 -102.057 61.1201 -203 2 34.2674 34.45 7.391 73.3918 -0.541703 20.1152 -204 2 0.039622 33.9969 8.06332 -71.5895 97.8188 -77.7579 -205 1 24.8192 8.21475 16.0928 43.6176 5.27942 48.1074 -206 2 25.5443 8.83016 15.9844 -25.7863 -9.11079 -14.9001 -207 2 25.0356 7.7264 16.8871 -28.0524 3.85964 -38.3966 -208 1 4.18203 28.528 29.7088 41.5799 -18.4054 9.76833 -209 2 5.08976 28.4127 29.9899 -13.4909 -11.6805 29.9384 -210 2 4.2439 29.0359 28.8999 -35.7908 29.3683 -45.3609 -211 1 26.4364 31.2732 3.91789 49.4594 16.1792 -4.09451 -212 2 26.5539 30.6091 3.23869 -23.3814 -19.6039 -7.625 -213 2 27.2972 31.6828 4.00459 -24.6028 4.5394 12.5465 -214 1 35.1129 7.70441 27.0798 21.9105 0.565462 41.1714 -215 2 35.1479 7.37061 27.9763 -25.8854 -2.87034 -84.2074 -216 2 34.5635 7.07612 26.6111 6.2251 -2.52059 38.5326 -217 1 21.4537 34.0564 2.90079 44.0394 20.1673 12.9283 -218 2 21.0733 33.794 3.73906 24.8882 24.4222 -24.099 -219 2 22.2378 34.5516 3.13761 -65.8204 -38.3052 7.28173 -220 1 31.2126 3.31209 25.8037 -39.5059 178.463 71.9614 -221 2 30.7527 4.00258 25.3262 19.1009 -84.3985 -20.4576 -222 2 31.4851 3.72687 26.6222 8.64932 -86.8097 -50.8943 -223 1 7.37047 1.049 25.8311 -34.6037 -105.976 -17.3001 -224 2 7.45985 0.254776 25.3043 30.7853 56.4536 3.7687 -225 2 6.67901 0.843187 26.4602 5.83672 41.2452 14.0228 -226 1 30.3443 6.0935 15.7346 29.0103 -50.3202 57.2757 -227 2 30.8577 5.55742 15.1302 -17.0625 19.1427 11.7234 -228 2 30.4383 5.6573 16.5814 -13.6217 36.2093 -68.8758 -229 1 34.9406 25.1535 32.0359 -53.0762 -30.1649 90.3946 -230 2 34.6475 24.6313 32.7827 26.3961 117.066 -102.702 -231 2 34.5757 26.0242 32.1941 15.1417 -80.1978 19.5365 -232 1 0.486827 26.4103 7.95722 124.875 -85.7052 40.59 -233 2 35.2606 26.1137 7.41716 -79.3455 0.456501 -47.345 -234 2 0.316061 27.3408 8.10317 -44.4252 80.7273 0.713515 -235 1 28.5546 15.8348 29.5308 66.8025 41.4978 -5.89079 -236 2 28.4016 16.7769 29.603 -5.5961 -48.4331 0.809848 -237 2 29.4774 15.7595 29.2877 -69.7011 1.65452 15.1976 -238 1 18.1482 14.6895 4.78996 8.00082 -70.2306 -11.2 -239 2 18.482 15.5072 5.15915 48.1651 77.4657 47.0685 -240 2 17.3317 14.9376 4.35647 -49.4963 -7.10304 -29.2879 -241 1 23.9882 17.7998 4.00135 20.3949 74.3027 21.119 -242 2 24.8648 17.7641 3.61845 -68.5798 -57.8839 7.89019 -243 2 23.6128 16.9377 3.82215 51.9494 -25.0455 -30.3431 -244 1 27.7862 18.3989 29.8265 -63.6581 -49.8202 70.1486 -245 2 27.1292 18.9462 30.2565 -7.75297 -4.80631 2.21132 -246 2 28.306 19.0119 29.3064 63.0177 59.3949 -62.3275 -247 1 32.5582 20.9927 23.1604 38.3772 -15.0773 -39.4729 -248 2 33.1231 20.5952 22.4977 6.98637 -51.1748 14.5939 -249 2 32.4888 21.9104 22.8973 -35.7752 58.1314 21.5966 -250 1 0.528608 10.6878 20.5129 -45.1825 -91.6801 -43.9594 -251 2 35.2342 10.7282 21.0358 48.3923 39.2871 -3.51685 -252 2 1.04905 11.433 20.8129 -6.60051 50.7162 44.2546 -253 1 24.9866 7.82749 20.9415 -6.60822 19.7581 -51.3802 -254 2 25.8535 7.95815 20.5572 -4.03983 -7.49698 19.0213 -255 2 24.377 8.11853 20.2633 16.7624 -16.0334 39.3525 -256 1 22.843 20.1255 4.77966 -5.35193 8.30823 7.63631 -257 2 23.2394 19.2562 4.83915 6.63705 -10.0641 -1.45143 -258 2 23.5621 20.6995 4.51581 -2.434 -0.970204 -5.47414 -259 1 33.5356 10.0152 10.4555 12.5933 37.9752 -122.351 -260 2 32.8766 9.38348 10.7435 50.3779 9.66049 78.5068 -261 2 34.0545 10.1949 11.2395 -59.5617 -58.0541 41.63 -262 1 16.0063 10.0182 6.93569 -102.376 -18.2949 26.802 -263 2 16.3601 10.7312 6.40402 19.5437 35.7976 -25.6892 -264 2 15.0648 10.1875 6.96843 82.7652 -14.9595 0.289532 -265 1 29.8113 30.3232 24.406 -23.7178 98.4642 -3.14443 -266 2 29.922 30.0038 25.3015 12.0233 -11.0747 81.5559 -267 2 29.9367 29.5487 23.8577 11.5541 -81.6359 -77.4595 -268 1 4.63644 9.89466 32.0912 120.797 -9.32754 65.1128 -269 2 4.05974 9.6844 31.3567 -76.1477 -19.9134 -84.1071 -270 2 5.44173 9.40979 31.9105 -48.0989 32.1609 19.6015 -271 1 32.8568 18.7926 15.2635 -51.2923 14.5456 -75.9336 -272 2 33.0922 17.9405 15.6308 24.7186 -23.8985 32.9854 -273 2 33.3873 19.4203 15.7543 39.5623 6.46069 40.5207 -274 1 0.620035 7.9515 15.2532 -143.122 -14.9926 129.979 -275 2 0.0510458 7.86056 16.0175 123.296 5.69832 -56.917 -276 2 35.5239 8.03812 14.5144 24.9711 5.12758 -70.7027 -277 1 2.41065 1.86754 23.9447 -40.4756 105.488 -9.40925 -278 2 2.47755 1.8148 22.9913 11.2521 -33.4133 32.9604 -279 2 2.77411 1.03892 24.257 34.231 -72.5424 -13.211 -280 1 35.1326 4.79391 16.9146 106.68 -42.9244 -68.6416 -281 2 34.777 5.68071 16.8566 -63.4326 2.62601 40.6823 -282 2 34.4928 4.31261 17.4393 -62.593 37.258 23.7005 -283 1 0.971748 31.0445 15.1789 76.4355 -14.7966 -16.0432 -284 2 35.5565 31.2671 15.3104 -50.0812 0.95173 26.557 -285 2 1.19513 30.494 15.9294 -27.3807 17.0655 -11.5771 -286 1 2.20035 4.72159 17.0276 47.0668 39.7929 17.8805 -287 2 2.33908 5.61694 17.3364 61.7702 15.4537 12.3053 -288 2 1.25717 4.66382 16.8749 -87.1196 -55.0563 -28.2108 -289 1 11.3254 9.4347 18.2344 11.7976 -10.4379 24.5317 -290 2 11.3164 9.66372 17.3051 -25.075 5.1143 3.69917 -291 2 10.4471 9.65542 18.5445 7.50548 -0.11578 -26.3305 -292 1 1.17591 29.8737 2.3068 -107.463 -153.382 44.0449 -293 2 0.828878 30.5377 1.71103 86.6769 59.3349 7.20169 -294 2 2.04257 30.1991 2.55023 21.8408 99.5657 -50.7846 -295 1 30.8956 1.46771 1.98014 -75.339 129.725 59.4699 -296 2 31.6312 1.00728 2.38406 42.7946 -65.7909 -19.7995 -297 2 30.7103 0.971315 1.18295 34.3845 -56.7708 -28.112 -298 1 5.03388 1.93986 10.3156 40.2198 -8.9614 79.105 -299 2 4.31666 1.9889 10.9476 -10.0479 4.93042 54.0974 -300 2 4.60913 2.03307 9.4629 -17.7046 6.17047 -105.855 -301 1 12.089 2.71992 8.77078 -0.44395 146.49 0.351241 -302 2 11.7554 3.02262 9.61538 -27.0699 -84.9299 99.2585 -303 2 12.2005 3.51938 8.2563 39.3597 -64.2996 -86.5592 -304 1 33.0148 6.97463 32.6982 59.5937 11.0476 -7.192 -305 2 32.3935 6.99179 31.9702 -72.4361 0.276944 -27.2154 -306 2 33.8723 7.07198 32.2842 7.82339 -9.57214 40.7648 -307 1 24.198 6.71447 6.6216 35.4711 -61.6312 -34.9 -308 2 24.4396 5.98182 6.05494 -3.14269 40.3724 37.7002 -309 2 23.3814 7.04694 6.24897 -29.5513 22.2993 -1.9748 -310 1 11.2072 33.6597 13.7404 -90.0765 -14.1081 5.97921 -311 2 11.1307 33.961 12.8351 58.6471 -3.82007 33.6458 -312 2 12.1269 33.8025 13.9641 27.3421 17.4136 -46.6304 -313 1 9.04559 20.2483 13.1334 -12.3327 118.563 28.8468 -314 2 8.84419 19.4861 13.6763 14.5411 -47.5289 -57.295 -315 2 9.26221 19.8818 12.2761 -9.75541 -75.679 25.6173 -316 1 8.42923 16.2958 7.43331 124.073 -42.0451 -52.7424 -317 2 9.13467 15.7129 7.15261 -46.0416 66.5848 23.4621 -318 2 7.69911 15.71 7.63334 -74.6834 -28.5133 18.2854 -319 1 8.18104 30.9568 14.0723 -133.551 72.597 -7.443 -320 2 7.61271 30.5196 14.7065 49.0629 -6.08976 -18.3683 -321 2 7.66595 31.7014 13.7617 83.6323 -69.5569 10.9112 -322 1 17.7645 27.7213 30.1781 51.9341 -123.736 -74.5055 -323 2 17.6426 28.6085 29.84 -29.2491 52.2985 53.3968 -324 2 17.4532 27.7641 31.0823 -27.5855 68.413 26.443 -325 1 17.4568 25.8552 16.7827 154.473 -58.3036 63.0945 -326 2 18.0215 26.5675 17.0825 -59.5731 -25.912 -28.4384 -327 2 17.9731 25.0623 16.9277 -97.2115 84.5361 -31.6402 -328 1 28.6 12.4539 18.305 6.49159 -106.916 62.1566 -329 2 28.8491 12.5384 17.3846 0.679384 33.4404 -47.7569 -330 2 28.3481 13.3392 18.5677 -11.5062 71.0539 -6.87848 -331 1 20.0399 19.6067 21.614 3.01922 17.046 38.0965 -332 2 19.2616 19.3948 22.1295 -54.7351 -40.0747 -11.8341 -333 2 20.5158 20.2426 22.1483 33.955 6.52502 -34.0655 -334 1 24.4307 31.0807 15.275 23.5122 -14.3992 -27.9385 -335 2 24.6303 31.0822 14.3389 -51.3969 23.1188 70.6773 -336 2 23.6561 31.6372 15.3562 21.8003 -10.0533 -44.1874 -337 1 14.0344 4.28348 28.231 58.5623 -7.93259 -45.5328 -338 2 13.7612 5.01885 27.6826 -51.1202 45.9101 7.95334 -339 2 14.7762 3.89853 27.7643 -10.9784 -32.6367 41.9163 -340 1 3.18854 1.92069 1.25146 -20.104 97.423 -144.691 -341 2 3.9078 2.01521 1.87594 -44.2109 -69.4343 59.7438 -342 2 2.6209 1.25404 1.63827 62.3149 -16.3633 79.9835 -343 1 22.5438 23.6026 9.4683 -87.252 -6.22256 -36.4821 -344 2 22.8416 22.8247 8.99672 14.7837 -22.9257 -12.1197 -345 2 23.3332 23.947 9.886 82.1846 37.0176 42.2679 -346 1 6.44607 3.02132 18.876 78.7812 47.2181 -22.7118 -347 2 5.96158 2.75632 19.6579 -41.5365 -23.3135 99.9642 -348 2 5.92777 2.68238 18.1461 -36.0119 -20.5394 -78.3414 -349 1 12.3169 10.9432 26.1829 -5.08656 -28.0125 43.4747 -350 2 11.8078 11.5545 26.7152 16.3468 -20.8769 -15.1568 -351 2 12.4989 10.2086 26.769 -4.79142 30.8135 -20.3199 -352 1 8.93682 1.70871 18.8141 -58.6924 9.95536 -22.4594 -353 2 9.38413 2.41209 19.2847 65.4522 22.7208 33.2048 -354 2 8.08246 2.07653 18.5882 -7.64927 -33.5054 -10.5631 -355 1 2.23471 20.2183 0.676125 -163.761 -2.13057 -62.3142 -356 2 1.94055 19.3844 0.309555 79.6101 -58.4522 18.6978 -357 2 1.49985 20.8152 0.534791 75.9203 50.0528 46.035 -358 1 32.3471 18.1361 22.3814 33.0839 -23.5078 39.0562 -359 2 31.7985 18.8718 22.6535 -58.2719 59.1757 -20.3121 -360 2 32.8137 17.8777 23.1762 25.448 -34.6631 -15.3604 -361 1 20.2462 32.095 18.494 -44.3344 3.0311 -25.3448 -362 2 19.4254 32.5546 18.6705 65.2391 -20.7042 28.631 -363 2 20.7682 32.2231 19.286 -36.9082 18.5041 12.5029 -364 1 32.4443 13.4841 19.5474 -10.9594 -49.1601 -73.407 -365 2 32.4715 14.2622 20.1041 -32.1411 15.5405 -66.0445 -366 2 32.0113 13.7776 18.7457 38.6789 32.0174 122.655 -367 1 35.2662 18.2165 1.39492 32.4568 25.5004 34.1354 -368 2 0.0781831 18.3756 2.28352 14.7457 5.48261 -32.5375 -369 2 34.5289 17.6166 1.50792 -53.602 -35.4773 -19.5135 -370 1 3.39321 26.4378 7.35976 -132.051 -84.8389 -66.0548 -371 2 2.46301 26.3969 7.5818 68.4405 43.1117 36.9187 -372 2 3.47809 25.8893 6.57987 64.6112 37.2069 30.8245 -373 1 15.9473 21.7571 15.7717 80.2477 37.3872 97.4646 -374 2 16.5322 22.1216 15.1074 -34.0919 -18.5258 -16.5313 -375 2 15.2781 21.2896 15.2718 -24.9871 -11.8194 -70.5596 -376 1 20.4938 23.5717 7.41159 50.8193 20.4004 68.0395 -377 2 19.762 23.467 8.01969 -37.5397 -16.3792 -20.7314 -378 2 21.2331 23.8203 7.96634 -4.87661 -6.30441 -49.9873 -379 1 6.64522 4.33607 1.9108 -89.8952 -38.2359 -27.7463 -380 2 6.3417 4.912 1.20907 37.8968 -2.82108 23.7595 -381 2 7.47689 4.71773 2.1917 37.5115 41.0863 -6.03177 -382 1 26.7061 32.8934 9.88993 -46.2541 34.8766 -56.947 -383 2 26.6289 31.9395 9.9114 27.757 8.92786 33.4513 -384 2 27.3372 33.0987 10.5797 20.6789 -38.3521 25.8477 -385 1 5.48762 32.6298 12.9312 90.8528 -39.6573 -57.829 -386 2 5.6899 33.4572 13.3679 -41.8708 9.12524 24.0689 -387 2 4.57656 32.4516 13.1646 -41.376 32.1412 34.7119 -388 1 3.37037 5.95494 9.99259 -73.6018 1.37215 -95.8919 -389 2 3.97871 6.51332 10.4767 56.43 33.8593 55.7786 -390 2 3.42291 5.10584 10.4314 15.7429 -37.8924 39.7238 -391 1 2.63508 9.37827 30.0091 21.121 18.2333 -26.021 -392 2 2.77034 9.84765 29.1859 -49.0229 -52.7445 61.9651 -393 2 1.72909 9.07251 29.965 32.3238 35.317 -35.2681 -394 1 0.977609 8.01621 8.99919 -111.563 -11.1128 68.7844 -395 2 1.80768 8.15617 8.54352 75.3304 32.5143 -57.4543 -396 2 0.443131 8.77422 8.76255 38.9877 -26.0165 -8.7021 -397 1 2.73739 11.5303 15.3858 -0.442878 -61.1168 -47.9938 -398 2 3.53085 11.7961 15.8506 80.7975 102.272 87.973 -399 2 2.95627 10.6803 15.004 -64.613 -35.0083 -44.0725 -400 1 18.3556 23.1694 17.3713 -20.4775 -22.0644 -13.6739 -401 2 17.8315 22.4691 16.9827 50.8265 45.4387 -4.75072 -402 2 19.0225 23.3638 16.7128 -39.801 -33.8349 4.72978 -403 1 9.12975 4.89663 5.72344 95.4048 128.979 43.9469 -404 2 9.74879 5.58115 5.97734 -92.9449 -70.912 -48.2661 -405 2 9.47026 4.10122 6.13285 -2.30589 -59.3782 14.5398 -406 1 7.31487 35.3513 12.8636 -53.7009 10.8717 -37.9202 -407 2 7.73273 35.1803 13.7076 3.88322 -3.06639 44.3497 -408 2 6.41171 0.0723024 13.0846 65.4322 -13.1168 3.70361 -409 1 0.521146 24.4006 19.6652 23.4031 31.7994 89.2139 -410 2 0.81366 23.586 20.0739 -16.8799 22.5984 -36.8923 -411 2 0.269965 24.1469 18.7771 -16.5335 -39.5627 -65.1023 -412 1 11.6427 23.42 11.5287 41.9603 -80.4573 -53.5971 -413 2 12.5664 23.6709 11.5231 -57.7336 33.5005 25.4825 -414 2 11.2049 24.1268 12.0031 30.9178 34.3145 7.24893 -415 1 3.45754 3.18434 19.1296 -0.791523 -195.631 19.4209 -416 2 3.14656 3.75098 18.4236 -39.9981 101.254 -92.2787 -417 2 3.78767 3.78858 19.7945 39.2864 99.8256 68.2361 -418 1 20.6324 31.64 26.8937 -50.896 -88.2509 -36.3265 -419 2 21.2188 31.7854 26.1513 29.9033 0.455118 -37.7432 -420 2 20.8442 32.3427 27.5082 29.1877 97.6429 84.8576 -421 1 27.8733 20.3289 9.33363 33.4251 35.6949 -34.4631 -422 2 27.043 20.7293 9.07542 -1.36718 -21.0707 18.556 -423 2 27.6306 19.674 9.98818 -35.5326 -16.8023 19.2559 -424 1 31.2911 11.9345 0.401079 -0.669509 -1.5057 14.1636 -425 2 31.3346 12.033 1.35222 66.4446 3.47246 60.5543 -426 2 30.3556 11.9582 0.199844 -70.6666 -5.75203 -80.5383 -427 1 21.3945 7.42481 2.71765 40.4438 -7.61201 -28.0919 -428 2 22.2268 6.9521 2.71221 -74.2935 29.919 30.902 -429 2 21.0664 7.32279 3.61106 25.307 -16.9995 -1.99737 -430 1 20.0198 19.5365 17.1659 77.726 3.43199 -2.6656 -431 2 19.0718 19.4551 17.0617 -101.912 -24.19 -30.1089 -432 2 20.1298 20.0787 17.9471 30.6105 23.147 30.7171 -433 1 3.61397 34.6745 24.7218 -109.308 14.9079 63.5267 -434 2 3.62587 34.539 25.6693 57.4424 8.28404 -116.419 -435 2 4.52288 34.5476 24.4497 49.8739 -17.5674 50.3328 -436 1 23.4164 19.5568 18.899 8.1154 -3.76905 8.85423 -437 2 24.0628 19.0481 18.4095 -6.46996 7.58754 -7.80924 -438 2 23.0406 20.1537 18.2519 8.76205 -8.26691 -1.39997 -439 1 13.0197 3.81797 4.39004 -13.751 -29.1759 87.5723 -440 2 13.3658 3.12571 3.82679 28.7745 -69.2024 -39.3079 -441 2 12.942 4.57905 3.81474 -11.8278 86.2159 -47.0621 -442 1 15.2845 28.3697 13.0717 -95.1139 -12.2299 -48.7565 -443 2 15.6975 28.8397 12.3473 54.9125 27.8223 -4.42333 -444 2 14.4265 28.1135 12.7335 32.4002 -8.41115 55.0494 -445 1 31.0729 4.63924 29.6443 -6.76117 59.7208 11.8063 -446 2 30.905 5.34935 30.2638 16.8108 -48.7851 -51.7218 -447 2 31.2708 5.08233 28.8192 2.74051 -14.2359 41.6695 -448 1 18.6697 22.7204 9.28188 64.4602 -69.137 86.0174 -449 2 19.3896 22.6437 9.9081 -51.066 36.4415 -57.6202 -450 2 18.234 21.8687 9.31152 -10.0184 22.6509 -21.3654 -451 1 20.6769 4.79527 26.4455 112.125 37.3145 -38.5672 -452 2 21.3077 4.88435 25.731 31.8742 24.8201 47.3011 -453 2 19.9194 4.36867 26.0451 -142.877 -60.5842 -8.85356 -454 1 23.3256 28.5944 34.8758 -49.0897 -75.8034 4.91447 -455 2 22.3798 28.7293 34.8168 -15.7028 66.527 -10.1902 -456 2 23.4249 27.655 35.0304 62.731 20.2169 4.14569 -457 1 19.3044 32.1589 13.0141 -29.5809 23.5704 45.9915 -458 2 18.8311 32.2128 13.8443 -12.7724 -41.1367 6.13506 -459 2 19.7127 33.0189 12.9144 31.6374 4.45258 -49.2538 -460 1 34.7634 20.4998 35.2443 -13.6499 93.575 -4.385 -461 2 34.8055 20.2032 34.3351 5.28093 -46.3307 73.4743 -462 2 34.8943 19.7055 0.314969 7.43231 -45.8009 -53.0403 -463 1 13.9861 1.37234 3.23 -17.3905 76.8784 -30.4277 -464 2 13.6014 0.497041 3.27534 -38.5888 -70.4565 1.30393 -465 2 14.8347 1.28425 3.66407 58.6516 -6.1958 30.8329 -466 1 24.9605 8.59214 8.51438 71.9788 47.2208 45.683 -467 2 24.9432 7.91317 7.83988 -28.7961 -55.0824 -53.6017 -468 2 25.8898 8.71292 8.70958 -43.6741 10.0154 9.12725 -469 1 14.1786 14.8674 29.6201 -55.0628 -68.3241 -6.25569 -470 2 14.4547 13.9914 29.8895 -3.51416 41.8122 -10.9206 -471 2 13.2518 14.7702 29.4012 58.2236 16.0113 13.2021 -472 1 32.4922 9.01235 2.57225 60.3162 55.0596 -15.4453 -473 2 31.9249 8.89765 3.33466 -31.9796 -13.4608 35.4835 -474 2 32.9537 9.83445 2.73797 -18.9102 -40.2828 -15.6205 -475 1 33.4785 32.1769 27.4678 -36.0697 66.285 -128.06 -476 2 33.3593 32.1783 28.4175 33.2141 -61.8531 39.0471 -477 2 34.0456 31.4246 27.2982 -1.20475 -7.74747 75.6765 -478 1 31.0956 6.22277 0.75316 -1.68791 3.1179 22.1487 -479 2 31.59 5.84207 35.4745 1.32683 72.8085 26.2947 -480 2 31.3748 7.13796 0.779867 5.56221 -88.5619 -52.6526 -481 1 14.5717 18.7904 19.0881 -37.3197 3.53263 -16.8672 -482 2 15.4679 18.7544 19.4223 105.341 49.1246 32.5226 -483 2 14.2779 17.8794 19.0906 -69.5095 -56.084 -18.0849 -484 1 34.1233 15.7722 34.7603 -68.787 99.0112 -45.9824 -485 2 34.1397 15.2396 0.108299 16.1175 -69.8001 72.5325 -486 2 33.3672 16.3483 34.8728 50.5399 -25.6276 -28.6308 -487 1 27.185 6.31325 11.1444 -10.152 -29.5811 59.2476 -488 2 27.1779 6.89013 10.3806 5.72129 45.5244 -74.8985 -489 2 26.8382 6.85214 11.8554 9.71853 -16.3633 2.97909 -490 1 11.8433 26.7799 35.2855 30.4022 23.9277 -92.2132 -491 2 11.0199 26.4465 0.194727 -85.2345 -31.5198 31.3192 -492 2 12.4362 26.8075 0.589303 53.1338 2.65929 55.988 -493 1 7.69402 20.7204 27.4987 1.79057 89.8662 -4.7832 -494 2 7.6955 21.6527 27.2816 -8.50029 -21.6446 45.407 -495 2 7.81217 20.278 26.6581 5.64822 -75.2982 -39.207 -496 1 23.5086 8.78525 32.0301 53.7446 137.692 106.931 -497 2 23.271 8.22239 31.2932 -36.2918 -106.054 -11.4029 -498 2 23.3895 8.23251 32.8025 -13.1224 -25.361 -93.2468 -499 1 15.5723 12.9998 12.6022 -61.849 -26.1968 -183.135 -500 2 14.8092 13.5199 12.8541 7.43183 14.6243 36.583 -501 2 15.427 12.7919 11.6792 54.5257 13.4483 130.138 -502 1 11.2985 27.9294 8.6854 23.1152 -19.3718 -75.1387 -503 2 11.6352 27.1258 8.28897 9.67304 -70.3423 49.655 -504 2 11.2946 28.5662 7.97077 -23.8632 81.7385 18.9316 -505 1 15.7586 14.5554 3.4991 -8.20249 -59.9263 -66.7933 -506 2 16.0207 15.0913 2.75059 0.143613 26.6417 14.6013 -507 2 15.6309 13.6797 3.13428 0.262132 39.9968 44.162 -508 1 29.042 26.8837 19.8513 -11.7145 -32.1786 -32.6432 -509 2 28.5771 26.7987 19.0189 7.81062 -10.9956 2.48898 -510 2 28.9565 27.8091 20.0806 0.171708 60.5996 27.2904 -511 1 28.0275 8.84497 0.367598 13.4533 -7.20738 71.0945 -512 2 28.9832 8.89053 0.338066 41.255 8.50518 -59.4352 -513 2 27.8216 8.72304 1.29441 -61.4887 -2.58931 -0.227275 -514 1 32.7498 2.39469 21.0187 -49.2344 157.964 20.5985 -515 2 32.2039 1.60948 20.978 45.7607 -72.66 -9.16697 -516 2 33.6468 2.06698 20.9535 12.2647 -89.4033 -3.91285 -517 1 16.2518 5.40714 30.7296 176.034 127.855 -121.817 -518 2 16.7322 6.23429 30.7652 -114.2 -83.4266 70.7216 -519 2 16.6149 4.95125 29.9702 -71.1617 -39.2645 63.1616 -520 1 28.5774 22.3151 24.2235 126.464 -30.0745 123.215 -521 2 28.6145 23.0449 24.8418 -50.2287 23.9506 -43.3353 -522 2 29.2544 21.7097 24.5259 -73.5696 11.9078 -76.2697 -523 1 31.7128 17.9846 9.79808 -72.66 70.2809 -108.931 -524 2 32.5424 17.6112 10.0956 92.5579 -53.8911 58.0559 -525 2 31.0865 17.7557 10.4849 -12.0469 -16.3097 47.7217 -526 1 28.8218 33.2443 34.5954 11.3632 13.4381 -69.1097 -527 2 28.5344 33.9618 34.0308 8.10746 -33.2748 41.731 -528 2 28.3356 33.3706 35.4102 -7.0575 14.7438 9.60856 -529 1 34.6093 19.7152 32.7136 -58.4991 51.5425 -18.2983 -530 2 34.6152 19.2892 31.8564 16.8286 -21.6165 -3.19767 -531 2 33.942 20.3972 32.6381 48.1976 -38.2016 17.2125 -532 1 17.6954 27.6501 3.21718 -72.6845 1.30547 -51.6073 -533 2 18.4481 27.4622 3.77784 55.1781 20.3748 30.2719 -534 2 17.8188 28.56 2.94674 23.328 -13.2163 21.5928 -535 1 26.6884 34.6209 27.4938 -26.4402 111.109 -39.6184 -536 2 26.4581 35.4305 27.9494 19.1084 -83.1179 -31.4301 -537 2 26.5877 34.831 26.5653 6.42432 -21.2515 52.4499 -538 1 21.336 26.6252 14.5054 -72.5875 57.5812 133.446 -539 2 20.7546 26.1743 13.8931 18.0626 -22.6846 -55.4308 -540 2 22.2041 26.5545 14.1084 58.8894 -36.7423 -77.0296 -541 1 0.364659 14.1659 2.1165 -8.47071 10.3543 -79.6351 -542 2 0.92543 14.6282 1.49353 -29.6648 -24.2212 44.7411 -543 2 35.1633 13.8064 1.5815 28.5989 12.8252 35.2752 -544 1 23.7941 1.57151 23.8153 -152.335 47.9415 -90.6871 -545 2 23.0155 1.15189 24.1813 46.0715 -40.9612 64.2251 -546 2 23.4645 2.09117 23.0822 107.126 -4.74738 25.5915 -547 1 8.54969 33.4626 4.50828 -2.60668 -9.59529 -25.0495 -548 2 9.3287 33.1991 4.01843 -72.4941 13.9234 -2.86505 -549 2 7.84086 33.4335 3.86567 85.5731 -5.94196 31.1338 -550 1 33.9747 22.1753 28.939 -7.01808 59.5677 19.8481 -551 2 33.7668 23.0311 29.3141 32.1904 -88.6827 -59.7482 -552 2 34.5098 22.3737 28.1705 -21.906 19.6801 34.2682 -553 1 14.4946 4.44832 8.81497 97.6551 51.8994 -25.5764 -554 2 14.1684 4.63793 7.93526 -27.8383 -13.0718 5.01487 -555 2 15.3792 4.81378 8.82685 -60.0149 -33.9443 26.3443 -556 1 33.7962 24.0182 9.18382 -16.6703 96.0125 96.0278 -557 2 33.9547 23.1393 8.8394 14.0112 -82.5213 -66.5027 -558 2 33.5743 24.5414 8.41358 6.7603 -26.8866 -14.771 -559 1 16.2286 19.0037 12.2651 5.66163 -11.3285 13.5815 -560 2 16.8898 18.9736 12.9566 -94.6652 -13.0707 -20.3657 -561 2 15.4158 18.7435 12.6987 83.7389 13.3963 10.1536 -562 1 31.009 33.5738 32.2523 -98.6016 -62.4559 -58.3452 -563 2 30.9182 33.2351 33.143 45.3997 7.92623 105.383 -564 2 30.3115 33.1421 31.7591 49.6293 48.0445 -40.6251 -565 1 2.10054 7.03891 25.4933 49.5742 -116.414 -24.3642 -566 2 1.37817 7.21613 26.0958 -46.5398 18.9272 35.2538 -567 2 2.23171 6.09229 25.5477 -8.82651 99.5353 -10.0328 -568 1 20.3898 7.66837 35.4531 -71.8388 10.0211 14.4813 -569 2 20.3691 7.16129 0.817511 25.0287 5.72214 -14.6494 -570 2 21.2857 7.56941 35.131 49.8575 -18.8171 -2.49779 -571 1 29.274 19.0325 27.686 46.2941 -57.7969 -81.4741 -572 2 28.4655 18.615 27.3891 -2.60762 18.7786 17.045 -573 2 29.95 18.6894 27.1016 -32.0159 35.3968 53.3081 -574 1 13.9386 22.6609 17.3852 -97.7961 -40.3289 22.4585 -575 2 14.7687 22.5571 16.9199 100.143 -25.998 -72.0206 -576 2 14.0638 23.4388 17.9288 -3.35982 72.3696 50.3521 -577 1 25.1286 22.9251 17.5378 2.88627 34.8303 -40.7053 -578 2 24.3315 22.3996 17.6057 70.2325 -11.6087 52.9929 -579 2 25.7079 22.5707 18.2124 -80.6546 -34.0558 -10.1113 -580 1 14.8135 28.3634 3.79138 58.9163 -4.93091 -19.0913 -581 2 15.7559 28.3034 3.63485 23.3775 -21.475 -70.9606 -582 2 14.7389 28.6274 4.70842 -76.4898 26.8388 94.1799 -583 1 9.41819 1.55647 11.4413 -43.6786 -53.6748 -18.6154 -584 2 9.08375 1.02165 12.1613 17.8336 20.117 53.8054 -585 2 9.02915 1.17188 10.6558 23.9428 34.2089 -37.3194 -586 1 0.585961 35.2962 12.1156 64.9297 1.5716 72.811 -587 2 0.994623 34.458 11.8996 -20.9731 8.50202 -18.6912 -588 2 35.3883 35.3923 11.4742 -49.9897 -13.7446 -58.3011 -589 1 24.9957 27.1133 22.8582 -6.35046 -2.68148 -104 -590 2 24.9452 26.681 23.7108 1.40984 -2.49174 68.2654 -591 2 24.9712 28.0484 23.0614 3.40426 3.89543 28.47 -592 1 28.0977 27.082 14.3679 108.558 44.661 -99.5092 -593 2 28.1744 26.1324 14.4617 -2.40605 -20.7513 2.43342 -594 2 28.7791 27.3167 13.738 -98.0415 -29.0805 90.2958 -595 1 29.4417 8.93123 21.3892 -53.0669 -61.5733 10.4227 -596 2 29.8847 9.43489 20.7063 37.9098 45.9659 -31.5319 -597 2 28.8141 8.38518 20.9158 14.0931 12.6147 28.1266 -598 1 5.82302 14.8968 2.82269 -35.3302 -38.213 6.3863 -599 2 5.68081 14.0101 3.15399 -7.68409 74.7431 -49.424 -600 2 5.12218 15.0298 2.18442 42.3828 -35.6195 47.9763 -601 1 31.1131 8.01659 27.8852 -12.2841 -38.95 -68.9882 -602 2 31.4869 8.6953 27.3232 -35.4764 -64.2999 25.4486 -603 2 30.8257 7.33413 27.2787 38.1647 89.4277 53.1272 -604 1 24.9203 28.5915 25.9686 122.426 -10.4542 4.02408 -605 2 25.8714 28.5083 25.8993 -67.2903 -16.7404 -37.9179 -606 2 24.7802 29.0712 26.785 -60.47 27.9967 37.1181 -607 1 34.8613 10.3008 12.873 -24.6312 -15.8447 20.1712 -608 2 34.6288 9.37357 12.9234 3.38717 17.763 4.49854 -609 2 34.257 10.7328 13.4767 15.4493 -14.0255 -17.6758 -610 1 10.3166 24.58 6.5705 150.619 -12.9618 -27.2885 -611 2 9.45032 24.6532 6.97112 -101.461 -0.59168 -17.8031 -612 2 10.1396 24.3961 5.64794 -50.6187 13.5075 51.4764 -613 1 4.30103 0.284542 18.8493 -92.8263 119.369 61.7574 -614 2 3.78792 0.981299 19.2586 42.7748 -77.3563 43.1915 -615 2 4.32621 0.518396 17.9215 49.0858 -36.2257 -111.275 -616 1 8.41845 15.4894 34.9161 -21.9995 -92.3116 77.3643 -617 2 8.5516 16.0973 34.1888 0.40017 33.805 -80.7382 -618 2 8.06037 14.7013 34.5077 22.5642 59.4361 -2.08439 -619 1 6.18986 7.53958 24.2193 -77.072 -75.6264 59.2598 -620 2 6.02793 8.4788 24.3082 64.4468 -2.40175 -50.2801 -621 2 6.94982 7.48078 23.6403 10.241 79.4709 -7.75386 -622 1 1.0813 14.4102 23.7545 17.8874 -20.3959 33.4307 -623 2 0.598463 15.0355 23.214 -16.6192 -13.5318 -8.93398 -624 2 0.4708 13.6847 23.8856 10.4261 29.3799 -13.6347 -625 1 31.6711 8.22546 14.0838 -88.2666 -7.53425 73.0485 -626 2 31.1065 7.81878 14.7411 54.414 -17.8712 -41.7073 -627 2 31.356 9.12718 14.0215 24.3549 26.385 -31.506 -628 1 4.3232 13.1663 34.0253 50.9904 35.9431 -5.38217 -629 2 4.88629 13.8006 33.5817 -24.9491 -34.0612 29.2466 -630 2 3.56221 13.0783 33.4514 -25.8695 -7.26615 -11.2578 -631 1 22.66 11.9929 8.47771 25.9841 35.8168 65.8525 -632 2 22.5722 11.2159 9.0299 2.25539 -19.3247 31.6031 -633 2 22.4098 11.6952 7.60305 -23.4685 -9.98814 -92.4697 -634 1 12.5648 8.92628 31.8888 1.71286 -62.5223 -5.76503 -635 2 12.9463 8.57405 32.6929 0.308995 28.7305 4.42907 -636 2 12.421 8.1588 31.3351 -4.47831 29.2538 -10.7263 -637 1 7.37205 21.642 6.22483 20.2244 -86.7927 59.8717 -638 2 7.17256 22.5036 5.85864 -20.6203 77.8304 -49.894 -639 2 7.30266 21.0433 5.48122 -1.15773 28.5541 -2.18688 -640 1 27.0078 16.6345 8.08915 -16.7776 114.02 -71.7494 -641 2 26.4317 16.8465 8.82358 20.4643 -48.3731 4.30587 -642 2 27.3718 15.7771 8.30945 -2.5544 -68.4615 65.4386 -643 1 7.19536 3.79407 31.5939 96.3444 9.15971 20.9346 -644 2 7.20257 3.7578 30.6374 -28.8696 -3.48026 -31.443 -645 2 8.10798 3.95301 31.835 -61.9528 -6.37481 15.5395 -646 1 30.1599 16.2094 7.44437 -35.1628 168.291 44.0803 -647 2 30.079 17.1255 7.71015 68.0691 -88.8671 -10.22 -648 2 29.2887 15.9745 7.12475 -38.9582 -76.3841 -36.7339 -649 1 10.2158 4.39927 31.8968 -6.01407 5.71757 -20.7292 -650 2 10.6261 4.90358 31.1942 -3.38616 -15.715 37.2549 -651 2 10.8508 4.42448 32.6126 4.69159 14.9508 -18.7469 -652 1 27.5051 28.3875 25.6828 25.783 -101.894 -52.45 -653 2 28.3631 27.9785 25.7959 -40.3441 43.7985 9.06157 -654 2 27.5763 29.225 26.1408 28.1345 58.1745 43.8413 -655 1 19.0552 11.8994 31.2663 -77.5761 8.06187 -72.9526 -656 2 18.2733 12.0303 30.7299 78.2406 -2.712 25.5012 -657 2 18.718 11.6279 32.12 -2.99072 -21.4479 60.884 -658 1 3.86571 28.0938 13.0195 -23.2585 47.2329 -4.50778 -659 2 4.48935 27.487 12.6207 28.5174 -54.326 2.54157 -660 2 3.82038 28.8282 12.4073 -10.4375 24.678 3.96981 -661 1 26.5997 23.3417 29.5587 73.2868 -39.8192 40.6402 -662 2 25.8214 23.6007 29.0654 -22.3292 -27.6393 -29.4187 -663 2 26.7611 22.4359 29.2943 -38.6075 64.9284 -7.60011 -664 1 27.6897 7.4106 19.8613 -2.32359 -71.1062 23.1248 -665 2 27.7834 6.6158 20.3865 -6.02471 65.3847 -36.2911 -666 2 27.2839 7.11367 19.0468 6.10913 11.539 5.40271 -667 1 20.052 4.55998 1.8452 -194.038 24.7244 132.492 -668 2 19.1395 4.41593 2.09567 91.5236 -46.551 -114.209 -669 2 20.3859 5.17527 2.49807 107.272 28.0869 -18.4638 -670 1 32.602 15.4737 21.2951 -20.8893 85.8797 37.032 -671 2 32.419 16.3995 21.4555 17.422 -88.4588 -11.6652 -672 2 32.5897 15.0726 22.1641 -3.37279 8.6533 -16.743 -673 1 29.0551 5.06529 32.5326 81.873 0.589934 15.5768 -674 2 28.1799 4.93926 32.1661 -73.8772 -5.63912 -27.1218 -675 2 28.9484 5.76953 33.1721 -8.03642 11.6135 14.9819 -676 1 18.3067 3.04276 8.64187 58.9499 28.4676 21.5917 -677 2 18.0273 3.95829 8.64076 -14.7608 -8.96715 -3.85249 -678 2 17.5352 2.55607 8.35159 -55.9613 -18.4359 -22.7107 -679 1 34.7363 1.91301 8.12053 -45.688 -72.7847 28.8951 -680 2 35.34 2.23351 7.45037 10.331 -34.4005 -28.2947 -681 2 34.6269 0.983418 7.92018 43.1562 100.845 -11.0094 -682 1 20.9532 29.3093 14.6908 -4.60573 112.316 14.3233 -683 2 21.1336 28.3739 14.5972 -18.7645 -74.3146 -6.63115 -684 2 20.0031 29.3613 14.795 20.5811 -32.033 -10.1947 -685 1 31.9049 26.1971 33.5443 41.5261 82.5513 -15.2504 -686 2 32.2733 27.0776 33.4714 -11.1011 -15.7157 -58.4875 -687 2 31.8757 26.0263 34.4857 -31.0414 -70.4302 56.2803 -688 1 2.97534 9.05622 14.3085 45.0085 17.308 21.7581 -689 2 2.85821 8.92243 13.368 -8.55564 -6.43928 -41.4636 -690 2 2.15798 8.74642 14.6986 -35.2668 -14.2551 17.1973 -691 1 34.246 3.69816 9.97129 14.5708 -111.765 -106.32 -692 2 34.5614 3.03818 9.35388 13.6627 80.4291 70.4334 -693 2 33.2925 3.61889 9.94105 -40.2636 36.5172 37.1086 -694 1 19.8481 0.1446 18.9016 165.62 -54.4695 -12.0568 -695 2 20.6412 0.676939 18.8389 -99.5459 -44.6615 7.47188 -696 2 19.1308 0.777274 18.864 -72.1431 89.5926 -6.96567 -697 1 32.2576 30.8368 10.9242 -4.12348 -37.4357 8.36234 -698 2 32.6018 31.6723 10.6083 13.1132 21.1816 -3.81674 -699 2 32.9278 30.5134 11.5262 -7.8978 8.0616 -10.3923 -700 1 27.0172 17.9456 11.2339 111.375 60.0151 127.451 -701 2 26.8607 18.3613 12.0818 8.76844 -53.1347 -107.71 -702 2 27.9706 17.9125 11.1552 -89.3416 -0.550725 -0.0157693 -703 1 20.2294 35.2354 14.5871 -69.5438 52.6266 169.078 -704 2 20.5807 34.9392 13.7474 65.2364 -78.6829 -86.9768 -705 2 20.5305 34.581 15.2175 -1.95356 32.4603 -87.1035 -706 1 28.1368 28.8737 1.33752 129.541 -82.7722 38.9908 -707 2 27.5178 29.2409 0.706451 -60.0221 43.4138 -79.105 -708 2 28.8678 28.5626 0.803539 -84.8509 46.3105 51.5473 -709 1 19.0545 9.09722 19.79 -152.566 -42.7986 10.497 -710 2 18.0987 9.14314 19.8123 104.842 -29.9296 -1.67142 -711 2 19.3362 10.0063 19.6879 47.1859 71.8968 -7.7632 -712 1 28.908 11.6794 7.13619 -32.8137 26.418 27.6514 -713 2 29.7566 11.7919 6.70779 71.7765 16.0929 -8.36171 -714 2 28.3974 11.1515 6.52235 -54.2056 -34.7688 -26.2478 -715 1 15.6777 27.8008 20.4095 -84.1403 3.80829 36.1379 -716 2 15.9895 28.5082 19.8451 11.2665 83.3724 -57.4992 -717 2 16.431 27.2174 20.5016 66.7711 -81.0963 20.3708 -718 1 11.4721 8.69009 1.78864 9.74736 60.9033 64.9989 -719 2 10.6762 9.14002 2.07189 62.441 -89.2061 -84.8795 -720 2 11.1868 8.12832 1.06806 -68.7286 22.8855 8.22006 -721 1 35.2886 10.2847 26.2142 -55.2572 -126.911 6.37938 -722 2 35.2399 9.49264 26.7496 3.78223 80.7839 -55.2166 -723 2 0.374116 10.8633 26.695 54.7586 50.479 44.8435 -724 1 15.1246 29.3353 22.6989 -173.18 43.7445 -20.7779 -725 2 14.2253 29.6628 22.6828 103.781 10.023 59.5298 -726 2 15.1678 28.7167 21.9697 68.0826 -57.4093 -43.0165 -727 1 26.3537 6.84547 25.1722 -4.63582 -30.3837 -33.5314 -728 2 25.9912 7.58362 24.6824 -0.533292 -8.29827 1.21582 -729 2 26.2201 6.08934 24.6007 7.66998 43.3118 28.3176 -730 1 17.8778 33.0777 31.3347 -23.1416 -152.823 -27.2 -731 2 18.2325 33.7816 30.7917 -8.37178 79.2676 50.5199 -732 2 17.6112 33.5111 32.1455 27.552 84.4547 -22.52 -733 1 3.45247 32.2248 21.0692 -79.9962 122.14 -62.2245 -734 2 2.9778 32.5294 20.2958 65.3854 -68.3954 72.9715 -735 2 3.42657 32.9662 21.6741 20.5788 -54.8723 0.450483 -736 1 34.6889 28.2408 9.56726 -31.5443 -98.6328 -4.15076 -737 2 33.8747 28.2799 9.06547 15.7923 17.4516 13.4028 -738 2 35.0184 29.1395 9.56046 13.3439 88.3226 -6.37393 -739 1 11.8358 33.7715 34.9766 -7.59771 16.0905 1.8506 -740 2 12.7339 33.7274 34.6486 -75.2112 -72.8999 42.4189 -741 2 11.6246 32.8701 35.2199 88.2497 49.9512 -42.8838 -742 1 27.9904 23.6439 17.286 -15.328 -38.6404 29.5053 -743 2 27.3279 24.2176 17.6709 -6.6554 48.8867 -7.44392 -744 2 27.8318 22.7901 17.6887 28.3517 -1.32444 -21.643 -745 1 30.2148 28.5985 35.3214 -30.2772 20.3466 35.8071 -746 2 31.1059 28.3583 0.128141 26.9181 -15.6798 -7.40653 -747 2 30.1852 28.4461 34.3768 17.9101 -10.14 -30.889 -748 1 21.8918 27.3711 7.14598 -148.078 43.9407 23.0348 -749 2 22.4412 27.9944 7.62137 47.5919 25.4942 20.0399 -750 2 22.5114 26.7573 6.7516 98.3268 -66.7798 -41.9308 -751 1 1.75582 32.9681 9.67423 76.9241 56.0879 15.9253 -752 2 2.23482 33.1074 8.85728 -32.3396 -8.59603 57.9151 -753 2 2.25379 33.4555 10.3305 -50.3439 -50.5299 -75.8858 -754 1 0.210008 25.7004 3.19351 -72.0205 -4.01381 -16.6285 -755 2 0.752182 26.3766 3.59968 34.0966 64.3694 29.3021 -756 2 0.811576 24.9725 3.03678 38.3408 -73.6781 -19.3042 -757 1 13.8935 31.5152 7.21535 -40.4393 49.1214 -42.5753 -758 2 14.5105 30.793 7.09721 35.9866 -44.5832 8.92535 -759 2 13.6509 31.7716 6.3256 -3.02824 4.80241 32.9126 -760 1 1.19548 17.2352 10.1726 -105 64.9433 35.3647 -761 2 1.8345 16.532 10.2883 60.6709 9.4678 -74.2388 -762 2 1.46533 17.6744 9.3661 49.3378 -85.9182 46.5246 -763 1 26.3964 29.9711 16.7931 131.115 43.8223 24.0088 -764 2 25.615 30.239 16.3096 -120.078 10.7388 -52.8908 -765 2 27.0366 30.6602 16.6155 -8.56758 -54.021 30.9895 -766 1 6.05099 32.3967 30.1853 5.48676 -2.35019 10.1937 -767 2 6.80443 32.7303 30.6724 8.29144 14.4257 28.3309 -768 2 6.4293 31.9976 29.4018 -7.14654 -18.1784 -31.1246 -769 1 26.1089 21.6679 1.29472 -41.158 18.3879 78.8768 -770 2 25.6625 21.8759 2.11553 47.1287 -31.2792 -38.0875 -771 2 25.5986 22.1199 0.622772 0.353705 5.18418 -43.7309 -772 1 17.4431 21.3042 6.11842 -2.70618 68.5058 128.415 -773 2 17.3424 22.2395 6.29547 8.74893 -104.1 -61.7908 -774 2 17.4191 21.2366 5.1639 -5.74586 33.7778 -63.5851 -775 1 28.4147 27.0935 17.1252 -4.01319 2.30477 -36.9394 -776 2 29.2981 27.3227 16.8362 70.6484 10.5538 39.2698 -777 2 27.8837 27.1349 16.3298 -65.7772 -11.5243 2.01916 -778 1 31.3045 34.7149 13.4427 -22.9799 3.84685 62.0716 -779 2 30.9406 34.8277 14.3208 22.7542 -4.75958 -44.9741 -780 2 31.3145 33.7674 13.307 1.65605 -5.97599 -4.99822 -781 1 17.8316 30.3744 2.80742 13.8805 -76.5249 64.0274 -782 2 18.7244 30.6355 2.58163 40.9368 17.643 -19.2379 -783 2 17.2736 30.9537 2.28859 -46.9564 55.8062 -50.6318 -784 1 21.2138 4.88347 14.5608 2.3624 -63.9532 -48.0032 -785 2 21.2751 5.63756 15.1472 9.7261 63.6419 71.4622 -786 2 20.9623 5.25631 13.7158 0.427283 -19.9888 11.3786 -787 1 2.58183 4.47768 29.5793 33.1872 -112.438 77.902 -788 2 1.83044 3.97205 29.2694 23.0956 26.3269 2.96372 -789 2 3.0506 3.87908 30.1608 -65.4663 91.523 -76.6854 -790 1 13.9988 19.821 25.1902 -50.5167 25.8502 89.6039 -791 2 13.5791 20.1209 25.9965 -26.9821 -31.4414 -58.1881 -792 2 14.9228 20.0441 25.3033 86.3655 -3.02184 -35.8162 -793 1 31.2355 21.2734 20.2143 -22.8319 -178.555 16.4726 -794 2 31.0188 22.0288 19.6678 46.9607 78.2348 39.4622 -795 2 31.7477 21.6382 20.936 -22.7661 84.7573 -54.6178 -796 1 5.98906 23.6118 29.5057 -154.089 -65.5094 119.896 -797 2 6.93675 23.486 29.4575 53.5671 62.5392 -85.3176 -798 2 5.78994 24.2129 28.7879 100.452 1.92566 -28.5892 -799 1 34.9793 3.70523 28.2195 43.653 0.981173 -28.7798 -800 2 34.4045 2.95652 28.0606 13.3441 0.363569 -2.54187 -801 2 0.270595 3.50348 27.7302 -60.0238 5.59393 35.9209 -802 1 23.9077 26.4062 10.4329 -31.0905 79.2029 -34.765 -803 2 23.1989 27.0484 10.4714 35.6956 -48.5262 7.93538 -804 2 24.5797 26.8226 9.89327 -6.35781 -29.0963 17.2877 -805 1 24.6635 14.2149 8.75122 -39.4385 3.94714 -7.68593 -806 2 25.5004 13.7857 8.57367 7.09634 -16.7695 -6.84775 -807 2 24.0042 13.5626 8.51429 33.5665 11.9077 8.1046 -808 1 26.7626 32.3281 18.595 8.1296 1.1658 12.0067 -809 2 26.9983 33.2223 18.3477 -91.7296 -59.0605 15.7335 -810 2 25.8084 32.3029 18.5231 71.6174 64.4425 -18.1641 -811 1 15.8164 4.4571 25.2911 -0.969443 86.149 -10.0472 -812 2 15.0355 4.40765 24.7397 -46.7166 -57.684 -28.6245 -813 2 16.0298 5.38972 25.3219 42.8368 -11.5485 34.585 -814 1 19.1817 10.0629 23.1816 68.003 -1.18629 -14.7437 -815 2 18.8592 10.7015 23.8174 1.6019 14.4418 14.5874 -816 2 20.1103 10.2722 23.081 -63.999 -15.0981 11.0875 -817 1 16.921 8.80992 1.39691 5.51049 13.2857 10.0508 -818 2 17.4295 8.46922 0.660943 31.0913 -3.20643 -19.5252 -819 2 16.0637 8.39331 1.30961 -36.5554 -8.76862 17.2256 -820 1 22.4017 16.2975 33.083 -46.5196 78.6596 -76.537 -821 2 21.6855 15.7153 32.8295 42.5686 -0.672646 23.9555 -822 2 22.9005 15.7973 33.7289 15.9456 -69.0485 48.9107 -823 1 8.68182 34.4885 6.98579 -7.54129 -17.0971 -74.3771 -824 2 9.58038 34.4267 7.30984 47.1176 4.05073 69.7424 -825 2 8.74978 34.2933 6.05116 -47.8024 5.72394 -1.35938 -826 1 23.9512 6.80496 13.7055 -35.8857 128.919 -101.661 -827 2 24.0159 5.85015 13.7253 7.28979 -110.021 42.5823 -828 2 24.0412 7.0706 14.6207 11.7879 -25.1848 57.1416 -829 1 9.0144 30.1287 34.4159 -0.708265 8.16789 10.0914 -830 2 8.35259 29.4395 34.3581 18.8865 -0.814734 -4.64994 -831 2 9.66769 29.8898 33.7583 -19.5491 -5.66185 11.0471 -832 1 26.4508 33.5536 7.0832 30.7795 5.806 64.7147 -833 2 25.8042 32.9499 6.71762 2.13217 0.065051 28.627 -834 2 26.471 33.3468 8.01757 -20.2274 -4.69719 -76.7028 -835 1 30.8883 23.188 18.3978 -60.1288 17.4927 -118.222 -836 2 29.9874 23.2377 18.078 36.9377 -1.33026 55.9953 -837 2 31.4239 23.1712 17.6046 16.0945 -3.4338 56.4184 -838 1 10.5274 12.5423 34.9033 -67.3919 -37.4538 -27.0356 -839 2 11.4153 12.1942 34.9851 20.1408 18.2778 27.0574 -840 2 10.508 13.2924 0.0504926 35.4649 12.497 20.8063 -841 1 3.6378 19.4364 9.7108 33.6687 15.1204 -3.97269 -842 2 3.0357 19.2383 8.99353 -59.0343 -11.7264 -18.7601 -843 2 4.49675 19.4984 9.29293 38.2053 10.1555 14.4545 -844 1 24.552 32.7037 5.53456 -2.31145 38.281 30.8588 -845 2 25.0512 32.3315 4.80761 13.3201 -26.0485 -34.3085 -846 2 23.7072 32.2548 5.50019 -22.3644 -20.5171 -7.08918 -847 1 11.8101 0.451759 5.9598 15.4316 -62.4853 87.049 -848 2 11.4451 35.4188 6.66135 55.2539 68.259 -78.1318 -849 2 12.7375 0.537519 6.18076 -65.4691 -10.4776 -2.40589 -850 1 7.05339 31.9289 0.309817 164.597 36.2718 -83.4904 -851 2 7.51988 32.7647 0.29898 -81.1253 41.2246 61.7545 -852 2 7.60576 31.3391 35.244 -74.4289 -77.8106 19.4093 -853 1 4.88055 2.44646 3.21122 102.671 94.0043 197.055 -854 2 5.10886 2.27848 4.1255 -63.2274 -85.3691 -85.6811 -855 2 5.19609 3.33462 3.04433 -34.8947 -9.68548 -98.8989 -856 1 7.48014 15.1531 10.2941 119.548 -89.2114 96.8156 -857 2 7.02997 15.9036 10.6818 -56.0165 40.0736 -44.9064 -858 2 7.08821 15.0605 9.42574 -70.6546 45.1128 -44.6028 -859 1 6.26711 26.904 24.5466 -18.018 -76.9316 38.2749 -860 2 5.56995 27.0721 25.1806 10.0001 6.03582 -14.8282 -861 2 6.32268 27.7091 24.0318 -1.24218 65.9708 -34.6969 -862 1 7.15211 18.2021 25.5449 -21.9536 -33.5674 24.005 -863 2 6.52129 17.8319 26.1624 -13.8754 34.3002 20.3471 -864 2 7.48415 17.447 25.0593 34.9883 -3.83009 -40.6165 -865 1 15.2388 32.9181 4.26291 63.2653 32.3933 46.9188 -866 2 14.3143 32.8539 4.50245 16.128 -25.6484 -74.9416 -867 2 15.2798 32.5747 3.37035 -68.3688 -1.95224 25.7349 -868 1 13.9005 29.6985 15.3252 -30.0489 -11.9024 16.8227 -869 2 14.4357 29.0527 14.864 29.1459 -5.70279 -28.1173 -870 2 13.2647 29.1773 15.8155 -2.88812 19.4683 8.82766 -871 1 0.236869 14.7799 15.9933 -197.541 41.6284 59.2942 -872 2 35.1551 14.0603 16.2226 86.5786 -43.0383 -8.15884 -873 2 35.1805 15.554 15.9773 92.3677 25.5619 -23.0335 -874 1 9.98766 25.2301 12.269 0.452101 89.4539 63.6673 -875 2 10.0365 26.0882 11.8477 -5.88975 -42.2823 4.14746 -876 2 10.185 25.4031 13.1895 -13.3365 -28.6036 -60.4023 -877 1 21.4603 13.2049 15.0149 100.974 32.5156 139.024 -878 2 21.7735 13.1276 14.1137 -54.0891 -21.1588 -58.7194 -879 2 20.5298 12.986 14.9652 -34.2482 -21.6515 -73.3557 -880 1 31.1078 22.9991 9.65619 -47.0525 -33.6785 -15.0028 -881 2 30.4287 23.5253 10.0782 -15.2089 10.2746 9.6055 -882 2 31.9291 23.4241 9.90348 61.6807 29.1457 10.9788 -883 1 13.2563 9.90564 3.33829 10.1964 57.4404 -83.1333 -884 2 13.6677 10.6346 2.87389 3.37715 -23.2035 53.2807 -885 2 12.6585 9.51987 2.69791 -5.56637 -26.1562 32.7142 -886 1 10.3022 4.65246 17.6406 -11.9537 53.9357 -141.36 -887 2 10.5017 4.29474 18.5057 34.357 -45.9381 100.725 -888 2 11.1439 4.66203 17.1849 -26.5292 -7.18061 27.5695 -889 1 28.8782 21.4777 33.7524 -28.0991 -50.0375 -36.958 -890 2 28.5952 20.7854 34.3497 7.96749 25.3026 19.3337 -891 2 28.6422 21.1554 32.8825 19.2969 39.6636 6.94403 -892 1 17.6859 22.5274 26.0562 -108.664 -84.7987 -55.3245 -893 2 18.3831 23.1834 26.0541 80.5569 56.5831 44.5095 -894 2 17.6978 22.1675 26.9431 38.4307 29.1208 19.4878 -895 1 35.3289 15.359 21.6101 62.6541 8.59664 11.8438 -896 2 34.4232 15.3943 21.3024 -33.3167 -6.32726 -28.4045 -897 2 0.308301 14.9705 20.8824 -31.569 9.15313 9.65361 -898 1 34.8143 9.91543 7.88002 62.1971 -47.1153 40.7324 -899 2 34.3424 10.3801 7.18896 -48.1009 44.9985 -38.8917 -900 2 34.3864 10.1917 8.69047 -22.5153 13.9236 -0.899322 -901 1 25.9892 17.7284 34.7684 43.956 42.9765 -14.3718 -902 2 25.4513 18.3755 34.3122 -9.0187 -6.44238 0.752225 -903 2 25.3784 17.0285 34.9993 -37.0621 -34.4819 11.6648 -904 1 1.10554 14.4475 19.2888 -185.972 60.8617 29.0657 -905 2 1.58112 13.7328 19.7122 87.1098 -45.5977 2.30081 -906 2 1.73164 14.8165 18.6659 97.1772 -10.9253 -35.2674 -907 1 23.0705 7.39442 29.7254 -24.5986 -112.115 -33.4465 -908 2 22.6417 7.26401 28.8796 11.4404 51.1764 13.1754 -909 2 23.2161 6.50936 30.0596 15.5321 54.2943 28.7578 -910 1 10.5227 33.0542 2.5622 -8.79506 38.2993 23.3453 -911 2 10.8293 33.949 2.41547 -8.39548 -36.7363 4.12177 -912 2 10.8693 32.5572 1.8212 10.0232 -12.1532 -24.397 -913 1 32.8796 27.8684 13.0471 -88.3048 68.8629 78.8026 -914 2 33.4627 28.4844 12.6035 15.1763 -79.2035 -19.9047 -915 2 33.1447 27.0089 12.7197 66.9624 2.74064 -56.4333 -916 1 28.8646 12.2173 3.75367 60.119 23.7361 15.5141 -917 2 28.5496 11.5164 4.32455 -19.4619 8.56407 -25.578 -918 2 28.2443 12.23 3.02472 -25.8272 -13.9675 -8.60119 -919 1 23.1206 7.48998 34.3923 50.1617 -54.6697 -48.0913 -920 2 23.0885 7.77596 35.3053 -16.0878 39.0306 71.9507 -921 2 23.9155 6.95985 34.3347 -42.399 20.9419 -14.9485 -922 1 23.0496 24.1218 3.43647 -10.5386 -61.3395 -25.0519 -923 2 23.1849 24.9084 3.96491 -28.4328 -22.981 33.6151 -924 2 22.4579 23.5805 3.95905 58.1067 80.5812 -11.1972 -925 1 32.9268 24.0067 30.5698 93.4107 -38.706 9.0689 -926 2 33.6604 24.5596 30.8386 -62.7364 -15.7161 -11.1461 -927 2 32.1781 24.602 30.534 -33.0532 54.6577 7.00249 -928 1 3.45549 11.7451 10.9315 55.2503 -47.3468 -62.6269 -929 2 2.67175 11.8755 11.4653 66.182 69.0224 22.3506 -930 2 4.06526 12.4191 11.2317 -113.835 -23.8394 39.789 -931 1 18.0309 4.40872 5.247 3.37645 -24.2481 -1.4641 -932 2 18.4652 3.55907 5.17087 -12.8562 15.5609 6.39922 -933 2 17.1792 4.209 5.63557 14.7085 -4.37891 -5.72668 -934 1 21.9173 10.6745 23.007 -138.057 -21.9234 -6.13985 -935 2 21.5554 11.4521 23.4321 54.8553 -18.9986 -14.4575 -936 2 22.8638 10.8174 23.011 83.3206 46.855 16.4839 -937 1 27.4308 31.4867 23.7611 62.2461 25.3649 -7.13523 -938 2 27.8048 32.2023 23.2471 -30.9176 -35.4317 23.2129 -939 2 28.189 31.0389 24.1364 -34.9223 14.7407 -14.7627 -940 1 31.1334 15.0475 2.15046 -6.94564 65.7161 -55.1515 -941 2 31.361 14.3063 2.71188 14.6102 -59.6222 41.1184 -942 2 30.5869 15.6073 2.70187 -8.64082 1.0755 8.08938 -943 1 26.4837 26.4613 29.233 106.107 -63.0887 -30.778 -944 2 26.2683 27.33 29.5723 -53.5769 54.4639 19.2382 -945 2 25.6386 26.0194 29.1508 -60.0652 4.6996 8.51536 -946 1 31.2215 24.1777 24.5883 14.1308 -20.036 -56.0792 -947 2 31.2462 25.0877 24.2924 -6.94032 33.9551 15.3996 -948 2 31.4406 23.666 23.8095 -10.0522 -9.58882 31.6924 -949 1 2.2308 8.39805 11.702 -25.9278 72.4629 -62.3921 -950 2 2.19268 7.46748 11.923 -18.2178 -30.2456 -15.1875 -951 2 1.69593 8.47931 10.9123 45.6222 -39.4373 72.291 -952 1 10.3032 13.6934 7.45165 -26.5584 -22.6742 -26.7631 -953 2 9.99582 13.2455 6.66356 36.4271 36.3883 49.4382 -954 2 10.9817 14.2917 7.13847 -0.600371 -7.03533 -17.82 -955 1 19.0967 27.2701 33.964 13.3213 87.1582 59.4234 -956 2 18.3249 27.61 33.511 7.02123 -13.6294 3.65441 -957 2 19.3587 27.9763 34.5547 -21.057 -80.5959 -61.541 -958 1 21.984 20.9149 33.6057 -13.2294 -111.165 45.6027 -959 2 22.1104 21.6543 33.0111 4.56541 83.2239 -6.28725 -960 2 21.881 21.3158 34.4688 7.70274 30.7349 -39.0983 -961 1 8.05927 10.6139 31.6569 -39.7855 72.6436 -23.7398 -962 2 8.405 9.72798 31.7655 -32.7633 -16.4778 -53.6367 -963 2 7.49797 10.5594 30.8835 74.8422 -56.3765 75.6807 -964 1 9.0941 18.3243 0.84783 26.3867 -45.0205 70.9669 -965 2 9.39079 17.9803 1.69038 -14.0457 47.0499 -38.1091 -966 2 8.83676 17.5488 0.349181 -13.4024 -0.1274 -32.7344 -967 1 13.2562 25.9707 14.2144 25.3824 7.01883 -62.881 -968 2 13.5094 26.1925 15.1105 -25.7918 -13.6183 17.0963 -969 2 12.3709 25.616 14.296 10.0725 8.78775 40.8899 -970 1 33.1354 9.19259 24.0589 85.7786 -47.5273 23.0686 -971 2 32.6875 9.78224 23.4523 0.825384 40.0659 -44.3043 -972 2 34.0648 9.30186 23.8576 -78.9974 11.272 -7.9459 -973 1 0.58659 30.7969 7.10441 -76.0371 32.9328 96.3177 -974 2 0.169654 30.8981 7.96008 21.302 10.6759 -79.165 -975 2 1.21081 30.0812 7.22473 40.397 -34.8905 -16.7496 -976 1 16.6083 24.0059 6.4584 14.2821 54.4666 22.4032 -977 2 16.7425 24.606 5.72479 -6.25319 -17.653 -38.7459 -978 2 16.7413 24.5459 7.23752 -8.86305 -35.3724 18.3455 -979 1 21.7834 18.2351 15.2976 62.7229 -36.1596 -108.657 -980 2 21.2936 17.4129 15.2838 -9.75237 7.09872 25.6914 -981 2 21.4639 18.6918 16.0759 -54.4229 25.6067 86.3738 -982 1 1.07513 17.9084 22.5021 155.324 26.1063 -64.9168 -983 2 0.716816 17.1248 22.0851 -45.4358 -37.2277 -7.57822 -984 2 1.962 17.9835 22.1499 -123.14 9.12379 73.6764 -985 1 8.51552 8.69526 13.4464 27.9726 -3.93814 38.5488 -986 2 8.03144 8.05905 12.9199 -8.38501 37.5413 -6.78268 -987 2 8.12975 9.54047 13.2161 -15.1185 -30.5594 -19.9669 -988 1 28.3524 22.6765 2.57778 4.50918 45.8972 4.67774 -989 2 27.7649 22.2675 1.94231 -16.0283 -30.0373 -7.27243 -990 2 28.7214 21.9432 3.07005 -4.44835 -34.7704 0.426531 -991 1 17.1523 8.01103 31.3361 -6.43129 -6.19971 63.0736 -992 2 16.782 8.45558 32.0986 -1.47691 -24.9844 54.7888 -993 2 16.9529 8.59004 30.6004 -7.61986 35.4159 -124.442 -994 1 29.3721 32.2834 30.4082 -98.2459 -79.9855 2.24996 -995 2 28.6217 31.7907 30.7403 58.7826 37.0593 37.1014 -996 2 29.3092 32.204 29.4563 42.3709 32.2814 -36.7511 -997 1 35.3011 34.4955 31.3099 -34.6845 -39.5258 -74.9262 -998 2 0.494462 34.8466 31.8607 35.8661 43.0693 47.1311 -999 2 34.5081 34.931 31.6226 -0.133072 18.1987 18.232 -1000 1 14.0996 2.13108 18.09 -20.823 -77.5244 -44.303 -1001 2 13.8706 1.505 17.403 12.4673 51.7003 -2.55363 -1002 2 14.0677 1.62139 18.8996 6.81076 20.6619 48.5382 -1003 1 23.7489 3.68726 32.9571 69.1184 -38.1078 123.401 -1004 2 23.6219 3.88613 32.0295 -49.2533 26.2939 -86.3729 -1005 2 22.8923 3.84232 33.3553 -16.6362 9.37066 -33.9528 -1006 1 31.0991 21.5663 28.0754 64.0698 21.9165 9.92207 -1007 2 31.8476 21.203 28.5487 -24.4509 -32.4919 3.98123 -1008 2 31.379 22.4461 27.8227 -40.3331 12.4814 -17.3785 -1009 1 20.641 15.6933 14.8203 43.377 -2.22174 -57.3948 -1010 2 20.0531 15.8097 15.5667 -70.0316 39.5881 70.6618 -1011 2 21.0709 14.8535 14.9821 27.3569 -27.1541 -21.1361 -1012 1 20.2875 15.138 31.9425 -36.4419 5.41552 10.6307 -1013 2 20.5979 14.4012 31.4161 8.95763 -14.6982 -9.11594 -1014 2 19.3458 14.9904 32.0302 20.0558 4.72103 -4.13998 -1015 1 32.4737 33.0549 7.42136 57.7398 14.465 -2.87417 -1016 2 31.5251 33.0996 7.54192 -15.4179 -34.4658 1.30456 -1017 2 32.6733 32.1189 7.43347 -46.0939 28.5804 1.92267 -1018 1 25.6358 27.7652 13.6201 17.9068 -76.954 -5.91433 -1019 2 26.5234 27.4872 13.8464 -41.296 29.8658 -8.28664 -1020 2 25.1859 26.9563 13.3761 11.3414 52.8605 8.98245 -1021 1 0.752811 4.33746 20.9711 26.3523 87.0603 -16.7255 -1022 2 0.735369 4.49981 20.0279 -18.8716 -50.1447 -27.1136 -1023 2 1.05098 5.16373 21.3514 -12.233 -35.5578 45.2635 -1024 1 1.15955 21.097 13.1804 -5.70836 50.9455 49.396 -1025 2 1.14347 21.475 12.3011 9.75717 -95.3378 14.0555 -1026 2 1.23437 20.1539 13.0349 -2.99113 48.1469 -70.6267 -1027 1 8.63447 29.6682 25.4291 -24.2937 15.1584 -57.2241 -1028 2 8.2969 30.3446 24.8419 0.386903 32.0326 34.6862 -1029 2 8.70943 28.8884 24.879 18.5133 -46.3605 26.4414 -1030 1 30.7609 20.6322 25.1496 -66.4937 -19.9747 62.2919 -1031 2 31.506 20.908 24.6158 36.8894 16.0715 36.9823 -1032 2 31.0187 20.8408 26.0475 26.0015 3.09923 -89.5564 -1033 1 4.24567 30.7967 2.94453 1.13943 -48.8247 -106.457 -1034 2 4.17998 31.333 2.15442 -5.0906 73.5472 26.6679 -1035 2 4.35745 29.9033 2.61955 2.54345 -26.9407 75.6015 -1036 1 15.4298 29.354 26.2536 -21.2886 -38.6909 -36.5509 -1037 2 16.2299 29.239 25.741 -33.1263 -2.12357 9.93884 -1038 2 14.7684 28.8465 25.7833 52.8592 30.8222 23.0843 -1039 1 15.489 26.8995 10.3602 80.9819 -10.7728 -8.06397 -1040 2 15.1155 26.1015 10.7342 6.2318 -0.755727 1.63719 -1041 2 16.4293 26.7262 10.3153 -80.6119 6.16622 6.08593 -1042 1 3.69093 24.7984 1.79789 53.7836 -14.2604 17.3241 -1043 2 2.97812 24.7914 1.15906 -65.9914 16.2221 -35.9748 -1044 2 4.387 24.2861 1.38648 20.0102 2.62709 18.5968 -1045 1 30.6362 20.421 0.684293 -108.223 -87.2204 97.7535 -1046 2 29.7183 20.5224 0.432403 70.0785 0.995274 0.947085 -1047 2 31.1142 20.9947 0.0854012 48.7689 93.7421 -96.2573 -1048 1 23.0789 3.25676 10.1998 -56.8271 -82.1987 163.266 -1049 2 23.0881 3.65825 9.33089 -32.905 48.5766 -109.699 -1050 2 22.1531 3.09177 10.3782 94.3427 33.2525 -52.0774 -1051 1 35.1739 13.9254 30.4187 93.3453 51.4364 -45.9008 -1052 2 34.4624 13.3238 30.6378 -114.635 -67.6202 66.4469 -1053 2 35.4474 13.6636 29.5395 30.7835 23.3683 -20.6124 -1054 1 28.8873 35.0723 21.7756 -60.5953 -149.17 -57.9849 -1055 2 29.7858 35.0419 22.1043 100.868 58.0547 52.4067 -1056 2 28.7071 34.1777 21.4865 -43.6743 91.8104 5.88896 -1057 1 11.0517 25.6031 26.2833 84.2023 -149.954 6.23889 -1058 2 11.1927 24.6601 26.1988 10.9372 99.8877 15.6456 -1059 2 10.1376 25.7327 26.0304 -98.6491 41.8353 -24.1329 -1060 1 31.6325 18.1406 19.4413 137.795 -27.3735 -41.4505 -1061 2 31.8817 18.8171 20.071 -61.2417 79.73 83.0788 -1062 2 32.4612 17.8515 19.0591 -69.38 -51.332 -39.8188 -1063 1 3.312 2.6318 12.334 -107.581 73.6051 29.3374 -1064 2 2.44277 2.88495 12.0232 46.5541 -45.4413 -38.982 -1065 2 3.39854 3.06444 13.1835 62.6426 -30.027 5.03646 -1066 1 12.2454 6.49511 14.0823 82.2064 81.0609 -45.5992 -1067 2 13.1196 6.41676 13.7003 -21.1732 -65.0757 18.2416 -1068 2 12.0488 7.43101 14.0417 -58.6882 -26.4395 24.6073 -1069 1 11.5046 16.9032 14.0494 79.7741 -24.151 -20.9732 -1070 2 12.2839 16.8335 13.4979 -68.6855 9.71393 36.3467 -1071 2 11.7474 16.4638 14.8644 -15.0941 15.9792 -17.697 -1072 1 35.4327 34.5785 0.886731 -10.8441 27.0805 -2.03554 -1073 2 34.8065 34.925 0.251066 53.0505 -76.519 22.9354 -1074 2 0.0236496 33.6563 0.649613 -46.5146 44.7546 -30.8102 -1075 1 32.9022 21.6462 32.0455 -18.6267 86.0059 -76.4499 -1076 2 32.8865 22.3518 31.3989 28.136 -37.6397 61.9662 -1077 2 32.1381 21.1099 31.834 -12.5655 -36.7867 20.0832 -1078 1 28.666 4.66171 28.4229 -23.7263 -35.2508 -24.4602 -1079 2 29.6021 4.57844 28.6042 -14.3351 -12.174 -2.07158 -1080 2 28.415 3.81178 28.0611 30.0327 47.8705 20.2444 -1081 1 11.7974 16.6105 9.43137 -32.9505 84.4933 -45.5955 -1082 2 12.6181 16.4215 9.88636 31.5138 -27.9555 21.6745 -1083 2 11.277 15.8137 9.53417 -19.2206 -55.1657 22.0584 -1084 1 9.5567 34.0297 10.6332 5.08397 -30.78 -3.50354 -1085 2 8.64488 34.2191 10.8545 -22.6455 24.893 8.77543 -1086 2 9.56535 33.0941 10.4314 18.7297 3.83284 -2.75462 -1087 1 22.0706 19.0062 23.4589 -50.6034 61.4956 73.3002 -1088 2 22.8697 19.4423 23.163 73.2576 -9.44263 -53.7673 -1089 2 21.6588 19.6357 24.0508 -17.1189 -56.8738 -17.8811 -1090 1 35.0507 19.9084 25.8047 -8.97498 -57.1681 14.3012 -1091 2 35.3227 20.4791 25.086 3.20608 23.5388 -15.6564 -1092 2 34.7922 20.5093 26.5036 -4.15561 25.1786 14.68 -1093 1 1.29509 5.44627 7.26844 -105.385 48.7942 -14.1839 -1094 2 0.503537 5.90603 7.5483 75.4881 -40.619 -24.513 -1095 2 1.76785 5.26593 8.08098 27.1151 -6.97561 49.2339 -1096 1 33.079 1.6019 25.1564 -44.0711 -50.1524 43.9863 -1097 2 32.3867 2.22782 25.3688 -0.688406 -0.567475 0.120255 -1098 2 33.655 2.0756 24.5563 57.9468 46.3913 -55.0037 -1099 1 14.2223 33.4357 22.7965 44.6458 -102.796 -72.7688 -1100 2 14.3111 34.2608 23.2737 -9.66296 89.3801 50.3192 -1101 2 13.2969 33.2068 22.8833 -36.7491 6.49743 17.9439 -1102 1 27.0764 24.9189 8.20593 16.6439 -74.7286 73.16 -1103 2 27.1764 24.95 7.25446 2.52372 18.6385 -66.7873 -1104 2 26.7986 25.8026 8.4471 -14.7838 45.7512 -7.27173 -1105 1 7.24983 20.2262 4.06282 52.8138 47.254 9.61264 -1106 2 6.60861 19.545 4.26536 -35.0709 -40.735 -19.4254 -1107 2 7.32775 20.2065 3.10899 -17.2476 -20.1948 -6.14881 -1108 1 13.4126 1.40206 12.7354 -50.3951 11.3155 42.0291 -1109 2 13.8845 1.45584 11.9043 25.881 6.1063 -51.9478 -1110 2 12.594 1.87248 12.5774 24.798 -15.1811 -2.59961 -1111 1 0.852213 16.3886 27.3816 -38.9671 -64.4858 75.4018 -1112 2 1.08742 16.8331 28.1961 6.56439 5.83862 -36.777 -1113 2 1.16568 16.9722 26.6906 33.8962 64.6142 -42.946 -1114 1 4.02403 25.2956 4.78907 12.5824 -31.0604 13.6428 -1115 2 3.90816 25.5675 3.87865 -32.8978 82.4023 -72.6643 -1116 2 4.3228 24.388 4.73227 15.7865 -49.6513 59.6569 -1117 1 16.5897 15.7718 19.3669 12.7176 -90.9182 -88.7668 -1118 2 16.7861 16.3511 20.1032 53.6208 20.9259 47.938 -1119 2 17.4037 15.2914 19.2157 -68.2302 71.3709 48.3064 -1120 1 33.138 25.8228 3.9786 -68.8332 54.6496 22.9106 -1121 2 32.8297 24.9295 4.13115 50.2042 -11.2461 -19.0873 -1122 2 34.0101 25.7142 3.59935 12.3465 -53.1371 -1.11756 -1123 1 31.5763 1.03019 18.5632 -15.1436 26.0476 6.56201 -1124 2 31.8736 0.411808 19.2306 -3.12571 -8.88644 -35.1118 -1125 2 31.6624 0.552575 17.7381 9.10405 -12.4766 43.6027 -1126 1 2.96133 16.2944 6.71328 14.6005 5.35419 -78.0001 -1127 2 3.06766 15.5042 7.24293 2.85304 -12.3624 9.88323 -1128 2 3.2307 16.0315 5.83319 -20.3773 19.8766 61.5194 -1129 1 20.3444 33.6993 7.89419 -55.8188 -70.7228 28.1259 -1130 2 20.3572 32.7428 7.85821 37.6074 20.1923 -22.1427 -1131 2 19.5421 33.9108 8.37147 18.2087 49.7047 -7.42802 -1132 1 19.3737 16.8055 19.7353 94.066 21.1274 26.5062 -1133 2 20.2474 17.1614 19.8972 -42.0598 35.9658 -26.3561 -1134 2 19.4036 15.9208 20.0994 -49.9023 -50.4933 2.84341 -1135 1 19.2328 9.13935 28.8891 -97.3718 -44.9198 -22.2374 -1136 2 20.086 9.56472 28.9744 99.3991 45.2652 4.49131 -1137 2 18.8197 9.25619 29.7446 -9.69961 0.411218 19.8043 -1138 1 27.7276 22.9171 10.4608 -62.6602 98.4379 -18.4366 -1139 2 27.5781 23.39 9.64208 -11.4069 9.12972 23.4701 -1140 2 28.2562 22.1603 10.2077 67.4179 -107.285 -16.8798 -1141 1 6.32768 1.89226 33.44 -72.0744 7.49082 -82.9874 -1142 2 6.58014 2.58071 32.8248 25.4581 -46.099 96.5402 -1143 2 6.95637 1.96939 34.1577 50.8871 50.0147 -11.457 -1144 1 5.63587 5.55012 15.3806 92.2133 73.6508 52.3846 -1145 2 6.56181 5.55866 15.6231 -130.377 1.2146 -37.5389 -1146 2 5.33094 6.43826 15.5663 44.7075 -99.2767 -21.2438 -1147 1 3.24197 34.9522 10.9341 17.2036 -1.52774 9.33956 -1148 2 2.7887 0.238224 11.2221 -30.9696 18.823 -2.34631 -1149 2 4.08818 34.9841 11.3804 15.9618 -17.4101 -2.88726 -1150 1 10.5446 28.1697 5.04139 55.7205 -11.45 -30.6131 -1151 2 10.7484 28.8432 5.69027 -2.43738 9.2734 21.0659 -1152 2 9.62178 27.964 5.1907 -41.4898 -3.41787 17.5967 -1153 1 17.0092 14.0659 8.09647 -12.136 -64.9675 -42.4125 -1154 2 17.3431 14.7589 8.66621 6.79549 55.0712 19.4704 -1155 2 16.5827 14.5314 7.37705 9.12413 7.3379 22.4737 -1156 1 6.62718 33.8523 2.7885 -175.304 114.452 -163.462 -1157 2 5.76537 34.0356 3.16259 53.0361 -47.3213 73.6221 -1158 2 6.58166 34.2015 1.89843 104.742 -68.6427 95.0605 -1159 1 29.7652 24.7644 2.86101 31.5485 29.5689 5.18325 -1160 2 29.2091 23.99 2.77496 89.7481 21.2068 32.4867 -1161 2 30.5676 24.4394 3.26941 -101.79 -34.1407 -36.7138 -1162 1 13.5911 30.3716 2.31083 7.38646 -93.7607 142.075 -1163 2 12.6998 30.488 2.64013 17.0731 19.9579 -45.8209 -1164 2 14.0047 29.782 2.94132 -12.5232 72.6453 -107.847 -1165 1 12.3977 27.4721 30.6571 -57.9762 46.4221 48.3965 -1166 2 12.976 27.1696 29.9569 44.913 -34.3822 -37.8674 -1167 2 12.4809 26.8076 31.341 11.6055 0.319656 -17.5517 -1168 1 6.06068 34.0502 23.5902 -57.9836 -49.9335 78.7031 -1169 2 5.97725 34.4306 22.7158 80.0963 18.9425 1.99906 -1170 2 6.98204 34.1734 23.8186 -18.7054 31.5723 -80.6112 -1171 1 14.9074 2.14518 10.3424 -3.86741 -53.7378 51.4215 -1172 2 15.8029 2.09856 10.0073 -28.5191 34.2278 -16.329 -1173 2 14.5045 2.86146 9.85158 35.2613 16.6623 -28.9955 -1174 1 5.95436 23.5246 19.2547 56.8234 -91.8572 2.69859 -1175 2 6.54424 22.9592 19.7534 -16.4427 57.3292 24.6682 -1176 2 5.77843 23.0373 18.4498 -32.3426 34.3286 -33.6345 -1177 1 16.5383 22.9775 33.9079 -25.623 13.5284 7.35937 -1178 2 16.9652 22.2488 33.4573 14.2626 -60.371 -95.9308 -1179 2 16.944 22.9944 34.7747 13.8359 48.4157 98.0346 -1180 1 19.3595 19.3018 25.9192 53.3344 39.8848 31.3257 -1181 2 18.4077 19.4001 25.8917 -21.9983 -24.9642 -21.1437 -1182 2 19.5531 18.6508 25.2447 -26.2432 -18.9209 -17.6824 -1183 1 17.8401 26.2845 20.606 40.1769 77.7602 46.7425 -1184 2 18.3464 25.5318 20.3003 17.2256 -37.5992 -20.2908 -1185 2 18.4831 26.8468 21.038 -51.2144 -42.8042 -29.1582 -1186 1 25.3913 19.8552 30.7376 20.0936 -65.381 -71.8147 -1187 2 24.7959 19.2127 31.1236 1.40413 20.913 15.475 -1188 2 25.3818 20.59 31.3509 -16.3859 32.8174 45.5155 -1189 1 32.1725 22.9298 4.21561 -24.7259 98.7674 -35.3221 -1190 2 32.6174 22.3949 3.5582 8.01284 -36.5995 20.1539 -1191 2 32.1195 22.3664 4.98761 16.4227 -55.8294 12.2274 -1192 1 17.293 0.371901 33.3426 -29.2453 33.5646 -5.3233 -1193 2 16.6778 1.10483 33.3677 74.5313 -46.2801 -10.1642 -1194 2 18.1074 0.753287 33.0149 -50.7551 10.5434 13.6834 -1195 1 12.8918 11.4121 34.9634 -58.3647 143.561 -30.6204 -1196 2 13.7859 11.6081 35.2433 -18.8504 -104.751 1.91778 -1197 2 12.8302 10.4579 35.0075 91.388 -47.4214 32.8659 -1198 1 6.36207 31.8606 10.2731 -135.307 63.22 -9.47997 -1199 2 6.36892 32.2067 11.1655 57.4111 -42.3017 -45.4597 -1200 2 7.21503 31.4379 10.1731 87.2992 -15.188 54.1059 -1201 1 28.3837 3.88807 10.784 2.27523 31.5532 -42.2355 -1202 2 28.4188 3.66246 11.7135 -2.24411 4.62971 23.9645 -1203 2 28.1944 4.82629 10.7717 3.21905 -41.1355 15.5841 -1204 1 18.3948 3.79886 25.3535 73.1638 -120.408 -4.47755 -1205 2 18.429 2.84257 25.3776 -3.81601 100.317 1.68225 -1206 2 17.4648 4.00804 25.44 -57.8416 12.8671 -1.42522 -1207 1 30.8084 7.81437 7.0699 102.38 -11.3463 13.9379 -1208 2 30.6043 7.49665 7.94947 -56.6145 -7.38245 25.8535 -1209 2 31.7639 7.78607 7.02024 -36.4349 18.0501 -41.8929 -1210 1 23.5106 5.83877 2.88586 37.2541 -48.3299 55.3324 -1211 2 23.8638 5.67191 3.75971 -26.7954 19.2891 -68.2444 -1212 2 23.7226 5.05005 2.38664 -4.96277 30.2279 5.58204 -1213 1 20.521 3.94364 31.1629 -47.5713 61.9085 82.8437 -1214 2 20.2273 4.51578 31.8719 -25.7834 -50.6714 -46.9258 -1215 2 21.4544 4.13492 31.0712 75.2943 -15.9676 -42.0404 -1216 1 35.4734 28.0649 0.545313 43.7911 43.3453 83.2764 -1217 2 0.719897 27.8074 35.4604 13.1602 -29.7558 -64.9751 -1218 2 0.3481 28.5217 1.29524 -55.9305 -10.0894 -18.5136 -1219 1 25.3434 8.52543 3.30452 2.68319 116.19 -69.5319 -1220 2 24.8083 8.23407 4.04283 11.9946 -67.0033 26.5426 -1221 2 25.9107 7.7794 3.11011 -12.5781 -57.7959 42.733 -1222 1 14.0305 20.3049 1.00346 97.4574 103.285 -4.32456 -1223 2 14.5352 21.0518 1.32538 -39.29 -71.4043 -38.5883 -1224 2 13.3736 20.1488 1.682 -52.2565 -20.6915 42.6683 -1225 1 4.87206 5.75987 12.7023 -6.3087 1.3838 -22.8637 -1226 2 5.71533 6.05576 12.3594 -10.4187 -12.7283 36.8865 -1227 2 5.04403 5.55981 13.6225 34.3757 14.394 -19.8446 -1228 1 13.5366 35.1238 16.5047 -49.915 -180.894 115.595 -1229 2 13.073 0.353281 16.1048 -53.7603 99.8364 -61.4548 -1230 2 12.8458 34.5887 16.8954 103.367 69.5917 -51.6059 -1231 1 31.2842 13.9756 12.1655 52.8024 -20.3553 2.40583 -1232 2 30.3507 14.0549 12.362 -54.8058 6.85213 12.1205 -1233 2 31.3501 14.1703 11.2307 -2.71706 8.74406 -17.2599 -1234 1 23.7287 25.7733 13.0452 17.6814 -88.1793 -0.0907475 -1235 2 23.5572 26.1842 12.1979 -12.9211 54.6089 -33.7686 -1236 2 23.9578 24.8688 12.8313 -5.94387 37.7036 45.7103 -1237 1 18.4257 13.2996 12.6757 58.2863 69.1626 -74.5633 -1238 2 18.7099 12.845 13.4687 46.7597 -48.3383 98.3482 -1239 2 17.5212 13.0143 12.5465 -104.479 -19.1726 -26.2275 -1240 1 24.3805 21.2318 28.5222 -16.6584 12.8651 -28.1703 -1241 2 24.888 20.7134 29.1466 16.9641 12.4199 -40.5222 -1242 2 24.9442 21.2984 27.7515 -2.44622 -29.6153 63.2217 -1243 1 4.76601 3.74899 28.1536 -31.4564 56.147 -22.1624 -1244 2 3.98332 4.07454 28.5982 25.1202 -20.8058 -4.77683 -1245 2 4.86658 4.32258 27.3939 9.85382 -29.6967 24.1702 -1246 1 31.108 24.4217 27.2462 -32.8319 4.04044 11.7032 -1247 2 30.9657 24.3003 26.3075 28.2469 -26.1525 -50.6649 -1248 2 30.343 24.9144 27.5432 -4.42364 11.0213 44.9813 -1249 1 17.2783 19.5093 16.9655 -60.1784 -29.4078 150.552 -1250 2 16.8826 19.416 17.8321 72.6947 -18.5118 -89.5063 -1251 2 16.815 20.2466 16.5682 -16.5438 51.6415 -60.3519 -1252 1 3.72712 18.9765 12.2733 -60.481 -21.5634 -8.54324 -1253 2 3.66857 19.3414 11.3903 37.0586 20.8875 -20.4083 -1254 2 2.88663 18.5388 12.4083 30.8409 -0.239219 39.8288 -1255 1 20.9657 21.2382 26.7901 -32.3032 -33.3405 70.7632 -1256 2 20.371 20.5309 26.5405 31.4588 42.4983 31.1449 -1257 2 20.9334 21.2526 27.7466 -6.91795 -14.0858 -89.827 -1258 1 32.5271 5.30066 27.394 101.283 85.3312 -24.7355 -1259 2 32.5765 5.97016 26.7117 -58.6391 -37.4096 -2.67819 -1260 2 33.3762 5.343 27.8338 -43.855 -51.8169 26.8108 -1261 1 4.50556 19.021 2.7385 58.9959 21.6696 -28.7879 -1262 2 4.92573 18.2632 3.14518 -4.83727 -11.7556 10.0253 -1263 2 3.57771 18.9249 2.95321 -62.8393 -19.4247 20.2901 -1264 1 5.79971 17.6809 34.541 38.5048 -44.0747 -11.9115 -1265 2 5.23998 18.2445 34.0069 -24.9319 22.9427 -7.74228 -1266 2 5.65575 17.9809 -0.00869391 -12.5216 17.4664 21.9898 -1267 1 2.03129 11.2778 4.67972 14.1215 16.6431 11.1564 -1268 2 2.51154 11.8318 4.06435 41.8172 36.2027 -2.91361 -1269 2 1.34576 10.8698 4.15072 -50.1017 -43.9426 0.246861 -1270 1 21.6378 11.6763 6.00517 58.4066 1.86269 -35.668 -1271 2 22.2118 11.437 5.2775 -22.8664 29.5295 40.54 -1272 2 20.8832 11.0939 5.91714 -47.8755 -23.4964 7.0582 -1273 1 12.7351 6.22467 3.30416 -0.976459 -152.272 -15.1903 -1274 2 12.9753 6.93245 3.90215 -16.1236 82.1518 -46.7996 -1275 2 12.4285 6.67102 2.51486 14.7223 79.8271 55.3646 -1276 1 8.02075 27.6995 5.68907 0.105108 7.77206 -15.0229 -1277 2 7.57159 27.1964 6.36829 -7.38328 2.60367 8.30732 -1278 2 7.72177 28.5994 5.81975 -4.10548 -19.1299 3.94593 -1279 1 25.0734 29.2811 32.0874 87.3603 -44.2001 -65.4859 -1280 2 25.8469 29.0521 32.6026 -36.9664 6.74013 -6.93622 -1281 2 24.4383 29.5912 32.733 -52.6967 27.5081 69.9018 -1282 1 1.22354 34.1624 23.4099 -70.2961 -14.3262 -32.7606 -1283 2 2.01674 34.4997 23.8262 89.2072 23.5083 32.8694 -1284 2 0.514189 34.4259 23.9961 -21.9767 -4.25928 2.85625 -1285 1 32.5606 17.3037 1.33552 -3.55823 -4.86336 2.57453 -1286 2 32.0526 16.5053 1.47954 5.0489 30.4425 -16.5687 -1287 2 32.1165 17.7432 0.610343 6.61525 -33.5489 21.8662 -1288 1 23.5606 32.1915 29.5912 -58.9738 27.5069 -119.926 -1289 2 23.5826 31.8743 30.4941 51.0545 3.28699 71.6217 -1290 2 24.3671 32.6981 29.4951 1.82036 -23.095 59.7299 -1291 1 19.5201 6.96296 31.098 -33.4441 17.598 55.087 -1292 2 19.3294 6.57096 30.2458 32.5061 -40.602 -83.7079 -1293 2 18.6621 7.19711 31.4519 22.9384 18.547 31.2692 -1294 1 4.38512 5.1998 20.8473 24.9778 33.632 -14.5609 -1295 2 4.92522 5.85634 20.4074 -19.9868 -30.0931 13.8877 -1296 2 4.17731 5.58975 21.6964 -2.66288 -4.31882 0.543793 -1297 1 31.4096 11.1988 22.7912 3.41945 -18.1746 -114.057 -1298 2 30.9434 11.0298 21.9724 37.9262 17.9978 76.3244 -1299 2 30.7409 11.1115 23.4705 -51.5111 -4.46773 44.084 -1300 1 22.1571 13.6464 17.9692 20.051 160.475 61.447 -1301 2 21.9787 13.3388 17.0806 -18.7429 -46.2623 -87.2785 -1302 2 22.1932 14.5997 17.8905 -3.9102 -106.03 25.4767 -1303 1 27.1765 16.0707 32.8225 86.1395 -82.5375 -62.9647 -1304 2 26.8988 16.0748 31.9065 -9.50974 9.82048 16.448 -1305 2 26.5906 16.6928 33.2537 -75.8713 76.5065 41.2929 -1306 1 15.665 24.9406 32.3942 -29.3091 70.6216 -34.1987 -1307 2 15.8541 24.241 33.0196 17.3246 -47.2529 24.742 -1308 2 15.7701 24.5302 31.5359 5.66033 -13.5667 -2.13695 -1309 1 15.408 32.1299 30.7089 115.781 42.9243 62.4771 -1310 2 16.2953 32.4051 30.9396 -99.1638 -22.203 -3.50268 -1311 2 15.4783 31.8272 29.8036 -22.0022 -22.7219 -57.5648 -1312 1 16.0269 35.5208 25.8556 48.1596 -10.6463 26.2732 -1313 2 16.3107 34.673 26.1976 -42.2113 43.6875 -28.5338 -1314 2 15.1486 35.3589 25.5114 -5.96048 -29.6144 7.59265 -1315 1 22.6023 17.622 10.5767 -36.1924 -30.5014 -26.9574 -1316 2 22.1544 17.0701 9.93558 22.6295 18.8292 9.28398 -1317 2 21.9809 17.7018 11.3005 -4.26698 7.54511 22.6868 -1318 1 19.6527 1.47462 32.3789 -12.2142 -28.9087 8.04189 -1319 2 19.9334 2.33577 32.0692 -2.62415 -18.0943 -34.504 -1320 2 19.5892 0.94317 31.5854 12.567 52.9065 15.0016 -1321 1 29.9469 28.284 22.6292 -39.1106 69.5603 25.8377 -1322 2 29.2973 27.5903 22.7434 -13.0205 -30.7032 5.78975 -1323 2 30.7475 27.8241 22.3769 65.4846 -52.0904 -22.7206 -1324 1 1.2726 25.4708 15.544 -45.5079 17.5669 -55.8638 -1325 2 1.00544 25.8573 14.71 17.7594 -35.0725 71.8048 -1326 2 0.47714 25.0616 15.8847 18.1907 15.9788 -12.9239 -1327 1 15.3159 29.3189 6.73734 -2.02491 -29.0031 -0.930171 -1328 2 14.9965 28.4535 6.99287 -72.2606 -34.4565 -7.17928 -1329 2 16.2354 29.3235 7.00313 72.1792 62.7168 -0.0444177 -1330 1 32.3569 35.0381 20.7172 7.0959 -6.20045 -33.7562 -1331 2 33.2862 35.0845 20.9418 -37.5874 -1.53598 24.1924 -1332 2 31.9107 34.9471 21.5591 32.0734 2.90974 10.1871 -1333 1 16.0024 9.2535 19.8541 72.4051 81.66 -72.9817 -1334 2 16.2106 9.61439 20.7159 -33.4838 -46.4534 1.14611 -1335 2 15.4614 8.48595 20.0397 -37.1277 -48.0831 65.0859 -1336 1 0.161092 12.4703 34.7744 12.2039 3.05784 3.57477 -1337 2 0.227633 12.2363 33.8486 -11.0561 -12.6126 -24.4493 -1338 2 1.06042 12.6652 35.0379 8.82702 4.72066 14.8727 -1339 1 10.8803 14.0171 18.6776 71.8329 41.0729 58.9697 -1340 2 9.9777 14.2843 18.504 -24.3282 19.696 13.0716 -1341 2 11.1754 14.6055 19.3725 -51.4206 -57.9544 -72.5678 -1342 1 10.1528 18.8692 10.8437 -76.8134 -60.1193 -33.2812 -1343 2 10.9615 18.4218 10.5945 45.0918 1.09944 2.21813 -1344 2 9.45596 18.3368 10.4599 29.7685 55.6589 34.0211 -1345 1 27.8606 32.5033 21.0207 35.7226 -57.1208 21.6396 -1346 2 27.4858 32.3186 20.1595 9.18463 -2.64104 17.5864 -1347 2 28.2767 31.6819 21.2825 -40.3337 59.6224 -30.8282 -1348 1 22.3488 4.76645 7.82381 9.70975 -1.66795 -4.14218 -1349 2 23.2087 5.12525 7.6047 39.6281 -5.95853 -38.2003 -1350 2 22.0354 5.31589 8.54227 -48.9028 10.9985 43.1758 -1351 1 22.1743 31.295 5.91224 -105.748 -32.7267 45.3784 -1352 2 22.1292 30.4773 5.41671 47.1225 -4.78591 -29.5695 -1353 2 21.358 31.3183 6.41156 59.9512 40.0693 -12.7264 -1354 1 30.1296 27.2073 12.2108 4.58457 -11.0289 1.85728 -1355 2 30.0951 26.266 12.0403 37.283 65.8111 22.9591 -1356 2 31.024 27.3636 12.5141 -40.7559 -46.5712 -21.1669 -1357 1 5.00064 18.675 17.14 -33.0814 -16.1069 -6.87397 -1358 2 4.34836 18.7908 17.8309 49.2484 11.4397 -18.974 -1359 2 5.73674 19.2239 17.4104 -24.0873 0.94509 26.7424 -1360 1 0.506065 15.2301 32.8526 -42.7934 -9.89495 -32.0656 -1361 2 0.0495987 14.9647 32.0543 25.9805 8.96974 34.4161 -1362 2 35.3228 15.2939 33.5135 12.713 1.28012 -8.30898 -1363 1 0.363005 21.4896 23.8864 6.27916 18.2402 -176.719 -1364 2 35.4303 21.6582 23.0527 17.8652 -11.7523 124.524 -1365 2 1.23751 21.188 23.6403 -17.6735 7.78026 48.073 -1366 1 8.03728 15.2226 26.8397 -84.7474 99.6952 95.9521 -1367 2 8.74964 15.7825 27.1485 2.18716 -33.5928 -31.015 -1368 2 7.25601 15.5682 27.2715 85.017 -67.9654 -66.4092 -1369 1 34.6838 18.8502 10.8922 -0.259639 -46.2597 6.36543 -1370 2 0.00799904 18.3869 10.7832 15.6853 -42.1857 4.87203 -1371 2 34.8715 19.7474 10.6165 -13.9009 85.9933 -20.1174 -1372 1 31.3398 22.9006 34.2952 -67.4276 -7.60732 5.21933 -1373 2 31.9538 22.7215 33.583 137.992 -4.85595 -54.0105 -1374 2 30.4807 22.6878 33.9306 -71.1965 3.99713 45.985 -1375 1 35.1271 20.4288 21.394 -35.7539 28.9737 -83.235 -1376 2 35.3537 19.7239 22.0006 29.5449 -64.6546 84.6042 -1377 2 35.045 19.9967 20.5438 -4.21543 32.4219 16.3262 -1378 1 17.3691 12.9617 29.5298 -50.6158 16.5385 -68.0183 -1379 2 17.3472 13.2666 28.6227 51.043 10.5019 3.85175 -1380 2 16.4616 12.7297 29.7269 5.42638 -20.7268 48.6147 -1381 1 16.0952 4.35113 20.4656 -111.562 -23.1831 -30.4415 -1382 2 16.8442 4.88951 20.21 59.6749 -10.7025 31.4165 -1383 2 16.4392 3.76619 21.1407 56.1101 24.296 2.44889 -1384 1 13.6655 33.4732 9.21016 -14.6434 37.0793 15.1981 -1385 2 14.2197 33.2523 9.95868 -9.57172 -23.2998 -40.9927 -1386 2 13.8557 32.7948 8.56223 24.3428 -15.0531 27.2471 -1387 1 25.1695 0.643382 29.2335 21.6465 7.95298 -130.788 -1388 2 24.7386 0.166493 29.9428 -29.9978 -22.498 78.141 -1389 2 25.5891 1.38773 29.6649 3.33758 13.4086 29.2283 -1390 1 24.8138 0.436907 0.690727 82.9688 63.0709 -81.8661 -1391 2 25.2941 0.519025 1.51461 -3.8017 3.41814 -32.584 -1392 2 25.3749 0.862377 35.4895 -86.4281 -63.7493 106.295 -1393 1 13.7956 23.6312 5.71698 -35.7377 -64.3828 62.7025 -1394 2 13.842 24.1956 4.9453 -21.5195 70.6055 -99.7723 -1395 2 14.6849 23.6351 6.07102 59.4049 -13.6179 44.5807 -1396 1 7.02677 26.6503 3.02399 -21.3525 -19.2925 1.13509 -1397 2 7.55117 26.8222 3.8061 11.0515 11.8412 13.9462 -1398 2 6.54412 25.8497 3.22987 5.1324 7.58352 -12.6751 -1399 1 18.318 10.3747 9.8207 -69.0317 -42.8691 127.234 -1400 2 18.707 10.6545 8.99207 44.2864 49.335 -117.918 -1401 2 17.434 10.7417 9.80682 22.0442 -3.86412 -9.97593 -1402 1 22.326 9.87117 1.19539 40.9266 19.5162 -10.9025 -1403 2 21.5732 10.3756 0.887038 -9.18788 -28.0544 15.3445 -1404 2 21.9446 9.16763 1.72058 -34.0527 5.68362 -4.38123 -1405 1 10.9077 22.4384 26.2571 53.7764 -11.6296 -86.1821 -1406 2 10.3417 22.4067 27.0285 34.0431 -34.4579 21.229 -1407 2 11.5524 21.7462 26.4038 -80.1967 47.6878 34.6446 -1408 1 1.32004 18.3856 3.4783 -27.7467 110.044 35.0836 -1409 2 1.00096 18.0083 4.29811 2.17993 -56.7925 19.1756 -1410 2 1.03374 19.2985 3.50678 36.0406 -40.6698 -42.6953 -1411 1 6.61677 10.2852 21.3574 9.58689 -39.0761 64.6614 -1412 2 6.49798 10.336 22.3058 -7.33316 19.6021 -41.7054 -1413 2 6.96581 9.40689 21.2059 -6.30944 16.7036 -21.0585 -1414 1 19.8012 1.74541 35.1965 -29.4306 -7.47265 57.1041 -1415 2 19.8884 1.70617 34.2441 13.6581 2.39509 -47.3898 -1416 2 20.601 2.17956 0.0459631 11.8203 4.44552 -10.5283 -1417 1 22.0001 23.1291 31.8058 -54.6841 16.07 1.56329 -1418 2 21.1377 23.5428 31.7681 -10.1327 -24.8997 -22.7677 -1419 2 22.5056 23.6821 32.4016 59.6791 6.74463 25.8539 -1420 1 21.0289 21.4059 14.8517 -44.1254 -67.6583 2.8981 -1421 2 20.6787 20.8086 15.5126 24.1258 41.8838 -25.1308 -1422 2 20.7142 21.0538 14.0191 19.8493 21.3704 23.5235 -1423 1 29.505 13.0928 27.0217 -107.653 103.967 -57.0344 -1424 2 29.8602 12.7396 27.8374 18.1003 -17.1709 78.425 -1425 2 28.8285 13.7094 27.3017 87.5048 -87.3846 -21.3471 -1426 1 30.7698 14.8611 17.3189 17.5138 -134.472 -42.0085 -1427 2 30.4122 15.6867 17.6457 -50.4164 96.8817 38.7428 -1428 2 30.006 14.2941 17.2123 34.0684 32.1428 2.369 -1429 1 12.5732 32.154 27.8481 -6.31995 23.46 -13.9166 -1430 2 12.6209 33.0232 27.4502 9.90664 -36.2322 16.7352 -1431 2 13.4863 31.8831 27.9431 -1.57741 13.2234 -5.62125 -1432 1 15.4498 20.1384 7.8344 48.4415 41.1344 -58.0345 -1433 2 16.0623 20.5634 7.234 -42.8246 -19.7189 44.354 -1434 2 15.4537 19.2185 7.56981 -7.21379 -22.1224 2.01465 -1435 1 27.2557 6.25579 2.82563 -59.761 92.8868 -65.711 -1436 2 27.5031 5.33128 2.84265 34.811 -83.2273 23.7266 -1437 2 27.6042 6.6126 3.64264 23.1159 -6.88647 41.2559 -1438 1 32.3064 10.3228 17.6539 118.765 -108.507 -61.3909 -1439 2 32.9663 10.3428 16.9608 -60.4617 78.2692 14.0558 -1440 2 32.4224 9.46918 18.0711 -64.5691 29.4345 48.0744 -1441 1 17.3491 14.8921 22.4719 -44.6868 6.44812 46.6807 -1442 2 17.9987 14.7469 21.7841 -6.22047 24.2872 -10.1369 -1443 2 17.0204 15.7762 22.3089 37.4009 -46.2035 -15.619 -1444 1 24.791 15.5753 30.8618 -64.4598 -19.7068 38.6591 -1445 2 23.9186 15.6713 31.2437 40.3392 12.4654 -23.9298 -1446 2 25.0554 14.6837 31.0884 14.1664 20.6161 -10.7037 -1447 1 18.6782 24.8372 24.4046 -14.5103 -31.9694 -38.4522 -1448 2 17.859 25.2 24.0678 -31.385 54.4281 29.1764 -1449 2 18.8975 24.1329 23.7946 49.2072 -15.3593 20.9719 -1450 1 4.57751 35.3113 30.6937 -15.6966 67.0722 14.9899 -1451 2 4.18802 34.5119 30.3395 -28.7954 -55.821 -26.0477 -1452 2 5.49527 35.0848 30.8442 38.1821 -9.54411 10.9305 -1453 1 22.1368 7.03674 27.3081 32.7954 91.2137 44.1913 -1454 2 21.753 6.16242 27.2411 -18.4835 -43.5438 -51.6082 -1455 2 22.2482 7.3202 26.4007 -15.9554 -43.6992 -0.093033 -1456 1 20.9956 25.6219 2.95695 -98.5049 58.8207 -38.9534 -1457 2 21.6083 24.9057 2.79006 47.7293 -54.4712 -10.745 -1458 2 20.3559 25.5607 2.24751 41.6943 1.0756 41.7927 -1459 1 19.8924 8.7545 11.5513 55.7089 -129.639 124.693 -1460 2 19.3642 9.23782 10.9159 -32.6135 100.35 -83.5693 -1461 2 20.6791 9.28782 11.6646 -21.4365 33.3546 -37.0064 -1462 1 35.3169 7.31809 4.49898 29.4751 -21.769 16.3554 -1463 2 34.9183 7.01033 3.68494 -63.81 16.2325 -75.7788 -1464 2 0.447432 6.64038 4.72557 49.7681 -5.96568 51.491 -1465 1 1.9355 20.4295 32.7373 0.0235286 41.2151 -46.5324 -1466 2 1.65024 20.8948 31.951 32.4868 -1.84136 26.2853 -1467 2 1.22056 19.8228 32.9299 -33.0497 -43.2753 32.1616 -1468 1 14.6938 26.3169 16.5184 -49.6012 7.41863 -31.0797 -1469 2 14.3727 26.4394 17.4118 44.7859 -7.20856 -5.11159 -1470 2 15.6396 26.207 16.6162 5.67087 2.23012 40.7061 -1471 1 34.5432 29.0051 17.205 87.3538 -47.5622 -43.7907 -1472 2 -0.0131445 29.0815 17.1158 -77.6281 14.2291 15.3026 -1473 2 34.3414 28.1278 16.8796 -16.092 30.8182 12.6619 -1474 1 19.1676 26.024 7.57252 17.3309 28.2203 -10.3177 -1475 2 19.5078 25.4445 6.89079 -22.7028 -74.1092 -43.6128 -1476 2 19.8731 26.652 7.72774 11.6307 60.3526 48.1414 -1477 1 5.88699 11.5974 0.0750917 -11.397 6.61126 12.4805 -1478 2 6.61357 11.6352 34.9003 -54.4901 17.725 1.45372 -1479 2 5.19218 12.1117 35.1112 73.1208 -29.3779 -9.78091 -1480 1 33.5452 10.1857 28.6521 -117.999 -6.82498 -96.5276 -1481 2 33.0353 10.128 27.8441 88.4536 10.9027 59.8411 -1482 2 32.9019 10.0673 29.3509 24.4362 4.883 32.0541 -1483 1 12.8347 20.7594 27.3436 64.8954 13.5772 -12.4334 -1484 2 12.1335 20.746 27.995 -35.754 -6.40342 39.6202 -1485 2 13.6396 20.8173 27.8585 -26.5877 -4.82988 -18.2562 -1486 1 30.9453 23.5354 7.01712 -3.79111 -75.5576 -104.025 -1487 2 30.8188 23.3276 7.94291 -2.77067 -9.92772 48.2901 -1488 2 30.8368 22.698 6.56621 6.2652 93.6929 51.7292 -1489 1 22.3771 28.646 11.2728 61.7169 34.2017 21.3674 -1490 2 23.1106 29.1563 11.6161 -80.0898 -38.4124 -56.0167 -1491 2 22.1647 29.0631 10.4378 26.4728 2.43983 35.5913 -1492 1 23.9787 11.3621 13.9802 -37.0876 66.0885 -59.0902 -1493 2 24.0761 11.9626 14.7192 19.9802 -11.2667 54.877 -1494 2 23.6517 11.9104 13.267 9.21913 -50.9673 7.86957 -1495 1 19.0946 19.8258 30.3969 -6.72115 -13.0711 42.2878 -1496 2 19.5944 19.3543 29.7304 0.00751095 1.25155 46.2361 -1497 2 19.3222 19.392 31.2192 8.63242 12.2508 -79.4812 -1498 1 35.1985 30.2504 30.6737 -33.146 -58.7931 -60.4343 -1499 2 35.163 30.9483 31.3279 50.7396 10.2514 21.0995 -1500 2 0.612914 29.9899 30.6505 -18.3276 41.9676 40.2048 -1501 1 3.50028 19.4402 27.8959 -12.9943 8.03922 24.0427 -1502 2 2.812 19.2077 28.5192 64.0106 29.1795 -28.1468 -1503 2 4.05908 20.0535 28.3732 -47.6572 -35.5715 1.09958 -1504 1 8.60562 18.3221 15.0406 22.3767 2.09925 -37.4438 -1505 2 9.49043 17.9913 14.886 -12.0732 2.53916 -3.08372 -1506 2 8.48138 18.2423 15.9864 -6.76131 -8.00219 31.4675 -1507 1 15.0888 12.0278 30.3538 -24.2091 -81.8331 -11.8119 -1508 2 14.3122 12.0516 30.9129 3.24102 4.7152 2.64164 -1509 2 15.1575 11.114 30.0773 4.53056 74.9853 15.7961 -1510 1 34.2443 30.1962 12.7027 -61.5193 53.1761 11.2353 -1511 2 34.1387 30.8199 13.4211 46.9213 -66.5821 -47.9074 -1512 2 35.1054 29.8047 12.8493 15.0476 22.4894 32.7197 -1513 1 16.0363 11.3784 34.5979 -87.1601 95.4939 -32.3314 -1514 2 15.9994 12.1743 34.0674 3.93094 -63.6283 45.8668 -1515 2 16.9499 11.0977 34.5464 83.904 -29.8353 -3.16959 -1516 1 12.4152 19.7731 32.359 -29.23 -105.434 -42.2761 -1517 2 11.7582 19.8074 33.0543 43.706 57.5963 -11.7122 -1518 2 12.8722 20.612 32.419 -16.9607 52.1285 56.4364 -1519 1 16.3614 1.43284 13.6015 -46.342 25.3971 -20.4111 -1520 2 16.6779 2.32463 13.7458 -41.6887 -47.6717 -13.4338 -1521 2 15.4914 1.54591 13.2187 80.0304 11.2373 37.3255 -1522 1 3.93277 21.9872 35.0581 -58.7737 35.0306 -25.0108 -1523 2 3.31118 22.6785 34.8299 51.0255 -59.3625 16.4731 -1524 2 3.40055 21.1933 35.1095 15.4245 36.5818 0.309174 -1525 1 3.71521 25.4976 16.6129 -148.342 2.80328 -4.24477 -1526 2 3.58896 25.2752 17.5353 62.4394 -10.206 58.9231 -1527 2 2.82928 25.5411 16.2531 76.7206 14.8199 -48.8937 -1528 1 12.4985 4.72387 6.90255 1.91962 0.52362 -19.1508 -1529 2 12.6514 4.50999 5.98217 8.17142 -18.4337 1.58486 -1530 2 11.9509 5.50861 6.87878 -10.6994 16.2775 17.4777 -1531 1 0.21346 15.4946 12.4585 4.39006 -29.9867 56.3628 -1532 2 0.769886 15.5472 11.6814 17.657 -3.35287 -18.9153 -1533 2 0.636607 14.8388 13.0127 -20.1879 35.4316 -36.7927 -1534 1 18.2512 16.0368 12.3029 17.8365 38.5449 -61.9645 -1535 2 18.5747 15.2221 12.6874 -19.6615 -16.5382 28.7596 -1536 2 17.5497 16.3176 12.8905 -7.9691 -19.2674 30.5526 -1537 1 26.9017 18.5689 6.14094 26.8653 -71.854 8.15584 -1538 2 27.174 17.8118 6.6594 -31.1006 74.5865 -60.4986 -1539 2 26.9315 18.2625 5.2346 0.839629 4.62758 46.1112 -1540 1 33.442 4.98845 23.0317 -75.6749 -19.7714 19.3376 -1541 2 32.5433 4.81178 23.31 74.1662 17.7462 -24.8336 -1542 2 33.8705 4.13266 23.0467 2.97596 2.87355 2.89537 -1543 1 26.442 7.53491 13.3223 121.751 35.6501 30.8845 -1544 2 26.4996 8.46929 13.5219 -81.7588 -101.618 -37.0763 -1545 2 25.5189 7.3904 13.1143 -30.5681 66.173 16.9024 -1546 1 3.43826 25.264 19.5283 89.1385 -55.4691 20.9639 -1547 2 4.36612 25.0299 19.5058 -84.1054 23.8768 0.0693532 -1548 2 3.10198 24.8368 20.3161 -0.207042 15.1097 -23.8577 -1549 1 31.866 26.7728 18.8636 -9.0721 -13.1062 -6.48517 -1550 2 31.0204 26.6571 19.2969 -16.0098 1.98494 41.8094 -1551 2 31.6682 26.7056 17.9295 22.3541 5.14399 -34.0248 -1552 1 27.9829 0.0751176 33.1577 44.0638 1.24253 79.9828 -1553 2 27.1539 0.503472 33.3709 -17.5162 7.038 -15.5979 -1554 2 27.887 35.3146 32.2434 -21.7632 -9.16523 -67.5476 -1555 1 12.5009 14.3873 2.6462 55.5124 5.27167 -117.38 -1556 2 13.3795 14.0779 2.42584 -36.8136 3.6346 51.294 -1557 2 12.1504 14.7224 1.82091 1.70912 -19.6039 88.6409 -1558 1 35.3499 8.99378 30.2361 -71.673 137.679 -57.7263 -1559 2 34.738 9.54929 29.7532 92.4381 -73.5106 66.8807 -1560 2 35.0429 8.10164 30.0746 -15.2678 -67.3723 -6.51647 -1561 1 7.94184 25.3175 7.96439 -40.8607 -135.513 -106.497 -1562 2 8.07175 26.2092 8.28741 31.6947 88.0599 83.9912 -1563 2 8.25803 24.7571 8.67303 6.22746 44.5192 25.2024 -1564 1 32.0389 28.4793 8.5667 26.7942 -83.7809 -57.855 -1565 2 31.549 27.8876 7.9956 18.246 33.6491 35.1854 -1566 2 31.3699 29.0341 8.96795 -52.8128 36.9513 27.9447 -1567 1 7.65276 14.6738 31.3611 61.5049 -61.2367 1.31765 -1568 2 8.3836 14.1425 31.0452 -30.1415 5.69719 23.5996 -1569 2 7.66016 15.4497 30.8006 -14.928 49.3529 -30.5248 -1570 1 30.6546 5.02904 23.1487 32.4845 -17.5397 -93.7816 -1571 2 30.3254 5.90734 23.3398 -15.8593 14.3918 21.9405 -1572 2 30.8109 5.03157 22.2043 -10.5032 -20.2248 80.4125 -1573 1 16.77 18.1619 2.61666 32.1728 3.16549 11.3331 -1574 2 17.4259 17.7967 2.02271 -26.9007 8.54143 8.21315 -1575 2 15.9351 17.832 2.28438 -4.87514 -8.26756 -13.8911 -1576 1 24.4883 17.4271 17.1944 89.4519 15.8533 48.1909 -1577 2 23.568 17.313 17.4316 -57.0761 -12.7957 -18.7189 -1578 2 24.4958 17.3919 16.2379 -31.8419 -7.37793 -33.0905 -1579 1 26.3197 10.561 19.0568 -12.5125 29.391 13.0461 -1580 2 25.5556 11.0622 19.3417 71.2805 -15.1349 -17.1482 -1581 2 27.0516 11.1727 19.137 -57.3276 -12.5408 3.14824 -1582 1 17.3895 17.6639 5.36751 136.865 -46.2505 -86.6115 -1583 2 17.1875 17.8762 4.45625 -37.8252 2.79242 85.9577 -1584 2 16.6036 17.9157 5.85246 -96.6438 38.5511 -4.41566 -1585 1 17.483 20.8441 3.33293 -20.0766 -22.2361 -12.6015 -1586 2 17.3516 19.9309 3.07779 34.4362 -84.6278 29.6443 -1587 2 16.9046 21.3407 2.75404 -19.0832 93.1123 -7.33096 -1588 1 30.7037 8.90538 0.583707 63.0404 36.3138 -42.9969 -1589 2 31.2523 8.91432 1.36801 -14.4539 20.7652 -90.2982 -1590 2 31.2691 9.24757 35.3385 -47.807 -47.2069 128.263 -1591 1 17.2453 9.5157 26.9759 -60.856 -102.386 13.3636 -1592 2 18.0957 9.68447 27.3816 32.785 40.7682 -4.60386 -1593 2 17.1001 10.2674 26.4013 31.8421 57.3579 -14.2918 -1594 1 26.714 8.00411 33.0086 -18.8372 2.47145 -88.6429 -1595 2 26.4184 7.28436 33.5661 -6.78048 -42.4253 71.7477 -1596 2 26.318 7.82524 32.1557 23.0525 35.8489 7.53648 -1597 1 2.78382 32.0058 13.2659 -79.3847 -71.8506 -8.07404 -1598 2 2.87581 31.3758 12.5512 -5.84405 49.218 52.4079 -1599 2 1.99207 31.7305 13.7281 83.6797 26.2771 -44.1959 -1600 1 7.54066 16.0825 21.8424 83.3387 106.529 97.4681 -1601 2 8.1886 16.7346 22.1092 20.7274 -33.8673 -107.529 -1602 2 6.98425 15.9678 22.6127 -105.353 -83.5861 3.81267 -1603 1 3.5859 2.68851 31.3102 2.64894 -19.5051 -22.5632 -1604 2 3.77606 1.79432 31.0264 -0.583355 28.1287 27.2612 -1605 2 3.86178 2.71335 32.2264 2.91842 -15.4128 -1.29979 -1606 1 6.00535 6.06827 35.2473 21.0603 14.9965 65.757 -1607 2 6.87263 6.45646 35.1317 -4.70248 3.14836 -6.3667 -1608 2 5.73031 5.82735 34.3627 -12.7763 -13.9795 -52.1841 -1609 1 10.8009 12.6166 27.5365 -23.3163 29.9009 65.6171 -1610 2 10.01 12.2018 27.881 13.0457 1.8261 -17.6657 -1611 2 10.9429 13.3727 28.106 5.28197 -37.8943 -37.3005 -1612 1 5.91857 34.412 7.6627 -25.1587 -13.9473 -11.6672 -1613 2 6.17134 34.8139 8.49387 -30.1461 54.1173 99.284 -1614 2 6.73751 34.0732 7.30108 51.3012 -50.54 -80.2485 -1615 1 33.1196 4.34069 33.432 106.907 -83.3611 -24.5211 -1616 2 32.9915 5.2225 33.0824 -24.5718 79.7221 -19.805 -1617 2 33.9591 4.05826 33.069 -73.7331 8.37694 41.0772 -1618 1 4.74677 32.2549 32.8203 23.0535 2.88625 -90.9187 -1619 2 5.03231 32.4285 31.9233 -19.9967 -24.823 61.3615 -1620 2 4.54887 33.1193 33.1807 -3.71913 19.6053 24.3811 -1621 1 16.3431 0.390297 4.84014 92.1028 -29.6041 -88.0807 -1622 2 16.2331 35.0363 4.43524 -39.8901 11.9003 35.0145 -1623 2 17.173 0.715438 4.49121 -61.5698 14.9698 52.8055 -1624 1 29.7614 18.4935 11.691 -11.1144 -4.59879 18.648 -1625 2 29.6222 19.3822 12.0183 11.4933 -51.067 8.1685 -1626 2 29.8231 17.9542 12.4794 -4.1558 50.6836 -26.0052 -1627 1 6.35865 20.2396 32.1088 -1.83806 -23.796 -0.768101 -1628 2 5.60426 19.7608 32.4522 0.644557 -24.6272 -24.3801 -1629 2 6.37864 21.0514 32.6156 27.2229 66.0038 14.8107 -1630 1 32.3886 33.7655 35.3574 -34.9092 136.423 -9.40077 -1631 2 33.1176 34.3557 35.1662 -4.66992 -58.7547 4.14178 -1632 2 31.6272 34.3408 35.432 32.1983 -80.4017 2.11851 -1633 1 33.535 26.8252 15.68 -24.9602 -98.0496 -155.48 -1634 2 33.3744 27.5341 15.0572 9.75888 26.8221 40.8427 -1635 2 33.4921 26.0277 15.1523 13.7426 71.5683 113.526 -1636 1 10.2698 4.84621 26.0289 -42.4697 -49.8707 63.1331 -1637 2 9.72661 4.19971 26.4797 51.487 59.2848 -51.3943 -1638 2 9.9363 4.8561 25.1317 -7.36393 -4.22669 -4.63818 -1639 1 21.2839 12.9972 30.4097 -2.4449 -61.1998 15.9761 -1640 2 20.6421 12.3291 30.6505 78.1043 62.6959 -18.1643 -1641 2 22.1322 12.5848 30.5725 -72.0347 11.544 -7.13444 -1642 1 15.4545 8.3492 23.3732 6.15535 45.4233 123.296 -1643 2 15.3671 7.90171 22.5315 -4.06507 -39.2025 -95.8133 -1644 2 15.9371 9.15051 23.17 -3.96388 -6.89081 -19.4508 -1645 1 6.9692 34.4149 28.2496 126.344 13.0669 92.9354 -1646 2 7.75215 34.2986 28.7878 -80.6382 -33.7673 -79.4595 -1647 2 6.6558 35.2925 28.4683 -57.791 32.4648 -27.4451 -1648 1 1.81069 22.893 2.63117 -18.1116 -2.7492 -100.894 -1649 2 1.55963 22.8823 1.70753 -6.5128 -6.94875 85.854 -1650 2 2.69067 23.2696 2.63633 21.9196 9.64694 25.3183 -1651 1 33.2762 8.93412 34.7773 -13.2381 56.1361 38.4201 -1652 2 33.5997 8.15141 34.3312 25.4279 -26.9532 -8.4114 -1653 2 33.9793 9.17417 35.3809 -17.2597 -31.508 -36.1669 -1654 1 11.2728 30.3309 3.53307 74.4696 124.831 -73.1291 -1655 2 10.3798 30.4519 3.21011 -42.5272 -22.7395 7.19523 -1656 2 11.2115 29.5902 4.13636 -46.901 -97.3504 65.2987 -1657 1 24.9656 2.12252 18.9021 33.3563 -17.3579 39.7137 -1658 2 25.4507 2.94695 18.8673 -5.67418 -38.5328 11.5703 -1659 2 25.4573 1.58052 19.5191 -30.7963 54.7743 -50.3064 -1660 1 27.5802 12.9165 22.8062 34.2937 -106.205 -22.72 -1661 2 28.2409 13.4616 22.379 46.0228 31.356 -28.0055 -1662 2 26.9553 13.5411 23.1745 -80.0686 77.0279 49.3683 -1663 1 34.6817 21.4399 8.60969 -73.058 22.5949 45.0197 -1664 2 35.104 21.1458 7.80258 47.7135 -13.3412 -3.90043 -1665 2 35.3457 21.3139 9.28759 20.5098 -6.8073 -35.3017 -1666 1 2.66043 24.6342 34.3839 -201.347 15.5141 46.9287 -1667 2 2.54285 25.5752 34.2532 89.1663 43.726 -25.045 -1668 2 1.78739 24.3121 34.6082 109.098 -60.0536 -14.7027 -1669 1 21.599 20.2716 9.43204 -56.4951 -35.9493 -88.8409 -1670 2 21.31 19.7799 10.2008 2.83399 -12.92 68.5135 -1671 2 21.1026 19.8948 8.70553 43.6339 44.7837 17.264 -1672 1 17.7015 4.32954 28.8155 -33.6982 -68.3783 27.9871 -1673 2 18.2861 5.04784 28.5736 30.5259 48.6789 -26.0938 -1674 2 17.0824 4.26851 28.088 4.70363 8.36075 -11.4455 -1675 1 33.5959 13.3965 0.695757 2.79841 -24.1553 -42.5753 -1676 2 32.7156 13.039 0.579496 -14.9363 8.19131 18.7453 -1677 2 34.0833 13.0874 35.3793 9.4111 19.0814 31.0753 -1678 1 14.7123 15.9805 26.964 -42.2435 47.3128 -122.718 -1679 2 14.7242 15.4242 27.7429 26.2961 -54.2827 108.603 -1680 2 15.4805 16.5435 27.0595 26.2067 -1.75861 29.3924 -1681 1 25.2092 21.9557 32.2815 4.04508 35.4619 23.1261 -1682 2 25.3274 22.9036 32.2198 -7.9735 -53.6536 13.5863 -1683 2 25.1049 21.7873 33.2179 2.69287 22.6518 -31.5403 -1684 1 6.8152 3.83407 8.73031 -7.34112 5.27456 2.31529 -1685 2 7.56538 3.28217 8.50919 60.3111 -7.62897 -24.0959 -1686 2 6.13748 3.21783 9.00813 -51.0667 -4.31125 21.852 -1687 1 9.21614 7.78454 24.9559 94.662 18.0946 21.3798 -1688 2 9.5013 7.22695 25.6798 -8.6858 30.463 -41.8049 -1689 2 10.0137 8.22672 24.6649 -84.4616 -48.6356 40.5947 -1690 1 25.7661 24.5664 31.8221 16.139 4.73405 -156.303 -1691 2 25.2319 25.3353 31.6226 -32.5472 39.6123 65.8085 -1692 2 26.059 24.2494 30.9677 23.401 -39.9205 88.9561 -1693 1 15.9782 35.0173 18.8879 132.666 -54.1077 123.171 -1694 2 15.0677 35.0725 19.1782 -51.5336 28.7784 -67.7068 -1695 2 15.9592 35.3188 17.9796 -84.804 21.2184 -51.7155 -1696 1 13.183 8.82794 28.5664 -105.277 -122.027 -38.9877 -1697 2 12.3716 9.19446 28.9179 -2.34036 100.559 49.3371 -1698 2 12.9277 7.97655 28.2112 101.455 27.0344 -10.777 -1699 1 1.80201 1.01319 14.2125 -10.9994 108.429 11.6013 -1700 2 2.15615 0.283851 14.7213 39.2506 -81.1255 49.7133 -1701 2 1.36283 0.597347 13.4706 -26.3655 -26.5573 -49.0049 -1702 1 27.2049 9.56984 16.515 -122.192 59.5793 16.3919 -1703 2 28.0878 9.20111 16.4896 81.0579 -24.2595 37.5124 -1704 2 27.0912 9.85809 17.4207 38.8898 -30.2236 -51.7474 -1705 1 22.6438 27.8828 17.7012 49.3457 18.1757 -73.0896 -1706 2 23.3962 27.6648 17.151 -82.2546 49.5789 56.4651 -1707 2 22.4278 28.7852 17.4658 34.1152 -68.9783 3.55196 -1708 1 35.0221 17.7583 30.838 -25.1366 -163.909 -30.0371 -1709 2 35.2543 16.8308 30.884 19.9373 100.762 22.1918 -1710 2 34.1816 17.7728 30.3802 9.20744 55.9104 6.77971 -1711 1 32.1562 2.34683 15.7785 16.8639 -17.4896 5.79746 -1712 2 31.3149 2.79707 15.8547 3.30382 10.9899 -15.41 -1713 2 32.6299 2.83564 15.1055 -20.4562 2.78633 10.1896 -1714 1 17.3491 33.6121 35.0554 28.0663 -20.3669 34.0552 -1715 2 17.1509 34.4411 34.6198 17.9725 14.6268 3.83022 -1716 2 18.1602 33.7808 0.0877944 -54.6905 10.1453 -40.8997 -1717 1 1.64578 29.1889 17.0804 49.603 -4.48077 -54.9171 -1718 2 2.45524 28.7783 16.7764 -63.8429 27.0246 36.324 -1719 2 1.60016 28.9696 18.011 14.7364 -14.8058 31.0836 -1720 1 19.9464 29.2537 0.269639 -26.8873 -56.575 -80.5011 -1721 2 19.2231 29.8603 0.111085 -5.06196 13.5063 10.198 -1722 2 20.3884 29.6041 1.04298 28.7619 40.6573 62.5122 -1723 1 27.8751 8.50124 9.36767 -63.6131 -41.3148 -12.2052 -1724 2 28.6953 8.01212 9.3013 13.7418 37.4852 9.3571 -1725 2 28.146 9.39911 9.55925 44.6403 -2.626 -1.79707 -1726 1 9.83009 27.7479 10.8535 35.48 -43.6722 -77.1661 -1727 2 10.0168 28.6051 11.2364 14.3999 23.1012 9.24224 -1728 2 10.4015 27.6978 10.0872 -56.6997 19.3254 82.5667 -1729 1 26.3005 18.4601 21.2951 14.5335 -83.6305 -16.8008 -1730 2 27.1781 18.8416 21.319 -83.2571 48.8169 11.9793 -1731 2 25.712 19.2034 21.4273 70.7685 36.4426 0.424326 -1732 1 14.1931 25.9911 24.7443 -198.215 -14.4377 51.3373 -1733 2 13.3857 26.4657 24.9421 118.834 12.0828 -28.5984 -1734 2 13.9501 25.0674 24.8069 73.5881 9.35866 -14.5886 -1735 1 0.68914 8.97174 18.2007 61.1146 -22.113 79.7685 -1736 2 1.47886 8.43084 18.1956 -31.3821 7.19771 -40.948 -1737 2 0.659383 9.34465 19.0818 -31.0353 11.9113 -38.3143 -1738 1 32.7638 11.762 33.2407 155.271 -70.1926 -64.5912 -1739 2 33.5829 11.2865 33.1021 -74.1724 66.4987 -31.2067 -1740 2 32.4646 11.4779 34.1044 -82.0389 -1.68615 100.141 -1741 1 11.5837 29.9382 6.86929 68.3086 96.8308 30.659 -1742 2 10.8312 30.5293 6.84786 -80.6859 -12.2726 -16.7586 -1743 2 12.3177 30.4934 7.13259 8.33693 -75.678 -14.9418 -1744 1 33.7412 13.4573 4.64077 57.4437 -27.4415 -59.0767 -1745 2 33.2622 14.0744 5.19406 2.79143 46.6947 3.92001 -1746 2 34.2624 14.011 4.05935 -48.6945 -7.59113 53.8631 -1747 1 20.834 4.12553 19.8797 -36.0917 -30.8907 39.6433 -1748 2 20.9344 4.49859 20.7554 -34.0334 -10.765 52.4405 -1749 2 21.5059 4.56085 19.3549 63.6418 30.6897 -107.072 -1750 1 25.2814 8.95348 23.557 113.275 41.1287 -141.268 -1751 2 25.1132 8.59773 22.6844 -40.0213 -9.36321 67.6354 -1752 2 26.0681 9.48829 23.4506 -78.4309 -37.9369 71.1926 -1753 1 16.3379 1.45632 7.44654 -7.6265 0.517501 36.3702 -1754 2 15.5559 1.07957 7.84999 -0.84736 5.60168 5.42508 -1755 2 16.3331 1.11752 6.55131 9.51431 -14.4495 -40.4388 -1756 1 8.46245 10.8141 34.5349 -105.564 -54.5549 27.1296 -1757 2 8.57768 10.9131 33.5898 41.3995 21.57 -1.82151 -1758 2 9.25468 11.1943 34.9144 58.3156 34.8572 -29.9698 -1759 1 5.31339 12.695 25.2695 49.5823 22.0342 -4.2842 -1760 2 5.28055 12.4465 26.1933 -51.7824 -33.1812 63.8585 -1761 2 6.20703 13.0116 25.1378 -4.64511 8.64075 -53.7069 -1762 1 28.5176 6.14909 35.2405 -88.1782 47.8796 -5.94682 -1763 2 28.1069 6.97269 0.0565239 44.1167 -62.7793 -19.5292 -1764 2 29.4065 6.2011 0.144711 40.6685 10.4457 21.8035 -1765 1 7.78961 0.697739 16.2244 -84.5532 -7.2713 -20.9178 -1766 2 8.09867 0.8319 17.1203 24.3771 9.55988 83.0212 -1767 2 8.55261 0.883276 15.677 61.8641 10.8884 -56.4237 -1768 1 21.6803 21.8045 29.4666 92.6174 -29.1217 6.5542 -1769 2 21.6121 21.9092 30.4156 -6.33304 2.49275 -14.679 -1770 2 22.6036 21.6037 29.3131 -84.8983 18.8452 2.49276 -1771 1 20.5415 13.5162 22.8863 -63.6149 -44.7099 -59.224 -1772 2 20.1252 13.4069 23.7413 41.5347 19.0983 10.1776 -1773 2 21.3921 13.9091 23.0819 28.2143 21.3073 52.2065 -1774 1 13.5096 24.4133 28.8518 -16.7584 -104.831 19.9095 -1775 2 13.7422 25.3379 28.7668 -58.9978 10.9322 -52.2701 -1776 2 12.7416 24.3065 28.2906 68.3339 88.9671 29.8283 -1777 1 10.6965 24.268 31.9247 39.9214 65.0054 -105.217 -1778 2 10.6473 23.7252 32.7116 26.2784 -37.7588 71.5504 -1779 2 11.6103 24.5501 31.8844 -76.997 -34.07 32.5642 -1780 1 15.9558 28.976 35.0551 -4.59869 16.9032 24.3371 -1781 2 15.9895 28.403 34.289 13.1654 5.89541 -13.4528 -1782 2 16.6183 29.6453 34.8835 -18.1637 -24.8778 -4.73429 -1783 1 1.56494 0.695931 33.0488 -7.82546 2.85897 6.28041 -1784 2 2.3653 1.15923 33.2959 21.5381 2.16919 -17.3713 -1785 2 1.07421 0.61188 33.8664 -30.4619 -13.1026 5.47324 -1786 1 26.1486 0.156998 10.0334 100.992 19.0148 78.4341 -1787 2 25.3876 0.327467 9.47838 -100.512 12.7939 -72.7237 -1788 2 26.2276 34.7095 10.046 -6.30603 -35.7748 -6.321 -1789 1 9.77747 17.7256 3.3079 -15.1177 -51.4176 -46.837 -1790 2 9.84926 17.8953 4.24722 -2.02682 14.0052 57.0174 -1791 2 9.25206 16.9278 3.24758 22.2251 35.8836 0.252656 -1792 1 8.7542 5.30397 3.09771 12.4213 18.1284 -138.238 -1793 2 8.60827 5.08184 4.01728 -2.3211 -5.44548 114.096 -1794 2 9.11045 6.19216 3.11897 -1.95036 -2.72999 26.7585 -1795 1 20.4817 15.9179 9.33613 21.0604 -24.5147 -135.704 -1796 2 20.554 15.4845 8.48573 -10.0707 58.8981 115.641 -1797 2 20.2655 15.2133 9.94696 -7.71867 -31.7412 19.3962 -1798 1 16.8258 18.5832 26.1716 29.5009 -180.881 47.1146 -1799 2 16.6113 18.4222 27.0905 -41.8391 101.856 42.9472 -1800 2 17.1968 17.7563 25.8634 -2.55761 77.1759 -91.7224 -1801 1 13.7602 16.9853 22.3202 -0.347047 22.858 -76.9174 -1802 2 13.5835 17.873 22.0086 7.00159 -0.924808 -16.0352 -1803 2 13.5903 17.0231 23.2614 -8.69006 -19.8049 86.5568 -1804 1 32.6202 30.4061 6.88945 12.3583 39.1277 -33.0313 -1805 2 33.5171 30.4006 6.55509 -2.18656 -7.54507 2.7296 -1806 2 32.5606 29.6182 7.42965 1.39015 -29.1017 22.5731 -1807 1 17.6323 14.6078 27.182 -11.8057 18.0452 -87.9568 -1808 2 17.8963 15.2122 27.8757 18.0023 21.7031 44.3758 -1809 2 17.7049 15.1203 26.3767 -9.11405 -46.4403 43.6533 -1810 1 11.6224 21.259 16.4721 -32.7747 -25.0008 40.6365 -1811 2 11.4997 21.3612 15.5283 -40.9671 0.61544 -90.6165 -1812 2 12.4984 21.6069 16.6393 70.6567 28.2261 46.8509 -1813 1 1.37589 22.2789 20.7522 -41.4353 -37.4922 33.5456 -1814 2 2.11728 21.8396 20.3355 7.62508 -10.9398 -1.55026 -1815 2 0.768503 21.5715 20.9687 46.2513 38.8436 -18.9684 -1816 1 7.18312 3.2674 24.3648 10.7382 40.4213 -33.1762 -1817 2 7.70367 3.09513 23.5802 -33.0432 -24.3849 55.393 -1818 2 6.96172 2.39909 24.7013 24.8018 -7.23514 -26.132 -1819 1 17.6495 11.9524 5.42355 10.8967 15.9964 107.143 -1820 2 17.6466 12.8975 5.57508 1.82762 -1.82657 0.60285 -1821 2 17.4214 11.8569 4.49883 -20.8259 -17.7865 -102.08 -1822 1 12.8489 11.6661 32.148 -17.8965 188.078 -111.666 -1823 2 12.9552 10.7149 32.136 14.8057 -118.886 68.8195 -1824 2 12.8329 11.8941 33.0775 8.91269 -65.1713 40.0813 -1825 1 28.1248 28.5738 6.21199 -192.186 43.1029 -11.4148 -1826 2 28.7331 27.8725 6.44515 126.968 -85.4696 28.3322 -1827 2 28.6866 29.2917 5.91998 82.4559 38.5651 -17.6132 -1828 1 9.60802 10.1304 3.09593 -93.7682 46.3021 37.3457 -1829 2 9.15367 10.5237 3.841 48.1761 -48.506 -94.0423 -1830 2 8.91505 9.94798 2.4613 39.6056 15.8046 57.281 -1831 1 14.4249 9.53466 14.3051 -123.439 24.9231 25.9395 -1832 2 13.6218 9.61307 14.82 56.7426 -18.0094 52.7871 -1833 2 14.1516 9.7137 13.4053 59.4293 -1.54716 -76.4542 -1834 1 6.04341 31.1491 20.461 -47.2656 -32.3307 7.09195 -1835 2 6.13021 30.2015 20.3565 -34.2445 79.6778 13.6184 -1836 2 5.11162 31.2874 20.6309 73.0105 -36.3797 -15.7581 -1837 1 8.78644 13.5813 21.8859 65.416 50.4952 92.7993 -1838 2 8.50305 14.4953 21.9079 -17.1217 -46.3339 -35.7963 -1839 2 8.24095 13.177 21.2112 -44.0244 9.7129 -48.364 -1840 1 23.4728 35.2749 4.51444 82.1512 -62.8586 -4.43703 -1841 2 22.7717 35.446 5.14336 -24.85 2.97315 30.1159 -1842 2 24.0277 34.6244 4.94466 -50.4442 53.9632 -33.0951 -1843 1 22.0934 26.5436 21.4556 61.6688 13.3811 31.4118 -1844 2 22.6334 26.459 22.2414 -33.6265 -15.6813 -19.5227 -1845 2 22.498 27.2571 20.962 -25.1393 -16.8342 -7.17079 -1846 1 1.89425 19.0608 16.6622 3.28475 46.2513 -5.68985 -1847 2 1.87083 19.9778 16.3884 1.6448 -79.7844 41.4251 -1848 2 2.01718 19.0967 17.6108 -5.23574 16.1596 -36.0108 -1849 1 23.9637 29.6196 2.08828 -69.8703 54.5439 -173.282 -1850 2 23.9782 29.2387 1.21026 17.7273 -5.49981 101.72 -1851 2 23.5499 30.4749 1.97202 26.107 -35.3959 56.7774 -1852 1 1.04741 21.6892 30.5979 -115.233 -13.532 -151.998 -1853 2 0.113051 21.7444 30.3975 31.2588 10.1427 93.9672 -1854 2 1.46569 21.533 29.7512 75.2562 4.98715 47.7558 -1855 1 13.7336 18.7716 16.05 36.1898 53.9538 -56.9996 -1856 2 14.028 19.1122 16.8948 -13.9343 -22.8762 19.6579 -1857 2 13.1753 18.0268 16.2729 -19.3783 -29.7417 40.7088 -1858 1 15.0251 6.07561 33.9309 8.45826 5.37648 -1.81671 -1859 2 14.744 5.59469 33.1525 44.0459 8.11479 29.3483 -1860 2 15.9583 5.8782 34.011 -55.9922 -14.2135 -28.2397 -1861 1 31.8194 4.72563 13.932 -76.438 36.5996 36.6777 -1862 2 32.7645 4.6887 14.0793 76.2185 -10.5878 3.59609 -1863 2 31.6915 4.29775 13.0854 0.759274 -26.189 -49.3505 -1864 1 24.2464 18.8312 7.32372 -41.9992 53.3351 -90.8799 -1865 2 24.4155 18.4871 8.20079 50.7924 -34.3591 51.5305 -1866 2 25.0374 18.6218 6.8271 14.2528 -14.3602 32.1679 -1867 1 30.0922 6.70763 9.34653 19.3341 -118.414 -30.4242 -1868 2 30.6874 6.86847 10.0787 17.9106 47.1118 43.6622 -1869 2 30.3036 5.82052 9.05573 -43.4784 60.4306 -8.82744 -1870 1 6.445 22.2103 16.5271 -47.7403 -14.1187 159.808 -1871 2 6.64042 21.365 16.9316 2.42881 46.1711 -48.8959 -1872 2 6.77163 22.1288 15.6311 45.4809 -35.2284 -93.468 -1873 1 26.5351 4.89727 31.491 20.5514 42.1388 77.5845 -1874 2 26.401 4.09028 30.9939 -19.8733 12.7801 -50.7802 -1875 2 26.231 5.59212 30.9071 -5.94505 -47.2654 -24.2121 -1876 1 16.6218 30.9593 12.5758 76.776 21.1314 15.0447 -1877 2 17.5309 31.2416 12.4755 -63.1447 -15.9732 -5.44499 -1878 2 16.5322 30.7656 13.509 -13.3801 -1.95666 -9.97437 -1879 1 4.87302 34.6151 34.447 104.714 84.2993 -0.89393 -1880 2 5.78717 34.7455 34.6991 -66.4725 -52.938 1.96992 -1881 2 4.61648 35.4418 34.0383 -42.5934 -34.2834 5.2485 -1882 1 2.50195 12.2818 26.0872 -8.67516 29.7785 -70.3215 -1883 2 3.1341 12.4118 25.3803 -27.1441 -5.8392 34.5663 -1884 2 3.01104 11.8861 26.7947 30.271 -23.377 31.7936 -1885 1 11.0081 34.2904 8.17399 9.42688 -5.7969 97.8947 -1886 2 10.7998 34.3332 9.10726 7.04621 0.417361 -87.1889 -1887 2 11.8825 33.9022 8.14084 -5.45944 4.15781 -5.16582 -1888 1 10.4598 16.7637 26.4131 148.288 90.0257 41.7655 -1889 2 10.4316 17.0754 27.3177 -72.7157 -36.8972 0.248291 -1890 2 11.309 17.0585 26.0841 -70.484 -54.3031 -51.5156 -1891 1 17.2098 4.69875 34.6801 81.246 -30.7191 -41.3973 -1892 2 18.0151 4.45904 34.2214 -71.7257 21.3966 42.2854 -1893 2 16.875 3.87125 35.0255 6.50051 11.5534 -2.108 -1894 1 6.97863 35.1347 32.2629 50.8129 -99.4838 -30.4474 -1895 2 7.56347 34.8235 32.9538 -41.616 46.5075 -25.0214 -1896 2 6.65314 0.469077 32.5846 2.57011 40.1833 47.8232 -1897 1 30.2687 4.69117 18.0464 60.7323 97.3861 -22.0469 -1898 2 29.6025 4.01217 17.9397 -42.0291 -72.8011 18.2538 -1899 2 30.768 4.4187 18.8164 -17.8086 -24.6517 8.15754 -1900 1 14.1597 29.6356 31.6828 30.9419 40.4802 -8.95169 -1901 2 14.4476 30.3966 31.1787 -5.71984 -21.9829 20.3791 -1902 2 13.5545 29.1766 31.1002 -20.3468 -21.2423 -11.9375 -1903 1 22.4062 9.51588 9.73682 -25.0265 24.595 63.1611 -1904 2 22.734 9.37614 10.6252 -11.7157 4.39127 -35.1937 -1905 2 23.0228 9.04451 9.1766 39.1276 -27.1504 -30.8252 -1906 1 22.2407 0.134276 35.413 -42.8239 -41.0374 60.4051 -1907 2 23.1409 0.333643 0.222809 43.4422 17.792 -1.46489 -1908 2 21.8776 35.1647 0.712762 2.03662 22.5692 -45.7042 -1909 1 30.8031 21.1275 11.6291 8.18201 -81.2251 51.4742 -1910 2 31.1578 21.6894 10.9401 18.9684 37.0502 -48.7174 -1911 2 31.4306 20.4081 11.699 -31.726 41.7294 -2.6312 -1912 1 27.4502 5.23285 21.3967 43.0518 -12.2654 10.7167 -1913 2 27.8253 4.72625 22.1171 -28.5647 20.7097 -13.5339 -1914 2 26.5781 5.47904 21.705 -14.103 -7.53663 23.2646 -1915 1 34.2489 16.5307 18.5363 26.9125 -52.6845 -20.1673 -1916 2 34.8827 15.8461 18.7503 10.1132 17.7044 42.0284 -1917 2 33.9212 16.2918 17.6692 -38.1022 30.6955 -21.5306 -1918 1 32.1141 35.0942 16.4825 -0.867004 -48.405 2.84315 -1919 2 32.9623 34.6708 16.6154 -20.9146 28.4235 -14.5239 -1920 2 32.313 0.365179 15.9607 23.3692 9.94143 -6.48738 -1921 1 5.27687 31.5242 24.5907 -41.8155 -32.232 -72.1813 -1922 2 5.60539 31.6007 25.4865 31.5439 41.9211 28.7506 -1923 2 5.5227 32.3499 24.1735 12.1666 -5.48947 41.746 -1924 1 25.7907 25.4154 18.2947 20.8035 21.2797 20.5846 -1925 2 25.4138 24.7122 17.7657 -11.5015 -8.7926 -11.7913 -1926 2 25.758 26.186 17.7278 -5.43932 -10.731 -2.4049 -1927 1 4.9373 22.5181 12.7303 -6.4384 -109.105 57.2178 -1928 2 4.67073 21.7372 13.2154 46.7558 31.8331 -22.6463 -1929 2 4.1183 22.9792 12.549 -49.1964 70.1051 -30.4411 -1930 1 12.3715 3.4068 24.8685 96.9889 -105.459 -2.59257 -1931 2 11.5379 3.78717 25.1454 -78.5271 72.7012 7.46574 -1932 2 12.7376 4.04834 24.2597 -26.2048 27.0425 1.81415 -1933 1 17.2206 21.0678 32.2286 70.9033 -32.4857 -28.922 -1934 2 16.37 21.3218 31.8703 -31.2433 6.59635 -32.464 -1935 2 17.7395 20.8211 31.463 -47.0509 20.4749 43.9242 -1936 1 25.4169 13.6587 27.4317 -0.727949 9.42962 -145.923 -1937 2 25.9517 14.3734 27.0861 -3.23386 -8.44445 54.635 -1938 2 25.0518 13.2348 26.655 1.65215 1.37226 80.6823 -1939 1 31.3457 0.922103 6.09387 93.2805 93.8551 -38.7299 -1940 2 31.5155 0.207477 5.48008 -21.219 -72.6924 -14.0259 -1941 2 31.9625 1.6085 5.83961 -64.7524 -23.8625 51.719 -1942 1 14.5195 27.1466 0.851682 38.6886 37.2405 14.6579 -1943 2 15.053 27.8652 0.512027 -28.0679 -32.9887 -8.99741 -1944 2 14.6072 27.2114 1.80267 -15.0183 -14.128 4.77814 -1945 1 28.877 13.802 31.4018 -4.50288 23.8843 -13.5573 -1946 2 29.2081 14.2631 32.1725 -0.230544 2.07915 -12.4648 -1947 2 28.8087 14.4787 30.7282 1.77038 -19.7831 31.8497 -1948 1 32.2979 1.69743 30.0205 -28.8467 109.78 -38.9645 -1949 2 32.9555 1.84764 29.3413 24.5461 -47.0658 1.39339 -1950 2 31.7668 2.49381 30.0206 1.00965 -60.2251 37.5257 -1951 1 12.623 8.26205 20.3365 -51.0291 54.698 -56.076 -1952 2 12.8038 8.94712 20.98 7.54061 -8.85741 0.764622 -1953 2 12.1346 8.70659 19.6435 47.8511 -55.3633 57.2868 -1954 1 12.529 25.4483 7.87221 -48.9382 -101.6 1.11575 -1955 2 12.9572 24.6439 8.16517 48.6378 37.6284 17.52 -1956 2 11.6948 25.156 7.50493 -0.295674 62.8691 -15.443 -1957 1 1.10092 20.9789 6.76259 27.205 20.4467 -20.553 -1958 2 0.8209 21.0263 5.84848 -7.50941 -2.67192 -4.52081 -1959 2 1.91303 21.4847 6.79139 -30.6585 -22.163 10.0435 -1960 1 4.82409 0.410104 13.4746 -3.61871 -66.6275 45.8026 -1961 2 4.33159 1.13563 13.0908 -33.7684 83.5475 -47.5464 -1962 2 4.1925 35.4689 14.0377 32.5565 -8.9676 -2.20459 -1963 1 7.97943 14.3227 18.3991 -62.6546 39.1623 68.9072 -1964 2 7.48796 15.0929 18.6846 32.7298 -3.02693 -45.5565 -1965 2 7.74856 13.6426 19.0319 33.3077 -26.9346 -30.733 -1966 1 6.57492 10.8376 7.69432 -42.1835 -33.4879 61.6812 -1967 2 6.88034 11.43 7.00728 61.1077 54.5155 -84.4452 -1968 2 5.70739 11.1679 7.92785 -16.8375 -20.6972 23.7848 -1969 1 10.1308 13.458 3.45525 -19.289 -27.8108 18.398 -1970 2 9.47924 14.0224 3.03904 59.8681 9.66437 -14.5467 -1971 2 10.9686 13.7582 3.10271 -46.1431 27.4514 -18.5848 -1972 1 2.78627 23.982 22.6844 61.7668 -37.9237 -21.697 -1973 2 2.23775 23.3518 22.2172 -8.17893 -35.1455 -20.7984 -1974 2 2.17291 24.6441 23.0031 -46.5196 68.0647 37.1881 -1975 1 29.6763 34.0661 9.4221 -25.2085 -34.5053 76.7307 -1976 2 29.4116 33.869 10.3206 -13.3027 -22.4655 -41.4267 -1977 2 30.2063 34.8598 9.49668 49.5961 63.0099 -39.1917 -1978 1 17.3951 25.0142 9.24935 74.1256 -119.972 13.8699 -1979 2 18.0557 25.5131 8.76884 -7.409 57.2755 -19.7204 -1980 2 17.7887 24.1502 9.37149 -78.6001 67.4017 9.86198 -1981 1 11.139 14.0733 32.9523 31.4256 -0.03008 -5.2348 -1982 2 12.066 14.2725 33.0835 -15.5197 6.63618 -14.1202 -1983 2 10.9478 13.388 33.5926 -13.6636 8.48879 -3.5036 -1984 1 1.12572 32.0183 27.5356 24.6266 46.3494 2.8897 -1985 2 0.546692 31.3048 27.8037 -3.08121 -31.7776 -12.0256 -1986 2 1.55521 31.6943 26.7439 -12.2274 -17.2869 5.12609 -1987 1 16.7457 10.366 22.1454 -15.3164 -22.3958 -16.0252 -1988 2 17.6114 10.1816 22.5099 -14.3265 37.126 0.80158 -1989 2 16.5565 11.2637 22.4183 29.9704 0.0490406 16.3066 -1990 1 3.7604 22.8172 16.7231 -94.979 -46.3638 63.4302 -1991 2 3.80199 23.6592 16.2696 52.6252 2.42304 -21.4425 -1992 2 4.60092 22.4005 16.533 37.2062 36.1623 -37.5204 -1993 1 1.85858 2.74219 27.3787 -16.8615 -16.8421 15.8272 -1994 2 2.54214 2.17108 27.7292 -4.59146 35.0941 -40.6374 -1995 2 2.27945 3.20266 26.6527 25.2819 -23.6186 22.0617 -1996 1 20.9735 33.5714 23.8814 -106.803 36.5464 88.0259 -1997 2 21.6236 32.9171 24.1374 45.6079 -11.0665 -63.4639 -1998 2 21.2264 33.8268 22.9943 67.7875 -35.3184 -31.857 -1999 1 14.9346 6.66221 21.3527 -126.314 -3.88715 -82.8474 -2000 2 14.0911 6.81595 20.927 39.2653 62.6904 53.7569 -2001 2 15.1982 5.79131 21.0556 85.678 -53.7307 17.9606 -2002 1 22.2461 5.18918 17.8715 -69.145 -31.4218 -18.0837 -2003 2 21.9344 5.83223 17.2347 -27.7401 11.8107 -16.433 -2004 2 23.137 5.47038 18.0801 108.344 19.9553 34.4799 -2005 1 31.7359 29.9237 26.3736 -84.3482 -146.558 -73.4212 -2006 2 32.1627 30.6728 26.7895 111.481 40.2155 8.28834 -2007 2 32.4462 29.4563 25.9339 -20.9159 104.035 73.147 -2008 1 24.5541 23.2903 6.20562 34.8499 -73.6669 40.9676 -2009 2 25.3233 22.7463 6.0363 -54.9847 54.2625 4.3351 -2010 2 24.1245 22.8728 6.95223 10.9892 27.9336 -36.5991 -2011 1 25.8826 13.3692 31.6978 -39.5587 45.0721 109.942 -2012 2 26.0654 12.9392 30.8624 14.4928 -55.2593 -101.315 -2013 2 26.7459 13.5818 32.0524 34.4682 10.678 13.5079 -2014 1 31.9081 10.2232 30.8508 60.5777 139.069 -26.1959 -2015 2 32.2481 10.7082 31.6027 -21.552 -31.8062 -26.0603 -2016 2 31.6024 9.39393 31.2183 -39.6468 -107.76 57.4176 -2017 1 0.849757 3.66316 11.6882 -66.4227 -77.864 -86.3174 -2018 2 0.839326 4.56785 12.0007 9.47524 78.9317 34.8726 -2019 2 0.14017 3.62253 11.047 60.8788 -7.45935 55.9047 -2020 1 12.6493 6.4064 27.2531 -40.9759 17.8512 -96.8045 -2021 2 11.9988 5.88507 26.7827 30.2874 12.9967 48.5047 -2022 2 12.9203 7.07589 26.6249 2.54534 -39.1725 52.0268 -2023 1 15.9599 7.99333 15.8859 30.1406 -18.388 8.6192 -2024 2 16.7797 7.85417 15.4117 -4.79859 1.07516 10.1564 -2025 2 15.4667 8.60439 15.3385 -20.0761 12.8881 -12.5608 -2026 1 20.0344 20.1357 12.6654 -3.86966 -64.7249 -48.8174 -2027 2 19.4344 20.3202 11.9427 10.3543 13.9442 17.6237 -2028 2 20.3441 19.2454 12.4988 -10.1918 51.4785 29.9814 -2029 1 21.356 6.30633 10.131 -67.0198 -114.109 -5.58798 -2030 2 20.9103 5.53439 10.4799 -7.83167 25.8119 -63.3827 -2031 2 21.891 6.6238 10.8585 85.5245 81.2641 57.4267 -2032 1 35.1559 30.9332 9.83309 61.3262 -2.90007 -69.3354 -2033 2 0.303167 31.6302 9.88912 -24.8958 -15.4978 13.785 -2034 2 34.5934 31.0698 10.5955 -26.5859 21.8525 52.7843 -2035 1 4.27659 27.2552 26.2915 116.968 -151.738 -34.7454 -2036 2 3.39554 27.3768 25.9377 -83.718 52.8428 -4.72735 -2037 2 4.42257 28.0247 26.8419 -28.396 103.456 48.6556 -2038 1 26.8593 19.3342 13.6851 30.7677 67.3413 -148.698 -2039 2 26.0004 19.2038 14.0871 -50.0945 -27.4421 67.323 -2040 2 27.4811 19.0115 14.3374 18.1351 -38.3726 82.2067 -2041 1 7.83885 28.1834 15.8334 16.5365 20.604 -8.56175 -2042 2 7.60386 27.3316 16.2014 -33.7069 20.3127 -2.25908 -2043 2 7.02096 28.6807 15.838 5.21927 -39.3621 14.9074 -2044 1 32.631 18.2249 29.7861 41.9215 38.3318 11.8543 -2045 2 32.1421 17.5039 29.3895 -39.2744 -31.6531 -17.1652 -2046 2 31.957 18.8189 30.1164 -14.576 -4.73824 -0.949144 -2047 1 3.25628 33.4796 7.39391 71.9746 30.5666 -22.4299 -2048 2 4.11434 33.8297 7.63344 -69.5572 -27.2519 -15.9057 -2049 2 3.24436 33.5071 6.43718 -2.52475 -1.44402 31.1707 -2050 1 0.842237 3.50013 3.05753 16.9517 -63.8559 -23.0072 -2051 2 1.37533 4.09985 3.57944 19.8724 20.4219 19.8016 -2052 2 1.42823 2.77011 2.85767 -26.1771 37.5505 12.1175 -2053 1 25.1227 15.9755 21.4703 2.5941 62.4248 -49.2139 -2054 2 25.4287 15.7265 22.3424 20.0835 -17.1737 50.8233 -2055 2 25.5184 16.8328 21.3129 -18.0552 -40.9029 7.45317 -2056 1 7.27484 22.2113 14.035 48.561 60.0034 62.6588 -2057 2 7.83751 21.4533 13.8765 -38.0713 -11.7879 -38.4589 -2058 2 6.51927 22.0729 13.4638 0.293443 -44.8648 -32.9729 -2059 1 14.2406 9.72758 11.5631 116.878 81.801 14.5405 -2060 2 13.6867 9.60902 10.7914 -66.2487 -25.9071 -61.3884 -2061 2 14.9707 10.264 11.2543 -53.7978 -46.298 43.148 -2062 1 24.5661 34.1068 22.5037 -12.6784 75.01 -32.2381 -2063 2 24.4448 33.1898 22.2577 -6.71238 -64.4707 -26.8253 -2064 2 24.8834 34.0733 23.4061 24.4774 5.00072 65.3718 -2065 1 28.1828 24.2163 14.5011 36.8397 60.2005 -124.445 -2066 2 28.1283 24.0875 15.448 -42.2705 -47.9485 79.128 -2067 2 27.5548 23.5921 14.1374 10.284 -1.76503 54.6319 -2068 1 35.2069 9.7887 0.991304 -95.944 64.7317 5.27254 -2069 2 0.552607 10.1881 0.815879 115.488 -3.29094 -17.0999 -2070 2 34.5965 10.5257 1.01417 -16.4988 -53.7782 7.85015 -2071 1 0.691695 26.2382 12.9947 -9.41017 61.2975 -51.419 -2072 2 0.0768464 25.8717 12.3592 -28.0544 -73.2286 1.85962 -2073 2 0.833398 27.1379 12.7003 45.2238 18.3035 55.3252 -2074 1 22.1934 29.1186 4.33055 7.9951 12.5985 3.19312 -2075 2 21.5188 28.4403 4.36471 47.1765 5.49724 -20.3584 -2076 2 22.9008 28.7279 3.81759 -48.2839 -12.3785 13.5407 -2077 1 17.9152 28.6807 14.9942 -54.009 -38.437 -55.3386 -2078 2 18.4519 28.3813 15.7281 -12.5555 -30.3197 -4.96761 -2079 2 17.4906 27.8873 14.668 64.847 68.7897 58.1862 -2080 1 12.7944 25.7701 32.651 87.3127 -33.674 -49.9122 -2081 2 13.7325 25.6374 32.7874 -23.9657 -5.59064 -20.5018 -2082 2 12.4854 26.1582 33.4696 -48.9202 37.6441 80.1222 -2083 1 30.8723 23.1715 13.4622 -9.11844 -27.0426 17.3174 -2084 2 30.4177 23.0049 14.2879 -11.7763 32.8722 29.883 -2085 2 30.92 22.3151 13.0374 18.8176 -9.0042 -46.3578 -2086 1 9.82399 23.583 1.7494 3.91602 -23.2748 -58.3544 -2087 2 9.72916 23.4277 0.80965 -20.0403 27.4058 -4.72991 -2088 2 10.3677 22.8585 2.05872 18.1457 -16.7879 43.7545 -2089 1 6.8955 12.5745 5.5963 85.8424 -23.1235 -93.8407 -2090 2 7.81182 12.4154 5.36977 -59.0646 18.9114 61.7966 -2091 2 6.4222 12.4672 4.77122 -25.9937 7.60744 34.9584 -2092 1 11.0245 29.5546 32.8142 27.2343 -22.8279 -26.0862 -2093 2 11.5962 29.377 33.5611 -2.51259 4.69703 -3.95931 -2094 2 11.3841 29.0222 32.1047 -13.3466 16.0372 20.0845 -2095 1 5.68503 15.1158 32.9715 71.9243 84.7749 22.2842 -2096 2 6.43529 15.2072 32.3842 -29.722 -48.1256 -23.5074 -2097 2 5.83799 15.7643 33.6589 -49.7197 -21.4736 10.4848 -2098 1 21.2604 27.2124 29.976 9.35206 -13.3824 -10.3518 -2099 2 21.1086 27.9685 30.543 -0.00945565 9.47109 13.7934 -2100 2 20.5932 27.2863 29.2937 2.67135 -4.7572 1.71573 -2101 1 6.19805 8.13917 30.3426 -73.1956 -40.2746 18.2363 -2102 2 6.98147 7.66228 30.0686 68.3476 -8.23578 -14.6177 -2103 2 5.51941 7.46745 30.4098 -8.28926 38.749 8.67497 -2104 1 32.4114 28.41 3.86786 -36.9652 -91.2495 22.0784 -2105 2 32.506 27.4619 3.95885 10.6094 88.9598 -11.6688 -2106 2 31.5044 28.5859 4.11817 26.5222 9.8783 -10.8104 -2107 1 23.9888 26.6201 31.2201 1.20293 -109.473 17.0178 -2108 2 23.2074 26.8924 30.739 -49.7779 23.7284 -32.1279 -2109 2 24.4775 27.4307 31.3625 44.3945 90.7049 14.6397 -2110 1 28.5019 29.5744 20.8753 -105.573 -63.5283 91.4836 -2111 2 29.2364 29.9771 20.4121 98.2346 34.6669 -48.3894 -2112 2 28.9027 29.1372 21.6267 -2.74566 33.6259 -52.7638 -2113 1 27.7502 21.2781 18.5161 19.7289 10.8774 29.9785 -2114 2 27.4189 20.4309 18.218 36.4689 9.88724 51.6874 -2115 2 28.2531 21.075 19.3049 -59.0951 -30.5306 -78.2835 -2116 1 25.2558 27.4375 16.5506 -27.3132 48.5894 -138.27 -2117 2 25.6596 28.3054 16.5549 -16.4669 -51.6805 13.5284 -2118 2 24.9314 27.3282 15.6566 44.5383 5.03271 118.679 -2119 1 5.61318 2.12428 21.5016 42.3627 116.054 -46.2104 -2120 2 4.7857 2.12108 21.9828 -11.881 -55.7866 17.5254 -2121 2 5.90501 1.21282 21.52 -32.99 -59.6739 27.9577 -2122 1 14.2061 17.2982 2.13514 14.87 -16.8255 82.4501 -2123 2 13.459 17.6149 1.62724 -31.7979 16.4565 -57.7066 -2124 2 13.9007 17.3075 3.0423 30.4046 -13.1183 -10.0672 -2125 1 33.7736 2.92312 0.155872 -23.2753 70.1969 84.7704 -2126 2 33.4448 3.50799 34.9204 -1.98604 -9.23228 -59.7488 -2127 2 33.6438 3.40839 0.970669 26.2779 -65.148 -23.8257 -2128 1 0.228023 13.6858 9.35278 75.2268 -30.5675 -41.8622 -2129 2 0.628256 13.369 10.1625 -15.1728 4.49884 -22.1448 -2130 2 0.840824 13.4263 8.66472 -61.7866 22.2466 65.7642 -2131 1 27.5701 24.367 33.9196 28.7332 -71.3958 -21.3549 -2132 2 27.0209 24.2561 33.1435 -61.9626 57.7048 -37.1137 -2133 2 28.0866 23.5623 33.965 40.9923 1.35586 55.7795 -2134 1 18.7528 23.4345 22.1157 -55.989 -41.7974 78.544 -2135 2 17.831 23.3407 21.8758 44.1354 11.4866 -10.7307 -2136 2 19.1759 23.7589 21.3207 13.9252 25.7041 -74.501 -2137 1 2.29467 10.8714 1.51084 -32.1408 -14.5508 -43.6556 -2138 2 2.49392 11.7359 1.87029 8.29658 40.0219 18.0615 -2139 2 2.86631 10.2736 1.99261 26.9538 -27.5494 21.3125 -2140 1 25.6183 25.8965 25.2435 -22.6704 50.8467 44.5622 -2141 2 25.4682 26.5987 25.8765 11.2294 -47.0705 -40.532 -2142 2 26.3923 25.4388 25.5719 14.337 -4.85607 6.83892 -2143 1 16.9274 16.3249 9.80007 65.7834 60.832 91.2583 -2144 2 17.206 17.0991 9.31089 -15.6938 -45.7663 10.4381 -2145 2 17.345 16.4189 10.6563 -51.7702 -27.03 -90.6821 -2146 1 10.4759 17.2108 29.1097 -29.7724 -51.6266 4.03033 -2147 2 10.915 18.0412 29.2938 16.6521 36.3727 20.7383 -2148 2 10.1976 16.8911 29.968 12.6809 23.8938 -15.59 -2149 1 16.0664 22.369 1.69557 85.9561 -48.6572 -5.15207 -2150 2 15.3902 23.0063 1.46575 -28.2658 50.5099 -24.9006 -2151 2 16.8392 22.6523 1.20702 -67.0317 -6.80127 33.7933 -2152 1 16.3327 27.5815 32.8061 -97.1356 26.6046 -105.602 -2153 2 15.9617 26.7251 32.5938 37.4344 3.83013 30.771 -2154 2 15.8275 28.1996 32.278 61.9273 -28.2727 64.9337 -2155 1 20.4924 11.6244 35.2661 -5.21163 -1.0569 -6.7191 -2156 2 20.9669 12.078 34.5693 21.3478 4.01433 -4.63918 -2157 2 19.7346 11.2374 34.8278 -14.5793 -14.9179 8.0377 -2158 1 30.4097 26.5784 6.51351 -9.32609 30.1609 -39.3002 -2159 2 30.176 26.74 5.59942 17.4667 -38.6776 62.5005 -2160 2 30.4473 25.6247 6.58661 -9.16188 10.4851 -24.9264 -2161 1 12.3738 16.3745 4.56041 -15.067 -62.6596 -68.9688 -2162 2 12.3566 15.5741 4.03566 24.5663 39.9643 43.3456 -2163 2 11.6799 16.9196 4.18943 -10.8773 31.6695 6.66512 -2164 1 33.5682 11.906 21.4632 131.371 -44.4617 47.3568 -2165 2 33.2081 12.3946 20.723 -83.4852 -5.59447 28.6945 -2166 2 32.8074 11.6945 22.0041 -35.7983 48.0193 -76.3145 -2167 1 31.321 31.2318 1.41481 -9.64347 -36.4689 79.3449 -2168 2 31.4863 31.9888 0.852737 -9.20003 -55.8008 -59.1419 -2169 2 31.1997 30.5029 0.806288 16.3896 96.331 -24.3681 -2170 1 28.8703 19.6379 21.2284 48.52 113.94 -13.0221 -2171 2 29.7074 19.4491 20.8043 -13.2463 -30.88 0.948916 -2172 2 28.8769 20.5858 21.3611 -33.496 -85.1446 0.652634 -2173 1 4.42957 23.1715 25.4257 16.2789 -123.243 -35.6211 -2174 2 3.96582 23.5238 24.6661 2.94752 -9.19552 1.30951 -2175 2 4.5263 22.2382 25.2362 -18.205 130.166 23.9116 -2176 1 24.008 31.9956 18.1856 -117.196 85.2226 -16.1123 -2177 2 23.242 32.5523 18.0459 108.23 -55.2981 20.8967 -2178 2 23.6712 31.1022 18.1165 7.89186 -25.0594 -0.78642 -2179 1 12.5975 11.8079 19.0164 -30.5357 87.8883 -34.2682 -2180 2 12.2075 11.1552 18.4349 -2.33616 -57.2338 -2.36799 -2181 2 12.293 12.6478 18.6728 26.2177 -28.2123 43.9707 -2182 1 22.6089 27.9043 24.8195 -160.576 -21.8022 52.0453 -2183 2 23.4906 28.2525 24.9526 69.6867 41.0498 40.342 -2184 2 22.0845 28.3081 25.511 84.5604 -39.6516 -76.6987 -2185 1 10.8916 10.4455 15.8 -22.9141 -62.4068 -81.1362 -2186 2 10.7237 10.0344 14.952 11.329 1.04638 60.8679 -2187 2 10.9593 11.3801 15.6043 14.5228 67.5064 8.34378 -2188 1 0.0806027 9.79667 3.64446 -0.950094 -5.43541 -85.2643 -2189 2 35.4479 8.89892 3.94607 11.3933 22.8736 -38.4962 -2190 2 0.0936377 9.72978 2.68968 -7.40219 -19.1687 115.509 -2191 1 30.4073 21.0886 5.84674 52.8532 96.6697 -8.54195 -2192 2 30.0786 20.9467 4.95901 -16.1652 -22.7283 -11.5336 -2193 2 30.129 20.3123 6.33268 -33.0331 -73.0871 29.5632 -2194 1 24.6725 21.9194 3.53992 28.8323 6.42743 43.0674 -2195 2 24.3523 22.8154 3.43518 -38.9559 26.8758 -32.1553 -2196 2 25.2182 21.9499 4.32571 8.87151 -37.4672 -8.77811 -2197 1 28.9523 32.9106 27.7139 38.777 -73.8098 3.30276 -2198 2 28.276 33.5695 27.871 -22.8961 53.4222 -7.02643 -2199 2 29.6378 33.3791 27.2377 -17.926 15.2775 1.12307 -2200 1 30.0351 19.2109 7.99842 56.3343 -46.5142 -52.7242 -2201 2 30.7099 18.7746 8.51848 -74.8025 59.0519 7.30024 -2202 2 29.4792 19.6472 8.64408 20.8691 -13.7133 39.8829 -2203 1 24.4989 23.3484 12.1537 31.9512 118.967 26.8713 -2204 2 25.3983 23.0485 12.2856 -105.266 -69.2773 -33.8465 -2205 2 24.0125 22.5559 11.9268 85.1555 -46.3862 9.27762 -2206 1 31.7734 12.6346 3.01042 -34.2182 -37.3041 -88.7021 -2207 2 30.9423 12.3459 3.38745 -3.41543 4.45908 24.7195 -2208 2 32.2888 12.9278 3.76182 30.7768 15.3316 72.6946 -2209 1 14.3004 32.5135 11.8847 47.3641 -27.9171 -75.5567 -2210 2 15.1265 32.0325 11.9345 2.57721 -4.43068 -23.7228 -2211 2 14.0856 32.7162 12.7952 -47.0809 31.0815 95.3786 -2212 1 29.4344 16.8279 3.26315 1.71258 21.4097 -10.3499 -2213 2 29.2745 16.425 4.11658 35.0595 47.4908 -32.0321 -2214 2 30.0363 17.5491 3.44721 -34.267 -57.0872 34.6434 -2215 1 16.9328 0.291348 22.9259 -96.0457 35.1642 -81.0802 -2216 2 17.6742 35.4119 23.3925 68.2767 -48.9319 17.8501 -2217 2 16.9924 35.4375 22.041 26.4343 7.98162 65.9151 -2218 1 6.39107 32.0742 27.1141 -71.8376 -120.036 -66.8619 -2219 2 7.19893 31.719 27.4849 48.8832 -1.28396 25.7903 -2220 2 6.41169 33.0041 27.3403 23.9249 107.873 39.1037 -2221 1 11.3853 0.736949 34.4447 -6.27155 -21.4529 13.9855 -2222 2 11.8452 0.738645 33.6052 5.55277 -1.6284 -9.06704 -2223 2 11.3558 35.3213 34.7003 8.13427 36.8025 -14.2026 -2224 1 5.62922 0.9539 5.9663 143.249 9.02751 -73.4699 -2225 2 5.6188 0.151351 6.48789 -57.4481 -51.6778 60.9691 -2226 2 6.50024 0.971096 5.56972 -85.5718 52.5802 3.87491 -2227 1 31.4437 14.7803 9.5261 72.7893 -49.8157 51.2561 -2228 2 30.8084 15.3043 9.03817 -14.7892 50.6077 -37.3046 -2229 2 32.2619 15.2726 9.46018 -56.6295 -4.02105 -14.0818 -2230 1 4.14196 30.4663 11.2574 11.7043 -31.1743 -105.49 -2231 2 4.27745 30.2949 10.3255 -32.782 12.1484 85.6385 -2232 2 4.96545 30.8553 11.5521 11.1088 11.3476 21.6061 -2233 1 2.68608 19.0816 19.359 -3.01057 17.0183 27.4831 -2234 2 2.27221 18.6011 20.0759 -10.6631 -34.8733 -4.22677 -2235 2 2.869 19.9472 19.7243 18.376 16.3539 -25.2662 -2236 1 22.9299 35.3243 10.6498 -18.4446 106.559 3.48015 -2237 2 23.025 34.5167 11.1546 13.1046 -47.5462 -63.684 -2238 2 23.0373 35.0518 9.73849 8.84858 -59.2344 54.0435 -2239 1 21.4245 28.833 27.2617 -112.882 -122.417 48.1301 -2240 2 20.9579 28.0587 27.5765 94.6762 127.005 -55.7499 -2241 2 20.7393 29.4877 27.1269 24.9839 7.30026 -4.47793 -2242 1 30.8529 9.03894 4.7007 -10.4074 0.580166 26.9286 -2243 2 30.816 8.58637 5.54336 1.35589 4.39792 -23.1526 -2244 2 30.494 9.90818 4.87919 1.68948 2.12885 -6.87637 -2245 1 4.86299 22.6951 4.35164 68.9609 53.2154 38.5763 -2246 2 5.71115 23.1388 4.34908 -68.3496 -36.7087 0.304243 -2247 2 4.83212 22.2315 3.51476 -0.0544366 -20.7945 -36.6172 -2248 1 13.4448 3.46093 20.9058 117.199 -147.58 -78.3774 -2249 2 14.2592 3.66177 20.4448 -54.2965 70.2265 33.8493 -2250 2 13.3849 2.50589 20.8823 -65.9335 79.899 41.3496 -2251 1 22.1549 21.8464 0.89966 70.1558 -49.7685 -19.5359 -2252 2 22.4513 21.0015 1.23811 24.4575 9.50177 -15.5263 -2253 2 21.3077 21.99 1.32132 -96.5829 40.0968 36.6351 -2254 1 9.81432 3.47734 1.49557 -20.9621 29.0428 47.0274 -2255 2 9.6162 4.18978 2.10338 5.3877 -81.0925 -49.9401 -2256 2 9.30715 2.73449 1.823 14.9586 47.8294 -0.725459 -2257 1 25.044 17.8503 9.69663 27.1502 -5.67979 -58.5993 -2258 2 24.2054 17.8816 10.1572 -69.4711 -0.0877294 26.756 -2259 2 25.6996 17.8219 10.3934 28.1182 5.25101 15.3179 -2260 1 15.1885 12.4135 1.71068 7.9846 18.3332 -112.133 -2261 2 15.5278 12.4107 0.815631 -46.1935 16.816 46.221 -2262 2 15.8252 11.9023 2.21028 36.3231 -37.1811 65.9966 -2263 1 10.8225 25.4182 22.6942 -16.3709 41.7061 -2.96855 -2264 2 11.5577 24.8393 22.896 51.7105 -104.798 27.2426 -2265 2 11.2285 26.2631 22.5003 -26.5312 68.4147 -17.545 -2266 1 18.2565 35.029 9.19933 93.2247 -130.515 -43.5824 -2267 2 17.8418 0.076846 8.53814 -47.7517 59.7514 27.4167 -2268 2 17.9592 35.389 10.035 -46.5773 66.1426 3.76913 -2269 1 20.6778 9.17376 32.729 13.3347 58.1187 40.967 -2270 2 21.5931 9.09497 32.998 21.3061 -0.378409 3.74345 -2271 2 20.5577 8.47997 32.0806 -13.4588 -66.5699 -61.818 -2272 1 26.3205 10.1324 13.9383 -82.5262 78.4062 47.6559 -2273 2 26.6072 10.0574 14.8484 56.1801 -32.325 13.375 -2274 2 25.526 10.6647 13.98 41.9144 -38.3569 -60.0645 -2275 1 0.822477 13.723 27.8175 -18.4017 86.3861 0.306287 -2276 2 0.842594 14.6428 27.5534 -7.45577 -62.9773 29.0841 -2277 2 1.34584 13.2716 27.1553 24.5862 -30.0006 -29.3344 -2278 1 21.8482 3.72499 35.3614 36.4395 57.3032 155.66 -2279 2 22.7485 3.92269 0.172076 9.19721 -27.7397 -73.4064 -2280 2 21.3254 3.93384 0.688367 -38.3534 -28.3721 -78.9399 -2281 1 19.2709 12.3493 7.94476 -62.7607 -34.1593 44.1878 -2282 2 18.5912 12.9879 7.72931 8.59403 -0.283937 -0.469165 -2283 2 20.0393 12.6421 7.45467 58.528 31.0007 -42.4613 -2284 1 29.8055 8.7965 16.4947 -12.9653 17.4412 -9.2463 -2285 2 30.5349 9.33389 16.8037 38.9819 89.4241 16.7099 -2286 2 30.0908 7.89527 16.6453 -19.0631 -103.816 -7.43473 -2287 1 27.8603 15.0699 19.6052 83.747 75.2206 -5.30123 -2288 2 28.3877 14.91 20.3878 -26.3407 6.71241 -35.3388 -2289 2 28.2706 15.8287 19.1903 -47.6683 -81.2156 42.8305 -2290 1 23.9795 35.0271 31.2038 -16.0643 -35.4203 65.0323 -2291 2 23.2135 35.1816 31.7565 75.965 -32.1958 -23.9523 -2292 2 24.5232 34.4236 31.7104 -70.7673 54.323 -20.7793 -2293 1 28.6882 19.2643 23.8942 -16.4712 1.15992 -26.0508 -2294 2 29.4533 19.5951 24.3649 19.4068 7.6544 8.63 -2295 2 28.7906 19.6001 23.0037 -0.414651 -13.7932 21.9272 -2296 1 20.7335 23.1194 11.3875 -132.673 -3.94111 55.0552 -2297 2 21.1715 22.5352 12.0065 40.8347 21.9813 -45.4087 -2298 2 21.4293 23.409 10.7974 78.2433 -16.4624 -6.64684 -2299 1 5.76865 34.8073 20.9366 8.59954 55.6468 36.0945 -2300 2 5.89297 33.8627 20.8445 -19.239 -11.8736 -44.9649 -2301 2 5.29271 35.0648 20.147 14.6633 -48.6548 9.42685 -2302 1 26.3719 21.6155 25.723 -52.4769 41.5212 -107.741 -2303 2 25.5949 21.9411 25.2687 49.1753 -30.8638 68.2328 -2304 2 27.0803 21.7124 25.0866 0.971727 -15.0263 43.7018 -2305 1 31.1949 33.5037 26.1577 -0.305328 17.7795 77.151 -2306 2 31.1856 33.3666 25.2104 -18.7205 -0.0870564 -112.732 -2307 2 31.8436 32.8802 26.4841 23.9745 -14.7429 37.6849 -2308 1 24.5449 11.8069 22.6789 -100.147 -62.5151 81.3694 -2309 2 24.237 12.4805 22.0724 13.8625 44.5054 -49.4034 -2310 2 25.4812 11.7288 22.4957 90.5149 15.6782 -42.0978 -2311 1 5.96395 23.1672 33.3812 97.8855 -28.9792 -37.3817 -2312 2 5.34134 22.8619 34.041 -59.4175 -1.95037 35.496 -2313 2 5.55146 23.9439 33.0032 -40.8304 26.6924 -1.815 -2314 1 5.02408 11.1391 19.2056 7.79439 37.4987 -8.0257 -2315 2 5.58969 10.8764 19.9318 -11.0185 23.6311 -15.0243 -2316 2 5.05585 12.0958 19.2107 11.5163 -64.2191 20.6005 -2317 1 22.6925 11.2993 3.68885 81.6279 47.0615 -150.454 -2318 2 23.2095 12.0912 3.54084 -38.1501 -33.0125 65.3097 -2319 2 22.6662 10.8668 2.83532 -31.4268 -19.1718 69.7692 -2320 1 13.2731 8.09219 34.2734 56.1217 -69.4658 28.7909 -2321 2 12.3781 7.81581 34.4702 -82.5992 21.2634 7.82178 -2322 2 13.8048 7.31117 34.427 21.784 49.9213 -22.6862 -2323 1 34.147 7.38458 17.2959 128.122 84.7247 16.155 -2324 2 34.8037 7.99519 17.6308 -71.8626 -79.6139 -45.092 -2325 2 33.3918 7.50471 17.8715 -53.191 -5.44706 27.234 -2326 1 20.6676 14.0728 27.6799 -4.55589 -56.3065 14.3935 -2327 2 20.8489 15.004 27.8074 8.55006 51.3349 6.637 -2328 2 20.6522 13.7079 28.5647 3.70158 5.23715 -13.8869 -2329 1 6.84695 29.7784 7.44131 -56.2079 -12.309 74.102 -2330 2 7.1152 29.1572 8.11836 13.0111 17.5933 -40.7267 -2331 2 5.9866 30.0868 7.72582 39.9029 2.67604 -36.4672 -2332 1 8.84483 31.9119 32.1601 16.1855 30.0914 -21.6965 -2333 2 8.26994 31.2378 32.5224 5.30669 -20.9853 8.41054 -2334 2 9.69641 31.4826 32.0783 -23.1356 -6.1695 8.66511 -2335 1 12.7037 30.3257 23.6316 -52.1283 90.7618 55.6358 -2336 2 12.3849 31.209 23.4459 29.331 9.64204 -93.3124 -2337 2 12.4292 30.1561 24.5328 23.8475 -100.184 43.644 -2338 1 21.7678 30.4577 17.1688 94.4256 -21.2218 35.6331 -2339 2 21.3226 30.123 16.3903 -54.714 37.3878 10.1016 -2340 2 21.1222 31.026 17.5888 -30.7298 -28.2798 -57.6974 -2341 1 6.27785 16.189 19.5392 -2.31074 -6.88598 1.96642 -2342 2 6.76193 16.0689 20.3562 -12.7975 17.3096 -20.0626 -2343 2 6.31288 17.1315 19.3758 3.79875 -6.52673 8.34609 -2344 1 6.9984 25.0316 14.1875 -37.8963 18.3255 21.5916 -2345 2 7.02602 24.0748 14.187 34.0156 14.1914 -23.6091 -2346 2 7.76438 25.294 13.677 11.4611 -36.2604 -6.20007 -2347 1 7.4937 35.0734 0.573486 -58.0494 -50.9225 2.1652 -2348 2 7.7463 0.417943 0.931942 17.4114 46.531 15.358 -2349 2 8.09222 34.935 35.2866 34.7488 1.38206 -28.1603 -2350 1 6.48178 7.54146 20.65 -53.6324 23.4755 0.101216 -2351 2 7.21504 7.33761 21.2305 40.8944 -7.2597 39.2754 -2352 2 6.6779 7.06932 19.8408 5.10199 -21.4665 -39.2175 -2353 1 5.24021 9.16161 11.0807 89.9759 -12.4896 19.1187 -2354 2 5.1137 8.72341 10.2392 -38.6083 15.7454 4.46654 -2355 2 4.35678 9.39798 11.3635 -59.0149 -5.33741 -22.9569 -2356 1 27.6384 15.5319 26.979 -17.4192 -46.1585 -24.2583 -2357 2 27.5981 16.4544 26.7265 3.56674 30.9889 -9.09763 -2358 2 28.2543 15.5102 27.7114 13.2412 13.7928 26.3189 -2359 1 22.8464 5.25124 24.8604 -167.224 -108.347 -36.2384 -2360 2 23.6152 4.70705 25.0311 64.3934 48.623 13.8499 -2361 2 23.1726 6.14978 24.9101 100.116 61.2069 17.8055 -2362 1 29.5224 32.0833 3.42784 -38.829 38.153 -81.4999 -2363 2 29.8883 31.7142 4.23165 47.8461 -29.7935 -11.9893 -2364 2 30.1285 31.8083 2.73987 -15.7148 -6.36159 87.7867 -2365 1 13.9881 20.8968 14.3191 -36.1683 -61.5204 25.0363 -2366 2 13.6862 20.1606 14.8512 14.4404 72.0861 -58.5737 -2367 2 13.2157 21.1666 13.8224 6.25032 -17.1684 21.099 -2368 1 8.3642 15.6026 2.21043 116.172 6.52238 113.755 -2369 2 7.43697 15.4611 2.40139 -92.7595 -15.7171 -2.72572 -2370 2 8.4069 15.658 1.25578 -16.7336 0.06983 -107.951 -2371 1 25.8083 29.1256 29.4969 -44.265 32.8015 48.2871 -2372 2 25.4685 29.3124 30.3721 31.269 -16.5859 -53.3047 -2373 2 25.1849 29.5439 28.9031 15.4683 -15.7264 9.53257 -2374 1 21.3317 23.7584 26.2371 19.41 135.601 -58.1021 -2375 2 21.1955 22.8183 26.3544 -16.7367 -73.0332 52.4513 -2376 2 21.2804 24.1206 27.1217 -2.54367 -53.3155 -14.8388 -2377 1 32.6092 28.8341 33.799 5.65931 23.2817 -72.8064 -2378 2 32.8586 29.755 33.7216 -10.0399 -50.8303 31.0365 -2379 2 32.6235 28.6599 34.7401 12.4276 16.5343 38.7942 -2380 1 22.0655 16.5871 18.1964 -2.22093 5.40452 7.85251 -2381 2 22.2169 17.0383 19.0269 -45.9543 -13.5814 -56.4262 -2382 2 21.2165 16.9129 17.8977 43.9112 1.15471 43.153 -2383 1 10.537 29.7378 12.9329 -71.4525 -26.4273 42.0895 -2384 2 9.82316 30.3735 12.9838 56.9052 -19.7581 -10.4636 -2385 2 11.2563 30.2169 12.5216 -2.42853 34.1683 -14.1558 -2386 1 17.1531 2.96331 22.8161 55.5613 -26.8636 58.709 -2387 2 16.9307 2.04759 22.9841 27.9593 59.295 -7.37414 -2388 2 17.9051 3.13551 23.3827 -82.3858 -22.6026 -57.6016 -2389 1 2.8461 16.6254 31.8339 30.7511 143.552 21.7101 -2390 2 3.06062 15.7862 31.4264 -40.8143 -81.3386 9.39514 -2391 2 2.06905 16.4438 32.3626 15.3649 -67.5137 -31.4111 -2392 1 17.8188 7.51575 34.6569 6.4968 99.814 -25.158 -2393 2 18.7683 7.60874 34.7349 -32.0366 -37.8491 5.88384 -2394 2 17.6609 6.57651 34.7527 25.2407 -68.7114 13.5328 -2395 1 26.8816 17.8253 18.4913 -0.599549 23.4064 26.8398 -2396 2 26.1255 17.5424 17.977 -13.6715 -3.33116 -8.78617 -2397 2 26.5076 18.1434 19.313 9.86374 -9.95401 -13.6482 -2398 1 19.0544 1.05637 26.0196 -4.09618 69.666 24.3304 -2399 2 18.5926 0.283664 25.6941 -41.1554 -65.7457 -25.3793 -2400 2 19.957 0.939121 25.7233 37.4086 -5.34329 -9.63087 -2401 1 1.10132 34.6529 5.12328 23.9732 85.5176 17.1806 -2402 2 0.880765 33.7329 4.97805 -27.0915 -41.8561 24.878 -2403 2 0.812351 34.8306 6.01836 2.68594 -43.3193 -44.8014 -2404 1 3.04471 35.0954 27.4151 -106.657 33.6928 -13.7095 -2405 2 2.09018 35.108 27.4855 43.6283 29.5516 -22.4649 -2406 2 3.3122 34.325 27.9163 58.0272 -65.556 40.3947 -2407 1 14.1254 17.7122 32.8459 20.8693 -50.3188 1.26855 -2408 2 14.7635 18.0559 33.4712 -66.7916 34.5289 -43.3557 -2409 2 13.5955 18.4711 32.6021 41.6345 16.7444 43.1291 -2410 1 20.9523 30.6956 2.27631 -17.2977 16.3641 0.316953 -2411 2 21.429 31.5226 2.20525 -3.89086 -20.1286 1.76727 -2412 2 21.1256 30.3946 3.16828 11.1257 -2.22088 9.07081 -2413 1 16.9619 25.7118 27.4219 100.476 -40.0943 -23.0217 -2414 2 16.9677 25.283 26.5661 -29.1653 29.1549 41.8013 -2415 2 16.065 26.0298 27.5249 -71.7256 7.30527 -21.235 -2416 1 28.7512 33.8326 11.8205 39.6374 -41.3815 101.263 -2417 2 29.372 33.3045 12.3225 1.66675 -13.2024 -65.1474 -2418 2 28.308 34.3704 12.4767 -52.2957 48.3981 -15.4157 -2419 1 13.8956 4.37358 31.9518 -41.6917 72.8033 28.8823 -2420 2 13.8793 3.41777 32.0008 27.5751 -32.0189 -24.7717 -2421 2 14.5091 4.56715 31.2431 17.9423 -36.8477 -10.7968 -2422 1 34.191 7.66514 13.3948 -52.135 -85.6155 -54.3587 -2423 2 34.2368 6.88003 12.8492 31.8394 56.5051 31.256 -2424 2 33.2615 7.75857 13.6035 26.1341 25.5259 15.4426 -2425 1 2.17905 12.8728 21.403 63.3842 -23.7486 -70.8515 -2426 2 3.05329 12.9088 21.0149 -82.2351 19.0593 55.4489 -2427 2 2.22429 13.4673 22.1519 19.4139 17.4895 11.8405 -2428 1 20.024 29.9384 11.783 -47.9279 64.19 -0.762442 -2429 2 20.7791 29.4544 12.1172 47.0599 -30.9048 16.82 -2430 2 20.0253 30.7573 12.2786 -5.1146 -40.3181 -24.7763 -2431 1 12.6844 8.32072 9.63148 102.622 -17.6101 70.642 -2432 2 12.5774 7.52176 10.1477 -28.3297 35.3895 -45.0079 -2433 2 11.8683 8.39832 9.13731 -79.1927 -29.0308 -19.705 -2434 1 27.1767 35.0717 17.9429 -70.2345 73.1212 56.4 -2435 2 26.6892 0.135546 17.3483 24.1215 -22.7687 -63.6353 -2436 2 26.9423 35.3808 18.8179 48.0327 -54.4481 12.6475 -2437 1 23.4999 14.0122 4.26674 9.42008 -42.3865 -26.7528 -2438 2 22.651 14.345 3.97534 -66.3488 2.57158 -59.4664 -2439 2 23.7117 14.5378 5.03815 53.6134 31.6325 82.7852 -2440 1 13.2037 1.239 26.2271 -2.66521 -35.017 -99.8782 -2441 2 12.8963 2.054 25.8302 10.5504 -14.2048 47.5675 -2442 2 13.2509 1.43103 27.1637 -6.47069 44.1647 53.9049 -2443 1 32.6125 13.5614 31.2261 -13.5468 31.8748 0.0526688 -2444 2 32.5535 13.0731 32.0473 -0.689731 36.4651 -10.1369 -2445 2 32.5458 14.4797 31.4876 5.41377 -77.1341 7.14631 -2446 1 11.3656 10.006 5.49035 -80.7814 -0.67841 103.695 -2447 2 11.8931 10.1029 6.2832 5.73155 -5.05381 -48.476 -2448 2 12.0034 10.0028 4.77662 80.7154 4.64604 -48.3796 -2449 1 9.17459 26.419 20.7245 -37.2781 -6.07716 -14.4824 -2450 2 8.24673 26.2197 20.5996 27.2959 -0.446912 9.82908 -2451 2 9.48167 25.755 21.3419 -2.12078 -3.23867 1.45952 -2452 1 9.87026 7.59448 4.03866 43.6133 -46.4041 105.54 -2453 2 10.2864 7.37686 4.87278 -39.399 -53.6234 -20.114 -2454 2 10.1962 8.46974 3.82902 -6.30794 99.1966 -80.7604 -2455 1 20.557 13.7759 1.37132 -8.30169 -8.39195 52.4977 -2456 2 20.371 13.4016 2.23247 9.17431 22.1909 -61.1236 -2457 2 20.6389 13.0177 0.792755 -4.47525 -6.15952 1.31369 -2458 1 29.9325 5.93369 4.91003 -44.6695 -5.23782 -46.0847 -2459 2 30.4535 6.06817 5.70169 39.9144 19.6821 71.0338 -2460 2 30.4405 5.30971 4.39152 -0.937947 -7.51881 -21.5744 -2461 1 12.516 1.74295 15.2961 -19.8391 -55.8309 -3.05401 -2462 2 12.8895 1.9545 14.4405 6.10259 12.5785 8.26535 -2463 2 12.522 2.57317 15.7725 6.61047 39.8615 -4.65859 -2464 1 11.625 32.788 23.8271 -105.779 109.217 -8.99331 -2465 2 11.4555 32.9895 24.7473 25.1664 -24.2735 -17.6564 -2466 2 11.0079 33.3373 23.3435 78.9275 -78.703 26.0362 -2467 1 13.0634 18.992 9.84318 -8.02388 -19.4384 -122.358 -2468 2 12.6831 18.3656 9.22741 -17.3722 -11.5575 68.886 -2469 2 13.5692 19.5913 9.29424 28.5903 46.8648 39.866 -2470 1 26.0237 14.5711 17.782 82.0721 10.7288 70.381 -2471 2 25.4537 15.3243 17.937 -1.28501 1.9169 0.491881 -2472 2 26.7233 14.6624 18.429 -96.522 -8.55476 -80.5525 -2473 1 27.0396 16.2503 1.75686 -31.9879 -35.1923 10.2752 -2474 2 27.9746 16.2658 1.96093 95.218 46.32 -9.7392 -2475 2 26.6887 15.5389 2.29259 -61.1581 -10.9731 -0.253272 -2476 1 15.3583 20.7242 28.7265 42.7669 -32.5274 -10.8199 -2477 2 15.985 21.4477 28.7242 -6.81721 15.5559 0.197791 -2478 2 15.8959 19.9414 28.847 -37.5569 11.9199 -2.2391 -2479 1 27.1055 30.5022 27.4233 -37.04 -77.1838 -26.2864 -2480 2 26.8761 30.0025 28.2068 17.8196 37.2762 -16.0095 -2481 2 27.477 31.3179 27.7591 23.718 47.0387 41.0177 -2482 1 24.9744 18.8146 24.6908 86.3646 -30.4117 -49.3552 -2483 2 25.4242 19.2625 23.9744 -38.2285 -19.2401 45.4377 -2484 2 24.1759 19.3242 24.8287 -53.5956 50.1898 2.14076 -2485 1 29.2347 2.55748 15.48 -80.391 44.2924 -18.4495 -2486 2 29.4594 2.0826 14.6799 16.1257 -11.316 -7.4104 -2487 2 28.424 3.01897 15.2655 63.5637 -28.9279 29.783 -2488 1 23.9872 0.629662 13.0513 55.7402 -176.355 100.53 -2489 2 23.9026 1.58207 13.0961 -30.4697 110.235 -62.6042 -2490 2 23.759 0.410696 12.1479 -15.2479 69.2884 -34.1009 -2491 1 30.8423 19.9765 31.5279 -21.7127 -69.3849 14.0458 -2492 2 30.1813 19.2903 31.6201 17.2573 -90.5456 40.5217 -2493 2 30.3802 20.6993 31.1032 1.31526 144.594 -56.731 -2494 1 30.1636 12.1291 29.6752 77.3602 -114.774 -171.263 -2495 2 29.8535 12.6346 30.4266 1.71911 52.8864 135.49 -2496 2 30.9519 11.6879 29.9916 -78.5718 59.2821 27.4517 -2497 1 8.49941 25.1151 30.478 -103.416 57.7784 15.2022 -2498 2 9.21053 24.8508 31.0617 42.5065 -9.36 44.9239 -2499 2 7.93975 25.6725 31.0187 63.9018 -59.7873 -46.3297 -2500 1 5.73637 9.03013 5.59225 60.5821 -9.42521 67.8502 -2501 2 6.08528 9.67767 6.20479 -27.7976 57.9257 -30.2207 -2502 2 6.04234 8.18915 5.93194 -22.5341 -50.8366 -47.3982 -2503 1 11.2524 34.7652 31.5211 -116.208 71.3695 25.9476 -2504 2 12.1881 34.8117 31.3251 75.4529 15.2137 -14.5797 -2505 2 10.982 0.171879 31.6188 43.7827 -100.133 -12.3525 -2506 1 5.35366 22.0175 22.2346 3.64304 -55.9826 -1.82342 -2507 2 5.96721 21.4316 22.6778 -32.1158 106.962 -23.8327 -2508 2 5.67997 22.8966 22.4267 32.5965 -51.2768 26.2228 -2509 1 33.5598 31.0965 3.22313 44.0686 -95.1114 44.3274 -2510 2 32.8441 31.5566 2.78451 -48.9791 -1.91012 -22.4197 -2511 2 33.2665 30.1865 3.27073 5.65077 93.3172 -13.864 -2512 1 25.964 29.5827 7.26463 -44.7506 -5.4197 82.4735 -2513 2 26.765 29.2043 6.90212 15.2728 9.38187 -39.6754 -2514 2 25.6336 30.1544 6.57162 16.5485 6.54615 -42.3894 -2515 1 33.8777 4.18707 2.43604 -55.4501 8.26836 2.36575 -2516 2 34.8152 4.03226 2.55213 18.8456 25.249 2.7166 -2517 2 33.8005 5.13704 2.3475 31.7402 -23.8862 3.94488 -2518 1 13.8114 25.3718 3.67105 -65.3049 -9.06907 11.4943 -2519 2 13.2573 26.0848 3.35364 -5.7945 1.99705 2.38244 -2520 2 14.6717 25.5486 3.29043 54.9942 4.93808 -15.1448 -2521 1 30.8848 4.38217 2.92127 51.7066 -40.6331 -67.9753 -2522 2 31.3701 3.56801 2.78752 -38.0844 58.5177 14.5353 -2523 2 31.0056 4.87019 2.10673 -11.5554 -22.1869 51.437 -2524 1 12.0694 4.99265 33.857 61.9342 -70.3626 1.30241 -2525 2 12.1121 4.23493 34.4403 -30.737 39.1177 -4.24698 -2526 2 12.8564 4.92416 33.3165 -33.496 28.882 -2.01291 -2527 1 7.37693 22.9959 25.9948 -123.614 33.8567 -28.3154 -2528 2 7.67711 23.9048 26.0038 38.3409 14.5139 6.54532 -2529 2 6.44135 23.0541 25.801 86.8714 -38.2435 17.9418 -2530 1 6.26719 14.4572 7.69069 32.5423 -47.1094 -45.2674 -2531 2 5.31045 14.4624 7.66107 -46.5982 19.507 22.3074 -2532 2 6.52267 13.7704 7.07481 18.0344 28.8525 24.8402 -2533 1 3.42177 16.3256 24.5529 10.0482 -18.4972 2.19713 -2534 2 2.7692 15.6254 24.5593 1.42308 -3.07529 -3.07129 -2535 2 2.93123 17.113 24.7889 -6.77451 11.5867 6.99486 -2536 1 11.8927 13.7293 11.881 74.9988 -140.812 120.581 -2537 2 11.2691 14.1226 11.2705 -76.2957 86.6584 -92.6118 -2538 2 12.5402 14.4163 12.0385 9.6688 44.1871 -14.1094 -2539 1 27.0851 4.13632 19.0672 16.7176 15.3374 41.5616 -2540 2 27.6727 3.3834 19.0033 17.5619 -62.9286 -53.1671 -2541 2 27.3028 4.54004 19.9073 -37.4501 35.5716 -3.28978 -2542 1 27.8272 10.5816 29.1165 -30.9176 -60.9511 -7.32488 -2543 2 28.0436 9.64926 29.101 16.4608 79.5556 4.45046 -2544 2 28.6744 11.0236 29.1719 24.1165 -26.4177 3.53441 -2545 1 8.69836 11.8249 17.3326 71.0366 -46.4969 -48.3257 -2546 2 8.91783 12.7473 17.2013 0.794482 -11.1782 -0.0751204 -2547 2 9.42107 11.3461 16.9268 -64.4599 49.5074 34.3334 -2548 1 13.4279 16.9758 24.9588 34.1563 13.7459 48.6035 -2549 2 13.9279 16.4791 25.6066 -30.8708 -6.03087 -31.2224 -2550 2 13.6668 17.8886 25.1196 -19.603 4.02195 -22.0798 -2551 1 25.2932 29.7753 23.4555 -76.4771 -52.7546 -62.5805 -2552 2 24.991 29.5838 24.3433 -44.6727 -21.9864 65.4926 -2553 2 26.1263 30.2302 23.5784 127.321 70.9051 -12.2232 -2554 1 1.80823 18.6694 8.01778 38.1887 -46.5474 -149.289 -2555 2 2.26727 18.0401 7.46142 -48.8521 63.641 81.977 -2556 2 1.52685 19.3599 7.41754 7.13197 -23.4394 49.9072 -2557 1 30.1224 27.6134 26.5464 -13.7825 26.2831 21.6709 -2558 2 30.5295 27.0023 25.9324 20.7865 16.5579 -3.80488 -2559 2 30.7058 28.3722 26.5522 -7.14206 -43.6792 -16.176 -2560 1 33.1846 17.8857 6.35207 31.4568 -56.3608 19.9367 -2561 2 32.5892 18.5857 6.62007 -15.9089 11.1535 25.3335 -2562 2 33.2712 17.3336 7.12919 -20.7702 46.3098 -43.1133 -2563 1 33.2728 21.1808 2.29508 -22.9392 20.1414 38.244 -2564 2 32.3589 20.9052 2.22454 13.6857 -4.91243 -14.5777 -2565 2 33.6769 20.8829 1.48006 0.18497 -14.7888 -31.4998 -2566 1 28.3439 11.5381 12.3752 10.5881 28.3218 44.9126 -2567 2 28.275 11.1377 11.5085 7.21294 -22.8022 -85.6506 -2568 2 27.6852 11.0854 12.9018 -29.2888 -9.71495 36.1554 -2569 1 28.3004 2.64499 2.85749 2.07125 9.46596 22.4267 -2570 2 28.3454 2.7769 3.8045 27.7028 -11.2085 -78.7103 -2571 2 29.195 2.41807 2.60393 -21.0522 10.996 43.2599 -2572 1 31.4417 35.4347 23.4012 -50.6227 125.845 -24.4512 -2573 2 32.2354 0.374998 23.6957 -17.5384 -67.1458 -3.29044 -2574 2 31.6578 34.5035 23.4508 65.5235 -64.7245 24.8254 -2575 1 3.7133 28.2017 15.8796 27.7833 -25.2085 -9.84873 -2576 2 3.95056 28.3084 14.9584 -3.2806 23.4102 -22.5767 -2577 2 3.89552 27.2813 16.0694 -8.46786 -2.93706 24.1835 -2578 1 10.9456 21.0269 2.86059 101.963 23.7457 39.8435 -2579 2 11.6136 20.9452 3.54132 -82.9708 4.62671 -62.7019 -2580 2 10.2413 20.4441 3.14429 -21.0936 -26.9197 21.8168 -2581 1 15.5794 3.78445 6.21944 -52.3283 -29.4076 -18.2149 -2582 2 15.7079 2.9224 6.61517 38.8829 -3.9294 25.5762 -2583 2 14.7213 3.72987 5.79876 6.13031 38.0697 -14.2942 -2584 1 19.6459 9.99163 5.15199 -146.737 -10.203 -6.51045 -2585 2 18.8865 10.5107 5.41651 77.0647 35.0067 20.5957 -2586 2 19.2746 9.24686 4.67903 68.5571 -26.1646 -11.0948 -2587 1 3.53556 21.9464 7.08874 9.51448 -18.0672 -47.7131 -2588 2 4.16425 22.5925 7.41063 22.6156 45.714 59.6861 -2589 2 3.81038 21.7719 6.1886 -22.0497 -24.4685 -15.2921 -2590 1 12.525 18.649 6.43848 83.8367 -101.519 143.338 -2591 2 11.7757 18.4286 5.88511 -23.5173 61.6419 -58.4141 -2592 2 12.846 19.4799 6.08792 -49.15 40.9024 -70.7612 -2593 1 23.9503 18.894 33.0696 43.4536 -27.6598 -5.88685 -2594 2 23.5234 18.0724 32.8267 -14.6705 24.7058 7.57044 -2595 2 23.2282 19.5007 33.2327 -30.6495 -0.656101 -0.419966 -2596 1 19.8513 7.44506 22.0304 -10.2273 77.1659 -37.1205 -2597 2 19.512 7.85727 22.8248 4.6998 -15.8383 2.85052 -2598 2 19.8228 8.13726 21.3698 5.73997 -58.1365 31.7955 -2599 1 7.99967 26.6387 28.4332 18.0864 15.3632 15.3662 -2600 2 8.46535 27.4341 28.6916 -2.34521 57.3237 -24.865 -2601 2 8.29438 25.9748 29.0565 -19.6207 -56.6835 4.92201 -2602 1 23.8368 15.0159 11.2196 -71.7275 68.1064 56.4738 -2603 2 24.1491 15.0269 10.3149 44.9805 -27.6427 -82.7179 -2604 2 23.1787 15.7102 11.2548 26.5509 -36.6431 26.757 -2605 1 17.623 5.88954 12.542 12.4382 -6.44618 1.93776 -2606 2 16.7437 6.20214 12.3294 -34.4471 20.9213 -14.7925 -2607 2 17.4975 5.31561 13.2977 7.70165 -13.8845 11.5094 -2608 1 33.2481 25.7929 27.9949 -14.7465 -65.7345 -62.4061 -2609 2 33.0067 25.9906 28.8998 -16.8571 5.27634 29.9023 -2610 2 32.6969 25.0475 27.7568 35.0404 68.3416 30.8148 -2611 1 8.52507 32.1103 20.1491 -76.8468 37.2909 98.1061 -2612 2 8.86015 31.7275 19.3383 68.8752 -49.0959 -117.957 -2613 2 7.62967 31.7792 20.2188 10.7876 14.1417 12.2205 -2614 1 27.8257 4.07116 5.11499 56.4882 -77.5739 82.3051 -2615 2 28.4962 4.74768 5.02009 2.19793 20.0432 -11.7763 -2616 2 28.2418 3.39401 5.64844 -65.0009 68.3454 -63.3303 -2617 1 26.0875 14.3347 3.52318 -13.6781 9.99037 18.498 -2618 2 26.1246 13.6914 2.81531 48.2248 -38.2897 -60.3247 -2619 2 25.2074 14.2401 3.88751 -27.2387 26.4627 40.1447 -2620 1 30.1746 24.5516 31.229 36.3247 -7.64612 94.2215 -2621 2 29.8999 25.2009 30.5816 -17.4714 45.1025 -41.0079 -2622 2 30.4379 25.0684 31.9905 -16.1015 -29.9443 -51.1546 -2623 1 4.56917 31.1784 8.22951 71.2995 -71.5899 53.2349 -2624 2 4.04525 31.8928 7.86707 -44.2872 77.5199 -28.7951 -2625 2 5.17866 31.6082 8.82954 -28.5171 -7.82692 -23.1096 -2626 1 6.38187 30.8924 16.1144 -88.0505 -107.31 15.919 -2627 2 5.44366 30.8448 16.2981 74.7505 16.7619 -13.5627 -2628 2 6.58668 31.8267 16.152 4.25627 86.0654 4.84886 -2629 1 22.9379 32.2556 1.41549 -32.8751 37.6209 61.1968 -2630 2 22.7457 32.88 2.11506 22.8713 -44.1922 -62.3876 -2631 2 23.7415 32.5854 1.0134 22.8149 14.778 -4.61832 -2632 1 26.7401 10.5378 34.1404 23.9748 -80.1729 -1.73937 -2633 2 26.6671 9.8552 33.4733 -18.8954 42.4357 0.872912 -2634 2 27.1894 10.1125 34.8708 -11.5364 38.4875 4.20159 -2635 1 18.1286 0.528634 11.6383 74.8256 47.0823 90.9006 -2636 2 17.6446 0.642191 12.4563 13.2115 -7.21849 -50.6904 -2637 2 19.0118 0.839512 11.8368 -85.9936 -32.5152 -31.2306 -2638 1 5.04223 17.2483 27.1671 46.6996 -2.9071 12.1929 -2639 2 4.48051 16.6222 26.7102 -28.0304 85.2331 34.5951 -2640 2 4.4623 17.979 27.3817 -20.4576 -85.2897 -46.011 -2641 1 0.200054 22.7309 26.749 -63.6178 16.1674 31.8428 -2642 2 0.486537 22.5053 25.8639 23.4085 -20.3772 -57.1853 -2643 2 0.976109 22.5986 27.2935 45.3949 -7.86946 23.8961 -2644 1 6.67359 10.3929 29.1264 -7.37823 -147.55 24.0972 -2645 2 7.08222 10.0424 28.335 -24.0022 38.9786 44.0098 -2646 2 6.40403 9.61858 29.6204 26.5412 114.862 -55.5225 -2647 1 0.36104 3.59799 32.9651 11.4014 26.6468 51.9375 -2648 2 0.873648 2.81009 32.7843 -3.68055 30.9884 38.8418 -2649 2 0.646484 3.87548 33.8356 -6.73988 -63.0976 -92.7865 -2650 1 1.12478 7.04672 21.9698 66.7487 -77.5766 -66.966 -2651 2 2.08107 7.05977 21.93 -24.7398 -12.3836 -6.26863 -2652 2 0.898266 7.78155 22.5399 -43.8856 93.6322 73.8478 -2653 1 20.4666 7.96111 8.20874 15.8434 -32.6035 52.6354 -2654 2 20.7142 7.33465 8.8888 -21.8573 83.348 -61.0888 -2655 2 20.6597 8.81774 8.58974 2.2457 -43.5191 2.72564 -2656 1 29.2217 8.66715 31.7283 19.833 -66.0471 -20.0069 -2657 2 28.4817 8.16808 32.0741 11.1103 48.9974 0.117948 -2658 2 29.0002 9.58077 31.9086 -30.3824 13.2653 19.7787 -2659 1 13.3441 26.4709 19.2927 -115.971 37.8527 97.0575 -2660 2 12.4279 26.3229 19.058 30.7284 -24.3712 -59.0751 -2661 2 13.3101 26.8245 20.1815 72.4576 -9.56039 -38.9884 -2662 1 19.9465 12.7059 3.72521 -36.1988 -7.42816 -65.8015 -2663 2 20.7192 12.4772 4.24181 -0.447715 15.7117 46.1089 -2664 2 19.4354 13.2775 4.29812 36.1351 -10.6912 22.6229 -2665 1 35.2316 31.6321 19.7285 3.80197 -28.2812 -105.649 -2666 2 0.36441 30.9813 19.4383 -38.0783 43.8553 65.8631 -2667 2 35.3447 31.6725 20.6782 39.8826 -25.2633 32.6525 -2668 1 24.9028 4.71974 4.92239 -63.3583 -33.3608 -15.992 -2669 2 24.6018 3.89886 4.53277 -7.11114 26.2248 12.6603 -2670 2 25.8469 4.60302 5.02852 80.5179 2.14044 12.1928 -2671 1 24.3545 20.3891 21.3939 -102.965 -23.0718 -103.911 -2672 2 24.5635 21.3231 21.3785 59.9967 78.3811 49.1747 -2673 2 23.7485 20.2667 20.6632 40.6037 -56.1156 60.4666 -2674 1 27.5086 1.34545 12.131 44.0317 -15.4597 -3.55067 -2675 2 26.8907 0.938183 11.5239 -31.2707 -6.90501 -18.3088 -2676 2 26.9731 1.94188 12.6543 -28.942 19.4273 16.453 -2677 1 13.1367 1.89352 29.112 -6.62117 -111.122 44.8152 -2678 2 13.1447 2.81909 28.8681 53.6601 34.8113 29.6886 -2679 2 13.8601 1.80252 29.7322 -60.1189 69.4814 -76.0169 -2680 1 28.1449 3.96235 23.804 -93.391 66.1592 -3.9443 -2681 2 28.0928 3.0105 23.8907 22.084 -60.9204 6.3715 -2682 2 29.0832 4.15097 23.7889 69.1442 -7.97473 -3.30581 -2683 1 18.2497 23.2275 0.516824 -7.4507 -73.1195 -9.26436 -2684 2 18.5105 24.1471 0.566952 54.6303 -32.6454 32.7005 -2685 2 18.9778 22.7496 0.91401 -36.4349 102.442 -21.1507 -2686 1 2.5137 29.0901 7.57562 -55.8197 21.9792 -10.8777 -2687 2 3.11306 29.8135 7.39196 24.9271 2.70377 3.89564 -2688 2 3.08188 28.3736 7.85838 40.9053 -30.5936 7.33634 -2689 1 25.0079 10.6905 1.68671 141.214 144.387 -12.5437 -2690 2 25.2324 9.8706 2.12671 -41.1713 -69.7619 19.7156 -2691 2 24.1055 10.566 1.39281 -100.059 -69.9567 -12.5108 -2692 1 0.508572 31.9831 4.59022 24.6707 45.0758 -47.4396 -2693 2 0.565883 31.5803 5.45667 5.41788 -29.7953 64.3678 -2694 2 35.2575 31.5649 4.18077 -29.3276 -13.8025 -18.2311 -2695 1 8.51919 24.056 22.2589 64.1043 -87.2503 -95.0235 -2696 2 7.75486 24.4204 22.7053 -106.348 57.231 69.3263 -2697 2 9.26573 24.5036 22.6572 35.7388 30.3316 25.936 -2698 1 3.74125 33.1514 4.3048 -21.4819 -79.4932 -60.957 -2699 2 2.7927 33.0305 4.26148 34.5404 19.032 11.8258 -2700 2 4.09772 32.4502 3.75942 -14.3741 62.7479 54.4682 -2701 1 23.7084 3.65684 13.1034 54.6014 6.20372 -78.2996 -2702 2 22.8587 3.36418 13.433 -104.643 -21.5773 109.995 -2703 2 23.6851 3.45586 12.1678 53.2148 20.3639 -38.7242 -2704 1 24.605 3.77015 1.43548 -68.163 -28.4542 58.3319 -2705 2 25.4485 3.56335 1.03297 45.1027 -15.9382 -16.7113 -2706 2 24.4726 3.0787 2.08403 14.2563 40.9913 -41.9301 -2707 1 19.4869 29.4921 22.0104 166.882 -121.378 42.987 -2708 2 19.5701 28.5549 22.1866 -54.8293 108.301 -26.2606 -2709 2 20.3758 29.8341 22.1064 -98.0152 11.6221 -19.0776 -2710 1 16.2301 13.9005 33.7977 -111.673 -105.461 30.1439 -2711 2 16.8203 14.224 33.1169 75.1109 60.5581 -52.7099 -2712 2 16.4373 14.4311 34.5669 36.9306 47.0721 11.9951 -2713 1 31.4006 4.69857 20.6192 142.369 -3.20111 51.6757 -2714 2 31.8989 3.93239 20.9037 -72.1931 34.0727 -35.3877 -2715 2 31.9922 5.43699 20.7643 -67.5914 -23.2216 -27.4061 -2716 1 11.9141 27.2143 2.83094 -74.1765 48.9976 77.2612 -2717 2 11.7378 27.6177 3.68092 61.8305 -31.7271 -30.6941 -2718 2 11.0749 27.2457 2.37166 16.8031 -19.7319 -48.5888 -2719 1 22.2931 12.3266 33.3111 54.0525 -10.7077 -0.246658 -2720 2 23.1318 12.4064 33.7655 -36.5516 2.05601 -9.73195 -2721 2 22.4872 11.792 32.5412 -18.5412 9.92714 6.38864 -2722 1 34.7646 23.6541 16.893 -67.9785 -34.696 -1.00751 -2723 2 35.4605 23.1586 16.4612 27.1246 -9.71736 -9.85471 -2724 2 33.9816 23.1147 16.7822 50.5401 50.4801 12.7823 -2725 1 1.74248 27.5855 25.6015 -30.7642 -25.9133 70.2902 -2726 2 1.16405 27.7208 26.3521 19.3008 -37.0103 20.5099 -2727 2 1.50405 28.2793 24.9867 6.79333 56.5179 -87.2203 -2728 1 12.8948 5.6108 10.6747 95.455 61.2594 -38.3881 -2729 2 12.1716 5.02097 10.8874 -87.9466 -69.3071 29.6563 -2730 2 13.4561 5.10122 10.0903 -7.97913 14.9967 6.65116 -2731 1 26.3115 30.231 9.95969 5.34231 -6.90593 35.2746 -2732 2 26.2963 29.9692 9.0391 -7.29872 -0.202001 -44.9514 -2733 2 26.8791 29.5869 10.383 -2.126 9.47921 9.40371 -2734 1 2.44559 10.303 33.9575 -94.4174 -10.9117 47.6112 -2735 2 3.25634 10.413 33.4607 72.4063 13.6244 -0.311529 -2736 2 2.67967 10.5411 34.8546 27.714 -2.43626 -44.0458 -2737 1 23.5954 21.3764 7.99423 -61.8129 -58.9749 20.7867 -2738 2 22.8343 21.0079 8.44276 -19.6241 64.7815 39.0644 -2739 2 23.9551 20.6454 7.49181 81.4823 0.345496 -56.7672 -2740 1 35.3134 2.94635 23.5839 -7.05487 18.7534 -33.4632 -2741 2 0.232722 3.38509 22.8473 -15.2107 -2.17004 3.81712 -2742 2 0.528143 2.56826 24.0873 20.8343 -19.1251 24.5829 -2743 1 13.9967 14.344 15.5008 12.7808 -34.8924 14.4207 -2744 2 14.7703 13.9657 15.9188 -11.6631 -15.065 -2.15325 -2745 2 14.1557 15.2879 15.5113 -4.94027 45.2337 -11.1722 -2746 1 6.46786 25.9869 20.3665 -14.1505 63.9641 63.1481 -2747 2 6.59641 25.2992 19.7132 -5.96476 -61.8687 -7.92735 -2748 2 6.12736 25.5279 21.1343 21.4951 -1.50962 -59.0287 -2749 1 13.2419 10.2222 7.85745 -34.0179 69.392 63.7033 -2750 2 12.9462 10.9161 8.44681 31.6309 -50.9664 -76.2031 -2751 2 13.3295 9.45178 8.41869 6.82988 -25.1507 -9.51637 -2752 1 19.8806 15.7607 34.7873 -37.0107 24.3223 66.6847 -2753 2 20.2198 15.0943 35.3849 -1.13409 -17.9924 48.2272 -2754 2 20.2698 15.5438 33.9402 30.4228 -5.67562 -110.977 -2755 1 28.0615 14.474 34.8691 0.409611 12.6457 27.5878 -2756 2 27.8498 15.0298 0.171869 3.58985 -16.1929 -16.439 -2757 2 27.8916 15.026 34.1057 -6.63253 1.40685 -7.21741 -2758 1 19.6279 31.0003 7.02693 95.9331 57.4595 5.63075 -2759 2 18.9027 31.3652 6.51969 -52.483 29.7381 -40.5469 -2760 2 19.2874 30.1753 7.37296 -33.3349 -78.7794 37.112 -2761 1 23.5196 19.5792 13.6534 11.9703 -11.9872 -16.0803 -2762 2 23.6724 20.443 14.0364 21.0772 46.6019 4.07495 -2763 2 22.948 19.1363 14.2807 -27.4046 -32.4068 14.6896 -2764 1 17.2298 33.3918 27.4282 136.737 -44.9806 38.5596 -2765 2 17.9104 33.6617 28.0447 -64.6365 72.609 31.4718 -2766 2 17.6201 32.6648 26.9429 -67.6491 -27.3852 -72.0513 -2767 1 14.5268 35.0836 34.7036 76.357 -105.08 3.06184 -2768 2 14.9194 34.4663 34.0863 -44.5302 60.5052 19.8773 -2769 2 14.8544 34.808 0.112509 -31.0786 39.0882 -20.3082 -2770 1 23.4454 32.9767 12.2117 4.78103 -41.7327 -98.3026 -2771 2 24.2263 32.4486 12.3775 -33.1722 34.8981 28.2986 -2772 2 23.3422 33.5071 13.0018 24.5216 2.21769 60.9284 -2773 1 27.832 1.81871 26.9047 -32.0759 64.1072 72.7195 -2774 2 28.3908 1.28778 27.4722 -1.09261 -12.6809 -52.067 -2775 2 27.9432 1.43761 26.0337 31.771 -40.3508 -4.74014 -2776 1 33.4891 28.0906 24.9173 -46.8518 63.902 27.9928 -2777 2 33.9371 28.5069 24.1809 11.4662 -13.0261 -12.6512 -2778 2 33.8254 27.1944 24.9271 34.3676 -54.1118 -11.2405 -2779 1 4.51563 24.7989 27.5189 15.8458 -16.6832 -111.647 -2780 2 4.61605 24.1405 26.8314 -10.7558 -34.721 67.0397 -2781 2 4.53926 25.6358 27.055 -9.99317 59.6882 52.1345 -2782 1 21.9856 18.5099 0.0939801 116.12 -37.0828 22.3152 -2783 2 22.4363 17.9182 34.9386 -49.9278 23.9836 6.77421 -2784 2 22.6424 18.7234 0.756763 -71.4054 8.06381 -34.2768 -2785 1 1.51371 16.0299 0.147148 -24.4521 46.4337 41.1972 -2786 2 1.10521 16.6802 0.718505 26.6731 -45.7321 -50.918 -2787 2 1.18565 16.239 34.7197 -0.794459 0.0473671 14.1248 -2788 1 15.6023 24.9766 19.1526 -30.4876 6.15423 9.07014 -2789 2 16.1677 25.4411 18.5355 77.1737 -4.56497 -55.3531 -2790 2 14.9395 25.6204 19.4023 -44.9173 -12.2782 35.9217 -2791 1 14.8951 26.7785 7.57002 -28.9024 -12.7271 77.4225 -2792 2 15.0575 26.9683 8.49406 -11.8303 -20.5564 -75.969 -2793 2 14.0842 26.2699 7.5684 44.5902 29.0216 -2.09941 -2794 1 20.1216 16.9941 24.3889 -31.6835 -59.9485 -34.0243 -2795 2 20.0745 16.276 23.7577 -0.546933 34.9584 37.2473 -2796 2 20.9425 17.4412 24.1829 55.8782 32.646 -10.7657 -2797 1 31.9712 9.82395 26.2433 2.36483 16.2972 -73.3128 -2798 2 31.2308 10.3276 25.905 -2.0764 -2.12049 27.598 -2799 2 32.4308 9.51836 25.4612 -3.98865 9.02436 56.1582 -2800 1 0.384785 34.9305 18.5365 -1.02826 75.3333 -48.1016 -2801 2 0.354052 0.183512 17.9545 15.0984 -60.6377 56.1406 -2802 2 35.1912 34.3585 18.2218 -22.9533 -27.0379 -0.65624 -2803 1 13.4153 12.3332 24.2365 53.861 15.3051 -19.0809 -2804 2 13.1015 11.7844 24.9552 -20.4292 -27.21 42.4184 -2805 2 12.6205 12.7041 23.8531 -37.0126 12.5839 -20.1741 -2806 1 5.18743 5.1874 32.8737 -15.2537 5.61229 -28.6354 -2807 2 4.61713 5.7387 32.3379 29.3153 -25.3254 10.5915 -2808 2 5.77525 4.76805 32.2453 -20.6678 19.7285 11.6709 -2809 1 32.4256 26.6679 22.0935 -87.9601 -81.0708 -81.2 -2810 2 33.1172 26.9848 22.6746 79.3103 23.5872 55.7243 -2811 2 32.7109 25.791 21.8369 -4.28217 68.5352 27.2623 -2812 1 26.5495 2.70435 29.9119 -59.8392 17.2196 34.5191 -2813 2 26.4581 3.07008 29.0321 21.5598 -1.9171 -9.32332 -2814 2 27.4581 2.40645 29.9548 48.0416 -3.54659 -19.3604 -2815 1 31.3613 7.26017 30.587 25.248 22.6492 -92.5078 -2816 2 31.4661 7.56461 29.6856 -26.7071 -28.7997 101.629 -2817 2 30.4884 7.55955 30.8415 -4.65436 10.3928 -9.60175 -2818 1 10.1748 14.388 10.0675 60.1917 1.01503 -16.4986 -2819 2 9.29104 14.5008 10.4175 -54.2346 1.37504 -2.04806 -2820 2 10.0441 13.9746 9.21416 -18.2269 3.89829 8.59036 -2821 1 28.1567 13.9451 15.9579 60.9298 -20.4478 25.5826 -2822 2 27.2963 14.2301 16.2656 -18.8925 7.92771 -35.3315 -2823 2 28.1014 14.0018 15.004 -37.6295 13.7187 8.76001 -2824 1 8.84141 24.5716 17.2442 -15.1354 -95.9852 71.0112 -2825 2 7.89444 24.6528 17.3579 -48.3914 65.3555 -41.9685 -2826 2 9.0818 23.809 17.7705 66.8992 27.9244 -33.2913 -2827 1 6.95639 20.2904 23.8496 5.10672 30.3774 -27.7754 -2828 2 7.08451 19.4606 24.3091 9.46819 -22.2566 14.2323 -2829 2 7.84243 20.5992 23.6602 -11.593 -4.08766 6.08018 -2830 1 5.75365 13.11 29.0537 61.2888 -5.98057 40.761 -2831 2 5.92902 12.9785 29.9855 -47.1793 14.8338 -69.0138 -2832 2 4.80751 13.2466 29.0046 -21.2898 1.01333 36.259 -2833 1 30.0299 16.6854 32.8482 -69.0194 25.9389 -13.7276 -2834 2 29.0847 16.8354 32.8675 63.3953 -15.9432 1.52291 -2835 2 30.2217 16.2551 33.6815 -3.34277 5.67395 -8.60755 -2836 1 19.4105 24.3103 19.4554 -6.45078 22.0348 82.3983 -2837 2 18.9684 23.7628 18.8065 52.915 26.3034 -31.6666 -2838 2 20.17 24.6647 18.9929 -37.5734 -39.0679 -37.0269 -2839 1 21.0876 32.5234 34.0548 4.44932 59.9927 111.572 -2840 2 21.4201 33.3104 33.6231 20.4274 22.4473 -105.558 -2841 2 21.0169 32.7677 34.9776 -26.2577 -81.494 -6.49713 -2842 1 27.58 10.4702 5.09171 -65.2659 5.31237 12.2309 -2843 2 26.6286 10.5692 5.12737 -0.2139 44.391 9.28985 -2844 2 27.7181 9.5393 4.91664 52.9737 -66.6441 -8.53156 -2845 1 28.7347 28.9472 29.8879 7.45179 86.9813 22.018 -2846 2 27.7913 28.8345 30.0046 -51.7656 -1.30873 6.75643 -2847 2 29.0371 28.1044 29.5497 32.1883 -83.9254 -30.2719 -2848 1 23.1275 9.19045 12.3318 -23.9151 -43.3885 -25.0746 -2849 2 23.4816 8.43938 12.808 -0.108479 97.3974 -0.673422 -2850 2 23.502 9.95277 12.7732 20.9614 -58.0152 32.6549 -2851 1 7.73216 20.4882 35.3884 -79.8619 53.6086 26.6705 -2852 2 7.15161 20.7595 0.652262 -9.28349 14.6477 -30.7094 -2853 2 8.30386 19.8298 0.336145 66.1889 -67.8282 9.79696 -2854 1 15.7512 1.18494 29.4705 45.5095 23.8518 -9.66497 -2855 2 16.6208 1.21888 29.8691 -57.067 12.8279 -49.9056 -2856 2 15.8169 1.75236 28.7024 18.7036 -43.2154 69.2484 -2857 1 21.0125 1.65575 12.0146 -59.7992 -6.22894 -86.5593 -2858 2 21.2864 1.87162 12.906 31.1405 18.4624 94.0344 -2859 2 21.754 1.17624 11.6452 24.5695 -19.7654 -12.1322 -2860 1 17.7706 21.9532 29.4088 28.4722 40.1726 13.2434 -2861 2 18.054 22.8281 29.6744 -25.2589 0.91138 -16.2222 -2862 2 18.4264 21.3647 29.7828 -2.82969 -29.684 -8.31059 -2863 1 22.4681 13.0574 12.4604 -3.89925 -7.04083 111.939 -2864 2 23.1035 13.6329 12.0345 2.45139 7.79522 -50.7168 -2865 2 22.0388 12.5979 11.7386 -5.84249 -2.03513 -69.058 -2866 1 11.2192 21.7415 13.5285 0.71591 13.1881 -35.2564 -2867 2 11.4727 22.2366 12.7495 54.0703 31.7834 6.09939 -2868 2 10.3482 21.4014 13.3239 -46.4165 -48.0548 42.6166 -2869 1 21.7279 10.8896 26.2263 155.179 -72.0569 -85.1622 -2870 2 20.9652 11.4405 26.0502 -88.2546 35.9495 60.6437 -2871 2 21.6288 10.628 27.1418 -65.0603 43.6902 6.08865 -2872 1 18.4681 8.09524 14.4984 -42.8663 -10.5244 65.1347 -2873 2 19.2322 8.4718 14.0618 12.347 -3.22468 -46.981 -2874 2 18.0028 7.62636 13.8056 32.0667 11.3951 -20.5248 -2875 1 2.91994 4.40223 25.4102 68.4593 -106.026 -71.0964 -2876 2 2.9641 3.59725 24.8941 -43.6585 75.7969 46.9731 -2877 2 3.83273 4.67101 25.5142 -27.2896 23.449 16.4356 -2878 1 5.27068 8.45247 8.47141 -0.45936 59.6162 -88.5046 -2879 2 6.07814 8.80495 8.09723 -38.6684 -29.5621 41.7408 -2880 2 4.5724 8.84056 7.94411 30.7556 -35.9611 44.4882 -2881 1 1.77043 24.1476 31.5884 113.491 -45.171 -13.3083 -2882 2 1.57331 23.2177 31.476 -37.6559 54.8168 8.35864 -2883 2 0.922094 24.5527 31.7685 -67.1584 -21.0734 6.19013 -2884 1 24.4488 22.6675 34.863 53.6463 31.8488 -27.9005 -2885 2 24.1329 23.4176 34.3593 8.57955 16.1041 -13.8081 -2886 2 23.6572 22.2748 35.2308 -65.4644 -43.4471 42.7218 -2887 1 4.18134 10.9323 27.7271 -41.3639 46.5937 7.13493 -2888 2 4.44351 10.1435 27.2524 13.6387 -38.0837 -13.1096 -2889 2 4.90713 11.1036 28.3272 27.6277 -3.86564 16.1274 -2890 1 17.6908 23.1912 14.1671 40.9328 34.084 -66.2881 -2891 2 17.1845 23.2465 13.3566 33.8272 -2.9704 51.2992 -2892 2 18.5214 23.6199 13.9609 -76.319 -34.0165 16.0849 -2893 1 7.47672 4.12438 28.9446 -22.8299 28.7473 27.892 -2894 2 6.58995 4.0886 28.586 -19.5575 2.09032 0.409323 -2895 2 8.00996 3.63896 28.3151 40.7678 -31.8926 -34.8062 -2896 1 24.0042 12.4897 25.2199 38.5247 37.3461 5.77766 -2897 2 24.2259 12.1149 24.3675 -55.0705 -12.1358 56.7591 -2898 2 23.2744 11.956 25.5343 13.9204 -22.8569 -51.6737 -2899 1 29.918 1.50225 13.0354 75.5507 21.2953 35.0371 -2900 2 29.1022 1.34652 12.5595 -101.695 9.35002 -44.2639 -2901 2 30.3992 0.677984 12.9629 41.4874 -27.6833 13.0594 -2902 1 10.6846 11.2162 11.7056 46.9543 7.255 52.1953 -2903 2 10.069 11.2418 10.973 -3.47021 43.2252 -9.19003 -2904 2 10.9117 12.1331 11.8604 -41.0777 -53.5227 -44.7363 -2905 1 26.8381 6.78465 27.9006 -50.7771 42.2208 59.3526 -2906 2 27.6215 6.24454 28.0045 36.2291 -28.7848 -29.968 -2907 2 26.7437 6.89101 26.9541 22.397 -17.2347 -36.5058 -2908 1 19.4556 27.2634 28.0476 74.7157 44.3669 -12.6026 -2909 2 19.0273 26.4901 27.6804 -55.5415 -27.4345 8.10583 -2910 2 18.8413 27.5881 28.706 -35.0639 -30.5625 -2.17053 -2911 1 9.18255 17.5435 23.2127 8.21961 -70.4799 94.4371 -2912 2 9.74774 18.2918 23.0206 41.5016 83.0309 -44.0195 -2913 2 9.53163 17.182 24.0274 -39.1929 -7.16284 -37.3733 -2914 1 18.2489 34.633 20.6572 -68.217 -28.4289 7.38848 -2915 2 17.3984 34.3595 20.3135 35.4618 11.8698 15.9795 -2916 2 18.8007 34.7322 19.8813 22.3872 8.18786 -10.4491 -2917 1 32.5286 32.1002 29.978 144.636 -105.032 -13.0226 -2918 2 33.1946 32.7213 30.2727 -13.1541 10.2472 6.53621 -2919 2 31.7069 32.589 30.0248 -130.943 94.3219 16.4759 -2920 1 3.80317 11.4907 8.14909 143.302 26.8417 45.2275 -2921 2 2.93818 11.2859 7.79399 -84.4397 -31.4305 25.0952 -2922 2 3.73823 11.2741 9.0792 -50.9865 2.5913 -64.012 -2923 1 19.1863 31.1183 32.5068 -12.0623 35.8943 -19.4964 -2924 2 19.8048 31.5887 33.0657 23.4255 -9.54582 26.7298 -2925 2 18.8225 31.7915 31.9317 -10.2112 -32.3181 3.06299 -2926 1 13.3411 28.4149 10.641 3.34007 -14.726 -13.3078 -2927 2 14.1915 28.0363 10.4178 -75.4882 3.20921 -1.65362 -2928 2 12.713 27.9229 10.1123 63.6172 16.6732 18.4633 -2929 1 9.56066 12.0599 5.5378 -71.0216 -17.4924 88.2472 -2930 2 10.0845 11.2645 5.63368 18.3524 28.1895 -51.8271 -2931 2 9.85161 12.4404 4.70907 46.6748 -26.2759 -33.8016 -2932 1 7.60233 1.79163 2.09066 39.672 -27.8932 -56.456 -2933 2 7.02467 2.55091 2.01293 -17.9461 10.8592 30.4958 -2934 2 7.49185 1.49758 2.99485 -16.2544 23.8587 4.1825 -2935 1 28.7863 11.0348 9.63764 39.2072 31.7224 -76.3819 -2936 2 28.9362 11.2441 8.71571 -23.8279 -25.9114 103.079 -2937 2 29.6227 11.2195 10.0648 -17.09 -5.59611 -10.921 -2938 1 4.02098 14.8441 0.820804 67.4068 -72.0618 -71.7471 -2939 2 4.34572 14.3154 0.091936 -31.0882 51.9916 75.4603 -2940 2 3.18107 15.1857 0.514003 -42.0857 24.178 -9.54397 -2941 1 28.3015 1.63961 9.02848 -52.559 48.1017 123.575 -2942 2 28.2815 2.44636 9.54326 29.2851 -31.2803 -68.8272 -2943 2 27.7918 1.01381 9.54309 22.4243 -13.276 -57.996 -2944 1 8.86256 20.4666 30.0525 -99.7857 -26.2475 -55.8247 -2945 2 8.39383 20.5285 29.2202 64.3164 48.7994 -50.6381 -2946 2 8.28464 19.9518 30.6158 28.9816 -21.4281 107.605 -2947 1 18.1542 12.2335 19.1516 27.4247 70.8773 89.7586 -2948 2 18.5969 11.7695 18.441 1.30388 -40.2364 -56.5476 -2949 2 17.2292 12.0128 19.0428 -40.092 -29.1614 -29.4192 -2950 1 30.2698 30.1299 18.8353 37.1352 -11.1803 25.939 -2951 2 31.1342 29.7381 18.7104 -44.6819 19.4956 -6.12373 -2952 2 29.8739 30.1204 17.9638 3.6213 -6.78098 -24.7147 -2953 1 28.7226 14.9429 4.97488 -1.66756 68.8243 10.6896 -2954 2 29.0698 14.07 5.15845 50.8057 -84.1089 16.9265 -2955 2 27.7967 14.797 4.78055 -55.3976 7.23105 -17.2855 -2956 1 30.791 17.3437 25.8787 20.1614 42.3021 24.3914 -2957 2 31.6006 17.6157 25.4464 -17.9015 -17.809 2.6887 -2958 2 30.4503 16.6385 25.3284 -1.72001 -22.5407 -23.6411 -2959 1 20.8506 21.7807 22.8003 -141.087 -9.07591 20.3625 -2960 2 20.0136 22.2116 22.6276 45.5953 -44.6865 16.3948 -2961 2 21.5099 22.4241 22.5403 100.472 60.9364 -24.9189 -2962 1 3.21789 15.2924 10.937 -23.3893 80.6483 -91.9814 -2963 2 3.56197 14.7753 11.6653 22.2621 -76.518 90.9634 -2964 2 3.77722 16.0687 10.9085 -8.42365 4.33568 -12.5946 -2965 1 33.9264 7.67463 6.62657 -123.621 -62.3054 138.698 -2966 2 34.0772 8.53894 7.0093 23.6199 38.9048 3.63645 -2967 2 34.4214 7.68527 5.80732 85.0314 17.3009 -123.347 -2968 1 33.0988 6.7402 25.1335 0.212515 -37.547 78.5615 -2969 2 33.4699 6.34989 24.3422 9.85314 -9.13135 -40.9209 -2970 2 32.7257 7.57107 24.839 -8.8376 38.7946 -32.2126 -2971 1 29.49 24.6375 11.599 -92.0933 -92.6967 25.7368 -2972 2 29.8285 24.0569 12.2806 64.957 29.8299 13.5556 -2973 2 28.6115 24.3048 11.4149 33.5439 64.4375 -41.704 -2974 1 2.34598 1.81435 21.2345 53.6875 49.7702 -34.2509 -2975 2 1.41391 1.65909 21.0816 -67.4521 -27.5074 3.58396 -2976 2 2.57001 2.53236 20.6425 11.5078 -31.0174 28.0644 -2977 1 11.0668 31.422 0.346272 -83.3704 -1.44554 -0.838347 -2978 2 10.3033 30.9597 35.4476 57.5828 23.3342 19.4149 -2979 2 11.8087 30.8591 0.125255 19.2238 -33.5191 -13.3845 -2980 1 34.9363 6.0772 11.1023 -60.9353 28.2084 104.489 -2981 2 0.149072 6.51881 10.6506 20.1781 -20.3265 -61.1897 -2982 2 34.6812 5.36839 10.5117 37.3097 3.47695 -42.2691 -2983 1 20.0091 11.1394 17.5178 -0.0794191 -31.8703 -70.9117 -2984 2 20.5934 10.5672 17.0204 -20.5913 28.6887 40.1527 -2985 2 20.4725 11.2994 18.3399 31.4596 -0.864838 26.8425 -2986 1 26.6349 15.2395 11.5807 107.963 104.775 -6.48655 -2987 2 25.7801 14.947 11.2644 -95.4482 -28.6297 -30.8549 -2988 2 26.7542 16.1032 11.1857 -11.9979 -81.0141 43.1229 -2989 1 7.32435 7.27453 11.524 -70.2163 27.9645 41.0289 -2990 2 7.87904 7.21046 10.7465 45.0638 -14.5459 -54.9957 -2991 2 6.64935 7.90995 11.2855 10.9667 -13.9591 17.3675 -2992 1 8.60901 9.07467 19.349 14.4873 113.489 -2.27516 -2993 2 8.9412 8.21275 19.6 -10.2127 -71.8664 -4.31275 -2994 2 7.80419 8.89005 18.8648 -0.407555 -38.1702 0.605339 -2995 1 11.2137 13.0386 22.91 36.8508 11.3381 91.9037 -2996 2 10.9248 13.309 23.7816 32.0583 -11.9969 -24.55 -2997 2 10.4278 13.0997 22.3669 -71.1031 -0.0183268 -74.6972 -2998 1 15.706 18.8252 34.7368 50.6702 220.334 66.4483 -2999 2 15.2717 19.5697 35.1533 -104.112 -106.929 -0.0739134 -3000 2 16.5944 19.1342 34.5594 58.4791 -116.649 -60.1393 -3001 1 23.1225 30.9535 32.8062 -11.5232 -47.4843 -20.1772 -3002 2 22.4213 31.3292 33.3386 15.2889 32.1831 4.48784 -3003 2 23.7593 31.6621 32.7135 -11.1202 27.3947 19.9914 -3004 1 2.07266 30.6853 32.5082 2.20304 -15.1846 -4.47244 -3005 2 2.44872 29.8345 32.2824 1.25664 45.9244 14.0498 -3006 2 2.82553 31.2228 32.7543 4.98464 -28.1642 -7.87423 -3007 1 12.1995 21.2364 5.4283 -32.0454 75.4827 65.604 -3008 2 11.4513 21.4729 5.97648 -25.9566 -62.9847 -26.2509 -3009 2 12.8424 21.9273 5.58856 61.6065 -7.78012 -40.7108 -3010 1 16.4972 26.0218 23.2803 -66.2874 -32.1385 72.9852 -3011 2 15.7823 26.3937 23.797 42.4703 -25.7243 -34.9881 -3012 2 16.794 26.7439 22.7265 21.8666 56.0479 -42.3271 -3013 1 3.71179 6.69621 23.0926 -123.342 -8.49758 127.592 -3014 2 4.46036 7.2121 23.3922 48.6623 20.0326 -4.01401 -3015 2 3.10433 6.70275 23.8324 76.4543 -10.2282 -122.733 -3016 1 23.6935 19.6422 1.85777 0.209897 17.5701 -36.761 -3017 2 23.6211 19.1016 2.64434 -7.3501 -27.1257 40.9529 -3018 2 24.5697 20.0243 1.90892 11.6264 9.37825 -3.08416 -3019 1 12.4965 4.32588 15.9575 -9.06634 5.4772 3.82191 -3020 2 12.1362 4.97328 15.3514 -39.6978 19.6755 -25.3815 -3021 2 13.4258 4.54664 16.0199 52.3356 -13.2322 24.8652 -3022 1 2.88894 24.3137 12.3312 16.7267 -24.6252 -128.381 -3023 2 2.72116 24.3254 11.3889 15.4058 5.68649 111.475 -3024 2 2.10712 24.7068 12.7191 -37.833 23.192 17.3605 -3025 1 4.46987 13.6695 19.8465 6.53189 -3.89799 126.194 -3026 2 4.25748 13.4758 18.9335 -9.70471 18.73 -97.5383 -3027 2 4.92458 14.5112 19.8138 -0.86866 3.86998 -29.753 -3028 1 7.11206 19.8591 18.4357 8.56105 -85.7575 -137.309 -3029 2 7.44511 20.0321 19.3163 36.1343 22.3162 96.66 -3030 2 7.65103 19.137 18.1128 -42.0071 59.7902 33.455 -3031 1 23.3108 24.8603 33.3744 22.8366 36.6175 -67.4818 -3032 2 23.603 25.3992 32.6393 -29.2433 -42.0669 95.8325 -3033 2 23.4688 25.4025 34.1472 5.86126 12.1595 -16.5901 -3034 1 6.59197 35.268 10.2945 -26.2422 63.9458 220.321 -3035 2 6.06101 0.556756 10.3414 -16.3484 4.65997 -115.118 -3036 2 6.81337 35.0732 11.2051 40.821 -73.0983 -107.658 -3037 1 21.5894 3.03649 28.3505 77.2698 -48.2297 35.1374 -3038 2 21.3509 3.70374 27.707 -44.5588 39.9593 -31.1666 -3039 2 20.7855 2.88365 28.8471 -44.2206 13.0545 -3.14814 -3040 1 24.8162 5.45263 22.574 50.8055 -8.19271 71.6016 -3041 2 24.3367 4.70144 22.2247 -24.3128 -24.308 -28.2633 -3042 2 24.6302 6.16283 21.9598 -20.7455 36.1325 -44.1965 -3043 1 34.443 0.140586 3.28665 22.7476 -4.27742 -18.2466 -3044 2 34.6441 35.4023 2.38336 -49.054 -21.0686 -58.8521 -3045 2 35.298 0.280292 3.69354 25.7472 19.623 80.1278 -3046 1 4.27801 2.41134 7.98156 -52.0027 48.716 42.461 -3047 2 4.63221 1.98118 7.20326 -20.9194 39.5469 -45.4201 -3048 2 3.80563 3.17135 7.64171 60.5922 -83.5855 -31.0222 -3049 1 24.5229 31.654 21.5399 14.9007 25.2874 -71.6345 -3050 2 24.6934 30.9807 22.1986 34.1571 -16.2199 -16.6001 -3051 2 25.2238 31.5441 20.8973 -52.2928 -21.7319 83.3836 -3052 1 34.4216 34.6829 25.273 -30.5636 -51.7606 39.8167 -3053 2 33.9512 0.00647401 25.1939 -7.37968 -20.3485 16.6229 -3054 2 33.8936 34.1647 25.8803 41.5734 66.6679 -57.8298 -3055 1 11.2651 8.85698 13.2565 6.11934 -18.1511 34.6897 -3056 2 11.1803 9.45133 12.511 43.0191 72.8104 -86.6167 -3057 2 10.3634 8.66802 13.5165 -52.5127 -44.4877 51.1612 -3058 1 17.0485 2.13014 0.320304 -43.131 -13.3828 -71.8851 -3059 2 17.1878 2.31814 1.24847 37.1022 1.7386 47.0418 -3060 2 17.8595 1.70824 35.4837 0.612316 12.3229 30.846 -3061 1 24.823 22.0754 14.9421 -6.63076 28.6944 -27.1115 -3062 2 25.0916 22.4371 15.7866 -7.77581 7.22436 -26.5664 -3063 2 24.7553 22.8366 14.3657 8.94946 -40.7131 48.733 -3064 1 17.7785 29.215 7.78087 5.96691 6.93036 -13.4023 -3065 2 17.51 29.1426 8.69677 -3.91694 12.0117 40.0881 -3066 2 17.678 28.3299 7.43057 3.06703 -33.3962 -24.411 -3067 1 14.0455 24.7655 11.8398 -49.2556 40.9757 -49.7447 -3068 2 14.7227 24.0969 11.9431 67.8415 -63.9109 -0.68869 -3069 2 13.9232 25.1211 12.7201 -16.1137 28.9092 45.8115 -3070 1 24.4288 23.4037 24.8381 32.0421 -132.205 -12.7566 -3071 2 24.7652 24.0979 25.4048 -4.53894 64.141 15.4496 -3072 2 23.7166 23.8165 24.3497 -19.8377 53.1604 -1.7683 -3073 1 11.8864 15.0814 0.295659 -23.6845 124.122 -87.2924 -3074 2 12.5067 15.0949 35.014 47.757 -74.3406 -4.18454 -3075 2 11.4471 15.9308 0.252718 -32.7933 -36.5625 65.9053 -3076 1 11.005 18.7627 17.7 57.571 104.704 54.04 -3077 2 11.2164 19.0989 18.5709 -26.2432 -42.8806 -122.398 -3078 2 11.3661 19.4131 17.0976 -34.5845 -54.5784 64.5603 -3079 1 0.213824 34.4341 28.4428 21.8233 49.2599 -121.163 -3080 2 35.4371 34.42 29.3571 -7.57222 -43.8627 81.875 -3081 2 0.503842 33.5389 28.2675 -14.3425 3.10667 40.5483 -3082 1 27.6974 7.75614 5.28368 -24.1258 54.3121 -69.9057 -3083 2 28.5713 7.36598 5.26558 2.06337 -29.0246 38.9829 -3084 2 27.2788 7.37167 6.05388 27.1055 -33.9832 30.5922 -3085 1 18.5713 5.67475 20.2207 -2.51276 2.63569 -5.61542 -3086 2 19.1274 6.25517 20.7404 -5.47448 -17.9351 -13.6563 -3087 2 19.1825 5.0702 19.7998 0.412368 20.1907 17.371 -3088 1 2.33518 13.1733 32.3637 -6.67276 -6.59705 -16.0066 -3089 2 1.56693 13.7328 32.4774 -3.27126 3.73458 2.50816 -3090 2 1.9767 12.3206 32.1172 -3.45382 -3.48071 1.62879 -3091 1 35.0159 31.7345 0.975688 57.7793 37.717 -88.537 -3092 2 34.603 31.4215 1.78052 -56.1962 -39.1495 9.85887 -3093 2 34.515 31.3212 0.272487 2.72589 2.20814 74.1069 -3094 1 17.1685 3.81685 14.5237 -0.395477 -4.79857 42.9314 -3095 2 16.5563 3.93356 15.2503 -23.639 22.1736 -23.5747 -3096 2 17.8471 3.2386 14.8721 36.0122 -9.6197 -21.8192 -3097 1 23.7386 2.4584 3.91235 47.4542 -90.8935 17.4722 -3098 2 23.8003 1.55288 4.21645 31.1365 41.007 -18.5667 -3099 2 22.8025 2.65665 3.93718 -71.6822 46.4586 -3.97008 -3100 1 22.4655 29.5058 22.7956 -2.25466 1.96441 -21.2068 -3101 2 22.7703 29.3341 21.9046 1.67822 23.1404 -57.5992 -3102 2 22.6993 28.7173 23.2854 -13.9541 -14.9818 55.1933 -3103 1 8.33712 6.62653 29.9373 31.5476 -89.8883 -122.772 -3104 2 8.86569 7.13039 29.3185 -8.28931 25.4008 42.5857 -3105 2 8.17788 5.79321 29.4941 -11.5475 60.286 76.4204 -3106 1 35.1771 29.8014 28.031 -31.2652 19.0848 99.6402 -3107 2 35.03 29.8291 28.9764 2.72713 51.7456 -45.4691 -3108 2 35.306 28.8734 27.8352 18.4617 -58.896 -58.6129 -3109 1 30.2844 0.508833 35.0187 -48.777 -22.175 105.623 -3110 2 29.4063 0.495686 34.6378 43.2415 5.19364 -33.303 -3111 2 30.8697 0.616182 34.269 6.38214 12.525 -84.2589 -3112 1 9.04292 33.8986 34.1544 75.5062 26.0372 32.7989 -3113 2 9.98341 33.9212 34.3311 -63.3922 2.00547 -6.25756 -3114 2 8.9528 33.3037 33.4099 -9.59051 -33.9579 -35.0105 -3115 1 8.19435 7.9026 34.6297 11.855 -66.149 -33.6619 -3116 2 8.11438 8.7497 35.0682 -12.1268 66.7494 45.2147 -3117 2 8.55127 8.11191 33.7665 -4.62032 -10.8461 -2.78562 -3118 1 16.3662 30.7294 16.147 20.5344 -27.5856 -5.42293 -3119 2 15.4361 30.6063 16.3368 -34.2708 9.28735 7.76366 -3120 2 16.6458 29.8966 15.7667 17.1217 16.2493 2.62049 -3121 1 1.38264 21.5184 15.8303 -58.9783 12.9998 134.042 -3122 2 2.16376 22.006 16.0918 3.20911 -13.3891 -61.5717 -3123 2 1.48275 21.3927 14.8867 60.1299 18.9745 -70.8489 -3124 1 24.4963 16.9169 14.4141 62.9081 -66.8611 41.999 -3125 2 24.4414 15.999 14.1481 3.35497 18.1124 5.89269 -3126 2 23.8376 17.3613 13.8805 -61.0725 46.665 -49.6133 -3127 1 6.59739 30.0808 32.9641 23.3861 54.144 -66.6773 -3128 2 6.359 29.5259 33.7068 -17.7568 -70.0809 79.3913 -3129 2 5.92691 30.7638 32.9499 -12.7795 21.81 -7.26337 -3130 1 13.7884 1.75333 32.9894 -14.5543 135.526 34.0508 -3131 2 13.8644 0.828995 32.7525 13.4684 -120.922 -18.159 -3132 2 13.8464 1.76184 33.9448 1.98557 -14.9872 -21.9652 -3133 1 4.51029 20.4673 25.3828 23.0121 -31.6647 -26.1194 -3134 2 4.11123 20.2108 26.2142 -36.7709 5.32783 47.1395 -3135 2 5.09212 19.7402 25.1614 9.15468 17.9259 -19.2209 -3136 1 8.54987 4.97894 10.5397 32.5233 5.08555 5.68287 -3137 2 9.37764 4.57053 10.2862 37.2636 4.57339 9.473 -3138 2 7.87834 4.43952 10.1222 -60.7434 -17.5176 -14.734 -3139 1 6.5683 13.4283 12.4661 -8.91078 -14.636 12.1494 -3140 2 6.84231 14.1375 11.8845 7.19049 17.4336 -29.3178 -3141 2 6.79546 13.7362 13.3435 -0.0869492 -3.01627 16.8131 -3142 1 17.307 29.5652 18.8231 -7.52758 76.379 -46.3916 -3143 2 17.0003 30.1022 18.0924 3.94572 -52.4499 23.6073 -3144 2 17.7929 30.1732 19.3803 -0.817609 -24.7159 15.5413 -3145 1 7.07642 33.6794 15.8803 -75.984 -114.82 -59.9806 -3146 2 7.97477 33.3657 15.9843 53.4595 -0.638717 11.6813 -3147 2 7.08478 34.56 16.2552 22.6245 99.3747 41.5713 -3148 1 4.32137 32.0873 0.424436 69.9283 161.382 -65.8744 -3149 2 5.25166 32.0605 0.200658 -14.4107 -84.2935 33.228 -3150 2 4.04886 32.9798 0.211301 -61.597 -74.6591 37.9821 -3151 1 12.5002 15.4323 7.00232 -8.70739 10.6033 -11.8746 -3152 2 12.4155 16.0237 7.75023 -1.78474 3.27413 2.15962 -3153 2 12.4195 16.0009 6.23649 5.22072 -22.9938 24.5208 -3154 1 20.2221 27.4409 4.69069 -74.908 50.482 -17.9587 -3155 2 20.7352 27.3354 5.49186 37.8695 -14.9753 51.9266 -3156 2 20.545 26.7545 4.1068 23.4431 -37.6015 -21.274 -3157 1 30.0029 27.9944 32.6308 30.7558 -164.84 66.5675 -3158 2 30.486 28.5742 32.042 49.7091 49.809 -56.1679 -3159 2 30.5704 27.2305 32.7343 -78.3062 113.464 -15.4126 -3160 1 14.6352 3.86392 1.20817 44.1387 158.917 54.6602 -3161 2 15.1668 3.06821 1.1869 -30.6919 -76.2285 -30.1494 -3162 2 13.7873 3.59559 0.85413 -14.6988 -81.689 -24.0301 -3163 1 4.28636 7.12905 1.70236 21.9316 -51.2641 -29.7234 -3164 2 4.88191 6.73262 1.06642 -15.5554 37.644 -5.12385 -3165 2 4.17288 6.45812 2.37558 -16.0108 9.25601 28.8861 -3166 1 29.161 26.1946 28.881 58.8653 58.7727 -64.3034 -3167 2 29.2454 26.8933 28.2323 14.6843 -51.8693 28.463 -3168 2 28.2799 26.3044 29.2387 -64.5288 -9.89334 32.5705 -3169 1 3.6307 32.7844 28.9131 23.018 139.373 0.667921 -3170 2 3.08044 32.01 28.7957 31.628 -77.5558 11.1173 -3171 2 4.48391 32.4356 29.1713 -57.5917 -56.2137 -10.4294 -3172 1 23.7597 25.8477 5.67657 -96.5423 10.253 11.886 -3173 2 23.9308 24.9206 5.84223 18.4402 -28.1721 5.89335 -3174 2 24.6048 26.202 5.39989 77.2583 21.8985 -17.2391 -3175 1 25.3798 33.2779 0.148899 75.4223 71.5816 61.7665 -3176 2 26.2702 33.3855 0.483413 -91.4497 -27.8402 -36.1648 -3177 2 24.9565 34.1195 0.318356 8.5596 -45.599 -18.6525 -3178 1 0.684541 1.52127 17.0723 46.0853 98.2221 -58.1946 -3179 2 0.543599 2.42315 17.3604 18.8968 -86.4072 -37.6137 -3180 2 1.27924 1.59782 16.3261 -64.7647 5.04332 79.4214 -3181 1 23.6522 8.67676 18.7747 140.904 44.0114 -2.02711 -3182 2 22.7387 8.77383 18.5057 -98.0332 18.3775 -33.1976 -3183 2 24.0927 9.44429 18.4099 -50.6636 -68.5567 34.2005 -3184 1 33.0517 15.6304 13.3433 -20.2908 58.9141 60.681 -3185 2 33.9502 15.6132 13.0136 46.7877 -10.5931 -27.7962 -3186 2 32.6041 14.9385 12.8563 -21.1064 -43.2951 -33.3811 -3187 1 18.3296 24.6507 30.1353 38.9348 21.2611 37.121 -3188 2 18.9708 24.8861 30.8059 -54.088 -5.60163 -59.2884 -3189 2 18.1634 25.4676 29.6649 9.88442 -16.6591 20.1549 -3190 1 5.36499 26.7656 9.7064 98.2529 29.6679 -35.6306 -3191 2 4.62217 26.8187 9.10502 -60.0596 -9.20086 -15.0624 -3192 2 4.99158 26.4259 10.5197 -48.2634 -26.3659 48.4727 -3193 1 10.1058 10.0801 21.5441 24.4402 29.4457 10.0886 -3194 2 10.506 10.9023 21.2612 11.0252 1.08249 13.2242 -3195 2 9.51926 9.83943 20.827 -30.9863 -24.4863 -21.5877 -3196 1 19.0061 35.0715 29.8453 32.7906 -136.427 60.0693 -3197 2 19.0829 0.407401 29.397 36.0421 53.0525 -49.5439 -3198 2 19.8366 34.6294 29.6693 -68.7432 76.2642 -6.4072 -3199 1 29.9967 14.9835 24.7284 100.622 -51.4676 -58.9963 -3200 2 29.7413 14.5569 25.5464 -73.7508 -10.0155 90.6002 -3201 2 30.7764 14.5074 24.4427 -47.7605 66.2903 -29.5139 -3202 1 6.63552 29.0069 30.4954 22.7967 -16.2204 -48.5805 -3203 2 7.11118 29.3398 29.7344 -17.8038 0.479644 70.7388 -3204 2 6.91887 29.566 31.2189 9.0948 9.05753 -20.8884 -3205 1 10.1147 30.2942 18.3028 -55.2895 -4.36511 25.5693 -3206 2 10.963 30.6738 18.532 37.4021 19.4289 9.25994 -3207 2 10.2334 29.9607 17.4135 5.50325 -14.2197 -35.7038 -3208 1 32.3883 34.1525 4.7896 -25.6317 101.338 -107.376 -3209 2 33.3038 34.1786 4.51137 3.24538 -13.6024 13.8673 -3210 2 32.3673 33.4945 5.48444 21.467 -87.2294 89.2683 -3211 1 8.2698 25.9039 25.879 -62.9319 19.1398 -22.7544 -3212 2 7.46619 26.2015 25.4525 47.3148 -22.9759 -17.5113 -3213 2 8.18507 26.2014 26.7849 28.2241 -5.49332 39.9778 -3214 1 34.3961 28.7638 22.3401 44.2066 -74.5895 17.391 -3215 2 34.7524 28.2418 21.6212 -46.8371 75.1473 28.4799 -3216 2 33.9862 29.5149 21.911 2.03002 0.342479 -52.3425 -3217 1 26.178 0.333694 20.7574 -132.28 -3.06791 -19.4387 -3218 2 26.9777 0.119867 21.2381 58.3164 -25.9 50.5338 -3219 2 25.4776 35.4231 21.2593 77.6027 27.3215 -32.1949 -3220 1 10.6118 26.3762 18.4157 -33.1031 -65.7202 -81.658 -3221 2 10.078 25.7513 17.925 53.6369 51.6786 32.3461 -3222 2 10.1123 26.5429 19.215 -14.6818 12.8496 45.101 -3223 1 8.64268 7.64083 22.408 112.388 -21.7311 17.6467 -3224 2 9.37406 7.40432 21.8376 -73.5032 18.9955 41.1717 -3225 2 9.02858 7.69711 23.2822 -48.741 -4.97437 -70.5746 -3226 1 34.9414 6.28976 29.4794 -34.6058 161.542 -105.674 -3227 2 34.7735 5.37329 29.26 9.55491 -106.349 27.1499 -3228 2 35.3353 6.25953 30.3513 24.0478 -60.8354 69.3312 -3229 1 22.9676 8.26696 24.975 74.487 191.822 -49.0853 -3230 2 23.5974 8.59941 24.3354 -88.7604 -82.9852 87.9522 -3231 2 22.6788 9.04395 25.4537 11.1391 -105.72 -39.2231 -3232 1 11.4546 14.5872 29.1683 -2.58474 -63.6869 28.1888 -3233 2 11.2716 15.5199 29.282 -19.599 21.9368 17.6733 -3234 2 10.9912 14.1621 29.8899 22.1003 49.0686 -40.7668 -3235 1 30.985 28.1923 16.3523 9.64695 -130.27 67.3652 -3236 2 30.9061 29.0428 15.9204 58.5398 31.2604 -48.592 -3237 2 31.8462 27.8681 16.0885 -68.3856 89.1096 -18.4133 -3238 1 19.6047 34.6371 0.729815 -45.7141 -106.869 -45.8594 -3239 2 20.0601 34.5259 1.56436 33.1216 11.5576 58.3708 -3240 2 19.676 0.0663058 0.540252 17.6326 91.021 -4.8927 -3241 1 6.52775 20.2004 8.34661 17.3958 -45.2217 -129.249 -3242 2 6.4609 20.8282 9.06611 -16.9595 81.73 131.538 -3243 2 6.74854 20.7334 7.58279 -5.01426 -38.2966 6.87302 -3244 1 2.22302 5.95014 13.033 27.2297 -9.93227 10.5128 -3245 2 3.15877 5.75509 13.0838 -71.5812 22.0438 13.6531 -3246 2 1.98328 6.20969 13.9226 30.22 -10.9768 -23.0461 -3247 1 33.5471 3.0257 18.3252 11.3508 7.81036 96.9187 -3248 2 33.2451 2.83172 19.2126 10.2059 9.4294 -113.126 -3249 2 32.8845 2.63513 17.7554 -17.5703 -12.2742 15.925 -3250 1 27.713 5.53325 14.9777 36.8493 49.4888 -13.4663 -3251 2 28.5713 5.88565 15.2131 -27.7003 -33.7876 4.33164 -3252 2 27.3573 6.1651 14.3528 -12.8791 -17.6877 7.33821 -3253 1 15.9444 23.733 21.562 7.76589 30.0149 72.9707 -3254 2 15.9674 24.6061 21.9537 7.0313 -32.9011 0.629257 -3255 2 15.6479 23.8806 20.6639 -16.1495 4.56357 -64.5545 -3256 1 6.69181 14.3979 15.1017 4.13052 -24.6817 2.417 -3257 2 7.63647 14.552 15.1112 -17.9767 11.9167 -0.0614324 -3258 2 6.30866 15.2639 14.9622 14.3309 11.016 0.986939 -3259 1 5.95406 12.1457 3.05336 48.454 39.3818 -42.6333 -3260 2 6.26184 12.1924 2.14819 -45.4957 -26.1772 67.861 -3261 2 5.25059 11.4969 3.03453 -3.30765 -16.9927 -28.6957 -3262 1 12.1016 30.8099 11.2235 155.185 -19.8029 -22.9497 -3263 2 12.541 29.9828 11.0259 -57.5428 88.9252 19.3385 -3264 2 12.8146 31.429 11.3803 -82.1418 -56.3231 -13.8489 -3265 1 18.9335 2.00915 15.9897 88.7001 -124.516 -56.1124 -3266 2 19.4402 1.25104 15.6986 -35.5491 93.817 -21.1516 -3267 2 18.5824 1.75029 16.8417 -54.9783 31.1795 74.375 -3268 1 23.9645 13.7277 20.7019 112.02 124.421 94.8307 -3269 2 24.4506 14.5099 20.963 -62.6811 -130.203 -21.241 -3270 2 23.4797 13.9958 19.9213 -56.8481 0.494608 -77.5142 -3271 1 8.25081 5.7875 16.0213 79.9576 -74.7123 19.2498 -3272 2 8.7527 5.13509 16.5099 -52.0172 65.9522 -32.7973 -3273 2 8.67838 5.82789 15.1658 -20.6495 9.26393 10.327 -3274 1 28.35 22.2559 21.4982 40.7798 49.6332 44.3967 -3275 2 29.0686 22.7951 21.1679 -18.1415 -14.2002 -29.9981 -3276 2 28.3189 22.4456 22.4359 -26.5065 -29.0232 -16.7208 -3277 1 1.812 0.0675245 2.46565 -23.8176 -48.4348 11.365 -3278 2 1.24126 34.9858 1.97104 24.5176 33.2589 17.4237 -3279 2 1.91105 35.151 3.31865 0.402326 13.5121 -15.2157 -3280 1 35.5318 20.9796 3.82301 23.9546 -23.8115 24.5029 -3281 2 34.6922 21.3612 3.56659 2.09191 10.041 -12.7756 -3282 2 0.680289 21.5875 3.47953 -13.3663 11.7675 -6.60228 -3283 1 11.1775 3.63432 11.4321 54.9348 65.6556 67.6734 -3284 2 10.4865 2.97194 11.4215 -33.6081 -28.3827 23.7474 -3285 2 11.2327 3.90893 12.3474 -24.7465 -39.3972 -87.3741 -3286 1 9.92695 28.8961 20.6834 91.5452 116.242 110.274 -3287 2 9.95565 29.2881 19.8106 -10.0877 15.446 -74.162 -3288 2 9.39203 28.1096 20.5758 -74.191 -111.529 -30.7529 -3289 1 8.0874 0.987365 4.46162 33.0475 21.9523 24.5842 -3290 2 8.90823 1.47434 4.38853 -44.725 -15.0677 7.60756 -3291 2 8.33225 35.5839 4.29273 -7.85787 -27.655 -4.61239 -3292 1 2.10784 25.5839 29.3574 9.44459 40.5552 -58.3612 -3293 2 2.22865 25.0927 30.17 8.15378 -24.566 37.717 -3294 2 2.98786 25.8772 29.1212 -19.0729 -10.9767 11.1079 -3295 1 0.21754 17.1269 5.6237 1.86836 -0.749514 17.6612 -3296 2 0.667185 16.9733 6.45465 -19.3442 5.73553 -16.6027 -3297 2 34.857 17.4454 5.8752 19.6174 -7.35086 2.52803 -3298 1 29.3603 32.8815 7.14991 0.101535 1.84776 -7.11208 -3299 2 28.4639 33.0416 6.85464 -24.1197 0.377775 -16.22 -3300 2 29.4335 33.3694 7.97018 11.1714 9.8229 22.1136 -3301 1 33.4609 17.4446 24.9889 34.8459 19.6949 44.3807 -3302 2 33.7335 16.5688 25.2626 -17.6138 -21.8592 -16.3795 -3303 2 33.8346 18.0293 25.6482 -17.878 13.9155 -31.7685 -3304 1 14.6341 31.9725 20.1175 -10.2422 -33.9331 -87.7276 -3305 2 14.4125 32.3819 20.9538 68.0644 -3.09541 31.0175 -3306 2 15.5667 31.7692 20.1894 -48.4577 37.7206 63.2122 -3307 1 17.9003 30.1954 29.0743 -20.5718 -10.6223 -35.8036 -3308 2 17.9938 30.3841 28.1406 16.2906 4.03579 62.6651 -3309 2 18.5464 30.7597 29.4991 7.40136 8.62669 -26.9221 -3310 1 29.8169 30.589 9.54408 39.6713 155.86 -33.18 -3311 2 29.6746 31.3817 9.02685 -35.6802 -93.4223 6.28851 -3312 2 30.5093 30.826 10.161 -4.3369 -62.5369 21.6605 -3313 1 21.8305 0.179867 6.59561 -131.553 24.4675 93.6831 -3314 2 21.3265 35.0491 7.10188 56.6761 -51.529 -42.5722 -3315 2 21.4655 1.02846 6.84652 56.7059 32.3959 -53.67 -3316 1 29.6929 11.0441 25.0272 68.5124 10.0532 -10.3615 -3317 2 28.8625 10.574 24.9514 -48.3361 -13.9214 3.38157 -3318 2 29.5569 11.6566 25.7501 -17.7477 7.91035 9.88249 -3319 1 7.91799 12.4181 27.4903 38.2933 48.1398 -40.1548 -3320 2 7.29823 12.3555 28.2171 -21.1617 10.1593 23.0352 -3321 2 8.04287 13.3584 27.3617 -13.9837 -54.2923 12.9695 -3322 1 1.58321 18.1522 25.2386 91.2986 -50.7877 56.0817 -3323 2 0.935055 18.795 25.5266 -44.6607 18.6983 -44.2886 -3324 2 1.35627 17.9751 24.3257 -50.6701 38.1164 -10.704 -3325 1 6.93301 23.5326 2.35574 -143.702 50.9719 121.697 -3326 2 6.7006 22.6248 2.16076 94.0162 47.7602 -51.0249 -3327 2 7.72931 23.6907 1.84864 50.8499 -90.7436 -70.5706 -3328 1 4.74447 5.25766 7.60102 19.9075 -27.8094 -0.753735 -3329 2 5.38569 4.62785 7.93028 2.14717 4.07472 -20.7134 -3330 2 4.31509 5.59604 8.38675 -26.7245 27.0335 18.304 -3331 1 8.12565 1.12124 8.50092 37.7007 154.709 -26.3853 -3332 2 7.75501 0.575229 9.19428 -11.7892 -87.7153 -14.3202 -3333 2 8.33368 0.506866 7.79699 -29.7583 -61.3847 45.9006 -3334 1 19.7437 22.072 2.67536 -72.6452 -87.084 35.6201 -3335 2 20.3016 22.2032 3.44201 18.2973 12.2857 9.66385 -3336 2 19.0937 21.4291 2.95877 68.6697 80.7659 -46.803 -3337 1 26.996 3.406 0.239371 -66.2659 32.1677 -86.7549 -3338 2 27.3911 4.22902 35.3989 18.753 -48.8397 52.7615 -3339 2 27.5459 3.11752 0.967819 63.4184 26.7336 38.2662 -3340 1 2.7621 30.7273 25.4424 74.8314 71.9446 101.042 -3341 2 2.31783 30.4193 24.6525 -55.1412 -39.0564 -105.488 -3342 2 3.5226 31.2093 25.1175 -28.2416 -20.6612 -0.597836 -3343 1 32.1236 13.8574 23.8371 82.6849 -92.3484 25.6154 -3344 2 32.8168 14.2397 24.3753 -29.9897 10.0684 -14.062 -3345 2 32.2779 12.9138 23.8819 -36.7412 75.6787 -21.0433 -3346 1 10.2167 20.2654 34.4011 -29.0169 -52.8399 -24.3943 -3347 2 10.6544 21.097 34.5827 -56.8116 22.1131 -0.754093 -3348 2 9.28658 20.4877 34.3598 104.381 40.8574 18.6361 -3349 1 23.0912 20.8756 25.3036 45.4503 70.41 -36.826 -3350 2 22.403 20.9462 25.9651 -56.0243 -33.0301 53.3605 -3351 2 23.2916 21.7815 25.0682 24.2539 -34.2054 -20.0738 -3352 1 29.4589 17.1069 18.2198 19.4228 -1.40422 1.05421 -3353 2 30.1657 17.4898 18.7395 39.3762 -8.71837 8.8109 -3354 2 28.7383 17.7323 18.2972 -55.9257 7.97026 -13.1335 -3355 1 20.0572 13.4047 10.4575 -2.4323 25.8505 84.4739 -3356 2 19.4773 13.2123 11.1943 24.6504 10.5749 -32.8394 -3357 2 19.765 12.8156 9.76187 -20.1514 -37.3764 -49.959 -3358 1 20.7068 15.0622 6.6659 22.0222 105.487 -3.90323 -3359 2 21.2622 14.3842 6.28108 21.5218 5.94817 -10.4378 -3360 2 21.1772 15.8796 6.50172 -44.0914 -112.56 13.5308 -3361 1 18.8927 16.3345 29.0147 3.11439 -5.52118 23.7863 -3362 2 19.5602 17.018 29.0749 3.80841 8.53475 -13.572 -3363 2 18.8557 15.9571 29.8936 -5.87826 -5.29892 -6.19814 -3364 1 32.5311 22.1127 16.3334 46.7764 47.0163 35.2924 -3365 2 31.6606 21.7262 16.2385 8.686 -8.32642 -67.7514 -3366 2 32.9046 22.0819 15.4526 -79.2373 -24.2636 31.1248 -3367 1 25.6681 12.0582 29.5269 -43.3653 1.85266 30.514 -3368 2 25.5754 12.5328 28.7009 3.15091 15.8366 -30.653 -3369 2 26.4292 11.493 29.3949 38.09 -26.6876 -15.2454 -3370 1 17.5095 29.899 23.7505 -70.9322 -33.6234 -30.1557 -3371 2 18.2389 29.8011 23.1384 4.10489 -2.49186 -3.14647 -3372 2 16.7592 29.5205 23.2923 64.9967 39.6899 42.2027 -3373 1 20.4281 5.60763 4.90377 43.3353 15.8926 -17.7164 -3374 2 20.7454 5.92042 5.75094 20.3228 9.88075 17.3449 -3375 2 19.5006 5.42055 5.04908 -57.5937 -15.3165 -1.5189 -3376 1 21.2234 7.21772 16.3362 -54.0068 -49.4883 0.496242 -3377 2 21.6615 8.0648 16.2537 -7.48507 35.6857 -4.04865 -3378 2 20.2897 7.42645 16.3062 51.4826 7.47009 -1.10846 -3379 1 8.7241 17.2874 17.5571 50.0242 18.6049 8.24109 -3380 2 9.56672 17.7358 17.6291 -59.5477 -42.7563 -7.04497 -3381 2 8.94619 16.4058 17.2576 2.45645 24.0611 6.31696 -3382 1 8.76448 18.0667 33.5473 -18.346 -49.3877 -22.772 -3383 2 9.24749 18.8304 33.863 -64.5601 8.40435 -10.4695 -3384 2 7.86477 18.3771 33.4452 77.2328 36.4092 28.0727 -3385 1 32.8279 35.5211 32.0991 -10.4975 -32.3901 13.2109 -3386 2 32.1895 34.8107 32.1627 21.0022 44.1785 -14.0154 -3387 2 32.4202 0.651917 31.5124 -9.11716 -8.55347 -5.19565 -3388 1 9.68833 32.4158 15.8107 3.23149 -9.79765 5.76038 -3389 2 10.2945 32.8351 15.2 21.23 34.5213 -14.6478 -3390 2 9.52376 31.5527 15.4309 -22.1751 -17.1488 8.31693 -3391 1 3.1368 9.32324 6.33094 -3.39491 25.1297 -51.1663 -3392 2 2.77138 10.1031 5.91308 -61.0141 40.3755 38.8402 -3393 2 3.77819 8.99228 5.70219 55.4222 -73.1271 17.2332 -3394 1 8.1759 30.3492 28.5657 7.5399 -1.43381 -14.9468 -3395 2 8.31433 29.939 27.712 14.466 31.0842 30.1305 -3396 2 8.87221 31.0024 28.6338 -28.4678 -40.1121 -23.713 -3397 1 5.52993 5.11953 25.8355 53.5195 -13.135 -30.2365 -3398 2 6.23257 4.5294 25.5629 -30.9488 0.177078 20.6695 -3399 2 5.65688 5.90546 25.304 -16.8137 18.9708 5.53673 -3400 1 27.9661 26.597 23.4635 16.7393 -26.4826 -28.0337 -3401 2 27.4491 26.129 22.8078 5.32207 1.51069 1.43209 -3402 2 27.3188 27.068 23.9882 -20.7744 18.2494 21.327 -3403 1 8.76852 34.4617 30.1291 162.613 -32.0616 27.02 -3404 2 8.04582 34.686 30.7153 -46.8888 17.0706 57.3805 -3405 2 9.51946 34.3391 30.7099 -100.66 18.9808 -61.5523 -3406 1 6.61756 26.6857 32.4204 31.166 25.8027 -19.8292 -3407 2 6.41207 27.4057 31.8241 18.3739 24.5396 -7.73335 -3408 2 5.83584 26.1334 32.4082 -50.738 -53.4944 12.7413 -3409 1 20.6112 1.66808 21.2131 -43.6657 -67.1231 26.6125 -3410 2 20.4312 2.47489 20.7305 27.2766 117.435 -47.6964 -3411 2 19.8211 1.13957 21.1002 11.355 -43.6885 26.316 -3412 1 17.1102 11.9426 25.7026 69.0884 -60.5556 70.5342 -3413 2 16.5894 12.2432 24.9579 -53.605 52.6405 -53.434 -3414 2 17.034 12.6453 26.3481 -19.4738 14.9789 -19.6483 -3415 1 35.2931 32.2182 32.5142 -56.7764 103.938 -25.8188 -3416 2 0.697494 31.9244 32.5363 56.4161 -2.59715 -3.99805 -3417 2 35.3412 33.1271 32.2178 14.3382 -103.63 25.6849 -3418 1 18.6382 20.0677 10.2448 25.7639 86.1471 45.8099 -3419 2 18.676 19.2526 9.74431 -44.7576 -47.8898 -9.37971 -3420 2 17.7796 20.0499 10.6677 14.0086 -41.4336 -38.0528 -3421 1 15.6726 16.7093 30.8461 -44.8368 -83.8999 -77.4136 -3422 2 15.1741 17.0928 31.5678 -23.835 15.4404 28.7229 -3423 2 15.0758 16.0717 30.4544 66.1832 75.5011 46.6656 -3424 1 25.3202 32.9979 32.9327 43.4105 -29.6453 8.45064 -3425 2 25.3628 32.954 33.888 -6.84476 9.95434 -27.8054 -3426 2 26.1328 32.5874 32.6371 -37.5595 17.0426 7.19597 -3427 1 21.9587 34.9141 21.6809 -42.4235 5.70057 -25.5554 -3428 2 22.8241 35.1307 22.028 49.499 0.561843 19.9907 -3429 2 21.5943 0.248143 21.4031 -2.60287 -12.5542 3.09103 -3430 1 9.90973 22.8694 28.5464 -28.0032 99.8289 105.23 -3431 2 9.65694 22.0726 29.0127 -11.6245 -115.025 -5.18689 -3432 2 9.79178 23.5703 29.1876 24.8154 19.9895 -68.3317 -3433 1 18.9212 1.83008 28.5451 -35.6287 68.4189 13.817 -3434 2 18.7633 1.66888 27.6149 18.9969 -41.7285 -36.2556 -3435 2 18.4661 2.65234 28.7268 18.1074 -11.1764 31.36 -3436 1 16.8393 26.3035 13.637 63.1028 -75.2487 27.2994 -3437 2 16.3042 25.8814 14.3092 -1.86222 30.0778 -24.7142 -3438 2 16.3114 27.0449 13.3406 -57.045 37.0959 -2.04287 -3439 1 23.0349 33.9771 14.6645 -29.0599 -53.7854 83.9222 -3440 2 22.8905 33.8789 15.6056 -15.2502 -27.5782 -28.5587 -3441 2 23.4463 34.8366 14.5732 42.5054 87.3122 -46.9412 -3442 1 26.3752 30.4314 35.255 66.7486 -91.2019 51.862 -3443 2 25.736 30.4012 34.5432 -31.4707 53.3263 -18.3384 -3444 2 26.3927 31.3502 0.075858 -39.4981 35.5157 -31.8471 -3445 1 32.6389 13.7831 28.3883 -40.287 85.0313 54.2217 -3446 2 32.5988 13.6435 29.3344 4.66747 -2.65884 -27.1701 -3447 2 33.0186 12.9753 28.0424 37.4597 -87.3197 -27.1008 -3448 1 1.19593 11.8888 7.42467 17.9071 0.0770962 -155.647 -3449 2 1.33615 11.8699 6.47798 21.8886 32.368 89.9456 -3450 2 0.465825 11.2873 7.57121 -40.183 -32.3659 56.5142 -3451 1 35.0035 34.5814 14.679 3.44773 -53.1054 -94.5722 -3452 2 35.3667 34.7837 13.8168 -25.1988 -4.48377 64.5505 -3453 2 35.2101 35.3488 15.2125 19.5787 60.5919 30.4304 -3454 1 9.9103 32.3347 28.6243 48.6878 -46.6998 -53.2543 -3455 2 10.8379 32.2614 28.3996 -77.9924 36.8395 46.4538 -3456 2 9.87291 33.0504 29.2588 34.9508 15.1029 5.85766 -3457 1 6.36403 25.8243 16.6644 -16.1589 17.9781 52.9133 -3458 2 6.37999 25.3464 15.8352 -29.3146 4.42505 10.8465 -3459 2 5.45095 25.7817 16.9485 56.2893 -15.3865 -54.905 -3460 1 32.8168 28.0031 1.05913 -96.0089 1.17159 66.622 -3461 2 32.6956 27.9847 2.00846 27.0307 3.09449 -76.0414 -3462 2 33.7662 27.9895 0.93806 59.9237 0.352852 9.64117 -3463 1 2.09899 25.0043 9.7293 -53.6534 13.8155 26.5068 -3464 2 1.36584 25.4283 9.28321 45.6659 -23.0643 8.43214 -3465 2 2.74207 24.8471 9.03794 13.3196 1.18355 -35.1154 -3466 1 3.70652 6.67891 30.8857 15.87 75.9393 15.1615 -3467 2 3.23501 7.46601 30.6129 17.4934 -7.99131 11.223 -3468 2 3.20651 5.9561 30.5065 -32.4693 -63.445 -27.4311 -3469 1 22.9178 23.3564 22.0081 -25.1602 81.2187 36.1659 -3470 2 23.8577 23.369 21.8271 -15.1274 16.504 8.87942 -3471 2 22.7393 24.2067 22.4099 39.5264 -94.2896 -47.7767 -3472 1 4.20162 8.41358 26.7982 48.7791 104.166 72.608 -3473 2 4.85221 7.71145 26.7996 -16.7383 -41.4118 -28.8962 -3474 2 3.4841 8.07485 26.2628 -28.6378 -71.1973 -47.1544 -3475 1 27.8326 24.3777 5.10329 -137.893 -72.3241 88.237 -3476 2 28.5466 24.7957 4.6219 91.754 77.5058 -79.2674 -3477 2 27.0858 24.9642 4.98216 50.4121 -8.65731 -6.38646 -3478 1 28.2544 34.7065 30.381 97.2627 45.8314 -116.984 -3479 2 28.8182 33.9394 30.4815 -27.7812 -23.1994 38.6363 -3480 2 28.6257 35.1814 29.6374 -78.0351 -20.6732 95.0681 -3481 1 30.1607 30.7278 15.6443 8.59899 -65.5002 -49.0853 -3482 2 29.4337 31.3109 15.8625 19.5435 41.053 22.8313 -3483 2 30.9387 31.1837 15.9653 -34.1392 27.1611 18.3096 -3484 1 14.2997 15.8865 9.70203 14.0989 9.98026 12.8524 -3485 2 14.1713 15.1909 9.05721 9.45358 -7.56628 -8.3217 -3486 2 15.2349 16.0858 9.65712 -15.1491 -8.81076 -4.31854 -3487 1 32.3072 26.7535 30.2794 -4.5433 -41.6012 5.85099 -3488 2 31.8458 27.5106 29.9186 42.1621 15.4809 23.2047 -3489 2 33.1226 27.1132 30.6284 -48.3043 29.8418 -21.5533 -3490 1 26.3835 26.6899 5.02896 -0.646478 75.6432 -63.7359 -3491 2 26.1032 27.0026 4.16877 0.104151 -42.3419 41.4498 -3492 2 26.9429 27.3888 5.36785 -3.27869 -32.0366 24.9016 -3493 1 20.864 29.0333 31.8884 26.8352 -53.5207 -33.162 -3494 2 21.5917 29.5833 32.1784 30.9919 25.2238 12.4152 -3495 2 20.0872 29.4419 32.2703 -48.6771 31.7017 22.7137 -3496 1 25.8114 29.4495 19.7816 13.8466 24.3072 -82.231 -3497 2 26.6672 29.3412 20.1964 53.3822 -25.961 100.31 -3498 2 26.0117 29.6945 18.8783 -64.6468 4.77229 -21.0812 -3499 1 9.81251 4.84888 23.3863 -96.2886 -40.2315 -51.7316 -3500 2 10.5835 5.30584 23.0502 25.5556 19.0493 -21.7735 -3501 2 9.24406 4.74414 22.6233 58.4793 15.0587 71.2459 -3502 1 27.0947 22.2721 13.0402 -6.79161 -59.1148 13.4854 -3503 2 27.0933 21.3415 13.2646 13.7968 86.6695 -55.4936 -3504 2 27.4864 22.308 12.1675 -16.0519 -36.2129 38.8825 -3505 1 29.7425 0.482189 28.6511 -61.0464 -56.8096 -84.3857 -3506 2 30.6713 0.250926 28.6414 -0.608574 55.5878 47.9626 -3507 2 29.6816 1.20466 29.2761 73.5748 -6.48145 8.66722 -3508 1 23.2947 4.02586 30.1986 -29.3203 1.89031 -119.633 -3509 2 23.9237 4.3356 29.5469 60.2069 21.4296 57.3546 -3510 2 22.5567 3.69958 29.6836 -31.7596 -22.7644 70.0354 -3511 1 10.1204 1.62223 31.7903 -61.1305 -4.46558 -29.5722 -3512 2 10.0959 2.5661 31.9476 35.4632 48.5161 20.8741 -3513 2 9.30023 1.43352 31.3343 18.841 -34.1159 5.79413 -3514 1 23.9845 35.1238 7.96016 -10.6284 53.2855 123.072 -3515 2 23.3733 35.3976 7.27625 -47.1229 16.9718 -51.208 -3516 2 24.5796 34.5161 7.52095 72.6521 -74.3364 -60.1194 -3517 1 18.958 12.2172 15.0986 38.367 46.2019 -29.0506 -3518 2 19.2466 11.8535 15.9357 28.8113 -20.7278 65.6048 -3519 2 18.1608 11.731 14.8878 -58.6663 -27.0262 -23.9617 -3520 1 20.6442 34.0582 11.9649 20.1198 13.5935 -25.2181 -3521 2 20.094 34.3902 11.2555 -13.5655 8.52734 1.78246 -3522 2 21.3382 33.57 11.522 2.25438 -4.07039 15.6592 -3523 1 1.02054 25.621 23.7941 37.5301 83.1538 132.617 -3524 2 1.38957 26.2576 24.4063 -31.1523 -55.2068 -104.824 -3525 2 0.562232 24.991 24.3502 -15.3302 -21.5782 -24.2806 -3526 1 10.9908 19.5452 23.2486 68.5748 -17.9341 -38.6244 -3527 2 10.64 20.4033 23.4872 -40.935 44.9961 21.1151 -3528 2 11.8288 19.7371 22.8275 -22.3723 -25.2391 20.0988 -3529 1 27.884 14.0953 8.7173 -18.8364 52.4126 -45.4144 -3530 2 28.0351 13.6732 9.56304 12.8353 -40.7635 21.3733 -3531 2 28.0597 13.4101 8.07235 7.77097 -18.0644 22.9239 -3532 1 24.8519 12.3704 16.4494 -57.1725 -118.05 -87.7455 -3533 2 24.8365 11.8185 17.2313 12.9151 38.5206 10.6428 -3534 2 25.2031 13.2074 16.7533 44.0679 79.9499 75.4369 -3535 1 3.37362 29.514 35.2477 -6.65795 29.8202 -24.4663 -3536 2 3.67396 30.3806 0.0747184 -0.42068 -50.0754 10.7076 -3537 2 3.66636 28.9269 0.497535 8.80803 36.0696 3.11396 -3538 1 0.35226 31.8838 22.2817 19.9559 44.3717 40.2784 -3539 2 0.728631 32.6231 22.7592 -23.764 -44.0518 -33.4235 -3540 2 0.147801 31.2394 22.9593 2.61951 -6.29362 2.55222 -3541 1 22.0935 22.9647 19.3038 -17.5433 -23.9669 -112.667 -3542 2 22.1588 23.8226 18.8845 3.76004 -23.0409 56.3376 -3543 2 22.252 23.1383 20.2317 20.8587 53.8537 61.7942 -3544 1 21.044 34.0795 16.8811 -11.8234 13.9577 41.5468 -3545 2 20.6443 33.2966 17.2599 4.53262 -42.2129 -20.5005 -3546 2 20.8337 34.7794 17.4994 16.8739 28.505 -21.0635 -3547 1 33.5506 31.2389 34.0734 -21.848 127.989 31.631 -3548 2 33.1175 31.966 34.5206 24.2052 -77.9044 -29.8647 -3549 2 34.1844 31.6583 33.4915 -18.5509 -40.3948 16.7176 -3550 1 18.0376 31.4119 20.7349 -70.5184 133.665 18.3336 -3551 2 18.5755 30.7593 21.1831 52.2329 -60.202 42.9481 -3552 2 17.8751 32.0844 21.3964 16.4363 -65.143 -61.9239 -3553 1 21.1192 11.5157 20.229 -0.695157 85.1391 -43.4765 -3554 2 21.2035 11.2726 21.151 6.08178 -0.594923 36.6384 -3555 2 21.2074 12.4688 20.2231 -7.74155 -85.9257 9.31637 -3556 1 2.50298 22.4551 28.2607 -35.7628 -42.888 -8.38434 -3557 2 2.72055 23.372 28.0933 14.6089 58.9774 -8.90274 -3558 2 3.24684 22.1194 28.761 25.2697 -13.3805 18.0552 -3559 1 1.89573 15.3497 4.09787 -73.7571 -30.0003 -12.3158 -3560 2 1.55642 16.13 4.53631 -11.7893 -48.7663 -27.0419 -3561 2 1.11485 14.8833 3.79961 85.8573 81.3405 43.3891 -3562 1 11.3172 29.9474 26.0701 13.6802 29.5476 17.3138 -3563 2 10.4038 30.1953 25.9267 -32.0254 -5.70543 -20.2709 -3564 2 11.5572 30.3791 26.89 14.3318 1.19991 0.31166 -3565 1 10.4617 0.481497 28.4692 -35.1413 -4.44637 -117.314 -3566 2 11.2541 0.772002 28.9209 65.4782 23.1716 61.7502 -3567 2 9.8718 0.207679 29.1716 -23.5462 -15.9573 59.7126 -3568 1 20.0134 21.115 19.3997 -26.6372 -12.9945 -21.0188 -3569 2 19.9559 20.4788 20.1125 -41.9022 -77.7552 36.5394 -3570 2 20.699 21.7234 19.6757 67.7466 96.7635 -20.3254 -3571 1 17.4984 14.902 31.4572 27.506 -3.30801 28.9215 -3572 2 17.4805 14.2255 30.7803 -15.1269 14.4773 -8.48787 -3573 2 16.8757 15.5623 31.1531 -3.14909 -15.2433 -12.5692 -3574 1 23.9317 26.1796 0.412398 170.195 -100.839 79.5365 -3575 2 23.8236 25.4801 1.05676 -76.9067 37.3757 -31.5576 -3576 2 24.8794 26.2676 0.310427 -88.1848 51.789 -45.9488 -3577 1 15.4819 12.3634 9.67033 -19.8663 5.11764 -18.7055 -3578 2 14.5857 12.4026 9.33616 1.98503 -12.8102 21.4596 -3579 2 16 12.8443 9.02488 22.7048 3.85741 5.98872 -3580 1 24.9486 4.70241 28.2375 -2.57864 -79.4793 -59.1556 -3581 2 25.4351 5.5253 28.2858 26.851 7.65263 -32.8143 -3582 2 25.2637 4.28395 27.4363 -16.938 74.1766 78.4681 -3583 1 7.23436 24.3184 5.42789 37.8735 -0.775645 -27.2929 -3584 2 7.44612 24.7131 6.27383 2.40615 -2.39704 -6.60842 -3585 2 8.0488 24.3713 4.92775 -54.0402 3.27436 36.7715 -3586 1 28.5832 14.1094 13.2002 -110.691 -136.314 -144.649 -3587 2 27.8159 14.4607 12.7484 32.9652 92.6729 57.8164 -3588 2 28.651 13.206 12.8911 79.4664 49.3465 86.9461 -3589 1 34.0325 15.8739 9.37626 -140.603 -10.1161 -63.328 -3590 2 34.5926 16.5368 9.78008 80.1926 -87.154 14.1906 -3591 2 34.546 15.0672 9.4193 61.9781 104.02 48.8618 -3592 1 31.8276 18.3692 3.71243 42.0448 -49.6994 101.317 -3593 2 32.3174 17.8315 4.33463 -53.1986 58.6671 -39.5589 -3594 2 32.1706 18.117 2.85514 8.17491 -3.77404 -54.4445 -3595 1 23.5968 11.4782 18.8515 -109.809 111.1 50.0643 -3596 2 23.0828 11.2528 19.627 52.8829 -15.2654 -54.0368 -3597 2 23.2543 12.3284 18.5755 61.5152 -99.5577 1.33405 -3598 1 15.3421 31.4032 27.9998 -183.55 60.7817 173.055 -3599 2 16.102 31.8955 27.6893 84.335 -33.9473 -85.0037 -3600 2 15.3804 30.5752 27.5209 90.2591 -19.864 -83.0916 -3601 1 13.7728 0.546334 8.10166 -6.18769 36.6368 11.829 -3602 2 13.846 35.2661 8.64223 22.8887 -100.977 5.98018 -3603 2 13.4362 1.21616 8.69689 -14.3689 59.6653 -22.0468 -3604 1 29.742 21.7386 15.8096 -116.344 -22.759 34.8034 -3605 2 28.9315 22.1581 16.0983 44.9247 61.5364 -14.7166 -3606 2 29.5531 20.8009 15.8462 72.3367 -31.0434 -21.7142 -3607 1 9.34314 5.53326 13.3807 39.7143 33.4527 -11.565 -3608 2 8.95036 5.79809 12.5489 -42.741 -18.0317 -20.0179 -3609 2 10.1637 6.02411 13.4257 7.39092 -15.8392 32.8869 -3610 1 33.6876 33.2668 18.3422 22.4446 -25.5797 -35.5458 -3611 2 34.1527 32.5711 18.8069 -26.2016 41.0503 2.93598 -3612 2 33.1844 33.7148 19.0222 -4.20149 -7.92709 30.0046 -3613 1 8.49135 30.2457 2.44109 23.9157 7.17537 -19.8003 -3614 2 8.19958 31.0768 2.06644 -2.25202 1.622 -4.15097 -3615 2 7.89603 30.0909 3.17448 -23.9722 -3.50079 27.8968 -3616 1 25.3191 5.99196 34.5142 8.83459 -55.4612 -32.2293 -3617 2 25.2955 5.20312 33.9725 -13.8482 25.8594 -30.1698 -3618 2 25.6102 5.68486 35.3728 12.1103 21.5915 61.5313 -3619 1 26.7363 34.729 14.2933 -24.482 -4.66775 -20.9684 -3620 2 26.7669 35.3792 14.9952 26.0996 24.8258 42.7509 -3621 2 25.9046 34.8943 13.8492 -1.08397 -19.2769 -22.1655 -3622 1 21.8359 2.05719 14.5302 -136.849 -25.6928 82.2069 -3623 2 21.3287 1.27515 14.748 76.2742 -72.3947 -47.8433 -3624 2 21.3162 2.78375 14.8743 59.737 101.526 -24.0072 -3625 1 35.0179 0.236717 21.0037 -9.61163 22.1292 76.2748 -3626 2 35.1757 0.0302649 20.0825 26.4302 -20.4656 -51.3901 -3627 2 0.24548 35.3413 21.4688 -10.2702 -0.22372 -18.2343 -3628 1 22.3584 9.63112 16.2628 65.9758 -66.6564 30.5877 -3629 2 23.2076 9.19027 16.2357 -15.0421 -40.6174 44.2396 -3630 2 22.4357 10.3404 15.6247 -45.8975 118.836 -79.4017 -3631 1 11.2018 33.5967 17.8171 -5.099 113.175 2.58168 -3632 2 10.7267 33.2243 17.0742 -14.5078 -40.2049 -20.1264 -3633 2 11.6224 32.8448 18.2342 21.7676 -69.2239 7.85863 -3634 1 31.8268 18.5181 34.5626 -18.7801 28.4882 24.4267 -3635 2 31.2933 19.1513 35.043 24.1808 -32.1657 -39.964 -3636 2 31.5202 18.5832 33.6581 -9.15953 8.84109 3.51105 -3637 1 30.8823 31.9632 12.906 -4.98046 65.4917 -37.3837 -3638 2 31.3576 31.3219 12.3776 -5.51623 -12.2794 19.4275 -3639 2 30.645 31.489 13.7029 0.552455 -47.0477 27.9218 -3640 1 13.9814 21.3914 19.922 -11.2257 32.4667 74.1258 -3641 2 13.9691 20.4501 19.7488 3.51439 -42.4832 -20.9941 -3642 2 14.3175 21.7797 19.1141 15.4374 10.5992 -55.0963 -3643 1 4.16074 28.1777 1.92626 -91.3549 -59.4207 65.0367 -3644 2 4.95285 27.7239 2.21405 14.1258 -7.86638 -2.62881 -3645 2 3.45307 27.7602 2.41731 88.6726 56.9226 -61.1326 -3646 1 2.61292 16.008 16.0487 105.888 2.78042 -11.4889 -3647 2 1.76196 15.5699 16.0641 -25.6889 94.5201 12.2982 -3648 2 2.40685 16.9366 16.1559 -76.8729 -84.8802 -1.38338 -3649 1 13.5967 19.9543 22.5359 124.713 101.686 148.592 -3650 2 14.2007 20.5831 22.1408 -41.39 -30.3474 -78.3384 -3651 2 13.76 20.0232 23.4765 -80.4878 -70.5046 -80.6887 -3652 1 7.19074 10.7165 12.0509 69.853 -11.7546 27.2393 -3653 2 6.44501 10.1821 11.7778 -25.4296 60.9173 12.6181 -3654 2 6.81031 11.5688 12.2632 -46.381 -39.9432 -21.5414 -3655 1 15.0751 14.7213 6.25146 41.8724 11.9251 -92.4929 -3656 2 14.1717 14.5529 6.51932 -70.7452 -9.24225 48.7997 -3657 2 15.037 14.7705 5.29628 31.8718 0.628492 36.8551 -3658 1 17.767 16.0818 24.8764 65.0609 6.12587 -85.9001 -3659 2 17.6335 15.6615 24.0268 -52.6699 -14.2077 36.6454 -3660 2 18.6257 16.4987 24.8056 -29.5285 4.96417 59.1713 -3661 1 17.6587 7.92315 7.74956 122.522 -24.7524 19.6573 -3662 2 18.5393 8.2564 7.9223 -67.315 -39.8303 -13.6759 -3663 2 17.1148 8.70762 7.67908 -53.9639 62.4966 -9.58155 -3664 1 3.0519 13.206 2.89884 42.117 180.004 -29.5126 -3665 2 3.54416 13.7163 2.25579 -5.76554 -106.242 -4.69676 -3666 2 2.67043 13.8607 3.48366 -28.5456 -78.2571 30.8168 -3667 1 5.2597 2.13569 16.4052 14.6148 -24.5364 35.7916 -3668 2 6.05252 1.8221 15.9701 -39.0215 30.8268 -11.9325 -3669 2 4.85794 2.73085 15.7723 36.2715 -24.5444 -7.37103 -3670 1 12.6134 32.5254 4.71836 -77.0261 -107.537 -73.751 -3671 2 11.9146 33.1777 4.76638 7.48894 10.4031 4.30928 -3672 2 12.2375 31.8081 4.20803 63.842 99.7629 77.1855 -3673 1 33.0591 19.819 12.7153 -10.5355 34.8811 -32.9597 -3674 2 32.9006 19.3073 13.5086 35.274 -33.3787 -25.8266 -3675 2 33.6734 19.2895 12.2069 -35.7488 -4.36963 63.8621 -3676 1 8.67433 22.945 34.6166 1.11384 2.39081 0.553861 -3677 2 8.08877 22.2163 34.8226 8.39419 10.2847 -7.59116 -3678 2 8.32013 23.3165 33.8086 -5.42022 -5.35904 5.77631 -3679 1 0.870004 12.0996 11.6814 -3.76935 -56.2811 -41.6354 -3680 2 0.727373 12.5483 12.5148 -6.93992 -7.25146 25.5319 -3681 2 0.577346 11.202 11.8389 15.2299 76.7283 11.0605 -3682 1 27.2946 18.0251 25.8768 -53.8373 92.1518 -136.781 -3683 2 26.383 18.116 25.5993 28.013 -40.7342 68.7489 -3684 2 27.7932 18.5255 25.2308 27.0974 -53.3359 74.9799 -3685 1 20.9684 4.9403 22.3218 60.7873 84.9249 170.058 -3686 2 21.4172 4.88033 23.1652 -34.5288 -49.8334 -98.5988 -3687 2 20.6807 5.85161 22.2674 -18.9541 -31.1188 -49.9598 -3688 1 22.2718 31.3297 24.7708 -80.0185 -53.121 -69.8147 -3689 2 22.2477 30.6898 24.0593 36.4882 73.5448 84.0062 -3690 2 23.202 31.4273 24.9744 51.4504 -17.2534 -13.6299 -3691 1 22.6617 15.1536 23.5469 -18.8991 -10.9707 -25.4067 -3692 2 23.0869 15.5816 22.8037 -4.19446 17.1751 -99.3992 -3693 2 23.2114 15.3756 24.2984 20.8263 -5.53181 117.107 -3694 1 11.1975 9.41597 24.1559 -25.3928 -64.3436 -63.0139 -3695 2 10.868 9.89822 23.3975 3.02115 -1.46911 5.99015 -3696 2 11.5307 10.0931 24.7447 25.52 69.5593 52.5239 -3697 1 11.9981 23.2883 34.3373 35.2719 2.83079 25.1033 -3698 2 12.5336 23.6025 35.0658 -30.6011 22.854 37.6283 -3699 2 12.6285 22.9254 33.715 -9.62688 -26.9002 -52.4375 -3700 1 23.2236 18.5991 28.074 -77.9135 84.2362 -24.6075 -3701 2 23.5211 19.5072 28.1286 12.4408 -82.2918 6.03597 -3702 2 23.9891 18.0804 28.3213 65.5163 -3.23327 17.4056 -3703 1 30.9252 3.09481 32.5192 205.089 81.8476 52.6774 -3704 2 31.7867 3.46344 32.7148 -105.355 -111.647 -46.8149 -3705 2 30.3097 3.79539 32.7351 -102.757 19.0956 -3.30129 -3706 1 1.33849 18.3589 13.3863 20.1387 54.0284 3.71633 -3707 2 1.21373 18.273 14.3315 -15.2268 -48.2671 -57.0255 -3708 2 1.0008 17.5397 13.0242 -13.5703 -16.3848 57.58 -3709 1 9.40473 27.6845 1.86011 45.9651 29.7375 -23.0635 -3710 2 9.16585 28.582 2.09199 -15.9779 -48.9078 -2.63319 -3711 2 8.66685 27.1543 2.16124 -35.101 12.9469 17.9902 -3712 1 22.5953 25.1543 24.1614 -50.2095 48.6282 102.182 -3713 2 22.1396 24.6687 24.849 13.3479 -23.9966 -52.3854 -3714 2 22.6986 26.0363 24.5186 18.1816 -10.9155 -54.4902 -3715 1 34.943 12.2429 24.2306 -62.0963 -28.608 -114.43 -3716 2 34.9706 11.4908 24.8219 13.4099 -22.892 49.9694 -3717 2 34.521 11.9101 23.4385 44.7781 56.4983 60.8973 -3718 1 13.6602 32.5523 14.5575 -18.1295 -51.4806 17.7018 -3719 2 13.5574 31.7091 14.9986 47.1179 115.369 -20.5459 -3720 2 14.2752 33.0375 15.1075 -24.2999 -62.9766 8.7767 -3721 1 25.8474 7.64634 30.194 36.3371 -5.68322 -33.2046 -3722 2 26.4363 7.46941 29.4605 -43.1885 11.5927 42.7948 -3723 2 25.0515 7.98745 29.786 5.9268 -5.4747 4.08938 -3724 1 31.3497 3.95976 8.27225 -37.7113 15.7662 -135.086 -3725 2 31.6898 4.44698 7.5218 -0.807487 -30.075 83.3033 -3726 2 30.6246 3.44617 7.91631 38.4536 15.4527 52.359 -3727 1 32.0835 7.74348 18.9834 -118.321 -96.9953 -47.7577 -3728 2 31.5295 6.96362 18.9485 -9.87082 60.5249 -57.0648 -3729 2 32.6456 7.60469 19.7456 111.654 39.5691 97.8797 -3730 1 33.8625 32.0398 14.8287 8.88825 44.9115 -6.97317 -3731 2 34.1613 32.9378 14.6851 38.1086 9.40182 -42.4816 -3732 2 33.2684 32.1013 15.5767 -43.067 -54.1821 42.7837 -3733 1 15.8053 9.53925 29.227 -63.3074 -31.1981 -12.5856 -3734 2 16.235 9.50709 28.3723 71.1484 21.3998 -31.0882 -3735 2 14.9378 9.16499 29.0738 -9.06846 9.80772 51.6698 -3736 1 14.7566 31.7855 33.951 -3.85881 -9.77149 5.84353 -3737 2 14.8638 31.6022 33.0176 -17.6981 -30.2622 59.4115 -3738 2 14.505 30.9449 34.3334 20.237 40.8399 -65.2085 -3739 1 19.5465 27.8829 17.0407 37.0051 -44.8122 -76.6473 -3740 2 19.9165 28.2367 17.8495 5.36694 42.7819 88.6308 -3741 2 20.305 27.577 16.5434 -40.4277 -0.822133 -8.45086 -3742 1 29.4132 2.42115 30.2725 60.8001 114.214 147.635 -3743 2 29.5757 3.35129 30.1155 -35.0686 -26.316 -77.7359 -3744 2 29.7196 2.27169 31.167 -37.2695 -74.6259 -55.0817 -3745 1 25.2139 16.4592 28.3341 103.521 -47.9511 69.4163 -3746 2 26.1699 16.4528 28.2871 -102.233 10.423 -12.3309 -3747 2 25.0079 15.9288 29.1038 -2.77519 46.7478 -61.8722 -3748 1 4.35692 14.2082 17.0329 -7.63685 -48.921 41.3301 -3749 2 5.22516 14.2766 16.6358 -24.0649 29.9545 -22.1658 -3750 2 3.82591 14.8497 16.561 37.4402 10.1153 -18.4927 -3751 1 29.136 0.849216 24.7718 -25.2743 -38.0925 -51.2255 -3752 2 29.7495 1.31244 25.3422 36.8781 68.075 79.8822 -3753 2 29.6922 0.316795 24.2032 -11.1608 -28.7889 -35.6432 -3754 1 27.6198 10.2269 23.3023 35.3891 -107.296 -8.73321 -3755 2 28.375 9.94904 22.7839 -39.7159 23.6922 19.9601 -3756 2 27.6063 11.1801 23.2148 10.3849 81.8835 -14.7071 -3757 1 13.1034 23.7862 22.5198 102.675 -36.4531 -19.979 -3758 2 13.3645 23.5156 23.4001 -36.2422 7.08165 36.729 -3759 2 13.8528 23.5627 21.9678 -61.6767 29.9161 -5.41039 -3760 1 33.1916 2.34747 4.32665 18.6917 -91.9564 -5.20366 -3761 2 33.6838 3.00989 3.84168 10.5325 56.2988 -20.1389 -3762 2 33.5518 1.51306 4.0262 -34.8695 35.0605 31.1053 -3763 1 25.9473 28.2992 2.89749 11.9918 54.2463 -78.1888 -3764 2 25.1283 28.7066 2.61539 -14.4676 -26.502 42.8749 -3765 2 26.607 28.6452 2.29629 25.4852 -42.7043 41.5031 -3766 1 9.90683 2.78059 7.29585 40.727 55.865 -47.6439 -3767 2 9.33986 2.14368 7.73076 -10.3866 -46.2604 33.3027 -3768 2 10.7937 2.52476 7.54919 -42.208 -8.82879 8.48066 -3769 1 16.3085 34.8621 16.1224 -94.1852 -45.4498 72.3766 -3770 2 16.5694 35.2711 15.2972 22.6449 45.9135 -81.753 -3771 2 15.3523 34.8384 16.0867 73.4532 5.41117 2.6017 -3772 1 7.6175 9.73713 26.7829 -52.9316 -149.954 136.326 -3773 2 7.5002 10.6846 26.8516 31.7631 72.1364 -82.6104 -3774 2 7.99062 9.60404 25.9115 25.6652 73.9941 -79.3087 -3775 1 3.53486 14.1967 8.20157 -2.21972 49.6361 11.8082 -3776 2 3.27793 14.4501 9.08814 -0.933519 41.5238 33.4662 -3777 2 3.40949 13.248 8.17725 3.14009 -94.5475 -33.5619 -3778 1 17.3671 21.518 20.3435 -177.556 73.0687 55.0646 -3779 2 18.1489 21.6971 19.821 78.9273 38.658 -60.9633 -3780 2 16.8156 22.2911 20.2231 99.6339 -108.418 6.47984 -3781 1 24.8604 10.5339 5.64122 25.528 64.9002 -85.7486 -3782 2 24.5944 9.99761 6.38814 -59.4041 -28.7414 26.1508 -3783 2 24.0545 10.6671 5.14219 31.5663 -35.5399 61.6783 -3784 1 17.5413 19.8838 23.1648 121.413 -193.777 -91.2804 -3785 2 18.25 20.3298 23.6286 -91.1236 62.0394 18.8114 -3786 2 16.7691 20.425 23.3291 -28.8566 131.743 76.3545 -3787 1 9.13803 2.62533 27.3096 -19.337 74.3707 0.178883 -3788 2 9.74534 1.98181 27.6747 74.5527 -52.9825 54.9755 -3789 2 8.60582 2.12782 26.6887 -56.6932 -20.2386 -55.8039 -3790 1 14.2663 24.1469 0.962263 5.18682 98.0449 22.1723 -3791 2 13.7723 24.4114 1.73836 -29.5231 -49.3764 15.9435 -3792 2 14.7686 24.9251 0.720771 11.1868 -40.6144 -41.1654 -3793 1 34.128 0.604428 34.3605 57.209 30.8234 155.974 -3794 2 33.9675 1.41632 34.8414 4.30279 -69.1537 -64.2192 -3795 2 33.6763 0.726776 33.5254 -56.6618 27.9211 -85.9534 -3796 1 12.286 18.1905 0.678623 -53.9478 16.9283 -11.9112 -3797 2 12.8592 18.6585 0.0715165 5.02307 2.82091 -2.18507 -3798 2 11.4919 18.7235 0.718171 22.7098 -18.2088 -1.13205 -3799 1 12.1621 6.42616 30.3419 55.7932 -115.517 96.1664 -3800 2 12.5994 5.70683 30.7975 -64.9691 74.7512 -8.51393 -3801 2 12.6065 6.47979 29.4958 8.88454 36.7959 -83.4163 -3802 1 22.543 21.3288 17.1582 57.3393 -94.5688 -97.8253 -3803 2 22.2584 21.4942 16.2593 -0.272427 20.1763 67.7799 -3804 2 22.1496 22.0366 17.6686 -53.5414 80.9932 22.4362 -3805 1 16.47 17.2479 22.2277 -59.9998 -11.1194 -31.9926 -3806 2 16.6497 17.999 22.7932 -1.35671 26.3877 17.6291 -3807 2 15.5155 17.1765 22.2195 55.191 11.0222 8.98424 -3808 1 15.8971 2.6331 27.1142 11.2406 37.9804 5.0284 -3809 2 15.9573 1.74705 26.7571 5.72403 59.8246 -45.6159 -3810 2 16.0112 3.20582 26.3558 -13.2085 -114.573 46.336 -3811 1 17.5641 29.2049 10.5347 -77.1799 -32.3785 -39.2824 -3812 2 16.9547 29.7515 11.0309 44.1972 0.139983 1.9337 -3813 2 18.4279 29.4406 10.873 34.6611 31.7834 39.3004 -3814 1 14.1342 0.57901 23.4048 42.6714 -54.8038 -86.8328 -3815 2 15.0781 0.738211 23.4044 -22.417 2.4917 11.6896 -3816 2 13.8024 1.10489 24.1325 -20.4431 58.9146 79.0554 -3817 1 14.9427 16.7399 14.4969 -16.8506 -74.2055 -85.5732 -3818 2 14.562 17.5426 14.8532 -28.8969 84.4981 45.7137 -3819 2 15.7272 16.5914 15.0247 51.9281 -1.74408 46.0391 -3820 1 18.6053 10.1016 33.8522 -56.5687 4.0164 18.6858 -3821 2 18.0884 9.29617 33.8725 10.3756 18.8329 1.47471 -3822 2 19.4211 9.85231 33.4179 20.0518 -8.83435 -9.91195 -3823 1 21.9193 17.7798 6.9681 10.1336 127.905 -49.9752 -3824 2 22.7197 18.2669 7.16356 52.8718 -67.9787 56.8213 -3825 2 21.4024 18.3753 6.42548 -82.7154 -63.4348 -9.82444 -3826 1 9.21812 31.2544 9.94992 71.8501 -53.1816 -58.0694 -3827 2 9.95344 30.7007 10.2126 -57.0022 48.0258 -8.86601 -3828 2 9.26437 31.2773 8.9941 -12.8923 6.39395 66.3921 -3829 1 13.4106 7.95481 25.2803 120.373 90.504 -116.279 -3830 2 12.6872 8.48697 24.9489 -61.7816 -9.62097 19.1689 -3831 2 14.1711 8.24211 24.775 -58.3802 -73.5624 85.7139 -3832 1 12.0756 15.04 21.0432 6.77022 25.6313 58.5733 -3833 2 11.9728 14.227 21.538 -9.98404 -30.353 -13.0223 -3834 2 12.3022 15.6954 21.703 -0.572982 1.23392 -42.1214 -3835 1 9.88585 18.4112 5.93334 -20.7946 -118.114 1.16194 -3836 2 9.70018 19.3071 6.21482 -18.8974 63.6123 36.5545 -3837 2 9.39199 17.8613 6.54158 29.922 51.7912 -35.0079 -3838 1 17.694 1.78604 18.6471 -23.1157 -38.503 -2.04107 -3839 2 17.1299 1.01598 18.7183 28.28 118.607 23.967 -3840 2 17.2285 2.46985 19.1288 -10.4947 -75.5136 -19.9588 -3841 1 31.7859 31.5583 20.7045 44.0355 88.0378 159.334 -3842 2 30.9836 31.4696 20.19 40.7097 -61.3332 -84.2489 -3843 2 32.4449 31.0741 20.2069 -78.6276 -23.7977 -70.36 -3844 1 3.88749 14.0721 13.1675 -31.2694 10.0601 -19.9332 -3845 2 4.82385 13.8812 13.1123 17.1179 -11.0264 21.5198 -3846 2 3.64642 13.834 14.0628 20.3602 -7.5611 7.14616 -3847 1 17.402 4.32978 2.49944 -29.3485 23.7234 26.7661 -3848 2 16.6947 4.9715 2.43447 16.8402 -19.4402 -15.7945 -3849 2 17.6155 4.30153 3.43211 6.01644 -6.27806 -8.76153 -3850 1 32.9546 16.0441 16.0362 13.9808 -41.1799 -104.526 -3851 2 32.2114 15.5645 16.4024 10.4079 3.14484 -17.257 -3852 2 33.0332 15.717 15.1401 -22.3131 39.8006 124.846 -3853 1 26.8132 18.7522 3.07369 77.8004 76.1902 59.0526 -3854 2 26.8273 18.0153 2.46291 3.94673 -56.6928 -45.1098 -3855 2 27.7351 18.9763 3.20073 -81.2472 -19.7751 -12.6025 -3856 1 31.2997 29.3842 30.4902 -103.512 -14.7955 5.44397 -3857 2 30.4211 29.6993 30.2783 132.626 -14.158 11.4731 -3858 2 31.8849 30.0684 30.1652 -19.348 36.4718 -15.5492 -3859 1 7.70361 13.5829 24.4311 -144.431 -39.7748 81.8736 -3860 2 8.13101 13.595 23.5747 84.8615 8.92574 -88.9901 -3861 2 8.38594 13.8574 25.0438 68.187 19.073 7.1178 -3862 1 6.4007 28.6097 19.7383 68.5202 -85.112 -70.5468 -3863 2 6.92332 28.7846 18.9557 -49.8417 -7.90281 70.9479 -3864 2 6.53243 27.6776 19.9116 -19.0901 90.3994 -6.75589 -3865 1 3.04408 10.5078 22.1946 -10.2125 -10.9841 -34.5484 -3866 2 2.92599 9.94853 21.4268 7.70682 38.7755 43.2747 -3867 2 2.80744 11.3844 21.8917 4.05782 -36.1895 6.66626 -3868 1 14.3758 26.9336 28.5997 -35.6717 -123.461 91.9062 -3869 2 13.7979 27.4278 28.0182 -58.5589 63.3166 -75.5207 -3870 2 15.2199 27.3805 28.5356 102.467 69.7095 -13.7668 -3871 1 34.1224 21.8531 14.1489 -76.6694 37.3201 33.9626 -3872 2 33.6746 21.0959 13.7716 11.3792 -7.49305 -14.7754 -3873 2 35.0399 21.7369 13.9021 70.0708 -23.1808 -28.4367 -3874 1 32.6449 5.25699 5.99983 9.46429 89.6575 68.1829 -3875 2 33.123 4.93289 5.23655 25.9111 -5.47944 -31.8037 -3876 2 33.0886 6.07263 6.23243 -35.8405 -86.8319 -34.1512 -3877 1 23.6491 3.217 21.3646 -23.4859 -5.01895 -26.1614 -3878 2 22.758 3.50121 21.1608 47.1961 -24.8556 -4.42956 -3879 2 23.9289 2.73024 20.5893 -27.1692 27.5407 29.9763 -3880 1 32.6423 16.1168 31.9718 -48.3175 -105.592 -1.03155 -3881 2 31.8696 16.4365 32.4377 51.954 34.4611 -20.4869 -3882 2 33.2067 16.8853 31.8876 -2.1729 78.687 21.7928 -3883 1 6.29203 17.3633 3.95531 -6.75445 68.7148 -15.2076 -3884 2 6.75038 17.3996 4.79486 -3.20797 -40.3455 -3.38379 -3885 2 6.15162 16.4294 3.79875 12.5484 -30.1008 26.6482 -3886 1 31.9247 23.3077 22.0031 -38.1409 -20.8326 11.6228 -3887 2 31.3098 23.8442 21.5028 -9.39582 3.23473 -1.07966 -3888 2 32.7734 23.7307 21.8728 49.4852 23.854 -6.86032 -3889 1 27.3319 28.0706 32.9209 27.7225 12.2407 -23.6096 -3890 2 27.1225 27.4233 33.5942 37.9859 3.87945 -12.8349 -3891 2 28.2588 27.9269 32.7298 -66.5582 -13.9817 37.8349 -3892 1 2.64591 33.5295 18.9202 -11.3191 69.7841 -26.6106 -3893 2 1.74708 33.8238 18.7728 12.5353 -26.5552 6.90608 -3894 2 3.17265 34.3263 18.8576 2.21666 -43.1513 9.12223 -3895 1 20.257 25.4032 31.939 -100.56 -73.1093 112.747 -3896 2 19.9736 25.8395 32.7424 17.9644 -19.6455 -49.594 -3897 2 20.8409 26.0334 31.5168 79.4306 94.4404 -59.2991 -3898 1 3.04255 13.8246 29.6388 58.7738 5.22196 40.762 -3899 2 2.21889 13.7031 29.1665 -34.3364 -15.2998 13.5278 -3900 2 2.87518 13.4646 30.5098 -23.8581 12.9843 -54.4598 -3901 1 27.7397 30.9994 32.5858 9.84868 14.9659 6.32656 -3902 2 28.2885 31.2801 33.3181 -59.3734 -88.6667 -50.2212 -3903 2 27.5819 30.0692 32.7469 52.3802 78.8762 42.1382 -3904 1 31.5461 3.17401 11.4804 -21.8556 -25.3674 18.8081 -3905 2 31.0042 2.59604 12.0175 11.8984 3.88446 41.5306 -3906 2 31.2258 3.0424 10.588 8.79655 22.1184 -63.6348 -3907 1 12.7837 29.3646 35.2496 12.2982 97.0361 -64.5975 -3908 2 12.5107 28.4472 35.2395 -14.6625 -71.5958 25.4733 -3909 2 13.0867 29.515 0.697791 6.13919 -22.1466 35.5473 -3910 1 23.7774 14.977 35.0802 -3.69278 7.14628 34.439 -3911 2 23.6695 15.0199 0.583175 12.1643 -33.4032 -64.9615 -3912 2 23.9742 14.0573 34.9023 -3.7322 29.6997 35.2332 -3913 1 9.02799 31.4435 7.08018 110.618 70.3656 -2.61447 -3914 2 8.9271 32.3241 6.71877 -9.11581 -37.2557 13.2004 -3915 2 8.15653 31.0539 7.0097 -94.6111 -31.6948 -7.75256 -3916 1 31.3646 11.5948 10.4205 100.931 -27.1663 29.6046 -3917 2 31.6766 12.1795 11.1112 -40.7494 12.8878 -6.78762 -3918 2 32.0867 10.9823 10.2803 -63.5942 23.4953 -17.2483 -3919 1 29.5022 27.3281 3.75926 -23.5431 0.497001 -72.4655 -3920 2 29.5153 26.5471 3.206 36.6853 -78.5678 38.5122 -3921 2 29.0949 28.0015 3.21427 -12.1953 84.0421 36.4354 -3922 1 33.8191 14.8849 25.7613 -142.294 6.89503 29.2421 -3923 2 34.7013 14.9296 25.3925 105.629 -26.526 9.32968 -3924 2 33.9283 14.4165 26.5888 45.994 15.1423 -36.7235 -3925 1 7.98755 21.5067 20.4128 -30.7776 10.4914 -61.0325 -3926 2 8.56995 21.558 19.6549 -7.41699 14.1094 -40.3774 -3927 2 8.56934 21.3239 21.1506 39.8293 -19.8323 108.488 -3928 1 32.4672 14.8373 6.59315 -39.5699 33.6315 -12.808 -3929 2 32.6894 14.2103 7.28145 11.4237 -22.3999 23.2457 -3930 2 31.6136 15.1851 6.85167 27.9693 -6.26206 -9.97527 -3931 1 19.2731 16.6271 16.9098 42.1095 5.21202 5.10933 -3932 2 18.4149 16.5308 16.4968 -34.1927 -2.70334 1.02101 -3933 2 19.0777 16.8359 17.8233 -9.14151 -1.63393 3.40478 -3934 1 10.7538 25.3086 14.9022 -126.11 72.3384 112.454 -3935 2 10.04 24.8151 15.306 63.4093 -11.9509 -46.5339 -3936 2 10.6541 26.1974 15.2433 50.8136 -63.029 -59.8558 -3937 1 10.5921 3.58132 20.0272 108.132 -27.6287 71.1391 -3938 2 10.1601 3.59103 20.8814 -26.7917 7.89907 -11.1127 -3939 2 11.515 3.42438 20.2268 -74.4636 17.6518 -44.1852 -3940 1 23.1561 28.533 20.1793 60.615 76.0359 65.9746 -3941 2 23.9599 29.0513 20.1411 -70.2008 -62.3663 -26.1144 -3942 2 23.0599 28.1739 19.2972 21.3169 5.89706 -36.7198 -3943 1 6.61244 15.8817 29.1737 128.084 -15.1744 66.3596 -3944 2 5.97242 16.4603 28.7592 -86.1858 -13.1564 -41.5393 -3945 2 6.21546 15.0119 29.1268 -48.8016 35.7291 -29.6068 -3946 1 33.8405 10.8765 5.32362 24.6039 -21.6428 -15.9068 -3947 2 34.0721 11.7765 5.09401 -15.0361 19.7806 10.7728 -3948 2 34.3804 10.3354 4.7475 -15.2629 -3.44202 15.9901 -3949 1 5.10896 7.9872 15.7577 32.2099 78.0231 2.2553 -3950 2 5.79008 8.63784 15.9279 -56.0004 -45.0323 -15.2791 -3951 2 4.57569 8.37405 15.0632 14.1517 -4.41468 19.9202 -3952 1 21.7314 9.9854 28.6562 65.6476 35.2022 97.5872 -3953 2 22.1296 9.13272 28.4811 -3.48187 -33.0468 -23.8249 -3954 2 22.2305 10.3365 29.3937 -50.7824 -2.95266 -56.0653 -3955 1 15.1199 17.5475 6.96592 130.633 -15.7396 11.5417 -3956 2 15.1985 16.6949 6.53791 -80.4635 65.315 27.9025 -3957 2 14.184 17.746 6.93554 -54.7979 -53.584 -38.8831 -3958 1 9.36219 21.7283 23.4735 3.69911 -32.0659 3.15996 -3959 2 9.44071 22.4646 22.8669 -5.3106 21.5683 -6.38658 -3960 2 9.26265 22.1358 24.3339 -0.186565 10.7362 8.33334 -3961 1 9.43559 15.0019 14.9412 -150.072 29.5889 25.5001 -3962 2 10.2393 14.564 15.2215 79.7059 5.40836 -50.4428 -3963 2 9.68522 15.4776 14.149 70.7115 -36.9437 26.3654 -3964 1 8.59124 10.7686 9.86787 -136.463 28.64 -79.2346 -3965 2 7.83086 10.931 9.30959 107.428 -16.7834 -4.92613 -3966 2 8.23592 10.7447 10.7564 36.9967 -13.1632 62.596 -3967 1 11.6169 13.0834 14.8942 14.1006 10.3119 100.78 -3968 2 11.7088 13.0622 13.9417 32.0913 11.6462 -49.5976 -3969 2 12.451 13.4329 15.2081 -49.4521 -21.4647 -51.1199 -3970 1 16.1169 13.0849 16.6526 9.2025 -118.553 -31.6532 -3971 2 16.2719 12.5665 15.8629 -3.85869 60.7569 35.2333 -3972 2 15.9434 12.4365 17.3351 -0.882779 56.5315 -6.67566 -3973 1 15.866 31.9621 1.66404 29.6265 -57.8362 123.611 -3974 2 15.0447 31.485 1.54502 -3.78469 19.2449 -32.805 -3975 2 15.9266 32.5308 0.896478 -27.8613 42.2014 -91.4736 -3976 1 24.9205 12.5492 34.1182 -0.768731 39.2345 -40.3125 -3977 2 25.5161 11.8217 34.2974 -3.56131 30.9527 -44.9034 -3978 2 25.1997 12.8836 33.2659 -0.952291 -68.2749 91.2498 -3979 1 11.5306 35.4797 2.50652 11.3594 -86.7641 77.4664 -3980 2 11.2758 0.841541 2.81893 -10.0827 51.0069 -15.6281 -3981 2 11.6868 0.0917655 1.56959 3.58949 45.0992 -65.4944 -3982 1 30.3765 11.0645 19.9845 -19.9557 48.7036 -97.4672 -3983 2 31.0238 11.004 19.2819 29.113 -26.4623 37.1752 -3984 2 29.6551 11.5652 19.6037 -0.138011 -20.5029 56.9178 -3985 1 5.33901 10.3562 23.8263 -160.708 51.5163 -68.117 -3986 2 4.52304 10.463 23.3373 119.173 -58.7901 41.533 -3987 2 5.38642 11.131 24.3863 42.8351 2.05132 28.862 -3988 1 17.2104 5.6409 9.21134 -40.7922 -110.795 2.46205 -3989 2 17.4479 5.74172 10.1331 13.07 48.8488 -27.3336 -3990 2 17.4366 6.48089 8.81196 26.0325 56.818 28.7572 -3991 1 8.48374 30.6404 22.5653 3.52697 19.7682 4.5482 -3992 2 9.04208 30.0276 22.0868 19.9346 -37.5412 -4.63915 -3993 2 8.40382 31.3965 21.9839 -12.7462 21.6308 -0.115894 -3994 1 1.13232 13.3894 14.1228 20.767 -54.7832 -62.6344 -3995 2 1.02916 13.9976 14.8547 -15.6633 34.5091 41.3055 -3996 2 1.55605 12.6217 14.5066 0.972021 0.0249524 -4.46702 -3997 1 3.61281 27.7853 20.2183 67.9648 -82.7745 -64.5073 -3998 2 3.58429 26.8869 19.8892 -24.9679 75.0864 43.157 -3999 2 4.46736 28.1155 19.941 -30.3744 14.7052 21.5721 -4000 1 34.8799 19.1634 19.1612 -2.34923 54.4692 -41.8603 -4001 2 34.7249 18.2474 18.9307 -6.01899 -40.4295 -9.80293 -4002 2 34.7324 19.6442 18.3468 8.94431 -22.6536 37.6407 -4003 1 33.1712 25.437 7.0972 -152.771 -43.8268 -64.9432 -4004 2 32.7369 26.2101 6.73655 62.1747 96.8067 3.23272 -4005 2 32.5368 24.7296 6.98161 86.0824 -46.2917 46.4623 -4006 1 10.0393 8.39228 8.37502 -6.08522 4.40716 13.4263 -4007 2 9.809 9.24672 8.73989 -9.73291 -10.2887 -0.00548656 -4008 2 9.27531 7.84279 8.54984 17.0955 27.1119 -1.88733 -4009 1 8.03207 12.0726 19.9369 3.3007 -89.4561 -23.2569 -4010 2 7.66129 11.3606 20.4583 -12.2653 33.7895 19.4337 -4011 2 8.48691 11.6325 19.2188 -1.6296 47.371 -2.58803 -4012 1 1.41772 21.5423 10.364 38.5564 -79.5266 6.67197 -4013 2 2.19256 20.9994 10.2189 -44.346 17.6397 9.17324 -4014 2 1.68724 22.4213 10.0974 6.24901 63.0656 -17.2737 -4015 1 34.5004 20.5433 16.8123 -24.2521 -14.2884 19.1521 -4016 2 35.1775 21.0076 16.3201 -32.8025 13.3867 9.00467 -4017 2 33.7604 21.1501 16.8334 67.2253 -19.2211 -21.2652 -4018 1 9.44504 24.8047 4.00393 -56.4685 -31.9136 80.5927 -4019 2 10.0435 25.5181 3.78224 -1.2047 -44.9338 -79.6807 -4020 2 9.37527 24.2912 3.19917 66.8721 89.3024 4.48336 -4021 1 4.73733 28.1361 4.76614 9.56656 -60.5211 8.3486 -4022 2 4.6771 27.2657 5.15997 -34.7909 8.52006 38.4775 -4023 2 5.35703 28.0305 4.04428 22.7677 47.575 -36.921 -4024 1 28.7938 11.263 32.5626 13.0736 28.7459 -27.229 -4025 2 28.6378 12.0424 32.0292 27.3655 7.45622 -22.0831 -4026 2 28.0196 11.1957 33.1214 -34.84 -34.6011 50.1087 -4027 1 29.0062 2.02213 18.3206 -32.4818 13.1566 -67.6776 -4028 2 29.8902 1.72755 18.5397 7.44521 -7.04392 -17.2011 -4029 2 28.9607 1.95611 17.3668 19.8444 -2.0809 84.537 -4030 1 31.3854 11.7053 6.36087 41.3535 -44.6501 -48.2621 -4031 2 31.7474 12.2695 7.04417 22.1051 -11.5557 -3.51736 -4032 2 32.1346 11.2002 6.04488 -53.3989 55.9312 39.2357 -4033 1 14.0436 34.7426 31.2335 28.6142 -55.3715 24.8918 -4034 2 14.4327 35.2515 30.5223 9.08543 31.9943 -30.7826 -4035 2 14.5977 33.9652 31.3035 -34.2215 24.382 3.11232 -4036 1 11.7414 19.2455 20.2133 -42.3978 39.8075 -112.174 -4037 2 12.1828 18.4237 20.428 32.8363 -51.9587 45.3544 -4038 2 11.6652 19.7029 21.0507 6.95558 11.4491 71.9189 -4039 1 35.5212 6.24096 32.0311 83.386 67.6774 97.8305 -4040 2 0.501933 6.77327 32.66 -64.5465 -5.62764 -78.8143 -4041 2 0.310734 5.34544 32.1945 -13.2609 -75.4962 -25.1732 -4042 1 15.5732 9.26805 33.0817 64.1884 31.7576 -151.129 -4043 2 15.5209 10.0473 33.6351 -26.4068 -31.8921 57.8934 -4044 2 15.2065 8.56649 33.6198 -39.7344 -2.61323 91.5865 -4045 1 17.8042 31.8086 5.14303 -73.3105 31.6045 -0.990426 -4046 2 16.8948 32.0909 5.04562 112.928 -59.8769 -17.0012 -4047 2 17.9269 31.153 4.45644 -46.3914 34.1053 17.4489 -4048 1 30.3836 19.1224 16.0754 -8.29799 -35.0116 3.78594 -4049 2 31.2532 19.0127 15.6908 53.3503 47.565 -31.0824 -4050 2 30.1301 18.2414 16.3508 -60.8597 -20.7297 34.0065 -4051 1 11.1034 6.99694 6.44966 63.101 -48.721 -64.0294 -4052 2 11.9698 7.39064 6.3472 -22.8019 -6.07207 0.212319 -4053 2 10.6483 7.57439 7.06264 -33.661 51.1316 52.5476 -4054 1 12.2719 16.5901 16.7475 -52.0673 53.4205 0.2594 -4055 2 11.8603 17.264 17.2884 12.777 -29.321 -32.7724 -4056 2 12.8586 16.1274 17.3459 38.5413 -35.2887 34.6272 -4057 1 20.3352 18.8399 32.6982 -47.9287 -69.161 -55.1321 -4058 2 20.7109 19.5689 33.1918 44.5744 133.898 52.4844 -4059 2 20.7379 18.0594 33.0791 10.0986 -72.1948 1.48436 -4060 1 2.03115 27.6025 3.55873 -56.44 -33.4012 -143.474 -4061 2 1.51924 28.3309 3.20717 41.4594 -28.369 51.3312 -4062 2 2.30014 27.8962 4.42914 20.8834 65.5837 101.464 -4063 1 18.8812 18.114 0.872943 -5.50629 36.808 -56.9446 -4064 2 19.3639 17.5365 0.281572 22.2754 -40.2042 15.6535 -4065 2 18.5977 18.8417 0.319433 -7.07197 -3.65798 44.6492 -4066 1 16.2545 6.69927 5.58133 36.8343 -158.261 133.657 -4067 2 16.85 6.95769 6.28482 4.57163 92.7831 -31.1905 -4068 2 16.0577 5.77956 5.75921 -44.456 68.1751 -93.0296 -4069 1 4.91576 23.8201 8.54951 -34.8863 7.94033 -28.2498 -4070 2 5.3561 23.2676 9.19534 23.5267 58.5193 -11.5304 -4071 2 5.41642 24.636 8.55037 11.3325 -57.2222 38.7255 -4072 1 33.3098 33.2048 10.0927 -18.0555 170.007 66.8906 -4073 2 33.2524 34.0404 10.5561 23.0855 -125.995 -16.3 -4074 2 32.9744 33.3929 9.21616 -6.06188 -41.0569 -51.2764 -4075 1 16.61 7.10567 25.5457 11.8064 -27.218 27.7901 -4076 2 17.0402 7.76051 26.0956 -18.958 2.27451 -33.6266 -4077 2 16.3592 7.58349 24.7551 8.36263 23.1996 7.43295 -4078 1 21.9021 1.54985 18.3703 -12.0951 102.669 -25.1008 -4079 2 22.8484 1.67143 18.4479 70.871 -39.7346 13.5334 -4080 2 21.5606 2.42755 18.1994 -33.7855 -47.6755 4.07183 -4081 1 3.86513 3.59757 14.8367 -60.2762 115.365 102.767 -4082 2 4.37641 4.40219 14.923 -6.49213 -67.749 -29.0902 -4083 2 3.20261 3.65925 15.5248 50.4561 -38.2372 -79.4078 -4084 1 21.9237 8.04577 5.73412 -37.1889 34.5506 6.76492 -4085 2 21.1749 8.13328 6.32401 53.3781 8.98228 -48.1525 -4086 2 21.887 8.82704 5.18228 -14.9814 -40.4833 40.9395 -4087 1 3.88407 21.7075 19.8733 -13.655 82.7301 -71.4332 -4088 2 3.80964 22.4702 19.2998 7.85298 -87.1212 59.6058 -4089 2 4.62523 21.9084 20.4448 2.04081 -3.24013 5.7781 -4090 1 12.5075 27.831 26.8382 53.2796 -171.165 42.0426 -4091 2 11.8218 27.1819 26.6813 40.8129 83.2836 1.39157 -4092 2 12.1126 28.6642 26.5812 -81.7384 69.8635 -40.7298 -4093 1 32.4676 31.1621 16.9489 -45.3255 118.894 39.2801 -4094 2 33.0531 30.405 16.9576 71.3041 -102.72 -4.62485 -4095 2 32.8167 31.7433 17.6246 -22.6798 -12.8914 -28.8335 -4096 1 4.0462 20.2388 14.721 10.7706 38.5488 28.0881 -4097 2 4.06816 19.7036 15.5143 2.12203 -6.39002 14.2189 -4098 2 3.88937 19.6132 14.0137 -7.59074 -28.9868 -41.9528 -4099 1 13.7624 15.0652 33.4126 -44.3308 -86.3802 23.0514 -4100 2 14.6525 14.8881 33.7168 -0.298325 32.3795 -17.5296 -4101 2 13.7878 15.9736 33.1119 37.2853 48.8631 -4.56446 -4102 1 7.97866 4.0276 21.4105 45.9331 4.13344 41.1377 -4103 2 7.61163 3.92061 20.533 -27.5969 -4.52354 -35.3523 -4104 2 7.21511 4.11842 21.9806 -21.2436 0.236445 -5.03316 -4105 1 20.2977 6.13359 12.6213 -70.0954 89.9508 -63.0316 -4106 2 19.358 6.05556 12.4567 10.5837 -53.8912 24.846 -4107 2 20.5184 7.02037 12.3364 46.8524 -19.6553 16.1467 -4108 1 5.16562 5.52039 3.92857 98.0827 -58.5175 -79.3159 -4109 2 5.61987 5.95736 4.64896 -0.481325 15.1632 21.5242 -4110 2 5.86684 5.15438 3.38952 -102.904 43.8394 55.6923 -4111 1 17.276 18.9186 19.6389 -16.0602 -6.16293 -0.915394 -4112 2 18.0373 18.3453 19.7287 -5.57176 48.4352 20.2316 -4113 2 17.5204 19.7171 20.1067 21.5504 -52.6985 -14.1221 -4114 1 14.9208 7.12472 11.9717 -96.3347 -22.6645 -106.2 -4115 2 14.4819 6.63552 11.2757 65.1647 -77.7223 32.3549 -4116 2 14.4872 7.97812 11.9753 38.456 91.1732 78.1031 -4117 1 1.0995 6.63177 0.4939 -19.726 14.8208 11.6641 -4118 2 1.96189 6.84415 0.850885 -33.5524 -65.3579 -15.7026 -4119 2 1.07961 5.67513 0.467575 54.802 43.7673 21.0643 -4120 1 22.5944 0.720101 27.604 -30.6354 10.1384 -9.95581 -4121 2 22.2256 1.57413 27.8295 -17.7906 -4.03207 -9.06126 -4122 2 23.4669 0.723901 27.9978 64.3614 -16.9811 22.2502 -4123 1 15.7818 12.7952 23.3556 193.366 -93.0785 -59.6124 -4124 2 15.9775 13.7072 23.141 -81.53 1.56953 30.1426 -4125 2 14.8889 12.816 23.7001 -92.6374 87.0994 21.1865 -4126 1 33.5807 6.89886 20.9769 -67.4702 -73.8261 21.227 -4127 2 34.3837 7.39995 21.1195 76.4786 43.2345 13.3692 -4128 2 33.612 6.20327 21.6337 2.5678 27.1745 -22.6866 -4129 1 1.92096 17.8931 29.5572 42.0261 24.7042 -130.352 -4130 2 1.05789 17.9235 29.97 -1.02847 -11.7679 73.7154 -4131 2 2.51758 17.6519 30.2658 -45.7839 -9.3511 54.5571 -4132 1 11.6294 22.332 20.7837 160.752 12.1677 117.856 -4133 2 11.8639 22.6912 21.6394 -85.0579 -14.7229 -82.0733 -4134 2 12.4515 21.9882 20.4342 -83.5378 0.260443 -35.21 -4135 1 18.9996 25.7341 1.0776 -8.36208 -21.9597 49.982 -4136 2 19.196 26.0724 0.203977 -16.0629 35.8546 -16.193 -4137 2 18.3751 26.3609 1.44284 22.1218 -0.766186 -38.043 -4138 1 26.7313 0.586038 2.48947 17.4123 1.5478 108.896 -4139 2 27.237 1.39213 2.59302 -36.2148 -66.2088 5.39657 -4140 2 26.6349 0.247162 3.37949 20.2548 53.8496 -106.586 -4141 1 10.3992 13.9179 25.3044 26.4972 -70.0641 94.7814 -4142 2 10.6162 13.5077 26.1415 -28.1814 37.0429 -99.9328 -4143 2 10.4216 14.8577 25.4847 0.00991706 45.4978 2.37219 -4144 1 21.3622 34.044 28.8312 -35.8761 19.3806 -31.3339 -4145 2 21.8057 34.6579 28.2458 -1.71621 -14.5395 22.1583 -4146 2 22.0722 33.5796 29.2746 38.8265 -12.3834 10.9892 -4147 1 6.60698 30.2287 4.76591 -104.339 27.2563 -5.29409 -4148 2 6.8203 30.2006 5.69863 12.5037 -2.4126 13.8544 -4149 2 5.66171 30.3772 4.74026 96.322 -17.4449 -17.9614 -4150 1 6.99527 5.86523 18.4942 20.1488 82.371 -89.8142 -4151 2 6.81261 4.93294 18.6114 -15.6779 -73.967 6.1687 -4152 2 7.15302 5.96272 17.5551 -12.0079 -9.60018 81.616 -4153 1 27.851 24.405 26.7617 4.63888 7.53081 -42.5366 -4154 2 28.1406 23.539 27.049 20.3725 -58.7489 -2.94192 -4155 2 27.5324 24.8283 27.5589 -26.4583 49.9367 44.627 -4156 1 26.1847 0.140034 24.9008 62.7222 46.5586 -72.3822 -4157 2 27.0828 0.257357 24.591 -102.243 -9.60509 28.7724 -4158 2 25.664 0.730934 24.3567 39.2694 -40.7231 36.8022 -4159 1 28.2393 32.5515 16.4746 -12.2491 123.187 -96.561 -4160 2 27.7891 32.452 17.3135 -24.8874 -33.3896 63.5897 -4161 2 27.9456 33.4004 16.1438 44.2559 -94.2137 14.1925 -4162 1 3.71145 17.6948 22.1384 -17.7568 -46.1662 -22.8866 -4163 2 4.10707 18.5551 22.2783 11.5165 -32.666 53.6072 -4164 2 3.87233 17.2212 22.9546 15.813 81.368 -38.3691 -4165 1 21.9983 17.9774 20.5384 -54.4162 -108.032 14.2413 -4166 2 22.6974 18.5479 20.2189 -47.2879 67.1311 55.5722 -4167 2 21.4981 18.5261 21.1426 96.9611 32.4959 -62.3011 -4168 1 10.4152 21.3694 9.81762 -45.4392 -50.2753 -28.6746 -4169 2 10.9708 21.8708 10.4144 41.7288 35.9066 43.8126 -4170 2 10.3192 20.5155 10.2394 6.24922 21.8148 -12.3303 -4171 1 26.0998 27.3565 8.93221 -33.2139 -131.113 16.3657 -4172 2 26.683 27.7806 9.56173 56.4207 44.1515 53.9534 -4173 2 25.8564 28.0537 8.32312 -22.7985 85.7147 -68.6226 -4174 1 17.3585 11.0882 2.80177 33.7992 -74.4663 -63.6096 -4175 2 17.0711 10.3084 2.32677 -6.66147 52.1132 40.7412 -4176 2 18.2976 11.1443 2.62499 -23.4478 26.5739 25.6273 -4177 1 16.7677 15.9689 35.3849 -41.4458 -49.4886 9.22468 -4178 2 16.4599 16.8496 0.151763 27.43 21.0248 -4.53329 -4179 2 17.7067 16.0736 35.231 16.3588 35.636 3.88828 -4180 1 5.38626 21.3296 1.85846 22.3993 19.6506 -5.63091 -4181 2 4.98086 21.4219 0.996265 -15.5366 43.9803 -55.2713 -4182 2 5.1146 20.4626 2.15982 -3.93441 -58.2389 55.0752 -4183 1 13.9881 4.76201 23.3058 66.2072 -11.3778 -81.4889 -4184 2 14.6499 5.4446 23.1945 0.535987 69.1431 56.6713 -4185 2 14.1404 4.15917 22.578 -61.4504 -51.0725 15.3107 -4186 1 25.2047 3.81471 25.2009 43.4572 85.7786 11.9519 -4187 2 25.4092 4.3195 24.4137 -29.7601 -66.8171 35.8169 -4188 2 24.7808 3.02126 24.8738 -14.9213 -25.5147 -48.9941 -4189 1 34.5545 24.9158 25.7931 39.6922 -15.4832 -50.1964 -4190 2 35.04 24.1833 26.1724 65.5511 -53.5182 -18.3836 -4191 2 33.9022 25.1407 26.4566 -106.246 77.4659 57.8672 -4192 1 26.2159 33.1144 29.5411 -59.7931 -87.9085 13.7663 -4193 2 26.8586 33.6195 30.0392 31.0856 45.5375 -0.315276 -4194 2 26.0866 33.6172 28.7369 22.8132 27.5787 -1.79026 -4195 1 12.7591 12.3309 9.28105 5.98193 6.01833 -5.79113 -4196 2 12.4759 12.4887 10.1817 -13.6472 12.7894 -8.29459 -4197 2 12.1887 12.8861 8.74935 -4.32777 -1.23923 22.8682 -4198 1 30.8987 15.9931 28.3963 -10.4365 40.8042 -6.93341 -4199 2 31.4259 15.1945 28.4193 15.7151 -9.25018 -28.5756 -4200 2 30.9571 16.2932 27.4892 12.3767 -29.5553 29.0552 -4201 1 0.818705 11.507 17.1895 -68.7428 46.1498 49.8602 -4202 2 0.657409 10.5641 17.225 24.145 -15.8376 -8.92911 -4203 2 1.611 11.5951 16.6597 38.3532 -26.6343 -32.3638 -4204 1 6.31268 10.4416 16.767 24.9253 20.778 -16.2056 -4205 2 6.96974 11.1351 16.7068 -84.0816 -54.3302 52.0982 -4206 2 5.81593 10.6497 17.5583 58.081 29.9648 -35.2506 -4207 1 0.544073 9.54408 23.5586 -4.3706 22.6093 109.062 -4208 2 0.363425 9.65181 24.4924 -47.1283 -45.3155 -25.856 -4209 2 1.32226 10.0788 23.4014 52.8387 16.0325 -83.6953 -4210 1 1.24466 29.2191 12.9975 -36.0018 9.59645 -9.87451 -4211 2 2.08033 28.7555 12.9426 -35.2817 49.4131 83.7737 -4212 2 1.22283 29.5699 13.8879 76.819 -65.1755 -71.2037 -4213 1 9.87662 0.562628 14.3854 84.0468 -136.889 -83.1184 -4214 2 10.3383 35.3377 13.9751 -100.753 56.8195 26.6604 -4215 2 10.5602 1.05107 14.8441 21.7444 82.8147 58.4438 -4216 1 20.6218 2.6258 7.23221 4.17682 45.1246 31.5708 -4217 2 21.2054 3.30993 7.5603 42.7041 -10.2172 -22.3238 -4218 2 19.7794 2.80909 7.6482 -43.2379 -34.9052 -8.90715 -4219 1 26.2496 1.51431 16.1992 -32.964 20.7417 -2.09295 -4220 2 25.4303 1.67954 16.6658 28.4303 -5.66665 -11.7313 -4221 2 26.2591 2.16179 15.4942 -0.399018 -13.6519 8.98367 -4222 1 21.5217 15.5304 3.18398 -78.0758 30.3799 -52.8039 -4223 2 21.1405 15.1107 2.41275 37.6875 11.5799 49.4482 -4224 2 20.9406 16.2686 3.36738 39.1093 -29.4171 6.25381 -4225 1 9.60109 12.8135 30.7528 -87.4895 -113.448 22.2979 -4226 2 10.1842 13.0399 31.4773 62.7224 47.069 45.2582 -4227 2 9.0992 12.0643 31.0738 31.4711 70.1779 -63.679 -4228 1 5.23742 9.36432 2.7609 -79.4047 -118.798 -53.7307 -4229 2 5.46697 9.12123 3.65782 24.4799 18.4127 49.9166 -4230 2 4.85038 8.57176 2.38901 40.8137 104.034 15.3421 -4231 1 30.1558 30.8628 5.78729 -3.72737 -45.1893 -34.6351 -4232 2 30.9971 30.6604 6.1966 8.09579 4.14245 6.07764 -4233 2 29.8224 31.6117 6.28152 -0.441078 19.4019 18.9085 -4234 1 3.00035 7.40303 17.6643 98.6865 52.8777 2.94112 -4235 2 3.33936 7.95458 18.3694 -38.7947 -39.7416 -29.1246 -4236 2 3.68076 7.42834 16.9915 -57.2432 -11.3125 31.6151 -4237 1 1.27113 7.78357 33.6312 -9.85035 4.69088 -83.0319 -4238 2 1.0809 7.47596 34.5174 46.5729 53.0604 16.649 -4239 2 1.82714 8.55233 33.7581 -24.4065 -36.0685 64.1051 -4240 1 10.3667 16.589 31.9495 -48.2698 111.133 9.80002 -4241 2 9.92399 17.1174 32.6136 58.1399 -94.3192 -65.9368 -4242 2 10.5562 15.7602 32.3893 -7.14018 -20.851 47.8334 -4243 1 2.92555 20.7895 22.9982 76.894 -26.497 46.9922 -4244 2 3.40176 20.4652 23.7626 -44.4334 42.484 -85.4879 -4245 2 3.6046 21.148 22.4267 -32.4142 -19.1026 43.5123 -4246 1 31.2431 32.5658 23.4061 26.937 80.5778 -8.0527 -4247 2 30.8022 31.8369 23.8428 -23.7865 -59.5874 13.8433 -4248 2 31.6341 32.176 22.6241 -3.20003 -20.7055 -9.18394 -4249 1 20.5012 18.6736 3.6052 58.7628 64.3317 -51.4312 -4250 2 20.5286 18.7715 2.6534 -34.6747 -38.0176 9.57071 -4251 2 21.097 19.3472 3.93299 -23.6667 -30.0125 37.8835 -4252 1 29.2619 22.0258 30.8195 -81.2608 -2.50192 -71.0244 -4253 2 29.7304 22.8285 31.0485 48.313 47.5955 34.7042 -4254 2 28.6249 22.2996 30.1596 25.2142 -44.0421 32.1754 -4255 1 1.85152 27.6227 34.117 11.0262 27.7966 4.74673 -4256 2 2.14468 28.5211 34.2692 1.78183 -25.2709 16.659 -4257 2 1.67189 27.5847 33.1776 -11.0875 -15.4824 -31.9165 -4258 1 7.53086 9.50176 1.4703 -63.2347 45.0319 -45.3469 -4259 2 6.63963 9.2584 1.72075 60.4172 15.0205 -5.42767 -4260 2 7.41895 10.2429 0.874912 13.3897 -57.6764 44.4595 -4261 1 16.5836 11.395 14.3984 -26.4763 -4.99026 -17.5907 -4262 2 16.1767 11.8854 13.6842 18.3968 28.8087 -2.9943 -4263 2 16.0084 10.6414 14.5304 -2.04278 -37.3185 27.4559 -4264 1 2.10525 5.43636 4.72248 -92.5019 7.99273 18.804 -4265 2 3.05147 5.3496 4.60672 91.5626 -7.4674 -6.16113 -4266 2 1.97684 5.4184 5.67087 6.21074 -0.406508 -21.4929 -4267 1 3.71422 8.98222 20.0167 84.0841 36.8647 13.121 -4268 2 3.97101 9.87224 19.7755 -25.7266 -74.6288 13.2815 -4269 2 4.49152 8.61356 20.4364 -61.9564 20.1516 -30.0386 -4270 1 1.86853 28.2348 30.9459 85.4366 90.2736 6.30511 -4271 2 2.74699 28.3771 30.5934 -78.5776 -17.65 26.2199 -4272 2 1.63778 27.3492 30.6652 -16.24 -77.6018 -28.2934 -4273 1 25.9191 1.73701 33.9074 -14.7334 97.0787 -2.4223 -4274 2 26.3411 2.44678 34.3915 -14.4732 -63.2448 -21.1255 -4275 2 25.2697 2.17482 33.3571 21.7332 -38.1397 17.3839 -4276 1 4.3036 25.0121 31.6946 33.359 30.4584 17.7997 -4277 2 4.72483 24.5936 30.9438 9.0318 -13.7759 -19.8908 -4278 2 3.47004 24.5512 31.7898 -26.4588 -13.9006 2.94815 -4279 1 19.6649 33.9607 4.92684 62.0225 96.9369 -17.6808 -4280 2 19.9636 33.8924 5.83367 -70.1908 -66.6773 -54.7211 -4281 2 19.0902 33.2048 4.80584 1.75769 -35.6365 83.3046 -4282 1 21.5287 24.5356 28.7061 2.7837 34.6474 -18.2043 -4283 2 21.5455 23.8549 29.3788 6.90842 -56.7077 29.0636 -4284 2 21.2645 25.3282 29.1732 -7.18974 33.8939 4.26458 -4285 1 26.1058 14.9608 24.0555 -70.3841 -17.4636 -43.971 -4286 2 26.8778 15.2443 24.5454 109.24 19.9969 44.73 -4287 2 25.3738 15.4061 24.4823 -33.5986 -3.41378 -1.36086 -4288 1 8.93904 1.91687 34.6652 -91.0921 59.0088 86.3563 -4289 2 9.70491 1.74517 34.1173 58.8577 32.9501 15.3198 -4290 2 9.22019 2.61261 35.2595 21.4639 -87.4106 -99.9056 -4291 1 5.49227 24.8499 22.622 50.5127 -14.2436 -14.0932 -4292 2 4.55601 24.6836 22.5125 12.2398 42.75 51.9481 -4293 2 5.54164 25.4795 23.3414 -62.0664 -28.8336 -30.7225 -4294 1 30.3586 16.6612 13.6925 -54.894 -88.0087 23.9793 -4295 2 31.314 16.608 13.6682 61.3375 21.0413 -8.04941 -4296 2 30.073 15.7666 13.878 -9.85953 66.3778 -13.3349 -4297 1 23.7399 30.0972 28.0052 25.9833 -27.1787 -24.4024 -4298 2 22.9036 29.8099 27.6386 -24.2408 -21.6133 -14.7739 -4299 2 23.5176 30.8566 28.5438 1.01118 44.4545 33.5519 -4300 1 6.27413 22.2847 10.3122 -83.908 -9.44513 99.9529 -4301 2 7.15863 22.6504 10.3254 69.9751 26.9318 -13.4948 -4302 2 5.93038 22.4563 11.1889 15.915 -23.509 -84.3421 -4303 1 34.2658 24.6704 21.9649 176.818 45.1028 -9.72726 -4304 2 34.876 24.9304 21.2747 -91.0118 -25.4458 -63.2233 -4305 2 34.7738 24.7402 22.7732 -76.4184 -28.2201 73.1029 -4306 1 18.9208 1.08323 4.46925 74.9367 1.95491 -10.0117 -4307 2 19.7691 1.48879 4.29016 -71.995 -48.6351 19.4975 -4308 2 19.1268 0.16646 4.65186 4.75725 55.7717 -12.4829 -4309 1 12.5722 31.4022 18.4685 -14.3392 -27.9508 -21.5843 -4310 2 12.5473 30.5523 18.029 26.1444 33.4695 29.4392 -4311 2 13.3821 31.385 18.9785 -2.53236 -16.3966 -8.97759 -4312 1 18.3397 32.5022 15.432 -14.0618 91.2114 -2.00392 -4313 2 17.9283 33.3663 15.4177 32.1 -67.8146 3.84335 -4314 2 17.6969 31.9374 15.861 -22.4516 -18.5175 11.3528 -4315 1 7.67656 27.849 9.04222 -84.1818 -41.5128 28.9933 -4316 2 8.37571 27.9363 9.69015 33.9368 4.04618 28.0405 -4317 2 6.94927 27.4567 9.52532 64.7629 37.6472 -53.3266 -4318 1 21.6506 35.2328 32.9035 23.291 -4.94824 67.1547 -4319 2 21.8618 35.309 33.8341 -12.8847 -5.98885 -73.1945 -4320 2 21.1419 0.51334 32.7077 -6.91316 3.09637 -7.02745 -4321 1 26.989 12.6621 1.39547 3.46456 8.46491 -49.9898 -4322 2 27.1921 13.0086 0.526617 24.1553 24.3485 17.691 -4323 2 26.3388 11.9782 1.2351 -26.4113 -33.371 34.6187 -4324 1 33.9049 1.20278 27.7978 -79.6453 134.643 -27.3552 -4325 2 33.6054 1.1356 26.8911 49.996 -47.3666 70.3922 -4326 2 34.3526 0.373371 27.9648 31.3392 -90.2051 -43.8397 -4327 1 16.0905 23.005 11.9077 -5.78308 -51.6557 -59.7145 -4328 2 15.6387 22.2014 11.65 8.38405 30.5909 36.3528 -4329 2 16.6436 23.2206 11.1569 3.30965 23.9635 24.0397 -4330 1 21.6618 22.497 5.11379 55.9249 -125.883 2.50076 -4331 2 21.5079 22.9444 5.9459 -32.9677 60.336 53.0828 -4332 2 22.073 21.6682 5.35935 -38.7041 69.6465 -59.4998 -4333 1 28.2697 28.4704 10.542 27.7623 -54.0697 49.8376 -4334 2 28.7511 29.1688 10.0986 16.3472 34.8786 -23.9178 -4335 2 28.9236 28.0408 11.0935 -40.8466 14.1719 -23.8977 -4336 1 11.8105 6.08311 22.2294 -14.3797 -36.3983 14.5895 -4337 2 12.015 6.91994 21.8122 30.8537 16.0756 -13.0829 -4338 2 12.6584 5.64975 22.3266 -9.78262 32.2911 -10.3957 -4339 1 11.5474 20.0039 29.6491 89.0735 -11.7162 84.5737 -4340 2 12.1502 19.9592 30.3913 30.0699 -16.8145 -62.2277 -4341 2 10.7063 20.2451 30.0371 -123.312 22.6151 -21.3909 -4342 1 23.633 15.7527 6.25933 43.886 -23.1933 92.2258 -4343 2 23.9874 15.5139 7.11584 -23.2272 8.91646 -72.9336 -4344 2 23.2084 16.5985 6.40269 -10.9351 13.1655 -8.27802 -4345 1 18.5954 17.845 8.51439 -139.532 53.0339 62.8825 -4346 2 19.2977 17.263 8.80488 71.37 -8.10933 -58.673 -4347 2 18.9047 18.1961 7.67936 76.1179 -37.1234 -2.10796 -4348 1 24.9575 31.6473 25.4268 -14.7131 12.7911 -25.788 -4349 2 25.8072 31.6496 24.986 -52.856 2.78645 122.052 -4350 2 25.1709 31.6733 26.3595 68.4387 -3.45896 -87.0383 -4351 1 16.669 15.8459 16.5977 -24.0276 -108.485 55.488 -4352 2 16.315 16.1221 17.4431 -7.69536 91.2611 14.7797 -4353 2 16.7072 14.8911 16.6538 28.6221 17.6454 -79.7267 -4354 1 33.0156 0.032498 11.5021 136.916 -93.2588 -16.1157 -4355 2 32.495 0.66338 11.0049 -74.6471 51.1252 33.4699 -4356 2 32.6206 35.5359 12.374 -54.5859 48.4887 -25.07 -4357 1 28.0541 19.828 0.195551 63.9544 130.693 70.8175 -4358 2 27.3725 20.1651 0.776876 7.8426 -53.5821 -46.6086 -4359 2 27.6778 19.0317 35.2679 -86.6184 -88.3 -17.3198 -4360 1 13.8269 16.0706 19.243 22.4058 -6.11085 -5.877 -4361 2 14.7397 15.844 19.4211 30.1098 18.5393 -15.8417 -4362 2 13.3193 15.4086 19.7123 -49.472 -9.35297 14.3587 -4363 1 14.0791 21.9775 33.1802 5.60041 -4.57527 -118.796 -4364 2 14.8575 22.0984 33.724 44.9898 9.29066 69.0512 -4365 2 14.3937 22.0881 32.2829 -54.5149 -7.30097 44.2626 -4366 1 16.3364 25.3929 3.02022 84.6359 60.776 -19.7724 -4367 2 16.8023 26.2291 3.02574 -52.3593 -70.7163 7.78233 -4368 2 16.9642 24.7707 2.65304 -19.9952 -1.24897 8.16014 -4369 1 34.411 25.5093 0.150128 23.1129 -20.4309 -18.5952 -4370 2 34.8151 26.3405 0.399127 17.9618 22.6695 4.60842 -4371 2 33.5103 25.5758 0.467514 -44.3095 -3.76013 12.8009 -4372 1 27.8617 21.3523 28.1223 -172.701 -12.33 -72.7862 -4373 2 28.7364 21.0508 27.8769 100.743 -34.1309 -18.9959 -4374 2 27.2915 21.027 27.4256 72.8324 50.0532 93.1416 -4375 1 0.23536 27.2417 28.0006 50.4314 -167.045 80.5358 -4376 2 0.771775 26.6312 28.5064 14.5807 108.626 -37.1926 -4377 2 34.9462 26.75 27.7965 -63.3451 42.5012 -45.6736 -4378 1 21.6873 25.3227 17.7978 12.661 -55.1413 106.503 -4379 2 21.9866 26.2293 17.7289 3.60281 37.5382 -29.5901 -4380 2 21.3387 25.1184 16.9301 -19.9609 10.3437 -77.8735 -4381 1 30.9723 0.898875 8.90471 -85.0078 23.6007 -5.9887 -4382 2 31.2744 0.987181 8.00074 61.6503 -8.01533 -39.7214 -4383 2 30.0369 1.09847 8.86571 28.0055 -11.1114 50.7891 -4384 1 25.4563 22.8754 20.9972 -5.07435 22.6462 -12.0219 -4385 2 26.2859 22.4494 21.2129 4.37207 23.7254 -4.92608 -4386 2 25.6906 23.7893 20.8359 6.40417 -51.5425 17.211 -4387 1 24.874 30.4804 12.6059 -19.8947 10.9055 4.72499 -4388 2 25.6407 30.6521 12.0591 -15.3438 -55.4859 31.8644 -4389 2 25.017 29.5985 12.9496 39.664 38.1048 -40.1102 -4390 1 13.809 7.99375 5.2908 51.1555 87.9643 -54.3658 -4391 2 13.7738 8.74071 4.69324 -30.9877 -60.4603 41.5936 -4392 2 14.7365 7.90537 5.5102 -26.1136 -30.347 14.1217 -4393 1 33.9748 12.8432 16.8232 -13.4845 12.7944 69.4529 -4394 2 34.7718 12.3687 17.0593 61.3828 -42.5897 -47.7906 -4395 2 33.6028 13.1193 17.6609 -51.4331 28.1604 -20.197 -4396 1 26.5897 21.8387 5.49561 28.0221 -38.4976 2.8844 -4397 2 27.183 22.5117 5.16189 6.23018 26.244 -5.94113 -4398 2 27.1546 21.0859 5.66997 -16.7122 0.536598 3.89112 -4399 1 5.16644 25.9255 12.3571 -82.7459 1.42539 -84.5855 -4400 2 4.39998 25.3604 12.4545 23.0139 17.2738 -1.42561 -4401 2 5.73938 25.6802 13.0836 64.5181 -30.4443 80.3616 -4402 1 26.7913 35.4278 5.15497 -9.40389 -28.7505 60.3628 -4403 2 26.5972 34.8126 5.86211 -1.28859 6.35502 -43.8848 -4404 2 27.2233 0.657265 5.58886 12.9592 24.9801 -17.5741 -4405 1 1.20621 3.82847 0.244538 -40.0525 -9.51598 5.30674 -4406 2 2.01543 3.41203 0.541171 68.6845 -6.13463 0.748333 -4407 2 0.510081 3.34188 0.685998 -29.6666 16.922 -13.6114 -4408 1 26.437 3.26469 13.8626 -20.4753 -1.51645 -19.7008 -4409 2 26.7883 4.05515 14.2724 1.73507 11.5741 -1.0845 -4410 2 25.7399 3.58167 13.2883 20.1784 -7.72027 24.8614 -4411 1 33.2059 12.6345 8.22768 -48.259 16.5415 62.8839 -4412 2 32.687 12.8286 9.00826 23.0672 -16.7871 -55.5218 -4413 2 34.1098 12.806 8.49161 28.9905 3.90551 -0.0860054 -4414 1 29.9054 24.5675 20.7059 -13.5854 11.3423 24.5363 -4415 2 29.4901 25.4285 20.6558 -14.887 8.10393 22.1611 -4416 2 30.2859 24.4337 19.8378 33.321 -33.5201 -47.5323 -4417 1 15.2981 4.02934 16.4438 -29.935 -15.2392 -93.1997 -4418 2 15.7196 4.61703 17.0709 20.926 20.3598 62.1741 -4419 2 14.9943 3.29177 16.9729 7.15007 3.44663 37.4838 -4420 1 31.2726 25.182 0.424883 26.649 -8.81929 -45.8657 -4421 2 31.0449 24.4589 35.2877 -9.53936 49.552 98.4664 -4422 2 30.7324 25.0415 1.20245 -16.8458 -44.7892 -34.1521 -4423 1 12.1232 3.02693 0.178421 -45.5005 12.2205 35.5735 -4424 2 11.8547 2.17886 35.2722 18.192 -31.0677 -25.0771 -4425 2 11.3649 3.32967 0.678076 34.0795 14.5182 -2.88402 -4426 1 32.8427 11.5509 14.3819 -91.2789 68.5593 27.437 -4427 2 31.909 11.5768 14.1727 60.9571 -31.84 -6.08398 -4428 2 32.9724 12.278 14.9909 32.2787 -37.0296 -17.8106 -4429 1 20.5619 17.4416 12.4541 136.986 74.6128 143.748 -4430 2 19.8502 16.8877 12.1333 -116.27 -88.0868 -42.1302 -4431 2 20.6375 17.2215 13.3826 -13.0941 16.617 -100.388 -4432 1 15.2812 11.6219 18.8127 6.80276 34.133 -6.01119 -4433 2 14.3861 11.8289 19.0813 -11.9318 5.09595 -3.58709 -4434 2 15.4041 10.7084 19.0708 12.1743 -38.1237 8.8528 -4435 1 29.7405 20.3666 3.36315 18.3701 14.8795 -105.965 -4436 2 30.4862 19.8082 3.58297 12.0341 -20.5311 32.607 -4437 2 29.868 20.5849 2.43993 -29.7698 -3.80367 66.9347 -4438 1 10.46 28.0973 15.3778 71.514 -16.5505 3.27588 -4439 2 9.53034 28.2357 15.5588 24.3304 39.3431 -68.0595 -4440 2 10.6357 28.6311 14.6029 -88.3516 -22.5465 61.2733 -4441 1 16.7725 6.13462 17.9388 20.149 83.0126 15.9032 -4442 2 17.2522 6.31266 18.7478 -23.8922 -10.6549 -48.6411 -4443 2 16.6775 6.99137 17.5227 3.52603 -73.958 31.3174 -4444 1 21.5176 0.3225 25.1413 -92.813 126.218 -57.3643 -4445 2 22.2268 0.140791 25.7579 90.7671 -41.9406 79.7128 -4446 2 21.4174 35.0167 24.6446 7.64372 -73.5945 -25.9911 -4447 1 8.70604 23.6629 10.1379 -25.7717 -48.0317 -84.6185 -4448 2 9.03204 24.0884 10.931 57.7445 -21.3587 13.668 -4449 2 9.40137 23.0539 9.88907 -30.5683 69.1944 70.3422 -4450 1 20.2489 3.67137 10.3661 -8.30713 -22.3406 27.8151 -4451 2 20.3807 3.09493 11.1189 -11.4663 21.3636 -35.98 -4452 2 19.4828 3.31127 9.91934 21.4222 6.23375 12.7328 -4453 1 5.99013 17.0858 14.8655 71.5445 42.4963 -59.2165 -4454 2 6.63939 17.7618 14.671 -6.85989 -44.1823 -21.0692 -4455 2 5.55609 17.3919 15.6618 -67.0354 2.45563 81.7331 -4456 1 9.84183 21.0265 7.17511 14.7304 -5.05498 19.0396 -4457 2 9.13236 21.5961 6.87762 -51.8618 28.4149 -70.0223 -4458 2 9.85429 21.1353 8.12603 43.7584 -27.0665 43.7908 -4459 1 14.2772 22.3485 30.4736 -10.2863 -6.65522 -127.018 -4460 2 13.816 23.1243 30.1546 -21.9549 53.9289 62.6314 -4461 2 14.4875 21.8521 29.6826 31.5113 -44.9653 79.5439 -4462 1 9.99678 22.3634 18.6226 -42.4577 -0.332751 -31.978 -4463 2 10.4634 21.97 17.8852 5.89745 -13.1733 -32.2516 -4464 2 10.6659 22.4752 19.2979 32.1741 11.9416 55.6482 -4465 1 13.5454 23.313 25.3324 134.115 -67.6122 13.7333 -4466 2 13.26 22.9881 26.1863 -55.527 13.4579 20.873 -4467 2 14.4248 22.9521 25.22 -73.5869 51.7449 -37.8159 -4468 1 20.3795 18.6911 28.3966 -70.0465 35.9997 -116.917 -4469 2 20.0142 18.9793 27.5601 -11.6358 -28.1922 84.1403 -4470 2 21.3195 18.6133 28.2339 89.7671 -19.3825 29.567 -4471 1 31.9732 7.21096 11.2032 -10.093 -13.3317 92.5153 -4472 2 31.6137 7.12832 12.0866 24.3899 12.1792 -76.805 -4473 2 32.839 6.80642 11.2576 -7.612 5.61821 -10.8494 -4474 1 3.59876 34.1729 15.108 -39.7918 -52.0796 -27.2857 -4475 2 3.18707 33.4613 14.6177 21.2066 37.7172 0.898996 -4476 2 3.55439 33.8917 16.0219 9.2138 8.29839 33.3399 -4477 1 16.7544 18.4101 28.9948 64.7577 13.9098 13.7679 -4478 2 17.6391 18.6424 29.277 -37.2231 5.8359 -22.2173 -4479 2 16.5422 17.6219 29.4948 -26.7194 -15.7664 6.92865 -4480 1 4.3038 30.0039 27.4134 91.3839 4.65336 29.2546 -4481 2 5.14801 30.4096 27.2162 -84.4322 -23.2475 2.4758 -4482 2 3.72077 30.3139 26.7204 3.17073 12.3231 -21.1344 -4483 1 6.15154 15.7184 24.0708 -40.3603 76.9811 -23.667 -4484 2 5.31566 15.8508 24.5181 39.881 -34.8127 -5.09765 -4485 2 6.50772 14.9194 24.4594 -9.12014 -33.6788 31.6837 -4486 1 1.16747 28.7757 19.837 13.8631 126.139 11.3653 -4487 2 0.560743 28.0604 19.646 47.6494 -59.0546 1.85876 -4488 2 2.01917 28.3492 19.9316 -62.3678 -51.3412 -14.7173 -4489 1 23.2355 29.743 8.55328 107.193 47.7531 -19.2738 -4490 2 24.1772 29.8565 8.68164 -86.3163 -32.1967 9.60776 -4491 2 23.0034 30.3937 7.89074 -26.213 -16.9993 8.08903 -4492 1 19.4814 19.1556 6.41632 -3.02546 14.8549 -4.88762 -4493 2 18.9878 18.526 5.89073 0.339062 -6.44059 -6.88493 -4494 2 18.8848 19.8957 6.52735 6.38336 5.649 0.895905 -4495 1 33.0444 24.8218 13.6454 190.156 76.9754 21.5069 -4496 2 33.78 24.3567 13.2468 -97.1422 21.3535 28.2737 -4497 2 32.2746 24.3082 13.4005 -87.762 -95.9209 -46.39 -4498 1 26.0489 6.03932 17.256 55.7356 -79.2221 36.6622 -4499 2 26.4088 5.4448 17.9142 -36.0877 61.7902 -92.8565 -4500 2 26.4379 5.74814 16.4313 -16.42 12.5907 64.2149 -ITEM: TIMESTEP -1 -ITEM: NUMBER OF ATOMS -4500 -ITEM: BOX BOUNDS pp pp pp -2.6450000000000001e-02 3.5532800000000002e+01 -2.6450000000000001e-02 3.5532800000000002e+01 -2.6409999999999999e-02 3.5473599999999998e+01 -ITEM: ATOMS id type x y z fx fy fz -1 1 12.1197 28.0885 22.2802 2.83943 -11.6349 -7.21473 -2 2 12.4885 28.7491 22.8667 -4.16123 0.985402 0.0193574 -3 2 11.5388 28.5804 21.6998 -2.84409 -3.92723 0.75706 -4 1 1.17511 29.3742 23.736 -17.8933 0.0578882 -4.35639 -5 2 1.85553 29.4497 23.067 -0.487987 0.0169913 1.59281 -6 2 0.446373 28.9431 23.2894 -0.690646 3.49336 -1.95732 -7 1 29.6785 14.7335 21.6258 1.95135 1.24077 6.15592 -8 2 30.5168 14.9438 21.2143 0.99602 -1.20723 1.56832 -9 2 29.7509 15.087 22.5123 -0.421409 -1.69686 -0.228008 -10 1 10.8735 6.99846 35.108 -10.0389 10.835 1.5249 -11 2 11.079 6.26364 34.53 0.88781 -0.467315 4.23203 -12 2 9.9984 7.2779 34.8389 -2.34395 -3.85231 2.12436 -13 1 9.47019 6.43118 19.8044 6.90852 5.54825 2.30363 -14 2 9.10191 6.30845 18.9295 -1.1598 -3.72224 1.39899 -15 2 10.2897 5.93683 19.7914 -0.715388 1.07873 1.68353 -16 1 3.18398 29.7003 22.1238 14.0628 3.95468 0.562309 -17 2 3.20329 30.5742 21.7339 -0.955442 -0.973553 -1.40556 -18 2 3.39235 29.1098 21.3999 -0.982794 -0.455077 0.844587 -19 1 23.3815 11.2999 30.7862 0.144812 -2.51891 4.09525 -20 2 23.7172 10.5132 31.216 -2.29648 -1.01218 0.478777 -21 2 24.1599 11.7319 30.4344 0.453813 -4.30435 -2.18913 -22 1 11.0338 10.4586 30.1489 -0.620609 -1.02936 -7.35718 -23 2 10.9806 11.4046 30.285 -0.925455 -0.536551 0.922496 -24 2 11.578 10.1426 30.8701 -0.978535 -0.658662 -0.175294 -25 1 26.2351 25.4085 21.065 7.1584 9.23358 -1.45945 -26 2 25.6774 26.0793 21.4591 0.706736 -0.0882212 1.15416 -27 2 26.2119 25.5979 20.127 -1.55701 0.736299 0.865926 -28 1 10.8404 35.3437 19.7859 -8.50381 6.03522 6.89699 -29 2 10.2386 0.508835 19.4647 -1.67824 -1.32566 -0.261999 -30 2 11.0233 34.7992 19.0202 -2.84454 -2.6281 2.24284 -31 1 20.0749 4.96011 33.6181 -8.09271 4.73099 7.64077 -32 2 19.8036 5.82849 33.9157 3.36446 1.68187 -0.386527 -33 2 20.659 4.64213 34.3065 -0.240854 -0.494311 -0.643129 -34 1 12.4352 28.5642 17.3982 1.07487 1.56659 6.44931 -35 2 12.737 27.9994 18.1096 -0.0782354 0.221159 -1.46202 -36 2 11.6768 28.1074 17.0343 0.751379 -0.247561 -0.393532 -37 1 14.8065 7.14018 1.42106 -8.02644 -4.25717 -3.68122 -38 2 14.8136 6.66898 0.587897 1.58363 -3.56536 2.76297 -39 2 14.1708 6.66771 1.95853 3.66778 -1.40869 1.75119 -40 1 15.8758 22.1873 24.1301 -5.86729 -5.47916 -12.8363 -41 2 15.9916 22.7158 23.3405 1.57497 0.623028 0.476755 -42 2 16.6833 22.3184 24.6271 -4.05631 2.59608 2.33577 -43 1 13.2908 18.3045 12.369 2.75858 1.2371 17.1257 -44 2 12.5605 18.6229 12.8997 0.322944 1.15953 -2.83651 -45 2 13.2207 18.7912 11.5477 -0.341369 -4.86634 -1.60449 -46 1 20.2764 23.9401 15.4995 3.20873 8.01449 5.07135 -47 2 20.1809 24.6135 14.8259 0.142923 -1.69999 -0.626952 -48 2 20.6042 23.1741 15.0283 -0.0540956 -0.996547 2.63258 -49 1 30.1061 10.7787 14.243 5.62232 -4.16839 6.17127 -50 2 29.4199 10.9553 13.5995 3.0264 0.504971 0.184688 -51 2 29.6797 10.2351 14.9054 -1.09306 0.467184 -0.199294 -52 1 19.7168 12.9867 25.4038 2.10581 -8.4639 -0.0930328 -53 2 20.1668 13.3273 26.1769 -2.70216 4.40091 -1.0351 -54 2 18.8056 12.889 25.6801 -0.310147 -1.39533 -1.91953 -55 1 4.22865 18.9983 32.6298 -18.8845 -14.8365 6.31113 -56 2 4.03782 18.2267 32.0966 -3.48939 -1.86931 3.47252 -57 2 3.4031 19.4821 32.656 0.85948 1.11098 -0.884952 -58 1 17.6782 30.8671 34.8731 20.9264 7.80933 -6.55676 -59 2 17.2389 31.7174 34.8614 1.75282 0.32389 2.07873 -60 2 18.1479 30.8282 34.0399 -1.04653 1.99998 -0.795977 -61 1 7.49719 27.8425 34.6559 0.711667 0.422199 9.24732 -62 2 7.38783 27.3525 33.8409 -3.80781 -0.699131 2.36107 -63 2 7.82516 27.1969 35.2819 0.832186 0.853418 0.112955 -64 1 9.58841 8.76146 28.3855 0.421925 -8.00793 0.889771 -65 2 8.91948 9.00414 27.7453 1.63331 2.40481 0.994192 -66 2 9.59444 9.48491 29.0123 4.45118 -1.51376 -0.861827 -67 1 18.1508 7.97873 4.03126 1.19851 -3.23444 -5.56895 -68 2 17.642 8.00406 3.22091 1.76243 2.3251 -1.28592 -69 2 17.5522 7.60681 4.679 -1.20543 -1.81415 -2.59291 -70 1 13.4533 10.3047 21.9486 1.29645 4.21818 4.52343 -71 2 14.0965 10.995 21.7873 -0.993808 -0.150147 -0.863461 -72 2 13.1982 10.4234 22.8635 0.505393 1.47316 -0.741787 -73 1 28.7728 1.83933 6.23542 -6.65128 -8.01516 4.02892 -74 2 29.5247 1.26313 6.09823 1.68913 4.05945 1.16655 -75 2 28.4952 1.66172 7.1341 1.80959 0.821771 0.315841 -76 1 21.1702 3.00541 4.56565 -2.73613 -4.25787 -6.86233 -77 2 21.014 3.01364 5.50998 0.22429 -3.71788 -0.828608 -78 2 21.1656 3.92882 4.31359 -3.75499 0.0853394 2.439 -79 1 15.8613 20.7792 10.3461 -2.1509 6.20406 2.42187 -80 2 15.8605 20.0094 10.9151 -1.96176 0.95374 -0.736288 -81 2 15.7672 20.4242 9.46214 -1.38938 1.20573 0.28312 -82 1 19.3699 6.4158 28.3267 -3.76481 2.15265 -3.12662 -83 2 19.8657 6.19926 27.537 -1.55855 -0.527811 0.745342 -84 2 19.2669 7.36681 28.2921 2.39367 0.343061 1.82307 -85 1 19.693 26.803 22.5635 -6.01875 0.290784 6.9103 -86 2 20.4921 26.5342 22.1102 1.07526 2.72016 3.43643 -87 2 19.5587 26.1312 23.232 -0.0599486 0.140756 0.639191 -88 1 10.4543 1.95998 4.23361 14.57 21.0633 -12.4632 -89 2 11.0104 1.54281 4.89155 -1.67412 0.0313792 -0.0455861 -90 2 10.8423 2.82552 4.10523 2.10771 -1.33362 2.84224 -91 1 6.34959 29.1954 23.1846 -13.1563 -1.58418 -3.77502 -92 2 5.55058 29.6622 23.4294 1.15638 2.83752 -0.431495 -93 2 6.95232 29.8832 22.902 1.9456 -3.66523 -0.185132 -94 1 27.7056 33.6421 1.45472 -1.62869 3.71204 22.1075 -95 2 27.4924 34.5343 1.72816 1.3689 -1.06238 1.7149 -96 2 28.2162 33.2841 2.18091 1.05986 -0.401654 -0.871882 -97 1 34.5461 25.9093 10.9792 -7.25124 -8.22401 -0.411791 -98 2 34.2838 25.1355 10.4806 0.105132 1.70434 -3.27492 -99 2 34.7392 26.5696 10.3136 -2.14199 2.74203 2.91602 -100 1 35.1317 10.3539 32.7564 3.98212 -1.13684 -3.47087 -101 2 35.3289 9.88921 31.9431 -1.93508 0.303203 -0.623766 -102 2 35.4275 9.7626 33.4485 0.0343044 2.21555 -1.07153 -103 1 19.4604 25.2267 13.0653 -0.363992 -0.984018 -5.3813 -104 2 18.6718 25.7534 12.9347 -1.62401 -3.1834 0.969792 -105 2 19.5157 24.6792 12.2821 2.06933 2.34955 -0.297024 -106 1 8.76522 34.6074 24.2066 -8.82969 1.416 11.5869 -107 2 9.51058 34.7062 24.799 -2.3368 0.584546 0.611902 -108 2 9.13417 34.201 23.4224 -0.772331 3.40749 -0.554145 -109 1 18.5221 33.9987 24.7608 -2.93377 5.39726 7.76333 -110 2 19.4554 33.8572 24.6019 -1.81501 -0.822564 -3.43674 -111 2 18.0823 33.4502 24.1113 -3.27337 1.93913 2.54194 -112 1 5.47387 16.7567 12.0943 8.27471 1.42195 -4.08713 -113 2 5.20982 17.646 11.8584 -2.53422 -0.796464 1.24347 -114 2 5.6267 16.7942 13.0385 -2.10079 -2.56077 -0.237851 -115 1 26.7775 26.5446 35.1729 -6.86914 9.68401 11.5013 -116 2 27.3719 26.8911 0.391099 0.931334 -0.83299 -0.0417153 -117 2 27.1994 25.7409 34.8693 -2.05961 0.438302 -0.525641 -118 1 14.0402 15.2713 12.4147 -4.19791 5.66653 0.621796 -119 2 14.3586 15.7751 13.1637 1.10827 0.906128 -0.977754 -120 2 14.3044 15.7841 11.6508 -0.152959 -1.55261 -0.933291 -121 1 6.76112 6.34981 6.05238 -2.70495 2.85939 1.39213 -122 2 7.52396 5.77463 6.11124 -0.0700211 0.393854 -2.68118 -123 2 6.03967 5.82838 6.4043 2.12309 1.55706 5.74267 -124 1 10.8686 34.9287 25.9776 7.77314 -2.79381 -6.74978 -125 2 10.732 35.335 26.8334 -2.13344 -2.8432 0.426264 -126 2 11.585 35.4286 25.5863 -0.481848 0.461465 3.57474 -127 1 18.3451 30.5104 26.2815 -14.9723 0.2775 0.512422 -128 2 18.0951 30.3237 25.3766 2.0694 -0.276021 -0.527541 -129 2 19.1314 31.0511 26.2065 1.04458 -3.34861 2.2845 -130 1 13.1902 0.775062 20.6208 12.1623 -4.75254 6.75315 -131 2 13.3972 0.571428 21.5329 0.165578 -0.74308 -1.34619 -132 2 12.3249 0.390876 20.4795 1.75963 1.77962 -3.42515 -133 1 24.4741 24.0632 28.214 -12.7106 11.7323 -13.9437 -134 2 24.1502 23.1986 27.9614 0.829329 0.536959 3.81511 -135 2 23.7414 24.6541 28.0402 -2.53365 -1.55982 2.11145 -136 1 30.7906 15.3363 34.869 4.63905 -16.5667 18.2332 -137 2 31.1338 15.2839 0.313836 -0.042718 -2.44006 0.687676 -138 2 30.0303 14.7548 34.8698 0.0454091 1.20789 -1.3884 -139 1 18.3054 19.7719 34.2398 -2.65777 -3.13815 7.16495 -140 2 17.7985 20.1569 33.5248 3.10359 4.14252 0.757259 -141 2 19.0004 19.2794 33.8032 0.784736 1.15633 0.421225 -142 1 24.1942 16.2148 25.5393 -0.782891 5.84105 10.9734 -143 2 24.3348 17.1483 25.3806 -1.23573 -0.79486 -1.34185 -144 2 24.2407 16.1235 26.491 1.11135 -0.75001 -1.14865 -145 1 9.28645 8.02377 32.2408 8.05966 1.4497 -7.31894 -146 2 10.2068 7.85329 32.4413 1.263 0.751324 -3.76416 -147 2 9.00276 7.25603 31.7445 -0.0742995 2.55319 -2.84575 -148 1 5.33384 1.15297 27.6506 -1.75272 -4.1022 0.0591199 -149 2 4.54258 0.633055 27.5098 -0.61388 1.20081 3.18076 -150 2 5.01191 2.03694 27.8272 2.01119 -0.329206 1.17155 -151 1 22.9016 21.3407 11.6347 -1.63083 -9.51727 -2.27349 -152 2 23.2136 20.5314 12.0396 -3.0482 -0.662518 1.84435 -153 2 22.466 21.0549 10.8317 1.45482 -0.726841 -0.872976 -154 1 16.8814 32.603 23.1625 -1.99651 -7.02783 -6.02043 -155 2 15.937 32.7487 23.1056 0.0449312 0.920253 0.0996749 -156 2 16.9674 31.6871 23.4269 -1.00053 -0.0186117 -0.941042 -157 1 29.2427 7.09932 23.713 -5.45108 23.3244 3.61939 -158 2 28.5117 7.55692 24.1285 -1.98056 -2.32106 0.280838 -159 2 29.4998 7.66732 22.9867 -3.68654 1.64426 0.679867 -160 1 34.2995 6.85329 2.08574 -8.21029 1.97776 -8.91288 -161 2 34.9275 6.9298 1.36744 2.0579 1.94829 1.87792 -162 2 33.768 7.64707 2.02537 -0.334071 -0.952619 -0.373538 -163 1 32.9585 29.2727 19.2571 -4.7292 2.96696 18.7205 -164 2 32.622 28.3943 19.4342 -0.888368 0.483627 -1.42878 -165 2 33.6279 29.1424 18.5854 -0.291946 2.23437 1.72417 -166 1 9.78203 33.7297 21.9669 4.93329 2.3764 -13.8274 -167 2 9.26811 33.1664 21.3882 2.40106 -1.22896 -1.13088 -168 2 10.1179 34.4193 21.3943 0.776117 -0.219468 -1.06337 -169 1 7.85979 6.97575 8.72784 -6.69291 -4.69032 -4.55535 -170 2 8.12984 6.10181 9.00986 -2.65325 0.129473 2.85676 -171 2 7.18136 6.81716 8.07149 0.0534681 -1.05163 -0.559877 -172 1 34.2511 27.8157 31.7899 10.4762 7.05211 4.51592 -173 2 34.6389 28.6044 31.4107 -0.460218 -1.37768 0.621499 -174 2 33.7966 28.1247 32.5736 -0.63165 2.38407 -2.06476 -175 1 34.9453 26.8443 19.5201 -14.5394 -4.41372 1.51362 -176 2 35.353 26.0133 19.764 2.43554 -0.560912 -7.11053 -177 2 34.2056 26.5952 18.966 -1.90509 1.10494 1.72174 -178 1 21.7592 32.2086 20.8925 -0.960966 -0.833187 0.557924 -179 2 22.6308 31.8822 21.1161 0.425469 0.0200191 -1.74286 -180 2 21.7978 33.1459 21.0827 0.363327 0.0105238 -1.00393 -181 1 34.3091 3.44165 14.2418 6.85604 2.0347 -1.97505 -182 2 34.8868 2.86532 13.7415 0.126524 2.00945 -1.69308 -183 2 34.8997 4.0644 14.6656 -0.171216 -2.72991 2.33793 -184 1 17.8781 18.9142 14.4175 11.2959 -3.49575 -6.33449 -185 2 17.9618 18.9721 15.3693 -4.79424 0.675416 -2.63349 -186 2 18.5847 19.465 14.0805 1.08316 -1.26729 0.789542 -187 1 19.0844 14.2299 20.7819 17.9425 -3.81829 -29.597 -188 2 19.5933 13.8075 21.4738 -0.168135 2.5365 0.58617 -189 2 18.6697 13.5059 20.3129 2.96701 -1.65518 -0.867102 -190 1 7.8639 17.9762 9.47954 -1.9145 7.76101 7.13427 -191 2 7.55814 18.8151 9.13442 -1.77281 -2.06344 -2.05978 -192 2 8.09095 17.4654 8.70252 -0.0229779 -1.0275 2.11073 -193 1 0.305213 23.1875 0.380315 2.15923 -1.20055 -5.2823 -194 2 35.3376 24.0188 0.401724 -1.10221 -1.3328 -0.660012 -195 2 35.1268 22.5198 0.419787 1.281 -1.26386 -3.6752 -196 1 4.53609 21.2197 29.8607 6.18031 -0.301104 1.13012 -197 2 5.07517 22.0038 29.7573 -1.5309 -0.553643 -0.179216 -198 2 5.03313 20.6642 30.4613 -1.56608 1.24611 1.83912 -199 1 3.76374 1.66703 34.1149 4.60928 13.749 -4.42429 -200 2 4.6935 1.84503 33.9731 0.246792 1.27148 0.627445 -201 2 3.60851 1.91341 35.0267 0.804549 -5.77191 -0.447515 -202 1 35.1782 34.7026 7.53573 -6.31198 -4.95123 2.51746 -203 2 34.2731 34.4329 7.38013 1.80099 -1.90553 -0.534367 -204 2 0.0447447 33.9975 8.06495 1.00405 1.67013 1.55509 -205 1 24.8236 8.21132 16.0938 -9.6969 7.89144 -2.27959 -206 2 25.5407 8.83618 15.9864 1.50586 -2.32451 0.45854 -207 2 25.0361 7.73819 16.8983 -1.18389 -4.46215 -3.8081 -208 1 4.17923 28.5296 29.7058 -2.88046 -10.6216 -6.84024 -209 2 5.08358 28.4277 30.0025 -1.01535 6.12236 0.587199 -210 2 4.24837 29.0292 28.8923 -2.21319 2.09021 1.43555 -211 1 26.4376 31.2789 3.92319 2.84025 3.04321 0.456704 -212 2 26.5554 30.6022 3.25646 -1.74519 -0.941019 1.99126 -213 2 27.2972 31.6928 3.99958 0.923212 -1.66733 -2.21147 -214 1 35.1104 7.7066 27.0823 6.05284 -5.7425 -0.180027 -215 2 35.1458 7.37552 27.9797 -1.75363 -2.57822 -0.738777 -216 2 34.5557 7.08035 26.6172 -1.44653 2.94276 -2.05708 -217 1 21.4552 34.0539 2.89573 11.302 2.09916 -2.67275 -218 2 21.0613 33.7789 3.72363 -5.06393 4.0502 -2.98268 -219 2 22.2256 34.5603 3.15307 -3.28377 0.950992 2.87891 -220 1 31.2149 3.30939 25.8036 -17.0599 6.72165 5.63366 -221 2 30.7602 4.00583 25.3298 1.04912 0.188966 -1.67492 -222 2 31.5053 3.72236 26.6168 3.12088 1.89515 -3.0163 -223 1 7.3704 1.04797 25.8271 0.552616 -8.24081 -0.442916 -224 2 7.45764 0.257315 25.2946 2.71341 -1.88807 2.58774 -225 2 6.69161 0.832836 26.4668 -0.29095 0.0312636 -1.47269 -226 1 30.3418 6.08721 15.7385 3.90543 9.00007 2.29911 -227 2 30.8669 5.56177 15.1349 -2.23048 1.01371 -1.46973 -228 2 30.4505 5.65811 16.5872 -3.59843 -2.57949 -1.61253 -229 1 34.9369 25.1501 32.0324 -13.6155 2.18796 7.82975 -230 2 34.6307 24.6345 32.7785 -1.51556 2.82725 1.36609 -231 2 34.5731 26.0233 32.1786 2.4557 1.35615 -1.0158 -232 1 0.490122 26.4103 7.95636 3.32409 -3.20955 -12.856 -233 2 35.2631 26.0934 7.42912 -0.106447 0.0969442 2.10962 -234 2 0.306616 27.3405 8.08821 -2.2747 -2.25371 3.97245 -235 1 28.56 15.833 29.5301 -3.826 -6.56926 11.2866 -236 2 28.3907 16.7712 29.6158 -3.55148 -2.34318 1.59443 -237 2 29.4835 15.7773 29.2842 -1.72847 3.58265 -1.65629 -238 1 18.1451 14.6878 4.78782 9.51977 3.79075 4.87582 -239 2 18.4764 15.509 5.15136 -1.90617 0.799269 1.03289 -240 2 17.3382 14.9339 4.33558 0.165899 -2.85263 1.69221 -241 1 23.9833 17.8058 3.99744 3.5085 -8.49432 -3.19996 -242 2 24.8668 17.7728 3.63051 -0.0339981 -1.72033 1.32632 -243 2 23.6069 16.9495 3.79418 1.78792 0.206614 0.831364 -244 1 27.7841 18.4005 29.8222 -5.82682 5.62791 15.5672 -245 2 27.1267 18.943 30.2578 -2.2913 1.07112 -3.01516 -246 2 28.3079 19.0198 29.3139 -1.08291 -1.61952 -1.35224 -247 1 32.5628 20.9923 23.1578 10.2894 -7.06679 -1.36124 -248 2 33.1107 20.5989 22.4787 1.65535 0.570396 2.07657 -249 2 32.498 21.9145 22.9097 -1.96237 -1.94554 -2.74825 -250 1 0.529621 10.6912 20.5083 -1.52448 -5.20317 2.76575 -251 2 35.2484 10.7192 21.0516 -0.746382 2.59942 -3.95564 -252 2 1.05343 11.4348 20.8065 -0.649637 0.904838 -2.0048 -253 1 24.9847 7.82339 20.9378 4.22697 -3.24249 5.83819 -254 2 25.8484 7.96491 20.5501 0.321651 -0.472163 1.19417 -255 2 24.3689 8.1054 20.2615 1.24569 0.510515 0.168072 -256 1 22.8417 20.1259 4.77636 2.25192 -4.01988 9.51734 -257 2 23.2469 19.2622 4.85416 -0.68369 0.262114 -2.19466 -258 2 23.5617 20.7077 4.53292 -3.57154 0.12694 -5.28692 -259 1 33.531 10.0194 10.4523 2.23865 -9.02086 0.65873 -260 2 32.8869 9.37147 10.7377 3.10392 -2.68693 -2.46734 -261 2 34.0623 10.1885 11.2303 -1.10666 2.12307 -0.551179 -262 1 16.0034 10.0187 6.93969 -0.0157862 1.46394 -2.25462 -263 2 16.3729 10.7237 6.40805 -0.581764 0.322807 1.11678 -264 2 15.0645 10.2033 6.96401 0.984556 0.881953 2.09758 -265 1 29.8073 30.3234 24.4015 -2.98162 4.05797 3.97019 -266 2 29.9402 30.0111 25.2965 4.59268 1.93769 -1.44163 -267 2 29.9351 29.5479 23.8552 -0.962857 0.38951 -0.116666 -268 1 4.63504 9.89981 32.0876 -0.597646 3.76672 -0.607395 -269 2 4.06399 9.66601 31.3559 0.0145483 0.519651 1.75544 -270 2 5.44802 9.4234 31.9193 -1.58937 -1.21179 0.422227 -271 1 32.858 18.7906 15.2586 15.368 -0.368584 -3.67531 -272 2 33.09 17.9392 15.6294 -2.47177 -1.02061 -0.504964 -273 2 33.3912 19.4182 15.7466 1.51076 -2.09783 1.81346 -274 1 0.623382 7.94944 15.2508 3.80799 0.24342 2.82524 -275 2 0.0633951 7.84158 16.0196 0.616825 -0.663036 -0.846482 -276 2 35.5186 8.05521 14.5217 0.292685 -3.688 1.25463 -277 1 2.40678 1.86324 23.9393 7.33346 -1.44995 11.0012 -278 2 2.48578 1.7912 22.9881 -2.26933 0.255389 1.70609 -279 2 2.76086 1.03878 24.2727 0.126448 0.610747 -1.0252 -280 1 35.1333 4.78832 16.9147 -18.0369 0.782922 -7.14109 -281 2 34.7851 5.67886 16.8708 -0.992126 -0.470626 3.57874 -282 2 34.491 4.30485 17.4343 -0.216958 -1.63923 -1.01964 -283 1 0.96815 31.039 15.177 -2.59575 1.20166 1.79468 -284 2 35.559 31.2792 15.3194 1.1809 1.34848 -1.2581 -285 2 1.19767 30.5062 15.9384 0.841992 0.849433 -1.12295 -286 1 2.19584 4.7201 17.0282 18.7205 -1.10406 -0.13592 -287 2 2.34925 5.61815 17.3218 2.89469 -1.14643 -1.40782 -288 2 1.24984 4.67085 16.8907 1.56541 1.99584 2.35003 -289 1 11.3259 9.43872 18.2362 -3.88264 0.0389878 0.0584138 -290 2 11.298 9.65681 17.3046 -1.24279 -1.93525 0.843635 -291 2 10.4494 9.64919 18.5582 -0.344631 -3.84908 0.281424 -292 1 1.17054 29.874 2.31095 2.13019 5.50944 0.52163 -293 2 0.831358 30.5292 1.70118 -0.344656 -0.49626 0.672084 -294 2 2.03768 30.1984 2.55396 -0.0734556 0.913319 0.0850878 -295 1 30.8983 1.46705 1.98029 1.622 4.78186 14.4004 -296 2 31.6371 1.00972 2.38172 -0.0311556 -1.06285 -0.510003 -297 2 30.7157 0.972925 1.18107 0.485102 3.49755 -1.1124 -298 1 5.02918 1.93606 10.3113 11.4394 -3.20201 28.2572 -299 2 4.31926 1.99065 10.951 1.46516 6.05228 1.49628 -300 2 4.59569 2.03046 9.46313 1.15288 -1.38093 1.65567 -301 1 12.0936 2.71745 8.76878 8.49805 -3.46067 13.138 -302 2 11.7642 3.02088 9.61477 0.220384 0.945424 0.25363 -303 2 12.1902 3.51522 8.24872 2.21173 -1.18559 0.759853 -304 1 33.0108 6.97676 32.6955 -5.39336 5.62795 5.2098 -305 2 32.4 6.99323 31.9588 0.303423 2.98326 0.44294 -306 2 33.8734 7.08299 32.2945 -0.112867 -5.59797 0.727311 -307 1 24.1963 6.70858 6.62675 0.879076 0.0982027 -0.983687 -308 2 24.4318 5.9833 6.04821 0.352999 1.10541 -0.37129 -309 2 23.3964 7.07001 6.24502 1.91575 -0.216065 3.33754 -310 1 11.2091 33.6649 13.7407 -6.08425 8.77156 -4.90196 -311 2 11.1256 33.9572 12.833 2.14023 -4.30782 -1.72852 -312 2 12.1306 33.8092 13.9555 0.414871 -5.22416 -0.696513 -313 1 9.04203 20.2545 13.13 -11.6814 -4.34275 -7.95811 -314 2 8.8286 19.4941 13.6708 1.64772 1.25875 2.00469 -315 2 9.25025 19.8872 12.2709 1.63204 -2.13387 1.03075 -316 1 8.42575 16.2928 7.43807 4.27381 -5.07133 -11.2648 -317 2 9.14283 15.7265 7.15276 -0.223023 -1.0138 2.92862 -318 2 7.70404 15.6916 7.62238 -0.390521 1.92201 -3.11575 -319 1 8.18394 30.9543 14.0748 -2.41667 -5.27262 -15.4671 -320 2 7.61392 30.4978 14.6935 1.26892 2.6435 0.282607 -321 2 7.66613 31.7031 13.779 0.517852 -0.171684 0.241652 -322 1 17.7653 27.7195 30.1717 -5.59966 -3.46467 4.68953 -323 2 17.6495 28.6114 29.8441 1.1767 0.00400204 1.62723 -324 2 17.4674 27.7572 31.0806 -0.00179477 -1.83252 -0.125619 -325 1 17.4565 25.8547 16.7851 -0.924208 4.99742 3.12478 -326 2 18.0298 26.5695 17.0618 1.78723 -3.04755 -0.28129 -327 2 17.9684 25.0615 16.9433 -2.11137 -0.526495 -0.247938 -328 1 28.6033 12.4545 18.3091 1.30401 -1.32623 5.99183 -329 2 28.8677 12.5412 17.3932 -6.09413 0.760724 -0.774634 -330 2 28.3247 13.3344 18.5628 0.561944 -2.20607 0.512001 -331 1 20.0362 19.611 21.6134 -13.4793 -19.5824 -2.94183 -332 2 19.2704 19.3962 22.146 -1.65974 0.452498 -2.60353 -333 2 20.5285 20.2383 22.143 -2.66547 0.558464 -2.18073 -334 1 24.4357 31.0837 15.2736 -7.11272 4.40663 -2.01195 -335 2 24.6197 31.0814 14.3343 -0.722228 -2.7073 0.505959 -336 2 23.6441 31.6146 15.3618 1.31075 -1.77272 0.685277 -337 1 14.0307 4.28505 28.2267 3.6145 5.9881 4.95361 -338 2 13.7557 5.01311 27.6695 -1.23453 0.238681 1.38326 -339 2 14.7553 3.8791 27.751 -4.23601 -1.64363 -0.401782 -340 1 3.18443 1.92001 1.25427 -3.2953 14.3493 -3.63966 -341 2 3.90511 2.02168 1.87598 -0.637342 1.43726 -0.0244416 -342 2 2.61932 1.25558 1.6485 2.7296 -3.03416 -2.96996 -343 1 22.5471 23.601 9.46872 7.69607 4.82225 -7.27847 -344 2 22.8393 22.8173 9.00325 3.05506 0.618861 1.11025 -345 2 23.3409 23.9483 9.87554 -1.01519 2.56456 -0.27686 -346 1 6.44242 3.01688 18.8813 1.82273 1.7924 0.410445 -347 2 5.97208 2.73028 19.6641 0.698581 -0.273663 -1.81346 -348 2 5.9178 2.68682 18.1518 -1.05906 2.15457 0.347978 -349 1 12.3141 10.9428 26.1835 2.77889 -16.9609 6.06916 -350 2 11.7911 11.5389 26.7195 1.48107 -0.890573 -0.438788 -351 2 12.5038 10.204 26.7618 2.58289 1.03348 1.72282 -352 1 8.93879 1.71279 18.8111 -4.63544 1.30018 -2.05909 -353 2 9.38423 2.3982 19.3091 3.50858 -3.22624 -4.06656 -354 2 8.08216 2.08568 18.6028 -0.570251 -0.468788 4.26163 -355 1 2.23179 20.2207 0.677379 -8.64361 -7.72747 2.41023 -356 2 1.94019 19.3835 0.316362 0.0914765 -1.12871 1.42597 -357 2 1.49665 20.8154 0.528486 -0.886094 -1.37579 -0.774201 -358 1 32.3482 18.1318 22.3789 0.558177 1.12951 3.49315 -359 2 31.8038 18.8698 22.6531 -0.382097 -0.295343 0.226796 -360 2 32.8285 17.8815 23.1682 0.188179 0.196747 -0.685 -361 1 20.2488 32.1003 18.4895 -14.2425 6.04396 12.8856 -362 2 19.4344 32.568 18.6749 -1.59525 -2.4038 2.46969 -363 2 20.7813 32.225 19.275 -1.94305 -2.80646 1.54529 -364 1 32.4423 13.4881 19.5499 -1.48552 -2.05876 -19.7713 -365 2 32.4655 14.2688 20.1034 1.38911 -1.27458 0.223738 -366 2 31.9988 13.7734 18.7511 -4.15659 0.456242 1.81568 -367 1 35.2698 18.2117 1.39679 -9.31338 -2.25079 -16.8697 -368 2 0.0774076 18.3737 2.28641 4.04563 -5.10782 -1.81823 -369 2 34.5202 17.6273 1.50955 -1.78436 3.10543 -0.930148 -370 1 3.3859 26.4404 7.35643 1.04508 -5.80812 4.88798 -371 2 2.45634 26.3944 7.5801 -0.622699 0.701582 -2.53259 -372 2 3.4738 25.8865 6.58071 1.68108 1.16996 -0.465971 -373 1 15.9435 21.7553 15.768 24.104 -4.31563 10.3878 -374 2 16.5364 22.1083 15.1046 -0.192815 4.85855 2.44345 -375 2 15.2807 21.2786 15.2682 -1.69841 6.3951 -1.01283 -376 1 20.498 23.5729 7.40932 9.51757 2.01359 -2.50442 -377 2 19.7757 23.4786 8.03026 0.221927 -4.54778 -2.54866 -378 2 21.2469 23.8263 7.94899 -1.82273 0.142949 1.81261 -379 1 6.63884 4.33333 1.91475 -15.452 2.83468 -9.69141 -380 2 6.33817 4.88893 1.19564 2.85594 -1.87067 -1.30187 -381 2 7.46593 4.72701 2.19255 -0.936521 -1.25523 -0.056747 -382 1 26.7003 32.8932 9.89209 1.89298 6.32708 1.08491 -383 2 26.6207 31.9398 9.92351 -1.6032 0.81617 0.639698 -384 2 27.3368 33.1035 10.5754 0.827969 -0.69281 -0.566807 -385 1 5.49409 32.6341 12.9276 7.40176 2.39872 1.50516 -386 2 5.69799 33.4612 13.3643 -0.120038 -0.654192 1.92629 -387 2 4.58681 32.4512 13.1718 0.431893 -0.340158 -1.74835 -388 1 3.37321 5.95681 9.99178 1.45489 -4.52468 -1.46946 -389 2 3.97059 6.52252 10.481 -1.68862 0.0234268 0.727212 -390 2 3.44617 5.10368 10.4197 -1.31454 2.07979 1.93758 -391 1 2.62995 9.37933 30.0075 1.85838 -1.67291 -1.09479 -392 2 2.76015 9.85854 29.1892 2.58473 -1.85191 -0.329678 -393 2 1.71864 9.08853 29.9729 -0.242362 3.88792 1.44688 -394 1 0.976039 8.02112 8.99902 5.73753 -0.624598 9.30034 -395 2 1.81032 8.16289 8.55169 -0.965673 -1.99762 -2.13252 -396 2 0.442944 8.77886 8.75846 -1.49315 -2.97558 -4.35998 -397 1 2.73717 11.5335 15.383 16.3922 7.22197 -3.81787 -398 2 3.53088 11.795 15.8498 1.78704 -1.50506 -0.523988 -399 2 2.95475 10.6855 14.9959 -1.35244 -0.289537 0.203787 -400 1 18.3512 23.1702 17.3703 -4.95937 -10.7694 -12.8152 -401 2 17.8222 22.4723 16.9837 -2.04428 1.05664 -1.34106 -402 2 19.0358 23.339 16.7229 -2.69325 -1.34853 0.520452 -403 1 9.13203 4.89942 5.72214 0.239062 -1.22177 11.0193 -404 2 9.74802 5.58289 5.98606 1.20171 -0.498932 -1.82272 -405 2 9.4604 4.10486 6.14294 -1.02005 0.302482 0.646603 -406 1 7.31467 35.3527 12.8609 11.546 -9.36403 9.08963 -407 2 7.71939 35.181 13.7112 1.78824 0.973874 -0.170189 -408 2 6.4036 0.0557527 13.0667 3.43704 4.20229 1.08076 -409 1 0.520361 24.4038 19.6695 -7.48128 12.4677 -11.6493 -410 2 0.794978 23.582 20.0762 0.0760696 1.5804 -1.63398 -411 2 0.273098 24.1594 18.7777 -1.59613 0.629255 -0.102249 -412 1 11.6461 23.418 11.5254 19.3089 -15.7344 -13.4298 -413 2 12.5711 23.6642 11.5243 -0.173102 3.96595 -0.780912 -414 2 11.2137 24.1117 12.0235 -3.8378 -1.73203 -7.52143 -415 1 3.45601 3.18554 19.1271 -2.46962 4.1222 -1.6637 -416 2 3.15792 3.7519 18.4153 -0.842065 -2.18539 -1.11456 -417 2 3.79508 3.78913 19.7881 1.94644 1.26937 -2.4694 -418 1 20.6329 31.6376 26.8968 4.80244 12.8541 12.6069 -419 2 21.2262 31.7764 26.1586 1.14682 -3.64936 1.01608 -420 2 20.8434 32.342 27.5097 2.26883 2.08422 -1.34892 -421 1 27.8714 20.3258 9.33865 -3.3081 -0.804317 5.9965 -422 2 27.0362 20.7175 9.0834 0.487018 -0.540637 -1.72978 -423 2 27.6374 19.6655 9.99095 -1.49585 -0.931242 -1.34209 -424 1 31.2907 11.935 0.403222 -5.16277 -4.03868 -6.95223 -425 2 31.3266 12.0385 1.35412 -0.0314989 0.539472 -0.727772 -426 2 30.3566 11.9522 0.195033 -0.214207 -0.751818 0.000993452 -427 1 21.393 7.42281 2.71191 -5.24456 8.36552 1.80019 -428 2 22.2268 6.95299 2.72748 -2.37431 -0.841254 0.0737861 -429 2 21.0503 7.33297 3.60112 -1.92978 -1.44291 -1.71718 -430 1 20.0182 19.5371 17.1698 4.10963 1.46782 -4.0209 -431 2 19.072 19.4657 17.0434 1.35174 -0.972995 2.81464 -432 2 20.1153 20.0708 17.9585 1.15183 0.710433 -1.62106 -433 1 3.60738 34.6751 24.7187 0.216396 4.58085 -3.75026 -434 2 3.62356 34.5417 25.6664 -1.51956 2.32936 0.038933 -435 2 4.51511 34.5478 24.4429 0.184437 -1.71569 1.29655 -436 1 23.4211 19.5532 18.8954 11.6131 -3.593 -1.24999 -437 2 24.0828 19.0413 18.4303 -2.26588 0.773423 -1.28315 -438 2 23.0598 20.1392 18.2304 -0.15863 -0.444182 2.45498 -439 1 13.0249 3.81722 4.39568 3.56887 -12.4582 -1.3446 -440 2 13.3837 3.13173 3.83212 -1.32684 -0.332106 -0.798633 -441 2 12.9531 4.58307 3.82599 0.613943 0.165888 1.50952 -442 1 15.2865 28.3719 13.0679 -10.2917 7.23825 0.0244674 -443 2 15.6972 28.8248 12.3314 0.212319 0.180989 1.7217 -444 2 14.4299 28.1024 12.7365 0.536309 -0.575973 -0.609846 -445 1 31.0686 4.6397 29.6449 1.43394 2.05487 0.386275 -446 2 30.926 5.35165 30.2686 2.23912 -2.18878 0.563649 -447 2 31.2886 5.08021 28.824 10.088 -3.19924 2.71167 -448 1 18.6711 22.7246 9.2811 1.49922 -10.5913 7.12206 -449 2 19.3914 22.6549 9.90762 0.13932 0.66929 0.369292 -450 2 18.2325 21.8749 9.32414 2.45023 -1.44778 -0.689229 -451 1 20.6767 4.79282 26.4504 -0.590313 -0.952314 -0.968562 -452 2 21.2956 4.87233 25.7245 0.450434 -0.564718 1.45007 -453 2 19.9084 4.37101 26.0657 0.24932 2.5393 -1.1478 -454 1 23.3303 28.5909 34.8777 -2.81343 10.6046 -7.34803 -455 2 22.3866 28.74 34.8206 0.106825 -0.252715 0.87678 -456 2 23.4159 27.6491 35.0256 0.5842 2.04095 4.35992 -457 1 19.3011 32.1582 13.0189 -19.6232 -14.0731 3.58768 -458 2 18.8244 32.2026 13.8478 6.36595 2.94129 4.18185 -459 2 19.6986 33.0238 12.924 1.99286 -3.30428 -4.86621 -460 1 34.7649 20.5 35.2421 1.76199 1.77478 15.1806 -461 2 34.8177 20.2119 34.3308 -3.34859 1.45927 0.784508 -462 2 34.9002 19.7027 0.306946 -0.253 -0.658019 -0.416262 -463 1 13.9835 1.36871 3.22861 6.99391 1.42338 0.122431 -464 2 13.603 0.492216 3.28479 -2.78286 1.80507 -0.282218 -465 2 14.8374 1.28731 3.65357 -0.900388 -3.09043 1.34963 -466 1 24.9654 8.5946 8.51564 1.72964 6.2782 0.705419 -467 2 24.9517 7.91214 7.8446 -2.19037 -1.12406 1.74601 -468 2 25.8931 8.71042 8.72118 0.0737234 -1.99007 0.0117182 -469 1 14.1791 14.8719 29.6206 -0.918442 -10.3852 -4.82433 -470 2 14.451 13.9922 29.882 -0.775842 -0.619118 -0.244396 -471 2 13.2483 14.7844 29.4154 0.438279 -0.104685 0.762058 -472 1 32.488 9.01431 2.57467 11.5904 1.75899 3.61817 -473 2 31.9241 8.88468 3.33717 0.166931 -0.276803 -0.97149 -474 2 32.9484 9.83428 2.75331 -0.929715 0.630808 -0.0765109 -475 1 33.4764 32.1742 27.4714 1.05341 -2.61782 -13.9523 -476 2 33.3729 32.1778 28.4229 -5.2426 -1.12562 -1.9872 -477 2 34.0436 31.4237 27.2945 2.33066 1.11697 1.51862 -478 1 31.0984 6.21906 0.750212 12.3643 -12.4159 -0.421904 -479 2 31.6066 5.85837 35.4709 -0.494525 1.66756 -0.15846 -480 2 31.3572 7.13971 0.790405 -5.68671 -0.551968 -3.21754 -481 1 14.5695 18.7894 19.0871 -1.90796 -3.76053 -3.63924 -482 2 15.4683 18.7669 19.4156 -0.630005 0.263907 -0.375132 -483 2 14.2829 17.8763 19.1093 0.486453 0.766963 0.812827 -484 1 34.1171 15.7715 34.7579 1.56618 7.09269 1.4946 -485 2 34.1309 15.2433 0.108857 -3.94339 -3.20093 -2.32266 -486 2 33.3644 16.3525 34.8677 -0.193311 0.120866 -0.987159 -487 1 27.1796 6.31455 11.1495 -0.266231 -2.83304 -14.9625 -488 2 27.1663 6.88132 10.3783 1.1045 2.84259 1.77445 -489 2 26.8565 6.86858 11.8601 4.07747 -2.36122 -0.139652 -490 1 11.8389 26.7847 35.2847 -1.91829 -6.52206 -2.64155 -491 2 11.0136 26.453 0.191095 -0.549642 1.52125 0.596636 -492 2 12.4367 26.7866 0.585057 -0.447364 -1.41139 -2.15905 -493 1 7.69881 20.7241 27.5003 1.8828 -2.06647 2.71073 -494 2 7.68295 21.6549 27.2778 -1.99637 -1.87466 -3.19419 -495 2 7.81645 20.2787 26.6613 -1.37681 -3.47018 1.76359 -496 1 23.5044 8.78517 32.0302 3.32344 6.36037 2.07369 -497 2 23.2527 8.22132 31.2988 0.253398 -0.0881024 1.23143 -498 2 23.4087 8.23076 32.8046 1.87213 0.687678 -1.19919 -499 1 15.5757 12.9973 12.6037 -5.57599 -4.4579 -12.8095 -500 2 14.8142 13.5229 12.8488 2.90329 4.65698 -2.20035 -501 2 15.4272 12.7735 11.685 0.656589 3.07486 -1.13415 -502 1 11.2997 27.9238 8.68592 3.62424 -8.43873 -8.49129 -503 2 11.6457 27.1285 8.28079 0.771654 0.415271 -0.578333 -504 2 11.2957 28.5704 7.9802 3.63943 0.89983 1.37702 -505 1 15.7631 14.5535 3.49731 -6.85886 2.14874 -12.0003 -506 2 16.0022 15.076 2.73178 -2.52479 1.57515 2.67209 -507 2 15.6107 13.6747 3.1499 0.494254 2.10286 0.205646 -508 1 29.0408 26.8793 19.8513 -5.49056 13.969 -4.6493 -509 2 28.5993 26.7894 19.0068 2.16094 1.85512 0.37728 -510 2 28.9486 27.806 20.0728 -1.16326 0.29917 0.76249 -511 1 28.0287 8.84036 0.368412 -4.82376 -0.0637703 9.78351 -512 2 28.9833 8.90623 0.343309 -1.31513 -0.756137 0.287451 -513 2 27.8204 8.72485 1.29551 -1.01476 -0.0693157 0.347446 -514 1 32.7521 2.39627 21.02 8.00488 -5.51663 5.67018 -515 2 32.2006 1.61423 20.997 0.0566587 1.05481 -1.41139 -516 2 33.6468 2.06065 20.9658 0.272289 -0.0662684 3.3069 -517 1 16.2501 5.40454 30.7319 -10.6043 1.46911 6.06676 -518 2 16.7175 6.23904 30.7691 -4.10224 1.1731 3.32774 -519 2 16.6099 4.962 29.9632 4.76324 0.982963 3.22418 -520 1 28.5802 22.3131 24.2218 2.10409 3.22733 4.27187 -521 2 28.6225 23.0502 24.8311 0.649947 1.43249 -1.91374 -522 2 29.2532 21.7069 24.5314 0.725953 1.52311 1.07467 -523 1 31.7165 17.9817 9.79948 5.89721 -8.24391 -2.31239 -524 2 32.5537 17.6205 10.0908 0.337057 1.53474 0.464249 -525 2 31.1062 17.7736 10.5069 1.79463 6.02692 -0.949074 -526 1 28.8184 33.2418 34.5975 6.42684 -9.17969 -22.3829 -527 2 28.5188 33.9514 34.0293 0.851926 1.3499 1.61506 -528 2 28.338 33.3703 35.4154 6.05313 1.26619 1.43314 -529 1 34.6124 19.7116 32.7122 2.9387 -5.89333 -0.721319 -530 2 34.6267 19.2985 31.8489 1.81217 -3.23088 2.05347 -531 2 33.9386 20.3879 32.6436 2.14753 0.741233 -5.03891 -532 1 17.6895 27.6466 3.22037 10.3042 8.51135 -1.46486 -533 2 18.4438 27.4466 3.77465 -0.59305 1.70352 1.28878 -534 2 17.8365 28.5469 2.93053 -3.05018 -1.08204 1.14552 -535 1 26.688 34.6179 27.4958 6.90214 8.50192 -19.3943 -536 2 26.44 35.4283 27.9407 -3.27192 -2.50748 -0.144205 -537 2 26.6047 34.8206 26.564 -3.13653 1.8516 0.247606 -538 1 21.3295 26.6207 14.5048 6.70822 -2.20352 2.66792 -539 2 20.7459 26.1786 13.8882 -1.37163 3.52334 -0.332461 -540 2 22.1963 26.5547 14.1043 0.192064 -2.84235 0.25139 -541 1 0.363555 14.1675 2.11303 -6.25059 -2.05981 -1.5423 -542 2 0.9324 14.6264 1.49488 -1.74165 1.00595 -0.160775 -543 2 35.1804 13.7879 1.56834 -0.239314 0.577713 2.75664 -544 1 23.7908 1.56977 23.8123 -0.816205 1.39063 0.740525 -545 2 23.0057 1.16548 24.1817 -0.260863 1.94539 -0.274017 -546 2 23.4679 2.09782 23.0821 2.10223 -0.879634 -1.21132 -547 1 8.55211 33.4678 4.50991 12.9856 -6.42546 3.97051 -548 2 9.32851 33.2069 4.01458 -0.818876 0.857663 -2.75803 -549 2 7.84149 33.4507 3.86885 -0.888496 2.40113 2.65811 -550 1 33.9695 22.1742 28.9396 7.32738 -10.1169 -9.0686 -551 2 33.7528 23.0342 29.2996 -3.1884 -3.44281 1.85201 -552 2 34.4899 22.365 28.1592 0.15838 1.97285 1.08942 -553 1 14.4933 4.45192 8.81758 11.5568 2.77541 3.78457 -554 2 14.1841 4.63623 7.93062 -0.591872 -0.790408 1.45674 -555 2 15.3793 4.81325 8.84285 -0.312317 1.61279 -1.00632 -556 1 33.7969 24.0157 9.17998 -0.860672 -12.3168 14.9645 -557 2 33.9536 23.139 8.82927 3.01344 0.158328 0.255365 -558 2 33.5722 24.544 8.414 2.28134 0.00539634 0.928837 -559 1 16.234 19.0059 12.2615 0.112462 -10.8756 3.7563 -560 2 16.8908 18.9843 12.9575 -2.53229 -0.477538 2.24349 -561 2 15.418 18.7538 12.6936 -1.60278 -0.242065 -2.96867 -562 1 31.0089 33.5775 32.251 -6.08024 -4.9206 6.69296 -563 2 30.9159 33.2471 33.1445 -1.01377 0.598589 0.481275 -564 2 30.3001 33.1565 31.7645 2.42064 -2.19834 -0.774328 -565 1 2.09615 7.04206 25.4974 -2.95029 1.66888 1.12805 -566 2 1.37386 7.21121 26.1023 -1.0704 0.813157 -1.41652 -567 2 2.2409 6.0976 25.5546 -1.32486 0.399374 0.122301 -568 1 20.3863 7.66706 35.4487 2.00529 -5.62568 -1.1247 -569 2 20.3751 7.15146 0.807865 3.34321 3.16259 1.68616 -570 2 21.2821 7.58257 35.1222 -1.17467 -0.255137 -2.00875 -571 1 29.2757 19.0355 27.69 12.4492 -5.23436 -9.41886 -572 2 28.4706 18.6154 27.3874 0.176645 2.40036 -2.41706 -573 2 29.9585 18.6868 27.1169 0.286933 -0.867438 -0.0214945 -574 1 13.9396 22.6604 17.387 0.961528 3.84075 8.26404 -575 2 14.768 22.5713 16.9158 -2.94659 0.0446589 -3.3908 -576 2 14.0526 23.444 17.9251 -0.0210095 2.54723 -3.81474 -577 1 25.1254 22.9236 17.5328 -4.2072 -11.6775 1.173 -578 2 24.3238 22.4054 17.604 -1.15035 1.09054 0.507968 -579 2 25.7048 22.5629 18.204 -1.85558 -0.22377 1.57804 -580 1 14.8107 28.3579 3.79288 5.41004 1.08897 3.5082 -581 2 15.7515 28.2829 3.63346 -0.268184 -0.326884 0.247627 -582 2 14.7429 28.6174 4.71173 -0.0160614 -1.18561 0.381478 -583 1 9.41598 1.55951 11.4373 -1.27708 -1.30543 -1.18447 -584 2 9.07006 1.0324 12.1575 -2.01482 1.69029 -0.369165 -585 2 9.03579 1.16939 10.6502 0.662771 -0.875416 0.288418 -586 1 0.58385 35.2913 12.1129 -4.59852 -5.51783 -3.21217 -587 2 0.998386 34.4544 11.9028 0.0502009 0.746187 -3.21713 -588 2 35.3824 35.3755 11.474 -1.03704 0.908107 1.36058 -589 1 25.0004 27.1119 22.8622 -13.2571 -1.66181 -7.51737 -590 2 24.9396 26.6753 23.7118 4.98409 0.805757 0.124312 -591 2 24.9754 28.046 23.0701 5.00974 0.105757 -0.896936 -592 1 28.0962 27.0826 14.3699 9.75909 -4.99327 -3.40396 -593 2 28.1956 26.1355 14.4667 -0.81923 0.593925 -2.48966 -594 2 28.7706 27.3314 13.7379 -0.0317515 -0.23503 0.0672887 -595 1 29.444 8.92761 21.3861 1.50481 -8.93017 6.1292 -596 2 29.8855 9.44577 20.7132 -2.0851 2.43375 2.45504 -597 2 28.8381 8.36871 20.8996 0.44643 3.49538 -0.812548 -598 1 5.82754 14.8939 2.81911 -5.59983 2.76004 10.7496 -599 2 5.68023 14.0084 3.15134 1.85506 -1.47027 -2.8334 -600 2 5.11996 15.0351 2.19011 2.5704 -0.655237 -2.15153 -601 1 31.1105 8.01751 27.8865 -6.5494 -12.9843 8.28162 -602 2 31.4698 8.70389 27.3243 -1.56568 -0.571698 1.23814 -603 2 30.8161 7.33917 27.2787 -1.53479 -0.513772 0.977857 -604 1 24.9252 28.59 25.9654 -5.42324 -2.99608 5.96273 -605 2 25.8765 28.5064 25.9001 -0.101464 2.35665 0.906911 -606 2 24.7824 29.079 26.7758 -1.91588 2.1974 -1.74784 -607 1 34.8618 10.2981 12.8754 -6.03294 -9.82315 5.91867 -608 2 34.62 9.37383 12.934 1.66846 -0.524965 3.68104 -609 2 34.2791 10.7384 13.4941 0.317523 -0.167799 -2.16845 -610 1 10.3162 24.5779 6.57326 -1.56094 -7.98183 6.25629 -611 2 9.44667 24.6657 6.96364 0.985614 2.82514 -0.0705805 -612 2 10.147 24.3987 5.64833 0.163381 3.32176 -0.15988 -613 1 4.30088 0.283364 18.8449 -6.8644 4.78232 -9.13732 -614 2 3.7956 0.986036 19.2538 1.66753 0.890384 0.436428 -615 2 4.34804 0.528123 17.9208 3.86139 1.28596 1.6154 -616 1 8.41821 15.4855 34.9168 1.64855 -0.638461 -5.83869 -617 2 8.57075 16.0913 34.1915 -1.60864 0.518095 0.946156 -618 2 8.05851 14.7011 34.5026 0.352975 0.24098 -0.868061 -619 1 6.18725 7.54332 24.2159 -2.57914 1.32946 0.257693 -620 2 6.02423 8.48096 24.3183 -0.209671 -0.301546 -0.618823 -621 2 6.94523 7.49367 23.6335 1.18408 -0.061398 2.14073 -622 1 1.08592 14.4152 23.7524 6.00274 5.28206 14.9512 -623 2 0.608047 15.0258 23.1911 2.02583 -5.93496 -4.04289 -624 2 0.479964 13.686 23.8844 4.0026 -2.60843 0.599883 -625 1 31.6746 8.22056 14.0861 -10.0186 2.39958 -1.144 -626 2 31.1088 7.81954 14.7459 0.00693743 -0.98606 -0.317934 -627 2 31.361 9.1223 14.0171 -1.06214 0.0184056 1.37046 -628 1 4.32019 13.1655 34.0204 1.45698 -6.33101 11.6555 -629 2 4.89915 13.7806 33.5702 -2.03822 -0.611236 1.14573 -630 2 3.5548 13.0949 33.4499 1.05598 -0.287541 0.805733 -631 1 22.6652 11.9877 8.47553 6.87629 4.72031 7.41651 -632 2 22.5671 11.2066 9.02004 0.248744 -0.407166 -1.3907 -633 2 22.4063 11.7033 7.59901 -1.38341 3.46652 0.726627 -634 1 12.57 8.92618 31.8905 -5.5735 -8.37952 -10.0675 -635 2 12.9683 8.56051 32.6804 0.497007 3.07762 -1.37082 -636 2 12.4409 8.17186 31.3156 2.46302 1.62 -0.466361 -637 1 7.37381 21.6448 6.22012 -6.12579 14.0379 7.33633 -638 2 7.14945 22.4979 5.84839 1.60045 0.951472 3.86764 -639 2 7.30317 21.0364 5.48454 2.20602 3.48273 -1.49842 -640 1 27.012 16.638 8.08604 7.42115 -3.47323 -1.11644 -641 2 26.4249 16.8502 8.81163 -2.32483 1.48305 -3.55121 -642 2 27.3761 15.7826 8.31424 -3.14108 -0.976135 2.14509 -643 1 7.19631 3.79075 31.5904 6.27022 -6.71864 5.57236 -644 2 7.20908 3.74333 30.6345 0.007883 2.98959 0.506436 -645 2 8.10694 3.95604 31.8347 -0.368599 3.41115 0.0311792 -646 1 30.1631 16.2124 7.4475 -5.07716 4.07369 0.661528 -647 2 30.0806 17.1289 7.71122 -1.47852 0.620996 -1.60343 -648 2 29.29 15.9726 7.13678 0.661691 -0.819756 -1.14693 -649 1 10.2181 4.40317 31.8925 -0.932383 0.930783 -2.57327 -650 2 10.6312 4.89156 31.1804 -3.31874 0.342968 -0.704544 -651 2 10.8637 4.41688 32.5991 -1.50209 3.84142 0.0634357 -652 1 27.5055 28.3854 25.6772 15.2262 0.781625 -3.25947 -653 2 28.3671 27.9822 25.7843 0.406487 -0.189089 1.7948 -654 2 27.5734 29.2222 26.137 -0.383396 -0.891831 1.64994 -655 1 19.0548 11.9044 31.2635 -1.49924 -16.0938 16.0943 -656 2 18.278 12.0337 30.7194 1.60015 2.04851 -0.290398 -657 2 18.7096 11.6346 32.1145 -2.50396 -2.7008 -0.71459 -658 1 3.86829 28.0986 13.0251 -8.88494 20.506 -2.24887 -659 2 4.48938 27.4844 12.6336 -2.77072 -3.10086 4.10107 -660 2 3.80929 28.8154 12.3935 6.75996 -0.56643 0.252764 -661 1 26.5989 23.341 29.5583 10.1106 -5.00147 5.08156 -662 2 25.8179 23.605 29.0719 1.03155 0.176755 0.313586 -663 2 26.739 22.4273 29.3098 3.0246 2.44074 -1.50213 -664 1 27.6953 7.41221 19.8629 -1.30025 3.73685 -8.38598 -665 2 27.8011 6.61011 20.3744 -1.90562 1.30371 -0.183769 -666 2 27.2997 7.1222 19.0409 1.36775 1.39393 -1.00924 -667 1 20.0533 4.55795 1.84261 7.22428 2.40301 3.70219 -668 2 19.1372 4.42261 2.08475 -0.400473 1.96223 -3.73638 -669 2 20.387 5.16994 2.49861 -1.94327 1.51343 0.137945 -670 1 32.6071 15.4752 21.2995 -5.91183 8.22589 6.98481 -671 2 32.4285 16.4031 21.4518 0.346947 0.258797 1.63333 -672 2 32.5913 15.0814 22.1718 -2.33312 -0.847998 -0.394008 -673 1 29.0544 5.06448 32.5335 0.595357 9.51656 1.52449 -674 2 28.1825 4.93011 32.162 0.386468 0.677 -0.128446 -675 2 28.9332 5.75284 33.1874 -0.0493197 -3.41456 1.71749 -676 1 18.3053 3.04581 8.64569 -10.7406 0.946939 -3.19733 -677 2 18.0242 3.96078 8.64788 -2.20562 -0.435996 0.89925 -678 2 17.5385 2.55982 8.3424 1.10413 -0.303243 -2.54057 -679 1 34.7305 1.9173 8.11838 3.01631 -7.00668 -11.9442 -680 2 35.3311 2.23212 7.44274 -0.519048 0.195859 -0.860094 -681 2 34.6269 0.984264 7.93148 3.98188 -0.648897 1.2795 -682 1 20.9496 29.3104 14.6892 -3.70179 3.33217 3.77515 -683 2 21.1509 28.3804 14.5859 -0.506779 1.88547 -2.17469 -684 2 19.9969 29.3415 14.7761 1.26672 1.35164 -4.74743 -685 1 31.9093 26.1979 33.5435 5.8537 -2.47937 -18.9022 -686 2 32.2876 27.0747 33.4779 -0.35563 -0.0340489 2.33841 -687 2 31.8752 26.021 34.4836 -3.70334 -2.04476 -1.873 -688 1 2.9736 9.05146 14.3062 2.19599 -2.30297 -3.99016 -689 2 2.8398 8.90967 13.3691 -1.20179 0.358292 0.773672 -690 2 2.15931 8.75466 14.7125 1.92027 -0.439365 0.51019 -691 1 34.2421 3.69258 9.97318 -9.24712 4.42745 -0.146502 -692 2 34.5516 3.03765 9.34748 -2.5003 0.669663 -0.865995 -693 2 33.2879 3.62583 9.93819 -0.325589 1.34622 2.80943 -694 1 19.8463 0.146468 18.9028 -5.82595 -8.64354 -11.8952 -695 2 20.6351 0.687189 18.8624 -0.385776 -3.00728 0.414895 -696 2 19.1237 0.773588 18.8739 0.297834 -0.280708 -1.54633 -697 1 32.2566 30.8307 10.9245 1.9182 -8.08889 -8.37295 -698 2 32.6124 31.6594 10.6036 -0.67285 0.0188545 1.37469 -699 2 32.9253 30.4983 11.5233 -0.60072 -1.0408 -0.364989 -700 1 27.0164 17.9458 11.2306 29.3941 5.4327 18.0331 -701 2 26.8549 18.3628 12.0769 0.436708 0.120834 0.902788 -702 2 27.9702 17.9002 11.1637 1.24744 1.38009 2.23159 -703 1 20.2276 35.2413 14.5847 -6.38363 4.21045 -6.3748 -704 2 20.5897 34.942 13.7507 -0.946295 -1.58315 0.467771 -705 2 20.5096 34.5822 15.2191 0.552104 2.65704 0.197085 -706 1 28.1335 28.8742 1.33585 -17.9446 -4.44271 7.6833 -707 2 27.5222 29.2604 0.708656 1.69257 3.84862 2.08503 -708 2 28.8679 28.5731 0.800859 2.88528 6.54779 2.79293 -709 1 19.0579 9.09327 19.7905 -0.924494 0.415639 0.758809 -710 2 18.1016 9.1349 19.795 0.755584 -0.638899 -1.26678 -711 2 19.3372 10.0032 19.6897 -0.41003 0.224577 0.865792 -712 1 28.9062 11.685 7.13595 -15.8028 12.0419 -10.8777 -713 2 29.7558 11.7798 6.70539 0.941726 -3.74856 4.05338 -714 2 28.3932 11.1419 6.53758 -0.416183 1.13666 0.369734 -715 1 15.6796 27.8051 20.409 -4.30862 8.99812 1.76111 -716 2 16.0055 28.5046 19.8426 0.0658771 -0.608898 -0.0431367 -717 2 16.4247 27.2131 20.5121 -2.55065 -1.78559 -2.97347 -718 1 11.4669 8.69535 1.7881 3.54567 -6.70503 -14.197 -719 2 10.6677 9.13781 2.07408 1.62169 0.639925 0.837299 -720 2 11.181 8.11651 1.08139 -0.720094 -0.204453 0.962196 -721 1 35.2897 10.2863 26.2119 4.12582 6.84814 -3.0773 -722 2 35.2518 9.49778 26.7532 -1.85243 0.132487 -1.42403 -723 2 0.369646 10.8754 26.6866 0.692651 -1.59346 0.99278 -724 1 15.127 29.3401 22.7028 -1.22894 -7.21841 -4.94819 -725 2 14.233 29.681 22.6765 1.25715 1.15531 2.7638 -726 2 15.1711 28.7255 21.9702 -2.05708 2.0103 -2.41298 -727 1 26.3495 6.84339 25.1733 2.22474 4.34196 -5.42501 -728 2 26.0131 7.59501 24.6853 -2.12949 -2.27416 1.37751 -729 2 26.2031 6.09588 24.5936 1.37698 0.744542 -0.0605856 -730 1 17.8747 33.0766 31.3368 -4.46865 10.3686 0.32797 -731 2 18.2301 33.7802 30.7937 -0.355211 0.357844 -0.445013 -732 2 17.6073 33.5106 32.147 1.72848 0.757838 0.649591 -733 1 3.45284 32.2318 21.0708 2.99049 -2.38264 10.4642 -734 2 2.9913 32.5369 20.2897 3.33045 1.23759 0.0991466 -735 2 3.41787 32.9732 21.6752 -0.938543 -0.814509 1.09571 -736 1 34.6932 28.2428 9.5684 2.1398 5.67268 -7.27178 -737 2 33.8722 28.2955 9.07907 -2.4346 0.378912 5.92242 -738 2 35.026 29.1403 9.57611 -2.28024 0.575748 3.84267 -739 1 11.8368 33.7717 34.9745 6.7257 -5.48874 0.0622548 -740 2 12.7371 33.729 34.652 0.520141 -0.703576 0.541759 -741 2 11.6253 32.8699 35.2158 -0.102979 -0.288651 -0.206856 -742 1 27.9876 23.6391 17.2843 4.2527 4.80622 -1.904 -743 2 27.3196 24.2059 17.6699 2.42824 2.89254 -0.549716 -744 2 27.824 22.7785 17.6702 -0.193594 2.38761 2.30631 -745 1 30.2156 28.5996 35.3164 13.208 0.187617 -5.75936 -746 2 31.1094 28.3726 0.125881 -1.47113 -4.62885 2.07286 -747 2 30.1952 28.4605 34.3696 1.46371 0.0797129 0.287279 -748 1 21.8931 27.3718 7.15006 -1.7779 -0.164471 1.53479 -749 2 22.4329 28.0093 7.61746 -1.8107 0.406661 -0.37565 -750 2 22.522 26.7616 6.76473 0.855512 1.50878 0.399324 -751 1 1.75464 32.9681 9.67687 -3.45906 -2.79051 0.874438 -752 2 2.24229 33.084 8.86139 -3.23062 -1.10111 -0.0597052 -753 2 2.25929 33.4537 10.3294 0.276254 1.02643 -1.43296 -754 1 0.204776 25.6965 3.19375 1.36017 -11.3926 -2.51395 -755 2 0.740405 26.3727 3.60847 1.97185 0.15522 -4.51441 -756 2 0.807961 24.9673 3.04982 -1.78998 -1.81678 0.150586 -757 1 13.8908 31.5112 7.2093 -4.25783 9.6193 0.327517 -758 2 14.5208 30.7998 7.09398 -2.4872 -0.414508 -0.234897 -759 2 13.6443 31.7602 6.31854 0.499774 1.18747 0.138962 -760 1 1.19257 17.2315 10.1724 4.01387 -13.8147 7.04449 -761 2 1.83915 16.535 10.2865 2.04963 0.996736 -0.620844 -762 2 1.4596 17.6774 9.36858 -1.36246 1.05917 1.15977 -763 1 26.3983 29.9729 16.7961 1.54086 -1.3537 -0.476481 -764 2 25.6109 30.232 16.3175 1.00484 3.11554 0.811359 -765 2 27.0297 30.6689 16.6138 1.70043 -1.44863 1.94541 -766 1 6.05025 32.3938 30.1849 6.17697 -3.72403 6.84415 -767 2 6.80649 32.728 30.6672 0.860386 -1.655 0.566707 -768 2 6.42365 31.998 29.3975 -0.373442 -0.344908 0.255516 -769 1 26.1115 21.6673 1.3012 7.12165 -5.40928 -3.64136 -770 2 25.6609 21.8616 2.12305 -0.540892 -1.83053 -1.03408 -771 2 25.6039 22.1295 0.634127 0.0537422 -0.954958 0.0841886 -772 1 17.4459 21.3013 6.11685 1.78239 0.181429 2.56524 -773 2 17.3636 22.2363 6.30487 -1.39352 -1.1471 -0.339725 -774 2 17.4351 21.2469 5.16126 0.0922605 -1.95764 1.09362 -775 1 28.4195 27.0911 17.1251 0.678339 -2.91075 1.24681 -776 2 29.3029 27.3259 16.8412 -0.362192 2.77564 1.74486 -777 2 27.8881 27.1525 16.3313 0.283859 1.18249 1.25909 -778 1 31.3012 34.7157 13.4417 -3.06609 -6.0331 12.8699 -779 2 30.9535 34.8442 14.3242 3.16677 -1.95228 0.902964 -780 2 31.3147 33.7657 13.3251 0.457325 0.814418 -1.48046 -781 1 17.8283 30.3749 2.81217 11.1034 -0.54637 -4.59472 -782 2 18.7188 30.6217 2.56249 -1.7505 -0.465613 -1.79537 -783 2 17.2655 30.9475 2.29108 -1.65554 -1.8943 0.554334 -784 1 21.2134 4.8843 14.5638 16.6109 -17.1721 28.0077 -785 2 21.2778 5.63444 15.1548 -0.658846 -1.64915 2.51101 -786 2 20.9765 5.26482 13.718 -3.9094 -1.58545 3.59177 -787 1 2.58032 4.48009 29.5844 -7.63806 1.10318 -0.00169331 -788 2 1.84483 3.96528 29.2523 0.706097 3.75402 -2.25857 -789 2 3.05925 3.87606 30.1518 -4.492 2.02049 4.27185 -790 1 14.0037 19.8262 25.1957 10.4219 -6.88538 -5.74017 -791 2 13.5836 20.1344 25.9986 -1.16381 -0.477683 -1.52352 -792 2 14.9285 20.0456 25.3091 0.449756 -0.939857 2.15512 -793 1 31.2388 21.2715 20.2169 -0.978942 -14.3411 7.7303 -794 2 31.0148 22.0257 19.6718 4.05201 -4.13714 -5.50188 -795 2 31.7411 21.641 20.9431 -2.18941 2.22165 -0.114837 -796 1 5.99108 23.613 29.5076 2.20651 -2.158 5.73083 -797 2 6.93723 23.4783 29.454 0.453286 3.52709 0.775664 -798 2 5.79582 24.2282 28.8008 -1.39296 -2.47047 -0.205965 -799 1 34.9823 3.70887 28.218 -7.42252 8.93455 -0.990117 -800 2 34.3991 2.96677 28.0588 1.78363 -1.38487 2.18174 -801 2 0.268119 3.50226 27.7219 1.57212 -0.347883 3.96058 -802 1 23.905 26.4033 10.4361 -4.99275 -0.632022 -9.39197 -803 2 23.196 27.0453 10.4738 1.97109 2.49298 -0.28063 -804 2 24.5764 26.8186 9.89483 1.47483 -1.94104 0.15074 -805 1 24.6685 14.2148 8.74888 0.490576 -1.08209 -10.1909 -806 2 25.5156 13.8043 8.57526 -0.714151 0.860405 -0.0223568 -807 2 24.0252 13.5444 8.51884 1.6899 -0.559991 2.99971 -808 1 26.7588 32.328 18.5961 -9.88326 7.15566 7.66545 -809 2 26.9994 33.224 18.3605 -3.588 2.03285 5.28261 -810 2 25.8034 32.3135 18.5408 0.520015 -4.83521 -3.04287 -811 1 15.8178 4.45394 25.2923 -7.79911 14.9462 -4.79541 -812 2 15.0322 4.41122 24.7471 0.822951 0.71047 -1.77631 -813 2 16.0255 5.38705 25.3412 -0.333557 -0.069973 0.788481 -814 1 19.1809 10.067 23.1841 4.47504 2.70061 8.17267 -815 2 18.8741 10.7191 23.8141 3.79214 -0.686846 1.30661 -816 2 20.1161 10.2469 23.0886 -1.47128 -3.43001 0.964128 -817 1 16.9222 8.81535 1.40159 1.11574 5.51973 1.7043 -818 2 17.443 8.47992 0.671935 -1.63985 -1.40282 0.356451 -819 2 16.0665 8.39936 1.29681 1.44643 -2.08056 4.69763 -820 1 22.3983 16.3017 33.0868 12.2723 10.2759 4.52391 -821 2 21.6828 15.7193 32.8314 2.71963 1.43165 -6.9005 -822 2 22.9082 15.7933 33.7174 -2.37334 -1.3664 -0.370885 -823 1 8.68233 34.4854 6.98831 -9.7051 -3.27958 -5.92687 -824 2 9.57728 34.4164 7.32079 -1.47786 -1.83561 0.638748 -825 2 8.75931 34.3015 6.05209 0.558767 -0.582056 0.327442 -826 1 23.9504 6.80165 13.7007 -16.785 -6.31991 0.984633 -827 2 24.0053 5.8461 13.7126 -4.24613 -0.168663 -0.545233 -828 2 24.0238 7.05771 14.6201 2.52793 -0.222877 -1.18707 -829 1 9.00961 30.1242 34.4123 -4.27587 5.41846 11.1091 -830 2 8.35755 29.4249 34.3668 3.36005 -1.91259 3.54475 -831 2 9.65661 29.8927 33.746 0.298694 -0.556363 2.1198 -832 1 26.454 33.5568 7.08081 15.2613 0.494126 18.4802 -833 2 25.8052 32.958 6.71108 -0.415725 2.75231 -0.515271 -834 2 26.4642 33.3521 8.01581 -0.0157164 -1.76267 0.527178 -835 1 30.8871 23.1896 18.3992 -8.25913 13.9675 -4.99826 -836 2 29.9833 23.2292 18.0863 0.615221 0.774556 -2.52108 -837 2 31.4165 23.1711 17.602 1.55419 -1.80827 1.25911 -838 1 10.5268 12.5434 34.908 -10.8736 -5.90294 20.6677 -839 2 11.4058 12.1758 34.9997 -2.59425 -1.2223 1.37599 -840 2 10.516 13.2916 0.057822 1.10212 1.4047 -1.21476 -841 1 3.63297 19.4314 9.71344 13.7626 11.0083 -7.25409 -842 2 3.01725 19.227 9.00964 0.607175 0.501317 1.22175 -843 2 4.48397 19.488 9.27889 -0.71312 1.94194 -1.33876 -844 1 24.5544 32.6989 5.53846 -13.5656 -3.21901 -13.5335 -845 2 25.0445 32.3281 4.80463 -0.198621 -2.58559 1.16942 -846 2 23.7009 32.2674 5.49958 0.761127 -1.64249 2.29822 -847 1 11.8092 0.446084 5.96109 7.63818 -9.67527 3.05556 -848 2 11.4356 35.4153 6.65981 -0.693046 2.58685 1.73292 -849 2 12.7327 0.536988 6.19588 -0.896521 2.16961 2.02876 -850 1 7.05982 31.924 0.313227 8.16613 0.0544357 -3.14849 -851 2 7.51797 32.7644 0.302398 0.374268 -0.149748 0.450227 -852 2 7.60883 31.3445 35.2322 0.00783651 0.204646 0.595802 -853 1 4.87712 2.45099 3.2103 3.22154 0.565306 11.5681 -854 2 5.1171 2.28281 4.12154 -0.150093 -1.39136 0.193859 -855 2 5.18989 3.33944 3.03982 1.62839 -0.298584 1.74792 -856 1 7.47702 15.1494 10.2914 -5.47325 -1.55438 6.53866 -857 2 7.03069 15.8948 10.6931 1.33627 1.66494 -2.26695 -858 2 7.08667 15.0769 9.42043 -1.53852 -3.18225 2.24385 -859 1 6.26198 26.9056 24.5482 -8.59015 -4.90367 -11.0347 -860 2 5.56016 27.0785 25.1757 -0.022373 0.699909 -0.692928 -861 2 6.33876 27.7161 24.0447 0.388205 -1.53808 0.379158 -862 1 7.15043 18.1988 25.5502 1.97087 -4.41344 3.52421 -863 2 6.51258 17.8342 26.1637 -0.0501158 0.892358 0.381078 -864 2 7.46953 17.4424 25.058 -1.24096 0.130871 -0.252243 -865 1 15.2346 32.9183 4.26158 7.62632 4.14162 1.05113 -866 2 14.3137 32.8339 4.50878 0.964362 0.709243 -2.53528 -867 2 15.2754 32.5777 3.36796 2.63011 0.0325706 0.262083 -868 1 13.9003 29.6953 15.3271 -2.9226 -0.161324 -3.65308 -869 2 14.4226 29.057 14.8412 -2.58159 2.37199 -1.66209 -870 2 13.2664 29.1671 15.8123 2.40351 -0.365244 2.43418 -871 1 0.239233 14.7762 15.9996 -20.5469 23 28.2465 -872 2 35.1523 14.0524 16.2007 2.75684 0.778005 1.3174 -873 2 35.1804 15.5481 15.9679 -1.52974 0.300683 -1.06901 -874 1 9.98974 25.2291 12.2643 -21.3325 18.1189 5.93291 -875 2 10.0556 26.0845 11.8397 -0.371119 0.775272 1.5155 -876 2 10.1747 25.4043 13.187 2.25837 0.200368 -0.527085 -877 1 21.4671 13.2091 15.0149 11.5092 -10.3064 7.25368 -878 2 21.7845 13.1314 14.1153 -0.130653 1.05219 0.0356988 -879 2 20.5349 12.9987 14.9595 1.22841 -2.0453 1.23938 -880 1 31.1065 22.9962 9.65247 -3.22868 4.41444 8.04541 -881 2 30.4319 23.5401 10.0591 2.21392 0.0864726 1.46667 -882 2 31.9318 23.4155 9.8959 0.680104 0.897967 -4.18554 -883 1 13.2583 9.90624 3.34279 6.85003 9.5915 1.75346 -884 2 13.6652 10.6316 2.86889 -0.0908223 0.0588134 -0.563914 -885 2 12.6387 9.52906 2.71825 2.65167 -0.478626 1.56622 -886 1 10.3071 4.65074 17.6392 -2.97127 5.71213 -12.7341 -887 2 10.5089 4.30382 18.5082 -1.7479 -2.19821 -1.77883 -888 2 11.1452 4.6423 17.1768 -0.562846 -1.75802 0.572138 -889 1 28.8785 21.4736 33.7528 4.20895 8.37446 -9.49764 -890 2 28.5983 20.77 34.3383 -4.75236 2.66363 -1.49688 -891 2 28.6683 21.1537 32.8755 0.483209 3.54062 0.235375 -892 1 17.6802 22.5275 26.0501 9.95684 -1.37522 9.79687 -893 2 18.3844 23.1757 26.0447 -0.163737 0.345415 -1.16609 -894 2 17.69 22.1698 26.9379 1.4168 1.96442 1.42528 -895 1 35.3295 15.3622 21.6118 0.814845 10.8359 -7.99854 -896 2 34.4205 15.3937 21.3137 -0.121348 -0.316346 0.856637 -897 2 0.305356 14.9913 20.8728 -1.92359 -0.853623 0.387732 -898 1 34.8119 9.9125 7.87572 -4.11235 13.8645 1.67449 -899 2 34.3441 10.3796 7.18343 -0.201097 0.370967 -0.215983 -900 2 34.3912 10.2003 8.68594 -2.90774 -2.46392 -0.542342 -901 1 25.9855 17.7266 34.7681 -2.38058 5.81205 -3.64555 -902 2 25.4597 18.3715 34.2949 -2.00986 -2.06434 0.657588 -903 2 25.3666 17.0327 34.9955 1.99008 -0.401705 2.28697 -904 1 1.1053 14.4509 19.286 -1.65239 5.30578 -7.32113 -905 2 1.57885 13.7271 19.696 -1.4056 1.09553 0.919251 -906 2 1.73596 14.8363 18.6778 1.04276 -2.20356 1.0866 -907 1 23.0751 7.38903 29.7282 -1.94613 -6.44395 7.63198 -908 2 22.6505 7.26836 28.8789 2.63821 -0.365156 -0.555244 -909 2 23.2305 6.50006 30.0473 0.295208 0.621698 0.633405 -910 1 10.5172 33.0499 2.5668 -6.44514 -9.37624 1.85866 -911 2 10.8284 33.9396 2.39986 1.1147 -1.97234 1.94928 -912 2 10.8574 32.5354 1.83489 -2.16127 0.68007 -0.217623 -913 1 32.8792 27.871 13.0461 -7.40126 -10.537 0.491139 -914 2 33.4649 28.4854 12.6038 -0.91222 1.12148 1.93551 -915 2 33.1369 27.0115 12.7128 2.16008 0.463611 -0.300406 -916 1 28.8689 12.2189 3.75837 17.1988 11.3541 -15.533 -917 2 28.5486 11.5178 4.32597 -3.757 2.9122 -1.18473 -918 2 28.2558 12.2315 3.02334 1.77794 4.57089 -1.215 -919 1 23.1241 7.49412 34.3894 -9.88396 -1.58608 9.6826 -920 2 23.0875 7.77884 35.3026 2.88505 5.27029 -0.943563 -921 2 23.9082 6.9474 34.3397 -1.70843 0.341585 0.277899 -922 1 23.0515 24.1243 3.44044 13.1151 1.09212 -4.41551 -923 2 23.1775 24.9192 3.95866 1.65731 -1.44767 0.733747 -924 2 22.4488 23.5922 3.9599 5.06065 -3.28527 0.378437 -925 1 32.9264 24.0008 30.5652 -1.92969 4.12307 -2.77763 -926 2 33.6583 24.5475 30.8511 -2.42043 -0.45685 4.03365 -927 2 32.1835 24.6022 30.514 -0.137016 -0.608082 3.0046 -928 1 3.45599 11.7491 10.9314 10.4183 -2.84831 1.45042 -929 2 2.67255 11.8758 11.4666 -1.67862 0.713006 -3.55986 -930 2 4.06349 12.4252 11.2314 -0.516532 0.0700833 1.87725 -931 1 18.0366 4.40471 5.24781 2.58042 -11.0824 -1.78529 -932 2 18.4845 3.56079 5.18918 -0.28112 0.441872 1.99901 -933 2 17.1802 4.19646 5.62132 1.13501 -1.20967 -0.189733 -934 1 21.9199 10.6731 23.0084 0.365904 6.12722 -1.25848 -935 2 21.5542 11.4517 23.4282 1.87637 0.976659 0.256827 -936 2 22.8641 10.8299 22.993 -1.04692 -2.19886 -2.15146 -937 1 27.4279 31.4892 23.7652 -1.35614 3.90524 5.73694 -938 2 27.8112 32.2004 23.2519 -3.07679 0.240047 -1.48385 -939 2 28.1805 31.0284 24.1361 1.36139 1.49383 -2.37626 -940 1 31.1291 15.0522 2.14682 4.07418 12.19 -2.91994 -941 2 31.3569 14.305 2.70001 -1.71985 -2.10378 -3.75783 -942 2 30.5984 15.6151 2.71049 -3.07124 -4.25702 0.0759651 -943 1 26.4819 26.4635 29.2371 -5.55747 -3.15814 1.51615 -944 2 26.2636 27.3302 29.5798 -2.43995 0.997149 -4.34783 -945 2 25.6391 26.0159 29.1618 0.759839 -1.83796 0.0196529 -946 1 31.2231 24.1827 24.5825 0.668516 3.37323 -7.49659 -947 2 31.2495 25.0894 24.277 -1.23716 -0.0568031 -0.612805 -948 2 31.4433 23.6626 23.8097 -2.16984 0.287856 -0.842212 -949 1 2.23494 8.39997 11.7038 -1.07096 3.18645 -7.91655 -950 2 2.20931 7.46595 11.9116 0.512227 1.68043 2.53768 -951 2 1.7129 8.48269 10.9058 1.23752 -1.26548 -0.792511 -952 1 10.3 13.6909 7.45672 3.48271 12.99 4.45395 -953 2 10.0096 13.2306 6.66933 3.1851 -2.81438 2.7756 -954 2 10.9602 14.3092 7.1435 0.879723 -3.75474 -2.08828 -955 1 19.1012 27.2712 33.962 0.859966 -5.26038 0.00912596 -956 2 18.3308 27.6171 33.5114 -1.67668 -1.89967 1.93105 -957 2 19.376 27.9788 34.5451 0.369945 -0.116617 -1.31671 -958 1 21.9793 20.9172 33.61 -0.2697 4.05844 -0.81161 -959 2 22.1177 21.6676 33.0321 -1.20275 -0.45485 0.961878 -960 2 21.8831 21.3003 34.4819 0.37651 -1.39348 -0.511266 -961 1 8.05848 10.6148 31.6623 0.309139 -0.5612 0.771344 -962 2 8.40211 9.72846 31.7741 0.835138 0.137303 -1.17245 -963 2 7.50301 10.5606 30.8847 0.7 0.642883 -0.342158 -964 1 9.09722 18.3264 0.850838 0.921404 -4.8852 -0.591393 -965 2 9.36736 17.9882 1.70458 -1.66308 3.52202 -0.465673 -966 2 8.8156 17.5519 0.364033 -0.376267 2.5005 -0.666062 -967 1 13.2543 25.9751 14.21 3.66876 5.25566 -6.43392 -968 2 13.5184 26.1778 15.1075 4.46846 -2.69915 -2.36647 -969 2 12.3655 25.6298 14.2936 0.989876 0.093166 3.78898 -970 1 33.1402 9.19669 24.0632 8.62539 2.96225 -27.3181 -971 2 32.693 9.79381 23.4635 -0.160159 -0.119383 -1.11725 -972 2 34.0701 9.31189 23.8675 0.275043 -0.223416 -2.5497 -973 1 0.582484 30.8006 7.11057 -15.9209 5.64454 -0.552312 -974 2 0.16146 30.8929 7.96524 1.02162 1.57604 0.603476 -975 2 1.20235 30.0802 7.22496 0.731033 2.02029 -0.26031 -976 1 16.6056 24.0039 6.45517 1.58102 2.01032 -0.209196 -977 2 16.7527 24.5997 5.72062 -1.31219 0.808301 0.809874 -978 2 16.7378 24.5452 7.23346 -0.870702 -0.33848 0.48891 -979 1 21.7788 18.2334 15.3006 -1.10516 0.177375 4.33381 -980 2 21.2844 17.414 15.2842 2.63986 -1.57114 0.744139 -981 2 21.4693 18.6847 16.086 -2.83589 -0.0888003 -1.23499 -982 1 1.07405 17.9077 22.5065 -13.7562 2.15816 -7.90545 -983 2 0.717523 17.1347 22.0688 -1.35337 0.670309 1.79359 -984 2 1.95443 18.0044 22.1434 1.01162 -3.80271 6.67723 -985 1 8.51637 8.69022 13.4495 0.516471 3.2135 14.5379 -986 2 8.02789 8.05013 12.9319 2.95095 0.142212 -1.33087 -987 2 8.12989 9.53388 13.2147 0.850681 -0.0258318 -1.06011 -988 1 28.355 22.6813 2.57923 -9.10787 -19.1853 -4.11436 -989 2 27.7805 22.2817 1.92614 -3.80403 0.223936 3.62752 -990 2 28.7009 21.9419 3.07912 -3.0699 -1.32209 -1.79037 -991 1 17.1494 8.00605 31.3315 -3.79617 9.97543 -3.90521 -992 2 16.7837 8.46458 32.088 -4.86097 -2.50552 -1.29184 -993 2 16.9618 8.58034 30.5891 -5.75721 -2.69167 -0.824764 -994 1 29.3688 32.2879 30.4114 5.21045 -13.6556 0.41496 -995 2 28.613 31.7986 30.7364 1.68526 -2.13682 0.697675 -996 2 29.3242 32.1942 29.4598 -2.98689 2.52559 1.08257 -997 1 35.3007 34.4984 31.3042 2.55575 15.0193 -4.65081 -998 2 0.502159 34.8439 31.8482 -0.163288 5.49552 -3.3491 -999 2 34.513 34.9332 31.6307 0.0262034 0.776608 -1.87328 -1000 1 14.098 2.1335 18.0845 1.67442 -6.17995 1.11332 -1001 2 13.8599 1.5091 17.3992 -0.101339 -0.777558 0.783385 -1002 2 14.0564 1.62698 18.8957 -3.17157 1.94372 1.01733 -1003 1 23.7463 3.68797 32.9572 2.89417 0.439725 5.07309 -1004 2 23.6107 3.89139 32.0318 0.784306 -2.13734 -0.018941 -1005 2 22.8968 3.85293 33.3662 0.108705 -0.929859 -0.907845 -1006 1 31.095 21.564 28.0747 3.57491 -2.07699 -5.07625 -1007 2 31.8312 21.1945 28.5623 0.103021 2.19218 -0.247774 -1008 2 31.3861 22.4423 27.8295 -3.63277 1.50654 2.62633 -1009 1 20.6388 15.6961 14.8235 0.740236 8.30795 -7.31642 -1010 2 20.0535 15.8194 15.5707 1.58372 1.35362 0.442957 -1011 2 21.0802 14.8651 14.9989 -2.15295 -0.138047 -3.00885 -1012 1 20.2886 15.1408 31.9396 -8.59911 -6.60832 -2.01982 -1013 2 20.5926 14.3874 31.4334 1.1122 1.46081 1.46897 -1014 2 19.3474 14.9987 32.0397 -0.531595 0.292663 -2.95284 -1015 1 32.4772 33.0516 7.41771 -1.06495 7.81374 4.10713 -1016 2 31.5311 33.0941 7.55641 0.392316 1.51321 -2.32768 -1017 2 32.6777 32.1156 7.41665 -2.45116 0.444671 -1.76406 -1018 1 25.6318 27.7599 13.6223 -11.7453 5.92874 -3.47886 -1019 2 26.5207 27.4796 13.84 -0.847114 0.666326 -0.217674 -1020 2 25.1735 26.9506 13.3961 0.806733 0.948756 -1.55053 -1021 1 0.749179 4.34026 20.9761 0.36129 0.337454 -0.0435254 -1022 2 0.741418 4.49244 20.0311 -0.878137 -0.470793 0.410183 -1023 2 1.06092 5.1647 21.3494 -3.36576 0.528334 0.362277 -1024 1 1.15402 21.0969 13.1843 -1.71412 6.6269 -8.74155 -1025 2 1.14321 21.4728 12.3041 2.47914 -2.11123 -1.56905 -1026 2 1.21652 20.1525 13.0412 0.440485 0.427739 2.16536 -1027 1 8.6325 29.6658 25.4263 -6.67403 2.37725 2.35468 -1028 2 8.28422 30.329 24.8304 0.822107 -1.62717 -1.07589 -1029 2 8.72312 28.8812 24.8856 -0.204939 -0.0268692 2.03587 -1030 1 30.7606 20.6341 25.1537 -3.54425 2.37055 8.45768 -1031 2 31.5065 20.8915 24.6118 0.208588 -2.82407 1.58924 -1032 2 31.0236 20.8589 26.0462 0.199644 0.110335 -0.422102 -1033 1 4.24459 30.7927 2.94419 -5.73888 0.448207 -3.41699 -1034 2 4.17765 31.3338 2.15744 4.56731 -1.22206 -1.42565 -1035 2 4.36847 29.903 2.61371 -0.0600479 -0.357315 2.23115 -1036 1 15.4286 29.3517 26.2541 -0.34126 -10.3518 -3.47102 -1037 2 16.2287 29.2603 25.7367 -1.46617 0.521017 0.0597372 -1038 2 14.7769 28.8335 25.7818 0.668807 0.26784 -1.1244 -1039 1 15.4887 26.9032 10.3573 6.84261 -6.99284 0.304499 -1040 2 15.1217 26.1128 10.7533 -0.406571 1.89063 0.3289 -1041 2 16.4305 26.7367 10.3176 0.0885609 -1.22142 -1.05714 -1042 1 3.69165 24.8011 1.80378 3.32407 -1.44316 0.842433 -1043 2 2.97159 24.8024 1.17311 3.06008 3.19797 -2.51489 -1044 2 4.37103 24.2677 1.3912 0.629469 2.81942 0.983877 -1045 1 30.6385 20.4209 0.683151 11.4039 10.3869 2.45886 -1046 2 29.7186 20.5353 0.444326 1.00173 -4.95433 -0.566655 -1047 2 31.1152 20.9953 0.083937 -1.90266 4.02119 1.29025 -1048 1 23.0832 3.2592 10.1974 2.77576 -2.70447 2.1017 -1049 2 23.0813 3.66259 9.32935 1.31559 0.351393 0.683887 -1050 2 22.1608 3.08128 10.3813 0.225475 1.37947 -0.621634 -1051 1 35.1715 13.9293 30.4231 17.2996 0.108073 0.681043 -1052 2 34.4558 13.3318 30.64 -3.03981 4.63637 -1.39619 -1053 2 35.4639 13.6487 29.5559 -3.42703 1.71901 0.190238 -1054 1 28.8878 35.0696 21.7774 -2.48504 1.6217 1.30567 -1055 2 29.7844 35.0388 22.1113 -0.176661 -0.439909 -0.0743526 -1056 2 28.7103 34.1761 21.4835 -0.284459 0.489987 -0.80681 -1057 1 11.0508 25.6044 26.2793 -2.44634 -10.2617 -1.0534 -1058 2 11.1936 24.6599 26.2181 -0.873746 0.659167 -1.00917 -1059 2 10.1357 25.7257 26.0262 0.175173 0.589206 -0.112941 -1060 1 31.6317 18.1425 19.4448 7.26459 1.56022 1.89996 -1061 2 31.887 18.8177 20.0734 0.581476 0.831731 -0.848601 -1062 2 32.4587 17.8354 19.0733 -0.705265 -0.718909 1.07161 -1063 1 3.30689 2.62838 12.3339 0.101554 -0.923591 -8.48063 -1064 2 2.43509 2.87708 12.0267 -0.616451 1.03862 2.39992 -1065 2 3.39918 3.07052 13.1778 1.89279 -2.77674 0.289106 -1066 1 12.244 6.49339 14.0857 6.21035 -9.74564 1.5769 -1067 2 13.1083 6.40596 13.6838 -1.01509 0.31991 0.271108 -1068 2 12.0552 7.431 14.0473 -2.07822 -1.39201 -3.52963 -1069 1 11.5078 16.9016 14.0534 -3.534 -1.01107 -3.7526 -1070 2 12.273 16.8197 13.4841 -1.42 -0.391294 0.952563 -1071 2 11.7654 16.4659 14.8658 0.734087 2.70942 0.227559 -1072 1 35.4302 34.5763 0.88364 -3.97299 -6.78797 -6.8011 -1073 2 34.8 34.912 0.2462 5.22393 2.54891 -3.85881 -1074 2 0.0246398 33.6517 0.657342 -4.92949 -1.08958 1.58972 -1075 1 32.9062 21.6469 32.0502 -2.86569 11.8673 4.26171 -1076 2 32.8747 22.3603 31.4128 -0.235529 -0.0363658 0.860309 -1077 2 32.143 21.1071 31.8443 1.03674 -0.502059 -0.557064 -1078 1 28.6678 4.65732 28.4235 -8.30589 -1.97349 -10.3402 -1079 2 29.6077 4.57516 28.5848 -2.32838 0.675922 4.83243 -1080 2 28.4145 3.81502 28.0459 0.717603 1.26399 -2.49898 -1081 1 11.7987 16.6095 9.4364 -22.9291 0.960262 -2.476 -1082 2 12.6212 16.411 9.88395 -0.0868168 -0.26264 -3.62332 -1083 2 11.2651 15.8238 9.55552 -0.665605 2.00108 4.15764 -1084 1 9.55714 34.0244 10.628 0.343311 -1.44167 3.9861 -1085 2 8.64775 34.2241 10.8502 0.131094 0.10844 -0.626629 -1086 2 9.55645 33.0871 10.4337 -0.0655578 0.277631 0.188859 -1087 1 22.0752 19.0056 23.4545 2.69518 -3.42356 3.93402 -1088 2 22.8708 19.4383 23.1447 -0.179218 -2.62903 -2.25356 -1089 2 21.6714 19.6407 24.046 3.0214 1.4366 0.00309633 -1090 1 35.0557 19.9075 25.8017 -8.80715 -7.75201 13.9898 -1091 2 35.3315 20.4786 25.0848 -2.73183 -1.2438 -0.540834 -1092 2 34.7979 20.5078 26.5012 0.727405 0.211208 0.778201 -1093 1 1.29751 5.44499 7.26746 -5.14916 -3.61338 12.772 -1094 2 0.510745 5.91836 7.53794 1.40072 1.96069 -0.775975 -1095 2 1.76912 5.27734 8.08337 0.953298 2.45944 0.0902307 -1096 1 33.0764 1.5984 25.1516 10.3154 -6.2862 -12.5658 -1097 2 32.3716 2.21247 25.3575 1.63711 -0.708828 -0.264764 -1098 2 33.6552 2.08531 24.565 1.24548 1.14454 2.65687 -1099 1 14.2184 33.4365 22.7948 -2.0109 -8.45621 -3.91105 -1100 2 14.3092 34.2615 23.2716 0.0766034 2.00361 -4.66317 -1101 2 13.2923 33.2103 22.8806 0.444639 -1.44586 3.53675 -1102 1 27.0821 24.9192 8.20154 4.87223 -5.78877 -1.75426 -1103 2 27.1649 24.967 7.24912 0.437196 -1.75504 1.23031 -1104 2 26.784 25.7911 8.46055 -0.947283 -3.10337 -0.558426 -1105 1 7.2487 20.2249 4.05929 -0.695783 -13.5797 -14.2258 -1106 2 6.61521 19.5425 4.28113 0.374388 -0.311185 -2.51556 -1107 2 7.31225 20.1922 3.10476 0.714551 0.31933 0.0123078 -1108 1 13.4157 1.40303 12.737 -1.37479 4.02125 -11.0222 -1109 2 13.8679 1.45767 11.895 1.54164 -0.181746 1.52063 -1110 2 12.5861 1.85849 12.5938 0.41448 -2.36464 -2.46868 -1111 1 0.851448 16.3863 27.3794 -0.699147 6.92179 -1.54325 -1112 2 1.11005 16.8215 28.1917 2.15066 -0.260283 -2.36697 -1113 2 1.1563 16.9716 26.686 -0.654342 -0.159766 -0.601956 -1114 1 4.02154 25.2943 4.7923 0.210942 3.13836 -0.973808 -1115 2 3.90321 25.5655 3.88198 -2.90738 -1.48865 -0.176506 -1116 2 4.30977 24.3833 4.73576 -1.51033 -0.0335246 1.07873 -1117 1 16.5936 15.7737 19.3697 -0.298721 1.54972 7.84348 -1118 2 16.7916 16.3673 20.0941 0.404147 -0.0362057 -0.666801 -1119 2 17.4104 15.298 19.2191 -0.76339 -1.03747 0.354535 -1120 1 33.1419 25.8287 3.97581 -9.73239 -11.2093 -0.424041 -1121 2 32.8327 24.9377 4.13935 1.37975 -0.83924 1.19714 -1122 2 34.0192 25.7151 3.61031 0.105393 1.82574 2.52392 -1123 1 31.5809 1.03266 18.568 -6.76167 6.01285 9.03228 -1124 2 31.8778 0.42006 19.2409 -2.90302 0.5711 1.62227 -1125 2 31.6534 0.54289 17.7488 0.306132 0.139627 1.83604 -1126 1 2.95795 16.2924 6.70699 -1.48909 10.7669 -6.61385 -1127 2 3.07374 15.5086 7.24413 0.61621 1.85014 0.30302 -1128 2 3.24672 16.0293 5.83314 -2.06424 1.12307 -0.120291 -1129 1 20.3462 33.6967 7.89773 0.776187 -4.61772 -2.75312 -1130 2 20.3612 32.7404 7.86081 -3.25588 -0.413956 1.32848 -1131 2 19.5311 33.9065 8.3536 3.14499 3.2483 0.603564 -1132 1 19.3712 16.8012 19.7355 3.43843 5.10869 2.81411 -1133 2 20.2392 17.1671 19.9055 -1.05168 1.12887 2.0405 -1134 2 19.4029 15.9225 20.1137 -0.510168 0.3861 -1.02933 -1135 1 19.2326 9.13993 28.8892 -10.2675 4.57779 4.78141 -1136 2 20.0925 9.55374 28.9634 -0.0787822 -2.31348 -2.16036 -1137 2 18.8387 9.24797 29.7549 2.14133 -0.673583 0.110521 -1138 1 27.731 22.9141 10.4558 -1.37486 -2.0777 -9.54442 -1139 2 27.5951 23.3766 9.62889 -1.96895 1.38758 1.51158 -1140 2 28.2483 22.1446 10.2182 -2.61328 0.719227 -3.70024 -1141 1 6.32965 1.88677 33.4438 2.22666 14.4555 6.52356 -1142 2 6.57204 2.58727 32.8382 -0.454538 -0.534984 -0.211498 -1143 2 6.95371 1.9666 34.1652 3.07172 -1.52569 -1.93469 -1144 1 5.63488 5.5512 15.376 1.91358 -23.3563 1.34139 -1145 2 6.55585 5.55772 15.6367 0.818555 -3.18356 -5.2588 -1146 2 5.32532 6.43676 15.5662 3.22171 0.0372073 -2.27021 -1147 1 3.24725 34.9571 10.9309 2.92352 0.284236 2.74299 -1148 2 2.79077 0.240978 11.2197 -0.239818 -0.284652 0.264801 -1149 2 4.09418 34.9932 11.3754 -0.0391706 0.204194 0.520059 -1150 1 10.5471 28.1721 5.0358 6.83307 -0.674273 0.678612 -1151 2 10.7567 28.8255 5.70316 1.68467 -5.25869 1.73875 -1152 2 9.62078 27.9753 5.17519 1.55823 -1.08687 3.23398 -1153 1 17.0117 14.0685 8.09923 10.9304 0.551701 0.165965 -1154 2 17.3279 14.7525 8.68955 -4.1862 0.408869 -1.21891 -1155 2 16.593 14.545 7.38236 -2.43596 -2.48781 0.695203 -1156 1 6.62517 33.8531 2.79148 -19.1018 -7.09126 4.16426 -1157 2 5.76079 34.0309 3.16225 -1.61616 1.49289 -1.8933 -1158 2 6.58126 34.2031 1.90167 3.08893 3.2464 1.51747 -1159 1 29.763 24.7685 2.85611 21.2758 16.027 2.35288 -1160 2 29.2099 23.9926 2.76492 -0.267512 2.48102 -1.79573 -1161 2 30.5575 24.448 3.28296 -0.890917 -1.47111 0.0879258 -1162 1 13.5858 30.3747 2.31436 10.5065 5.70594 -5.87399 -1163 2 12.6917 30.4715 2.6422 1.09667 -2.79779 -1.32904 -1164 2 14.0066 29.7813 2.93643 1.1561 -2.52712 -4.04057 -1165 1 12.4011 27.4751 30.6561 -2.8088 8.66388 -8.12607 -1166 2 12.9668 27.1422 29.9595 -0.852171 1.55065 2.22409 -1167 2 12.4798 26.8294 31.3584 0.471696 1.7726 -1.86613 -1168 1 6.06359 34.0451 23.5896 3.21677 1.67305 2.06798 -1169 2 5.98147 34.4244 22.7146 0.0636259 -0.542452 -0.151382 -1170 2 6.98293 34.1751 23.8223 0.359544 -0.757179 -0.602406 -1171 1 14.9045 2.14558 10.3411 1.08416 -1.86778 2.08485 -1172 2 15.8053 2.12347 10.0182 -0.710876 -1.28131 3.8149 -1173 2 14.4939 2.86277 9.85813 2.00325 0.406721 -0.212067 -1174 1 5.95914 23.5257 19.2522 2.35504 -6.02996 -5.58588 -1175 2 6.54285 22.9529 19.7495 1.17565 1.41639 0.125617 -1176 2 5.7511 23.0281 18.4613 3.81807 3.33203 0.213826 -1177 1 16.5376 22.9758 33.9075 -6.23817 -3.77554 15.281 -1178 2 16.9792 22.2566 33.4558 1.81228 3.85969 -1.63095 -1179 2 16.9256 22.9839 34.7825 6.0081 1.97002 -2.97433 -1180 1 19.3558 19.2998 25.9146 4.58881 5.05423 -13.0087 -1181 2 18.4062 19.417 25.8904 0.341577 -5.36477 2.59103 -1182 2 19.5347 18.6496 25.2352 1.14662 -2.45179 2.8392 -1183 1 17.842 26.2826 20.603 6.14746 1.43167 -1.99646 -1184 2 18.3547 25.534 20.2979 -1.6971 0.200077 -3.54593 -1185 2 18.4829 26.8584 21.0199 0.914585 -3.83894 2.34609 -1186 1 25.3882 19.8571 30.7333 5.5889 -14.783 -6.98428 -1187 2 24.7996 19.2181 31.1351 0.388217 0.836897 0.598353 -1188 2 25.3915 20.5961 31.3418 -0.779953 1.19177 -3.79542 -1189 1 32.1696 22.9315 4.21847 1.00763 5.40314 -2.12157 -1190 2 32.6276 22.4081 3.56085 -0.263357 0.815686 0.352062 -1191 2 32.1235 22.3636 4.98764 -1.45217 0.168282 -0.552111 -1192 1 17.2973 0.371716 33.3401 -3.77544 -3.32716 -4.58856 -1193 2 16.6731 1.09732 33.3474 1.06662 -0.517195 1.79196 -1194 2 18.1168 0.763147 33.0376 -2.64799 0.899378 0.686687 -1195 1 12.8932 11.4087 34.9628 13.3407 -8.35341 3.7397 -1196 2 13.789 11.608 35.2351 0.579788 -0.709499 0.695871 -1197 2 12.8303 10.4555 35.0236 1.10849 0.140111 0.0846143 -1198 1 6.36209 31.8667 10.2781 9.43217 0.659495 -1.89227 -1199 2 6.37921 32.2051 11.1733 -1.33946 1.66774 -1.10363 -1200 2 7.21656 31.4512 10.1623 1.27818 2.62894 1.75295 -1201 1 28.3789 3.89121 10.7818 8.84146 -2.01293 -2.34204 -1202 2 28.4034 3.65 11.7078 -0.686655 -1.27428 -1.38671 -1203 2 28.1993 4.83142 10.7834 -4.51911 -1.80235 1.34072 -1204 1 18.3921 3.79626 25.3581 10.9336 -8.03379 -1.54257 -1205 2 18.4442 2.84112 25.3931 0.000530959 0.726118 3.77444 -1206 2 17.4599 3.98955 25.4576 1.31479 1.0581 -6.36741 -1207 1 30.8111 7.8191 7.06802 8.83318 0.733882 -1.62309 -1208 2 30.5959 7.50813 7.94734 -0.84219 0.0174011 -0.915337 -1209 2 31.7664 7.77549 7.02523 -0.0933524 -0.354766 1.5902 -1210 1 23.5143 5.84272 2.88877 -2.32193 -1.28287 -2.17091 -1211 2 23.8594 5.67034 3.7648 3.39751 -0.673462 -1.87777 -1212 2 23.7395 5.06122 2.38404 3.8888 3.57885 -2.61375 -1213 1 20.5198 3.93971 31.165 1.49686 -4.7621 -6.16354 -1214 2 20.2216 4.51985 31.8655 -0.293769 -0.437411 -0.952717 -1215 2 21.4512 4.13847 31.0689 -0.291327 0.1806 -1.27968 -1216 1 35.4763 28.0627 0.543325 0.137484 -2.45374 7.70265 -1217 2 0.721277 27.8126 35.4527 -1.85391 3.58982 -3.37933 -1218 2 0.3536 28.5044 1.3009 2.12113 2.32402 -2.8539 -1219 1 25.3437 8.52132 3.30449 1.9991 -7.49321 0.217306 -1220 2 24.8196 8.23374 4.05209 0.903449 0.659124 0.286543 -1221 2 25.9066 7.77351 3.10412 -1.26646 -1.34771 0.0166595 -1222 1 14.0303 20.301 1.0078 2.25373 12.8874 2.11268 -1223 2 14.5237 21.0551 1.33068 1.49349 -0.718829 0.431676 -1224 2 13.3543 20.1553 1.66958 1.15369 -0.115439 -1.77847 -1225 1 4.86836 5.7588 12.6995 14.8603 0.733642 -2.53048 -1226 2 5.70872 6.06464 12.3582 -0.502049 0.0646611 -2.95579 -1227 2 5.04369 5.54986 13.6171 4.12756 1.37597 -0.703412 -1228 1 13.5391 35.1232 16.5053 -0.164633 -9.12076 7.91113 -1229 2 13.0773 0.356465 16.1105 0.542976 -2.75147 -4.08221 -1230 2 12.8482 34.5937 16.9034 -0.418039 0.0271149 0.126329 -1231 1 31.2884 13.9783 12.1616 -4.43371 -10.6496 -5.33862 -1232 2 30.3527 14.0418 12.3534 1.1563 1.17381 2.93793 -1233 2 31.3538 14.1575 11.2236 -1.24601 3.92621 1.0247 -1234 1 23.7303 25.7698 13.045 -6.81135 2.29274 10.2203 -1235 2 23.5698 26.179 12.1946 3.58107 0.801923 0.613767 -1236 2 23.973 24.868 12.8354 0.487099 0.632497 2.03812 -1237 1 18.4229 13.2985 12.6746 2.22144 -5.02051 -3.86098 -1238 2 18.705 12.852 13.4729 -1.41485 1.53926 1.04029 -1239 2 17.5136 13.0246 12.555 -0.60751 4.15039 0.496543 -1240 1 24.3818 21.2326 28.5199 -0.936851 -2.54954 -8.04439 -1241 2 24.8854 20.7056 29.1404 -0.714701 2.5189 1.97172 -1242 2 24.9505 21.31 27.7539 0.862181 -3.2343 0.344195 -1243 1 4.76538 3.74751 28.1534 1.24201 5.5239 -0.752161 -1244 2 3.9882 4.06561 28.6127 0.251301 0.633579 -1.45781 -1245 2 4.8526 4.32912 27.3981 1.1266 -0.505854 0.200278 -1246 1 31.1031 24.4216 27.2469 -9.47026 -9.88393 6.35816 -1247 2 30.9831 24.3092 26.3039 -0.498619 0.590062 1.75804 -1248 2 30.3227 24.8962 27.5332 0.615942 -1.12937 -1.06004 -1249 1 17.2795 19.508 16.9685 -6.05388 3.89875 -1.87904 -1250 2 16.8833 19.4075 17.834 3.50616 0.328252 1.54232 -1251 2 16.8098 20.2425 16.5734 -2.51586 -0.44019 1.47479 -1252 1 3.72472 18.9816 12.2765 7.88709 0.793819 5.78526 -1253 2 3.68136 19.3289 11.3855 0.545982 -3.8515 0.534142 -1254 2 2.88621 18.5374 12.4019 0.496929 1.7214 4.14213 -1255 1 20.967 21.2347 26.7888 -7.39741 -4.3235 13.1896 -1256 2 20.3615 20.5302 26.5577 -1.11854 2.04608 0.260423 -1257 2 20.951 21.2607 27.7455 -0.192126 -1.78073 -0.0973039 -1258 1 32.5333 5.30525 27.3893 -4.20841 1.47081 4.10313 -1259 2 32.5792 5.97523 26.7072 3.11014 -3.23655 -2.78005 -1260 2 33.3866 5.34368 27.8212 -0.142516 -2.602 -0.2589 -1261 1 4.50577 19.0196 2.73747 -9.92633 -7.99611 0.706984 -1262 2 4.93113 18.2583 3.13201 0.462389 1.07441 0.852502 -1263 2 3.5793 18.9163 2.95474 -0.508017 -2.14097 -0.860845 -1264 1 5.80075 17.6858 34.537 3.37322 -1.06124 4.0505 -1265 2 5.23218 18.2523 34.0154 -0.97525 -2.68144 -0.207856 -1266 2 5.65701 17.9677 -0.00682635 -0.456885 -0.213111 -0.733587 -1267 1 2.02998 11.2736 4.67563 7.64661 10.2056 7.48092 -1268 2 2.50896 11.8215 4.05384 -2.00608 1.3849 -0.50885 -1269 2 1.34774 10.8551 4.15068 1.28782 -1.96386 2.16807 -1270 1 21.6403 11.6786 6.00623 -9.00808 0.446811 15.9891 -1271 2 22.2238 11.4311 5.28894 -3.16349 6.19056 -2.50624 -1272 2 20.8915 11.0885 5.92102 -1.16976 1.43055 -1.00137 -1273 1 12.7361 6.22759 3.30002 1.45045 7.80013 -10.8096 -1274 2 12.9895 6.93415 3.894 0.902688 -1.57898 0.675674 -1275 2 12.4214 6.67546 2.51477 -5.73046 3.16963 3.51165 -1276 1 8.02061 27.6965 5.69417 -9.6713 -5.52008 0.257153 -1277 2 7.55785 27.2006 6.36955 1.02131 -0.895441 -0.100214 -1278 2 7.72528 28.5991 5.8144 -2.93917 -1.29985 -0.99213 -1279 1 25.0701 29.2822 32.0862 -0.613756 -3.74178 -0.857573 -1280 2 25.8503 29.0742 32.6001 -2.56665 -4.68695 -0.0508963 -1281 2 24.4379 29.6036 32.729 -0.957471 -0.329338 -1.41499 -1282 1 1.22498 34.1618 23.4103 -3.69996 12.7247 -0.425056 -1283 2 2.0299 34.4871 23.8135 -0.57519 -4.55632 2.21092 -1284 2 0.528243 34.4471 24.0014 1.56115 -2.31492 1.01345 -1285 1 32.5582 17.3033 1.33281 3.40831 -4.92216 8.66623 -1286 2 32.0478 16.5089 1.48967 0.874001 0.00824853 1.46608 -1287 2 32.0966 17.7488 0.622427 4.43742 -3.05654 -2.20986 -1288 1 23.5583 32.1951 29.5915 -6.04009 12.132 10.3658 -1289 2 23.5731 31.8874 30.4978 -1.47268 -1.24721 -0.383311 -1290 2 24.3634 32.7043 29.4978 1.54884 -2.16376 1.39904 -1291 1 19.5215 6.96383 31.0983 14.5251 -8.38924 7.42836 -1292 2 19.3294 6.58468 30.2407 5.74866 0.654739 -0.586084 -1293 2 18.6669 7.22234 31.4434 2.07938 2.11741 -3.66241 -1294 1 4.38022 5.19516 20.8514 2.39274 1.11654 -2.28108 -1295 2 4.89965 5.85379 20.3903 0.118168 -1.49165 2.05749 -1296 2 4.18756 5.59282 21.7005 -0.123298 -0.0736771 -0.927625 -1297 1 31.4131 11.1978 22.7939 -8.26544 -10.1366 5.26921 -1298 2 30.9599 11.0127 21.9714 -0.651625 2.90004 0.80574 -1299 2 30.7363 11.1127 23.4653 -1.24269 2.42956 -0.492715 -1300 1 22.1535 13.6461 17.9735 0.177689 7.56615 -2.97468 -1301 2 21.9877 13.3317 17.0848 -0.575155 0.338041 0.501571 -1302 2 22.2097 14.5976 17.8848 -2.5929 -0.380813 1.79762 -1303 1 27.1729 16.0733 32.8226 3.31925 4.51863 -9.47914 -1304 2 26.9088 16.0963 31.9029 -3.29381 -0.165118 1.76535 -1305 2 26.5818 16.6878 33.2575 0.748117 -0.809958 1.15248 -1306 1 15.6672 24.9422 32.3926 -12.472 4.50298 -10.6497 -1307 2 15.8368 24.2332 33.0129 4.49188 3.15243 -0.516368 -1308 2 15.7537 24.5334 31.5314 1.47006 2.15014 -0.407296 -1309 1 15.4135 32.1251 30.7119 -4.06414 -2.58309 3.90849 -1310 2 16.2956 32.4213 30.9367 -0.72825 -1.14105 -1.93233 -1311 2 15.4878 31.813 29.8101 -2.08695 1.74913 -0.30615 -1312 1 16.0266 35.5227 25.8507 -1.68804 3.73632 0.700345 -1313 2 16.3142 34.6718 26.1816 0.90054 1.33117 1.00969 -1314 2 15.1405 35.3663 25.5242 0.330753 -1.52668 2.72929 -1315 1 22.6018 17.6201 10.5786 -15.4664 -4.40861 5.91735 -1316 2 22.1528 17.0654 9.94065 -1.6898 2.17028 -1.22216 -1317 2 21.9892 17.6877 11.311 -0.104874 -1.3595 0.208472 -1318 1 19.6521 1.4788 32.3839 -0.640898 7.76494 -9.3217 -1319 2 19.9152 2.3467 32.0777 -1.09202 -0.567683 -1.62713 -1320 2 19.6002 0.949116 31.5883 -0.818105 0.330226 -0.0288603 -1321 1 29.9454 28.2899 22.6344 14.0756 -12.3004 4.38512 -1322 2 29.2905 27.5983 22.7293 1.30026 0.634643 4.06281 -1323 2 30.7451 27.8299 22.3791 0.0311167 -1.48812 -1.08258 -1324 1 1.27497 25.4706 15.5402 -8.8055 -3.30306 3.05318 -1325 2 1.01438 25.8709 14.7107 0.509512 -0.997783 0.188338 -1326 2 0.473853 25.0668 15.8739 -1.10159 2.14495 0.966343 -1327 1 15.3127 29.3138 6.73594 -3.85416 -4.05914 -13.3732 -1328 2 14.993 28.4442 6.97649 2.15537 0.0406233 1.25003 -1329 2 16.2311 29.3149 7.00545 -1.11426 3.81908 1.99067 -1330 1 32.3614 35.043 20.7162 0.947019 -10.0211 1.28976 -1331 2 33.2932 35.0818 20.9316 -0.403223 1.99233 0.109545 -1332 2 31.9234 34.9475 21.5619 -0.0829661 1.21943 -0.0376552 -1333 1 16.0007 9.25661 19.8533 2.54125 -14.6392 -6.41458 -1334 2 16.2126 9.61088 20.717 -0.94492 0.643919 -0.903769 -1335 2 15.4631 8.48588 20.0354 -0.648917 -0.165083 0.115412 -1336 1 0.161604 12.4673 34.7768 12.7324 -0.448419 -7.85995 -1337 2 0.223697 12.2533 33.8459 -0.94983 -4.4369 1.4404 -1338 2 1.05816 12.6825 35.0339 -0.237842 -0.920887 -0.275148 -1339 1 10.8809 14.0201 18.6787 -1.73126 6.90791 -7.91142 -1340 2 9.9762 14.2773 18.5007 -1.16993 -1.92002 3.14986 -1341 2 11.1662 14.6124 19.3744 -0.75978 -3.02143 2.3593 -1342 1 10.155 18.8731 10.8436 -0.657588 -8.75248 6.80245 -1343 2 10.955 18.4147 10.5866 -0.781684 0.185377 -0.810078 -1344 2 9.44646 18.3392 10.4842 0.912499 2.8901 -1.86918 -1345 1 27.8595 32.5077 21.0166 8.66128 -2.18015 8.64688 -1346 2 27.4679 32.2969 20.1689 0.589036 4.07127 2.62241 -1347 2 28.289 31.6974 21.2906 -3.97765 -2.17673 -1.93402 -1348 1 22.3527 4.76363 7.82926 2.41943 2.50223 3.12033 -1349 2 23.2083 5.12935 7.60491 -1.77496 2.38316 -2.44964 -1350 2 22.0292 5.32474 8.53406 -0.624233 -1.3326 -0.391069 -1351 1 22.1719 31.296 5.91703 -0.00957182 4.45362 5.91712 -1352 2 22.1318 30.4715 5.43255 3.15176 1.10186 -0.358184 -1353 2 21.3573 31.3193 6.41902 -1.68878 -1.37012 -2.28306 -1354 1 30.1287 27.2092 12.2148 2.60607 9.11368 4.57296 -1355 2 30.0953 26.2698 12.0341 -1.28008 0.949927 -0.0639179 -1356 2 31.0219 27.3628 12.5226 0.64862 -0.931144 -0.526383 -1357 1 5.00448 18.6716 17.1345 -4.86731 1.12253 -1.58291 -1358 2 4.33991 18.7823 17.8144 -0.627081 -2.4045 -1.08408 -1359 2 5.74003 19.2092 17.428 -1.88564 -2.45001 2.77554 -1360 1 0.50983 15.2295 32.8533 -4.11944 1.84497 -4.88685 -1361 2 0.0682036 14.9784 32.042 0.420343 -2.30381 1.74271 -1362 2 35.3159 15.2724 33.5044 0.383026 1.62334 -2.034 -1363 1 0.365858 21.492 23.8872 7.23513 15.6048 -4.46135 -1364 2 35.4236 21.6647 23.0595 -1.08017 -2.55812 0.214767 -1365 2 1.23304 21.1793 23.6295 0.0999107 2.38425 -0.365415 -1366 1 8.03708 15.229 26.8357 -2.04252 -0.316478 -1.1417 -1367 2 8.74483 15.7959 27.1423 1.45772 -0.347475 -3.65558 -1368 2 7.25186 15.5745 27.2603 2.06872 -0.144754 3.83204 -1369 1 34.6784 18.8507 10.8897 2.36808 -1.79398 -5.79972 -1370 2 0.00459478 18.3945 10.768 -0.416468 0.216598 -1.25377 -1371 2 34.8586 19.7533 10.6267 -0.322781 -1.0366 -1.77505 -1372 1 31.3418 22.8996 34.2951 -1.14382 -5.65388 -3.92804 -1373 2 31.9644 22.713 33.5923 0.167349 -0.0439441 0.613173 -1374 2 30.488 22.6747 33.9253 0.612452 -2.42819 0.742504 -1375 1 35.1215 20.4293 21.3907 -11.548 -3.32559 18.5011 -1376 2 35.35 19.7256 21.998 2.38881 -0.508693 -0.354099 -1377 2 35.034 19.9951 20.5421 -1.69952 0.773587 0.844303 -1378 1 17.3671 12.958 29.5255 5.11076 8.87788 -14.5971 -1379 2 17.3555 13.2539 28.6153 -0.884713 2.10664 0.0659456 -1380 2 16.4541 12.747 29.7208 2.20572 -4.25651 -2.56262 -1381 1 16.0931 4.35231 20.4642 5.91845 -13.2791 -1.50355 -1382 2 16.8504 4.87778 20.206 -1.21616 0.617072 0.247744 -1383 2 16.4313 3.75591 21.1321 -0.396646 3.07443 3.12285 -1384 1 13.6695 33.4717 9.21077 2.29543 1.48261 -2.12416 -1385 2 14.2141 33.2477 9.9654 -3.66482 -1.43616 1.65843 -1386 2 13.8781 32.8039 8.55755 0.245772 -0.702491 2.41708 -1387 1 25.1657 0.642153 29.2335 -4.59085 -3.74202 -21.3018 -1388 2 24.737 0.172076 29.9487 -0.558511 2.057 -0.285887 -1389 2 25.5932 1.38621 29.6576 -0.075956 0.469352 -3.44803 -1390 1 24.8095 0.442117 0.694518 -5.36604 -0.109712 -1.52909 -1391 2 25.2949 0.516149 1.51617 2.79137 0.994372 -2.31132 -1392 2 25.3734 0.860676 35.4913 -4.35024 1.06998 -2.69906 -1393 1 13.7965 23.6252 5.71653 3.90815 -11.7263 7.2362 -1394 2 13.8498 24.1885 4.94446 -2.85234 2.33795 2.58868 -1395 2 14.6795 23.6397 6.08568 -0.233356 1.13462 -0.907426 -1396 1 7.02727 26.6553 3.02374 -5.17097 -1.31983 6.59546 -1397 2 7.57072 26.8194 3.79441 -2.8738 2.12975 0.112605 -1398 2 6.56459 25.8419 3.22518 2.82009 -1.16555 -4.11085 -1399 1 18.3219 10.375 9.82054 -2.67445 -0.810474 -3.1847 -1400 2 18.7061 10.6513 8.98854 0.284026 4.00377 1.44517 -1401 2 17.4399 10.7467 9.81279 -0.144922 -0.342449 0.848519 -1402 1 22.3236 9.87128 1.2009 -1.4295 -0.793311 5.19762 -1403 2 21.5796 10.3783 0.875969 1.35958 -2.09004 -3.3491 -1404 2 21.9288 9.17818 1.7301 -1.52948 -0.334754 -2.4752 -1405 1 10.9124 22.4386 26.2534 3.03207 -4.70073 -32.4592 -1406 2 10.3511 22.4066 27.0281 3.81597 5.96568 0.716842 -1407 2 11.5487 21.7364 26.3889 -0.699237 0.275791 0.111391 -1408 1 1.31868 18.384 3.4795 13.7351 10.4325 13.7713 -1409 2 0.979225 18.0084 4.29185 -1.59499 -0.168935 -2.01154 -1410 2 1.03409 19.2977 3.50027 0.922852 0.533062 0.760545 -1411 1 6.61973 10.288 21.3565 1.37768 -1.81138 2.18941 -1412 2 6.50612 10.3401 22.3055 -3.29888 -0.610272 -0.275105 -1413 2 6.96333 9.40775 21.2039 -1.51029 -0.767181 0.783622 -1414 1 19.7986 1.74467 35.1946 -2.17719 1.63205 2.1666 -1415 2 19.8857 1.70585 34.2422 -1.59524 -0.716055 0.0138104 -1416 2 20.6038 2.16817 0.0450252 0.0251848 0.164343 -1.47069 -1417 1 22.0004 23.132 31.8017 -7.4975 -3.43952 6.01246 -1418 2 21.1399 23.5499 31.7694 0.781806 2.11508 0.859838 -1419 2 22.5088 23.6757 32.4035 2.26776 -0.0879471 -2.52286 -1420 1 21.0314 21.4005 14.8519 -0.828165 -3.3167 -0.172162 -1421 2 20.6809 20.8108 15.5195 -0.518104 0.655628 0.152897 -1422 2 20.7021 21.0491 14.0246 2.34736 -1.44485 0.196267 -1423 1 29.5064 13.0888 27.0228 1.72479 1.75439 1.22244 -1424 2 29.8667 12.7296 27.8336 -0.273049 1.72648 0.752644 -1425 2 28.8409 13.7131 27.3118 -3.16754 -3.42388 -1.70811 -1426 1 30.7756 14.8616 17.3161 1.42311 -5.35583 4.53374 -1427 2 30.4237 15.6938 17.632 -1.53169 -1.18784 -0.709816 -1428 2 30.0095 14.2943 17.2299 0.860341 0.925417 -4.5862 -1429 1 12.5746 32.1589 27.8456 3.41994 0.575839 -3.31357 -1430 2 12.6442 33.0335 27.4629 0.172076 -1.47175 0.976087 -1431 2 13.4806 31.8637 27.936 -1.02939 1.54234 0.015198 -1432 1 15.4464 20.1353 7.83226 -2.70284 -0.499793 -10.7676 -1433 2 16.0732 20.5564 7.24403 -0.557846 -1.31587 -0.536307 -1434 2 15.4315 19.2202 7.55186 0.95495 1.43888 -0.318854 -1435 1 27.2537 6.25173 2.83022 -0.408874 0.183442 -0.139964 -1436 2 27.5036 5.32773 2.83022 0.091142 0.802362 -0.476584 -1437 2 27.6253 6.60082 3.64037 -1.24243 0.569625 -1.53547 -1438 1 32.3096 10.3257 17.6569 -6.08967 -1.23434 -0.474204 -1439 2 32.9699 10.352 16.9644 0.147765 0.97778 0.641002 -1440 2 32.4261 9.46873 18.0671 0.778923 0.314022 0.158804 -1441 1 17.3506 14.8889 22.477 -12.5546 -11.3309 20.0858 -1442 2 17.998 14.74 21.7879 -1.18669 -2.92936 1.42644 -1443 2 17.0317 15.7775 22.3186 0.0201363 -1.14867 -0.85026 -1444 1 24.7897 15.5721 30.8604 -13.6105 9.63798 3.4681 -1445 2 23.9079 15.6652 31.2208 0.447779 0.842595 -0.317297 -1446 2 25.0387 14.6708 31.0652 3.34822 3.98773 1.16936 -1447 1 18.6762 24.8399 24.409 3.04668 -1.05331 12.3404 -1448 2 17.8528 25.189 24.0678 2.04043 2.72122 0.561402 -1449 2 18.9196 24.1513 23.7902 -0.80957 3.84234 -0.386605 -1450 1 4.57816 35.3118 30.6935 -5.0951 1.49892 -3.00437 -1451 2 4.19876 34.5135 30.3262 0.221048 0.974654 -0.895508 -1452 2 5.49754 35.0929 30.8453 -1.23593 -0.77961 3.28839 -1453 1 22.1356 7.03609 27.3081 -6.84865 1.42402 -5.01333 -1454 2 21.7639 6.1559 27.2505 1.42776 0.182187 -2.74355 -1455 2 22.2384 7.31319 26.3976 3.06966 0.879143 0.585467 -1456 1 20.9969 25.6249 2.95634 -10.4318 5.51343 -8.51129 -1457 2 21.6109 24.9121 2.77949 0.427584 0.950206 2.10334 -1458 2 20.3544 25.5692 2.249 0.963881 -1.55619 -1.76584 -1459 1 19.8899 8.75644 11.5526 2.36354 3.03945 4.60088 -1460 2 19.3663 9.2395 10.9133 -1.53333 -0.00753126 1.60753 -1461 2 20.6787 9.28661 11.6666 0.476464 0.143344 -1.885 -1462 1 35.3228 7.31424 4.49674 10.504 -14.225 -3.18079 -1463 2 34.914 7.0035 3.68895 2.06691 0.445085 -1.04694 -1464 2 0.45027 6.63333 4.72226 3.58071 1.08091 -2.48672 -1465 1 1.93139 20.428 32.7404 -0.824098 -6.4487 11.0073 -1466 2 1.65904 20.897 31.9516 1.98961 0.563968 1.14381 -1467 2 1.20899 19.8274 32.924 -1.94292 2.45106 0.237913 -1468 1 14.6956 26.3146 16.5191 1.09468 4.28865 3.84182 -1469 2 14.375 26.4359 17.4128 0.145879 -0.767451 0.425749 -1470 2 15.6442 26.2287 16.6141 -1.45251 -1.0769 -0.189023 -1471 1 34.5427 29.0009 17.208 -4.88449 -2.6316 -15.8072 -1472 2 -0.0143205 29.0626 17.102 -1.29416 -0.268411 0.93603 -1473 2 34.3213 28.1277 16.8844 0.239945 0.939662 -1.44274 -1474 1 19.1652 26.0218 7.57594 4.14765 18.511 -11.0405 -1475 2 19.491 25.4501 6.88076 0.969112 -2.65551 4.16473 -1476 2 19.8764 26.6441 7.7279 2.07029 -1.38082 0.0380258 -1477 1 5.88429 11.6017 0.0769697 4.87374 1.38194 8.11156 -1478 2 6.61435 11.6532 34.9072 0.265938 -4.6398 0.833481 -1479 2 5.18801 12.1159 35.1155 0.765576 -2.30327 -3.25491 -1480 1 33.5434 10.1885 28.6512 -5.16126 8.24088 -4.03409 -1481 2 33.0419 10.1427 27.8371 1.46464 -1.45434 -0.54149 -1482 2 32.8897 10.0815 29.3421 -0.344921 1.65642 -1.13414 -1483 1 12.8404 20.7624 27.348 -1.68232 11.4061 9.17061 -1484 2 12.1346 20.7447 27.9943 1.88992 -5.68904 2.34172 -1485 2 13.6416 20.8164 27.8689 1.31604 -2.91106 -1.50353 -1486 1 30.9483 23.5352 7.01313 0.979359 6.35397 -5.87517 -1487 2 30.8307 23.3385 7.94249 2.94911 0.753777 -0.497099 -1488 2 30.8198 22.6955 6.57195 -4.05963 1.84136 0.994945 -1489 1 22.377 28.6456 11.2718 9.62249 -3.3664 -1.40192 -1490 2 23.1091 29.1589 11.6134 -0.873444 0.949223 1.28389 -1491 2 22.1566 29.0656 10.4404 -0.330029 0.838071 0.925303 -1492 1 23.9822 11.3576 13.9781 -7.96375 4.34795 -0.436933 -1493 2 24.0597 11.9545 14.7224 2.28643 -3.59368 1.43637 -1494 2 23.6525 11.9046 13.2651 -3.07709 2.84702 3.15131 -1495 1 19.0954 19.83 30.3994 -6.74717 -8.81551 10.0609 -1496 2 19.5729 19.3467 29.7252 3.2595 7.10322 -0.0288859 -1497 2 19.3152 19.3825 31.2165 4.85567 2.21949 0.0120677 -1498 1 35.194 30.2545 30.675 -0.00325861 -5.3541 -0.466303 -1499 2 35.1597 30.9616 31.3192 -0.243858 -0.423087 -0.621134 -1500 2 0.604865 29.9807 30.6678 -1.34921 -0.893424 2.95608 -1501 1 3.49459 19.442 27.893 3.51418 7.70933 -4.80646 -1502 2 2.80704 19.2266 28.5232 1.40649 -4.31732 -1.81924 -1503 2 4.06978 20.0461 28.3625 -2.23338 -0.95918 2.56437 -1504 1 8.60984 18.3239 15.045 3.93585 3.67412 -4.03711 -1505 2 9.49688 17.9917 14.9072 -1.40743 -1.47176 -2.12699 -1506 2 8.46616 18.2407 15.9877 0.0627209 -4.89771 -1.76545 -1507 1 15.0862 12.0286 30.3533 -20.7973 1.49421 5.37801 -1508 2 14.3001 12.0697 30.8979 1.35482 -4.79209 2.17907 -1509 2 15.1512 11.1093 30.0947 1.70977 1.43043 -0.441665 -1510 1 34.2419 30.1927 12.7001 1.30331 8.42729 -2.09699 -1511 2 34.1466 30.8171 13.4193 -0.300536 -0.86199 0.707832 -1512 2 35.1054 29.802 12.8344 0.829359 2.43596 -2.28348 -1513 1 16.0401 11.3798 34.5983 0.384837 1.50985 9.54227 -1514 2 16.0053 12.1814 34.0763 2.31591 0.781151 2.00321 -1515 2 16.9483 11.0861 34.5268 -1.89196 -0.840976 0.315611 -1516 1 12.4189 19.7734 32.3587 -3.00118 6.17608 -0.52067 -1517 2 11.7656 19.7989 33.0579 -1.60946 0.0513 -1.67935 -1518 2 12.8578 20.6225 32.4093 0.863823 -1.73562 3.63051 -1519 1 16.3644 1.43616 13.5982 -4.45026 -9.61999 -0.937344 -1520 2 16.6755 2.32722 13.7578 -2.35529 -1.15587 2.84071 -1521 2 15.498 1.55075 13.2078 -0.646615 -0.66309 1.10723 -1522 1 3.93127 21.9822 35.0556 6.54555 9.03566 -9.44152 -1523 2 3.30895 22.6774 34.8419 1.97285 0.588043 -2.82251 -1524 2 3.39902 21.1877 35.0959 -1.40465 2.26706 2.70483 -1525 1 3.71412 25.5028 16.6179 -4.55853 5.25955 8.2012 -1526 2 3.58201 25.2608 17.5345 -2.58156 1.23176 -0.737153 -1527 2 2.8309 25.5462 16.2515 1.0074 0.155607 -2.28034 -1528 1 12.503 4.72407 6.8972 0.325521 2.9202 -0.382441 -1529 2 12.6722 4.52349 5.97667 -1.84824 -3.48092 1.47744 -1530 2 11.971 5.51949 6.87565 0.487667 -0.565427 0.137213 -1531 1 0.21892 15.4983 12.4645 3.84218 2.55808 0.81364 -1532 2 0.767238 15.5399 11.681 -0.814365 0.322051 0.0059746 -1533 2 0.63619 14.8352 13.0144 -0.855356 -0.578169 -0.452661 -1534 1 18.2549 16.0338 12.3038 -5.07495 4.75803 0.879261 -1535 2 18.5823 15.2176 12.6818 -4.2137 -2.5912 -3.18853 -1536 2 17.5544 16.3083 12.8956 0.354447 0.734167 0.452541 -1537 1 26.907 18.5733 6.14364 1.47189 6.2058 -6.22923 -1538 2 27.1514 17.8111 6.66853 -3.08562 2.46806 0.112797 -1539 2 26.9385 18.2619 5.23907 -0.718384 -1.07659 0.151652 -1540 1 33.4365 4.99059 23.0286 3.50247 -3.60847 -4.33296 -1541 2 32.5415 4.79382 23.3054 0.92574 -0.0862174 -1.48623 -1542 2 33.8905 4.14887 23.0683 -0.884349 3.55993 2.41578 -1543 1 26.439 7.53311 13.3281 13.313 4.8046 4.19393 -1544 2 26.5025 8.46551 13.535 -1.61892 0.452948 -0.545671 -1545 2 25.515 7.3961 13.1188 -0.0768458 -3.77546 7.43398 -1546 1 3.43455 25.2604 19.5279 8.25111 -17.0165 -2.80611 -1547 2 4.36736 25.0474 19.5005 -0.674924 -1.17209 2.14656 -1548 2 3.11676 24.8443 20.3292 -2.89501 1.29103 -2.1461 -1549 1 31.8707 26.7669 18.8677 -0.759797 -10.9446 -1.34449 -1550 2 31.0222 26.6362 19.291 -0.00124199 3.15644 -0.528172 -1551 2 31.6799 26.7279 17.9305 -1.27767 2.42817 2.27722 -1552 1 27.98 0.0728208 33.1595 1.49479 -7.45941 -0.502913 -1553 2 27.1426 0.490327 33.3612 2.39089 3.23494 -1.7015 -1554 2 27.9013 35.314 32.2431 1.42934 2.93021 -0.317011 -1555 1 12.5044 14.3906 2.64676 15.1087 -9.39083 17.5397 -1556 2 13.3884 14.0943 2.43013 0.886069 -0.941992 3.62317 -1557 2 12.1522 14.7196 1.81978 3.92225 0.21392 0.252965 -1558 1 35.3469 8.99292 30.2383 1.98289 -2.60913 4.50879 -1559 2 34.74 9.55607 29.7579 1.66577 -1.25598 -2.53986 -1560 2 35.0474 8.10313 30.0517 1.81915 0.794383 1.63101 -1561 1 7.94185 25.316 7.9644 2.50908 -2.52172 0.239062 -1562 2 8.06842 26.2093 8.28409 -2.60436 -0.133909 0.885098 -1563 2 8.24263 24.7592 8.68257 -2.65265 0.145668 0.242167 -1564 1 32.0427 28.4794 8.56592 -6.81119 -12.3532 2.23283 -1565 2 31.5552 27.8774 8.00364 -1.85487 -1.0482 2.47848 -1566 2 31.3706 29.0302 8.96739 1.03246 -0.455201 2.05418 -1567 1 7.64853 14.6773 31.3628 19.9519 -0.923273 -0.647949 -1568 2 8.37741 14.1384 31.0553 -0.142824 -1.2504 -0.256279 -1569 2 7.659 15.4443 30.7903 -1.91913 -3.81534 -4.05852 -1570 1 30.6566 5.02589 23.1481 12.1267 -13.7036 8.94453 -1571 2 30.306 5.89312 23.3511 -4.28317 -5.02373 0.328229 -1572 2 30.7918 5.03744 22.2006 -2.36324 -3.78179 1.46811 -1573 1 16.7728 18.1621 2.61401 -1.42575 -1.21083 8.75385 -1574 2 17.4208 17.7872 2.01755 -0.0138849 3.68103 -1.15083 -1575 2 15.9317 17.8461 2.28396 0.765879 0.996739 -0.963545 -1576 1 24.484 17.4256 17.1907 -0.114491 2.53934 -2.8731 -1577 2 23.5685 17.3158 17.4476 1.49051 -4.06803 -0.569458 -1578 2 24.4709 17.3885 16.2343 0.583004 -1.75592 0.926961 -1579 1 26.3222 10.5658 19.0558 3.05895 0.853092 2.20902 -1580 2 25.5629 11.0738 19.3416 -0.418558 -0.722881 -0.638298 -1581 2 27.0579 11.1743 19.1252 -0.929127 0.985435 -0.968582 -1582 1 17.3896 17.6664 5.37034 3.65524 -3.46077 -6.03813 -1583 2 17.1879 17.8621 4.45532 -0.806979 0.556997 0.734336 -1584 2 16.6049 17.9304 5.85082 0.342973 -1.99811 0.0191143 -1585 1 17.4777 20.8458 3.328 -3.79193 -14.6668 8.63594 -1586 2 17.3397 19.9311 3.08209 -0.765626 -0.404588 0.0886088 -1587 2 16.8819 21.3385 2.76357 1.45213 0.626554 2.30091 -1588 1 30.7011 8.90714 0.57984 1.26553 7.63176 -4.60185 -1589 2 31.2413 8.91277 1.37002 -1.13981 4.14411 0.181597 -1590 2 31.2722 9.25742 35.3434 0.395104 -2.03807 -0.76182 -1591 1 17.2406 9.51829 26.9735 2.80464 -5.08975 -12.4407 -1592 2 18.0861 9.69404 27.3864 -1.24442 -1.81115 2.02963 -1593 2 17.0985 10.2643 26.3907 1.56735 2.31386 2.59961 -1594 1 26.7134 8.00274 33.0109 1.57155 -5.48374 -8.44171 -1595 2 26.415 7.2786 33.5612 -1.34894 0.874959 -0.0105577 -1596 2 26.326 7.82779 32.1533 -2.1083 1.14904 0.430711 -1597 1 2.78108 32.0047 13.2693 -3.79196 5.8553 -0.621097 -1598 2 2.87182 31.3694 12.559 0.242387 1.18372 -0.577626 -1599 2 1.98979 31.7331 13.7344 1.89803 -2.63784 1.76496 -1600 1 7.53885 16.0827 21.8412 0.188885 -6.73655 -8.22665 -1601 2 8.18753 16.7344 22.1071 0.402431 -1.82996 2.03032 -1602 2 6.98291 15.9691 22.6121 -1.53155 -1.37348 -1.74886 -1603 1 3.58087 2.6873 31.3064 6.12692 -8.68566 2.06076 -1604 2 3.7593 1.78451 31.043 0.234009 0.655424 1.65801 -1605 2 3.85427 2.72845 32.2228 -1.37099 0.229259 -0.0937033 -1606 1 6.00249 6.0735 35.246 8.90489 0.0568186 6.7614 -1607 2 6.87976 6.43644 35.1239 -3.54278 4.62978 -1.26979 -1608 2 5.72175 5.82319 34.3658 -1.38053 -1.01132 1.7235 -1609 1 10.8007 12.6172 27.5356 -4.87113 -10.6629 13.6081 -1610 2 10.0185 12.1916 27.8866 -2.70744 3.32406 -1.0003 -1611 2 10.9433 13.369 28.1106 1.93744 -0.640098 0.0953286 -1612 1 5.92169 34.4067 7.66379 -1.69582 -9.16162 3.73755 -1613 2 6.16444 34.8027 8.50076 -2.11426 -3.05561 1.4745 -1614 2 6.74603 34.0766 7.30642 0.720997 1.63755 0.951689 -1615 1 33.1189 4.3436 33.4318 4.14817 4.62978 -5.79712 -1616 2 32.9766 5.22496 33.0866 2.51591 1.00795 1.96525 -1617 2 33.9567 4.07156 33.0571 0.145898 0.0397904 1.04753 -1618 1 4.74385 32.2532 32.8182 -5.61693 -0.937522 -5.51628 -1619 2 5.02916 32.439 31.9236 -0.672421 0.227017 0.008911 -1620 2 4.56205 33.1138 33.1957 4.44372 -1.49352 1.3558 -1621 1 16.3473 0.393864 4.84025 -12.9764 0.454048 -5.96315 -1622 2 16.2471 35.0361 4.44087 0.26536 -1.03011 2.51384 -1623 2 17.1711 0.728123 4.48542 1.47369 -2.97122 2.96091 -1624 1 29.7583 18.4882 11.6957 -10.5235 -5.00376 0.767103 -1625 2 29.6165 19.3792 12.0156 4.00896 0.462347 -0.514732 -1626 2 29.8138 17.9546 12.4885 2.74941 0.822619 0.32884 -1627 1 6.36272 20.2439 32.1062 29.7675 14.7106 -3.90603 -1628 2 5.60631 19.776 32.4599 -0.302089 2.02775 -4.85357 -1629 2 6.40253 21.0543 32.6141 -1.29723 1.04415 -1.90186 -1630 1 32.3858 33.7647 35.3561 -3.68256 0.800266 -0.165521 -1631 2 33.1171 34.3575 35.1831 -1.44842 -0.429083 -2.39507 -1632 2 31.627 34.3405 35.4498 -1.13473 -2.5451 -0.545654 -1633 1 33.5401 26.8258 15.6796 -2.6875 3.56292 -1.9021 -1634 2 33.356 27.5281 15.0558 3.78374 -2.95964 -2.71465 -1635 2 33.507 26.0251 15.1561 -1.59552 -1.42057 3.04795 -1636 1 10.2665 4.84142 26.03 -0.883567 8.05403 7.99147 -1637 2 9.71786 4.19158 26.4693 2.50785 -1.7152 -0.518256 -1638 2 9.94249 4.85985 25.1296 -0.198668 0.793775 0.999518 -1639 1 21.287 12.9963 30.4048 8.64638 11.6621 -10.5109 -1640 2 20.6376 12.3313 30.6337 -1.42183 4.23767 1.82465 -1641 2 22.1299 12.5825 30.5905 -2.30022 -2.37989 -1.79226 -1642 1 15.4569 8.3488 23.3702 2.74033 3.05025 10.1566 -1643 2 15.373 7.89569 22.5313 -2.60095 -2.56237 2.54512 -1644 2 15.941 9.14832 23.1639 -2.43111 0.547883 -3.93157 -1645 1 6.96926 34.4201 28.2534 -7.44912 7.43163 -12.5359 -1646 2 7.75638 34.3061 28.7861 -0.880635 2.77886 0.100735 -1647 2 6.65875 35.2994 28.4692 -2.77603 -0.0129522 -2.27 -1648 1 1.80763 22.889 2.62846 3.40479 -4.82814 10.7528 -1649 2 1.55527 22.8588 1.70561 -2.41694 2.89626 2.20661 -1650 2 2.67907 23.285 2.62612 -1.89773 1.14419 -1.7506 -1651 1 33.2809 8.93917 34.779 -4.45895 0.833769 -0.731631 -1652 2 33.6219 8.16371 34.3334 -3.95709 0.955224 -2.65031 -1653 2 33.9723 9.18662 35.393 2.09581 -3.45298 -2.32363 -1654 1 11.2744 30.3298 3.53087 -14.2317 4.61021 5.51068 -1655 2 10.3799 30.4685 3.21936 1.20117 0.749865 -2.15314 -1656 2 11.2069 29.5875 4.13133 -2.74347 -1.71098 -2.54214 -1657 1 24.9634 2.12244 18.9035 -4.62233 4.00021 1.72961 -1658 2 25.4328 2.95644 18.8844 1.76916 -2.50616 -0.692872 -1659 2 25.4579 1.58285 19.5204 -0.806965 -1.78993 -1.27415 -1660 1 27.583 12.9201 22.8093 -1.91355 3.94107 -4.34255 -1661 2 28.231 13.4716 22.3709 1.01401 -1.49465 0.885001 -1662 2 26.9436 13.5375 23.1647 1.69372 -0.435282 1.44004 -1663 1 34.6816 21.4438 8.60678 -7.59995 -9.20186 5.12545 -1664 2 35.1108 21.1318 7.8101 0.687078 4.44594 0.296021 -1665 2 35.3325 21.3144 9.29651 0.922517 5.75387 -0.835847 -1666 1 2.66327 24.6305 34.3848 -2.57643 0.226677 11.0723 -1667 2 2.55466 25.5742 34.2666 1.05295 -0.681249 -1.27154 -1668 2 1.78974 24.3157 34.6173 -0.986279 0.243558 -3.14385 -1669 1 21.5961 20.2689 9.43623 -8.91104 -5.27448 -1.09992 -1670 2 21.2914 19.7844 10.2035 -0.94635 -0.728836 -1.40678 -1671 2 21.1052 19.8938 8.70507 -0.634536 1.06904 -0.577801 -1672 1 17.6998 4.32986 28.8162 0.0470835 -9.70813 -9.82544 -1673 2 18.2844 5.04367 28.5614 -0.583697 -0.157664 0.895449 -1674 2 17.0649 4.27313 28.1021 2.16453 -0.333214 -1.12352 -1675 1 33.6002 13.397 0.691356 -6.82825 4.40222 7.15182 -1676 2 32.7166 13.0486 0.57281 0.160305 -0.14685 -0.907652 -1677 2 34.087 13.0807 35.3775 0.999025 -0.551989 1.88374 -1678 1 14.7169 15.9807 26.9648 10.9415 -7.73377 13.5307 -1679 2 14.7226 15.4281 27.7463 -1.34534 0.723212 1.53905 -1680 2 15.4807 16.5486 27.0668 1.00111 -1.23334 0.881763 -1681 1 25.2139 21.9579 32.2871 1.27158 -0.0516868 7.93375 -1682 2 25.3301 22.9053 32.2148 -0.243699 -0.522486 -2.56916 -1683 2 25.1236 21.7982 33.2266 -2.4123 3.50151 0.148676 -1684 1 6.81077 3.83481 8.72774 3.58569 -6.80957 -0.0585816 -1685 2 7.56235 3.28629 8.50307 -1.4373 -1.25159 -3.35806 -1686 2 6.13779 3.21566 9.01054 0.894452 0.380572 2.91079 -1687 1 9.21552 7.78779 24.9513 0.851865 -2.96996 19.6674 -1688 2 9.50611 7.21599 25.6618 0.455792 -1.37977 -1.32421 -1689 2 10.0113 8.23405 24.6617 -0.677032 2.57149 3.65727 -1690 1 25.77 24.5649 31.8222 3.02397 6.77212 0.774988 -1691 2 25.2359 25.3342 31.6245 0.66635 0.156705 -2.36342 -1692 2 26.0527 24.2426 30.9664 2.25624 -0.763796 1.5217 -1693 1 15.9783 35.0149 18.8881 -2.52424 6.36231 7.69138 -1694 2 15.0684 35.0561 19.1825 -0.363845 -1.64935 -1.6214 -1695 2 15.9548 35.3431 17.9892 -1.40776 -9.07428 -1.0381 -1696 1 13.1827 8.82568 28.5669 -5.28574 4.5653 0.106327 -1697 2 12.3732 9.19564 28.9192 -0.0752527 -0.0597401 0.908166 -1698 2 12.9266 7.96828 28.227 -0.390865 1.50433 -1.23303 -1699 1 1.80124 1.00981 14.2164 -2.17871 0.0268062 15.5731 -1700 2 2.14683 0.272412 14.7195 1.86508 -1.10869 -2.83941 -1701 2 1.36677 0.605435 13.4655 2.06109 2.61459 -0.89005 -1702 1 27.2073 9.56512 16.5201 0.763728 3.98977 -0.110689 -1703 2 28.0839 9.1822 16.4877 -0.481461 0.522971 2.73865 -1704 2 27.1029 9.8492 17.4282 -2.76864 0.666836 -0.698285 -1705 1 22.6415 27.8876 17.7055 -2.53325 -4.85744 -18.6506 -1706 2 23.3998 27.6695 17.1636 3.31055 2.93737 2.90797 -1707 2 22.4245 28.7879 17.4635 0.283615 0.2607 0.89547 -1708 1 35.024 17.7611 30.837 7.00863 -10.2522 0.788331 -1709 2 35.2749 16.8379 30.8677 -4.39228 -0.501888 0.258944 -1710 2 34.1752 17.7646 30.3946 2.73062 2.13705 -2.20154 -1711 1 32.1588 2.34656 15.7759 -1.31786 -1.4549 2.43 -1712 2 31.3097 2.78327 15.8429 -0.0852006 -1.50952 -2.89976 -1713 2 32.6312 2.84181 15.1067 0.827025 -0.279904 0.834726 -1714 1 17.3517 33.607 35.0559 -7.91182 5.95534 -1.32808 -1715 2 17.1655 34.4337 34.6108 0.197304 -1.19601 -1.9684 -1716 2 18.1712 33.766 0.0772161 -1.09548 -0.562889 -0.176332 -1717 1 1.64488 29.1834 17.0852 -0.0815325 7.00023 12.2952 -1718 2 2.45105 28.7757 16.7688 -1.60768 -0.0772507 -1.2852 -1719 2 1.61769 28.9694 18.0178 2.50057 0.89099 -0.0371666 -1720 1 19.9506 29.2489 0.273098 -4.25536 -3.36927 -6.20834 -1721 2 19.2352 29.8589 0.0936771 0.503118 -0.682629 1.46511 -1722 2 20.3728 29.5983 1.0579 1.3161 1.07523 -3.32135 -1723 1 27.8716 8.50267 9.36321 -3.35714 -5.18294 -1.3578 -1724 2 28.6831 7.99746 9.31369 -2.54911 -1.12108 0.0872618 -1725 2 28.1556 9.39335 9.56884 -0.30153 -0.574623 -3.49663 -1726 1 9.82818 27.7479 10.8488 -6.86871 -1.02967 9.93278 -1727 2 10.0249 28.601 11.2357 1.0744 -3.24139 5.94322 -1728 2 10.4102 27.688 10.0912 -1.79317 2.78384 0.173816 -1729 1 26.3014 18.4567 21.2957 2.97647 0.633511 -3.14148 -1730 2 27.1778 18.8413 21.31 -0.191739 0.273 2.06412 -1731 2 25.7116 19.1982 21.4319 -0.360629 -0.119192 -1.88185 -1732 1 14.1914 25.9865 24.741 -8.56081 5.41353 5.26795 -1733 2 13.3901 26.4644 24.9552 0.801187 0.9469 0.49194 -1734 2 13.9489 25.0639 24.8199 1.01328 0.836675 2.54839 -1735 1 0.691931 8.9728 18.1979 -3.96677 -7.54445 4.48751 -1736 2 1.47197 8.41808 18.19 0.376242 1.60941 -1.26285 -1737 2 0.664427 9.33553 19.0833 2.64769 3.31739 -1.46519 -1738 1 32.7652 11.7583 33.2395 1.54918 -3.51172 4.14695 -1739 2 33.5873 11.2854 33.1103 -0.908083 -1.99124 2.2228 -1740 2 32.4626 11.4818 34.1045 -2.75121 0.59432 -0.665015 -1741 1 11.5804 29.9345 6.87085 -3.98604 9.21602 -2.45617 -1742 2 10.8367 30.5367 6.85149 0.851864 1.19311 1.9558 -1743 2 12.3257 30.4815 7.11894 0.0163468 -1.68651 -0.123458 -1744 1 33.7395 13.4583 4.64308 10.1649 10.37 -3.38104 -1745 2 33.2614 14.0691 5.20404 3.11441 -0.157142 2.33649 -1746 2 34.2654 14.0184 4.07207 -0.588828 0.656755 -0.674781 -1747 1 20.8293 4.12745 19.884 -0.900155 -15.6481 -12.3012 -1748 2 20.9387 4.49588 20.7607 -1.00948 1.1354 -1.78485 -1749 2 21.497 4.56415 19.3551 -4.10532 2.81675 -2.55123 -1750 1 25.2813 8.95117 23.5529 -5.6549 -6.06679 -1.98084 -1751 2 25.1124 8.60317 22.6773 0.0877073 0.937122 -0.552264 -1752 2 26.07 9.48399 23.4513 -0.42974 -0.187555 0.938219 -1753 1 16.3361 1.45257 7.44306 -0.501178 -6.27248 2.34719 -1754 2 15.5487 1.07503 7.83514 -1.16082 1.49855 -1.27372 -1755 2 16.3356 1.12726 6.54283 3.10938 -3.19078 1.70532 -1756 1 8.46444 10.8147 34.5389 1.12869 -0.330035 -1.90714 -1757 2 8.56968 10.9289 33.5943 -4.54814 -2.02095 -0.0366463 -1758 2 9.24803 11.2132 34.9176 -1.55944 2.95459 -2.62445 -1759 1 5.31657 12.6947 25.2739 -9.69831 1.103 8.43976 -1760 2 5.27809 12.4477 26.1978 1.52965 0.18905 0.598663 -1761 2 6.20859 13.0186 25.149 -0.0991383 -3.08896 -2.53084 -1762 1 28.5157 6.15004 35.2372 -5.69213 -5.5969 -1.87507 -1763 2 28.1098 6.98026 0.0393634 1.89261 0.643659 -2.3838 -1764 2 29.4003 6.19696 0.15274 -0.951175 -0.989321 0.289933 -1765 1 7.78466 0.693766 16.2287 1.07241 17.9604 8.0931 -1766 2 8.08356 0.837065 17.1267 2.58043 -0.069536 -0.583198 -1767 2 8.54661 0.898259 15.6866 -1.36197 -3.65085 -1.7895 -1768 1 21.6813 21.8072 29.4703 -1.631 -11.6725 -3.76703 -1769 2 21.6061 21.9011 30.4199 2.13797 2.18847 -0.698889 -1770 2 22.6074 21.6171 29.3206 -0.332776 0.79081 -1.47354 -1771 1 20.5438 13.5191 22.8826 8.03659 -9.74553 5.52175 -1772 2 20.1393 13.3888 23.7403 -0.0625002 0.794746 -1.27364 -1773 2 21.4006 13.8991 23.0765 -1.59286 3.93326 -1.415 -1774 1 13.5072 24.416 28.8495 -8.61398 -6.58765 -2.60536 -1775 2 13.7372 25.3416 28.7683 2.58009 -1.31723 -1.32215 -1776 2 12.7483 24.3061 28.2766 -1.06138 1.82656 0.980875 -1777 1 10.701 24.2694 31.9278 -7.73908 -14.9481 -5.3071 -1778 2 10.6397 23.7255 32.7131 0.152684 2.00444 1.33256 -1779 2 11.6139 24.5564 31.9053 -3.56031 5.87723 2.3617 -1780 1 15.9514 28.9785 35.05 -6.13348 -2.84415 3.65671 -1781 2 16.0007 28.4044 34.2856 0.493557 1.27707 -0.0375282 -1782 2 16.6361 29.6313 34.9043 -4.91485 0.184314 4.289 -1783 1 1.56406 0.696046 33.0473 -16.3277 -3.33827 -5.14075 -1784 2 2.3588 1.1655 33.3007 1.16723 -4.89822 0.624136 -1785 2 1.06186 0.61896 33.8585 -1.23525 -0.142794 -1.08219 -1786 1 26.1489 0.161449 10.031 -5.85314 -4.26932 -0.640182 -1787 2 25.3888 0.338633 9.47686 -0.577658 0.378965 0.630074 -1788 2 26.2083 34.7128 10.0587 -0.3756 1.22642 -0.639825 -1789 1 9.77827 17.7213 3.30542 13.4611 -4.29639 13.2923 -1790 2 9.83141 17.9127 4.24179 -5.99096 1.04012 -1.33779 -1791 2 9.26456 16.9152 3.254 -0.739499 1.56695 -0.0280845 -1792 1 8.75546 5.30359 3.09792 -0.255889 15.3482 2.41007 -1793 2 8.6027 5.09529 4.01961 5.84751 -3.00388 -0.291936 -1794 2 9.09027 6.20028 3.10684 1.43964 -1.33517 0.526293 -1795 1 20.4814 15.9216 9.33796 2.81371 2.13566 3.79524 -1796 2 20.5543 15.4841 8.48968 0.274219 2.66894 -1.03473 -1797 2 20.2654 15.2198 9.95206 0.47654 -1.71684 -1.79442 -1798 1 16.8296 18.5853 26.1735 -17.8837 -2.73022 -2.5972 -1799 2 16.6236 18.4217 27.0938 3.92839 1.60667 1.04126 -1800 2 17.1997 17.7601 25.86 -2.6041 -0.625285 -0.525706 -1801 1 13.7551 16.9871 22.3221 -6.04948 3.15298 -10.5342 -1802 2 13.5677 17.869 22.0006 2.17897 1.9518 4.20383 -1803 2 13.5993 17.0374 23.2652 0.893133 -3.3634 -1.12973 -1804 1 32.6224 30.4104 6.89006 12.2886 3.52112 -9.79544 -1805 2 33.5187 30.4095 6.55399 0.662146 -3.05942 -0.827721 -1806 2 32.5692 29.6244 7.43374 -1.08508 2.2176 1.86676 -1807 1 17.6301 14.6078 27.1804 -9.11653 -2.98566 2.71955 -1808 2 17.8789 15.2291 27.8647 5.79835 -2.21682 -2.26285 -1809 2 17.6954 15.1079 26.3669 0.199624 -2.18441 -0.175446 -1810 1 11.6265 21.2541 16.4685 1.56278 -2.32071 -4.67919 -1811 2 11.5027 21.367 15.5261 -1.319 2.52053 0.527184 -1812 2 12.4931 21.6214 16.6425 -3.12478 2.9172 1.71274 -1813 1 1.37498 22.2786 20.7552 7.83084 -9.33461 11.8114 -1814 2 2.11044 21.8342 20.3335 2.21102 1.17282 2.27104 -1815 2 0.762515 21.5758 20.9725 1.01663 -1.67241 -1.68685 -1816 1 7.17805 3.26556 24.3673 -4.99946 9.48611 -9.40754 -1817 2 7.6939 3.09383 23.5795 2.13125 -0.0841017 1.22202 -1818 2 6.9663 2.39709 24.7096 4.87344 1.24813 3.20579 -1819 1 17.6456 11.9508 5.42429 -12.8292 2.12827 9.01964 -1820 2 17.666 12.8943 5.58451 0.315621 -0.93474 -2.51064 -1821 2 17.4213 11.8696 4.49727 3.76995 -3.16317 0.287845 -1822 1 12.8487 11.6647 32.1501 1.95459 3.14079 0.595388 -1823 2 12.9364 10.7117 32.1312 1.03335 1.31396 -2.45903 -1824 2 12.8135 11.8841 33.0812 1.80441 -0.0285427 -0.940293 -1825 1 28.1273 28.5701 6.20796 15.569 -1.19954 -3.84549 -1826 2 28.7421 27.8707 6.42982 0.569705 0.69249 1.61013 -1827 2 28.6828 29.3008 5.93649 0.880667 -1.77333 0.445495 -1828 1 9.60977 10.1365 3.09891 -5.94523 16.4753 -3.61789 -1829 2 9.15241 10.5276 3.84329 1.96922 -0.0930667 1.79105 -1830 2 8.91879 9.95189 2.46275 -2.80442 -1.49947 3.15747 -1831 1 14.4197 9.53079 14.3089 -7.16532 7.48911 2.91416 -1832 2 13.6136 9.59909 14.8205 -1.17855 0.294958 -1.49237 -1833 2 14.1507 9.72232 13.4104 0.397574 -1.98121 -0.174343 -1834 1 6.04069 31.1465 20.4566 -9.15708 8.12434 4.89108 -1835 2 6.13395 30.1983 20.3652 -0.244382 1.09085 -0.00860043 -1836 2 5.11224 31.279 20.6481 0.843334 1.97473 -0.0647082 -1837 1 8.7838 13.5803 21.8928 0.217801 17.1488 14.4834 -1838 2 8.51094 14.4978 21.8985 -1.45571 -0.38088 -3.77848 -1839 2 8.24509 13.174 21.2139 6.3086 -2.86453 -1.40498 -1840 1 23.4748 35.2743 4.51161 4.21931 -5.52566 -6.44192 -1841 2 22.7721 35.442 5.13959 1.52363 0.185827 0.842397 -1842 2 24.0271 34.6195 4.93869 0.555595 -0.767624 -1.58782 -1843 1 22.0894 26.5427 21.4562 3.95908 -18.8496 4.23428 -1844 2 22.6255 26.467 22.2455 0.409818 -0.407813 -0.0667319 -1845 2 22.4919 27.2556 20.9601 -0.706819 -0.893449 -0.0692904 -1846 1 1.89498 19.0649 16.666 2.80053 -16.753 0.163504 -1847 2 1.87316 19.9794 16.384 -2.84196 -1.39736 -0.279 -1848 2 2.03554 19.1088 17.6118 -0.829705 -0.704631 -0.796266 -1849 1 23.9684 29.6207 2.08753 -23.7725 14.9997 -17.3986 -1850 2 23.9631 29.2365 1.21082 -2.58409 -0.109131 0.494741 -1851 2 23.5338 30.4669 1.98139 -0.29018 0.110115 1.17243 -1852 1 1.04624 21.6926 30.599 -10.8783 -3.72514 -8.42776 -1853 2 0.112367 21.7513 30.3974 -0.385649 -0.331062 -1.86197 -1854 2 1.46468 21.5314 29.7533 0.951807 4.52263 -0.597105 -1855 1 13.7383 18.7757 16.052 2.06801 4.28003 3.94841 -1856 2 14.0403 19.1264 16.8898 0.614545 -1.93383 0.441892 -1857 2 13.1788 18.0361 16.289 0.955085 -0.158913 -1.28769 -1858 1 15.0232 6.07511 33.936 -1.29508 2.93069 -5.05057 -1859 2 14.7347 5.5858 33.1655 0.234827 -0.161482 0.355153 -1860 2 15.9546 5.86971 34.0159 -1.64187 -4.18189 4.22192 -1861 1 31.8145 4.72505 13.9315 3.51696 2.46284 -9.06312 -1862 2 32.7583 4.70545 14.09 -0.860689 -3.55617 -0.581682 -1863 2 31.7034 4.28385 13.0893 -0.970181 0.0843368 0.95089 -1864 1 24.2418 18.8281 7.32442 19.8697 2.2108 -6.54484 -1865 2 24.4226 18.4746 8.19539 2.81024 2.54724 -0.45717 -1866 2 25.0242 18.62 6.81378 0.970146 1.95667 -0.32899 -1867 1 30.0972 6.70621 9.34508 -7.11575 -10.6459 5.95087 -1868 2 30.6725 6.85653 10.0952 0.385181 0.328039 -2.98084 -1869 2 30.3149 5.82236 9.04901 -0.729241 -1.02843 1.76281 -1870 1 6.44717 22.2065 16.5255 -3.59057 -4.00173 16.1678 -1871 2 6.64259 21.3661 16.94 3.11856 0.683016 0.647408 -1872 2 6.76977 22.1127 15.6292 0.416604 1.37739 1.48251 -1873 1 26.5355 4.89359 31.4896 -7.52384 6.40183 3.48158 -1874 2 26.4108 4.09458 30.9775 1.28288 1.47802 -0.0815147 -1875 2 26.2333 5.59673 30.9148 0.174929 0.381041 0.467201 -1876 1 16.6203 30.9547 12.5759 2.29181 3.31892 0.336466 -1877 2 17.5257 31.2473 12.4718 -0.428516 1.14843 0.686943 -1878 2 16.5321 30.7758 13.5121 -0.928822 -0.936925 -0.848334 -1879 1 4.87322 34.619 34.4415 0.500801 -6.20716 0.421653 -1880 2 5.78673 34.74 34.7005 -1.1578 1.99203 1.93461 -1881 2 4.62688 35.45 34.0352 -2.67178 0.290957 3.74667 -1882 1 2.50149 12.2801 26.0877 -3.61028 1.8033 -1.8975 -1883 2 3.14626 12.3987 25.3903 -1.63452 1.76565 0.0939493 -1884 2 2.99924 11.9029 26.8131 -0.546173 -2.4228 -3.67059 -1885 1 11.0044 34.2914 8.17886 15.9126 -2.73607 2.69613 -1886 2 10.7906 34.3407 9.11057 -2.69506 0.109664 -0.892116 -1887 2 11.8744 33.8931 8.15305 0.922075 0.494336 3.88877 -1888 1 10.4642 16.7648 26.4147 2.80971 1.51282 -9.61072 -1889 2 10.4264 17.0779 27.3185 1.17471 -1.35509 -0.280756 -1890 2 11.3146 17.0636 26.0926 0.590472 -1.32977 -0.414974 -1891 1 17.2152 4.69462 34.6747 11.9213 0.65814 -4.69715 -1892 2 18.0195 4.45625 34.2137 1.04857 -0.57361 0.535519 -1893 2 16.8774 3.86516 35.0125 1.91423 1.04657 2.96864 -1894 1 6.97445 35.1353 32.2671 9.97328 -11.6302 -7.33462 -1895 2 7.55154 34.8288 32.9666 0.774769 -1.62199 -1.46055 -1896 2 6.63884 0.467797 32.5832 1.02155 -1.24749 0.362107 -1897 1 30.2645 4.69075 18.0422 0.694439 -2.46184 2.97624 -1898 2 29.6017 4.00886 17.9326 1.10342 -1.19819 0.759635 -1899 2 30.7589 4.42264 18.8167 -1.07894 2.27368 1.54311 -1900 1 14.1656 29.632 31.6787 5.05867 -0.355939 -0.980506 -1901 2 14.4451 30.4041 31.1867 -0.842964 -0.790639 -0.294246 -1902 2 13.5563 29.1821 31.0933 0.0725257 -1.19259 1.4708 -1903 1 22.4084 9.52165 9.7397 0.735332 -1.67091 -3.93305 -1904 2 22.7212 9.37225 10.6319 -1.09142 1.00002 -0.542777 -1905 2 23.025 9.04279 9.18587 1.34861 1.44662 0.230846 -1906 1 22.2367 0.136878 35.4162 2.39769 -1.00634 11.3877 -1907 2 23.1336 0.346647 0.22933 -0.416125 0.426818 1.11968 -1908 2 21.8755 35.1657 0.715801 -0.0814999 0.0454572 0.682247 -1909 1 30.8013 21.126 11.6255 -3.46793 -5.01909 1.70411 -1910 2 31.1601 21.6971 10.9462 -4.45423 -1.15624 -2.23432 -1911 2 31.4336 20.4108 11.6964 2.44046 2.26421 0.934019 -1912 1 27.4508 5.23152 21.4006 1.74025 1.89877 19.0993 -1913 2 27.8319 4.73772 22.1266 0.4018 0.947765 0.850108 -1914 2 26.5774 5.47438 21.7079 -0.634266 -2.0344 0.72118 -1915 1 34.2517 16.5309 18.5306 0.907524 -6.93269 -4.04601 -1916 2 34.8715 15.8322 18.7399 -0.501769 0.835994 1.04597 -1917 2 33.8909 16.2844 17.6789 -0.976215 1.5179 3.59303 -1918 1 32.115 35.0905 16.482 2.22898 -11.9743 -20.9485 -1919 2 32.966 34.6682 16.5991 -0.636814 -0.495605 0.383446 -1920 2 32.3008 0.353133 15.9431 0.148533 0.858467 3.15742 -1921 1 5.2813 31.5245 24.5891 -0.88265 3.56081 0.527901 -1922 2 5.6102 31.6063 25.4843 2.8911 0.897716 -1.16555 -1923 2 5.50826 32.3562 24.1732 0.0452461 -1.83796 -1.84019 -1924 1 25.7935 25.4126 18.2933 8.42974 5.04501 3.04403 -1925 2 25.4171 24.7186 17.752 -3.18932 0.154086 3.92798 -1926 2 25.7522 26.195 17.7434 -1.62301 -1.62428 -0.262324 -1927 1 4.94055 22.5134 12.7286 -9.04805 -9.98913 0.740441 -1928 2 4.66669 21.7387 13.2196 -2.25032 0.777095 0.693415 -1929 2 4.12797 22.9905 12.5602 2.55025 2.81834 1.88639 -1930 1 12.3705 3.40796 24.8702 -10.2718 -6.94273 4.16449 -1931 2 11.5354 3.79201 25.1374 1.11482 2.05237 1.26765 -1932 2 12.7415 4.04279 24.2574 1.31703 -1.09657 1.0894 -1933 1 17.2229 21.0728 32.2314 -8.179 -5.27121 -18.2871 -1934 2 16.3825 21.3411 31.86 1.15239 -1.37236 -2.54915 -1935 2 17.7485 20.8146 31.4742 0.636225 0.416061 0.167394 -1936 1 25.4211 13.6617 27.4256 -0.423575 1.5864 -14.144 -1937 2 25.9311 14.3939 27.0792 0.209498 -1.21813 2.94262 -1938 2 25.0385 13.2482 26.6517 -1.88498 1.40152 0.678356 -1939 1 31.3452 0.921707 6.09496 5.75289 0.0456399 -1.04313 -1940 2 31.5193 0.206077 5.48357 1.7599 -1.91271 2.66807 -1941 2 31.9558 1.61205 5.83652 -0.775733 -0.136291 -2.46929 -1942 1 14.5238 27.1426 0.855822 -0.28203 -13.8472 13.0001 -1943 2 15.0637 27.8615 0.527327 -2.90129 -0.385453 -1.8344 -1944 2 14.5862 27.2115 1.8085 -1.36301 3.80564 -1.12804 -1945 1 28.8746 13.8014 31.4027 -2.88672 6.47051 7.86952 -1946 2 29.2232 14.2517 32.1721 1.91816 0.252514 -1.72337 -1947 2 28.8041 14.4848 30.7362 -2.55312 0.206489 0.885327 -1948 1 32.2921 1.69364 30.0162 -5.24318 6.11719 0.10458 -1949 2 32.9509 1.85569 29.3409 -1.02656 -2.73336 -0.95222 -1950 2 31.7703 2.49576 30.0398 2.18736 -0.0064308 0.36284 -1951 1 12.6171 8.26014 20.3408 -0.40671 -8.63132 6.16379 -1952 2 12.7962 8.9555 20.9737 1.99194 1.08407 -2.86475 -1953 2 12.1389 8.69542 19.635 2.27749 -2.82959 -1.29442 -1954 1 12.5264 25.4516 7.87552 -4.00904 -0.543437 10.3565 -1955 2 12.9562 24.654 8.18449 -0.215524 -0.0928553 -1.74864 -1956 2 11.705 25.1474 7.48948 4.50811 -0.52052 -4.58555 -1957 1 1.10395 20.9772 6.76689 -12.4418 -4.87906 -17.0173 -1958 2 0.841381 21.0115 5.84704 0.961335 2.29109 -0.167377 -1959 2 1.91806 21.4794 6.80294 -0.662195 -1.08577 2.11991 -1960 1 4.82166 0.411135 13.4723 -6.95497 7.27665 -10.2603 -1961 2 4.31632 1.13144 13.0954 -1.71759 1.5163 4.71861 -1962 2 4.19868 35.4546 14.0325 3.34255 0.282635 2.02706 -1963 1 7.98045 14.3231 18.3954 3.08041 14.4496 -7.04888 -1964 2 7.47829 15.0927 18.6634 -2.22303 -2.54215 1.24386 -1965 2 7.75094 13.6513 19.0374 2.28408 -1.12721 -2.33416 -1966 1 6.57567 10.8403 7.6939 2.74017 2.33053 3.06743 -1967 2 6.87818 11.4306 7.00375 -0.816871 -0.135469 -0.424054 -1968 2 5.69956 11.1571 7.91368 0.353319 -2.48188 -0.273827 -1969 1 10.1296 13.4617 3.4523 -7.92991 7.36607 -13.5551 -1970 2 9.4814 14.0411 3.05172 2.81436 1.47522 -1.87702 -1971 2 10.9658 13.745 3.08241 -0.999119 -0.282534 1.18626 -1972 1 2.78873 23.9803 22.6823 7.39875 -2.15156 -6.43063 -1973 2 2.24341 23.3472 22.2153 1.0523 -1.39215 0.678747 -1974 2 2.17172 24.6381 23.0029 -0.309516 -1.48449 0.660469 -1975 1 29.681 34.0668 9.41834 9.5803 -0.140978 0.198088 -1976 2 29.4023 33.8738 10.3135 -0.39736 4.75337 0.09998 -1977 2 30.2232 34.8514 9.49973 0.132783 -0.224159 -2.50537 -1978 1 17.3964 25.0161 9.25437 -10.6964 6.49204 10.2875 -1979 2 18.0663 25.5133 8.78518 -2.57426 -0.200004 -1.71763 -1980 2 17.7826 24.1488 9.37642 -1.26016 -0.11254 -2.41078 -1981 1 11.1411 14.0768 32.9507 2.74692 8.93145 -23.0737 -1982 2 12.0674 14.2752 33.0877 0.326495 0.0181461 -2.13137 -1983 2 10.9448 13.3932 33.5914 -1.40918 5.092 2.7765 -1984 1 1.12682 32.0133 27.5402 4.517 -1.51145 -4.02069 -1985 2 0.552584 31.2959 27.8081 3.00058 -1.99467 0.131487 -1986 2 1.5621 31.6905 26.7511 1.52551 1.30495 -0.0263278 -1987 1 16.7481 10.3694 22.1507 0.264039 13.0692 4.69918 -1988 2 17.6248 10.1979 22.4946 -0.0377334 0.851346 -4.78636 -1989 2 16.5624 11.2729 22.4066 -1.46932 -0.377234 0.467584 -1990 1 3.76375 22.8172 16.7293 -4.0741 -10.5757 1.02761 -1991 2 3.80151 23.6586 16.2743 -0.690304 1.29329 3.69566 -1992 2 4.5994 22.3969 16.5262 -0.197813 0.973283 -0.721214 -1993 1 1.85399 2.73861 27.3822 3.20071 -7.68688 -3.72082 -1994 2 2.53752 2.17131 27.7389 0.0246343 -1.14856 -1.23911 -1995 2 2.27395 3.18876 26.6492 0.934788 1.93265 2.10385 -1996 1 20.9724 33.5726 23.8784 8.10433 -9.20518 -4.51155 -1997 2 21.6189 32.9194 24.1461 -2.046 -3.87957 -3.38316 -1998 2 21.2405 33.8276 22.9955 0.119388 1.30018 0.791288 -1999 1 14.9356 6.66547 21.3473 -4.32378 2.01425 -5.99167 -2000 2 14.0917 6.81509 20.921 0.850589 0.904261 -2.27949 -2001 2 15.2025 5.79487 21.0522 1.98877 1.97817 -3.72271 -2002 1 22.2485 5.18667 17.87 13.215 -1.9753 -1.37536 -2003 2 21.9401 5.84134 17.2434 -1.85661 0.524428 2.90348 -2004 2 23.1453 5.4526 18.0731 0.178716 1.34064 -2.4977 -2005 1 31.7392 29.9223 26.3752 4.76914 0.177865 5.41636 -2006 2 32.1647 30.6696 26.7955 0.903997 -0.87703 1.20137 -2007 2 32.4505 29.4583 25.9336 0.0227674 -0.433216 0.401033 -2008 1 24.5495 23.287 6.21014 -9.6064 5.24279 8.20718 -2009 2 25.3283 22.7624 6.02443 0.116339 4.39189 1.8768 -2010 2 24.1468 22.8595 6.966 0.2289 -0.0589481 -2.13137 -2011 1 25.8848 13.3641 31.6949 11.7976 1.283 28.4217 -2012 2 26.0644 12.9328 30.8595 -3.81135 -1.20515 1.50928 -2013 2 26.7491 13.586 32.0412 2.1747 1.23594 -3.73301 -2014 1 31.9059 10.2239 30.8521 3.15397 -0.693558 5.50864 -2015 2 32.2432 10.7005 31.6105 -2.64306 -0.474064 1.50947 -2016 2 31.6065 9.38729 31.2082 -1.91976 0.707005 -1.14165 -2017 1 0.84878 3.6625 11.6852 3.82778 -4.24681 3.04899 -2018 2 0.853073 4.56299 12.0097 1.00506 -0.863618 -0.913913 -2019 2 0.134074 3.64014 11.0488 -1.02679 -1.02985 3.07516 -2020 1 12.653 6.40924 27.2569 -10.896 -2.3651 4.67545 -2021 2 12.0107 5.88536 26.7781 -1.95087 -0.422561 2.90655 -2022 2 12.932 7.07765 26.6311 3.33215 -5.37792 -3.19321 -2023 1 15.9575 7.9951 15.8816 6.43964 -4.15323 6.61769 -2024 2 16.7831 7.8467 15.4206 0.588477 2.84349 1.20404 -2025 2 15.4803 8.61195 15.3266 -2.08725 -4.05933 -0.295667 -2026 1 20.0375 20.1391 12.665 -4.11025 1.52341 -3.10314 -2027 2 19.4274 20.3342 11.9537 2.89664 -0.270393 -1.94487 -2028 2 20.3292 19.244 12.4922 -2.13637 -0.289793 3.97752 -2029 1 21.356 6.30845 10.1293 11.8845 -7.32937 -8.40835 -2030 2 20.9041 5.54426 10.4872 -0.836302 1.13214 -0.345734 -2031 2 21.8894 6.63336 10.8547 0.11176 0.0745871 -0.490015 -2032 1 35.1526 30.9366 9.83286 7.59845 5.2547 -1.12957 -2033 2 0.311501 31.622 9.89575 0.964885 -1.25019 -0.233494 -2034 2 34.6019 31.0651 10.6052 0.344797 -0.803576 -0.904465 -2035 1 4.27525 27.2569 26.2869 4.28071 5.72746 7.8462 -2036 2 3.39987 27.3692 25.9163 0.165296 -0.828825 2.86229 -2037 2 4.39971 28.0244 26.8452 0.266735 0.0706906 -1.3371 -2038 1 26.8649 19.3391 13.6882 0.177125 1.61838 2.46927 -2039 2 26.0052 19.1944 14.0834 -0.103725 0.362381 -1.50792 -2040 2 27.4862 19.0117 14.3386 -0.695576 -0.902314 0.251747 -2041 1 7.83542 28.181 15.8382 -13.3943 -2.71551 5.4783 -2042 2 7.57758 27.3247 16.1794 -0.25335 2.11014 -2.48558 -2043 2 7.02351 28.6878 15.8233 1.95232 1.88776 0.576467 -2044 1 32.6262 18.2228 29.791 -14.1882 1.19327 -8.66236 -2045 2 32.1279 17.5186 29.3763 0.458993 0.618559 0.834874 -2046 2 31.9606 18.8321 30.1103 1.27184 -0.0824113 1.15038 -2047 1 3.26267 33.4782 7.39241 0.72256 1.05107 -6.58477 -2048 2 4.1177 33.8412 7.62335 -1.20198 1.46048 -0.601021 -2049 2 3.2457 33.4941 6.43549 0.071718 0.812761 -0.0287205 -2050 1 0.844894 3.50214 3.06141 10.9265 -6.46418 5.34726 -2051 2 1.3825 4.10673 3.57296 -1.34547 0.02462 1.3239 -2052 2 1.43348 2.7774 2.85035 0.956803 -0.0258241 1.47884 -2053 1 25.1225 15.9729 21.4727 1.26189 6.66637 7.55006 -2054 2 25.4376 15.7328 22.3441 1.99941 -1.50251 -1.18582 -2055 2 25.5145 16.8296 21.3033 0.649747 -0.161475 0.915999 -2056 1 7.27486 22.2101 14.0385 10.1815 -3.49421 -8.18063 -2057 2 7.84619 21.46 13.8737 1.50039 1.74304 -3.72093 -2058 2 6.53621 22.0846 13.4428 1.08182 3.6941 2.34564 -2059 1 14.2409 9.72949 11.5638 -2.21614 13.7167 -2.62635 -2060 2 13.6906 9.62021 10.7883 -0.22348 -2.43277 0.646692 -2061 2 14.9733 10.2682 11.2645 -0.353329 -0.504752 -2.50308 -2062 1 24.5604 34.1124 22.5076 2.81011 9.56643 12.8028 -2063 2 24.4651 33.192 22.2624 2.76066 3.39389 -3.794 -2064 2 24.909 34.0885 23.3987 -0.0660125 2.15758 -2.31326 -2065 1 28.1787 24.2138 14.4977 2.85163 13.2743 10.1108 -2066 2 28.1314 24.0884 15.4454 -1.95 -0.314329 0.254779 -2067 2 27.5593 23.5776 14.1402 4.78697 -1.19745 -1.90137 -2068 1 35.2086 9.78789 0.994199 1.76044 6.5307 -5.2317 -2069 2 0.557202 10.1754 0.806894 0.418955 -1.44608 0.928967 -2070 2 34.6067 10.532 1.01289 1.59781 1.15857 -0.38696 -2071 1 0.696525 26.2392 12.9981 6.15683 2.43528 1.97356 -2072 2 0.0853603 25.8774 12.3564 0.126465 3.40177 -1.1815 -2073 2 0.827069 27.1459 12.7205 1.01216 -0.0198955 3.9203 -2074 1 22.1927 29.1204 4.3329 10.0155 4.13346 -1.27455 -2075 2 21.5089 28.451 4.35461 1.49845 0.495267 -0.159421 -2076 2 22.908 28.7169 3.84119 -2.47796 1.10379 -2.16302 -2077 1 17.916 28.683 14.989 -2.36263 0.654597 -2.84745 -2078 2 18.4385 28.392 15.7363 -2.11473 0.465722 -0.120026 -2079 2 17.5044 27.8844 14.6585 2.66175 -0.386546 -1.02105 -2080 1 12.7952 25.7665 32.6497 13.9949 3.53752 8.37998 -2081 2 13.7341 25.6434 32.7898 0.325895 -1.85511 0.845326 -2082 2 12.4802 26.1577 33.4645 0.612139 -2.92432 1.79416 -2083 1 30.8742 23.167 13.459 1.42585 -4.1257 6.75052 -2084 2 30.4067 23.0024 14.2778 -1.88886 -0.614314 -1.43999 -2085 2 30.9172 22.3119 13.0311 -1.44327 1.00043 -2.06414 -2086 1 9.82816 23.5848 1.74826 4.09339 -9.25808 -17.9911 -2087 2 9.74381 23.4546 0.803719 0.485579 -1.71759 0.88707 -2088 2 10.3572 22.8448 2.04625 -1.70334 -0.335486 -1.80313 -2089 1 6.89263 12.5722 5.59003 -3.42428 7.18815 0.109591 -2090 2 7.81348 12.4179 5.37924 -0.409968 -0.134661 3.03095 -2091 2 6.43412 12.4627 4.75695 2.18255 -2.57536 -0.0517335 -2092 1 11.0294 29.5516 32.8106 9.33574 -3.0002 -9.362 -2093 2 11.6012 29.3802 33.5589 1.86495 1.52792 -1.29087 -2094 2 11.3895 29.014 32.1053 -0.11513 -1.05364 -0.15456 -2095 1 5.68421 15.1154 32.971 -6.10389 17.5032 9.81276 -2096 2 6.44786 15.1804 32.3976 -2.76176 -5.22659 1.4758 -2097 2 5.84755 15.7576 33.6618 -0.353412 4.33933 -2.88367 -2098 1 21.2619 27.2128 29.9745 13.6163 -5.96544 1.97752 -2099 2 21.1023 27.9709 30.5368 -0.179442 -1.82524 1.45305 -2100 2 20.5969 27.2782 29.2891 0.137903 -0.746035 1.06037 -2101 1 6.19181 8.13957 30.3451 -8.48727 -8.28994 6.01453 -2102 2 6.97701 7.67729 30.0519 -2.03856 -3.21695 4.93459 -2103 2 5.52559 7.45652 30.4214 -1.35773 1.55745 0.920755 -2104 1 32.4099 28.4116 3.86444 -4.18766 8.07464 1.54038 -2105 2 32.5147 27.4665 3.9742 3.5415 2.18598 0.381035 -2106 2 31.5078 28.5858 4.13297 -0.124238 -0.90634 -1.56255 -2107 1 23.9935 26.6237 31.2156 -1.77594 5.02662 -3.69764 -2108 2 23.2047 26.8918 30.7444 0.0659868 -0.69126 -0.258411 -2109 2 24.4759 27.438 31.3587 -2.36725 0.937325 2.90768 -2110 1 28.5047 29.5758 20.8717 -11.8816 10.0842 -0.798304 -2111 2 29.2407 29.9723 20.4054 -1.63534 -5.14698 -5.99675 -2112 2 28.9026 29.1526 21.6325 1.97682 0.775721 -2.26728 -2113 1 27.7507 21.2746 18.519 -2.5653 -10.6239 2.62546 -2114 2 27.4235 20.422 18.2324 0.481061 -0.629309 0.781079 -2115 2 28.2537 21.0848 19.311 -1.00646 0.362905 0.392864 -2116 1 25.2532 27.4363 16.553 -8.60012 2.32024 -6.4729 -2117 2 25.6623 28.3016 16.542 2.83422 -2.12619 2.30998 -2118 2 24.92 27.317 15.6636 5.31661 1.51202 -2.34852 -2119 1 5.61824 2.12637 21.503 -1.17612 0.715888 4.06576 -2120 2 4.8052 2.11258 22.008 1.06061 -0.364635 -2.05514 -2121 2 5.91777 1.21725 21.5055 -2.31637 0.137551 -1.97542 -2122 1 14.2045 17.3028 2.13313 13.8322 -9.9262 14.7443 -2123 2 13.4643 17.6404 1.62874 2.50063 -2.15093 -0.197974 -2124 2 13.9013 17.314 3.04098 -1.33233 -2.7535 0.223921 -2125 1 33.7781 2.9239 0.155769 0.178407 -4.43945 -0.37031 -2126 2 33.4616 3.50802 34.9138 0.119409 -0.168031 0.668625 -2127 2 33.6395 3.41265 0.967026 0.0418614 -0.671587 -0.0553616 -2128 1 0.227757 13.6891 9.35453 3.75917 4.51084 1.19032 -2129 2 0.64664 13.3875 10.1607 -2.554 -4.83332 -1.99438 -2130 2 0.820174 13.4088 8.65689 -2.36288 -2.906 2.52442 -2131 1 27.5718 24.3683 33.9227 11.8758 -14.0536 -0.652827 -2132 2 27.0285 24.2545 33.1429 -0.126379 2.90913 0.147778 -2133 2 28.103 23.573 33.9632 -2.25564 -2.06787 -1.68633 -2134 1 18.7547 23.4368 22.1148 1.76793 -3.43652 -5.89452 -2135 2 17.8334 23.3516 21.8695 0.21508 -0.204651 0.176003 -2136 2 19.1852 23.7587 21.3229 -0.448118 0.043474 -0.389491 -2137 1 2.29221 10.8734 1.51363 3.40588 -1.78065 -4.02462 -2138 2 2.50322 11.7417 1.85678 -0.631189 -1.51747 1.05411 -2139 2 2.85137 10.2765 2.01087 0.643156 1.05988 -1.16649 -2140 1 25.6214 25.899 25.2413 3.03123 -3.73655 12.5526 -2141 2 25.4794 26.589 25.8893 -0.15111 -0.362854 -0.719554 -2142 2 26.3846 25.42 25.5642 0.366269 1.78247 -0.942643 -2143 1 16.9269 16.3234 9.79661 -6.62239 -4.09948 11.2029 -2144 2 17.2235 17.0918 9.30892 4.24477 -4.29454 -0.846488 -2145 2 17.3507 16.4032 10.6511 0.535424 -3.08265 -0.22927 -2146 1 10.4746 17.2104 29.111 0.461956 5.13833 10.1707 -2147 2 10.9241 18.0338 29.3012 -0.703571 0.85844 -2.15095 -2148 2 10.1952 16.8862 29.9673 -1.05192 3.52498 1.46743 -2149 1 16.0666 22.3671 1.6953 -13.4076 -7.95118 -0.708657 -2150 2 15.3907 23.0043 1.46427 1.07175 1.7325 0.439819 -2151 2 16.8399 22.6498 1.20714 1.38044 0.287258 3.91095 -2152 1 16.3357 27.5846 32.8085 2.54571 4.88704 -14.3477 -2153 2 15.9474 26.7327 32.6096 4.10112 -0.695412 1.47727 -2154 2 15.8243 28.2078 32.2925 -3.9931 -1.27178 2.38137 -2155 1 20.4932 11.6283 35.2655 -3.26067 -1.10384 -0.810694 -2156 2 20.9736 12.0663 34.5629 2.17296 -7.5022 -1.79892 -2157 2 19.7289 11.2477 34.8327 1.40006 -3.27805 0.449146 -2158 1 30.4143 26.578 6.51765 1.34698 1.94845 -3.36576 -2159 2 30.1945 26.7453 5.60116 0.455236 -0.800151 0.112693 -2160 2 30.4582 25.6241 6.58369 -2.82519 0.317721 2.06092 -2161 1 12.3779 16.378 4.55641 -4.36421 7.90937 -13.7187 -2162 2 12.3465 15.5702 4.0438 3.23934 2.28262 -2.17386 -2163 2 11.6883 16.9264 4.18253 -0.260462 -0.501236 -2.16943 -2164 1 33.5739 11.9086 21.4588 11.1152 -1.5316 3.49609 -2165 2 33.2115 12.3917 20.7162 3.11323 -0.128176 -0.870749 -2166 2 32.8144 11.6995 22.0027 -1.07419 -0.174326 -2.30381 -2167 1 31.3265 31.2337 1.41157 1.73917 3.01076 -4.26138 -2168 2 31.4705 31.9953 0.849882 -0.517616 -0.645507 0.434596 -2169 2 31.2025 30.5061 0.802147 -2.99133 0.294358 0.258116 -2170 1 28.8718 19.6384 21.2244 5.68955 -4.46505 -10.0472 -2171 2 29.7168 19.4523 20.815 -0.0967467 0.927831 -0.484415 -2172 2 28.8758 20.5854 21.3635 -2.11682 -0.153636 -2.1144 -2173 1 4.42453 23.1716 25.4282 2.90202 2.28962 -12.879 -2174 2 3.9564 23.5331 24.6756 -0.22092 -2.25427 -1.27917 -2175 2 4.52948 22.2427 25.222 -2.16739 -0.10553 2.93245 -2176 1 24.0098 31.996 18.183 -2.49774 3.05067 4.43748 -2177 2 23.2463 32.5536 18.0336 0.686358 1.13207 0.939593 -2178 2 23.6737 31.1031 18.1056 -0.339556 0.639762 -1.92479 -2179 1 12.5965 11.8134 19.0199 0.740877 6.18874 2.34954 -2180 2 12.2121 11.1554 18.4406 -0.485915 -2.06334 3.55624 -2181 2 12.2837 12.6494 18.6744 -6.15752 -1.78466 1.24711 -2182 1 22.6083 27.9044 24.8206 -4.82246 -13.5194 9.39119 -2183 2 23.4879 28.2584 24.9519 0.0947729 -4.15615 6.39783 -2184 2 22.0799 28.3144 25.5054 -2.34407 -3.05615 0.0172565 -2185 1 10.8934 10.4495 15.7934 -5.11254 6.98451 -8.01208 -2186 2 10.7152 10.0409 14.9463 1.76759 -0.812467 -0.0749665 -2187 2 10.9693 11.3835 15.5982 5.17566 -0.714622 -2.87787 -2188 1 0.082404 9.79724 3.64898 -2.02438 -0.241486 -8.02039 -2189 2 35.4288 8.901 3.9446 6.48101 -0.274731 -1.11117 -2190 2 0.113674 9.73312 2.69444 -2.08722 -0.349248 0.254082 -2191 1 30.4051 21.0896 5.849 4.70324 0.772835 5.75226 -2192 2 30.0855 20.9492 4.95774 -1.61648 -1.90844 1.56949 -2193 2 30.1158 20.3157 6.33237 0.187226 1.91967 2.66775 -2194 1 24.6681 21.9189 3.54032 1.5012 -2.16417 1.86007 -2195 2 24.3513 22.8175 3.44855 -5.46579 -2.27758 3.27978 -2196 2 25.2021 21.9326 4.33461 2.49917 0.648722 -2.89273 -2197 1 28.9535 32.9129 27.7197 -2.2052 -2.2515 2.98885 -2198 2 28.2714 33.5692 27.8623 -0.0456994 -0.210812 -3.47395 -2199 2 29.6382 33.3788 27.2398 -0.0427422 -2.86791 -2.22103 -2200 1 30.0346 19.208 7.99526 4.75506 -6.66374 -4.34388 -2201 2 30.7123 18.7664 8.5071 0.454158 5.08749 3.93067 -2202 2 29.4988 19.6607 8.64652 -2.97823 -0.274169 -5.51419 -2203 1 24.4975 23.3494 12.1534 13.7107 4.89884 2.56005 -2204 2 25.3937 23.044 12.2939 0.156279 -1.67664 -1.47157 -2205 2 24.0084 22.5599 11.9216 -1.08709 1.54871 0.416254 -2206 1 31.7696 12.6394 3.00526 -9.99272 -17.4934 8.72874 -2207 2 30.9432 12.3333 3.37887 -0.209767 2.52571 2.50869 -2208 2 32.2815 12.9292 3.76032 3.30471 -3.9613 -1.10394 -2209 1 14.3063 32.5165 11.8812 7.30143 0.0556361 -1.38649 -2210 2 15.1181 32.0114 11.9261 -1.38711 0.777775 -1.05715 -2211 2 14.0878 32.7013 12.7946 -3.05929 -1.69692 -1.52082 -2212 1 29.4326 16.8233 3.26073 -1.1934 19.9674 -6.70824 -2213 2 29.2772 16.4318 4.12024 -0.373273 -3.4086 -3.02457 -2214 2 30.0347 17.5474 3.43221 2.36875 -2.11674 3.31269 -2215 1 16.9359 0.294205 22.93 -1.43661 -5.88207 -1.02348 -2216 2 17.6799 35.4202 23.3969 -2.82944 -1.25383 3.44888 -2217 2 16.9928 35.4332 22.0479 4.11945 0.0654616 0.169236 -2218 1 6.38667 32.0714 27.1175 -1.34154 -7.88241 -2.95021 -2219 2 7.18916 31.7222 27.5053 -0.512257 -1.75037 -2.44929 -2220 2 6.40383 33.0046 27.3299 1.69591 -1.45992 1.74288 -2221 1 11.385 0.737762 34.444 1.0769 9.84781 -8.3086 -2222 2 11.8541 0.729189 33.6096 -0.191503 2.29055 -0.103684 -2223 2 11.348 35.3248 34.708 4.0328 0.86116 -0.188704 -2224 1 5.62568 0.955507 5.96111 -0.934378 8.09796 -8.81512 -2225 2 5.62063 0.151628 6.48071 0.42077 1.38248 0.679491 -2226 2 6.49814 0.981823 5.56822 -0.398521 0.313198 -0.774023 -2227 1 31.4414 14.775 9.5218 -0.12758 -1.13407 1.28874 -2228 2 30.8095 15.3119 9.04368 1.0014 -1.48762 -1.55137 -2229 2 32.2667 15.2547 9.4504 -0.726656 -0.00515146 -0.133122 -2230 1 4.13931 30.4704 11.2579 -4.64295 -12.2416 2.30026 -2231 2 4.26266 30.2823 10.3275 -2.90422 2.95032 0.101658 -2232 2 4.96616 30.8654 11.5346 -1.71939 1.42058 -2.07621 -2233 1 2.68111 19.0805 19.357 0.288495 -0.965979 -1.46009 -2234 2 2.26378 18.6038 20.0745 0.613272 0.598088 0.627627 -2235 2 2.86302 19.9478 19.7188 3.79847 -0.957173 0.111671 -2236 1 22.9328 35.3205 10.654 -1.17128 -1.3631 -3.13154 -2237 2 23.0104 34.5088 11.1552 1.68407 -0.569046 -2.78572 -2238 2 23.0408 35.0506 9.74197 2.03086 2.91551 -0.823667 -2239 1 21.4267 28.833 27.2611 5.01184 6.20341 -7.50164 -2240 2 20.9554 28.0656 27.5855 -2.16121 1.53484 -2.53281 -2241 2 20.7464 29.4921 27.1237 2.50921 2.41066 -0.766813 -2242 1 30.8573 9.03794 4.70224 -5.68181 8.0784 -2.67509 -2243 2 30.8212 8.60041 5.55283 -1.94414 -0.488055 -1.51649 -2244 2 30.4962 9.90935 4.86509 0.308488 -0.0282253 0.643963 -2245 1 4.86565 22.6956 4.35471 -0.616398 -4.28067 1.06681 -2246 2 5.71049 23.1455 4.34482 -0.16007 -0.536699 0.198194 -2247 2 4.83945 22.216 3.52676 0.744006 0.0629632 0.877338 -2248 1 13.4417 3.4638 20.9032 -1.99632 1.72584 -0.702536 -2249 2 14.2551 3.66454 20.4403 -1.02977 0.584263 -1.43401 -2250 2 13.3931 2.50784 20.8996 -0.655064 1.40362 -1.76127 -2251 1 22.1603 21.8511 0.901716 -7.10607 -1.12586 -2.74575 -2252 2 22.4546 20.9995 1.22474 3.06491 2.51485 1.50768 -2253 2 21.3098 21.9855 1.31985 1.18724 -0.0774429 2.61558 -2254 1 9.81493 3.48285 1.49932 2.26475 -8.4394 -1.32831 -2255 2 9.61878 4.19515 2.10792 -0.710188 0.950926 -2.07478 -2256 2 9.33199 2.73212 1.84486 -1.07434 2.35338 -2.01987 -2257 1 25.0473 17.8456 9.69231 -14.3842 -5.19005 -16.2047 -2258 2 24.2117 17.8649 10.1588 -0.385203 -1.38885 -0.994251 -2259 2 25.7079 17.816 10.3844 -0.475704 5.97919 -1.30498 -2260 1 15.1904 12.4179 1.71138 -2.67464 -1.64625 0.609141 -2261 2 15.5382 12.4179 0.819609 -1.16785 -0.661763 -0.140467 -2262 2 15.8133 11.891 2.21191 0.172249 1.15005 -1.0779 -2263 1 10.8181 25.4174 22.6919 9.58336 3.59728 10.2152 -2264 2 11.5544 24.8356 22.8806 1.23843 0.501538 -3.46471 -2265 2 11.2239 26.2611 22.4925 -1.1591 1.24299 1.60585 -2266 1 18.2549 35.0277 9.20161 -4.50675 -6.59285 -15.2326 -2267 2 17.8393 0.0704687 8.53681 -1.26387 1.11665 1.01091 -2268 2 17.948 35.3856 10.0346 4.52059 0.0316157 0.402168 -2269 1 20.6792 9.17175 32.7272 21.7634 -9.32988 -14.2962 -2270 2 21.5877 9.09614 33.0191 0.663048 0.238701 -3.06646 -2271 2 20.5735 8.46796 32.0871 -0.388148 -0.314998 0.451021 -2272 1 26.3243 10.1277 13.9338 14.7149 7.83308 0.760686 -2273 2 26.6293 10.0691 14.8392 -0.429455 1.97339 -1.04355 -2274 2 25.522 10.6473 13.984 0.308735 -1.88575 0.236102 -2275 1 0.821087 13.7218 27.8146 -2.26492 -9.59385 -1.07816 -2276 2 0.847164 14.6412 27.5496 -0.184504 0.0728298 2.52512 -2277 2 1.34985 13.2678 27.1584 -0.259283 1.10003 -1.12015 -2278 1 21.8514 3.72663 35.3611 7.84788 0.365632 2.13817 -2279 2 22.752 3.91439 0.178158 0.081654 -2.20158 1.79129 -2280 2 21.3246 3.94932 0.681469 0.422671 1.75435 -1.22192 -2281 1 19.2674 12.3505 7.94159 5.49851 -4.59446 -2.34016 -2282 2 18.5911 12.992 7.72426 -0.287121 -0.304051 1.92836 -2283 2 20.0315 12.6265 7.43548 -1.20273 1.02982 0.774456 -2284 1 29.8096 8.7982 16.4994 8.96829 4.07211 0.418976 -2285 2 30.5497 9.33158 16.7893 -0.530701 -1.42266 1.98351 -2286 2 30.0933 7.89546 16.6437 -1.18305 -0.410238 -1.41774 -2287 1 27.8657 15.0681 19.6061 8.55154 -1.00711 1.29943 -2288 2 28.4001 14.9028 20.3828 0.112602 1.5095 0.405119 -2289 2 28.269 15.833 19.1956 -0.932179 0.723724 0.725274 -2290 1 23.9809 35.023 31.2007 -10.0867 -12.9137 18.1875 -2291 2 23.2146 35.1817 31.7518 -0.557535 -0.0422997 0.971954 -2292 2 24.5228 34.421 31.7109 -0.546179 -0.0543038 1.89337 -2293 1 28.6883 19.2647 23.8972 -1.06559 0.370071 5.98763 -2294 2 29.457 19.5962 24.3614 0.867262 -0.259978 -1.24066 -2295 2 28.7785 19.6078 23.0081 1.20813 -4.84946 -0.896597 -2296 1 20.7337 23.115 11.3862 -11.7918 3.04966 8.24761 -2297 2 21.1739 22.5193 11.9925 0.124017 -0.927109 -2.46924 -2298 2 21.4277 23.4174 10.8005 -2.31786 -1.02388 -1.27723 -2299 1 5.7637 34.8087 20.9376 2.82092 -7.11993 2.9332 -2300 2 5.89804 33.8668 20.8334 0.50885 0.657977 -3.2233 -2301 2 5.27649 35.0696 20.1561 1.16825 1.5682 0.845121 -2302 1 26.3661 21.6175 25.7165 -3.91456 -10.3696 2.1367 -2303 2 25.586 21.9419 25.2666 0.946708 3.82434 1.41459 -2304 2 27.0697 21.7105 25.0742 0.391923 1.23046 1.31727 -2305 1 31.1931 33.5092 26.1544 3.86364 3.76933 -0.293378 -2306 2 31.1857 33.3639 25.2083 -0.357315 -2.05612 0.52228 -2307 2 31.8416 32.889 26.4874 1.11476 1.8572 0.935319 -2308 1 24.546 11.8067 22.6747 2.57064 -2.75864 -10.3969 -2309 2 24.2325 12.4851 22.0766 1.26784 0.277594 -0.249071 -2310 2 25.4811 11.7321 22.484 0.251406 -0.236827 0.537012 -2311 1 5.97086 23.1659 33.3816 0.705889 0.834823 0.888701 -2312 2 5.35068 22.853 34.0402 -0.940541 -1.80376 -1.98015 -2313 2 5.54819 23.9354 33.0003 -1.20932 -2.3363 -2.28282 -2314 1 5.02374 11.1367 19.2099 9.11094 1.4522 -5.05209 -2315 2 5.57832 10.8665 19.9418 0.0667804 -2.44269 -1.56288 -2316 2 5.05074 12.0933 19.2288 -1.04476 -0.52274 3.09253 -2317 1 22.6927 11.3007 3.69 11.7717 -5.75673 -14.7203 -2318 2 23.186 12.1059 3.53346 -0.554293 -1.90399 -0.546262 -2319 2 22.6736 10.8617 2.83959 0.229846 0.997184 -1.36306 -2320 1 13.2787 8.09069 34.2792 -5.87462 4.25582 16.8038 -2321 2 12.3796 7.82903 34.4773 1.14502 -1.10337 3.47234 -2322 2 13.7994 7.30467 34.4445 0.719881 0.435052 -5.10805 -2323 1 34.1492 7.38549 17.2995 2.86733 3.35536 -5.99085 -2324 2 34.8094 7.99031 17.6381 -0.254148 -1.5628 3.20709 -2325 2 33.3995 7.49678 17.8841 -0.46512 -3.21209 -1.32731 -2326 1 20.6672 14.0678 27.6787 5.22805 0.460659 8.25552 -2327 2 20.8532 14.9985 27.8022 -1.06787 0.319231 -0.0930803 -2328 2 20.6693 13.7031 28.5637 2.99808 -0.145382 -0.431332 -2329 1 6.84198 29.7775 7.43738 -3.6945 7.08614 -1.32895 -2330 2 7.11063 29.17 8.12657 -0.669828 -0.717694 -2.02287 -2331 2 5.98193 30.0918 7.71632 0.15126 0.568919 0.480994 -2332 1 8.84596 31.9067 32.1619 -1.71367 1.17373 -8.29679 -2333 2 8.27076 31.2397 32.5367 1.09525 1.29079 2.10124 -2334 2 9.69241 31.4693 32.0697 -0.474034 0.125448 0.689486 -2335 1 12.7039 30.3224 23.6336 3.14334 4.61749 6.41166 -2336 2 12.37 31.1982 23.4394 -0.848294 -1.2064 -0.0332228 -2337 2 12.4155 30.1489 24.5297 -1.02623 -2.42083 -1.17093 -2338 1 21.7674 30.4564 17.1685 6.5518 -12.4474 -9.45557 -2339 2 21.3087 30.112 16.4023 2.78164 3.67264 -2.82802 -2340 2 21.1257 31.0218 17.5984 0.650375 -1.76947 0.395319 -2341 1 6.28059 16.1851 19.5341 -8.375 1.45001 -7.90091 -2342 2 6.75192 16.0752 20.3599 -2.33614 2.5353 -0.186929 -2343 2 6.3153 17.1259 19.3613 -1.57662 -0.389152 -2.08316 -2344 1 6.99654 25.0325 14.189 6.37705 -5.97158 -7.91246 -2345 2 7.03721 24.0761 14.1968 0.93065 0.226108 -0.951314 -2346 2 7.76576 25.3013 13.6868 0.0459608 1.06549 0.296257 -2347 1 7.49172 35.0755 0.571041 -7.54956 -1.02289 -15.168 -2348 2 7.7428 0.41275 0.947324 -2.23751 -1.40677 0.780299 -2349 2 8.09285 34.952 35.2837 3.79006 -0.0562834 3.27487 -2350 1 6.48037 7.53717 20.648 -8.02777 -4.747 -0.62537 -2351 2 7.21581 7.34537 21.2298 -0.837511 1.08193 0.21763 -2352 2 6.67733 7.05454 19.8451 0.315343 -1.20679 1.16012 -2353 1 5.24123 9.15932 11.0846 -10.6843 -8.81928 6.09711 -2354 2 5.12586 8.71611 10.244 1.19034 6.57538 -3.23221 -2355 2 4.3528 9.38285 11.3619 -0.464243 0.0554528 -1.26203 -2356 1 27.6329 15.5327 26.9815 7.07009 -4.51744 -6.19427 -2357 2 27.5893 16.4508 26.7142 -0.670524 -2.49491 -5.27887 -2358 2 28.2696 15.5208 27.6961 -6.71133 4.24043 3.46151 -2359 1 22.8449 5.25425 24.8601 -1.3917 0.173002 -4.63316 -2360 2 23.6077 4.70545 25.0424 -0.260217 1.19249 1.46138 -2361 2 23.1767 6.15069 24.9103 -0.822615 0.30714 -1.9854 -2362 1 29.5201 32.0828 3.42734 -5.34051 4.53098 -5.37183 -2363 2 29.8855 31.7217 4.235 -1.21524 -0.286452 -0.401081 -2364 2 30.1345 31.8135 2.74455 -1.29293 -0.823783 -0.363964 -2365 1 13.9897 20.8994 14.3156 -14.0381 -5.85964 -16.5379 -2366 2 13.6895 20.1628 14.8479 0.25559 -0.584225 -0.677042 -2367 2 13.2179 21.1643 13.8152 -2.26938 0.822901 1.83824 -2368 1 8.36277 15.6001 2.20894 6.52209 -2.69932 2.69911 -2369 2 7.43379 15.4638 2.39514 0.9458 -2.61057 0.550013 -2370 2 8.41129 15.6508 1.25432 0.217873 -3.20535 0.135441 -2371 1 25.8126 29.1212 29.4999 2.46095 3.60515 -0.506437 -2372 2 25.4701 29.3084 30.3739 2.82308 0.128297 1.04318 -2373 2 25.183 29.5265 28.9036 -2.85708 -2.76924 2.03039 -2374 1 21.3363 23.7549 26.2382 -0.579308 9.77558 -18.7807 -2375 2 21.1875 22.8163 26.3529 -0.888272 1.21154 -0.921635 -2376 2 21.3017 24.1134 27.1251 1.57509 -0.318968 -1.5505 -2377 1 32.6125 28.8311 33.8005 0.235997 -6.9473 -1.53484 -2378 2 32.8588 29.7518 33.7119 1.51986 -1.18944 -0.283798 -2379 2 32.634 28.6667 34.7433 4.91311 -1.61745 -0.805848 -2380 1 22.062 16.5876 18.1999 -1.80021 -3.11402 -4.7509 -2381 2 22.2021 17.0488 19.0269 -3.25178 -1.55956 0.265227 -2382 2 21.2087 16.8958 17.8947 0.625352 -2.08885 -1.31173 -2383 1 10.5389 29.7358 12.9364 -12.7593 -9.41484 16.8249 -2384 2 9.81454 30.3583 13.0004 -0.164148 -1.9119 3.40176 -2385 2 11.2491 30.2346 12.5327 -3.77976 -1.41639 -2.12395 -2386 1 17.1497 2.96302 22.8123 -2.86226 7.88029 -3.50334 -2387 2 16.9332 2.04837 22.9934 5.25217 -0.707133 -2.47536 -2388 2 17.8982 3.14921 23.3792 -1.46687 3.53261 -0.454214 -2389 1 2.85085 16.6241 31.8294 -0.237117 -3.93008 0.382887 -2390 2 3.0593 15.7855 31.4176 3.0594 0.221942 0.854424 -2391 2 2.06098 16.4502 32.3414 1.44269 -1.30476 -0.373273 -2392 1 17.814 7.51767 34.6584 -0.216548 -8.72397 -13.26 -2393 2 18.7644 7.61621 34.7149 -1.63703 1.22522 4.48935 -2394 2 17.6655 6.57516 34.7349 -1.19489 0.992974 2.36771 -2395 1 26.8863 17.8275 18.4929 -6.87722 12.3895 2.70852 -2396 2 26.1237 17.5492 17.9858 -0.613852 1.67922 0.470501 -2397 2 26.5239 18.1268 19.3267 1.27971 -4.11344 0.720256 -2398 1 19.0539 1.05719 26.024 -7.17866 0.452909 -16.7359 -2399 2 18.5856 0.290948 25.6926 -0.558003 -0.829103 1.81807 -2400 2 19.9491 0.948666 25.703 -0.901923 -1.282 3.25294 -2401 1 1.10399 34.6555 5.12556 4.09992 0.295934 -0.358278 -2402 2 0.888586 33.7336 4.98424 -2.83867 1.06254 -1.64303 -2403 2 0.823645 34.8326 6.02349 -0.916637 0.246813 -0.620362 -2404 1 3.04357 35.0974 27.4205 -4.46906 -2.53166 2.67694 -2405 2 2.08966 35.122 27.4958 0.200141 0.287758 0.87854 -2406 2 3.30243 34.3134 27.9049 -1.31357 1.35733 0.567667 -2407 1 14.1278 17.7111 32.8473 -0.319038 1.68778 -1.0739 -2408 2 14.7509 18.0662 33.4812 -2.34692 0.182838 0.520773 -2409 2 13.5865 18.4599 32.5975 -1.9156 -1.82157 0.879205 -2410 1 20.9574 30.6986 2.27113 -19.686 2.13661 16.7588 -2411 2 21.4102 31.5404 2.21974 2.31005 -5.11481 -3.53369 -2412 2 21.1213 30.392 3.16295 5.92237 -2.16654 -1.30373 -2413 1 16.9594 25.7075 27.4213 -0.948258 0.506541 -2.62232 -2414 2 16.9749 25.2792 26.5654 1.25357 -0.406528 0.338891 -2415 2 16.0646 26.0358 27.5091 -0.306281 -3.04471 0.0689326 -2416 1 28.7504 33.8266 11.8199 -9.72652 -3.55156 19.4258 -2417 2 29.3754 33.3057 12.3241 -0.562569 -0.734957 0.337774 -2418 2 28.3157 34.3768 12.4715 -0.415935 -0.803731 0.975799 -2419 1 13.8898 4.37077 31.9564 -2.5287 2.99378 -14.0691 -2420 2 13.8839 3.41454 31.999 2.1508 0.695756 2.76411 -2421 2 14.4981 4.57559 31.2463 4.43455 -0.982105 3.16165 -2422 1 34.186 7.66677 13.3942 4.81902 -3.87759 -6.57067 -2423 2 34.2489 6.88436 12.8463 0.144402 1.0824 -1.02676 -2424 2 33.254 7.74232 13.5987 1.39935 -1.47495 1.02822 -2425 1 2.1811 12.8724 21.4013 5.37692 7.09755 -1.58485 -2426 2 3.05735 12.8908 21.0165 -0.984916 6.69812 -1.10862 -2427 2 2.2398 13.4536 22.1596 -4.46569 -0.508194 -0.326457 -2428 1 20.0245 29.9398 11.7838 -3.18592 -6.83682 -5.48856 -2429 2 20.7672 29.4459 12.1312 0.216597 0.668003 -2.4493 -2430 2 20.0165 30.7507 12.2924 -2.83824 -1.27647 -0.562509 -2431 1 12.6863 8.32573 9.63016 -5.34324 -10.2496 6.94001 -2432 2 12.59 7.50839 10.119 1.51587 0.752951 -2.92993 -2433 2 11.8655 8.41374 9.14562 -1.05411 -2.06667 2.4836 -2434 1 27.1798 35.0741 17.9428 -4.93722 -8.32202 4.28407 -2435 2 26.677 0.125738 17.3494 4.77076 2.79933 0.420244 -2436 2 26.9375 35.3752 18.8185 2.62258 0.673448 0.382376 -2437 1 23.501 14.0131 4.27013 -3.1066 -10.8845 -1.51389 -2438 2 22.6551 14.3486 3.97308 2.52641 1.94126 -4.40419 -2439 2 23.7117 14.5415 5.04 -2.0039 -0.918869 0.551021 -2440 1 13.1993 1.2376 26.2308 -0.0377683 -2.56308 2.02019 -2441 2 12.9134 2.05284 25.8187 0.201584 -1.7374 0.859191 -2442 2 13.2593 1.44798 27.1627 1.51495 -2.64421 -0.716056 -2443 1 32.6176 13.5619 31.2224 -12.7142 -7.55177 -3.50872 -2444 2 32.5606 13.0866 32.0513 -0.0534797 -0.895006 -1.04554 -2445 2 32.5391 14.4836 31.4684 2.31451 -1.41549 0.761516 -2446 1 11.364 10.0025 5.49064 5.21002 -1.23718 7.85778 -2447 2 11.8798 10.0908 6.29211 1.73028 -1.66702 -1.04168 -2448 2 12.0118 10.0115 4.78606 -1.49863 0.894201 -0.0804874 -2449 1 9.17425 26.4194 20.7228 -13.6699 -11.0732 -4.19379 -2450 2 8.24519 26.2239 20.6008 -0.9992 -1.49946 2.45359 -2451 2 9.47449 25.7705 21.3592 1.98389 1.42195 -1.79821 -2452 1 9.87547 7.59326 4.03593 0.883171 -3.44409 4.26605 -2453 2 10.299 7.38518 4.8687 1.49211 1.38928 -0.500535 -2454 2 10.1867 8.47267 3.82149 -4.65415 0.833573 0.861099 -2455 1 20.557 13.7786 1.37502 3.205 5.16823 -8.48874 -2456 2 20.3777 13.3855 2.22916 -3.08669 2.21554 -1.54 -2457 2 20.6351 13.0333 0.779463 -3.09556 0.383008 0.813317 -2458 1 29.9318 5.93866 4.90663 -3.60609 -1.06295 11.0676 -2459 2 30.4405 6.05199 5.70949 1.36851 2.43673 -2.67826 -2460 2 30.4226 5.29089 4.40093 -2.56784 5.82371 -4.58499 -2461 1 12.5153 1.74362 15.2984 -10.8636 3.35373 2.73939 -2462 2 12.876 1.9367 14.4331 3.94471 -5.76471 2.46227 -2463 2 12.5114 2.58732 15.7505 -1.1863 -0.0294337 -4.21117 -2464 1 11.6267 32.7838 23.8264 1.03734 9.75962 5.26541 -2465 2 11.442 32.9687 24.7472 -1.1882 1.23065 -1.34969 -2466 2 11.0021 33.3247 23.3431 -1.61581 -4.55086 -2.55462 -2467 1 13.0669 18.986 9.84038 3.33517 16.6445 -14.1393 -2468 2 12.6725 18.3695 9.22345 0.489585 0.38348 0.703203 -2469 2 13.5705 19.5865 9.29076 -0.0733354 0.573218 -1.67715 -2470 1 26.0197 14.5747 17.7833 -10.2536 3.3327 -8.54489 -2471 2 25.4576 15.3345 17.9348 -1.67012 -0.556756 -2.21609 -2472 2 26.7191 14.6606 18.4312 -3.23085 0.457096 2.13364 -2473 1 27.0423 16.2446 1.7557 4.70326 -5.00337 -5.38823 -2474 2 27.9731 16.2543 1.97879 -1.80526 3.26291 3.58925 -2475 2 26.6749 15.5403 2.28971 -0.519056 2.21714 0.931438 -2476 1 15.3611 20.7239 28.7216 1.20597 -0.245867 -16.9637 -2477 2 15.9805 21.4537 28.7276 2.56858 -2.65264 1.97675 -2478 2 15.9038 19.9475 28.8589 -4.92025 -2.11854 0.899041 -2479 1 27.0999 30.5024 27.4193 1.0109 5.93928 0.0562211 -2480 2 26.8686 29.9966 28.1984 1.14902 1.68636 1.03794 -2481 2 27.4825 31.31 27.7623 1.60369 -0.102085 -2.25533 -2482 1 24.9789 18.8128 24.687 -7.53856 1.44271 -6.87967 -2483 2 25.4361 19.2786 23.9869 0.402066 -1.41473 1.33752 -2484 2 24.1853 19.326 24.8384 1.99303 1.763 3.03767 -2485 1 29.2382 2.55474 15.4842 -3.31484 1.87848 3.65103 -2486 2 29.4505 2.08858 14.6756 0.707966 1.77299 0.39448 -2487 2 28.4169 3.00721 15.2918 1.9658 0.37742 -0.194336 -2488 1 23.984 0.631265 13.0554 10.7624 1.05418 2.21336 -2489 2 23.8893 1.58288 13.0967 -0.431254 -0.424151 2.45856 -2490 2 23.7633 0.407082 12.1514 0.526395 2.2046 -0.166429 -2491 1 30.8432 19.9805 31.527 -3.09153 -12.8661 -2.45215 -2492 2 30.1838 19.2912 31.6067 0.997981 -1.40606 -0.379255 -2493 2 30.381 20.7077 31.11 -1.68263 -1.29434 1.09279 -2494 1 30.1598 12.1327 29.6775 4.77956 -1.41289 -8.20705 -2495 2 29.844 12.6253 30.4351 -0.168345 1.41792 -2.3804 -2496 2 30.9454 11.6857 29.9924 -2.71361 -3.43495 1.90098 -2497 1 8.49576 25.1186 30.478 2.50308 -12.3475 13.7376 -2498 2 9.2182 24.8702 31.0547 0.503684 1.57581 -0.403978 -2499 2 7.93312 25.6698 31.0219 0.139393 -1.35531 1.20362 -2500 1 5.74112 9.02584 5.59473 7.6874 -2.13278 -7.76044 -2501 2 6.09781 9.66792 6.20852 -0.64989 -0.052286 -0.228595 -2502 2 6.04234 8.18105 5.92914 2.82579 0.356003 -1.75083 -2503 1 11.248 34.7652 31.5221 1.66538 -11.9248 -1.68254 -2504 2 12.1823 34.8085 31.3184 0.155843 -1.14116 0.764978 -2505 2 10.985 0.171981 31.6376 1.23696 -1.46377 0.381503 -2506 1 5.35121 22.0216 22.2333 6.02592 -0.848622 -0.13292 -2507 2 5.96925 21.4492 22.6878 -0.527151 0.778755 0.550141 -2508 2 5.66662 22.9071 22.4142 -0.779678 -0.52244 0.613903 -2509 1 33.5647 31.0964 3.22264 -0.585532 -2.25901 4.90734 -2510 2 32.8469 31.5645 2.79604 -0.440377 -1.47333 0.661883 -2511 2 33.2684 30.1871 3.26191 0.0931372 0.0828954 2.64392 -2512 1 25.9586 29.5778 7.26604 -11.156 11.8725 -0.932792 -2513 2 26.7582 29.2106 6.88917 -1.44866 0.264706 0.856777 -2514 2 25.6147 30.1546 6.58396 -0.831726 -1.49291 -0.78684 -2515 1 33.872 4.1891 2.43361 -5.14681 11.4021 7.36067 -2516 2 34.8076 4.0173 2.5401 -1.69556 -0.173078 2.59153 -2517 2 33.8121 5.13942 2.33587 0.360386 -0.327702 -0.600446 -2518 1 13.8061 25.366 3.67669 -16.4922 -3.3948 -6.78713 -2519 2 13.246 26.0763 3.36341 1.44735 2.14405 0.825318 -2520 2 14.6666 25.5565 3.30339 0.433187 0.182352 4.77498 -2521 1 30.8829 4.38467 2.92061 2.36553 -7.8232 -1.28025 -2522 2 31.362 3.56455 2.80183 0.0858757 0.560851 -2.02351 -2523 2 31.0124 4.8593 2.09951 -0.575946 1.05035 1.49595 -2524 1 12.0677 4.99568 33.8529 0.711927 -4.37376 -7.12077 -2525 2 12.0915 4.22871 34.4251 0.371353 3.60395 2.49988 -2526 2 12.8474 4.91001 33.3042 -1.39331 -0.280065 -0.676199 -2527 1 7.3804 22.9973 25.9998 -1.26488 11.0414 -3.32291 -2528 2 7.67016 23.9095 25.9875 0.666485 -1.01452 0.254445 -2529 2 6.44844 23.0386 25.7854 1.85872 -0.86745 -0.704059 -2530 1 6.27227 14.4592 7.69437 4.36272 1.8509 -1.84231 -2531 2 5.31542 14.4663 7.66943 0.21803 -1.70643 3.98418 -2532 2 6.52326 13.7696 7.07982 -0.975729 0.61486 -1.09642 -2533 1 3.42149 16.3234 24.5572 1.99666 -7.14473 5.86282 -2534 2 2.77068 15.6216 24.5478 2.04411 -1.25759 -2.78267 -2535 2 2.92209 17.1109 24.7733 0.692575 -2.13941 2.91917 -2536 1 11.8924 13.7297 11.8857 7.34878 -6.89105 13.365 -2537 2 11.2677 14.1185 11.2734 0.769076 -0.332571 0.661763 -2538 2 12.5505 14.4112 12.0222 0.284382 -2.28551 0.74805 -2539 1 27.0842 4.13469 19.0705 -0.579223 -8.01077 -14.6741 -2540 2 27.68 3.38835 19.0055 -0.717828 -0.638239 -1.88883 -2541 2 27.3023 4.54376 19.9079 -1.9337 -3.25034 0.853043 -2542 1 27.8231 10.5814 29.1136 9.01581 -7.88073 -4.43631 -2543 2 28.044 9.65044 29.0845 0.376996 -0.106267 1.34453 -2544 2 28.6685 11.027 29.1678 0.335287 -0.479378 2.85233 -2545 1 8.69733 11.8294 17.337 9.31799 -6.67989 -15.1806 -2546 2 8.9004 12.7514 17.1792 -1.67775 -1.90487 1.95611 -2547 2 9.41556 11.3511 16.9228 0.159419 0.198253 -1.90207 -2548 1 13.4311 16.9813 24.9618 -13.0532 10.544 -5.41904 -2549 2 13.9336 16.4931 25.614 -2.61652 0.329759 0.472667 -2550 2 13.662 17.8972 25.1173 -0.976717 0.322298 0.495971 -2551 1 25.2958 29.7712 23.4585 3.55844 -9.5727 -5.90045 -2552 2 24.993 29.5971 24.3497 1.6947 4.59589 0.20742 -2553 2 26.1319 30.223 23.5731 -0.166553 0.536019 -3.94791 -2554 1 1.80399 18.671 8.02133 -7.37783 -9.95427 -17.9732 -2555 2 2.25893 18.0422 7.46104 1.13594 1.7194 -2.35741 -2556 2 1.53398 19.3708 7.42673 1.32613 1.2116 1.27953 -2557 1 30.118 27.6164 26.5456 -1.18557 -0.0618805 -2.19944 -2558 2 30.5216 26.9893 25.9454 0.809147 0.840649 1.40233 -2559 2 30.7037 28.3733 26.5314 0.64456 -1.74754 2.10831 -2560 1 33.1829 17.8848 6.35072 -3.65742 2.83492 3.65576 -2561 2 32.6032 18.5986 6.61645 1.20921 -0.292978 0.635203 -2562 2 33.2546 17.3316 7.12858 -3.32066 -1.03914 -1.0834 -2563 1 33.2717 21.1828 2.29144 -9.68722 0.436961 -7.2067 -2564 2 32.3558 20.9091 2.24022 0.825493 -1.38791 -1.5673 -2565 2 33.6596 20.8775 1.47132 0.686099 1.17223 0.668902 -2566 1 28.341 11.5329 12.3732 -8.47327 -6.8272 -1.16735 -2567 2 28.2692 11.1218 11.5117 0.0991386 2.27738 -1.0661 -2568 2 27.6852 11.0856 12.908 -3.54188 0.889008 -3.04969 -2569 1 28.2949 2.63944 2.86311 10.5168 4.27249 -11.5497 -2570 2 28.3595 2.7858 3.80685 -1.04675 4.878 -2.88961 -2571 2 29.1827 2.40182 2.59575 0.866287 0.589303 2.57587 -2572 1 31.44 35.4365 23.4059 1.37683 -4.86578 -9.2244 -2573 2 32.2305 0.379979 23.7042 -2.11239 0.538924 3.63843 -2574 2 31.6596 34.5062 23.4569 -0.28108 -0.144794 3.50708 -2575 1 3.71286 28.1965 15.8744 20.7969 -0.779916 -6.51302 -2576 2 3.94042 28.3062 14.9512 -2.22305 -2.42971 -1.27009 -2577 2 3.90411 27.2774 16.0611 -1.85204 -0.461113 -0.132222 -2578 1 10.9435 21.0253 2.85794 2.06931 -3.16979 -3.84085 -2579 2 11.6016 20.9623 3.55012 -4.4319 4.08433 2.2642 -2580 2 10.2463 20.4308 3.1349 0.747186 0.0593113 -0.0884858 -2581 1 15.5763 3.78874 6.21377 -7.0445 3.53778 -6.04847 -2582 2 15.7042 2.93817 6.63375 -2.00891 2.65582 0.797074 -2583 2 14.7258 3.71697 5.78049 1.27379 -1.75631 -0.505344 -2584 1 19.6419 9.99075 5.15053 1.2755 -6.29449 5.23881 -2585 2 18.8806 10.4985 5.43135 2.09443 2.92741 -3.22524 -2586 2 19.2724 9.25176 4.66718 -2.21285 0.902642 0.775694 -2587 1 3.53446 21.9417 7.0908 11.0875 0.278195 -8.15233 -2588 2 4.153 22.5997 7.40806 -2.68591 0.113968 3.87499 -2589 2 3.79852 21.7812 6.18485 3.06261 2.34224 0.661959 -2590 1 12.5238 18.6425 6.44357 19.6018 -3.77207 3.63381 -2591 2 11.7831 18.4223 5.8787 -3.98008 1.69666 6.96944 -2592 2 12.8563 19.4685 6.09221 -4.44662 2.80814 2.811 -2593 1 23.9477 18.8913 33.0683 -0.672565 -6.24728 -0.545141 -2594 2 23.533 18.0576 32.8466 -2.18849 2.63818 0.396189 -2595 2 23.2166 19.4921 33.2126 1.98397 0.147998 0.528278 -2596 1 19.8517 7.44184 22.0292 2.16616 5.78893 1.96391 -2597 2 19.5289 7.86813 22.8232 0.464402 0.273898 -1.11868 -2598 2 19.8336 8.12931 21.3634 -2.1131 -1.62843 -1.33122 -2599 1 8.00087 26.6376 28.4337 -1.0351 14.1878 -6.62671 -2600 2 8.47057 27.4284 28.6985 -0.533087 0.765719 0.187145 -2601 2 8.30474 25.9632 29.0413 -3.73395 2.18308 1.25568 -2602 1 23.836 15.0131 11.2192 2.92728 10.5305 2.78273 -2603 2 24.1577 15.0323 10.3179 -4.25793 -5.82523 -1.22176 -2604 2 23.187 15.7157 11.2573 0.911817 0.853086 -0.665495 -2605 1 17.6273 5.8919 12.5464 -13.503 1.23989 -2.23486 -2606 2 16.7437 6.2 12.345 -0.492059 1.2263 2.01687 -2607 2 17.5135 5.31228 13.2996 -0.267386 -1.64534 -1.94712 -2608 1 33.2476 25.7937 27.9891 12.8701 -4.23847 0.996233 -2609 2 33.0135 25.9726 28.8998 -1.0973 6.39722 -2.72093 -2610 2 32.7022 25.0465 27.7434 -7.05173 5.57993 0.414508 -2611 1 8.51914 32.1129 20.1464 1.04532 2.17642 -5.77016 -2612 2 8.85286 31.7371 19.3318 1.87128 -0.547667 0.847531 -2613 2 7.63307 31.7602 20.2281 1.13846 1.37709 -3.14964 -2614 1 27.8227 4.07151 5.11334 -5.24716 15.1216 7.06912 -2615 2 28.5081 4.73042 5.00255 -0.342972 -1.95037 0.470709 -2616 2 28.2302 3.38864 5.64617 -2.12271 -0.289679 -0.275411 -2617 1 26.09 14.3328 3.51959 3.57115 1.28362 1.37381 -2618 2 26.1234 13.6783 2.82191 3.49818 -1.05108 2.13729 -2619 2 25.2066 14.2547 3.87977 0.0511633 -1.75065 -2.63981 -2620 1 30.174 24.5518 31.2318 0.453806 8.37899 3.97807 -2621 2 29.8931 25.1932 30.5792 0.192708 -0.318399 -0.197484 -2622 2 30.4132 25.076 31.9961 1.04353 -0.255543 -1.48615 -2623 1 4.56466 31.1753 8.23455 -1.47407 -1.80864 -0.241406 -2624 2 4.0545 31.8998 7.87252 0.649766 -0.274746 0.522243 -2625 2 5.17132 31.5914 8.84695 -1.61562 -0.76437 0.56642 -2626 1 6.38498 30.8921 16.1135 -8.7013 -3.59789 8.37059 -2627 2 5.44256 30.8586 16.2776 0.870294 0.193461 -0.00545666 -2628 2 6.6039 31.8227 16.1607 -1.498 -0.676669 -0.813149 -2629 1 22.938 32.2614 1.41519 14.0793 6.87784 -4.94951 -2630 2 22.7465 32.8754 2.12408 -0.553048 2.06651 -2.69849 -2631 2 23.7481 32.59 1.02541 1.0202 -1.18075 -0.224786 -2632 1 26.7444 10.5412 34.1386 -0.729196 1.75666 0.74932 -2633 2 26.6718 9.85587 33.4743 -4.75502 -1.46035 2.22842 -2634 2 27.2035 10.1222 34.8666 -1.67976 -0.183623 0.488617 -2635 1 18.1293 0.52611 11.6353 3.41316 3.29135 9.94169 -2636 2 17.6407 0.643794 12.4499 -1.4887 3.06455 -0.965199 -2637 2 19.012 0.836124 11.8379 -0.276044 1.01134 1.40861 -2638 1 5.04501 17.2495 27.1697 -2.146 -4.61458 -0.836672 -2639 2 4.4774 16.628 26.7139 -0.82171 0.917514 -0.568112 -2640 2 4.47003 17.9822 27.3907 0.645521 -0.401839 1.61141 -2641 1 0.198644 22.7272 26.7498 4.97196 -9.83645 -0.747047 -2642 2 0.485092 22.4978 25.8657 -0.767604 -2.67568 0.161263 -2643 2 0.970107 22.5816 27.2974 0.488831 1.32294 -0.60145 -2644 1 6.67849 10.3936 29.1304 -1.39586 4.92947 13.2738 -2645 2 7.07742 10.0396 28.3355 -1.37077 1.95382 -0.194229 -2646 2 6.39016 9.62216 29.6182 -2.55868 1.21458 -1.25885 -2647 1 0.357222 3.60367 32.963 3.54082 -1.49796 -0.860356 -2648 2 0.853001 2.80565 32.7797 -1.82766 0.0764419 -1.10872 -2649 2 0.663016 3.88332 33.8259 0.00141422 -4.14073 0.0386493 -2650 1 1.13046 7.04777 21.9697 -1.36602 4.54907 -1.81365 -2651 2 2.08727 7.0469 21.9423 -0.933193 -0.759308 1.26323 -2652 2 0.907488 7.78147 22.5426 -0.618196 -0.166542 0.202288 -2653 1 20.4723 7.96391 8.21019 -5.70361 8.16976 -4.32045 -2654 2 20.7008 7.33003 8.89006 -0.820803 0.456798 -1.6465 -2655 2 20.6808 8.8149 8.59569 2.83099 -1.19691 -0.124197 -2656 1 29.2237 8.66913 31.7268 -3.76694 -6.34732 -4.28055 -2657 2 28.474 8.17605 32.0601 0.201797 2.17518 2.56007 -2658 2 29.0053 9.5847 31.9006 4.0033 0.225852 1.0783 -2659 1 13.3479 26.4695 19.2974 -12.6879 5.26715 -1.6482 -2660 2 12.4341 26.3198 19.0548 -0.69562 -2.60764 1.92669 -2661 2 13.3056 26.82 20.1872 -0.00757085 1.02006 -0.520727 -2662 1 19.945 12.7021 3.72663 2.30376 -1.43383 2.03977 -2663 2 20.7173 12.4663 4.24053 -2.13784 -2.46285 2.21689 -2664 2 19.4388 13.2747 4.30302 -0.201643 0.523955 -0.901549 -2665 1 35.2269 31.6271 19.7321 3.0437 -12.9806 -5.85585 -2666 2 0.350386 30.9713 19.4328 -0.650925 -1.31964 0.448065 -2667 2 35.3339 31.6462 20.6831 2.90425 4.63755 -1.87852 -2668 1 24.9049 4.724 4.91696 10.9643 -4.21072 6.97059 -2669 2 24.587 3.91058 4.52513 -0.672371 -0.0493481 3.21388 -2670 2 25.8462 4.58705 5.0239 -0.186405 -0.689595 -1.70685 -2671 1 24.3494 20.3931 21.3946 -7.30182 1.25914 9.95131 -2672 2 24.5733 21.3233 21.3667 0.918382 -1.32978 -0.695591 -2673 2 23.7379 20.2716 20.6682 3.50744 -0.697665 -2.48663 -2674 1 27.5146 1.3468 12.1304 -18.9568 -3.37881 -7.09919 -2675 2 26.8978 0.952809 11.5135 -0.57462 0.635446 -0.558951 -2676 2 26.9857 1.96141 12.6391 1.33641 -1.65086 1.25419 -2677 1 13.1382 1.88681 29.1164 -19.3501 -1.21559 5.25222 -2678 2 13.1475 2.80789 28.8561 2.37382 -1.33266 -1.23115 -2679 2 13.8632 1.80524 29.7361 2.29128 -3.36128 -4.5117 -2680 1 28.1419 3.96507 23.8017 -4.13944 -4.90891 3.33174 -2681 2 28.0866 3.01241 23.8767 2.08831 -0.0530147 0.949923 -2682 2 29.0808 4.15147 23.7989 -0.897092 1.16349 -3.58271 -2683 1 18.255 23.2281 0.51671 13.017 -2.60707 -6.14686 -2684 2 18.501 24.1514 0.572386 0.58418 -0.949365 2.42056 -2685 2 18.992 22.7593 0.908282 -2.29153 -0.436364 4.12473 -2686 1 2.51327 29.0883 7.57027 8.56702 -1.21518 2.97505 -2687 2 3.1076 29.8197 7.40263 1.53159 -1.43542 2.78538 -2688 2 3.08511 28.3739 7.85107 -0.729143 -2.95678 -4.67993 -2689 1 25.0121 10.6877 1.68774 -1.05656 3.05609 -5.09265 -2690 2 25.2283 9.87495 2.14483 -0.171184 3.0798 2.57181 -2691 2 24.1067 10.5683 1.40112 1.32529 -1.43319 -3.47055 -2692 1 0.50617 31.9797 4.59155 1.77512 1.04483 -0.489645 -2693 2 0.576737 31.5785 5.45776 -0.607725 -0.972758 -0.907699 -2694 2 35.2544 31.5542 4.19107 0.265634 1.31029 -0.934013 -2695 1 8.51989 24.0602 22.2582 -7.65516 0.0063794 1.89121 -2696 2 7.74514 24.4102 22.6982 0.307435 -0.286949 -0.184993 -2697 2 9.25561 24.5092 22.6746 -1.06747 0.567575 -1.92694 -2698 1 3.73918 33.1554 4.30804 -2.18129 3.63303 0.584678 -2699 2 2.79347 33.013 4.26818 0.979572 0.737021 0.250396 -2700 2 4.11004 32.4564 3.7695 0.173535 -1.95325 4.26562 -2701 1 23.7076 3.6516 13.1066 5.92638 0.744877 -8.33536 -2702 2 22.8563 3.37109 13.4427 1.50065 2.01964 2.52455 -2703 2 23.6751 3.44909 12.1717 -4.75045 3.71825 -0.887774 -2704 1 24.6094 3.76835 1.43633 -7.83663 -3.87311 -2.26436 -2705 2 25.4373 3.54032 1.01348 -1.9767 0.932489 2.44944 -2706 2 24.4797 3.08518 2.09411 0.570828 0.0828268 -0.161102 -2707 1 19.489 29.4901 22.011 12.9932 -2.12124 -4.93526 -2708 2 19.5763 28.5564 22.203 0.787662 0.886444 1.11437 -2709 2 20.3762 29.8378 22.1017 0.549872 0.0858767 0.0230447 -2710 1 16.2231 13.9023 33.7957 5.34525 -2.16947 -4.07723 -2711 2 16.8156 14.224 33.1163 -3.21617 0.123838 -3.23683 -2712 2 16.4259 14.4365 34.5636 0.686072 3.08711 -2.69532 -2713 1 31.399 4.7027 20.6234 3.9746 8.45814 -7.29279 -2714 2 31.9008 3.93057 20.8846 -2.52839 -0.230635 -2.9313 -2715 2 32.0005 5.43562 20.7551 0.843683 -0.607816 -2.56919 -2716 1 11.9188 27.2126 2.82681 1.93093 -3.34621 -1.70953 -2717 2 11.7457 27.6027 3.68362 0.986563 -1.96242 0.197858 -2718 2 11.0739 27.2359 2.37743 1.47321 3.98089 -1.5501 -2719 1 22.2884 12.3306 33.307 0.940241 3.05038 -1.33159 -2720 2 23.1322 12.4197 33.7501 0.255271 -2.02172 -1.26508 -2721 2 22.4783 11.7989 32.5339 -2.36363 0.687125 -0.911792 -2722 1 34.7656 23.657 16.896 9.62155 3.90823 2.11601 -2723 2 35.4516 23.1498 16.4621 -1.32827 -1.54927 0.558607 -2724 2 33.9698 23.1397 16.772 0.60288 4.39094 -0.396775 -2725 1 1.74523 27.5889 25.5996 -6.53839 -6.82767 1.94607 -2726 2 1.17073 27.7273 26.3526 0.539793 -1.6298 0.992483 -2727 2 1.51072 28.2863 24.9874 0.657332 1.76883 2.35651 -2728 1 12.8914 5.60656 10.6761 -1.76008 7.46092 0.161921 -2729 2 12.1721 5.01955 10.9088 2.65328 -1.03119 0.394868 -2730 2 13.4357 5.09391 10.0784 -1.61704 2.48952 -1.15736 -2731 1 26.3153 30.236 9.95479 -7.74972 -1.80655 2.43549 -2732 2 26.2843 29.9614 9.03834 1.80453 1.97719 0.494949 -2733 2 26.8894 29.5973 10.3774 1.41313 1.08345 -1.02797 -2734 1 2.44722 10.3076 33.9549 4.72672 5.68641 2.8651 -2735 2 3.26412 10.3953 33.4637 -0.941029 -3.90876 0.277869 -2736 2 2.68214 10.5364 34.8541 0.37328 -0.595572 0.165857 -2737 1 23.5954 21.3779 8.00008 -2.85632 5.19091 -0.190371 -2738 2 22.8512 21.0049 8.47256 2.68306 0.841767 0.343144 -2739 2 23.954 20.6448 7.49988 2.14098 0.206487 1.84538 -2740 1 35.3128 2.94243 23.5832 -0.399748 -1.02466 -1.58818 -2741 2 0.251374 3.38626 22.8612 -1.94198 -0.803917 0.223577 -2742 2 0.513676 2.55574 24.0994 4.07735e-05 -0.211042 -2.17315 -2743 1 13.9993 14.3451 15.4959 -5.74139 -2.53368 2.32769 -2744 2 14.7868 13.9813 15.9005 -2.60555 -0.0933608 1.24778 -2745 2 14.1339 15.2926 15.518 3.21263 -2.30957 -3.34463 -2746 1 6.4645 25.9877 20.3714 1.43107 -1.25589 -9.65394 -2747 2 6.6171 25.2913 19.7326 -2.00968 -1.37895 3.56543 -2748 2 6.11211 25.5365 21.1386 1.6957 2.75439 1.17621 -2749 1 13.2457 10.2242 7.859 3.43441 -8.3974 -20.8527 -2750 2 12.9557 10.9266 8.44107 2.81464 0.707181 -2.19064 -2751 2 13.3446 9.46353 8.43156 -1.69187 0.066917 -1.61218 -2752 1 19.8812 15.7573 34.7861 -4.06867 3.04416 2.11606 -2753 2 20.2197 15.0911 35.3841 -1.39693 0.0543542 0.655742 -2754 2 20.2627 15.534 33.9371 -1.74523 -1.63224 0.24708 -2755 1 28.0598 14.4787 34.8705 5.37928 2.614 3.07549 -2756 2 27.8692 15.0335 0.1797 -2.40524 -2.56523 0.0428427 -2757 2 27.909 15.0449 34.1136 -5.62842 -3.60627 0.267252 -2758 1 19.6323 31.005 7.0221 9.20888 4.55656 1.96157 -2759 2 18.9038 31.3669 6.51756 1.61612 0.27848 -1.30313 -2760 2 19.2969 30.1781 7.36848 -1.30502 2.08742 2.48415 -2761 1 23.521 19.5792 13.6503 6.03364 -0.332811 2.62901 -2762 2 23.6747 20.445 14.0286 1.80967 -0.349473 0.225309 -2763 2 22.9412 19.1438 14.2752 -1.95949 1.66324 -1.35292 -2764 1 17.2304 33.3898 27.4249 1.1281 -6.20412 3.21829 -2765 2 17.9059 33.6588 28.0475 -0.192424 2.73248 -1.06281 -2766 2 17.626 32.6657 26.9397 4.2075 4.38632 -3.32403 -2767 1 14.5322 35.0858 34.6993 -0.268081 -5.95202 0.907761 -2768 2 14.9164 34.4631 34.0822 0.504538 -0.699612 1.06231 -2769 2 14.8594 34.8085 0.107853 0.741955 1.64832 0.440973 -2770 1 23.4486 32.977 12.2136 3.47655 5.48574 -13.7567 -2771 2 24.2409 32.4625 12.3679 -3.79185 -3.83586 -0.412587 -2772 2 23.3448 33.5017 13.0074 -2.52596 -6.75812 3.26493 -2773 1 27.8316 1.824 26.9097 -1.66042 8.9451 14.5854 -2774 2 28.3871 1.2825 27.4705 0.0286398 0.299291 -0.174207 -2775 2 27.9327 1.44688 26.0358 -0.962392 1.60629 0.713311 -2776 1 33.4916 28.0884 24.9203 -0.712322 -2.11292 3.47627 -2777 2 33.9329 28.4947 24.1744 -1.82696 -1.99834 -1.05081 -2778 2 33.8333 27.1946 24.9436 1.69504 1.18455 2.07523 -2779 1 4.51133 24.8021 27.5206 1.28979 5.47865 7.81809 -2780 2 4.62931 24.1455 26.8341 -4.27974 1.54165 -0.437149 -2781 2 4.53136 25.6396 27.0576 -1.95256 0.799878 1.27739 -2782 1 21.9854 18.5123 0.092704 -6.56221 -8.14758 -3.58299 -2783 2 22.4317 17.916 34.9387 0.0920611 -0.325727 0.101063 -2784 2 22.6414 18.7165 0.759221 0.0444473 3.15133 -2.08491 -2785 1 1.51348 16.027 0.149824 2.03745 3.53117 4.01959 -2786 2 1.09257 16.6699 0.720627 -0.162494 0.449542 -1.0739 -2787 2 1.18326 16.2305 34.7219 -1.02773 -3.01344 0.0396897 -2788 1 15.5969 24.9785 19.1505 1.73011 -8.89754 -8.0953 -2789 2 16.1733 25.4392 18.5408 1.97217 -1.48094 1.33374 -2790 2 14.9434 25.6309 19.4025 -0.186919 -0.70118 -2.37729 -2791 1 14.8977 26.7736 7.56698 3.64679 -0.802562 -0.27657 -2792 2 15.0608 26.9434 8.49478 0.535359 -4.91904 -0.346031 -2793 2 14.077 26.2812 7.55376 1.07337 0.968492 -0.658073 -2794 1 20.1266 16.995 24.3871 19.087 8.12062 -9.1825 -2795 2 20.0724 16.2868 23.7454 3.05509 -0.835597 1.61385 -2796 2 20.9558 17.4319 24.1928 0.975087 -0.677737 -0.421857 -2797 1 31.9677 9.81852 26.242 -4.91114 20.8064 9.87467 -2798 2 31.2256 10.3168 25.8997 -1.50199 -1.3044 -0.259873 -2799 2 32.4373 9.52148 25.4626 1.75304 3.89594 1.46565 -2800 1 0.380368 34.9269 18.532 -6.74307 -12.0947 7.8343 -2801 2 0.337044 0.188368 17.962 2.15691 -2.12816 -0.0824411 -2802 2 35.1959 34.3487 18.2086 -1.59822 1.57104 0.186063 -2803 1 13.4144 12.3364 24.2319 -3.88795 0.629947 5.10119 -2804 2 13.1054 11.7821 24.9484 -1.04187 3.33703 2.40208 -2805 2 12.6184 12.7232 23.8671 1.10482 -3.53512 -2.80024 -2806 1 5.18575 5.18379 32.8683 -8.52953 -1.48329 -7.56321 -2807 2 4.63138 5.73738 32.3183 0.791719 -0.45441 -0.17166 -2808 2 5.78991 4.76488 32.2553 0.641899 1.39399 1.70778 -2809 1 32.4253 26.6631 22.0955 -15.0204 3.20577 5.30348 -2810 2 33.1217 26.9876 22.6663 -0.981396 4.27585 -2.81302 -2811 2 32.7121 25.7858 21.8419 3.36573 2.01772 -1.00995 -2812 1 26.5528 2.70454 29.9113 8.95514 7.83874 3.78904 -2813 2 26.4617 3.06993 29.0313 -0.0834723 0.307849 0.204299 -2814 2 27.4614 2.4065 29.9545 1.33238 2.80669 0.553669 -2815 1 31.3574 7.26094 30.5828 -4.03998 0.261943 -3.75028 -2816 2 31.4615 7.58031 29.6865 -2.28306 -0.22389 0.0901194 -2817 2 30.4784 7.54204 30.8371 2.15248 2.87526 1.73663 -2818 1 10.1801 14.3848 10.0633 -12.1617 2.0849 -4.30922 -2819 2 9.29239 14.5028 10.4013 -0.911512 3.38922 -3.1982 -2820 2 10.0586 13.9669 9.21069 0.198087 0.963979 -0.535541 -2821 1 28.1521 13.9438 15.9583 2.50892 0.408084 -0.679025 -2822 2 27.2912 14.2181 16.2743 0.671428 0.0163249 0.0139203 -2823 2 28.0832 13.989 15.0046 1.37228 0.945193 0.662166 -2824 1 8.84268 24.5712 17.2424 3.44969 -1.93068 -2.28459 -2825 2 7.89403 24.6452 17.3464 0.397558 -0.544831 -1.58029 -2826 2 9.08421 23.8139 17.7758 -0.788671 -0.507014 -0.544087 -2827 1 6.95641 20.2933 23.8469 1.06651 -0.198739 -9.54172 -2828 2 7.07455 19.4613 24.3052 1.71358 1.37465 1.02785 -2829 2 7.84625 20.5962 23.6661 -0.775495 2.59061 1.12602 -2830 1 5.75767 13.1151 29.0524 -7.97376 7.83299 5.44391 -2831 2 5.93882 12.9694 29.9809 1.21281 0.126021 -0.679553 -2832 2 4.81049 13.2467 29.0104 -0.266364 1.37462 1.95971 -2833 1 30.0282 16.6847 32.8516 -11.2328 20.0015 -20.869 -2834 2 29.0808 16.8206 32.8633 -0.693183 -3.69826 0.0648344 -2835 2 30.2207 16.2642 33.6897 1.77695 1.0191 -2.32119 -2836 1 19.4053 24.3099 19.4577 8.65447 4.77876 10.7924 -2837 2 18.979 23.7496 18.8092 0.341436 2.37178 0.50017 -2838 2 20.1747 24.6569 19.0063 0.3177 1.49143 2.67484 -2839 1 21.0843 32.5202 34.0578 2.576 1.41346 0.224423 -2840 2 21.4117 33.3054 33.619 -3.5255 1.31905 -0.103233 -2841 2 21.014 32.7716 34.9787 -0.254995 -0.394205 -0.00629371 -2842 1 27.5834 10.4686 5.09157 -10.9482 -14.9634 6.13458 -2843 2 26.6332 10.5766 5.13221 -0.305973 -0.0647781 0.954535 -2844 2 27.7115 9.53795 4.9079 -1.7223 -1.39351 3.98857 -2845 1 28.7385 28.951 29.8835 -11.5401 2.51462 -4.71309 -2846 2 27.7957 28.8412 30.007 -0.670738 0.750379 -0.285083 -2847 2 29.0373 28.1043 29.5518 -0.417363 -0.926714 3.30304 -2848 1 23.1307 9.19308 12.3337 0.271372 -1.41529 3.65252 -2849 2 23.4644 8.44505 12.8289 -2.54285 0.642465 -0.778933 -2850 2 23.5213 9.95628 12.7593 -0.350473 -3.21359 3.45456 -2851 1 7.73182 20.4858 35.3899 -17.0412 3.67328 5.67729 -2852 2 7.15162 20.744 0.658948 -2.46349 -1.5055 -0.808684 -2853 2 8.31437 19.8322 0.329594 -3.36666 -1.41409 -0.124757 -2854 1 15.7473 1.18738 29.4666 8.99138 -4.76431 11.4419 -2855 2 16.622 1.2105 29.8547 0.69727 -0.907829 -1.13811 -2856 2 15.8119 1.7508 28.6955 -0.722798 -1.46272 -0.167298 -2857 1 21.0153 1.65931 12.0138 -0.807926 -2.85642 -3.27261 -2858 2 21.2844 1.85364 12.9116 -0.916424 -2.25324 -0.944087 -2859 2 21.749 1.16777 11.6444 -3.09998 -2.89318 -1.19791 -2860 1 17.7742 21.9579 29.4079 -1.43183 10.2189 -7.71686 -2861 2 18.0478 22.8312 29.6883 -0.485372 -0.0277758 -0.691396 -2862 2 18.4284 21.3691 29.7843 1.3136 0.635409 -2.92429 -2863 1 22.4656 13.0592 12.4564 0.391903 -10.4928 -6.3805 -2864 2 23.0946 13.6425 12.0317 -4.65889 3.40678 -1.05301 -2865 2 22.0569 12.581 11.735 -3.09446 4.72481 0.137222 -2866 1 11.2187 21.7367 13.5236 11.2203 -3.3679 11.148 -2867 2 11.4662 22.2306 12.7419 -3.03733 3.77767 2.17024 -2868 2 10.344 21.4007 13.3282 2.01496 -3.25253 1.35227 -2869 1 21.7259 10.8873 26.2257 -0.948559 4.40785 -20.9387 -2870 2 20.958 11.4299 26.0464 0.258215 0.988232 0.700661 -2871 2 21.6279 10.628 27.1419 2.85847 1.84581 -0.569352 -2872 1 18.468 8.09921 14.496 0.460724 0.338582 -2.70037 -2873 2 19.2276 8.48671 14.0611 -0.617008 0.333315 -0.269705 -2874 2 18.0138 7.61945 13.8033 2.29812 -1.97785 0.612331 -2875 1 2.92126 4.40316 25.4055 -0.594627 -6.74262 -2.27643 -2876 2 2.97228 3.60227 24.8838 -2.15811 1.70178 -3.17956 -2877 2 3.83162 4.67978 25.5102 0.275709 -1.41156 -1.54012 -2878 1 5.27078 8.44836 8.47366 -7.50519 -7.60062 -6.39689 -2879 2 6.08819 8.80039 8.12131 -1.56714 2.55761 4.24307 -2880 2 4.58633 8.84767 7.93671 0.783629 -1.12696 -0.660225 -2881 1 1.76917 24.1455 31.5871 9.02602 -11.9706 7.00766 -2882 2 1.55883 23.2163 31.4947 -0.39641 1.31334 -4.25707 -2883 2 0.926216 24.5669 31.7549 1.38584 -1.397 -0.144867 -2884 1 24.4496 22.6663 34.8586 -4.73651 3.87611 -0.631536 -2885 2 24.1429 23.4303 34.3704 1.24114 -0.963438 -0.382184 -2886 2 23.6548 22.2847 35.2313 0.557533 1.95083 2.46902 -2887 1 4.18318 10.9343 27.7274 4.85776 10.5023 6.59977 -2888 2 4.44701 10.155 27.2381 -4.63086 -2.5052 4.10237 -2889 2 4.904 11.0899 28.3377 0.494956 -2.76604 -0.457625 -2890 1 17.6964 23.1891 14.1611 2.528 -4.65335 -0.844841 -2891 2 17.1743 23.2456 13.3608 -0.520082 -0.73266 1.43697 -2892 2 18.517 23.6315 13.944 -2.46878 2.79571 1.01989 -2893 1 7.47741 4.12466 28.9506 -0.540841 2.4568 -9.88588 -2894 2 6.59486 4.06975 28.5841 0.644358 -1.70369 0.968235 -2895 2 8.0256 3.64574 28.329 -0.917384 -1.43845 1.04733 -2896 1 24.0011 12.4872 25.2177 -1.63741 0.861853 11.3118 -2897 2 24.2343 12.1095 24.3697 -0.728214 2.62357 -0.177716 -2898 2 23.2773 11.9448 25.5311 0.320345 -0.391044 0.088968 -2899 1 29.9156 1.50347 13.0309 19.0448 3.52148 -0.747577 -2900 2 29.0968 1.34719 12.5604 -0.905026 1.13431 3.52755 -2901 2 30.3885 0.67336 12.9718 -1.2587 -0.441583 1.56873 -2902 1 10.6844 11.217 11.7013 1.33878 -3.06313 0.144848 -2903 2 10.067 11.2335 10.97 -0.166971 -0.282535 0.479962 -2904 2 10.8998 12.137 11.8544 0.938882 -0.612302 -0.818373 -2905 1 26.8336 6.78223 27.9029 11.5112 1.50349 -6.90344 -2906 2 27.609 6.23134 28.01 -1.77876 -2.62931 -0.866304 -2907 2 26.7369 6.8791 26.9555 -1.69975 -1.31495 -0.0891284 -2908 1 19.4521 27.2611 28.0451 -14.0332 -12.1976 -5.23952 -2909 2 19.029 26.4902 27.667 -1.80084 1.18086 -2.29871 -2910 2 18.8344 27.5738 28.7061 -1.07244 -0.952262 -0.975604 -2911 1 9.18005 17.542 23.217 9.58692 5.53966 10.9819 -2912 2 9.73809 18.2933 23.0162 0.661761 0.249674 1.94269 -2913 2 9.53057 17.1951 24.0374 -0.451038 -0.441519 0.120853 -2914 1 18.2432 34.6318 20.6587 -14.8178 -12.8929 14.9929 -2915 2 17.3934 34.3554 20.3155 0.894255 0.596258 -4.69797 -2916 2 18.7971 34.7224 19.8833 2.90117 3.60804 4.39229 -2917 1 32.525 32.1026 29.9775 1.19741 1.95427 4.3926 -2918 2 33.1896 32.7313 30.259 -1.36297 -1.02136 4.51635 -2919 2 31.7007 32.5867 30.0264 -0.513643 -1.30973 2.8375 -2920 1 3.80601 11.4922 8.14632 9.02824 -8.2097 3.10397 -2921 2 2.93881 11.2995 7.78988 0.418984 0.403059 1.076 -2922 2 3.74295 11.2562 9.07183 -1.1469 4.51136 0.447144 -2923 1 19.1896 31.1144 32.5061 3.07339 -6.40905 6.96892 -2924 2 19.8074 31.5927 33.059 0.501986 -0.0600323 -0.60876 -2925 2 18.8138 31.7824 31.9326 -2.14162 -0.712873 2.35727 -2926 1 13.3364 28.4195 10.6384 -5.01076 1.76213 2.05512 -2927 2 14.1859 28.0302 10.4309 -1.16483 -0.864801 2.96633 -2928 2 12.7079 27.9116 10.1252 -0.68838 4.04386 -1.17866 -2929 1 9.56373 12.0613 5.54417 -8.0218 -20.2669 0.875703 -2930 2 10.1056 11.2784 5.64203 1.58025 1.53603 -1.36768 -2931 2 9.8396 12.4414 4.71008 0.617277 1.75 2.48548 -2932 1 7.60285 1.78858 2.08879 0.19232 5.73283 -20.0824 -2933 2 7.02218 2.54466 2.00276 0.474573 0.83358 1.69376 -2934 2 7.5107 1.51792 3.0023 2.91195 0.168917 -3.59678 -2935 1 28.7816 11.0345 9.63859 0.266169 2.83895 19.5255 -2936 2 28.9365 11.2443 8.71761 -4.17654 -1.73685 0.115912 -2937 2 29.611 11.2337 10.0729 1.89841 -0.786874 -3.46395 -2938 1 4.02317 14.839 0.81847 -3.68837 0.0531165 -5.35539 -2939 2 4.35752 14.3192 0.0875726 -2.82348 0.0993259 -1.0692 -2940 2 3.18374 15.1781 0.507615 0.966628 3.94 0.797238 -2941 1 28.3052 1.63659 9.03352 3.26313 2.99961 -1.05437 -2942 2 28.2986 2.44251 9.54994 -1.34905 -0.986399 0.956591 -2943 2 27.7776 1.02109 9.54254 -2.62801 1.48309 -3.72567 -2944 1 8.86105 20.4677 30.0536 -5.92802 2.2053 1.7584 -2945 2 8.39358 20.5181 29.2198 0.0772718 -3.11318 0.0771502 -2946 2 8.28184 19.9615 30.6233 -0.533885 2.24543 1.30942 -2947 1 18.1537 12.2328 19.151 -10.4682 0.155871 4.44097 -2948 2 18.586 11.7639 18.4373 -0.384457 1.67294 -0.206693 -2949 2 17.225 12.0258 19.0465 0.0480797 -0.774503 0.24081 -2950 1 30.2744 30.1289 18.8358 -3.96715 0.0935664 -8.38557 -2951 2 31.145 29.7517 18.7095 -0.147376 1.12178 1.6605 -2952 2 29.8876 30.1384 17.9603 0.0432452 -0.346864 0.583518 -2953 1 28.7255 14.9388 4.98002 -7.49327 -7.4278 17.7853 -2954 2 29.0605 14.0616 5.16564 0.211933 -0.85908 -4.01397 -2955 2 27.8008 14.8038 4.77322 1.20335 -0.518813 -2.96547 -2956 1 30.7879 17.3487 25.8764 1.48818 5.56834 -1.94334 -2957 2 31.6096 17.59 25.4489 -0.730261 -2.47537 3.11669 -2958 2 30.4383 16.6371 25.3401 -0.609294 0.308066 1.82469 -2959 1 20.8478 21.7768 22.7954 0.0358594 9.27172 14.5119 -2960 2 20.0162 22.2243 22.6391 2.52586 1.35719 -1.62567 -2961 2 21.5151 22.4166 22.5472 2.52891 -2.86184 0.976522 -2962 1 3.22194 15.2975 10.9357 -3.51532 7.70573 -16.7386 -2963 2 3.55999 14.7783 11.6653 -7.00058 0.904732 2.19656 -2964 2 3.78028 16.0747 10.9152 1.92723 -1.19381 1.40173 -2965 1 33.9272 7.6728 6.62392 -20.804 -1.07668 13.7617 -2966 2 34.078 8.5423 6.99464 4.86877 -2.50402 3.08823 -2967 2 34.4214 7.67239 5.80416 0.736965 -2.28961 2.47031 -2968 1 33.0943 6.73498 25.1359 -2.35227 -2.84798 5.46258 -2969 2 33.4608 6.34555 24.342 -1.23612 -4.04645 1.80119 -2970 2 32.7218 7.56737 24.845 4.72804 1.10746 -2.15895 -2971 1 29.4942 24.6409 11.6012 4.71049 0.825667 -3.56202 -2972 2 29.8232 24.0575 12.285 -0.610726 2.31733 1.79505 -2973 2 28.6114 24.3203 11.4164 1.46015 -1.24279 -1.57806 -2974 1 2.34792 1.81035 21.2382 -3.4999 -6.91405 -2.42619 -2975 2 1.4121 1.66343 21.1008 0.451451 0.0707964 0.348786 -2976 2 2.56626 2.53329 20.65 1.02378 -1.82654 -1.17006 -2977 1 11.0679 31.4274 0.349589 -3.97336 -13.8949 2.97679 -2978 2 10.304 30.9501 35.4729 -0.760996 2.82044 1.03595 -2979 2 11.8111 30.8622 0.138954 -1.44827 -2.32165 1.11003 -2980 1 34.9397 6.07678 11.1034 -2.22254 12.6479 0.124682 -2981 2 0.14602 6.5293 10.6522 -1.43533 0.263672 -1.74925 -2982 2 34.6875 5.37179 10.5071 0.11593 -1.26085 2.49135 -2983 1 20.0111 11.1357 17.5169 8.94125 -5.40484 -5.62534 -2984 2 20.596 10.5709 17.0117 0.573271 -1.62917 1.56005 -2985 2 20.4766 11.2893 18.339 0.347632 1.95303 -0.753852 -2986 1 26.6381 15.2383 11.5783 2.78153 -9.62363 -3.13409 -2987 2 25.7818 14.953 11.2598 -1.96195 2.60261 3.13745 -2988 2 26.7609 16.1057 11.1926 -0.616151 1.23039 4.45004 -2989 1 7.32762 7.27335 11.5191 -11.5084 1.52659 1.91609 -2990 2 7.87547 7.21532 10.7364 -3.04089 -2.64426 -0.970149 -2991 2 6.63615 7.89162 11.2828 1.28543 0.865092 1.79652 -2992 1 8.60792 9.07582 19.3478 1.04807 2.81443 -4.51533 -2993 2 8.93494 8.21003 19.5922 -0.156428 -0.0130758 -1.45729 -2994 2 7.78872 8.90098 18.8846 1.88853 1.2264 -0.117691 -2995 1 11.2159 13.0372 22.9095 -3.77077 -2.02172 -8.1681 -2996 2 10.931 13.3055 23.783 0.451649 1.14277 -0.721053 -2997 2 10.4331 13.1218 22.3651 0.734647 -0.604207 0.445075 -2998 1 15.7036 18.8245 34.7355 5.23332 -0.227801 0.791726 -2999 2 15.2712 19.5646 35.1615 -0.454361 -2.99982 3.71108 -3000 2 16.5946 19.1314 34.5676 0.0840154 0.936719 1.94938 -3001 1 23.1195 30.9582 32.8093 -11.3175 14.9495 1.96537 -3002 2 22.4065 31.3447 33.3176 1.35806 -1.22189 0.859915 -3003 2 23.7489 31.6708 32.6982 1.85513 -2.36108 1.61979 -3004 1 2.07812 30.6848 32.5125 9.50871 4.37908 2.11897 -3005 2 2.43408 29.8226 32.2975 -1.77747 1.34646 -0.726946 -3006 2 2.8449 31.2117 32.7374 0.797833 -3.39264 -0.125451 -3007 1 12.1981 21.2384 5.43324 3.93045 4.29295 -2.75349 -3008 2 11.4503 21.4703 5.98398 0.717393 -3.04214 1.72986 -3009 2 12.8415 21.9273 5.59964 -1.76956 2.25667 -1.02733 -3010 1 16.4951 26.0231 23.2793 1.20945 1.85924 -2.84815 -3011 2 15.7985 26.4104 23.8094 -1.49847 -3.03635 -3.10019 -3012 2 16.7991 26.7395 22.7221 -0.741222 0.615042 0.378175 -3013 1 3.71108 6.70022 23.0891 0.546525 1.51113 1.77057 -3014 2 4.45769 7.21328 23.3982 1.24038 -2.02874 -0.0210337 -3015 2 3.10006 6.69769 23.8259 -0.180669 2.16934 -0.352777 -3016 1 23.6925 19.6449 1.86019 6.11077 -4.15312 -0.477888 -3017 2 23.6298 19.1029 2.64672 -0.089146 2.12459 1.32039 -3018 2 24.5702 20.0247 1.89981 -0.817435 1.66468 0.388381 -3019 1 12.4959 4.32834 15.962 -0.464021 11.3045 -0.319746 -3020 2 12.1311 4.98338 15.367 3.40215 1.83627 -0.124034 -3021 2 13.4256 4.54853 16.0205 0.3889 -1.75557 2.45794 -3022 1 2.89099 24.3098 12.3341 -10.2719 -2.50793 -2.75169 -3023 2 2.73334 24.3455 11.3906 0.597416 3.60168 1.58196 -3024 2 2.11574 24.7153 12.7225 2.77215 2.33842 2.72458 -3025 1 4.4686 13.6711 19.8435 -0.224386 11.0909 -3.62286 -3026 2 4.27441 13.4825 18.9254 -2.82327 7.11789 0.0186368 -3027 2 4.91935 14.5153 19.8249 0.632082 -0.232832 3.71788 -3028 1 7.1078 19.856 18.4337 2.64282 -7.78221 -9.14682 -3029 2 7.43041 20.0245 19.319 -2.09754 4.43317 -1.08205 -3030 2 7.64216 19.1271 18.1182 2.03997 -0.403494 3.33763 -3031 1 23.3081 24.8617 33.3754 1.02774 5.67881 9.77323 -3032 2 23.5976 25.4019 32.6402 -1.14669 1.16174 0.738581 -3033 2 23.4605 25.406 34.1479 -0.414788 0.0385136 0.849893 -3034 1 6.59192 35.2634 10.2919 -1.69789 -7.03354 -1.4315 -3035 2 6.039 0.537106 10.3377 0.735783 -1.88206 -2.53305 -3036 2 6.80998 35.0699 11.2036 0.924183 2.2383 0.209157 -3037 1 21.5878 3.03158 28.3469 -7.36918 10.2464 7.09225 -3038 2 21.3479 3.69549 27.7004 -1.01123 -1.88456 -1.87167 -3039 2 20.7883 2.89048 28.854 -1.54958 -2.11883 -3.12699 -3040 1 24.8121 5.45479 22.5708 4.95404 0.738567 0.825884 -3041 2 24.3509 4.70237 22.2001 1.47035 2.40415 -0.973521 -3042 2 24.6174 6.1749 21.971 -0.859228 -0.289865 1.57076 -3043 1 34.4439 0.14072 3.29046 0.170386 0.494963 0.747063 -3044 2 34.6455 35.4143 2.38414 0.597437 -2.35776 1.12549 -3045 2 35.299 0.264483 3.70234 -0.535882 -2.81448 0.371187 -3046 1 4.27486 2.40924 7.98257 -17.2399 4.37037 -32.5587 -3047 2 4.6166 1.97117 7.20312 0.888642 -0.0110902 -0.402426 -3048 2 3.79879 3.16693 7.64271 1.17907 1.10367 -3.32676 -3049 1 24.5176 31.6538 21.542 -1.7922 -10.8329 -4.7487 -3050 2 24.6804 30.9765 22.1986 0.388193 -0.0291122 -0.00436807 -3051 2 25.2264 31.5481 20.9075 -0.808358 -1.43934 -0.445244 -3052 1 34.4191 34.6792 25.2728 1.19412 -4.21575 -4.26816 -3053 2 33.9421 -0.00252157 25.1796 0.357394 -0.571662 2.03016 -3054 2 33.8891 34.1627 25.88 2.14388 -0.654089 1.21809 -3055 1 11.2607 8.85349 13.2596 -2.85349 8.637 0.395286 -3056 2 11.1856 9.44817 12.5133 2.36053 2.61497 1.72379 -3057 2 10.3558 8.66542 13.5087 -0.678152 -0.566696 -3.97953 -3058 1 17.0459 2.13522 0.319573 -7.62627 -7.75025 6.92663 -3059 2 17.1923 2.32736 1.24579 1.43866 3.99033 -1.0029 -3060 2 17.8554 1.71362 35.4783 0.980211 3.23457 -0.74221 -3061 1 24.82 22.0747 14.9437 -3.32541 -3.90264 -4.36813 -3062 2 25.0997 22.4204 15.7913 -2.12642 0.636614 -1.03652 -3063 2 24.7413 22.847 14.3837 0.143539 -1.58195 -0.0114513 -3064 1 17.7746 29.2204 7.77634 -1.75581 -15.0852 -1.02709 -3065 2 17.5185 29.1396 8.6951 4.22675 1.97634 0.772015 -3066 2 17.6967 28.3328 7.42654 3.48531 -0.859944 2.65568 -3067 1 14.0445 24.7695 11.8375 0.104386 3.22218 -4.1619 -3068 2 14.7198 24.1007 11.9509 1.97005 2.64165 0.295046 -3069 2 13.9228 25.1386 12.7122 -0.891384 0.540169 -1.09134 -3070 1 24.4309 23.4053 24.8337 1.96428 -14.3017 4.03813 -3071 2 24.7546 24.0966 25.4113 3.72551 -1.18643 -2.45811 -3072 2 23.719 23.8162 24.3432 2.19485 1.23715 -0.958494 -3073 1 11.8838 15.0848 0.294702 -11.4296 10.2094 -27.0561 -3074 2 12.5161 15.1014 35.0234 1.30371 0.162089 0.989065 -3075 2 11.4533 15.9388 0.255296 2.16788 1.85131 0.156548 -3076 1 11.0005 18.7643 17.6983 0.390203 6.27683 -5.83743 -3077 2 11.2331 19.0898 18.5679 -0.860541 -1.16214 -1.08104 -3078 2 11.3443 19.4235 17.0955 -2.41904 3.17817 2.87646 -3079 1 0.212921 34.4319 28.4455 -5.86964 7.99631 1.8581 -3080 2 35.4147 34.4114 29.3527 5.9547 -0.0953155 0.917275 -3081 2 0.50196 33.5366 28.2691 -0.201666 1.05608 -2.47241 -3082 1 27.6981 7.7592 5.28276 3.92355 -11.2186 0.242097 -3083 2 28.562 7.34785 5.25841 -0.149851 1.68166 0.720173 -3084 2 27.2695 7.37236 6.04625 0.205607 0.902706 0.367591 -3085 1 18.5723 5.67892 20.2163 -6.02016 1.8601 -5.43617 -3086 2 19.1293 6.24861 20.7468 -3.96339 1.04349 1.38954 -3087 2 19.1816 5.07394 19.7932 2.43478 1.13669 2.2349 -3088 1 2.33693 13.1719 32.3593 -13.3993 -4.48384 -16.0865 -3089 2 1.5677 13.7241 32.4995 1.4918 -0.72052 0.376221 -3090 2 1.97874 12.3212 32.1059 -2.51831 -0.528888 2.5057 -3091 1 35.0122 31.7353 0.970772 6.57238 -0.58943 -2.42739 -3092 2 34.6001 31.4202 1.77521 -2.94121 2.29257 -0.94387 -3093 2 34.5126 31.3212 0.267087 1.75996 -0.0651233 -1.11022 -3094 1 17.1722 3.81562 14.5284 11.466 6.01945 -3.64575 -3095 2 16.5577 3.94465 15.2509 -1.01933 -0.138314 -2.17922 -3096 2 17.8427 3.23287 14.8849 1.32264 3.2161 2.31187 -3097 1 23.7396 2.46095 3.91675 5.09855 -3.6877 -8.41987 -3098 2 23.8152 1.55569 4.21847 1.25645 0.0633707 -1.44855 -3099 2 22.8006 2.64503 3.94296 1.06893 0.251702 4.18713 -3100 1 22.4692 29.5039 22.7944 -7.04283 13.1446 -24.7136 -3101 2 22.7786 29.3334 21.9047 -0.0355099 -3.58315 -0.530013 -3102 2 22.6888 28.7095 23.2812 -5.94423 1.46554 0.646369 -3103 1 8.34225 6.62101 29.939 10.7605 -4.966 -5.37703 -3104 2 8.85581 7.12833 29.3104 1.09347 -0.453817 1.09475 -3105 2 8.16523 5.79339 29.4918 -0.746411 0.476258 0.738427 -3106 1 35.1774 29.8008 28.037 -14.2266 5.81133 -9.66849 -3107 2 35.0229 29.8285 28.9813 1.46344 3.94796 -0.437012 -3108 2 35.2933 28.8713 27.84 2.87828 0.486819 2.79865 -3109 1 30.2879 0.506773 35.0183 -0.0220244 -7.48652 -13.6305 -3110 2 29.4063 0.507705 34.6456 0.368065 -0.436168 0.028707 -3111 2 30.8668 0.628735 34.2658 0.0722307 3.42722 0.71933 -3112 1 9.04929 33.894 34.152 1.75944 -1.76355 -12.0666 -3113 2 9.98995 33.9231 34.3267 -0.237583 -0.73015 0.731214 -3114 2 8.9592 33.2777 33.4251 0.940534 -1.93201 3.3508 -3115 1 8.19649 7.90125 34.6279 -0.750093 -8.24519 11.2663 -3116 2 8.11967 8.7432 35.0768 -1.49527 -0.431736 -0.390457 -3117 2 8.55354 8.11986 33.7671 -4.43471 -0.494743 -0.869832 -3118 1 16.3613 30.7341 16.1521 -1.32103 -1.78989 8.1053 -3119 2 15.4334 30.5913 16.3388 0.211157 -1.94223 -4.84257 -3120 2 16.6538 29.9164 15.7495 2.73462 3.00948 1.63632 -3121 1 1.38641 21.5237 15.8356 0.382218 21.7981 1.54053 -3122 2 2.17106 22.0089 16.0908 1.63247 -1.64657 0.384985 -3123 2 1.47499 21.4044 14.89 1.02155 -0.698164 0.852323 -3124 1 24.4986 16.9123 14.4172 3.36877 -4.46589 -1.72943 -3125 2 24.4501 15.9986 14.1361 -0.1234 0.839279 -1.26243 -3126 2 23.8432 17.3624 13.8842 0.898563 1.2003 0.483694 -3127 1 6.59793 30.0857 32.9682 -10.0053 7.44618 5.35652 -3128 2 6.34106 29.5277 33.7022 1.72771 -1.41646 -1.61101 -3129 2 5.91687 30.7571 32.9272 1.67235 -0.510327 1.12055 -3130 1 13.7919 1.75339 32.9854 -3.04482 -0.841377 -3.04608 -3131 2 13.8631 0.825517 32.7614 2.90628 0.884514 -1.17246 -3132 2 13.8558 1.7753 33.9403 1.63449 -0.902038 -0.815833 -3133 1 4.50537 20.472 25.3775 -7.01104 -10.863 -0.411089 -3134 2 4.10411 20.2045 26.2044 0.21006 -1.79814 -0.483465 -3135 2 5.10303 19.7571 25.1585 3.19687 3.09117 2.48273 -3136 1 8.5517 4.97747 10.5373 8.54264 -6.17324 -2.27361 -3137 2 9.3799 4.56812 10.2868 -0.0265061 -2.80724 1.99319 -3138 2 7.88203 4.45063 10.1011 0.791187 -0.216069 1.93204 -3139 1 6.57267 13.4244 12.4651 -2.66533 0.190568 0.343552 -3140 2 6.84562 14.1285 11.8769 0.999929 -1.41232 -0.862375 -3141 2 6.80767 13.737 13.3388 0.593879 0.504111 -0.617371 -3142 1 17.3051 29.5698 18.826 -2.09761 -1.56961 -5.85992 -3143 2 16.9932 30.1121 18.1015 1.27135 -1.36871 -1.67475 -3144 2 17.7855 30.1759 19.3899 -2.60039 0.672287 0.578534 -3145 1 7.07373 33.6833 15.8811 -3.33946 -16.3787 0.753892 -3146 2 7.97151 33.3642 15.973 -0.335634 -0.646447 -2.04025 -3147 2 7.09186 34.5629 16.258 1.52739 0.883337 -5.12431 -3148 1 4.32196 32.0851 0.42601 -8.31271 4.23867 3.2573 -3149 2 5.25152 32.0642 0.19857 0.0467094 -1.76689 3.06762 -3150 2 4.04169 32.9742 0.208875 1.73502 0.288443 -1.76802 -3151 1 12.4966 15.4353 7.00479 -4.87305 -6.78623 14.9711 -3152 2 12.4009 16.0358 7.74402 -1.11078 0.813417 -1.10515 -3153 2 12.4123 15.9922 6.23079 2.09218 -2.59353 -0.188445 -3154 1 20.2251 27.4421 4.69375 -14.3676 -3.36821 9.96803 -3155 2 20.7465 27.3324 5.48899 -2.05761 0.0840214 1.10639 -3156 2 20.5287 26.7469 4.10997 0.279503 0.866927 1.72249 -3157 1 30.0019 27.9901 32.6268 1.82088 -2.2096 -6.54983 -3158 2 30.4839 28.5623 32.0298 0.44041 -1.26554 -0.728412 -3159 2 30.5757 27.2339 32.7502 0.0590132 1.6685 1.09813 -3160 1 14.6358 3.8656 1.21071 -0.819968 1.59801 0.387496 -3161 2 15.1718 3.07311 1.18106 0.116537 0.518779 -0.450852 -3162 2 13.7884 3.59562 0.856623 -0.433036 -0.289237 1.20145 -3163 1 4.2822 7.13256 1.69724 -14.9359 -8.17507 -4.62687 -3164 2 4.87502 6.72009 1.06902 -1.06769 2.21203 -1.06715 -3165 2 4.16104 6.47383 2.38107 5.26702 0.414931 0.632684 -3166 1 29.1615 26.1905 28.8827 9.67772 3.76926 8.13664 -3167 2 29.2574 26.8932 28.2398 0.513427 -4.85775 -4.47592 -3168 2 28.2853 26.3164 29.2469 -1.95118 -3.16068 -6.29995 -3169 1 3.62976 32.788 28.9084 -0.834533 -1.73903 1.92162 -3170 2 3.07474 32.0132 28.8196 -0.722843 3.12955 -2.08264 -3171 2 4.47746 32.4449 29.191 -1.39132 2.29384 1.33189 -3172 1 23.7625 25.8517 5.67418 -2.89265 0.905805 -6.3717 -3173 2 23.9373 24.928 5.85466 0.777798 1.62035 3.15506 -3174 2 24.6083 26.2071 5.40128 0.409569 1.94495 4.04616 -3175 1 25.3841 33.2777 0.144757 -6.80409 -2.47605 7.89502 -3176 2 26.2712 33.376 0.490466 -1.91422 -1.35509 3.02263 -3177 2 24.9671 34.1233 0.310124 1.51027 1.3301 -3.37749 -3178 1 0.685328 1.52273 17.0713 2.74794 15.6135 -13.9686 -3179 2 0.559315 2.42202 17.374 -1.37572 -0.190286 -1.4119 -3180 2 1.27373 1.60246 16.3206 -0.68884 2.516 -1.17394 -3181 1 23.6485 8.67276 18.7769 -7.08752 -5.50871 -6.71542 -3182 2 22.7359 8.79532 18.5156 1.02533 -0.47446 0.882346 -3183 2 24.1045 9.43553 18.4212 -1.32333 0.912962 3.4913 -3184 1 33.0482 15.6342 13.3463 8.18733 4.85689 -0.214581 -3185 2 33.9436 15.6098 13.0087 -0.630976 -1.10045 -2.04374 -3186 2 32.5901 14.9479 12.8612 -1.60322 1.25415 1.39163 -3187 1 18.3307 24.6467 30.1322 -0.955422 -1.38722 -1.75177 -3188 2 18.9627 24.8944 30.8071 -1.49562 1.04332 -0.108165 -3189 2 18.153 25.46 29.6597 -2.69449 -0.827413 0.404738 -3190 1 5.36796 26.7648 9.70426 -13.6267 -2.88569 -2.78576 -3191 2 4.62472 26.803 9.10228 -0.865691 -2.76846 0.591491 -3192 2 5.0026 26.4092 10.5144 2.49814 -0.442311 0.242191 -3193 1 10.1075 10.0813 21.5404 3.09966 6.72823 0.892418 -3194 2 10.4974 10.9043 21.2457 0.780786 -0.847116 -0.777912 -3195 2 9.50312 9.83741 20.8393 0.835184 0.0782372 1.61986 -3196 1 19.012 35.0674 29.8516 4.3428 -6.61849 10.5981 -3197 2 19.0973 0.402926 29.4041 -5.38171 -1.86839 -2.89064 -3198 2 19.8446 34.6239 29.6891 0.183317 1.63007 -3.019 -3199 1 29.9973 14.9857 24.7306 -17.4183 5.33963 4.87523 -3200 2 29.7441 14.5706 25.5551 -1.91594 -1.82735 -1.48944 -3201 2 30.7847 14.5152 24.457 -2.11635 0.90977 -1.69864 -3202 1 6.6402 29.0041 30.4905 15.7643 -8.82461 -4.15695 -3203 2 7.10398 29.3504 29.7281 2.3573 3.19606 3.31031 -3204 2 6.93748 29.5482 31.2198 -4.49631 -0.702552 0.707882 -3205 1 10.1181 30.2954 18.3043 -12.0596 -1.90595 -3.77068 -3206 2 10.9678 30.6733 18.5311 -1.63719 1.83543 -0.208788 -3207 2 10.241 29.9394 17.4243 -0.308495 -0.288452 1.5646 -3208 1 32.3865 34.1511 4.78754 -1.67137 -3.00822 -5.19097 -3209 2 33.3065 34.19 4.52596 -1.62335 1.39459 -1.27044 -3210 2 32.3622 33.4932 5.4824 2.08471 1.65484 1.49175 -3211 1 8.26454 25.9048 25.8804 8.94171 -11.3934 0.741146 -3212 2 7.47174 26.2165 25.4439 4.55256 2.3376 -2.50811 -3213 2 8.18021 26.2157 26.7817 -0.324019 -1.77069 -0.17311 -3214 1 34.3926 28.7617 22.3391 1.9632 1.7306 -7.94159 -3215 2 34.76 28.2417 21.6243 -0.843718 -0.102087 -0.399323 -3216 2 33.9973 29.5186 21.9066 -1.328 -0.716924 0.707409 -3217 1 26.1808 0.338509 20.7552 -0.530624 0.905905 1.22078 -3218 2 26.9748 0.135408 21.2496 0.758579 0.520292 -2.53616 -3219 2 25.4771 35.4207 21.2463 2.72845 -3.10353 0.445541 -3220 1 10.6084 26.3748 18.4166 3.99152 3.8481 -5.58069 -3221 2 10.0782 25.743 17.9308 0.773352 -0.238694 0.0988648 -3222 2 10.0993 26.5584 19.2062 2.35715 -3.68713 0.611427 -3223 1 8.64044 7.6455 22.4072 -6.40467 -2.47405 -12.6408 -3224 2 9.37282 7.41678 21.8349 0.521448 -1.22821 1.03763 -3225 2 9.0216 7.6745 23.2847 -3.04737 -2.20988 -1.76929 -3226 1 34.9357 6.28892 29.4823 -2.65782 -6.85515 -9.59745 -3227 2 34.7842 5.37266 29.2505 2.73546 0.78599 -2.66532 -3228 2 35.3491 6.25302 30.3449 -3.33941 1.66965 -0.276464 -3229 1 22.966 8.26627 24.9751 -3.72776 2.73435 -0.299067 -3230 2 23.5948 8.60314 24.3369 2.10863 -1.48539 1.46579 -3231 2 22.6759 9.04029 25.4578 -1.42852 1.2525 -2.54178 -3232 1 11.4497 14.5881 29.1677 3.44622 4.90251 9.9534 -3233 2 11.2767 15.52 29.3013 -2.29014 -0.777789 -3.16685 -3234 2 10.9794 14.1524 29.8785 -1.01619 2.56573 0.316079 -3235 1 30.9829 28.1896 16.3482 3.36744 -8.84675 3.87946 -3236 2 30.8989 29.0477 15.9326 -2.1131 -1.76634 0.217371 -3237 2 31.8401 27.8695 16.0668 -1.29576 0.932408 -2.9256 -3238 1 19.6015 34.6355 0.734635 3.82111 -4.37811 6.72148 -3239 2 20.0608 34.5325 1.5681 -1.3195 1.04856 1.2229 -3240 2 19.6676 0.0635781 0.537969 1.46512 -0.941646 -1.4333 -3241 1 6.52274 20.2042 8.34712 -4.98263 -2.7053 7.87655 -3242 2 6.45632 20.8253 9.07234 -0.554966 0.744751 -0.522263 -3243 2 6.74491 20.7439 7.58844 0.61905 -1.46179 0.0439269 -3244 1 2.22782 5.94996 13.0364 -17.2712 -2.84246 5.56346 -3245 2 3.16404 5.76122 13.1004 -0.880385 2.20527 -2.96363 -3246 2 1.97011 6.19048 13.9263 2.3965 0.663106 -0.613193 -3247 1 33.5525 3.02123 18.3272 2.13174 3.66578 2.24417 -3248 2 33.2473 2.81478 19.2106 -1.29332 0.657395 -0.726031 -3249 2 32.9021 2.62214 17.7492 2.43767 0.0675429 -1.10021 -3250 1 27.7117 5.52877 14.9754 -6.06074 2.41431 -3.95136 -3251 2 28.5657 5.88536 15.2199 0.974935 -4.04966 0.119662 -3252 2 27.3439 6.17708 14.3749 1.28794 -0.410055 2.17493 -3253 1 15.9445 23.7335 21.564 -8.60712 -0.951582 4.96711 -3254 2 15.9725 24.607 21.9545 3.72476 -1.41776 2.87875 -3255 2 15.6578 23.8825 20.663 3.24861 3.81336 0.0586851 -3256 1 6.6904 14.3962 15.0963 -0.0978392 0.803277 -0.133338 -3257 2 7.63287 14.5603 15.1288 -1.21276 -2.8047 2.42918 -3258 2 6.30051 15.261 14.9683 0.879849 0.2149 1.69295 -3259 1 5.94938 12.1421 3.05339 -3.45367 0.791173 -5.22024 -3260 2 6.27182 12.1751 2.15274 -0.568328 -2.4727 0.596492 -3261 2 5.22855 11.5128 3.02733 4.3059 -2.57114 0.352067 -3262 1 12.099 30.8089 11.2227 13.3139 12.603 -17.0896 -3263 2 12.5423 29.98 11.0424 0.570747 1.63989 -1.53893 -3264 2 12.8088 31.4303 11.3848 0.212312 0.992703 0.299528 -3265 1 18.9397 2.00989 15.9859 2.37424 0.777821 -2.15082 -3266 2 19.4513 1.25681 15.6903 -3.41359 -2.21367 -0.125346 -3267 2 18.5899 1.74354 16.8361 -0.67014 1.851 -0.0408308 -3268 1 23.9633 13.7242 20.699 -7.04089 -4.10473 -2.62291 -3269 2 24.4543 14.5014 20.9656 -0.258566 -0.269603 -1.11839 -3270 2 23.4888 13.9978 19.914 -0.17171 -1.31947 -0.255456 -3271 1 8.24907 5.78477 16.0182 6.14668 -1.69714 -3.23432 -3272 2 8.75532 5.13106 16.5005 3.79762 3.09406 0.268565 -3273 2 8.6576 5.81429 15.153 -2.1102 -0.242667 0.23941 -3274 1 28.3557 22.2528 21.4965 -1.12848 4.9588 -3.03789 -3275 2 29.0642 22.8062 21.1679 -4.15163 4.40876 0.435322 -3276 2 28.3309 22.428 22.4372 0.684064 -0.998779 -0.589035 -3277 1 1.81383 0.070486 2.4619 3.60168 -5.24101 14.9462 -3278 2 1.24801 34.9933 1.95639 -0.841782 1.90331 0.324084 -3279 2 1.92066 35.1365 3.30507 -1.36045 -0.149955 -0.0515105 -3280 1 35.5284 20.9796 3.82593 13.6567 3.77454 7.24769 -3281 2 34.6903 21.3564 3.55764 -0.452622 -5.9856 -2.48859 -3282 2 0.679368 21.5709 3.45906 -1.36066 -0.17902 1.15662 -3283 1 11.1819 3.63594 11.4341 -1.23448 -4.24365 3.98738 -3284 2 10.4888 2.97589 11.4209 0.599039 -0.966374 0.794656 -3285 2 11.232 3.91313 12.3489 -2.46566 2.9773 -0.694713 -3286 1 9.92738 28.8964 20.6864 3.94915 24.4543 3.73891 -3287 2 9.94766 29.2857 19.8121 -1.39617 -0.84439 -0.640753 -3288 2 9.39516 28.1073 20.5854 4.66981 -1.48028 2.11861 -3289 1 8.08269 0.989361 4.46134 -14.0597 -16.2403 28.609 -3290 2 8.89529 1.4905 4.39221 -0.684921 -2.58286 2.11947 -3291 2 8.34315 35.5911 4.28807 -2.96919 -0.287033 -1.33236 -3292 1 2.10527 25.5824 29.3595 0.983872 8.37989 -9.79344 -3293 2 2.22015 25.088 30.171 -2.38025 -1.22084 -1.47614 -3294 2 2.98885 25.865 29.1235 0.77411 -1.56796 0.88154 -3295 1 0.212584 17.1241 5.62441 1.39821 -1.61016 5.87563 -3296 2 0.651319 16.9542 6.45802 -0.368837 -0.914572 -0.677593 -3297 2 34.8451 17.4276 5.87057 0.334555 -0.236617 -1.48321 -3298 1 29.3616 32.8766 7.14896 -12.0765 10.2589 -0.939196 -3299 2 28.4597 33.0352 6.87015 0.182995 1.14712 -0.311918 -3300 2 29.4455 33.3551 7.97369 -0.209521 0.732153 -0.786202 -3301 1 33.4598 17.4491 24.9847 2.11038 8.3072 -5.40215 -3302 2 33.7183 16.5716 25.2665 -4.33311 1.26891 3.50772 -3303 2 33.84 18.0335 25.6406 2.0206 1.18645 -2.23072 -3304 1 14.6377 31.9704 20.1131 9.68456 0.860329 7.32485 -3305 2 14.4071 32.3851 20.9444 0.906652 0.595226 -0.0943368 -3306 2 15.5756 31.7932 20.1853 -1.25285 -0.793495 -0.410536 -3307 1 17.8961 30.1944 29.0767 0.621021 7.11004 1.80483 -3308 2 17.9929 30.3778 28.1422 1.44532 -3.2156 -0.349684 -3309 2 18.5488 30.7524 29.4996 0.838933 -0.0453566 -0.936837 -3310 1 29.8193 30.5889 9.54668 -0.628052 1.56003 -4.40323 -3311 2 29.6738 31.3737 9.01837 -0.450756 0.0175536 0.559744 -3312 2 30.5229 30.8317 10.1485 0.00756191 -1.38613 -1.25868 -3313 1 21.8272 0.179766 6.5969 -18.0431 4.53122 -6.56692 -3314 2 21.3272 35.0418 7.098 1.25164 0.338498 1.62574 -3315 2 21.4588 1.02419 6.85657 -0.750224 -0.0582204 0.31509 -3316 1 29.6904 11.0454 25.0251 2.33752 -0.96734 9.85858 -3317 2 28.8519 10.59 24.9487 0.302626 1.82834 -3.32752 -3318 2 29.5572 11.6764 25.7325 -0.76139 1.86091 -3.3875 -3319 1 7.91663 12.4205 27.488 2.38558 4.83677 -0.669721 -3320 2 7.28177 12.3613 28.2019 0.272835 0.640398 -1.26434 -3321 2 8.02843 13.3601 27.3435 1.12213 -1.33235 -2.81748 -3322 1 1.5855 18.1499 25.235 -3.60019 4.62669 0.297942 -3323 2 0.946117 18.7954 25.5363 0.895335 -0.142645 1.24424 -3324 2 1.35029 17.9874 24.3215 -0.800766 1.71324 0.665709 -3325 1 6.92913 23.5306 2.35467 4.24147 9.91669 0.192001 -3326 2 6.69957 22.6225 2.15737 -2.97042 1.45814 -0.0241258 -3327 2 7.72624 23.6918 1.84982 1.01333 -2.26896 0.290488 -3328 1 4.74579 5.257 7.60594 -8.1153 -0.577194 -4.07828 -3329 2 5.37806 4.61978 7.93823 1.04971 2.75479 1.22151 -3330 2 4.32943 5.61357 8.39062 1.06583 1.38027 -1.63751 -3331 1 8.12968 1.12532 8.49743 1.1209 3.96308 4.67158 -3332 2 7.74892 0.577617 9.18392 -3.55806 2.94526 -0.130036 -3333 2 8.3272 0.515943 7.78618 -1.14764 -0.264716 1.0137 -3334 1 19.7458 22.0659 2.67225 18.3384 2.20608 -0.94418 -3335 2 20.2877 22.1995 3.44988 -0.904178 0.218135 0.152496 -3336 2 19.0861 21.4287 2.94609 -1.91537 3.86918 -0.863176 -3337 1 26.9934 3.40086 0.234015 14.6517 10.5186 3.97054 -3338 2 27.3756 4.23204 35.3997 2.55867 -0.827732 0.197438 -3339 2 27.5537 3.1106 0.953764 -0.029995 0.66067 0.409184 -3340 1 2.76103 30.7268 25.4412 -5.75383 16.6906 -3.55212 -3341 2 2.32342 30.421 24.6467 -2.08578 -2.42204 2.2176 -3342 2 3.52516 31.2082 25.1241 -0.175038 -1.94824 -3.89895 -3343 1 32.1288 13.8554 23.8329 21.7008 -5.37731 -10.4704 -3344 2 32.8136 14.2332 24.3846 -2.0612 -2.23312 3.55763 -3345 2 32.2638 12.9099 23.8964 -3.38076 0.761255 -2.47604 -3346 1 10.2185 20.2676 34.3998 15.2593 10.6233 -8.64911 -3347 2 10.6626 21.0934 34.5924 2.38968 -0.805604 0.0260447 -3348 2 9.289 20.4948 34.376 1.73925 0.523081 2.37512 -3349 1 23.0906 20.8756 25.3075 13.7229 4.09741 -4.27902 -3350 2 22.4009 20.9589 25.9661 -0.288635 -0.356673 -1.99659 -3351 2 23.28 21.7759 25.0432 1.39522 -2.138 0.749067 -3352 1 29.4549 17.1088 18.2217 7.94286 -2.378 -3.85895 -3353 2 30.1656 17.4819 18.7432 -1.08675 3.07326 -0.802121 -3354 2 28.7383 17.7375 18.3082 -2.51312 -4.05733 0.561873 -3355 1 20.0608 13.4039 10.4572 5.04473 -4.51256 2.86533 -3356 2 19.4979 13.2149 11.208 -1.40501 1.1548 -2.22268 -3357 2 19.7461 12.819 9.76801 -0.432934 2.44907 0.190352 -3358 1 20.7016 15.0623 6.66541 1.39628 -2.79706 -4.73189 -3359 2 21.2622 14.3782 6.29955 -0.211539 0.394243 0.968982 -3360 2 21.1859 15.8745 6.51674 -1.87715 0.0703474 2.07966 -3361 1 18.8984 16.3315 29.0204 1.04537 0.310191 8.55786 -3362 2 19.5417 17.0382 29.0741 -1.41499 -2.25769 -4.03755 -3363 2 18.8584 15.9754 29.908 1.79801 -0.29507 -0.922349 -3364 1 32.5352 22.1102 16.3319 -24.3725 11.9478 -0.680763 -3365 2 31.659 21.7359 16.2399 -0.895725 0.758594 -1.5004 -3366 2 32.906 22.0727 15.4503 -1.05083 2.91754 0.171807 -3367 1 25.6654 12.063 29.5304 -2.85898 -13.6103 -17.2582 -3368 2 25.5664 12.5179 28.6941 0.531749 2.37548 1.99238 -3369 2 26.4216 11.49 29.4038 -0.650078 -0.782704 -2.2293 -3370 1 17.5123 29.9015 23.7452 0.130619 -0.12934 7.10982 -3371 2 18.2375 29.8134 23.1268 -0.184475 -2.12229 1.05588 -3372 2 16.7553 29.5459 23.2796 -1.00122 4.6161 1.99008 -3373 1 20.4269 5.6055 4.9074 4.34446 11.8067 0.910525 -3374 2 20.7434 5.94266 5.74551 1.47457 0.00737942 -2.02064 -3375 2 19.4959 5.43711 5.05254 1.31156 -0.867906 -0.780244 -3376 1 21.2253 7.22168 16.333 -7.94769 -3.95955 -3.61516 -3377 2 21.6588 8.07216 16.2626 -1.35531 -0.307306 -0.278736 -3378 2 20.2905 7.42705 16.3201 -0.220529 -2.51262 -0.430337 -3379 1 8.72324 17.2916 17.5625 -6.58968 -1.33093 7.05123 -3380 2 9.5685 17.7359 17.6288 -0.155545 -0.986223 1.46862 -3381 2 8.9395 16.4072 17.267 -1.04737 0.195017 -0.447676 -3382 1 8.76201 18.0604 33.5428 -7.56838 -2.56141 -6.95389 -3383 2 9.25193 18.8141 33.8717 0.521228 -2.10818 0.132125 -3384 2 7.86559 18.3812 33.4443 0.0444599 0.894764 1.53827 -3385 1 32.8224 35.5233 32.0988 -1.95057 3.24234 -1.2997 -3386 2 32.1812 34.8166 32.1745 -0.440579 0.909898 -1.21059 -3387 2 32.4032 0.661248 31.5284 4.28658 -0.597406 -2.52913 -3388 1 9.69385 32.4204 15.8089 10.3807 2.9954 3.37865 -3389 2 10.2901 32.8334 15.1844 -2.7783 0.235633 -1.68737 -3390 2 9.51347 31.5582 15.4344 -5.42953 2.82506 -0.923237 -3391 1 3.13446 9.32127 6.33326 -10.8097 -6.22737 3.06476 -3392 2 2.77258 10.0937 5.89901 -0.654735 -2.84703 -2.24445 -3393 2 3.78943 8.98642 5.72079 2.45726 1.68982 4.38482 -3394 1 8.17139 30.3513 28.5615 -6.52517 -10.0004 -7.04036 -3395 2 8.30711 29.9371 27.7093 1.01048 0.239809 -0.594245 -3396 2 8.8657 31.0073 28.6228 -0.506277 -0.885291 1.42944 -3397 1 5.53189 5.12086 25.8323 7.48861 7.48227 -2.55695 -3398 2 6.24114 4.54539 25.5459 -2.72995 -0.797924 -1.879 -3399 2 5.64172 5.91539 25.3099 1.47095 -0.398534 0.725182 -3400 1 27.9626 26.5991 23.4596 0.521509 -7.8934 -4.74021 -3401 2 27.4533 26.1298 22.7988 -0.388008 0.37005 -0.30781 -3402 2 27.3083 27.0624 23.9825 0.668756 -0.526858 0.0598596 -3403 1 8.77088 34.4658 30.1266 11.0961 2.89892 20.9596 -3404 2 8.04443 34.6847 30.7102 1.20981 0.306993 1.7449 -3405 2 9.52086 34.35 30.7099 0.890756 -0.0646288 0.845224 -3406 1 6.61394 26.6807 32.4226 -1.3746 -7.30693 -13.2846 -3407 2 6.41447 27.3957 31.8184 1.48957 0.777806 0.551128 -3408 2 5.83053 26.1308 32.4107 -1.57063 1.66406 -1.17362 -3409 1 20.6153 1.66454 21.2115 -6.82624 7.44408 7.7485 -3410 2 20.4401 2.47712 20.7369 1.56518 -0.224013 -0.875498 -3411 2 19.8172 1.14718 21.1044 0.272287 0.671331 -0.97757 -3412 1 17.1106 11.9436 25.7023 -2.31529 6.52622 -0.828719 -3413 2 16.5993 12.2588 24.9571 0.534096 -0.801411 -0.0917035 -3414 2 17.0326 12.6371 26.3574 -2.24782 0.334892 -0.841434 -3415 1 35.2892 32.216 32.5107 13.1229 3.49317 1.45054 -3416 2 0.695874 31.93 32.5391 0.180618 -0.974867 0.87005 -3417 2 35.3318 33.1256 32.2156 1.86379 -1.74338 -5.62944 -3418 1 18.6421 20.0697 10.2411 -0.760249 -5.85374 5.35721 -3419 2 18.6772 19.2535 9.74221 -1.20709 1.46995 -2.74082 -3420 2 17.788 20.0505 10.6727 -1.88027 1.53515 -3.60403 -3421 1 15.6679 16.7069 30.8439 -0.595343 6.97263 0.138322 -3422 2 15.1675 17.1025 31.5576 -0.077824 0.576454 -0.801573 -3423 2 15.0709 16.0652 30.4591 -0.549308 1.5231 -0.663896 -3424 1 25.3192 32.9991 32.9335 -0.145392 -5.90495 -13.1481 -3425 2 25.3528 32.9615 33.8893 0.482085 5.00413 -0.954227 -3426 2 26.1444 32.6064 32.6486 -1.53445 -1.1667 0.750488 -3427 1 21.9587 34.9114 21.6861 3.65539 -4.39228 -4.58889 -3428 2 22.819 35.1406 22.0376 0.572314 -1.7044 -1.45319 -3429 2 21.5901 0.237978 21.3919 0.714861 0.114712 2.79563 -3430 1 9.91267 22.8658 28.5446 -14.1799 3.41403 28.2445 -3431 2 9.67354 22.0633 29.0082 -0.138092 1.34312 2.98703 -3432 2 9.7777 23.563 29.1863 -0.00296983 0.094768 1.01292 -3433 1 18.918 1.83045 28.5438 -4.34857 15.7549 12.7936 -3434 2 18.7461 1.66405 27.617 4.87863 -1.77712 0.881538 -3435 2 18.4478 2.64243 28.7331 1.11083 1.64439 -3.12636 -3436 1 16.8382 26.302 13.6324 4.03359 -4.89263 2.71657 -3437 2 16.3219 25.8742 14.3155 2.00875 -1.24876 -0.88422 -3438 2 16.3006 27.0435 13.3542 -1.28915 -3.19085 -0.920498 -3439 1 23.037 33.978 14.6628 4.21813 1.60877 12.8096 -3440 2 22.874 33.8925 15.6022 -3.58972 2.05233 -1.08386 -3441 2 23.4374 34.8421 14.5663 -2.57994 0.643832 -1.57212 -3442 1 26.3779 30.428 35.2555 -2.59592 1.3535 -0.703548 -3443 2 25.7296 30.3999 34.5518 -0.687619 -1.42471 1.01732 -3444 2 26.3863 31.3426 0.0905942 -0.974484 -0.920489 0.627836 -3445 1 32.6398 13.7853 28.3915 3.91467 -4.13414 -2.69765 -3446 2 32.6 13.6369 29.3363 -0.334727 1.22835 -0.132315 -3447 2 33.0146 12.9788 28.0375 -1.76618 -1.4672 1.02159 -3448 1 1.19215 11.8896 7.4208 -3.40921 3.0357 -8.44886 -3449 2 1.34061 11.8641 6.47552 -0.0214094 0.0908808 -0.23019 -3450 2 0.4742 11.2738 7.56762 3.37529 -2.1067 1.14894 -3451 1 34.9995 34.5795 14.6795 0.672929 3.09838 2.60259 -3452 2 35.3498 34.7743 13.8103 -2.70571 0.851942 -0.029096 -3453 2 35.2236 35.3468 15.206 -0.104801 0.039011 -1.13565 -3454 1 9.91254 32.335 28.62 6.43116 4.37118 -1.75464 -3455 2 10.8418 32.2754 28.3983 0.372593 1.35336 1.6582 -3456 2 9.86533 33.0362 29.2698 -1.18122 -0.321332 -1.5517 -3457 1 6.3693 25.8201 16.6625 4.89261 3.72648 16.1743 -3458 2 6.38554 25.3562 15.8255 4.68629 4.26171 -0.313855 -3459 2 5.45701 25.7688 16.9477 -1.32666 -0.225144 -4.93422 -3460 1 32.8185 28.0047 1.06201 -5.57838 -0.182744 2.14705 -3461 2 32.6937 27.9671 2.0103 -1.48662 1.85874 -0.858103 -3462 2 33.7676 27.9681 0.943146 -1.68683 2.33236 -1.05935 -3463 1 2.1035 25.0049 9.73403 2.95207 -6.29275 -3.55759 -3464 2 1.35926 25.4058 9.28504 0.954402 -0.304633 2.04874 -3465 2 2.73675 24.8283 9.0383 0.972908 -0.362293 2.12157 -3466 1 3.70785 6.67803 30.8843 -0.122161 1.91736 -0.676321 -3467 2 3.2359 7.46176 30.6028 0.876484 0.82842 1.08843 -3468 2 3.22136 5.95182 30.4942 0.328417 1.21638 -0.602421 -3469 1 22.9146 23.3527 22.0072 -1.25971 4.56475 -2.81829 -3470 2 23.8559 23.365 21.8337 -0.307358 -0.605235 -0.784883 -3471 2 22.733 24.2037 22.4061 1.19574 0.104677 0.745539 -3472 1 4.20014 8.41088 26.8029 3.35373 -10.5811 -5.95442 -3473 2 4.86162 7.71927 26.7841 0.667307 1.94241 0.897544 -3474 2 3.49206 8.08084 26.2498 -0.356082 -0.157469 2.01662 -3475 1 27.8337 24.3776 5.10567 2.37849 -2.46319 1.28414 -3476 2 28.5459 24.7904 4.61722 0.708865 -2.94222 -1.05415 -3477 2 27.0836 24.9571 4.97201 2.05225 2.00893 2.20421 -3478 1 28.2509 34.7039 30.3825 -4.76092 5.9163 14.3707 -3479 2 28.8312 33.9508 30.4935 -4.9948 -1.75713 -0.332144 -3480 2 28.6292 35.1927 29.6516 -0.488576 0.708654 2.36347 -3481 1 30.1567 30.7224 15.6451 -5.56801 6.05947 -12.8658 -3482 2 29.4341 31.3077 15.8719 0.216574 0.435467 -0.148853 -3483 2 30.9386 31.1699 15.9683 -0.663861 -3.57014 4.63153 -3484 1 14.2972 15.8915 9.69908 6.00922 -9.96312 -2.98521 -3485 2 14.168 15.1752 9.07746 2.48745 1.24989 0.896836 -3486 2 15.2333 16.0856 9.65033 -0.0480828 1.47306 1.31405 -3487 1 32.3046 26.7568 30.2773 -7.39435 0.497476 -1.72373 -3488 2 31.8334 27.5168 29.9358 -0.240412 0.378062 3.91081 -3489 2 33.1297 27.1138 30.606 -4.33621 0.934021 5.34919 -3490 1 26.3854 26.686 5.02592 -6.28809 1.49535 -0.333485 -3491 2 26.1235 27.0032 4.16161 1.89347 1.97834 1.0529 -3492 2 26.9511 27.3755 5.37336 0.570478 -2.65752 2.37432 -3493 1 20.8665 29.0275 31.8909 5.36828 4.21718 9.04454 -3494 2 21.5933 29.5881 32.1622 1.31269 -1.7962 -1.90981 -3495 2 20.0884 29.4512 32.2531 0.891686 1.37944 -3.93709 -3496 1 25.8114 29.4524 19.7813 2.2953 1.9769 -2.73118 -3497 2 26.6647 29.3298 20.1973 -0.55122 0.851488 0.300945 -3498 2 26.0172 29.6955 18.8787 0.410045 -0.279303 -0.150156 -3499 1 9.81686 4.85262 23.3895 -8.50047 -8.13822 -1.58707 -3500 2 10.5761 5.33185 23.0577 -3.01161 -0.823542 -1.48687 -3501 2 9.25704 4.72945 22.6229 -1.41547 1.83375 1.4111 -3502 1 27.0981 22.2755 13.0372 -5.79791 -11.1936 -1.06182 -3503 2 27.0848 21.3442 13.2579 -1.28749 -0.558793 -1.17073 -3504 2 27.4762 22.3085 12.1585 -1.86038 1.03598 -0.0250246 -3505 1 29.7369 0.480195 28.652 12.2129 -8.08815 -24.5161 -3506 2 30.6646 0.244616 28.6399 0.756028 -0.396893 -1.42312 -3507 2 29.6773 1.18742 29.2943 0.331103 -0.821681 -3.1717 -3508 1 23.2894 4.02621 30.2023 -7.80416 7.48217 6.80169 -3509 2 23.9204 4.33065 29.5501 3.38599 -3.03822 2.67836 -3510 2 22.5594 3.68221 29.6876 3.46398 -3.3341 -0.708655 -3511 1 10.1189 1.62701 31.7898 -7.85916 9.22144 -0.458996 -3512 2 10.1027 2.57334 31.9327 2.36057 0.373786 -3.53498 -3513 2 9.30033 1.43971 31.3303 -1.34381 0.688964 1.47321 -3514 1 23.9872 35.1189 7.95919 18.2284 -4.45602 9.92786 -3515 2 23.3849 35.3931 7.26763 -2.37641 -0.792485 3.86618 -3516 2 24.5935 34.5186 7.52529 -0.124602 1.06337 -1.954 -3517 1 18.9544 12.2169 15.1004 10.2231 -4.43145 10.464 -3518 2 19.2397 11.8363 15.931 -0.89808 1.29549 0.977857 -3519 2 18.1641 11.7279 14.8712 0.110716 2.38867 0.796028 -3520 1 20.6404 34.0536 11.9687 10.9976 22.9347 -8.87206 -3521 2 20.1001 34.3982 11.2577 1.08415 -1.24532 -1.34625 -3522 2 21.3245 33.5499 11.5277 -1.88305 -1.47489 0.768636 -3523 1 1.017 25.617 23.7961 -7.92267 0.658327 3.97665 -3524 2 1.38738 26.2623 24.3983 -0.812074 2.08464 -2.50786 -3525 2 0.547806 25.0031 24.3611 -1.22761 3.33116 1.18225 -3526 1 10.9896 19.5445 23.2452 7.35267 2.45306 -3.75204 -3527 2 10.6494 20.4052 23.4893 -3.34348 -1.37248 -1.35083 -3528 2 11.8438 19.7263 22.8534 0.58284 -0.238467 7.936 -3529 1 27.8814 14.101 8.71517 0.109321 -7.76244 -0.615685 -3530 2 28.0546 13.6708 9.55254 -0.0253166 0.728765 -1.16574 -3531 2 28.041 13.4224 8.05922 1.98769 -0.154603 1.545 -3532 1 24.8552 12.373 16.4534 2.80402 1.37301 -2.57344 -3533 2 24.8519 11.8215 17.2357 -2.71734 -0.573195 -1.02185 -3534 2 25.2072 13.2114 16.7523 0.16036 -0.577582 1.59551 -3535 1 3.37031 29.514 35.2429 -0.0700923 12.6569 -7.84996 -3536 2 3.66439 30.385 0.062327 0.917191 0.741811 -2.36499 -3537 2 3.65998 28.9363 0.501846 1.12877 1.71083 -0.811827 -3538 1 0.35179 31.8885 22.2866 -4.82826 -7.70345 8.66802 -3539 2 0.730755 32.6265 22.764 -0.707823 0.866423 -1.2186 -3540 2 0.145411 31.2448 22.9643 3.9157 -0.707138 1.64225 -3541 1 22.0899 22.9664 19.2985 4.70583 6.96804 7.90385 -3542 2 22.1645 23.8259 18.8839 -0.743098 -0.17563 -0.413381 -3543 2 22.2615 23.1315 20.2256 3.39693 0.254649 -0.705176 -3544 1 21.0387 34.0771 16.8789 9.42866 0.954763 1.11011 -3545 2 20.6588 33.2828 17.2543 1.85843 0.782471 -0.543927 -3546 2 20.8192 34.7671 17.505 -0.905472 -0.435533 -0.831423 -3547 1 33.5501 31.2386 34.0706 -17.9894 8.57009 21.169 -3548 2 33.1048 31.9677 34.5025 -0.227183 2.00155 -2.44441 -3549 2 34.1864 31.6561 33.49 -0.0951291 -2.53785 0.286302 -3550 1 18.0421 31.4157 20.7315 -3.54393 8.45405 -0.394748 -3551 2 18.5773 30.7558 21.1723 1.23674 1.32093 -1.20787 -3552 2 17.8888 32.0849 21.3985 0.209624 0.0301862 0.154975 -3553 1 21.1227 11.5161 20.2274 -2.94068 -0.514279 3.15262 -3554 2 21.2126 11.261 21.1456 1.30391 0.18203 -0.372681 -3555 2 21.1991 12.4703 20.2349 -0.913297 -0.771684 0.379285 -3556 1 2.50289 22.4546 28.2579 3.97027 3.8635 -2.0516 -3557 2 2.73189 23.3675 28.0839 0.778268 -0.0521987 1.48239 -3558 2 3.24618 22.111 28.7536 -0.858374 -1.15872 0.172186 -3559 1 1.8987 15.3539 4.09987 1.91946 3.10074 8.837 -3560 2 1.55499 16.1318 4.5392 -2.06187 -0.819541 0.519926 -3561 2 1.1204 14.8823 3.80303 1.72475 1.17813 -4.99141 -3562 1 11.3151 29.949 26.0703 -1.41373 23.6675 -0.0178891 -3563 2 10.4032 30.209 25.9397 -0.87803 -4.18166 -0.714799 -3564 2 11.5722 30.3771 26.8869 -2.50055 5.26044 -2.07259 -3565 1 10.4669 0.479635 28.4702 6.98332 6.20547 4.03663 -3566 2 11.2534 0.795588 28.9148 -1.51046 -0.625385 0.548199 -3567 2 9.88649 0.200778 29.1784 1.44536 -2.50786 -0.579011 -3568 1 20.0135 21.1165 19.4011 -3.59943 1.69688 -3.445 -3569 2 19.9536 20.4738 20.1079 1.96905 2.86659 2.2711 -3570 2 20.6939 21.7257 19.6877 0.137013 1.20992 -4.39894 -3571 1 17.5011 14.9063 31.4526 12.2293 -3.89433 5.3826 -3572 2 17.4859 14.2261 30.7793 -0.631998 0.440275 -0.243768 -3573 2 16.8852 15.5684 31.1388 -1.43239 -1.22134 3.50248 -3574 1 23.931 26.1772 0.41894 3.4952 -12.1766 2.4676 -3575 2 23.8214 25.4864 1.07235 0.23721 0.368712 0.775735 -3576 2 24.8789 26.2665 0.320726 0.153128 -0.269827 0.172132 -3577 1 15.4795 12.3632 9.66808 4.77688 -2.6466 3.07168 -3578 2 14.5803 12.4215 9.34538 0.809631 -2.41294 2.04023 -3579 2 15.9943 12.8653 9.03633 0.239404 0.110885 2.89077 -3580 1 24.9488 4.70562 28.2371 10.4489 1.89581 -7.86617 -3581 2 25.448 5.52031 28.2951 -0.102147 -0.134311 -2.74845 -3582 2 25.27 4.28349 27.4404 -4.30517 0.452977 -2.52901 -3583 1 7.23206 24.3137 5.43109 -10.1411 -1.59806 1.82694 -3584 2 7.46337 24.7198 6.26647 -1.94101 -1.17937 -0.734066 -3585 2 8.03645 24.354 4.91382 -2.41115 4.06508 0.165746 -3586 1 28.5838 14.1121 13.1994 3.38335 3.6329 -0.906964 -3587 2 27.8233 14.4668 12.7388 2.42436 2.74832 -1.03467 -3588 2 28.6528 13.2093 12.8889 -3.84794 -0.838277 2.10966 -3589 1 34.0346 15.8788 9.37622 0.131364 5.75879 2.51971 -3590 2 34.6052 16.5377 9.77182 0.0575523 0.315541 -1.00307 -3591 2 34.541 15.0675 9.4162 0.878431 1.0162 -2.0188 -3592 1 31.8255 18.3671 3.7158 -3.06808 4.08983 3.78201 -3593 2 32.3233 17.8301 4.33223 -0.063455 2.96079 2.15242 -3594 2 32.1715 18.1285 2.85582 0.381466 -1.43646 1.45312 -3595 1 23.5909 11.4785 18.8548 7.42138 -1.39114 1.98375 -3596 2 23.0733 11.2643 19.631 -1.5958 -0.653773 -1.8128 -3597 2 23.25 12.3248 18.5651 -1.24317 -2.21549 -2.31425 -3598 1 15.3418 31.4092 27.9991 -7.70302 -0.410807 5.9489 -3599 2 16.105 31.8971 27.6896 -2.59685 3.80238 1.33792 -3600 2 15.3801 30.5781 27.5258 1.37541 2.15685 -3.17854 -3601 1 13.7731 0.54618 8.10539 6.97101 -3.75342 -3.05543 -3602 2 13.8337 35.2662 8.64781 -2.02246 -0.132773 -0.51265 -3603 2 13.437 1.22004 8.69631 -2.63957 -0.574753 -1.67622 -3604 1 29.7422 21.7344 15.8154 -1.95403 10.4986 -4.52406 -3605 2 28.9359 22.1604 16.1062 -1.10714 -1.4998 -0.245697 -3606 2 29.5462 20.7983 15.8533 3.33193 0.150481 2.48514 -3607 1 9.34752 5.53292 13.3797 4.53531 0.896783 2.83435 -3608 2 8.95398 5.79174 12.5464 -0.00511393 -2.29292 -0.30685 -3609 2 10.1583 6.03926 13.4297 -0.872468 0.373057 -1.44367 -3610 1 33.684 33.2628 18.3391 -9.38675 5.22013 -2.74967 -3611 2 34.1458 32.5654 18.8045 4.10766 4.24635 1.0333 -3612 2 33.1866 33.7168 19.0193 -2.79996 -1.30155 -0.881049 -3613 1 8.4881 30.2448 2.44149 -2.91557 4.94298 8.44177 -3614 2 8.18575 31.0735 2.06995 -0.0779166 -1.72637 -3.34146 -3615 2 7.8819 30.0691 3.16112 0.382119 1.96789 -1.02635 -3616 1 25.319 5.98733 34.5148 9.10799 -7.69883 -0.0667008 -3617 2 25.2927 5.2034 33.9662 -0.961659 -0.352086 0.199196 -3618 2 25.5961 5.66962 35.3742 -1.03878 -0.574276 -0.381033 -3619 1 26.738 34.7332 14.2948 -0.192919 -0.77538 1.63215 -3620 2 26.7609 35.3851 14.9954 0.175471 0.947019 -1.02275 -3621 2 25.9081 34.8928 13.8455 0.658691 0.141659 -0.771348 -3622 1 21.8327 2.06013 14.527 -0.635347 2.9555 12.4407 -3623 2 21.3272 1.2791 14.7521 0.248146 -0.0819776 -0.00855613 -3624 2 21.3262 2.78671 14.89 0.71593 -0.420402 -0.402694 -3625 1 35.0221 0.231656 21.0048 5.8521 4.11702 3.33082 -3626 2 35.1729 0.0292659 20.0815 3.18998 -0.349771 0.935023 -3627 2 0.258699 35.3433 21.4615 -3.0313 -1.9009 2.99488 -3628 1 22.3551 9.63087 16.261 3.21709 12.3275 -4.47889 -3629 2 23.2053 9.19286 16.2233 -0.0580106 0.740061 1.02011 -3630 2 22.4247 10.3449 15.6273 1.02553 0.0823399 -0.635705 -3631 1 11.1995 33.5959 17.8181 1.39374 4.3774 -10.6936 -3632 2 10.7111 33.2273 17.0819 -3.25889 0.227744 2.41585 -3633 2 11.6092 32.8391 18.2372 2.89241 1.37201 -2.15736 -3634 1 31.8225 18.5223 34.56 -3.32058 4.17571 -14.0097 -3635 2 31.2933 19.1603 35.0386 0.388426 0.295278 -0.447712 -3636 2 31.5307 18.6015 33.6518 -0.0579648 -0.566791 0.104417 -3637 1 30.8789 31.967 12.9036 -8.57018 2.32107 14.4843 -3638 2 31.3717 31.3383 12.3763 -1.20305 3.89146 -2.01136 -3639 2 30.6654 31.4917 13.7065 -0.73233 -1.08716 -1.63962 -3640 1 13.9773 21.3924 19.9242 15.079 -0.891371 0.898863 -3641 2 13.9791 20.4495 19.759 -0.870544 0.573986 0.0319369 -3642 2 14.3236 21.7777 19.1193 -4.97921 0.688458 -1.87293 -3643 1 4.162 28.1763 1.92941 11.2721 -8.25651 1.61204 -3644 2 4.94995 27.7043 2.19893 -1.31961 -2.6288 -4.12438 -3645 2 3.45404 27.7635 2.42398 1.53577 0.976199 2.3694 -3646 1 2.61894 16.0128 16.0534 2.65221 11.0603 -4.20442 -3647 2 1.76957 15.5719 16.0717 -0.0421554 1.20978 0.836914 -3648 2 2.41054 16.94 16.1686 1.25569 0.529009 1.6056 -3649 1 13.5943 19.9564 22.5357 4.54283 -0.432012 -8.94128 -3650 2 14.2073 20.577 22.1417 -1.19203 0.931768 -0.533043 -3651 2 13.7521 20.0282 23.4771 0.502176 0.351287 -0.710161 -3652 1 7.18825 10.713 12.0528 -2.48975 4.45098 20.3952 -3653 2 6.438 10.1849 11.78 -0.336733 2.22227 -1.45167 -3654 2 6.81486 11.5681 12.2663 1.42221 1.43926 -1.25772 -3655 1 15.08 14.7211 6.25087 -0.211104 0.314136 -3.71454 -3656 2 14.1791 14.5607 6.53161 -0.736201 4.4101 -2.0467 -3657 2 15.03 14.7624 5.29587 2.1131 -1.95858 0.0522404 -3658 1 17.765 16.0872 24.8765 -17.3417 1.98754 7.54358 -3659 2 17.6371 15.6461 24.0367 -1.40239 -0.993093 2.74635 -3660 2 18.6221 16.5063 24.7993 0.524903 -3.39808 0.45681 -3661 1 17.6629 7.92428 7.74929 -1.20634 -0.534031 -1.41505 -3662 2 18.5439 8.25368 7.92729 0.372735 -1.41963 -0.236844 -3663 2 17.1242 8.71134 7.66842 1.70362 0.631063 -1.20406 -3664 1 3.05034 13.2039 2.90071 10.2577 -4.19471 0.743669 -3665 2 3.52904 13.709 2.24345 -2.21814 -1.41999 -1.3374 -3666 2 2.68483 13.8632 3.49061 -0.339733 0.790115 -2.89934 -3667 1 5.25491 2.13415 16.4098 11.9451 -13.3004 16.608 -3668 2 6.04493 1.82002 15.97 -0.105212 -1.83028 0.357528 -3669 2 4.85255 2.73353 15.7812 -1.01364 -3.31444 -0.086644 -3670 1 12.6124 32.5216 4.72024 -7.39105 -0.0519653 7.72896 -3671 2 11.9102 33.1688 4.78609 1.97676 1.73144 -2.28293 -3672 2 12.2335 31.8077 4.20746 -1.36205 0.465649 0.592344 -3673 1 33.0547 19.8219 12.7146 -10.8752 -2.59039 6.17341 -3674 2 32.8939 19.3218 13.5147 1.18754 -2.24639 -1.03368 -3675 2 33.6538 19.2753 12.2062 -1.52272 2.43346 -0.965447 -3676 1 8.67027 22.9484 34.6112 3.13757 7.0879 -3.76372 -3677 2 8.07556 22.2294 34.8246 2.73145 -0.739243 0.442631 -3678 2 8.31198 23.3258 33.8078 -2.10255 1.10927 1.31712 -3679 1 0.873324 12.1041 11.6855 1.26905 8.08275 -5.81077 -3680 2 0.737631 12.5655 12.5131 3.44448 1.56175 -1.1404 -3681 2 0.574472 11.211 11.8569 -1.97722 2.20648 1.22909 -3682 1 27.2981 18.0281 25.8759 -0.4372 -1.12812 7.87205 -3683 2 26.3866 18.1115 25.596 0.307484 2.81361 0.662547 -3684 2 27.7939 18.5361 25.2337 1.50146 -3.62283 -0.91399 -3685 1 20.972 4.9435 22.3243 7.50275 2.75784 20.6111 -3686 2 21.4313 4.88244 23.1619 1.50414 1.19126 0.40113 -3687 2 20.6811 5.85414 22.2759 -1.22078 -0.458237 1.75147 -3688 1 22.2724 31.3263 24.7749 7.72278 2.17579 -0.11151 -3689 2 22.2631 30.6884 24.0613 0.0533488 0.901774 0.0440948 -3690 2 23.1999 31.4416 24.9817 -0.27852 -0.449026 0.0780911 -3691 1 22.6642 15.1568 23.547 -0.409347 -0.839205 -9.17366 -3692 2 23.1048 15.5712 22.8051 0.320161 0.521419 1.31174 -3693 2 23.2094 15.3757 24.3027 -2.3218 0.727711 0.709085 -3694 1 11.1995 9.41799 24.1582 7.49311 3.92997 -5.50027 -3695 2 10.8862 9.88232 23.382 0.308949 -2.06835 1.11573 -3696 2 11.5175 10.1091 24.7392 -4.26906 1.30341 -1.15195 -3697 1 12.0009 23.2868 34.3322 -4.06381 -1.58742 8.14865 -3698 2 12.5234 23.5892 35.0751 -1.62705 1.22844 -0.685304 -3699 2 12.6425 22.9362 33.7144 0.289955 -0.75336 2.58293 -3700 1 23.225 18.6038 28.0793 1.07587 2.74212 0.47148 -3701 2 23.5425 19.5062 28.1115 0.0146688 -2.30849 -0.104113 -3702 2 23.9859 18.0731 28.3151 -1.78285 -1.85308 -1.76605 -3703 1 30.9246 3.09255 32.5197 -0.453915 -11.6761 4.12126 -3704 2 31.7846 3.46107 32.7215 -1.01082 0.485358 1.73266 -3705 2 30.3079 3.79419 32.7284 -1.05165 -0.870628 -2.96253 -3706 1 1.33894 18.3603 13.3846 -12.6271 -14.8007 4.29297 -3707 2 1.18911 18.2847 14.3269 2.71412 2.32134 -0.73482 -3708 2 0.976982 17.5534 13.0185 -0.0977707 0.902942 0.459145 -3709 1 9.40279 27.6865 1.85571 -3.49317 -7.06257 -2.07381 -3710 2 9.17571 28.5909 2.07163 0.345047 -0.500758 -4.5524 -3711 2 8.65428 27.1723 2.15837 -0.83578 1.68486 -1.06326 -3712 1 22.5972 25.1523 24.1599 -13.3957 12.8051 -2.79119 -3713 2 22.1466 24.6721 24.8546 -2.53168 1.5964 -1.04922 -3714 2 22.6844 26.0424 24.501 -1.95031 -0.318702 -1.07895 -3715 1 34.9451 12.2382 24.2306 -6.74699 4.90626 -2.4964 -3716 2 34.9676 11.4871 24.8234 -0.515597 0.648015 0.1903 -3717 2 34.5092 11.9103 23.444 2.69797 -0.172751 -1.02667 -3718 1 13.656 32.5527 14.5591 3.52399 3.28347 7.53009 -3719 2 13.5559 31.7127 15.007 1.70432 -1.68555 -2.99108 -3720 2 14.2764 33.0408 15.1005 -0.0096836 -1.42096 1.77616 -3721 1 25.8424 7.64287 30.1946 3.58911 4.37424 12.2937 -3722 2 26.4323 7.47709 29.4592 -3.24595 -0.732783 -1.40073 -3723 2 25.0375 7.96479 29.7888 -0.801812 -2.2113 3.65897 -3724 1 31.3475 3.95503 8.26969 -4.55984 6.24184 2.07703 -3725 2 31.6686 4.45361 7.51833 3.35756 -4.24341 0.00786495 -3726 2 30.6243 3.43397 7.92062 1.39136 -0.763387 -0.922171 -3727 1 32.0824 7.74441 18.9869 -14.1506 3.89877 -5.14723 -3728 2 31.5304 6.96305 18.9547 -1.83786 0.962853 -1.31355 -3729 2 32.6478 7.60768 19.747 -1.41189 -1.12343 -0.210839 -3730 1 33.8621 32.041 14.8242 2.211 3.12936 -10.2194 -3731 2 34.1566 32.9388 14.6711 -0.420902 0.736677 2.79158 -3732 2 33.2655 32.108 15.5698 0.914608 -3.38995 0.227113 -3733 1 15.8076 9.5358 29.2283 -1.80414 -2.26686 7.46877 -3734 2 16.2385 9.52694 28.3736 0.258512 0.504924 2.18098 -3735 2 14.9413 9.16325 29.0642 -0.116251 0.948383 -0.245439 -3736 1 14.7618 31.7857 33.9494 -0.862215 0.864066 -1.4651 -3737 2 14.8394 31.6125 33.0112 -1.38111 0.0101356 2.39798 -3738 2 14.521 30.9412 34.3302 0.66341 0.0671641 -0.448572 -3739 1 19.5432 27.8851 17.0366 3.36727 -4.51675 3.56854 -3740 2 19.9105 28.2384 17.8469 -0.780504 0.846087 0.17294 -3741 2 20.3042 27.5873 16.538 0.763129 0.195968 1.10021 -3742 1 29.4154 2.42483 30.2737 -13.3417 12.2077 17.6282 -3743 2 29.5887 3.35348 30.1195 1.17257 -0.114372 0.0723006 -3744 2 29.6925 2.27588 31.1777 1.52121 1.61815 -1.872 -3745 1 25.2114 16.456 28.3378 -0.138512 8.36784 -5.25643 -3746 2 26.1667 16.4449 28.2787 -0.525412 -1.292 -1.35792 -3747 2 25.0121 15.9163 29.1028 -0.764483 2.69607 0.583732 -3748 1 4.36082 14.2052 17.0353 5.66967 -11.0513 -2.65596 -3749 2 5.22231 14.268 16.6228 -0.156834 -0.0338139 0.602701 -3750 2 3.82085 14.8371 16.5606 0.794212 1.96493 3.67543 -3751 1 29.1382 0.851962 24.7707 2.06285 -1.13215 -6.06762 -3752 2 29.7411 1.31386 25.3532 -1.31145 0.491696 -0.408364 -3753 2 29.7045 0.31817 24.2134 0.555398 1.54372 -0.520127 -3754 1 27.6216 10.2278 23.2979 6.89211 -0.404131 0.510688 -3755 2 28.3775 9.96145 22.7747 -2.92047 -1.33565 -3.45873 -3756 2 27.6049 11.1823 23.227 1.28662 -0.754596 -0.814504 -3757 1 13.1028 23.7808 22.5152 8.99427 -0.0303466 9.38373 -3758 2 13.3775 23.5343 23.3984 -3.08937 -0.387731 -0.400884 -3759 2 13.8574 23.5758 21.9632 0.104562 2.04529 0.838043 -3760 1 33.1902 2.34833 4.32561 -1.75265 -2.42667 10.7405 -3761 2 33.6768 3.00764 3.83091 -4.56299 0.0272706 -2.71816 -3762 2 33.5625 1.51303 4.04301 0.0208334 1.71962 -0.866583 -3763 1 25.9453 28.2959 2.8978 16.8701 -15.6795 6.56734 -3764 2 25.1192 28.6872 2.61386 3.79374 3.54762 0.976538 -3765 2 26.5988 28.6514 2.29548 2.61282 -4.41372 0.498951 -3766 1 9.91296 2.7846 7.29577 -9.12229 -0.339628 -8.40421 -3767 2 9.33787 2.14816 7.72056 -0.350326 0.236506 -0.747486 -3768 2 10.7956 2.52321 7.55827 -1.14038 1.92774 2.10014 -3769 1 16.3074 34.8594 16.1228 3.5563 -1.36468 -12.0203 -3770 2 16.589 35.2646 15.3026 -1.44097 3.97022 1.98468 -3771 2 15.3516 34.8526 16.0714 1.39507 2.01712 1.76657 -3772 1 7.62107 9.73917 26.7802 -2.62894 -1.44688 -20.7265 -3773 2 7.50842 10.6867 26.856 5.44315 0.551319 -3.29343 -3774 2 7.99259 9.61071 25.9074 0.49808 -3.99413 -0.417346 -3775 1 3.53298 14.1983 8.20234 -8.19283 -2.13588 8.66323 -3776 2 3.25626 14.4375 9.0869 3.71795 -1.47699 0.701187 -3777 2 3.40553 13.2506 8.15903 4.56537 0.0399284 0.969593 -3778 1 17.369 21.5175 20.3438 -1.78726 3.34487 -1.26263 -3779 2 18.1535 21.7027 19.8276 0.617841 0.413018 1.48625 -3780 2 16.815 22.2887 20.2236 0.601437 0.778507 0.296816 -3781 1 24.8552 10.5385 5.64092 -2.07206 0.283785 4.81887 -3782 2 24.5974 9.98806 6.38036 -1.26661 1.31526 -0.132052 -3783 2 24.0468 10.6682 5.14502 1.14524 -1.08438 -1.97886 -3784 1 17.5413 19.8866 23.1663 0.716769 -0.077373 5.2828 -3785 2 18.2506 20.3344 23.6274 -0.0824389 0.0361011 0.472299 -3786 2 16.7708 20.4325 23.3233 0.396018 0.69726 -1.62177 -3787 1 9.13332 2.63099 27.3103 0.711433 0.238673 -3.16846 -3788 2 9.74087 1.98474 27.6701 -1.20779 -0.291884 1.20181 -3789 2 8.60772 2.14047 26.6784 -0.747072 0.18407 1.08674 -3790 1 14.2662 24.1474 0.96094 -12.2675 9.05938 -2.94394 -3791 2 13.7881 24.3962 1.75203 1.79681 -1.75478 -0.184912 -3792 2 14.7674 24.9289 0.727714 -2.70773 1.29013 -1.20205 -3793 1 34.1239 0.604707 34.3595 5.25471 -7.77037 6.08357 -3794 2 33.9537 1.42157 34.8286 0.723865 0.228405 -2.07331 -3795 2 33.6859 0.71669 33.5158 -0.310434 -3.20951 1.40054 -3796 1 12.2867 18.1924 0.681844 -26.9322 0.4752 -16.3741 -3797 2 12.8667 18.6555 0.0774987 -0.330875 1.47695 1.6832 -3798 2 11.4909 18.7237 0.705366 -1.03264 -0.124562 -1.31948 -3799 1 12.1575 6.42873 30.341 0.393529 -4.38889 4.89359 -3800 2 12.6038 5.72238 30.8081 2.18145 1.62459 -0.868224 -3801 2 12.5962 6.46916 29.4912 -2.43196 -1.27183 -0.36985 -3802 1 22.5459 21.3328 17.1554 4.88784 5.35815 -10.1134 -3803 2 22.2724 21.4952 16.2526 -0.993205 2.08258 0.418613 -3804 2 22.1318 22.0322 17.6611 0.26072 -2.30674 0.512731 -3805 1 16.4645 17.2516 22.2267 -4.68363 25.4595 -6.35803 -3806 2 16.6361 17.9878 22.8139 0.789742 0.486581 -2.32161 -3807 2 15.5107 17.172 22.2142 0.00738741 -0.123813 2.8024 -3808 1 15.9011 2.63371 27.117 11.0663 -18.576 6.78915 -3809 2 15.941 1.74607 26.761 -0.616252 0.395834 -0.805462 -3810 2 16.0186 3.20283 26.3564 -6.16279 0.231731 0.461073 -3811 1 17.5615 29.2029 10.5364 -1.06731 -1.05621 2.15091 -3812 2 16.9553 29.7528 11.0327 1.7347 1.92492 0.0444944 -3813 2 18.4269 29.4352 10.8733 0.698365 -2.48939 -0.237792 -3814 1 14.1384 0.581608 23.4078 -2.27897 9.31261 3.03833 -3815 2 15.085 0.723624 23.4143 -0.654032 -2.09883 0.0671299 -3816 2 13.8123 1.10415 24.1404 0.706033 0.223679 0.618332 -3817 1 14.9414 16.7395 14.495 7.32463 10.4942 3.301 -3818 2 14.5649 17.5429 14.8543 0.721363 0.702768 0.265994 -3819 2 15.7277 16.5877 15.0193 -0.820958 -0.865094 1.60426 -3820 1 18.608 10.1031 33.8477 -24.6084 14.0078 6.08919 -3821 2 18.0893 9.29922 33.8803 -1.5282 1.42905 2.34129 -3822 2 19.4229 9.84556 33.4167 -1.39694 -0.111796 1.69863 -3823 1 21.924 17.7782 6.96358 -19.7746 -3.21631 -2.76134 -3824 2 22.7217 18.2712 7.15575 -0.830949 -0.475262 -1.77061 -3825 2 21.3913 18.3778 6.44112 -1.77895 -1.23316 2.36002 -3826 1 9.22437 31.2544 9.95433 -1.17376 -3.31566 0.249839 -3827 2 9.95489 30.6972 10.223 2.55651 3.3203 -0.291877 -3828 2 9.2825 31.2824 8.99931 -0.289951 0.241407 0.420031 -3829 1 13.4077 7.95674 25.2807 1.23659 11.6173 -5.01344 -3830 2 12.685 8.48745 24.9455 -0.160213 -2.12909 -4.1976 -3831 2 14.1706 8.24687 24.7807 -0.134911 -2.45592 -2.35689 -3832 1 12.0763 15.0399 21.0425 -7.31986 -3.86399 5.04573 -3833 2 11.9752 14.2178 21.5222 -0.945123 1.25472 1.30913 -3834 2 12.2894 15.686 21.7159 3.77031 -0.895496 -1.86868 -3835 1 9.88201 18.408 5.93331 -14.9718 -1.8265 -1.45985 -3836 2 9.68756 19.3058 6.2023 4.29769 -0.451865 3.06777 -3837 2 9.38485 17.862 6.54235 0.444895 0.192676 1.24753 -3838 1 17.6882 1.78624 18.6449 -5.5752 3.91968 1.91873 -3839 2 17.1199 1.01994 18.7229 -0.425798 0.760221 2.22595 -3840 2 17.2387 2.46991 19.1417 1.02602 1.14993 -2.15016 -3841 1 31.7855 31.5559 20.7063 4.07595 4.65975 3.12935 -3842 2 30.9813 31.471 20.1943 0.982712 -0.00207104 -0.828102 -3843 2 32.4396 31.0649 20.2091 0.288299 -1.77808 2.62639 -3844 1 3.88936 14.0746 13.1719 5.21678 -7.17671 8.87143 -3845 2 4.82767 13.8896 13.1317 -0.365096 -0.752722 1.34397 -3846 2 3.63346 13.8254 14.06 0.296763 -0.345453 -0.47382 -3847 1 17.4025 4.32568 2.49463 -3.22214 -3.03566 5.24046 -3848 2 16.6942 4.96663 2.43314 -0.724206 -1.10438 -3.08822 -3849 2 17.6307 4.30859 3.42408 -2.55518 2.50628 0.0732779 -3850 1 32.9548 16.0465 16.0376 4.73557 -1.91881 5.23081 -3851 2 32.2003 15.5837 16.4023 0.422038 0.748287 -1.03015 -3852 2 33.0386 15.7047 15.1475 -2.1859 2.42796 -0.209222 -3853 1 26.8154 18.7571 3.07913 -0.134287 -0.681192 -0.14024 -3854 2 26.8181 18.0148 2.47477 1.19869 -0.326906 1.0985 -3855 2 27.7396 18.981 3.18846 -1.02417 0.967329 -0.375125 -3856 1 31.3031 29.3841 30.4925 12.7439 8.83549 -0.178563 -3857 2 30.4263 29.7121 30.2926 0.304923 -3.42483 -0.96222 -3858 2 31.8928 30.0718 30.1834 -0.913196 2.26969 2.85603 -3859 1 7.70111 13.5855 24.4289 9.97791 -8.95713 2.74808 -3860 2 8.14074 13.5829 23.5786 -1.21899 -3.08791 0.364893 -3861 2 8.37794 13.8586 25.0481 1.90439 -1.00514 -1.26579 -3862 1 6.3968 28.6105 19.7408 -0.298131 -2.04319 -8.18028 -3863 2 6.92458 28.7818 18.9608 0.391544 -1.6957 -0.454225 -3864 2 6.52111 27.6774 19.9145 0.47838 0.48206 1.75964 -3865 1 3.0465 10.5056 22.1889 2.32709 -5.82071 13.3437 -3866 2 2.93123 9.9475 21.4198 1.57071 -0.631015 0.832052 -3867 2 2.78828 11.3785 21.8929 -2.5708 -2.4563 1.52268 -3868 1 14.3782 26.937 28.596 9.60821 8.67151 3.62702 -3869 2 13.8037 27.432 28.0119 0.616908 -2.59811 -2.3899 -3870 2 15.2219 27.3856 28.5396 -0.937364 3.31179 1.78532 -3871 1 34.1164 21.8568 14.1478 5.18695 2.86612 -2.7819 -3872 2 33.6711 21.0886 13.7901 0.16716 4.15357 -5.49101 -3873 2 35.0325 21.7426 13.8948 0.187499 0.538806 -0.484871 -3874 1 32.6419 5.25883 6.00163 -1.22133 -1.26739 1.29798 -3875 2 33.1212 4.91923 5.24587 -1.75701 -1.11358 0.427833 -3876 2 33.0934 6.07234 6.22641 1.38351 -1.07468 -0.612535 -3877 1 23.6494 3.21765 21.3683 -4.61863 -1.51797 -3.01354 -3878 2 22.7543 3.49597 21.1747 -0.723196 -2.29625 0.609988 -3879 2 23.9167 2.71609 20.5981 1.33059 0.975413 0.873379 -3880 1 32.6447 16.118 31.9771 4.92458 7.65149 1.94671 -3881 2 31.882 16.4455 32.4539 -1.16603 -1.1017 -2.42802 -3882 2 33.2111 16.883 31.8761 -1.63804 1.29903 1.94438 -3883 1 6.29363 17.3648 3.95884 3.82395 -0.2605 9.74489 -3884 2 6.75172 17.3936 4.79881 0.55513 -2.43879 0.368223 -3885 2 6.1626 16.4319 3.78889 -0.713888 1.20396 -1.5457 -3886 1 31.9214 23.3127 21.9983 5.36237 5.08739 0.0628286 -3887 2 31.3177 23.8463 21.4815 -1.92443 -0.722569 3.27565 -3888 2 32.7782 23.7156 21.8579 -1.37972 0.583558 -0.232822 -3889 1 27.3274 28.0727 32.9254 -0.128522 -1.07874 -0.963512 -3890 2 27.1357 27.4156 33.5945 0.299043 2.24237 0.827474 -3891 2 28.2535 27.9436 32.7206 -0.706554 0.340564 1.0787 -3892 1 2.65063 33.5261 18.923 -0.475807 -1.10987 -14.2598 -3893 2 1.75038 33.8241 18.7929 1.23411 1.79624 0.588586 -3894 2 3.17886 34.3215 18.856 1.2742 -0.74189 1.82999 -3895 1 20.2603 25.4035 31.9398 2.63764 0.0143584 7.38238 -3896 2 19.983 25.8467 32.7416 -1.55154 1.44191 -1.17301 -3897 2 20.8361 26.0323 31.5048 -3.07164 0.57669 -1.61765 -3898 1 3.04327 13.8289 29.6408 2.43251 0.0959545 0.236489 -3899 2 2.22727 13.6895 29.1602 0.789563 1.61886 0.59905 -3900 2 2.86792 13.4843 30.5165 -1.91014 1.17906 -0.843994 -3901 1 27.7419 30.9995 32.5812 0.988809 2.46475 -0.334488 -3902 2 28.2985 31.2828 33.3066 -1.29678 1.61875 0.102619 -3903 2 27.5981 30.0665 32.7393 2.08457 0.262362 -0.900174 -3904 1 31.542 3.17267 11.4819 1.02322 -1.35888 -3.07947 -3905 2 30.9885 2.60353 12.0166 -0.049823 0.79761 -0.343916 -3906 2 31.2216 3.04871 10.5885 -0.937969 1.97019 0.0305741 -3907 1 12.7852 29.3614 35.2516 2.39249 4.76346 -3.32027 -3908 2 12.5245 28.4404 35.2449 -0.356984 0.86532 -0.0646309 -3909 2 13.0702 29.5235 0.70374 2.06797 -1.36651 -1.70521 -3910 1 23.7791 14.9732 35.0754 -0.252773 2.18519 7.13887 -3911 2 23.6502 15.0285 0.575116 -0.559464 -1.21197 -1.08213 -3912 2 23.9673 14.0489 34.9124 4.70784 2.06207 -0.820371 -3913 1 9.02665 31.44 7.08347 8.27154 4.28279 -3.52326 -3914 2 8.94569 32.3163 6.70697 -2.00378 -1.19947 0.809177 -3915 2 8.14967 31.0641 7.00717 1.2558 -0.714131 3.41882 -3916 1 31.3639 11.5983 10.4259 -1.70757 6.16601 1.45299 -3917 2 31.689 12.1759 11.1166 -3.63186 -0.553661 1.85101 -3918 2 32.0768 10.977 10.2775 1.29081 2.54659 1.10007 -3919 1 29.501 27.3231 3.76377 1.83422 7.56217 -2.35355 -3920 2 29.5414 26.5529 3.19682 0.187293 0.323983 4.38327 -3921 2 29.1082 28.0034 3.21681 -1.31734 -0.533733 0.682033 -3922 1 33.8197 14.8834 25.7597 9.98008 -4.08683 0.786344 -3923 2 34.7053 14.9197 25.3984 1.16536 -3.59622 2.02366 -3924 2 33.92 14.4282 26.5957 -2.31186 2.6059 0.953868 -3925 1 7.99155 21.511 20.4084 0.841531 -3.34819 4.8852 -3926 2 8.58315 21.5572 19.6573 1.54996 6.17917 2.36193 -3927 2 8.56211 21.3152 21.1516 -1.17675 2.34941 0.913831 -3928 1 32.4664 14.836 6.58929 -3.69142 2.85219 3.11936 -3929 2 32.7087 14.2224 7.28276 0.598258 1.08428 -1.41378 -3930 2 31.6242 15.1945 6.86953 2.04516 1.93914 -1.34063 -3931 1 19.2736 16.6309 16.9127 -2.72804 5.46857 4.23886 -3932 2 18.4227 16.5336 16.4851 -1.02528 -1.93414 3.81939 -3933 2 19.0624 16.8516 17.8198 3.18621 -1.89443 0.555498 -3934 1 10.7516 25.3069 14.9072 -12.6816 -3.02274 4.15342 -3935 2 10.0377 24.8166 15.3149 1.75007 -0.291116 4.4484 -3936 2 10.6565 26.1966 15.2472 -0.241497 0.288138 -0.960155 -3937 1 10.5884 3.58122 20.0241 9.23179 -7.39875 17.9616 -3938 2 10.1708 3.61014 20.8849 -0.528131 2.60921 -1.26157 -3939 2 11.5163 3.44022 20.2121 -0.0999029 2.18294 1.06876 -3940 1 23.1577 28.5342 20.1835 10.03 20.794 4.65757 -3941 2 23.9618 29.0523 20.1484 3.70821 -3.52097 -0.198815 -3942 2 23.058 28.1857 19.2975 -1.98278 2.08897 0.653897 -3943 1 6.6118 15.8866 29.1698 -5.56486 7.72349 -4.46841 -3944 2 5.97541 16.4756 28.7644 -0.753584 -1.19732 -1.00247 -3945 2 6.21404 15.0188 29.1 0.529937 1.31684 1.60809 -3946 1 33.8455 10.8712 5.32661 -0.648991 -6.26708 8.94336 -3947 2 34.0468 11.78 5.10335 -5.36502 -1.92314 1.29238 -3948 2 34.3936 10.3524 4.7379 0.102438 3.13333 0.661722 -3949 1 5.10697 7.98289 15.7546 -5.07526 27.341 4.51981 -3950 2 5.79832 8.61997 15.9346 -2.14877 2.30924 0.345888 -3951 2 4.57114 8.39525 15.0771 -0.366538 0.571445 2.96368 -3952 1 21.7333 9.98464 28.6528 10.1004 -3.52142 18.1579 -3953 2 22.1105 9.12109 28.4849 0.385492 1.14576 2.12448 -3954 2 22.2404 10.3293 29.3878 1.65115 1.10133 -0.525412 -3955 1 15.1205 17.5441 6.96785 -4.0742 -3.6394 -0.822275 -3956 2 15.1991 16.6892 6.54453 -0.611912 -2.02696 3.68048 -3957 2 14.1831 17.7364 6.94816 0.435806 1.26001 -2.2264 -3958 1 9.35744 21.7286 23.4748 4.60203 4.54243 5.31986 -3959 2 9.45631 22.4742 22.8827 -5.90072 -1.23724 0.0174059 -3960 2 9.27857 22.1213 24.3441 0.730143 -2.41451 -0.441865 -3961 1 9.43883 15.0048 14.9419 0.314426 1.59906 0.367481 -3962 2 10.2424 14.571 15.2288 -1.28222 -3.26256 -1.76344 -3963 2 9.6848 15.456 14.1344 0.767672 0.794746 3.0722 -3964 1 8.59354 10.7735 9.86306 5.99071 0.841656 -16.1772 -3965 2 7.83556 10.9072 9.294 4.25535 -0.712678 -2.30007 -3966 2 8.22842 10.7501 10.7476 -2.05275 -1.18312 -2.37107 -3967 1 11.617 13.0887 14.8901 -1.58894 -2.71727 -1.71031 -3968 2 11.7167 13.0473 13.939 -1.11901 1.43904 0.848427 -3969 2 12.4526 13.4342 15.2042 -0.689057 0.855696 0.270819 -3970 1 16.1134 13.085 16.6558 9.68148 -1.04717 -5.59688 -3971 2 16.2934 12.568 15.8706 0.402135 -1.30428 2.38463 -3972 2 15.9412 12.4349 17.3369 -4.22554 2.16248 0.566251 -3973 1 15.868 31.9579 1.66213 -3.81785 6.05441 -0.660218 -3974 2 15.0368 31.4962 1.55145 1.60361 -0.8945 -0.227265 -3975 2 15.9319 32.5247 0.893466 0.0556864 -1.5497 -1.40815 -3976 1 24.9234 12.5447 34.1221 -2.19408 4.7233 7.06644 -3977 2 25.5223 11.8195 34.2998 -2.48522 -1.91103 -0.736903 -3978 2 25.1937 12.8746 33.2652 -0.754639 -0.887511 0.121088 -3979 1 11.5296 35.4822 2.50447 6.38765 6.83479 -7.57633 -3980 2 11.2785 0.847732 2.80947 -1.29039 -1.10514 2.02978 -3981 2 11.701 0.0888475 1.56954 0.194343 3.11193 0.455568 -3982 1 30.379 11.0671 19.9867 5.07017 1.23248 -3.26146 -3983 2 31.0311 11.0087 19.2884 1.44841 0.55972 0.955547 -3984 2 29.6547 11.5577 19.5983 1.58837 0.565512 -0.967737 -3985 1 5.34237 10.3555 23.823 1.59358 -5.3267 5.95594 -3986 2 4.52641 10.4614 23.3339 0.739924 -1.63484 -0.998042 -3987 2 5.391 11.1326 24.3797 -0.548755 1.15207 -1.70377 -3988 1 17.2112 5.63859 9.20963 -1.59931 -4.98841 4.50344 -3989 2 17.4458 5.73633 10.1325 0.725663 0.553121 -0.0395487 -3990 2 17.4308 6.48275 8.81545 -1.20794 -0.678259 -0.627942 -3991 1 8.4864 30.6373 22.5698 11.9751 8.04387 0.919905 -3992 2 9.05026 30.0245 22.0978 -1.04013 -0.934625 0.0994632 -3993 2 8.3935 31.3832 21.977 0.471907 -1.58626 -0.868862 -3994 1 1.13272 13.3843 14.1251 11.7036 -16.0311 -24.3026 -3995 2 1.01956 13.9974 14.8515 -6.323 -3.68607 -0.94242 -3996 2 1.56261 12.6243 14.5173 1.24662 0.146274 -0.863917 -3997 1 3.61294 27.789 20.2148 13.9479 5.36317 -4.0896 -3998 2 3.59563 26.882 19.9095 -1.78317 1.42596 2.75437 -3999 2 4.47375 28.1144 19.9516 0.838882 -0.571317 0.875417 -4000 1 34.8798 19.1594 19.1625 -1.37504 -8.57866 -11.1703 -4001 2 34.7419 18.2405 18.9328 0.448631 0.286869 -1.25144 -4002 2 34.7198 19.6369 18.3485 1.74758 -0.95274 -0.862345 -4003 1 33.1735 25.431 7.09449 -4.41583 8.04986 -14.0378 -4004 2 32.7408 26.208 6.74045 -0.153824 0.146071 -1.47643 -4005 2 32.5342 24.7277 6.98075 0.235387 0.195829 -1.12817 -4006 1 10.0403 8.3942 8.36977 4.14754 19.2341 14.7274 -4007 2 9.80807 9.25226 8.72475 -1.53965 0.921002 -0.310744 -4008 2 9.28269 7.84178 8.56228 -0.0702865 1.99929 -2.25635 -4009 1 8.03694 12.0759 19.9347 -6.94948 -9.78202 -2.71026 -4010 2 7.66226 11.3761 20.4696 0.465487 -1.29197 -1.87734 -4011 2 8.46717 11.6206 19.2109 -3.7033 2.2393 -0.981192 -4012 1 1.41766 21.5415 10.3687 3.56249 0.224637 1.99497 -4013 2 2.20022 21.0061 10.2376 -0.799637 0.308728 -1.87963 -4014 2 1.6839 22.4234 10.1087 -1.33896 -0.12877 -1.47044 -4015 1 34.4975 20.5465 16.8175 10.2315 -18.1569 6.94962 -4016 2 35.1902 20.9993 16.3365 0.686829 -2.29661 1.94671 -4017 2 33.7669 21.165 16.825 1.44562 -1.77936 -1.90522 -4018 1 9.44173 24.8072 4.00537 3.18599 11.7807 2.5113 -4019 2 10.039 25.5224 3.78628 1.23444 0.581297 2.51338 -4020 2 9.36854 24.2995 3.19717 4.07741 0.133672 0.321972 -4021 1 4.73899 28.1296 4.76971 -4.30797 -5.26562 6.13443 -4022 2 4.69158 27.2545 5.15468 -0.352808 -0.10607 -0.737971 -4023 2 5.34102 28.0348 4.03161 2.43216 1.51696 4.45808 -4024 1 28.796 11.2658 32.5582 5.02594 2.57225 -1.18075 -4025 2 28.6287 12.054 32.0414 -0.34881 -0.152093 1.94418 -4026 2 28.0215 11.1737 33.113 2.03126 -0.126897 -0.434179 -4027 1 29.0048 2.02236 18.3182 -1.14984 8.37325 0.0309689 -4028 2 29.8924 1.7417 18.5408 -1.79269 -3.04698 0.308423 -4029 2 28.9688 1.96941 17.3631 -2.05592 -1.81896 0.795206 -4030 1 31.3835 11.699 6.3574 10.9594 1.27938 -9.56884 -4031 2 31.7367 12.2798 7.03134 0.937998 -2.47325 -0.00298411 -4032 2 32.1425 11.209 6.04112 -1.14077 0.263894 -2.91021 -4033 1 14.039 34.7439 31.2374 6.55161 4.04245 1.09534 -4034 2 14.4287 35.2564 30.5291 0.646193 -0.252499 -0.127536 -4035 2 14.5951 33.9679 31.3063 -3.37862 -2.77928 -3.44851 -4036 1 11.7428 19.2437 20.2152 -1.01459 -1.7126 5.84868 -4037 2 12.184 18.4187 20.4175 -0.415383 0.413393 1.45802 -4038 2 11.6883 19.699 21.0555 -0.515379 0.526114 -1.34328 -4039 1 35.5196 6.23858 32.0273 3.7866 -14.0836 -1.4516 -4040 2 0.476394 6.78305 32.6639 2.63966 -0.412619 -5.04589 -4041 2 0.316301 5.34861 32.2072 -1.05321 -0.176121 0.94582 -4042 1 15.5685 9.27302 33.0832 -3.56537 -3.4913 -2.62028 -4043 2 15.5367 10.0579 33.6302 2.27954 -1.54372 -0.320553 -4044 2 15.1891 8.58446 33.6292 -1.61314 1.65034 -0.551582 -4045 1 17.805 31.8087 5.1392 -4.7417 2.97872 -0.583035 -4046 2 16.8967 32.096 5.04612 0.220436 1.90547 1.34335 -4047 2 17.9241 31.1609 4.44468 -2.35066 0.492209 -0.216663 -4048 1 30.388 19.1235 16.0717 -15.4952 -8.29265 2.28005 -4049 2 31.2475 19.0131 15.6652 -1.15164 -0.201718 2.93494 -4050 2 30.139 18.2421 16.3497 -0.28409 -0.17882 1.69683 -4051 1 11.1062 6.99079 6.45424 6.82627 -4.17254 -7.99901 -4052 2 11.9773 7.37785 6.36684 -1.26792 1.13689 -4.19989 -4053 2 10.6476 7.56754 7.06515 1.39533 -0.186942 0.120506 -4054 1 12.2758 16.5947 16.7471 4.00536 -11.4271 2.79862 -4055 2 11.8835 17.2722 17.298 -2.22573 -2.32725 -1.58234 -4056 2 12.8613 16.117 17.3346 -2.55884 -0.147513 2.09305 -4057 1 20.3366 18.8419 32.7002 0.349495 -8.19314 3.83485 -4058 2 20.7162 19.5767 33.182 5.07714 -1.24001 -3.68865 -4059 2 20.7258 18.065 33.1017 1.08608 0.848222 -1.72409 -4060 1 2.0347 27.6022 3.56204 -0.861034 -0.0757757 10.9711 -4061 2 1.51849 28.3324 3.22076 2.83222 1.46954 0.28477 -4062 2 2.31345 27.8908 4.43108 3.3218 0.767371 -1.00717 -4063 1 18.8803 18.1119 0.867847 4.19773 -6.78545 1.58949 -4064 2 19.3578 17.5252 0.281209 2.80027 0.212795 2.02743 -4065 2 18.6026 18.837 0.308191 2.76695 -0.22979 -0.560285 -4066 1 16.2594 6.69312 5.57876 2.07676 0.708831 7.4761 -4067 2 16.8319 6.95983 6.29796 -3.56934 0.430806 0.365346 -4068 2 16.0572 5.77536 5.76065 -1.36362 0.308777 -0.432378 -4069 1 4.9164 23.8172 8.5489 -1.24016 9.80911 -0.832883 -4070 2 5.3451 23.2639 9.20185 0.582883 0.543676 -1.1967 -4071 2 5.42892 24.6256 8.5456 0.190051 -0.186211 -0.195091 -4072 1 33.306 33.2019 10.0884 3.14214 5.3069 1.1605 -4073 2 33.2759 34.0363 10.5565 -3.31366 -1.41005 -0.742553 -4074 2 32.9633 33.4028 9.21751 0.762042 -0.620598 0.279913 -4075 1 16.6105 7.1066 25.5431 5.94612 -1.5227 2.37806 -4076 2 17.0345 7.75528 26.1049 -2.86499 1.05855 0.332526 -4077 2 16.3552 7.59643 24.7614 -1.38338 -1.70352 0.430624 -4078 1 21.9068 1.54935 18.3721 22.6272 15.0493 -7.48295 -4079 2 22.8544 1.66656 18.4399 1.15982 0.700986 -0.126586 -4080 2 21.5683 2.4274 18.197 1.3468 0.932152 -0.161088 -4081 1 3.86061 3.59448 14.8336 -20.9965 13.3007 -10.8766 -4082 2 4.3642 4.40576 14.9003 4.04561 -4.16115 4.64785 -4083 2 3.20468 3.66148 15.5275 -0.637703 1.25249 -0.427359 -4084 1 21.923 8.04684 5.73181 -0.022764 5.45969 -4.87883 -4085 2 21.1698 8.12301 6.31756 2.82842 -0.549169 2.82146 -4086 2 21.8686 8.81933 5.1692 -1.9017 -1.13364 0.0701226 -4087 1 3.88484 21.7031 19.8762 -3.15287 -4.75027 -6.0866 -4088 2 3.80219 22.471 19.3107 2.22261 -1.42062 -1.68005 -4089 2 4.6185 21.9095 20.4553 -1.4287 -1.43493 0.986333 -4090 1 12.5086 27.8274 26.8377 11.4372 -9.37868 4.5279 -4091 2 11.8211 27.179 26.6857 3.70669 -3.69502 0.297188 -4092 2 12.113 28.6609 26.5829 -2.08228 -2.69956 -2.29516 -4093 1 32.4704 31.1628 16.9518 2.11357 -1.48819 5.50013 -4094 2 33.0533 30.4036 16.942 0.856727 1.46943 2.59918 -4095 2 32.8223 31.7266 17.6406 -1.11806 1.25621 -1.68717 -4096 1 4.04431 20.2437 14.7189 3.51045 3.84186 3.40953 -4097 2 4.05985 19.7071 15.5114 0.862525 -1.00848 -0.750195 -4098 2 3.88361 19.6206 14.0103 0.448612 1.46331 -0.858565 -4099 1 13.7668 15.0619 33.4074 -7.98084 1.45787 4.28602 -4100 2 14.6552 14.9022 33.726 -0.808891 -4.72155 -4.64895 -4101 2 13.7741 15.9763 33.1244 0.228786 -1.35587 1.30139 -4102 1 7.97543 4.02727 21.414 -4.18161 0.0674029 1.52049 -4103 2 7.59981 3.90537 20.5421 2.23066 -0.411297 -0.0588781 -4104 2 7.21732 4.11355 21.992 -1.11858 0.158971 -1.45303 -4105 1 20.2992 6.13681 12.6157 -4.65839 18.1078 -21.4402 -4106 2 19.3618 6.04703 12.4445 -0.334513 -1.33003 2.71319 -4107 2 20.5071 7.03248 12.3496 -4.8248 0.351749 -2.06179 -4108 1 5.16634 5.52008 3.92799 -5.78184 -1.8257 4.30678 -4109 2 5.62719 5.95699 4.6442 1.52983 0.662518 -1.62898 -4110 2 5.86253 5.15273 3.38338 -1.93258 2.13051 -2.97674 -4111 1 17.2743 18.9143 19.6381 1.95092 -12.4678 4.69416 -4112 2 18.0384 18.345 19.7287 1.1155 0.940059 2.14255 -4113 2 17.5128 19.7129 20.1089 -2.11882 0.329402 -0.681864 -4114 1 14.9231 7.12293 11.9749 5.60369 -10.0502 3.75912 -4115 2 14.4841 6.62806 11.2831 -3.12459 -0.362157 2.40912 -4116 2 14.4907 7.97685 11.9706 4.5601 1.30052 -1.57856 -4117 1 1.1018 6.6283 0.493833 0.0847131 -5.76526 19.042 -4118 2 1.96371 6.82989 0.858113 0.191272 0.208256 -0.573607 -4119 2 1.07326 5.67212 0.459891 1.89671 -0.0056239 -1.45991 -4120 1 22.5994 0.719477 27.6088 17.1548 -11.2245 2.33891 -4121 2 22.2394 1.57393 27.8465 -0.961734 -1.82423 -1.00339 -4122 2 23.4707 0.707589 28.005 0.0650274 1.08426 1.02412 -4123 1 15.7804 12.793 23.3565 18.8794 -2.11187 -5.38727 -4124 2 15.973 13.7033 23.1316 0.759814 -0.583143 -1.27856 -4125 2 14.89 12.8157 23.7072 0.585073 -0.153164 -2.1205 -4126 1 33.5832 6.90147 20.9754 9.08701 -2.73932 12.8218 -4127 2 34.386 7.40667 21.1043 1.24123 -1.73736 -1.0843 -4128 2 33.6157 6.22312 21.65 1.34856 0.910449 -0.297508 -4129 1 1.92125 17.8885 29.5518 -0.997191 2.22251 -1.60841 -4130 2 1.05933 17.9202 29.9669 -0.0724016 4.24677 -0.451976 -4131 2 2.51844 17.6399 30.2573 -1.72221 -3.05845 -0.0506166 -4132 1 11.6317 22.3278 20.7882 -11.0202 -5.53003 5.37447 -4133 2 11.8675 22.7064 21.6351 2.48978 3.60538 -3.72978 -4134 2 12.4521 21.9704 20.4483 -1.67976 0.0752414 -0.600526 -4135 1 18.9959 25.7341 1.07897 -3.47994 10.7156 -5.46845 -4136 2 19.1913 26.0765 0.206694 -0.252977 1.54123 0.0216058 -4137 2 18.3616 26.3518 1.44266 1.56703 1.13346 0.906771 -4138 1 26.7287 0.59146 2.48599 -2.20293 -9.78492 6.85805 -4139 2 27.2352 1.39482 2.60526 1.64506 -2.20521 -1.26388 -4140 2 26.6187 0.243488 3.3709 0.863162 0.562581 0.26655 -4141 1 10.4003 13.92 25.3078 -0.962396 15.3833 -4.93199 -4142 2 10.6122 13.4967 26.1398 -2.14085 -1.53014 -1.73293 -4143 2 10.4096 14.8565 25.5057 1.04593 -0.701333 1.55735 -4144 1 21.3637 34.043 28.8298 1.4001 -11.7715 -1.67874 -4145 2 21.8046 34.6519 28.2372 -1.50159 4.07699 3.9044 -4146 2 22.0757 33.584 29.2755 1.25601 0.388789 -0.978831 -4147 1 6.60999 30.225 4.76784 8.53452 9.67382 -4.29729 -4148 2 6.83393 30.1794 5.69736 -4.44206 0.238457 -0.139842 -4149 2 5.66376 30.369 4.75574 0.609064 -2.29517 -5.70018 -4150 1 6.99068 5.86981 18.4947 -8.23218 -2.20618 -0.894714 -4151 2 6.8151 4.93759 18.6227 -0.944124 0.172147 -1.23251 -4152 2 7.14578 5.95791 17.5542 2.29827 0.473602 0.679238 -4153 1 27.8466 24.3996 26.7588 1.05667 -1.74424 0.244623 -4154 2 28.1463 23.5403 27.0556 -3.25726 -0.701678 -0.0547919 -4155 2 27.5281 24.8299 27.5523 1.09271 1.11987 -0.409343 -4156 1 26.1831 0.140071 24.8988 2.35276 -3.3745 -4.70384 -4157 2 27.0796 0.245964 24.5803 -1.18138 0.568071 -2.21468 -4158 2 25.6645 0.736318 24.3586 -1.33754 -0.605024 0.874003 -4159 1 28.2363 32.548 16.4734 10.7774 0.742271 -16.6282 -4160 2 27.7881 32.4455 17.3129 -1.06544 -2.92576 -2.36439 -4161 2 27.9382 33.3959 16.1441 -1.02354 -0.261093 -0.15835 -4162 1 3.7132 17.6923 22.1338 9.48116 4.06658 -6.57558 -4163 2 4.10276 18.5544 22.2794 1.82023 -0.62549 0.480462 -4164 2 3.85734 17.222 22.955 -0.238367 -1.39491 -2.11917 -4165 1 21.9958 17.9788 20.5412 -0.23362 -9.40487 10.2253 -4166 2 22.69 18.5507 20.2136 -3.38689 1.18515 -2.63097 -4167 2 21.4976 18.5284 21.1461 -0.602627 -1.03644 0.576629 -4168 1 10.4154 21.3642 9.81859 -1.19287 9.56963 5.15119 -4169 2 10.974 21.8613 10.4162 1.63516 -0.365362 -0.565172 -4170 2 10.3197 20.5081 10.2358 2.73217 -0.708676 -1.86311 -4171 1 26.0962 27.3575 8.92767 -5.09794 0.447979 3.42067 -4172 2 26.675 27.7896 9.55576 2.50225 -1.90922 -1.31364 -4173 2 25.8413 28.0514 8.31947 2.49327 -0.121371 -0.649587 -4174 1 17.3595 11.0885 2.80451 -0.250902 3.86482 -2.43409 -4175 2 17.0745 10.3089 2.32789 3.58894 -1.8659 1.16046 -4176 2 18.2984 11.1477 2.62808 0.456684 2.04601 3.031 -4177 1 16.7677 15.9659 35.3884 4.2245 5.80279 10.1208 -4178 2 16.4669 16.8472 0.162809 -0.762282 0.77283 -3.27711 -4179 2 17.7026 16.0691 35.2106 -1.11119 0.926401 1.49324 -4180 1 5.38645 21.334 1.85386 8.77862 -1.42981 -9.42808 -4181 2 4.96706 21.439 0.999853 -3.25578 3.68236 3.06371 -4182 2 5.10365 20.4708 2.15562 -2.29893 1.86754 1.18616 -4183 1 13.986 4.7631 23.3052 12.8047 6.08458 -3.78654 -4184 2 14.6542 5.44206 23.2121 -1.76542 1.1993 -3.81598 -4185 2 14.1474 4.16571 22.5749 -2.48461 1.02262 -1.14882 -4186 1 25.2052 3.81092 25.2058 -1.355 -2.40509 -1.02471 -4187 2 25.3952 4.31498 24.4146 1.17205 -2.79144 -0.789296 -4188 2 24.7951 3.00742 24.8858 0.838829 -0.115986 1.22923 -4189 1 34.5549 24.9172 25.7942 -2.0019 3.3272 -13.8093 -4190 2 35.0348 24.1788 26.1694 -1.07342 0.657736 0.761941 -4191 2 33.9024 25.1413 26.4577 2.46285 4.86874 0.125467 -4192 1 26.21 33.1108 29.5456 -8.31537 -11.4325 12.1979 -4193 2 26.8514 33.6083 30.0529 -0.403036 -1.34439 0.585757 -4194 2 26.0717 33.6331 28.7555 2.6809 -3.75217 0.0799075 -4195 1 12.762 12.3262 9.28007 -11.3443 21.406 11.346 -4196 2 12.4904 12.5084 10.1797 -0.187416 -0.590399 -0.627906 -4197 2 12.204 12.8882 8.74247 -1.74784 -1.27697 0.00882101 -4198 1 30.9034 15.9971 28.3949 15.7811 0.909492 -3.857 -4199 2 31.4312 15.1988 28.4115 1.6553 0.56775 -2.32094 -4200 2 30.9644 16.3064 27.4911 -0.411354 1.67942 0.48472 -4201 1 0.823294 11.51 17.1883 -6.21799 4.15266 5.58237 -4202 2 0.682832 10.5642 17.2328 1.74444 1.63934 6.29122 -4203 2 1.61273 11.6107 16.6565 -2.30255 -1.59641 -2.13798 -4204 1 6.31451 10.4384 16.7685 -5.40696 0.391454 -3.08155 -4205 2 6.95707 11.1454 16.7095 2.72145 -3.77209 1.99599 -4206 2 5.8109 10.637 17.5579 1.07225 -0.237642 0.380436 -4207 1 0.544232 9.54012 23.5575 -3.52185 -2.62805 3.04745 -4208 2 0.344971 9.66391 24.4855 4.79456 -1.28192 -0.103218 -4209 2 1.31881 10.0812 23.4041 0.295248 -2.2391 -3.76116 -4210 1 1.24787 29.2155 12.9959 5.2137 -6.26201 1.90798 -4211 2 2.08465 28.7542 12.9395 0.207961 -0.745689 1.17577 -4212 2 1.23094 29.5742 13.8832 0.0694037 1.38271 -0.86036 -4213 1 9.88023 0.563343 14.3846 4.69978 5.52396 -1.09311 -4214 2 10.3391 35.3341 13.979 -0.917016 -2.55741 4.18097 -4215 2 10.5662 1.05399 14.8373 0.75593 0.458577 -1.10443 -4216 1 20.6209 2.62161 7.22959 1.89471 1.48231 0.349766 -4217 2 21.206 3.30512 7.55617 -0.274177 0.280324 0.366066 -4218 2 19.7824 2.79984 7.65552 0.818032 -1.95265 1.44662 -4219 1 26.2452 1.50903 16.1996 -4.92227 2.83603 -5.1937 -4220 2 25.4166 1.67954 16.6476 1.88236 1.47512 0.873518 -4221 2 26.2763 2.15852 15.4972 -2.36156 -2.20011 -1.07786 -4222 1 21.5207 15.5264 3.18393 -1.8434 13.8518 2.35567 -4223 2 21.1263 15.0987 2.42382 0.357029 -0.807719 2.00353 -4224 2 20.9346 16.2577 3.37874 0.57537 0.848378 -0.0529868 -4225 1 9.60299 12.813 30.7548 8.23807 3.47296 3.2908 -4226 2 10.2026 13.0281 31.4693 -2.34791 0.932592 0.826893 -4227 2 9.10876 12.0585 31.0752 -0.132626 -0.0459088 -2.01363 -4228 1 5.23254 9.36496 2.75943 -17.9102 4.87483 10.3512 -4229 2 5.4629 9.10845 3.65239 1.49794 1.23415 -0.25961 -4230 2 4.85398 8.57528 2.373 1.2137 -0.204359 1.20085 -4231 1 30.1611 30.8666 5.78152 2.74501 -22.6484 -7.27604 -4232 2 31.0126 30.6778 6.17607 0.0500574 -0.625303 -2.96798 -4233 2 29.8281 31.6153 6.27617 0.913738 -1.07661 -0.44818 -4234 1 2.99923 7.40789 17.6657 3.6309 -0.277655 3.87185 -4235 2 3.35203 7.93807 18.3803 -0.684746 -2.4533 -0.0123526 -4236 2 3.67545 7.43695 16.9888 -0.284233 3.25991 0.0382316 -4237 1 1.27275 7.7847 33.6274 6.00436 23.1762 -1.62376 -4238 2 1.08578 7.46756 34.511 5.91532 -1.27953 -0.252786 -4239 2 1.80994 8.56555 33.7614 0.562347 -0.262301 -0.42384 -4240 1 10.368 16.5859 31.9462 5.55607 -4.3468 -8.1128 -4241 2 9.92432 17.1103 32.6129 -1.71107 0.189694 -2.2981 -4242 2 10.5695 15.7597 32.3857 -0.091162 0.772908 0.88631 -4243 1 2.92593 20.7927 22.9961 1.57154 -11.0194 -1.95547 -4244 2 3.38836 20.4602 23.7654 -1.24949 3.92598 1.83288 -4245 2 3.61613 21.1486 22.4364 -0.558415 3.9339 3.18365 -4246 1 31.2431 32.5659 23.4081 3.40158 -1.08707 -0.0936051 -4247 2 30.8131 31.8382 23.8573 -0.406753 -0.318552 -2.36231 -4248 2 31.6153 32.174 22.6181 -2.43488 1.46892 -0.699903 -4249 1 20.5012 18.6719 3.60613 1.78027 -3.8485 -3.29082 -4250 2 20.5227 18.7829 2.65564 -1.78367 0.52182 0.377812 -4251 2 21.0943 19.345 3.93991 0.151215 -0.251783 -0.506028 -4252 1 29.2561 22.0296 30.8148 -6.1356 1.25133 -1.93814 -4253 2 29.7302 22.8297 31.0413 -2.579 1.5052 -0.886503 -4254 2 28.6097 22.3091 30.1665 0.29547 -2.47382 -1.03056 -4255 1 1.84675 27.6232 34.1127 -3.31041 -13.6715 -12.6919 -4256 2 2.15482 28.5179 34.2575 4.40641 -3.60954 1.17567 -4257 2 1.64814 27.5863 33.177 0.441925 3.54535 -0.166983 -4258 1 7.52671 9.50693 1.47357 8.24451 -0.247118 -11.8827 -4259 2 6.63067 9.25859 1.70088 2.81554 3.10769 6.4063 -4260 2 7.4259 10.2408 0.867375 -0.503515 -1.06514 -0.728157 -4261 1 16.5831 11.3905 14.3941 -8.88341 -18.0698 6.57772 -4262 2 16.1671 11.876 13.6818 -0.297836 1.84141 2.61871 -4263 2 16.0028 10.6447 14.5471 -0.446192 0.0817589 -1.21788 -4264 1 2.10561 5.43705 4.72412 6.19336 -0.905368 -10.3882 -4265 2 3.0524 5.36045 4.60599 0.484628 1.34862 1.33413 -4266 2 1.97835 5.40102 5.67214 -0.700933 0.518019 -1.5785 -4267 1 3.71536 8.97987 20.0174 -4.48125 -14.4493 -0.0769435 -4268 2 3.98256 9.86896 19.7843 1.23707 -2.89427 -4.17115 -4269 2 4.48637 8.60034 20.439 -0.73916 -0.766973 0.0830405 -4270 1 1.86961 28.2346 30.9432 -7.35062 -6.22047 8.16235 -4271 2 2.74687 28.3908 30.5936 -2.13545 0.265312 -2.01973 -4272 2 1.65535 27.3442 30.6647 -1.36891 1.00187 -0.808785 -4273 1 25.92 1.73368 33.9064 -9.29514 -3.99789 -10.0984 -4274 2 26.3457 2.4441 34.3862 0.45073 -1.41319 0.0410852 -4275 2 25.2575 2.16949 33.3702 -0.0131382 0.968065 1.33015 -4276 1 4.30053 25.0097 31.692 12.5576 -0.506469 -4.24601 -4277 2 4.71024 24.6087 30.9255 1.01281 0.0056296 1.91444 -4278 2 3.45345 24.5706 31.7686 2.01976 3.70981 3.57969 -4279 1 19.6612 33.9569 4.9309 -0.829477 -7.21018 7.25756 -4280 2 19.9483 33.8958 5.84201 -1.30476 0.916428 0.387737 -4281 2 19.0951 33.1952 4.80603 -2.83186 1.56858 2.57645 -4282 1 21.5273 24.5414 28.7055 1.38389 12.9697 13.6851 -4283 2 21.5515 23.8605 29.3778 0.348781 -0.899889 -1.05701 -4284 2 21.2479 25.3293 29.1719 0.797487 -1.02461 3.1406 -4285 1 26.1041 14.9647 24.0521 5.92546 4.21508 -3.75316 -4286 2 26.8787 15.2277 24.5493 -0.679749 -0.915015 -0.296971 -4287 2 25.379 15.4222 24.4778 0.457882 -4.01465 3.55886 -4288 1 8.93685 1.91916 34.6637 -10.219 9.93164 -3.0808 -4289 2 9.69587 1.73055 34.1119 0.0521306 -3.99518 3.943 -4290 2 9.23849 2.60375 35.2609 -0.648201 -1.82671 0.375325 -4291 1 5.49707 24.8501 22.6193 -2.64832 -1.74254 7.2366 -4292 2 4.56261 24.6705 22.5156 0.28805 -0.746343 2.57357 -4293 2 5.54331 25.4666 23.3501 2.29492 1.44312 -1.96031 -4294 1 30.3615 16.6632 13.6928 -0.834857 0.826893 6.19588 -4295 2 31.3169 16.6074 13.6763 -0.362501 -2.24513 -1.3004 -4296 2 30.0719 15.7692 13.8746 -1.86163 0.435158 -0.963462 -4297 1 23.74 30.1021 28.003 2.66463 -2.54372 -8.45555 -4298 2 22.898 29.8192 27.6462 -0.329809 -2.18974 3.28077 -4299 2 23.5277 30.8616 28.5455 0.954541 -0.0968009 -0.796022 -4300 1 6.27848 22.2857 10.3096 5.66257 -7.53804 1.41095 -4301 2 7.15621 22.6675 10.3085 -2.01244 1.72553 1.76521 -4302 2 5.94782 22.4468 11.1933 -0.762301 -0.311752 -1.21153 -4303 1 34.2693 24.6682 21.9687 10.1329 -5.54387 3.34255 -4304 2 34.8751 24.9349 21.2772 -0.157333 -3.72037 -1.60043 -4305 2 34.7749 24.7543 22.777 0.694809 2.34151 -0.961264 -4306 1 18.9198 1.08653 4.47467 6.55378 6.00902 -4.77798 -4307 2 19.766 1.49649 4.29555 -0.101016 1.92026 1.05607 -4308 2 19.1293 0.168315 4.64555 1.75962 1.20728 0.50861 -4309 1 12.5678 31.4035 18.4647 5.88584 -15.3346 -3.70324 -4310 2 12.5742 30.5592 18.0137 6.40143 1.63704 1.49927 -4311 2 13.3662 31.3996 18.9927 -1.88881 2.73012 0.193204 -4312 1 18.3438 32.4995 15.4266 -3.9904 6.06415 14.5954 -4313 2 17.9296 33.3624 15.4193 -0.137747 0.299802 2.80798 -4314 2 17.6989 31.9273 15.8426 -0.550353 -0.237777 -1.78186 -4315 1 7.6725 27.8532 9.04801 16.7987 1.56087 5.84171 -4316 2 8.36576 27.9235 9.70426 -1.02062 -1.56521 1.25195 -4317 2 6.94044 27.4498 9.51451 -0.165982 1.01236 -3.0079 -4318 1 21.6535 35.2374 32.8993 4.09947 -9.4506 -8.49862 -4319 2 21.8537 35.2911 33.8338 1.85435 3.29633 -2.62281 -4320 2 21.1505 0.524473 32.7157 -1.78918 -2.85981 -2.11222 -4321 1 26.993 12.6617 1.39198 2.05848 -1.69099 0.0687019 -4322 2 27.1894 12.9954 0.516592 -0.966777 -0.223245 0.395614 -4323 2 26.3538 11.9645 1.24523 0.577407 0.849651 1.35699 -4324 1 33.9045 1.20052 27.8023 -2.33637 -5.51682 1.40975 -4325 2 33.603 1.12676 26.8968 1.24979 1.40491 -0.426436 -4326 2 34.3526 0.372347 27.9743 3.42524 1.1543 -2.2197 -4327 1 16.0885 23.0056 11.9093 4.79202 -2.39237 -5.32742 -4328 2 15.6597 22.187 11.6595 2.29095 0.459862 2.29915 -4329 2 16.666 23.2083 11.1734 -1.09887 4.00583 2.85637 -4330 1 21.6596 22.4961 5.11773 -9.51431 9.8708 -1.62575 -4331 2 21.4852 22.935 5.95029 -4.61028 -4.53582 0.221516 -4332 2 22.081 21.6727 5.36417 -1.64014 -0.0267157 -1.6718 -4333 1 28.268 28.4681 10.5467 2.75704 -2.71017 -0.730922 -4334 2 28.7416 29.169 10.0988 2.15222 -0.64057 1.68507 -4335 2 28.9254 28.053 11.1052 -2.17328 -1.67899 0.509274 -4336 1 11.814 6.08474 22.2338 5.57575 11.6684 -11.1484 -4337 2 12.0007 6.92598 21.817 1.20852 -0.699246 -1.35385 -4338 2 12.6676 5.65722 22.3043 -1.45818 1.81313 2.98978 -4339 1 11.545 20.0086 29.645 2.45448 -2.28849 6.0506 -4340 2 12.1383 19.9359 30.3926 -2.64585 -0.8671 -0.395312 -4341 2 10.6992 20.2362 30.0311 -1.60912 -2.00444 -3.76502 -4342 1 23.6299 15.7509 6.2555 8.45802 1.4203 10.158 -4343 2 23.9938 15.5035 7.10558 0.281676 0.425602 0.293976 -4344 2 23.1914 16.5864 6.41616 0.290038 -1.76178 0.628914 -4345 1 18.5937 17.8488 8.51013 6.82909 6.27367 3.88919 -4346 2 19.2963 17.2747 8.81497 -1.2703 -2.29402 -2.74965 -4347 2 18.902 18.178 7.66582 0.962976 1.97469 2.59929 -4348 1 24.9607 31.6484 25.4236 1.38453 13.0051 9.65847 -4349 2 25.8152 31.6438 24.9923 -0.843985 1.17469 -0.410583 -4350 2 25.1639 31.6709 26.3587 1.11749 -1.86222 0.156463 -4351 1 16.6738 15.8481 16.6039 -6.49855 0.857235 -8.51147 -4352 2 16.332 16.1253 17.4539 3.13074 -1.17484 0.758344 -4353 2 16.6932 14.8923 16.6532 -0.673001 1.01633 -0.95947 -4354 1 33.0124 0.0361321 11.5052 9.94137 10.2428 -7.05107 -4355 2 32.4782 0.653016 11.005 0.748592 0.590978 1.1889 -4356 2 32.6293 35.5497 12.3824 -2.50239 -3.64973 -2.40855 -4357 1 28.0502 19.8274 0.200166 -14.718 -13.8365 8.14135 -4358 2 27.3541 20.1731 0.758914 0.586214 2.00411 -2.90586 -4359 2 27.6786 19.0326 35.2649 -1.29562 -1.13825 1.86866 -4360 1 13.8259 16.066 19.2377 3.42806 -1.9108 -8.46231 -4361 2 14.739 15.8494 19.4262 -0.173301 -1.04149 -2.1628 -4362 2 13.3196 15.4176 19.727 -1.00489 5.59839 2.6295 -4363 1 14.0833 21.9737 33.177 1.55338 -10.2777 0.601086 -4364 2 14.8552 22.1139 33.7254 -0.592833 3.48917 -2.04988 -4365 2 14.3993 22.0966 32.2819 -4.6893 3.47479 -0.636361 -4366 1 16.3426 25.3935 3.01903 8.64182 -10.3293 -7.26207 -4367 2 16.7982 26.2352 3.03233 1.45724 -1.73979 2.17777 -4368 2 16.9769 24.7832 2.64282 0.517788 -0.592036 1.01179 -4369 1 34.4109 25.5041 0.147232 -4.97865 0.544753 -0.984839 -4370 2 34.8322 26.3303 0.384396 -0.932015 -0.895181 -0.271714 -4371 2 33.5198 25.5827 0.487847 1.51715 -0.291147 -0.624421 -4372 1 27.8648 21.35 28.119 -0.690813 2.64901 0.101312 -4373 2 28.7387 21.0626 27.8543 -1.28703 -2.80379 3.83509 -4374 2 27.2858 21.0223 27.4309 2.06622 3.35093 -2.82638 -4375 1 0.240252 27.2384 27.9971 -0.91815 -14.2657 -2.87632 -4376 2 0.781723 26.637 28.5084 1.49113 0.267903 -1.08884 -4377 2 34.9499 26.7426 27.8083 0.127613 -0.916031 2.36942 -4378 1 21.6858 25.3229 17.7964 -5.16014 -6.43428 -1.59847 -4379 2 21.9921 26.2272 17.7279 -0.0319833 -0.570092 0.694787 -4380 2 21.3181 25.1281 16.9343 1.91105 0.442844 0.0444748 -4381 1 30.9762 0.893719 8.90624 6.84658 4.89315 4.34164 -4382 2 31.2866 0.970928 8.00407 -1.30872 -1.28953 0.0387564 -4383 2 30.0457 1.11331 8.85952 1.85147 1.23716 1.21913 -4384 1 25.4566 22.8733 21.0012 8.46941 -6.2365 -4.41175 -4385 2 26.2934 22.4661 21.2251 -0.0869085 0.997113 -0.522472 -4386 2 25.6712 23.793 20.8454 -2.04348 -0.380031 3.58637 -4387 1 24.8743 30.4839 12.6069 5.18592 -5.90954 -3.66721 -4388 2 25.6363 30.6355 12.0478 -2.47753 -1.31299 -1.73489 -4389 2 25.0041 29.602 12.9557 1.098 0.771613 1.03075 -4390 1 13.8113 7.99004 5.29125 -6.25539 2.54191 5.22156 -4391 2 13.7892 8.73645 4.69241 1.40451 -0.877124 -0.322734 -4392 2 14.7345 7.89861 5.52688 -0.824712 -3.60413 -2.23204 -4393 1 33.9717 12.8445 16.8206 -5.08834 3.24579 2.32558 -4394 2 34.7638 12.3611 17.0557 -0.912544 -1.123 -1.64622 -4395 2 33.6042 13.1252 17.6586 -0.0818337 -2.83827 1.19082 -4396 1 26.5929 21.8369 5.4998 15.2188 -12.8758 -3.5611 -4397 2 27.193 22.4961 5.15108 1.54123 -0.472239 4.36294 -4398 2 27.1503 21.0829 5.69232 0.775207 0.532331 0.731822 -4399 1 5.16966 25.9262 12.3542 3.63388 -10.9707 -4.2268 -4400 2 4.39065 25.3778 12.4469 0.868663 0.512582 0.49162 -4401 2 5.73068 25.672 13.0869 1.15015 -1.40555 -2.02342 -4402 1 26.7931 35.4254 5.15069 -2.58439 4.8653 0.22666 -4403 2 26.5925 34.8211 5.86542 2.47532 -0.574882 -0.655596 -4404 2 27.2131 0.665389 5.57819 2.08955 -0.944702 -1.56575 -4405 1 1.20884 3.82973 0.244724 1.66138 -1.50883 -2.97877 -4406 2 2.01641 3.42102 0.556221 -0.565104 -0.453085 -0.98583 -4407 2 0.510904 3.36319 0.704569 -0.652139 1.89174 -3.14661 -4408 1 26.4335 3.26352 13.8621 2.94116 4.56618 2.38726 -4409 2 26.7833 4.04332 14.2931 1.33818 -0.0840263 -3.07679 -4410 2 25.7332 3.59406 13.2994 -3.10068 -2.3533 4.10846 -4411 1 33.2055 12.6395 8.23391 5.45516 1.9919 5.8193 -4412 2 32.6787 12.8131 9.01402 -0.345731 -1.59928 -1.24485 -4413 2 34.1053 12.8183 8.50726 -0.805487 1.53365 1.78742 -4414 1 29.9023 24.5626 20.7116 3.42295 -6.98403 -0.952027 -4415 2 29.4679 25.4132 20.6473 -0.48284 -2.69496 0.222901 -4416 2 30.2739 24.4166 19.8417 -0.244826 -2.35878 0.7128 -4417 1 15.2998 4.02453 16.4417 -2.15742 4.79241 6.05563 -4418 2 15.7057 4.6226 17.0692 0.191126 1.42105 -2.21766 -4419 2 14.9946 3.28953 16.9736 -0.120429 1.69431 2.26192 -4420 1 31.2753 25.1783 0.424078 -3.05861 -1.08728 17.9787 -4421 2 31.0586 24.4517 35.287 4.05906 -1.40755 1.82856 -4422 2 30.7422 25.0259 1.20438 -1.38424 0.164027 -0.204301 -4423 1 12.1221 3.02324 0.180171 5.54245 -1.23026 6.11818 -4424 2 11.8464 2.17458 35.281 1.14317 0.150516 -0.180026 -4425 2 11.3607 3.34415 0.66332 2.03454 -2.74467 1.9593 -4426 1 32.8431 11.557 14.38 0.147749 2.67556 -1.98289 -4427 2 31.9068 11.5678 14.1811 0.291943 -1.00905 2.75821 -4428 2 32.9664 12.2812 14.9936 1.19966 -2.12497 2.082 -4429 1 20.5645 17.4424 12.4515 6.55406 0.156517 0.559841 -4430 2 19.8459 16.8903 12.1433 -1.42603 2.83887 0.952488 -4431 2 20.6495 17.2292 13.3808 1.56555 -1.24922 -0.696423 -4432 1 15.2816 11.6269 18.8168 5.55975 3.4447 3.66971 -4433 2 14.386 11.8473 19.0727 -0.646747 -2.40537 -4.21442 -4434 2 15.3862 10.7109 19.0741 1.74861 1.0941 -0.195148 -4435 1 29.7377 20.372 3.36652 0.797329 -7.98301 -8.63454 -4436 2 30.4736 19.7997 3.5836 -1.83703 -0.890419 1.54523 -4437 2 29.86 20.5792 2.44008 0.781849 -1.5009 -0.273719 -4438 1 10.4638 28.1009 15.3794 8.14468 4.22684 -0.814723 -4439 2 9.53379 28.2306 15.5652 0.0260372 -2.67835 -1.69305 -4440 2 10.6322 28.642 14.608 -0.570693 -1.3859 -1.11001 -4441 1 16.7704 6.13101 17.944 -0.211983 -1.47772 3.31 -4442 2 17.2683 6.32159 18.7389 1.86764 1.15901 -3.46209 -4443 2 16.6681 6.98075 17.5153 -2.39931 -1.61441 -0.74807 -4444 1 21.5135 0.327334 25.1409 8.66564 11.1895 -11.7105 -4445 2 22.2279 0.15114 25.7531 -4.2921 0.404201 4.61487 -4446 2 21.4118 35.0184 24.6498 0.519456 -0.928846 2.19863 -4447 1 8.71062 23.6629 10.1362 3.05079 1.60887 0.77512 -4448 2 9.03714 24.1011 10.9221 0.259856 1.17771 -1.23482 -4449 2 9.41576 23.0672 9.88307 -1.85123 -1.62472 0.915088 -4450 1 20.2468 3.67222 10.3704 0.4777 5.10365 7.10224 -4451 2 20.359 3.07898 11.1132 -0.765711 0.100413 -2.14552 -4452 2 19.4836 3.33128 9.90403 2.85534 1.08452 -0.754728 -4453 1 5.99164 17.0864 14.8678 -5.37574 3.84131 -0.459775 -4454 2 6.63127 17.7689 14.6646 3.22934 -2.98012 2.44679 -4455 2 5.554 17.396 15.6608 -0.457156 0.512177 -0.289605 -4456 1 9.83882 21.0265 7.18035 5.95081 -1.40299 -8.14061 -4457 2 9.12061 21.5838 6.88056 -2.6067 -3.24929 2.7288 -4458 2 9.85976 21.1517 8.1291 3.24078 0.788148 -1.58199 -4459 1 14.2806 22.3479 30.4744 -5.28704 8.01428 14.3895 -4460 2 13.8253 23.128 30.1575 2.20354 -0.167513 -4.00018 -4461 2 14.4934 21.8556 29.6816 1.73645 -3.40489 3.93134 -4462 1 9.99574 22.3649 18.625 -1.24662 -2.70761 -10.6994 -4463 2 10.4595 21.9481 17.8987 0.183494 1.6516 0.642745 -4464 2 10.6595 22.4657 19.3072 -3.1201 -0.222712 1.57266 -4465 1 13.5444 23.3091 25.3305 6.03923 1.55312 0.42896 -4466 2 13.2633 22.9728 26.1815 -0.932337 -1.00851 -1.27722 -4467 2 14.4265 22.9566 25.2126 -1.02044 -2.61951 -0.48294 -4468 1 20.38 18.6937 28.3968 7.14119 -6.8925 -2.09374 -4469 2 20.0167 18.9886 27.5617 0.316244 -5.43562 -1.75257 -4470 2 21.3206 18.6184 28.2361 0.666353 0.344779 0.815735 -4471 1 31.9689 7.20731 11.1996 7.34708 3.16447 9.75319 -4472 2 31.6099 7.15114 12.0852 0.998483 0.911771 -1.0382 -4473 2 32.8409 6.81882 11.269 -0.906482 -0.425175 -2.58612 -4474 1 3.59826 34.1759 15.1126 -11.7123 -5.68349 5.97393 -4475 2 3.21043 33.454 14.6179 1.39026 0.0576551 1.52481 -4476 2 3.54331 33.8972 16.0267 0.654449 -1.39662 -0.127074 -4477 1 16.7556 18.4081 28.9987 8.31009 -1.52636 -3.73736 -4478 2 17.6307 18.6606 29.2931 -1.43242 0.172472 0.00350369 -4479 2 16.5433 17.6311 29.5158 -4.3853 4.025 1.85791 -4480 1 4.3102 29.9995 27.41 12.3163 -5.69934 9.04024 -4481 2 5.14895 30.4141 27.2079 -1.45489 3.42303 0.773461 -4482 2 3.71946 30.3049 26.7216 -0.489848 -3.13791 0.780952 -4483 1 6.15571 15.7166 24.0745 -10.4675 14.0348 8.09529 -4484 2 5.31022 15.8535 24.5019 -1.15491 -4.01696 -1.7966 -4485 2 6.50126 14.9194 24.4761 0.366863 0.626035 -2.42182 -4486 1 1.16849 28.775 19.8427 0.210476 14.8941 -2.95759 -4487 2 0.55835 28.0645 19.6452 -0.37833 1.16517 1.01041 -4488 2 2.02094 28.3459 19.9163 -1.22217 1.3797 3.29741 -4489 1 23.2346 29.7445 8.55319 -3.19073 0.0591217 -1.71373 -4490 2 24.177 29.8703 8.66448 -1.37464 0.315561 0.0894517 -4491 2 22.981 30.3965 7.89984 0.244518 -1.23007 0.476314 -4492 1 19.4825 19.1594 6.42054 2.91673 9.05689 -8.3853 -4493 2 19.0036 18.5381 5.87205 1.04646 3.76482 -1.27192 -4494 2 18.8796 19.8942 6.5334 2.07477 2.20963 -2.23813 -4495 1 33.0425 24.822 13.641 6.63183 6.2187 -2.78039 -4496 2 33.7809 24.3577 13.2468 -0.641414 -1.92179 0.68381 -4497 2 32.2751 24.3054 13.3949 -0.245517 -1.04267 4.99319 -4498 1 26.0476 6.03912 17.2588 1.74441 -5.97008 8.24573 -4499 2 26.4147 5.4419 17.9106 -0.885223 -2.61028 -1.33276 -4500 2 26.4184 5.74408 16.4271 1.8916 3.73175 0.920143 diff --git a/examples/TIP4P/gpu_dump/in.tip4p b/examples/TIP4P/gpu_dump/in.tip4p deleted file mode 100644 index b31960d203..0000000000 --- a/examples/TIP4P/gpu_dump/in.tip4p +++ /dev/null @@ -1,49 +0,0 @@ -# sample script to compare and debug GPU accelerated tip4p water -# use '-sf gpu' to enables the GPU accelerated pair style -# without it the original lj/cut/tip4p/long from module KSPACE will be used - -units real -boundary p p p - -atom_style full -bond_style harmonic -angle_style harmonic -atom_modify map array - -pair_style lj/cut/tip4p/long 1 2 1 1 0.1546 9.0 9.0 -pair_modify table 0 - -#long-range solver for TIP4P from module KSPACE works on CPU -suffix off -newton on -kspace_style pppm/tip4p 1.0e-5 -suffix on - -read_data data.spce - -pair_coeff * * 0.0 0.0 -pair_coeff 1 1 0.1852 3.1589 - -bond_coeff 1 0.0 0.9572 -angle_coeff 1 0.0 104.52 - -group water type 1 2 - -#maintain the water molecule rigid -fix 1 water shake 1.0e-4 200 0 b 1 a 1 -fix 2 water nve - -thermo 100 -thermo_style custom step etotal ke pe temp evdwl ecoul elong press -thermo_modify format float "%.15g" - -velocity water create 300 123 - -if $(is_active(package,gpu)) & - then "dump 11 all custom 1 dump.force_gpu id type x y z fx fy fz"& - else "dump 11 all custom 1 dump.force_cpu id type x y z fx fy fz" -dump_modify 11 sort id - -timestep 1 - -run 1 diff --git a/examples/TIP4P/gpu_dump/log.19Dec19.tip4p.g++.1 b/examples/TIP4P/gpu_dump/log.19Dec19.tip4p.g++.1 deleted file mode 100644 index 57b0db597c..0000000000 --- a/examples/TIP4P/gpu_dump/log.19Dec19.tip4p.g++.1 +++ /dev/null @@ -1,127 +0,0 @@ -LAMMPS (30 Oct 2019) -# - -units real -boundary p p p - -atom_style full -bond_style harmonic -angle_style harmonic -atom_modify map array - -pair_style lj/cut/tip4p/long 1 2 1 1 0.1546 9.0 9.0 -pair_modify table 0 - -#long-range solver for TIP4P from module KSPACE works on CPU -suffix off -newton on -kspace_style pppm/tip4p 1.0e-5 -suffix on - -read_data data.spce - orthogonal box = (0.02645 0.02645 0.02641) to (35.5328 35.5328 35.4736) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 4500 atoms - scanning bonds ... - 2 = max bonds/atom - scanning angles ... - 1 = max angles/atom - reading bonds ... - 3000 bonds - reading angles ... - 1500 angles - 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.00143709 secs - read_data CPU = 0.0185545 secs - -pair_coeff * * 0.0 0.0 -pair_coeff 1 1 0.1852 3.1589 - -bond_coeff 1 0.0 0.9572 -angle_coeff 1 0.0 104.52 - -group water type 1 2 -4500 atoms in group water - -#maintain the water molecule rigid -fix 1 water shake 1.0e-4 200 0 b 1 a 1 - 0 = # of size 2 clusters - 0 = # of size 3 clusters - 0 = # of size 4 clusters - 1500 = # of frozen angles -fix 2 water nve - -thermo 100 -thermo_style custom step etotal ke pe temp evdwl ecoul elong press -thermo_modify format float "%.15g" - -velocity water create 300 123 - -if $(is_active(package,gpu)) then "dump 11 all custom 1 dump.force_gpu id type x y z fx fy fz" else "dump 11 all custom 1 dump.force_cpu id type x y z fx fy fz" -if 0 then "dump 11 all custom 1 dump.force_gpu id type x y z fx fy fz" else "dump 11 all custom 1 dump.force_cpu id type x y z fx fy fz" -dump 11 all custom 1 dump.force_cpu id type x y z fx fy fz -dump_modify 11 sort id - -timestep 1 - -run 1 -PPPM initialization ... - extracting TIP4P info from pair style - using polynomial approximation for long-range coulomb (../kspace.cpp:323) - G vector (1/distance) = 0.342797 - grid = 36 36 36 - stencil order = 5 - estimated absolute RMS force accuracy = 0.00261362 - estimated relative force accuracy = 7.87083e-06 - using double precision KISS FFT - 3d grid and FFT values/proc = 79507 46656 -Neighbor list info ... - update every 1 steps, delay 10 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 11.3092 - ghost atom cutoff = 11.3092 - binsize = 5.6546, bins = 7 7 7 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut/tip4p/long, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/3d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 30.18 | 30.18 | 30.18 Mbytes -Step TotEng KinEng PotEng Temp E_vdwl E_coul E_long Press - 0 -6581.1098053463 2681.834801985 -9262.9446073313 300 3652.16918734499 90723.8782743546 -103638.992069031 20828.2770003273 - 1 -6293.09711304554 1787.55263217222 -8080.64974521776 199.96227554909 3652.66537554581 91910.2042281151 -103643.519348879 20986.2037813061 -Loop time of 0.0943946 on 1 procs for 1 steps with 4500 atoms - -Performance: 0.915 ns/day, 26.221 hours/ns, 10.594 timesteps/s -101.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 | 0.071838 | 0.071838 | 0.071838 | 0.0 | 76.10 -Bond | 1.974e-06 | 1.974e-06 | 1.974e-06 | 0.0 | 0.00 -Kspace | 0.012686 | 0.012686 | 0.012686 | 0.0 | 13.44 -Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.00012462 | 0.00012462 | 0.00012462 | 0.0 | 0.13 -Output | 0.0093175 | 0.0093175 | 0.0093175 | 0.0 | 9.87 -Modify | 0.00038138 | 0.00038138 | 0.00038138 | 0.0 | 0.40 -Other | | 4.484e-05 | | | 0.05 - -Nlocal: 4500 ave 4500 max 4500 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 15219 ave 15219 max 15219 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 1.37151e+06 ave 1.37151e+06 max 1.37151e+06 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 1371514 -Ave neighs/atom = 304.781 -Ave special neighs/atom = 2 -Neighbor list builds = 0 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/TIP4P/gpu_dump/log.19Dec19.tip4p.g++.1.gtx1070.dp b/examples/TIP4P/gpu_dump/log.19Dec19.tip4p.g++.1.gtx1070.dp deleted file mode 100644 index 4441a448da..0000000000 --- a/examples/TIP4P/gpu_dump/log.19Dec19.tip4p.g++.1.gtx1070.dp +++ /dev/null @@ -1,120 +0,0 @@ -LAMMPS (30 Oct 2019) -package gpu 1 -# - -units real -boundary p p p - -atom_style full -bond_style harmonic -angle_style harmonic -atom_modify map array - -pair_style lj/cut/tip4p/long 1 2 1 1 0.1546 9.0 9.0 -pair_modify table 0 - -#long-range solver for TIP4P from module KSPACE works on CPU -suffix off -newton on -kspace_style pppm/tip4p 1.0e-5 -suffix on - -read_data data.spce - orthogonal box = (0.02645 0.02645 0.02641) to (35.5328 35.5328 35.4736) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 4500 atoms - scanning bonds ... - 2 = max bonds/atom - scanning angles ... - 1 = max angles/atom - reading bonds ... - 3000 bonds - reading angles ... - 1500 angles - 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.000921346 secs - read_data CPU = 0.0115216 secs - -pair_coeff * * 0.0 0.0 -pair_coeff 1 1 0.1852 3.1589 - -bond_coeff 1 0.0 0.9572 -angle_coeff 1 0.0 104.52 - -group water type 1 2 -4500 atoms in group water - -#maintain the water molecule rigid -fix 1 water shake 1.0e-4 200 0 b 1 a 1 - 0 = # of size 2 clusters - 0 = # of size 3 clusters - 0 = # of size 4 clusters - 1500 = # of frozen angles -fix 2 water nve - -thermo 100 -thermo_style custom step etotal ke pe temp evdwl ecoul elong press -thermo_modify format float "%.15g" - -velocity water create 300 123 - -if $(is_active(package,gpu)) then "dump 11 all custom 1 dump.force_gpu id type x y z fx fy fz" else "dump 11 all custom 1 dump.force_cpu id type x y z fx fy fz" -if 1 then "dump 11 all custom 1 dump.force_gpu id type x y z fx fy fz" else "dump 11 all custom 1 dump.force_cpu id type x y z fx fy fz" -dump 11 all custom 1 dump.force_gpu id type x y z fx fy fz -dump_modify 11 sort id - -timestep 1 - -run 1 -PPPM initialization ... - extracting TIP4P info from pair style - using polynomial approximation for long-range coulomb (../kspace.cpp:323) - G vector (1/distance) = 0.342797 - grid = 36 36 36 - stencil order = 5 - estimated absolute RMS force accuracy = 0.00261362 - estimated relative force accuracy = 7.87083e-06 - using double precision KISS FFT - 3d grid and FFT values/proc = 79507 46656 -WARNING: Increasing communication cutoff for TIP4P GPU style (../pair_lj_cut_tip4p_long_gpu.cpp:220) -Per MPI rank memory allocation (min/avg/max) = 25.12 | 25.12 | 25.12 Mbytes -Step TotEng KinEng PotEng Temp E_vdwl E_coul E_long Press - 0 -6581.10980534572 2681.834801985 -9262.94460733072 300 3652.169187345 90723.8782743551 -103638.992069031 20828.2770003278 - 1 -6293.09711304691 1787.55263217221 -8080.64974521913 199.96227554909 3652.6653755458 91910.2042281137 -103643.519348879 20986.203781307 -Loop time of 0.0230916 on 1 procs for 1 steps with 4500 atoms - -Performance: 3.742 ns/day, 6.414 hours/ns, 43.306 timesteps/s -103.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 | 0.000606 | 0.000606 | 0.000606 | 0.0 | 2.62 -Bond | 1.682e-06 | 1.682e-06 | 1.682e-06 | 0.0 | 0.01 -Kspace | 0.012588 | 0.012588 | 0.012588 | 0.0 | 54.51 -Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.00015025 | 0.00015025 | 0.00015025 | 0.0 | 0.65 -Output | 0.0093124 | 0.0093124 | 0.0093124 | 0.0 | 40.33 -Modify | 0.00039674 | 0.00039674 | 0.00039674 | 0.0 | 1.72 -Other | | 3.623e-05 | | | 0.16 - -Nlocal: 4500 ave 4500 max 4500 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 16834 ave 16834 max 16834 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 0 ave 0 max 0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 0 -Ave neighs/atom = 0 -Ave special neighs/atom = 2 -Neighbor list builds = 0 -Dangerous builds = 0 - -Please see the log.cite file for references relevant to this simulation - -Total wall time: 0:00:00 From 9cb82f4033b6f6373e42864eb47a441484950d64 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 29 Jun 2021 11:31:57 -0400 Subject: [PATCH 301/726] update docs for renames examples folders --- doc/src/Examples.rst | 12 +++--- doc/src/Howto_drude2.rst | 2 +- doc/src/Modify_contribute.rst | 2 +- doc/src/Packages_details.rst | 72 +++++++++++++++---------------- doc/src/Packages_standard.rst | 2 +- doc/src/Packages_user.rst | 2 +- doc/src/Tools.rst | 2 +- doc/src/bond_oxdna.rst | 4 +- doc/src/compute_basal_atom.rst | 2 +- doc/src/compute_fep.rst | 2 +- doc/src/compute_hma.rst | 2 +- doc/src/compute_stress_mop.rst | 2 +- doc/src/compute_temp_drude.rst | 2 +- doc/src/fix_adapt_fep.rst | 2 +- doc/src/fix_atc.rst | 2 +- doc/src/fix_bond_react.rst | 4 +- doc/src/fix_colvars.rst | 2 +- doc/src/fix_dpd_energy.rst | 2 +- doc/src/fix_drude.rst | 2 +- doc/src/fix_drude_transform.rst | 2 +- doc/src/fix_electron_stopping.rst | 2 +- doc/src/fix_flow_gauss.rst | 2 +- doc/src/fix_grem.rst | 2 +- doc/src/fix_imd.rst | 2 +- doc/src/fix_ipi.rst | 2 +- doc/src/fix_langevin_drude.rst | 2 +- doc/src/fix_nve_dot.rst | 2 +- doc/src/fix_nve_dotc_langevin.rst | 2 +- doc/src/fix_pafi.rst | 2 +- doc/src/fix_plumed.rst | 2 +- doc/src/fix_polarize.rst | 2 +- doc/src/fix_rhok.rst | 2 +- doc/src/fix_shardlow.rst | 2 +- doc/src/fix_tgnh_drude.rst | 2 +- doc/src/fix_wall_ees.rst | 2 +- doc/src/pair_agni.rst | 2 +- doc/src/pair_coul_tt.rst | 2 +- doc/src/pair_e3b.rst | 2 +- doc/src/pair_eff.rst | 2 +- doc/src/pair_fep_soft.rst | 4 +- doc/src/pair_meam_sw_spline.rst | 2 +- doc/src/pair_mesodpd.rst | 2 +- doc/src/pair_mgpt.rst | 2 +- doc/src/pair_oxdna.rst | 4 +- doc/src/pair_oxdna2.rst | 4 +- doc/src/pair_oxrna2.rst | 4 +- doc/src/pair_quip.rst | 2 +- doc/src/pair_srp.rst | 2 +- doc/src/pair_thole.rst | 2 +- 49 files changed, 95 insertions(+), 95 deletions(-) diff --git a/doc/src/Examples.rst b/doc/src/Examples.rst index 3eb25d5b30..18121ba338 100644 --- a/doc/src/Examples.rst +++ b/doc/src/Examples.rst @@ -205,23 +205,23 @@ Uppercase directories +------------+--------------------------------------------------------------------------------------------------+ | MC | using LAMMPS in a Monte Carlo mode to relax the energy of a system | +------------+--------------------------------------------------------------------------------------------------+ +| PACKAGES | examples for specific packages and contributed commands in USER-MISC | ++------------+--------------------------------------------------------------------------------------------------+ | SPIN | examples for features of the SPIN package | +------------+--------------------------------------------------------------------------------------------------+ | UNITS | examples that run the same simulation in lj, real, metal units | +------------+--------------------------------------------------------------------------------------------------+ -| USER | examples for USER packages and USER-contributed commands | -+------------+--------------------------------------------------------------------------------------------------+ | VISCOSITY | compute viscosity via several methods | +------------+--------------------------------------------------------------------------------------------------+ Nearly all of these directories have README files which give more details on how to understand and use their contents. -The USER directory has a large number of sub-directories which -correspond by name to a USER package. They contain scripts that -illustrate how to use the command(s) provided in that package. Many +The PACKAGES directory has a large number of sub-directories which +correspond by name to specific packages. They contain scripts that +illustrate how to use the command(s) provided in those packages. Many of the sub-directories have their own README files which give further instructions. See the :doc:`Packages_details ` doc -page for more info on specific USER packages. +page for more info on specific packages. .. _openkim: https://openkim.org diff --git a/doc/src/Howto_drude2.rst b/doc/src/Howto_drude2.rst index 24c21f27b1..785475d12f 100644 --- a/doc/src/Howto_drude2.rst +++ b/doc/src/Howto_drude2.rst @@ -9,7 +9,7 @@ USER-DRUDE package activated. Then, the data file and input scripts have to be modified to include the Drude dipoles and how to handle them. -Example input scripts available: examples/USER/drude +Example input scripts available: examples/PACKAGES/drude ---------- diff --git a/doc/src/Modify_contribute.rst b/doc/src/Modify_contribute.rst index 4382753c42..38c5df5246 100644 --- a/doc/src/Modify_contribute.rst +++ b/doc/src/Modify_contribute.rst @@ -226,7 +226,7 @@ packages in the src directory for examples. If you are uncertain, please ask. * For a new package (or even a single command) you should include one or more example scripts demonstrating its use. These should run in no more than a couple minutes, even on a single processor, and not require - large data files as input. See directories under examples/USER for + large data files as input. See directories under examples/PACKAGES for examples of input scripts other users provided for their packages. These example inputs are also required for validating memory accesses and testing for memory leaks with valgrind diff --git a/doc/src/Packages_details.rst b/doc/src/Packages_details.rst index c75f45ee2a..9aca2d4da1 100644 --- a/doc/src/Packages_details.rst +++ b/doc/src/Packages_details.rst @@ -1176,7 +1176,7 @@ This package has :ref:`specific installation instructions ` on the : * src/USER-ADIOS: filenames -> commands * src/USER-ADIOS/README -* examples/USER/adios +* examples/PACKAGES/adios * https://github.com/ornladios/ADIOS2 * :doc:`dump atom/adios ` * :doc:`dump custom/adios ` @@ -1206,7 +1206,7 @@ This package has :ref:`specific installation instructions ` on the :do * src/USER-ATC: filenames -> commands * src/USER-ATC/README * :doc:`fix atc ` -* examples/USER/atc +* examples/PACKAGES/atc * https://www.lammps.org/pictures.html#atc ---------- @@ -1234,7 +1234,7 @@ This package has :ref:`specific installation instructions ` on the : * src/USER-AWPMD: filenames -> commands * src/USER-AWPMD/README * :doc:`pair_style awpmd/cut ` -* examples/USER/awpmd +* examples/PACKAGES/awpmd ---------- @@ -1267,7 +1267,7 @@ Dunn, NJH; Lebold, KM; DeLyser, MR; Rudzinski, JF; Noid, WG. "BOCS: Bottom-Up Open-Source Coarse-Graining Software." J. Phys. Chem. B. 122, 13, 3363-3377 (2018). -Example inputs are in the examples/USER/bocs folder. +Example inputs are in the examples/PACKAGES/bocs folder. ---------- @@ -1287,7 +1287,7 @@ and also support self-propelled particles. **Authors:** Sam Cameron (University of Bristol), Stefan Paquay (while at Brandeis University) (initial version of fix propel/self) -Example inputs are in the examples/USER/brownian folder. +Example inputs are in the examples/PACKAGES/brownian folder. ---------- @@ -1339,7 +1339,7 @@ acids. * src/USER-CGSDK/README * :doc:`pair_style lj/sdk/\* ` * :doc:`angle_style sdk ` -* examples/USER/cgsdk +* examples/PACKAGES/cgsdk * https://www.lammps.org/pictures.html#cg ---------- @@ -1375,7 +1375,7 @@ This package has :ref:`specific installation instructions ` on the * src/USER-COLVARS/README * lib/colvars/README * :doc:`fix colvars ` -* examples/USER/colvars +* examples/PACKAGES/colvars ---------- @@ -1398,7 +1398,7 @@ different dielectric constants. * src/USER-DIELECTRIC: filenames -> commands * :doc:`compute efield/atom ` * TODO: add all styles -* examples/USER/dielectric +* examples/PACKAGES/dielectric ---------- @@ -1420,7 +1420,7 @@ intensities based on kinematic diffraction theory. * :doc:`compute saed ` * :doc:`compute xrd ` * :doc:`fix saed/vtk ` -* examples/USER/diffraction +* examples/PACKAGES/diffraction ---------- @@ -1461,7 +1461,7 @@ Brennan (ARL). * :doc:`pair_style exp6/rx ` * :doc:`pair_style multi/lucy ` * :doc:`pair_style multi/lucy/rx ` -* examples/USER/dpd +* examples/PACKAGES/dpd ---------- @@ -1492,7 +1492,7 @@ Devemy (CNRS), and Agilio Padua (ENS de Lyon). * :doc:`compute temp/drude ` * :doc:`pair_style thole ` * :doc:`pair_style lj/cut/thole/long ` -* examples/USER/drude +* examples/PACKAGES/drude * tools/drude ---------- @@ -1526,7 +1526,7 @@ tools/eff; see its README file. * :doc:`compute temp/eff ` * :doc:`pair_style eff/cut ` * :doc:`pair_style eff/inline ` -* examples/USER/eff +* examples/PACKAGES/eff * tools/eff/README * tools/eff * https://www.lammps.org/movies.html#eff @@ -1554,7 +1554,7 @@ for using this package in tools/fep; see its README file. * :doc:`fix adapt/fep ` * :doc:`compute fep ` * :doc:`pair_style \*/soft ` -* examples/USER/fep +* examples/PACKAGES/fep * tools/fep/README * tools/fep @@ -1623,7 +1623,7 @@ This package has :ref:`specific installation instructions ` on the : * src/USER-HDNNP/README * lib/hdnnp/README * :doc:`pair_style hdnnp ` -* examples/USER/hdnnp +* examples/PACKAGES/hdnnp ---------- @@ -1695,7 +1695,7 @@ Ontario). * :doc:`fix lb/fluid ` * :doc:`fix lb/momentum ` * :doc:`fix lb/viscous ` -* examples/USER/lb +* examples/PACKAGES/lb ---------- @@ -1722,7 +1722,7 @@ matrix-MGPT algorithm due to Tomas Oppelstrup at LLNL. * src/USER-MGPT: filenames -> commands * src/USER-MGPT/README * :doc:`pair_style mgpt ` -* examples/USER/mgpt +* examples/PACKAGES/mgpt ---------- @@ -1745,7 +1745,7 @@ src/USER-MISC/README file. * src/USER-MISC: filenames -> commands * src/USER-MISC/README * one page per individual command listed in src/USER-MISC/README -* examples/USER/misc +* examples/PACKAGES/USER-MISC ---------- @@ -1775,7 +1775,7 @@ Waltham, MA, USA) * :doc:`fix manifoldforce ` * :doc:`fix nve/manifold/rattle ` * :doc:`fix nvt/manifold/rattle ` -* examples/USER/manifold +* examples/PACKAGES/manifold * https://www.lammps.org/movies.html#manifold ---------- @@ -1798,7 +1798,7 @@ other atomic or molecular simulation codes via the `MolSSI Driver Interface * src/USER-MDI/README * :doc:`mdi/engine ` * :doc:`fix mdi/engine ` -* examples/USER/mdi +* examples/PACKAGES/mdi ---------- @@ -1853,7 +1853,7 @@ algorithm. * :doc:`pair_style mdpd ` * :doc:`pair_style tdpd ` * :doc:`fix mvv/dpd ` -* examples/USER/mesodpd +* examples/PACKAGES/mesodpd * https://www.lammps.org/movies.html#mesodpd ---------- @@ -1900,7 +1900,7 @@ Philipp Kloza (U Cambridge) * :doc:`pair_style mesont/tpm ` * :doc:`compute mesont ` * :doc:`pair_style mesocnt ` -* examples/USER/mesont +* examples/PACKAGES/mesont * tools/mesont ---------- @@ -1934,7 +1934,7 @@ Rochus Schmid (Ruhr-University Bochum). * :doc:`angle_style class2 ` * :doc:`angle_style cosine/buck6d ` * :doc:`improper_style inversion/harmonic ` -* examples/USER/mofff +* examples/PACKAGES/mofff ---------- @@ -2110,7 +2110,7 @@ This package has :ref:`specific installation instructions ` on the :d * src/USER-PACE: filenames -> commands * :doc:`pair_style pace ` -* examples/USER/pace +* examples/PACKAGES/pace ---------- @@ -2138,7 +2138,7 @@ and Charlie Sievers (UC Davis) for "dynamical_matrix" and "third_order" * :doc:`fix phonon ` * :doc:`dynamical_matrix ` * :doc:`third_order ` -* examples/USER/phonon +* examples/PACKAGES/phonon ---------- @@ -2167,7 +2167,7 @@ This package has :ref:`specific installation instructions ` on the * src/USER-PLUMED/README * lib/plumed/README * :doc:`fix plumed ` -* examples/USER/plumed +* examples/PACKAGES/plumed ---------- @@ -2262,7 +2262,7 @@ simulation. * src/USER-QTB/README * :doc:`fix qtb ` * :doc:`fix qbmsst ` -* examples/USER/qtb +* examples/PACKAGES/qtb ---------- @@ -2293,7 +2293,7 @@ This package has :ref:`specific installation instructions ` on the :d * src/USER-QUIP: filenames -> commands * src/USER-QUIP/README * :doc:`pair_style quip ` -* examples/USER/quip +* examples/PACKAGES/quip ---------- @@ -2318,7 +2318,7 @@ with contributions by Doyl Dickel, Mississippi State University. * src/USER-RANN: filenames -> commands * :doc:`pair_style rann ` -* examples/USER/rann +* examples/PACKAGES/rann ---------- @@ -2346,7 +2346,7 @@ molecules, and chiral-sensitive reactions. * src/USER-REACTION: filenames -> commands * src/USER-REACTION/README * :doc:`fix bond/react ` -* examples/USER/reaction +* examples/PACKAGES/reaction * `2017 LAMMPS Workshop `_ * `2019 LAMMPS Workshop `_ * reacter.org @@ -2409,7 +2409,7 @@ This package has :ref:`specific installation instructions ` on th * src/USER-SCAFACOS/README * :doc:`kspace_style scafacos ` * :doc:`kspace_modify ` -* examples/USER/scafacos +* examples/PACKAGES/scafacos ---------- @@ -2437,7 +2437,7 @@ Sciences, Iran). * :doc:`pair_style sdpd/taitwater/isothermal ` * :doc:`fix meso/move ` * :doc:`fix rigid/meso ` -* examples/USER/sdpd +* examples/PACKAGES/sdpd ---------- @@ -2474,7 +2474,7 @@ This package has :ref:`specific installation instructions ` on the :do * src/USER-SMD: filenames -> commands * src/USER-SMD/README * doc/PDF/SMD_LAMMPS_userguide.pdf -* examples/USER/smd +* examples/PACKAGES/smd * https://www.lammps.org/movies.html#smd ---------- @@ -2498,7 +2498,7 @@ Tetot (LAAS-CNRS, France). * src/USER-SMTBQ: filenames -> commands * src/USER-SMTBQ/README * :doc:`pair_style smtbq ` -* examples/USER/smtbq +* examples/PACKAGES/smtbq ---------- @@ -2531,7 +2531,7 @@ Dynamics, Ernst Mach Institute, Germany). * src/USER-SPH: filenames -> commands * src/USER-SPH/README * doc/PDF/SPH_LAMMPS_userguide.pdf -* examples/USER/sph +* examples/PACKAGES/sph * https://www.lammps.org/movies.html#sph ---------- @@ -2554,7 +2554,7 @@ stress, etc) about individual interactions. * src/USER-TALLY: filenames -> commands * src/USER-TALLY/README * :doc:`compute \*/tally ` -* examples/USER/tally +* examples/PACKAGES/tally ---------- @@ -2649,4 +2649,4 @@ which discuss the `QuickFF `_ methodology. * :doc:`improper_style sqdistharm ` * :doc:`pair_style mm3/switch3/coulgauss/long ` * :doc:`pair_style lj/switch3/coulgauss/long ` -* examples/USER/yaff +* examples/PACKAGES/yaff diff --git a/doc/src/Packages_standard.rst b/doc/src/Packages_standard.rst index edd4124911..7701c174e9 100644 --- a/doc/src/Packages_standard.rst +++ b/doc/src/Packages_standard.rst @@ -13,7 +13,7 @@ LAMMPS. The "Example" column is a sub-directory in the examples directory of the distribution which has an input script that uses the package. E.g. "peptide" refers to the examples/peptide directory; USER/atc -refers to the examples/USER/atc directory. The "Library" column +refers to the examples/PACKAGES/atc directory. The "Library" column indicates whether an extra library is needed to build and use the package: diff --git a/doc/src/Packages_user.rst b/doc/src/Packages_user.rst index 89d740939e..ef6e79437c 100644 --- a/doc/src/Packages_user.rst +++ b/doc/src/Packages_user.rst @@ -19,7 +19,7 @@ doc page. The "Example" column is a sub-directory in the examples directory of the distribution which has an input script that uses the package. E.g. "peptide" refers to the examples/peptide directory; USER/atc -refers to the examples/USER/atc directory. The "Library" column +refers to the examples/PACKAGES/atc directory. The "Library" column indicates whether an extra library is needed to build and use the package: diff --git a/doc/src/Tools.rst b/doc/src/Tools.rst index 4d46d32037..ce59e6da53 100644 --- a/doc/src/Tools.rst +++ b/doc/src/Tools.rst @@ -864,7 +864,7 @@ analyzing the output of the :doc:`fix phonon ` command in the USER-PHONON package. See the README file for instruction on building the tool and what -library it needs. And see the examples/USER/phonon directory +library it needs. And see the examples/PACKAGES/phonon directory for example problems that can be post-processed with this tool. This tool was written by Ling-Ti Kong at Shanghai Jiao Tong diff --git a/doc/src/bond_oxdna.rst b/doc/src/bond_oxdna.rst index 3f52424d49..33d23d4e7b 100644 --- a/doc/src/bond_oxdna.rst +++ b/doc/src/bond_oxdna.rst @@ -77,10 +77,10 @@ commands: be changed without reparameterizing the entire model. Example input and data files for DNA and RNA duplexes can be found in -examples/USER/cgdna/examples/oxDNA/ , /oxDNA2/ and /oxRNA2/. A simple python +examples/PACKAGES/cgdna/examples/oxDNA/ , /oxDNA2/ and /oxRNA2/. A simple python setup tool which creates single straight or helical DNA strands, DNA/RNA duplexes or arrays of DNA/RNA duplexes can be found in -examples/USER/cgdna/util/. +examples/PACKAGES/cgdna/util/. Please cite :ref:`(Henrich) ` in any publication that uses this implementation. The article contains general information diff --git a/doc/src/compute_basal_atom.rst b/doc/src/compute_basal_atom.rst index a5558e6232..cf1d6376bc 100644 --- a/doc/src/compute_basal_atom.rst +++ b/doc/src/compute_basal_atom.rst @@ -42,7 +42,7 @@ too frequently or to have multiple compute/dump commands, each of which computes this quantity. An example input script that uses this compute is provided -in examples/USER/misc/basal. +in examples/PACKAGES/USER-MISC/basal. Output info """"""""""" diff --git a/doc/src/compute_fep.rst b/doc/src/compute_fep.rst index ef908acfc0..6875aa7233 100644 --- a/doc/src/compute_fep.rst +++ b/doc/src/compute_fep.rst @@ -48,7 +48,7 @@ Examples compute 1 all fep 298 pair lj/cut epsilon 1 * v_delta pair lj/cut sigma 1 * v_delta volume yes compute 1 all fep 300 atom charge 2 v_delta -Example input scripts available: examples/USER/fep +Example input scripts available: examples/PACKAGES/fep Description """"""""""" diff --git a/doc/src/compute_hma.rst b/doc/src/compute_hma.rst index 5efb133bea..0f5b32b8d1 100644 --- a/doc/src/compute_hma.rst +++ b/doc/src/compute_hma.rst @@ -152,7 +152,7 @@ The following example illustrates the placement of this command in the input scr The :doc:`fix_modify energy yes ` command must also be specified if a fix is to contribute potential energy to this command. An example input script that uses this compute is included in -examples/USER/hma/ along with corresponding LAMMPS output showing that the HMA +examples/PACKAGES/hma/ along with corresponding LAMMPS output showing that the HMA properties fluctuate less than the corresponding conventional properties. Output info diff --git a/doc/src/compute_stress_mop.rst b/doc/src/compute_stress_mop.rst index d68bafa48b..feda7ee193 100644 --- a/doc/src/compute_stress_mop.rst +++ b/doc/src/compute_stress_mop.rst @@ -87,7 +87,7 @@ and stress_dir,z. The values are in pressure :doc:`units `. -The values produced by this compute can be accessed by various :doc:`output commands `. For instance, the results can be written to a file using the :doc:`fix ave/time ` command. Please see the example in the examples/USER/mop folder. +The values produced by this compute can be accessed by various :doc:`output commands `. For instance, the results can be written to a file using the :doc:`fix ave/time ` command. Please see the example in the examples/PACKAGES/mop folder. Restrictions """""""""""" diff --git a/doc/src/compute_temp_drude.rst b/doc/src/compute_temp_drude.rst index 7e0f5f6555..7b92198cb9 100644 --- a/doc/src/compute_temp_drude.rst +++ b/doc/src/compute_temp_drude.rst @@ -20,7 +20,7 @@ Examples compute TDRUDE all temp/drude -Example input scripts available: examples/USER/drude +Example input scripts available: examples/PACKAGES/drude Description """"""""""" diff --git a/doc/src/fix_adapt_fep.rst b/doc/src/fix_adapt_fep.rst index 81a34ab75e..10a1faf202 100644 --- a/doc/src/fix_adapt_fep.rst +++ b/doc/src/fix_adapt_fep.rst @@ -57,7 +57,7 @@ Examples fix 1 all adapt/fep 10 atom diameter 1 v_size -Example input scripts available: examples/USER/fep +Example input scripts available: examples/PACKAGES/fep Description """"""""""" diff --git a/doc/src/fix_atc.rst b/doc/src/fix_atc.rst index 25f85f6f6c..06bdc9a69e 100644 --- a/doc/src/fix_atc.rst +++ b/doc/src/fix_atc.rst @@ -253,7 +253,7 @@ miscellaneous *fix_modify* commands: * :doc:`fix_modify AtC remove_molecule ` Note: a set of example input files with the attendant material files -are included in the ``examples/USER/atc`` folders. +are included in the ``examples/PACKAGES/atc`` folders. Default """"""" diff --git a/doc/src/fix_bond_react.rst b/doc/src/fix_bond_react.rst index c421185d87..0933cc5337 100644 --- a/doc/src/fix_bond_react.rst +++ b/doc/src/fix_bond_react.rst @@ -69,7 +69,7 @@ Syntax Examples """""""" -For unabridged example scripts and files, see examples/USER/reaction. +For unabridged example scripts and files, see examples/PACKAGES/reaction. .. code-block:: LAMMPS @@ -159,7 +159,7 @@ constant-topology parts of your system separately. The dynamic group contains only atoms not involved in a reaction at a given timestep, and therefore should be used by a subsequent system-wide time integrator such as nvt, npt, or nve, as shown in the second example -above (full examples can be found at examples/USER/reaction). The time +above (full examples can be found at examples/PACKAGES/reaction). The time integration command should be placed after the fix bond/react command due to the internal dynamic grouping performed by fix bond/react. diff --git a/doc/src/fix_colvars.rst b/doc/src/fix_colvars.rst index 3f503410d3..6db78a5b11 100644 --- a/doc/src/fix_colvars.rst +++ b/doc/src/fix_colvars.rst @@ -50,7 +50,7 @@ The Colvars library is developed at `https://github.com/colvars/colvars `. There are some example scripts for using this package with LAMMPS in the -examples/USER/colvars directory. +examples/PACKAGES/colvars directory. ---------- diff --git a/doc/src/fix_dpd_energy.rst b/doc/src/fix_dpd_energy.rst index 732f99b516..2ffaccdfdc 100644 --- a/doc/src/fix_dpd_energy.rst +++ b/doc/src/fix_dpd_energy.rst @@ -45,7 +45,7 @@ can be specified by using fix *dpd/energy*\ , fix *nve* and pair_style *dpd/fdt/energy*\ . DPD under isoenthalpic conditions can be specified by using fix *dpd/energy*\ , fix *nph* and pair_style *dpd/fdt/energy*\ . Examples of each DPD variant are provided in the -examples/USER/dpd directory. +examples/PACKAGES/dpd directory. ---------- diff --git a/doc/src/fix_drude.rst b/doc/src/fix_drude.rst index a879f1594b..5300d1f490 100644 --- a/doc/src/fix_drude.rst +++ b/doc/src/fix_drude.rst @@ -22,7 +22,7 @@ Examples fix 1 all drude 1 1 0 1 0 2 2 2 fix 1 all drude C C N C N D D D -Example input scripts available: examples/USER/drude +Example input scripts available: examples/PACKAGES/drude Description """"""""""" diff --git a/doc/src/fix_drude_transform.rst b/doc/src/fix_drude_transform.rst index 28d57306ea..9943ea0710 100644 --- a/doc/src/fix_drude_transform.rst +++ b/doc/src/fix_drude_transform.rst @@ -25,7 +25,7 @@ Examples fix 3 all drude/transform/direct fix 1 all drude/transform/inverse -Example input scripts available: examples/USER/drude +Example input scripts available: examples/PACKAGES/drude Description """"""""""" diff --git a/doc/src/fix_electron_stopping.rst b/doc/src/fix_electron_stopping.rst index 4533e0bbe9..521f5a7e6e 100644 --- a/doc/src/fix_electron_stopping.rst +++ b/doc/src/fix_electron_stopping.rst @@ -153,7 +153,7 @@ atoms moving above some minimum cutoff velocity (i.e., kinetic energy). These coefficients can be determined by fitting a quadratic polynomial to electronic stopping data predicted by, for example, SRIM or TD-DFT. Multiple 'Ecut c1 c2' values can be provided for multi-species simulations in the order -of the atom types. There is an examples/USER/misc/electron_stopping/ directory, +of the atom types. There is an examples/PACKAGES/USER-MISC/electron_stopping/ directory, which illustrates uses of this command. Details of this implementation are further described in :ref:`Stewart2018 ` and :ref:`Lee2020 `. diff --git a/doc/src/fix_flow_gauss.rst b/doc/src/fix_flow_gauss.rst index 67a0218c9b..343bf083ae 100644 --- a/doc/src/fix_flow_gauss.rst +++ b/doc/src/fix_flow_gauss.rst @@ -73,7 +73,7 @@ pressure correction is discussed and described in :ref:`(Strong) `. For a complete example including the considerations discussed -above, see the examples/USER/flow_gauss directory. +above, see the examples/PACKAGES/flow_gauss directory. .. note:: diff --git a/doc/src/fix_grem.rst b/doc/src/fix_grem.rst index 85702b909f..ff7dc90973 100644 --- a/doc/src/fix_grem.rst +++ b/doc/src/fix_grem.rst @@ -66,7 +66,7 @@ processors be on the order of the number of desired replicas. A 100-replica simulation would require at least 100 processors (1 per world at minimum). If many replicas are needed on a small number of processors, multi-replica runs can be run outside of LAMMPS. An -example of this can be found in examples/USER/misc/grem and has no +example of this can be found in examples/PACKAGES/USER-MISC/grem and has no limit on the number of replicas per processor. However, this is very inefficient and error prone and should be avoided if possible. diff --git a/doc/src/fix_imd.rst b/doc/src/fix_imd.rst index 3b84ec6f72..07242ad629 100644 --- a/doc/src/fix_imd.rst +++ b/doc/src/fix_imd.rst @@ -52,7 +52,7 @@ latencies for slow communication links. This feature has only been tested under linux. There are example scripts for using this package with LAMMPS in -examples/USER/imd. Additional examples and a driver for use with the +examples/PACKAGES/imd. Additional examples and a driver for use with the Novint Falcon game controller as haptic device can be found at: http://sites.google.com/site/akohlmey/software/vrpn-icms. diff --git a/doc/src/fix_ipi.rst b/doc/src/fix_ipi.rst index 1d1ed795cd..ccd1c9f58c 100644 --- a/doc/src/fix_ipi.rst +++ b/doc/src/fix_ipi.rst @@ -36,7 +36,7 @@ following publication :ref:`(IPI-CPC) `. A version of the i-PI package, containing only files needed for use with LAMMPS, is provided in the tools/i-pi directory. See the tools/i-pi/manual.pdf for an introduction to i-PI. The -examples/USER/i-pi directory contains example scripts for using i-PI +examples/PACKAGES/i-pi directory contains example scripts for using i-PI with LAMMPS. In brief, the path integral molecular dynamics is performed by the diff --git a/doc/src/fix_langevin_drude.rst b/doc/src/fix_langevin_drude.rst index c075a56549..77e59a0848 100644 --- a/doc/src/fix_langevin_drude.rst +++ b/doc/src/fix_langevin_drude.rst @@ -35,7 +35,7 @@ Examples fix 3 all langevin/drude 300.0 100.0 19377 1.0 20.0 83451 fix 1 all langevin/drude 298.15 100.0 19377 5.0 10.0 83451 zero yes -Example input scripts available: examples/USER/drude +Example input scripts available: examples/PACKAGES/drude Description """"""""""" diff --git a/doc/src/fix_nve_dot.rst b/doc/src/fix_nve_dot.rst index ac60b40f47..4b8b420f63 100644 --- a/doc/src/fix_nve_dot.rst +++ b/doc/src/fix_nve_dot.rst @@ -36,7 +36,7 @@ in a NVE ensemble prior to using the Langevin-type DOTC-integrator The command is equivalent to the :doc:`fix nve `. The particles are always considered to have a finite size. -An example input file can be found in /examples/USER/cgdna/examples/duplex1/. +An example input file can be found in /examples/PACKAGES/cgdna/examples/duplex1/. Further details of the implementation and stability of the integrator are contained in :ref:`(Henrich) `. The preprint version of the article can be found `here `_. diff --git a/doc/src/fix_nve_dotc_langevin.rst b/doc/src/fix_nve_dotc_langevin.rst index 4ffead3f25..d1dd948382 100644 --- a/doc/src/fix_nve_dotc_langevin.rst +++ b/doc/src/fix_nve_dotc_langevin.rst @@ -120,7 +120,7 @@ freedom in addition to the usual translational degrees of freedom. The scale factor after the *angmom* keyword gives the ratio of the rotational to the translational friction coefficient. -An example input file can be found in examples/USER/cgdna/examples/duplex2/. +An example input file can be found in examples/PACKAGES/cgdna/examples/duplex2/. Further details of the implementation and stability of the integrators are contained in :ref:`(Henrich) `. The preprint version of the article can be found `here `_. diff --git a/doc/src/fix_pafi.rst b/doc/src/fix_pafi.rst index 8f1d02ac49..39e7ba71ce 100644 --- a/doc/src/fix_pafi.rst +++ b/doc/src/fix_pafi.rst @@ -45,7 +45,7 @@ projection is also calculated, whose time integral can be shown to be equal to the true free energy gradient along the minimum free energy path local to the reference pathway. A detailed discussion of the projection technique can be found in :ref:`(Swinburne) `. -This fix can be used with LAMMPS as demonstrated in examples/USER/misc/pafi, +This fix can be used with LAMMPS as demonstrated in examples/PACKAGES/USER-MISC/pafi, though it is primarily intended to be coupled with the PAFI C++ code, developed at `https://github.com/tomswinburne/pafi `_, which distributes multiple LAMMPS workers in parallel to compute and collate diff --git a/doc/src/fix_plumed.rst b/doc/src/fix_plumed.rst index bd2c05adfe..d93efe341f 100644 --- a/doc/src/fix_plumed.rst +++ b/doc/src/fix_plumed.rst @@ -44,7 +44,7 @@ in the PLUMED source code. The PLUMED library development is hosted at A detailed discussion of the code can be found in :ref:`(PLUMED) `. There is an example input for using this package with LAMMPS in the -examples/USER/plumed directory. +examples/PACKAGES/plumed directory. ---------- diff --git a/doc/src/fix_polarize.rst b/doc/src/fix_polarize.rst index 2c499fce3c..8f3db1879c 100644 --- a/doc/src/fix_polarize.rst +++ b/doc/src/fix_polarize.rst @@ -40,7 +40,7 @@ These fixes compute induced charges at the interface between two impermeable media with different dielectric constants. There are some example scripts for using this fix -with LAMMPS in the examples/USER/dielectric directory. +with LAMMPS in the examples/PACKAGES/dielectric directory. ---------- diff --git a/doc/src/fix_rhok.rst b/doc/src/fix_rhok.rst index cffba5bafa..46c171ae4f 100644 --- a/doc/src/fix_rhok.rst +++ b/doc/src/fix_rhok.rst @@ -43,7 +43,7 @@ used to study crystal-liquid interfaces and determine melting temperatures :ref:`(Pedersen) `. An example of using the interface pinning method is located in the -*examples/USER/misc/rhok* directory. +*examples/PACKAGES/USER-MISC/rhok* directory. Restart, fix_modify, output, run start/stop, minimize info """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" diff --git a/doc/src/fix_shardlow.rst b/doc/src/fix_shardlow.rst index f928044db7..67088aef34 100644 --- a/doc/src/fix_shardlow.rst +++ b/doc/src/fix_shardlow.rst @@ -49,7 +49,7 @@ under isobaric conditions can be specified by using fix shardlow, fix *nph* and pair_style *dpd/fdt*\ . DPD under isoenthalpic conditions can be specified by using fix shardlow, fix *nph* and pair_style *dpd/fdt/energy*\ . Examples of each DPD variant are provided in the -examples/USER/dpd directory. +examples/PACKAGES/dpd directory. ---------- diff --git a/doc/src/fix_tgnh_drude.rst b/doc/src/fix_tgnh_drude.rst index a6e9832833..fc9c7737dd 100644 --- a/doc/src/fix_tgnh_drude.rst +++ b/doc/src/fix_tgnh_drude.rst @@ -62,7 +62,7 @@ Examples fix 2 jello tgnpt/drude temp 300.0 300.0 100.0 1.0 20.0 tri 5.0 5.0 1000.0 fix 2 ice tgnpt/drude temp 250.0 250.0 100.0 1.0 20.0 x 1.0 1.0 0.5 y 2.0 2.0 0.5 z 3.0 3.0 0.5 yz 0.1 0.1 0.5 xz 0.2 0.2 0.5 xy 0.3 0.3 0.5 nreset 1000 -Example input scripts available: examples/USER/drude +Example input scripts available: examples/PACKAGES/drude Description """"""""""" diff --git a/doc/src/fix_wall_ees.rst b/doc/src/fix_wall_ees.rst index cf689f3a77..fb88a24db9 100644 --- a/doc/src/fix_wall_ees.rst +++ b/doc/src/fix_wall_ees.rst @@ -117,7 +117,7 @@ ellipsoidal particles according to the EES potential introduced above. Other details of this command are the same as for the :doc:`fix wall/region ` command. One may also find an example -of using this fix in the examples/USER/misc/ees/ directory. +of using this fix in the examples/PACKAGES/USER-MISC/ees/ directory. ---------- diff --git a/doc/src/pair_agni.rst b/doc/src/pair_agni.rst index 087c39e8f9..55787fbfb7 100644 --- a/doc/src/pair_agni.rst +++ b/doc/src/pair_agni.rst @@ -63,7 +63,7 @@ to specify the path for the force field file. An AGNI force field is fully specified by the filename which contains the parameters of the force field, i.e., the reference training environments used to construct the machine learning force field. Example force field -and input files are provided in the examples/USER/misc/agni directory. +and input files are provided in the examples/PACKAGES/USER-MISC/agni directory. ---------- diff --git a/doc/src/pair_coul_tt.rst b/doc/src/pair_coul_tt.rst index b01d46d7ae..982e6c538b 100644 --- a/doc/src/pair_coul_tt.rst +++ b/doc/src/pair_coul_tt.rst @@ -29,7 +29,7 @@ Examples pair_coeff 1 2 coul/tt 4.0 1.0 4 12.0 pair_coeff 1 3* coul/tt 4.5 1.0 4 -Example input scripts available: examples/USER/drude +Example input scripts available: examples/PACKAGES/drude Description """"""""""" diff --git a/doc/src/pair_e3b.rst b/doc/src/pair_e3b.rst index f031bf193d..72c272a567 100644 --- a/doc/src/pair_e3b.rst +++ b/doc/src/pair_e3b.rst @@ -111,7 +111,7 @@ If the neigh setting is too large, the pair style will use more memory than nece This pair style tallies a breakdown of the total E3B potential energy into sub-categories, which can be accessed via the :doc:`compute pair ` command as a vector of values of length 4. The 4 values correspond to the terms in the first equation above: the E2 term, the Ea term, the Eb term, and the Ec term. -See the examples/USER/misc/e3b directory for a complete example script. +See the examples/PACKAGES/USER-MISC/e3b directory for a complete example script. ---------- diff --git a/doc/src/pair_eff.rst b/doc/src/pair_eff.rst index b5462aab01..5378483c56 100644 --- a/doc/src/pair_eff.rst +++ b/doc/src/pair_eff.rst @@ -232,7 +232,7 @@ complexity in higher Z elements (up to Z<18). A fixed-core should be defined with a mass that includes the corresponding nuclear mass plus the 2 s electrons in atomic mass units (2x5.4857990943e-4), and a radius equivalent to that of minimized 1s electrons (see examples -under /examples/USER/eff/fixed-core). An pseudo-core should be +under /examples/PACKAGES/eff/fixed-core). An pseudo-core should be described with a mass that includes the corresponding nuclear mass, plus all the core electrons (i.e no outer shell electrons), and a radius equivalent to that of a corresponding minimized full-electron diff --git a/doc/src/pair_fep_soft.rst b/doc/src/pair_fep_soft.rst index ce8227abeb..55317aac77 100644 --- a/doc/src/pair_fep_soft.rst +++ b/doc/src/pair_fep_soft.rst @@ -182,7 +182,7 @@ Examples pair_coeff * * 100.0 2.0 1.5 1.0 pair_coeff 1 1 100.0 2.0 1.5 1.0 3.0 -Example input scripts available: examples/USER/fep +Example input scripts available: examples/PACKAGES/fep Description """"""""""" @@ -313,7 +313,7 @@ the second coefficient. electrostatic terms (kspace) are correct. It is not necessary to use soft-core Coulomb potentials if the van der Waals site is present during the free-energy route, thus avoiding overlap of the charges. Examples are - provided in the LAMMPS source directory tree, under examples/USER/fep. + provided in the LAMMPS source directory tree, under examples/PACKAGES/fep. .. note:: diff --git a/doc/src/pair_meam_sw_spline.rst b/doc/src/pair_meam_sw_spline.rst index 70567d9ffa..1f7ae2ff9f 100644 --- a/doc/src/pair_meam_sw_spline.rst +++ b/doc/src/pair_meam_sw_spline.rst @@ -94,7 +94,7 @@ potentials. systems in the future. Example input scripts that use this pair style are provided -in the examples/USER/misc/meam_sw_spline directory. +in the examples/PACKAGES/USER-MISC/meam_sw_spline directory. ---------- diff --git a/doc/src/pair_mesodpd.rst b/doc/src/pair_mesodpd.rst index 6bb259a10d..6f1b40e868 100644 --- a/doc/src/pair_mesodpd.rst +++ b/doc/src/pair_mesodpd.rst @@ -238,7 +238,7 @@ Example scripts """"""""""""""" There are example scripts for using all these pair styles in -examples/USER/mesodpd. The example for an eDPD simulation models heat +examples/PACKAGES/mesodpd. The example for an eDPD simulation models heat conduction with source terms analog of periodic Poiseuille flow problem. The setup follows Fig.12 in :ref:`(Li2014_JCP) `. The output of the short eDPD simulation (about 2 minutes on a single core) diff --git a/doc/src/pair_mgpt.rst b/doc/src/pair_mgpt.rst index 673c5f5160..77d73b531a 100644 --- a/doc/src/pair_mgpt.rst +++ b/doc/src/pair_mgpt.rst @@ -132,7 +132,7 @@ range for each potential and give appropriate references for the potentials. It is expected that MGPT potentials for additional materials will be added over time. -Useful example MGPT scripts are given in the examples/USER/mgpt +Useful example MGPT scripts are given in the examples/PACKAGES/mgpt directory. These scripts show the necessary steps to perform constant-volume calculations and simulations. It is strongly recommended that the user work through and understand these examples diff --git a/doc/src/pair_oxdna.rst b/doc/src/pair_oxdna.rst index 4cc57868b4..a86bf4aaa5 100644 --- a/doc/src/pair_oxdna.rst +++ b/doc/src/pair_oxdna.rst @@ -91,9 +91,9 @@ for a detailed description of the oxDNA force field. or :doc:`fix nve/dotc/langevin ` the temperature coefficients have to be matched to the one used in the fix. -Example input and data files for DNA duplexes can be found in examples/USER/cgdna/examples/oxDNA/ and /oxDNA2/. +Example input and data files for DNA duplexes can be found in examples/PACKAGES/cgdna/examples/oxDNA/ and /oxDNA2/. A simple python setup tool which creates single straight or helical DNA strands, -DNA duplexes or arrays of DNA duplexes can be found in examples/USER/cgdna/util/. +DNA duplexes or arrays of DNA duplexes can be found in examples/PACKAGES/cgdna/util/. Please cite :ref:`(Henrich) ` in any publication that uses this implementation. The article contains general information diff --git a/doc/src/pair_oxdna2.rst b/doc/src/pair_oxdna2.rst index ee01f2f488..23c2d8c919 100644 --- a/doc/src/pair_oxdna2.rst +++ b/doc/src/pair_oxdna2.rst @@ -100,9 +100,9 @@ and :ref:`(Ouldridge) ` for a detailed description of the oxDNA2 fo e.g. through :doc:`fix langevin ` or :doc:`fix nve/dotc/langevin ` the temperature coefficients have to be matched to the one used in the fix. -Example input and data files for DNA duplexes can be found in examples/USER/cgdna/examples/oxDNA/ and /oxDNA2/. +Example input and data files for DNA duplexes can be found in examples/PACKAGES/cgdna/examples/oxDNA/ and /oxDNA2/. A simple python setup tool which creates single straight or helical DNA strands, -DNA duplexes or arrays of DNA duplexes can be found in examples/USER/cgdna/util/. +DNA duplexes or arrays of DNA duplexes can be found in examples/PACKAGES/cgdna/util/. Please cite :ref:`(Henrich) ` in any publication that uses this implementation. The article contains general information diff --git a/doc/src/pair_oxrna2.rst b/doc/src/pair_oxrna2.rst index 831e4d9c4e..825e15e626 100644 --- a/doc/src/pair_oxrna2.rst +++ b/doc/src/pair_oxrna2.rst @@ -101,9 +101,9 @@ and :ref:`(Ouldridge) ` for a detailed description of the oxRNA2 fo e.g. through :doc:`fix langevin ` or :doc:`fix nve/dotc/langevin ` the temperature coefficients have to be matched to the one used in the fix. -Example input and data files for DNA duplexes can be found in examples/USER/cgdna/examples/oxDNA/ and /oxDNA2/. +Example input and data files for DNA duplexes can be found in examples/PACKAGES/cgdna/examples/oxDNA/ and /oxDNA2/. A simple python setup tool which creates single straight or helical DNA strands, -DNA duplexes or arrays of DNA duplexes can be found in examples/USER/cgdna/util/. +DNA duplexes or arrays of DNA duplexes can be found in examples/PACKAGES/cgdna/util/. Please cite :ref:`(Henrich) ` in any publication that uses this implementation. The article contains general information diff --git a/doc/src/pair_quip.rst b/doc/src/pair_quip.rst index 43aa2eef62..c55792579a 100644 --- a/doc/src/pair_quip.rst +++ b/doc/src/pair_quip.rst @@ -55,7 +55,7 @@ appropriate initialization strings are also advised. The list of atomic numbers must be matched to the LAMMPS atom types specified in the LAMMPS data file or elsewhere. -Two examples input scripts are provided in the examples/USER/quip +Two examples input scripts are provided in the examples/PACKAGES/quip directory. Mixing, shift, table, tail correction, restart, rRESPA info diff --git a/doc/src/pair_srp.rst b/doc/src/pair_srp.rst index 59df8be1e2..05168ce1ba 100644 --- a/doc/src/pair_srp.rst +++ b/doc/src/pair_srp.rst @@ -49,7 +49,7 @@ acts between pairs of bonds. This potential is useful for preventing bonds from passing through one another when a soft non-bonded potential acts between beads in, for example, DPD polymer chains. An example input script that uses this command is provided in -examples/USER/srp. +examples/PACKAGES/srp. Bonds of specified type *btype* interact with one another through a bond-pairwise potential, such that the force on bond *i* due to bond diff --git a/doc/src/pair_thole.rst b/doc/src/pair_thole.rst index 183bab48c9..e14576fa09 100644 --- a/doc/src/pair_thole.rst +++ b/doc/src/pair_thole.rst @@ -42,7 +42,7 @@ Examples pair_style lj/cut/thole/long 2.6 12.0 -Example input scripts available: examples/USER/drude +Example input scripts available: examples/PACKAGES/drude Description """"""""""" From aeeb79b18861186bfb431b3d5bbb216683c700e9 Mon Sep 17 00:00:00 2001 From: julient31 Date: Tue, 29 Jun 2021 12:31:50 -0600 Subject: [PATCH 302/726] correcting small bug in fix nve/spin --- src/SPIN/fix_nve_spin.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/SPIN/fix_nve_spin.cpp b/src/SPIN/fix_nve_spin.cpp index e6929d2d72..c64609cfe3 100644 --- a/src/SPIN/fix_nve_spin.cpp +++ b/src/SPIN/fix_nve_spin.cpp @@ -176,6 +176,7 @@ void FixNVESpin::init() // loop 1: obtain # of Pairs, and # of Pair/Spin styles + npairspin = 0; PairHybrid *hybrid = (PairHybrid *)force->pair_match("^hybrid",0); if (force->pair_match("^spin",0,0)) { // only one Pair/Spin style pair = force->pair_match("^spin",0,0); @@ -232,6 +233,7 @@ void FixNVESpin::init() // loop 1: obtain # of fix precession/spin styles int iforce; + nprecspin = 0; for (iforce = 0; iforce < modify->nfix; iforce++) { if (utils::strmatch(modify->fix[iforce]->style,"^precession/spin")) { nprecspin++; @@ -264,6 +266,7 @@ void FixNVESpin::init() // loop 1: obtain # of fix langevin/spin styles + nlangspin = 0; for (iforce = 0; iforce < modify->nfix; iforce++) { if (utils::strmatch(modify->fix[iforce]->style,"^langevin/spin")) { nlangspin++; From efaec31a844d579dda0c535f44635d2abd663fac Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 29 Jun 2021 15:21:54 -0400 Subject: [PATCH 303/726] rename USER-CGDNA and USER-CGSDK to CG-DNA and CG-SDK --- .github/CODEOWNERS | 4 ++-- cmake/CMakeLists.txt | 2 +- cmake/presets/all_off.cmake | 2 +- cmake/presets/all_on.cmake | 2 +- cmake/presets/mingw-cross.cmake | 2 +- cmake/presets/most.cmake | 2 +- doc/src/PDF/{USER-CGDNA.pdf => CG-DNA.pdf} | Bin doc/src/Packages_details.rst | 20 +++++++++--------- doc/src/Packages_user.rst | 4 ++-- doc/src/angle_sdk.rst | 2 +- doc/src/bond_oxdna.rst | 4 ++-- doc/src/fix_nve_dot.rst | 4 ++-- doc/src/fix_nve_dotc_langevin.rst | 4 ++-- doc/src/pair_oxdna.rst | 4 ++-- doc/src/pair_oxdna2.rst | 4 ++-- doc/src/pair_oxrna2.rst | 4 ++-- doc/src/pair_sdk.rst | 2 +- examples/PACKAGES/cgsdk/README | 2 +- src/{USER-CGDNA => CG-DNA}/Install.sh | 0 src/{USER-CGDNA => CG-DNA}/README.md | 6 +++--- .../bond_oxdna2_fene.cpp | 0 src/{USER-CGDNA => CG-DNA}/bond_oxdna2_fene.h | 0 .../bond_oxdna_fene.cpp | 0 src/{USER-CGDNA => CG-DNA}/bond_oxdna_fene.h | 0 .../bond_oxrna2_fene.cpp | 0 src/{USER-CGDNA => CG-DNA}/bond_oxrna2_fene.h | 0 src/{USER-CGDNA => CG-DNA}/fix_nve_dot.cpp | 0 src/{USER-CGDNA => CG-DNA}/fix_nve_dot.h | 0 .../fix_nve_dotc_langevin.cpp | 0 .../fix_nve_dotc_langevin.h | 0 src/{USER-CGDNA => CG-DNA}/mf_oxdna.h | 0 .../pair_oxdna2_coaxstk.cpp | 0 .../pair_oxdna2_coaxstk.h | 0 src/{USER-CGDNA => CG-DNA}/pair_oxdna2_dh.cpp | 0 src/{USER-CGDNA => CG-DNA}/pair_oxdna2_dh.h | 0 .../pair_oxdna2_excv.cpp | 0 src/{USER-CGDNA => CG-DNA}/pair_oxdna2_excv.h | 0 .../pair_oxdna_coaxstk.cpp | 0 .../pair_oxdna_coaxstk.h | 0 .../pair_oxdna_excv.cpp | 0 src/{USER-CGDNA => CG-DNA}/pair_oxdna_excv.h | 0 .../pair_oxdna_hbond.cpp | 0 src/{USER-CGDNA => CG-DNA}/pair_oxdna_hbond.h | 0 src/{USER-CGDNA => CG-DNA}/pair_oxdna_stk.cpp | 0 src/{USER-CGDNA => CG-DNA}/pair_oxdna_stk.h | 0 .../pair_oxdna_xstk.cpp | 0 src/{USER-CGDNA => CG-DNA}/pair_oxdna_xstk.h | 0 src/{USER-CGDNA => CG-DNA}/pair_oxrna2_dh.cpp | 0 src/{USER-CGDNA => CG-DNA}/pair_oxrna2_dh.h | 0 .../pair_oxrna2_excv.cpp | 0 src/{USER-CGDNA => CG-DNA}/pair_oxrna2_excv.h | 0 .../pair_oxrna2_hbond.cpp | 0 .../pair_oxrna2_hbond.h | 0 .../pair_oxrna2_stk.cpp | 0 src/{USER-CGDNA => CG-DNA}/pair_oxrna2_stk.h | 0 .../pair_oxrna2_xstk.cpp | 0 src/{USER-CGDNA => CG-DNA}/pair_oxrna2_xstk.h | 0 src/{USER-CGSDK => CG-SDK}/Install.sh | 0 src/{USER-CGSDK => CG-SDK}/README | 5 +++-- src/{USER-CGSDK => CG-SDK}/angle_sdk.cpp | 0 src/{USER-CGSDK => CG-SDK}/angle_sdk.h | 0 src/{USER-CGSDK => CG-SDK}/lj_sdk_common.h | 0 src/{USER-CGSDK => CG-SDK}/pair_lj_sdk.cpp | 0 src/{USER-CGSDK => CG-SDK}/pair_lj_sdk.h | 0 .../pair_lj_sdk_coul_long.cpp | 0 .../pair_lj_sdk_coul_long.h | 0 .../pair_lj_sdk_coul_msm.cpp | 0 .../pair_lj_sdk_coul_msm.h | 0 src/Depend.sh | 4 ++-- src/Makefile | 4 ++-- src/USER-BROWNIAN/fix_brownian.cpp | 2 +- src/USER-BROWNIAN/fix_brownian_asphere.cpp | 2 +- src/USER-BROWNIAN/fix_brownian_base.cpp | 2 +- src/USER-BROWNIAN/fix_brownian_sphere.cpp | 2 +- 74 files changed, 48 insertions(+), 47 deletions(-) rename doc/src/PDF/{USER-CGDNA.pdf => CG-DNA.pdf} (100%) rename src/{USER-CGDNA => CG-DNA}/Install.sh (100%) rename src/{USER-CGDNA => CG-DNA}/README.md (96%) rename src/{USER-CGDNA => CG-DNA}/bond_oxdna2_fene.cpp (100%) rename src/{USER-CGDNA => CG-DNA}/bond_oxdna2_fene.h (100%) rename src/{USER-CGDNA => CG-DNA}/bond_oxdna_fene.cpp (100%) rename src/{USER-CGDNA => CG-DNA}/bond_oxdna_fene.h (100%) rename src/{USER-CGDNA => CG-DNA}/bond_oxrna2_fene.cpp (100%) rename src/{USER-CGDNA => CG-DNA}/bond_oxrna2_fene.h (100%) rename src/{USER-CGDNA => CG-DNA}/fix_nve_dot.cpp (100%) rename src/{USER-CGDNA => CG-DNA}/fix_nve_dot.h (100%) rename src/{USER-CGDNA => CG-DNA}/fix_nve_dotc_langevin.cpp (100%) rename src/{USER-CGDNA => CG-DNA}/fix_nve_dotc_langevin.h (100%) rename src/{USER-CGDNA => CG-DNA}/mf_oxdna.h (100%) rename src/{USER-CGDNA => CG-DNA}/pair_oxdna2_coaxstk.cpp (100%) rename src/{USER-CGDNA => CG-DNA}/pair_oxdna2_coaxstk.h (100%) rename src/{USER-CGDNA => CG-DNA}/pair_oxdna2_dh.cpp (100%) rename src/{USER-CGDNA => CG-DNA}/pair_oxdna2_dh.h (100%) rename src/{USER-CGDNA => CG-DNA}/pair_oxdna2_excv.cpp (100%) rename src/{USER-CGDNA => CG-DNA}/pair_oxdna2_excv.h (100%) rename src/{USER-CGDNA => CG-DNA}/pair_oxdna_coaxstk.cpp (100%) rename src/{USER-CGDNA => CG-DNA}/pair_oxdna_coaxstk.h (100%) rename src/{USER-CGDNA => CG-DNA}/pair_oxdna_excv.cpp (100%) rename src/{USER-CGDNA => CG-DNA}/pair_oxdna_excv.h (100%) rename src/{USER-CGDNA => CG-DNA}/pair_oxdna_hbond.cpp (100%) rename src/{USER-CGDNA => CG-DNA}/pair_oxdna_hbond.h (100%) rename src/{USER-CGDNA => CG-DNA}/pair_oxdna_stk.cpp (100%) rename src/{USER-CGDNA => CG-DNA}/pair_oxdna_stk.h (100%) rename src/{USER-CGDNA => CG-DNA}/pair_oxdna_xstk.cpp (100%) rename src/{USER-CGDNA => CG-DNA}/pair_oxdna_xstk.h (100%) rename src/{USER-CGDNA => CG-DNA}/pair_oxrna2_dh.cpp (100%) rename src/{USER-CGDNA => CG-DNA}/pair_oxrna2_dh.h (100%) rename src/{USER-CGDNA => CG-DNA}/pair_oxrna2_excv.cpp (100%) rename src/{USER-CGDNA => CG-DNA}/pair_oxrna2_excv.h (100%) rename src/{USER-CGDNA => CG-DNA}/pair_oxrna2_hbond.cpp (100%) rename src/{USER-CGDNA => CG-DNA}/pair_oxrna2_hbond.h (100%) rename src/{USER-CGDNA => CG-DNA}/pair_oxrna2_stk.cpp (100%) rename src/{USER-CGDNA => CG-DNA}/pair_oxrna2_stk.h (100%) rename src/{USER-CGDNA => CG-DNA}/pair_oxrna2_xstk.cpp (100%) rename src/{USER-CGDNA => CG-DNA}/pair_oxrna2_xstk.h (100%) rename src/{USER-CGSDK => CG-SDK}/Install.sh (100%) rename src/{USER-CGSDK => CG-SDK}/README (91%) rename src/{USER-CGSDK => CG-SDK}/angle_sdk.cpp (100%) rename src/{USER-CGSDK => CG-SDK}/angle_sdk.h (100%) rename src/{USER-CGSDK => CG-SDK}/lj_sdk_common.h (100%) rename src/{USER-CGSDK => CG-SDK}/pair_lj_sdk.cpp (100%) rename src/{USER-CGSDK => CG-SDK}/pair_lj_sdk.h (100%) rename src/{USER-CGSDK => CG-SDK}/pair_lj_sdk_coul_long.cpp (100%) rename src/{USER-CGSDK => CG-SDK}/pair_lj_sdk_coul_long.h (100%) rename src/{USER-CGSDK => CG-SDK}/pair_lj_sdk_coul_msm.cpp (100%) rename src/{USER-CGSDK => CG-SDK}/pair_lj_sdk_coul_msm.h (100%) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 56fcf548e6..039756e7ff 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -23,8 +23,8 @@ src/MLIAP/* @athomps src/SNAP/* @athomps src/SPIN/* @julient31 src/USER-BROWNIAN/* @samueljmcameron -src/USER-CGDNA/* @ohenrich -src/USER-CGSDK/* @akohlmey +src/CG-DNA/* @ohenrich +src/CG-SDK/* @akohlmey src/USER-COLVARS/* @giacomofiorin src/USER-DIELECTRIC/* @ndtrung81 src/USER-FEP/* @agiliopadua diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 5d8967adfa..6853477d34 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -141,7 +141,7 @@ option(CMAKE_VERBOSE_MAKEFILE "Generate verbose Makefiles" OFF) set(STANDARD_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS DIPOLE GRANULAR KSPACE LATTE MANYBODY MC MESSAGE MISC ML-IAP MOLECULE PERI POEMS PLUGIN QEQ REPLICA RIGID SHOCK SPIN ML-SNAP SRD KIM PYTHON MSCG MPIIO VORONOI - USER-ADIOS USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-MESODPD USER-CGSDK + USER-ADIOS USER-ATC USER-AWPMD USER-BOCS CG-DNA USER-MESODPD CG-SDK USER-COLVARS USER-DIELECTRIC USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD USER-HDNNP USER-LB USER-MANIFOLD USER-MDI USER-MEAMC USER-MESONT USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF USER-PHONON USER-PLUMED USER-PTM USER-QTB diff --git a/cmake/presets/all_off.cmake b/cmake/presets/all_off.cmake index 2f22a09f2b..5521816a70 100644 --- a/cmake/presets/all_off.cmake +++ b/cmake/presets/all_off.cmake @@ -5,7 +5,7 @@ set(ALL_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU GRANULAR KIM KOKKOS KSPACE LATTE MANYBODY MC MESSAGE MISC ML-IAP MOLECULE MPIIO MSCG OPT PERI PLUGIN POEMS PYTHON QEQ REPLICA RIGID SHOCK ML-SNAP SPIN SRD VORONOI - USER-ADIOS USER-ATC USER-AWPMD USER-BROWNIAN USER-BOCS USER-CGDNA USER-CGSDK + USER-ADIOS USER-ATC USER-AWPMD USER-BROWNIAN USER-BOCS CG-DNA CG-SDK USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD USER-HDNNP USER-INTEL USER-LB USER-MANIFOLD USER-MDI USER-MEAMC USER-MESODPD USER-MESONT USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF USER-OMP diff --git a/cmake/presets/all_on.cmake b/cmake/presets/all_on.cmake index ca714c3f0e..935cf7b538 100644 --- a/cmake/presets/all_on.cmake +++ b/cmake/presets/all_on.cmake @@ -7,7 +7,7 @@ set(ALL_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU GRANULAR KIM KOKKOS KSPACE LATTE MANYBODY MC MESSAGE MISC ML-IAP MOLECULE MPIIO MSCG OPT PERI PLUGIN POEMS PYTHON QEQ REPLICA RIGID SHOCK ML-SNAP SPIN SRD VORONOI - USER-ADIOS USER-ATC USER-AWPMD USER-BROWNIAN USER-BOCS USER-CGDNA USER-CGSDK + USER-ADIOS USER-ATC USER-AWPMD USER-BROWNIAN USER-BOCS CG-DNA CG-SDK USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD USER-HDNNP USER-INTEL USER-LB USER-MANIFOLD USER-MDI USER-MEAMC USER-MESODPD USER-MESONT USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF USER-OMP diff --git a/cmake/presets/mingw-cross.cmake b/cmake/presets/mingw-cross.cmake index 94aef93f29..d0d94b6b70 100644 --- a/cmake/presets/mingw-cross.cmake +++ b/cmake/presets/mingw-cross.cmake @@ -1,7 +1,7 @@ set(WIN_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU GRANULAR KSPACE LATTE MANYBODY MC MISC ML-IAP MOLECULE OPT PERI POEMS QEQ REPLICA RIGID SHOCK ML-SNAP SPIN SRD VORONOI - USER-ATC USER-AWPMD USER-BOCS USER-BROWNIAN USER-CGDNA USER-CGSDK + USER-ATC USER-AWPMD USER-BOCS USER-BROWNIAN CG-DNA CG-SDK USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-HDNNP USER-INTEL USER-MANIFOLD USER-MDI USER-MEAMC USER-MESODPD USER-MESONT USER-MISC USER-MGPT USER-MOFFF USER-MOLFILE USER-OMP diff --git a/cmake/presets/most.cmake b/cmake/presets/most.cmake index 4b7519923b..8abe396521 100644 --- a/cmake/presets/most.cmake +++ b/cmake/presets/most.cmake @@ -5,7 +5,7 @@ set(ALL_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GRANULAR KSPACE MANYBODY MC MISC ML-IAP MOLECULE OPT PERI PLUGIN POEMS PYTHON QEQ REPLICA RIGID SHOCK ML-SNAP SPIN SRD VORONOI - USER-BROWNIAN USER-BOCS USER-CGDNA USER-CGSDK USER-COLVARS + USER-BROWNIAN USER-BOCS CG-DNA CG-SDK USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-MEAMC USER-MESODPD USER-MISC USER-MOFFF USER-OMP USER-PHONON USER-REACTION USER-REAXC USER-SDPD USER-SPH USER-SMD USER-UEF USER-YAFF USER-DIELECTRIC) diff --git a/doc/src/PDF/USER-CGDNA.pdf b/doc/src/PDF/CG-DNA.pdf similarity index 100% rename from doc/src/PDF/USER-CGDNA.pdf rename to doc/src/PDF/CG-DNA.pdf diff --git a/doc/src/Packages_details.rst b/doc/src/Packages_details.rst index 9aca2d4da1..2e1419ae9c 100644 --- a/doc/src/Packages_details.rst +++ b/doc/src/Packages_details.rst @@ -70,8 +70,8 @@ page gives those details. * :ref:`USER-AWPMD ` * :ref:`USER-BOCS ` * :ref:`USER-BROWNIAN ` - * :ref:`USER-CGDNA ` - * :ref:`USER-CGSDK ` + * :ref:`CG-DNA ` + * :ref:`CG-SDK ` * :ref:`USER-COLVARS ` * :ref:`USER-DIELECTRIC ` * :ref:`USER-DIFFRACTION ` @@ -1291,9 +1291,9 @@ Example inputs are in the examples/PACKAGES/brownian folder. ---------- -.. _PKG-USER-CGDNA: +.. _PKG-CG-DNA: -USER-CGDNA package +CG-DNA package ------------------ **Contents:** @@ -1307,8 +1307,8 @@ rigid-body integrators with improved stability. **Supporting info:** -* src/USER-CGDNA: filenames -> commands -* /src/USER-CGDNA/README +* src/CG-DNA: filenames -> commands +* /src/CG-DNA/README * :doc:`pair_style oxdna/\* ` * :doc:`pair_style oxdna2/\* ` * :doc:`pair_style oxrna2/\* ` @@ -1319,9 +1319,9 @@ rigid-body integrators with improved stability. ---------- -.. _PKG-USER-CGSDK: +.. _PKG-CG-SDK: -USER-CGSDK package +CG-SDK package ------------------ **Contents:** @@ -1335,8 +1335,8 @@ acids. **Supporting info:** -* src/USER-CGSDK: filenames -> commands -* src/USER-CGSDK/README +* src/CG-SDK: filenames -> commands +* src/CG-SDK/README * :doc:`pair_style lj/sdk/\* ` * :doc:`angle_style sdk ` * examples/PACKAGES/cgsdk diff --git a/doc/src/Packages_user.rst b/doc/src/Packages_user.rst index ef6e79437c..33e8c8b7a9 100644 --- a/doc/src/Packages_user.rst +++ b/doc/src/Packages_user.rst @@ -41,9 +41,9 @@ package: +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ | :ref:`USER-BROWNIAN ` | Brownian dynamics and self-propelled particles | :doc:`fix brownian `, :doc:`fix propel/self ` | USER/brownian | no | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`USER-CGDNA ` | coarse-grained DNA force fields | src/USER-CGDNA/README | USER/cgdna | no | +| :ref:`CG-DNA ` | coarse-grained DNA force fields | src/CG-DNA/README | USER/cgdna | no | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`USER-CGSDK ` | SDK coarse-graining model | :doc:`pair_style lj/sdk ` | USER/cgsdk | no | +| :ref:`CG-SDK ` | SDK coarse-graining model | :doc:`pair_style lj/sdk ` | USER/cgsdk | no | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ | :ref:`USER-COLVARS ` | collective variables library | :doc:`fix colvars ` | USER/colvars | int | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ diff --git a/doc/src/angle_sdk.rst b/doc/src/angle_sdk.rst index 340a3e4de7..fe0cd3968b 100644 --- a/doc/src/angle_sdk.rst +++ b/doc/src/angle_sdk.rst @@ -64,7 +64,7 @@ Restrictions """""""""""" This angle style can only be used if LAMMPS was built with the -USER-CGSDK package. See the :doc:`Build package ` doc +CG-SDK package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/bond_oxdna.rst b/doc/src/bond_oxdna.rst index 33d23d4e7b..b2cc68fa22 100644 --- a/doc/src/bond_oxdna.rst +++ b/doc/src/bond_oxdna.rst @@ -86,7 +86,7 @@ Please cite :ref:`(Henrich) ` in any publication that uses this implementation. The article contains general information on the model, its implementation and performance as well as the structure of the data and input file. The preprint version of the article can be found -`here `_. +`here `_. Please cite also the relevant oxDNA/oxRNA publications. These are :ref:`(Ouldridge) ` and :ref:`(Ouldridge-DPhil) ` for oxDNA, @@ -101,7 +101,7 @@ Restrictions """""""""""" This bond style can only be used if LAMMPS was built with the -USER-CGDNA package and the MOLECULE and ASPHERE package. See the +CG-DNA package and the MOLECULE and ASPHERE package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/fix_nve_dot.rst b/doc/src/fix_nve_dot.rst index 4b8b420f63..26af6efb4b 100644 --- a/doc/src/fix_nve_dot.rst +++ b/doc/src/fix_nve_dot.rst @@ -38,7 +38,7 @@ The particles are always considered to have a finite size. An example input file can be found in /examples/PACKAGES/cgdna/examples/duplex1/. Further details of the implementation and stability of the integrator are contained in :ref:`(Henrich) `. -The preprint version of the article can be found `here `_. +The preprint version of the article can be found `here `_. ---------- @@ -46,7 +46,7 @@ Restrictions """""""""""" These pair styles can only be used if LAMMPS was built with the -:ref:`USER-CGDNA ` package and the MOLECULE and ASPHERE package. +:ref:`CG-DNA ` package and the MOLECULE and ASPHERE package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/fix_nve_dotc_langevin.rst b/doc/src/fix_nve_dotc_langevin.rst index d1dd948382..944767ff51 100644 --- a/doc/src/fix_nve_dotc_langevin.rst +++ b/doc/src/fix_nve_dotc_langevin.rst @@ -122,7 +122,7 @@ rotational to the translational friction coefficient. An example input file can be found in examples/PACKAGES/cgdna/examples/duplex2/. Further details of the implementation and stability of the integrators are contained in :ref:`(Henrich) `. -The preprint version of the article can be found `here `_. +The preprint version of the article can be found `here `_. ---------- @@ -130,7 +130,7 @@ Restrictions """""""""""" These pair styles can only be used if LAMMPS was built with the -:ref:`USER-CGDNA ` package and the MOLECULE and ASPHERE package. +:ref:`CG-DNA ` package and the MOLECULE and ASPHERE package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/pair_oxdna.rst b/doc/src/pair_oxdna.rst index a86bf4aaa5..b6b55a503b 100644 --- a/doc/src/pair_oxdna.rst +++ b/doc/src/pair_oxdna.rst @@ -99,7 +99,7 @@ Please cite :ref:`(Henrich) ` in any publication that uses this implementation. The article contains general information on the model, its implementation and performance as well as the structure of the data and input file. The preprint version of the article can be found -`here `_. +`here `_. Please cite also the relevant oxDNA publications :ref:`(Ouldridge) `, :ref:`(Ouldridge-DPhil) ` @@ -111,7 +111,7 @@ Restrictions """""""""""" These pair styles can only be used if LAMMPS was built with the -USER-CGDNA package and the MOLECULE and ASPHERE package. See the +CG-DNA package and the MOLECULE and ASPHERE package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/pair_oxdna2.rst b/doc/src/pair_oxdna2.rst index 23c2d8c919..37739c3813 100644 --- a/doc/src/pair_oxdna2.rst +++ b/doc/src/pair_oxdna2.rst @@ -108,7 +108,7 @@ Please cite :ref:`(Henrich) ` in any publication that uses this implementation. The article contains general information on the model, its implementation and performance as well as the structure of the data and input file. The preprint version of the article can be found -`here `_. +`here `_. Please cite also the relevant oxDNA2 publications :ref:`(Snodin) ` and :ref:`(Sulc) `. @@ -118,7 +118,7 @@ Restrictions """""""""""" These pair styles can only be used if LAMMPS was built with the -USER-CGDNA package and the MOLECULE and ASPHERE package. See the +CG-DNA package and the MOLECULE and ASPHERE package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/pair_oxrna2.rst b/doc/src/pair_oxrna2.rst index 825e15e626..bd89f1fec0 100644 --- a/doc/src/pair_oxrna2.rst +++ b/doc/src/pair_oxrna2.rst @@ -109,7 +109,7 @@ Please cite :ref:`(Henrich) ` in any publication that uses this implementation. The article contains general information on the model, its implementation and performance as well as the structure of the data and input file. The preprint version of the article can be found -`here `_. +`here `_. Please cite also the relevant oxRNA2 publications :ref:`(Sulc1) ` and :ref:`(Sulc2) `. @@ -119,7 +119,7 @@ Restrictions """""""""""" These pair styles can only be used if LAMMPS was built with the -USER-CGDNA package and the MOLECULE and ASPHERE package. See the +CG-DNA package and the MOLECULE and ASPHERE package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/pair_sdk.rst b/doc/src/pair_sdk.rst index 541c53d37e..a89a833998 100644 --- a/doc/src/pair_sdk.rst +++ b/doc/src/pair_sdk.rst @@ -148,7 +148,7 @@ the use of the *inner*\ , *middle*\ , and *outer* keywords of the :doc:`run_styl Restrictions """""""""""" -All of the lj/sdk pair styles are part of the USER-CGSDK package. The +All of the lj/sdk pair styles are part of the CG-SDK package. The *lj/sdk/coul/long* style also requires the KSPACE package to be built (which is enabled by default). They are only enabled if LAMMPS was built with that package. See the :doc:`Build package ` diff --git a/examples/PACKAGES/cgsdk/README b/examples/PACKAGES/cgsdk/README index 5d3a493779..09b9b0a8ea 100644 --- a/examples/PACKAGES/cgsdk/README +++ b/examples/PACKAGES/cgsdk/README @@ -1,4 +1,4 @@ -LAMMPS USER-CGSDK example problems +LAMMPS CG-SDK example problems Each of these sub-directories contains a sample problem for the SDK coarse grained MD potentials that you can run with LAMMPS. diff --git a/src/USER-CGDNA/Install.sh b/src/CG-DNA/Install.sh similarity index 100% rename from src/USER-CGDNA/Install.sh rename to src/CG-DNA/Install.sh diff --git a/src/USER-CGDNA/README.md b/src/CG-DNA/README.md similarity index 96% rename from src/USER-CGDNA/README.md rename to src/CG-DNA/README.md index 015c1db188..bd3799a060 100644 --- a/src/USER-CGDNA/README.md +++ b/src/CG-DNA/README.md @@ -40,13 +40,13 @@ gradient thermostats for rigid body dynamics", J. Chem. Phys. 142, 144114 (2015). Example input and data files can be found in -/examples/USER/cgdna/examples/oxDNA/, /oxDNA2/ and /oxRNA2/. +examples/PACKAGES/cgdna/examples/oxDNA/, /oxDNA2/ and /oxRNA2/. Python setup tools which create single straight or helical DNA or RNA strands as well as DNA or RNA duplexes or arrays of duplexes can be -found in /examples/USER/cgdna/util/. A technical report with more +found in examples/PACKAGES/cgdna/util/. A technical report with more general information on the model, its implementation and performance as well as the structure of the data and input file can be found -in /doc/src/PDF/USER-CGDNA.pdf. +in doc/src/PDF/CG-DNA.pdf. IMPORTANT NOTE: This package can only be used if LAMMPS is compiled with the MOLECULE and ASPHERE packages. These should be included in diff --git a/src/USER-CGDNA/bond_oxdna2_fene.cpp b/src/CG-DNA/bond_oxdna2_fene.cpp similarity index 100% rename from src/USER-CGDNA/bond_oxdna2_fene.cpp rename to src/CG-DNA/bond_oxdna2_fene.cpp diff --git a/src/USER-CGDNA/bond_oxdna2_fene.h b/src/CG-DNA/bond_oxdna2_fene.h similarity index 100% rename from src/USER-CGDNA/bond_oxdna2_fene.h rename to src/CG-DNA/bond_oxdna2_fene.h diff --git a/src/USER-CGDNA/bond_oxdna_fene.cpp b/src/CG-DNA/bond_oxdna_fene.cpp similarity index 100% rename from src/USER-CGDNA/bond_oxdna_fene.cpp rename to src/CG-DNA/bond_oxdna_fene.cpp diff --git a/src/USER-CGDNA/bond_oxdna_fene.h b/src/CG-DNA/bond_oxdna_fene.h similarity index 100% rename from src/USER-CGDNA/bond_oxdna_fene.h rename to src/CG-DNA/bond_oxdna_fene.h diff --git a/src/USER-CGDNA/bond_oxrna2_fene.cpp b/src/CG-DNA/bond_oxrna2_fene.cpp similarity index 100% rename from src/USER-CGDNA/bond_oxrna2_fene.cpp rename to src/CG-DNA/bond_oxrna2_fene.cpp diff --git a/src/USER-CGDNA/bond_oxrna2_fene.h b/src/CG-DNA/bond_oxrna2_fene.h similarity index 100% rename from src/USER-CGDNA/bond_oxrna2_fene.h rename to src/CG-DNA/bond_oxrna2_fene.h diff --git a/src/USER-CGDNA/fix_nve_dot.cpp b/src/CG-DNA/fix_nve_dot.cpp similarity index 100% rename from src/USER-CGDNA/fix_nve_dot.cpp rename to src/CG-DNA/fix_nve_dot.cpp diff --git a/src/USER-CGDNA/fix_nve_dot.h b/src/CG-DNA/fix_nve_dot.h similarity index 100% rename from src/USER-CGDNA/fix_nve_dot.h rename to src/CG-DNA/fix_nve_dot.h diff --git a/src/USER-CGDNA/fix_nve_dotc_langevin.cpp b/src/CG-DNA/fix_nve_dotc_langevin.cpp similarity index 100% rename from src/USER-CGDNA/fix_nve_dotc_langevin.cpp rename to src/CG-DNA/fix_nve_dotc_langevin.cpp diff --git a/src/USER-CGDNA/fix_nve_dotc_langevin.h b/src/CG-DNA/fix_nve_dotc_langevin.h similarity index 100% rename from src/USER-CGDNA/fix_nve_dotc_langevin.h rename to src/CG-DNA/fix_nve_dotc_langevin.h diff --git a/src/USER-CGDNA/mf_oxdna.h b/src/CG-DNA/mf_oxdna.h similarity index 100% rename from src/USER-CGDNA/mf_oxdna.h rename to src/CG-DNA/mf_oxdna.h diff --git a/src/USER-CGDNA/pair_oxdna2_coaxstk.cpp b/src/CG-DNA/pair_oxdna2_coaxstk.cpp similarity index 100% rename from src/USER-CGDNA/pair_oxdna2_coaxstk.cpp rename to src/CG-DNA/pair_oxdna2_coaxstk.cpp diff --git a/src/USER-CGDNA/pair_oxdna2_coaxstk.h b/src/CG-DNA/pair_oxdna2_coaxstk.h similarity index 100% rename from src/USER-CGDNA/pair_oxdna2_coaxstk.h rename to src/CG-DNA/pair_oxdna2_coaxstk.h diff --git a/src/USER-CGDNA/pair_oxdna2_dh.cpp b/src/CG-DNA/pair_oxdna2_dh.cpp similarity index 100% rename from src/USER-CGDNA/pair_oxdna2_dh.cpp rename to src/CG-DNA/pair_oxdna2_dh.cpp diff --git a/src/USER-CGDNA/pair_oxdna2_dh.h b/src/CG-DNA/pair_oxdna2_dh.h similarity index 100% rename from src/USER-CGDNA/pair_oxdna2_dh.h rename to src/CG-DNA/pair_oxdna2_dh.h diff --git a/src/USER-CGDNA/pair_oxdna2_excv.cpp b/src/CG-DNA/pair_oxdna2_excv.cpp similarity index 100% rename from src/USER-CGDNA/pair_oxdna2_excv.cpp rename to src/CG-DNA/pair_oxdna2_excv.cpp diff --git a/src/USER-CGDNA/pair_oxdna2_excv.h b/src/CG-DNA/pair_oxdna2_excv.h similarity index 100% rename from src/USER-CGDNA/pair_oxdna2_excv.h rename to src/CG-DNA/pair_oxdna2_excv.h diff --git a/src/USER-CGDNA/pair_oxdna_coaxstk.cpp b/src/CG-DNA/pair_oxdna_coaxstk.cpp similarity index 100% rename from src/USER-CGDNA/pair_oxdna_coaxstk.cpp rename to src/CG-DNA/pair_oxdna_coaxstk.cpp diff --git a/src/USER-CGDNA/pair_oxdna_coaxstk.h b/src/CG-DNA/pair_oxdna_coaxstk.h similarity index 100% rename from src/USER-CGDNA/pair_oxdna_coaxstk.h rename to src/CG-DNA/pair_oxdna_coaxstk.h diff --git a/src/USER-CGDNA/pair_oxdna_excv.cpp b/src/CG-DNA/pair_oxdna_excv.cpp similarity index 100% rename from src/USER-CGDNA/pair_oxdna_excv.cpp rename to src/CG-DNA/pair_oxdna_excv.cpp diff --git a/src/USER-CGDNA/pair_oxdna_excv.h b/src/CG-DNA/pair_oxdna_excv.h similarity index 100% rename from src/USER-CGDNA/pair_oxdna_excv.h rename to src/CG-DNA/pair_oxdna_excv.h diff --git a/src/USER-CGDNA/pair_oxdna_hbond.cpp b/src/CG-DNA/pair_oxdna_hbond.cpp similarity index 100% rename from src/USER-CGDNA/pair_oxdna_hbond.cpp rename to src/CG-DNA/pair_oxdna_hbond.cpp diff --git a/src/USER-CGDNA/pair_oxdna_hbond.h b/src/CG-DNA/pair_oxdna_hbond.h similarity index 100% rename from src/USER-CGDNA/pair_oxdna_hbond.h rename to src/CG-DNA/pair_oxdna_hbond.h diff --git a/src/USER-CGDNA/pair_oxdna_stk.cpp b/src/CG-DNA/pair_oxdna_stk.cpp similarity index 100% rename from src/USER-CGDNA/pair_oxdna_stk.cpp rename to src/CG-DNA/pair_oxdna_stk.cpp diff --git a/src/USER-CGDNA/pair_oxdna_stk.h b/src/CG-DNA/pair_oxdna_stk.h similarity index 100% rename from src/USER-CGDNA/pair_oxdna_stk.h rename to src/CG-DNA/pair_oxdna_stk.h diff --git a/src/USER-CGDNA/pair_oxdna_xstk.cpp b/src/CG-DNA/pair_oxdna_xstk.cpp similarity index 100% rename from src/USER-CGDNA/pair_oxdna_xstk.cpp rename to src/CG-DNA/pair_oxdna_xstk.cpp diff --git a/src/USER-CGDNA/pair_oxdna_xstk.h b/src/CG-DNA/pair_oxdna_xstk.h similarity index 100% rename from src/USER-CGDNA/pair_oxdna_xstk.h rename to src/CG-DNA/pair_oxdna_xstk.h diff --git a/src/USER-CGDNA/pair_oxrna2_dh.cpp b/src/CG-DNA/pair_oxrna2_dh.cpp similarity index 100% rename from src/USER-CGDNA/pair_oxrna2_dh.cpp rename to src/CG-DNA/pair_oxrna2_dh.cpp diff --git a/src/USER-CGDNA/pair_oxrna2_dh.h b/src/CG-DNA/pair_oxrna2_dh.h similarity index 100% rename from src/USER-CGDNA/pair_oxrna2_dh.h rename to src/CG-DNA/pair_oxrna2_dh.h diff --git a/src/USER-CGDNA/pair_oxrna2_excv.cpp b/src/CG-DNA/pair_oxrna2_excv.cpp similarity index 100% rename from src/USER-CGDNA/pair_oxrna2_excv.cpp rename to src/CG-DNA/pair_oxrna2_excv.cpp diff --git a/src/USER-CGDNA/pair_oxrna2_excv.h b/src/CG-DNA/pair_oxrna2_excv.h similarity index 100% rename from src/USER-CGDNA/pair_oxrna2_excv.h rename to src/CG-DNA/pair_oxrna2_excv.h diff --git a/src/USER-CGDNA/pair_oxrna2_hbond.cpp b/src/CG-DNA/pair_oxrna2_hbond.cpp similarity index 100% rename from src/USER-CGDNA/pair_oxrna2_hbond.cpp rename to src/CG-DNA/pair_oxrna2_hbond.cpp diff --git a/src/USER-CGDNA/pair_oxrna2_hbond.h b/src/CG-DNA/pair_oxrna2_hbond.h similarity index 100% rename from src/USER-CGDNA/pair_oxrna2_hbond.h rename to src/CG-DNA/pair_oxrna2_hbond.h diff --git a/src/USER-CGDNA/pair_oxrna2_stk.cpp b/src/CG-DNA/pair_oxrna2_stk.cpp similarity index 100% rename from src/USER-CGDNA/pair_oxrna2_stk.cpp rename to src/CG-DNA/pair_oxrna2_stk.cpp diff --git a/src/USER-CGDNA/pair_oxrna2_stk.h b/src/CG-DNA/pair_oxrna2_stk.h similarity index 100% rename from src/USER-CGDNA/pair_oxrna2_stk.h rename to src/CG-DNA/pair_oxrna2_stk.h diff --git a/src/USER-CGDNA/pair_oxrna2_xstk.cpp b/src/CG-DNA/pair_oxrna2_xstk.cpp similarity index 100% rename from src/USER-CGDNA/pair_oxrna2_xstk.cpp rename to src/CG-DNA/pair_oxrna2_xstk.cpp diff --git a/src/USER-CGDNA/pair_oxrna2_xstk.h b/src/CG-DNA/pair_oxrna2_xstk.h similarity index 100% rename from src/USER-CGDNA/pair_oxrna2_xstk.h rename to src/CG-DNA/pair_oxrna2_xstk.h diff --git a/src/USER-CGSDK/Install.sh b/src/CG-SDK/Install.sh similarity index 100% rename from src/USER-CGSDK/Install.sh rename to src/CG-SDK/Install.sh diff --git a/src/USER-CGSDK/README b/src/CG-SDK/README similarity index 91% rename from src/USER-CGSDK/README rename to src/CG-SDK/README index 3d5cae9b20..c6bd90531e 100644 --- a/src/USER-CGSDK/README +++ b/src/CG-SDK/README @@ -1,8 +1,9 @@ -This package implements 3 commands which can be used in a LAMMPS input +This package implements 4 commands which can be used in a LAMMPS input script: pair_style lj/sdk pair_style lj/sdk/coul/long +pair_style lj/sdk/coul/msm angle_style sdk These styles allow coarse grained MD simulations with the @@ -13,7 +14,7 @@ lipids and charged amino acids. See the doc pages for these commands for details. There are example scripts for using this package in -examples/USER/cgsdk +examples/PACKAGES/cgsdk This is the second generation implementation reducing the the clutter of the previous version. For many systems with long range diff --git a/src/USER-CGSDK/angle_sdk.cpp b/src/CG-SDK/angle_sdk.cpp similarity index 100% rename from src/USER-CGSDK/angle_sdk.cpp rename to src/CG-SDK/angle_sdk.cpp diff --git a/src/USER-CGSDK/angle_sdk.h b/src/CG-SDK/angle_sdk.h similarity index 100% rename from src/USER-CGSDK/angle_sdk.h rename to src/CG-SDK/angle_sdk.h diff --git a/src/USER-CGSDK/lj_sdk_common.h b/src/CG-SDK/lj_sdk_common.h similarity index 100% rename from src/USER-CGSDK/lj_sdk_common.h rename to src/CG-SDK/lj_sdk_common.h diff --git a/src/USER-CGSDK/pair_lj_sdk.cpp b/src/CG-SDK/pair_lj_sdk.cpp similarity index 100% rename from src/USER-CGSDK/pair_lj_sdk.cpp rename to src/CG-SDK/pair_lj_sdk.cpp diff --git a/src/USER-CGSDK/pair_lj_sdk.h b/src/CG-SDK/pair_lj_sdk.h similarity index 100% rename from src/USER-CGSDK/pair_lj_sdk.h rename to src/CG-SDK/pair_lj_sdk.h diff --git a/src/USER-CGSDK/pair_lj_sdk_coul_long.cpp b/src/CG-SDK/pair_lj_sdk_coul_long.cpp similarity index 100% rename from src/USER-CGSDK/pair_lj_sdk_coul_long.cpp rename to src/CG-SDK/pair_lj_sdk_coul_long.cpp diff --git a/src/USER-CGSDK/pair_lj_sdk_coul_long.h b/src/CG-SDK/pair_lj_sdk_coul_long.h similarity index 100% rename from src/USER-CGSDK/pair_lj_sdk_coul_long.h rename to src/CG-SDK/pair_lj_sdk_coul_long.h diff --git a/src/USER-CGSDK/pair_lj_sdk_coul_msm.cpp b/src/CG-SDK/pair_lj_sdk_coul_msm.cpp similarity index 100% rename from src/USER-CGSDK/pair_lj_sdk_coul_msm.cpp rename to src/CG-SDK/pair_lj_sdk_coul_msm.cpp diff --git a/src/USER-CGSDK/pair_lj_sdk_coul_msm.h b/src/CG-SDK/pair_lj_sdk_coul_msm.h similarity index 100% rename from src/USER-CGSDK/pair_lj_sdk_coul_msm.h rename to src/CG-SDK/pair_lj_sdk_coul_msm.h diff --git a/src/Depend.sh b/src/Depend.sh index c97321a9ef..8598afc867 100755 --- a/src/Depend.sh +++ b/src/Depend.sh @@ -48,7 +48,7 @@ depend () { if (test $1 = "ASPHERE") then depend GPU depend USER-OMP - depend USER-CGDNA + depend CG-DNA depend USER-INTEL fi @@ -121,7 +121,7 @@ if (test $1 = "ML-SNAP") then depend ML-IAP fi -if (test $1 = "USER-CGSDK") then +if (test $1 = "CG-SDK") then depend GPU depend KOKKOS depend USER-OMP diff --git a/src/Makefile b/src/Makefile index dc28e28261..b8f03b324a 100644 --- a/src/Makefile +++ b/src/Makefile @@ -51,8 +51,8 @@ PACKAGE = asphere body class2 colloid compress coreshell dipole gpu \ ml-iap molecule mpiio mscg opt peri plugin poems \ python qeq replica rigid shock ml-snap spin srd voronoi -PACKUSER = user-adios user-atc user-awpmd user-brownian user-bocs user-cgdna \ - user-cgsdk user-colvars user-dielectric user-diffraction user-dpd user-drude \ +PACKUSER = user-adios user-atc user-awpmd user-brownian user-bocs cg-dna \ + cg-sdk user-colvars user-dielectric user-diffraction user-dpd user-drude \ user-eff user-fep user-h5md user-hdnnp user-intel user-lb user-manifold \ user-mdi user-meamc user-mesodpd user-mesont user-mgpt user-misc \ user-mofff user-molfile user-netcdf user-omp user-phonon \ diff --git a/src/USER-BROWNIAN/fix_brownian.cpp b/src/USER-BROWNIAN/fix_brownian.cpp index fc6b434080..b811ede721 100644 --- a/src/USER-BROWNIAN/fix_brownian.cpp +++ b/src/USER-BROWNIAN/fix_brownian.cpp @@ -12,7 +12,7 @@ ------------------------------------------------------------------------- */ /* ---------------------------------------------------------------------- - Originally modified from USER-CGDNA/fix_nve_dotc_langevin.cpp. + Originally modified from CG-DNA/fix_nve_dotc_langevin.cpp. Contributing author: Sam Cameron (University of Bristol) ------------------------------------------------------------------------- */ diff --git a/src/USER-BROWNIAN/fix_brownian_asphere.cpp b/src/USER-BROWNIAN/fix_brownian_asphere.cpp index ef0c246508..fccc6b5040 100644 --- a/src/USER-BROWNIAN/fix_brownian_asphere.cpp +++ b/src/USER-BROWNIAN/fix_brownian_asphere.cpp @@ -12,7 +12,7 @@ ------------------------------------------------------------------------- */ /* ---------------------------------------------------------------------- - Originally modified from USER-CGDNA/fix_nve_dotc_langevin.cpp. + Originally modified from CG-DNA/fix_nve_dotc_langevin.cpp. Contributing author: Sam Cameron (University of Bristol) ------------------------------------------------------------------------- */ diff --git a/src/USER-BROWNIAN/fix_brownian_base.cpp b/src/USER-BROWNIAN/fix_brownian_base.cpp index fd5d1f5df7..0fa928bebf 100644 --- a/src/USER-BROWNIAN/fix_brownian_base.cpp +++ b/src/USER-BROWNIAN/fix_brownian_base.cpp @@ -12,7 +12,7 @@ ------------------------------------------------------------------------- */ /* ---------------------------------------------------------------------- - Originally modified from USER-CGDNA/fix_nve_dotc_langevin.cpp. + Originally modified from CG-DNA/fix_nve_dotc_langevin.cpp. Contributing author: Sam Cameron (University of Bristol) ------------------------------------------------------------------------- */ diff --git a/src/USER-BROWNIAN/fix_brownian_sphere.cpp b/src/USER-BROWNIAN/fix_brownian_sphere.cpp index 4621be595f..cf835dcdc1 100644 --- a/src/USER-BROWNIAN/fix_brownian_sphere.cpp +++ b/src/USER-BROWNIAN/fix_brownian_sphere.cpp @@ -12,7 +12,7 @@ ------------------------------------------------------------------------- */ /* ---------------------------------------------------------------------- - Originally modified from USER-CGDNA/fix_nve_dotc_langevin.cpp. + Originally modified from CG-DNA/fix_nve_dotc_langevin.cpp. Contributing author: Sam Cameron (University of Bristol) ------------------------------------------------------------------------- */ From 031e537d3f218bad76a70d8f4227911cb4702220 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 29 Jun 2021 15:34:46 -0400 Subject: [PATCH 304/726] rename USER-HDNNP to ML-HDNNP --- .github/CODEOWNERS | 2 +- cmake/CMakeLists.txt | 4 ++-- cmake/Modules/FindN2P2.cmake | 2 +- .../Packages/{USER-HDNNP.cmake => ML-HDNNP.cmake} | 0 cmake/presets/all_off.cmake | 2 +- cmake/presets/all_on.cmake | 2 +- cmake/presets/mingw-cross.cmake | 2 +- cmake/presets/nolib.cmake | 2 +- doc/src/Build_extras.rst | 14 +++++++------- doc/src/Build_package.rst | 2 +- doc/src/Packages_details.rst | 13 +++++++------ doc/src/Packages_user.rst | 2 +- doc/src/pair_hdnnp.rst | 2 +- lib/README | 2 +- lib/hdnnp/README | 10 +++++----- src/{USER-HDNNP => ML-HDNNP}/Install.sh | 0 src/{USER-HDNNP => ML-HDNNP}/README | 2 +- src/{USER-HDNNP => ML-HDNNP}/pair_hdnnp.cpp | 2 +- src/{USER-HDNNP => ML-HDNNP}/pair_hdnnp.h | 0 src/Makefile | 6 +++--- 20 files changed, 36 insertions(+), 35 deletions(-) rename cmake/Modules/Packages/{USER-HDNNP.cmake => ML-HDNNP.cmake} (100%) rename src/{USER-HDNNP => ML-HDNNP}/Install.sh (100%) rename src/{USER-HDNNP => ML-HDNNP}/README (94%) rename src/{USER-HDNNP => ML-HDNNP}/pair_hdnnp.cpp (99%) rename src/{USER-HDNNP => ML-HDNNP}/pair_hdnnp.h (100%) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 039756e7ff..656a56e85e 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -28,7 +28,7 @@ src/CG-SDK/* @akohlmey src/USER-COLVARS/* @giacomofiorin src/USER-DIELECTRIC/* @ndtrung81 src/USER-FEP/* @agiliopadua -src/USER-HDNNP/* @singraber +src/ML-HDNNP/* @singraber src/USER-INTEL/* @wmbrownintel src/USER-MANIFOLD/* @Pakketeretet2 src/USER-MDI/* @taylor-a-barnes diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 6853477d34..a74b13839b 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -143,7 +143,7 @@ set(STANDARD_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS DIPOLE PLUGIN QEQ REPLICA RIGID SHOCK SPIN ML-SNAP SRD KIM PYTHON MSCG MPIIO VORONOI USER-ADIOS USER-ATC USER-AWPMD USER-BOCS CG-DNA USER-MESODPD CG-SDK USER-COLVARS USER-DIELECTRIC USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP - USER-H5MD USER-HDNNP USER-LB USER-MANIFOLD USER-MDI USER-MEAMC USER-MESONT USER-MGPT + USER-H5MD ML-HDNNP USER-LB USER-MANIFOLD USER-MDI USER-MEAMC USER-MESONT USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF USER-PHONON USER-PLUMED USER-PTM USER-QTB USER-RANN USER-REACTION USER-REAXC USER-SCAFACOS USER-SDPD USER-SMD USER-SMTBQ USER-SPH USER-TALLY USER-UEF USER-VTK USER-QUIP USER-QMMM USER-YAFF USER-PACE USER-BROWNIAN) @@ -350,7 +350,7 @@ else() set(CUDA_REQUEST_PIC) endif() -foreach(PKG_WITH_INCL KSPACE PYTHON ML-IAP VORONOI USER-COLVARS USER-HDNNP USER-MDI USER-MOLFILE USER-NETCDF +foreach(PKG_WITH_INCL KSPACE PYTHON ML-IAP VORONOI USER-COLVARS ML-HDNNP USER-MDI USER-MOLFILE USER-NETCDF USER-PLUMED USER-QMMM USER-QUIP USER-SCAFACOS USER-SMD USER-VTK KIM LATTE MESSAGE MSCG COMPRESS USER-PACE) if(PKG_${PKG_WITH_INCL}) include(Packages/${PKG_WITH_INCL}) diff --git a/cmake/Modules/FindN2P2.cmake b/cmake/Modules/FindN2P2.cmake index 8a97b7dd81..597e3e4609 100644 --- a/cmake/Modules/FindN2P2.cmake +++ b/cmake/Modules/FindN2P2.cmake @@ -22,7 +22,7 @@ find_library(N2P2_LIBNNPIF NAMES nnpif HINTS "${N2P2_DIR}/lib") # # target_compile_definitions(lammps PRIVATE -DN2P2_NO_SF_GROUPS) # -# to "lib/lammps-extra.cmake" which is then included by USER-HDNNP.cmake. +# to "lib/lammps-extra.cmake" which is then included by ML-HDNNP.cmake. find_file(N2P2_CMAKE_EXTRA NAMES lammps-extra.cmake HINTS "${N2P2_DIR}/lib") find_package_handle_standard_args(N2P2 DEFAULT_MSG diff --git a/cmake/Modules/Packages/USER-HDNNP.cmake b/cmake/Modules/Packages/ML-HDNNP.cmake similarity index 100% rename from cmake/Modules/Packages/USER-HDNNP.cmake rename to cmake/Modules/Packages/ML-HDNNP.cmake diff --git a/cmake/presets/all_off.cmake b/cmake/presets/all_off.cmake index 5521816a70..2c9487b948 100644 --- a/cmake/presets/all_off.cmake +++ b/cmake/presets/all_off.cmake @@ -7,7 +7,7 @@ set(ALL_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU SRD VORONOI USER-ADIOS USER-ATC USER-AWPMD USER-BROWNIAN USER-BOCS CG-DNA CG-SDK USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD - USER-HDNNP USER-INTEL USER-LB USER-MANIFOLD USER-MDI USER-MEAMC USER-MESODPD + ML-HDNNP USER-INTEL USER-LB USER-MANIFOLD USER-MDI USER-MEAMC USER-MESODPD USER-MESONT USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF USER-OMP USER-PACE USER-PHONON USER-PLUMED USER-PTM USER-QMMM USER-QTB USER-QUIP USER-RANN USER-REACTION USER-REAXC USER-SCAFACOS USER-SDPD USER-SMD USER-SMTBQ USER-SPH diff --git a/cmake/presets/all_on.cmake b/cmake/presets/all_on.cmake index 935cf7b538..acbace570a 100644 --- a/cmake/presets/all_on.cmake +++ b/cmake/presets/all_on.cmake @@ -9,7 +9,7 @@ set(ALL_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU SRD VORONOI USER-ADIOS USER-ATC USER-AWPMD USER-BROWNIAN USER-BOCS CG-DNA CG-SDK USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD - USER-HDNNP USER-INTEL USER-LB USER-MANIFOLD USER-MDI USER-MEAMC USER-MESODPD + ML-HDNNP USER-INTEL USER-LB USER-MANIFOLD USER-MDI USER-MEAMC USER-MESODPD USER-MESONT USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF USER-OMP USER-PACE USER-PHONON USER-PLUMED USER-PTM USER-QMMM USER-QTB USER-QUIP USER-RANN USER-REACTION USER-REAXC USER-SCAFACOS USER-SDPD USER-SMD USER-SMTBQ USER-SPH diff --git a/cmake/presets/mingw-cross.cmake b/cmake/presets/mingw-cross.cmake index d0d94b6b70..c046ebb327 100644 --- a/cmake/presets/mingw-cross.cmake +++ b/cmake/presets/mingw-cross.cmake @@ -3,7 +3,7 @@ set(WIN_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU PERI POEMS QEQ REPLICA RIGID SHOCK ML-SNAP SPIN SRD VORONOI USER-ATC USER-AWPMD USER-BOCS USER-BROWNIAN CG-DNA CG-SDK USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP - USER-HDNNP USER-INTEL USER-MANIFOLD USER-MDI USER-MEAMC USER-MESODPD + ML-HDNNP USER-INTEL USER-MANIFOLD USER-MDI USER-MEAMC USER-MESODPD USER-MESONT USER-MISC USER-MGPT USER-MOFFF USER-MOLFILE USER-OMP USER-PHONON USER-PTM USER-QTB USER-REACTION USER-REAXC USER-SDPD USER-SMD USER-SMTBQ USER-SPH USER-TALLY USER-UEF diff --git a/cmake/presets/nolib.cmake b/cmake/presets/nolib.cmake index 08a3a531a1..a5e367e641 100644 --- a/cmake/presets/nolib.cmake +++ b/cmake/presets/nolib.cmake @@ -3,7 +3,7 @@ set(PACKAGES_WITH_LIB COMPRESS GPU KIM KOKKOS LATTE MESSAGE MPIIO MSCG PYTHON VORONOI - USER-ADIOS USER-ATC USER-AWPMD USER-H5MD USER-HDNNP USER-LB USER-MOLFILE + USER-ADIOS USER-ATC USER-AWPMD USER-H5MD ML-HDNNP USER-LB USER-MOLFILE USER-MESONT USER-MDI USER-NETCDF USER-PACE USER-PLUMED USER-QMMM USER-QUIP USER-SCAFACOS USER-SMD USER-VTK) diff --git a/doc/src/Build_extras.rst b/doc/src/Build_extras.rst index 3e79883a12..e90bf6409c 100644 --- a/doc/src/Build_extras.rst +++ b/doc/src/Build_extras.rst @@ -48,7 +48,7 @@ This is the list of packages that may require additional steps. * :ref:`USER-AWPMD ` * :ref:`USER-COLVARS ` * :ref:`USER-H5MD ` - * :ref:`USER-HDNNP ` + * :ref:`ML-HDNNP ` * :ref:`USER-INTEL ` * :ref:`USER-MDI ` * :ref:`USER-MESONT ` @@ -1476,13 +1476,13 @@ the HDF5 library. ---------- -.. _user-hdnnp: +.. _ml-hdnnp: -USER-HDNNP package ---------------------------------- +ML-HDNNP package +---------------- -To build with the USER-HDNNP package it is required to download and build the -external `n2p2 `__ library ``v2.1.4`` +To build with the ML-HDNNP package it is required to download and build the +external `n2p2 `_ library ``v2.1.4`` (or higher). The LAMMPS build process offers an automatic download and compilation of *n2p2* or allows you to choose the installation directory of *n2p2* manually. Please see the boxes below for the CMake and traditional build @@ -1492,7 +1492,7 @@ In case of a manual installation of *n2p2* you only need to build the *n2p2* cor library ``libnnp`` and interface library ``libnnpif``. When using GCC it should suffice to execute ``make libnnpif`` in the *n2p2* ``src`` directory. For more details please see ``lib/hdnnp/README`` and the `n2p2 build documentation -`__. +`_. .. tabs:: diff --git a/doc/src/Build_package.rst b/doc/src/Build_package.rst index 2b2993de50..fe305ac3d9 100644 --- a/doc/src/Build_package.rst +++ b/doc/src/Build_package.rst @@ -35,7 +35,7 @@ packages: +--------------------------------------+--------------------------------------+------------------------------------+----------------------------------+--------------------------------+--------------------------------+ | :ref:`MSCG ` | :ref:`OPT ` | :ref:`POEMS ` | :ref:`PYTHON ` | :ref:`VORONOI ` | :ref:`USER-ADIOS ` | +--------------------------------------+--------------------------------------+------------------------------------+----------------------------------+--------------------------------+--------------------------------+ -| :ref:`USER-ATC ` | :ref:`USER-AWPMD ` | :ref:`USER-COLVARS ` | :ref:`USER-H5MD ` | :ref:`USER-HDNNP ` | :ref:`USER-INTEL ` | +| :ref:`USER-ATC ` | :ref:`USER-AWPMD ` | :ref:`USER-COLVARS ` | :ref:`USER-H5MD ` | :ref:`ML-HDNNP ` | :ref:`USER-INTEL ` | +--------------------------------------+--------------------------------------+------------------------------------+----------------------------------+--------------------------------+--------------------------------+ | :ref:`USER-MOLFILE ` | :ref:`USER-NETCDF ` | :ref:`USER-PACE ` | :ref:`USER-PLUMED ` | :ref:`USER-OMP ` | :ref:`USER-QMMM ` | +--------------------------------------+--------------------------------------+------------------------------------+----------------------------------+--------------------------------+--------------------------------+ diff --git a/doc/src/Packages_details.rst b/doc/src/Packages_details.rst index 2e1419ae9c..0cfba0bd5f 100644 --- a/doc/src/Packages_details.rst +++ b/doc/src/Packages_details.rst @@ -80,7 +80,7 @@ page gives those details. * :ref:`USER-EFF ` * :ref:`USER-FEP ` * :ref:`USER-H5MD ` - * :ref:`USER-HDNNP ` + * :ref:`ML-HDNNP ` * :ref:`USER-INTEL ` * :ref:`USER-LB ` * :ref:`USER-MANIFOLD ` @@ -1594,9 +1594,9 @@ This package has :ref:`specific installation instructions ` on the :d ---------- -.. _PKG-USER-HDNNP: +.. _PKG-ML-HDNNP: -USER-HDNNP package +ML-HDNNP package ------------------ **Contents:** @@ -1615,12 +1615,13 @@ compiled on your system. **Install:** -This package has :ref:`specific installation instructions ` on the :doc:`Build extras ` page. +This package has :ref:`specific installation instructions ` on the +:doc:`Build extras ` page. **Supporting info:** -* src/USER-HDNNP: filenames -> commands -* src/USER-HDNNP/README +* src/ML-HDNNP: filenames -> commands +* src/ML-HDNNP/README * lib/hdnnp/README * :doc:`pair_style hdnnp ` * examples/PACKAGES/hdnnp diff --git a/doc/src/Packages_user.rst b/doc/src/Packages_user.rst index 33e8c8b7a9..0ec78ef63c 100644 --- a/doc/src/Packages_user.rst +++ b/doc/src/Packages_user.rst @@ -61,7 +61,7 @@ package: +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ | :ref:`USER-H5MD ` | dump output via HDF5 | :doc:`dump h5md ` | n/a | ext | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`USER-HDNNP ` | High-dimensional neural network potentials | :doc:`pair_style hdnnp ` | USER/hdnnp | ext | +| :ref:`ML-HDNNP ` | High-dimensional neural network potentials | :doc:`pair_style hdnnp ` | USER/hdnnp | ext | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ | :ref:`USER-INTEL ` | optimized Intel CPU and KNL styles | :doc:`Speed intel ` | `Benchmarks `_ | no | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ diff --git a/doc/src/pair_hdnnp.rst b/doc/src/pair_hdnnp.rst index 77a87642c4..ff1739aa9a 100644 --- a/doc/src/pair_hdnnp.rst +++ b/doc/src/pair_hdnnp.rst @@ -188,7 +188,7 @@ keywords. Restrictions """""""""""" -This pair style is part of the USER-HDNNP package. It is only enabled if LAMMPS +This pair style is part of the ML-HDNNP package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. diff --git a/lib/README b/lib/README index 2b7a38f5db..794bf93d55 100644 --- a/lib/README +++ b/lib/README @@ -27,7 +27,7 @@ gpu general GPU routines, GPU package from Mike Brown (ORNL) h5md ch5md library for output of MD data in HDF5 format from Pierre de Buyl (KU Leuven) -hdnnp hooks to n2p2, neural network potential package, used by USER-HDNNP +hdnnp hooks to n2p2, neural network potential package, used by ML-HDNNP from Andreas Singraber kim hooks to the KIM library, used by KIM package from Ryan Elliott and Ellad Tadmor (U Minn) diff --git a/lib/hdnnp/README b/lib/hdnnp/README index ed61f211ea..576d8bd861 100644 --- a/lib/hdnnp/README +++ b/lib/hdnnp/README @@ -1,4 +1,4 @@ -The USER-HDNNP package requires access to pre-compiled libraries of the n2p2 +The ML-HDNNP package requires access to pre-compiled libraries of the n2p2 package (https://github.com/CompPhysVienna/n2p2). More precisely, the n2p2 core library ("libnnp"), the interface library ("libnnpif"), some headers and extra build helper files are needed. These files will be created automatically during @@ -6,7 +6,7 @@ the n2p2 build process. This file gives some basic instructions on how to compile n2p2 manually. How to integrate it then in the LAMMPS build process or how to use the automatic -download and build option is described in detail on the USER-HDNNP build +download and build option is described in detail on the ML-HDNNP build instructions page of the LAMMPS documentation. IMPORTANT: The n2p2 version must be "v2.1.4" or higher. @@ -25,7 +25,7 @@ After downloading n2p2, change to the "src" directory and simply execute make libnnpif -which should create the following files needed by the USER-HDNNP package: +which should create the following files needed by the ML-HDNNP package: * "n2p2/lib/libnnp.a" * "n2p2/lib/libnnpif.a" @@ -48,7 +48,7 @@ also available (e.g. "makefile.intel") and can be activated by supplying the Please make sure that your compiler settings for n2p2 and LAMMPS are compatible (avoid mixing different compilers). -If you want to build a serial version of LAMMPS with USER-HDNNP package n2p2 must +If you want to build a serial version of LAMMPS with ML-HDNNP package n2p2 must also be built with MPI disabled. This can be achieved with a preprocessor flag (-DN2P2_NO_MPI) which is (among others) prepared, but commented out, in the provided compiler-specific settings makefiles. For example, if you use the GNU @@ -64,7 +64,7 @@ For more information about the n2p2 build process please visit https://compphysvienna.github.io/n2p2/topics/build.html or ask questions on the Github issue page (https://github.com/CompPhysVienna/n2p2/issues). -Testing a successful build of LAMMPS with USER-HDNNP +Testing a successful build of LAMMPS with ML-HDNNP ==================================================== An example is provided in the LAMMPS directory "examples/USER/hdnnp" which runs diff --git a/src/USER-HDNNP/Install.sh b/src/ML-HDNNP/Install.sh similarity index 100% rename from src/USER-HDNNP/Install.sh rename to src/ML-HDNNP/Install.sh diff --git a/src/USER-HDNNP/README b/src/ML-HDNNP/README similarity index 94% rename from src/USER-HDNNP/README rename to src/ML-HDNNP/README index 690db8a714..2ccf106925 100644 --- a/src/USER-HDNNP/README +++ b/src/ML-HDNNP/README @@ -7,7 +7,7 @@ Please see the main documentation for the "pair_style hdnnp" command for further details on how the pair style is used. An example is provided in the "examples/USER/hdnnp" directory of LAMMPS. -The USER-HDNNP package requires the external library n2p2 which must be +The ML-HDNNP package requires the external library n2p2 which must be downloaded and compiled before starting the build process of LAMMPS. A guideline on how to build n2p2 is presented in "lib/hdnnp/README". This package supports the LAMMPS build process via CMake and traditional makefiles, please diff --git a/src/USER-HDNNP/pair_hdnnp.cpp b/src/ML-HDNNP/pair_hdnnp.cpp similarity index 99% rename from src/USER-HDNNP/pair_hdnnp.cpp rename to src/ML-HDNNP/pair_hdnnp.cpp index af64f98f75..7aeacad588 100644 --- a/src/USER-HDNNP/pair_hdnnp.cpp +++ b/src/ML-HDNNP/pair_hdnnp.cpp @@ -35,7 +35,7 @@ using namespace LAMMPS_NS; static const char cite_user_hdnnp_package[] = - "USER-HDNNP package: 10.1021/acs.jctc.8b00770\n\n" + "ML-HDNNP package: 10.1021/acs.jctc.8b00770\n\n" "@Article{Singraber19,\n" " author = {Singraber, Andreas and Behler, J{\"o}rg and Dellago, Christoph},\n" " title = {Library-{{Based LAMMPS Implementation}} of {{High}}-{{Dimensional Neural Network Potentials}}},\n" diff --git a/src/USER-HDNNP/pair_hdnnp.h b/src/ML-HDNNP/pair_hdnnp.h similarity index 100% rename from src/USER-HDNNP/pair_hdnnp.h rename to src/ML-HDNNP/pair_hdnnp.h diff --git a/src/Makefile b/src/Makefile index b8f03b324a..43d2f17423 100644 --- a/src/Makefile +++ b/src/Makefile @@ -53,7 +53,7 @@ PACKAGE = asphere body class2 colloid compress coreshell dipole gpu \ PACKUSER = user-adios user-atc user-awpmd user-brownian user-bocs cg-dna \ cg-sdk user-colvars user-dielectric user-diffraction user-dpd user-drude \ - user-eff user-fep user-h5md user-hdnnp user-intel user-lb user-manifold \ + user-eff user-fep user-h5md ml-hdnnp user-intel user-lb user-manifold \ user-mdi user-meamc user-mesodpd user-mesont user-mgpt user-misc \ user-mofff user-molfile user-netcdf user-omp user-phonon \ user-pace user-plumed user-ptm user-qmmm user-qtb user-quip \ @@ -61,7 +61,7 @@ PACKUSER = user-adios user-atc user-awpmd user-brownian user-bocs cg-dna \ user-sdpd user-sph user-tally user-uef user-vtk user-yaff PACKLIB = compress gpu kim kokkos latte message mpiio mscg poems python voronoi \ - user-adios user-atc user-awpmd user-colvars user-h5md user-hdnnp user-lb user-mdi \ + user-adios user-atc user-awpmd user-colvars user-h5md ml-hdnnp user-lb user-mdi \ user-mesont user-molfile user-netcdf user-pace user-plumed user-qmmm user-quip \ user-scafacos user-smd user-vtk @@ -71,7 +71,7 @@ PACKINT = gpu kokkos message poems user-atc user-awpmd user-colvars user-mesont user-mdi PACKEXT = kim latte mscg voronoi \ - user-adios user-h5md user-hdnnp user-molfile user-netcdf user-pace user-plumed \ + user-adios user-h5md ml-hdnnp user-molfile user-netcdf user-pace user-plumed \ user-qmmm user-quip user-scafacos user-smd user-vtk PACKALL = $(PACKAGE) $(PACKUSER) From fd24820603e12875ea167cf66ccde71a94b4bd76 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 29 Jun 2021 15:45:50 -0400 Subject: [PATCH 305/726] rename USER-PACE to ML-PACE --- .github/CODEOWNERS | 2 +- cmake/CMakeLists.txt | 4 +-- .../{USER-PACE.cmake => ML-PACE.cmake} | 4 +-- cmake/presets/all_off.cmake | 2 +- cmake/presets/all_on.cmake | 2 +- cmake/presets/download.cmake | 2 +- cmake/presets/nolib.cmake | 2 +- doc/src/Build_extras.rst | 12 ++++---- doc/src/Build_package.rst | 2 +- doc/src/Packages_details.rst | 13 +++++---- doc/src/Packages_user.rst | 2 +- doc/src/pair_pace.rst | 2 +- lib/pace/Makefile | 6 ++-- lib/pace/Makefile.lammps | 2 +- lib/pace/README | 28 ++++++++----------- src/{USER-PACE => ML-PACE}/Install.sh | 0 src/{USER-PACE => ML-PACE}/README | 4 +-- src/{USER-PACE => ML-PACE}/pair_pace.cpp | 0 src/{USER-PACE => ML-PACE}/pair_pace.h | 0 src/Makefile | 6 ++-- 20 files changed, 46 insertions(+), 49 deletions(-) rename cmake/Modules/Packages/{USER-PACE.cmake => ML-PACE.cmake} (95%) rename src/{USER-PACE => ML-PACE}/Install.sh (100%) rename src/{USER-PACE => ML-PACE}/README (89%) rename src/{USER-PACE => ML-PACE}/pair_pace.cpp (100%) rename src/{USER-PACE => ML-PACE}/pair_pace.h (100%) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 656a56e85e..3e6f9eddcb 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -37,7 +37,7 @@ src/USER-MESONT/* @iafoss src/USER-MOFFF/* @hheenen src/USER-MOLFILE/* @akohlmey src/USER-NETCDF/* @pastewka -src/USER-PACE/* @yury-lysogorskiy +src/ML-PACE/* @yury-lysogorskiy src/USER-PLUMED/* @gtribello src/USER-PHONON/* @lingtikong src/USER-PTM/* @pmla diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index a74b13839b..e48dad549d 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -146,7 +146,7 @@ set(STANDARD_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS DIPOLE USER-H5MD ML-HDNNP USER-LB USER-MANIFOLD USER-MDI USER-MEAMC USER-MESONT USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF USER-PHONON USER-PLUMED USER-PTM USER-QTB USER-RANN USER-REACTION USER-REAXC USER-SCAFACOS USER-SDPD USER-SMD USER-SMTBQ USER-SPH - USER-TALLY USER-UEF USER-VTK USER-QUIP USER-QMMM USER-YAFF USER-PACE USER-BROWNIAN) + USER-TALLY USER-UEF USER-VTK USER-QUIP USER-QMMM USER-YAFF ML-PACE USER-BROWNIAN) set(SUFFIX_PACKAGES CORESHELL GPU KOKKOS OPT USER-INTEL USER-OMP) @@ -351,7 +351,7 @@ else() endif() foreach(PKG_WITH_INCL KSPACE PYTHON ML-IAP VORONOI USER-COLVARS ML-HDNNP USER-MDI USER-MOLFILE USER-NETCDF - USER-PLUMED USER-QMMM USER-QUIP USER-SCAFACOS USER-SMD USER-VTK KIM LATTE MESSAGE MSCG COMPRESS USER-PACE) + USER-PLUMED USER-QMMM USER-QUIP USER-SCAFACOS USER-SMD USER-VTK KIM LATTE MESSAGE MSCG COMPRESS ML-PACE) if(PKG_${PKG_WITH_INCL}) include(Packages/${PKG_WITH_INCL}) endif() diff --git a/cmake/Modules/Packages/USER-PACE.cmake b/cmake/Modules/Packages/ML-PACE.cmake similarity index 95% rename from cmake/Modules/Packages/USER-PACE.cmake rename to cmake/Modules/Packages/ML-PACE.cmake index ccc7423355..7cfaf78aa0 100644 --- a/cmake/Modules/Packages/USER-PACE.cmake +++ b/cmake/Modules/Packages/ML-PACE.cmake @@ -14,8 +14,8 @@ execute_process( WORKING_DIRECTORY ${CMAKE_BINARY_DIR} ) -file(GLOB PACE_EVALUATOR_INCLUDE_DIR ${CMAKE_BINARY_DIR}/lammps-user-pace-*/USER-PACE) -file(GLOB PACE_EVALUATOR_SOURCES ${CMAKE_BINARY_DIR}/lammps-user-pace-*/USER-PACE/*.cpp) +file(GLOB PACE_EVALUATOR_INCLUDE_DIR ${CMAKE_BINARY_DIR}/lammps-user-pace-*/ML-PACE) +file(GLOB PACE_EVALUATOR_SOURCES ${CMAKE_BINARY_DIR}/lammps-user-pace-*/ML-PACE/*.cpp) list(FILTER PACE_EVALUATOR_SOURCES EXCLUDE REGEX pair_pace.cpp) add_library(pace STATIC ${PACE_EVALUATOR_SOURCES}) diff --git a/cmake/presets/all_off.cmake b/cmake/presets/all_off.cmake index 2c9487b948..50ae9fbca1 100644 --- a/cmake/presets/all_off.cmake +++ b/cmake/presets/all_off.cmake @@ -9,7 +9,7 @@ set(ALL_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD ML-HDNNP USER-INTEL USER-LB USER-MANIFOLD USER-MDI USER-MEAMC USER-MESODPD USER-MESONT USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF USER-OMP - USER-PACE USER-PHONON USER-PLUMED USER-PTM USER-QMMM USER-QTB USER-QUIP USER-RANN + ML-PACE USER-PHONON USER-PLUMED USER-PTM USER-QMMM USER-QTB USER-QUIP USER-RANN USER-REACTION USER-REAXC USER-SCAFACOS USER-SDPD USER-SMD USER-SMTBQ USER-SPH USER-TALLY USER-UEF USER-VTK USER-YAFF USER-DIELECTRIC) diff --git a/cmake/presets/all_on.cmake b/cmake/presets/all_on.cmake index acbace570a..807e48a26b 100644 --- a/cmake/presets/all_on.cmake +++ b/cmake/presets/all_on.cmake @@ -11,7 +11,7 @@ set(ALL_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD ML-HDNNP USER-INTEL USER-LB USER-MANIFOLD USER-MDI USER-MEAMC USER-MESODPD USER-MESONT USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF USER-OMP - USER-PACE USER-PHONON USER-PLUMED USER-PTM USER-QMMM USER-QTB USER-QUIP USER-RANN + ML-PACE USER-PHONON USER-PLUMED USER-PTM USER-QMMM USER-QTB USER-QUIP USER-RANN USER-REACTION USER-REAXC USER-SCAFACOS USER-SDPD USER-SMD USER-SMTBQ USER-SPH USER-TALLY USER-UEF USER-VTK USER-YAFF USER-DIELECTRIC) diff --git a/cmake/presets/download.cmake b/cmake/presets/download.cmake index ebab6ab658..0cfbb55348 100644 --- a/cmake/presets/download.cmake +++ b/cmake/presets/download.cmake @@ -1,7 +1,7 @@ # Preset that turns on packages with automatic downloads of sources or potentials. # Compilation of libraries like Plumed or ScaFaCoS can take a considerable amount of time. -set(ALL_PACKAGES KIM LATTE MSCG VORONOI USER-PLUMED USER-SCAFACOS USER-SMD USER-MESONT USER-MDI USER-PACE) +set(ALL_PACKAGES KIM LATTE MSCG VORONOI USER-PLUMED USER-SCAFACOS USER-SMD USER-MESONT USER-MDI ML-PACE) foreach(PKG ${ALL_PACKAGES}) set(PKG_${PKG} ON CACHE BOOL "" FORCE) diff --git a/cmake/presets/nolib.cmake b/cmake/presets/nolib.cmake index a5e367e641..667f22bfae 100644 --- a/cmake/presets/nolib.cmake +++ b/cmake/presets/nolib.cmake @@ -4,7 +4,7 @@ set(PACKAGES_WITH_LIB COMPRESS GPU KIM KOKKOS LATTE MESSAGE MPIIO MSCG PYTHON VORONOI USER-ADIOS USER-ATC USER-AWPMD USER-H5MD ML-HDNNP USER-LB USER-MOLFILE - USER-MESONT USER-MDI USER-NETCDF USER-PACE USER-PLUMED USER-QMMM USER-QUIP + USER-MESONT USER-MDI USER-NETCDF ML-PACE USER-PLUMED USER-QMMM USER-QUIP USER-SCAFACOS USER-SMD USER-VTK) foreach(PKG ${PACKAGES_WITH_LIB}) diff --git a/doc/src/Build_extras.rst b/doc/src/Build_extras.rst index e90bf6409c..f56dd724ce 100644 --- a/doc/src/Build_extras.rst +++ b/doc/src/Build_extras.rst @@ -54,7 +54,7 @@ This is the list of packages that may require additional steps. * :ref:`USER-MESONT ` * :ref:`USER-MOLFILE ` * :ref:`USER-NETCDF ` - * :ref:`USER-PACE ` + * :ref:`ML-PACE ` * :ref:`USER-PLUMED ` * :ref:`USER-OMP ` * :ref:`USER-QMMM ` @@ -1261,9 +1261,9 @@ be built for the most part with all major versions of the C++ language. ---------- -.. _user-pace: +.. _ml-pace: -USER-PACE package +ML-PACE package ----------------------------- This package requires a library that can be downloaded and built @@ -1276,8 +1276,8 @@ at: `https://github.com/ICAMS/lammps-user-pace/ ` | :ref:`USER-AWPMD ` | :ref:`USER-COLVARS ` | :ref:`USER-H5MD ` | :ref:`ML-HDNNP ` | :ref:`USER-INTEL ` | +--------------------------------------+--------------------------------------+------------------------------------+----------------------------------+--------------------------------+--------------------------------+ -| :ref:`USER-MOLFILE ` | :ref:`USER-NETCDF ` | :ref:`USER-PACE ` | :ref:`USER-PLUMED ` | :ref:`USER-OMP ` | :ref:`USER-QMMM ` | +| :ref:`USER-MOLFILE ` | :ref:`USER-NETCDF ` | :ref:`ML-PACE ` | :ref:`USER-PLUMED ` | :ref:`USER-OMP ` | :ref:`USER-QMMM ` | +--------------------------------------+--------------------------------------+------------------------------------+----------------------------------+--------------------------------+--------------------------------+ | :ref:`USER-QUIP ` | :ref:`USER-SCAFACOS ` | :ref:`USER-SMD ` | :ref:`USER-VTK ` | | | +--------------------------------------+--------------------------------------+------------------------------------+----------------------------------+--------------------------------+--------------------------------+ diff --git a/doc/src/Packages_details.rst b/doc/src/Packages_details.rst index 0cfba0bd5f..9c5f9961cd 100644 --- a/doc/src/Packages_details.rst +++ b/doc/src/Packages_details.rst @@ -94,7 +94,7 @@ page gives those details. * :ref:`USER-MOLFILE ` * :ref:`USER-NETCDF ` * :ref:`USER-OMP ` - * :ref:`USER-PACE ` + * :ref:`ML-PACE ` * :ref:`USER-PHONON ` * :ref:`USER-PLUMED ` * :ref:`USER-PTM ` @@ -2075,16 +2075,16 @@ This package has :ref:`specific installation instructions ` on the :do ---------- -.. _PKG-USER-PACE: +.. _PKG-ML-PACE: -USER-PACE package +ML-PACE package ------------------- **Contents:** A pair style for the Atomic Cluster Expansion potential (ACE). ACE is a methodology for deriving a highly accurate classical potential -fit to a large archive of quantum mechanical (DFT) data. The USER-PACE +fit to a large archive of quantum mechanical (DFT) data. The ML-PACE package provides an efficient implementation for running simulations with ACE potentials. @@ -2105,11 +2105,12 @@ Aidan Thompson^3, Gabor Csanyi^2, Christoph Ortner^4, Ralf Drautz^1. **Install:** -This package has :ref:`specific installation instructions ` on the :doc:`Build extras ` page. +This package has :ref:`specific installation instructions ` on the +:doc:`Build extras ` page. **Supporting info:** -* src/USER-PACE: filenames -> commands +* src/ML-PACE: filenames -> commands * :doc:`pair_style pace ` * examples/PACKAGES/pace diff --git a/doc/src/Packages_user.rst b/doc/src/Packages_user.rst index 0ec78ef63c..4de8439ff3 100644 --- a/doc/src/Packages_user.rst +++ b/doc/src/Packages_user.rst @@ -89,7 +89,7 @@ package: +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ | :ref:`USER-OMP ` | OpenMP-enabled styles | :doc:`Speed omp ` | `Benchmarks `_ | no | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`USER-PACE ` | Fast implementation of Atomic Cluster Expansion (ACE) potential | :doc:`pair pace ` | USER/pace | ext | +| :ref:`ML-PACE ` | Fast implementation of Atomic Cluster Expansion (ACE) potential | :doc:`pair pace ` | USER/pace | ext | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ | :ref:`USER-PHONON ` | phonon dynamical matrix | :doc:`fix phonon ` | USER/phonon | no | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ diff --git a/doc/src/pair_pace.rst b/doc/src/pair_pace.rst index 56ae0f32dc..e737072e7b 100644 --- a/doc/src/pair_pace.rst +++ b/doc/src/pair_pace.rst @@ -91,7 +91,7 @@ This pair style can only be used via the *pair* keyword of the Restrictions """""""""""" -This pair style is part of the USER-PACE package. It is only enabled if LAMMPS +This pair style is part of the ML-PACE package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. diff --git a/lib/pace/Makefile b/lib/pace/Makefile index c2e1892ddd..ac9f3a3151 100644 --- a/lib/pace/Makefile +++ b/lib/pace/Makefile @@ -2,8 +2,8 @@ SHELL = /bin/sh # ------ FILES ------ -SRC_FILES = $(wildcard src/USER-PACE/*.cpp) -SRC = $(filter-out src/USER-PACE/pair_pace.cpp, $(SRC_FILES)) +SRC_FILES = $(wildcard src/ML-PACE/*.cpp) +SRC = $(filter-out src/ML-PACE/pair_pace.cpp, $(SRC_FILES)) # ------ DEFINITIONS ------ @@ -12,7 +12,7 @@ OBJ = $(SRC:.cpp=.o) # ------ SETTINGS ------ -CXXFLAGS = -O3 -fPIC -Isrc/USER-PACE +CXXFLAGS = -O3 -fPIC -Isrc/ML-PACE ARCHIVE = ar ARCHFLAG = -rc diff --git a/lib/pace/Makefile.lammps b/lib/pace/Makefile.lammps index 17820716df..89761c1b4b 100644 --- a/lib/pace/Makefile.lammps +++ b/lib/pace/Makefile.lammps @@ -1,3 +1,3 @@ -pace_SYSINC =-I../../lib/pace/src/USER-PACE +pace_SYSINC =-I../../lib/pace/src/ML-PACE pace_SYSLIB = -L../../lib/pace/ -lpace pace_SYSPATH = diff --git a/lib/pace/README b/lib/pace/README index ddc6f7f7a7..1cbc9fad68 100644 --- a/lib/pace/README +++ b/lib/pace/README @@ -1,18 +1,14 @@ -This directory contains files required to use the USER-PACE package, -which provides the pace pair style, an efficient implementation of -the Atomic Cluster Expansion potential (ACE). -ACE is a methodology for deriving a highly accurate classical potential -fit to a large archive of quantum mechanical (DFT) data. -This package was written by Yury Lysogorskiy and others -at ICAMS, the Interdisciplinary Centre for Advanced Materials Simulation, -Ruhr University Bochum, Germany, http://www.icams.de +This directory contains files required to use the ML-PACE package, which +provides the pace pair style, an efficient implementation of the Atomic +Cluster Expansion potential (ACE). ACE is a methodology for deriving a +highly accurate classical potential fit to a large archive of quantum +mechanical (DFT) data. This package was written by Yury Lysogorskiy and +others at ICAMS, the Interdisciplinary Centre for Advanced Materials +Simulation, Ruhr University Bochum, Germany, http://www.icams.de -You can type "make lib-pace" from the src directory to see help on -how to download and build this library via make commands, or you can -do the same thing by typing "python Install.py" from within this -directory. +You can type "make lib-pace" from the src directory to see help on how +to download and build this library via make commands, or you can do the +same thing by typing "python Install.py" from within this directory. -More information about the USER-PACE implementation of ACE -is available here: - -https://github.com/ICAMS/lammps-user-pace +More information about the ML-PACE implementation of ACE is available +here: https://github.com/ICAMS/lammps-user-pace diff --git a/src/USER-PACE/Install.sh b/src/ML-PACE/Install.sh similarity index 100% rename from src/USER-PACE/Install.sh rename to src/ML-PACE/Install.sh diff --git a/src/USER-PACE/README b/src/ML-PACE/README similarity index 89% rename from src/USER-PACE/README rename to src/ML-PACE/README index c701a615f7..7909b68dd3 100644 --- a/src/USER-PACE/README +++ b/src/ML-PACE/README @@ -1,4 +1,4 @@ -The USER-PACE package provides the pace pair style, +The ML-PACE package provides the pace pair style, an efficient implementation of the Atomic Cluster Expansion potential (ACE). @@ -17,7 +17,7 @@ provided to help automate the process. Also see the LAMMPS manual for general information on building LAMMPS with external libraries using either traditional make or CMake. -More information about the USER-PACE implementation of ACE +More information about the ML-PACE implementation of ACE is available here: https://github.com/ICAMS/lammps-user-pace diff --git a/src/USER-PACE/pair_pace.cpp b/src/ML-PACE/pair_pace.cpp similarity index 100% rename from src/USER-PACE/pair_pace.cpp rename to src/ML-PACE/pair_pace.cpp diff --git a/src/USER-PACE/pair_pace.h b/src/ML-PACE/pair_pace.h similarity index 100% rename from src/USER-PACE/pair_pace.h rename to src/ML-PACE/pair_pace.h diff --git a/src/Makefile b/src/Makefile index 43d2f17423..ecb0e0c797 100644 --- a/src/Makefile +++ b/src/Makefile @@ -56,13 +56,13 @@ PACKUSER = user-adios user-atc user-awpmd user-brownian user-bocs cg-dna \ user-eff user-fep user-h5md ml-hdnnp user-intel user-lb user-manifold \ user-mdi user-meamc user-mesodpd user-mesont user-mgpt user-misc \ user-mofff user-molfile user-netcdf user-omp user-phonon \ - user-pace user-plumed user-ptm user-qmmm user-qtb user-quip \ + ml-pace user-plumed user-ptm user-qmmm user-qtb user-quip \ user-rann user-reaction user-reaxc user-scafacos user-smd user-smtbq \ user-sdpd user-sph user-tally user-uef user-vtk user-yaff PACKLIB = compress gpu kim kokkos latte message mpiio mscg poems python voronoi \ user-adios user-atc user-awpmd user-colvars user-h5md ml-hdnnp user-lb user-mdi \ - user-mesont user-molfile user-netcdf user-pace user-plumed user-qmmm user-quip \ + user-mesont user-molfile user-netcdf ml-pace user-plumed user-qmmm user-quip \ user-scafacos user-smd user-vtk PACKSYS = compress mpiio python user-lb @@ -71,7 +71,7 @@ PACKINT = gpu kokkos message poems user-atc user-awpmd user-colvars user-mesont user-mdi PACKEXT = kim latte mscg voronoi \ - user-adios user-h5md ml-hdnnp user-molfile user-netcdf user-pace user-plumed \ + user-adios user-h5md ml-hdnnp user-molfile user-netcdf ml-pace user-plumed \ user-qmmm user-quip user-scafacos user-smd user-vtk PACKALL = $(PACKAGE) $(PACKUSER) From d52cd884928714fdb372fea592445087e29f1d84 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 29 Jun 2021 15:55:41 -0400 Subject: [PATCH 306/726] rename USER-QUIP to ML-QUIP --- cmake/CMakeLists.txt | 6 +++--- .../Packages/{USER-QUIP.cmake => ML-QUIP.cmake} | 0 cmake/presets/all_off.cmake | 2 +- cmake/presets/all_on.cmake | 2 +- cmake/presets/nolib.cmake | 2 +- doc/src/Build_extras.rst | 8 ++++---- doc/src/Build_package.rst | 2 +- doc/src/Install_windows.rst | 2 +- doc/src/Packages_details.rst | 16 +++++++++------- doc/src/Packages_user.rst | 2 +- doc/src/pair_quip.rst | 2 +- lib/README | 2 +- lib/quip/README | 8 +++++--- src/{USER-QUIP => ML-QUIP}/Install.sh | 0 src/{USER-QUIP => ML-QUIP}/README | 0 src/{USER-QUIP => ML-QUIP}/pair_quip.cpp | 0 src/{USER-QUIP => ML-QUIP}/pair_quip.h | 0 src/Makefile | 6 +++--- 18 files changed, 32 insertions(+), 28 deletions(-) rename cmake/Modules/Packages/{USER-QUIP.cmake => ML-QUIP.cmake} (100%) rename src/{USER-QUIP => ML-QUIP}/Install.sh (100%) rename src/{USER-QUIP => ML-QUIP}/README (100%) rename src/{USER-QUIP => ML-QUIP}/pair_quip.cpp (100%) rename src/{USER-QUIP => ML-QUIP}/pair_quip.h (100%) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index e48dad549d..0717b5098b 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -146,7 +146,7 @@ set(STANDARD_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS DIPOLE USER-H5MD ML-HDNNP USER-LB USER-MANIFOLD USER-MDI USER-MEAMC USER-MESONT USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF USER-PHONON USER-PLUMED USER-PTM USER-QTB USER-RANN USER-REACTION USER-REAXC USER-SCAFACOS USER-SDPD USER-SMD USER-SMTBQ USER-SPH - USER-TALLY USER-UEF USER-VTK USER-QUIP USER-QMMM USER-YAFF ML-PACE USER-BROWNIAN) + USER-TALLY USER-UEF USER-VTK ML-QUIP USER-QMMM USER-YAFF ML-PACE USER-BROWNIAN) set(SUFFIX_PACKAGES CORESHELL GPU KOKKOS OPT USER-INTEL USER-OMP) @@ -271,7 +271,7 @@ if(BUILD_OMP) target_link_libraries(lammps PRIVATE OpenMP::OpenMP_CXX) endif() -if(PKG_MSCG OR PKG_USER-ATC OR PKG_USER-AWPMD OR PKG_USER-QUIP OR PKG_LATTE) +if(PKG_MSCG OR PKG_USER-ATC OR PKG_USER-AWPMD OR PKG_ML-QUIP OR PKG_LATTE) enable_language(C) find_package(LAPACK) find_package(BLAS) @@ -351,7 +351,7 @@ else() endif() foreach(PKG_WITH_INCL KSPACE PYTHON ML-IAP VORONOI USER-COLVARS ML-HDNNP USER-MDI USER-MOLFILE USER-NETCDF - USER-PLUMED USER-QMMM USER-QUIP USER-SCAFACOS USER-SMD USER-VTK KIM LATTE MESSAGE MSCG COMPRESS ML-PACE) + USER-PLUMED USER-QMMM ML-QUIP USER-SCAFACOS USER-SMD USER-VTK KIM LATTE MESSAGE MSCG COMPRESS ML-PACE) if(PKG_${PKG_WITH_INCL}) include(Packages/${PKG_WITH_INCL}) endif() diff --git a/cmake/Modules/Packages/USER-QUIP.cmake b/cmake/Modules/Packages/ML-QUIP.cmake similarity index 100% rename from cmake/Modules/Packages/USER-QUIP.cmake rename to cmake/Modules/Packages/ML-QUIP.cmake diff --git a/cmake/presets/all_off.cmake b/cmake/presets/all_off.cmake index 50ae9fbca1..75af24189a 100644 --- a/cmake/presets/all_off.cmake +++ b/cmake/presets/all_off.cmake @@ -9,7 +9,7 @@ set(ALL_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD ML-HDNNP USER-INTEL USER-LB USER-MANIFOLD USER-MDI USER-MEAMC USER-MESODPD USER-MESONT USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF USER-OMP - ML-PACE USER-PHONON USER-PLUMED USER-PTM USER-QMMM USER-QTB USER-QUIP USER-RANN + ML-PACE USER-PHONON USER-PLUMED USER-PTM USER-QMMM USER-QTB ML-QUIP USER-RANN USER-REACTION USER-REAXC USER-SCAFACOS USER-SDPD USER-SMD USER-SMTBQ USER-SPH USER-TALLY USER-UEF USER-VTK USER-YAFF USER-DIELECTRIC) diff --git a/cmake/presets/all_on.cmake b/cmake/presets/all_on.cmake index 807e48a26b..90ad9731d3 100644 --- a/cmake/presets/all_on.cmake +++ b/cmake/presets/all_on.cmake @@ -11,7 +11,7 @@ set(ALL_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD ML-HDNNP USER-INTEL USER-LB USER-MANIFOLD USER-MDI USER-MEAMC USER-MESODPD USER-MESONT USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF USER-OMP - ML-PACE USER-PHONON USER-PLUMED USER-PTM USER-QMMM USER-QTB USER-QUIP USER-RANN + ML-PACE USER-PHONON USER-PLUMED USER-PTM USER-QMMM USER-QTB ML-QUIP USER-RANN USER-REACTION USER-REAXC USER-SCAFACOS USER-SDPD USER-SMD USER-SMTBQ USER-SPH USER-TALLY USER-UEF USER-VTK USER-YAFF USER-DIELECTRIC) diff --git a/cmake/presets/nolib.cmake b/cmake/presets/nolib.cmake index 667f22bfae..9dc6e01fb3 100644 --- a/cmake/presets/nolib.cmake +++ b/cmake/presets/nolib.cmake @@ -4,7 +4,7 @@ set(PACKAGES_WITH_LIB COMPRESS GPU KIM KOKKOS LATTE MESSAGE MPIIO MSCG PYTHON VORONOI USER-ADIOS USER-ATC USER-AWPMD USER-H5MD ML-HDNNP USER-LB USER-MOLFILE - USER-MESONT USER-MDI USER-NETCDF ML-PACE USER-PLUMED USER-QMMM USER-QUIP + USER-MESONT USER-MDI USER-NETCDF ML-PACE USER-PLUMED USER-QMMM ML-QUIP USER-SCAFACOS USER-SMD USER-VTK) foreach(PKG ${PACKAGES_WITH_LIB}) diff --git a/doc/src/Build_extras.rst b/doc/src/Build_extras.rst index f56dd724ce..9be7b931ef 100644 --- a/doc/src/Build_extras.rst +++ b/doc/src/Build_extras.rst @@ -58,7 +58,7 @@ This is the list of packages that may require additional steps. * :ref:`USER-PLUMED ` * :ref:`USER-OMP ` * :ref:`USER-QMMM ` - * :ref:`USER-QUIP ` + * :ref:`ML-QUIP ` * :ref:`USER-SCAFACOS ` * :ref:`USER-SMD ` * :ref:`USER-VTK ` @@ -1848,9 +1848,9 @@ verified to work in February 2020 with Quantum Espresso versions 6.3 to ---------- -.. _user-quip: +.. _ml-quip: -USER-QUIP package +ML-QUIP package --------------------------------- To build with this package, you must download and build the QUIP @@ -1868,7 +1868,7 @@ to be downloaded and configured. See step 1 and step 1.1 in the -D QUIP_LIBRARY=path # path to libquip.a (only needed if a custom location) CMake will **not** download and build the QUIP library. But once you have - done that, a CMake build of LAMMPS with ``-D PKG_USER-QUIP=yes`` should + done that, a CMake build of LAMMPS with ``-D PKG_ML-QUIP=yes`` should work. Set the ``QUIP_LIBRARY`` variable if CMake cannot find the QUIP library. .. tab:: Traditional make diff --git a/doc/src/Build_package.rst b/doc/src/Build_package.rst index f97988f613..dbe303964e 100644 --- a/doc/src/Build_package.rst +++ b/doc/src/Build_package.rst @@ -39,7 +39,7 @@ packages: +--------------------------------------+--------------------------------------+------------------------------------+----------------------------------+--------------------------------+--------------------------------+ | :ref:`USER-MOLFILE ` | :ref:`USER-NETCDF ` | :ref:`ML-PACE ` | :ref:`USER-PLUMED ` | :ref:`USER-OMP ` | :ref:`USER-QMMM ` | +--------------------------------------+--------------------------------------+------------------------------------+----------------------------------+--------------------------------+--------------------------------+ -| :ref:`USER-QUIP ` | :ref:`USER-SCAFACOS ` | :ref:`USER-SMD ` | :ref:`USER-VTK ` | | | +| :ref:`ML-QUIP ` | :ref:`USER-SCAFACOS ` | :ref:`USER-SMD ` | :ref:`USER-VTK ` | | | +--------------------------------------+--------------------------------------+------------------------------------+----------------------------------+--------------------------------+--------------------------------+ The mechanism for including packages is simple but different for CMake diff --git a/doc/src/Install_windows.rst b/doc/src/Install_windows.rst index 1df7ae7f3f..693c5244dc 100644 --- a/doc/src/Install_windows.rst +++ b/doc/src/Install_windows.rst @@ -18,7 +18,7 @@ needed to run in parallel with MPI. The LAMMPS binaries contain *all* :doc:`optional packages ` included in the source distribution except: KIM, KOKKOS, MSCG, PYTHON, -USER-ADIOS, USER-H5MD, USER-NETCDF, USER-QMMM, USER-QUIP, and USER-VTK. +USER-ADIOS, USER-H5MD, USER-NETCDF, USER-QMMM, ML-QUIP, and USER-VTK. The serial version also does not include the MPIIO and USER-LB packages. The GPU package is compiled for OpenCL with mixed precision kernels. diff --git a/doc/src/Packages_details.rst b/doc/src/Packages_details.rst index 9c5f9961cd..69ad86a593 100644 --- a/doc/src/Packages_details.rst +++ b/doc/src/Packages_details.rst @@ -100,7 +100,7 @@ page gives those details. * :ref:`USER-PTM ` * :ref:`USER-QMMM ` * :ref:`USER-QTB ` - * :ref:`USER-QUIP ` + * :ref:`ML-QUIP ` * :ref:`USER-RANN ` * :ref:`USER-REACTION ` * :ref:`USER-REAXC ` @@ -2268,14 +2268,15 @@ simulation. ---------- -.. _PKG-USER-QUIP: +.. _PKG-ML-QUIP: -USER-QUIP package +ML-QUIP package ----------------- **Contents:** -A :doc:`pair_style quip ` command which wraps the `QUIP libAtoms library `_, which includes a variety of interatomic +A :doc:`pair_style quip ` command which wraps the `QUIP +libAtoms library `_, which includes a variety of interatomic potentials, including Gaussian Approximation Potential (GAP) models developed by the Cambridge University group. @@ -2288,12 +2289,13 @@ on your system. **Install:** -This package has :ref:`specific installation instructions ` on the :doc:`Build extras ` page. +This package has :ref:`specific installation instructions ` on the +:doc:`Build extras ` page. **Supporting info:** -* src/USER-QUIP: filenames -> commands -* src/USER-QUIP/README +* src/ML-QUIP: filenames -> commands +* src/ML-QUIP/README * :doc:`pair_style quip ` * examples/PACKAGES/quip diff --git a/doc/src/Packages_user.rst b/doc/src/Packages_user.rst index 4de8439ff3..4a75eb1206 100644 --- a/doc/src/Packages_user.rst +++ b/doc/src/Packages_user.rst @@ -101,7 +101,7 @@ package: +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ | :ref:`USER-QTB ` | quantum nuclear effects | :doc:`fix qtb ` :doc:`fix qbmsst ` | qtb | no | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`USER-QUIP ` | QUIP/libatoms interface | :doc:`pair_style quip ` | USER/quip | ext | +| :ref:`ML-QUIP ` | QUIP/libatoms interface | :doc:`pair_style quip ` | USER/quip | ext | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ | :ref:`USER-RANN ` | rapid atomistic neural network (RANN) potentials | :doc:`pair rann ` | USER/rann | no | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ diff --git a/doc/src/pair_quip.rst b/doc/src/pair_quip.rst index c55792579a..5f520f3d03 100644 --- a/doc/src/pair_quip.rst +++ b/doc/src/pair_quip.rst @@ -75,7 +75,7 @@ This pair style can only be used via the *pair* keyword of the Restrictions """""""""""" -This pair style is part of the USER-QUIP package. It is only enabled +This pair style is part of the ML-QUIP package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. QUIP potentials are parameterized in electron-volts and Angstroms and diff --git a/lib/README b/lib/README index 794bf93d55..50af12543a 100644 --- a/lib/README +++ b/lib/README @@ -51,7 +51,7 @@ python hooks to the system Python library, used by the PYTHON package from the LAMMPS development team qmmm quantum mechanics/molecular mechanics coupling interface from Axel Kohlmeyer (Temple U) -quip interface to QUIP/libAtoms framework, USER-QUIP package +quip interface to QUIP/libAtoms framework, ML-QUIP package from Albert Bartok-Partay and Gabor Csanyi (U Cambridge) smd hooks to Eigen library, used by USER-SMD package from Georg Ganzenmueller (Ernst Mach Institute, Germany) diff --git a/lib/quip/README b/lib/quip/README index 5e737db11d..6783430a42 100644 --- a/lib/quip/README +++ b/lib/quip/README @@ -76,11 +76,13 @@ and QUIP_ARCH should be autodetected, even without having to set the environment variables. Otherwise export the environment variables as shown above or edit Makefile.lammps -LAMMPS ships with a user package containing the interface necessary +LAMMPS ships with a package containing the interface necessary to use QUIP potentials, but it needs to be added to the compilation -first. To do that, enter the LAMMPS source directory and type: +first. To do that, either enter the LAMMPS source directory and type: -$ make yes-user-quip +$ make yes-ml-quip + +or use -DPKG_ML-QUIP=yes when configuring LAMMPS for compilation with CMake. 2.2) Build LAMMPS according to the instructions on the LAMMPS website. diff --git a/src/USER-QUIP/Install.sh b/src/ML-QUIP/Install.sh similarity index 100% rename from src/USER-QUIP/Install.sh rename to src/ML-QUIP/Install.sh diff --git a/src/USER-QUIP/README b/src/ML-QUIP/README similarity index 100% rename from src/USER-QUIP/README rename to src/ML-QUIP/README diff --git a/src/USER-QUIP/pair_quip.cpp b/src/ML-QUIP/pair_quip.cpp similarity index 100% rename from src/USER-QUIP/pair_quip.cpp rename to src/ML-QUIP/pair_quip.cpp diff --git a/src/USER-QUIP/pair_quip.h b/src/ML-QUIP/pair_quip.h similarity index 100% rename from src/USER-QUIP/pair_quip.h rename to src/ML-QUIP/pair_quip.h diff --git a/src/Makefile b/src/Makefile index ecb0e0c797..bab09e9f1d 100644 --- a/src/Makefile +++ b/src/Makefile @@ -56,13 +56,13 @@ PACKUSER = user-adios user-atc user-awpmd user-brownian user-bocs cg-dna \ user-eff user-fep user-h5md ml-hdnnp user-intel user-lb user-manifold \ user-mdi user-meamc user-mesodpd user-mesont user-mgpt user-misc \ user-mofff user-molfile user-netcdf user-omp user-phonon \ - ml-pace user-plumed user-ptm user-qmmm user-qtb user-quip \ + ml-pace user-plumed user-ptm user-qmmm user-qtb ml-quip \ user-rann user-reaction user-reaxc user-scafacos user-smd user-smtbq \ user-sdpd user-sph user-tally user-uef user-vtk user-yaff PACKLIB = compress gpu kim kokkos latte message mpiio mscg poems python voronoi \ user-adios user-atc user-awpmd user-colvars user-h5md ml-hdnnp user-lb user-mdi \ - user-mesont user-molfile user-netcdf ml-pace user-plumed user-qmmm user-quip \ + user-mesont user-molfile user-netcdf ml-pace user-plumed user-qmmm ml-quip \ user-scafacos user-smd user-vtk PACKSYS = compress mpiio python user-lb @@ -72,7 +72,7 @@ PACKINT = gpu kokkos message poems user-atc user-awpmd user-colvars user-mesont PACKEXT = kim latte mscg voronoi \ user-adios user-h5md ml-hdnnp user-molfile user-netcdf ml-pace user-plumed \ - user-qmmm user-quip user-scafacos user-smd user-vtk + user-qmmm ml-quip user-scafacos user-smd user-vtk PACKALL = $(PACKAGE) $(PACKUSER) From c582d5b5ce3cd307107070db44fa44c4a4996449 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 29 Jun 2021 15:58:08 -0400 Subject: [PATCH 307/726] update path to examples in README files --- .github/CONTRIBUTING.md | 2 +- lib/hdnnp/README | 2 +- lib/quip/README | 2 +- src/ML-HDNNP/README | 2 +- src/ML-QUIP/README | 2 +- src/USER-ATC/README | 2 +- src/USER-AWPMD/README | 2 +- src/USER-BOCS/README | 2 +- src/USER-COLVARS/README | 2 +- src/USER-DIELECTRIC/README | 2 +- src/USER-DIFFRACTION/README | 2 +- src/USER-DPD/README | 2 +- src/USER-DRUDE/README | 2 +- src/USER-EFF/README | 2 +- src/USER-FEP/README | 2 +- src/USER-LB/README | 2 +- src/USER-MESODPD/README | 2 +- src/USER-MGPT/README | 2 +- src/USER-MISC/pair_srp.cpp | 2 +- src/USER-MOFFF/README | 2 +- src/USER-PHONON/README | 2 +- src/USER-PLUMED/README | 2 +- src/USER-QTB/README | 2 +- src/USER-SCAFACOS/README | 2 +- src/USER-SMD/README | 2 +- src/USER-SMTBQ/README | 2 +- src/USER-SPH/README | 2 +- src/USER-TALLY/README | 2 +- 28 files changed, 28 insertions(+), 28 deletions(-) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 31b9becc0c..fe95d9ba73 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -77,7 +77,7 @@ Here is a checklist of steps you need to follow to submit a single file or user * If you want your contribution to be added as a user-contribution and it is several related features, it is probably best to make it a user package directory with a name like USER-FOO. In addition to your new files, the directory should contain a README text file. The README should contain your name and contact information and a brief description of what your new package does. If your files depend on other LAMMPS style files also being installed (e.g. because your file is a derived class from the other LAMMPS class), then an Install.sh file is also needed to check for those dependencies. See other README and Install.sh files in other USER directories as examples. Send us a tarball of this USER-FOO directory. * Your new source files need to have the LAMMPS copyright, GPL notice, and your name and email address at the top, like other user-contributed LAMMPS source files. They need to create a class that is inside the LAMMPS namespace. If the file is for one of the USER packages, including USER-MISC, then we are not as picky about the coding style (see above). I.e. the files do not need to be in the same stylistic format and syntax as other LAMMPS files, though that would be nice for developers as well as users who try to read your code. * You **must** also create or extend a documentation file for each new command or style you are adding to LAMMPS. For simplicity and convenience, the documentation of groups of closely related commands or styles may be combined into a single file. This will be one file for a single-file feature. For a package, it might be several files. These are files in the [reStructuredText](https://docutils.sourceforge.io/rst.html) markup language, that are then converted to HTML and PDF. The tools for this conversion are included in the source distribution, and the translation can be as simple as doing "make html pdf" in the doc folder. Thus the documentation source files must be in the same format and style as other `.rst` files in the lammps/doc/src directory for similar commands and styles; use one or more of them as a starting point. An introduction to reStructuredText can be found at [https://docutils.sourceforge.io/docs/user/rst/quickstart.html](https://docutils.sourceforge.io/docs/user/rst/quickstart.html). The text files can include mathematical expressions and symbol in ".. math::" sections or ":math:" expressions or figures (see doc/JPG for examples), or even additional PDF files with further details (see doc/PDF for examples). The doc page should also include literature citations as appropriate; see the bottom of doc/fix_nh.rst for examples and the earlier part of the same file for how to format the cite itself. The "Restrictions" section of the doc page should indicate that your command is only available if LAMMPS is built with the appropriate USER-MISC or USER-FOO package. See other user package doc files for examples of how to do this. The prerequisite for building the HTML format files are Python 3.x and virtualenv. Please run at least `make html`, `make pdf` and `make spelling` and carefully inspect and proofread the resulting HTML format doc page as well as the output produced to the screen. Make sure that all spelling errors are fixed or the necessary false positives are added to the `doc/utils/sphinx-config/false_positives.txt` file. For new styles, those usually also need to be added to lists on the respective overview pages. This can be checked for also with `make style_check`. -* For a new package (or even a single command) you should include one or more example scripts demonstrating its use. These should run in no more than a couple minutes, even on a single processor, and not require large data files as input. See directories under examples/USER for examples of input scripts other users provided for their packages. These example inputs are also required for validating memory accesses and testing for memory leaks with valgrind +* For a new package (or even a single command) you should include one or more example scripts demonstrating its use. These should run in no more than a couple minutes, even on a single processor, and not require large data files as input. See directories under examples/PACKAGES for examples of input scripts other users provided for their packages. These example inputs are also required for validating memory accesses and testing for memory leaks with valgrind * For new utility functions or class (i.e. anything that does not depend on a LAMMPS object), new unit tests should be added to the unittest tree. * When adding a new LAMMPS style, a .yaml file with a test configuration and reference data should be added for the styles where a suitable tester program already exists (e.g. pair styles, bond styles, etc.). * If there is a paper of yours describing your feature (either the algorithm/science behind the feature itself, or its initial usage, or its implementation in LAMMPS), you can add the citation to the .cpp source file. See src/USER-EFF/atom_vec_electron.cpp for an example. A LaTeX citation is stored in a variable at the top of the file and a single line of code that references the variable is added to the constructor of the class. Whenever a user invokes your feature from their input script, this will cause LAMMPS to output the citation to a log.cite file and prompt the user to examine the file. Note that you should only use this for a paper you or your group authored. E.g. adding a cite in the code for a paper by Nose and Hoover if you write a fix that implements their integrator is not the intended usage. That kind of citation should just be in the doc page you provide. diff --git a/lib/hdnnp/README b/lib/hdnnp/README index 576d8bd861..708f36c179 100644 --- a/lib/hdnnp/README +++ b/lib/hdnnp/README @@ -67,7 +67,7 @@ Github issue page (https://github.com/CompPhysVienna/n2p2/issues). Testing a successful build of LAMMPS with ML-HDNNP ==================================================== -An example is provided in the LAMMPS directory "examples/USER/hdnnp" which runs +An example is provided in the LAMMPS directory "examples/PACKAGES/hdnnp" which runs 10 timesteps with 360 water molecules. The neural network potential is defined via files in the "hdnnp-data" subdirectory. Use the "in.hdnnp" LAMMPS script file to run the simulation. You should see a large output of the n2p2 library when diff --git a/lib/quip/README b/lib/quip/README index 6783430a42..7b74dc2d7e 100644 --- a/lib/quip/README +++ b/lib/quip/README @@ -86,7 +86,7 @@ or use -DPKG_ML-QUIP=yes when configuring LAMMPS for compilation with CMake. 2.2) Build LAMMPS according to the instructions on the LAMMPS website. -3) There are three example sets in examples/USER/quip: +3) There are three example sets in examples/PACKAGES/quip: - a set of input files to compute the energy of an 8-atom cubic diamond cell of silicon with the Stillinger-Weber potential. Use diff --git a/src/ML-HDNNP/README b/src/ML-HDNNP/README index 2ccf106925..1d9590f7d7 100644 --- a/src/ML-HDNNP/README +++ b/src/ML-HDNNP/README @@ -5,7 +5,7 @@ neural network potentials[1] via an interface to the n2p2 library Please see the main documentation for the "pair_style hdnnp" command for further details on how the pair style is used. An example is provided in the -"examples/USER/hdnnp" directory of LAMMPS. +"examples/PACKAGES/hdnnp" directory of LAMMPS. The ML-HDNNP package requires the external library n2p2 which must be downloaded and compiled before starting the build process of LAMMPS. A diff --git a/src/ML-QUIP/README b/src/ML-QUIP/README index 5bd9c45181..0e82248dd5 100644 --- a/src/ML-QUIP/README +++ b/src/ML-QUIP/README @@ -6,5 +6,5 @@ Potential (GAP) models. See lib/quip/README for more information on how to build LAMMPS with this package. -See examples/USER/quip for several test examples that run QUIP +See examples/PACKAGES/quip for several test examples that run QUIP potentials. diff --git a/src/USER-ATC/README b/src/USER-ATC/README index 06ab91ed80..0a6475236e 100644 --- a/src/USER-ATC/README +++ b/src/USER-ATC/README @@ -7,7 +7,7 @@ See the doc page for the fix atc command to get started. At the bottom of the doc page are many links to additional documentation contained in the doc/USER/atc directory. -There are example scripts for using this package in examples/USER/atc. +There are example scripts for using this package in examples/PACKAGES/atc. This package uses an external library in lib/atc which must be compiled before making LAMMPS. See the lib/atc/README file and the diff --git a/src/USER-AWPMD/README b/src/USER-AWPMD/README index 6d8e8d032d..82ce245ab1 100644 --- a/src/USER-AWPMD/README +++ b/src/USER-AWPMD/README @@ -4,7 +4,7 @@ Wave Packet Molecular Dynamics (AWPMD) method. See the doc page for the pair_style awpmd/cut command to get started. There are example scripts for using this package in -examples/USER/awpmd. +examples/PACKAGES/awpmd. This package uses an external library in lib/awpmd which must be compiled before making LAMMPS. See the lib/awpmd/README file and the diff --git a/src/USER-BOCS/README b/src/USER-BOCS/README index 45aecc278c..2028333b61 100644 --- a/src/USER-BOCS/README +++ b/src/USER-BOCS/README @@ -16,4 +16,4 @@ Dunn, NJH; Lebold, KM; DeLyser, MR; Rudzinski, JF; Noid, WG. "BOCS: Bottom-Up Open-Source Coarse-Graining Software." J. Phys. Chem. B. 122, 13, 3363-3377 (2018). -Example inputs are in the examples/USER/bocs folder. +Example inputs are in the examples/PACKAGES/bocs folder. diff --git a/src/USER-COLVARS/README b/src/USER-COLVARS/README index 6627bc9ec4..1ac57d9589 100644 --- a/src/USER-COLVARS/README +++ b/src/USER-COLVARS/README @@ -36,7 +36,7 @@ which also includes citations to the articles documenting the various methods that make use Colvars. There are also example scripts for using this package in the folder -examples/USER/colvars, as well as the GitHub page for Colvars. +examples/PACKAGES/colvars, as well as the GitHub page for Colvars. Please contact Giacomo Fiorin (giacomo.fiorin@gmail.com) for questions regarding this package. diff --git a/src/USER-DIELECTRIC/README b/src/USER-DIELECTRIC/README index 11e9bde03f..9275a1e7ac 100644 --- a/src/USER-DIELECTRIC/README +++ b/src/USER-DIELECTRIC/README @@ -23,6 +23,6 @@ Molecular Dynamics simulation", Computer Physics Communications 241, 80--91 (201 * Examples -Example input scripts and data files can be found under examples/USER/dielectric: +Example input scripts and data files can be found under examples/PACKAGES/dielectric: mpirun -np 8 ../../../src/lmp_mpi -in in.confined diff --git a/src/USER-DIFFRACTION/README b/src/USER-DIFFRACTION/README index fb36011960..a9a8ad523e 100644 --- a/src/USER-DIFFRACTION/README +++ b/src/USER-DIFFRACTION/README @@ -42,7 +42,7 @@ User-diffraction includes: See the doc pages for these commands for detailed usage instructions. There are example scripts for using this package in -examples/USER/diffraction. +examples/PACKAGES/diffraction. --------------------------------- diff --git a/src/USER-DPD/README b/src/USER-DPD/README index ef895bef2a..58c8d87334 100644 --- a/src/USER-DPD/README +++ b/src/USER-DPD/README @@ -27,7 +27,7 @@ dpd/conservative" and "pair dpd/fdt" and "pair dpd/fdt/energy" commands to get started. At the bottom of the doc page are many links to additional documentation contained in the doc/USER/dpd directory. -There are example scripts for using this package in examples/USER/dpd. +There are example scripts for using this package in examples/PACKAGES/dpd. The primary people who created this package are James Larentzos (james.p.larentzos.civ at mail.mil), Timothy Mattox (Timothy.Mattox at diff --git a/src/USER-DRUDE/README b/src/USER-DRUDE/README index 540e74279e..e6ee049a99 100644 --- a/src/USER-DRUDE/README +++ b/src/USER-DRUDE/README @@ -13,7 +13,7 @@ See the file doc/drude_tutorial.html for getting started. There are auxiliary tools for using this package in tools/drude. -There are example scripts for using this package in examples/USER/drude. +There are example scripts for using this package in examples/PACKAGES/drude. The person who created this package is Alain Dequidt at the Chemistry Institute of Clermont-Ferrand, Clermont University, France diff --git a/src/USER-EFF/README b/src/USER-EFF/README index 5caa1cd7da..18c8516905 100644 --- a/src/USER-EFF/README +++ b/src/USER-EFF/README @@ -27,7 +27,7 @@ minimization and dynamics. See the doc page for the pair_style eff/cut command to get started. There are example scripts for using this package in -examples/USER/eff. +examples/PACKAGES/eff. There are auxiliary tools for using this package in tools/eff. diff --git a/src/USER-FEP/README b/src/USER-FEP/README index 3ed5a52b44..00b6ac518f 100644 --- a/src/USER-FEP/README +++ b/src/USER-FEP/README @@ -4,7 +4,7 @@ simulations with soft-core pair potentials in LAMMPS. See the doc page for the fix adapt/fep command to get started. There are example scripts for using this package in -examples/USER/fep. +examples/PACKAGES/fep. There are auxiliary tools for using this package in tools/fep. diff --git a/src/USER-LB/README b/src/USER-LB/README index 4f22986d84..beac7da7f3 100644 --- a/src/USER-LB/README +++ b/src/USER-LB/README @@ -16,7 +16,7 @@ brief descriptions of other fixes below, each of which have their own doc page. There are example scripts for using this package in -examples/USER/lb. +examples/PACKAGES/lb. IMPORTANT NOTE: This package can only be used if LAMMPS is compiled with MPI (i.e. the serial makefile should not be used to compile the diff --git a/src/USER-MESODPD/README b/src/USER-MESODPD/README index 0119fdb9f8..c2d4904808 100644 --- a/src/USER-MESODPD/README +++ b/src/USER-MESODPD/README @@ -43,7 +43,7 @@ started. At the bottom of the doc pages are many links to additional documentation contained in the doc/USER/meso directory. There are example scripts for using this package in -examples/USER/meso. +examples/PACKAGES/meso. The person who created this package is Zhen Li (zhen_li at brown.edu) at Division of Applied Mathematics, Brown University, USA. Contact him diff --git a/src/USER-MGPT/README b/src/USER-MGPT/README index 151bd02b5d..50c11df5ab 100644 --- a/src/USER-MGPT/README +++ b/src/USER-MGPT/README @@ -17,7 +17,7 @@ See the doc page for the pair_style mgpt command for full details on using this package in LAMMPS. In particular, the user should note that the MGPT potentials are explicitly volume dependent, requiring special attention in their application. Useful example scripts are given in -the "examples/USER/mgpt" directory. These scripts show the necessary +the "examples/PACKAGES/mgpt" directory. These scripts show the necessary steps to perform constant-volume calculations and simulations. It is strongly recommended that the user work through and understand these examples before proceeding to more complex simulations. diff --git a/src/USER-MISC/pair_srp.cpp b/src/USER-MISC/pair_srp.cpp index c09d3726c2..e3a31dda96 100644 --- a/src/USER-MISC/pair_srp.cpp +++ b/src/USER-MISC/pair_srp.cpp @@ -21,7 +21,7 @@ soft non-bonded potentials are used, such as DPD polymer chains. See the doc page for pair_style srp command for usage instructions. -There is an example script for this package in examples/USER/srp. +There is an example script for this package in examples/PACKAGES/srp. Please contact Timothy Sirk for questions (tim.sirk@us.army.mil). ------------------------------------------------------------------------- */ diff --git a/src/USER-MOFFF/README b/src/USER-MOFFF/README index 237ac9ba53..fa3cb0ef87 100644 --- a/src/USER-MOFFF/README +++ b/src/USER-MOFFF/README @@ -25,7 +25,7 @@ See the doc pages for "pair_style buck6d/coul/gauss", "anlge_style class2", commands to get started. Also see the above mentioned website and literature for further documentation about the force field. -There are example scripts for using this force field in examples/USER/mofff. +There are example scripts for using this force field in examples/PACKAGES/mofff. The creators of this package are Hendrik Heenen (hendrik.heenen at mytum.de) and Rochus Schmid (rochus.schmid at rub.de). Contact them directly if you diff --git a/src/USER-PHONON/README b/src/USER-PHONON/README index d5ed666c0c..4f4147cc85 100644 --- a/src/USER-PHONON/README +++ b/src/USER-PHONON/README @@ -13,7 +13,7 @@ Use of this package requires building LAMMPS with FFT suppport, as described in doc/Section_start.html. There are example scripts for using commands in this package in -examples/USER/phonon. +examples/PACKAGES/phonon. There is an auxiliary post-processing tool in tools/phonon that will compute phonon frequencies and dispersion relations from the dynamical diff --git a/src/USER-PLUMED/README b/src/USER-PLUMED/README index 31910bc951..3f9860da39 100644 --- a/src/USER-PLUMED/README +++ b/src/USER-PLUMED/README @@ -60,7 +60,7 @@ numerous example scripts for PLUMED as well as citations to articles that dcomen implemented within PLUMED. There are also example scripts for using this package in the folder -examples/USER/plumed, as well as on the GitHub page for PLUMED. +examples/PACKAGES/plumed, as well as on the GitHub page for PLUMED. Please contact Gareth Tribello (gareth.tribello@gmail.com) for questions regarding this package. diff --git a/src/USER-QTB/README b/src/USER-QTB/README index 3b2b399d49..7458f60a4f 100644 --- a/src/USER-QTB/README +++ b/src/USER-QTB/README @@ -44,7 +44,7 @@ What command should I use regarding these two cases? Where can I find examples of these two commands? There are example scripts for using this package in - examples/USER/qtb, including one "fix qtb" and one + examples/PACKAGES/qtb, including one "fix qtb" and one "fix qbmsst" example for each of alpha quartz and methane. Running the alpha quartz example requires installation of the kspace package while the methane diff --git a/src/USER-SCAFACOS/README b/src/USER-SCAFACOS/README index 42d2e2c0f7..dc3eb65bfa 100644 --- a/src/USER-SCAFACOS/README +++ b/src/USER-SCAFACOS/README @@ -19,7 +19,7 @@ Once you have successfully built LAMMPS with this package and the ScaFaCoS library, you can test it using an input file from the examples scafacos dir, e.g.: -lmp_serial -in lammps/examples/USER/scafacos/in.scafacos.fmm +lmp_serial -in lammps/examples/PACKAGES/scafacos/in.scafacos.fmm For questions about ScaFaCoS, please contact: r.halver@fz-juelich.de or g.sutmann@fz-juelich.de diff --git a/src/USER-SMD/README b/src/USER-SMD/README index 924157ac97..e929270c96 100644 --- a/src/USER-SMD/README +++ b/src/USER-SMD/README @@ -19,7 +19,7 @@ from *.STL files. See the file doc/PDF/SMD_LAMMPS_userguide.pdf to get started. -There are example scripts for using this package in examples/USER/smd. +There are example scripts for using this package in examples/PACKAGES/smd. The person who created this package is Georg Ganzenmuller at the Fraunhofer-Institute for High-Speed Dynamics, Ernst Mach Institute in Germany (georg.ganzenmueller at emi.fhg.de). Contact him directly if diff --git a/src/USER-SMTBQ/README b/src/USER-SMTBQ/README index e778c65be2..594df29ac6 100644 --- a/src/USER-SMTBQ/README +++ b/src/USER-SMTBQ/README @@ -13,4 +13,4 @@ See the doc page for the pair_style smtbq command to get started. There are potential files for this potential in the potentials dir. There are example scripts for using this package in -examples/USER/smtbq. +examples/PACKAGES/smtbq. diff --git a/src/USER-SPH/README b/src/USER-SPH/README index 97afba8d12..948db9a70c 100644 --- a/src/USER-SPH/README +++ b/src/USER-SPH/README @@ -12,7 +12,7 @@ LAMMPS. Currently, the package has the following features: See the file doc/USER/sph/SPH_LAMMPS_userguide.pdf to get started. -There are example scripts for using this package in examples/USER/sph. +There are example scripts for using this package in examples/PACKAGES/sph. The person who created this package is Georg Ganzenmuller at the Fraunhofer-Institute for High-Speed Dynamics, Ernst Mach Institute in diff --git a/src/USER-TALLY/README b/src/USER-TALLY/README index afdf638154..529184de7c 100644 --- a/src/USER-TALLY/README +++ b/src/USER-TALLY/README @@ -15,7 +15,7 @@ Nevertheless, since those compute styles are executed directly using information that has already been computed, they should usually be more efficient than their counterparts. -There are example scripts for using this package in examples/USER/tally +There are example scripts for using this package in examples/PACKAGES/tally The person who created this package is Axel Kohlmeyer (akohlmey@gmail.com) at Temple University with a little help and inspiration from From 995195606ee525c06e461204a9fd51779b3e613f Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 29 Jun 2021 16:32:06 -0400 Subject: [PATCH 308/726] rename USER-RANN to ML-RANN --- cmake/CMakeLists.txt | 2 +- cmake/presets/all_off.cmake | 2 +- cmake/presets/all_on.cmake | 2 +- doc/src/Packages_details.rst | 8 ++++---- doc/src/Packages_user.rst | 2 +- doc/src/pair_rann.rst | 2 +- src/{USER-RANN => ML-RANN}/pair_rann.cpp | 2 +- src/{USER-RANN => ML-RANN}/pair_rann.h | 0 src/{USER-RANN => ML-RANN}/rann_activation.h | 0 src/{USER-RANN => ML-RANN}/rann_activation_linear.h | 0 src/{USER-RANN => ML-RANN}/rann_activation_sig_i.h | 0 src/{USER-RANN => ML-RANN}/rann_fingerprint.cpp | 0 src/{USER-RANN => ML-RANN}/rann_fingerprint.h | 0 src/{USER-RANN => ML-RANN}/rann_fingerprint_bond.cpp | 0 src/{USER-RANN => ML-RANN}/rann_fingerprint_bond.h | 0 .../rann_fingerprint_bondscreened.cpp | 0 .../rann_fingerprint_bondscreened.h | 0 .../rann_fingerprint_bondscreenedspin.cpp | 0 .../rann_fingerprint_bondscreenedspin.h | 0 src/{USER-RANN => ML-RANN}/rann_fingerprint_bondspin.cpp | 0 src/{USER-RANN => ML-RANN}/rann_fingerprint_bondspin.h | 0 src/{USER-RANN => ML-RANN}/rann_fingerprint_radial.cpp | 0 src/{USER-RANN => ML-RANN}/rann_fingerprint_radial.h | 0 .../rann_fingerprint_radialscreened.cpp | 0 .../rann_fingerprint_radialscreened.h | 0 .../rann_fingerprint_radialscreenedspin.cpp | 0 .../rann_fingerprint_radialscreenedspin.h | 0 .../rann_fingerprint_radialspin.cpp | 0 src/{USER-RANN => ML-RANN}/rann_fingerprint_radialspin.h | 0 src/Makefile | 2 +- 30 files changed, 11 insertions(+), 11 deletions(-) rename src/{USER-RANN => ML-RANN}/pair_rann.cpp (99%) rename src/{USER-RANN => ML-RANN}/pair_rann.h (100%) rename src/{USER-RANN => ML-RANN}/rann_activation.h (100%) rename src/{USER-RANN => ML-RANN}/rann_activation_linear.h (100%) rename src/{USER-RANN => ML-RANN}/rann_activation_sig_i.h (100%) rename src/{USER-RANN => ML-RANN}/rann_fingerprint.cpp (100%) rename src/{USER-RANN => ML-RANN}/rann_fingerprint.h (100%) rename src/{USER-RANN => ML-RANN}/rann_fingerprint_bond.cpp (100%) rename src/{USER-RANN => ML-RANN}/rann_fingerprint_bond.h (100%) rename src/{USER-RANN => ML-RANN}/rann_fingerprint_bondscreened.cpp (100%) rename src/{USER-RANN => ML-RANN}/rann_fingerprint_bondscreened.h (100%) rename src/{USER-RANN => ML-RANN}/rann_fingerprint_bondscreenedspin.cpp (100%) rename src/{USER-RANN => ML-RANN}/rann_fingerprint_bondscreenedspin.h (100%) rename src/{USER-RANN => ML-RANN}/rann_fingerprint_bondspin.cpp (100%) rename src/{USER-RANN => ML-RANN}/rann_fingerprint_bondspin.h (100%) rename src/{USER-RANN => ML-RANN}/rann_fingerprint_radial.cpp (100%) rename src/{USER-RANN => ML-RANN}/rann_fingerprint_radial.h (100%) rename src/{USER-RANN => ML-RANN}/rann_fingerprint_radialscreened.cpp (100%) rename src/{USER-RANN => ML-RANN}/rann_fingerprint_radialscreened.h (100%) rename src/{USER-RANN => ML-RANN}/rann_fingerprint_radialscreenedspin.cpp (100%) rename src/{USER-RANN => ML-RANN}/rann_fingerprint_radialscreenedspin.h (100%) rename src/{USER-RANN => ML-RANN}/rann_fingerprint_radialspin.cpp (100%) rename src/{USER-RANN => ML-RANN}/rann_fingerprint_radialspin.h (100%) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 0717b5098b..3381d88a02 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -145,7 +145,7 @@ set(STANDARD_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS DIPOLE USER-COLVARS USER-DIELECTRIC USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD ML-HDNNP USER-LB USER-MANIFOLD USER-MDI USER-MEAMC USER-MESONT USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF USER-PHONON USER-PLUMED USER-PTM USER-QTB - USER-RANN USER-REACTION USER-REAXC USER-SCAFACOS USER-SDPD USER-SMD USER-SMTBQ USER-SPH + ML-RANN USER-REACTION USER-REAXC USER-SCAFACOS USER-SDPD USER-SMD USER-SMTBQ USER-SPH USER-TALLY USER-UEF USER-VTK ML-QUIP USER-QMMM USER-YAFF ML-PACE USER-BROWNIAN) set(SUFFIX_PACKAGES CORESHELL GPU KOKKOS OPT USER-INTEL USER-OMP) diff --git a/cmake/presets/all_off.cmake b/cmake/presets/all_off.cmake index 75af24189a..7adb69dbfb 100644 --- a/cmake/presets/all_off.cmake +++ b/cmake/presets/all_off.cmake @@ -9,7 +9,7 @@ set(ALL_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD ML-HDNNP USER-INTEL USER-LB USER-MANIFOLD USER-MDI USER-MEAMC USER-MESODPD USER-MESONT USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF USER-OMP - ML-PACE USER-PHONON USER-PLUMED USER-PTM USER-QMMM USER-QTB ML-QUIP USER-RANN + ML-PACE USER-PHONON USER-PLUMED USER-PTM USER-QMMM USER-QTB ML-QUIP ML-RANN USER-REACTION USER-REAXC USER-SCAFACOS USER-SDPD USER-SMD USER-SMTBQ USER-SPH USER-TALLY USER-UEF USER-VTK USER-YAFF USER-DIELECTRIC) diff --git a/cmake/presets/all_on.cmake b/cmake/presets/all_on.cmake index 90ad9731d3..f1287e63b6 100644 --- a/cmake/presets/all_on.cmake +++ b/cmake/presets/all_on.cmake @@ -11,7 +11,7 @@ set(ALL_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD ML-HDNNP USER-INTEL USER-LB USER-MANIFOLD USER-MDI USER-MEAMC USER-MESODPD USER-MESONT USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF USER-OMP - ML-PACE USER-PHONON USER-PLUMED USER-PTM USER-QMMM USER-QTB ML-QUIP USER-RANN + ML-PACE USER-PHONON USER-PLUMED USER-PTM USER-QMMM USER-QTB ML-QUIP ML-RANN USER-REACTION USER-REAXC USER-SCAFACOS USER-SDPD USER-SMD USER-SMTBQ USER-SPH USER-TALLY USER-UEF USER-VTK USER-YAFF USER-DIELECTRIC) diff --git a/doc/src/Packages_details.rst b/doc/src/Packages_details.rst index 69ad86a593..df88a17440 100644 --- a/doc/src/Packages_details.rst +++ b/doc/src/Packages_details.rst @@ -101,7 +101,7 @@ page gives those details. * :ref:`USER-QMMM ` * :ref:`USER-QTB ` * :ref:`ML-QUIP ` - * :ref:`USER-RANN ` + * :ref:`ML-RANN ` * :ref:`USER-REACTION ` * :ref:`USER-REAXC ` * :ref:`USER-SCAFACOS ` @@ -2301,9 +2301,9 @@ This package has :ref:`specific installation instructions ` on the ---------- -.. _PKG-USER-RANN: +.. _PKG-ML-RANN: -USER-RANN package +ML-RANN package ----------------- **Contents:** @@ -2320,7 +2320,7 @@ with contributions by Doyl Dickel, Mississippi State University. **Supporting info:** -* src/USER-RANN: filenames -> commands +* src/ML-RANN: filenames -> commands * :doc:`pair_style rann ` * examples/PACKAGES/rann diff --git a/doc/src/Packages_user.rst b/doc/src/Packages_user.rst index 4a75eb1206..83c5064dc4 100644 --- a/doc/src/Packages_user.rst +++ b/doc/src/Packages_user.rst @@ -103,7 +103,7 @@ package: +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ | :ref:`ML-QUIP ` | QUIP/libatoms interface | :doc:`pair_style quip ` | USER/quip | ext | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`USER-RANN ` | rapid atomistic neural network (RANN) potentials | :doc:`pair rann ` | USER/rann | no | +| :ref:`ML-RANN ` | rapid atomistic neural network (RANN) potentials | :doc:`pair rann ` | USER/rann | no | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ | :ref:`USER-REACTION ` | chemical reactions in classical MD | :doc:`fix bond/react ` | USER/reaction | no | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ diff --git a/doc/src/pair_rann.rst b/doc/src/pair_rann.rst index 4177bae0c7..b02a81e4b8 100644 --- a/doc/src/pair_rann.rst +++ b/doc/src/pair_rann.rst @@ -378,7 +378,7 @@ The activation functions are computed as follows: Restrictions """""""""""" -Pair style *rann* is part of the USER-RANN package. It is only enabled if LAMMPS was built with that +Pair style *rann* is part of the ML-RANN package. It is only enabled if LAMMPS was built with that package. Additionally, if any spin fingerprint styles are used LAMMPS must be built with the SPIN package as well. diff --git a/src/USER-RANN/pair_rann.cpp b/src/ML-RANN/pair_rann.cpp similarity index 99% rename from src/USER-RANN/pair_rann.cpp rename to src/ML-RANN/pair_rann.cpp index 59ad688cb5..66e5bb107e 100644 --- a/src/USER-RANN/pair_rann.cpp +++ b/src/ML-RANN/pair_rann.cpp @@ -62,7 +62,7 @@ DISTRIBUTION A. Approved for public release; distribution unlimited. OPSEC#4918 using namespace LAMMPS_NS; static const char cite_user_rann_package[] = - "USER-RANN package:\n\n" + "ML-RANN package:\n\n" "@Article{Nitol2021,\n" " author = {Nitol, Mashroor S and Dickel, Doyl E and Barrett, Christopher D},\n" " title = {Artificial neural network potential for pure zinc},\n" diff --git a/src/USER-RANN/pair_rann.h b/src/ML-RANN/pair_rann.h similarity index 100% rename from src/USER-RANN/pair_rann.h rename to src/ML-RANN/pair_rann.h diff --git a/src/USER-RANN/rann_activation.h b/src/ML-RANN/rann_activation.h similarity index 100% rename from src/USER-RANN/rann_activation.h rename to src/ML-RANN/rann_activation.h diff --git a/src/USER-RANN/rann_activation_linear.h b/src/ML-RANN/rann_activation_linear.h similarity index 100% rename from src/USER-RANN/rann_activation_linear.h rename to src/ML-RANN/rann_activation_linear.h diff --git a/src/USER-RANN/rann_activation_sig_i.h b/src/ML-RANN/rann_activation_sig_i.h similarity index 100% rename from src/USER-RANN/rann_activation_sig_i.h rename to src/ML-RANN/rann_activation_sig_i.h diff --git a/src/USER-RANN/rann_fingerprint.cpp b/src/ML-RANN/rann_fingerprint.cpp similarity index 100% rename from src/USER-RANN/rann_fingerprint.cpp rename to src/ML-RANN/rann_fingerprint.cpp diff --git a/src/USER-RANN/rann_fingerprint.h b/src/ML-RANN/rann_fingerprint.h similarity index 100% rename from src/USER-RANN/rann_fingerprint.h rename to src/ML-RANN/rann_fingerprint.h diff --git a/src/USER-RANN/rann_fingerprint_bond.cpp b/src/ML-RANN/rann_fingerprint_bond.cpp similarity index 100% rename from src/USER-RANN/rann_fingerprint_bond.cpp rename to src/ML-RANN/rann_fingerprint_bond.cpp diff --git a/src/USER-RANN/rann_fingerprint_bond.h b/src/ML-RANN/rann_fingerprint_bond.h similarity index 100% rename from src/USER-RANN/rann_fingerprint_bond.h rename to src/ML-RANN/rann_fingerprint_bond.h diff --git a/src/USER-RANN/rann_fingerprint_bondscreened.cpp b/src/ML-RANN/rann_fingerprint_bondscreened.cpp similarity index 100% rename from src/USER-RANN/rann_fingerprint_bondscreened.cpp rename to src/ML-RANN/rann_fingerprint_bondscreened.cpp diff --git a/src/USER-RANN/rann_fingerprint_bondscreened.h b/src/ML-RANN/rann_fingerprint_bondscreened.h similarity index 100% rename from src/USER-RANN/rann_fingerprint_bondscreened.h rename to src/ML-RANN/rann_fingerprint_bondscreened.h diff --git a/src/USER-RANN/rann_fingerprint_bondscreenedspin.cpp b/src/ML-RANN/rann_fingerprint_bondscreenedspin.cpp similarity index 100% rename from src/USER-RANN/rann_fingerprint_bondscreenedspin.cpp rename to src/ML-RANN/rann_fingerprint_bondscreenedspin.cpp diff --git a/src/USER-RANN/rann_fingerprint_bondscreenedspin.h b/src/ML-RANN/rann_fingerprint_bondscreenedspin.h similarity index 100% rename from src/USER-RANN/rann_fingerprint_bondscreenedspin.h rename to src/ML-RANN/rann_fingerprint_bondscreenedspin.h diff --git a/src/USER-RANN/rann_fingerprint_bondspin.cpp b/src/ML-RANN/rann_fingerprint_bondspin.cpp similarity index 100% rename from src/USER-RANN/rann_fingerprint_bondspin.cpp rename to src/ML-RANN/rann_fingerprint_bondspin.cpp diff --git a/src/USER-RANN/rann_fingerprint_bondspin.h b/src/ML-RANN/rann_fingerprint_bondspin.h similarity index 100% rename from src/USER-RANN/rann_fingerprint_bondspin.h rename to src/ML-RANN/rann_fingerprint_bondspin.h diff --git a/src/USER-RANN/rann_fingerprint_radial.cpp b/src/ML-RANN/rann_fingerprint_radial.cpp similarity index 100% rename from src/USER-RANN/rann_fingerprint_radial.cpp rename to src/ML-RANN/rann_fingerprint_radial.cpp diff --git a/src/USER-RANN/rann_fingerprint_radial.h b/src/ML-RANN/rann_fingerprint_radial.h similarity index 100% rename from src/USER-RANN/rann_fingerprint_radial.h rename to src/ML-RANN/rann_fingerprint_radial.h diff --git a/src/USER-RANN/rann_fingerprint_radialscreened.cpp b/src/ML-RANN/rann_fingerprint_radialscreened.cpp similarity index 100% rename from src/USER-RANN/rann_fingerprint_radialscreened.cpp rename to src/ML-RANN/rann_fingerprint_radialscreened.cpp diff --git a/src/USER-RANN/rann_fingerprint_radialscreened.h b/src/ML-RANN/rann_fingerprint_radialscreened.h similarity index 100% rename from src/USER-RANN/rann_fingerprint_radialscreened.h rename to src/ML-RANN/rann_fingerprint_radialscreened.h diff --git a/src/USER-RANN/rann_fingerprint_radialscreenedspin.cpp b/src/ML-RANN/rann_fingerprint_radialscreenedspin.cpp similarity index 100% rename from src/USER-RANN/rann_fingerprint_radialscreenedspin.cpp rename to src/ML-RANN/rann_fingerprint_radialscreenedspin.cpp diff --git a/src/USER-RANN/rann_fingerprint_radialscreenedspin.h b/src/ML-RANN/rann_fingerprint_radialscreenedspin.h similarity index 100% rename from src/USER-RANN/rann_fingerprint_radialscreenedspin.h rename to src/ML-RANN/rann_fingerprint_radialscreenedspin.h diff --git a/src/USER-RANN/rann_fingerprint_radialspin.cpp b/src/ML-RANN/rann_fingerprint_radialspin.cpp similarity index 100% rename from src/USER-RANN/rann_fingerprint_radialspin.cpp rename to src/ML-RANN/rann_fingerprint_radialspin.cpp diff --git a/src/USER-RANN/rann_fingerprint_radialspin.h b/src/ML-RANN/rann_fingerprint_radialspin.h similarity index 100% rename from src/USER-RANN/rann_fingerprint_radialspin.h rename to src/ML-RANN/rann_fingerprint_radialspin.h diff --git a/src/Makefile b/src/Makefile index bab09e9f1d..5e3d1bba4d 100644 --- a/src/Makefile +++ b/src/Makefile @@ -57,7 +57,7 @@ PACKUSER = user-adios user-atc user-awpmd user-brownian user-bocs cg-dna \ user-mdi user-meamc user-mesodpd user-mesont user-mgpt user-misc \ user-mofff user-molfile user-netcdf user-omp user-phonon \ ml-pace user-plumed user-ptm user-qmmm user-qtb ml-quip \ - user-rann user-reaction user-reaxc user-scafacos user-smd user-smtbq \ + ml-rann user-reaction user-reaxc user-scafacos user-smd user-smtbq \ user-sdpd user-sph user-tally user-uef user-vtk user-yaff PACKLIB = compress gpu kim kokkos latte message mpiio mscg poems python voronoi \ From dc3efd17d2242ffd643501fc948b24995183e804 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 29 Jun 2021 16:59:05 -0400 Subject: [PATCH 309/726] rename USER-MEAMC to MEAM and pair style meam/c to meam (keeping meam/c as an alias) --- .github/CODEOWNERS | 2 +- bench/POTENTIALS/{in.meamc => in.meam} | 2 +- .../{log.9Oct20.meamc.1 => log.9Oct20.meam.1} | 6 +- .../{log.9Oct20.meamc.4 => log.9Oct20.meam.4} | 6 +- cmake/CMakeLists.txt | 2 +- cmake/presets/all_off.cmake | 2 +- cmake/presets/all_on.cmake | 2 +- cmake/presets/mingw-cross.cmake | 2 +- cmake/presets/most.cmake | 2 +- doc/src/Commands_pair.rst | 2 +- doc/src/Commands_removed.rst | 15 ++-- doc/src/Packages_details.rst | 16 ++-- doc/src/Packages_user.rst | 2 +- doc/src/{pair_meamc.rst => pair_meam.rst} | 16 ++-- doc/src/pair_meam_spline.rst | 2 +- doc/src/pair_meam_sw_spline.rst | 2 +- doc/src/pair_style.rst | 2 +- doc/utils/sphinx-config/false_positives.txt | 3 +- examples/meam/{in.meamc => in.meam} | 2 +- examples/meam/in.meamc.shear | 79 ------------------- ...v18.meamc.g++.1 => log.27Nov18.meam.g++.1} | 6 +- ...v18.meamc.g++.4 => log.27Nov18.meam.g++.4} | 6 +- ...ear.g++.1 => log.27Nov18.meam.shear.g++.1} | 6 +- ...ear.g++.4 => log.27Nov18.meam.shear.g++.4} | 6 +- src/.gitignore | 4 +- src/MEAM/README | 26 ++++++ src/{USER-MEAMC => MEAM}/meam.h | 0 src/{USER-MEAMC => MEAM}/meam_dens_final.cpp | 0 src/{USER-MEAMC => MEAM}/meam_dens_init.cpp | 0 src/{USER-MEAMC => MEAM}/meam_force.cpp | 0 src/{USER-MEAMC => MEAM}/meam_funcs.cpp | 0 src/{USER-MEAMC => MEAM}/meam_impl.cpp | 0 src/{USER-MEAMC => MEAM}/meam_setup_done.cpp | 0 .../meam_setup_global.cpp | 0 src/{USER-MEAMC => MEAM}/meam_setup_param.cpp | 0 .../pair_meamc.cpp => MEAM/pair_meam.cpp} | 44 +++++------ .../pair_meamc.h => MEAM/pair_meam.h} | 18 ++--- src/Makefile | 2 +- src/USER-MEAMC/README | 26 ------ ...pair-meam_c.yaml => atomic-pair-meam.yaml} | 4 +- ...ir-meam_c.yaml => manybody-pair-meam.yaml} | 4 +- 41 files changed, 118 insertions(+), 201 deletions(-) rename bench/POTENTIALS/{in.meamc => in.meam} (94%) rename bench/POTENTIALS/{log.9Oct20.meamc.1 => log.9Oct20.meam.1} (96%) rename bench/POTENTIALS/{log.9Oct20.meamc.4 => log.9Oct20.meam.4} (96%) rename doc/src/{pair_meamc.rst => pair_meam.rst} (98%) rename examples/meam/{in.meamc => in.meam} (96%) delete mode 100644 examples/meam/in.meamc.shear rename examples/meam/{log.27Nov18.meamc.g++.1 => log.27Nov18.meam.g++.1} (97%) rename examples/meam/{log.27Nov18.meamc.g++.4 => log.27Nov18.meam.g++.4} (97%) rename examples/meam/{log.27Nov18.meamc.shear.g++.1 => log.27Nov18.meam.shear.g++.1} (98%) rename examples/meam/{log.27Nov18.meamc.shear.g++.4 => log.27Nov18.meam.shear.g++.4} (98%) create mode 100644 src/MEAM/README rename src/{USER-MEAMC => MEAM}/meam.h (100%) rename src/{USER-MEAMC => MEAM}/meam_dens_final.cpp (100%) rename src/{USER-MEAMC => MEAM}/meam_dens_init.cpp (100%) rename src/{USER-MEAMC => MEAM}/meam_force.cpp (100%) rename src/{USER-MEAMC => MEAM}/meam_funcs.cpp (100%) rename src/{USER-MEAMC => MEAM}/meam_impl.cpp (100%) rename src/{USER-MEAMC => MEAM}/meam_setup_done.cpp (100%) rename src/{USER-MEAMC => MEAM}/meam_setup_global.cpp (100%) rename src/{USER-MEAMC => MEAM}/meam_setup_param.cpp (100%) rename src/{USER-MEAMC/pair_meamc.cpp => MEAM/pair_meam.cpp} (95%) rename src/{USER-MEAMC/pair_meamc.h => MEAM/pair_meam.h} (92%) delete mode 100644 src/USER-MEAMC/README rename unittest/force-styles/tests/{atomic-pair-meam_c.yaml => atomic-pair-meam.yaml} (99%) rename unittest/force-styles/tests/{manybody-pair-meam_c.yaml => manybody-pair-meam.yaml} (99%) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 3e6f9eddcb..74d6c67355 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -32,7 +32,7 @@ src/ML-HDNNP/* @singraber src/USER-INTEL/* @wmbrownintel src/USER-MANIFOLD/* @Pakketeretet2 src/USER-MDI/* @taylor-a-barnes -src/USER-MEAMC/* @martok +src/MEAM/* @martok src/USER-MESONT/* @iafoss src/USER-MOFFF/* @hheenen src/USER-MOLFILE/* @akohlmey diff --git a/bench/POTENTIALS/in.meamc b/bench/POTENTIALS/in.meam similarity index 94% rename from bench/POTENTIALS/in.meamc rename to bench/POTENTIALS/in.meam index 0739b49411..9c6e06cd4d 100644 --- a/bench/POTENTIALS/in.meamc +++ b/bench/POTENTIALS/in.meam @@ -8,7 +8,7 @@ region box block 0 20 0 20 0 20 create_box 1 box create_atoms 1 box -pair_style meam/c +pair_style meam pair_coeff * * library.meam Ni4 Ni.meam Ni4 velocity all create 1600.0 376847 loop geom diff --git a/bench/POTENTIALS/log.9Oct20.meamc.1 b/bench/POTENTIALS/log.9Oct20.meam.1 similarity index 96% rename from bench/POTENTIALS/log.9Oct20.meamc.1 rename to bench/POTENTIALS/log.9Oct20.meam.1 index d6bebcd664..03e027674f 100644 --- a/bench/POTENTIALS/log.9Oct20.meamc.1 +++ b/bench/POTENTIALS/log.9Oct20.meam.1 @@ -15,7 +15,7 @@ create_atoms 1 box Created 32000 atoms create_atoms CPU = 0.002 seconds -pair_style meam/c +pair_style meam pair_coeff * * library.meam Ni4 Ni.meam Ni4 Reading potential file library.meam with DATE: 2012-06-29 Reading potential file Ni.meam with DATE: 2007-06-11 @@ -38,12 +38,12 @@ Neighbor list info ... ghost atom cutoff = 5 binsize = 2.5, bins = 29 29 29 2 neighbor lists, perpetual/occasional/extra = 2 0 0 - (1) pair meam/c, perpetual + (1) pair meam, perpetual attributes: full, newton on pair build: full/bin/atomonly stencil: full/bin/3d bin: standard - (2) pair meam/c, perpetual, half/full from (1) + (2) pair meam, perpetual, half/full from (1) attributes: half, newton on pair build: halffull/newton stencil: none diff --git a/bench/POTENTIALS/log.9Oct20.meamc.4 b/bench/POTENTIALS/log.9Oct20.meam.4 similarity index 96% rename from bench/POTENTIALS/log.9Oct20.meamc.4 rename to bench/POTENTIALS/log.9Oct20.meam.4 index 4ccae5ddce..fa343e33b5 100644 --- a/bench/POTENTIALS/log.9Oct20.meamc.4 +++ b/bench/POTENTIALS/log.9Oct20.meam.4 @@ -15,7 +15,7 @@ create_atoms 1 box Created 32000 atoms create_atoms CPU = 0.001 seconds -pair_style meam/c +pair_style meam pair_coeff * * library.meam Ni4 Ni.meam Ni4 Reading potential file library.meam with DATE: 2012-06-29 Reading potential file Ni.meam with DATE: 2007-06-11 @@ -38,12 +38,12 @@ Neighbor list info ... ghost atom cutoff = 5 binsize = 2.5, bins = 29 29 29 2 neighbor lists, perpetual/occasional/extra = 2 0 0 - (1) pair meam/c, perpetual + (1) pair meam, perpetual attributes: full, newton on pair build: full/bin/atomonly stencil: full/bin/3d bin: standard - (2) pair meam/c, perpetual, half/full from (1) + (2) pair meam, perpetual, half/full from (1) attributes: half, newton on pair build: halffull/newton stencil: none diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 3381d88a02..fe5045fa15 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -143,7 +143,7 @@ set(STANDARD_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS DIPOLE PLUGIN QEQ REPLICA RIGID SHOCK SPIN ML-SNAP SRD KIM PYTHON MSCG MPIIO VORONOI USER-ADIOS USER-ATC USER-AWPMD USER-BOCS CG-DNA USER-MESODPD CG-SDK USER-COLVARS USER-DIELECTRIC USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP - USER-H5MD ML-HDNNP USER-LB USER-MANIFOLD USER-MDI USER-MEAMC USER-MESONT USER-MGPT + USER-H5MD ML-HDNNP USER-LB USER-MANIFOLD USER-MDI MEAM USER-MESONT USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF USER-PHONON USER-PLUMED USER-PTM USER-QTB ML-RANN USER-REACTION USER-REAXC USER-SCAFACOS USER-SDPD USER-SMD USER-SMTBQ USER-SPH USER-TALLY USER-UEF USER-VTK ML-QUIP USER-QMMM USER-YAFF ML-PACE USER-BROWNIAN) diff --git a/cmake/presets/all_off.cmake b/cmake/presets/all_off.cmake index 7adb69dbfb..e5f5afcd67 100644 --- a/cmake/presets/all_off.cmake +++ b/cmake/presets/all_off.cmake @@ -7,7 +7,7 @@ set(ALL_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU SRD VORONOI USER-ADIOS USER-ATC USER-AWPMD USER-BROWNIAN USER-BOCS CG-DNA CG-SDK USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD - ML-HDNNP USER-INTEL USER-LB USER-MANIFOLD USER-MDI USER-MEAMC USER-MESODPD + ML-HDNNP USER-INTEL USER-LB USER-MANIFOLD USER-MDI MEAM USER-MESODPD USER-MESONT USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF USER-OMP ML-PACE USER-PHONON USER-PLUMED USER-PTM USER-QMMM USER-QTB ML-QUIP ML-RANN USER-REACTION USER-REAXC USER-SCAFACOS USER-SDPD USER-SMD USER-SMTBQ USER-SPH diff --git a/cmake/presets/all_on.cmake b/cmake/presets/all_on.cmake index f1287e63b6..575c2b1575 100644 --- a/cmake/presets/all_on.cmake +++ b/cmake/presets/all_on.cmake @@ -9,7 +9,7 @@ set(ALL_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU SRD VORONOI USER-ADIOS USER-ATC USER-AWPMD USER-BROWNIAN USER-BOCS CG-DNA CG-SDK USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD - ML-HDNNP USER-INTEL USER-LB USER-MANIFOLD USER-MDI USER-MEAMC USER-MESODPD + ML-HDNNP USER-INTEL USER-LB USER-MANIFOLD USER-MDI MEAM USER-MESODPD USER-MESONT USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF USER-OMP ML-PACE USER-PHONON USER-PLUMED USER-PTM USER-QMMM USER-QTB ML-QUIP ML-RANN USER-REACTION USER-REAXC USER-SCAFACOS USER-SDPD USER-SMD USER-SMTBQ USER-SPH diff --git a/cmake/presets/mingw-cross.cmake b/cmake/presets/mingw-cross.cmake index c046ebb327..284ab265de 100644 --- a/cmake/presets/mingw-cross.cmake +++ b/cmake/presets/mingw-cross.cmake @@ -3,7 +3,7 @@ set(WIN_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU PERI POEMS QEQ REPLICA RIGID SHOCK ML-SNAP SPIN SRD VORONOI USER-ATC USER-AWPMD USER-BOCS USER-BROWNIAN CG-DNA CG-SDK USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP - ML-HDNNP USER-INTEL USER-MANIFOLD USER-MDI USER-MEAMC USER-MESODPD + ML-HDNNP USER-INTEL USER-MANIFOLD USER-MDI MEAM USER-MESODPD USER-MESONT USER-MISC USER-MGPT USER-MOFFF USER-MOLFILE USER-OMP USER-PHONON USER-PTM USER-QTB USER-REACTION USER-REAXC USER-SDPD USER-SMD USER-SMTBQ USER-SPH USER-TALLY USER-UEF diff --git a/cmake/presets/most.cmake b/cmake/presets/most.cmake index 8abe396521..e6cc7b81b1 100644 --- a/cmake/presets/most.cmake +++ b/cmake/presets/most.cmake @@ -6,7 +6,7 @@ set(ALL_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GRANULAR KSPACE MANYBODY MC MISC ML-IAP MOLECULE OPT PERI PLUGIN POEMS PYTHON QEQ REPLICA RIGID SHOCK ML-SNAP SPIN SRD VORONOI USER-BROWNIAN USER-BOCS CG-DNA CG-SDK USER-COLVARS - USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-MEAMC + USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP MEAM USER-MESODPD USER-MISC USER-MOFFF USER-OMP USER-PHONON USER-REACTION USER-REAXC USER-SDPD USER-SPH USER-SMD USER-UEF USER-YAFF USER-DIELECTRIC) diff --git a/doc/src/Commands_pair.rst b/doc/src/Commands_pair.rst index 192c40b27a..53233c7846 100644 --- a/doc/src/Commands_pair.rst +++ b/doc/src/Commands_pair.rst @@ -190,7 +190,7 @@ OPT. * :doc:`lubricateU/poly ` * :doc:`mdpd ` * :doc:`mdpd/rhosum ` - * :doc:`meam/c ` + * :doc:`meam ` * :doc:`meam/spline (o) ` * :doc:`meam/sw/spline ` * :doc:`mesocnt ` diff --git a/doc/src/Commands_removed.rst b/doc/src/Commands_removed.rst index 1f6da57945..4be3fd89a6 100644 --- a/doc/src/Commands_removed.rst +++ b/doc/src/Commands_removed.rst @@ -25,15 +25,12 @@ The reset_ids command has been renamed to :doc:`reset_atom_ids ` MEAM package ------------ -The MEAM package has been removed since it was superseded by the -:ref:`USER-MEAMC package `. The code in -the USER-MEAMC package is a translation of the Fortran code of MEAM into C++, -which removes several restrictions (e.g. there can be multiple instances -in hybrid pair styles) and allows for some optimizations leading -to better performance. The new pair style :doc:`meam/c ` has -the exact same syntax as the old "meam" pair style and thus pair style -meam is an alias to the new style and backward -compatibility of old inputs is preserved. +The MEAM package in Fortran has been replaced by a C++ implementation. +The code in the :ref:`MEAM package ` is a translation of the +Fortran code of MEAM into C++, which removes several restrictions +(e.g. there can be multiple instances in hybrid pair styles) and allows +for some optimizations leading to better performance. The pair style +:doc:`meam ` has the exact same syntax. REAX package ------------ diff --git a/doc/src/Packages_details.rst b/doc/src/Packages_details.rst index df88a17440..48766dacf7 100644 --- a/doc/src/Packages_details.rst +++ b/doc/src/Packages_details.rst @@ -85,7 +85,7 @@ page gives those details. * :ref:`USER-LB ` * :ref:`USER-MANIFOLD ` * :ref:`USER-MDI ` - * :ref:`USER-MEAMC ` + * :ref:`MEAM ` * :ref:`USER-MESODPD ` * :ref:`USER-MESONT ` * :ref:`USER-MGPT ` @@ -1803,16 +1803,16 @@ other atomic or molecular simulation codes via the `MolSSI Driver Interface ---------- -.. _PKG-USER-MEAMC: +.. _PKG-MEAM: -USER-MEAMC package +MEAM package ------------------ **Contents:** A pair style for the modified embedded atom (MEAM) potential translated from the Fortran version in the (obsolete) MEAM package -to plain C++. The USER-MEAMC fully replaces the MEAM package, which +to plain C++. The MEAM fully replaces the MEAM package, which has been removed from LAMMPS after the 12 December 2018 version. **Author:** Sebastian Huetter, (Otto-von-Guericke University Magdeburg) @@ -1821,10 +1821,10 @@ Sandia. **Supporting info:** -* src/USER-MEAMC: filenames -> commands -* src/USER-MEAMC/README -* :doc:`pair_style meam/c ` -* examples/meamc +* src/MEAM: filenames -> commands +* src/MEAM/README +* :doc:`pair_style meam ` +* examples/meam ---------- diff --git a/doc/src/Packages_user.rst b/doc/src/Packages_user.rst index 83c5064dc4..86b8eb1947 100644 --- a/doc/src/Packages_user.rst +++ b/doc/src/Packages_user.rst @@ -71,7 +71,7 @@ package: +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ | :ref:`USER-MDI ` | client-server coupling | :doc:`MDI Howto ` | USER/mdi | ext | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`USER-MEAMC ` | modified EAM potential (C++) | :doc:`pair_style meam/c ` | meamc | no | +| :ref:`MEAM ` | modified EAM potential (C++) | :doc:`pair_style meam ` | meam | no | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ | :ref:`USER-MESODPD ` | mesoscale DPD models | :doc:`pair_style edpd ` | USER/mesodpd | no | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ diff --git a/doc/src/pair_meamc.rst b/doc/src/pair_meam.rst similarity index 98% rename from doc/src/pair_meamc.rst rename to doc/src/pair_meam.rst index 757c4c6712..c55967a756 100644 --- a/doc/src/pair_meamc.rst +++ b/doc/src/pair_meam.rst @@ -1,6 +1,6 @@ -.. index:: pair_style meam/c +.. index:: pair_style meam -pair_style meam/c command +pair_style meam command ========================= Syntax @@ -8,14 +8,14 @@ Syntax .. code-block:: LAMMPS - pair_style meam/c + pair_style meam Examples """""""" .. code-block:: LAMMPS - pair_style meam/c + pair_style meam pair_coeff * * ../potentials/library.meam Si ../potentials/si.meam Si pair_coeff * * ../potentials/library.meam Ni Al NULL Ni Al Ni Ni @@ -28,13 +28,13 @@ Description as of November 2010; see description below of the mixture_ref_t parameter -Style *meam/c* computes pairwise interactions for a variety of materials +Style *meam* computes pairwise interactions for a variety of materials using modified embedded-atom method (MEAM) potentials :ref:`(Baskes) `. Conceptually, it is an extension to the original :doc:`EAM potentials ` which adds angular forces. It is thus suitable for modeling metals and alloys with fcc, bcc, hcp and diamond cubic structures, as well as covalently bonded materials like -silicon and carbon. Style *meam/c* is a translation of the (now obsolete) +silicon and carbon. Style *meam* is a translation of the (now obsolete) *meam* code from Fortran to C++. It is functionally equivalent to *meam* but more efficient, and thus *meam* has been removed from LAMMPS after the 12 December 2018 release. @@ -383,7 +383,7 @@ This pair style can only be used via the *pair* keyword of the Restrictions """""""""""" -The *meam/c* style is provided in the USER-MEAMC package. It is +The *meam* style is provided in the MEAM package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -391,7 +391,7 @@ The maximum number of elements, that can be read from the MEAM library file, is determined at compile time. The default is 5. If you need support for more elements, you have to change the define for the constant 'maxelt' at the beginning of the file -src/USER-MEAMC/meam.h and update/recompile LAMMPS. There is no +src/MEAM/meam.h and update/recompile LAMMPS. There is no limit on the number of atoms types. Related commands diff --git a/doc/src/pair_meam_spline.rst b/doc/src/pair_meam_spline.rst index 6bedb9b4fb..a24b74bc7f 100644 --- a/doc/src/pair_meam_spline.rst +++ b/doc/src/pair_meam_spline.rst @@ -151,7 +151,7 @@ info. Related commands """""""""""""""" -:doc:`pair_coeff `, :doc:`pair_style meam/c ` +:doc:`pair_coeff `, :doc:`pair_style meam ` Default """"""" diff --git a/doc/src/pair_meam_sw_spline.rst b/doc/src/pair_meam_sw_spline.rst index 1f7ae2ff9f..f1bc9df582 100644 --- a/doc/src/pair_meam_sw_spline.rst +++ b/doc/src/pair_meam_sw_spline.rst @@ -131,7 +131,7 @@ info. Related commands """""""""""""""" -:doc:`pair_coeff `, :doc:`pair_style meam/c `, +:doc:`pair_coeff `, :doc:`pair_style meam `, :doc:`pair_style meam/spline ` Default diff --git a/doc/src/pair_style.rst b/doc/src/pair_style.rst index 1f023a7312..99ed142af6 100644 --- a/doc/src/pair_style.rst +++ b/doc/src/pair_style.rst @@ -255,7 +255,7 @@ accelerated styles exist. * :doc:`lubricateU/poly ` - hydrodynamic lubrication forces for Fast Lubrication with polydispersity * :doc:`mdpd ` - mDPD particle interactions * :doc:`mdpd/rhosum ` - mDPD particle interactions for mass density -* :doc:`meam/c ` - modified embedded atom method (MEAM) in C +* :doc:`meam ` - modified embedded atom method (MEAM) in C * :doc:`meam/spline ` - splined version of MEAM * :doc:`meam/sw/spline ` - splined version of MEAM with a Stillinger-Weber term * :doc:`mesocnt ` - mesoscale model for (carbon) nanotubes diff --git a/doc/utils/sphinx-config/false_positives.txt b/doc/utils/sphinx-config/false_positives.txt index 5d9b3eb8c1..20231c4be5 100644 --- a/doc/utils/sphinx-config/false_positives.txt +++ b/doc/utils/sphinx-config/false_positives.txt @@ -1891,8 +1891,7 @@ mdi mdpd mDPD meam -meamc -MEAMC +MEAM meamf meanDist mech diff --git a/examples/meam/in.meamc b/examples/meam/in.meam similarity index 96% rename from examples/meam/in.meamc rename to examples/meam/in.meam index f6815cd7d4..b4463be365 100644 --- a/examples/meam/in.meamc +++ b/examples/meam/in.meam @@ -7,7 +7,7 @@ atom_style atomic read_data data.meam -pair_style meam/c +pair_style meam pair_coeff * * library.meam Si C SiC.meam Si C neighbor 0.3 bin diff --git a/examples/meam/in.meamc.shear b/examples/meam/in.meamc.shear deleted file mode 100644 index e4584d9744..0000000000 --- a/examples/meam/in.meamc.shear +++ /dev/null @@ -1,79 +0,0 @@ -# 3d metal shear simulation - -units metal -boundary s s p - -atom_style atomic -lattice fcc 3.52 -region box block 0 16.0 0 10.0 0 2.828427 -create_box 3 box - -lattice fcc 3.52 orient x 1 0 0 orient y 0 1 1 orient z 0 -1 1 & - origin 0.5 0 0 -create_atoms 1 box - -pair_style meam/c -pair_coeff * * library.meam Ni4 Ni.meam Ni4 Ni4 Ni4 - -neighbor 0.3 bin -neigh_modify delay 5 - -region lower block INF INF INF 0.9 INF INF -region upper block INF INF 6.1 INF INF INF -group lower region lower -group upper region upper -group boundary union lower upper -group mobile subtract all boundary - -set group lower type 2 -set group upper type 3 - -# void - -#region void cylinder z 8 5 2.5 INF INF -#delete_atoms region void - -# temp controllers - -compute new3d mobile temp -compute new2d mobile temp/partial 0 1 1 - -# equilibrate - -velocity mobile create 300.0 5812775 temp new3d -fix 1 all nve -fix 2 boundary setforce 0.0 0.0 0.0 - -fix 3 mobile temp/rescale 10 300.0 300.0 10.0 1.0 -fix_modify 3 temp new3d - -thermo 25 -thermo_modify temp new3d - -timestep 0.001 -run 100 - -# shear - -velocity upper set 1.0 0 0 -velocity mobile ramp vx 0.0 1.0 y 1.4 8.6 sum yes - -unfix 3 -fix 3 mobile temp/rescale 10 300.0 300.0 10.0 1.0 -fix_modify 3 temp new2d - -#dump 1 all atom 500 dump.meam.shear - -#dump 2 all image 100 image.*.jpg type type & -# axes yes 0.8 0.02 view 0 0 zoom 1.5 up 0 1 0 adiam 2.0 -#dump_modify 2 pad 4 - -#dump 3 all movie 100 movie.mpg type type & -# axes yes 0.8 0.02 view 0 0 zoom 1.5 up 0 1 0 adiam 2.0 -#dump_modify 3 pad 4 - -thermo 100 -thermo_modify temp new2d - -reset_timestep 0 -run 3000 diff --git a/examples/meam/log.27Nov18.meamc.g++.1 b/examples/meam/log.27Nov18.meam.g++.1 similarity index 97% rename from examples/meam/log.27Nov18.meamc.g++.1 rename to examples/meam/log.27Nov18.meam.g++.1 index 2fcd24077b..40f999c00a 100644 --- a/examples/meam/log.27Nov18.meamc.g++.1 +++ b/examples/meam/log.27Nov18.meam.g++.1 @@ -13,7 +13,7 @@ read_data data.meam reading atoms ... 128 atoms -pair_style meam/c +pair_style meam pair_coeff * * library.meam Si C SiC.meam Si C Reading potential file library.meam with DATE: 2012-06-29 Reading potential file SiC.meam with DATE: 2007-06-11 @@ -41,12 +41,12 @@ Neighbor list info ... ghost atom cutoff = 4.3 binsize = 2.15, bins = 6 6 6 2 neighbor lists, perpetual/occasional/extra = 2 0 0 - (1) pair meam/c, perpetual + (1) pair meam, perpetual attributes: full, newton on pair build: full/bin/atomonly stencil: full/bin/3d bin: standard - (2) pair meam/c, perpetual, half/full from (1) + (2) pair meam, perpetual, half/full from (1) attributes: half, newton on pair build: halffull/newton stencil: none diff --git a/examples/meam/log.27Nov18.meamc.g++.4 b/examples/meam/log.27Nov18.meam.g++.4 similarity index 97% rename from examples/meam/log.27Nov18.meamc.g++.4 rename to examples/meam/log.27Nov18.meam.g++.4 index b97f18b25c..8a8070b28a 100644 --- a/examples/meam/log.27Nov18.meamc.g++.4 +++ b/examples/meam/log.27Nov18.meam.g++.4 @@ -13,7 +13,7 @@ read_data data.meam reading atoms ... 128 atoms -pair_style meam/c +pair_style meam pair_coeff * * library.meam Si C SiC.meam Si C Reading potential file library.meam with DATE: 2012-06-29 Reading potential file SiC.meam with DATE: 2007-06-11 @@ -41,12 +41,12 @@ Neighbor list info ... ghost atom cutoff = 4.3 binsize = 2.15, bins = 6 6 6 2 neighbor lists, perpetual/occasional/extra = 2 0 0 - (1) pair meam/c, perpetual + (1) pair meam, perpetual attributes: full, newton on pair build: full/bin/atomonly stencil: full/bin/3d bin: standard - (2) pair meam/c, perpetual, half/full from (1) + (2) pair meam, perpetual, half/full from (1) attributes: half, newton on pair build: halffull/newton stencil: none diff --git a/examples/meam/log.27Nov18.meamc.shear.g++.1 b/examples/meam/log.27Nov18.meam.shear.g++.1 similarity index 98% rename from examples/meam/log.27Nov18.meamc.shear.g++.1 rename to examples/meam/log.27Nov18.meam.shear.g++.1 index 4aff7d2399..e183bc698a 100644 --- a/examples/meam/log.27Nov18.meamc.shear.g++.1 +++ b/examples/meam/log.27Nov18.meam.shear.g++.1 @@ -19,7 +19,7 @@ create_atoms 1 box Created 1912 atoms Time spent = 0.000667334 secs -pair_style meam/c +pair_style meam pair_coeff * * library.meam Ni4 Ni.meam Ni4 Ni4 Ni4 Reading potential file library.meam with DATE: 2012-06-29 Reading potential file Ni.meam with DATE: 2007-06-11 @@ -75,12 +75,12 @@ Neighbor list info ... ghost atom cutoff = 4.3 binsize = 2.15, bins = 27 17 5 2 neighbor lists, perpetual/occasional/extra = 2 0 0 - (1) pair meam/c, perpetual + (1) pair meam, perpetual attributes: full, newton on pair build: full/bin/atomonly stencil: full/bin/3d bin: standard - (2) pair meam/c, perpetual, half/full from (1) + (2) pair meam, perpetual, half/full from (1) attributes: half, newton on pair build: halffull/newton stencil: none diff --git a/examples/meam/log.27Nov18.meamc.shear.g++.4 b/examples/meam/log.27Nov18.meam.shear.g++.4 similarity index 98% rename from examples/meam/log.27Nov18.meamc.shear.g++.4 rename to examples/meam/log.27Nov18.meam.shear.g++.4 index 702e13f554..63f6adf8a1 100644 --- a/examples/meam/log.27Nov18.meamc.shear.g++.4 +++ b/examples/meam/log.27Nov18.meam.shear.g++.4 @@ -19,7 +19,7 @@ create_atoms 1 box Created 1912 atoms Time spent = 0.000405788 secs -pair_style meam/c +pair_style meam pair_coeff * * library.meam Ni4 Ni.meam Ni4 Ni4 Ni4 Reading potential file library.meam with DATE: 2012-06-29 Reading potential file Ni.meam with DATE: 2007-06-11 @@ -75,12 +75,12 @@ Neighbor list info ... ghost atom cutoff = 4.3 binsize = 2.15, bins = 27 17 5 2 neighbor lists, perpetual/occasional/extra = 2 0 0 - (1) pair meam/c, perpetual + (1) pair meam, perpetual attributes: full, newton on pair build: full/bin/atomonly stencil: full/bin/3d bin: standard - (2) pair meam/c, perpetual, half/full from (1) + (2) pair meam, perpetual, half/full from (1) attributes: half, newton on pair build: halffull/newton stencil: none diff --git a/src/.gitignore b/src/.gitignore index 37955b454d..8d73a5b295 100644 --- a/src/.gitignore +++ b/src/.gitignore @@ -70,8 +70,8 @@ /meam*.h /meam*.cpp -/pair_meamc.cpp -/pair_meamc.h +/pair_meam.cpp +/pair_meam.h /compute_mliap.cpp /compute_mliap.h diff --git a/src/MEAM/README b/src/MEAM/README new file mode 100644 index 0000000000..8015f6c699 --- /dev/null +++ b/src/MEAM/README @@ -0,0 +1,26 @@ +This package implements the MEAM potential as a LAMMPS pair style. + +============================================================================== + +This package is a translation and extension of the Fortran MEAM +package to native C++. + +Translation by + Sebastian Hütter, sebastian.huetter@ovgu.de + Institute of Materials and Joining Technology + Otto-von-Guericke University Magdeburg, Germany + +The original Fortran implementation was created by + Greg Wagner (while at Sandia, now at Northwestern U). + +============================================================================== + +Use "make yes-meam" to enable this package or use +-DPKG_MEAM=on when configuring building LAMMPS + + +In your LAMMPS input script, specify + pair_style meam +to enable the use of this implementation. parameters, input files and +outputs are compatible to those for the Fortran version of pair_style meam. + diff --git a/src/USER-MEAMC/meam.h b/src/MEAM/meam.h similarity index 100% rename from src/USER-MEAMC/meam.h rename to src/MEAM/meam.h diff --git a/src/USER-MEAMC/meam_dens_final.cpp b/src/MEAM/meam_dens_final.cpp similarity index 100% rename from src/USER-MEAMC/meam_dens_final.cpp rename to src/MEAM/meam_dens_final.cpp diff --git a/src/USER-MEAMC/meam_dens_init.cpp b/src/MEAM/meam_dens_init.cpp similarity index 100% rename from src/USER-MEAMC/meam_dens_init.cpp rename to src/MEAM/meam_dens_init.cpp diff --git a/src/USER-MEAMC/meam_force.cpp b/src/MEAM/meam_force.cpp similarity index 100% rename from src/USER-MEAMC/meam_force.cpp rename to src/MEAM/meam_force.cpp diff --git a/src/USER-MEAMC/meam_funcs.cpp b/src/MEAM/meam_funcs.cpp similarity index 100% rename from src/USER-MEAMC/meam_funcs.cpp rename to src/MEAM/meam_funcs.cpp diff --git a/src/USER-MEAMC/meam_impl.cpp b/src/MEAM/meam_impl.cpp similarity index 100% rename from src/USER-MEAMC/meam_impl.cpp rename to src/MEAM/meam_impl.cpp diff --git a/src/USER-MEAMC/meam_setup_done.cpp b/src/MEAM/meam_setup_done.cpp similarity index 100% rename from src/USER-MEAMC/meam_setup_done.cpp rename to src/MEAM/meam_setup_done.cpp diff --git a/src/USER-MEAMC/meam_setup_global.cpp b/src/MEAM/meam_setup_global.cpp similarity index 100% rename from src/USER-MEAMC/meam_setup_global.cpp rename to src/MEAM/meam_setup_global.cpp diff --git a/src/USER-MEAMC/meam_setup_param.cpp b/src/MEAM/meam_setup_param.cpp similarity index 100% rename from src/USER-MEAMC/meam_setup_param.cpp rename to src/MEAM/meam_setup_param.cpp diff --git a/src/USER-MEAMC/pair_meamc.cpp b/src/MEAM/pair_meam.cpp similarity index 95% rename from src/USER-MEAMC/pair_meamc.cpp rename to src/MEAM/pair_meam.cpp index a4ea3abdce..0d607b8fb2 100644 --- a/src/USER-MEAMC/pair_meamc.cpp +++ b/src/MEAM/pair_meam.cpp @@ -16,7 +16,7 @@ Contributing author: Greg Wagner (SNL) ------------------------------------------------------------------------- */ -#include "pair_meamc.h" +#include "pair_meam.h" #include "atom.h" #include "comm.h" @@ -47,7 +47,7 @@ static const char *keywords[] = { /* ---------------------------------------------------------------------- */ -PairMEAMC::PairMEAMC(LAMMPS *lmp) : Pair(lmp) +PairMEAM::PairMEAM(LAMMPS *lmp) : Pair(lmp) { single_enable = 0; restartinfo = 0; @@ -72,7 +72,7 @@ PairMEAMC::PairMEAMC(LAMMPS *lmp) : Pair(lmp) check if allocated, since class can be destructed when incomplete ------------------------------------------------------------------------- */ -PairMEAMC::~PairMEAMC() +PairMEAM::~PairMEAM() { delete meam_inst; @@ -85,7 +85,7 @@ PairMEAMC::~PairMEAMC() /* ---------------------------------------------------------------------- */ -void PairMEAMC::compute(int eflag, int vflag) +void PairMEAM::compute(int eflag, int vflag) { int i,ii,n,inum_half,errorflag; int *ilist_half,*numneigh_half,**firstneigh_half; @@ -173,7 +173,7 @@ void PairMEAMC::compute(int eflag, int vflag) /* ---------------------------------------------------------------------- */ -void PairMEAMC::allocate() +void PairMEAM::allocate() { allocated = 1; int n = atom->ntypes; @@ -189,7 +189,7 @@ void PairMEAMC::allocate() global settings ------------------------------------------------------------------------- */ -void PairMEAMC::settings(int narg, char ** /*arg*/) +void PairMEAM::settings(int narg, char ** /*arg*/) { if (narg != 0) error->all(FLERR,"Illegal pair_style command"); } @@ -198,7 +198,7 @@ void PairMEAMC::settings(int narg, char ** /*arg*/) set coeffs for one or more type pairs ------------------------------------------------------------------------- */ -void PairMEAMC::coeff(int narg, char **arg) +void PairMEAM::coeff(int narg, char **arg) { int m,n; @@ -309,7 +309,7 @@ void PairMEAMC::coeff(int narg, char **arg) init specific to this pair style ------------------------------------------------------------------------- */ -void PairMEAMC::init_style() +void PairMEAM::init_style() { if (force->newton_pair == 0) error->all(FLERR,"Pair style MEAM requires newton pair on"); @@ -329,7 +329,7 @@ void PairMEAMC::init_style() half or full ------------------------------------------------------------------------- */ -void PairMEAMC::init_list(int id, NeighList *ptr) +void PairMEAM::init_list(int id, NeighList *ptr) { if (id == 1) listfull = ptr; else if (id == 2) listhalf = ptr; @@ -339,7 +339,7 @@ void PairMEAMC::init_list(int id, NeighList *ptr) init for one type pair i,j and corresponding j,i ------------------------------------------------------------------------- */ -double PairMEAMC::init_one(int i, int j) +double PairMEAM::init_one(int i, int j) { if (setflag[i][j] == 0) scale[i][j] = 1.0; scale[j][i] = scale[i][j]; @@ -348,16 +348,16 @@ double PairMEAMC::init_one(int i, int j) /* ---------------------------------------------------------------------- */ -void PairMEAMC::read_files(const std::string &globalfile, +void PairMEAM::read_files(const std::string &globalfile, const std::string &userfile) { - read_global_meamc_file(globalfile); - read_user_meamc_file(userfile); + read_global_meam_file(globalfile); + read_user_meam_file(userfile); } /* ---------------------------------------------------------------------- */ -void PairMEAMC::read_global_meamc_file(const std::string &globalfile) +void PairMEAM::read_global_meam_file(const std::string &globalfile) { // allocate parameter arrays std::vector lat(nlibelements); @@ -498,7 +498,7 @@ void PairMEAMC::read_global_meamc_file(const std::string &globalfile) /* ---------------------------------------------------------------------- */ -void PairMEAMC::read_user_meamc_file(const std::string &userfile) +void PairMEAM::read_user_meam_file(const std::string &userfile) { // done if user param file is "NULL" @@ -577,7 +577,7 @@ void PairMEAMC::read_user_meamc_file(const std::string &userfile) /* ---------------------------------------------------------------------- */ -int PairMEAMC::pack_forward_comm(int n, int *list, double *buf, +int PairMEAM::pack_forward_comm(int n, int *list, double *buf, int /*pbc_flag*/, int * /*pbc*/) { int i,j,k,m; @@ -621,7 +621,7 @@ int PairMEAMC::pack_forward_comm(int n, int *list, double *buf, /* ---------------------------------------------------------------------- */ -void PairMEAMC::unpack_forward_comm(int n, int first, double *buf) +void PairMEAM::unpack_forward_comm(int n, int first, double *buf) { int i,k,m,last; @@ -662,7 +662,7 @@ void PairMEAMC::unpack_forward_comm(int n, int first, double *buf) /* ---------------------------------------------------------------------- */ -int PairMEAMC::pack_reverse_comm(int n, int first, double *buf) +int PairMEAM::pack_reverse_comm(int n, int first, double *buf) { int i,k,m,last; @@ -697,7 +697,7 @@ int PairMEAMC::pack_reverse_comm(int n, int first, double *buf) /* ---------------------------------------------------------------------- */ -void PairMEAMC::unpack_reverse_comm(int n, int *list, double *buf) +void PairMEAM::unpack_reverse_comm(int n, int *list, double *buf) { int i,j,k,m; @@ -732,7 +732,7 @@ void PairMEAMC::unpack_reverse_comm(int n, int *list, double *buf) memory usage of local atom-based arrays ------------------------------------------------------------------------- */ -double PairMEAMC::memory_usage() +double PairMEAM::memory_usage() { double bytes = 11 * meam_inst->nmax * sizeof(double); bytes += (double)(3 + 6 + 10 + 3 + 3 + 3) * meam_inst->nmax * sizeof(double); @@ -747,7 +747,7 @@ double PairMEAMC::memory_usage() done once per reneighbor so that neigh_f2c and neigh_c2f don't see them ------------------------------------------------------------------------- */ -void PairMEAMC::neigh_strip(int inum, int *ilist, +void PairMEAM::neigh_strip(int inum, int *ilist, int *numneigh, int **firstneigh) { int i,j,ii,jnum; @@ -763,7 +763,7 @@ void PairMEAMC::neigh_strip(int inum, int *ilist, /* ---------------------------------------------------------------------- */ -void *PairMEAMC::extract(const char *str, int &dim) +void *PairMEAM::extract(const char *str, int &dim) { dim = 2; if (strcmp(str,"scale") == 0) return (void *) scale; diff --git a/src/USER-MEAMC/pair_meamc.h b/src/MEAM/pair_meam.h similarity index 92% rename from src/USER-MEAMC/pair_meamc.h rename to src/MEAM/pair_meam.h index 08166c7bd7..06be670eb9 100644 --- a/src/USER-MEAMC/pair_meamc.h +++ b/src/MEAM/pair_meam.h @@ -13,13 +13,13 @@ #ifdef PAIR_CLASS // clang-format off -PairStyle(meam/c,PairMEAMC); -PairStyle(meam,PairMEAMC); +PairStyle(meam,PairMEAM); +PairStyle(meam/c,PairMEAM); // clang-format on #else -#ifndef LMP_PAIR_MEAMC_H -#define LMP_PAIR_MEAMC_H +#ifndef LMP_PAIR_MEAM_H +#define LMP_PAIR_MEAM_H #include "pair.h" @@ -27,10 +27,10 @@ PairStyle(meam,PairMEAMC); namespace LAMMPS_NS { -class PairMEAMC : public Pair { +class PairMEAM : public Pair { public: - PairMEAMC(class LAMMPS *); - ~PairMEAMC(); + PairMEAM(class LAMMPS *); + ~PairMEAM(); void compute(int, int); void settings(int, char **); void coeff(int, char **); @@ -56,8 +56,8 @@ class PairMEAMC : public Pair { void allocate(); void read_files(const std::string &, const std::string &); - void read_global_meamc_file(const std::string &); - void read_user_meamc_file(const std::string &); + void read_global_meam_file(const std::string &); + void read_user_meam_file(const std::string &); void neigh_strip(int, int *, int *, int **); }; diff --git a/src/Makefile b/src/Makefile index 5e3d1bba4d..a2a637126a 100644 --- a/src/Makefile +++ b/src/Makefile @@ -54,7 +54,7 @@ PACKAGE = asphere body class2 colloid compress coreshell dipole gpu \ PACKUSER = user-adios user-atc user-awpmd user-brownian user-bocs cg-dna \ cg-sdk user-colvars user-dielectric user-diffraction user-dpd user-drude \ user-eff user-fep user-h5md ml-hdnnp user-intel user-lb user-manifold \ - user-mdi user-meamc user-mesodpd user-mesont user-mgpt user-misc \ + user-mdi meam user-mesodpd user-mesont user-mgpt user-misc \ user-mofff user-molfile user-netcdf user-omp user-phonon \ ml-pace user-plumed user-ptm user-qmmm user-qtb ml-quip \ ml-rann user-reaction user-reaxc user-scafacos user-smd user-smtbq \ diff --git a/src/USER-MEAMC/README b/src/USER-MEAMC/README deleted file mode 100644 index dcb70d670c..0000000000 --- a/src/USER-MEAMC/README +++ /dev/null @@ -1,26 +0,0 @@ -This package implements the MEAM/C potential as a LAMMPS pair style. - -============================================================================== - -This package is a translation of the MEAM package to native C++. See -that package as well as the Fortran code distributed in lib/meam for -the original sources and information. - - -Translation by - Sebastian Hütter, sebastian.huetter@ovgu.de - Institute of Materials and Joining Technology - Otto-von-Guericke University Magdeburg, Germany - -The original Fortran implementation was created by - Greg Wagner (while at Sandia, now at Northwestern U). - -============================================================================== - -Use "make yes-user-meamc" to enable this package when building LAMMPS. - -In your LAMMPS input script, specify - pair_style meam/c -to enable the use of this implementation. All parameters, input files and -outputs are exactly identical to these used with pair_style meam. - diff --git a/unittest/force-styles/tests/atomic-pair-meam_c.yaml b/unittest/force-styles/tests/atomic-pair-meam.yaml similarity index 99% rename from unittest/force-styles/tests/atomic-pair-meam_c.yaml rename to unittest/force-styles/tests/atomic-pair-meam.yaml index 7d93a698e0..6f262c032a 100644 --- a/unittest/force-styles/tests/atomic-pair-meam_c.yaml +++ b/unittest/force-styles/tests/atomic-pair-meam.yaml @@ -3,13 +3,13 @@ lammps_version: 10 Feb 2021 date_generated: Fri Feb 26 23:09:03 2021 epsilon: 5e-13 prerequisites: ! | - pair meam/c + pair meam pre_commands: ! | variable newton_pair delete if "$(is_active(package,gpu)) > 0.0" then "variable newton_pair index off" else "variable newton_pair index on" post_commands: ! "" input_file: in.metal -pair_style: meam/c +pair_style: meam pair_coeff: ! | * * library.meam Al Si Mg Cu Fe AlSiMgCuFe.meam Mg Fe extract: ! | diff --git a/unittest/force-styles/tests/manybody-pair-meam_c.yaml b/unittest/force-styles/tests/manybody-pair-meam.yaml similarity index 99% rename from unittest/force-styles/tests/manybody-pair-meam_c.yaml rename to unittest/force-styles/tests/manybody-pair-meam.yaml index e2867c4dd6..4237f5ffc2 100644 --- a/unittest/force-styles/tests/manybody-pair-meam_c.yaml +++ b/unittest/force-styles/tests/manybody-pair-meam.yaml @@ -3,13 +3,13 @@ lammps_version: 10 Feb 2021 date_generated: Fri Feb 26 23:09:15 2021 epsilon: 7.5e-12 prerequisites: ! | - pair meam/c + pair meam pre_commands: ! | variable newton_pair delete if "$(is_active(package,gpu)) > 0.0" then "variable newton_pair index off" else "variable newton_pair index on" post_commands: ! "" input_file: in.manybody -pair_style: meam/c +pair_style: meam pair_coeff: ! | * * library.meam Si C SiC.meam C C C C Si Si Si Si extract: ! | From 8bf6805e1db90b09bc4fd5b0cd6e2cd62ffd9d34 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 29 Jun 2021 17:07:14 -0400 Subject: [PATCH 310/726] rename USER-LB to LATBOLTZ --- cmake/CMakeLists.txt | 4 ++-- cmake/presets/all_off.cmake | 2 +- cmake/presets/all_on.cmake | 2 +- cmake/presets/mingw-cross.cmake | 2 +- cmake/presets/nolib.cmake | 2 +- doc/src/Build_basics.rst | 2 +- doc/src/Install_windows.rst | 2 +- doc/src/Intro_authors.rst | 2 +- doc/src/Packages_details.rst | 12 ++++++------ doc/src/Packages_user.rst | 2 +- doc/src/fix_lb_fluid.rst | 2 +- doc/src/fix_lb_momentum.rst | 2 +- doc/src/fix_lb_pc.rst | 2 +- doc/src/fix_lb_rigid_pc_sphere.rst | 2 +- doc/src/fix_lb_viscous.rst | 2 +- .../confined_colloid/in.confined_colloids | 0 .../{lb => latboltz}/confined_colloid/results64.out | 0 .../{lb => latboltz}/dragforce/data.one_radius16d2 | 0 .../{lb => latboltz}/dragforce/defaultgamma_drag.out | 0 .../{lb => latboltz}/dragforce/in.defaultgamma_drag | 0 .../{lb => latboltz}/dragforce/in.setgamma_drag | 0 .../{lb => latboltz}/dragforce/setgamma13d0_drag.out | 0 .../PACKAGES/{lb => latboltz}/fourspheres/data.four | 0 .../fourspheres_velocity0d0001_defaultgamma.out | 0 .../fourspheres_velocity0d0001_setgamma.out | 0 .../fourspheres/in.fourspheres_default_gamma | 0 .../fourspheres/in.fourspheres_set_gamma | 0 .../PACKAGES/{lb => latboltz}/microrheology/data.two | 0 .../microrheology/in.microrheology_default_gamma | 0 .../microrheology/in.microrheology_set_gamma | 0 .../microrheology/microrheology_defaultgamma.out | 0 .../microrheology/microrheology_setgamma.out | 0 .../{lb => latboltz}/planewall/data.one_radius16d2 | 0 .../planewall/in.planewall_default_gamma | 0 .../planewall/in.planewall_set_gamma | 0 .../{lb => latboltz}/planewall/wall_defaultgamma.out | 0 .../{lb => latboltz}/planewall/wall_setgamma.out | 0 .../PACKAGES/{lb => latboltz}/polymer/data.polymer | 0 .../polymer/in.polymer_default_gamma | 0 .../{lb => latboltz}/polymer/in.polymer_setgamma | 0 .../polymer/out.polymer_default_gamma | 0 .../{lb => latboltz}/polymer/out.polymer_setgamma | 0 src/{USER-LB => LATBOLTZ}/README | 2 +- src/{USER-LB => LATBOLTZ}/fix_lb_fluid.cpp | 0 src/{USER-LB => LATBOLTZ}/fix_lb_fluid.h | 2 +- src/{USER-LB => LATBOLTZ}/fix_lb_momentum.cpp | 0 src/{USER-LB => LATBOLTZ}/fix_lb_momentum.h | 0 src/{USER-LB => LATBOLTZ}/fix_lb_pc.cpp | 0 src/{USER-LB => LATBOLTZ}/fix_lb_pc.h | 0 src/{USER-LB => LATBOLTZ}/fix_lb_rigid_pc_sphere.cpp | 0 src/{USER-LB => LATBOLTZ}/fix_lb_rigid_pc_sphere.h | 0 src/{USER-LB => LATBOLTZ}/fix_lb_viscous.cpp | 0 src/{USER-LB => LATBOLTZ}/fix_lb_viscous.h | 0 src/Makefile | 6 +++--- 54 files changed, 26 insertions(+), 26 deletions(-) rename examples/PACKAGES/{lb => latboltz}/confined_colloid/in.confined_colloids (100%) rename examples/PACKAGES/{lb => latboltz}/confined_colloid/results64.out (100%) rename examples/PACKAGES/{lb => latboltz}/dragforce/data.one_radius16d2 (100%) rename examples/PACKAGES/{lb => latboltz}/dragforce/defaultgamma_drag.out (100%) rename examples/PACKAGES/{lb => latboltz}/dragforce/in.defaultgamma_drag (100%) rename examples/PACKAGES/{lb => latboltz}/dragforce/in.setgamma_drag (100%) rename examples/PACKAGES/{lb => latboltz}/dragforce/setgamma13d0_drag.out (100%) rename examples/PACKAGES/{lb => latboltz}/fourspheres/data.four (100%) rename examples/PACKAGES/{lb => latboltz}/fourspheres/fourspheres_velocity0d0001_defaultgamma.out (100%) rename examples/PACKAGES/{lb => latboltz}/fourspheres/fourspheres_velocity0d0001_setgamma.out (100%) rename examples/PACKAGES/{lb => latboltz}/fourspheres/in.fourspheres_default_gamma (100%) rename examples/PACKAGES/{lb => latboltz}/fourspheres/in.fourspheres_set_gamma (100%) rename examples/PACKAGES/{lb => latboltz}/microrheology/data.two (100%) rename examples/PACKAGES/{lb => latboltz}/microrheology/in.microrheology_default_gamma (100%) rename examples/PACKAGES/{lb => latboltz}/microrheology/in.microrheology_set_gamma (100%) rename examples/PACKAGES/{lb => latboltz}/microrheology/microrheology_defaultgamma.out (100%) rename examples/PACKAGES/{lb => latboltz}/microrheology/microrheology_setgamma.out (100%) rename examples/PACKAGES/{lb => latboltz}/planewall/data.one_radius16d2 (100%) rename examples/PACKAGES/{lb => latboltz}/planewall/in.planewall_default_gamma (100%) rename examples/PACKAGES/{lb => latboltz}/planewall/in.planewall_set_gamma (100%) rename examples/PACKAGES/{lb => latboltz}/planewall/wall_defaultgamma.out (100%) rename examples/PACKAGES/{lb => latboltz}/planewall/wall_setgamma.out (100%) rename examples/PACKAGES/{lb => latboltz}/polymer/data.polymer (100%) rename examples/PACKAGES/{lb => latboltz}/polymer/in.polymer_default_gamma (100%) rename examples/PACKAGES/{lb => latboltz}/polymer/in.polymer_setgamma (100%) rename examples/PACKAGES/{lb => latboltz}/polymer/out.polymer_default_gamma (100%) rename examples/PACKAGES/{lb => latboltz}/polymer/out.polymer_setgamma (100%) rename src/{USER-LB => LATBOLTZ}/README (98%) rename src/{USER-LB => LATBOLTZ}/fix_lb_fluid.cpp (100%) rename src/{USER-LB => LATBOLTZ}/fix_lb_fluid.h (98%) rename src/{USER-LB => LATBOLTZ}/fix_lb_momentum.cpp (100%) rename src/{USER-LB => LATBOLTZ}/fix_lb_momentum.h (100%) rename src/{USER-LB => LATBOLTZ}/fix_lb_pc.cpp (100%) rename src/{USER-LB => LATBOLTZ}/fix_lb_pc.h (100%) rename src/{USER-LB => LATBOLTZ}/fix_lb_rigid_pc_sphere.cpp (100%) rename src/{USER-LB => LATBOLTZ}/fix_lb_rigid_pc_sphere.h (100%) rename src/{USER-LB => LATBOLTZ}/fix_lb_viscous.cpp (100%) rename src/{USER-LB => LATBOLTZ}/fix_lb_viscous.h (100%) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index fe5045fa15..bbb501f61b 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -143,7 +143,7 @@ set(STANDARD_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS DIPOLE PLUGIN QEQ REPLICA RIGID SHOCK SPIN ML-SNAP SRD KIM PYTHON MSCG MPIIO VORONOI USER-ADIOS USER-ATC USER-AWPMD USER-BOCS CG-DNA USER-MESODPD CG-SDK USER-COLVARS USER-DIELECTRIC USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP - USER-H5MD ML-HDNNP USER-LB USER-MANIFOLD USER-MDI MEAM USER-MESONT USER-MGPT + USER-H5MD ML-HDNNP LATBOLTZ USER-MANIFOLD USER-MDI MEAM USER-MESONT USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF USER-PHONON USER-PLUMED USER-PTM USER-QTB ML-RANN USER-REACTION USER-REAXC USER-SCAFACOS USER-SDPD USER-SMD USER-SMTBQ USER-SPH USER-TALLY USER-UEF USER-VTK ML-QUIP USER-QMMM USER-YAFF ML-PACE USER-BROWNIAN) @@ -232,7 +232,7 @@ endif() pkg_depends(ML-IAP ML-SNAP) pkg_depends(MPIIO MPI) pkg_depends(USER-ATC MANYBODY) -pkg_depends(USER-LB MPI) +pkg_depends(LATBOLTZ MPI) pkg_depends(USER-PHONON KSPACE) pkg_depends(USER-SCAFACOS MPI) pkg_depends(USER-DIELECTRIC KSPACE) diff --git a/cmake/presets/all_off.cmake b/cmake/presets/all_off.cmake index e5f5afcd67..aec190db1f 100644 --- a/cmake/presets/all_off.cmake +++ b/cmake/presets/all_off.cmake @@ -7,7 +7,7 @@ set(ALL_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU SRD VORONOI USER-ADIOS USER-ATC USER-AWPMD USER-BROWNIAN USER-BOCS CG-DNA CG-SDK USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD - ML-HDNNP USER-INTEL USER-LB USER-MANIFOLD USER-MDI MEAM USER-MESODPD + ML-HDNNP USER-INTEL LATBOLTZ USER-MANIFOLD USER-MDI MEAM USER-MESODPD USER-MESONT USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF USER-OMP ML-PACE USER-PHONON USER-PLUMED USER-PTM USER-QMMM USER-QTB ML-QUIP ML-RANN USER-REACTION USER-REAXC USER-SCAFACOS USER-SDPD USER-SMD USER-SMTBQ USER-SPH diff --git a/cmake/presets/all_on.cmake b/cmake/presets/all_on.cmake index 575c2b1575..25f3bdde27 100644 --- a/cmake/presets/all_on.cmake +++ b/cmake/presets/all_on.cmake @@ -9,7 +9,7 @@ set(ALL_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU SRD VORONOI USER-ADIOS USER-ATC USER-AWPMD USER-BROWNIAN USER-BOCS CG-DNA CG-SDK USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD - ML-HDNNP USER-INTEL USER-LB USER-MANIFOLD USER-MDI MEAM USER-MESODPD + ML-HDNNP USER-INTEL LATBOLTZ USER-MANIFOLD USER-MDI MEAM USER-MESODPD USER-MESONT USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF USER-OMP ML-PACE USER-PHONON USER-PLUMED USER-PTM USER-QMMM USER-QTB ML-QUIP ML-RANN USER-REACTION USER-REAXC USER-SCAFACOS USER-SDPD USER-SMD USER-SMTBQ USER-SPH diff --git a/cmake/presets/mingw-cross.cmake b/cmake/presets/mingw-cross.cmake index 284ab265de..a5ee3c7bf8 100644 --- a/cmake/presets/mingw-cross.cmake +++ b/cmake/presets/mingw-cross.cmake @@ -16,7 +16,7 @@ endforeach() # these two packages require a full MPI implementation if(BUILD_MPI) set(PKG_MPIIO ON CACHE BOOL "" FORCE) - set(PKG_USER-LB ON CACHE BOOL "" FORCE) + set(PKG_LATBOLTZ ON CACHE BOOL "" FORCE) endif() set(DOWNLOAD_VORO ON CACHE BOOL "" FORCE) diff --git a/cmake/presets/nolib.cmake b/cmake/presets/nolib.cmake index 9dc6e01fb3..9a45e47fa2 100644 --- a/cmake/presets/nolib.cmake +++ b/cmake/presets/nolib.cmake @@ -3,7 +3,7 @@ set(PACKAGES_WITH_LIB COMPRESS GPU KIM KOKKOS LATTE MESSAGE MPIIO MSCG PYTHON VORONOI - USER-ADIOS USER-ATC USER-AWPMD USER-H5MD ML-HDNNP USER-LB USER-MOLFILE + USER-ADIOS USER-ATC USER-AWPMD USER-H5MD ML-HDNNP LATBOLTZ USER-MOLFILE USER-MESONT USER-MDI USER-NETCDF ML-PACE USER-PLUMED USER-QMMM ML-QUIP USER-SCAFACOS USER-SMD USER-VTK) diff --git a/doc/src/Build_basics.rst b/doc/src/Build_basics.rst index f9cf713d29..79aaa48607 100644 --- a/doc/src/Build_basics.rst +++ b/doc/src/Build_basics.rst @@ -90,7 +90,7 @@ standard. A more detailed discussion of that is below. directory, or ``make`` from the ``src/STUBS`` dir. If the build fails, you may need to edit the ``STUBS/Makefile`` for your platform. The stubs library does not provide MPI/IO functions - required by some LAMMPS packages, e.g. ``MPIIO`` or ``USER-LB``, + required by some LAMMPS packages, e.g. ``MPIIO`` or ``LATBOLTZ``, and thus is not compatible with those packages. .. note:: diff --git a/doc/src/Install_windows.rst b/doc/src/Install_windows.rst index 693c5244dc..c3f256cfad 100644 --- a/doc/src/Install_windows.rst +++ b/doc/src/Install_windows.rst @@ -20,7 +20,7 @@ The LAMMPS binaries contain *all* :doc:`optional packages ` included in the source distribution except: KIM, KOKKOS, MSCG, PYTHON, USER-ADIOS, USER-H5MD, USER-NETCDF, USER-QMMM, ML-QUIP, and USER-VTK. The serial version also does not include the MPIIO and -USER-LB packages. The GPU package is compiled for OpenCL with +LATBOLTZ packages. The GPU package is compiled for OpenCL with mixed precision kernels. The LAMMPS library is compiled as a shared library and the diff --git a/doc/src/Intro_authors.rst b/doc/src/Intro_authors.rst index 6af3996d1e..c7271ec6e7 100644 --- a/doc/src/Intro_authors.rst +++ b/doc/src/Intro_authors.rst @@ -31,7 +31,7 @@ general-purpose as it is without their expertise and efforts. * Metin Aktulga (MSU), USER-REAXC package for C version of ReaxFF * Mike Brown (Intel), GPU and USER-INTEL packages -* Colin Denniston (U Western Ontario), USER-LB package +* Colin Denniston (U Western Ontario), LATBOLTZ package * Georg Ganzenmuller (EMI), USER-SMD and USER-SPH packages * Andres Jaramillo-Botero (Caltech), USER-EFF package for electron force field * Reese Jones (Sandia) and colleagues, USER-ATC package for atom/continuum coupling diff --git a/doc/src/Packages_details.rst b/doc/src/Packages_details.rst index 48766dacf7..d5bd7f56e6 100644 --- a/doc/src/Packages_details.rst +++ b/doc/src/Packages_details.rst @@ -82,7 +82,7 @@ page gives those details. * :ref:`USER-H5MD ` * :ref:`ML-HDNNP ` * :ref:`USER-INTEL ` - * :ref:`USER-LB ` + * :ref:`LATBOLTZ ` * :ref:`USER-MANIFOLD ` * :ref:`USER-MDI ` * :ref:`MEAM ` @@ -1676,9 +1676,9 @@ This package has :ref:`specific installation instructions ` on the : ---------- -.. _PKG-USER-LB: +.. _PKG-LATBOLTZ: -USER-LB package +LATBOLTZ package --------------- **Contents:** @@ -1691,12 +1691,12 @@ Ontario). **Supporting info:** -* src/USER-LB: filenames -> commands -* src/USER-LB/README +* src/LATBOLTZ: filenames -> commands +* src/LATBOLTZ/README * :doc:`fix lb/fluid ` * :doc:`fix lb/momentum ` * :doc:`fix lb/viscous ` -* examples/PACKAGES/lb +* examples/PACKAGES/latboltz ---------- diff --git a/doc/src/Packages_user.rst b/doc/src/Packages_user.rst index 86b8eb1947..194502a1b0 100644 --- a/doc/src/Packages_user.rst +++ b/doc/src/Packages_user.rst @@ -65,7 +65,7 @@ package: +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ | :ref:`USER-INTEL ` | optimized Intel CPU and KNL styles | :doc:`Speed intel ` | `Benchmarks `_ | no | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`USER-LB ` | Lattice Boltzmann fluid | :doc:`fix lb/fluid ` | USER/lb | no | +| :ref:`LATBOLTZ ` | Lattice Boltzmann fluid | :doc:`fix lb/fluid ` | USER/lb | no | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ | :ref:`USER-MANIFOLD ` | motion on 2d surfaces | :doc:`fix manifoldforce ` | USER/manifold | no | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ diff --git a/doc/src/fix_lb_fluid.rst b/doc/src/fix_lb_fluid.rst index b2b85b8f5f..127e846589 100644 --- a/doc/src/fix_lb_fluid.rst +++ b/doc/src/fix_lb_fluid.rst @@ -341,7 +341,7 @@ of this fix can be used with the *start/stop* keywords of the Restrictions """""""""""" -This fix is part of the USER-LB package. It is only enabled if LAMMPS +This fix is part of the LATBOLTZ package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. This fix can only be used with an orthogonal simulation domain. diff --git a/doc/src/fix_lb_momentum.rst b/doc/src/fix_lb_momentum.rst index 479f480e50..5a01e1916e 100644 --- a/doc/src/fix_lb_momentum.rst +++ b/doc/src/fix_lb_momentum.rst @@ -66,7 +66,7 @@ Can only be used if a lattice-Boltzmann fluid has been created via the :doc:`fix lb/fluid ` command, and must come after this command. -This fix is part of the USER-LB package. It is only enabled if LAMMPS +This fix is part of the LATBOLTZ package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/fix_lb_pc.rst b/doc/src/fix_lb_pc.rst index c6f5048126..6ba28ec309 100644 --- a/doc/src/fix_lb_pc.rst +++ b/doc/src/fix_lb_pc.rst @@ -41,7 +41,7 @@ the :doc:`run ` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" -This fix is part of the USER-LB package. It is only enabled if LAMMPS +This fix is part of the LATBOLTZ package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Can only be used if a lattice-Boltzmann fluid has been created via the diff --git a/doc/src/fix_lb_rigid_pc_sphere.rst b/doc/src/fix_lb_rigid_pc_sphere.rst index b6a19c98d5..5ee32c29f0 100644 --- a/doc/src/fix_lb_rigid_pc_sphere.rst +++ b/doc/src/fix_lb_rigid_pc_sphere.rst @@ -139,7 +139,7 @@ of the :doc:`run ` command. These fixes are not invoked during Restrictions """""""""""" -This fix is part of the USER-LB package. It is only enabled if LAMMPS +This fix is part of the LATBOLTZ package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. diff --git a/doc/src/fix_lb_viscous.rst b/doc/src/fix_lb_viscous.rst index da8922c92f..5bd6889808 100644 --- a/doc/src/fix_lb_viscous.rst +++ b/doc/src/fix_lb_viscous.rst @@ -71,7 +71,7 @@ for details." Restrictions """""""""""" -This fix is part of the USER-LB package. It is only enabled if LAMMPS +This fix is part of the LATBOLTZ package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Can only be used if a lattice-Boltzmann fluid has been created via the diff --git a/examples/PACKAGES/lb/confined_colloid/in.confined_colloids b/examples/PACKAGES/latboltz/confined_colloid/in.confined_colloids similarity index 100% rename from examples/PACKAGES/lb/confined_colloid/in.confined_colloids rename to examples/PACKAGES/latboltz/confined_colloid/in.confined_colloids diff --git a/examples/PACKAGES/lb/confined_colloid/results64.out b/examples/PACKAGES/latboltz/confined_colloid/results64.out similarity index 100% rename from examples/PACKAGES/lb/confined_colloid/results64.out rename to examples/PACKAGES/latboltz/confined_colloid/results64.out diff --git a/examples/PACKAGES/lb/dragforce/data.one_radius16d2 b/examples/PACKAGES/latboltz/dragforce/data.one_radius16d2 similarity index 100% rename from examples/PACKAGES/lb/dragforce/data.one_radius16d2 rename to examples/PACKAGES/latboltz/dragforce/data.one_radius16d2 diff --git a/examples/PACKAGES/lb/dragforce/defaultgamma_drag.out b/examples/PACKAGES/latboltz/dragforce/defaultgamma_drag.out similarity index 100% rename from examples/PACKAGES/lb/dragforce/defaultgamma_drag.out rename to examples/PACKAGES/latboltz/dragforce/defaultgamma_drag.out diff --git a/examples/PACKAGES/lb/dragforce/in.defaultgamma_drag b/examples/PACKAGES/latboltz/dragforce/in.defaultgamma_drag similarity index 100% rename from examples/PACKAGES/lb/dragforce/in.defaultgamma_drag rename to examples/PACKAGES/latboltz/dragforce/in.defaultgamma_drag diff --git a/examples/PACKAGES/lb/dragforce/in.setgamma_drag b/examples/PACKAGES/latboltz/dragforce/in.setgamma_drag similarity index 100% rename from examples/PACKAGES/lb/dragforce/in.setgamma_drag rename to examples/PACKAGES/latboltz/dragforce/in.setgamma_drag diff --git a/examples/PACKAGES/lb/dragforce/setgamma13d0_drag.out b/examples/PACKAGES/latboltz/dragforce/setgamma13d0_drag.out similarity index 100% rename from examples/PACKAGES/lb/dragforce/setgamma13d0_drag.out rename to examples/PACKAGES/latboltz/dragforce/setgamma13d0_drag.out diff --git a/examples/PACKAGES/lb/fourspheres/data.four b/examples/PACKAGES/latboltz/fourspheres/data.four similarity index 100% rename from examples/PACKAGES/lb/fourspheres/data.four rename to examples/PACKAGES/latboltz/fourspheres/data.four diff --git a/examples/PACKAGES/lb/fourspheres/fourspheres_velocity0d0001_defaultgamma.out b/examples/PACKAGES/latboltz/fourspheres/fourspheres_velocity0d0001_defaultgamma.out similarity index 100% rename from examples/PACKAGES/lb/fourspheres/fourspheres_velocity0d0001_defaultgamma.out rename to examples/PACKAGES/latboltz/fourspheres/fourspheres_velocity0d0001_defaultgamma.out diff --git a/examples/PACKAGES/lb/fourspheres/fourspheres_velocity0d0001_setgamma.out b/examples/PACKAGES/latboltz/fourspheres/fourspheres_velocity0d0001_setgamma.out similarity index 100% rename from examples/PACKAGES/lb/fourspheres/fourspheres_velocity0d0001_setgamma.out rename to examples/PACKAGES/latboltz/fourspheres/fourspheres_velocity0d0001_setgamma.out diff --git a/examples/PACKAGES/lb/fourspheres/in.fourspheres_default_gamma b/examples/PACKAGES/latboltz/fourspheres/in.fourspheres_default_gamma similarity index 100% rename from examples/PACKAGES/lb/fourspheres/in.fourspheres_default_gamma rename to examples/PACKAGES/latboltz/fourspheres/in.fourspheres_default_gamma diff --git a/examples/PACKAGES/lb/fourspheres/in.fourspheres_set_gamma b/examples/PACKAGES/latboltz/fourspheres/in.fourspheres_set_gamma similarity index 100% rename from examples/PACKAGES/lb/fourspheres/in.fourspheres_set_gamma rename to examples/PACKAGES/latboltz/fourspheres/in.fourspheres_set_gamma diff --git a/examples/PACKAGES/lb/microrheology/data.two b/examples/PACKAGES/latboltz/microrheology/data.two similarity index 100% rename from examples/PACKAGES/lb/microrheology/data.two rename to examples/PACKAGES/latboltz/microrheology/data.two diff --git a/examples/PACKAGES/lb/microrheology/in.microrheology_default_gamma b/examples/PACKAGES/latboltz/microrheology/in.microrheology_default_gamma similarity index 100% rename from examples/PACKAGES/lb/microrheology/in.microrheology_default_gamma rename to examples/PACKAGES/latboltz/microrheology/in.microrheology_default_gamma diff --git a/examples/PACKAGES/lb/microrheology/in.microrheology_set_gamma b/examples/PACKAGES/latboltz/microrheology/in.microrheology_set_gamma similarity index 100% rename from examples/PACKAGES/lb/microrheology/in.microrheology_set_gamma rename to examples/PACKAGES/latboltz/microrheology/in.microrheology_set_gamma diff --git a/examples/PACKAGES/lb/microrheology/microrheology_defaultgamma.out b/examples/PACKAGES/latboltz/microrheology/microrheology_defaultgamma.out similarity index 100% rename from examples/PACKAGES/lb/microrheology/microrheology_defaultgamma.out rename to examples/PACKAGES/latboltz/microrheology/microrheology_defaultgamma.out diff --git a/examples/PACKAGES/lb/microrheology/microrheology_setgamma.out b/examples/PACKAGES/latboltz/microrheology/microrheology_setgamma.out similarity index 100% rename from examples/PACKAGES/lb/microrheology/microrheology_setgamma.out rename to examples/PACKAGES/latboltz/microrheology/microrheology_setgamma.out diff --git a/examples/PACKAGES/lb/planewall/data.one_radius16d2 b/examples/PACKAGES/latboltz/planewall/data.one_radius16d2 similarity index 100% rename from examples/PACKAGES/lb/planewall/data.one_radius16d2 rename to examples/PACKAGES/latboltz/planewall/data.one_radius16d2 diff --git a/examples/PACKAGES/lb/planewall/in.planewall_default_gamma b/examples/PACKAGES/latboltz/planewall/in.planewall_default_gamma similarity index 100% rename from examples/PACKAGES/lb/planewall/in.planewall_default_gamma rename to examples/PACKAGES/latboltz/planewall/in.planewall_default_gamma diff --git a/examples/PACKAGES/lb/planewall/in.planewall_set_gamma b/examples/PACKAGES/latboltz/planewall/in.planewall_set_gamma similarity index 100% rename from examples/PACKAGES/lb/planewall/in.planewall_set_gamma rename to examples/PACKAGES/latboltz/planewall/in.planewall_set_gamma diff --git a/examples/PACKAGES/lb/planewall/wall_defaultgamma.out b/examples/PACKAGES/latboltz/planewall/wall_defaultgamma.out similarity index 100% rename from examples/PACKAGES/lb/planewall/wall_defaultgamma.out rename to examples/PACKAGES/latboltz/planewall/wall_defaultgamma.out diff --git a/examples/PACKAGES/lb/planewall/wall_setgamma.out b/examples/PACKAGES/latboltz/planewall/wall_setgamma.out similarity index 100% rename from examples/PACKAGES/lb/planewall/wall_setgamma.out rename to examples/PACKAGES/latboltz/planewall/wall_setgamma.out diff --git a/examples/PACKAGES/lb/polymer/data.polymer b/examples/PACKAGES/latboltz/polymer/data.polymer similarity index 100% rename from examples/PACKAGES/lb/polymer/data.polymer rename to examples/PACKAGES/latboltz/polymer/data.polymer diff --git a/examples/PACKAGES/lb/polymer/in.polymer_default_gamma b/examples/PACKAGES/latboltz/polymer/in.polymer_default_gamma similarity index 100% rename from examples/PACKAGES/lb/polymer/in.polymer_default_gamma rename to examples/PACKAGES/latboltz/polymer/in.polymer_default_gamma diff --git a/examples/PACKAGES/lb/polymer/in.polymer_setgamma b/examples/PACKAGES/latboltz/polymer/in.polymer_setgamma similarity index 100% rename from examples/PACKAGES/lb/polymer/in.polymer_setgamma rename to examples/PACKAGES/latboltz/polymer/in.polymer_setgamma diff --git a/examples/PACKAGES/lb/polymer/out.polymer_default_gamma b/examples/PACKAGES/latboltz/polymer/out.polymer_default_gamma similarity index 100% rename from examples/PACKAGES/lb/polymer/out.polymer_default_gamma rename to examples/PACKAGES/latboltz/polymer/out.polymer_default_gamma diff --git a/examples/PACKAGES/lb/polymer/out.polymer_setgamma b/examples/PACKAGES/latboltz/polymer/out.polymer_setgamma similarity index 100% rename from examples/PACKAGES/lb/polymer/out.polymer_setgamma rename to examples/PACKAGES/latboltz/polymer/out.polymer_setgamma diff --git a/src/USER-LB/README b/src/LATBOLTZ/README similarity index 98% rename from src/USER-LB/README rename to src/LATBOLTZ/README index beac7da7f3..6f2e06178c 100644 --- a/src/USER-LB/README +++ b/src/LATBOLTZ/README @@ -16,7 +16,7 @@ brief descriptions of other fixes below, each of which have their own doc page. There are example scripts for using this package in -examples/PACKAGES/lb. +examples/PACKAGES/latboltz. IMPORTANT NOTE: This package can only be used if LAMMPS is compiled with MPI (i.e. the serial makefile should not be used to compile the diff --git a/src/USER-LB/fix_lb_fluid.cpp b/src/LATBOLTZ/fix_lb_fluid.cpp similarity index 100% rename from src/USER-LB/fix_lb_fluid.cpp rename to src/LATBOLTZ/fix_lb_fluid.cpp diff --git a/src/USER-LB/fix_lb_fluid.h b/src/LATBOLTZ/fix_lb_fluid.h similarity index 98% rename from src/USER-LB/fix_lb_fluid.h rename to src/LATBOLTZ/fix_lb_fluid.h index 3b0ce872ba..0842acbe64 100644 --- a/src/USER-LB/fix_lb_fluid.h +++ b/src/LATBOLTZ/fix_lb_fluid.h @@ -23,7 +23,7 @@ FixStyle(lb/fluid,FixLbFluid); #include "fix.h" #if defined(MPI_STUBS) -#error "The USER-LB package cannot be compiled in serial with MPI STUBS" +#error "The LATBOLTZ package cannot be compiled in serial with MPI STUBS" #endif namespace LAMMPS_NS { diff --git a/src/USER-LB/fix_lb_momentum.cpp b/src/LATBOLTZ/fix_lb_momentum.cpp similarity index 100% rename from src/USER-LB/fix_lb_momentum.cpp rename to src/LATBOLTZ/fix_lb_momentum.cpp diff --git a/src/USER-LB/fix_lb_momentum.h b/src/LATBOLTZ/fix_lb_momentum.h similarity index 100% rename from src/USER-LB/fix_lb_momentum.h rename to src/LATBOLTZ/fix_lb_momentum.h diff --git a/src/USER-LB/fix_lb_pc.cpp b/src/LATBOLTZ/fix_lb_pc.cpp similarity index 100% rename from src/USER-LB/fix_lb_pc.cpp rename to src/LATBOLTZ/fix_lb_pc.cpp diff --git a/src/USER-LB/fix_lb_pc.h b/src/LATBOLTZ/fix_lb_pc.h similarity index 100% rename from src/USER-LB/fix_lb_pc.h rename to src/LATBOLTZ/fix_lb_pc.h diff --git a/src/USER-LB/fix_lb_rigid_pc_sphere.cpp b/src/LATBOLTZ/fix_lb_rigid_pc_sphere.cpp similarity index 100% rename from src/USER-LB/fix_lb_rigid_pc_sphere.cpp rename to src/LATBOLTZ/fix_lb_rigid_pc_sphere.cpp diff --git a/src/USER-LB/fix_lb_rigid_pc_sphere.h b/src/LATBOLTZ/fix_lb_rigid_pc_sphere.h similarity index 100% rename from src/USER-LB/fix_lb_rigid_pc_sphere.h rename to src/LATBOLTZ/fix_lb_rigid_pc_sphere.h diff --git a/src/USER-LB/fix_lb_viscous.cpp b/src/LATBOLTZ/fix_lb_viscous.cpp similarity index 100% rename from src/USER-LB/fix_lb_viscous.cpp rename to src/LATBOLTZ/fix_lb_viscous.cpp diff --git a/src/USER-LB/fix_lb_viscous.h b/src/LATBOLTZ/fix_lb_viscous.h similarity index 100% rename from src/USER-LB/fix_lb_viscous.h rename to src/LATBOLTZ/fix_lb_viscous.h diff --git a/src/Makefile b/src/Makefile index a2a637126a..8ddea9a05f 100644 --- a/src/Makefile +++ b/src/Makefile @@ -53,7 +53,7 @@ PACKAGE = asphere body class2 colloid compress coreshell dipole gpu \ PACKUSER = user-adios user-atc user-awpmd user-brownian user-bocs cg-dna \ cg-sdk user-colvars user-dielectric user-diffraction user-dpd user-drude \ - user-eff user-fep user-h5md ml-hdnnp user-intel user-lb user-manifold \ + user-eff user-fep user-h5md ml-hdnnp user-intel latboltz user-manifold \ user-mdi meam user-mesodpd user-mesont user-mgpt user-misc \ user-mofff user-molfile user-netcdf user-omp user-phonon \ ml-pace user-plumed user-ptm user-qmmm user-qtb ml-quip \ @@ -61,11 +61,11 @@ PACKUSER = user-adios user-atc user-awpmd user-brownian user-bocs cg-dna \ user-sdpd user-sph user-tally user-uef user-vtk user-yaff PACKLIB = compress gpu kim kokkos latte message mpiio mscg poems python voronoi \ - user-adios user-atc user-awpmd user-colvars user-h5md ml-hdnnp user-lb user-mdi \ + user-adios user-atc user-awpmd user-colvars user-h5md ml-hdnnp latboltz user-mdi \ user-mesont user-molfile user-netcdf ml-pace user-plumed user-qmmm ml-quip \ user-scafacos user-smd user-vtk -PACKSYS = compress mpiio python user-lb +PACKSYS = compress mpiio python latboltz PACKINT = gpu kokkos message poems user-atc user-awpmd user-colvars user-mesont \ user-mdi From c085e55695c3e26ba587c997b05507ec3adfb631 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 29 Jun 2021 17:18:35 -0400 Subject: [PATCH 311/726] rename USER-SMD package to MACHDYN --- cmake/CMakeLists.txt | 4 ++-- .../{USER-SMD.cmake => MACHDYN.cmake} | 0 cmake/presets/all_off.cmake | 2 +- cmake/presets/all_on.cmake | 2 +- cmake/presets/download.cmake | 2 +- cmake/presets/mingw-cross.cmake | 2 +- cmake/presets/most.cmake | 2 +- cmake/presets/nolib.cmake | 2 +- doc/src/Build_extras.rst | 6 +++--- doc/src/Build_package.rst | 2 +- doc/src/Intro_authors.rst | 2 +- ...guide.pdf => MACHDYN_LAMMPS_userguide.pdf} | Bin doc/src/Packages_details.rst | 18 +++++++++--------- doc/src/Packages_user.rst | 2 +- doc/src/Tools.rst | 4 ++-- doc/src/compute_smd_contact_radius.rst | 2 +- doc/src/compute_smd_damage.rst | 2 +- doc/src/compute_smd_hourglass_error.rst | 2 +- doc/src/compute_smd_internal_energy.rst | 2 +- doc/src/compute_smd_plastic_strain.rst | 2 +- doc/src/compute_smd_plastic_strain_rate.rst | 2 +- doc/src/compute_smd_rho.rst | 2 +- doc/src/compute_smd_tlsph_defgrad.rst | 2 +- doc/src/compute_smd_tlsph_dt.rst | 2 +- doc/src/compute_smd_tlsph_num_neighs.rst | 2 +- doc/src/compute_smd_tlsph_shape.rst | 2 +- doc/src/compute_smd_tlsph_strain.rst | 2 +- doc/src/compute_smd_tlsph_strain_rate.rst | 2 +- doc/src/compute_smd_tlsph_stress.rst | 2 +- doc/src/compute_smd_triangle_vertices.rst | 2 +- doc/src/compute_smd_ulsph_effm.rst | 2 +- doc/src/compute_smd_ulsph_num_neighs.rst | 2 +- doc/src/compute_smd_ulsph_strain.rst | 2 +- doc/src/compute_smd_ulsph_strain_rate.rst | 2 +- doc/src/compute_smd_ulsph_stress.rst | 2 +- doc/src/compute_smd_vol.rst | 2 +- doc/src/fix_smd_adjust_dt.rst | 4 ++-- doc/src/fix_smd_integrate_tlsph.rst | 4 ++-- doc/src/fix_smd_integrate_ulsph.rst | 4 ++-- doc/src/fix_smd_move_triangulated_surface.rst | 4 ++-- doc/src/fix_smd_setvel.rst | 4 ++-- doc/src/fix_smd_wall_surface.rst | 6 +++--- doc/src/pair_smd_hertz.rst | 4 ++-- doc/src/pair_smd_tlsph.rst | 4 ++-- doc/src/pair_smd_triangulated_surface.rst | 4 ++-- doc/src/pair_smd_ulsph.rst | 4 ++-- doc/src/set.rst | 4 ++-- examples/PACKAGES/{smd => machdyn}/README | 0 .../in.aluminum_strip_pull | 0 .../log.9Oct20.aluminum_strip_pull.g++.1 | 0 .../log.9Oct20.aluminum_strip_pull.g++.4 | 0 .../in.fluid_structure_interaction | 0 ...g.9Oct20.fluid_structure_interaction.g++.1 | 0 ...g.9Oct20.fluid_structure_interaction.g++.4 | 0 .../{smd => machdyn}/funnel_flow/boundary.stl | 0 .../funnel_flow/in.funnel_flow | 0 .../funnel_flow/log.9Oct20.funnel_flow.g++.1 | 0 .../funnel_flow/log.9Oct20.funnel_flow.g++.4 | 0 .../rubber_rings_3d/in.rubber_rings_3d | 0 .../log.9Oct20.rubber_rings_3d.g++.1 | 0 .../log.9Oct20.rubber_rings_3d.g++.4 | 0 .../rubber_rings_3d/washer_hex_adjusted.data | 0 .../rubber_strip_pull/in.rubber_strip_pull | 0 .../log.9Oct20.rubber_strip_pull.g++.1 | 0 .../log.9Oct20.rubber_strip_pull.g++.4 | 0 .../rubber_strip_pull/plot.gpl | 0 lib/README | 2 +- lib/{smd => machdyn}/.gitignore | 0 lib/{smd => machdyn}/Install.py | 0 lib/machdyn/Makefile.lammps | 5 +++++ lib/{smd => machdyn}/README | 6 +++--- lib/smd/Makefile.lammps | 5 ----- src/{USER-SMD => MACHDYN}/Install.sh | 18 +++++++++--------- src/{USER-SMD => MACHDYN}/README | 2 +- src/{USER-SMD => MACHDYN}/atom_vec_smd.cpp | 2 +- src/{USER-SMD => MACHDYN}/atom_vec_smd.h | 2 +- .../compute_smd_contact_radius.cpp | 2 +- .../compute_smd_contact_radius.h | 2 +- .../compute_smd_damage.cpp | 2 +- .../compute_smd_damage.h | 2 +- .../compute_smd_hourglass_error.cpp | 2 +- .../compute_smd_hourglass_error.h | 2 +- .../compute_smd_internal_energy.cpp | 2 +- .../compute_smd_internal_energy.h | 2 +- .../compute_smd_plastic_strain.cpp | 2 +- .../compute_smd_plastic_strain.h | 2 +- .../compute_smd_plastic_strain_rate.cpp | 2 +- .../compute_smd_plastic_strain_rate.h | 2 +- src/{USER-SMD => MACHDYN}/compute_smd_rho.cpp | 2 +- src/{USER-SMD => MACHDYN}/compute_smd_rho.h | 2 +- .../compute_smd_tlsph_defgrad.cpp | 2 +- .../compute_smd_tlsph_defgrad.h | 2 +- .../compute_smd_tlsph_dt.cpp | 2 +- .../compute_smd_tlsph_dt.h | 2 +- .../compute_smd_tlsph_num_neighs.cpp | 2 +- .../compute_smd_tlsph_num_neighs.h | 2 +- .../compute_smd_tlsph_shape.cpp | 2 +- .../compute_smd_tlsph_shape.h | 2 +- .../compute_smd_tlsph_strain.cpp | 2 +- .../compute_smd_tlsph_strain.h | 2 +- .../compute_smd_tlsph_strain_rate.cpp | 2 +- .../compute_smd_tlsph_strain_rate.h | 2 +- .../compute_smd_tlsph_stress.cpp | 2 +- .../compute_smd_tlsph_stress.h | 2 +- .../compute_smd_triangle_vertices.cpp | 2 +- .../compute_smd_triangle_vertices.h | 2 +- .../compute_smd_ulsph_effm.cpp | 2 +- .../compute_smd_ulsph_effm.h | 2 +- .../compute_smd_ulsph_num_neighs.cpp | 2 +- .../compute_smd_ulsph_num_neighs.h | 2 +- .../compute_smd_ulsph_strain.cpp | 2 +- .../compute_smd_ulsph_strain.h | 2 +- .../compute_smd_ulsph_strain_rate.cpp | 2 +- .../compute_smd_ulsph_strain_rate.h | 2 +- .../compute_smd_ulsph_stress.cpp | 2 +- .../compute_smd_ulsph_stress.h | 2 +- src/{USER-SMD => MACHDYN}/compute_smd_vol.cpp | 2 +- src/{USER-SMD => MACHDYN}/compute_smd_vol.h | 2 +- .../fix_smd_adjust_dt.cpp | 2 +- src/{USER-SMD => MACHDYN}/fix_smd_adjust_dt.h | 2 +- .../fix_smd_integrate_tlsph.cpp | 2 +- .../fix_smd_integrate_tlsph.h | 2 +- .../fix_smd_integrate_ulsph.cpp | 2 +- .../fix_smd_integrate_ulsph.h | 2 +- .../fix_smd_move_triangulated_surface.cpp | 2 +- .../fix_smd_move_triangulated_surface.h | 2 +- src/{USER-SMD => MACHDYN}/fix_smd_setvel.cpp | 2 +- src/{USER-SMD => MACHDYN}/fix_smd_setvel.h | 2 +- .../fix_smd_tlsph_reference_configuration.cpp | 2 +- .../fix_smd_tlsph_reference_configuration.h | 2 +- .../fix_smd_wall_surface.cpp | 0 .../fix_smd_wall_surface.h | 0 src/{USER-SMD => MACHDYN}/pair_smd_hertz.cpp | 2 +- src/{USER-SMD => MACHDYN}/pair_smd_hertz.h | 2 +- src/{USER-SMD => MACHDYN}/pair_smd_tlsph.cpp | 2 +- src/{USER-SMD => MACHDYN}/pair_smd_tlsph.h | 2 +- .../pair_smd_triangulated_surface.cpp | 2 +- .../pair_smd_triangulated_surface.h | 2 +- src/{USER-SMD => MACHDYN}/pair_smd_ulsph.cpp | 2 +- src/{USER-SMD => MACHDYN}/pair_smd_ulsph.h | 2 +- src/{USER-SMD => MACHDYN}/smd_kernels.h | 2 +- .../smd_material_models.cpp | 2 +- .../smd_material_models.h | 2 +- src/{USER-SMD => MACHDYN}/smd_math.h | 2 +- src/Makefile | 6 +++--- src/atom.cpp | 4 ++-- src/atom.h | 4 ++-- unittest/cplusplus/test_lammps_class.cpp | 2 +- 148 files changed, 164 insertions(+), 164 deletions(-) rename cmake/Modules/Packages/{USER-SMD.cmake => MACHDYN.cmake} (100%) rename doc/src/PDF/{SMD_LAMMPS_userguide.pdf => MACHDYN_LAMMPS_userguide.pdf} (100%) rename examples/PACKAGES/{smd => machdyn}/README (100%) rename examples/PACKAGES/{smd => machdyn}/aluminum_strip_pull/in.aluminum_strip_pull (100%) rename examples/PACKAGES/{smd => machdyn}/aluminum_strip_pull/log.9Oct20.aluminum_strip_pull.g++.1 (100%) rename examples/PACKAGES/{smd => machdyn}/aluminum_strip_pull/log.9Oct20.aluminum_strip_pull.g++.4 (100%) rename examples/PACKAGES/{smd => machdyn}/fluid_structure_interaction/in.fluid_structure_interaction (100%) rename examples/PACKAGES/{smd => machdyn}/fluid_structure_interaction/log.9Oct20.fluid_structure_interaction.g++.1 (100%) rename examples/PACKAGES/{smd => machdyn}/fluid_structure_interaction/log.9Oct20.fluid_structure_interaction.g++.4 (100%) rename examples/PACKAGES/{smd => machdyn}/funnel_flow/boundary.stl (100%) rename examples/PACKAGES/{smd => machdyn}/funnel_flow/in.funnel_flow (100%) rename examples/PACKAGES/{smd => machdyn}/funnel_flow/log.9Oct20.funnel_flow.g++.1 (100%) rename examples/PACKAGES/{smd => machdyn}/funnel_flow/log.9Oct20.funnel_flow.g++.4 (100%) rename examples/PACKAGES/{smd => machdyn}/rubber_rings_3d/in.rubber_rings_3d (100%) rename examples/PACKAGES/{smd => machdyn}/rubber_rings_3d/log.9Oct20.rubber_rings_3d.g++.1 (100%) rename examples/PACKAGES/{smd => machdyn}/rubber_rings_3d/log.9Oct20.rubber_rings_3d.g++.4 (100%) rename examples/PACKAGES/{smd => machdyn}/rubber_rings_3d/washer_hex_adjusted.data (100%) rename examples/PACKAGES/{smd => machdyn}/rubber_strip_pull/in.rubber_strip_pull (100%) rename examples/PACKAGES/{smd => machdyn}/rubber_strip_pull/log.9Oct20.rubber_strip_pull.g++.1 (100%) rename examples/PACKAGES/{smd => machdyn}/rubber_strip_pull/log.9Oct20.rubber_strip_pull.g++.4 (100%) rename examples/PACKAGES/{smd => machdyn}/rubber_strip_pull/plot.gpl (100%) rename lib/{smd => machdyn}/.gitignore (100%) rename lib/{smd => machdyn}/Install.py (100%) create mode 100644 lib/machdyn/Makefile.lammps rename lib/{smd => machdyn}/README (94%) delete mode 100644 lib/smd/Makefile.lammps rename src/{USER-SMD => MACHDYN}/Install.sh (61%) rename src/{USER-SMD => MACHDYN}/README (98%) rename src/{USER-SMD => MACHDYN}/atom_vec_smd.cpp (99%) rename src/{USER-SMD => MACHDYN}/atom_vec_smd.h (97%) rename src/{USER-SMD => MACHDYN}/compute_smd_contact_radius.cpp (98%) rename src/{USER-SMD => MACHDYN}/compute_smd_contact_radius.h (96%) rename src/{USER-SMD => MACHDYN}/compute_smd_damage.cpp (98%) rename src/{USER-SMD => MACHDYN}/compute_smd_damage.h (96%) rename src/{USER-SMD => MACHDYN}/compute_smd_hourglass_error.cpp (98%) rename src/{USER-SMD => MACHDYN}/compute_smd_hourglass_error.h (96%) rename src/{USER-SMD => MACHDYN}/compute_smd_internal_energy.cpp (98%) rename src/{USER-SMD => MACHDYN}/compute_smd_internal_energy.h (96%) rename src/{USER-SMD => MACHDYN}/compute_smd_plastic_strain.cpp (98%) rename src/{USER-SMD => MACHDYN}/compute_smd_plastic_strain.h (96%) rename src/{USER-SMD => MACHDYN}/compute_smd_plastic_strain_rate.cpp (98%) rename src/{USER-SMD => MACHDYN}/compute_smd_plastic_strain_rate.h (96%) rename src/{USER-SMD => MACHDYN}/compute_smd_rho.cpp (98%) rename src/{USER-SMD => MACHDYN}/compute_smd_rho.h (96%) rename src/{USER-SMD => MACHDYN}/compute_smd_tlsph_defgrad.cpp (98%) rename src/{USER-SMD => MACHDYN}/compute_smd_tlsph_defgrad.h (96%) rename src/{USER-SMD => MACHDYN}/compute_smd_tlsph_dt.cpp (98%) rename src/{USER-SMD => MACHDYN}/compute_smd_tlsph_dt.h (96%) rename src/{USER-SMD => MACHDYN}/compute_smd_tlsph_num_neighs.cpp (98%) rename src/{USER-SMD => MACHDYN}/compute_smd_tlsph_num_neighs.h (97%) rename src/{USER-SMD => MACHDYN}/compute_smd_tlsph_shape.cpp (98%) rename src/{USER-SMD => MACHDYN}/compute_smd_tlsph_shape.h (96%) rename src/{USER-SMD => MACHDYN}/compute_smd_tlsph_strain.cpp (98%) rename src/{USER-SMD => MACHDYN}/compute_smd_tlsph_strain.h (96%) rename src/{USER-SMD => MACHDYN}/compute_smd_tlsph_strain_rate.cpp (98%) rename src/{USER-SMD => MACHDYN}/compute_smd_tlsph_strain_rate.h (96%) rename src/{USER-SMD => MACHDYN}/compute_smd_tlsph_stress.cpp (98%) rename src/{USER-SMD => MACHDYN}/compute_smd_tlsph_stress.h (96%) rename src/{USER-SMD => MACHDYN}/compute_smd_triangle_vertices.cpp (98%) rename src/{USER-SMD => MACHDYN}/compute_smd_triangle_vertices.h (96%) rename src/{USER-SMD => MACHDYN}/compute_smd_ulsph_effm.cpp (98%) rename src/{USER-SMD => MACHDYN}/compute_smd_ulsph_effm.h (96%) rename src/{USER-SMD => MACHDYN}/compute_smd_ulsph_num_neighs.cpp (98%) rename src/{USER-SMD => MACHDYN}/compute_smd_ulsph_num_neighs.h (97%) rename src/{USER-SMD => MACHDYN}/compute_smd_ulsph_strain.cpp (98%) rename src/{USER-SMD => MACHDYN}/compute_smd_ulsph_strain.h (96%) rename src/{USER-SMD => MACHDYN}/compute_smd_ulsph_strain_rate.cpp (98%) rename src/{USER-SMD => MACHDYN}/compute_smd_ulsph_strain_rate.h (96%) rename src/{USER-SMD => MACHDYN}/compute_smd_ulsph_stress.cpp (98%) rename src/{USER-SMD => MACHDYN}/compute_smd_ulsph_stress.h (96%) rename src/{USER-SMD => MACHDYN}/compute_smd_vol.cpp (98%) rename src/{USER-SMD => MACHDYN}/compute_smd_vol.h (96%) rename src/{USER-SMD => MACHDYN}/fix_smd_adjust_dt.cpp (99%) rename src/{USER-SMD => MACHDYN}/fix_smd_adjust_dt.h (97%) rename src/{USER-SMD => MACHDYN}/fix_smd_integrate_tlsph.cpp (99%) rename src/{USER-SMD => MACHDYN}/fix_smd_integrate_tlsph.h (97%) rename src/{USER-SMD => MACHDYN}/fix_smd_integrate_ulsph.cpp (99%) rename src/{USER-SMD => MACHDYN}/fix_smd_integrate_ulsph.h (96%) rename src/{USER-SMD => MACHDYN}/fix_smd_move_triangulated_surface.cpp (99%) rename src/{USER-SMD => MACHDYN}/fix_smd_move_triangulated_surface.h (97%) rename src/{USER-SMD => MACHDYN}/fix_smd_setvel.cpp (99%) rename src/{USER-SMD => MACHDYN}/fix_smd_setvel.h (97%) rename src/{USER-SMD => MACHDYN}/fix_smd_tlsph_reference_configuration.cpp (99%) rename src/{USER-SMD => MACHDYN}/fix_smd_tlsph_reference_configuration.h (97%) rename src/{USER-SMD => MACHDYN}/fix_smd_wall_surface.cpp (100%) rename src/{USER-SMD => MACHDYN}/fix_smd_wall_surface.h (100%) rename src/{USER-SMD => MACHDYN}/pair_smd_hertz.cpp (99%) rename src/{USER-SMD => MACHDYN}/pair_smd_hertz.h (97%) rename src/{USER-SMD => MACHDYN}/pair_smd_tlsph.cpp (99%) rename src/{USER-SMD => MACHDYN}/pair_smd_tlsph.h (99%) rename src/{USER-SMD => MACHDYN}/pair_smd_triangulated_surface.cpp (99%) rename src/{USER-SMD => MACHDYN}/pair_smd_triangulated_surface.h (97%) rename src/{USER-SMD => MACHDYN}/pair_smd_ulsph.cpp (99%) rename src/{USER-SMD => MACHDYN}/pair_smd_ulsph.h (98%) rename src/{USER-SMD => MACHDYN}/smd_kernels.h (98%) rename src/{USER-SMD => MACHDYN}/smd_material_models.cpp (99%) rename src/{USER-SMD => MACHDYN}/smd_material_models.h (98%) rename src/{USER-SMD => MACHDYN}/smd_math.h (99%) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index bbb501f61b..656cc4d856 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -145,7 +145,7 @@ set(STANDARD_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS DIPOLE USER-COLVARS USER-DIELECTRIC USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD ML-HDNNP LATBOLTZ USER-MANIFOLD USER-MDI MEAM USER-MESONT USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF USER-PHONON USER-PLUMED USER-PTM USER-QTB - ML-RANN USER-REACTION USER-REAXC USER-SCAFACOS USER-SDPD USER-SMD USER-SMTBQ USER-SPH + ML-RANN USER-REACTION USER-REAXC USER-SCAFACOS USER-SDPD MACHDYN USER-SMTBQ USER-SPH USER-TALLY USER-UEF USER-VTK ML-QUIP USER-QMMM USER-YAFF ML-PACE USER-BROWNIAN) set(SUFFIX_PACKAGES CORESHELL GPU KOKKOS OPT USER-INTEL USER-OMP) @@ -351,7 +351,7 @@ else() endif() foreach(PKG_WITH_INCL KSPACE PYTHON ML-IAP VORONOI USER-COLVARS ML-HDNNP USER-MDI USER-MOLFILE USER-NETCDF - USER-PLUMED USER-QMMM ML-QUIP USER-SCAFACOS USER-SMD USER-VTK KIM LATTE MESSAGE MSCG COMPRESS ML-PACE) + USER-PLUMED USER-QMMM ML-QUIP USER-SCAFACOS MACHDYN USER-VTK KIM LATTE MESSAGE MSCG COMPRESS ML-PACE) if(PKG_${PKG_WITH_INCL}) include(Packages/${PKG_WITH_INCL}) endif() diff --git a/cmake/Modules/Packages/USER-SMD.cmake b/cmake/Modules/Packages/MACHDYN.cmake similarity index 100% rename from cmake/Modules/Packages/USER-SMD.cmake rename to cmake/Modules/Packages/MACHDYN.cmake diff --git a/cmake/presets/all_off.cmake b/cmake/presets/all_off.cmake index aec190db1f..5ead2b9a23 100644 --- a/cmake/presets/all_off.cmake +++ b/cmake/presets/all_off.cmake @@ -10,7 +10,7 @@ set(ALL_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU ML-HDNNP USER-INTEL LATBOLTZ USER-MANIFOLD USER-MDI MEAM USER-MESODPD USER-MESONT USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF USER-OMP ML-PACE USER-PHONON USER-PLUMED USER-PTM USER-QMMM USER-QTB ML-QUIP ML-RANN - USER-REACTION USER-REAXC USER-SCAFACOS USER-SDPD USER-SMD USER-SMTBQ USER-SPH + USER-REACTION USER-REAXC USER-SCAFACOS USER-SDPD MACHDYN USER-SMTBQ USER-SPH USER-TALLY USER-UEF USER-VTK USER-YAFF USER-DIELECTRIC) foreach(PKG ${ALL_PACKAGES}) diff --git a/cmake/presets/all_on.cmake b/cmake/presets/all_on.cmake index 25f3bdde27..9fd9aabb02 100644 --- a/cmake/presets/all_on.cmake +++ b/cmake/presets/all_on.cmake @@ -12,7 +12,7 @@ set(ALL_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU ML-HDNNP USER-INTEL LATBOLTZ USER-MANIFOLD USER-MDI MEAM USER-MESODPD USER-MESONT USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF USER-OMP ML-PACE USER-PHONON USER-PLUMED USER-PTM USER-QMMM USER-QTB ML-QUIP ML-RANN - USER-REACTION USER-REAXC USER-SCAFACOS USER-SDPD USER-SMD USER-SMTBQ USER-SPH + USER-REACTION USER-REAXC USER-SCAFACOS USER-SDPD MACHDYN USER-SMTBQ USER-SPH USER-TALLY USER-UEF USER-VTK USER-YAFF USER-DIELECTRIC) foreach(PKG ${ALL_PACKAGES}) diff --git a/cmake/presets/download.cmake b/cmake/presets/download.cmake index 0cfbb55348..8610a5078b 100644 --- a/cmake/presets/download.cmake +++ b/cmake/presets/download.cmake @@ -1,7 +1,7 @@ # Preset that turns on packages with automatic downloads of sources or potentials. # Compilation of libraries like Plumed or ScaFaCoS can take a considerable amount of time. -set(ALL_PACKAGES KIM LATTE MSCG VORONOI USER-PLUMED USER-SCAFACOS USER-SMD USER-MESONT USER-MDI ML-PACE) +set(ALL_PACKAGES KIM LATTE MSCG VORONOI USER-PLUMED USER-SCAFACOS MACHDYN USER-MESONT USER-MDI ML-PACE) foreach(PKG ${ALL_PACKAGES}) set(PKG_${PKG} ON CACHE BOOL "" FORCE) diff --git a/cmake/presets/mingw-cross.cmake b/cmake/presets/mingw-cross.cmake index a5ee3c7bf8..5da2f14ae1 100644 --- a/cmake/presets/mingw-cross.cmake +++ b/cmake/presets/mingw-cross.cmake @@ -6,7 +6,7 @@ set(WIN_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU ML-HDNNP USER-INTEL USER-MANIFOLD USER-MDI MEAM USER-MESODPD USER-MESONT USER-MISC USER-MGPT USER-MOFFF USER-MOLFILE USER-OMP USER-PHONON USER-PTM USER-QTB USER-REACTION USER-REAXC - USER-SDPD USER-SMD USER-SMTBQ USER-SPH USER-TALLY USER-UEF + USER-SDPD MACHDYN USER-SMTBQ USER-SPH USER-TALLY USER-UEF USER-YAFF USER-DIELECTRIC) foreach(PKG ${WIN_PACKAGES}) diff --git a/cmake/presets/most.cmake b/cmake/presets/most.cmake index e6cc7b81b1..abf0033400 100644 --- a/cmake/presets/most.cmake +++ b/cmake/presets/most.cmake @@ -8,7 +8,7 @@ set(ALL_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE USER-BROWNIAN USER-BOCS CG-DNA CG-SDK USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP MEAM USER-MESODPD USER-MISC USER-MOFFF USER-OMP USER-PHONON USER-REACTION - USER-REAXC USER-SDPD USER-SPH USER-SMD USER-UEF USER-YAFF USER-DIELECTRIC) + USER-REAXC USER-SDPD USER-SPH MACHDYN USER-UEF USER-YAFF USER-DIELECTRIC) foreach(PKG ${ALL_PACKAGES}) set(PKG_${PKG} ON CACHE BOOL "" FORCE) diff --git a/cmake/presets/nolib.cmake b/cmake/presets/nolib.cmake index 9a45e47fa2..a500270011 100644 --- a/cmake/presets/nolib.cmake +++ b/cmake/presets/nolib.cmake @@ -5,7 +5,7 @@ set(PACKAGES_WITH_LIB COMPRESS GPU KIM KOKKOS LATTE MESSAGE MPIIO MSCG PYTHON VORONOI USER-ADIOS USER-ATC USER-AWPMD USER-H5MD ML-HDNNP LATBOLTZ USER-MOLFILE USER-MESONT USER-MDI USER-NETCDF ML-PACE USER-PLUMED USER-QMMM ML-QUIP - USER-SCAFACOS USER-SMD USER-VTK) + USER-SCAFACOS MACHDYN USER-VTK) foreach(PKG ${PACKAGES_WITH_LIB}) set(PKG_${PKG} OFF CACHE BOOL "" FORCE) diff --git a/doc/src/Build_extras.rst b/doc/src/Build_extras.rst index 9be7b931ef..0cd99e130e 100644 --- a/doc/src/Build_extras.rst +++ b/doc/src/Build_extras.rst @@ -60,7 +60,7 @@ This is the list of packages that may require additional steps. * :ref:`USER-QMMM ` * :ref:`ML-QUIP ` * :ref:`USER-SCAFACOS ` - * :ref:`USER-SMD ` + * :ref:`MACHDYN ` * :ref:`USER-VTK ` ---------- @@ -1930,9 +1930,9 @@ To build with this package, you must download and build the ---------- -.. _user-smd: +.. _machdyn: -USER-SMD package +MACHDYN package ------------------------------- To build with this package, you must download the Eigen3 library. diff --git a/doc/src/Build_package.rst b/doc/src/Build_package.rst index dbe303964e..880f7d028d 100644 --- a/doc/src/Build_package.rst +++ b/doc/src/Build_package.rst @@ -39,7 +39,7 @@ packages: +--------------------------------------+--------------------------------------+------------------------------------+----------------------------------+--------------------------------+--------------------------------+ | :ref:`USER-MOLFILE ` | :ref:`USER-NETCDF ` | :ref:`ML-PACE ` | :ref:`USER-PLUMED ` | :ref:`USER-OMP ` | :ref:`USER-QMMM ` | +--------------------------------------+--------------------------------------+------------------------------------+----------------------------------+--------------------------------+--------------------------------+ -| :ref:`ML-QUIP ` | :ref:`USER-SCAFACOS ` | :ref:`USER-SMD ` | :ref:`USER-VTK ` | | | +| :ref:`ML-QUIP ` | :ref:`USER-SCAFACOS ` | :ref:`MACHDYN ` | :ref:`USER-VTK ` | | | +--------------------------------------+--------------------------------------+------------------------------------+----------------------------------+--------------------------------+--------------------------------+ The mechanism for including packages is simple but different for CMake diff --git a/doc/src/Intro_authors.rst b/doc/src/Intro_authors.rst index c7271ec6e7..eb0286c771 100644 --- a/doc/src/Intro_authors.rst +++ b/doc/src/Intro_authors.rst @@ -32,7 +32,7 @@ general-purpose as it is without their expertise and efforts. * Metin Aktulga (MSU), USER-REAXC package for C version of ReaxFF * Mike Brown (Intel), GPU and USER-INTEL packages * Colin Denniston (U Western Ontario), LATBOLTZ package -* Georg Ganzenmuller (EMI), USER-SMD and USER-SPH packages +* Georg Ganzenmuller (EMI), MACHDYN and USER-SPH packages * Andres Jaramillo-Botero (Caltech), USER-EFF package for electron force field * Reese Jones (Sandia) and colleagues, USER-ATC package for atom/continuum coupling * Christoph Kloss (DCS Computing), LIGGGHTS code for granular materials, built on top of LAMMPS diff --git a/doc/src/PDF/SMD_LAMMPS_userguide.pdf b/doc/src/PDF/MACHDYN_LAMMPS_userguide.pdf similarity index 100% rename from doc/src/PDF/SMD_LAMMPS_userguide.pdf rename to doc/src/PDF/MACHDYN_LAMMPS_userguide.pdf diff --git a/doc/src/Packages_details.rst b/doc/src/Packages_details.rst index d5bd7f56e6..d4a55ba8a3 100644 --- a/doc/src/Packages_details.rst +++ b/doc/src/Packages_details.rst @@ -106,7 +106,7 @@ page gives those details. * :ref:`USER-REAXC ` * :ref:`USER-SCAFACOS ` * :ref:`USER-SDPD ` - * :ref:`USER-SMD ` + * :ref:`MACHDYN ` * :ref:`USER-SMTBQ ` * :ref:`USER-SPH ` * :ref:`USER-TALLY ` @@ -2445,9 +2445,9 @@ Sciences, Iran). ---------- -.. _PKG-USER-SMD: +.. _PKG-MACHDYN: -USER-SMD package +MACHDYN package ---------------- **Contents:** @@ -2471,14 +2471,14 @@ Dynamics, Ernst Mach Institute, Germany). **Install:** -This package has :ref:`specific installation instructions ` on the :doc:`Build extras ` page. +This package has :ref:`specific installation instructions ` on the :doc:`Build extras ` page. **Supporting info:** -* src/USER-SMD: filenames -> commands -* src/USER-SMD/README -* doc/PDF/SMD_LAMMPS_userguide.pdf -* examples/PACKAGES/smd +* src/MACHDYN: filenames -> commands +* src/MACHDYN/README +* doc/PDF/MACHDYN_LAMMPS_userguide.pdf +* examples/PACKAGES/machdyn * https://www.lammps.org/movies.html#smd ---------- @@ -2515,7 +2515,7 @@ USER-SPH package An atom style, fixes, computes, and several pair styles which implements smoothed particle hydrodynamics (SPH) for liquids. See the -related :ref:`USER-SMD package ` package for smooth Mach dynamics +related :ref:`MACHDYN package ` package for smooth Mach dynamics (SMD) for solids. This package contains ideal gas, Lennard-Jones equation of states, diff --git a/doc/src/Packages_user.rst b/doc/src/Packages_user.rst index 194502a1b0..264613902e 100644 --- a/doc/src/Packages_user.rst +++ b/doc/src/Packages_user.rst @@ -113,7 +113,7 @@ package: +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ | :ref:`USER-SDPD ` | smoothed dissipative particle dynamics | :doc:`pair_style sdpd/taitwater/isothermal ` | USER/sdpd | no | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`USER-SMD ` | smoothed Mach dynamics | `SMD User Guide `_ | USER/smd | ext | +| :ref:`MACHDYN ` | smoothed Mach dynamics | `SMD User Guide `_ | USER/smd | ext | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ | :ref:`USER-SMTBQ ` | second moment tight binding QEq potential | :doc:`pair_style smtbq ` | USER/smtbq | no | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ diff --git a/doc/src/Tools.rst b/doc/src/Tools.rst index ce59e6da53..d6b3a823b5 100644 --- a/doc/src/Tools.rst +++ b/doc/src/Tools.rst @@ -968,13 +968,13 @@ smd tool The smd sub-directory contains a C++ file dump2vtk_tris.cpp and Makefile which can be compiled and used to convert triangle output -files created by the Smooth-Mach Dynamics (USER-SMD) package into a +files created by the Smooth-Mach Dynamics (MACHDYN) package into a VTK-compatible unstructured grid file. It could then be read in and visualized by VTK. See the header of dump2vtk.cpp for more details. -This tool was written by the USER-SMD package author, Georg +This tool was written by the MACHDYN package author, Georg Ganzenmuller at the Fraunhofer-Institute for High-Speed Dynamics, Ernst Mach Institute in Germany (georg.ganzenmueller at emi.fhg.de). diff --git a/doc/src/compute_smd_contact_radius.rst b/doc/src/compute_smd_contact_radius.rst index 71630b827d..d310de826a 100644 --- a/doc/src/compute_smd_contact_radius.rst +++ b/doc/src/compute_smd_contact_radius.rst @@ -48,7 +48,7 @@ The per-particle vector values will be in distance :doc:`units `. Restrictions """""""""""" -This compute is part of the USER-SMD package. It is only enabled if +This compute is part of the MACHDYN package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/compute_smd_damage.rst b/doc/src/compute_smd_damage.rst index ee3671e20c..e11fce1e9e 100644 --- a/doc/src/compute_smd_damage.rst +++ b/doc/src/compute_smd_damage.rst @@ -40,7 +40,7 @@ The per-particle values are dimensionless an in the range of zero to one. Restrictions """""""""""" -This compute is part of the USER-SMD package. It is only enabled if +This compute is part of the MACHDYN package. It is only enabled if LAMMPS was built with that package. See the "Build Related commands diff --git a/doc/src/compute_smd_hourglass_error.rst b/doc/src/compute_smd_hourglass_error.rst index 980d31454e..c3664997f9 100644 --- a/doc/src/compute_smd_hourglass_error.rst +++ b/doc/src/compute_smd_hourglass_error.rst @@ -50,7 +50,7 @@ The per-particle vector values will are dimensionless. See Restrictions """""""""""" -This compute is part of the USER-SMD package. It is only enabled if +This compute is part of the MACHDYN package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. This quantity will be computed only for particles which interact with diff --git a/doc/src/compute_smd_internal_energy.rst b/doc/src/compute_smd_internal_energy.rst index c4df459d5f..f596b0ce54 100644 --- a/doc/src/compute_smd_internal_energy.rst +++ b/doc/src/compute_smd_internal_energy.rst @@ -42,7 +42,7 @@ The per-particle vector values will be given in :doc:`units ` of energy. Restrictions """""""""""" -This compute is part of the USER-SMD package. It is only enabled if +This compute is part of the MACHDYN package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. This compute can only be used for particles which interact via the updated Lagrangian or total Lagrangian SPH pair styles. diff --git a/doc/src/compute_smd_plastic_strain.rst b/doc/src/compute_smd_plastic_strain.rst index 81bacdc4bb..018b999716 100644 --- a/doc/src/compute_smd_plastic_strain.rst +++ b/doc/src/compute_smd_plastic_strain.rst @@ -42,7 +42,7 @@ The per-particle values will be given dimensionless. See :doc:`units `. Restrictions """""""""""" -This compute is part of the USER-SMD package. It is only enabled if +This compute is part of the MACHDYN package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. This compute can only be used for particles which interact via the updated Lagrangian or total Lagrangian SPH pair styles. diff --git a/doc/src/compute_smd_plastic_strain_rate.rst b/doc/src/compute_smd_plastic_strain_rate.rst index cdcd377b41..4edb7c2ae5 100644 --- a/doc/src/compute_smd_plastic_strain_rate.rst +++ b/doc/src/compute_smd_plastic_strain_rate.rst @@ -42,7 +42,7 @@ The per-particle values will be given in :doc:`units ` of one over time. Restrictions """""""""""" -This compute is part of the USER-SMD package. It is only enabled if +This compute is part of the MACHDYN package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. This compute can only be used for particles which interact via the updated Lagrangian or total Lagrangian SPH pair styles. diff --git a/doc/src/compute_smd_rho.rst b/doc/src/compute_smd_rho.rst index e7cdb8a9d3..672fe225f0 100644 --- a/doc/src/compute_smd_rho.rst +++ b/doc/src/compute_smd_rho.rst @@ -44,7 +44,7 @@ The per-particle values will be in :doc:`units ` of mass over volume. Restrictions """""""""""" -This compute is part of the USER-SMD package. It is only enabled if +This compute is part of the MACHDYN package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/compute_smd_tlsph_defgrad.rst b/doc/src/compute_smd_tlsph_defgrad.rst index d74b684c5d..a8c2e80a12 100644 --- a/doc/src/compute_smd_tlsph_defgrad.rst +++ b/doc/src/compute_smd_tlsph_defgrad.rst @@ -47,7 +47,7 @@ entry is the determinant of the deformation gradient. Restrictions """""""""""" -This compute is part of the USER-SMD package. It is only enabled if +This compute is part of the MACHDYN package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. TThis compute can only be used for particles which interact via the total Lagrangian SPH pair style. diff --git a/doc/src/compute_smd_tlsph_dt.rst b/doc/src/compute_smd_tlsph_dt.rst index 888140c534..6c6ad54187 100644 --- a/doc/src/compute_smd_tlsph_dt.rst +++ b/doc/src/compute_smd_tlsph_dt.rst @@ -48,7 +48,7 @@ The per-particle values will be given in :doc:`units ` of time. Restrictions """""""""""" -This compute is part of the USER-SMD package. It is only enabled if +This compute is part of the MACHDYN package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. This compute can only be used for particles interacting with the diff --git a/doc/src/compute_smd_tlsph_num_neighs.rst b/doc/src/compute_smd_tlsph_num_neighs.rst index 5d34f1acef..1a42373717 100644 --- a/doc/src/compute_smd_tlsph_num_neighs.rst +++ b/doc/src/compute_smd_tlsph_num_neighs.rst @@ -43,7 +43,7 @@ The per-particle values are dimensionless. See :doc:`units `. Restrictions """""""""""" -This compute is part of the USER-SMD package. It is only enabled if +This compute is part of the MACHDYN package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. This quantity will be computed only for particles which interact with diff --git a/doc/src/compute_smd_tlsph_shape.rst b/doc/src/compute_smd_tlsph_shape.rst index d9ce1e3d9a..33bd02d894 100644 --- a/doc/src/compute_smd_tlsph_shape.rst +++ b/doc/src/compute_smd_tlsph_shape.rst @@ -50,7 +50,7 @@ particle relative to its initial state. Restrictions """""""""""" -This compute is part of the USER-SMD package. It is only enabled if +This compute is part of the MACHDYN package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. This quantity will be computed only for particles which interact with diff --git a/doc/src/compute_smd_tlsph_strain.rst b/doc/src/compute_smd_tlsph_strain.rst index b89311eb4b..a05dbab8d7 100644 --- a/doc/src/compute_smd_tlsph_strain.rst +++ b/doc/src/compute_smd_tlsph_strain.rst @@ -46,7 +46,7 @@ zz, xy, xz, yz components of the symmetric strain tensor. Restrictions """""""""""" -This compute is part of the USER-SMD package. It is only enabled if +This compute is part of the MACHDYN package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. This quantity will be computed only for particles which interact with diff --git a/doc/src/compute_smd_tlsph_strain_rate.rst b/doc/src/compute_smd_tlsph_strain_rate.rst index d1fc399b42..f75db80d94 100644 --- a/doc/src/compute_smd_tlsph_strain_rate.rst +++ b/doc/src/compute_smd_tlsph_strain_rate.rst @@ -45,7 +45,7 @@ zz, xy, xz, yz components of the symmetric strain rate tensor. Restrictions """""""""""" -This compute is part of the USER-SMD package. It is only enabled if +This compute is part of the MACHDYN package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. This quantity will be computed only for particles which interact with diff --git a/doc/src/compute_smd_tlsph_stress.rst b/doc/src/compute_smd_tlsph_stress.rst index d3711954c5..0a194bea3d 100644 --- a/doc/src/compute_smd_tlsph_stress.rst +++ b/doc/src/compute_smd_tlsph_stress.rst @@ -47,7 +47,7 @@ invariant of the stress tensor, i.e., the von Mises equivalent stress. Restrictions """""""""""" -This compute is part of the USER-SMD package. It is only enabled if +This compute is part of the MACHDYN package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. This quantity will be computed only for particles which interact with diff --git a/doc/src/compute_smd_triangle_vertices.rst b/doc/src/compute_smd_triangle_vertices.rst index d797891618..0f2f1cdd45 100644 --- a/doc/src/compute_smd_triangle_vertices.rst +++ b/doc/src/compute_smd_triangle_vertices.rst @@ -53,7 +53,7 @@ The values will be given in :doc:`units ` of distance. Restrictions """""""""""" -This compute is part of the USER-SMD package. It is only enabled if +This compute is part of the MACHDYN package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/compute_smd_ulsph_effm.rst b/doc/src/compute_smd_ulsph_effm.rst index ff12f9cdac..388969f4ae 100644 --- a/doc/src/compute_smd_ulsph_effm.rst +++ b/doc/src/compute_smd_ulsph_effm.rst @@ -44,7 +44,7 @@ style. Restrictions """""""""""" -This compute is part of the USER-SMD package. It is only enabled if +This compute is part of the MACHDYN package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. This compute can only be used for particles which interact with the updated Lagrangian SPH pair style. diff --git a/doc/src/compute_smd_ulsph_num_neighs.rst b/doc/src/compute_smd_ulsph_num_neighs.rst index 3579a88079..b356b8adaa 100644 --- a/doc/src/compute_smd_ulsph_num_neighs.rst +++ b/doc/src/compute_smd_ulsph_num_neighs.rst @@ -43,7 +43,7 @@ The per-particle values will be given dimensionless, see :doc:`units `. Restrictions """""""""""" -This compute is part of the USER-SMD package. It is only enabled if +This compute is part of the MACHDYN package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. This compute can only be used for particles which interact with the updated Lagrangian SPH pair style. diff --git a/doc/src/compute_smd_ulsph_strain.rst b/doc/src/compute_smd_ulsph_strain.rst index 09f06b084b..5a3617fd24 100644 --- a/doc/src/compute_smd_ulsph_strain.rst +++ b/doc/src/compute_smd_ulsph_strain.rst @@ -46,7 +46,7 @@ The per-particle tensor values will be given dimensionless, see Restrictions """""""""""" -This compute is part of the USER-SMD package. It is only enabled if +This compute is part of the MACHDYN package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. This compute can only be used for particles which interact with the updated Lagrangian SPH pair style. diff --git a/doc/src/compute_smd_ulsph_strain_rate.rst b/doc/src/compute_smd_ulsph_strain_rate.rst index 391367321a..4fe5d53936 100644 --- a/doc/src/compute_smd_ulsph_strain_rate.rst +++ b/doc/src/compute_smd_ulsph_strain_rate.rst @@ -46,7 +46,7 @@ zz, xy, xz, yz components of the symmetric strain rate tensor. Restrictions """""""""""" -This compute is part of the USER-SMD package. It is only enabled if +This compute is part of the MACHDYN package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. This compute can only be used for particles which interact with the diff --git a/doc/src/compute_smd_ulsph_stress.rst b/doc/src/compute_smd_ulsph_stress.rst index e1db7640a6..392b72e0fd 100644 --- a/doc/src/compute_smd_ulsph_stress.rst +++ b/doc/src/compute_smd_ulsph_stress.rst @@ -46,7 +46,7 @@ stress tensor, i.e., the von Mises equivalent stress. Restrictions """""""""""" -This compute is part of the USER-SMD package. It is only enabled if +This compute is part of the MACHDYN package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. This compute can only be used for particles which interact with the updated Lagrangian SPH pair style. diff --git a/doc/src/compute_smd_vol.rst b/doc/src/compute_smd_vol.rst index 4f9314ac32..862ed15a3e 100644 --- a/doc/src/compute_smd_vol.rst +++ b/doc/src/compute_smd_vol.rst @@ -46,7 +46,7 @@ per-particle volumes of the group for which the fix is defined. Restrictions """""""""""" -This compute is part of the USER-SMD package. It is only enabled if +This compute is part of the MACHDYN package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/fix_smd_adjust_dt.rst b/doc/src/fix_smd_adjust_dt.rst index fb19c07b15..c1dc008c55 100644 --- a/doc/src/fix_smd_adjust_dt.rst +++ b/doc/src/fix_smd_adjust_dt.rst @@ -49,12 +49,12 @@ Dynamics in LAMMPS. Restart, fix_modify, output, run start/stop, minimize info """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" -Currently, no part of USER-SMD supports restarting nor minimization. +Currently, no part of MACHDYN supports restarting nor minimization. Restrictions """""""""""" -This fix is part of the USER-SMD package. It is only enabled if +This fix is part of the MACHDYN package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/fix_smd_integrate_tlsph.rst b/doc/src/fix_smd_integrate_tlsph.rst index 867141bd6f..4f19b98c49 100644 --- a/doc/src/fix_smd_integrate_tlsph.rst +++ b/doc/src/fix_smd_integrate_tlsph.rst @@ -44,13 +44,13 @@ velocity limit. Restart, fix_modify, output, run start/stop, minimize info """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" -Currently, no part of USER-SMD supports restarting nor +Currently, no part of MACHDYN supports restarting nor minimization. This fix has no outputs. Restrictions """""""""""" -This fix is part of the USER-SMD package. It is only enabled if +This fix is part of the MACHDYN package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/fix_smd_integrate_ulsph.rst b/doc/src/fix_smd_integrate_ulsph.rst index 5b4c117452..d6bcdd68a5 100644 --- a/doc/src/fix_smd_integrate_ulsph.rst +++ b/doc/src/fix_smd_integrate_ulsph.rst @@ -52,13 +52,13 @@ the velocity vector to max_vel in case it exceeds this velocity limit. Restart, fix_modify, output, run start/stop, minimize info """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" -Currently, no part of USER-SMD supports restarting nor +Currently, no part of MACHDYN supports restarting nor minimization. This fix has no outputs. Restrictions """""""""""" -This fix is part of the USER-SMD package. It is only enabled if +This fix is part of the MACHDYN package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/fix_smd_move_triangulated_surface.rst b/doc/src/fix_smd_move_triangulated_surface.rst index 293f5401a2..2da904400a 100644 --- a/doc/src/fix_smd_move_triangulated_surface.rst +++ b/doc/src/fix_smd_move_triangulated_surface.rst @@ -66,13 +66,13 @@ Dynamics in LAMMPS. Restart, fix_modify, output, run start/stop, minimize info """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" -Currently, no part of USER-SMD supports restarting nor +Currently, no part of MACHDYN supports restarting nor minimization. This fix has no outputs. Restrictions """""""""""" -This fix is part of the USER-SMD package. It is only enabled if +This fix is part of the MACHDYN package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/fix_smd_setvel.rst b/doc/src/fix_smd_setvel.rst index 53aa5f649c..bc475914df 100644 --- a/doc/src/fix_smd_setvel.rst +++ b/doc/src/fix_smd_setvel.rst @@ -66,7 +66,7 @@ specified geometric :doc:`region ` in order to have its velocity set by Restart, fix_modify, output, run start/stop, minimize info """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" -Currently, no part of USER-SMD supports restarting nor minimization +Currently, no part of MACHDYN supports restarting nor minimization None of the :doc:`fix_modify ` options are relevant to this fix. @@ -81,7 +81,7 @@ the :doc:`run ` command. Restrictions """""""""""" -This fix is part of the USER-SMD package. It is only enabled if +This fix is part of the MACHDYN package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/fix_smd_wall_surface.rst b/doc/src/fix_smd_wall_surface.rst index 38efee0977..040cfa7483 100644 --- a/doc/src/fix_smd_wall_surface.rst +++ b/doc/src/fix_smd_wall_surface.rst @@ -44,7 +44,7 @@ is possible to move the triangulated surface via the Immediately after a .STL file has been read, the simulation needs to be run for 0 timesteps in order to properly register the new particles -in the system. See the "funnel_flow" example in the USER-SMD examples +in the system. See the "funnel_flow" example in the MACHDYN examples directory. See `this PDF guide `_ to use Smooth Mach @@ -53,13 +53,13 @@ Dynamics in LAMMPS. Restart, fix_modify, output, run start/stop, minimize info """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" -Currently, no part of USER-SMD supports restarting nor +Currently, no part of MACHDYN supports restarting nor minimization. This fix has no outputs. Restrictions """""""""""" -This fix is part of the USER-SMD package. It is only enabled if +This fix is part of the MACHDYN package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. The molecule ID given to the particles created by this fix have to be diff --git a/doc/src/pair_smd_hertz.rst b/doc/src/pair_smd_hertz.rst index c15a8d26dc..a10edde6b0 100644 --- a/doc/src/pair_smd_hertz.rst +++ b/doc/src/pair_smd_hertz.rst @@ -41,7 +41,7 @@ approach each other. Usually, *scale_factor* =1.0. Mixing, shift, table, tail correction, restart, rRESPA info """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" -No mixing is performed automatically. Currently, no part of USER-SMD +No mixing is performed automatically. Currently, no part of MACHDYN supports restarting nor minimization. rRESPA does not apply to this pair style. @@ -50,7 +50,7 @@ pair style. Restrictions """""""""""" -This fix is part of the USER-SMD package. It is only enabled if +This fix is part of the MACHDYN package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/pair_smd_tlsph.rst b/doc/src/pair_smd_tlsph.rst index bd46209cdc..cab156167e 100644 --- a/doc/src/pair_smd_tlsph.rst +++ b/doc/src/pair_smd_tlsph.rst @@ -56,7 +56,7 @@ complete listing of the possible keywords and material models. Mixing, shift, table, tail correction, restart, rRESPA info """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" -No mixing is performed automatically. Currently, no part of USER-SMD +No mixing is performed automatically. Currently, no part of MACHDYN supports restarting nor minimization. rRESPA does not apply to this pair style. @@ -65,7 +65,7 @@ pair style. Restrictions """""""""""" -This fix is part of the USER-SMD package. It is only enabled if +This fix is part of the MACHDYN package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/pair_smd_triangulated_surface.rst b/doc/src/pair_smd_triangulated_surface.rst index 1e33254865..957ff1ca19 100644 --- a/doc/src/pair_smd_triangulated_surface.rst +++ b/doc/src/pair_smd_triangulated_surface.rst @@ -43,7 +43,7 @@ Mixing, shift, table, tail correction, restart, rRESPA info """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" No mixing is performed automatically. -Currently, no part of USER-SMD supports restarting nor minimization. +Currently, no part of MACHDYN supports restarting nor minimization. rRESPA does not apply to this pair style. ---------- @@ -51,7 +51,7 @@ rRESPA does not apply to this pair style. Restrictions """""""""""" -This fix is part of the USER-SMD package. It is only enabled if +This fix is part of the MACHDYN package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/pair_smd_ulsph.rst b/doc/src/pair_smd_ulsph.rst index 33946d4649..c69fbf2a43 100644 --- a/doc/src/pair_smd_ulsph.rst +++ b/doc/src/pair_smd_ulsph.rst @@ -67,7 +67,7 @@ complete listing of the possible keywords and material models. Mixing, shift, table, tail correction, restart, rRESPA info """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" -No mixing is performed automatically. Currently, no part of USER-SMD +No mixing is performed automatically. Currently, no part of MACHDYN supports restarting nor minimization. rRESPA does not apply to this pair style. @@ -76,7 +76,7 @@ pair style. Restrictions """""""""""" -This fix is part of the USER-SMD package. It is only enabled if +This fix is part of the MACHDYN package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/set.rst b/doc/src/set.rst index 420190f0fd..53b62eef49 100644 --- a/doc/src/set.rst +++ b/doc/src/set.rst @@ -446,12 +446,12 @@ to using SPH in LAMMPS. Keyword *smd/mass/density* sets the mass of all selected particles, but it is only applicable to the Smooth Mach Dynamics package -USER-SMD. It assumes that the particle volume has already been +MACHDYN. It assumes that the particle volume has already been correctly set and calculates particle mass from the provided mass density value. Keyword *smd/contact/radius* only applies to simulations with the -Smooth Mach Dynamics package USER-SMD. Itsets an interaction radius +Smooth Mach Dynamics package MACHDYN. Itsets an interaction radius for computing short-range interactions, e.g. repulsive forces to prevent different individual physical bodies from penetrating each other. Note that the SPH smoothing kernel diameter used for computing diff --git a/examples/PACKAGES/smd/README b/examples/PACKAGES/machdyn/README similarity index 100% rename from examples/PACKAGES/smd/README rename to examples/PACKAGES/machdyn/README diff --git a/examples/PACKAGES/smd/aluminum_strip_pull/in.aluminum_strip_pull b/examples/PACKAGES/machdyn/aluminum_strip_pull/in.aluminum_strip_pull similarity index 100% rename from examples/PACKAGES/smd/aluminum_strip_pull/in.aluminum_strip_pull rename to examples/PACKAGES/machdyn/aluminum_strip_pull/in.aluminum_strip_pull diff --git a/examples/PACKAGES/smd/aluminum_strip_pull/log.9Oct20.aluminum_strip_pull.g++.1 b/examples/PACKAGES/machdyn/aluminum_strip_pull/log.9Oct20.aluminum_strip_pull.g++.1 similarity index 100% rename from examples/PACKAGES/smd/aluminum_strip_pull/log.9Oct20.aluminum_strip_pull.g++.1 rename to examples/PACKAGES/machdyn/aluminum_strip_pull/log.9Oct20.aluminum_strip_pull.g++.1 diff --git a/examples/PACKAGES/smd/aluminum_strip_pull/log.9Oct20.aluminum_strip_pull.g++.4 b/examples/PACKAGES/machdyn/aluminum_strip_pull/log.9Oct20.aluminum_strip_pull.g++.4 similarity index 100% rename from examples/PACKAGES/smd/aluminum_strip_pull/log.9Oct20.aluminum_strip_pull.g++.4 rename to examples/PACKAGES/machdyn/aluminum_strip_pull/log.9Oct20.aluminum_strip_pull.g++.4 diff --git a/examples/PACKAGES/smd/fluid_structure_interaction/in.fluid_structure_interaction b/examples/PACKAGES/machdyn/fluid_structure_interaction/in.fluid_structure_interaction similarity index 100% rename from examples/PACKAGES/smd/fluid_structure_interaction/in.fluid_structure_interaction rename to examples/PACKAGES/machdyn/fluid_structure_interaction/in.fluid_structure_interaction diff --git a/examples/PACKAGES/smd/fluid_structure_interaction/log.9Oct20.fluid_structure_interaction.g++.1 b/examples/PACKAGES/machdyn/fluid_structure_interaction/log.9Oct20.fluid_structure_interaction.g++.1 similarity index 100% rename from examples/PACKAGES/smd/fluid_structure_interaction/log.9Oct20.fluid_structure_interaction.g++.1 rename to examples/PACKAGES/machdyn/fluid_structure_interaction/log.9Oct20.fluid_structure_interaction.g++.1 diff --git a/examples/PACKAGES/smd/fluid_structure_interaction/log.9Oct20.fluid_structure_interaction.g++.4 b/examples/PACKAGES/machdyn/fluid_structure_interaction/log.9Oct20.fluid_structure_interaction.g++.4 similarity index 100% rename from examples/PACKAGES/smd/fluid_structure_interaction/log.9Oct20.fluid_structure_interaction.g++.4 rename to examples/PACKAGES/machdyn/fluid_structure_interaction/log.9Oct20.fluid_structure_interaction.g++.4 diff --git a/examples/PACKAGES/smd/funnel_flow/boundary.stl b/examples/PACKAGES/machdyn/funnel_flow/boundary.stl similarity index 100% rename from examples/PACKAGES/smd/funnel_flow/boundary.stl rename to examples/PACKAGES/machdyn/funnel_flow/boundary.stl diff --git a/examples/PACKAGES/smd/funnel_flow/in.funnel_flow b/examples/PACKAGES/machdyn/funnel_flow/in.funnel_flow similarity index 100% rename from examples/PACKAGES/smd/funnel_flow/in.funnel_flow rename to examples/PACKAGES/machdyn/funnel_flow/in.funnel_flow diff --git a/examples/PACKAGES/smd/funnel_flow/log.9Oct20.funnel_flow.g++.1 b/examples/PACKAGES/machdyn/funnel_flow/log.9Oct20.funnel_flow.g++.1 similarity index 100% rename from examples/PACKAGES/smd/funnel_flow/log.9Oct20.funnel_flow.g++.1 rename to examples/PACKAGES/machdyn/funnel_flow/log.9Oct20.funnel_flow.g++.1 diff --git a/examples/PACKAGES/smd/funnel_flow/log.9Oct20.funnel_flow.g++.4 b/examples/PACKAGES/machdyn/funnel_flow/log.9Oct20.funnel_flow.g++.4 similarity index 100% rename from examples/PACKAGES/smd/funnel_flow/log.9Oct20.funnel_flow.g++.4 rename to examples/PACKAGES/machdyn/funnel_flow/log.9Oct20.funnel_flow.g++.4 diff --git a/examples/PACKAGES/smd/rubber_rings_3d/in.rubber_rings_3d b/examples/PACKAGES/machdyn/rubber_rings_3d/in.rubber_rings_3d similarity index 100% rename from examples/PACKAGES/smd/rubber_rings_3d/in.rubber_rings_3d rename to examples/PACKAGES/machdyn/rubber_rings_3d/in.rubber_rings_3d diff --git a/examples/PACKAGES/smd/rubber_rings_3d/log.9Oct20.rubber_rings_3d.g++.1 b/examples/PACKAGES/machdyn/rubber_rings_3d/log.9Oct20.rubber_rings_3d.g++.1 similarity index 100% rename from examples/PACKAGES/smd/rubber_rings_3d/log.9Oct20.rubber_rings_3d.g++.1 rename to examples/PACKAGES/machdyn/rubber_rings_3d/log.9Oct20.rubber_rings_3d.g++.1 diff --git a/examples/PACKAGES/smd/rubber_rings_3d/log.9Oct20.rubber_rings_3d.g++.4 b/examples/PACKAGES/machdyn/rubber_rings_3d/log.9Oct20.rubber_rings_3d.g++.4 similarity index 100% rename from examples/PACKAGES/smd/rubber_rings_3d/log.9Oct20.rubber_rings_3d.g++.4 rename to examples/PACKAGES/machdyn/rubber_rings_3d/log.9Oct20.rubber_rings_3d.g++.4 diff --git a/examples/PACKAGES/smd/rubber_rings_3d/washer_hex_adjusted.data b/examples/PACKAGES/machdyn/rubber_rings_3d/washer_hex_adjusted.data similarity index 100% rename from examples/PACKAGES/smd/rubber_rings_3d/washer_hex_adjusted.data rename to examples/PACKAGES/machdyn/rubber_rings_3d/washer_hex_adjusted.data diff --git a/examples/PACKAGES/smd/rubber_strip_pull/in.rubber_strip_pull b/examples/PACKAGES/machdyn/rubber_strip_pull/in.rubber_strip_pull similarity index 100% rename from examples/PACKAGES/smd/rubber_strip_pull/in.rubber_strip_pull rename to examples/PACKAGES/machdyn/rubber_strip_pull/in.rubber_strip_pull diff --git a/examples/PACKAGES/smd/rubber_strip_pull/log.9Oct20.rubber_strip_pull.g++.1 b/examples/PACKAGES/machdyn/rubber_strip_pull/log.9Oct20.rubber_strip_pull.g++.1 similarity index 100% rename from examples/PACKAGES/smd/rubber_strip_pull/log.9Oct20.rubber_strip_pull.g++.1 rename to examples/PACKAGES/machdyn/rubber_strip_pull/log.9Oct20.rubber_strip_pull.g++.1 diff --git a/examples/PACKAGES/smd/rubber_strip_pull/log.9Oct20.rubber_strip_pull.g++.4 b/examples/PACKAGES/machdyn/rubber_strip_pull/log.9Oct20.rubber_strip_pull.g++.4 similarity index 100% rename from examples/PACKAGES/smd/rubber_strip_pull/log.9Oct20.rubber_strip_pull.g++.4 rename to examples/PACKAGES/machdyn/rubber_strip_pull/log.9Oct20.rubber_strip_pull.g++.4 diff --git a/examples/PACKAGES/smd/rubber_strip_pull/plot.gpl b/examples/PACKAGES/machdyn/rubber_strip_pull/plot.gpl similarity index 100% rename from examples/PACKAGES/smd/rubber_strip_pull/plot.gpl rename to examples/PACKAGES/machdyn/rubber_strip_pull/plot.gpl diff --git a/lib/README b/lib/README index 50af12543a..b0dfb1d889 100644 --- a/lib/README +++ b/lib/README @@ -53,7 +53,7 @@ qmmm quantum mechanics/molecular mechanics coupling interface from Axel Kohlmeyer (Temple U) quip interface to QUIP/libAtoms framework, ML-QUIP package from Albert Bartok-Partay and Gabor Csanyi (U Cambridge) -smd hooks to Eigen library, used by USER-SMD package +machdyn hooks to Eigen library, used by MACHDYN package from Georg Ganzenmueller (Ernst Mach Institute, Germany) voronoi hooks to the Voro++ library, used by compute voronoi/atom command from Daniel Schwen (LANL) diff --git a/lib/smd/.gitignore b/lib/machdyn/.gitignore similarity index 100% rename from lib/smd/.gitignore rename to lib/machdyn/.gitignore diff --git a/lib/smd/Install.py b/lib/machdyn/Install.py similarity index 100% rename from lib/smd/Install.py rename to lib/machdyn/Install.py diff --git a/lib/machdyn/Makefile.lammps b/lib/machdyn/Makefile.lammps new file mode 100644 index 0000000000..6c914708dd --- /dev/null +++ b/lib/machdyn/Makefile.lammps @@ -0,0 +1,5 @@ +# Settings that the LAMMPS build will import when this package library is used + +machdyn_SYSINC = -I../../lib/includelink/eigen3 +machdyn_SYSLIB = +machdyn_SYSPATH = diff --git a/lib/smd/README b/lib/machdyn/README similarity index 94% rename from lib/smd/README rename to lib/machdyn/README index 1bd5902a1f..38a2957648 100644 --- a/lib/smd/README +++ b/lib/machdyn/README @@ -1,5 +1,5 @@ This directory contains links to the Eigen library which is required -to use the USER-SMD package in a LAMMPS input script. +to use the MACHDYN package in a LAMMPS input script. The Eigen library is available at http://eigen.tuxfamily.org. It's a general C++ template library for linear algebra. @@ -26,10 +26,10 @@ Instructions: % ln -s /home/sjplimp/tools/eigen includelink When these steps are complete you can build LAMMPS -with the USER-SMD package installed: +with the MACHDYN package installed: % cd lammps/src -% make yes-user-smd +% make yes-machdyn % make g++ (or whatever target you wish) Note that if you download and unpack a new LAMMPS tarball, the diff --git a/lib/smd/Makefile.lammps b/lib/smd/Makefile.lammps deleted file mode 100644 index 6951a1394c..0000000000 --- a/lib/smd/Makefile.lammps +++ /dev/null @@ -1,5 +0,0 @@ -# Settings that the LAMMPS build will import when this package library is used - -user-smd_SYSINC = -I../../lib/includelink/eigen3 -user-smd_SYSLIB = -user-smd_SYSPATH = diff --git a/src/USER-SMD/Install.sh b/src/MACHDYN/Install.sh similarity index 61% rename from src/USER-SMD/Install.sh rename to src/MACHDYN/Install.sh index cb9aa5452b..bf18c332f3 100755 --- a/src/USER-SMD/Install.sh +++ b/src/MACHDYN/Install.sh @@ -37,29 +37,29 @@ done if (test $1 = 1) then if (test -e ../Makefile.package) then - sed -i -e 's/[^ \t]*smd[^ \t]* //g' ../Makefile.package - sed -i -e 's|^PKG_INC =[ \t]*|&-I..\/..\/lib\/smd/includelink |' ../Makefile.package - sed -i -e 's|^PKG_SYSINC =[ \t]*|&$(user-smd_SYSINC) |' ../Makefile.package - sed -i -e 's|^PKG_SYSLIB =[ \t]*|&$(user-smd_SYSLIB) |' ../Makefile.package - sed -i -e 's|^PKG_SYSPATH =[ \t]*|&$(user-smd_SYSPATH) |' ../Makefile.package + sed -i -e 's/[^ \t]*machdyn[^ \t]* //g' ../Makefile.package + sed -i -e 's|^PKG_INC =[ \t]*|&-I..\/..\/lib\/machdyn/includelink |' ../Makefile.package + sed -i -e 's|^PKG_SYSINC =[ \t]*|&$(machdyn_SYSINC) |' ../Makefile.package + sed -i -e 's|^PKG_SYSLIB =[ \t]*|&$(machdyn_SYSLIB) |' ../Makefile.package + sed -i -e 's|^PKG_SYSPATH =[ \t]*|&$(machdyn_SYSPATH) |' ../Makefile.package fi if (test -e ../Makefile.package.settings) then - sed -i -e '/^include.*smd.*$/d' ../Makefile.package.settings + sed -i -e '/^include.*machdyn.*$/d' ../Makefile.package.settings # multiline form needed for BSD sed on Macs sed -i -e '4 i \ -include ..\/..\/lib\/smd\/Makefile.lammps +include ..\/..\/lib\/machdyn\/Makefile.lammps ' ../Makefile.package.settings fi elif (test $1 = 0) then if (test -e ../Makefile.package) then - sed -i -e 's/[^ \t]*smd[^ \t]* //g' ../Makefile.package + sed -i -e 's/[^ \t]*machdyn[^ \t]* //g' ../Makefile.package fi if (test -e ../Makefile.package.settings) then - sed -i -e '/^include.*smd.*$/d' ../Makefile.package.settings + sed -i -e '/^include.*machdyn.*$/d' ../Makefile.package.settings fi fi diff --git a/src/USER-SMD/README b/src/MACHDYN/README similarity index 98% rename from src/USER-SMD/README rename to src/MACHDYN/README index e929270c96..4bbf3cb3a9 100644 --- a/src/USER-SMD/README +++ b/src/MACHDYN/README @@ -19,7 +19,7 @@ from *.STL files. See the file doc/PDF/SMD_LAMMPS_userguide.pdf to get started. -There are example scripts for using this package in examples/PACKAGES/smd. +There are example scripts for using this package in examples/PACKAGES/machdyn. The person who created this package is Georg Ganzenmuller at the Fraunhofer-Institute for High-Speed Dynamics, Ernst Mach Institute in Germany (georg.ganzenmueller at emi.fhg.de). Contact him directly if diff --git a/src/USER-SMD/atom_vec_smd.cpp b/src/MACHDYN/atom_vec_smd.cpp similarity index 99% rename from src/USER-SMD/atom_vec_smd.cpp rename to src/MACHDYN/atom_vec_smd.cpp index 2cae7517ec..b798425e19 100644 --- a/src/USER-SMD/atom_vec_smd.cpp +++ b/src/MACHDYN/atom_vec_smd.cpp @@ -3,7 +3,7 @@ * * *** Smooth Mach Dynamics *** * - * This file is part of the USER-SMD package for LAMMPS. + * This file is part of the MACHDYN package for LAMMPS. * Copyright (2014) Georg C. Ganzenmueller, georg.ganzenmueller@emi.fhg.de * Fraunhofer Ernst-Mach Institute for High-Speed Dynamics, EMI, * Eckerstrasse 4, D-79104 Freiburg i.Br, Germany. diff --git a/src/USER-SMD/atom_vec_smd.h b/src/MACHDYN/atom_vec_smd.h similarity index 97% rename from src/USER-SMD/atom_vec_smd.h rename to src/MACHDYN/atom_vec_smd.h index 8ad6448bba..ada2c2c936 100644 --- a/src/USER-SMD/atom_vec_smd.h +++ b/src/MACHDYN/atom_vec_smd.h @@ -2,7 +2,7 @@ * * *** Smooth Mach Dynamics *** * - * This file is part of the USER-SMD package for LAMMPS. + * This file is part of the MACHDYN package for LAMMPS. * Copyright (2014) Georg C. Ganzenmueller, georg.ganzenmueller@emi.fhg.de * Fraunhofer Ernst-Mach Institute for High-Speed Dynamics, EMI, * Eckerstrasse 4, D-79104 Freiburg i.Br, Germany. diff --git a/src/USER-SMD/compute_smd_contact_radius.cpp b/src/MACHDYN/compute_smd_contact_radius.cpp similarity index 98% rename from src/USER-SMD/compute_smd_contact_radius.cpp rename to src/MACHDYN/compute_smd_contact_radius.cpp index 82186c96b4..7a10b563f8 100644 --- a/src/USER-SMD/compute_smd_contact_radius.cpp +++ b/src/MACHDYN/compute_smd_contact_radius.cpp @@ -3,7 +3,7 @@ * * *** Smooth Mach Dynamics *** * - * This file is part of the USER-SMD package for LAMMPS. + * This file is part of the MACHDYN package for LAMMPS. * Copyright (2014) Georg C. Ganzenmueller, georg.ganzenmueller@emi.fhg.de * Fraunhofer Ernst-Mach Institute for High-Speed Dynamics, EMI, * Eckerstrasse 4, D-79104 Freiburg i.Br, Germany. diff --git a/src/USER-SMD/compute_smd_contact_radius.h b/src/MACHDYN/compute_smd_contact_radius.h similarity index 96% rename from src/USER-SMD/compute_smd_contact_radius.h rename to src/MACHDYN/compute_smd_contact_radius.h index 503ae386a7..87f3208dd3 100644 --- a/src/USER-SMD/compute_smd_contact_radius.h +++ b/src/MACHDYN/compute_smd_contact_radius.h @@ -2,7 +2,7 @@ * * *** Smooth Mach Dynamics *** * - * This file is part of the USER-SMD package for LAMMPS. + * This file is part of the MACHDYN package for LAMMPS. * Copyright (2014) Georg C. Ganzenmueller, georg.ganzenmueller@emi.fhg.de * Fraunhofer Ernst-Mach Institute for High-Speed Dynamics, EMI, * Eckerstrasse 4, D-79104 Freiburg i.Br, Germany. diff --git a/src/USER-SMD/compute_smd_damage.cpp b/src/MACHDYN/compute_smd_damage.cpp similarity index 98% rename from src/USER-SMD/compute_smd_damage.cpp rename to src/MACHDYN/compute_smd_damage.cpp index 23a74123bf..f3b52ccfce 100644 --- a/src/USER-SMD/compute_smd_damage.cpp +++ b/src/MACHDYN/compute_smd_damage.cpp @@ -3,7 +3,7 @@ * * *** Smooth Mach Dynamics *** * - * This file is part of the USER-SMD package for LAMMPS. + * This file is part of the MACHDYN package for LAMMPS. * Copyright (2014) Georg C. Ganzenmueller, georg.ganzenmueller@emi.fhg.de * Fraunhofer Ernst-Mach Institute for High-Speed Dynamics, EMI, * Eckerstrasse 4, D-79104 Freiburg i.Br, Germany. diff --git a/src/USER-SMD/compute_smd_damage.h b/src/MACHDYN/compute_smd_damage.h similarity index 96% rename from src/USER-SMD/compute_smd_damage.h rename to src/MACHDYN/compute_smd_damage.h index 21956c9819..ac1fcb1bb4 100644 --- a/src/USER-SMD/compute_smd_damage.h +++ b/src/MACHDYN/compute_smd_damage.h @@ -2,7 +2,7 @@ * * *** Smooth Mach Dynamics *** * - * This file is part of the USER-SMD package for LAMMPS. + * This file is part of the MACHDYN package for LAMMPS. * Copyright (2014) Georg C. Ganzenmueller, georg.ganzenmueller@emi.fhg.de * Fraunhofer Ernst-Mach Institute for High-Speed Dynamics, EMI, * Eckerstrasse 4, D-79104 Freiburg i.Br, Germany. diff --git a/src/USER-SMD/compute_smd_hourglass_error.cpp b/src/MACHDYN/compute_smd_hourglass_error.cpp similarity index 98% rename from src/USER-SMD/compute_smd_hourglass_error.cpp rename to src/MACHDYN/compute_smd_hourglass_error.cpp index 53289c6d12..b0d01d2b14 100644 --- a/src/USER-SMD/compute_smd_hourglass_error.cpp +++ b/src/MACHDYN/compute_smd_hourglass_error.cpp @@ -3,7 +3,7 @@ * * *** Smooth Mach Dynamics *** * - * This file is part of the USER-SMD package for LAMMPS. + * This file is part of the MACHDYN package for LAMMPS. * Copyright (2014) Georg C. Ganzenmueller, georg.ganzenmueller@emi.fhg.de * Fraunhofer Ernst-Mach Institute for High-Speed Dynamics, EMI, * Eckerstrasse 4, D-79104 Freiburg i.Br, Germany. diff --git a/src/USER-SMD/compute_smd_hourglass_error.h b/src/MACHDYN/compute_smd_hourglass_error.h similarity index 96% rename from src/USER-SMD/compute_smd_hourglass_error.h rename to src/MACHDYN/compute_smd_hourglass_error.h index b7e513f182..32b5b90d56 100644 --- a/src/USER-SMD/compute_smd_hourglass_error.h +++ b/src/MACHDYN/compute_smd_hourglass_error.h @@ -2,7 +2,7 @@ * * *** Smooth Mach Dynamics *** * - * This file is part of the USER-SMD package for LAMMPS. + * This file is part of the MACHDYN package for LAMMPS. * Copyright (2014) Georg C. Ganzenmueller, georg.ganzenmueller@emi.fhg.de * Fraunhofer Ernst-Mach Institute for High-Speed Dynamics, EMI, * Eckerstrasse 4, D-79104 Freiburg i.Br, Germany. diff --git a/src/USER-SMD/compute_smd_internal_energy.cpp b/src/MACHDYN/compute_smd_internal_energy.cpp similarity index 98% rename from src/USER-SMD/compute_smd_internal_energy.cpp rename to src/MACHDYN/compute_smd_internal_energy.cpp index aa59d7cc00..0d17588b13 100644 --- a/src/USER-SMD/compute_smd_internal_energy.cpp +++ b/src/MACHDYN/compute_smd_internal_energy.cpp @@ -3,7 +3,7 @@ * * *** Smooth Mach Dynamics *** * - * This file is part of the USER-SMD package for LAMMPS. + * This file is part of the MACHDYN package for LAMMPS. * Copyright (2014) Georg C. Ganzenmueller, georg.ganzenmueller@emi.fhg.de * Fraunhofer Ernst-Mach Institute for High-Speed Dynamics, EMI, * Eckerstrasse 4, D-79104 Freiburg i.Br, Germany. diff --git a/src/USER-SMD/compute_smd_internal_energy.h b/src/MACHDYN/compute_smd_internal_energy.h similarity index 96% rename from src/USER-SMD/compute_smd_internal_energy.h rename to src/MACHDYN/compute_smd_internal_energy.h index 3277bf028c..b4aaaf6b40 100644 --- a/src/USER-SMD/compute_smd_internal_energy.h +++ b/src/MACHDYN/compute_smd_internal_energy.h @@ -2,7 +2,7 @@ * * *** Smooth Mach Dynamics *** * - * This file is part of the USER-SMD package for LAMMPS. + * This file is part of the MACHDYN package for LAMMPS. * Copyright (2014) Georg C. Ganzenmueller, georg.ganzenmueller@emi.fhg.de * Fraunhofer Ernst-Mach Institute for High-Speed Dynamics, EMI, * Eckerstrasse 4, D-79104 Freiburg i.Br, Germany. diff --git a/src/USER-SMD/compute_smd_plastic_strain.cpp b/src/MACHDYN/compute_smd_plastic_strain.cpp similarity index 98% rename from src/USER-SMD/compute_smd_plastic_strain.cpp rename to src/MACHDYN/compute_smd_plastic_strain.cpp index 5d98650226..3f5fbdf090 100644 --- a/src/USER-SMD/compute_smd_plastic_strain.cpp +++ b/src/MACHDYN/compute_smd_plastic_strain.cpp @@ -3,7 +3,7 @@ * * *** Smooth Mach Dynamics *** * - * This file is part of the USER-SMD package for LAMMPS. + * This file is part of the MACHDYN package for LAMMPS. * Copyright (2014) Georg C. Ganzenmueller, georg.ganzenmueller@emi.fhg.de * Fraunhofer Ernst-Mach Institute for High-Speed Dynamics, EMI, * Eckerstrasse 4, D-79104 Freiburg i.Br, Germany. diff --git a/src/USER-SMD/compute_smd_plastic_strain.h b/src/MACHDYN/compute_smd_plastic_strain.h similarity index 96% rename from src/USER-SMD/compute_smd_plastic_strain.h rename to src/MACHDYN/compute_smd_plastic_strain.h index 92409afbf8..7e319610a3 100644 --- a/src/USER-SMD/compute_smd_plastic_strain.h +++ b/src/MACHDYN/compute_smd_plastic_strain.h @@ -2,7 +2,7 @@ * * *** Smooth Mach Dynamics *** * - * This file is part of the USER-SMD package for LAMMPS. + * This file is part of the MACHDYN package for LAMMPS. * Copyright (2014) Georg C. Ganzenmueller, georg.ganzenmueller@emi.fhg.de * Fraunhofer Ernst-Mach Institute for High-Speed Dynamics, EMI, * Eckerstrasse 4, D-79104 Freiburg i.Br, Germany. diff --git a/src/USER-SMD/compute_smd_plastic_strain_rate.cpp b/src/MACHDYN/compute_smd_plastic_strain_rate.cpp similarity index 98% rename from src/USER-SMD/compute_smd_plastic_strain_rate.cpp rename to src/MACHDYN/compute_smd_plastic_strain_rate.cpp index da9f4846cc..d215b0e321 100644 --- a/src/USER-SMD/compute_smd_plastic_strain_rate.cpp +++ b/src/MACHDYN/compute_smd_plastic_strain_rate.cpp @@ -3,7 +3,7 @@ * * *** Smooth Mach Dynamics *** * - * This file is part of the USER-SMD package for LAMMPS. + * This file is part of the MACHDYN package for LAMMPS. * Copyright (2014) Georg C. Ganzenmueller, georg.ganzenmueller@emi.fhg.de * Fraunhofer Ernst-Mach Institute for High-Speed Dynamics, EMI, * Eckerstrasse 4, D-79104 Freiburg i.Br, Germany. diff --git a/src/USER-SMD/compute_smd_plastic_strain_rate.h b/src/MACHDYN/compute_smd_plastic_strain_rate.h similarity index 96% rename from src/USER-SMD/compute_smd_plastic_strain_rate.h rename to src/MACHDYN/compute_smd_plastic_strain_rate.h index 745b9ed3cc..d0ea09af26 100644 --- a/src/USER-SMD/compute_smd_plastic_strain_rate.h +++ b/src/MACHDYN/compute_smd_plastic_strain_rate.h @@ -2,7 +2,7 @@ * * *** Smooth Mach Dynamics *** * - * This file is part of the USER-SMD package for LAMMPS. + * This file is part of the MACHDYN package for LAMMPS. * Copyright (2014) Georg C. Ganzenmueller, georg.ganzenmueller@emi.fhg.de * Fraunhofer Ernst-Mach Institute for High-Speed Dynamics, EMI, * Eckerstrasse 4, D-79104 Freiburg i.Br, Germany. diff --git a/src/USER-SMD/compute_smd_rho.cpp b/src/MACHDYN/compute_smd_rho.cpp similarity index 98% rename from src/USER-SMD/compute_smd_rho.cpp rename to src/MACHDYN/compute_smd_rho.cpp index cffe71ade3..f05c7c6e83 100644 --- a/src/USER-SMD/compute_smd_rho.cpp +++ b/src/MACHDYN/compute_smd_rho.cpp @@ -3,7 +3,7 @@ * * *** Smooth Mach Dynamics *** * - * This file is part of the USER-SMD package for LAMMPS. + * This file is part of the MACHDYN package for LAMMPS. * Copyright (2014) Georg C. Ganzenmueller, georg.ganzenmueller@emi.fhg.de * Fraunhofer Ernst-Mach Institute for High-Speed Dynamics, EMI, * Eckerstrasse 4, D-79104 Freiburg i.Br, Germany. diff --git a/src/USER-SMD/compute_smd_rho.h b/src/MACHDYN/compute_smd_rho.h similarity index 96% rename from src/USER-SMD/compute_smd_rho.h rename to src/MACHDYN/compute_smd_rho.h index 85335bbce8..954caade5d 100644 --- a/src/USER-SMD/compute_smd_rho.h +++ b/src/MACHDYN/compute_smd_rho.h @@ -2,7 +2,7 @@ * * *** Smooth Mach Dynamics *** * - * This file is part of the USER-SMD package for LAMMPS. + * This file is part of the MACHDYN package for LAMMPS. * Copyright (2014) Georg C. Ganzenmueller, georg.ganzenmueller@emi.fhg.de * Fraunhofer Ernst-Mach Institute for High-Speed Dynamics, EMI, * Eckerstrasse 4, D-79104 Freiburg i.Br, Germany. diff --git a/src/USER-SMD/compute_smd_tlsph_defgrad.cpp b/src/MACHDYN/compute_smd_tlsph_defgrad.cpp similarity index 98% rename from src/USER-SMD/compute_smd_tlsph_defgrad.cpp rename to src/MACHDYN/compute_smd_tlsph_defgrad.cpp index 0611dab47b..e8c78821dc 100644 --- a/src/USER-SMD/compute_smd_tlsph_defgrad.cpp +++ b/src/MACHDYN/compute_smd_tlsph_defgrad.cpp @@ -3,7 +3,7 @@ * * *** Smooth Mach Dynamics *** * - * This file is part of the USER-SMD package for LAMMPS. + * This file is part of the MACHDYN package for LAMMPS. * Copyright (2014) Georg C. Ganzenmueller, georg.ganzenmueller@emi.fhg.de * Fraunhofer Ernst-Mach Institute for High-Speed Dynamics, EMI, * Eckerstrasse 4, D-79104 Freiburg i.Br, Germany. diff --git a/src/USER-SMD/compute_smd_tlsph_defgrad.h b/src/MACHDYN/compute_smd_tlsph_defgrad.h similarity index 96% rename from src/USER-SMD/compute_smd_tlsph_defgrad.h rename to src/MACHDYN/compute_smd_tlsph_defgrad.h index ece997771b..eed4066867 100644 --- a/src/USER-SMD/compute_smd_tlsph_defgrad.h +++ b/src/MACHDYN/compute_smd_tlsph_defgrad.h @@ -2,7 +2,7 @@ * * *** Smooth Mach Dynamics *** * - * This file is part of the USER-SMD package for LAMMPS. + * This file is part of the MACHDYN package for LAMMPS. * Copyright (2014) Georg C. Ganzenmueller, georg.ganzenmueller@emi.fhg.de * Fraunhofer Ernst-Mach Institute for High-Speed Dynamics, EMI, * Eckerstrasse 4, D-79104 Freiburg i.Br, Germany. diff --git a/src/USER-SMD/compute_smd_tlsph_dt.cpp b/src/MACHDYN/compute_smd_tlsph_dt.cpp similarity index 98% rename from src/USER-SMD/compute_smd_tlsph_dt.cpp rename to src/MACHDYN/compute_smd_tlsph_dt.cpp index 8000de9c59..ca1973309f 100644 --- a/src/USER-SMD/compute_smd_tlsph_dt.cpp +++ b/src/MACHDYN/compute_smd_tlsph_dt.cpp @@ -3,7 +3,7 @@ * * *** Smooth Mach Dynamics *** * - * This file is part of the USER-SMD package for LAMMPS. + * This file is part of the MACHDYN package for LAMMPS. * Copyright (2014) Georg C. Ganzenmueller, georg.ganzenmueller@emi.fhg.de * Fraunhofer Ernst-Mach Institute for High-Speed Dynamics, EMI, * Eckerstrasse 4, D-79104 Freiburg i.Br, Germany. diff --git a/src/USER-SMD/compute_smd_tlsph_dt.h b/src/MACHDYN/compute_smd_tlsph_dt.h similarity index 96% rename from src/USER-SMD/compute_smd_tlsph_dt.h rename to src/MACHDYN/compute_smd_tlsph_dt.h index 1fedd6d36d..e57db2dd74 100644 --- a/src/USER-SMD/compute_smd_tlsph_dt.h +++ b/src/MACHDYN/compute_smd_tlsph_dt.h @@ -2,7 +2,7 @@ * * *** Smooth Mach Dynamics *** * - * This file is part of the USER-SMD package for LAMMPS. + * This file is part of the MACHDYN package for LAMMPS. * Copyright (2014) Georg C. Ganzenmueller, georg.ganzenmueller@emi.fhg.de * Fraunhofer Ernst-Mach Institute for High-Speed Dynamics, EMI, * Eckerstrasse 4, D-79104 Freiburg i.Br, Germany. diff --git a/src/USER-SMD/compute_smd_tlsph_num_neighs.cpp b/src/MACHDYN/compute_smd_tlsph_num_neighs.cpp similarity index 98% rename from src/USER-SMD/compute_smd_tlsph_num_neighs.cpp rename to src/MACHDYN/compute_smd_tlsph_num_neighs.cpp index f7d95410ae..230a5946f8 100644 --- a/src/USER-SMD/compute_smd_tlsph_num_neighs.cpp +++ b/src/MACHDYN/compute_smd_tlsph_num_neighs.cpp @@ -3,7 +3,7 @@ * * *** Smooth Mach Dynamics *** * - * This file is part of the USER-SMD package for LAMMPS. + * This file is part of the MACHDYN package for LAMMPS. * Copyright (2014) Georg C. Ganzenmueller, georg.ganzenmueller@emi.fhg.de * Fraunhofer Ernst-Mach Institute for High-Speed Dynamics, EMI, * Eckerstrasse 4, D-79104 Freiburg i.Br, Germany. diff --git a/src/USER-SMD/compute_smd_tlsph_num_neighs.h b/src/MACHDYN/compute_smd_tlsph_num_neighs.h similarity index 97% rename from src/USER-SMD/compute_smd_tlsph_num_neighs.h rename to src/MACHDYN/compute_smd_tlsph_num_neighs.h index ad6311d60d..e3531a47ea 100644 --- a/src/USER-SMD/compute_smd_tlsph_num_neighs.h +++ b/src/MACHDYN/compute_smd_tlsph_num_neighs.h @@ -2,7 +2,7 @@ * * *** Smooth Mach Dynamics *** * - * This file is part of the USER-SMD package for LAMMPS. + * This file is part of the MACHDYN package for LAMMPS. * Copyright (2014) Georg C. Ganzenmueller, georg.ganzenmueller@emi.fhg.de * Fraunhofer Ernst-Mach Institute for High-Speed Dynamics, EMI, * Eckerstrasse 4, D-79104 Freiburg i.Br, Germany. diff --git a/src/USER-SMD/compute_smd_tlsph_shape.cpp b/src/MACHDYN/compute_smd_tlsph_shape.cpp similarity index 98% rename from src/USER-SMD/compute_smd_tlsph_shape.cpp rename to src/MACHDYN/compute_smd_tlsph_shape.cpp index b2d38b2af2..1887de683c 100644 --- a/src/USER-SMD/compute_smd_tlsph_shape.cpp +++ b/src/MACHDYN/compute_smd_tlsph_shape.cpp @@ -3,7 +3,7 @@ * * *** Smooth Mach Dynamics *** * - * This file is part of the USER-SMD package for LAMMPS. + * This file is part of the MACHDYN package for LAMMPS. * Copyright (2014) Georg C. Ganzenmueller, georg.ganzenmueller@emi.fhg.de * Fraunhofer Ernst-Mach Institute for High-Speed Dynamics, EMI, * Eckerstrasse 4, D-79104 Freiburg i.Br, Germany. diff --git a/src/USER-SMD/compute_smd_tlsph_shape.h b/src/MACHDYN/compute_smd_tlsph_shape.h similarity index 96% rename from src/USER-SMD/compute_smd_tlsph_shape.h rename to src/MACHDYN/compute_smd_tlsph_shape.h index c1b9b69bfb..76298cf30c 100644 --- a/src/USER-SMD/compute_smd_tlsph_shape.h +++ b/src/MACHDYN/compute_smd_tlsph_shape.h @@ -2,7 +2,7 @@ * * *** Smooth Mach Dynamics *** * - * This file is part of the USER-SMD package for LAMMPS. + * This file is part of the MACHDYN package for LAMMPS. * Copyright (2014) Georg C. Ganzenmueller, georg.ganzenmueller@emi.fhg.de * Fraunhofer Ernst-Mach Institute for High-Speed Dynamics, EMI, * Eckerstrasse 4, D-79104 Freiburg i.Br, Germany. diff --git a/src/USER-SMD/compute_smd_tlsph_strain.cpp b/src/MACHDYN/compute_smd_tlsph_strain.cpp similarity index 98% rename from src/USER-SMD/compute_smd_tlsph_strain.cpp rename to src/MACHDYN/compute_smd_tlsph_strain.cpp index 19ce976509..30f158a3f1 100644 --- a/src/USER-SMD/compute_smd_tlsph_strain.cpp +++ b/src/MACHDYN/compute_smd_tlsph_strain.cpp @@ -3,7 +3,7 @@ * * *** Smooth Mach Dynamics *** * - * This file is part of the USER-SMD package for LAMMPS. + * This file is part of the MACHDYN package for LAMMPS. * Copyright (2014) Georg C. Ganzenmueller, georg.ganzenmueller@emi.fhg.de * Fraunhofer Ernst-Mach Institute for High-Speed Dynamics, EMI, * Eckerstrasse 4, D-79104 Freiburg i.Br, Germany. diff --git a/src/USER-SMD/compute_smd_tlsph_strain.h b/src/MACHDYN/compute_smd_tlsph_strain.h similarity index 96% rename from src/USER-SMD/compute_smd_tlsph_strain.h rename to src/MACHDYN/compute_smd_tlsph_strain.h index f94385b7fe..426cb6dea9 100644 --- a/src/USER-SMD/compute_smd_tlsph_strain.h +++ b/src/MACHDYN/compute_smd_tlsph_strain.h @@ -2,7 +2,7 @@ * * *** Smooth Mach Dynamics *** * - * This file is part of the USER-SMD package for LAMMPS. + * This file is part of the MACHDYN package for LAMMPS. * Copyright (2014) Georg C. Ganzenmueller, georg.ganzenmueller@emi.fhg.de * Fraunhofer Ernst-Mach Institute for High-Speed Dynamics, EMI, * Eckerstrasse 4, D-79104 Freiburg i.Br, Germany. diff --git a/src/USER-SMD/compute_smd_tlsph_strain_rate.cpp b/src/MACHDYN/compute_smd_tlsph_strain_rate.cpp similarity index 98% rename from src/USER-SMD/compute_smd_tlsph_strain_rate.cpp rename to src/MACHDYN/compute_smd_tlsph_strain_rate.cpp index adb0bbcf6d..1889cbcc0f 100644 --- a/src/USER-SMD/compute_smd_tlsph_strain_rate.cpp +++ b/src/MACHDYN/compute_smd_tlsph_strain_rate.cpp @@ -3,7 +3,7 @@ * * *** Smooth Mach Dynamics *** * - * This file is part of the USER-SMD package for LAMMPS. + * This file is part of the MACHDYN package for LAMMPS. * Copyright (2014) Georg C. Ganzenmueller, georg.ganzenmueller@emi.fhg.de * Fraunhofer Ernst-Mach Institute for High-Speed Dynamics, EMI, * Eckerstrasse 4, D-79104 Freiburg i.Br, Germany. diff --git a/src/USER-SMD/compute_smd_tlsph_strain_rate.h b/src/MACHDYN/compute_smd_tlsph_strain_rate.h similarity index 96% rename from src/USER-SMD/compute_smd_tlsph_strain_rate.h rename to src/MACHDYN/compute_smd_tlsph_strain_rate.h index 35d2a80519..7fd851725c 100644 --- a/src/USER-SMD/compute_smd_tlsph_strain_rate.h +++ b/src/MACHDYN/compute_smd_tlsph_strain_rate.h @@ -2,7 +2,7 @@ * * *** Smooth Mach Dynamics *** * - * This file is part of the USER-SMD package for LAMMPS. + * This file is part of the MACHDYN package for LAMMPS. * Copyright (2014) Georg C. Ganzenmueller, georg.ganzenmueller@emi.fhg.de * Fraunhofer Ernst-Mach Institute for High-Speed Dynamics, EMI, * Eckerstrasse 4, D-79104 Freiburg i.Br, Germany. diff --git a/src/USER-SMD/compute_smd_tlsph_stress.cpp b/src/MACHDYN/compute_smd_tlsph_stress.cpp similarity index 98% rename from src/USER-SMD/compute_smd_tlsph_stress.cpp rename to src/MACHDYN/compute_smd_tlsph_stress.cpp index 75a06a45e9..038e09a3c0 100644 --- a/src/USER-SMD/compute_smd_tlsph_stress.cpp +++ b/src/MACHDYN/compute_smd_tlsph_stress.cpp @@ -3,7 +3,7 @@ * * *** Smooth Mach Dynamics *** * - * This file is part of the USER-SMD package for LAMMPS. + * This file is part of the MACHDYN package for LAMMPS. * Copyright (2014) Georg C. Ganzenmueller, georg.ganzenmueller@emi.fhg.de * Fraunhofer Ernst-Mach Institute for High-Speed Dynamics, EMI, * Eckerstrasse 4, D-79104 Freiburg i.Br, Germany. diff --git a/src/USER-SMD/compute_smd_tlsph_stress.h b/src/MACHDYN/compute_smd_tlsph_stress.h similarity index 96% rename from src/USER-SMD/compute_smd_tlsph_stress.h rename to src/MACHDYN/compute_smd_tlsph_stress.h index 7bb0250620..4ef4199e48 100644 --- a/src/USER-SMD/compute_smd_tlsph_stress.h +++ b/src/MACHDYN/compute_smd_tlsph_stress.h @@ -2,7 +2,7 @@ * * *** Smooth Mach Dynamics *** * - * This file is part of the USER-SMD package for LAMMPS. + * This file is part of the MACHDYN package for LAMMPS. * Copyright (2014) Georg C. Ganzenmueller, georg.ganzenmueller@emi.fhg.de * Fraunhofer Ernst-Mach Institute for High-Speed Dynamics, EMI, * Eckerstrasse 4, D-79104 Freiburg i.Br, Germany. diff --git a/src/USER-SMD/compute_smd_triangle_vertices.cpp b/src/MACHDYN/compute_smd_triangle_vertices.cpp similarity index 98% rename from src/USER-SMD/compute_smd_triangle_vertices.cpp rename to src/MACHDYN/compute_smd_triangle_vertices.cpp index c4b832faa3..016ae3e85f 100644 --- a/src/USER-SMD/compute_smd_triangle_vertices.cpp +++ b/src/MACHDYN/compute_smd_triangle_vertices.cpp @@ -3,7 +3,7 @@ * * *** Smooth Mach Dynamics *** * - * This file is part of the USER-SMD package for LAMMPS. + * This file is part of the MACHDYN package for LAMMPS. * Copyright (2014) Georg C. Ganzenmueller, georg.ganzenmueller@emi.fhg.de * Fraunhofer Ernst-Mach Institute for High-Speed Dynamics, EMI, * Eckerstrasse 4, D-79104 Freiburg i.Br, Germany. diff --git a/src/USER-SMD/compute_smd_triangle_vertices.h b/src/MACHDYN/compute_smd_triangle_vertices.h similarity index 96% rename from src/USER-SMD/compute_smd_triangle_vertices.h rename to src/MACHDYN/compute_smd_triangle_vertices.h index fe369580aa..06be1a4e1a 100644 --- a/src/USER-SMD/compute_smd_triangle_vertices.h +++ b/src/MACHDYN/compute_smd_triangle_vertices.h @@ -2,7 +2,7 @@ * * *** Smooth Mach Dynamics *** * - * This file is part of the USER-SMD package for LAMMPS. + * This file is part of the MACHDYN package for LAMMPS. * Copyright (2014) Georg C. Ganzenmueller, georg.ganzenmueller@emi.fhg.de * Fraunhofer Ernst-Mach Institute for High-Speed Dynamics, EMI, * Eckerstrasse 4, D-79104 Freiburg i.Br, Germany. diff --git a/src/USER-SMD/compute_smd_ulsph_effm.cpp b/src/MACHDYN/compute_smd_ulsph_effm.cpp similarity index 98% rename from src/USER-SMD/compute_smd_ulsph_effm.cpp rename to src/MACHDYN/compute_smd_ulsph_effm.cpp index edf9355f20..24cae6b14e 100644 --- a/src/USER-SMD/compute_smd_ulsph_effm.cpp +++ b/src/MACHDYN/compute_smd_ulsph_effm.cpp @@ -3,7 +3,7 @@ * * *** Smooth Mach Dynamics *** * - * This file is part of the USER-SMD package for LAMMPS. + * This file is part of the MACHDYN package for LAMMPS. * Copyright (2014) Georg C. Ganzenmueller, georg.ganzenmueller@emi.fhg.de * Fraunhofer Ernst-Mach Institute for High-Speed Dynamics, EMI, * Eckerstrasse 4, D-79104 Freiburg i.Br, Germany. diff --git a/src/USER-SMD/compute_smd_ulsph_effm.h b/src/MACHDYN/compute_smd_ulsph_effm.h similarity index 96% rename from src/USER-SMD/compute_smd_ulsph_effm.h rename to src/MACHDYN/compute_smd_ulsph_effm.h index 8839f1dcbc..836a3d2a74 100644 --- a/src/USER-SMD/compute_smd_ulsph_effm.h +++ b/src/MACHDYN/compute_smd_ulsph_effm.h @@ -2,7 +2,7 @@ * * *** Smooth Mach Dynamics *** * - * This file is part of the USER-SMD package for LAMMPS. + * This file is part of the MACHDYN package for LAMMPS. * Copyright (2014) Georg C. Ganzenmueller, georg.ganzenmueller@emi.fhg.de * Fraunhofer Ernst-Mach Institute for High-Speed Dynamics, EMI, * Eckerstrasse 4, D-79104 Freiburg i.Br, Germany. diff --git a/src/USER-SMD/compute_smd_ulsph_num_neighs.cpp b/src/MACHDYN/compute_smd_ulsph_num_neighs.cpp similarity index 98% rename from src/USER-SMD/compute_smd_ulsph_num_neighs.cpp rename to src/MACHDYN/compute_smd_ulsph_num_neighs.cpp index 5b900fc15d..7c181a6a82 100644 --- a/src/USER-SMD/compute_smd_ulsph_num_neighs.cpp +++ b/src/MACHDYN/compute_smd_ulsph_num_neighs.cpp @@ -3,7 +3,7 @@ * * *** Smooth Mach Dynamics *** * - * This file is part of the USER-SMD package for LAMMPS. + * This file is part of the MACHDYN package for LAMMPS. * Copyright (2014) Georg C. Ganzenmueller, georg.ganzenmueller@emi.fhg.de * Fraunhofer Ernst-Mach Institute for High-Speed Dynamics, EMI, * Eckerstrasse 4, D-79104 Freiburg i.Br, Germany. diff --git a/src/USER-SMD/compute_smd_ulsph_num_neighs.h b/src/MACHDYN/compute_smd_ulsph_num_neighs.h similarity index 97% rename from src/USER-SMD/compute_smd_ulsph_num_neighs.h rename to src/MACHDYN/compute_smd_ulsph_num_neighs.h index 75217d7685..527ba17737 100644 --- a/src/USER-SMD/compute_smd_ulsph_num_neighs.h +++ b/src/MACHDYN/compute_smd_ulsph_num_neighs.h @@ -2,7 +2,7 @@ * * *** Smooth Mach Dynamics *** * - * This file is part of the USER-SMD package for LAMMPS. + * This file is part of the MACHDYN package for LAMMPS. * Copyright (2014) Georg C. Ganzenmueller, georg.ganzenmueller@emi.fhg.de * Fraunhofer Ernst-Mach Institute for High-Speed Dynamics, EMI, * Eckerstrasse 4, D-79104 Freiburg i.Br, Germany. diff --git a/src/USER-SMD/compute_smd_ulsph_strain.cpp b/src/MACHDYN/compute_smd_ulsph_strain.cpp similarity index 98% rename from src/USER-SMD/compute_smd_ulsph_strain.cpp rename to src/MACHDYN/compute_smd_ulsph_strain.cpp index 3dbfc02391..eed26821b0 100644 --- a/src/USER-SMD/compute_smd_ulsph_strain.cpp +++ b/src/MACHDYN/compute_smd_ulsph_strain.cpp @@ -3,7 +3,7 @@ * * *** Smooth Mach Dynamics *** * - * This file is part of the USER-SMD package for LAMMPS. + * This file is part of the MACHDYN package for LAMMPS. * Copyright (2014) Georg C. Ganzenmueller, georg.ganzenmueller@emi.fhg.de * Fraunhofer Ernst-Mach Institute for High-Speed Dynamics, EMI, * Eckerstrasse 4, D-79104 Freiburg i.Br, Germany. diff --git a/src/USER-SMD/compute_smd_ulsph_strain.h b/src/MACHDYN/compute_smd_ulsph_strain.h similarity index 96% rename from src/USER-SMD/compute_smd_ulsph_strain.h rename to src/MACHDYN/compute_smd_ulsph_strain.h index 6265a9ab5e..54f53f6782 100644 --- a/src/USER-SMD/compute_smd_ulsph_strain.h +++ b/src/MACHDYN/compute_smd_ulsph_strain.h @@ -2,7 +2,7 @@ * * *** Smooth Mach Dynamics *** * - * This file is part of the USER-SMD package for LAMMPS. + * This file is part of the MACHDYN package for LAMMPS. * Copyright (2014) Georg C. Ganzenmueller, georg.ganzenmueller@emi.fhg.de * Fraunhofer Ernst-Mach Institute for High-Speed Dynamics, EMI, * Eckerstrasse 4, D-79104 Freiburg i.Br, Germany. diff --git a/src/USER-SMD/compute_smd_ulsph_strain_rate.cpp b/src/MACHDYN/compute_smd_ulsph_strain_rate.cpp similarity index 98% rename from src/USER-SMD/compute_smd_ulsph_strain_rate.cpp rename to src/MACHDYN/compute_smd_ulsph_strain_rate.cpp index d44a6bac70..9e2709eb0a 100644 --- a/src/USER-SMD/compute_smd_ulsph_strain_rate.cpp +++ b/src/MACHDYN/compute_smd_ulsph_strain_rate.cpp @@ -3,7 +3,7 @@ * * *** Smooth Mach Dynamics *** * - * This file is part of the USER-SMD package for LAMMPS. + * This file is part of the MACHDYN package for LAMMPS. * Copyright (2014) Georg C. Ganzenmueller, georg.ganzenmueller@emi.fhg.de * Fraunhofer Ernst-Mach Institute for High-Speed Dynamics, EMI, * Eckerstrasse 4, D-79104 Freiburg i.Br, Germany. diff --git a/src/USER-SMD/compute_smd_ulsph_strain_rate.h b/src/MACHDYN/compute_smd_ulsph_strain_rate.h similarity index 96% rename from src/USER-SMD/compute_smd_ulsph_strain_rate.h rename to src/MACHDYN/compute_smd_ulsph_strain_rate.h index 8ccd5695c1..ab97d7a924 100644 --- a/src/USER-SMD/compute_smd_ulsph_strain_rate.h +++ b/src/MACHDYN/compute_smd_ulsph_strain_rate.h @@ -2,7 +2,7 @@ * * *** Smooth Mach Dynamics *** * - * This file is part of the USER-SMD package for LAMMPS. + * This file is part of the MACHDYN package for LAMMPS. * Copyright (2014) Georg C. Ganzenmueller, georg.ganzenmueller@emi.fhg.de * Fraunhofer Ernst-Mach Institute for High-Speed Dynamics, EMI, * Eckerstrasse 4, D-79104 Freiburg i.Br, Germany. diff --git a/src/USER-SMD/compute_smd_ulsph_stress.cpp b/src/MACHDYN/compute_smd_ulsph_stress.cpp similarity index 98% rename from src/USER-SMD/compute_smd_ulsph_stress.cpp rename to src/MACHDYN/compute_smd_ulsph_stress.cpp index eadfbfc1b0..9aa75b76e8 100644 --- a/src/USER-SMD/compute_smd_ulsph_stress.cpp +++ b/src/MACHDYN/compute_smd_ulsph_stress.cpp @@ -3,7 +3,7 @@ * * *** Smooth Mach Dynamics *** * - * This file is part of the USER-SMD package for LAMMPS. + * This file is part of the MACHDYN package for LAMMPS. * Copyright (2014) Georg C. Ganzenmueller, georg.ganzenmueller@emi.fhg.de * Fraunhofer Ernst-Mach Institute for High-Speed Dynamics, EMI, * Eckerstrasse 4, D-79104 Freiburg i.Br, Germany. diff --git a/src/USER-SMD/compute_smd_ulsph_stress.h b/src/MACHDYN/compute_smd_ulsph_stress.h similarity index 96% rename from src/USER-SMD/compute_smd_ulsph_stress.h rename to src/MACHDYN/compute_smd_ulsph_stress.h index bcb6098b64..6f3182f5f4 100644 --- a/src/USER-SMD/compute_smd_ulsph_stress.h +++ b/src/MACHDYN/compute_smd_ulsph_stress.h @@ -2,7 +2,7 @@ * * *** Smooth Mach Dynamics *** * - * This file is part of the USER-SMD package for LAMMPS. + * This file is part of the MACHDYN package for LAMMPS. * Copyright (2014) Georg C. Ganzenmueller, georg.ganzenmueller@emi.fhg.de * Fraunhofer Ernst-Mach Institute for High-Speed Dynamics, EMI, * Eckerstrasse 4, D-79104 Freiburg i.Br, Germany. diff --git a/src/USER-SMD/compute_smd_vol.cpp b/src/MACHDYN/compute_smd_vol.cpp similarity index 98% rename from src/USER-SMD/compute_smd_vol.cpp rename to src/MACHDYN/compute_smd_vol.cpp index 873699a591..2fdc4e34d2 100644 --- a/src/USER-SMD/compute_smd_vol.cpp +++ b/src/MACHDYN/compute_smd_vol.cpp @@ -3,7 +3,7 @@ * * *** Smooth Mach Dynamics *** * - * This file is part of the USER-SMD package for LAMMPS. + * This file is part of the MACHDYN package for LAMMPS. * Copyright (2014) Georg C. Ganzenmueller, georg.ganzenmueller@emi.fhg.de * Fraunhofer Ernst-Mach Institute for High-Speed Dynamics, EMI, * Eckerstrasse 4, D-79104 Freiburg i.Br, Germany. diff --git a/src/USER-SMD/compute_smd_vol.h b/src/MACHDYN/compute_smd_vol.h similarity index 96% rename from src/USER-SMD/compute_smd_vol.h rename to src/MACHDYN/compute_smd_vol.h index ab9143d41c..c0fd4550b4 100644 --- a/src/USER-SMD/compute_smd_vol.h +++ b/src/MACHDYN/compute_smd_vol.h @@ -2,7 +2,7 @@ * * *** Smooth Mach Dynamics *** * - * This file is part of the USER-SMD package for LAMMPS. + * This file is part of the MACHDYN package for LAMMPS. * Copyright (2014) Georg C. Ganzenmueller, georg.ganzenmueller@emi.fhg.de * Fraunhofer Ernst-Mach Institute for High-Speed Dynamics, EMI, * Eckerstrasse 4, D-79104 Freiburg i.Br, Germany. diff --git a/src/USER-SMD/fix_smd_adjust_dt.cpp b/src/MACHDYN/fix_smd_adjust_dt.cpp similarity index 99% rename from src/USER-SMD/fix_smd_adjust_dt.cpp rename to src/MACHDYN/fix_smd_adjust_dt.cpp index dc5dbd08a9..f45364713a 100644 --- a/src/USER-SMD/fix_smd_adjust_dt.cpp +++ b/src/MACHDYN/fix_smd_adjust_dt.cpp @@ -3,7 +3,7 @@ * * *** Smooth Mach Dynamics *** * - * This file is part of the USER-SMD package for LAMMPS. + * This file is part of the MACHDYN package for LAMMPS. * Copyright (2014) Georg C. Ganzenmueller, georg.ganzenmueller@emi.fhg.de * Fraunhofer Ernst-Mach Institute for High-Speed Dynamics, EMI, * Eckerstrasse 4, D-79104 Freiburg i.Br, Germany. diff --git a/src/USER-SMD/fix_smd_adjust_dt.h b/src/MACHDYN/fix_smd_adjust_dt.h similarity index 97% rename from src/USER-SMD/fix_smd_adjust_dt.h rename to src/MACHDYN/fix_smd_adjust_dt.h index 5f6b350be3..41203cf472 100644 --- a/src/USER-SMD/fix_smd_adjust_dt.h +++ b/src/MACHDYN/fix_smd_adjust_dt.h @@ -2,7 +2,7 @@ * * *** Smooth Mach Dynamics *** * - * This file is part of the USER-SMD package for LAMMPS. + * This file is part of the MACHDYN package for LAMMPS. * Copyright (2014) Georg C. Ganzenmueller, georg.ganzenmueller@emi.fhg.de * Fraunhofer Ernst-Mach Institute for High-Speed Dynamics, EMI, * Eckerstrasse 4, D-79104 Freiburg i.Br, Germany. diff --git a/src/USER-SMD/fix_smd_integrate_tlsph.cpp b/src/MACHDYN/fix_smd_integrate_tlsph.cpp similarity index 99% rename from src/USER-SMD/fix_smd_integrate_tlsph.cpp rename to src/MACHDYN/fix_smd_integrate_tlsph.cpp index a8257dfebe..8bde3b3d07 100644 --- a/src/USER-SMD/fix_smd_integrate_tlsph.cpp +++ b/src/MACHDYN/fix_smd_integrate_tlsph.cpp @@ -3,7 +3,7 @@ * * *** Smooth Mach Dynamics *** * - * This file is part of the USER-SMD package for LAMMPS. + * This file is part of the MACHDYN package for LAMMPS. * Copyright (2014) Georg C. Ganzenmueller, georg.ganzenmueller@emi.fhg.de * Fraunhofer Ernst-Mach Institute for High-Speed Dynamics, EMI, * Eckerstrasse 4, D-79104 Freiburg i.Br, Germany. diff --git a/src/USER-SMD/fix_smd_integrate_tlsph.h b/src/MACHDYN/fix_smd_integrate_tlsph.h similarity index 97% rename from src/USER-SMD/fix_smd_integrate_tlsph.h rename to src/MACHDYN/fix_smd_integrate_tlsph.h index c5f86092a4..582b4588a4 100644 --- a/src/USER-SMD/fix_smd_integrate_tlsph.h +++ b/src/MACHDYN/fix_smd_integrate_tlsph.h @@ -2,7 +2,7 @@ * * *** Smooth Mach Dynamics *** * - * This file is part of the USER-SMD package for LAMMPS. + * This file is part of the MACHDYN package for LAMMPS. * Copyright (2014) Georg C. Ganzenmueller, georg.ganzenmueller@emi.fhg.de * Fraunhofer Ernst-Mach Institute for High-Speed Dynamics, EMI, * Eckerstrasse 4, D-79104 Freiburg i.Br, Germany. diff --git a/src/USER-SMD/fix_smd_integrate_ulsph.cpp b/src/MACHDYN/fix_smd_integrate_ulsph.cpp similarity index 99% rename from src/USER-SMD/fix_smd_integrate_ulsph.cpp rename to src/MACHDYN/fix_smd_integrate_ulsph.cpp index 2c9b71c400..967cf33095 100644 --- a/src/USER-SMD/fix_smd_integrate_ulsph.cpp +++ b/src/MACHDYN/fix_smd_integrate_ulsph.cpp @@ -3,7 +3,7 @@ * * *** Smooth Mach Dynamics *** * - * This file is part of the USER-SMD package for LAMMPS. + * This file is part of the MACHDYN package for LAMMPS. * Copyright (2014) Georg C. Ganzenmueller, georg.ganzenmueller@emi.fhg.de * Fraunhofer Ernst-Mach Institute for High-Speed Dynamics, EMI, * Eckerstrasse 4, D-79104 Freiburg i.Br, Germany. diff --git a/src/USER-SMD/fix_smd_integrate_ulsph.h b/src/MACHDYN/fix_smd_integrate_ulsph.h similarity index 96% rename from src/USER-SMD/fix_smd_integrate_ulsph.h rename to src/MACHDYN/fix_smd_integrate_ulsph.h index 36afceeaaa..af75685a4b 100644 --- a/src/USER-SMD/fix_smd_integrate_ulsph.h +++ b/src/MACHDYN/fix_smd_integrate_ulsph.h @@ -2,7 +2,7 @@ * * *** Smooth Mach Dynamics *** * - * This file is part of the USER-SMD package for LAMMPS. + * This file is part of the MACHDYN package for LAMMPS. * Copyright (2014) Georg C. Ganzenmueller, georg.ganzenmueller@emi.fhg.de * Fraunhofer Ernst-Mach Institute for High-Speed Dynamics, EMI, * Eckerstrasse 4, D-79104 Freiburg i.Br, Germany. diff --git a/src/USER-SMD/fix_smd_move_triangulated_surface.cpp b/src/MACHDYN/fix_smd_move_triangulated_surface.cpp similarity index 99% rename from src/USER-SMD/fix_smd_move_triangulated_surface.cpp rename to src/MACHDYN/fix_smd_move_triangulated_surface.cpp index 15ba0ef828..c790720e99 100644 --- a/src/USER-SMD/fix_smd_move_triangulated_surface.cpp +++ b/src/MACHDYN/fix_smd_move_triangulated_surface.cpp @@ -3,7 +3,7 @@ * * *** Smooth Mach Dynamics *** * - * This file is part of the USER-SMD package for LAMMPS. + * This file is part of the MACHDYN package for LAMMPS. * Copyright (2014) Georg C. Ganzenmueller, georg.ganzenmueller@emi.fhg.de * Fraunhofer Ernst-Mach Institute for High-Speed Dynamics, EMI, * Eckerstrasse 4, D-79104 Freiburg i.Br, Germany. diff --git a/src/USER-SMD/fix_smd_move_triangulated_surface.h b/src/MACHDYN/fix_smd_move_triangulated_surface.h similarity index 97% rename from src/USER-SMD/fix_smd_move_triangulated_surface.h rename to src/MACHDYN/fix_smd_move_triangulated_surface.h index 8fce159121..aec2fcb688 100644 --- a/src/USER-SMD/fix_smd_move_triangulated_surface.h +++ b/src/MACHDYN/fix_smd_move_triangulated_surface.h @@ -2,7 +2,7 @@ * * *** Smooth Mach Dynamics *** * - * This file is part of the USER-SMD package for LAMMPS. + * This file is part of the MACHDYN package for LAMMPS. * Copyright (2014) Georg C. Ganzenmueller, georg.ganzenmueller@emi.fhg.de * Fraunhofer Ernst-Mach Institute for High-Speed Dynamics, EMI, * Eckerstrasse 4, D-79104 Freiburg i.Br, Germany. diff --git a/src/USER-SMD/fix_smd_setvel.cpp b/src/MACHDYN/fix_smd_setvel.cpp similarity index 99% rename from src/USER-SMD/fix_smd_setvel.cpp rename to src/MACHDYN/fix_smd_setvel.cpp index c0c0fccd46..7b76e08ec6 100644 --- a/src/USER-SMD/fix_smd_setvel.cpp +++ b/src/MACHDYN/fix_smd_setvel.cpp @@ -3,7 +3,7 @@ * * *** Smooth Mach Dynamics *** * - * This file is part of the USER-SMD package for LAMMPS. + * This file is part of the MACHDYN package for LAMMPS. * Copyright (2014) Georg C. Ganzenmueller, georg.ganzenmueller@emi.fhg.de * Fraunhofer Ernst-Mach Institute for High-Speed Dynamics, EMI, * Eckerstrasse 4, D-79104 Freiburg i.Br, Germany. diff --git a/src/USER-SMD/fix_smd_setvel.h b/src/MACHDYN/fix_smd_setvel.h similarity index 97% rename from src/USER-SMD/fix_smd_setvel.h rename to src/MACHDYN/fix_smd_setvel.h index 8791d58c3f..1e91a8d602 100644 --- a/src/USER-SMD/fix_smd_setvel.h +++ b/src/MACHDYN/fix_smd_setvel.h @@ -2,7 +2,7 @@ * * *** Smooth Mach Dynamics *** * - * This file is part of the USER-SMD package for LAMMPS. + * This file is part of the MACHDYN package for LAMMPS. * Copyright (2014) Georg C. Ganzenmueller, georg.ganzenmueller@emi.fhg.de * Fraunhofer Ernst-Mach Institute for High-Speed Dynamics, EMI, * Eckerstrasse 4, D-79104 Freiburg i.Br, Germany. diff --git a/src/USER-SMD/fix_smd_tlsph_reference_configuration.cpp b/src/MACHDYN/fix_smd_tlsph_reference_configuration.cpp similarity index 99% rename from src/USER-SMD/fix_smd_tlsph_reference_configuration.cpp rename to src/MACHDYN/fix_smd_tlsph_reference_configuration.cpp index 77d8bcc804..32d96e3d7f 100644 --- a/src/USER-SMD/fix_smd_tlsph_reference_configuration.cpp +++ b/src/MACHDYN/fix_smd_tlsph_reference_configuration.cpp @@ -3,7 +3,7 @@ * * *** Smooth Mach Dynamics *** * - * This file is part of the USER-SMD package for LAMMPS. + * This file is part of the MACHDYN package for LAMMPS. * Copyright (2014) Georg C. Ganzenmueller, georg.ganzenmueller@emi.fhg.de * Fraunhofer Ernst-Mach Institute for High-Speed Dynamics, EMI, * Eckerstrasse 4, D-79104 Freiburg i.Br, Germany. diff --git a/src/USER-SMD/fix_smd_tlsph_reference_configuration.h b/src/MACHDYN/fix_smd_tlsph_reference_configuration.h similarity index 97% rename from src/USER-SMD/fix_smd_tlsph_reference_configuration.h rename to src/MACHDYN/fix_smd_tlsph_reference_configuration.h index a5a26797e0..98108b8ffd 100644 --- a/src/USER-SMD/fix_smd_tlsph_reference_configuration.h +++ b/src/MACHDYN/fix_smd_tlsph_reference_configuration.h @@ -2,7 +2,7 @@ * * *** Smooth Mach Dynamics *** * - * This file is part of the USER-SMD package for LAMMPS. + * This file is part of the MACHDYN package for LAMMPS. * Copyright (2014) Georg C. Ganzenmueller, georg.ganzenmueller@emi.fhg.de * Fraunhofer Ernst-Mach Institute for High-Speed Dynamics, EMI, * Eckerstrasse 4, D-79104 Freiburg i.Br, Germany. diff --git a/src/USER-SMD/fix_smd_wall_surface.cpp b/src/MACHDYN/fix_smd_wall_surface.cpp similarity index 100% rename from src/USER-SMD/fix_smd_wall_surface.cpp rename to src/MACHDYN/fix_smd_wall_surface.cpp diff --git a/src/USER-SMD/fix_smd_wall_surface.h b/src/MACHDYN/fix_smd_wall_surface.h similarity index 100% rename from src/USER-SMD/fix_smd_wall_surface.h rename to src/MACHDYN/fix_smd_wall_surface.h diff --git a/src/USER-SMD/pair_smd_hertz.cpp b/src/MACHDYN/pair_smd_hertz.cpp similarity index 99% rename from src/USER-SMD/pair_smd_hertz.cpp rename to src/MACHDYN/pair_smd_hertz.cpp index 24e6802a14..a5355e46e0 100644 --- a/src/USER-SMD/pair_smd_hertz.cpp +++ b/src/MACHDYN/pair_smd_hertz.cpp @@ -3,7 +3,7 @@ * * *** Smooth Mach Dynamics *** * - * This file is part of the USER-SMD package for LAMMPS. + * This file is part of the MACHDYN package for LAMMPS. * Copyright (2014) Georg C. Ganzenmueller, georg.ganzenmueller@emi.fhg.de * Fraunhofer Ernst-Mach Institute for High-Speed Dynamics, EMI, * Eckerstrasse 4, D-79104 Freiburg i.Br, Germany. diff --git a/src/USER-SMD/pair_smd_hertz.h b/src/MACHDYN/pair_smd_hertz.h similarity index 97% rename from src/USER-SMD/pair_smd_hertz.h rename to src/MACHDYN/pair_smd_hertz.h index 0d3c5b880b..b736764de3 100644 --- a/src/USER-SMD/pair_smd_hertz.h +++ b/src/MACHDYN/pair_smd_hertz.h @@ -2,7 +2,7 @@ * * *** Smooth Mach Dynamics *** * - * This file is part of the USER-SMD package for LAMMPS. + * This file is part of the MACHDYN package for LAMMPS. * Copyright (2014) Georg C. Ganzenmueller, georg.ganzenmueller@emi.fhg.de * Fraunhofer Ernst-Mach Institute for High-Speed Dynamics, EMI, * Eckerstrasse 4, D-79104 Freiburg i.Br, Germany. diff --git a/src/USER-SMD/pair_smd_tlsph.cpp b/src/MACHDYN/pair_smd_tlsph.cpp similarity index 99% rename from src/USER-SMD/pair_smd_tlsph.cpp rename to src/MACHDYN/pair_smd_tlsph.cpp index 62e8e5e1c1..280e0173e3 100644 --- a/src/USER-SMD/pair_smd_tlsph.cpp +++ b/src/MACHDYN/pair_smd_tlsph.cpp @@ -3,7 +3,7 @@ * * *** Smooth Mach Dynamics *** * - * This file is part of the USER-SMD package for LAMMPS. + * This file is part of the MACHDYN package for LAMMPS. * Copyright (2014) Georg C. Ganzenmueller, georg.ganzenmueller@emi.fhg.de * Fraunhofer Ernst-Mach Institute for High-Speed Dynamics, EMI, * Eckerstrasse 4, D-79104 Freiburg i.Br, Germany. diff --git a/src/USER-SMD/pair_smd_tlsph.h b/src/MACHDYN/pair_smd_tlsph.h similarity index 99% rename from src/USER-SMD/pair_smd_tlsph.h rename to src/MACHDYN/pair_smd_tlsph.h index b641ca71e5..86e2bbe52b 100644 --- a/src/USER-SMD/pair_smd_tlsph.h +++ b/src/MACHDYN/pair_smd_tlsph.h @@ -2,7 +2,7 @@ * * *** Smooth Mach Dynamics *** * - * This file is part of the USER-SMD package for LAMMPS. + * This file is part of the MACHDYN package for LAMMPS. * Copyright (2014) Georg C. Ganzenmueller, georg.ganzenmueller@emi.fhg.de * Fraunhofer Ernst-Mach Institute for High-Speed Dynamics, EMI, * Eckerstrasse 4, D-79104 Freiburg i.Br, Germany. diff --git a/src/USER-SMD/pair_smd_triangulated_surface.cpp b/src/MACHDYN/pair_smd_triangulated_surface.cpp similarity index 99% rename from src/USER-SMD/pair_smd_triangulated_surface.cpp rename to src/MACHDYN/pair_smd_triangulated_surface.cpp index 36a34b5f1c..0d6abb6dfb 100644 --- a/src/USER-SMD/pair_smd_triangulated_surface.cpp +++ b/src/MACHDYN/pair_smd_triangulated_surface.cpp @@ -3,7 +3,7 @@ * * *** Smooth Mach Dynamics *** * - * This file is part of the USER-SMD package for LAMMPS. + * This file is part of the MACHDYN package for LAMMPS. * Copyright (2014) Georg C. Ganzenmueller, georg.ganzenmueller@emi.fhg.de * Fraunhofer Ernst-Mach Institute for High-Speed Dynamics, EMI, * Eckerstrasse 4, D-79104 Freiburg i.Br, Germany. diff --git a/src/USER-SMD/pair_smd_triangulated_surface.h b/src/MACHDYN/pair_smd_triangulated_surface.h similarity index 97% rename from src/USER-SMD/pair_smd_triangulated_surface.h rename to src/MACHDYN/pair_smd_triangulated_surface.h index 5e2c8e3fc4..57865e7983 100644 --- a/src/USER-SMD/pair_smd_triangulated_surface.h +++ b/src/MACHDYN/pair_smd_triangulated_surface.h @@ -2,7 +2,7 @@ * * *** Smooth Mach Dynamics *** * - * This file is part of the USER-SMD package for LAMMPS. + * This file is part of the MACHDYN package for LAMMPS. * Copyright (2014) Georg C. Ganzenmueller, georg.ganzenmueller@emi.fhg.de * Fraunhofer Ernst-Mach Institute for High-Speed Dynamics, EMI, * Eckerstrasse 4, D-79104 Freiburg i.Br, Germany. diff --git a/src/USER-SMD/pair_smd_ulsph.cpp b/src/MACHDYN/pair_smd_ulsph.cpp similarity index 99% rename from src/USER-SMD/pair_smd_ulsph.cpp rename to src/MACHDYN/pair_smd_ulsph.cpp index 38a80195e9..0958cbc7c3 100644 --- a/src/USER-SMD/pair_smd_ulsph.cpp +++ b/src/MACHDYN/pair_smd_ulsph.cpp @@ -3,7 +3,7 @@ * * *** Smooth Mach Dynamics *** * - * This file is part of the USER-SMD package for LAMMPS. + * This file is part of the MACHDYN package for LAMMPS. * Copyright (2014) Georg C. Ganzenmueller, georg.ganzenmueller@emi.fhg.de * Fraunhofer Ernst-Mach Institute for High-Speed Dynamics, EMI, * Eckerstrasse 4, D-79104 Freiburg i.Br, Germany. diff --git a/src/USER-SMD/pair_smd_ulsph.h b/src/MACHDYN/pair_smd_ulsph.h similarity index 98% rename from src/USER-SMD/pair_smd_ulsph.h rename to src/MACHDYN/pair_smd_ulsph.h index b9ae311917..6d58168b5a 100644 --- a/src/USER-SMD/pair_smd_ulsph.h +++ b/src/MACHDYN/pair_smd_ulsph.h @@ -2,7 +2,7 @@ * * *** Smooth Mach Dynamics *** * - * This file is part of the USER-SMD package for LAMMPS. + * This file is part of the MACHDYN package for LAMMPS. * Copyright (2014) Georg C. Ganzenmueller, georg.ganzenmueller@emi.fhg.de * Fraunhofer Ernst-Mach Institute for High-Speed Dynamics, EMI, * Eckerstrasse 4, D-79104 Freiburg i.Br, Germany. diff --git a/src/USER-SMD/smd_kernels.h b/src/MACHDYN/smd_kernels.h similarity index 98% rename from src/USER-SMD/smd_kernels.h rename to src/MACHDYN/smd_kernels.h index 67244b64d3..07155f13a5 100644 --- a/src/USER-SMD/smd_kernels.h +++ b/src/MACHDYN/smd_kernels.h @@ -2,7 +2,7 @@ * * *** Smooth Mach Dynamics *** * - * This file is part of the USER-SMD package for LAMMPS. + * This file is part of the MACHDYN package for LAMMPS. * Copyright (2014) Georg C. Ganzenmueller, georg.ganzenmueller@emi.fhg.de * Fraunhofer Ernst-Mach Institute for High-Speed Dynamics, EMI, * Eckerstrasse 4, D-79104 Freiburg i.Br, Germany. diff --git a/src/USER-SMD/smd_material_models.cpp b/src/MACHDYN/smd_material_models.cpp similarity index 99% rename from src/USER-SMD/smd_material_models.cpp rename to src/MACHDYN/smd_material_models.cpp index a49b5b034d..cee0a3822e 100644 --- a/src/USER-SMD/smd_material_models.cpp +++ b/src/MACHDYN/smd_material_models.cpp @@ -3,7 +3,7 @@ * * *** Smooth Mach Dynamics *** * - * This file is part of the USER-SMD package for LAMMPS. + * This file is part of the MACHDYN package for LAMMPS. * Copyright (2014) Georg C. Ganzenmueller, georg.ganzenmueller@emi.fhg.de * Fraunhofer Ernst-Mach Institute for High-Speed Dynamics, EMI, * Eckerstrasse 4, D-79104 Freiburg i.Br, Germany. diff --git a/src/USER-SMD/smd_material_models.h b/src/MACHDYN/smd_material_models.h similarity index 98% rename from src/USER-SMD/smd_material_models.h rename to src/MACHDYN/smd_material_models.h index 89dca2155a..df1d830445 100644 --- a/src/USER-SMD/smd_material_models.h +++ b/src/MACHDYN/smd_material_models.h @@ -2,7 +2,7 @@ * * *** Smooth Mach Dynamics *** * - * This file is part of the USER-SMD package for LAMMPS. + * This file is part of the MACHDYN package for LAMMPS. * Copyright (2014) Georg C. Ganzenmueller, georg.ganzenmueller@emi.fhg.de * Fraunhofer Ernst-Mach Institute for High-Speed Dynamics, EMI, * Eckerstrasse 4, D-79104 Freiburg i.Br, Germany. diff --git a/src/USER-SMD/smd_math.h b/src/MACHDYN/smd_math.h similarity index 99% rename from src/USER-SMD/smd_math.h rename to src/MACHDYN/smd_math.h index de8658b59c..369adb2321 100644 --- a/src/USER-SMD/smd_math.h +++ b/src/MACHDYN/smd_math.h @@ -2,7 +2,7 @@ * * *** Smooth Mach Dynamics *** * - * This file is part of the USER-SMD package for LAMMPS. + * This file is part of the MACHDYN package for LAMMPS. * Copyright (2014) Georg C. Ganzenmueller, georg.ganzenmueller@emi.fhg.de * Fraunhofer Ernst-Mach Institute for High-Speed Dynamics, EMI, * Eckerstrasse 4, D-79104 Freiburg i.Br, Germany. diff --git a/src/Makefile b/src/Makefile index 8ddea9a05f..3fe144a985 100644 --- a/src/Makefile +++ b/src/Makefile @@ -57,13 +57,13 @@ PACKUSER = user-adios user-atc user-awpmd user-brownian user-bocs cg-dna \ user-mdi meam user-mesodpd user-mesont user-mgpt user-misc \ user-mofff user-molfile user-netcdf user-omp user-phonon \ ml-pace user-plumed user-ptm user-qmmm user-qtb ml-quip \ - ml-rann user-reaction user-reaxc user-scafacos user-smd user-smtbq \ + ml-rann user-reaction user-reaxc user-scafacos machdyn user-smtbq \ user-sdpd user-sph user-tally user-uef user-vtk user-yaff PACKLIB = compress gpu kim kokkos latte message mpiio mscg poems python voronoi \ user-adios user-atc user-awpmd user-colvars user-h5md ml-hdnnp latboltz user-mdi \ user-mesont user-molfile user-netcdf ml-pace user-plumed user-qmmm ml-quip \ - user-scafacos user-smd user-vtk + user-scafacos machdyn user-vtk PACKSYS = compress mpiio python latboltz @@ -72,7 +72,7 @@ PACKINT = gpu kokkos message poems user-atc user-awpmd user-colvars user-mesont PACKEXT = kim latte mscg voronoi \ user-adios user-h5md ml-hdnnp user-molfile user-netcdf ml-pace user-plumed \ - user-qmmm ml-quip user-scafacos user-smd user-vtk + user-qmmm ml-quip user-scafacos machdyn user-vtk PACKALL = $(PACKAGE) $(PACKUSER) diff --git a/src/atom.cpp b/src/atom.cpp index 0a8095116b..68487a65d6 100644 --- a/src/atom.cpp +++ b/src/atom.cpp @@ -185,7 +185,7 @@ Atom::Atom(LAMMPS *lmp) : Pointers(lmp) buckling = nullptr; bond_nt = nullptr; - // USER-SMD package + // MACHDYN package contact_radius = nullptr; smd_data_9 = nullptr; @@ -506,7 +506,7 @@ void Atom::peratom_create() add_peratom("vest",&vest,DOUBLE,3); add_peratom("cv",&cv,DOUBLE,0); - // USER-SMD package + // MACHDYN package add_peratom("contact_radius",&contact_radius,DOUBLE,0); add_peratom("smd_data_9",&smd_data_9,DOUBLE,1); diff --git a/src/atom.h b/src/atom.h index 392e5c5d5c..3e1bcb37b7 100644 --- a/src/atom.h +++ b/src/atom.h @@ -143,7 +143,7 @@ class Atom : protected Pointers { int *buckling; tagint **bond_nt; - // USER-SMD package + // MACHDYN package double *contact_radius; double **smd_data_9; @@ -187,7 +187,7 @@ class Atom : protected Pointers { int sp_flag; - // USER-SMD package + // MACHDYN package int x0_flag; int smd_flag, damage_flag; diff --git a/unittest/cplusplus/test_lammps_class.cpp b/unittest/cplusplus/test_lammps_class.cpp index 5288cfc2b6..f99fd9163b 100644 --- a/unittest/cplusplus/test_lammps_class.cpp +++ b/unittest/cplusplus/test_lammps_class.cpp @@ -145,7 +145,7 @@ TEST_F(LAMMPS_plain, TestStyles) found = lmp->match_style("atom", "spin"); EXPECT_STREQ(found, "SPIN"); found = lmp->match_style("atom", "smd"); - EXPECT_STREQ(found, "USER-SMD"); + EXPECT_STREQ(found, "MACHDYN"); found = lmp->match_style("atom", "sph"); EXPECT_STREQ(found, "USER-SPH"); found = lmp->match_style("atom", "i_don't_exist"); From 1dc25b0e105ca631a6fc921ed861580e534be26a Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 29 Jun 2021 17:48:22 -0400 Subject: [PATCH 312/726] rename USER-OMP to OPENMP --- .github/CODEOWNERS | 2 +- cmake/CMakeLists.txt | 4 +- cmake/Modules/Packages/OPENMP.cmake | 40 +++++++++++++++++ cmake/Modules/Packages/USER-OMP.cmake | 40 ----------------- cmake/presets/all_off.cmake | 2 +- cmake/presets/all_on.cmake | 2 +- cmake/presets/mingw-cross.cmake | 2 +- cmake/presets/most.cmake | 2 +- doc/lammps.1 | 2 +- doc/src/Build_basics.rst | 6 +-- doc/src/Build_development.rst | 4 +- doc/src/Build_extras.rst | 16 +++---- doc/src/Build_make.rst | 2 +- doc/src/Build_package.rst | 2 +- doc/src/Build_settings.rst | 2 +- doc/src/Commands_bond.rst | 8 ++-- doc/src/Commands_compute.rst | 2 +- doc/src/Commands_fix.rst | 2 +- doc/src/Commands_kspace.rst | 2 +- doc/src/Commands_pair.rst | 2 +- doc/src/Commands_removed.rst | 2 +- doc/src/Developer_unittest.rst | 2 +- doc/src/Errors_messages.rst | 8 ++-- doc/src/Errors_warnings.rst | 2 +- doc/src/Packages_details.rst | 29 ++++++------ doc/src/Packages_user.rst | 2 +- doc/src/Run_options.rst | 12 ++--- doc/src/Run_windows.rst | 2 +- doc/src/Speed_compare.rst | 4 +- doc/src/Speed_gpu.rst | 2 +- doc/src/Speed_intel.rst | 4 +- doc/src/Speed_kokkos.rst | 4 +- doc/src/Speed_omp.rst | 30 ++++++------- doc/src/Speed_packages.rst | 8 ++-- doc/src/accel_styles.rst | 2 +- doc/src/angle_charmm.rst | 2 +- doc/src/atom_style.rst | 2 +- doc/src/improper_harmonic.rst | 2 +- doc/src/info.rst | 2 +- doc/src/kspace_style.rst | 2 +- doc/src/package.rst | 12 ++--- doc/src/pair_agni.rst | 2 +- doc/src/pair_hybrid.rst | 2 +- doc/src/pair_sw.rst | 2 +- doc/src/run_style.rst | 2 +- doc/src/suffix.rst | 6 +-- doc/src/variable.rst | 2 +- examples/plugins/CMakeLists.txt | 2 +- examples/plugins/Makefile | 2 +- examples/plugins/Makefile.macos | 2 +- examples/plugins/Makefile.serial | 2 +- python/lammps/core.py | 2 +- src/Depend.sh | 30 ++++++------- src/KOKKOS/pppm_kokkos.cpp | 2 +- src/MAKE/OPTIONS/Makefile.omp | 2 +- src/MAKE/README | 2 +- src/Makefile | 2 +- src/{USER-OMP => OPENMP}/Install.sh | 0 src/{USER-OMP => OPENMP}/README | 0 src/{USER-OMP => OPENMP}/angle_charmm_omp.cpp | 0 src/{USER-OMP => OPENMP}/angle_charmm_omp.h | 0 src/{USER-OMP => OPENMP}/angle_class2_omp.cpp | 0 src/{USER-OMP => OPENMP}/angle_class2_omp.h | 0 .../angle_cosine_delta_omp.cpp | 0 .../angle_cosine_delta_omp.h | 0 src/{USER-OMP => OPENMP}/angle_cosine_omp.cpp | 0 src/{USER-OMP => OPENMP}/angle_cosine_omp.h | 0 .../angle_cosine_periodic_omp.cpp | 0 .../angle_cosine_periodic_omp.h | 0 .../angle_cosine_shift_exp_omp.cpp | 0 .../angle_cosine_shift_exp_omp.h | 0 .../angle_cosine_shift_omp.cpp | 0 .../angle_cosine_shift_omp.h | 0 .../angle_cosine_squared_omp.cpp | 0 .../angle_cosine_squared_omp.h | 0 src/{USER-OMP => OPENMP}/angle_dipole_omp.cpp | 0 src/{USER-OMP => OPENMP}/angle_dipole_omp.h | 0 .../angle_fourier_omp.cpp | 0 src/{USER-OMP => OPENMP}/angle_fourier_omp.h | 0 .../angle_fourier_simple_omp.cpp | 0 .../angle_fourier_simple_omp.h | 0 .../angle_harmonic_omp.cpp | 0 src/{USER-OMP => OPENMP}/angle_harmonic_omp.h | 0 .../angle_quartic_omp.cpp | 0 src/{USER-OMP => OPENMP}/angle_quartic_omp.h | 0 src/{USER-OMP => OPENMP}/angle_sdk_omp.cpp | 0 src/{USER-OMP => OPENMP}/angle_sdk_omp.h | 0 src/{USER-OMP => OPENMP}/angle_table_omp.cpp | 0 src/{USER-OMP => OPENMP}/angle_table_omp.h | 0 src/{USER-OMP => OPENMP}/bond_class2_omp.cpp | 0 src/{USER-OMP => OPENMP}/bond_class2_omp.h | 0 .../bond_fene_expand_omp.cpp | 0 .../bond_fene_expand_omp.h | 0 src/{USER-OMP => OPENMP}/bond_fene_omp.cpp | 0 src/{USER-OMP => OPENMP}/bond_fene_omp.h | 0 src/{USER-OMP => OPENMP}/bond_gromos_omp.cpp | 0 src/{USER-OMP => OPENMP}/bond_gromos_omp.h | 0 .../bond_harmonic_omp.cpp | 0 src/{USER-OMP => OPENMP}/bond_harmonic_omp.h | 0 .../bond_harmonic_shift_cut_omp.cpp | 0 .../bond_harmonic_shift_cut_omp.h | 0 .../bond_harmonic_shift_omp.cpp | 0 .../bond_harmonic_shift_omp.h | 0 src/{USER-OMP => OPENMP}/bond_morse_omp.cpp | 0 src/{USER-OMP => OPENMP}/bond_morse_omp.h | 0 .../bond_nonlinear_omp.cpp | 0 src/{USER-OMP => OPENMP}/bond_nonlinear_omp.h | 0 src/{USER-OMP => OPENMP}/bond_quartic_omp.cpp | 0 src/{USER-OMP => OPENMP}/bond_quartic_omp.h | 0 src/{USER-OMP => OPENMP}/bond_table_omp.cpp | 0 src/{USER-OMP => OPENMP}/bond_table_omp.h | 0 .../dihedral_charmm_omp.cpp | 0 .../dihedral_charmm_omp.h | 0 .../dihedral_class2_omp.cpp | 0 .../dihedral_class2_omp.h | 0 .../dihedral_cosine_shift_exp_omp.cpp | 0 .../dihedral_cosine_shift_exp_omp.h | 0 .../dihedral_fourier_omp.cpp | 0 .../dihedral_fourier_omp.h | 0 .../dihedral_harmonic_omp.cpp | 0 .../dihedral_harmonic_omp.h | 0 .../dihedral_helix_omp.cpp | 0 src/{USER-OMP => OPENMP}/dihedral_helix_omp.h | 0 .../dihedral_multi_harmonic_omp.cpp | 0 .../dihedral_multi_harmonic_omp.h | 0 .../dihedral_nharmonic_omp.cpp | 0 .../dihedral_nharmonic_omp.h | 0 .../dihedral_opls_omp.cpp | 0 src/{USER-OMP => OPENMP}/dihedral_opls_omp.h | 0 .../dihedral_quadratic_omp.cpp | 0 .../dihedral_quadratic_omp.h | 0 .../dihedral_table_omp.cpp | 0 src/{USER-OMP => OPENMP}/dihedral_table_omp.h | 0 src/{USER-OMP => OPENMP}/domain_omp.cpp | 0 src/{USER-OMP => OPENMP}/ewald_omp.cpp | 0 src/{USER-OMP => OPENMP}/ewald_omp.h | 0 src/{USER-OMP => OPENMP}/fix_gravity_omp.cpp | 0 src/{USER-OMP => OPENMP}/fix_gravity_omp.h | 0 .../fix_neigh_history_omp.cpp | 0 .../fix_neigh_history_omp.h | 0 .../fix_nh_asphere_omp.cpp | 0 src/{USER-OMP => OPENMP}/fix_nh_asphere_omp.h | 0 src/{USER-OMP => OPENMP}/fix_nh_omp.cpp | 0 src/{USER-OMP => OPENMP}/fix_nh_omp.h | 0 .../fix_nh_sphere_omp.cpp | 0 src/{USER-OMP => OPENMP}/fix_nh_sphere_omp.h | 0 .../fix_nph_asphere_omp.cpp | 0 .../fix_nph_asphere_omp.h | 0 src/{USER-OMP => OPENMP}/fix_nph_omp.cpp | 0 src/{USER-OMP => OPENMP}/fix_nph_omp.h | 0 .../fix_nph_sphere_omp.cpp | 0 src/{USER-OMP => OPENMP}/fix_nph_sphere_omp.h | 0 .../fix_npt_asphere_omp.cpp | 0 .../fix_npt_asphere_omp.h | 0 src/{USER-OMP => OPENMP}/fix_npt_omp.cpp | 0 src/{USER-OMP => OPENMP}/fix_npt_omp.h | 0 .../fix_npt_sphere_omp.cpp | 0 src/{USER-OMP => OPENMP}/fix_npt_sphere_omp.h | 0 src/{USER-OMP => OPENMP}/fix_nve_omp.cpp | 0 src/{USER-OMP => OPENMP}/fix_nve_omp.h | 0 .../fix_nve_sphere_omp.cpp | 0 src/{USER-OMP => OPENMP}/fix_nve_sphere_omp.h | 0 .../fix_nvt_asphere_omp.cpp | 0 .../fix_nvt_asphere_omp.h | 0 src/{USER-OMP => OPENMP}/fix_nvt_omp.cpp | 0 src/{USER-OMP => OPENMP}/fix_nvt_omp.h | 0 .../fix_nvt_sllod_omp.cpp | 0 src/{USER-OMP => OPENMP}/fix_nvt_sllod_omp.h | 0 .../fix_nvt_sphere_omp.cpp | 0 src/{USER-OMP => OPENMP}/fix_nvt_sphere_omp.h | 0 src/{USER-OMP => OPENMP}/fix_omp.cpp | 44 +++++-------------- src/{USER-OMP => OPENMP}/fix_omp.h | 0 .../fix_peri_neigh_omp.cpp | 0 src/{USER-OMP => OPENMP}/fix_peri_neigh_omp.h | 0 src/{USER-OMP => OPENMP}/fix_qeq_comb_omp.cpp | 2 +- src/{USER-OMP => OPENMP}/fix_qeq_comb_omp.h | 0 src/{USER-OMP => OPENMP}/fix_qeq_reax_omp.cpp | 2 +- src/{USER-OMP => OPENMP}/fix_qeq_reax_omp.h | 0 src/{USER-OMP => OPENMP}/fix_rigid_nh_omp.cpp | 0 src/{USER-OMP => OPENMP}/fix_rigid_nh_omp.h | 0 .../fix_rigid_nph_omp.cpp | 0 src/{USER-OMP => OPENMP}/fix_rigid_nph_omp.h | 0 .../fix_rigid_npt_omp.cpp | 0 src/{USER-OMP => OPENMP}/fix_rigid_npt_omp.h | 0 .../fix_rigid_nve_omp.cpp | 0 src/{USER-OMP => OPENMP}/fix_rigid_nve_omp.h | 0 .../fix_rigid_nvt_omp.cpp | 0 src/{USER-OMP => OPENMP}/fix_rigid_nvt_omp.h | 0 src/{USER-OMP => OPENMP}/fix_rigid_omp.cpp | 0 src/{USER-OMP => OPENMP}/fix_rigid_omp.h | 0 .../fix_rigid_small_omp.cpp | 0 .../fix_rigid_small_omp.h | 0 .../improper_class2_omp.cpp | 0 .../improper_class2_omp.h | 0 .../improper_cossq_omp.cpp | 0 src/{USER-OMP => OPENMP}/improper_cossq_omp.h | 0 .../improper_cvff_omp.cpp | 0 src/{USER-OMP => OPENMP}/improper_cvff_omp.h | 0 .../improper_fourier_omp.cpp | 0 .../improper_fourier_omp.h | 0 .../improper_harmonic_omp.cpp | 0 .../improper_harmonic_omp.h | 0 .../improper_ring_omp.cpp | 0 src/{USER-OMP => OPENMP}/improper_ring_omp.h | 0 .../improper_umbrella_omp.cpp | 0 .../improper_umbrella_omp.h | 0 src/{USER-OMP => OPENMP}/msm_cg_omp.cpp | 0 src/{USER-OMP => OPENMP}/msm_cg_omp.h | 0 src/{USER-OMP => OPENMP}/msm_omp.cpp | 0 src/{USER-OMP => OPENMP}/msm_omp.h | 0 .../npair_full_bin_atomonly_omp.cpp | 0 .../npair_full_bin_atomonly_omp.h | 0 .../npair_full_bin_ghost_omp.cpp | 0 .../npair_full_bin_ghost_omp.h | 0 .../npair_full_bin_omp.cpp | 0 src/{USER-OMP => OPENMP}/npair_full_bin_omp.h | 0 .../npair_full_multi_old_omp.cpp | 0 .../npair_full_multi_old_omp.h | 0 .../npair_full_multi_omp.cpp | 0 .../npair_full_multi_omp.h | 0 .../npair_full_nsq_ghost_omp.cpp | 0 .../npair_full_nsq_ghost_omp.h | 0 .../npair_full_nsq_omp.cpp | 0 src/{USER-OMP => OPENMP}/npair_full_nsq_omp.h | 0 .../npair_half_bin_atomonly_newton_omp.cpp | 0 .../npair_half_bin_atomonly_newton_omp.h | 0 .../npair_half_bin_newtoff_ghost_omp.cpp | 0 .../npair_half_bin_newtoff_ghost_omp.h | 0 .../npair_half_bin_newtoff_omp.cpp | 0 .../npair_half_bin_newtoff_omp.h | 0 .../npair_half_bin_newton_omp.cpp | 0 .../npair_half_bin_newton_omp.h | 0 .../npair_half_bin_newton_tri_omp.cpp | 0 .../npair_half_bin_newton_tri_omp.h | 0 .../npair_half_multi_newtoff_omp.cpp | 0 .../npair_half_multi_newtoff_omp.h | 0 .../npair_half_multi_newton_omp.cpp | 0 .../npair_half_multi_newton_omp.h | 0 .../npair_half_multi_newton_tri_omp.cpp | 0 .../npair_half_multi_newton_tri_omp.h | 0 .../npair_half_multi_old_newtoff_omp.cpp | 0 .../npair_half_multi_old_newtoff_omp.h | 0 .../npair_half_multi_old_newton_omp.cpp | 0 .../npair_half_multi_old_newton_omp.h | 0 .../npair_half_multi_old_newton_tri_omp.cpp | 0 .../npair_half_multi_old_newton_tri_omp.h | 0 .../npair_half_nsq_newtoff_ghost_omp.cpp | 0 .../npair_half_nsq_newtoff_ghost_omp.h | 0 .../npair_half_nsq_newtoff_omp.cpp | 0 .../npair_half_nsq_newtoff_omp.h | 0 .../npair_half_nsq_newton_omp.cpp | 0 .../npair_half_nsq_newton_omp.h | 0 .../npair_half_respa_bin_newtoff_omp.cpp | 0 .../npair_half_respa_bin_newtoff_omp.h | 0 .../npair_half_respa_bin_newton_omp.cpp | 0 .../npair_half_respa_bin_newton_omp.h | 0 .../npair_half_respa_bin_newton_tri_omp.cpp | 0 .../npair_half_respa_bin_newton_tri_omp.h | 0 .../npair_half_respa_nsq_newtoff_omp.cpp | 0 .../npair_half_respa_nsq_newtoff_omp.h | 0 .../npair_half_respa_nsq_newton_omp.cpp | 0 .../npair_half_respa_nsq_newton_omp.h | 0 .../npair_half_size_bin_newtoff_omp.cpp | 0 .../npair_half_size_bin_newtoff_omp.h | 0 .../npair_half_size_bin_newton_omp.cpp | 0 .../npair_half_size_bin_newton_omp.h | 0 .../npair_half_size_bin_newton_tri_omp.cpp | 0 .../npair_half_size_bin_newton_tri_omp.h | 0 .../npair_half_size_multi_newtoff_omp.cpp | 0 .../npair_half_size_multi_newtoff_omp.h | 0 .../npair_half_size_multi_newton_omp.cpp | 0 .../npair_half_size_multi_newton_omp.h | 0 .../npair_half_size_multi_newton_tri_omp.cpp | 0 .../npair_half_size_multi_newton_tri_omp.h | 0 .../npair_half_size_multi_old_newtoff_omp.cpp | 0 .../npair_half_size_multi_old_newtoff_omp.h | 0 .../npair_half_size_multi_old_newton_omp.cpp | 0 .../npair_half_size_multi_old_newton_omp.h | 0 ...air_half_size_multi_old_newton_tri_omp.cpp | 0 ...npair_half_size_multi_old_newton_tri_omp.h | 0 .../npair_half_size_nsq_newtoff_omp.cpp | 0 .../npair_half_size_nsq_newtoff_omp.h | 0 .../npair_half_size_nsq_newton_omp.cpp | 0 .../npair_half_size_nsq_newton_omp.h | 0 .../npair_halffull_newtoff_omp.cpp | 0 .../npair_halffull_newtoff_omp.h | 0 .../npair_halffull_newton_omp.cpp | 0 .../npair_halffull_newton_omp.h | 0 src/{USER-OMP => OPENMP}/npair_omp.h | 0 src/{USER-OMP => OPENMP}/npair_skip_omp.h | 0 src/{USER-OMP => OPENMP}/pair_adp_omp.cpp | 0 src/{USER-OMP => OPENMP}/pair_adp_omp.h | 0 src/{USER-OMP => OPENMP}/pair_agni_omp.cpp | 0 src/{USER-OMP => OPENMP}/pair_agni_omp.h | 0 .../pair_airebo_morse_omp.cpp | 0 .../pair_airebo_morse_omp.h | 0 src/{USER-OMP => OPENMP}/pair_airebo_omp.cpp | 0 src/{USER-OMP => OPENMP}/pair_airebo_omp.h | 0 src/{USER-OMP => OPENMP}/pair_beck_omp.cpp | 0 src/{USER-OMP => OPENMP}/pair_beck_omp.h | 0 .../pair_born_coul_long_omp.cpp | 0 .../pair_born_coul_long_omp.h | 0 .../pair_born_coul_msm_omp.cpp | 0 .../pair_born_coul_msm_omp.h | 0 .../pair_born_coul_wolf_omp.cpp | 0 .../pair_born_coul_wolf_omp.h | 0 src/{USER-OMP => OPENMP}/pair_born_omp.cpp | 0 src/{USER-OMP => OPENMP}/pair_born_omp.h | 0 .../pair_brownian_omp.cpp | 0 src/{USER-OMP => OPENMP}/pair_brownian_omp.h | 0 .../pair_brownian_poly_omp.cpp | 0 .../pair_brownian_poly_omp.h | 0 .../pair_buck_coul_cut_omp.cpp | 0 .../pair_buck_coul_cut_omp.h | 0 .../pair_buck_coul_long_omp.cpp | 0 .../pair_buck_coul_long_omp.h | 0 .../pair_buck_coul_msm_omp.cpp | 0 .../pair_buck_coul_msm_omp.h | 0 .../pair_buck_long_coul_long_omp.cpp | 0 .../pair_buck_long_coul_long_omp.h | 0 src/{USER-OMP => OPENMP}/pair_buck_omp.cpp | 0 src/{USER-OMP => OPENMP}/pair_buck_omp.h | 0 src/{USER-OMP => OPENMP}/pair_colloid_omp.cpp | 0 src/{USER-OMP => OPENMP}/pair_colloid_omp.h | 0 src/{USER-OMP => OPENMP}/pair_comb_omp.cpp | 0 src/{USER-OMP => OPENMP}/pair_comb_omp.h | 0 .../pair_coul_cut_global_omp.cpp | 0 .../pair_coul_cut_global_omp.h | 0 .../pair_coul_cut_omp.cpp | 0 src/{USER-OMP => OPENMP}/pair_coul_cut_omp.h | 0 .../pair_coul_cut_soft_omp.cpp | 0 .../pair_coul_cut_soft_omp.h | 0 .../pair_coul_debye_omp.cpp | 0 .../pair_coul_debye_omp.h | 0 .../pair_coul_diel_omp.cpp | 0 src/{USER-OMP => OPENMP}/pair_coul_diel_omp.h | 0 .../pair_coul_dsf_omp.cpp | 0 src/{USER-OMP => OPENMP}/pair_coul_dsf_omp.h | 0 .../pair_coul_long_omp.cpp | 0 src/{USER-OMP => OPENMP}/pair_coul_long_omp.h | 0 .../pair_coul_long_soft_omp.cpp | 0 .../pair_coul_long_soft_omp.h | 0 .../pair_coul_msm_omp.cpp | 0 src/{USER-OMP => OPENMP}/pair_coul_msm_omp.h | 0 .../pair_coul_wolf_omp.cpp | 0 src/{USER-OMP => OPENMP}/pair_coul_wolf_omp.h | 0 src/{USER-OMP => OPENMP}/pair_dpd_omp.cpp | 0 src/{USER-OMP => OPENMP}/pair_dpd_omp.h | 0 .../pair_dpd_tstat_omp.cpp | 0 src/{USER-OMP => OPENMP}/pair_dpd_tstat_omp.h | 0 .../pair_eam_alloy_omp.cpp | 0 src/{USER-OMP => OPENMP}/pair_eam_alloy_omp.h | 0 src/{USER-OMP => OPENMP}/pair_eam_fs_omp.cpp | 0 src/{USER-OMP => OPENMP}/pair_eam_fs_omp.h | 0 src/{USER-OMP => OPENMP}/pair_eam_omp.cpp | 0 src/{USER-OMP => OPENMP}/pair_eam_omp.h | 0 src/{USER-OMP => OPENMP}/pair_edip_omp.cpp | 0 src/{USER-OMP => OPENMP}/pair_edip_omp.h | 0 src/{USER-OMP => OPENMP}/pair_eim_omp.cpp | 0 src/{USER-OMP => OPENMP}/pair_eim_omp.h | 0 .../pair_gauss_cut_omp.cpp | 0 src/{USER-OMP => OPENMP}/pair_gauss_cut_omp.h | 0 src/{USER-OMP => OPENMP}/pair_gauss_omp.cpp | 0 src/{USER-OMP => OPENMP}/pair_gauss_omp.h | 0 .../pair_gayberne_omp.cpp | 0 src/{USER-OMP => OPENMP}/pair_gayberne_omp.h | 0 .../pair_gran_hertz_history_omp.cpp | 0 .../pair_gran_hertz_history_omp.h | 0 .../pair_gran_hooke_history_omp.cpp | 0 .../pair_gran_hooke_history_omp.h | 0 .../pair_gran_hooke_omp.cpp | 0 .../pair_gran_hooke_omp.h | 0 .../pair_hbond_dreiding_lj_omp.cpp | 0 .../pair_hbond_dreiding_lj_omp.h | 0 .../pair_hbond_dreiding_morse_omp.cpp | 0 .../pair_hbond_dreiding_morse_omp.h | 0 .../pair_lj96_cut_omp.cpp | 0 src/{USER-OMP => OPENMP}/pair_lj96_cut_omp.h | 0 ...air_lj_charmm_coul_charmm_implicit_omp.cpp | 0 .../pair_lj_charmm_coul_charmm_implicit_omp.h | 0 .../pair_lj_charmm_coul_charmm_omp.cpp | 0 .../pair_lj_charmm_coul_charmm_omp.h | 0 .../pair_lj_charmm_coul_long_omp.cpp | 0 .../pair_lj_charmm_coul_long_omp.h | 0 .../pair_lj_charmm_coul_long_soft_omp.cpp | 0 .../pair_lj_charmm_coul_long_soft_omp.h | 0 .../pair_lj_charmm_coul_msm_omp.cpp | 0 .../pair_lj_charmm_coul_msm_omp.h | 0 .../pair_lj_class2_coul_cut_omp.cpp | 0 .../pair_lj_class2_coul_cut_omp.h | 0 .../pair_lj_class2_coul_long_omp.cpp | 0 .../pair_lj_class2_coul_long_omp.h | 0 .../pair_lj_class2_omp.cpp | 0 src/{USER-OMP => OPENMP}/pair_lj_class2_omp.h | 0 .../pair_lj_cubic_omp.cpp | 0 src/{USER-OMP => OPENMP}/pair_lj_cubic_omp.h | 0 .../pair_lj_cut_coul_cut_dielectric_omp.cpp | 0 .../pair_lj_cut_coul_cut_dielectric_omp.h | 0 .../pair_lj_cut_coul_cut_omp.cpp | 0 .../pair_lj_cut_coul_cut_omp.h | 0 .../pair_lj_cut_coul_cut_soft_omp.cpp | 0 .../pair_lj_cut_coul_cut_soft_omp.h | 0 .../pair_lj_cut_coul_debye_omp.cpp | 0 .../pair_lj_cut_coul_debye_omp.h | 0 .../pair_lj_cut_coul_dsf_omp.cpp | 0 .../pair_lj_cut_coul_dsf_omp.h | 0 .../pair_lj_cut_coul_long_dielectric_omp.cpp | 0 .../pair_lj_cut_coul_long_dielectric_omp.h | 0 .../pair_lj_cut_coul_long_omp.cpp | 0 .../pair_lj_cut_coul_long_omp.h | 0 .../pair_lj_cut_coul_long_soft_omp.cpp | 0 .../pair_lj_cut_coul_long_soft_omp.h | 0 .../pair_lj_cut_coul_msm_omp.cpp | 0 .../pair_lj_cut_coul_msm_omp.h | 0 .../pair_lj_cut_coul_wolf_omp.cpp | 0 .../pair_lj_cut_coul_wolf_omp.h | 0 .../pair_lj_cut_dipole_cut_omp.cpp | 0 .../pair_lj_cut_dipole_cut_omp.h | 0 src/{USER-OMP => OPENMP}/pair_lj_cut_omp.cpp | 0 src/{USER-OMP => OPENMP}/pair_lj_cut_omp.h | 0 .../pair_lj_cut_soft_omp.cpp | 0 .../pair_lj_cut_soft_omp.h | 0 .../pair_lj_cut_thole_long_omp.cpp | 0 .../pair_lj_cut_thole_long_omp.h | 0 .../pair_lj_cut_tip4p_cut_omp.cpp | 0 .../pair_lj_cut_tip4p_cut_omp.h | 0 .../pair_lj_cut_tip4p_long_omp.cpp | 0 .../pair_lj_cut_tip4p_long_omp.h | 0 .../pair_lj_cut_tip4p_long_soft_omp.cpp | 0 .../pair_lj_cut_tip4p_long_soft_omp.h | 0 .../pair_lj_expand_omp.cpp | 0 src/{USER-OMP => OPENMP}/pair_lj_expand_omp.h | 0 .../pair_lj_gromacs_coul_gromacs_omp.cpp | 0 .../pair_lj_gromacs_coul_gromacs_omp.h | 0 .../pair_lj_gromacs_omp.cpp | 0 .../pair_lj_gromacs_omp.h | 0 .../pair_lj_long_coul_long_omp.cpp | 0 .../pair_lj_long_coul_long_omp.h | 0 .../pair_lj_long_tip4p_long_omp.cpp | 0 .../pair_lj_long_tip4p_long_omp.h | 0 .../pair_lj_relres_omp.cpp | 0 src/{USER-OMP => OPENMP}/pair_lj_relres_omp.h | 0 .../pair_lj_sdk_coul_long_omp.cpp | 0 .../pair_lj_sdk_coul_long_omp.h | 0 .../pair_lj_sdk_coul_msm_omp.cpp | 0 .../pair_lj_sdk_coul_msm_omp.h | 0 src/{USER-OMP => OPENMP}/pair_lj_sdk_omp.cpp | 0 src/{USER-OMP => OPENMP}/pair_lj_sdk_omp.h | 0 .../pair_lj_sf_dipole_sf_omp.cpp | 0 .../pair_lj_sf_dipole_sf_omp.h | 0 .../pair_lj_smooth_linear_omp.cpp | 0 .../pair_lj_smooth_linear_omp.h | 0 .../pair_lj_smooth_omp.cpp | 0 src/{USER-OMP => OPENMP}/pair_lj_smooth_omp.h | 0 .../pair_lubricate_omp.cpp | 0 src/{USER-OMP => OPENMP}/pair_lubricate_omp.h | 0 .../pair_lubricate_poly_omp.cpp | 0 .../pair_lubricate_poly_omp.h | 0 .../pair_meam_spline_omp.cpp | 0 .../pair_meam_spline_omp.h | 0 src/{USER-OMP => OPENMP}/pair_morse_omp.cpp | 0 src/{USER-OMP => OPENMP}/pair_morse_omp.h | 0 .../pair_morse_smooth_linear_omp.cpp | 0 .../pair_morse_smooth_linear_omp.h | 0 .../pair_nm_cut_coul_cut_omp.cpp | 0 .../pair_nm_cut_coul_cut_omp.h | 0 .../pair_nm_cut_coul_long_omp.cpp | 0 .../pair_nm_cut_coul_long_omp.h | 0 src/{USER-OMP => OPENMP}/pair_nm_cut_omp.cpp | 0 src/{USER-OMP => OPENMP}/pair_nm_cut_omp.h | 0 .../pair_peri_lps_omp.cpp | 0 src/{USER-OMP => OPENMP}/pair_peri_lps_omp.h | 0 .../pair_peri_pmb_omp.cpp | 0 src/{USER-OMP => OPENMP}/pair_peri_pmb_omp.h | 0 src/{USER-OMP => OPENMP}/pair_reaxc_omp.cpp | 2 +- src/{USER-OMP => OPENMP}/pair_reaxc_omp.h | 0 src/{USER-OMP => OPENMP}/pair_rebo_omp.cpp | 0 src/{USER-OMP => OPENMP}/pair_rebo_omp.h | 0 .../pair_resquared_omp.cpp | 0 src/{USER-OMP => OPENMP}/pair_resquared_omp.h | 0 src/{USER-OMP => OPENMP}/pair_soft_omp.cpp | 0 src/{USER-OMP => OPENMP}/pair_soft_omp.h | 0 src/{USER-OMP => OPENMP}/pair_sw_omp.cpp | 0 src/{USER-OMP => OPENMP}/pair_sw_omp.h | 0 src/{USER-OMP => OPENMP}/pair_table_omp.cpp | 0 src/{USER-OMP => OPENMP}/pair_table_omp.h | 0 .../pair_tersoff_mod_c_omp.cpp | 0 .../pair_tersoff_mod_c_omp.h | 0 .../pair_tersoff_mod_omp.cpp | 0 .../pair_tersoff_mod_omp.h | 0 src/{USER-OMP => OPENMP}/pair_tersoff_omp.cpp | 0 src/{USER-OMP => OPENMP}/pair_tersoff_omp.h | 0 .../pair_tersoff_table_omp.cpp | 0 .../pair_tersoff_table_omp.h | 0 .../pair_tersoff_zbl_omp.cpp | 0 .../pair_tersoff_zbl_omp.h | 0 .../pair_tip4p_cut_omp.cpp | 0 src/{USER-OMP => OPENMP}/pair_tip4p_cut_omp.h | 0 .../pair_tip4p_long_omp.cpp | 0 .../pair_tip4p_long_omp.h | 0 .../pair_tip4p_long_soft_omp.cpp | 0 .../pair_tip4p_long_soft_omp.h | 0 src/{USER-OMP => OPENMP}/pair_ufm_omp.cpp | 0 src/{USER-OMP => OPENMP}/pair_ufm_omp.h | 0 .../pair_vashishta_omp.cpp | 0 src/{USER-OMP => OPENMP}/pair_vashishta_omp.h | 0 .../pair_vashishta_table_omp.cpp | 0 .../pair_vashishta_table_omp.h | 0 .../pair_yukawa_colloid_omp.cpp | 0 .../pair_yukawa_colloid_omp.h | 0 src/{USER-OMP => OPENMP}/pair_yukawa_omp.cpp | 0 src/{USER-OMP => OPENMP}/pair_yukawa_omp.h | 0 src/{USER-OMP => OPENMP}/pair_zbl_omp.cpp | 0 src/{USER-OMP => OPENMP}/pair_zbl_omp.h | 0 src/{USER-OMP => OPENMP}/pppm_cg_omp.cpp | 0 src/{USER-OMP => OPENMP}/pppm_cg_omp.h | 0 src/{USER-OMP => OPENMP}/pppm_disp_omp.cpp | 0 src/{USER-OMP => OPENMP}/pppm_disp_omp.h | 0 .../pppm_disp_tip4p_omp.cpp | 0 .../pppm_disp_tip4p_omp.h | 0 src/{USER-OMP => OPENMP}/pppm_omp.cpp | 0 src/{USER-OMP => OPENMP}/pppm_omp.h | 0 src/{USER-OMP => OPENMP}/pppm_tip4p_omp.cpp | 0 src/{USER-OMP => OPENMP}/pppm_tip4p_omp.h | 0 .../reaxc_bond_orders_omp.cpp | 0 .../reaxc_bond_orders_omp.h | 0 src/{USER-OMP => OPENMP}/reaxc_bonds_omp.cpp | 0 src/{USER-OMP => OPENMP}/reaxc_bonds_omp.h | 0 src/{USER-OMP => OPENMP}/reaxc_forces_omp.cpp | 0 src/{USER-OMP => OPENMP}/reaxc_forces_omp.h | 0 .../reaxc_hydrogen_bonds_omp.cpp | 0 .../reaxc_hydrogen_bonds_omp.h | 0 .../reaxc_init_md_omp.cpp | 0 src/{USER-OMP => OPENMP}/reaxc_init_md_omp.h | 0 .../reaxc_multi_body_omp.cpp | 0 .../reaxc_multi_body_omp.h | 0 .../reaxc_nonbonded_omp.cpp | 0 .../reaxc_nonbonded_omp.h | 0 .../reaxc_torsion_angles_omp.cpp | 0 .../reaxc_torsion_angles_omp.h | 0 .../reaxc_valence_angles_omp.cpp | 0 .../reaxc_valence_angles_omp.h | 0 src/{USER-OMP => OPENMP}/respa_omp.cpp | 0 src/{USER-OMP => OPENMP}/respa_omp.h | 0 src/{USER-OMP => OPENMP}/thr_data.cpp | 0 src/{USER-OMP => OPENMP}/thr_data.h | 0 src/{USER-OMP => OPENMP}/thr_omp.cpp | 0 src/{USER-OMP => OPENMP}/thr_omp.h | 0 src/USER-INTEL/README | 4 +- src/USER-INTEL/TEST/README | 2 +- src/USER-INTEL/fix_intel.cpp | 4 +- src/USER-REAXC/fix_qeq_reax.cpp | 2 +- src/accelerator_omp.h | 2 +- src/comm.h | 2 +- src/info.cpp | 18 ++++---- src/input.cpp | 2 +- src/input.h | 4 +- src/lammps.cpp | 4 +- src/lammps.h | 2 +- src/library.cpp | 2 +- src/modify.cpp | 2 +- src/neigh_request.h | 2 +- unittest/c-library/test_library_open.cpp | 2 +- unittest/cplusplus/test_lammps_class.cpp | 10 ++--- unittest/force-styles/test_angle_style.cpp | 8 ++-- unittest/force-styles/test_bond_style.cpp | 8 ++-- unittest/force-styles/test_dihedral_style.cpp | 8 ++-- unittest/force-styles/test_fix_timestep.cpp | 2 +- unittest/force-styles/test_improper_style.cpp | 8 ++-- unittest/force-styles/test_pair_style.cpp | 4 +- unittest/force-styles/tests/kspace-msm.yaml | 2 +- .../force-styles/tests/kspace-msm_cg.yaml | 2 +- .../force-styles/tests/kspace-msm_nopbc.yaml | 2 +- .../tests/mol-pair-born_coul_msm.yaml | 2 +- .../tests/mol-pair-born_coul_msm_table.yaml | 2 +- .../tests/mol-pair-buck_coul_msm.yaml | 2 +- .../tests/mol-pair-buck_coul_msm_table.yaml | 2 +- .../force-styles/tests/mol-pair-coul_msm.yaml | 2 +- .../tests/mol-pair-coul_msm_table.yaml | 2 +- .../tests/mol-pair-lj_charmm_coul_msm.yaml | 2 +- .../mol-pair-lj_charmm_coul_msm_table.yaml | 2 +- .../tests/mol-pair-lj_cut_coul_msm.yaml | 2 +- .../tests/mol-pair-lj_cut_coul_msm_table.yaml | 2 +- .../tests/mol-pair-lj_sdk_coul_msm.yaml | 2 +- .../tests/mol-pair-lj_sdk_coul_msm_table.yaml | 2 +- unittest/python/python-capabilities.py | 8 ++-- 586 files changed, 257 insertions(+), 276 deletions(-) create mode 100644 cmake/Modules/Packages/OPENMP.cmake delete mode 100644 cmake/Modules/Packages/USER-OMP.cmake rename src/{USER-OMP => OPENMP}/Install.sh (100%) rename src/{USER-OMP => OPENMP}/README (100%) rename src/{USER-OMP => OPENMP}/angle_charmm_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/angle_charmm_omp.h (100%) rename src/{USER-OMP => OPENMP}/angle_class2_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/angle_class2_omp.h (100%) rename src/{USER-OMP => OPENMP}/angle_cosine_delta_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/angle_cosine_delta_omp.h (100%) rename src/{USER-OMP => OPENMP}/angle_cosine_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/angle_cosine_omp.h (100%) rename src/{USER-OMP => OPENMP}/angle_cosine_periodic_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/angle_cosine_periodic_omp.h (100%) rename src/{USER-OMP => OPENMP}/angle_cosine_shift_exp_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/angle_cosine_shift_exp_omp.h (100%) rename src/{USER-OMP => OPENMP}/angle_cosine_shift_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/angle_cosine_shift_omp.h (100%) rename src/{USER-OMP => OPENMP}/angle_cosine_squared_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/angle_cosine_squared_omp.h (100%) rename src/{USER-OMP => OPENMP}/angle_dipole_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/angle_dipole_omp.h (100%) rename src/{USER-OMP => OPENMP}/angle_fourier_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/angle_fourier_omp.h (100%) rename src/{USER-OMP => OPENMP}/angle_fourier_simple_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/angle_fourier_simple_omp.h (100%) rename src/{USER-OMP => OPENMP}/angle_harmonic_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/angle_harmonic_omp.h (100%) rename src/{USER-OMP => OPENMP}/angle_quartic_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/angle_quartic_omp.h (100%) rename src/{USER-OMP => OPENMP}/angle_sdk_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/angle_sdk_omp.h (100%) rename src/{USER-OMP => OPENMP}/angle_table_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/angle_table_omp.h (100%) rename src/{USER-OMP => OPENMP}/bond_class2_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/bond_class2_omp.h (100%) rename src/{USER-OMP => OPENMP}/bond_fene_expand_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/bond_fene_expand_omp.h (100%) rename src/{USER-OMP => OPENMP}/bond_fene_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/bond_fene_omp.h (100%) rename src/{USER-OMP => OPENMP}/bond_gromos_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/bond_gromos_omp.h (100%) rename src/{USER-OMP => OPENMP}/bond_harmonic_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/bond_harmonic_omp.h (100%) rename src/{USER-OMP => OPENMP}/bond_harmonic_shift_cut_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/bond_harmonic_shift_cut_omp.h (100%) rename src/{USER-OMP => OPENMP}/bond_harmonic_shift_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/bond_harmonic_shift_omp.h (100%) rename src/{USER-OMP => OPENMP}/bond_morse_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/bond_morse_omp.h (100%) rename src/{USER-OMP => OPENMP}/bond_nonlinear_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/bond_nonlinear_omp.h (100%) rename src/{USER-OMP => OPENMP}/bond_quartic_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/bond_quartic_omp.h (100%) rename src/{USER-OMP => OPENMP}/bond_table_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/bond_table_omp.h (100%) rename src/{USER-OMP => OPENMP}/dihedral_charmm_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/dihedral_charmm_omp.h (100%) rename src/{USER-OMP => OPENMP}/dihedral_class2_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/dihedral_class2_omp.h (100%) rename src/{USER-OMP => OPENMP}/dihedral_cosine_shift_exp_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/dihedral_cosine_shift_exp_omp.h (100%) rename src/{USER-OMP => OPENMP}/dihedral_fourier_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/dihedral_fourier_omp.h (100%) rename src/{USER-OMP => OPENMP}/dihedral_harmonic_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/dihedral_harmonic_omp.h (100%) rename src/{USER-OMP => OPENMP}/dihedral_helix_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/dihedral_helix_omp.h (100%) rename src/{USER-OMP => OPENMP}/dihedral_multi_harmonic_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/dihedral_multi_harmonic_omp.h (100%) rename src/{USER-OMP => OPENMP}/dihedral_nharmonic_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/dihedral_nharmonic_omp.h (100%) rename src/{USER-OMP => OPENMP}/dihedral_opls_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/dihedral_opls_omp.h (100%) rename src/{USER-OMP => OPENMP}/dihedral_quadratic_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/dihedral_quadratic_omp.h (100%) rename src/{USER-OMP => OPENMP}/dihedral_table_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/dihedral_table_omp.h (100%) rename src/{USER-OMP => OPENMP}/domain_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/ewald_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/ewald_omp.h (100%) rename src/{USER-OMP => OPENMP}/fix_gravity_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/fix_gravity_omp.h (100%) rename src/{USER-OMP => OPENMP}/fix_neigh_history_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/fix_neigh_history_omp.h (100%) rename src/{USER-OMP => OPENMP}/fix_nh_asphere_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/fix_nh_asphere_omp.h (100%) rename src/{USER-OMP => OPENMP}/fix_nh_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/fix_nh_omp.h (100%) rename src/{USER-OMP => OPENMP}/fix_nh_sphere_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/fix_nh_sphere_omp.h (100%) rename src/{USER-OMP => OPENMP}/fix_nph_asphere_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/fix_nph_asphere_omp.h (100%) rename src/{USER-OMP => OPENMP}/fix_nph_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/fix_nph_omp.h (100%) rename src/{USER-OMP => OPENMP}/fix_nph_sphere_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/fix_nph_sphere_omp.h (100%) rename src/{USER-OMP => OPENMP}/fix_npt_asphere_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/fix_npt_asphere_omp.h (100%) rename src/{USER-OMP => OPENMP}/fix_npt_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/fix_npt_omp.h (100%) rename src/{USER-OMP => OPENMP}/fix_npt_sphere_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/fix_npt_sphere_omp.h (100%) rename src/{USER-OMP => OPENMP}/fix_nve_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/fix_nve_omp.h (100%) rename src/{USER-OMP => OPENMP}/fix_nve_sphere_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/fix_nve_sphere_omp.h (100%) rename src/{USER-OMP => OPENMP}/fix_nvt_asphere_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/fix_nvt_asphere_omp.h (100%) rename src/{USER-OMP => OPENMP}/fix_nvt_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/fix_nvt_omp.h (100%) rename src/{USER-OMP => OPENMP}/fix_nvt_sllod_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/fix_nvt_sllod_omp.h (100%) rename src/{USER-OMP => OPENMP}/fix_nvt_sphere_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/fix_nvt_sphere_omp.h (100%) rename src/{USER-OMP => OPENMP}/fix_omp.cpp (87%) rename src/{USER-OMP => OPENMP}/fix_omp.h (100%) rename src/{USER-OMP => OPENMP}/fix_peri_neigh_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/fix_peri_neigh_omp.h (100%) rename src/{USER-OMP => OPENMP}/fix_qeq_comb_omp.cpp (99%) rename src/{USER-OMP => OPENMP}/fix_qeq_comb_omp.h (100%) rename src/{USER-OMP => OPENMP}/fix_qeq_reax_omp.cpp (99%) rename src/{USER-OMP => OPENMP}/fix_qeq_reax_omp.h (100%) rename src/{USER-OMP => OPENMP}/fix_rigid_nh_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/fix_rigid_nh_omp.h (100%) rename src/{USER-OMP => OPENMP}/fix_rigid_nph_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/fix_rigid_nph_omp.h (100%) rename src/{USER-OMP => OPENMP}/fix_rigid_npt_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/fix_rigid_npt_omp.h (100%) rename src/{USER-OMP => OPENMP}/fix_rigid_nve_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/fix_rigid_nve_omp.h (100%) rename src/{USER-OMP => OPENMP}/fix_rigid_nvt_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/fix_rigid_nvt_omp.h (100%) rename src/{USER-OMP => OPENMP}/fix_rigid_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/fix_rigid_omp.h (100%) rename src/{USER-OMP => OPENMP}/fix_rigid_small_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/fix_rigid_small_omp.h (100%) rename src/{USER-OMP => OPENMP}/improper_class2_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/improper_class2_omp.h (100%) rename src/{USER-OMP => OPENMP}/improper_cossq_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/improper_cossq_omp.h (100%) rename src/{USER-OMP => OPENMP}/improper_cvff_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/improper_cvff_omp.h (100%) rename src/{USER-OMP => OPENMP}/improper_fourier_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/improper_fourier_omp.h (100%) rename src/{USER-OMP => OPENMP}/improper_harmonic_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/improper_harmonic_omp.h (100%) rename src/{USER-OMP => OPENMP}/improper_ring_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/improper_ring_omp.h (100%) rename src/{USER-OMP => OPENMP}/improper_umbrella_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/improper_umbrella_omp.h (100%) rename src/{USER-OMP => OPENMP}/msm_cg_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/msm_cg_omp.h (100%) rename src/{USER-OMP => OPENMP}/msm_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/msm_omp.h (100%) rename src/{USER-OMP => OPENMP}/npair_full_bin_atomonly_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/npair_full_bin_atomonly_omp.h (100%) rename src/{USER-OMP => OPENMP}/npair_full_bin_ghost_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/npair_full_bin_ghost_omp.h (100%) rename src/{USER-OMP => OPENMP}/npair_full_bin_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/npair_full_bin_omp.h (100%) rename src/{USER-OMP => OPENMP}/npair_full_multi_old_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/npair_full_multi_old_omp.h (100%) rename src/{USER-OMP => OPENMP}/npair_full_multi_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/npair_full_multi_omp.h (100%) rename src/{USER-OMP => OPENMP}/npair_full_nsq_ghost_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/npair_full_nsq_ghost_omp.h (100%) rename src/{USER-OMP => OPENMP}/npair_full_nsq_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/npair_full_nsq_omp.h (100%) rename src/{USER-OMP => OPENMP}/npair_half_bin_atomonly_newton_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/npair_half_bin_atomonly_newton_omp.h (100%) rename src/{USER-OMP => OPENMP}/npair_half_bin_newtoff_ghost_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/npair_half_bin_newtoff_ghost_omp.h (100%) rename src/{USER-OMP => OPENMP}/npair_half_bin_newtoff_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/npair_half_bin_newtoff_omp.h (100%) rename src/{USER-OMP => OPENMP}/npair_half_bin_newton_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/npair_half_bin_newton_omp.h (100%) rename src/{USER-OMP => OPENMP}/npair_half_bin_newton_tri_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/npair_half_bin_newton_tri_omp.h (100%) rename src/{USER-OMP => OPENMP}/npair_half_multi_newtoff_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/npair_half_multi_newtoff_omp.h (100%) rename src/{USER-OMP => OPENMP}/npair_half_multi_newton_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/npair_half_multi_newton_omp.h (100%) rename src/{USER-OMP => OPENMP}/npair_half_multi_newton_tri_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/npair_half_multi_newton_tri_omp.h (100%) rename src/{USER-OMP => OPENMP}/npair_half_multi_old_newtoff_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/npair_half_multi_old_newtoff_omp.h (100%) rename src/{USER-OMP => OPENMP}/npair_half_multi_old_newton_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/npair_half_multi_old_newton_omp.h (100%) rename src/{USER-OMP => OPENMP}/npair_half_multi_old_newton_tri_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/npair_half_multi_old_newton_tri_omp.h (100%) rename src/{USER-OMP => OPENMP}/npair_half_nsq_newtoff_ghost_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/npair_half_nsq_newtoff_ghost_omp.h (100%) rename src/{USER-OMP => OPENMP}/npair_half_nsq_newtoff_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/npair_half_nsq_newtoff_omp.h (100%) rename src/{USER-OMP => OPENMP}/npair_half_nsq_newton_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/npair_half_nsq_newton_omp.h (100%) rename src/{USER-OMP => OPENMP}/npair_half_respa_bin_newtoff_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/npair_half_respa_bin_newtoff_omp.h (100%) rename src/{USER-OMP => OPENMP}/npair_half_respa_bin_newton_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/npair_half_respa_bin_newton_omp.h (100%) rename src/{USER-OMP => OPENMP}/npair_half_respa_bin_newton_tri_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/npair_half_respa_bin_newton_tri_omp.h (100%) rename src/{USER-OMP => OPENMP}/npair_half_respa_nsq_newtoff_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/npair_half_respa_nsq_newtoff_omp.h (100%) rename src/{USER-OMP => OPENMP}/npair_half_respa_nsq_newton_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/npair_half_respa_nsq_newton_omp.h (100%) rename src/{USER-OMP => OPENMP}/npair_half_size_bin_newtoff_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/npair_half_size_bin_newtoff_omp.h (100%) rename src/{USER-OMP => OPENMP}/npair_half_size_bin_newton_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/npair_half_size_bin_newton_omp.h (100%) rename src/{USER-OMP => OPENMP}/npair_half_size_bin_newton_tri_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/npair_half_size_bin_newton_tri_omp.h (100%) rename src/{USER-OMP => OPENMP}/npair_half_size_multi_newtoff_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/npair_half_size_multi_newtoff_omp.h (100%) rename src/{USER-OMP => OPENMP}/npair_half_size_multi_newton_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/npair_half_size_multi_newton_omp.h (100%) rename src/{USER-OMP => OPENMP}/npair_half_size_multi_newton_tri_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/npair_half_size_multi_newton_tri_omp.h (100%) rename src/{USER-OMP => OPENMP}/npair_half_size_multi_old_newtoff_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/npair_half_size_multi_old_newtoff_omp.h (100%) rename src/{USER-OMP => OPENMP}/npair_half_size_multi_old_newton_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/npair_half_size_multi_old_newton_omp.h (100%) rename src/{USER-OMP => OPENMP}/npair_half_size_multi_old_newton_tri_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/npair_half_size_multi_old_newton_tri_omp.h (100%) rename src/{USER-OMP => OPENMP}/npair_half_size_nsq_newtoff_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/npair_half_size_nsq_newtoff_omp.h (100%) rename src/{USER-OMP => OPENMP}/npair_half_size_nsq_newton_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/npair_half_size_nsq_newton_omp.h (100%) rename src/{USER-OMP => OPENMP}/npair_halffull_newtoff_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/npair_halffull_newtoff_omp.h (100%) rename src/{USER-OMP => OPENMP}/npair_halffull_newton_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/npair_halffull_newton_omp.h (100%) rename src/{USER-OMP => OPENMP}/npair_omp.h (100%) rename src/{USER-OMP => OPENMP}/npair_skip_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_adp_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_adp_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_agni_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_agni_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_airebo_morse_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_airebo_morse_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_airebo_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_airebo_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_beck_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_beck_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_born_coul_long_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_born_coul_long_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_born_coul_msm_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_born_coul_msm_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_born_coul_wolf_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_born_coul_wolf_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_born_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_born_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_brownian_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_brownian_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_brownian_poly_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_brownian_poly_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_buck_coul_cut_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_buck_coul_cut_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_buck_coul_long_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_buck_coul_long_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_buck_coul_msm_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_buck_coul_msm_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_buck_long_coul_long_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_buck_long_coul_long_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_buck_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_buck_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_colloid_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_colloid_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_comb_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_comb_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_coul_cut_global_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_coul_cut_global_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_coul_cut_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_coul_cut_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_coul_cut_soft_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_coul_cut_soft_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_coul_debye_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_coul_debye_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_coul_diel_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_coul_diel_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_coul_dsf_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_coul_dsf_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_coul_long_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_coul_long_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_coul_long_soft_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_coul_long_soft_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_coul_msm_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_coul_msm_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_coul_wolf_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_coul_wolf_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_dpd_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_dpd_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_dpd_tstat_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_dpd_tstat_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_eam_alloy_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_eam_alloy_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_eam_fs_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_eam_fs_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_eam_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_eam_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_edip_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_edip_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_eim_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_eim_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_gauss_cut_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_gauss_cut_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_gauss_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_gauss_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_gayberne_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_gayberne_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_gran_hertz_history_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_gran_hertz_history_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_gran_hooke_history_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_gran_hooke_history_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_gran_hooke_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_gran_hooke_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_hbond_dreiding_lj_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_hbond_dreiding_lj_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_hbond_dreiding_morse_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_hbond_dreiding_morse_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_lj96_cut_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_lj96_cut_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_lj_charmm_coul_charmm_implicit_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_lj_charmm_coul_charmm_implicit_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_lj_charmm_coul_charmm_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_lj_charmm_coul_charmm_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_lj_charmm_coul_long_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_lj_charmm_coul_long_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_lj_charmm_coul_long_soft_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_lj_charmm_coul_long_soft_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_lj_charmm_coul_msm_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_lj_charmm_coul_msm_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_lj_class2_coul_cut_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_lj_class2_coul_cut_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_lj_class2_coul_long_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_lj_class2_coul_long_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_lj_class2_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_lj_class2_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_lj_cubic_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_lj_cubic_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_lj_cut_coul_cut_dielectric_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_lj_cut_coul_cut_dielectric_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_lj_cut_coul_cut_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_lj_cut_coul_cut_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_lj_cut_coul_cut_soft_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_lj_cut_coul_cut_soft_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_lj_cut_coul_debye_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_lj_cut_coul_debye_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_lj_cut_coul_dsf_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_lj_cut_coul_dsf_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_lj_cut_coul_long_dielectric_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_lj_cut_coul_long_dielectric_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_lj_cut_coul_long_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_lj_cut_coul_long_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_lj_cut_coul_long_soft_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_lj_cut_coul_long_soft_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_lj_cut_coul_msm_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_lj_cut_coul_msm_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_lj_cut_coul_wolf_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_lj_cut_coul_wolf_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_lj_cut_dipole_cut_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_lj_cut_dipole_cut_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_lj_cut_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_lj_cut_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_lj_cut_soft_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_lj_cut_soft_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_lj_cut_thole_long_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_lj_cut_thole_long_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_lj_cut_tip4p_cut_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_lj_cut_tip4p_cut_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_lj_cut_tip4p_long_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_lj_cut_tip4p_long_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_lj_cut_tip4p_long_soft_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_lj_cut_tip4p_long_soft_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_lj_expand_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_lj_expand_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_lj_gromacs_coul_gromacs_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_lj_gromacs_coul_gromacs_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_lj_gromacs_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_lj_gromacs_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_lj_long_coul_long_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_lj_long_coul_long_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_lj_long_tip4p_long_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_lj_long_tip4p_long_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_lj_relres_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_lj_relres_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_lj_sdk_coul_long_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_lj_sdk_coul_long_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_lj_sdk_coul_msm_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_lj_sdk_coul_msm_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_lj_sdk_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_lj_sdk_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_lj_sf_dipole_sf_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_lj_sf_dipole_sf_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_lj_smooth_linear_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_lj_smooth_linear_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_lj_smooth_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_lj_smooth_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_lubricate_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_lubricate_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_lubricate_poly_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_lubricate_poly_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_meam_spline_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_meam_spline_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_morse_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_morse_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_morse_smooth_linear_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_morse_smooth_linear_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_nm_cut_coul_cut_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_nm_cut_coul_cut_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_nm_cut_coul_long_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_nm_cut_coul_long_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_nm_cut_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_nm_cut_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_peri_lps_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_peri_lps_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_peri_pmb_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_peri_pmb_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_reaxc_omp.cpp (99%) rename src/{USER-OMP => OPENMP}/pair_reaxc_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_rebo_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_rebo_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_resquared_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_resquared_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_soft_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_soft_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_sw_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_sw_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_table_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_table_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_tersoff_mod_c_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_tersoff_mod_c_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_tersoff_mod_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_tersoff_mod_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_tersoff_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_tersoff_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_tersoff_table_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_tersoff_table_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_tersoff_zbl_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_tersoff_zbl_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_tip4p_cut_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_tip4p_cut_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_tip4p_long_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_tip4p_long_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_tip4p_long_soft_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_tip4p_long_soft_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_ufm_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_ufm_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_vashishta_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_vashishta_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_vashishta_table_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_vashishta_table_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_yukawa_colloid_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_yukawa_colloid_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_yukawa_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_yukawa_omp.h (100%) rename src/{USER-OMP => OPENMP}/pair_zbl_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pair_zbl_omp.h (100%) rename src/{USER-OMP => OPENMP}/pppm_cg_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pppm_cg_omp.h (100%) rename src/{USER-OMP => OPENMP}/pppm_disp_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pppm_disp_omp.h (100%) rename src/{USER-OMP => OPENMP}/pppm_disp_tip4p_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pppm_disp_tip4p_omp.h (100%) rename src/{USER-OMP => OPENMP}/pppm_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pppm_omp.h (100%) rename src/{USER-OMP => OPENMP}/pppm_tip4p_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/pppm_tip4p_omp.h (100%) rename src/{USER-OMP => OPENMP}/reaxc_bond_orders_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/reaxc_bond_orders_omp.h (100%) rename src/{USER-OMP => OPENMP}/reaxc_bonds_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/reaxc_bonds_omp.h (100%) rename src/{USER-OMP => OPENMP}/reaxc_forces_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/reaxc_forces_omp.h (100%) rename src/{USER-OMP => OPENMP}/reaxc_hydrogen_bonds_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/reaxc_hydrogen_bonds_omp.h (100%) rename src/{USER-OMP => OPENMP}/reaxc_init_md_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/reaxc_init_md_omp.h (100%) rename src/{USER-OMP => OPENMP}/reaxc_multi_body_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/reaxc_multi_body_omp.h (100%) rename src/{USER-OMP => OPENMP}/reaxc_nonbonded_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/reaxc_nonbonded_omp.h (100%) rename src/{USER-OMP => OPENMP}/reaxc_torsion_angles_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/reaxc_torsion_angles_omp.h (100%) rename src/{USER-OMP => OPENMP}/reaxc_valence_angles_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/reaxc_valence_angles_omp.h (100%) rename src/{USER-OMP => OPENMP}/respa_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/respa_omp.h (100%) rename src/{USER-OMP => OPENMP}/thr_data.cpp (100%) rename src/{USER-OMP => OPENMP}/thr_data.h (100%) rename src/{USER-OMP => OPENMP}/thr_omp.cpp (100%) rename src/{USER-OMP => OPENMP}/thr_omp.h (100%) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 74d6c67355..d7311de47e 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -41,7 +41,7 @@ src/ML-PACE/* @yury-lysogorskiy src/USER-PLUMED/* @gtribello src/USER-PHONON/* @lingtikong src/USER-PTM/* @pmla -src/USER-OMP/* @akohlmey +src/OPENMP/* @akohlmey src/USER-QMMM/* @akohlmey src/USER-REAXC/* @hasanmetin src/USER-REACTION/* @jrgissing diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 656cc4d856..0e937544cf 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -148,7 +148,7 @@ set(STANDARD_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS DIPOLE ML-RANN USER-REACTION USER-REAXC USER-SCAFACOS USER-SDPD MACHDYN USER-SMTBQ USER-SPH USER-TALLY USER-UEF USER-VTK ML-QUIP USER-QMMM USER-YAFF ML-PACE USER-BROWNIAN) -set(SUFFIX_PACKAGES CORESHELL GPU KOKKOS OPT USER-INTEL USER-OMP) +set(SUFFIX_PACKAGES CORESHELL GPU KOKKOS OPT USER-INTEL OPENMP) foreach(PKG ${STANDARD_PACKAGES} ${SUFFIX_PACKAGES}) option(PKG_${PKG} "Build ${PKG} Package" OFF) @@ -496,7 +496,7 @@ endif() # packages which selectively include variants based on enabled styles # e.g. accelerator packages ###################################################################### -foreach(PKG_WITH_INCL CORESHELL QEQ USER-OMP USER-SDPD KOKKOS OPT USER-INTEL GPU) +foreach(PKG_WITH_INCL CORESHELL QEQ OPENMP USER-SDPD KOKKOS OPT USER-INTEL GPU) if(PKG_${PKG_WITH_INCL}) include(Packages/${PKG_WITH_INCL}) endif() diff --git a/cmake/Modules/Packages/OPENMP.cmake b/cmake/Modules/Packages/OPENMP.cmake new file mode 100644 index 0000000000..4c165602d5 --- /dev/null +++ b/cmake/Modules/Packages/OPENMP.cmake @@ -0,0 +1,40 @@ + set(OPENMP_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/OPENMP) + set(OPENMP_SOURCES ${OPENMP_SOURCES_DIR}/thr_data.cpp + ${OPENMP_SOURCES_DIR}/thr_omp.cpp + ${OPENMP_SOURCES_DIR}/fix_omp.cpp + ${OPENMP_SOURCES_DIR}/fix_nh_omp.cpp + ${OPENMP_SOURCES_DIR}/fix_nh_sphere_omp.cpp + ${OPENMP_SOURCES_DIR}/domain_omp.cpp) + target_compile_definitions(lammps PRIVATE -DLMP_USER_OMP) + set_property(GLOBAL PROPERTY "OMP_SOURCES" "${OPENMP_SOURCES}") + + # detects styles which have OPENMP version + RegisterStylesExt(${OPENMP_SOURCES_DIR} omp OMP_SOURCES) + RegisterFixStyle(${OPENMP_SOURCES_DIR}/fix_omp.h) + + get_property(OPENMP_SOURCES GLOBAL PROPERTY OMP_SOURCES) + + # manually add package dependent source files from OPENMP that do not provide styles + + if(PKG_ASPHERE) + list(APPEND OPENMP_SOURCES ${OPENMP_SOURCES_DIR}/fix_nh_asphere_omp.cpp) + endif() + + if(PKG_RIGID) + list(APPEND OPENMP_SOURCES ${OPENMP_SOURCES_DIR}/fix_rigid_nh_omp.cpp) + endif() + + if(PKG_USER-REAXC) + list(APPEND OPENMP_SOURCES ${OPENMP_SOURCES_DIR}/reaxc_bond_orders_omp.cpp + ${OPENMP_SOURCES_DIR}/reaxc_hydrogen_bonds_omp.cpp + ${OPENMP_SOURCES_DIR}/reaxc_nonbonded_omp.cpp + ${OPENMP_SOURCES_DIR}/reaxc_bonds_omp.cpp + ${OPENMP_SOURCES_DIR}/reaxc_init_md_omp.cpp + ${OPENMP_SOURCES_DIR}/reaxc_torsion_angles_omp.cpp + ${OPENMP_SOURCES_DIR}/reaxc_forces_omp.cpp + ${OPENMP_SOURCES_DIR}/reaxc_multi_body_omp.cpp + ${OPENMP_SOURCES_DIR}/reaxc_valence_angles_omp.cpp) + endif() + + target_sources(lammps PRIVATE ${OPENMP_SOURCES}) + target_include_directories(lammps PRIVATE ${OPENMP_SOURCES_DIR}) diff --git a/cmake/Modules/Packages/USER-OMP.cmake b/cmake/Modules/Packages/USER-OMP.cmake deleted file mode 100644 index a1053ad355..0000000000 --- a/cmake/Modules/Packages/USER-OMP.cmake +++ /dev/null @@ -1,40 +0,0 @@ - set(USER-OMP_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/USER-OMP) - set(USER-OMP_SOURCES ${USER-OMP_SOURCES_DIR}/thr_data.cpp - ${USER-OMP_SOURCES_DIR}/thr_omp.cpp - ${USER-OMP_SOURCES_DIR}/fix_omp.cpp - ${USER-OMP_SOURCES_DIR}/fix_nh_omp.cpp - ${USER-OMP_SOURCES_DIR}/fix_nh_sphere_omp.cpp - ${USER-OMP_SOURCES_DIR}/domain_omp.cpp) - target_compile_definitions(lammps PRIVATE -DLMP_USER_OMP) - set_property(GLOBAL PROPERTY "OMP_SOURCES" "${USER-OMP_SOURCES}") - - # detects styles which have USER-OMP version - RegisterStylesExt(${USER-OMP_SOURCES_DIR} omp OMP_SOURCES) - RegisterFixStyle(${USER-OMP_SOURCES_DIR}/fix_omp.h) - - get_property(USER-OMP_SOURCES GLOBAL PROPERTY OMP_SOURCES) - - # manually add package dependent source files from USER-OMP that do not provide styles - - if(PKG_ASPHERE) - list(APPEND USER-OMP_SOURCES ${USER-OMP_SOURCES_DIR}/fix_nh_asphere_omp.cpp) - endif() - - if(PKG_RIGID) - list(APPEND USER-OMP_SOURCES ${USER-OMP_SOURCES_DIR}/fix_rigid_nh_omp.cpp) - endif() - - if(PKG_USER-REAXC) - list(APPEND USER-OMP_SOURCES ${USER-OMP_SOURCES_DIR}/reaxc_bond_orders_omp.cpp - ${USER-OMP_SOURCES_DIR}/reaxc_hydrogen_bonds_omp.cpp - ${USER-OMP_SOURCES_DIR}/reaxc_nonbonded_omp.cpp - ${USER-OMP_SOURCES_DIR}/reaxc_bonds_omp.cpp - ${USER-OMP_SOURCES_DIR}/reaxc_init_md_omp.cpp - ${USER-OMP_SOURCES_DIR}/reaxc_torsion_angles_omp.cpp - ${USER-OMP_SOURCES_DIR}/reaxc_forces_omp.cpp - ${USER-OMP_SOURCES_DIR}/reaxc_multi_body_omp.cpp - ${USER-OMP_SOURCES_DIR}/reaxc_valence_angles_omp.cpp) - endif() - - target_sources(lammps PRIVATE ${USER-OMP_SOURCES}) - target_include_directories(lammps PRIVATE ${USER-OMP_SOURCES_DIR}) diff --git a/cmake/presets/all_off.cmake b/cmake/presets/all_off.cmake index 5ead2b9a23..f41898fbdc 100644 --- a/cmake/presets/all_off.cmake +++ b/cmake/presets/all_off.cmake @@ -8,7 +8,7 @@ set(ALL_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU USER-ADIOS USER-ATC USER-AWPMD USER-BROWNIAN USER-BOCS CG-DNA CG-SDK USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD ML-HDNNP USER-INTEL LATBOLTZ USER-MANIFOLD USER-MDI MEAM USER-MESODPD - USER-MESONT USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF USER-OMP + USER-MESONT USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF OPENMP ML-PACE USER-PHONON USER-PLUMED USER-PTM USER-QMMM USER-QTB ML-QUIP ML-RANN USER-REACTION USER-REAXC USER-SCAFACOS USER-SDPD MACHDYN USER-SMTBQ USER-SPH USER-TALLY USER-UEF USER-VTK USER-YAFF USER-DIELECTRIC) diff --git a/cmake/presets/all_on.cmake b/cmake/presets/all_on.cmake index 9fd9aabb02..e60c95f8a0 100644 --- a/cmake/presets/all_on.cmake +++ b/cmake/presets/all_on.cmake @@ -10,7 +10,7 @@ set(ALL_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU USER-ADIOS USER-ATC USER-AWPMD USER-BROWNIAN USER-BOCS CG-DNA CG-SDK USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD ML-HDNNP USER-INTEL LATBOLTZ USER-MANIFOLD USER-MDI MEAM USER-MESODPD - USER-MESONT USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF USER-OMP + USER-MESONT USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF OPENMP ML-PACE USER-PHONON USER-PLUMED USER-PTM USER-QMMM USER-QTB ML-QUIP ML-RANN USER-REACTION USER-REAXC USER-SCAFACOS USER-SDPD MACHDYN USER-SMTBQ USER-SPH USER-TALLY USER-UEF USER-VTK USER-YAFF USER-DIELECTRIC) diff --git a/cmake/presets/mingw-cross.cmake b/cmake/presets/mingw-cross.cmake index 5da2f14ae1..eb81c401c1 100644 --- a/cmake/presets/mingw-cross.cmake +++ b/cmake/presets/mingw-cross.cmake @@ -4,7 +4,7 @@ set(WIN_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU USER-ATC USER-AWPMD USER-BOCS USER-BROWNIAN CG-DNA CG-SDK USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP ML-HDNNP USER-INTEL USER-MANIFOLD USER-MDI MEAM USER-MESODPD - USER-MESONT USER-MISC USER-MGPT USER-MOFFF USER-MOLFILE USER-OMP + USER-MESONT USER-MISC USER-MGPT USER-MOFFF USER-MOLFILE OPENMP USER-PHONON USER-PTM USER-QTB USER-REACTION USER-REAXC USER-SDPD MACHDYN USER-SMTBQ USER-SPH USER-TALLY USER-UEF USER-YAFF USER-DIELECTRIC) diff --git a/cmake/presets/most.cmake b/cmake/presets/most.cmake index abf0033400..35c37badd2 100644 --- a/cmake/presets/most.cmake +++ b/cmake/presets/most.cmake @@ -7,7 +7,7 @@ set(ALL_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE PLUGIN POEMS PYTHON QEQ REPLICA RIGID SHOCK ML-SNAP SPIN SRD VORONOI USER-BROWNIAN USER-BOCS CG-DNA CG-SDK USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP MEAM - USER-MESODPD USER-MISC USER-MOFFF USER-OMP USER-PHONON USER-REACTION + USER-MESODPD USER-MISC USER-MOFFF OPENMP USER-PHONON USER-REACTION USER-REAXC USER-SDPD USER-SPH MACHDYN USER-UEF USER-YAFF USER-DIELECTRIC) foreach(PKG ${ALL_PACKAGES}) diff --git a/doc/lammps.1 b/doc/lammps.1 index f18a9a118d..616f1dac8b 100644 --- a/doc/lammps.1 +++ b/doc/lammps.1 @@ -135,7 +135,7 @@ For example "-pk gpu 2" is the same as "package gpu 2" in the input script. The possible styles and options are discussed in the .B LAMMPS manual for the "package" command. This switch can be used multiple -times, e.g. to set options for the USER-INTEL and USER-OMP packages +times, e.g. to set options for the USER-INTEL and OPENMP packages when used together. Along with the "-sf" or "-suffix" switch, this is a convenient mechanism for invoking accelerator packages and their options without having to edit an input script. diff --git a/doc/src/Build_basics.rst b/doc/src/Build_basics.rst index 79aaa48607..ba1839e2de 100644 --- a/doc/src/Build_basics.rst +++ b/doc/src/Build_basics.rst @@ -120,9 +120,9 @@ self-installed MPICH or OpenMPI, so you should study the provided documentation to find out how to build and link with it. The majority of OpenMP (threading) support in LAMMPS is provided by the -``USER-OMP`` package; see the :doc:`Speed_omp` +``OPENMP`` package; see the :doc:`Speed_omp` page for details. The ``USER-INTEL`` package also includes OpenMP -threading (it is compatible with ``USER-OMP`` and will usually fall +threading (it is compatible with ``OPENMP`` and will usually fall back on styles from that package, if a ``USER-INTEL`` does not exist) and adds vectorization support when compiled with compatible compilers, in particular the Intel compilers on top of OpenMP. Also, the ``KOKKOS`` @@ -325,7 +325,7 @@ LAMMPS. .. code-block:: bash Makefile.opt # OPT package - Makefile.omp # USER-OMP package + Makefile.omp # OPENMP package Makefile.intel_cpu # USER-INTEL package for CPUs Makefile.intel_coprocessor # USER-INTEL package for KNLs Makefile.gpu # GPU package diff --git a/doc/src/Build_development.rst b/doc/src/Build_development.rst index ea5c969056..a306984a3d 100644 --- a/doc/src/Build_development.rst +++ b/doc/src/Build_development.rst @@ -310,7 +310,7 @@ and working. parameter needs to be adjusted. Typically a value around 1.0e-13 can be used, but it may need to be as large as 1.0e-8 in some cases. - - The tests for pair styles from OPT, USER-OMP and USER-INTEL are + - The tests for pair styles from OPT, OPENMP and USER-INTEL are performed with automatically rescaled epsilon to account for additional loss of precision from code optimizations and different summation orders. @@ -345,7 +345,7 @@ and compared. If the fix is a thermostat and thus the internal property ``t_target`` can be extracted, then this is compared to the reference data. The tests are repeated with the respa run style. -If the fix has a multi-threaded version in the USER-OMP package, then +If the fix has a multi-threaded version in the OPENMP package, then the entire set of tests is repeated for that version as well. For this to work, some additional conditions have to be met by the diff --git a/doc/src/Build_extras.rst b/doc/src/Build_extras.rst index 0cd99e130e..bf624adcb3 100644 --- a/doc/src/Build_extras.rst +++ b/doc/src/Build_extras.rst @@ -56,7 +56,7 @@ This is the list of packages that may require additional steps. * :ref:`USER-NETCDF ` * :ref:`ML-PACE ` * :ref:`USER-PLUMED ` - * :ref:`USER-OMP ` + * :ref:`OPENMP ` * :ref:`USER-QMMM ` * :ref:`ML-QUIP ` * :ref:`USER-SCAFACOS ` @@ -1537,13 +1537,13 @@ USER-INTEL package To build with this package, you must choose which hardware you want to build for, either x86 CPUs or Intel KNLs in offload mode. You should -also typically :ref:`install the USER-OMP package `, as it can be +also typically :ref:`install the OPENMP package `, as it can be used in tandem with the USER-INTEL package to good effect, as explained on the :doc:`Speed_intel` page. When using Intel compilers version 16.0 or later is required. You can also use the GNU or Clang compilers and they will provide performance -improvements over regular styles and USER-OMP styles, but less so than +improvements over regular styles and OPENMP styles, but less so than with the Intel compilers. Please also note, that some compilers have been found to apply memory alignment constraints incompletely or incorrectly and thus can cause segmentation faults in otherwise correct @@ -1740,9 +1740,9 @@ on your system. ---------- -.. _user-omp: +.. _openmp: -USER-OMP package +OPENMP package ------------------------------- .. tabs:: @@ -1750,13 +1750,13 @@ USER-OMP package .. tab:: CMake build No additional settings are required besides ``-D - PKG_USER-OMP=yes``. If CMake detects OpenMP compiler support, the - USER-OMP code will be compiled with multi-threading support + PKG_OPENMP=yes``. If CMake detects OpenMP compiler support, the + OPENMP code will be compiled with multi-threading support enabled, otherwise as optimized serial code. .. tab:: Traditional make - To enable multi-threading support in the USER-OMP package (and + To enable multi-threading support in the OPENMP package (and other styles supporting OpenMP) the following compile and link flags must be added to your Makefile.machine file. See ``src/MAKE/OPTIONS/Makefile.omp`` for an example. diff --git a/doc/src/Build_make.rst b/doc/src/Build_make.rst index 06f87fe904..a28d074e0b 100644 --- a/doc/src/Build_make.rst +++ b/doc/src/Build_make.rst @@ -120,7 +120,7 @@ settings may become outdated: make intel_cpu # build with the USER-INTEL package optimized for CPUs make knl # build with the USER-INTEL package optimized for KNLs make opt # build with the OPT package optimized for CPUs - make omp # build with the USER-OMP package optimized for OpenMP + make omp # build with the OPENMP package optimized for OpenMP make kokkos_omp # build with the KOKKOS package for OpenMP make kokkos_cuda_mpi # build with the KOKKOS package for GPUs make kokkos_phi # build with the KOKKOS package for KNLs diff --git a/doc/src/Build_package.rst b/doc/src/Build_package.rst index 880f7d028d..06f4cf0a42 100644 --- a/doc/src/Build_package.rst +++ b/doc/src/Build_package.rst @@ -37,7 +37,7 @@ packages: +--------------------------------------+--------------------------------------+------------------------------------+----------------------------------+--------------------------------+--------------------------------+ | :ref:`USER-ATC ` | :ref:`USER-AWPMD ` | :ref:`USER-COLVARS ` | :ref:`USER-H5MD ` | :ref:`ML-HDNNP ` | :ref:`USER-INTEL ` | +--------------------------------------+--------------------------------------+------------------------------------+----------------------------------+--------------------------------+--------------------------------+ -| :ref:`USER-MOLFILE ` | :ref:`USER-NETCDF ` | :ref:`ML-PACE ` | :ref:`USER-PLUMED ` | :ref:`USER-OMP ` | :ref:`USER-QMMM ` | +| :ref:`USER-MOLFILE ` | :ref:`USER-NETCDF ` | :ref:`ML-PACE ` | :ref:`USER-PLUMED ` | :ref:`OPENMP ` | :ref:`USER-QMMM ` | +--------------------------------------+--------------------------------------+------------------------------------+----------------------------------+--------------------------------+--------------------------------+ | :ref:`ML-QUIP ` | :ref:`USER-SCAFACOS ` | :ref:`MACHDYN ` | :ref:`USER-VTK ` | | | +--------------------------------------+--------------------------------------+------------------------------------+----------------------------------+--------------------------------+--------------------------------+ diff --git a/doc/src/Build_settings.rst b/doc/src/Build_settings.rst index caa6042a51..227291e9c7 100644 --- a/doc/src/Build_settings.rst +++ b/doc/src/Build_settings.rst @@ -64,7 +64,7 @@ LAMMPS can use them if they are available on your system. selected, then CMake will try to detect, if threaded FFTW libraries are available and enable them by default. This setting is independent of whether OpenMP threads are enabled and a - packages like KOKKOS or USER-OMP is used. If CMake cannot detect + packages like KOKKOS or OPENMP is used. If CMake cannot detect the FFT library, you can set these variables to assist: .. code-block:: bash diff --git a/doc/src/Commands_bond.rst b/doc/src/Commands_bond.rst index 70a021849d..b6817f720e 100644 --- a/doc/src/Commands_bond.rst +++ b/doc/src/Commands_bond.rst @@ -18,7 +18,7 @@ Bond_style potentials All LAMMPS :doc:`bond_style ` commands. Some styles have accelerated versions. This is indicated by additional letters in -parenthesis: g = GPU, i = USER-INTEL, k = KOKKOS, o = USER-OMP, t = +parenthesis: g = GPU, i = USER-INTEL, k = KOKKOS, o = OPENMP, t = OPT. .. table_from_list:: @@ -57,7 +57,7 @@ Angle_style potentials All LAMMPS :doc:`angle_style ` commands. Some styles have accelerated versions. This is indicated by additional letters in -parenthesis: g = GPU, i = USER-INTEL, k = KOKKOS, o = USER-OMP, t = +parenthesis: g = GPU, i = USER-INTEL, k = KOKKOS, o = OPENMP, t = OPT. .. table_from_list:: @@ -99,7 +99,7 @@ Dihedral_style potentials All LAMMPS :doc:`dihedral_style ` commands. Some styles have accelerated versions. This is indicated by additional letters in -parenthesis: g = GPU, i = USER-INTEL, k = KOKKOS, o = USER-OMP, t = +parenthesis: g = GPU, i = USER-INTEL, k = KOKKOS, o = OPENMP, t = OPT. .. table_from_list:: @@ -135,7 +135,7 @@ Improper_style potentials All LAMMPS :doc:`improper_style ` commands. Some styles have accelerated versions. This is indicated by additional letters in -parenthesis: g = GPU, i = USER-INTEL, k = KOKKOS, o = USER-OMP, t = +parenthesis: g = GPU, i = USER-INTEL, k = KOKKOS, o = OPENMP, t = OPT. .. table_from_list:: diff --git a/doc/src/Commands_compute.rst b/doc/src/Commands_compute.rst index 72cc305bb3..eb34d71679 100644 --- a/doc/src/Commands_compute.rst +++ b/doc/src/Commands_compute.rst @@ -17,7 +17,7 @@ Compute commands An alphabetic list of all LAMMPS :doc:`compute ` commands. Some styles have accelerated versions. This is indicated by additional letters in parenthesis: g = GPU, i = USER-INTEL, k = -KOKKOS, o = USER-OMP, t = OPT. +KOKKOS, o = OPENMP, t = OPT. .. table_from_list:: :columns: 5 diff --git a/doc/src/Commands_fix.rst b/doc/src/Commands_fix.rst index c9c55277b2..e3d79489e3 100644 --- a/doc/src/Commands_fix.rst +++ b/doc/src/Commands_fix.rst @@ -16,7 +16,7 @@ Fix commands An alphabetic list of all LAMMPS :doc:`fix ` commands. Some styles have accelerated versions. This is indicated by additional letters in -parenthesis: g = GPU, i = USER-INTEL, k = KOKKOS, o = USER-OMP, t = +parenthesis: g = GPU, i = USER-INTEL, k = KOKKOS, o = OPENMP, t = OPT. .. table_from_list:: diff --git a/doc/src/Commands_kspace.rst b/doc/src/Commands_kspace.rst index 2f7cd35f15..0bb99cdf28 100644 --- a/doc/src/Commands_kspace.rst +++ b/doc/src/Commands_kspace.rst @@ -16,7 +16,7 @@ KSpace solvers All LAMMPS :doc:`kspace_style ` solvers. Some styles have accelerated versions. This is indicated by additional letters in -parenthesis: g = GPU, i = USER-INTEL, k = KOKKOS, o = USER-OMP, t = +parenthesis: g = GPU, i = USER-INTEL, k = KOKKOS, o = OPENMP, t = OPT. .. table_from_list:: diff --git a/doc/src/Commands_pair.rst b/doc/src/Commands_pair.rst index 53233c7846..a621f1a903 100644 --- a/doc/src/Commands_pair.rst +++ b/doc/src/Commands_pair.rst @@ -16,7 +16,7 @@ Pair_style potentials All LAMMPS :doc:`pair_style ` commands. Some styles have accelerated versions. This is indicated by additional letters in -parenthesis: g = GPU, i = USER-INTEL, k = KOKKOS, o = USER-OMP, t = +parenthesis: g = GPU, i = USER-INTEL, k = KOKKOS, o = OPENMP, t = OPT. .. table_from_list:: diff --git a/doc/src/Commands_removed.rst b/doc/src/Commands_removed.rst index 4be3fd89a6..0d2243be16 100644 --- a/doc/src/Commands_removed.rst +++ b/doc/src/Commands_removed.rst @@ -38,7 +38,7 @@ REAX package The REAX package has been removed since it was superseded by the :ref:`USER-REAXC package `. The USER-REAXC package has been tested to yield equivalent results to the REAX package, -offers better performance, supports OpenMP multi-threading via USER-OMP, +offers better performance, supports OpenMP multi-threading via OPENMP, and GPU and threading parallelization through KOKKOS. The new pair styles are not syntax compatible with the removed reax pair style, so input files will have to be adapted. diff --git a/doc/src/Developer_unittest.rst b/doc/src/Developer_unittest.rst index 52753ee1b4..74940c0f9b 100644 --- a/doc/src/Developer_unittest.rst +++ b/doc/src/Developer_unittest.rst @@ -404,7 +404,7 @@ noise). Then it will restart from the previously generated restart and compare with the reference and also start from the data file. A final check will use multi-cutoff r-RESPA (if supported by the pair style) at a 1:1 split and compare to the Verlet results. These sets of tests are -run with multiple test fixtures for accelerated styles (OPT, USER-OMP, +run with multiple test fixtures for accelerated styles (OPT, OPENMP, USER-INTEL) and for the latter two with 4 OpenMP threads enabled. For these tests the relative error (epsilon) is lowered by a common factor due to the additional numerical noise, but the tests are still comparing diff --git a/doc/src/Errors_messages.rst b/doc/src/Errors_messages.rst index d532ce7a31..cb1386f2d8 100644 --- a/doc/src/Errors_messages.rst +++ b/doc/src/Errors_messages.rst @@ -5899,7 +5899,7 @@ Doc page with :doc:`WARNING messages ` other. *Must set number of threads via package omp command* - Because you are using the USER-OMP package, set the number of threads + Because you are using the OPENMP package, set the number of threads via its settings, not by the pair_style snap nthreads setting. *Must shrink-wrap piston boundary* @@ -6352,8 +6352,8 @@ keyword to allow for additional bonds to be formed The KOKKOS package must be installed via "make yes-kokkos" before LAMMPS is built, and the "-k on" must be used to enable the package. -*Package omp command without USER-OMP package installed* - The USER-OMP package must be installed via "make yes-user-omp" before +*Package omp command without OPENMP package installed* + The OPENMP package must be installed via "make yes-openmp" before LAMMPS is built. *Pair body requires atom style body* @@ -8070,7 +8070,7 @@ keyword to allow for additional bonds to be formed *Using suffix kk without KOKKOS package enabled* Self-explanatory. -*Using suffix omp without USER-OMP package installed* +*Using suffix omp without OPENMP package installed* Self-explanatory. *Using update dipole flag requires atom attribute mu* diff --git a/doc/src/Errors_warnings.rst b/doc/src/Errors_warnings.rst index 4f29fad9dd..f9b10b4893 100644 --- a/doc/src/Errors_warnings.rst +++ b/doc/src/Errors_warnings.rst @@ -529,7 +529,7 @@ This will most likely cause errors in kinetic fluctuations. *OMP_NUM_THREADS environment is not set.* This environment variable must be set appropriately to use the - USER-OMP package. + OPENMP package. *One or more atoms are time integrated more than once* This is probably an error since you typically do not want to diff --git a/doc/src/Packages_details.rst b/doc/src/Packages_details.rst index d4a55ba8a3..5c1a82c196 100644 --- a/doc/src/Packages_details.rst +++ b/doc/src/Packages_details.rst @@ -93,7 +93,7 @@ page gives those details. * :ref:`USER-MOFFF ` * :ref:`USER-MOLFILE ` * :ref:`USER-NETCDF ` - * :ref:`USER-OMP ` + * :ref:`OPENMP ` * :ref:`ML-PACE ` * :ref:`USER-PHONON ` * :ref:`USER-PLUMED ` @@ -447,7 +447,7 @@ style name. The :doc:`KOKKOS package ` page gives details of what hardware and software is required on your system, and how to build and use this package. Its styles can be invoked at run time via the "-sf kk" or "-suffix kk" :doc:`command-line switches `. Also see the :ref:`GPU `, :ref:`OPT `, -:ref:`USER-INTEL `, and :ref:`USER-OMP ` packages, which +:ref:`USER-INTEL `, and :ref:`OPENMP ` packages, which have styles optimized for CPUs, KNLs, and GPUs. You must have a C++14 compatible compiler to use this package. @@ -802,7 +802,7 @@ CHARMM, and Morse potentials. The styles have an "opt" suffix in their style name. The :doc:`OPT package ` page gives details of how to build and use this package. Its styles can be invoked at run time via the "-sf opt" or "-suffix opt" :doc:`command-line switches `. See also the :ref:`KOKKOS `, -:ref:`USER-INTEL `, and :ref:`USER-OMP ` packages, which +:ref:`USER-INTEL `, and :ref:`OPENMP ` packages, which have styles optimized for CPU performance. **Authors:** James Fischer (High Performance Technologies), David Richie, @@ -1642,7 +1642,7 @@ All of them have an "intel" in their style name. The compilers are required on your system, and how to build and use this package. Its styles can be invoked at run time via the "-sf intel" or "-suffix intel" :doc:`command-line switches `. Also see -the :ref:`KOKKOS `, :ref:`OPT `, and :ref:`USER-OMP ` packages, +the :ref:`KOKKOS `, :ref:`OPT `, and :ref:`OPENMP ` packages, which have styles optimized for CPUs and KNLs. You need to have an Intel compiler, version 14 or higher to take full @@ -2021,9 +2021,9 @@ This package has :ref:`specific installation instructions ` on the ---------- -.. _PKG-USER-OMP: +.. _PKG-OPENMP: -USER-OMP package +OPENMP package ---------------- **Contents:** @@ -2031,7 +2031,7 @@ USER-OMP package Hundreds of pair, fix, compute, bond, angle, dihedral, improper, and kspace styles which are altered to enable threading on many-core CPUs via OpenMP directives. All of them have an "omp" in their style name. -The :doc:`USER-OMP package ` page gives details of what hardware +The :doc:`OPENMP package ` page gives details of what hardware and compilers are required on your system, and how to build and use this package. Its styles can be invoked at run time via the "-sf omp" or "-suffix omp" :doc:`command-line switches `. Also see @@ -2046,7 +2046,7 @@ packages, which have styles optimized for CPUs. and the link flag "-fopenmp" (for GNU compilers, you have to look up the equivalent flags for other compilers) must be used to build LAMMPS. When using Intel compilers, also the "-restrict" flag is required. - The USER-OMP package can be compiled without enabling OpenMP; then + The OPENMP package can be compiled without enabling OpenMP; then all code will be compiled as serial and the only improvement over the regular styles are some data access optimization. These flags should be added to the CCFLAGS and LINKFLAGS lines of your Makefile.machine. @@ -2057,16 +2057,17 @@ install/un-install the package and build LAMMPS in the usual manner: **Install:** -This package has :ref:`specific installation instructions ` on the :doc:`Build extras ` page. +This package has :ref:`specific installation instructions ` on +the :doc:`Build extras ` page. **Supporting info:** -* src/USER-OMP: filenames -> commands -* src/USER-OMP/README +* src/OPENMP: filenames -> commands +* src/OPENMP/README * :doc:`Accelerator packages ` -* :doc:`USER-OMP package ` -* :doc:`Section 2.6 -sf omp ` -* :doc:`Section 2.6 -pk omp ` +* :doc:`OPENMP package ` +* :doc:`Command line option -suffix/-sf omp ` +* :doc:`Command line option -package/-pk omp ` * :doc:`package omp ` * Search the :doc:`commands ` pages (:doc:`fix `, :doc:`compute `, :doc:`pair `, :doc:`bond, angle, dihedral, improper `, diff --git a/doc/src/Packages_user.rst b/doc/src/Packages_user.rst index 264613902e..8bac568002 100644 --- a/doc/src/Packages_user.rst +++ b/doc/src/Packages_user.rst @@ -87,7 +87,7 @@ package: +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ | :ref:`USER-NETCDF ` | dump output via NetCDF | :doc:`dump netcdf ` | n/a | ext | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`USER-OMP ` | OpenMP-enabled styles | :doc:`Speed omp ` | `Benchmarks `_ | no | +| :ref:`OPENMP ` | OpenMP-enabled styles | :doc:`Speed omp ` | `Benchmarks `_ | no | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ | :ref:`ML-PACE ` | Fast implementation of Atomic Cluster Expansion (ACE) potential | :doc:`pair pace ` | USER/pace | ext | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ diff --git a/doc/src/Run_options.rst b/doc/src/Run_options.rst index d8adfcc5be..8e639a42ac 100644 --- a/doc/src/Run_options.rst +++ b/doc/src/Run_options.rst @@ -89,7 +89,7 @@ in the :doc:`the KOKKOS package page `, this switch must be set to running with KOKKOS-enabled styles the package provides. If the switch is not set (the default), LAMMPS will operate as if the KOKKOS package were not installed; i.e. you can run standard LAMMPS or with -the GPU or USER-OMP packages, for testing or benchmarking purposes. +the GPU or OPENMP packages, for testing or benchmarking purposes. Additional optional keyword/value pairs can be specified which determine how Kokkos will use the underlying hardware on your @@ -274,7 +274,7 @@ script. For example "-package gpu 2" or "-pk gpu 2" is the same as :doc:`package gpu 2 ` in the input script. The possible styles and args are documented on the :doc:`package ` doc page. This switch can be used multiple times, e.g. to set options for the -USER-INTEL and USER-OMP packages which can be used together. +USER-INTEL and OPENMP packages which can be used together. Along with the "-suffix" command-line switch, this is a convenient mechanism for invoking accelerator packages and their options without @@ -542,14 +542,14 @@ refer to optional packages that LAMMPS can be built with, as described in :doc:`Accelerate performance `. The "gpu" style corresponds to the GPU package, the "intel" style to the USER-INTEL package, the "kk" style to the KOKKOS package, the "opt" style to the OPT package, and -the "omp" style to the USER-OMP package. The hybrid style is the only +the "omp" style to the OPENMP package. The hybrid style is the only style that accepts arguments. It allows for two packages to be specified. The first package specified is the default and will be used if it is available. If no style is available for the first package, the style for the second package will be used if available. For example, "-suffix hybrid intel omp" will use styles from the USER-INTEL package if they are installed and available, but styles for -the USER-OMP package otherwise. +the OPENMP package otherwise. Along with the "-package" command-line switch, this is a convenient mechanism for invoking accelerator packages and their options without @@ -575,10 +575,10 @@ invokes the default USER-INTEL settings, as if the command "package intel 1" were used at the top of your input script. These settings can be changed by using the "-package intel" command-line switch or the :doc:`package intel ` command in your script. If the -USER-OMP package is also installed, the hybrid style with "intel omp" +OPENMP package is also installed, the hybrid style with "intel omp" arguments can be used to make the omp suffix a second choice, if a requested style is not available in the USER-INTEL package. It will -also invoke the default USER-OMP settings, as if the command "package +also invoke the default OPENMP settings, as if the command "package omp 0" were used at the top of your input script. These settings can be changed by using the "-package omp" command-line switch or the :doc:`package omp ` command in your script. diff --git a/doc/src/Run_windows.rst b/doc/src/Run_windows.rst index 8813d6d59e..f29155a839 100644 --- a/doc/src/Run_windows.rst +++ b/doc/src/Run_windows.rst @@ -11,7 +11,7 @@ To run a serial (non-MPI) executable, follow these steps: in.file is the name of your LAMMPS input script. Note that the serial executable includes support for multi-threading -parallelization from the styles in the USER-OMP packages. To run with +parallelization from the styles in the OPENMP packages. To run with 4 threads, you can type this: .. code-block:: bash diff --git a/doc/src/Speed_compare.rst b/doc/src/Speed_compare.rst index 4ab616a5da..3ae461a82c 100644 --- a/doc/src/Speed_compare.rst +++ b/doc/src/Speed_compare.rst @@ -67,8 +67,8 @@ section below for examples where this has been done. pair style - on the CPU. This can often be easily achieved with placing a *suffix off* command before and a *suffix on* command after the *kspace_style pppm* command. -* The KOKKOS/OpenMP and USER-OMP package have different thread management - strategies, which should result in USER-OMP being more efficient for a +* The KOKKOS/OpenMP and OPENMP package have different thread management + strategies, which should result in OPENMP being more efficient for a small number of threads with increasing overhead as the number of threads per MPI rank grows. The KOKKOS/OpenMP kernels have less overhead in that case, but have lower performance with few threads. diff --git a/doc/src/Speed_gpu.rst b/doc/src/Speed_gpu.rst index 2cb8c08fd5..d480a6c766 100644 --- a/doc/src/Speed_gpu.rst +++ b/doc/src/Speed_gpu.rst @@ -150,7 +150,7 @@ hardware, which pair style is used, the number of atoms/GPU, and the precision used on the GPU (double, single, mixed). Using the GPU package in OpenCL mode on CPUs (which uses vectorization and multithreading) is usually resulting in inferior performance compared to using LAMMPS' native -threading and vectorization support in the USER-OMP and USER-INTEL packages. +threading and vectorization support in the OPENMP and USER-INTEL packages. See the `Benchmark page `_ of the LAMMPS web site for performance of the GPU package on various diff --git a/doc/src/Speed_intel.rst b/doc/src/Speed_intel.rst index 0d0551c008..01a3537a0b 100644 --- a/doc/src/Speed_intel.rst +++ b/doc/src/Speed_intel.rst @@ -185,7 +185,7 @@ can start running so that the CPU pipeline is still being used efficiently. Although benefits can be seen by launching a MPI task for every hardware thread, for multinode simulations, we recommend that OpenMP threads are used for SMT instead, either with the -USER-INTEL package, :doc:`USER-OMP package `, or +USER-INTEL package, :doc:`OPENMP package `, or :doc:`KOKKOS package `. In the example above, up to 36X speedups can be observed by using all 36 physical cores with LAMMPS. By using all 72 hardware threads, an additional 10-30% @@ -409,7 +409,7 @@ when using offload. Not all styles are supported in the USER-INTEL package. You can mix the USER-INTEL package with styles from the :doc:`OPT ` -package or the :doc:`USER-OMP package `. Of course, this +package or the :doc:`OPENMP package `. Of course, this requires that these packages were installed at build time. This can performed automatically by using "-sf hybrid intel opt" or "-sf hybrid intel omp" command-line options. Alternatively, the "opt" and "omp" diff --git a/doc/src/Speed_kokkos.rst b/doc/src/Speed_kokkos.rst index c3f8945c62..aee5047ef4 100644 --- a/doc/src/Speed_kokkos.rst +++ b/doc/src/Speed_kokkos.rst @@ -390,10 +390,10 @@ Generally speaking, the following rules of thumb apply: * When running on CPUs only, with a single thread per MPI task, performance of a KOKKOS style is somewhere between the standard (un-accelerated) styles (MPI-only mode), and those provided by the - USER-OMP package. However the difference between all 3 is small (less + OPENMP package. However the difference between all 3 is small (less than 20%). * When running on CPUs only, with multiple threads per MPI task, - performance of a KOKKOS style is a bit slower than the USER-OMP + performance of a KOKKOS style is a bit slower than the OPENMP package. * When running large number of atoms per GPU, KOKKOS is typically faster than the GPU package when compiled for double precision. The benefit diff --git a/doc/src/Speed_omp.rst b/doc/src/Speed_omp.rst index f29e3743b4..060944e81b 100644 --- a/doc/src/Speed_omp.rst +++ b/doc/src/Speed_omp.rst @@ -1,7 +1,7 @@ -USER-OMP package +OPENMP package ================ -The USER-OMP package was developed by Axel Kohlmeyer at Temple +The OPENMP package was developed by Axel Kohlmeyer at Temple University. It provides optimized and multi-threaded versions of many pair styles, nearly all bonded styles (bond, angle, dihedral, improper), several Kspace styles, and a few fix styles. It uses @@ -15,13 +15,13 @@ To enable multi-threading, your compiler must support the OpenMP interface. You should have one or more multi-core CPUs, as multiple threads can only be launched by each MPI task on the local node (using shared memory). -Building LAMMPS with the USER-OMP package +Building LAMMPS with the OPENMP package """"""""""""""""""""""""""""""""""""""""" -See the :ref:`Build extras ` doc page for +See the :ref:`Build extras ` doc page for instructions. -Run with the USER-OMP package from the command line +Run with the OPENMP package from the command line """"""""""""""""""""""""""""""""""""""""""""""""""" These examples assume one or more 16-core nodes. @@ -39,7 +39,7 @@ tasks used per node. E.g. the mpirun command in MPICH does this via its -np and -ppn switches. Ditto for OpenMPI via -np and -npernode. You need to choose how many OpenMP threads per MPI task will be used -by the USER-OMP package. Note that the product of MPI tasks \* +by the OPENMP package. Note that the product of MPI tasks \* threads/task should not exceed the physical number of cores (on a node), otherwise performance will suffer. @@ -55,7 +55,7 @@ details, including the default values used if it is not specified. It also gives more details on how to set the number of threads via the OMP_NUM_THREADS environment variable. -Or run with the USER-OMP package by editing an input script +Or run with the OPENMP package by editing an input script """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" The discussion above for the mpirun/mpiexec command, MPI tasks/node, @@ -69,7 +69,7 @@ Use the :doc:`suffix omp ` command, or you can explicitly add an pair_style lj/cut/omp 2.5 You must also use the :doc:`package omp ` command to enable the -USER-OMP package. When you do this you also specify how many threads +OPENMP package. When you do this you also specify how many threads per MPI task to use. The command doc page explains other options and how to set the number of threads via the OMP_NUM_THREADS environment variable. @@ -82,10 +82,10 @@ reduction in the "Pair time", "Bond time", "KSpace time", and "Loop time" values printed at the end of a run. You may see a small performance advantage (5 to 20%) when running a -USER-OMP style (in serial or parallel) with a single thread per MPI +OPENMP style (in serial or parallel) with a single thread per MPI task, versus running standard LAMMPS with its standard un-accelerated styles (in serial or all-MPI parallelization with 1 task/core). This -is because many of the USER-OMP styles contain similar optimizations +is because many of the OPENMP styles contain similar optimizations to those used in the OPT package, described in :doc:`the OPT package ` doc page. @@ -95,19 +95,19 @@ tested via benchmark runs for a specific simulation running on a specific machine, paying attention to guidelines discussed in the next sub-section. -A description of the multi-threading strategy used in the USER-OMP +A description of the multi-threading strategy used in the OPENMP package and some performance examples are `presented here `_. Guidelines for best performance """"""""""""""""""""""""""""""" -For many problems on current generation CPUs, running the USER-OMP +For many problems on current generation CPUs, running the OPENMP package with a single thread/task is faster than running with multiple threads/task. This is because the MPI parallelization in LAMMPS is often more efficient than multi-threading as implemented in the -USER-OMP package. The parallel efficiency (in a threaded sense) also -varies for different USER-OMP styles. +OPENMP package. The parallel efficiency (in a threaded sense) also +varies for different OPENMP styles. Using multiple threads/task can be more effective under the following circumstances: @@ -143,7 +143,7 @@ circumstances: sometimes be achieved by increasing the length of the Coulombic cutoff and thus reducing the work done by the long-range solver. Using the :doc:`run_style verlet/split ` command, which is compatible - with the USER-OMP package, is an alternative way to reduce the number + with the OPENMP package, is an alternative way to reduce the number of MPI tasks assigned to the KSpace calculation. Additional performance tips are as follows: diff --git a/doc/src/Speed_packages.rst b/doc/src/Speed_packages.rst index f5da991f0b..01283ac6fe 100644 --- a/doc/src/Speed_packages.rst +++ b/doc/src/Speed_packages.rst @@ -22,7 +22,7 @@ standard or user packages: +-----------------------------------------+-------------------------------------------------------+ | :doc:`KOKKOS Package ` | for NVIDIA GPUs, Intel Xeon Phi, and OpenMP threading | +-----------------------------------------+-------------------------------------------------------+ -| :doc:`USER-OMP Package ` | for OpenMP threading and generic CPU optimizations | +| :doc:`OPENMP Package ` | for OpenMP threading and generic CPU optimizations | +-----------------------------------------+-------------------------------------------------------+ | :doc:`OPT Package ` | generic CPU optimizations | +-----------------------------------------+-------------------------------------------------------+ @@ -41,7 +41,7 @@ Inverting this list, LAMMPS currently has acceleration support for three kinds of hardware, via the listed packages: +-----------------+-----------------------------------------------------------------------------------------------------------------------------+ -| Many-core CPUs | :doc:`USER-INTEL `, :doc:`KOKKOS `, :doc:`USER-OMP `, :doc:`OPT ` packages | +| Many-core CPUs | :doc:`USER-INTEL `, :doc:`KOKKOS `, :doc:`OPENMP `, :doc:`OPT ` packages | +-----------------+-----------------------------------------------------------------------------------------------------------------------------+ | GPUs | :doc:`GPU `, :doc:`KOKKOS ` packages | +-----------------+-----------------------------------------------------------------------------------------------------------------------------+ @@ -86,7 +86,7 @@ listed above: +--------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------+ | install the accelerator package | make yes-opt, make yes-user-intel, etc | +--------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------+ -| add compile/link flags to Makefile.machine in src/MAKE | only for USER-INTEL, KOKKOS, USER-OMP, OPT packages | +| add compile/link flags to Makefile.machine in src/MAKE | only for USER-INTEL, KOKKOS, OPENMP, OPT packages | +--------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------+ | re-build LAMMPS | make machine | +--------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------+ @@ -167,7 +167,7 @@ are in the individual accelerator sections. run using OpenMP on multicore CPUs, on an NVIDIA or AMD GPU, or on an Intel Xeon Phi in "native" mode. The speed-up depends on a variety of factors, as discussed on the KOKKOS accelerator page. -* Styles with an "omp" suffix are part of the USER-OMP package and allow +* Styles with an "omp" suffix are part of the OPENMP package and allow a pair-style to be run in multi-threaded mode using OpenMP. This can be useful on nodes with high-core counts when using less MPI processes than cores is advantageous, e.g. when running with PPPM so that FFTs diff --git a/doc/src/accel_styles.rst b/doc/src/accel_styles.rst index b5ef400f12..e50e77478c 100644 --- a/doc/src/accel_styles.rst +++ b/doc/src/accel_styles.rst @@ -6,7 +6,7 @@ page. The accelerated styles take the same arguments and should produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, -USER-OMP and OPT packages, respectively. They are only enabled if +OPENMP and OPT packages, respectively. They are only enabled if LAMMPS was built with those packages. See the :doc:`Build package ` doc page for more info. You can specify the accelerated styles explicitly in your input script diff --git a/doc/src/angle_charmm.rst b/doc/src/angle_charmm.rst index e557648d9f..5b98d95b58 100644 --- a/doc/src/angle_charmm.rst +++ b/doc/src/angle_charmm.rst @@ -64,7 +64,7 @@ page. The accelerated styles take the same arguments and should produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, -USER-OMP and OPT packages, respectively. They are only enabled if +OPENMP and OPT packages, respectively. They are only enabled if LAMMPS was built with those packages. See the :doc:`Build package ` doc page for more info. You can specify the accelerated styles explicitly in your input script diff --git a/doc/src/atom_style.rst b/doc/src/atom_style.rst index 1b5aaccb9a..27312e4353 100644 --- a/doc/src/atom_style.rst +++ b/doc/src/atom_style.rst @@ -319,7 +319,7 @@ styles take the same arguments and should produce the same results, except for round-off and precision issues. Note that other acceleration packages in LAMMPS, specifically the GPU, -USER-INTEL, USER-OMP, and OPT packages do not use accelerated atom +USER-INTEL, OPENMP, and OPT packages do not use accelerated atom styles. The accelerated styles are part of the KOKKOS package. They are only diff --git a/doc/src/improper_harmonic.rst b/doc/src/improper_harmonic.rst index 4f21e48fa9..618f93fff4 100644 --- a/doc/src/improper_harmonic.rst +++ b/doc/src/improper_harmonic.rst @@ -72,7 +72,7 @@ page. The accelerated styles take the same arguments and should produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, -USER-OMP and OPT packages, respectively. They are only enabled if +OPENMP and OPT packages, respectively. They are only enabled if LAMMPS was built with those packages. See the :doc:`Build package ` doc page for more info. diff --git a/doc/src/info.rst b/doc/src/info.rst index 395bc2c1f4..886ea86c1d 100644 --- a/doc/src/info.rst +++ b/doc/src/info.rst @@ -90,7 +90,7 @@ to debug error messages like "All pair coeffs are not set". The *accelerator* category prints out information about compile time settings of included accelerator support for the GPU, KOKKOS, USER-INTEL, -and USER-OMP packages. +and OPENMP packages. The *styles* category prints the list of styles available in the current LAMMPS binary. It supports one of the following options diff --git a/doc/src/kspace_style.rst b/doc/src/kspace_style.rst index 01ad15a08e..b1eb46f5f0 100644 --- a/doc/src/kspace_style.rst +++ b/doc/src/kspace_style.rst @@ -421,7 +421,7 @@ calculations, along with the FFTs themselves, on the GPU or (optionally) threade on the CPU when using OpenMP and FFTW3. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, -USER-OMP, and OPT packages respectively. They are only enabled if +OPENMP, and OPT packages respectively. They are only enabled if LAMMPS was built with those packages. See the :doc:`Build package ` doc page for more info. See the :doc:`Speed packages ` doc page for more diff --git a/doc/src/package.rst b/doc/src/package.rst index 1613ff2fae..5480d4810b 100644 --- a/doc/src/package.rst +++ b/doc/src/package.rst @@ -131,7 +131,7 @@ Description This command invokes package-specific settings for the various accelerator packages available in LAMMPS. Currently the following packages use settings from this command: GPU, USER-INTEL, KOKKOS, and -USER-OMP. +OPENMP. If this command is specified in an input script, it must be near the top of the script, before the simulation box has been defined. This @@ -152,7 +152,7 @@ accelerator settings. The KOKKOS package requires a "-k on" :doc:`command-line switch ` respectively, which invokes a "package kokkos" command with default settings. -For the GPU, USER-INTEL, and USER-OMP packages, if a "-sf gpu" or "-sf +For the GPU, USER-INTEL, and OPENMP packages, if a "-sf gpu" or "-sf intel" or "-sf omp" :doc:`command-line switch ` is used to auto-append accelerator suffixes to various styles in the input script, then those switches also invoke a "package gpu", "package @@ -556,7 +556,7 @@ result in better performance for certain configurations and system sizes. ---------- The *omp* style invokes settings associated with the use of the -USER-OMP package. +OPENMP package. The *Nthreads* argument sets the number of OpenMP threads allocated for each MPI task. For example, if your system has nodes with dual @@ -595,12 +595,12 @@ for OpenMPI. Check your MPI documentation for additional details. What combination of threads and MPI tasks gives the best performance is difficult to predict and can depend on many components of your input. Not all features of LAMMPS support OpenMP threading via the -USER-OMP package and the parallel efficiency can be very different, +OPENMP package and the parallel efficiency can be very different, too. .. note:: - If you build LAMMPS with the GPU, USER-INTEL, and / or USER-OMP + If you build LAMMPS with the GPU, USER-INTEL, and / or OPENMP packages, be aware these packages all allow setting of the *Nthreads* value via their package commands, but there is only a single global *Nthreads* value used by OpenMP. Thus if multiple package commands are @@ -649,7 +649,7 @@ with the KOKKOS package. See the :doc:`Build package ` doc page for more info. The omp style of this command can only be invoked if LAMMPS was built -with the USER-OMP package. See the :doc:`Build package ` +with the OPENMP package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/pair_agni.rst b/doc/src/pair_agni.rst index 55787fbfb7..7de3c76383 100644 --- a/doc/src/pair_agni.rst +++ b/doc/src/pair_agni.rst @@ -73,7 +73,7 @@ depending on your available hardware, as discussed on the :doc:`Speed packages < the same arguments and should produce the same results, except for round-off and precision issues. -The accelerated style is part of the USER-OMP. They are only enabled +The accelerated style is part of the OPENMP. They are only enabled if LAMMPS was built with those packages. See the :doc:`Build package ` doc page for more info. You can specify the accelerated style explicitly in your input script diff --git a/doc/src/pair_hybrid.rst b/doc/src/pair_hybrid.rst index f7de713c94..f57139e15c 100644 --- a/doc/src/pair_hybrid.rst +++ b/doc/src/pair_hybrid.rst @@ -389,7 +389,7 @@ corresponding suffix to all sub-styles, if those versions exist. Otherwise the non-accelerated version will be used. The individual accelerated sub-styles are part of the GPU, KOKKOS, -USER-INTEL, USER-OMP, and OPT packages, respectively. They are only +USER-INTEL, OPENMP, and OPT packages, respectively. They are only enabled if LAMMPS was built with those packages. See the :doc:`Build package ` doc page for more info. diff --git a/doc/src/pair_sw.rst b/doc/src/pair_sw.rst index bea417ed3d..5bc6649035 100644 --- a/doc/src/pair_sw.rst +++ b/doc/src/pair_sw.rst @@ -167,7 +167,7 @@ page. The accelerated styles take the same arguments and should produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, -USER-OMP and OPT packages, respectively. They are only enabled if +OPENMP and OPT packages, respectively. They are only enabled if LAMMPS was built with those packages. See the :doc:`Build package ` doc page for more info. You can specify the accelerated styles explicitly in your input script diff --git a/doc/src/run_style.rst b/doc/src/run_style.rst index 713fedae70..3cb5e28597 100644 --- a/doc/src/run_style.rst +++ b/doc/src/run_style.rst @@ -308,7 +308,7 @@ Restrictions The *verlet/split* style can only be used if LAMMPS was built with the REPLICA package. Correspondingly the *respa/omp* style is available -only if the USER-OMP package was included. See the :doc:`Build package ` doc page for more info. +only if the OPENMP package was included. See the :doc:`Build package ` doc page for more info. Whenever using rRESPA, the user should experiment with trade-offs in speed and accuracy for their system, and verify that they are diff --git a/doc/src/suffix.rst b/doc/src/suffix.rst index 9df3ce1658..7a046c7dfd 100644 --- a/doc/src/suffix.rst +++ b/doc/src/suffix.rst @@ -37,7 +37,7 @@ The specified style can be *gpu*\ , *intel*\ , *kk*\ , *omp*\ , *opt* or with, as described on the :doc:`Build package ` doc page. The "gpu" style corresponds to the GPU package, the "intel" style to the USER-INTEL package, the "kk" style to the KOKKOS package, the -"omp" style to the USER-OMP package, and the "opt" style to the OPT +"omp" style to the OPENMP package, and the "opt" style to the OPT package. These are the variants these packages provide: @@ -50,7 +50,7 @@ These are the variants these packages provide: * KOKKOS = a collection of atom, pair, and fix styles optimized to run using the Kokkos library on various kinds of hardware, including GPUs via CUDA and many-core chips via OpenMP or threading. -* USER-OMP = a collection of pair, bond, angle, dihedral, improper, +* OPENMP = a collection of pair, bond, angle, dihedral, improper, kspace, compute, and fix styles with support for OpenMP multi-threading * OPT = a handful of pair styles, cache-optimized for faster CPU @@ -75,7 +75,7 @@ For "hybrid", two packages are specified. The first is used whenever available. If a style with the first suffix is not available, the style with the suffix for the second package will be used if available. For example, "hybrid intel omp" will use styles from the USER-INTEL package -as a first choice and styles from the USER-OMP package as a second choice +as a first choice and styles from the OPENMP package as a second choice if no USER-INTEL variant is available. If the specified style is *off*\ , then any previously specified suffix diff --git a/doc/src/variable.rst b/doc/src/variable.rst index ef876847d6..f24c262e58 100644 --- a/doc/src/variable.rst +++ b/doc/src/variable.rst @@ -943,7 +943,7 @@ features or LAMMPS, *respa* allows to check whether the inner/middle/outer mode of r-RESPA is supported. In the various style categories, the checking is also done using suffix flags, if available and enabled. -Example 1: disable use of suffix for pppm when using GPU package (i.e. run it on the CPU concurrently to running the pair style on the GPU), but do use the suffix otherwise (e.g. with USER-OMP). +Example 1: disable use of suffix for pppm when using GPU package (i.e. run it on the CPU concurrently to running the pair style on the GPU), but do use the suffix otherwise (e.g. with OPENMP). .. code-block:: LAMMPS diff --git a/examples/plugins/CMakeLists.txt b/examples/plugins/CMakeLists.txt index 6e29676530..1169ab490a 100644 --- a/examples/plugins/CMakeLists.txt +++ b/examples/plugins/CMakeLists.txt @@ -44,7 +44,7 @@ include(LAMMPSInterfaceCXX) # building the plugins add_library(morse2plugin MODULE morse2plugin.cpp pair_morse2.cpp pair_morse2_omp.cpp) -target_include_directories(morse2plugin PRIVATE "${LAMMPS_HEADER_DIR}/USER-OMP") +target_include_directories(morse2plugin PRIVATE "${LAMMPS_HEADER_DIR}/OPENMP") target_link_libraries(morse2plugin PRIVATE lammps) add_library(nve2plugin MODULE nve2plugin.cpp fix_nve2.cpp) diff --git a/examples/plugins/Makefile b/examples/plugins/Makefile index f4d8b41086..c342742740 100644 --- a/examples/plugins/Makefile +++ b/examples/plugins/Makefile @@ -1,5 +1,5 @@ CXX=mpicxx -CXXFLAGS=-I../../src -Wall -Wextra -O3 -fPIC -I../../src/USER-OMP -fopenmp +CXXFLAGS=-I../../src -Wall -Wextra -O3 -fPIC -I../../src/OPENMP -fopenmp LD=$(CXX) -shared -rdynamic -fopenmp DSOEXT=.so diff --git a/examples/plugins/Makefile.macos b/examples/plugins/Makefile.macos index a7c20ff90f..c890314cd4 100644 --- a/examples/plugins/Makefile.macos +++ b/examples/plugins/Makefile.macos @@ -1,5 +1,5 @@ CXX=mpicxx -CXXFLAGS=-I../../src -Wall -Wextra -O3 -fPIC -I../../src/USER-OMP +CXXFLAGS=-I../../src -Wall -Wextra -O3 -fPIC -I../../src/OPENMP LD=$(CXX) -bundle -rdynamic -Wl,-undefined,dynamic_lookup DSOEXT=.dylib diff --git a/examples/plugins/Makefile.serial b/examples/plugins/Makefile.serial index ecc7631a05..fff7d99a2e 100644 --- a/examples/plugins/Makefile.serial +++ b/examples/plugins/Makefile.serial @@ -1,5 +1,5 @@ CXX=g++ -CXXFLAGS=-I../../src -I../../src/STUBS -Wall -Wextra -O3 -fPIC -I../../src/USER-OMP -fopenmp +CXXFLAGS=-I../../src -I../../src/STUBS -Wall -Wextra -O3 -fPIC -I../../src/OPENMP -fopenmp LD=$(CXX) -shared -rdynamic -fopenmp DSOEXT=.so diff --git a/python/lammps/core.py b/python/lammps/core.py index 88eba735b0..070c0a4ffd 100644 --- a/python/lammps/core.py +++ b/python/lammps/core.py @@ -1536,7 +1536,7 @@ class lammps(object): """ result = {} - for p in ['GPU', 'KOKKOS', 'USER-INTEL', 'USER-OMP']: + for p in ['GPU', 'KOKKOS', 'USER-INTEL', 'OPENMP']: result[p] = {} c = 'api' result[p][c] = [] diff --git a/src/Depend.sh b/src/Depend.sh index 8598afc867..1d14137bdd 100755 --- a/src/Depend.sh +++ b/src/Depend.sh @@ -47,7 +47,7 @@ depend () { if (test $1 = "ASPHERE") then depend GPU - depend USER-OMP + depend OPENMP depend CG-DNA depend USER-INTEL fi @@ -55,22 +55,22 @@ fi if (test $1 = "CLASS2") then depend GPU depend KOKKOS - depend USER-OMP + depend OPENMP fi if (test $1 = "COLLOID") then depend GPU - depend USER-OMP + depend OPENMP fi if (test $1 = "DIPOLE") then depend USER-MISC - depend USER-OMP + depend OPENMP fi if (test $1 = "GRANULAR") then depend KOKKOS - depend USER-OMP + depend OPENMP fi if (test $1 = "KSPACE") then @@ -78,7 +78,7 @@ if (test $1 = "KSPACE") then depend GPU depend KOKKOS depend OPT - depend USER-OMP + depend OPENMP depend USER-INTEL depend USER-PHONON depend USER-FEP @@ -90,7 +90,7 @@ if (test $1 = "MANYBODY") then depend OPT depend QEQ depend USER-MISC - depend USER-OMP + depend OPENMP fi if (test $1 = "MOLECULE") then @@ -98,12 +98,12 @@ if (test $1 = "MOLECULE") then depend KOKKOS depend USER-MISC depend USER-FEP - depend USER-OMP + depend OPENMP depend USER-INTEL fi if (test $1 = "PERI") then - depend USER-OMP + depend OPENMP fi if (test $1 = "PYTHON") then @@ -112,7 +112,7 @@ fi if (test $1 = "RIGID") then depend KOKKOS - depend USER-OMP + depend OPENMP depend USER-SDPD fi @@ -124,7 +124,7 @@ fi if (test $1 = "CG-SDK") then depend GPU depend KOKKOS - depend USER-OMP + depend OPENMP fi if (test $1 = "USER-DPD") then @@ -132,20 +132,20 @@ if (test $1 = "USER-DPD") then fi if (test $1 = "USER-DRUDE") then - depend USER-OMP + depend OPENMP fi if (test $1 = "USER-FEP") then - depend USER-OMP + depend OPENMP fi if (test $1 = "USER-MISC") then depend GPU - depend USER-OMP + depend OPENMP depend USER-INTEL fi if (test $1 = "USER-REAXC") then depend KOKKOS - depend USER-OMP + depend OPENMP fi diff --git a/src/KOKKOS/pppm_kokkos.cpp b/src/KOKKOS/pppm_kokkos.cpp index 2385d1977a..dbda29d807 100644 --- a/src/KOKKOS/pppm_kokkos.cpp +++ b/src/KOKKOS/pppm_kokkos.cpp @@ -1532,7 +1532,7 @@ void PPPMKokkos::operator()(TagPPPM_make_rho_atomic, const int &i) c template KOKKOS_INLINE_FUNCTION void PPPMKokkos::operator() (TagPPPM_make_rho, typename Kokkos::TeamPolicy::member_type dev) const { - // adapted from USER-OMP/pppm.cpp: + // adapted from OPENMP/pppm.cpp: // determine range of grid points handled by this thread int tid = dev.league_rank(); diff --git a/src/MAKE/OPTIONS/Makefile.omp b/src/MAKE/OPTIONS/Makefile.omp index a6b45f7a31..0f49cdb15c 100644 --- a/src/MAKE/OPTIONS/Makefile.omp +++ b/src/MAKE/OPTIONS/Makefile.omp @@ -1,4 +1,4 @@ -# omp = USER-OMP package, MPI with its default compiler +# omp = OPENMP package, MPI with its default compiler SHELL = /bin/sh diff --git a/src/MAKE/README b/src/MAKE/README index 95f6c72a1a..d67f2b576a 100644 --- a/src/MAKE/README +++ b/src/MAKE/README @@ -63,7 +63,7 @@ the compiler wrapped by mpicxx. Setting this requires a different syntax for different MPIs. Makefile.opt OPT package, using default MPI -Makefile.omp USER-OMP package, using default MPI +Makefile.omp OPENMP package, using default MPI Makefile.gpu GPU package, using default MPI Makefile.intel_cpu_intelmpi USER-INTEL package for CPU with Intel MPI diff --git a/src/Makefile b/src/Makefile index 3fe144a985..94f94100b4 100644 --- a/src/Makefile +++ b/src/Makefile @@ -55,7 +55,7 @@ PACKUSER = user-adios user-atc user-awpmd user-brownian user-bocs cg-dna \ cg-sdk user-colvars user-dielectric user-diffraction user-dpd user-drude \ user-eff user-fep user-h5md ml-hdnnp user-intel latboltz user-manifold \ user-mdi meam user-mesodpd user-mesont user-mgpt user-misc \ - user-mofff user-molfile user-netcdf user-omp user-phonon \ + user-mofff user-molfile user-netcdf openmp user-phonon \ ml-pace user-plumed user-ptm user-qmmm user-qtb ml-quip \ ml-rann user-reaction user-reaxc user-scafacos machdyn user-smtbq \ user-sdpd user-sph user-tally user-uef user-vtk user-yaff diff --git a/src/USER-OMP/Install.sh b/src/OPENMP/Install.sh similarity index 100% rename from src/USER-OMP/Install.sh rename to src/OPENMP/Install.sh diff --git a/src/USER-OMP/README b/src/OPENMP/README similarity index 100% rename from src/USER-OMP/README rename to src/OPENMP/README diff --git a/src/USER-OMP/angle_charmm_omp.cpp b/src/OPENMP/angle_charmm_omp.cpp similarity index 100% rename from src/USER-OMP/angle_charmm_omp.cpp rename to src/OPENMP/angle_charmm_omp.cpp diff --git a/src/USER-OMP/angle_charmm_omp.h b/src/OPENMP/angle_charmm_omp.h similarity index 100% rename from src/USER-OMP/angle_charmm_omp.h rename to src/OPENMP/angle_charmm_omp.h diff --git a/src/USER-OMP/angle_class2_omp.cpp b/src/OPENMP/angle_class2_omp.cpp similarity index 100% rename from src/USER-OMP/angle_class2_omp.cpp rename to src/OPENMP/angle_class2_omp.cpp diff --git a/src/USER-OMP/angle_class2_omp.h b/src/OPENMP/angle_class2_omp.h similarity index 100% rename from src/USER-OMP/angle_class2_omp.h rename to src/OPENMP/angle_class2_omp.h diff --git a/src/USER-OMP/angle_cosine_delta_omp.cpp b/src/OPENMP/angle_cosine_delta_omp.cpp similarity index 100% rename from src/USER-OMP/angle_cosine_delta_omp.cpp rename to src/OPENMP/angle_cosine_delta_omp.cpp diff --git a/src/USER-OMP/angle_cosine_delta_omp.h b/src/OPENMP/angle_cosine_delta_omp.h similarity index 100% rename from src/USER-OMP/angle_cosine_delta_omp.h rename to src/OPENMP/angle_cosine_delta_omp.h diff --git a/src/USER-OMP/angle_cosine_omp.cpp b/src/OPENMP/angle_cosine_omp.cpp similarity index 100% rename from src/USER-OMP/angle_cosine_omp.cpp rename to src/OPENMP/angle_cosine_omp.cpp diff --git a/src/USER-OMP/angle_cosine_omp.h b/src/OPENMP/angle_cosine_omp.h similarity index 100% rename from src/USER-OMP/angle_cosine_omp.h rename to src/OPENMP/angle_cosine_omp.h diff --git a/src/USER-OMP/angle_cosine_periodic_omp.cpp b/src/OPENMP/angle_cosine_periodic_omp.cpp similarity index 100% rename from src/USER-OMP/angle_cosine_periodic_omp.cpp rename to src/OPENMP/angle_cosine_periodic_omp.cpp diff --git a/src/USER-OMP/angle_cosine_periodic_omp.h b/src/OPENMP/angle_cosine_periodic_omp.h similarity index 100% rename from src/USER-OMP/angle_cosine_periodic_omp.h rename to src/OPENMP/angle_cosine_periodic_omp.h diff --git a/src/USER-OMP/angle_cosine_shift_exp_omp.cpp b/src/OPENMP/angle_cosine_shift_exp_omp.cpp similarity index 100% rename from src/USER-OMP/angle_cosine_shift_exp_omp.cpp rename to src/OPENMP/angle_cosine_shift_exp_omp.cpp diff --git a/src/USER-OMP/angle_cosine_shift_exp_omp.h b/src/OPENMP/angle_cosine_shift_exp_omp.h similarity index 100% rename from src/USER-OMP/angle_cosine_shift_exp_omp.h rename to src/OPENMP/angle_cosine_shift_exp_omp.h diff --git a/src/USER-OMP/angle_cosine_shift_omp.cpp b/src/OPENMP/angle_cosine_shift_omp.cpp similarity index 100% rename from src/USER-OMP/angle_cosine_shift_omp.cpp rename to src/OPENMP/angle_cosine_shift_omp.cpp diff --git a/src/USER-OMP/angle_cosine_shift_omp.h b/src/OPENMP/angle_cosine_shift_omp.h similarity index 100% rename from src/USER-OMP/angle_cosine_shift_omp.h rename to src/OPENMP/angle_cosine_shift_omp.h diff --git a/src/USER-OMP/angle_cosine_squared_omp.cpp b/src/OPENMP/angle_cosine_squared_omp.cpp similarity index 100% rename from src/USER-OMP/angle_cosine_squared_omp.cpp rename to src/OPENMP/angle_cosine_squared_omp.cpp diff --git a/src/USER-OMP/angle_cosine_squared_omp.h b/src/OPENMP/angle_cosine_squared_omp.h similarity index 100% rename from src/USER-OMP/angle_cosine_squared_omp.h rename to src/OPENMP/angle_cosine_squared_omp.h diff --git a/src/USER-OMP/angle_dipole_omp.cpp b/src/OPENMP/angle_dipole_omp.cpp similarity index 100% rename from src/USER-OMP/angle_dipole_omp.cpp rename to src/OPENMP/angle_dipole_omp.cpp diff --git a/src/USER-OMP/angle_dipole_omp.h b/src/OPENMP/angle_dipole_omp.h similarity index 100% rename from src/USER-OMP/angle_dipole_omp.h rename to src/OPENMP/angle_dipole_omp.h diff --git a/src/USER-OMP/angle_fourier_omp.cpp b/src/OPENMP/angle_fourier_omp.cpp similarity index 100% rename from src/USER-OMP/angle_fourier_omp.cpp rename to src/OPENMP/angle_fourier_omp.cpp diff --git a/src/USER-OMP/angle_fourier_omp.h b/src/OPENMP/angle_fourier_omp.h similarity index 100% rename from src/USER-OMP/angle_fourier_omp.h rename to src/OPENMP/angle_fourier_omp.h diff --git a/src/USER-OMP/angle_fourier_simple_omp.cpp b/src/OPENMP/angle_fourier_simple_omp.cpp similarity index 100% rename from src/USER-OMP/angle_fourier_simple_omp.cpp rename to src/OPENMP/angle_fourier_simple_omp.cpp diff --git a/src/USER-OMP/angle_fourier_simple_omp.h b/src/OPENMP/angle_fourier_simple_omp.h similarity index 100% rename from src/USER-OMP/angle_fourier_simple_omp.h rename to src/OPENMP/angle_fourier_simple_omp.h diff --git a/src/USER-OMP/angle_harmonic_omp.cpp b/src/OPENMP/angle_harmonic_omp.cpp similarity index 100% rename from src/USER-OMP/angle_harmonic_omp.cpp rename to src/OPENMP/angle_harmonic_omp.cpp diff --git a/src/USER-OMP/angle_harmonic_omp.h b/src/OPENMP/angle_harmonic_omp.h similarity index 100% rename from src/USER-OMP/angle_harmonic_omp.h rename to src/OPENMP/angle_harmonic_omp.h diff --git a/src/USER-OMP/angle_quartic_omp.cpp b/src/OPENMP/angle_quartic_omp.cpp similarity index 100% rename from src/USER-OMP/angle_quartic_omp.cpp rename to src/OPENMP/angle_quartic_omp.cpp diff --git a/src/USER-OMP/angle_quartic_omp.h b/src/OPENMP/angle_quartic_omp.h similarity index 100% rename from src/USER-OMP/angle_quartic_omp.h rename to src/OPENMP/angle_quartic_omp.h diff --git a/src/USER-OMP/angle_sdk_omp.cpp b/src/OPENMP/angle_sdk_omp.cpp similarity index 100% rename from src/USER-OMP/angle_sdk_omp.cpp rename to src/OPENMP/angle_sdk_omp.cpp diff --git a/src/USER-OMP/angle_sdk_omp.h b/src/OPENMP/angle_sdk_omp.h similarity index 100% rename from src/USER-OMP/angle_sdk_omp.h rename to src/OPENMP/angle_sdk_omp.h diff --git a/src/USER-OMP/angle_table_omp.cpp b/src/OPENMP/angle_table_omp.cpp similarity index 100% rename from src/USER-OMP/angle_table_omp.cpp rename to src/OPENMP/angle_table_omp.cpp diff --git a/src/USER-OMP/angle_table_omp.h b/src/OPENMP/angle_table_omp.h similarity index 100% rename from src/USER-OMP/angle_table_omp.h rename to src/OPENMP/angle_table_omp.h diff --git a/src/USER-OMP/bond_class2_omp.cpp b/src/OPENMP/bond_class2_omp.cpp similarity index 100% rename from src/USER-OMP/bond_class2_omp.cpp rename to src/OPENMP/bond_class2_omp.cpp diff --git a/src/USER-OMP/bond_class2_omp.h b/src/OPENMP/bond_class2_omp.h similarity index 100% rename from src/USER-OMP/bond_class2_omp.h rename to src/OPENMP/bond_class2_omp.h diff --git a/src/USER-OMP/bond_fene_expand_omp.cpp b/src/OPENMP/bond_fene_expand_omp.cpp similarity index 100% rename from src/USER-OMP/bond_fene_expand_omp.cpp rename to src/OPENMP/bond_fene_expand_omp.cpp diff --git a/src/USER-OMP/bond_fene_expand_omp.h b/src/OPENMP/bond_fene_expand_omp.h similarity index 100% rename from src/USER-OMP/bond_fene_expand_omp.h rename to src/OPENMP/bond_fene_expand_omp.h diff --git a/src/USER-OMP/bond_fene_omp.cpp b/src/OPENMP/bond_fene_omp.cpp similarity index 100% rename from src/USER-OMP/bond_fene_omp.cpp rename to src/OPENMP/bond_fene_omp.cpp diff --git a/src/USER-OMP/bond_fene_omp.h b/src/OPENMP/bond_fene_omp.h similarity index 100% rename from src/USER-OMP/bond_fene_omp.h rename to src/OPENMP/bond_fene_omp.h diff --git a/src/USER-OMP/bond_gromos_omp.cpp b/src/OPENMP/bond_gromos_omp.cpp similarity index 100% rename from src/USER-OMP/bond_gromos_omp.cpp rename to src/OPENMP/bond_gromos_omp.cpp diff --git a/src/USER-OMP/bond_gromos_omp.h b/src/OPENMP/bond_gromos_omp.h similarity index 100% rename from src/USER-OMP/bond_gromos_omp.h rename to src/OPENMP/bond_gromos_omp.h diff --git a/src/USER-OMP/bond_harmonic_omp.cpp b/src/OPENMP/bond_harmonic_omp.cpp similarity index 100% rename from src/USER-OMP/bond_harmonic_omp.cpp rename to src/OPENMP/bond_harmonic_omp.cpp diff --git a/src/USER-OMP/bond_harmonic_omp.h b/src/OPENMP/bond_harmonic_omp.h similarity index 100% rename from src/USER-OMP/bond_harmonic_omp.h rename to src/OPENMP/bond_harmonic_omp.h diff --git a/src/USER-OMP/bond_harmonic_shift_cut_omp.cpp b/src/OPENMP/bond_harmonic_shift_cut_omp.cpp similarity index 100% rename from src/USER-OMP/bond_harmonic_shift_cut_omp.cpp rename to src/OPENMP/bond_harmonic_shift_cut_omp.cpp diff --git a/src/USER-OMP/bond_harmonic_shift_cut_omp.h b/src/OPENMP/bond_harmonic_shift_cut_omp.h similarity index 100% rename from src/USER-OMP/bond_harmonic_shift_cut_omp.h rename to src/OPENMP/bond_harmonic_shift_cut_omp.h diff --git a/src/USER-OMP/bond_harmonic_shift_omp.cpp b/src/OPENMP/bond_harmonic_shift_omp.cpp similarity index 100% rename from src/USER-OMP/bond_harmonic_shift_omp.cpp rename to src/OPENMP/bond_harmonic_shift_omp.cpp diff --git a/src/USER-OMP/bond_harmonic_shift_omp.h b/src/OPENMP/bond_harmonic_shift_omp.h similarity index 100% rename from src/USER-OMP/bond_harmonic_shift_omp.h rename to src/OPENMP/bond_harmonic_shift_omp.h diff --git a/src/USER-OMP/bond_morse_omp.cpp b/src/OPENMP/bond_morse_omp.cpp similarity index 100% rename from src/USER-OMP/bond_morse_omp.cpp rename to src/OPENMP/bond_morse_omp.cpp diff --git a/src/USER-OMP/bond_morse_omp.h b/src/OPENMP/bond_morse_omp.h similarity index 100% rename from src/USER-OMP/bond_morse_omp.h rename to src/OPENMP/bond_morse_omp.h diff --git a/src/USER-OMP/bond_nonlinear_omp.cpp b/src/OPENMP/bond_nonlinear_omp.cpp similarity index 100% rename from src/USER-OMP/bond_nonlinear_omp.cpp rename to src/OPENMP/bond_nonlinear_omp.cpp diff --git a/src/USER-OMP/bond_nonlinear_omp.h b/src/OPENMP/bond_nonlinear_omp.h similarity index 100% rename from src/USER-OMP/bond_nonlinear_omp.h rename to src/OPENMP/bond_nonlinear_omp.h diff --git a/src/USER-OMP/bond_quartic_omp.cpp b/src/OPENMP/bond_quartic_omp.cpp similarity index 100% rename from src/USER-OMP/bond_quartic_omp.cpp rename to src/OPENMP/bond_quartic_omp.cpp diff --git a/src/USER-OMP/bond_quartic_omp.h b/src/OPENMP/bond_quartic_omp.h similarity index 100% rename from src/USER-OMP/bond_quartic_omp.h rename to src/OPENMP/bond_quartic_omp.h diff --git a/src/USER-OMP/bond_table_omp.cpp b/src/OPENMP/bond_table_omp.cpp similarity index 100% rename from src/USER-OMP/bond_table_omp.cpp rename to src/OPENMP/bond_table_omp.cpp diff --git a/src/USER-OMP/bond_table_omp.h b/src/OPENMP/bond_table_omp.h similarity index 100% rename from src/USER-OMP/bond_table_omp.h rename to src/OPENMP/bond_table_omp.h diff --git a/src/USER-OMP/dihedral_charmm_omp.cpp b/src/OPENMP/dihedral_charmm_omp.cpp similarity index 100% rename from src/USER-OMP/dihedral_charmm_omp.cpp rename to src/OPENMP/dihedral_charmm_omp.cpp diff --git a/src/USER-OMP/dihedral_charmm_omp.h b/src/OPENMP/dihedral_charmm_omp.h similarity index 100% rename from src/USER-OMP/dihedral_charmm_omp.h rename to src/OPENMP/dihedral_charmm_omp.h diff --git a/src/USER-OMP/dihedral_class2_omp.cpp b/src/OPENMP/dihedral_class2_omp.cpp similarity index 100% rename from src/USER-OMP/dihedral_class2_omp.cpp rename to src/OPENMP/dihedral_class2_omp.cpp diff --git a/src/USER-OMP/dihedral_class2_omp.h b/src/OPENMP/dihedral_class2_omp.h similarity index 100% rename from src/USER-OMP/dihedral_class2_omp.h rename to src/OPENMP/dihedral_class2_omp.h diff --git a/src/USER-OMP/dihedral_cosine_shift_exp_omp.cpp b/src/OPENMP/dihedral_cosine_shift_exp_omp.cpp similarity index 100% rename from src/USER-OMP/dihedral_cosine_shift_exp_omp.cpp rename to src/OPENMP/dihedral_cosine_shift_exp_omp.cpp diff --git a/src/USER-OMP/dihedral_cosine_shift_exp_omp.h b/src/OPENMP/dihedral_cosine_shift_exp_omp.h similarity index 100% rename from src/USER-OMP/dihedral_cosine_shift_exp_omp.h rename to src/OPENMP/dihedral_cosine_shift_exp_omp.h diff --git a/src/USER-OMP/dihedral_fourier_omp.cpp b/src/OPENMP/dihedral_fourier_omp.cpp similarity index 100% rename from src/USER-OMP/dihedral_fourier_omp.cpp rename to src/OPENMP/dihedral_fourier_omp.cpp diff --git a/src/USER-OMP/dihedral_fourier_omp.h b/src/OPENMP/dihedral_fourier_omp.h similarity index 100% rename from src/USER-OMP/dihedral_fourier_omp.h rename to src/OPENMP/dihedral_fourier_omp.h diff --git a/src/USER-OMP/dihedral_harmonic_omp.cpp b/src/OPENMP/dihedral_harmonic_omp.cpp similarity index 100% rename from src/USER-OMP/dihedral_harmonic_omp.cpp rename to src/OPENMP/dihedral_harmonic_omp.cpp diff --git a/src/USER-OMP/dihedral_harmonic_omp.h b/src/OPENMP/dihedral_harmonic_omp.h similarity index 100% rename from src/USER-OMP/dihedral_harmonic_omp.h rename to src/OPENMP/dihedral_harmonic_omp.h diff --git a/src/USER-OMP/dihedral_helix_omp.cpp b/src/OPENMP/dihedral_helix_omp.cpp similarity index 100% rename from src/USER-OMP/dihedral_helix_omp.cpp rename to src/OPENMP/dihedral_helix_omp.cpp diff --git a/src/USER-OMP/dihedral_helix_omp.h b/src/OPENMP/dihedral_helix_omp.h similarity index 100% rename from src/USER-OMP/dihedral_helix_omp.h rename to src/OPENMP/dihedral_helix_omp.h diff --git a/src/USER-OMP/dihedral_multi_harmonic_omp.cpp b/src/OPENMP/dihedral_multi_harmonic_omp.cpp similarity index 100% rename from src/USER-OMP/dihedral_multi_harmonic_omp.cpp rename to src/OPENMP/dihedral_multi_harmonic_omp.cpp diff --git a/src/USER-OMP/dihedral_multi_harmonic_omp.h b/src/OPENMP/dihedral_multi_harmonic_omp.h similarity index 100% rename from src/USER-OMP/dihedral_multi_harmonic_omp.h rename to src/OPENMP/dihedral_multi_harmonic_omp.h diff --git a/src/USER-OMP/dihedral_nharmonic_omp.cpp b/src/OPENMP/dihedral_nharmonic_omp.cpp similarity index 100% rename from src/USER-OMP/dihedral_nharmonic_omp.cpp rename to src/OPENMP/dihedral_nharmonic_omp.cpp diff --git a/src/USER-OMP/dihedral_nharmonic_omp.h b/src/OPENMP/dihedral_nharmonic_omp.h similarity index 100% rename from src/USER-OMP/dihedral_nharmonic_omp.h rename to src/OPENMP/dihedral_nharmonic_omp.h diff --git a/src/USER-OMP/dihedral_opls_omp.cpp b/src/OPENMP/dihedral_opls_omp.cpp similarity index 100% rename from src/USER-OMP/dihedral_opls_omp.cpp rename to src/OPENMP/dihedral_opls_omp.cpp diff --git a/src/USER-OMP/dihedral_opls_omp.h b/src/OPENMP/dihedral_opls_omp.h similarity index 100% rename from src/USER-OMP/dihedral_opls_omp.h rename to src/OPENMP/dihedral_opls_omp.h diff --git a/src/USER-OMP/dihedral_quadratic_omp.cpp b/src/OPENMP/dihedral_quadratic_omp.cpp similarity index 100% rename from src/USER-OMP/dihedral_quadratic_omp.cpp rename to src/OPENMP/dihedral_quadratic_omp.cpp diff --git a/src/USER-OMP/dihedral_quadratic_omp.h b/src/OPENMP/dihedral_quadratic_omp.h similarity index 100% rename from src/USER-OMP/dihedral_quadratic_omp.h rename to src/OPENMP/dihedral_quadratic_omp.h diff --git a/src/USER-OMP/dihedral_table_omp.cpp b/src/OPENMP/dihedral_table_omp.cpp similarity index 100% rename from src/USER-OMP/dihedral_table_omp.cpp rename to src/OPENMP/dihedral_table_omp.cpp diff --git a/src/USER-OMP/dihedral_table_omp.h b/src/OPENMP/dihedral_table_omp.h similarity index 100% rename from src/USER-OMP/dihedral_table_omp.h rename to src/OPENMP/dihedral_table_omp.h diff --git a/src/USER-OMP/domain_omp.cpp b/src/OPENMP/domain_omp.cpp similarity index 100% rename from src/USER-OMP/domain_omp.cpp rename to src/OPENMP/domain_omp.cpp diff --git a/src/USER-OMP/ewald_omp.cpp b/src/OPENMP/ewald_omp.cpp similarity index 100% rename from src/USER-OMP/ewald_omp.cpp rename to src/OPENMP/ewald_omp.cpp diff --git a/src/USER-OMP/ewald_omp.h b/src/OPENMP/ewald_omp.h similarity index 100% rename from src/USER-OMP/ewald_omp.h rename to src/OPENMP/ewald_omp.h diff --git a/src/USER-OMP/fix_gravity_omp.cpp b/src/OPENMP/fix_gravity_omp.cpp similarity index 100% rename from src/USER-OMP/fix_gravity_omp.cpp rename to src/OPENMP/fix_gravity_omp.cpp diff --git a/src/USER-OMP/fix_gravity_omp.h b/src/OPENMP/fix_gravity_omp.h similarity index 100% rename from src/USER-OMP/fix_gravity_omp.h rename to src/OPENMP/fix_gravity_omp.h diff --git a/src/USER-OMP/fix_neigh_history_omp.cpp b/src/OPENMP/fix_neigh_history_omp.cpp similarity index 100% rename from src/USER-OMP/fix_neigh_history_omp.cpp rename to src/OPENMP/fix_neigh_history_omp.cpp diff --git a/src/USER-OMP/fix_neigh_history_omp.h b/src/OPENMP/fix_neigh_history_omp.h similarity index 100% rename from src/USER-OMP/fix_neigh_history_omp.h rename to src/OPENMP/fix_neigh_history_omp.h diff --git a/src/USER-OMP/fix_nh_asphere_omp.cpp b/src/OPENMP/fix_nh_asphere_omp.cpp similarity index 100% rename from src/USER-OMP/fix_nh_asphere_omp.cpp rename to src/OPENMP/fix_nh_asphere_omp.cpp diff --git a/src/USER-OMP/fix_nh_asphere_omp.h b/src/OPENMP/fix_nh_asphere_omp.h similarity index 100% rename from src/USER-OMP/fix_nh_asphere_omp.h rename to src/OPENMP/fix_nh_asphere_omp.h diff --git a/src/USER-OMP/fix_nh_omp.cpp b/src/OPENMP/fix_nh_omp.cpp similarity index 100% rename from src/USER-OMP/fix_nh_omp.cpp rename to src/OPENMP/fix_nh_omp.cpp diff --git a/src/USER-OMP/fix_nh_omp.h b/src/OPENMP/fix_nh_omp.h similarity index 100% rename from src/USER-OMP/fix_nh_omp.h rename to src/OPENMP/fix_nh_omp.h diff --git a/src/USER-OMP/fix_nh_sphere_omp.cpp b/src/OPENMP/fix_nh_sphere_omp.cpp similarity index 100% rename from src/USER-OMP/fix_nh_sphere_omp.cpp rename to src/OPENMP/fix_nh_sphere_omp.cpp diff --git a/src/USER-OMP/fix_nh_sphere_omp.h b/src/OPENMP/fix_nh_sphere_omp.h similarity index 100% rename from src/USER-OMP/fix_nh_sphere_omp.h rename to src/OPENMP/fix_nh_sphere_omp.h diff --git a/src/USER-OMP/fix_nph_asphere_omp.cpp b/src/OPENMP/fix_nph_asphere_omp.cpp similarity index 100% rename from src/USER-OMP/fix_nph_asphere_omp.cpp rename to src/OPENMP/fix_nph_asphere_omp.cpp diff --git a/src/USER-OMP/fix_nph_asphere_omp.h b/src/OPENMP/fix_nph_asphere_omp.h similarity index 100% rename from src/USER-OMP/fix_nph_asphere_omp.h rename to src/OPENMP/fix_nph_asphere_omp.h diff --git a/src/USER-OMP/fix_nph_omp.cpp b/src/OPENMP/fix_nph_omp.cpp similarity index 100% rename from src/USER-OMP/fix_nph_omp.cpp rename to src/OPENMP/fix_nph_omp.cpp diff --git a/src/USER-OMP/fix_nph_omp.h b/src/OPENMP/fix_nph_omp.h similarity index 100% rename from src/USER-OMP/fix_nph_omp.h rename to src/OPENMP/fix_nph_omp.h diff --git a/src/USER-OMP/fix_nph_sphere_omp.cpp b/src/OPENMP/fix_nph_sphere_omp.cpp similarity index 100% rename from src/USER-OMP/fix_nph_sphere_omp.cpp rename to src/OPENMP/fix_nph_sphere_omp.cpp diff --git a/src/USER-OMP/fix_nph_sphere_omp.h b/src/OPENMP/fix_nph_sphere_omp.h similarity index 100% rename from src/USER-OMP/fix_nph_sphere_omp.h rename to src/OPENMP/fix_nph_sphere_omp.h diff --git a/src/USER-OMP/fix_npt_asphere_omp.cpp b/src/OPENMP/fix_npt_asphere_omp.cpp similarity index 100% rename from src/USER-OMP/fix_npt_asphere_omp.cpp rename to src/OPENMP/fix_npt_asphere_omp.cpp diff --git a/src/USER-OMP/fix_npt_asphere_omp.h b/src/OPENMP/fix_npt_asphere_omp.h similarity index 100% rename from src/USER-OMP/fix_npt_asphere_omp.h rename to src/OPENMP/fix_npt_asphere_omp.h diff --git a/src/USER-OMP/fix_npt_omp.cpp b/src/OPENMP/fix_npt_omp.cpp similarity index 100% rename from src/USER-OMP/fix_npt_omp.cpp rename to src/OPENMP/fix_npt_omp.cpp diff --git a/src/USER-OMP/fix_npt_omp.h b/src/OPENMP/fix_npt_omp.h similarity index 100% rename from src/USER-OMP/fix_npt_omp.h rename to src/OPENMP/fix_npt_omp.h diff --git a/src/USER-OMP/fix_npt_sphere_omp.cpp b/src/OPENMP/fix_npt_sphere_omp.cpp similarity index 100% rename from src/USER-OMP/fix_npt_sphere_omp.cpp rename to src/OPENMP/fix_npt_sphere_omp.cpp diff --git a/src/USER-OMP/fix_npt_sphere_omp.h b/src/OPENMP/fix_npt_sphere_omp.h similarity index 100% rename from src/USER-OMP/fix_npt_sphere_omp.h rename to src/OPENMP/fix_npt_sphere_omp.h diff --git a/src/USER-OMP/fix_nve_omp.cpp b/src/OPENMP/fix_nve_omp.cpp similarity index 100% rename from src/USER-OMP/fix_nve_omp.cpp rename to src/OPENMP/fix_nve_omp.cpp diff --git a/src/USER-OMP/fix_nve_omp.h b/src/OPENMP/fix_nve_omp.h similarity index 100% rename from src/USER-OMP/fix_nve_omp.h rename to src/OPENMP/fix_nve_omp.h diff --git a/src/USER-OMP/fix_nve_sphere_omp.cpp b/src/OPENMP/fix_nve_sphere_omp.cpp similarity index 100% rename from src/USER-OMP/fix_nve_sphere_omp.cpp rename to src/OPENMP/fix_nve_sphere_omp.cpp diff --git a/src/USER-OMP/fix_nve_sphere_omp.h b/src/OPENMP/fix_nve_sphere_omp.h similarity index 100% rename from src/USER-OMP/fix_nve_sphere_omp.h rename to src/OPENMP/fix_nve_sphere_omp.h diff --git a/src/USER-OMP/fix_nvt_asphere_omp.cpp b/src/OPENMP/fix_nvt_asphere_omp.cpp similarity index 100% rename from src/USER-OMP/fix_nvt_asphere_omp.cpp rename to src/OPENMP/fix_nvt_asphere_omp.cpp diff --git a/src/USER-OMP/fix_nvt_asphere_omp.h b/src/OPENMP/fix_nvt_asphere_omp.h similarity index 100% rename from src/USER-OMP/fix_nvt_asphere_omp.h rename to src/OPENMP/fix_nvt_asphere_omp.h diff --git a/src/USER-OMP/fix_nvt_omp.cpp b/src/OPENMP/fix_nvt_omp.cpp similarity index 100% rename from src/USER-OMP/fix_nvt_omp.cpp rename to src/OPENMP/fix_nvt_omp.cpp diff --git a/src/USER-OMP/fix_nvt_omp.h b/src/OPENMP/fix_nvt_omp.h similarity index 100% rename from src/USER-OMP/fix_nvt_omp.h rename to src/OPENMP/fix_nvt_omp.h diff --git a/src/USER-OMP/fix_nvt_sllod_omp.cpp b/src/OPENMP/fix_nvt_sllod_omp.cpp similarity index 100% rename from src/USER-OMP/fix_nvt_sllod_omp.cpp rename to src/OPENMP/fix_nvt_sllod_omp.cpp diff --git a/src/USER-OMP/fix_nvt_sllod_omp.h b/src/OPENMP/fix_nvt_sllod_omp.h similarity index 100% rename from src/USER-OMP/fix_nvt_sllod_omp.h rename to src/OPENMP/fix_nvt_sllod_omp.h diff --git a/src/USER-OMP/fix_nvt_sphere_omp.cpp b/src/OPENMP/fix_nvt_sphere_omp.cpp similarity index 100% rename from src/USER-OMP/fix_nvt_sphere_omp.cpp rename to src/OPENMP/fix_nvt_sphere_omp.cpp diff --git a/src/USER-OMP/fix_nvt_sphere_omp.h b/src/OPENMP/fix_nvt_sphere_omp.h similarity index 100% rename from src/USER-OMP/fix_nvt_sphere_omp.h rename to src/OPENMP/fix_nvt_sphere_omp.h diff --git a/src/USER-OMP/fix_omp.cpp b/src/OPENMP/fix_omp.cpp similarity index 87% rename from src/USER-OMP/fix_omp.cpp rename to src/OPENMP/fix_omp.cpp index eb19c3a2d2..9f115a74c1 100644 --- a/src/USER-OMP/fix_omp.cpp +++ b/src/OPENMP/fix_omp.cpp @@ -112,17 +112,9 @@ FixOMP::FixOMP(LAMMPS *lmp, int narg, char **arg) #if defined(_OPENMP) const char * const nmode = _neighbor ? "multi-threaded" : "serial"; - if (screen) { - if (reset_thr) - fprintf(screen,"set %d OpenMP thread(s) per MPI task\n", nthreads); - fprintf(screen,"using %s neighbor list subroutines\n", nmode); - } - - if (logfile) { - if (reset_thr) - fprintf(logfile,"set %d OpenMP thread(s) per MPI task\n", nthreads); - fprintf(logfile,"using %s neighbor list subroutines\n", nmode); - } + if (reset_thr) + utils::logmesg(lmp, "set {} OpenMP thread(s) per MPI task\n", nthreads); + utils::logmesg(lmp, "using {} neighbor list subroutines\n", nmode); #else error->warning(FLERR,"OpenMP support not enabled during compilation; " "using 1 thread only."); @@ -170,17 +162,17 @@ int FixOMP::setmask() void FixOMP::init() { - // USER-OMP package cannot be used with atom_style template + // OPENMP package cannot be used with atom_style template if (atom->molecular == Atom::TEMPLATE) - error->all(FLERR,"USER-OMP package does not (yet) work with " + error->all(FLERR,"OPENMP package does not (yet) work with " "atom_style template"); // adjust number of data objects when the number of OpenMP // threads has been changed somehow const int nthreads = comm->nthreads; if (_nthr != nthreads) { - if (screen) fprintf(screen,"Re-init USER-OMP for %d OpenMP thread(s)\n", nthreads); - if (logfile) fprintf(logfile,"Re-init USER-OMP for %d OpenMP thread(s)\n", nthreads); + if (comm->me == 0) + utils::logmesg(lmp,"Re-init OPENMP for {} OpenMP thread(s)\n", nthreads); for (int i=0; i < _nthr; ++i) delete thr[i]; @@ -292,23 +284,11 @@ void FixOMP::init() // diagnostic output if (comm->me == 0) { if (last_omp_style) { - if (last_pair_hybrid) { - if (screen) - fprintf(screen,"Hybrid pair style last /omp style %s\n", last_hybrid_name); - if (logfile) - fprintf(logfile,"Hybrid pair style last /omp style %s\n", last_hybrid_name); - } - if (screen) - fprintf(screen,"Last active /omp style is %s_style %s\n", - last_force_name, last_omp_name); - if (logfile) - fprintf(logfile,"Last active /omp style is %s_style %s\n", - last_force_name, last_omp_name); + if (last_pair_hybrid) + utils::logmesg(lmp,"Hybrid pair style last /omp style {}\n",last_hybrid_name); + utils::logmesg(lmp,"Last active /omp style is {}_style {}\n",last_force_name,last_omp_name); } else { - if (screen) - fprintf(screen,"No /omp style for force computation currently active\n"); - if (logfile) - fprintf(logfile,"No /omp style for force computation currently active\n"); + utils::logmesg(lmp,"No /omp style for force computation currently active\n"); } } } @@ -327,7 +307,7 @@ void FixOMP::set_neighbor_omp() const int neigh_omp = _neighbor ? 1 : 0; const int nrequest = neighbor->nrequest; - // flag *all* neighbor list requests as USER-OMP threaded, + // flag *all* neighbor list requests as OPENMP threaded, // but skip lists already flagged as USER-INTEL threaded for (int i = 0; i < nrequest; ++i) if (! neighbor->requests[i]->intel) diff --git a/src/USER-OMP/fix_omp.h b/src/OPENMP/fix_omp.h similarity index 100% rename from src/USER-OMP/fix_omp.h rename to src/OPENMP/fix_omp.h diff --git a/src/USER-OMP/fix_peri_neigh_omp.cpp b/src/OPENMP/fix_peri_neigh_omp.cpp similarity index 100% rename from src/USER-OMP/fix_peri_neigh_omp.cpp rename to src/OPENMP/fix_peri_neigh_omp.cpp diff --git a/src/USER-OMP/fix_peri_neigh_omp.h b/src/OPENMP/fix_peri_neigh_omp.h similarity index 100% rename from src/USER-OMP/fix_peri_neigh_omp.h rename to src/OPENMP/fix_peri_neigh_omp.h diff --git a/src/USER-OMP/fix_qeq_comb_omp.cpp b/src/OPENMP/fix_qeq_comb_omp.cpp similarity index 99% rename from src/USER-OMP/fix_qeq_comb_omp.cpp rename to src/OPENMP/fix_qeq_comb_omp.cpp index 7dd1bfbb69..900a47bd02 100644 --- a/src/USER-OMP/fix_qeq_comb_omp.cpp +++ b/src/OPENMP/fix_qeq_comb_omp.cpp @@ -50,7 +50,7 @@ void FixQEQCombOMP::init() error->all(FLERR,"Fix qeq/comb/omp requires atom attribute q"); if (nullptr != force->pair_match("comb3",0)) - error->all(FLERR,"No support for comb3 currently available in USER-OMP"); + error->all(FLERR,"No support for comb3 currently available in OPENMP"); comb = (PairComb *) force->pair_match("comb/omp",1); if (comb == nullptr) diff --git a/src/USER-OMP/fix_qeq_comb_omp.h b/src/OPENMP/fix_qeq_comb_omp.h similarity index 100% rename from src/USER-OMP/fix_qeq_comb_omp.h rename to src/OPENMP/fix_qeq_comb_omp.h diff --git a/src/USER-OMP/fix_qeq_reax_omp.cpp b/src/OPENMP/fix_qeq_reax_omp.cpp similarity index 99% rename from src/USER-OMP/fix_qeq_reax_omp.cpp rename to src/OPENMP/fix_qeq_reax_omp.cpp index 91c61cc946..7fe9994fc6 100644 --- a/src/USER-OMP/fix_qeq_reax_omp.cpp +++ b/src/OPENMP/fix_qeq_reax_omp.cpp @@ -22,7 +22,7 @@ by Hasan Metin Aktulga (MSU), Chris Knight (ALCF), Paul Coffman (ALCF), Kurt O'Hearn (MSU), Ray Shan (Materials Design), Wei Jiang (ALCF) - Integration of the pair_style reax/c/omp into the User-OMP package + Integration of the pair_style reax/c/omp into the OPENMP package by Axel Kohlmeyer (Temple U.) Please cite the related publication: diff --git a/src/USER-OMP/fix_qeq_reax_omp.h b/src/OPENMP/fix_qeq_reax_omp.h similarity index 100% rename from src/USER-OMP/fix_qeq_reax_omp.h rename to src/OPENMP/fix_qeq_reax_omp.h diff --git a/src/USER-OMP/fix_rigid_nh_omp.cpp b/src/OPENMP/fix_rigid_nh_omp.cpp similarity index 100% rename from src/USER-OMP/fix_rigid_nh_omp.cpp rename to src/OPENMP/fix_rigid_nh_omp.cpp diff --git a/src/USER-OMP/fix_rigid_nh_omp.h b/src/OPENMP/fix_rigid_nh_omp.h similarity index 100% rename from src/USER-OMP/fix_rigid_nh_omp.h rename to src/OPENMP/fix_rigid_nh_omp.h diff --git a/src/USER-OMP/fix_rigid_nph_omp.cpp b/src/OPENMP/fix_rigid_nph_omp.cpp similarity index 100% rename from src/USER-OMP/fix_rigid_nph_omp.cpp rename to src/OPENMP/fix_rigid_nph_omp.cpp diff --git a/src/USER-OMP/fix_rigid_nph_omp.h b/src/OPENMP/fix_rigid_nph_omp.h similarity index 100% rename from src/USER-OMP/fix_rigid_nph_omp.h rename to src/OPENMP/fix_rigid_nph_omp.h diff --git a/src/USER-OMP/fix_rigid_npt_omp.cpp b/src/OPENMP/fix_rigid_npt_omp.cpp similarity index 100% rename from src/USER-OMP/fix_rigid_npt_omp.cpp rename to src/OPENMP/fix_rigid_npt_omp.cpp diff --git a/src/USER-OMP/fix_rigid_npt_omp.h b/src/OPENMP/fix_rigid_npt_omp.h similarity index 100% rename from src/USER-OMP/fix_rigid_npt_omp.h rename to src/OPENMP/fix_rigid_npt_omp.h diff --git a/src/USER-OMP/fix_rigid_nve_omp.cpp b/src/OPENMP/fix_rigid_nve_omp.cpp similarity index 100% rename from src/USER-OMP/fix_rigid_nve_omp.cpp rename to src/OPENMP/fix_rigid_nve_omp.cpp diff --git a/src/USER-OMP/fix_rigid_nve_omp.h b/src/OPENMP/fix_rigid_nve_omp.h similarity index 100% rename from src/USER-OMP/fix_rigid_nve_omp.h rename to src/OPENMP/fix_rigid_nve_omp.h diff --git a/src/USER-OMP/fix_rigid_nvt_omp.cpp b/src/OPENMP/fix_rigid_nvt_omp.cpp similarity index 100% rename from src/USER-OMP/fix_rigid_nvt_omp.cpp rename to src/OPENMP/fix_rigid_nvt_omp.cpp diff --git a/src/USER-OMP/fix_rigid_nvt_omp.h b/src/OPENMP/fix_rigid_nvt_omp.h similarity index 100% rename from src/USER-OMP/fix_rigid_nvt_omp.h rename to src/OPENMP/fix_rigid_nvt_omp.h diff --git a/src/USER-OMP/fix_rigid_omp.cpp b/src/OPENMP/fix_rigid_omp.cpp similarity index 100% rename from src/USER-OMP/fix_rigid_omp.cpp rename to src/OPENMP/fix_rigid_omp.cpp diff --git a/src/USER-OMP/fix_rigid_omp.h b/src/OPENMP/fix_rigid_omp.h similarity index 100% rename from src/USER-OMP/fix_rigid_omp.h rename to src/OPENMP/fix_rigid_omp.h diff --git a/src/USER-OMP/fix_rigid_small_omp.cpp b/src/OPENMP/fix_rigid_small_omp.cpp similarity index 100% rename from src/USER-OMP/fix_rigid_small_omp.cpp rename to src/OPENMP/fix_rigid_small_omp.cpp diff --git a/src/USER-OMP/fix_rigid_small_omp.h b/src/OPENMP/fix_rigid_small_omp.h similarity index 100% rename from src/USER-OMP/fix_rigid_small_omp.h rename to src/OPENMP/fix_rigid_small_omp.h diff --git a/src/USER-OMP/improper_class2_omp.cpp b/src/OPENMP/improper_class2_omp.cpp similarity index 100% rename from src/USER-OMP/improper_class2_omp.cpp rename to src/OPENMP/improper_class2_omp.cpp diff --git a/src/USER-OMP/improper_class2_omp.h b/src/OPENMP/improper_class2_omp.h similarity index 100% rename from src/USER-OMP/improper_class2_omp.h rename to src/OPENMP/improper_class2_omp.h diff --git a/src/USER-OMP/improper_cossq_omp.cpp b/src/OPENMP/improper_cossq_omp.cpp similarity index 100% rename from src/USER-OMP/improper_cossq_omp.cpp rename to src/OPENMP/improper_cossq_omp.cpp diff --git a/src/USER-OMP/improper_cossq_omp.h b/src/OPENMP/improper_cossq_omp.h similarity index 100% rename from src/USER-OMP/improper_cossq_omp.h rename to src/OPENMP/improper_cossq_omp.h diff --git a/src/USER-OMP/improper_cvff_omp.cpp b/src/OPENMP/improper_cvff_omp.cpp similarity index 100% rename from src/USER-OMP/improper_cvff_omp.cpp rename to src/OPENMP/improper_cvff_omp.cpp diff --git a/src/USER-OMP/improper_cvff_omp.h b/src/OPENMP/improper_cvff_omp.h similarity index 100% rename from src/USER-OMP/improper_cvff_omp.h rename to src/OPENMP/improper_cvff_omp.h diff --git a/src/USER-OMP/improper_fourier_omp.cpp b/src/OPENMP/improper_fourier_omp.cpp similarity index 100% rename from src/USER-OMP/improper_fourier_omp.cpp rename to src/OPENMP/improper_fourier_omp.cpp diff --git a/src/USER-OMP/improper_fourier_omp.h b/src/OPENMP/improper_fourier_omp.h similarity index 100% rename from src/USER-OMP/improper_fourier_omp.h rename to src/OPENMP/improper_fourier_omp.h diff --git a/src/USER-OMP/improper_harmonic_omp.cpp b/src/OPENMP/improper_harmonic_omp.cpp similarity index 100% rename from src/USER-OMP/improper_harmonic_omp.cpp rename to src/OPENMP/improper_harmonic_omp.cpp diff --git a/src/USER-OMP/improper_harmonic_omp.h b/src/OPENMP/improper_harmonic_omp.h similarity index 100% rename from src/USER-OMP/improper_harmonic_omp.h rename to src/OPENMP/improper_harmonic_omp.h diff --git a/src/USER-OMP/improper_ring_omp.cpp b/src/OPENMP/improper_ring_omp.cpp similarity index 100% rename from src/USER-OMP/improper_ring_omp.cpp rename to src/OPENMP/improper_ring_omp.cpp diff --git a/src/USER-OMP/improper_ring_omp.h b/src/OPENMP/improper_ring_omp.h similarity index 100% rename from src/USER-OMP/improper_ring_omp.h rename to src/OPENMP/improper_ring_omp.h diff --git a/src/USER-OMP/improper_umbrella_omp.cpp b/src/OPENMP/improper_umbrella_omp.cpp similarity index 100% rename from src/USER-OMP/improper_umbrella_omp.cpp rename to src/OPENMP/improper_umbrella_omp.cpp diff --git a/src/USER-OMP/improper_umbrella_omp.h b/src/OPENMP/improper_umbrella_omp.h similarity index 100% rename from src/USER-OMP/improper_umbrella_omp.h rename to src/OPENMP/improper_umbrella_omp.h diff --git a/src/USER-OMP/msm_cg_omp.cpp b/src/OPENMP/msm_cg_omp.cpp similarity index 100% rename from src/USER-OMP/msm_cg_omp.cpp rename to src/OPENMP/msm_cg_omp.cpp diff --git a/src/USER-OMP/msm_cg_omp.h b/src/OPENMP/msm_cg_omp.h similarity index 100% rename from src/USER-OMP/msm_cg_omp.h rename to src/OPENMP/msm_cg_omp.h diff --git a/src/USER-OMP/msm_omp.cpp b/src/OPENMP/msm_omp.cpp similarity index 100% rename from src/USER-OMP/msm_omp.cpp rename to src/OPENMP/msm_omp.cpp diff --git a/src/USER-OMP/msm_omp.h b/src/OPENMP/msm_omp.h similarity index 100% rename from src/USER-OMP/msm_omp.h rename to src/OPENMP/msm_omp.h diff --git a/src/USER-OMP/npair_full_bin_atomonly_omp.cpp b/src/OPENMP/npair_full_bin_atomonly_omp.cpp similarity index 100% rename from src/USER-OMP/npair_full_bin_atomonly_omp.cpp rename to src/OPENMP/npair_full_bin_atomonly_omp.cpp diff --git a/src/USER-OMP/npair_full_bin_atomonly_omp.h b/src/OPENMP/npair_full_bin_atomonly_omp.h similarity index 100% rename from src/USER-OMP/npair_full_bin_atomonly_omp.h rename to src/OPENMP/npair_full_bin_atomonly_omp.h diff --git a/src/USER-OMP/npair_full_bin_ghost_omp.cpp b/src/OPENMP/npair_full_bin_ghost_omp.cpp similarity index 100% rename from src/USER-OMP/npair_full_bin_ghost_omp.cpp rename to src/OPENMP/npair_full_bin_ghost_omp.cpp diff --git a/src/USER-OMP/npair_full_bin_ghost_omp.h b/src/OPENMP/npair_full_bin_ghost_omp.h similarity index 100% rename from src/USER-OMP/npair_full_bin_ghost_omp.h rename to src/OPENMP/npair_full_bin_ghost_omp.h diff --git a/src/USER-OMP/npair_full_bin_omp.cpp b/src/OPENMP/npair_full_bin_omp.cpp similarity index 100% rename from src/USER-OMP/npair_full_bin_omp.cpp rename to src/OPENMP/npair_full_bin_omp.cpp diff --git a/src/USER-OMP/npair_full_bin_omp.h b/src/OPENMP/npair_full_bin_omp.h similarity index 100% rename from src/USER-OMP/npair_full_bin_omp.h rename to src/OPENMP/npair_full_bin_omp.h diff --git a/src/USER-OMP/npair_full_multi_old_omp.cpp b/src/OPENMP/npair_full_multi_old_omp.cpp similarity index 100% rename from src/USER-OMP/npair_full_multi_old_omp.cpp rename to src/OPENMP/npair_full_multi_old_omp.cpp diff --git a/src/USER-OMP/npair_full_multi_old_omp.h b/src/OPENMP/npair_full_multi_old_omp.h similarity index 100% rename from src/USER-OMP/npair_full_multi_old_omp.h rename to src/OPENMP/npair_full_multi_old_omp.h diff --git a/src/USER-OMP/npair_full_multi_omp.cpp b/src/OPENMP/npair_full_multi_omp.cpp similarity index 100% rename from src/USER-OMP/npair_full_multi_omp.cpp rename to src/OPENMP/npair_full_multi_omp.cpp diff --git a/src/USER-OMP/npair_full_multi_omp.h b/src/OPENMP/npair_full_multi_omp.h similarity index 100% rename from src/USER-OMP/npair_full_multi_omp.h rename to src/OPENMP/npair_full_multi_omp.h diff --git a/src/USER-OMP/npair_full_nsq_ghost_omp.cpp b/src/OPENMP/npair_full_nsq_ghost_omp.cpp similarity index 100% rename from src/USER-OMP/npair_full_nsq_ghost_omp.cpp rename to src/OPENMP/npair_full_nsq_ghost_omp.cpp diff --git a/src/USER-OMP/npair_full_nsq_ghost_omp.h b/src/OPENMP/npair_full_nsq_ghost_omp.h similarity index 100% rename from src/USER-OMP/npair_full_nsq_ghost_omp.h rename to src/OPENMP/npair_full_nsq_ghost_omp.h diff --git a/src/USER-OMP/npair_full_nsq_omp.cpp b/src/OPENMP/npair_full_nsq_omp.cpp similarity index 100% rename from src/USER-OMP/npair_full_nsq_omp.cpp rename to src/OPENMP/npair_full_nsq_omp.cpp diff --git a/src/USER-OMP/npair_full_nsq_omp.h b/src/OPENMP/npair_full_nsq_omp.h similarity index 100% rename from src/USER-OMP/npair_full_nsq_omp.h rename to src/OPENMP/npair_full_nsq_omp.h diff --git a/src/USER-OMP/npair_half_bin_atomonly_newton_omp.cpp b/src/OPENMP/npair_half_bin_atomonly_newton_omp.cpp similarity index 100% rename from src/USER-OMP/npair_half_bin_atomonly_newton_omp.cpp rename to src/OPENMP/npair_half_bin_atomonly_newton_omp.cpp diff --git a/src/USER-OMP/npair_half_bin_atomonly_newton_omp.h b/src/OPENMP/npair_half_bin_atomonly_newton_omp.h similarity index 100% rename from src/USER-OMP/npair_half_bin_atomonly_newton_omp.h rename to src/OPENMP/npair_half_bin_atomonly_newton_omp.h diff --git a/src/USER-OMP/npair_half_bin_newtoff_ghost_omp.cpp b/src/OPENMP/npair_half_bin_newtoff_ghost_omp.cpp similarity index 100% rename from src/USER-OMP/npair_half_bin_newtoff_ghost_omp.cpp rename to src/OPENMP/npair_half_bin_newtoff_ghost_omp.cpp diff --git a/src/USER-OMP/npair_half_bin_newtoff_ghost_omp.h b/src/OPENMP/npair_half_bin_newtoff_ghost_omp.h similarity index 100% rename from src/USER-OMP/npair_half_bin_newtoff_ghost_omp.h rename to src/OPENMP/npair_half_bin_newtoff_ghost_omp.h diff --git a/src/USER-OMP/npair_half_bin_newtoff_omp.cpp b/src/OPENMP/npair_half_bin_newtoff_omp.cpp similarity index 100% rename from src/USER-OMP/npair_half_bin_newtoff_omp.cpp rename to src/OPENMP/npair_half_bin_newtoff_omp.cpp diff --git a/src/USER-OMP/npair_half_bin_newtoff_omp.h b/src/OPENMP/npair_half_bin_newtoff_omp.h similarity index 100% rename from src/USER-OMP/npair_half_bin_newtoff_omp.h rename to src/OPENMP/npair_half_bin_newtoff_omp.h diff --git a/src/USER-OMP/npair_half_bin_newton_omp.cpp b/src/OPENMP/npair_half_bin_newton_omp.cpp similarity index 100% rename from src/USER-OMP/npair_half_bin_newton_omp.cpp rename to src/OPENMP/npair_half_bin_newton_omp.cpp diff --git a/src/USER-OMP/npair_half_bin_newton_omp.h b/src/OPENMP/npair_half_bin_newton_omp.h similarity index 100% rename from src/USER-OMP/npair_half_bin_newton_omp.h rename to src/OPENMP/npair_half_bin_newton_omp.h diff --git a/src/USER-OMP/npair_half_bin_newton_tri_omp.cpp b/src/OPENMP/npair_half_bin_newton_tri_omp.cpp similarity index 100% rename from src/USER-OMP/npair_half_bin_newton_tri_omp.cpp rename to src/OPENMP/npair_half_bin_newton_tri_omp.cpp diff --git a/src/USER-OMP/npair_half_bin_newton_tri_omp.h b/src/OPENMP/npair_half_bin_newton_tri_omp.h similarity index 100% rename from src/USER-OMP/npair_half_bin_newton_tri_omp.h rename to src/OPENMP/npair_half_bin_newton_tri_omp.h diff --git a/src/USER-OMP/npair_half_multi_newtoff_omp.cpp b/src/OPENMP/npair_half_multi_newtoff_omp.cpp similarity index 100% rename from src/USER-OMP/npair_half_multi_newtoff_omp.cpp rename to src/OPENMP/npair_half_multi_newtoff_omp.cpp diff --git a/src/USER-OMP/npair_half_multi_newtoff_omp.h b/src/OPENMP/npair_half_multi_newtoff_omp.h similarity index 100% rename from src/USER-OMP/npair_half_multi_newtoff_omp.h rename to src/OPENMP/npair_half_multi_newtoff_omp.h diff --git a/src/USER-OMP/npair_half_multi_newton_omp.cpp b/src/OPENMP/npair_half_multi_newton_omp.cpp similarity index 100% rename from src/USER-OMP/npair_half_multi_newton_omp.cpp rename to src/OPENMP/npair_half_multi_newton_omp.cpp diff --git a/src/USER-OMP/npair_half_multi_newton_omp.h b/src/OPENMP/npair_half_multi_newton_omp.h similarity index 100% rename from src/USER-OMP/npair_half_multi_newton_omp.h rename to src/OPENMP/npair_half_multi_newton_omp.h diff --git a/src/USER-OMP/npair_half_multi_newton_tri_omp.cpp b/src/OPENMP/npair_half_multi_newton_tri_omp.cpp similarity index 100% rename from src/USER-OMP/npair_half_multi_newton_tri_omp.cpp rename to src/OPENMP/npair_half_multi_newton_tri_omp.cpp diff --git a/src/USER-OMP/npair_half_multi_newton_tri_omp.h b/src/OPENMP/npair_half_multi_newton_tri_omp.h similarity index 100% rename from src/USER-OMP/npair_half_multi_newton_tri_omp.h rename to src/OPENMP/npair_half_multi_newton_tri_omp.h diff --git a/src/USER-OMP/npair_half_multi_old_newtoff_omp.cpp b/src/OPENMP/npair_half_multi_old_newtoff_omp.cpp similarity index 100% rename from src/USER-OMP/npair_half_multi_old_newtoff_omp.cpp rename to src/OPENMP/npair_half_multi_old_newtoff_omp.cpp diff --git a/src/USER-OMP/npair_half_multi_old_newtoff_omp.h b/src/OPENMP/npair_half_multi_old_newtoff_omp.h similarity index 100% rename from src/USER-OMP/npair_half_multi_old_newtoff_omp.h rename to src/OPENMP/npair_half_multi_old_newtoff_omp.h diff --git a/src/USER-OMP/npair_half_multi_old_newton_omp.cpp b/src/OPENMP/npair_half_multi_old_newton_omp.cpp similarity index 100% rename from src/USER-OMP/npair_half_multi_old_newton_omp.cpp rename to src/OPENMP/npair_half_multi_old_newton_omp.cpp diff --git a/src/USER-OMP/npair_half_multi_old_newton_omp.h b/src/OPENMP/npair_half_multi_old_newton_omp.h similarity index 100% rename from src/USER-OMP/npair_half_multi_old_newton_omp.h rename to src/OPENMP/npair_half_multi_old_newton_omp.h diff --git a/src/USER-OMP/npair_half_multi_old_newton_tri_omp.cpp b/src/OPENMP/npair_half_multi_old_newton_tri_omp.cpp similarity index 100% rename from src/USER-OMP/npair_half_multi_old_newton_tri_omp.cpp rename to src/OPENMP/npair_half_multi_old_newton_tri_omp.cpp diff --git a/src/USER-OMP/npair_half_multi_old_newton_tri_omp.h b/src/OPENMP/npair_half_multi_old_newton_tri_omp.h similarity index 100% rename from src/USER-OMP/npair_half_multi_old_newton_tri_omp.h rename to src/OPENMP/npair_half_multi_old_newton_tri_omp.h diff --git a/src/USER-OMP/npair_half_nsq_newtoff_ghost_omp.cpp b/src/OPENMP/npair_half_nsq_newtoff_ghost_omp.cpp similarity index 100% rename from src/USER-OMP/npair_half_nsq_newtoff_ghost_omp.cpp rename to src/OPENMP/npair_half_nsq_newtoff_ghost_omp.cpp diff --git a/src/USER-OMP/npair_half_nsq_newtoff_ghost_omp.h b/src/OPENMP/npair_half_nsq_newtoff_ghost_omp.h similarity index 100% rename from src/USER-OMP/npair_half_nsq_newtoff_ghost_omp.h rename to src/OPENMP/npair_half_nsq_newtoff_ghost_omp.h diff --git a/src/USER-OMP/npair_half_nsq_newtoff_omp.cpp b/src/OPENMP/npair_half_nsq_newtoff_omp.cpp similarity index 100% rename from src/USER-OMP/npair_half_nsq_newtoff_omp.cpp rename to src/OPENMP/npair_half_nsq_newtoff_omp.cpp diff --git a/src/USER-OMP/npair_half_nsq_newtoff_omp.h b/src/OPENMP/npair_half_nsq_newtoff_omp.h similarity index 100% rename from src/USER-OMP/npair_half_nsq_newtoff_omp.h rename to src/OPENMP/npair_half_nsq_newtoff_omp.h diff --git a/src/USER-OMP/npair_half_nsq_newton_omp.cpp b/src/OPENMP/npair_half_nsq_newton_omp.cpp similarity index 100% rename from src/USER-OMP/npair_half_nsq_newton_omp.cpp rename to src/OPENMP/npair_half_nsq_newton_omp.cpp diff --git a/src/USER-OMP/npair_half_nsq_newton_omp.h b/src/OPENMP/npair_half_nsq_newton_omp.h similarity index 100% rename from src/USER-OMP/npair_half_nsq_newton_omp.h rename to src/OPENMP/npair_half_nsq_newton_omp.h diff --git a/src/USER-OMP/npair_half_respa_bin_newtoff_omp.cpp b/src/OPENMP/npair_half_respa_bin_newtoff_omp.cpp similarity index 100% rename from src/USER-OMP/npair_half_respa_bin_newtoff_omp.cpp rename to src/OPENMP/npair_half_respa_bin_newtoff_omp.cpp diff --git a/src/USER-OMP/npair_half_respa_bin_newtoff_omp.h b/src/OPENMP/npair_half_respa_bin_newtoff_omp.h similarity index 100% rename from src/USER-OMP/npair_half_respa_bin_newtoff_omp.h rename to src/OPENMP/npair_half_respa_bin_newtoff_omp.h diff --git a/src/USER-OMP/npair_half_respa_bin_newton_omp.cpp b/src/OPENMP/npair_half_respa_bin_newton_omp.cpp similarity index 100% rename from src/USER-OMP/npair_half_respa_bin_newton_omp.cpp rename to src/OPENMP/npair_half_respa_bin_newton_omp.cpp diff --git a/src/USER-OMP/npair_half_respa_bin_newton_omp.h b/src/OPENMP/npair_half_respa_bin_newton_omp.h similarity index 100% rename from src/USER-OMP/npair_half_respa_bin_newton_omp.h rename to src/OPENMP/npair_half_respa_bin_newton_omp.h diff --git a/src/USER-OMP/npair_half_respa_bin_newton_tri_omp.cpp b/src/OPENMP/npair_half_respa_bin_newton_tri_omp.cpp similarity index 100% rename from src/USER-OMP/npair_half_respa_bin_newton_tri_omp.cpp rename to src/OPENMP/npair_half_respa_bin_newton_tri_omp.cpp diff --git a/src/USER-OMP/npair_half_respa_bin_newton_tri_omp.h b/src/OPENMP/npair_half_respa_bin_newton_tri_omp.h similarity index 100% rename from src/USER-OMP/npair_half_respa_bin_newton_tri_omp.h rename to src/OPENMP/npair_half_respa_bin_newton_tri_omp.h diff --git a/src/USER-OMP/npair_half_respa_nsq_newtoff_omp.cpp b/src/OPENMP/npair_half_respa_nsq_newtoff_omp.cpp similarity index 100% rename from src/USER-OMP/npair_half_respa_nsq_newtoff_omp.cpp rename to src/OPENMP/npair_half_respa_nsq_newtoff_omp.cpp diff --git a/src/USER-OMP/npair_half_respa_nsq_newtoff_omp.h b/src/OPENMP/npair_half_respa_nsq_newtoff_omp.h similarity index 100% rename from src/USER-OMP/npair_half_respa_nsq_newtoff_omp.h rename to src/OPENMP/npair_half_respa_nsq_newtoff_omp.h diff --git a/src/USER-OMP/npair_half_respa_nsq_newton_omp.cpp b/src/OPENMP/npair_half_respa_nsq_newton_omp.cpp similarity index 100% rename from src/USER-OMP/npair_half_respa_nsq_newton_omp.cpp rename to src/OPENMP/npair_half_respa_nsq_newton_omp.cpp diff --git a/src/USER-OMP/npair_half_respa_nsq_newton_omp.h b/src/OPENMP/npair_half_respa_nsq_newton_omp.h similarity index 100% rename from src/USER-OMP/npair_half_respa_nsq_newton_omp.h rename to src/OPENMP/npair_half_respa_nsq_newton_omp.h diff --git a/src/USER-OMP/npair_half_size_bin_newtoff_omp.cpp b/src/OPENMP/npair_half_size_bin_newtoff_omp.cpp similarity index 100% rename from src/USER-OMP/npair_half_size_bin_newtoff_omp.cpp rename to src/OPENMP/npair_half_size_bin_newtoff_omp.cpp diff --git a/src/USER-OMP/npair_half_size_bin_newtoff_omp.h b/src/OPENMP/npair_half_size_bin_newtoff_omp.h similarity index 100% rename from src/USER-OMP/npair_half_size_bin_newtoff_omp.h rename to src/OPENMP/npair_half_size_bin_newtoff_omp.h diff --git a/src/USER-OMP/npair_half_size_bin_newton_omp.cpp b/src/OPENMP/npair_half_size_bin_newton_omp.cpp similarity index 100% rename from src/USER-OMP/npair_half_size_bin_newton_omp.cpp rename to src/OPENMP/npair_half_size_bin_newton_omp.cpp diff --git a/src/USER-OMP/npair_half_size_bin_newton_omp.h b/src/OPENMP/npair_half_size_bin_newton_omp.h similarity index 100% rename from src/USER-OMP/npair_half_size_bin_newton_omp.h rename to src/OPENMP/npair_half_size_bin_newton_omp.h diff --git a/src/USER-OMP/npair_half_size_bin_newton_tri_omp.cpp b/src/OPENMP/npair_half_size_bin_newton_tri_omp.cpp similarity index 100% rename from src/USER-OMP/npair_half_size_bin_newton_tri_omp.cpp rename to src/OPENMP/npair_half_size_bin_newton_tri_omp.cpp diff --git a/src/USER-OMP/npair_half_size_bin_newton_tri_omp.h b/src/OPENMP/npair_half_size_bin_newton_tri_omp.h similarity index 100% rename from src/USER-OMP/npair_half_size_bin_newton_tri_omp.h rename to src/OPENMP/npair_half_size_bin_newton_tri_omp.h diff --git a/src/USER-OMP/npair_half_size_multi_newtoff_omp.cpp b/src/OPENMP/npair_half_size_multi_newtoff_omp.cpp similarity index 100% rename from src/USER-OMP/npair_half_size_multi_newtoff_omp.cpp rename to src/OPENMP/npair_half_size_multi_newtoff_omp.cpp diff --git a/src/USER-OMP/npair_half_size_multi_newtoff_omp.h b/src/OPENMP/npair_half_size_multi_newtoff_omp.h similarity index 100% rename from src/USER-OMP/npair_half_size_multi_newtoff_omp.h rename to src/OPENMP/npair_half_size_multi_newtoff_omp.h diff --git a/src/USER-OMP/npair_half_size_multi_newton_omp.cpp b/src/OPENMP/npair_half_size_multi_newton_omp.cpp similarity index 100% rename from src/USER-OMP/npair_half_size_multi_newton_omp.cpp rename to src/OPENMP/npair_half_size_multi_newton_omp.cpp diff --git a/src/USER-OMP/npair_half_size_multi_newton_omp.h b/src/OPENMP/npair_half_size_multi_newton_omp.h similarity index 100% rename from src/USER-OMP/npair_half_size_multi_newton_omp.h rename to src/OPENMP/npair_half_size_multi_newton_omp.h diff --git a/src/USER-OMP/npair_half_size_multi_newton_tri_omp.cpp b/src/OPENMP/npair_half_size_multi_newton_tri_omp.cpp similarity index 100% rename from src/USER-OMP/npair_half_size_multi_newton_tri_omp.cpp rename to src/OPENMP/npair_half_size_multi_newton_tri_omp.cpp diff --git a/src/USER-OMP/npair_half_size_multi_newton_tri_omp.h b/src/OPENMP/npair_half_size_multi_newton_tri_omp.h similarity index 100% rename from src/USER-OMP/npair_half_size_multi_newton_tri_omp.h rename to src/OPENMP/npair_half_size_multi_newton_tri_omp.h diff --git a/src/USER-OMP/npair_half_size_multi_old_newtoff_omp.cpp b/src/OPENMP/npair_half_size_multi_old_newtoff_omp.cpp similarity index 100% rename from src/USER-OMP/npair_half_size_multi_old_newtoff_omp.cpp rename to src/OPENMP/npair_half_size_multi_old_newtoff_omp.cpp diff --git a/src/USER-OMP/npair_half_size_multi_old_newtoff_omp.h b/src/OPENMP/npair_half_size_multi_old_newtoff_omp.h similarity index 100% rename from src/USER-OMP/npair_half_size_multi_old_newtoff_omp.h rename to src/OPENMP/npair_half_size_multi_old_newtoff_omp.h diff --git a/src/USER-OMP/npair_half_size_multi_old_newton_omp.cpp b/src/OPENMP/npair_half_size_multi_old_newton_omp.cpp similarity index 100% rename from src/USER-OMP/npair_half_size_multi_old_newton_omp.cpp rename to src/OPENMP/npair_half_size_multi_old_newton_omp.cpp diff --git a/src/USER-OMP/npair_half_size_multi_old_newton_omp.h b/src/OPENMP/npair_half_size_multi_old_newton_omp.h similarity index 100% rename from src/USER-OMP/npair_half_size_multi_old_newton_omp.h rename to src/OPENMP/npair_half_size_multi_old_newton_omp.h diff --git a/src/USER-OMP/npair_half_size_multi_old_newton_tri_omp.cpp b/src/OPENMP/npair_half_size_multi_old_newton_tri_omp.cpp similarity index 100% rename from src/USER-OMP/npair_half_size_multi_old_newton_tri_omp.cpp rename to src/OPENMP/npair_half_size_multi_old_newton_tri_omp.cpp diff --git a/src/USER-OMP/npair_half_size_multi_old_newton_tri_omp.h b/src/OPENMP/npair_half_size_multi_old_newton_tri_omp.h similarity index 100% rename from src/USER-OMP/npair_half_size_multi_old_newton_tri_omp.h rename to src/OPENMP/npair_half_size_multi_old_newton_tri_omp.h diff --git a/src/USER-OMP/npair_half_size_nsq_newtoff_omp.cpp b/src/OPENMP/npair_half_size_nsq_newtoff_omp.cpp similarity index 100% rename from src/USER-OMP/npair_half_size_nsq_newtoff_omp.cpp rename to src/OPENMP/npair_half_size_nsq_newtoff_omp.cpp diff --git a/src/USER-OMP/npair_half_size_nsq_newtoff_omp.h b/src/OPENMP/npair_half_size_nsq_newtoff_omp.h similarity index 100% rename from src/USER-OMP/npair_half_size_nsq_newtoff_omp.h rename to src/OPENMP/npair_half_size_nsq_newtoff_omp.h diff --git a/src/USER-OMP/npair_half_size_nsq_newton_omp.cpp b/src/OPENMP/npair_half_size_nsq_newton_omp.cpp similarity index 100% rename from src/USER-OMP/npair_half_size_nsq_newton_omp.cpp rename to src/OPENMP/npair_half_size_nsq_newton_omp.cpp diff --git a/src/USER-OMP/npair_half_size_nsq_newton_omp.h b/src/OPENMP/npair_half_size_nsq_newton_omp.h similarity index 100% rename from src/USER-OMP/npair_half_size_nsq_newton_omp.h rename to src/OPENMP/npair_half_size_nsq_newton_omp.h diff --git a/src/USER-OMP/npair_halffull_newtoff_omp.cpp b/src/OPENMP/npair_halffull_newtoff_omp.cpp similarity index 100% rename from src/USER-OMP/npair_halffull_newtoff_omp.cpp rename to src/OPENMP/npair_halffull_newtoff_omp.cpp diff --git a/src/USER-OMP/npair_halffull_newtoff_omp.h b/src/OPENMP/npair_halffull_newtoff_omp.h similarity index 100% rename from src/USER-OMP/npair_halffull_newtoff_omp.h rename to src/OPENMP/npair_halffull_newtoff_omp.h diff --git a/src/USER-OMP/npair_halffull_newton_omp.cpp b/src/OPENMP/npair_halffull_newton_omp.cpp similarity index 100% rename from src/USER-OMP/npair_halffull_newton_omp.cpp rename to src/OPENMP/npair_halffull_newton_omp.cpp diff --git a/src/USER-OMP/npair_halffull_newton_omp.h b/src/OPENMP/npair_halffull_newton_omp.h similarity index 100% rename from src/USER-OMP/npair_halffull_newton_omp.h rename to src/OPENMP/npair_halffull_newton_omp.h diff --git a/src/USER-OMP/npair_omp.h b/src/OPENMP/npair_omp.h similarity index 100% rename from src/USER-OMP/npair_omp.h rename to src/OPENMP/npair_omp.h diff --git a/src/USER-OMP/npair_skip_omp.h b/src/OPENMP/npair_skip_omp.h similarity index 100% rename from src/USER-OMP/npair_skip_omp.h rename to src/OPENMP/npair_skip_omp.h diff --git a/src/USER-OMP/pair_adp_omp.cpp b/src/OPENMP/pair_adp_omp.cpp similarity index 100% rename from src/USER-OMP/pair_adp_omp.cpp rename to src/OPENMP/pair_adp_omp.cpp diff --git a/src/USER-OMP/pair_adp_omp.h b/src/OPENMP/pair_adp_omp.h similarity index 100% rename from src/USER-OMP/pair_adp_omp.h rename to src/OPENMP/pair_adp_omp.h diff --git a/src/USER-OMP/pair_agni_omp.cpp b/src/OPENMP/pair_agni_omp.cpp similarity index 100% rename from src/USER-OMP/pair_agni_omp.cpp rename to src/OPENMP/pair_agni_omp.cpp diff --git a/src/USER-OMP/pair_agni_omp.h b/src/OPENMP/pair_agni_omp.h similarity index 100% rename from src/USER-OMP/pair_agni_omp.h rename to src/OPENMP/pair_agni_omp.h diff --git a/src/USER-OMP/pair_airebo_morse_omp.cpp b/src/OPENMP/pair_airebo_morse_omp.cpp similarity index 100% rename from src/USER-OMP/pair_airebo_morse_omp.cpp rename to src/OPENMP/pair_airebo_morse_omp.cpp diff --git a/src/USER-OMP/pair_airebo_morse_omp.h b/src/OPENMP/pair_airebo_morse_omp.h similarity index 100% rename from src/USER-OMP/pair_airebo_morse_omp.h rename to src/OPENMP/pair_airebo_morse_omp.h diff --git a/src/USER-OMP/pair_airebo_omp.cpp b/src/OPENMP/pair_airebo_omp.cpp similarity index 100% rename from src/USER-OMP/pair_airebo_omp.cpp rename to src/OPENMP/pair_airebo_omp.cpp diff --git a/src/USER-OMP/pair_airebo_omp.h b/src/OPENMP/pair_airebo_omp.h similarity index 100% rename from src/USER-OMP/pair_airebo_omp.h rename to src/OPENMP/pair_airebo_omp.h diff --git a/src/USER-OMP/pair_beck_omp.cpp b/src/OPENMP/pair_beck_omp.cpp similarity index 100% rename from src/USER-OMP/pair_beck_omp.cpp rename to src/OPENMP/pair_beck_omp.cpp diff --git a/src/USER-OMP/pair_beck_omp.h b/src/OPENMP/pair_beck_omp.h similarity index 100% rename from src/USER-OMP/pair_beck_omp.h rename to src/OPENMP/pair_beck_omp.h diff --git a/src/USER-OMP/pair_born_coul_long_omp.cpp b/src/OPENMP/pair_born_coul_long_omp.cpp similarity index 100% rename from src/USER-OMP/pair_born_coul_long_omp.cpp rename to src/OPENMP/pair_born_coul_long_omp.cpp diff --git a/src/USER-OMP/pair_born_coul_long_omp.h b/src/OPENMP/pair_born_coul_long_omp.h similarity index 100% rename from src/USER-OMP/pair_born_coul_long_omp.h rename to src/OPENMP/pair_born_coul_long_omp.h diff --git a/src/USER-OMP/pair_born_coul_msm_omp.cpp b/src/OPENMP/pair_born_coul_msm_omp.cpp similarity index 100% rename from src/USER-OMP/pair_born_coul_msm_omp.cpp rename to src/OPENMP/pair_born_coul_msm_omp.cpp diff --git a/src/USER-OMP/pair_born_coul_msm_omp.h b/src/OPENMP/pair_born_coul_msm_omp.h similarity index 100% rename from src/USER-OMP/pair_born_coul_msm_omp.h rename to src/OPENMP/pair_born_coul_msm_omp.h diff --git a/src/USER-OMP/pair_born_coul_wolf_omp.cpp b/src/OPENMP/pair_born_coul_wolf_omp.cpp similarity index 100% rename from src/USER-OMP/pair_born_coul_wolf_omp.cpp rename to src/OPENMP/pair_born_coul_wolf_omp.cpp diff --git a/src/USER-OMP/pair_born_coul_wolf_omp.h b/src/OPENMP/pair_born_coul_wolf_omp.h similarity index 100% rename from src/USER-OMP/pair_born_coul_wolf_omp.h rename to src/OPENMP/pair_born_coul_wolf_omp.h diff --git a/src/USER-OMP/pair_born_omp.cpp b/src/OPENMP/pair_born_omp.cpp similarity index 100% rename from src/USER-OMP/pair_born_omp.cpp rename to src/OPENMP/pair_born_omp.cpp diff --git a/src/USER-OMP/pair_born_omp.h b/src/OPENMP/pair_born_omp.h similarity index 100% rename from src/USER-OMP/pair_born_omp.h rename to src/OPENMP/pair_born_omp.h diff --git a/src/USER-OMP/pair_brownian_omp.cpp b/src/OPENMP/pair_brownian_omp.cpp similarity index 100% rename from src/USER-OMP/pair_brownian_omp.cpp rename to src/OPENMP/pair_brownian_omp.cpp diff --git a/src/USER-OMP/pair_brownian_omp.h b/src/OPENMP/pair_brownian_omp.h similarity index 100% rename from src/USER-OMP/pair_brownian_omp.h rename to src/OPENMP/pair_brownian_omp.h diff --git a/src/USER-OMP/pair_brownian_poly_omp.cpp b/src/OPENMP/pair_brownian_poly_omp.cpp similarity index 100% rename from src/USER-OMP/pair_brownian_poly_omp.cpp rename to src/OPENMP/pair_brownian_poly_omp.cpp diff --git a/src/USER-OMP/pair_brownian_poly_omp.h b/src/OPENMP/pair_brownian_poly_omp.h similarity index 100% rename from src/USER-OMP/pair_brownian_poly_omp.h rename to src/OPENMP/pair_brownian_poly_omp.h diff --git a/src/USER-OMP/pair_buck_coul_cut_omp.cpp b/src/OPENMP/pair_buck_coul_cut_omp.cpp similarity index 100% rename from src/USER-OMP/pair_buck_coul_cut_omp.cpp rename to src/OPENMP/pair_buck_coul_cut_omp.cpp diff --git a/src/USER-OMP/pair_buck_coul_cut_omp.h b/src/OPENMP/pair_buck_coul_cut_omp.h similarity index 100% rename from src/USER-OMP/pair_buck_coul_cut_omp.h rename to src/OPENMP/pair_buck_coul_cut_omp.h diff --git a/src/USER-OMP/pair_buck_coul_long_omp.cpp b/src/OPENMP/pair_buck_coul_long_omp.cpp similarity index 100% rename from src/USER-OMP/pair_buck_coul_long_omp.cpp rename to src/OPENMP/pair_buck_coul_long_omp.cpp diff --git a/src/USER-OMP/pair_buck_coul_long_omp.h b/src/OPENMP/pair_buck_coul_long_omp.h similarity index 100% rename from src/USER-OMP/pair_buck_coul_long_omp.h rename to src/OPENMP/pair_buck_coul_long_omp.h diff --git a/src/USER-OMP/pair_buck_coul_msm_omp.cpp b/src/OPENMP/pair_buck_coul_msm_omp.cpp similarity index 100% rename from src/USER-OMP/pair_buck_coul_msm_omp.cpp rename to src/OPENMP/pair_buck_coul_msm_omp.cpp diff --git a/src/USER-OMP/pair_buck_coul_msm_omp.h b/src/OPENMP/pair_buck_coul_msm_omp.h similarity index 100% rename from src/USER-OMP/pair_buck_coul_msm_omp.h rename to src/OPENMP/pair_buck_coul_msm_omp.h diff --git a/src/USER-OMP/pair_buck_long_coul_long_omp.cpp b/src/OPENMP/pair_buck_long_coul_long_omp.cpp similarity index 100% rename from src/USER-OMP/pair_buck_long_coul_long_omp.cpp rename to src/OPENMP/pair_buck_long_coul_long_omp.cpp diff --git a/src/USER-OMP/pair_buck_long_coul_long_omp.h b/src/OPENMP/pair_buck_long_coul_long_omp.h similarity index 100% rename from src/USER-OMP/pair_buck_long_coul_long_omp.h rename to src/OPENMP/pair_buck_long_coul_long_omp.h diff --git a/src/USER-OMP/pair_buck_omp.cpp b/src/OPENMP/pair_buck_omp.cpp similarity index 100% rename from src/USER-OMP/pair_buck_omp.cpp rename to src/OPENMP/pair_buck_omp.cpp diff --git a/src/USER-OMP/pair_buck_omp.h b/src/OPENMP/pair_buck_omp.h similarity index 100% rename from src/USER-OMP/pair_buck_omp.h rename to src/OPENMP/pair_buck_omp.h diff --git a/src/USER-OMP/pair_colloid_omp.cpp b/src/OPENMP/pair_colloid_omp.cpp similarity index 100% rename from src/USER-OMP/pair_colloid_omp.cpp rename to src/OPENMP/pair_colloid_omp.cpp diff --git a/src/USER-OMP/pair_colloid_omp.h b/src/OPENMP/pair_colloid_omp.h similarity index 100% rename from src/USER-OMP/pair_colloid_omp.h rename to src/OPENMP/pair_colloid_omp.h diff --git a/src/USER-OMP/pair_comb_omp.cpp b/src/OPENMP/pair_comb_omp.cpp similarity index 100% rename from src/USER-OMP/pair_comb_omp.cpp rename to src/OPENMP/pair_comb_omp.cpp diff --git a/src/USER-OMP/pair_comb_omp.h b/src/OPENMP/pair_comb_omp.h similarity index 100% rename from src/USER-OMP/pair_comb_omp.h rename to src/OPENMP/pair_comb_omp.h diff --git a/src/USER-OMP/pair_coul_cut_global_omp.cpp b/src/OPENMP/pair_coul_cut_global_omp.cpp similarity index 100% rename from src/USER-OMP/pair_coul_cut_global_omp.cpp rename to src/OPENMP/pair_coul_cut_global_omp.cpp diff --git a/src/USER-OMP/pair_coul_cut_global_omp.h b/src/OPENMP/pair_coul_cut_global_omp.h similarity index 100% rename from src/USER-OMP/pair_coul_cut_global_omp.h rename to src/OPENMP/pair_coul_cut_global_omp.h diff --git a/src/USER-OMP/pair_coul_cut_omp.cpp b/src/OPENMP/pair_coul_cut_omp.cpp similarity index 100% rename from src/USER-OMP/pair_coul_cut_omp.cpp rename to src/OPENMP/pair_coul_cut_omp.cpp diff --git a/src/USER-OMP/pair_coul_cut_omp.h b/src/OPENMP/pair_coul_cut_omp.h similarity index 100% rename from src/USER-OMP/pair_coul_cut_omp.h rename to src/OPENMP/pair_coul_cut_omp.h diff --git a/src/USER-OMP/pair_coul_cut_soft_omp.cpp b/src/OPENMP/pair_coul_cut_soft_omp.cpp similarity index 100% rename from src/USER-OMP/pair_coul_cut_soft_omp.cpp rename to src/OPENMP/pair_coul_cut_soft_omp.cpp diff --git a/src/USER-OMP/pair_coul_cut_soft_omp.h b/src/OPENMP/pair_coul_cut_soft_omp.h similarity index 100% rename from src/USER-OMP/pair_coul_cut_soft_omp.h rename to src/OPENMP/pair_coul_cut_soft_omp.h diff --git a/src/USER-OMP/pair_coul_debye_omp.cpp b/src/OPENMP/pair_coul_debye_omp.cpp similarity index 100% rename from src/USER-OMP/pair_coul_debye_omp.cpp rename to src/OPENMP/pair_coul_debye_omp.cpp diff --git a/src/USER-OMP/pair_coul_debye_omp.h b/src/OPENMP/pair_coul_debye_omp.h similarity index 100% rename from src/USER-OMP/pair_coul_debye_omp.h rename to src/OPENMP/pair_coul_debye_omp.h diff --git a/src/USER-OMP/pair_coul_diel_omp.cpp b/src/OPENMP/pair_coul_diel_omp.cpp similarity index 100% rename from src/USER-OMP/pair_coul_diel_omp.cpp rename to src/OPENMP/pair_coul_diel_omp.cpp diff --git a/src/USER-OMP/pair_coul_diel_omp.h b/src/OPENMP/pair_coul_diel_omp.h similarity index 100% rename from src/USER-OMP/pair_coul_diel_omp.h rename to src/OPENMP/pair_coul_diel_omp.h diff --git a/src/USER-OMP/pair_coul_dsf_omp.cpp b/src/OPENMP/pair_coul_dsf_omp.cpp similarity index 100% rename from src/USER-OMP/pair_coul_dsf_omp.cpp rename to src/OPENMP/pair_coul_dsf_omp.cpp diff --git a/src/USER-OMP/pair_coul_dsf_omp.h b/src/OPENMP/pair_coul_dsf_omp.h similarity index 100% rename from src/USER-OMP/pair_coul_dsf_omp.h rename to src/OPENMP/pair_coul_dsf_omp.h diff --git a/src/USER-OMP/pair_coul_long_omp.cpp b/src/OPENMP/pair_coul_long_omp.cpp similarity index 100% rename from src/USER-OMP/pair_coul_long_omp.cpp rename to src/OPENMP/pair_coul_long_omp.cpp diff --git a/src/USER-OMP/pair_coul_long_omp.h b/src/OPENMP/pair_coul_long_omp.h similarity index 100% rename from src/USER-OMP/pair_coul_long_omp.h rename to src/OPENMP/pair_coul_long_omp.h diff --git a/src/USER-OMP/pair_coul_long_soft_omp.cpp b/src/OPENMP/pair_coul_long_soft_omp.cpp similarity index 100% rename from src/USER-OMP/pair_coul_long_soft_omp.cpp rename to src/OPENMP/pair_coul_long_soft_omp.cpp diff --git a/src/USER-OMP/pair_coul_long_soft_omp.h b/src/OPENMP/pair_coul_long_soft_omp.h similarity index 100% rename from src/USER-OMP/pair_coul_long_soft_omp.h rename to src/OPENMP/pair_coul_long_soft_omp.h diff --git a/src/USER-OMP/pair_coul_msm_omp.cpp b/src/OPENMP/pair_coul_msm_omp.cpp similarity index 100% rename from src/USER-OMP/pair_coul_msm_omp.cpp rename to src/OPENMP/pair_coul_msm_omp.cpp diff --git a/src/USER-OMP/pair_coul_msm_omp.h b/src/OPENMP/pair_coul_msm_omp.h similarity index 100% rename from src/USER-OMP/pair_coul_msm_omp.h rename to src/OPENMP/pair_coul_msm_omp.h diff --git a/src/USER-OMP/pair_coul_wolf_omp.cpp b/src/OPENMP/pair_coul_wolf_omp.cpp similarity index 100% rename from src/USER-OMP/pair_coul_wolf_omp.cpp rename to src/OPENMP/pair_coul_wolf_omp.cpp diff --git a/src/USER-OMP/pair_coul_wolf_omp.h b/src/OPENMP/pair_coul_wolf_omp.h similarity index 100% rename from src/USER-OMP/pair_coul_wolf_omp.h rename to src/OPENMP/pair_coul_wolf_omp.h diff --git a/src/USER-OMP/pair_dpd_omp.cpp b/src/OPENMP/pair_dpd_omp.cpp similarity index 100% rename from src/USER-OMP/pair_dpd_omp.cpp rename to src/OPENMP/pair_dpd_omp.cpp diff --git a/src/USER-OMP/pair_dpd_omp.h b/src/OPENMP/pair_dpd_omp.h similarity index 100% rename from src/USER-OMP/pair_dpd_omp.h rename to src/OPENMP/pair_dpd_omp.h diff --git a/src/USER-OMP/pair_dpd_tstat_omp.cpp b/src/OPENMP/pair_dpd_tstat_omp.cpp similarity index 100% rename from src/USER-OMP/pair_dpd_tstat_omp.cpp rename to src/OPENMP/pair_dpd_tstat_omp.cpp diff --git a/src/USER-OMP/pair_dpd_tstat_omp.h b/src/OPENMP/pair_dpd_tstat_omp.h similarity index 100% rename from src/USER-OMP/pair_dpd_tstat_omp.h rename to src/OPENMP/pair_dpd_tstat_omp.h diff --git a/src/USER-OMP/pair_eam_alloy_omp.cpp b/src/OPENMP/pair_eam_alloy_omp.cpp similarity index 100% rename from src/USER-OMP/pair_eam_alloy_omp.cpp rename to src/OPENMP/pair_eam_alloy_omp.cpp diff --git a/src/USER-OMP/pair_eam_alloy_omp.h b/src/OPENMP/pair_eam_alloy_omp.h similarity index 100% rename from src/USER-OMP/pair_eam_alloy_omp.h rename to src/OPENMP/pair_eam_alloy_omp.h diff --git a/src/USER-OMP/pair_eam_fs_omp.cpp b/src/OPENMP/pair_eam_fs_omp.cpp similarity index 100% rename from src/USER-OMP/pair_eam_fs_omp.cpp rename to src/OPENMP/pair_eam_fs_omp.cpp diff --git a/src/USER-OMP/pair_eam_fs_omp.h b/src/OPENMP/pair_eam_fs_omp.h similarity index 100% rename from src/USER-OMP/pair_eam_fs_omp.h rename to src/OPENMP/pair_eam_fs_omp.h diff --git a/src/USER-OMP/pair_eam_omp.cpp b/src/OPENMP/pair_eam_omp.cpp similarity index 100% rename from src/USER-OMP/pair_eam_omp.cpp rename to src/OPENMP/pair_eam_omp.cpp diff --git a/src/USER-OMP/pair_eam_omp.h b/src/OPENMP/pair_eam_omp.h similarity index 100% rename from src/USER-OMP/pair_eam_omp.h rename to src/OPENMP/pair_eam_omp.h diff --git a/src/USER-OMP/pair_edip_omp.cpp b/src/OPENMP/pair_edip_omp.cpp similarity index 100% rename from src/USER-OMP/pair_edip_omp.cpp rename to src/OPENMP/pair_edip_omp.cpp diff --git a/src/USER-OMP/pair_edip_omp.h b/src/OPENMP/pair_edip_omp.h similarity index 100% rename from src/USER-OMP/pair_edip_omp.h rename to src/OPENMP/pair_edip_omp.h diff --git a/src/USER-OMP/pair_eim_omp.cpp b/src/OPENMP/pair_eim_omp.cpp similarity index 100% rename from src/USER-OMP/pair_eim_omp.cpp rename to src/OPENMP/pair_eim_omp.cpp diff --git a/src/USER-OMP/pair_eim_omp.h b/src/OPENMP/pair_eim_omp.h similarity index 100% rename from src/USER-OMP/pair_eim_omp.h rename to src/OPENMP/pair_eim_omp.h diff --git a/src/USER-OMP/pair_gauss_cut_omp.cpp b/src/OPENMP/pair_gauss_cut_omp.cpp similarity index 100% rename from src/USER-OMP/pair_gauss_cut_omp.cpp rename to src/OPENMP/pair_gauss_cut_omp.cpp diff --git a/src/USER-OMP/pair_gauss_cut_omp.h b/src/OPENMP/pair_gauss_cut_omp.h similarity index 100% rename from src/USER-OMP/pair_gauss_cut_omp.h rename to src/OPENMP/pair_gauss_cut_omp.h diff --git a/src/USER-OMP/pair_gauss_omp.cpp b/src/OPENMP/pair_gauss_omp.cpp similarity index 100% rename from src/USER-OMP/pair_gauss_omp.cpp rename to src/OPENMP/pair_gauss_omp.cpp diff --git a/src/USER-OMP/pair_gauss_omp.h b/src/OPENMP/pair_gauss_omp.h similarity index 100% rename from src/USER-OMP/pair_gauss_omp.h rename to src/OPENMP/pair_gauss_omp.h diff --git a/src/USER-OMP/pair_gayberne_omp.cpp b/src/OPENMP/pair_gayberne_omp.cpp similarity index 100% rename from src/USER-OMP/pair_gayberne_omp.cpp rename to src/OPENMP/pair_gayberne_omp.cpp diff --git a/src/USER-OMP/pair_gayberne_omp.h b/src/OPENMP/pair_gayberne_omp.h similarity index 100% rename from src/USER-OMP/pair_gayberne_omp.h rename to src/OPENMP/pair_gayberne_omp.h diff --git a/src/USER-OMP/pair_gran_hertz_history_omp.cpp b/src/OPENMP/pair_gran_hertz_history_omp.cpp similarity index 100% rename from src/USER-OMP/pair_gran_hertz_history_omp.cpp rename to src/OPENMP/pair_gran_hertz_history_omp.cpp diff --git a/src/USER-OMP/pair_gran_hertz_history_omp.h b/src/OPENMP/pair_gran_hertz_history_omp.h similarity index 100% rename from src/USER-OMP/pair_gran_hertz_history_omp.h rename to src/OPENMP/pair_gran_hertz_history_omp.h diff --git a/src/USER-OMP/pair_gran_hooke_history_omp.cpp b/src/OPENMP/pair_gran_hooke_history_omp.cpp similarity index 100% rename from src/USER-OMP/pair_gran_hooke_history_omp.cpp rename to src/OPENMP/pair_gran_hooke_history_omp.cpp diff --git a/src/USER-OMP/pair_gran_hooke_history_omp.h b/src/OPENMP/pair_gran_hooke_history_omp.h similarity index 100% rename from src/USER-OMP/pair_gran_hooke_history_omp.h rename to src/OPENMP/pair_gran_hooke_history_omp.h diff --git a/src/USER-OMP/pair_gran_hooke_omp.cpp b/src/OPENMP/pair_gran_hooke_omp.cpp similarity index 100% rename from src/USER-OMP/pair_gran_hooke_omp.cpp rename to src/OPENMP/pair_gran_hooke_omp.cpp diff --git a/src/USER-OMP/pair_gran_hooke_omp.h b/src/OPENMP/pair_gran_hooke_omp.h similarity index 100% rename from src/USER-OMP/pair_gran_hooke_omp.h rename to src/OPENMP/pair_gran_hooke_omp.h diff --git a/src/USER-OMP/pair_hbond_dreiding_lj_omp.cpp b/src/OPENMP/pair_hbond_dreiding_lj_omp.cpp similarity index 100% rename from src/USER-OMP/pair_hbond_dreiding_lj_omp.cpp rename to src/OPENMP/pair_hbond_dreiding_lj_omp.cpp diff --git a/src/USER-OMP/pair_hbond_dreiding_lj_omp.h b/src/OPENMP/pair_hbond_dreiding_lj_omp.h similarity index 100% rename from src/USER-OMP/pair_hbond_dreiding_lj_omp.h rename to src/OPENMP/pair_hbond_dreiding_lj_omp.h diff --git a/src/USER-OMP/pair_hbond_dreiding_morse_omp.cpp b/src/OPENMP/pair_hbond_dreiding_morse_omp.cpp similarity index 100% rename from src/USER-OMP/pair_hbond_dreiding_morse_omp.cpp rename to src/OPENMP/pair_hbond_dreiding_morse_omp.cpp diff --git a/src/USER-OMP/pair_hbond_dreiding_morse_omp.h b/src/OPENMP/pair_hbond_dreiding_morse_omp.h similarity index 100% rename from src/USER-OMP/pair_hbond_dreiding_morse_omp.h rename to src/OPENMP/pair_hbond_dreiding_morse_omp.h diff --git a/src/USER-OMP/pair_lj96_cut_omp.cpp b/src/OPENMP/pair_lj96_cut_omp.cpp similarity index 100% rename from src/USER-OMP/pair_lj96_cut_omp.cpp rename to src/OPENMP/pair_lj96_cut_omp.cpp diff --git a/src/USER-OMP/pair_lj96_cut_omp.h b/src/OPENMP/pair_lj96_cut_omp.h similarity index 100% rename from src/USER-OMP/pair_lj96_cut_omp.h rename to src/OPENMP/pair_lj96_cut_omp.h diff --git a/src/USER-OMP/pair_lj_charmm_coul_charmm_implicit_omp.cpp b/src/OPENMP/pair_lj_charmm_coul_charmm_implicit_omp.cpp similarity index 100% rename from src/USER-OMP/pair_lj_charmm_coul_charmm_implicit_omp.cpp rename to src/OPENMP/pair_lj_charmm_coul_charmm_implicit_omp.cpp diff --git a/src/USER-OMP/pair_lj_charmm_coul_charmm_implicit_omp.h b/src/OPENMP/pair_lj_charmm_coul_charmm_implicit_omp.h similarity index 100% rename from src/USER-OMP/pair_lj_charmm_coul_charmm_implicit_omp.h rename to src/OPENMP/pair_lj_charmm_coul_charmm_implicit_omp.h diff --git a/src/USER-OMP/pair_lj_charmm_coul_charmm_omp.cpp b/src/OPENMP/pair_lj_charmm_coul_charmm_omp.cpp similarity index 100% rename from src/USER-OMP/pair_lj_charmm_coul_charmm_omp.cpp rename to src/OPENMP/pair_lj_charmm_coul_charmm_omp.cpp diff --git a/src/USER-OMP/pair_lj_charmm_coul_charmm_omp.h b/src/OPENMP/pair_lj_charmm_coul_charmm_omp.h similarity index 100% rename from src/USER-OMP/pair_lj_charmm_coul_charmm_omp.h rename to src/OPENMP/pair_lj_charmm_coul_charmm_omp.h diff --git a/src/USER-OMP/pair_lj_charmm_coul_long_omp.cpp b/src/OPENMP/pair_lj_charmm_coul_long_omp.cpp similarity index 100% rename from src/USER-OMP/pair_lj_charmm_coul_long_omp.cpp rename to src/OPENMP/pair_lj_charmm_coul_long_omp.cpp diff --git a/src/USER-OMP/pair_lj_charmm_coul_long_omp.h b/src/OPENMP/pair_lj_charmm_coul_long_omp.h similarity index 100% rename from src/USER-OMP/pair_lj_charmm_coul_long_omp.h rename to src/OPENMP/pair_lj_charmm_coul_long_omp.h diff --git a/src/USER-OMP/pair_lj_charmm_coul_long_soft_omp.cpp b/src/OPENMP/pair_lj_charmm_coul_long_soft_omp.cpp similarity index 100% rename from src/USER-OMP/pair_lj_charmm_coul_long_soft_omp.cpp rename to src/OPENMP/pair_lj_charmm_coul_long_soft_omp.cpp diff --git a/src/USER-OMP/pair_lj_charmm_coul_long_soft_omp.h b/src/OPENMP/pair_lj_charmm_coul_long_soft_omp.h similarity index 100% rename from src/USER-OMP/pair_lj_charmm_coul_long_soft_omp.h rename to src/OPENMP/pair_lj_charmm_coul_long_soft_omp.h diff --git a/src/USER-OMP/pair_lj_charmm_coul_msm_omp.cpp b/src/OPENMP/pair_lj_charmm_coul_msm_omp.cpp similarity index 100% rename from src/USER-OMP/pair_lj_charmm_coul_msm_omp.cpp rename to src/OPENMP/pair_lj_charmm_coul_msm_omp.cpp diff --git a/src/USER-OMP/pair_lj_charmm_coul_msm_omp.h b/src/OPENMP/pair_lj_charmm_coul_msm_omp.h similarity index 100% rename from src/USER-OMP/pair_lj_charmm_coul_msm_omp.h rename to src/OPENMP/pair_lj_charmm_coul_msm_omp.h diff --git a/src/USER-OMP/pair_lj_class2_coul_cut_omp.cpp b/src/OPENMP/pair_lj_class2_coul_cut_omp.cpp similarity index 100% rename from src/USER-OMP/pair_lj_class2_coul_cut_omp.cpp rename to src/OPENMP/pair_lj_class2_coul_cut_omp.cpp diff --git a/src/USER-OMP/pair_lj_class2_coul_cut_omp.h b/src/OPENMP/pair_lj_class2_coul_cut_omp.h similarity index 100% rename from src/USER-OMP/pair_lj_class2_coul_cut_omp.h rename to src/OPENMP/pair_lj_class2_coul_cut_omp.h diff --git a/src/USER-OMP/pair_lj_class2_coul_long_omp.cpp b/src/OPENMP/pair_lj_class2_coul_long_omp.cpp similarity index 100% rename from src/USER-OMP/pair_lj_class2_coul_long_omp.cpp rename to src/OPENMP/pair_lj_class2_coul_long_omp.cpp diff --git a/src/USER-OMP/pair_lj_class2_coul_long_omp.h b/src/OPENMP/pair_lj_class2_coul_long_omp.h similarity index 100% rename from src/USER-OMP/pair_lj_class2_coul_long_omp.h rename to src/OPENMP/pair_lj_class2_coul_long_omp.h diff --git a/src/USER-OMP/pair_lj_class2_omp.cpp b/src/OPENMP/pair_lj_class2_omp.cpp similarity index 100% rename from src/USER-OMP/pair_lj_class2_omp.cpp rename to src/OPENMP/pair_lj_class2_omp.cpp diff --git a/src/USER-OMP/pair_lj_class2_omp.h b/src/OPENMP/pair_lj_class2_omp.h similarity index 100% rename from src/USER-OMP/pair_lj_class2_omp.h rename to src/OPENMP/pair_lj_class2_omp.h diff --git a/src/USER-OMP/pair_lj_cubic_omp.cpp b/src/OPENMP/pair_lj_cubic_omp.cpp similarity index 100% rename from src/USER-OMP/pair_lj_cubic_omp.cpp rename to src/OPENMP/pair_lj_cubic_omp.cpp diff --git a/src/USER-OMP/pair_lj_cubic_omp.h b/src/OPENMP/pair_lj_cubic_omp.h similarity index 100% rename from src/USER-OMP/pair_lj_cubic_omp.h rename to src/OPENMP/pair_lj_cubic_omp.h diff --git a/src/USER-OMP/pair_lj_cut_coul_cut_dielectric_omp.cpp b/src/OPENMP/pair_lj_cut_coul_cut_dielectric_omp.cpp similarity index 100% rename from src/USER-OMP/pair_lj_cut_coul_cut_dielectric_omp.cpp rename to src/OPENMP/pair_lj_cut_coul_cut_dielectric_omp.cpp diff --git a/src/USER-OMP/pair_lj_cut_coul_cut_dielectric_omp.h b/src/OPENMP/pair_lj_cut_coul_cut_dielectric_omp.h similarity index 100% rename from src/USER-OMP/pair_lj_cut_coul_cut_dielectric_omp.h rename to src/OPENMP/pair_lj_cut_coul_cut_dielectric_omp.h diff --git a/src/USER-OMP/pair_lj_cut_coul_cut_omp.cpp b/src/OPENMP/pair_lj_cut_coul_cut_omp.cpp similarity index 100% rename from src/USER-OMP/pair_lj_cut_coul_cut_omp.cpp rename to src/OPENMP/pair_lj_cut_coul_cut_omp.cpp diff --git a/src/USER-OMP/pair_lj_cut_coul_cut_omp.h b/src/OPENMP/pair_lj_cut_coul_cut_omp.h similarity index 100% rename from src/USER-OMP/pair_lj_cut_coul_cut_omp.h rename to src/OPENMP/pair_lj_cut_coul_cut_omp.h diff --git a/src/USER-OMP/pair_lj_cut_coul_cut_soft_omp.cpp b/src/OPENMP/pair_lj_cut_coul_cut_soft_omp.cpp similarity index 100% rename from src/USER-OMP/pair_lj_cut_coul_cut_soft_omp.cpp rename to src/OPENMP/pair_lj_cut_coul_cut_soft_omp.cpp diff --git a/src/USER-OMP/pair_lj_cut_coul_cut_soft_omp.h b/src/OPENMP/pair_lj_cut_coul_cut_soft_omp.h similarity index 100% rename from src/USER-OMP/pair_lj_cut_coul_cut_soft_omp.h rename to src/OPENMP/pair_lj_cut_coul_cut_soft_omp.h diff --git a/src/USER-OMP/pair_lj_cut_coul_debye_omp.cpp b/src/OPENMP/pair_lj_cut_coul_debye_omp.cpp similarity index 100% rename from src/USER-OMP/pair_lj_cut_coul_debye_omp.cpp rename to src/OPENMP/pair_lj_cut_coul_debye_omp.cpp diff --git a/src/USER-OMP/pair_lj_cut_coul_debye_omp.h b/src/OPENMP/pair_lj_cut_coul_debye_omp.h similarity index 100% rename from src/USER-OMP/pair_lj_cut_coul_debye_omp.h rename to src/OPENMP/pair_lj_cut_coul_debye_omp.h diff --git a/src/USER-OMP/pair_lj_cut_coul_dsf_omp.cpp b/src/OPENMP/pair_lj_cut_coul_dsf_omp.cpp similarity index 100% rename from src/USER-OMP/pair_lj_cut_coul_dsf_omp.cpp rename to src/OPENMP/pair_lj_cut_coul_dsf_omp.cpp diff --git a/src/USER-OMP/pair_lj_cut_coul_dsf_omp.h b/src/OPENMP/pair_lj_cut_coul_dsf_omp.h similarity index 100% rename from src/USER-OMP/pair_lj_cut_coul_dsf_omp.h rename to src/OPENMP/pair_lj_cut_coul_dsf_omp.h diff --git a/src/USER-OMP/pair_lj_cut_coul_long_dielectric_omp.cpp b/src/OPENMP/pair_lj_cut_coul_long_dielectric_omp.cpp similarity index 100% rename from src/USER-OMP/pair_lj_cut_coul_long_dielectric_omp.cpp rename to src/OPENMP/pair_lj_cut_coul_long_dielectric_omp.cpp diff --git a/src/USER-OMP/pair_lj_cut_coul_long_dielectric_omp.h b/src/OPENMP/pair_lj_cut_coul_long_dielectric_omp.h similarity index 100% rename from src/USER-OMP/pair_lj_cut_coul_long_dielectric_omp.h rename to src/OPENMP/pair_lj_cut_coul_long_dielectric_omp.h diff --git a/src/USER-OMP/pair_lj_cut_coul_long_omp.cpp b/src/OPENMP/pair_lj_cut_coul_long_omp.cpp similarity index 100% rename from src/USER-OMP/pair_lj_cut_coul_long_omp.cpp rename to src/OPENMP/pair_lj_cut_coul_long_omp.cpp diff --git a/src/USER-OMP/pair_lj_cut_coul_long_omp.h b/src/OPENMP/pair_lj_cut_coul_long_omp.h similarity index 100% rename from src/USER-OMP/pair_lj_cut_coul_long_omp.h rename to src/OPENMP/pair_lj_cut_coul_long_omp.h diff --git a/src/USER-OMP/pair_lj_cut_coul_long_soft_omp.cpp b/src/OPENMP/pair_lj_cut_coul_long_soft_omp.cpp similarity index 100% rename from src/USER-OMP/pair_lj_cut_coul_long_soft_omp.cpp rename to src/OPENMP/pair_lj_cut_coul_long_soft_omp.cpp diff --git a/src/USER-OMP/pair_lj_cut_coul_long_soft_omp.h b/src/OPENMP/pair_lj_cut_coul_long_soft_omp.h similarity index 100% rename from src/USER-OMP/pair_lj_cut_coul_long_soft_omp.h rename to src/OPENMP/pair_lj_cut_coul_long_soft_omp.h diff --git a/src/USER-OMP/pair_lj_cut_coul_msm_omp.cpp b/src/OPENMP/pair_lj_cut_coul_msm_omp.cpp similarity index 100% rename from src/USER-OMP/pair_lj_cut_coul_msm_omp.cpp rename to src/OPENMP/pair_lj_cut_coul_msm_omp.cpp diff --git a/src/USER-OMP/pair_lj_cut_coul_msm_omp.h b/src/OPENMP/pair_lj_cut_coul_msm_omp.h similarity index 100% rename from src/USER-OMP/pair_lj_cut_coul_msm_omp.h rename to src/OPENMP/pair_lj_cut_coul_msm_omp.h diff --git a/src/USER-OMP/pair_lj_cut_coul_wolf_omp.cpp b/src/OPENMP/pair_lj_cut_coul_wolf_omp.cpp similarity index 100% rename from src/USER-OMP/pair_lj_cut_coul_wolf_omp.cpp rename to src/OPENMP/pair_lj_cut_coul_wolf_omp.cpp diff --git a/src/USER-OMP/pair_lj_cut_coul_wolf_omp.h b/src/OPENMP/pair_lj_cut_coul_wolf_omp.h similarity index 100% rename from src/USER-OMP/pair_lj_cut_coul_wolf_omp.h rename to src/OPENMP/pair_lj_cut_coul_wolf_omp.h diff --git a/src/USER-OMP/pair_lj_cut_dipole_cut_omp.cpp b/src/OPENMP/pair_lj_cut_dipole_cut_omp.cpp similarity index 100% rename from src/USER-OMP/pair_lj_cut_dipole_cut_omp.cpp rename to src/OPENMP/pair_lj_cut_dipole_cut_omp.cpp diff --git a/src/USER-OMP/pair_lj_cut_dipole_cut_omp.h b/src/OPENMP/pair_lj_cut_dipole_cut_omp.h similarity index 100% rename from src/USER-OMP/pair_lj_cut_dipole_cut_omp.h rename to src/OPENMP/pair_lj_cut_dipole_cut_omp.h diff --git a/src/USER-OMP/pair_lj_cut_omp.cpp b/src/OPENMP/pair_lj_cut_omp.cpp similarity index 100% rename from src/USER-OMP/pair_lj_cut_omp.cpp rename to src/OPENMP/pair_lj_cut_omp.cpp diff --git a/src/USER-OMP/pair_lj_cut_omp.h b/src/OPENMP/pair_lj_cut_omp.h similarity index 100% rename from src/USER-OMP/pair_lj_cut_omp.h rename to src/OPENMP/pair_lj_cut_omp.h diff --git a/src/USER-OMP/pair_lj_cut_soft_omp.cpp b/src/OPENMP/pair_lj_cut_soft_omp.cpp similarity index 100% rename from src/USER-OMP/pair_lj_cut_soft_omp.cpp rename to src/OPENMP/pair_lj_cut_soft_omp.cpp diff --git a/src/USER-OMP/pair_lj_cut_soft_omp.h b/src/OPENMP/pair_lj_cut_soft_omp.h similarity index 100% rename from src/USER-OMP/pair_lj_cut_soft_omp.h rename to src/OPENMP/pair_lj_cut_soft_omp.h diff --git a/src/USER-OMP/pair_lj_cut_thole_long_omp.cpp b/src/OPENMP/pair_lj_cut_thole_long_omp.cpp similarity index 100% rename from src/USER-OMP/pair_lj_cut_thole_long_omp.cpp rename to src/OPENMP/pair_lj_cut_thole_long_omp.cpp diff --git a/src/USER-OMP/pair_lj_cut_thole_long_omp.h b/src/OPENMP/pair_lj_cut_thole_long_omp.h similarity index 100% rename from src/USER-OMP/pair_lj_cut_thole_long_omp.h rename to src/OPENMP/pair_lj_cut_thole_long_omp.h diff --git a/src/USER-OMP/pair_lj_cut_tip4p_cut_omp.cpp b/src/OPENMP/pair_lj_cut_tip4p_cut_omp.cpp similarity index 100% rename from src/USER-OMP/pair_lj_cut_tip4p_cut_omp.cpp rename to src/OPENMP/pair_lj_cut_tip4p_cut_omp.cpp diff --git a/src/USER-OMP/pair_lj_cut_tip4p_cut_omp.h b/src/OPENMP/pair_lj_cut_tip4p_cut_omp.h similarity index 100% rename from src/USER-OMP/pair_lj_cut_tip4p_cut_omp.h rename to src/OPENMP/pair_lj_cut_tip4p_cut_omp.h diff --git a/src/USER-OMP/pair_lj_cut_tip4p_long_omp.cpp b/src/OPENMP/pair_lj_cut_tip4p_long_omp.cpp similarity index 100% rename from src/USER-OMP/pair_lj_cut_tip4p_long_omp.cpp rename to src/OPENMP/pair_lj_cut_tip4p_long_omp.cpp diff --git a/src/USER-OMP/pair_lj_cut_tip4p_long_omp.h b/src/OPENMP/pair_lj_cut_tip4p_long_omp.h similarity index 100% rename from src/USER-OMP/pair_lj_cut_tip4p_long_omp.h rename to src/OPENMP/pair_lj_cut_tip4p_long_omp.h diff --git a/src/USER-OMP/pair_lj_cut_tip4p_long_soft_omp.cpp b/src/OPENMP/pair_lj_cut_tip4p_long_soft_omp.cpp similarity index 100% rename from src/USER-OMP/pair_lj_cut_tip4p_long_soft_omp.cpp rename to src/OPENMP/pair_lj_cut_tip4p_long_soft_omp.cpp diff --git a/src/USER-OMP/pair_lj_cut_tip4p_long_soft_omp.h b/src/OPENMP/pair_lj_cut_tip4p_long_soft_omp.h similarity index 100% rename from src/USER-OMP/pair_lj_cut_tip4p_long_soft_omp.h rename to src/OPENMP/pair_lj_cut_tip4p_long_soft_omp.h diff --git a/src/USER-OMP/pair_lj_expand_omp.cpp b/src/OPENMP/pair_lj_expand_omp.cpp similarity index 100% rename from src/USER-OMP/pair_lj_expand_omp.cpp rename to src/OPENMP/pair_lj_expand_omp.cpp diff --git a/src/USER-OMP/pair_lj_expand_omp.h b/src/OPENMP/pair_lj_expand_omp.h similarity index 100% rename from src/USER-OMP/pair_lj_expand_omp.h rename to src/OPENMP/pair_lj_expand_omp.h diff --git a/src/USER-OMP/pair_lj_gromacs_coul_gromacs_omp.cpp b/src/OPENMP/pair_lj_gromacs_coul_gromacs_omp.cpp similarity index 100% rename from src/USER-OMP/pair_lj_gromacs_coul_gromacs_omp.cpp rename to src/OPENMP/pair_lj_gromacs_coul_gromacs_omp.cpp diff --git a/src/USER-OMP/pair_lj_gromacs_coul_gromacs_omp.h b/src/OPENMP/pair_lj_gromacs_coul_gromacs_omp.h similarity index 100% rename from src/USER-OMP/pair_lj_gromacs_coul_gromacs_omp.h rename to src/OPENMP/pair_lj_gromacs_coul_gromacs_omp.h diff --git a/src/USER-OMP/pair_lj_gromacs_omp.cpp b/src/OPENMP/pair_lj_gromacs_omp.cpp similarity index 100% rename from src/USER-OMP/pair_lj_gromacs_omp.cpp rename to src/OPENMP/pair_lj_gromacs_omp.cpp diff --git a/src/USER-OMP/pair_lj_gromacs_omp.h b/src/OPENMP/pair_lj_gromacs_omp.h similarity index 100% rename from src/USER-OMP/pair_lj_gromacs_omp.h rename to src/OPENMP/pair_lj_gromacs_omp.h diff --git a/src/USER-OMP/pair_lj_long_coul_long_omp.cpp b/src/OPENMP/pair_lj_long_coul_long_omp.cpp similarity index 100% rename from src/USER-OMP/pair_lj_long_coul_long_omp.cpp rename to src/OPENMP/pair_lj_long_coul_long_omp.cpp diff --git a/src/USER-OMP/pair_lj_long_coul_long_omp.h b/src/OPENMP/pair_lj_long_coul_long_omp.h similarity index 100% rename from src/USER-OMP/pair_lj_long_coul_long_omp.h rename to src/OPENMP/pair_lj_long_coul_long_omp.h diff --git a/src/USER-OMP/pair_lj_long_tip4p_long_omp.cpp b/src/OPENMP/pair_lj_long_tip4p_long_omp.cpp similarity index 100% rename from src/USER-OMP/pair_lj_long_tip4p_long_omp.cpp rename to src/OPENMP/pair_lj_long_tip4p_long_omp.cpp diff --git a/src/USER-OMP/pair_lj_long_tip4p_long_omp.h b/src/OPENMP/pair_lj_long_tip4p_long_omp.h similarity index 100% rename from src/USER-OMP/pair_lj_long_tip4p_long_omp.h rename to src/OPENMP/pair_lj_long_tip4p_long_omp.h diff --git a/src/USER-OMP/pair_lj_relres_omp.cpp b/src/OPENMP/pair_lj_relres_omp.cpp similarity index 100% rename from src/USER-OMP/pair_lj_relres_omp.cpp rename to src/OPENMP/pair_lj_relres_omp.cpp diff --git a/src/USER-OMP/pair_lj_relres_omp.h b/src/OPENMP/pair_lj_relres_omp.h similarity index 100% rename from src/USER-OMP/pair_lj_relres_omp.h rename to src/OPENMP/pair_lj_relres_omp.h diff --git a/src/USER-OMP/pair_lj_sdk_coul_long_omp.cpp b/src/OPENMP/pair_lj_sdk_coul_long_omp.cpp similarity index 100% rename from src/USER-OMP/pair_lj_sdk_coul_long_omp.cpp rename to src/OPENMP/pair_lj_sdk_coul_long_omp.cpp diff --git a/src/USER-OMP/pair_lj_sdk_coul_long_omp.h b/src/OPENMP/pair_lj_sdk_coul_long_omp.h similarity index 100% rename from src/USER-OMP/pair_lj_sdk_coul_long_omp.h rename to src/OPENMP/pair_lj_sdk_coul_long_omp.h diff --git a/src/USER-OMP/pair_lj_sdk_coul_msm_omp.cpp b/src/OPENMP/pair_lj_sdk_coul_msm_omp.cpp similarity index 100% rename from src/USER-OMP/pair_lj_sdk_coul_msm_omp.cpp rename to src/OPENMP/pair_lj_sdk_coul_msm_omp.cpp diff --git a/src/USER-OMP/pair_lj_sdk_coul_msm_omp.h b/src/OPENMP/pair_lj_sdk_coul_msm_omp.h similarity index 100% rename from src/USER-OMP/pair_lj_sdk_coul_msm_omp.h rename to src/OPENMP/pair_lj_sdk_coul_msm_omp.h diff --git a/src/USER-OMP/pair_lj_sdk_omp.cpp b/src/OPENMP/pair_lj_sdk_omp.cpp similarity index 100% rename from src/USER-OMP/pair_lj_sdk_omp.cpp rename to src/OPENMP/pair_lj_sdk_omp.cpp diff --git a/src/USER-OMP/pair_lj_sdk_omp.h b/src/OPENMP/pair_lj_sdk_omp.h similarity index 100% rename from src/USER-OMP/pair_lj_sdk_omp.h rename to src/OPENMP/pair_lj_sdk_omp.h diff --git a/src/USER-OMP/pair_lj_sf_dipole_sf_omp.cpp b/src/OPENMP/pair_lj_sf_dipole_sf_omp.cpp similarity index 100% rename from src/USER-OMP/pair_lj_sf_dipole_sf_omp.cpp rename to src/OPENMP/pair_lj_sf_dipole_sf_omp.cpp diff --git a/src/USER-OMP/pair_lj_sf_dipole_sf_omp.h b/src/OPENMP/pair_lj_sf_dipole_sf_omp.h similarity index 100% rename from src/USER-OMP/pair_lj_sf_dipole_sf_omp.h rename to src/OPENMP/pair_lj_sf_dipole_sf_omp.h diff --git a/src/USER-OMP/pair_lj_smooth_linear_omp.cpp b/src/OPENMP/pair_lj_smooth_linear_omp.cpp similarity index 100% rename from src/USER-OMP/pair_lj_smooth_linear_omp.cpp rename to src/OPENMP/pair_lj_smooth_linear_omp.cpp diff --git a/src/USER-OMP/pair_lj_smooth_linear_omp.h b/src/OPENMP/pair_lj_smooth_linear_omp.h similarity index 100% rename from src/USER-OMP/pair_lj_smooth_linear_omp.h rename to src/OPENMP/pair_lj_smooth_linear_omp.h diff --git a/src/USER-OMP/pair_lj_smooth_omp.cpp b/src/OPENMP/pair_lj_smooth_omp.cpp similarity index 100% rename from src/USER-OMP/pair_lj_smooth_omp.cpp rename to src/OPENMP/pair_lj_smooth_omp.cpp diff --git a/src/USER-OMP/pair_lj_smooth_omp.h b/src/OPENMP/pair_lj_smooth_omp.h similarity index 100% rename from src/USER-OMP/pair_lj_smooth_omp.h rename to src/OPENMP/pair_lj_smooth_omp.h diff --git a/src/USER-OMP/pair_lubricate_omp.cpp b/src/OPENMP/pair_lubricate_omp.cpp similarity index 100% rename from src/USER-OMP/pair_lubricate_omp.cpp rename to src/OPENMP/pair_lubricate_omp.cpp diff --git a/src/USER-OMP/pair_lubricate_omp.h b/src/OPENMP/pair_lubricate_omp.h similarity index 100% rename from src/USER-OMP/pair_lubricate_omp.h rename to src/OPENMP/pair_lubricate_omp.h diff --git a/src/USER-OMP/pair_lubricate_poly_omp.cpp b/src/OPENMP/pair_lubricate_poly_omp.cpp similarity index 100% rename from src/USER-OMP/pair_lubricate_poly_omp.cpp rename to src/OPENMP/pair_lubricate_poly_omp.cpp diff --git a/src/USER-OMP/pair_lubricate_poly_omp.h b/src/OPENMP/pair_lubricate_poly_omp.h similarity index 100% rename from src/USER-OMP/pair_lubricate_poly_omp.h rename to src/OPENMP/pair_lubricate_poly_omp.h diff --git a/src/USER-OMP/pair_meam_spline_omp.cpp b/src/OPENMP/pair_meam_spline_omp.cpp similarity index 100% rename from src/USER-OMP/pair_meam_spline_omp.cpp rename to src/OPENMP/pair_meam_spline_omp.cpp diff --git a/src/USER-OMP/pair_meam_spline_omp.h b/src/OPENMP/pair_meam_spline_omp.h similarity index 100% rename from src/USER-OMP/pair_meam_spline_omp.h rename to src/OPENMP/pair_meam_spline_omp.h diff --git a/src/USER-OMP/pair_morse_omp.cpp b/src/OPENMP/pair_morse_omp.cpp similarity index 100% rename from src/USER-OMP/pair_morse_omp.cpp rename to src/OPENMP/pair_morse_omp.cpp diff --git a/src/USER-OMP/pair_morse_omp.h b/src/OPENMP/pair_morse_omp.h similarity index 100% rename from src/USER-OMP/pair_morse_omp.h rename to src/OPENMP/pair_morse_omp.h diff --git a/src/USER-OMP/pair_morse_smooth_linear_omp.cpp b/src/OPENMP/pair_morse_smooth_linear_omp.cpp similarity index 100% rename from src/USER-OMP/pair_morse_smooth_linear_omp.cpp rename to src/OPENMP/pair_morse_smooth_linear_omp.cpp diff --git a/src/USER-OMP/pair_morse_smooth_linear_omp.h b/src/OPENMP/pair_morse_smooth_linear_omp.h similarity index 100% rename from src/USER-OMP/pair_morse_smooth_linear_omp.h rename to src/OPENMP/pair_morse_smooth_linear_omp.h diff --git a/src/USER-OMP/pair_nm_cut_coul_cut_omp.cpp b/src/OPENMP/pair_nm_cut_coul_cut_omp.cpp similarity index 100% rename from src/USER-OMP/pair_nm_cut_coul_cut_omp.cpp rename to src/OPENMP/pair_nm_cut_coul_cut_omp.cpp diff --git a/src/USER-OMP/pair_nm_cut_coul_cut_omp.h b/src/OPENMP/pair_nm_cut_coul_cut_omp.h similarity index 100% rename from src/USER-OMP/pair_nm_cut_coul_cut_omp.h rename to src/OPENMP/pair_nm_cut_coul_cut_omp.h diff --git a/src/USER-OMP/pair_nm_cut_coul_long_omp.cpp b/src/OPENMP/pair_nm_cut_coul_long_omp.cpp similarity index 100% rename from src/USER-OMP/pair_nm_cut_coul_long_omp.cpp rename to src/OPENMP/pair_nm_cut_coul_long_omp.cpp diff --git a/src/USER-OMP/pair_nm_cut_coul_long_omp.h b/src/OPENMP/pair_nm_cut_coul_long_omp.h similarity index 100% rename from src/USER-OMP/pair_nm_cut_coul_long_omp.h rename to src/OPENMP/pair_nm_cut_coul_long_omp.h diff --git a/src/USER-OMP/pair_nm_cut_omp.cpp b/src/OPENMP/pair_nm_cut_omp.cpp similarity index 100% rename from src/USER-OMP/pair_nm_cut_omp.cpp rename to src/OPENMP/pair_nm_cut_omp.cpp diff --git a/src/USER-OMP/pair_nm_cut_omp.h b/src/OPENMP/pair_nm_cut_omp.h similarity index 100% rename from src/USER-OMP/pair_nm_cut_omp.h rename to src/OPENMP/pair_nm_cut_omp.h diff --git a/src/USER-OMP/pair_peri_lps_omp.cpp b/src/OPENMP/pair_peri_lps_omp.cpp similarity index 100% rename from src/USER-OMP/pair_peri_lps_omp.cpp rename to src/OPENMP/pair_peri_lps_omp.cpp diff --git a/src/USER-OMP/pair_peri_lps_omp.h b/src/OPENMP/pair_peri_lps_omp.h similarity index 100% rename from src/USER-OMP/pair_peri_lps_omp.h rename to src/OPENMP/pair_peri_lps_omp.h diff --git a/src/USER-OMP/pair_peri_pmb_omp.cpp b/src/OPENMP/pair_peri_pmb_omp.cpp similarity index 100% rename from src/USER-OMP/pair_peri_pmb_omp.cpp rename to src/OPENMP/pair_peri_pmb_omp.cpp diff --git a/src/USER-OMP/pair_peri_pmb_omp.h b/src/OPENMP/pair_peri_pmb_omp.h similarity index 100% rename from src/USER-OMP/pair_peri_pmb_omp.h rename to src/OPENMP/pair_peri_pmb_omp.h diff --git a/src/USER-OMP/pair_reaxc_omp.cpp b/src/OPENMP/pair_reaxc_omp.cpp similarity index 99% rename from src/USER-OMP/pair_reaxc_omp.cpp rename to src/OPENMP/pair_reaxc_omp.cpp index 8535b87dbe..66e7a77c92 100644 --- a/src/USER-OMP/pair_reaxc_omp.cpp +++ b/src/OPENMP/pair_reaxc_omp.cpp @@ -24,7 +24,7 @@ by Hasan Metin Aktulga (MSU), Chris Knight (ALCF), Paul Coffman (ALCF), Kurt O'Hearn (MSU), Ray Shan (Materials Design), Wei Jiang (ALCF) - Integration of the pair_style reax/c/omp into the User-OMP package + Integration of the pair_style reax/c/omp into the OPENMP package by Axel Kohlmeyer (Temple U.) Please cite the related publication: diff --git a/src/USER-OMP/pair_reaxc_omp.h b/src/OPENMP/pair_reaxc_omp.h similarity index 100% rename from src/USER-OMP/pair_reaxc_omp.h rename to src/OPENMP/pair_reaxc_omp.h diff --git a/src/USER-OMP/pair_rebo_omp.cpp b/src/OPENMP/pair_rebo_omp.cpp similarity index 100% rename from src/USER-OMP/pair_rebo_omp.cpp rename to src/OPENMP/pair_rebo_omp.cpp diff --git a/src/USER-OMP/pair_rebo_omp.h b/src/OPENMP/pair_rebo_omp.h similarity index 100% rename from src/USER-OMP/pair_rebo_omp.h rename to src/OPENMP/pair_rebo_omp.h diff --git a/src/USER-OMP/pair_resquared_omp.cpp b/src/OPENMP/pair_resquared_omp.cpp similarity index 100% rename from src/USER-OMP/pair_resquared_omp.cpp rename to src/OPENMP/pair_resquared_omp.cpp diff --git a/src/USER-OMP/pair_resquared_omp.h b/src/OPENMP/pair_resquared_omp.h similarity index 100% rename from src/USER-OMP/pair_resquared_omp.h rename to src/OPENMP/pair_resquared_omp.h diff --git a/src/USER-OMP/pair_soft_omp.cpp b/src/OPENMP/pair_soft_omp.cpp similarity index 100% rename from src/USER-OMP/pair_soft_omp.cpp rename to src/OPENMP/pair_soft_omp.cpp diff --git a/src/USER-OMP/pair_soft_omp.h b/src/OPENMP/pair_soft_omp.h similarity index 100% rename from src/USER-OMP/pair_soft_omp.h rename to src/OPENMP/pair_soft_omp.h diff --git a/src/USER-OMP/pair_sw_omp.cpp b/src/OPENMP/pair_sw_omp.cpp similarity index 100% rename from src/USER-OMP/pair_sw_omp.cpp rename to src/OPENMP/pair_sw_omp.cpp diff --git a/src/USER-OMP/pair_sw_omp.h b/src/OPENMP/pair_sw_omp.h similarity index 100% rename from src/USER-OMP/pair_sw_omp.h rename to src/OPENMP/pair_sw_omp.h diff --git a/src/USER-OMP/pair_table_omp.cpp b/src/OPENMP/pair_table_omp.cpp similarity index 100% rename from src/USER-OMP/pair_table_omp.cpp rename to src/OPENMP/pair_table_omp.cpp diff --git a/src/USER-OMP/pair_table_omp.h b/src/OPENMP/pair_table_omp.h similarity index 100% rename from src/USER-OMP/pair_table_omp.h rename to src/OPENMP/pair_table_omp.h diff --git a/src/USER-OMP/pair_tersoff_mod_c_omp.cpp b/src/OPENMP/pair_tersoff_mod_c_omp.cpp similarity index 100% rename from src/USER-OMP/pair_tersoff_mod_c_omp.cpp rename to src/OPENMP/pair_tersoff_mod_c_omp.cpp diff --git a/src/USER-OMP/pair_tersoff_mod_c_omp.h b/src/OPENMP/pair_tersoff_mod_c_omp.h similarity index 100% rename from src/USER-OMP/pair_tersoff_mod_c_omp.h rename to src/OPENMP/pair_tersoff_mod_c_omp.h diff --git a/src/USER-OMP/pair_tersoff_mod_omp.cpp b/src/OPENMP/pair_tersoff_mod_omp.cpp similarity index 100% rename from src/USER-OMP/pair_tersoff_mod_omp.cpp rename to src/OPENMP/pair_tersoff_mod_omp.cpp diff --git a/src/USER-OMP/pair_tersoff_mod_omp.h b/src/OPENMP/pair_tersoff_mod_omp.h similarity index 100% rename from src/USER-OMP/pair_tersoff_mod_omp.h rename to src/OPENMP/pair_tersoff_mod_omp.h diff --git a/src/USER-OMP/pair_tersoff_omp.cpp b/src/OPENMP/pair_tersoff_omp.cpp similarity index 100% rename from src/USER-OMP/pair_tersoff_omp.cpp rename to src/OPENMP/pair_tersoff_omp.cpp diff --git a/src/USER-OMP/pair_tersoff_omp.h b/src/OPENMP/pair_tersoff_omp.h similarity index 100% rename from src/USER-OMP/pair_tersoff_omp.h rename to src/OPENMP/pair_tersoff_omp.h diff --git a/src/USER-OMP/pair_tersoff_table_omp.cpp b/src/OPENMP/pair_tersoff_table_omp.cpp similarity index 100% rename from src/USER-OMP/pair_tersoff_table_omp.cpp rename to src/OPENMP/pair_tersoff_table_omp.cpp diff --git a/src/USER-OMP/pair_tersoff_table_omp.h b/src/OPENMP/pair_tersoff_table_omp.h similarity index 100% rename from src/USER-OMP/pair_tersoff_table_omp.h rename to src/OPENMP/pair_tersoff_table_omp.h diff --git a/src/USER-OMP/pair_tersoff_zbl_omp.cpp b/src/OPENMP/pair_tersoff_zbl_omp.cpp similarity index 100% rename from src/USER-OMP/pair_tersoff_zbl_omp.cpp rename to src/OPENMP/pair_tersoff_zbl_omp.cpp diff --git a/src/USER-OMP/pair_tersoff_zbl_omp.h b/src/OPENMP/pair_tersoff_zbl_omp.h similarity index 100% rename from src/USER-OMP/pair_tersoff_zbl_omp.h rename to src/OPENMP/pair_tersoff_zbl_omp.h diff --git a/src/USER-OMP/pair_tip4p_cut_omp.cpp b/src/OPENMP/pair_tip4p_cut_omp.cpp similarity index 100% rename from src/USER-OMP/pair_tip4p_cut_omp.cpp rename to src/OPENMP/pair_tip4p_cut_omp.cpp diff --git a/src/USER-OMP/pair_tip4p_cut_omp.h b/src/OPENMP/pair_tip4p_cut_omp.h similarity index 100% rename from src/USER-OMP/pair_tip4p_cut_omp.h rename to src/OPENMP/pair_tip4p_cut_omp.h diff --git a/src/USER-OMP/pair_tip4p_long_omp.cpp b/src/OPENMP/pair_tip4p_long_omp.cpp similarity index 100% rename from src/USER-OMP/pair_tip4p_long_omp.cpp rename to src/OPENMP/pair_tip4p_long_omp.cpp diff --git a/src/USER-OMP/pair_tip4p_long_omp.h b/src/OPENMP/pair_tip4p_long_omp.h similarity index 100% rename from src/USER-OMP/pair_tip4p_long_omp.h rename to src/OPENMP/pair_tip4p_long_omp.h diff --git a/src/USER-OMP/pair_tip4p_long_soft_omp.cpp b/src/OPENMP/pair_tip4p_long_soft_omp.cpp similarity index 100% rename from src/USER-OMP/pair_tip4p_long_soft_omp.cpp rename to src/OPENMP/pair_tip4p_long_soft_omp.cpp diff --git a/src/USER-OMP/pair_tip4p_long_soft_omp.h b/src/OPENMP/pair_tip4p_long_soft_omp.h similarity index 100% rename from src/USER-OMP/pair_tip4p_long_soft_omp.h rename to src/OPENMP/pair_tip4p_long_soft_omp.h diff --git a/src/USER-OMP/pair_ufm_omp.cpp b/src/OPENMP/pair_ufm_omp.cpp similarity index 100% rename from src/USER-OMP/pair_ufm_omp.cpp rename to src/OPENMP/pair_ufm_omp.cpp diff --git a/src/USER-OMP/pair_ufm_omp.h b/src/OPENMP/pair_ufm_omp.h similarity index 100% rename from src/USER-OMP/pair_ufm_omp.h rename to src/OPENMP/pair_ufm_omp.h diff --git a/src/USER-OMP/pair_vashishta_omp.cpp b/src/OPENMP/pair_vashishta_omp.cpp similarity index 100% rename from src/USER-OMP/pair_vashishta_omp.cpp rename to src/OPENMP/pair_vashishta_omp.cpp diff --git a/src/USER-OMP/pair_vashishta_omp.h b/src/OPENMP/pair_vashishta_omp.h similarity index 100% rename from src/USER-OMP/pair_vashishta_omp.h rename to src/OPENMP/pair_vashishta_omp.h diff --git a/src/USER-OMP/pair_vashishta_table_omp.cpp b/src/OPENMP/pair_vashishta_table_omp.cpp similarity index 100% rename from src/USER-OMP/pair_vashishta_table_omp.cpp rename to src/OPENMP/pair_vashishta_table_omp.cpp diff --git a/src/USER-OMP/pair_vashishta_table_omp.h b/src/OPENMP/pair_vashishta_table_omp.h similarity index 100% rename from src/USER-OMP/pair_vashishta_table_omp.h rename to src/OPENMP/pair_vashishta_table_omp.h diff --git a/src/USER-OMP/pair_yukawa_colloid_omp.cpp b/src/OPENMP/pair_yukawa_colloid_omp.cpp similarity index 100% rename from src/USER-OMP/pair_yukawa_colloid_omp.cpp rename to src/OPENMP/pair_yukawa_colloid_omp.cpp diff --git a/src/USER-OMP/pair_yukawa_colloid_omp.h b/src/OPENMP/pair_yukawa_colloid_omp.h similarity index 100% rename from src/USER-OMP/pair_yukawa_colloid_omp.h rename to src/OPENMP/pair_yukawa_colloid_omp.h diff --git a/src/USER-OMP/pair_yukawa_omp.cpp b/src/OPENMP/pair_yukawa_omp.cpp similarity index 100% rename from src/USER-OMP/pair_yukawa_omp.cpp rename to src/OPENMP/pair_yukawa_omp.cpp diff --git a/src/USER-OMP/pair_yukawa_omp.h b/src/OPENMP/pair_yukawa_omp.h similarity index 100% rename from src/USER-OMP/pair_yukawa_omp.h rename to src/OPENMP/pair_yukawa_omp.h diff --git a/src/USER-OMP/pair_zbl_omp.cpp b/src/OPENMP/pair_zbl_omp.cpp similarity index 100% rename from src/USER-OMP/pair_zbl_omp.cpp rename to src/OPENMP/pair_zbl_omp.cpp diff --git a/src/USER-OMP/pair_zbl_omp.h b/src/OPENMP/pair_zbl_omp.h similarity index 100% rename from src/USER-OMP/pair_zbl_omp.h rename to src/OPENMP/pair_zbl_omp.h diff --git a/src/USER-OMP/pppm_cg_omp.cpp b/src/OPENMP/pppm_cg_omp.cpp similarity index 100% rename from src/USER-OMP/pppm_cg_omp.cpp rename to src/OPENMP/pppm_cg_omp.cpp diff --git a/src/USER-OMP/pppm_cg_omp.h b/src/OPENMP/pppm_cg_omp.h similarity index 100% rename from src/USER-OMP/pppm_cg_omp.h rename to src/OPENMP/pppm_cg_omp.h diff --git a/src/USER-OMP/pppm_disp_omp.cpp b/src/OPENMP/pppm_disp_omp.cpp similarity index 100% rename from src/USER-OMP/pppm_disp_omp.cpp rename to src/OPENMP/pppm_disp_omp.cpp diff --git a/src/USER-OMP/pppm_disp_omp.h b/src/OPENMP/pppm_disp_omp.h similarity index 100% rename from src/USER-OMP/pppm_disp_omp.h rename to src/OPENMP/pppm_disp_omp.h diff --git a/src/USER-OMP/pppm_disp_tip4p_omp.cpp b/src/OPENMP/pppm_disp_tip4p_omp.cpp similarity index 100% rename from src/USER-OMP/pppm_disp_tip4p_omp.cpp rename to src/OPENMP/pppm_disp_tip4p_omp.cpp diff --git a/src/USER-OMP/pppm_disp_tip4p_omp.h b/src/OPENMP/pppm_disp_tip4p_omp.h similarity index 100% rename from src/USER-OMP/pppm_disp_tip4p_omp.h rename to src/OPENMP/pppm_disp_tip4p_omp.h diff --git a/src/USER-OMP/pppm_omp.cpp b/src/OPENMP/pppm_omp.cpp similarity index 100% rename from src/USER-OMP/pppm_omp.cpp rename to src/OPENMP/pppm_omp.cpp diff --git a/src/USER-OMP/pppm_omp.h b/src/OPENMP/pppm_omp.h similarity index 100% rename from src/USER-OMP/pppm_omp.h rename to src/OPENMP/pppm_omp.h diff --git a/src/USER-OMP/pppm_tip4p_omp.cpp b/src/OPENMP/pppm_tip4p_omp.cpp similarity index 100% rename from src/USER-OMP/pppm_tip4p_omp.cpp rename to src/OPENMP/pppm_tip4p_omp.cpp diff --git a/src/USER-OMP/pppm_tip4p_omp.h b/src/OPENMP/pppm_tip4p_omp.h similarity index 100% rename from src/USER-OMP/pppm_tip4p_omp.h rename to src/OPENMP/pppm_tip4p_omp.h diff --git a/src/USER-OMP/reaxc_bond_orders_omp.cpp b/src/OPENMP/reaxc_bond_orders_omp.cpp similarity index 100% rename from src/USER-OMP/reaxc_bond_orders_omp.cpp rename to src/OPENMP/reaxc_bond_orders_omp.cpp diff --git a/src/USER-OMP/reaxc_bond_orders_omp.h b/src/OPENMP/reaxc_bond_orders_omp.h similarity index 100% rename from src/USER-OMP/reaxc_bond_orders_omp.h rename to src/OPENMP/reaxc_bond_orders_omp.h diff --git a/src/USER-OMP/reaxc_bonds_omp.cpp b/src/OPENMP/reaxc_bonds_omp.cpp similarity index 100% rename from src/USER-OMP/reaxc_bonds_omp.cpp rename to src/OPENMP/reaxc_bonds_omp.cpp diff --git a/src/USER-OMP/reaxc_bonds_omp.h b/src/OPENMP/reaxc_bonds_omp.h similarity index 100% rename from src/USER-OMP/reaxc_bonds_omp.h rename to src/OPENMP/reaxc_bonds_omp.h diff --git a/src/USER-OMP/reaxc_forces_omp.cpp b/src/OPENMP/reaxc_forces_omp.cpp similarity index 100% rename from src/USER-OMP/reaxc_forces_omp.cpp rename to src/OPENMP/reaxc_forces_omp.cpp diff --git a/src/USER-OMP/reaxc_forces_omp.h b/src/OPENMP/reaxc_forces_omp.h similarity index 100% rename from src/USER-OMP/reaxc_forces_omp.h rename to src/OPENMP/reaxc_forces_omp.h diff --git a/src/USER-OMP/reaxc_hydrogen_bonds_omp.cpp b/src/OPENMP/reaxc_hydrogen_bonds_omp.cpp similarity index 100% rename from src/USER-OMP/reaxc_hydrogen_bonds_omp.cpp rename to src/OPENMP/reaxc_hydrogen_bonds_omp.cpp diff --git a/src/USER-OMP/reaxc_hydrogen_bonds_omp.h b/src/OPENMP/reaxc_hydrogen_bonds_omp.h similarity index 100% rename from src/USER-OMP/reaxc_hydrogen_bonds_omp.h rename to src/OPENMP/reaxc_hydrogen_bonds_omp.h diff --git a/src/USER-OMP/reaxc_init_md_omp.cpp b/src/OPENMP/reaxc_init_md_omp.cpp similarity index 100% rename from src/USER-OMP/reaxc_init_md_omp.cpp rename to src/OPENMP/reaxc_init_md_omp.cpp diff --git a/src/USER-OMP/reaxc_init_md_omp.h b/src/OPENMP/reaxc_init_md_omp.h similarity index 100% rename from src/USER-OMP/reaxc_init_md_omp.h rename to src/OPENMP/reaxc_init_md_omp.h diff --git a/src/USER-OMP/reaxc_multi_body_omp.cpp b/src/OPENMP/reaxc_multi_body_omp.cpp similarity index 100% rename from src/USER-OMP/reaxc_multi_body_omp.cpp rename to src/OPENMP/reaxc_multi_body_omp.cpp diff --git a/src/USER-OMP/reaxc_multi_body_omp.h b/src/OPENMP/reaxc_multi_body_omp.h similarity index 100% rename from src/USER-OMP/reaxc_multi_body_omp.h rename to src/OPENMP/reaxc_multi_body_omp.h diff --git a/src/USER-OMP/reaxc_nonbonded_omp.cpp b/src/OPENMP/reaxc_nonbonded_omp.cpp similarity index 100% rename from src/USER-OMP/reaxc_nonbonded_omp.cpp rename to src/OPENMP/reaxc_nonbonded_omp.cpp diff --git a/src/USER-OMP/reaxc_nonbonded_omp.h b/src/OPENMP/reaxc_nonbonded_omp.h similarity index 100% rename from src/USER-OMP/reaxc_nonbonded_omp.h rename to src/OPENMP/reaxc_nonbonded_omp.h diff --git a/src/USER-OMP/reaxc_torsion_angles_omp.cpp b/src/OPENMP/reaxc_torsion_angles_omp.cpp similarity index 100% rename from src/USER-OMP/reaxc_torsion_angles_omp.cpp rename to src/OPENMP/reaxc_torsion_angles_omp.cpp diff --git a/src/USER-OMP/reaxc_torsion_angles_omp.h b/src/OPENMP/reaxc_torsion_angles_omp.h similarity index 100% rename from src/USER-OMP/reaxc_torsion_angles_omp.h rename to src/OPENMP/reaxc_torsion_angles_omp.h diff --git a/src/USER-OMP/reaxc_valence_angles_omp.cpp b/src/OPENMP/reaxc_valence_angles_omp.cpp similarity index 100% rename from src/USER-OMP/reaxc_valence_angles_omp.cpp rename to src/OPENMP/reaxc_valence_angles_omp.cpp diff --git a/src/USER-OMP/reaxc_valence_angles_omp.h b/src/OPENMP/reaxc_valence_angles_omp.h similarity index 100% rename from src/USER-OMP/reaxc_valence_angles_omp.h rename to src/OPENMP/reaxc_valence_angles_omp.h diff --git a/src/USER-OMP/respa_omp.cpp b/src/OPENMP/respa_omp.cpp similarity index 100% rename from src/USER-OMP/respa_omp.cpp rename to src/OPENMP/respa_omp.cpp diff --git a/src/USER-OMP/respa_omp.h b/src/OPENMP/respa_omp.h similarity index 100% rename from src/USER-OMP/respa_omp.h rename to src/OPENMP/respa_omp.h diff --git a/src/USER-OMP/thr_data.cpp b/src/OPENMP/thr_data.cpp similarity index 100% rename from src/USER-OMP/thr_data.cpp rename to src/OPENMP/thr_data.cpp diff --git a/src/USER-OMP/thr_data.h b/src/OPENMP/thr_data.h similarity index 100% rename from src/USER-OMP/thr_data.h rename to src/OPENMP/thr_data.h diff --git a/src/USER-OMP/thr_omp.cpp b/src/OPENMP/thr_omp.cpp similarity index 100% rename from src/USER-OMP/thr_omp.cpp rename to src/OPENMP/thr_omp.cpp diff --git a/src/USER-OMP/thr_omp.h b/src/OPENMP/thr_omp.h similarity index 100% rename from src/USER-OMP/thr_omp.h rename to src/OPENMP/thr_omp.h diff --git a/src/USER-INTEL/README b/src/USER-INTEL/README index 650e2c3a2d..541e633675 100644 --- a/src/USER-INTEL/README +++ b/src/USER-INTEL/README @@ -42,8 +42,8 @@ be added or changed in the Makefile depending on the version: ----------------------------------------------------------------------------- When using the suffix command with "intel", intel styles will be used if they -exist. If the suffix command is used with "hybrid intel omp" and the USER-OMP -is installed, USER-OMP styles will be used whenever USER-INTEL styles are not +exist. If the suffix command is used with "hybrid intel omp" and the OPENMP +is installed, OPENMP styles will be used whenever USER-INTEL styles are not available. This allow for running most styles in LAMMPS with threading. ----------------------------------------------------------------------------- diff --git a/src/USER-INTEL/TEST/README b/src/USER-INTEL/TEST/README index fdc92b363d..fd64dff72d 100644 --- a/src/USER-INTEL/TEST/README +++ b/src/USER-INTEL/TEST/README @@ -106,7 +106,7 @@ export bench=in.intel.lj mpirun -np $LMP_CORES $LMP_BIN -in $bench -log none -v N on ############################################################################# -# To run with USER-OMP package +# To run with OPENMP package ############################################################################# mpirun -np $LMP_CORES $LMP_BIN -in $bench -log none -pk omp 0 -sf omp -v N on diff --git a/src/USER-INTEL/fix_intel.cpp b/src/USER-INTEL/fix_intel.cpp index edec1f0c42..51677c8e0e 100644 --- a/src/USER-INTEL/fix_intel.cpp +++ b/src/USER-INTEL/fix_intel.cpp @@ -557,12 +557,12 @@ void FixIntel::check_neighbor_intel() if (neighbor->requests[i]->skip && _offload_balance != 0.0) error->all(FLERR, "Cannot yet use hybrid styles with Intel offload."); - // avoid flagging a neighbor list as both USER-INTEL and USER-OMP + // avoid flagging a neighbor list as both USER-INTEL and OPENMP if (neighbor->requests[i]->intel) neighbor->requests[i]->omp = 0; } #else - // avoid flagging a neighbor list as both USER-INTEL and USER-OMP + // avoid flagging a neighbor list as both USER-INTEL and OPENMP const int nrequest = neighbor->nrequest; for (int i = 0; i < nrequest; ++i) if (neighbor->requests[i]->intel) diff --git a/src/USER-REAXC/fix_qeq_reax.cpp b/src/USER-REAXC/fix_qeq_reax.cpp index 9663d2ea49..e01c87a1e3 100644 --- a/src/USER-REAXC/fix_qeq_reax.cpp +++ b/src/USER-REAXC/fix_qeq_reax.cpp @@ -75,7 +75,7 @@ FixQEqReax::FixQEqReax(LAMMPS *lmp, int narg, char **arg) : tolerance = utils::numeric(FLERR,arg[6],false,lmp); pertype_option = utils::strdup(arg[7]); - // dual CG support only available for USER-OMP variant + // dual CG support only available for OPENMP variant // check for compatibility is in Fix::post_constructor() dual_enabled = 0; imax = 200; diff --git a/src/accelerator_omp.h b/src/accelerator_omp.h index 3f3be3c975..437ce3e413 100644 --- a/src/accelerator_omp.h +++ b/src/accelerator_omp.h @@ -15,7 +15,7 @@ #ifdef LMP_USER_OMP -// true interface to USER-OMP +// true interface to OPENMP // provide a DomainOMP class with some overrides for Domain #include "domain.h" diff --git a/src/comm.h b/src/comm.h index e7c07522a9..bc5faa49f4 100644 --- a/src/comm.h +++ b/src/comm.h @@ -281,6 +281,6 @@ UNDOCUMENTED U: OMP_NUM_THREADS environment is not set. This environment variable must be set appropriately to use the -USER-OMP package. +OPENMP package. */ diff --git a/src/info.cpp b/src/info.cpp index 049bdd5bfd..13b02df116 100644 --- a/src/info.cpp +++ b/src/info.cpp @@ -1223,7 +1223,7 @@ bool Info::has_accelerator_feature(const std::string &package, } #endif #if defined(LMP_USER_OMP) - if (package == "USER-OMP") { + if (package == "OPENMP") { if (category == "precision") { if (setting == "double") return true; else return false; @@ -1466,14 +1466,14 @@ std::string Info::get_accelerator_info(const std::string &package) if (has_accelerator_feature("KOKKOS","precision","double")) mesg += " double"; mesg += "\n"; } - if ((package.empty() || (package == "USER-OMP")) && has_package("USER-OMP")) { - mesg += "USER-OMP package API:"; - if (has_accelerator_feature("USER-OMP","api","openmp")) mesg += " OpenMP"; - if (has_accelerator_feature("USER-OMP","api","serial")) mesg += " Serial"; - mesg += "\nUSER-OMP package precision:"; - if (has_accelerator_feature("USER-OMP","precision","single")) mesg += " single"; - if (has_accelerator_feature("USER-OMP","precision","mixed")) mesg += " mixed"; - if (has_accelerator_feature("USER-OMP","precision","double")) mesg += " double"; + if ((package.empty() || (package == "OPENMP")) && has_package("OPENMP")) { + mesg += "OPENMP package API:"; + if (has_accelerator_feature("OPENMP","api","openmp")) mesg += " OpenMP"; + if (has_accelerator_feature("OPENMP","api","serial")) mesg += " Serial"; + mesg += "\nOPENMP package precision:"; + if (has_accelerator_feature("OPENMP","precision","single")) mesg += " single"; + if (has_accelerator_feature("OPENMP","precision","mixed")) mesg += " mixed"; + if (has_accelerator_feature("OPENMP","precision","double")) mesg += " double"; mesg += "\n"; } if ((package.empty() || (package == "USER-INTEL")) && has_package("USER-INTEL")) { diff --git a/src/input.cpp b/src/input.cpp index 1ef88be866..9aa5d7f476 100644 --- a/src/input.cpp +++ b/src/input.cpp @@ -1683,7 +1683,7 @@ void Input::package() } else if (strcmp(arg[0],"omp") == 0) { if (!modify->check_package("OMP")) error->all(FLERR, - "Package omp command without USER-OMP package installed"); + "Package omp command without OPENMP package installed"); std::string fixcmd = "package_omp all OMP"; for (int i = 1; i < narg; i++) fixcmd += std::string(" ") + arg[i]; diff --git a/src/input.h b/src/input.h index d82816aa04..db006160d8 100644 --- a/src/input.h +++ b/src/input.h @@ -357,9 +357,9 @@ E: Package kokkos command without KOKKOS package enabled The KOKKOS package must be installed via "make yes-kokkos" before LAMMPS is built, and the "-k on" must be used to enable the package. -E: Package omp command without USER-OMP package installed +E: Package omp command without OPENMP package installed -The USER-OMP package must be installed via "make yes-user-omp" before +The OPENMP package must be installed via "make yes-openmp" before LAMMPS is built. E: Package intel command without USER-INTEL package installed diff --git a/src/lammps.cpp b/src/lammps.cpp index 131d2e66f6..9cd3029c8d 100644 --- a/src/lammps.cpp +++ b/src/lammps.cpp @@ -843,7 +843,7 @@ void LAMMPS::post_create() // suffix will always be set if suffix_enable = 1 // check that KOKKOS package classes were instantiated - // check that GPU, INTEL, USER-OMP fixes were compiled with LAMMPS + // check that GPU, INTEL, OPENMP fixes were compiled with LAMMPS if (suffix_enable) { @@ -855,7 +855,7 @@ void LAMMPS::post_create() (kokkos == nullptr || kokkos->kokkos_exists == 0)) error->all(FLERR,"Using suffix kk without KOKKOS package enabled"); if (strcmp(suffix,"omp") == 0 && !modify->check_package("OMP")) - error->all(FLERR,"Using suffix omp without USER-OMP package installed"); + error->all(FLERR,"Using suffix omp without OPENMP package installed"); if (strcmp(suffix,"gpu") == 0) input->one("package gpu 0"); if (strcmp(suffix,"intel") == 0) input->one("package intel 1"); diff --git a/src/lammps.h b/src/lammps.h index 9592f9af05..2e7699a281 100644 --- a/src/lammps.h +++ b/src/lammps.h @@ -207,7 +207,7 @@ E: Using suffix kk without KOKKOS package enabled Self-explanatory. -E: Using suffix omp without USER-OMP package installed +E: Using suffix omp without OPENMP package installed Self-explanatory. diff --git a/src/library.cpp b/src/library.cpp index 8625296172..2447ba0a2a 100644 --- a/src/library.cpp +++ b/src/library.cpp @@ -4327,7 +4327,7 @@ int lammps_config_package_name(int idx, char *buffer, int buf_size) { \verbatim embed:rst This function checks availability of compile time settings of included :doc:`accelerator packages ` in LAMMPS. -Supported packages names are "GPU", "KOKKOS", "USER-INTEL", and "USER-OMP". +Supported packages names are "GPU", "KOKKOS", "USER-INTEL", and "OPENMP". Supported categories are "api" with possible settings "cuda", "hip", "phi", "pthreads", "opencl", "openmp", and "serial", and "precision" with possible settings "double", "mixed", and "single". If the combination diff --git a/src/modify.cpp b/src/modify.cpp index c395575d7f..afa46e9957 100644 --- a/src/modify.cpp +++ b/src/modify.cpp @@ -1110,7 +1110,7 @@ int Modify::find_fix_by_style(const char *style) check for fix associated with package name in compiled list return 1 if found else 0 used to determine whether LAMMPS was built with - GPU, USER-INTEL, USER-OMP packages, which have their own fixes + GPU, USER-INTEL, OPENMP packages, which have their own fixes ------------------------------------------------------------------------- */ int Modify::check_package(const char *package_fix_name) diff --git a/src/neigh_request.h b/src/neigh_request.h index 30cf6592d1..3c1169e234 100644 --- a/src/neigh_request.h +++ b/src/neigh_request.h @@ -66,7 +66,7 @@ class NeighRequest : protected Pointers { int respamiddle; // 1 if need a rRESPA middle list int respaouter; // 1 if need a rRESPA outer list int bond; // 1 if store bond neighbors instead of atom neighs - int omp; // set by USER-OMP package + int omp; // set by OPENMP package int intel; // set by USER-INTEL package int kokkos_host; // set by KOKKOS package int kokkos_device; diff --git a/unittest/c-library/test_library_open.cpp b/unittest/c-library/test_library_open.cpp index 377f3c53ef..b7a8016a1a 100644 --- a/unittest/c-library/test_library_open.cpp +++ b/unittest/c-library/test_library_open.cpp @@ -137,7 +137,7 @@ TEST(lammps_open_no_mpi, no_screen) TEST(lammps_open_no_mpi, with_omp) { - if (!LAMMPS_NS::LAMMPS::is_installed_pkg("USER-OMP")) GTEST_SKIP(); + if (!LAMMPS_NS::LAMMPS::is_installed_pkg("OPENMP")) GTEST_SKIP(); const char *args[] = {"liblammps", "-pk", "omp", "2", "neigh", "no", "-sf", "omp", "-log", "none", "-nocite"}; char **argv = (char **)args; diff --git a/unittest/cplusplus/test_lammps_class.cpp b/unittest/cplusplus/test_lammps_class.cpp index f99fd9163b..2ec2b39e15 100644 --- a/unittest/cplusplus/test_lammps_class.cpp +++ b/unittest/cplusplus/test_lammps_class.cpp @@ -176,9 +176,9 @@ protected: char **argv = (char **)args; int argc = sizeof(args) / sizeof(char *); - // only run this test fixture with omp suffix if USER-OMP package is installed + // only run this test fixture with omp suffix if OPENMP package is installed - if (LAMMPS::is_installed_pkg("USER-OMP")) + if (LAMMPS::is_installed_pkg("OPENMP")) lmp = new LAMMPS(argc, argv, MPI_COMM_WORLD); else GTEST_SKIP(); @@ -324,7 +324,7 @@ TEST_F(LAMMPS_kokkos, InitMembers) TEST(LAMMPS_init, OpenMP) { - if (!LAMMPS::is_installed_pkg("USER-OMP")) GTEST_SKIP(); + if (!LAMMPS::is_installed_pkg("OPENMP")) GTEST_SKIP(); if (Info::get_openmp_info() == "OpenMP not enabled") GTEST_SKIP(); FILE *fp = fopen("in.lammps_empty", "w"); @@ -340,7 +340,7 @@ TEST(LAMMPS_init, OpenMP) std::string output = ::testing::internal::GetCapturedStdout(); EXPECT_THAT(output, MatchesRegex(".*using 2 OpenMP thread.*per MPI task.*")); - if (LAMMPS_NS::Info::has_accelerator_feature("USER-OMP", "api", "openmp")) + if (LAMMPS_NS::Info::has_accelerator_feature("OPENMP", "api", "openmp")) EXPECT_EQ(lmp->comm->nthreads, 2); else EXPECT_EQ(lmp->comm->nthreads, 1); @@ -356,7 +356,7 @@ TEST(LAMMPS_init, OpenMP) TEST(LAMMPS_init, NoOpenMP) { - if (!LAMMPS_NS::Info::has_accelerator_feature("USER-OMP", "api", "openmp")) + if (!LAMMPS_NS::Info::has_accelerator_feature("OPENMP", "api", "openmp")) GTEST_SKIP() << "No threading enabled"; FILE *fp = fopen("in.lammps_class_noomp", "w"); diff --git a/unittest/force-styles/test_angle_style.cpp b/unittest/force-styles/test_angle_style.cpp index 8f858a3a04..b4300218b7 100644 --- a/unittest/force-styles/test_angle_style.cpp +++ b/unittest/force-styles/test_angle_style.cpp @@ -533,7 +533,7 @@ TEST(AngleStyle, plain) TEST(AngleStyle, omp) { - if (!LAMMPS::is_installed_pkg("USER-OMP")) GTEST_SKIP(); + if (!LAMMPS::is_installed_pkg("OPENMP")) GTEST_SKIP(); if (test_config.skip_tests.count(test_info_->name())) GTEST_SKIP(); const char *args[] = {"AngleStyle", "-log", "none", "-echo", "screen", "-nocite", @@ -564,7 +564,7 @@ TEST(AngleStyle, omp) const int nlocal = lmp->atom->nlocal; ASSERT_EQ(lmp->atom->natoms, nlocal); - // relax error a bit for USER-OMP package + // relax error a bit for OPENMP package double epsilon = 5.0 * test_config.epsilon; auto f = lmp->atom->f; @@ -628,7 +628,7 @@ TEST(AngleStyle, omp) int id = lmp->modify->find_compute("sum"); double energy = lmp->modify->compute[id]->compute_scalar(); EXPECT_FP_LE_WITH_EPS(angle->energy, test_config.run_energy, epsilon); - // TODO: this is currently broken for USER-OMP with angle style hybrid + // TODO: this is currently broken for OPENMP with angle style hybrid // needs to be fixed in the main code somewhere. Not sure where, though. if (test_config.angle_style.substr(0, 6) != "hybrid") EXPECT_FP_LE_WITH_EPS(angle->energy, energy, epsilon); @@ -695,7 +695,7 @@ TEST(AngleStyle, omp) id = lmp->modify->find_compute("sum"); energy = lmp->modify->compute[id]->compute_scalar(); EXPECT_FP_LE_WITH_EPS(angle->energy, test_config.run_energy, epsilon); - // TODO: this is currently broken for USER-OMP with angle style hybrid + // TODO: this is currently broken for OPENMP with angle style hybrid // needs to be fixed in the main code somewhere. Not sure where, though. if (test_config.angle_style.substr(0, 6) != "hybrid") EXPECT_FP_LE_WITH_EPS(angle->energy, energy, epsilon); diff --git a/unittest/force-styles/test_bond_style.cpp b/unittest/force-styles/test_bond_style.cpp index 2b5e11de20..f4c151a394 100644 --- a/unittest/force-styles/test_bond_style.cpp +++ b/unittest/force-styles/test_bond_style.cpp @@ -533,7 +533,7 @@ TEST(BondStyle, plain) TEST(BondStyle, omp) { - if (!LAMMPS::is_installed_pkg("USER-OMP")) GTEST_SKIP(); + if (!LAMMPS::is_installed_pkg("OPENMP")) GTEST_SKIP(); if (test_config.skip_tests.count(test_info_->name())) GTEST_SKIP(); const char *args[] = {"BondStyle", "-log", "none", "-echo", "screen", "-nocite", @@ -564,7 +564,7 @@ TEST(BondStyle, omp) const int nlocal = lmp->atom->nlocal; ASSERT_EQ(lmp->atom->natoms, nlocal); - // relax error a bit for USER-OMP package + // relax error a bit for OPENMP package double epsilon = 5.0 * test_config.epsilon; auto f = lmp->atom->f; @@ -627,7 +627,7 @@ TEST(BondStyle, omp) int id = lmp->modify->find_compute("sum"); double energy = lmp->modify->compute[id]->compute_scalar(); EXPECT_FP_LE_WITH_EPS(bond->energy, test_config.run_energy, epsilon); - // TODO: this is currently broken for USER-OMP with bond style hybrid + // TODO: this is currently broken for OPENMP with bond style hybrid // needs to be fixed in the main code somewhere. Not sure where, though. if (test_config.bond_style.substr(0, 6) != "hybrid") EXPECT_FP_LE_WITH_EPS(bond->energy, energy, epsilon); @@ -694,7 +694,7 @@ TEST(BondStyle, omp) id = lmp->modify->find_compute("sum"); energy = lmp->modify->compute[id]->compute_scalar(); EXPECT_FP_LE_WITH_EPS(bond->energy, test_config.run_energy, epsilon); - // TODO: this is currently broken for USER-OMP with bond style hybrid + // TODO: this is currently broken for OPENMP with bond style hybrid // needs to be fixed in the main code somewhere. Not sure where, though. if (test_config.bond_style.substr(0, 6) != "hybrid") EXPECT_FP_LE_WITH_EPS(bond->energy, energy, epsilon); diff --git a/unittest/force-styles/test_dihedral_style.cpp b/unittest/force-styles/test_dihedral_style.cpp index 718bcb5332..8cae5d5f7c 100644 --- a/unittest/force-styles/test_dihedral_style.cpp +++ b/unittest/force-styles/test_dihedral_style.cpp @@ -536,7 +536,7 @@ TEST(DihedralStyle, plain) TEST(DihedralStyle, omp) { - if (!LAMMPS::is_installed_pkg("USER-OMP")) GTEST_SKIP(); + if (!LAMMPS::is_installed_pkg("OPENMP")) GTEST_SKIP(); if (test_config.skip_tests.count(test_info_->name())) GTEST_SKIP(); const char *args[] = {"DihedralStyle", "-log", "none", "-echo", "screen", "-nocite", @@ -567,7 +567,7 @@ TEST(DihedralStyle, omp) const int nlocal = lmp->atom->nlocal; ASSERT_EQ(lmp->atom->natoms, nlocal); - // relax error a bit for USER-OMP package + // relax error a bit for OPENMP package double epsilon = 5.0 * test_config.epsilon; auto f = lmp->atom->f; @@ -631,7 +631,7 @@ TEST(DihedralStyle, omp) int id = lmp->modify->find_compute("sum"); double energy = lmp->modify->compute[id]->compute_scalar(); EXPECT_FP_LE_WITH_EPS(dihedral->energy, test_config.run_energy, epsilon); - // TODO: this is currently broken for USER-OMP with dihedral style hybrid + // TODO: this is currently broken for OPENMP with dihedral style hybrid // needs to be fixed in the main code somewhere. Not sure where, though. if (test_config.dihedral_style.substr(0, 6) != "hybrid") EXPECT_FP_LE_WITH_EPS(dihedral->energy, energy, epsilon); @@ -698,7 +698,7 @@ TEST(DihedralStyle, omp) id = lmp->modify->find_compute("sum"); energy = lmp->modify->compute[id]->compute_scalar(); EXPECT_FP_LE_WITH_EPS(dihedral->energy, test_config.run_energy, epsilon); - // TODO: this is currently broken for USER-OMP with dihedral style hybrid + // TODO: this is currently broken for OPENMP with dihedral style hybrid // needs to be fixed in the main code somewhere. Not sure where, though. if (test_config.dihedral_style.substr(0, 6) != "hybrid") EXPECT_FP_LE_WITH_EPS(dihedral->energy, energy, epsilon); diff --git a/unittest/force-styles/test_fix_timestep.cpp b/unittest/force-styles/test_fix_timestep.cpp index 645c41b2ae..34c8ba65d9 100644 --- a/unittest/force-styles/test_fix_timestep.cpp +++ b/unittest/force-styles/test_fix_timestep.cpp @@ -696,7 +696,7 @@ TEST(FixTimestep, plain) TEST(FixTimestep, omp) { - if (!LAMMPS::is_installed_pkg("USER-OMP")) GTEST_SKIP(); + if (!LAMMPS::is_installed_pkg("OPENMP")) GTEST_SKIP(); if (!LAMMPS::is_installed_pkg("MOLECULE")) GTEST_SKIP(); if (test_config.skip_tests.count(test_info_->name())) GTEST_SKIP(); diff --git a/unittest/force-styles/test_improper_style.cpp b/unittest/force-styles/test_improper_style.cpp index 52fc0f0b92..b6d6b9a06b 100644 --- a/unittest/force-styles/test_improper_style.cpp +++ b/unittest/force-styles/test_improper_style.cpp @@ -527,7 +527,7 @@ TEST(ImproperStyle, plain) TEST(ImproperStyle, omp) { - if (!LAMMPS::is_installed_pkg("USER-OMP")) GTEST_SKIP(); + if (!LAMMPS::is_installed_pkg("OPENMP")) GTEST_SKIP(); if (test_config.skip_tests.count(test_info_->name())) GTEST_SKIP(); const char *args[] = {"ImproperStyle", "-log", "none", "-echo", "screen", "-nocite", @@ -558,7 +558,7 @@ TEST(ImproperStyle, omp) const int nlocal = lmp->atom->nlocal; ASSERT_EQ(lmp->atom->natoms, nlocal); - // relax error a bit for USER-OMP package + // relax error a bit for OPENMP package double epsilon = 5.0 * test_config.epsilon; auto f = lmp->atom->f; @@ -622,7 +622,7 @@ TEST(ImproperStyle, omp) int id = lmp->modify->find_compute("sum"); double energy = lmp->modify->compute[id]->compute_scalar(); EXPECT_FP_LE_WITH_EPS(improper->energy, test_config.run_energy, epsilon); - // TODO: this is currently broken for USER-OMP with improper style hybrid + // TODO: this is currently broken for OPENMP with improper style hybrid // needs to be fixed in the main code somewhere. Not sure where, though. if (test_config.improper_style.substr(0, 6) != "hybrid") EXPECT_FP_LE_WITH_EPS(improper->energy, energy, epsilon); @@ -689,7 +689,7 @@ TEST(ImproperStyle, omp) id = lmp->modify->find_compute("sum"); energy = lmp->modify->compute[id]->compute_scalar(); EXPECT_FP_LE_WITH_EPS(improper->energy, test_config.run_energy, epsilon); - // TODO: this is currently broken for USER-OMP with improper style hybrid + // TODO: this is currently broken for OPENMP with improper style hybrid // needs to be fixed in the main code somewhere. Not sure where, though. if (test_config.improper_style.substr(0, 6) != "hybrid") EXPECT_FP_LE_WITH_EPS(improper->energy, energy, epsilon); diff --git a/unittest/force-styles/test_pair_style.cpp b/unittest/force-styles/test_pair_style.cpp index b8513237c5..f21ebbdb61 100644 --- a/unittest/force-styles/test_pair_style.cpp +++ b/unittest/force-styles/test_pair_style.cpp @@ -598,7 +598,7 @@ TEST(PairStyle, plain) TEST(PairStyle, omp) { - if (!LAMMPS::is_installed_pkg("USER-OMP")) GTEST_SKIP(); + if (!LAMMPS::is_installed_pkg("OPENMP")) GTEST_SKIP(); if (test_config.skip_tests.count(test_info_->name())) GTEST_SKIP(); const char *args[] = {"PairStyle", "-log", "none", "-echo", "screen", "-nocite", @@ -632,7 +632,7 @@ TEST(PairStyle, omp) const int nlocal = lmp->atom->nlocal; ASSERT_EQ(lmp->atom->natoms, nlocal); - // relax error a bit for USER-OMP package + // relax error a bit for OPENMP package double epsilon = 5.0 * test_config.epsilon; // relax test precision when using pppm and single precision FFTs #if defined(FFT_SINGLE) diff --git a/unittest/force-styles/tests/kspace-msm.yaml b/unittest/force-styles/tests/kspace-msm.yaml index f3cbb4604d..13e2e0a2c2 100644 --- a/unittest/force-styles/tests/kspace-msm.yaml +++ b/unittest/force-styles/tests/kspace-msm.yaml @@ -11,7 +11,7 @@ post_commands: ! | pair_modify compute no kspace_style msm 1.0e-4 kspace_modify cutoff/adjust no - kspace_modify pressure/scalar no # required for USER-OMP with msm + kspace_modify pressure/scalar no # required for OPENMP with msm input_file: in.fourmol pair_style: coul/msm 12.0 pair_coeff: ! | diff --git a/unittest/force-styles/tests/kspace-msm_cg.yaml b/unittest/force-styles/tests/kspace-msm_cg.yaml index 25892a4528..90b5999796 100644 --- a/unittest/force-styles/tests/kspace-msm_cg.yaml +++ b/unittest/force-styles/tests/kspace-msm_cg.yaml @@ -15,7 +15,7 @@ post_commands: ! | pair_modify compute no kspace_style msm/cg 1.0e-4 kspace_modify cutoff/adjust no - kspace_modify pressure/scalar no # required for USER-OMP with msm + kspace_modify pressure/scalar no # required for OPENMP with msm input_file: in.fourmol pair_style: coul/msm 12.0 pair_coeff: ! | diff --git a/unittest/force-styles/tests/kspace-msm_nopbc.yaml b/unittest/force-styles/tests/kspace-msm_nopbc.yaml index ce5e3cd0e3..9c071e90eb 100644 --- a/unittest/force-styles/tests/kspace-msm_nopbc.yaml +++ b/unittest/force-styles/tests/kspace-msm_nopbc.yaml @@ -12,7 +12,7 @@ post_commands: ! | pair_modify compute no kspace_style msm 1.0e-4 kspace_modify cutoff/adjust yes - kspace_modify pressure/scalar no # required for USER-OMP with msm + kspace_modify pressure/scalar no # required for OPENMP with msm input_file: in.fourmol pair_style: coul/msm 10.0 pair_coeff: ! | diff --git a/unittest/force-styles/tests/mol-pair-born_coul_msm.yaml b/unittest/force-styles/tests/mol-pair-born_coul_msm.yaml index c4c907a1e0..f664a72a21 100644 --- a/unittest/force-styles/tests/mol-pair-born_coul_msm.yaml +++ b/unittest/force-styles/tests/mol-pair-born_coul_msm.yaml @@ -12,7 +12,7 @@ post_commands: ! | kspace_style msm 1.0e-4 kspace_modify compute no kspace_modify cutoff/adjust no - kspace_modify pressure/scalar no # required for USER-OMP with msm + kspace_modify pressure/scalar no # required for OPENMP with msm input_file: in.fourmol pair_style: born/coul/msm 12.0 pair_coeff: ! | diff --git a/unittest/force-styles/tests/mol-pair-born_coul_msm_table.yaml b/unittest/force-styles/tests/mol-pair-born_coul_msm_table.yaml index 75f0f76a44..f25e04b008 100644 --- a/unittest/force-styles/tests/mol-pair-born_coul_msm_table.yaml +++ b/unittest/force-styles/tests/mol-pair-born_coul_msm_table.yaml @@ -12,7 +12,7 @@ post_commands: ! | kspace_style msm 1.0e-4 kspace_modify compute no kspace_modify cutoff/adjust no - kspace_modify pressure/scalar no # required for USER-OMP with msm + kspace_modify pressure/scalar no # required for OPENMP with msm input_file: in.fourmol pair_style: born/coul/msm 12.0 pair_coeff: ! | diff --git a/unittest/force-styles/tests/mol-pair-buck_coul_msm.yaml b/unittest/force-styles/tests/mol-pair-buck_coul_msm.yaml index 2a41370f62..db5131e253 100644 --- a/unittest/force-styles/tests/mol-pair-buck_coul_msm.yaml +++ b/unittest/force-styles/tests/mol-pair-buck_coul_msm.yaml @@ -13,7 +13,7 @@ post_commands: ! | kspace_style msm 1.0e-4 kspace_modify compute no kspace_modify cutoff/adjust no - kspace_modify pressure/scalar no # required for USER-OMP with msm + kspace_modify pressure/scalar no # required for OPENMP with msm input_file: in.fourmol pair_style: buck/coul/msm 8.0 pair_coeff: ! | diff --git a/unittest/force-styles/tests/mol-pair-buck_coul_msm_table.yaml b/unittest/force-styles/tests/mol-pair-buck_coul_msm_table.yaml index 8538187649..340ae4c9e6 100644 --- a/unittest/force-styles/tests/mol-pair-buck_coul_msm_table.yaml +++ b/unittest/force-styles/tests/mol-pair-buck_coul_msm_table.yaml @@ -14,7 +14,7 @@ post_commands: ! | kspace_style msm 1.0e-4 kspace_modify compute no kspace_modify cutoff/adjust no - kspace_modify pressure/scalar no # required for USER-OMP with msm + kspace_modify pressure/scalar no # required for OPENMP with msm input_file: in.fourmol pair_style: buck/coul/msm 8.0 pair_coeff: ! | diff --git a/unittest/force-styles/tests/mol-pair-coul_msm.yaml b/unittest/force-styles/tests/mol-pair-coul_msm.yaml index 83b8550101..fa374d7b13 100644 --- a/unittest/force-styles/tests/mol-pair-coul_msm.yaml +++ b/unittest/force-styles/tests/mol-pair-coul_msm.yaml @@ -13,7 +13,7 @@ post_commands: ! | kspace_style msm 1.0e-4 kspace_modify compute no kspace_modify cutoff/adjust no - kspace_modify pressure/scalar no # required for USER-OMP with msm + kspace_modify pressure/scalar no # required for OPENMP with msm input_file: in.fourmol pair_style: coul/msm 12.0 pair_coeff: ! | diff --git a/unittest/force-styles/tests/mol-pair-coul_msm_table.yaml b/unittest/force-styles/tests/mol-pair-coul_msm_table.yaml index e07fd6e639..48fe4a1908 100644 --- a/unittest/force-styles/tests/mol-pair-coul_msm_table.yaml +++ b/unittest/force-styles/tests/mol-pair-coul_msm_table.yaml @@ -14,7 +14,7 @@ post_commands: ! | kspace_style msm 1.0e-4 kspace_modify compute no kspace_modify cutoff/adjust no - kspace_modify pressure/scalar no # required for USER-OMP with msm + kspace_modify pressure/scalar no # required for OPENMP with msm input_file: in.fourmol pair_style: coul/msm 12.0 pair_coeff: ! | diff --git a/unittest/force-styles/tests/mol-pair-lj_charmm_coul_msm.yaml b/unittest/force-styles/tests/mol-pair-lj_charmm_coul_msm.yaml index b3884c3b11..04670511d0 100644 --- a/unittest/force-styles/tests/mol-pair-lj_charmm_coul_msm.yaml +++ b/unittest/force-styles/tests/mol-pair-lj_charmm_coul_msm.yaml @@ -13,7 +13,7 @@ post_commands: ! | kspace_style msm 1.0e-4 kspace_modify compute no kspace_modify cutoff/adjust no - kspace_modify pressure/scalar no # required for USER-OMP with msm + kspace_modify pressure/scalar no # required for OPENMP with msm input_file: in.fourmol pair_style: lj/charmm/coul/msm 10.0 12.0 pair_coeff: ! | diff --git a/unittest/force-styles/tests/mol-pair-lj_charmm_coul_msm_table.yaml b/unittest/force-styles/tests/mol-pair-lj_charmm_coul_msm_table.yaml index 0755c7e3a6..5f9053fbb8 100644 --- a/unittest/force-styles/tests/mol-pair-lj_charmm_coul_msm_table.yaml +++ b/unittest/force-styles/tests/mol-pair-lj_charmm_coul_msm_table.yaml @@ -14,7 +14,7 @@ post_commands: ! | kspace_style msm 1.0e-4 kspace_modify compute no kspace_modify cutoff/adjust no - kspace_modify pressure/scalar no # required for USER-OMP with msm + kspace_modify pressure/scalar no # required for OPENMP with msm input_file: in.fourmol pair_style: lj/charmm/coul/msm 10.0 12.0 pair_coeff: ! | diff --git a/unittest/force-styles/tests/mol-pair-lj_cut_coul_msm.yaml b/unittest/force-styles/tests/mol-pair-lj_cut_coul_msm.yaml index 2bb831e66b..a02cad3f1b 100644 --- a/unittest/force-styles/tests/mol-pair-lj_cut_coul_msm.yaml +++ b/unittest/force-styles/tests/mol-pair-lj_cut_coul_msm.yaml @@ -14,7 +14,7 @@ post_commands: ! | kspace_style msm 1.0e-4 kspace_modify compute no kspace_modify cutoff/adjust no - kspace_modify pressure/scalar no # required for USER-OMP with msm + kspace_modify pressure/scalar no # required for OPENMP with msm input_file: in.fourmol pair_style: lj/cut/coul/msm 12.0 pair_coeff: ! | diff --git a/unittest/force-styles/tests/mol-pair-lj_cut_coul_msm_table.yaml b/unittest/force-styles/tests/mol-pair-lj_cut_coul_msm_table.yaml index ccb0da249f..3c9bf6e724 100644 --- a/unittest/force-styles/tests/mol-pair-lj_cut_coul_msm_table.yaml +++ b/unittest/force-styles/tests/mol-pair-lj_cut_coul_msm_table.yaml @@ -14,7 +14,7 @@ post_commands: ! | kspace_style msm 1.0e-4 kspace_modify compute no kspace_modify cutoff/adjust no - kspace_modify pressure/scalar no # required for USER-OMP with msm + kspace_modify pressure/scalar no # required for OPENMP with msm input_file: in.fourmol pair_style: lj/cut/coul/msm 12.0 pair_coeff: ! | diff --git a/unittest/force-styles/tests/mol-pair-lj_sdk_coul_msm.yaml b/unittest/force-styles/tests/mol-pair-lj_sdk_coul_msm.yaml index 4df3f42891..0a5043adca 100644 --- a/unittest/force-styles/tests/mol-pair-lj_sdk_coul_msm.yaml +++ b/unittest/force-styles/tests/mol-pair-lj_sdk_coul_msm.yaml @@ -13,7 +13,7 @@ post_commands: ! | kspace_style msm 1.0e-4 kspace_modify compute no kspace_modify cutoff/adjust no - kspace_modify pressure/scalar no # required for USER-OMP with msm + kspace_modify pressure/scalar no # required for OPENMP with msm input_file: in.fourmol pair_style: lj/sdk/coul/msm 12.0 pair_coeff: ! | diff --git a/unittest/force-styles/tests/mol-pair-lj_sdk_coul_msm_table.yaml b/unittest/force-styles/tests/mol-pair-lj_sdk_coul_msm_table.yaml index 4f95ee2e34..eff2216f29 100644 --- a/unittest/force-styles/tests/mol-pair-lj_sdk_coul_msm_table.yaml +++ b/unittest/force-styles/tests/mol-pair-lj_sdk_coul_msm_table.yaml @@ -14,7 +14,7 @@ post_commands: ! | kspace_style msm 1.0e-4 kspace_modify compute no kspace_modify cutoff/adjust no - kspace_modify pressure/scalar no # required for USER-OMP with msm + kspace_modify pressure/scalar no # required for OPENMP with msm input_file: in.fourmol pair_style: lj/sdk/coul/msm 12.0 pair_coeff: ! | diff --git a/unittest/python/python-capabilities.py b/unittest/python/python-capabilities.py index 2ace093a7e..b3bc46afd3 100644 --- a/unittest/python/python-capabilities.py +++ b/unittest/python/python-capabilities.py @@ -133,12 +133,12 @@ class PythonCapabilities(unittest.TestCase): def test_accelerator_config(self): settings = self.lmp.accelerator_config - if self.cmake_cache['PKG_USER-OMP']: + if self.cmake_cache['PKG_OPENMP']: if self.cmake_cache['BUILD_OMP']: - self.assertIn('openmp',settings['USER-OMP']['api']) + self.assertIn('openmp',settings['OPENMP']['api']) else: - self.assertIn('serial',settings['USER-OMP']['api']) - self.assertIn('double',settings['USER-OMP']['precision']) + self.assertIn('serial',settings['OPENMP']['api']) + self.assertIn('double',settings['OPENMP']['precision']) if self.cmake_cache['PKG_USER-INTEL']: if 'LMP_INTEL_OFFLOAD' in self.cmake_cache.keys(): From 6ceedb62be6ae26e07b7e389453894bb2894fe30 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 29 Jun 2021 19:37:55 -0400 Subject: [PATCH 313/726] rename USER-REAXC to REAXFF --- .github/CODEOWNERS | 2 +- bench/POTENTIALS/log.9Oct20.reaxc.1 | 2 +- bench/POTENTIALS/log.9Oct20.reaxc.4 | 2 +- cmake/CMakeLists.txt | 2 +- cmake/Modules/Packages/OPENMP.cmake | 2 +- cmake/presets/all_off.cmake | 2 +- cmake/presets/all_on.cmake | 2 +- cmake/presets/mingw-cross.cmake | 2 +- cmake/presets/most.cmake | 2 +- doc/include-file-conventions.md | 2 +- doc/src/Commands_removed.rst | 2 +- doc/src/Intro_authors.rst | 2 +- doc/src/Packages_details.rst | 12 ++++++------ doc/src/Packages_user.rst | 2 +- doc/src/fix_qeq_reax.rst | 2 +- doc/src/fix_reaxc_bonds.rst | 2 +- doc/src/fix_reaxc_species.rst | 2 +- doc/src/pair_reaxc.rst | 2 +- src/Depend.sh | 2 +- src/Makefile | 2 +- src/{USER-REAXC => REAXFF}/README | 2 +- src/{USER-REAXC => REAXFF}/compute_spec_atom.cpp | 0 src/{USER-REAXC => REAXFF}/compute_spec_atom.h | 0 src/{USER-REAXC => REAXFF}/fix_qeq_reax.cpp | 0 src/{USER-REAXC => REAXFF}/fix_qeq_reax.h | 0 src/{USER-REAXC => REAXFF}/fix_reaxc.cpp | 0 src/{USER-REAXC => REAXFF}/fix_reaxc.h | 0 src/{USER-REAXC => REAXFF}/fix_reaxc_bonds.cpp | 0 src/{USER-REAXC => REAXFF}/fix_reaxc_bonds.h | 0 src/{USER-REAXC => REAXFF}/fix_reaxc_species.cpp | 0 src/{USER-REAXC => REAXFF}/fix_reaxc_species.h | 0 src/{USER-REAXC => REAXFF}/pair_reaxc.cpp | 0 src/{USER-REAXC => REAXFF}/pair_reaxc.h | 0 src/{USER-REAXC => REAXFF}/reaxc_allocate.cpp | 0 src/{USER-REAXC => REAXFF}/reaxc_allocate.h | 0 src/{USER-REAXC => REAXFF}/reaxc_bond_orders.cpp | 0 src/{USER-REAXC => REAXFF}/reaxc_bond_orders.h | 0 src/{USER-REAXC => REAXFF}/reaxc_bonds.cpp | 0 src/{USER-REAXC => REAXFF}/reaxc_bonds.h | 0 src/{USER-REAXC => REAXFF}/reaxc_control.cpp | 0 src/{USER-REAXC => REAXFF}/reaxc_control.h | 0 src/{USER-REAXC => REAXFF}/reaxc_defs.h | 0 src/{USER-REAXC => REAXFF}/reaxc_ffield.cpp | 0 src/{USER-REAXC => REAXFF}/reaxc_ffield.h | 0 src/{USER-REAXC => REAXFF}/reaxc_forces.cpp | 0 src/{USER-REAXC => REAXFF}/reaxc_forces.h | 0 src/{USER-REAXC => REAXFF}/reaxc_hydrogen_bonds.cpp | 0 src/{USER-REAXC => REAXFF}/reaxc_hydrogen_bonds.h | 0 src/{USER-REAXC => REAXFF}/reaxc_init_md.cpp | 0 src/{USER-REAXC => REAXFF}/reaxc_init_md.h | 0 src/{USER-REAXC => REAXFF}/reaxc_io_tools.cpp | 0 src/{USER-REAXC => REAXFF}/reaxc_io_tools.h | 0 src/{USER-REAXC => REAXFF}/reaxc_list.cpp | 0 src/{USER-REAXC => REAXFF}/reaxc_list.h | 0 src/{USER-REAXC => REAXFF}/reaxc_lookup.cpp | 0 src/{USER-REAXC => REAXFF}/reaxc_lookup.h | 0 src/{USER-REAXC => REAXFF}/reaxc_multi_body.cpp | 0 src/{USER-REAXC => REAXFF}/reaxc_multi_body.h | 0 src/{USER-REAXC => REAXFF}/reaxc_nonbonded.cpp | 0 src/{USER-REAXC => REAXFF}/reaxc_nonbonded.h | 0 src/{USER-REAXC => REAXFF}/reaxc_reset_tools.cpp | 0 src/{USER-REAXC => REAXFF}/reaxc_reset_tools.h | 0 src/{USER-REAXC => REAXFF}/reaxc_system_props.cpp | 0 src/{USER-REAXC => REAXFF}/reaxc_system_props.h | 0 src/{USER-REAXC => REAXFF}/reaxc_tool_box.cpp | 0 src/{USER-REAXC => REAXFF}/reaxc_tool_box.h | 0 src/{USER-REAXC => REAXFF}/reaxc_torsion_angles.cpp | 0 src/{USER-REAXC => REAXFF}/reaxc_torsion_angles.h | 0 src/{USER-REAXC => REAXFF}/reaxc_traj.cpp | 0 src/{USER-REAXC => REAXFF}/reaxc_traj.h | 0 src/{USER-REAXC => REAXFF}/reaxc_types.h | 0 src/{USER-REAXC => REAXFF}/reaxc_valence_angles.cpp | 0 src/{USER-REAXC => REAXFF}/reaxc_valence_angles.h | 0 src/{USER-REAXC => REAXFF}/reaxc_vector.cpp | 0 src/{USER-REAXC => REAXFF}/reaxc_vector.h | 0 75 files changed, 26 insertions(+), 26 deletions(-) rename src/{USER-REAXC => REAXFF}/README (97%) rename src/{USER-REAXC => REAXFF}/compute_spec_atom.cpp (100%) rename src/{USER-REAXC => REAXFF}/compute_spec_atom.h (100%) rename src/{USER-REAXC => REAXFF}/fix_qeq_reax.cpp (100%) rename src/{USER-REAXC => REAXFF}/fix_qeq_reax.h (100%) rename src/{USER-REAXC => REAXFF}/fix_reaxc.cpp (100%) rename src/{USER-REAXC => REAXFF}/fix_reaxc.h (100%) rename src/{USER-REAXC => REAXFF}/fix_reaxc_bonds.cpp (100%) rename src/{USER-REAXC => REAXFF}/fix_reaxc_bonds.h (100%) rename src/{USER-REAXC => REAXFF}/fix_reaxc_species.cpp (100%) rename src/{USER-REAXC => REAXFF}/fix_reaxc_species.h (100%) rename src/{USER-REAXC => REAXFF}/pair_reaxc.cpp (100%) rename src/{USER-REAXC => REAXFF}/pair_reaxc.h (100%) rename src/{USER-REAXC => REAXFF}/reaxc_allocate.cpp (100%) rename src/{USER-REAXC => REAXFF}/reaxc_allocate.h (100%) rename src/{USER-REAXC => REAXFF}/reaxc_bond_orders.cpp (100%) rename src/{USER-REAXC => REAXFF}/reaxc_bond_orders.h (100%) rename src/{USER-REAXC => REAXFF}/reaxc_bonds.cpp (100%) rename src/{USER-REAXC => REAXFF}/reaxc_bonds.h (100%) rename src/{USER-REAXC => REAXFF}/reaxc_control.cpp (100%) rename src/{USER-REAXC => REAXFF}/reaxc_control.h (100%) rename src/{USER-REAXC => REAXFF}/reaxc_defs.h (100%) rename src/{USER-REAXC => REAXFF}/reaxc_ffield.cpp (100%) rename src/{USER-REAXC => REAXFF}/reaxc_ffield.h (100%) rename src/{USER-REAXC => REAXFF}/reaxc_forces.cpp (100%) rename src/{USER-REAXC => REAXFF}/reaxc_forces.h (100%) rename src/{USER-REAXC => REAXFF}/reaxc_hydrogen_bonds.cpp (100%) rename src/{USER-REAXC => REAXFF}/reaxc_hydrogen_bonds.h (100%) rename src/{USER-REAXC => REAXFF}/reaxc_init_md.cpp (100%) rename src/{USER-REAXC => REAXFF}/reaxc_init_md.h (100%) rename src/{USER-REAXC => REAXFF}/reaxc_io_tools.cpp (100%) rename src/{USER-REAXC => REAXFF}/reaxc_io_tools.h (100%) rename src/{USER-REAXC => REAXFF}/reaxc_list.cpp (100%) rename src/{USER-REAXC => REAXFF}/reaxc_list.h (100%) rename src/{USER-REAXC => REAXFF}/reaxc_lookup.cpp (100%) rename src/{USER-REAXC => REAXFF}/reaxc_lookup.h (100%) rename src/{USER-REAXC => REAXFF}/reaxc_multi_body.cpp (100%) rename src/{USER-REAXC => REAXFF}/reaxc_multi_body.h (100%) rename src/{USER-REAXC => REAXFF}/reaxc_nonbonded.cpp (100%) rename src/{USER-REAXC => REAXFF}/reaxc_nonbonded.h (100%) rename src/{USER-REAXC => REAXFF}/reaxc_reset_tools.cpp (100%) rename src/{USER-REAXC => REAXFF}/reaxc_reset_tools.h (100%) rename src/{USER-REAXC => REAXFF}/reaxc_system_props.cpp (100%) rename src/{USER-REAXC => REAXFF}/reaxc_system_props.h (100%) rename src/{USER-REAXC => REAXFF}/reaxc_tool_box.cpp (100%) rename src/{USER-REAXC => REAXFF}/reaxc_tool_box.h (100%) rename src/{USER-REAXC => REAXFF}/reaxc_torsion_angles.cpp (100%) rename src/{USER-REAXC => REAXFF}/reaxc_torsion_angles.h (100%) rename src/{USER-REAXC => REAXFF}/reaxc_traj.cpp (100%) rename src/{USER-REAXC => REAXFF}/reaxc_traj.h (100%) rename src/{USER-REAXC => REAXFF}/reaxc_types.h (100%) rename src/{USER-REAXC => REAXFF}/reaxc_valence_angles.cpp (100%) rename src/{USER-REAXC => REAXFF}/reaxc_valence_angles.h (100%) rename src/{USER-REAXC => REAXFF}/reaxc_vector.cpp (100%) rename src/{USER-REAXC => REAXFF}/reaxc_vector.h (100%) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index d7311de47e..d1d87f2576 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -43,7 +43,7 @@ src/USER-PHONON/* @lingtikong src/USER-PTM/* @pmla src/OPENMP/* @akohlmey src/USER-QMMM/* @akohlmey -src/USER-REAXC/* @hasanmetin +src/REAXFF/* @hasanmetin src/USER-REACTION/* @jrgissing src/USER-SCAFACOS/* @rhalver src/USER-TALLY/* @akohlmey diff --git a/bench/POTENTIALS/log.9Oct20.reaxc.1 b/bench/POTENTIALS/log.9Oct20.reaxc.1 index fc89a32c85..86e35aa664 100644 --- a/bench/POTENTIALS/log.9Oct20.reaxc.1 +++ b/bench/POTENTIALS/log.9Oct20.reaxc.1 @@ -24,7 +24,7 @@ velocity all create 300.0 9999 pair_style reax/c NULL pair_coeff * * ffield.reax C H O N -WARNING: Changed valency_val to valency_boc for X (src/USER-REAXC/reaxc_ffield.cpp:315) +WARNING: Changed valency_val to valency_boc for X (src/REAXFF/reaxc_ffield.cpp:315) timestep 0.1 fix 1 all nve diff --git a/bench/POTENTIALS/log.9Oct20.reaxc.4 b/bench/POTENTIALS/log.9Oct20.reaxc.4 index c72cc9185d..f83ad2a05a 100644 --- a/bench/POTENTIALS/log.9Oct20.reaxc.4 +++ b/bench/POTENTIALS/log.9Oct20.reaxc.4 @@ -24,7 +24,7 @@ velocity all create 300.0 9999 pair_style reax/c NULL pair_coeff * * ffield.reax C H O N -WARNING: Changed valency_val to valency_boc for X (src/USER-REAXC/reaxc_ffield.cpp:315) +WARNING: Changed valency_val to valency_boc for X (src/REAXFF/reaxc_ffield.cpp:315) timestep 0.1 fix 1 all nve diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 0e937544cf..f7328290cf 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -145,7 +145,7 @@ set(STANDARD_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS DIPOLE USER-COLVARS USER-DIELECTRIC USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD ML-HDNNP LATBOLTZ USER-MANIFOLD USER-MDI MEAM USER-MESONT USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF USER-PHONON USER-PLUMED USER-PTM USER-QTB - ML-RANN USER-REACTION USER-REAXC USER-SCAFACOS USER-SDPD MACHDYN USER-SMTBQ USER-SPH + ML-RANN USER-REACTION REAXFF USER-SCAFACOS USER-SDPD MACHDYN USER-SMTBQ USER-SPH USER-TALLY USER-UEF USER-VTK ML-QUIP USER-QMMM USER-YAFF ML-PACE USER-BROWNIAN) set(SUFFIX_PACKAGES CORESHELL GPU KOKKOS OPT USER-INTEL OPENMP) diff --git a/cmake/Modules/Packages/OPENMP.cmake b/cmake/Modules/Packages/OPENMP.cmake index 4c165602d5..922df86ef6 100644 --- a/cmake/Modules/Packages/OPENMP.cmake +++ b/cmake/Modules/Packages/OPENMP.cmake @@ -24,7 +24,7 @@ list(APPEND OPENMP_SOURCES ${OPENMP_SOURCES_DIR}/fix_rigid_nh_omp.cpp) endif() - if(PKG_USER-REAXC) + if(PKG_REAXFF) list(APPEND OPENMP_SOURCES ${OPENMP_SOURCES_DIR}/reaxc_bond_orders_omp.cpp ${OPENMP_SOURCES_DIR}/reaxc_hydrogen_bonds_omp.cpp ${OPENMP_SOURCES_DIR}/reaxc_nonbonded_omp.cpp diff --git a/cmake/presets/all_off.cmake b/cmake/presets/all_off.cmake index f41898fbdc..a6bb0ece5c 100644 --- a/cmake/presets/all_off.cmake +++ b/cmake/presets/all_off.cmake @@ -10,7 +10,7 @@ set(ALL_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU ML-HDNNP USER-INTEL LATBOLTZ USER-MANIFOLD USER-MDI MEAM USER-MESODPD USER-MESONT USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF OPENMP ML-PACE USER-PHONON USER-PLUMED USER-PTM USER-QMMM USER-QTB ML-QUIP ML-RANN - USER-REACTION USER-REAXC USER-SCAFACOS USER-SDPD MACHDYN USER-SMTBQ USER-SPH + USER-REACTION REAXFF USER-SCAFACOS USER-SDPD MACHDYN USER-SMTBQ USER-SPH USER-TALLY USER-UEF USER-VTK USER-YAFF USER-DIELECTRIC) foreach(PKG ${ALL_PACKAGES}) diff --git a/cmake/presets/all_on.cmake b/cmake/presets/all_on.cmake index e60c95f8a0..632188d4b5 100644 --- a/cmake/presets/all_on.cmake +++ b/cmake/presets/all_on.cmake @@ -12,7 +12,7 @@ set(ALL_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU ML-HDNNP USER-INTEL LATBOLTZ USER-MANIFOLD USER-MDI MEAM USER-MESODPD USER-MESONT USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF OPENMP ML-PACE USER-PHONON USER-PLUMED USER-PTM USER-QMMM USER-QTB ML-QUIP ML-RANN - USER-REACTION USER-REAXC USER-SCAFACOS USER-SDPD MACHDYN USER-SMTBQ USER-SPH + USER-REACTION REAXFF USER-SCAFACOS USER-SDPD MACHDYN USER-SMTBQ USER-SPH USER-TALLY USER-UEF USER-VTK USER-YAFF USER-DIELECTRIC) foreach(PKG ${ALL_PACKAGES}) diff --git a/cmake/presets/mingw-cross.cmake b/cmake/presets/mingw-cross.cmake index eb81c401c1..b50a4a6647 100644 --- a/cmake/presets/mingw-cross.cmake +++ b/cmake/presets/mingw-cross.cmake @@ -5,7 +5,7 @@ set(WIN_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP ML-HDNNP USER-INTEL USER-MANIFOLD USER-MDI MEAM USER-MESODPD USER-MESONT USER-MISC USER-MGPT USER-MOFFF USER-MOLFILE OPENMP - USER-PHONON USER-PTM USER-QTB USER-REACTION USER-REAXC + USER-PHONON USER-PTM USER-QTB USER-REACTION REAXFF USER-SDPD MACHDYN USER-SMTBQ USER-SPH USER-TALLY USER-UEF USER-YAFF USER-DIELECTRIC) diff --git a/cmake/presets/most.cmake b/cmake/presets/most.cmake index 35c37badd2..d2bcef5b49 100644 --- a/cmake/presets/most.cmake +++ b/cmake/presets/most.cmake @@ -8,7 +8,7 @@ set(ALL_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE USER-BROWNIAN USER-BOCS CG-DNA CG-SDK USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP MEAM USER-MESODPD USER-MISC USER-MOFFF OPENMP USER-PHONON USER-REACTION - USER-REAXC USER-SDPD USER-SPH MACHDYN USER-UEF USER-YAFF USER-DIELECTRIC) + REAXFF USER-SDPD USER-SPH MACHDYN USER-UEF USER-YAFF USER-DIELECTRIC) foreach(PKG ${ALL_PACKAGES}) set(PKG_${PKG} ON CACHE BOOL "" FORCE) diff --git a/doc/include-file-conventions.md b/doc/include-file-conventions.md index 87b9eba8df..67857da68e 100644 --- a/doc/include-file-conventions.md +++ b/doc/include-file-conventions.md @@ -122,7 +122,7 @@ recorded compilation commands information when typing `make iwyu`. A lot of code predates the application of the rules in this document and the rules themselves are a moving target. So there are going to be significant chunks of code that do not fully comply. This applies -for example to the USER-REAXC, or the USER-ATC package. The LAMMPS +for example to the REAXFF, or the USER-ATC package. The LAMMPS developers are dedicated to make an effort to improve the compliance and welcome volunteers wanting to help with the process. diff --git a/doc/src/Commands_removed.rst b/doc/src/Commands_removed.rst index 0d2243be16..1000d11e29 100644 --- a/doc/src/Commands_removed.rst +++ b/doc/src/Commands_removed.rst @@ -36,7 +36,7 @@ REAX package ------------ The REAX package has been removed since it was superseded by the -:ref:`USER-REAXC package `. The USER-REAXC +:ref:`REAXFF package `. The REAXFF package has been tested to yield equivalent results to the REAX package, offers better performance, supports OpenMP multi-threading via OPENMP, and GPU and threading parallelization through KOKKOS. The new pair styles diff --git a/doc/src/Intro_authors.rst b/doc/src/Intro_authors.rst index eb0286c771..355dd02b9b 100644 --- a/doc/src/Intro_authors.rst +++ b/doc/src/Intro_authors.rst @@ -29,7 +29,7 @@ The following folks deserve special recognition. Many of the packages they have written are unique for an MD code and LAMMPS would not be as general-purpose as it is without their expertise and efforts. -* Metin Aktulga (MSU), USER-REAXC package for C version of ReaxFF +* Metin Aktulga (MSU), REAXFF package for C version of ReaxFF * Mike Brown (Intel), GPU and USER-INTEL packages * Colin Denniston (U Western Ontario), LATBOLTZ package * Georg Ganzenmuller (EMI), MACHDYN and USER-SPH packages diff --git a/doc/src/Packages_details.rst b/doc/src/Packages_details.rst index 5c1a82c196..ab3cfaa896 100644 --- a/doc/src/Packages_details.rst +++ b/doc/src/Packages_details.rst @@ -103,7 +103,7 @@ page gives those details. * :ref:`ML-QUIP ` * :ref:`ML-RANN ` * :ref:`USER-REACTION ` - * :ref:`USER-REAXC ` + * :ref:`REAXFF ` * :ref:`USER-SCAFACOS ` * :ref:`USER-SDPD ` * :ref:`MACHDYN ` @@ -2358,15 +2358,15 @@ molecules, and chiral-sensitive reactions. ---------- -.. _PKG-USER-REAXC: +.. _PKG-REAXFF: -USER-REAXC package +REAXFF package ------------------ **Contents:** A pair style which implements the ReaxFF potential in C/C++. ReaxFF -is a universal reactive force field. See the src/USER-REAXC/README file +is a universal reactive force field. See the src/REAXFF/README file for more info on differences between the two packages. Also two fixes for monitoring molecules as bonds are created and destroyed. @@ -2374,8 +2374,8 @@ for monitoring molecules as bonds are created and destroyed. **Supporting info:** -* src/USER-REAXC: filenames -> commands -* src/USER-REAXC/README +* src/REAXFF: filenames -> commands +* src/REAXFF/README * :doc:`pair_style reax/c ` * :doc:`fix reax/c/bonds ` * :doc:`fix reax/c/species ` diff --git a/doc/src/Packages_user.rst b/doc/src/Packages_user.rst index 8bac568002..baa9f395f7 100644 --- a/doc/src/Packages_user.rst +++ b/doc/src/Packages_user.rst @@ -107,7 +107,7 @@ package: +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ | :ref:`USER-REACTION ` | chemical reactions in classical MD | :doc:`fix bond/react ` | USER/reaction | no | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`USER-REAXC ` | ReaxFF potential (C/C++) | :doc:`pair_style reaxc ` | reax | no | +| :ref:`REAXFF ` | ReaxFF potential (C/C++) | :doc:`pair_style reaxc ` | reax | no | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ | :ref:`USER-SCAFACOS ` | wrapper on ScaFaCoS solver | :doc:`kspace_style scafacos ` | USER/scafacos | ext | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ diff --git a/doc/src/fix_qeq_reax.rst b/doc/src/fix_qeq_reax.rst index 8752888c4c..1b0f4c37e5 100644 --- a/doc/src/fix_qeq_reax.rst +++ b/doc/src/fix_qeq_reax.rst @@ -97,7 +97,7 @@ This fix is invoked during :doc:`energy minimization `. Restrictions """""""""""" -This fix is part of the USER-REAXC package. It is only enabled if +This fix is part of the REAXFF package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. This fix does not correctly handle interactions diff --git a/doc/src/fix_reaxc_bonds.rst b/doc/src/fix_reaxc_bonds.rst index 2d0d2d18db..9207ee7a63 100644 --- a/doc/src/fix_reaxc_bonds.rst +++ b/doc/src/fix_reaxc_bonds.rst @@ -77,7 +77,7 @@ Restrictions """""""""""" The fix reax/c/bonds command requires that the :doc:`pair_style reax/c ` is invoked. This fix is part of the -USER-REAXC package. It is only enabled if LAMMPS was built with that +REAXFF package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. diff --git a/doc/src/fix_reaxc_species.rst b/doc/src/fix_reaxc_species.rst index 9935ecaa3a..bce140a9af 100644 --- a/doc/src/fix_reaxc_species.rst +++ b/doc/src/fix_reaxc_species.rst @@ -146,7 +146,7 @@ Restrictions """""""""""" The "fix reax/c/species" currently only works with :doc:`pair_style reax/c ` and it requires that the :doc:`pair_style reax/c ` be invoked. This fix is part of the -USER-REAXC package. It is only enabled if LAMMPS was built with that +REAXFF package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. diff --git a/doc/src/pair_reaxc.rst b/doc/src/pair_reaxc.rst index b28b387e0b..352bcb4847 100644 --- a/doc/src/pair_reaxc.rst +++ b/doc/src/pair_reaxc.rst @@ -332,7 +332,7 @@ This pair style can only be used via the *pair* keyword of the Restrictions """""""""""" -This pair style is part of the USER-REAXC package. It is only enabled +This pair style is part of the REAXFF package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. The ReaxFF potential files provided with LAMMPS in the potentials diff --git a/src/Depend.sh b/src/Depend.sh index 1d14137bdd..b4540b96a5 100755 --- a/src/Depend.sh +++ b/src/Depend.sh @@ -145,7 +145,7 @@ if (test $1 = "USER-MISC") then depend USER-INTEL fi -if (test $1 = "USER-REAXC") then +if (test $1 = "REAXFF") then depend KOKKOS depend OPENMP fi diff --git a/src/Makefile b/src/Makefile index 94f94100b4..7c27c31cab 100644 --- a/src/Makefile +++ b/src/Makefile @@ -57,7 +57,7 @@ PACKUSER = user-adios user-atc user-awpmd user-brownian user-bocs cg-dna \ user-mdi meam user-mesodpd user-mesont user-mgpt user-misc \ user-mofff user-molfile user-netcdf openmp user-phonon \ ml-pace user-plumed user-ptm user-qmmm user-qtb ml-quip \ - ml-rann user-reaction user-reaxc user-scafacos machdyn user-smtbq \ + ml-rann user-reaction reaxff user-scafacos machdyn user-smtbq \ user-sdpd user-sph user-tally user-uef user-vtk user-yaff PACKLIB = compress gpu kim kokkos latte message mpiio mscg poems python voronoi \ diff --git a/src/USER-REAXC/README b/src/REAXFF/README similarity index 97% rename from src/USER-REAXC/README rename to src/REAXFF/README index d21fbb791d..485a56785e 100644 --- a/src/USER-REAXC/README +++ b/src/REAXFF/README @@ -4,7 +4,7 @@ represent the contributions of chemical bonding to the potential energy. It was originally developed by Adri van Duin and the Goddard group at CalTech. -The USER-REAXC version of ReaxFF (pair_style reax/c), implemented in +The REAXFF version of ReaxFF (pair_style reax/c), implemented in C, should give identical or very similar results to pair_style reax, which is a ReaxFF implementation on top of a Fortran library, a version of which library was originally authored by Adri van Duin. diff --git a/src/USER-REAXC/compute_spec_atom.cpp b/src/REAXFF/compute_spec_atom.cpp similarity index 100% rename from src/USER-REAXC/compute_spec_atom.cpp rename to src/REAXFF/compute_spec_atom.cpp diff --git a/src/USER-REAXC/compute_spec_atom.h b/src/REAXFF/compute_spec_atom.h similarity index 100% rename from src/USER-REAXC/compute_spec_atom.h rename to src/REAXFF/compute_spec_atom.h diff --git a/src/USER-REAXC/fix_qeq_reax.cpp b/src/REAXFF/fix_qeq_reax.cpp similarity index 100% rename from src/USER-REAXC/fix_qeq_reax.cpp rename to src/REAXFF/fix_qeq_reax.cpp diff --git a/src/USER-REAXC/fix_qeq_reax.h b/src/REAXFF/fix_qeq_reax.h similarity index 100% rename from src/USER-REAXC/fix_qeq_reax.h rename to src/REAXFF/fix_qeq_reax.h diff --git a/src/USER-REAXC/fix_reaxc.cpp b/src/REAXFF/fix_reaxc.cpp similarity index 100% rename from src/USER-REAXC/fix_reaxc.cpp rename to src/REAXFF/fix_reaxc.cpp diff --git a/src/USER-REAXC/fix_reaxc.h b/src/REAXFF/fix_reaxc.h similarity index 100% rename from src/USER-REAXC/fix_reaxc.h rename to src/REAXFF/fix_reaxc.h diff --git a/src/USER-REAXC/fix_reaxc_bonds.cpp b/src/REAXFF/fix_reaxc_bonds.cpp similarity index 100% rename from src/USER-REAXC/fix_reaxc_bonds.cpp rename to src/REAXFF/fix_reaxc_bonds.cpp diff --git a/src/USER-REAXC/fix_reaxc_bonds.h b/src/REAXFF/fix_reaxc_bonds.h similarity index 100% rename from src/USER-REAXC/fix_reaxc_bonds.h rename to src/REAXFF/fix_reaxc_bonds.h diff --git a/src/USER-REAXC/fix_reaxc_species.cpp b/src/REAXFF/fix_reaxc_species.cpp similarity index 100% rename from src/USER-REAXC/fix_reaxc_species.cpp rename to src/REAXFF/fix_reaxc_species.cpp diff --git a/src/USER-REAXC/fix_reaxc_species.h b/src/REAXFF/fix_reaxc_species.h similarity index 100% rename from src/USER-REAXC/fix_reaxc_species.h rename to src/REAXFF/fix_reaxc_species.h diff --git a/src/USER-REAXC/pair_reaxc.cpp b/src/REAXFF/pair_reaxc.cpp similarity index 100% rename from src/USER-REAXC/pair_reaxc.cpp rename to src/REAXFF/pair_reaxc.cpp diff --git a/src/USER-REAXC/pair_reaxc.h b/src/REAXFF/pair_reaxc.h similarity index 100% rename from src/USER-REAXC/pair_reaxc.h rename to src/REAXFF/pair_reaxc.h diff --git a/src/USER-REAXC/reaxc_allocate.cpp b/src/REAXFF/reaxc_allocate.cpp similarity index 100% rename from src/USER-REAXC/reaxc_allocate.cpp rename to src/REAXFF/reaxc_allocate.cpp diff --git a/src/USER-REAXC/reaxc_allocate.h b/src/REAXFF/reaxc_allocate.h similarity index 100% rename from src/USER-REAXC/reaxc_allocate.h rename to src/REAXFF/reaxc_allocate.h diff --git a/src/USER-REAXC/reaxc_bond_orders.cpp b/src/REAXFF/reaxc_bond_orders.cpp similarity index 100% rename from src/USER-REAXC/reaxc_bond_orders.cpp rename to src/REAXFF/reaxc_bond_orders.cpp diff --git a/src/USER-REAXC/reaxc_bond_orders.h b/src/REAXFF/reaxc_bond_orders.h similarity index 100% rename from src/USER-REAXC/reaxc_bond_orders.h rename to src/REAXFF/reaxc_bond_orders.h diff --git a/src/USER-REAXC/reaxc_bonds.cpp b/src/REAXFF/reaxc_bonds.cpp similarity index 100% rename from src/USER-REAXC/reaxc_bonds.cpp rename to src/REAXFF/reaxc_bonds.cpp diff --git a/src/USER-REAXC/reaxc_bonds.h b/src/REAXFF/reaxc_bonds.h similarity index 100% rename from src/USER-REAXC/reaxc_bonds.h rename to src/REAXFF/reaxc_bonds.h diff --git a/src/USER-REAXC/reaxc_control.cpp b/src/REAXFF/reaxc_control.cpp similarity index 100% rename from src/USER-REAXC/reaxc_control.cpp rename to src/REAXFF/reaxc_control.cpp diff --git a/src/USER-REAXC/reaxc_control.h b/src/REAXFF/reaxc_control.h similarity index 100% rename from src/USER-REAXC/reaxc_control.h rename to src/REAXFF/reaxc_control.h diff --git a/src/USER-REAXC/reaxc_defs.h b/src/REAXFF/reaxc_defs.h similarity index 100% rename from src/USER-REAXC/reaxc_defs.h rename to src/REAXFF/reaxc_defs.h diff --git a/src/USER-REAXC/reaxc_ffield.cpp b/src/REAXFF/reaxc_ffield.cpp similarity index 100% rename from src/USER-REAXC/reaxc_ffield.cpp rename to src/REAXFF/reaxc_ffield.cpp diff --git a/src/USER-REAXC/reaxc_ffield.h b/src/REAXFF/reaxc_ffield.h similarity index 100% rename from src/USER-REAXC/reaxc_ffield.h rename to src/REAXFF/reaxc_ffield.h diff --git a/src/USER-REAXC/reaxc_forces.cpp b/src/REAXFF/reaxc_forces.cpp similarity index 100% rename from src/USER-REAXC/reaxc_forces.cpp rename to src/REAXFF/reaxc_forces.cpp diff --git a/src/USER-REAXC/reaxc_forces.h b/src/REAXFF/reaxc_forces.h similarity index 100% rename from src/USER-REAXC/reaxc_forces.h rename to src/REAXFF/reaxc_forces.h diff --git a/src/USER-REAXC/reaxc_hydrogen_bonds.cpp b/src/REAXFF/reaxc_hydrogen_bonds.cpp similarity index 100% rename from src/USER-REAXC/reaxc_hydrogen_bonds.cpp rename to src/REAXFF/reaxc_hydrogen_bonds.cpp diff --git a/src/USER-REAXC/reaxc_hydrogen_bonds.h b/src/REAXFF/reaxc_hydrogen_bonds.h similarity index 100% rename from src/USER-REAXC/reaxc_hydrogen_bonds.h rename to src/REAXFF/reaxc_hydrogen_bonds.h diff --git a/src/USER-REAXC/reaxc_init_md.cpp b/src/REAXFF/reaxc_init_md.cpp similarity index 100% rename from src/USER-REAXC/reaxc_init_md.cpp rename to src/REAXFF/reaxc_init_md.cpp diff --git a/src/USER-REAXC/reaxc_init_md.h b/src/REAXFF/reaxc_init_md.h similarity index 100% rename from src/USER-REAXC/reaxc_init_md.h rename to src/REAXFF/reaxc_init_md.h diff --git a/src/USER-REAXC/reaxc_io_tools.cpp b/src/REAXFF/reaxc_io_tools.cpp similarity index 100% rename from src/USER-REAXC/reaxc_io_tools.cpp rename to src/REAXFF/reaxc_io_tools.cpp diff --git a/src/USER-REAXC/reaxc_io_tools.h b/src/REAXFF/reaxc_io_tools.h similarity index 100% rename from src/USER-REAXC/reaxc_io_tools.h rename to src/REAXFF/reaxc_io_tools.h diff --git a/src/USER-REAXC/reaxc_list.cpp b/src/REAXFF/reaxc_list.cpp similarity index 100% rename from src/USER-REAXC/reaxc_list.cpp rename to src/REAXFF/reaxc_list.cpp diff --git a/src/USER-REAXC/reaxc_list.h b/src/REAXFF/reaxc_list.h similarity index 100% rename from src/USER-REAXC/reaxc_list.h rename to src/REAXFF/reaxc_list.h diff --git a/src/USER-REAXC/reaxc_lookup.cpp b/src/REAXFF/reaxc_lookup.cpp similarity index 100% rename from src/USER-REAXC/reaxc_lookup.cpp rename to src/REAXFF/reaxc_lookup.cpp diff --git a/src/USER-REAXC/reaxc_lookup.h b/src/REAXFF/reaxc_lookup.h similarity index 100% rename from src/USER-REAXC/reaxc_lookup.h rename to src/REAXFF/reaxc_lookup.h diff --git a/src/USER-REAXC/reaxc_multi_body.cpp b/src/REAXFF/reaxc_multi_body.cpp similarity index 100% rename from src/USER-REAXC/reaxc_multi_body.cpp rename to src/REAXFF/reaxc_multi_body.cpp diff --git a/src/USER-REAXC/reaxc_multi_body.h b/src/REAXFF/reaxc_multi_body.h similarity index 100% rename from src/USER-REAXC/reaxc_multi_body.h rename to src/REAXFF/reaxc_multi_body.h diff --git a/src/USER-REAXC/reaxc_nonbonded.cpp b/src/REAXFF/reaxc_nonbonded.cpp similarity index 100% rename from src/USER-REAXC/reaxc_nonbonded.cpp rename to src/REAXFF/reaxc_nonbonded.cpp diff --git a/src/USER-REAXC/reaxc_nonbonded.h b/src/REAXFF/reaxc_nonbonded.h similarity index 100% rename from src/USER-REAXC/reaxc_nonbonded.h rename to src/REAXFF/reaxc_nonbonded.h diff --git a/src/USER-REAXC/reaxc_reset_tools.cpp b/src/REAXFF/reaxc_reset_tools.cpp similarity index 100% rename from src/USER-REAXC/reaxc_reset_tools.cpp rename to src/REAXFF/reaxc_reset_tools.cpp diff --git a/src/USER-REAXC/reaxc_reset_tools.h b/src/REAXFF/reaxc_reset_tools.h similarity index 100% rename from src/USER-REAXC/reaxc_reset_tools.h rename to src/REAXFF/reaxc_reset_tools.h diff --git a/src/USER-REAXC/reaxc_system_props.cpp b/src/REAXFF/reaxc_system_props.cpp similarity index 100% rename from src/USER-REAXC/reaxc_system_props.cpp rename to src/REAXFF/reaxc_system_props.cpp diff --git a/src/USER-REAXC/reaxc_system_props.h b/src/REAXFF/reaxc_system_props.h similarity index 100% rename from src/USER-REAXC/reaxc_system_props.h rename to src/REAXFF/reaxc_system_props.h diff --git a/src/USER-REAXC/reaxc_tool_box.cpp b/src/REAXFF/reaxc_tool_box.cpp similarity index 100% rename from src/USER-REAXC/reaxc_tool_box.cpp rename to src/REAXFF/reaxc_tool_box.cpp diff --git a/src/USER-REAXC/reaxc_tool_box.h b/src/REAXFF/reaxc_tool_box.h similarity index 100% rename from src/USER-REAXC/reaxc_tool_box.h rename to src/REAXFF/reaxc_tool_box.h diff --git a/src/USER-REAXC/reaxc_torsion_angles.cpp b/src/REAXFF/reaxc_torsion_angles.cpp similarity index 100% rename from src/USER-REAXC/reaxc_torsion_angles.cpp rename to src/REAXFF/reaxc_torsion_angles.cpp diff --git a/src/USER-REAXC/reaxc_torsion_angles.h b/src/REAXFF/reaxc_torsion_angles.h similarity index 100% rename from src/USER-REAXC/reaxc_torsion_angles.h rename to src/REAXFF/reaxc_torsion_angles.h diff --git a/src/USER-REAXC/reaxc_traj.cpp b/src/REAXFF/reaxc_traj.cpp similarity index 100% rename from src/USER-REAXC/reaxc_traj.cpp rename to src/REAXFF/reaxc_traj.cpp diff --git a/src/USER-REAXC/reaxc_traj.h b/src/REAXFF/reaxc_traj.h similarity index 100% rename from src/USER-REAXC/reaxc_traj.h rename to src/REAXFF/reaxc_traj.h diff --git a/src/USER-REAXC/reaxc_types.h b/src/REAXFF/reaxc_types.h similarity index 100% rename from src/USER-REAXC/reaxc_types.h rename to src/REAXFF/reaxc_types.h diff --git a/src/USER-REAXC/reaxc_valence_angles.cpp b/src/REAXFF/reaxc_valence_angles.cpp similarity index 100% rename from src/USER-REAXC/reaxc_valence_angles.cpp rename to src/REAXFF/reaxc_valence_angles.cpp diff --git a/src/USER-REAXC/reaxc_valence_angles.h b/src/REAXFF/reaxc_valence_angles.h similarity index 100% rename from src/USER-REAXC/reaxc_valence_angles.h rename to src/REAXFF/reaxc_valence_angles.h diff --git a/src/USER-REAXC/reaxc_vector.cpp b/src/REAXFF/reaxc_vector.cpp similarity index 100% rename from src/USER-REAXC/reaxc_vector.cpp rename to src/REAXFF/reaxc_vector.cpp diff --git a/src/USER-REAXC/reaxc_vector.h b/src/REAXFF/reaxc_vector.h similarity index 100% rename from src/USER-REAXC/reaxc_vector.h rename to src/REAXFF/reaxc_vector.h From 8e185a1a1290fb71ee0e3d6669c8a9b8644a49e1 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 29 Jun 2021 19:41:23 -0400 Subject: [PATCH 314/726] rename USER-DPD to DPD-REACT --- cmake/CMakeLists.txt | 2 +- cmake/Modules/Packages/KOKKOS.cmake | 2 +- cmake/presets/all_off.cmake | 2 +- cmake/presets/all_on.cmake | 2 +- cmake/presets/mingw-cross.cmake | 2 +- cmake/presets/most.cmake | 2 +- doc/src/Build_basics.rst | 2 +- doc/src/Packages_details.rst | 10 +++++----- doc/src/Packages_user.rst | 2 +- doc/src/atom_style.rst | 4 ++-- doc/src/compute_dpd.rst | 2 +- doc/src/compute_dpd_atom.rst | 2 +- doc/src/fix_dpd_energy.rst | 2 +- doc/src/fix_eos_cv.rst | 2 +- doc/src/fix_eos_table.rst | 2 +- doc/src/fix_eos_table_rx.rst | 2 +- doc/src/fix_rx.rst | 2 +- doc/src/fix_shardlow.rst | 2 +- doc/src/pair_dpd_fdt.rst | 2 +- doc/src/pair_exp6_rx.rst | 2 +- doc/src/pair_multi_lucy.rst | 2 +- doc/src/pair_multi_lucy_rx.rst | 2 +- doc/src/pair_table_rx.rst | 2 +- doc/src/set.rst | 2 +- src/{USER-DPD => DPD-REACT}/README | 0 src/{USER-DPD => DPD-REACT}/atom_vec_dpd.cpp | 0 src/{USER-DPD => DPD-REACT}/atom_vec_dpd.h | 0 src/{USER-DPD => DPD-REACT}/compute_dpd.cpp | 0 src/{USER-DPD => DPD-REACT}/compute_dpd.h | 0 src/{USER-DPD => DPD-REACT}/compute_dpd_atom.cpp | 0 src/{USER-DPD => DPD-REACT}/compute_dpd_atom.h | 0 src/{USER-DPD => DPD-REACT}/fix_dpd_energy.cpp | 0 src/{USER-DPD => DPD-REACT}/fix_dpd_energy.h | 0 src/{USER-DPD => DPD-REACT}/fix_eos_cv.cpp | 0 src/{USER-DPD => DPD-REACT}/fix_eos_cv.h | 0 src/{USER-DPD => DPD-REACT}/fix_eos_table.cpp | 0 src/{USER-DPD => DPD-REACT}/fix_eos_table.h | 0 src/{USER-DPD => DPD-REACT}/fix_eos_table_rx.cpp | 0 src/{USER-DPD => DPD-REACT}/fix_eos_table_rx.h | 0 src/{USER-DPD => DPD-REACT}/fix_rx.cpp | 0 src/{USER-DPD => DPD-REACT}/fix_rx.h | 0 src/{USER-DPD => DPD-REACT}/fix_shardlow.cpp | 2 +- src/{USER-DPD => DPD-REACT}/fix_shardlow.h | 0 src/{USER-DPD => DPD-REACT}/nbin_ssa.cpp | 0 src/{USER-DPD => DPD-REACT}/nbin_ssa.h | 0 .../npair_half_bin_newton_ssa.cpp | 0 .../npair_half_bin_newton_ssa.h | 0 .../nstencil_half_bin_2d_ssa.cpp | 0 src/{USER-DPD => DPD-REACT}/nstencil_half_bin_2d_ssa.h | 0 .../nstencil_half_bin_3d_ssa.cpp | 0 src/{USER-DPD => DPD-REACT}/nstencil_half_bin_3d_ssa.h | 0 src/{USER-DPD => DPD-REACT}/nstencil_ssa.h | 0 src/{USER-DPD => DPD-REACT}/pair_dpd_fdt.cpp | 0 src/{USER-DPD => DPD-REACT}/pair_dpd_fdt.h | 0 src/{USER-DPD => DPD-REACT}/pair_dpd_fdt_energy.cpp | 0 src/{USER-DPD => DPD-REACT}/pair_dpd_fdt_energy.h | 0 src/{USER-DPD => DPD-REACT}/pair_exp6_rx.cpp | 0 src/{USER-DPD => DPD-REACT}/pair_exp6_rx.h | 0 src/{USER-DPD => DPD-REACT}/pair_multi_lucy.cpp | 0 src/{USER-DPD => DPD-REACT}/pair_multi_lucy.h | 0 src/{USER-DPD => DPD-REACT}/pair_multi_lucy_rx.cpp | 0 src/{USER-DPD => DPD-REACT}/pair_multi_lucy_rx.h | 0 src/{USER-DPD => DPD-REACT}/pair_table_rx.cpp | 0 src/{USER-DPD => DPD-REACT}/pair_table_rx.h | 0 src/{USER-DPD => DPD-REACT}/random_external_state.h | 0 src/Depend.sh | 2 +- src/KOKKOS/atom_kokkos.cpp | 2 +- src/KOKKOS/atom_kokkos.h | 2 +- src/Makefile | 2 +- src/atom.cpp | 4 ++-- src/atom.h | 2 +- src/neigh_list.cpp | 2 +- src/neigh_list.h | 2 +- src/neigh_request.h | 2 +- unittest/cplusplus/test_lammps_class.cpp | 2 +- 75 files changed, 41 insertions(+), 41 deletions(-) rename src/{USER-DPD => DPD-REACT}/README (100%) rename src/{USER-DPD => DPD-REACT}/atom_vec_dpd.cpp (100%) rename src/{USER-DPD => DPD-REACT}/atom_vec_dpd.h (100%) rename src/{USER-DPD => DPD-REACT}/compute_dpd.cpp (100%) rename src/{USER-DPD => DPD-REACT}/compute_dpd.h (100%) rename src/{USER-DPD => DPD-REACT}/compute_dpd_atom.cpp (100%) rename src/{USER-DPD => DPD-REACT}/compute_dpd_atom.h (100%) rename src/{USER-DPD => DPD-REACT}/fix_dpd_energy.cpp (100%) rename src/{USER-DPD => DPD-REACT}/fix_dpd_energy.h (100%) rename src/{USER-DPD => DPD-REACT}/fix_eos_cv.cpp (100%) rename src/{USER-DPD => DPD-REACT}/fix_eos_cv.h (100%) rename src/{USER-DPD => DPD-REACT}/fix_eos_table.cpp (100%) rename src/{USER-DPD => DPD-REACT}/fix_eos_table.h (100%) rename src/{USER-DPD => DPD-REACT}/fix_eos_table_rx.cpp (100%) rename src/{USER-DPD => DPD-REACT}/fix_eos_table_rx.h (100%) rename src/{USER-DPD => DPD-REACT}/fix_rx.cpp (100%) rename src/{USER-DPD => DPD-REACT}/fix_rx.h (100%) rename src/{USER-DPD => DPD-REACT}/fix_shardlow.cpp (99%) rename src/{USER-DPD => DPD-REACT}/fix_shardlow.h (100%) rename src/{USER-DPD => DPD-REACT}/nbin_ssa.cpp (100%) rename src/{USER-DPD => DPD-REACT}/nbin_ssa.h (100%) rename src/{USER-DPD => DPD-REACT}/npair_half_bin_newton_ssa.cpp (100%) rename src/{USER-DPD => DPD-REACT}/npair_half_bin_newton_ssa.h (100%) rename src/{USER-DPD => DPD-REACT}/nstencil_half_bin_2d_ssa.cpp (100%) rename src/{USER-DPD => DPD-REACT}/nstencil_half_bin_2d_ssa.h (100%) rename src/{USER-DPD => DPD-REACT}/nstencil_half_bin_3d_ssa.cpp (100%) rename src/{USER-DPD => DPD-REACT}/nstencil_half_bin_3d_ssa.h (100%) rename src/{USER-DPD => DPD-REACT}/nstencil_ssa.h (100%) rename src/{USER-DPD => DPD-REACT}/pair_dpd_fdt.cpp (100%) rename src/{USER-DPD => DPD-REACT}/pair_dpd_fdt.h (100%) rename src/{USER-DPD => DPD-REACT}/pair_dpd_fdt_energy.cpp (100%) rename src/{USER-DPD => DPD-REACT}/pair_dpd_fdt_energy.h (100%) rename src/{USER-DPD => DPD-REACT}/pair_exp6_rx.cpp (100%) rename src/{USER-DPD => DPD-REACT}/pair_exp6_rx.h (100%) rename src/{USER-DPD => DPD-REACT}/pair_multi_lucy.cpp (100%) rename src/{USER-DPD => DPD-REACT}/pair_multi_lucy.h (100%) rename src/{USER-DPD => DPD-REACT}/pair_multi_lucy_rx.cpp (100%) rename src/{USER-DPD => DPD-REACT}/pair_multi_lucy_rx.h (100%) rename src/{USER-DPD => DPD-REACT}/pair_table_rx.cpp (100%) rename src/{USER-DPD => DPD-REACT}/pair_table_rx.h (100%) rename src/{USER-DPD => DPD-REACT}/random_external_state.h (100%) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index f7328290cf..5edce62767 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -142,7 +142,7 @@ set(STANDARD_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS DIPOLE GRANULAR KSPACE LATTE MANYBODY MC MESSAGE MISC ML-IAP MOLECULE PERI POEMS PLUGIN QEQ REPLICA RIGID SHOCK SPIN ML-SNAP SRD KIM PYTHON MSCG MPIIO VORONOI USER-ADIOS USER-ATC USER-AWPMD USER-BOCS CG-DNA USER-MESODPD CG-SDK - USER-COLVARS USER-DIELECTRIC USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP + USER-COLVARS USER-DIELECTRIC USER-DIFFRACTION DPD-REACT USER-DRUDE USER-EFF USER-FEP USER-H5MD ML-HDNNP LATBOLTZ USER-MANIFOLD USER-MDI MEAM USER-MESONT USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF USER-PHONON USER-PLUMED USER-PTM USER-QTB ML-RANN USER-REACTION REAXFF USER-SCAFACOS USER-SDPD MACHDYN USER-SMTBQ USER-SPH diff --git a/cmake/Modules/Packages/KOKKOS.cmake b/cmake/Modules/Packages/KOKKOS.cmake index 234c1f140d..e97f5546cd 100644 --- a/cmake/Modules/Packages/KOKKOS.cmake +++ b/cmake/Modules/Packages/KOKKOS.cmake @@ -116,7 +116,7 @@ RegisterNBinStyle(${KOKKOS_PKG_SOURCES_DIR}/nbin_kokkos.h) RegisterNPairStyle(${KOKKOS_PKG_SOURCES_DIR}/npair_kokkos.h) RegisterNPairStyle(${KOKKOS_PKG_SOURCES_DIR}/npair_halffull_kokkos.h) -if(PKG_USER-DPD) +if(PKG_DPD-REACT) get_property(KOKKOS_PKG_SOURCES GLOBAL PROPERTY KOKKOS_PKG_SOURCES) list(APPEND KOKKOS_PKG_SOURCES ${KOKKOS_PKG_SOURCES_DIR}/npair_ssa_kokkos.cpp) RegisterNPairStyle(${KOKKOS_PKG_SOURCES_DIR}/npair_ssa_kokkos.h) diff --git a/cmake/presets/all_off.cmake b/cmake/presets/all_off.cmake index a6bb0ece5c..3d6f6af15b 100644 --- a/cmake/presets/all_off.cmake +++ b/cmake/presets/all_off.cmake @@ -6,7 +6,7 @@ set(ALL_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU MPIIO MSCG OPT PERI PLUGIN POEMS PYTHON QEQ REPLICA RIGID SHOCK ML-SNAP SPIN SRD VORONOI USER-ADIOS USER-ATC USER-AWPMD USER-BROWNIAN USER-BOCS CG-DNA CG-SDK - USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD + USER-COLVARS USER-DIFFRACTION DPD-REACT USER-DRUDE USER-EFF USER-FEP USER-H5MD ML-HDNNP USER-INTEL LATBOLTZ USER-MANIFOLD USER-MDI MEAM USER-MESODPD USER-MESONT USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF OPENMP ML-PACE USER-PHONON USER-PLUMED USER-PTM USER-QMMM USER-QTB ML-QUIP ML-RANN diff --git a/cmake/presets/all_on.cmake b/cmake/presets/all_on.cmake index 632188d4b5..6942e85c5f 100644 --- a/cmake/presets/all_on.cmake +++ b/cmake/presets/all_on.cmake @@ -8,7 +8,7 @@ set(ALL_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU MPIIO MSCG OPT PERI PLUGIN POEMS PYTHON QEQ REPLICA RIGID SHOCK ML-SNAP SPIN SRD VORONOI USER-ADIOS USER-ATC USER-AWPMD USER-BROWNIAN USER-BOCS CG-DNA CG-SDK - USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD + USER-COLVARS USER-DIFFRACTION DPD-REACT USER-DRUDE USER-EFF USER-FEP USER-H5MD ML-HDNNP USER-INTEL LATBOLTZ USER-MANIFOLD USER-MDI MEAM USER-MESODPD USER-MESONT USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF OPENMP ML-PACE USER-PHONON USER-PLUMED USER-PTM USER-QMMM USER-QTB ML-QUIP ML-RANN diff --git a/cmake/presets/mingw-cross.cmake b/cmake/presets/mingw-cross.cmake index b50a4a6647..4fe7a69823 100644 --- a/cmake/presets/mingw-cross.cmake +++ b/cmake/presets/mingw-cross.cmake @@ -2,7 +2,7 @@ set(WIN_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU GRANULAR KSPACE LATTE MANYBODY MC MISC ML-IAP MOLECULE OPT PERI POEMS QEQ REPLICA RIGID SHOCK ML-SNAP SPIN SRD VORONOI USER-ATC USER-AWPMD USER-BOCS USER-BROWNIAN CG-DNA CG-SDK - USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP + USER-COLVARS USER-DIFFRACTION DPD-REACT USER-DRUDE USER-EFF USER-FEP ML-HDNNP USER-INTEL USER-MANIFOLD USER-MDI MEAM USER-MESODPD USER-MESONT USER-MISC USER-MGPT USER-MOFFF USER-MOLFILE OPENMP USER-PHONON USER-PTM USER-QTB USER-REACTION REAXFF diff --git a/cmake/presets/most.cmake b/cmake/presets/most.cmake index d2bcef5b49..b6abd3d4aa 100644 --- a/cmake/presets/most.cmake +++ b/cmake/presets/most.cmake @@ -6,7 +6,7 @@ set(ALL_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GRANULAR KSPACE MANYBODY MC MISC ML-IAP MOLECULE OPT PERI PLUGIN POEMS PYTHON QEQ REPLICA RIGID SHOCK ML-SNAP SPIN SRD VORONOI USER-BROWNIAN USER-BOCS CG-DNA CG-SDK USER-COLVARS - USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP MEAM + USER-DIFFRACTION DPD-REACT USER-DRUDE USER-EFF USER-FEP MEAM USER-MESODPD USER-MISC USER-MOFFF OPENMP USER-PHONON USER-REACTION REAXFF USER-SDPD USER-SPH MACHDYN USER-UEF USER-YAFF USER-DIELECTRIC) diff --git a/doc/src/Build_basics.rst b/doc/src/Build_basics.rst index ba1839e2de..207d767649 100644 --- a/doc/src/Build_basics.rst +++ b/doc/src/Build_basics.rst @@ -130,7 +130,7 @@ package can be compiled to include OpenMP threading. In addition, there are a few commands in LAMMPS that have native OpenMP support included as well. These are commands in the ``MPIIO``, -``ML-SNAP``, ``USER-DIFFRACTION``, and ``USER-DPD`` packages. In addition +``ML-SNAP``, ``USER-DIFFRACTION``, and ``DPD-REACT`` packages. In addition some packages support OpenMP threading indirectly through the libraries they interface to: e.g. ``LATTE``, ``KSPACE``, and ``USER-COLVARS``. See the :doc:`Packages details ` page for more diff --git a/doc/src/Packages_details.rst b/doc/src/Packages_details.rst index ab3cfaa896..415d8e69ee 100644 --- a/doc/src/Packages_details.rst +++ b/doc/src/Packages_details.rst @@ -75,7 +75,7 @@ page gives those details. * :ref:`USER-COLVARS ` * :ref:`USER-DIELECTRIC ` * :ref:`USER-DIFFRACTION ` - * :ref:`USER-DPD ` + * :ref:`DPD-REACT ` * :ref:`USER-DRUDE ` * :ref:`USER-EFF ` * :ref:`USER-FEP ` @@ -1424,9 +1424,9 @@ intensities based on kinematic diffraction theory. ---------- -.. _PKG-USER-DPD: +.. _PKG-DPD-REACT: -USER-DPD package +DPD-REACT package ---------------- **Contents:** @@ -1446,8 +1446,8 @@ Brennan (ARL). **Supporting info:** -* src/USER-DPD: filenames -> commands -* /src/USER-DPD/README +* src/DPD-REACT: filenames -> commands +* /src/DPD-REACT/README * :doc:`compute dpd ` * :doc:`compute dpd/atom ` * :doc:`fix eos/cv ` diff --git a/doc/src/Packages_user.rst b/doc/src/Packages_user.rst index baa9f395f7..997041710a 100644 --- a/doc/src/Packages_user.rst +++ b/doc/src/Packages_user.rst @@ -51,7 +51,7 @@ package: +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ | :ref:`USER-DIFFRACTION ` | virtual x-ray and electron diffraction | :doc:`compute xrd ` | USER/diffraction | no | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`USER-DPD ` | reactive dissipative particle dynamics | src/USER-DPD/README | USER/dpd | no | +| :ref:`DPD-REACT ` | reactive dissipative particle dynamics | src/DPD-REACT/README | USER/dpd | no | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ | :ref:`USER-DRUDE ` | Drude oscillators | :doc:`Howto drude ` | USER/drude | no | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ diff --git a/doc/src/atom_style.rst b/doc/src/atom_style.rst index 27312e4353..9c611e8e51 100644 --- a/doc/src/atom_style.rst +++ b/doc/src/atom_style.rst @@ -194,7 +194,7 @@ For the *peri* style, the particles are spherical and each stores a per-particle mass and volume. The *dpd* style is for dissipative particle dynamics (DPD) particles. -Note that it is part of the USER-DPD package, and is not for use with +Note that it is part of the DPD-REACT package, and is not for use with the :doc:`pair_style dpd or dpd/stat ` commands, which can simply use atom_style atomic. Atom_style dpd extends DPD particle properties with internal temperature (dpdTheta), internal conductive @@ -354,7 +354,7 @@ The *peri* style is part of the PERI package for Peridynamics. The *electron* style is part of the USER-EFF package for :doc:`electronic force fields `. -The *dpd* style is part of the USER-DPD package for dissipative +The *dpd* style is part of the DPD-REACT package for dissipative particle dynamics (DPD). The *edpd*\ , *mdpd*\ , and *tdpd* styles are part of the USER-MESODPD package diff --git a/doc/src/compute_dpd.rst b/doc/src/compute_dpd.rst index a3b68451db..72cae28c22 100644 --- a/doc/src/compute_dpd.rst +++ b/doc/src/compute_dpd.rst @@ -60,7 +60,7 @@ The vector values will be in energy and temperature :doc:`units `. Restrictions """""""""""" -This command is part of the USER-DPD package. It is only enabled if +This command is part of the DPD-REACT package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. This command also requires use of the :doc:`atom_style dpd ` diff --git a/doc/src/compute_dpd_atom.rst b/doc/src/compute_dpd_atom.rst index 85dc977c52..6abbce10f0 100644 --- a/doc/src/compute_dpd_atom.rst +++ b/doc/src/compute_dpd_atom.rst @@ -50,7 +50,7 @@ and temperature (:math:`theta`) :doc:`units `. Restrictions """""""""""" -This command is part of the USER-DPD package. It is only enabled if +This command is part of the DPD-REACT package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. This command also requires use of the :doc:`atom_style dpd ` diff --git a/doc/src/fix_dpd_energy.rst b/doc/src/fix_dpd_energy.rst index 2ffaccdfdc..53ce796ecc 100644 --- a/doc/src/fix_dpd_energy.rst +++ b/doc/src/fix_dpd_energy.rst @@ -56,7 +56,7 @@ examples/PACKAGES/dpd directory. Restrictions """""""""""" -This command is part of the USER-DPD package. It is only enabled if +This command is part of the DPD-REACT package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. This fix must be used with an additional fix that specifies time diff --git a/doc/src/fix_eos_cv.rst b/doc/src/fix_eos_cv.rst index 5cbe0053ff..57f8c914ab 100644 --- a/doc/src/fix_eos_cv.rst +++ b/doc/src/fix_eos_cv.rst @@ -43,7 +43,7 @@ equation of state are possible. Restrictions """""""""""" -This command is part of the USER-DPD package. It is only enabled if +This command is part of the DPD-REACT package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. This command also requires use of the :doc:`atom_style dpd ` diff --git a/doc/src/fix_eos_table.rst b/doc/src/fix_eos_table.rst index ad734c391a..06310e9685 100644 --- a/doc/src/fix_eos_table.rst +++ b/doc/src/fix_eos_table.rst @@ -102,7 +102,7 @@ one that matches the specified keyword. Restrictions """""""""""" -This command is part of the USER-DPD package. It is only enabled if +This command is part of the DPD-REACT package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. This command also requires use of the :doc:`atom_style dpd ` diff --git a/doc/src/fix_eos_table_rx.rst b/doc/src/fix_eos_table_rx.rst index 56bde44d98..eadac5d56c 100644 --- a/doc/src/fix_eos_table_rx.rst +++ b/doc/src/fix_eos_table_rx.rst @@ -177,7 +177,7 @@ coefficient. In this case, the format of the file is as follows: Restrictions """""""""""" -This command is part of the USER-DPD package. It is only enabled if +This command is part of the DPD-REACT package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. This command also requires use of the :doc:`atom_style dpd ` diff --git a/doc/src/fix_rx.rst b/doc/src/fix_rx.rst index 9eab06ffad..c3406df5d0 100644 --- a/doc/src/fix_rx.rst +++ b/doc/src/fix_rx.rst @@ -206,7 +206,7 @@ read_data data.dpd fix foo_SPECIES NULL Species Restrictions """""""""""" -This command is part of the USER-DPD package. It is only enabled if +This command is part of the DPD-REACT package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. This command also requires use of the :doc:`atom_style dpd ` diff --git a/doc/src/fix_shardlow.rst b/doc/src/fix_shardlow.rst index 67088aef34..ce4fa0ac27 100644 --- a/doc/src/fix_shardlow.rst +++ b/doc/src/fix_shardlow.rst @@ -60,7 +60,7 @@ examples/PACKAGES/dpd directory. Restrictions """""""""""" -This command is part of the USER-DPD package. It is only enabled if +This command is part of the DPD-REACT package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. This fix is currently limited to orthogonal simulation cell diff --git a/doc/src/pair_dpd_fdt.rst b/doc/src/pair_dpd_fdt.rst index bb810b0fe6..8767c5b99e 100644 --- a/doc/src/pair_dpd_fdt.rst +++ b/doc/src/pair_dpd_fdt.rst @@ -162,7 +162,7 @@ significantly larger timesteps to be taken. Restrictions """""""""""" -These commands are part of the USER-DPD package. They are only +These commands are part of the DPD-REACT package. They are only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Pair styles *dpd/fdt* and *dpd/fdt/energy* require use of the diff --git a/doc/src/pair_exp6_rx.rst b/doc/src/pair_exp6_rx.rst index 49a4c5436f..e9550c2152 100644 --- a/doc/src/pair_exp6_rx.rst +++ b/doc/src/pair_exp6_rx.rst @@ -178,7 +178,7 @@ pair interaction. Restrictions """""""""""" -This command is part of the USER-DPD package. It is only enabled if +This command is part of the DPD-REACT package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/pair_multi_lucy.rst b/doc/src/pair_multi_lucy.rst index 111660c2bb..8f65d8f438 100644 --- a/doc/src/pair_multi_lucy.rst +++ b/doc/src/pair_multi_lucy.rst @@ -193,7 +193,7 @@ This pair style can only be used via the *pair* keyword of the Restrictions """""""""""" -This command is part of the USER-DPD package. It is only enabled if +This command is part of the DPD-REACT package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/pair_multi_lucy_rx.rst b/doc/src/pair_multi_lucy_rx.rst index f6e6652271..b39bd02b6d 100644 --- a/doc/src/pair_multi_lucy_rx.rst +++ b/doc/src/pair_multi_lucy_rx.rst @@ -225,7 +225,7 @@ This pair style can only be used via the *pair* keyword of the Restrictions """""""""""" -This command is part of the USER-DPD package. It is only enabled if +This command is part of the DPD-REACT package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/pair_table_rx.rst b/doc/src/pair_table_rx.rst index 9d23a479a3..1c860b90ad 100644 --- a/doc/src/pair_table_rx.rst +++ b/doc/src/pair_table_rx.rst @@ -232,7 +232,7 @@ This pair style can only be used via the *pair* keyword of the Restrictions """""""""""" -This command is part of the USER-DPD package. It is only enabled if +This command is part of the DPD-REACT package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/set.rst b/doc/src/set.rst index 53b62eef49..cfe8321fd1 100644 --- a/doc/src/set.rst +++ b/doc/src/set.rst @@ -459,7 +459,7 @@ long range, nonlocal interactions, is set using the *diameter* keyword. Keyword *dpd/theta* sets the internal temperature of a DPD particle as -defined by the USER-DPD package. If the specified value is a number +defined by the DPD-REACT package. If the specified value is a number it must be >= 0.0. If the specified value is NULL, then the kinetic temperature Tkin of each particle is computed as 3/2 k Tkin = KE = 1/2 m v\^2 = 1/2 m (vx\*vx+vy\*vy+vz\*vz). Each particle's internal diff --git a/src/USER-DPD/README b/src/DPD-REACT/README similarity index 100% rename from src/USER-DPD/README rename to src/DPD-REACT/README diff --git a/src/USER-DPD/atom_vec_dpd.cpp b/src/DPD-REACT/atom_vec_dpd.cpp similarity index 100% rename from src/USER-DPD/atom_vec_dpd.cpp rename to src/DPD-REACT/atom_vec_dpd.cpp diff --git a/src/USER-DPD/atom_vec_dpd.h b/src/DPD-REACT/atom_vec_dpd.h similarity index 100% rename from src/USER-DPD/atom_vec_dpd.h rename to src/DPD-REACT/atom_vec_dpd.h diff --git a/src/USER-DPD/compute_dpd.cpp b/src/DPD-REACT/compute_dpd.cpp similarity index 100% rename from src/USER-DPD/compute_dpd.cpp rename to src/DPD-REACT/compute_dpd.cpp diff --git a/src/USER-DPD/compute_dpd.h b/src/DPD-REACT/compute_dpd.h similarity index 100% rename from src/USER-DPD/compute_dpd.h rename to src/DPD-REACT/compute_dpd.h diff --git a/src/USER-DPD/compute_dpd_atom.cpp b/src/DPD-REACT/compute_dpd_atom.cpp similarity index 100% rename from src/USER-DPD/compute_dpd_atom.cpp rename to src/DPD-REACT/compute_dpd_atom.cpp diff --git a/src/USER-DPD/compute_dpd_atom.h b/src/DPD-REACT/compute_dpd_atom.h similarity index 100% rename from src/USER-DPD/compute_dpd_atom.h rename to src/DPD-REACT/compute_dpd_atom.h diff --git a/src/USER-DPD/fix_dpd_energy.cpp b/src/DPD-REACT/fix_dpd_energy.cpp similarity index 100% rename from src/USER-DPD/fix_dpd_energy.cpp rename to src/DPD-REACT/fix_dpd_energy.cpp diff --git a/src/USER-DPD/fix_dpd_energy.h b/src/DPD-REACT/fix_dpd_energy.h similarity index 100% rename from src/USER-DPD/fix_dpd_energy.h rename to src/DPD-REACT/fix_dpd_energy.h diff --git a/src/USER-DPD/fix_eos_cv.cpp b/src/DPD-REACT/fix_eos_cv.cpp similarity index 100% rename from src/USER-DPD/fix_eos_cv.cpp rename to src/DPD-REACT/fix_eos_cv.cpp diff --git a/src/USER-DPD/fix_eos_cv.h b/src/DPD-REACT/fix_eos_cv.h similarity index 100% rename from src/USER-DPD/fix_eos_cv.h rename to src/DPD-REACT/fix_eos_cv.h diff --git a/src/USER-DPD/fix_eos_table.cpp b/src/DPD-REACT/fix_eos_table.cpp similarity index 100% rename from src/USER-DPD/fix_eos_table.cpp rename to src/DPD-REACT/fix_eos_table.cpp diff --git a/src/USER-DPD/fix_eos_table.h b/src/DPD-REACT/fix_eos_table.h similarity index 100% rename from src/USER-DPD/fix_eos_table.h rename to src/DPD-REACT/fix_eos_table.h diff --git a/src/USER-DPD/fix_eos_table_rx.cpp b/src/DPD-REACT/fix_eos_table_rx.cpp similarity index 100% rename from src/USER-DPD/fix_eos_table_rx.cpp rename to src/DPD-REACT/fix_eos_table_rx.cpp diff --git a/src/USER-DPD/fix_eos_table_rx.h b/src/DPD-REACT/fix_eos_table_rx.h similarity index 100% rename from src/USER-DPD/fix_eos_table_rx.h rename to src/DPD-REACT/fix_eos_table_rx.h diff --git a/src/USER-DPD/fix_rx.cpp b/src/DPD-REACT/fix_rx.cpp similarity index 100% rename from src/USER-DPD/fix_rx.cpp rename to src/DPD-REACT/fix_rx.cpp diff --git a/src/USER-DPD/fix_rx.h b/src/DPD-REACT/fix_rx.h similarity index 100% rename from src/USER-DPD/fix_rx.h rename to src/DPD-REACT/fix_rx.h diff --git a/src/USER-DPD/fix_shardlow.cpp b/src/DPD-REACT/fix_shardlow.cpp similarity index 99% rename from src/USER-DPD/fix_shardlow.cpp rename to src/DPD-REACT/fix_shardlow.cpp index 0881edd468..65fa14daeb 100644 --- a/src/USER-DPD/fix_shardlow.cpp +++ b/src/DPD-REACT/fix_shardlow.cpp @@ -158,7 +158,7 @@ void FixShardlow::setup(int /*vflag*/) for (int i = 0; i < modify->nfix; i++) if (strstr(modify->fix[i]->style,"nvt") || strstr(modify->fix[i]->style,"npt") || strstr(modify->fix[i]->style,"gle") || strstr(modify->fix[i]->style,"gld")) - error->all(FLERR,"Cannot use constant temperature integration routines with USER-DPD."); + error->all(FLERR,"Cannot use constant temperature integration routines with DPD-REACT."); for (int i = 0; i < modify->nfix; i++) { if (utils::strmatch(modify->fix[i]->style,"^shardlow")) fixShardlow = true; diff --git a/src/USER-DPD/fix_shardlow.h b/src/DPD-REACT/fix_shardlow.h similarity index 100% rename from src/USER-DPD/fix_shardlow.h rename to src/DPD-REACT/fix_shardlow.h diff --git a/src/USER-DPD/nbin_ssa.cpp b/src/DPD-REACT/nbin_ssa.cpp similarity index 100% rename from src/USER-DPD/nbin_ssa.cpp rename to src/DPD-REACT/nbin_ssa.cpp diff --git a/src/USER-DPD/nbin_ssa.h b/src/DPD-REACT/nbin_ssa.h similarity index 100% rename from src/USER-DPD/nbin_ssa.h rename to src/DPD-REACT/nbin_ssa.h diff --git a/src/USER-DPD/npair_half_bin_newton_ssa.cpp b/src/DPD-REACT/npair_half_bin_newton_ssa.cpp similarity index 100% rename from src/USER-DPD/npair_half_bin_newton_ssa.cpp rename to src/DPD-REACT/npair_half_bin_newton_ssa.cpp diff --git a/src/USER-DPD/npair_half_bin_newton_ssa.h b/src/DPD-REACT/npair_half_bin_newton_ssa.h similarity index 100% rename from src/USER-DPD/npair_half_bin_newton_ssa.h rename to src/DPD-REACT/npair_half_bin_newton_ssa.h diff --git a/src/USER-DPD/nstencil_half_bin_2d_ssa.cpp b/src/DPD-REACT/nstencil_half_bin_2d_ssa.cpp similarity index 100% rename from src/USER-DPD/nstencil_half_bin_2d_ssa.cpp rename to src/DPD-REACT/nstencil_half_bin_2d_ssa.cpp diff --git a/src/USER-DPD/nstencil_half_bin_2d_ssa.h b/src/DPD-REACT/nstencil_half_bin_2d_ssa.h similarity index 100% rename from src/USER-DPD/nstencil_half_bin_2d_ssa.h rename to src/DPD-REACT/nstencil_half_bin_2d_ssa.h diff --git a/src/USER-DPD/nstencil_half_bin_3d_ssa.cpp b/src/DPD-REACT/nstencil_half_bin_3d_ssa.cpp similarity index 100% rename from src/USER-DPD/nstencil_half_bin_3d_ssa.cpp rename to src/DPD-REACT/nstencil_half_bin_3d_ssa.cpp diff --git a/src/USER-DPD/nstencil_half_bin_3d_ssa.h b/src/DPD-REACT/nstencil_half_bin_3d_ssa.h similarity index 100% rename from src/USER-DPD/nstencil_half_bin_3d_ssa.h rename to src/DPD-REACT/nstencil_half_bin_3d_ssa.h diff --git a/src/USER-DPD/nstencil_ssa.h b/src/DPD-REACT/nstencil_ssa.h similarity index 100% rename from src/USER-DPD/nstencil_ssa.h rename to src/DPD-REACT/nstencil_ssa.h diff --git a/src/USER-DPD/pair_dpd_fdt.cpp b/src/DPD-REACT/pair_dpd_fdt.cpp similarity index 100% rename from src/USER-DPD/pair_dpd_fdt.cpp rename to src/DPD-REACT/pair_dpd_fdt.cpp diff --git a/src/USER-DPD/pair_dpd_fdt.h b/src/DPD-REACT/pair_dpd_fdt.h similarity index 100% rename from src/USER-DPD/pair_dpd_fdt.h rename to src/DPD-REACT/pair_dpd_fdt.h diff --git a/src/USER-DPD/pair_dpd_fdt_energy.cpp b/src/DPD-REACT/pair_dpd_fdt_energy.cpp similarity index 100% rename from src/USER-DPD/pair_dpd_fdt_energy.cpp rename to src/DPD-REACT/pair_dpd_fdt_energy.cpp diff --git a/src/USER-DPD/pair_dpd_fdt_energy.h b/src/DPD-REACT/pair_dpd_fdt_energy.h similarity index 100% rename from src/USER-DPD/pair_dpd_fdt_energy.h rename to src/DPD-REACT/pair_dpd_fdt_energy.h diff --git a/src/USER-DPD/pair_exp6_rx.cpp b/src/DPD-REACT/pair_exp6_rx.cpp similarity index 100% rename from src/USER-DPD/pair_exp6_rx.cpp rename to src/DPD-REACT/pair_exp6_rx.cpp diff --git a/src/USER-DPD/pair_exp6_rx.h b/src/DPD-REACT/pair_exp6_rx.h similarity index 100% rename from src/USER-DPD/pair_exp6_rx.h rename to src/DPD-REACT/pair_exp6_rx.h diff --git a/src/USER-DPD/pair_multi_lucy.cpp b/src/DPD-REACT/pair_multi_lucy.cpp similarity index 100% rename from src/USER-DPD/pair_multi_lucy.cpp rename to src/DPD-REACT/pair_multi_lucy.cpp diff --git a/src/USER-DPD/pair_multi_lucy.h b/src/DPD-REACT/pair_multi_lucy.h similarity index 100% rename from src/USER-DPD/pair_multi_lucy.h rename to src/DPD-REACT/pair_multi_lucy.h diff --git a/src/USER-DPD/pair_multi_lucy_rx.cpp b/src/DPD-REACT/pair_multi_lucy_rx.cpp similarity index 100% rename from src/USER-DPD/pair_multi_lucy_rx.cpp rename to src/DPD-REACT/pair_multi_lucy_rx.cpp diff --git a/src/USER-DPD/pair_multi_lucy_rx.h b/src/DPD-REACT/pair_multi_lucy_rx.h similarity index 100% rename from src/USER-DPD/pair_multi_lucy_rx.h rename to src/DPD-REACT/pair_multi_lucy_rx.h diff --git a/src/USER-DPD/pair_table_rx.cpp b/src/DPD-REACT/pair_table_rx.cpp similarity index 100% rename from src/USER-DPD/pair_table_rx.cpp rename to src/DPD-REACT/pair_table_rx.cpp diff --git a/src/USER-DPD/pair_table_rx.h b/src/DPD-REACT/pair_table_rx.h similarity index 100% rename from src/USER-DPD/pair_table_rx.h rename to src/DPD-REACT/pair_table_rx.h diff --git a/src/USER-DPD/random_external_state.h b/src/DPD-REACT/random_external_state.h similarity index 100% rename from src/USER-DPD/random_external_state.h rename to src/DPD-REACT/random_external_state.h diff --git a/src/Depend.sh b/src/Depend.sh index b4540b96a5..801ba17f58 100755 --- a/src/Depend.sh +++ b/src/Depend.sh @@ -127,7 +127,7 @@ if (test $1 = "CG-SDK") then depend OPENMP fi -if (test $1 = "USER-DPD") then +if (test $1 = "DPD-REACT") then depend KOKKOS fi diff --git a/src/KOKKOS/atom_kokkos.cpp b/src/KOKKOS/atom_kokkos.cpp index a8527989d7..ce97510d7a 100644 --- a/src/KOKKOS/atom_kokkos.cpp +++ b/src/KOKKOS/atom_kokkos.cpp @@ -83,7 +83,7 @@ AtomKokkos::~AtomKokkos() memoryKK->destroy_kokkos(k_fm, fm); memoryKK->destroy_kokkos(k_fm_long, fm_long); - // USER-DPD package + // DPD-REACT package memoryKK->destroy_kokkos(k_uCond,uCond); memoryKK->destroy_kokkos(k_uMech,uMech); memoryKK->destroy_kokkos(k_uChem,uChem); diff --git a/src/KOKKOS/atom_kokkos.h b/src/KOKKOS/atom_kokkos.h index e807180f35..1c3953ddf3 100644 --- a/src/KOKKOS/atom_kokkos.h +++ b/src/KOKKOS/atom_kokkos.h @@ -61,7 +61,7 @@ class AtomKokkos : public Atom { DAT::tdual_f_array k_fm; DAT::tdual_f_array k_fm_long; -// USER-DPD package +// DPD-REACT package DAT::tdual_efloat_1d k_uCond, k_uMech, k_uChem, k_uCG, k_uCGnew, k_rho,k_dpdTheta,k_duChem; diff --git a/src/Makefile b/src/Makefile index 7c27c31cab..244034c0ed 100644 --- a/src/Makefile +++ b/src/Makefile @@ -52,7 +52,7 @@ PACKAGE = asphere body class2 colloid compress coreshell dipole gpu \ python qeq replica rigid shock ml-snap spin srd voronoi PACKUSER = user-adios user-atc user-awpmd user-brownian user-bocs cg-dna \ - cg-sdk user-colvars user-dielectric user-diffraction user-dpd user-drude \ + cg-sdk user-colvars user-dielectric user-diffraction dpd-react user-drude \ user-eff user-fep user-h5md ml-hdnnp user-intel latboltz user-manifold \ user-mdi meam user-mesodpd user-mesont user-mgpt user-misc \ user-mofff user-molfile user-netcdf openmp user-phonon \ diff --git a/src/atom.cpp b/src/atom.cpp index 68487a65d6..e0681b6dac 100644 --- a/src/atom.cpp +++ b/src/atom.cpp @@ -169,7 +169,7 @@ Atom::Atom(LAMMPS *lmp) : Pointers(lmp) cs = csforce = vforce = nullptr; etag = nullptr; - // USER-DPD package + // DPD-REACT package uCond = uMech = uChem = uCG = uCGnew = nullptr; duChem = dpdTheta = nullptr; @@ -472,7 +472,7 @@ void Atom::peratom_create() add_peratom("ervelforce",&ervelforce,DOUBLE,0); add_peratom("etag",&etag,INT,0); - // USER-DPD package + // DPD-REACT package add_peratom("dpdTheta",&dpdTheta,DOUBLE,0); add_peratom("uCond",&uCond,DOUBLE,0); diff --git a/src/atom.h b/src/atom.h index 3e1bcb37b7..7e5fc573dc 100644 --- a/src/atom.h +++ b/src/atom.h @@ -122,7 +122,7 @@ class Atom : protected Pointers { double **cs, **csforce, **vforce; int *etag; - // USER-DPD package + // DPD-REACT package double *uCond, *uMech, *uChem, *uCGnew, *uCG; double *duChem; diff --git a/src/neigh_list.cpp b/src/neigh_list.cpp index 5dc56f8c60..dc76b242e9 100644 --- a/src/neigh_list.cpp +++ b/src/neigh_list.cpp @@ -84,7 +84,7 @@ NeighList::NeighList(LAMMPS *lmp) : Pointers(lmp) kk2cpu = 0; execution_space = Host; - // USER-DPD package + // DPD-REACT package np = nullptr; diff --git a/src/neigh_list.h b/src/neigh_list.h index 703d4c13a9..8b920bbe50 100644 --- a/src/neigh_list.h +++ b/src/neigh_list.h @@ -95,7 +95,7 @@ class NeighList : protected Pointers { int kokkos; // 1 if list stores Kokkos data ExecutionSpace execution_space; - // USER-DPD package and Shardlow Splitting Algorithm (SSA) support + // DPD-REACT package and Shardlow Splitting Algorithm (SSA) support class NPair *np; // ptr to NPair instance I depend on diff --git a/src/neigh_request.h b/src/neigh_request.h index 3c1169e234..74802583ac 100644 --- a/src/neigh_request.h +++ b/src/neigh_request.h @@ -70,7 +70,7 @@ class NeighRequest : protected Pointers { int intel; // set by USER-INTEL package int kokkos_host; // set by KOKKOS package int kokkos_device; - int ssa; // set by USER-DPD package, for Shardlow lists + int ssa; // set by DPD-REACT package, for Shardlow lists int cut; // 1 if use a non-standard cutoff length double cutoff; // special cutoff distance for this list diff --git a/unittest/cplusplus/test_lammps_class.cpp b/unittest/cplusplus/test_lammps_class.cpp index 2ec2b39e15..c0c88fc0a1 100644 --- a/unittest/cplusplus/test_lammps_class.cpp +++ b/unittest/cplusplus/test_lammps_class.cpp @@ -135,7 +135,7 @@ TEST_F(LAMMPS_plain, TestStyles) found = lmp->match_style("atom", "wavepacket"); EXPECT_STREQ(found, "USER-AWPMD"); found = lmp->match_style("atom", "dpd"); - EXPECT_STREQ(found, "USER-DPD"); + EXPECT_STREQ(found, "DPD-REACT"); found = lmp->match_style("atom", "edpd"); EXPECT_STREQ(found, "USER-MESODPD"); found = lmp->match_style("atom", "mdpd"); From 2d4bb8f38c8a3e10e5483a55e2619e74882d3043 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 29 Jun 2021 19:45:38 -0400 Subject: [PATCH 315/726] rename USER-MESODPD and USER-SDPD to DPD-MESO and DPD-SMOOTH --- cmake/CMakeLists.txt | 6 +++--- cmake/Modules/Packages/USER-SDPD.cmake | 8 ++++---- cmake/presets/all_off.cmake | 4 ++-- cmake/presets/all_on.cmake | 4 ++-- cmake/presets/mingw-cross.cmake | 4 ++-- cmake/presets/most.cmake | 4 ++-- doc/src/Packages_details.rst | 20 +++++++++---------- doc/src/Packages_user.rst | 4 ++-- doc/src/atom_style.rst | 2 +- doc/src/compute_edpd_temp_atom.rst | 2 +- doc/src/compute_tdpd_cc_atom.rst | 2 +- doc/src/fix_dpd_source.rst | 2 +- doc/src/fix_meso_move.rst | 2 +- doc/src/fix_mvv_dpd.rst | 2 +- doc/src/fix_rigid_meso.rst | 2 +- doc/src/pair_mesodpd.rst | 2 +- doc/src/pair_sdpd_taitwater_isothermal.rst | 2 +- doc/src/set.rst | 4 ++-- src/{USER-MESODPD => DPD-MESO}/README | 0 .../atom_vec_edpd.cpp | 0 .../atom_vec_edpd.h | 0 .../atom_vec_mdpd.cpp | 0 .../atom_vec_mdpd.h | 0 .../atom_vec_tdpd.cpp | 0 .../atom_vec_tdpd.h | 0 .../compute_edpd_temp_atom.cpp | 0 .../compute_edpd_temp_atom.h | 0 .../compute_tdpd_cc_atom.cpp | 0 .../compute_tdpd_cc_atom.h | 0 .../fix_edpd_source.cpp | 0 .../fix_edpd_source.h | 0 .../fix_mvv_dpd.cpp | 0 src/{USER-MESODPD => DPD-MESO}/fix_mvv_dpd.h | 0 .../fix_mvv_edpd.cpp | 0 src/{USER-MESODPD => DPD-MESO}/fix_mvv_edpd.h | 0 .../fix_mvv_tdpd.cpp | 0 src/{USER-MESODPD => DPD-MESO}/fix_mvv_tdpd.h | 0 .../fix_tdpd_source.cpp | 0 .../fix_tdpd_source.h | 0 src/{USER-MESODPD => DPD-MESO}/pair_edpd.cpp | 0 src/{USER-MESODPD => DPD-MESO}/pair_edpd.h | 0 src/{USER-MESODPD => DPD-MESO}/pair_mdpd.cpp | 0 src/{USER-MESODPD => DPD-MESO}/pair_mdpd.h | 0 .../pair_mdpd_rhosum.cpp | 0 .../pair_mdpd_rhosum.h | 0 src/{USER-MESODPD => DPD-MESO}/pair_tdpd.cpp | 0 src/{USER-MESODPD => DPD-MESO}/pair_tdpd.h | 0 src/{USER-SDPD => DPD-SMOOTH}/Install.sh | 0 src/{USER-SDPD => DPD-SMOOTH}/README | 0 .../fix_meso_move.cpp | 0 src/{USER-SDPD => DPD-SMOOTH}/fix_meso_move.h | 0 .../fix_rigid_meso.cpp | 0 .../fix_rigid_meso.h | 0 .../pair_sdpd_taitwater_isothermal.cpp | 0 .../pair_sdpd_taitwater_isothermal.h | 0 src/Depend.sh | 2 +- src/Makefile | 4 ++-- unittest/cplusplus/test_lammps_class.cpp | 6 +++--- 58 files changed, 44 insertions(+), 44 deletions(-) rename src/{USER-MESODPD => DPD-MESO}/README (100%) rename src/{USER-MESODPD => DPD-MESO}/atom_vec_edpd.cpp (100%) rename src/{USER-MESODPD => DPD-MESO}/atom_vec_edpd.h (100%) rename src/{USER-MESODPD => DPD-MESO}/atom_vec_mdpd.cpp (100%) rename src/{USER-MESODPD => DPD-MESO}/atom_vec_mdpd.h (100%) rename src/{USER-MESODPD => DPD-MESO}/atom_vec_tdpd.cpp (100%) rename src/{USER-MESODPD => DPD-MESO}/atom_vec_tdpd.h (100%) rename src/{USER-MESODPD => DPD-MESO}/compute_edpd_temp_atom.cpp (100%) rename src/{USER-MESODPD => DPD-MESO}/compute_edpd_temp_atom.h (100%) rename src/{USER-MESODPD => DPD-MESO}/compute_tdpd_cc_atom.cpp (100%) rename src/{USER-MESODPD => DPD-MESO}/compute_tdpd_cc_atom.h (100%) rename src/{USER-MESODPD => DPD-MESO}/fix_edpd_source.cpp (100%) rename src/{USER-MESODPD => DPD-MESO}/fix_edpd_source.h (100%) rename src/{USER-MESODPD => DPD-MESO}/fix_mvv_dpd.cpp (100%) rename src/{USER-MESODPD => DPD-MESO}/fix_mvv_dpd.h (100%) rename src/{USER-MESODPD => DPD-MESO}/fix_mvv_edpd.cpp (100%) rename src/{USER-MESODPD => DPD-MESO}/fix_mvv_edpd.h (100%) rename src/{USER-MESODPD => DPD-MESO}/fix_mvv_tdpd.cpp (100%) rename src/{USER-MESODPD => DPD-MESO}/fix_mvv_tdpd.h (100%) rename src/{USER-MESODPD => DPD-MESO}/fix_tdpd_source.cpp (100%) rename src/{USER-MESODPD => DPD-MESO}/fix_tdpd_source.h (100%) rename src/{USER-MESODPD => DPD-MESO}/pair_edpd.cpp (100%) rename src/{USER-MESODPD => DPD-MESO}/pair_edpd.h (100%) rename src/{USER-MESODPD => DPD-MESO}/pair_mdpd.cpp (100%) rename src/{USER-MESODPD => DPD-MESO}/pair_mdpd.h (100%) rename src/{USER-MESODPD => DPD-MESO}/pair_mdpd_rhosum.cpp (100%) rename src/{USER-MESODPD => DPD-MESO}/pair_mdpd_rhosum.h (100%) rename src/{USER-MESODPD => DPD-MESO}/pair_tdpd.cpp (100%) rename src/{USER-MESODPD => DPD-MESO}/pair_tdpd.h (100%) rename src/{USER-SDPD => DPD-SMOOTH}/Install.sh (100%) rename src/{USER-SDPD => DPD-SMOOTH}/README (100%) rename src/{USER-SDPD => DPD-SMOOTH}/fix_meso_move.cpp (100%) rename src/{USER-SDPD => DPD-SMOOTH}/fix_meso_move.h (100%) rename src/{USER-SDPD => DPD-SMOOTH}/fix_rigid_meso.cpp (100%) rename src/{USER-SDPD => DPD-SMOOTH}/fix_rigid_meso.h (100%) rename src/{USER-SDPD => DPD-SMOOTH}/pair_sdpd_taitwater_isothermal.cpp (100%) rename src/{USER-SDPD => DPD-SMOOTH}/pair_sdpd_taitwater_isothermal.h (100%) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 5edce62767..580625d187 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -141,11 +141,11 @@ option(CMAKE_VERBOSE_MAKEFILE "Generate verbose Makefiles" OFF) set(STANDARD_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS DIPOLE GRANULAR KSPACE LATTE MANYBODY MC MESSAGE MISC ML-IAP MOLECULE PERI POEMS PLUGIN QEQ REPLICA RIGID SHOCK SPIN ML-SNAP SRD KIM PYTHON MSCG MPIIO VORONOI - USER-ADIOS USER-ATC USER-AWPMD USER-BOCS CG-DNA USER-MESODPD CG-SDK + USER-ADIOS USER-ATC USER-AWPMD USER-BOCS CG-DNA DPD-MESO CG-SDK USER-COLVARS USER-DIELECTRIC USER-DIFFRACTION DPD-REACT USER-DRUDE USER-EFF USER-FEP USER-H5MD ML-HDNNP LATBOLTZ USER-MANIFOLD USER-MDI MEAM USER-MESONT USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF USER-PHONON USER-PLUMED USER-PTM USER-QTB - ML-RANN USER-REACTION REAXFF USER-SCAFACOS USER-SDPD MACHDYN USER-SMTBQ USER-SPH + ML-RANN USER-REACTION REAXFF USER-SCAFACOS DPD-SMOOTH MACHDYN USER-SMTBQ USER-SPH USER-TALLY USER-UEF USER-VTK ML-QUIP USER-QMMM USER-YAFF ML-PACE USER-BROWNIAN) set(SUFFIX_PACKAGES CORESHELL GPU KOKKOS OPT USER-INTEL OPENMP) @@ -496,7 +496,7 @@ endif() # packages which selectively include variants based on enabled styles # e.g. accelerator packages ###################################################################### -foreach(PKG_WITH_INCL CORESHELL QEQ OPENMP USER-SDPD KOKKOS OPT USER-INTEL GPU) +foreach(PKG_WITH_INCL CORESHELL QEQ OPENMP DPD-SMOOTH KOKKOS OPT USER-INTEL GPU) if(PKG_${PKG_WITH_INCL}) include(Packages/${PKG_WITH_INCL}) endif() diff --git a/cmake/Modules/Packages/USER-SDPD.cmake b/cmake/Modules/Packages/USER-SDPD.cmake index c9f419d918..c5271d9091 100644 --- a/cmake/Modules/Packages/USER-SDPD.cmake +++ b/cmake/Modules/Packages/USER-SDPD.cmake @@ -1,13 +1,13 @@ # Fix rigid/meso requires RIGID to be installed -set(USER-SDPD_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/USER-SDPD) +set(DPD-SMOOTH_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/DPD-SMOOTH) get_property(hlist GLOBAL PROPERTY FIX) if(NOT PKG_RIGID) - list(REMOVE_ITEM hlist ${USER-SDPD_SOURCES_DIR}/fix_rigid_meso.h) + list(REMOVE_ITEM hlist ${DPD-SMOOTH_SOURCES_DIR}/fix_rigid_meso.h) get_target_property(LAMMPS_SOURCES lammps SOURCES) - list(REMOVE_ITEM LAMMPS_SOURCES ${USER-SDPD_SOURCES_DIR}/fix_rigid_meso.cpp) + list(REMOVE_ITEM LAMMPS_SOURCES ${DPD-SMOOTH_SOURCES_DIR}/fix_rigid_meso.cpp) set_property(TARGET lammps PROPERTY SOURCES ${LAMMPS_SOURCES}) endif() set_property(GLOBAL PROPERTY FIX "${hlist}") -target_include_directories(lammps PRIVATE ${USER-SDPD_SOURCES_DIR}) +target_include_directories(lammps PRIVATE ${DPD-SMOOTH_SOURCES_DIR}) diff --git a/cmake/presets/all_off.cmake b/cmake/presets/all_off.cmake index 3d6f6af15b..0f30bb56ad 100644 --- a/cmake/presets/all_off.cmake +++ b/cmake/presets/all_off.cmake @@ -7,10 +7,10 @@ set(ALL_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU SRD VORONOI USER-ADIOS USER-ATC USER-AWPMD USER-BROWNIAN USER-BOCS CG-DNA CG-SDK USER-COLVARS USER-DIFFRACTION DPD-REACT USER-DRUDE USER-EFF USER-FEP USER-H5MD - ML-HDNNP USER-INTEL LATBOLTZ USER-MANIFOLD USER-MDI MEAM USER-MESODPD + ML-HDNNP USER-INTEL LATBOLTZ USER-MANIFOLD USER-MDI MEAM DPD-MESO USER-MESONT USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF OPENMP ML-PACE USER-PHONON USER-PLUMED USER-PTM USER-QMMM USER-QTB ML-QUIP ML-RANN - USER-REACTION REAXFF USER-SCAFACOS USER-SDPD MACHDYN USER-SMTBQ USER-SPH + USER-REACTION REAXFF USER-SCAFACOS DPD-SMOOTH MACHDYN USER-SMTBQ USER-SPH USER-TALLY USER-UEF USER-VTK USER-YAFF USER-DIELECTRIC) foreach(PKG ${ALL_PACKAGES}) diff --git a/cmake/presets/all_on.cmake b/cmake/presets/all_on.cmake index 6942e85c5f..685303c21e 100644 --- a/cmake/presets/all_on.cmake +++ b/cmake/presets/all_on.cmake @@ -9,10 +9,10 @@ set(ALL_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU SRD VORONOI USER-ADIOS USER-ATC USER-AWPMD USER-BROWNIAN USER-BOCS CG-DNA CG-SDK USER-COLVARS USER-DIFFRACTION DPD-REACT USER-DRUDE USER-EFF USER-FEP USER-H5MD - ML-HDNNP USER-INTEL LATBOLTZ USER-MANIFOLD USER-MDI MEAM USER-MESODPD + ML-HDNNP USER-INTEL LATBOLTZ USER-MANIFOLD USER-MDI MEAM DPD-MESO USER-MESONT USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF OPENMP ML-PACE USER-PHONON USER-PLUMED USER-PTM USER-QMMM USER-QTB ML-QUIP ML-RANN - USER-REACTION REAXFF USER-SCAFACOS USER-SDPD MACHDYN USER-SMTBQ USER-SPH + USER-REACTION REAXFF USER-SCAFACOS DPD-SMOOTH MACHDYN USER-SMTBQ USER-SPH USER-TALLY USER-UEF USER-VTK USER-YAFF USER-DIELECTRIC) foreach(PKG ${ALL_PACKAGES}) diff --git a/cmake/presets/mingw-cross.cmake b/cmake/presets/mingw-cross.cmake index 4fe7a69823..4f87048797 100644 --- a/cmake/presets/mingw-cross.cmake +++ b/cmake/presets/mingw-cross.cmake @@ -3,10 +3,10 @@ set(WIN_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU PERI POEMS QEQ REPLICA RIGID SHOCK ML-SNAP SPIN SRD VORONOI USER-ATC USER-AWPMD USER-BOCS USER-BROWNIAN CG-DNA CG-SDK USER-COLVARS USER-DIFFRACTION DPD-REACT USER-DRUDE USER-EFF USER-FEP - ML-HDNNP USER-INTEL USER-MANIFOLD USER-MDI MEAM USER-MESODPD + ML-HDNNP USER-INTEL USER-MANIFOLD USER-MDI MEAM DPD-MESO USER-MESONT USER-MISC USER-MGPT USER-MOFFF USER-MOLFILE OPENMP USER-PHONON USER-PTM USER-QTB USER-REACTION REAXFF - USER-SDPD MACHDYN USER-SMTBQ USER-SPH USER-TALLY USER-UEF + DPD-SMOOTH MACHDYN USER-SMTBQ USER-SPH USER-TALLY USER-UEF USER-YAFF USER-DIELECTRIC) foreach(PKG ${WIN_PACKAGES}) diff --git a/cmake/presets/most.cmake b/cmake/presets/most.cmake index b6abd3d4aa..2abb87bb51 100644 --- a/cmake/presets/most.cmake +++ b/cmake/presets/most.cmake @@ -7,8 +7,8 @@ set(ALL_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE PLUGIN POEMS PYTHON QEQ REPLICA RIGID SHOCK ML-SNAP SPIN SRD VORONOI USER-BROWNIAN USER-BOCS CG-DNA CG-SDK USER-COLVARS USER-DIFFRACTION DPD-REACT USER-DRUDE USER-EFF USER-FEP MEAM - USER-MESODPD USER-MISC USER-MOFFF OPENMP USER-PHONON USER-REACTION - REAXFF USER-SDPD USER-SPH MACHDYN USER-UEF USER-YAFF USER-DIELECTRIC) + DPD-MESO USER-MISC USER-MOFFF OPENMP USER-PHONON USER-REACTION + REAXFF DPD-SMOOTH USER-SPH MACHDYN USER-UEF USER-YAFF USER-DIELECTRIC) foreach(PKG ${ALL_PACKAGES}) set(PKG_${PKG} ON CACHE BOOL "" FORCE) diff --git a/doc/src/Packages_details.rst b/doc/src/Packages_details.rst index 415d8e69ee..fae4ede453 100644 --- a/doc/src/Packages_details.rst +++ b/doc/src/Packages_details.rst @@ -86,7 +86,7 @@ page gives those details. * :ref:`USER-MANIFOLD ` * :ref:`USER-MDI ` * :ref:`MEAM ` - * :ref:`USER-MESODPD ` + * :ref:`DPD-MESO ` * :ref:`USER-MESONT ` * :ref:`USER-MGPT ` * :ref:`USER-MISC ` @@ -105,7 +105,7 @@ page gives those details. * :ref:`USER-REACTION ` * :ref:`REAXFF ` * :ref:`USER-SCAFACOS ` - * :ref:`USER-SDPD ` + * :ref:`DPD-SMOOTH ` * :ref:`MACHDYN ` * :ref:`USER-SMTBQ ` * :ref:`USER-SPH ` @@ -1828,9 +1828,9 @@ Sandia. ---------- -.. _PKG-USER-MESODPD: +.. _PKG-DPD-MESO: -USER-MESODPD package +DPD-MESO package -------------------- **Contents:** @@ -1847,8 +1847,8 @@ algorithm. **Supporting info:** -* src/USER-MESODPD: filenames -> commands -* src/USER-MESODPD/README +* src/DPD-MESO: filenames -> commands +* src/DPD-MESO/README * :doc:`atom_style edpd ` * :doc:`pair_style edpd ` * :doc:`pair_style mdpd ` @@ -2418,9 +2418,9 @@ This package has :ref:`specific installation instructions ` on th ---------- -.. _PKG-USER-SDPD: +.. _PKG-DPD-SMOOTH: -USER-SDPD package +DPD-SMOOTH package ----------------- **Contents:** @@ -2437,8 +2437,8 @@ Sciences, Iran). **Supporting info:** -* src/USER-SDPD: filenames -> commands -* src/USER-SDPD/README +* src/DPD-SMOOTH: filenames -> commands +* src/DPD-SMOOTH/README * :doc:`pair_style sdpd/taitwater/isothermal ` * :doc:`fix meso/move ` * :doc:`fix rigid/meso ` diff --git a/doc/src/Packages_user.rst b/doc/src/Packages_user.rst index 997041710a..2a9104ca04 100644 --- a/doc/src/Packages_user.rst +++ b/doc/src/Packages_user.rst @@ -73,7 +73,7 @@ package: +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ | :ref:`MEAM ` | modified EAM potential (C++) | :doc:`pair_style meam ` | meam | no | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`USER-MESODPD ` | mesoscale DPD models | :doc:`pair_style edpd ` | USER/mesodpd | no | +| :ref:`DPD-MESO ` | mesoscale DPD models | :doc:`pair_style edpd ` | USER/mesodpd | no | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ | :ref:`USER-MESONT ` | mesoscopic tubular potential model for nanotubes | pair style :doc:`mesont/tpm `, :doc:`mesocnt ` | USER/mesont | int | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ @@ -111,7 +111,7 @@ package: +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ | :ref:`USER-SCAFACOS ` | wrapper on ScaFaCoS solver | :doc:`kspace_style scafacos ` | USER/scafacos | ext | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`USER-SDPD ` | smoothed dissipative particle dynamics | :doc:`pair_style sdpd/taitwater/isothermal ` | USER/sdpd | no | +| :ref:`DPD-SMOOTH ` | smoothed dissipative particle dynamics | :doc:`pair_style sdpd/taitwater/isothermal ` | USER/sdpd | no | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ | :ref:`MACHDYN ` | smoothed Mach dynamics | `SMD User Guide `_ | USER/smd | ext | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ diff --git a/doc/src/atom_style.rst b/doc/src/atom_style.rst index 9c611e8e51..45cfcd5ae7 100644 --- a/doc/src/atom_style.rst +++ b/doc/src/atom_style.rst @@ -357,7 +357,7 @@ The *electron* style is part of the USER-EFF package for :doc:`electronic force The *dpd* style is part of the DPD-REACT package for dissipative particle dynamics (DPD). -The *edpd*\ , *mdpd*\ , and *tdpd* styles are part of the USER-MESODPD package +The *edpd*\ , *mdpd*\ , and *tdpd* styles are part of the DPD-MESO package for energy-conserving dissipative particle dynamics (eDPD), many-body dissipative particle dynamics (mDPD), and transport dissipative particle dynamics (tDPD), respectively. diff --git a/doc/src/compute_edpd_temp_atom.rst b/doc/src/compute_edpd_temp_atom.rst index e31974f98a..920bda1a87 100644 --- a/doc/src/compute_edpd_temp_atom.rst +++ b/doc/src/compute_edpd_temp_atom.rst @@ -44,7 +44,7 @@ The per-atom vector values will be in temperature :doc:`units `. Restrictions """""""""""" -This compute is part of the USER-MESODPD package. It is only enabled if +This compute is part of the DPD-MESO package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/compute_tdpd_cc_atom.rst b/doc/src/compute_tdpd_cc_atom.rst index dc18145e72..4c32fc448c 100644 --- a/doc/src/compute_tdpd_cc_atom.rst +++ b/doc/src/compute_tdpd_cc_atom.rst @@ -46,7 +46,7 @@ per unit mass. Restrictions """""""""""" -This compute is part of the USER-MESODPD package. It is only enabled if +This compute is part of the DPD-MESO package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/fix_dpd_source.rst b/doc/src/fix_dpd_source.rst index 29bbc92f78..5e1b92ae66 100644 --- a/doc/src/fix_dpd_source.rst +++ b/doc/src/fix_dpd_source.rst @@ -77,7 +77,7 @@ the :doc:`run ` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" -This fix is part of the USER-MESODPD package. It is only enabled if +This fix is part of the DPD-MESO package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Fix *edpd/source* must be used with the :doc:`pair_style edpd ` command. Fix *tdpd/source* must be used with the diff --git a/doc/src/fix_meso_move.rst b/doc/src/fix_meso_move.rst index 06b0d16686..6b290382a3 100644 --- a/doc/src/fix_meso_move.rst +++ b/doc/src/fix_meso_move.rst @@ -238,7 +238,7 @@ This fix is not invoked during :doc:`energy minimization `. Restrictions """""""""""" -This fix is part of the USER-SDPD package. It is only enabled if +This fix is part of the DPD-SMOOTH package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. diff --git a/doc/src/fix_mvv_dpd.rst b/doc/src/fix_mvv_dpd.rst index d0df1bd0f9..429c1c3bb7 100644 --- a/doc/src/fix_mvv_dpd.rst +++ b/doc/src/fix_mvv_dpd.rst @@ -90,7 +90,7 @@ the :doc:`run ` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" -This fix is part of the USER-MESODPD package. It is only enabled if +This fix is part of the DPD-MESO package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/fix_rigid_meso.rst b/doc/src/fix_rigid_meso.rst index dea2354bad..32ad4aa6c6 100644 --- a/doc/src/fix_rigid_meso.rst +++ b/doc/src/fix_rigid_meso.rst @@ -344,7 +344,7 @@ This fix is not invoked during :doc:`energy minimization `. Restrictions """""""""""" -This fix is part of the USER-SDPD package and also depends on the RIGID +This fix is part of the DPD-SMOOTH package and also depends on the RIGID package. It is only enabled if LAMMPS was built with both packages. See the :doc:`Build package ` doc page for more info. diff --git a/doc/src/pair_mesodpd.rst b/doc/src/pair_mesodpd.rst index 6f1b40e868..567c14f0ea 100644 --- a/doc/src/pair_mesodpd.rst +++ b/doc/src/pair_mesodpd.rst @@ -299,7 +299,7 @@ Restrictions """""""""""" The pair styles *edpd*\ , *mdpd*\ , *mdpd/rhosum* and *tdpd* are part of -the USER-MESODPD package. It is only enabled if LAMMPS was built with +the DPD-MESO package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. diff --git a/doc/src/pair_sdpd_taitwater_isothermal.rst b/doc/src/pair_sdpd_taitwater_isothermal.rst index b45ac31f63..15a4eb5374 100644 --- a/doc/src/pair_sdpd_taitwater_isothermal.rst +++ b/doc/src/pair_sdpd_taitwater_isothermal.rst @@ -97,7 +97,7 @@ This style can only be used via the *pair* keyword of the :doc:`run_style respa Restrictions """""""""""" -This pair style is part of the USER-SDPD package. It is only enabled +This pair style is part of the DPD-SMOOTH package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/set.rst b/doc/src/set.rst index cfe8321fd1..28ab2d6d0b 100644 --- a/doc/src/set.rst +++ b/doc/src/set.rst @@ -470,13 +470,13 @@ value >= 0.0, the internal temperature is set to that value. If it is temperature is set to that value. Keywords *edpd/temp* and *edpd/cv* set the temperature and volumetric -heat capacity of an eDPD particle as defined by the USER-MESODPD package. +heat capacity of an eDPD particle as defined by the DPD-MESO package. Currently, only :doc:`atom_style edpd ` defines particles with these attributes. The values for the temperature and heat capacity must be positive. Keyword *cc* sets the chemical concentration of a tDPD particle for a -specified species as defined by the USER-MESODPD package. Currently, only +specified species as defined by the DPD-MESO package. Currently, only :doc:`atom_style tdpd ` defines particles with this attribute. An integer for "index" selects a chemical species (1 to Nspecies) where Nspecies is set by the atom_style command. The value diff --git a/src/USER-MESODPD/README b/src/DPD-MESO/README similarity index 100% rename from src/USER-MESODPD/README rename to src/DPD-MESO/README diff --git a/src/USER-MESODPD/atom_vec_edpd.cpp b/src/DPD-MESO/atom_vec_edpd.cpp similarity index 100% rename from src/USER-MESODPD/atom_vec_edpd.cpp rename to src/DPD-MESO/atom_vec_edpd.cpp diff --git a/src/USER-MESODPD/atom_vec_edpd.h b/src/DPD-MESO/atom_vec_edpd.h similarity index 100% rename from src/USER-MESODPD/atom_vec_edpd.h rename to src/DPD-MESO/atom_vec_edpd.h diff --git a/src/USER-MESODPD/atom_vec_mdpd.cpp b/src/DPD-MESO/atom_vec_mdpd.cpp similarity index 100% rename from src/USER-MESODPD/atom_vec_mdpd.cpp rename to src/DPD-MESO/atom_vec_mdpd.cpp diff --git a/src/USER-MESODPD/atom_vec_mdpd.h b/src/DPD-MESO/atom_vec_mdpd.h similarity index 100% rename from src/USER-MESODPD/atom_vec_mdpd.h rename to src/DPD-MESO/atom_vec_mdpd.h diff --git a/src/USER-MESODPD/atom_vec_tdpd.cpp b/src/DPD-MESO/atom_vec_tdpd.cpp similarity index 100% rename from src/USER-MESODPD/atom_vec_tdpd.cpp rename to src/DPD-MESO/atom_vec_tdpd.cpp diff --git a/src/USER-MESODPD/atom_vec_tdpd.h b/src/DPD-MESO/atom_vec_tdpd.h similarity index 100% rename from src/USER-MESODPD/atom_vec_tdpd.h rename to src/DPD-MESO/atom_vec_tdpd.h diff --git a/src/USER-MESODPD/compute_edpd_temp_atom.cpp b/src/DPD-MESO/compute_edpd_temp_atom.cpp similarity index 100% rename from src/USER-MESODPD/compute_edpd_temp_atom.cpp rename to src/DPD-MESO/compute_edpd_temp_atom.cpp diff --git a/src/USER-MESODPD/compute_edpd_temp_atom.h b/src/DPD-MESO/compute_edpd_temp_atom.h similarity index 100% rename from src/USER-MESODPD/compute_edpd_temp_atom.h rename to src/DPD-MESO/compute_edpd_temp_atom.h diff --git a/src/USER-MESODPD/compute_tdpd_cc_atom.cpp b/src/DPD-MESO/compute_tdpd_cc_atom.cpp similarity index 100% rename from src/USER-MESODPD/compute_tdpd_cc_atom.cpp rename to src/DPD-MESO/compute_tdpd_cc_atom.cpp diff --git a/src/USER-MESODPD/compute_tdpd_cc_atom.h b/src/DPD-MESO/compute_tdpd_cc_atom.h similarity index 100% rename from src/USER-MESODPD/compute_tdpd_cc_atom.h rename to src/DPD-MESO/compute_tdpd_cc_atom.h diff --git a/src/USER-MESODPD/fix_edpd_source.cpp b/src/DPD-MESO/fix_edpd_source.cpp similarity index 100% rename from src/USER-MESODPD/fix_edpd_source.cpp rename to src/DPD-MESO/fix_edpd_source.cpp diff --git a/src/USER-MESODPD/fix_edpd_source.h b/src/DPD-MESO/fix_edpd_source.h similarity index 100% rename from src/USER-MESODPD/fix_edpd_source.h rename to src/DPD-MESO/fix_edpd_source.h diff --git a/src/USER-MESODPD/fix_mvv_dpd.cpp b/src/DPD-MESO/fix_mvv_dpd.cpp similarity index 100% rename from src/USER-MESODPD/fix_mvv_dpd.cpp rename to src/DPD-MESO/fix_mvv_dpd.cpp diff --git a/src/USER-MESODPD/fix_mvv_dpd.h b/src/DPD-MESO/fix_mvv_dpd.h similarity index 100% rename from src/USER-MESODPD/fix_mvv_dpd.h rename to src/DPD-MESO/fix_mvv_dpd.h diff --git a/src/USER-MESODPD/fix_mvv_edpd.cpp b/src/DPD-MESO/fix_mvv_edpd.cpp similarity index 100% rename from src/USER-MESODPD/fix_mvv_edpd.cpp rename to src/DPD-MESO/fix_mvv_edpd.cpp diff --git a/src/USER-MESODPD/fix_mvv_edpd.h b/src/DPD-MESO/fix_mvv_edpd.h similarity index 100% rename from src/USER-MESODPD/fix_mvv_edpd.h rename to src/DPD-MESO/fix_mvv_edpd.h diff --git a/src/USER-MESODPD/fix_mvv_tdpd.cpp b/src/DPD-MESO/fix_mvv_tdpd.cpp similarity index 100% rename from src/USER-MESODPD/fix_mvv_tdpd.cpp rename to src/DPD-MESO/fix_mvv_tdpd.cpp diff --git a/src/USER-MESODPD/fix_mvv_tdpd.h b/src/DPD-MESO/fix_mvv_tdpd.h similarity index 100% rename from src/USER-MESODPD/fix_mvv_tdpd.h rename to src/DPD-MESO/fix_mvv_tdpd.h diff --git a/src/USER-MESODPD/fix_tdpd_source.cpp b/src/DPD-MESO/fix_tdpd_source.cpp similarity index 100% rename from src/USER-MESODPD/fix_tdpd_source.cpp rename to src/DPD-MESO/fix_tdpd_source.cpp diff --git a/src/USER-MESODPD/fix_tdpd_source.h b/src/DPD-MESO/fix_tdpd_source.h similarity index 100% rename from src/USER-MESODPD/fix_tdpd_source.h rename to src/DPD-MESO/fix_tdpd_source.h diff --git a/src/USER-MESODPD/pair_edpd.cpp b/src/DPD-MESO/pair_edpd.cpp similarity index 100% rename from src/USER-MESODPD/pair_edpd.cpp rename to src/DPD-MESO/pair_edpd.cpp diff --git a/src/USER-MESODPD/pair_edpd.h b/src/DPD-MESO/pair_edpd.h similarity index 100% rename from src/USER-MESODPD/pair_edpd.h rename to src/DPD-MESO/pair_edpd.h diff --git a/src/USER-MESODPD/pair_mdpd.cpp b/src/DPD-MESO/pair_mdpd.cpp similarity index 100% rename from src/USER-MESODPD/pair_mdpd.cpp rename to src/DPD-MESO/pair_mdpd.cpp diff --git a/src/USER-MESODPD/pair_mdpd.h b/src/DPD-MESO/pair_mdpd.h similarity index 100% rename from src/USER-MESODPD/pair_mdpd.h rename to src/DPD-MESO/pair_mdpd.h diff --git a/src/USER-MESODPD/pair_mdpd_rhosum.cpp b/src/DPD-MESO/pair_mdpd_rhosum.cpp similarity index 100% rename from src/USER-MESODPD/pair_mdpd_rhosum.cpp rename to src/DPD-MESO/pair_mdpd_rhosum.cpp diff --git a/src/USER-MESODPD/pair_mdpd_rhosum.h b/src/DPD-MESO/pair_mdpd_rhosum.h similarity index 100% rename from src/USER-MESODPD/pair_mdpd_rhosum.h rename to src/DPD-MESO/pair_mdpd_rhosum.h diff --git a/src/USER-MESODPD/pair_tdpd.cpp b/src/DPD-MESO/pair_tdpd.cpp similarity index 100% rename from src/USER-MESODPD/pair_tdpd.cpp rename to src/DPD-MESO/pair_tdpd.cpp diff --git a/src/USER-MESODPD/pair_tdpd.h b/src/DPD-MESO/pair_tdpd.h similarity index 100% rename from src/USER-MESODPD/pair_tdpd.h rename to src/DPD-MESO/pair_tdpd.h diff --git a/src/USER-SDPD/Install.sh b/src/DPD-SMOOTH/Install.sh similarity index 100% rename from src/USER-SDPD/Install.sh rename to src/DPD-SMOOTH/Install.sh diff --git a/src/USER-SDPD/README b/src/DPD-SMOOTH/README similarity index 100% rename from src/USER-SDPD/README rename to src/DPD-SMOOTH/README diff --git a/src/USER-SDPD/fix_meso_move.cpp b/src/DPD-SMOOTH/fix_meso_move.cpp similarity index 100% rename from src/USER-SDPD/fix_meso_move.cpp rename to src/DPD-SMOOTH/fix_meso_move.cpp diff --git a/src/USER-SDPD/fix_meso_move.h b/src/DPD-SMOOTH/fix_meso_move.h similarity index 100% rename from src/USER-SDPD/fix_meso_move.h rename to src/DPD-SMOOTH/fix_meso_move.h diff --git a/src/USER-SDPD/fix_rigid_meso.cpp b/src/DPD-SMOOTH/fix_rigid_meso.cpp similarity index 100% rename from src/USER-SDPD/fix_rigid_meso.cpp rename to src/DPD-SMOOTH/fix_rigid_meso.cpp diff --git a/src/USER-SDPD/fix_rigid_meso.h b/src/DPD-SMOOTH/fix_rigid_meso.h similarity index 100% rename from src/USER-SDPD/fix_rigid_meso.h rename to src/DPD-SMOOTH/fix_rigid_meso.h diff --git a/src/USER-SDPD/pair_sdpd_taitwater_isothermal.cpp b/src/DPD-SMOOTH/pair_sdpd_taitwater_isothermal.cpp similarity index 100% rename from src/USER-SDPD/pair_sdpd_taitwater_isothermal.cpp rename to src/DPD-SMOOTH/pair_sdpd_taitwater_isothermal.cpp diff --git a/src/USER-SDPD/pair_sdpd_taitwater_isothermal.h b/src/DPD-SMOOTH/pair_sdpd_taitwater_isothermal.h similarity index 100% rename from src/USER-SDPD/pair_sdpd_taitwater_isothermal.h rename to src/DPD-SMOOTH/pair_sdpd_taitwater_isothermal.h diff --git a/src/Depend.sh b/src/Depend.sh index 801ba17f58..620421fbd7 100755 --- a/src/Depend.sh +++ b/src/Depend.sh @@ -113,7 +113,7 @@ fi if (test $1 = "RIGID") then depend KOKKOS depend OPENMP - depend USER-SDPD + depend DPD-SMOOTH fi if (test $1 = "ML-SNAP") then diff --git a/src/Makefile b/src/Makefile index 244034c0ed..cb10a16337 100644 --- a/src/Makefile +++ b/src/Makefile @@ -54,11 +54,11 @@ PACKAGE = asphere body class2 colloid compress coreshell dipole gpu \ PACKUSER = user-adios user-atc user-awpmd user-brownian user-bocs cg-dna \ cg-sdk user-colvars user-dielectric user-diffraction dpd-react user-drude \ user-eff user-fep user-h5md ml-hdnnp user-intel latboltz user-manifold \ - user-mdi meam user-mesodpd user-mesont user-mgpt user-misc \ + user-mdi meam dpd-meso user-mesont user-mgpt user-misc \ user-mofff user-molfile user-netcdf openmp user-phonon \ ml-pace user-plumed user-ptm user-qmmm user-qtb ml-quip \ ml-rann user-reaction reaxff user-scafacos machdyn user-smtbq \ - user-sdpd user-sph user-tally user-uef user-vtk user-yaff + dpd-smooth user-sph user-tally user-uef user-vtk user-yaff PACKLIB = compress gpu kim kokkos latte message mpiio mscg poems python voronoi \ user-adios user-atc user-awpmd user-colvars user-h5md ml-hdnnp latboltz user-mdi \ diff --git a/unittest/cplusplus/test_lammps_class.cpp b/unittest/cplusplus/test_lammps_class.cpp index c0c88fc0a1..e0d2dcf14b 100644 --- a/unittest/cplusplus/test_lammps_class.cpp +++ b/unittest/cplusplus/test_lammps_class.cpp @@ -137,11 +137,11 @@ TEST_F(LAMMPS_plain, TestStyles) found = lmp->match_style("atom", "dpd"); EXPECT_STREQ(found, "DPD-REACT"); found = lmp->match_style("atom", "edpd"); - EXPECT_STREQ(found, "USER-MESODPD"); + EXPECT_STREQ(found, "DPD-MESO"); found = lmp->match_style("atom", "mdpd"); - EXPECT_STREQ(found, "USER-MESODPD"); + EXPECT_STREQ(found, "DPD-MESO"); found = lmp->match_style("atom", "tdpd"); - EXPECT_STREQ(found, "USER-MESODPD"); + EXPECT_STREQ(found, "DPD-MESO"); found = lmp->match_style("atom", "spin"); EXPECT_STREQ(found, "SPIN"); found = lmp->match_style("atom", "smd"); From 878795e64aba8ce4d1ab4d138087ec757a1039da Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 29 Jun 2021 19:49:18 -0400 Subject: [PATCH 316/726] bulk rename of remaining USER- packages --- .github/CODEOWNERS | 42 +- .github/CONTRIBUTING.md | 6 +- cmake/CMakeLists.txt | 46 +-- .../{USER-COLVARS.cmake => COLVARS.cmake} | 0 .../Packages/{USER-H5MD.cmake => H5MD.cmake} | 0 .../{USER-INTEL.cmake => INTEL.cmake} | 46 +-- .../Packages/{USER-MDI.cmake => MDI.cmake} | 0 .../{USER-MOLFILE.cmake => MOLFILE.cmake} | 0 .../{USER-NETCDF.cmake => NETCDF.cmake} | 2 +- .../{USER-PLUMED.cmake => PLUMED.cmake} | 0 .../Packages/{USER-QMMM.cmake => QMMM.cmake} | 0 .../{USER-SCAFACOS.cmake => SCAFACOS.cmake} | 0 .../Packages/{USER-SDPD.cmake => SDPD.cmake} | 0 .../Packages/{USER-VTK.cmake => VTK.cmake} | 0 cmake/presets/all_off.cmake | 14 +- cmake/presets/all_on.cmake | 14 +- cmake/presets/download.cmake | 2 +- cmake/presets/mingw-cross.cmake | 14 +- cmake/presets/most.cmake | 8 +- cmake/presets/nolib.cmake | 6 +- doc/include-file-conventions.md | 2 +- doc/lammps.1 | 2 +- doc/src/Build_basics.rst | 14 +- doc/src/Build_development.rst | 2 +- doc/src/Build_extras.rst | 112 +++--- doc/src/Build_make.rst | 4 +- doc/src/Build_package.rst | 14 +- doc/src/Build_settings.rst | 4 +- doc/src/Commands_bond.rst | 8 +- doc/src/Commands_compute.rst | 2 +- doc/src/Commands_fix.rst | 2 +- doc/src/Commands_kspace.rst | 2 +- doc/src/Commands_pair.rst | 2 +- doc/src/Developer_unittest.rst | 2 +- doc/src/Errors_messages.rst | 6 +- doc/src/Howto_drude2.rst | 6 +- doc/src/Howto_manifold.rst | 6 +- doc/src/Howto_polarizable.rst | 2 +- doc/src/Install_windows.rst | 2 +- doc/src/Intro_authors.rst | 12 +- doc/src/Library.rst | 2 +- doc/src/Modify_compute.rst | 2 +- doc/src/Modify_contribute.rst | 8 +- doc/src/Packages_details.rst | 360 +++++++++--------- doc/src/Packages_user.rst | 66 ++-- doc/src/Run_options.rst | 14 +- doc/src/Speed_compare.rst | 4 +- doc/src/Speed_gpu.rst | 2 +- doc/src/Speed_intel.rst | 76 ++-- doc/src/Speed_kokkos.rst | 6 +- doc/src/Speed_packages.rst | 20 +- doc/src/Tools.rst | 4 +- doc/src/accel_styles.rst | 2 +- doc/src/angle_charmm.rst | 2 +- doc/src/angle_class2.rst | 2 +- doc/src/angle_cosine_buck6d.rst | 2 +- doc/src/atom_style.rst | 10 +- doc/src/compute_efield_atom.rst | 4 +- doc/src/compute_fep.rst | 2 +- doc/src/compute_ke_atom_eff.rst | 2 +- doc/src/compute_ke_eff.rst | 2 +- doc/src/compute_mesont.rst | 2 +- doc/src/compute_pressure_uef.rst | 2 +- doc/src/compute_property_atom.rst | 4 +- doc/src/compute_ptm_atom.rst | 2 +- doc/src/compute_saed.rst | 2 +- doc/src/compute_sph_e_atom.rst | 2 +- doc/src/compute_sph_rho_atom.rst | 2 +- doc/src/compute_sph_t_atom.rst | 2 +- doc/src/compute_stress_atom.rst | 2 +- doc/src/compute_tally.rst | 2 +- doc/src/compute_temp_deform_eff.rst | 2 +- doc/src/compute_temp_eff.rst | 2 +- doc/src/compute_temp_region_eff.rst | 2 +- doc/src/compute_temp_uef.rst | 2 +- doc/src/compute_xrd.rst | 2 +- doc/src/dump_adios.rst | 2 +- doc/src/dump_cfg_uef.rst | 2 +- doc/src/dump_h5md.rst | 2 +- doc/src/dump_molfile.rst | 4 +- doc/src/dump_netcdf.rst | 2 +- doc/src/dump_vtk.rst | 2 +- doc/src/dynamical_matrix.rst | 2 +- doc/src/fix_bocs.rst | 2 +- doc/src/fix_bond_react.rst | 2 +- doc/src/fix_brownian.rst | 2 +- doc/src/fix_colvars.rst | 2 +- doc/src/fix_deform.rst | 2 +- doc/src/fix_langevin_eff.rst | 2 +- doc/src/fix_manifoldforce.rst | 2 +- doc/src/fix_mdi_engine.rst | 2 +- doc/src/fix_nh_eff.rst | 2 +- doc/src/fix_nh_uef.rst | 2 +- doc/src/fix_nve_awpmd.rst | 2 +- doc/src/fix_nve_eff.rst | 2 +- doc/src/fix_nve_manifold_rattle.rst | 2 +- doc/src/fix_nvt_manifold_rattle.rst | 2 +- doc/src/fix_nvt_sllod_eff.rst | 2 +- doc/src/fix_phonon.rst | 2 +- doc/src/fix_plumed.rst | 2 +- doc/src/fix_polarize.rst | 2 +- doc/src/fix_propel_self.rst | 2 +- doc/src/fix_qbmsst.rst | 2 +- doc/src/fix_qmmm.rst | 2 +- doc/src/fix_qtb.rst | 2 +- doc/src/fix_sph.rst | 2 +- doc/src/fix_sph_stationary.rst | 2 +- doc/src/fix_temp_rescale_eff.rst | 2 +- doc/src/fix_tgnh_drude.rst | 2 +- doc/src/group2ndx.rst | 2 +- doc/src/improper_distharm.rst | 2 +- doc/src/improper_harmonic.rst | 2 +- doc/src/improper_inversion_harmonic.rst | 2 +- doc/src/info.rst | 2 +- doc/src/kspace_style.rst | 10 +- doc/src/mdi_engine.rst | 6 +- doc/src/package.rst | 20 +- doc/src/pair_buck6d_coul_gauss.rst | 2 +- doc/src/pair_class2.rst | 2 +- doc/src/pair_coul_tt.rst | 2 +- doc/src/pair_eff.rst | 2 +- doc/src/pair_fep_soft.rst | 2 +- doc/src/pair_hybrid.rst | 2 +- doc/src/pair_lj.rst | 2 +- doc/src/pair_lj_cut_coul.rst | 2 +- doc/src/pair_lj_cut_tip4p.rst | 2 +- doc/src/pair_lj_long.rst | 2 +- doc/src/pair_lj_switch3_coulgauss_long.rst | 2 +- doc/src/pair_mesocnt.rst | 2 +- doc/src/pair_mesont_tpm.rst | 2 +- doc/src/pair_mgpt.rst | 2 +- doc/src/pair_modify.rst | 4 +- doc/src/pair_morse.rst | 2 +- doc/src/pair_smtbq.rst | 2 +- doc/src/pair_sph_heatconduction.rst | 2 +- doc/src/pair_sph_idealgas.rst | 2 +- doc/src/pair_sph_lj.rst | 2 +- doc/src/pair_sph_rhosum.rst | 2 +- doc/src/pair_sph_taitwater.rst | 2 +- doc/src/pair_sph_taitwater_morris.rst | 2 +- doc/src/pair_sw.rst | 4 +- doc/src/pair_thole.rst | 2 +- doc/src/read_dump.rst | 8 +- doc/src/suffix.rst | 8 +- doc/src/third_order.rst | 2 +- doc/utils/check-packages.py | 4 +- examples/PACKAGES/USER-MISC/pafi/README | 4 +- examples/PACKAGES/dielectric/README | 2 +- examples/PACKAGES/mesont/README | 4 +- examples/PACKAGES/qtb/README | 4 +- ...ylon.stabilized_variable_probability.g++.1 | 4 +- ...ylon.stabilized_variable_probability.g++.4 | 4 +- .../log.27Nov18.scafacos.cw.ewald.g++.1 | 2 +- .../log.27Nov18.scafacos.cw.ewald.g++.4 | 2 +- .../log.27Nov18.scafacos.cw.p3m.g++.1 | 2 +- .../log.27Nov18.scafacos.cw.p3m.g++.4 | 2 +- .../scafacos/log.27Nov18.scafacos.ewald.g++.1 | 2 +- .../scafacos/log.27Nov18.scafacos.ewald.g++.4 | 2 +- .../scafacos/log.27Nov18.scafacos.g++.1 | 2 +- .../scafacos/log.27Nov18.scafacos.g++.4 | 2 +- .../scafacos/log.27Nov18.scafacos.p3m.g++.1 | 2 +- .../scafacos/log.27Nov18.scafacos.p3m.g++.4 | 2 +- examples/PACKAGES/sph/README | 2 +- examples/PACKAGES/tally/README | 2 +- examples/PACKAGES/uef/README | 2 +- lib/Install.py | 2 +- lib/README | 6 +- lib/atc/Makefile.lammps.empty | 6 +- lib/atc/Makefile.lammps.installed | 6 +- lib/atc/Makefile.lammps.linalg | 6 +- lib/atc/README | 2 +- lib/awpmd/Makefile.lammps.empty | 6 +- lib/awpmd/Makefile.lammps.installed | 6 +- lib/awpmd/Makefile.lammps.linalg | 6 +- lib/awpmd/README | 2 +- lib/awpmd/ivutils/include/pairhash.h | 2 +- lib/colvars/README | 2 +- lib/h5md/README | 4 +- lib/linalg/README | 6 +- lib/mdi/Install.py | 2 +- lib/mesont/Install.py | 2 +- lib/mesont/README | 2 +- lib/molfile/Makefile.lammps | 2 +- lib/molfile/README | 2 +- lib/mscg/README | 2 +- lib/netcdf/README | 2 +- lib/plumed/README | 2 +- lib/qmmm/README | 8 +- lib/vtk/README | 4 +- python/lammps/core.py | 2 +- src/{USER-ADIOS => ADIOS}/Install.sh | 2 +- src/{USER-ADIOS => ADIOS}/README | 2 +- src/{USER-ADIOS => ADIOS}/dump_atom_adios.cpp | 0 src/{USER-ADIOS => ADIOS}/dump_atom_adios.h | 0 .../dump_custom_adios.cpp | 0 src/{USER-ADIOS => ADIOS}/dump_custom_adios.h | 0 src/{USER-ADIOS => ADIOS}/reader_adios.cpp | 0 src/{USER-ADIOS => ADIOS}/reader_adios.h | 0 src/{USER-ATC => ATC}/Install.sh | 8 +- src/{USER-ATC => ATC}/README | 0 src/{USER-ATC => ATC}/fix_atc.cpp | 2 +- src/{USER-ATC => ATC}/fix_atc.h | 0 src/{USER-AWPMD => AWPMD}/Install.sh | 4 +- src/{USER-AWPMD => AWPMD}/README | 0 .../atom_vec_wavepacket.cpp | 0 .../atom_vec_wavepacket.h | 0 src/{USER-AWPMD => AWPMD}/fix_nve_awpmd.cpp | 0 src/{USER-AWPMD => AWPMD}/fix_nve_awpmd.h | 0 src/{USER-AWPMD => AWPMD}/pair_awpmd_cut.cpp | 0 src/{USER-AWPMD => AWPMD}/pair_awpmd_cut.h | 0 src/{USER-BOCS => BOCS}/README | 2 +- .../compute_pressure_bocs.cpp | 2 +- .../compute_pressure_bocs.h | 2 +- src/{USER-BOCS => BOCS}/fix_bocs.cpp | 4 +- src/{USER-BOCS => BOCS}/fix_bocs.h | 2 +- .../fix_brownian.cpp | 0 .../fix_brownian.h | 0 .../fix_brownian_asphere.cpp | 0 .../fix_brownian_asphere.h | 0 .../fix_brownian_base.cpp | 0 .../fix_brownian_base.h | 0 .../fix_brownian_sphere.cpp | 0 .../fix_brownian_sphere.h | 0 .../fix_propel_self.cpp | 0 .../fix_propel_self.h | 0 src/{USER-COLVARS => COLVARS}/Install.sh | 0 src/{USER-COLVARS => COLVARS}/README | 2 +- .../colvarproxy_lammps.cpp | 0 .../colvarproxy_lammps.h | 0 .../colvarproxy_lammps_version.h | 0 src/{USER-COLVARS => COLVARS}/fix_colvars.cpp | 0 src/{USER-COLVARS => COLVARS}/fix_colvars.h | 0 src/{USER-COLVARS => COLVARS}/group_ndx.cpp | 0 src/{USER-COLVARS => COLVARS}/group_ndx.h | 0 src/{USER-COLVARS => COLVARS}/ndx_group.cpp | 0 src/{USER-COLVARS => COLVARS}/ndx_group.h | 0 .../Install.sh | 2 +- src/{USER-DIELECTRIC => DIELECTRIC}/README | 4 +- .../atom_vec_dielectric.cpp | 2 +- .../atom_vec_dielectric.h | 0 .../compute_efield_atom.cpp | 0 .../compute_efield_atom.h | 0 .../fix_polarize_bem_gmres.cpp | 0 .../fix_polarize_bem_gmres.h | 0 .../fix_polarize_bem_icc.cpp | 0 .../fix_polarize_bem_icc.h | 0 .../fix_polarize_functional.cpp | 0 .../fix_polarize_functional.h | 0 .../msm_dielectric.cpp | 0 .../msm_dielectric.h | 0 .../pair_coul_cut_dielectric.cpp | 0 .../pair_coul_cut_dielectric.h | 0 .../pair_coul_long_dielectric.cpp | 0 .../pair_coul_long_dielectric.h | 0 .../pair_lj_cut_coul_cut_dielectric.cpp | 0 .../pair_lj_cut_coul_cut_dielectric.h | 0 .../pair_lj_cut_coul_debye_dielectric.cpp | 0 .../pair_lj_cut_coul_debye_dielectric.h | 0 .../pair_lj_cut_coul_long_dielectric.cpp | 0 .../pair_lj_cut_coul_long_dielectric.h | 0 .../pair_lj_cut_coul_msm_dielectric.cpp | 0 .../pair_lj_cut_coul_msm_dielectric.h | 0 .../pair_lj_long_coul_long_dielectric.cpp | 0 .../pair_lj_long_coul_long_dielectric.h | 0 .../pppm_dielectric.cpp | 0 .../pppm_dielectric.h | 0 src/{USER-DIFFRACTION => DIFFRACTION}/README | 0 .../compute_saed.cpp | 0 .../compute_saed.h | 0 .../compute_saed_consts.h | 0 .../compute_xrd.cpp | 0 .../compute_xrd.h | 0 .../compute_xrd_consts.h | 0 .../fix_saed_vtk.cpp | 0 .../fix_saed_vtk.h | 0 src/{USER-DRUDE => DRUDE}/README | 0 .../compute_temp_drude.cpp | 0 .../compute_temp_drude.h | 0 src/{USER-DRUDE => DRUDE}/fix_drude.cpp | 0 src/{USER-DRUDE => DRUDE}/fix_drude.h | 0 .../fix_drude_transform.cpp | 0 .../fix_drude_transform.h | 0 .../fix_langevin_drude.cpp | 0 .../fix_langevin_drude.h | 0 src/{USER-DRUDE => DRUDE}/fix_tgnh_drude.cpp | 0 src/{USER-DRUDE => DRUDE}/fix_tgnh_drude.h | 0 src/{USER-DRUDE => DRUDE}/fix_tgnpt_drude.cpp | 0 src/{USER-DRUDE => DRUDE}/fix_tgnpt_drude.h | 0 src/{USER-DRUDE => DRUDE}/fix_tgnvt_drude.cpp | 0 src/{USER-DRUDE => DRUDE}/fix_tgnvt_drude.h | 0 src/{USER-DRUDE => DRUDE}/pair_coul_tt.cpp | 0 src/{USER-DRUDE => DRUDE}/pair_coul_tt.h | 0 .../pair_lj_cut_thole_long.cpp | 0 .../pair_lj_cut_thole_long.h | 0 src/{USER-DRUDE => DRUDE}/pair_thole.cpp | 0 src/{USER-DRUDE => DRUDE}/pair_thole.h | 0 src/Depend.sh | 18 +- src/{USER-EFF => EFF}/README | 0 src/{USER-EFF => EFF}/atom_vec_electron.cpp | 2 +- src/{USER-EFF => EFF}/atom_vec_electron.h | 0 src/{USER-EFF => EFF}/compute_ke_atom_eff.cpp | 0 src/{USER-EFF => EFF}/compute_ke_atom_eff.h | 0 src/{USER-EFF => EFF}/compute_ke_eff.cpp | 0 src/{USER-EFF => EFF}/compute_ke_eff.h | 0 .../compute_temp_deform_eff.cpp | 0 .../compute_temp_deform_eff.h | 0 src/{USER-EFF => EFF}/compute_temp_eff.cpp | 0 src/{USER-EFF => EFF}/compute_temp_eff.h | 0 .../compute_temp_region_eff.cpp | 0 .../compute_temp_region_eff.h | 0 src/{USER-EFF => EFF}/fix_langevin_eff.cpp | 0 src/{USER-EFF => EFF}/fix_langevin_eff.h | 0 src/{USER-EFF => EFF}/fix_nh_eff.cpp | 0 src/{USER-EFF => EFF}/fix_nh_eff.h | 0 src/{USER-EFF => EFF}/fix_nph_eff.cpp | 0 src/{USER-EFF => EFF}/fix_nph_eff.h | 0 src/{USER-EFF => EFF}/fix_npt_eff.cpp | 0 src/{USER-EFF => EFF}/fix_npt_eff.h | 0 src/{USER-EFF => EFF}/fix_nve_eff.cpp | 0 src/{USER-EFF => EFF}/fix_nve_eff.h | 0 src/{USER-EFF => EFF}/fix_nvt_eff.cpp | 0 src/{USER-EFF => EFF}/fix_nvt_eff.h | 0 src/{USER-EFF => EFF}/fix_nvt_sllod_eff.cpp | 0 src/{USER-EFF => EFF}/fix_nvt_sllod_eff.h | 0 .../fix_temp_rescale_eff.cpp | 0 src/{USER-EFF => EFF}/fix_temp_rescale_eff.h | 0 src/{USER-EFF => EFF}/pair_eff_cut.cpp | 0 src/{USER-EFF => EFF}/pair_eff_cut.h | 0 src/{USER-EFF => EFF}/pair_eff_inline.h | 0 src/{USER-FEP => FEP}/Install.sh | 0 src/{USER-FEP => FEP}/README | 0 src/{USER-FEP => FEP}/compute_fep.cpp | 0 src/{USER-FEP => FEP}/compute_fep.h | 0 src/{USER-FEP => FEP}/fix_adapt_fep.cpp | 0 src/{USER-FEP => FEP}/fix_adapt_fep.h | 0 src/{USER-FEP => FEP}/pair_coul_cut_soft.cpp | 0 src/{USER-FEP => FEP}/pair_coul_cut_soft.h | 0 src/{USER-FEP => FEP}/pair_coul_long_soft.cpp | 0 src/{USER-FEP => FEP}/pair_coul_long_soft.h | 0 .../pair_lj_charmm_coul_long_soft.cpp | 0 .../pair_lj_charmm_coul_long_soft.h | 0 .../pair_lj_class2_coul_cut_soft.cpp | 0 .../pair_lj_class2_coul_cut_soft.h | 0 .../pair_lj_class2_coul_long_soft.cpp | 0 .../pair_lj_class2_coul_long_soft.h | 0 src/{USER-FEP => FEP}/pair_lj_class2_soft.cpp | 0 src/{USER-FEP => FEP}/pair_lj_class2_soft.h | 0 .../pair_lj_cut_coul_cut_soft.cpp | 0 .../pair_lj_cut_coul_cut_soft.h | 0 .../pair_lj_cut_coul_long_soft.cpp | 0 .../pair_lj_cut_coul_long_soft.h | 0 src/{USER-FEP => FEP}/pair_lj_cut_soft.cpp | 0 src/{USER-FEP => FEP}/pair_lj_cut_soft.h | 0 .../pair_lj_cut_tip4p_long_soft.cpp | 0 .../pair_lj_cut_tip4p_long_soft.h | 0 src/{USER-FEP => FEP}/pair_morse_soft.cpp | 0 src/{USER-FEP => FEP}/pair_morse_soft.h | 0 .../pair_tip4p_long_soft.cpp | 0 src/{USER-FEP => FEP}/pair_tip4p_long_soft.h | 0 src/{USER-H5MD => H5MD}/Install.sh | 0 src/{USER-H5MD => H5MD}/README | 0 src/{USER-H5MD => H5MD}/dump_h5md.cpp | 0 src/{USER-H5MD => H5MD}/dump_h5md.h | 0 src/{USER-INTEL => INTEL}/Install.sh | 0 src/{USER-INTEL => INTEL}/README | 2 +- src/{USER-INTEL => INTEL}/TEST/README | 8 +- .../TEST/in.intel.airebo | 0 src/{USER-INTEL => INTEL}/TEST/in.intel.dpd | 0 src/{USER-INTEL => INTEL}/TEST/in.intel.eam | 0 src/{USER-INTEL => INTEL}/TEST/in.intel.lc | 0 src/{USER-INTEL => INTEL}/TEST/in.intel.lj | 0 src/{USER-INTEL => INTEL}/TEST/in.intel.rhodo | 0 src/{USER-INTEL => INTEL}/TEST/in.intel.sw | 0 .../TEST/in.intel.tersoff | 0 src/{USER-INTEL => INTEL}/TEST/in.intel.water | 0 .../TEST/in.lc_generate_restart | 0 src/{USER-INTEL => INTEL}/TEST/mW.sw | 0 .../TEST/mW_32k_cube.data | 0 .../TEST/run_benchmarks.sh | 0 .../angle_charmm_intel.cpp | 2 +- .../angle_charmm_intel.h | 0 .../angle_harmonic_intel.cpp | 2 +- .../angle_harmonic_intel.h | 0 src/{USER-INTEL => INTEL}/bond_fene_intel.cpp | 2 +- src/{USER-INTEL => INTEL}/bond_fene_intel.h | 0 .../bond_harmonic_intel.cpp | 2 +- .../bond_harmonic_intel.h | 0 .../dihedral_charmm_intel.cpp | 2 +- .../dihedral_charmm_intel.h | 0 .../dihedral_fourier_intel.cpp | 2 +- .../dihedral_fourier_intel.h | 0 .../dihedral_harmonic_intel.cpp | 2 +- .../dihedral_harmonic_intel.h | 0 .../dihedral_opls_intel.cpp | 2 +- .../dihedral_opls_intel.h | 0 src/{USER-INTEL => INTEL}/fix_intel.cpp | 6 +- src/{USER-INTEL => INTEL}/fix_intel.h | 10 +- src/{USER-INTEL => INTEL}/fix_nh_intel.cpp | 0 src/{USER-INTEL => INTEL}/fix_nh_intel.h | 0 src/{USER-INTEL => INTEL}/fix_npt_intel.cpp | 0 src/{USER-INTEL => INTEL}/fix_npt_intel.h | 0 .../fix_nve_asphere_intel.cpp | 0 .../fix_nve_asphere_intel.h | 0 src/{USER-INTEL => INTEL}/fix_nve_intel.cpp | 0 src/{USER-INTEL => INTEL}/fix_nve_intel.h | 0 src/{USER-INTEL => INTEL}/fix_nvt_intel.cpp | 0 src/{USER-INTEL => INTEL}/fix_nvt_intel.h | 0 .../fix_nvt_sllod_intel.cpp | 0 .../fix_nvt_sllod_intel.h | 0 .../improper_cvff_intel.cpp | 2 +- .../improper_cvff_intel.h | 0 .../improper_harmonic_intel.cpp | 2 +- .../improper_harmonic_intel.h | 0 src/{USER-INTEL => INTEL}/intel_buffers.cpp | 0 src/{USER-INTEL => INTEL}/intel_buffers.h | 0 src/{USER-INTEL => INTEL}/intel_intrinsics.h | 0 .../intel_intrinsics_airebo.h | 0 src/{USER-INTEL => INTEL}/intel_preprocess.h | 2 +- src/{USER-INTEL => INTEL}/intel_simd.h | 0 src/{USER-INTEL => INTEL}/math_extra_intel.h | 0 src/{USER-INTEL => INTEL}/nbin_intel.cpp | 2 +- src/{USER-INTEL => INTEL}/nbin_intel.h | 0 .../npair_full_bin_ghost_intel.cpp | 4 +- .../npair_full_bin_ghost_intel.h | 0 .../npair_full_bin_intel.cpp | 2 +- .../npair_full_bin_intel.h | 0 .../npair_half_bin_newton_intel.cpp | 2 +- .../npair_half_bin_newton_intel.h | 0 .../npair_half_bin_newton_tri_intel.cpp | 2 +- .../npair_half_bin_newton_tri_intel.h | 0 .../npair_halffull_newtoff_intel.h | 0 .../npair_halffull_newton_intel.cpp | 0 .../npair_halffull_newton_intel.h | 0 src/{USER-INTEL => INTEL}/npair_intel.cpp | 0 src/{USER-INTEL => INTEL}/npair_intel.h | 2 +- .../npair_skip_intel.cpp | 0 src/{USER-INTEL => INTEL}/npair_skip_intel.h | 0 .../pair_airebo_intel.cpp | 2 +- src/{USER-INTEL => INTEL}/pair_airebo_intel.h | 0 .../pair_airebo_morse_intel.cpp | 0 .../pair_airebo_morse_intel.h | 0 .../pair_buck_coul_cut_intel.cpp | 2 +- .../pair_buck_coul_cut_intel.h | 0 .../pair_buck_coul_long_intel.cpp | 2 +- .../pair_buck_coul_long_intel.h | 0 src/{USER-INTEL => INTEL}/pair_buck_intel.cpp | 2 +- src/{USER-INTEL => INTEL}/pair_buck_intel.h | 0 src/{USER-INTEL => INTEL}/pair_dpd_intel.cpp | 2 +- src/{USER-INTEL => INTEL}/pair_dpd_intel.h | 0 .../pair_eam_alloy_intel.cpp | 0 .../pair_eam_alloy_intel.h | 0 .../pair_eam_fs_intel.cpp | 0 src/{USER-INTEL => INTEL}/pair_eam_fs_intel.h | 0 src/{USER-INTEL => INTEL}/pair_eam_intel.cpp | 2 +- src/{USER-INTEL => INTEL}/pair_eam_intel.h | 0 .../pair_gayberne_intel.cpp | 2 +- .../pair_gayberne_intel.h | 0 .../pair_lj_charmm_coul_charmm_intel.cpp | 2 +- .../pair_lj_charmm_coul_charmm_intel.h | 0 .../pair_lj_charmm_coul_long_intel.cpp | 2 +- .../pair_lj_charmm_coul_long_intel.h | 0 .../pair_lj_cut_coul_long_intel.cpp | 2 +- .../pair_lj_cut_coul_long_intel.h | 0 .../pair_lj_cut_intel.cpp | 2 +- src/{USER-INTEL => INTEL}/pair_lj_cut_intel.h | 0 .../pair_lj_long_coul_long_intel.cpp | 0 .../pair_lj_long_coul_long_intel.h | 0 src/{USER-INTEL => INTEL}/pair_rebo_intel.cpp | 0 src/{USER-INTEL => INTEL}/pair_rebo_intel.h | 0 src/{USER-INTEL => INTEL}/pair_sw_intel.cpp | 2 +- src/{USER-INTEL => INTEL}/pair_sw_intel.h | 0 .../pair_tersoff_intel.cpp | 2 +- .../pair_tersoff_intel.h | 0 src/{USER-INTEL => INTEL}/pppm_disp_intel.cpp | 2 +- src/{USER-INTEL => INTEL}/pppm_disp_intel.h | 0 src/{USER-INTEL => INTEL}/pppm_intel.cpp | 2 +- src/{USER-INTEL => INTEL}/pppm_intel.h | 4 +- .../verlet_lrt_intel.cpp | 0 src/{USER-INTEL => INTEL}/verlet_lrt_intel.h | 0 src/KOKKOS/min_kokkos.cpp | 2 +- src/KOKKOS/neigh_bond_kokkos.cpp | 2 +- src/KOKKOS/neighbor_kokkos.cpp | 4 +- src/MAKE/OPTIONS/Makefile.intel_coprocessor | 2 +- src/MAKE/OPTIONS/Makefile.intel_cpu_intelmpi | 2 +- src/MAKE/OPTIONS/Makefile.intel_cpu_mpich | 2 +- src/MAKE/OPTIONS/Makefile.intel_cpu_openmpi | 2 +- src/MAKE/OPTIONS/Makefile.mgptfast | 2 +- src/MAKE/README | 12 +- src/{USER-MANIFOLD => MANIFOLD}/README | 6 +- .../fix_manifoldforce.cpp | 0 .../fix_manifoldforce.h | 2 +- .../fix_nve_manifold_rattle.cpp | 2 +- .../fix_nve_manifold_rattle.h | 2 +- .../fix_nvt_manifold_rattle.cpp | 2 +- .../fix_nvt_manifold_rattle.h | 2 +- src/{USER-MANIFOLD => MANIFOLD}/manifold.h | 2 +- .../manifold_cylinder.cpp | 0 .../manifold_cylinder.h | 0 .../manifold_cylinder_dent.cpp | 0 .../manifold_cylinder_dent.h | 0 .../manifold_dumbbell.cpp | 0 .../manifold_dumbbell.h | 0 .../manifold_ellipsoid.cpp | 0 .../manifold_ellipsoid.h | 0 .../manifold_factory.cpp | 2 +- .../manifold_factory.h | 2 +- .../manifold_gaussian_bump.cpp | 0 .../manifold_gaussian_bump.h | 2 +- .../manifold_plane.cpp | 0 .../manifold_plane.h | 0 .../manifold_plane_wiggle.cpp | 0 .../manifold_plane_wiggle.h | 0 .../manifold_sphere.h | 0 .../manifold_spine.cpp | 0 .../manifold_spine.h | 0 .../manifold_supersphere.h | 0 .../manifold_thylakoid.cpp | 0 .../manifold_thylakoid.h | 0 .../manifold_thylakoid_shared.cpp | 0 .../manifold_thylakoid_shared.h | 0 .../manifold_torus.cpp | 0 .../manifold_torus.h | 0 src/MANYBODY/pair_eam.h | 2 +- src/MC/fix_gcmc.cpp | 2 +- src/MC/fix_widom.cpp | 2 +- src/{USER-MDI => MDI}/Install.sh | 0 src/{USER-MDI => MDI}/README | 2 +- src/{USER-MDI => MDI}/fix_mdi_engine.cpp | 0 src/{USER-MDI => MDI}/fix_mdi_engine.h | 0 src/{USER-MDI => MDI}/library_mdi.cpp | 0 src/{USER-MDI => MDI}/library_mdi.h | 0 src/{USER-MDI => MDI}/mdi_engine.cpp | 0 src/{USER-MDI => MDI}/mdi_engine.h | 0 src/{USER-MESONT => MESONT}/Install.sh | 0 src/{USER-MESONT => MESONT}/README | 4 +- .../atom_vec_mesont.cpp | 0 src/{USER-MESONT => MESONT}/atom_vec_mesont.h | 0 .../compute_mesont.cpp | 0 src/{USER-MESONT => MESONT}/compute_mesont.h | 0 src/{USER-MESONT => MESONT}/export_mesont.h | 0 src/{USER-MESONT => MESONT}/pair_mesocnt.cpp | 0 src/{USER-MESONT => MESONT}/pair_mesocnt.h | 0 .../pair_mesont_tpm.cpp | 0 src/{USER-MESONT => MESONT}/pair_mesont_tpm.h | 0 src/{USER-MESONT => MESONT}/potentials.txt | 0 src/{USER-MGPT => MGPT}/README | 2 +- src/{USER-MGPT => MGPT}/mgpt_bgmul_7.c.h | 0 src/{USER-MGPT => MGPT}/mgpt_linalg.cpp | 0 src/{USER-MGPT => MGPT}/mgpt_linalg.h | 0 src/{USER-MGPT => MGPT}/mgpt_mmul3_538.c.h | 0 src/{USER-MGPT => MGPT}/mgpt_mmul3_748.c.h | 0 src/{USER-MGPT => MGPT}/mgpt_mmul3d_526.c.h | 0 src/{USER-MGPT => MGPT}/mgpt_mmul3d_744.c.h | 0 src/{USER-MGPT => MGPT}/mgpt_mmul_bg_552.c.h | 0 src/{USER-MGPT => MGPT}/mgpt_mmul_bg_722.c.h | 0 .../mgpt_mmul_bgq_n5_lda8_2x8.c.h | 0 .../mgpt_mmul_bgq_n7_lda8_4x8.c.h | 0 src/{USER-MGPT => MGPT}/mgpt_readpot.cpp | 0 src/{USER-MGPT => MGPT}/mgpt_readpot.h | 0 src/{USER-MGPT => MGPT}/mgpt_splinetab.cpp | 0 src/{USER-MGPT => MGPT}/mgpt_splinetab.h | 0 src/{USER-MGPT => MGPT}/mgpt_ttr_5022.c.h | 0 src/{USER-MGPT => MGPT}/mgpt_ttr_5042.c.h | 0 src/{USER-MGPT => MGPT}/mgpt_ttr_5123.c.h | 0 src/{USER-MGPT => MGPT}/mgpt_ttr_5141.c.h | 0 src/{USER-MGPT => MGPT}/mgpt_ttr_7022.c.h | 0 src/{USER-MGPT => MGPT}/mgpt_ttr_7042.c.h | 0 src/{USER-MGPT => MGPT}/mgpt_ttr_7123.c.h | 0 src/{USER-MGPT => MGPT}/mgpt_ttr_7141.c.h | 0 src/{USER-MGPT => MGPT}/pair_mgpt.cpp | 0 src/{USER-MGPT => MGPT}/pair_mgpt.h | 0 src/{USER-MOFFF => MOFFF}/README | 0 src/{USER-MOFFF => MOFFF}/angle_class2_p6.cpp | 0 src/{USER-MOFFF => MOFFF}/angle_class2_p6.h | 0 .../angle_cosine_buck6d.cpp | 0 .../angle_cosine_buck6d.h | 0 .../improper_inversion_harmonic.cpp | 0 .../improper_inversion_harmonic.h | 0 .../pair_buck6d_coul_gauss_dsf.cpp | 0 .../pair_buck6d_coul_gauss_dsf.h | 0 .../pair_buck6d_coul_gauss_long.cpp | 0 .../pair_buck6d_coul_gauss_long.h | 0 src/{USER-MOLFILE => MOLFILE}/Install.sh | 0 src/{USER-MOLFILE => MOLFILE}/README | 0 .../dump_molfile.cpp | 0 src/{USER-MOLFILE => MOLFILE}/dump_molfile.h | 0 .../molfile_interface.cpp | 0 .../molfile_interface.h | 0 .../reader_molfile.cpp | 0 .../reader_molfile.h | 0 src/MSCG/README | 2 +- src/Makefile | 34 +- src/{USER-NETCDF => NETCDF}/Install.sh | 0 src/{USER-NETCDF => NETCDF}/README | 2 +- src/{USER-NETCDF => NETCDF}/dump_netcdf.cpp | 0 src/{USER-NETCDF => NETCDF}/dump_netcdf.h | 0 .../dump_netcdf_mpiio.cpp | 0 .../dump_netcdf_mpiio.h | 0 src/OPENMP/fix_omp.cpp | 2 +- src/{USER-PHONON => PHONON}/Install.sh | 4 +- src/{USER-PHONON => PHONON}/README | 0 .../dynamical_matrix.cpp | 0 .../dynamical_matrix.h | 0 src/{USER-PHONON => PHONON}/fix_phonon.cpp | 0 src/{USER-PHONON => PHONON}/fix_phonon.h | 0 src/{USER-PHONON => PHONON}/third_order.cpp | 0 src/{USER-PHONON => PHONON}/third_order.h | 0 src/{USER-PLUMED => PLUMED}/Install.sh | 0 src/{USER-PLUMED => PLUMED}/README | 4 +- src/{USER-PLUMED => PLUMED}/fix_plumed.cpp | 0 src/{USER-PLUMED => PLUMED}/fix_plumed.h | 0 src/{USER-PTM => PTM}/LICENSE | 0 src/{USER-PTM => PTM}/README | 0 src/{USER-PTM => PTM}/compute_ptm_atom.cpp | 2 +- src/{USER-PTM => PTM}/compute_ptm_atom.h | 0 src/{USER-PTM => PTM}/ptm_alloy_types.cpp | 0 src/{USER-PTM => PTM}/ptm_alloy_types.h | 0 src/{USER-PTM => PTM}/ptm_alt_templates.h | 0 .../ptm_canonical_coloured.cpp | 0 .../ptm_canonical_coloured.h | 0 src/{USER-PTM => PTM}/ptm_constants.cpp | 0 src/{USER-PTM => PTM}/ptm_constants.h | 0 .../ptm_convex_hull_incremental.cpp | 0 .../ptm_convex_hull_incremental.h | 0 .../ptm_deformation_gradient.cpp | 0 .../ptm_deformation_gradient.h | 0 src/{USER-PTM => PTM}/ptm_functions.h | 0 .../ptm_fundamental_mappings.h | 0 src/{USER-PTM => PTM}/ptm_graph_data.cpp | 0 src/{USER-PTM => PTM}/ptm_graph_data.h | 0 src/{USER-PTM => PTM}/ptm_graph_tools.cpp | 0 src/{USER-PTM => PTM}/ptm_graph_tools.h | 0 src/{USER-PTM => PTM}/ptm_index.cpp | 0 src/{USER-PTM => PTM}/ptm_initialize_data.cpp | 0 src/{USER-PTM => PTM}/ptm_initialize_data.h | 0 .../ptm_neighbour_ordering.cpp | 0 .../ptm_neighbour_ordering.h | 0 .../ptm_normalize_vertices.cpp | 0 .../ptm_normalize_vertices.h | 0 src/{USER-PTM => PTM}/ptm_polar.cpp | 0 src/{USER-PTM => PTM}/ptm_polar.h | 0 src/{USER-PTM => PTM}/ptm_quat.cpp | 0 src/{USER-PTM => PTM}/ptm_quat.h | 0 .../ptm_structure_matcher.cpp | 0 src/{USER-PTM => PTM}/ptm_structure_matcher.h | 0 src/{USER-PTM => PTM}/ptm_voronoi_cell.cpp | 0 src/{USER-PTM => PTM}/ptm_voronoi_cell.h | 0 src/{USER-PTM => PTM}/ptm_voronoi_config.h | 0 src/{USER-QMMM => QMMM}/Install.sh | 0 src/{USER-QMMM => QMMM}/README | 0 src/{USER-QMMM => QMMM}/fix_qmmm.cpp | 0 src/{USER-QMMM => QMMM}/fix_qmmm.h | 0 src/{USER-QTB => QTB}/README | 0 src/{USER-QTB => QTB}/fix_qbmsst.cpp | 0 src/{USER-QTB => QTB}/fix_qbmsst.h | 0 src/{USER-QTB => QTB}/fix_qtb.cpp | 0 src/{USER-QTB => QTB}/fix_qtb.h | 0 src/{USER-REACTION => REACTION}/README | 0 .../fix_bond_react.cpp | 0 .../fix_bond_react.h | 0 src/{USER-REACTION => REACTION}/superpose3d.h | 0 src/{USER-SCAFACOS => SCAFACOS}/Install.sh | 0 src/{USER-SCAFACOS => SCAFACOS}/README | 0 src/{USER-SCAFACOS => SCAFACOS}/scafacos.cpp | 0 src/{USER-SCAFACOS => SCAFACOS}/scafacos.h | 0 src/{USER-SMTBQ => SMTBQ}/README | 0 src/{USER-SMTBQ => SMTBQ}/pair_smtbq.cpp | 0 src/{USER-SMTBQ => SMTBQ}/pair_smtbq.h | 0 src/{USER-SPH => SPH}/README | 0 src/{USER-SPH => SPH}/atom_vec_sph.cpp | 0 src/{USER-SPH => SPH}/atom_vec_sph.h | 0 src/{USER-SPH => SPH}/compute_sph_e_atom.cpp | 0 src/{USER-SPH => SPH}/compute_sph_e_atom.h | 0 .../compute_sph_rho_atom.cpp | 0 src/{USER-SPH => SPH}/compute_sph_rho_atom.h | 0 src/{USER-SPH => SPH}/compute_sph_t_atom.cpp | 0 src/{USER-SPH => SPH}/compute_sph_t_atom.h | 0 src/{USER-SPH => SPH}/fix_sph.cpp | 0 src/{USER-SPH => SPH}/fix_sph.h | 0 src/{USER-SPH => SPH}/fix_sph_stationary.cpp | 0 src/{USER-SPH => SPH}/fix_sph_stationary.h | 0 .../pair_sph_heatconduction.cpp | 0 .../pair_sph_heatconduction.h | 0 src/{USER-SPH => SPH}/pair_sph_idealgas.cpp | 0 src/{USER-SPH => SPH}/pair_sph_idealgas.h | 0 src/{USER-SPH => SPH}/pair_sph_lj.cpp | 0 src/{USER-SPH => SPH}/pair_sph_lj.h | 0 src/{USER-SPH => SPH}/pair_sph_rhosum.cpp | 0 src/{USER-SPH => SPH}/pair_sph_rhosum.h | 0 src/{USER-SPH => SPH}/pair_sph_taitwater.cpp | 0 src/{USER-SPH => SPH}/pair_sph_taitwater.h | 0 .../pair_sph_taitwater_morris.cpp | 0 .../pair_sph_taitwater_morris.h | 0 src/{USER-TALLY => TALLY}/README | 0 .../compute_force_tally.cpp | 0 .../compute_force_tally.h | 0 .../compute_heat_flux_tally.cpp | 0 .../compute_heat_flux_tally.h | 0 .../compute_pe_mol_tally.cpp | 0 .../compute_pe_mol_tally.h | 0 .../compute_pe_tally.cpp | 0 src/{USER-TALLY => TALLY}/compute_pe_tally.h | 0 .../compute_stress_tally.cpp | 0 .../compute_stress_tally.h | 0 src/{USER-UEF => UEF}/README | 2 +- .../compute_pressure_uef.cpp | 0 src/{USER-UEF => UEF}/compute_pressure_uef.h | 0 src/{USER-UEF => UEF}/compute_temp_uef.cpp | 0 src/{USER-UEF => UEF}/compute_temp_uef.h | 0 src/{USER-UEF => UEF}/dump_cfg_uef.cpp | 0 src/{USER-UEF => UEF}/dump_cfg_uef.h | 0 src/{USER-UEF => UEF}/fix_nh_uef.cpp | 2 +- src/{USER-UEF => UEF}/fix_nh_uef.h | 0 src/{USER-UEF => UEF}/fix_npt_uef.cpp | 0 src/{USER-UEF => UEF}/fix_npt_uef.h | 0 src/{USER-UEF => UEF}/fix_nvt_uef.cpp | 0 src/{USER-UEF => UEF}/fix_nvt_uef.h | 0 src/{USER-UEF => UEF}/uef_utils.cpp | 0 src/{USER-UEF => UEF}/uef_utils.h | 0 src/{USER-VTK => VTK}/Install.sh | 0 src/{USER-VTK => VTK}/README | 0 src/{USER-VTK => VTK}/dump_vtk.cpp | 0 src/{USER-VTK => VTK}/dump_vtk.h | 0 src/{USER-YAFF => YAFF}/README | 0 src/{USER-YAFF => YAFF}/angle_cross.cpp | 0 src/{USER-YAFF => YAFF}/angle_cross.h | 0 src/{USER-YAFF => YAFF}/angle_mm3.cpp | 0 src/{USER-YAFF => YAFF}/angle_mm3.h | 0 src/{USER-YAFF => YAFF}/bond_mm3.cpp | 0 src/{USER-YAFF => YAFF}/bond_mm3.h | 0 src/{USER-YAFF => YAFF}/improper_distharm.cpp | 0 src/{USER-YAFF => YAFF}/improper_distharm.h | 0 .../improper_sqdistharm.cpp | 0 src/{USER-YAFF => YAFF}/improper_sqdistharm.h | 0 .../pair_lj_switch3_coulgauss_long.cpp | 0 .../pair_lj_switch3_coulgauss_long.h | 0 .../pair_mm3_switch3_coulgauss_long.cpp | 0 .../pair_mm3_switch3_coulgauss_long.h | 0 src/atom.cpp | 30 +- src/atom.h | 10 +- src/info.cpp | 18 +- src/input.cpp | 2 +- src/input.h | 4 +- src/lammps.cpp | 2 +- src/lammps.h | 2 +- src/library.cpp | 2 +- src/modify.cpp | 2 +- src/nbin_standard.cpp | 2 +- src/neigh_request.h | 2 +- src/pair.cpp | 2 +- src/pair.h | 2 +- src/pair_hybrid.cpp | 2 +- tools/README | 4 +- tools/drude/polarizer.py | 2 +- tools/fep/README | 2 +- tools/mesont/README | 4 +- unittest/cplusplus/test_lammps_class.cpp | 4 +- unittest/force-styles/test_pair_style.cpp | 6 +- unittest/python/python-capabilities.py | 14 +- 759 files changed, 878 insertions(+), 878 deletions(-) rename cmake/Modules/Packages/{USER-COLVARS.cmake => COLVARS.cmake} (100%) rename cmake/Modules/Packages/{USER-H5MD.cmake => H5MD.cmake} (100%) rename cmake/Modules/Packages/{USER-INTEL.cmake => INTEL.cmake} (67%) rename cmake/Modules/Packages/{USER-MDI.cmake => MDI.cmake} (100%) rename cmake/Modules/Packages/{USER-MOLFILE.cmake => MOLFILE.cmake} (100%) rename cmake/Modules/Packages/{USER-NETCDF.cmake => NETCDF.cmake} (89%) rename cmake/Modules/Packages/{USER-PLUMED.cmake => PLUMED.cmake} (100%) rename cmake/Modules/Packages/{USER-QMMM.cmake => QMMM.cmake} (100%) rename cmake/Modules/Packages/{USER-SCAFACOS.cmake => SCAFACOS.cmake} (100%) rename cmake/Modules/Packages/{USER-SDPD.cmake => SDPD.cmake} (100%) rename cmake/Modules/Packages/{USER-VTK.cmake => VTK.cmake} (100%) rename src/{USER-ADIOS => ADIOS}/Install.sh (98%) rename src/{USER-ADIOS => ADIOS}/README (95%) rename src/{USER-ADIOS => ADIOS}/dump_atom_adios.cpp (100%) rename src/{USER-ADIOS => ADIOS}/dump_atom_adios.h (100%) rename src/{USER-ADIOS => ADIOS}/dump_custom_adios.cpp (100%) rename src/{USER-ADIOS => ADIOS}/dump_custom_adios.h (100%) rename src/{USER-ADIOS => ADIOS}/reader_adios.cpp (100%) rename src/{USER-ADIOS => ADIOS}/reader_adios.h (100%) rename src/{USER-ATC => ATC}/Install.sh (86%) rename src/{USER-ATC => ATC}/README (100%) rename src/{USER-ATC => ATC}/fix_atc.cpp (99%) rename src/{USER-ATC => ATC}/fix_atc.h (100%) rename src/{USER-AWPMD => AWPMD}/Install.sh (90%) rename src/{USER-AWPMD => AWPMD}/README (100%) rename src/{USER-AWPMD => AWPMD}/atom_vec_wavepacket.cpp (100%) rename src/{USER-AWPMD => AWPMD}/atom_vec_wavepacket.h (100%) rename src/{USER-AWPMD => AWPMD}/fix_nve_awpmd.cpp (100%) rename src/{USER-AWPMD => AWPMD}/fix_nve_awpmd.h (100%) rename src/{USER-AWPMD => AWPMD}/pair_awpmd_cut.cpp (100%) rename src/{USER-AWPMD => AWPMD}/pair_awpmd_cut.h (100%) rename src/{USER-BOCS => BOCS}/README (89%) rename src/{USER-BOCS => BOCS}/compute_pressure_bocs.cpp (99%) rename src/{USER-BOCS => BOCS}/compute_pressure_bocs.h (98%) rename src/{USER-BOCS => BOCS}/fix_bocs.cpp (99%) rename src/{USER-BOCS => BOCS}/fix_bocs.h (99%) rename src/{USER-BROWNIAN => BROWNIAN}/fix_brownian.cpp (100%) rename src/{USER-BROWNIAN => BROWNIAN}/fix_brownian.h (100%) rename src/{USER-BROWNIAN => BROWNIAN}/fix_brownian_asphere.cpp (100%) rename src/{USER-BROWNIAN => BROWNIAN}/fix_brownian_asphere.h (100%) rename src/{USER-BROWNIAN => BROWNIAN}/fix_brownian_base.cpp (100%) rename src/{USER-BROWNIAN => BROWNIAN}/fix_brownian_base.h (100%) rename src/{USER-BROWNIAN => BROWNIAN}/fix_brownian_sphere.cpp (100%) rename src/{USER-BROWNIAN => BROWNIAN}/fix_brownian_sphere.h (100%) rename src/{USER-BROWNIAN => BROWNIAN}/fix_propel_self.cpp (100%) rename src/{USER-BROWNIAN => BROWNIAN}/fix_propel_self.h (100%) rename src/{USER-COLVARS => COLVARS}/Install.sh (100%) rename src/{USER-COLVARS => COLVARS}/README (96%) rename src/{USER-COLVARS => COLVARS}/colvarproxy_lammps.cpp (100%) rename src/{USER-COLVARS => COLVARS}/colvarproxy_lammps.h (100%) rename src/{USER-COLVARS => COLVARS}/colvarproxy_lammps_version.h (100%) rename src/{USER-COLVARS => COLVARS}/fix_colvars.cpp (100%) rename src/{USER-COLVARS => COLVARS}/fix_colvars.h (100%) rename src/{USER-COLVARS => COLVARS}/group_ndx.cpp (100%) rename src/{USER-COLVARS => COLVARS}/group_ndx.h (100%) rename src/{USER-COLVARS => COLVARS}/ndx_group.cpp (100%) rename src/{USER-COLVARS => COLVARS}/ndx_group.h (100%) rename src/{USER-DIELECTRIC => DIELECTRIC}/Install.sh (92%) rename src/{USER-DIELECTRIC => DIELECTRIC}/README (86%) rename src/{USER-DIELECTRIC => DIELECTRIC}/atom_vec_dielectric.cpp (99%) rename src/{USER-DIELECTRIC => DIELECTRIC}/atom_vec_dielectric.h (100%) rename src/{USER-DIELECTRIC => DIELECTRIC}/compute_efield_atom.cpp (100%) rename src/{USER-DIELECTRIC => DIELECTRIC}/compute_efield_atom.h (100%) rename src/{USER-DIELECTRIC => DIELECTRIC}/fix_polarize_bem_gmres.cpp (100%) rename src/{USER-DIELECTRIC => DIELECTRIC}/fix_polarize_bem_gmres.h (100%) rename src/{USER-DIELECTRIC => DIELECTRIC}/fix_polarize_bem_icc.cpp (100%) rename src/{USER-DIELECTRIC => DIELECTRIC}/fix_polarize_bem_icc.h (100%) rename src/{USER-DIELECTRIC => DIELECTRIC}/fix_polarize_functional.cpp (100%) rename src/{USER-DIELECTRIC => DIELECTRIC}/fix_polarize_functional.h (100%) rename src/{USER-DIELECTRIC => DIELECTRIC}/msm_dielectric.cpp (100%) rename src/{USER-DIELECTRIC => DIELECTRIC}/msm_dielectric.h (100%) rename src/{USER-DIELECTRIC => DIELECTRIC}/pair_coul_cut_dielectric.cpp (100%) rename src/{USER-DIELECTRIC => DIELECTRIC}/pair_coul_cut_dielectric.h (100%) rename src/{USER-DIELECTRIC => DIELECTRIC}/pair_coul_long_dielectric.cpp (100%) rename src/{USER-DIELECTRIC => DIELECTRIC}/pair_coul_long_dielectric.h (100%) rename src/{USER-DIELECTRIC => DIELECTRIC}/pair_lj_cut_coul_cut_dielectric.cpp (100%) rename src/{USER-DIELECTRIC => DIELECTRIC}/pair_lj_cut_coul_cut_dielectric.h (100%) rename src/{USER-DIELECTRIC => DIELECTRIC}/pair_lj_cut_coul_debye_dielectric.cpp (100%) rename src/{USER-DIELECTRIC => DIELECTRIC}/pair_lj_cut_coul_debye_dielectric.h (100%) rename src/{USER-DIELECTRIC => DIELECTRIC}/pair_lj_cut_coul_long_dielectric.cpp (100%) rename src/{USER-DIELECTRIC => DIELECTRIC}/pair_lj_cut_coul_long_dielectric.h (100%) rename src/{USER-DIELECTRIC => DIELECTRIC}/pair_lj_cut_coul_msm_dielectric.cpp (100%) rename src/{USER-DIELECTRIC => DIELECTRIC}/pair_lj_cut_coul_msm_dielectric.h (100%) rename src/{USER-DIELECTRIC => DIELECTRIC}/pair_lj_long_coul_long_dielectric.cpp (100%) rename src/{USER-DIELECTRIC => DIELECTRIC}/pair_lj_long_coul_long_dielectric.h (100%) rename src/{USER-DIELECTRIC => DIELECTRIC}/pppm_dielectric.cpp (100%) rename src/{USER-DIELECTRIC => DIELECTRIC}/pppm_dielectric.h (100%) rename src/{USER-DIFFRACTION => DIFFRACTION}/README (100%) rename src/{USER-DIFFRACTION => DIFFRACTION}/compute_saed.cpp (100%) rename src/{USER-DIFFRACTION => DIFFRACTION}/compute_saed.h (100%) rename src/{USER-DIFFRACTION => DIFFRACTION}/compute_saed_consts.h (100%) rename src/{USER-DIFFRACTION => DIFFRACTION}/compute_xrd.cpp (100%) rename src/{USER-DIFFRACTION => DIFFRACTION}/compute_xrd.h (100%) rename src/{USER-DIFFRACTION => DIFFRACTION}/compute_xrd_consts.h (100%) rename src/{USER-DIFFRACTION => DIFFRACTION}/fix_saed_vtk.cpp (100%) rename src/{USER-DIFFRACTION => DIFFRACTION}/fix_saed_vtk.h (100%) rename src/{USER-DRUDE => DRUDE}/README (100%) rename src/{USER-DRUDE => DRUDE}/compute_temp_drude.cpp (100%) rename src/{USER-DRUDE => DRUDE}/compute_temp_drude.h (100%) rename src/{USER-DRUDE => DRUDE}/fix_drude.cpp (100%) rename src/{USER-DRUDE => DRUDE}/fix_drude.h (100%) rename src/{USER-DRUDE => DRUDE}/fix_drude_transform.cpp (100%) rename src/{USER-DRUDE => DRUDE}/fix_drude_transform.h (100%) rename src/{USER-DRUDE => DRUDE}/fix_langevin_drude.cpp (100%) rename src/{USER-DRUDE => DRUDE}/fix_langevin_drude.h (100%) rename src/{USER-DRUDE => DRUDE}/fix_tgnh_drude.cpp (100%) rename src/{USER-DRUDE => DRUDE}/fix_tgnh_drude.h (100%) rename src/{USER-DRUDE => DRUDE}/fix_tgnpt_drude.cpp (100%) rename src/{USER-DRUDE => DRUDE}/fix_tgnpt_drude.h (100%) rename src/{USER-DRUDE => DRUDE}/fix_tgnvt_drude.cpp (100%) rename src/{USER-DRUDE => DRUDE}/fix_tgnvt_drude.h (100%) rename src/{USER-DRUDE => DRUDE}/pair_coul_tt.cpp (100%) rename src/{USER-DRUDE => DRUDE}/pair_coul_tt.h (100%) rename src/{USER-DRUDE => DRUDE}/pair_lj_cut_thole_long.cpp (100%) rename src/{USER-DRUDE => DRUDE}/pair_lj_cut_thole_long.h (100%) rename src/{USER-DRUDE => DRUDE}/pair_thole.cpp (100%) rename src/{USER-DRUDE => DRUDE}/pair_thole.h (100%) rename src/{USER-EFF => EFF}/README (100%) rename src/{USER-EFF => EFF}/atom_vec_electron.cpp (99%) rename src/{USER-EFF => EFF}/atom_vec_electron.h (100%) rename src/{USER-EFF => EFF}/compute_ke_atom_eff.cpp (100%) rename src/{USER-EFF => EFF}/compute_ke_atom_eff.h (100%) rename src/{USER-EFF => EFF}/compute_ke_eff.cpp (100%) rename src/{USER-EFF => EFF}/compute_ke_eff.h (100%) rename src/{USER-EFF => EFF}/compute_temp_deform_eff.cpp (100%) rename src/{USER-EFF => EFF}/compute_temp_deform_eff.h (100%) rename src/{USER-EFF => EFF}/compute_temp_eff.cpp (100%) rename src/{USER-EFF => EFF}/compute_temp_eff.h (100%) rename src/{USER-EFF => EFF}/compute_temp_region_eff.cpp (100%) rename src/{USER-EFF => EFF}/compute_temp_region_eff.h (100%) rename src/{USER-EFF => EFF}/fix_langevin_eff.cpp (100%) rename src/{USER-EFF => EFF}/fix_langevin_eff.h (100%) rename src/{USER-EFF => EFF}/fix_nh_eff.cpp (100%) rename src/{USER-EFF => EFF}/fix_nh_eff.h (100%) rename src/{USER-EFF => EFF}/fix_nph_eff.cpp (100%) rename src/{USER-EFF => EFF}/fix_nph_eff.h (100%) rename src/{USER-EFF => EFF}/fix_npt_eff.cpp (100%) rename src/{USER-EFF => EFF}/fix_npt_eff.h (100%) rename src/{USER-EFF => EFF}/fix_nve_eff.cpp (100%) rename src/{USER-EFF => EFF}/fix_nve_eff.h (100%) rename src/{USER-EFF => EFF}/fix_nvt_eff.cpp (100%) rename src/{USER-EFF => EFF}/fix_nvt_eff.h (100%) rename src/{USER-EFF => EFF}/fix_nvt_sllod_eff.cpp (100%) rename src/{USER-EFF => EFF}/fix_nvt_sllod_eff.h (100%) rename src/{USER-EFF => EFF}/fix_temp_rescale_eff.cpp (100%) rename src/{USER-EFF => EFF}/fix_temp_rescale_eff.h (100%) rename src/{USER-EFF => EFF}/pair_eff_cut.cpp (100%) rename src/{USER-EFF => EFF}/pair_eff_cut.h (100%) rename src/{USER-EFF => EFF}/pair_eff_inline.h (100%) rename src/{USER-FEP => FEP}/Install.sh (100%) rename src/{USER-FEP => FEP}/README (100%) rename src/{USER-FEP => FEP}/compute_fep.cpp (100%) rename src/{USER-FEP => FEP}/compute_fep.h (100%) rename src/{USER-FEP => FEP}/fix_adapt_fep.cpp (100%) rename src/{USER-FEP => FEP}/fix_adapt_fep.h (100%) rename src/{USER-FEP => FEP}/pair_coul_cut_soft.cpp (100%) rename src/{USER-FEP => FEP}/pair_coul_cut_soft.h (100%) rename src/{USER-FEP => FEP}/pair_coul_long_soft.cpp (100%) rename src/{USER-FEP => FEP}/pair_coul_long_soft.h (100%) rename src/{USER-FEP => FEP}/pair_lj_charmm_coul_long_soft.cpp (100%) rename src/{USER-FEP => FEP}/pair_lj_charmm_coul_long_soft.h (100%) rename src/{USER-FEP => FEP}/pair_lj_class2_coul_cut_soft.cpp (100%) rename src/{USER-FEP => FEP}/pair_lj_class2_coul_cut_soft.h (100%) rename src/{USER-FEP => FEP}/pair_lj_class2_coul_long_soft.cpp (100%) rename src/{USER-FEP => FEP}/pair_lj_class2_coul_long_soft.h (100%) rename src/{USER-FEP => FEP}/pair_lj_class2_soft.cpp (100%) rename src/{USER-FEP => FEP}/pair_lj_class2_soft.h (100%) rename src/{USER-FEP => FEP}/pair_lj_cut_coul_cut_soft.cpp (100%) rename src/{USER-FEP => FEP}/pair_lj_cut_coul_cut_soft.h (100%) rename src/{USER-FEP => FEP}/pair_lj_cut_coul_long_soft.cpp (100%) rename src/{USER-FEP => FEP}/pair_lj_cut_coul_long_soft.h (100%) rename src/{USER-FEP => FEP}/pair_lj_cut_soft.cpp (100%) rename src/{USER-FEP => FEP}/pair_lj_cut_soft.h (100%) rename src/{USER-FEP => FEP}/pair_lj_cut_tip4p_long_soft.cpp (100%) rename src/{USER-FEP => FEP}/pair_lj_cut_tip4p_long_soft.h (100%) rename src/{USER-FEP => FEP}/pair_morse_soft.cpp (100%) rename src/{USER-FEP => FEP}/pair_morse_soft.h (100%) rename src/{USER-FEP => FEP}/pair_tip4p_long_soft.cpp (100%) rename src/{USER-FEP => FEP}/pair_tip4p_long_soft.h (100%) rename src/{USER-H5MD => H5MD}/Install.sh (100%) rename src/{USER-H5MD => H5MD}/README (100%) rename src/{USER-H5MD => H5MD}/dump_h5md.cpp (100%) rename src/{USER-H5MD => H5MD}/dump_h5md.h (100%) rename src/{USER-INTEL => INTEL}/Install.sh (100%) rename src/{USER-INTEL => INTEL}/README (98%) rename src/{USER-INTEL => INTEL}/TEST/README (95%) rename src/{USER-INTEL => INTEL}/TEST/in.intel.airebo (100%) rename src/{USER-INTEL => INTEL}/TEST/in.intel.dpd (100%) rename src/{USER-INTEL => INTEL}/TEST/in.intel.eam (100%) rename src/{USER-INTEL => INTEL}/TEST/in.intel.lc (100%) rename src/{USER-INTEL => INTEL}/TEST/in.intel.lj (100%) rename src/{USER-INTEL => INTEL}/TEST/in.intel.rhodo (100%) rename src/{USER-INTEL => INTEL}/TEST/in.intel.sw (100%) rename src/{USER-INTEL => INTEL}/TEST/in.intel.tersoff (100%) rename src/{USER-INTEL => INTEL}/TEST/in.intel.water (100%) rename src/{USER-INTEL => INTEL}/TEST/in.lc_generate_restart (100%) rename src/{USER-INTEL => INTEL}/TEST/mW.sw (100%) rename src/{USER-INTEL => INTEL}/TEST/mW_32k_cube.data (100%) rename src/{USER-INTEL => INTEL}/TEST/run_benchmarks.sh (100%) rename src/{USER-INTEL => INTEL}/angle_charmm_intel.cpp (99%) rename src/{USER-INTEL => INTEL}/angle_charmm_intel.h (100%) rename src/{USER-INTEL => INTEL}/angle_harmonic_intel.cpp (99%) rename src/{USER-INTEL => INTEL}/angle_harmonic_intel.h (100%) rename src/{USER-INTEL => INTEL}/bond_fene_intel.cpp (99%) rename src/{USER-INTEL => INTEL}/bond_fene_intel.h (100%) rename src/{USER-INTEL => INTEL}/bond_harmonic_intel.cpp (99%) rename src/{USER-INTEL => INTEL}/bond_harmonic_intel.h (100%) rename src/{USER-INTEL => INTEL}/dihedral_charmm_intel.cpp (99%) rename src/{USER-INTEL => INTEL}/dihedral_charmm_intel.h (100%) rename src/{USER-INTEL => INTEL}/dihedral_fourier_intel.cpp (99%) rename src/{USER-INTEL => INTEL}/dihedral_fourier_intel.h (100%) rename src/{USER-INTEL => INTEL}/dihedral_harmonic_intel.cpp (99%) rename src/{USER-INTEL => INTEL}/dihedral_harmonic_intel.h (100%) rename src/{USER-INTEL => INTEL}/dihedral_opls_intel.cpp (99%) rename src/{USER-INTEL => INTEL}/dihedral_opls_intel.h (100%) rename src/{USER-INTEL => INTEL}/fix_intel.cpp (99%) rename src/{USER-INTEL => INTEL}/fix_intel.h (98%) rename src/{USER-INTEL => INTEL}/fix_nh_intel.cpp (100%) rename src/{USER-INTEL => INTEL}/fix_nh_intel.h (100%) rename src/{USER-INTEL => INTEL}/fix_npt_intel.cpp (100%) rename src/{USER-INTEL => INTEL}/fix_npt_intel.h (100%) rename src/{USER-INTEL => INTEL}/fix_nve_asphere_intel.cpp (100%) rename src/{USER-INTEL => INTEL}/fix_nve_asphere_intel.h (100%) rename src/{USER-INTEL => INTEL}/fix_nve_intel.cpp (100%) rename src/{USER-INTEL => INTEL}/fix_nve_intel.h (100%) rename src/{USER-INTEL => INTEL}/fix_nvt_intel.cpp (100%) rename src/{USER-INTEL => INTEL}/fix_nvt_intel.h (100%) rename src/{USER-INTEL => INTEL}/fix_nvt_sllod_intel.cpp (100%) rename src/{USER-INTEL => INTEL}/fix_nvt_sllod_intel.h (100%) rename src/{USER-INTEL => INTEL}/improper_cvff_intel.cpp (99%) rename src/{USER-INTEL => INTEL}/improper_cvff_intel.h (100%) rename src/{USER-INTEL => INTEL}/improper_harmonic_intel.cpp (99%) rename src/{USER-INTEL => INTEL}/improper_harmonic_intel.h (100%) rename src/{USER-INTEL => INTEL}/intel_buffers.cpp (100%) rename src/{USER-INTEL => INTEL}/intel_buffers.h (100%) rename src/{USER-INTEL => INTEL}/intel_intrinsics.h (100%) rename src/{USER-INTEL => INTEL}/intel_intrinsics_airebo.h (100%) rename src/{USER-INTEL => INTEL}/intel_preprocess.h (99%) rename src/{USER-INTEL => INTEL}/intel_simd.h (100%) rename src/{USER-INTEL => INTEL}/math_extra_intel.h (100%) rename src/{USER-INTEL => INTEL}/nbin_intel.cpp (99%) rename src/{USER-INTEL => INTEL}/nbin_intel.h (100%) rename src/{USER-INTEL => INTEL}/npair_full_bin_ghost_intel.cpp (99%) rename src/{USER-INTEL => INTEL}/npair_full_bin_ghost_intel.h (100%) rename src/{USER-INTEL => INTEL}/npair_full_bin_intel.cpp (98%) rename src/{USER-INTEL => INTEL}/npair_full_bin_intel.h (100%) rename src/{USER-INTEL => INTEL}/npair_half_bin_newton_intel.cpp (98%) rename src/{USER-INTEL => INTEL}/npair_half_bin_newton_intel.h (100%) rename src/{USER-INTEL => INTEL}/npair_half_bin_newton_tri_intel.cpp (98%) rename src/{USER-INTEL => INTEL}/npair_half_bin_newton_tri_intel.h (100%) rename src/{USER-INTEL => INTEL}/npair_halffull_newtoff_intel.h (100%) rename src/{USER-INTEL => INTEL}/npair_halffull_newton_intel.cpp (100%) rename src/{USER-INTEL => INTEL}/npair_halffull_newton_intel.h (100%) rename src/{USER-INTEL => INTEL}/npair_intel.cpp (100%) rename src/{USER-INTEL => INTEL}/npair_intel.h (98%) rename src/{USER-INTEL => INTEL}/npair_skip_intel.cpp (100%) rename src/{USER-INTEL => INTEL}/npair_skip_intel.h (100%) rename src/{USER-INTEL => INTEL}/pair_airebo_intel.cpp (99%) rename src/{USER-INTEL => INTEL}/pair_airebo_intel.h (100%) rename src/{USER-INTEL => INTEL}/pair_airebo_morse_intel.cpp (100%) rename src/{USER-INTEL => INTEL}/pair_airebo_morse_intel.h (100%) rename src/{USER-INTEL => INTEL}/pair_buck_coul_cut_intel.cpp (99%) rename src/{USER-INTEL => INTEL}/pair_buck_coul_cut_intel.h (100%) rename src/{USER-INTEL => INTEL}/pair_buck_coul_long_intel.cpp (99%) rename src/{USER-INTEL => INTEL}/pair_buck_coul_long_intel.h (100%) rename src/{USER-INTEL => INTEL}/pair_buck_intel.cpp (99%) rename src/{USER-INTEL => INTEL}/pair_buck_intel.h (100%) rename src/{USER-INTEL => INTEL}/pair_dpd_intel.cpp (99%) rename src/{USER-INTEL => INTEL}/pair_dpd_intel.h (100%) rename src/{USER-INTEL => INTEL}/pair_eam_alloy_intel.cpp (100%) rename src/{USER-INTEL => INTEL}/pair_eam_alloy_intel.h (100%) rename src/{USER-INTEL => INTEL}/pair_eam_fs_intel.cpp (100%) rename src/{USER-INTEL => INTEL}/pair_eam_fs_intel.h (100%) rename src/{USER-INTEL => INTEL}/pair_eam_intel.cpp (99%) rename src/{USER-INTEL => INTEL}/pair_eam_intel.h (100%) rename src/{USER-INTEL => INTEL}/pair_gayberne_intel.cpp (99%) rename src/{USER-INTEL => INTEL}/pair_gayberne_intel.h (100%) rename src/{USER-INTEL => INTEL}/pair_lj_charmm_coul_charmm_intel.cpp (99%) rename src/{USER-INTEL => INTEL}/pair_lj_charmm_coul_charmm_intel.h (100%) rename src/{USER-INTEL => INTEL}/pair_lj_charmm_coul_long_intel.cpp (99%) rename src/{USER-INTEL => INTEL}/pair_lj_charmm_coul_long_intel.h (100%) rename src/{USER-INTEL => INTEL}/pair_lj_cut_coul_long_intel.cpp (99%) rename src/{USER-INTEL => INTEL}/pair_lj_cut_coul_long_intel.h (100%) rename src/{USER-INTEL => INTEL}/pair_lj_cut_intel.cpp (99%) rename src/{USER-INTEL => INTEL}/pair_lj_cut_intel.h (100%) rename src/{USER-INTEL => INTEL}/pair_lj_long_coul_long_intel.cpp (100%) rename src/{USER-INTEL => INTEL}/pair_lj_long_coul_long_intel.h (100%) rename src/{USER-INTEL => INTEL}/pair_rebo_intel.cpp (100%) rename src/{USER-INTEL => INTEL}/pair_rebo_intel.h (100%) rename src/{USER-INTEL => INTEL}/pair_sw_intel.cpp (99%) rename src/{USER-INTEL => INTEL}/pair_sw_intel.h (100%) rename src/{USER-INTEL => INTEL}/pair_tersoff_intel.cpp (99%) rename src/{USER-INTEL => INTEL}/pair_tersoff_intel.h (100%) rename src/{USER-INTEL => INTEL}/pppm_disp_intel.cpp (99%) rename src/{USER-INTEL => INTEL}/pppm_disp_intel.h (100%) rename src/{USER-INTEL => INTEL}/pppm_intel.cpp (99%) rename src/{USER-INTEL => INTEL}/pppm_intel.h (96%) rename src/{USER-INTEL => INTEL}/verlet_lrt_intel.cpp (100%) rename src/{USER-INTEL => INTEL}/verlet_lrt_intel.h (100%) rename src/{USER-MANIFOLD => MANIFOLD}/README (97%) rename src/{USER-MANIFOLD => MANIFOLD}/fix_manifoldforce.cpp (100%) rename src/{USER-MANIFOLD => MANIFOLD}/fix_manifoldforce.h (97%) rename src/{USER-MANIFOLD => MANIFOLD}/fix_nve_manifold_rattle.cpp (99%) rename src/{USER-MANIFOLD => MANIFOLD}/fix_nve_manifold_rattle.h (98%) rename src/{USER-MANIFOLD => MANIFOLD}/fix_nvt_manifold_rattle.cpp (99%) rename src/{USER-MANIFOLD => MANIFOLD}/fix_nvt_manifold_rattle.h (98%) rename src/{USER-MANIFOLD => MANIFOLD}/manifold.h (98%) rename src/{USER-MANIFOLD => MANIFOLD}/manifold_cylinder.cpp (100%) rename src/{USER-MANIFOLD => MANIFOLD}/manifold_cylinder.h (100%) rename src/{USER-MANIFOLD => MANIFOLD}/manifold_cylinder_dent.cpp (100%) rename src/{USER-MANIFOLD => MANIFOLD}/manifold_cylinder_dent.h (100%) rename src/{USER-MANIFOLD => MANIFOLD}/manifold_dumbbell.cpp (100%) rename src/{USER-MANIFOLD => MANIFOLD}/manifold_dumbbell.h (100%) rename src/{USER-MANIFOLD => MANIFOLD}/manifold_ellipsoid.cpp (100%) rename src/{USER-MANIFOLD => MANIFOLD}/manifold_ellipsoid.h (100%) rename src/{USER-MANIFOLD => MANIFOLD}/manifold_factory.cpp (98%) rename src/{USER-MANIFOLD => MANIFOLD}/manifold_factory.h (97%) rename src/{USER-MANIFOLD => MANIFOLD}/manifold_gaussian_bump.cpp (100%) rename src/{USER-MANIFOLD => MANIFOLD}/manifold_gaussian_bump.h (98%) rename src/{USER-MANIFOLD => MANIFOLD}/manifold_plane.cpp (100%) rename src/{USER-MANIFOLD => MANIFOLD}/manifold_plane.h (100%) rename src/{USER-MANIFOLD => MANIFOLD}/manifold_plane_wiggle.cpp (100%) rename src/{USER-MANIFOLD => MANIFOLD}/manifold_plane_wiggle.h (100%) rename src/{USER-MANIFOLD => MANIFOLD}/manifold_sphere.h (100%) rename src/{USER-MANIFOLD => MANIFOLD}/manifold_spine.cpp (100%) rename src/{USER-MANIFOLD => MANIFOLD}/manifold_spine.h (100%) rename src/{USER-MANIFOLD => MANIFOLD}/manifold_supersphere.h (100%) rename src/{USER-MANIFOLD => MANIFOLD}/manifold_thylakoid.cpp (100%) rename src/{USER-MANIFOLD => MANIFOLD}/manifold_thylakoid.h (100%) rename src/{USER-MANIFOLD => MANIFOLD}/manifold_thylakoid_shared.cpp (100%) rename src/{USER-MANIFOLD => MANIFOLD}/manifold_thylakoid_shared.h (100%) rename src/{USER-MANIFOLD => MANIFOLD}/manifold_torus.cpp (100%) rename src/{USER-MANIFOLD => MANIFOLD}/manifold_torus.h (100%) rename src/{USER-MDI => MDI}/Install.sh (100%) rename src/{USER-MDI => MDI}/README (93%) rename src/{USER-MDI => MDI}/fix_mdi_engine.cpp (100%) rename src/{USER-MDI => MDI}/fix_mdi_engine.h (100%) rename src/{USER-MDI => MDI}/library_mdi.cpp (100%) rename src/{USER-MDI => MDI}/library_mdi.h (100%) rename src/{USER-MDI => MDI}/mdi_engine.cpp (100%) rename src/{USER-MDI => MDI}/mdi_engine.h (100%) rename src/{USER-MESONT => MESONT}/Install.sh (100%) rename src/{USER-MESONT => MESONT}/README (97%) rename src/{USER-MESONT => MESONT}/atom_vec_mesont.cpp (100%) rename src/{USER-MESONT => MESONT}/atom_vec_mesont.h (100%) rename src/{USER-MESONT => MESONT}/compute_mesont.cpp (100%) rename src/{USER-MESONT => MESONT}/compute_mesont.h (100%) rename src/{USER-MESONT => MESONT}/export_mesont.h (100%) rename src/{USER-MESONT => MESONT}/pair_mesocnt.cpp (100%) rename src/{USER-MESONT => MESONT}/pair_mesocnt.h (100%) rename src/{USER-MESONT => MESONT}/pair_mesont_tpm.cpp (100%) rename src/{USER-MESONT => MESONT}/pair_mesont_tpm.h (100%) rename src/{USER-MESONT => MESONT}/potentials.txt (100%) rename src/{USER-MGPT => MGPT}/README (96%) rename src/{USER-MGPT => MGPT}/mgpt_bgmul_7.c.h (100%) rename src/{USER-MGPT => MGPT}/mgpt_linalg.cpp (100%) rename src/{USER-MGPT => MGPT}/mgpt_linalg.h (100%) rename src/{USER-MGPT => MGPT}/mgpt_mmul3_538.c.h (100%) rename src/{USER-MGPT => MGPT}/mgpt_mmul3_748.c.h (100%) rename src/{USER-MGPT => MGPT}/mgpt_mmul3d_526.c.h (100%) rename src/{USER-MGPT => MGPT}/mgpt_mmul3d_744.c.h (100%) rename src/{USER-MGPT => MGPT}/mgpt_mmul_bg_552.c.h (100%) rename src/{USER-MGPT => MGPT}/mgpt_mmul_bg_722.c.h (100%) rename src/{USER-MGPT => MGPT}/mgpt_mmul_bgq_n5_lda8_2x8.c.h (100%) rename src/{USER-MGPT => MGPT}/mgpt_mmul_bgq_n7_lda8_4x8.c.h (100%) rename src/{USER-MGPT => MGPT}/mgpt_readpot.cpp (100%) rename src/{USER-MGPT => MGPT}/mgpt_readpot.h (100%) rename src/{USER-MGPT => MGPT}/mgpt_splinetab.cpp (100%) rename src/{USER-MGPT => MGPT}/mgpt_splinetab.h (100%) rename src/{USER-MGPT => MGPT}/mgpt_ttr_5022.c.h (100%) rename src/{USER-MGPT => MGPT}/mgpt_ttr_5042.c.h (100%) rename src/{USER-MGPT => MGPT}/mgpt_ttr_5123.c.h (100%) rename src/{USER-MGPT => MGPT}/mgpt_ttr_5141.c.h (100%) rename src/{USER-MGPT => MGPT}/mgpt_ttr_7022.c.h (100%) rename src/{USER-MGPT => MGPT}/mgpt_ttr_7042.c.h (100%) rename src/{USER-MGPT => MGPT}/mgpt_ttr_7123.c.h (100%) rename src/{USER-MGPT => MGPT}/mgpt_ttr_7141.c.h (100%) rename src/{USER-MGPT => MGPT}/pair_mgpt.cpp (100%) rename src/{USER-MGPT => MGPT}/pair_mgpt.h (100%) rename src/{USER-MOFFF => MOFFF}/README (100%) rename src/{USER-MOFFF => MOFFF}/angle_class2_p6.cpp (100%) rename src/{USER-MOFFF => MOFFF}/angle_class2_p6.h (100%) rename src/{USER-MOFFF => MOFFF}/angle_cosine_buck6d.cpp (100%) rename src/{USER-MOFFF => MOFFF}/angle_cosine_buck6d.h (100%) rename src/{USER-MOFFF => MOFFF}/improper_inversion_harmonic.cpp (100%) rename src/{USER-MOFFF => MOFFF}/improper_inversion_harmonic.h (100%) rename src/{USER-MOFFF => MOFFF}/pair_buck6d_coul_gauss_dsf.cpp (100%) rename src/{USER-MOFFF => MOFFF}/pair_buck6d_coul_gauss_dsf.h (100%) rename src/{USER-MOFFF => MOFFF}/pair_buck6d_coul_gauss_long.cpp (100%) rename src/{USER-MOFFF => MOFFF}/pair_buck6d_coul_gauss_long.h (100%) rename src/{USER-MOLFILE => MOLFILE}/Install.sh (100%) rename src/{USER-MOLFILE => MOLFILE}/README (100%) rename src/{USER-MOLFILE => MOLFILE}/dump_molfile.cpp (100%) rename src/{USER-MOLFILE => MOLFILE}/dump_molfile.h (100%) rename src/{USER-MOLFILE => MOLFILE}/molfile_interface.cpp (100%) rename src/{USER-MOLFILE => MOLFILE}/molfile_interface.h (100%) rename src/{USER-MOLFILE => MOLFILE}/reader_molfile.cpp (100%) rename src/{USER-MOLFILE => MOLFILE}/reader_molfile.h (100%) rename src/{USER-NETCDF => NETCDF}/Install.sh (100%) rename src/{USER-NETCDF => NETCDF}/README (99%) rename src/{USER-NETCDF => NETCDF}/dump_netcdf.cpp (100%) rename src/{USER-NETCDF => NETCDF}/dump_netcdf.h (100%) rename src/{USER-NETCDF => NETCDF}/dump_netcdf_mpiio.cpp (100%) rename src/{USER-NETCDF => NETCDF}/dump_netcdf_mpiio.h (100%) rename src/{USER-PHONON => PHONON}/Install.sh (88%) rename src/{USER-PHONON => PHONON}/README (100%) rename src/{USER-PHONON => PHONON}/dynamical_matrix.cpp (100%) rename src/{USER-PHONON => PHONON}/dynamical_matrix.h (100%) rename src/{USER-PHONON => PHONON}/fix_phonon.cpp (100%) rename src/{USER-PHONON => PHONON}/fix_phonon.h (100%) rename src/{USER-PHONON => PHONON}/third_order.cpp (100%) rename src/{USER-PHONON => PHONON}/third_order.h (100%) rename src/{USER-PLUMED => PLUMED}/Install.sh (100%) rename src/{USER-PLUMED => PLUMED}/README (97%) rename src/{USER-PLUMED => PLUMED}/fix_plumed.cpp (100%) rename src/{USER-PLUMED => PLUMED}/fix_plumed.h (100%) rename src/{USER-PTM => PTM}/LICENSE (100%) rename src/{USER-PTM => PTM}/README (100%) rename src/{USER-PTM => PTM}/compute_ptm_atom.cpp (99%) rename src/{USER-PTM => PTM}/compute_ptm_atom.h (100%) rename src/{USER-PTM => PTM}/ptm_alloy_types.cpp (100%) rename src/{USER-PTM => PTM}/ptm_alloy_types.h (100%) rename src/{USER-PTM => PTM}/ptm_alt_templates.h (100%) rename src/{USER-PTM => PTM}/ptm_canonical_coloured.cpp (100%) rename src/{USER-PTM => PTM}/ptm_canonical_coloured.h (100%) rename src/{USER-PTM => PTM}/ptm_constants.cpp (100%) rename src/{USER-PTM => PTM}/ptm_constants.h (100%) rename src/{USER-PTM => PTM}/ptm_convex_hull_incremental.cpp (100%) rename src/{USER-PTM => PTM}/ptm_convex_hull_incremental.h (100%) rename src/{USER-PTM => PTM}/ptm_deformation_gradient.cpp (100%) rename src/{USER-PTM => PTM}/ptm_deformation_gradient.h (100%) rename src/{USER-PTM => PTM}/ptm_functions.h (100%) rename src/{USER-PTM => PTM}/ptm_fundamental_mappings.h (100%) rename src/{USER-PTM => PTM}/ptm_graph_data.cpp (100%) rename src/{USER-PTM => PTM}/ptm_graph_data.h (100%) rename src/{USER-PTM => PTM}/ptm_graph_tools.cpp (100%) rename src/{USER-PTM => PTM}/ptm_graph_tools.h (100%) rename src/{USER-PTM => PTM}/ptm_index.cpp (100%) rename src/{USER-PTM => PTM}/ptm_initialize_data.cpp (100%) rename src/{USER-PTM => PTM}/ptm_initialize_data.h (100%) rename src/{USER-PTM => PTM}/ptm_neighbour_ordering.cpp (100%) rename src/{USER-PTM => PTM}/ptm_neighbour_ordering.h (100%) rename src/{USER-PTM => PTM}/ptm_normalize_vertices.cpp (100%) rename src/{USER-PTM => PTM}/ptm_normalize_vertices.h (100%) rename src/{USER-PTM => PTM}/ptm_polar.cpp (100%) rename src/{USER-PTM => PTM}/ptm_polar.h (100%) rename src/{USER-PTM => PTM}/ptm_quat.cpp (100%) rename src/{USER-PTM => PTM}/ptm_quat.h (100%) rename src/{USER-PTM => PTM}/ptm_structure_matcher.cpp (100%) rename src/{USER-PTM => PTM}/ptm_structure_matcher.h (100%) rename src/{USER-PTM => PTM}/ptm_voronoi_cell.cpp (100%) rename src/{USER-PTM => PTM}/ptm_voronoi_cell.h (100%) rename src/{USER-PTM => PTM}/ptm_voronoi_config.h (100%) rename src/{USER-QMMM => QMMM}/Install.sh (100%) rename src/{USER-QMMM => QMMM}/README (100%) rename src/{USER-QMMM => QMMM}/fix_qmmm.cpp (100%) rename src/{USER-QMMM => QMMM}/fix_qmmm.h (100%) rename src/{USER-QTB => QTB}/README (100%) rename src/{USER-QTB => QTB}/fix_qbmsst.cpp (100%) rename src/{USER-QTB => QTB}/fix_qbmsst.h (100%) rename src/{USER-QTB => QTB}/fix_qtb.cpp (100%) rename src/{USER-QTB => QTB}/fix_qtb.h (100%) rename src/{USER-REACTION => REACTION}/README (100%) rename src/{USER-REACTION => REACTION}/fix_bond_react.cpp (100%) rename src/{USER-REACTION => REACTION}/fix_bond_react.h (100%) rename src/{USER-REACTION => REACTION}/superpose3d.h (100%) rename src/{USER-SCAFACOS => SCAFACOS}/Install.sh (100%) rename src/{USER-SCAFACOS => SCAFACOS}/README (100%) rename src/{USER-SCAFACOS => SCAFACOS}/scafacos.cpp (100%) rename src/{USER-SCAFACOS => SCAFACOS}/scafacos.h (100%) rename src/{USER-SMTBQ => SMTBQ}/README (100%) rename src/{USER-SMTBQ => SMTBQ}/pair_smtbq.cpp (100%) rename src/{USER-SMTBQ => SMTBQ}/pair_smtbq.h (100%) rename src/{USER-SPH => SPH}/README (100%) rename src/{USER-SPH => SPH}/atom_vec_sph.cpp (100%) rename src/{USER-SPH => SPH}/atom_vec_sph.h (100%) rename src/{USER-SPH => SPH}/compute_sph_e_atom.cpp (100%) rename src/{USER-SPH => SPH}/compute_sph_e_atom.h (100%) rename src/{USER-SPH => SPH}/compute_sph_rho_atom.cpp (100%) rename src/{USER-SPH => SPH}/compute_sph_rho_atom.h (100%) rename src/{USER-SPH => SPH}/compute_sph_t_atom.cpp (100%) rename src/{USER-SPH => SPH}/compute_sph_t_atom.h (100%) rename src/{USER-SPH => SPH}/fix_sph.cpp (100%) rename src/{USER-SPH => SPH}/fix_sph.h (100%) rename src/{USER-SPH => SPH}/fix_sph_stationary.cpp (100%) rename src/{USER-SPH => SPH}/fix_sph_stationary.h (100%) rename src/{USER-SPH => SPH}/pair_sph_heatconduction.cpp (100%) rename src/{USER-SPH => SPH}/pair_sph_heatconduction.h (100%) rename src/{USER-SPH => SPH}/pair_sph_idealgas.cpp (100%) rename src/{USER-SPH => SPH}/pair_sph_idealgas.h (100%) rename src/{USER-SPH => SPH}/pair_sph_lj.cpp (100%) rename src/{USER-SPH => SPH}/pair_sph_lj.h (100%) rename src/{USER-SPH => SPH}/pair_sph_rhosum.cpp (100%) rename src/{USER-SPH => SPH}/pair_sph_rhosum.h (100%) rename src/{USER-SPH => SPH}/pair_sph_taitwater.cpp (100%) rename src/{USER-SPH => SPH}/pair_sph_taitwater.h (100%) rename src/{USER-SPH => SPH}/pair_sph_taitwater_morris.cpp (100%) rename src/{USER-SPH => SPH}/pair_sph_taitwater_morris.h (100%) rename src/{USER-TALLY => TALLY}/README (100%) rename src/{USER-TALLY => TALLY}/compute_force_tally.cpp (100%) rename src/{USER-TALLY => TALLY}/compute_force_tally.h (100%) rename src/{USER-TALLY => TALLY}/compute_heat_flux_tally.cpp (100%) rename src/{USER-TALLY => TALLY}/compute_heat_flux_tally.h (100%) rename src/{USER-TALLY => TALLY}/compute_pe_mol_tally.cpp (100%) rename src/{USER-TALLY => TALLY}/compute_pe_mol_tally.h (100%) rename src/{USER-TALLY => TALLY}/compute_pe_tally.cpp (100%) rename src/{USER-TALLY => TALLY}/compute_pe_tally.h (100%) rename src/{USER-TALLY => TALLY}/compute_stress_tally.cpp (100%) rename src/{USER-TALLY => TALLY}/compute_stress_tally.h (100%) rename src/{USER-UEF => UEF}/README (95%) rename src/{USER-UEF => UEF}/compute_pressure_uef.cpp (100%) rename src/{USER-UEF => UEF}/compute_pressure_uef.h (100%) rename src/{USER-UEF => UEF}/compute_temp_uef.cpp (100%) rename src/{USER-UEF => UEF}/compute_temp_uef.h (100%) rename src/{USER-UEF => UEF}/dump_cfg_uef.cpp (100%) rename src/{USER-UEF => UEF}/dump_cfg_uef.h (100%) rename src/{USER-UEF => UEF}/fix_nh_uef.cpp (99%) rename src/{USER-UEF => UEF}/fix_nh_uef.h (100%) rename src/{USER-UEF => UEF}/fix_npt_uef.cpp (100%) rename src/{USER-UEF => UEF}/fix_npt_uef.h (100%) rename src/{USER-UEF => UEF}/fix_nvt_uef.cpp (100%) rename src/{USER-UEF => UEF}/fix_nvt_uef.h (100%) rename src/{USER-UEF => UEF}/uef_utils.cpp (100%) rename src/{USER-UEF => UEF}/uef_utils.h (100%) rename src/{USER-VTK => VTK}/Install.sh (100%) rename src/{USER-VTK => VTK}/README (100%) rename src/{USER-VTK => VTK}/dump_vtk.cpp (100%) rename src/{USER-VTK => VTK}/dump_vtk.h (100%) rename src/{USER-YAFF => YAFF}/README (100%) rename src/{USER-YAFF => YAFF}/angle_cross.cpp (100%) rename src/{USER-YAFF => YAFF}/angle_cross.h (100%) rename src/{USER-YAFF => YAFF}/angle_mm3.cpp (100%) rename src/{USER-YAFF => YAFF}/angle_mm3.h (100%) rename src/{USER-YAFF => YAFF}/bond_mm3.cpp (100%) rename src/{USER-YAFF => YAFF}/bond_mm3.h (100%) rename src/{USER-YAFF => YAFF}/improper_distharm.cpp (100%) rename src/{USER-YAFF => YAFF}/improper_distharm.h (100%) rename src/{USER-YAFF => YAFF}/improper_sqdistharm.cpp (100%) rename src/{USER-YAFF => YAFF}/improper_sqdistharm.h (100%) rename src/{USER-YAFF => YAFF}/pair_lj_switch3_coulgauss_long.cpp (100%) rename src/{USER-YAFF => YAFF}/pair_lj_switch3_coulgauss_long.h (100%) rename src/{USER-YAFF => YAFF}/pair_mm3_switch3_coulgauss_long.cpp (100%) rename src/{USER-YAFF => YAFF}/pair_mm3_switch3_coulgauss_long.h (100%) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index d1d87f2576..b20118794f 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -22,33 +22,33 @@ src/MESSAGE/* @sjplimp src/MLIAP/* @athomps src/SNAP/* @athomps src/SPIN/* @julient31 -src/USER-BROWNIAN/* @samueljmcameron +src/BROWNIAN/* @samueljmcameron src/CG-DNA/* @ohenrich src/CG-SDK/* @akohlmey -src/USER-COLVARS/* @giacomofiorin -src/USER-DIELECTRIC/* @ndtrung81 -src/USER-FEP/* @agiliopadua +src/COLVARS/* @giacomofiorin +src/DIELECTRIC/* @ndtrung81 +src/FEP/* @agiliopadua src/ML-HDNNP/* @singraber -src/USER-INTEL/* @wmbrownintel -src/USER-MANIFOLD/* @Pakketeretet2 -src/USER-MDI/* @taylor-a-barnes +src/INTEL/* @wmbrownintel +src/MANIFOLD/* @Pakketeretet2 +src/MDI/* @taylor-a-barnes src/MEAM/* @martok -src/USER-MESONT/* @iafoss -src/USER-MOFFF/* @hheenen -src/USER-MOLFILE/* @akohlmey -src/USER-NETCDF/* @pastewka +src/MESONT/* @iafoss +src/MOFFF/* @hheenen +src/MOLFILE/* @akohlmey +src/NETCDF/* @pastewka src/ML-PACE/* @yury-lysogorskiy -src/USER-PLUMED/* @gtribello -src/USER-PHONON/* @lingtikong -src/USER-PTM/* @pmla +src/PLUMED/* @gtribello +src/PHONON/* @lingtikong +src/PTM/* @pmla src/OPENMP/* @akohlmey -src/USER-QMMM/* @akohlmey +src/QMMM/* @akohlmey src/REAXFF/* @hasanmetin -src/USER-REACTION/* @jrgissing -src/USER-SCAFACOS/* @rhalver -src/USER-TALLY/* @akohlmey -src/USER-UEF/* @danicholson -src/USER-VTK/* @rbberger +src/REACTION/* @jrgissing +src/SCAFACOS/* @rhalver +src/TALLY/* @akohlmey +src/UEF/* @danicholson +src/VTK/* @rbberger # individual files in packages @@ -138,7 +138,7 @@ unittest/* @akohlmey @rbberger # cmake cmake/* @junghans @rbberger -cmake/Modules/Packages/USER-COLVARS.cmake @junghans @rbberger @giacomofiorin +cmake/Modules/Packages/COLVARS.cmake @junghans @rbberger @giacomofiorin cmake/Modules/Packages/KIM.cmake @junghans @rbberger @ellio167 cmake/presets/*.cmake @akohlmey diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index fe95d9ba73..54cb975723 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -74,13 +74,13 @@ Here is a checklist of steps you need to follow to submit a single file or user * For consistency with the rest of LAMMPS and especially, if you want your contribution(s) to be added to main LAMMPS code or one of its standard packages, it needs to be written in a style compatible with other LAMMPS source files. This means: 2-character indentation per level, no tabs, no trailing whitespace, no lines over 80 characters. I/O is done via the C-style stdio library, style class header files should not import any system headers, STL containers should be avoided in headers, and forward declarations used where possible or needed. All added code should be placed into the LAMMPS_NS namespace or a sub-namespace; global or static variables should be avoided, as they conflict with the modular nature of LAMMPS and the C++ class structure. There MUST NOT be any "using namespace XXX;" statements in headers. In the implementation file (.cpp) system includes should be placed in angular brackets (<>) and for c-library functions the C++ style header files should be included ( instead of , or instead of ). This all is so the developers can more easily understand, integrate, and maintain your contribution and reduce conflicts with other parts of LAMMPS. This basically means that the code accesses data structures, performs its operations, and is formatted similar to other LAMMPS source files, including the use of the error class for error and warning messages. * Source, style name, and documentation file should follow the following naming convention: style names should be lowercase and words separated by a forward slash; for a new fix style 'foo/bar', the class should be named FixFooBar, the name of the source files should be 'fix_foo_bar.h' and 'fix_foo_bar.cpp' and the corresponding documentation should be in a file 'fix_foo_bar.rst'. * If you want your contribution to be added as a user-contributed feature, and it is a single file (actually a `.cpp` and `.h` file) it can be rapidly added to the USER-MISC directory. Include the one-line entry to add to the USER-MISC/README file in that directory, along with the 2 source files. You can do this multiple times if you wish to contribute several individual features. -* If you want your contribution to be added as a user-contribution and it is several related features, it is probably best to make it a user package directory with a name like USER-FOO. In addition to your new files, the directory should contain a README text file. The README should contain your name and contact information and a brief description of what your new package does. If your files depend on other LAMMPS style files also being installed (e.g. because your file is a derived class from the other LAMMPS class), then an Install.sh file is also needed to check for those dependencies. See other README and Install.sh files in other USER directories as examples. Send us a tarball of this USER-FOO directory. +* If you want your contribution to be added as a user-contribution and it is several related features, it is probably best to make it a user package directory with a name like FOO. In addition to your new files, the directory should contain a README text file. The README should contain your name and contact information and a brief description of what your new package does. If your files depend on other LAMMPS style files also being installed (e.g. because your file is a derived class from the other LAMMPS class), then an Install.sh file is also needed to check for those dependencies. See other README and Install.sh files in other USER directories as examples. Send us a tarball of this FOO directory. * Your new source files need to have the LAMMPS copyright, GPL notice, and your name and email address at the top, like other user-contributed LAMMPS source files. They need to create a class that is inside the LAMMPS namespace. If the file is for one of the USER packages, including USER-MISC, then we are not as picky about the coding style (see above). I.e. the files do not need to be in the same stylistic format and syntax as other LAMMPS files, though that would be nice for developers as well as users who try to read your code. -* You **must** also create or extend a documentation file for each new command or style you are adding to LAMMPS. For simplicity and convenience, the documentation of groups of closely related commands or styles may be combined into a single file. This will be one file for a single-file feature. For a package, it might be several files. These are files in the [reStructuredText](https://docutils.sourceforge.io/rst.html) markup language, that are then converted to HTML and PDF. The tools for this conversion are included in the source distribution, and the translation can be as simple as doing "make html pdf" in the doc folder. Thus the documentation source files must be in the same format and style as other `.rst` files in the lammps/doc/src directory for similar commands and styles; use one or more of them as a starting point. An introduction to reStructuredText can be found at [https://docutils.sourceforge.io/docs/user/rst/quickstart.html](https://docutils.sourceforge.io/docs/user/rst/quickstart.html). The text files can include mathematical expressions and symbol in ".. math::" sections or ":math:" expressions or figures (see doc/JPG for examples), or even additional PDF files with further details (see doc/PDF for examples). The doc page should also include literature citations as appropriate; see the bottom of doc/fix_nh.rst for examples and the earlier part of the same file for how to format the cite itself. The "Restrictions" section of the doc page should indicate that your command is only available if LAMMPS is built with the appropriate USER-MISC or USER-FOO package. See other user package doc files for examples of how to do this. The prerequisite for building the HTML format files are Python 3.x and virtualenv. Please run at least `make html`, `make pdf` and `make spelling` and carefully inspect and proofread the resulting HTML format doc page as well as the output produced to the screen. Make sure that all spelling errors are fixed or the necessary false positives are added to the `doc/utils/sphinx-config/false_positives.txt` file. For new styles, those usually also need to be added to lists on the respective overview pages. This can be checked for also with `make style_check`. +* You **must** also create or extend a documentation file for each new command or style you are adding to LAMMPS. For simplicity and convenience, the documentation of groups of closely related commands or styles may be combined into a single file. This will be one file for a single-file feature. For a package, it might be several files. These are files in the [reStructuredText](https://docutils.sourceforge.io/rst.html) markup language, that are then converted to HTML and PDF. The tools for this conversion are included in the source distribution, and the translation can be as simple as doing "make html pdf" in the doc folder. Thus the documentation source files must be in the same format and style as other `.rst` files in the lammps/doc/src directory for similar commands and styles; use one or more of them as a starting point. An introduction to reStructuredText can be found at [https://docutils.sourceforge.io/docs/user/rst/quickstart.html](https://docutils.sourceforge.io/docs/user/rst/quickstart.html). The text files can include mathematical expressions and symbol in ".. math::" sections or ":math:" expressions or figures (see doc/JPG for examples), or even additional PDF files with further details (see doc/PDF for examples). The doc page should also include literature citations as appropriate; see the bottom of doc/fix_nh.rst for examples and the earlier part of the same file for how to format the cite itself. The "Restrictions" section of the doc page should indicate that your command is only available if LAMMPS is built with the appropriate USER-MISC or FOO package. See other user package doc files for examples of how to do this. The prerequisite for building the HTML format files are Python 3.x and virtualenv. Please run at least `make html`, `make pdf` and `make spelling` and carefully inspect and proofread the resulting HTML format doc page as well as the output produced to the screen. Make sure that all spelling errors are fixed or the necessary false positives are added to the `doc/utils/sphinx-config/false_positives.txt` file. For new styles, those usually also need to be added to lists on the respective overview pages. This can be checked for also with `make style_check`. * For a new package (or even a single command) you should include one or more example scripts demonstrating its use. These should run in no more than a couple minutes, even on a single processor, and not require large data files as input. See directories under examples/PACKAGES for examples of input scripts other users provided for their packages. These example inputs are also required for validating memory accesses and testing for memory leaks with valgrind * For new utility functions or class (i.e. anything that does not depend on a LAMMPS object), new unit tests should be added to the unittest tree. * When adding a new LAMMPS style, a .yaml file with a test configuration and reference data should be added for the styles where a suitable tester program already exists (e.g. pair styles, bond styles, etc.). -* If there is a paper of yours describing your feature (either the algorithm/science behind the feature itself, or its initial usage, or its implementation in LAMMPS), you can add the citation to the .cpp source file. See src/USER-EFF/atom_vec_electron.cpp for an example. A LaTeX citation is stored in a variable at the top of the file and a single line of code that references the variable is added to the constructor of the class. Whenever a user invokes your feature from their input script, this will cause LAMMPS to output the citation to a log.cite file and prompt the user to examine the file. Note that you should only use this for a paper you or your group authored. E.g. adding a cite in the code for a paper by Nose and Hoover if you write a fix that implements their integrator is not the intended usage. That kind of citation should just be in the doc page you provide. +* If there is a paper of yours describing your feature (either the algorithm/science behind the feature itself, or its initial usage, or its implementation in LAMMPS), you can add the citation to the .cpp source file. See src/EFF/atom_vec_electron.cpp for an example. A LaTeX citation is stored in a variable at the top of the file and a single line of code that references the variable is added to the constructor of the class. Whenever a user invokes your feature from their input script, this will cause LAMMPS to output the citation to a log.cite file and prompt the user to examine the file. Note that you should only use this for a paper you or your group authored. E.g. adding a cite in the code for a paper by Nose and Hoover if you write a fix that implements their integrator is not the intended usage. That kind of citation should just be in the doc page you provide. Finally, as a general rule-of-thumb, the more clear and self-explanatory you make your documentation and README files, and the easier you make it for people to get started, e.g. by providing example scripts, the more likely it is that users will try out your new feature. diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 580625d187..5e80a16d6b 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -141,14 +141,14 @@ option(CMAKE_VERBOSE_MAKEFILE "Generate verbose Makefiles" OFF) set(STANDARD_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS DIPOLE GRANULAR KSPACE LATTE MANYBODY MC MESSAGE MISC ML-IAP MOLECULE PERI POEMS PLUGIN QEQ REPLICA RIGID SHOCK SPIN ML-SNAP SRD KIM PYTHON MSCG MPIIO VORONOI - USER-ADIOS USER-ATC USER-AWPMD USER-BOCS CG-DNA DPD-MESO CG-SDK - USER-COLVARS USER-DIELECTRIC USER-DIFFRACTION DPD-REACT USER-DRUDE USER-EFF USER-FEP - USER-H5MD ML-HDNNP LATBOLTZ USER-MANIFOLD USER-MDI MEAM USER-MESONT USER-MGPT - USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF USER-PHONON USER-PLUMED USER-PTM USER-QTB - ML-RANN USER-REACTION REAXFF USER-SCAFACOS DPD-SMOOTH MACHDYN USER-SMTBQ USER-SPH - USER-TALLY USER-UEF USER-VTK ML-QUIP USER-QMMM USER-YAFF ML-PACE USER-BROWNIAN) + ADIOS ATC AWPMD BOCS CG-DNA DPD-MESO CG-SDK + COLVARS DIELECTRIC DIFFRACTION DPD-REACT DRUDE EFF FEP + H5MD ML-HDNNP LATBOLTZ MANIFOLD MDI MEAM MESONT MGPT + USER-MISC MOFFF MOLFILE NETCDF PHONON PLUMED PTM QTB + ML-RANN REACTION REAXFF SCAFACOS DPD-SMOOTH MACHDYN SMTBQ SPH + TALLY UEF VTK ML-QUIP QMMM YAFF ML-PACE BROWNIAN) -set(SUFFIX_PACKAGES CORESHELL GPU KOKKOS OPT USER-INTEL OPENMP) +set(SUFFIX_PACKAGES CORESHELL GPU KOKKOS OPT INTEL OPENMP) foreach(PKG ${STANDARD_PACKAGES} ${SUFFIX_PACKAGES}) option(PKG_${PKG} "Build ${PKG} Package" OFF) @@ -159,7 +159,7 @@ endforeach() ###################################################### target_include_directories(lammps PUBLIC $) -if(PKG_USER-ADIOS) +if(PKG_ADIOS) # The search for ADIOS2 must come before MPI because # it includes its own MPI search with the latest FindMPI.cmake # script that defines the MPI::MPI_C target @@ -231,11 +231,11 @@ endif() # in an error instead of skipping over files pkg_depends(ML-IAP ML-SNAP) pkg_depends(MPIIO MPI) -pkg_depends(USER-ATC MANYBODY) +pkg_depends(ATC MANYBODY) pkg_depends(LATBOLTZ MPI) -pkg_depends(USER-PHONON KSPACE) -pkg_depends(USER-SCAFACOS MPI) -pkg_depends(USER-DIELECTRIC KSPACE) +pkg_depends(PHONON KSPACE) +pkg_depends(SCAFACOS MPI) +pkg_depends(DIELECTRIC KSPACE) # detect if we may enable OpenMP support by default set(BUILD_OMP_DEFAULT OFF) @@ -271,7 +271,7 @@ if(BUILD_OMP) target_link_libraries(lammps PRIVATE OpenMP::OpenMP_CXX) endif() -if(PKG_MSCG OR PKG_USER-ATC OR PKG_USER-AWPMD OR PKG_ML-QUIP OR PKG_LATTE) +if(PKG_MSCG OR PKG_ATC OR PKG_AWPMD OR PKG_ML-QUIP OR PKG_LATTE) enable_language(C) find_package(LAPACK) find_package(BLAS) @@ -350,8 +350,8 @@ else() set(CUDA_REQUEST_PIC) endif() -foreach(PKG_WITH_INCL KSPACE PYTHON ML-IAP VORONOI USER-COLVARS ML-HDNNP USER-MDI USER-MOLFILE USER-NETCDF - USER-PLUMED USER-QMMM ML-QUIP USER-SCAFACOS MACHDYN USER-VTK KIM LATTE MESSAGE MSCG COMPRESS ML-PACE) +foreach(PKG_WITH_INCL KSPACE PYTHON ML-IAP VORONOI COLVARS ML-HDNNP MDI MOLFILE NETCDF + PLUMED QMMM ML-QUIP SCAFACOS MACHDYN VTK KIM LATTE MESSAGE MSCG COMPRESS ML-PACE) if(PKG_${PKG_WITH_INCL}) include(Packages/${PKG_WITH_INCL}) endif() @@ -444,9 +444,9 @@ endforeach() ############################################## # add lib sources of (simple) enabled packages ############################################ -foreach(SIMPLE_LIB POEMS USER-ATC USER-AWPMD USER-H5MD USER-MESONT) +foreach(SIMPLE_LIB POEMS ATC AWPMD H5MD MESONT) if(PKG_${SIMPLE_LIB}) - string(REGEX REPLACE "^USER-" "" PKG_LIB "${SIMPLE_LIB}") + string(REGEX REPLACE "^" "" PKG_LIB "${SIMPLE_LIB}") string(TOLOWER "${PKG_LIB}" PKG_LIB) if(PKG_LIB STREQUAL "mesont") enable_language(Fortran) @@ -470,13 +470,13 @@ foreach(SIMPLE_LIB POEMS USER-ATC USER-AWPMD USER-H5MD USER-MESONT) endif() endforeach() -if(PKG_USER-AWPMD) +if(PKG_AWPMD) target_link_libraries(awpmd PRIVATE ${LAPACK_LIBRARIES}) endif() -if(PKG_USER-ATC) +if(PKG_ATC) if(LAMMPS_SIZES STREQUAL "BIGBIG") - message(FATAL_ERROR "The USER-ATC Package is not compatible with -DLAMMPS_BIGBIG") + message(FATAL_ERROR "The ATC Package is not compatible with -DLAMMPS_BIGBIG") endif() target_link_libraries(atc PRIVATE ${LAPACK_LIBRARIES}) if(BUILD_MPI) @@ -488,15 +488,15 @@ if(PKG_USER-ATC) target_compile_definitions(atc PRIVATE -DLAMMPS_${LAMMPS_SIZES}) endif() -if(PKG_USER-H5MD) - include(Packages/USER-H5MD) +if(PKG_H5MD) + include(Packages/H5MD) endif() ###################################################################### # packages which selectively include variants based on enabled styles # e.g. accelerator packages ###################################################################### -foreach(PKG_WITH_INCL CORESHELL QEQ OPENMP DPD-SMOOTH KOKKOS OPT USER-INTEL GPU) +foreach(PKG_WITH_INCL CORESHELL QEQ OPENMP DPD-SMOOTH KOKKOS OPT INTEL GPU) if(PKG_${PKG_WITH_INCL}) include(Packages/${PKG_WITH_INCL}) endif() diff --git a/cmake/Modules/Packages/USER-COLVARS.cmake b/cmake/Modules/Packages/COLVARS.cmake similarity index 100% rename from cmake/Modules/Packages/USER-COLVARS.cmake rename to cmake/Modules/Packages/COLVARS.cmake diff --git a/cmake/Modules/Packages/USER-H5MD.cmake b/cmake/Modules/Packages/H5MD.cmake similarity index 100% rename from cmake/Modules/Packages/USER-H5MD.cmake rename to cmake/Modules/Packages/H5MD.cmake diff --git a/cmake/Modules/Packages/USER-INTEL.cmake b/cmake/Modules/Packages/INTEL.cmake similarity index 67% rename from cmake/Modules/Packages/USER-INTEL.cmake rename to cmake/Modules/Packages/INTEL.cmake index ecad135b70..fee86dc870 100644 --- a/cmake/Modules/Packages/USER-INTEL.cmake +++ b/cmake/Modules/Packages/INTEL.cmake @@ -5,7 +5,7 @@ endif() target_compile_definitions(lammps PRIVATE -DLMP_USER_INTEL) -set(INTEL_ARCH "cpu" CACHE STRING "Architectures used by USER-INTEL (cpu or knl)") +set(INTEL_ARCH "cpu" CACHE STRING "Architectures used by INTEL (cpu or knl)") set(INTEL_ARCH_VALUES cpu knl) set_property(CACHE INTEL_ARCH PROPERTY STRINGS ${INTEL_ARCH_VALUES}) validate_option(INTEL_ARCH INTEL_ARCH_VALUES) @@ -40,10 +40,10 @@ endif() if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel") if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 16) - message(FATAL_ERROR "USER-INTEL needs at least a 2016 Intel compiler, found ${CMAKE_CXX_COMPILER_VERSION}") + message(FATAL_ERROR "INTEL needs at least a 2016 Intel compiler, found ${CMAKE_CXX_COMPILER_VERSION}") endif() else() - message(WARNING "USER-INTEL gives best performance with Intel compilers") + message(WARNING "INTEL gives best performance with Intel compilers") endif() find_package(TBB_MALLOC QUIET) @@ -52,7 +52,7 @@ if(TBB_MALLOC_FOUND) else() target_compile_definitions(lammps PRIVATE -DLMP_INTEL_NO_TBB) if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel") - message(WARNING "USER-INTEL with Intel compilers should use TBB malloc libraries") + message(WARNING "INTEL with Intel compilers should use TBB malloc libraries") endif() endif() @@ -65,12 +65,12 @@ else() endif() if((NOT ${CMAKE_SYSTEM_NAME} STREQUAL "Windows") AND (NOT ${LAMMPS_MEMALIGN} STREQUAL "64") AND (NOT ${LAMMPS_MEMALIGN} STREQUAL "128") AND (NOT ${LAMMPS_MEMALIGN} STREQUAL "256")) - message(FATAL_ERROR "USER-INTEL only supports memory alignment of 64, 128 or 256 on this platform") + message(FATAL_ERROR "INTEL only supports memory alignment of 64, 128 or 256 on this platform") endif() if(INTEL_ARCH STREQUAL "KNL") if(NOT CMAKE_CXX_COMPILER_ID STREQUAL "Intel") - message(FATAL_ERROR "Must use Intel compiler with USER-INTEL for KNL architecture") + message(FATAL_ERROR "Must use Intel compiler with INTEL for KNL architecture") endif() set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -xHost -qopenmp -qoffload") set(MIC_OPTIONS "-qoffload-option,mic,compiler,\"-fp-model fast=2 -mGLOB_default_function_attrs=\\\"gather_scatter_loop_unroll=4\\\"\"") @@ -91,26 +91,26 @@ else() endif() # collect sources -set(USER-INTEL_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/USER-INTEL) -set(USER-INTEL_SOURCES ${USER-INTEL_SOURCES_DIR}/fix_intel.cpp - ${USER-INTEL_SOURCES_DIR}/fix_nh_intel.cpp - ${USER-INTEL_SOURCES_DIR}/intel_buffers.cpp - ${USER-INTEL_SOURCES_DIR}/nbin_intel.cpp - ${USER-INTEL_SOURCES_DIR}/npair_intel.cpp) +set(INTEL_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/INTEL) +set(INTEL_SOURCES ${INTEL_SOURCES_DIR}/fix_intel.cpp + ${INTEL_SOURCES_DIR}/fix_nh_intel.cpp + ${INTEL_SOURCES_DIR}/intel_buffers.cpp + ${INTEL_SOURCES_DIR}/nbin_intel.cpp + ${INTEL_SOURCES_DIR}/npair_intel.cpp) -set_property(GLOBAL PROPERTY "USER-INTEL_SOURCES" "${USER-INTEL_SOURCES}") +set_property(GLOBAL PROPERTY "INTEL_SOURCES" "${INTEL_SOURCES}") -# detect styles which have a USER-INTEL version -RegisterStylesExt(${USER-INTEL_SOURCES_DIR} intel USER-INTEL_SOURCES) -RegisterNBinStyle(${USER-INTEL_SOURCES_DIR}/nbin_intel.h) -RegisterNPairStyle(${USER-INTEL_SOURCES_DIR}/npair_intel.h) -RegisterFixStyle(${USER-INTEL_SOURCES_DIR}/fix_intel.h) +# detect styles which have a INTEL version +RegisterStylesExt(${INTEL_SOURCES_DIR} intel INTEL_SOURCES) +RegisterNBinStyle(${INTEL_SOURCES_DIR}/nbin_intel.h) +RegisterNPairStyle(${INTEL_SOURCES_DIR}/npair_intel.h) +RegisterFixStyle(${INTEL_SOURCES_DIR}/fix_intel.h) -get_property(USER-INTEL_SOURCES GLOBAL PROPERTY USER-INTEL_SOURCES) +get_property(INTEL_SOURCES GLOBAL PROPERTY INTEL_SOURCES) if(PKG_KSPACE) - list(APPEND USER-INTEL_SOURCES ${USER-INTEL_SOURCES_DIR}/verlet_lrt_intel.cpp) - RegisterIntegrateStyle(${USER-INTEL_SOURCES_DIR}/verlet_lrt_intel.h) + list(APPEND INTEL_SOURCES ${INTEL_SOURCES_DIR}/verlet_lrt_intel.cpp) + RegisterIntegrateStyle(${INTEL_SOURCES_DIR}/verlet_lrt_intel.h) endif() -target_sources(lammps PRIVATE ${USER-INTEL_SOURCES}) -target_include_directories(lammps PRIVATE ${USER-INTEL_SOURCES_DIR}) +target_sources(lammps PRIVATE ${INTEL_SOURCES}) +target_include_directories(lammps PRIVATE ${INTEL_SOURCES_DIR}) diff --git a/cmake/Modules/Packages/USER-MDI.cmake b/cmake/Modules/Packages/MDI.cmake similarity index 100% rename from cmake/Modules/Packages/USER-MDI.cmake rename to cmake/Modules/Packages/MDI.cmake diff --git a/cmake/Modules/Packages/USER-MOLFILE.cmake b/cmake/Modules/Packages/MOLFILE.cmake similarity index 100% rename from cmake/Modules/Packages/USER-MOLFILE.cmake rename to cmake/Modules/Packages/MOLFILE.cmake diff --git a/cmake/Modules/Packages/USER-NETCDF.cmake b/cmake/Modules/Packages/NETCDF.cmake similarity index 89% rename from cmake/Modules/Packages/USER-NETCDF.cmake rename to cmake/Modules/Packages/NETCDF.cmake index d63e9773c3..2e521b81b0 100644 --- a/cmake/Modules/Packages/USER-NETCDF.cmake +++ b/cmake/Modules/Packages/NETCDF.cmake @@ -1,4 +1,4 @@ -# USER-NETCDF can use NetCDF, Parallel NetCDF (PNetCDF), or both. At least one necessary. +# NETCDF can use NetCDF, Parallel NetCDF (PNetCDF), or both. At least one necessary. # NetCDF library enables dump style "netcdf", while PNetCDF enables dump style "netcdf/mpiio" # may use NetCDF or PNetCDF with MPI, but must have NetCDF without diff --git a/cmake/Modules/Packages/USER-PLUMED.cmake b/cmake/Modules/Packages/PLUMED.cmake similarity index 100% rename from cmake/Modules/Packages/USER-PLUMED.cmake rename to cmake/Modules/Packages/PLUMED.cmake diff --git a/cmake/Modules/Packages/USER-QMMM.cmake b/cmake/Modules/Packages/QMMM.cmake similarity index 100% rename from cmake/Modules/Packages/USER-QMMM.cmake rename to cmake/Modules/Packages/QMMM.cmake diff --git a/cmake/Modules/Packages/USER-SCAFACOS.cmake b/cmake/Modules/Packages/SCAFACOS.cmake similarity index 100% rename from cmake/Modules/Packages/USER-SCAFACOS.cmake rename to cmake/Modules/Packages/SCAFACOS.cmake diff --git a/cmake/Modules/Packages/USER-SDPD.cmake b/cmake/Modules/Packages/SDPD.cmake similarity index 100% rename from cmake/Modules/Packages/USER-SDPD.cmake rename to cmake/Modules/Packages/SDPD.cmake diff --git a/cmake/Modules/Packages/USER-VTK.cmake b/cmake/Modules/Packages/VTK.cmake similarity index 100% rename from cmake/Modules/Packages/USER-VTK.cmake rename to cmake/Modules/Packages/VTK.cmake diff --git a/cmake/presets/all_off.cmake b/cmake/presets/all_off.cmake index 0f30bb56ad..86f12c98f1 100644 --- a/cmake/presets/all_off.cmake +++ b/cmake/presets/all_off.cmake @@ -5,13 +5,13 @@ set(ALL_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU GRANULAR KIM KOKKOS KSPACE LATTE MANYBODY MC MESSAGE MISC ML-IAP MOLECULE MPIIO MSCG OPT PERI PLUGIN POEMS PYTHON QEQ REPLICA RIGID SHOCK ML-SNAP SPIN SRD VORONOI - USER-ADIOS USER-ATC USER-AWPMD USER-BROWNIAN USER-BOCS CG-DNA CG-SDK - USER-COLVARS USER-DIFFRACTION DPD-REACT USER-DRUDE USER-EFF USER-FEP USER-H5MD - ML-HDNNP USER-INTEL LATBOLTZ USER-MANIFOLD USER-MDI MEAM DPD-MESO - USER-MESONT USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF OPENMP - ML-PACE USER-PHONON USER-PLUMED USER-PTM USER-QMMM USER-QTB ML-QUIP ML-RANN - USER-REACTION REAXFF USER-SCAFACOS DPD-SMOOTH MACHDYN USER-SMTBQ USER-SPH - USER-TALLY USER-UEF USER-VTK USER-YAFF USER-DIELECTRIC) + ADIOS ATC AWPMD BROWNIAN BOCS CG-DNA CG-SDK + COLVARS DIFFRACTION DPD-REACT DRUDE EFF FEP H5MD + ML-HDNNP INTEL LATBOLTZ MANIFOLD MDI MEAM DPD-MESO + MESONT MGPT USER-MISC MOFFF MOLFILE NETCDF OPENMP + ML-PACE PHONON PLUMED PTM QMMM QTB ML-QUIP ML-RANN + REACTION REAXFF SCAFACOS DPD-SMOOTH MACHDYN SMTBQ SPH + TALLY UEF VTK YAFF DIELECTRIC) foreach(PKG ${ALL_PACKAGES}) set(PKG_${PKG} OFF CACHE BOOL "" FORCE) diff --git a/cmake/presets/all_on.cmake b/cmake/presets/all_on.cmake index 685303c21e..909af2edff 100644 --- a/cmake/presets/all_on.cmake +++ b/cmake/presets/all_on.cmake @@ -7,13 +7,13 @@ set(ALL_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU GRANULAR KIM KOKKOS KSPACE LATTE MANYBODY MC MESSAGE MISC ML-IAP MOLECULE MPIIO MSCG OPT PERI PLUGIN POEMS PYTHON QEQ REPLICA RIGID SHOCK ML-SNAP SPIN SRD VORONOI - USER-ADIOS USER-ATC USER-AWPMD USER-BROWNIAN USER-BOCS CG-DNA CG-SDK - USER-COLVARS USER-DIFFRACTION DPD-REACT USER-DRUDE USER-EFF USER-FEP USER-H5MD - ML-HDNNP USER-INTEL LATBOLTZ USER-MANIFOLD USER-MDI MEAM DPD-MESO - USER-MESONT USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF OPENMP - ML-PACE USER-PHONON USER-PLUMED USER-PTM USER-QMMM USER-QTB ML-QUIP ML-RANN - USER-REACTION REAXFF USER-SCAFACOS DPD-SMOOTH MACHDYN USER-SMTBQ USER-SPH - USER-TALLY USER-UEF USER-VTK USER-YAFF USER-DIELECTRIC) + ADIOS ATC AWPMD BROWNIAN BOCS CG-DNA CG-SDK + COLVARS DIFFRACTION DPD-REACT DRUDE EFF FEP H5MD + ML-HDNNP INTEL LATBOLTZ MANIFOLD MDI MEAM DPD-MESO + MESONT MGPT USER-MISC MOFFF MOLFILE NETCDF OPENMP + ML-PACE PHONON PLUMED PTM QMMM QTB ML-QUIP ML-RANN + REACTION REAXFF SCAFACOS DPD-SMOOTH MACHDYN SMTBQ SPH + TALLY UEF VTK YAFF DIELECTRIC) foreach(PKG ${ALL_PACKAGES}) set(PKG_${PKG} ON CACHE BOOL "" FORCE) diff --git a/cmake/presets/download.cmake b/cmake/presets/download.cmake index 8610a5078b..2030a97dbb 100644 --- a/cmake/presets/download.cmake +++ b/cmake/presets/download.cmake @@ -1,7 +1,7 @@ # Preset that turns on packages with automatic downloads of sources or potentials. # Compilation of libraries like Plumed or ScaFaCoS can take a considerable amount of time. -set(ALL_PACKAGES KIM LATTE MSCG VORONOI USER-PLUMED USER-SCAFACOS MACHDYN USER-MESONT USER-MDI ML-PACE) +set(ALL_PACKAGES KIM LATTE MSCG VORONOI PLUMED SCAFACOS MACHDYN MESONT MDI ML-PACE) foreach(PKG ${ALL_PACKAGES}) set(PKG_${PKG} ON CACHE BOOL "" FORCE) diff --git a/cmake/presets/mingw-cross.cmake b/cmake/presets/mingw-cross.cmake index 4f87048797..ba6089935f 100644 --- a/cmake/presets/mingw-cross.cmake +++ b/cmake/presets/mingw-cross.cmake @@ -1,13 +1,13 @@ set(WIN_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU GRANULAR KSPACE LATTE MANYBODY MC MISC ML-IAP MOLECULE OPT PERI POEMS QEQ REPLICA RIGID SHOCK ML-SNAP SPIN SRD VORONOI - USER-ATC USER-AWPMD USER-BOCS USER-BROWNIAN CG-DNA CG-SDK - USER-COLVARS USER-DIFFRACTION DPD-REACT USER-DRUDE USER-EFF USER-FEP - ML-HDNNP USER-INTEL USER-MANIFOLD USER-MDI MEAM DPD-MESO - USER-MESONT USER-MISC USER-MGPT USER-MOFFF USER-MOLFILE OPENMP - USER-PHONON USER-PTM USER-QTB USER-REACTION REAXFF - DPD-SMOOTH MACHDYN USER-SMTBQ USER-SPH USER-TALLY USER-UEF - USER-YAFF USER-DIELECTRIC) + ATC AWPMD BOCS BROWNIAN CG-DNA CG-SDK + COLVARS DIFFRACTION DPD-REACT DRUDE EFF FEP + ML-HDNNP INTEL MANIFOLD MDI MEAM DPD-MESO + MESONT USER-MISC MGPT MOFFF MOLFILE OPENMP + PHONON PTM QTB REACTION REAXFF + DPD-SMOOTH MACHDYN SMTBQ SPH TALLY UEF + YAFF DIELECTRIC) foreach(PKG ${WIN_PACKAGES}) set(PKG_${PKG} ON CACHE BOOL "" FORCE) diff --git a/cmake/presets/most.cmake b/cmake/presets/most.cmake index 2abb87bb51..9c66607ddf 100644 --- a/cmake/presets/most.cmake +++ b/cmake/presets/most.cmake @@ -5,10 +5,10 @@ set(ALL_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GRANULAR KSPACE MANYBODY MC MISC ML-IAP MOLECULE OPT PERI PLUGIN POEMS PYTHON QEQ REPLICA RIGID SHOCK ML-SNAP SPIN SRD VORONOI - USER-BROWNIAN USER-BOCS CG-DNA CG-SDK USER-COLVARS - USER-DIFFRACTION DPD-REACT USER-DRUDE USER-EFF USER-FEP MEAM - DPD-MESO USER-MISC USER-MOFFF OPENMP USER-PHONON USER-REACTION - REAXFF DPD-SMOOTH USER-SPH MACHDYN USER-UEF USER-YAFF USER-DIELECTRIC) + BROWNIAN BOCS CG-DNA CG-SDK COLVARS + DIFFRACTION DPD-REACT DRUDE EFF FEP MEAM + DPD-MESO USER-MISC MOFFF OPENMP PHONON REACTION + REAXFF DPD-SMOOTH SPH MACHDYN UEF YAFF DIELECTRIC) foreach(PKG ${ALL_PACKAGES}) set(PKG_${PKG} ON CACHE BOOL "" FORCE) diff --git a/cmake/presets/nolib.cmake b/cmake/presets/nolib.cmake index a500270011..d4b3497855 100644 --- a/cmake/presets/nolib.cmake +++ b/cmake/presets/nolib.cmake @@ -3,9 +3,9 @@ set(PACKAGES_WITH_LIB COMPRESS GPU KIM KOKKOS LATTE MESSAGE MPIIO MSCG PYTHON VORONOI - USER-ADIOS USER-ATC USER-AWPMD USER-H5MD ML-HDNNP LATBOLTZ USER-MOLFILE - USER-MESONT USER-MDI USER-NETCDF ML-PACE USER-PLUMED USER-QMMM ML-QUIP - USER-SCAFACOS MACHDYN USER-VTK) + ADIOS ATC AWPMD H5MD ML-HDNNP LATBOLTZ MOLFILE + MESONT MDI NETCDF ML-PACE PLUMED QMMM ML-QUIP + SCAFACOS MACHDYN VTK) foreach(PKG ${PACKAGES_WITH_LIB}) set(PKG_${PKG} OFF CACHE BOOL "" FORCE) diff --git a/doc/include-file-conventions.md b/doc/include-file-conventions.md index 67857da68e..454964f0a9 100644 --- a/doc/include-file-conventions.md +++ b/doc/include-file-conventions.md @@ -122,7 +122,7 @@ recorded compilation commands information when typing `make iwyu`. A lot of code predates the application of the rules in this document and the rules themselves are a moving target. So there are going to be significant chunks of code that do not fully comply. This applies -for example to the REAXFF, or the USER-ATC package. The LAMMPS +for example to the REAXFF, or the ATC package. The LAMMPS developers are dedicated to make an effort to improve the compliance and welcome volunteers wanting to help with the process. diff --git a/doc/lammps.1 b/doc/lammps.1 index 616f1dac8b..1c83bd9aae 100644 --- a/doc/lammps.1 +++ b/doc/lammps.1 @@ -135,7 +135,7 @@ For example "-pk gpu 2" is the same as "package gpu 2" in the input script. The possible styles and options are discussed in the .B LAMMPS manual for the "package" command. This switch can be used multiple -times, e.g. to set options for the USER-INTEL and OPENMP packages +times, e.g. to set options for the INTEL and OPENMP packages when used together. Along with the "-sf" or "-suffix" switch, this is a convenient mechanism for invoking accelerator packages and their options without having to edit an input script. diff --git a/doc/src/Build_basics.rst b/doc/src/Build_basics.rst index 207d767649..9ef209b3b3 100644 --- a/doc/src/Build_basics.rst +++ b/doc/src/Build_basics.rst @@ -121,18 +121,18 @@ documentation to find out how to build and link with it. The majority of OpenMP (threading) support in LAMMPS is provided by the ``OPENMP`` package; see the :doc:`Speed_omp` -page for details. The ``USER-INTEL`` package also includes OpenMP +page for details. The ``INTEL`` package also includes OpenMP threading (it is compatible with ``OPENMP`` and will usually fall -back on styles from that package, if a ``USER-INTEL`` does not exist) +back on styles from that package, if a ``INTEL`` does not exist) and adds vectorization support when compiled with compatible compilers, in particular the Intel compilers on top of OpenMP. Also, the ``KOKKOS`` package can be compiled to include OpenMP threading. In addition, there are a few commands in LAMMPS that have native OpenMP support included as well. These are commands in the ``MPIIO``, -``ML-SNAP``, ``USER-DIFFRACTION``, and ``DPD-REACT`` packages. In addition +``ML-SNAP``, ``DIFFRACTION``, and ``DPD-REACT`` packages. In addition some packages support OpenMP threading indirectly through the libraries -they interface to: e.g. ``LATTE``, ``KSPACE``, and ``USER-COLVARS``. +they interface to: e.g. ``LATTE``, ``KSPACE``, and ``COLVARS``. See the :doc:`Packages details ` page for more info on these packages and the pages for their respective commands for OpenMP threading info. @@ -176,7 +176,7 @@ performance. Vendor provided compilers for a specific hardware can produce faster code than open-source compilers like the GNU compilers. On the most common x86 hardware most popular C++ compilers are quite similar in performance of C/C++ code at high optimization levels. When -using the ``USER-INTEL`` package, there is a distinct advantage in using +using the ``INTEL`` package, there is a distinct advantage in using the `Intel C++ compiler `_ due to much improved vectorization through SSE and AVX instructions on compatible hardware as the source code includes changes and Intel compiler specific directives to enable @@ -326,8 +326,8 @@ LAMMPS. Makefile.opt # OPT package Makefile.omp # OPENMP package - Makefile.intel_cpu # USER-INTEL package for CPUs - Makefile.intel_coprocessor # USER-INTEL package for KNLs + Makefile.intel_cpu # INTEL package for CPUs + Makefile.intel_coprocessor # INTEL package for KNLs Makefile.gpu # GPU package Makefile.kokkos_cuda_mpi # KOKKOS package for GPUs Makefile.kokkos_omp # KOKKOS package for CPUs (OpenMP) diff --git a/doc/src/Build_development.rst b/doc/src/Build_development.rst index a306984a3d..a15d91c629 100644 --- a/doc/src/Build_development.rst +++ b/doc/src/Build_development.rst @@ -310,7 +310,7 @@ and working. parameter needs to be adjusted. Typically a value around 1.0e-13 can be used, but it may need to be as large as 1.0e-8 in some cases. - - The tests for pair styles from OPT, OPENMP and USER-INTEL are + - The tests for pair styles from OPT, OPENMP and INTEL are performed with automatically rescaled epsilon to account for additional loss of precision from code optimizations and different summation orders. diff --git a/doc/src/Build_extras.rst b/doc/src/Build_extras.rst index bf624adcb3..c20c3788df 100644 --- a/doc/src/Build_extras.rst +++ b/doc/src/Build_extras.rst @@ -43,25 +43,25 @@ This is the list of packages that may require additional steps. * :ref:`POEMS ` * :ref:`PYTHON ` * :ref:`VORONOI ` - * :ref:`USER-ADIOS ` - * :ref:`USER-ATC ` - * :ref:`USER-AWPMD ` - * :ref:`USER-COLVARS ` - * :ref:`USER-H5MD ` + * :ref:`ADIOS ` + * :ref:`ATC ` + * :ref:`AWPMD ` + * :ref:`COLVARS ` + * :ref:`H5MD ` * :ref:`ML-HDNNP ` - * :ref:`USER-INTEL ` - * :ref:`USER-MDI ` - * :ref:`USER-MESONT ` - * :ref:`USER-MOLFILE ` - * :ref:`USER-NETCDF ` + * :ref:`INTEL ` + * :ref:`MDI ` + * :ref:`MESONT ` + * :ref:`MOLFILE ` + * :ref:`NETCDF ` * :ref:`ML-PACE ` - * :ref:`USER-PLUMED ` + * :ref:`PLUMED ` * :ref:`OPENMP ` - * :ref:`USER-QMMM ` + * :ref:`QMMM ` * :ref:`ML-QUIP ` - * :ref:`USER-SCAFACOS ` + * :ref:`SCAFACOS ` * :ref:`MACHDYN ` - * :ref:`USER-VTK ` + * :ref:`VTK ` ---------- @@ -1058,10 +1058,10 @@ binary package provided by your operating system. .. _user-adios: -USER-ADIOS package +ADIOS package ----------------------------------- -The USER-ADIOS package requires the `ADIOS I/O library +The ADIOS package requires the `ADIOS I/O library `_, version 2.3.1 or newer. Make sure that you have ADIOS built either with or without MPI to match if you build LAMMPS with or without MPI. ADIOS compilation settings for @@ -1077,38 +1077,38 @@ systems. .. code-block:: bash -D ADIOS2_DIR=path # path is where ADIOS 2.x is installed - -D PKG_USER-ADIOS=yes + -D PKG_ADIOS=yes .. tab:: Traditional make - Turn on the USER-ADIOS package before building LAMMPS. If the + Turn on the ADIOS package before building LAMMPS. If the ADIOS 2.x software is installed in PATH, there is nothing else to do: .. code-block:: bash - $ make yes-user-adios + $ make yes-adios otherwise, set ADIOS2_DIR environment variable when turning on the package: .. code-block:: bash - $ ADIOS2_DIR=path make yes-user-adios # path is where ADIOS 2.x is installed + $ ADIOS2_DIR=path make yes-adios # path is where ADIOS 2.x is installed ---------- .. _user-atc: -USER-ATC package +ATC package ------------------------------- -The USER-ATC package requires the MANYBODY package also be installed. +The ATC package requires the MANYBODY package also be installed. .. tabs:: .. tab:: CMake build - No additional settings are needed besides ``-D PKG_USER-ATC=yes`` + No additional settings are needed besides ``-D PKG_ATC=yes`` and ``-D PKG_MANYBODY=yes``. .. tab:: Traditional make @@ -1153,14 +1153,14 @@ The USER-ATC package requires the MANYBODY package also be installed. .. _user-awpmd: -USER-AWPMD package +AWPMD package ------------------ .. tabs:: .. tab:: CMake build - No additional settings are needed besides ``-D PKG_USER-AQPMD=yes``. + No additional settings are needed besides ``-D PKG_AQPMD=yes``. .. tab:: Traditional make @@ -1204,7 +1204,7 @@ USER-AWPMD package .. _user-colvars: -USER-COLVARS package +COLVARS package --------------------------------------- This package includes the `Colvars library @@ -1218,7 +1218,7 @@ be built for the most part with all major versions of the C++ language. This is the recommended build procedure for using Colvars in LAMMPS. No additional settings are normally needed besides - ``-D PKG_USER-COLVARS=yes``. + ``-D PKG_COLVARS=yes``. .. tab:: Traditional make @@ -1303,7 +1303,7 @@ at: `https://github.com/ICAMS/lammps-user-pace/ `_. -The USER-PLUMED package has been tested to work with Plumed versions +The PLUMED package has been tested to work with Plumed versions 2.4.x, 2.5.x, and 2.6.x and will error out, when trying to run calculations with a different version of the Plumed kernel. @@ -1347,7 +1347,7 @@ LAMMPS build. .. tab:: CMake build - When the ``-D PKG_USER-PLUMED=yes`` flag is included in the cmake + When the ``-D PKG_PLUMED=yes`` flag is included in the cmake command you must ensure that GSL is installed in locations that are specified in your environment. There are then two additional variables that control the manner in which PLUMED is obtained and @@ -1380,7 +1380,7 @@ LAMMPS build. .. tab:: Traditional make - PLUMED needs to be installed before the USER-PLUMED package is + PLUMED needs to be installed before the PLUMED package is installed so that LAMMPS can find the right settings when compiling and linking the LAMMPS executable. You can either download and build PLUMED inside the LAMMPS plumed library folder @@ -1405,12 +1405,12 @@ LAMMPS build. build to use. A new file ``lib/plumed/Makefile.lammps`` is also created with settings suitable for LAMMPS to compile and link PLUMED using the desired linkage mode. After this step is - completed, you can install the USER-PLUMED package and compile + completed, you can install the PLUMED package and compile LAMMPS in the usual manner: .. code-block:: bash - $ make yes-user-plumed + $ make yes-plumed $ make machine Once this compilation completes you should be able to run LAMMPS @@ -1425,7 +1425,7 @@ LAMMPS build. If you want to change the linkage mode, you have to re-run "make lib-plumed" with the desired settings **and** do a re-install if - the USER-PLUMED package with "make yes-user-plumed" to update the + the PLUMED package with "make yes-plumed" to update the required makefile settings with the changes in the lib/plumed folder. @@ -1433,7 +1433,7 @@ LAMMPS build. .. _user-h5md: -USER-H5MD package +H5MD package --------------------------------- To build with this package you must have the HDF5 software package @@ -1444,7 +1444,7 @@ the HDF5 library. .. tab:: CMake build - No additional settings are needed besides ``-D PKG_USER-H5MD=yes``. + No additional settings are needed besides ``-D PKG_H5MD=yes``. This should auto-detect the H5MD library on your system. Several advanced CMake H5MD options exist if you need to specify where it @@ -1530,15 +1530,15 @@ details please see ``lib/hdnnp/README`` and the `n2p2 build documentation ---------- -.. _user-intel: +.. _intel: -USER-INTEL package +INTEL package ----------------------------------- To build with this package, you must choose which hardware you want to build for, either x86 CPUs or Intel KNLs in offload mode. You should also typically :ref:`install the OPENMP package `, as it can be -used in tandem with the USER-INTEL package to good effect, as explained +used in tandem with the INTEL package to good effect, as explained on the :doc:`Speed_intel` page. When using Intel compilers version 16.0 or later is required. You can @@ -1547,7 +1547,7 @@ improvements over regular styles and OPENMP styles, but less so than with the Intel compilers. Please also note, that some compilers have been found to apply memory alignment constraints incompletely or incorrectly and thus can cause segmentation faults in otherwise correct -code when using features from the USER-INTEL package. +code when using features from the INTEL package. .. tabs:: @@ -1564,7 +1564,7 @@ code when using features from the USER-INTEL package. Choose which hardware to compile for in Makefile.machine via the following settings. See ``src/MAKE/OPTIONS/Makefile.intel_cpu*`` and ``Makefile.knl`` files for examples. and - ``src/USER-INTEL/README`` for additional information. + ``src/INTEL/README`` for additional information. For CPUs: @@ -1602,7 +1602,7 @@ TBB and MKL. .. _user-mdi: -USER-MDI package +MDI package ----------------------------- .. tabs:: @@ -1631,7 +1631,7 @@ USER-MDI package .. _user-mesont: -USER-MESONT package +MESONT package ------------------------- This package includes a library written in Fortran 90 in the @@ -1644,7 +1644,7 @@ they will be downloaded the first time this package is installed. .. tab:: CMake build - No additional settings are needed besides ``-D PKG_USER-MESONT=yes`` + No additional settings are needed besides ``-D PKG_MESONT=yes`` .. tab:: Traditional make @@ -1673,7 +1673,7 @@ they will be downloaded the first time this package is installed. .. _user-molfile: -USER-MOLFILE package +MOLFILE package --------------------------------------- .. tabs:: @@ -1683,9 +1683,9 @@ USER-MOLFILE package .. code-block:: bash -D MOLFILE_INCLUDE_DIR=path # (optional) path where VMD molfile plugin headers are installed - -D PKG_USER-MOLFILE=yes + -D PKG_MOLFILE=yes - Using ``-D PKG_USER-MOLFILE=yes`` enables the package, and setting + Using ``-D PKG_MOLFILE=yes`` enables the package, and setting ``-D MOLFILE_INCLUDE_DIR`` allows to provide a custom location for the molfile plugin header files. These should match the ABI of the plugin files used, and thus one typically sets them to include @@ -1711,7 +1711,7 @@ USER-MOLFILE package .. _user-netcdf: -USER-NETCDF package +NETCDF package ------------------------------------- To build with this package you must have the NetCDF library installed @@ -1721,7 +1721,7 @@ on your system. .. tab:: CMake build - No additional settings are needed besides ``-D PKG_USER-NETCDF=yes``. + No additional settings are needed besides ``-D PKG_NETCDF=yes``. This should auto-detect the NETCDF library if it is installed on your system at standard locations. Several advanced CMake NETCDF @@ -1775,10 +1775,10 @@ OPENMP package .. _user-qmmm: -USER-QMMM package +QMMM package --------------------------------- -For using LAMMPS to do QM/MM simulations via the USER-QMMM package you +For using LAMMPS to do QM/MM simulations via the QMMM package you need to build LAMMPS as a library. A LAMMPS executable with :doc:`fix qmmm ` included can be built, but will not be able to do a QM/MM simulation on as such. You must also build a QM code - currently @@ -1801,11 +1801,11 @@ verified to work in February 2020 with Quantum Espresso versions 6.3 to libqmmm.a) are not included in the static LAMMPS library and (currently) not installed, while their code is included in the shared LAMMPS library. Thus a typical command line to configure - building LAMMPS for USER-QMMM would be: + building LAMMPS for QMMM would be: .. code-block:: bash - cmake -C ../cmake/presets/minimal.cmake -D PKG_USER-QMMM=yes \ + cmake -C ../cmake/presets/minimal.cmake -D PKG_QMMM=yes \ -D BUILD_LIB=yes -DBUILD_SHARED_LIBS=yes ../cmake After completing the LAMMPS build and also configuring and @@ -1885,7 +1885,7 @@ to be downloaded and configured. See step 1 and step 1.1 in the .. _user-scafacos: -USER-SCAFACOS package +SCAFACOS package ----------------------------------------- To build with this package, you must download and build the @@ -1976,7 +1976,7 @@ Eigen3 is a template library, so you do not need to build it. .. _user-vtk: -USER-VTK package +VTK package ------------------------------- To build with this package you must have the VTK library installed on @@ -1986,7 +1986,7 @@ your system. .. tab:: CMake build - No additional settings are needed besides ``-D PKG_USER-VTK=yes``. + No additional settings are needed besides ``-D PKG_VTK=yes``. This should auto-detect the VTK library if it is installed on your system at standard locations. Several advanced VTK options exist diff --git a/doc/src/Build_make.rst b/doc/src/Build_make.rst index a28d074e0b..c7b063e8a9 100644 --- a/doc/src/Build_make.rst +++ b/doc/src/Build_make.rst @@ -117,8 +117,8 @@ settings may become outdated: make mac # build serial LAMMPS on a Mac make mac_mpi # build parallel LAMMPS on a Mac - make intel_cpu # build with the USER-INTEL package optimized for CPUs - make knl # build with the USER-INTEL package optimized for KNLs + make intel_cpu # build with the INTEL package optimized for CPUs + make knl # build with the INTEL package optimized for KNLs make opt # build with the OPT package optimized for CPUs make omp # build with the OPENMP package optimized for OpenMP make kokkos_omp # build with the KOKKOS package for OpenMP diff --git a/doc/src/Build_package.rst b/doc/src/Build_package.rst index 06f4cf0a42..faea51901e 100644 --- a/doc/src/Build_package.rst +++ b/doc/src/Build_package.rst @@ -33,13 +33,13 @@ packages: +--------------------------------------+--------------------------------------+------------------------------------+----------------------------------+--------------------------------+--------------------------------+ | :ref:`COMPRESS ` | :ref:`GPU ` | :ref:`KIM ` | :ref:`KOKKOS ` | :ref:`LATTE ` | :ref:`MESSAGE ` | +--------------------------------------+--------------------------------------+------------------------------------+----------------------------------+--------------------------------+--------------------------------+ -| :ref:`MSCG ` | :ref:`OPT ` | :ref:`POEMS ` | :ref:`PYTHON ` | :ref:`VORONOI ` | :ref:`USER-ADIOS ` | +| :ref:`MSCG ` | :ref:`OPT ` | :ref:`POEMS ` | :ref:`PYTHON ` | :ref:`VORONOI ` | :ref:`ADIOS ` | +--------------------------------------+--------------------------------------+------------------------------------+----------------------------------+--------------------------------+--------------------------------+ -| :ref:`USER-ATC ` | :ref:`USER-AWPMD ` | :ref:`USER-COLVARS ` | :ref:`USER-H5MD ` | :ref:`ML-HDNNP ` | :ref:`USER-INTEL ` | +| :ref:`ATC ` | :ref:`AWPMD ` | :ref:`COLVARS ` | :ref:`H5MD ` | :ref:`ML-HDNNP ` | :ref:`INTEL ` | +--------------------------------------+--------------------------------------+------------------------------------+----------------------------------+--------------------------------+--------------------------------+ -| :ref:`USER-MOLFILE ` | :ref:`USER-NETCDF ` | :ref:`ML-PACE ` | :ref:`USER-PLUMED ` | :ref:`OPENMP ` | :ref:`USER-QMMM ` | +| :ref:`MOLFILE ` | :ref:`NETCDF ` | :ref:`ML-PACE ` | :ref:`PLUMED ` | :ref:`OPENMP ` | :ref:`QMMM ` | +--------------------------------------+--------------------------------------+------------------------------------+----------------------------------+--------------------------------+--------------------------------+ -| :ref:`ML-QUIP ` | :ref:`USER-SCAFACOS ` | :ref:`MACHDYN ` | :ref:`USER-VTK ` | | | +| :ref:`ML-QUIP ` | :ref:`SCAFACOS ` | :ref:`MACHDYN ` | :ref:`VTK ` | | | +--------------------------------------+--------------------------------------+------------------------------------+----------------------------------+--------------------------------+--------------------------------+ The mechanism for including packages is simple but different for CMake @@ -58,7 +58,7 @@ versus make. .. code-block:: csh -D PKG_MANYBODY=yes - -D PKG_USER-INTEL=yes + -D PKG_INTEL=yes All standard and user packages are included the same way. Note that USER packages have a hyphen between USER and the rest of the @@ -89,7 +89,7 @@ versus make. .. code-block:: bash make no-rigid - make yes-user-intel + make yes-intel All standard and user packages are included the same way. @@ -225,7 +225,7 @@ package`` will list all the these commands. Installing or un-installing a package for the make based build process works by simply copying files back and forth between the main source directory src and the sub-directories with the package name (e.g. - src/KSPACE, src/USER-ATC), so that the files are included or excluded + src/KSPACE, src/ATC), so that the files are included or excluded when LAMMPS is built. Only source files in the src folder will be compiled. diff --git a/doc/src/Build_settings.rst b/doc/src/Build_settings.rst index 227291e9c7..074a6349e6 100644 --- a/doc/src/Build_settings.rst +++ b/doc/src/Build_settings.rst @@ -242,8 +242,8 @@ does not support 64-bit integers or incurs performance penalties when using them. These are limits for the core of the LAMMPS code, specific features or -some styles may impose additional limits. The :ref:`USER-ATC -` package cannot be compiled with the "bigbig" setting. +some styles may impose additional limits. The :ref:`ATC +` package cannot be compiled with the "bigbig" setting. Also, there are limitations when using the library interface where some functions with known issues have been replaced by dummy calls printing a corresponding error message rather than crashing randomly or corrupting diff --git a/doc/src/Commands_bond.rst b/doc/src/Commands_bond.rst index b6817f720e..1a0876e88f 100644 --- a/doc/src/Commands_bond.rst +++ b/doc/src/Commands_bond.rst @@ -18,7 +18,7 @@ Bond_style potentials All LAMMPS :doc:`bond_style ` commands. Some styles have accelerated versions. This is indicated by additional letters in -parenthesis: g = GPU, i = USER-INTEL, k = KOKKOS, o = OPENMP, t = +parenthesis: g = GPU, i = INTEL, k = KOKKOS, o = OPENMP, t = OPT. .. table_from_list:: @@ -57,7 +57,7 @@ Angle_style potentials All LAMMPS :doc:`angle_style ` commands. Some styles have accelerated versions. This is indicated by additional letters in -parenthesis: g = GPU, i = USER-INTEL, k = KOKKOS, o = OPENMP, t = +parenthesis: g = GPU, i = INTEL, k = KOKKOS, o = OPENMP, t = OPT. .. table_from_list:: @@ -99,7 +99,7 @@ Dihedral_style potentials All LAMMPS :doc:`dihedral_style ` commands. Some styles have accelerated versions. This is indicated by additional letters in -parenthesis: g = GPU, i = USER-INTEL, k = KOKKOS, o = OPENMP, t = +parenthesis: g = GPU, i = INTEL, k = KOKKOS, o = OPENMP, t = OPT. .. table_from_list:: @@ -135,7 +135,7 @@ Improper_style potentials All LAMMPS :doc:`improper_style ` commands. Some styles have accelerated versions. This is indicated by additional letters in -parenthesis: g = GPU, i = USER-INTEL, k = KOKKOS, o = OPENMP, t = +parenthesis: g = GPU, i = INTEL, k = KOKKOS, o = OPENMP, t = OPT. .. table_from_list:: diff --git a/doc/src/Commands_compute.rst b/doc/src/Commands_compute.rst index eb34d71679..1fa84fe370 100644 --- a/doc/src/Commands_compute.rst +++ b/doc/src/Commands_compute.rst @@ -16,7 +16,7 @@ Compute commands An alphabetic list of all LAMMPS :doc:`compute ` commands. Some styles have accelerated versions. This is indicated by -additional letters in parenthesis: g = GPU, i = USER-INTEL, k = +additional letters in parenthesis: g = GPU, i = INTEL, k = KOKKOS, o = OPENMP, t = OPT. .. table_from_list:: diff --git a/doc/src/Commands_fix.rst b/doc/src/Commands_fix.rst index e3d79489e3..bae7c5920a 100644 --- a/doc/src/Commands_fix.rst +++ b/doc/src/Commands_fix.rst @@ -16,7 +16,7 @@ Fix commands An alphabetic list of all LAMMPS :doc:`fix ` commands. Some styles have accelerated versions. This is indicated by additional letters in -parenthesis: g = GPU, i = USER-INTEL, k = KOKKOS, o = OPENMP, t = +parenthesis: g = GPU, i = INTEL, k = KOKKOS, o = OPENMP, t = OPT. .. table_from_list:: diff --git a/doc/src/Commands_kspace.rst b/doc/src/Commands_kspace.rst index 0bb99cdf28..47188d1172 100644 --- a/doc/src/Commands_kspace.rst +++ b/doc/src/Commands_kspace.rst @@ -16,7 +16,7 @@ KSpace solvers All LAMMPS :doc:`kspace_style ` solvers. Some styles have accelerated versions. This is indicated by additional letters in -parenthesis: g = GPU, i = USER-INTEL, k = KOKKOS, o = OPENMP, t = +parenthesis: g = GPU, i = INTEL, k = KOKKOS, o = OPENMP, t = OPT. .. table_from_list:: diff --git a/doc/src/Commands_pair.rst b/doc/src/Commands_pair.rst index a621f1a903..bccb17224a 100644 --- a/doc/src/Commands_pair.rst +++ b/doc/src/Commands_pair.rst @@ -16,7 +16,7 @@ Pair_style potentials All LAMMPS :doc:`pair_style ` commands. Some styles have accelerated versions. This is indicated by additional letters in -parenthesis: g = GPU, i = USER-INTEL, k = KOKKOS, o = OPENMP, t = +parenthesis: g = GPU, i = INTEL, k = KOKKOS, o = OPENMP, t = OPT. .. table_from_list:: diff --git a/doc/src/Developer_unittest.rst b/doc/src/Developer_unittest.rst index 74940c0f9b..820e911a8f 100644 --- a/doc/src/Developer_unittest.rst +++ b/doc/src/Developer_unittest.rst @@ -405,7 +405,7 @@ compare with the reference and also start from the data file. A final check will use multi-cutoff r-RESPA (if supported by the pair style) at a 1:1 split and compare to the Verlet results. These sets of tests are run with multiple test fixtures for accelerated styles (OPT, OPENMP, -USER-INTEL) and for the latter two with 4 OpenMP threads enabled. For +INTEL) and for the latter two with 4 OpenMP threads enabled. For these tests the relative error (epsilon) is lowered by a common factor due to the additional numerical noise, but the tests are still comparing to the same reference data. diff --git a/doc/src/Errors_messages.rst b/doc/src/Errors_messages.rst index cb1386f2d8..fba3b1bb39 100644 --- a/doc/src/Errors_messages.rst +++ b/doc/src/Errors_messages.rst @@ -6344,8 +6344,8 @@ keyword to allow for additional bonds to be formed The GPU package must be installed via "make yes-gpu" before LAMMPS is built. -*Package intel command without USER-INTEL package installed* - The USER-INTEL package must be installed via "make yes-user-intel" +*Package intel command without INTEL package installed* + The INTEL package must be installed via "make yes-intel" before LAMMPS is built. *Package kokkos command without KOKKOS package enabled* @@ -8064,7 +8064,7 @@ keyword to allow for additional bonds to be formed *Using suffix gpu without GPU package installed* Self-explanatory. -*Using suffix intel without USER-INTEL package installed* +*Using suffix intel without INTEL package installed* Self-explanatory. *Using suffix kk without KOKKOS package enabled* diff --git a/doc/src/Howto_drude2.rst b/doc/src/Howto_drude2.rst index 785475d12f..46d400c9e8 100644 --- a/doc/src/Howto_drude2.rst +++ b/doc/src/Howto_drude2.rst @@ -2,10 +2,10 @@ Tutorial for Thermalized Drude oscillators in LAMMPS ==================================================== This tutorial explains how to use Drude oscillators in LAMMPS to -simulate polarizable systems using the USER-DRUDE package. As an +simulate polarizable systems using the DRUDE package. As an illustration, the input files for a simulation of 250 phenol molecules are documented. First of all, LAMMPS has to be compiled with the -USER-DRUDE package activated. Then, the data file and input scripts +DRUDE package activated. Then, the data file and input scripts have to be modified to include the Drude dipoles and how to handle them. @@ -82,7 +82,7 @@ The data file is similar to a standard LAMMPS data file for to their DC should appear in the data file as normal atoms and bonds. You can use the *polarizer* tool (Python script distributed with the -USER-DRUDE package) to convert a non-polarizable data file (here +DRUDE package) to convert a non-polarizable data file (here *data.102494.lmp*\ ) to a polarizable data file (\ *data-p.lmp*\ ) .. code-block:: bash diff --git a/doc/src/Howto_manifold.rst b/doc/src/Howto_manifold.rst index 41e1fb6a4c..f09e3017be 100644 --- a/doc/src/Howto_manifold.rst +++ b/doc/src/Howto_manifold.rst @@ -5,11 +5,11 @@ Manifolds (surfaces) This doc page is not about a LAMMPS input script command, but about manifolds, which are generalized surfaces, as defined and used by the -USER-MANIFOLD package, to track particle motion on the manifolds. See -the src/USER-MANIFOLD/README file for more details about the package +MANIFOLD package, to track particle motion on the manifolds. See +the src/MANIFOLD/README file for more details about the package and its commands. -Below is a list of currently supported manifolds by the USER-MANIFOLD +Below is a list of currently supported manifolds by the MANIFOLD package, their parameters and a short description of them. The parameters listed here are in the same order as they should be passed to the relevant fixes. diff --git a/doc/src/Howto_polarizable.rst b/doc/src/Howto_polarizable.rst index c1c6e1fc76..6361f8ad88 100644 --- a/doc/src/Howto_polarizable.rst +++ b/doc/src/Howto_polarizable.rst @@ -10,7 +10,7 @@ systems can be simulated in LAMMPS using three methods: * the adiabatic core-shell method, implemented in the :doc:`CORESHELL ` package, * the thermalized Drude dipole method, implemented in the - :doc:`USER-DRUDE ` package. + :doc:`DRUDE ` package. The fluctuating charge method calculates instantaneous charges on interacting atoms based on the electronegativity equalization diff --git a/doc/src/Install_windows.rst b/doc/src/Install_windows.rst index c3f256cfad..1e5c9684ac 100644 --- a/doc/src/Install_windows.rst +++ b/doc/src/Install_windows.rst @@ -18,7 +18,7 @@ needed to run in parallel with MPI. The LAMMPS binaries contain *all* :doc:`optional packages ` included in the source distribution except: KIM, KOKKOS, MSCG, PYTHON, -USER-ADIOS, USER-H5MD, USER-NETCDF, USER-QMMM, ML-QUIP, and USER-VTK. +ADIOS, H5MD, NETCDF, QMMM, ML-QUIP, and VTK. The serial version also does not include the MPIIO and LATBOLTZ packages. The GPU package is compiled for OpenCL with mixed precision kernels. diff --git a/doc/src/Intro_authors.rst b/doc/src/Intro_authors.rst index 355dd02b9b..720221d4b7 100644 --- a/doc/src/Intro_authors.rst +++ b/doc/src/Intro_authors.rst @@ -30,18 +30,18 @@ they have written are unique for an MD code and LAMMPS would not be as general-purpose as it is without their expertise and efforts. * Metin Aktulga (MSU), REAXFF package for C version of ReaxFF -* Mike Brown (Intel), GPU and USER-INTEL packages +* Mike Brown (Intel), GPU and INTEL packages * Colin Denniston (U Western Ontario), LATBOLTZ package -* Georg Ganzenmuller (EMI), MACHDYN and USER-SPH packages -* Andres Jaramillo-Botero (Caltech), USER-EFF package for electron force field -* Reese Jones (Sandia) and colleagues, USER-ATC package for atom/continuum coupling +* Georg Ganzenmuller (EMI), MACHDYN and SPH packages +* Andres Jaramillo-Botero (Caltech), EFF package for electron force field +* Reese Jones (Sandia) and colleagues, ATC package for atom/continuum coupling * Christoph Kloss (DCS Computing), LIGGGHTS code for granular materials, built on top of LAMMPS * Rudra Mukherjee (JPL), POEMS package for articulated rigid body motion * Trung Ngyuen (Northwestern U), GPU and RIGID and BODY packages * Mike Parks (Sandia), PERI package for Peridynamics * Roy Pollock (LLNL), Ewald and PPPM solvers -* Christian Trott (Sandia), USER-CUDA and KOKKOS packages -* Ilya Valuev (JIHT), USER-AWPMD package for wave packet MD +* Christian Trott (Sandia), CUDA and KOKKOS packages +* Ilya Valuev (JIHT), AWPMD package for wave packet MD * Greg Wagner (Northwestern U), MEAM package for MEAM potential ---------- diff --git a/doc/src/Library.rst b/doc/src/Library.rst index 0eddc5afb3..05b652f7a7 100644 --- a/doc/src/Library.rst +++ b/doc/src/Library.rst @@ -31,7 +31,7 @@ that are not possible with existing input script commands. applies to the core LAMMPS code and less so on add-on packages, especially when those packages require additional code in the *lib* folder, interface LAMMPS to Fortran libraries, or the code uses - static variables (like the USER-COLVARS package). + static variables (like the COLVARS package). Another major issue to deal with is to correctly handle MPI. Creating a LAMMPS instance requires passing an MPI communicator, or diff --git a/doc/src/Modify_compute.rst b/doc/src/Modify_compute.rst index e910d6f8e2..bf580a6561 100644 --- a/doc/src/Modify_compute.rst +++ b/doc/src/Modify_compute.rst @@ -53,5 +53,5 @@ in two stages: the callback function is registered with the pair style and then called from the Pair::ev_tally() function, which is called for each pair after force and energy has been computed for this pair. Then the tallied values are retrieved with the standard compute_scalar or -compute_vector or compute_peratom methods. The :doc:`compute styles in the USER-TALLY package ` +compute_vector or compute_peratom methods. The :doc:`compute styles in the TALLY package ` provide *examples* for utilizing this mechanism. diff --git a/doc/src/Modify_contribute.rst b/doc/src/Modify_contribute.rst index 38c5df5246..b347b95201 100644 --- a/doc/src/Modify_contribute.rst +++ b/doc/src/Modify_contribute.rst @@ -169,7 +169,7 @@ packages in the src directory for examples. If you are uncertain, please ask. * If you want your contribution to be added as a user-contribution and it is several related features, it is probably best to make it a user - package directory with a name like USER-FOO. In addition to your new + package directory with a name like FOO. In addition to your new files, the directory should contain a README text file. The README should contain your name and contact information and a brief description of what your new package does. If your files depend on @@ -177,7 +177,7 @@ packages in the src directory for examples. If you are uncertain, please ask. is a derived class from the other LAMMPS class), then an Install.sh file is also needed to check for those dependencies. See other README and Install.sh files in other USER directories as examples. Send us a - tarball of this USER-FOO directory. + tarball of this FOO directory. * Your new source files need to have the LAMMPS copyright, GPL notice, and your name and email address at the top, like other @@ -212,7 +212,7 @@ packages in the src directory for examples. If you are uncertain, please ask. cite itself. Citation labels must be unique across all .rst files. The "Restrictions" section of the doc page should indicate if your command is only available if LAMMPS is built with the appropriate - USER-MISC or USER-FOO package. See other user package doc files for + USER-MISC or FOO package. See other user package doc files for examples of how to do this. Please run at least "make html" and "make spelling" and carefully inspect and proofread the resulting HTML format doc page before submitting your code. Upon submission of a @@ -234,7 +234,7 @@ packages in the src directory for examples. If you are uncertain, please ask. * If there is a paper of yours describing your feature (either the algorithm/science behind the feature itself, or its initial usage, or its implementation in LAMMPS), you can add the citation to the \*.cpp - source file. See src/USER-EFF/atom_vec_electron.cpp for an example. + source file. See src/EFF/atom_vec_electron.cpp for an example. A LaTeX citation is stored in a variable at the top of the file and a single line of code registering this variable is added to the constructor of the class. If there is additional functionality (which diff --git a/doc/src/Packages_details.rst b/doc/src/Packages_details.rst index fae4ede453..ea4a6a172b 100644 --- a/doc/src/Packages_details.rst +++ b/doc/src/Packages_details.rst @@ -65,54 +65,54 @@ page gives those details. .. table_from_list:: :columns: 6 - * :ref:`USER-ADIOS ` - * :ref:`USER-ATC ` - * :ref:`USER-AWPMD ` - * :ref:`USER-BOCS ` - * :ref:`USER-BROWNIAN ` + * :ref:`ADIOS ` + * :ref:`ATC ` + * :ref:`AWPMD ` + * :ref:`BOCS ` + * :ref:`BROWNIAN ` * :ref:`CG-DNA ` * :ref:`CG-SDK ` - * :ref:`USER-COLVARS ` - * :ref:`USER-DIELECTRIC ` - * :ref:`USER-DIFFRACTION ` + * :ref:`COLVARS ` + * :ref:`DIELECTRIC ` + * :ref:`DIFFRACTION ` * :ref:`DPD-REACT ` - * :ref:`USER-DRUDE ` - * :ref:`USER-EFF ` - * :ref:`USER-FEP ` - * :ref:`USER-H5MD ` + * :ref:`DRUDE ` + * :ref:`EFF ` + * :ref:`FEP ` + * :ref:`H5MD ` * :ref:`ML-HDNNP ` - * :ref:`USER-INTEL ` + * :ref:`INTEL ` * :ref:`LATBOLTZ ` - * :ref:`USER-MANIFOLD ` - * :ref:`USER-MDI ` + * :ref:`MANIFOLD ` + * :ref:`MDI ` * :ref:`MEAM ` * :ref:`DPD-MESO ` - * :ref:`USER-MESONT ` - * :ref:`USER-MGPT ` + * :ref:`MESONT ` + * :ref:`MGPT ` * :ref:`USER-MISC ` - * :ref:`USER-MOFFF ` - * :ref:`USER-MOLFILE ` - * :ref:`USER-NETCDF ` + * :ref:`MOFFF ` + * :ref:`MOLFILE ` + * :ref:`NETCDF ` * :ref:`OPENMP ` * :ref:`ML-PACE ` - * :ref:`USER-PHONON ` - * :ref:`USER-PLUMED ` - * :ref:`USER-PTM ` - * :ref:`USER-QMMM ` - * :ref:`USER-QTB ` + * :ref:`PHONON ` + * :ref:`PLUMED ` + * :ref:`PTM ` + * :ref:`QMMM ` + * :ref:`QTB ` * :ref:`ML-QUIP ` * :ref:`ML-RANN ` - * :ref:`USER-REACTION ` + * :ref:`REACTION ` * :ref:`REAXFF ` - * :ref:`USER-SCAFACOS ` + * :ref:`SCAFACOS ` * :ref:`DPD-SMOOTH ` * :ref:`MACHDYN ` - * :ref:`USER-SMTBQ ` - * :ref:`USER-SPH ` - * :ref:`USER-TALLY ` - * :ref:`USER-UEF ` - * :ref:`USER-VTK ` - * :ref:`USER-YAFF ` + * :ref:`SMTBQ ` + * :ref:`SPH ` + * :ref:`TALLY ` + * :ref:`UEF ` + * :ref:`VTK ` + * :ref:`YAFF ` ---------- @@ -447,7 +447,7 @@ style name. The :doc:`KOKKOS package ` page gives details of what hardware and software is required on your system, and how to build and use this package. Its styles can be invoked at run time via the "-sf kk" or "-suffix kk" :doc:`command-line switches `. Also see the :ref:`GPU `, :ref:`OPT `, -:ref:`USER-INTEL `, and :ref:`OPENMP ` packages, which +:ref:`INTEL `, and :ref:`OPENMP ` packages, which have styles optimized for CPUs, KNLs, and GPUs. You must have a C++14 compatible compiler to use this package. @@ -802,7 +802,7 @@ CHARMM, and Morse potentials. The styles have an "opt" suffix in their style name. The :doc:`OPT package ` page gives details of how to build and use this package. Its styles can be invoked at run time via the "-sf opt" or "-suffix opt" :doc:`command-line switches `. See also the :ref:`KOKKOS `, -:ref:`USER-INTEL `, and :ref:`OPENMP ` packages, which +:ref:`INTEL `, and :ref:`OPENMP ` packages, which have styles optimized for CPU performance. **Authors:** James Fischer (High Performance Technologies), David Richie, @@ -1154,9 +1154,9 @@ This package has :ref:`specific installation instructions ` on the :doc ---------- -.. _PKG-USER-ADIOS: +.. _PKG-ADIOS: -USER-ADIOS package +ADIOS package ------------------ **Contents:** @@ -1170,12 +1170,12 @@ commands to write and read data using the ADIOS library. **Install:** -This package has :ref:`specific installation instructions ` on the :doc:`Build extras ` page. +This package has :ref:`specific installation instructions ` on the :doc:`Build extras ` page. **Supporting info:** -* src/USER-ADIOS: filenames -> commands -* src/USER-ADIOS/README +* src/ADIOS: filenames -> commands +* src/ADIOS/README * examples/PACKAGES/adios * https://github.com/ornladios/ADIOS2 * :doc:`dump atom/adios ` @@ -1184,9 +1184,9 @@ This package has :ref:`specific installation instructions ` on the : ---------- -.. _PKG-USER-ATC: +.. _PKG-ATC: -USER-ATC package +ATC package ---------------- **Contents:** @@ -1199,21 +1199,21 @@ atomic information to continuum fields. **Install:** -This package has :ref:`specific installation instructions ` on the :doc:`Build extras ` page. +This package has :ref:`specific installation instructions ` on the :doc:`Build extras ` page. **Supporting info:** -* src/USER-ATC: filenames -> commands -* src/USER-ATC/README +* src/ATC: filenames -> commands +* src/ATC/README * :doc:`fix atc ` * examples/PACKAGES/atc * https://www.lammps.org/pictures.html#atc ---------- -.. _PKG-USER-AWPMD: +.. _PKG-AWPMD: -USER-AWPMD package +AWPMD package ------------------ **Contents:** @@ -1227,20 +1227,20 @@ model. **Install:** -This package has :ref:`specific installation instructions ` on the :doc:`Build extras ` page. +This package has :ref:`specific installation instructions ` on the :doc:`Build extras ` page. **Supporting info:** -* src/USER-AWPMD: filenames -> commands -* src/USER-AWPMD/README +* src/AWPMD: filenames -> commands +* src/AWPMD/README * :doc:`pair_style awpmd/cut ` * examples/PACKAGES/awpmd ---------- -.. _PKG-USER-BOCS: +.. _PKG-BOCS: -USER-BOCS package +BOCS package ----------------- **Contents:** @@ -1258,7 +1258,7 @@ Pennsylvania State University) **Supporting info:** -The USER-BOCS user package for LAMMPS is part of the BOCS software package: +The BOCS user package for LAMMPS is part of the BOCS software package: `https://github.com/noid-group/BOCS `_ See the following reference for information about the entire package: @@ -1271,9 +1271,9 @@ Example inputs are in the examples/PACKAGES/bocs folder. ---------- -.. _PKG-USER-BROWNIAN: +.. _PKG-BROWNIAN: -USER-BROWNIAN package +BROWNIAN package --------------------- **Contents:** @@ -1344,9 +1344,9 @@ acids. ---------- -.. _PKG-USER-COLVARS: +.. _PKG-COLVARS: -USER-COLVARS package +COLVARS package -------------------- **Contents:** @@ -1366,22 +1366,22 @@ the NAMD MD code, but with portability in mind. Axel Kohlmeyer **Install:** -This package has :ref:`specific installation instructions ` on the :doc:`Build extras ` page. +This package has :ref:`specific installation instructions ` on the :doc:`Build extras ` page. **Supporting info:** -* src/USER-COLVARS: filenames -> commands +* src/COLVARS: filenames -> commands * `doc/PDF/colvars-refman-lammps.pdf `_ -* src/USER-COLVARS/README +* src/COLVARS/README * lib/colvars/README * :doc:`fix colvars ` * examples/PACKAGES/colvars ---------- -.. _PKG-USER-DIELECTRIC: +.. _PKG-DIELECTRIC: -USER-DIELECTRIC package +DIELECTRIC package ------------------------ **Contents:** @@ -1395,16 +1395,16 @@ different dielectric constants. **Supporting info:** -* src/USER-DIELECTRIC: filenames -> commands +* src/DIELECTRIC: filenames -> commands * :doc:`compute efield/atom ` * TODO: add all styles * examples/PACKAGES/dielectric ---------- -.. _PKG-USER-DIFFRACTION: +.. _PKG-DIFFRACTION: -USER-DIFFRACTION package +DIFFRACTION package ------------------------ **Contents:** @@ -1416,7 +1416,7 @@ intensities based on kinematic diffraction theory. **Supporting info:** -* src/USER-DIFFRACTION: filenames -> commands +* src/DIFFRACTION: filenames -> commands * :doc:`compute saed ` * :doc:`compute xrd ` * :doc:`fix saed/vtk ` @@ -1465,9 +1465,9 @@ Brennan (ARL). ---------- -.. _PKG-USER-DRUDE: +.. _PKG-DRUDE: -USER-DRUDE package +DRUDE package ------------------ **Contents:** @@ -1482,11 +1482,11 @@ Devemy (CNRS), and Agilio Padua (ENS de Lyon). **Supporting info:** -* src/USER-DRUDE: filenames -> commands +* src/DRUDE: filenames -> commands * :doc:`Howto drude ` * :doc:`Howto drude2 ` * :doc:`Howto polarizable ` -* src/USER-DRUDE/README +* src/DRUDE/README * :doc:`fix drude ` * :doc:`fix drude/transform/\* ` * :doc:`compute temp/drude ` @@ -1497,9 +1497,9 @@ Devemy (CNRS), and Agilio Padua (ENS de Lyon). ---------- -.. _PKG-USER-EFF: +.. _PKG-EFF: -USER-EFF package +EFF package ---------------- **Contents:** @@ -1516,8 +1516,8 @@ tools/eff; see its README file. **Supporting info:** -* src/USER-EFF: filenames -> commands -* src/USER-EFF/README +* src/EFF: filenames -> commands +* src/EFF/README * :doc:`atom_style electron ` * :doc:`fix nve/eff ` * :doc:`fix nvt/eff ` @@ -1533,9 +1533,9 @@ tools/eff; see its README file. ---------- -.. _PKG-USER-FEP: +.. _PKG-FEP: -USER-FEP package +FEP package ---------------- **Contents:** @@ -1549,8 +1549,8 @@ for using this package in tools/fep; see its README file. **Supporting info:** -* src/USER-FEP: filenames -> commands -* src/USER-FEP/README +* src/FEP: filenames -> commands +* src/FEP/README * :doc:`fix adapt/fep ` * :doc:`compute fep ` * :doc:`pair_style \*/soft ` @@ -1560,9 +1560,9 @@ for using this package in tools/fep; see its README file. ---------- -.. _PKG-USER-H5MD: +.. _PKG-H5MD: -USER-H5MD package +H5MD package ----------------- **Contents:** @@ -1583,12 +1583,12 @@ H5MD format. **Install:** -This package has :ref:`specific installation instructions ` on the :doc:`Build extras ` page. +This package has :ref:`specific installation instructions ` on the :doc:`Build extras ` page. **Supporting info:** -* src/USER-H5MD: filenames -> commands -* src/USER-H5MD/README +* src/H5MD: filenames -> commands +* src/H5MD/README * lib/h5md/README * :doc:`dump h5md ` @@ -1628,9 +1628,9 @@ This package has :ref:`specific installation instructions ` on the ---------- -.. _PKG-USER-INTEL: +.. _PKG-INTEL: -USER-INTEL package +INTEL package ------------------ **Contents:** @@ -1638,7 +1638,7 @@ USER-INTEL package Dozens of pair, fix, bond, angle, dihedral, improper, and kspace styles which are optimized for Intel CPUs and KNLs (Knights Landing). All of them have an "intel" in their style name. The -:doc:`USER-INTEL package ` page gives details of what hardware and +:doc:`INTEL package ` page gives details of what hardware and compilers are required on your system, and how to build and use this package. Its styles can be invoked at run time via the "-sf intel" or "-suffix intel" :doc:`command-line switches `. Also see @@ -1651,27 +1651,27 @@ supported, performance will be sub-optimal. .. note:: - the USER-INTEL package contains styles that require using the + the INTEL package contains styles that require using the -restrict flag, when compiling with Intel compilers. **Author:** Mike Brown (Intel). **Install:** -This package has :ref:`specific installation instructions ` on the :doc:`Build extras ` page. +This package has :ref:`specific installation instructions ` on the :doc:`Build extras ` page. **Supporting info:** -* src/USER-INTEL: filenames -> commands -* src/USER-INTEL/README +* src/INTEL: filenames -> commands +* src/INTEL/README * :doc:`Accelerator packages ` -* :doc:`USER-INTEL package ` +* :doc:`INTEL package ` * :doc:`Section 2.6 -sf intel ` * :doc:`Section 2.6 -pk intel ` * :doc:`package intel ` * Search the :doc:`commands ` pages (:doc:`fix `, :doc:`compute `, :doc:`pair `, :doc:`bond, angle, dihedral, improper `, :doc:`kspace `) for styles followed by (i) -* src/USER-INTEL/TEST +* src/INTEL/TEST * `Benchmarks page `_ of web site ---------- @@ -1700,9 +1700,9 @@ Ontario). ---------- -.. _PKG-USER-MGPT: +.. _PKG-MGPT: -USER-MGPT package +MGPT package ----------------- **Contents:** @@ -1720,8 +1720,8 @@ matrix-MGPT algorithm due to Tomas Oppelstrup at LLNL. **Supporting info:** -* src/USER-MGPT: filenames -> commands -* src/USER-MGPT/README +* src/MGPT: filenames -> commands +* src/MGPT/README * :doc:`pair_style mgpt ` * examples/PACKAGES/mgpt @@ -1750,9 +1750,9 @@ src/USER-MISC/README file. ---------- -.. _PKG-USER-MANIFOLD: +.. _PKG-MANIFOLD: -USER-MANIFOLD package +MANIFOLD package --------------------- **Contents:** @@ -1770,8 +1770,8 @@ Waltham, MA, USA) **Supporting info:** -* src/USER-MANIFOLD: filenames -> commands -* src/USER-MANIFOLD/README +* src/MANIFOLD: filenames -> commands +* src/MANIFOLD/README * :doc:`Howto manifold ` * :doc:`fix manifoldforce ` * :doc:`fix nve/manifold/rattle ` @@ -1781,9 +1781,9 @@ Waltham, MA, USA) ---------- -.. _PKG-USER-MDI: +.. _PKG-MDI: -USER-MDI package +MDI package ---------------- **Contents:** @@ -1796,7 +1796,7 @@ other atomic or molecular simulation codes via the `MolSSI Driver Interface **Supporting info:** -* src/USER-MDI/README +* src/MDI/README * :doc:`mdi/engine ` * :doc:`fix mdi/engine ` * examples/PACKAGES/mdi @@ -1859,14 +1859,14 @@ algorithm. ---------- -.. _PKG-USER-MESONT: +.. _PKG-MESONT: -USER-MESONT package +MESONT package ------------------- **Contents:** -USER-MESONT is a LAMMPS package for simulation of nanomechanics of +MESONT is a LAMMPS package for simulation of nanomechanics of nanotubes (NTs). The model is based on a coarse-grained representation of NTs as "flexible cylinders" consisting of a variable number of segments. Internal interactions within a NT and the van der Waals @@ -1895,8 +1895,8 @@ Philipp Kloza (U Cambridge) **Supporting info:** -* src/USER-MESONT: filenames -> commands -* src/USER-MESONT/README +* src/MESONT: filenames -> commands +* src/MESONT/README * :doc:`atom_style mesont ` * :doc:`pair_style mesont/tpm ` * :doc:`compute mesont ` @@ -1906,9 +1906,9 @@ Philipp Kloza (U Cambridge) ---------- -.. _PKG-USER-MOFFF: +.. _PKG-MOFFF: -USER-MOFFF package +MOFFF package ------------------ **Contents:** @@ -1929,8 +1929,8 @@ Rochus Schmid (Ruhr-University Bochum). **Supporting info:** -* src/USER-MOFFF: filenames -> commands -* src/USER-MOFFF/README +* src/MOFFF: filenames -> commands +* src/MOFFF/README * :doc:`pair_style buck6d/coul/gauss ` * :doc:`angle_style class2 ` * :doc:`angle_style cosine/buck6d ` @@ -1939,9 +1939,9 @@ Rochus Schmid (Ruhr-University Bochum). ---------- -.. _PKG-USER-MOLFILE: +.. _PKG-MOLFILE: -USER-MOLFILE package +MOLFILE package -------------------- **Contents:** @@ -1970,20 +1970,20 @@ at **Install:** -This package has :ref:`specific installation instructions ` on the :doc:`Build extras ` page. +This package has :ref:`specific installation instructions ` on the :doc:`Build extras ` page. **Supporting info:** -* src/USER-MOLFILE: filenames -> commands -* src/USER-MOLFILE/README +* src/MOLFILE: filenames -> commands +* src/MOLFILE/README * lib/molfile/README * :doc:`dump molfile ` ---------- -.. _PKG-USER-NETCDF: +.. _PKG-NETCDF: -USER-NETCDF package +NETCDF package ------------------- **Contents:** @@ -2010,12 +2010,12 @@ tools: **Install:** -This package has :ref:`specific installation instructions ` on the :doc:`Build extras ` page. +This package has :ref:`specific installation instructions ` on the :doc:`Build extras ` page. **Supporting info:** -* src/USER-NETCDF: filenames -> commands -* src/USER-NETCDF/README +* src/NETCDF: filenames -> commands +* src/NETCDF/README * lib/netcdf/README * :doc:`dump netcdf ` @@ -2035,7 +2035,7 @@ The :doc:`OPENMP package ` page gives details of what hardware and compilers are required on your system, and how to build and use this package. Its styles can be invoked at run time via the "-sf omp" or "-suffix omp" :doc:`command-line switches `. Also see -the :ref:`KOKKOS `, :ref:`OPT `, and :ref:`USER-INTEL ` +the :ref:`KOKKOS `, :ref:`OPT `, and :ref:`INTEL ` packages, which have styles optimized for CPUs. **Author:** Axel Kohlmeyer (Temple U). @@ -2117,9 +2117,9 @@ This package has :ref:`specific installation instructions ` on the ---------- -.. _PKG-USER-PHONON: +.. _PKG-PHONON: -USER-PHONON package +PHONON package ------------------- **Contents:** @@ -2136,8 +2136,8 @@ and Charlie Sievers (UC Davis) for "dynamical_matrix" and "third_order" **Supporting info:** -* src/USER-PHONON: filenames -> commands -* src/USER-PHONON/README +* src/PHONON: filenames -> commands +* src/PHONON/README * :doc:`fix phonon ` * :doc:`dynamical_matrix ` * :doc:`third_order ` @@ -2145,9 +2145,9 @@ and Charlie Sievers (UC Davis) for "dynamical_matrix" and "third_order" ---------- -.. _PKG-USER-PLUMED: +.. _PKG-PLUMED: -USER-PLUMED package +PLUMED package ------------------- **Contents:** @@ -2163,20 +2163,20 @@ and Gareth Tribello. **Install:** -This package has :ref:`specific installation instructions ` on the :doc:`Build extras ` page. +This package has :ref:`specific installation instructions ` on the :doc:`Build extras ` page. **Supporting info:** -* src/USER-PLUMED/README +* src/PLUMED/README * lib/plumed/README * :doc:`fix plumed ` * examples/PACKAGES/plumed ---------- -.. _PKG-USER-PTM: +.. _PKG-PTM: -USER-PTM package +PTM package ---------------- **Contents:** @@ -2189,16 +2189,16 @@ Matching methodology. **Supporting info:** -* src/USER-PTM: filenames not starting with ptm\_ -> commands -* src/USER-PTM: filenames starting with ptm\_ -> supporting code -* src/USER-PTM/LICENSE +* src/PTM: filenames not starting with ptm\_ -> commands +* src/PTM: filenames starting with ptm\_ -> supporting code +* src/PTM/LICENSE * :doc:`compute ptm/atom ` ---------- -.. _PKG-USER-QMMM: +.. _PKG-QMMM: -USER-QMMM package +QMMM package ----------------- **Contents:** @@ -2227,13 +2227,13 @@ changes to LAMMPS itself. **Install:** -This package has :ref:`specific installation instructions ` +This package has :ref:`specific installation instructions ` on the :doc:`Build extras ` page. **Supporting info:** -* src/USER-QMMM: filenames -> commands -* src/USER-QMMM/README +* src/QMMM: filenames -> commands +* src/QMMM/README * lib/qmmm/README * :doc:`fix phonon ` * lib/qmmm/example-ec/README @@ -2241,9 +2241,9 @@ on the :doc:`Build extras ` page. ---------- -.. _PKG-USER-QTB: +.. _PKG-QTB: -USER-QTB package +QTB package ---------------- **Contents:** @@ -2261,8 +2261,8 @@ simulation. **Supporting info:** -* src/USER-QTB: filenames -> commands -* src/USER-QTB/README +* src/QTB: filenames -> commands +* src/QTB/README * :doc:`fix qtb ` * :doc:`fix qbmsst ` * examples/PACKAGES/qtb @@ -2327,9 +2327,9 @@ with contributions by Doyl Dickel, Mississippi State University. ---------- -.. _PKG-USER-REACTION: +.. _PKG-REACTION: -USER-REACTION package +REACTION package --------------------- **Contents:** @@ -2348,8 +2348,8 @@ molecules, and chiral-sensitive reactions. **Supporting info:** -* src/USER-REACTION: filenames -> commands -* src/USER-REACTION/README +* src/REACTION: filenames -> commands +* src/REACTION/README * :doc:`fix bond/react ` * examples/PACKAGES/reaction * `2017 LAMMPS Workshop `_ @@ -2383,9 +2383,9 @@ for monitoring molecules as bonds are created and destroyed. ---------- -.. _PKG-USER-SCAFACOS: +.. _PKG-SCAFACOS: -USER-SCAFACOS package +SCAFACOS package --------------------- **Contents:** @@ -2406,12 +2406,12 @@ the Forschungszentrum Juelich. **Install:** -This package has :ref:`specific installation instructions ` on the :doc:`Build extras ` page. +This package has :ref:`specific installation instructions ` on the :doc:`Build extras ` page. **Supporting info:** -* src/USER-SCAFACOS: filenames -> commands -* src/USER-SCAFACOS/README +* src/SCAFACOS: filenames -> commands +* src/SCAFACOS/README * :doc:`kspace_style scafacos ` * :doc:`kspace_modify ` * examples/PACKAGES/scafacos @@ -2428,7 +2428,7 @@ DPD-SMOOTH package A pair style for smoothed dissipative particle dynamics (SDPD), which is an extension of smoothed particle hydrodynamics (SPH) to mesoscale where thermal fluctuations are important (see the -:ref:`USER-SPH package `). +:ref:`SPH package `). Also two fixes for moving and rigid body integration of SPH/SDPD particles (particles of atom_style meso). @@ -2456,7 +2456,7 @@ MACHDYN package An atom style, fixes, computes, and several pair styles which implements smoothed Mach dynamics (SMD) for solids, which is a model related to smoothed particle hydrodynamics (SPH) for liquids (see the -:ref:`USER-SPH package `). +:ref:`SPH package `). This package solves solids mechanics problems via a state of the art stabilized meshless method with hourglass control. It can specify @@ -2484,9 +2484,9 @@ This package has :ref:`specific installation instructions ` on the :doc ---------- -.. _PKG-USER-SMTBQ: +.. _PKG-SMTBQ: -USER-SMTBQ package +SMTBQ package ------------------ **Contents:** @@ -2500,16 +2500,16 @@ Tetot (LAAS-CNRS, France). **Supporting info:** -* src/USER-SMTBQ: filenames -> commands -* src/USER-SMTBQ/README +* src/SMTBQ: filenames -> commands +* src/SMTBQ/README * :doc:`pair_style smtbq ` * examples/PACKAGES/smtbq ---------- -.. _PKG-USER-SPH: +.. _PKG-SPH: -USER-SPH package +SPH package ---------------- **Contents:** @@ -2533,17 +2533,17 @@ Dynamics, Ernst Mach Institute, Germany). **Supporting info:** -* src/USER-SPH: filenames -> commands -* src/USER-SPH/README +* src/SPH: filenames -> commands +* src/SPH/README * doc/PDF/SPH_LAMMPS_userguide.pdf * examples/PACKAGES/sph * https://www.lammps.org/movies.html#sph ---------- -.. _PKG-USER-TALLY: +.. _PKG-TALLY: -USER-TALLY package +TALLY package ------------------ **Contents:** @@ -2556,16 +2556,16 @@ stress, etc) about individual interactions. **Supporting info:** -* src/USER-TALLY: filenames -> commands -* src/USER-TALLY/README +* src/TALLY: filenames -> commands +* src/TALLY/README * :doc:`compute \*/tally ` * examples/PACKAGES/tally ---------- -.. _PKG-USER-UEF: +.. _PKG-UEF: -USER-UEF package +UEF package ---------------- **Contents:** @@ -2578,8 +2578,8 @@ supporting compute styles and an output option. **Supporting info:** -* src/USER-UEF: filenames -> commands -* src/USER-UEF/README +* src/UEF: filenames -> commands +* src/UEF/README * :doc:`fix nvt/uef ` * :doc:`fix npt/uef ` * :doc:`compute pressure/uef ` @@ -2589,9 +2589,9 @@ supporting compute styles and an output option. ---------- -.. _PKG-USER-VTK: +.. _PKG-VTK: -USER-VTK package +VTK package ---------------- **Contents:** @@ -2611,20 +2611,20 @@ system. **Install:** -This package has :ref:`specific installation instructions ` on the :doc:`Build extras ` page. +This package has :ref:`specific installation instructions ` on the :doc:`Build extras ` page. **Supporting info:** -* src/USER-VTK: filenames -> commands -* src/USER-VTK/README +* src/VTK: filenames -> commands +* src/VTK/README * lib/vtk/README * :doc:`dump vtk ` ---------- -.. _PKG-USER-YAFF: +.. _PKG-YAFF: -USER-YAFF package +YAFF package ----------------- **Contents:** @@ -2646,7 +2646,7 @@ which discuss the `QuickFF `_ methodology. **Supporting info:** -* src/USER-YAFF/README +* src/YAFF/README * :doc:`angle_style cross ` * :doc:`angle_style mm3 ` * :doc:`bond_style mm3 ` diff --git a/doc/src/Packages_user.rst b/doc/src/Packages_user.rst index 2a9104ca04..41eac29290 100644 --- a/doc/src/Packages_user.rst +++ b/doc/src/Packages_user.rst @@ -31,101 +31,101 @@ package: +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ | Package | Description | Doc page | Example | Library | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`USER-ADIOS ` | dump output via ADIOS | :doc:`dump adios ` | USER/adios | ext | +| :ref:`ADIOS ` | dump output via ADIOS | :doc:`dump adios ` | USER/adios | ext | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`USER-ATC ` | Atom-to-Continuum coupling | :doc:`fix atc ` | USER/atc | int | +| :ref:`ATC ` | Atom-to-Continuum coupling | :doc:`fix atc ` | USER/atc | int | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`USER-AWPMD ` | wave packet MD | :doc:`pair_style awpmd/cut ` | USER/awpmd | int | +| :ref:`AWPMD ` | wave packet MD | :doc:`pair_style awpmd/cut ` | USER/awpmd | int | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`USER-BOCS ` | BOCS bottom up coarse graining | :doc:`fix bocs ` | USER/bocs | no | +| :ref:`BOCS ` | BOCS bottom up coarse graining | :doc:`fix bocs ` | USER/bocs | no | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`USER-BROWNIAN ` | Brownian dynamics and self-propelled particles | :doc:`fix brownian `, :doc:`fix propel/self ` | USER/brownian | no | +| :ref:`BROWNIAN ` | Brownian dynamics and self-propelled particles | :doc:`fix brownian `, :doc:`fix propel/self ` | USER/brownian | no | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ | :ref:`CG-DNA ` | coarse-grained DNA force fields | src/CG-DNA/README | USER/cgdna | no | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ | :ref:`CG-SDK ` | SDK coarse-graining model | :doc:`pair_style lj/sdk ` | USER/cgsdk | no | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`USER-COLVARS ` | collective variables library | :doc:`fix colvars ` | USER/colvars | int | +| :ref:`COLVARS ` | collective variables library | :doc:`fix colvars ` | USER/colvars | int | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`USER-DIELECTRIC ` | dielectric boundary solvers and force styles | :doc:`compute efield/atom ` | USER/dielectric | no | +| :ref:`DIELECTRIC ` | dielectric boundary solvers and force styles | :doc:`compute efield/atom ` | USER/dielectric | no | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`USER-DIFFRACTION ` | virtual x-ray and electron diffraction | :doc:`compute xrd ` | USER/diffraction | no | +| :ref:`DIFFRACTION ` | virtual x-ray and electron diffraction | :doc:`compute xrd ` | USER/diffraction | no | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ | :ref:`DPD-REACT ` | reactive dissipative particle dynamics | src/DPD-REACT/README | USER/dpd | no | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`USER-DRUDE ` | Drude oscillators | :doc:`Howto drude ` | USER/drude | no | +| :ref:`DRUDE ` | Drude oscillators | :doc:`Howto drude ` | USER/drude | no | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`USER-EFF ` | electron force field | :doc:`pair_style eff/cut ` | USER/eff | no | +| :ref:`EFF ` | electron force field | :doc:`pair_style eff/cut ` | USER/eff | no | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`USER-FEP ` | free energy perturbation | :doc:`compute fep ` | USER/fep | no | +| :ref:`FEP ` | free energy perturbation | :doc:`compute fep ` | USER/fep | no | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`USER-H5MD ` | dump output via HDF5 | :doc:`dump h5md ` | n/a | ext | +| :ref:`H5MD ` | dump output via HDF5 | :doc:`dump h5md ` | n/a | ext | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ | :ref:`ML-HDNNP ` | High-dimensional neural network potentials | :doc:`pair_style hdnnp ` | USER/hdnnp | ext | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`USER-INTEL ` | optimized Intel CPU and KNL styles | :doc:`Speed intel ` | `Benchmarks `_ | no | +| :ref:`INTEL ` | optimized Intel CPU and KNL styles | :doc:`Speed intel ` | `Benchmarks `_ | no | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ | :ref:`LATBOLTZ ` | Lattice Boltzmann fluid | :doc:`fix lb/fluid ` | USER/lb | no | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`USER-MANIFOLD ` | motion on 2d surfaces | :doc:`fix manifoldforce ` | USER/manifold | no | +| :ref:`MANIFOLD ` | motion on 2d surfaces | :doc:`fix manifoldforce ` | USER/manifold | no | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`USER-MDI ` | client-server coupling | :doc:`MDI Howto ` | USER/mdi | ext | +| :ref:`MDI ` | client-server coupling | :doc:`MDI Howto ` | USER/mdi | ext | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ | :ref:`MEAM ` | modified EAM potential (C++) | :doc:`pair_style meam ` | meam | no | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ | :ref:`DPD-MESO ` | mesoscale DPD models | :doc:`pair_style edpd ` | USER/mesodpd | no | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`USER-MESONT ` | mesoscopic tubular potential model for nanotubes | pair style :doc:`mesont/tpm `, :doc:`mesocnt ` | USER/mesont | int | +| :ref:`MESONT ` | mesoscopic tubular potential model for nanotubes | pair style :doc:`mesont/tpm `, :doc:`mesocnt ` | USER/mesont | int | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`USER-MGPT ` | fast MGPT multi-ion potentials | :doc:`pair_style mgpt ` | USER/mgpt | no | +| :ref:`MGPT ` | fast MGPT multi-ion potentials | :doc:`pair_style mgpt ` | USER/mgpt | no | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ | :ref:`USER-MISC ` | single-file contributions | USER-MISC/README | USER/misc | no | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`USER-MOFFF ` | styles for `MOF-FF `_ force field | :doc:`pair_style buck6d/coul/gauss ` | USER/mofff | no | +| :ref:`MOFFF ` | styles for `MOF-FF `_ force field | :doc:`pair_style buck6d/coul/gauss ` | USER/mofff | no | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`USER-MOLFILE ` | `VMD `_ molfile plug-ins | :doc:`dump molfile ` | n/a | ext | +| :ref:`MOLFILE ` | `VMD `_ molfile plug-ins | :doc:`dump molfile ` | n/a | ext | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`USER-NETCDF ` | dump output via NetCDF | :doc:`dump netcdf ` | n/a | ext | +| :ref:`NETCDF ` | dump output via NetCDF | :doc:`dump netcdf ` | n/a | ext | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ | :ref:`OPENMP ` | OpenMP-enabled styles | :doc:`Speed omp ` | `Benchmarks `_ | no | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ | :ref:`ML-PACE ` | Fast implementation of Atomic Cluster Expansion (ACE) potential | :doc:`pair pace ` | USER/pace | ext | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`USER-PHONON ` | phonon dynamical matrix | :doc:`fix phonon ` | USER/phonon | no | +| :ref:`PHONON ` | phonon dynamical matrix | :doc:`fix phonon ` | USER/phonon | no | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`USER-PLUMED ` | :ref:`PLUMED ` free energy library | :doc:`fix plumed ` | USER/plumed | ext | +| :ref:`PLUMED ` | :ref:`PLUMED ` free energy library | :doc:`fix plumed ` | USER/plumed | ext | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`USER-PTM ` | Polyhedral Template Matching | :doc:`compute ptm/atom ` | n/a | no | +| :ref:`PTM ` | Polyhedral Template Matching | :doc:`compute ptm/atom ` | n/a | no | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`USER-QMMM ` | QM/MM coupling | :doc:`fix qmmm ` | USER/qmmm | ext | +| :ref:`QMMM ` | QM/MM coupling | :doc:`fix qmmm ` | USER/qmmm | ext | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`USER-QTB ` | quantum nuclear effects | :doc:`fix qtb ` :doc:`fix qbmsst ` | qtb | no | +| :ref:`QTB ` | quantum nuclear effects | :doc:`fix qtb ` :doc:`fix qbmsst ` | qtb | no | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ | :ref:`ML-QUIP ` | QUIP/libatoms interface | :doc:`pair_style quip ` | USER/quip | ext | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ | :ref:`ML-RANN ` | rapid atomistic neural network (RANN) potentials | :doc:`pair rann ` | USER/rann | no | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`USER-REACTION ` | chemical reactions in classical MD | :doc:`fix bond/react ` | USER/reaction | no | +| :ref:`REACTION ` | chemical reactions in classical MD | :doc:`fix bond/react ` | USER/reaction | no | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ | :ref:`REAXFF ` | ReaxFF potential (C/C++) | :doc:`pair_style reaxc ` | reax | no | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`USER-SCAFACOS ` | wrapper on ScaFaCoS solver | :doc:`kspace_style scafacos ` | USER/scafacos | ext | +| :ref:`SCAFACOS ` | wrapper on ScaFaCoS solver | :doc:`kspace_style scafacos ` | USER/scafacos | ext | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ | :ref:`DPD-SMOOTH ` | smoothed dissipative particle dynamics | :doc:`pair_style sdpd/taitwater/isothermal ` | USER/sdpd | no | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ | :ref:`MACHDYN ` | smoothed Mach dynamics | `SMD User Guide `_ | USER/smd | ext | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`USER-SMTBQ ` | second moment tight binding QEq potential | :doc:`pair_style smtbq ` | USER/smtbq | no | +| :ref:`SMTBQ ` | second moment tight binding QEq potential | :doc:`pair_style smtbq ` | USER/smtbq | no | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`USER-SPH ` | smoothed particle hydrodynamics | `SPH User Guide `_ | USER/sph | no | +| :ref:`SPH ` | smoothed particle hydrodynamics | `SPH User Guide `_ | USER/sph | no | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`USER-TALLY ` | pairwise tally computes | :doc:`compute XXX/tally ` | USER/tally | no | +| :ref:`TALLY ` | pairwise tally computes | :doc:`compute XXX/tally ` | USER/tally | no | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`USER-UEF ` | extensional flow | :doc:`fix nvt/uef ` | USER/uef | no | +| :ref:`UEF ` | extensional flow | :doc:`fix nvt/uef ` | USER/uef | no | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`USER-VTK ` | dump output via VTK | :doc:`compute vtk ` | n/a | ext | +| :ref:`VTK ` | dump output via VTK | :doc:`compute vtk ` | n/a | ext | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`USER-YAFF ` | additional styles implemented in YAFF | :doc:`angle_style cross ` | USER/yaff | no | +| :ref:`YAFF ` | additional styles implemented in YAFF | :doc:`angle_style cross ` | USER/yaff | no | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ .. _MOFplus: https://www.mofplus.org/content/show/MOF-FF diff --git a/doc/src/Run_options.rst b/doc/src/Run_options.rst index 8e639a42ac..bfe769a8eb 100644 --- a/doc/src/Run_options.rst +++ b/doc/src/Run_options.rst @@ -202,7 +202,7 @@ Option -plog will override the name of the partition log files file.N. **-mdi 'multiple flags'** This flag is only recognized and used when LAMMPS has support for the MolSSI -Driver Interface (MDI) included as part of the :ref:`USER-MDI ` +Driver Interface (MDI) included as part of the :ref:`MDI ` package. This flag is specific to the MDI library and controls how LAMMPS interacts with MDI. There are usually multiple flags that have to follow it and those have to be placed in quotation marks. For more information about @@ -274,7 +274,7 @@ script. For example "-package gpu 2" or "-pk gpu 2" is the same as :doc:`package gpu 2 ` in the input script. The possible styles and args are documented on the :doc:`package ` doc page. This switch can be used multiple times, e.g. to set options for the -USER-INTEL and OPENMP packages which can be used together. +INTEL and OPENMP packages which can be used together. Along with the "-suffix" command-line switch, this is a convenient mechanism for invoking accelerator packages and their options without @@ -540,7 +540,7 @@ Use variants of various styles if they exist. The specified style can be *gpu*\ , *intel*\ , *kk*\ , *omp*\ , *opt*\ , or *hybrid*\ . These refer to optional packages that LAMMPS can be built with, as described in :doc:`Accelerate performance `. The "gpu" style corresponds to the -GPU package, the "intel" style to the USER-INTEL package, the "kk" +GPU package, the "intel" style to the INTEL package, the "kk" style to the KOKKOS package, the "opt" style to the OPT package, and the "omp" style to the OPENMP package. The hybrid style is the only style that accepts arguments. It allows for two packages to be @@ -548,7 +548,7 @@ specified. The first package specified is the default and will be used if it is available. If no style is available for the first package, the style for the second package will be used if available. For example, "-suffix hybrid intel omp" will use styles from the -USER-INTEL package if they are installed and available, but styles for +INTEL package if they are installed and available, but styles for the OPENMP package otherwise. Along with the "-package" command-line switch, this is a convenient @@ -570,14 +570,14 @@ default GPU settings, as if the command "package gpu 1" were used at the top of your input script. These settings can be changed by using the "-package gpu" command-line switch or the :doc:`package gpu ` command in your script. -For the USER-INTEL package, using this command-line switch also -invokes the default USER-INTEL settings, as if the command "package +For the INTEL package, using this command-line switch also +invokes the default INTEL settings, as if the command "package intel 1" were used at the top of your input script. These settings can be changed by using the "-package intel" command-line switch or the :doc:`package intel ` command in your script. If the OPENMP package is also installed, the hybrid style with "intel omp" arguments can be used to make the omp suffix a second choice, if a -requested style is not available in the USER-INTEL package. It will +requested style is not available in the INTEL package. It will also invoke the default OPENMP settings, as if the command "package omp 0" were used at the top of your input script. These settings can be changed by using the "-package omp" command-line switch or the diff --git a/doc/src/Speed_compare.rst b/doc/src/Speed_compare.rst index 3ae461a82c..7821214c83 100644 --- a/doc/src/Speed_compare.rst +++ b/doc/src/Speed_compare.rst @@ -72,7 +72,7 @@ section below for examples where this has been done. small number of threads with increasing overhead as the number of threads per MPI rank grows. The KOKKOS/OpenMP kernels have less overhead in that case, but have lower performance with few threads. -* The USER-INTEL package contains many options and settings for achieving +* The INTEL package contains many options and settings for achieving additional performance on Intel hardware (CPU and accelerator cards), but to unlock this potential, an Intel compiler is required. The package code will compile with GNU gcc, but it will not be as efficient. @@ -90,5 +90,5 @@ section below for examples where this has been done. both, NVIDIA and AMD GPUs well. On NVIDIA hardware, using CUDA is typically resulting in equal or better performance over OpenCL. * OpenCL in the GPU package does theoretically also support Intel CPUs or - Intel Xeon Phi, but the native support for those in KOKKOS (or USER-INTEL) + Intel Xeon Phi, but the native support for those in KOKKOS (or INTEL) is superior. diff --git a/doc/src/Speed_gpu.rst b/doc/src/Speed_gpu.rst index d480a6c766..3b6bb8845b 100644 --- a/doc/src/Speed_gpu.rst +++ b/doc/src/Speed_gpu.rst @@ -150,7 +150,7 @@ hardware, which pair style is used, the number of atoms/GPU, and the precision used on the GPU (double, single, mixed). Using the GPU package in OpenCL mode on CPUs (which uses vectorization and multithreading) is usually resulting in inferior performance compared to using LAMMPS' native -threading and vectorization support in the OPENMP and USER-INTEL packages. +threading and vectorization support in the OPENMP and INTEL packages. See the `Benchmark page `_ of the LAMMPS web site for performance of the GPU package on various diff --git a/doc/src/Speed_intel.rst b/doc/src/Speed_intel.rst index 01a3537a0b..20371b4256 100644 --- a/doc/src/Speed_intel.rst +++ b/doc/src/Speed_intel.rst @@ -1,7 +1,7 @@ -USER-INTEL package +INTEL package ================== -The USER-INTEL package is maintained by Mike Brown at Intel +The INTEL package is maintained by Mike Brown at Intel Corporation. It provides two methods for accelerating simulations, depending on the hardware you have. The first is acceleration on Intel CPUs by running in single, mixed, or double precision with @@ -12,7 +12,7 @@ When offloading to a co-processor from a CPU, the same routine is run twice, once on the CPU and once with an offload flag. This allows LAMMPS to run on the CPU cores and co-processor cores simultaneously. -Currently Available USER-INTEL Styles +Currently Available INTEL Styles """"""""""""""""""""""""""""""""""""" * Angle Styles: charmm, harmonic @@ -28,7 +28,7 @@ Currently Available USER-INTEL Styles .. warning:: - None of the styles in the USER-INTEL package currently + None of the styles in the INTEL package currently support computing per-atom stress. If any compute or fix in your input requires it, LAMMPS will abort with an error message. @@ -41,7 +41,7 @@ precision mode. Performance improvements are shown compared to LAMMPS *without using other acceleration packages* as these are under active development (and subject to performance changes). The measurements were performed using the input files available in -the src/USER-INTEL/TEST directory with the provided run script. +the src/INTEL/TEST directory with the provided run script. These are scalable in size; the results given are with 512K particles (524K for Liquid Crystal). Most of the simulations are standard LAMMPS benchmarks (indicated by the filename extension in @@ -56,7 +56,7 @@ Results are speedups obtained on Intel Xeon E5-2697v4 processors Knights Landing), and Intel Xeon Gold 6148 processors (code-named Skylake) with "June 2017" LAMMPS built with Intel Parallel Studio 2017 update 2. Results are with 1 MPI task per physical core. See -*src/USER-INTEL/TEST/README* for the raw simulation rates and +*src/INTEL/TEST/README* for the raw simulation rates and instructions to reproduce. ---------- @@ -67,11 +67,11 @@ Accuracy and order of operations In most molecular dynamics software, parallelization parameters (# of MPI, OpenMP, and vectorization) can change the results due to changing the order of operations with finite-precision -calculations. The USER-INTEL package is deterministic. This means +calculations. The INTEL package is deterministic. This means that the results should be reproducible from run to run with the *same* parallel configurations and when using deterministic libraries or library settings (MPI, OpenMP, FFT). However, there -are differences in the USER-INTEL package that can change the +are differences in the INTEL package that can change the order of operations compared to LAMMPS without acceleration: * Neighbor lists can be created in a different order @@ -88,7 +88,7 @@ order of operations compared to LAMMPS without acceleration: Twister generator included in the Intel MKL library (that should be more robust than the default Masaglia random number generator) -The precision mode (described below) used with the USER-INTEL +The precision mode (described below) used with the INTEL package can change the *accuracy* of the calculations. For the default *mixed* precision option, calculations between pairs or triplets of atoms are performed in single precision, intended to @@ -102,7 +102,7 @@ mode should not be used without appropriate validation. Quick Start for Experienced Users """"""""""""""""""""""""""""""""" -LAMMPS should be built with the USER-INTEL package installed. +LAMMPS should be built with the INTEL package installed. Simulations should be run with 1 MPI task per physical *core*\ , not *hardware thread*\ . @@ -148,7 +148,7 @@ When using Intel compilers version 16.0 or later is required. In order to use offload to co-processors, an Intel Xeon Phi co-processor and an Intel compiler are required. -Although any compiler can be used with the USER-INTEL package, +Although any compiler can be used with the INTEL package, currently, vectorization directives are disabled by default when not using Intel compilers due to lack of standard support and observations of decreased performance. The OpenMP standard now @@ -185,7 +185,7 @@ can start running so that the CPU pipeline is still being used efficiently. Although benefits can be seen by launching a MPI task for every hardware thread, for multinode simulations, we recommend that OpenMP threads are used for SMT instead, either with the -USER-INTEL package, :doc:`OPENMP package `, or +INTEL package, :doc:`OPENMP package `, or :doc:`KOKKOS package `. In the example above, up to 36X speedups can be observed by using all 36 physical cores with LAMMPS. By using all 72 hardware threads, an additional 10-30% @@ -202,10 +202,10 @@ this information can normally be obtained with: cat /proc/cpuinfo -Building LAMMPS with the USER-INTEL package +Building LAMMPS with the INTEL package """"""""""""""""""""""""""""""""""""""""""" -See the :ref:`Build extras ` doc page for +See the :ref:`Build extras ` doc page for instructions. Some additional details are covered here. For building with make, several example Makefiles for building with @@ -228,7 +228,7 @@ simple as: .. code-block:: bash - make yes-user-intel + make yes-intel source /opt/intel/parallel_studio_xe_2016.3.067/psxevars.sh # or psxevars.csh for C-shell make intel_cpu_intelmpi @@ -238,7 +238,7 @@ binary can be used on nodes with or without co-processors installed. However, if you do not have co-processors on your system, building without offload support will produce a smaller binary. -The general requirements for Makefiles with the USER-INTEL package +The general requirements for Makefiles with the INTEL package are as follows. When using Intel compilers, "-restrict" is required and "-qopenmp" is highly recommended for CCFLAGS and LINKFLAGS. CCFLAGS should include "-DLMP_INTEL_USELRT" (unless POSIX Threads @@ -253,7 +253,7 @@ recommended CCFLAG options for best performance are "-O2 -fno-alias .. note:: - See the src/USER-INTEL/README file for additional flags that + See the src/INTEL/README file for additional flags that might be needed for best performance on Intel server processors code-named "Skylake". @@ -270,14 +270,14 @@ recommended CCFLAG options for best performance are "-O2 -fno-alias in most of the example Makefiles is to use "-xHost", however this should not be used when cross-compiling. -Running LAMMPS with the USER-INTEL package +Running LAMMPS with the INTEL package """""""""""""""""""""""""""""""""""""""""" -Running LAMMPS with the USER-INTEL package is similar to normal use +Running LAMMPS with the INTEL package is similar to normal use with the exceptions that one should 1) specify that LAMMPS should use -the USER-INTEL package, 2) specify the number of OpenMP threads, and +the INTEL package, 2) specify the number of OpenMP threads, and 3) optionally specify the specific LAMMPS styles that should use the -USER-INTEL package. 1) and 2) can be performed from the command-line +INTEL package. 1) and 2) can be performed from the command-line or by editing the input script. 3) requires editing the input script. Advanced performance tuning options are also described below to get the best performance. @@ -312,27 +312,27 @@ almost all cases. recommended, especially when running on a machine with Intel Hyper-Threading technology disabled. -Run with the USER-INTEL package from the command line +Run with the INTEL package from the command line """"""""""""""""""""""""""""""""""""""""""""""""""""" -To enable USER-INTEL optimizations for all available styles used in +To enable INTEL optimizations for all available styles used in the input script, the "-sf intel" :doc:`command-line switch ` can be used without any requirement for editing the input script. This switch will automatically append "intel" to styles that support it. It also invokes a default command: :doc:`package intel 1 `. This package command is used to set -options for the USER-INTEL package. The default package command will -specify that USER-INTEL calculations are performed in mixed precision, +options for the INTEL package. The default package command will +specify that INTEL calculations are performed in mixed precision, that the number of OpenMP threads is specified by the OMP_NUM_THREADS environment variable, and that if co-processors are present and the binary was built with offload support, that 1 co-processor per node will be used with automatic balancing of work between the CPU and the co-processor. -You can specify different options for the USER-INTEL package by using +You can specify different options for the INTEL package by using the "-pk intel Nphi" :doc:`command-line switch ` with keyword/value pairs as specified in the documentation. Here, Nphi = # of Xeon Phi co-processors/node (ignored without offload -support). Common options to the USER-INTEL package include *omp* to +support). Common options to the INTEL package include *omp* to override any OMP_NUM_THREADS setting and specify the number of OpenMP threads, *mode* to set the floating-point precision mode, and *lrt* to enable Long-Range Thread mode as described below. See the :doc:`package intel ` command for details, including the default values @@ -348,11 +348,11 @@ launching MPI applications): mpirun -np 72 -ppn 36 lmp_machine -sf intel -in in.script # 2 nodes, 36 MPI tasks/node, $OMP_NUM_THREADS OpenMP Threads mpirun -np 72 -ppn 36 lmp_machine -sf intel -in in.script -pk intel 0 omp 2 mode double # Don't use any co-processors that might be available, use 2 OpenMP threads for each task, use double precision -Or run with the USER-INTEL package by editing an input script +Or run with the INTEL package by editing an input script """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""" As an alternative to adding command-line arguments, the input script -can be edited to enable the USER-INTEL package. This requires adding +can be edited to enable the INTEL package. This requires adding the :doc:`package intel ` command to the top of the input script. For the second example above, this would be: @@ -360,7 +360,7 @@ script. For the second example above, this would be: package intel 0 omp 2 mode double -To enable the USER-INTEL package only for individual styles, you can +To enable the INTEL package only for individual styles, you can add an "intel" suffix to the individual style, e.g.: .. code-block:: LAMMPS @@ -368,7 +368,7 @@ add an "intel" suffix to the individual style, e.g.: pair_style lj/cut/intel 2.5 Alternatively, the :doc:`suffix intel ` command can be added to -the input script to enable USER-INTEL styles for the commands that +the input script to enable INTEL styles for the commands that follow in the input script. Tuning for Performance @@ -376,7 +376,7 @@ Tuning for Performance .. note:: - The USER-INTEL package will perform better with modifications + The INTEL package will perform better with modifications to the input script when :doc:`PPPM ` is used: :doc:`kspace_modify diff ad ` should be added to the input script. @@ -388,7 +388,7 @@ is dedicated to performing some of the PPPM calculations and MPI communications. This feature requires setting the pre-processor flag -DLMP_INTEL_USELRT in the makefile when compiling LAMMPS. It is unset in the default makefiles (\ *Makefile.mpi* and *Makefile.serial*\ ) but -it is set in all makefiles tuned for the USER-INTEL package. On Intel +it is set in all makefiles tuned for the INTEL package. On Intel Xeon Phi x200 series CPUs, the LRT feature will likely improve performance, even on a single node. On Intel Xeon processors, using this mode might result in better performance when using multiple nodes, @@ -407,8 +407,8 @@ when using offload. performance and/or scalability for simple 2-body potentials such as lj/cut or when using LRT mode on processors supporting AVX-512. -Not all styles are supported in the USER-INTEL package. You can mix -the USER-INTEL package with styles from the :doc:`OPT ` +Not all styles are supported in the INTEL package. You can mix +the INTEL package with styles from the :doc:`OPT ` package or the :doc:`OPENMP package `. Of course, this requires that these packages were installed at build time. This can performed automatically by using "-sf hybrid intel opt" or "-sf hybrid @@ -420,7 +420,7 @@ where Nt is the number of OpenMP threads. The number of OpenMP threads should not be set differently for the different packages. Note that the :doc:`suffix hybrid intel omp ` command can also be used within the input script to automatically append the "omp" suffix to -styles when USER-INTEL styles are not available. +styles when INTEL styles are not available. .. note:: @@ -492,7 +492,7 @@ tuning of the number of threads to use per MPI task or the number of threads to use per core can be accomplished with keyword settings of the :doc:`package intel ` command. -The USER-INTEL package has two modes for deciding which atoms will be +The INTEL package has two modes for deciding which atoms will be handled by the co-processor. This choice is controlled with the *ghost* keyword of the :doc:`package intel ` command. When set to 0, ghost atoms (atoms at the borders between MPI tasks) are not offloaded @@ -528,7 +528,7 @@ accelerated style may be used with hybrid styles when offloading. :doc:`Special_bonds ` exclusion lists are not currently supported with offload, however, the same effect can often be accomplished by setting cutoffs for excluded atom types to 0. None of -the pair styles in the USER-INTEL package currently support the +the pair styles in the INTEL package currently support the "inner", "middle", "outer" options for rRESPA integration via the :doc:`run_style respa ` command; only the "pair" option is supported. diff --git a/doc/src/Speed_kokkos.rst b/doc/src/Speed_kokkos.rst index aee5047ef4..c24c22e926 100644 --- a/doc/src/Speed_kokkos.rst +++ b/doc/src/Speed_kokkos.rst @@ -235,7 +235,7 @@ threads/task as Nt. The product of these two values should be N, i.e. To build with Kokkos support for Intel Xeon Phi co-processors such as Knight's Corner (KNC), your system must be configured to use - them in "native" mode, not "offload" mode like the USER-INTEL package + them in "native" mode, not "offload" mode like the INTEL package supports. Running on GPUs @@ -401,8 +401,8 @@ Generally speaking, the following rules of thumb apply: significantly on the hardware in use and the simulated system and pair style. * When running on Intel hardware, KOKKOS is not as fast as - the USER-INTEL package, which is optimized for x86 hardware (not just - from Intel) and compilation with the Intel compilers. The USER-INTEL + the INTEL package, which is optimized for x86 hardware (not just + from Intel) and compilation with the Intel compilers. The INTEL package also can increase the vector length of vector instructions by switching to single or mixed precision mode. diff --git a/doc/src/Speed_packages.rst b/doc/src/Speed_packages.rst index 01283ac6fe..32ed314230 100644 --- a/doc/src/Speed_packages.rst +++ b/doc/src/Speed_packages.rst @@ -18,7 +18,7 @@ standard or user packages: +-----------------------------------------+-------------------------------------------------------+ | :doc:`GPU Package ` | for GPUs via CUDA, OpenCL, or ROCm HIP | +-----------------------------------------+-------------------------------------------------------+ -| :doc:`USER-INTEL Package ` | for Intel CPUs and Intel Xeon Phi | +| :doc:`INTEL Package ` | for Intel CPUs and Intel Xeon Phi | +-----------------------------------------+-------------------------------------------------------+ | :doc:`KOKKOS Package ` | for NVIDIA GPUs, Intel Xeon Phi, and OpenMP threading | +-----------------------------------------+-------------------------------------------------------+ @@ -41,11 +41,11 @@ Inverting this list, LAMMPS currently has acceleration support for three kinds of hardware, via the listed packages: +-----------------+-----------------------------------------------------------------------------------------------------------------------------+ -| Many-core CPUs | :doc:`USER-INTEL `, :doc:`KOKKOS `, :doc:`OPENMP `, :doc:`OPT ` packages | +| Many-core CPUs | :doc:`INTEL `, :doc:`KOKKOS `, :doc:`OPENMP `, :doc:`OPT ` packages | +-----------------+-----------------------------------------------------------------------------------------------------------------------------+ | GPUs | :doc:`GPU `, :doc:`KOKKOS ` packages | +-----------------+-----------------------------------------------------------------------------------------------------------------------------+ -| Intel Phi/AVX | :doc:`USER-INTEL `, :doc:`KOKKOS ` packages | +| Intel Phi/AVX | :doc:`INTEL `, :doc:`KOKKOS ` packages | +-----------------+-----------------------------------------------------------------------------------------------------------------------------+ Which package is fastest for your hardware may depend on the size @@ -84,9 +84,9 @@ listed above: +--------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------+ | build the accelerator library | only for GPU package | +--------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------+ -| install the accelerator package | make yes-opt, make yes-user-intel, etc | +| install the accelerator package | make yes-opt, make yes-intel, etc | +--------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------+ -| add compile/link flags to Makefile.machine in src/MAKE | only for USER-INTEL, KOKKOS, OPENMP, OPT packages | +| add compile/link flags to Makefile.machine in src/MAKE | only for INTEL, KOKKOS, OPENMP, OPT packages | +--------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------+ | re-build LAMMPS | make machine | +--------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------+ @@ -116,15 +116,15 @@ script. With a few exceptions, you can build a single LAMMPS executable with all its accelerator packages installed. Note however that the - USER-INTEL and KOKKOS packages require you to choose one of their + INTEL and KOKKOS packages require you to choose one of their hardware options when building for a specific platform. I.e. CPU or - Phi option for the USER-INTEL package. Or the OpenMP, Cuda, or Phi + Phi option for the INTEL package. Or the OpenMP, Cuda, or Phi option for the KOKKOS package. These are the exceptions. You cannot build a single executable with: -* both the USER-INTEL Phi and KOKKOS Phi options -* the USER-INTEL Phi or Kokkos Phi option, and the GPU package +* both the INTEL Phi and KOKKOS Phi options +* the INTEL Phi or Kokkos Phi option, and the GPU package See the examples/accelerate/README and make.list files for sample Make.py commands that build LAMMPS with any or all of the accelerator @@ -156,7 +156,7 @@ are in the individual accelerator sections. * Styles with a "gpu" suffix are part of the GPU package and can be run on Intel, NVIDIA, or AMD GPUs. The speed-up on a GPU depends on a variety of factors, discussed in the accelerator sections. -* Styles with an "intel" suffix are part of the USER-INTEL +* Styles with an "intel" suffix are part of the INTEL package. These styles support vectorized single and mixed precision calculations, in addition to full double precision. In extreme cases, this can provide speedups over 3.5x on CPUs. The package also diff --git a/doc/src/Tools.rst b/doc/src/Tools.rst index d6b3a823b5..582fc4d3ad 100644 --- a/doc/src/Tools.rst +++ b/doc/src/Tools.rst @@ -341,7 +341,7 @@ fep tool The tools/fep directory contains Python scripts useful for post-processing results from performing free-energy perturbation -simulations using the USER-FEP package. +simulations using the FEP package. The scripts were contributed by Agilio Padua (ENS de Lyon), agilio.padua at ens-lyon.fr. @@ -861,7 +861,7 @@ phonon tool The phonon sub-directory contains a post-processing tool useful for analyzing the output of the :doc:`fix phonon ` command in -the USER-PHONON package. +the PHONON package. See the README file for instruction on building the tool and what library it needs. And see the examples/PACKAGES/phonon directory diff --git a/doc/src/accel_styles.rst b/doc/src/accel_styles.rst index e50e77478c..bd7d88f9d7 100644 --- a/doc/src/accel_styles.rst +++ b/doc/src/accel_styles.rst @@ -5,7 +5,7 @@ hardware, as discussed on the :doc:`Speed packages ` doc page. The accelerated styles take the same arguments and should produce the same results, except for round-off and precision issues. -These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, +These accelerated styles are part of the GPU, INTEL, KOKKOS, OPENMP and OPT packages, respectively. They are only enabled if LAMMPS was built with those packages. See the :doc:`Build package ` doc page for more info. diff --git a/doc/src/angle_charmm.rst b/doc/src/angle_charmm.rst index 5b98d95b58..d411599eaf 100644 --- a/doc/src/angle_charmm.rst +++ b/doc/src/angle_charmm.rst @@ -63,7 +63,7 @@ hardware, as discussed on the :doc:`Speed packages ` doc page. The accelerated styles take the same arguments and should produce the same results, except for round-off and precision issues. -These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, +These accelerated styles are part of the GPU, INTEL, KOKKOS, OPENMP and OPT packages, respectively. They are only enabled if LAMMPS was built with those packages. See the :doc:`Build package ` doc page for more info. diff --git a/doc/src/angle_class2.rst b/doc/src/angle_class2.rst index bf0305055a..f257d96dc3 100644 --- a/doc/src/angle_class2.rst +++ b/doc/src/angle_class2.rst @@ -126,7 +126,7 @@ Restrictions This angle style can only be used if LAMMPS was built with the CLASS2 package. For the *class2/p6* style LAMMPS needs to be built with the -USER-MOFFF package. See the :doc:`Build package ` doc +MOFFF package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/angle_cosine_buck6d.rst b/doc/src/angle_cosine_buck6d.rst index 4b8497d743..5061bc7b87 100644 --- a/doc/src/angle_cosine_buck6d.rst +++ b/doc/src/angle_cosine_buck6d.rst @@ -60,7 +60,7 @@ Restrictions :doc:`special_bonds ` 0.0 weighting of 1-3 interactions. This angle style can only be used if LAMMPS was built with the -USER-MOFFF package. See the :doc:`Build package ` doc +MOFFF package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/atom_style.rst b/doc/src/atom_style.rst index 45cfcd5ae7..a54971cf3b 100644 --- a/doc/src/atom_style.rst +++ b/doc/src/atom_style.rst @@ -319,7 +319,7 @@ styles take the same arguments and should produce the same results, except for round-off and precision issues. Note that other acceleration packages in LAMMPS, specifically the GPU, -USER-INTEL, OPENMP, and OPT packages do not use accelerated atom +INTEL, OPENMP, and OPT packages do not use accelerated atom styles. The accelerated styles are part of the KOKKOS package. They are only @@ -352,7 +352,7 @@ The *dipole* style is part of the DIPOLE package. The *peri* style is part of the PERI package for Peridynamics. -The *electron* style is part of the USER-EFF package for :doc:`electronic force fields `. +The *electron* style is part of the EFF package for :doc:`electronic force fields `. The *dpd* style is part of the DPD-REACT package for dissipative particle dynamics (DPD). @@ -362,14 +362,14 @@ for energy-conserving dissipative particle dynamics (eDPD), many-body dissipative particle dynamics (mDPD), and transport dissipative particle dynamics (tDPD), respectively. -The *sph* style is part of the USER-SPH package for smoothed particle +The *sph* style is part of the SPH package for smoothed particle hydrodynamics (SPH). See `this PDF guide `_ to using SPH in LAMMPS. -The *mesont* style is part of the USER-MESONT package. +The *mesont* style is part of the MESONT package. The *spin* style is part of the SPIN package. -The *wavepacket* style is part of the USER-AWPMD package for the +The *wavepacket* style is part of the AWPMD package for the :doc:`antisymmetrized wave packet MD method `. Related commands diff --git a/doc/src/compute_efield_atom.rst b/doc/src/compute_efield_atom.rst index 1e87ad2556..27c4eea4f6 100644 --- a/doc/src/compute_efield_atom.rst +++ b/doc/src/compute_efield_atom.rst @@ -26,7 +26,7 @@ Description Define a computation that calculates the electric field at each atom in a group. The compute should only enabled with pair and kspace styles that are provided -by the USER-DIELECTRIC package because only these styles compute the per-atom +by the DIELECTRIC package because only these styles compute the per-atom electric field at every time step. The electric field is a 3-component vector. The value of the electric field @@ -52,7 +52,7 @@ The per-atom vector values will be in electric field :doc:`units `. Restrictions """""""""""" -This compute is part of the USER-DIELECTRIC package. It is only enabled if +This compute is part of the DIELECTRIC package. It is only enabled if LAMMPS was built with that package. Related commands diff --git a/doc/src/compute_fep.rst b/doc/src/compute_fep.rst index 6875aa7233..5427538a73 100644 --- a/doc/src/compute_fep.rst +++ b/doc/src/compute_fep.rst @@ -303,7 +303,7 @@ The values calculated by this compute are "extensive". Restrictions """""""""""" -This compute is distributed as the USER-FEP package. It is only +This compute is distributed as the FEP package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/compute_ke_atom_eff.rst b/doc/src/compute_ke_atom_eff.rst index 3ff9ce0c1f..e364b20f31 100644 --- a/doc/src/compute_ke_atom_eff.rst +++ b/doc/src/compute_ke_atom_eff.rst @@ -73,7 +73,7 @@ The per-atom vector values will be in energy :doc:`units `. Restrictions """""""""""" -This compute is part of the USER-EFF package. It is only enabled if +This compute is part of the EFF package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/compute_ke_eff.rst b/doc/src/compute_ke_eff.rst index 874ae8d629..6028099d07 100644 --- a/doc/src/compute_ke_eff.rst +++ b/doc/src/compute_ke_eff.rst @@ -78,7 +78,7 @@ scalar value will be in energy :doc:`units `. Restrictions """""""""""" -This compute is part of the USER-EFF package. It is only enabled if +This compute is part of the EFF package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/compute_mesont.rst b/doc/src/compute_mesont.rst index 44d6054e22..c449a0a175 100644 --- a/doc/src/compute_mesont.rst +++ b/doc/src/compute_mesont.rst @@ -43,7 +43,7 @@ The computed values are provided in energy :doc:`units `. Restrictions """""""""""" -These computes are part of the USER-MESONT package. They are only enabled if +These computes are part of the MESONT package. They are only enabled if LAMMPS is built with that package. See the :doc:`Build package ` doc page for more info. In addition, :doc:`mesont pair_style ` must be used. diff --git a/doc/src/compute_pressure_uef.rst b/doc/src/compute_pressure_uef.rst index bdd212cf5c..1e32c4d9b4 100644 --- a/doc/src/compute_pressure_uef.rst +++ b/doc/src/compute_pressure_uef.rst @@ -41,7 +41,7 @@ The keywords and output information are documented in Restrictions """""""""""" -This fix is part of the USER-UEF package. It is only enabled if LAMMPS +This fix is part of the UEF package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. This command can only be used when :doc:`fix nvt/uef ` diff --git a/doc/src/compute_property_atom.rst b/doc/src/compute_property_atom.rst index ec9322bb7b..32cda56659 100644 --- a/doc/src/compute_property_atom.rst +++ b/doc/src/compute_property_atom.rst @@ -74,7 +74,7 @@ Syntax .. parsed-literal:: - USER-EFF and USER-AWPMD package per-atom properties: + EFF and AWPMD package per-atom properties: spin = electron spin eradius = electron radius ervel = electron radial velocity @@ -82,7 +82,7 @@ Syntax .. parsed-literal:: - USER-SPH package per-atom properties: + SPH package per-atom properties: rho = density of SPH particles drho = change in density e = energy diff --git a/doc/src/compute_ptm_atom.rst b/doc/src/compute_ptm_atom.rst index fb590f6e4c..e271131987 100644 --- a/doc/src/compute_ptm_atom.rst +++ b/doc/src/compute_ptm_atom.rst @@ -112,7 +112,7 @@ For atoms that are not within the compute group-ID, all values are set to zero. Restrictions """""""""""" -This fix is part of the USER-PTM package. It is only enabled if +This fix is part of the PTM package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/compute_saed.rst b/doc/src/compute_saed.rst index 1057208900..989fe63d3d 100644 --- a/doc/src/compute_saed.rst +++ b/doc/src/compute_saed.rst @@ -245,7 +245,7 @@ All array values calculated by this compute are "intensive". Restrictions """""""""""" -This compute is part of the USER-DIFFRACTION package. It is only +This compute is part of the DIFFRACTION package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. The compute_saed command does not work for triclinic cells. diff --git a/doc/src/compute_sph_e_atom.rst b/doc/src/compute_sph_e_atom.rst index 17591257f2..b1eca85853 100644 --- a/doc/src/compute_sph_e_atom.rst +++ b/doc/src/compute_sph_e_atom.rst @@ -49,7 +49,7 @@ The per-atom vector values will be in energy :doc:`units `. Restrictions """""""""""" -This compute is part of the USER-SPH package. It is only enabled if +This compute is part of the SPH package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/compute_sph_rho_atom.rst b/doc/src/compute_sph_rho_atom.rst index c422a5ecbb..34096df0ee 100644 --- a/doc/src/compute_sph_rho_atom.rst +++ b/doc/src/compute_sph_rho_atom.rst @@ -48,7 +48,7 @@ The per-atom vector values will be in mass/volume :doc:`units `. Restrictions """""""""""" -This compute is part of the USER-SPH package. It is only enabled if +This compute is part of the SPH package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/compute_sph_t_atom.rst b/doc/src/compute_sph_t_atom.rst index 922adfff58..7c4c126c6c 100644 --- a/doc/src/compute_sph_t_atom.rst +++ b/doc/src/compute_sph_t_atom.rst @@ -53,7 +53,7 @@ The per-atom vector values will be in temperature :doc:`units `. Restrictions """""""""""" -This compute is part of the USER-SPH package. It is only enabled if +This compute is part of the SPH package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/compute_stress_atom.rst b/doc/src/compute_stress_atom.rst index 393d3b2ffb..0f90f9bafe 100644 --- a/doc/src/compute_stress_atom.rst +++ b/doc/src/compute_stress_atom.rst @@ -233,7 +233,7 @@ since its computations are performed pairwise), nor granular pair styles with pairwise forces which are not aligned with the vector between the pair of particles. All bond styles are supported. All angle, dihedral, improper styles are supported with the exception of -USER-INTEL and KOKKOS variants of specific styles. It also does not +INTEL and KOKKOS variants of specific styles. It also does not support models with long-range Coulombic or dispersion forces, i.e. the kspace_style command in LAMMPS. It also does not support the following fixes which add rigid-body constraints: :doc:`fix shake diff --git a/doc/src/compute_tally.rst b/doc/src/compute_tally.rst index 0e2856ea5e..32e3e31030 100644 --- a/doc/src/compute_tally.rst +++ b/doc/src/compute_tally.rst @@ -91,7 +91,7 @@ Both the scalar and vector values calculated by this compute are Restrictions """""""""""" -This compute is part of the USER-TALLY package. It is only enabled if +This compute is part of the TALLY package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Not all pair styles can be evaluated in a pairwise mode as required by diff --git a/doc/src/compute_temp_deform_eff.rst b/doc/src/compute_temp_deform_eff.rst index 03be4a89fd..bff5fb3bfb 100644 --- a/doc/src/compute_temp_deform_eff.rst +++ b/doc/src/compute_temp_deform_eff.rst @@ -61,7 +61,7 @@ vector values will be in energy :doc:`units `. Restrictions """""""""""" -This compute is part of the USER-EFF package. It is only enabled if +This compute is part of the EFF package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/compute_temp_eff.rst b/doc/src/compute_temp_eff.rst index 6bbad345e2..7bd0559090 100644 --- a/doc/src/compute_temp_eff.rst +++ b/doc/src/compute_temp_eff.rst @@ -89,7 +89,7 @@ the simulation. Restrictions """""""""""" -This compute is part of the USER-EFF package. It is only enabled if +This compute is part of the EFF package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/compute_temp_region_eff.rst b/doc/src/compute_temp_region_eff.rst index 622b3eb203..84baf00aaa 100644 --- a/doc/src/compute_temp_region_eff.rst +++ b/doc/src/compute_temp_region_eff.rst @@ -53,7 +53,7 @@ vector values will be in energy :doc:`units `. Restrictions """""""""""" -This compute is part of the USER-EFF package. It is only enabled if +This compute is part of the EFF package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/compute_temp_uef.rst b/doc/src/compute_temp_uef.rst index 11bfca48e9..18fc4a9fdf 100644 --- a/doc/src/compute_temp_uef.rst +++ b/doc/src/compute_temp_uef.rst @@ -38,7 +38,7 @@ documentation for :doc:`compute temp `. Restrictions """""""""""" -This fix is part of the USER-UEF package. It is only enabled if LAMMPS +This fix is part of the UEF package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. This command can only be used when :doc:`fix nvt/uef ` diff --git a/doc/src/compute_xrd.rst b/doc/src/compute_xrd.rst index d927b6599f..a0684109ea 100644 --- a/doc/src/compute_xrd.rst +++ b/doc/src/compute_xrd.rst @@ -223,7 +223,7 @@ All array values calculated by this compute are "intensive". Restrictions """""""""""" -This compute is part of the USER-DIFFRACTION package. It is only +This compute is part of the DIFFRACTION package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. The compute_xrd command does not work for triclinic cells. diff --git a/doc/src/dump_adios.rst b/doc/src/dump_adios.rst index e1b0fe000a..74c8dae189 100644 --- a/doc/src/dump_adios.rst +++ b/doc/src/dump_adios.rst @@ -64,7 +64,7 @@ When using the ADIOS tool 'bpls' to list the content of a .bp file, bpls will print *__* for the size of the output table indicating that its size is changing every step. -The *atom/adios* and *custom/adios* dump styles are part of the USER-ADIOS +The *atom/adios* and *custom/adios* dump styles are part of the ADIOS package. They are only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. diff --git a/doc/src/dump_cfg_uef.rst b/doc/src/dump_cfg_uef.rst index ee027e9347..9e33291880 100644 --- a/doc/src/dump_cfg_uef.rst +++ b/doc/src/dump_cfg_uef.rst @@ -42,7 +42,7 @@ reference frame as the atomic positions. Restrictions """""""""""" -This fix is part of the USER-UEF package. It is only enabled if LAMMPS +This fix is part of the UEF package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. This command can only be used when :doc:`fix nvt/uef ` diff --git a/doc/src/dump_h5md.rst b/doc/src/dump_h5md.rst index de44572307..2f66e2863b 100644 --- a/doc/src/dump_h5md.rst +++ b/doc/src/dump_h5md.rst @@ -106,7 +106,7 @@ The position data is stored wrapped (box boundaries not enforced, see note above). Only orthogonal domains are currently supported. This is a limitation of the present dump h5md command and not of H5MD itself. -The *h5md* dump style is part of the USER-H5MD package. It is only +The *h5md* dump style is part of the H5MD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. It also requires (i) building the ch5md library provided with LAMMPS (See the :doc:`Build package ` doc page for more info.) and (ii) having the `HDF5 `_ library installed (C bindings are sufficient) on diff --git a/doc/src/dump_molfile.rst b/doc/src/dump_molfile.rst index 69bd8aa8c2..aa8e04b22c 100644 --- a/doc/src/dump_molfile.rst +++ b/doc/src/dump_molfile.rst @@ -92,12 +92,12 @@ determine the sequence of timesteps on which dump files are written. Restrictions """""""""""" -The *molfile* dump style is part of the USER-MOLFILE package. It is +The *molfile* dump style is part of the MOLFILE package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Molfile plugins provide a consistent programming interface to read and write file formats commonly used in molecular simulations. The -USER-MOLFILE package only provides the interface code, not the plugins. +MOLFILE package only provides the interface code, not the plugins. These can be obtained from a VMD installation which has to match the platform that you are using to compile LAMMPS for. By adding plugins to VMD, support for new file formats can be added to LAMMPS (or VMD diff --git a/doc/src/dump_netcdf.rst b/doc/src/dump_netcdf.rst index 5627060452..9fac10dc99 100644 --- a/doc/src/dump_netcdf.rst +++ b/doc/src/dump_netcdf.rst @@ -69,7 +69,7 @@ Restrictions """""""""""" The *netcdf* and *netcdf/mpiio* dump styles are part of the -USER-NETCDF package. They are only enabled if LAMMPS was built with +NETCDF package. They are only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. diff --git a/doc/src/dump_vtk.rst b/doc/src/dump_vtk.rst index 4f607c4fdd..8eea1def94 100644 --- a/doc/src/dump_vtk.rst +++ b/doc/src/dump_vtk.rst @@ -162,7 +162,7 @@ Restrictions The *vtk* style does not support writing of gzipped dump files. -The *vtk* dump style is part of the USER-VTK package. It is only +The *vtk* dump style is part of the VTK package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. To use this dump style, you also must link to the VTK library. See diff --git a/doc/src/dynamical_matrix.rst b/doc/src/dynamical_matrix.rst index 9c4530eade..8d17f0aa1e 100644 --- a/doc/src/dynamical_matrix.rst +++ b/doc/src/dynamical_matrix.rst @@ -63,7 +63,7 @@ The command collects an array of nine times the number of atoms in a group on every single MPI rank, so the memory requirements can be very significant for large systems. -This command is part of the USER-PHONON package. It is only enabled if +This command is part of the PHONON package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. diff --git a/doc/src/fix_bocs.rst b/doc/src/fix_bocs.rst index f4b3080cc0..c6c7ed41aa 100644 --- a/doc/src/fix_bocs.rst +++ b/doc/src/fix_bocs.rst @@ -124,7 +124,7 @@ the examples. For the last argument in the command, you should put XXXX_press, where XXXX is the ID given to the fix bocs command (in the example, the ID of the fix bocs command is 1 ). -This fix is part of the USER-BOCS package. It is only enabled if +This fix is part of the BOCS package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Further information diff --git a/doc/src/fix_bond_react.rst b/doc/src/fix_bond_react.rst index 0933cc5337..baf7985ef5 100644 --- a/doc/src/fix_bond_react.rst +++ b/doc/src/fix_bond_react.rst @@ -667,7 +667,7 @@ all other fixes that use any group created by fix bond/react. Restrictions """""""""""" -This fix is part of the USER-REACTION package. It is only enabled if +This fix is part of the REACTION package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. diff --git a/doc/src/fix_brownian.rst b/doc/src/fix_brownian.rst index d032346617..c274c394f3 100644 --- a/doc/src/fix_brownian.rst +++ b/doc/src/fix_brownian.rst @@ -185,7 +185,7 @@ as defined by the :doc:`atom_style ellipsoid ` command. If the *dipole* keyword is used, they must also store a dipole moment as defined by the :doc:`atom_style dipole ` command. -This fix is part of the USER-BROWNIAN package. It is only enabled if +This fix is part of the BROWNIAN package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. diff --git a/doc/src/fix_colvars.rst b/doc/src/fix_colvars.rst index 6db78a5b11..6de30a3d84 100644 --- a/doc/src/fix_colvars.rst +++ b/doc/src/fix_colvars.rst @@ -122,7 +122,7 @@ energy mentioned above. The scalar value calculated by this fix is Restrictions """""""""""" -This fix is part of the USER-COLVARS package. It is only enabled if +This fix is part of the COLVARS package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. diff --git a/doc/src/fix_deform.rst b/doc/src/fix_deform.rst index 999a88c4e7..90192c6c00 100644 --- a/doc/src/fix_deform.rst +++ b/doc/src/fix_deform.rst @@ -100,7 +100,7 @@ adjusted independently and simultaneously by this command. This fix can be used to perform non-equilibrium MD (NEMD) simulations of a continuously strained system. See the :doc:`fix nvt/sllod ` and :doc:`compute temp/deform ` commands for more details. Note that simulation of a continuously extended system (extensional flow) -can be modeled using the :ref:`USER-UEF package ` and its :doc:`fix commands `. +can be modeled using the :ref:`UEF package ` and its :doc:`fix commands `. For the *x*\ , *y*\ , *z* parameters, the associated dimension cannot be shrink-wrapped. For the *xy*\ , *yz*\ , *xz* parameters, the associated diff --git a/doc/src/fix_langevin_eff.rst b/doc/src/fix_langevin_eff.rst index c6fd1b0b40..383980b232 100644 --- a/doc/src/fix_langevin_eff.rst +++ b/doc/src/fix_langevin_eff.rst @@ -104,7 +104,7 @@ Restrictions """""""""""" none -This fix is part of the USER-EFF package. It is only enabled if +This fix is part of the EFF package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/fix_manifoldforce.rst b/doc/src/fix_manifoldforce.rst index 6d13fab7b8..964fc1ad1f 100644 --- a/doc/src/fix_manifoldforce.rst +++ b/doc/src/fix_manifoldforce.rst @@ -48,7 +48,7 @@ the :doc:`run ` command. This fix is invoked during :doc:`energy minimizat Restrictions """""""""""" -This fix is part of the USER-MANIFOLD package. It is only enabled if +This fix is part of the MANIFOLD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Only use this with *min_style hftn* or *min_style quickmin*. If not, diff --git a/doc/src/fix_mdi_engine.rst b/doc/src/fix_mdi_engine.rst index 76506f3e19..ca667bfe3b 100644 --- a/doc/src/fix_mdi_engine.rst +++ b/doc/src/fix_mdi_engine.rst @@ -44,7 +44,7 @@ For more information about running LAMMPS as an MDI engine, see the Restrictions """""""""""" -This command is part of the USER-MDI package. It is only enabled if +This command is part of the MDI package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. diff --git a/doc/src/fix_nh_eff.rst b/doc/src/fix_nh_eff.rst index 3e54ed9765..2dbd5aa85e 100644 --- a/doc/src/fix_nh_eff.rst +++ b/doc/src/fix_nh_eff.rst @@ -116,7 +116,7 @@ for details. Restrictions """""""""""" -This fix is part of the USER-EFF package. It is only enabled if +This fix is part of the EFF package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Other restriction discussed on the doc page for the :doc:`fix nvt, npt, and nph ` commands also apply. diff --git a/doc/src/fix_nh_uef.rst b/doc/src/fix_nh_uef.rst index 74e61472c6..e33b2a639d 100644 --- a/doc/src/fix_nh_uef.rst +++ b/doc/src/fix_nh_uef.rst @@ -199,7 +199,7 @@ The fix is not invoked during :doc:`energy minimization `. Restrictions """""""""""" -This fix is part of the USER-UEF package. It is only enabled if LAMMPS +This fix is part of the UEF package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Due to requirements of the boundary conditions, when the *strain* diff --git a/doc/src/fix_nve_awpmd.rst b/doc/src/fix_nve_awpmd.rst index b112aacd60..a294cebd73 100644 --- a/doc/src/fix_nve_awpmd.rst +++ b/doc/src/fix_nve_awpmd.rst @@ -45,7 +45,7 @@ the :doc:`run ` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" -This fix is part of the USER-AWPMD package. It is only enabled if +This fix is part of the AWPMD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/fix_nve_eff.rst b/doc/src/fix_nve_eff.rst index 2c14bb07a9..87e64a9661 100644 --- a/doc/src/fix_nve_eff.rst +++ b/doc/src/fix_nve_eff.rst @@ -42,7 +42,7 @@ the :doc:`run ` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" -This fix is part of the USER-EFF package. It is only enabled if +This fix is part of the EFF package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/fix_nve_manifold_rattle.rst b/doc/src/fix_nve_manifold_rattle.rst index b24277a8c7..e0c0c10b4a 100644 --- a/doc/src/fix_nve_manifold_rattle.rst +++ b/doc/src/fix_nve_manifold_rattle.rst @@ -83,7 +83,7 @@ the :doc:`run ` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" -This fix is part of the USER-MANIFOLD package. It is only enabled if +This fix is part of the MANIFOLD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. ---------- diff --git a/doc/src/fix_nvt_manifold_rattle.rst b/doc/src/fix_nvt_manifold_rattle.rst index f822df5b8d..3815138064 100644 --- a/doc/src/fix_nvt_manifold_rattle.rst +++ b/doc/src/fix_nvt_manifold_rattle.rst @@ -63,7 +63,7 @@ the :doc:`run ` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" -This fix is part of the USER-MANIFOLD package. It is only enabled if +This fix is part of the MANIFOLD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. ---------- diff --git a/doc/src/fix_nvt_sllod_eff.rst b/doc/src/fix_nvt_sllod_eff.rst index e07e990d4b..328ff7d4e5 100644 --- a/doc/src/fix_nvt_sllod_eff.rst +++ b/doc/src/fix_nvt_sllod_eff.rst @@ -69,7 +69,7 @@ This fix is not invoked during :doc:`energy minimization `. Restrictions """""""""""" -This fix is part of the USER-EFF package. It is only enabled if +This fix is part of the EFF package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. This fix works best without Nose-Hoover chain thermostats, i.e. using diff --git a/doc/src/fix_phonon.rst b/doc/src/fix_phonon.rst index b30037ade7..e151d8a671 100644 --- a/doc/src/fix_phonon.rst +++ b/doc/src/fix_phonon.rst @@ -181,7 +181,7 @@ This fix assumes a crystalline system with periodical lattice. The temperature of the system should not exceed the melting temperature to keep the system in its solid state. -This fix is part of the USER-PHONON package. It is only enabled if +This fix is part of the PHONON package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. This fix requires LAMMPS be built with an FFT library. See the :doc:`Build settings ` doc page for details. diff --git a/doc/src/fix_plumed.rst b/doc/src/fix_plumed.rst index d93efe341f..5c32ccee99 100644 --- a/doc/src/fix_plumed.rst +++ b/doc/src/fix_plumed.rst @@ -113,7 +113,7 @@ are native to PLUMED. Restrictions """""""""""" -This fix is part of the USER-PLUMED package. It is only enabled if +This fix is part of the PLUMED package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. diff --git a/doc/src/fix_polarize.rst b/doc/src/fix_polarize.rst index 8f3db1879c..2667cb5eeb 100644 --- a/doc/src/fix_polarize.rst +++ b/doc/src/fix_polarize.rst @@ -77,7 +77,7 @@ Restart, fix_modify, output, run start/stop, minimize info Restrictions """""""""""" -These fixes are part of the USER-DIELECTRIC package. It is only enabled +These fixes are part of the DIELECTRIC package. It is only enabled if LAMMPS was built with that package, which requires that also the KSPACE package is installed. See the :doc:`Build package ` doc page for more info. diff --git a/doc/src/fix_propel_self.rst b/doc/src/fix_propel_self.rst index ddc96817f9..a086cb442b 100644 --- a/doc/src/fix_propel_self.rst +++ b/doc/src/fix_propel_self.rst @@ -148,7 +148,7 @@ Restrictions With keyword *dipole*, this fix only works when the DIPOLE package is enabled. See the :doc:`Build package ` doc page for more info. -This fix is part of the USER-BROWNIAN package. It is only enabled if +This fix is part of the BROWNIAN package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. diff --git a/doc/src/fix_qbmsst.rst b/doc/src/fix_qbmsst.rst index ef820a68d6..abf8ed1aae 100644 --- a/doc/src/fix_qbmsst.rst +++ b/doc/src/fix_qbmsst.rst @@ -208,7 +208,7 @@ It is worth noting that the temp keyword for the :doc:`thermo_style Restrictions """""""""""" -This fix style is part of the USER-QTB package. It is only enabled if +This fix style is part of the QTB package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. diff --git a/doc/src/fix_qmmm.rst b/doc/src/fix_qmmm.rst index 81bb315e23..acbafccded 100644 --- a/doc/src/fix_qmmm.rst +++ b/doc/src/fix_qmmm.rst @@ -54,7 +54,7 @@ fix is not invoked during :doc:`energy minimization `. Restrictions """""""""""" -This fix is part of the USER-QMMM package. It is only enabled if +This fix is part of the QMMM package. It is only enabled if LAMMPS was built with that package. It also requires building a library provided with LAMMPS. See the :doc:`Build package ` doc page for more info. diff --git a/doc/src/fix_qtb.rst b/doc/src/fix_qtb.rst index 594b8b78a7..6ea3e97f9a 100644 --- a/doc/src/fix_qtb.rst +++ b/doc/src/fix_qtb.rst @@ -161,7 +161,7 @@ This fix is not invoked during :doc:`energy minimization `. Restrictions """""""""""" -This fix style is part of the USER-QTB package. It is only enabled if +This fix style is part of the QTB package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. diff --git a/doc/src/fix_sph.rst b/doc/src/fix_sph.rst index 5ba752debb..1866893b93 100644 --- a/doc/src/fix_sph.rst +++ b/doc/src/fix_sph.rst @@ -44,7 +44,7 @@ the :doc:`run ` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" -This fix is part of the USER-SPH package. It is only enabled if +This fix is part of the SPH package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/fix_sph_stationary.rst b/doc/src/fix_sph_stationary.rst index c86a30b542..34db080121 100644 --- a/doc/src/fix_sph_stationary.rst +++ b/doc/src/fix_sph_stationary.rst @@ -44,7 +44,7 @@ the :doc:`run ` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" -This fix is part of the USER-SPH package. It is only enabled if +This fix is part of the SPH package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/fix_temp_rescale_eff.rst b/doc/src/fix_temp_rescale_eff.rst index 01017c0267..1eaa8cf360 100644 --- a/doc/src/fix_temp_rescale_eff.rst +++ b/doc/src/fix_temp_rescale_eff.rst @@ -66,7 +66,7 @@ This fix is not invoked during :doc:`energy minimization `. Restrictions """""""""""" -This fix is part of the USER-EFF package. It is only enabled if +This fix is part of the EFF package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/fix_tgnh_drude.rst b/doc/src/fix_tgnh_drude.rst index fc9c7737dd..744c7e75f3 100644 --- a/doc/src/fix_tgnh_drude.rst +++ b/doc/src/fix_tgnh_drude.rst @@ -271,7 +271,7 @@ Restrictions """""""""""" These fixes are only available when LAMMPS was built with the -USER-DRUDE package. These fixes cannot be used with dynamic groups as +DRUDE package. These fixes cannot be used with dynamic groups as defined by the :doc:`group ` command. These fixes cannot be used in 2D simulations. diff --git a/doc/src/group2ndx.rst b/doc/src/group2ndx.rst index 8c265db197..31b46ce2ce 100644 --- a/doc/src/group2ndx.rst +++ b/doc/src/group2ndx.rst @@ -57,7 +57,7 @@ Restrictions This command requires that atoms have atom IDs, since this is the information that is written to the index file. -These commands are part of the USER-COLVARS package. They are only +These commands are part of the COLVARS package. They are only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/improper_distharm.rst b/doc/src/improper_distharm.rst index e29ae95ac5..0399a5c6e2 100644 --- a/doc/src/improper_distharm.rst +++ b/doc/src/improper_distharm.rst @@ -48,7 +48,7 @@ Restrictions """""""""""" This improper style can only be used if LAMMPS was built with the -USER-YAFF package. See the :doc:`Build package ` doc +YAFF package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/improper_harmonic.rst b/doc/src/improper_harmonic.rst index 618f93fff4..41d533eebe 100644 --- a/doc/src/improper_harmonic.rst +++ b/doc/src/improper_harmonic.rst @@ -71,7 +71,7 @@ hardware, as discussed on the :doc:`Speed packages ` doc page. The accelerated styles take the same arguments and should produce the same results, except for round-off and precision issues. -These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, +These accelerated styles are part of the GPU, INTEL, KOKKOS, OPENMP and OPT packages, respectively. They are only enabled if LAMMPS was built with those packages. See the :doc:`Build package ` doc page for more info. diff --git a/doc/src/improper_inversion_harmonic.rst b/doc/src/improper_inversion_harmonic.rst index 1c57b5daf1..9826ab6218 100644 --- a/doc/src/improper_inversion_harmonic.rst +++ b/doc/src/improper_inversion_harmonic.rst @@ -58,7 +58,7 @@ Restrictions """""""""""" This improper style can only be used if LAMMPS was built with the -USER-MOFFF package. See the :doc:`Build package ` doc +MOFFF package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/info.rst b/doc/src/info.rst index 886ea86c1d..b3eb6d7000 100644 --- a/doc/src/info.rst +++ b/doc/src/info.rst @@ -89,7 +89,7 @@ corresponding coefficients have been set. This can be very helpful to debug error messages like "All pair coeffs are not set". The *accelerator* category prints out information about compile time -settings of included accelerator support for the GPU, KOKKOS, USER-INTEL, +settings of included accelerator support for the GPU, KOKKOS, INTEL, and OPENMP packages. The *styles* category prints the list of styles available in the diff --git a/doc/src/kspace_style.rst b/doc/src/kspace_style.rst index b1eb46f5f0..c184b5b006 100644 --- a/doc/src/kspace_style.rst +++ b/doc/src/kspace_style.rst @@ -298,9 +298,9 @@ be cloned from the git-repository "git://github.com/scafacos/scafacos.git". In order to use this KSpace style, you must download and build the -ScaFaCoS library, then build LAMMPS with the USER-SCAFACOS package +ScaFaCoS library, then build LAMMPS with the SCAFACOS package installed package which links LAMMPS to the ScaFaCoS library. -See details on :ref:`this page `. +See details on :ref:`this page `. .. note:: @@ -420,7 +420,7 @@ The *pppm/kk* style performs charge assignment and force interpolation calculations, along with the FFTs themselves, on the GPU or (optionally) threaded on the CPU when using OpenMP and FFTW3. -These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, +These accelerated styles are part of the GPU, INTEL, KOKKOS, OPENMP, and OPT packages respectively. They are only enabled if LAMMPS was built with those packages. See the :doc:`Build package ` doc page for more info. @@ -446,7 +446,7 @@ only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. The *msm/dielectric* and *pppm/dielectric* kspace styles are part of the -USER-DIELECTRIC package. They are only enabled if LAMMPS was built with +DIELECTRIC package. They are only enabled if LAMMPS was built with that package **and** the KSPACE package. See the :doc:`Build package ` doc page for more info. @@ -460,7 +460,7 @@ dimensions. The only exception is if the slab option is set with must be periodic and the z dimension must be non-periodic. The scafacos KSpace style will only be enabled if LAMMPS is built with -the USER-SCAFACOS package. See the :doc:`Build package ` +the SCAFACOS package. See the :doc:`Build package ` doc page for more info. The use of ScaFaCos in LAMMPS does not yet support molecular charged diff --git a/doc/src/mdi_engine.rst b/doc/src/mdi_engine.rst index b39999606d..d26a1f8cd3 100644 --- a/doc/src/mdi_engine.rst +++ b/doc/src/mdi_engine.rst @@ -67,13 +67,13 @@ about these commands in the `MDI library documentation If these commands are not sufficient to support what a driver which you write needs, additional commands can be defined by simply using a new command name not in this list. Code to support the new command -needs to be added to the USER-MDI package within LAMMPS; see its -src/USER-MDI/mdi_engine.cpp and fix_mdi_engine.cpp files. +needs to be added to the MDI package within LAMMPS; see its +src/MDI/mdi_engine.cpp and fix_mdi_engine.cpp files. Restrictions """""""""""" -This command is part of the USER-MDI package. It is only enabled if +This command is part of the MDI package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. diff --git a/doc/src/package.rst b/doc/src/package.rst index 5480d4810b..e997dc6147 100644 --- a/doc/src/package.rst +++ b/doc/src/package.rst @@ -130,7 +130,7 @@ Description This command invokes package-specific settings for the various accelerator packages available in LAMMPS. Currently the following -packages use settings from this command: GPU, USER-INTEL, KOKKOS, and +packages use settings from this command: GPU, INTEL, KOKKOS, and OPENMP. If this command is specified in an input script, it must be near the @@ -152,7 +152,7 @@ accelerator settings. The KOKKOS package requires a "-k on" :doc:`command-line switch ` respectively, which invokes a "package kokkos" command with default settings. -For the GPU, USER-INTEL, and OPENMP packages, if a "-sf gpu" or "-sf +For the GPU, INTEL, and OPENMP packages, if a "-sf gpu" or "-sf intel" or "-sf omp" :doc:`command-line switch ` is used to auto-append accelerator suffixes to various styles in the input script, then those switches also invoke a "package gpu", "package @@ -289,7 +289,7 @@ threads allocated for each MPI task. This setting controls OpenMP parallelism only for routines run on the CPUs. For more details on setting the number of OpenMP threads, see the discussion of the *Nthreads* setting on this doc page for the "package omp" command. -The meaning of *Nthreads* is exactly the same for the GPU, USER-INTEL, +The meaning of *Nthreads* is exactly the same for the GPU, INTEL, and GPU packages. The *platform* keyword is only used with OpenCL to specify the ID for @@ -333,7 +333,7 @@ specify additional flags for the runtime build. ---------- The *intel* style invokes settings associated with the use of the -USER-INTEL package. All of its settings, except the *omp* and *mode* +INTEL package. All of its settings, except the *omp* and *mode* keywords, are ignored if LAMMPS was not built with Xeon Phi co-processor support. All of its settings, including the *omp* and *mode* keyword are applicable if LAMMPS was built with co-processor @@ -351,12 +351,12 @@ threads allocated for each MPI task. This setting controls OpenMP parallelism only for routines run on the CPUs. For more details on setting the number of OpenMP threads, see the discussion of the *Nthreads* setting on this doc page for the "package omp" command. -The meaning of *Nthreads* is exactly the same for the GPU, USER-INTEL, +The meaning of *Nthreads* is exactly the same for the GPU, INTEL, and GPU packages. The *mode* keyword determines the precision mode to use for computing pair style forces, either on the CPU or on the co-processor, -when using a USER-INTEL supported :doc:`pair style `. It +when using a INTEL supported :doc:`pair style `. It can take a value of *single*\ , *mixed* which is the default, or *double*\ . *Single* means single precision is used for the entire force calculation. *Mixed* means forces between a pair of atoms are @@ -376,7 +376,7 @@ Simultaneous Multithreading (SMT) such as Hyper-Threading (HT) on Intel processors. In this mode, one additional thread is generated per MPI process. LAMMPS will generate a warning in the case that more threads are used than available in SMT hardware on a node. If the PPPM solver -from the USER-INTEL package is not used, then the LRT setting is +from the INTEL package is not used, then the LRT setting is ignored and no extra threads are generated. Enabling LRT will replace the :doc:`run_style ` with the *verlet/lrt/intel* style that is identical to the default *verlet* style aside from supporting the @@ -600,7 +600,7 @@ too. .. note:: - If you build LAMMPS with the GPU, USER-INTEL, and / or OPENMP + If you build LAMMPS with the GPU, INTEL, and / or OPENMP packages, be aware these packages all allow setting of the *Nthreads* value via their package commands, but there is only a single global *Nthreads* value used by OpenMP. Thus if multiple package commands are @@ -642,7 +642,7 @@ with the GPU package. See the :doc:`Build package ` doc page for more info. The intel style of this command can only be invoked if LAMMPS was -built with the USER-INTEL package. See the :doc:`Build package ` doc page for more info. +built with the INTEL package. See the :doc:`Build package ` doc page for more info. The kk style of this command can only be invoked if LAMMPS was built with the KOKKOS package. See the :doc:`Build package ` @@ -667,7 +667,7 @@ automatically if the "-sf gpu" :doc:`command-line switch ` is used. If it is not used, you must invoke the package gpu command in your input script or via the "-pk gpu" :doc:`command-line switch `. -For the USER-INTEL package, the default is Nphi = 1 and the option +For the INTEL package, the default is Nphi = 1 and the option defaults are omp = 0, mode = mixed, lrt = no, balance = -1, tpc = 4, tptask = 240. The default ghost option is determined by the pair style being used. This value is output to the screen in the offload diff --git a/doc/src/pair_buck6d_coul_gauss.rst b/doc/src/pair_buck6d_coul_gauss.rst index 5f96a93fee..740ed0292f 100644 --- a/doc/src/pair_buck6d_coul_gauss.rst +++ b/doc/src/pair_buck6d_coul_gauss.rst @@ -135,7 +135,7 @@ to be specified in an input script that reads a restart file. Restrictions """""""""""" -These styles are part of the USER-MOFFF package. They are only +These styles are part of the MOFFF package. They are only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/pair_class2.rst b/doc/src/pair_class2.rst index cfa085cc28..f88663d36b 100644 --- a/doc/src/pair_class2.rst +++ b/doc/src/pair_class2.rst @@ -121,7 +121,7 @@ for mixing the cutoff distance. ---------- A version of these styles with a soft core, *lj/cut/soft*\ , suitable for use in -free energy calculations, is part of the USER-FEP package and is documented with +free energy calculations, is part of the FEP package and is documented with the :doc:`pair_style */soft ` styles. The version with soft core is only available if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. diff --git a/doc/src/pair_coul_tt.rst b/doc/src/pair_coul_tt.rst index 982e6c538b..d1465ef147 100644 --- a/doc/src/pair_coul_tt.rst +++ b/doc/src/pair_coul_tt.rst @@ -95,7 +95,7 @@ for all I,J pairs must be specified explicitly. Restrictions """""""""""" -These pair styles are part of the USER-DRUDE package. They are only +These pair styles are part of the DRUDE package. They are only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. diff --git a/doc/src/pair_eff.rst b/doc/src/pair_eff.rst index 5378483c56..ceb571a58d 100644 --- a/doc/src/pair_eff.rst +++ b/doc/src/pair_eff.rst @@ -291,7 +291,7 @@ Restrictions """""""""""" These pair styles will only be enabled if LAMMPS is built with the -USER-EFF package. It will only be enabled if LAMMPS was built with +EFF package. It will only be enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. diff --git a/doc/src/pair_fep_soft.rst b/doc/src/pair_fep_soft.rst index 55317aac77..6f8954a0a7 100644 --- a/doc/src/pair_fep_soft.rst +++ b/doc/src/pair_fep_soft.rst @@ -414,7 +414,7 @@ Restrictions """""""""""" The pair styles with soft core are only enabled if LAMMPS was built with the -USER-FEP package. The *long* versions also require the KSPACE package to be +FEP package. The *long* versions also require the KSPACE package to be installed. The soft *tip4p* versions also require the MOLECULE package to be installed. These styles are only enabled if LAMMPS was built with those packages. See the :doc:`Build package ` doc page for more diff --git a/doc/src/pair_hybrid.rst b/doc/src/pair_hybrid.rst index f57139e15c..b9b51e04c0 100644 --- a/doc/src/pair_hybrid.rst +++ b/doc/src/pair_hybrid.rst @@ -389,7 +389,7 @@ corresponding suffix to all sub-styles, if those versions exist. Otherwise the non-accelerated version will be used. The individual accelerated sub-styles are part of the GPU, KOKKOS, -USER-INTEL, OPENMP, and OPT packages, respectively. They are only +INTEL, OPENMP, and OPT packages, respectively. They are only enabled if LAMMPS was built with those packages. See the :doc:`Build package ` doc page for more info. diff --git a/doc/src/pair_lj.rst b/doc/src/pair_lj.rst index 22f0d0dd37..c42f3ffbb8 100644 --- a/doc/src/pair_lj.rst +++ b/doc/src/pair_lj.rst @@ -73,7 +73,7 @@ LJ cutoff specified in the pair_style command are used. ---------- A version of these styles with a soft core, *lj/cut/soft*\ , suitable -for use in free energy calculations, is part of the USER-FEP package and +for use in free energy calculations, is part of the FEP package and is documented with the :doc:`pair_style */soft ` styles. diff --git a/doc/src/pair_lj_cut_coul.rst b/doc/src/pair_lj_cut_coul.rst index f729c2016e..30ea469071 100644 --- a/doc/src/pair_lj_cut_coul.rst +++ b/doc/src/pair_lj_cut_coul.rst @@ -245,7 +245,7 @@ the pair_style command. A version of these styles with a soft core, *lj/cut/coul/soft*\ and *lj/cut/coul/long/soft*\ , suitable for use in free energy calculations, is -part of the USER-FEP package and is documented with the :doc:`pair_style */soft ` styles. +part of the FEP package and is documented with the :doc:`pair_style */soft ` styles. ---------- diff --git a/doc/src/pair_lj_cut_tip4p.rst b/doc/src/pair_lj_cut_tip4p.rst index 5f3b4e48e7..273483c941 100644 --- a/doc/src/pair_lj_cut_tip4p.rst +++ b/doc/src/pair_lj_cut_tip4p.rst @@ -164,7 +164,7 @@ the pair_style command. ---------- A version of these styles with a soft core, *lj/cut/tip4p/long/soft*\ , suitable -for use in free energy calculations, is part of the USER-FEP package and +for use in free energy calculations, is part of the FEP package and is documented with the :doc:`pair_style */soft ` styles. diff --git a/doc/src/pair_lj_long.rst b/doc/src/pair_lj_long.rst index 3609d093d9..f190d7b502 100644 --- a/doc/src/pair_lj_long.rst +++ b/doc/src/pair_lj_long.rst @@ -177,7 +177,7 @@ specified in the pair_style command. ---------- A version of these styles with a soft core, *lj/cut/soft*\ , suitable for use in -free energy calculations, is part of the USER-FEP package and is documented with +free energy calculations, is part of the FEP package and is documented with the :doc:`pair_style */soft ` styles. The version with soft core is only available if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. diff --git a/doc/src/pair_lj_switch3_coulgauss_long.rst b/doc/src/pair_lj_switch3_coulgauss_long.rst index 6b918c1071..631addeb57 100644 --- a/doc/src/pair_lj_switch3_coulgauss_long.rst +++ b/doc/src/pair_lj_switch3_coulgauss_long.rst @@ -135,7 +135,7 @@ These pair styles can only be used via the *pair* keyword of the Restrictions """""""""""" -These styles are part of the USER-YAFF package. They are only enabled +These styles are part of the YAFF package. They are only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. diff --git a/doc/src/pair_mesocnt.rst b/doc/src/pair_mesocnt.rst index 90b6644fd9..ca461aee7a 100644 --- a/doc/src/pair_mesocnt.rst +++ b/doc/src/pair_mesocnt.rst @@ -122,7 +122,7 @@ This pair style can only be used via the *pair* keyword of the Restrictions """""""""""" -This style is part of the USER-MESONT package. It is only +This style is part of the MESONT package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. This pair potential requires the :doc:`newton ` setting to be diff --git a/doc/src/pair_mesont_tpm.rst b/doc/src/pair_mesont_tpm.rst index d698dddd92..efdb70baf0 100644 --- a/doc/src/pair_mesont_tpm.rst +++ b/doc/src/pair_mesont_tpm.rst @@ -132,7 +132,7 @@ Restrictions """""""""""" -This pair style is a part of the USER-MSEONT package, and it is only enabled if +This pair style is a part of the MSEONT package, and it is only enabled if LAMMPS is built with that package. See the :doc:`Build package ` doc page for more information. diff --git a/doc/src/pair_mgpt.rst b/doc/src/pair_mgpt.rst index 77d73b531a..ea6621a3fd 100644 --- a/doc/src/pair_mgpt.rst +++ b/doc/src/pair_mgpt.rst @@ -168,7 +168,7 @@ This pair style can only be used via the *pair* keyword of the Restrictions """""""""""" -This pair style is part of the USER-MGPT package and is only enabled +This pair style is part of the MGPT package and is only enabled if LAMMPS is built with that package. See the :doc:`Build package ` doc page for more info. The MGPT potentials require the :doc:`newtion ` setting to be diff --git a/doc/src/pair_modify.rst b/doc/src/pair_modify.rst index b8969c0131..9c021e60a4 100644 --- a/doc/src/pair_modify.rst +++ b/doc/src/pair_modify.rst @@ -256,7 +256,7 @@ and *coul* settings to different values. .. note:: The *special* keyword is not compatible with pair styles from the - GPU or the USER-INTEL package and attempting to use it will cause + GPU or the INTEL package and attempting to use it will cause an error. .. note:: @@ -289,7 +289,7 @@ Restrictions You cannot use *shift* yes with *tail* yes, since those are conflicting options. You cannot use *tail* yes with 2d simulations. You cannot use *special* with pair styles from the GPU or -USER-INTEL package. +INTEL package. Related commands """""""""""""""" diff --git a/doc/src/pair_morse.rst b/doc/src/pair_morse.rst index 5ede37a916..87638e16f4 100644 --- a/doc/src/pair_morse.rst +++ b/doc/src/pair_morse.rst @@ -86,7 +86,7 @@ the *morse* and *morse/smooth/linear* styles. ---------- A version of the *morse* style with a soft core, *morse/soft*\ , -suitable for use in free energy calculations, is part of the USER-FEP +suitable for use in free energy calculations, is part of the FEP package and is documented with the :doc:`pair_style */soft ` styles. The version with soft core is only available if LAMMPS was built with that package. See the :doc:`Build package diff --git a/doc/src/pair_smtbq.rst b/doc/src/pair_smtbq.rst index 0f309869f0..96ccc5c4c7 100644 --- a/doc/src/pair_smtbq.rst +++ b/doc/src/pair_smtbq.rst @@ -284,7 +284,7 @@ This pair style can only be used via the *pair* keyword of the Restrictions """""""""""" -This pair style is part of the USER-SMTBQ package and is only enabled +This pair style is part of the SMTBQ package and is only enabled if LAMMPS is built with that package. See the :doc:`Build package ` doc page for more info. This potential requires using atom type 1 for oxygen and atom type diff --git a/doc/src/pair_sph_heatconduction.rst b/doc/src/pair_sph_heatconduction.rst index 404a99e785..6568fbe5f0 100644 --- a/doc/src/pair_sph_heatconduction.rst +++ b/doc/src/pair_sph_heatconduction.rst @@ -54,7 +54,7 @@ This style can only be used via the *pair* keyword of the :doc:`run_style respa Restrictions """""""""""" -This pair style is part of the USER-SPH package. It is only enabled +This pair style is part of the SPH package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/pair_sph_idealgas.rst b/doc/src/pair_sph_idealgas.rst index 74bc2d4f7e..84de28fdfd 100644 --- a/doc/src/pair_sph_idealgas.rst +++ b/doc/src/pair_sph_idealgas.rst @@ -63,7 +63,7 @@ This style can only be used via the *pair* keyword of the :doc:`run_style respa Restrictions """""""""""" -This pair style is part of the USER-SPH package. It is only enabled +This pair style is part of the SPH package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/pair_sph_lj.rst b/doc/src/pair_sph_lj.rst index b678f3c149..3239dca507 100644 --- a/doc/src/pair_sph_lj.rst +++ b/doc/src/pair_sph_lj.rst @@ -61,7 +61,7 @@ Restrictions As noted above, the Lennard-Jones parameters epsilon and sigma are set to unity. -This pair style is part of the USER-SPH package. It is only enabled +This pair style is part of the SPH package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/pair_sph_rhosum.rst b/doc/src/pair_sph_rhosum.rst index 6d0cbeb133..4db3b1efa2 100644 --- a/doc/src/pair_sph_rhosum.rst +++ b/doc/src/pair_sph_rhosum.rst @@ -55,7 +55,7 @@ This style can only be used via the *pair* keyword of the :doc:`run_style respa Restrictions """""""""""" -This pair style is part of the USER-SPH package. It is only enabled +This pair style is part of the SPH package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/pair_sph_taitwater.rst b/doc/src/pair_sph_taitwater.rst index b06d15579a..77739e09fa 100644 --- a/doc/src/pair_sph_taitwater.rst +++ b/doc/src/pair_sph_taitwater.rst @@ -67,7 +67,7 @@ This style can only be used via the *pair* keyword of the :doc:`run_style respa Restrictions """""""""""" -This pair style is part of the USER-SPH package. It is only enabled +This pair style is part of the SPH package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/pair_sph_taitwater_morris.rst b/doc/src/pair_sph_taitwater_morris.rst index f26a5db356..f21b8d2b9d 100644 --- a/doc/src/pair_sph_taitwater_morris.rst +++ b/doc/src/pair_sph_taitwater_morris.rst @@ -66,7 +66,7 @@ This style can only be used via the *pair* keyword of the :doc:`run_style respa Restrictions """""""""""" -This pair style is part of the USER-SPH package. It is only enabled +This pair style is part of the SPH package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/pair_sw.rst b/doc/src/pair_sw.rst index 5bc6649035..a4b39be3c9 100644 --- a/doc/src/pair_sw.rst +++ b/doc/src/pair_sw.rst @@ -166,7 +166,7 @@ hardware, as discussed on the :doc:`Speed packages ` doc page. The accelerated styles take the same arguments and should produce the same results, except for round-off and precision issues. -These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, +These accelerated styles are part of the GPU, INTEL, KOKKOS, OPENMP and OPT packages, respectively. They are only enabled if LAMMPS was built with those packages. See the :doc:`Build package ` doc page for more info. @@ -174,7 +174,7 @@ You can specify the accelerated styles explicitly in your input script by including their suffix, or you can use the :doc:`-suffix command-line switch ` when you invoke LAMMPS, or you can use the :doc:`suffix ` command in your input script. -When using the USER-INTEL package with this style, there is an +When using the INTEL package with this style, there is an additional 5 to 10 percent performance improvement when the Stillinger-Weber parameters p and q are set to 4 and 0 respectively. These parameters are common for modeling silicon and water. diff --git a/doc/src/pair_thole.rst b/doc/src/pair_thole.rst index e14576fa09..68966a3d9b 100644 --- a/doc/src/pair_thole.rst +++ b/doc/src/pair_thole.rst @@ -155,7 +155,7 @@ are defined using Restrictions """""""""""" -These pair styles are part of the USER-DRUDE package. They are only +These pair styles are part of the DRUDE package. They are only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. This pair_style should currently not be used with the :doc:`charmm dihedral style ` if the latter has non-zero 1-4 weighting diff --git a/doc/src/read_dump.rst b/doc/src/read_dump.rst index f9a8c87c86..5a51e9ad7a 100644 --- a/doc/src/read_dump.rst +++ b/doc/src/read_dump.rst @@ -121,7 +121,7 @@ formatted dump files. These formats take no additional values. The *molfile* format supports reading data through using the `VMD `_ molfile plugin interface. This dump reader format is only available, -if the USER-MOLFILE package has been installed when compiling +if the MOLFILE package has been installed when compiling LAMMPS. The *molfile* format takes one or two additional values. The *style* @@ -188,7 +188,7 @@ you must set the *box* flag to *no*\ . See details below. For the *molfile* format, reading simulation box information is typically supported, but the location of the simulation box origin is lost and no explicit information about periodicity or -orthogonal/triclinic box shape is available. The USER-MOLFILE package +orthogonal/triclinic box shape is available. The MOLFILE package makes a best effort to guess based on heuristics, but this may not always work perfectly. @@ -376,12 +376,12 @@ To read gzipped dump files, you must compile LAMMPS with the -DLAMMPS_GZIP option. See the :doc:`Build settings ` doc page for details. -The *molfile* dump file formats are part of the USER-MOLFILE package. +The *molfile* dump file formats are part of the MOLFILE package. They are only enabled if LAMMPS was built with that packages. See the :doc:`Build package ` doc page for more info. To write and read adios .bp files, you must compile LAMMPS with the -:ref:`USER-ADIOS ` package. +:ref:`ADIOS ` package. Related commands """""""""""""""" diff --git a/doc/src/suffix.rst b/doc/src/suffix.rst index 7a046c7dfd..1ece739f55 100644 --- a/doc/src/suffix.rst +++ b/doc/src/suffix.rst @@ -36,7 +36,7 @@ The specified style can be *gpu*\ , *intel*\ , *kk*\ , *omp*\ , *opt* or *hybrid*\ . These refer to optional packages that LAMMPS can be built with, as described on the :doc:`Build package ` doc page. The "gpu" style corresponds to the GPU package, the "intel" style to -the USER-INTEL package, the "kk" style to the KOKKOS package, the +the INTEL package, the "kk" style to the KOKKOS package, the "omp" style to the OPENMP package, and the "opt" style to the OPT package. @@ -44,7 +44,7 @@ These are the variants these packages provide: * GPU = a handful of pair styles and the PPPM kspace_style, optimized to run on one or more GPUs or multicore CPU/GPU nodes -* USER-INTEL = a collection of pair styles and neighbor routines +* INTEL = a collection of pair styles and neighbor routines optimized to run in single, mixed, or double precision on CPUs and Intel(R) Xeon Phi(TM) co-processors. * KOKKOS = a collection of atom, pair, and fix styles optimized to run @@ -74,9 +74,9 @@ created. For "hybrid", two packages are specified. The first is used whenever available. If a style with the first suffix is not available, the style with the suffix for the second package will be used if available. For -example, "hybrid intel omp" will use styles from the USER-INTEL package +example, "hybrid intel omp" will use styles from the INTEL package as a first choice and styles from the OPENMP package as a second choice -if no USER-INTEL variant is available. +if no INTEL variant is available. If the specified style is *off*\ , then any previously specified suffix is temporarily disabled, whether it was specified by a command-line diff --git a/doc/src/third_order.rst b/doc/src/third_order.rst index 2a6de933e0..513d96b9e8 100644 --- a/doc/src/third_order.rst +++ b/doc/src/third_order.rst @@ -55,7 +55,7 @@ Restrictions The command collects a 9 times the number of atoms in the group on every single MPI rank, so the memory requirements can be very significant for large systems. -This command is part of the USER-PHONON package. It is only enabled if +This command is part of the PHONON package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/utils/check-packages.py b/doc/utils/check-packages.py index 339d584c59..f7cbb2795a 100755 --- a/doc/utils/check-packages.py +++ b/doc/utils/check-packages.py @@ -41,7 +41,7 @@ if not os.path.isdir(doc_dir): pkgdirs = glob(os.path.join(src_dir, '[A-Z][A-Z]*')) dirs = re.compile(".*/([0-9A-Z-]+)$") -user = re.compile("USER-.*") +user = re.compile(".*") stdpkg = [] usrpkg = [] @@ -90,7 +90,7 @@ for p in stdpkg: counter += 1 print(f"Standard package {p} missing in Packages_details.rst") -matches = set(re.findall(':ref:`(USER-[A-Z0-9]+) `', text, re.MULTILINE)) +matches = set(re.findall(':ref:`([A-Z0-9]+) `', text, re.MULTILINE)) for p in usrpkg: if not p in matches: counter +=1 diff --git a/examples/PACKAGES/USER-MISC/pafi/README b/examples/PACKAGES/USER-MISC/pafi/README index c35dff313c..675ce59de4 100644 --- a/examples/PACKAGES/USER-MISC/pafi/README +++ b/examples/PACKAGES/USER-MISC/pafi/README @@ -1,4 +1,4 @@ -Run an example constrained sample for USER-PAFI calculation +Run an example constrained sample for PAFI calculation Author: Thomas Swinburne, CNRS / CINaM, Marseille @@ -21,7 +21,7 @@ allowing the calculation of free energy barriers and minimum free energy paths. To compile: -make yes-user-misc # for PAFI +make yes-misc # for PAFI make yes-manybody # for EAM potential make machine # for binary (machine= e.g. mpi) diff --git a/examples/PACKAGES/dielectric/README b/examples/PACKAGES/dielectric/README index 6cbb1e204d..fa7ac28c97 100644 --- a/examples/PACKAGES/dielectric/README +++ b/examples/PACKAGES/dielectric/README @@ -1,4 +1,4 @@ -This folder contains some example data and input scripts for the USER-DIELECTRIC package. Please refer to the following reference for more details: +This folder contains some example data and input scripts for the DIELECTRIC package. Please refer to the following reference for more details: Nguyen TD, Li H, Bagchi D, Solis FJ, Olvera de la Cruz, Incorporating surface polarization effects into large-scale coarse-grained molecular dynamics simulation, Computer Physics Communications 2019, 241, 80--91. diff --git a/examples/PACKAGES/mesont/README b/examples/PACKAGES/mesont/README index ffbc667120..7d6be7993a 100644 --- a/examples/PACKAGES/mesont/README +++ b/examples/PACKAGES/mesont/README @@ -1,8 +1,8 @@ -=== USER-MESONT examples === +=== MESONT examples === =============================== The files in this folder provide examples of using the CNT -mesoscopic force field (USER-MESONT). +mesoscopic force field (MESONT). Contributing author: Maxim Shugaev (UVA), mvs9t@virginia.edu diff --git a/examples/PACKAGES/qtb/README b/examples/PACKAGES/qtb/README index 41dec0dea3..80cde6395c 100644 --- a/examples/PACKAGES/qtb/README +++ b/examples/PACKAGES/qtb/README @@ -1,5 +1,5 @@ -There are example scripts for using the USER-QTB package. -See its src/USER-QTB/README file for more info on +There are example scripts for using the QTB package. +See its src/QTB/README file for more info on quantum nuclear effects and when they are important to include in your model. diff --git a/examples/PACKAGES/reaction/tiny_nylon/log.22Apr20.tiny_nylon.stabilized_variable_probability.g++.1 b/examples/PACKAGES/reaction/tiny_nylon/log.22Apr20.tiny_nylon.stabilized_variable_probability.g++.1 index 16e4deef51..57455b04f4 100644 --- a/examples/PACKAGES/reaction/tiny_nylon/log.22Apr20.tiny_nylon.stabilized_variable_probability.g++.1 +++ b/examples/PACKAGES/reaction/tiny_nylon/log.22Apr20.tiny_nylon.stabilized_variable_probability.g++.1 @@ -96,8 +96,8 @@ thermo 50 # dump 1 all xyz 1 test_vis.xyz fix myrxns all bond/react stabilization yes statted_grp .03 react rxn1 all 1 0.0 5.0 mol1 mol2 rxn1_stp1_map prob v_prob1 1234 react rxn2 all 1 0.0 5.0 mol3 mol4 rxn1_stp2_map prob v_prob2 1234 -WARNING: Bond/react: Atom affected by reaction rxn1 too close to template edge (src/USER-REACTION/fix_bond_react.cpp:2051) -WARNING: Bond/react: Atom affected by reaction rxn2 too close to template edge (src/USER-REACTION/fix_bond_react.cpp:2051) +WARNING: Bond/react: Atom affected by reaction rxn1 too close to template edge (src/REACTION/fix_bond_react.cpp:2051) +WARNING: Bond/react: Atom affected by reaction rxn2 too close to template edge (src/REACTION/fix_bond_react.cpp:2051) dynamic group bond_react_MASTER_group defined dynamic group statted_grp_REACT defined diff --git a/examples/PACKAGES/reaction/tiny_nylon/log.22Apr20.tiny_nylon.stabilized_variable_probability.g++.4 b/examples/PACKAGES/reaction/tiny_nylon/log.22Apr20.tiny_nylon.stabilized_variable_probability.g++.4 index 527d71ce87..b6dcdafc54 100644 --- a/examples/PACKAGES/reaction/tiny_nylon/log.22Apr20.tiny_nylon.stabilized_variable_probability.g++.4 +++ b/examples/PACKAGES/reaction/tiny_nylon/log.22Apr20.tiny_nylon.stabilized_variable_probability.g++.4 @@ -96,8 +96,8 @@ thermo 50 # dump 1 all xyz 1 test_vis.xyz fix myrxns all bond/react stabilization yes statted_grp .03 react rxn1 all 1 0.0 5.0 mol1 mol2 rxn1_stp1_map prob v_prob1 1234 react rxn2 all 1 0.0 5.0 mol3 mol4 rxn1_stp2_map prob v_prob2 1234 -WARNING: Bond/react: Atom affected by reaction rxn1 too close to template edge (src/USER-REACTION/fix_bond_react.cpp:2051) -WARNING: Bond/react: Atom affected by reaction rxn2 too close to template edge (src/USER-REACTION/fix_bond_react.cpp:2051) +WARNING: Bond/react: Atom affected by reaction rxn1 too close to template edge (src/REACTION/fix_bond_react.cpp:2051) +WARNING: Bond/react: Atom affected by reaction rxn2 too close to template edge (src/REACTION/fix_bond_react.cpp:2051) dynamic group bond_react_MASTER_group defined dynamic group statted_grp_REACT defined diff --git a/examples/PACKAGES/scafacos/log.27Nov18.scafacos.cw.ewald.g++.1 b/examples/PACKAGES/scafacos/log.27Nov18.scafacos.cw.ewald.g++.1 index e0b10de95e..179f3bfcb2 100644 --- a/examples/PACKAGES/scafacos/log.27Nov18.scafacos.cw.ewald.g++.1 +++ b/examples/PACKAGES/scafacos/log.27Nov18.scafacos.cw.ewald.g++.1 @@ -36,7 +36,7 @@ run_style verlet thermo 10 run 100 Setting up ScaFaCoS with solver ewald ... -WARNING: Virial computation for Ewald not available (src/USER-SCAFACOS/scafacos.cpp:107) +WARNING: Virial computation for Ewald not available (src/SCAFACOS/scafacos.cpp:107) Neighbor list info ... update every 1 steps, delay 0 steps, check yes max neighbors/atom: 2000, page size: 100000 diff --git a/examples/PACKAGES/scafacos/log.27Nov18.scafacos.cw.ewald.g++.4 b/examples/PACKAGES/scafacos/log.27Nov18.scafacos.cw.ewald.g++.4 index f881ed003a..877cf778fa 100644 --- a/examples/PACKAGES/scafacos/log.27Nov18.scafacos.cw.ewald.g++.4 +++ b/examples/PACKAGES/scafacos/log.27Nov18.scafacos.cw.ewald.g++.4 @@ -36,7 +36,7 @@ run_style verlet thermo 10 run 100 Setting up ScaFaCoS with solver ewald ... -WARNING: Virial computation for Ewald not available (src/USER-SCAFACOS/scafacos.cpp:107) +WARNING: Virial computation for Ewald not available (src/SCAFACOS/scafacos.cpp:107) Neighbor list info ... update every 1 steps, delay 0 steps, check yes max neighbors/atom: 2000, page size: 100000 diff --git a/examples/PACKAGES/scafacos/log.27Nov18.scafacos.cw.p3m.g++.1 b/examples/PACKAGES/scafacos/log.27Nov18.scafacos.cw.p3m.g++.1 index 9410529284..8b6cd7d81e 100644 --- a/examples/PACKAGES/scafacos/log.27Nov18.scafacos.cw.p3m.g++.1 +++ b/examples/PACKAGES/scafacos/log.27Nov18.scafacos.cw.p3m.g++.1 @@ -36,7 +36,7 @@ run_style verlet thermo 10 run 100 Setting up ScaFaCoS with solver p3m ... -WARNING: Virial computation for P3M not available (src/USER-SCAFACOS/scafacos.cpp:104) +WARNING: Virial computation for P3M not available (src/SCAFACOS/scafacos.cpp:104) Neighbor list info ... update every 1 steps, delay 0 steps, check yes max neighbors/atom: 2000, page size: 100000 diff --git a/examples/PACKAGES/scafacos/log.27Nov18.scafacos.cw.p3m.g++.4 b/examples/PACKAGES/scafacos/log.27Nov18.scafacos.cw.p3m.g++.4 index 2dc5c07b2b..2d44371649 100644 --- a/examples/PACKAGES/scafacos/log.27Nov18.scafacos.cw.p3m.g++.4 +++ b/examples/PACKAGES/scafacos/log.27Nov18.scafacos.cw.p3m.g++.4 @@ -36,7 +36,7 @@ run_style verlet thermo 10 run 100 Setting up ScaFaCoS with solver p3m ... -WARNING: Virial computation for P3M not available (src/USER-SCAFACOS/scafacos.cpp:104) +WARNING: Virial computation for P3M not available (src/SCAFACOS/scafacos.cpp:104) Neighbor list info ... update every 1 steps, delay 0 steps, check yes max neighbors/atom: 2000, page size: 100000 diff --git a/examples/PACKAGES/scafacos/log.27Nov18.scafacos.ewald.g++.1 b/examples/PACKAGES/scafacos/log.27Nov18.scafacos.ewald.g++.1 index e6cd7c506f..a4547054c2 100644 --- a/examples/PACKAGES/scafacos/log.27Nov18.scafacos.ewald.g++.1 +++ b/examples/PACKAGES/scafacos/log.27Nov18.scafacos.ewald.g++.1 @@ -46,7 +46,7 @@ thermo 10 run 100 Setting up ScaFaCoS with solver ewald ... -WARNING: Virial computation for Ewald not available (src/USER-SCAFACOS/scafacos.cpp:107) +WARNING: Virial computation for Ewald not available (src/SCAFACOS/scafacos.cpp:107) Neighbor list info ... update every 1 steps, delay 0 steps, check yes max neighbors/atom: 2000, page size: 100000 diff --git a/examples/PACKAGES/scafacos/log.27Nov18.scafacos.ewald.g++.4 b/examples/PACKAGES/scafacos/log.27Nov18.scafacos.ewald.g++.4 index 39e0387491..2036be9b24 100644 --- a/examples/PACKAGES/scafacos/log.27Nov18.scafacos.ewald.g++.4 +++ b/examples/PACKAGES/scafacos/log.27Nov18.scafacos.ewald.g++.4 @@ -46,7 +46,7 @@ thermo 10 run 100 Setting up ScaFaCoS with solver ewald ... -WARNING: Virial computation for Ewald not available (src/USER-SCAFACOS/scafacos.cpp:107) +WARNING: Virial computation for Ewald not available (src/SCAFACOS/scafacos.cpp:107) Neighbor list info ... update every 1 steps, delay 0 steps, check yes max neighbors/atom: 2000, page size: 100000 diff --git a/examples/PACKAGES/scafacos/log.27Nov18.scafacos.g++.1 b/examples/PACKAGES/scafacos/log.27Nov18.scafacos.g++.1 index 6b36f0ba91..417c8e9f84 100644 --- a/examples/PACKAGES/scafacos/log.27Nov18.scafacos.g++.1 +++ b/examples/PACKAGES/scafacos/log.27Nov18.scafacos.g++.1 @@ -46,7 +46,7 @@ thermo 10 run 100 Setting up ScaFaCoS with solver p3m ... -WARNING: Virial computation for P3M not available (src/USER-SCAFACOS/scafacos.cpp:104) +WARNING: Virial computation for P3M not available (src/SCAFACOS/scafacos.cpp:104) Neighbor list info ... update every 1 steps, delay 0 steps, check yes max neighbors/atom: 2000, page size: 100000 diff --git a/examples/PACKAGES/scafacos/log.27Nov18.scafacos.g++.4 b/examples/PACKAGES/scafacos/log.27Nov18.scafacos.g++.4 index 23f55fc5a6..9cad97aa6b 100644 --- a/examples/PACKAGES/scafacos/log.27Nov18.scafacos.g++.4 +++ b/examples/PACKAGES/scafacos/log.27Nov18.scafacos.g++.4 @@ -46,7 +46,7 @@ thermo 10 run 100 Setting up ScaFaCoS with solver p3m ... -WARNING: Virial computation for P3M not available (src/USER-SCAFACOS/scafacos.cpp:104) +WARNING: Virial computation for P3M not available (src/SCAFACOS/scafacos.cpp:104) Neighbor list info ... update every 1 steps, delay 0 steps, check yes max neighbors/atom: 2000, page size: 100000 diff --git a/examples/PACKAGES/scafacos/log.27Nov18.scafacos.p3m.g++.1 b/examples/PACKAGES/scafacos/log.27Nov18.scafacos.p3m.g++.1 index 92e85e072e..3c5a48c251 100644 --- a/examples/PACKAGES/scafacos/log.27Nov18.scafacos.p3m.g++.1 +++ b/examples/PACKAGES/scafacos/log.27Nov18.scafacos.p3m.g++.1 @@ -46,7 +46,7 @@ thermo 10 run 100 Setting up ScaFaCoS with solver p3m ... -WARNING: Virial computation for P3M not available (src/USER-SCAFACOS/scafacos.cpp:104) +WARNING: Virial computation for P3M not available (src/SCAFACOS/scafacos.cpp:104) Neighbor list info ... update every 1 steps, delay 0 steps, check yes max neighbors/atom: 2000, page size: 100000 diff --git a/examples/PACKAGES/scafacos/log.27Nov18.scafacos.p3m.g++.4 b/examples/PACKAGES/scafacos/log.27Nov18.scafacos.p3m.g++.4 index 18199eca16..4e079da923 100644 --- a/examples/PACKAGES/scafacos/log.27Nov18.scafacos.p3m.g++.4 +++ b/examples/PACKAGES/scafacos/log.27Nov18.scafacos.p3m.g++.4 @@ -46,7 +46,7 @@ thermo 10 run 100 Setting up ScaFaCoS with solver p3m ... -WARNING: Virial computation for P3M not available (src/USER-SCAFACOS/scafacos.cpp:104) +WARNING: Virial computation for P3M not available (src/SCAFACOS/scafacos.cpp:104) Neighbor list info ... update every 1 steps, delay 0 steps, check yes max neighbors/atom: 2000, page size: 100000 diff --git a/examples/PACKAGES/sph/README b/examples/PACKAGES/sph/README index b5a1acc614..9df07acab7 100644 --- a/examples/PACKAGES/sph/README +++ b/examples/PACKAGES/sph/README @@ -1 +1 @@ -see the USER-SPH user's guide for a detailed explanation of these examples. +see the SPH user's guide for a detailed explanation of these examples. diff --git a/examples/PACKAGES/tally/README b/examples/PACKAGES/tally/README index fcc58e6e0d..074193b0f2 100644 --- a/examples/PACKAGES/tally/README +++ b/examples/PACKAGES/tally/README @@ -1,4 +1,4 @@ -Examples and tests for USER-TALLY compute styles. +Examples and tests for TALLY compute styles. The examples in this directory show where and how compute tally styles are equivalent to other facilities in LAMMPS and thus they can also be diff --git a/examples/PACKAGES/uef/README b/examples/PACKAGES/uef/README index aaf53fa2a1..bedffbfb08 100644 --- a/examples/PACKAGES/uef/README +++ b/examples/PACKAGES/uef/README @@ -1,4 +1,4 @@ -This directory contains two short example scripts for the USER-UEF +This directory contains two short example scripts for the UEF package. diff --git a/lib/Install.py b/lib/Install.py index 284ef6888b..0a0979c2ee 100644 --- a/lib/Install.py +++ b/lib/Install.py @@ -26,7 +26,7 @@ specify -m and optionally -e, order does not matter Examples: make lib-poems args="-m serial" # build POEMS lib with same settings as in the serial Makefile in src -make lib-colvars args="-m mpi" # build USER-COLVARS lib with same settings as in the mpi Makefile in src +make lib-colvars args="-m mpi" # build COLVARS lib with same settings as in the mpi Makefile in src make lib-meam args="-m ifort" # build MEAM lib with custom Makefile.ifort (using Intel Fortran) """ diff --git a/lib/README b/lib/README index b0dfb1d889..75fca5c185 100644 --- a/lib/README +++ b/lib/README @@ -15,7 +15,7 @@ one of the provided Makefiles to make it suitable for your machine. The libraries in this directory are the following: -atc atomistic-to-continuum methods, USER-ATC package +atc atomistic-to-continuum methods, ATC package from Reese Jones, Jeremy Templeton, Jon Zimmerman (Sandia) awpmd antisymmetrized wave packet molecular dynamics, AWPMD package from Ilya Valuev (JIHT RAS) @@ -33,11 +33,11 @@ kim hooks to the KIM library, used by KIM package from Ryan Elliott and Ellad Tadmor (U Minn) kokkos Kokkos package for GPU and many-core acceleration from Kokkos development team (Sandia) -linalg set of BLAS and LAPACK routines needed by USER-ATC package +linalg set of BLAS and LAPACK routines needed by ATC package from Axel Kohlmeyer (Temple U) message client/server communication library via MPI, sockets, files from Steve Plimpton (Sandia) -molfile hooks to VMD molfile plugins, used by the USER-MOLFILE package +molfile hooks to VMD molfile plugins, used by the MOLFILE package from Axel Kohlmeyer (Temple U) and the VMD development team mscg hooks to the MSCG library, used by fix_mscg command from Jacob Wagner and Greg Voth group (U Chicago) diff --git a/lib/atc/Makefile.lammps.empty b/lib/atc/Makefile.lammps.empty index 49cab486a9..8624fdcadb 100644 --- a/lib/atc/Makefile.lammps.empty +++ b/lib/atc/Makefile.lammps.empty @@ -1,5 +1,5 @@ # Settings that the LAMMPS build will import when this package library is used -user-atc_SYSINC = -user-atc_SYSLIB = -user-atc_SYSPATH = +atc_SYSINC = +atc_SYSLIB = +atc_SYSPATH = diff --git a/lib/atc/Makefile.lammps.installed b/lib/atc/Makefile.lammps.installed index c8cd66af26..223f41cd08 100644 --- a/lib/atc/Makefile.lammps.installed +++ b/lib/atc/Makefile.lammps.installed @@ -1,5 +1,5 @@ # Settings that the LAMMPS build will import when this package library is used -user-atc_SYSINC = -user-atc_SYSLIB = -lblas -llapack -user-atc_SYSPATH = +atc_SYSINC = +atc_SYSLIB = -lblas -llapack +atc_SYSPATH = diff --git a/lib/atc/Makefile.lammps.linalg b/lib/atc/Makefile.lammps.linalg index 5d92fd8cfb..930ee6357b 100644 --- a/lib/atc/Makefile.lammps.linalg +++ b/lib/atc/Makefile.lammps.linalg @@ -1,6 +1,6 @@ # Settings that the LAMMPS build will import when this package library is used -user-atc_SYSINC = -user-atc_SYSLIB = -llinalg -lgfortran -user-atc_SYSPATH = -L../../lib/linalg$(LIBOBJDIR) +atc_SYSINC = +atc_SYSLIB = -llinalg -lgfortran +atc_SYSPATH = -L../../lib/linalg$(LIBOBJDIR) diff --git a/lib/atc/README b/lib/atc/README index d3adfdafe4..70a83e5c8f 100644 --- a/lib/atc/README +++ b/lib/atc/README @@ -10,7 +10,7 @@ estimation and molecular dynamics-finite element coupling methods. ------------------------------------------------- This directory has source files to build a library that LAMMPS -links against when using the USER-ATC package. +links against when using the ATC package. This library must be built with a C++ compiler, before LAMMPS is built, so LAMMPS can link against it. diff --git a/lib/awpmd/Makefile.lammps.empty b/lib/awpmd/Makefile.lammps.empty index d80c517f3d..551267720e 100644 --- a/lib/awpmd/Makefile.lammps.empty +++ b/lib/awpmd/Makefile.lammps.empty @@ -1,5 +1,5 @@ # Settings that the LAMMPS build will import when this package library is used -user-awpmd_SYSINC = -user-awpmd_SYSLIB = -user-awpmd_SYSPATH = +awpmd_SYSINC = +awpmd_SYSLIB = +awpmd_SYSPATH = diff --git a/lib/awpmd/Makefile.lammps.installed b/lib/awpmd/Makefile.lammps.installed index 6b089784a0..975133e429 100644 --- a/lib/awpmd/Makefile.lammps.installed +++ b/lib/awpmd/Makefile.lammps.installed @@ -1,5 +1,5 @@ # Settings that the LAMMPS build will import when this package library is used -user-awpmd_SYSINC = -user-awpmd_SYSLIB = -lblas -llapack -user-awpmd_SYSPATH = +awpmd_SYSINC = +awpmd_SYSLIB = -lblas -llapack +awpmd_SYSPATH = diff --git a/lib/awpmd/Makefile.lammps.linalg b/lib/awpmd/Makefile.lammps.linalg index a30f4a821d..1d986da5d7 100644 --- a/lib/awpmd/Makefile.lammps.linalg +++ b/lib/awpmd/Makefile.lammps.linalg @@ -1,5 +1,5 @@ # Settings that the LAMMPS build will import when this package library is used -user-awpmd_SYSINC = -user-awpmd_SYSLIB = -llinalg -lgfortran -user-awpmd_SYSPATH = -L../../lib/linalg$(LIBOBJDIR) +awpmd_SYSINC = +awpmd_SYSLIB = -llinalg -lgfortran +awpmd_SYSPATH = -L../../lib/linalg$(LIBOBJDIR) diff --git a/lib/awpmd/README b/lib/awpmd/README index 20e142f74c..d829361a1b 100644 --- a/lib/awpmd/README +++ b/lib/awpmd/README @@ -14,7 +14,7 @@ of wxWidgets Library License (see license directory for details). ------------------------------------------------- This directory has source files to build a library that LAMMPS -links against when using the USER-AWPMD package. +links against when using the AWPMD package. This library must be built with a C++ compiler, before LAMMPS is built, so LAMMPS can link against it. diff --git a/lib/awpmd/ivutils/include/pairhash.h b/lib/awpmd/ivutils/include/pairhash.h index 401b7b91e3..ea598e9f4d 100644 --- a/lib/awpmd/ivutils/include/pairhash.h +++ b/lib/awpmd/ivutils/include/pairhash.h @@ -11,7 +11,7 @@ /*e**************************************************************************** * $Log: pairhash.h,v $ * Revision 1.3 2011/06/11 18:18:50 morozov - * USER-AWPMD compiles on Linux now! + * AWPMD compiles on Linux now! * * Revision 1.2 2011/06/11 16:53:55 valuev * sync with LAMMPS diff --git a/lib/colvars/README b/lib/colvars/README index cd6e59511a..eeba557ce3 100644 --- a/lib/colvars/README +++ b/lib/colvars/README @@ -49,7 +49,7 @@ C++11-only features. ## How to build (CMake) This is the recommended build recipe: no additional settings are normally -needed besides "-D PKG_USER-COLVARS=yes". +needed besides "-D PKG_COLVARS=yes". Building and linking of Lepton (or other C++11-only features) is enabled automatically when compilation is carried out with C++11 support, and disabled diff --git a/lib/h5md/README b/lib/h5md/README index 4768b50697..a6d4d8206b 100644 --- a/lib/h5md/README +++ b/lib/h5md/README @@ -1,6 +1,6 @@ This directory contains the ch5md library, which is bundled with LAMMPS under its own BSD license; see below. This library is used -when the USER-H5MD package is included in a LAMMPS build and the dump +when the H5MD package is included in a LAMMPS build and the dump h5md command is invoked in a LAMMPS input script. You can type "make lib-h5md" from the src directory to see help on how @@ -25,7 +25,7 @@ license that can be found in the file LICENSE. To use the h5md dump style in lammps, execute make -f Makefile.h5cc in this directory then -make yes-user-h5md +make yes-h5md in the src directory of LAMMPS to rebuild LAMMPS. Note that you must have the h5cc compiler installed to use diff --git a/lib/linalg/README b/lib/linalg/README index 725df86c4c..de2d83dcbd 100644 --- a/lib/linalg/README +++ b/lib/linalg/README @@ -1,10 +1,10 @@ -This directory has BLAS and LAPACK files needed by the USER-ATC and -USER-AWPMD packages, and possibly by other packages in the future. +This directory has BLAS and LAPACK files needed by the ATC and +AWPMD packages, and possibly by other packages in the future. Note that this is an *incomplete* subset of full BLAS/LAPACK. You should only need to build and use the library in this directory if -you want to build LAMMPS with the USER-ATC and/or USER-AWPMD packages +you want to build LAMMPS with the ATC and/or AWPMD packages AND you do not have any other suitable BLAS and LAPACK libraries installed on your system. E.g. ATLAS, GOTO-BLAS, OpenBLAS, ACML, or MKL. diff --git a/lib/mdi/Install.py b/lib/mdi/Install.py index 1c411d349e..d67437d0ce 100644 --- a/lib/mdi/Install.py +++ b/lib/mdi/Install.py @@ -28,7 +28,7 @@ specify -m and optionally -e, order does not matter Examples: make lib-poems args="-m serial" # build POEMS lib with same settings as in the serial Makefile in src -make lib-colvars args="-m mpi" # build USER-COLVARS lib with same settings as in the mpi Makefile in src +make lib-colvars args="-m mpi" # build COLVARS lib with same settings as in the mpi Makefile in src make lib-meam args="-m ifort" # build MEAM lib with custom Makefile.ifort (using Intel Fortran) """ diff --git a/lib/mesont/Install.py b/lib/mesont/Install.py index 284ef6888b..0a0979c2ee 100644 --- a/lib/mesont/Install.py +++ b/lib/mesont/Install.py @@ -26,7 +26,7 @@ specify -m and optionally -e, order does not matter Examples: make lib-poems args="-m serial" # build POEMS lib with same settings as in the serial Makefile in src -make lib-colvars args="-m mpi" # build USER-COLVARS lib with same settings as in the mpi Makefile in src +make lib-colvars args="-m mpi" # build COLVARS lib with same settings as in the mpi Makefile in src make lib-meam args="-m ifort" # build MEAM lib with custom Makefile.ifort (using Intel Fortran) """ diff --git a/lib/mesont/README b/lib/mesont/README index 886263ddb3..3ed47bf218 100644 --- a/lib/mesont/README +++ b/lib/mesont/README @@ -1,4 +1,4 @@ -USER-MESONT is a LAMMPS package for simulation of nanomechanics of carbon +MESONT is a LAMMPS package for simulation of nanomechanics of carbon nanotubes (CNTs). The model is based on a coarse-grained representation of CNTs as "flexible cylinders" consisting of a variable number of segments. Internal interactions within a CNT and the van der Waals diff --git a/lib/molfile/Makefile.lammps b/lib/molfile/Makefile.lammps index a181f48aec..55a0487a9f 100644 --- a/lib/molfile/Makefile.lammps +++ b/lib/molfile/Makefile.lammps @@ -3,7 +3,7 @@ # # http://www.ks.uiuc.edu/Research/vmd/plugins/molfile # -# When you build LAMMPS with the USER-MOLFILE package installed, it will +# When you build LAMMPS with the MOLFILE package installed, it will # use the 3 settings in this file. They should be set as follows. # # The molfile_SYSINC setting is to point to the folder with the VMD diff --git a/lib/molfile/README b/lib/molfile/README index 9e8260c202..9960b5a836 100644 --- a/lib/molfile/README +++ b/lib/molfile/README @@ -1,6 +1,6 @@ This directory has a Makefile.lammps file with settings that allows LAMMPS to dynamically link to the VMD molfile library. This is -required to use the USER-MOLFILE package and its interface to the dump +required to use the MOLFILE package and its interface to the dump and write_dump commands in a LAMMPS input script. More information about the VMD molfile plugins can be found at diff --git a/lib/mscg/README b/lib/mscg/README index 329eebba96..5e3cfe4452 100755 --- a/lib/mscg/README +++ b/lib/mscg/README @@ -51,7 +51,7 @@ When these steps are complete you can build LAMMPS with the MS-CG package installed: % cd lammps/src -% make yes-USER-MSCG +% make yes-MSCG % make g++ (or whatever target you wish) Note that if you download and unpack a new LAMMPS tarball, the diff --git a/lib/netcdf/README b/lib/netcdf/README index b18ea1d276..c23b7fbb06 100644 --- a/lib/netcdf/README +++ b/lib/netcdf/README @@ -1,6 +1,6 @@ The Makefile.lammps file in this directory is used when building LAMMPS with packages that make use of the NetCDF library or its -parallel version. For example, the USER-NETCDF package which adds +parallel version. For example, the NETCDF package which adds dump netcdf and dump netcdf/mpiio commands. The file has several settings needed to compile diff --git a/lib/plumed/README b/lib/plumed/README index 6b9b22bbce..a21b40ced1 100644 --- a/lib/plumed/README +++ b/lib/plumed/README @@ -51,6 +51,6 @@ When these steps are complete you can build LAMMPS with the PLUMED package installed: % cd lammps/src -% make yes-user-plumed +% make yes-plumed % make mpi (or whatever target you wish) diff --git a/lib/qmmm/README b/lib/qmmm/README index 196aa4d7e0..ac8215ac05 100644 --- a/lib/qmmm/README +++ b/lib/qmmm/README @@ -21,7 +21,7 @@ and also an interface layer into the QM code similar to the one in QE. LAMMPS has support for two build systems, the traditional make based one and a newer one based on CMake. You have to build LAMMPS as a -library with the USER-QMMM package included and for that you need to +library with the QMMM package included and for that you need to also build the libqmmm.a library in this folder. Below you will find some description of the steps needed in either case. @@ -55,7 +55,7 @@ build configuration with CMake: mkdir build-qmmm cd build-qmmm - cmake -C ../cmake/presets/minimal.cmake -D PKG_USER-QMMM=yes \ + cmake -C ../cmake/presets/minimal.cmake -D PKG_QMMM=yes \ -D BUILD_LIB=yes -DBUILD_SHARED_LIBS=yes ../cmake make make install @@ -139,7 +139,7 @@ this library exist. Step 2) Build a standalone LAMMPS executable as described in the LAMMPS -documentation and include the USER-QMMM package. This executable +documentation and include the QMMM package. This executable is not functional for QM/MM, but it will usually be needed to run all MM calculations for equilibration and testing and also to confirm that the classical part of the code is set up correctly. @@ -147,7 +147,7 @@ Also build a the LAMMPS library. This can be a static library or a shared library. For example for a static library with the minimum set of packages required for the examples here: - make yes-molecule yes-kspace yes-rigid yes-user-qmmm + make yes-molecule yes-kspace yes-rigid yes-qmmm make mpi make mode=lib mpi diff --git a/lib/vtk/README b/lib/vtk/README index 61e2a40c23..d0e2481f6f 100644 --- a/lib/vtk/README +++ b/lib/vtk/README @@ -1,5 +1,5 @@ The Makefile.lammps file in this directory is used when building -LAMMPS with its USER-VTK package installed. The file has several +LAMMPS with its VTK package installed. The file has several settings needed to compile and link LAMMPS with the VTK library. You should choose a Makefile.lammps.* file compatible with your system and your version of VTK, and copy it to Makefile.lammps before building @@ -23,7 +23,7 @@ vtk_SYSINC refers to the include directory of the installed VTK library vtk_SYSLIB refers to the libraries needed to link to from an application (LAMMPS in this case) to "embed" VTK in the application. VTK consists of multiple shared libraries which are -needed when using the USER-VTK package. +needed when using the VTK package. vtk_SYSPATH = refers to the path (e.g. -L/usr/local/lib) where the VTK library can be found. You may not need this setting if the path is diff --git a/python/lammps/core.py b/python/lammps/core.py index 070c0a4ffd..df5e578683 100644 --- a/python/lammps/core.py +++ b/python/lammps/core.py @@ -1536,7 +1536,7 @@ class lammps(object): """ result = {} - for p in ['GPU', 'KOKKOS', 'USER-INTEL', 'OPENMP']: + for p in ['GPU', 'KOKKOS', 'INTEL', 'OPENMP']: result[p] = {} c = 'api' result[p][c] = [] diff --git a/src/USER-ADIOS/Install.sh b/src/ADIOS/Install.sh similarity index 98% rename from src/USER-ADIOS/Install.sh rename to src/ADIOS/Install.sh index b8a2f1f9a9..ddca8c6efe 100644 --- a/src/USER-ADIOS/Install.sh +++ b/src/ADIOS/Install.sh @@ -72,7 +72,7 @@ adios_SYSLIB=${ADIOS2_LIB} sed -i -e '/^include.*ADIOS.*$/d' ../Makefile.package.settings # multiline form needed for BSD sed on Macs sed -i -e '4 i \ -include ../USER-ADIOS/Makefile.lammps +include ../ADIOS/Makefile.lammps ' ../Makefile.package.settings fi fi diff --git a/src/USER-ADIOS/README b/src/ADIOS/README similarity index 95% rename from src/USER-ADIOS/README rename to src/ADIOS/README index 2b66f27f6b..18f4a8aed4 100644 --- a/src/USER-ADIOS/README +++ b/src/ADIOS/README @@ -8,7 +8,7 @@ Configure LAMMPS with CMake ADIOS2_DIR to the ADIOS 2.x installation path b. use the cmake option - -D PKG_USER-ADIOS=yes + -D PKG_ADIOS=yes The person who created this package is Norbert Podhorszki (Oak Ridge National Laboratory); If you need help, please submit a ticket at the OLCF ticket user support mentioning his name in the ticket. diff --git a/src/USER-ADIOS/dump_atom_adios.cpp b/src/ADIOS/dump_atom_adios.cpp similarity index 100% rename from src/USER-ADIOS/dump_atom_adios.cpp rename to src/ADIOS/dump_atom_adios.cpp diff --git a/src/USER-ADIOS/dump_atom_adios.h b/src/ADIOS/dump_atom_adios.h similarity index 100% rename from src/USER-ADIOS/dump_atom_adios.h rename to src/ADIOS/dump_atom_adios.h diff --git a/src/USER-ADIOS/dump_custom_adios.cpp b/src/ADIOS/dump_custom_adios.cpp similarity index 100% rename from src/USER-ADIOS/dump_custom_adios.cpp rename to src/ADIOS/dump_custom_adios.cpp diff --git a/src/USER-ADIOS/dump_custom_adios.h b/src/ADIOS/dump_custom_adios.h similarity index 100% rename from src/USER-ADIOS/dump_custom_adios.h rename to src/ADIOS/dump_custom_adios.h diff --git a/src/USER-ADIOS/reader_adios.cpp b/src/ADIOS/reader_adios.cpp similarity index 100% rename from src/USER-ADIOS/reader_adios.cpp rename to src/ADIOS/reader_adios.cpp diff --git a/src/USER-ADIOS/reader_adios.h b/src/ADIOS/reader_adios.h similarity index 100% rename from src/USER-ADIOS/reader_adios.h rename to src/ADIOS/reader_adios.h diff --git a/src/USER-ATC/Install.sh b/src/ATC/Install.sh similarity index 86% rename from src/USER-ATC/Install.sh rename to src/ATC/Install.sh index f241f92065..e1dacdd7d6 100755 --- a/src/USER-ATC/Install.sh +++ b/src/ATC/Install.sh @@ -31,7 +31,7 @@ action () { if (test $1 = 1) then if (test ! -e ../pair_eam.cpp) then - echo "Must install MANYBODY package with USER-ATC" + echo "Must install MANYBODY package with ATC" exit 1 fi fi @@ -54,9 +54,9 @@ if (test $1 = 1) then # sed -i -e 's|^PKG_INC =[ \t]*|&-I../../lib/atc |' ../Makefile.package # sed -i -e 's|^PKG_PATH =[ \t]*|&-L../../lib/atc$(LIBSOBJDIR) |' ../Makefile.package sed -i -e 's|^PKG_LIB =[ \t]*|&-latc |' ../Makefile.package - sed -i -e 's|^PKG_SYSINC =[ \t]*|&$(user-atc_SYSINC) |' ../Makefile.package - sed -i -e 's|^PKG_SYSLIB =[ \t]*|&$(user-atc_SYSLIB) |' ../Makefile.package - sed -i -e 's|^PKG_SYSPATH =[ \t]*|&$(user-atc_SYSPATH) |' ../Makefile.package + sed -i -e 's|^PKG_SYSINC =[ \t]*|&$(atc_SYSINC) |' ../Makefile.package + sed -i -e 's|^PKG_SYSLIB =[ \t]*|&$(atc_SYSLIB) |' ../Makefile.package + sed -i -e 's|^PKG_SYSPATH =[ \t]*|&$(atc_SYSPATH) |' ../Makefile.package fi if (test -e ../Makefile.package.settings) then diff --git a/src/USER-ATC/README b/src/ATC/README similarity index 100% rename from src/USER-ATC/README rename to src/ATC/README diff --git a/src/USER-ATC/fix_atc.cpp b/src/ATC/fix_atc.cpp similarity index 99% rename from src/USER-ATC/fix_atc.cpp rename to src/ATC/fix_atc.cpp index b4f5b1eade..d9770d86de 100644 --- a/src/USER-ATC/fix_atc.cpp +++ b/src/ATC/fix_atc.cpp @@ -37,7 +37,7 @@ using namespace FixConst; using std::string; #ifdef LAMMPS_BIGBIG -#error "The USER-ATC package is not compatible with -DLAMMPS_BIGBIG" +#error "The ATC package is not compatible with -DLAMMPS_BIGBIG" #endif // main page of doxygen documentation diff --git a/src/USER-ATC/fix_atc.h b/src/ATC/fix_atc.h similarity index 100% rename from src/USER-ATC/fix_atc.h rename to src/ATC/fix_atc.h diff --git a/src/USER-AWPMD/Install.sh b/src/AWPMD/Install.sh similarity index 90% rename from src/USER-AWPMD/Install.sh rename to src/AWPMD/Install.sh index 094e10c157..70e87c3fbc 100755 --- a/src/USER-AWPMD/Install.sh +++ b/src/AWPMD/Install.sh @@ -41,8 +41,8 @@ if (test $1 = 1) then sed -i -e 's|^PKG_INC =[ \t]*|&-I../../lib/awpmd/ivutils/include -I../../lib/awpmd/systems/interact |' ../Makefile.package sed -i -e 's|^PKG_PATH =[ \t]*|&-L../../lib/awpmd |' ../Makefile.package sed -i -e 's|^PKG_LIB =[ \t]*|&-lawpmd |' ../Makefile.package - sed -i -e 's|^PKG_SYSPATH =[ \t]*|&$(user-awpmd_SYSPATH) |' ../Makefile.package - sed -i -e 's|^PKG_SYSLIB =[ \t]*|&$(user-awpmd_SYSLIB) |' ../Makefile.package + sed -i -e 's|^PKG_SYSPATH =[ \t]*|&$(awpmd_SYSPATH) |' ../Makefile.package + sed -i -e 's|^PKG_SYSLIB =[ \t]*|&$(awpmd_SYSLIB) |' ../Makefile.package fi if (test -e ../Makefile.package.settings) then diff --git a/src/USER-AWPMD/README b/src/AWPMD/README similarity index 100% rename from src/USER-AWPMD/README rename to src/AWPMD/README diff --git a/src/USER-AWPMD/atom_vec_wavepacket.cpp b/src/AWPMD/atom_vec_wavepacket.cpp similarity index 100% rename from src/USER-AWPMD/atom_vec_wavepacket.cpp rename to src/AWPMD/atom_vec_wavepacket.cpp diff --git a/src/USER-AWPMD/atom_vec_wavepacket.h b/src/AWPMD/atom_vec_wavepacket.h similarity index 100% rename from src/USER-AWPMD/atom_vec_wavepacket.h rename to src/AWPMD/atom_vec_wavepacket.h diff --git a/src/USER-AWPMD/fix_nve_awpmd.cpp b/src/AWPMD/fix_nve_awpmd.cpp similarity index 100% rename from src/USER-AWPMD/fix_nve_awpmd.cpp rename to src/AWPMD/fix_nve_awpmd.cpp diff --git a/src/USER-AWPMD/fix_nve_awpmd.h b/src/AWPMD/fix_nve_awpmd.h similarity index 100% rename from src/USER-AWPMD/fix_nve_awpmd.h rename to src/AWPMD/fix_nve_awpmd.h diff --git a/src/USER-AWPMD/pair_awpmd_cut.cpp b/src/AWPMD/pair_awpmd_cut.cpp similarity index 100% rename from src/USER-AWPMD/pair_awpmd_cut.cpp rename to src/AWPMD/pair_awpmd_cut.cpp diff --git a/src/USER-AWPMD/pair_awpmd_cut.h b/src/AWPMD/pair_awpmd_cut.h similarity index 100% rename from src/USER-AWPMD/pair_awpmd_cut.h rename to src/AWPMD/pair_awpmd_cut.h diff --git a/src/USER-BOCS/README b/src/BOCS/README similarity index 89% rename from src/USER-BOCS/README rename to src/BOCS/README index 2028333b61..b8cd001031 100644 --- a/src/USER-BOCS/README +++ b/src/BOCS/README @@ -7,7 +7,7 @@ molecular liquids," J. Chem. Phys. 143, 243148 (2015). doi: 10.1063/1.4937383 -The USER-BOCS user package for LAMMPS is part of the BOCS software package: +The BOCS user package for LAMMPS is part of the BOCS software package: https://github.com/noid-group/BOCS See the following reference for information about the entire package: diff --git a/src/USER-BOCS/compute_pressure_bocs.cpp b/src/BOCS/compute_pressure_bocs.cpp similarity index 99% rename from src/USER-BOCS/compute_pressure_bocs.cpp rename to src/BOCS/compute_pressure_bocs.cpp index b62d7cd1bf..8d891006b2 100644 --- a/src/USER-BOCS/compute_pressure_bocs.cpp +++ b/src/BOCS/compute_pressure_bocs.cpp @@ -11,7 +11,7 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- - USER-BOCS written by: Nicholas J. H. Dunn and Michael R. DeLyser + BOCS written by: Nicholas J. H. Dunn and Michael R. DeLyser from The Pennsylvania State University ------------------------------------------------------------------------- */ diff --git a/src/USER-BOCS/compute_pressure_bocs.h b/src/BOCS/compute_pressure_bocs.h similarity index 98% rename from src/USER-BOCS/compute_pressure_bocs.h rename to src/BOCS/compute_pressure_bocs.h index d5d4b1a7b9..ccae6ce0e3 100644 --- a/src/USER-BOCS/compute_pressure_bocs.h +++ b/src/BOCS/compute_pressure_bocs.h @@ -10,7 +10,7 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- - USER-BOCS written by: Nicholas J. H. Dunn and Michael R. DeLyser + BOCS written by: Nicholas J. H. Dunn and Michael R. DeLyser from The Pennsylvania State University ------------------------------------------------------------------------- */ diff --git a/src/USER-BOCS/fix_bocs.cpp b/src/BOCS/fix_bocs.cpp similarity index 99% rename from src/USER-BOCS/fix_bocs.cpp rename to src/BOCS/fix_bocs.cpp index 4f773e7c65..d372d607e8 100644 --- a/src/USER-BOCS/fix_bocs.cpp +++ b/src/BOCS/fix_bocs.cpp @@ -11,7 +11,7 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- - USER-BOCS written by: Nicholas J. H. Dunn and Michael R. DeLyser + BOCS written by: Nicholas J. H. Dunn and Michael R. DeLyser from The Pennsylvania State University ------------------------------------------------------------------------- */ @@ -43,7 +43,7 @@ using namespace LAMMPS_NS; using namespace FixConst; static const char cite_user_bocs_package[] = - "USER-BOCS package:\n\n" + "BOCS package:\n\n" "@Article{Dunn2018,\n" " author = {NJH Dunn, KM Lebold, MR DeLyser, JF Rudzinski, WG Noid},\n" " title = {BOCS: Bottom-Up Open-Source Coarse-Graining Software},\n" diff --git a/src/USER-BOCS/fix_bocs.h b/src/BOCS/fix_bocs.h similarity index 99% rename from src/USER-BOCS/fix_bocs.h rename to src/BOCS/fix_bocs.h index fd1e09115d..4edf670fa5 100644 --- a/src/USER-BOCS/fix_bocs.h +++ b/src/BOCS/fix_bocs.h @@ -10,7 +10,7 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- - USER-BOCS written by: Nicholas J. H. Dunn and Michael R. DeLyser + BOCS written by: Nicholas J. H. Dunn and Michael R. DeLyser from The Pennsylvania State University ------------------------------------------------------------------------- */ diff --git a/src/USER-BROWNIAN/fix_brownian.cpp b/src/BROWNIAN/fix_brownian.cpp similarity index 100% rename from src/USER-BROWNIAN/fix_brownian.cpp rename to src/BROWNIAN/fix_brownian.cpp diff --git a/src/USER-BROWNIAN/fix_brownian.h b/src/BROWNIAN/fix_brownian.h similarity index 100% rename from src/USER-BROWNIAN/fix_brownian.h rename to src/BROWNIAN/fix_brownian.h diff --git a/src/USER-BROWNIAN/fix_brownian_asphere.cpp b/src/BROWNIAN/fix_brownian_asphere.cpp similarity index 100% rename from src/USER-BROWNIAN/fix_brownian_asphere.cpp rename to src/BROWNIAN/fix_brownian_asphere.cpp diff --git a/src/USER-BROWNIAN/fix_brownian_asphere.h b/src/BROWNIAN/fix_brownian_asphere.h similarity index 100% rename from src/USER-BROWNIAN/fix_brownian_asphere.h rename to src/BROWNIAN/fix_brownian_asphere.h diff --git a/src/USER-BROWNIAN/fix_brownian_base.cpp b/src/BROWNIAN/fix_brownian_base.cpp similarity index 100% rename from src/USER-BROWNIAN/fix_brownian_base.cpp rename to src/BROWNIAN/fix_brownian_base.cpp diff --git a/src/USER-BROWNIAN/fix_brownian_base.h b/src/BROWNIAN/fix_brownian_base.h similarity index 100% rename from src/USER-BROWNIAN/fix_brownian_base.h rename to src/BROWNIAN/fix_brownian_base.h diff --git a/src/USER-BROWNIAN/fix_brownian_sphere.cpp b/src/BROWNIAN/fix_brownian_sphere.cpp similarity index 100% rename from src/USER-BROWNIAN/fix_brownian_sphere.cpp rename to src/BROWNIAN/fix_brownian_sphere.cpp diff --git a/src/USER-BROWNIAN/fix_brownian_sphere.h b/src/BROWNIAN/fix_brownian_sphere.h similarity index 100% rename from src/USER-BROWNIAN/fix_brownian_sphere.h rename to src/BROWNIAN/fix_brownian_sphere.h diff --git a/src/USER-BROWNIAN/fix_propel_self.cpp b/src/BROWNIAN/fix_propel_self.cpp similarity index 100% rename from src/USER-BROWNIAN/fix_propel_self.cpp rename to src/BROWNIAN/fix_propel_self.cpp diff --git a/src/USER-BROWNIAN/fix_propel_self.h b/src/BROWNIAN/fix_propel_self.h similarity index 100% rename from src/USER-BROWNIAN/fix_propel_self.h rename to src/BROWNIAN/fix_propel_self.h diff --git a/src/USER-COLVARS/Install.sh b/src/COLVARS/Install.sh similarity index 100% rename from src/USER-COLVARS/Install.sh rename to src/COLVARS/Install.sh diff --git a/src/USER-COLVARS/README b/src/COLVARS/README similarity index 96% rename from src/USER-COLVARS/README rename to src/COLVARS/README index 1ac57d9589..eebaecf4a8 100644 --- a/src/USER-COLVARS/README +++ b/src/COLVARS/README @@ -13,7 +13,7 @@ on building LAMMPS with external libraries. The settings in the Makefile.lammps file in that directory must be correct for LAMMPS to build correctly with this package installed. -The files in the USER-COLVARS package folder implement an interface +The files in the COLVARS package folder implement an interface between LAMMPS and Colvars, originally written by Axel Kohlmeyer (akohlmey@gmail.com) and maintained by Giacomo Fiorin (giacomo.fiorin@gmail.com). diff --git a/src/USER-COLVARS/colvarproxy_lammps.cpp b/src/COLVARS/colvarproxy_lammps.cpp similarity index 100% rename from src/USER-COLVARS/colvarproxy_lammps.cpp rename to src/COLVARS/colvarproxy_lammps.cpp diff --git a/src/USER-COLVARS/colvarproxy_lammps.h b/src/COLVARS/colvarproxy_lammps.h similarity index 100% rename from src/USER-COLVARS/colvarproxy_lammps.h rename to src/COLVARS/colvarproxy_lammps.h diff --git a/src/USER-COLVARS/colvarproxy_lammps_version.h b/src/COLVARS/colvarproxy_lammps_version.h similarity index 100% rename from src/USER-COLVARS/colvarproxy_lammps_version.h rename to src/COLVARS/colvarproxy_lammps_version.h diff --git a/src/USER-COLVARS/fix_colvars.cpp b/src/COLVARS/fix_colvars.cpp similarity index 100% rename from src/USER-COLVARS/fix_colvars.cpp rename to src/COLVARS/fix_colvars.cpp diff --git a/src/USER-COLVARS/fix_colvars.h b/src/COLVARS/fix_colvars.h similarity index 100% rename from src/USER-COLVARS/fix_colvars.h rename to src/COLVARS/fix_colvars.h diff --git a/src/USER-COLVARS/group_ndx.cpp b/src/COLVARS/group_ndx.cpp similarity index 100% rename from src/USER-COLVARS/group_ndx.cpp rename to src/COLVARS/group_ndx.cpp diff --git a/src/USER-COLVARS/group_ndx.h b/src/COLVARS/group_ndx.h similarity index 100% rename from src/USER-COLVARS/group_ndx.h rename to src/COLVARS/group_ndx.h diff --git a/src/USER-COLVARS/ndx_group.cpp b/src/COLVARS/ndx_group.cpp similarity index 100% rename from src/USER-COLVARS/ndx_group.cpp rename to src/COLVARS/ndx_group.cpp diff --git a/src/USER-COLVARS/ndx_group.h b/src/COLVARS/ndx_group.h similarity index 100% rename from src/USER-COLVARS/ndx_group.h rename to src/COLVARS/ndx_group.h diff --git a/src/USER-DIELECTRIC/Install.sh b/src/DIELECTRIC/Install.sh similarity index 92% rename from src/USER-DIELECTRIC/Install.sh rename to src/DIELECTRIC/Install.sh index fd540f3c7e..737d8dc99e 100644 --- a/src/USER-DIELECTRIC/Install.sh +++ b/src/DIELECTRIC/Install.sh @@ -31,7 +31,7 @@ action () { if (test $1 = 1) then if (test ! -e ../ppp.cpp) then - echo "Must install KSPACE package with USER-DIELECTRIC" + echo "Must install KSPACE package with DIELECTRIC" exit 1 fi fi diff --git a/src/USER-DIELECTRIC/README b/src/DIELECTRIC/README similarity index 86% rename from src/USER-DIELECTRIC/README rename to src/DIELECTRIC/README index 9275a1e7ac..37a9d673bf 100644 --- a/src/USER-DIELECTRIC/README +++ b/src/DIELECTRIC/README @@ -1,4 +1,4 @@ -The USER-DIELECTRIC package provides several solvers for computing surface induced charges +The DIELECTRIC package provides several solvers for computing surface induced charges at the interface between two media with different dielectric constants: * the boundary element solver using the GMRES algorithm (fix polarize/bem/gmres), @@ -10,7 +10,7 @@ or mobile (for example, dielectric colloids in a solvent). See the header of the source files for more details on the references of the methods. -The USER-DIELECTRIC package was created by Trung Nguyen while at Northwestern. +The DIELECTRIC package was created by Trung Nguyen while at Northwestern. Questions can be addressed to Trung Nguyen (ndactrung@gmail.com). * Citation diff --git a/src/USER-DIELECTRIC/atom_vec_dielectric.cpp b/src/DIELECTRIC/atom_vec_dielectric.cpp similarity index 99% rename from src/USER-DIELECTRIC/atom_vec_dielectric.cpp rename to src/DIELECTRIC/atom_vec_dielectric.cpp index b0e3487807..cc182251e9 100644 --- a/src/USER-DIELECTRIC/atom_vec_dielectric.cpp +++ b/src/DIELECTRIC/atom_vec_dielectric.cpp @@ -20,7 +20,7 @@ using namespace LAMMPS_NS; static const char cite_user_dielectric_package[] = - "USER-DIELECTRIC package:\n\n" + "DIELECTRIC package:\n\n" "@Article{TrungCPC19,\n" " author = {Trung Dac Nguyen, Honghao Li, Debarshee Bagchi," " Francisco J. Solis, Monica Olvera de la Cruz,\n" diff --git a/src/USER-DIELECTRIC/atom_vec_dielectric.h b/src/DIELECTRIC/atom_vec_dielectric.h similarity index 100% rename from src/USER-DIELECTRIC/atom_vec_dielectric.h rename to src/DIELECTRIC/atom_vec_dielectric.h diff --git a/src/USER-DIELECTRIC/compute_efield_atom.cpp b/src/DIELECTRIC/compute_efield_atom.cpp similarity index 100% rename from src/USER-DIELECTRIC/compute_efield_atom.cpp rename to src/DIELECTRIC/compute_efield_atom.cpp diff --git a/src/USER-DIELECTRIC/compute_efield_atom.h b/src/DIELECTRIC/compute_efield_atom.h similarity index 100% rename from src/USER-DIELECTRIC/compute_efield_atom.h rename to src/DIELECTRIC/compute_efield_atom.h diff --git a/src/USER-DIELECTRIC/fix_polarize_bem_gmres.cpp b/src/DIELECTRIC/fix_polarize_bem_gmres.cpp similarity index 100% rename from src/USER-DIELECTRIC/fix_polarize_bem_gmres.cpp rename to src/DIELECTRIC/fix_polarize_bem_gmres.cpp diff --git a/src/USER-DIELECTRIC/fix_polarize_bem_gmres.h b/src/DIELECTRIC/fix_polarize_bem_gmres.h similarity index 100% rename from src/USER-DIELECTRIC/fix_polarize_bem_gmres.h rename to src/DIELECTRIC/fix_polarize_bem_gmres.h diff --git a/src/USER-DIELECTRIC/fix_polarize_bem_icc.cpp b/src/DIELECTRIC/fix_polarize_bem_icc.cpp similarity index 100% rename from src/USER-DIELECTRIC/fix_polarize_bem_icc.cpp rename to src/DIELECTRIC/fix_polarize_bem_icc.cpp diff --git a/src/USER-DIELECTRIC/fix_polarize_bem_icc.h b/src/DIELECTRIC/fix_polarize_bem_icc.h similarity index 100% rename from src/USER-DIELECTRIC/fix_polarize_bem_icc.h rename to src/DIELECTRIC/fix_polarize_bem_icc.h diff --git a/src/USER-DIELECTRIC/fix_polarize_functional.cpp b/src/DIELECTRIC/fix_polarize_functional.cpp similarity index 100% rename from src/USER-DIELECTRIC/fix_polarize_functional.cpp rename to src/DIELECTRIC/fix_polarize_functional.cpp diff --git a/src/USER-DIELECTRIC/fix_polarize_functional.h b/src/DIELECTRIC/fix_polarize_functional.h similarity index 100% rename from src/USER-DIELECTRIC/fix_polarize_functional.h rename to src/DIELECTRIC/fix_polarize_functional.h diff --git a/src/USER-DIELECTRIC/msm_dielectric.cpp b/src/DIELECTRIC/msm_dielectric.cpp similarity index 100% rename from src/USER-DIELECTRIC/msm_dielectric.cpp rename to src/DIELECTRIC/msm_dielectric.cpp diff --git a/src/USER-DIELECTRIC/msm_dielectric.h b/src/DIELECTRIC/msm_dielectric.h similarity index 100% rename from src/USER-DIELECTRIC/msm_dielectric.h rename to src/DIELECTRIC/msm_dielectric.h diff --git a/src/USER-DIELECTRIC/pair_coul_cut_dielectric.cpp b/src/DIELECTRIC/pair_coul_cut_dielectric.cpp similarity index 100% rename from src/USER-DIELECTRIC/pair_coul_cut_dielectric.cpp rename to src/DIELECTRIC/pair_coul_cut_dielectric.cpp diff --git a/src/USER-DIELECTRIC/pair_coul_cut_dielectric.h b/src/DIELECTRIC/pair_coul_cut_dielectric.h similarity index 100% rename from src/USER-DIELECTRIC/pair_coul_cut_dielectric.h rename to src/DIELECTRIC/pair_coul_cut_dielectric.h diff --git a/src/USER-DIELECTRIC/pair_coul_long_dielectric.cpp b/src/DIELECTRIC/pair_coul_long_dielectric.cpp similarity index 100% rename from src/USER-DIELECTRIC/pair_coul_long_dielectric.cpp rename to src/DIELECTRIC/pair_coul_long_dielectric.cpp diff --git a/src/USER-DIELECTRIC/pair_coul_long_dielectric.h b/src/DIELECTRIC/pair_coul_long_dielectric.h similarity index 100% rename from src/USER-DIELECTRIC/pair_coul_long_dielectric.h rename to src/DIELECTRIC/pair_coul_long_dielectric.h diff --git a/src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric.cpp b/src/DIELECTRIC/pair_lj_cut_coul_cut_dielectric.cpp similarity index 100% rename from src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric.cpp rename to src/DIELECTRIC/pair_lj_cut_coul_cut_dielectric.cpp diff --git a/src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric.h b/src/DIELECTRIC/pair_lj_cut_coul_cut_dielectric.h similarity index 100% rename from src/USER-DIELECTRIC/pair_lj_cut_coul_cut_dielectric.h rename to src/DIELECTRIC/pair_lj_cut_coul_cut_dielectric.h diff --git a/src/USER-DIELECTRIC/pair_lj_cut_coul_debye_dielectric.cpp b/src/DIELECTRIC/pair_lj_cut_coul_debye_dielectric.cpp similarity index 100% rename from src/USER-DIELECTRIC/pair_lj_cut_coul_debye_dielectric.cpp rename to src/DIELECTRIC/pair_lj_cut_coul_debye_dielectric.cpp diff --git a/src/USER-DIELECTRIC/pair_lj_cut_coul_debye_dielectric.h b/src/DIELECTRIC/pair_lj_cut_coul_debye_dielectric.h similarity index 100% rename from src/USER-DIELECTRIC/pair_lj_cut_coul_debye_dielectric.h rename to src/DIELECTRIC/pair_lj_cut_coul_debye_dielectric.h diff --git a/src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric.cpp b/src/DIELECTRIC/pair_lj_cut_coul_long_dielectric.cpp similarity index 100% rename from src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric.cpp rename to src/DIELECTRIC/pair_lj_cut_coul_long_dielectric.cpp diff --git a/src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric.h b/src/DIELECTRIC/pair_lj_cut_coul_long_dielectric.h similarity index 100% rename from src/USER-DIELECTRIC/pair_lj_cut_coul_long_dielectric.h rename to src/DIELECTRIC/pair_lj_cut_coul_long_dielectric.h diff --git a/src/USER-DIELECTRIC/pair_lj_cut_coul_msm_dielectric.cpp b/src/DIELECTRIC/pair_lj_cut_coul_msm_dielectric.cpp similarity index 100% rename from src/USER-DIELECTRIC/pair_lj_cut_coul_msm_dielectric.cpp rename to src/DIELECTRIC/pair_lj_cut_coul_msm_dielectric.cpp diff --git a/src/USER-DIELECTRIC/pair_lj_cut_coul_msm_dielectric.h b/src/DIELECTRIC/pair_lj_cut_coul_msm_dielectric.h similarity index 100% rename from src/USER-DIELECTRIC/pair_lj_cut_coul_msm_dielectric.h rename to src/DIELECTRIC/pair_lj_cut_coul_msm_dielectric.h diff --git a/src/USER-DIELECTRIC/pair_lj_long_coul_long_dielectric.cpp b/src/DIELECTRIC/pair_lj_long_coul_long_dielectric.cpp similarity index 100% rename from src/USER-DIELECTRIC/pair_lj_long_coul_long_dielectric.cpp rename to src/DIELECTRIC/pair_lj_long_coul_long_dielectric.cpp diff --git a/src/USER-DIELECTRIC/pair_lj_long_coul_long_dielectric.h b/src/DIELECTRIC/pair_lj_long_coul_long_dielectric.h similarity index 100% rename from src/USER-DIELECTRIC/pair_lj_long_coul_long_dielectric.h rename to src/DIELECTRIC/pair_lj_long_coul_long_dielectric.h diff --git a/src/USER-DIELECTRIC/pppm_dielectric.cpp b/src/DIELECTRIC/pppm_dielectric.cpp similarity index 100% rename from src/USER-DIELECTRIC/pppm_dielectric.cpp rename to src/DIELECTRIC/pppm_dielectric.cpp diff --git a/src/USER-DIELECTRIC/pppm_dielectric.h b/src/DIELECTRIC/pppm_dielectric.h similarity index 100% rename from src/USER-DIELECTRIC/pppm_dielectric.h rename to src/DIELECTRIC/pppm_dielectric.h diff --git a/src/USER-DIFFRACTION/README b/src/DIFFRACTION/README similarity index 100% rename from src/USER-DIFFRACTION/README rename to src/DIFFRACTION/README diff --git a/src/USER-DIFFRACTION/compute_saed.cpp b/src/DIFFRACTION/compute_saed.cpp similarity index 100% rename from src/USER-DIFFRACTION/compute_saed.cpp rename to src/DIFFRACTION/compute_saed.cpp diff --git a/src/USER-DIFFRACTION/compute_saed.h b/src/DIFFRACTION/compute_saed.h similarity index 100% rename from src/USER-DIFFRACTION/compute_saed.h rename to src/DIFFRACTION/compute_saed.h diff --git a/src/USER-DIFFRACTION/compute_saed_consts.h b/src/DIFFRACTION/compute_saed_consts.h similarity index 100% rename from src/USER-DIFFRACTION/compute_saed_consts.h rename to src/DIFFRACTION/compute_saed_consts.h diff --git a/src/USER-DIFFRACTION/compute_xrd.cpp b/src/DIFFRACTION/compute_xrd.cpp similarity index 100% rename from src/USER-DIFFRACTION/compute_xrd.cpp rename to src/DIFFRACTION/compute_xrd.cpp diff --git a/src/USER-DIFFRACTION/compute_xrd.h b/src/DIFFRACTION/compute_xrd.h similarity index 100% rename from src/USER-DIFFRACTION/compute_xrd.h rename to src/DIFFRACTION/compute_xrd.h diff --git a/src/USER-DIFFRACTION/compute_xrd_consts.h b/src/DIFFRACTION/compute_xrd_consts.h similarity index 100% rename from src/USER-DIFFRACTION/compute_xrd_consts.h rename to src/DIFFRACTION/compute_xrd_consts.h diff --git a/src/USER-DIFFRACTION/fix_saed_vtk.cpp b/src/DIFFRACTION/fix_saed_vtk.cpp similarity index 100% rename from src/USER-DIFFRACTION/fix_saed_vtk.cpp rename to src/DIFFRACTION/fix_saed_vtk.cpp diff --git a/src/USER-DIFFRACTION/fix_saed_vtk.h b/src/DIFFRACTION/fix_saed_vtk.h similarity index 100% rename from src/USER-DIFFRACTION/fix_saed_vtk.h rename to src/DIFFRACTION/fix_saed_vtk.h diff --git a/src/USER-DRUDE/README b/src/DRUDE/README similarity index 100% rename from src/USER-DRUDE/README rename to src/DRUDE/README diff --git a/src/USER-DRUDE/compute_temp_drude.cpp b/src/DRUDE/compute_temp_drude.cpp similarity index 100% rename from src/USER-DRUDE/compute_temp_drude.cpp rename to src/DRUDE/compute_temp_drude.cpp diff --git a/src/USER-DRUDE/compute_temp_drude.h b/src/DRUDE/compute_temp_drude.h similarity index 100% rename from src/USER-DRUDE/compute_temp_drude.h rename to src/DRUDE/compute_temp_drude.h diff --git a/src/USER-DRUDE/fix_drude.cpp b/src/DRUDE/fix_drude.cpp similarity index 100% rename from src/USER-DRUDE/fix_drude.cpp rename to src/DRUDE/fix_drude.cpp diff --git a/src/USER-DRUDE/fix_drude.h b/src/DRUDE/fix_drude.h similarity index 100% rename from src/USER-DRUDE/fix_drude.h rename to src/DRUDE/fix_drude.h diff --git a/src/USER-DRUDE/fix_drude_transform.cpp b/src/DRUDE/fix_drude_transform.cpp similarity index 100% rename from src/USER-DRUDE/fix_drude_transform.cpp rename to src/DRUDE/fix_drude_transform.cpp diff --git a/src/USER-DRUDE/fix_drude_transform.h b/src/DRUDE/fix_drude_transform.h similarity index 100% rename from src/USER-DRUDE/fix_drude_transform.h rename to src/DRUDE/fix_drude_transform.h diff --git a/src/USER-DRUDE/fix_langevin_drude.cpp b/src/DRUDE/fix_langevin_drude.cpp similarity index 100% rename from src/USER-DRUDE/fix_langevin_drude.cpp rename to src/DRUDE/fix_langevin_drude.cpp diff --git a/src/USER-DRUDE/fix_langevin_drude.h b/src/DRUDE/fix_langevin_drude.h similarity index 100% rename from src/USER-DRUDE/fix_langevin_drude.h rename to src/DRUDE/fix_langevin_drude.h diff --git a/src/USER-DRUDE/fix_tgnh_drude.cpp b/src/DRUDE/fix_tgnh_drude.cpp similarity index 100% rename from src/USER-DRUDE/fix_tgnh_drude.cpp rename to src/DRUDE/fix_tgnh_drude.cpp diff --git a/src/USER-DRUDE/fix_tgnh_drude.h b/src/DRUDE/fix_tgnh_drude.h similarity index 100% rename from src/USER-DRUDE/fix_tgnh_drude.h rename to src/DRUDE/fix_tgnh_drude.h diff --git a/src/USER-DRUDE/fix_tgnpt_drude.cpp b/src/DRUDE/fix_tgnpt_drude.cpp similarity index 100% rename from src/USER-DRUDE/fix_tgnpt_drude.cpp rename to src/DRUDE/fix_tgnpt_drude.cpp diff --git a/src/USER-DRUDE/fix_tgnpt_drude.h b/src/DRUDE/fix_tgnpt_drude.h similarity index 100% rename from src/USER-DRUDE/fix_tgnpt_drude.h rename to src/DRUDE/fix_tgnpt_drude.h diff --git a/src/USER-DRUDE/fix_tgnvt_drude.cpp b/src/DRUDE/fix_tgnvt_drude.cpp similarity index 100% rename from src/USER-DRUDE/fix_tgnvt_drude.cpp rename to src/DRUDE/fix_tgnvt_drude.cpp diff --git a/src/USER-DRUDE/fix_tgnvt_drude.h b/src/DRUDE/fix_tgnvt_drude.h similarity index 100% rename from src/USER-DRUDE/fix_tgnvt_drude.h rename to src/DRUDE/fix_tgnvt_drude.h diff --git a/src/USER-DRUDE/pair_coul_tt.cpp b/src/DRUDE/pair_coul_tt.cpp similarity index 100% rename from src/USER-DRUDE/pair_coul_tt.cpp rename to src/DRUDE/pair_coul_tt.cpp diff --git a/src/USER-DRUDE/pair_coul_tt.h b/src/DRUDE/pair_coul_tt.h similarity index 100% rename from src/USER-DRUDE/pair_coul_tt.h rename to src/DRUDE/pair_coul_tt.h diff --git a/src/USER-DRUDE/pair_lj_cut_thole_long.cpp b/src/DRUDE/pair_lj_cut_thole_long.cpp similarity index 100% rename from src/USER-DRUDE/pair_lj_cut_thole_long.cpp rename to src/DRUDE/pair_lj_cut_thole_long.cpp diff --git a/src/USER-DRUDE/pair_lj_cut_thole_long.h b/src/DRUDE/pair_lj_cut_thole_long.h similarity index 100% rename from src/USER-DRUDE/pair_lj_cut_thole_long.h rename to src/DRUDE/pair_lj_cut_thole_long.h diff --git a/src/USER-DRUDE/pair_thole.cpp b/src/DRUDE/pair_thole.cpp similarity index 100% rename from src/USER-DRUDE/pair_thole.cpp rename to src/DRUDE/pair_thole.cpp diff --git a/src/USER-DRUDE/pair_thole.h b/src/DRUDE/pair_thole.h similarity index 100% rename from src/USER-DRUDE/pair_thole.h rename to src/DRUDE/pair_thole.h diff --git a/src/Depend.sh b/src/Depend.sh index 620421fbd7..9834aa5255 100755 --- a/src/Depend.sh +++ b/src/Depend.sh @@ -49,7 +49,7 @@ if (test $1 = "ASPHERE") then depend GPU depend OPENMP depend CG-DNA - depend USER-INTEL + depend INTEL fi if (test $1 = "CLASS2") then @@ -79,9 +79,9 @@ if (test $1 = "KSPACE") then depend KOKKOS depend OPT depend OPENMP - depend USER-INTEL - depend USER-PHONON - depend USER-FEP + depend INTEL + depend PHONON + depend FEP fi if (test $1 = "MANYBODY") then @@ -97,9 +97,9 @@ if (test $1 = "MOLECULE") then depend GPU depend KOKKOS depend USER-MISC - depend USER-FEP + depend FEP depend OPENMP - depend USER-INTEL + depend INTEL fi if (test $1 = "PERI") then @@ -131,18 +131,18 @@ if (test $1 = "DPD-REACT") then depend KOKKOS fi -if (test $1 = "USER-DRUDE") then +if (test $1 = "DRUDE") then depend OPENMP fi -if (test $1 = "USER-FEP") then +if (test $1 = "FEP") then depend OPENMP fi if (test $1 = "USER-MISC") then depend GPU depend OPENMP - depend USER-INTEL + depend INTEL fi if (test $1 = "REAXFF") then diff --git a/src/USER-EFF/README b/src/EFF/README similarity index 100% rename from src/USER-EFF/README rename to src/EFF/README diff --git a/src/USER-EFF/atom_vec_electron.cpp b/src/EFF/atom_vec_electron.cpp similarity index 99% rename from src/USER-EFF/atom_vec_electron.cpp rename to src/EFF/atom_vec_electron.cpp index 87bec2ce9f..ca80f186a8 100644 --- a/src/USER-EFF/atom_vec_electron.cpp +++ b/src/EFF/atom_vec_electron.cpp @@ -26,7 +26,7 @@ using namespace LAMMPS_NS; static const char cite_user_eff_package[] = - "USER-EFF package:\n\n" + "EFF package:\n\n" "@Article{Jaramillo-Botero11,\n" " author = {A. Jaramillo-Botero, J. Su, A. Qi, W. A. Goddard III},\n" " title = {Large-Scale, Long-Term Nonadiabatic Electron Molecular Dynamics for Describing Material Properties and Phenomena in Extreme Environments},\n" diff --git a/src/USER-EFF/atom_vec_electron.h b/src/EFF/atom_vec_electron.h similarity index 100% rename from src/USER-EFF/atom_vec_electron.h rename to src/EFF/atom_vec_electron.h diff --git a/src/USER-EFF/compute_ke_atom_eff.cpp b/src/EFF/compute_ke_atom_eff.cpp similarity index 100% rename from src/USER-EFF/compute_ke_atom_eff.cpp rename to src/EFF/compute_ke_atom_eff.cpp diff --git a/src/USER-EFF/compute_ke_atom_eff.h b/src/EFF/compute_ke_atom_eff.h similarity index 100% rename from src/USER-EFF/compute_ke_atom_eff.h rename to src/EFF/compute_ke_atom_eff.h diff --git a/src/USER-EFF/compute_ke_eff.cpp b/src/EFF/compute_ke_eff.cpp similarity index 100% rename from src/USER-EFF/compute_ke_eff.cpp rename to src/EFF/compute_ke_eff.cpp diff --git a/src/USER-EFF/compute_ke_eff.h b/src/EFF/compute_ke_eff.h similarity index 100% rename from src/USER-EFF/compute_ke_eff.h rename to src/EFF/compute_ke_eff.h diff --git a/src/USER-EFF/compute_temp_deform_eff.cpp b/src/EFF/compute_temp_deform_eff.cpp similarity index 100% rename from src/USER-EFF/compute_temp_deform_eff.cpp rename to src/EFF/compute_temp_deform_eff.cpp diff --git a/src/USER-EFF/compute_temp_deform_eff.h b/src/EFF/compute_temp_deform_eff.h similarity index 100% rename from src/USER-EFF/compute_temp_deform_eff.h rename to src/EFF/compute_temp_deform_eff.h diff --git a/src/USER-EFF/compute_temp_eff.cpp b/src/EFF/compute_temp_eff.cpp similarity index 100% rename from src/USER-EFF/compute_temp_eff.cpp rename to src/EFF/compute_temp_eff.cpp diff --git a/src/USER-EFF/compute_temp_eff.h b/src/EFF/compute_temp_eff.h similarity index 100% rename from src/USER-EFF/compute_temp_eff.h rename to src/EFF/compute_temp_eff.h diff --git a/src/USER-EFF/compute_temp_region_eff.cpp b/src/EFF/compute_temp_region_eff.cpp similarity index 100% rename from src/USER-EFF/compute_temp_region_eff.cpp rename to src/EFF/compute_temp_region_eff.cpp diff --git a/src/USER-EFF/compute_temp_region_eff.h b/src/EFF/compute_temp_region_eff.h similarity index 100% rename from src/USER-EFF/compute_temp_region_eff.h rename to src/EFF/compute_temp_region_eff.h diff --git a/src/USER-EFF/fix_langevin_eff.cpp b/src/EFF/fix_langevin_eff.cpp similarity index 100% rename from src/USER-EFF/fix_langevin_eff.cpp rename to src/EFF/fix_langevin_eff.cpp diff --git a/src/USER-EFF/fix_langevin_eff.h b/src/EFF/fix_langevin_eff.h similarity index 100% rename from src/USER-EFF/fix_langevin_eff.h rename to src/EFF/fix_langevin_eff.h diff --git a/src/USER-EFF/fix_nh_eff.cpp b/src/EFF/fix_nh_eff.cpp similarity index 100% rename from src/USER-EFF/fix_nh_eff.cpp rename to src/EFF/fix_nh_eff.cpp diff --git a/src/USER-EFF/fix_nh_eff.h b/src/EFF/fix_nh_eff.h similarity index 100% rename from src/USER-EFF/fix_nh_eff.h rename to src/EFF/fix_nh_eff.h diff --git a/src/USER-EFF/fix_nph_eff.cpp b/src/EFF/fix_nph_eff.cpp similarity index 100% rename from src/USER-EFF/fix_nph_eff.cpp rename to src/EFF/fix_nph_eff.cpp diff --git a/src/USER-EFF/fix_nph_eff.h b/src/EFF/fix_nph_eff.h similarity index 100% rename from src/USER-EFF/fix_nph_eff.h rename to src/EFF/fix_nph_eff.h diff --git a/src/USER-EFF/fix_npt_eff.cpp b/src/EFF/fix_npt_eff.cpp similarity index 100% rename from src/USER-EFF/fix_npt_eff.cpp rename to src/EFF/fix_npt_eff.cpp diff --git a/src/USER-EFF/fix_npt_eff.h b/src/EFF/fix_npt_eff.h similarity index 100% rename from src/USER-EFF/fix_npt_eff.h rename to src/EFF/fix_npt_eff.h diff --git a/src/USER-EFF/fix_nve_eff.cpp b/src/EFF/fix_nve_eff.cpp similarity index 100% rename from src/USER-EFF/fix_nve_eff.cpp rename to src/EFF/fix_nve_eff.cpp diff --git a/src/USER-EFF/fix_nve_eff.h b/src/EFF/fix_nve_eff.h similarity index 100% rename from src/USER-EFF/fix_nve_eff.h rename to src/EFF/fix_nve_eff.h diff --git a/src/USER-EFF/fix_nvt_eff.cpp b/src/EFF/fix_nvt_eff.cpp similarity index 100% rename from src/USER-EFF/fix_nvt_eff.cpp rename to src/EFF/fix_nvt_eff.cpp diff --git a/src/USER-EFF/fix_nvt_eff.h b/src/EFF/fix_nvt_eff.h similarity index 100% rename from src/USER-EFF/fix_nvt_eff.h rename to src/EFF/fix_nvt_eff.h diff --git a/src/USER-EFF/fix_nvt_sllod_eff.cpp b/src/EFF/fix_nvt_sllod_eff.cpp similarity index 100% rename from src/USER-EFF/fix_nvt_sllod_eff.cpp rename to src/EFF/fix_nvt_sllod_eff.cpp diff --git a/src/USER-EFF/fix_nvt_sllod_eff.h b/src/EFF/fix_nvt_sllod_eff.h similarity index 100% rename from src/USER-EFF/fix_nvt_sllod_eff.h rename to src/EFF/fix_nvt_sllod_eff.h diff --git a/src/USER-EFF/fix_temp_rescale_eff.cpp b/src/EFF/fix_temp_rescale_eff.cpp similarity index 100% rename from src/USER-EFF/fix_temp_rescale_eff.cpp rename to src/EFF/fix_temp_rescale_eff.cpp diff --git a/src/USER-EFF/fix_temp_rescale_eff.h b/src/EFF/fix_temp_rescale_eff.h similarity index 100% rename from src/USER-EFF/fix_temp_rescale_eff.h rename to src/EFF/fix_temp_rescale_eff.h diff --git a/src/USER-EFF/pair_eff_cut.cpp b/src/EFF/pair_eff_cut.cpp similarity index 100% rename from src/USER-EFF/pair_eff_cut.cpp rename to src/EFF/pair_eff_cut.cpp diff --git a/src/USER-EFF/pair_eff_cut.h b/src/EFF/pair_eff_cut.h similarity index 100% rename from src/USER-EFF/pair_eff_cut.h rename to src/EFF/pair_eff_cut.h diff --git a/src/USER-EFF/pair_eff_inline.h b/src/EFF/pair_eff_inline.h similarity index 100% rename from src/USER-EFF/pair_eff_inline.h rename to src/EFF/pair_eff_inline.h diff --git a/src/USER-FEP/Install.sh b/src/FEP/Install.sh similarity index 100% rename from src/USER-FEP/Install.sh rename to src/FEP/Install.sh diff --git a/src/USER-FEP/README b/src/FEP/README similarity index 100% rename from src/USER-FEP/README rename to src/FEP/README diff --git a/src/USER-FEP/compute_fep.cpp b/src/FEP/compute_fep.cpp similarity index 100% rename from src/USER-FEP/compute_fep.cpp rename to src/FEP/compute_fep.cpp diff --git a/src/USER-FEP/compute_fep.h b/src/FEP/compute_fep.h similarity index 100% rename from src/USER-FEP/compute_fep.h rename to src/FEP/compute_fep.h diff --git a/src/USER-FEP/fix_adapt_fep.cpp b/src/FEP/fix_adapt_fep.cpp similarity index 100% rename from src/USER-FEP/fix_adapt_fep.cpp rename to src/FEP/fix_adapt_fep.cpp diff --git a/src/USER-FEP/fix_adapt_fep.h b/src/FEP/fix_adapt_fep.h similarity index 100% rename from src/USER-FEP/fix_adapt_fep.h rename to src/FEP/fix_adapt_fep.h diff --git a/src/USER-FEP/pair_coul_cut_soft.cpp b/src/FEP/pair_coul_cut_soft.cpp similarity index 100% rename from src/USER-FEP/pair_coul_cut_soft.cpp rename to src/FEP/pair_coul_cut_soft.cpp diff --git a/src/USER-FEP/pair_coul_cut_soft.h b/src/FEP/pair_coul_cut_soft.h similarity index 100% rename from src/USER-FEP/pair_coul_cut_soft.h rename to src/FEP/pair_coul_cut_soft.h diff --git a/src/USER-FEP/pair_coul_long_soft.cpp b/src/FEP/pair_coul_long_soft.cpp similarity index 100% rename from src/USER-FEP/pair_coul_long_soft.cpp rename to src/FEP/pair_coul_long_soft.cpp diff --git a/src/USER-FEP/pair_coul_long_soft.h b/src/FEP/pair_coul_long_soft.h similarity index 100% rename from src/USER-FEP/pair_coul_long_soft.h rename to src/FEP/pair_coul_long_soft.h diff --git a/src/USER-FEP/pair_lj_charmm_coul_long_soft.cpp b/src/FEP/pair_lj_charmm_coul_long_soft.cpp similarity index 100% rename from src/USER-FEP/pair_lj_charmm_coul_long_soft.cpp rename to src/FEP/pair_lj_charmm_coul_long_soft.cpp diff --git a/src/USER-FEP/pair_lj_charmm_coul_long_soft.h b/src/FEP/pair_lj_charmm_coul_long_soft.h similarity index 100% rename from src/USER-FEP/pair_lj_charmm_coul_long_soft.h rename to src/FEP/pair_lj_charmm_coul_long_soft.h diff --git a/src/USER-FEP/pair_lj_class2_coul_cut_soft.cpp b/src/FEP/pair_lj_class2_coul_cut_soft.cpp similarity index 100% rename from src/USER-FEP/pair_lj_class2_coul_cut_soft.cpp rename to src/FEP/pair_lj_class2_coul_cut_soft.cpp diff --git a/src/USER-FEP/pair_lj_class2_coul_cut_soft.h b/src/FEP/pair_lj_class2_coul_cut_soft.h similarity index 100% rename from src/USER-FEP/pair_lj_class2_coul_cut_soft.h rename to src/FEP/pair_lj_class2_coul_cut_soft.h diff --git a/src/USER-FEP/pair_lj_class2_coul_long_soft.cpp b/src/FEP/pair_lj_class2_coul_long_soft.cpp similarity index 100% rename from src/USER-FEP/pair_lj_class2_coul_long_soft.cpp rename to src/FEP/pair_lj_class2_coul_long_soft.cpp diff --git a/src/USER-FEP/pair_lj_class2_coul_long_soft.h b/src/FEP/pair_lj_class2_coul_long_soft.h similarity index 100% rename from src/USER-FEP/pair_lj_class2_coul_long_soft.h rename to src/FEP/pair_lj_class2_coul_long_soft.h diff --git a/src/USER-FEP/pair_lj_class2_soft.cpp b/src/FEP/pair_lj_class2_soft.cpp similarity index 100% rename from src/USER-FEP/pair_lj_class2_soft.cpp rename to src/FEP/pair_lj_class2_soft.cpp diff --git a/src/USER-FEP/pair_lj_class2_soft.h b/src/FEP/pair_lj_class2_soft.h similarity index 100% rename from src/USER-FEP/pair_lj_class2_soft.h rename to src/FEP/pair_lj_class2_soft.h diff --git a/src/USER-FEP/pair_lj_cut_coul_cut_soft.cpp b/src/FEP/pair_lj_cut_coul_cut_soft.cpp similarity index 100% rename from src/USER-FEP/pair_lj_cut_coul_cut_soft.cpp rename to src/FEP/pair_lj_cut_coul_cut_soft.cpp diff --git a/src/USER-FEP/pair_lj_cut_coul_cut_soft.h b/src/FEP/pair_lj_cut_coul_cut_soft.h similarity index 100% rename from src/USER-FEP/pair_lj_cut_coul_cut_soft.h rename to src/FEP/pair_lj_cut_coul_cut_soft.h diff --git a/src/USER-FEP/pair_lj_cut_coul_long_soft.cpp b/src/FEP/pair_lj_cut_coul_long_soft.cpp similarity index 100% rename from src/USER-FEP/pair_lj_cut_coul_long_soft.cpp rename to src/FEP/pair_lj_cut_coul_long_soft.cpp diff --git a/src/USER-FEP/pair_lj_cut_coul_long_soft.h b/src/FEP/pair_lj_cut_coul_long_soft.h similarity index 100% rename from src/USER-FEP/pair_lj_cut_coul_long_soft.h rename to src/FEP/pair_lj_cut_coul_long_soft.h diff --git a/src/USER-FEP/pair_lj_cut_soft.cpp b/src/FEP/pair_lj_cut_soft.cpp similarity index 100% rename from src/USER-FEP/pair_lj_cut_soft.cpp rename to src/FEP/pair_lj_cut_soft.cpp diff --git a/src/USER-FEP/pair_lj_cut_soft.h b/src/FEP/pair_lj_cut_soft.h similarity index 100% rename from src/USER-FEP/pair_lj_cut_soft.h rename to src/FEP/pair_lj_cut_soft.h diff --git a/src/USER-FEP/pair_lj_cut_tip4p_long_soft.cpp b/src/FEP/pair_lj_cut_tip4p_long_soft.cpp similarity index 100% rename from src/USER-FEP/pair_lj_cut_tip4p_long_soft.cpp rename to src/FEP/pair_lj_cut_tip4p_long_soft.cpp diff --git a/src/USER-FEP/pair_lj_cut_tip4p_long_soft.h b/src/FEP/pair_lj_cut_tip4p_long_soft.h similarity index 100% rename from src/USER-FEP/pair_lj_cut_tip4p_long_soft.h rename to src/FEP/pair_lj_cut_tip4p_long_soft.h diff --git a/src/USER-FEP/pair_morse_soft.cpp b/src/FEP/pair_morse_soft.cpp similarity index 100% rename from src/USER-FEP/pair_morse_soft.cpp rename to src/FEP/pair_morse_soft.cpp diff --git a/src/USER-FEP/pair_morse_soft.h b/src/FEP/pair_morse_soft.h similarity index 100% rename from src/USER-FEP/pair_morse_soft.h rename to src/FEP/pair_morse_soft.h diff --git a/src/USER-FEP/pair_tip4p_long_soft.cpp b/src/FEP/pair_tip4p_long_soft.cpp similarity index 100% rename from src/USER-FEP/pair_tip4p_long_soft.cpp rename to src/FEP/pair_tip4p_long_soft.cpp diff --git a/src/USER-FEP/pair_tip4p_long_soft.h b/src/FEP/pair_tip4p_long_soft.h similarity index 100% rename from src/USER-FEP/pair_tip4p_long_soft.h rename to src/FEP/pair_tip4p_long_soft.h diff --git a/src/USER-H5MD/Install.sh b/src/H5MD/Install.sh similarity index 100% rename from src/USER-H5MD/Install.sh rename to src/H5MD/Install.sh diff --git a/src/USER-H5MD/README b/src/H5MD/README similarity index 100% rename from src/USER-H5MD/README rename to src/H5MD/README diff --git a/src/USER-H5MD/dump_h5md.cpp b/src/H5MD/dump_h5md.cpp similarity index 100% rename from src/USER-H5MD/dump_h5md.cpp rename to src/H5MD/dump_h5md.cpp diff --git a/src/USER-H5MD/dump_h5md.h b/src/H5MD/dump_h5md.h similarity index 100% rename from src/USER-H5MD/dump_h5md.h rename to src/H5MD/dump_h5md.h diff --git a/src/USER-INTEL/Install.sh b/src/INTEL/Install.sh similarity index 100% rename from src/USER-INTEL/Install.sh rename to src/INTEL/Install.sh diff --git a/src/USER-INTEL/README b/src/INTEL/README similarity index 98% rename from src/USER-INTEL/README rename to src/INTEL/README index 541e633675..b59b0619b3 100644 --- a/src/USER-INTEL/README +++ b/src/INTEL/README @@ -43,7 +43,7 @@ be added or changed in the Makefile depending on the version: When using the suffix command with "intel", intel styles will be used if they exist. If the suffix command is used with "hybrid intel omp" and the OPENMP -is installed, OPENMP styles will be used whenever USER-INTEL styles are not +is installed, OPENMP styles will be used whenever INTEL styles are not available. This allow for running most styles in LAMMPS with threading. ----------------------------------------------------------------------------- diff --git a/src/USER-INTEL/TEST/README b/src/INTEL/TEST/README similarity index 95% rename from src/USER-INTEL/TEST/README rename to src/INTEL/TEST/README index fd64dff72d..a3eee3f69c 100644 --- a/src/USER-INTEL/TEST/README +++ b/src/INTEL/TEST/README @@ -32,7 +32,7 @@ ############################################################################# ############################################################################# -# For Skylake server (Xeon) architectures, see notes in the USER-INTEL/README +# For Skylake server (Xeon) architectures, see notes in the INTEL/README # for build flags that should be used. ############################################################################# @@ -62,7 +62,7 @@ # -v N off # newton off # # The default is on for all of the benchmarks except for LJ where the off -# setting performs best with the USER-INTEL package +# setting performs best with the INTEL package ############################################################################# # Example for running benchmarks (see run_benchmarks.sh for script): @@ -111,12 +111,12 @@ mpirun -np $LMP_CORES $LMP_BIN -in $bench -log none -v N on mpirun -np $LMP_CORES $LMP_BIN -in $bench -log none -pk omp 0 -sf omp -v N on ############################################################################# -# To run with USER-INTEL package and no coprocessor +# To run with INTEL package and no coprocessor ############################################################################# mpirun -np $LMP_CORES $LMP_BIN -in $bench -log none -pk intel 0 -sf intel ############################################################################# -# To run with USER-INTEL and automatic load balancing to 1 coprocessor +# To run with INTEL and automatic load balancing to 1 coprocessor ############################################################################# mpirun -np $LMP_CORES $LMP_BIN -in $bench -log none -pk intel 1 -sf intel diff --git a/src/USER-INTEL/TEST/in.intel.airebo b/src/INTEL/TEST/in.intel.airebo similarity index 100% rename from src/USER-INTEL/TEST/in.intel.airebo rename to src/INTEL/TEST/in.intel.airebo diff --git a/src/USER-INTEL/TEST/in.intel.dpd b/src/INTEL/TEST/in.intel.dpd similarity index 100% rename from src/USER-INTEL/TEST/in.intel.dpd rename to src/INTEL/TEST/in.intel.dpd diff --git a/src/USER-INTEL/TEST/in.intel.eam b/src/INTEL/TEST/in.intel.eam similarity index 100% rename from src/USER-INTEL/TEST/in.intel.eam rename to src/INTEL/TEST/in.intel.eam diff --git a/src/USER-INTEL/TEST/in.intel.lc b/src/INTEL/TEST/in.intel.lc similarity index 100% rename from src/USER-INTEL/TEST/in.intel.lc rename to src/INTEL/TEST/in.intel.lc diff --git a/src/USER-INTEL/TEST/in.intel.lj b/src/INTEL/TEST/in.intel.lj similarity index 100% rename from src/USER-INTEL/TEST/in.intel.lj rename to src/INTEL/TEST/in.intel.lj diff --git a/src/USER-INTEL/TEST/in.intel.rhodo b/src/INTEL/TEST/in.intel.rhodo similarity index 100% rename from src/USER-INTEL/TEST/in.intel.rhodo rename to src/INTEL/TEST/in.intel.rhodo diff --git a/src/USER-INTEL/TEST/in.intel.sw b/src/INTEL/TEST/in.intel.sw similarity index 100% rename from src/USER-INTEL/TEST/in.intel.sw rename to src/INTEL/TEST/in.intel.sw diff --git a/src/USER-INTEL/TEST/in.intel.tersoff b/src/INTEL/TEST/in.intel.tersoff similarity index 100% rename from src/USER-INTEL/TEST/in.intel.tersoff rename to src/INTEL/TEST/in.intel.tersoff diff --git a/src/USER-INTEL/TEST/in.intel.water b/src/INTEL/TEST/in.intel.water similarity index 100% rename from src/USER-INTEL/TEST/in.intel.water rename to src/INTEL/TEST/in.intel.water diff --git a/src/USER-INTEL/TEST/in.lc_generate_restart b/src/INTEL/TEST/in.lc_generate_restart similarity index 100% rename from src/USER-INTEL/TEST/in.lc_generate_restart rename to src/INTEL/TEST/in.lc_generate_restart diff --git a/src/USER-INTEL/TEST/mW.sw b/src/INTEL/TEST/mW.sw similarity index 100% rename from src/USER-INTEL/TEST/mW.sw rename to src/INTEL/TEST/mW.sw diff --git a/src/USER-INTEL/TEST/mW_32k_cube.data b/src/INTEL/TEST/mW_32k_cube.data similarity index 100% rename from src/USER-INTEL/TEST/mW_32k_cube.data rename to src/INTEL/TEST/mW_32k_cube.data diff --git a/src/USER-INTEL/TEST/run_benchmarks.sh b/src/INTEL/TEST/run_benchmarks.sh similarity index 100% rename from src/USER-INTEL/TEST/run_benchmarks.sh rename to src/INTEL/TEST/run_benchmarks.sh diff --git a/src/USER-INTEL/angle_charmm_intel.cpp b/src/INTEL/angle_charmm_intel.cpp similarity index 99% rename from src/USER-INTEL/angle_charmm_intel.cpp rename to src/INTEL/angle_charmm_intel.cpp index 9284150522..29b7ec208b 100644 --- a/src/USER-INTEL/angle_charmm_intel.cpp +++ b/src/INTEL/angle_charmm_intel.cpp @@ -83,7 +83,7 @@ void AngleCharmmIntel::compute(int eflag, int vflag, { ev_init(eflag,vflag); if (vflag_atom) - error->all(FLERR,"USER-INTEL package does not support per-atom stress"); + error->all(FLERR,"INTEL package does not support per-atom stress"); if (evflag) { if (vflag && !eflag) { diff --git a/src/USER-INTEL/angle_charmm_intel.h b/src/INTEL/angle_charmm_intel.h similarity index 100% rename from src/USER-INTEL/angle_charmm_intel.h rename to src/INTEL/angle_charmm_intel.h diff --git a/src/USER-INTEL/angle_harmonic_intel.cpp b/src/INTEL/angle_harmonic_intel.cpp similarity index 99% rename from src/USER-INTEL/angle_harmonic_intel.cpp rename to src/INTEL/angle_harmonic_intel.cpp index 6a7a5c2fe2..a2d8cc7d13 100644 --- a/src/USER-INTEL/angle_harmonic_intel.cpp +++ b/src/INTEL/angle_harmonic_intel.cpp @@ -83,7 +83,7 @@ void AngleHarmonicIntel::compute(int eflag, int vflag, { ev_init(eflag,vflag); if (vflag_atom) - error->all(FLERR,"USER-INTEL package does not support per-atom stress"); + error->all(FLERR,"INTEL package does not support per-atom stress"); if (evflag) { if (vflag && !eflag) { diff --git a/src/USER-INTEL/angle_harmonic_intel.h b/src/INTEL/angle_harmonic_intel.h similarity index 100% rename from src/USER-INTEL/angle_harmonic_intel.h rename to src/INTEL/angle_harmonic_intel.h diff --git a/src/USER-INTEL/bond_fene_intel.cpp b/src/INTEL/bond_fene_intel.cpp similarity index 99% rename from src/USER-INTEL/bond_fene_intel.cpp rename to src/INTEL/bond_fene_intel.cpp index 0efcdafaef..44a8c0d3cf 100644 --- a/src/USER-INTEL/bond_fene_intel.cpp +++ b/src/INTEL/bond_fene_intel.cpp @@ -82,7 +82,7 @@ void BondFENEIntel::compute(int eflag, int vflag, { ev_init(eflag,vflag); if (vflag_atom) - error->all(FLERR,"USER-INTEL package does not support per-atom stress"); + error->all(FLERR,"INTEL package does not support per-atom stress"); if (evflag) { if (vflag && !eflag) { diff --git a/src/USER-INTEL/bond_fene_intel.h b/src/INTEL/bond_fene_intel.h similarity index 100% rename from src/USER-INTEL/bond_fene_intel.h rename to src/INTEL/bond_fene_intel.h diff --git a/src/USER-INTEL/bond_harmonic_intel.cpp b/src/INTEL/bond_harmonic_intel.cpp similarity index 99% rename from src/USER-INTEL/bond_harmonic_intel.cpp rename to src/INTEL/bond_harmonic_intel.cpp index db531ee650..a37ae091a0 100644 --- a/src/USER-INTEL/bond_harmonic_intel.cpp +++ b/src/INTEL/bond_harmonic_intel.cpp @@ -79,7 +79,7 @@ void BondHarmonicIntel::compute(int eflag, int vflag, { ev_init(eflag,vflag); if (vflag_atom) - error->all(FLERR,"USER-INTEL package does not support per-atom stress"); + error->all(FLERR,"INTEL package does not support per-atom stress"); if (evflag) { if (vflag && !eflag) { diff --git a/src/USER-INTEL/bond_harmonic_intel.h b/src/INTEL/bond_harmonic_intel.h similarity index 100% rename from src/USER-INTEL/bond_harmonic_intel.h rename to src/INTEL/bond_harmonic_intel.h diff --git a/src/USER-INTEL/dihedral_charmm_intel.cpp b/src/INTEL/dihedral_charmm_intel.cpp similarity index 99% rename from src/USER-INTEL/dihedral_charmm_intel.cpp rename to src/INTEL/dihedral_charmm_intel.cpp index c49768afe6..a317be00fb 100644 --- a/src/USER-INTEL/dihedral_charmm_intel.cpp +++ b/src/INTEL/dihedral_charmm_intel.cpp @@ -88,7 +88,7 @@ void DihedralCharmmIntel::compute(int eflag, int vflag, { ev_init(eflag,vflag); if (vflag_atom) - error->all(FLERR,"USER-INTEL package does not support per-atom stress"); + error->all(FLERR,"INTEL package does not support per-atom stress"); // insure pair->ev_tally() will use 1-4 virial contribution diff --git a/src/USER-INTEL/dihedral_charmm_intel.h b/src/INTEL/dihedral_charmm_intel.h similarity index 100% rename from src/USER-INTEL/dihedral_charmm_intel.h rename to src/INTEL/dihedral_charmm_intel.h diff --git a/src/USER-INTEL/dihedral_fourier_intel.cpp b/src/INTEL/dihedral_fourier_intel.cpp similarity index 99% rename from src/USER-INTEL/dihedral_fourier_intel.cpp rename to src/INTEL/dihedral_fourier_intel.cpp index d8a500b40e..4d44ea36d2 100644 --- a/src/USER-INTEL/dihedral_fourier_intel.cpp +++ b/src/INTEL/dihedral_fourier_intel.cpp @@ -77,7 +77,7 @@ void DihedralFourierIntel::compute(int eflag, int vflag, { ev_init(eflag,vflag); if (vflag_atom) - error->all(FLERR,"USER-INTEL package does not support per-atom stress"); + error->all(FLERR,"INTEL package does not support per-atom stress"); if (evflag) { if (vflag && !eflag) { diff --git a/src/USER-INTEL/dihedral_fourier_intel.h b/src/INTEL/dihedral_fourier_intel.h similarity index 100% rename from src/USER-INTEL/dihedral_fourier_intel.h rename to src/INTEL/dihedral_fourier_intel.h diff --git a/src/USER-INTEL/dihedral_harmonic_intel.cpp b/src/INTEL/dihedral_harmonic_intel.cpp similarity index 99% rename from src/USER-INTEL/dihedral_harmonic_intel.cpp rename to src/INTEL/dihedral_harmonic_intel.cpp index 82eb87e90f..f7009689c7 100644 --- a/src/USER-INTEL/dihedral_harmonic_intel.cpp +++ b/src/INTEL/dihedral_harmonic_intel.cpp @@ -77,7 +77,7 @@ void DihedralHarmonicIntel::compute(int eflag, int vflag, { ev_init(eflag,vflag); if (vflag_atom) - error->all(FLERR,"USER-INTEL package does not support per-atom stress"); + error->all(FLERR,"INTEL package does not support per-atom stress"); if (evflag) { if (vflag && !eflag) { diff --git a/src/USER-INTEL/dihedral_harmonic_intel.h b/src/INTEL/dihedral_harmonic_intel.h similarity index 100% rename from src/USER-INTEL/dihedral_harmonic_intel.h rename to src/INTEL/dihedral_harmonic_intel.h diff --git a/src/USER-INTEL/dihedral_opls_intel.cpp b/src/INTEL/dihedral_opls_intel.cpp similarity index 99% rename from src/USER-INTEL/dihedral_opls_intel.cpp rename to src/INTEL/dihedral_opls_intel.cpp index a19482a2d8..ab007dad8c 100644 --- a/src/USER-INTEL/dihedral_opls_intel.cpp +++ b/src/INTEL/dihedral_opls_intel.cpp @@ -81,7 +81,7 @@ void DihedralOPLSIntel::compute(int eflag, int vflag, { ev_init(eflag,vflag); if (vflag_atom) - error->all(FLERR,"USER-INTEL package does not support per-atom stress"); + error->all(FLERR,"INTEL package does not support per-atom stress"); if (evflag) { if (vflag && !eflag) { diff --git a/src/USER-INTEL/dihedral_opls_intel.h b/src/INTEL/dihedral_opls_intel.h similarity index 100% rename from src/USER-INTEL/dihedral_opls_intel.h rename to src/INTEL/dihedral_opls_intel.h diff --git a/src/USER-INTEL/fix_intel.cpp b/src/INTEL/fix_intel.cpp similarity index 99% rename from src/USER-INTEL/fix_intel.cpp rename to src/INTEL/fix_intel.cpp index 51677c8e0e..59eea4961a 100644 --- a/src/USER-INTEL/fix_intel.cpp +++ b/src/INTEL/fix_intel.cpp @@ -510,7 +510,7 @@ void FixIntel::bond_init_check() if ((_offload_balance != 0.0) && (atom->molecular != Atom::ATOMIC) && (force->newton_pair != force->newton_bond)) error->all(FLERR, - "USER-INTEL package requires same setting for newton bond and non-bond."); + "INTEL package requires same setting for newton bond and non-bond."); int intel_pair = 0; if (force->pair_match("/intel$", 0) != nullptr) @@ -557,12 +557,12 @@ void FixIntel::check_neighbor_intel() if (neighbor->requests[i]->skip && _offload_balance != 0.0) error->all(FLERR, "Cannot yet use hybrid styles with Intel offload."); - // avoid flagging a neighbor list as both USER-INTEL and OPENMP + // avoid flagging a neighbor list as both INTEL and OPENMP if (neighbor->requests[i]->intel) neighbor->requests[i]->omp = 0; } #else - // avoid flagging a neighbor list as both USER-INTEL and OPENMP + // avoid flagging a neighbor list as both INTEL and OPENMP const int nrequest = neighbor->nrequest; for (int i = 0; i < nrequest; ++i) if (neighbor->requests[i]->intel) diff --git a/src/USER-INTEL/fix_intel.h b/src/INTEL/fix_intel.h similarity index 98% rename from src/USER-INTEL/fix_intel.h rename to src/INTEL/fix_intel.h index 8bc3e80780..8e5d2b524d 100644 --- a/src/USER-INTEL/fix_intel.h +++ b/src/INTEL/fix_intel.h @@ -541,19 +541,19 @@ W: More MPI tasks/OpenMP threads than available cores Using more MPI tasks/OpenMP threads than available cores will typically decrease performance. -E: USER-INTEL package requires same setting for newton bond and non-bond. +E: INTEL package requires same setting for newton bond and non-bond. The newton setting must be the same for both pairwise and bonded forces. E: Intel styles for bond/angle/dihedral/improper require intel pair style." -You cannot use the USER-INTEL package for bond calculations without a -USER-INTEL supported pair style. +You cannot use the INTEL package for bond calculations without a +INTEL supported pair style. E: Intel styles for kspace require intel pair style. -You cannot use the USER-INTEL package for kspace calculations without a -USER-INTEL supported pair style. +You cannot use the INTEL package for kspace calculations without a +INTEL supported pair style. E: Cannot currently get per-atom virials with intel package. diff --git a/src/USER-INTEL/fix_nh_intel.cpp b/src/INTEL/fix_nh_intel.cpp similarity index 100% rename from src/USER-INTEL/fix_nh_intel.cpp rename to src/INTEL/fix_nh_intel.cpp diff --git a/src/USER-INTEL/fix_nh_intel.h b/src/INTEL/fix_nh_intel.h similarity index 100% rename from src/USER-INTEL/fix_nh_intel.h rename to src/INTEL/fix_nh_intel.h diff --git a/src/USER-INTEL/fix_npt_intel.cpp b/src/INTEL/fix_npt_intel.cpp similarity index 100% rename from src/USER-INTEL/fix_npt_intel.cpp rename to src/INTEL/fix_npt_intel.cpp diff --git a/src/USER-INTEL/fix_npt_intel.h b/src/INTEL/fix_npt_intel.h similarity index 100% rename from src/USER-INTEL/fix_npt_intel.h rename to src/INTEL/fix_npt_intel.h diff --git a/src/USER-INTEL/fix_nve_asphere_intel.cpp b/src/INTEL/fix_nve_asphere_intel.cpp similarity index 100% rename from src/USER-INTEL/fix_nve_asphere_intel.cpp rename to src/INTEL/fix_nve_asphere_intel.cpp diff --git a/src/USER-INTEL/fix_nve_asphere_intel.h b/src/INTEL/fix_nve_asphere_intel.h similarity index 100% rename from src/USER-INTEL/fix_nve_asphere_intel.h rename to src/INTEL/fix_nve_asphere_intel.h diff --git a/src/USER-INTEL/fix_nve_intel.cpp b/src/INTEL/fix_nve_intel.cpp similarity index 100% rename from src/USER-INTEL/fix_nve_intel.cpp rename to src/INTEL/fix_nve_intel.cpp diff --git a/src/USER-INTEL/fix_nve_intel.h b/src/INTEL/fix_nve_intel.h similarity index 100% rename from src/USER-INTEL/fix_nve_intel.h rename to src/INTEL/fix_nve_intel.h diff --git a/src/USER-INTEL/fix_nvt_intel.cpp b/src/INTEL/fix_nvt_intel.cpp similarity index 100% rename from src/USER-INTEL/fix_nvt_intel.cpp rename to src/INTEL/fix_nvt_intel.cpp diff --git a/src/USER-INTEL/fix_nvt_intel.h b/src/INTEL/fix_nvt_intel.h similarity index 100% rename from src/USER-INTEL/fix_nvt_intel.h rename to src/INTEL/fix_nvt_intel.h diff --git a/src/USER-INTEL/fix_nvt_sllod_intel.cpp b/src/INTEL/fix_nvt_sllod_intel.cpp similarity index 100% rename from src/USER-INTEL/fix_nvt_sllod_intel.cpp rename to src/INTEL/fix_nvt_sllod_intel.cpp diff --git a/src/USER-INTEL/fix_nvt_sllod_intel.h b/src/INTEL/fix_nvt_sllod_intel.h similarity index 100% rename from src/USER-INTEL/fix_nvt_sllod_intel.h rename to src/INTEL/fix_nvt_sllod_intel.h diff --git a/src/USER-INTEL/improper_cvff_intel.cpp b/src/INTEL/improper_cvff_intel.cpp similarity index 99% rename from src/USER-INTEL/improper_cvff_intel.cpp rename to src/INTEL/improper_cvff_intel.cpp index 9fe1ad8eb1..62dcde36b9 100644 --- a/src/USER-INTEL/improper_cvff_intel.cpp +++ b/src/INTEL/improper_cvff_intel.cpp @@ -87,7 +87,7 @@ void ImproperCvffIntel::compute(int eflag, int vflag, { ev_init(eflag,vflag); if (vflag_atom) - error->all(FLERR,"USER-INTEL package does not support per-atom stress"); + error->all(FLERR,"INTEL package does not support per-atom stress"); if (evflag) { if (vflag && !eflag) { diff --git a/src/USER-INTEL/improper_cvff_intel.h b/src/INTEL/improper_cvff_intel.h similarity index 100% rename from src/USER-INTEL/improper_cvff_intel.h rename to src/INTEL/improper_cvff_intel.h diff --git a/src/USER-INTEL/improper_harmonic_intel.cpp b/src/INTEL/improper_harmonic_intel.cpp similarity index 99% rename from src/USER-INTEL/improper_harmonic_intel.cpp rename to src/INTEL/improper_harmonic_intel.cpp index c5bf84b2d5..b3d4c342d9 100644 --- a/src/USER-INTEL/improper_harmonic_intel.cpp +++ b/src/INTEL/improper_harmonic_intel.cpp @@ -89,7 +89,7 @@ void ImproperHarmonicIntel::compute(int eflag, int vflag, { ev_init(eflag,vflag); if (vflag_atom) - error->all(FLERR,"USER-INTEL package does not support per-atom stress"); + error->all(FLERR,"INTEL package does not support per-atom stress"); if (evflag) { if (vflag && !eflag) { diff --git a/src/USER-INTEL/improper_harmonic_intel.h b/src/INTEL/improper_harmonic_intel.h similarity index 100% rename from src/USER-INTEL/improper_harmonic_intel.h rename to src/INTEL/improper_harmonic_intel.h diff --git a/src/USER-INTEL/intel_buffers.cpp b/src/INTEL/intel_buffers.cpp similarity index 100% rename from src/USER-INTEL/intel_buffers.cpp rename to src/INTEL/intel_buffers.cpp diff --git a/src/USER-INTEL/intel_buffers.h b/src/INTEL/intel_buffers.h similarity index 100% rename from src/USER-INTEL/intel_buffers.h rename to src/INTEL/intel_buffers.h diff --git a/src/USER-INTEL/intel_intrinsics.h b/src/INTEL/intel_intrinsics.h similarity index 100% rename from src/USER-INTEL/intel_intrinsics.h rename to src/INTEL/intel_intrinsics.h diff --git a/src/USER-INTEL/intel_intrinsics_airebo.h b/src/INTEL/intel_intrinsics_airebo.h similarity index 100% rename from src/USER-INTEL/intel_intrinsics_airebo.h rename to src/INTEL/intel_intrinsics_airebo.h diff --git a/src/USER-INTEL/intel_preprocess.h b/src/INTEL/intel_preprocess.h similarity index 99% rename from src/USER-INTEL/intel_preprocess.h rename to src/INTEL/intel_preprocess.h index c082bb237f..6f9b37a700 100644 --- a/src/USER-INTEL/intel_preprocess.h +++ b/src/INTEL/intel_preprocess.h @@ -43,7 +43,7 @@ // LAMMPS_MEMALIGN is set to 64 by default for -DLMP_USER_INTEL // so we only need to error out in case of a different alignment #if LAMMPS_MEMALIGN && (LAMMPS_MEMALIGN != 64) -#error Please set -DLAMMPS_MEMALIGN=64 in CCFLAGS of your LAMMPS makefile for USER-INTEL package +#error Please set -DLAMMPS_MEMALIGN=64 in CCFLAGS of your LAMMPS makefile for INTEL package #endif #if defined(_OPENMP) diff --git a/src/USER-INTEL/intel_simd.h b/src/INTEL/intel_simd.h similarity index 100% rename from src/USER-INTEL/intel_simd.h rename to src/INTEL/intel_simd.h diff --git a/src/USER-INTEL/math_extra_intel.h b/src/INTEL/math_extra_intel.h similarity index 100% rename from src/USER-INTEL/math_extra_intel.h rename to src/INTEL/math_extra_intel.h diff --git a/src/USER-INTEL/nbin_intel.cpp b/src/INTEL/nbin_intel.cpp similarity index 99% rename from src/USER-INTEL/nbin_intel.cpp rename to src/INTEL/nbin_intel.cpp index 5227b6c521..94f18002a0 100644 --- a/src/USER-INTEL/nbin_intel.cpp +++ b/src/INTEL/nbin_intel.cpp @@ -68,7 +68,7 @@ NBinIntel::~NBinIntel() { void NBinIntel::bin_atoms_setup(int nall) { // binhead = per-bin vector, mbins in length - // add 1 bin for USER-INTEL package + // add 1 bin for INTEL package if (mbins > maxbin) { #ifdef _LMP_INTEL_OFFLOAD diff --git a/src/USER-INTEL/nbin_intel.h b/src/INTEL/nbin_intel.h similarity index 100% rename from src/USER-INTEL/nbin_intel.h rename to src/INTEL/nbin_intel.h diff --git a/src/USER-INTEL/npair_full_bin_ghost_intel.cpp b/src/INTEL/npair_full_bin_ghost_intel.cpp similarity index 99% rename from src/USER-INTEL/npair_full_bin_ghost_intel.cpp rename to src/INTEL/npair_full_bin_ghost_intel.cpp index 50f98bf746..082f95721f 100644 --- a/src/USER-INTEL/npair_full_bin_ghost_intel.cpp +++ b/src/INTEL/npair_full_bin_ghost_intel.cpp @@ -42,11 +42,11 @@ void NPairFullBinGhostIntel::build(NeighList *list) #ifdef _LMP_INTEL_OFFLOAD if (_fix->offload_noghost()) error->all(FLERR, - "The 'ghost no' option cannot be used with this USER-INTEL pair style."); + "The 'ghost no' option cannot be used with this INTEL pair style."); #endif if (nstencil > INTEL_MAX_STENCIL_CHECK) - error->all(FLERR, "Too many neighbor bins for USER-INTEL package."); + error->all(FLERR, "Too many neighbor bins for INTEL package."); #ifdef _LMP_INTEL_OFFLOAD if (exclude) diff --git a/src/USER-INTEL/npair_full_bin_ghost_intel.h b/src/INTEL/npair_full_bin_ghost_intel.h similarity index 100% rename from src/USER-INTEL/npair_full_bin_ghost_intel.h rename to src/INTEL/npair_full_bin_ghost_intel.h diff --git a/src/USER-INTEL/npair_full_bin_intel.cpp b/src/INTEL/npair_full_bin_intel.cpp similarity index 98% rename from src/USER-INTEL/npair_full_bin_intel.cpp rename to src/INTEL/npair_full_bin_intel.cpp index 4b84c72081..82c73ec940 100644 --- a/src/USER-INTEL/npair_full_bin_intel.cpp +++ b/src/INTEL/npair_full_bin_intel.cpp @@ -37,7 +37,7 @@ NPairFullBinIntel::NPairFullBinIntel(LAMMPS *lmp) : NPairIntel(lmp) {} void NPairFullBinIntel::build(NeighList *list) { if (nstencil > INTEL_MAX_STENCIL_CHECK) - error->all(FLERR, "Too many neighbor bins for USER-INTEL package."); + error->all(FLERR, "Too many neighbor bins for INTEL package."); #ifdef _LMP_INTEL_OFFLOAD if (exclude) diff --git a/src/USER-INTEL/npair_full_bin_intel.h b/src/INTEL/npair_full_bin_intel.h similarity index 100% rename from src/USER-INTEL/npair_full_bin_intel.h rename to src/INTEL/npair_full_bin_intel.h diff --git a/src/USER-INTEL/npair_half_bin_newton_intel.cpp b/src/INTEL/npair_half_bin_newton_intel.cpp similarity index 98% rename from src/USER-INTEL/npair_half_bin_newton_intel.cpp rename to src/INTEL/npair_half_bin_newton_intel.cpp index abaddde84c..21145ad647 100644 --- a/src/USER-INTEL/npair_half_bin_newton_intel.cpp +++ b/src/INTEL/npair_half_bin_newton_intel.cpp @@ -39,7 +39,7 @@ NPairHalfBinNewtonIntel::NPairHalfBinNewtonIntel(LAMMPS *lmp) : void NPairHalfBinNewtonIntel::build(NeighList *list) { if (nstencil / 2 > INTEL_MAX_STENCIL_CHECK) - error->all(FLERR, "Too many neighbor bins for USER-INTEL package."); + error->all(FLERR, "Too many neighbor bins for INTEL package."); #ifdef _LMP_INTEL_OFFLOAD if (exclude) diff --git a/src/USER-INTEL/npair_half_bin_newton_intel.h b/src/INTEL/npair_half_bin_newton_intel.h similarity index 100% rename from src/USER-INTEL/npair_half_bin_newton_intel.h rename to src/INTEL/npair_half_bin_newton_intel.h diff --git a/src/USER-INTEL/npair_half_bin_newton_tri_intel.cpp b/src/INTEL/npair_half_bin_newton_tri_intel.cpp similarity index 98% rename from src/USER-INTEL/npair_half_bin_newton_tri_intel.cpp rename to src/INTEL/npair_half_bin_newton_tri_intel.cpp index 264407b1bf..1ad4d5fc68 100644 --- a/src/USER-INTEL/npair_half_bin_newton_tri_intel.cpp +++ b/src/INTEL/npair_half_bin_newton_tri_intel.cpp @@ -39,7 +39,7 @@ NPairHalfBinNewtonTriIntel::NPairHalfBinNewtonTriIntel(LAMMPS *lmp) : void NPairHalfBinNewtonTriIntel::build(NeighList *list) { if (nstencil > INTEL_MAX_STENCIL) - error->all(FLERR, "Too many neighbor bins for USER-INTEL package."); + error->all(FLERR, "Too many neighbor bins for INTEL package."); #ifdef _LMP_INTEL_OFFLOAD if (exclude) diff --git a/src/USER-INTEL/npair_half_bin_newton_tri_intel.h b/src/INTEL/npair_half_bin_newton_tri_intel.h similarity index 100% rename from src/USER-INTEL/npair_half_bin_newton_tri_intel.h rename to src/INTEL/npair_half_bin_newton_tri_intel.h diff --git a/src/USER-INTEL/npair_halffull_newtoff_intel.h b/src/INTEL/npair_halffull_newtoff_intel.h similarity index 100% rename from src/USER-INTEL/npair_halffull_newtoff_intel.h rename to src/INTEL/npair_halffull_newtoff_intel.h diff --git a/src/USER-INTEL/npair_halffull_newton_intel.cpp b/src/INTEL/npair_halffull_newton_intel.cpp similarity index 100% rename from src/USER-INTEL/npair_halffull_newton_intel.cpp rename to src/INTEL/npair_halffull_newton_intel.cpp diff --git a/src/USER-INTEL/npair_halffull_newton_intel.h b/src/INTEL/npair_halffull_newton_intel.h similarity index 100% rename from src/USER-INTEL/npair_halffull_newton_intel.h rename to src/INTEL/npair_halffull_newton_intel.h diff --git a/src/USER-INTEL/npair_intel.cpp b/src/INTEL/npair_intel.cpp similarity index 100% rename from src/USER-INTEL/npair_intel.cpp rename to src/INTEL/npair_intel.cpp diff --git a/src/USER-INTEL/npair_intel.h b/src/INTEL/npair_intel.h similarity index 98% rename from src/USER-INTEL/npair_intel.h rename to src/INTEL/npair_intel.h index 7c21e683ad..8035f6f9be 100644 --- a/src/USER-INTEL/npair_intel.h +++ b/src/INTEL/npair_intel.h @@ -113,7 +113,7 @@ E: The 'package intel' command is required for /intel styles Self explanatory. -E: Too many neighbor bins for USER-INTEL package. +E: Too many neighbor bins for INTEL package. The number of bins used in the stencil to check for neighboring atoms is too high for the Intel package. Either increase the bin size in the input script diff --git a/src/USER-INTEL/npair_skip_intel.cpp b/src/INTEL/npair_skip_intel.cpp similarity index 100% rename from src/USER-INTEL/npair_skip_intel.cpp rename to src/INTEL/npair_skip_intel.cpp diff --git a/src/USER-INTEL/npair_skip_intel.h b/src/INTEL/npair_skip_intel.h similarity index 100% rename from src/USER-INTEL/npair_skip_intel.h rename to src/INTEL/npair_skip_intel.h diff --git a/src/USER-INTEL/pair_airebo_intel.cpp b/src/INTEL/pair_airebo_intel.cpp similarity index 99% rename from src/USER-INTEL/pair_airebo_intel.cpp rename to src/INTEL/pair_airebo_intel.cpp index 12afce046b..8b2eadbe72 100644 --- a/src/USER-INTEL/pair_airebo_intel.cpp +++ b/src/INTEL/pair_airebo_intel.cpp @@ -293,7 +293,7 @@ void PairAIREBOIntel::compute( ) { ev_init(eflag,vflag); if (vflag_atom) - error->all(FLERR,"USER-INTEL package does not support per-atom stress"); + error->all(FLERR,"INTEL package does not support per-atom stress"); pvector[0] = pvector[1] = pvector[2] = 0.0; diff --git a/src/USER-INTEL/pair_airebo_intel.h b/src/INTEL/pair_airebo_intel.h similarity index 100% rename from src/USER-INTEL/pair_airebo_intel.h rename to src/INTEL/pair_airebo_intel.h diff --git a/src/USER-INTEL/pair_airebo_morse_intel.cpp b/src/INTEL/pair_airebo_morse_intel.cpp similarity index 100% rename from src/USER-INTEL/pair_airebo_morse_intel.cpp rename to src/INTEL/pair_airebo_morse_intel.cpp diff --git a/src/USER-INTEL/pair_airebo_morse_intel.h b/src/INTEL/pair_airebo_morse_intel.h similarity index 100% rename from src/USER-INTEL/pair_airebo_morse_intel.h rename to src/INTEL/pair_airebo_morse_intel.h diff --git a/src/USER-INTEL/pair_buck_coul_cut_intel.cpp b/src/INTEL/pair_buck_coul_cut_intel.cpp similarity index 99% rename from src/USER-INTEL/pair_buck_coul_cut_intel.cpp rename to src/INTEL/pair_buck_coul_cut_intel.cpp index e2ff70e392..1859edb732 100644 --- a/src/USER-INTEL/pair_buck_coul_cut_intel.cpp +++ b/src/INTEL/pair_buck_coul_cut_intel.cpp @@ -76,7 +76,7 @@ void PairBuckCoulCutIntel::compute(int eflag, int vflag, { ev_init(eflag,vflag); if (vflag_atom) - error->all(FLERR,"USER-INTEL package does not support per-atom stress"); + error->all(FLERR,"INTEL package does not support per-atom stress"); const int inum = list->inum; const int nthreads = comm->nthreads; diff --git a/src/USER-INTEL/pair_buck_coul_cut_intel.h b/src/INTEL/pair_buck_coul_cut_intel.h similarity index 100% rename from src/USER-INTEL/pair_buck_coul_cut_intel.h rename to src/INTEL/pair_buck_coul_cut_intel.h diff --git a/src/USER-INTEL/pair_buck_coul_long_intel.cpp b/src/INTEL/pair_buck_coul_long_intel.cpp similarity index 99% rename from src/USER-INTEL/pair_buck_coul_long_intel.cpp rename to src/INTEL/pair_buck_coul_long_intel.cpp index 689a874bce..dc5eed7521 100644 --- a/src/USER-INTEL/pair_buck_coul_long_intel.cpp +++ b/src/INTEL/pair_buck_coul_long_intel.cpp @@ -76,7 +76,7 @@ void PairBuckCoulLongIntel::compute(int eflag, int vflag, { ev_init(eflag,vflag); if (vflag_atom) - error->all(FLERR,"USER-INTEL package does not support per-atom stress"); + error->all(FLERR,"INTEL package does not support per-atom stress"); const int inum = list->inum; const int nthreads = comm->nthreads; diff --git a/src/USER-INTEL/pair_buck_coul_long_intel.h b/src/INTEL/pair_buck_coul_long_intel.h similarity index 100% rename from src/USER-INTEL/pair_buck_coul_long_intel.h rename to src/INTEL/pair_buck_coul_long_intel.h diff --git a/src/USER-INTEL/pair_buck_intel.cpp b/src/INTEL/pair_buck_intel.cpp similarity index 99% rename from src/USER-INTEL/pair_buck_intel.cpp rename to src/INTEL/pair_buck_intel.cpp index 017774f8f6..23f7852486 100644 --- a/src/USER-INTEL/pair_buck_intel.cpp +++ b/src/INTEL/pair_buck_intel.cpp @@ -69,7 +69,7 @@ void PairBuckIntel::compute(int eflag, int vflag, { ev_init(eflag,vflag); if (vflag_atom) - error->all(FLERR,"USER-INTEL package does not support per-atom stress"); + error->all(FLERR,"INTEL package does not support per-atom stress"); const int inum = list->inum; const int nthreads = comm->nthreads; diff --git a/src/USER-INTEL/pair_buck_intel.h b/src/INTEL/pair_buck_intel.h similarity index 100% rename from src/USER-INTEL/pair_buck_intel.h rename to src/INTEL/pair_buck_intel.h diff --git a/src/USER-INTEL/pair_dpd_intel.cpp b/src/INTEL/pair_dpd_intel.cpp similarity index 99% rename from src/USER-INTEL/pair_dpd_intel.cpp rename to src/INTEL/pair_dpd_intel.cpp index 18c039572b..0e872efdf6 100644 --- a/src/USER-INTEL/pair_dpd_intel.cpp +++ b/src/INTEL/pair_dpd_intel.cpp @@ -85,7 +85,7 @@ void PairDPDIntel::compute(int eflag, int vflag, { ev_init(eflag, vflag); if (vflag_atom) - error->all(FLERR,"USER-INTEL package does not support per-atom stress"); + error->all(FLERR,"INTEL package does not support per-atom stress"); const int inum = list->inum; const int nthreads = comm->nthreads; diff --git a/src/USER-INTEL/pair_dpd_intel.h b/src/INTEL/pair_dpd_intel.h similarity index 100% rename from src/USER-INTEL/pair_dpd_intel.h rename to src/INTEL/pair_dpd_intel.h diff --git a/src/USER-INTEL/pair_eam_alloy_intel.cpp b/src/INTEL/pair_eam_alloy_intel.cpp similarity index 100% rename from src/USER-INTEL/pair_eam_alloy_intel.cpp rename to src/INTEL/pair_eam_alloy_intel.cpp diff --git a/src/USER-INTEL/pair_eam_alloy_intel.h b/src/INTEL/pair_eam_alloy_intel.h similarity index 100% rename from src/USER-INTEL/pair_eam_alloy_intel.h rename to src/INTEL/pair_eam_alloy_intel.h diff --git a/src/USER-INTEL/pair_eam_fs_intel.cpp b/src/INTEL/pair_eam_fs_intel.cpp similarity index 100% rename from src/USER-INTEL/pair_eam_fs_intel.cpp rename to src/INTEL/pair_eam_fs_intel.cpp diff --git a/src/USER-INTEL/pair_eam_fs_intel.h b/src/INTEL/pair_eam_fs_intel.h similarity index 100% rename from src/USER-INTEL/pair_eam_fs_intel.h rename to src/INTEL/pair_eam_fs_intel.h diff --git a/src/USER-INTEL/pair_eam_intel.cpp b/src/INTEL/pair_eam_intel.cpp similarity index 99% rename from src/USER-INTEL/pair_eam_intel.cpp rename to src/INTEL/pair_eam_intel.cpp index 58573eca5f..04724f599c 100644 --- a/src/USER-INTEL/pair_eam_intel.cpp +++ b/src/INTEL/pair_eam_intel.cpp @@ -81,7 +81,7 @@ void PairEAMIntel::compute(int eflag, int vflag, { ev_init(eflag, vflag); if (vflag_atom) - error->all(FLERR,"USER-INTEL package does not support per-atom stress"); + error->all(FLERR,"INTEL package does not support per-atom stress"); const int inum = list->inum; const int nthreads = comm->nthreads; diff --git a/src/USER-INTEL/pair_eam_intel.h b/src/INTEL/pair_eam_intel.h similarity index 100% rename from src/USER-INTEL/pair_eam_intel.h rename to src/INTEL/pair_eam_intel.h diff --git a/src/USER-INTEL/pair_gayberne_intel.cpp b/src/INTEL/pair_gayberne_intel.cpp similarity index 99% rename from src/USER-INTEL/pair_gayberne_intel.cpp rename to src/INTEL/pair_gayberne_intel.cpp index e51b7758e6..8b81b1ea81 100644 --- a/src/USER-INTEL/pair_gayberne_intel.cpp +++ b/src/INTEL/pair_gayberne_intel.cpp @@ -75,7 +75,7 @@ void PairGayBerneIntel::compute(int eflag, int vflag, { ev_init(eflag, vflag); if (vflag_atom) - error->all(FLERR,"USER-INTEL package does not support per-atom stress"); + error->all(FLERR,"INTEL package does not support per-atom stress"); const int inum = list->inum; const int nall = atom->nlocal + atom->nghost; diff --git a/src/USER-INTEL/pair_gayberne_intel.h b/src/INTEL/pair_gayberne_intel.h similarity index 100% rename from src/USER-INTEL/pair_gayberne_intel.h rename to src/INTEL/pair_gayberne_intel.h diff --git a/src/USER-INTEL/pair_lj_charmm_coul_charmm_intel.cpp b/src/INTEL/pair_lj_charmm_coul_charmm_intel.cpp similarity index 99% rename from src/USER-INTEL/pair_lj_charmm_coul_charmm_intel.cpp rename to src/INTEL/pair_lj_charmm_coul_charmm_intel.cpp index 59809cc839..f67f5156b8 100644 --- a/src/USER-INTEL/pair_lj_charmm_coul_charmm_intel.cpp +++ b/src/INTEL/pair_lj_charmm_coul_charmm_intel.cpp @@ -72,7 +72,7 @@ void PairLJCharmmCoulCharmmIntel::compute(int eflag, int vflag, { ev_init(eflag,vflag); if (vflag_atom) - error->all(FLERR,"USER-INTEL package does not support per-atom stress"); + error->all(FLERR,"INTEL package does not support per-atom stress"); const int inum = list->inum; const int nthreads = comm->nthreads; diff --git a/src/USER-INTEL/pair_lj_charmm_coul_charmm_intel.h b/src/INTEL/pair_lj_charmm_coul_charmm_intel.h similarity index 100% rename from src/USER-INTEL/pair_lj_charmm_coul_charmm_intel.h rename to src/INTEL/pair_lj_charmm_coul_charmm_intel.h diff --git a/src/USER-INTEL/pair_lj_charmm_coul_long_intel.cpp b/src/INTEL/pair_lj_charmm_coul_long_intel.cpp similarity index 99% rename from src/USER-INTEL/pair_lj_charmm_coul_long_intel.cpp rename to src/INTEL/pair_lj_charmm_coul_long_intel.cpp index 0ce7e1e1fd..40a18be7d5 100644 --- a/src/USER-INTEL/pair_lj_charmm_coul_long_intel.cpp +++ b/src/INTEL/pair_lj_charmm_coul_long_intel.cpp @@ -73,7 +73,7 @@ void PairLJCharmmCoulLongIntel::compute(int eflag, int vflag, { ev_init(eflag,vflag); if (vflag_atom) - error->all(FLERR,"USER-INTEL package does not support per-atom stress"); + error->all(FLERR,"INTEL package does not support per-atom stress"); const int inum = list->inum; const int nthreads = comm->nthreads; diff --git a/src/USER-INTEL/pair_lj_charmm_coul_long_intel.h b/src/INTEL/pair_lj_charmm_coul_long_intel.h similarity index 100% rename from src/USER-INTEL/pair_lj_charmm_coul_long_intel.h rename to src/INTEL/pair_lj_charmm_coul_long_intel.h diff --git a/src/USER-INTEL/pair_lj_cut_coul_long_intel.cpp b/src/INTEL/pair_lj_cut_coul_long_intel.cpp similarity index 99% rename from src/USER-INTEL/pair_lj_cut_coul_long_intel.cpp rename to src/INTEL/pair_lj_cut_coul_long_intel.cpp index 9e024b35c8..47d14186f6 100644 --- a/src/USER-INTEL/pair_lj_cut_coul_long_intel.cpp +++ b/src/INTEL/pair_lj_cut_coul_long_intel.cpp @@ -75,7 +75,7 @@ void PairLJCutCoulLongIntel::compute(int eflag, int vflag, { ev_init(eflag,vflag); if (vflag_atom) - error->all(FLERR,"USER-INTEL package does not support per-atom stress"); + error->all(FLERR,"INTEL package does not support per-atom stress"); const int inum = list->inum; const int nthreads = comm->nthreads; diff --git a/src/USER-INTEL/pair_lj_cut_coul_long_intel.h b/src/INTEL/pair_lj_cut_coul_long_intel.h similarity index 100% rename from src/USER-INTEL/pair_lj_cut_coul_long_intel.h rename to src/INTEL/pair_lj_cut_coul_long_intel.h diff --git a/src/USER-INTEL/pair_lj_cut_intel.cpp b/src/INTEL/pair_lj_cut_intel.cpp similarity index 99% rename from src/USER-INTEL/pair_lj_cut_intel.cpp rename to src/INTEL/pair_lj_cut_intel.cpp index 029b1eca5b..71e12d7b24 100644 --- a/src/USER-INTEL/pair_lj_cut_intel.cpp +++ b/src/INTEL/pair_lj_cut_intel.cpp @@ -65,7 +65,7 @@ void PairLJCutIntel::compute(int eflag, int vflag, { ev_init(eflag, vflag); if (vflag_atom) - error->all(FLERR,"USER-INTEL package does not support per-atom stress"); + error->all(FLERR,"INTEL package does not support per-atom stress"); const int inum = list->inum; const int nthreads = comm->nthreads; diff --git a/src/USER-INTEL/pair_lj_cut_intel.h b/src/INTEL/pair_lj_cut_intel.h similarity index 100% rename from src/USER-INTEL/pair_lj_cut_intel.h rename to src/INTEL/pair_lj_cut_intel.h diff --git a/src/USER-INTEL/pair_lj_long_coul_long_intel.cpp b/src/INTEL/pair_lj_long_coul_long_intel.cpp similarity index 100% rename from src/USER-INTEL/pair_lj_long_coul_long_intel.cpp rename to src/INTEL/pair_lj_long_coul_long_intel.cpp diff --git a/src/USER-INTEL/pair_lj_long_coul_long_intel.h b/src/INTEL/pair_lj_long_coul_long_intel.h similarity index 100% rename from src/USER-INTEL/pair_lj_long_coul_long_intel.h rename to src/INTEL/pair_lj_long_coul_long_intel.h diff --git a/src/USER-INTEL/pair_rebo_intel.cpp b/src/INTEL/pair_rebo_intel.cpp similarity index 100% rename from src/USER-INTEL/pair_rebo_intel.cpp rename to src/INTEL/pair_rebo_intel.cpp diff --git a/src/USER-INTEL/pair_rebo_intel.h b/src/INTEL/pair_rebo_intel.h similarity index 100% rename from src/USER-INTEL/pair_rebo_intel.h rename to src/INTEL/pair_rebo_intel.h diff --git a/src/USER-INTEL/pair_sw_intel.cpp b/src/INTEL/pair_sw_intel.cpp similarity index 99% rename from src/USER-INTEL/pair_sw_intel.cpp rename to src/INTEL/pair_sw_intel.cpp index b7c92bf1ee..421e8b2fc5 100644 --- a/src/USER-INTEL/pair_sw_intel.cpp +++ b/src/INTEL/pair_sw_intel.cpp @@ -96,7 +96,7 @@ void PairSWIntel::compute(int eflag, int vflag, { ev_init(eflag, vflag); if (vflag_atom) - error->all(FLERR,"USER-INTEL package does not support per-atom stress"); + error->all(FLERR,"INTEL package does not support per-atom stress"); const int inum = list->inum; const int nthreads = comm->nthreads; diff --git a/src/USER-INTEL/pair_sw_intel.h b/src/INTEL/pair_sw_intel.h similarity index 100% rename from src/USER-INTEL/pair_sw_intel.h rename to src/INTEL/pair_sw_intel.h diff --git a/src/USER-INTEL/pair_tersoff_intel.cpp b/src/INTEL/pair_tersoff_intel.cpp similarity index 99% rename from src/USER-INTEL/pair_tersoff_intel.cpp rename to src/INTEL/pair_tersoff_intel.cpp index 975b600bfa..707e8404ff 100644 --- a/src/USER-INTEL/pair_tersoff_intel.cpp +++ b/src/INTEL/pair_tersoff_intel.cpp @@ -110,7 +110,7 @@ void PairTersoffIntel::compute(int eflag, int vflag, { ev_init(eflag,vflag); if (vflag_atom) - error->all(FLERR,"USER-INTEL package does not support per-atom stress"); + error->all(FLERR,"INTEL package does not support per-atom stress"); const int inum = list->inum; const int nthreads = comm->nthreads; diff --git a/src/USER-INTEL/pair_tersoff_intel.h b/src/INTEL/pair_tersoff_intel.h similarity index 100% rename from src/USER-INTEL/pair_tersoff_intel.h rename to src/INTEL/pair_tersoff_intel.h diff --git a/src/USER-INTEL/pppm_disp_intel.cpp b/src/INTEL/pppm_disp_intel.cpp similarity index 99% rename from src/USER-INTEL/pppm_disp_intel.cpp rename to src/INTEL/pppm_disp_intel.cpp index ff045983db..8d4ed1778d 100644 --- a/src/USER-INTEL/pppm_disp_intel.cpp +++ b/src/INTEL/pppm_disp_intel.cpp @@ -160,7 +160,7 @@ void PPPMDispIntel::init() precompute_rho(); } if (order > INTEL_P3M_MAXORDER) - error->all(FLERR,"PPPM order greater than supported by USER-INTEL\n"); + error->all(FLERR,"PPPM order greater than supported by INTEL\n"); } /* ---------------------------------------------------------------------- diff --git a/src/USER-INTEL/pppm_disp_intel.h b/src/INTEL/pppm_disp_intel.h similarity index 100% rename from src/USER-INTEL/pppm_disp_intel.h rename to src/INTEL/pppm_disp_intel.h diff --git a/src/USER-INTEL/pppm_intel.cpp b/src/INTEL/pppm_intel.cpp similarity index 99% rename from src/USER-INTEL/pppm_intel.cpp rename to src/INTEL/pppm_intel.cpp index b369e25284..8b0542d770 100644 --- a/src/USER-INTEL/pppm_intel.cpp +++ b/src/INTEL/pppm_intel.cpp @@ -135,7 +135,7 @@ void PPPMIntel::init() } if (order > INTEL_P3M_MAXORDER) - error->all(FLERR,"PPPM order greater than supported by USER-INTEL\n"); + error->all(FLERR,"PPPM order greater than supported by INTEL\n"); } diff --git a/src/USER-INTEL/pppm_intel.h b/src/INTEL/pppm_intel.h similarity index 96% rename from src/USER-INTEL/pppm_intel.h rename to src/INTEL/pppm_intel.h index b6ffe206b1..c0e66996c1 100644 --- a/src/USER-INTEL/pppm_intel.h +++ b/src/INTEL/pppm_intel.h @@ -116,9 +116,9 @@ class PPPMIntel : public PPPM { /* ERROR/WARNING messages: -E: PPPM order greater than supported by USER-INTEL +E: PPPM order greater than supported by INTEL There is a compile time limit on the maximum order for PPPM -in the USER-INTEL package that might be different from LAMMPS +in the INTEL package that might be different from LAMMPS */ diff --git a/src/USER-INTEL/verlet_lrt_intel.cpp b/src/INTEL/verlet_lrt_intel.cpp similarity index 100% rename from src/USER-INTEL/verlet_lrt_intel.cpp rename to src/INTEL/verlet_lrt_intel.cpp diff --git a/src/USER-INTEL/verlet_lrt_intel.h b/src/INTEL/verlet_lrt_intel.h similarity index 100% rename from src/USER-INTEL/verlet_lrt_intel.h rename to src/INTEL/verlet_lrt_intel.h diff --git a/src/KOKKOS/min_kokkos.cpp b/src/KOKKOS/min_kokkos.cpp index aaf883c881..715d77f293 100644 --- a/src/KOKKOS/min_kokkos.cpp +++ b/src/KOKKOS/min_kokkos.cpp @@ -348,7 +348,7 @@ void MinKokkos::setup_minimal(int flag) void MinKokkos::run(int n) { if (nextra_atom) - error->all(FLERR,"Cannot yet use extra atom DOFs (e.g. USER-AWPMD and USER-EFF packages) " + error->all(FLERR,"Cannot yet use extra atom DOFs (e.g. AWPMD and EFF packages) " "with Kokkos minimize"); // minimizer iterations diff --git a/src/KOKKOS/neigh_bond_kokkos.cpp b/src/KOKKOS/neigh_bond_kokkos.cpp index eed0026af3..a7db309b1d 100644 --- a/src/KOKKOS/neigh_bond_kokkos.cpp +++ b/src/KOKKOS/neigh_bond_kokkos.cpp @@ -190,7 +190,7 @@ void NeighBondKokkos::init_topology_kk() { /* ---------------------------------------------------------------------- build all topology neighbor lists every few timesteps - normally built with pair lists, but USER-CUDA separates them + normally built with pair lists, but CUDA separates them ------------------------------------------------------------------------- */ template diff --git a/src/KOKKOS/neighbor_kokkos.cpp b/src/KOKKOS/neighbor_kokkos.cpp index e4a2b02cc0..207ff7501b 100644 --- a/src/KOKKOS/neighbor_kokkos.cpp +++ b/src/KOKKOS/neighbor_kokkos.cpp @@ -226,7 +226,7 @@ void NeighborKokkos::operator()(TagNeighborCheckDistance, const int /* ---------------------------------------------------------------------- build perpetuals neighbor lists called at setup and every few timesteps during run or minimization - topology lists also built if topoflag = 1, USER-CUDA calls with topoflag = 0 + topology lists also built if topoflag = 1, CUDA calls with topoflag = 0 ------------------------------------------------------------------------- */ @@ -377,7 +377,7 @@ void NeighborKokkos::init_topology() { /* ---------------------------------------------------------------------- build all topology neighbor lists every few timesteps - normally built with pair lists, but USER-CUDA separates them + normally built with pair lists, but CUDA separates them ------------------------------------------------------------------------- */ void NeighborKokkos::build_topology() { diff --git a/src/MAKE/OPTIONS/Makefile.intel_coprocessor b/src/MAKE/OPTIONS/Makefile.intel_coprocessor index b11256baa1..2b66c20f4a 100644 --- a/src/MAKE/OPTIONS/Makefile.intel_coprocessor +++ b/src/MAKE/OPTIONS/Makefile.intel_coprocessor @@ -1,4 +1,4 @@ -# intel_coprocessor = USER-INTEL package with Phi offload support, Intel MPI, MKL FFT +# intel_coprocessor = INTEL package with Phi offload support, Intel MPI, MKL FFT SHELL = /bin/sh diff --git a/src/MAKE/OPTIONS/Makefile.intel_cpu_intelmpi b/src/MAKE/OPTIONS/Makefile.intel_cpu_intelmpi index 4adc427d91..04ec1fdc64 100644 --- a/src/MAKE/OPTIONS/Makefile.intel_cpu_intelmpi +++ b/src/MAKE/OPTIONS/Makefile.intel_cpu_intelmpi @@ -1,4 +1,4 @@ -# intel_cpu_intelmpi = USER-INTEL package, Intel MPI, MKL FFT +# intel_cpu_intelmpi = INTEL package, Intel MPI, MKL FFT SHELL = /bin/sh diff --git a/src/MAKE/OPTIONS/Makefile.intel_cpu_mpich b/src/MAKE/OPTIONS/Makefile.intel_cpu_mpich index 762899722c..dece0092f1 100644 --- a/src/MAKE/OPTIONS/Makefile.intel_cpu_mpich +++ b/src/MAKE/OPTIONS/Makefile.intel_cpu_mpich @@ -1,4 +1,4 @@ -# intel_cpu_mpich = USER-INTEL package, MPICH with compiler set to Intel icc +# intel_cpu_mpich = INTEL package, MPICH with compiler set to Intel icc SHELL = /bin/sh diff --git a/src/MAKE/OPTIONS/Makefile.intel_cpu_openmpi b/src/MAKE/OPTIONS/Makefile.intel_cpu_openmpi index 9adb5b1af2..0053aef20a 100644 --- a/src/MAKE/OPTIONS/Makefile.intel_cpu_openmpi +++ b/src/MAKE/OPTIONS/Makefile.intel_cpu_openmpi @@ -1,4 +1,4 @@ -# intel_cpu_openmpi = USER-INTEL package, OpenMPI with compiler set to Intel icc +# intel_cpu_openmpi = INTEL package, OpenMPI with compiler set to Intel icc SHELL = /bin/sh diff --git a/src/MAKE/OPTIONS/Makefile.mgptfast b/src/MAKE/OPTIONS/Makefile.mgptfast index dc8682c3a6..da10701a9a 100644 --- a/src/MAKE/OPTIONS/Makefile.mgptfast +++ b/src/MAKE/OPTIONS/Makefile.mgptfast @@ -1,4 +1,4 @@ -# mgptfast = MPI with its default compiler, optimizations for USER-MGPT +# mgptfast = MPI with its default compiler, optimizations for MGPT SHELL = /bin/sh diff --git a/src/MAKE/README b/src/MAKE/README index d67f2b576a..bd883948a2 100644 --- a/src/MAKE/README +++ b/src/MAKE/README @@ -44,7 +44,7 @@ These Makefiles derive from src/MAKE/Makefile.mpi with added settings to illustrate how they can be added to any Makefile. Makefile.big use of -DLAMMPS_BIGBIG setting -Makefile.fastmgpt optimzations for USER-MGPT package +Makefile.fastmgpt optimzations for MGPT package Makefile.fftw FFTW support for long-range Coulombics (PPPM) Makefile.jpeg JPEG support for dump image Makefile.png PNG support for dump image @@ -66,11 +66,11 @@ Makefile.opt OPT package, using default MPI Makefile.omp OPENMP package, using default MPI Makefile.gpu GPU package, using default MPI -Makefile.intel_cpu_intelmpi USER-INTEL package for CPU with Intel MPI -Makefile.intel_cpu_mpich USER-INTEL package for CPU with MPICH -Makefile.intel_cpu_openmpi USER-INTEL package for CPU with OpenMPI -Makefile.intel_coprocessor USER-INTEL package with Xeon Phi support -Makefile.knl USER-INTEL package with KNL support +Makefile.intel_cpu_intelmpi INTEL package for CPU with Intel MPI +Makefile.intel_cpu_mpich INTEL package for CPU with MPICH +Makefile.intel_cpu_openmpi INTEL package for CPU with OpenMPI +Makefile.intel_coprocessor INTEL package with Xeon Phi support +Makefile.knl INTEL package with KNL support Makefile.kokkos_cuda_mpich KOKKOS package with GPU support for MPICH Makefile.kokkos_cuda_openmpi KOKKOS package with GPU support for OpenMPI diff --git a/src/USER-MANIFOLD/README b/src/MANIFOLD/README similarity index 97% rename from src/USER-MANIFOLD/README rename to src/MANIFOLD/README index 24c645232d..3dd496ad03 100644 --- a/src/USER-MANIFOLD/README +++ b/src/MANIFOLD/README @@ -1,5 +1,5 @@ +==============================================================================+ -This file is a part of the USER-MANIFOLD package. +This file is a part of the MANIFOLD package. This package allows LAMMPS to perform MD simulations of particles constrained on a manifold (i.e., a 2D subspace of the 3D simulation @@ -21,7 +21,7 @@ This software is distributed under the GNU General Public License. +==============================================================================+ At the moment we have a few manifolds available, extending them is very easy: -To add a new manifold, do the following in the "USER-MANIFOLD" directory: +To add a new manifold, do the following in the "MANIFOLD" directory: 0. Create a new pair of source/header files, and name them "manifold_*.cpp/h", where you should replace '*' with some (descriptive) name. @@ -69,7 +69,7 @@ a relatively simple manifold. With those things in place, the install script should be able to add your manifold to LAMMPS without any extra work, so just running -make yes-user-manifold +make yes-manifold make should (re)compile LAMMPS with the manifolds added. diff --git a/src/USER-MANIFOLD/fix_manifoldforce.cpp b/src/MANIFOLD/fix_manifoldforce.cpp similarity index 100% rename from src/USER-MANIFOLD/fix_manifoldforce.cpp rename to src/MANIFOLD/fix_manifoldforce.cpp diff --git a/src/USER-MANIFOLD/fix_manifoldforce.h b/src/MANIFOLD/fix_manifoldforce.h similarity index 97% rename from src/USER-MANIFOLD/fix_manifoldforce.h rename to src/MANIFOLD/fix_manifoldforce.h index 285fcd5578..d58fe6001b 100644 --- a/src/USER-MANIFOLD/fix_manifoldforce.h +++ b/src/MANIFOLD/fix_manifoldforce.h @@ -11,7 +11,7 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- - This file is a part of the USER-MANIFOLD package. + This file is a part of the MANIFOLD package. Copyright (2013-2015) Stefan Paquay, Eindhoven University of Technology. License: GNU General Public License. diff --git a/src/USER-MANIFOLD/fix_nve_manifold_rattle.cpp b/src/MANIFOLD/fix_nve_manifold_rattle.cpp similarity index 99% rename from src/USER-MANIFOLD/fix_nve_manifold_rattle.cpp rename to src/MANIFOLD/fix_nve_manifold_rattle.cpp index b340869ea9..b4644a1350 100644 --- a/src/USER-MANIFOLD/fix_nve_manifold_rattle.cpp +++ b/src/MANIFOLD/fix_nve_manifold_rattle.cpp @@ -12,7 +12,7 @@ See the README file in the top-level LAMMPS directory. ----------------------------------------------------------------------- - This file is a part of the USER-MANIFOLD package. + This file is a part of the MANIFOLD package. Copyright (2013-2014) Stefan Paquay, Eindhoven University of Technology. License: GNU General Public License. diff --git a/src/USER-MANIFOLD/fix_nve_manifold_rattle.h b/src/MANIFOLD/fix_nve_manifold_rattle.h similarity index 98% rename from src/USER-MANIFOLD/fix_nve_manifold_rattle.h rename to src/MANIFOLD/fix_nve_manifold_rattle.h index e112b9bc7e..e2bf6b5639 100644 --- a/src/USER-MANIFOLD/fix_nve_manifold_rattle.h +++ b/src/MANIFOLD/fix_nve_manifold_rattle.h @@ -11,7 +11,7 @@ See the README file in the top-level LAMMPS directory. ----------------------------------------------------------------------- - This file is a part of the USER-MANIFOLD package. + This file is a part of the MANIFOLD package. Copyright (2013-2014) Stefan Paquay, Eindhoven University of Technology. License: GNU General Public License. diff --git a/src/USER-MANIFOLD/fix_nvt_manifold_rattle.cpp b/src/MANIFOLD/fix_nvt_manifold_rattle.cpp similarity index 99% rename from src/USER-MANIFOLD/fix_nvt_manifold_rattle.cpp rename to src/MANIFOLD/fix_nvt_manifold_rattle.cpp index 57ae8ef109..f675cdff73 100644 --- a/src/USER-MANIFOLD/fix_nvt_manifold_rattle.cpp +++ b/src/MANIFOLD/fix_nvt_manifold_rattle.cpp @@ -12,7 +12,7 @@ See the README file in the top-level LAMMPS directory. ----------------------------------------------------------------------- - This file is a part of the USER-MANIFOLD package. + This file is a part of the MANIFOLD package. Copyright (2013-2014) Stefan Paquay, Eindhoven University of Technology. License: GNU General Public License. diff --git a/src/USER-MANIFOLD/fix_nvt_manifold_rattle.h b/src/MANIFOLD/fix_nvt_manifold_rattle.h similarity index 98% rename from src/USER-MANIFOLD/fix_nvt_manifold_rattle.h rename to src/MANIFOLD/fix_nvt_manifold_rattle.h index 2e6115e692..d8439b1ad0 100644 --- a/src/USER-MANIFOLD/fix_nvt_manifold_rattle.h +++ b/src/MANIFOLD/fix_nvt_manifold_rattle.h @@ -11,7 +11,7 @@ See the README file in the top-level LAMMPS directory. ----------------------------------------------------------------------- - This file is a part of the USER-MANIFOLD package. + This file is a part of the MANIFOLD package. Copyright (2013-2014) Stefan Paquay, Eindhoven University of Technology. License: GNU General Public License. diff --git a/src/USER-MANIFOLD/manifold.h b/src/MANIFOLD/manifold.h similarity index 98% rename from src/USER-MANIFOLD/manifold.h rename to src/MANIFOLD/manifold.h index f2f46a6647..92a5a02222 100644 --- a/src/USER-MANIFOLD/manifold.h +++ b/src/MANIFOLD/manifold.h @@ -11,7 +11,7 @@ See the README file in the top-level LAMMPS directory. ----------------------------------------------------------------------- - This file is a part of the USER-MANIFOLD package. + This file is a part of the MANIFOLD package. This package allows LAMMPS to perform MD simulations of particles constrained on a manifold (i.e., a 2D subspace of the 3D simulation diff --git a/src/USER-MANIFOLD/manifold_cylinder.cpp b/src/MANIFOLD/manifold_cylinder.cpp similarity index 100% rename from src/USER-MANIFOLD/manifold_cylinder.cpp rename to src/MANIFOLD/manifold_cylinder.cpp diff --git a/src/USER-MANIFOLD/manifold_cylinder.h b/src/MANIFOLD/manifold_cylinder.h similarity index 100% rename from src/USER-MANIFOLD/manifold_cylinder.h rename to src/MANIFOLD/manifold_cylinder.h diff --git a/src/USER-MANIFOLD/manifold_cylinder_dent.cpp b/src/MANIFOLD/manifold_cylinder_dent.cpp similarity index 100% rename from src/USER-MANIFOLD/manifold_cylinder_dent.cpp rename to src/MANIFOLD/manifold_cylinder_dent.cpp diff --git a/src/USER-MANIFOLD/manifold_cylinder_dent.h b/src/MANIFOLD/manifold_cylinder_dent.h similarity index 100% rename from src/USER-MANIFOLD/manifold_cylinder_dent.h rename to src/MANIFOLD/manifold_cylinder_dent.h diff --git a/src/USER-MANIFOLD/manifold_dumbbell.cpp b/src/MANIFOLD/manifold_dumbbell.cpp similarity index 100% rename from src/USER-MANIFOLD/manifold_dumbbell.cpp rename to src/MANIFOLD/manifold_dumbbell.cpp diff --git a/src/USER-MANIFOLD/manifold_dumbbell.h b/src/MANIFOLD/manifold_dumbbell.h similarity index 100% rename from src/USER-MANIFOLD/manifold_dumbbell.h rename to src/MANIFOLD/manifold_dumbbell.h diff --git a/src/USER-MANIFOLD/manifold_ellipsoid.cpp b/src/MANIFOLD/manifold_ellipsoid.cpp similarity index 100% rename from src/USER-MANIFOLD/manifold_ellipsoid.cpp rename to src/MANIFOLD/manifold_ellipsoid.cpp diff --git a/src/USER-MANIFOLD/manifold_ellipsoid.h b/src/MANIFOLD/manifold_ellipsoid.h similarity index 100% rename from src/USER-MANIFOLD/manifold_ellipsoid.h rename to src/MANIFOLD/manifold_ellipsoid.h diff --git a/src/USER-MANIFOLD/manifold_factory.cpp b/src/MANIFOLD/manifold_factory.cpp similarity index 98% rename from src/USER-MANIFOLD/manifold_factory.cpp rename to src/MANIFOLD/manifold_factory.cpp index 8b3e3d02d0..6fa73643b5 100644 --- a/src/USER-MANIFOLD/manifold_factory.cpp +++ b/src/MANIFOLD/manifold_factory.cpp @@ -12,7 +12,7 @@ See the README file in the top-level LAMMPS directory. ----------------------------------------------------------------------- - This file is a part of the USER-MANIFOLD package. + This file is a part of the MANIFOLD package. Copyright (2013-2014) Stefan Paquay, Eindhoven University of Technology. License: GNU General Public License. diff --git a/src/USER-MANIFOLD/manifold_factory.h b/src/MANIFOLD/manifold_factory.h similarity index 97% rename from src/USER-MANIFOLD/manifold_factory.h rename to src/MANIFOLD/manifold_factory.h index ddaf965169..4cf27b0b83 100644 --- a/src/USER-MANIFOLD/manifold_factory.h +++ b/src/MANIFOLD/manifold_factory.h @@ -11,7 +11,7 @@ See the README file in the top-level LAMMPS directory. ----------------------------------------------------------------------- - This file is a part of the USER-MANIFOLD package. + This file is a part of the MANIFOLD package. Copyright (2013-2014) Stefan Paquay, Eindhoven University of Technology. License: GNU General Public License. diff --git a/src/USER-MANIFOLD/manifold_gaussian_bump.cpp b/src/MANIFOLD/manifold_gaussian_bump.cpp similarity index 100% rename from src/USER-MANIFOLD/manifold_gaussian_bump.cpp rename to src/MANIFOLD/manifold_gaussian_bump.cpp diff --git a/src/USER-MANIFOLD/manifold_gaussian_bump.h b/src/MANIFOLD/manifold_gaussian_bump.h similarity index 98% rename from src/USER-MANIFOLD/manifold_gaussian_bump.h rename to src/MANIFOLD/manifold_gaussian_bump.h index 75c0ce6644..8c72db080f 100644 --- a/src/USER-MANIFOLD/manifold_gaussian_bump.h +++ b/src/MANIFOLD/manifold_gaussian_bump.h @@ -11,7 +11,7 @@ See the README file in the top-level LAMMPS directory. ----------------------------------------------------------------------- - This file is a part of the USER-MANIFOLD package. + This file is a part of the MANIFOLD package. This package allows LAMMPS to perform MD simulations of particles constrained on a manifold (i.e., a 2D subspace of the 3D simulation diff --git a/src/USER-MANIFOLD/manifold_plane.cpp b/src/MANIFOLD/manifold_plane.cpp similarity index 100% rename from src/USER-MANIFOLD/manifold_plane.cpp rename to src/MANIFOLD/manifold_plane.cpp diff --git a/src/USER-MANIFOLD/manifold_plane.h b/src/MANIFOLD/manifold_plane.h similarity index 100% rename from src/USER-MANIFOLD/manifold_plane.h rename to src/MANIFOLD/manifold_plane.h diff --git a/src/USER-MANIFOLD/manifold_plane_wiggle.cpp b/src/MANIFOLD/manifold_plane_wiggle.cpp similarity index 100% rename from src/USER-MANIFOLD/manifold_plane_wiggle.cpp rename to src/MANIFOLD/manifold_plane_wiggle.cpp diff --git a/src/USER-MANIFOLD/manifold_plane_wiggle.h b/src/MANIFOLD/manifold_plane_wiggle.h similarity index 100% rename from src/USER-MANIFOLD/manifold_plane_wiggle.h rename to src/MANIFOLD/manifold_plane_wiggle.h diff --git a/src/USER-MANIFOLD/manifold_sphere.h b/src/MANIFOLD/manifold_sphere.h similarity index 100% rename from src/USER-MANIFOLD/manifold_sphere.h rename to src/MANIFOLD/manifold_sphere.h diff --git a/src/USER-MANIFOLD/manifold_spine.cpp b/src/MANIFOLD/manifold_spine.cpp similarity index 100% rename from src/USER-MANIFOLD/manifold_spine.cpp rename to src/MANIFOLD/manifold_spine.cpp diff --git a/src/USER-MANIFOLD/manifold_spine.h b/src/MANIFOLD/manifold_spine.h similarity index 100% rename from src/USER-MANIFOLD/manifold_spine.h rename to src/MANIFOLD/manifold_spine.h diff --git a/src/USER-MANIFOLD/manifold_supersphere.h b/src/MANIFOLD/manifold_supersphere.h similarity index 100% rename from src/USER-MANIFOLD/manifold_supersphere.h rename to src/MANIFOLD/manifold_supersphere.h diff --git a/src/USER-MANIFOLD/manifold_thylakoid.cpp b/src/MANIFOLD/manifold_thylakoid.cpp similarity index 100% rename from src/USER-MANIFOLD/manifold_thylakoid.cpp rename to src/MANIFOLD/manifold_thylakoid.cpp diff --git a/src/USER-MANIFOLD/manifold_thylakoid.h b/src/MANIFOLD/manifold_thylakoid.h similarity index 100% rename from src/USER-MANIFOLD/manifold_thylakoid.h rename to src/MANIFOLD/manifold_thylakoid.h diff --git a/src/USER-MANIFOLD/manifold_thylakoid_shared.cpp b/src/MANIFOLD/manifold_thylakoid_shared.cpp similarity index 100% rename from src/USER-MANIFOLD/manifold_thylakoid_shared.cpp rename to src/MANIFOLD/manifold_thylakoid_shared.cpp diff --git a/src/USER-MANIFOLD/manifold_thylakoid_shared.h b/src/MANIFOLD/manifold_thylakoid_shared.h similarity index 100% rename from src/USER-MANIFOLD/manifold_thylakoid_shared.h rename to src/MANIFOLD/manifold_thylakoid_shared.h diff --git a/src/USER-MANIFOLD/manifold_torus.cpp b/src/MANIFOLD/manifold_torus.cpp similarity index 100% rename from src/USER-MANIFOLD/manifold_torus.cpp rename to src/MANIFOLD/manifold_torus.cpp diff --git a/src/USER-MANIFOLD/manifold_torus.h b/src/MANIFOLD/manifold_torus.h similarity index 100% rename from src/USER-MANIFOLD/manifold_torus.h rename to src/MANIFOLD/manifold_torus.h diff --git a/src/MANYBODY/pair_eam.h b/src/MANYBODY/pair_eam.h index 5ec89cbe7e..2b206689d6 100644 --- a/src/MANYBODY/pair_eam.h +++ b/src/MANYBODY/pair_eam.h @@ -28,7 +28,7 @@ class PairEAM : public Pair { public: friend class FixSemiGrandCanonicalMC; // Alex Stukowski option - // public variables so USER-ATC package can access them + // public variables so ATC package can access them double cutmax; diff --git a/src/MC/fix_gcmc.cpp b/src/MC/fix_gcmc.cpp index e275cd8c11..6598890ea4 100644 --- a/src/MC/fix_gcmc.cpp +++ b/src/MC/fix_gcmc.cpp @@ -2315,7 +2315,7 @@ double FixGCMC::energy_full() // unlike Verlet, not performing a reverse_comm() or forces here // b/c GCMC does not care about forces // don't think it will mess up energy due to any post_force() fixes - // but Modify::pre_reverse() is needed for USER-INTEL + // but Modify::pre_reverse() is needed for INTEL if (modify->n_pre_reverse) modify->pre_reverse(eflag,vflag); if (modify->n_post_force) modify->post_force(vflag); diff --git a/src/MC/fix_widom.cpp b/src/MC/fix_widom.cpp index 3dd0d2d3c9..7b4a749f2e 100644 --- a/src/MC/fix_widom.cpp +++ b/src/MC/fix_widom.cpp @@ -1049,7 +1049,7 @@ double FixWidom::energy_full() // unlike Verlet, not performing a reverse_comm() or forces here // b/c Widom does not care about forces // don't think it will mess up energy due to any post_force() fixes - // but Modify::pre_reverse() is needed for USER-INTEL + // but Modify::pre_reverse() is needed for INTEL if (modify->n_pre_reverse) modify->pre_reverse(eflag,vflag); if (modify->n_pre_force) modify->pre_force(vflag); diff --git a/src/USER-MDI/Install.sh b/src/MDI/Install.sh similarity index 100% rename from src/USER-MDI/Install.sh rename to src/MDI/Install.sh diff --git a/src/USER-MDI/README b/src/MDI/README similarity index 93% rename from src/USER-MDI/README rename to src/MDI/README index 045fbea518..cad9ae3f39 100644 --- a/src/USER-MDI/README +++ b/src/MDI/README @@ -1,4 +1,4 @@ -The USER-MDI package adds an mdi/engine command which enables LAMMPS +The MDI package adds an mdi/engine command which enables LAMMPS to operate as a MolSSI Driver Interface (MDI) engine, responding to commands from an external MDI driver. diff --git a/src/USER-MDI/fix_mdi_engine.cpp b/src/MDI/fix_mdi_engine.cpp similarity index 100% rename from src/USER-MDI/fix_mdi_engine.cpp rename to src/MDI/fix_mdi_engine.cpp diff --git a/src/USER-MDI/fix_mdi_engine.h b/src/MDI/fix_mdi_engine.h similarity index 100% rename from src/USER-MDI/fix_mdi_engine.h rename to src/MDI/fix_mdi_engine.h diff --git a/src/USER-MDI/library_mdi.cpp b/src/MDI/library_mdi.cpp similarity index 100% rename from src/USER-MDI/library_mdi.cpp rename to src/MDI/library_mdi.cpp diff --git a/src/USER-MDI/library_mdi.h b/src/MDI/library_mdi.h similarity index 100% rename from src/USER-MDI/library_mdi.h rename to src/MDI/library_mdi.h diff --git a/src/USER-MDI/mdi_engine.cpp b/src/MDI/mdi_engine.cpp similarity index 100% rename from src/USER-MDI/mdi_engine.cpp rename to src/MDI/mdi_engine.cpp diff --git a/src/USER-MDI/mdi_engine.h b/src/MDI/mdi_engine.h similarity index 100% rename from src/USER-MDI/mdi_engine.h rename to src/MDI/mdi_engine.h diff --git a/src/USER-MESONT/Install.sh b/src/MESONT/Install.sh similarity index 100% rename from src/USER-MESONT/Install.sh rename to src/MESONT/Install.sh diff --git a/src/USER-MESONT/README b/src/MESONT/README similarity index 97% rename from src/USER-MESONT/README rename to src/MESONT/README index ce08731734..0c66cb7b82 100644 --- a/src/USER-MESONT/README +++ b/src/MESONT/README @@ -1,4 +1,4 @@ -USER-MESONT is a LAMMPS package for simulation of nanomechanics of carbon +MESONT is a LAMMPS package for simulation of nanomechanics of carbon nanotubes (CNTs). The model is based on a coarse-grained representation of CNTs as "flexible cylinders" consisting of a variable number of segments. Internal interactions within a CNT and the van der Waals @@ -22,7 +22,7 @@ The following commands are contained in this package: atom_style mesont This command enables mesont atom_style containing variables used for - further commands in USER-MESONT. + further commands in MESONT. pair_style mesont/tpm cut table_path BendingMode TPMType This command activates a pair_style describing CNT mesoscopic tubular diff --git a/src/USER-MESONT/atom_vec_mesont.cpp b/src/MESONT/atom_vec_mesont.cpp similarity index 100% rename from src/USER-MESONT/atom_vec_mesont.cpp rename to src/MESONT/atom_vec_mesont.cpp diff --git a/src/USER-MESONT/atom_vec_mesont.h b/src/MESONT/atom_vec_mesont.h similarity index 100% rename from src/USER-MESONT/atom_vec_mesont.h rename to src/MESONT/atom_vec_mesont.h diff --git a/src/USER-MESONT/compute_mesont.cpp b/src/MESONT/compute_mesont.cpp similarity index 100% rename from src/USER-MESONT/compute_mesont.cpp rename to src/MESONT/compute_mesont.cpp diff --git a/src/USER-MESONT/compute_mesont.h b/src/MESONT/compute_mesont.h similarity index 100% rename from src/USER-MESONT/compute_mesont.h rename to src/MESONT/compute_mesont.h diff --git a/src/USER-MESONT/export_mesont.h b/src/MESONT/export_mesont.h similarity index 100% rename from src/USER-MESONT/export_mesont.h rename to src/MESONT/export_mesont.h diff --git a/src/USER-MESONT/pair_mesocnt.cpp b/src/MESONT/pair_mesocnt.cpp similarity index 100% rename from src/USER-MESONT/pair_mesocnt.cpp rename to src/MESONT/pair_mesocnt.cpp diff --git a/src/USER-MESONT/pair_mesocnt.h b/src/MESONT/pair_mesocnt.h similarity index 100% rename from src/USER-MESONT/pair_mesocnt.h rename to src/MESONT/pair_mesocnt.h diff --git a/src/USER-MESONT/pair_mesont_tpm.cpp b/src/MESONT/pair_mesont_tpm.cpp similarity index 100% rename from src/USER-MESONT/pair_mesont_tpm.cpp rename to src/MESONT/pair_mesont_tpm.cpp diff --git a/src/USER-MESONT/pair_mesont_tpm.h b/src/MESONT/pair_mesont_tpm.h similarity index 100% rename from src/USER-MESONT/pair_mesont_tpm.h rename to src/MESONT/pair_mesont_tpm.h diff --git a/src/USER-MESONT/potentials.txt b/src/MESONT/potentials.txt similarity index 100% rename from src/USER-MESONT/potentials.txt rename to src/MESONT/potentials.txt diff --git a/src/USER-MGPT/README b/src/MGPT/README similarity index 96% rename from src/USER-MGPT/README rename to src/MGPT/README index 50c11df5ab..1f29a68385 100644 --- a/src/USER-MGPT/README +++ b/src/MGPT/README @@ -28,6 +28,6 @@ vanadium (V6.1 potentials) are contained in the LAMMPS "potentials" directory. It is expected that MGPT potentials for additional materials will be added over time. -The persons who created the USER-MGPT package are Tomas Oppelstrup +The persons who created the MGPT package are Tomas Oppelstrup (oppelstrup2@llnl.gov) and John Moriarty (moriarty2@llnl.gov) Contact them directly if you have any questions. diff --git a/src/USER-MGPT/mgpt_bgmul_7.c.h b/src/MGPT/mgpt_bgmul_7.c.h similarity index 100% rename from src/USER-MGPT/mgpt_bgmul_7.c.h rename to src/MGPT/mgpt_bgmul_7.c.h diff --git a/src/USER-MGPT/mgpt_linalg.cpp b/src/MGPT/mgpt_linalg.cpp similarity index 100% rename from src/USER-MGPT/mgpt_linalg.cpp rename to src/MGPT/mgpt_linalg.cpp diff --git a/src/USER-MGPT/mgpt_linalg.h b/src/MGPT/mgpt_linalg.h similarity index 100% rename from src/USER-MGPT/mgpt_linalg.h rename to src/MGPT/mgpt_linalg.h diff --git a/src/USER-MGPT/mgpt_mmul3_538.c.h b/src/MGPT/mgpt_mmul3_538.c.h similarity index 100% rename from src/USER-MGPT/mgpt_mmul3_538.c.h rename to src/MGPT/mgpt_mmul3_538.c.h diff --git a/src/USER-MGPT/mgpt_mmul3_748.c.h b/src/MGPT/mgpt_mmul3_748.c.h similarity index 100% rename from src/USER-MGPT/mgpt_mmul3_748.c.h rename to src/MGPT/mgpt_mmul3_748.c.h diff --git a/src/USER-MGPT/mgpt_mmul3d_526.c.h b/src/MGPT/mgpt_mmul3d_526.c.h similarity index 100% rename from src/USER-MGPT/mgpt_mmul3d_526.c.h rename to src/MGPT/mgpt_mmul3d_526.c.h diff --git a/src/USER-MGPT/mgpt_mmul3d_744.c.h b/src/MGPT/mgpt_mmul3d_744.c.h similarity index 100% rename from src/USER-MGPT/mgpt_mmul3d_744.c.h rename to src/MGPT/mgpt_mmul3d_744.c.h diff --git a/src/USER-MGPT/mgpt_mmul_bg_552.c.h b/src/MGPT/mgpt_mmul_bg_552.c.h similarity index 100% rename from src/USER-MGPT/mgpt_mmul_bg_552.c.h rename to src/MGPT/mgpt_mmul_bg_552.c.h diff --git a/src/USER-MGPT/mgpt_mmul_bg_722.c.h b/src/MGPT/mgpt_mmul_bg_722.c.h similarity index 100% rename from src/USER-MGPT/mgpt_mmul_bg_722.c.h rename to src/MGPT/mgpt_mmul_bg_722.c.h diff --git a/src/USER-MGPT/mgpt_mmul_bgq_n5_lda8_2x8.c.h b/src/MGPT/mgpt_mmul_bgq_n5_lda8_2x8.c.h similarity index 100% rename from src/USER-MGPT/mgpt_mmul_bgq_n5_lda8_2x8.c.h rename to src/MGPT/mgpt_mmul_bgq_n5_lda8_2x8.c.h diff --git a/src/USER-MGPT/mgpt_mmul_bgq_n7_lda8_4x8.c.h b/src/MGPT/mgpt_mmul_bgq_n7_lda8_4x8.c.h similarity index 100% rename from src/USER-MGPT/mgpt_mmul_bgq_n7_lda8_4x8.c.h rename to src/MGPT/mgpt_mmul_bgq_n7_lda8_4x8.c.h diff --git a/src/USER-MGPT/mgpt_readpot.cpp b/src/MGPT/mgpt_readpot.cpp similarity index 100% rename from src/USER-MGPT/mgpt_readpot.cpp rename to src/MGPT/mgpt_readpot.cpp diff --git a/src/USER-MGPT/mgpt_readpot.h b/src/MGPT/mgpt_readpot.h similarity index 100% rename from src/USER-MGPT/mgpt_readpot.h rename to src/MGPT/mgpt_readpot.h diff --git a/src/USER-MGPT/mgpt_splinetab.cpp b/src/MGPT/mgpt_splinetab.cpp similarity index 100% rename from src/USER-MGPT/mgpt_splinetab.cpp rename to src/MGPT/mgpt_splinetab.cpp diff --git a/src/USER-MGPT/mgpt_splinetab.h b/src/MGPT/mgpt_splinetab.h similarity index 100% rename from src/USER-MGPT/mgpt_splinetab.h rename to src/MGPT/mgpt_splinetab.h diff --git a/src/USER-MGPT/mgpt_ttr_5022.c.h b/src/MGPT/mgpt_ttr_5022.c.h similarity index 100% rename from src/USER-MGPT/mgpt_ttr_5022.c.h rename to src/MGPT/mgpt_ttr_5022.c.h diff --git a/src/USER-MGPT/mgpt_ttr_5042.c.h b/src/MGPT/mgpt_ttr_5042.c.h similarity index 100% rename from src/USER-MGPT/mgpt_ttr_5042.c.h rename to src/MGPT/mgpt_ttr_5042.c.h diff --git a/src/USER-MGPT/mgpt_ttr_5123.c.h b/src/MGPT/mgpt_ttr_5123.c.h similarity index 100% rename from src/USER-MGPT/mgpt_ttr_5123.c.h rename to src/MGPT/mgpt_ttr_5123.c.h diff --git a/src/USER-MGPT/mgpt_ttr_5141.c.h b/src/MGPT/mgpt_ttr_5141.c.h similarity index 100% rename from src/USER-MGPT/mgpt_ttr_5141.c.h rename to src/MGPT/mgpt_ttr_5141.c.h diff --git a/src/USER-MGPT/mgpt_ttr_7022.c.h b/src/MGPT/mgpt_ttr_7022.c.h similarity index 100% rename from src/USER-MGPT/mgpt_ttr_7022.c.h rename to src/MGPT/mgpt_ttr_7022.c.h diff --git a/src/USER-MGPT/mgpt_ttr_7042.c.h b/src/MGPT/mgpt_ttr_7042.c.h similarity index 100% rename from src/USER-MGPT/mgpt_ttr_7042.c.h rename to src/MGPT/mgpt_ttr_7042.c.h diff --git a/src/USER-MGPT/mgpt_ttr_7123.c.h b/src/MGPT/mgpt_ttr_7123.c.h similarity index 100% rename from src/USER-MGPT/mgpt_ttr_7123.c.h rename to src/MGPT/mgpt_ttr_7123.c.h diff --git a/src/USER-MGPT/mgpt_ttr_7141.c.h b/src/MGPT/mgpt_ttr_7141.c.h similarity index 100% rename from src/USER-MGPT/mgpt_ttr_7141.c.h rename to src/MGPT/mgpt_ttr_7141.c.h diff --git a/src/USER-MGPT/pair_mgpt.cpp b/src/MGPT/pair_mgpt.cpp similarity index 100% rename from src/USER-MGPT/pair_mgpt.cpp rename to src/MGPT/pair_mgpt.cpp diff --git a/src/USER-MGPT/pair_mgpt.h b/src/MGPT/pair_mgpt.h similarity index 100% rename from src/USER-MGPT/pair_mgpt.h rename to src/MGPT/pair_mgpt.h diff --git a/src/USER-MOFFF/README b/src/MOFFF/README similarity index 100% rename from src/USER-MOFFF/README rename to src/MOFFF/README diff --git a/src/USER-MOFFF/angle_class2_p6.cpp b/src/MOFFF/angle_class2_p6.cpp similarity index 100% rename from src/USER-MOFFF/angle_class2_p6.cpp rename to src/MOFFF/angle_class2_p6.cpp diff --git a/src/USER-MOFFF/angle_class2_p6.h b/src/MOFFF/angle_class2_p6.h similarity index 100% rename from src/USER-MOFFF/angle_class2_p6.h rename to src/MOFFF/angle_class2_p6.h diff --git a/src/USER-MOFFF/angle_cosine_buck6d.cpp b/src/MOFFF/angle_cosine_buck6d.cpp similarity index 100% rename from src/USER-MOFFF/angle_cosine_buck6d.cpp rename to src/MOFFF/angle_cosine_buck6d.cpp diff --git a/src/USER-MOFFF/angle_cosine_buck6d.h b/src/MOFFF/angle_cosine_buck6d.h similarity index 100% rename from src/USER-MOFFF/angle_cosine_buck6d.h rename to src/MOFFF/angle_cosine_buck6d.h diff --git a/src/USER-MOFFF/improper_inversion_harmonic.cpp b/src/MOFFF/improper_inversion_harmonic.cpp similarity index 100% rename from src/USER-MOFFF/improper_inversion_harmonic.cpp rename to src/MOFFF/improper_inversion_harmonic.cpp diff --git a/src/USER-MOFFF/improper_inversion_harmonic.h b/src/MOFFF/improper_inversion_harmonic.h similarity index 100% rename from src/USER-MOFFF/improper_inversion_harmonic.h rename to src/MOFFF/improper_inversion_harmonic.h diff --git a/src/USER-MOFFF/pair_buck6d_coul_gauss_dsf.cpp b/src/MOFFF/pair_buck6d_coul_gauss_dsf.cpp similarity index 100% rename from src/USER-MOFFF/pair_buck6d_coul_gauss_dsf.cpp rename to src/MOFFF/pair_buck6d_coul_gauss_dsf.cpp diff --git a/src/USER-MOFFF/pair_buck6d_coul_gauss_dsf.h b/src/MOFFF/pair_buck6d_coul_gauss_dsf.h similarity index 100% rename from src/USER-MOFFF/pair_buck6d_coul_gauss_dsf.h rename to src/MOFFF/pair_buck6d_coul_gauss_dsf.h diff --git a/src/USER-MOFFF/pair_buck6d_coul_gauss_long.cpp b/src/MOFFF/pair_buck6d_coul_gauss_long.cpp similarity index 100% rename from src/USER-MOFFF/pair_buck6d_coul_gauss_long.cpp rename to src/MOFFF/pair_buck6d_coul_gauss_long.cpp diff --git a/src/USER-MOFFF/pair_buck6d_coul_gauss_long.h b/src/MOFFF/pair_buck6d_coul_gauss_long.h similarity index 100% rename from src/USER-MOFFF/pair_buck6d_coul_gauss_long.h rename to src/MOFFF/pair_buck6d_coul_gauss_long.h diff --git a/src/USER-MOLFILE/Install.sh b/src/MOLFILE/Install.sh similarity index 100% rename from src/USER-MOLFILE/Install.sh rename to src/MOLFILE/Install.sh diff --git a/src/USER-MOLFILE/README b/src/MOLFILE/README similarity index 100% rename from src/USER-MOLFILE/README rename to src/MOLFILE/README diff --git a/src/USER-MOLFILE/dump_molfile.cpp b/src/MOLFILE/dump_molfile.cpp similarity index 100% rename from src/USER-MOLFILE/dump_molfile.cpp rename to src/MOLFILE/dump_molfile.cpp diff --git a/src/USER-MOLFILE/dump_molfile.h b/src/MOLFILE/dump_molfile.h similarity index 100% rename from src/USER-MOLFILE/dump_molfile.h rename to src/MOLFILE/dump_molfile.h diff --git a/src/USER-MOLFILE/molfile_interface.cpp b/src/MOLFILE/molfile_interface.cpp similarity index 100% rename from src/USER-MOLFILE/molfile_interface.cpp rename to src/MOLFILE/molfile_interface.cpp diff --git a/src/USER-MOLFILE/molfile_interface.h b/src/MOLFILE/molfile_interface.h similarity index 100% rename from src/USER-MOLFILE/molfile_interface.h rename to src/MOLFILE/molfile_interface.h diff --git a/src/USER-MOLFILE/reader_molfile.cpp b/src/MOLFILE/reader_molfile.cpp similarity index 100% rename from src/USER-MOLFILE/reader_molfile.cpp rename to src/MOLFILE/reader_molfile.cpp diff --git a/src/USER-MOLFILE/reader_molfile.h b/src/MOLFILE/reader_molfile.h similarity index 100% rename from src/USER-MOLFILE/reader_molfile.h rename to src/MOLFILE/reader_molfile.h diff --git a/src/MSCG/README b/src/MSCG/README index ab64c26792..3008fbbd22 100644 --- a/src/MSCG/README +++ b/src/MSCG/README @@ -1,4 +1,4 @@ -The USER-MSCG package adds a fix mscg command, which carries out +The MSCG package adds a fix mscg command, which carries out multi-scale coarse-graining for the parameterization of coarse-grained (CG) interactions. diff --git a/src/Makefile b/src/Makefile index cb10a16337..dc64f48098 100644 --- a/src/Makefile +++ b/src/Makefile @@ -51,28 +51,28 @@ PACKAGE = asphere body class2 colloid compress coreshell dipole gpu \ ml-iap molecule mpiio mscg opt peri plugin poems \ python qeq replica rigid shock ml-snap spin srd voronoi -PACKUSER = user-adios user-atc user-awpmd user-brownian user-bocs cg-dna \ - cg-sdk user-colvars user-dielectric user-diffraction dpd-react user-drude \ - user-eff user-fep user-h5md ml-hdnnp user-intel latboltz user-manifold \ - user-mdi meam dpd-meso user-mesont user-mgpt user-misc \ - user-mofff user-molfile user-netcdf openmp user-phonon \ - ml-pace user-plumed user-ptm user-qmmm user-qtb ml-quip \ - ml-rann user-reaction reaxff user-scafacos machdyn user-smtbq \ - dpd-smooth user-sph user-tally user-uef user-vtk user-yaff +PACKUSER = adios atc awpmd brownian bocs cg-dna \ + cg-sdk colvars dielectric diffraction dpd-react drude \ + eff fep h5md ml-hdnnp intel latboltz manifold \ + mdi meam dpd-meso mesont mgpt user-misc \ + mofff molfile netcdf openmp phonon \ + ml-pace plumed ptm qmmm qtb ml-quip \ + ml-rann reaction reaxff scafacos machdyn smtbq \ + dpd-smooth sph tally uef vtk yaff PACKLIB = compress gpu kim kokkos latte message mpiio mscg poems python voronoi \ - user-adios user-atc user-awpmd user-colvars user-h5md ml-hdnnp latboltz user-mdi \ - user-mesont user-molfile user-netcdf ml-pace user-plumed user-qmmm ml-quip \ - user-scafacos machdyn user-vtk + adios atc awpmd colvars h5md ml-hdnnp latboltz mdi \ + mesont molfile netcdf ml-pace plumed qmmm ml-quip \ + scafacos machdyn vtk PACKSYS = compress mpiio python latboltz -PACKINT = gpu kokkos message poems user-atc user-awpmd user-colvars user-mesont \ - user-mdi +PACKINT = gpu kokkos message poems atc awpmd colvars mesont \ + mdi PACKEXT = kim latte mscg voronoi \ - user-adios user-h5md ml-hdnnp user-molfile user-netcdf ml-pace user-plumed \ - user-qmmm ml-quip user-scafacos machdyn user-vtk + adios h5md ml-hdnnp molfile netcdf ml-pace plumed \ + qmmm ml-quip scafacos machdyn vtk PACKALL = $(PACKAGE) $(PACKUSER) @@ -87,7 +87,7 @@ PACKUSERUC = $(call uppercase,$(PACKUSER)) YESDIR = $(call uppercase,$(@:yes-%=%)) NODIR = $(call uppercase,$(@:no-%=%)) LIBDIR = $(@:lib-%=%) -LIBUSERDIR = $(@:lib-user-%=%) +LIBUSERDIR = $(@:lib-%=%) # List of all targets @@ -400,7 +400,7 @@ lib-%: echo "Installing lib $(@:lib-%=%)"; \ ( cd ../lib/$(LIBDIR); $(PYTHON) Install.py $(args) ); \ elif [ -e ../lib/$(LIBUSERDIR)/Install.py ]; then \ - echo "Installing lib $(@:lib-user-%=%)"; \ + echo "Installing lib $(@:lib-%=%)"; \ ( cd ../lib/$(LIBUSERDIR); $(PYTHON) Install.py $(args) ); \ else \ echo "Install script for lib $(@:lib-%=%) does not exist"; \ diff --git a/src/USER-NETCDF/Install.sh b/src/NETCDF/Install.sh similarity index 100% rename from src/USER-NETCDF/Install.sh rename to src/NETCDF/Install.sh diff --git a/src/USER-NETCDF/README b/src/NETCDF/README similarity index 99% rename from src/USER-NETCDF/README rename to src/NETCDF/README index 714cbc67d0..8fdcb9e083 100644 --- a/src/USER-NETCDF/README +++ b/src/NETCDF/README @@ -1,4 +1,4 @@ -USER-NETCDF +NETCDF ============ This package provides the netcdf and netcdf/mpiio dump styles. diff --git a/src/USER-NETCDF/dump_netcdf.cpp b/src/NETCDF/dump_netcdf.cpp similarity index 100% rename from src/USER-NETCDF/dump_netcdf.cpp rename to src/NETCDF/dump_netcdf.cpp diff --git a/src/USER-NETCDF/dump_netcdf.h b/src/NETCDF/dump_netcdf.h similarity index 100% rename from src/USER-NETCDF/dump_netcdf.h rename to src/NETCDF/dump_netcdf.h diff --git a/src/USER-NETCDF/dump_netcdf_mpiio.cpp b/src/NETCDF/dump_netcdf_mpiio.cpp similarity index 100% rename from src/USER-NETCDF/dump_netcdf_mpiio.cpp rename to src/NETCDF/dump_netcdf_mpiio.cpp diff --git a/src/USER-NETCDF/dump_netcdf_mpiio.h b/src/NETCDF/dump_netcdf_mpiio.h similarity index 100% rename from src/USER-NETCDF/dump_netcdf_mpiio.h rename to src/NETCDF/dump_netcdf_mpiio.h diff --git a/src/OPENMP/fix_omp.cpp b/src/OPENMP/fix_omp.cpp index 9f115a74c1..2b7e7eeaf9 100644 --- a/src/OPENMP/fix_omp.cpp +++ b/src/OPENMP/fix_omp.cpp @@ -308,7 +308,7 @@ void FixOMP::set_neighbor_omp() const int nrequest = neighbor->nrequest; // flag *all* neighbor list requests as OPENMP threaded, - // but skip lists already flagged as USER-INTEL threaded + // but skip lists already flagged as INTEL threaded for (int i = 0; i < nrequest; ++i) if (! neighbor->requests[i]->intel) neighbor->requests[i]->omp = neigh_omp; diff --git a/src/USER-PHONON/Install.sh b/src/PHONON/Install.sh similarity index 88% rename from src/USER-PHONON/Install.sh rename to src/PHONON/Install.sh index a73f529cfa..4b64fed114 100755 --- a/src/USER-PHONON/Install.sh +++ b/src/PHONON/Install.sh @@ -26,12 +26,12 @@ action () { fi } -# USER-PHONON uses the parallel FFT wrapper used in PPPM, +# PHONON uses the parallel FFT wrapper used in PPPM, # so we must require the KSPACE package to be installed. if (test $1 = 1) then if (test ! -e ../fft3d_wrap.h) then - echo "Must install KSPACE package with USER-PHONON" + echo "Must install KSPACE package with PHONON" exit 1 fi fi diff --git a/src/USER-PHONON/README b/src/PHONON/README similarity index 100% rename from src/USER-PHONON/README rename to src/PHONON/README diff --git a/src/USER-PHONON/dynamical_matrix.cpp b/src/PHONON/dynamical_matrix.cpp similarity index 100% rename from src/USER-PHONON/dynamical_matrix.cpp rename to src/PHONON/dynamical_matrix.cpp diff --git a/src/USER-PHONON/dynamical_matrix.h b/src/PHONON/dynamical_matrix.h similarity index 100% rename from src/USER-PHONON/dynamical_matrix.h rename to src/PHONON/dynamical_matrix.h diff --git a/src/USER-PHONON/fix_phonon.cpp b/src/PHONON/fix_phonon.cpp similarity index 100% rename from src/USER-PHONON/fix_phonon.cpp rename to src/PHONON/fix_phonon.cpp diff --git a/src/USER-PHONON/fix_phonon.h b/src/PHONON/fix_phonon.h similarity index 100% rename from src/USER-PHONON/fix_phonon.h rename to src/PHONON/fix_phonon.h diff --git a/src/USER-PHONON/third_order.cpp b/src/PHONON/third_order.cpp similarity index 100% rename from src/USER-PHONON/third_order.cpp rename to src/PHONON/third_order.cpp diff --git a/src/USER-PHONON/third_order.h b/src/PHONON/third_order.h similarity index 100% rename from src/USER-PHONON/third_order.h rename to src/PHONON/third_order.h diff --git a/src/USER-PLUMED/Install.sh b/src/PLUMED/Install.sh similarity index 100% rename from src/USER-PLUMED/Install.sh rename to src/PLUMED/Install.sh diff --git a/src/USER-PLUMED/README b/src/PLUMED/README similarity index 97% rename from src/USER-PLUMED/README rename to src/PLUMED/README index 3f9860da39..9b24e2fbb9 100644 --- a/src/USER-PLUMED/README +++ b/src/PLUMED/README @@ -6,7 +6,7 @@ metadynamics to be used. Furthermore, PLUMED can be used to perform a wide range of analyses on trajectories on the fly as they are generated. The package uses the "PLUMED" library, whose source code is not included -in the LAMMPS source code distribution. The files in the USER-PLUMED package +in the LAMMPS source code distribution. The files in the PLUMED package folder implement an interface between LAMMPS and PLUMED, that are written and maintained by Gareth Tribello (gareth.tribello@gmail.com). @@ -19,7 +19,7 @@ time. However you decide to link PLUMED (statically or dynamically) you must run the command: -make yes-user-plumed +make yes-plumed before compiling LAMMPS in order to enable the module. In addition, if you have chosen to link PLUMED dynamically you must ensure that PLUMED is in your diff --git a/src/USER-PLUMED/fix_plumed.cpp b/src/PLUMED/fix_plumed.cpp similarity index 100% rename from src/USER-PLUMED/fix_plumed.cpp rename to src/PLUMED/fix_plumed.cpp diff --git a/src/USER-PLUMED/fix_plumed.h b/src/PLUMED/fix_plumed.h similarity index 100% rename from src/USER-PLUMED/fix_plumed.h rename to src/PLUMED/fix_plumed.h diff --git a/src/USER-PTM/LICENSE b/src/PTM/LICENSE similarity index 100% rename from src/USER-PTM/LICENSE rename to src/PTM/LICENSE diff --git a/src/USER-PTM/README b/src/PTM/README similarity index 100% rename from src/USER-PTM/README rename to src/PTM/README diff --git a/src/USER-PTM/compute_ptm_atom.cpp b/src/PTM/compute_ptm_atom.cpp similarity index 99% rename from src/USER-PTM/compute_ptm_atom.cpp rename to src/PTM/compute_ptm_atom.cpp index 301e3d577d..74880adcd5 100644 --- a/src/USER-PTM/compute_ptm_atom.cpp +++ b/src/PTM/compute_ptm_atom.cpp @@ -48,7 +48,7 @@ under using namespace LAMMPS_NS; static const char cite_user_ptm_package[] = - "USER-PTM package:\n\n" + "PTM package:\n\n" "@Article{larsen2016ptm,\n" " author={Larsen, Peter Mahler and Schmidt, S{\\o}ren and Schi{\\o}tz, " "Jakob},\n" diff --git a/src/USER-PTM/compute_ptm_atom.h b/src/PTM/compute_ptm_atom.h similarity index 100% rename from src/USER-PTM/compute_ptm_atom.h rename to src/PTM/compute_ptm_atom.h diff --git a/src/USER-PTM/ptm_alloy_types.cpp b/src/PTM/ptm_alloy_types.cpp similarity index 100% rename from src/USER-PTM/ptm_alloy_types.cpp rename to src/PTM/ptm_alloy_types.cpp diff --git a/src/USER-PTM/ptm_alloy_types.h b/src/PTM/ptm_alloy_types.h similarity index 100% rename from src/USER-PTM/ptm_alloy_types.h rename to src/PTM/ptm_alloy_types.h diff --git a/src/USER-PTM/ptm_alt_templates.h b/src/PTM/ptm_alt_templates.h similarity index 100% rename from src/USER-PTM/ptm_alt_templates.h rename to src/PTM/ptm_alt_templates.h diff --git a/src/USER-PTM/ptm_canonical_coloured.cpp b/src/PTM/ptm_canonical_coloured.cpp similarity index 100% rename from src/USER-PTM/ptm_canonical_coloured.cpp rename to src/PTM/ptm_canonical_coloured.cpp diff --git a/src/USER-PTM/ptm_canonical_coloured.h b/src/PTM/ptm_canonical_coloured.h similarity index 100% rename from src/USER-PTM/ptm_canonical_coloured.h rename to src/PTM/ptm_canonical_coloured.h diff --git a/src/USER-PTM/ptm_constants.cpp b/src/PTM/ptm_constants.cpp similarity index 100% rename from src/USER-PTM/ptm_constants.cpp rename to src/PTM/ptm_constants.cpp diff --git a/src/USER-PTM/ptm_constants.h b/src/PTM/ptm_constants.h similarity index 100% rename from src/USER-PTM/ptm_constants.h rename to src/PTM/ptm_constants.h diff --git a/src/USER-PTM/ptm_convex_hull_incremental.cpp b/src/PTM/ptm_convex_hull_incremental.cpp similarity index 100% rename from src/USER-PTM/ptm_convex_hull_incremental.cpp rename to src/PTM/ptm_convex_hull_incremental.cpp diff --git a/src/USER-PTM/ptm_convex_hull_incremental.h b/src/PTM/ptm_convex_hull_incremental.h similarity index 100% rename from src/USER-PTM/ptm_convex_hull_incremental.h rename to src/PTM/ptm_convex_hull_incremental.h diff --git a/src/USER-PTM/ptm_deformation_gradient.cpp b/src/PTM/ptm_deformation_gradient.cpp similarity index 100% rename from src/USER-PTM/ptm_deformation_gradient.cpp rename to src/PTM/ptm_deformation_gradient.cpp diff --git a/src/USER-PTM/ptm_deformation_gradient.h b/src/PTM/ptm_deformation_gradient.h similarity index 100% rename from src/USER-PTM/ptm_deformation_gradient.h rename to src/PTM/ptm_deformation_gradient.h diff --git a/src/USER-PTM/ptm_functions.h b/src/PTM/ptm_functions.h similarity index 100% rename from src/USER-PTM/ptm_functions.h rename to src/PTM/ptm_functions.h diff --git a/src/USER-PTM/ptm_fundamental_mappings.h b/src/PTM/ptm_fundamental_mappings.h similarity index 100% rename from src/USER-PTM/ptm_fundamental_mappings.h rename to src/PTM/ptm_fundamental_mappings.h diff --git a/src/USER-PTM/ptm_graph_data.cpp b/src/PTM/ptm_graph_data.cpp similarity index 100% rename from src/USER-PTM/ptm_graph_data.cpp rename to src/PTM/ptm_graph_data.cpp diff --git a/src/USER-PTM/ptm_graph_data.h b/src/PTM/ptm_graph_data.h similarity index 100% rename from src/USER-PTM/ptm_graph_data.h rename to src/PTM/ptm_graph_data.h diff --git a/src/USER-PTM/ptm_graph_tools.cpp b/src/PTM/ptm_graph_tools.cpp similarity index 100% rename from src/USER-PTM/ptm_graph_tools.cpp rename to src/PTM/ptm_graph_tools.cpp diff --git a/src/USER-PTM/ptm_graph_tools.h b/src/PTM/ptm_graph_tools.h similarity index 100% rename from src/USER-PTM/ptm_graph_tools.h rename to src/PTM/ptm_graph_tools.h diff --git a/src/USER-PTM/ptm_index.cpp b/src/PTM/ptm_index.cpp similarity index 100% rename from src/USER-PTM/ptm_index.cpp rename to src/PTM/ptm_index.cpp diff --git a/src/USER-PTM/ptm_initialize_data.cpp b/src/PTM/ptm_initialize_data.cpp similarity index 100% rename from src/USER-PTM/ptm_initialize_data.cpp rename to src/PTM/ptm_initialize_data.cpp diff --git a/src/USER-PTM/ptm_initialize_data.h b/src/PTM/ptm_initialize_data.h similarity index 100% rename from src/USER-PTM/ptm_initialize_data.h rename to src/PTM/ptm_initialize_data.h diff --git a/src/USER-PTM/ptm_neighbour_ordering.cpp b/src/PTM/ptm_neighbour_ordering.cpp similarity index 100% rename from src/USER-PTM/ptm_neighbour_ordering.cpp rename to src/PTM/ptm_neighbour_ordering.cpp diff --git a/src/USER-PTM/ptm_neighbour_ordering.h b/src/PTM/ptm_neighbour_ordering.h similarity index 100% rename from src/USER-PTM/ptm_neighbour_ordering.h rename to src/PTM/ptm_neighbour_ordering.h diff --git a/src/USER-PTM/ptm_normalize_vertices.cpp b/src/PTM/ptm_normalize_vertices.cpp similarity index 100% rename from src/USER-PTM/ptm_normalize_vertices.cpp rename to src/PTM/ptm_normalize_vertices.cpp diff --git a/src/USER-PTM/ptm_normalize_vertices.h b/src/PTM/ptm_normalize_vertices.h similarity index 100% rename from src/USER-PTM/ptm_normalize_vertices.h rename to src/PTM/ptm_normalize_vertices.h diff --git a/src/USER-PTM/ptm_polar.cpp b/src/PTM/ptm_polar.cpp similarity index 100% rename from src/USER-PTM/ptm_polar.cpp rename to src/PTM/ptm_polar.cpp diff --git a/src/USER-PTM/ptm_polar.h b/src/PTM/ptm_polar.h similarity index 100% rename from src/USER-PTM/ptm_polar.h rename to src/PTM/ptm_polar.h diff --git a/src/USER-PTM/ptm_quat.cpp b/src/PTM/ptm_quat.cpp similarity index 100% rename from src/USER-PTM/ptm_quat.cpp rename to src/PTM/ptm_quat.cpp diff --git a/src/USER-PTM/ptm_quat.h b/src/PTM/ptm_quat.h similarity index 100% rename from src/USER-PTM/ptm_quat.h rename to src/PTM/ptm_quat.h diff --git a/src/USER-PTM/ptm_structure_matcher.cpp b/src/PTM/ptm_structure_matcher.cpp similarity index 100% rename from src/USER-PTM/ptm_structure_matcher.cpp rename to src/PTM/ptm_structure_matcher.cpp diff --git a/src/USER-PTM/ptm_structure_matcher.h b/src/PTM/ptm_structure_matcher.h similarity index 100% rename from src/USER-PTM/ptm_structure_matcher.h rename to src/PTM/ptm_structure_matcher.h diff --git a/src/USER-PTM/ptm_voronoi_cell.cpp b/src/PTM/ptm_voronoi_cell.cpp similarity index 100% rename from src/USER-PTM/ptm_voronoi_cell.cpp rename to src/PTM/ptm_voronoi_cell.cpp diff --git a/src/USER-PTM/ptm_voronoi_cell.h b/src/PTM/ptm_voronoi_cell.h similarity index 100% rename from src/USER-PTM/ptm_voronoi_cell.h rename to src/PTM/ptm_voronoi_cell.h diff --git a/src/USER-PTM/ptm_voronoi_config.h b/src/PTM/ptm_voronoi_config.h similarity index 100% rename from src/USER-PTM/ptm_voronoi_config.h rename to src/PTM/ptm_voronoi_config.h diff --git a/src/USER-QMMM/Install.sh b/src/QMMM/Install.sh similarity index 100% rename from src/USER-QMMM/Install.sh rename to src/QMMM/Install.sh diff --git a/src/USER-QMMM/README b/src/QMMM/README similarity index 100% rename from src/USER-QMMM/README rename to src/QMMM/README diff --git a/src/USER-QMMM/fix_qmmm.cpp b/src/QMMM/fix_qmmm.cpp similarity index 100% rename from src/USER-QMMM/fix_qmmm.cpp rename to src/QMMM/fix_qmmm.cpp diff --git a/src/USER-QMMM/fix_qmmm.h b/src/QMMM/fix_qmmm.h similarity index 100% rename from src/USER-QMMM/fix_qmmm.h rename to src/QMMM/fix_qmmm.h diff --git a/src/USER-QTB/README b/src/QTB/README similarity index 100% rename from src/USER-QTB/README rename to src/QTB/README diff --git a/src/USER-QTB/fix_qbmsst.cpp b/src/QTB/fix_qbmsst.cpp similarity index 100% rename from src/USER-QTB/fix_qbmsst.cpp rename to src/QTB/fix_qbmsst.cpp diff --git a/src/USER-QTB/fix_qbmsst.h b/src/QTB/fix_qbmsst.h similarity index 100% rename from src/USER-QTB/fix_qbmsst.h rename to src/QTB/fix_qbmsst.h diff --git a/src/USER-QTB/fix_qtb.cpp b/src/QTB/fix_qtb.cpp similarity index 100% rename from src/USER-QTB/fix_qtb.cpp rename to src/QTB/fix_qtb.cpp diff --git a/src/USER-QTB/fix_qtb.h b/src/QTB/fix_qtb.h similarity index 100% rename from src/USER-QTB/fix_qtb.h rename to src/QTB/fix_qtb.h diff --git a/src/USER-REACTION/README b/src/REACTION/README similarity index 100% rename from src/USER-REACTION/README rename to src/REACTION/README diff --git a/src/USER-REACTION/fix_bond_react.cpp b/src/REACTION/fix_bond_react.cpp similarity index 100% rename from src/USER-REACTION/fix_bond_react.cpp rename to src/REACTION/fix_bond_react.cpp diff --git a/src/USER-REACTION/fix_bond_react.h b/src/REACTION/fix_bond_react.h similarity index 100% rename from src/USER-REACTION/fix_bond_react.h rename to src/REACTION/fix_bond_react.h diff --git a/src/USER-REACTION/superpose3d.h b/src/REACTION/superpose3d.h similarity index 100% rename from src/USER-REACTION/superpose3d.h rename to src/REACTION/superpose3d.h diff --git a/src/USER-SCAFACOS/Install.sh b/src/SCAFACOS/Install.sh similarity index 100% rename from src/USER-SCAFACOS/Install.sh rename to src/SCAFACOS/Install.sh diff --git a/src/USER-SCAFACOS/README b/src/SCAFACOS/README similarity index 100% rename from src/USER-SCAFACOS/README rename to src/SCAFACOS/README diff --git a/src/USER-SCAFACOS/scafacos.cpp b/src/SCAFACOS/scafacos.cpp similarity index 100% rename from src/USER-SCAFACOS/scafacos.cpp rename to src/SCAFACOS/scafacos.cpp diff --git a/src/USER-SCAFACOS/scafacos.h b/src/SCAFACOS/scafacos.h similarity index 100% rename from src/USER-SCAFACOS/scafacos.h rename to src/SCAFACOS/scafacos.h diff --git a/src/USER-SMTBQ/README b/src/SMTBQ/README similarity index 100% rename from src/USER-SMTBQ/README rename to src/SMTBQ/README diff --git a/src/USER-SMTBQ/pair_smtbq.cpp b/src/SMTBQ/pair_smtbq.cpp similarity index 100% rename from src/USER-SMTBQ/pair_smtbq.cpp rename to src/SMTBQ/pair_smtbq.cpp diff --git a/src/USER-SMTBQ/pair_smtbq.h b/src/SMTBQ/pair_smtbq.h similarity index 100% rename from src/USER-SMTBQ/pair_smtbq.h rename to src/SMTBQ/pair_smtbq.h diff --git a/src/USER-SPH/README b/src/SPH/README similarity index 100% rename from src/USER-SPH/README rename to src/SPH/README diff --git a/src/USER-SPH/atom_vec_sph.cpp b/src/SPH/atom_vec_sph.cpp similarity index 100% rename from src/USER-SPH/atom_vec_sph.cpp rename to src/SPH/atom_vec_sph.cpp diff --git a/src/USER-SPH/atom_vec_sph.h b/src/SPH/atom_vec_sph.h similarity index 100% rename from src/USER-SPH/atom_vec_sph.h rename to src/SPH/atom_vec_sph.h diff --git a/src/USER-SPH/compute_sph_e_atom.cpp b/src/SPH/compute_sph_e_atom.cpp similarity index 100% rename from src/USER-SPH/compute_sph_e_atom.cpp rename to src/SPH/compute_sph_e_atom.cpp diff --git a/src/USER-SPH/compute_sph_e_atom.h b/src/SPH/compute_sph_e_atom.h similarity index 100% rename from src/USER-SPH/compute_sph_e_atom.h rename to src/SPH/compute_sph_e_atom.h diff --git a/src/USER-SPH/compute_sph_rho_atom.cpp b/src/SPH/compute_sph_rho_atom.cpp similarity index 100% rename from src/USER-SPH/compute_sph_rho_atom.cpp rename to src/SPH/compute_sph_rho_atom.cpp diff --git a/src/USER-SPH/compute_sph_rho_atom.h b/src/SPH/compute_sph_rho_atom.h similarity index 100% rename from src/USER-SPH/compute_sph_rho_atom.h rename to src/SPH/compute_sph_rho_atom.h diff --git a/src/USER-SPH/compute_sph_t_atom.cpp b/src/SPH/compute_sph_t_atom.cpp similarity index 100% rename from src/USER-SPH/compute_sph_t_atom.cpp rename to src/SPH/compute_sph_t_atom.cpp diff --git a/src/USER-SPH/compute_sph_t_atom.h b/src/SPH/compute_sph_t_atom.h similarity index 100% rename from src/USER-SPH/compute_sph_t_atom.h rename to src/SPH/compute_sph_t_atom.h diff --git a/src/USER-SPH/fix_sph.cpp b/src/SPH/fix_sph.cpp similarity index 100% rename from src/USER-SPH/fix_sph.cpp rename to src/SPH/fix_sph.cpp diff --git a/src/USER-SPH/fix_sph.h b/src/SPH/fix_sph.h similarity index 100% rename from src/USER-SPH/fix_sph.h rename to src/SPH/fix_sph.h diff --git a/src/USER-SPH/fix_sph_stationary.cpp b/src/SPH/fix_sph_stationary.cpp similarity index 100% rename from src/USER-SPH/fix_sph_stationary.cpp rename to src/SPH/fix_sph_stationary.cpp diff --git a/src/USER-SPH/fix_sph_stationary.h b/src/SPH/fix_sph_stationary.h similarity index 100% rename from src/USER-SPH/fix_sph_stationary.h rename to src/SPH/fix_sph_stationary.h diff --git a/src/USER-SPH/pair_sph_heatconduction.cpp b/src/SPH/pair_sph_heatconduction.cpp similarity index 100% rename from src/USER-SPH/pair_sph_heatconduction.cpp rename to src/SPH/pair_sph_heatconduction.cpp diff --git a/src/USER-SPH/pair_sph_heatconduction.h b/src/SPH/pair_sph_heatconduction.h similarity index 100% rename from src/USER-SPH/pair_sph_heatconduction.h rename to src/SPH/pair_sph_heatconduction.h diff --git a/src/USER-SPH/pair_sph_idealgas.cpp b/src/SPH/pair_sph_idealgas.cpp similarity index 100% rename from src/USER-SPH/pair_sph_idealgas.cpp rename to src/SPH/pair_sph_idealgas.cpp diff --git a/src/USER-SPH/pair_sph_idealgas.h b/src/SPH/pair_sph_idealgas.h similarity index 100% rename from src/USER-SPH/pair_sph_idealgas.h rename to src/SPH/pair_sph_idealgas.h diff --git a/src/USER-SPH/pair_sph_lj.cpp b/src/SPH/pair_sph_lj.cpp similarity index 100% rename from src/USER-SPH/pair_sph_lj.cpp rename to src/SPH/pair_sph_lj.cpp diff --git a/src/USER-SPH/pair_sph_lj.h b/src/SPH/pair_sph_lj.h similarity index 100% rename from src/USER-SPH/pair_sph_lj.h rename to src/SPH/pair_sph_lj.h diff --git a/src/USER-SPH/pair_sph_rhosum.cpp b/src/SPH/pair_sph_rhosum.cpp similarity index 100% rename from src/USER-SPH/pair_sph_rhosum.cpp rename to src/SPH/pair_sph_rhosum.cpp diff --git a/src/USER-SPH/pair_sph_rhosum.h b/src/SPH/pair_sph_rhosum.h similarity index 100% rename from src/USER-SPH/pair_sph_rhosum.h rename to src/SPH/pair_sph_rhosum.h diff --git a/src/USER-SPH/pair_sph_taitwater.cpp b/src/SPH/pair_sph_taitwater.cpp similarity index 100% rename from src/USER-SPH/pair_sph_taitwater.cpp rename to src/SPH/pair_sph_taitwater.cpp diff --git a/src/USER-SPH/pair_sph_taitwater.h b/src/SPH/pair_sph_taitwater.h similarity index 100% rename from src/USER-SPH/pair_sph_taitwater.h rename to src/SPH/pair_sph_taitwater.h diff --git a/src/USER-SPH/pair_sph_taitwater_morris.cpp b/src/SPH/pair_sph_taitwater_morris.cpp similarity index 100% rename from src/USER-SPH/pair_sph_taitwater_morris.cpp rename to src/SPH/pair_sph_taitwater_morris.cpp diff --git a/src/USER-SPH/pair_sph_taitwater_morris.h b/src/SPH/pair_sph_taitwater_morris.h similarity index 100% rename from src/USER-SPH/pair_sph_taitwater_morris.h rename to src/SPH/pair_sph_taitwater_morris.h diff --git a/src/USER-TALLY/README b/src/TALLY/README similarity index 100% rename from src/USER-TALLY/README rename to src/TALLY/README diff --git a/src/USER-TALLY/compute_force_tally.cpp b/src/TALLY/compute_force_tally.cpp similarity index 100% rename from src/USER-TALLY/compute_force_tally.cpp rename to src/TALLY/compute_force_tally.cpp diff --git a/src/USER-TALLY/compute_force_tally.h b/src/TALLY/compute_force_tally.h similarity index 100% rename from src/USER-TALLY/compute_force_tally.h rename to src/TALLY/compute_force_tally.h diff --git a/src/USER-TALLY/compute_heat_flux_tally.cpp b/src/TALLY/compute_heat_flux_tally.cpp similarity index 100% rename from src/USER-TALLY/compute_heat_flux_tally.cpp rename to src/TALLY/compute_heat_flux_tally.cpp diff --git a/src/USER-TALLY/compute_heat_flux_tally.h b/src/TALLY/compute_heat_flux_tally.h similarity index 100% rename from src/USER-TALLY/compute_heat_flux_tally.h rename to src/TALLY/compute_heat_flux_tally.h diff --git a/src/USER-TALLY/compute_pe_mol_tally.cpp b/src/TALLY/compute_pe_mol_tally.cpp similarity index 100% rename from src/USER-TALLY/compute_pe_mol_tally.cpp rename to src/TALLY/compute_pe_mol_tally.cpp diff --git a/src/USER-TALLY/compute_pe_mol_tally.h b/src/TALLY/compute_pe_mol_tally.h similarity index 100% rename from src/USER-TALLY/compute_pe_mol_tally.h rename to src/TALLY/compute_pe_mol_tally.h diff --git a/src/USER-TALLY/compute_pe_tally.cpp b/src/TALLY/compute_pe_tally.cpp similarity index 100% rename from src/USER-TALLY/compute_pe_tally.cpp rename to src/TALLY/compute_pe_tally.cpp diff --git a/src/USER-TALLY/compute_pe_tally.h b/src/TALLY/compute_pe_tally.h similarity index 100% rename from src/USER-TALLY/compute_pe_tally.h rename to src/TALLY/compute_pe_tally.h diff --git a/src/USER-TALLY/compute_stress_tally.cpp b/src/TALLY/compute_stress_tally.cpp similarity index 100% rename from src/USER-TALLY/compute_stress_tally.cpp rename to src/TALLY/compute_stress_tally.cpp diff --git a/src/USER-TALLY/compute_stress_tally.h b/src/TALLY/compute_stress_tally.h similarity index 100% rename from src/USER-TALLY/compute_stress_tally.h rename to src/TALLY/compute_stress_tally.h diff --git a/src/USER-UEF/README b/src/UEF/README similarity index 95% rename from src/USER-UEF/README rename to src/UEF/README index 2f2b872d3b..b2cef5b69b 100644 --- a/src/USER-UEF/README +++ b/src/UEF/README @@ -1,4 +1,4 @@ -USER-UEF is a LAMMPS package for non-equilibrium molecular dynamics +UEF is a LAMMPS package for non-equilibrium molecular dynamics (NEMD) under diagonal flow fields, including uniaxial and biaxial flow. With this package, simulations under extensional flow may be carried out for an indefinite amount of time. It is an implementation diff --git a/src/USER-UEF/compute_pressure_uef.cpp b/src/UEF/compute_pressure_uef.cpp similarity index 100% rename from src/USER-UEF/compute_pressure_uef.cpp rename to src/UEF/compute_pressure_uef.cpp diff --git a/src/USER-UEF/compute_pressure_uef.h b/src/UEF/compute_pressure_uef.h similarity index 100% rename from src/USER-UEF/compute_pressure_uef.h rename to src/UEF/compute_pressure_uef.h diff --git a/src/USER-UEF/compute_temp_uef.cpp b/src/UEF/compute_temp_uef.cpp similarity index 100% rename from src/USER-UEF/compute_temp_uef.cpp rename to src/UEF/compute_temp_uef.cpp diff --git a/src/USER-UEF/compute_temp_uef.h b/src/UEF/compute_temp_uef.h similarity index 100% rename from src/USER-UEF/compute_temp_uef.h rename to src/UEF/compute_temp_uef.h diff --git a/src/USER-UEF/dump_cfg_uef.cpp b/src/UEF/dump_cfg_uef.cpp similarity index 100% rename from src/USER-UEF/dump_cfg_uef.cpp rename to src/UEF/dump_cfg_uef.cpp diff --git a/src/USER-UEF/dump_cfg_uef.h b/src/UEF/dump_cfg_uef.h similarity index 100% rename from src/USER-UEF/dump_cfg_uef.h rename to src/UEF/dump_cfg_uef.h diff --git a/src/USER-UEF/fix_nh_uef.cpp b/src/UEF/fix_nh_uef.cpp similarity index 99% rename from src/USER-UEF/fix_nh_uef.cpp rename to src/UEF/fix_nh_uef.cpp index 9563644ede..a88b389611 100644 --- a/src/USER-UEF/fix_nh_uef.cpp +++ b/src/UEF/fix_nh_uef.cpp @@ -44,7 +44,7 @@ enum{ISO,ANISO,TRICLINIC}; // citation info static const char cite_user_uef_package[] = - "USER-UEF package:\n\n" + "UEF package:\n\n" "@Article{NicholsonRutledge16,\n" "author = {David A. Nicholson and Gregory C. Rutledge},\n" "title = {Molecular simulation of flow-enhanced nucleation in n-eicosane melts under steady shear and uniaxial extension},\n" diff --git a/src/USER-UEF/fix_nh_uef.h b/src/UEF/fix_nh_uef.h similarity index 100% rename from src/USER-UEF/fix_nh_uef.h rename to src/UEF/fix_nh_uef.h diff --git a/src/USER-UEF/fix_npt_uef.cpp b/src/UEF/fix_npt_uef.cpp similarity index 100% rename from src/USER-UEF/fix_npt_uef.cpp rename to src/UEF/fix_npt_uef.cpp diff --git a/src/USER-UEF/fix_npt_uef.h b/src/UEF/fix_npt_uef.h similarity index 100% rename from src/USER-UEF/fix_npt_uef.h rename to src/UEF/fix_npt_uef.h diff --git a/src/USER-UEF/fix_nvt_uef.cpp b/src/UEF/fix_nvt_uef.cpp similarity index 100% rename from src/USER-UEF/fix_nvt_uef.cpp rename to src/UEF/fix_nvt_uef.cpp diff --git a/src/USER-UEF/fix_nvt_uef.h b/src/UEF/fix_nvt_uef.h similarity index 100% rename from src/USER-UEF/fix_nvt_uef.h rename to src/UEF/fix_nvt_uef.h diff --git a/src/USER-UEF/uef_utils.cpp b/src/UEF/uef_utils.cpp similarity index 100% rename from src/USER-UEF/uef_utils.cpp rename to src/UEF/uef_utils.cpp diff --git a/src/USER-UEF/uef_utils.h b/src/UEF/uef_utils.h similarity index 100% rename from src/USER-UEF/uef_utils.h rename to src/UEF/uef_utils.h diff --git a/src/USER-VTK/Install.sh b/src/VTK/Install.sh similarity index 100% rename from src/USER-VTK/Install.sh rename to src/VTK/Install.sh diff --git a/src/USER-VTK/README b/src/VTK/README similarity index 100% rename from src/USER-VTK/README rename to src/VTK/README diff --git a/src/USER-VTK/dump_vtk.cpp b/src/VTK/dump_vtk.cpp similarity index 100% rename from src/USER-VTK/dump_vtk.cpp rename to src/VTK/dump_vtk.cpp diff --git a/src/USER-VTK/dump_vtk.h b/src/VTK/dump_vtk.h similarity index 100% rename from src/USER-VTK/dump_vtk.h rename to src/VTK/dump_vtk.h diff --git a/src/USER-YAFF/README b/src/YAFF/README similarity index 100% rename from src/USER-YAFF/README rename to src/YAFF/README diff --git a/src/USER-YAFF/angle_cross.cpp b/src/YAFF/angle_cross.cpp similarity index 100% rename from src/USER-YAFF/angle_cross.cpp rename to src/YAFF/angle_cross.cpp diff --git a/src/USER-YAFF/angle_cross.h b/src/YAFF/angle_cross.h similarity index 100% rename from src/USER-YAFF/angle_cross.h rename to src/YAFF/angle_cross.h diff --git a/src/USER-YAFF/angle_mm3.cpp b/src/YAFF/angle_mm3.cpp similarity index 100% rename from src/USER-YAFF/angle_mm3.cpp rename to src/YAFF/angle_mm3.cpp diff --git a/src/USER-YAFF/angle_mm3.h b/src/YAFF/angle_mm3.h similarity index 100% rename from src/USER-YAFF/angle_mm3.h rename to src/YAFF/angle_mm3.h diff --git a/src/USER-YAFF/bond_mm3.cpp b/src/YAFF/bond_mm3.cpp similarity index 100% rename from src/USER-YAFF/bond_mm3.cpp rename to src/YAFF/bond_mm3.cpp diff --git a/src/USER-YAFF/bond_mm3.h b/src/YAFF/bond_mm3.h similarity index 100% rename from src/USER-YAFF/bond_mm3.h rename to src/YAFF/bond_mm3.h diff --git a/src/USER-YAFF/improper_distharm.cpp b/src/YAFF/improper_distharm.cpp similarity index 100% rename from src/USER-YAFF/improper_distharm.cpp rename to src/YAFF/improper_distharm.cpp diff --git a/src/USER-YAFF/improper_distharm.h b/src/YAFF/improper_distharm.h similarity index 100% rename from src/USER-YAFF/improper_distharm.h rename to src/YAFF/improper_distharm.h diff --git a/src/USER-YAFF/improper_sqdistharm.cpp b/src/YAFF/improper_sqdistharm.cpp similarity index 100% rename from src/USER-YAFF/improper_sqdistharm.cpp rename to src/YAFF/improper_sqdistharm.cpp diff --git a/src/USER-YAFF/improper_sqdistharm.h b/src/YAFF/improper_sqdistharm.h similarity index 100% rename from src/USER-YAFF/improper_sqdistharm.h rename to src/YAFF/improper_sqdistharm.h diff --git a/src/USER-YAFF/pair_lj_switch3_coulgauss_long.cpp b/src/YAFF/pair_lj_switch3_coulgauss_long.cpp similarity index 100% rename from src/USER-YAFF/pair_lj_switch3_coulgauss_long.cpp rename to src/YAFF/pair_lj_switch3_coulgauss_long.cpp diff --git a/src/USER-YAFF/pair_lj_switch3_coulgauss_long.h b/src/YAFF/pair_lj_switch3_coulgauss_long.h similarity index 100% rename from src/USER-YAFF/pair_lj_switch3_coulgauss_long.h rename to src/YAFF/pair_lj_switch3_coulgauss_long.h diff --git a/src/USER-YAFF/pair_mm3_switch3_coulgauss_long.cpp b/src/YAFF/pair_mm3_switch3_coulgauss_long.cpp similarity index 100% rename from src/USER-YAFF/pair_mm3_switch3_coulgauss_long.cpp rename to src/YAFF/pair_mm3_switch3_coulgauss_long.cpp diff --git a/src/USER-YAFF/pair_mm3_switch3_coulgauss_long.h b/src/YAFF/pair_mm3_switch3_coulgauss_long.h similarity index 100% rename from src/USER-YAFF/pair_mm3_switch3_coulgauss_long.h rename to src/YAFF/pair_mm3_switch3_coulgauss_long.h diff --git a/src/atom.cpp b/src/atom.cpp index e0681b6dac..6c93161dfd 100644 --- a/src/atom.cpp +++ b/src/atom.cpp @@ -161,7 +161,7 @@ Atom::Atom(LAMMPS *lmp) : Pointers(lmp) sp = fm = fm_long = nullptr; - // USER-EFF and USER-AWPMD packages + // EFF and AWPMD packages spin = nullptr; eradius = ervel = erforce = nullptr; @@ -174,12 +174,12 @@ Atom::Atom(LAMMPS *lmp) : Pointers(lmp) uCond = uMech = uChem = uCG = uCGnew = nullptr; duChem = dpdTheta = nullptr; - // USER-MESO package + // MESO package cc = cc_flux = nullptr; edpd_temp = edpd_flux = edpd_cv = nullptr; - // USER-MESONT package + // MESONT package length = nullptr; buckling = nullptr; @@ -194,12 +194,12 @@ Atom::Atom(LAMMPS *lmp) : Pointers(lmp) eff_plastic_strain_rate = nullptr; damage = nullptr; - // USER-SPH package + // SPH package rho = drho = esph = desph = cv = nullptr; vest = nullptr; - // USER-DIELECTRIC package + // DIELECTRIC package area = ed = em = epsilon = curvature = q_unscaled = nullptr; @@ -457,14 +457,14 @@ void Atom::peratom_create() add_peratom("fm",&fm,DOUBLE,3,1); add_peratom("fm_long",&fm_long,DOUBLE,3,1); - // USER-EFF package + // EFF package add_peratom("spin",&spin,INT,0); add_peratom("eradius",&eradius,DOUBLE,0); add_peratom("ervel",&ervel,DOUBLE,0); add_peratom("erforce",&erforce,DOUBLE,0,1); // set per-thread flag - // USER-AWPMD package + // AWPMD package add_peratom("cs",&cs,DOUBLE,2); add_peratom("csforce",&csforce,DOUBLE,2); @@ -482,7 +482,7 @@ void Atom::peratom_create() add_peratom("uCGnew",&uCGnew,DOUBLE,0); add_peratom("duChem",&duChem,DOUBLE,0); - // USER-MESO package + // MESO package add_peratom("edpd_cv",&edpd_cv,DOUBLE,0); add_peratom("edpd_temp",&edpd_temp,DOUBLE,0); @@ -491,13 +491,13 @@ void Atom::peratom_create() add_peratom("cc",&cc,DOUBLE,1); add_peratom("cc_flux",&cc_flux,DOUBLE,1,1); // set per-thread flag - // USER-MESONT package + // MESONT package add_peratom("length",&length,DOUBLE,0); add_peratom("buckling",&buckling,INT,0); add_peratom("bond_nt",&bond_nt,tagintsize,2); - // USER-SPH package + // SPH package add_peratom("rho",&rho,DOUBLE,0); add_peratom("drho",&drho,DOUBLE,0,1); // set per-thread flag @@ -515,7 +515,7 @@ void Atom::peratom_create() add_peratom("eff_plastic_strain_rate",&eff_plastic_strain_rate,DOUBLE,0); add_peratom("damage",&damage,DOUBLE,0); - // USER-DIELECTRIC package + // DIELECTRIC package add_peratom("area",&area,DOUBLE,0); add_peratom("ed",&ed,DOUBLE,0); @@ -2646,7 +2646,7 @@ void *Atom::extract(const char *name) if (strcmp(name,"cv") == 0) return (void *) cv; if (strcmp(name,"vest") == 0) return (void *) vest; - // USER-MESONT package + // MESONT package if (strcmp(name,"length") == 0) return (void *) length; if (strcmp(name,"buckling") == 0) return (void *) buckling; if (strcmp(name,"bond_nt") == 0) return (void *) bond_nt; @@ -2663,7 +2663,7 @@ void *Atom::extract(const char *name) if (strcmp(name,"dpdTheta") == 0) return (void *) dpdTheta; if (strcmp(name,"edpd_temp") == 0) return (void *) edpd_temp; - // USER-DIELECTRIC + // DIELECTRIC if (strcmp(name,"area") == 0) return (void *) area; if (strcmp(name,"ed") == 0) return (void *) ed; if (strcmp(name,"em") == 0) return (void *) em; @@ -2739,7 +2739,7 @@ int Atom::extract_datatype(const char *name) if (strcmp(name,"cv") == 0) return LAMMPS_DOUBLE; if (strcmp(name,"vest") == 0) return LAMMPS_DOUBLE_2D; - // USER-MESONT package + // MESONT package if (strcmp(name,"length") == 0) return LAMMPS_DOUBLE; if (strcmp(name,"buckling") == 0) return LAMMPS_INT; if (strcmp(name,"bond_nt") == 0) return LAMMPS_TAGINT_2D; @@ -2754,7 +2754,7 @@ int Atom::extract_datatype(const char *name) if (strcmp(name,"dpdTheta") == 0) return LAMMPS_DOUBLE; if (strcmp(name,"edpd_temp") == 0) return LAMMPS_DOUBLE; - // USER-DIELECTRIC + // DIELECTRIC if (strcmp(name,"area") == 0) return LAMMPS_DOUBLE; if (strcmp(name,"ed") == 0) return LAMMPS_DOUBLE; if (strcmp(name,"em") == 0) return LAMMPS_DOUBLE; diff --git a/src/atom.h b/src/atom.h index 7e5fc573dc..c881490b8e 100644 --- a/src/atom.h +++ b/src/atom.h @@ -114,7 +114,7 @@ class Atom : protected Pointers { double **sp, **fm, **fm_long; - // USER_EFF and USER-AWPMD packages + // EFF and AWPMD packages int *spin; double *eradius, *ervel, *erforce; @@ -129,7 +129,7 @@ class Atom : protected Pointers { double *dpdTheta; int nspecies_dpd; - // USER-MESO package + // MESO package double **cc, **cc_flux; // cc = chemical concentration double *edpd_temp, *edpd_flux; // temperature and heat flux @@ -137,7 +137,7 @@ class Atom : protected Pointers { double *edpd_cv; // heat capacity int cc_species; - // USER-MESONT package + // MESONT package double *length; int *buckling; @@ -152,12 +152,12 @@ class Atom : protected Pointers { double *eff_plastic_strain_rate; double *damage; - // USER-SPH package + // SPH package double *rho, *drho, *esph, *desph, *cv; double **vest; - // USER-DIELECTRIC package + // DIELECTRIC package double *area,*ed,*em,*epsilon,*curvature,*q_unscaled; diff --git a/src/info.cpp b/src/info.cpp index 13b02df116..6756c174ca 100644 --- a/src/info.cpp +++ b/src/info.cpp @@ -1239,7 +1239,7 @@ bool Info::has_accelerator_feature(const std::string &package, } #endif #if defined(LMP_USER_INTEL) - if (package == "USER-INTEL") { + if (package == "INTEL") { if (category == "precision") { if (setting == "double") return true; else if (setting == "mixed") return true; @@ -1476,14 +1476,14 @@ std::string Info::get_accelerator_info(const std::string &package) if (has_accelerator_feature("OPENMP","precision","double")) mesg += " double"; mesg += "\n"; } - if ((package.empty() || (package == "USER-INTEL")) && has_package("USER-INTEL")) { - mesg += "USER-INTEL package API:"; - if (has_accelerator_feature("USER-INTEL","api","phi")) mesg += " Phi"; - if (has_accelerator_feature("USER-INTEL","api","openmp")) mesg += " OpenMP"; - mesg += "\nUSER-INTEL package precision:"; - if (has_accelerator_feature("USER-INTEL","precision","single")) mesg += " single"; - if (has_accelerator_feature("USER-INTEL","precision","mixed")) mesg += " mixed"; - if (has_accelerator_feature("USER-INTEL","precision","double")) mesg += " double"; + if ((package.empty() || (package == "INTEL")) && has_package("INTEL")) { + mesg += "INTEL package API:"; + if (has_accelerator_feature("INTEL","api","phi")) mesg += " Phi"; + if (has_accelerator_feature("INTEL","api","openmp")) mesg += " OpenMP"; + mesg += "\nINTEL package precision:"; + if (has_accelerator_feature("INTEL","precision","single")) mesg += " single"; + if (has_accelerator_feature("INTEL","precision","mixed")) mesg += " mixed"; + if (has_accelerator_feature("INTEL","precision","double")) mesg += " double"; mesg += "\n"; } return mesg; diff --git a/src/input.cpp b/src/input.cpp index 9aa5d7f476..2c2c55f4c4 100644 --- a/src/input.cpp +++ b/src/input.cpp @@ -1692,7 +1692,7 @@ void Input::package() } else if (strcmp(arg[0],"intel") == 0) { if (!modify->check_package("INTEL")) error->all(FLERR, - "Package intel command without USER-INTEL package installed"); + "Package intel command without INTEL package installed"); std::string fixcmd = "package_intel all INTEL"; for (int i = 1; i < narg; i++) fixcmd += std::string(" ") + arg[i]; diff --git a/src/input.h b/src/input.h index db006160d8..faf45ab305 100644 --- a/src/input.h +++ b/src/input.h @@ -362,9 +362,9 @@ E: Package omp command without OPENMP package installed The OPENMP package must be installed via "make yes-openmp" before LAMMPS is built. -E: Package intel command without USER-INTEL package installed +E: Package intel command without INTEL package installed -The USER-INTEL package must be installed via "make yes-user-intel" +The INTEL package must be installed via "make yes-intel" before LAMMPS is built. E: Pair_coeff command before simulation box is defined diff --git a/src/lammps.cpp b/src/lammps.cpp index 9cd3029c8d..70174b9d14 100644 --- a/src/lammps.cpp +++ b/src/lammps.cpp @@ -850,7 +850,7 @@ void LAMMPS::post_create() if (strcmp(suffix,"gpu") == 0 && !modify->check_package("GPU")) error->all(FLERR,"Using suffix gpu without GPU package installed"); if (strcmp(suffix,"intel") == 0 && !modify->check_package("INTEL")) - error->all(FLERR,"Using suffix intel without USER-INTEL package installed"); + error->all(FLERR,"Using suffix intel without INTEL package installed"); if (strcmp(suffix,"kk") == 0 && (kokkos == nullptr || kokkos->kokkos_exists == 0)) error->all(FLERR,"Using suffix kk without KOKKOS package enabled"); diff --git a/src/lammps.h b/src/lammps.h index 2e7699a281..74ae47e9a2 100644 --- a/src/lammps.h +++ b/src/lammps.h @@ -199,7 +199,7 @@ E: Using suffix gpu without GPU package installed Self-explanatory. -E: Using suffix intel without USER-INTEL package installed +E: Using suffix intel without INTEL package installed Self-explanatory. diff --git a/src/library.cpp b/src/library.cpp index 2447ba0a2a..436892683b 100644 --- a/src/library.cpp +++ b/src/library.cpp @@ -4327,7 +4327,7 @@ int lammps_config_package_name(int idx, char *buffer, int buf_size) { \verbatim embed:rst This function checks availability of compile time settings of included :doc:`accelerator packages ` in LAMMPS. -Supported packages names are "GPU", "KOKKOS", "USER-INTEL", and "OPENMP". +Supported packages names are "GPU", "KOKKOS", "INTEL", and "OPENMP". Supported categories are "api" with possible settings "cuda", "hip", "phi", "pthreads", "opencl", "openmp", and "serial", and "precision" with possible settings "double", "mixed", and "single". If the combination diff --git a/src/modify.cpp b/src/modify.cpp index afa46e9957..c617bf1477 100644 --- a/src/modify.cpp +++ b/src/modify.cpp @@ -1110,7 +1110,7 @@ int Modify::find_fix_by_style(const char *style) check for fix associated with package name in compiled list return 1 if found else 0 used to determine whether LAMMPS was built with - GPU, USER-INTEL, OPENMP packages, which have their own fixes + GPU, INTEL, OPENMP packages, which have their own fixes ------------------------------------------------------------------------- */ int Modify::check_package(const char *package_fix_name) diff --git a/src/nbin_standard.cpp b/src/nbin_standard.cpp index d10c98835e..aa2a9f6686 100644 --- a/src/nbin_standard.cpp +++ b/src/nbin_standard.cpp @@ -38,7 +38,7 @@ NBinStandard::NBinStandard(LAMMPS *lmp) : NBin(lmp) {} void NBinStandard::bin_atoms_setup(int nall) { // binhead = per-bin vector, mbins in length - // add 1 bin for USER-INTEL package + // add 1 bin for INTEL package if (mbins > maxbin) { maxbin = mbins; diff --git a/src/neigh_request.h b/src/neigh_request.h index 74802583ac..4bdc368317 100644 --- a/src/neigh_request.h +++ b/src/neigh_request.h @@ -67,7 +67,7 @@ class NeighRequest : protected Pointers { int respaouter; // 1 if need a rRESPA outer list int bond; // 1 if store bond neighbors instead of atom neighs int omp; // set by OPENMP package - int intel; // set by USER-INTEL package + int intel; // set by INTEL package int kokkos_host; // set by KOKKOS package int kokkos_device; int ssa; // set by DPD-REACT package, for Shardlow lists diff --git a/src/pair.cpp b/src/pair.cpp index 0fcc4bd62f..5448a42e1c 100644 --- a/src/pair.cpp +++ b/src/pair.cpp @@ -959,7 +959,7 @@ void Pair::ev_setup(int eflag, int vflag, int alloc) } } - // run ev_setup option for USER-TALLY computes + // run ev_setup option for TALLY computes if (num_tally_compute > 0) { for (int k=0; k < num_tally_compute; ++k) { diff --git a/src/pair.h b/src/pair.h index b19fa08c48..80d4fc11d1 100644 --- a/src/pair.h +++ b/src/pair.h @@ -246,7 +246,7 @@ class Pair : protected Pointers { float f; } union_int_float_t; - // Accessor for the user-intel package to determine virial calc for hybrid + // Accessor for the INTEL package to determine virial calc for hybrid inline int fdotr_is_set() const { return vflag_fdotr; } diff --git a/src/pair_hybrid.cpp b/src/pair_hybrid.cpp index ab2fe7803a..545d5d9232 100644 --- a/src/pair_hybrid.cpp +++ b/src/pair_hybrid.cpp @@ -923,7 +923,7 @@ again: } // if 2nd keyword (after pair) is compute/tally: - // set flag to register USER-TALLY computes accordingly + // set flag to register TALLY computes accordingly if (iarg < narg && strcmp(arg[iarg],"compute/tally") == 0) { if (narg < iarg+2) diff --git a/tools/README b/tools/README index f803123270..0f6f36e78a 100644 --- a/tools/README +++ b/tools/README @@ -25,7 +25,7 @@ eam_database one tool to generate EAM alloy potential files eam_generate 2nd tool to generate EAM alloy potential files eff scripts for working with the eFF (electron force field) emacs add-ons to EMACS editor for editing LAMMPS input scripts -fep scripts for free-energy perturbation with USER-FEP pkg +fep scripts for free-energy perturbation with FEP pkg i-pi Python wrapper for performing path-integral MD (PIMD) ipp input pre-processor Perl tool for creating input scripts kate add-ons to Kate editor for editing LAMMPS input scripts @@ -34,7 +34,7 @@ lmp2arc convert LAMMPS output to Accelrys Insight format lmp2cfg convert LAMMPS output to CFG files for AtomEye viz magic patterns to detect LAMMPS files with the file(1) command matlab MatLab scripts for post-processing LAMMPS output -mesont Tools for use with the USER-MESONT package +mesont Tools for use with the MESONT package micelle2d create a data file of small lipid chains in solvent moltemplate Instructions for installing the Moltemplate builder program msi2lmp use Accelrys Insight code to setup LAMMPS input diff --git a/tools/drude/polarizer.py b/tools/drude/polarizer.py index 3c17026387..d47ef0e05d 100755 --- a/tools/drude/polarizer.py +++ b/tools/drude/polarizer.py @@ -41,7 +41,7 @@ new bonds to the data file. It will also generate some commands to be included in the LAMMPS input script, which are related to the topology and force field, namely fix drude, pair_style and pair_coeff commands. For information on thermostating please -read the documentation of the USER-DRUDE package. +read the documentation of the DRUDE package. This tool can also be used to revert a Drude-polarized data file to a non-polarizable one. diff --git a/tools/fep/README b/tools/fep/README index ff319d5051..7fd4a8132c 100644 --- a/tools/fep/README +++ b/tools/fep/README @@ -1,4 +1,4 @@ -These are utility scripts provided as part of the USER-FEP package for +These are utility scripts provided as part of the FEP package for free energy perturbation simulations with soft-core pair potentials in LAMMPS. diff --git a/tools/mesont/README b/tools/mesont/README index 9a5289a449..d02679df51 100644 --- a/tools/mesont/README +++ b/tools/mesont/README @@ -1,9 +1,9 @@ -=== USER-MESONT tools === +=== MESONT tools === =============================== The programs in this folder can be used to analyze the output of simulations using the CNT mesoscopic force -field (USER-MESONT). +field (MESONT). dump2vtk.cpp converts output written in *.dump format (the sequence of columns must be "ATOMS id type x y z Es Eb Et diff --git a/unittest/cplusplus/test_lammps_class.cpp b/unittest/cplusplus/test_lammps_class.cpp index e0d2dcf14b..d25b232fa7 100644 --- a/unittest/cplusplus/test_lammps_class.cpp +++ b/unittest/cplusplus/test_lammps_class.cpp @@ -133,7 +133,7 @@ TEST_F(LAMMPS_plain, TestStyles) found = lmp->match_style("atom", "spin"); EXPECT_STREQ(found, "SPIN"); found = lmp->match_style("atom", "wavepacket"); - EXPECT_STREQ(found, "USER-AWPMD"); + EXPECT_STREQ(found, "AWPMD"); found = lmp->match_style("atom", "dpd"); EXPECT_STREQ(found, "DPD-REACT"); found = lmp->match_style("atom", "edpd"); @@ -147,7 +147,7 @@ TEST_F(LAMMPS_plain, TestStyles) found = lmp->match_style("atom", "smd"); EXPECT_STREQ(found, "MACHDYN"); found = lmp->match_style("atom", "sph"); - EXPECT_STREQ(found, "USER-SPH"); + EXPECT_STREQ(found, "SPH"); found = lmp->match_style("atom", "i_don't_exist"); EXPECT_STREQ(found, NULL); } diff --git a/unittest/force-styles/test_pair_style.cpp b/unittest/force-styles/test_pair_style.cpp index f21ebbdb61..939bf5dbb5 100644 --- a/unittest/force-styles/test_pair_style.cpp +++ b/unittest/force-styles/test_pair_style.cpp @@ -896,7 +896,7 @@ TEST(PairStyle, gpu) TEST(PairStyle, intel) { - if (!LAMMPS::is_installed_pkg("USER-INTEL")) GTEST_SKIP(); + if (!LAMMPS::is_installed_pkg("INTEL")) GTEST_SKIP(); if (test_config.skip_tests.count(test_info_->name())) GTEST_SKIP(); const char *args[] = {"PairStyle", "-log", "none", "-echo", "screen", "-nocite", @@ -924,7 +924,7 @@ TEST(PairStyle, intel) GTEST_SKIP(); } - // relax error a bit for USER-INTEL package + // relax error a bit for INTEL package double epsilon = 7.5 * test_config.epsilon; // relax test precision when using pppm and single precision FFTs #if defined(FFT_SINGLE) @@ -1010,7 +1010,7 @@ TEST(PairStyle, intel) EXPECT_FP_LE_WITH_EPS(pair->eng_vdwl, test_config.run_vdwl, epsilon); EXPECT_FP_LE_WITH_EPS(pair->eng_coul, test_config.run_coul, epsilon); - // rebo family of pair styles will have a large error in per-atom energy for USER-INTEL + // rebo family of pair styles will have a large error in per-atom energy for INTEL if (test_config.pair_style.find("rebo") != std::string::npos) epsilon *= 100000.0; EXPECT_FP_LE_WITH_EPS((pair->eng_vdwl + pair->eng_coul), energy, epsilon); diff --git a/unittest/python/python-capabilities.py b/unittest/python/python-capabilities.py index b3bc46afd3..a0b8bd2618 100644 --- a/unittest/python/python-capabilities.py +++ b/unittest/python/python-capabilities.py @@ -140,16 +140,16 @@ class PythonCapabilities(unittest.TestCase): self.assertIn('serial',settings['OPENMP']['api']) self.assertIn('double',settings['OPENMP']['precision']) - if self.cmake_cache['PKG_USER-INTEL']: + if self.cmake_cache['PKG_INTEL']: if 'LMP_INTEL_OFFLOAD' in self.cmake_cache.keys(): - self.assertIn('phi',settings['USER-INTEL']['api']) + self.assertIn('phi',settings['INTEL']['api']) elif self.cmake_cache['BUILD_OMP']: - self.assertIn('openmp',settings['USER-INTEL']['api']) + self.assertIn('openmp',settings['INTEL']['api']) else: - self.assertIn('serial',settings['USER-INTEL']['api']) - self.assertIn('double',settings['USER-INTEL']['precision']) - self.assertIn('mixed',settings['USER-INTEL']['precision']) - self.assertIn('single',settings['USER-INTEL']['precision']) + self.assertIn('serial',settings['INTEL']['api']) + self.assertIn('double',settings['INTEL']['precision']) + self.assertIn('mixed',settings['INTEL']['precision']) + self.assertIn('single',settings['INTEL']['precision']) if self.cmake_cache['PKG_GPU']: if self.cmake_cache['GPU_API'].lower() == 'opencl': From 9d208c9ebd37b4a62e8de77143f5bed2a8540dc3 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 29 Jun 2021 20:21:53 -0400 Subject: [PATCH 317/726] rename some examples folders --- doc/src/Examples.rst | 5 +++++ doc/src/Packages_details.rst | 6 +++--- doc/src/compute_basal_atom.rst | 2 +- doc/src/fix_dpd_energy.rst | 2 +- doc/src/fix_electron_stopping.rst | 2 +- doc/src/fix_grem.rst | 2 +- doc/src/fix_pafi.rst | 2 +- doc/src/fix_rhok.rst | 2 +- doc/src/fix_shardlow.rst | 2 +- doc/src/fix_wall_ees.rst | 2 +- doc/src/pair_agni.rst | 2 +- doc/src/pair_e3b.rst | 2 +- doc/src/pair_meam_sw_spline.rst | 2 +- examples/PACKAGES/{dpd => dpd-react}/README | 0 .../{dpd => dpd-react}/dpd-shardlow/data.dpd | 0 .../dpd-shardlow/in.dpd-shardlow | 0 .../dpd-shardlow/log.dpd-shardlow.reference | 0 .../PACKAGES/{dpd => dpd-react}/dpd-vv/data.dpd | 0 .../{dpd => dpd-react}/dpd-vv/in.dpd-vv | 0 .../dpd-vv/log.dpd-vv.reference | 0 .../{dpd => dpd-react}/dpde-shardlow/data.dpde | 0 .../dpde-shardlow/in.dpde-shardlow | 0 .../dpde-shardlow/log.dpde-shardlow.reference | 0 .../{dpd => dpd-react}/dpde-vv/data.dpd | 0 .../{dpd => dpd-react}/dpde-vv/in.dpde-vv | 0 .../dpde-vv/log.dpde-vv.reference | 0 .../{dpd => dpd-react}/dpdh-shardlow/data.dpdh | 0 .../dpdh-shardlow/in.dpdh-shardlow | 0 .../dpdh-shardlow/log.dpdh-shardlow.reference | 0 .../{dpd => dpd-react}/dpdp-shardlow/data.dpd | 0 .../dpdp-shardlow/in.dpdp-shardlow | 0 .../dpdp-shardlow/log.dpdp-shardlow.reference | 0 .../dpdrx-shardlow/in.dpdrx-shardlow | 0 .../dpdrx-shardlow/kinetics.dpdrx | 0 .../dpdrx-shardlow/log.dpdrx-shardlow.reference | 0 .../dpdrx-shardlow/params.exp6 | 0 .../{dpd => dpd-react}/dpdrx-shardlow/table.eos | 0 .../dpdrx-shardlow/thermo.dpdrx | 0 .../{dpd => dpd-react}/multi-lucy/in.multi-lucy | 0 .../multi-lucy/log.multi-lucy.reference | 0 .../multi-lucy/table.multibody | 0 .../2d-diffusion-in-shear-flow/in.lammps | 0 ...log.24Oct18.2d-diffusion-in-shear-flow.g++.1 | 0 ...log.24Oct18.2d-diffusion-in-shear-flow.g++.4 | 0 .../{sdpd => dpd-smooth}/2d-diffusion/in.lammps | 0 .../2d-diffusion/log.24Oct18.2d-diffusion.g++.1 | 0 .../2d-diffusion/log.24Oct18.2d-diffusion.g++.4 | 0 examples/PACKAGES/{sdpd => dpd-smooth}/README | 0 .../equipartition-verification/in.lammps | 0 .../log.24Oct18.equipartition.g++.1 | 0 .../log.24Oct18.equipartition.g++.4 | 0 examples/README | 17 ++++++++++++----- .../USER-MISC/addtorque/in.addtorque | 0 .../addtorque/log.9Nov16.addtorque.g++.1 | 0 .../addtorque/log.9Nov16.addtorque.g++.4 | 0 .../{PACKAGES => }/USER-MISC/agni/Al_jpc.agni | 0 .../{PACKAGES => }/USER-MISC/agni/adatom.data | 0 .../{PACKAGES => }/USER-MISC/agni/in.adatom | 0 .../{PACKAGES => }/USER-MISC/agni/in.vacancy | 0 .../USER-MISC/agni/log.20Jan21.adatom.g++.1 | 0 .../USER-MISC/agni/log.20Jan21.adatom.g++.4 | 0 .../USER-MISC/agni/log.20Jan21.vacancy.g++.1 | 0 .../USER-MISC/agni/log.20Jan21.vacancy.g++.4 | 0 .../{PACKAGES => }/USER-MISC/agni/vacancy.data | 0 .../{PACKAGES => }/USER-MISC/basal/almg.liu | 0 .../{PACKAGES => }/USER-MISC/basal/in.basal | 0 .../USER-MISC/cauchy/NiAlH_jea.eam.alloy | 0 examples/{PACKAGES => }/USER-MISC/cauchy/README | 0 .../USER-MISC/cauchy/in.cauchystat | 0 .../cauchy/log.2Jun2020.cauchystat.g++.1 | 0 .../USER-MISC/charge_regulation/README | 0 .../USER-MISC/charge_regulation/data.chreg-acid | 0 .../charge_regulation/data.chreg-acid-real | 0 .../charge_regulation/data.chreg-polymer | 0 .../USER-MISC/charge_regulation/in.chreg-acid | 0 .../charge_regulation/in.chreg-acid-real | 0 .../charge_regulation/in.chreg-polymer | 0 .../log.10Feb21.chreg-acid.g++.1 | 0 .../log.10Feb21.chreg-acid.g++.4 | 0 .../log.10Feb21.chreg-polymer.g++.1 | 0 .../log.10Feb21.chreg-polymer.g++.4 | 0 .../log.11Apr21.chreg-acid-real.g++.1 | 0 .../log.11Apr21.chreg-acid-real.g++.4 | 0 .../{PACKAGES => }/USER-MISC/cnp/Cu_Mishin1.eam | 0 examples/{PACKAGES => }/USER-MISC/cnp/in.cnp | 0 .../USER-MISC/cnp/log.31May17.cnp.g++.4 | 0 .../{PACKAGES => }/USER-MISC/dpd_ext/README | 0 .../USER-MISC/dpd_ext/dpdext/dpdext.data | 0 .../USER-MISC/dpd_ext/dpdext/in.dpdext | 0 .../dpd_ext/dpdext/log.10Mar21.dpdext.g++.1 | 0 .../dpd_ext/dpdext/log.10Mar21.dpdext.g++.4 | 0 .../USER-MISC/dpd_ext/dpdext_tstat/cg_spce.data | 0 .../dpd_ext/dpdext_tstat/cg_spce_table.pot | 0 .../USER-MISC/dpd_ext/dpdext_tstat/in.cg_spce | 0 .../dpdext_tstat/log.10Mar21.dpdext.g++.1 | 0 .../dpdext_tstat/log.10Mar21.dpdext.g++.4 | 0 examples/{PACKAGES => }/USER-MISC/drip/C.drip | 0 examples/{PACKAGES => }/USER-MISC/drip/CH.rebo | 0 .../{PACKAGES => }/USER-MISC/drip/README.txt | 0 examples/{PACKAGES => }/USER-MISC/drip/data.C | 0 examples/{PACKAGES => }/USER-MISC/drip/data.CH | 0 .../{PACKAGES => }/USER-MISC/drip/in.CH_drip | 0 .../{PACKAGES => }/USER-MISC/drip/in.C_drip | 0 .../USER-MISC/drip/log.30Apr19.CH_drip.g++.1 | 0 .../USER-MISC/drip/log.30Apr19.CH_drip.g++.4 | 0 .../USER-MISC/drip/log.30Apr19.C_drip.g++.1 | 0 .../USER-MISC/drip/log.30Apr19.C_drip.g++.4 | 0 examples/{PACKAGES => }/USER-MISC/e3b/README | 0 .../{PACKAGES => }/USER-MISC/e3b/e3b_box.data | 0 .../USER-MISC/e3b/in.e3b-tip4p2005 | 0 .../e3b/log.29Mar2019.e3b-tip4p2005.g++.1 | 0 .../e3b/log.29Mar2019.e3b-tip4p2005.g++.4 | 0 examples/{PACKAGES => }/USER-MISC/edip/Si.edip | 0 examples/{PACKAGES => }/USER-MISC/edip/SiC.edip | 0 examples/{PACKAGES => }/USER-MISC/edip/data.SiC | 0 .../{PACKAGES => }/USER-MISC/edip/in.edip-Si | 0 .../USER-MISC/edip/in.edip-Si-multi | 0 .../{PACKAGES => }/USER-MISC/edip/in.edip-SiC | 0 .../edip/log.4May2017.g++.edip-Si-multi.1 | 0 .../edip/log.4May2017.g++.edip-Si-multi.4 | 0 .../USER-MISC/edip/log.4May2017.g++.edip-Si.1 | 0 .../USER-MISC/edip/log.4May2017.g++.edip-Si.4 | 0 .../USER-MISC/edip/log.4May2017.g++.edip-SiC.1 | 0 .../USER-MISC/edip/log.4May2017.g++.edip-SiC.4 | 0 .../{PACKAGES => }/USER-MISC/ees/Data_region | 0 examples/{PACKAGES => }/USER-MISC/ees/Data_wall | 0 examples/{PACKAGES => }/USER-MISC/ees/README | 0 .../{PACKAGES => }/USER-MISC/ees/in.fix_wall | 0 .../USER-MISC/ees/in.fix_wall_region | 0 .../USER-MISC/ees/log.23Jun17.fix_wall.g++.1 | 0 .../USER-MISC/ees/log.23Jun17.fix_wall.g++.4 | 0 .../ees/log.23Jun17.fix_wall_region.g++.1 | 0 .../ees/log.23Jun17.fix_wall_region.g++.4 | 0 .../USER-MISC/electron_stopping/Si.Si.elstop | 0 .../USER-MISC/electron_stopping/Si.sw | 0 .../USER-MISC/electron_stopping/in.cascade_AlCu | 0 .../USER-MISC/electron_stopping/in.cascade_SiSi | 0 .../USER-MISC/electron_stopping/in.elstop | 0 .../USER-MISC/electron_stopping/in.elstop.only | 0 .../log.18Sep2020.cascade_AlCu.intel.1 | 0 .../log.18Sep2020.cascade_AlCu.intel.4 | 0 .../log.18Sep2020.cascade_SiSi.intel.1 | 0 .../log.18Sep2020.cascade_SiSi.intel.4 | 0 .../electron_stopping/log.20Mar19.elstop.g++.1 | 0 .../electron_stopping/log.20Mar19.elstop.g++.4 | 0 .../log.20Mar19.elstop.only.g++.1 | 0 .../log.20Mar19.elstop.only.g++.4 | 0 .../USER-MISC/entropy/Na_MendelevM_2014.eam.fs | 0 .../USER-MISC/entropy/data.interface | 0 .../{PACKAGES => }/USER-MISC/entropy/in.entropy | 0 .../USER-MISC/entropy/log.entropy | 0 examples/{PACKAGES => }/USER-MISC/extep/BN.data | 0 .../{PACKAGES => }/USER-MISC/extep/in.extep-bn | 0 .../USER-MISC/extep/log.23Oct17.extep-bn.g++.1 | 0 .../USER-MISC/extep/log.23Oct17.extep-bn.g++.4 | 0 .../USER-MISC/filter_corotate/data.bpti | 0 .../USER-MISC/filter_corotate/data.peptide | 0 .../USER-MISC/filter_corotate/in.bpti | 0 .../USER-MISC/filter_corotate/in.peptide | 0 .../filter_corotate/log.22Jun2017.bpti.g++.1 | 0 .../filter_corotate/log.22Jun2017.bpti.g++.4 | 0 .../filter_corotate/log.22Jun2017.peptide.g++.1 | 0 .../filter_corotate/log.22Jun2017.peptide.g++.4 | 0 .../{PACKAGES => }/USER-MISC/flow_gauss/README | 0 .../{PACKAGES => }/USER-MISC/flow_gauss/in.GD | 0 .../USER-MISC/flow_gauss/log.6Jul17.GD.g++.1 | 0 .../USER-MISC/flow_gauss/log.6Jul17.GD.g++.4 | 0 .../USER-MISC/flow_gauss/output-files/GD.out | 0 .../flow_gauss/output-files/Vy_profile | 0 .../flow_gauss/output-files/x_profiles | 0 .../USER-MISC/gauss_diel/data.gauss-diel | 0 .../USER-MISC/gauss_diel/in.gauss-diel | 0 .../USER-MISC/gauss_diel/in.gauss-diel-cg | 0 .../USER-MISC/gauss_diel/in.gauss-diel-split | 0 .../USER-MISC/gauss_diel/log.gauss-diel | 0 .../USER-MISC/gauss_diel/log.gauss-diel-cg | 0 .../USER-MISC/gauss_diel/log.gauss-diel-split | 0 .../USER-MISC/gle/data.h2o-quantum | 0 .../{PACKAGES => }/USER-MISC/gle/data.h2o-smart | 0 .../{PACKAGES => }/USER-MISC/gle/in.h2o-quantum | 0 .../{PACKAGES => }/USER-MISC/gle/in.h2o-smart | 0 .../USER-MISC/gle/log.h2o-quantum | 0 .../{PACKAGES => }/USER-MISC/gle/log.h2o-smart | 0 examples/{PACKAGES => }/USER-MISC/gle/qt-300k.A | 0 examples/{PACKAGES => }/USER-MISC/gle/qt-300k.C | 0 examples/{PACKAGES => }/USER-MISC/gle/smart.A | 0 examples/{PACKAGES => }/USER-MISC/grem/README | 0 .../USER-MISC/grem/lj-6rep/400/restart.init | 0 .../USER-MISC/grem/lj-6rep/405/restart.init | 0 .../USER-MISC/grem/lj-6rep/410/restart.init | 0 .../USER-MISC/grem/lj-6rep/415/restart.init | 0 .../USER-MISC/grem/lj-6rep/420/restart.init | 0 .../USER-MISC/grem/lj-6rep/425/restart.init | 0 .../USER-MISC/grem/lj-6rep/clean.sh | 0 .../USER-MISC/grem/lj-6rep/double-re-short.py | 0 .../USER-MISC/grem/lj-6rep/in.gREM | 0 .../USER-MISC/grem/lj-6rep/run.sh | 0 .../USER-MISC/grem/lj-6rep/walker.bkp | 0 .../USER-MISC/grem/lj-single/in.gREM-npt | 0 .../USER-MISC/grem/lj-single/in.gREM-nvt | 0 .../USER-MISC/grem/lj-single/lj.data | 0 .../grem/lj-single/log.gREM-npt.9Nov16.g++.1 | 0 .../grem/lj-single/log.gREM-npt.9Nov16.g++.4 | 0 .../grem/lj-single/log.gREM-nvt.9Nov16.g++.1 | 0 .../grem/lj-single/log.gREM-nvt.9Nov16.g++.4 | 0 .../USER-MISC/grem/lj-temper/0/lj.data | 0 .../USER-MISC/grem/lj-temper/0/log.lammps.0 | 0 .../USER-MISC/grem/lj-temper/1/lj.data | 0 .../USER-MISC/grem/lj-temper/1/log.lammps.1 | 0 .../USER-MISC/grem/lj-temper/2/lj.data | 0 .../USER-MISC/grem/lj-temper/2/log.lammps.2 | 0 .../USER-MISC/grem/lj-temper/3/lj.data | 0 .../USER-MISC/grem/lj-temper/3/log.lammps.3 | 0 .../USER-MISC/grem/lj-temper/in.gREM-temper | 0 examples/{PACKAGES => }/USER-MISC/hma/README | 0 examples/{PACKAGES => }/USER-MISC/hma/hma.in | 0 .../USER-MISC/hma/log.6Nov18.hma.g++.1 | 0 .../USER-MISC/hma/log.6Nov18.hma.g++.4 | 0 .../USER-MISC/ilp_graphene_hbn/BNC.tersoff | 0 .../USER-MISC/ilp_graphene_hbn/BNCH-old.ILP | 0 .../ilp_graphene_hbn/Bi_gr_AB_stack_2L_noH.data | 0 .../ilp_graphene_hbn/gr_hBN_Cstack_2L_noH.data | 0 .../hBN_AA_prime_stack_2L_noH.data | 0 .../hBN_AB_stack_2L_noH_equi_300K.data | 0 .../ilp_graphene_hbn/in.bilayer-graphene | 0 .../USER-MISC/ilp_graphene_hbn/in.bilayer-hBN | 0 .../USER-MISC/ilp_graphene_hbn/in.grhBN | 0 .../ilp_graphene_hbn/in.ilp_graphene_hbn | 0 .../log.31Jul19.bilayer-graphene.g++.1 | 0 .../log.31Jul19.bilayer-graphene.g++.4 | 0 .../log.31Jul19.bilayer-hBN.g++.1 | 0 .../log.31Jul19.bilayer-hBN.g++.4 | 0 .../ilp_graphene_hbn/log.31Jul19.grhBN.g++.1 | 0 .../ilp_graphene_hbn/log.31Jul19.grhBN.g++.4 | 0 .../log.31Jul19.ilp_graphene_hbn.g++.1 | 0 .../log.31Jul19.ilp_graphene_hbn.g++.4 | 0 examples/{PACKAGES => }/USER-MISC/imd/README | 0 .../USER-MISC/imd/bucky-plus-cnt-mol.psf | 0 .../USER-MISC/imd/bucky_cnt_imd.vmd | 0 .../USER-MISC/imd/data.bucky-plus-cnt | 0 .../USER-MISC/imd/data.deca-ala-solv | 0 .../USER-MISC/imd/deca-ala-solv.psf | 0 .../USER-MISC/imd/deca-ala-solv_imd-demo.vmd | 0 .../{PACKAGES => }/USER-MISC/imd/deca-ala.psf | 0 .../USER-MISC/imd/deca-ala_imd-demo.vmd | 0 .../{PACKAGES => }/USER-MISC/imd/falcon.tcl | 0 .../USER-MISC/imd/in.bucky-plus-cnt | 0 .../USER-MISC/imd/in.bucky-plus-cnt-gpu | 0 .../USER-MISC/imd/in.deca-ala-solv-filter_imd | 0 .../USER-MISC/imd/in.deca-ala-solv_imd | 0 .../USER-MISC/imd/in.deca-ala_imd | 0 .../USER-MISC/imd/in.deca-ala_imd-gpu | 0 .../{PACKAGES => }/USER-MISC/imd/in.melt_imd | 0 .../USER-MISC/imd/in.melt_imd-gpu | 0 examples/{PACKAGES => }/USER-MISC/imd/melt.psf | 0 .../USER-MISC/imd/melt_imd-demo.vmd | 0 .../{PACKAGES => }/USER-MISC/ipi/C.opt.tersoff | 0 examples/{PACKAGES => }/USER-MISC/ipi/README | 0 .../{PACKAGES => }/USER-MISC/ipi/data.graphene | 0 .../{PACKAGES => }/USER-MISC/ipi/i-pi_input.xml | 0 .../USER-MISC/ipi/i-pi_positions.xyz | 0 .../{PACKAGES => }/USER-MISC/ipi/in.graphene | 0 .../Bi_gr_AB_stack_2L_noH.data | 0 .../Bi_gr_AB_stack_2L_noH_300K.data | 0 .../USER-MISC/kolmogorov_crespi_full/CC.KC-full | 0 .../USER-MISC/kolmogorov_crespi_full/CH.KC | 0 .../USER-MISC/kolmogorov_crespi_full/CH.rebo | 0 .../kolmogorov_crespi_full/CH_taper.KC | 0 .../kolmogorov_crespi_full/in.bilayer-graphene | 0 .../log.5Jun19.bilayer-graphene.g++.1 | 0 .../log.5Jun19.bilayer-graphene.g++.4 | 0 .../log.5Jun19.bilayer-graphene.icc.1 | 0 .../log.5Jun19.bilayer-graphene.icc.4 | 0 .../USER-MISC/kolmogorov_crespi_z/CC.KC | 0 .../USER-MISC/kolmogorov_crespi_z/CH.rebo | 0 .../kolmogorov_crespi_z/data.bilayer-graphene | 0 .../kolmogorov_crespi_z/data.graphene-adsorbant | 0 .../kolmogorov_crespi_z/in.atom-diffusion | 0 .../kolmogorov_crespi_z/in.bilayer-graphene | 0 .../log.16Mar18.atom-diffusion.g++.1 | 0 .../log.16Mar18.atom-diffusion.g++.4 | 0 .../log.30Apr19.bilayer-graphene.g++.1 | 0 .../log.30Apr19.bilayer-graphene.g++.4 | 0 .../USER-MISC/lebedeva/2particles.dat | 0 .../USER-MISC/lebedeva/2particles.in | 0 .../USER-MISC/lebedeva/CC.Lebedeva | 0 .../USER-MISC/lebedeva/LammpsResult.dat | 0 .../{PACKAGES => }/USER-MISC/lebedeva/LebDer.pl | 0 .../USER-MISC/lebedeva/lebedeva00.plot | 0 .../benzene_water/benzene_water.data | 0 .../benzene_water/benzene_water.in | 0 .../benzene_water.localdensity.table | 0 .../benzene_water/benzene_water.pair.table | 0 .../benzene_water/log.04Sep19.g++.1 | 0 .../methanol_implicit_water/log.04Sep19.g++.1 | 0 .../methanol_implicit_water.data | 0 .../methanol_implicit_water.in | 0 .../methanol_implicit_water.localdensity.table | 0 .../methanol_implicit_water.pair.table | 0 .../USER-MISC/meam_spline/Si_1.meam.spline | 0 .../USER-MISC/meam_spline/TiO.meam.spline | 0 .../USER-MISC/meam_spline/in.meam-spline.Si | 0 .../USER-MISC/meam_spline/in.meam-spline.TiO2 | 0 .../log.4May2017.meam-spline.Si.g++.1 | 0 .../log.4May2017.meam-spline.Si.g++.4 | 0 .../log.4May2017.meam-spline.TiO2.g++.1 | 0 .../log.4May2017.meam-spline.TiO2.g++.4 | 0 .../USER-MISC/meam_sw_spline/Si/bcc.in | 0 .../USER-MISC/meam_sw_spline/Si/bcc_relax.in | 0 .../USER-MISC/meam_sw_spline/Si/dc.in | 0 .../USER-MISC/meam_sw_spline/Si/dc_relax.in | 0 .../Si/energy_conservation.meam.sw.in | 0 .../USER-MISC/meam_sw_spline/Si/fcc.in | 0 .../USER-MISC/meam_sw_spline/Si/fcc_relax.in | 0 .../USER-MISC/meam_sw_spline/Si/hcp_relax.in | 0 .../USER-MISC/meam_sw_spline/Si/sc.in | 0 .../USER-MISC/meam_sw_spline/Si/sc_relax.in | 0 .../USER-MISC/meam_sw_spline/Si/single_atom.in | 0 .../USER-MISC/meam_sw_spline/Ti/alpha.in | 0 .../meam_sw_spline/Ti/alpha_relaxation.in | 0 .../USER-MISC/meam_sw_spline/Ti/beta.in | 0 .../Ti/energy_conservation.meam.sw.in | 0 .../USER-MISC/meam_sw_spline/Ti/fcc.in | 0 .../USER-MISC/meam_sw_spline/Ti/hexagonal.in | 0 .../USER-MISC/meam_sw_spline/Ti/omega.in | 0 .../USER-MISC/meam_sw_spline/Ti/single_atom.in | 0 .../USER-MISC/momb/Ag_O1X5.5_O2X0.55.eam.fs | 0 examples/{PACKAGES => }/USER-MISC/momb/README | 0 .../{PACKAGES => }/USER-MISC/momb/in.system | 0 .../USER-MISC/momb/log.17Mar2017.system.g++.1 | 0 .../USER-MISC/momb/log.17Mar2017.system.g++.4 | 0 .../{PACKAGES => }/USER-MISC/momb/system.data | 0 .../USER-MISC/momentum/in.momentum | 0 examples/{PACKAGES => }/USER-MISC/mop/data.mop | 0 .../USER-MISC/mop/in.compute_stress_mop | 0 .../mop/log.5Sep18.compute_stress_mop.g++.1 | 0 .../mop/log.5Sep18.compute_stress_mop.g++.4 | 0 .../USER-MISC/mop/moppz.time.reference | 0 .../USER-MISC/mop/mopz0.time.reference | 0 .../USER-MISC/orient_eco/Ni_u3.eam | 0 .../USER-MISC/orient_eco/data.sigma5 | 0 .../USER-MISC/orient_eco/in.orient_eco | 0 .../orient_eco/log.2Jun2020.orent_eco.g++.1 | 0 .../orient_eco/log.2Jun2020.orent_eco.g++.4 | 0 .../USER-MISC/orient_eco/sigma5.ori | 0 .../{PACKAGES => }/USER-MISC/pafi/.gitignore | 0 examples/{PACKAGES => }/USER-MISC/pafi/README | 0 examples/{PACKAGES => }/USER-MISC/pafi/in.pafi | 0 .../USER-MISC/pafi/log.15Apr20.pafi.g++.1 | 0 .../USER-MISC/pafi/log.15Apr20.pafi.g++.4 | 0 .../USER-MISC/pafi/pafipath.4.data | 0 .../USER-MISC/pimd/para-h2/H2.data | 0 .../USER-MISC/pimd/para-h2/H2.xyz | 0 .../USER-MISC/pimd/para-h2/NM.info | 0 .../USER-MISC/pimd/para-h2/in.scp | 0 .../USER-MISC/pimd/para-h2/pair.table | 0 .../USER-MISC/pimd/para-h2/run.sh | 0 .../USER-MISC/pimd/para-h2/vmd.src | 0 .../USER-MISC/pimd/prot-hairpin/in.scp | 0 .../USER-MISC/pimd/prot-hairpin/run.sh | 0 .../USER-MISC/pimd/prot-hairpin/system.data | 0 .../{PACKAGES => }/USER-MISC/rhok/README.md | 0 .../{PACKAGES => }/USER-MISC/rhok/in.crystal | 0 .../{PACKAGES => }/USER-MISC/rhok/in.pinning | 0 examples/{PACKAGES => }/USER-MISC/rhok/in.setup | 0 .../USER-MISC/rhok/log.22Sep2017.crystal.g++.1 | 0 .../USER-MISC/rhok/log.22Sep2017.crystal.g++.4 | 0 .../USER-MISC/rhok/log.22Sep2017.pinning.g++.1 | 0 .../USER-MISC/rhok/log.22Sep2017.pinning.g++.4 | 0 .../USER-MISC/rhok/log.22Sep2017.setup.g++.1 | 0 .../USER-MISC/rhok/log.22Sep2017.setup.g++.4 | 0 .../USER-MISC/slater/data.after_equilibration | 0 .../USER-MISC/slater/data.after_production_run | 0 .../{PACKAGES => }/USER-MISC/slater/in.slater | 0 .../{PACKAGES => }/USER-MISC/slater/log.lammps | 0 .../{PACKAGES => }/USER-MISC/slater/tmp_1_1.rdf | 0 .../{PACKAGES => }/USER-MISC/slater/tmp_1_2.rdf | 0 .../{PACKAGES => }/USER-MISC/slater/tmp_1_3.rdf | 0 .../{PACKAGES => }/USER-MISC/slater/tmp_2_2.rdf | 0 .../{PACKAGES => }/USER-MISC/slater/tmp_2_3.rdf | 0 .../{PACKAGES => }/USER-MISC/slater/tmp_3_3.rdf | 0 .../{PACKAGES => }/USER-MISC/srp/data.chain | 0 examples/{PACKAGES => }/USER-MISC/srp/in.srp | 0 .../USER-MISC/temper_npt/data.peptide | 0 .../USER-MISC/temper_npt/in.temper_npt | 0 .../temper_npt/log.temper_npt-17Aug17.g++.8 | 0 .../temper_npt/log.temper_npt-17Aug17.g++.8.0 | 0 .../temper_npt/log.temper_npt-17Aug17.g++.8.1 | 0 .../temper_npt/log.temper_npt-17Aug17.g++.8.2 | 0 .../temper_npt/log.temper_npt-17Aug17.g++.8.3 | 0 .../temper_npt/log.temper_npt-17Aug17.g++.8.4 | 0 .../temper_npt/log.temper_npt-17Aug17.g++.8.5 | 0 .../temper_npt/log.temper_npt-17Aug17.g++.8.6 | 0 .../temper_npt/log.temper_npt-17Aug17.g++.8.7 | 0 .../{PACKAGES => }/USER-MISC/ti/in.ti_spring | 0 src/DPD-REACT/README | 2 +- 396 files changed, 32 insertions(+), 20 deletions(-) rename examples/PACKAGES/{dpd => dpd-react}/README (100%) rename examples/PACKAGES/{dpd => dpd-react}/dpd-shardlow/data.dpd (100%) rename examples/PACKAGES/{dpd => dpd-react}/dpd-shardlow/in.dpd-shardlow (100%) rename examples/PACKAGES/{dpd => dpd-react}/dpd-shardlow/log.dpd-shardlow.reference (100%) rename examples/PACKAGES/{dpd => dpd-react}/dpd-vv/data.dpd (100%) rename examples/PACKAGES/{dpd => dpd-react}/dpd-vv/in.dpd-vv (100%) rename examples/PACKAGES/{dpd => dpd-react}/dpd-vv/log.dpd-vv.reference (100%) rename examples/PACKAGES/{dpd => dpd-react}/dpde-shardlow/data.dpde (100%) rename examples/PACKAGES/{dpd => dpd-react}/dpde-shardlow/in.dpde-shardlow (100%) rename examples/PACKAGES/{dpd => dpd-react}/dpde-shardlow/log.dpde-shardlow.reference (100%) rename examples/PACKAGES/{dpd => dpd-react}/dpde-vv/data.dpd (100%) rename examples/PACKAGES/{dpd => dpd-react}/dpde-vv/in.dpde-vv (100%) rename examples/PACKAGES/{dpd => dpd-react}/dpde-vv/log.dpde-vv.reference (100%) rename examples/PACKAGES/{dpd => dpd-react}/dpdh-shardlow/data.dpdh (100%) rename examples/PACKAGES/{dpd => dpd-react}/dpdh-shardlow/in.dpdh-shardlow (100%) rename examples/PACKAGES/{dpd => dpd-react}/dpdh-shardlow/log.dpdh-shardlow.reference (100%) rename examples/PACKAGES/{dpd => dpd-react}/dpdp-shardlow/data.dpd (100%) rename examples/PACKAGES/{dpd => dpd-react}/dpdp-shardlow/in.dpdp-shardlow (100%) rename examples/PACKAGES/{dpd => dpd-react}/dpdp-shardlow/log.dpdp-shardlow.reference (100%) rename examples/PACKAGES/{dpd => dpd-react}/dpdrx-shardlow/in.dpdrx-shardlow (100%) rename examples/PACKAGES/{dpd => dpd-react}/dpdrx-shardlow/kinetics.dpdrx (100%) rename examples/PACKAGES/{dpd => dpd-react}/dpdrx-shardlow/log.dpdrx-shardlow.reference (100%) rename examples/PACKAGES/{dpd => dpd-react}/dpdrx-shardlow/params.exp6 (100%) rename examples/PACKAGES/{dpd => dpd-react}/dpdrx-shardlow/table.eos (100%) rename examples/PACKAGES/{dpd => dpd-react}/dpdrx-shardlow/thermo.dpdrx (100%) rename examples/PACKAGES/{dpd => dpd-react}/multi-lucy/in.multi-lucy (100%) rename examples/PACKAGES/{dpd => dpd-react}/multi-lucy/log.multi-lucy.reference (100%) rename examples/PACKAGES/{dpd => dpd-react}/multi-lucy/table.multibody (100%) rename examples/PACKAGES/{sdpd => dpd-smooth}/2d-diffusion-in-shear-flow/in.lammps (100%) rename examples/PACKAGES/{sdpd => dpd-smooth}/2d-diffusion-in-shear-flow/log.24Oct18.2d-diffusion-in-shear-flow.g++.1 (100%) rename examples/PACKAGES/{sdpd => dpd-smooth}/2d-diffusion-in-shear-flow/log.24Oct18.2d-diffusion-in-shear-flow.g++.4 (100%) rename examples/PACKAGES/{sdpd => dpd-smooth}/2d-diffusion/in.lammps (100%) rename examples/PACKAGES/{sdpd => dpd-smooth}/2d-diffusion/log.24Oct18.2d-diffusion.g++.1 (100%) rename examples/PACKAGES/{sdpd => dpd-smooth}/2d-diffusion/log.24Oct18.2d-diffusion.g++.4 (100%) rename examples/PACKAGES/{sdpd => dpd-smooth}/README (100%) rename examples/PACKAGES/{sdpd => dpd-smooth}/equipartition-verification/in.lammps (100%) rename examples/PACKAGES/{sdpd => dpd-smooth}/equipartition-verification/log.24Oct18.equipartition.g++.1 (100%) rename examples/PACKAGES/{sdpd => dpd-smooth}/equipartition-verification/log.24Oct18.equipartition.g++.4 (100%) rename examples/{PACKAGES => }/USER-MISC/addtorque/in.addtorque (100%) rename examples/{PACKAGES => }/USER-MISC/addtorque/log.9Nov16.addtorque.g++.1 (100%) rename examples/{PACKAGES => }/USER-MISC/addtorque/log.9Nov16.addtorque.g++.4 (100%) rename examples/{PACKAGES => }/USER-MISC/agni/Al_jpc.agni (100%) rename examples/{PACKAGES => }/USER-MISC/agni/adatom.data (100%) rename examples/{PACKAGES => }/USER-MISC/agni/in.adatom (100%) rename examples/{PACKAGES => }/USER-MISC/agni/in.vacancy (100%) rename examples/{PACKAGES => }/USER-MISC/agni/log.20Jan21.adatom.g++.1 (100%) rename examples/{PACKAGES => }/USER-MISC/agni/log.20Jan21.adatom.g++.4 (100%) rename examples/{PACKAGES => }/USER-MISC/agni/log.20Jan21.vacancy.g++.1 (100%) rename examples/{PACKAGES => }/USER-MISC/agni/log.20Jan21.vacancy.g++.4 (100%) rename examples/{PACKAGES => }/USER-MISC/agni/vacancy.data (100%) rename examples/{PACKAGES => }/USER-MISC/basal/almg.liu (100%) rename examples/{PACKAGES => }/USER-MISC/basal/in.basal (100%) rename examples/{PACKAGES => }/USER-MISC/cauchy/NiAlH_jea.eam.alloy (100%) rename examples/{PACKAGES => }/USER-MISC/cauchy/README (100%) rename examples/{PACKAGES => }/USER-MISC/cauchy/in.cauchystat (100%) rename examples/{PACKAGES => }/USER-MISC/cauchy/log.2Jun2020.cauchystat.g++.1 (100%) rename examples/{PACKAGES => }/USER-MISC/charge_regulation/README (100%) rename examples/{PACKAGES => }/USER-MISC/charge_regulation/data.chreg-acid (100%) rename examples/{PACKAGES => }/USER-MISC/charge_regulation/data.chreg-acid-real (100%) rename examples/{PACKAGES => }/USER-MISC/charge_regulation/data.chreg-polymer (100%) rename examples/{PACKAGES => }/USER-MISC/charge_regulation/in.chreg-acid (100%) rename examples/{PACKAGES => }/USER-MISC/charge_regulation/in.chreg-acid-real (100%) rename examples/{PACKAGES => }/USER-MISC/charge_regulation/in.chreg-polymer (100%) rename examples/{PACKAGES => }/USER-MISC/charge_regulation/log.10Feb21.chreg-acid.g++.1 (100%) rename examples/{PACKAGES => }/USER-MISC/charge_regulation/log.10Feb21.chreg-acid.g++.4 (100%) rename examples/{PACKAGES => }/USER-MISC/charge_regulation/log.10Feb21.chreg-polymer.g++.1 (100%) rename examples/{PACKAGES => }/USER-MISC/charge_regulation/log.10Feb21.chreg-polymer.g++.4 (100%) rename examples/{PACKAGES => }/USER-MISC/charge_regulation/log.11Apr21.chreg-acid-real.g++.1 (100%) rename examples/{PACKAGES => }/USER-MISC/charge_regulation/log.11Apr21.chreg-acid-real.g++.4 (100%) rename examples/{PACKAGES => }/USER-MISC/cnp/Cu_Mishin1.eam (100%) rename examples/{PACKAGES => }/USER-MISC/cnp/in.cnp (100%) rename examples/{PACKAGES => }/USER-MISC/cnp/log.31May17.cnp.g++.4 (100%) rename examples/{PACKAGES => }/USER-MISC/dpd_ext/README (100%) rename examples/{PACKAGES => }/USER-MISC/dpd_ext/dpdext/dpdext.data (100%) rename examples/{PACKAGES => }/USER-MISC/dpd_ext/dpdext/in.dpdext (100%) rename examples/{PACKAGES => }/USER-MISC/dpd_ext/dpdext/log.10Mar21.dpdext.g++.1 (100%) rename examples/{PACKAGES => }/USER-MISC/dpd_ext/dpdext/log.10Mar21.dpdext.g++.4 (100%) rename examples/{PACKAGES => }/USER-MISC/dpd_ext/dpdext_tstat/cg_spce.data (100%) rename examples/{PACKAGES => }/USER-MISC/dpd_ext/dpdext_tstat/cg_spce_table.pot (100%) rename examples/{PACKAGES => }/USER-MISC/dpd_ext/dpdext_tstat/in.cg_spce (100%) rename examples/{PACKAGES => }/USER-MISC/dpd_ext/dpdext_tstat/log.10Mar21.dpdext.g++.1 (100%) rename examples/{PACKAGES => }/USER-MISC/dpd_ext/dpdext_tstat/log.10Mar21.dpdext.g++.4 (100%) rename examples/{PACKAGES => }/USER-MISC/drip/C.drip (100%) rename examples/{PACKAGES => }/USER-MISC/drip/CH.rebo (100%) rename examples/{PACKAGES => }/USER-MISC/drip/README.txt (100%) rename examples/{PACKAGES => }/USER-MISC/drip/data.C (100%) rename examples/{PACKAGES => }/USER-MISC/drip/data.CH (100%) rename examples/{PACKAGES => }/USER-MISC/drip/in.CH_drip (100%) rename examples/{PACKAGES => }/USER-MISC/drip/in.C_drip (100%) rename examples/{PACKAGES => }/USER-MISC/drip/log.30Apr19.CH_drip.g++.1 (100%) rename examples/{PACKAGES => }/USER-MISC/drip/log.30Apr19.CH_drip.g++.4 (100%) rename examples/{PACKAGES => }/USER-MISC/drip/log.30Apr19.C_drip.g++.1 (100%) rename examples/{PACKAGES => }/USER-MISC/drip/log.30Apr19.C_drip.g++.4 (100%) rename examples/{PACKAGES => }/USER-MISC/e3b/README (100%) rename examples/{PACKAGES => }/USER-MISC/e3b/e3b_box.data (100%) rename examples/{PACKAGES => }/USER-MISC/e3b/in.e3b-tip4p2005 (100%) rename examples/{PACKAGES => }/USER-MISC/e3b/log.29Mar2019.e3b-tip4p2005.g++.1 (100%) rename examples/{PACKAGES => }/USER-MISC/e3b/log.29Mar2019.e3b-tip4p2005.g++.4 (100%) rename examples/{PACKAGES => }/USER-MISC/edip/Si.edip (100%) rename examples/{PACKAGES => }/USER-MISC/edip/SiC.edip (100%) rename examples/{PACKAGES => }/USER-MISC/edip/data.SiC (100%) rename examples/{PACKAGES => }/USER-MISC/edip/in.edip-Si (100%) rename examples/{PACKAGES => }/USER-MISC/edip/in.edip-Si-multi (100%) rename examples/{PACKAGES => }/USER-MISC/edip/in.edip-SiC (100%) rename examples/{PACKAGES => }/USER-MISC/edip/log.4May2017.g++.edip-Si-multi.1 (100%) rename examples/{PACKAGES => }/USER-MISC/edip/log.4May2017.g++.edip-Si-multi.4 (100%) rename examples/{PACKAGES => }/USER-MISC/edip/log.4May2017.g++.edip-Si.1 (100%) rename examples/{PACKAGES => }/USER-MISC/edip/log.4May2017.g++.edip-Si.4 (100%) rename examples/{PACKAGES => }/USER-MISC/edip/log.4May2017.g++.edip-SiC.1 (100%) rename examples/{PACKAGES => }/USER-MISC/edip/log.4May2017.g++.edip-SiC.4 (100%) rename examples/{PACKAGES => }/USER-MISC/ees/Data_region (100%) rename examples/{PACKAGES => }/USER-MISC/ees/Data_wall (100%) rename examples/{PACKAGES => }/USER-MISC/ees/README (100%) rename examples/{PACKAGES => }/USER-MISC/ees/in.fix_wall (100%) rename examples/{PACKAGES => }/USER-MISC/ees/in.fix_wall_region (100%) rename examples/{PACKAGES => }/USER-MISC/ees/log.23Jun17.fix_wall.g++.1 (100%) rename examples/{PACKAGES => }/USER-MISC/ees/log.23Jun17.fix_wall.g++.4 (100%) rename examples/{PACKAGES => }/USER-MISC/ees/log.23Jun17.fix_wall_region.g++.1 (100%) rename examples/{PACKAGES => }/USER-MISC/ees/log.23Jun17.fix_wall_region.g++.4 (100%) rename examples/{PACKAGES => }/USER-MISC/electron_stopping/Si.Si.elstop (100%) rename examples/{PACKAGES => }/USER-MISC/electron_stopping/Si.sw (100%) rename examples/{PACKAGES => }/USER-MISC/electron_stopping/in.cascade_AlCu (100%) rename examples/{PACKAGES => }/USER-MISC/electron_stopping/in.cascade_SiSi (100%) rename examples/{PACKAGES => }/USER-MISC/electron_stopping/in.elstop (100%) rename examples/{PACKAGES => }/USER-MISC/electron_stopping/in.elstop.only (100%) rename examples/{PACKAGES => }/USER-MISC/electron_stopping/log.18Sep2020.cascade_AlCu.intel.1 (100%) rename examples/{PACKAGES => }/USER-MISC/electron_stopping/log.18Sep2020.cascade_AlCu.intel.4 (100%) rename examples/{PACKAGES => }/USER-MISC/electron_stopping/log.18Sep2020.cascade_SiSi.intel.1 (100%) rename examples/{PACKAGES => }/USER-MISC/electron_stopping/log.18Sep2020.cascade_SiSi.intel.4 (100%) rename examples/{PACKAGES => }/USER-MISC/electron_stopping/log.20Mar19.elstop.g++.1 (100%) rename examples/{PACKAGES => }/USER-MISC/electron_stopping/log.20Mar19.elstop.g++.4 (100%) rename examples/{PACKAGES => }/USER-MISC/electron_stopping/log.20Mar19.elstop.only.g++.1 (100%) rename examples/{PACKAGES => }/USER-MISC/electron_stopping/log.20Mar19.elstop.only.g++.4 (100%) rename examples/{PACKAGES => }/USER-MISC/entropy/Na_MendelevM_2014.eam.fs (100%) rename examples/{PACKAGES => }/USER-MISC/entropy/data.interface (100%) rename examples/{PACKAGES => }/USER-MISC/entropy/in.entropy (100%) rename examples/{PACKAGES => }/USER-MISC/entropy/log.entropy (100%) rename examples/{PACKAGES => }/USER-MISC/extep/BN.data (100%) rename examples/{PACKAGES => }/USER-MISC/extep/in.extep-bn (100%) rename examples/{PACKAGES => }/USER-MISC/extep/log.23Oct17.extep-bn.g++.1 (100%) rename examples/{PACKAGES => }/USER-MISC/extep/log.23Oct17.extep-bn.g++.4 (100%) rename examples/{PACKAGES => }/USER-MISC/filter_corotate/data.bpti (100%) rename examples/{PACKAGES => }/USER-MISC/filter_corotate/data.peptide (100%) rename examples/{PACKAGES => }/USER-MISC/filter_corotate/in.bpti (100%) rename examples/{PACKAGES => }/USER-MISC/filter_corotate/in.peptide (100%) rename examples/{PACKAGES => }/USER-MISC/filter_corotate/log.22Jun2017.bpti.g++.1 (100%) rename examples/{PACKAGES => }/USER-MISC/filter_corotate/log.22Jun2017.bpti.g++.4 (100%) rename examples/{PACKAGES => }/USER-MISC/filter_corotate/log.22Jun2017.peptide.g++.1 (100%) rename examples/{PACKAGES => }/USER-MISC/filter_corotate/log.22Jun2017.peptide.g++.4 (100%) rename examples/{PACKAGES => }/USER-MISC/flow_gauss/README (100%) rename examples/{PACKAGES => }/USER-MISC/flow_gauss/in.GD (100%) rename examples/{PACKAGES => }/USER-MISC/flow_gauss/log.6Jul17.GD.g++.1 (100%) rename examples/{PACKAGES => }/USER-MISC/flow_gauss/log.6Jul17.GD.g++.4 (100%) rename examples/{PACKAGES => }/USER-MISC/flow_gauss/output-files/GD.out (100%) rename examples/{PACKAGES => }/USER-MISC/flow_gauss/output-files/Vy_profile (100%) rename examples/{PACKAGES => }/USER-MISC/flow_gauss/output-files/x_profiles (100%) rename examples/{PACKAGES => }/USER-MISC/gauss_diel/data.gauss-diel (100%) rename examples/{PACKAGES => }/USER-MISC/gauss_diel/in.gauss-diel (100%) rename examples/{PACKAGES => }/USER-MISC/gauss_diel/in.gauss-diel-cg (100%) rename examples/{PACKAGES => }/USER-MISC/gauss_diel/in.gauss-diel-split (100%) rename examples/{PACKAGES => }/USER-MISC/gauss_diel/log.gauss-diel (100%) rename examples/{PACKAGES => }/USER-MISC/gauss_diel/log.gauss-diel-cg (100%) rename examples/{PACKAGES => }/USER-MISC/gauss_diel/log.gauss-diel-split (100%) rename examples/{PACKAGES => }/USER-MISC/gle/data.h2o-quantum (100%) rename examples/{PACKAGES => }/USER-MISC/gle/data.h2o-smart (100%) rename examples/{PACKAGES => }/USER-MISC/gle/in.h2o-quantum (100%) rename examples/{PACKAGES => }/USER-MISC/gle/in.h2o-smart (100%) rename examples/{PACKAGES => }/USER-MISC/gle/log.h2o-quantum (100%) rename examples/{PACKAGES => }/USER-MISC/gle/log.h2o-smart (100%) rename examples/{PACKAGES => }/USER-MISC/gle/qt-300k.A (100%) rename examples/{PACKAGES => }/USER-MISC/gle/qt-300k.C (100%) rename examples/{PACKAGES => }/USER-MISC/gle/smart.A (100%) rename examples/{PACKAGES => }/USER-MISC/grem/README (100%) rename examples/{PACKAGES => }/USER-MISC/grem/lj-6rep/400/restart.init (100%) rename examples/{PACKAGES => }/USER-MISC/grem/lj-6rep/405/restart.init (100%) rename examples/{PACKAGES => }/USER-MISC/grem/lj-6rep/410/restart.init (100%) rename examples/{PACKAGES => }/USER-MISC/grem/lj-6rep/415/restart.init (100%) rename examples/{PACKAGES => }/USER-MISC/grem/lj-6rep/420/restart.init (100%) rename examples/{PACKAGES => }/USER-MISC/grem/lj-6rep/425/restart.init (100%) rename examples/{PACKAGES => }/USER-MISC/grem/lj-6rep/clean.sh (100%) rename examples/{PACKAGES => }/USER-MISC/grem/lj-6rep/double-re-short.py (100%) rename examples/{PACKAGES => }/USER-MISC/grem/lj-6rep/in.gREM (100%) rename examples/{PACKAGES => }/USER-MISC/grem/lj-6rep/run.sh (100%) rename examples/{PACKAGES => }/USER-MISC/grem/lj-6rep/walker.bkp (100%) rename examples/{PACKAGES => }/USER-MISC/grem/lj-single/in.gREM-npt (100%) rename examples/{PACKAGES => }/USER-MISC/grem/lj-single/in.gREM-nvt (100%) rename examples/{PACKAGES => }/USER-MISC/grem/lj-single/lj.data (100%) rename examples/{PACKAGES => }/USER-MISC/grem/lj-single/log.gREM-npt.9Nov16.g++.1 (100%) rename examples/{PACKAGES => }/USER-MISC/grem/lj-single/log.gREM-npt.9Nov16.g++.4 (100%) rename examples/{PACKAGES => }/USER-MISC/grem/lj-single/log.gREM-nvt.9Nov16.g++.1 (100%) rename examples/{PACKAGES => }/USER-MISC/grem/lj-single/log.gREM-nvt.9Nov16.g++.4 (100%) rename examples/{PACKAGES => }/USER-MISC/grem/lj-temper/0/lj.data (100%) rename examples/{PACKAGES => }/USER-MISC/grem/lj-temper/0/log.lammps.0 (100%) rename examples/{PACKAGES => }/USER-MISC/grem/lj-temper/1/lj.data (100%) rename examples/{PACKAGES => }/USER-MISC/grem/lj-temper/1/log.lammps.1 (100%) rename examples/{PACKAGES => }/USER-MISC/grem/lj-temper/2/lj.data (100%) rename examples/{PACKAGES => }/USER-MISC/grem/lj-temper/2/log.lammps.2 (100%) rename examples/{PACKAGES => }/USER-MISC/grem/lj-temper/3/lj.data (100%) rename examples/{PACKAGES => }/USER-MISC/grem/lj-temper/3/log.lammps.3 (100%) rename examples/{PACKAGES => }/USER-MISC/grem/lj-temper/in.gREM-temper (100%) rename examples/{PACKAGES => }/USER-MISC/hma/README (100%) rename examples/{PACKAGES => }/USER-MISC/hma/hma.in (100%) rename examples/{PACKAGES => }/USER-MISC/hma/log.6Nov18.hma.g++.1 (100%) rename examples/{PACKAGES => }/USER-MISC/hma/log.6Nov18.hma.g++.4 (100%) rename examples/{PACKAGES => }/USER-MISC/ilp_graphene_hbn/BNC.tersoff (100%) rename examples/{PACKAGES => }/USER-MISC/ilp_graphene_hbn/BNCH-old.ILP (100%) rename examples/{PACKAGES => }/USER-MISC/ilp_graphene_hbn/Bi_gr_AB_stack_2L_noH.data (100%) rename examples/{PACKAGES => }/USER-MISC/ilp_graphene_hbn/gr_hBN_Cstack_2L_noH.data (100%) rename examples/{PACKAGES => }/USER-MISC/ilp_graphene_hbn/hBN_AA_prime_stack_2L_noH.data (100%) rename examples/{PACKAGES => }/USER-MISC/ilp_graphene_hbn/hBN_AB_stack_2L_noH_equi_300K.data (100%) rename examples/{PACKAGES => }/USER-MISC/ilp_graphene_hbn/in.bilayer-graphene (100%) rename examples/{PACKAGES => }/USER-MISC/ilp_graphene_hbn/in.bilayer-hBN (100%) rename examples/{PACKAGES => }/USER-MISC/ilp_graphene_hbn/in.grhBN (100%) rename examples/{PACKAGES => }/USER-MISC/ilp_graphene_hbn/in.ilp_graphene_hbn (100%) rename examples/{PACKAGES => }/USER-MISC/ilp_graphene_hbn/log.31Jul19.bilayer-graphene.g++.1 (100%) rename examples/{PACKAGES => }/USER-MISC/ilp_graphene_hbn/log.31Jul19.bilayer-graphene.g++.4 (100%) rename examples/{PACKAGES => }/USER-MISC/ilp_graphene_hbn/log.31Jul19.bilayer-hBN.g++.1 (100%) rename examples/{PACKAGES => }/USER-MISC/ilp_graphene_hbn/log.31Jul19.bilayer-hBN.g++.4 (100%) rename examples/{PACKAGES => }/USER-MISC/ilp_graphene_hbn/log.31Jul19.grhBN.g++.1 (100%) rename examples/{PACKAGES => }/USER-MISC/ilp_graphene_hbn/log.31Jul19.grhBN.g++.4 (100%) rename examples/{PACKAGES => }/USER-MISC/ilp_graphene_hbn/log.31Jul19.ilp_graphene_hbn.g++.1 (100%) rename examples/{PACKAGES => }/USER-MISC/ilp_graphene_hbn/log.31Jul19.ilp_graphene_hbn.g++.4 (100%) rename examples/{PACKAGES => }/USER-MISC/imd/README (100%) rename examples/{PACKAGES => }/USER-MISC/imd/bucky-plus-cnt-mol.psf (100%) rename examples/{PACKAGES => }/USER-MISC/imd/bucky_cnt_imd.vmd (100%) rename examples/{PACKAGES => }/USER-MISC/imd/data.bucky-plus-cnt (100%) rename examples/{PACKAGES => }/USER-MISC/imd/data.deca-ala-solv (100%) rename examples/{PACKAGES => }/USER-MISC/imd/deca-ala-solv.psf (100%) rename examples/{PACKAGES => }/USER-MISC/imd/deca-ala-solv_imd-demo.vmd (100%) rename examples/{PACKAGES => }/USER-MISC/imd/deca-ala.psf (100%) rename examples/{PACKAGES => }/USER-MISC/imd/deca-ala_imd-demo.vmd (100%) rename examples/{PACKAGES => }/USER-MISC/imd/falcon.tcl (100%) rename examples/{PACKAGES => }/USER-MISC/imd/in.bucky-plus-cnt (100%) rename examples/{PACKAGES => }/USER-MISC/imd/in.bucky-plus-cnt-gpu (100%) rename examples/{PACKAGES => }/USER-MISC/imd/in.deca-ala-solv-filter_imd (100%) rename examples/{PACKAGES => }/USER-MISC/imd/in.deca-ala-solv_imd (100%) rename examples/{PACKAGES => }/USER-MISC/imd/in.deca-ala_imd (100%) rename examples/{PACKAGES => }/USER-MISC/imd/in.deca-ala_imd-gpu (100%) rename examples/{PACKAGES => }/USER-MISC/imd/in.melt_imd (100%) rename examples/{PACKAGES => }/USER-MISC/imd/in.melt_imd-gpu (100%) rename examples/{PACKAGES => }/USER-MISC/imd/melt.psf (100%) rename examples/{PACKAGES => }/USER-MISC/imd/melt_imd-demo.vmd (100%) rename examples/{PACKAGES => }/USER-MISC/ipi/C.opt.tersoff (100%) rename examples/{PACKAGES => }/USER-MISC/ipi/README (100%) rename examples/{PACKAGES => }/USER-MISC/ipi/data.graphene (100%) rename examples/{PACKAGES => }/USER-MISC/ipi/i-pi_input.xml (100%) rename examples/{PACKAGES => }/USER-MISC/ipi/i-pi_positions.xyz (100%) rename examples/{PACKAGES => }/USER-MISC/ipi/in.graphene (100%) rename examples/{PACKAGES => }/USER-MISC/kolmogorov_crespi_full/Bi_gr_AB_stack_2L_noH.data (100%) rename examples/{PACKAGES => }/USER-MISC/kolmogorov_crespi_full/Bi_gr_AB_stack_2L_noH_300K.data (100%) rename examples/{PACKAGES => }/USER-MISC/kolmogorov_crespi_full/CC.KC-full (100%) rename examples/{PACKAGES => }/USER-MISC/kolmogorov_crespi_full/CH.KC (100%) rename examples/{PACKAGES => }/USER-MISC/kolmogorov_crespi_full/CH.rebo (100%) rename examples/{PACKAGES => }/USER-MISC/kolmogorov_crespi_full/CH_taper.KC (100%) rename examples/{PACKAGES => }/USER-MISC/kolmogorov_crespi_full/in.bilayer-graphene (100%) rename examples/{PACKAGES => }/USER-MISC/kolmogorov_crespi_full/log.5Jun19.bilayer-graphene.g++.1 (100%) rename examples/{PACKAGES => }/USER-MISC/kolmogorov_crespi_full/log.5Jun19.bilayer-graphene.g++.4 (100%) rename examples/{PACKAGES => }/USER-MISC/kolmogorov_crespi_full/log.5Jun19.bilayer-graphene.icc.1 (100%) rename examples/{PACKAGES => }/USER-MISC/kolmogorov_crespi_full/log.5Jun19.bilayer-graphene.icc.4 (100%) rename examples/{PACKAGES => }/USER-MISC/kolmogorov_crespi_z/CC.KC (100%) rename examples/{PACKAGES => }/USER-MISC/kolmogorov_crespi_z/CH.rebo (100%) rename examples/{PACKAGES => }/USER-MISC/kolmogorov_crespi_z/data.bilayer-graphene (100%) rename examples/{PACKAGES => }/USER-MISC/kolmogorov_crespi_z/data.graphene-adsorbant (100%) rename examples/{PACKAGES => }/USER-MISC/kolmogorov_crespi_z/in.atom-diffusion (100%) rename examples/{PACKAGES => }/USER-MISC/kolmogorov_crespi_z/in.bilayer-graphene (100%) rename examples/{PACKAGES => }/USER-MISC/kolmogorov_crespi_z/log.16Mar18.atom-diffusion.g++.1 (100%) rename examples/{PACKAGES => }/USER-MISC/kolmogorov_crespi_z/log.16Mar18.atom-diffusion.g++.4 (100%) rename examples/{PACKAGES => }/USER-MISC/kolmogorov_crespi_z/log.30Apr19.bilayer-graphene.g++.1 (100%) rename examples/{PACKAGES => }/USER-MISC/kolmogorov_crespi_z/log.30Apr19.bilayer-graphene.g++.4 (100%) rename examples/{PACKAGES => }/USER-MISC/lebedeva/2particles.dat (100%) rename examples/{PACKAGES => }/USER-MISC/lebedeva/2particles.in (100%) rename examples/{PACKAGES => }/USER-MISC/lebedeva/CC.Lebedeva (100%) rename examples/{PACKAGES => }/USER-MISC/lebedeva/LammpsResult.dat (100%) rename examples/{PACKAGES => }/USER-MISC/lebedeva/LebDer.pl (100%) rename examples/{PACKAGES => }/USER-MISC/lebedeva/lebedeva00.plot (100%) rename examples/{PACKAGES => }/USER-MISC/local_density/benzene_water/benzene_water.data (100%) rename examples/{PACKAGES => }/USER-MISC/local_density/benzene_water/benzene_water.in (100%) rename examples/{PACKAGES => }/USER-MISC/local_density/benzene_water/benzene_water.localdensity.table (100%) rename examples/{PACKAGES => }/USER-MISC/local_density/benzene_water/benzene_water.pair.table (100%) rename examples/{PACKAGES => }/USER-MISC/local_density/benzene_water/log.04Sep19.g++.1 (100%) rename examples/{PACKAGES => }/USER-MISC/local_density/methanol_implicit_water/log.04Sep19.g++.1 (100%) rename examples/{PACKAGES => }/USER-MISC/local_density/methanol_implicit_water/methanol_implicit_water.data (100%) rename examples/{PACKAGES => }/USER-MISC/local_density/methanol_implicit_water/methanol_implicit_water.in (100%) rename examples/{PACKAGES => }/USER-MISC/local_density/methanol_implicit_water/methanol_implicit_water.localdensity.table (100%) rename examples/{PACKAGES => }/USER-MISC/local_density/methanol_implicit_water/methanol_implicit_water.pair.table (100%) rename examples/{PACKAGES => }/USER-MISC/meam_spline/Si_1.meam.spline (100%) rename examples/{PACKAGES => }/USER-MISC/meam_spline/TiO.meam.spline (100%) rename examples/{PACKAGES => }/USER-MISC/meam_spline/in.meam-spline.Si (100%) rename examples/{PACKAGES => }/USER-MISC/meam_spline/in.meam-spline.TiO2 (100%) rename examples/{PACKAGES => }/USER-MISC/meam_spline/log.4May2017.meam-spline.Si.g++.1 (100%) rename examples/{PACKAGES => }/USER-MISC/meam_spline/log.4May2017.meam-spline.Si.g++.4 (100%) rename examples/{PACKAGES => }/USER-MISC/meam_spline/log.4May2017.meam-spline.TiO2.g++.1 (100%) rename examples/{PACKAGES => }/USER-MISC/meam_spline/log.4May2017.meam-spline.TiO2.g++.4 (100%) rename examples/{PACKAGES => }/USER-MISC/meam_sw_spline/Si/bcc.in (100%) rename examples/{PACKAGES => }/USER-MISC/meam_sw_spline/Si/bcc_relax.in (100%) rename examples/{PACKAGES => }/USER-MISC/meam_sw_spline/Si/dc.in (100%) rename examples/{PACKAGES => }/USER-MISC/meam_sw_spline/Si/dc_relax.in (100%) rename examples/{PACKAGES => }/USER-MISC/meam_sw_spline/Si/energy_conservation.meam.sw.in (100%) rename examples/{PACKAGES => }/USER-MISC/meam_sw_spline/Si/fcc.in (100%) rename examples/{PACKAGES => }/USER-MISC/meam_sw_spline/Si/fcc_relax.in (100%) rename examples/{PACKAGES => }/USER-MISC/meam_sw_spline/Si/hcp_relax.in (100%) rename examples/{PACKAGES => }/USER-MISC/meam_sw_spline/Si/sc.in (100%) rename examples/{PACKAGES => }/USER-MISC/meam_sw_spline/Si/sc_relax.in (100%) rename examples/{PACKAGES => }/USER-MISC/meam_sw_spline/Si/single_atom.in (100%) rename examples/{PACKAGES => }/USER-MISC/meam_sw_spline/Ti/alpha.in (100%) rename examples/{PACKAGES => }/USER-MISC/meam_sw_spline/Ti/alpha_relaxation.in (100%) rename examples/{PACKAGES => }/USER-MISC/meam_sw_spline/Ti/beta.in (100%) rename examples/{PACKAGES => }/USER-MISC/meam_sw_spline/Ti/energy_conservation.meam.sw.in (100%) rename examples/{PACKAGES => }/USER-MISC/meam_sw_spline/Ti/fcc.in (100%) rename examples/{PACKAGES => }/USER-MISC/meam_sw_spline/Ti/hexagonal.in (100%) rename examples/{PACKAGES => }/USER-MISC/meam_sw_spline/Ti/omega.in (100%) rename examples/{PACKAGES => }/USER-MISC/meam_sw_spline/Ti/single_atom.in (100%) rename examples/{PACKAGES => }/USER-MISC/momb/Ag_O1X5.5_O2X0.55.eam.fs (100%) rename examples/{PACKAGES => }/USER-MISC/momb/README (100%) rename examples/{PACKAGES => }/USER-MISC/momb/in.system (100%) rename examples/{PACKAGES => }/USER-MISC/momb/log.17Mar2017.system.g++.1 (100%) rename examples/{PACKAGES => }/USER-MISC/momb/log.17Mar2017.system.g++.4 (100%) rename examples/{PACKAGES => }/USER-MISC/momb/system.data (100%) rename examples/{PACKAGES => }/USER-MISC/momentum/in.momentum (100%) rename examples/{PACKAGES => }/USER-MISC/mop/data.mop (100%) rename examples/{PACKAGES => }/USER-MISC/mop/in.compute_stress_mop (100%) rename examples/{PACKAGES => }/USER-MISC/mop/log.5Sep18.compute_stress_mop.g++.1 (100%) rename examples/{PACKAGES => }/USER-MISC/mop/log.5Sep18.compute_stress_mop.g++.4 (100%) rename examples/{PACKAGES => }/USER-MISC/mop/moppz.time.reference (100%) rename examples/{PACKAGES => }/USER-MISC/mop/mopz0.time.reference (100%) rename examples/{PACKAGES => }/USER-MISC/orient_eco/Ni_u3.eam (100%) rename examples/{PACKAGES => }/USER-MISC/orient_eco/data.sigma5 (100%) rename examples/{PACKAGES => }/USER-MISC/orient_eco/in.orient_eco (100%) rename examples/{PACKAGES => }/USER-MISC/orient_eco/log.2Jun2020.orent_eco.g++.1 (100%) rename examples/{PACKAGES => }/USER-MISC/orient_eco/log.2Jun2020.orent_eco.g++.4 (100%) rename examples/{PACKAGES => }/USER-MISC/orient_eco/sigma5.ori (100%) rename examples/{PACKAGES => }/USER-MISC/pafi/.gitignore (100%) rename examples/{PACKAGES => }/USER-MISC/pafi/README (100%) rename examples/{PACKAGES => }/USER-MISC/pafi/in.pafi (100%) rename examples/{PACKAGES => }/USER-MISC/pafi/log.15Apr20.pafi.g++.1 (100%) rename examples/{PACKAGES => }/USER-MISC/pafi/log.15Apr20.pafi.g++.4 (100%) rename examples/{PACKAGES => }/USER-MISC/pafi/pafipath.4.data (100%) rename examples/{PACKAGES => }/USER-MISC/pimd/para-h2/H2.data (100%) rename examples/{PACKAGES => }/USER-MISC/pimd/para-h2/H2.xyz (100%) rename examples/{PACKAGES => }/USER-MISC/pimd/para-h2/NM.info (100%) rename examples/{PACKAGES => }/USER-MISC/pimd/para-h2/in.scp (100%) rename examples/{PACKAGES => }/USER-MISC/pimd/para-h2/pair.table (100%) rename examples/{PACKAGES => }/USER-MISC/pimd/para-h2/run.sh (100%) rename examples/{PACKAGES => }/USER-MISC/pimd/para-h2/vmd.src (100%) rename examples/{PACKAGES => }/USER-MISC/pimd/prot-hairpin/in.scp (100%) rename examples/{PACKAGES => }/USER-MISC/pimd/prot-hairpin/run.sh (100%) rename examples/{PACKAGES => }/USER-MISC/pimd/prot-hairpin/system.data (100%) rename examples/{PACKAGES => }/USER-MISC/rhok/README.md (100%) rename examples/{PACKAGES => }/USER-MISC/rhok/in.crystal (100%) rename examples/{PACKAGES => }/USER-MISC/rhok/in.pinning (100%) rename examples/{PACKAGES => }/USER-MISC/rhok/in.setup (100%) rename examples/{PACKAGES => }/USER-MISC/rhok/log.22Sep2017.crystal.g++.1 (100%) rename examples/{PACKAGES => }/USER-MISC/rhok/log.22Sep2017.crystal.g++.4 (100%) rename examples/{PACKAGES => }/USER-MISC/rhok/log.22Sep2017.pinning.g++.1 (100%) rename examples/{PACKAGES => }/USER-MISC/rhok/log.22Sep2017.pinning.g++.4 (100%) rename examples/{PACKAGES => }/USER-MISC/rhok/log.22Sep2017.setup.g++.1 (100%) rename examples/{PACKAGES => }/USER-MISC/rhok/log.22Sep2017.setup.g++.4 (100%) rename examples/{PACKAGES => }/USER-MISC/slater/data.after_equilibration (100%) rename examples/{PACKAGES => }/USER-MISC/slater/data.after_production_run (100%) rename examples/{PACKAGES => }/USER-MISC/slater/in.slater (100%) rename examples/{PACKAGES => }/USER-MISC/slater/log.lammps (100%) rename examples/{PACKAGES => }/USER-MISC/slater/tmp_1_1.rdf (100%) rename examples/{PACKAGES => }/USER-MISC/slater/tmp_1_2.rdf (100%) rename examples/{PACKAGES => }/USER-MISC/slater/tmp_1_3.rdf (100%) rename examples/{PACKAGES => }/USER-MISC/slater/tmp_2_2.rdf (100%) rename examples/{PACKAGES => }/USER-MISC/slater/tmp_2_3.rdf (100%) rename examples/{PACKAGES => }/USER-MISC/slater/tmp_3_3.rdf (100%) rename examples/{PACKAGES => }/USER-MISC/srp/data.chain (100%) rename examples/{PACKAGES => }/USER-MISC/srp/in.srp (100%) rename examples/{PACKAGES => }/USER-MISC/temper_npt/data.peptide (100%) rename examples/{PACKAGES => }/USER-MISC/temper_npt/in.temper_npt (100%) rename examples/{PACKAGES => }/USER-MISC/temper_npt/log.temper_npt-17Aug17.g++.8 (100%) rename examples/{PACKAGES => }/USER-MISC/temper_npt/log.temper_npt-17Aug17.g++.8.0 (100%) rename examples/{PACKAGES => }/USER-MISC/temper_npt/log.temper_npt-17Aug17.g++.8.1 (100%) rename examples/{PACKAGES => }/USER-MISC/temper_npt/log.temper_npt-17Aug17.g++.8.2 (100%) rename examples/{PACKAGES => }/USER-MISC/temper_npt/log.temper_npt-17Aug17.g++.8.3 (100%) rename examples/{PACKAGES => }/USER-MISC/temper_npt/log.temper_npt-17Aug17.g++.8.4 (100%) rename examples/{PACKAGES => }/USER-MISC/temper_npt/log.temper_npt-17Aug17.g++.8.5 (100%) rename examples/{PACKAGES => }/USER-MISC/temper_npt/log.temper_npt-17Aug17.g++.8.6 (100%) rename examples/{PACKAGES => }/USER-MISC/temper_npt/log.temper_npt-17Aug17.g++.8.7 (100%) rename examples/{PACKAGES => }/USER-MISC/ti/in.ti_spring (100%) diff --git a/doc/src/Examples.rst b/doc/src/Examples.rst index 18121ba338..0f1ab2626d 100644 --- a/doc/src/Examples.rst +++ b/doc/src/Examples.rst @@ -211,6 +211,8 @@ Uppercase directories +------------+--------------------------------------------------------------------------------------------------+ | UNITS | examples that run the same simulation in lj, real, metal units | +------------+--------------------------------------------------------------------------------------------------+ +| USER-MISC | examples for commands in the USER-MISC packages | ++------------+--------------------------------------------------------------------------------------------------+ | VISCOSITY | compute viscosity via several methods | +------------+--------------------------------------------------------------------------------------------------+ @@ -224,4 +226,7 @@ of the sub-directories have their own README files which give further instructions. See the :doc:`Packages_details ` doc page for more info on specific packages. +Similarly the USER-MISC directory has sub-directories for examples +corresponding to individual commands or styles in the USER-MISC package. + .. _openkim: https://openkim.org diff --git a/doc/src/Packages_details.rst b/doc/src/Packages_details.rst index ea4a6a172b..80730dfc59 100644 --- a/doc/src/Packages_details.rst +++ b/doc/src/Packages_details.rst @@ -1461,7 +1461,7 @@ Brennan (ARL). * :doc:`pair_style exp6/rx ` * :doc:`pair_style multi/lucy ` * :doc:`pair_style multi/lucy/rx ` -* examples/PACKAGES/dpd +* examples/PACKAGES/dpd-react ---------- @@ -1746,7 +1746,7 @@ src/USER-MISC/README file. * src/USER-MISC: filenames -> commands * src/USER-MISC/README * one page per individual command listed in src/USER-MISC/README -* examples/PACKAGES/USER-MISC +* examples/USER-MISC ---------- @@ -2442,7 +2442,7 @@ Sciences, Iran). * :doc:`pair_style sdpd/taitwater/isothermal ` * :doc:`fix meso/move ` * :doc:`fix rigid/meso ` -* examples/PACKAGES/sdpd +* examples/PACKAGES/dpd-smooth ---------- diff --git a/doc/src/compute_basal_atom.rst b/doc/src/compute_basal_atom.rst index cf1d6376bc..8d8037e54e 100644 --- a/doc/src/compute_basal_atom.rst +++ b/doc/src/compute_basal_atom.rst @@ -42,7 +42,7 @@ too frequently or to have multiple compute/dump commands, each of which computes this quantity. An example input script that uses this compute is provided -in examples/PACKAGES/USER-MISC/basal. +in examples/USER-MISC/basal. Output info """"""""""" diff --git a/doc/src/fix_dpd_energy.rst b/doc/src/fix_dpd_energy.rst index 53ce796ecc..a1e8ef2faf 100644 --- a/doc/src/fix_dpd_energy.rst +++ b/doc/src/fix_dpd_energy.rst @@ -45,7 +45,7 @@ can be specified by using fix *dpd/energy*\ , fix *nve* and pair_style *dpd/fdt/energy*\ . DPD under isoenthalpic conditions can be specified by using fix *dpd/energy*\ , fix *nph* and pair_style *dpd/fdt/energy*\ . Examples of each DPD variant are provided in the -examples/PACKAGES/dpd directory. +examples/PACKAGES/dpd-react directory. ---------- diff --git a/doc/src/fix_electron_stopping.rst b/doc/src/fix_electron_stopping.rst index 521f5a7e6e..62037e66c7 100644 --- a/doc/src/fix_electron_stopping.rst +++ b/doc/src/fix_electron_stopping.rst @@ -153,7 +153,7 @@ atoms moving above some minimum cutoff velocity (i.e., kinetic energy). These coefficients can be determined by fitting a quadratic polynomial to electronic stopping data predicted by, for example, SRIM or TD-DFT. Multiple 'Ecut c1 c2' values can be provided for multi-species simulations in the order -of the atom types. There is an examples/PACKAGES/USER-MISC/electron_stopping/ directory, +of the atom types. There is an examples/USER-MISC/electron_stopping/ directory, which illustrates uses of this command. Details of this implementation are further described in :ref:`Stewart2018 ` and :ref:`Lee2020 `. diff --git a/doc/src/fix_grem.rst b/doc/src/fix_grem.rst index ff7dc90973..0dedda1e2e 100644 --- a/doc/src/fix_grem.rst +++ b/doc/src/fix_grem.rst @@ -66,7 +66,7 @@ processors be on the order of the number of desired replicas. A 100-replica simulation would require at least 100 processors (1 per world at minimum). If many replicas are needed on a small number of processors, multi-replica runs can be run outside of LAMMPS. An -example of this can be found in examples/PACKAGES/USER-MISC/grem and has no +example of this can be found in examples/USER-MISC/grem and has no limit on the number of replicas per processor. However, this is very inefficient and error prone and should be avoided if possible. diff --git a/doc/src/fix_pafi.rst b/doc/src/fix_pafi.rst index 39e7ba71ce..f50dc1dc0e 100644 --- a/doc/src/fix_pafi.rst +++ b/doc/src/fix_pafi.rst @@ -45,7 +45,7 @@ projection is also calculated, whose time integral can be shown to be equal to the true free energy gradient along the minimum free energy path local to the reference pathway. A detailed discussion of the projection technique can be found in :ref:`(Swinburne) `. -This fix can be used with LAMMPS as demonstrated in examples/PACKAGES/USER-MISC/pafi, +This fix can be used with LAMMPS as demonstrated in examples/USER-MISC/pafi, though it is primarily intended to be coupled with the PAFI C++ code, developed at `https://github.com/tomswinburne/pafi `_, which distributes multiple LAMMPS workers in parallel to compute and collate diff --git a/doc/src/fix_rhok.rst b/doc/src/fix_rhok.rst index 46c171ae4f..71a575810c 100644 --- a/doc/src/fix_rhok.rst +++ b/doc/src/fix_rhok.rst @@ -43,7 +43,7 @@ used to study crystal-liquid interfaces and determine melting temperatures :ref:`(Pedersen) `. An example of using the interface pinning method is located in the -*examples/PACKAGES/USER-MISC/rhok* directory. +*examples/USER-MISC/rhok* directory. Restart, fix_modify, output, run start/stop, minimize info """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" diff --git a/doc/src/fix_shardlow.rst b/doc/src/fix_shardlow.rst index ce4fa0ac27..9f60df7e75 100644 --- a/doc/src/fix_shardlow.rst +++ b/doc/src/fix_shardlow.rst @@ -49,7 +49,7 @@ under isobaric conditions can be specified by using fix shardlow, fix *nph* and pair_style *dpd/fdt*\ . DPD under isoenthalpic conditions can be specified by using fix shardlow, fix *nph* and pair_style *dpd/fdt/energy*\ . Examples of each DPD variant are provided in the -examples/PACKAGES/dpd directory. +examples/PACKAGES/dpd-react directory. ---------- diff --git a/doc/src/fix_wall_ees.rst b/doc/src/fix_wall_ees.rst index fb88a24db9..1b1e904126 100644 --- a/doc/src/fix_wall_ees.rst +++ b/doc/src/fix_wall_ees.rst @@ -117,7 +117,7 @@ ellipsoidal particles according to the EES potential introduced above. Other details of this command are the same as for the :doc:`fix wall/region ` command. One may also find an example -of using this fix in the examples/PACKAGES/USER-MISC/ees/ directory. +of using this fix in the examples/USER-MISC/ees/ directory. ---------- diff --git a/doc/src/pair_agni.rst b/doc/src/pair_agni.rst index 7de3c76383..cfbcfb0c05 100644 --- a/doc/src/pair_agni.rst +++ b/doc/src/pair_agni.rst @@ -63,7 +63,7 @@ to specify the path for the force field file. An AGNI force field is fully specified by the filename which contains the parameters of the force field, i.e., the reference training environments used to construct the machine learning force field. Example force field -and input files are provided in the examples/PACKAGES/USER-MISC/agni directory. +and input files are provided in the examples/USER-MISC/agni directory. ---------- diff --git a/doc/src/pair_e3b.rst b/doc/src/pair_e3b.rst index 72c272a567..2083e61119 100644 --- a/doc/src/pair_e3b.rst +++ b/doc/src/pair_e3b.rst @@ -111,7 +111,7 @@ If the neigh setting is too large, the pair style will use more memory than nece This pair style tallies a breakdown of the total E3B potential energy into sub-categories, which can be accessed via the :doc:`compute pair ` command as a vector of values of length 4. The 4 values correspond to the terms in the first equation above: the E2 term, the Ea term, the Eb term, and the Ec term. -See the examples/PACKAGES/USER-MISC/e3b directory for a complete example script. +See the examples/USER-MISC/e3b directory for a complete example script. ---------- diff --git a/doc/src/pair_meam_sw_spline.rst b/doc/src/pair_meam_sw_spline.rst index f1bc9df582..b57d122774 100644 --- a/doc/src/pair_meam_sw_spline.rst +++ b/doc/src/pair_meam_sw_spline.rst @@ -94,7 +94,7 @@ potentials. systems in the future. Example input scripts that use this pair style are provided -in the examples/PACKAGES/USER-MISC/meam_sw_spline directory. +in the examples/USER-MISC/meam_sw_spline directory. ---------- diff --git a/examples/PACKAGES/dpd/README b/examples/PACKAGES/dpd-react/README similarity index 100% rename from examples/PACKAGES/dpd/README rename to examples/PACKAGES/dpd-react/README diff --git a/examples/PACKAGES/dpd/dpd-shardlow/data.dpd b/examples/PACKAGES/dpd-react/dpd-shardlow/data.dpd similarity index 100% rename from examples/PACKAGES/dpd/dpd-shardlow/data.dpd rename to examples/PACKAGES/dpd-react/dpd-shardlow/data.dpd diff --git a/examples/PACKAGES/dpd/dpd-shardlow/in.dpd-shardlow b/examples/PACKAGES/dpd-react/dpd-shardlow/in.dpd-shardlow similarity index 100% rename from examples/PACKAGES/dpd/dpd-shardlow/in.dpd-shardlow rename to examples/PACKAGES/dpd-react/dpd-shardlow/in.dpd-shardlow diff --git a/examples/PACKAGES/dpd/dpd-shardlow/log.dpd-shardlow.reference b/examples/PACKAGES/dpd-react/dpd-shardlow/log.dpd-shardlow.reference similarity index 100% rename from examples/PACKAGES/dpd/dpd-shardlow/log.dpd-shardlow.reference rename to examples/PACKAGES/dpd-react/dpd-shardlow/log.dpd-shardlow.reference diff --git a/examples/PACKAGES/dpd/dpd-vv/data.dpd b/examples/PACKAGES/dpd-react/dpd-vv/data.dpd similarity index 100% rename from examples/PACKAGES/dpd/dpd-vv/data.dpd rename to examples/PACKAGES/dpd-react/dpd-vv/data.dpd diff --git a/examples/PACKAGES/dpd/dpd-vv/in.dpd-vv b/examples/PACKAGES/dpd-react/dpd-vv/in.dpd-vv similarity index 100% rename from examples/PACKAGES/dpd/dpd-vv/in.dpd-vv rename to examples/PACKAGES/dpd-react/dpd-vv/in.dpd-vv diff --git a/examples/PACKAGES/dpd/dpd-vv/log.dpd-vv.reference b/examples/PACKAGES/dpd-react/dpd-vv/log.dpd-vv.reference similarity index 100% rename from examples/PACKAGES/dpd/dpd-vv/log.dpd-vv.reference rename to examples/PACKAGES/dpd-react/dpd-vv/log.dpd-vv.reference diff --git a/examples/PACKAGES/dpd/dpde-shardlow/data.dpde b/examples/PACKAGES/dpd-react/dpde-shardlow/data.dpde similarity index 100% rename from examples/PACKAGES/dpd/dpde-shardlow/data.dpde rename to examples/PACKAGES/dpd-react/dpde-shardlow/data.dpde diff --git a/examples/PACKAGES/dpd/dpde-shardlow/in.dpde-shardlow b/examples/PACKAGES/dpd-react/dpde-shardlow/in.dpde-shardlow similarity index 100% rename from examples/PACKAGES/dpd/dpde-shardlow/in.dpde-shardlow rename to examples/PACKAGES/dpd-react/dpde-shardlow/in.dpde-shardlow diff --git a/examples/PACKAGES/dpd/dpde-shardlow/log.dpde-shardlow.reference b/examples/PACKAGES/dpd-react/dpde-shardlow/log.dpde-shardlow.reference similarity index 100% rename from examples/PACKAGES/dpd/dpde-shardlow/log.dpde-shardlow.reference rename to examples/PACKAGES/dpd-react/dpde-shardlow/log.dpde-shardlow.reference diff --git a/examples/PACKAGES/dpd/dpde-vv/data.dpd b/examples/PACKAGES/dpd-react/dpde-vv/data.dpd similarity index 100% rename from examples/PACKAGES/dpd/dpde-vv/data.dpd rename to examples/PACKAGES/dpd-react/dpde-vv/data.dpd diff --git a/examples/PACKAGES/dpd/dpde-vv/in.dpde-vv b/examples/PACKAGES/dpd-react/dpde-vv/in.dpde-vv similarity index 100% rename from examples/PACKAGES/dpd/dpde-vv/in.dpde-vv rename to examples/PACKAGES/dpd-react/dpde-vv/in.dpde-vv diff --git a/examples/PACKAGES/dpd/dpde-vv/log.dpde-vv.reference b/examples/PACKAGES/dpd-react/dpde-vv/log.dpde-vv.reference similarity index 100% rename from examples/PACKAGES/dpd/dpde-vv/log.dpde-vv.reference rename to examples/PACKAGES/dpd-react/dpde-vv/log.dpde-vv.reference diff --git a/examples/PACKAGES/dpd/dpdh-shardlow/data.dpdh b/examples/PACKAGES/dpd-react/dpdh-shardlow/data.dpdh similarity index 100% rename from examples/PACKAGES/dpd/dpdh-shardlow/data.dpdh rename to examples/PACKAGES/dpd-react/dpdh-shardlow/data.dpdh diff --git a/examples/PACKAGES/dpd/dpdh-shardlow/in.dpdh-shardlow b/examples/PACKAGES/dpd-react/dpdh-shardlow/in.dpdh-shardlow similarity index 100% rename from examples/PACKAGES/dpd/dpdh-shardlow/in.dpdh-shardlow rename to examples/PACKAGES/dpd-react/dpdh-shardlow/in.dpdh-shardlow diff --git a/examples/PACKAGES/dpd/dpdh-shardlow/log.dpdh-shardlow.reference b/examples/PACKAGES/dpd-react/dpdh-shardlow/log.dpdh-shardlow.reference similarity index 100% rename from examples/PACKAGES/dpd/dpdh-shardlow/log.dpdh-shardlow.reference rename to examples/PACKAGES/dpd-react/dpdh-shardlow/log.dpdh-shardlow.reference diff --git a/examples/PACKAGES/dpd/dpdp-shardlow/data.dpd b/examples/PACKAGES/dpd-react/dpdp-shardlow/data.dpd similarity index 100% rename from examples/PACKAGES/dpd/dpdp-shardlow/data.dpd rename to examples/PACKAGES/dpd-react/dpdp-shardlow/data.dpd diff --git a/examples/PACKAGES/dpd/dpdp-shardlow/in.dpdp-shardlow b/examples/PACKAGES/dpd-react/dpdp-shardlow/in.dpdp-shardlow similarity index 100% rename from examples/PACKAGES/dpd/dpdp-shardlow/in.dpdp-shardlow rename to examples/PACKAGES/dpd-react/dpdp-shardlow/in.dpdp-shardlow diff --git a/examples/PACKAGES/dpd/dpdp-shardlow/log.dpdp-shardlow.reference b/examples/PACKAGES/dpd-react/dpdp-shardlow/log.dpdp-shardlow.reference similarity index 100% rename from examples/PACKAGES/dpd/dpdp-shardlow/log.dpdp-shardlow.reference rename to examples/PACKAGES/dpd-react/dpdp-shardlow/log.dpdp-shardlow.reference diff --git a/examples/PACKAGES/dpd/dpdrx-shardlow/in.dpdrx-shardlow b/examples/PACKAGES/dpd-react/dpdrx-shardlow/in.dpdrx-shardlow similarity index 100% rename from examples/PACKAGES/dpd/dpdrx-shardlow/in.dpdrx-shardlow rename to examples/PACKAGES/dpd-react/dpdrx-shardlow/in.dpdrx-shardlow diff --git a/examples/PACKAGES/dpd/dpdrx-shardlow/kinetics.dpdrx b/examples/PACKAGES/dpd-react/dpdrx-shardlow/kinetics.dpdrx similarity index 100% rename from examples/PACKAGES/dpd/dpdrx-shardlow/kinetics.dpdrx rename to examples/PACKAGES/dpd-react/dpdrx-shardlow/kinetics.dpdrx diff --git a/examples/PACKAGES/dpd/dpdrx-shardlow/log.dpdrx-shardlow.reference b/examples/PACKAGES/dpd-react/dpdrx-shardlow/log.dpdrx-shardlow.reference similarity index 100% rename from examples/PACKAGES/dpd/dpdrx-shardlow/log.dpdrx-shardlow.reference rename to examples/PACKAGES/dpd-react/dpdrx-shardlow/log.dpdrx-shardlow.reference diff --git a/examples/PACKAGES/dpd/dpdrx-shardlow/params.exp6 b/examples/PACKAGES/dpd-react/dpdrx-shardlow/params.exp6 similarity index 100% rename from examples/PACKAGES/dpd/dpdrx-shardlow/params.exp6 rename to examples/PACKAGES/dpd-react/dpdrx-shardlow/params.exp6 diff --git a/examples/PACKAGES/dpd/dpdrx-shardlow/table.eos b/examples/PACKAGES/dpd-react/dpdrx-shardlow/table.eos similarity index 100% rename from examples/PACKAGES/dpd/dpdrx-shardlow/table.eos rename to examples/PACKAGES/dpd-react/dpdrx-shardlow/table.eos diff --git a/examples/PACKAGES/dpd/dpdrx-shardlow/thermo.dpdrx b/examples/PACKAGES/dpd-react/dpdrx-shardlow/thermo.dpdrx similarity index 100% rename from examples/PACKAGES/dpd/dpdrx-shardlow/thermo.dpdrx rename to examples/PACKAGES/dpd-react/dpdrx-shardlow/thermo.dpdrx diff --git a/examples/PACKAGES/dpd/multi-lucy/in.multi-lucy b/examples/PACKAGES/dpd-react/multi-lucy/in.multi-lucy similarity index 100% rename from examples/PACKAGES/dpd/multi-lucy/in.multi-lucy rename to examples/PACKAGES/dpd-react/multi-lucy/in.multi-lucy diff --git a/examples/PACKAGES/dpd/multi-lucy/log.multi-lucy.reference b/examples/PACKAGES/dpd-react/multi-lucy/log.multi-lucy.reference similarity index 100% rename from examples/PACKAGES/dpd/multi-lucy/log.multi-lucy.reference rename to examples/PACKAGES/dpd-react/multi-lucy/log.multi-lucy.reference diff --git a/examples/PACKAGES/dpd/multi-lucy/table.multibody b/examples/PACKAGES/dpd-react/multi-lucy/table.multibody similarity index 100% rename from examples/PACKAGES/dpd/multi-lucy/table.multibody rename to examples/PACKAGES/dpd-react/multi-lucy/table.multibody diff --git a/examples/PACKAGES/sdpd/2d-diffusion-in-shear-flow/in.lammps b/examples/PACKAGES/dpd-smooth/2d-diffusion-in-shear-flow/in.lammps similarity index 100% rename from examples/PACKAGES/sdpd/2d-diffusion-in-shear-flow/in.lammps rename to examples/PACKAGES/dpd-smooth/2d-diffusion-in-shear-flow/in.lammps diff --git a/examples/PACKAGES/sdpd/2d-diffusion-in-shear-flow/log.24Oct18.2d-diffusion-in-shear-flow.g++.1 b/examples/PACKAGES/dpd-smooth/2d-diffusion-in-shear-flow/log.24Oct18.2d-diffusion-in-shear-flow.g++.1 similarity index 100% rename from examples/PACKAGES/sdpd/2d-diffusion-in-shear-flow/log.24Oct18.2d-diffusion-in-shear-flow.g++.1 rename to examples/PACKAGES/dpd-smooth/2d-diffusion-in-shear-flow/log.24Oct18.2d-diffusion-in-shear-flow.g++.1 diff --git a/examples/PACKAGES/sdpd/2d-diffusion-in-shear-flow/log.24Oct18.2d-diffusion-in-shear-flow.g++.4 b/examples/PACKAGES/dpd-smooth/2d-diffusion-in-shear-flow/log.24Oct18.2d-diffusion-in-shear-flow.g++.4 similarity index 100% rename from examples/PACKAGES/sdpd/2d-diffusion-in-shear-flow/log.24Oct18.2d-diffusion-in-shear-flow.g++.4 rename to examples/PACKAGES/dpd-smooth/2d-diffusion-in-shear-flow/log.24Oct18.2d-diffusion-in-shear-flow.g++.4 diff --git a/examples/PACKAGES/sdpd/2d-diffusion/in.lammps b/examples/PACKAGES/dpd-smooth/2d-diffusion/in.lammps similarity index 100% rename from examples/PACKAGES/sdpd/2d-diffusion/in.lammps rename to examples/PACKAGES/dpd-smooth/2d-diffusion/in.lammps diff --git a/examples/PACKAGES/sdpd/2d-diffusion/log.24Oct18.2d-diffusion.g++.1 b/examples/PACKAGES/dpd-smooth/2d-diffusion/log.24Oct18.2d-diffusion.g++.1 similarity index 100% rename from examples/PACKAGES/sdpd/2d-diffusion/log.24Oct18.2d-diffusion.g++.1 rename to examples/PACKAGES/dpd-smooth/2d-diffusion/log.24Oct18.2d-diffusion.g++.1 diff --git a/examples/PACKAGES/sdpd/2d-diffusion/log.24Oct18.2d-diffusion.g++.4 b/examples/PACKAGES/dpd-smooth/2d-diffusion/log.24Oct18.2d-diffusion.g++.4 similarity index 100% rename from examples/PACKAGES/sdpd/2d-diffusion/log.24Oct18.2d-diffusion.g++.4 rename to examples/PACKAGES/dpd-smooth/2d-diffusion/log.24Oct18.2d-diffusion.g++.4 diff --git a/examples/PACKAGES/sdpd/README b/examples/PACKAGES/dpd-smooth/README similarity index 100% rename from examples/PACKAGES/sdpd/README rename to examples/PACKAGES/dpd-smooth/README diff --git a/examples/PACKAGES/sdpd/equipartition-verification/in.lammps b/examples/PACKAGES/dpd-smooth/equipartition-verification/in.lammps similarity index 100% rename from examples/PACKAGES/sdpd/equipartition-verification/in.lammps rename to examples/PACKAGES/dpd-smooth/equipartition-verification/in.lammps diff --git a/examples/PACKAGES/sdpd/equipartition-verification/log.24Oct18.equipartition.g++.1 b/examples/PACKAGES/dpd-smooth/equipartition-verification/log.24Oct18.equipartition.g++.1 similarity index 100% rename from examples/PACKAGES/sdpd/equipartition-verification/log.24Oct18.equipartition.g++.1 rename to examples/PACKAGES/dpd-smooth/equipartition-verification/log.24Oct18.equipartition.g++.1 diff --git a/examples/PACKAGES/sdpd/equipartition-verification/log.24Oct18.equipartition.g++.4 b/examples/PACKAGES/dpd-smooth/equipartition-verification/log.24Oct18.equipartition.g++.4 similarity index 100% rename from examples/PACKAGES/sdpd/equipartition-verification/log.24Oct18.equipartition.g++.4 rename to examples/PACKAGES/dpd-smooth/equipartition-verification/log.24Oct18.equipartition.g++.4 diff --git a/examples/README b/examples/README index f0e84f18c1..4f4f671a29 100644 --- a/examples/README +++ b/examples/README @@ -5,7 +5,8 @@ problems you can run with LAMMPS. lower-case directories = simple test problems for LAMMPS and its packages upper-case directories = more complex problems -PACKAGE directory with its own sub-directories = tests for specific packages +PACKAGES directory with its own sub-directories = tests for specific packages +USER-MISC directory with its own sub-directories = tests for commands in USER-MISC package Each is discussed below. @@ -170,6 +171,12 @@ The MC directory has an example script for using LAMMPS as an energy-evaluation engine in a iterative Monte Carlo energy-relaxation loop. +The PACKAGES directory contains subdirectories of example scripts for +individual packages. Most of those are contributed by the corresponding +package developers. See the README files in those directories +for more info. See the doc/html/Build_package.html file for more info +about installing and building packages. + The TIP4P directory has an example for testing forces computed on a GPU. @@ -179,11 +186,11 @@ lj, real, and metal. So that you can see how to scale/unscale input and output values read/written by LAMMPS to verify you are performing the same simulation in different unit systems. -The PACKAGES directory contains subdirectories of example scripts for -individual packages. Most of those are contributed by the corresponding -package developers. See the README files in those directories +The USER-MISC directory contains subdirectories of example scripts for +individual commands in the USER-MISC package. Most of those are contributed +by the corresponding developers. See the README files in those directories for more info. See the doc/html/Build_package.html file for more info -about installing and building user packages. +about installing and building packages. The VISCOSITY directory has example scripts for computing the viscosity of a LJ liquid using 4 different methods. See the diff --git a/examples/PACKAGES/USER-MISC/addtorque/in.addtorque b/examples/USER-MISC/addtorque/in.addtorque similarity index 100% rename from examples/PACKAGES/USER-MISC/addtorque/in.addtorque rename to examples/USER-MISC/addtorque/in.addtorque diff --git a/examples/PACKAGES/USER-MISC/addtorque/log.9Nov16.addtorque.g++.1 b/examples/USER-MISC/addtorque/log.9Nov16.addtorque.g++.1 similarity index 100% rename from examples/PACKAGES/USER-MISC/addtorque/log.9Nov16.addtorque.g++.1 rename to examples/USER-MISC/addtorque/log.9Nov16.addtorque.g++.1 diff --git a/examples/PACKAGES/USER-MISC/addtorque/log.9Nov16.addtorque.g++.4 b/examples/USER-MISC/addtorque/log.9Nov16.addtorque.g++.4 similarity index 100% rename from examples/PACKAGES/USER-MISC/addtorque/log.9Nov16.addtorque.g++.4 rename to examples/USER-MISC/addtorque/log.9Nov16.addtorque.g++.4 diff --git a/examples/PACKAGES/USER-MISC/agni/Al_jpc.agni b/examples/USER-MISC/agni/Al_jpc.agni similarity index 100% rename from examples/PACKAGES/USER-MISC/agni/Al_jpc.agni rename to examples/USER-MISC/agni/Al_jpc.agni diff --git a/examples/PACKAGES/USER-MISC/agni/adatom.data b/examples/USER-MISC/agni/adatom.data similarity index 100% rename from examples/PACKAGES/USER-MISC/agni/adatom.data rename to examples/USER-MISC/agni/adatom.data diff --git a/examples/PACKAGES/USER-MISC/agni/in.adatom b/examples/USER-MISC/agni/in.adatom similarity index 100% rename from examples/PACKAGES/USER-MISC/agni/in.adatom rename to examples/USER-MISC/agni/in.adatom diff --git a/examples/PACKAGES/USER-MISC/agni/in.vacancy b/examples/USER-MISC/agni/in.vacancy similarity index 100% rename from examples/PACKAGES/USER-MISC/agni/in.vacancy rename to examples/USER-MISC/agni/in.vacancy diff --git a/examples/PACKAGES/USER-MISC/agni/log.20Jan21.adatom.g++.1 b/examples/USER-MISC/agni/log.20Jan21.adatom.g++.1 similarity index 100% rename from examples/PACKAGES/USER-MISC/agni/log.20Jan21.adatom.g++.1 rename to examples/USER-MISC/agni/log.20Jan21.adatom.g++.1 diff --git a/examples/PACKAGES/USER-MISC/agni/log.20Jan21.adatom.g++.4 b/examples/USER-MISC/agni/log.20Jan21.adatom.g++.4 similarity index 100% rename from examples/PACKAGES/USER-MISC/agni/log.20Jan21.adatom.g++.4 rename to examples/USER-MISC/agni/log.20Jan21.adatom.g++.4 diff --git a/examples/PACKAGES/USER-MISC/agni/log.20Jan21.vacancy.g++.1 b/examples/USER-MISC/agni/log.20Jan21.vacancy.g++.1 similarity index 100% rename from examples/PACKAGES/USER-MISC/agni/log.20Jan21.vacancy.g++.1 rename to examples/USER-MISC/agni/log.20Jan21.vacancy.g++.1 diff --git a/examples/PACKAGES/USER-MISC/agni/log.20Jan21.vacancy.g++.4 b/examples/USER-MISC/agni/log.20Jan21.vacancy.g++.4 similarity index 100% rename from examples/PACKAGES/USER-MISC/agni/log.20Jan21.vacancy.g++.4 rename to examples/USER-MISC/agni/log.20Jan21.vacancy.g++.4 diff --git a/examples/PACKAGES/USER-MISC/agni/vacancy.data b/examples/USER-MISC/agni/vacancy.data similarity index 100% rename from examples/PACKAGES/USER-MISC/agni/vacancy.data rename to examples/USER-MISC/agni/vacancy.data diff --git a/examples/PACKAGES/USER-MISC/basal/almg.liu b/examples/USER-MISC/basal/almg.liu similarity index 100% rename from examples/PACKAGES/USER-MISC/basal/almg.liu rename to examples/USER-MISC/basal/almg.liu diff --git a/examples/PACKAGES/USER-MISC/basal/in.basal b/examples/USER-MISC/basal/in.basal similarity index 100% rename from examples/PACKAGES/USER-MISC/basal/in.basal rename to examples/USER-MISC/basal/in.basal diff --git a/examples/PACKAGES/USER-MISC/cauchy/NiAlH_jea.eam.alloy b/examples/USER-MISC/cauchy/NiAlH_jea.eam.alloy similarity index 100% rename from examples/PACKAGES/USER-MISC/cauchy/NiAlH_jea.eam.alloy rename to examples/USER-MISC/cauchy/NiAlH_jea.eam.alloy diff --git a/examples/PACKAGES/USER-MISC/cauchy/README b/examples/USER-MISC/cauchy/README similarity index 100% rename from examples/PACKAGES/USER-MISC/cauchy/README rename to examples/USER-MISC/cauchy/README diff --git a/examples/PACKAGES/USER-MISC/cauchy/in.cauchystat b/examples/USER-MISC/cauchy/in.cauchystat similarity index 100% rename from examples/PACKAGES/USER-MISC/cauchy/in.cauchystat rename to examples/USER-MISC/cauchy/in.cauchystat diff --git a/examples/PACKAGES/USER-MISC/cauchy/log.2Jun2020.cauchystat.g++.1 b/examples/USER-MISC/cauchy/log.2Jun2020.cauchystat.g++.1 similarity index 100% rename from examples/PACKAGES/USER-MISC/cauchy/log.2Jun2020.cauchystat.g++.1 rename to examples/USER-MISC/cauchy/log.2Jun2020.cauchystat.g++.1 diff --git a/examples/PACKAGES/USER-MISC/charge_regulation/README b/examples/USER-MISC/charge_regulation/README similarity index 100% rename from examples/PACKAGES/USER-MISC/charge_regulation/README rename to examples/USER-MISC/charge_regulation/README diff --git a/examples/PACKAGES/USER-MISC/charge_regulation/data.chreg-acid b/examples/USER-MISC/charge_regulation/data.chreg-acid similarity index 100% rename from examples/PACKAGES/USER-MISC/charge_regulation/data.chreg-acid rename to examples/USER-MISC/charge_regulation/data.chreg-acid diff --git a/examples/PACKAGES/USER-MISC/charge_regulation/data.chreg-acid-real b/examples/USER-MISC/charge_regulation/data.chreg-acid-real similarity index 100% rename from examples/PACKAGES/USER-MISC/charge_regulation/data.chreg-acid-real rename to examples/USER-MISC/charge_regulation/data.chreg-acid-real diff --git a/examples/PACKAGES/USER-MISC/charge_regulation/data.chreg-polymer b/examples/USER-MISC/charge_regulation/data.chreg-polymer similarity index 100% rename from examples/PACKAGES/USER-MISC/charge_regulation/data.chreg-polymer rename to examples/USER-MISC/charge_regulation/data.chreg-polymer diff --git a/examples/PACKAGES/USER-MISC/charge_regulation/in.chreg-acid b/examples/USER-MISC/charge_regulation/in.chreg-acid similarity index 100% rename from examples/PACKAGES/USER-MISC/charge_regulation/in.chreg-acid rename to examples/USER-MISC/charge_regulation/in.chreg-acid diff --git a/examples/PACKAGES/USER-MISC/charge_regulation/in.chreg-acid-real b/examples/USER-MISC/charge_regulation/in.chreg-acid-real similarity index 100% rename from examples/PACKAGES/USER-MISC/charge_regulation/in.chreg-acid-real rename to examples/USER-MISC/charge_regulation/in.chreg-acid-real diff --git a/examples/PACKAGES/USER-MISC/charge_regulation/in.chreg-polymer b/examples/USER-MISC/charge_regulation/in.chreg-polymer similarity index 100% rename from examples/PACKAGES/USER-MISC/charge_regulation/in.chreg-polymer rename to examples/USER-MISC/charge_regulation/in.chreg-polymer diff --git a/examples/PACKAGES/USER-MISC/charge_regulation/log.10Feb21.chreg-acid.g++.1 b/examples/USER-MISC/charge_regulation/log.10Feb21.chreg-acid.g++.1 similarity index 100% rename from examples/PACKAGES/USER-MISC/charge_regulation/log.10Feb21.chreg-acid.g++.1 rename to examples/USER-MISC/charge_regulation/log.10Feb21.chreg-acid.g++.1 diff --git a/examples/PACKAGES/USER-MISC/charge_regulation/log.10Feb21.chreg-acid.g++.4 b/examples/USER-MISC/charge_regulation/log.10Feb21.chreg-acid.g++.4 similarity index 100% rename from examples/PACKAGES/USER-MISC/charge_regulation/log.10Feb21.chreg-acid.g++.4 rename to examples/USER-MISC/charge_regulation/log.10Feb21.chreg-acid.g++.4 diff --git a/examples/PACKAGES/USER-MISC/charge_regulation/log.10Feb21.chreg-polymer.g++.1 b/examples/USER-MISC/charge_regulation/log.10Feb21.chreg-polymer.g++.1 similarity index 100% rename from examples/PACKAGES/USER-MISC/charge_regulation/log.10Feb21.chreg-polymer.g++.1 rename to examples/USER-MISC/charge_regulation/log.10Feb21.chreg-polymer.g++.1 diff --git a/examples/PACKAGES/USER-MISC/charge_regulation/log.10Feb21.chreg-polymer.g++.4 b/examples/USER-MISC/charge_regulation/log.10Feb21.chreg-polymer.g++.4 similarity index 100% rename from examples/PACKAGES/USER-MISC/charge_regulation/log.10Feb21.chreg-polymer.g++.4 rename to examples/USER-MISC/charge_regulation/log.10Feb21.chreg-polymer.g++.4 diff --git a/examples/PACKAGES/USER-MISC/charge_regulation/log.11Apr21.chreg-acid-real.g++.1 b/examples/USER-MISC/charge_regulation/log.11Apr21.chreg-acid-real.g++.1 similarity index 100% rename from examples/PACKAGES/USER-MISC/charge_regulation/log.11Apr21.chreg-acid-real.g++.1 rename to examples/USER-MISC/charge_regulation/log.11Apr21.chreg-acid-real.g++.1 diff --git a/examples/PACKAGES/USER-MISC/charge_regulation/log.11Apr21.chreg-acid-real.g++.4 b/examples/USER-MISC/charge_regulation/log.11Apr21.chreg-acid-real.g++.4 similarity index 100% rename from examples/PACKAGES/USER-MISC/charge_regulation/log.11Apr21.chreg-acid-real.g++.4 rename to examples/USER-MISC/charge_regulation/log.11Apr21.chreg-acid-real.g++.4 diff --git a/examples/PACKAGES/USER-MISC/cnp/Cu_Mishin1.eam b/examples/USER-MISC/cnp/Cu_Mishin1.eam similarity index 100% rename from examples/PACKAGES/USER-MISC/cnp/Cu_Mishin1.eam rename to examples/USER-MISC/cnp/Cu_Mishin1.eam diff --git a/examples/PACKAGES/USER-MISC/cnp/in.cnp b/examples/USER-MISC/cnp/in.cnp similarity index 100% rename from examples/PACKAGES/USER-MISC/cnp/in.cnp rename to examples/USER-MISC/cnp/in.cnp diff --git a/examples/PACKAGES/USER-MISC/cnp/log.31May17.cnp.g++.4 b/examples/USER-MISC/cnp/log.31May17.cnp.g++.4 similarity index 100% rename from examples/PACKAGES/USER-MISC/cnp/log.31May17.cnp.g++.4 rename to examples/USER-MISC/cnp/log.31May17.cnp.g++.4 diff --git a/examples/PACKAGES/USER-MISC/dpd_ext/README b/examples/USER-MISC/dpd_ext/README similarity index 100% rename from examples/PACKAGES/USER-MISC/dpd_ext/README rename to examples/USER-MISC/dpd_ext/README diff --git a/examples/PACKAGES/USER-MISC/dpd_ext/dpdext/dpdext.data b/examples/USER-MISC/dpd_ext/dpdext/dpdext.data similarity index 100% rename from examples/PACKAGES/USER-MISC/dpd_ext/dpdext/dpdext.data rename to examples/USER-MISC/dpd_ext/dpdext/dpdext.data diff --git a/examples/PACKAGES/USER-MISC/dpd_ext/dpdext/in.dpdext b/examples/USER-MISC/dpd_ext/dpdext/in.dpdext similarity index 100% rename from examples/PACKAGES/USER-MISC/dpd_ext/dpdext/in.dpdext rename to examples/USER-MISC/dpd_ext/dpdext/in.dpdext diff --git a/examples/PACKAGES/USER-MISC/dpd_ext/dpdext/log.10Mar21.dpdext.g++.1 b/examples/USER-MISC/dpd_ext/dpdext/log.10Mar21.dpdext.g++.1 similarity index 100% rename from examples/PACKAGES/USER-MISC/dpd_ext/dpdext/log.10Mar21.dpdext.g++.1 rename to examples/USER-MISC/dpd_ext/dpdext/log.10Mar21.dpdext.g++.1 diff --git a/examples/PACKAGES/USER-MISC/dpd_ext/dpdext/log.10Mar21.dpdext.g++.4 b/examples/USER-MISC/dpd_ext/dpdext/log.10Mar21.dpdext.g++.4 similarity index 100% rename from examples/PACKAGES/USER-MISC/dpd_ext/dpdext/log.10Mar21.dpdext.g++.4 rename to examples/USER-MISC/dpd_ext/dpdext/log.10Mar21.dpdext.g++.4 diff --git a/examples/PACKAGES/USER-MISC/dpd_ext/dpdext_tstat/cg_spce.data b/examples/USER-MISC/dpd_ext/dpdext_tstat/cg_spce.data similarity index 100% rename from examples/PACKAGES/USER-MISC/dpd_ext/dpdext_tstat/cg_spce.data rename to examples/USER-MISC/dpd_ext/dpdext_tstat/cg_spce.data diff --git a/examples/PACKAGES/USER-MISC/dpd_ext/dpdext_tstat/cg_spce_table.pot b/examples/USER-MISC/dpd_ext/dpdext_tstat/cg_spce_table.pot similarity index 100% rename from examples/PACKAGES/USER-MISC/dpd_ext/dpdext_tstat/cg_spce_table.pot rename to examples/USER-MISC/dpd_ext/dpdext_tstat/cg_spce_table.pot diff --git a/examples/PACKAGES/USER-MISC/dpd_ext/dpdext_tstat/in.cg_spce b/examples/USER-MISC/dpd_ext/dpdext_tstat/in.cg_spce similarity index 100% rename from examples/PACKAGES/USER-MISC/dpd_ext/dpdext_tstat/in.cg_spce rename to examples/USER-MISC/dpd_ext/dpdext_tstat/in.cg_spce diff --git a/examples/PACKAGES/USER-MISC/dpd_ext/dpdext_tstat/log.10Mar21.dpdext.g++.1 b/examples/USER-MISC/dpd_ext/dpdext_tstat/log.10Mar21.dpdext.g++.1 similarity index 100% rename from examples/PACKAGES/USER-MISC/dpd_ext/dpdext_tstat/log.10Mar21.dpdext.g++.1 rename to examples/USER-MISC/dpd_ext/dpdext_tstat/log.10Mar21.dpdext.g++.1 diff --git a/examples/PACKAGES/USER-MISC/dpd_ext/dpdext_tstat/log.10Mar21.dpdext.g++.4 b/examples/USER-MISC/dpd_ext/dpdext_tstat/log.10Mar21.dpdext.g++.4 similarity index 100% rename from examples/PACKAGES/USER-MISC/dpd_ext/dpdext_tstat/log.10Mar21.dpdext.g++.4 rename to examples/USER-MISC/dpd_ext/dpdext_tstat/log.10Mar21.dpdext.g++.4 diff --git a/examples/PACKAGES/USER-MISC/drip/C.drip b/examples/USER-MISC/drip/C.drip similarity index 100% rename from examples/PACKAGES/USER-MISC/drip/C.drip rename to examples/USER-MISC/drip/C.drip diff --git a/examples/PACKAGES/USER-MISC/drip/CH.rebo b/examples/USER-MISC/drip/CH.rebo similarity index 100% rename from examples/PACKAGES/USER-MISC/drip/CH.rebo rename to examples/USER-MISC/drip/CH.rebo diff --git a/examples/PACKAGES/USER-MISC/drip/README.txt b/examples/USER-MISC/drip/README.txt similarity index 100% rename from examples/PACKAGES/USER-MISC/drip/README.txt rename to examples/USER-MISC/drip/README.txt diff --git a/examples/PACKAGES/USER-MISC/drip/data.C b/examples/USER-MISC/drip/data.C similarity index 100% rename from examples/PACKAGES/USER-MISC/drip/data.C rename to examples/USER-MISC/drip/data.C diff --git a/examples/PACKAGES/USER-MISC/drip/data.CH b/examples/USER-MISC/drip/data.CH similarity index 100% rename from examples/PACKAGES/USER-MISC/drip/data.CH rename to examples/USER-MISC/drip/data.CH diff --git a/examples/PACKAGES/USER-MISC/drip/in.CH_drip b/examples/USER-MISC/drip/in.CH_drip similarity index 100% rename from examples/PACKAGES/USER-MISC/drip/in.CH_drip rename to examples/USER-MISC/drip/in.CH_drip diff --git a/examples/PACKAGES/USER-MISC/drip/in.C_drip b/examples/USER-MISC/drip/in.C_drip similarity index 100% rename from examples/PACKAGES/USER-MISC/drip/in.C_drip rename to examples/USER-MISC/drip/in.C_drip diff --git a/examples/PACKAGES/USER-MISC/drip/log.30Apr19.CH_drip.g++.1 b/examples/USER-MISC/drip/log.30Apr19.CH_drip.g++.1 similarity index 100% rename from examples/PACKAGES/USER-MISC/drip/log.30Apr19.CH_drip.g++.1 rename to examples/USER-MISC/drip/log.30Apr19.CH_drip.g++.1 diff --git a/examples/PACKAGES/USER-MISC/drip/log.30Apr19.CH_drip.g++.4 b/examples/USER-MISC/drip/log.30Apr19.CH_drip.g++.4 similarity index 100% rename from examples/PACKAGES/USER-MISC/drip/log.30Apr19.CH_drip.g++.4 rename to examples/USER-MISC/drip/log.30Apr19.CH_drip.g++.4 diff --git a/examples/PACKAGES/USER-MISC/drip/log.30Apr19.C_drip.g++.1 b/examples/USER-MISC/drip/log.30Apr19.C_drip.g++.1 similarity index 100% rename from examples/PACKAGES/USER-MISC/drip/log.30Apr19.C_drip.g++.1 rename to examples/USER-MISC/drip/log.30Apr19.C_drip.g++.1 diff --git a/examples/PACKAGES/USER-MISC/drip/log.30Apr19.C_drip.g++.4 b/examples/USER-MISC/drip/log.30Apr19.C_drip.g++.4 similarity index 100% rename from examples/PACKAGES/USER-MISC/drip/log.30Apr19.C_drip.g++.4 rename to examples/USER-MISC/drip/log.30Apr19.C_drip.g++.4 diff --git a/examples/PACKAGES/USER-MISC/e3b/README b/examples/USER-MISC/e3b/README similarity index 100% rename from examples/PACKAGES/USER-MISC/e3b/README rename to examples/USER-MISC/e3b/README diff --git a/examples/PACKAGES/USER-MISC/e3b/e3b_box.data b/examples/USER-MISC/e3b/e3b_box.data similarity index 100% rename from examples/PACKAGES/USER-MISC/e3b/e3b_box.data rename to examples/USER-MISC/e3b/e3b_box.data diff --git a/examples/PACKAGES/USER-MISC/e3b/in.e3b-tip4p2005 b/examples/USER-MISC/e3b/in.e3b-tip4p2005 similarity index 100% rename from examples/PACKAGES/USER-MISC/e3b/in.e3b-tip4p2005 rename to examples/USER-MISC/e3b/in.e3b-tip4p2005 diff --git a/examples/PACKAGES/USER-MISC/e3b/log.29Mar2019.e3b-tip4p2005.g++.1 b/examples/USER-MISC/e3b/log.29Mar2019.e3b-tip4p2005.g++.1 similarity index 100% rename from examples/PACKAGES/USER-MISC/e3b/log.29Mar2019.e3b-tip4p2005.g++.1 rename to examples/USER-MISC/e3b/log.29Mar2019.e3b-tip4p2005.g++.1 diff --git a/examples/PACKAGES/USER-MISC/e3b/log.29Mar2019.e3b-tip4p2005.g++.4 b/examples/USER-MISC/e3b/log.29Mar2019.e3b-tip4p2005.g++.4 similarity index 100% rename from examples/PACKAGES/USER-MISC/e3b/log.29Mar2019.e3b-tip4p2005.g++.4 rename to examples/USER-MISC/e3b/log.29Mar2019.e3b-tip4p2005.g++.4 diff --git a/examples/PACKAGES/USER-MISC/edip/Si.edip b/examples/USER-MISC/edip/Si.edip similarity index 100% rename from examples/PACKAGES/USER-MISC/edip/Si.edip rename to examples/USER-MISC/edip/Si.edip diff --git a/examples/PACKAGES/USER-MISC/edip/SiC.edip b/examples/USER-MISC/edip/SiC.edip similarity index 100% rename from examples/PACKAGES/USER-MISC/edip/SiC.edip rename to examples/USER-MISC/edip/SiC.edip diff --git a/examples/PACKAGES/USER-MISC/edip/data.SiC b/examples/USER-MISC/edip/data.SiC similarity index 100% rename from examples/PACKAGES/USER-MISC/edip/data.SiC rename to examples/USER-MISC/edip/data.SiC diff --git a/examples/PACKAGES/USER-MISC/edip/in.edip-Si b/examples/USER-MISC/edip/in.edip-Si similarity index 100% rename from examples/PACKAGES/USER-MISC/edip/in.edip-Si rename to examples/USER-MISC/edip/in.edip-Si diff --git a/examples/PACKAGES/USER-MISC/edip/in.edip-Si-multi b/examples/USER-MISC/edip/in.edip-Si-multi similarity index 100% rename from examples/PACKAGES/USER-MISC/edip/in.edip-Si-multi rename to examples/USER-MISC/edip/in.edip-Si-multi diff --git a/examples/PACKAGES/USER-MISC/edip/in.edip-SiC b/examples/USER-MISC/edip/in.edip-SiC similarity index 100% rename from examples/PACKAGES/USER-MISC/edip/in.edip-SiC rename to examples/USER-MISC/edip/in.edip-SiC diff --git a/examples/PACKAGES/USER-MISC/edip/log.4May2017.g++.edip-Si-multi.1 b/examples/USER-MISC/edip/log.4May2017.g++.edip-Si-multi.1 similarity index 100% rename from examples/PACKAGES/USER-MISC/edip/log.4May2017.g++.edip-Si-multi.1 rename to examples/USER-MISC/edip/log.4May2017.g++.edip-Si-multi.1 diff --git a/examples/PACKAGES/USER-MISC/edip/log.4May2017.g++.edip-Si-multi.4 b/examples/USER-MISC/edip/log.4May2017.g++.edip-Si-multi.4 similarity index 100% rename from examples/PACKAGES/USER-MISC/edip/log.4May2017.g++.edip-Si-multi.4 rename to examples/USER-MISC/edip/log.4May2017.g++.edip-Si-multi.4 diff --git a/examples/PACKAGES/USER-MISC/edip/log.4May2017.g++.edip-Si.1 b/examples/USER-MISC/edip/log.4May2017.g++.edip-Si.1 similarity index 100% rename from examples/PACKAGES/USER-MISC/edip/log.4May2017.g++.edip-Si.1 rename to examples/USER-MISC/edip/log.4May2017.g++.edip-Si.1 diff --git a/examples/PACKAGES/USER-MISC/edip/log.4May2017.g++.edip-Si.4 b/examples/USER-MISC/edip/log.4May2017.g++.edip-Si.4 similarity index 100% rename from examples/PACKAGES/USER-MISC/edip/log.4May2017.g++.edip-Si.4 rename to examples/USER-MISC/edip/log.4May2017.g++.edip-Si.4 diff --git a/examples/PACKAGES/USER-MISC/edip/log.4May2017.g++.edip-SiC.1 b/examples/USER-MISC/edip/log.4May2017.g++.edip-SiC.1 similarity index 100% rename from examples/PACKAGES/USER-MISC/edip/log.4May2017.g++.edip-SiC.1 rename to examples/USER-MISC/edip/log.4May2017.g++.edip-SiC.1 diff --git a/examples/PACKAGES/USER-MISC/edip/log.4May2017.g++.edip-SiC.4 b/examples/USER-MISC/edip/log.4May2017.g++.edip-SiC.4 similarity index 100% rename from examples/PACKAGES/USER-MISC/edip/log.4May2017.g++.edip-SiC.4 rename to examples/USER-MISC/edip/log.4May2017.g++.edip-SiC.4 diff --git a/examples/PACKAGES/USER-MISC/ees/Data_region b/examples/USER-MISC/ees/Data_region similarity index 100% rename from examples/PACKAGES/USER-MISC/ees/Data_region rename to examples/USER-MISC/ees/Data_region diff --git a/examples/PACKAGES/USER-MISC/ees/Data_wall b/examples/USER-MISC/ees/Data_wall similarity index 100% rename from examples/PACKAGES/USER-MISC/ees/Data_wall rename to examples/USER-MISC/ees/Data_wall diff --git a/examples/PACKAGES/USER-MISC/ees/README b/examples/USER-MISC/ees/README similarity index 100% rename from examples/PACKAGES/USER-MISC/ees/README rename to examples/USER-MISC/ees/README diff --git a/examples/PACKAGES/USER-MISC/ees/in.fix_wall b/examples/USER-MISC/ees/in.fix_wall similarity index 100% rename from examples/PACKAGES/USER-MISC/ees/in.fix_wall rename to examples/USER-MISC/ees/in.fix_wall diff --git a/examples/PACKAGES/USER-MISC/ees/in.fix_wall_region b/examples/USER-MISC/ees/in.fix_wall_region similarity index 100% rename from examples/PACKAGES/USER-MISC/ees/in.fix_wall_region rename to examples/USER-MISC/ees/in.fix_wall_region diff --git a/examples/PACKAGES/USER-MISC/ees/log.23Jun17.fix_wall.g++.1 b/examples/USER-MISC/ees/log.23Jun17.fix_wall.g++.1 similarity index 100% rename from examples/PACKAGES/USER-MISC/ees/log.23Jun17.fix_wall.g++.1 rename to examples/USER-MISC/ees/log.23Jun17.fix_wall.g++.1 diff --git a/examples/PACKAGES/USER-MISC/ees/log.23Jun17.fix_wall.g++.4 b/examples/USER-MISC/ees/log.23Jun17.fix_wall.g++.4 similarity index 100% rename from examples/PACKAGES/USER-MISC/ees/log.23Jun17.fix_wall.g++.4 rename to examples/USER-MISC/ees/log.23Jun17.fix_wall.g++.4 diff --git a/examples/PACKAGES/USER-MISC/ees/log.23Jun17.fix_wall_region.g++.1 b/examples/USER-MISC/ees/log.23Jun17.fix_wall_region.g++.1 similarity index 100% rename from examples/PACKAGES/USER-MISC/ees/log.23Jun17.fix_wall_region.g++.1 rename to examples/USER-MISC/ees/log.23Jun17.fix_wall_region.g++.1 diff --git a/examples/PACKAGES/USER-MISC/ees/log.23Jun17.fix_wall_region.g++.4 b/examples/USER-MISC/ees/log.23Jun17.fix_wall_region.g++.4 similarity index 100% rename from examples/PACKAGES/USER-MISC/ees/log.23Jun17.fix_wall_region.g++.4 rename to examples/USER-MISC/ees/log.23Jun17.fix_wall_region.g++.4 diff --git a/examples/PACKAGES/USER-MISC/electron_stopping/Si.Si.elstop b/examples/USER-MISC/electron_stopping/Si.Si.elstop similarity index 100% rename from examples/PACKAGES/USER-MISC/electron_stopping/Si.Si.elstop rename to examples/USER-MISC/electron_stopping/Si.Si.elstop diff --git a/examples/PACKAGES/USER-MISC/electron_stopping/Si.sw b/examples/USER-MISC/electron_stopping/Si.sw similarity index 100% rename from examples/PACKAGES/USER-MISC/electron_stopping/Si.sw rename to examples/USER-MISC/electron_stopping/Si.sw diff --git a/examples/PACKAGES/USER-MISC/electron_stopping/in.cascade_AlCu b/examples/USER-MISC/electron_stopping/in.cascade_AlCu similarity index 100% rename from examples/PACKAGES/USER-MISC/electron_stopping/in.cascade_AlCu rename to examples/USER-MISC/electron_stopping/in.cascade_AlCu diff --git a/examples/PACKAGES/USER-MISC/electron_stopping/in.cascade_SiSi b/examples/USER-MISC/electron_stopping/in.cascade_SiSi similarity index 100% rename from examples/PACKAGES/USER-MISC/electron_stopping/in.cascade_SiSi rename to examples/USER-MISC/electron_stopping/in.cascade_SiSi diff --git a/examples/PACKAGES/USER-MISC/electron_stopping/in.elstop b/examples/USER-MISC/electron_stopping/in.elstop similarity index 100% rename from examples/PACKAGES/USER-MISC/electron_stopping/in.elstop rename to examples/USER-MISC/electron_stopping/in.elstop diff --git a/examples/PACKAGES/USER-MISC/electron_stopping/in.elstop.only b/examples/USER-MISC/electron_stopping/in.elstop.only similarity index 100% rename from examples/PACKAGES/USER-MISC/electron_stopping/in.elstop.only rename to examples/USER-MISC/electron_stopping/in.elstop.only diff --git a/examples/PACKAGES/USER-MISC/electron_stopping/log.18Sep2020.cascade_AlCu.intel.1 b/examples/USER-MISC/electron_stopping/log.18Sep2020.cascade_AlCu.intel.1 similarity index 100% rename from examples/PACKAGES/USER-MISC/electron_stopping/log.18Sep2020.cascade_AlCu.intel.1 rename to examples/USER-MISC/electron_stopping/log.18Sep2020.cascade_AlCu.intel.1 diff --git a/examples/PACKAGES/USER-MISC/electron_stopping/log.18Sep2020.cascade_AlCu.intel.4 b/examples/USER-MISC/electron_stopping/log.18Sep2020.cascade_AlCu.intel.4 similarity index 100% rename from examples/PACKAGES/USER-MISC/electron_stopping/log.18Sep2020.cascade_AlCu.intel.4 rename to examples/USER-MISC/electron_stopping/log.18Sep2020.cascade_AlCu.intel.4 diff --git a/examples/PACKAGES/USER-MISC/electron_stopping/log.18Sep2020.cascade_SiSi.intel.1 b/examples/USER-MISC/electron_stopping/log.18Sep2020.cascade_SiSi.intel.1 similarity index 100% rename from examples/PACKAGES/USER-MISC/electron_stopping/log.18Sep2020.cascade_SiSi.intel.1 rename to examples/USER-MISC/electron_stopping/log.18Sep2020.cascade_SiSi.intel.1 diff --git a/examples/PACKAGES/USER-MISC/electron_stopping/log.18Sep2020.cascade_SiSi.intel.4 b/examples/USER-MISC/electron_stopping/log.18Sep2020.cascade_SiSi.intel.4 similarity index 100% rename from examples/PACKAGES/USER-MISC/electron_stopping/log.18Sep2020.cascade_SiSi.intel.4 rename to examples/USER-MISC/electron_stopping/log.18Sep2020.cascade_SiSi.intel.4 diff --git a/examples/PACKAGES/USER-MISC/electron_stopping/log.20Mar19.elstop.g++.1 b/examples/USER-MISC/electron_stopping/log.20Mar19.elstop.g++.1 similarity index 100% rename from examples/PACKAGES/USER-MISC/electron_stopping/log.20Mar19.elstop.g++.1 rename to examples/USER-MISC/electron_stopping/log.20Mar19.elstop.g++.1 diff --git a/examples/PACKAGES/USER-MISC/electron_stopping/log.20Mar19.elstop.g++.4 b/examples/USER-MISC/electron_stopping/log.20Mar19.elstop.g++.4 similarity index 100% rename from examples/PACKAGES/USER-MISC/electron_stopping/log.20Mar19.elstop.g++.4 rename to examples/USER-MISC/electron_stopping/log.20Mar19.elstop.g++.4 diff --git a/examples/PACKAGES/USER-MISC/electron_stopping/log.20Mar19.elstop.only.g++.1 b/examples/USER-MISC/electron_stopping/log.20Mar19.elstop.only.g++.1 similarity index 100% rename from examples/PACKAGES/USER-MISC/electron_stopping/log.20Mar19.elstop.only.g++.1 rename to examples/USER-MISC/electron_stopping/log.20Mar19.elstop.only.g++.1 diff --git a/examples/PACKAGES/USER-MISC/electron_stopping/log.20Mar19.elstop.only.g++.4 b/examples/USER-MISC/electron_stopping/log.20Mar19.elstop.only.g++.4 similarity index 100% rename from examples/PACKAGES/USER-MISC/electron_stopping/log.20Mar19.elstop.only.g++.4 rename to examples/USER-MISC/electron_stopping/log.20Mar19.elstop.only.g++.4 diff --git a/examples/PACKAGES/USER-MISC/entropy/Na_MendelevM_2014.eam.fs b/examples/USER-MISC/entropy/Na_MendelevM_2014.eam.fs similarity index 100% rename from examples/PACKAGES/USER-MISC/entropy/Na_MendelevM_2014.eam.fs rename to examples/USER-MISC/entropy/Na_MendelevM_2014.eam.fs diff --git a/examples/PACKAGES/USER-MISC/entropy/data.interface b/examples/USER-MISC/entropy/data.interface similarity index 100% rename from examples/PACKAGES/USER-MISC/entropy/data.interface rename to examples/USER-MISC/entropy/data.interface diff --git a/examples/PACKAGES/USER-MISC/entropy/in.entropy b/examples/USER-MISC/entropy/in.entropy similarity index 100% rename from examples/PACKAGES/USER-MISC/entropy/in.entropy rename to examples/USER-MISC/entropy/in.entropy diff --git a/examples/PACKAGES/USER-MISC/entropy/log.entropy b/examples/USER-MISC/entropy/log.entropy similarity index 100% rename from examples/PACKAGES/USER-MISC/entropy/log.entropy rename to examples/USER-MISC/entropy/log.entropy diff --git a/examples/PACKAGES/USER-MISC/extep/BN.data b/examples/USER-MISC/extep/BN.data similarity index 100% rename from examples/PACKAGES/USER-MISC/extep/BN.data rename to examples/USER-MISC/extep/BN.data diff --git a/examples/PACKAGES/USER-MISC/extep/in.extep-bn b/examples/USER-MISC/extep/in.extep-bn similarity index 100% rename from examples/PACKAGES/USER-MISC/extep/in.extep-bn rename to examples/USER-MISC/extep/in.extep-bn diff --git a/examples/PACKAGES/USER-MISC/extep/log.23Oct17.extep-bn.g++.1 b/examples/USER-MISC/extep/log.23Oct17.extep-bn.g++.1 similarity index 100% rename from examples/PACKAGES/USER-MISC/extep/log.23Oct17.extep-bn.g++.1 rename to examples/USER-MISC/extep/log.23Oct17.extep-bn.g++.1 diff --git a/examples/PACKAGES/USER-MISC/extep/log.23Oct17.extep-bn.g++.4 b/examples/USER-MISC/extep/log.23Oct17.extep-bn.g++.4 similarity index 100% rename from examples/PACKAGES/USER-MISC/extep/log.23Oct17.extep-bn.g++.4 rename to examples/USER-MISC/extep/log.23Oct17.extep-bn.g++.4 diff --git a/examples/PACKAGES/USER-MISC/filter_corotate/data.bpti b/examples/USER-MISC/filter_corotate/data.bpti similarity index 100% rename from examples/PACKAGES/USER-MISC/filter_corotate/data.bpti rename to examples/USER-MISC/filter_corotate/data.bpti diff --git a/examples/PACKAGES/USER-MISC/filter_corotate/data.peptide b/examples/USER-MISC/filter_corotate/data.peptide similarity index 100% rename from examples/PACKAGES/USER-MISC/filter_corotate/data.peptide rename to examples/USER-MISC/filter_corotate/data.peptide diff --git a/examples/PACKAGES/USER-MISC/filter_corotate/in.bpti b/examples/USER-MISC/filter_corotate/in.bpti similarity index 100% rename from examples/PACKAGES/USER-MISC/filter_corotate/in.bpti rename to examples/USER-MISC/filter_corotate/in.bpti diff --git a/examples/PACKAGES/USER-MISC/filter_corotate/in.peptide b/examples/USER-MISC/filter_corotate/in.peptide similarity index 100% rename from examples/PACKAGES/USER-MISC/filter_corotate/in.peptide rename to examples/USER-MISC/filter_corotate/in.peptide diff --git a/examples/PACKAGES/USER-MISC/filter_corotate/log.22Jun2017.bpti.g++.1 b/examples/USER-MISC/filter_corotate/log.22Jun2017.bpti.g++.1 similarity index 100% rename from examples/PACKAGES/USER-MISC/filter_corotate/log.22Jun2017.bpti.g++.1 rename to examples/USER-MISC/filter_corotate/log.22Jun2017.bpti.g++.1 diff --git a/examples/PACKAGES/USER-MISC/filter_corotate/log.22Jun2017.bpti.g++.4 b/examples/USER-MISC/filter_corotate/log.22Jun2017.bpti.g++.4 similarity index 100% rename from examples/PACKAGES/USER-MISC/filter_corotate/log.22Jun2017.bpti.g++.4 rename to examples/USER-MISC/filter_corotate/log.22Jun2017.bpti.g++.4 diff --git a/examples/PACKAGES/USER-MISC/filter_corotate/log.22Jun2017.peptide.g++.1 b/examples/USER-MISC/filter_corotate/log.22Jun2017.peptide.g++.1 similarity index 100% rename from examples/PACKAGES/USER-MISC/filter_corotate/log.22Jun2017.peptide.g++.1 rename to examples/USER-MISC/filter_corotate/log.22Jun2017.peptide.g++.1 diff --git a/examples/PACKAGES/USER-MISC/filter_corotate/log.22Jun2017.peptide.g++.4 b/examples/USER-MISC/filter_corotate/log.22Jun2017.peptide.g++.4 similarity index 100% rename from examples/PACKAGES/USER-MISC/filter_corotate/log.22Jun2017.peptide.g++.4 rename to examples/USER-MISC/filter_corotate/log.22Jun2017.peptide.g++.4 diff --git a/examples/PACKAGES/USER-MISC/flow_gauss/README b/examples/USER-MISC/flow_gauss/README similarity index 100% rename from examples/PACKAGES/USER-MISC/flow_gauss/README rename to examples/USER-MISC/flow_gauss/README diff --git a/examples/PACKAGES/USER-MISC/flow_gauss/in.GD b/examples/USER-MISC/flow_gauss/in.GD similarity index 100% rename from examples/PACKAGES/USER-MISC/flow_gauss/in.GD rename to examples/USER-MISC/flow_gauss/in.GD diff --git a/examples/PACKAGES/USER-MISC/flow_gauss/log.6Jul17.GD.g++.1 b/examples/USER-MISC/flow_gauss/log.6Jul17.GD.g++.1 similarity index 100% rename from examples/PACKAGES/USER-MISC/flow_gauss/log.6Jul17.GD.g++.1 rename to examples/USER-MISC/flow_gauss/log.6Jul17.GD.g++.1 diff --git a/examples/PACKAGES/USER-MISC/flow_gauss/log.6Jul17.GD.g++.4 b/examples/USER-MISC/flow_gauss/log.6Jul17.GD.g++.4 similarity index 100% rename from examples/PACKAGES/USER-MISC/flow_gauss/log.6Jul17.GD.g++.4 rename to examples/USER-MISC/flow_gauss/log.6Jul17.GD.g++.4 diff --git a/examples/PACKAGES/USER-MISC/flow_gauss/output-files/GD.out b/examples/USER-MISC/flow_gauss/output-files/GD.out similarity index 100% rename from examples/PACKAGES/USER-MISC/flow_gauss/output-files/GD.out rename to examples/USER-MISC/flow_gauss/output-files/GD.out diff --git a/examples/PACKAGES/USER-MISC/flow_gauss/output-files/Vy_profile b/examples/USER-MISC/flow_gauss/output-files/Vy_profile similarity index 100% rename from examples/PACKAGES/USER-MISC/flow_gauss/output-files/Vy_profile rename to examples/USER-MISC/flow_gauss/output-files/Vy_profile diff --git a/examples/PACKAGES/USER-MISC/flow_gauss/output-files/x_profiles b/examples/USER-MISC/flow_gauss/output-files/x_profiles similarity index 100% rename from examples/PACKAGES/USER-MISC/flow_gauss/output-files/x_profiles rename to examples/USER-MISC/flow_gauss/output-files/x_profiles diff --git a/examples/PACKAGES/USER-MISC/gauss_diel/data.gauss-diel b/examples/USER-MISC/gauss_diel/data.gauss-diel similarity index 100% rename from examples/PACKAGES/USER-MISC/gauss_diel/data.gauss-diel rename to examples/USER-MISC/gauss_diel/data.gauss-diel diff --git a/examples/PACKAGES/USER-MISC/gauss_diel/in.gauss-diel b/examples/USER-MISC/gauss_diel/in.gauss-diel similarity index 100% rename from examples/PACKAGES/USER-MISC/gauss_diel/in.gauss-diel rename to examples/USER-MISC/gauss_diel/in.gauss-diel diff --git a/examples/PACKAGES/USER-MISC/gauss_diel/in.gauss-diel-cg b/examples/USER-MISC/gauss_diel/in.gauss-diel-cg similarity index 100% rename from examples/PACKAGES/USER-MISC/gauss_diel/in.gauss-diel-cg rename to examples/USER-MISC/gauss_diel/in.gauss-diel-cg diff --git a/examples/PACKAGES/USER-MISC/gauss_diel/in.gauss-diel-split b/examples/USER-MISC/gauss_diel/in.gauss-diel-split similarity index 100% rename from examples/PACKAGES/USER-MISC/gauss_diel/in.gauss-diel-split rename to examples/USER-MISC/gauss_diel/in.gauss-diel-split diff --git a/examples/PACKAGES/USER-MISC/gauss_diel/log.gauss-diel b/examples/USER-MISC/gauss_diel/log.gauss-diel similarity index 100% rename from examples/PACKAGES/USER-MISC/gauss_diel/log.gauss-diel rename to examples/USER-MISC/gauss_diel/log.gauss-diel diff --git a/examples/PACKAGES/USER-MISC/gauss_diel/log.gauss-diel-cg b/examples/USER-MISC/gauss_diel/log.gauss-diel-cg similarity index 100% rename from examples/PACKAGES/USER-MISC/gauss_diel/log.gauss-diel-cg rename to examples/USER-MISC/gauss_diel/log.gauss-diel-cg diff --git a/examples/PACKAGES/USER-MISC/gauss_diel/log.gauss-diel-split b/examples/USER-MISC/gauss_diel/log.gauss-diel-split similarity index 100% rename from examples/PACKAGES/USER-MISC/gauss_diel/log.gauss-diel-split rename to examples/USER-MISC/gauss_diel/log.gauss-diel-split diff --git a/examples/PACKAGES/USER-MISC/gle/data.h2o-quantum b/examples/USER-MISC/gle/data.h2o-quantum similarity index 100% rename from examples/PACKAGES/USER-MISC/gle/data.h2o-quantum rename to examples/USER-MISC/gle/data.h2o-quantum diff --git a/examples/PACKAGES/USER-MISC/gle/data.h2o-smart b/examples/USER-MISC/gle/data.h2o-smart similarity index 100% rename from examples/PACKAGES/USER-MISC/gle/data.h2o-smart rename to examples/USER-MISC/gle/data.h2o-smart diff --git a/examples/PACKAGES/USER-MISC/gle/in.h2o-quantum b/examples/USER-MISC/gle/in.h2o-quantum similarity index 100% rename from examples/PACKAGES/USER-MISC/gle/in.h2o-quantum rename to examples/USER-MISC/gle/in.h2o-quantum diff --git a/examples/PACKAGES/USER-MISC/gle/in.h2o-smart b/examples/USER-MISC/gle/in.h2o-smart similarity index 100% rename from examples/PACKAGES/USER-MISC/gle/in.h2o-smart rename to examples/USER-MISC/gle/in.h2o-smart diff --git a/examples/PACKAGES/USER-MISC/gle/log.h2o-quantum b/examples/USER-MISC/gle/log.h2o-quantum similarity index 100% rename from examples/PACKAGES/USER-MISC/gle/log.h2o-quantum rename to examples/USER-MISC/gle/log.h2o-quantum diff --git a/examples/PACKAGES/USER-MISC/gle/log.h2o-smart b/examples/USER-MISC/gle/log.h2o-smart similarity index 100% rename from examples/PACKAGES/USER-MISC/gle/log.h2o-smart rename to examples/USER-MISC/gle/log.h2o-smart diff --git a/examples/PACKAGES/USER-MISC/gle/qt-300k.A b/examples/USER-MISC/gle/qt-300k.A similarity index 100% rename from examples/PACKAGES/USER-MISC/gle/qt-300k.A rename to examples/USER-MISC/gle/qt-300k.A diff --git a/examples/PACKAGES/USER-MISC/gle/qt-300k.C b/examples/USER-MISC/gle/qt-300k.C similarity index 100% rename from examples/PACKAGES/USER-MISC/gle/qt-300k.C rename to examples/USER-MISC/gle/qt-300k.C diff --git a/examples/PACKAGES/USER-MISC/gle/smart.A b/examples/USER-MISC/gle/smart.A similarity index 100% rename from examples/PACKAGES/USER-MISC/gle/smart.A rename to examples/USER-MISC/gle/smart.A diff --git a/examples/PACKAGES/USER-MISC/grem/README b/examples/USER-MISC/grem/README similarity index 100% rename from examples/PACKAGES/USER-MISC/grem/README rename to examples/USER-MISC/grem/README diff --git a/examples/PACKAGES/USER-MISC/grem/lj-6rep/400/restart.init b/examples/USER-MISC/grem/lj-6rep/400/restart.init similarity index 100% rename from examples/PACKAGES/USER-MISC/grem/lj-6rep/400/restart.init rename to examples/USER-MISC/grem/lj-6rep/400/restart.init diff --git a/examples/PACKAGES/USER-MISC/grem/lj-6rep/405/restart.init b/examples/USER-MISC/grem/lj-6rep/405/restart.init similarity index 100% rename from examples/PACKAGES/USER-MISC/grem/lj-6rep/405/restart.init rename to examples/USER-MISC/grem/lj-6rep/405/restart.init diff --git a/examples/PACKAGES/USER-MISC/grem/lj-6rep/410/restart.init b/examples/USER-MISC/grem/lj-6rep/410/restart.init similarity index 100% rename from examples/PACKAGES/USER-MISC/grem/lj-6rep/410/restart.init rename to examples/USER-MISC/grem/lj-6rep/410/restart.init diff --git a/examples/PACKAGES/USER-MISC/grem/lj-6rep/415/restart.init b/examples/USER-MISC/grem/lj-6rep/415/restart.init similarity index 100% rename from examples/PACKAGES/USER-MISC/grem/lj-6rep/415/restart.init rename to examples/USER-MISC/grem/lj-6rep/415/restart.init diff --git a/examples/PACKAGES/USER-MISC/grem/lj-6rep/420/restart.init b/examples/USER-MISC/grem/lj-6rep/420/restart.init similarity index 100% rename from examples/PACKAGES/USER-MISC/grem/lj-6rep/420/restart.init rename to examples/USER-MISC/grem/lj-6rep/420/restart.init diff --git a/examples/PACKAGES/USER-MISC/grem/lj-6rep/425/restart.init b/examples/USER-MISC/grem/lj-6rep/425/restart.init similarity index 100% rename from examples/PACKAGES/USER-MISC/grem/lj-6rep/425/restart.init rename to examples/USER-MISC/grem/lj-6rep/425/restart.init diff --git a/examples/PACKAGES/USER-MISC/grem/lj-6rep/clean.sh b/examples/USER-MISC/grem/lj-6rep/clean.sh similarity index 100% rename from examples/PACKAGES/USER-MISC/grem/lj-6rep/clean.sh rename to examples/USER-MISC/grem/lj-6rep/clean.sh diff --git a/examples/PACKAGES/USER-MISC/grem/lj-6rep/double-re-short.py b/examples/USER-MISC/grem/lj-6rep/double-re-short.py similarity index 100% rename from examples/PACKAGES/USER-MISC/grem/lj-6rep/double-re-short.py rename to examples/USER-MISC/grem/lj-6rep/double-re-short.py diff --git a/examples/PACKAGES/USER-MISC/grem/lj-6rep/in.gREM b/examples/USER-MISC/grem/lj-6rep/in.gREM similarity index 100% rename from examples/PACKAGES/USER-MISC/grem/lj-6rep/in.gREM rename to examples/USER-MISC/grem/lj-6rep/in.gREM diff --git a/examples/PACKAGES/USER-MISC/grem/lj-6rep/run.sh b/examples/USER-MISC/grem/lj-6rep/run.sh similarity index 100% rename from examples/PACKAGES/USER-MISC/grem/lj-6rep/run.sh rename to examples/USER-MISC/grem/lj-6rep/run.sh diff --git a/examples/PACKAGES/USER-MISC/grem/lj-6rep/walker.bkp b/examples/USER-MISC/grem/lj-6rep/walker.bkp similarity index 100% rename from examples/PACKAGES/USER-MISC/grem/lj-6rep/walker.bkp rename to examples/USER-MISC/grem/lj-6rep/walker.bkp diff --git a/examples/PACKAGES/USER-MISC/grem/lj-single/in.gREM-npt b/examples/USER-MISC/grem/lj-single/in.gREM-npt similarity index 100% rename from examples/PACKAGES/USER-MISC/grem/lj-single/in.gREM-npt rename to examples/USER-MISC/grem/lj-single/in.gREM-npt diff --git a/examples/PACKAGES/USER-MISC/grem/lj-single/in.gREM-nvt b/examples/USER-MISC/grem/lj-single/in.gREM-nvt similarity index 100% rename from examples/PACKAGES/USER-MISC/grem/lj-single/in.gREM-nvt rename to examples/USER-MISC/grem/lj-single/in.gREM-nvt diff --git a/examples/PACKAGES/USER-MISC/grem/lj-single/lj.data b/examples/USER-MISC/grem/lj-single/lj.data similarity index 100% rename from examples/PACKAGES/USER-MISC/grem/lj-single/lj.data rename to examples/USER-MISC/grem/lj-single/lj.data diff --git a/examples/PACKAGES/USER-MISC/grem/lj-single/log.gREM-npt.9Nov16.g++.1 b/examples/USER-MISC/grem/lj-single/log.gREM-npt.9Nov16.g++.1 similarity index 100% rename from examples/PACKAGES/USER-MISC/grem/lj-single/log.gREM-npt.9Nov16.g++.1 rename to examples/USER-MISC/grem/lj-single/log.gREM-npt.9Nov16.g++.1 diff --git a/examples/PACKAGES/USER-MISC/grem/lj-single/log.gREM-npt.9Nov16.g++.4 b/examples/USER-MISC/grem/lj-single/log.gREM-npt.9Nov16.g++.4 similarity index 100% rename from examples/PACKAGES/USER-MISC/grem/lj-single/log.gREM-npt.9Nov16.g++.4 rename to examples/USER-MISC/grem/lj-single/log.gREM-npt.9Nov16.g++.4 diff --git a/examples/PACKAGES/USER-MISC/grem/lj-single/log.gREM-nvt.9Nov16.g++.1 b/examples/USER-MISC/grem/lj-single/log.gREM-nvt.9Nov16.g++.1 similarity index 100% rename from examples/PACKAGES/USER-MISC/grem/lj-single/log.gREM-nvt.9Nov16.g++.1 rename to examples/USER-MISC/grem/lj-single/log.gREM-nvt.9Nov16.g++.1 diff --git a/examples/PACKAGES/USER-MISC/grem/lj-single/log.gREM-nvt.9Nov16.g++.4 b/examples/USER-MISC/grem/lj-single/log.gREM-nvt.9Nov16.g++.4 similarity index 100% rename from examples/PACKAGES/USER-MISC/grem/lj-single/log.gREM-nvt.9Nov16.g++.4 rename to examples/USER-MISC/grem/lj-single/log.gREM-nvt.9Nov16.g++.4 diff --git a/examples/PACKAGES/USER-MISC/grem/lj-temper/0/lj.data b/examples/USER-MISC/grem/lj-temper/0/lj.data similarity index 100% rename from examples/PACKAGES/USER-MISC/grem/lj-temper/0/lj.data rename to examples/USER-MISC/grem/lj-temper/0/lj.data diff --git a/examples/PACKAGES/USER-MISC/grem/lj-temper/0/log.lammps.0 b/examples/USER-MISC/grem/lj-temper/0/log.lammps.0 similarity index 100% rename from examples/PACKAGES/USER-MISC/grem/lj-temper/0/log.lammps.0 rename to examples/USER-MISC/grem/lj-temper/0/log.lammps.0 diff --git a/examples/PACKAGES/USER-MISC/grem/lj-temper/1/lj.data b/examples/USER-MISC/grem/lj-temper/1/lj.data similarity index 100% rename from examples/PACKAGES/USER-MISC/grem/lj-temper/1/lj.data rename to examples/USER-MISC/grem/lj-temper/1/lj.data diff --git a/examples/PACKAGES/USER-MISC/grem/lj-temper/1/log.lammps.1 b/examples/USER-MISC/grem/lj-temper/1/log.lammps.1 similarity index 100% rename from examples/PACKAGES/USER-MISC/grem/lj-temper/1/log.lammps.1 rename to examples/USER-MISC/grem/lj-temper/1/log.lammps.1 diff --git a/examples/PACKAGES/USER-MISC/grem/lj-temper/2/lj.data b/examples/USER-MISC/grem/lj-temper/2/lj.data similarity index 100% rename from examples/PACKAGES/USER-MISC/grem/lj-temper/2/lj.data rename to examples/USER-MISC/grem/lj-temper/2/lj.data diff --git a/examples/PACKAGES/USER-MISC/grem/lj-temper/2/log.lammps.2 b/examples/USER-MISC/grem/lj-temper/2/log.lammps.2 similarity index 100% rename from examples/PACKAGES/USER-MISC/grem/lj-temper/2/log.lammps.2 rename to examples/USER-MISC/grem/lj-temper/2/log.lammps.2 diff --git a/examples/PACKAGES/USER-MISC/grem/lj-temper/3/lj.data b/examples/USER-MISC/grem/lj-temper/3/lj.data similarity index 100% rename from examples/PACKAGES/USER-MISC/grem/lj-temper/3/lj.data rename to examples/USER-MISC/grem/lj-temper/3/lj.data diff --git a/examples/PACKAGES/USER-MISC/grem/lj-temper/3/log.lammps.3 b/examples/USER-MISC/grem/lj-temper/3/log.lammps.3 similarity index 100% rename from examples/PACKAGES/USER-MISC/grem/lj-temper/3/log.lammps.3 rename to examples/USER-MISC/grem/lj-temper/3/log.lammps.3 diff --git a/examples/PACKAGES/USER-MISC/grem/lj-temper/in.gREM-temper b/examples/USER-MISC/grem/lj-temper/in.gREM-temper similarity index 100% rename from examples/PACKAGES/USER-MISC/grem/lj-temper/in.gREM-temper rename to examples/USER-MISC/grem/lj-temper/in.gREM-temper diff --git a/examples/PACKAGES/USER-MISC/hma/README b/examples/USER-MISC/hma/README similarity index 100% rename from examples/PACKAGES/USER-MISC/hma/README rename to examples/USER-MISC/hma/README diff --git a/examples/PACKAGES/USER-MISC/hma/hma.in b/examples/USER-MISC/hma/hma.in similarity index 100% rename from examples/PACKAGES/USER-MISC/hma/hma.in rename to examples/USER-MISC/hma/hma.in diff --git a/examples/PACKAGES/USER-MISC/hma/log.6Nov18.hma.g++.1 b/examples/USER-MISC/hma/log.6Nov18.hma.g++.1 similarity index 100% rename from examples/PACKAGES/USER-MISC/hma/log.6Nov18.hma.g++.1 rename to examples/USER-MISC/hma/log.6Nov18.hma.g++.1 diff --git a/examples/PACKAGES/USER-MISC/hma/log.6Nov18.hma.g++.4 b/examples/USER-MISC/hma/log.6Nov18.hma.g++.4 similarity index 100% rename from examples/PACKAGES/USER-MISC/hma/log.6Nov18.hma.g++.4 rename to examples/USER-MISC/hma/log.6Nov18.hma.g++.4 diff --git a/examples/PACKAGES/USER-MISC/ilp_graphene_hbn/BNC.tersoff b/examples/USER-MISC/ilp_graphene_hbn/BNC.tersoff similarity index 100% rename from examples/PACKAGES/USER-MISC/ilp_graphene_hbn/BNC.tersoff rename to examples/USER-MISC/ilp_graphene_hbn/BNC.tersoff diff --git a/examples/PACKAGES/USER-MISC/ilp_graphene_hbn/BNCH-old.ILP b/examples/USER-MISC/ilp_graphene_hbn/BNCH-old.ILP similarity index 100% rename from examples/PACKAGES/USER-MISC/ilp_graphene_hbn/BNCH-old.ILP rename to examples/USER-MISC/ilp_graphene_hbn/BNCH-old.ILP diff --git a/examples/PACKAGES/USER-MISC/ilp_graphene_hbn/Bi_gr_AB_stack_2L_noH.data b/examples/USER-MISC/ilp_graphene_hbn/Bi_gr_AB_stack_2L_noH.data similarity index 100% rename from examples/PACKAGES/USER-MISC/ilp_graphene_hbn/Bi_gr_AB_stack_2L_noH.data rename to examples/USER-MISC/ilp_graphene_hbn/Bi_gr_AB_stack_2L_noH.data diff --git a/examples/PACKAGES/USER-MISC/ilp_graphene_hbn/gr_hBN_Cstack_2L_noH.data b/examples/USER-MISC/ilp_graphene_hbn/gr_hBN_Cstack_2L_noH.data similarity index 100% rename from examples/PACKAGES/USER-MISC/ilp_graphene_hbn/gr_hBN_Cstack_2L_noH.data rename to examples/USER-MISC/ilp_graphene_hbn/gr_hBN_Cstack_2L_noH.data diff --git a/examples/PACKAGES/USER-MISC/ilp_graphene_hbn/hBN_AA_prime_stack_2L_noH.data b/examples/USER-MISC/ilp_graphene_hbn/hBN_AA_prime_stack_2L_noH.data similarity index 100% rename from examples/PACKAGES/USER-MISC/ilp_graphene_hbn/hBN_AA_prime_stack_2L_noH.data rename to examples/USER-MISC/ilp_graphene_hbn/hBN_AA_prime_stack_2L_noH.data diff --git a/examples/PACKAGES/USER-MISC/ilp_graphene_hbn/hBN_AB_stack_2L_noH_equi_300K.data b/examples/USER-MISC/ilp_graphene_hbn/hBN_AB_stack_2L_noH_equi_300K.data similarity index 100% rename from examples/PACKAGES/USER-MISC/ilp_graphene_hbn/hBN_AB_stack_2L_noH_equi_300K.data rename to examples/USER-MISC/ilp_graphene_hbn/hBN_AB_stack_2L_noH_equi_300K.data diff --git a/examples/PACKAGES/USER-MISC/ilp_graphene_hbn/in.bilayer-graphene b/examples/USER-MISC/ilp_graphene_hbn/in.bilayer-graphene similarity index 100% rename from examples/PACKAGES/USER-MISC/ilp_graphene_hbn/in.bilayer-graphene rename to examples/USER-MISC/ilp_graphene_hbn/in.bilayer-graphene diff --git a/examples/PACKAGES/USER-MISC/ilp_graphene_hbn/in.bilayer-hBN b/examples/USER-MISC/ilp_graphene_hbn/in.bilayer-hBN similarity index 100% rename from examples/PACKAGES/USER-MISC/ilp_graphene_hbn/in.bilayer-hBN rename to examples/USER-MISC/ilp_graphene_hbn/in.bilayer-hBN diff --git a/examples/PACKAGES/USER-MISC/ilp_graphene_hbn/in.grhBN b/examples/USER-MISC/ilp_graphene_hbn/in.grhBN similarity index 100% rename from examples/PACKAGES/USER-MISC/ilp_graphene_hbn/in.grhBN rename to examples/USER-MISC/ilp_graphene_hbn/in.grhBN diff --git a/examples/PACKAGES/USER-MISC/ilp_graphene_hbn/in.ilp_graphene_hbn b/examples/USER-MISC/ilp_graphene_hbn/in.ilp_graphene_hbn similarity index 100% rename from examples/PACKAGES/USER-MISC/ilp_graphene_hbn/in.ilp_graphene_hbn rename to examples/USER-MISC/ilp_graphene_hbn/in.ilp_graphene_hbn diff --git a/examples/PACKAGES/USER-MISC/ilp_graphene_hbn/log.31Jul19.bilayer-graphene.g++.1 b/examples/USER-MISC/ilp_graphene_hbn/log.31Jul19.bilayer-graphene.g++.1 similarity index 100% rename from examples/PACKAGES/USER-MISC/ilp_graphene_hbn/log.31Jul19.bilayer-graphene.g++.1 rename to examples/USER-MISC/ilp_graphene_hbn/log.31Jul19.bilayer-graphene.g++.1 diff --git a/examples/PACKAGES/USER-MISC/ilp_graphene_hbn/log.31Jul19.bilayer-graphene.g++.4 b/examples/USER-MISC/ilp_graphene_hbn/log.31Jul19.bilayer-graphene.g++.4 similarity index 100% rename from examples/PACKAGES/USER-MISC/ilp_graphene_hbn/log.31Jul19.bilayer-graphene.g++.4 rename to examples/USER-MISC/ilp_graphene_hbn/log.31Jul19.bilayer-graphene.g++.4 diff --git a/examples/PACKAGES/USER-MISC/ilp_graphene_hbn/log.31Jul19.bilayer-hBN.g++.1 b/examples/USER-MISC/ilp_graphene_hbn/log.31Jul19.bilayer-hBN.g++.1 similarity index 100% rename from examples/PACKAGES/USER-MISC/ilp_graphene_hbn/log.31Jul19.bilayer-hBN.g++.1 rename to examples/USER-MISC/ilp_graphene_hbn/log.31Jul19.bilayer-hBN.g++.1 diff --git a/examples/PACKAGES/USER-MISC/ilp_graphene_hbn/log.31Jul19.bilayer-hBN.g++.4 b/examples/USER-MISC/ilp_graphene_hbn/log.31Jul19.bilayer-hBN.g++.4 similarity index 100% rename from examples/PACKAGES/USER-MISC/ilp_graphene_hbn/log.31Jul19.bilayer-hBN.g++.4 rename to examples/USER-MISC/ilp_graphene_hbn/log.31Jul19.bilayer-hBN.g++.4 diff --git a/examples/PACKAGES/USER-MISC/ilp_graphene_hbn/log.31Jul19.grhBN.g++.1 b/examples/USER-MISC/ilp_graphene_hbn/log.31Jul19.grhBN.g++.1 similarity index 100% rename from examples/PACKAGES/USER-MISC/ilp_graphene_hbn/log.31Jul19.grhBN.g++.1 rename to examples/USER-MISC/ilp_graphene_hbn/log.31Jul19.grhBN.g++.1 diff --git a/examples/PACKAGES/USER-MISC/ilp_graphene_hbn/log.31Jul19.grhBN.g++.4 b/examples/USER-MISC/ilp_graphene_hbn/log.31Jul19.grhBN.g++.4 similarity index 100% rename from examples/PACKAGES/USER-MISC/ilp_graphene_hbn/log.31Jul19.grhBN.g++.4 rename to examples/USER-MISC/ilp_graphene_hbn/log.31Jul19.grhBN.g++.4 diff --git a/examples/PACKAGES/USER-MISC/ilp_graphene_hbn/log.31Jul19.ilp_graphene_hbn.g++.1 b/examples/USER-MISC/ilp_graphene_hbn/log.31Jul19.ilp_graphene_hbn.g++.1 similarity index 100% rename from examples/PACKAGES/USER-MISC/ilp_graphene_hbn/log.31Jul19.ilp_graphene_hbn.g++.1 rename to examples/USER-MISC/ilp_graphene_hbn/log.31Jul19.ilp_graphene_hbn.g++.1 diff --git a/examples/PACKAGES/USER-MISC/ilp_graphene_hbn/log.31Jul19.ilp_graphene_hbn.g++.4 b/examples/USER-MISC/ilp_graphene_hbn/log.31Jul19.ilp_graphene_hbn.g++.4 similarity index 100% rename from examples/PACKAGES/USER-MISC/ilp_graphene_hbn/log.31Jul19.ilp_graphene_hbn.g++.4 rename to examples/USER-MISC/ilp_graphene_hbn/log.31Jul19.ilp_graphene_hbn.g++.4 diff --git a/examples/PACKAGES/USER-MISC/imd/README b/examples/USER-MISC/imd/README similarity index 100% rename from examples/PACKAGES/USER-MISC/imd/README rename to examples/USER-MISC/imd/README diff --git a/examples/PACKAGES/USER-MISC/imd/bucky-plus-cnt-mol.psf b/examples/USER-MISC/imd/bucky-plus-cnt-mol.psf similarity index 100% rename from examples/PACKAGES/USER-MISC/imd/bucky-plus-cnt-mol.psf rename to examples/USER-MISC/imd/bucky-plus-cnt-mol.psf diff --git a/examples/PACKAGES/USER-MISC/imd/bucky_cnt_imd.vmd b/examples/USER-MISC/imd/bucky_cnt_imd.vmd similarity index 100% rename from examples/PACKAGES/USER-MISC/imd/bucky_cnt_imd.vmd rename to examples/USER-MISC/imd/bucky_cnt_imd.vmd diff --git a/examples/PACKAGES/USER-MISC/imd/data.bucky-plus-cnt b/examples/USER-MISC/imd/data.bucky-plus-cnt similarity index 100% rename from examples/PACKAGES/USER-MISC/imd/data.bucky-plus-cnt rename to examples/USER-MISC/imd/data.bucky-plus-cnt diff --git a/examples/PACKAGES/USER-MISC/imd/data.deca-ala-solv b/examples/USER-MISC/imd/data.deca-ala-solv similarity index 100% rename from examples/PACKAGES/USER-MISC/imd/data.deca-ala-solv rename to examples/USER-MISC/imd/data.deca-ala-solv diff --git a/examples/PACKAGES/USER-MISC/imd/deca-ala-solv.psf b/examples/USER-MISC/imd/deca-ala-solv.psf similarity index 100% rename from examples/PACKAGES/USER-MISC/imd/deca-ala-solv.psf rename to examples/USER-MISC/imd/deca-ala-solv.psf diff --git a/examples/PACKAGES/USER-MISC/imd/deca-ala-solv_imd-demo.vmd b/examples/USER-MISC/imd/deca-ala-solv_imd-demo.vmd similarity index 100% rename from examples/PACKAGES/USER-MISC/imd/deca-ala-solv_imd-demo.vmd rename to examples/USER-MISC/imd/deca-ala-solv_imd-demo.vmd diff --git a/examples/PACKAGES/USER-MISC/imd/deca-ala.psf b/examples/USER-MISC/imd/deca-ala.psf similarity index 100% rename from examples/PACKAGES/USER-MISC/imd/deca-ala.psf rename to examples/USER-MISC/imd/deca-ala.psf diff --git a/examples/PACKAGES/USER-MISC/imd/deca-ala_imd-demo.vmd b/examples/USER-MISC/imd/deca-ala_imd-demo.vmd similarity index 100% rename from examples/PACKAGES/USER-MISC/imd/deca-ala_imd-demo.vmd rename to examples/USER-MISC/imd/deca-ala_imd-demo.vmd diff --git a/examples/PACKAGES/USER-MISC/imd/falcon.tcl b/examples/USER-MISC/imd/falcon.tcl similarity index 100% rename from examples/PACKAGES/USER-MISC/imd/falcon.tcl rename to examples/USER-MISC/imd/falcon.tcl diff --git a/examples/PACKAGES/USER-MISC/imd/in.bucky-plus-cnt b/examples/USER-MISC/imd/in.bucky-plus-cnt similarity index 100% rename from examples/PACKAGES/USER-MISC/imd/in.bucky-plus-cnt rename to examples/USER-MISC/imd/in.bucky-plus-cnt diff --git a/examples/PACKAGES/USER-MISC/imd/in.bucky-plus-cnt-gpu b/examples/USER-MISC/imd/in.bucky-plus-cnt-gpu similarity index 100% rename from examples/PACKAGES/USER-MISC/imd/in.bucky-plus-cnt-gpu rename to examples/USER-MISC/imd/in.bucky-plus-cnt-gpu diff --git a/examples/PACKAGES/USER-MISC/imd/in.deca-ala-solv-filter_imd b/examples/USER-MISC/imd/in.deca-ala-solv-filter_imd similarity index 100% rename from examples/PACKAGES/USER-MISC/imd/in.deca-ala-solv-filter_imd rename to examples/USER-MISC/imd/in.deca-ala-solv-filter_imd diff --git a/examples/PACKAGES/USER-MISC/imd/in.deca-ala-solv_imd b/examples/USER-MISC/imd/in.deca-ala-solv_imd similarity index 100% rename from examples/PACKAGES/USER-MISC/imd/in.deca-ala-solv_imd rename to examples/USER-MISC/imd/in.deca-ala-solv_imd diff --git a/examples/PACKAGES/USER-MISC/imd/in.deca-ala_imd b/examples/USER-MISC/imd/in.deca-ala_imd similarity index 100% rename from examples/PACKAGES/USER-MISC/imd/in.deca-ala_imd rename to examples/USER-MISC/imd/in.deca-ala_imd diff --git a/examples/PACKAGES/USER-MISC/imd/in.deca-ala_imd-gpu b/examples/USER-MISC/imd/in.deca-ala_imd-gpu similarity index 100% rename from examples/PACKAGES/USER-MISC/imd/in.deca-ala_imd-gpu rename to examples/USER-MISC/imd/in.deca-ala_imd-gpu diff --git a/examples/PACKAGES/USER-MISC/imd/in.melt_imd b/examples/USER-MISC/imd/in.melt_imd similarity index 100% rename from examples/PACKAGES/USER-MISC/imd/in.melt_imd rename to examples/USER-MISC/imd/in.melt_imd diff --git a/examples/PACKAGES/USER-MISC/imd/in.melt_imd-gpu b/examples/USER-MISC/imd/in.melt_imd-gpu similarity index 100% rename from examples/PACKAGES/USER-MISC/imd/in.melt_imd-gpu rename to examples/USER-MISC/imd/in.melt_imd-gpu diff --git a/examples/PACKAGES/USER-MISC/imd/melt.psf b/examples/USER-MISC/imd/melt.psf similarity index 100% rename from examples/PACKAGES/USER-MISC/imd/melt.psf rename to examples/USER-MISC/imd/melt.psf diff --git a/examples/PACKAGES/USER-MISC/imd/melt_imd-demo.vmd b/examples/USER-MISC/imd/melt_imd-demo.vmd similarity index 100% rename from examples/PACKAGES/USER-MISC/imd/melt_imd-demo.vmd rename to examples/USER-MISC/imd/melt_imd-demo.vmd diff --git a/examples/PACKAGES/USER-MISC/ipi/C.opt.tersoff b/examples/USER-MISC/ipi/C.opt.tersoff similarity index 100% rename from examples/PACKAGES/USER-MISC/ipi/C.opt.tersoff rename to examples/USER-MISC/ipi/C.opt.tersoff diff --git a/examples/PACKAGES/USER-MISC/ipi/README b/examples/USER-MISC/ipi/README similarity index 100% rename from examples/PACKAGES/USER-MISC/ipi/README rename to examples/USER-MISC/ipi/README diff --git a/examples/PACKAGES/USER-MISC/ipi/data.graphene b/examples/USER-MISC/ipi/data.graphene similarity index 100% rename from examples/PACKAGES/USER-MISC/ipi/data.graphene rename to examples/USER-MISC/ipi/data.graphene diff --git a/examples/PACKAGES/USER-MISC/ipi/i-pi_input.xml b/examples/USER-MISC/ipi/i-pi_input.xml similarity index 100% rename from examples/PACKAGES/USER-MISC/ipi/i-pi_input.xml rename to examples/USER-MISC/ipi/i-pi_input.xml diff --git a/examples/PACKAGES/USER-MISC/ipi/i-pi_positions.xyz b/examples/USER-MISC/ipi/i-pi_positions.xyz similarity index 100% rename from examples/PACKAGES/USER-MISC/ipi/i-pi_positions.xyz rename to examples/USER-MISC/ipi/i-pi_positions.xyz diff --git a/examples/PACKAGES/USER-MISC/ipi/in.graphene b/examples/USER-MISC/ipi/in.graphene similarity index 100% rename from examples/PACKAGES/USER-MISC/ipi/in.graphene rename to examples/USER-MISC/ipi/in.graphene diff --git a/examples/PACKAGES/USER-MISC/kolmogorov_crespi_full/Bi_gr_AB_stack_2L_noH.data b/examples/USER-MISC/kolmogorov_crespi_full/Bi_gr_AB_stack_2L_noH.data similarity index 100% rename from examples/PACKAGES/USER-MISC/kolmogorov_crespi_full/Bi_gr_AB_stack_2L_noH.data rename to examples/USER-MISC/kolmogorov_crespi_full/Bi_gr_AB_stack_2L_noH.data diff --git a/examples/PACKAGES/USER-MISC/kolmogorov_crespi_full/Bi_gr_AB_stack_2L_noH_300K.data b/examples/USER-MISC/kolmogorov_crespi_full/Bi_gr_AB_stack_2L_noH_300K.data similarity index 100% rename from examples/PACKAGES/USER-MISC/kolmogorov_crespi_full/Bi_gr_AB_stack_2L_noH_300K.data rename to examples/USER-MISC/kolmogorov_crespi_full/Bi_gr_AB_stack_2L_noH_300K.data diff --git a/examples/PACKAGES/USER-MISC/kolmogorov_crespi_full/CC.KC-full b/examples/USER-MISC/kolmogorov_crespi_full/CC.KC-full similarity index 100% rename from examples/PACKAGES/USER-MISC/kolmogorov_crespi_full/CC.KC-full rename to examples/USER-MISC/kolmogorov_crespi_full/CC.KC-full diff --git a/examples/PACKAGES/USER-MISC/kolmogorov_crespi_full/CH.KC b/examples/USER-MISC/kolmogorov_crespi_full/CH.KC similarity index 100% rename from examples/PACKAGES/USER-MISC/kolmogorov_crespi_full/CH.KC rename to examples/USER-MISC/kolmogorov_crespi_full/CH.KC diff --git a/examples/PACKAGES/USER-MISC/kolmogorov_crespi_full/CH.rebo b/examples/USER-MISC/kolmogorov_crespi_full/CH.rebo similarity index 100% rename from examples/PACKAGES/USER-MISC/kolmogorov_crespi_full/CH.rebo rename to examples/USER-MISC/kolmogorov_crespi_full/CH.rebo diff --git a/examples/PACKAGES/USER-MISC/kolmogorov_crespi_full/CH_taper.KC b/examples/USER-MISC/kolmogorov_crespi_full/CH_taper.KC similarity index 100% rename from examples/PACKAGES/USER-MISC/kolmogorov_crespi_full/CH_taper.KC rename to examples/USER-MISC/kolmogorov_crespi_full/CH_taper.KC diff --git a/examples/PACKAGES/USER-MISC/kolmogorov_crespi_full/in.bilayer-graphene b/examples/USER-MISC/kolmogorov_crespi_full/in.bilayer-graphene similarity index 100% rename from examples/PACKAGES/USER-MISC/kolmogorov_crespi_full/in.bilayer-graphene rename to examples/USER-MISC/kolmogorov_crespi_full/in.bilayer-graphene diff --git a/examples/PACKAGES/USER-MISC/kolmogorov_crespi_full/log.5Jun19.bilayer-graphene.g++.1 b/examples/USER-MISC/kolmogorov_crespi_full/log.5Jun19.bilayer-graphene.g++.1 similarity index 100% rename from examples/PACKAGES/USER-MISC/kolmogorov_crespi_full/log.5Jun19.bilayer-graphene.g++.1 rename to examples/USER-MISC/kolmogorov_crespi_full/log.5Jun19.bilayer-graphene.g++.1 diff --git a/examples/PACKAGES/USER-MISC/kolmogorov_crespi_full/log.5Jun19.bilayer-graphene.g++.4 b/examples/USER-MISC/kolmogorov_crespi_full/log.5Jun19.bilayer-graphene.g++.4 similarity index 100% rename from examples/PACKAGES/USER-MISC/kolmogorov_crespi_full/log.5Jun19.bilayer-graphene.g++.4 rename to examples/USER-MISC/kolmogorov_crespi_full/log.5Jun19.bilayer-graphene.g++.4 diff --git a/examples/PACKAGES/USER-MISC/kolmogorov_crespi_full/log.5Jun19.bilayer-graphene.icc.1 b/examples/USER-MISC/kolmogorov_crespi_full/log.5Jun19.bilayer-graphene.icc.1 similarity index 100% rename from examples/PACKAGES/USER-MISC/kolmogorov_crespi_full/log.5Jun19.bilayer-graphene.icc.1 rename to examples/USER-MISC/kolmogorov_crespi_full/log.5Jun19.bilayer-graphene.icc.1 diff --git a/examples/PACKAGES/USER-MISC/kolmogorov_crespi_full/log.5Jun19.bilayer-graphene.icc.4 b/examples/USER-MISC/kolmogorov_crespi_full/log.5Jun19.bilayer-graphene.icc.4 similarity index 100% rename from examples/PACKAGES/USER-MISC/kolmogorov_crespi_full/log.5Jun19.bilayer-graphene.icc.4 rename to examples/USER-MISC/kolmogorov_crespi_full/log.5Jun19.bilayer-graphene.icc.4 diff --git a/examples/PACKAGES/USER-MISC/kolmogorov_crespi_z/CC.KC b/examples/USER-MISC/kolmogorov_crespi_z/CC.KC similarity index 100% rename from examples/PACKAGES/USER-MISC/kolmogorov_crespi_z/CC.KC rename to examples/USER-MISC/kolmogorov_crespi_z/CC.KC diff --git a/examples/PACKAGES/USER-MISC/kolmogorov_crespi_z/CH.rebo b/examples/USER-MISC/kolmogorov_crespi_z/CH.rebo similarity index 100% rename from examples/PACKAGES/USER-MISC/kolmogorov_crespi_z/CH.rebo rename to examples/USER-MISC/kolmogorov_crespi_z/CH.rebo diff --git a/examples/PACKAGES/USER-MISC/kolmogorov_crespi_z/data.bilayer-graphene b/examples/USER-MISC/kolmogorov_crespi_z/data.bilayer-graphene similarity index 100% rename from examples/PACKAGES/USER-MISC/kolmogorov_crespi_z/data.bilayer-graphene rename to examples/USER-MISC/kolmogorov_crespi_z/data.bilayer-graphene diff --git a/examples/PACKAGES/USER-MISC/kolmogorov_crespi_z/data.graphene-adsorbant b/examples/USER-MISC/kolmogorov_crespi_z/data.graphene-adsorbant similarity index 100% rename from examples/PACKAGES/USER-MISC/kolmogorov_crespi_z/data.graphene-adsorbant rename to examples/USER-MISC/kolmogorov_crespi_z/data.graphene-adsorbant diff --git a/examples/PACKAGES/USER-MISC/kolmogorov_crespi_z/in.atom-diffusion b/examples/USER-MISC/kolmogorov_crespi_z/in.atom-diffusion similarity index 100% rename from examples/PACKAGES/USER-MISC/kolmogorov_crespi_z/in.atom-diffusion rename to examples/USER-MISC/kolmogorov_crespi_z/in.atom-diffusion diff --git a/examples/PACKAGES/USER-MISC/kolmogorov_crespi_z/in.bilayer-graphene b/examples/USER-MISC/kolmogorov_crespi_z/in.bilayer-graphene similarity index 100% rename from examples/PACKAGES/USER-MISC/kolmogorov_crespi_z/in.bilayer-graphene rename to examples/USER-MISC/kolmogorov_crespi_z/in.bilayer-graphene diff --git a/examples/PACKAGES/USER-MISC/kolmogorov_crespi_z/log.16Mar18.atom-diffusion.g++.1 b/examples/USER-MISC/kolmogorov_crespi_z/log.16Mar18.atom-diffusion.g++.1 similarity index 100% rename from examples/PACKAGES/USER-MISC/kolmogorov_crespi_z/log.16Mar18.atom-diffusion.g++.1 rename to examples/USER-MISC/kolmogorov_crespi_z/log.16Mar18.atom-diffusion.g++.1 diff --git a/examples/PACKAGES/USER-MISC/kolmogorov_crespi_z/log.16Mar18.atom-diffusion.g++.4 b/examples/USER-MISC/kolmogorov_crespi_z/log.16Mar18.atom-diffusion.g++.4 similarity index 100% rename from examples/PACKAGES/USER-MISC/kolmogorov_crespi_z/log.16Mar18.atom-diffusion.g++.4 rename to examples/USER-MISC/kolmogorov_crespi_z/log.16Mar18.atom-diffusion.g++.4 diff --git a/examples/PACKAGES/USER-MISC/kolmogorov_crespi_z/log.30Apr19.bilayer-graphene.g++.1 b/examples/USER-MISC/kolmogorov_crespi_z/log.30Apr19.bilayer-graphene.g++.1 similarity index 100% rename from examples/PACKAGES/USER-MISC/kolmogorov_crespi_z/log.30Apr19.bilayer-graphene.g++.1 rename to examples/USER-MISC/kolmogorov_crespi_z/log.30Apr19.bilayer-graphene.g++.1 diff --git a/examples/PACKAGES/USER-MISC/kolmogorov_crespi_z/log.30Apr19.bilayer-graphene.g++.4 b/examples/USER-MISC/kolmogorov_crespi_z/log.30Apr19.bilayer-graphene.g++.4 similarity index 100% rename from examples/PACKAGES/USER-MISC/kolmogorov_crespi_z/log.30Apr19.bilayer-graphene.g++.4 rename to examples/USER-MISC/kolmogorov_crespi_z/log.30Apr19.bilayer-graphene.g++.4 diff --git a/examples/PACKAGES/USER-MISC/lebedeva/2particles.dat b/examples/USER-MISC/lebedeva/2particles.dat similarity index 100% rename from examples/PACKAGES/USER-MISC/lebedeva/2particles.dat rename to examples/USER-MISC/lebedeva/2particles.dat diff --git a/examples/PACKAGES/USER-MISC/lebedeva/2particles.in b/examples/USER-MISC/lebedeva/2particles.in similarity index 100% rename from examples/PACKAGES/USER-MISC/lebedeva/2particles.in rename to examples/USER-MISC/lebedeva/2particles.in diff --git a/examples/PACKAGES/USER-MISC/lebedeva/CC.Lebedeva b/examples/USER-MISC/lebedeva/CC.Lebedeva similarity index 100% rename from examples/PACKAGES/USER-MISC/lebedeva/CC.Lebedeva rename to examples/USER-MISC/lebedeva/CC.Lebedeva diff --git a/examples/PACKAGES/USER-MISC/lebedeva/LammpsResult.dat b/examples/USER-MISC/lebedeva/LammpsResult.dat similarity index 100% rename from examples/PACKAGES/USER-MISC/lebedeva/LammpsResult.dat rename to examples/USER-MISC/lebedeva/LammpsResult.dat diff --git a/examples/PACKAGES/USER-MISC/lebedeva/LebDer.pl b/examples/USER-MISC/lebedeva/LebDer.pl similarity index 100% rename from examples/PACKAGES/USER-MISC/lebedeva/LebDer.pl rename to examples/USER-MISC/lebedeva/LebDer.pl diff --git a/examples/PACKAGES/USER-MISC/lebedeva/lebedeva00.plot b/examples/USER-MISC/lebedeva/lebedeva00.plot similarity index 100% rename from examples/PACKAGES/USER-MISC/lebedeva/lebedeva00.plot rename to examples/USER-MISC/lebedeva/lebedeva00.plot diff --git a/examples/PACKAGES/USER-MISC/local_density/benzene_water/benzene_water.data b/examples/USER-MISC/local_density/benzene_water/benzene_water.data similarity index 100% rename from examples/PACKAGES/USER-MISC/local_density/benzene_water/benzene_water.data rename to examples/USER-MISC/local_density/benzene_water/benzene_water.data diff --git a/examples/PACKAGES/USER-MISC/local_density/benzene_water/benzene_water.in b/examples/USER-MISC/local_density/benzene_water/benzene_water.in similarity index 100% rename from examples/PACKAGES/USER-MISC/local_density/benzene_water/benzene_water.in rename to examples/USER-MISC/local_density/benzene_water/benzene_water.in diff --git a/examples/PACKAGES/USER-MISC/local_density/benzene_water/benzene_water.localdensity.table b/examples/USER-MISC/local_density/benzene_water/benzene_water.localdensity.table similarity index 100% rename from examples/PACKAGES/USER-MISC/local_density/benzene_water/benzene_water.localdensity.table rename to examples/USER-MISC/local_density/benzene_water/benzene_water.localdensity.table diff --git a/examples/PACKAGES/USER-MISC/local_density/benzene_water/benzene_water.pair.table b/examples/USER-MISC/local_density/benzene_water/benzene_water.pair.table similarity index 100% rename from examples/PACKAGES/USER-MISC/local_density/benzene_water/benzene_water.pair.table rename to examples/USER-MISC/local_density/benzene_water/benzene_water.pair.table diff --git a/examples/PACKAGES/USER-MISC/local_density/benzene_water/log.04Sep19.g++.1 b/examples/USER-MISC/local_density/benzene_water/log.04Sep19.g++.1 similarity index 100% rename from examples/PACKAGES/USER-MISC/local_density/benzene_water/log.04Sep19.g++.1 rename to examples/USER-MISC/local_density/benzene_water/log.04Sep19.g++.1 diff --git a/examples/PACKAGES/USER-MISC/local_density/methanol_implicit_water/log.04Sep19.g++.1 b/examples/USER-MISC/local_density/methanol_implicit_water/log.04Sep19.g++.1 similarity index 100% rename from examples/PACKAGES/USER-MISC/local_density/methanol_implicit_water/log.04Sep19.g++.1 rename to examples/USER-MISC/local_density/methanol_implicit_water/log.04Sep19.g++.1 diff --git a/examples/PACKAGES/USER-MISC/local_density/methanol_implicit_water/methanol_implicit_water.data b/examples/USER-MISC/local_density/methanol_implicit_water/methanol_implicit_water.data similarity index 100% rename from examples/PACKAGES/USER-MISC/local_density/methanol_implicit_water/methanol_implicit_water.data rename to examples/USER-MISC/local_density/methanol_implicit_water/methanol_implicit_water.data diff --git a/examples/PACKAGES/USER-MISC/local_density/methanol_implicit_water/methanol_implicit_water.in b/examples/USER-MISC/local_density/methanol_implicit_water/methanol_implicit_water.in similarity index 100% rename from examples/PACKAGES/USER-MISC/local_density/methanol_implicit_water/methanol_implicit_water.in rename to examples/USER-MISC/local_density/methanol_implicit_water/methanol_implicit_water.in diff --git a/examples/PACKAGES/USER-MISC/local_density/methanol_implicit_water/methanol_implicit_water.localdensity.table b/examples/USER-MISC/local_density/methanol_implicit_water/methanol_implicit_water.localdensity.table similarity index 100% rename from examples/PACKAGES/USER-MISC/local_density/methanol_implicit_water/methanol_implicit_water.localdensity.table rename to examples/USER-MISC/local_density/methanol_implicit_water/methanol_implicit_water.localdensity.table diff --git a/examples/PACKAGES/USER-MISC/local_density/methanol_implicit_water/methanol_implicit_water.pair.table b/examples/USER-MISC/local_density/methanol_implicit_water/methanol_implicit_water.pair.table similarity index 100% rename from examples/PACKAGES/USER-MISC/local_density/methanol_implicit_water/methanol_implicit_water.pair.table rename to examples/USER-MISC/local_density/methanol_implicit_water/methanol_implicit_water.pair.table diff --git a/examples/PACKAGES/USER-MISC/meam_spline/Si_1.meam.spline b/examples/USER-MISC/meam_spline/Si_1.meam.spline similarity index 100% rename from examples/PACKAGES/USER-MISC/meam_spline/Si_1.meam.spline rename to examples/USER-MISC/meam_spline/Si_1.meam.spline diff --git a/examples/PACKAGES/USER-MISC/meam_spline/TiO.meam.spline b/examples/USER-MISC/meam_spline/TiO.meam.spline similarity index 100% rename from examples/PACKAGES/USER-MISC/meam_spline/TiO.meam.spline rename to examples/USER-MISC/meam_spline/TiO.meam.spline diff --git a/examples/PACKAGES/USER-MISC/meam_spline/in.meam-spline.Si b/examples/USER-MISC/meam_spline/in.meam-spline.Si similarity index 100% rename from examples/PACKAGES/USER-MISC/meam_spline/in.meam-spline.Si rename to examples/USER-MISC/meam_spline/in.meam-spline.Si diff --git a/examples/PACKAGES/USER-MISC/meam_spline/in.meam-spline.TiO2 b/examples/USER-MISC/meam_spline/in.meam-spline.TiO2 similarity index 100% rename from examples/PACKAGES/USER-MISC/meam_spline/in.meam-spline.TiO2 rename to examples/USER-MISC/meam_spline/in.meam-spline.TiO2 diff --git a/examples/PACKAGES/USER-MISC/meam_spline/log.4May2017.meam-spline.Si.g++.1 b/examples/USER-MISC/meam_spline/log.4May2017.meam-spline.Si.g++.1 similarity index 100% rename from examples/PACKAGES/USER-MISC/meam_spline/log.4May2017.meam-spline.Si.g++.1 rename to examples/USER-MISC/meam_spline/log.4May2017.meam-spline.Si.g++.1 diff --git a/examples/PACKAGES/USER-MISC/meam_spline/log.4May2017.meam-spline.Si.g++.4 b/examples/USER-MISC/meam_spline/log.4May2017.meam-spline.Si.g++.4 similarity index 100% rename from examples/PACKAGES/USER-MISC/meam_spline/log.4May2017.meam-spline.Si.g++.4 rename to examples/USER-MISC/meam_spline/log.4May2017.meam-spline.Si.g++.4 diff --git a/examples/PACKAGES/USER-MISC/meam_spline/log.4May2017.meam-spline.TiO2.g++.1 b/examples/USER-MISC/meam_spline/log.4May2017.meam-spline.TiO2.g++.1 similarity index 100% rename from examples/PACKAGES/USER-MISC/meam_spline/log.4May2017.meam-spline.TiO2.g++.1 rename to examples/USER-MISC/meam_spline/log.4May2017.meam-spline.TiO2.g++.1 diff --git a/examples/PACKAGES/USER-MISC/meam_spline/log.4May2017.meam-spline.TiO2.g++.4 b/examples/USER-MISC/meam_spline/log.4May2017.meam-spline.TiO2.g++.4 similarity index 100% rename from examples/PACKAGES/USER-MISC/meam_spline/log.4May2017.meam-spline.TiO2.g++.4 rename to examples/USER-MISC/meam_spline/log.4May2017.meam-spline.TiO2.g++.4 diff --git a/examples/PACKAGES/USER-MISC/meam_sw_spline/Si/bcc.in b/examples/USER-MISC/meam_sw_spline/Si/bcc.in similarity index 100% rename from examples/PACKAGES/USER-MISC/meam_sw_spline/Si/bcc.in rename to examples/USER-MISC/meam_sw_spline/Si/bcc.in diff --git a/examples/PACKAGES/USER-MISC/meam_sw_spline/Si/bcc_relax.in b/examples/USER-MISC/meam_sw_spline/Si/bcc_relax.in similarity index 100% rename from examples/PACKAGES/USER-MISC/meam_sw_spline/Si/bcc_relax.in rename to examples/USER-MISC/meam_sw_spline/Si/bcc_relax.in diff --git a/examples/PACKAGES/USER-MISC/meam_sw_spline/Si/dc.in b/examples/USER-MISC/meam_sw_spline/Si/dc.in similarity index 100% rename from examples/PACKAGES/USER-MISC/meam_sw_spline/Si/dc.in rename to examples/USER-MISC/meam_sw_spline/Si/dc.in diff --git a/examples/PACKAGES/USER-MISC/meam_sw_spline/Si/dc_relax.in b/examples/USER-MISC/meam_sw_spline/Si/dc_relax.in similarity index 100% rename from examples/PACKAGES/USER-MISC/meam_sw_spline/Si/dc_relax.in rename to examples/USER-MISC/meam_sw_spline/Si/dc_relax.in diff --git a/examples/PACKAGES/USER-MISC/meam_sw_spline/Si/energy_conservation.meam.sw.in b/examples/USER-MISC/meam_sw_spline/Si/energy_conservation.meam.sw.in similarity index 100% rename from examples/PACKAGES/USER-MISC/meam_sw_spline/Si/energy_conservation.meam.sw.in rename to examples/USER-MISC/meam_sw_spline/Si/energy_conservation.meam.sw.in diff --git a/examples/PACKAGES/USER-MISC/meam_sw_spline/Si/fcc.in b/examples/USER-MISC/meam_sw_spline/Si/fcc.in similarity index 100% rename from examples/PACKAGES/USER-MISC/meam_sw_spline/Si/fcc.in rename to examples/USER-MISC/meam_sw_spline/Si/fcc.in diff --git a/examples/PACKAGES/USER-MISC/meam_sw_spline/Si/fcc_relax.in b/examples/USER-MISC/meam_sw_spline/Si/fcc_relax.in similarity index 100% rename from examples/PACKAGES/USER-MISC/meam_sw_spline/Si/fcc_relax.in rename to examples/USER-MISC/meam_sw_spline/Si/fcc_relax.in diff --git a/examples/PACKAGES/USER-MISC/meam_sw_spline/Si/hcp_relax.in b/examples/USER-MISC/meam_sw_spline/Si/hcp_relax.in similarity index 100% rename from examples/PACKAGES/USER-MISC/meam_sw_spline/Si/hcp_relax.in rename to examples/USER-MISC/meam_sw_spline/Si/hcp_relax.in diff --git a/examples/PACKAGES/USER-MISC/meam_sw_spline/Si/sc.in b/examples/USER-MISC/meam_sw_spline/Si/sc.in similarity index 100% rename from examples/PACKAGES/USER-MISC/meam_sw_spline/Si/sc.in rename to examples/USER-MISC/meam_sw_spline/Si/sc.in diff --git a/examples/PACKAGES/USER-MISC/meam_sw_spline/Si/sc_relax.in b/examples/USER-MISC/meam_sw_spline/Si/sc_relax.in similarity index 100% rename from examples/PACKAGES/USER-MISC/meam_sw_spline/Si/sc_relax.in rename to examples/USER-MISC/meam_sw_spline/Si/sc_relax.in diff --git a/examples/PACKAGES/USER-MISC/meam_sw_spline/Si/single_atom.in b/examples/USER-MISC/meam_sw_spline/Si/single_atom.in similarity index 100% rename from examples/PACKAGES/USER-MISC/meam_sw_spline/Si/single_atom.in rename to examples/USER-MISC/meam_sw_spline/Si/single_atom.in diff --git a/examples/PACKAGES/USER-MISC/meam_sw_spline/Ti/alpha.in b/examples/USER-MISC/meam_sw_spline/Ti/alpha.in similarity index 100% rename from examples/PACKAGES/USER-MISC/meam_sw_spline/Ti/alpha.in rename to examples/USER-MISC/meam_sw_spline/Ti/alpha.in diff --git a/examples/PACKAGES/USER-MISC/meam_sw_spline/Ti/alpha_relaxation.in b/examples/USER-MISC/meam_sw_spline/Ti/alpha_relaxation.in similarity index 100% rename from examples/PACKAGES/USER-MISC/meam_sw_spline/Ti/alpha_relaxation.in rename to examples/USER-MISC/meam_sw_spline/Ti/alpha_relaxation.in diff --git a/examples/PACKAGES/USER-MISC/meam_sw_spline/Ti/beta.in b/examples/USER-MISC/meam_sw_spline/Ti/beta.in similarity index 100% rename from examples/PACKAGES/USER-MISC/meam_sw_spline/Ti/beta.in rename to examples/USER-MISC/meam_sw_spline/Ti/beta.in diff --git a/examples/PACKAGES/USER-MISC/meam_sw_spline/Ti/energy_conservation.meam.sw.in b/examples/USER-MISC/meam_sw_spline/Ti/energy_conservation.meam.sw.in similarity index 100% rename from examples/PACKAGES/USER-MISC/meam_sw_spline/Ti/energy_conservation.meam.sw.in rename to examples/USER-MISC/meam_sw_spline/Ti/energy_conservation.meam.sw.in diff --git a/examples/PACKAGES/USER-MISC/meam_sw_spline/Ti/fcc.in b/examples/USER-MISC/meam_sw_spline/Ti/fcc.in similarity index 100% rename from examples/PACKAGES/USER-MISC/meam_sw_spline/Ti/fcc.in rename to examples/USER-MISC/meam_sw_spline/Ti/fcc.in diff --git a/examples/PACKAGES/USER-MISC/meam_sw_spline/Ti/hexagonal.in b/examples/USER-MISC/meam_sw_spline/Ti/hexagonal.in similarity index 100% rename from examples/PACKAGES/USER-MISC/meam_sw_spline/Ti/hexagonal.in rename to examples/USER-MISC/meam_sw_spline/Ti/hexagonal.in diff --git a/examples/PACKAGES/USER-MISC/meam_sw_spline/Ti/omega.in b/examples/USER-MISC/meam_sw_spline/Ti/omega.in similarity index 100% rename from examples/PACKAGES/USER-MISC/meam_sw_spline/Ti/omega.in rename to examples/USER-MISC/meam_sw_spline/Ti/omega.in diff --git a/examples/PACKAGES/USER-MISC/meam_sw_spline/Ti/single_atom.in b/examples/USER-MISC/meam_sw_spline/Ti/single_atom.in similarity index 100% rename from examples/PACKAGES/USER-MISC/meam_sw_spline/Ti/single_atom.in rename to examples/USER-MISC/meam_sw_spline/Ti/single_atom.in diff --git a/examples/PACKAGES/USER-MISC/momb/Ag_O1X5.5_O2X0.55.eam.fs b/examples/USER-MISC/momb/Ag_O1X5.5_O2X0.55.eam.fs similarity index 100% rename from examples/PACKAGES/USER-MISC/momb/Ag_O1X5.5_O2X0.55.eam.fs rename to examples/USER-MISC/momb/Ag_O1X5.5_O2X0.55.eam.fs diff --git a/examples/PACKAGES/USER-MISC/momb/README b/examples/USER-MISC/momb/README similarity index 100% rename from examples/PACKAGES/USER-MISC/momb/README rename to examples/USER-MISC/momb/README diff --git a/examples/PACKAGES/USER-MISC/momb/in.system b/examples/USER-MISC/momb/in.system similarity index 100% rename from examples/PACKAGES/USER-MISC/momb/in.system rename to examples/USER-MISC/momb/in.system diff --git a/examples/PACKAGES/USER-MISC/momb/log.17Mar2017.system.g++.1 b/examples/USER-MISC/momb/log.17Mar2017.system.g++.1 similarity index 100% rename from examples/PACKAGES/USER-MISC/momb/log.17Mar2017.system.g++.1 rename to examples/USER-MISC/momb/log.17Mar2017.system.g++.1 diff --git a/examples/PACKAGES/USER-MISC/momb/log.17Mar2017.system.g++.4 b/examples/USER-MISC/momb/log.17Mar2017.system.g++.4 similarity index 100% rename from examples/PACKAGES/USER-MISC/momb/log.17Mar2017.system.g++.4 rename to examples/USER-MISC/momb/log.17Mar2017.system.g++.4 diff --git a/examples/PACKAGES/USER-MISC/momb/system.data b/examples/USER-MISC/momb/system.data similarity index 100% rename from examples/PACKAGES/USER-MISC/momb/system.data rename to examples/USER-MISC/momb/system.data diff --git a/examples/PACKAGES/USER-MISC/momentum/in.momentum b/examples/USER-MISC/momentum/in.momentum similarity index 100% rename from examples/PACKAGES/USER-MISC/momentum/in.momentum rename to examples/USER-MISC/momentum/in.momentum diff --git a/examples/PACKAGES/USER-MISC/mop/data.mop b/examples/USER-MISC/mop/data.mop similarity index 100% rename from examples/PACKAGES/USER-MISC/mop/data.mop rename to examples/USER-MISC/mop/data.mop diff --git a/examples/PACKAGES/USER-MISC/mop/in.compute_stress_mop b/examples/USER-MISC/mop/in.compute_stress_mop similarity index 100% rename from examples/PACKAGES/USER-MISC/mop/in.compute_stress_mop rename to examples/USER-MISC/mop/in.compute_stress_mop diff --git a/examples/PACKAGES/USER-MISC/mop/log.5Sep18.compute_stress_mop.g++.1 b/examples/USER-MISC/mop/log.5Sep18.compute_stress_mop.g++.1 similarity index 100% rename from examples/PACKAGES/USER-MISC/mop/log.5Sep18.compute_stress_mop.g++.1 rename to examples/USER-MISC/mop/log.5Sep18.compute_stress_mop.g++.1 diff --git a/examples/PACKAGES/USER-MISC/mop/log.5Sep18.compute_stress_mop.g++.4 b/examples/USER-MISC/mop/log.5Sep18.compute_stress_mop.g++.4 similarity index 100% rename from examples/PACKAGES/USER-MISC/mop/log.5Sep18.compute_stress_mop.g++.4 rename to examples/USER-MISC/mop/log.5Sep18.compute_stress_mop.g++.4 diff --git a/examples/PACKAGES/USER-MISC/mop/moppz.time.reference b/examples/USER-MISC/mop/moppz.time.reference similarity index 100% rename from examples/PACKAGES/USER-MISC/mop/moppz.time.reference rename to examples/USER-MISC/mop/moppz.time.reference diff --git a/examples/PACKAGES/USER-MISC/mop/mopz0.time.reference b/examples/USER-MISC/mop/mopz0.time.reference similarity index 100% rename from examples/PACKAGES/USER-MISC/mop/mopz0.time.reference rename to examples/USER-MISC/mop/mopz0.time.reference diff --git a/examples/PACKAGES/USER-MISC/orient_eco/Ni_u3.eam b/examples/USER-MISC/orient_eco/Ni_u3.eam similarity index 100% rename from examples/PACKAGES/USER-MISC/orient_eco/Ni_u3.eam rename to examples/USER-MISC/orient_eco/Ni_u3.eam diff --git a/examples/PACKAGES/USER-MISC/orient_eco/data.sigma5 b/examples/USER-MISC/orient_eco/data.sigma5 similarity index 100% rename from examples/PACKAGES/USER-MISC/orient_eco/data.sigma5 rename to examples/USER-MISC/orient_eco/data.sigma5 diff --git a/examples/PACKAGES/USER-MISC/orient_eco/in.orient_eco b/examples/USER-MISC/orient_eco/in.orient_eco similarity index 100% rename from examples/PACKAGES/USER-MISC/orient_eco/in.orient_eco rename to examples/USER-MISC/orient_eco/in.orient_eco diff --git a/examples/PACKAGES/USER-MISC/orient_eco/log.2Jun2020.orent_eco.g++.1 b/examples/USER-MISC/orient_eco/log.2Jun2020.orent_eco.g++.1 similarity index 100% rename from examples/PACKAGES/USER-MISC/orient_eco/log.2Jun2020.orent_eco.g++.1 rename to examples/USER-MISC/orient_eco/log.2Jun2020.orent_eco.g++.1 diff --git a/examples/PACKAGES/USER-MISC/orient_eco/log.2Jun2020.orent_eco.g++.4 b/examples/USER-MISC/orient_eco/log.2Jun2020.orent_eco.g++.4 similarity index 100% rename from examples/PACKAGES/USER-MISC/orient_eco/log.2Jun2020.orent_eco.g++.4 rename to examples/USER-MISC/orient_eco/log.2Jun2020.orent_eco.g++.4 diff --git a/examples/PACKAGES/USER-MISC/orient_eco/sigma5.ori b/examples/USER-MISC/orient_eco/sigma5.ori similarity index 100% rename from examples/PACKAGES/USER-MISC/orient_eco/sigma5.ori rename to examples/USER-MISC/orient_eco/sigma5.ori diff --git a/examples/PACKAGES/USER-MISC/pafi/.gitignore b/examples/USER-MISC/pafi/.gitignore similarity index 100% rename from examples/PACKAGES/USER-MISC/pafi/.gitignore rename to examples/USER-MISC/pafi/.gitignore diff --git a/examples/PACKAGES/USER-MISC/pafi/README b/examples/USER-MISC/pafi/README similarity index 100% rename from examples/PACKAGES/USER-MISC/pafi/README rename to examples/USER-MISC/pafi/README diff --git a/examples/PACKAGES/USER-MISC/pafi/in.pafi b/examples/USER-MISC/pafi/in.pafi similarity index 100% rename from examples/PACKAGES/USER-MISC/pafi/in.pafi rename to examples/USER-MISC/pafi/in.pafi diff --git a/examples/PACKAGES/USER-MISC/pafi/log.15Apr20.pafi.g++.1 b/examples/USER-MISC/pafi/log.15Apr20.pafi.g++.1 similarity index 100% rename from examples/PACKAGES/USER-MISC/pafi/log.15Apr20.pafi.g++.1 rename to examples/USER-MISC/pafi/log.15Apr20.pafi.g++.1 diff --git a/examples/PACKAGES/USER-MISC/pafi/log.15Apr20.pafi.g++.4 b/examples/USER-MISC/pafi/log.15Apr20.pafi.g++.4 similarity index 100% rename from examples/PACKAGES/USER-MISC/pafi/log.15Apr20.pafi.g++.4 rename to examples/USER-MISC/pafi/log.15Apr20.pafi.g++.4 diff --git a/examples/PACKAGES/USER-MISC/pafi/pafipath.4.data b/examples/USER-MISC/pafi/pafipath.4.data similarity index 100% rename from examples/PACKAGES/USER-MISC/pafi/pafipath.4.data rename to examples/USER-MISC/pafi/pafipath.4.data diff --git a/examples/PACKAGES/USER-MISC/pimd/para-h2/H2.data b/examples/USER-MISC/pimd/para-h2/H2.data similarity index 100% rename from examples/PACKAGES/USER-MISC/pimd/para-h2/H2.data rename to examples/USER-MISC/pimd/para-h2/H2.data diff --git a/examples/PACKAGES/USER-MISC/pimd/para-h2/H2.xyz b/examples/USER-MISC/pimd/para-h2/H2.xyz similarity index 100% rename from examples/PACKAGES/USER-MISC/pimd/para-h2/H2.xyz rename to examples/USER-MISC/pimd/para-h2/H2.xyz diff --git a/examples/PACKAGES/USER-MISC/pimd/para-h2/NM.info b/examples/USER-MISC/pimd/para-h2/NM.info similarity index 100% rename from examples/PACKAGES/USER-MISC/pimd/para-h2/NM.info rename to examples/USER-MISC/pimd/para-h2/NM.info diff --git a/examples/PACKAGES/USER-MISC/pimd/para-h2/in.scp b/examples/USER-MISC/pimd/para-h2/in.scp similarity index 100% rename from examples/PACKAGES/USER-MISC/pimd/para-h2/in.scp rename to examples/USER-MISC/pimd/para-h2/in.scp diff --git a/examples/PACKAGES/USER-MISC/pimd/para-h2/pair.table b/examples/USER-MISC/pimd/para-h2/pair.table similarity index 100% rename from examples/PACKAGES/USER-MISC/pimd/para-h2/pair.table rename to examples/USER-MISC/pimd/para-h2/pair.table diff --git a/examples/PACKAGES/USER-MISC/pimd/para-h2/run.sh b/examples/USER-MISC/pimd/para-h2/run.sh similarity index 100% rename from examples/PACKAGES/USER-MISC/pimd/para-h2/run.sh rename to examples/USER-MISC/pimd/para-h2/run.sh diff --git a/examples/PACKAGES/USER-MISC/pimd/para-h2/vmd.src b/examples/USER-MISC/pimd/para-h2/vmd.src similarity index 100% rename from examples/PACKAGES/USER-MISC/pimd/para-h2/vmd.src rename to examples/USER-MISC/pimd/para-h2/vmd.src diff --git a/examples/PACKAGES/USER-MISC/pimd/prot-hairpin/in.scp b/examples/USER-MISC/pimd/prot-hairpin/in.scp similarity index 100% rename from examples/PACKAGES/USER-MISC/pimd/prot-hairpin/in.scp rename to examples/USER-MISC/pimd/prot-hairpin/in.scp diff --git a/examples/PACKAGES/USER-MISC/pimd/prot-hairpin/run.sh b/examples/USER-MISC/pimd/prot-hairpin/run.sh similarity index 100% rename from examples/PACKAGES/USER-MISC/pimd/prot-hairpin/run.sh rename to examples/USER-MISC/pimd/prot-hairpin/run.sh diff --git a/examples/PACKAGES/USER-MISC/pimd/prot-hairpin/system.data b/examples/USER-MISC/pimd/prot-hairpin/system.data similarity index 100% rename from examples/PACKAGES/USER-MISC/pimd/prot-hairpin/system.data rename to examples/USER-MISC/pimd/prot-hairpin/system.data diff --git a/examples/PACKAGES/USER-MISC/rhok/README.md b/examples/USER-MISC/rhok/README.md similarity index 100% rename from examples/PACKAGES/USER-MISC/rhok/README.md rename to examples/USER-MISC/rhok/README.md diff --git a/examples/PACKAGES/USER-MISC/rhok/in.crystal b/examples/USER-MISC/rhok/in.crystal similarity index 100% rename from examples/PACKAGES/USER-MISC/rhok/in.crystal rename to examples/USER-MISC/rhok/in.crystal diff --git a/examples/PACKAGES/USER-MISC/rhok/in.pinning b/examples/USER-MISC/rhok/in.pinning similarity index 100% rename from examples/PACKAGES/USER-MISC/rhok/in.pinning rename to examples/USER-MISC/rhok/in.pinning diff --git a/examples/PACKAGES/USER-MISC/rhok/in.setup b/examples/USER-MISC/rhok/in.setup similarity index 100% rename from examples/PACKAGES/USER-MISC/rhok/in.setup rename to examples/USER-MISC/rhok/in.setup diff --git a/examples/PACKAGES/USER-MISC/rhok/log.22Sep2017.crystal.g++.1 b/examples/USER-MISC/rhok/log.22Sep2017.crystal.g++.1 similarity index 100% rename from examples/PACKAGES/USER-MISC/rhok/log.22Sep2017.crystal.g++.1 rename to examples/USER-MISC/rhok/log.22Sep2017.crystal.g++.1 diff --git a/examples/PACKAGES/USER-MISC/rhok/log.22Sep2017.crystal.g++.4 b/examples/USER-MISC/rhok/log.22Sep2017.crystal.g++.4 similarity index 100% rename from examples/PACKAGES/USER-MISC/rhok/log.22Sep2017.crystal.g++.4 rename to examples/USER-MISC/rhok/log.22Sep2017.crystal.g++.4 diff --git a/examples/PACKAGES/USER-MISC/rhok/log.22Sep2017.pinning.g++.1 b/examples/USER-MISC/rhok/log.22Sep2017.pinning.g++.1 similarity index 100% rename from examples/PACKAGES/USER-MISC/rhok/log.22Sep2017.pinning.g++.1 rename to examples/USER-MISC/rhok/log.22Sep2017.pinning.g++.1 diff --git a/examples/PACKAGES/USER-MISC/rhok/log.22Sep2017.pinning.g++.4 b/examples/USER-MISC/rhok/log.22Sep2017.pinning.g++.4 similarity index 100% rename from examples/PACKAGES/USER-MISC/rhok/log.22Sep2017.pinning.g++.4 rename to examples/USER-MISC/rhok/log.22Sep2017.pinning.g++.4 diff --git a/examples/PACKAGES/USER-MISC/rhok/log.22Sep2017.setup.g++.1 b/examples/USER-MISC/rhok/log.22Sep2017.setup.g++.1 similarity index 100% rename from examples/PACKAGES/USER-MISC/rhok/log.22Sep2017.setup.g++.1 rename to examples/USER-MISC/rhok/log.22Sep2017.setup.g++.1 diff --git a/examples/PACKAGES/USER-MISC/rhok/log.22Sep2017.setup.g++.4 b/examples/USER-MISC/rhok/log.22Sep2017.setup.g++.4 similarity index 100% rename from examples/PACKAGES/USER-MISC/rhok/log.22Sep2017.setup.g++.4 rename to examples/USER-MISC/rhok/log.22Sep2017.setup.g++.4 diff --git a/examples/PACKAGES/USER-MISC/slater/data.after_equilibration b/examples/USER-MISC/slater/data.after_equilibration similarity index 100% rename from examples/PACKAGES/USER-MISC/slater/data.after_equilibration rename to examples/USER-MISC/slater/data.after_equilibration diff --git a/examples/PACKAGES/USER-MISC/slater/data.after_production_run b/examples/USER-MISC/slater/data.after_production_run similarity index 100% rename from examples/PACKAGES/USER-MISC/slater/data.after_production_run rename to examples/USER-MISC/slater/data.after_production_run diff --git a/examples/PACKAGES/USER-MISC/slater/in.slater b/examples/USER-MISC/slater/in.slater similarity index 100% rename from examples/PACKAGES/USER-MISC/slater/in.slater rename to examples/USER-MISC/slater/in.slater diff --git a/examples/PACKAGES/USER-MISC/slater/log.lammps b/examples/USER-MISC/slater/log.lammps similarity index 100% rename from examples/PACKAGES/USER-MISC/slater/log.lammps rename to examples/USER-MISC/slater/log.lammps diff --git a/examples/PACKAGES/USER-MISC/slater/tmp_1_1.rdf b/examples/USER-MISC/slater/tmp_1_1.rdf similarity index 100% rename from examples/PACKAGES/USER-MISC/slater/tmp_1_1.rdf rename to examples/USER-MISC/slater/tmp_1_1.rdf diff --git a/examples/PACKAGES/USER-MISC/slater/tmp_1_2.rdf b/examples/USER-MISC/slater/tmp_1_2.rdf similarity index 100% rename from examples/PACKAGES/USER-MISC/slater/tmp_1_2.rdf rename to examples/USER-MISC/slater/tmp_1_2.rdf diff --git a/examples/PACKAGES/USER-MISC/slater/tmp_1_3.rdf b/examples/USER-MISC/slater/tmp_1_3.rdf similarity index 100% rename from examples/PACKAGES/USER-MISC/slater/tmp_1_3.rdf rename to examples/USER-MISC/slater/tmp_1_3.rdf diff --git a/examples/PACKAGES/USER-MISC/slater/tmp_2_2.rdf b/examples/USER-MISC/slater/tmp_2_2.rdf similarity index 100% rename from examples/PACKAGES/USER-MISC/slater/tmp_2_2.rdf rename to examples/USER-MISC/slater/tmp_2_2.rdf diff --git a/examples/PACKAGES/USER-MISC/slater/tmp_2_3.rdf b/examples/USER-MISC/slater/tmp_2_3.rdf similarity index 100% rename from examples/PACKAGES/USER-MISC/slater/tmp_2_3.rdf rename to examples/USER-MISC/slater/tmp_2_3.rdf diff --git a/examples/PACKAGES/USER-MISC/slater/tmp_3_3.rdf b/examples/USER-MISC/slater/tmp_3_3.rdf similarity index 100% rename from examples/PACKAGES/USER-MISC/slater/tmp_3_3.rdf rename to examples/USER-MISC/slater/tmp_3_3.rdf diff --git a/examples/PACKAGES/USER-MISC/srp/data.chain b/examples/USER-MISC/srp/data.chain similarity index 100% rename from examples/PACKAGES/USER-MISC/srp/data.chain rename to examples/USER-MISC/srp/data.chain diff --git a/examples/PACKAGES/USER-MISC/srp/in.srp b/examples/USER-MISC/srp/in.srp similarity index 100% rename from examples/PACKAGES/USER-MISC/srp/in.srp rename to examples/USER-MISC/srp/in.srp diff --git a/examples/PACKAGES/USER-MISC/temper_npt/data.peptide b/examples/USER-MISC/temper_npt/data.peptide similarity index 100% rename from examples/PACKAGES/USER-MISC/temper_npt/data.peptide rename to examples/USER-MISC/temper_npt/data.peptide diff --git a/examples/PACKAGES/USER-MISC/temper_npt/in.temper_npt b/examples/USER-MISC/temper_npt/in.temper_npt similarity index 100% rename from examples/PACKAGES/USER-MISC/temper_npt/in.temper_npt rename to examples/USER-MISC/temper_npt/in.temper_npt diff --git a/examples/PACKAGES/USER-MISC/temper_npt/log.temper_npt-17Aug17.g++.8 b/examples/USER-MISC/temper_npt/log.temper_npt-17Aug17.g++.8 similarity index 100% rename from examples/PACKAGES/USER-MISC/temper_npt/log.temper_npt-17Aug17.g++.8 rename to examples/USER-MISC/temper_npt/log.temper_npt-17Aug17.g++.8 diff --git a/examples/PACKAGES/USER-MISC/temper_npt/log.temper_npt-17Aug17.g++.8.0 b/examples/USER-MISC/temper_npt/log.temper_npt-17Aug17.g++.8.0 similarity index 100% rename from examples/PACKAGES/USER-MISC/temper_npt/log.temper_npt-17Aug17.g++.8.0 rename to examples/USER-MISC/temper_npt/log.temper_npt-17Aug17.g++.8.0 diff --git a/examples/PACKAGES/USER-MISC/temper_npt/log.temper_npt-17Aug17.g++.8.1 b/examples/USER-MISC/temper_npt/log.temper_npt-17Aug17.g++.8.1 similarity index 100% rename from examples/PACKAGES/USER-MISC/temper_npt/log.temper_npt-17Aug17.g++.8.1 rename to examples/USER-MISC/temper_npt/log.temper_npt-17Aug17.g++.8.1 diff --git a/examples/PACKAGES/USER-MISC/temper_npt/log.temper_npt-17Aug17.g++.8.2 b/examples/USER-MISC/temper_npt/log.temper_npt-17Aug17.g++.8.2 similarity index 100% rename from examples/PACKAGES/USER-MISC/temper_npt/log.temper_npt-17Aug17.g++.8.2 rename to examples/USER-MISC/temper_npt/log.temper_npt-17Aug17.g++.8.2 diff --git a/examples/PACKAGES/USER-MISC/temper_npt/log.temper_npt-17Aug17.g++.8.3 b/examples/USER-MISC/temper_npt/log.temper_npt-17Aug17.g++.8.3 similarity index 100% rename from examples/PACKAGES/USER-MISC/temper_npt/log.temper_npt-17Aug17.g++.8.3 rename to examples/USER-MISC/temper_npt/log.temper_npt-17Aug17.g++.8.3 diff --git a/examples/PACKAGES/USER-MISC/temper_npt/log.temper_npt-17Aug17.g++.8.4 b/examples/USER-MISC/temper_npt/log.temper_npt-17Aug17.g++.8.4 similarity index 100% rename from examples/PACKAGES/USER-MISC/temper_npt/log.temper_npt-17Aug17.g++.8.4 rename to examples/USER-MISC/temper_npt/log.temper_npt-17Aug17.g++.8.4 diff --git a/examples/PACKAGES/USER-MISC/temper_npt/log.temper_npt-17Aug17.g++.8.5 b/examples/USER-MISC/temper_npt/log.temper_npt-17Aug17.g++.8.5 similarity index 100% rename from examples/PACKAGES/USER-MISC/temper_npt/log.temper_npt-17Aug17.g++.8.5 rename to examples/USER-MISC/temper_npt/log.temper_npt-17Aug17.g++.8.5 diff --git a/examples/PACKAGES/USER-MISC/temper_npt/log.temper_npt-17Aug17.g++.8.6 b/examples/USER-MISC/temper_npt/log.temper_npt-17Aug17.g++.8.6 similarity index 100% rename from examples/PACKAGES/USER-MISC/temper_npt/log.temper_npt-17Aug17.g++.8.6 rename to examples/USER-MISC/temper_npt/log.temper_npt-17Aug17.g++.8.6 diff --git a/examples/PACKAGES/USER-MISC/temper_npt/log.temper_npt-17Aug17.g++.8.7 b/examples/USER-MISC/temper_npt/log.temper_npt-17Aug17.g++.8.7 similarity index 100% rename from examples/PACKAGES/USER-MISC/temper_npt/log.temper_npt-17Aug17.g++.8.7 rename to examples/USER-MISC/temper_npt/log.temper_npt-17Aug17.g++.8.7 diff --git a/examples/PACKAGES/USER-MISC/ti/in.ti_spring b/examples/USER-MISC/ti/in.ti_spring similarity index 100% rename from examples/PACKAGES/USER-MISC/ti/in.ti_spring rename to examples/USER-MISC/ti/in.ti_spring diff --git a/src/DPD-REACT/README b/src/DPD-REACT/README index 58c8d87334..c79a2455b0 100644 --- a/src/DPD-REACT/README +++ b/src/DPD-REACT/README @@ -27,7 +27,7 @@ dpd/conservative" and "pair dpd/fdt" and "pair dpd/fdt/energy" commands to get started. At the bottom of the doc page are many links to additional documentation contained in the doc/USER/dpd directory. -There are example scripts for using this package in examples/PACKAGES/dpd. +There are example scripts for using this package in examples/PACKAGES/dpd-react. The primary people who created this package are James Larentzos (james.p.larentzos.civ at mail.mil), Timothy Mattox (Timothy.Mattox at From 16002ddb54be43573a37b0fd93db43c72813a2c5 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 29 Jun 2021 21:48:57 -0400 Subject: [PATCH 318/726] rename some more example folders --- examples/PACKAGES/{mesodpd => dpd-meso}/README | 0 examples/PACKAGES/{mesodpd => dpd-meso}/edpd/in.edpd | 0 .../PACKAGES/{mesodpd => dpd-meso}/edpd/log.16Aug17.edpd.g++.1 | 0 .../PACKAGES/{mesodpd => dpd-meso}/edpd/log.16Aug17.edpd.g++.4 | 0 .../{mesodpd => dpd-meso}/edpd/temp.profile.16Aug17.edpd.g++.1 | 0 .../{mesodpd => dpd-meso}/edpd/temp.profile.16Aug17.edpd.g++.4 | 0 examples/PACKAGES/{mesodpd => dpd-meso}/mdpd/in.mdpd | 0 .../PACKAGES/{mesodpd => dpd-meso}/mdpd/log.16Aug17.mdpd.g++.1 | 0 .../PACKAGES/{mesodpd => dpd-meso}/mdpd/log.16Aug17.mdpd.g++.4 | 0 .../{mesodpd => dpd-meso}/tdpd/cc.profile.16Aug17.tdpd.g++.1 | 0 .../{mesodpd => dpd-meso}/tdpd/cc.profile.16Aug17.tdpd.g++.4 | 0 examples/PACKAGES/{mesodpd => dpd-meso}/tdpd/in.tdpd | 0 .../PACKAGES/{mesodpd => dpd-meso}/tdpd/log.16Aug17.tdpd.g++.1 | 0 .../PACKAGES/{mesodpd => dpd-meso}/tdpd/log.16Aug17.tdpd.g++.4 | 0 14 files changed, 0 insertions(+), 0 deletions(-) rename examples/PACKAGES/{mesodpd => dpd-meso}/README (100%) rename examples/PACKAGES/{mesodpd => dpd-meso}/edpd/in.edpd (100%) rename examples/PACKAGES/{mesodpd => dpd-meso}/edpd/log.16Aug17.edpd.g++.1 (100%) rename examples/PACKAGES/{mesodpd => dpd-meso}/edpd/log.16Aug17.edpd.g++.4 (100%) rename examples/PACKAGES/{mesodpd => dpd-meso}/edpd/temp.profile.16Aug17.edpd.g++.1 (100%) rename examples/PACKAGES/{mesodpd => dpd-meso}/edpd/temp.profile.16Aug17.edpd.g++.4 (100%) rename examples/PACKAGES/{mesodpd => dpd-meso}/mdpd/in.mdpd (100%) rename examples/PACKAGES/{mesodpd => dpd-meso}/mdpd/log.16Aug17.mdpd.g++.1 (100%) rename examples/PACKAGES/{mesodpd => dpd-meso}/mdpd/log.16Aug17.mdpd.g++.4 (100%) rename examples/PACKAGES/{mesodpd => dpd-meso}/tdpd/cc.profile.16Aug17.tdpd.g++.1 (100%) rename examples/PACKAGES/{mesodpd => dpd-meso}/tdpd/cc.profile.16Aug17.tdpd.g++.4 (100%) rename examples/PACKAGES/{mesodpd => dpd-meso}/tdpd/in.tdpd (100%) rename examples/PACKAGES/{mesodpd => dpd-meso}/tdpd/log.16Aug17.tdpd.g++.1 (100%) rename examples/PACKAGES/{mesodpd => dpd-meso}/tdpd/log.16Aug17.tdpd.g++.4 (100%) diff --git a/examples/PACKAGES/mesodpd/README b/examples/PACKAGES/dpd-meso/README similarity index 100% rename from examples/PACKAGES/mesodpd/README rename to examples/PACKAGES/dpd-meso/README diff --git a/examples/PACKAGES/mesodpd/edpd/in.edpd b/examples/PACKAGES/dpd-meso/edpd/in.edpd similarity index 100% rename from examples/PACKAGES/mesodpd/edpd/in.edpd rename to examples/PACKAGES/dpd-meso/edpd/in.edpd diff --git a/examples/PACKAGES/mesodpd/edpd/log.16Aug17.edpd.g++.1 b/examples/PACKAGES/dpd-meso/edpd/log.16Aug17.edpd.g++.1 similarity index 100% rename from examples/PACKAGES/mesodpd/edpd/log.16Aug17.edpd.g++.1 rename to examples/PACKAGES/dpd-meso/edpd/log.16Aug17.edpd.g++.1 diff --git a/examples/PACKAGES/mesodpd/edpd/log.16Aug17.edpd.g++.4 b/examples/PACKAGES/dpd-meso/edpd/log.16Aug17.edpd.g++.4 similarity index 100% rename from examples/PACKAGES/mesodpd/edpd/log.16Aug17.edpd.g++.4 rename to examples/PACKAGES/dpd-meso/edpd/log.16Aug17.edpd.g++.4 diff --git a/examples/PACKAGES/mesodpd/edpd/temp.profile.16Aug17.edpd.g++.1 b/examples/PACKAGES/dpd-meso/edpd/temp.profile.16Aug17.edpd.g++.1 similarity index 100% rename from examples/PACKAGES/mesodpd/edpd/temp.profile.16Aug17.edpd.g++.1 rename to examples/PACKAGES/dpd-meso/edpd/temp.profile.16Aug17.edpd.g++.1 diff --git a/examples/PACKAGES/mesodpd/edpd/temp.profile.16Aug17.edpd.g++.4 b/examples/PACKAGES/dpd-meso/edpd/temp.profile.16Aug17.edpd.g++.4 similarity index 100% rename from examples/PACKAGES/mesodpd/edpd/temp.profile.16Aug17.edpd.g++.4 rename to examples/PACKAGES/dpd-meso/edpd/temp.profile.16Aug17.edpd.g++.4 diff --git a/examples/PACKAGES/mesodpd/mdpd/in.mdpd b/examples/PACKAGES/dpd-meso/mdpd/in.mdpd similarity index 100% rename from examples/PACKAGES/mesodpd/mdpd/in.mdpd rename to examples/PACKAGES/dpd-meso/mdpd/in.mdpd diff --git a/examples/PACKAGES/mesodpd/mdpd/log.16Aug17.mdpd.g++.1 b/examples/PACKAGES/dpd-meso/mdpd/log.16Aug17.mdpd.g++.1 similarity index 100% rename from examples/PACKAGES/mesodpd/mdpd/log.16Aug17.mdpd.g++.1 rename to examples/PACKAGES/dpd-meso/mdpd/log.16Aug17.mdpd.g++.1 diff --git a/examples/PACKAGES/mesodpd/mdpd/log.16Aug17.mdpd.g++.4 b/examples/PACKAGES/dpd-meso/mdpd/log.16Aug17.mdpd.g++.4 similarity index 100% rename from examples/PACKAGES/mesodpd/mdpd/log.16Aug17.mdpd.g++.4 rename to examples/PACKAGES/dpd-meso/mdpd/log.16Aug17.mdpd.g++.4 diff --git a/examples/PACKAGES/mesodpd/tdpd/cc.profile.16Aug17.tdpd.g++.1 b/examples/PACKAGES/dpd-meso/tdpd/cc.profile.16Aug17.tdpd.g++.1 similarity index 100% rename from examples/PACKAGES/mesodpd/tdpd/cc.profile.16Aug17.tdpd.g++.1 rename to examples/PACKAGES/dpd-meso/tdpd/cc.profile.16Aug17.tdpd.g++.1 diff --git a/examples/PACKAGES/mesodpd/tdpd/cc.profile.16Aug17.tdpd.g++.4 b/examples/PACKAGES/dpd-meso/tdpd/cc.profile.16Aug17.tdpd.g++.4 similarity index 100% rename from examples/PACKAGES/mesodpd/tdpd/cc.profile.16Aug17.tdpd.g++.4 rename to examples/PACKAGES/dpd-meso/tdpd/cc.profile.16Aug17.tdpd.g++.4 diff --git a/examples/PACKAGES/mesodpd/tdpd/in.tdpd b/examples/PACKAGES/dpd-meso/tdpd/in.tdpd similarity index 100% rename from examples/PACKAGES/mesodpd/tdpd/in.tdpd rename to examples/PACKAGES/dpd-meso/tdpd/in.tdpd diff --git a/examples/PACKAGES/mesodpd/tdpd/log.16Aug17.tdpd.g++.1 b/examples/PACKAGES/dpd-meso/tdpd/log.16Aug17.tdpd.g++.1 similarity index 100% rename from examples/PACKAGES/mesodpd/tdpd/log.16Aug17.tdpd.g++.1 rename to examples/PACKAGES/dpd-meso/tdpd/log.16Aug17.tdpd.g++.1 diff --git a/examples/PACKAGES/mesodpd/tdpd/log.16Aug17.tdpd.g++.4 b/examples/PACKAGES/dpd-meso/tdpd/log.16Aug17.tdpd.g++.4 similarity index 100% rename from examples/PACKAGES/mesodpd/tdpd/log.16Aug17.tdpd.g++.4 rename to examples/PACKAGES/dpd-meso/tdpd/log.16Aug17.tdpd.g++.4 From cc0d9f2be0b5e2e762853c01351b62d5dc8d9ec0 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 29 Jun 2021 21:49:21 -0400 Subject: [PATCH 319/726] recover building the manual --- doc/src/Build_extras.rst | 26 +- doc/src/Build_manual.rst | 2 +- doc/src/Build_package.rst | 26 +- doc/src/Errors.rst | 10 +- doc/src/Errors_messages.rst | 4 - doc/src/Errors_warnings.rst | 4 - doc/src/Modify_contribute.rst | 105 +- doc/src/Packages.rst | 3 +- doc/src/Packages_details.rst | 2799 +++++++++---------- doc/src/Packages_list.rst | 192 ++ doc/src/Packages_standard.rst | 95 - doc/src/Packages_user.rst | 132 - doc/src/Run_options.rst | 4 +- doc/src/Speed_packages.rst | 15 +- doc/src/Tools.rst | 4 +- doc/utils/check-packages.py | 40 +- doc/utils/check-styles.py | 6 +- doc/utils/sphinx-config/false_positives.txt | 7 +- 18 files changed, 1696 insertions(+), 1778 deletions(-) create mode 100644 doc/src/Packages_list.rst delete mode 100644 doc/src/Packages_standard.rst delete mode 100644 doc/src/Packages_user.rst diff --git a/doc/src/Build_extras.rst b/doc/src/Build_extras.rst index c20c3788df..68ebae15a7 100644 --- a/doc/src/Build_extras.rst +++ b/doc/src/Build_extras.rst @@ -1056,7 +1056,7 @@ binary package provided by your operating system. ---------- -.. _user-adios: +.. _adios: ADIOS package ----------------------------------- @@ -1097,7 +1097,7 @@ systems. ---------- -.. _user-atc: +.. _atc: ATC package ------------------------------- @@ -1151,7 +1151,7 @@ The ATC package requires the MANYBODY package also be installed. ---------- -.. _user-awpmd: +.. _awpmd: AWPMD package ------------------ @@ -1202,7 +1202,7 @@ AWPMD package ---------- -.. _user-colvars: +.. _colvars: COLVARS package --------------------------------------- @@ -1301,7 +1301,7 @@ at: `https://github.com/ICAMS/lammps-user-pace/ ` | :ref:`GPU ` | :ref:`KIM ` | :ref:`KOKKOS ` | :ref:`LATTE ` | :ref:`MESSAGE ` | +--------------------------------------+--------------------------------------+------------------------------------+----------------------------------+--------------------------------+--------------------------------+ -| :ref:`MSCG ` | :ref:`OPT ` | :ref:`POEMS ` | :ref:`PYTHON ` | :ref:`VORONOI ` | :ref:`ADIOS ` | +| :ref:`MSCG ` | :ref:`OPT ` | :ref:`POEMS ` | :ref:`PYTHON ` | :ref:`VORONOI ` | :ref:`ADIOS ` | +--------------------------------------+--------------------------------------+------------------------------------+----------------------------------+--------------------------------+--------------------------------+ -| :ref:`ATC ` | :ref:`AWPMD ` | :ref:`COLVARS ` | :ref:`H5MD ` | :ref:`ML-HDNNP ` | :ref:`INTEL ` | +| :ref:`ATC ` | :ref:`AWPMD ` | :ref:`COLVARS ` | :ref:`H5MD ` | :ref:`ML-HDNNP ` | :ref:`INTEL ` | +--------------------------------------+--------------------------------------+------------------------------------+----------------------------------+--------------------------------+--------------------------------+ -| :ref:`MOLFILE ` | :ref:`NETCDF ` | :ref:`ML-PACE ` | :ref:`PLUMED ` | :ref:`OPENMP ` | :ref:`QMMM ` | +| :ref:`MOLFILE ` | :ref:`NETCDF ` | :ref:`ML-PACE ` | :ref:`PLUMED ` | :ref:`OPENMP ` | :ref:`QMMM ` | +--------------------------------------+--------------------------------------+------------------------------------+----------------------------------+--------------------------------+--------------------------------+ -| :ref:`ML-QUIP ` | :ref:`SCAFACOS ` | :ref:`MACHDYN ` | :ref:`VTK ` | | | +| :ref:`ML-QUIP ` | :ref:`SCAFACOS ` | :ref:`MACHDYN ` | :ref:`VTK ` | | | +--------------------------------------+--------------------------------------+------------------------------------+----------------------------------+--------------------------------+--------------------------------+ The mechanism for including packages is simple but different for CMake @@ -60,12 +60,8 @@ versus make. -D PKG_MANYBODY=yes -D PKG_INTEL=yes - All standard and user packages are included the same way. Note - that USER packages have a hyphen between USER and the rest of the - package name, not an underscore. - - See the shortcut section below for how to install many packages at - once with CMake. + All packages are included the same way. See the shortcut section + below for how to install many packages at once with CMake. .. note:: @@ -91,10 +87,8 @@ versus make. make no-rigid make yes-intel - All standard and user packages are included the same way. - - See the shortcut section below for how to install many packages at - once with make. + All packages are included the same way. See the shortcut section + below for how to install many packages at once with make. .. note:: @@ -208,10 +202,6 @@ These commands install/un-install sets of packages: make yes-all # install all packages make no-all # uninstall all packages - make yes-standard or make yes-std # install standard packages - make no-standard or make no-std # uninstall standard packages - make yes-user # install user packages - make no-user # uninstall user packages make yes-lib # install packages that require extra libraries make no-lib # uninstall packages that require extra libraries make yes-ext # install packages that require external libraries diff --git a/doc/src/Errors.rst b/doc/src/Errors.rst index 48db5f6472..5975c22c41 100644 --- a/doc/src/Errors.rst +++ b/doc/src/Errors.rst @@ -1,11 +1,11 @@ Errors ****** -These doc pages describe the errors you can encounter when using -LAMMPS. The common problems include conceptual issues. The messages -and warnings doc pages give complete lists of all the messages the -code may generate (except those generated by USER packages), with -additional details for many of them. +These doc pages describe many of the error and warning message you can +encounter when using LAMMPS. The common problems include conceptual +issues. The messages and warnings doc pages give complete lists of all +the messages the code may generate, with additional details for many of +them. .. toctree:: :maxdepth: 1 diff --git a/doc/src/Errors_messages.rst b/doc/src/Errors_messages.rst index fba3b1bb39..3bbee1dc36 100644 --- a/doc/src/Errors_messages.rst +++ b/doc/src/Errors_messages.rst @@ -14,10 +14,6 @@ For example, a message like this: means that line #78 in the file src/velocity.cpp generated the error. Looking in the source code may help you figure out what went wrong. -Note that error messages from :doc:`user-contributed packages ` are not listed here. If such an error -occurs and is not self-explanatory, you will need to look in the source -code or contact the author of the package. - Doc page with :doc:`WARNING messages ` ---------- diff --git a/doc/src/Errors_warnings.rst b/doc/src/Errors_warnings.rst index f9b10b4893..68d6b0451a 100644 --- a/doc/src/Errors_warnings.rst +++ b/doc/src/Errors_warnings.rst @@ -14,10 +14,6 @@ generated. For example, a message like this: means that line #187 in the file src/domain.cpp generated the error. Looking in the source code may help you figure out what went wrong. -Note that warning messages from :doc:`user-contributed packages ` are not listed here. If such a warning -occurs and is not self-explanatory, you will need to look in the source -code or contact the author of the package. - Doc page with :doc:`ERROR messages ` ---------- diff --git a/doc/src/Modify_contribute.rst b/doc/src/Modify_contribute.rst index b347b95201..42ce8d2498 100644 --- a/doc/src/Modify_contribute.rst +++ b/doc/src/Modify_contribute.rst @@ -49,13 +49,11 @@ with gzip. Please only use gzip compression, as this works well and is available on all platforms. If the new features/files are broadly useful we may add them as core -files to LAMMPS or as part of a :doc:`standard package `. Else we will add them as a -user-contributed file or :doc:`user package `. Examples -of user packages are in src sub-directories that start with USER. The +files to LAMMPS or as part of a :doc:`package `. The USER-MISC package is simply a collection of (mostly) unrelated single -files, which is the simplest way to have your contribution quickly -added to the LAMMPS distribution. All the standard and user packages -are listed and described on the :doc:`Packages details ` doc page. +files, which is the simplest way to have your contribution quickly added +to the LAMMPS distribution. All packages are listed and described +on the :doc:`Packages details ` doc page. Note that by providing us files to release, you are agreeing to make them open-source, i.e. we can release them under the terms of the GPL @@ -65,27 +63,19 @@ on request only and with files that are authorized for that kind of distribution removed (e.g. interface to FFTW). See the :doc:`LAMMPS license ` doc page for details. -With user packages and files, all we are really providing (aside from -the fame and fortune that accompanies having your name in the source -code and on the `Authors page `_ -of the `LAMMPS WWW site `_), is a means for you to distribute your -work to the LAMMPS user community, and a mechanism for others to -easily try out your new feature. This may help you find bugs or make -contact with new collaborators. Note that you're also implicitly -agreeing to support your code which means answer questions, fix bugs, -and maintain it if LAMMPS changes in some way that breaks it (an -unusual event). - .. note:: - If you prefer to actively develop and support your add-on - feature yourself, then you may wish to make it available for download - from your own website, as a user package that LAMMPS users can add to - their copy of LAMMPS. See the `Offsite LAMMPS packages and tools `_ page of the LAMMPS web - site for examples of groups that do this. We are happy to advertise - your package and web site from that page. Simply email the - `developers `_ with info about - your package and we will post it there. + If you prefer to actively develop and support your add-on feature + yourself, then you may wish to make it available for download from + your own website, as a user package that LAMMPS users can add to + their copy of LAMMPS. See the `Offsite LAMMPS packages and tools + `_ page of the LAMMPS web site + for examples of groups that do this. We are happy to advertise your + package and web site from that page. Simply email the `developers + `_ with info about your package + and we will post it there. We recommend to name external packages + USER-\ so they can be easily distinguished from bundled packages + that do not have the USER- prefix. .. _lws: https://www.lammps.org @@ -167,17 +157,20 @@ packages in the src directory for examples. If you are uncertain, please ask. 2 source files. You can do this multiple times if you wish to contribute several individual features. -* If you want your contribution to be added as a user-contribution and - it is several related features, it is probably best to make it a user - package directory with a name like FOO. In addition to your new - files, the directory should contain a README text file. The README - should contain your name and contact information and a brief +* If you want your contribution to be added and it has several related + features or is dependent on an external or bundled library, it is best + to make it a package directory with a name like FOO. In addition to + your new files, the directory should contain a README text file. The + README should contain your name and contact information and a brief description of what your new package does. If your files depend on other LAMMPS style files also being installed (e.g. because your file is a derived class from the other LAMMPS class), then an Install.sh file is also needed to check for those dependencies. See other README - and Install.sh files in other USER directories as examples. Send us a - tarball of this FOO directory. + and Install.sh files in other directories as examples. Submit a pull + request on GitHub or send us a tarball of this FOO directory. Pull + requests are strongly encouraged since the greatly reduce the effort + to integrate a contribution and simplify the process of adjusting the + contributed code to cleanly integrate into the LAMMPS distribution. * Your new source files need to have the LAMMPS copyright, GPL notice, and your name and email address at the top, like other @@ -190,21 +183,21 @@ packages in the src directory for examples. If you are uncertain, please ask. code. * You **must** also create a **documentation** file for each new command - or style you are adding to LAMMPS. For simplicity and convenience, the - documentation of groups of closely related commands or styles may be - combined into a single file. This will be one file for a single-file - feature. For a package, it might be several files. These are text - files with a .rst extension using the `reStructuredText `_ - markup language, that are then converted to HTML and PDF using the - `Sphinx `_ documentation generator tool. Running Sphinx with - the included configuration requires Python 3.x. Configuration - settings and custom extensions for this conversion are included in the - source distribution, and missing python packages will be transparently - downloaded into a virtual environment via pip. Thus, if your local - system is missing required packages, you need access to the - internet. The translation can be as simple as doing "make html pdf" in - the doc folder. As appropriate, the text files can include inline - mathematical expression or figures (see doc/JPG for examples). + or style you are adding to LAMMPS. For simplicity and convenience, + the documentation of groups of closely related commands or styles may + be combined into a single file. This will be one file for a + single-file feature. For a package, it might be several files. These + are text files with a .rst extension using the `reStructuredText + `_ markup language, that are then converted to HTML and PDF + using the `Sphinx `_ documentation generator tool. Running + Sphinx with the included configuration requires Python 3.x. + Configuration settings and custom extensions for this conversion are + included in the source distribution, and missing python packages will + be transparently downloaded into a virtual environment via pip. Thus, + if your local system is missing required packages, you need access to + the internet. The translation can be as simple as doing "make html + pdf" in the doc folder. As appropriate, the text files can include + inline mathematical expression or figures (see doc/JPG for examples). Additional PDF files with further details (see doc/PDF for examples) may also be included. The doc page should also include literature citations as appropriate; see the bottom of doc/fix_nh.rst for @@ -212,15 +205,15 @@ packages in the src directory for examples. If you are uncertain, please ask. cite itself. Citation labels must be unique across all .rst files. The "Restrictions" section of the doc page should indicate if your command is only available if LAMMPS is built with the appropriate - USER-MISC or FOO package. See other user package doc files for - examples of how to do this. Please run at least "make html" and "make - spelling" and carefully inspect and proofread the resulting HTML - format doc page before submitting your code. Upon submission of a - pull request, checks for error free completion of the HTML and PDF - build will be performed and also a spell check, a check for correct - anchors and labels, and a check for completeness of references all - styles in their corresponding tables and lists is run. In case the - spell check reports false positives they can be added to the file + USER-MISC or FOO package. See other package doc files for examples of + how to do this. Please run at least "make html" and "make spelling" + and carefully inspect and proofread the resulting HTML format doc page + before submitting your code. Upon submission of a pull request, + checks for error free completion of the HTML and PDF build will be + performed and also a spell check, a check for correct anchors and + labels, and a check for completeness of references all styles in their + corresponding tables and lists is run. In case the spell check + reports false positives they can be added to the file doc/utils/sphinx-config/false_positives.txt * For a new package (or even a single command) you should include one or diff --git a/doc/src/Packages.rst b/doc/src/Packages.rst index 042485eb4b..31ac02df3c 100644 --- a/doc/src/Packages.rst +++ b/doc/src/Packages.rst @@ -14,6 +14,5 @@ LAMMPS build process. .. toctree:: :maxdepth: 1 - Packages_standard - Packages_user + Packages_list Packages_details diff --git a/doc/src/Packages_details.rst b/doc/src/Packages_details.rst index 80730dfc59..fd43465f4a 100644 --- a/doc/src/Packages_details.rst +++ b/doc/src/Packages_details.rst @@ -1,13 +1,12 @@ Package details =============== -Here is a brief description of all the standard and user packages in -LAMMPS. It lists authors (if applicable) and summarizes the package -contents. It has specific instructions on how to install the package, -including, if necessary, info on how to download or build any extra -library it requires. It also gives links to documentation, example -scripts, and pictures/movies (if available) that illustrate use of the -package. +Here is a brief description of all packages in LAMMPS. It lists authors +(if applicable) and summarizes the package contents. It has specific +instructions on how to install the package, including, if necessary, +info on how to download or build any extra library it requires. It also +gives links to documentation, example scripts, and pictures/movies (if +available) that illustrate use of the package. The majority of packages can be included in a LAMMPS build with a single setting (``-D PGK_=on`` for CMake) or command @@ -24,95 +23,121 @@ page gives those details. pair, bond, angle, etc correspond to commands with the same style name as contained in the file name. -.. table_from_list:: - :columns: 6 - - * :ref:`ASPHERE ` - * :ref:`BODY ` - * :ref:`CLASS2 ` - * :ref:`COLLOID ` - * :ref:`COMPRESS ` - * :ref:`CORESHELL ` - * :ref:`DIPOLE ` - * :ref:`GPU ` - * :ref:`GRANULAR ` - * :ref:`KIM ` - * :ref:`KOKKOS ` - * :ref:`KSPACE ` - * :ref:`LATTE ` - * :ref:`MANYBODY ` - * :ref:`MC ` - * :ref:`MESSAGE ` - * :ref:`MISC ` - * :ref:`ML-IAP ` - * :ref:`MOLECULE ` - * :ref:`MPIIO ` - * :ref:`MSCG ` - * :ref:`OPT ` - * :ref:`PERI ` - * :ref:`PLUGIN ` - * :ref:`POEMS ` - * :ref:`PYTHON ` - * :ref:`QEQ ` - * :ref:`REPLICA ` - * :ref:`RIGID ` - * :ref:`SHOCK ` - * :ref:`ML-SNAP ` - * :ref:`SPIN ` - * :ref:`SRD ` - * :ref:`VORONOI ` - .. table_from_list:: :columns: 6 * :ref:`ADIOS ` + * :ref:`ASPHERE ` * :ref:`ATC ` * :ref:`AWPMD ` * :ref:`BOCS ` + * :ref:`BODY ` * :ref:`BROWNIAN ` * :ref:`CG-DNA ` * :ref:`CG-SDK ` + * :ref:`CLASS2 ` + * :ref:`COLLOID ` * :ref:`COLVARS ` + * :ref:`COMPRESS ` + * :ref:`CORESHELL ` * :ref:`DIELECTRIC ` * :ref:`DIFFRACTION ` + * :ref:`DIPOLE ` + * :ref:`DPD-MESO ` * :ref:`DPD-REACT ` + * :ref:`DPD-SMOOTH ` * :ref:`DRUDE ` * :ref:`EFF ` * :ref:`FEP ` + * :ref:`GPU ` + * :ref:`GRANULAR ` * :ref:`H5MD ` - * :ref:`ML-HDNNP ` * :ref:`INTEL ` + * :ref:`KIM ` + * :ref:`KOKKOS ` + * :ref:`KSPACE ` * :ref:`LATBOLTZ ` + * :ref:`LATTE ` + * :ref:`MACHDYN ` * :ref:`MANIFOLD ` + * :ref:`MANYBODY ` + * :ref:`MC ` * :ref:`MDI ` * :ref:`MEAM ` - * :ref:`DPD-MESO ` * :ref:`MESONT ` + * :ref:`MESSAGE ` * :ref:`MGPT ` - * :ref:`USER-MISC ` - * :ref:`MOFFF ` - * :ref:`MOLFILE ` - * :ref:`NETCDF ` - * :ref:`OPENMP ` + * :ref:`MISC ` + * :ref:`ML-HDNNP ` + * :ref:`ML-IAP ` * :ref:`ML-PACE ` - * :ref:`PHONON ` - * :ref:`PLUMED ` - * :ref:`PTM ` - * :ref:`QMMM ` - * :ref:`QTB ` * :ref:`ML-QUIP ` * :ref:`ML-RANN ` + * :ref:`ML-SNAP ` + * :ref:`MOFFF ` + * :ref:`MOLECULE ` + * :ref:`MOLFILE ` + * :ref:`MPIIO ` + * :ref:`MSCG ` + * :ref:`NETCDF ` + * :ref:`OPENMP ` + * :ref:`OPT ` + * :ref:`PERI ` + * :ref:`PHONON ` + * :ref:`PLUGIN ` + * :ref:`PLUMED ` + * :ref:`POEMS ` + * :ref:`PTM ` + * :ref:`PYTHON ` + * :ref:`QEQ ` + * :ref:`QMMM ` + * :ref:`QTB ` * :ref:`REACTION ` * :ref:`REAXFF ` + * :ref:`REPLICA ` + * :ref:`RIGID ` * :ref:`SCAFACOS ` - * :ref:`DPD-SMOOTH ` - * :ref:`MACHDYN ` + * :ref:`SHOCK ` * :ref:`SMTBQ ` * :ref:`SPH ` + * :ref:`SPIN ` + * :ref:`SRD ` * :ref:`TALLY ` * :ref:`UEF ` + * :ref:`VORONOI ` * :ref:`VTK ` * :ref:`YAFF ` + * :ref:`USER-MISC ` + +---------- + +.. _PKG-ADIOS: + +ADIOS package +------------------ + +**Contents:** + +ADIOS is a high-performance I/O library. This package implements the +:doc:`dump atom/adios `, :doc:`dump custom/adios ` and +:doc:`read_dump ... format adios ` +commands to write and read data using the ADIOS library. + +**Authors:** Norbert Podhorszki (ORNL) from the ADIOS developer team. + +**Install:** + +This package has :ref:`specific installation instructions ` on the :doc:`Build extras ` page. + +**Supporting info:** + +* src/ADIOS: filenames -> commands +* src/ADIOS/README +* examples/PACKAGES/adios +* https://github.com/ornladios/ADIOS2 +* :doc:`dump atom/adios ` +* :doc:`dump custom/adios ` +* :doc:`read_dump ` ---------- @@ -141,6 +166,93 @@ particle models including ellipsoids, 2d lines, and 3d triangles. ---------- +.. _PKG-ATC: + +ATC package +---------------- + +**Contents:** + +ATC stands for atoms-to-continuum. This package implements a :doc:`fix atc ` command to either couple molecular dynamics with +continuum finite element equations or perform on-the-fly conversion of +atomic information to continuum fields. + +**Authors:** Reese Jones, Jeremy Templeton, Jon Zimmerman (Sandia). + +**Install:** + +This package has :ref:`specific installation instructions ` on the :doc:`Build extras ` page. + +**Supporting info:** + +* src/ATC: filenames -> commands +* src/ATC/README +* :doc:`fix atc ` +* examples/PACKAGES/atc +* https://www.lammps.org/pictures.html#atc + +---------- + +.. _PKG-AWPMD: + +AWPMD package +------------------ + +**Contents:** + +AWPMD stands for Antisymmetrized Wave Packet Molecular Dynamics. This +package implements an atom, pair, and fix style which allows electrons +to be treated as explicit particles in a classical molecular dynamics +model. + +**Author:** Ilya Valuev (JIHT, Russia). + +**Install:** + +This package has :ref:`specific installation instructions ` on the :doc:`Build extras ` page. + +**Supporting info:** + +* src/AWPMD: filenames -> commands +* src/AWPMD/README +* :doc:`pair_style awpmd/cut ` +* examples/PACKAGES/awpmd + +---------- + +.. _PKG-BOCS: + +BOCS package +----------------- + +**Contents:** + +This package provides :doc:`fix bocs `, a modified version +of :doc:`fix npt ` which includes the pressure correction to +the barostat as outlined in: + +N. J. H. Dunn and W. G. Noid, "Bottom-up coarse-grained models that +accurately describe the structure, pressure, and compressibility of +molecular liquids," J. Chem. Phys. 143, 243148 (2015). + +**Authors:** Nicholas J. H. Dunn and Michael R. DeLyser (The +Pennsylvania State University) + +**Supporting info:** + +The BOCS package for LAMMPS is part of the BOCS software package: +`https://github.com/noid-group/BOCS `_ + +See the following reference for information about the entire package: + +Dunn, NJH; Lebold, KM; DeLyser, MR; Rudzinski, JF; Noid, WG. +"BOCS: Bottom-Up Open-Source Coarse-Graining Software." +J. Phys. Chem. B. 122, 13, 3363-3377 (2018). + +Example inputs are in the examples/PACKAGES/bocs folder. + +---------- + .. _PKG-BODY: BODY package @@ -164,6 +276,79 @@ overview. ---------- +.. _PKG-BROWNIAN: + +BROWNIAN package +--------------------- + +**Contents:** + +This package provides :doc:`fix brownian, fix brownian/sphere, and +fix brownian/asphere ` as well as +:doc:`fix propel/self ` which allow to do Brownian +Dynamics time integration of point, spherical and aspherical particles +and also support self-propelled particles. + +**Authors:** Sam Cameron (University of Bristol), +Stefan Paquay (while at Brandeis University) (initial version of fix propel/self) + +Example inputs are in the examples/PACKAGES/brownian folder. + +---------- + +.. _PKG-CG-DNA: + +CG-DNA package +------------------ + +**Contents:** + +Several pair styles, bond styles, and integration fixes for coarse-grained +modelling of single- and double-stranded DNA and RNA based on the oxDNA and +oxRNA model of Doye, Louis and Ouldridge. The package includes Langevin-type +rigid-body integrators with improved stability. + +**Author:** Oliver Henrich (University of Strathclyde, Glasgow). + +**Supporting info:** + +* src/CG-DNA: filenames -> commands +* /src/CG-DNA/README +* :doc:`pair_style oxdna/\* ` +* :doc:`pair_style oxdna2/\* ` +* :doc:`pair_style oxrna2/\* ` +* :doc:`bond_style oxdna/\* ` +* :doc:`bond_style oxdna2/\* ` +* :doc:`bond_style oxrna2/\* ` +* :doc:`fix nve/dotc/langevin ` + +---------- + +.. _PKG-CG-SDK: + +CG-SDK package +------------------ + +**Contents:** + +Several pair styles and an angle style which implement the +coarse-grained SDK model of Shinoda, DeVane, and Klein which enables +simulation of ionic liquids, electrolytes, lipids and charged amino +acids. + +**Author:** Axel Kohlmeyer (Temple U). + +**Supporting info:** + +* src/CG-SDK: filenames -> commands +* src/CG-SDK/README +* :doc:`pair_style lj/sdk/\* ` +* :doc:`angle_style sdk ` +* examples/PACKAGES/cgsdk +* https://www.lammps.org/pictures.html#cg + +---------- + .. _PKG-CLASS2: CLASS2 package @@ -215,6 +400,41 @@ Higdon's group at UIUC. ---------- +.. _PKG-COLVARS: + +COLVARS package +-------------------- + +**Contents:** + +COLVARS stands for collective variables, which can be used to +implement various enhanced sampling methods, including Adaptive +Biasing Force, Metadynamics, Steered MD, Umbrella Sampling and +Restraints. A :doc:`fix colvars ` command is implemented +which wraps a COLVARS library, which implements these methods. +simulations. + +**Authors:** The COLVARS library is written and maintained by +Giacomo Fiorin (ICMS, Temple University, Philadelphia, PA, USA) +and Jerome Henin (LISM, CNRS, Marseille, France), originally for +the NAMD MD code, but with portability in mind. Axel Kohlmeyer +(Temple U) provided the interface to LAMMPS. + +**Install:** + +This package has :ref:`specific installation instructions ` on the :doc:`Build extras ` page. + +**Supporting info:** + +* src/COLVARS: filenames -> commands +* `doc/PDF/colvars-refman-lammps.pdf `_ +* src/COLVARS/README +* lib/colvars/README +* :doc:`fix colvars ` +* examples/PACKAGES/colvars + +---------- + .. _PKG-COMPRESS: COMPRESS package @@ -274,6 +494,51 @@ this package. ---------- +.. _PKG-DIELECTRIC: + +DIELECTRIC package +------------------------ + +**Contents:** + +An atom style, multiple pair styles, several fixes, Kspace styles and a +compute for simulating systems using boundary element solvers for +computing the induced charges at the interface between two media with +different dielectric constants. + +**Author:** Trung Nguyen and Monica Olvera de la Cruz (Northwestern U) + +**Supporting info:** + +* src/DIELECTRIC: filenames -> commands +* :doc:`compute efield/atom ` +* TODO: add all styles +* examples/PACKAGES/dielectric + +---------- + +.. _PKG-DIFFRACTION: + +DIFFRACTION package +------------------------ + +**Contents:** + +Two computes and a fix for calculating x-ray and electron diffraction +intensities based on kinematic diffraction theory. + +**Author:** Shawn Coleman while at the U Arkansas. + +**Supporting info:** + +* src/DIFFRACTION: filenames -> commands +* :doc:`compute saed ` +* :doc:`compute xrd ` +* :doc:`fix saed/vtk ` +* examples/PACKAGES/diffraction + +---------- + .. _PKG-DIPOLE: DIPOLE package @@ -295,6 +560,201 @@ short-range or long-range interactions. ---------- +.. _PKG-DPD-MESO: + +DPD-MESO package +-------------------- + +**Contents:** + +Several extensions of the dissipative particle dynamics (DPD) +method. Specifically, energy-conserving DPD (eDPD) that can model +non-isothermal processes, many-body DPD (mDPD) for simulating +vapor-liquid coexistence, and transport DPD (tDPD) for modeling +advection-diffusion-reaction systems. The equations of motion of these +DPD extensions are integrated through a modified velocity-Verlet (MVV) +algorithm. + +**Author:** Zhen Li (Division of Applied Mathematics, Brown University) + +**Supporting info:** + +* src/DPD-MESO: filenames -> commands +* src/DPD-MESO/README +* :doc:`atom_style edpd ` +* :doc:`pair_style edpd ` +* :doc:`pair_style mdpd ` +* :doc:`pair_style tdpd ` +* :doc:`fix mvv/dpd ` +* examples/PACKAGES/mesodpd +* https://www.lammps.org/movies.html#mesodpd + +---------- + +.. _PKG-DPD-REACT: + +DPD-REACT package +----------------- + +**Contents:** + +DPD stands for dissipative particle dynamics. This package implements +coarse-grained DPD-based models for energetic, reactive molecular +crystalline materials. It includes many pair styles specific to these +systems, including for reactive DPD, where each particle has internal +state for multiple species and a coupled set of chemical reaction ODEs +are integrated each timestep. Highly accurate time integrators for +isothermal, isoenergetic, isobaric and isenthalpic conditions are +included. These enable long timesteps via the Shardlow splitting +algorithm. + +**Authors:** Jim Larentzos (ARL), Tim Mattox (Engility Corp), and John +Brennan (ARL). + +**Supporting info:** + +* src/DPD-REACT: filenames -> commands +* /src/DPD-REACT/README +* :doc:`compute dpd ` +* :doc:`compute dpd/atom ` +* :doc:`fix eos/cv ` +* :doc:`fix eos/table ` +* :doc:`fix eos/table/rx ` +* :doc:`fix shardlow ` +* :doc:`fix rx ` +* :doc:`pair_style table/rx ` +* :doc:`pair_style dpd/fdt ` +* :doc:`pair_style dpd/fdt/energy ` +* :doc:`pair_style exp6/rx ` +* :doc:`pair_style multi/lucy ` +* :doc:`pair_style multi/lucy/rx ` +* examples/PACKAGES/dpd-react + +---------- + +.. _PKG-DPD-SMOOTH: + +DPD-SMOOTH package +------------------ + +**Contents:** + +A pair style for smoothed dissipative particle dynamics (SDPD), which +is an extension of smoothed particle hydrodynamics (SPH) to mesoscale +where thermal fluctuations are important (see the +:ref:`SPH package `). +Also two fixes for moving and rigid body integration of SPH/SDPD particles +(particles of atom_style meso). + +**Author:** Morteza Jalalvand (Institute for Advanced Studies in Basic +Sciences, Iran). + +**Supporting info:** + +* src/DPD-SMOOTH: filenames -> commands +* src/DPD-SMOOTH/README +* :doc:`pair_style sdpd/taitwater/isothermal ` +* :doc:`fix meso/move ` +* :doc:`fix rigid/meso ` +* examples/PACKAGES/dpd-smooth + +---------- + +.. _PKG-DRUDE: + +DRUDE package +------------------ + +**Contents:** + +Fixes, pair styles, and a compute to simulate thermalized Drude +oscillators as a model of polarization. See the :doc:`Howto drude ` and :doc:`Howto drude2 ` pages +for an overview of how to use the package. There are auxiliary tools +for using this package in tools/drude. + +**Authors:** Alain Dequidt (U Clermont Auvergne), Julien +Devemy (CNRS), and Agilio Padua (ENS de Lyon). + +**Supporting info:** + +* src/DRUDE: filenames -> commands +* :doc:`Howto drude ` +* :doc:`Howto drude2 ` +* :doc:`Howto polarizable ` +* src/DRUDE/README +* :doc:`fix drude ` +* :doc:`fix drude/transform/\* ` +* :doc:`compute temp/drude ` +* :doc:`pair_style thole ` +* :doc:`pair_style lj/cut/thole/long ` +* examples/PACKAGES/drude +* tools/drude + +---------- + +.. _PKG-EFF: + +EFF package +---------------- + +**Contents:** + +EFF stands for electron force field which allows a classical MD code +to model electrons as particles of variable radius. This package +contains atom, pair, fix and compute styles which implement the eFF as +described in A. Jaramillo-Botero, J. Su, Q. An, and W.A. Goddard III, +JCC, 2010. The eFF potential was first introduced by Su and Goddard, +in 2007. There are auxiliary tools for using this package in +tools/eff; see its README file. + +**Author:** Andres Jaramillo-Botero (CalTech). + +**Supporting info:** + +* src/EFF: filenames -> commands +* src/EFF/README +* :doc:`atom_style electron ` +* :doc:`fix nve/eff ` +* :doc:`fix nvt/eff ` +* :doc:`fix npt/eff ` +* :doc:`fix langevin/eff ` +* :doc:`compute temp/eff ` +* :doc:`pair_style eff/cut ` +* :doc:`pair_style eff/inline ` +* examples/PACKAGES/eff +* tools/eff/README +* tools/eff +* https://www.lammps.org/movies.html#eff + +---------- + +.. _PKG-FEP: + +FEP package +---------------- + +**Contents:** + +FEP stands for free energy perturbation. This package provides +methods for performing FEP simulations by using a :doc:`fix adapt/fep ` command with soft-core pair potentials, +which have a "soft" in their style name. There are auxiliary tools +for using this package in tools/fep; see its README file. + +**Author:** Agilio Padua (ENS de Lyon) + +**Supporting info:** + +* src/FEP: filenames -> commands +* src/FEP/README +* :doc:`fix adapt/fep ` +* :doc:`compute fep ` +* :doc:`pair_style \*/soft ` +* examples/PACKAGES/fep +* tools/fep/README +* tools/fep + +---------- + .. _PKG-GPU: GPU package @@ -367,6 +827,88 @@ potentials. ---------- +.. _PKG-H5MD: + +H5MD package +----------------- + +**Contents:** + +H5MD stands for HDF5 for MD. `HDF5 `_ is a portable, binary, +self-describing file format, used by many scientific simulations. +H5MD is a format for molecular simulations, built on top of HDF5. +This package implements a :doc:`dump h5md ` command to output +LAMMPS snapshots in this format. + +.. _HDF5: http://www.hdfgroup.org/HDF5 + +To use this package you must have the HDF5 library available on your +system. + +**Author:** Pierre de Buyl (KU Leuven) created both the package and the +H5MD format. + +**Install:** + +This package has :ref:`specific installation instructions ` on the :doc:`Build extras ` page. + +**Supporting info:** + +* src/H5MD: filenames -> commands +* src/H5MD/README +* lib/h5md/README +* :doc:`dump h5md ` + +---------- + +.. _PKG-INTEL: + +INTEL package +------------------ + +**Contents:** + +Dozens of pair, fix, bond, angle, dihedral, improper, and kspace +styles which are optimized for Intel CPUs and KNLs (Knights Landing). +All of them have an "intel" in their style name. The +:doc:`INTEL package ` page gives details of what hardware and +compilers are required on your system, and how to build and use this +package. Its styles can be invoked at run time via the "-sf intel" or +"-suffix intel" :doc:`command-line switches `. Also see +the :ref:`KOKKOS `, :ref:`OPT `, and :ref:`OPENMP ` packages, +which have styles optimized for CPUs and KNLs. + +You need to have an Intel compiler, version 14 or higher to take full +advantage of this package. While compilation with GNU compilers is +supported, performance will be sub-optimal. + +.. note:: + + the INTEL package contains styles that require using the + -restrict flag, when compiling with Intel compilers. + +**Author:** Mike Brown (Intel). + +**Install:** + +This package has :ref:`specific installation instructions ` on the :doc:`Build extras ` page. + +**Supporting info:** + +* src/INTEL: filenames -> commands +* src/INTEL/README +* :doc:`Accelerator packages ` +* :doc:`INTEL package ` +* :doc:`Section 2.6 -sf intel ` +* :doc:`Section 2.6 -pk intel ` +* :doc:`package intel ` +* Search the :doc:`commands ` pages (:doc:`fix `, :doc:`compute `, + :doc:`pair `, :doc:`bond, angle, dihedral, improper `, :doc:`kspace `) for styles followed by (i) +* src/INTEL/TEST +* `Benchmarks page `_ of web site + +---------- + .. _PKG-KIM: KIM package @@ -521,6 +1063,30 @@ different FFT options for your LAMPMS build. ---------- +.. _PKG-LATBOLTZ: + +LATBOLTZ package +---------------- + +**Contents:** + +Fixes which implement a background Lattice-Boltzmann (LB) fluid, which +can be used to model MD particles influenced by hydrodynamic forces. + +**Authors:** Frances Mackay and Colin Denniston (University of Western +Ontario). + +**Supporting info:** + +* src/LATBOLTZ: filenames -> commands +* src/LATBOLTZ/README +* :doc:`fix lb/fluid ` +* :doc:`fix lb/momentum ` +* :doc:`fix lb/viscous ` +* examples/PACKAGES/latboltz + +---------- + .. _PKG-LATTE: LATTE package @@ -557,6 +1123,75 @@ This package has :ref:`specific installation instructions ` on the :doc:` ---------- +.. _PKG-MACHDYN: + +MACHDYN package +---------------- + +**Contents:** + +An atom style, fixes, computes, and several pair styles which +implements smoothed Mach dynamics (SMD) for solids, which is a model +related to smoothed particle hydrodynamics (SPH) for liquids (see the +:ref:`SPH package `). + +This package solves solids mechanics problems via a state of the art +stabilized meshless method with hourglass control. It can specify +hydrostatic interactions independently from material strength models, +i.e. pressure and deviatoric stresses are separated. It provides many +material models (Johnson-Cook, plasticity with hardening, +Mie-Grueneisen, Polynomial EOS) and allows new material models to be +added. It implements rigid boundary conditions (walls) which can be +specified as surface geometries from \*.STL files. + +**Author:** Georg Ganzenmuller (Fraunhofer-Institute for High-Speed +Dynamics, Ernst Mach Institute, Germany). + +**Install:** + +This package has :ref:`specific installation instructions ` on the :doc:`Build extras ` page. + +**Supporting info:** + +* src/MACHDYN: filenames -> commands +* src/MACHDYN/README +* doc/PDF/MACHDYN_LAMMPS_userguide.pdf +* examples/PACKAGES/machdyn +* https://www.lammps.org/movies.html#smd + +---------- + +.. _PKG-MANIFOLD: + +MANIFOLD package +--------------------- + +**Contents:** + +Several fixes and a "manifold" class which enable simulations of +particles constrained to a manifold (a 2D surface within the 3D +simulation box). This is done by applying the RATTLE constraint +algorithm to formulate single-particle constraint functions +g(xi,yi,zi) = 0 and their derivative (i.e. the normal of the manifold) +n = grad(g). + +**Author:** Stefan Paquay (until 2017: Eindhoven University of +Technology (TU/e), The Netherlands; since 2017: Brandeis University, +Waltham, MA, USA) + +**Supporting info:** + +* src/MANIFOLD: filenames -> commands +* src/MANIFOLD/README +* :doc:`Howto manifold ` +* :doc:`fix manifoldforce ` +* :doc:`fix nve/manifold/rattle ` +* :doc:`fix nvt/manifold/rattle ` +* examples/PACKAGES/manifold +* https://www.lammps.org/movies.html#manifold + +---------- + .. _PKG-MANYBODY: MANYBODY package @@ -610,1177 +1245,6 @@ bonds, for performing atomic swaps, and performing grand-canonical MC ---------- -.. _PKG-MESSAGE: - -MESSAGE package ---------------- - -**Contents:** - -Commands to use LAMMPS as either a client or server and couple it to -another application. - -**Install:** - -This package has :ref:`specific installation instructions ` on the :doc:`Build extras ` page. - -**Supporting info:** - -* src/MESSAGE: filenames -> commands -* lib/message/README -* :doc:`message ` -* :doc:`fix client/md ` -* :doc:`server md ` -* :doc:`server mc ` -* examples/message - ----------- - -.. _PKG-MISC: - -MISC package ------------- - -**Contents:** - -A variety of compute, fix, pair, dump styles with specialized -capabilities that don't align with other packages. Do a directory -listing, "ls src/MISC", to see the list of commands. - -.. note:: - - the MISC package contains styles that require using the - -restrict flag, when compiling with Intel compilers. - -**Supporting info:** - -* src/MISC: filenames -> commands -* :doc:`compute ti ` -* :doc:`fix evaporate ` -* :doc:`fix orient/fcc ` -* :doc:`fix ttm ` -* :doc:`fix thermal/conductivity ` -* :doc:`fix viscosity ` -* examples/KAPPA -* examples/VISCOSITY -* https://www.lammps.org/pictures.html#ttm -* https://www.lammps.org/movies.html#evaporation - ----------- - -.. _PKG-ML-IAP: - -ML-IAP package --------------- - -**Contents:** - -A general interface for machine-learning interatomic potentials, including PyTorch. - -**Install:** - -To use this package, also the :ref:`ML-SNAP package ` package needs -to be installed. To make the *mliappy* model available, also the -:ref:`PYTHON package ` package needs to be installed, the version -of Python must be 3.6 or later, and the `cython `_ software -must be installed. - -**Author:** Aidan Thompson (Sandia), Nicholas Lubbers (LANL). - -**Supporting info:** - -* src/ML-IAP: filenames -> commands -* src/ML-IAP/README.md -* :doc:`pair_style mliap ` -* :doc:`compute_style mliap ` -* examples/mliap (see README) - -When built with the *mliappy* model this package includes an extension for -coupling with Python models, including PyTorch. In this case, the Python -interpreter linked to LAMMPS will need the ``cython`` and ``numpy`` modules -installed. The provided examples build models with PyTorch, which would -therefore also needs to be installed to run those examples. - ----------- - -.. _PKG-MOLECULE: - -MOLECULE package ----------------- - -**Contents:** - -A large number of atom, pair, bond, angle, dihedral, improper styles -that are used to model molecular systems with fixed covalent bonds. -The pair styles include the Dreiding (hydrogen-bonding) and CHARMM -force fields, and a TIP4P water model. - -**Supporting info:** - -* src/MOLECULE: filenames -> commands -* :doc:`atom_style ` -* :doc:`bond_style ` -* :doc:`angle_style ` -* :doc:`dihedral_style ` -* :doc:`improper_style ` -* :doc:`pair_style hbond/dreiding/lj ` -* :doc:`pair_style lj/charmm/coul/charmm ` -* :doc:`Howto bioFF ` -* examples/cmap -* examples/dreiding -* examples/micelle, -* examples/peptide -* bench/in.chain -* bench/in.rhodo - ----------- - -.. _PKG-MPIIO: - -MPIIO package -------------- - -**Contents:** - -Support for parallel output/input of dump and restart files via the -MPIIO library. It adds :doc:`dump styles ` with a "mpiio" in -their style name. Restart files with an ".mpiio" suffix are also -written and read in parallel. - -**Supporting info:** - -* src/MPIIO: filenames -> commands -* :doc:`dump ` -* :doc:`restart ` -* :doc:`write_restart ` -* :doc:`read_restart ` - ----------- - -.. _PKG-mscg: - -MSCG package ------------- - -**Contents:** - -A :doc:`fix mscg ` command which can parameterize a -Multi-Scale Coarse-Graining (MSCG) model using the open-source `MS-CG library `_. - -.. _mscg-home: https://github.com/uchicago-voth/MSCG-release - -To use this package you must have the MS-CG library available on your -system. - -**Authors:** The fix was written by Lauren Abbott (Sandia). The MS-CG -library was developed by Jacob Wagner in Greg Voth's group at the -University of Chicago. - -**Install:** - -This package has :ref:`specific installation instructions ` on the :doc:`Build extras ` page. - -**Supporting info:** - -* src/MSCG: filenames -> commands -* src/MSCG/README -* lib/mscg/README -* examples/mscg - ----------- - -.. _PKG-OPT: - -OPT package ------------ - -**Contents:** - -A handful of pair styles which are optimized for improved CPU -performance on single or multiple cores. These include EAM, LJ, -CHARMM, and Morse potentials. The styles have an "opt" suffix in -their style name. The :doc:`OPT package ` page gives -details of how to build and use this package. Its styles can be -invoked at run time via the "-sf opt" or "-suffix opt" :doc:`command-line switches `. See also the :ref:`KOKKOS `, -:ref:`INTEL `, and :ref:`OPENMP ` packages, which -have styles optimized for CPU performance. - -**Authors:** James Fischer (High Performance Technologies), David Richie, -and Vincent Natoli (Stone Ridge Technology). - -**Install:** - -This package has :ref:`specific installation instructions ` on the :doc:`Build extras ` page. - -**Supporting info:** - -* src/OPT: filenames -> commands -* :doc:`Accelerator packages ` -* :doc:`OPT package ` -* :doc:`Section 2.6 -sf opt ` -* Search the :doc:`pair style ` page for styles followed by (t) -* `Benchmarks page `_ of web site - ----------- - -.. _PKG-PERI: - -PERI package ------------- - -**Contents:** - -An atom style, several pair styles which implement different -Peridynamics materials models, and several computes which calculate -diagnostics. Peridynamics is a particle-based meshless continuum -model. - -**Authors:** The original package was created by Mike Parks (Sandia). -Additional Peridynamics models were added by Rezwanur Rahman and John -Foster (UTSA). - -**Supporting info:** - -* src/PERI: filenames -> commands -* `doc/PDF/PDLammps_overview.pdf `_ -* `doc/PDF/PDLammps_EPS.pdf `_ -* `doc/PDF/PDLammps_VES.pdf `_ -* :doc:`atom_style peri ` -* :doc:`pair_style peri/\* ` -* :doc:`compute damage/atom ` -* :doc:`compute plasticity/atom ` -* examples/peri -* https://www.lammps.org/movies.html#peri - ----------- - -.. _PKG-PLUGIN: - -PLUGIN package --------------- - -**Contents:** - -A :doc:`plugin ` command that can load and unload several -kind of styles in LAMMPS from shared object files at runtime without -having to recompile and relink LAMMPS. - -**Authors:** Axel Kohlmeyer (Temple U) - -**Supporting info:** - -* src/PLUGIN: filenames -> commands -* :doc:`plugin command ` -* :doc:`Information on writing plugins ` -* examples/plugin - ----------- - -.. _PKG-POEMS: - -POEMS package -------------- - -**Contents:** - -A fix that wraps the Parallelizable Open source Efficient Multibody -Software (POEMS) library, which is able to simulate the dynamics of -articulated body systems. These are systems with multiple rigid -bodies (collections of particles) whose motion is coupled by -connections at hinge points. - -**Author:** Rudra Mukherjee (JPL) while at RPI. - -**Install:** - -This package has :ref:`specific installation instructions ` on the :doc:`Build extras ` page. - -**Supporting info:** - -* src/POEMS: filenames -> commands -* src/POEMS/README -* lib/poems/README -* :doc:`fix poems ` -* examples/rigid - ----------- - -.. _PKG-PYTHON: - -PYTHON package --------------- - -**Contents:** - -A :doc:`python ` command which allow you to execute Python code -from a LAMMPS input script. The code can be in a separate file or -embedded in the input script itself. See the :doc:`Python call ` page for an overview of using Python from -LAMMPS in this manner and all the :doc:`Python ` manual pages -for other ways to use LAMMPS and Python together. - -.. note:: - - Building with the PYTHON package assumes you have a Python - shared library available on your system, which needs to be a Python 2 - version, 2.6 or later. Python 3 is not yet supported. See the - lib/python/README for more details. - -**Install:** - -This package has :ref:`specific installation instructions ` on the :doc:`Build extras ` page. - -**Supporting info:** - -* src/PYTHON: filenames -> commands -* :doc:`Python call ` -* lib/python/README -* examples/python - ----------- - -.. _PKG-QEQ: - -QEQ package ------------ - -**Contents:** - -Several fixes for performing charge equilibration (QEq) via different -algorithms. These can be used with pair styles that perform QEq as -part of their formulation. - -**Supporting info:** - -* src/QEQ: filenames -> commands -* :doc:`fix qeq/\* ` -* examples/qeq -* examples/streitz - ----------- - -.. _PKG-REPLICA: - -REPLICA package ---------------- - -**Contents:** - -A collection of multi-replica methods which can be used when running -multiple LAMMPS simulations (replicas). See the :doc:`Howto replica ` page for an overview of how to run -multi-replica simulations in LAMMPS. Methods in the package include -nudged elastic band (NEB), parallel replica dynamics (PRD), -temperature accelerated dynamics (TAD), parallel tempering, and a -verlet/split algorithm for performing long-range Coulombics on one set -of processors, and the remainder of the force field calculation on -another set. - -**Supporting info:** - -* src/REPLICA: filenames -> commands -* :doc:`Howto replica ` -* :doc:`neb ` -* :doc:`prd ` -* :doc:`tad ` -* :doc:`temper `, -* :doc:`run_style verlet/split ` -* examples/neb -* examples/prd -* examples/tad - ----------- - -.. _PKG-RIGID: - -RIGID package -------------- - -**Contents:** - -Fixes which enforce rigid constraints on collections of atoms or -particles. This includes SHAKE and RATTLE, as well as various -rigid-body integrators for a few large bodies or many small bodies. -Also several computes which calculate properties of rigid bodies. - -**Supporting info:** - -* src/RIGID: filenames -> commands -* :doc:`compute erotate/rigid ` -* :doc:`fix shake ` -* :doc:`fix rattle ` -* :doc:`fix rigid/\* ` -* examples/ASPHERE -* examples/rigid -* bench/in.rhodo -* https://www.lammps.org/movies.html#box -* https://www.lammps.org/movies.html#star - ----------- - -.. _PKG-SHOCK: - -SHOCK package -------------- - -**Contents:** - -Fixes for running impact simulations where a shock-wave passes through -a material. - -**Supporting info:** - -* src/SHOCK: filenames -> commands -* :doc:`fix append/atoms ` -* :doc:`fix msst ` -* :doc:`fix nphug ` -* :doc:`fix wall/piston ` -* examples/hugoniostat -* examples/msst - ----------- - -.. _PKG-ML-SNAP: - -ML-SNAP package ---------------- - -**Contents:** - -A pair style for the spectral neighbor analysis potential (SNAP). -SNAP is methodology for deriving a highly accurate classical potential -fit to a large archive of quantum mechanical (DFT) data. Also several -computes which analyze attributes of the potential. - -**Author:** Aidan Thompson (Sandia). - -**Supporting info:** - -* src/ML-SNAP: filenames -> commands -* :doc:`pair_style snap ` -* :doc:`compute sna/atom ` -* :doc:`compute snad/atom ` -* :doc:`compute snav/atom ` -* examples/snap - ----------- - -.. _PKG-SPIN: - -SPIN package ------------- - -**Contents:** - -Model atomic magnetic spins classically, coupled to atoms moving in -the usual manner via MD. Various pair, fix, and compute styles. - -**Author:** Julien Tranchida (Sandia). - -**Supporting info:** - -* src/SPIN: filenames -> commands -* :doc:`Howto spins ` -* :doc:`pair_style spin/dipole/cut ` -* :doc:`pair_style spin/dipole/long ` -* :doc:`pair_style spin/dmi ` -* :doc:`pair_style spin/exchange ` -* :doc:`pair_style spin/exchange/biquadratic ` -* :doc:`pair_style spin/magelec ` -* :doc:`pair_style spin/neel ` -* :doc:`fix nve/spin ` -* :doc:`fix langevin/spin ` -* :doc:`fix precession/spin ` -* :doc:`compute spin ` -* :doc:`neb/spin ` -* examples/SPIN - ----------- - -.. _PKG-SRD: - -SRD package ------------ - -**Contents:** - -A pair of fixes which implement the Stochastic Rotation Dynamics (SRD) -method for coarse-graining of a solvent, typically around large -colloidal particles. - -**Supporting info:** - -* src/SRD: filenames -> commands -* :doc:`fix srd ` -* :doc:`fix wall/srd ` -* examples/srd -* examples/ASPHERE -* https://www.lammps.org/movies.html#tri -* https://www.lammps.org/movies.html#line -* https://www.lammps.org/movies.html#poly - ----------- - -.. _PKG-VORONOI: - -VORONOI package ---------------- - -**Contents:** - -A compute command which calculates the Voronoi tesselation of a -collection of atoms by wrapping the `Voro++ library `_. This -can be used to calculate the local volume or each atoms or its near -neighbors. - -.. _voro-home: http://math.lbl.gov/voro++ - -To use this package you must have the Voro++ library available on your -system. - -**Author:** Daniel Schwen (INL) while at LANL. The open-source Voro++ -library was written by Chris Rycroft (Harvard U) while at UC Berkeley -and LBNL. - -**Install:** - -This package has :ref:`specific installation instructions ` on the :doc:`Build extras ` page. - -**Supporting info:** - -* src/VORONOI: filenames -> commands -* src/VORONOI/README -* lib/voronoi/README -* :doc:`compute voronoi/atom ` -* examples/voronoi - ----------- - -.. _PKG-ADIOS: - -ADIOS package ------------------- - -**Contents:** - -ADIOS is a high-performance I/O library. This package implements the -:doc:`dump atom/adios `, :doc:`dump custom/adios ` and -:doc:`read_dump ... format adios ` -commands to write and read data using the ADIOS library. - -**Authors:** Norbert Podhorszki (ORNL) from the ADIOS developer team. - -**Install:** - -This package has :ref:`specific installation instructions ` on the :doc:`Build extras ` page. - -**Supporting info:** - -* src/ADIOS: filenames -> commands -* src/ADIOS/README -* examples/PACKAGES/adios -* https://github.com/ornladios/ADIOS2 -* :doc:`dump atom/adios ` -* :doc:`dump custom/adios ` -* :doc:`read_dump ` - ----------- - -.. _PKG-ATC: - -ATC package ----------------- - -**Contents:** - -ATC stands for atoms-to-continuum. This package implements a :doc:`fix atc ` command to either couple molecular dynamics with -continuum finite element equations or perform on-the-fly conversion of -atomic information to continuum fields. - -**Authors:** Reese Jones, Jeremy Templeton, Jon Zimmerman (Sandia). - -**Install:** - -This package has :ref:`specific installation instructions ` on the :doc:`Build extras ` page. - -**Supporting info:** - -* src/ATC: filenames -> commands -* src/ATC/README -* :doc:`fix atc ` -* examples/PACKAGES/atc -* https://www.lammps.org/pictures.html#atc - ----------- - -.. _PKG-AWPMD: - -AWPMD package ------------------- - -**Contents:** - -AWPMD stands for Antisymmetrized Wave Packet Molecular Dynamics. This -package implements an atom, pair, and fix style which allows electrons -to be treated as explicit particles in a classical molecular dynamics -model. - -**Author:** Ilya Valuev (JIHT, Russia). - -**Install:** - -This package has :ref:`specific installation instructions ` on the :doc:`Build extras ` page. - -**Supporting info:** - -* src/AWPMD: filenames -> commands -* src/AWPMD/README -* :doc:`pair_style awpmd/cut ` -* examples/PACKAGES/awpmd - ----------- - -.. _PKG-BOCS: - -BOCS package ------------------ - -**Contents:** - -This package provides :doc:`fix bocs `, a modified version -of :doc:`fix npt ` which includes the pressure correction to -the barostat as outlined in: - -N. J. H. Dunn and W. G. Noid, "Bottom-up coarse-grained models that -accurately describe the structure, pressure, and compressibility of -molecular liquids," J. Chem. Phys. 143, 243148 (2015). - -**Authors:** Nicholas J. H. Dunn and Michael R. DeLyser (The -Pennsylvania State University) - -**Supporting info:** - -The BOCS user package for LAMMPS is part of the BOCS software package: -`https://github.com/noid-group/BOCS `_ - -See the following reference for information about the entire package: - -Dunn, NJH; Lebold, KM; DeLyser, MR; Rudzinski, JF; Noid, WG. -"BOCS: Bottom-Up Open-Source Coarse-Graining Software." -J. Phys. Chem. B. 122, 13, 3363-3377 (2018). - -Example inputs are in the examples/PACKAGES/bocs folder. - ----------- - -.. _PKG-BROWNIAN: - -BROWNIAN package ---------------------- - -**Contents:** - -This package provides :doc:`fix brownian, fix brownian/sphere, and -fix brownian/asphere ` as well as -:doc:`fix propel/self ` which allow to do Brownian -Dynamics time integration of point, spherical and aspherical particles -and also support self-propelled particles. - -**Authors:** Sam Cameron (University of Bristol), -Stefan Paquay (while at Brandeis University) (initial version of fix propel/self) - -Example inputs are in the examples/PACKAGES/brownian folder. - ----------- - -.. _PKG-CG-DNA: - -CG-DNA package ------------------- - -**Contents:** - -Several pair styles, bond styles, and integration fixes for coarse-grained -modelling of single- and double-stranded DNA and RNA based on the oxDNA and -oxRNA model of Doye, Louis and Ouldridge. The package includes Langevin-type -rigid-body integrators with improved stability. - -**Author:** Oliver Henrich (University of Strathclyde, Glasgow). - -**Supporting info:** - -* src/CG-DNA: filenames -> commands -* /src/CG-DNA/README -* :doc:`pair_style oxdna/\* ` -* :doc:`pair_style oxdna2/\* ` -* :doc:`pair_style oxrna2/\* ` -* :doc:`bond_style oxdna/\* ` -* :doc:`bond_style oxdna2/\* ` -* :doc:`bond_style oxrna2/\* ` -* :doc:`fix nve/dotc/langevin ` - ----------- - -.. _PKG-CG-SDK: - -CG-SDK package ------------------- - -**Contents:** - -Several pair styles and an angle style which implement the -coarse-grained SDK model of Shinoda, DeVane, and Klein which enables -simulation of ionic liquids, electrolytes, lipids and charged amino -acids. - -**Author:** Axel Kohlmeyer (Temple U). - -**Supporting info:** - -* src/CG-SDK: filenames -> commands -* src/CG-SDK/README -* :doc:`pair_style lj/sdk/\* ` -* :doc:`angle_style sdk ` -* examples/PACKAGES/cgsdk -* https://www.lammps.org/pictures.html#cg - ----------- - -.. _PKG-COLVARS: - -COLVARS package --------------------- - -**Contents:** - -COLVARS stands for collective variables, which can be used to -implement various enhanced sampling methods, including Adaptive -Biasing Force, Metadynamics, Steered MD, Umbrella Sampling and -Restraints. A :doc:`fix colvars ` command is implemented -which wraps a COLVARS library, which implements these methods. -simulations. - -**Authors:** The COLVARS library is written and maintained by -Giacomo Fiorin (ICMS, Temple University, Philadelphia, PA, USA) -and Jerome Henin (LISM, CNRS, Marseille, France), originally for -the NAMD MD code, but with portability in mind. Axel Kohlmeyer -(Temple U) provided the interface to LAMMPS. - -**Install:** - -This package has :ref:`specific installation instructions ` on the :doc:`Build extras ` page. - -**Supporting info:** - -* src/COLVARS: filenames -> commands -* `doc/PDF/colvars-refman-lammps.pdf `_ -* src/COLVARS/README -* lib/colvars/README -* :doc:`fix colvars ` -* examples/PACKAGES/colvars - ----------- - -.. _PKG-DIELECTRIC: - -DIELECTRIC package ------------------------- - -**Contents:** - -An atom style, multiple pair styles, several fixes, Kspace styles and a -compute for simulating systems using boundary element solvers for -computing the induced charges at the interface between two media with -different dielectric constants. - -**Author:** Trung Nguyen and Monica Olvera de la Cruz (Northwestern U) - -**Supporting info:** - -* src/DIELECTRIC: filenames -> commands -* :doc:`compute efield/atom ` -* TODO: add all styles -* examples/PACKAGES/dielectric - ----------- - -.. _PKG-DIFFRACTION: - -DIFFRACTION package ------------------------- - -**Contents:** - -Two computes and a fix for calculating x-ray and electron diffraction -intensities based on kinematic diffraction theory. - -**Author:** Shawn Coleman while at the U Arkansas. - -**Supporting info:** - -* src/DIFFRACTION: filenames -> commands -* :doc:`compute saed ` -* :doc:`compute xrd ` -* :doc:`fix saed/vtk ` -* examples/PACKAGES/diffraction - ----------- - -.. _PKG-DPD-REACT: - -DPD-REACT package ----------------- - -**Contents:** - -DPD stands for dissipative particle dynamics. This package implements -coarse-grained DPD-based models for energetic, reactive molecular -crystalline materials. It includes many pair styles specific to these -systems, including for reactive DPD, where each particle has internal -state for multiple species and a coupled set of chemical reaction ODEs -are integrated each timestep. Highly accurate time integrators for -isothermal, isoenergetic, isobaric and isenthalpic conditions are -included. These enable long timesteps via the Shardlow splitting -algorithm. - -**Authors:** Jim Larentzos (ARL), Tim Mattox (Engility Corp), and John -Brennan (ARL). - -**Supporting info:** - -* src/DPD-REACT: filenames -> commands -* /src/DPD-REACT/README -* :doc:`compute dpd ` -* :doc:`compute dpd/atom ` -* :doc:`fix eos/cv ` -* :doc:`fix eos/table ` -* :doc:`fix eos/table/rx ` -* :doc:`fix shardlow ` -* :doc:`fix rx ` -* :doc:`pair_style table/rx ` -* :doc:`pair_style dpd/fdt ` -* :doc:`pair_style dpd/fdt/energy ` -* :doc:`pair_style exp6/rx ` -* :doc:`pair_style multi/lucy ` -* :doc:`pair_style multi/lucy/rx ` -* examples/PACKAGES/dpd-react - ----------- - -.. _PKG-DRUDE: - -DRUDE package ------------------- - -**Contents:** - -Fixes, pair styles, and a compute to simulate thermalized Drude -oscillators as a model of polarization. See the :doc:`Howto drude ` and :doc:`Howto drude2 ` pages -for an overview of how to use the package. There are auxiliary tools -for using this package in tools/drude. - -**Authors:** Alain Dequidt (U Clermont Auvergne), Julien -Devemy (CNRS), and Agilio Padua (ENS de Lyon). - -**Supporting info:** - -* src/DRUDE: filenames -> commands -* :doc:`Howto drude ` -* :doc:`Howto drude2 ` -* :doc:`Howto polarizable ` -* src/DRUDE/README -* :doc:`fix drude ` -* :doc:`fix drude/transform/\* ` -* :doc:`compute temp/drude ` -* :doc:`pair_style thole ` -* :doc:`pair_style lj/cut/thole/long ` -* examples/PACKAGES/drude -* tools/drude - ----------- - -.. _PKG-EFF: - -EFF package ----------------- - -**Contents:** - -EFF stands for electron force field which allows a classical MD code -to model electrons as particles of variable radius. This package -contains atom, pair, fix and compute styles which implement the eFF as -described in A. Jaramillo-Botero, J. Su, Q. An, and W.A. Goddard III, -JCC, 2010. The eFF potential was first introduced by Su and Goddard, -in 2007. There are auxiliary tools for using this package in -tools/eff; see its README file. - -**Author:** Andres Jaramillo-Botero (CalTech). - -**Supporting info:** - -* src/EFF: filenames -> commands -* src/EFF/README -* :doc:`atom_style electron ` -* :doc:`fix nve/eff ` -* :doc:`fix nvt/eff ` -* :doc:`fix npt/eff ` -* :doc:`fix langevin/eff ` -* :doc:`compute temp/eff ` -* :doc:`pair_style eff/cut ` -* :doc:`pair_style eff/inline ` -* examples/PACKAGES/eff -* tools/eff/README -* tools/eff -* https://www.lammps.org/movies.html#eff - ----------- - -.. _PKG-FEP: - -FEP package ----------------- - -**Contents:** - -FEP stands for free energy perturbation. This package provides -methods for performing FEP simulations by using a :doc:`fix adapt/fep ` command with soft-core pair potentials, -which have a "soft" in their style name. There are auxiliary tools -for using this package in tools/fep; see its README file. - -**Author:** Agilio Padua (ENS de Lyon) - -**Supporting info:** - -* src/FEP: filenames -> commands -* src/FEP/README -* :doc:`fix adapt/fep ` -* :doc:`compute fep ` -* :doc:`pair_style \*/soft ` -* examples/PACKAGES/fep -* tools/fep/README -* tools/fep - ----------- - -.. _PKG-H5MD: - -H5MD package ------------------ - -**Contents:** - -H5MD stands for HDF5 for MD. `HDF5 `_ is a portable, binary, -self-describing file format, used by many scientific simulations. -H5MD is a format for molecular simulations, built on top of HDF5. -This package implements a :doc:`dump h5md ` command to output -LAMMPS snapshots in this format. - -.. _HDF5: http://www.hdfgroup.org/HDF5 - -To use this package you must have the HDF5 library available on your -system. - -**Author:** Pierre de Buyl (KU Leuven) created both the package and the -H5MD format. - -**Install:** - -This package has :ref:`specific installation instructions ` on the :doc:`Build extras ` page. - -**Supporting info:** - -* src/H5MD: filenames -> commands -* src/H5MD/README -* lib/h5md/README -* :doc:`dump h5md ` - ----------- - -.. _PKG-ML-HDNNP: - -ML-HDNNP package ------------------- - -**Contents:** - -A :doc:`pair_style hdnnp ` command which allows to use -high-dimensional neural network potentials (HDNNPs), a form of machine learning -potentials. HDNNPs must be carefully trained prior to their application in a -molecular dynamics simulation. - -.. _n2p2: https://github.com/CompPhysVienna/n2p2 - -To use this package you must have the `n2p2 `_ library installed and -compiled on your system. - -**Author:** Andreas Singraber - -**Install:** - -This package has :ref:`specific installation instructions ` on the -:doc:`Build extras ` page. - -**Supporting info:** - -* src/ML-HDNNP: filenames -> commands -* src/ML-HDNNP/README -* lib/hdnnp/README -* :doc:`pair_style hdnnp ` -* examples/PACKAGES/hdnnp - ----------- - -.. _PKG-INTEL: - -INTEL package ------------------- - -**Contents:** - -Dozens of pair, fix, bond, angle, dihedral, improper, and kspace -styles which are optimized for Intel CPUs and KNLs (Knights Landing). -All of them have an "intel" in their style name. The -:doc:`INTEL package ` page gives details of what hardware and -compilers are required on your system, and how to build and use this -package. Its styles can be invoked at run time via the "-sf intel" or -"-suffix intel" :doc:`command-line switches `. Also see -the :ref:`KOKKOS `, :ref:`OPT `, and :ref:`OPENMP ` packages, -which have styles optimized for CPUs and KNLs. - -You need to have an Intel compiler, version 14 or higher to take full -advantage of this package. While compilation with GNU compilers is -supported, performance will be sub-optimal. - -.. note:: - - the INTEL package contains styles that require using the - -restrict flag, when compiling with Intel compilers. - -**Author:** Mike Brown (Intel). - -**Install:** - -This package has :ref:`specific installation instructions ` on the :doc:`Build extras ` page. - -**Supporting info:** - -* src/INTEL: filenames -> commands -* src/INTEL/README -* :doc:`Accelerator packages ` -* :doc:`INTEL package ` -* :doc:`Section 2.6 -sf intel ` -* :doc:`Section 2.6 -pk intel ` -* :doc:`package intel ` -* Search the :doc:`commands ` pages (:doc:`fix `, :doc:`compute `, - :doc:`pair `, :doc:`bond, angle, dihedral, improper `, :doc:`kspace `) for styles followed by (i) -* src/INTEL/TEST -* `Benchmarks page `_ of web site - ----------- - -.. _PKG-LATBOLTZ: - -LATBOLTZ package ---------------- - -**Contents:** - -Fixes which implement a background Lattice-Boltzmann (LB) fluid, which -can be used to model MD particles influenced by hydrodynamic forces. - -**Authors:** Frances Mackay and Colin Denniston (University of Western -Ontario). - -**Supporting info:** - -* src/LATBOLTZ: filenames -> commands -* src/LATBOLTZ/README -* :doc:`fix lb/fluid ` -* :doc:`fix lb/momentum ` -* :doc:`fix lb/viscous ` -* examples/PACKAGES/latboltz - ----------- - -.. _PKG-MGPT: - -MGPT package ------------------ - -**Contents:** - -A pair style which provides a fast implementation of the quantum-based -MGPT multi-ion potentials. The MGPT or model GPT method derives from -first-principles DFT-based generalized pseudopotential theory (GPT) -through a series of systematic approximations valid for mid-period -transition metals with nearly half-filled d bands. The MGPT method -was originally developed by John Moriarty at LLNL. The pair style in -this package calculates forces and energies using an optimized -matrix-MGPT algorithm due to Tomas Oppelstrup at LLNL. - -**Authors:** Tomas Oppelstrup and John Moriarty (LLNL). - -**Supporting info:** - -* src/MGPT: filenames -> commands -* src/MGPT/README -* :doc:`pair_style mgpt ` -* examples/PACKAGES/mgpt - ----------- - -.. _PKG-USER-MISC: - -USER-MISC package ------------------ - -**Contents:** - -A potpourri of (mostly) unrelated features contributed to LAMMPS by -users. Each feature is a single fix, compute, pair, bond, angle, -dihedral, improper, or command style. - -**Authors:** The author for each style in the package is listed in the -src/USER-MISC/README file. - -**Supporting info:** - -* src/USER-MISC: filenames -> commands -* src/USER-MISC/README -* one page per individual command listed in src/USER-MISC/README -* examples/USER-MISC - ----------- - -.. _PKG-MANIFOLD: - -MANIFOLD package ---------------------- - -**Contents:** - -Several fixes and a "manifold" class which enable simulations of -particles constrained to a manifold (a 2D surface within the 3D -simulation box). This is done by applying the RATTLE constraint -algorithm to formulate single-particle constraint functions -g(xi,yi,zi) = 0 and their derivative (i.e. the normal of the manifold) -n = grad(g). - -**Author:** Stefan Paquay (until 2017: Eindhoven University of -Technology (TU/e), The Netherlands; since 2017: Brandeis University, -Waltham, MA, USA) - -**Supporting info:** - -* src/MANIFOLD: filenames -> commands -* src/MANIFOLD/README -* :doc:`Howto manifold ` -* :doc:`fix manifoldforce ` -* :doc:`fix nve/manifold/rattle ` -* :doc:`fix nvt/manifold/rattle ` -* examples/PACKAGES/manifold -* https://www.lammps.org/movies.html#manifold - ----------- - .. _PKG-MDI: MDI package @@ -1828,37 +1292,6 @@ Sandia. ---------- -.. _PKG-DPD-MESO: - -DPD-MESO package --------------------- - -**Contents:** - -Several extensions of the dissipative particle dynamics (DPD) -method. Specifically, energy-conserving DPD (eDPD) that can model -non-isothermal processes, many-body DPD (mDPD) for simulating -vapor-liquid coexistence, and transport DPD (tDPD) for modeling -advection-diffusion-reaction systems. The equations of motion of these -DPD extensions are integrated through a modified velocity-Verlet (MVV) -algorithm. - -**Author:** Zhen Li (Division of Applied Mathematics, Brown University) - -**Supporting info:** - -* src/DPD-MESO: filenames -> commands -* src/DPD-MESO/README -* :doc:`atom_style edpd ` -* :doc:`pair_style edpd ` -* :doc:`pair_style mdpd ` -* :doc:`pair_style tdpd ` -* :doc:`fix mvv/dpd ` -* examples/PACKAGES/mesodpd -* https://www.lammps.org/movies.html#mesodpd - ----------- - .. _PKG-MESONT: MESONT package @@ -1906,6 +1339,284 @@ Philipp Kloza (U Cambridge) ---------- +.. _PKG-MESSAGE: + +MESSAGE package +--------------- + +**Contents:** + +Commands to use LAMMPS as either a client or server and couple it to +another application. + +**Install:** + +This package has :ref:`specific installation instructions ` on the :doc:`Build extras ` page. + +**Supporting info:** + +* src/MESSAGE: filenames -> commands +* lib/message/README +* :doc:`message ` +* :doc:`fix client/md ` +* :doc:`server md ` +* :doc:`server mc ` +* examples/message + +---------- + +.. _PKG-MGPT: + +MGPT package +----------------- + +**Contents:** + +A pair style which provides a fast implementation of the quantum-based +MGPT multi-ion potentials. The MGPT or model GPT method derives from +first-principles DFT-based generalized pseudopotential theory (GPT) +through a series of systematic approximations valid for mid-period +transition metals with nearly half-filled d bands. The MGPT method +was originally developed by John Moriarty at LLNL. The pair style in +this package calculates forces and energies using an optimized +matrix-MGPT algorithm due to Tomas Oppelstrup at LLNL. + +**Authors:** Tomas Oppelstrup and John Moriarty (LLNL). + +**Supporting info:** + +* src/MGPT: filenames -> commands +* src/MGPT/README +* :doc:`pair_style mgpt ` +* examples/PACKAGES/mgpt + +---------- + +.. _PKG-MISC: + +MISC package +------------ + +**Contents:** + +A variety of compute, fix, pair, dump styles with specialized +capabilities that don't align with other packages. Do a directory +listing, "ls src/MISC", to see the list of commands. + +.. note:: + + the MISC package contains styles that require using the + -restrict flag, when compiling with Intel compilers. + +**Supporting info:** + +* src/MISC: filenames -> commands +* :doc:`compute ti ` +* :doc:`fix evaporate ` +* :doc:`fix orient/fcc ` +* :doc:`fix ttm ` +* :doc:`fix thermal/conductivity ` +* :doc:`fix viscosity ` +* examples/KAPPA +* examples/VISCOSITY +* https://www.lammps.org/pictures.html#ttm +* https://www.lammps.org/movies.html#evaporation + +---------- + +.. _PKG-ML-HDNNP: + +ML-HDNNP package +------------------ + +**Contents:** + +A :doc:`pair_style hdnnp ` command which allows to use +high-dimensional neural network potentials (HDNNPs), a form of machine learning +potentials. HDNNPs must be carefully trained prior to their application in a +molecular dynamics simulation. + +.. _n2p2: https://github.com/CompPhysVienna/n2p2 + +To use this package you must have the `n2p2 `_ library installed and +compiled on your system. + +**Author:** Andreas Singraber + +**Install:** + +This package has :ref:`specific installation instructions ` on the +:doc:`Build extras ` page. + +**Supporting info:** + +* src/ML-HDNNP: filenames -> commands +* src/ML-HDNNP/README +* lib/hdnnp/README +* :doc:`pair_style hdnnp ` +* examples/PACKAGES/hdnnp + +---------- + +.. _PKG-ML-IAP: + +ML-IAP package +-------------- + +**Contents:** + +A general interface for machine-learning interatomic potentials, including PyTorch. + +**Install:** + +To use this package, also the :ref:`ML-SNAP package ` package needs +to be installed. To make the *mliappy* model available, also the +:ref:`PYTHON package ` package needs to be installed, the version +of Python must be 3.6 or later, and the `cython `_ software +must be installed. + +**Author:** Aidan Thompson (Sandia), Nicholas Lubbers (LANL). + +**Supporting info:** + +* src/ML-IAP: filenames -> commands +* src/ML-IAP/README.md +* :doc:`pair_style mliap ` +* :doc:`compute_style mliap ` +* examples/mliap (see README) + +When built with the *mliappy* model this package includes an extension for +coupling with Python models, including PyTorch. In this case, the Python +interpreter linked to LAMMPS will need the ``cython`` and ``numpy`` modules +installed. The provided examples build models with PyTorch, which would +therefore also needs to be installed to run those examples. + +---------- + +.. _PKG-ML-PACE: + +ML-PACE package +------------------- + +**Contents:** + +A pair style for the Atomic Cluster Expansion potential (ACE). +ACE is a methodology for deriving a highly accurate classical potential +fit to a large archive of quantum mechanical (DFT) data. The ML-PACE +package provides an efficient implementation for running simulations +with ACE potentials. + +**Authors:** + +This package was written by Yury Lysogorskiy^1, +Cas van der Oord^2, Anton Bochkarev^1, +Sarath Menon^1, Matteo Rinaldi^1, Thomas Hammerschmidt^1, Matous Mrovec^1, +Aidan Thompson^3, Gabor Csanyi^2, Christoph Ortner^4, Ralf Drautz^1. + + ^1: Ruhr-University Bochum, Bochum, Germany + + ^2: University of Cambridge, Cambridge, United Kingdom + + ^3: Sandia National Laboratories, Albuquerque, New Mexico, USA + + ^4: University of British Columbia, Vancouver, BC, Canada + +**Install:** + +This package has :ref:`specific installation instructions ` on the +:doc:`Build extras ` page. + +**Supporting info:** + +* src/ML-PACE: filenames -> commands +* :doc:`pair_style pace ` +* examples/PACKAGES/pace + +---------- + +.. _PKG-ML-QUIP: + +ML-QUIP package +----------------- + +**Contents:** + +A :doc:`pair_style quip ` command which wraps the `QUIP +libAtoms library `_, which includes a variety of interatomic +potentials, including Gaussian Approximation Potential (GAP) models +developed by the Cambridge University group. + +.. _quip: https://github.com/libAtoms/QUIP + +To use this package you must have the QUIP libAtoms library available +on your system. + +**Author:** Albert Bartok (Cambridge University) + +**Install:** + +This package has :ref:`specific installation instructions ` on the +:doc:`Build extras ` page. + +**Supporting info:** + +* src/ML-QUIP: filenames -> commands +* src/ML-QUIP/README +* :doc:`pair_style quip ` +* examples/PACKAGES/quip + +---------- + +.. _PKG-ML-RANN: + +ML-RANN package +----------------- + +**Contents:** + +A pair style for using rapid atomistic neural network (RANN) potentials. +These neural network potentials work by first generating a series of symmetry +functions from the neighbor list and then using these values as the input layer +of a neural network. + +**Authors:** + +This package was written by Christopher Barrett +with contributions by Doyl Dickel, Mississippi State University. + +**Supporting info:** + +* src/ML-RANN: filenames -> commands +* :doc:`pair_style rann ` +* examples/PACKAGES/rann + +---------- + +.. _PKG-ML-SNAP: + +ML-SNAP package +--------------- + +**Contents:** + +A pair style for the spectral neighbor analysis potential (SNAP). +SNAP is methodology for deriving a highly accurate classical potential +fit to a large archive of quantum mechanical (DFT) data. Also several +computes which analyze attributes of the potential. + +**Author:** Aidan Thompson (Sandia). + +**Supporting info:** + +* src/ML-SNAP: filenames -> commands +* :doc:`pair_style snap ` +* :doc:`compute sna/atom ` +* :doc:`compute snad/atom ` +* :doc:`compute snav/atom ` +* examples/snap + +---------- + .. _PKG-MOFFF: MOFFF package @@ -1939,6 +1650,38 @@ Rochus Schmid (Ruhr-University Bochum). ---------- +.. _PKG-MOLECULE: + +MOLECULE package +---------------- + +**Contents:** + +A large number of atom, pair, bond, angle, dihedral, improper styles +that are used to model molecular systems with fixed covalent bonds. +The pair styles include the Dreiding (hydrogen-bonding) and CHARMM +force fields, and a TIP4P water model. + +**Supporting info:** + +* src/MOLECULE: filenames -> commands +* :doc:`atom_style ` +* :doc:`bond_style ` +* :doc:`angle_style ` +* :doc:`dihedral_style ` +* :doc:`improper_style ` +* :doc:`pair_style hbond/dreiding/lj ` +* :doc:`pair_style lj/charmm/coul/charmm ` +* :doc:`Howto bioFF ` +* examples/cmap +* examples/dreiding +* examples/micelle, +* examples/peptide +* bench/in.chain +* bench/in.rhodo + +---------- + .. _PKG-MOLFILE: MOLFILE package @@ -1981,6 +1724,60 @@ This package has :ref:`specific installation instructions ` on the :doc ---------- +.. _PKG-MPIIO: + +MPIIO package +------------- + +**Contents:** + +Support for parallel output/input of dump and restart files via the +MPIIO library. It adds :doc:`dump styles ` with a "mpiio" in +their style name. Restart files with an ".mpiio" suffix are also +written and read in parallel. + +**Supporting info:** + +* src/MPIIO: filenames -> commands +* :doc:`dump ` +* :doc:`restart ` +* :doc:`write_restart ` +* :doc:`read_restart ` + +---------- + +.. _PKG-MSCG: + +MSCG package +------------ + +**Contents:** + +A :doc:`fix mscg ` command which can parameterize a +Multi-Scale Coarse-Graining (MSCG) model using the open-source `MS-CG library `_. + +.. _mscg-home: https://github.com/uchicago-voth/MSCG-release + +To use this package you must have the MS-CG library available on your +system. + +**Authors:** The fix was written by Lauren Abbott (Sandia). The MS-CG +library was developed by Jacob Wagner in Greg Voth's group at the +University of Chicago. + +**Install:** + +This package has :ref:`specific installation instructions ` on the :doc:`Build extras ` page. + +**Supporting info:** + +* src/MSCG: filenames -> commands +* src/MSCG/README +* lib/mscg/README +* examples/mscg + +---------- + .. _PKG-NETCDF: NETCDF package @@ -2076,44 +1873,68 @@ the :doc:`Build extras ` page. ---------- -.. _PKG-ML-PACE: +.. _PKG-OPT: -ML-PACE package -------------------- +OPT package +----------- **Contents:** -A pair style for the Atomic Cluster Expansion potential (ACE). -ACE is a methodology for deriving a highly accurate classical potential -fit to a large archive of quantum mechanical (DFT) data. The ML-PACE -package provides an efficient implementation for running simulations -with ACE potentials. +A handful of pair styles which are optimized for improved CPU +performance on single or multiple cores. These include EAM, LJ, +CHARMM, and Morse potentials. The styles have an "opt" suffix in +their style name. The :doc:`OPT package ` page gives +details of how to build and use this package. Its styles can be +invoked at run time via the "-sf opt" or "-suffix opt" :doc:`command-line switches `. See also the :ref:`KOKKOS `, +:ref:`INTEL `, and :ref:`OPENMP ` packages, which +have styles optimized for CPU performance. -**Authors:** - -This package was written by Yury Lysogorskiy^1, -Cas van der Oord^2, Anton Bochkarev^1, -Sarath Menon^1, Matteo Rinaldi^1, Thomas Hammerschmidt^1, Matous Mrovec^1, -Aidan Thompson^3, Gabor Csanyi^2, Christoph Ortner^4, Ralf Drautz^1. - - ^1: Ruhr-University Bochum, Bochum, Germany - - ^2: University of Cambridge, Cambridge, United Kingdom - - ^3: Sandia National Laboratories, Albuquerque, New Mexico, USA - - ^4: University of British Columbia, Vancouver, BC, Canada +**Authors:** James Fischer (High Performance Technologies), David Richie, +and Vincent Natoli (Stone Ridge Technology). **Install:** -This package has :ref:`specific installation instructions ` on the -:doc:`Build extras ` page. +This package has :ref:`specific installation instructions ` on the :doc:`Build extras ` page. **Supporting info:** -* src/ML-PACE: filenames -> commands -* :doc:`pair_style pace ` -* examples/PACKAGES/pace +* src/OPT: filenames -> commands +* :doc:`Accelerator packages ` +* :doc:`OPT package ` +* :doc:`Section 2.6 -sf opt ` +* Search the :doc:`pair style ` page for styles followed by (t) +* `Benchmarks page `_ of web site + +---------- + +.. _PKG-PERI: + +PERI package +------------ + +**Contents:** + +An atom style, several pair styles which implement different +Peridynamics materials models, and several computes which calculate +diagnostics. Peridynamics is a particle-based meshless continuum +model. + +**Authors:** The original package was created by Mike Parks (Sandia). +Additional Peridynamics models were added by Rezwanur Rahman and John +Foster (UTSA). + +**Supporting info:** + +* src/PERI: filenames -> commands +* `doc/PDF/PDLammps_overview.pdf `_ +* `doc/PDF/PDLammps_EPS.pdf `_ +* `doc/PDF/PDLammps_VES.pdf `_ +* :doc:`atom_style peri ` +* :doc:`pair_style peri/\* ` +* :doc:`compute damage/atom ` +* :doc:`compute plasticity/atom ` +* examples/peri +* https://www.lammps.org/movies.html#peri ---------- @@ -2145,6 +1966,28 @@ and Charlie Sievers (UC Davis) for "dynamical_matrix" and "third_order" ---------- +.. _PKG-PLUGIN: + +PLUGIN package +-------------- + +**Contents:** + +A :doc:`plugin ` command that can load and unload several +kind of styles in LAMMPS from shared object files at runtime without +having to recompile and relink LAMMPS. + +**Authors:** Axel Kohlmeyer (Temple U) + +**Supporting info:** + +* src/PLUGIN: filenames -> commands +* :doc:`plugin command ` +* :doc:`Information on writing plugins ` +* examples/plugin + +---------- + .. _PKG-PLUMED: PLUMED package @@ -2174,6 +2017,35 @@ This package has :ref:`specific installation instructions ` on the :doc: ---------- +.. _PKG-POEMS: + +POEMS package +------------- + +**Contents:** + +A fix that wraps the Parallelizable Open source Efficient Multibody +Software (POEMS) library, which is able to simulate the dynamics of +articulated body systems. These are systems with multiple rigid +bodies (collections of particles) whose motion is coupled by +connections at hinge points. + +**Author:** Rudra Mukherjee (JPL) while at RPI. + +**Install:** + +This package has :ref:`specific installation instructions ` on the :doc:`Build extras ` page. + +**Supporting info:** + +* src/POEMS: filenames -> commands +* src/POEMS/README +* lib/poems/README +* :doc:`fix poems ` +* examples/rigid + +---------- + .. _PKG-PTM: PTM package @@ -2196,6 +2068,59 @@ Matching methodology. ---------- +.. _PKG-PYTHON: + +PYTHON package +-------------- + +**Contents:** + +A :doc:`python ` command which allow you to execute Python code +from a LAMMPS input script. The code can be in a separate file or +embedded in the input script itself. See the :doc:`Python call ` page for an overview of using Python from +LAMMPS in this manner and all the :doc:`Python ` manual pages +for other ways to use LAMMPS and Python together. + +.. note:: + + Building with the PYTHON package assumes you have a Python + shared library available on your system, which needs to be a Python 2 + version, 2.6 or later. Python 3 is not yet supported. See the + lib/python/README for more details. + +**Install:** + +This package has :ref:`specific installation instructions ` on the :doc:`Build extras ` page. + +**Supporting info:** + +* src/PYTHON: filenames -> commands +* :doc:`Python call ` +* lib/python/README +* examples/python + +---------- + +.. _PKG-QEQ: + +QEQ package +----------- + +**Contents:** + +Several fixes for performing charge equilibration (QEq) via different +algorithms. These can be used with pair styles that perform QEq as +part of their formulation. + +**Supporting info:** + +* src/QEQ: filenames -> commands +* :doc:`fix qeq/\* ` +* examples/qeq +* examples/streitz + +---------- + .. _PKG-QMMM: QMMM package @@ -2269,64 +2194,6 @@ simulation. ---------- -.. _PKG-ML-QUIP: - -ML-QUIP package ------------------ - -**Contents:** - -A :doc:`pair_style quip ` command which wraps the `QUIP -libAtoms library `_, which includes a variety of interatomic -potentials, including Gaussian Approximation Potential (GAP) models -developed by the Cambridge University group. - -.. _quip: https://github.com/libAtoms/QUIP - -To use this package you must have the QUIP libAtoms library available -on your system. - -**Author:** Albert Bartok (Cambridge University) - -**Install:** - -This package has :ref:`specific installation instructions ` on the -:doc:`Build extras ` page. - -**Supporting info:** - -* src/ML-QUIP: filenames -> commands -* src/ML-QUIP/README -* :doc:`pair_style quip ` -* examples/PACKAGES/quip - ----------- - -.. _PKG-ML-RANN: - -ML-RANN package ------------------ - -**Contents:** - -A pair style for using rapid atomistic neural network (RANN) potentials. -These neural network potentials work by first generating a series of symmetry -functions from the neighbor list and then using these values as the input layer -of a neural network. - -**Authors:** - -This package was written by Christopher Barrett -with contributions by Doyl Dickel, Mississippi State University. - -**Supporting info:** - -* src/ML-RANN: filenames -> commands -* :doc:`pair_style rann ` -* examples/PACKAGES/rann - ----------- - .. _PKG-REACTION: REACTION package @@ -2383,6 +2250,64 @@ for monitoring molecules as bonds are created and destroyed. ---------- +.. _PKG-REPLICA: + +REPLICA package +--------------- + +**Contents:** + +A collection of multi-replica methods which can be used when running +multiple LAMMPS simulations (replicas). See the :doc:`Howto replica ` page for an overview of how to run +multi-replica simulations in LAMMPS. Methods in the package include +nudged elastic band (NEB), parallel replica dynamics (PRD), +temperature accelerated dynamics (TAD), parallel tempering, and a +verlet/split algorithm for performing long-range Coulombics on one set +of processors, and the remainder of the force field calculation on +another set. + +**Supporting info:** + +* src/REPLICA: filenames -> commands +* :doc:`Howto replica ` +* :doc:`neb ` +* :doc:`prd ` +* :doc:`tad ` +* :doc:`temper `, +* :doc:`run_style verlet/split ` +* examples/neb +* examples/prd +* examples/tad + +---------- + +.. _PKG-RIGID: + +RIGID package +------------- + +**Contents:** + +Fixes which enforce rigid constraints on collections of atoms or +particles. This includes SHAKE and RATTLE, as well as various +rigid-body integrators for a few large bodies or many small bodies. +Also several computes which calculate properties of rigid bodies. + +**Supporting info:** + +* src/RIGID: filenames -> commands +* :doc:`compute erotate/rigid ` +* :doc:`fix shake ` +* :doc:`fix rattle ` +* :doc:`fix rigid/\* ` +* examples/ASPHERE +* examples/rigid +* bench/in.rhodo +* https://www.lammps.org/movies.html#box +* https://www.lammps.org/movies.html#star + +---------- + .. _PKG-SCAFACOS: SCAFACOS package @@ -2418,69 +2343,25 @@ This package has :ref:`specific installation instructions ` on the :do ---------- -.. _PKG-DPD-SMOOTH: +.. _PKG-SHOCK: -DPD-SMOOTH package ------------------ +SHOCK package +------------- **Contents:** -A pair style for smoothed dissipative particle dynamics (SDPD), which -is an extension of smoothed particle hydrodynamics (SPH) to mesoscale -where thermal fluctuations are important (see the -:ref:`SPH package `). -Also two fixes for moving and rigid body integration of SPH/SDPD particles -(particles of atom_style meso). - -**Author:** Morteza Jalalvand (Institute for Advanced Studies in Basic -Sciences, Iran). +Fixes for running impact simulations where a shock-wave passes through +a material. **Supporting info:** -* src/DPD-SMOOTH: filenames -> commands -* src/DPD-SMOOTH/README -* :doc:`pair_style sdpd/taitwater/isothermal ` -* :doc:`fix meso/move ` -* :doc:`fix rigid/meso ` -* examples/PACKAGES/dpd-smooth - ----------- - -.. _PKG-MACHDYN: - -MACHDYN package ----------------- - -**Contents:** - -An atom style, fixes, computes, and several pair styles which -implements smoothed Mach dynamics (SMD) for solids, which is a model -related to smoothed particle hydrodynamics (SPH) for liquids (see the -:ref:`SPH package `). - -This package solves solids mechanics problems via a state of the art -stabilized meshless method with hourglass control. It can specify -hydrostatic interactions independently from material strength models, -i.e. pressure and deviatoric stresses are separated. It provides many -material models (Johnson-Cook, plasticity with hardening, -Mie-Grueneisen, Polynomial EOS) and allows new material models to be -added. It implements rigid boundary conditions (walls) which can be -specified as surface geometries from \*.STL files. - -**Author:** Georg Ganzenmuller (Fraunhofer-Institute for High-Speed -Dynamics, Ernst Mach Institute, Germany). - -**Install:** - -This package has :ref:`specific installation instructions ` on the :doc:`Build extras ` page. - -**Supporting info:** - -* src/MACHDYN: filenames -> commands -* src/MACHDYN/README -* doc/PDF/MACHDYN_LAMMPS_userguide.pdf -* examples/PACKAGES/machdyn -* https://www.lammps.org/movies.html#smd +* src/SHOCK: filenames -> commands +* :doc:`fix append/atoms ` +* :doc:`fix msst ` +* :doc:`fix nphug ` +* :doc:`fix wall/piston ` +* examples/hugoniostat +* examples/msst ---------- @@ -2541,6 +2422,62 @@ Dynamics, Ernst Mach Institute, Germany). ---------- +.. _PKG-SPIN: + +SPIN package +------------ + +**Contents:** + +Model atomic magnetic spins classically, coupled to atoms moving in +the usual manner via MD. Various pair, fix, and compute styles. + +**Author:** Julien Tranchida (Sandia). + +**Supporting info:** + +* src/SPIN: filenames -> commands +* :doc:`Howto spins ` +* :doc:`pair_style spin/dipole/cut ` +* :doc:`pair_style spin/dipole/long ` +* :doc:`pair_style spin/dmi ` +* :doc:`pair_style spin/exchange ` +* :doc:`pair_style spin/exchange/biquadratic ` +* :doc:`pair_style spin/magelec ` +* :doc:`pair_style spin/neel ` +* :doc:`fix nve/spin ` +* :doc:`fix langevin/spin ` +* :doc:`fix precession/spin ` +* :doc:`compute spin ` +* :doc:`neb/spin ` +* examples/SPIN + +---------- + +.. _PKG-SRD: + +SRD package +----------- + +**Contents:** + +A pair of fixes which implement the Stochastic Rotation Dynamics (SRD) +method for coarse-graining of a solvent, typically around large +colloidal particles. + +**Supporting info:** + +* src/SRD: filenames -> commands +* :doc:`fix srd ` +* :doc:`fix wall/srd ` +* examples/srd +* examples/ASPHERE +* https://www.lammps.org/movies.html#tri +* https://www.lammps.org/movies.html#line +* https://www.lammps.org/movies.html#poly + +---------- + .. _PKG-TALLY: TALLY package @@ -2589,6 +2526,41 @@ supporting compute styles and an output option. ---------- +.. _PKG-VORONOI: + +VORONOI package +--------------- + +**Contents:** + +A compute command which calculates the Voronoi tesselation of a +collection of atoms by wrapping the `Voro++ library `_. This +can be used to calculate the local volume or each atoms or its near +neighbors. + +.. _voro-home: http://math.lbl.gov/voro++ + +To use this package you must have the Voro++ library available on your +system. + +**Author:** Daniel Schwen (INL) while at LANL. The open-source Voro++ +library was written by Chris Rycroft (Harvard U) while at UC Berkeley +and LBNL. + +**Install:** + +This package has :ref:`specific installation instructions ` on the :doc:`Build extras ` page. + +**Supporting info:** + +* src/VORONOI: filenames -> commands +* src/VORONOI/README +* lib/voronoi/README +* :doc:`compute voronoi/atom ` +* examples/voronoi + +---------- + .. _PKG-VTK: VTK package @@ -2655,3 +2627,26 @@ which discuss the `QuickFF `_ methodology. * :doc:`pair_style mm3/switch3/coulgauss/long ` * :doc:`pair_style lj/switch3/coulgauss/long ` * examples/PACKAGES/yaff + +---------- + +.. _PKG-USER-MISC: + +USER-MISC package +----------------- + +**Contents:** + +A potpourri of (mostly) unrelated features contributed to LAMMPS by +users. Each feature is a single fix, compute, pair, bond, angle, +dihedral, improper, or command style. + +**Authors:** The author for each style in the package is listed in the +src/USER-MISC/README file. + +**Supporting info:** + +* src/USER-MISC: filenames -> commands +* src/USER-MISC/README +* one page per individual command listed in src/USER-MISC/README +* examples/USER-MISC diff --git a/doc/src/Packages_list.rst b/doc/src/Packages_list.rst new file mode 100644 index 0000000000..502a38853d --- /dev/null +++ b/doc/src/Packages_list.rst @@ -0,0 +1,192 @@ +Available Packages +================== + +This is the list of packages included in LAMMPS. The link for each +package name gives more details. + +Packages are supported by either the LAMMPS developers or the +contributing authors and written in a syntax and style consistent with +the rest of LAMMPS. + +The "Example" column is a sub-directory in the examples directory of the +distribution which has an input script that uses the package. +E.g. "peptide" refers to the examples/peptide directory; PACKAGES/atc refers +to the examples/PACKAGES/atc directory. The "Library" column indicates +whether an extra library is needed to build and use the package: + +* no = no library +* sys = system library: you likely have it on your machine +* int = internal library: provided with LAMMPS, but you may need to build it +* ext = external library: you will need to download and install it on your machine + ++------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| Package | Description | Doc page | Example | Library | ++------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`ADIOS ` | dump output via ADIOS | :doc:`dump adios ` | PACKAGES/adios | ext | ++------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`ASPHERE ` | aspherical particle models | :doc:`Howto spherical ` | ellipse | no | ++------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`ATC ` | Atom-to-Continuum coupling | :doc:`fix atc ` | PACKAGES/atc | int | ++------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`AWPMD ` | wave packet MD | :doc:`pair_style awpmd/cut ` | PACKAGES/awpmd | int | ++------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`BOCS ` | BOCS bottom up coarse graining | :doc:`fix bocs ` | PACKAGES/bocs | no | ++------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`BODY ` | body-style particles | :doc:`Howto body ` | body | no | ++------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`BROWNIAN ` | Brownian dynamics and self-propelled particles | :doc:`fix brownian `, :doc:`fix propel/self ` | PACKAGES/brownian | no | ++------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`CG-DNA ` | coarse-grained DNA force fields | src/CG-DNA/README | PACKAGES/cgdna | no | ++------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`CG-SDK ` | SDK coarse-graining model | :doc:`pair_style lj/sdk ` | PACKAGES/cgsdk | no | ++------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`CLASS2 ` | class 2 force fields | :doc:`pair_style lj/class2 ` | n/a | no | ++------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`COLLOID ` | colloidal particles | :doc:`atom_style colloid ` | colloid | no | ++------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`COLVARS ` | collective variables library | :doc:`fix colvars ` | PACKAGES/colvars | int | ++------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`COMPRESS ` | I/O compression | :doc:`dump \*/gz ` | n/a | sys | ++------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`CORESHELL ` | adiabatic core/shell model | :doc:`Howto coreshell ` | coreshell | no | ++------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`DIELECTRIC ` | dielectric boundary solvers and force styles | :doc:`compute efield/atom ` | PACKAGES/dielectric | no | ++------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`DIFFRACTION ` | virtual x-ray and electron diffraction | :doc:`compute xrd ` | PACKAGES/diffraction | no | ++------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`DIPOLE ` | point dipole particles | :doc:`pair_style lj/.../dipole ` | dipole | no | ++------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`DPD-MESO ` | mesoscale DPD models | :doc:`pair_style edpd ` | PACKAGES/dpd-meso | no | ++------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`DPD-REACT ` | reactive dissipative particle dynamics | src/DPD-REACT/README | PACKAGES/dpd-react | no | ++------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`DPD-SMOOTH ` | smoothed dissipative particle dynamics | :doc:`pair_style sdpd/taitwater/isothermal ` | PACKAGES/dpd-smooth | no | ++------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`DRUDE ` | Drude oscillators | :doc:`Howto drude ` | PACKAGES/drude | no | ++------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`EFF ` | electron force field | :doc:`pair_style eff/cut ` | PACKAGES/eff | no | ++------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`FEP ` | free energy perturbation | :doc:`compute fep ` | PACKAGES/fep | no | ++------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`GPU ` | GPU-enabled styles | :doc:`Section gpu ` | `Benchmarks `_ | int | ++------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`GRANULAR ` | granular systems | :doc:`Howto granular ` | pour | no | ++------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`H5MD ` | dump output via HDF5 | :doc:`dump h5md ` | n/a | ext | ++------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`INTEL ` | optimized Intel CPU and KNL styles | :doc:`Speed intel ` | `Benchmarks `_ | no | ++------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`KIM ` | OpenKIM wrapper | :doc:`pair_style kim ` | kim | ext | ++------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`KOKKOS ` | Kokkos-enabled styles | :doc:`Speed kokkos ` | `Benchmarks `_ | no | ++------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`KSPACE ` | long-range Coulombic solvers | :doc:`kspace_style ` | peptide | no | ++------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`LATBOLTZ ` | Lattice Boltzmann fluid | :doc:`fix lb/fluid ` | PACKAGES/latboltz | no | ++------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`LATTE ` | quantum DFTB forces via LATTE | :doc:`fix latte ` | latte | ext | ++------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`MACHDYN ` | smoothed Mach dynamics | `SMD User Guide `_ | PACKAGES/machdyn | ext | ++------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`MANIFOLD ` | motion on 2d surfaces | :doc:`fix manifoldforce ` | PACKAGES/manifold | no | ++------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`MANYBODY ` | many-body potentials | :doc:`pair_style tersoff ` | shear | no | ++------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`MC ` | Monte Carlo options | :doc:`fix gcmc ` | n/a | no | ++------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`MDI ` | client-server coupling | :doc:`MDI Howto ` | PACKAGES/mdi | ext | ++------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`MEAM ` | modified EAM potential (C++) | :doc:`pair_style meam ` | meam | no | ++------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`MESONT ` | mesoscopic tubular potential model for nanotubes | pair style :doc:`mesont/tpm `, :doc:`mesocnt ` | PACKAGES/mesont | int | ++------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`MESSAGE ` | client/server messaging | :doc:`message ` | message | int | ++------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`MGPT ` | fast MGPT multi-ion potentials | :doc:`pair_style mgpt ` | PACKAGES/mgpt | no | ++------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`MISC ` | miscellaneous single-file commands | n/a | no | no | ++------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`ML-HDNNP ` | High-dimensional neural network potentials | :doc:`pair_style hdnnp ` | PACKAGES/hdnnp | ext | ++------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`ML-IAP ` | multiple machine learning potentials | :doc:`pair_style mliap ` | mliap | no | ++------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`ML-PACE ` | Atomic Cluster Expansion (ACE) potential | :doc:`pair pace ` | PACKAGES/pace | ext | ++------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`ML-QUIP ` | QUIP/libatoms interface | :doc:`pair_style quip ` | PACKAGES/quip | ext | ++------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`ML-RANN ` | rapid atomistic neural network (RANN) potentials | :doc:`pair rann ` | PACKAGES/rann | no | ++------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`ML-SNAP ` | quantum-fitted potential | :doc:`pair_style snap ` | snap | no | ++------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`MOFFF ` | styles for `MOF-FF `_ force field | :doc:`pair_style buck6d/coul/gauss ` | PACKAGES/mofff | no | ++------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`MOLECULE ` | molecular system force fields | :doc:`Howto bioFF ` | peptide | no | ++------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`MOLFILE ` | `VMD `_ molfile plug-ins | :doc:`dump molfile ` | n/a | ext | ++------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`MPIIO ` | MPI parallel I/O dump and restart | :doc:`dump ` | n/a | no | ++------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`MSCG ` | multi-scale coarse-graining wrapper | :doc:`fix mscg ` | mscg | ext | ++------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`NETCDF ` | dump output via NetCDF | :doc:`dump netcdf ` | n/a | ext | ++------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`OPENMP ` | OpenMP-enabled styles | :doc:`Speed omp ` | `Benchmarks `_ | no | ++------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`OPT ` | optimized pair styles | :doc:`Speed opt ` | `Benchmarks `_ | no | ++------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`PERI ` | Peridynamics models | :doc:`pair_style peri ` | peri | no | ++------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`PHONON ` | phonon dynamical matrix | :doc:`fix phonon ` | PACKAGES/phonon | no | ++------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`PLUGIN ` | Plugin loader command | :doc:`plugin ` | plugins | no | ++------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`PLUMED ` | :ref:`PLUMED ` free energy library | :doc:`fix plumed ` | PACKAGES/plumed | ext | ++------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`POEMS ` | coupled rigid body motion | :doc:`fix poems ` | rigid | int | ++------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`PTM ` | Polyhedral Template Matching | :doc:`compute ptm/atom ` | n/a | no | ++------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`PYTHON ` | embed Python code in an input script | :doc:`python ` | python | sys | ++------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`QEQ ` | QEq charge equilibration | :doc:`fix qeq ` | qeq | no | ++------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`QMMM ` | QM/MM coupling | :doc:`fix qmmm ` | PACKAGES/qmmm | ext | ++------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`QTB ` | quantum nuclear effects | :doc:`fix qtb ` :doc:`fix qbmsst ` | qtb | no | ++------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`REACTION ` | chemical reactions in classical MD | :doc:`fix bond/react ` | PACKAGES/reaction | no | ++------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`REAXFF ` | ReaxFF potential (C/C++) | :doc:`pair_style reaxc ` | reax | no | ++------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`REPLICA ` | multi-replica methods | :doc:`Howto replica ` | tad | no | ++------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`RIGID ` | rigid bodies and constraints | :doc:`fix rigid ` | rigid | no | ++------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`SCAFACOS ` | wrapper for ScaFaCoS Kspace solver | :doc:`kspace_style scafacos ` | PACKAGES/scafacos | ext | ++------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`SHOCK ` | shock loading methods | :doc:`fix msst ` | n/a | no | ++------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`SMTBQ ` | second moment tight binding QEq potential | :doc:`pair_style smtbq ` | PACKAGES/smtbq | no | ++------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`SPH ` | smoothed particle hydrodynamics | `SPH User Guide `_ | PACKAGES/sph | no | ++------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`SPIN ` | magnetic atomic spin dynamics | :doc:`Howto spins ` | SPIN | no | ++------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`SRD ` | stochastic rotation dynamics | :doc:`fix srd ` | srd | no | ++------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`TALLY ` | pairwise tally computes | :doc:`compute XXX/tally ` | PACKAGES/tally | no | ++------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`UEF ` | extensional flow | :doc:`fix nvt/uef ` | PACKAGES/uef | no | ++------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-MISC ` | single-file contributions | USER-MISC/README | USER-MISC | no | ++------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`VORONOI ` | Voronoi tesselation | :doc:`compute voronoi/atom ` | n/a | ext | ++------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`VTK ` | dump output via VTK | :doc:`compute vtk ` | n/a | ext | ++------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`YAFF ` | additional styles implemented in YAFF | :doc:`angle_style cross ` | PACKAGES/yaff | no | ++------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ + +.. _MOFplus: https://www.mofplus.org/content/show/MOF-FF +.. _PLUMED: https://www.plumed.org +.. _VMD: https://www.ks.uiuc.edu/Research/vmd/ diff --git a/doc/src/Packages_standard.rst b/doc/src/Packages_standard.rst deleted file mode 100644 index 7701c174e9..0000000000 --- a/doc/src/Packages_standard.rst +++ /dev/null @@ -1,95 +0,0 @@ -Standard packages -================= - -This is the list of standard packages in LAMMPS. The link for each -package name gives more details. - -Standard packages are supported by the LAMMPS developers and are -written in a syntax and style consistent with the rest of LAMMPS. -This means the developers will answer questions about them, debug and -fix them if necessary, and keep them compatible with future changes to -LAMMPS. - -The "Example" column is a sub-directory in the examples directory of -the distribution which has an input script that uses the package. -E.g. "peptide" refers to the examples/peptide directory; USER/atc -refers to the examples/PACKAGES/atc directory. The "Library" column -indicates whether an extra library is needed to build and use the -package: - -* no = no library -* sys = system library: you likely have it on your machine -* int = internal library: provided with LAMMPS, but you may need to build it -* ext = external library: you will need to download and install it on your machine - -+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ -| Package | Description | Doc page | Example | Library | -+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`ASPHERE ` | aspherical particle models | :doc:`Howto spherical ` | ellipse | no | -+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`BODY ` | body-style particles | :doc:`Howto body ` | body | no | -+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`CLASS2 ` | class 2 force fields | :doc:`pair_style lj/class2 ` | n/a | no | -+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`COLLOID ` | colloidal particles | :doc:`atom_style colloid ` | colloid | no | -+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`COMPRESS ` | I/O compression | :doc:`dump \*/gz ` | n/a | sys | -+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`CORESHELL ` | adiabatic core/shell model | :doc:`Howto coreshell ` | coreshell | no | -+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`DIPOLE ` | point dipole particles | :doc:`pair_style lj/.../dipole ` | dipole | no | -+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`GPU ` | GPU-enabled styles | :doc:`Section gpu ` | `Benchmarks `_ | int | -+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`GRANULAR ` | granular systems | :doc:`Howto granular ` | pour | no | -+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`KIM ` | OpenKIM wrapper | :doc:`pair_style kim ` | kim | ext | -+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`KOKKOS ` | Kokkos-enabled styles | :doc:`Speed kokkos ` | `Benchmarks `_ | no | -+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`KSPACE ` | long-range Coulombic solvers | :doc:`kspace_style ` | peptide | no | -+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`LATTE ` | quantum DFTB forces via LATTE | :doc:`fix latte ` | latte | ext | -+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`MANYBODY ` | many-body potentials | :doc:`pair_style tersoff ` | shear | no | -+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`MC ` | Monte Carlo options | :doc:`fix gcmc ` | n/a | no | -+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`MESSAGE ` | client/server messaging | :doc:`message ` | message | int | -+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`MISC ` | miscellaneous single-file commands | n/a | no | no | -+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`ML-IAP ` | multiple machine learning potentials | :doc:`pair_style mliap ` | mliap | no | -+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`MOLECULE ` | molecular system force fields | :doc:`Howto bioFF ` | peptide | no | -+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`MPIIO ` | MPI parallel I/O dump and restart | :doc:`dump ` | n/a | no | -+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`MSCG ` | multi-scale coarse-graining wrapper | :doc:`fix mscg ` | mscg | ext | -+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`OPT ` | optimized pair styles | :doc:`Speed opt ` | `Benchmarks `_ | no | -+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`PERI ` | Peridynamics models | :doc:`pair_style peri ` | peri | no | -+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`PLUGIN ` | Plugin loader command | :doc:`plugin ` | plugins | no | -+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`POEMS ` | coupled rigid body motion | :doc:`fix poems ` | rigid | int | -+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`PYTHON ` | embed Python code in an input script | :doc:`python ` | python | sys | -+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`QEQ ` | QEq charge equilibration | :doc:`fix qeq ` | qeq | no | -+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`REPLICA ` | multi-replica methods | :doc:`Howto replica ` | tad | no | -+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`RIGID ` | rigid bodies and constraints | :doc:`fix rigid ` | rigid | no | -+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`SHOCK ` | shock loading methods | :doc:`fix msst ` | n/a | no | -+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`ML-SNAP ` | quantum-fitted potential | :doc:`pair_style snap ` | snap | no | -+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`SPIN ` | magnetic atomic spin dynamics | :doc:`Howto spins ` | SPIN | no | -+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`SRD ` | stochastic rotation dynamics | :doc:`fix srd ` | srd | no | -+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`VORONOI ` | Voronoi tesselation | :doc:`compute voronoi/atom ` | n/a | ext | -+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ diff --git a/doc/src/Packages_user.rst b/doc/src/Packages_user.rst deleted file mode 100644 index 41eac29290..0000000000 --- a/doc/src/Packages_user.rst +++ /dev/null @@ -1,132 +0,0 @@ -User packages -============= - -This is a list of user packages in LAMMPS. The link for each package -name gives more details. - -User packages have been contributed by users, and begin with the -"user" prefix. If a contribution is a single command (single file), -it is typically in the USER-MISC package. User packages don't -necessarily meet the requirements of the :doc:`standard packages `. This means the developers will try -to keep things working and usually can answer technical questions -about compiling the package. If you have problems using a specific -feature provided in a user package, you may need to contact the -contributor directly to get help. Information on how to submit -additions you make to LAMMPS as single files or as a standard or user -package is explained on the :doc:`Modify contribute ` -doc page. - -The "Example" column is a sub-directory in the examples directory of -the distribution which has an input script that uses the package. -E.g. "peptide" refers to the examples/peptide directory; USER/atc -refers to the examples/PACKAGES/atc directory. The "Library" column -indicates whether an extra library is needed to build and use the -package: - -* no = no library -* sys = system library: you likely have it on your machine -* int = internal library: provided with LAMMPS, but you may need to build it -* ext = external library: you will need to download and install it on your machine - -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| Package | Description | Doc page | Example | Library | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`ADIOS ` | dump output via ADIOS | :doc:`dump adios ` | USER/adios | ext | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`ATC ` | Atom-to-Continuum coupling | :doc:`fix atc ` | USER/atc | int | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`AWPMD ` | wave packet MD | :doc:`pair_style awpmd/cut ` | USER/awpmd | int | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`BOCS ` | BOCS bottom up coarse graining | :doc:`fix bocs ` | USER/bocs | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`BROWNIAN ` | Brownian dynamics and self-propelled particles | :doc:`fix brownian `, :doc:`fix propel/self ` | USER/brownian | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`CG-DNA ` | coarse-grained DNA force fields | src/CG-DNA/README | USER/cgdna | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`CG-SDK ` | SDK coarse-graining model | :doc:`pair_style lj/sdk ` | USER/cgsdk | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`COLVARS ` | collective variables library | :doc:`fix colvars ` | USER/colvars | int | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`DIELECTRIC ` | dielectric boundary solvers and force styles | :doc:`compute efield/atom ` | USER/dielectric | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`DIFFRACTION ` | virtual x-ray and electron diffraction | :doc:`compute xrd ` | USER/diffraction | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`DPD-REACT ` | reactive dissipative particle dynamics | src/DPD-REACT/README | USER/dpd | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`DRUDE ` | Drude oscillators | :doc:`Howto drude ` | USER/drude | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`EFF ` | electron force field | :doc:`pair_style eff/cut ` | USER/eff | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`FEP ` | free energy perturbation | :doc:`compute fep ` | USER/fep | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`H5MD ` | dump output via HDF5 | :doc:`dump h5md ` | n/a | ext | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`ML-HDNNP ` | High-dimensional neural network potentials | :doc:`pair_style hdnnp ` | USER/hdnnp | ext | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`INTEL ` | optimized Intel CPU and KNL styles | :doc:`Speed intel ` | `Benchmarks `_ | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`LATBOLTZ ` | Lattice Boltzmann fluid | :doc:`fix lb/fluid ` | USER/lb | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`MANIFOLD ` | motion on 2d surfaces | :doc:`fix manifoldforce ` | USER/manifold | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`MDI ` | client-server coupling | :doc:`MDI Howto ` | USER/mdi | ext | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`MEAM ` | modified EAM potential (C++) | :doc:`pair_style meam ` | meam | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`DPD-MESO ` | mesoscale DPD models | :doc:`pair_style edpd ` | USER/mesodpd | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`MESONT ` | mesoscopic tubular potential model for nanotubes | pair style :doc:`mesont/tpm `, :doc:`mesocnt ` | USER/mesont | int | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`MGPT ` | fast MGPT multi-ion potentials | :doc:`pair_style mgpt ` | USER/mgpt | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`USER-MISC ` | single-file contributions | USER-MISC/README | USER/misc | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`MOFFF ` | styles for `MOF-FF `_ force field | :doc:`pair_style buck6d/coul/gauss ` | USER/mofff | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`MOLFILE ` | `VMD `_ molfile plug-ins | :doc:`dump molfile ` | n/a | ext | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`NETCDF ` | dump output via NetCDF | :doc:`dump netcdf ` | n/a | ext | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`OPENMP ` | OpenMP-enabled styles | :doc:`Speed omp ` | `Benchmarks `_ | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`ML-PACE ` | Fast implementation of Atomic Cluster Expansion (ACE) potential | :doc:`pair pace ` | USER/pace | ext | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`PHONON ` | phonon dynamical matrix | :doc:`fix phonon ` | USER/phonon | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`PLUMED ` | :ref:`PLUMED ` free energy library | :doc:`fix plumed ` | USER/plumed | ext | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`PTM ` | Polyhedral Template Matching | :doc:`compute ptm/atom ` | n/a | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`QMMM ` | QM/MM coupling | :doc:`fix qmmm ` | USER/qmmm | ext | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`QTB ` | quantum nuclear effects | :doc:`fix qtb ` :doc:`fix qbmsst ` | qtb | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`ML-QUIP ` | QUIP/libatoms interface | :doc:`pair_style quip ` | USER/quip | ext | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`ML-RANN ` | rapid atomistic neural network (RANN) potentials | :doc:`pair rann ` | USER/rann | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`REACTION ` | chemical reactions in classical MD | :doc:`fix bond/react ` | USER/reaction | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`REAXFF ` | ReaxFF potential (C/C++) | :doc:`pair_style reaxc ` | reax | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`SCAFACOS ` | wrapper on ScaFaCoS solver | :doc:`kspace_style scafacos ` | USER/scafacos | ext | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`DPD-SMOOTH ` | smoothed dissipative particle dynamics | :doc:`pair_style sdpd/taitwater/isothermal ` | USER/sdpd | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`MACHDYN ` | smoothed Mach dynamics | `SMD User Guide `_ | USER/smd | ext | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`SMTBQ ` | second moment tight binding QEq potential | :doc:`pair_style smtbq ` | USER/smtbq | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`SPH ` | smoothed particle hydrodynamics | `SPH User Guide `_ | USER/sph | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`TALLY ` | pairwise tally computes | :doc:`compute XXX/tally ` | USER/tally | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`UEF ` | extensional flow | :doc:`fix nvt/uef ` | USER/uef | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`VTK ` | dump output via VTK | :doc:`compute vtk ` | n/a | ext | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`YAFF ` | additional styles implemented in YAFF | :doc:`angle_style cross ` | USER/yaff | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ - -.. _MOFplus: https://www.mofplus.org/content/show/MOF-FF -.. _PLUMED: https://www.plumed.org diff --git a/doc/src/Run_options.rst b/doc/src/Run_options.rst index bfe769a8eb..f8c6925dba 100644 --- a/doc/src/Run_options.rst +++ b/doc/src/Run_options.rst @@ -10,7 +10,7 @@ letter abbreviation can be used: * :ref:`-i or -in ` * :ref:`-k or -kokkos ` * :ref:`-l or -log ` -* :ref:`-mdi ` +* :ref:`-mdi ` * :ref:`-m or -mpicolor ` * :ref:`-c or -cite ` * :ref:`-nc or -nocite ` @@ -197,7 +197,7 @@ Option -plog will override the name of the partition log files file.N. ---------- -.. _mdi: +.. _mdi_flags: **-mdi 'multiple flags'** diff --git a/doc/src/Speed_packages.rst b/doc/src/Speed_packages.rst index 32ed314230..be3f205f4b 100644 --- a/doc/src/Speed_packages.rst +++ b/doc/src/Speed_packages.rst @@ -12,17 +12,16 @@ All of these commands are in packages provided with LAMMPS. An overview of packages is give on the :doc:`Packages ` doc pages. -These are the accelerator packages currently in LAMMPS, either as -standard or user packages: +These are the accelerator packages currently in LAMMPS: +-----------------------------------------+-------------------------------------------------------+ | :doc:`GPU Package ` | for GPUs via CUDA, OpenCL, or ROCm HIP | +-----------------------------------------+-------------------------------------------------------+ -| :doc:`INTEL Package ` | for Intel CPUs and Intel Xeon Phi | +| :doc:`INTEL Package ` | for Intel CPUs and Intel Xeon Phi | +-----------------------------------------+-------------------------------------------------------+ | :doc:`KOKKOS Package ` | for NVIDIA GPUs, Intel Xeon Phi, and OpenMP threading | +-----------------------------------------+-------------------------------------------------------+ -| :doc:`OPENMP Package ` | for OpenMP threading and generic CPU optimizations | +| :doc:`OPENMP Package ` | for OpenMP threading and generic CPU optimizations | +-----------------------------------------+-------------------------------------------------------+ | :doc:`OPT Package ` | generic CPU optimizations | +-----------------------------------------+-------------------------------------------------------+ @@ -41,11 +40,11 @@ Inverting this list, LAMMPS currently has acceleration support for three kinds of hardware, via the listed packages: +-----------------+-----------------------------------------------------------------------------------------------------------------------------+ -| Many-core CPUs | :doc:`INTEL `, :doc:`KOKKOS `, :doc:`OPENMP `, :doc:`OPT ` packages | +| Many-core CPUs | :doc:`INTEL `, :doc:`KOKKOS `, :doc:`OPENMP `, :doc:`OPT ` packages | +-----------------+-----------------------------------------------------------------------------------------------------------------------------+ | GPUs | :doc:`GPU `, :doc:`KOKKOS ` packages | +-----------------+-----------------------------------------------------------------------------------------------------------------------------+ -| Intel Phi/AVX | :doc:`INTEL `, :doc:`KOKKOS ` packages | +| Intel Phi/AVX | :doc:`INTEL `, :doc:`KOKKOS ` packages | +-----------------+-----------------------------------------------------------------------------------------------------------------------------+ Which package is fastest for your hardware may depend on the size @@ -84,9 +83,9 @@ listed above: +--------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------+ | build the accelerator library | only for GPU package | +--------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------+ -| install the accelerator package | make yes-opt, make yes-intel, etc | +| install the accelerator package | make yes-opt, make yes-intel, etc | +--------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------+ -| add compile/link flags to Makefile.machine in src/MAKE | only for INTEL, KOKKOS, OPENMP, OPT packages | +| add compile/link flags to Makefile.machine in src/MAKE | only for INTEL, KOKKOS, OPENMP, OPT packages | +--------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------+ | re-build LAMMPS | make machine | +--------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------+ diff --git a/doc/src/Tools.rst b/doc/src/Tools.rst index 582fc4d3ad..65a96ce44a 100644 --- a/doc/src/Tools.rst +++ b/doc/src/Tools.rst @@ -67,7 +67,7 @@ Post-processing tools * :ref:`amber2lmp ` * :ref:`binary2txt ` * :ref:`ch2lmp ` - * :ref:`colvars ` + * :ref:`colvars ` * :ref:`eff ` * :ref:`fep ` * :ref:`lmp2arc ` @@ -214,7 +214,7 @@ tool and the specific name of the program used (e.g. ``ninja-v1.10`` or ---------- -.. _colvars: +.. _colvars_tools: colvars tools --------------------------- diff --git a/doc/utils/check-packages.py b/doc/utils/check-packages.py index f7cbb2795a..cb64259f15 100755 --- a/doc/utils/check-packages.py +++ b/doc/utils/check-packages.py @@ -41,12 +41,10 @@ if not os.path.isdir(doc_dir): pkgdirs = glob(os.path.join(src_dir, '[A-Z][A-Z]*')) dirs = re.compile(".*/([0-9A-Z-]+)$") -user = re.compile(".*") -stdpkg = [] -usrpkg = [] +pkgs = [] -# find package names and add to standard and user package lists. +# find package names and add package list. # anything starting with at least two upper case characters, is a # folder, and is not called 'MAKE' is a package @@ -54,47 +52,29 @@ for d in pkgdirs: pkg = dirs.match(d).group(1) if not os.path.isdir(os.path.join(src_dir, pkg)): continue if pkg in ['DEPEND','MAKE','STUBS']: continue - if user.match(pkg): - usrpkg.append(pkg) - else: - stdpkg.append(pkg) + pkgs.append(pkg) -print(f"Found {len(stdpkg)} standard and {len(usrpkg)} user packages") +print(f"Found {len(pkgs)} packages") counter = 0 -with open(os.path.join(doc_dir, 'Packages_standard.rst')) as fp: +with open(os.path.join(doc_dir, 'Packages_list.rst')) as fp: text = fp.read() matches = set(re.findall(':ref:`([A-Z0-9-]+) <[A-Z0-9-]+>`', text, re.MULTILINE)) -for p in stdpkg: +for p in pkgs: if not p in matches: counter += 1 - print(f"Standard package {p} missing in Packages_standard.rst") - -with open(os.path.join(doc_dir, 'Packages_user.rst')) as fp: - text = fp.read() - -matches = set(re.findall(':ref:`([A-Z0-9-]+) <[A-Z0-9-]+>`', text, re.MULTILINE)) -for p in usrpkg: - if not p in matches: - counter += 1 - print(f"User package {p} missing in Packages_user.rst") + print(f"Package {p} missing in Packages_list.rst") with open(os.path.join(doc_dir, 'Packages_details.rst')) as fp: text = fp.read() -matches = set(re.findall(':ref:`([A-Z0-9]+) `', text, re.MULTILINE)) -for p in stdpkg: +matches = set(re.findall(':ref:`([A-Z0-9-]+) `', text, re.MULTILINE)) +for p in pkgs: if not p in matches: counter += 1 - print(f"Standard package {p} missing in Packages_details.rst") - -matches = set(re.findall(':ref:`([A-Z0-9]+) `', text, re.MULTILINE)) -for p in usrpkg: - if not p in matches: - counter +=1 - print(f"User package {p} missing in Packages_details.rst") + print(f"Package {p} missing in Packages_details.rst") if counter: print(f"Found {counter} issue(s) with package lists") diff --git a/doc/utils/check-styles.py b/doc/utils/check-styles.py index f9a7d3e39a..16a7cf2a5c 100755 --- a/doc/utils/check-styles.py +++ b/doc/utils/check-styles.py @@ -267,9 +267,9 @@ counter += check_style('Commands_fix.rst', doc_dir, ":doc:`(.+) `", counter += check_style('fix.rst', doc_dir, ":doc:`(.+) ` -", fix,'Fix',skip=('python', 'NEIGH_HISTORY/omp'),suffix=False) counter += check_style('Commands_pair.rst', doc_dir, ":doc:`(.+) `", - pair,'Pair',skip=('meam','lj/sf'),suffix=True) + pair,'Pair',skip=('meam/c','lj/sf'),suffix=True) counter += check_style('pair_style.rst', doc_dir, ":doc:`(.+) ` -", - pair,'Pair',skip=('meam','lj/sf'),suffix=False) + pair,'Pair',skip=('meam/c','lj/sf'),suffix=False) counter += check_style('Commands_bond.rst', doc_dir, ":doc:`(.+) `", bond,'Bond',suffix=True) counter += check_style('bond_style.rst', doc_dir, ":doc:`(.+) ` -", @@ -301,7 +301,7 @@ counter += check_style_index("bond_style", bond, index["bond_style"]) counter += check_style_index("dihedral_style", dihedral, index["dihedral_style"]) counter += check_style_index("improper_style", improper, index["improper_style"]) counter += check_style_index("kspace_style", kspace, index["kspace_style"]) -counter += check_style_index("pair_style", pair, index["pair_style"], skip=['meam', 'lj/sf']) +counter += check_style_index("pair_style", pair, index["pair_style"], skip=['meam/c', 'lj/sf']) if counter: print(f"Found {counter} issue(s) with style index") diff --git a/doc/utils/sphinx-config/false_positives.txt b/doc/utils/sphinx-config/false_positives.txt index 20231c4be5..12e6fc88f0 100644 --- a/doc/utils/sphinx-config/false_positives.txt +++ b/doc/utils/sphinx-config/false_positives.txt @@ -1325,6 +1325,7 @@ hyperradius hyperspherical hysteretic hz +IAP Ibanez iatom ibar @@ -1647,6 +1648,8 @@ larentzos Larentzos Laroche lars +LATBOLTZ +latboltz latencies Latour latourr @@ -1797,6 +1800,8 @@ Lysogorskiy Lyulin lz Maaravi +MACHDYN +machdyn Mackay Mackrodt Macromolecules @@ -2734,7 +2739,7 @@ README realtime reamin reax -REAXC +REAXFF ReaxFF rebo recursing From d47f2aca53b0998fcfcb87dc79236e9f2a0eb0c2 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 29 Jun 2021 22:07:13 -0400 Subject: [PATCH 320/726] recover compilation with CMake --- cmake/CMakeLists.txt | 5 +- .../Packages/{SDPD.cmake => DPD-SMOOTH.cmake} | 0 cmake/Modules/Packages/ML-IAP.cmake | 2 +- cmake/Modules/Packages/ML-PACE.cmake | 4 +- cmake/presets/all_off.cmake | 96 ++++++++++++++--- cmake/presets/all_on.cmake | 100 +++++++++++++++--- cmake/presets/mingw-cross.cmake | 75 +++++++++++-- cmake/presets/most.cmake | 59 +++++++++-- cmake/presets/nolib.cmake | 33 +++++- 9 files changed, 320 insertions(+), 54 deletions(-) rename cmake/Modules/Packages/{SDPD.cmake => DPD-SMOOTH.cmake} (100%) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 5e80a16d6b..a049ab8c28 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -444,9 +444,8 @@ endforeach() ############################################## # add lib sources of (simple) enabled packages ############################################ -foreach(SIMPLE_LIB POEMS ATC AWPMD H5MD MESONT) - if(PKG_${SIMPLE_LIB}) - string(REGEX REPLACE "^" "" PKG_LIB "${SIMPLE_LIB}") +foreach(PKG_LIB POEMS ATC AWPMD H5MD MESONT) + if(PKG_${PKG_LIB}) string(TOLOWER "${PKG_LIB}" PKG_LIB) if(PKG_LIB STREQUAL "mesont") enable_language(Fortran) diff --git a/cmake/Modules/Packages/SDPD.cmake b/cmake/Modules/Packages/DPD-SMOOTH.cmake similarity index 100% rename from cmake/Modules/Packages/SDPD.cmake rename to cmake/Modules/Packages/DPD-SMOOTH.cmake diff --git a/cmake/Modules/Packages/ML-IAP.cmake b/cmake/Modules/Packages/ML-IAP.cmake index cbffeebf80..63f91ba8d3 100644 --- a/cmake/Modules/Packages/ML-IAP.cmake +++ b/cmake/Modules/Packages/ML-IAP.cmake @@ -25,7 +25,7 @@ if(MLIAP_ENABLE_PYTHON) endif() set(MLIAP_BINARY_DIR ${CMAKE_BINARY_DIR}/cython) - set(MLIAP_CYTHON_SRC ${LAMMPS_SOURCE_DIR}/MLIAP/mliap_model_python_couple.pyx) + set(MLIAP_CYTHON_SRC ${LAMMPS_SOURCE_DIR}/ML-IAP/mliap_model_python_couple.pyx) get_filename_component(MLIAP_CYTHON_BASE ${MLIAP_CYTHON_SRC} NAME_WE) file(MAKE_DIRECTORY ${MLIAP_BINARY_DIR}) add_custom_command(OUTPUT ${MLIAP_BINARY_DIR}/${MLIAP_CYTHON_BASE}.cpp ${MLIAP_BINARY_DIR}/${MLIAP_CYTHON_BASE}.h diff --git a/cmake/Modules/Packages/ML-PACE.cmake b/cmake/Modules/Packages/ML-PACE.cmake index 7cfaf78aa0..ccc7423355 100644 --- a/cmake/Modules/Packages/ML-PACE.cmake +++ b/cmake/Modules/Packages/ML-PACE.cmake @@ -14,8 +14,8 @@ execute_process( WORKING_DIRECTORY ${CMAKE_BINARY_DIR} ) -file(GLOB PACE_EVALUATOR_INCLUDE_DIR ${CMAKE_BINARY_DIR}/lammps-user-pace-*/ML-PACE) -file(GLOB PACE_EVALUATOR_SOURCES ${CMAKE_BINARY_DIR}/lammps-user-pace-*/ML-PACE/*.cpp) +file(GLOB PACE_EVALUATOR_INCLUDE_DIR ${CMAKE_BINARY_DIR}/lammps-user-pace-*/USER-PACE) +file(GLOB PACE_EVALUATOR_SOURCES ${CMAKE_BINARY_DIR}/lammps-user-pace-*/USER-PACE/*.cpp) list(FILTER PACE_EVALUATOR_SOURCES EXCLUDE REGEX pair_pace.cpp) add_library(pace STATIC ${PACE_EVALUATOR_SOURCES}) diff --git a/cmake/presets/all_off.cmake b/cmake/presets/all_off.cmake index 86f12c98f1..e77e4aae1a 100644 --- a/cmake/presets/all_off.cmake +++ b/cmake/presets/all_off.cmake @@ -1,17 +1,89 @@ -# preset that turns on all existing packages off. can be used to reset +# Preset that turns on all existing packages off. Can be used to reset # an existing package selection without losing any other settings -set(ALL_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU - GRANULAR KIM KOKKOS KSPACE LATTE MANYBODY MC MESSAGE MISC ML-IAP MOLECULE - MPIIO MSCG OPT PERI PLUGIN POEMS PYTHON QEQ REPLICA RIGID SHOCK ML-SNAP SPIN - SRD VORONOI - ADIOS ATC AWPMD BROWNIAN BOCS CG-DNA CG-SDK - COLVARS DIFFRACTION DPD-REACT DRUDE EFF FEP H5MD - ML-HDNNP INTEL LATBOLTZ MANIFOLD MDI MEAM DPD-MESO - MESONT MGPT USER-MISC MOFFF MOLFILE NETCDF OPENMP - ML-PACE PHONON PLUMED PTM QMMM QTB ML-QUIP ML-RANN - REACTION REAXFF SCAFACOS DPD-SMOOTH MACHDYN SMTBQ SPH - TALLY UEF VTK YAFF DIELECTRIC) +set(ALL_PACKAGES + ADIOS + ASPHERE + ATC + AWPMD + BOCS + BODY + BROWNIAN + CG-DNA + CG-SDK + CLASS2 + COLLOID + COLVARS + COMPRESS + CORESHELL + DIELECTRIC + DIFFRACTION + DIPOLE + DPD-MESO + DPD-REACT + DPD-SMOOTH + DRUDE + EFF + FEP + GPU + GRANULAR + H5MD + INTEL + KIM + KOKKOS + KSPACE + LATBOLTZ + LATTE + MACHDYN + MANIFOLD + MANYBODY + MC + MDI + MEAM + MESONT + MESSAGE + MGPT + MISC + ML-HDNNP + ML-IAP + ML-PACE + ML-QUIP + ML-RANN + ML-SNAP + MOFFF + MOLECULE + MOLFILE + MPIIO + MSCG + NETCDF + OPENMP + OPT + PERI + PHONON + PLUGIN + PLUMED + POEMS + PTM + PYTHON + QEQ + QMMM + QTB + REACTION + REAXFF + REPLICA + RIGID + SCAFACOS + SHOCK + SMTBQ + SPH + SPIN + SRD + TALLY + UEF + USER-MISC + VORONOI + VTK + YAFF) foreach(PKG ${ALL_PACKAGES}) set(PKG_${PKG} OFF CACHE BOOL "" FORCE) diff --git a/cmake/presets/all_on.cmake b/cmake/presets/all_on.cmake index 909af2edff..7df3512223 100644 --- a/cmake/presets/all_on.cmake +++ b/cmake/presets/all_on.cmake @@ -1,19 +1,91 @@ -# preset that turns on all existing packages. using the combination -# this preset followed by the nolib.cmake preset should configure a -# LAMMPS binary, with as many packages included, that can be compiled +# Preset that turns on all existing packages. Using the combination +# of this preset followed by the nolib.cmake preset should configure +# a LAMMPS binary, with as many packages included, that can be compiled # with just a working C++ compiler and an MPI library. -set(ALL_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU - GRANULAR KIM KOKKOS KSPACE LATTE MANYBODY MC MESSAGE MISC ML-IAP MOLECULE - MPIIO MSCG OPT PERI PLUGIN POEMS PYTHON QEQ REPLICA RIGID SHOCK ML-SNAP SPIN - SRD VORONOI - ADIOS ATC AWPMD BROWNIAN BOCS CG-DNA CG-SDK - COLVARS DIFFRACTION DPD-REACT DRUDE EFF FEP H5MD - ML-HDNNP INTEL LATBOLTZ MANIFOLD MDI MEAM DPD-MESO - MESONT MGPT USER-MISC MOFFF MOLFILE NETCDF OPENMP - ML-PACE PHONON PLUMED PTM QMMM QTB ML-QUIP ML-RANN - REACTION REAXFF SCAFACOS DPD-SMOOTH MACHDYN SMTBQ SPH - TALLY UEF VTK YAFF DIELECTRIC) +set(ALL_PACKAGES + ADIOS + ASPHERE + ATC + AWPMD + BOCS + BODY + BROWNIAN + CG-DNA + CG-SDK + CLASS2 + COLLOID + COLVARS + COMPRESS + CORESHELL + DIELECTRIC + DIFFRACTION + DIPOLE + DPD-MESO + DPD-REACT + DPD-SMOOTH + DRUDE + EFF + FEP + GPU + GRANULAR + H5MD + INTEL + KIM + KOKKOS + KSPACE + LATBOLTZ + LATTE + MACHDYN + MANIFOLD + MANYBODY + MC + MDI + MEAM + MESONT + MESSAGE + MGPT + MISC + ML-HDNNP + ML-IAP + ML-PACE + ML-QUIP + ML-RANN + ML-SNAP + MOFFF + MOLECULE + MOLFILE + MPIIO + MSCG + NETCDF + OPENMP + OPT + PERI + PHONON + PLUGIN + PLUMED + POEMS + PTM + PYTHON + QEQ + QMMM + QTB + REACTION + REAXFF + REPLICA + RIGID + SCAFACOS + SHOCK + SMTBQ + SPH + SPIN + SRD + TALLY + UEF + USER-MISC + VORONOI + VTK + YAFF) foreach(PKG ${ALL_PACKAGES}) set(PKG_${PKG} ON CACHE BOOL "" FORCE) diff --git a/cmake/presets/mingw-cross.cmake b/cmake/presets/mingw-cross.cmake index ba6089935f..0b24bfbc28 100644 --- a/cmake/presets/mingw-cross.cmake +++ b/cmake/presets/mingw-cross.cmake @@ -1,13 +1,68 @@ -set(WIN_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU - GRANULAR KSPACE LATTE MANYBODY MC MISC ML-IAP MOLECULE OPT - PERI POEMS QEQ REPLICA RIGID SHOCK ML-SNAP SPIN SRD VORONOI - ATC AWPMD BOCS BROWNIAN CG-DNA CG-SDK - COLVARS DIFFRACTION DPD-REACT DRUDE EFF FEP - ML-HDNNP INTEL MANIFOLD MDI MEAM DPD-MESO - MESONT USER-MISC MGPT MOFFF MOLFILE OPENMP - PHONON PTM QTB REACTION REAXFF - DPD-SMOOTH MACHDYN SMTBQ SPH TALLY UEF - YAFF DIELECTRIC) +set(WIN_PACKAGES + ASPHERE + ATC + AWPMD + BOCS + BODY + BROWNIAN + CG-DNA + CG-SDK + CLASS2 + COLLOID + COLVARS + COMPRESS + CORESHELL + DIELECTRIC + DIFFRACTION + DIPOLE + DPD-MESO + DPD-REACT + DPD-SMOOTH + DRUDE + EFF + FEP + GPU + GRANULAR + INTEL + KSPACE + LATTE + MACHDYN + MANIFOLD + MANYBODY + MC + MDI + MEAM + MESONT + MGPT + MISC + ML-HDNNP + ML-IAP + ML-SNAP + MOFFF + MOLECULE + MOLFILE + OPENMP + OPT + PERI + PHONON + POEMS + PTM + QEQ + QTB + REACTION + REAXFF + REPLICA + RIGID + SHOCK + SMTBQ + SPH + SPIN + SRD + TALLY + UEF + USER-MISC + VORONOI + YAFF) foreach(PKG ${WIN_PACKAGES}) set(PKG_${PKG} ON CACHE BOOL "" FORCE) diff --git a/cmake/presets/most.cmake b/cmake/presets/most.cmake index 9c66607ddf..3e8fc11f05 100644 --- a/cmake/presets/most.cmake +++ b/cmake/presets/most.cmake @@ -2,13 +2,58 @@ # external libraries. Compared to all_on.cmake some more unusual packages # are removed. The resulting binary should be able to run most inputs. -set(ALL_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE - GRANULAR KSPACE MANYBODY MC MISC ML-IAP MOLECULE OPT PERI - PLUGIN POEMS PYTHON QEQ REPLICA RIGID SHOCK ML-SNAP SPIN SRD VORONOI - BROWNIAN BOCS CG-DNA CG-SDK COLVARS - DIFFRACTION DPD-REACT DRUDE EFF FEP MEAM - DPD-MESO USER-MISC MOFFF OPENMP PHONON REACTION - REAXFF DPD-SMOOTH SPH MACHDYN UEF YAFF DIELECTRIC) +set(ALL_PACKAGES + ASPHERE + BOCS + BODY + BROWNIAN + CG-DNA + CG-SDK + CLASS2 + COLLOID + COLVARS + COMPRESS + CORESHELL + DIELECTRIC + DIFFRACTION + DIPOLE + DPD-MESO + DPD-REACT + DPD-SMOOTH + DRUDE + EFF + FEP + GRANULAR + KSPACE + MACHDYN + MANYBODY + MC + MEAM + MISC + ML-IAP + ML-SNAP + MOFFF + MOLECULE + OPENMP + OPT + PERI + PHONON + PLUGIN + POEMS + PYTHON + QEQ + REACTION + REAXFF + REPLICA + RIGID + SHOCK + SPH + SPIN + SRD + UEF + USER-MISC + VORONOI + YAFF) foreach(PKG ${ALL_PACKAGES}) set(PKG_${PKG} ON CACHE BOOL "" FORCE) diff --git a/cmake/presets/nolib.cmake b/cmake/presets/nolib.cmake index d4b3497855..fd9c2ed1ac 100644 --- a/cmake/presets/nolib.cmake +++ b/cmake/presets/nolib.cmake @@ -1,11 +1,34 @@ # preset that turns off all packages that require some form of external # library or special compiler (fortran or cuda) or equivalent. -set(PACKAGES_WITH_LIB COMPRESS GPU KIM KOKKOS LATTE MESSAGE MPIIO MSCG - PYTHON VORONOI - ADIOS ATC AWPMD H5MD ML-HDNNP LATBOLTZ MOLFILE - MESONT MDI NETCDF ML-PACE PLUMED QMMM ML-QUIP - SCAFACOS MACHDYN VTK) +set(PACKAGES_WITH_LIB + ADIOS + ATC + AWPMD + COMPRESS + GPU + H5MD + KIM + KOKKOS + LATBOLTZ + LATTE + MACHDYN + MDI + MESONT + MESSAGE + ML-HDNNP + ML-PACE + ML-QUIP + MOLFILE + MPIIO + MSCG + NETCDF + PLUMED + PYTHON + QMMM + SCAFACOS + VORONOI + VTK) foreach(PKG ${PACKAGES_WITH_LIB}) set(PKG_${PKG} OFF CACHE BOOL "" FORCE) From d7a24dee91ba9a9dc05ec49f83d9e80e921df4bf Mon Sep 17 00:00:00 2001 From: Stan Gerald Moore Date: Wed, 30 Jun 2021 12:08:33 -0600 Subject: [PATCH 321/726] Add warning --- src/KOKKOS/kokkos.cpp | 13 ++++++++++++- src/KOKKOS/kokkos.h | 13 +++++++++++-- 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/src/KOKKOS/kokkos.cpp b/src/KOKKOS/kokkos.cpp index 2a83b40bba..49bb6369d1 100644 --- a/src/KOKKOS/kokkos.cpp +++ b/src/KOKKOS/kokkos.cpp @@ -69,6 +69,7 @@ GPU_AWARE_UNKNOWN using namespace LAMMPS_NS; +Kokkos::InitArguments KokkosLMP::args{-1, -1, -1, false}; int KokkosLMP::is_finalized = 0; /* ---------------------------------------------------------------------- */ @@ -157,6 +158,10 @@ KokkosLMP::KokkosLMP(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp) } else if (strcmp(arg[iarg],"t") == 0 || strcmp(arg[iarg],"threads") == 0) { nthreads = atoi(arg[iarg+1]); + + if (nthreads <= 0) + error->all(FLERR,"Invalid number of threads requested for Kokkos: must be 1 or greater"); + iarg += 2; } else if (strcmp(arg[iarg],"n") == 0 || @@ -184,7 +189,13 @@ KokkosLMP::KokkosLMP(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp) "than the OpenMP backend"); #endif - Kokkos::InitArguments args; + // cannot change Kokkos library parameters after first initalization + + if (args.num_threads != -1) + if (args.num_threads != nthreads || args.num_numa != numa || args.device_id != device) + if (me == 0) + error->warning(FLERR,"Kokkos package already initalized, cannot reinitialize with different parameters"); + args.num_threads = nthreads; args.num_numa = numa; args.device_id = device; diff --git a/src/KOKKOS/kokkos.h b/src/KOKKOS/kokkos.h index a62666ba2a..fbea17388d 100644 --- a/src/KOKKOS/kokkos.h +++ b/src/KOKKOS/kokkos.h @@ -50,6 +50,7 @@ class KokkosLMP : protected Pointers { double binsize; static int is_finalized; + static Kokkos::InitArguments args; KokkosLMP(class LAMMPS *, int, char **); ~KokkosLMP(); @@ -88,13 +89,21 @@ because MPI library not recognized The local MPI rank was not found in one of four supported environment variables. +E: Invalid number of threads requested for Kokkos: must be 1 or greater + +Self-explanatory. + E: GPUs are requested but Kokkos has not been compiled for CUDA Recompile Kokkos with CUDA support to use GPUs. -E: Kokkos has been compiled for CUDA but no GPUs are requested +E: Kokkos has been compiled for CUDA, HIP, or SYCL but no GPUs are requested -One or more GPUs must be used when Kokkos is compiled for CUDA. +One or more GPUs must be used when Kokkos is compiled for CUDA/HIP/SYCL. + +W: Kokkos package already initalized, cannot reinitialize with different parameters + +Self-explanatory. E: Illegal ... command From 1c25caaa6e4a3be4008858a43c2e7d3cf9d24893 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 30 Jun 2021 14:39:58 -0400 Subject: [PATCH 322/726] convert explicit tables of packages to simpler to maintain table from list constructs --- doc/src/Build_package.rst | 42 ++- doc/src/Packages_list.rst | 586 +++++++++++++++++++++++++++----------- 2 files changed, 450 insertions(+), 178 deletions(-) diff --git a/doc/src/Build_package.rst b/doc/src/Build_package.rst index 3512b92abc..3059557033 100644 --- a/doc/src/Build_package.rst +++ b/doc/src/Build_package.rst @@ -30,17 +30,37 @@ steps, as explained on the :doc:`Build extras ` page. These links take you to the extra instructions for those select packages: -+--------------------------------------+--------------------------------------+------------------------------------+----------------------------------+--------------------------------+--------------------------------+ -| :ref:`COMPRESS ` | :ref:`GPU ` | :ref:`KIM ` | :ref:`KOKKOS ` | :ref:`LATTE ` | :ref:`MESSAGE ` | -+--------------------------------------+--------------------------------------+------------------------------------+----------------------------------+--------------------------------+--------------------------------+ -| :ref:`MSCG ` | :ref:`OPT ` | :ref:`POEMS ` | :ref:`PYTHON ` | :ref:`VORONOI ` | :ref:`ADIOS ` | -+--------------------------------------+--------------------------------------+------------------------------------+----------------------------------+--------------------------------+--------------------------------+ -| :ref:`ATC ` | :ref:`AWPMD ` | :ref:`COLVARS ` | :ref:`H5MD ` | :ref:`ML-HDNNP ` | :ref:`INTEL ` | -+--------------------------------------+--------------------------------------+------------------------------------+----------------------------------+--------------------------------+--------------------------------+ -| :ref:`MOLFILE ` | :ref:`NETCDF ` | :ref:`ML-PACE ` | :ref:`PLUMED ` | :ref:`OPENMP ` | :ref:`QMMM ` | -+--------------------------------------+--------------------------------------+------------------------------------+----------------------------------+--------------------------------+--------------------------------+ -| :ref:`ML-QUIP ` | :ref:`SCAFACOS ` | :ref:`MACHDYN ` | :ref:`VTK ` | | | -+--------------------------------------+--------------------------------------+------------------------------------+----------------------------------+--------------------------------+--------------------------------+ +.. table_from_list:: + :columns: 6 + + * :ref:`ADIOS ` + * :ref:`ATC ` + * :ref:`AWPMD ` + * :ref:`COLVARS ` + * :ref:`COMPRESS ` + * :ref:`GPU ` + * :ref:`H5MD ` + * :ref:`INTEL ` + * :ref:`KIM ` + * :ref:`KOKKOS ` + * :ref:`LATTE ` + * :ref:`MACHDYN ` + * :ref:`MESSAGE ` + * :ref:`ML-HDNNP ` + * :ref:`ML-PACE ` + * :ref:`ML-QUIP ` + * :ref:`MOLFILE ` + * :ref:`MSCG ` + * :ref:`NETCDF ` + * :ref:`OPENMP ` + * :ref:`OPT ` + * :ref:`PLUMED ` + * :ref:`POEMS ` + * :ref:`PYTHON ` + * :ref:`QMMM ` + * :ref:`SCAFACOS ` + * :ref:`VORONOI ` + * :ref:`VTK ` The mechanism for including packages is simple but different for CMake versus make. diff --git a/doc/src/Packages_list.rst b/doc/src/Packages_list.rst index 502a38853d..b643cc542d 100644 --- a/doc/src/Packages_list.rst +++ b/doc/src/Packages_list.rst @@ -19,173 +19,425 @@ whether an extra library is needed to build and use the package: * int = internal library: provided with LAMMPS, but you may need to build it * ext = external library: you will need to download and install it on your machine -+------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| Package | Description | Doc page | Example | Library | -+------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`ADIOS ` | dump output via ADIOS | :doc:`dump adios ` | PACKAGES/adios | ext | -+------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`ASPHERE ` | aspherical particle models | :doc:`Howto spherical ` | ellipse | no | -+------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`ATC ` | Atom-to-Continuum coupling | :doc:`fix atc ` | PACKAGES/atc | int | -+------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`AWPMD ` | wave packet MD | :doc:`pair_style awpmd/cut ` | PACKAGES/awpmd | int | -+------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`BOCS ` | BOCS bottom up coarse graining | :doc:`fix bocs ` | PACKAGES/bocs | no | -+------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`BODY ` | body-style particles | :doc:`Howto body ` | body | no | -+------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`BROWNIAN ` | Brownian dynamics and self-propelled particles | :doc:`fix brownian `, :doc:`fix propel/self ` | PACKAGES/brownian | no | -+------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`CG-DNA ` | coarse-grained DNA force fields | src/CG-DNA/README | PACKAGES/cgdna | no | -+------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`CG-SDK ` | SDK coarse-graining model | :doc:`pair_style lj/sdk ` | PACKAGES/cgsdk | no | -+------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`CLASS2 ` | class 2 force fields | :doc:`pair_style lj/class2 ` | n/a | no | -+------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`COLLOID ` | colloidal particles | :doc:`atom_style colloid ` | colloid | no | -+------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`COLVARS ` | collective variables library | :doc:`fix colvars ` | PACKAGES/colvars | int | -+------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`COMPRESS ` | I/O compression | :doc:`dump \*/gz ` | n/a | sys | -+------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`CORESHELL ` | adiabatic core/shell model | :doc:`Howto coreshell ` | coreshell | no | -+------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`DIELECTRIC ` | dielectric boundary solvers and force styles | :doc:`compute efield/atom ` | PACKAGES/dielectric | no | -+------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`DIFFRACTION ` | virtual x-ray and electron diffraction | :doc:`compute xrd ` | PACKAGES/diffraction | no | -+------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`DIPOLE ` | point dipole particles | :doc:`pair_style lj/.../dipole ` | dipole | no | -+------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`DPD-MESO ` | mesoscale DPD models | :doc:`pair_style edpd ` | PACKAGES/dpd-meso | no | -+------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`DPD-REACT ` | reactive dissipative particle dynamics | src/DPD-REACT/README | PACKAGES/dpd-react | no | -+------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`DPD-SMOOTH ` | smoothed dissipative particle dynamics | :doc:`pair_style sdpd/taitwater/isothermal ` | PACKAGES/dpd-smooth | no | -+------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`DRUDE ` | Drude oscillators | :doc:`Howto drude ` | PACKAGES/drude | no | -+------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`EFF ` | electron force field | :doc:`pair_style eff/cut ` | PACKAGES/eff | no | -+------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`FEP ` | free energy perturbation | :doc:`compute fep ` | PACKAGES/fep | no | -+------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`GPU ` | GPU-enabled styles | :doc:`Section gpu ` | `Benchmarks `_ | int | -+------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`GRANULAR ` | granular systems | :doc:`Howto granular ` | pour | no | -+------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`H5MD ` | dump output via HDF5 | :doc:`dump h5md ` | n/a | ext | -+------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`INTEL ` | optimized Intel CPU and KNL styles | :doc:`Speed intel ` | `Benchmarks `_ | no | -+------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`KIM ` | OpenKIM wrapper | :doc:`pair_style kim ` | kim | ext | -+------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`KOKKOS ` | Kokkos-enabled styles | :doc:`Speed kokkos ` | `Benchmarks `_ | no | -+------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`KSPACE ` | long-range Coulombic solvers | :doc:`kspace_style ` | peptide | no | -+------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`LATBOLTZ ` | Lattice Boltzmann fluid | :doc:`fix lb/fluid ` | PACKAGES/latboltz | no | -+------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`LATTE ` | quantum DFTB forces via LATTE | :doc:`fix latte ` | latte | ext | -+------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`MACHDYN ` | smoothed Mach dynamics | `SMD User Guide `_ | PACKAGES/machdyn | ext | -+------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`MANIFOLD ` | motion on 2d surfaces | :doc:`fix manifoldforce ` | PACKAGES/manifold | no | -+------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`MANYBODY ` | many-body potentials | :doc:`pair_style tersoff ` | shear | no | -+------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`MC ` | Monte Carlo options | :doc:`fix gcmc ` | n/a | no | -+------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`MDI ` | client-server coupling | :doc:`MDI Howto ` | PACKAGES/mdi | ext | -+------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`MEAM ` | modified EAM potential (C++) | :doc:`pair_style meam ` | meam | no | -+------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`MESONT ` | mesoscopic tubular potential model for nanotubes | pair style :doc:`mesont/tpm `, :doc:`mesocnt ` | PACKAGES/mesont | int | -+------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`MESSAGE ` | client/server messaging | :doc:`message ` | message | int | -+------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`MGPT ` | fast MGPT multi-ion potentials | :doc:`pair_style mgpt ` | PACKAGES/mgpt | no | -+------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`MISC ` | miscellaneous single-file commands | n/a | no | no | -+------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`ML-HDNNP ` | High-dimensional neural network potentials | :doc:`pair_style hdnnp ` | PACKAGES/hdnnp | ext | -+------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`ML-IAP ` | multiple machine learning potentials | :doc:`pair_style mliap ` | mliap | no | -+------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`ML-PACE ` | Atomic Cluster Expansion (ACE) potential | :doc:`pair pace ` | PACKAGES/pace | ext | -+------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`ML-QUIP ` | QUIP/libatoms interface | :doc:`pair_style quip ` | PACKAGES/quip | ext | -+------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`ML-RANN ` | rapid atomistic neural network (RANN) potentials | :doc:`pair rann ` | PACKAGES/rann | no | -+------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`ML-SNAP ` | quantum-fitted potential | :doc:`pair_style snap ` | snap | no | -+------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`MOFFF ` | styles for `MOF-FF `_ force field | :doc:`pair_style buck6d/coul/gauss ` | PACKAGES/mofff | no | -+------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`MOLECULE ` | molecular system force fields | :doc:`Howto bioFF ` | peptide | no | -+------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`MOLFILE ` | `VMD `_ molfile plug-ins | :doc:`dump molfile ` | n/a | ext | -+------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`MPIIO ` | MPI parallel I/O dump and restart | :doc:`dump ` | n/a | no | -+------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`MSCG ` | multi-scale coarse-graining wrapper | :doc:`fix mscg ` | mscg | ext | -+------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`NETCDF ` | dump output via NetCDF | :doc:`dump netcdf ` | n/a | ext | -+------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`OPENMP ` | OpenMP-enabled styles | :doc:`Speed omp ` | `Benchmarks `_ | no | -+------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`OPT ` | optimized pair styles | :doc:`Speed opt ` | `Benchmarks `_ | no | -+------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`PERI ` | Peridynamics models | :doc:`pair_style peri ` | peri | no | -+------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`PHONON ` | phonon dynamical matrix | :doc:`fix phonon ` | PACKAGES/phonon | no | -+------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`PLUGIN ` | Plugin loader command | :doc:`plugin ` | plugins | no | -+------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`PLUMED ` | :ref:`PLUMED ` free energy library | :doc:`fix plumed ` | PACKAGES/plumed | ext | -+------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`POEMS ` | coupled rigid body motion | :doc:`fix poems ` | rigid | int | -+------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`PTM ` | Polyhedral Template Matching | :doc:`compute ptm/atom ` | n/a | no | -+------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`PYTHON ` | embed Python code in an input script | :doc:`python ` | python | sys | -+------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`QEQ ` | QEq charge equilibration | :doc:`fix qeq ` | qeq | no | -+------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`QMMM ` | QM/MM coupling | :doc:`fix qmmm ` | PACKAGES/qmmm | ext | -+------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`QTB ` | quantum nuclear effects | :doc:`fix qtb ` :doc:`fix qbmsst ` | qtb | no | -+------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`REACTION ` | chemical reactions in classical MD | :doc:`fix bond/react ` | PACKAGES/reaction | no | -+------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`REAXFF ` | ReaxFF potential (C/C++) | :doc:`pair_style reaxc ` | reax | no | -+------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`REPLICA ` | multi-replica methods | :doc:`Howto replica ` | tad | no | -+------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`RIGID ` | rigid bodies and constraints | :doc:`fix rigid ` | rigid | no | -+------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`SCAFACOS ` | wrapper for ScaFaCoS Kspace solver | :doc:`kspace_style scafacos ` | PACKAGES/scafacos | ext | -+------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`SHOCK ` | shock loading methods | :doc:`fix msst ` | n/a | no | -+------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`SMTBQ ` | second moment tight binding QEq potential | :doc:`pair_style smtbq ` | PACKAGES/smtbq | no | -+------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`SPH ` | smoothed particle hydrodynamics | `SPH User Guide `_ | PACKAGES/sph | no | -+------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`SPIN ` | magnetic atomic spin dynamics | :doc:`Howto spins ` | SPIN | no | -+------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`SRD ` | stochastic rotation dynamics | :doc:`fix srd ` | srd | no | -+------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`TALLY ` | pairwise tally computes | :doc:`compute XXX/tally ` | PACKAGES/tally | no | -+------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`UEF ` | extensional flow | :doc:`fix nvt/uef ` | PACKAGES/uef | no | -+------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`USER-MISC ` | single-file contributions | USER-MISC/README | USER-MISC | no | -+------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`VORONOI ` | Voronoi tesselation | :doc:`compute voronoi/atom ` | n/a | ext | -+------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`VTK ` | dump output via VTK | :doc:`compute vtk ` | n/a | ext | -+------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`YAFF ` | additional styles implemented in YAFF | :doc:`angle_style cross ` | PACKAGES/yaff | no | -+------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +.. list-table:: + :header-rows: 1 + :widths: auto + + * - Package + - Description + - Doc page + - Example + - Library + * - :ref:`ADIOS ` + - dump output via ADIOS + - :doc:`dump adios ` + - PACKAGES/adios + - ext + * - :ref:`ASPHERE ` + - aspherical particle models + - :doc:`Howto spherical ` + - ellipse + - no + * - :ref:`ATC ` + - Atom-to-Continuum coupling + - :doc:`fix atc ` + - PACKAGES/atc + - int + * - :ref:`AWPMD ` + - wave packet MD + - :doc:`pair_style awpmd/cut ` + - PACKAGES/awpmd + - int + * - :ref:`BOCS ` + - BOCS bottom up coarse graining + - :doc:`fix bocs ` + - PACKAGES/bocs + - no + * - :ref:`BODY ` + - body-style particles + - :doc:`Howto body ` + - body + - no + * - :ref:`BROWNIAN ` + - Brownian dynamics, self-propelled particles + - :doc:`fix brownian `, :doc:`fix propel/self ` + - PACKAGES/brownian + - no + * - :ref:`CG-DNA ` + - coarse-grained DNA force fields + - src/CG-DNA/README + - PACKAGES/cgdna + - no + * - :ref:`CG-SDK ` + - SDK coarse-graining model + - :doc:`pair_style lj/sdk ` + - PACKAGES/cgsdk + - no + * - :ref:`CLASS2 ` + - class 2 force fields + - :doc:`pair_style lj/class2 ` + - n/a + - no + * - :ref:`COLLOID ` + - colloidal particles + - :doc:`atom_style colloid ` + - colloid + - no + * - :ref:`COLVARS ` + - collective variables library + - :doc:`fix colvars ` + - PACKAGES/colvars + - int + * - :ref:`COMPRESS ` + - I/O compression + - :doc:`dump \*/gz ` + - n/a + - sys + * - :ref:`CORESHELL ` + - adiabatic core/shell model + - :doc:`Howto coreshell ` + - coreshell + - no + * - :ref:`DIELECTRIC ` + - dielectric boundary solvers and force styles + - :doc:`compute efield/atom ` + - PACKAGES/dielectric + - no + * - :ref:`DIFFRACTION ` + - virtual x-ray and electron diffraction + - :doc:`compute xrd ` + - PACKAGES/diffraction + - no + * - :ref:`DIPOLE ` + - point dipole particles + - :doc:`pair_style lj/.../dipole ` + - dipole + - no + * - :ref:`DPD-MESO ` + - mesoscale DPD models + - :doc:`pair_style edpd ` + - PACKAGES/dpd-meso + - no + * - :ref:`DPD-REACT ` + - reactive dissipative particle dynamics + - src/DPD-REACT/README + - PACKAGES/dpd-react + - no + * - :ref:`DPD-SMOOTH ` + - smoothed dissipative particle dynamics + - src/DPD-SMOOTH/README + - PACKAGES/dpd-smooth + - no + * - :ref:`DRUDE ` + - Drude oscillators + - :doc:`Howto drude ` + - PACKAGES/drude + - no + * - :ref:`EFF ` + - electron force field + - :doc:`pair_style eff/cut ` + - PACKAGES/eff + - no + * - :ref:`FEP ` + - free energy perturbation + - :doc:`compute fep ` + - PACKAGES/fep + - no + * - :ref:`GPU ` + - GPU-enabled styles + - :doc:`Section gpu ` + - `Benchmarks `_ + - int + * - :ref:`GRANULAR ` + - granular systems + - :doc:`Howto granular ` + - pour + - no + * - :ref:`H5MD ` + - dump output via HDF5 + - :doc:`dump h5md ` + - n/a + - ext + * - :ref:`INTEL ` + - optimized Intel CPU and KNL styles + - :doc:`Speed intel ` + - `Benchmarks `_ + - no + * - :ref:`KIM ` + - OpenKIM wrapper + - :doc:`pair_style kim ` + - kim + - ext + * - :ref:`KOKKOS ` + - Kokkos-enabled styles + - :doc:`Speed kokkos ` + - `Benchmarks `_ + - no + * - :ref:`KSPACE ` + - long-range Coulombic solvers + - :doc:`kspace_style ` + - peptide + - no + * - :ref:`LATBOLTZ ` + - Lattice Boltzmann fluid + - :doc:`fix lb/fluid ` + - PACKAGES/latboltz + - no + * - :ref:`LATTE ` + - quantum DFTB forces via LATTE + - :doc:`fix latte ` + - latte + - ext + * - :ref:`MACHDYN ` + - smoothed Mach dynamics + - `SMD User Guide `_ + - PACKAGES/machdyn + - ext + * - :ref:`MANIFOLD ` + - motion on 2d surfaces + - :doc:`fix manifoldforce ` + - PACKAGES/manifold + - no + * - :ref:`MANYBODY ` + - many-body potentials + - :doc:`pair_style tersoff ` + - shear + - no + * - :ref:`MC ` + - Monte Carlo options + - :doc:`fix gcmc ` + - n/a + - no + * - :ref:`MDI ` + - client-server coupling + - :doc:`MDI Howto ` + - PACKAGES/mdi + - ext + * - :ref:`MEAM ` + - modified EAM potential (C++) + - :doc:`pair_style meam ` + - meam + - no + * - :ref:`MESONT ` + - mesoscopic tubular potential model + - pair styles :doc:`mesont/tpm `, :doc:`mesocnt ` + - PACKAGES/mesont + - int + * - :ref:`MESSAGE ` + - client/server messaging + - :doc:`message ` + - message + - int + * - :ref:`MGPT ` + - fast MGPT multi-ion potentials + - :doc:`pair_style mgpt ` + - PACKAGES/mgpt + - no + * - :ref:`MISC ` + - miscellaneous single-file commands + - n/a + - no + - no + * - :ref:`ML-HDNNP ` + - High-dimensional neural network potentials + - :doc:`pair_style hdnnp ` + - PACKAGES/hdnnp + - ext + * - :ref:`ML-IAP ` + - multiple machine learning potentials + - :doc:`pair_style mliap ` + - mliap + - no + * - :ref:`ML-PACE ` + - Atomic Cluster Expansion potential + - :doc:`pair pace ` + - PACKAGES/pace + - ext + * - :ref:`ML-QUIP ` + - QUIP/libatoms interface + - :doc:`pair_style quip ` + - PACKAGES/quip + - ext + * - :ref:`ML-RANN ` + - Pair style for RANN potentials + - :doc:`pair rann ` + - PACKAGES/rann + - no + * - :ref:`ML-SNAP ` + - quantum-fitted potential + - :doc:`pair_style snap ` + - snap + - no + * - :ref:`MOFFF ` + - styles for `MOF-FF `_ force field + - :doc:`pair_style buck6d/coul/gauss ` + - PACKAGES/mofff + - no + * - :ref:`MOLECULE ` + - molecular system force fields + - :doc:`Howto bioFF ` + - peptide + - no + * - :ref:`MOLFILE ` + - `VMD `_ molfile plug-ins + - :doc:`dump molfile ` + - n/a + - ext + * - :ref:`MPIIO ` + - MPI parallel I/O dump and restart + - :doc:`dump ` + - n/a + - no + * - :ref:`MSCG ` + - multi-scale coarse-graining wrapper + - :doc:`fix mscg ` + - mscg + - ext + * - :ref:`NETCDF ` + - dump output via NetCDF + - :doc:`dump netcdf ` + - n/a + - ext + * - :ref:`OPENMP ` + - OpenMP-enabled styles + - :doc:`Speed omp ` + - `Benchmarks `_ + - no + * - :ref:`OPT ` + - optimized pair styles + - :doc:`Speed opt ` + - `Benchmarks `_ + - no + * - :ref:`PERI ` + - Peridynamics models + - :doc:`pair_style peri ` + - peri + - no + * - :ref:`PHONON ` + - phonon dynamical matrix + - :doc:`fix phonon ` + - PACKAGES/phonon + - no + * - :ref:`PLUGIN ` + - Plugin loader command + - :doc:`plugin ` + - plugins + - no + * - :ref:`PLUMED ` + - :ref:`PLUMED ` free energy library + - :doc:`fix plumed ` + - PACKAGES/plumed + - ext + * - :ref:`POEMS ` + - coupled rigid body motion + - :doc:`fix poems ` + - rigid + - int + * - :ref:`PTM ` + - Polyhedral Template Matching + - :doc:`compute ptm/atom ` + - n/a + - no + * - :ref:`PYTHON ` + - embed Python code in an input script + - :doc:`python ` + - python + - sys + * - :ref:`QEQ ` + - QEq charge equilibration + - :doc:`fix qeq ` + - qeq + - no + * - :ref:`QMMM ` + - QM/MM coupling + - :doc:`fix qmmm ` + - PACKAGES/qmmm + - ext + * - :ref:`QTB ` + - quantum nuclear effects + - :doc:`fix qtb ` :doc:`fix qbmsst ` + - qtb + - no + * - :ref:`REACTION ` + - chemical reactions in classical MD + - :doc:`fix bond/react ` + - PACKAGES/reaction + - no + * - :ref:`REAXFF ` + - ReaxFF potential (C/C++) + - :doc:`pair_style reaxc ` + - reax + - no + * - :ref:`REPLICA ` + - multi-replica methods + - :doc:`Howto replica ` + - tad + - no + * - :ref:`RIGID ` + - rigid bodies and constraints + - :doc:`fix rigid ` + - rigid + - no + * - :ref:`SCAFACOS ` + - wrapper for ScaFaCoS Kspace solver + - :doc:`kspace_style scafacos ` + - PACKAGES/scafacos + - ext + * - :ref:`SHOCK ` + - shock loading methods + - :doc:`fix msst ` + - n/a + - no + * - :ref:`SMTBQ ` + - second moment tight binding potential + - :doc:`pair_style smtbq ` + - PACKAGES/smtbq + - no + * - :ref:`SPH ` + - smoothed particle hydrodynamics + - `SPH User Guide `_ + - PACKAGES/sph + - no + * - :ref:`SPIN ` + - magnetic atomic spin dynamics + - :doc:`Howto spins ` + - SPIN + - no + * - :ref:`SRD ` + - stochastic rotation dynamics + - :doc:`fix srd ` + - srd + - no + * - :ref:`TALLY ` + - pairwise tally computes + - :doc:`compute XXX/tally ` + - PACKAGES/tally + - no + * - :ref:`UEF ` + - extensional flow + - :doc:`fix nvt/uef ` + - PACKAGES/uef + - no + * - :ref:`USER-MISC ` + - single-file contributions + - USER-MISC/README + - USER-MISC + - no + * - :ref:`VORONOI ` + - Voronoi tesselation + - :doc:`compute voronoi/atom ` + - n/a + - ext + * - :ref:`VTK ` + - dump output via VTK + - :doc:`compute vtk ` + - n/a + - ext + * - :ref:`YAFF ` + - additional styles implemented in YAFF + - :doc:`angle_style cross ` + - PACKAGES/yaff + - no .. _MOFplus: https://www.mofplus.org/content/show/MOF-FF .. _PLUMED: https://www.plumed.org From 11328cbed24db4f9e7ed6f8452c6bb392b5e4503 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 30 Jun 2021 14:45:26 -0400 Subject: [PATCH 323/726] update package variables and implement minimal/most selection of packages --- doc/src/Build_package.rst | 7 +- src/Makefile | 250 ++++++++++++++++++++++++++++++++------ 2 files changed, 215 insertions(+), 42 deletions(-) diff --git a/doc/src/Build_package.rst b/doc/src/Build_package.rst index 3059557033..cfabca9c48 100644 --- a/doc/src/Build_package.rst +++ b/doc/src/Build_package.rst @@ -222,6 +222,10 @@ These commands install/un-install sets of packages: make yes-all # install all packages make no-all # uninstall all packages + make yes-minimal # install all few commonly used pgks in src + make no-minimal # remove all commonly used pkgs from src dir + make yes-most # install all many pgks w/o libs in src + make no-most # remove all many pkgs w/o libs from src dir make yes-lib # install packages that require extra libraries make no-lib # uninstall packages that require extra libraries make yes-ext # install packages that require external libraries @@ -242,8 +246,7 @@ package`` will list all the these commands. The following make commands help manage files that exist in both the src directory and in package sub-directories. You do not normally need to use these commands unless you are editing LAMMPS files or are -:doc:`installing a patch ` downloaded from the LAMMPS web -site. +updating LAMMPS via git. Type ``make package-status`` or ``make ps`` to show which packages are currently installed. For those that are installed, it will list any diff --git a/src/Makefile b/src/Makefile index dc64f48098..3175ad0060 100644 --- a/src/Makefile +++ b/src/Makefile @@ -37,8 +37,9 @@ endif # Package variables -# PACKAGE = standard packages -# PACKUSER = user packagse +# PACKAGE = all packages +# PACKMIN = a few core packages +# PACKMOST = most packages that do not require additional libs # PACKLIB = all packages that require an additional lib # should be PACKSYS + PACKINT + PACKEXT # PACKSYS = subset that reqiure a common system library @@ -46,35 +47,192 @@ endif # PACKINT = subset that require an internal (provided) library # PACKEXT = subset that require an external (downloaded) library -PACKAGE = asphere body class2 colloid compress coreshell dipole gpu \ - granular kim kokkos kspace latte manybody mc message misc \ - ml-iap molecule mpiio mscg opt peri plugin poems \ - python qeq replica rigid shock ml-snap spin srd voronoi +PACKAGE = \ + adios \ + asphere \ + atc \ + awpmd \ + bocs \ + body \ + brownian \ + cg-dna \ + cg-sdk\ + class2 \ + colloid \ + colvars \ + compress \ + coreshell \ + dielectric \ + diffraction \ + dipole \ + dpd-meso \ + dpd-react \ + dpd-smooth \ + drude \ + eff \ + fep \ + gpu \ + granular \ + h5md \ + intel \ + kim \ + kokkos \ + kspace \ + latboltz \ + latte \ + machdyn \ + manifold \ + manybody \ + mc \ + mdi \ + meam \ + mesont \ + message \ + mgpt \ + misc \ + ml-hdnnp \ + ml-iap \ + ml-pace \ + ml-quip \ + ml-rann \ + ml-snap \ + mofff \ + molecule \ + molfile \ + mpiio \ + mscg \ + netcdf \ + openmp \ + opt \ + peri \ + phonon \ + plugin \ + plumed \ + poems \ + ptm \ + python \ + qeq \ + qmmm \ + qtb \ + reaction \ + reaxff \ + replica \ + rigid \ + scafacos \ + shock \ + smtbq \ + sph \ + spin \ + srd \ + tally \ + uef \ + user-misc \ + voronoi \ + vtk \ + yaff -PACKUSER = adios atc awpmd brownian bocs cg-dna \ - cg-sdk colvars dielectric diffraction dpd-react drude \ - eff fep h5md ml-hdnnp intel latboltz manifold \ - mdi meam dpd-meso mesont mgpt user-misc \ - mofff molfile netcdf openmp phonon \ - ml-pace plumed ptm qmmm qtb ml-quip \ - ml-rann reaction reaxff scafacos machdyn smtbq \ - dpd-smooth sph tally uef vtk yaff +PACKMIN = kspace manybody molecule rigid -PACKLIB = compress gpu kim kokkos latte message mpiio mscg poems python voronoi \ - adios atc awpmd colvars h5md ml-hdnnp latboltz mdi \ - mesont molfile netcdf ml-pace plumed qmmm ml-quip \ - scafacos machdyn vtk +PACKMOST = \ + asphere \ + bocs \ + body \ + brownian \ + cg-dna \ + cg-sdk \ + class2 \ + colloid \ + coreshell \ + dielectric \ + diffraction \ + dipole \ + dpd-meso \ + dpd-react \ + dpd-smooth \ + drude \ + eff \ + fep \ + granular \ + kspace \ + manybody \ + mc \ + meam \ + misc \ + ml-iap \ + ml-snap \ + mofff \ + molecule \ + openmp \ + opt \ + peri \ + phonon \ + plugin \ + poems \ + qeq \ + reaction \ + reaxff \ + replica \ + rigid \ + shock \ + sph \ + spin \ + srd \ + uef \ + user-misc \ + yaff -PACKSYS = compress mpiio python latboltz +PACKLIB = \ + compress \ + gpu \ + kim \ + kokkos \ + latte \ + message \ + mpiio \ + mscg \ + poems \ + python \ + voronoi \ + adios \ + atc \ + awpmd \ + colvars \ + h5md \ + ml-hdnnp \ + latboltz \ + mdi \ + mesont \ + molfile \ + netcdf \ + ml-pace \ + plumed \ + qmmm \ + ml-quip \ + scafacos \ + machdyn \ + vtk -PACKINT = gpu kokkos message poems atc awpmd colvars mesont \ - mdi +PACKSYS = compress latboltz mpiio python -PACKEXT = kim latte mscg voronoi \ - adios h5md ml-hdnnp molfile netcdf ml-pace plumed \ - qmmm ml-quip scafacos machdyn vtk +PACKINT = atc awpmd colvars gpu kokkos mesont message poems -PACKALL = $(PACKAGE) $(PACKUSER) +PACKEXT = \ + adios \ + h5md \ + kim \ + latte \ + machdyn \ + ml-hdnnp \ + ml-pace \ + ml-quip \ + molfile \ + mscg \ + netcdf \ + plumed \ + qmmm \ + scafacos \ + voronoi \ + vtk \ # Helper GNU make function for conversion to upper case without using shell commands uppercase_TABLE:=a,A b,B c,C d,D e,E f,F g,G h,H i,I j,J k,K l,L m,M n,N o,O p,P q,Q r,R s,S t,T u,U v,V w,W x,X y,Y z,Z @@ -314,14 +472,14 @@ package: @echo 'make package-installed (pi) list of installed packages' @echo 'make yes-package install a single pgk in src dir' @echo 'make no-package remove a single pkg from src dir' + @echo 'make yes-minimal install all few commonly used pgks in src' + @echo 'make no-minimal remove all commonly used pkgs from src dir' + @echo 'make yes-most install all many pgks w/o libs in src' + @echo 'make no-most remove all many pkgs w/o libs from src dir' @echo 'make yes-all install all pgks in src dir' @echo 'make no-all remove all pkgs from src dir' - @echo 'make yes-standard (yes-std) install all standard pkgs' - @echo 'make no-standard (no-std) remove all standard pkgs' - @echo 'make yes-user install all user pkgs' - @echo 'make no-user remove all user pkgs' - @echo 'make yes-lib install all pkgs with libs (included or ext)' - @echo 'make no-lib remove all pkgs with libs (included or ext)' + @echo 'make yes-lib install all pkgs with libs (included or ext)' + @echo 'make no-lib remove all pkgs with libs (included or ext)' @echo 'make yes-ext install all pkgs with external libs' @echo 'make no-ext remove all pkgs with external libs' @echo '' @@ -332,22 +490,34 @@ package: @echo 'make lib-package build and/or download a package library' yes-all: - @for p in $(PACKALL); do $(MAKE) yes-$$p; done - -no-all: - @for p in $(PACKALL); do $(MAKE) no-$$p; done - -yes-standard yes-std: @for p in $(PACKAGE); do $(MAKE) yes-$$p; done -no-standard no-std: +no-all: @for p in $(PACKAGE); do $(MAKE) no-$$p; done +yes-standard yes-std: + @echo 'There are no more "standard" or "user" packages in LAMMPS' + +no-standard no-std: + @echo 'There are no more "standard" or "user" packages in LAMMPS' + yes-user: - @for p in $(PACKUSER); do $(MAKE) yes-$$p; done + @echo 'There are no more "standard" or "user" packages in LAMMPS' no-user: - @for p in $(PACKUSER); do $(MAKE) no-$$p; done + @echo 'There are no more "standard" or "user" packages in LAMMPS' + +yes-minimal: + @for p in $(PACKMIN); do $(MAKE) yes-$$p; done + +no-minimal: + @for p in $(PACKMIN); do $(MAKE) no-$$p; done + +yes-most: + @for p in $(PACKMOST); do $(MAKE) yes-$$p; done + +no-most: + @for p in $(PACKMOST); do $(MAKE) no-$$p; done yes-lib: @for p in $(PACKLIB); do $(MAKE) yes-$$p; done From 7ba9c22d2cbd5232fe5a4e7cf0430b227f5cb9d0 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 30 Jun 2021 14:54:58 -0400 Subject: [PATCH 324/726] update installation instructions and remove references to patches which we don't provide anymore --- .gitignore | 1 + doc/src/Build_package.rst | 8 ++-- doc/src/Install.rst | 3 +- doc/src/Install_git.rst | 7 ++- doc/src/Install_patch.rst | 96 ------------------------------------- doc/src/Install_tarball.rst | 12 ----- 6 files changed, 12 insertions(+), 115 deletions(-) delete mode 100644 doc/src/Install_patch.rst diff --git a/.gitignore b/.gitignore index 0f1b01775d..14d9dbebc9 100644 --- a/.gitignore +++ b/.gitignore @@ -12,6 +12,7 @@ *.sif *.dll *.pyc +a.out __pycache__ Obj_* diff --git a/doc/src/Build_package.rst b/doc/src/Build_package.rst index cfabca9c48..073fedbfa8 100644 --- a/doc/src/Build_package.rst +++ b/doc/src/Build_package.rst @@ -258,10 +258,10 @@ currently installed, without listing the status of packages that are not installed. Type ``make package-update`` or ``make pu`` to overwrite src files with -files from the package sub-directories if the package is installed. -It should be used after a :doc:`patch has been applied `, -since patches only update the files in the package sub-directory, but -not the src files. +files from the package sub-directories if the package is installed. It +should be used after the checkout has been :doc:`updated or changed +withy git `, this will only update the files in the package +sub-directories, but not the copies in the src folder. Type ``make package-overwrite`` to overwrite files in the package sub-directories with src files. diff --git a/doc/src/Install.rst b/doc/src/Install.rst index e0204c0bbd..157bd32208 100644 --- a/doc/src/Install.rst +++ b/doc/src/Install.rst @@ -18,7 +18,6 @@ need the source code. Install_tarball Install_git - Install_patch These are the files and sub-directories in the LAMMPS distribution: @@ -27,6 +26,8 @@ These are the files and sub-directories in the LAMMPS distribution: +------------+-------------------------------------------+ | LICENSE | GNU General Public License (GPL) | +------------+-------------------------------------------+ +| SECURITY.md| Security Policy for the LAMMPS package | ++------------+-------------------------------------------+ | bench | benchmark problems | +------------+-------------------------------------------+ | cmake | CMake build files | diff --git a/doc/src/Install_git.rst b/doc/src/Install_git.rst index 1a07b7f917..f62bad6847 100644 --- a/doc/src/Install_git.rst +++ b/doc/src/Install_git.rst @@ -120,8 +120,11 @@ changed. How to do this depends on the build system you are using. $ make package-update # sync package files with src files $ make foo # re-build for your machine (mpi, serial, etc) - Just as described on the :doc:`Apply patch ` page, - after a patch has been installed. + to enforce consistency of the source between the src folder + and package directories. This is OK to do even if you don't + use any packages. The "make purge" command removes any deprecated + src files if they were removed by the patch from a package + sub-directory. .. warning:: diff --git a/doc/src/Install_patch.rst b/doc/src/Install_patch.rst deleted file mode 100644 index f1f37f86c2..0000000000 --- a/doc/src/Install_patch.rst +++ /dev/null @@ -1,96 +0,0 @@ -Applying patches ----------------- - -It is easy to stay current with the most recent LAMMPS patch releases -if you use git to track the LAMMPS development. Instructions for -how to stay current are on the -:doc:`Download the LAMMPS source with git ` page. - -If you prefer to download a tarball, as described on the -:doc:`tarball download ` page, you can stay current by -downloading "patch files" when new patch releases are made. A link to -a patch file is posted on the -`bug fixes and new feature page `_ -of the LAMMPS website, along -with a list of changed files and details about what is in the new patch -release. This page explains how to apply the patch file to your local -LAMMPS directory. - -.. note:: - - You should not apply patch files to a local git checkout of - LAMMPS, only to an unpacked tarball. Use git commands to - update such a version of the LAMMPS source code. - -Here are the steps to apply a patch file. Note that if your version -of LAMMPS is several patch releases behind, you need to apply all the -intervening patch files in succession to bring your version of LAMMPS -up to date. - -* Download the patch file. You may have to shift-click in your browser - to download the file instead of display it. Patch files have names - like patch.12Dec16. -* Put the patch file in your top-level LAMMPS directory, where the - LICENSE and README files are. -* Apply the patch by typing the following command from your top-level - LAMMPS directory, where the redirected file is the name of the patch - file. - - .. code-block:: bash - - $ patch -bp1 < patch.12Dec16 - -* A list of updated files print out to the screen. The -b switch - creates backup files of your originals (e.g. src/force.cpp.orig), so - you can manually undo the patch if something goes wrong. - -* Once you have updated your local files you need to re-build LAMMPS. - If you are applying several patches successively, you only need to - do the rebuild once at the end. How to do it depends on the build - system you are using. - - .. tabs:: - - .. tab:: CMake build - - Change to your build folder and type: - - .. code-block:: bash - - cmake . --build - - CMake should auto-detect whether it needs to re-run the CMake - configuration step and otherwise redo the build for all files - that have been changed or files that depend on changed files. - In case some build options have been changed or renamed, you - may have to update those by running: - - .. code-block:: bash - - cmake . - - and then rebuild. - - .. tab:: Traditional make - - Switch to the src directory and type: - - .. code-block:: bash - - $ make purge # remove any deprecated src files - $ make package-update # sync package files with src files - $ make foo # re-build for your machine (mpi, serial, etc) - - to enforce consistency of the source between the src folder - and package directories. This is OK to do even if you don't - use any packages. The "make purge" command removes any deprecated - src files if they were removed by the patch from a package - sub-directory. - - .. warning:: - - If you wish to edit/change a src file that is from a package, - you should edit the version of the file inside the package - sub-directory with src, then re-install the package. The - version in the source directory is merely a copy and will be - wiped out if you type "make package-update". diff --git a/doc/src/Install_tarball.rst b/doc/src/Install_tarball.rst index 921ce8785a..caa8f700a9 100644 --- a/doc/src/Install_tarball.rst +++ b/doc/src/Install_tarball.rst @@ -47,15 +47,3 @@ release. .. _git: https://github.com/lammps/lammps/releases ----------- - -If you download a current LAMMPS tarball, one way to stay current as -new patch tarballs are released, is to download a patch file which you -can apply to your local directory to update it for each new patch -release. (Or of course you could just download the newest tarball -periodically.) - -The patch files are posted on the `bug and feature page `_ of the -website, along with a list of changed files and details about what is -in the new patch release. Instructions for applying a patch file are -on the :doc:`Install patch ` page. From 63da5c4ba1d8c41e514334ddc38a30753297039c Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 30 Jun 2021 15:08:24 -0400 Subject: [PATCH 325/726] fix typo --- src/DIELECTRIC/Install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/DIELECTRIC/Install.sh b/src/DIELECTRIC/Install.sh index 737d8dc99e..43285260ba 100644 --- a/src/DIELECTRIC/Install.sh +++ b/src/DIELECTRIC/Install.sh @@ -30,7 +30,7 @@ action () { # are installed, which in turn requires KSPACE if (test $1 = 1) then - if (test ! -e ../ppp.cpp) then + if (test ! -e ../pppm.cpp) then echo "Must install KSPACE package with DIELECTRIC" exit 1 fi From 2ca87ccd3f61b65d66a7c349b8a7c31e47929388 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 30 Jun 2021 15:09:58 -0400 Subject: [PATCH 326/726] handle package dependency issues --- src/Depend.sh | 2 ++ src/Makefile | 24 +++++++++++++++--------- 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/src/Depend.sh b/src/Depend.sh index 9834aa5255..4e88bc61b1 100755 --- a/src/Depend.sh +++ b/src/Depend.sh @@ -75,6 +75,7 @@ fi if (test $1 = "KSPACE") then depend CORESHELL + depend DIELECTRIC depend GPU depend KOKKOS depend OPT @@ -85,6 +86,7 @@ if (test $1 = "KSPACE") then fi if (test $1 = "MANYBODY") then + depend ATC depend GPU depend KOKKOS depend OPT diff --git a/src/Makefile b/src/Makefile index 3175ad0060..b229bac973 100644 --- a/src/Makefile +++ b/src/Makefile @@ -50,7 +50,6 @@ endif PACKAGE = \ adios \ asphere \ - atc \ awpmd \ bocs \ body \ @@ -62,7 +61,6 @@ PACKAGE = \ colvars \ compress \ coreshell \ - dielectric \ diffraction \ dipole \ dpd-meso \ @@ -91,7 +89,6 @@ PACKAGE = \ mgpt \ misc \ ml-hdnnp \ - ml-iap \ ml-pace \ ml-quip \ ml-rann \ @@ -105,7 +102,6 @@ PACKAGE = \ openmp \ opt \ peri \ - phonon \ plugin \ plumed \ poems \ @@ -129,7 +125,14 @@ PACKAGE = \ user-misc \ voronoi \ vtk \ - yaff + yaff \ + atc \ + dielectric \ + ml-iap \ + phonon + +# NOTE: the last four packages must remain at the end since +# they depend on other packages to be installed first. PACKMIN = kspace manybody molecule rigid @@ -143,7 +146,6 @@ PACKMOST = \ class2 \ colloid \ coreshell \ - dielectric \ diffraction \ dipole \ dpd-meso \ @@ -158,14 +160,12 @@ PACKMOST = \ mc \ meam \ misc \ - ml-iap \ ml-snap \ mofff \ molecule \ openmp \ opt \ peri \ - phonon \ plugin \ poems \ qeq \ @@ -179,7 +179,13 @@ PACKMOST = \ srd \ uef \ user-misc \ - yaff + yaff \ + dielectric \ + ml-iap \ + phonon + +# NOTE: the last three packages must remain at the end since +# they depend on other packages to be installed first. PACKLIB = \ compress \ From b1d16508feac4140aa93857ac0fb4473f029b180 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 30 Jun 2021 17:40:42 -0400 Subject: [PATCH 327/726] small tweak to recover first initialization settings for consistent output --- src/KOKKOS/kokkos.cpp | 30 +++++++++++++++----------- src/KOKKOS/kokkos.h | 1 + unittest/python/python-capabilities.py | 7 ++++++ 3 files changed, 26 insertions(+), 12 deletions(-) diff --git a/src/KOKKOS/kokkos.cpp b/src/KOKKOS/kokkos.cpp index 49bb6369d1..2588bf5d49 100644 --- a/src/KOKKOS/kokkos.cpp +++ b/src/KOKKOS/kokkos.cpp @@ -71,6 +71,7 @@ using namespace LAMMPS_NS; Kokkos::InitArguments KokkosLMP::args{-1, -1, -1, false}; int KokkosLMP::is_finalized = 0; +int KokkosLMP::init_ngpus = 0; /* ---------------------------------------------------------------------- */ @@ -172,7 +173,23 @@ KokkosLMP::KokkosLMP(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp) } else error->all(FLERR,"Invalid Kokkos command-line args"); } - // initialize Kokkos + // Initialize Kokkos. However, we cannot change any + // Kokkos library parameters after the first initalization + + if (args.num_threads != -1) { + if (args.num_threads != nthreads || args.num_numa != numa || args.device_id != device) + if (me == 0) + error->warning(FLERR,"Kokkos package already initalized, cannot reinitialize with different parameters"); + nthreads = args.num_threads; + numa = args.num_numa; + device = args.device_id; + ngpus = init_ngpus; + } else { + args.num_threads = nthreads; + args.num_numa = numa; + args.device_id = device; + init_ngpus = ngpus; + } if (me == 0) utils::logmesg(lmp, " will use up to {} GPU(s) per node\n",ngpus); @@ -189,17 +206,6 @@ KokkosLMP::KokkosLMP(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp) "than the OpenMP backend"); #endif - // cannot change Kokkos library parameters after first initalization - - if (args.num_threads != -1) - if (args.num_threads != nthreads || args.num_numa != numa || args.device_id != device) - if (me == 0) - error->warning(FLERR,"Kokkos package already initalized, cannot reinitialize with different parameters"); - - args.num_threads = nthreads; - args.num_numa = numa; - args.device_id = device; - KokkosLMP::initialize(args,error); // default settings for package kokkos command diff --git a/src/KOKKOS/kokkos.h b/src/KOKKOS/kokkos.h index fbea17388d..65990544ad 100644 --- a/src/KOKKOS/kokkos.h +++ b/src/KOKKOS/kokkos.h @@ -51,6 +51,7 @@ class KokkosLMP : protected Pointers { static int is_finalized; static Kokkos::InitArguments args; + static int init_ngpus; KokkosLMP(class LAMMPS *, int, char **); ~KokkosLMP(); diff --git a/unittest/python/python-capabilities.py b/unittest/python/python-capabilities.py index 2ace093a7e..8a3fbbd665 100644 --- a/unittest/python/python-capabilities.py +++ b/unittest/python/python-capabilities.py @@ -165,6 +165,13 @@ class PythonCapabilities(unittest.TestCase): if self.cmake_cache['GPU_PREC'].lower() == 'single': self.assertIn('single',settings['GPU']['precision']) + if self.cmake_cache['PKG_KOKKOS']: + if self.cmake_cache['Kokkos_ENABLE_OPENMP']: + self.assertIn('openmp',settings['KOKKOS']['api']) + if self.cmake_cache['Kokkos_ENABLE_SERIAL']: + self.assertIn('serial',settings['KOKKOS']['api']) + self.assertIn('double',settings['KOKKOS']['precision']) + def test_gpu_device(self): info = self.lmp.get_gpu_device_info() From e4bb7da69f2f378498209fd5b8212152f1931219 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 30 Jun 2021 20:25:21 -0400 Subject: [PATCH 328/726] small tweak --- doc/src/Build_package.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/Build_package.rst b/doc/src/Build_package.rst index 073fedbfa8..409b5b3aee 100644 --- a/doc/src/Build_package.rst +++ b/doc/src/Build_package.rst @@ -140,7 +140,7 @@ other files dependent on that package are also excluded. .. note:: - By default no package is installed. Prior to August 2018, however, + By default no packages are installed. Prior to August 2018, however, if you downloaded a tarball, 3 packages (KSPACE, MANYBODY, MOLECULE) were pre-installed via the traditional make procedure in the ``src`` directory. That is no longer the case, so that CMake will build From 88c8d1a3c6050aa7f2194aa1061563babb5b749a Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 30 Jun 2021 20:39:17 -0400 Subject: [PATCH 329/726] rename "minimal" preset to "basic" --- cmake/presets/{minimal.cmake => basic.cmake} | 0 doc/src/Build_cmake.rst | 2 +- doc/src/Build_extras.rst | 4 +-- doc/src/Build_package.rst | 10 +++---- doc/src/Howto_cmake.rst | 6 ++--- doc/src/Howto_wsl.rst | 2 +- doc/src/Python_install.rst | 2 +- lib/qmmm/README | 2 +- python/examples/pylammps/README.md | 2 +- src/Makefile | 28 ++++++++++---------- 10 files changed, 29 insertions(+), 29 deletions(-) rename cmake/presets/{minimal.cmake => basic.cmake} (100%) diff --git a/cmake/presets/minimal.cmake b/cmake/presets/basic.cmake similarity index 100% rename from cmake/presets/minimal.cmake rename to cmake/presets/basic.cmake diff --git a/doc/src/Build_cmake.rst b/doc/src/Build_cmake.rst index 73268af0ce..2a64bc3240 100644 --- a/doc/src/Build_cmake.rst +++ b/doc/src/Build_cmake.rst @@ -140,7 +140,7 @@ can be used several times in one command. For your convenience we provide :ref:`CMake presets ` that combine multiple settings to enable optional LAMMPS packages or use a different compiler tool chain. Those are loaded with the *-C* flag -(``-C ../cmake/presets/minimal.cmake``). This step would only be needed +(``-C ../cmake/presets/basic.cmake``). This step would only be needed once, as the settings from the preset files are stored in the ``CMakeCache.txt`` file. It is also possible to customize the build by adding one or more *-D* flags to the CMake command line. diff --git a/doc/src/Build_extras.rst b/doc/src/Build_extras.rst index 68ebae15a7..a78b798636 100644 --- a/doc/src/Build_extras.rst +++ b/doc/src/Build_extras.rst @@ -622,7 +622,7 @@ This list was last updated for version 3.4.1 of the Kokkos library. mkdir build-kokkos-cuda cd build-kokkos-cuda - cmake -C ../cmake/presets/minimal.cmake -C ../cmake/presets/kokkos-cuda.cmake ../cmake + cmake -C ../cmake/presets/basic.cmake -C ../cmake/presets/kokkos-cuda.cmake ../cmake cmake --build . .. tab:: Basic traditional make settings: @@ -1805,7 +1805,7 @@ verified to work in February 2020 with Quantum Espresso versions 6.3 to .. code-block:: bash - cmake -C ../cmake/presets/minimal.cmake -D PKG_QMMM=yes \ + cmake -C ../cmake/presets/basic.cmake -D PKG_QMMM=yes \ -D BUILD_LIB=yes -DBUILD_SHARED_LIBS=yes ../cmake After completing the LAMMPS build and also configuring and diff --git a/doc/src/Build_package.rst b/doc/src/Build_package.rst index 409b5b3aee..a7dda52b41 100644 --- a/doc/src/Build_package.rst +++ b/doc/src/Build_package.rst @@ -167,7 +167,7 @@ one of them as a starting point and customize it to your needs. .. code-block:: bash - cmake -C ../cmake/presets/minimal.cmake [OPTIONS] ../cmake # enable just a few core packages + cmake -C ../cmake/presets/basic.cmake [OPTIONS] ../cmake # enable just a few core packages cmake -C ../cmake/presets/most.cmake [OPTIONS] ../cmake # enable most packages cmake -C ../cmake/presets/download.cmake [OPTIONS] ../cmake # enable packages which download sources or potential files cmake -C ../cmake/presets/nolib.cmake [OPTIONS] ../cmake # disable packages that do require extra libraries or tools @@ -222,10 +222,10 @@ These commands install/un-install sets of packages: make yes-all # install all packages make no-all # uninstall all packages - make yes-minimal # install all few commonly used pgks in src - make no-minimal # remove all commonly used pkgs from src dir - make yes-most # install all many pgks w/o libs in src - make no-most # remove all many pkgs w/o libs from src dir + make yes-basic # install a few commonly used packages' + make no-basic # remove a few commonly used packages' + make yes-most # install most packages w/o libs' + make no-most # remove most packages w/o libs' make yes-lib # install packages that require extra libraries make no-lib # uninstall packages that require extra libraries make yes-ext # install packages that require external libraries diff --git a/doc/src/Howto_cmake.rst b/doc/src/Howto_cmake.rst index 655c90bfd9..244bcf6323 100644 --- a/doc/src/Howto_cmake.rst +++ b/doc/src/Howto_cmake.rst @@ -382,9 +382,9 @@ change some variables later with additional *-D* flags. A few examples: .. code-block:: bash - cmake -C ../cmake/presets/minimal.cmake -D PKG_MISC=on ../cmake + cmake -C ../cmake/presets/basic.cmake -D PKG_MISC=on ../cmake cmake -C ../cmake/presets/clang.cmake -C ../cmake/presets/most.cmake ../cmake - cmake -C ../cmake/presets/minimal.cmake -D BUILD_MPI=off ../cmake + cmake -C ../cmake/presets/basic.cmake -D BUILD_MPI=off ../cmake The first command will install the packages ``KSPACE``, ``MANYBODY``, ``MOLECULE``, ``RIGID`` and ``MISC``; the first four from the preset @@ -400,7 +400,7 @@ It is also possible to do this incrementally. .. code-block:: bash - cmake -C ../cmake/presets/minimal.cmake ../cmake + cmake -C ../cmake/presets/basic.cmake ../cmake cmake -D PKG_MISC=on . will achieve the same final configuration as in the first example above. diff --git a/doc/src/Howto_wsl.rst b/doc/src/Howto_wsl.rst index 28251ba5ee..df5644451f 100644 --- a/doc/src/Howto_wsl.rst +++ b/doc/src/Howto_wsl.rst @@ -208,7 +208,7 @@ Presets are a way to specify a collection of CMake options using a file. .. code-block:: bash - cmake ../cmake/presets/minimal.cmake ../cmake + cmake ../cmake/presets/basic.cmake ../cmake This command configures the build and generates the necessary Makefiles. To compile the binary, run the make command. diff --git a/doc/src/Python_install.rst b/doc/src/Python_install.rst index 6b224bbf40..abf96accbf 100644 --- a/doc/src/Python_install.rst +++ b/doc/src/Python_install.rst @@ -69,7 +69,7 @@ this. cd build # configure LAMMPS compilation - cmake -C ../cmake/presets/minimal.cmake -D BUILD_SHARED_LIBS=on \ + cmake -C ../cmake/presets/basic.cmake -D BUILD_SHARED_LIBS=on \ -D LAMMPS_EXCEPTIONS=on -D PKG_PYTHON=on ../cmake # compile LAMMPS diff --git a/lib/qmmm/README b/lib/qmmm/README index ac8215ac05..7e9f30d692 100644 --- a/lib/qmmm/README +++ b/lib/qmmm/README @@ -55,7 +55,7 @@ build configuration with CMake: mkdir build-qmmm cd build-qmmm - cmake -C ../cmake/presets/minimal.cmake -D PKG_QMMM=yes \ + cmake -C ../cmake/presets/basic.cmake -D PKG_QMMM=yes \ -D BUILD_LIB=yes -DBUILD_SHARED_LIBS=yes ../cmake make make install diff --git a/python/examples/pylammps/README.md b/python/examples/pylammps/README.md index 7ee8c8ac90..e66f5a2a8e 100644 --- a/python/examples/pylammps/README.md +++ b/python/examples/pylammps/README.md @@ -51,7 +51,7 @@ which has both LAMMPS and its Python package installed: 6. Configure LAMMPS compilation (CMake) ```shell - (myenv)$ cmake -C ../cmake/presets/minimal.cmake \ + (myenv)$ cmake -C ../cmake/presets/basic.cmake \ -D BUILD_SHARED_LIBS=on \ -D LAMMPS_EXCEPTIONS=on -D PKG_PYTHON=on \ -D CMAKE_INSTALL_PREFIX=$VIRTUAL_ENV \ diff --git a/src/Makefile b/src/Makefile index b229bac973..9beba726cc 100644 --- a/src/Makefile +++ b/src/Makefile @@ -38,7 +38,7 @@ endif # Package variables # PACKAGE = all packages -# PACKMIN = a few core packages +# PACKBASIC = a few core packages # PACKMOST = most packages that do not require additional libs # PACKLIB = all packages that require an additional lib # should be PACKSYS + PACKINT + PACKEXT @@ -134,7 +134,7 @@ PACKAGE = \ # NOTE: the last four packages must remain at the end since # they depend on other packages to be installed first. -PACKMIN = kspace manybody molecule rigid +PACKBASIC = kspace manybody molecule rigid PACKMOST = \ asphere \ @@ -270,10 +270,10 @@ help: @echo 'make no-package remove a single pkg from src dir' @echo 'make yes-all install all pgks in src dir' @echo 'make no-all remove all pkgs from src dir' - @echo 'make yes-standard (yes-std) install all standard pkgs' - @echo 'make no-standard (no-std) remove all standard pkgs' - @echo 'make yes-user install all user pkgs' - @echo 'make no-user remove all user pkgs' + @echo 'make yes-basic install a few commonly used pgks' + @echo 'make no-basic remove a few commonly used pkgs' + @echo 'make yes-most install most pgks w/o libs' + @echo 'make no-most remove most pgks w/o libs' @echo 'make yes-lib install all pkgs with libs (included or ext)' @echo 'make no-lib remove all pkgs with libs (included or ext)' @echo 'make yes-ext install all pkgs with external libs' @@ -478,10 +478,10 @@ package: @echo 'make package-installed (pi) list of installed packages' @echo 'make yes-package install a single pgk in src dir' @echo 'make no-package remove a single pkg from src dir' - @echo 'make yes-minimal install all few commonly used pgks in src' - @echo 'make no-minimal remove all commonly used pkgs from src dir' - @echo 'make yes-most install all many pgks w/o libs in src' - @echo 'make no-most remove all many pkgs w/o libs from src dir' + @echo 'make yes-basic install a few commonly used pgks in src' + @echo 'make no-basic remove a few commonly used pkgs from src dir' + @echo 'make yes-most install most pgks w/o libs in src' + @echo 'make no-most remove most pkgs w/o libs from src dir' @echo 'make yes-all install all pgks in src dir' @echo 'make no-all remove all pkgs from src dir' @echo 'make yes-lib install all pkgs with libs (included or ext)' @@ -513,11 +513,11 @@ yes-user: no-user: @echo 'There are no more "standard" or "user" packages in LAMMPS' -yes-minimal: - @for p in $(PACKMIN); do $(MAKE) yes-$$p; done +yes-basic: + @for p in $(PACKBASIC); do $(MAKE) yes-$$p; done -no-minimal: - @for p in $(PACKMIN); do $(MAKE) no-$$p; done +no-basic: + @for p in $(PACKBASIC); do $(MAKE) no-$$p; done yes-most: @for p in $(PACKMOST); do $(MAKE) yes-$$p; done From 58196d57f1f2115e11c2fb0f2bff4bf79d9f7886 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 1 Jul 2021 00:45:21 -0400 Subject: [PATCH 330/726] New package DPD-BASIC with pair styles dpd, dpd/tstat, dpd/ext, dpd/ext/tstat --- cmake/CMakeLists.txt | 87 ++++++++++-- cmake/presets/all_off.cmake | 1 + cmake/presets/all_on.cmake | 1 + cmake/presets/mingw-cross.cmake | 1 + cmake/presets/most.cmake | 1 + doc/src/Packages_details.rst | 24 ++++ doc/src/Packages_list.rst | 5 + doc/src/pair_dpd.rst | 40 +++--- doc/src/pair_dpd_ext.rst | 134 ++++++++++++++---- .../dpd_ext => PACKAGES/dpd-basic}/README | 0 .../dpd-basic}/dpdext/dpdext.data | 0 .../dpd-basic}/dpdext/in.dpdext | 0 .../dpdext/log.10Mar21.dpdext.g++.1 | 0 .../dpdext/log.10Mar21.dpdext.g++.4 | 0 .../dpd-basic}/dpdext_tstat/cg_spce.data | 0 .../dpd-basic}/dpdext_tstat/cg_spce_table.pot | 0 .../dpd-basic}/dpdext_tstat/in.cg_spce | 0 .../dpdext_tstat/log.10Mar21.dpdext.g++.1 | 0 .../dpdext_tstat/log.10Mar21.dpdext.g++.4 | 0 src/.gitignore | 4 + src/{ => DPD-BASIC}/pair_dpd.cpp | 0 src/{ => DPD-BASIC}/pair_dpd.h | 0 src/{USER-MISC => DPD-BASIC}/pair_dpd_ext.cpp | 0 src/{USER-MISC => DPD-BASIC}/pair_dpd_ext.h | 0 .../pair_dpd_ext_tstat.cpp | 0 .../pair_dpd_ext_tstat.h | 0 src/{ => DPD-BASIC}/pair_dpd_tstat.cpp | 0 src/{ => DPD-BASIC}/pair_dpd_tstat.h | 0 src/Makefile | 2 + src/Purge.list | 5 + src/USER-MISC/README | 2 - 31 files changed, 247 insertions(+), 60 deletions(-) rename examples/{USER-MISC/dpd_ext => PACKAGES/dpd-basic}/README (100%) rename examples/{USER-MISC/dpd_ext => PACKAGES/dpd-basic}/dpdext/dpdext.data (100%) rename examples/{USER-MISC/dpd_ext => PACKAGES/dpd-basic}/dpdext/in.dpdext (100%) rename examples/{USER-MISC/dpd_ext => PACKAGES/dpd-basic}/dpdext/log.10Mar21.dpdext.g++.1 (100%) rename examples/{USER-MISC/dpd_ext => PACKAGES/dpd-basic}/dpdext/log.10Mar21.dpdext.g++.4 (100%) rename examples/{USER-MISC/dpd_ext => PACKAGES/dpd-basic}/dpdext_tstat/cg_spce.data (100%) rename examples/{USER-MISC/dpd_ext => PACKAGES/dpd-basic}/dpdext_tstat/cg_spce_table.pot (100%) rename examples/{USER-MISC/dpd_ext => PACKAGES/dpd-basic}/dpdext_tstat/in.cg_spce (100%) rename examples/{USER-MISC/dpd_ext => PACKAGES/dpd-basic}/dpdext_tstat/log.10Mar21.dpdext.g++.1 (100%) rename examples/{USER-MISC/dpd_ext => PACKAGES/dpd-basic}/dpdext_tstat/log.10Mar21.dpdext.g++.4 (100%) rename src/{ => DPD-BASIC}/pair_dpd.cpp (100%) rename src/{ => DPD-BASIC}/pair_dpd.h (100%) rename src/{USER-MISC => DPD-BASIC}/pair_dpd_ext.cpp (100%) rename src/{USER-MISC => DPD-BASIC}/pair_dpd_ext.h (100%) rename src/{USER-MISC => DPD-BASIC}/pair_dpd_ext_tstat.cpp (100%) rename src/{USER-MISC => DPD-BASIC}/pair_dpd_ext_tstat.h (100%) rename src/{ => DPD-BASIC}/pair_dpd_tstat.cpp (100%) rename src/{ => DPD-BASIC}/pair_dpd_tstat.h (100%) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index a049ab8c28..a64d18a6da 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -138,15 +138,84 @@ install(TARGETS lmp EXPORT LAMMPS_Targets DESTINATION ${CMAKE_INSTALL_BINDIR}) option(CMAKE_VERBOSE_MAKEFILE "Generate verbose Makefiles" OFF) -set(STANDARD_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS DIPOLE - GRANULAR KSPACE LATTE MANYBODY MC MESSAGE MISC ML-IAP MOLECULE PERI POEMS - PLUGIN QEQ REPLICA RIGID SHOCK SPIN ML-SNAP SRD KIM PYTHON MSCG MPIIO VORONOI - ADIOS ATC AWPMD BOCS CG-DNA DPD-MESO CG-SDK - COLVARS DIELECTRIC DIFFRACTION DPD-REACT DRUDE EFF FEP - H5MD ML-HDNNP LATBOLTZ MANIFOLD MDI MEAM MESONT MGPT - USER-MISC MOFFF MOLFILE NETCDF PHONON PLUMED PTM QTB - ML-RANN REACTION REAXFF SCAFACOS DPD-SMOOTH MACHDYN SMTBQ SPH - TALLY UEF VTK ML-QUIP QMMM YAFF ML-PACE BROWNIAN) +set(STANDARD_PACKAGES + ADIOS + ASPHERE + ATC + AWPMD + BOCS + BODY + BROWNIAN + CG-DNA + CG-SDK + CLASS2 + COLLOID + COLVARS + COMPRESS + DIELECTRIC + DIFFRACTION + DIPOLE + DPD-BASIC + DPD-MESO + DPD-REACT + DPD-SMOOTH + DRUDE + EFF + FEP + GRANULAR + H5MD + KIM + KSPACE + LATBOLTZ + LATTE + MACHDYN + MANIFOLD + MANYBODY + MC + MDI + MEAM + MESONT + MESSAGE + MGPT + MISC + ML-HDNNP + ML-IAP + ML-PACE + ML-QUIP + ML-RANN + ML-SNAP + MOFFF + MOLECULE + MOLFILE + MPIIO + MSCG + NETCDF + PERI + PHONON + PLUGIN + PLUMED + POEMS + PTM + PYTHON + QEQ + QMMM + QTB + REACTION + REAXFF + REPLICA + RIGID + SCAFACOS + SHOCK + SMTBQ + SPH + SPIN + SRD + TALLY + UEF + USER-MISC + VORONOI + VTK + YAFF) set(SUFFIX_PACKAGES CORESHELL GPU KOKKOS OPT INTEL OPENMP) diff --git a/cmake/presets/all_off.cmake b/cmake/presets/all_off.cmake index e77e4aae1a..c95d3e8463 100644 --- a/cmake/presets/all_off.cmake +++ b/cmake/presets/all_off.cmake @@ -19,6 +19,7 @@ set(ALL_PACKAGES DIELECTRIC DIFFRACTION DIPOLE + DPD-BASIC DPD-MESO DPD-REACT DPD-SMOOTH diff --git a/cmake/presets/all_on.cmake b/cmake/presets/all_on.cmake index 7df3512223..bc7ae553db 100644 --- a/cmake/presets/all_on.cmake +++ b/cmake/presets/all_on.cmake @@ -21,6 +21,7 @@ set(ALL_PACKAGES DIELECTRIC DIFFRACTION DIPOLE + DPD-BASIC DPD-MESO DPD-REACT DPD-SMOOTH diff --git a/cmake/presets/mingw-cross.cmake b/cmake/presets/mingw-cross.cmake index 0b24bfbc28..b07d1a707b 100644 --- a/cmake/presets/mingw-cross.cmake +++ b/cmake/presets/mingw-cross.cmake @@ -15,6 +15,7 @@ set(WIN_PACKAGES DIELECTRIC DIFFRACTION DIPOLE + DPD-BASIC DPD-MESO DPD-REACT DPD-SMOOTH diff --git a/cmake/presets/most.cmake b/cmake/presets/most.cmake index 3e8fc11f05..ae65cc75bb 100644 --- a/cmake/presets/most.cmake +++ b/cmake/presets/most.cmake @@ -17,6 +17,7 @@ set(ALL_PACKAGES DIELECTRIC DIFFRACTION DIPOLE + DPD-BASIC DPD-MESO DPD-REACT DPD-SMOOTH diff --git a/doc/src/Packages_details.rst b/doc/src/Packages_details.rst index fd43465f4a..cb3bb904b1 100644 --- a/doc/src/Packages_details.rst +++ b/doc/src/Packages_details.rst @@ -43,6 +43,7 @@ page gives those details. * :ref:`DIELECTRIC ` * :ref:`DIFFRACTION ` * :ref:`DIPOLE ` + * :ref:`DPD-BASIC ` * :ref:`DPD-MESO ` * :ref:`DPD-REACT ` * :ref:`DPD-SMOOTH ` @@ -560,6 +561,29 @@ short-range or long-range interactions. ---------- +.. _PKG-DPD-BASIC: + +DPD-BASIC package +-------------------- + +**Contents:** + +Pair styles for the basic dissipative particle dynamics (DPD) method +and DPD thermostatting. + +**Author:** Kurt Smith (U Pittsburgh), Martin Svoboda, Martin Lisal (ICPF and UJEP) + +**Supporting info:** + +* src/DPD-BASIC: filenames -> commands +* :doc:`pair_style dpd ` +* :doc:`pair_style dpd/tstat ` +* :doc:`pair_style dpd/ext ` +* :doc:`pair_style dpd/ext/tstat ` +* examples/PACKAGES/dpd-basic + +---------- + .. _PKG-DPD-MESO: DPD-MESO package diff --git a/doc/src/Packages_list.rst b/doc/src/Packages_list.rst index b643cc542d..44c05f8a39 100644 --- a/doc/src/Packages_list.rst +++ b/doc/src/Packages_list.rst @@ -113,6 +113,11 @@ whether an extra library is needed to build and use the package: - :doc:`pair_style lj/.../dipole ` - dipole - no + * - :ref:`DPD-BASIC ` + - basic DPD models + - :doc:`pair_styles dpd dpd/tstat ` :doc:`dpd/ext dpd/ext/tstat ` + - PACKAGES/dpd-basic + - no * - :ref:`DPD-MESO ` - mesoscale DPD models - :doc:`pair_style edpd ` diff --git a/doc/src/pair_dpd.rst b/doc/src/pair_dpd.rst index 62cf94786d..aa8323379a 100644 --- a/doc/src/pair_dpd.rst +++ b/doc/src/pair_dpd.rst @@ -154,14 +154,14 @@ These pair styles do not support the :doc:`pair_modify ` tail option for adding long-range tail corrections to energy and pressure. -These pair styles writes their information to :doc:`binary restart files `, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file. Note -that the user-specified random number seed is stored in the restart -file, so when a simulation is restarted, each processor will -re-initialize its random number generator the same way it did -initially. This means the random forces will be random, but will not -be the same as they would have been if the original simulation had -continued past the restart time. +These pair styles write their information to :doc:`binary restart files +`, so pair_style and pair_coeff commands do not need to be +specified in an input script that reads a restart file. Note that the +user-specified random number seed is stored in the restart file, so when +a simulation is restarted, each processor will re-initialize its random +number generator the same way it did initially. This means the random +forces will be random, but will not be the same as they would have been +if the original simulation had continued past the restart time. These pair styles can only be used via the *pair* keyword of the :doc:`run_style respa ` command. They do not support the @@ -177,22 +177,26 @@ this. Restrictions """""""""""" +These styles are part of the DPD-BASIC package. They are only enabled if +LAMMPS was built with that package. See the :doc:`Build package +` doc page for more info. + The default frequency for rebuilding neighbor lists is every 10 steps (see the :doc:`neigh_modify ` command). This may be too -infrequent for style *dpd* simulations since particles move rapidly -and can overlap by large amounts. If this setting yields a non-zero -number of "dangerous" reneighborings (printed at the end of a -simulation), you should experiment with forcing reneighboring more -often and see if system energies/trajectories change. +infrequent for style *dpd* simulations since particles move rapidly and +can overlap by large amounts. If this setting yields a non-zero number +of "dangerous" reneighborings (printed at the end of a simulation), you +should experiment with forcing reneighboring more often and see if +system energies/trajectories change. -These pair styles requires you to use the :doc:`comm_modify vel yes ` command so that velocities are stored by ghost -atoms. +These pair styles requires you to use the :doc:`comm_modify vel yes +` command so that velocities are stored by ghost atoms. These pair styles will not restart exactly when using the :doc:`read_restart ` command, though they should provide -statistically similar results. This is because the forces they -compute depend on atom velocities. See the -:doc:`read_restart ` command for more details. +statistically similar results. This is because the forces they compute +depend on atom velocities. See the :doc:`read_restart ` +command for more details. Related commands """""""""""""""" diff --git a/doc/src/pair_dpd_ext.rst b/doc/src/pair_dpd_ext.rst index cfc72fe84c..0523a19e0b 100644 --- a/doc/src/pair_dpd_ext.rst +++ b/doc/src/pair_dpd_ext.rst @@ -38,12 +38,19 @@ Examples Description """"""""""" -The style *dpd/ext* computes an extended force field for dissipative particle dynamics (DPD) following the exposition in :ref:`(Groot) `, :ref:`(Junghans) `. +The style *dpd/ext* computes an extended force field for dissipative +particle dynamics (DPD) following the exposition in :ref:`(Groot) +`, :ref:`(Junghans) `. -Style *dpd/ext/tstat* invokes an extended DPD thermostat on pairwise interactions, equivalent to the non-conservative portion of the extended DPD force field. To use *dpd/ext/tstat* as a thermostat for another pair style, use the :doc:`pair_style hybrid/overlay ` command to compute both the desired pair interaction and the thermostat for each pair of particles. +Style *dpd/ext/tstat* invokes an extended DPD thermostat on pairwise +interactions, equivalent to the non-conservative portion of the extended +DPD force field. To use *dpd/ext/tstat* as a thermostat for another pair +style, use the :doc:`pair_style hybrid/overlay ` command to +compute both the desired pair interaction and the thermostat for each +pair of particles. -For the style *dpd/ext*\ , the force on atom I due to atom J is given as a sum -of 3 terms +For the style *dpd/ext*\ , the force on atom I due to atom J is given as +a sum of 3 terms .. math:: @@ -53,17 +60,51 @@ of 3 terms f^R = & \sigma_{\parallel} w_{\parallel}(r) \frac{\alpha}{\sqrt{\Delta t}} \hat{\mathbf{r}}_{ij} + \sigma_{\perp} w_{\perp} (r) ( \mathbf{I} - \hat{\mathbf{r}}_{ij} \hat{\mathbf{r}}_{ij}^{\rm T} ) \frac{\mathbf{\xi}_{ij}}{\sqrt{\Delta t}}\\ w(r) = & 1 - r/r_c \\ -where :math:`\mathbf{f}^C` is a conservative force, :math:`\mathbf{f}^D` is a dissipative force, and :math:`\mathbf{f}^R` is a random force. :math:`A_{ij}` is the maximum repulsion between the two atoms, :math:`\hat{\mathbf{r}}_{ij}` is a unit vector in the direction :math:`\mathbf{r}_i - \mathbf{r}_j`, :math:`\mathbf{v}_{ij} = \mathbf{v}_i - \mathbf{v}_j` is the vector difference in velocities of the two atoms, :math:`\alpha` and :math:`\mathbf{\xi}_{ij}` are Gaussian random numbers with zero mean and unit variance, :math:`\Delta t` is the timestep, :math:`w (r) = 1 - r / r_c` is a weight function for the conservative interactions that varies between 0 and 1, :math:`r_c` is the corresponding cutoff, :math:`w_{\alpha} ( r ) = ( 1 - r / \bar{r}_c )^{s_{\alpha}}`, :math:`\alpha \equiv ( \parallel, \perp )`, are weight functions with coefficients :math:`s_\alpha` that vary between 0 and 1, :math:`\bar{r}_c` is the corresponding cutoff, :math:`\mathbf{I}` is the unit matrix, :math:`\sigma_{\alpha} = \sqrt{2 k T \gamma_{\alpha}}`, where :math:`k` is the Boltzmann constant and :math:`T` is the temperature in the pair\_style command. +where :math:`\mathbf{f}^C` is a conservative force, :math:`\mathbf{f}^D` +is a dissipative force, and :math:`\mathbf{f}^R` is a random +force. :math:`A_{ij}` is the maximum repulsion between the two atoms, +:math:`\hat{\mathbf{r}}_{ij}` is a unit vector in the direction +:math:`\mathbf{r}_i - \mathbf{r}_j`, :math:`\mathbf{v}_{ij} = +\mathbf{v}_i - \mathbf{v}_j` is the vector difference in velocities of +the two atoms, :math:`\alpha` and :math:`\mathbf{\xi}_{ij}` are Gaussian +random numbers with zero mean and unit variance, :math:`\Delta t` is the +timestep, :math:`w (r) = 1 - r / r_c` is a weight function for the +conservative interactions that varies between 0 and 1, :math:`r_c` is +the corresponding cutoff, :math:`w_{\alpha} ( r ) = ( 1 - r / \bar{r}_c +)^{s_{\alpha}}`, :math:`\alpha \equiv ( \parallel, \perp )`, are weight +functions with coefficients :math:`s_\alpha` that vary between 0 and 1, +:math:`\bar{r}_c` is the corresponding cutoff, :math:`\mathbf{I}` is the +unit matrix, :math:`\sigma_{\alpha} = \sqrt{2 k T \gamma_{\alpha}}`, +where :math:`k` is the Boltzmann constant and :math:`T` is the +temperature in the pair\_style command. -For the style *dpd/ext/tstat*\ , the force on atom I due to atom J is the same as the above equation, except that the conservative :math:`\mathbf{f}^C` term is dropped. Also, during the run, T is set each timestep to a ramped value from Tstart to Tstop. +For the style *dpd/ext/tstat*\ , the force on atom I due to atom J is +the same as the above equation, except that the conservative +:math:`\mathbf{f}^C` term is dropped. Also, during the run, T is set +each timestep to a ramped value from Tstart to Tstop. -For the style *dpd/ext*\ , the pairwise energy associated with style *dpd/ext* is only due to the conservative force term :math:`\mathbf{f}^C`, and is shifted to be zero at the cutoff distance :math:`r_c`. The pairwise virial is calculated using all three terms. There is no pairwise energy for style *dpd/ext/tstat*, but the last two terms of the formula contribute the virial. +For the style *dpd/ext*\ , the pairwise energy associated with style +*dpd/ext* is only due to the conservative force term +:math:`\mathbf{f}^C`, and is shifted to be zero at the cutoff distance +:math:`r_c`. The pairwise virial is calculated using all three +terms. There is no pairwise energy for style *dpd/ext/tstat*, but the +last two terms of the formula contribute the virial. -For the style *dpd/ext/tstat*, the force on atom I due to atom J is the same as the above equation, except that the conservative :math:`\mathbf{f}^C` term is dropped. Also, during the run, T is set each timestep to a ramped value from Tstart to Tstop. +For the style *dpd/ext/tstat*, the force on atom I due to atom J is the +same as the above equation, except that the conservative +:math:`\mathbf{f}^C` term is dropped. Also, during the run, T is set +each timestep to a ramped value from Tstart to Tstop. -For the style *dpd/ext*\ , the pairwise energy associated with style *dpd/ext* is only due to the conservative force term :math:`\mathbf{f}^C`, and is shifted to be zero at the cutoff distance :math:`r_c`. The pairwise virial is calculated using all three terms. There is no pairwise energy for style *dpd/ext/tstat*, but the last two terms of the formula contribute the virial. +For the style *dpd/ext*\ , the pairwise energy associated with style +*dpd/ext* is only due to the conservative force term +:math:`\mathbf{f}^C`, and is shifted to be zero at the cutoff distance +:math:`r_c`. The pairwise virial is calculated using all three +terms. There is no pairwise energy for style *dpd/ext/tstat*, but the +last two terms of the formula contribute the virial. -For the style *dpd/ext*, the following coefficients must be defined for each pair of atoms types via the :doc:`pair_coeff ` command as in the examples above: +For the style *dpd/ext*, the following coefficients must be defined for +each pair of atoms types via the :doc:`pair_coeff ` command +as in the examples above: * A (force units) * :math:`\gamma_{\perp}` (force/velocity units) @@ -72,35 +113,55 @@ For the style *dpd/ext*, the following coefficients must be defined for each pai * :math:`s_{\parallel}` (unitless) * :math:`r_c` (distance units) -The last coefficient is optional. If not specified, the global DPD cutoff is used. Note that :math:`\sigma`'s are set equal to :math:`\sqrt{2 k T \gamma}`, where :math:`T` is the temperature set by the :doc:`pair_style ` command so it does not need to be specified. +The last coefficient is optional. If not specified, the global DPD +cutoff is used. Note that :math:`\sigma`'s are set equal to +:math:`\sqrt{2 k T \gamma}`, where :math:`T` is the temperature set by +the :doc:`pair_style ` command so it does not need to be +specified. - -For the style *dpd/ext/tstat*, the coefficients defined for each pair of atoms types via the :doc:`pair_coeff ` command is the same, except that A is not included. +For the style *dpd/ext/tstat*, the coefficients defined for each pair of +atoms types via the :doc:`pair_coeff ` command is the same, +except that A is not included. .. note:: - If you are modeling DPD polymer chains, you may want to use the :doc:`pair_style srp ` command in conjunction with these pair styles. It is a soft segmental repulsive potential (SRP) that can prevent DPD polymer chains from crossing each other. + If you are modeling DPD polymer chains, you may want to use the + :doc:`pair_style srp ` command in conjunction with these pair + styles. It is a soft segmental repulsive potential (SRP) that can + prevent DPD polymer chains from crossing each other. .. note:: - The virial calculation for pressure when using this pair style includes all the components of force listed above, including the random force. + The virial calculation for pressure when using this pair style includes + all the components of force listed above, including the random force. ---------- **Mixing, shift, table, tail correction, restart, rRESPA info**\ : -The style *dpd/ext* does not support mixing. Thus, coefficients for all I,J pairs must be specified explicitly. +The style *dpd/ext* does not support mixing. Thus, coefficients for all +I,J pairs must be specified explicitly. -The pair styles do not support the :doc:`pair_modify ` shift option for the energy of the pair interaction. Note that as discussed above, the energy due to the conservative :math:`\mathbf{f}^C` term is already shifted to be zero at the cutoff distance :math:`r_c`. +The pair styles do not support the :doc:`pair_modify ` +shift option for the energy of the pair interaction. Note that as +discussed above, the energy due to the conservative :math:`\mathbf{f}^C` +term is already shifted to be zero at the cutoff distance :math:`r_c`. -The :doc:`pair_modify ` table option is not relevant for the style *dpd/ext*. +The :doc:`pair_modify ` table option is not relevant for +the style *dpd/ext*. -The style *dpd/ext* does not support the :doc:`pair_modify ` tail option for adding long-range tail corrections to energy and pressure. +The style *dpd/ext* does not support the :doc:`pair_modify +` tail option for adding long-range tail corrections to +energy and pressure. -The pair styles can only be used via the pair keyword of the :doc:`run_style respa ` command. They do not support the *inner*\ , *middle*\ , and *outer*\ keywords. +The pair styles can only be used via the pair keyword of the +:doc:`run_style respa ` command. They do not support the +*inner*\ , *middle*\ , and *outer*\ keywords. -The style *dpd/ext/tstat* can ramp its target temperature over multiple runs, using the start and stop keywords of the :doc:`run ` command. See the :doc:`run ` command for details of how to do this. +The style *dpd/ext/tstat* can ramp its target temperature over multiple +runs, using the start and stop keywords of the :doc:`run ` +command. See the :doc:`run ` command for details of how to do this. ---------- @@ -108,31 +169,42 @@ The style *dpd/ext/tstat* can ramp its target temperature over multiple runs, us Restrictions """""""""""" -The default frequency for rebuilding neighbor lists is every 10 steps (see the :doc:`neigh_modify ` command). This may be too infrequent for style *dpd/ext* simulations since particles move rapidly and can overlap by large amounts. If this setting yields a non-zero number of \say{dangerous} reneighborings (printed at the end of a simulation), you should experiment with forcing reneighboring more often and see if system energies/trajectories change. +These styles are part of the DPD-BASIC package. They are only enabled if +LAMMPS was built with that package. See the :doc:`Build package +` doc page for more info. -The pair styles require to use the :doc:`comm_modify vel yes ` command so that velocities are stored by ghost atoms. +The default frequency for rebuilding neighbor lists is every 10 steps +(see the :doc:`neigh_modify ` command). This may be too +infrequent for style *dpd/ext* simulations since particles move rapidly +and can overlap by large amounts. If this setting yields a non-zero +number of \say{dangerous} reneighborings (printed at the end of a +simulation), you should experiment with forcing reneighboring more often +and see if system energies/trajectories change. -The pair styles will not restart exactly when using the :doc:`read_restart ` command, though they should provide statistically similar results. This is because the forces they compute depend on atom velocities. See the :doc:`read_restart ` command for more details. +The pair styles require to use the :doc:`comm_modify vel yes +` command so that velocities are stored by ghost atoms. + +The pair styles will not restart exactly when using the +:doc:`read_restart ` command, though they should provide +statistically similar results. This is because the forces they compute +depend on atom velocities. See the :doc:`read_restart ` +command for more details. Related commands """""""""""""""" -:doc:`pair_style dpd `, :doc:`pair_coeff `, :doc:`fix nvt `, :doc:`fix langevin `, :doc:`pair_style srp ` +:doc:`pair_style dpd `, :doc:`pair_coeff `, +:doc:`fix nvt `, :doc:`fix langevin `, +:doc:`pair_style srp ` **Default:** none - ---------- - .. _Groot: - - **(Groot)** Groot and Warren, J Chem Phys, 107, 4423-35 (1997). .. _Junghans: - - **(Junghans)** Junghans, Praprotnik and Kremer, Soft Matter 4, 156, 1119-1128 (2008). diff --git a/examples/USER-MISC/dpd_ext/README b/examples/PACKAGES/dpd-basic/README similarity index 100% rename from examples/USER-MISC/dpd_ext/README rename to examples/PACKAGES/dpd-basic/README diff --git a/examples/USER-MISC/dpd_ext/dpdext/dpdext.data b/examples/PACKAGES/dpd-basic/dpdext/dpdext.data similarity index 100% rename from examples/USER-MISC/dpd_ext/dpdext/dpdext.data rename to examples/PACKAGES/dpd-basic/dpdext/dpdext.data diff --git a/examples/USER-MISC/dpd_ext/dpdext/in.dpdext b/examples/PACKAGES/dpd-basic/dpdext/in.dpdext similarity index 100% rename from examples/USER-MISC/dpd_ext/dpdext/in.dpdext rename to examples/PACKAGES/dpd-basic/dpdext/in.dpdext diff --git a/examples/USER-MISC/dpd_ext/dpdext/log.10Mar21.dpdext.g++.1 b/examples/PACKAGES/dpd-basic/dpdext/log.10Mar21.dpdext.g++.1 similarity index 100% rename from examples/USER-MISC/dpd_ext/dpdext/log.10Mar21.dpdext.g++.1 rename to examples/PACKAGES/dpd-basic/dpdext/log.10Mar21.dpdext.g++.1 diff --git a/examples/USER-MISC/dpd_ext/dpdext/log.10Mar21.dpdext.g++.4 b/examples/PACKAGES/dpd-basic/dpdext/log.10Mar21.dpdext.g++.4 similarity index 100% rename from examples/USER-MISC/dpd_ext/dpdext/log.10Mar21.dpdext.g++.4 rename to examples/PACKAGES/dpd-basic/dpdext/log.10Mar21.dpdext.g++.4 diff --git a/examples/USER-MISC/dpd_ext/dpdext_tstat/cg_spce.data b/examples/PACKAGES/dpd-basic/dpdext_tstat/cg_spce.data similarity index 100% rename from examples/USER-MISC/dpd_ext/dpdext_tstat/cg_spce.data rename to examples/PACKAGES/dpd-basic/dpdext_tstat/cg_spce.data diff --git a/examples/USER-MISC/dpd_ext/dpdext_tstat/cg_spce_table.pot b/examples/PACKAGES/dpd-basic/dpdext_tstat/cg_spce_table.pot similarity index 100% rename from examples/USER-MISC/dpd_ext/dpdext_tstat/cg_spce_table.pot rename to examples/PACKAGES/dpd-basic/dpdext_tstat/cg_spce_table.pot diff --git a/examples/USER-MISC/dpd_ext/dpdext_tstat/in.cg_spce b/examples/PACKAGES/dpd-basic/dpdext_tstat/in.cg_spce similarity index 100% rename from examples/USER-MISC/dpd_ext/dpdext_tstat/in.cg_spce rename to examples/PACKAGES/dpd-basic/dpdext_tstat/in.cg_spce diff --git a/examples/USER-MISC/dpd_ext/dpdext_tstat/log.10Mar21.dpdext.g++.1 b/examples/PACKAGES/dpd-basic/dpdext_tstat/log.10Mar21.dpdext.g++.1 similarity index 100% rename from examples/USER-MISC/dpd_ext/dpdext_tstat/log.10Mar21.dpdext.g++.1 rename to examples/PACKAGES/dpd-basic/dpdext_tstat/log.10Mar21.dpdext.g++.1 diff --git a/examples/USER-MISC/dpd_ext/dpdext_tstat/log.10Mar21.dpdext.g++.4 b/examples/PACKAGES/dpd-basic/dpdext_tstat/log.10Mar21.dpdext.g++.4 similarity index 100% rename from examples/USER-MISC/dpd_ext/dpdext_tstat/log.10Mar21.dpdext.g++.4 rename to examples/PACKAGES/dpd-basic/dpdext_tstat/log.10Mar21.dpdext.g++.4 diff --git a/src/.gitignore b/src/.gitignore index 8d73a5b295..67072d5137 100644 --- a/src/.gitignore +++ b/src/.gitignore @@ -1429,6 +1429,10 @@ /pair_thole.h /pair_buck_mdf.cpp /pair_buck_mdf.h +/pair_dpd.cpp +/pair_dpd.h +/pair_dpd_tstat.cpp +/pair_dpd_tstat.h /pair_dpd_ext.cpp /pair_dpd_ext.h /pair_dpd_ext_tstat.cpp diff --git a/src/pair_dpd.cpp b/src/DPD-BASIC/pair_dpd.cpp similarity index 100% rename from src/pair_dpd.cpp rename to src/DPD-BASIC/pair_dpd.cpp diff --git a/src/pair_dpd.h b/src/DPD-BASIC/pair_dpd.h similarity index 100% rename from src/pair_dpd.h rename to src/DPD-BASIC/pair_dpd.h diff --git a/src/USER-MISC/pair_dpd_ext.cpp b/src/DPD-BASIC/pair_dpd_ext.cpp similarity index 100% rename from src/USER-MISC/pair_dpd_ext.cpp rename to src/DPD-BASIC/pair_dpd_ext.cpp diff --git a/src/USER-MISC/pair_dpd_ext.h b/src/DPD-BASIC/pair_dpd_ext.h similarity index 100% rename from src/USER-MISC/pair_dpd_ext.h rename to src/DPD-BASIC/pair_dpd_ext.h diff --git a/src/USER-MISC/pair_dpd_ext_tstat.cpp b/src/DPD-BASIC/pair_dpd_ext_tstat.cpp similarity index 100% rename from src/USER-MISC/pair_dpd_ext_tstat.cpp rename to src/DPD-BASIC/pair_dpd_ext_tstat.cpp diff --git a/src/USER-MISC/pair_dpd_ext_tstat.h b/src/DPD-BASIC/pair_dpd_ext_tstat.h similarity index 100% rename from src/USER-MISC/pair_dpd_ext_tstat.h rename to src/DPD-BASIC/pair_dpd_ext_tstat.h diff --git a/src/pair_dpd_tstat.cpp b/src/DPD-BASIC/pair_dpd_tstat.cpp similarity index 100% rename from src/pair_dpd_tstat.cpp rename to src/DPD-BASIC/pair_dpd_tstat.cpp diff --git a/src/pair_dpd_tstat.h b/src/DPD-BASIC/pair_dpd_tstat.h similarity index 100% rename from src/pair_dpd_tstat.h rename to src/DPD-BASIC/pair_dpd_tstat.h diff --git a/src/Makefile b/src/Makefile index 9beba726cc..52dff05148 100644 --- a/src/Makefile +++ b/src/Makefile @@ -63,6 +63,7 @@ PACKAGE = \ coreshell \ diffraction \ dipole \ + dpd-basic \ dpd-meso \ dpd-react \ dpd-smooth \ @@ -148,6 +149,7 @@ PACKMOST = \ coreshell \ diffraction \ dipole \ + dpd-basic \ dpd-meso \ dpd-react \ dpd-smooth \ diff --git a/src/Purge.list b/src/Purge.list index 88d9e22e59..3debc2ef6d 100644 --- a/src/Purge.list +++ b/src/Purge.list @@ -51,6 +51,11 @@ lmpinstalledpkgs.h lmpgitversion.h mliap_model_python_couple.cpp mliap_model_python_couple.h +# moved to DPD-BASIC package on 1 July 2021 +pair_dpd.cpp +pair_dpd.h +pair_dpd_tstat.cpp +pair_dpd_tstat.h # removed on 14 May 2021 nstencil_half_bin_2d_newton_ssa.cpp nstencil_half_bin_2d_newton_ssa.h diff --git a/src/USER-MISC/README b/src/USER-MISC/README index d6f859b359..fd60ecf586 100644 --- a/src/USER-MISC/README +++ b/src/USER-MISC/README @@ -89,8 +89,6 @@ pair_style coul/slater/long, Evangelos Voyiatzis, evoyiatzis at gmail.com, 26 Fe pair_style dipole/sf, Mario Orsi, orsimario at gmail.com, 8 Aug 11 pair_style e3b, Steven Strong (U Chicago), stevene.strong at gmail dot com, 16 Apr 19 pair_style drip, Mingjian Wen, University of Minnesota, wenxx151 at umn.edu, 17 Apr 19 -pair_style dpd/ext, Martin Svoboda, Karel Sindelka, Martin Lisal, ICPF and UJEP, svobod.martin at gmail dot com, 23 Apr 21 -pair_style dpd/ext/tstat, Martin Svoboda, Karel Sindelka, Martin Lisal, ICPF and UJEP , svobod.martin at gmail dot com, 23 Apr 21 pair_style edip, Luca Ferraro, luca.ferraro at caspur.it, 15 Sep 11 pair_style extep, Jaap Kroes (Radboud U), jaapkroes at gmail dot com, 28 Nov 17 pair_style gauss/cut, Axel Kohlmeyer, akohlmey at gmail.com, 1 Dec 11 From a370e9e32935e3228bc2ded19d7961c0a52a7dea Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 1 Jul 2021 00:58:10 -0400 Subject: [PATCH 331/726] DPD basic styles have GPU package versions --- src/Depend.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/Depend.sh b/src/Depend.sh index 4e88bc61b1..6dbfed903c 100755 --- a/src/Depend.sh +++ b/src/Depend.sh @@ -68,6 +68,10 @@ if (test $1 = "DIPOLE") then depend OPENMP fi +if (test $1 = "DPD-BASIC") then + depend GPU +fi + if (test $1 = "GRANULAR") then depend KOKKOS depend OPENMP From c495fdfdf3183181d0e7f14c3b9f591dc84abe36 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 1 Jul 2021 20:17:07 -0400 Subject: [PATCH 332/726] step version strings for next patch release --- doc/lammps.1 | 2 +- src/version.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/lammps.1 b/doc/lammps.1 index f18a9a118d..5e32c7f233 100644 --- a/doc/lammps.1 +++ b/doc/lammps.1 @@ -1,4 +1,4 @@ -.TH LAMMPS "27 May 2021" "2021-05-27" +.TH LAMMPS "2 July 2021" "2021-07-2" .SH NAME .B LAMMPS \- Molecular Dynamics Simulator. diff --git a/src/version.h b/src/version.h index ae0bd8bd1c..43064d25ab 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define LAMMPS_VERSION "27 May 2021" +#define LAMMPS_VERSION "2 Jul 2021" From e2a78cbed63ef3cfed2a018ce911dbc86bd46ca2 Mon Sep 17 00:00:00 2001 From: Joe Todd Date: Fri, 2 Jul 2021 13:25:19 +0100 Subject: [PATCH 333/726] SYCL team_reduce to mimic cuda __syncthreads_count This fixes a suspected out of bounds error later on in the kernel. --- src/KOKKOS/npair_kokkos.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/KOKKOS/npair_kokkos.cpp b/src/KOKKOS/npair_kokkos.cpp index 7d6a39abe5..1110aef4a6 100644 --- a/src/KOKKOS/npair_kokkos.cpp +++ b/src/KOKKOS/npair_kokkos.cpp @@ -610,7 +610,9 @@ void NeighborKokkosExecute::build_ItemGPU(typename Kokkos::TeamPolic if (test) return; #else - dev.team_barrier(); + int not_done = (i >= 0 && i <= nlocal); + dev.team_reduce(Kokkos::Max(not_done)); + if(not_done == 0) return; #endif if (i >= 0 && i < nlocal) { @@ -1053,13 +1055,14 @@ void NeighborKokkosExecute::build_ItemSizeGPU(typename Kokkos::TeamP other_x[MY_II + 4 * atoms_per_bin] = radi; } other_id[MY_II] = i; - // FIXME_SYCL #ifndef KOKKOS_ENABLE_SYCL int test = (__syncthreads_count(i >= 0 && i <= nlocal) == 0); if (test) return; #else - dev.team_barrier(); + int not_done = (i >= 0 && i <= nlocal); + dev.team_reduce(Kokkos::Max(not_done)); + if(not_done == 0) return; #endif if (i >= 0 && i < nlocal) { From 411d1f12405bb5dc361c2871463992e31751b4a7 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 2 Jul 2021 13:19:47 -0400 Subject: [PATCH 334/726] move fix imd from USER-MISC to MISC --- doc/src/Packages_details.rst | 2 ++ doc/src/fix_imd.rst | 2 +- src/{USER-MISC => MISC}/fix_imd.cpp | 0 src/{USER-MISC => MISC}/fix_imd.h | 0 src/USER-MISC/README | 1 - 5 files changed, 3 insertions(+), 2 deletions(-) rename src/{USER-MISC => MISC}/fix_imd.cpp (100%) rename src/{USER-MISC => MISC}/fix_imd.h (100%) diff --git a/doc/src/Packages_details.rst b/doc/src/Packages_details.rst index cb3bb904b1..cf70be0d4b 100644 --- a/doc/src/Packages_details.rst +++ b/doc/src/Packages_details.rst @@ -1437,6 +1437,8 @@ listing, "ls src/MISC", to see the list of commands. * src/MISC: filenames -> commands * :doc:`compute ti ` * :doc:`fix evaporate ` +* :doc:`fix imd ` +* :doc:`fix oneway ` * :doc:`fix orient/fcc ` * :doc:`fix ttm ` * :doc:`fix thermal/conductivity ` diff --git a/doc/src/fix_imd.rst b/doc/src/fix_imd.rst index 07242ad629..5bb4075873 100644 --- a/doc/src/fix_imd.rst +++ b/doc/src/fix_imd.rst @@ -149,7 +149,7 @@ fix is not invoked during :doc:`energy minimization `. Restrictions """""""""""" -This fix is part of the USER-MISC package. It is only enabled if +This fix is part of the MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. When used in combination with VMD, a topology or coordinate file has diff --git a/src/USER-MISC/fix_imd.cpp b/src/MISC/fix_imd.cpp similarity index 100% rename from src/USER-MISC/fix_imd.cpp rename to src/MISC/fix_imd.cpp diff --git a/src/USER-MISC/fix_imd.h b/src/MISC/fix_imd.h similarity index 100% rename from src/USER-MISC/fix_imd.h rename to src/MISC/fix_imd.h diff --git a/src/USER-MISC/README b/src/USER-MISC/README index fd60ecf586..ea5910203c 100644 --- a/src/USER-MISC/README +++ b/src/USER-MISC/README @@ -60,7 +60,6 @@ fix filter/corotate, Lukas Fath (KIT), lukas.fath at kit.edu, 15 Mar 2017 fix flow/gauss, Joel Eaves (CU Boulder), Joel.Eaves@Colorado.edu, 23 Aug 2016 fix gle, Michele Ceriotti (EPFL Lausanne), michele.ceriotti at gmail.com, 24 Nov 2014 fix grem, David Stelter, dstelter@bu.edu, 22 Nov 16 -fix imd, Axel Kohlmeyer, akohlmey at gmail.com, 9 Nov 2009 fix ipi, Michele Ceriotti (EPFL Lausanne), michele.ceriotti at gmail.com, 24 Nov 2014 fix momentum/chunk, Jiang Xiao (Hong Kong Polytechnic University), polyu-xiao.jiang at connect.polyu.hk, 19 Aug 2020 fix npt/cauchy, R. E. Miller (Carleton University), F. Pavia and S. Pattamatta, 12 Jan 2020 From 021e8a404de62c47d06f82335a3f56639f5cf6d1 Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Fri, 2 Jul 2021 12:20:26 -0500 Subject: [PATCH 335/726] Updated example data files --- examples/USER/dielectric/README | 4 +- examples/USER/dielectric/data.confined | 8000 ++++++++++++------------ examples/USER/dielectric/data.sphere | 5124 +++++++-------- 3 files changed, 6563 insertions(+), 6565 deletions(-) diff --git a/examples/USER/dielectric/README b/examples/USER/dielectric/README index 6cbb1e204d..35704198e6 100644 --- a/examples/USER/dielectric/README +++ b/examples/USER/dielectric/README @@ -31,9 +31,7 @@ where * epsilon = the local epsilon value at the vertex or at the ion. For real charges, epsilon is the medium dielectric constant, and q is the real (unscaled) charges. - For interface particles: - + if q is zero (zero surface charges), epsilon is set to be 1.0; - + if q is nonzero (charged surfaces), epsilon is set to be em + For interface particles, epsilon is set to be em (the mean dielectric value above). * area_per_patch: the surface area of the patch (element). diff --git a/examples/USER/dielectric/data.confined b/examples/USER/dielectric/data.confined index 52afc2cf62..2e166151bb 100644 --- a/examples/USER/dielectric/data.confined +++ b/examples/USER/dielectric/data.confined @@ -15,4005 +15,4005 @@ Masses Atoms # dielectric: id mol type q x y z normx normy normz area_per_patch ed em epsilon curvature -1 0 1 0 0 0 9.99798 0 0 1 0.866 8 6 1 0 -2 0 1 0 0.500101 0.866201 9.99798 0 0 1 0.866 8 6 1 0 -3 0 1 0 1.0002 0 9.99798 0 0 1 0.866 8 6 1 0 -4 0 1 0 1.5003 0.866201 9.99798 0 0 1 0.866 8 6 1 0 -5 0 1 0 2.0004 0 9.99798 0 0 1 0.866 8 6 1 0 -6 0 1 0 2.50051 0.866201 9.99798 0 0 1 0.866 8 6 1 0 -7 0 1 0 3.00061 0 9.99798 0 0 1 0.866 8 6 1 0 -8 0 1 0 3.50071 0.866201 9.99798 0 0 1 0.866 8 6 1 0 -9 0 1 0 4.00081 0 9.99798 0 0 1 0.866 8 6 1 0 -10 0 1 0 4.50091 0.866201 9.99798 0 0 1 0.866 8 6 1 0 -11 0 1 0 5.00101 0 9.99798 0 0 1 0.866 8 6 1 0 -12 0 1 0 5.50111 0.866201 9.99798 0 0 1 0.866 8 6 1 0 -13 0 1 0 6.00121 0 9.99798 0 0 1 0.866 8 6 1 0 -14 0 1 0 6.50132 0.866201 9.99798 0 0 1 0.866 8 6 1 0 -15 0 1 0 7.00142 0 9.99798 0 0 1 0.866 8 6 1 0 -16 0 1 0 7.50152 0.866201 9.99798 0 0 1 0.866 8 6 1 0 -17 0 1 0 8.00162 0 9.99798 0 0 1 0.866 8 6 1 0 -18 0 1 0 8.50172 0.866201 9.99798 0 0 1 0.866 8 6 1 0 -19 0 1 0 9.00182 0 9.99798 0 0 1 0.866 8 6 1 0 -20 0 1 0 9.50192 0.866201 9.99798 0 0 1 0.866 8 6 1 0 -21 0 1 0 10.002 0 9.99798 0 0 1 0.866 8 6 1 0 -22 0 1 0 10.5021 0.866201 9.99798 0 0 1 0.866 8 6 1 0 -23 0 1 0 11.0022 0 9.99798 0 0 1 0.866 8 6 1 0 -24 0 1 0 11.5023 0.866201 9.99798 0 0 1 0.866 8 6 1 0 -25 0 1 0 12.0024 0 9.99798 0 0 1 0.866 8 6 1 0 -26 0 1 0 12.5025 0.866201 9.99798 0 0 1 0.866 8 6 1 0 -27 0 1 0 13.0026 0 9.99798 0 0 1 0.866 8 6 1 0 -28 0 1 0 13.5027 0.866201 9.99798 0 0 1 0.866 8 6 1 0 -29 0 1 0 14.0028 0 9.99798 0 0 1 0.866 8 6 1 0 -30 0 1 0 14.5029 0.866201 9.99798 0 0 1 0.866 8 6 1 0 -31 0 1 0 15.003 0 9.99798 0 0 1 0.866 8 6 1 0 -32 0 1 0 15.5031 0.866201 9.99798 0 0 1 0.866 8 6 1 0 -33 0 1 0 16.0032 0 9.99798 0 0 1 0.866 8 6 1 0 -34 0 1 0 16.5033 0.866201 9.99798 0 0 1 0.866 8 6 1 0 -35 0 1 0 17.0034 0 9.99798 0 0 1 0.866 8 6 1 0 -36 0 1 0 17.5035 0.866201 9.99798 0 0 1 0.866 8 6 1 0 -37 0 1 0 18.0036 0 9.99798 0 0 1 0.866 8 6 1 0 -38 0 1 0 18.5037 0.866201 9.99798 0 0 1 0.866 8 6 1 0 -39 0 1 0 19.0038 0 9.99798 0 0 1 0.866 8 6 1 0 -40 0 1 0 19.5039 0.866201 9.99798 0 0 1 0.866 8 6 1 0 -41 0 1 0 20.004 0 9.99798 0 0 1 0.866 8 6 1 0 -42 0 1 0 20.5041 0.866201 9.99798 0 0 1 0.866 8 6 1 0 -43 0 1 0 21.0042 0 9.99798 0 0 1 0.866 8 6 1 0 -44 0 1 0 21.5043 0.866201 9.99798 0 0 1 0.866 8 6 1 0 -45 0 1 0 22.0045 0 9.99798 0 0 1 0.866 8 6 1 0 -46 0 1 0 22.5046 0.866201 9.99798 0 0 1 0.866 8 6 1 0 -47 0 1 0 23.0047 0 9.99798 0 0 1 0.866 8 6 1 0 -48 0 1 0 23.5048 0.866201 9.99798 0 0 1 0.866 8 6 1 0 -49 0 1 0 24.0049 0 9.99798 0 0 1 0.866 8 6 1 0 -50 0 1 0 24.505 0.866201 9.99798 0 0 1 0.866 8 6 1 0 -51 0 1 0 25.0051 0 9.99798 0 0 1 0.866 8 6 1 0 -52 0 1 0 25.5052 0.866201 9.99798 0 0 1 0.866 8 6 1 0 -53 0 1 0 26.0053 0 9.99798 0 0 1 0.866 8 6 1 0 -54 0 1 0 26.5054 0.866201 9.99798 0 0 1 0.866 8 6 1 0 -55 0 1 0 27.0055 0 9.99798 0 0 1 0.866 8 6 1 0 -56 0 1 0 27.5056 0.866201 9.99798 0 0 1 0.866 8 6 1 0 -57 0 1 0 28.0057 0 9.99798 0 0 1 0.866 8 6 1 0 -58 0 1 0 28.5058 0.866201 9.99798 0 0 1 0.866 8 6 1 0 -59 0 1 0 29.0059 0 9.99798 0 0 1 0.866 8 6 1 0 -60 0 1 0 29.506 0.866201 9.99798 0 0 1 0.866 8 6 1 0 -61 0 1 0 30.0061 0 9.99798 0 0 1 0.866 8 6 1 0 -62 0 1 0 30.5062 0.866201 9.99798 0 0 1 0.866 8 6 1 0 -63 0 1 0 31.0063 0 9.99798 0 0 1 0.866 8 6 1 0 -64 0 1 0 31.5064 0.866201 9.99798 0 0 1 0.866 8 6 1 0 -65 0 1 0 32.0065 0 9.99798 0 0 1 0.866 8 6 1 0 -66 0 1 0 32.5066 0.866201 9.99798 0 0 1 0.866 8 6 1 0 -67 0 1 0 33.0067 0 9.99798 0 0 1 0.866 8 6 1 0 -68 0 1 0 33.5068 0.866201 9.99798 0 0 1 0.866 8 6 1 0 -69 0 1 0 34.0069 0 9.99798 0 0 1 0.866 8 6 1 0 -70 0 1 0 34.507 0.866201 9.99798 0 0 1 0.866 8 6 1 0 -71 0 1 0 35.0071 0 9.99798 0 0 1 0.866 8 6 1 0 -72 0 1 0 35.5072 0.866201 9.99798 0 0 1 0.866 8 6 1 0 -73 0 1 0 36.0073 0 9.99798 0 0 1 0.866 8 6 1 0 -74 0 1 0 36.5074 0.866201 9.99798 0 0 1 0.866 8 6 1 0 -75 0 1 0 37.0075 0 9.99798 0 0 1 0.866 8 6 1 0 -76 0 1 0 37.5076 0.866201 9.99798 0 0 1 0.866 8 6 1 0 -77 0 1 0 38.0077 0 9.99798 0 0 1 0.866 8 6 1 0 -78 0 1 0 38.5078 0.866201 9.99798 0 0 1 0.866 8 6 1 0 -79 0 1 0 39.0079 0 9.99798 0 0 1 0.866 8 6 1 0 -80 0 1 0 39.508 0.866201 9.99798 0 0 1 0.866 8 6 1 0 -81 0 1 0 0 1.7324 9.99798 0 0 1 0.866 8 6 1 0 -82 0 1 0 0.500101 2.5986 9.99798 0 0 1 0.866 8 6 1 0 -83 0 1 0 1.0002 1.7324 9.99798 0 0 1 0.866 8 6 1 0 -84 0 1 0 1.5003 2.5986 9.99798 0 0 1 0.866 8 6 1 0 -85 0 1 0 2.0004 1.7324 9.99798 0 0 1 0.866 8 6 1 0 -86 0 1 0 2.50051 2.5986 9.99798 0 0 1 0.866 8 6 1 0 -87 0 1 0 3.00061 1.7324 9.99798 0 0 1 0.866 8 6 1 0 -88 0 1 0 3.50071 2.5986 9.99798 0 0 1 0.866 8 6 1 0 -89 0 1 0 4.00081 1.7324 9.99798 0 0 1 0.866 8 6 1 0 -90 0 1 0 4.50091 2.5986 9.99798 0 0 1 0.866 8 6 1 0 -91 0 1 0 5.00101 1.7324 9.99798 0 0 1 0.866 8 6 1 0 -92 0 1 0 5.50111 2.5986 9.99798 0 0 1 0.866 8 6 1 0 -93 0 1 0 6.00121 1.7324 9.99798 0 0 1 0.866 8 6 1 0 -94 0 1 0 6.50132 2.5986 9.99798 0 0 1 0.866 8 6 1 0 -95 0 1 0 7.00142 1.7324 9.99798 0 0 1 0.866 8 6 1 0 -96 0 1 0 7.50152 2.5986 9.99798 0 0 1 0.866 8 6 1 0 -97 0 1 0 8.00162 1.7324 9.99798 0 0 1 0.866 8 6 1 0 -98 0 1 0 8.50172 2.5986 9.99798 0 0 1 0.866 8 6 1 0 -99 0 1 0 9.00182 1.7324 9.99798 0 0 1 0.866 8 6 1 0 -100 0 1 0 9.50192 2.5986 9.99798 0 0 1 0.866 8 6 1 0 -101 0 1 0 10.002 1.7324 9.99798 0 0 1 0.866 8 6 1 0 -102 0 1 0 10.5021 2.5986 9.99798 0 0 1 0.866 8 6 1 0 -103 0 1 0 11.0022 1.7324 9.99798 0 0 1 0.866 8 6 1 0 -104 0 1 0 11.5023 2.5986 9.99798 0 0 1 0.866 8 6 1 0 -105 0 1 0 12.0024 1.7324 9.99798 0 0 1 0.866 8 6 1 0 -106 0 1 0 12.5025 2.5986 9.99798 0 0 1 0.866 8 6 1 0 -107 0 1 0 13.0026 1.7324 9.99798 0 0 1 0.866 8 6 1 0 -108 0 1 0 13.5027 2.5986 9.99798 0 0 1 0.866 8 6 1 0 -109 0 1 0 14.0028 1.7324 9.99798 0 0 1 0.866 8 6 1 0 -110 0 1 0 14.5029 2.5986 9.99798 0 0 1 0.866 8 6 1 0 -111 0 1 0 15.003 1.7324 9.99798 0 0 1 0.866 8 6 1 0 -112 0 1 0 15.5031 2.5986 9.99798 0 0 1 0.866 8 6 1 0 -113 0 1 0 16.0032 1.7324 9.99798 0 0 1 0.866 8 6 1 0 -114 0 1 0 16.5033 2.5986 9.99798 0 0 1 0.866 8 6 1 0 -115 0 1 0 17.0034 1.7324 9.99798 0 0 1 0.866 8 6 1 0 -116 0 1 0 17.5035 2.5986 9.99798 0 0 1 0.866 8 6 1 0 -117 0 1 0 18.0036 1.7324 9.99798 0 0 1 0.866 8 6 1 0 -118 0 1 0 18.5037 2.5986 9.99798 0 0 1 0.866 8 6 1 0 -119 0 1 0 19.0038 1.7324 9.99798 0 0 1 0.866 8 6 1 0 -120 0 1 0 19.5039 2.5986 9.99798 0 0 1 0.866 8 6 1 0 -121 0 1 0 20.004 1.7324 9.99798 0 0 1 0.866 8 6 1 0 -122 0 1 0 20.5041 2.5986 9.99798 0 0 1 0.866 8 6 1 0 -123 0 1 0 21.0042 1.7324 9.99798 0 0 1 0.866 8 6 1 0 -124 0 1 0 21.5043 2.5986 9.99798 0 0 1 0.866 8 6 1 0 -125 0 1 0 22.0045 1.7324 9.99798 0 0 1 0.866 8 6 1 0 -126 0 1 0 22.5046 2.5986 9.99798 0 0 1 0.866 8 6 1 0 -127 0 1 0 23.0047 1.7324 9.99798 0 0 1 0.866 8 6 1 0 -128 0 1 0 23.5048 2.5986 9.99798 0 0 1 0.866 8 6 1 0 -129 0 1 0 24.0049 1.7324 9.99798 0 0 1 0.866 8 6 1 0 -130 0 1 0 24.505 2.5986 9.99798 0 0 1 0.866 8 6 1 0 -131 0 1 0 25.0051 1.7324 9.99798 0 0 1 0.866 8 6 1 0 -132 0 1 0 25.5052 2.5986 9.99798 0 0 1 0.866 8 6 1 0 -133 0 1 0 26.0053 1.7324 9.99798 0 0 1 0.866 8 6 1 0 -134 0 1 0 26.5054 2.5986 9.99798 0 0 1 0.866 8 6 1 0 -135 0 1 0 27.0055 1.7324 9.99798 0 0 1 0.866 8 6 1 0 -136 0 1 0 27.5056 2.5986 9.99798 0 0 1 0.866 8 6 1 0 -137 0 1 0 28.0057 1.7324 9.99798 0 0 1 0.866 8 6 1 0 -138 0 1 0 28.5058 2.5986 9.99798 0 0 1 0.866 8 6 1 0 -139 0 1 0 29.0059 1.7324 9.99798 0 0 1 0.866 8 6 1 0 -140 0 1 0 29.506 2.5986 9.99798 0 0 1 0.866 8 6 1 0 -141 0 1 0 30.0061 1.7324 9.99798 0 0 1 0.866 8 6 1 0 -142 0 1 0 30.5062 2.5986 9.99798 0 0 1 0.866 8 6 1 0 -143 0 1 0 31.0063 1.7324 9.99798 0 0 1 0.866 8 6 1 0 -144 0 1 0 31.5064 2.5986 9.99798 0 0 1 0.866 8 6 1 0 -145 0 1 0 32.0065 1.7324 9.99798 0 0 1 0.866 8 6 1 0 -146 0 1 0 32.5066 2.5986 9.99798 0 0 1 0.866 8 6 1 0 -147 0 1 0 33.0067 1.7324 9.99798 0 0 1 0.866 8 6 1 0 -148 0 1 0 33.5068 2.5986 9.99798 0 0 1 0.866 8 6 1 0 -149 0 1 0 34.0069 1.7324 9.99798 0 0 1 0.866 8 6 1 0 -150 0 1 0 34.507 2.5986 9.99798 0 0 1 0.866 8 6 1 0 -151 0 1 0 35.0071 1.7324 9.99798 0 0 1 0.866 8 6 1 0 -152 0 1 0 35.5072 2.5986 9.99798 0 0 1 0.866 8 6 1 0 -153 0 1 0 36.0073 1.7324 9.99798 0 0 1 0.866 8 6 1 0 -154 0 1 0 36.5074 2.5986 9.99798 0 0 1 0.866 8 6 1 0 -155 0 1 0 37.0075 1.7324 9.99798 0 0 1 0.866 8 6 1 0 -156 0 1 0 37.5076 2.5986 9.99798 0 0 1 0.866 8 6 1 0 -157 0 1 0 38.0077 1.7324 9.99798 0 0 1 0.866 8 6 1 0 -158 0 1 0 38.5078 2.5986 9.99798 0 0 1 0.866 8 6 1 0 -159 0 1 0 39.0079 1.7324 9.99798 0 0 1 0.866 8 6 1 0 -160 0 1 0 39.508 2.5986 9.99798 0 0 1 0.866 8 6 1 0 -161 0 1 0 0 3.4648 9.99798 0 0 1 0.866 8 6 1 0 -162 0 1 0 0.500101 4.331 9.99798 0 0 1 0.866 8 6 1 0 -163 0 1 0 1.0002 3.4648 9.99798 0 0 1 0.866 8 6 1 0 -164 0 1 0 1.5003 4.331 9.99798 0 0 1 0.866 8 6 1 0 -165 0 1 0 2.0004 3.4648 9.99798 0 0 1 0.866 8 6 1 0 -166 0 1 0 2.50051 4.331 9.99798 0 0 1 0.866 8 6 1 0 -167 0 1 0 3.00061 3.4648 9.99798 0 0 1 0.866 8 6 1 0 -168 0 1 0 3.50071 4.331 9.99798 0 0 1 0.866 8 6 1 0 -169 0 1 0 4.00081 3.4648 9.99798 0 0 1 0.866 8 6 1 0 -170 0 1 0 4.50091 4.331 9.99798 0 0 1 0.866 8 6 1 0 -171 0 1 0 5.00101 3.4648 9.99798 0 0 1 0.866 8 6 1 0 -172 0 1 0 5.50111 4.331 9.99798 0 0 1 0.866 8 6 1 0 -173 0 1 0 6.00121 3.4648 9.99798 0 0 1 0.866 8 6 1 0 -174 0 1 0 6.50132 4.331 9.99798 0 0 1 0.866 8 6 1 0 -175 0 1 0 7.00142 3.4648 9.99798 0 0 1 0.866 8 6 1 0 -176 0 1 0 7.50152 4.331 9.99798 0 0 1 0.866 8 6 1 0 -177 0 1 0 8.00162 3.4648 9.99798 0 0 1 0.866 8 6 1 0 -178 0 1 0 8.50172 4.331 9.99798 0 0 1 0.866 8 6 1 0 -179 0 1 0 9.00182 3.4648 9.99798 0 0 1 0.866 8 6 1 0 -180 0 1 0 9.50192 4.331 9.99798 0 0 1 0.866 8 6 1 0 -181 0 1 0 10.002 3.4648 9.99798 0 0 1 0.866 8 6 1 0 -182 0 1 0 10.5021 4.331 9.99798 0 0 1 0.866 8 6 1 0 -183 0 1 0 11.0022 3.4648 9.99798 0 0 1 0.866 8 6 1 0 -184 0 1 0 11.5023 4.331 9.99798 0 0 1 0.866 8 6 1 0 -185 0 1 0 12.0024 3.4648 9.99798 0 0 1 0.866 8 6 1 0 -186 0 1 0 12.5025 4.331 9.99798 0 0 1 0.866 8 6 1 0 -187 0 1 0 13.0026 3.4648 9.99798 0 0 1 0.866 8 6 1 0 -188 0 1 0 13.5027 4.331 9.99798 0 0 1 0.866 8 6 1 0 -189 0 1 0 14.0028 3.4648 9.99798 0 0 1 0.866 8 6 1 0 -190 0 1 0 14.5029 4.331 9.99798 0 0 1 0.866 8 6 1 0 -191 0 1 0 15.003 3.4648 9.99798 0 0 1 0.866 8 6 1 0 -192 0 1 0 15.5031 4.331 9.99798 0 0 1 0.866 8 6 1 0 -193 0 1 0 16.0032 3.4648 9.99798 0 0 1 0.866 8 6 1 0 -194 0 1 0 16.5033 4.331 9.99798 0 0 1 0.866 8 6 1 0 -195 0 1 0 17.0034 3.4648 9.99798 0 0 1 0.866 8 6 1 0 -196 0 1 0 17.5035 4.331 9.99798 0 0 1 0.866 8 6 1 0 -197 0 1 0 18.0036 3.4648 9.99798 0 0 1 0.866 8 6 1 0 -198 0 1 0 18.5037 4.331 9.99798 0 0 1 0.866 8 6 1 0 -199 0 1 0 19.0038 3.4648 9.99798 0 0 1 0.866 8 6 1 0 -200 0 1 0 19.5039 4.331 9.99798 0 0 1 0.866 8 6 1 0 -201 0 1 0 20.004 3.4648 9.99798 0 0 1 0.866 8 6 1 0 -202 0 1 0 20.5041 4.331 9.99798 0 0 1 0.866 8 6 1 0 -203 0 1 0 21.0042 3.4648 9.99798 0 0 1 0.866 8 6 1 0 -204 0 1 0 21.5043 4.331 9.99798 0 0 1 0.866 8 6 1 0 -205 0 1 0 22.0045 3.4648 9.99798 0 0 1 0.866 8 6 1 0 -206 0 1 0 22.5046 4.331 9.99798 0 0 1 0.866 8 6 1 0 -207 0 1 0 23.0047 3.4648 9.99798 0 0 1 0.866 8 6 1 0 -208 0 1 0 23.5048 4.331 9.99798 0 0 1 0.866 8 6 1 0 -209 0 1 0 24.0049 3.4648 9.99798 0 0 1 0.866 8 6 1 0 -210 0 1 0 24.505 4.331 9.99798 0 0 1 0.866 8 6 1 0 -211 0 1 0 25.0051 3.4648 9.99798 0 0 1 0.866 8 6 1 0 -212 0 1 0 25.5052 4.331 9.99798 0 0 1 0.866 8 6 1 0 -213 0 1 0 26.0053 3.4648 9.99798 0 0 1 0.866 8 6 1 0 -214 0 1 0 26.5054 4.331 9.99798 0 0 1 0.866 8 6 1 0 -215 0 1 0 27.0055 3.4648 9.99798 0 0 1 0.866 8 6 1 0 -216 0 1 0 27.5056 4.331 9.99798 0 0 1 0.866 8 6 1 0 -217 0 1 0 28.0057 3.4648 9.99798 0 0 1 0.866 8 6 1 0 -218 0 1 0 28.5058 4.331 9.99798 0 0 1 0.866 8 6 1 0 -219 0 1 0 29.0059 3.4648 9.99798 0 0 1 0.866 8 6 1 0 -220 0 1 0 29.506 4.331 9.99798 0 0 1 0.866 8 6 1 0 -221 0 1 0 30.0061 3.4648 9.99798 0 0 1 0.866 8 6 1 0 -222 0 1 0 30.5062 4.331 9.99798 0 0 1 0.866 8 6 1 0 -223 0 1 0 31.0063 3.4648 9.99798 0 0 1 0.866 8 6 1 0 -224 0 1 0 31.5064 4.331 9.99798 0 0 1 0.866 8 6 1 0 -225 0 1 0 32.0065 3.4648 9.99798 0 0 1 0.866 8 6 1 0 -226 0 1 0 32.5066 4.331 9.99798 0 0 1 0.866 8 6 1 0 -227 0 1 0 33.0067 3.4648 9.99798 0 0 1 0.866 8 6 1 0 -228 0 1 0 33.5068 4.331 9.99798 0 0 1 0.866 8 6 1 0 -229 0 1 0 34.0069 3.4648 9.99798 0 0 1 0.866 8 6 1 0 -230 0 1 0 34.507 4.331 9.99798 0 0 1 0.866 8 6 1 0 -231 0 1 0 35.0071 3.4648 9.99798 0 0 1 0.866 8 6 1 0 -232 0 1 0 35.5072 4.331 9.99798 0 0 1 0.866 8 6 1 0 -233 0 1 0 36.0073 3.4648 9.99798 0 0 1 0.866 8 6 1 0 -234 0 1 0 36.5074 4.331 9.99798 0 0 1 0.866 8 6 1 0 -235 0 1 0 37.0075 3.4648 9.99798 0 0 1 0.866 8 6 1 0 -236 0 1 0 37.5076 4.331 9.99798 0 0 1 0.866 8 6 1 0 -237 0 1 0 38.0077 3.4648 9.99798 0 0 1 0.866 8 6 1 0 -238 0 1 0 38.5078 4.331 9.99798 0 0 1 0.866 8 6 1 0 -239 0 1 0 39.0079 3.4648 9.99798 0 0 1 0.866 8 6 1 0 -240 0 1 0 39.508 4.331 9.99798 0 0 1 0.866 8 6 1 0 -241 0 1 0 0 5.1972 9.99798 0 0 1 0.866 8 6 1 0 -242 0 1 0 0.500101 6.0634 9.99798 0 0 1 0.866 8 6 1 0 -243 0 1 0 1.0002 5.1972 9.99798 0 0 1 0.866 8 6 1 0 -244 0 1 0 1.5003 6.0634 9.99798 0 0 1 0.866 8 6 1 0 -245 0 1 0 2.0004 5.1972 9.99798 0 0 1 0.866 8 6 1 0 -246 0 1 0 2.50051 6.0634 9.99798 0 0 1 0.866 8 6 1 0 -247 0 1 0 3.00061 5.1972 9.99798 0 0 1 0.866 8 6 1 0 -248 0 1 0 3.50071 6.0634 9.99798 0 0 1 0.866 8 6 1 0 -249 0 1 0 4.00081 5.1972 9.99798 0 0 1 0.866 8 6 1 0 -250 0 1 0 4.50091 6.0634 9.99798 0 0 1 0.866 8 6 1 0 -251 0 1 0 5.00101 5.1972 9.99798 0 0 1 0.866 8 6 1 0 -252 0 1 0 5.50111 6.0634 9.99798 0 0 1 0.866 8 6 1 0 -253 0 1 0 6.00121 5.1972 9.99798 0 0 1 0.866 8 6 1 0 -254 0 1 0 6.50132 6.0634 9.99798 0 0 1 0.866 8 6 1 0 -255 0 1 0 7.00142 5.1972 9.99798 0 0 1 0.866 8 6 1 0 -256 0 1 0 7.50152 6.0634 9.99798 0 0 1 0.866 8 6 1 0 -257 0 1 0 8.00162 5.1972 9.99798 0 0 1 0.866 8 6 1 0 -258 0 1 0 8.50172 6.0634 9.99798 0 0 1 0.866 8 6 1 0 -259 0 1 0 9.00182 5.1972 9.99798 0 0 1 0.866 8 6 1 0 -260 0 1 0 9.50192 6.0634 9.99798 0 0 1 0.866 8 6 1 0 -261 0 1 0 10.002 5.1972 9.99798 0 0 1 0.866 8 6 1 0 -262 0 1 0 10.5021 6.0634 9.99798 0 0 1 0.866 8 6 1 0 -263 0 1 0 11.0022 5.1972 9.99798 0 0 1 0.866 8 6 1 0 -264 0 1 0 11.5023 6.0634 9.99798 0 0 1 0.866 8 6 1 0 -265 0 1 0 12.0024 5.1972 9.99798 0 0 1 0.866 8 6 1 0 -266 0 1 0 12.5025 6.0634 9.99798 0 0 1 0.866 8 6 1 0 -267 0 1 0 13.0026 5.1972 9.99798 0 0 1 0.866 8 6 1 0 -268 0 1 0 13.5027 6.0634 9.99798 0 0 1 0.866 8 6 1 0 -269 0 1 0 14.0028 5.1972 9.99798 0 0 1 0.866 8 6 1 0 -270 0 1 0 14.5029 6.0634 9.99798 0 0 1 0.866 8 6 1 0 -271 0 1 0 15.003 5.1972 9.99798 0 0 1 0.866 8 6 1 0 -272 0 1 0 15.5031 6.0634 9.99798 0 0 1 0.866 8 6 1 0 -273 0 1 0 16.0032 5.1972 9.99798 0 0 1 0.866 8 6 1 0 -274 0 1 0 16.5033 6.0634 9.99798 0 0 1 0.866 8 6 1 0 -275 0 1 0 17.0034 5.1972 9.99798 0 0 1 0.866 8 6 1 0 -276 0 1 0 17.5035 6.0634 9.99798 0 0 1 0.866 8 6 1 0 -277 0 1 0 18.0036 5.1972 9.99798 0 0 1 0.866 8 6 1 0 -278 0 1 0 18.5037 6.0634 9.99798 0 0 1 0.866 8 6 1 0 -279 0 1 0 19.0038 5.1972 9.99798 0 0 1 0.866 8 6 1 0 -280 0 1 0 19.5039 6.0634 9.99798 0 0 1 0.866 8 6 1 0 -281 0 1 0 20.004 5.1972 9.99798 0 0 1 0.866 8 6 1 0 -282 0 1 0 20.5041 6.0634 9.99798 0 0 1 0.866 8 6 1 0 -283 0 1 0 21.0042 5.1972 9.99798 0 0 1 0.866 8 6 1 0 -284 0 1 0 21.5043 6.0634 9.99798 0 0 1 0.866 8 6 1 0 -285 0 1 0 22.0045 5.1972 9.99798 0 0 1 0.866 8 6 1 0 -286 0 1 0 22.5046 6.0634 9.99798 0 0 1 0.866 8 6 1 0 -287 0 1 0 23.0047 5.1972 9.99798 0 0 1 0.866 8 6 1 0 -288 0 1 0 23.5048 6.0634 9.99798 0 0 1 0.866 8 6 1 0 -289 0 1 0 24.0049 5.1972 9.99798 0 0 1 0.866 8 6 1 0 -290 0 1 0 24.505 6.0634 9.99798 0 0 1 0.866 8 6 1 0 -291 0 1 0 25.0051 5.1972 9.99798 0 0 1 0.866 8 6 1 0 -292 0 1 0 25.5052 6.0634 9.99798 0 0 1 0.866 8 6 1 0 -293 0 1 0 26.0053 5.1972 9.99798 0 0 1 0.866 8 6 1 0 -294 0 1 0 26.5054 6.0634 9.99798 0 0 1 0.866 8 6 1 0 -295 0 1 0 27.0055 5.1972 9.99798 0 0 1 0.866 8 6 1 0 -296 0 1 0 27.5056 6.0634 9.99798 0 0 1 0.866 8 6 1 0 -297 0 1 0 28.0057 5.1972 9.99798 0 0 1 0.866 8 6 1 0 -298 0 1 0 28.5058 6.0634 9.99798 0 0 1 0.866 8 6 1 0 -299 0 1 0 29.0059 5.1972 9.99798 0 0 1 0.866 8 6 1 0 -300 0 1 0 29.506 6.0634 9.99798 0 0 1 0.866 8 6 1 0 -301 0 1 0 30.0061 5.1972 9.99798 0 0 1 0.866 8 6 1 0 -302 0 1 0 30.5062 6.0634 9.99798 0 0 1 0.866 8 6 1 0 -303 0 1 0 31.0063 5.1972 9.99798 0 0 1 0.866 8 6 1 0 -304 0 1 0 31.5064 6.0634 9.99798 0 0 1 0.866 8 6 1 0 -305 0 1 0 32.0065 5.1972 9.99798 0 0 1 0.866 8 6 1 0 -306 0 1 0 32.5066 6.0634 9.99798 0 0 1 0.866 8 6 1 0 -307 0 1 0 33.0067 5.1972 9.99798 0 0 1 0.866 8 6 1 0 -308 0 1 0 33.5068 6.0634 9.99798 0 0 1 0.866 8 6 1 0 -309 0 1 0 34.0069 5.1972 9.99798 0 0 1 0.866 8 6 1 0 -310 0 1 0 34.507 6.0634 9.99798 0 0 1 0.866 8 6 1 0 -311 0 1 0 35.0071 5.1972 9.99798 0 0 1 0.866 8 6 1 0 -312 0 1 0 35.5072 6.0634 9.99798 0 0 1 0.866 8 6 1 0 -313 0 1 0 36.0073 5.1972 9.99798 0 0 1 0.866 8 6 1 0 -314 0 1 0 36.5074 6.0634 9.99798 0 0 1 0.866 8 6 1 0 -315 0 1 0 37.0075 5.1972 9.99798 0 0 1 0.866 8 6 1 0 -316 0 1 0 37.5076 6.0634 9.99798 0 0 1 0.866 8 6 1 0 -317 0 1 0 38.0077 5.1972 9.99798 0 0 1 0.866 8 6 1 0 -318 0 1 0 38.5078 6.0634 9.99798 0 0 1 0.866 8 6 1 0 -319 0 1 0 39.0079 5.1972 9.99798 0 0 1 0.866 8 6 1 0 -320 0 1 0 39.508 6.0634 9.99798 0 0 1 0.866 8 6 1 0 -321 0 1 0 0 6.9296 9.99798 0 0 1 0.866 8 6 1 0 -322 0 1 0 0.500101 7.79581 9.99798 0 0 1 0.866 8 6 1 0 -323 0 1 0 1.0002 6.9296 9.99798 0 0 1 0.866 8 6 1 0 -324 0 1 0 1.5003 7.79581 9.99798 0 0 1 0.866 8 6 1 0 -325 0 1 0 2.0004 6.9296 9.99798 0 0 1 0.866 8 6 1 0 -326 0 1 0 2.50051 7.79581 9.99798 0 0 1 0.866 8 6 1 0 -327 0 1 0 3.00061 6.9296 9.99798 0 0 1 0.866 8 6 1 0 -328 0 1 0 3.50071 7.79581 9.99798 0 0 1 0.866 8 6 1 0 -329 0 1 0 4.00081 6.9296 9.99798 0 0 1 0.866 8 6 1 0 -330 0 1 0 4.50091 7.79581 9.99798 0 0 1 0.866 8 6 1 0 -331 0 1 0 5.00101 6.9296 9.99798 0 0 1 0.866 8 6 1 0 -332 0 1 0 5.50111 7.79581 9.99798 0 0 1 0.866 8 6 1 0 -333 0 1 0 6.00121 6.9296 9.99798 0 0 1 0.866 8 6 1 0 -334 0 1 0 6.50132 7.79581 9.99798 0 0 1 0.866 8 6 1 0 -335 0 1 0 7.00142 6.9296 9.99798 0 0 1 0.866 8 6 1 0 -336 0 1 0 7.50152 7.79581 9.99798 0 0 1 0.866 8 6 1 0 -337 0 1 0 8.00162 6.9296 9.99798 0 0 1 0.866 8 6 1 0 -338 0 1 0 8.50172 7.79581 9.99798 0 0 1 0.866 8 6 1 0 -339 0 1 0 9.00182 6.9296 9.99798 0 0 1 0.866 8 6 1 0 -340 0 1 0 9.50192 7.79581 9.99798 0 0 1 0.866 8 6 1 0 -341 0 1 0 10.002 6.9296 9.99798 0 0 1 0.866 8 6 1 0 -342 0 1 0 10.5021 7.79581 9.99798 0 0 1 0.866 8 6 1 0 -343 0 1 0 11.0022 6.9296 9.99798 0 0 1 0.866 8 6 1 0 -344 0 1 0 11.5023 7.79581 9.99798 0 0 1 0.866 8 6 1 0 -345 0 1 0 12.0024 6.9296 9.99798 0 0 1 0.866 8 6 1 0 -346 0 1 0 12.5025 7.79581 9.99798 0 0 1 0.866 8 6 1 0 -347 0 1 0 13.0026 6.9296 9.99798 0 0 1 0.866 8 6 1 0 -348 0 1 0 13.5027 7.79581 9.99798 0 0 1 0.866 8 6 1 0 -349 0 1 0 14.0028 6.9296 9.99798 0 0 1 0.866 8 6 1 0 -350 0 1 0 14.5029 7.79581 9.99798 0 0 1 0.866 8 6 1 0 -351 0 1 0 15.003 6.9296 9.99798 0 0 1 0.866 8 6 1 0 -352 0 1 0 15.5031 7.79581 9.99798 0 0 1 0.866 8 6 1 0 -353 0 1 0 16.0032 6.9296 9.99798 0 0 1 0.866 8 6 1 0 -354 0 1 0 16.5033 7.79581 9.99798 0 0 1 0.866 8 6 1 0 -355 0 1 0 17.0034 6.9296 9.99798 0 0 1 0.866 8 6 1 0 -356 0 1 0 17.5035 7.79581 9.99798 0 0 1 0.866 8 6 1 0 -357 0 1 0 18.0036 6.9296 9.99798 0 0 1 0.866 8 6 1 0 -358 0 1 0 18.5037 7.79581 9.99798 0 0 1 0.866 8 6 1 0 -359 0 1 0 19.0038 6.9296 9.99798 0 0 1 0.866 8 6 1 0 -360 0 1 0 19.5039 7.79581 9.99798 0 0 1 0.866 8 6 1 0 -361 0 1 0 20.004 6.9296 9.99798 0 0 1 0.866 8 6 1 0 -362 0 1 0 20.5041 7.79581 9.99798 0 0 1 0.866 8 6 1 0 -363 0 1 0 21.0042 6.9296 9.99798 0 0 1 0.866 8 6 1 0 -364 0 1 0 21.5043 7.79581 9.99798 0 0 1 0.866 8 6 1 0 -365 0 1 0 22.0045 6.9296 9.99798 0 0 1 0.866 8 6 1 0 -366 0 1 0 22.5046 7.79581 9.99798 0 0 1 0.866 8 6 1 0 -367 0 1 0 23.0047 6.9296 9.99798 0 0 1 0.866 8 6 1 0 -368 0 1 0 23.5048 7.79581 9.99798 0 0 1 0.866 8 6 1 0 -369 0 1 0 24.0049 6.9296 9.99798 0 0 1 0.866 8 6 1 0 -370 0 1 0 24.505 7.79581 9.99798 0 0 1 0.866 8 6 1 0 -371 0 1 0 25.0051 6.9296 9.99798 0 0 1 0.866 8 6 1 0 -372 0 1 0 25.5052 7.79581 9.99798 0 0 1 0.866 8 6 1 0 -373 0 1 0 26.0053 6.9296 9.99798 0 0 1 0.866 8 6 1 0 -374 0 1 0 26.5054 7.79581 9.99798 0 0 1 0.866 8 6 1 0 -375 0 1 0 27.0055 6.9296 9.99798 0 0 1 0.866 8 6 1 0 -376 0 1 0 27.5056 7.79581 9.99798 0 0 1 0.866 8 6 1 0 -377 0 1 0 28.0057 6.9296 9.99798 0 0 1 0.866 8 6 1 0 -378 0 1 0 28.5058 7.79581 9.99798 0 0 1 0.866 8 6 1 0 -379 0 1 0 29.0059 6.9296 9.99798 0 0 1 0.866 8 6 1 0 -380 0 1 0 29.506 7.79581 9.99798 0 0 1 0.866 8 6 1 0 -381 0 1 0 30.0061 6.9296 9.99798 0 0 1 0.866 8 6 1 0 -382 0 1 0 30.5062 7.79581 9.99798 0 0 1 0.866 8 6 1 0 -383 0 1 0 31.0063 6.9296 9.99798 0 0 1 0.866 8 6 1 0 -384 0 1 0 31.5064 7.79581 9.99798 0 0 1 0.866 8 6 1 0 -385 0 1 0 32.0065 6.9296 9.99798 0 0 1 0.866 8 6 1 0 -386 0 1 0 32.5066 7.79581 9.99798 0 0 1 0.866 8 6 1 0 -387 0 1 0 33.0067 6.9296 9.99798 0 0 1 0.866 8 6 1 0 -388 0 1 0 33.5068 7.79581 9.99798 0 0 1 0.866 8 6 1 0 -389 0 1 0 34.0069 6.9296 9.99798 0 0 1 0.866 8 6 1 0 -390 0 1 0 34.507 7.79581 9.99798 0 0 1 0.866 8 6 1 0 -391 0 1 0 35.0071 6.9296 9.99798 0 0 1 0.866 8 6 1 0 -392 0 1 0 35.5072 7.79581 9.99798 0 0 1 0.866 8 6 1 0 -393 0 1 0 36.0073 6.9296 9.99798 0 0 1 0.866 8 6 1 0 -394 0 1 0 36.5074 7.79581 9.99798 0 0 1 0.866 8 6 1 0 -395 0 1 0 37.0075 6.9296 9.99798 0 0 1 0.866 8 6 1 0 -396 0 1 0 37.5076 7.79581 9.99798 0 0 1 0.866 8 6 1 0 -397 0 1 0 38.0077 6.9296 9.99798 0 0 1 0.866 8 6 1 0 -398 0 1 0 38.5078 7.79581 9.99798 0 0 1 0.866 8 6 1 0 -399 0 1 0 39.0079 6.9296 9.99798 0 0 1 0.866 8 6 1 0 -400 0 1 0 39.508 7.79581 9.99798 0 0 1 0.866 8 6 1 0 -401 0 1 0 0 8.66201 9.99798 0 0 1 0.866 8 6 1 0 -402 0 1 0 0.500101 9.52821 9.99798 0 0 1 0.866 8 6 1 0 -403 0 1 0 1.0002 8.66201 9.99798 0 0 1 0.866 8 6 1 0 -404 0 1 0 1.5003 9.52821 9.99798 0 0 1 0.866 8 6 1 0 -405 0 1 0 2.0004 8.66201 9.99798 0 0 1 0.866 8 6 1 0 -406 0 1 0 2.50051 9.52821 9.99798 0 0 1 0.866 8 6 1 0 -407 0 1 0 3.00061 8.66201 9.99798 0 0 1 0.866 8 6 1 0 -408 0 1 0 3.50071 9.52821 9.99798 0 0 1 0.866 8 6 1 0 -409 0 1 0 4.00081 8.66201 9.99798 0 0 1 0.866 8 6 1 0 -410 0 1 0 4.50091 9.52821 9.99798 0 0 1 0.866 8 6 1 0 -411 0 1 0 5.00101 8.66201 9.99798 0 0 1 0.866 8 6 1 0 -412 0 1 0 5.50111 9.52821 9.99798 0 0 1 0.866 8 6 1 0 -413 0 1 0 6.00121 8.66201 9.99798 0 0 1 0.866 8 6 1 0 -414 0 1 0 6.50132 9.52821 9.99798 0 0 1 0.866 8 6 1 0 -415 0 1 0 7.00142 8.66201 9.99798 0 0 1 0.866 8 6 1 0 -416 0 1 0 7.50152 9.52821 9.99798 0 0 1 0.866 8 6 1 0 -417 0 1 0 8.00162 8.66201 9.99798 0 0 1 0.866 8 6 1 0 -418 0 1 0 8.50172 9.52821 9.99798 0 0 1 0.866 8 6 1 0 -419 0 1 0 9.00182 8.66201 9.99798 0 0 1 0.866 8 6 1 0 -420 0 1 0 9.50192 9.52821 9.99798 0 0 1 0.866 8 6 1 0 -421 0 1 0 10.002 8.66201 9.99798 0 0 1 0.866 8 6 1 0 -422 0 1 0 10.5021 9.52821 9.99798 0 0 1 0.866 8 6 1 0 -423 0 1 0 11.0022 8.66201 9.99798 0 0 1 0.866 8 6 1 0 -424 0 1 0 11.5023 9.52821 9.99798 0 0 1 0.866 8 6 1 0 -425 0 1 0 12.0024 8.66201 9.99798 0 0 1 0.866 8 6 1 0 -426 0 1 0 12.5025 9.52821 9.99798 0 0 1 0.866 8 6 1 0 -427 0 1 0 13.0026 8.66201 9.99798 0 0 1 0.866 8 6 1 0 -428 0 1 0 13.5027 9.52821 9.99798 0 0 1 0.866 8 6 1 0 -429 0 1 0 14.0028 8.66201 9.99798 0 0 1 0.866 8 6 1 0 -430 0 1 0 14.5029 9.52821 9.99798 0 0 1 0.866 8 6 1 0 -431 0 1 0 15.003 8.66201 9.99798 0 0 1 0.866 8 6 1 0 -432 0 1 0 15.5031 9.52821 9.99798 0 0 1 0.866 8 6 1 0 -433 0 1 0 16.0032 8.66201 9.99798 0 0 1 0.866 8 6 1 0 -434 0 1 0 16.5033 9.52821 9.99798 0 0 1 0.866 8 6 1 0 -435 0 1 0 17.0034 8.66201 9.99798 0 0 1 0.866 8 6 1 0 -436 0 1 0 17.5035 9.52821 9.99798 0 0 1 0.866 8 6 1 0 -437 0 1 0 18.0036 8.66201 9.99798 0 0 1 0.866 8 6 1 0 -438 0 1 0 18.5037 9.52821 9.99798 0 0 1 0.866 8 6 1 0 -439 0 1 0 19.0038 8.66201 9.99798 0 0 1 0.866 8 6 1 0 -440 0 1 0 19.5039 9.52821 9.99798 0 0 1 0.866 8 6 1 0 -441 0 1 0 20.004 8.66201 9.99798 0 0 1 0.866 8 6 1 0 -442 0 1 0 20.5041 9.52821 9.99798 0 0 1 0.866 8 6 1 0 -443 0 1 0 21.0042 8.66201 9.99798 0 0 1 0.866 8 6 1 0 -444 0 1 0 21.5043 9.52821 9.99798 0 0 1 0.866 8 6 1 0 -445 0 1 0 22.0045 8.66201 9.99798 0 0 1 0.866 8 6 1 0 -446 0 1 0 22.5046 9.52821 9.99798 0 0 1 0.866 8 6 1 0 -447 0 1 0 23.0047 8.66201 9.99798 0 0 1 0.866 8 6 1 0 -448 0 1 0 23.5048 9.52821 9.99798 0 0 1 0.866 8 6 1 0 -449 0 1 0 24.0049 8.66201 9.99798 0 0 1 0.866 8 6 1 0 -450 0 1 0 24.505 9.52821 9.99798 0 0 1 0.866 8 6 1 0 -451 0 1 0 25.0051 8.66201 9.99798 0 0 1 0.866 8 6 1 0 -452 0 1 0 25.5052 9.52821 9.99798 0 0 1 0.866 8 6 1 0 -453 0 1 0 26.0053 8.66201 9.99798 0 0 1 0.866 8 6 1 0 -454 0 1 0 26.5054 9.52821 9.99798 0 0 1 0.866 8 6 1 0 -455 0 1 0 27.0055 8.66201 9.99798 0 0 1 0.866 8 6 1 0 -456 0 1 0 27.5056 9.52821 9.99798 0 0 1 0.866 8 6 1 0 -457 0 1 0 28.0057 8.66201 9.99798 0 0 1 0.866 8 6 1 0 -458 0 1 0 28.5058 9.52821 9.99798 0 0 1 0.866 8 6 1 0 -459 0 1 0 29.0059 8.66201 9.99798 0 0 1 0.866 8 6 1 0 -460 0 1 0 29.506 9.52821 9.99798 0 0 1 0.866 8 6 1 0 -461 0 1 0 30.0061 8.66201 9.99798 0 0 1 0.866 8 6 1 0 -462 0 1 0 30.5062 9.52821 9.99798 0 0 1 0.866 8 6 1 0 -463 0 1 0 31.0063 8.66201 9.99798 0 0 1 0.866 8 6 1 0 -464 0 1 0 31.5064 9.52821 9.99798 0 0 1 0.866 8 6 1 0 -465 0 1 0 32.0065 8.66201 9.99798 0 0 1 0.866 8 6 1 0 -466 0 1 0 32.5066 9.52821 9.99798 0 0 1 0.866 8 6 1 0 -467 0 1 0 33.0067 8.66201 9.99798 0 0 1 0.866 8 6 1 0 -468 0 1 0 33.5068 9.52821 9.99798 0 0 1 0.866 8 6 1 0 -469 0 1 0 34.0069 8.66201 9.99798 0 0 1 0.866 8 6 1 0 -470 0 1 0 34.507 9.52821 9.99798 0 0 1 0.866 8 6 1 0 -471 0 1 0 35.0071 8.66201 9.99798 0 0 1 0.866 8 6 1 0 -472 0 1 0 35.5072 9.52821 9.99798 0 0 1 0.866 8 6 1 0 -473 0 1 0 36.0073 8.66201 9.99798 0 0 1 0.866 8 6 1 0 -474 0 1 0 36.5074 9.52821 9.99798 0 0 1 0.866 8 6 1 0 -475 0 1 0 37.0075 8.66201 9.99798 0 0 1 0.866 8 6 1 0 -476 0 1 0 37.5076 9.52821 9.99798 0 0 1 0.866 8 6 1 0 -477 0 1 0 38.0077 8.66201 9.99798 0 0 1 0.866 8 6 1 0 -478 0 1 0 38.5078 9.52821 9.99798 0 0 1 0.866 8 6 1 0 -479 0 1 0 39.0079 8.66201 9.99798 0 0 1 0.866 8 6 1 0 -480 0 1 0 39.508 9.52821 9.99798 0 0 1 0.866 8 6 1 0 -481 0 1 0 0 10.3944 9.99798 0 0 1 0.866 8 6 1 0 -482 0 1 0 0.500101 11.2606 9.99798 0 0 1 0.866 8 6 1 0 -483 0 1 0 1.0002 10.3944 9.99798 0 0 1 0.866 8 6 1 0 -484 0 1 0 1.5003 11.2606 9.99798 0 0 1 0.866 8 6 1 0 -485 0 1 0 2.0004 10.3944 9.99798 0 0 1 0.866 8 6 1 0 -486 0 1 0 2.50051 11.2606 9.99798 0 0 1 0.866 8 6 1 0 -487 0 1 0 3.00061 10.3944 9.99798 0 0 1 0.866 8 6 1 0 -488 0 1 0 3.50071 11.2606 9.99798 0 0 1 0.866 8 6 1 0 -489 0 1 0 4.00081 10.3944 9.99798 0 0 1 0.866 8 6 1 0 -490 0 1 0 4.50091 11.2606 9.99798 0 0 1 0.866 8 6 1 0 -491 0 1 0 5.00101 10.3944 9.99798 0 0 1 0.866 8 6 1 0 -492 0 1 0 5.50111 11.2606 9.99798 0 0 1 0.866 8 6 1 0 -493 0 1 0 6.00121 10.3944 9.99798 0 0 1 0.866 8 6 1 0 -494 0 1 0 6.50132 11.2606 9.99798 0 0 1 0.866 8 6 1 0 -495 0 1 0 7.00142 10.3944 9.99798 0 0 1 0.866 8 6 1 0 -496 0 1 0 7.50152 11.2606 9.99798 0 0 1 0.866 8 6 1 0 -497 0 1 0 8.00162 10.3944 9.99798 0 0 1 0.866 8 6 1 0 -498 0 1 0 8.50172 11.2606 9.99798 0 0 1 0.866 8 6 1 0 -499 0 1 0 9.00182 10.3944 9.99798 0 0 1 0.866 8 6 1 0 -500 0 1 0 9.50192 11.2606 9.99798 0 0 1 0.866 8 6 1 0 -501 0 1 0 10.002 10.3944 9.99798 0 0 1 0.866 8 6 1 0 -502 0 1 0 10.5021 11.2606 9.99798 0 0 1 0.866 8 6 1 0 -503 0 1 0 11.0022 10.3944 9.99798 0 0 1 0.866 8 6 1 0 -504 0 1 0 11.5023 11.2606 9.99798 0 0 1 0.866 8 6 1 0 -505 0 1 0 12.0024 10.3944 9.99798 0 0 1 0.866 8 6 1 0 -506 0 1 0 12.5025 11.2606 9.99798 0 0 1 0.866 8 6 1 0 -507 0 1 0 13.0026 10.3944 9.99798 0 0 1 0.866 8 6 1 0 -508 0 1 0 13.5027 11.2606 9.99798 0 0 1 0.866 8 6 1 0 -509 0 1 0 14.0028 10.3944 9.99798 0 0 1 0.866 8 6 1 0 -510 0 1 0 14.5029 11.2606 9.99798 0 0 1 0.866 8 6 1 0 -511 0 1 0 15.003 10.3944 9.99798 0 0 1 0.866 8 6 1 0 -512 0 1 0 15.5031 11.2606 9.99798 0 0 1 0.866 8 6 1 0 -513 0 1 0 16.0032 10.3944 9.99798 0 0 1 0.866 8 6 1 0 -514 0 1 0 16.5033 11.2606 9.99798 0 0 1 0.866 8 6 1 0 -515 0 1 0 17.0034 10.3944 9.99798 0 0 1 0.866 8 6 1 0 -516 0 1 0 17.5035 11.2606 9.99798 0 0 1 0.866 8 6 1 0 -517 0 1 0 18.0036 10.3944 9.99798 0 0 1 0.866 8 6 1 0 -518 0 1 0 18.5037 11.2606 9.99798 0 0 1 0.866 8 6 1 0 -519 0 1 0 19.0038 10.3944 9.99798 0 0 1 0.866 8 6 1 0 -520 0 1 0 19.5039 11.2606 9.99798 0 0 1 0.866 8 6 1 0 -521 0 1 0 20.004 10.3944 9.99798 0 0 1 0.866 8 6 1 0 -522 0 1 0 20.5041 11.2606 9.99798 0 0 1 0.866 8 6 1 0 -523 0 1 0 21.0042 10.3944 9.99798 0 0 1 0.866 8 6 1 0 -524 0 1 0 21.5043 11.2606 9.99798 0 0 1 0.866 8 6 1 0 -525 0 1 0 22.0045 10.3944 9.99798 0 0 1 0.866 8 6 1 0 -526 0 1 0 22.5046 11.2606 9.99798 0 0 1 0.866 8 6 1 0 -527 0 1 0 23.0047 10.3944 9.99798 0 0 1 0.866 8 6 1 0 -528 0 1 0 23.5048 11.2606 9.99798 0 0 1 0.866 8 6 1 0 -529 0 1 0 24.0049 10.3944 9.99798 0 0 1 0.866 8 6 1 0 -530 0 1 0 24.505 11.2606 9.99798 0 0 1 0.866 8 6 1 0 -531 0 1 0 25.0051 10.3944 9.99798 0 0 1 0.866 8 6 1 0 -532 0 1 0 25.5052 11.2606 9.99798 0 0 1 0.866 8 6 1 0 -533 0 1 0 26.0053 10.3944 9.99798 0 0 1 0.866 8 6 1 0 -534 0 1 0 26.5054 11.2606 9.99798 0 0 1 0.866 8 6 1 0 -535 0 1 0 27.0055 10.3944 9.99798 0 0 1 0.866 8 6 1 0 -536 0 1 0 27.5056 11.2606 9.99798 0 0 1 0.866 8 6 1 0 -537 0 1 0 28.0057 10.3944 9.99798 0 0 1 0.866 8 6 1 0 -538 0 1 0 28.5058 11.2606 9.99798 0 0 1 0.866 8 6 1 0 -539 0 1 0 29.0059 10.3944 9.99798 0 0 1 0.866 8 6 1 0 -540 0 1 0 29.506 11.2606 9.99798 0 0 1 0.866 8 6 1 0 -541 0 1 0 30.0061 10.3944 9.99798 0 0 1 0.866 8 6 1 0 -542 0 1 0 30.5062 11.2606 9.99798 0 0 1 0.866 8 6 1 0 -543 0 1 0 31.0063 10.3944 9.99798 0 0 1 0.866 8 6 1 0 -544 0 1 0 31.5064 11.2606 9.99798 0 0 1 0.866 8 6 1 0 -545 0 1 0 32.0065 10.3944 9.99798 0 0 1 0.866 8 6 1 0 -546 0 1 0 32.5066 11.2606 9.99798 0 0 1 0.866 8 6 1 0 -547 0 1 0 33.0067 10.3944 9.99798 0 0 1 0.866 8 6 1 0 -548 0 1 0 33.5068 11.2606 9.99798 0 0 1 0.866 8 6 1 0 -549 0 1 0 34.0069 10.3944 9.99798 0 0 1 0.866 8 6 1 0 -550 0 1 0 34.507 11.2606 9.99798 0 0 1 0.866 8 6 1 0 -551 0 1 0 35.0071 10.3944 9.99798 0 0 1 0.866 8 6 1 0 -552 0 1 0 35.5072 11.2606 9.99798 0 0 1 0.866 8 6 1 0 -553 0 1 0 36.0073 10.3944 9.99798 0 0 1 0.866 8 6 1 0 -554 0 1 0 36.5074 11.2606 9.99798 0 0 1 0.866 8 6 1 0 -555 0 1 0 37.0075 10.3944 9.99798 0 0 1 0.866 8 6 1 0 -556 0 1 0 37.5076 11.2606 9.99798 0 0 1 0.866 8 6 1 0 -557 0 1 0 38.0077 10.3944 9.99798 0 0 1 0.866 8 6 1 0 -558 0 1 0 38.5078 11.2606 9.99798 0 0 1 0.866 8 6 1 0 -559 0 1 0 39.0079 10.3944 9.99798 0 0 1 0.866 8 6 1 0 -560 0 1 0 39.508 11.2606 9.99798 0 0 1 0.866 8 6 1 0 -561 0 1 0 0 12.1268 9.99798 0 0 1 0.866 8 6 1 0 -562 0 1 0 0.500101 12.993 9.99798 0 0 1 0.866 8 6 1 0 -563 0 1 0 1.0002 12.1268 9.99798 0 0 1 0.866 8 6 1 0 -564 0 1 0 1.5003 12.993 9.99798 0 0 1 0.866 8 6 1 0 -565 0 1 0 2.0004 12.1268 9.99798 0 0 1 0.866 8 6 1 0 -566 0 1 0 2.50051 12.993 9.99798 0 0 1 0.866 8 6 1 0 -567 0 1 0 3.00061 12.1268 9.99798 0 0 1 0.866 8 6 1 0 -568 0 1 0 3.50071 12.993 9.99798 0 0 1 0.866 8 6 1 0 -569 0 1 0 4.00081 12.1268 9.99798 0 0 1 0.866 8 6 1 0 -570 0 1 0 4.50091 12.993 9.99798 0 0 1 0.866 8 6 1 0 -571 0 1 0 5.00101 12.1268 9.99798 0 0 1 0.866 8 6 1 0 -572 0 1 0 5.50111 12.993 9.99798 0 0 1 0.866 8 6 1 0 -573 0 1 0 6.00121 12.1268 9.99798 0 0 1 0.866 8 6 1 0 -574 0 1 0 6.50132 12.993 9.99798 0 0 1 0.866 8 6 1 0 -575 0 1 0 7.00142 12.1268 9.99798 0 0 1 0.866 8 6 1 0 -576 0 1 0 7.50152 12.993 9.99798 0 0 1 0.866 8 6 1 0 -577 0 1 0 8.00162 12.1268 9.99798 0 0 1 0.866 8 6 1 0 -578 0 1 0 8.50172 12.993 9.99798 0 0 1 0.866 8 6 1 0 -579 0 1 0 9.00182 12.1268 9.99798 0 0 1 0.866 8 6 1 0 -580 0 1 0 9.50192 12.993 9.99798 0 0 1 0.866 8 6 1 0 -581 0 1 0 10.002 12.1268 9.99798 0 0 1 0.866 8 6 1 0 -582 0 1 0 10.5021 12.993 9.99798 0 0 1 0.866 8 6 1 0 -583 0 1 0 11.0022 12.1268 9.99798 0 0 1 0.866 8 6 1 0 -584 0 1 0 11.5023 12.993 9.99798 0 0 1 0.866 8 6 1 0 -585 0 1 0 12.0024 12.1268 9.99798 0 0 1 0.866 8 6 1 0 -586 0 1 0 12.5025 12.993 9.99798 0 0 1 0.866 8 6 1 0 -587 0 1 0 13.0026 12.1268 9.99798 0 0 1 0.866 8 6 1 0 -588 0 1 0 13.5027 12.993 9.99798 0 0 1 0.866 8 6 1 0 -589 0 1 0 14.0028 12.1268 9.99798 0 0 1 0.866 8 6 1 0 -590 0 1 0 14.5029 12.993 9.99798 0 0 1 0.866 8 6 1 0 -591 0 1 0 15.003 12.1268 9.99798 0 0 1 0.866 8 6 1 0 -592 0 1 0 15.5031 12.993 9.99798 0 0 1 0.866 8 6 1 0 -593 0 1 0 16.0032 12.1268 9.99798 0 0 1 0.866 8 6 1 0 -594 0 1 0 16.5033 12.993 9.99798 0 0 1 0.866 8 6 1 0 -595 0 1 0 17.0034 12.1268 9.99798 0 0 1 0.866 8 6 1 0 -596 0 1 0 17.5035 12.993 9.99798 0 0 1 0.866 8 6 1 0 -597 0 1 0 18.0036 12.1268 9.99798 0 0 1 0.866 8 6 1 0 -598 0 1 0 18.5037 12.993 9.99798 0 0 1 0.866 8 6 1 0 -599 0 1 0 19.0038 12.1268 9.99798 0 0 1 0.866 8 6 1 0 -600 0 1 0 19.5039 12.993 9.99798 0 0 1 0.866 8 6 1 0 -601 0 1 0 20.004 12.1268 9.99798 0 0 1 0.866 8 6 1 0 -602 0 1 0 20.5041 12.993 9.99798 0 0 1 0.866 8 6 1 0 -603 0 1 0 21.0042 12.1268 9.99798 0 0 1 0.866 8 6 1 0 -604 0 1 0 21.5043 12.993 9.99798 0 0 1 0.866 8 6 1 0 -605 0 1 0 22.0045 12.1268 9.99798 0 0 1 0.866 8 6 1 0 -606 0 1 0 22.5046 12.993 9.99798 0 0 1 0.866 8 6 1 0 -607 0 1 0 23.0047 12.1268 9.99798 0 0 1 0.866 8 6 1 0 -608 0 1 0 23.5048 12.993 9.99798 0 0 1 0.866 8 6 1 0 -609 0 1 0 24.0049 12.1268 9.99798 0 0 1 0.866 8 6 1 0 -610 0 1 0 24.505 12.993 9.99798 0 0 1 0.866 8 6 1 0 -611 0 1 0 25.0051 12.1268 9.99798 0 0 1 0.866 8 6 1 0 -612 0 1 0 25.5052 12.993 9.99798 0 0 1 0.866 8 6 1 0 -613 0 1 0 26.0053 12.1268 9.99798 0 0 1 0.866 8 6 1 0 -614 0 1 0 26.5054 12.993 9.99798 0 0 1 0.866 8 6 1 0 -615 0 1 0 27.0055 12.1268 9.99798 0 0 1 0.866 8 6 1 0 -616 0 1 0 27.5056 12.993 9.99798 0 0 1 0.866 8 6 1 0 -617 0 1 0 28.0057 12.1268 9.99798 0 0 1 0.866 8 6 1 0 -618 0 1 0 28.5058 12.993 9.99798 0 0 1 0.866 8 6 1 0 -619 0 1 0 29.0059 12.1268 9.99798 0 0 1 0.866 8 6 1 0 -620 0 1 0 29.506 12.993 9.99798 0 0 1 0.866 8 6 1 0 -621 0 1 0 30.0061 12.1268 9.99798 0 0 1 0.866 8 6 1 0 -622 0 1 0 30.5062 12.993 9.99798 0 0 1 0.866 8 6 1 0 -623 0 1 0 31.0063 12.1268 9.99798 0 0 1 0.866 8 6 1 0 -624 0 1 0 31.5064 12.993 9.99798 0 0 1 0.866 8 6 1 0 -625 0 1 0 32.0065 12.1268 9.99798 0 0 1 0.866 8 6 1 0 -626 0 1 0 32.5066 12.993 9.99798 0 0 1 0.866 8 6 1 0 -627 0 1 0 33.0067 12.1268 9.99798 0 0 1 0.866 8 6 1 0 -628 0 1 0 33.5068 12.993 9.99798 0 0 1 0.866 8 6 1 0 -629 0 1 0 34.0069 12.1268 9.99798 0 0 1 0.866 8 6 1 0 -630 0 1 0 34.507 12.993 9.99798 0 0 1 0.866 8 6 1 0 -631 0 1 0 35.0071 12.1268 9.99798 0 0 1 0.866 8 6 1 0 -632 0 1 0 35.5072 12.993 9.99798 0 0 1 0.866 8 6 1 0 -633 0 1 0 36.0073 12.1268 9.99798 0 0 1 0.866 8 6 1 0 -634 0 1 0 36.5074 12.993 9.99798 0 0 1 0.866 8 6 1 0 -635 0 1 0 37.0075 12.1268 9.99798 0 0 1 0.866 8 6 1 0 -636 0 1 0 37.5076 12.993 9.99798 0 0 1 0.866 8 6 1 0 -637 0 1 0 38.0077 12.1268 9.99798 0 0 1 0.866 8 6 1 0 -638 0 1 0 38.5078 12.993 9.99798 0 0 1 0.866 8 6 1 0 -639 0 1 0 39.0079 12.1268 9.99798 0 0 1 0.866 8 6 1 0 -640 0 1 0 39.508 12.993 9.99798 0 0 1 0.866 8 6 1 0 -641 0 1 0 0 13.8592 9.99798 0 0 1 0.866 8 6 1 0 -642 0 1 0 0.500101 14.7254 9.99798 0 0 1 0.866 8 6 1 0 -643 0 1 0 1.0002 13.8592 9.99798 0 0 1 0.866 8 6 1 0 -644 0 1 0 1.5003 14.7254 9.99798 0 0 1 0.866 8 6 1 0 -645 0 1 0 2.0004 13.8592 9.99798 0 0 1 0.866 8 6 1 0 -646 0 1 0 2.50051 14.7254 9.99798 0 0 1 0.866 8 6 1 0 -647 0 1 0 3.00061 13.8592 9.99798 0 0 1 0.866 8 6 1 0 -648 0 1 0 3.50071 14.7254 9.99798 0 0 1 0.866 8 6 1 0 -649 0 1 0 4.00081 13.8592 9.99798 0 0 1 0.866 8 6 1 0 -650 0 1 0 4.50091 14.7254 9.99798 0 0 1 0.866 8 6 1 0 -651 0 1 0 5.00101 13.8592 9.99798 0 0 1 0.866 8 6 1 0 -652 0 1 0 5.50111 14.7254 9.99798 0 0 1 0.866 8 6 1 0 -653 0 1 0 6.00121 13.8592 9.99798 0 0 1 0.866 8 6 1 0 -654 0 1 0 6.50132 14.7254 9.99798 0 0 1 0.866 8 6 1 0 -655 0 1 0 7.00142 13.8592 9.99798 0 0 1 0.866 8 6 1 0 -656 0 1 0 7.50152 14.7254 9.99798 0 0 1 0.866 8 6 1 0 -657 0 1 0 8.00162 13.8592 9.99798 0 0 1 0.866 8 6 1 0 -658 0 1 0 8.50172 14.7254 9.99798 0 0 1 0.866 8 6 1 0 -659 0 1 0 9.00182 13.8592 9.99798 0 0 1 0.866 8 6 1 0 -660 0 1 0 9.50192 14.7254 9.99798 0 0 1 0.866 8 6 1 0 -661 0 1 0 10.002 13.8592 9.99798 0 0 1 0.866 8 6 1 0 -662 0 1 0 10.5021 14.7254 9.99798 0 0 1 0.866 8 6 1 0 -663 0 1 0 11.0022 13.8592 9.99798 0 0 1 0.866 8 6 1 0 -664 0 1 0 11.5023 14.7254 9.99798 0 0 1 0.866 8 6 1 0 -665 0 1 0 12.0024 13.8592 9.99798 0 0 1 0.866 8 6 1 0 -666 0 1 0 12.5025 14.7254 9.99798 0 0 1 0.866 8 6 1 0 -667 0 1 0 13.0026 13.8592 9.99798 0 0 1 0.866 8 6 1 0 -668 0 1 0 13.5027 14.7254 9.99798 0 0 1 0.866 8 6 1 0 -669 0 1 0 14.0028 13.8592 9.99798 0 0 1 0.866 8 6 1 0 -670 0 1 0 14.5029 14.7254 9.99798 0 0 1 0.866 8 6 1 0 -671 0 1 0 15.003 13.8592 9.99798 0 0 1 0.866 8 6 1 0 -672 0 1 0 15.5031 14.7254 9.99798 0 0 1 0.866 8 6 1 0 -673 0 1 0 16.0032 13.8592 9.99798 0 0 1 0.866 8 6 1 0 -674 0 1 0 16.5033 14.7254 9.99798 0 0 1 0.866 8 6 1 0 -675 0 1 0 17.0034 13.8592 9.99798 0 0 1 0.866 8 6 1 0 -676 0 1 0 17.5035 14.7254 9.99798 0 0 1 0.866 8 6 1 0 -677 0 1 0 18.0036 13.8592 9.99798 0 0 1 0.866 8 6 1 0 -678 0 1 0 18.5037 14.7254 9.99798 0 0 1 0.866 8 6 1 0 -679 0 1 0 19.0038 13.8592 9.99798 0 0 1 0.866 8 6 1 0 -680 0 1 0 19.5039 14.7254 9.99798 0 0 1 0.866 8 6 1 0 -681 0 1 0 20.004 13.8592 9.99798 0 0 1 0.866 8 6 1 0 -682 0 1 0 20.5041 14.7254 9.99798 0 0 1 0.866 8 6 1 0 -683 0 1 0 21.0042 13.8592 9.99798 0 0 1 0.866 8 6 1 0 -684 0 1 0 21.5043 14.7254 9.99798 0 0 1 0.866 8 6 1 0 -685 0 1 0 22.0045 13.8592 9.99798 0 0 1 0.866 8 6 1 0 -686 0 1 0 22.5046 14.7254 9.99798 0 0 1 0.866 8 6 1 0 -687 0 1 0 23.0047 13.8592 9.99798 0 0 1 0.866 8 6 1 0 -688 0 1 0 23.5048 14.7254 9.99798 0 0 1 0.866 8 6 1 0 -689 0 1 0 24.0049 13.8592 9.99798 0 0 1 0.866 8 6 1 0 -690 0 1 0 24.505 14.7254 9.99798 0 0 1 0.866 8 6 1 0 -691 0 1 0 25.0051 13.8592 9.99798 0 0 1 0.866 8 6 1 0 -692 0 1 0 25.5052 14.7254 9.99798 0 0 1 0.866 8 6 1 0 -693 0 1 0 26.0053 13.8592 9.99798 0 0 1 0.866 8 6 1 0 -694 0 1 0 26.5054 14.7254 9.99798 0 0 1 0.866 8 6 1 0 -695 0 1 0 27.0055 13.8592 9.99798 0 0 1 0.866 8 6 1 0 -696 0 1 0 27.5056 14.7254 9.99798 0 0 1 0.866 8 6 1 0 -697 0 1 0 28.0057 13.8592 9.99798 0 0 1 0.866 8 6 1 0 -698 0 1 0 28.5058 14.7254 9.99798 0 0 1 0.866 8 6 1 0 -699 0 1 0 29.0059 13.8592 9.99798 0 0 1 0.866 8 6 1 0 -700 0 1 0 29.506 14.7254 9.99798 0 0 1 0.866 8 6 1 0 -701 0 1 0 30.0061 13.8592 9.99798 0 0 1 0.866 8 6 1 0 -702 0 1 0 30.5062 14.7254 9.99798 0 0 1 0.866 8 6 1 0 -703 0 1 0 31.0063 13.8592 9.99798 0 0 1 0.866 8 6 1 0 -704 0 1 0 31.5064 14.7254 9.99798 0 0 1 0.866 8 6 1 0 -705 0 1 0 32.0065 13.8592 9.99798 0 0 1 0.866 8 6 1 0 -706 0 1 0 32.5066 14.7254 9.99798 0 0 1 0.866 8 6 1 0 -707 0 1 0 33.0067 13.8592 9.99798 0 0 1 0.866 8 6 1 0 -708 0 1 0 33.5068 14.7254 9.99798 0 0 1 0.866 8 6 1 0 -709 0 1 0 34.0069 13.8592 9.99798 0 0 1 0.866 8 6 1 0 -710 0 1 0 34.507 14.7254 9.99798 0 0 1 0.866 8 6 1 0 -711 0 1 0 35.0071 13.8592 9.99798 0 0 1 0.866 8 6 1 0 -712 0 1 0 35.5072 14.7254 9.99798 0 0 1 0.866 8 6 1 0 -713 0 1 0 36.0073 13.8592 9.99798 0 0 1 0.866 8 6 1 0 -714 0 1 0 36.5074 14.7254 9.99798 0 0 1 0.866 8 6 1 0 -715 0 1 0 37.0075 13.8592 9.99798 0 0 1 0.866 8 6 1 0 -716 0 1 0 37.5076 14.7254 9.99798 0 0 1 0.866 8 6 1 0 -717 0 1 0 38.0077 13.8592 9.99798 0 0 1 0.866 8 6 1 0 -718 0 1 0 38.5078 14.7254 9.99798 0 0 1 0.866 8 6 1 0 -719 0 1 0 39.0079 13.8592 9.99798 0 0 1 0.866 8 6 1 0 -720 0 1 0 39.508 14.7254 9.99798 0 0 1 0.866 8 6 1 0 -721 0 1 0 0 15.5916 9.99798 0 0 1 0.866 8 6 1 0 -722 0 1 0 0.500101 16.4578 9.99798 0 0 1 0.866 8 6 1 0 -723 0 1 0 1.0002 15.5916 9.99798 0 0 1 0.866 8 6 1 0 -724 0 1 0 1.5003 16.4578 9.99798 0 0 1 0.866 8 6 1 0 -725 0 1 0 2.0004 15.5916 9.99798 0 0 1 0.866 8 6 1 0 -726 0 1 0 2.50051 16.4578 9.99798 0 0 1 0.866 8 6 1 0 -727 0 1 0 3.00061 15.5916 9.99798 0 0 1 0.866 8 6 1 0 -728 0 1 0 3.50071 16.4578 9.99798 0 0 1 0.866 8 6 1 0 -729 0 1 0 4.00081 15.5916 9.99798 0 0 1 0.866 8 6 1 0 -730 0 1 0 4.50091 16.4578 9.99798 0 0 1 0.866 8 6 1 0 -731 0 1 0 5.00101 15.5916 9.99798 0 0 1 0.866 8 6 1 0 -732 0 1 0 5.50111 16.4578 9.99798 0 0 1 0.866 8 6 1 0 -733 0 1 0 6.00121 15.5916 9.99798 0 0 1 0.866 8 6 1 0 -734 0 1 0 6.50132 16.4578 9.99798 0 0 1 0.866 8 6 1 0 -735 0 1 0 7.00142 15.5916 9.99798 0 0 1 0.866 8 6 1 0 -736 0 1 0 7.50152 16.4578 9.99798 0 0 1 0.866 8 6 1 0 -737 0 1 0 8.00162 15.5916 9.99798 0 0 1 0.866 8 6 1 0 -738 0 1 0 8.50172 16.4578 9.99798 0 0 1 0.866 8 6 1 0 -739 0 1 0 9.00182 15.5916 9.99798 0 0 1 0.866 8 6 1 0 -740 0 1 0 9.50192 16.4578 9.99798 0 0 1 0.866 8 6 1 0 -741 0 1 0 10.002 15.5916 9.99798 0 0 1 0.866 8 6 1 0 -742 0 1 0 10.5021 16.4578 9.99798 0 0 1 0.866 8 6 1 0 -743 0 1 0 11.0022 15.5916 9.99798 0 0 1 0.866 8 6 1 0 -744 0 1 0 11.5023 16.4578 9.99798 0 0 1 0.866 8 6 1 0 -745 0 1 0 12.0024 15.5916 9.99798 0 0 1 0.866 8 6 1 0 -746 0 1 0 12.5025 16.4578 9.99798 0 0 1 0.866 8 6 1 0 -747 0 1 0 13.0026 15.5916 9.99798 0 0 1 0.866 8 6 1 0 -748 0 1 0 13.5027 16.4578 9.99798 0 0 1 0.866 8 6 1 0 -749 0 1 0 14.0028 15.5916 9.99798 0 0 1 0.866 8 6 1 0 -750 0 1 0 14.5029 16.4578 9.99798 0 0 1 0.866 8 6 1 0 -751 0 1 0 15.003 15.5916 9.99798 0 0 1 0.866 8 6 1 0 -752 0 1 0 15.5031 16.4578 9.99798 0 0 1 0.866 8 6 1 0 -753 0 1 0 16.0032 15.5916 9.99798 0 0 1 0.866 8 6 1 0 -754 0 1 0 16.5033 16.4578 9.99798 0 0 1 0.866 8 6 1 0 -755 0 1 0 17.0034 15.5916 9.99798 0 0 1 0.866 8 6 1 0 -756 0 1 0 17.5035 16.4578 9.99798 0 0 1 0.866 8 6 1 0 -757 0 1 0 18.0036 15.5916 9.99798 0 0 1 0.866 8 6 1 0 -758 0 1 0 18.5037 16.4578 9.99798 0 0 1 0.866 8 6 1 0 -759 0 1 0 19.0038 15.5916 9.99798 0 0 1 0.866 8 6 1 0 -760 0 1 0 19.5039 16.4578 9.99798 0 0 1 0.866 8 6 1 0 -761 0 1 0 20.004 15.5916 9.99798 0 0 1 0.866 8 6 1 0 -762 0 1 0 20.5041 16.4578 9.99798 0 0 1 0.866 8 6 1 0 -763 0 1 0 21.0042 15.5916 9.99798 0 0 1 0.866 8 6 1 0 -764 0 1 0 21.5043 16.4578 9.99798 0 0 1 0.866 8 6 1 0 -765 0 1 0 22.0045 15.5916 9.99798 0 0 1 0.866 8 6 1 0 -766 0 1 0 22.5046 16.4578 9.99798 0 0 1 0.866 8 6 1 0 -767 0 1 0 23.0047 15.5916 9.99798 0 0 1 0.866 8 6 1 0 -768 0 1 0 23.5048 16.4578 9.99798 0 0 1 0.866 8 6 1 0 -769 0 1 0 24.0049 15.5916 9.99798 0 0 1 0.866 8 6 1 0 -770 0 1 0 24.505 16.4578 9.99798 0 0 1 0.866 8 6 1 0 -771 0 1 0 25.0051 15.5916 9.99798 0 0 1 0.866 8 6 1 0 -772 0 1 0 25.5052 16.4578 9.99798 0 0 1 0.866 8 6 1 0 -773 0 1 0 26.0053 15.5916 9.99798 0 0 1 0.866 8 6 1 0 -774 0 1 0 26.5054 16.4578 9.99798 0 0 1 0.866 8 6 1 0 -775 0 1 0 27.0055 15.5916 9.99798 0 0 1 0.866 8 6 1 0 -776 0 1 0 27.5056 16.4578 9.99798 0 0 1 0.866 8 6 1 0 -777 0 1 0 28.0057 15.5916 9.99798 0 0 1 0.866 8 6 1 0 -778 0 1 0 28.5058 16.4578 9.99798 0 0 1 0.866 8 6 1 0 -779 0 1 0 29.0059 15.5916 9.99798 0 0 1 0.866 8 6 1 0 -780 0 1 0 29.506 16.4578 9.99798 0 0 1 0.866 8 6 1 0 -781 0 1 0 30.0061 15.5916 9.99798 0 0 1 0.866 8 6 1 0 -782 0 1 0 30.5062 16.4578 9.99798 0 0 1 0.866 8 6 1 0 -783 0 1 0 31.0063 15.5916 9.99798 0 0 1 0.866 8 6 1 0 -784 0 1 0 31.5064 16.4578 9.99798 0 0 1 0.866 8 6 1 0 -785 0 1 0 32.0065 15.5916 9.99798 0 0 1 0.866 8 6 1 0 -786 0 1 0 32.5066 16.4578 9.99798 0 0 1 0.866 8 6 1 0 -787 0 1 0 33.0067 15.5916 9.99798 0 0 1 0.866 8 6 1 0 -788 0 1 0 33.5068 16.4578 9.99798 0 0 1 0.866 8 6 1 0 -789 0 1 0 34.0069 15.5916 9.99798 0 0 1 0.866 8 6 1 0 -790 0 1 0 34.507 16.4578 9.99798 0 0 1 0.866 8 6 1 0 -791 0 1 0 35.0071 15.5916 9.99798 0 0 1 0.866 8 6 1 0 -792 0 1 0 35.5072 16.4578 9.99798 0 0 1 0.866 8 6 1 0 -793 0 1 0 36.0073 15.5916 9.99798 0 0 1 0.866 8 6 1 0 -794 0 1 0 36.5074 16.4578 9.99798 0 0 1 0.866 8 6 1 0 -795 0 1 0 37.0075 15.5916 9.99798 0 0 1 0.866 8 6 1 0 -796 0 1 0 37.5076 16.4578 9.99798 0 0 1 0.866 8 6 1 0 -797 0 1 0 38.0077 15.5916 9.99798 0 0 1 0.866 8 6 1 0 -798 0 1 0 38.5078 16.4578 9.99798 0 0 1 0.866 8 6 1 0 -799 0 1 0 39.0079 15.5916 9.99798 0 0 1 0.866 8 6 1 0 -800 0 1 0 39.508 16.4578 9.99798 0 0 1 0.866 8 6 1 0 -801 0 1 0 0 17.324 9.99798 0 0 1 0.866 8 6 1 0 -802 0 1 0 0.500101 18.1902 9.99798 0 0 1 0.866 8 6 1 0 -803 0 1 0 1.0002 17.324 9.99798 0 0 1 0.866 8 6 1 0 -804 0 1 0 1.5003 18.1902 9.99798 0 0 1 0.866 8 6 1 0 -805 0 1 0 2.0004 17.324 9.99798 0 0 1 0.866 8 6 1 0 -806 0 1 0 2.50051 18.1902 9.99798 0 0 1 0.866 8 6 1 0 -807 0 1 0 3.00061 17.324 9.99798 0 0 1 0.866 8 6 1 0 -808 0 1 0 3.50071 18.1902 9.99798 0 0 1 0.866 8 6 1 0 -809 0 1 0 4.00081 17.324 9.99798 0 0 1 0.866 8 6 1 0 -810 0 1 0 4.50091 18.1902 9.99798 0 0 1 0.866 8 6 1 0 -811 0 1 0 5.00101 17.324 9.99798 0 0 1 0.866 8 6 1 0 -812 0 1 0 5.50111 18.1902 9.99798 0 0 1 0.866 8 6 1 0 -813 0 1 0 6.00121 17.324 9.99798 0 0 1 0.866 8 6 1 0 -814 0 1 0 6.50132 18.1902 9.99798 0 0 1 0.866 8 6 1 0 -815 0 1 0 7.00142 17.324 9.99798 0 0 1 0.866 8 6 1 0 -816 0 1 0 7.50152 18.1902 9.99798 0 0 1 0.866 8 6 1 0 -817 0 1 0 8.00162 17.324 9.99798 0 0 1 0.866 8 6 1 0 -818 0 1 0 8.50172 18.1902 9.99798 0 0 1 0.866 8 6 1 0 -819 0 1 0 9.00182 17.324 9.99798 0 0 1 0.866 8 6 1 0 -820 0 1 0 9.50192 18.1902 9.99798 0 0 1 0.866 8 6 1 0 -821 0 1 0 10.002 17.324 9.99798 0 0 1 0.866 8 6 1 0 -822 0 1 0 10.5021 18.1902 9.99798 0 0 1 0.866 8 6 1 0 -823 0 1 0 11.0022 17.324 9.99798 0 0 1 0.866 8 6 1 0 -824 0 1 0 11.5023 18.1902 9.99798 0 0 1 0.866 8 6 1 0 -825 0 1 0 12.0024 17.324 9.99798 0 0 1 0.866 8 6 1 0 -826 0 1 0 12.5025 18.1902 9.99798 0 0 1 0.866 8 6 1 0 -827 0 1 0 13.0026 17.324 9.99798 0 0 1 0.866 8 6 1 0 -828 0 1 0 13.5027 18.1902 9.99798 0 0 1 0.866 8 6 1 0 -829 0 1 0 14.0028 17.324 9.99798 0 0 1 0.866 8 6 1 0 -830 0 1 0 14.5029 18.1902 9.99798 0 0 1 0.866 8 6 1 0 -831 0 1 0 15.003 17.324 9.99798 0 0 1 0.866 8 6 1 0 -832 0 1 0 15.5031 18.1902 9.99798 0 0 1 0.866 8 6 1 0 -833 0 1 0 16.0032 17.324 9.99798 0 0 1 0.866 8 6 1 0 -834 0 1 0 16.5033 18.1902 9.99798 0 0 1 0.866 8 6 1 0 -835 0 1 0 17.0034 17.324 9.99798 0 0 1 0.866 8 6 1 0 -836 0 1 0 17.5035 18.1902 9.99798 0 0 1 0.866 8 6 1 0 -837 0 1 0 18.0036 17.324 9.99798 0 0 1 0.866 8 6 1 0 -838 0 1 0 18.5037 18.1902 9.99798 0 0 1 0.866 8 6 1 0 -839 0 1 0 19.0038 17.324 9.99798 0 0 1 0.866 8 6 1 0 -840 0 1 0 19.5039 18.1902 9.99798 0 0 1 0.866 8 6 1 0 -841 0 1 0 20.004 17.324 9.99798 0 0 1 0.866 8 6 1 0 -842 0 1 0 20.5041 18.1902 9.99798 0 0 1 0.866 8 6 1 0 -843 0 1 0 21.0042 17.324 9.99798 0 0 1 0.866 8 6 1 0 -844 0 1 0 21.5043 18.1902 9.99798 0 0 1 0.866 8 6 1 0 -845 0 1 0 22.0045 17.324 9.99798 0 0 1 0.866 8 6 1 0 -846 0 1 0 22.5046 18.1902 9.99798 0 0 1 0.866 8 6 1 0 -847 0 1 0 23.0047 17.324 9.99798 0 0 1 0.866 8 6 1 0 -848 0 1 0 23.5048 18.1902 9.99798 0 0 1 0.866 8 6 1 0 -849 0 1 0 24.0049 17.324 9.99798 0 0 1 0.866 8 6 1 0 -850 0 1 0 24.505 18.1902 9.99798 0 0 1 0.866 8 6 1 0 -851 0 1 0 25.0051 17.324 9.99798 0 0 1 0.866 8 6 1 0 -852 0 1 0 25.5052 18.1902 9.99798 0 0 1 0.866 8 6 1 0 -853 0 1 0 26.0053 17.324 9.99798 0 0 1 0.866 8 6 1 0 -854 0 1 0 26.5054 18.1902 9.99798 0 0 1 0.866 8 6 1 0 -855 0 1 0 27.0055 17.324 9.99798 0 0 1 0.866 8 6 1 0 -856 0 1 0 27.5056 18.1902 9.99798 0 0 1 0.866 8 6 1 0 -857 0 1 0 28.0057 17.324 9.99798 0 0 1 0.866 8 6 1 0 -858 0 1 0 28.5058 18.1902 9.99798 0 0 1 0.866 8 6 1 0 -859 0 1 0 29.0059 17.324 9.99798 0 0 1 0.866 8 6 1 0 -860 0 1 0 29.506 18.1902 9.99798 0 0 1 0.866 8 6 1 0 -861 0 1 0 30.0061 17.324 9.99798 0 0 1 0.866 8 6 1 0 -862 0 1 0 30.5062 18.1902 9.99798 0 0 1 0.866 8 6 1 0 -863 0 1 0 31.0063 17.324 9.99798 0 0 1 0.866 8 6 1 0 -864 0 1 0 31.5064 18.1902 9.99798 0 0 1 0.866 8 6 1 0 -865 0 1 0 32.0065 17.324 9.99798 0 0 1 0.866 8 6 1 0 -866 0 1 0 32.5066 18.1902 9.99798 0 0 1 0.866 8 6 1 0 -867 0 1 0 33.0067 17.324 9.99798 0 0 1 0.866 8 6 1 0 -868 0 1 0 33.5068 18.1902 9.99798 0 0 1 0.866 8 6 1 0 -869 0 1 0 34.0069 17.324 9.99798 0 0 1 0.866 8 6 1 0 -870 0 1 0 34.507 18.1902 9.99798 0 0 1 0.866 8 6 1 0 -871 0 1 0 35.0071 17.324 9.99798 0 0 1 0.866 8 6 1 0 -872 0 1 0 35.5072 18.1902 9.99798 0 0 1 0.866 8 6 1 0 -873 0 1 0 36.0073 17.324 9.99798 0 0 1 0.866 8 6 1 0 -874 0 1 0 36.5074 18.1902 9.99798 0 0 1 0.866 8 6 1 0 -875 0 1 0 37.0075 17.324 9.99798 0 0 1 0.866 8 6 1 0 -876 0 1 0 37.5076 18.1902 9.99798 0 0 1 0.866 8 6 1 0 -877 0 1 0 38.0077 17.324 9.99798 0 0 1 0.866 8 6 1 0 -878 0 1 0 38.5078 18.1902 9.99798 0 0 1 0.866 8 6 1 0 -879 0 1 0 39.0079 17.324 9.99798 0 0 1 0.866 8 6 1 0 -880 0 1 0 39.508 18.1902 9.99798 0 0 1 0.866 8 6 1 0 -881 0 1 0 0 19.0564 9.99798 0 0 1 0.866 8 6 1 0 -882 0 1 0 0.500101 19.9226 9.99798 0 0 1 0.866 8 6 1 0 -883 0 1 0 1.0002 19.0564 9.99798 0 0 1 0.866 8 6 1 0 -884 0 1 0 1.5003 19.9226 9.99798 0 0 1 0.866 8 6 1 0 -885 0 1 0 2.0004 19.0564 9.99798 0 0 1 0.866 8 6 1 0 -886 0 1 0 2.50051 19.9226 9.99798 0 0 1 0.866 8 6 1 0 -887 0 1 0 3.00061 19.0564 9.99798 0 0 1 0.866 8 6 1 0 -888 0 1 0 3.50071 19.9226 9.99798 0 0 1 0.866 8 6 1 0 -889 0 1 0 4.00081 19.0564 9.99798 0 0 1 0.866 8 6 1 0 -890 0 1 0 4.50091 19.9226 9.99798 0 0 1 0.866 8 6 1 0 -891 0 1 0 5.00101 19.0564 9.99798 0 0 1 0.866 8 6 1 0 -892 0 1 0 5.50111 19.9226 9.99798 0 0 1 0.866 8 6 1 0 -893 0 1 0 6.00121 19.0564 9.99798 0 0 1 0.866 8 6 1 0 -894 0 1 0 6.50132 19.9226 9.99798 0 0 1 0.866 8 6 1 0 -895 0 1 0 7.00142 19.0564 9.99798 0 0 1 0.866 8 6 1 0 -896 0 1 0 7.50152 19.9226 9.99798 0 0 1 0.866 8 6 1 0 -897 0 1 0 8.00162 19.0564 9.99798 0 0 1 0.866 8 6 1 0 -898 0 1 0 8.50172 19.9226 9.99798 0 0 1 0.866 8 6 1 0 -899 0 1 0 9.00182 19.0564 9.99798 0 0 1 0.866 8 6 1 0 -900 0 1 0 9.50192 19.9226 9.99798 0 0 1 0.866 8 6 1 0 -901 0 1 0 10.002 19.0564 9.99798 0 0 1 0.866 8 6 1 0 -902 0 1 0 10.5021 19.9226 9.99798 0 0 1 0.866 8 6 1 0 -903 0 1 0 11.0022 19.0564 9.99798 0 0 1 0.866 8 6 1 0 -904 0 1 0 11.5023 19.9226 9.99798 0 0 1 0.866 8 6 1 0 -905 0 1 0 12.0024 19.0564 9.99798 0 0 1 0.866 8 6 1 0 -906 0 1 0 12.5025 19.9226 9.99798 0 0 1 0.866 8 6 1 0 -907 0 1 0 13.0026 19.0564 9.99798 0 0 1 0.866 8 6 1 0 -908 0 1 0 13.5027 19.9226 9.99798 0 0 1 0.866 8 6 1 0 -909 0 1 0 14.0028 19.0564 9.99798 0 0 1 0.866 8 6 1 0 -910 0 1 0 14.5029 19.9226 9.99798 0 0 1 0.866 8 6 1 0 -911 0 1 0 15.003 19.0564 9.99798 0 0 1 0.866 8 6 1 0 -912 0 1 0 15.5031 19.9226 9.99798 0 0 1 0.866 8 6 1 0 -913 0 1 0 16.0032 19.0564 9.99798 0 0 1 0.866 8 6 1 0 -914 0 1 0 16.5033 19.9226 9.99798 0 0 1 0.866 8 6 1 0 -915 0 1 0 17.0034 19.0564 9.99798 0 0 1 0.866 8 6 1 0 -916 0 1 0 17.5035 19.9226 9.99798 0 0 1 0.866 8 6 1 0 -917 0 1 0 18.0036 19.0564 9.99798 0 0 1 0.866 8 6 1 0 -918 0 1 0 18.5037 19.9226 9.99798 0 0 1 0.866 8 6 1 0 -919 0 1 0 19.0038 19.0564 9.99798 0 0 1 0.866 8 6 1 0 -920 0 1 0 19.5039 19.9226 9.99798 0 0 1 0.866 8 6 1 0 -921 0 1 0 20.004 19.0564 9.99798 0 0 1 0.866 8 6 1 0 -922 0 1 0 20.5041 19.9226 9.99798 0 0 1 0.866 8 6 1 0 -923 0 1 0 21.0042 19.0564 9.99798 0 0 1 0.866 8 6 1 0 -924 0 1 0 21.5043 19.9226 9.99798 0 0 1 0.866 8 6 1 0 -925 0 1 0 22.0045 19.0564 9.99798 0 0 1 0.866 8 6 1 0 -926 0 1 0 22.5046 19.9226 9.99798 0 0 1 0.866 8 6 1 0 -927 0 1 0 23.0047 19.0564 9.99798 0 0 1 0.866 8 6 1 0 -928 0 1 0 23.5048 19.9226 9.99798 0 0 1 0.866 8 6 1 0 -929 0 1 0 24.0049 19.0564 9.99798 0 0 1 0.866 8 6 1 0 -930 0 1 0 24.505 19.9226 9.99798 0 0 1 0.866 8 6 1 0 -931 0 1 0 25.0051 19.0564 9.99798 0 0 1 0.866 8 6 1 0 -932 0 1 0 25.5052 19.9226 9.99798 0 0 1 0.866 8 6 1 0 -933 0 1 0 26.0053 19.0564 9.99798 0 0 1 0.866 8 6 1 0 -934 0 1 0 26.5054 19.9226 9.99798 0 0 1 0.866 8 6 1 0 -935 0 1 0 27.0055 19.0564 9.99798 0 0 1 0.866 8 6 1 0 -936 0 1 0 27.5056 19.9226 9.99798 0 0 1 0.866 8 6 1 0 -937 0 1 0 28.0057 19.0564 9.99798 0 0 1 0.866 8 6 1 0 -938 0 1 0 28.5058 19.9226 9.99798 0 0 1 0.866 8 6 1 0 -939 0 1 0 29.0059 19.0564 9.99798 0 0 1 0.866 8 6 1 0 -940 0 1 0 29.506 19.9226 9.99798 0 0 1 0.866 8 6 1 0 -941 0 1 0 30.0061 19.0564 9.99798 0 0 1 0.866 8 6 1 0 -942 0 1 0 30.5062 19.9226 9.99798 0 0 1 0.866 8 6 1 0 -943 0 1 0 31.0063 19.0564 9.99798 0 0 1 0.866 8 6 1 0 -944 0 1 0 31.5064 19.9226 9.99798 0 0 1 0.866 8 6 1 0 -945 0 1 0 32.0065 19.0564 9.99798 0 0 1 0.866 8 6 1 0 -946 0 1 0 32.5066 19.9226 9.99798 0 0 1 0.866 8 6 1 0 -947 0 1 0 33.0067 19.0564 9.99798 0 0 1 0.866 8 6 1 0 -948 0 1 0 33.5068 19.9226 9.99798 0 0 1 0.866 8 6 1 0 -949 0 1 0 34.0069 19.0564 9.99798 0 0 1 0.866 8 6 1 0 -950 0 1 0 34.507 19.9226 9.99798 0 0 1 0.866 8 6 1 0 -951 0 1 0 35.0071 19.0564 9.99798 0 0 1 0.866 8 6 1 0 -952 0 1 0 35.5072 19.9226 9.99798 0 0 1 0.866 8 6 1 0 -953 0 1 0 36.0073 19.0564 9.99798 0 0 1 0.866 8 6 1 0 -954 0 1 0 36.5074 19.9226 9.99798 0 0 1 0.866 8 6 1 0 -955 0 1 0 37.0075 19.0564 9.99798 0 0 1 0.866 8 6 1 0 -956 0 1 0 37.5076 19.9226 9.99798 0 0 1 0.866 8 6 1 0 -957 0 1 0 38.0077 19.0564 9.99798 0 0 1 0.866 8 6 1 0 -958 0 1 0 38.5078 19.9226 9.99798 0 0 1 0.866 8 6 1 0 -959 0 1 0 39.0079 19.0564 9.99798 0 0 1 0.866 8 6 1 0 -960 0 1 0 39.508 19.9226 9.99798 0 0 1 0.866 8 6 1 0 -961 0 1 0 0 20.7888 9.99798 0 0 1 0.866 8 6 1 0 -962 0 1 0 0.500101 21.655 9.99798 0 0 1 0.866 8 6 1 0 -963 0 1 0 1.0002 20.7888 9.99798 0 0 1 0.866 8 6 1 0 -964 0 1 0 1.5003 21.655 9.99798 0 0 1 0.866 8 6 1 0 -965 0 1 0 2.0004 20.7888 9.99798 0 0 1 0.866 8 6 1 0 -966 0 1 0 2.50051 21.655 9.99798 0 0 1 0.866 8 6 1 0 -967 0 1 0 3.00061 20.7888 9.99798 0 0 1 0.866 8 6 1 0 -968 0 1 0 3.50071 21.655 9.99798 0 0 1 0.866 8 6 1 0 -969 0 1 0 4.00081 20.7888 9.99798 0 0 1 0.866 8 6 1 0 -970 0 1 0 4.50091 21.655 9.99798 0 0 1 0.866 8 6 1 0 -971 0 1 0 5.00101 20.7888 9.99798 0 0 1 0.866 8 6 1 0 -972 0 1 0 5.50111 21.655 9.99798 0 0 1 0.866 8 6 1 0 -973 0 1 0 6.00121 20.7888 9.99798 0 0 1 0.866 8 6 1 0 -974 0 1 0 6.50132 21.655 9.99798 0 0 1 0.866 8 6 1 0 -975 0 1 0 7.00142 20.7888 9.99798 0 0 1 0.866 8 6 1 0 -976 0 1 0 7.50152 21.655 9.99798 0 0 1 0.866 8 6 1 0 -977 0 1 0 8.00162 20.7888 9.99798 0 0 1 0.866 8 6 1 0 -978 0 1 0 8.50172 21.655 9.99798 0 0 1 0.866 8 6 1 0 -979 0 1 0 9.00182 20.7888 9.99798 0 0 1 0.866 8 6 1 0 -980 0 1 0 9.50192 21.655 9.99798 0 0 1 0.866 8 6 1 0 -981 0 1 0 10.002 20.7888 9.99798 0 0 1 0.866 8 6 1 0 -982 0 1 0 10.5021 21.655 9.99798 0 0 1 0.866 8 6 1 0 -983 0 1 0 11.0022 20.7888 9.99798 0 0 1 0.866 8 6 1 0 -984 0 1 0 11.5023 21.655 9.99798 0 0 1 0.866 8 6 1 0 -985 0 1 0 12.0024 20.7888 9.99798 0 0 1 0.866 8 6 1 0 -986 0 1 0 12.5025 21.655 9.99798 0 0 1 0.866 8 6 1 0 -987 0 1 0 13.0026 20.7888 9.99798 0 0 1 0.866 8 6 1 0 -988 0 1 0 13.5027 21.655 9.99798 0 0 1 0.866 8 6 1 0 -989 0 1 0 14.0028 20.7888 9.99798 0 0 1 0.866 8 6 1 0 -990 0 1 0 14.5029 21.655 9.99798 0 0 1 0.866 8 6 1 0 -991 0 1 0 15.003 20.7888 9.99798 0 0 1 0.866 8 6 1 0 -992 0 1 0 15.5031 21.655 9.99798 0 0 1 0.866 8 6 1 0 -993 0 1 0 16.0032 20.7888 9.99798 0 0 1 0.866 8 6 1 0 -994 0 1 0 16.5033 21.655 9.99798 0 0 1 0.866 8 6 1 0 -995 0 1 0 17.0034 20.7888 9.99798 0 0 1 0.866 8 6 1 0 -996 0 1 0 17.5035 21.655 9.99798 0 0 1 0.866 8 6 1 0 -997 0 1 0 18.0036 20.7888 9.99798 0 0 1 0.866 8 6 1 0 -998 0 1 0 18.5037 21.655 9.99798 0 0 1 0.866 8 6 1 0 -999 0 1 0 19.0038 20.7888 9.99798 0 0 1 0.866 8 6 1 0 -1000 0 1 0 19.5039 21.655 9.99798 0 0 1 0.866 8 6 1 0 -1001 0 1 0 20.004 20.7888 9.99798 0 0 1 0.866 8 6 1 0 -1002 0 1 0 20.5041 21.655 9.99798 0 0 1 0.866 8 6 1 0 -1003 0 1 0 21.0042 20.7888 9.99798 0 0 1 0.866 8 6 1 0 -1004 0 1 0 21.5043 21.655 9.99798 0 0 1 0.866 8 6 1 0 -1005 0 1 0 22.0045 20.7888 9.99798 0 0 1 0.866 8 6 1 0 -1006 0 1 0 22.5046 21.655 9.99798 0 0 1 0.866 8 6 1 0 -1007 0 1 0 23.0047 20.7888 9.99798 0 0 1 0.866 8 6 1 0 -1008 0 1 0 23.5048 21.655 9.99798 0 0 1 0.866 8 6 1 0 -1009 0 1 0 24.0049 20.7888 9.99798 0 0 1 0.866 8 6 1 0 -1010 0 1 0 24.505 21.655 9.99798 0 0 1 0.866 8 6 1 0 -1011 0 1 0 25.0051 20.7888 9.99798 0 0 1 0.866 8 6 1 0 -1012 0 1 0 25.5052 21.655 9.99798 0 0 1 0.866 8 6 1 0 -1013 0 1 0 26.0053 20.7888 9.99798 0 0 1 0.866 8 6 1 0 -1014 0 1 0 26.5054 21.655 9.99798 0 0 1 0.866 8 6 1 0 -1015 0 1 0 27.0055 20.7888 9.99798 0 0 1 0.866 8 6 1 0 -1016 0 1 0 27.5056 21.655 9.99798 0 0 1 0.866 8 6 1 0 -1017 0 1 0 28.0057 20.7888 9.99798 0 0 1 0.866 8 6 1 0 -1018 0 1 0 28.5058 21.655 9.99798 0 0 1 0.866 8 6 1 0 -1019 0 1 0 29.0059 20.7888 9.99798 0 0 1 0.866 8 6 1 0 -1020 0 1 0 29.506 21.655 9.99798 0 0 1 0.866 8 6 1 0 -1021 0 1 0 30.0061 20.7888 9.99798 0 0 1 0.866 8 6 1 0 -1022 0 1 0 30.5062 21.655 9.99798 0 0 1 0.866 8 6 1 0 -1023 0 1 0 31.0063 20.7888 9.99798 0 0 1 0.866 8 6 1 0 -1024 0 1 0 31.5064 21.655 9.99798 0 0 1 0.866 8 6 1 0 -1025 0 1 0 32.0065 20.7888 9.99798 0 0 1 0.866 8 6 1 0 -1026 0 1 0 32.5066 21.655 9.99798 0 0 1 0.866 8 6 1 0 -1027 0 1 0 33.0067 20.7888 9.99798 0 0 1 0.866 8 6 1 0 -1028 0 1 0 33.5068 21.655 9.99798 0 0 1 0.866 8 6 1 0 -1029 0 1 0 34.0069 20.7888 9.99798 0 0 1 0.866 8 6 1 0 -1030 0 1 0 34.507 21.655 9.99798 0 0 1 0.866 8 6 1 0 -1031 0 1 0 35.0071 20.7888 9.99798 0 0 1 0.866 8 6 1 0 -1032 0 1 0 35.5072 21.655 9.99798 0 0 1 0.866 8 6 1 0 -1033 0 1 0 36.0073 20.7888 9.99798 0 0 1 0.866 8 6 1 0 -1034 0 1 0 36.5074 21.655 9.99798 0 0 1 0.866 8 6 1 0 -1035 0 1 0 37.0075 20.7888 9.99798 0 0 1 0.866 8 6 1 0 -1036 0 1 0 37.5076 21.655 9.99798 0 0 1 0.866 8 6 1 0 -1037 0 1 0 38.0077 20.7888 9.99798 0 0 1 0.866 8 6 1 0 -1038 0 1 0 38.5078 21.655 9.99798 0 0 1 0.866 8 6 1 0 -1039 0 1 0 39.0079 20.7888 9.99798 0 0 1 0.866 8 6 1 0 -1040 0 1 0 39.508 21.655 9.99798 0 0 1 0.866 8 6 1 0 -1041 0 1 0 0 22.5212 9.99798 0 0 1 0.866 8 6 1 0 -1042 0 1 0 0.500101 23.3874 9.99798 0 0 1 0.866 8 6 1 0 -1043 0 1 0 1.0002 22.5212 9.99798 0 0 1 0.866 8 6 1 0 -1044 0 1 0 1.5003 23.3874 9.99798 0 0 1 0.866 8 6 1 0 -1045 0 1 0 2.0004 22.5212 9.99798 0 0 1 0.866 8 6 1 0 -1046 0 1 0 2.50051 23.3874 9.99798 0 0 1 0.866 8 6 1 0 -1047 0 1 0 3.00061 22.5212 9.99798 0 0 1 0.866 8 6 1 0 -1048 0 1 0 3.50071 23.3874 9.99798 0 0 1 0.866 8 6 1 0 -1049 0 1 0 4.00081 22.5212 9.99798 0 0 1 0.866 8 6 1 0 -1050 0 1 0 4.50091 23.3874 9.99798 0 0 1 0.866 8 6 1 0 -1051 0 1 0 5.00101 22.5212 9.99798 0 0 1 0.866 8 6 1 0 -1052 0 1 0 5.50111 23.3874 9.99798 0 0 1 0.866 8 6 1 0 -1053 0 1 0 6.00121 22.5212 9.99798 0 0 1 0.866 8 6 1 0 -1054 0 1 0 6.50132 23.3874 9.99798 0 0 1 0.866 8 6 1 0 -1055 0 1 0 7.00142 22.5212 9.99798 0 0 1 0.866 8 6 1 0 -1056 0 1 0 7.50152 23.3874 9.99798 0 0 1 0.866 8 6 1 0 -1057 0 1 0 8.00162 22.5212 9.99798 0 0 1 0.866 8 6 1 0 -1058 0 1 0 8.50172 23.3874 9.99798 0 0 1 0.866 8 6 1 0 -1059 0 1 0 9.00182 22.5212 9.99798 0 0 1 0.866 8 6 1 0 -1060 0 1 0 9.50192 23.3874 9.99798 0 0 1 0.866 8 6 1 0 -1061 0 1 0 10.002 22.5212 9.99798 0 0 1 0.866 8 6 1 0 -1062 0 1 0 10.5021 23.3874 9.99798 0 0 1 0.866 8 6 1 0 -1063 0 1 0 11.0022 22.5212 9.99798 0 0 1 0.866 8 6 1 0 -1064 0 1 0 11.5023 23.3874 9.99798 0 0 1 0.866 8 6 1 0 -1065 0 1 0 12.0024 22.5212 9.99798 0 0 1 0.866 8 6 1 0 -1066 0 1 0 12.5025 23.3874 9.99798 0 0 1 0.866 8 6 1 0 -1067 0 1 0 13.0026 22.5212 9.99798 0 0 1 0.866 8 6 1 0 -1068 0 1 0 13.5027 23.3874 9.99798 0 0 1 0.866 8 6 1 0 -1069 0 1 0 14.0028 22.5212 9.99798 0 0 1 0.866 8 6 1 0 -1070 0 1 0 14.5029 23.3874 9.99798 0 0 1 0.866 8 6 1 0 -1071 0 1 0 15.003 22.5212 9.99798 0 0 1 0.866 8 6 1 0 -1072 0 1 0 15.5031 23.3874 9.99798 0 0 1 0.866 8 6 1 0 -1073 0 1 0 16.0032 22.5212 9.99798 0 0 1 0.866 8 6 1 0 -1074 0 1 0 16.5033 23.3874 9.99798 0 0 1 0.866 8 6 1 0 -1075 0 1 0 17.0034 22.5212 9.99798 0 0 1 0.866 8 6 1 0 -1076 0 1 0 17.5035 23.3874 9.99798 0 0 1 0.866 8 6 1 0 -1077 0 1 0 18.0036 22.5212 9.99798 0 0 1 0.866 8 6 1 0 -1078 0 1 0 18.5037 23.3874 9.99798 0 0 1 0.866 8 6 1 0 -1079 0 1 0 19.0038 22.5212 9.99798 0 0 1 0.866 8 6 1 0 -1080 0 1 0 19.5039 23.3874 9.99798 0 0 1 0.866 8 6 1 0 -1081 0 1 0 20.004 22.5212 9.99798 0 0 1 0.866 8 6 1 0 -1082 0 1 0 20.5041 23.3874 9.99798 0 0 1 0.866 8 6 1 0 -1083 0 1 0 21.0042 22.5212 9.99798 0 0 1 0.866 8 6 1 0 -1084 0 1 0 21.5043 23.3874 9.99798 0 0 1 0.866 8 6 1 0 -1085 0 1 0 22.0045 22.5212 9.99798 0 0 1 0.866 8 6 1 0 -1086 0 1 0 22.5046 23.3874 9.99798 0 0 1 0.866 8 6 1 0 -1087 0 1 0 23.0047 22.5212 9.99798 0 0 1 0.866 8 6 1 0 -1088 0 1 0 23.5048 23.3874 9.99798 0 0 1 0.866 8 6 1 0 -1089 0 1 0 24.0049 22.5212 9.99798 0 0 1 0.866 8 6 1 0 -1090 0 1 0 24.505 23.3874 9.99798 0 0 1 0.866 8 6 1 0 -1091 0 1 0 25.0051 22.5212 9.99798 0 0 1 0.866 8 6 1 0 -1092 0 1 0 25.5052 23.3874 9.99798 0 0 1 0.866 8 6 1 0 -1093 0 1 0 26.0053 22.5212 9.99798 0 0 1 0.866 8 6 1 0 -1094 0 1 0 26.5054 23.3874 9.99798 0 0 1 0.866 8 6 1 0 -1095 0 1 0 27.0055 22.5212 9.99798 0 0 1 0.866 8 6 1 0 -1096 0 1 0 27.5056 23.3874 9.99798 0 0 1 0.866 8 6 1 0 -1097 0 1 0 28.0057 22.5212 9.99798 0 0 1 0.866 8 6 1 0 -1098 0 1 0 28.5058 23.3874 9.99798 0 0 1 0.866 8 6 1 0 -1099 0 1 0 29.0059 22.5212 9.99798 0 0 1 0.866 8 6 1 0 -1100 0 1 0 29.506 23.3874 9.99798 0 0 1 0.866 8 6 1 0 -1101 0 1 0 30.0061 22.5212 9.99798 0 0 1 0.866 8 6 1 0 -1102 0 1 0 30.5062 23.3874 9.99798 0 0 1 0.866 8 6 1 0 -1103 0 1 0 31.0063 22.5212 9.99798 0 0 1 0.866 8 6 1 0 -1104 0 1 0 31.5064 23.3874 9.99798 0 0 1 0.866 8 6 1 0 -1105 0 1 0 32.0065 22.5212 9.99798 0 0 1 0.866 8 6 1 0 -1106 0 1 0 32.5066 23.3874 9.99798 0 0 1 0.866 8 6 1 0 -1107 0 1 0 33.0067 22.5212 9.99798 0 0 1 0.866 8 6 1 0 -1108 0 1 0 33.5068 23.3874 9.99798 0 0 1 0.866 8 6 1 0 -1109 0 1 0 34.0069 22.5212 9.99798 0 0 1 0.866 8 6 1 0 -1110 0 1 0 34.507 23.3874 9.99798 0 0 1 0.866 8 6 1 0 -1111 0 1 0 35.0071 22.5212 9.99798 0 0 1 0.866 8 6 1 0 -1112 0 1 0 35.5072 23.3874 9.99798 0 0 1 0.866 8 6 1 0 -1113 0 1 0 36.0073 22.5212 9.99798 0 0 1 0.866 8 6 1 0 -1114 0 1 0 36.5074 23.3874 9.99798 0 0 1 0.866 8 6 1 0 -1115 0 1 0 37.0075 22.5212 9.99798 0 0 1 0.866 8 6 1 0 -1116 0 1 0 37.5076 23.3874 9.99798 0 0 1 0.866 8 6 1 0 -1117 0 1 0 38.0077 22.5212 9.99798 0 0 1 0.866 8 6 1 0 -1118 0 1 0 38.5078 23.3874 9.99798 0 0 1 0.866 8 6 1 0 -1119 0 1 0 39.0079 22.5212 9.99798 0 0 1 0.866 8 6 1 0 -1120 0 1 0 39.508 23.3874 9.99798 0 0 1 0.866 8 6 1 0 -1121 0 1 0 0 24.2536 9.99798 0 0 1 0.866 8 6 1 0 -1122 0 1 0 0.500101 25.1198 9.99798 0 0 1 0.866 8 6 1 0 -1123 0 1 0 1.0002 24.2536 9.99798 0 0 1 0.866 8 6 1 0 -1124 0 1 0 1.5003 25.1198 9.99798 0 0 1 0.866 8 6 1 0 -1125 0 1 0 2.0004 24.2536 9.99798 0 0 1 0.866 8 6 1 0 -1126 0 1 0 2.50051 25.1198 9.99798 0 0 1 0.866 8 6 1 0 -1127 0 1 0 3.00061 24.2536 9.99798 0 0 1 0.866 8 6 1 0 -1128 0 1 0 3.50071 25.1198 9.99798 0 0 1 0.866 8 6 1 0 -1129 0 1 0 4.00081 24.2536 9.99798 0 0 1 0.866 8 6 1 0 -1130 0 1 0 4.50091 25.1198 9.99798 0 0 1 0.866 8 6 1 0 -1131 0 1 0 5.00101 24.2536 9.99798 0 0 1 0.866 8 6 1 0 -1132 0 1 0 5.50111 25.1198 9.99798 0 0 1 0.866 8 6 1 0 -1133 0 1 0 6.00121 24.2536 9.99798 0 0 1 0.866 8 6 1 0 -1134 0 1 0 6.50132 25.1198 9.99798 0 0 1 0.866 8 6 1 0 -1135 0 1 0 7.00142 24.2536 9.99798 0 0 1 0.866 8 6 1 0 -1136 0 1 0 7.50152 25.1198 9.99798 0 0 1 0.866 8 6 1 0 -1137 0 1 0 8.00162 24.2536 9.99798 0 0 1 0.866 8 6 1 0 -1138 0 1 0 8.50172 25.1198 9.99798 0 0 1 0.866 8 6 1 0 -1139 0 1 0 9.00182 24.2536 9.99798 0 0 1 0.866 8 6 1 0 -1140 0 1 0 9.50192 25.1198 9.99798 0 0 1 0.866 8 6 1 0 -1141 0 1 0 10.002 24.2536 9.99798 0 0 1 0.866 8 6 1 0 -1142 0 1 0 10.5021 25.1198 9.99798 0 0 1 0.866 8 6 1 0 -1143 0 1 0 11.0022 24.2536 9.99798 0 0 1 0.866 8 6 1 0 -1144 0 1 0 11.5023 25.1198 9.99798 0 0 1 0.866 8 6 1 0 -1145 0 1 0 12.0024 24.2536 9.99798 0 0 1 0.866 8 6 1 0 -1146 0 1 0 12.5025 25.1198 9.99798 0 0 1 0.866 8 6 1 0 -1147 0 1 0 13.0026 24.2536 9.99798 0 0 1 0.866 8 6 1 0 -1148 0 1 0 13.5027 25.1198 9.99798 0 0 1 0.866 8 6 1 0 -1149 0 1 0 14.0028 24.2536 9.99798 0 0 1 0.866 8 6 1 0 -1150 0 1 0 14.5029 25.1198 9.99798 0 0 1 0.866 8 6 1 0 -1151 0 1 0 15.003 24.2536 9.99798 0 0 1 0.866 8 6 1 0 -1152 0 1 0 15.5031 25.1198 9.99798 0 0 1 0.866 8 6 1 0 -1153 0 1 0 16.0032 24.2536 9.99798 0 0 1 0.866 8 6 1 0 -1154 0 1 0 16.5033 25.1198 9.99798 0 0 1 0.866 8 6 1 0 -1155 0 1 0 17.0034 24.2536 9.99798 0 0 1 0.866 8 6 1 0 -1156 0 1 0 17.5035 25.1198 9.99798 0 0 1 0.866 8 6 1 0 -1157 0 1 0 18.0036 24.2536 9.99798 0 0 1 0.866 8 6 1 0 -1158 0 1 0 18.5037 25.1198 9.99798 0 0 1 0.866 8 6 1 0 -1159 0 1 0 19.0038 24.2536 9.99798 0 0 1 0.866 8 6 1 0 -1160 0 1 0 19.5039 25.1198 9.99798 0 0 1 0.866 8 6 1 0 -1161 0 1 0 20.004 24.2536 9.99798 0 0 1 0.866 8 6 1 0 -1162 0 1 0 20.5041 25.1198 9.99798 0 0 1 0.866 8 6 1 0 -1163 0 1 0 21.0042 24.2536 9.99798 0 0 1 0.866 8 6 1 0 -1164 0 1 0 21.5043 25.1198 9.99798 0 0 1 0.866 8 6 1 0 -1165 0 1 0 22.0045 24.2536 9.99798 0 0 1 0.866 8 6 1 0 -1166 0 1 0 22.5046 25.1198 9.99798 0 0 1 0.866 8 6 1 0 -1167 0 1 0 23.0047 24.2536 9.99798 0 0 1 0.866 8 6 1 0 -1168 0 1 0 23.5048 25.1198 9.99798 0 0 1 0.866 8 6 1 0 -1169 0 1 0 24.0049 24.2536 9.99798 0 0 1 0.866 8 6 1 0 -1170 0 1 0 24.505 25.1198 9.99798 0 0 1 0.866 8 6 1 0 -1171 0 1 0 25.0051 24.2536 9.99798 0 0 1 0.866 8 6 1 0 -1172 0 1 0 25.5052 25.1198 9.99798 0 0 1 0.866 8 6 1 0 -1173 0 1 0 26.0053 24.2536 9.99798 0 0 1 0.866 8 6 1 0 -1174 0 1 0 26.5054 25.1198 9.99798 0 0 1 0.866 8 6 1 0 -1175 0 1 0 27.0055 24.2536 9.99798 0 0 1 0.866 8 6 1 0 -1176 0 1 0 27.5056 25.1198 9.99798 0 0 1 0.866 8 6 1 0 -1177 0 1 0 28.0057 24.2536 9.99798 0 0 1 0.866 8 6 1 0 -1178 0 1 0 28.5058 25.1198 9.99798 0 0 1 0.866 8 6 1 0 -1179 0 1 0 29.0059 24.2536 9.99798 0 0 1 0.866 8 6 1 0 -1180 0 1 0 29.506 25.1198 9.99798 0 0 1 0.866 8 6 1 0 -1181 0 1 0 30.0061 24.2536 9.99798 0 0 1 0.866 8 6 1 0 -1182 0 1 0 30.5062 25.1198 9.99798 0 0 1 0.866 8 6 1 0 -1183 0 1 0 31.0063 24.2536 9.99798 0 0 1 0.866 8 6 1 0 -1184 0 1 0 31.5064 25.1198 9.99798 0 0 1 0.866 8 6 1 0 -1185 0 1 0 32.0065 24.2536 9.99798 0 0 1 0.866 8 6 1 0 -1186 0 1 0 32.5066 25.1198 9.99798 0 0 1 0.866 8 6 1 0 -1187 0 1 0 33.0067 24.2536 9.99798 0 0 1 0.866 8 6 1 0 -1188 0 1 0 33.5068 25.1198 9.99798 0 0 1 0.866 8 6 1 0 -1189 0 1 0 34.0069 24.2536 9.99798 0 0 1 0.866 8 6 1 0 -1190 0 1 0 34.507 25.1198 9.99798 0 0 1 0.866 8 6 1 0 -1191 0 1 0 35.0071 24.2536 9.99798 0 0 1 0.866 8 6 1 0 -1192 0 1 0 35.5072 25.1198 9.99798 0 0 1 0.866 8 6 1 0 -1193 0 1 0 36.0073 24.2536 9.99798 0 0 1 0.866 8 6 1 0 -1194 0 1 0 36.5074 25.1198 9.99798 0 0 1 0.866 8 6 1 0 -1195 0 1 0 37.0075 24.2536 9.99798 0 0 1 0.866 8 6 1 0 -1196 0 1 0 37.5076 25.1198 9.99798 0 0 1 0.866 8 6 1 0 -1197 0 1 0 38.0077 24.2536 9.99798 0 0 1 0.866 8 6 1 0 -1198 0 1 0 38.5078 25.1198 9.99798 0 0 1 0.866 8 6 1 0 -1199 0 1 0 39.0079 24.2536 9.99798 0 0 1 0.866 8 6 1 0 -1200 0 1 0 39.508 25.1198 9.99798 0 0 1 0.866 8 6 1 0 -1201 0 1 0 0 25.986 9.99798 0 0 1 0.866 8 6 1 0 -1202 0 1 0 0.500101 26.8522 9.99798 0 0 1 0.866 8 6 1 0 -1203 0 1 0 1.0002 25.986 9.99798 0 0 1 0.866 8 6 1 0 -1204 0 1 0 1.5003 26.8522 9.99798 0 0 1 0.866 8 6 1 0 -1205 0 1 0 2.0004 25.986 9.99798 0 0 1 0.866 8 6 1 0 -1206 0 1 0 2.50051 26.8522 9.99798 0 0 1 0.866 8 6 1 0 -1207 0 1 0 3.00061 25.986 9.99798 0 0 1 0.866 8 6 1 0 -1208 0 1 0 3.50071 26.8522 9.99798 0 0 1 0.866 8 6 1 0 -1209 0 1 0 4.00081 25.986 9.99798 0 0 1 0.866 8 6 1 0 -1210 0 1 0 4.50091 26.8522 9.99798 0 0 1 0.866 8 6 1 0 -1211 0 1 0 5.00101 25.986 9.99798 0 0 1 0.866 8 6 1 0 -1212 0 1 0 5.50111 26.8522 9.99798 0 0 1 0.866 8 6 1 0 -1213 0 1 0 6.00121 25.986 9.99798 0 0 1 0.866 8 6 1 0 -1214 0 1 0 6.50132 26.8522 9.99798 0 0 1 0.866 8 6 1 0 -1215 0 1 0 7.00142 25.986 9.99798 0 0 1 0.866 8 6 1 0 -1216 0 1 0 7.50152 26.8522 9.99798 0 0 1 0.866 8 6 1 0 -1217 0 1 0 8.00162 25.986 9.99798 0 0 1 0.866 8 6 1 0 -1218 0 1 0 8.50172 26.8522 9.99798 0 0 1 0.866 8 6 1 0 -1219 0 1 0 9.00182 25.986 9.99798 0 0 1 0.866 8 6 1 0 -1220 0 1 0 9.50192 26.8522 9.99798 0 0 1 0.866 8 6 1 0 -1221 0 1 0 10.002 25.986 9.99798 0 0 1 0.866 8 6 1 0 -1222 0 1 0 10.5021 26.8522 9.99798 0 0 1 0.866 8 6 1 0 -1223 0 1 0 11.0022 25.986 9.99798 0 0 1 0.866 8 6 1 0 -1224 0 1 0 11.5023 26.8522 9.99798 0 0 1 0.866 8 6 1 0 -1225 0 1 0 12.0024 25.986 9.99798 0 0 1 0.866 8 6 1 0 -1226 0 1 0 12.5025 26.8522 9.99798 0 0 1 0.866 8 6 1 0 -1227 0 1 0 13.0026 25.986 9.99798 0 0 1 0.866 8 6 1 0 -1228 0 1 0 13.5027 26.8522 9.99798 0 0 1 0.866 8 6 1 0 -1229 0 1 0 14.0028 25.986 9.99798 0 0 1 0.866 8 6 1 0 -1230 0 1 0 14.5029 26.8522 9.99798 0 0 1 0.866 8 6 1 0 -1231 0 1 0 15.003 25.986 9.99798 0 0 1 0.866 8 6 1 0 -1232 0 1 0 15.5031 26.8522 9.99798 0 0 1 0.866 8 6 1 0 -1233 0 1 0 16.0032 25.986 9.99798 0 0 1 0.866 8 6 1 0 -1234 0 1 0 16.5033 26.8522 9.99798 0 0 1 0.866 8 6 1 0 -1235 0 1 0 17.0034 25.986 9.99798 0 0 1 0.866 8 6 1 0 -1236 0 1 0 17.5035 26.8522 9.99798 0 0 1 0.866 8 6 1 0 -1237 0 1 0 18.0036 25.986 9.99798 0 0 1 0.866 8 6 1 0 -1238 0 1 0 18.5037 26.8522 9.99798 0 0 1 0.866 8 6 1 0 -1239 0 1 0 19.0038 25.986 9.99798 0 0 1 0.866 8 6 1 0 -1240 0 1 0 19.5039 26.8522 9.99798 0 0 1 0.866 8 6 1 0 -1241 0 1 0 20.004 25.986 9.99798 0 0 1 0.866 8 6 1 0 -1242 0 1 0 20.5041 26.8522 9.99798 0 0 1 0.866 8 6 1 0 -1243 0 1 0 21.0042 25.986 9.99798 0 0 1 0.866 8 6 1 0 -1244 0 1 0 21.5043 26.8522 9.99798 0 0 1 0.866 8 6 1 0 -1245 0 1 0 22.0045 25.986 9.99798 0 0 1 0.866 8 6 1 0 -1246 0 1 0 22.5046 26.8522 9.99798 0 0 1 0.866 8 6 1 0 -1247 0 1 0 23.0047 25.986 9.99798 0 0 1 0.866 8 6 1 0 -1248 0 1 0 23.5048 26.8522 9.99798 0 0 1 0.866 8 6 1 0 -1249 0 1 0 24.0049 25.986 9.99798 0 0 1 0.866 8 6 1 0 -1250 0 1 0 24.505 26.8522 9.99798 0 0 1 0.866 8 6 1 0 -1251 0 1 0 25.0051 25.986 9.99798 0 0 1 0.866 8 6 1 0 -1252 0 1 0 25.5052 26.8522 9.99798 0 0 1 0.866 8 6 1 0 -1253 0 1 0 26.0053 25.986 9.99798 0 0 1 0.866 8 6 1 0 -1254 0 1 0 26.5054 26.8522 9.99798 0 0 1 0.866 8 6 1 0 -1255 0 1 0 27.0055 25.986 9.99798 0 0 1 0.866 8 6 1 0 -1256 0 1 0 27.5056 26.8522 9.99798 0 0 1 0.866 8 6 1 0 -1257 0 1 0 28.0057 25.986 9.99798 0 0 1 0.866 8 6 1 0 -1258 0 1 0 28.5058 26.8522 9.99798 0 0 1 0.866 8 6 1 0 -1259 0 1 0 29.0059 25.986 9.99798 0 0 1 0.866 8 6 1 0 -1260 0 1 0 29.506 26.8522 9.99798 0 0 1 0.866 8 6 1 0 -1261 0 1 0 30.0061 25.986 9.99798 0 0 1 0.866 8 6 1 0 -1262 0 1 0 30.5062 26.8522 9.99798 0 0 1 0.866 8 6 1 0 -1263 0 1 0 31.0063 25.986 9.99798 0 0 1 0.866 8 6 1 0 -1264 0 1 0 31.5064 26.8522 9.99798 0 0 1 0.866 8 6 1 0 -1265 0 1 0 32.0065 25.986 9.99798 0 0 1 0.866 8 6 1 0 -1266 0 1 0 32.5066 26.8522 9.99798 0 0 1 0.866 8 6 1 0 -1267 0 1 0 33.0067 25.986 9.99798 0 0 1 0.866 8 6 1 0 -1268 0 1 0 33.5068 26.8522 9.99798 0 0 1 0.866 8 6 1 0 -1269 0 1 0 34.0069 25.986 9.99798 0 0 1 0.866 8 6 1 0 -1270 0 1 0 34.507 26.8522 9.99798 0 0 1 0.866 8 6 1 0 -1271 0 1 0 35.0071 25.986 9.99798 0 0 1 0.866 8 6 1 0 -1272 0 1 0 35.5072 26.8522 9.99798 0 0 1 0.866 8 6 1 0 -1273 0 1 0 36.0073 25.986 9.99798 0 0 1 0.866 8 6 1 0 -1274 0 1 0 36.5074 26.8522 9.99798 0 0 1 0.866 8 6 1 0 -1275 0 1 0 37.0075 25.986 9.99798 0 0 1 0.866 8 6 1 0 -1276 0 1 0 37.5076 26.8522 9.99798 0 0 1 0.866 8 6 1 0 -1277 0 1 0 38.0077 25.986 9.99798 0 0 1 0.866 8 6 1 0 -1278 0 1 0 38.5078 26.8522 9.99798 0 0 1 0.866 8 6 1 0 -1279 0 1 0 39.0079 25.986 9.99798 0 0 1 0.866 8 6 1 0 -1280 0 1 0 39.508 26.8522 9.99798 0 0 1 0.866 8 6 1 0 -1281 0 1 0 0 27.7184 9.99798 0 0 1 0.866 8 6 1 0 -1282 0 1 0 0.500101 28.5846 9.99798 0 0 1 0.866 8 6 1 0 -1283 0 1 0 1.0002 27.7184 9.99798 0 0 1 0.866 8 6 1 0 -1284 0 1 0 1.5003 28.5846 9.99798 0 0 1 0.866 8 6 1 0 -1285 0 1 0 2.0004 27.7184 9.99798 0 0 1 0.866 8 6 1 0 -1286 0 1 0 2.50051 28.5846 9.99798 0 0 1 0.866 8 6 1 0 -1287 0 1 0 3.00061 27.7184 9.99798 0 0 1 0.866 8 6 1 0 -1288 0 1 0 3.50071 28.5846 9.99798 0 0 1 0.866 8 6 1 0 -1289 0 1 0 4.00081 27.7184 9.99798 0 0 1 0.866 8 6 1 0 -1290 0 1 0 4.50091 28.5846 9.99798 0 0 1 0.866 8 6 1 0 -1291 0 1 0 5.00101 27.7184 9.99798 0 0 1 0.866 8 6 1 0 -1292 0 1 0 5.50111 28.5846 9.99798 0 0 1 0.866 8 6 1 0 -1293 0 1 0 6.00121 27.7184 9.99798 0 0 1 0.866 8 6 1 0 -1294 0 1 0 6.50132 28.5846 9.99798 0 0 1 0.866 8 6 1 0 -1295 0 1 0 7.00142 27.7184 9.99798 0 0 1 0.866 8 6 1 0 -1296 0 1 0 7.50152 28.5846 9.99798 0 0 1 0.866 8 6 1 0 -1297 0 1 0 8.00162 27.7184 9.99798 0 0 1 0.866 8 6 1 0 -1298 0 1 0 8.50172 28.5846 9.99798 0 0 1 0.866 8 6 1 0 -1299 0 1 0 9.00182 27.7184 9.99798 0 0 1 0.866 8 6 1 0 -1300 0 1 0 9.50192 28.5846 9.99798 0 0 1 0.866 8 6 1 0 -1301 0 1 0 10.002 27.7184 9.99798 0 0 1 0.866 8 6 1 0 -1302 0 1 0 10.5021 28.5846 9.99798 0 0 1 0.866 8 6 1 0 -1303 0 1 0 11.0022 27.7184 9.99798 0 0 1 0.866 8 6 1 0 -1304 0 1 0 11.5023 28.5846 9.99798 0 0 1 0.866 8 6 1 0 -1305 0 1 0 12.0024 27.7184 9.99798 0 0 1 0.866 8 6 1 0 -1306 0 1 0 12.5025 28.5846 9.99798 0 0 1 0.866 8 6 1 0 -1307 0 1 0 13.0026 27.7184 9.99798 0 0 1 0.866 8 6 1 0 -1308 0 1 0 13.5027 28.5846 9.99798 0 0 1 0.866 8 6 1 0 -1309 0 1 0 14.0028 27.7184 9.99798 0 0 1 0.866 8 6 1 0 -1310 0 1 0 14.5029 28.5846 9.99798 0 0 1 0.866 8 6 1 0 -1311 0 1 0 15.003 27.7184 9.99798 0 0 1 0.866 8 6 1 0 -1312 0 1 0 15.5031 28.5846 9.99798 0 0 1 0.866 8 6 1 0 -1313 0 1 0 16.0032 27.7184 9.99798 0 0 1 0.866 8 6 1 0 -1314 0 1 0 16.5033 28.5846 9.99798 0 0 1 0.866 8 6 1 0 -1315 0 1 0 17.0034 27.7184 9.99798 0 0 1 0.866 8 6 1 0 -1316 0 1 0 17.5035 28.5846 9.99798 0 0 1 0.866 8 6 1 0 -1317 0 1 0 18.0036 27.7184 9.99798 0 0 1 0.866 8 6 1 0 -1318 0 1 0 18.5037 28.5846 9.99798 0 0 1 0.866 8 6 1 0 -1319 0 1 0 19.0038 27.7184 9.99798 0 0 1 0.866 8 6 1 0 -1320 0 1 0 19.5039 28.5846 9.99798 0 0 1 0.866 8 6 1 0 -1321 0 1 0 20.004 27.7184 9.99798 0 0 1 0.866 8 6 1 0 -1322 0 1 0 20.5041 28.5846 9.99798 0 0 1 0.866 8 6 1 0 -1323 0 1 0 21.0042 27.7184 9.99798 0 0 1 0.866 8 6 1 0 -1324 0 1 0 21.5043 28.5846 9.99798 0 0 1 0.866 8 6 1 0 -1325 0 1 0 22.0045 27.7184 9.99798 0 0 1 0.866 8 6 1 0 -1326 0 1 0 22.5046 28.5846 9.99798 0 0 1 0.866 8 6 1 0 -1327 0 1 0 23.0047 27.7184 9.99798 0 0 1 0.866 8 6 1 0 -1328 0 1 0 23.5048 28.5846 9.99798 0 0 1 0.866 8 6 1 0 -1329 0 1 0 24.0049 27.7184 9.99798 0 0 1 0.866 8 6 1 0 -1330 0 1 0 24.505 28.5846 9.99798 0 0 1 0.866 8 6 1 0 -1331 0 1 0 25.0051 27.7184 9.99798 0 0 1 0.866 8 6 1 0 -1332 0 1 0 25.5052 28.5846 9.99798 0 0 1 0.866 8 6 1 0 -1333 0 1 0 26.0053 27.7184 9.99798 0 0 1 0.866 8 6 1 0 -1334 0 1 0 26.5054 28.5846 9.99798 0 0 1 0.866 8 6 1 0 -1335 0 1 0 27.0055 27.7184 9.99798 0 0 1 0.866 8 6 1 0 -1336 0 1 0 27.5056 28.5846 9.99798 0 0 1 0.866 8 6 1 0 -1337 0 1 0 28.0057 27.7184 9.99798 0 0 1 0.866 8 6 1 0 -1338 0 1 0 28.5058 28.5846 9.99798 0 0 1 0.866 8 6 1 0 -1339 0 1 0 29.0059 27.7184 9.99798 0 0 1 0.866 8 6 1 0 -1340 0 1 0 29.506 28.5846 9.99798 0 0 1 0.866 8 6 1 0 -1341 0 1 0 30.0061 27.7184 9.99798 0 0 1 0.866 8 6 1 0 -1342 0 1 0 30.5062 28.5846 9.99798 0 0 1 0.866 8 6 1 0 -1343 0 1 0 31.0063 27.7184 9.99798 0 0 1 0.866 8 6 1 0 -1344 0 1 0 31.5064 28.5846 9.99798 0 0 1 0.866 8 6 1 0 -1345 0 1 0 32.0065 27.7184 9.99798 0 0 1 0.866 8 6 1 0 -1346 0 1 0 32.5066 28.5846 9.99798 0 0 1 0.866 8 6 1 0 -1347 0 1 0 33.0067 27.7184 9.99798 0 0 1 0.866 8 6 1 0 -1348 0 1 0 33.5068 28.5846 9.99798 0 0 1 0.866 8 6 1 0 -1349 0 1 0 34.0069 27.7184 9.99798 0 0 1 0.866 8 6 1 0 -1350 0 1 0 34.507 28.5846 9.99798 0 0 1 0.866 8 6 1 0 -1351 0 1 0 35.0071 27.7184 9.99798 0 0 1 0.866 8 6 1 0 -1352 0 1 0 35.5072 28.5846 9.99798 0 0 1 0.866 8 6 1 0 -1353 0 1 0 36.0073 27.7184 9.99798 0 0 1 0.866 8 6 1 0 -1354 0 1 0 36.5074 28.5846 9.99798 0 0 1 0.866 8 6 1 0 -1355 0 1 0 37.0075 27.7184 9.99798 0 0 1 0.866 8 6 1 0 -1356 0 1 0 37.5076 28.5846 9.99798 0 0 1 0.866 8 6 1 0 -1357 0 1 0 38.0077 27.7184 9.99798 0 0 1 0.866 8 6 1 0 -1358 0 1 0 38.5078 28.5846 9.99798 0 0 1 0.866 8 6 1 0 -1359 0 1 0 39.0079 27.7184 9.99798 0 0 1 0.866 8 6 1 0 -1360 0 1 0 39.508 28.5846 9.99798 0 0 1 0.866 8 6 1 0 -1361 0 1 0 0 29.4508 9.99798 0 0 1 0.866 8 6 1 0 -1362 0 1 0 0.500101 30.317 9.99798 0 0 1 0.866 8 6 1 0 -1363 0 1 0 1.0002 29.4508 9.99798 0 0 1 0.866 8 6 1 0 -1364 0 1 0 1.5003 30.317 9.99798 0 0 1 0.866 8 6 1 0 -1365 0 1 0 2.0004 29.4508 9.99798 0 0 1 0.866 8 6 1 0 -1366 0 1 0 2.50051 30.317 9.99798 0 0 1 0.866 8 6 1 0 -1367 0 1 0 3.00061 29.4508 9.99798 0 0 1 0.866 8 6 1 0 -1368 0 1 0 3.50071 30.317 9.99798 0 0 1 0.866 8 6 1 0 -1369 0 1 0 4.00081 29.4508 9.99798 0 0 1 0.866 8 6 1 0 -1370 0 1 0 4.50091 30.317 9.99798 0 0 1 0.866 8 6 1 0 -1371 0 1 0 5.00101 29.4508 9.99798 0 0 1 0.866 8 6 1 0 -1372 0 1 0 5.50111 30.317 9.99798 0 0 1 0.866 8 6 1 0 -1373 0 1 0 6.00121 29.4508 9.99798 0 0 1 0.866 8 6 1 0 -1374 0 1 0 6.50132 30.317 9.99798 0 0 1 0.866 8 6 1 0 -1375 0 1 0 7.00142 29.4508 9.99798 0 0 1 0.866 8 6 1 0 -1376 0 1 0 7.50152 30.317 9.99798 0 0 1 0.866 8 6 1 0 -1377 0 1 0 8.00162 29.4508 9.99798 0 0 1 0.866 8 6 1 0 -1378 0 1 0 8.50172 30.317 9.99798 0 0 1 0.866 8 6 1 0 -1379 0 1 0 9.00182 29.4508 9.99798 0 0 1 0.866 8 6 1 0 -1380 0 1 0 9.50192 30.317 9.99798 0 0 1 0.866 8 6 1 0 -1381 0 1 0 10.002 29.4508 9.99798 0 0 1 0.866 8 6 1 0 -1382 0 1 0 10.5021 30.317 9.99798 0 0 1 0.866 8 6 1 0 -1383 0 1 0 11.0022 29.4508 9.99798 0 0 1 0.866 8 6 1 0 -1384 0 1 0 11.5023 30.317 9.99798 0 0 1 0.866 8 6 1 0 -1385 0 1 0 12.0024 29.4508 9.99798 0 0 1 0.866 8 6 1 0 -1386 0 1 0 12.5025 30.317 9.99798 0 0 1 0.866 8 6 1 0 -1387 0 1 0 13.0026 29.4508 9.99798 0 0 1 0.866 8 6 1 0 -1388 0 1 0 13.5027 30.317 9.99798 0 0 1 0.866 8 6 1 0 -1389 0 1 0 14.0028 29.4508 9.99798 0 0 1 0.866 8 6 1 0 -1390 0 1 0 14.5029 30.317 9.99798 0 0 1 0.866 8 6 1 0 -1391 0 1 0 15.003 29.4508 9.99798 0 0 1 0.866 8 6 1 0 -1392 0 1 0 15.5031 30.317 9.99798 0 0 1 0.866 8 6 1 0 -1393 0 1 0 16.0032 29.4508 9.99798 0 0 1 0.866 8 6 1 0 -1394 0 1 0 16.5033 30.317 9.99798 0 0 1 0.866 8 6 1 0 -1395 0 1 0 17.0034 29.4508 9.99798 0 0 1 0.866 8 6 1 0 -1396 0 1 0 17.5035 30.317 9.99798 0 0 1 0.866 8 6 1 0 -1397 0 1 0 18.0036 29.4508 9.99798 0 0 1 0.866 8 6 1 0 -1398 0 1 0 18.5037 30.317 9.99798 0 0 1 0.866 8 6 1 0 -1399 0 1 0 19.0038 29.4508 9.99798 0 0 1 0.866 8 6 1 0 -1400 0 1 0 19.5039 30.317 9.99798 0 0 1 0.866 8 6 1 0 -1401 0 1 0 20.004 29.4508 9.99798 0 0 1 0.866 8 6 1 0 -1402 0 1 0 20.5041 30.317 9.99798 0 0 1 0.866 8 6 1 0 -1403 0 1 0 21.0042 29.4508 9.99798 0 0 1 0.866 8 6 1 0 -1404 0 1 0 21.5043 30.317 9.99798 0 0 1 0.866 8 6 1 0 -1405 0 1 0 22.0045 29.4508 9.99798 0 0 1 0.866 8 6 1 0 -1406 0 1 0 22.5046 30.317 9.99798 0 0 1 0.866 8 6 1 0 -1407 0 1 0 23.0047 29.4508 9.99798 0 0 1 0.866 8 6 1 0 -1408 0 1 0 23.5048 30.317 9.99798 0 0 1 0.866 8 6 1 0 -1409 0 1 0 24.0049 29.4508 9.99798 0 0 1 0.866 8 6 1 0 -1410 0 1 0 24.505 30.317 9.99798 0 0 1 0.866 8 6 1 0 -1411 0 1 0 25.0051 29.4508 9.99798 0 0 1 0.866 8 6 1 0 -1412 0 1 0 25.5052 30.317 9.99798 0 0 1 0.866 8 6 1 0 -1413 0 1 0 26.0053 29.4508 9.99798 0 0 1 0.866 8 6 1 0 -1414 0 1 0 26.5054 30.317 9.99798 0 0 1 0.866 8 6 1 0 -1415 0 1 0 27.0055 29.4508 9.99798 0 0 1 0.866 8 6 1 0 -1416 0 1 0 27.5056 30.317 9.99798 0 0 1 0.866 8 6 1 0 -1417 0 1 0 28.0057 29.4508 9.99798 0 0 1 0.866 8 6 1 0 -1418 0 1 0 28.5058 30.317 9.99798 0 0 1 0.866 8 6 1 0 -1419 0 1 0 29.0059 29.4508 9.99798 0 0 1 0.866 8 6 1 0 -1420 0 1 0 29.506 30.317 9.99798 0 0 1 0.866 8 6 1 0 -1421 0 1 0 30.0061 29.4508 9.99798 0 0 1 0.866 8 6 1 0 -1422 0 1 0 30.5062 30.317 9.99798 0 0 1 0.866 8 6 1 0 -1423 0 1 0 31.0063 29.4508 9.99798 0 0 1 0.866 8 6 1 0 -1424 0 1 0 31.5064 30.317 9.99798 0 0 1 0.866 8 6 1 0 -1425 0 1 0 32.0065 29.4508 9.99798 0 0 1 0.866 8 6 1 0 -1426 0 1 0 32.5066 30.317 9.99798 0 0 1 0.866 8 6 1 0 -1427 0 1 0 33.0067 29.4508 9.99798 0 0 1 0.866 8 6 1 0 -1428 0 1 0 33.5068 30.317 9.99798 0 0 1 0.866 8 6 1 0 -1429 0 1 0 34.0069 29.4508 9.99798 0 0 1 0.866 8 6 1 0 -1430 0 1 0 34.507 30.317 9.99798 0 0 1 0.866 8 6 1 0 -1431 0 1 0 35.0071 29.4508 9.99798 0 0 1 0.866 8 6 1 0 -1432 0 1 0 35.5072 30.317 9.99798 0 0 1 0.866 8 6 1 0 -1433 0 1 0 36.0073 29.4508 9.99798 0 0 1 0.866 8 6 1 0 -1434 0 1 0 36.5074 30.317 9.99798 0 0 1 0.866 8 6 1 0 -1435 0 1 0 37.0075 29.4508 9.99798 0 0 1 0.866 8 6 1 0 -1436 0 1 0 37.5076 30.317 9.99798 0 0 1 0.866 8 6 1 0 -1437 0 1 0 38.0077 29.4508 9.99798 0 0 1 0.866 8 6 1 0 -1438 0 1 0 38.5078 30.317 9.99798 0 0 1 0.866 8 6 1 0 -1439 0 1 0 39.0079 29.4508 9.99798 0 0 1 0.866 8 6 1 0 -1440 0 1 0 39.508 30.317 9.99798 0 0 1 0.866 8 6 1 0 -1441 0 1 0 0 31.1832 9.99798 0 0 1 0.866 8 6 1 0 -1442 0 1 0 0.500101 32.0494 9.99798 0 0 1 0.866 8 6 1 0 -1443 0 1 0 1.0002 31.1832 9.99798 0 0 1 0.866 8 6 1 0 -1444 0 1 0 1.5003 32.0494 9.99798 0 0 1 0.866 8 6 1 0 -1445 0 1 0 2.0004 31.1832 9.99798 0 0 1 0.866 8 6 1 0 -1446 0 1 0 2.50051 32.0494 9.99798 0 0 1 0.866 8 6 1 0 -1447 0 1 0 3.00061 31.1832 9.99798 0 0 1 0.866 8 6 1 0 -1448 0 1 0 3.50071 32.0494 9.99798 0 0 1 0.866 8 6 1 0 -1449 0 1 0 4.00081 31.1832 9.99798 0 0 1 0.866 8 6 1 0 -1450 0 1 0 4.50091 32.0494 9.99798 0 0 1 0.866 8 6 1 0 -1451 0 1 0 5.00101 31.1832 9.99798 0 0 1 0.866 8 6 1 0 -1452 0 1 0 5.50111 32.0494 9.99798 0 0 1 0.866 8 6 1 0 -1453 0 1 0 6.00121 31.1832 9.99798 0 0 1 0.866 8 6 1 0 -1454 0 1 0 6.50132 32.0494 9.99798 0 0 1 0.866 8 6 1 0 -1455 0 1 0 7.00142 31.1832 9.99798 0 0 1 0.866 8 6 1 0 -1456 0 1 0 7.50152 32.0494 9.99798 0 0 1 0.866 8 6 1 0 -1457 0 1 0 8.00162 31.1832 9.99798 0 0 1 0.866 8 6 1 0 -1458 0 1 0 8.50172 32.0494 9.99798 0 0 1 0.866 8 6 1 0 -1459 0 1 0 9.00182 31.1832 9.99798 0 0 1 0.866 8 6 1 0 -1460 0 1 0 9.50192 32.0494 9.99798 0 0 1 0.866 8 6 1 0 -1461 0 1 0 10.002 31.1832 9.99798 0 0 1 0.866 8 6 1 0 -1462 0 1 0 10.5021 32.0494 9.99798 0 0 1 0.866 8 6 1 0 -1463 0 1 0 11.0022 31.1832 9.99798 0 0 1 0.866 8 6 1 0 -1464 0 1 0 11.5023 32.0494 9.99798 0 0 1 0.866 8 6 1 0 -1465 0 1 0 12.0024 31.1832 9.99798 0 0 1 0.866 8 6 1 0 -1466 0 1 0 12.5025 32.0494 9.99798 0 0 1 0.866 8 6 1 0 -1467 0 1 0 13.0026 31.1832 9.99798 0 0 1 0.866 8 6 1 0 -1468 0 1 0 13.5027 32.0494 9.99798 0 0 1 0.866 8 6 1 0 -1469 0 1 0 14.0028 31.1832 9.99798 0 0 1 0.866 8 6 1 0 -1470 0 1 0 14.5029 32.0494 9.99798 0 0 1 0.866 8 6 1 0 -1471 0 1 0 15.003 31.1832 9.99798 0 0 1 0.866 8 6 1 0 -1472 0 1 0 15.5031 32.0494 9.99798 0 0 1 0.866 8 6 1 0 -1473 0 1 0 16.0032 31.1832 9.99798 0 0 1 0.866 8 6 1 0 -1474 0 1 0 16.5033 32.0494 9.99798 0 0 1 0.866 8 6 1 0 -1475 0 1 0 17.0034 31.1832 9.99798 0 0 1 0.866 8 6 1 0 -1476 0 1 0 17.5035 32.0494 9.99798 0 0 1 0.866 8 6 1 0 -1477 0 1 0 18.0036 31.1832 9.99798 0 0 1 0.866 8 6 1 0 -1478 0 1 0 18.5037 32.0494 9.99798 0 0 1 0.866 8 6 1 0 -1479 0 1 0 19.0038 31.1832 9.99798 0 0 1 0.866 8 6 1 0 -1480 0 1 0 19.5039 32.0494 9.99798 0 0 1 0.866 8 6 1 0 -1481 0 1 0 20.004 31.1832 9.99798 0 0 1 0.866 8 6 1 0 -1482 0 1 0 20.5041 32.0494 9.99798 0 0 1 0.866 8 6 1 0 -1483 0 1 0 21.0042 31.1832 9.99798 0 0 1 0.866 8 6 1 0 -1484 0 1 0 21.5043 32.0494 9.99798 0 0 1 0.866 8 6 1 0 -1485 0 1 0 22.0045 31.1832 9.99798 0 0 1 0.866 8 6 1 0 -1486 0 1 0 22.5046 32.0494 9.99798 0 0 1 0.866 8 6 1 0 -1487 0 1 0 23.0047 31.1832 9.99798 0 0 1 0.866 8 6 1 0 -1488 0 1 0 23.5048 32.0494 9.99798 0 0 1 0.866 8 6 1 0 -1489 0 1 0 24.0049 31.1832 9.99798 0 0 1 0.866 8 6 1 0 -1490 0 1 0 24.505 32.0494 9.99798 0 0 1 0.866 8 6 1 0 -1491 0 1 0 25.0051 31.1832 9.99798 0 0 1 0.866 8 6 1 0 -1492 0 1 0 25.5052 32.0494 9.99798 0 0 1 0.866 8 6 1 0 -1493 0 1 0 26.0053 31.1832 9.99798 0 0 1 0.866 8 6 1 0 -1494 0 1 0 26.5054 32.0494 9.99798 0 0 1 0.866 8 6 1 0 -1495 0 1 0 27.0055 31.1832 9.99798 0 0 1 0.866 8 6 1 0 -1496 0 1 0 27.5056 32.0494 9.99798 0 0 1 0.866 8 6 1 0 -1497 0 1 0 28.0057 31.1832 9.99798 0 0 1 0.866 8 6 1 0 -1498 0 1 0 28.5058 32.0494 9.99798 0 0 1 0.866 8 6 1 0 -1499 0 1 0 29.0059 31.1832 9.99798 0 0 1 0.866 8 6 1 0 -1500 0 1 0 29.506 32.0494 9.99798 0 0 1 0.866 8 6 1 0 -1501 0 1 0 30.0061 31.1832 9.99798 0 0 1 0.866 8 6 1 0 -1502 0 1 0 30.5062 32.0494 9.99798 0 0 1 0.866 8 6 1 0 -1503 0 1 0 31.0063 31.1832 9.99798 0 0 1 0.866 8 6 1 0 -1504 0 1 0 31.5064 32.0494 9.99798 0 0 1 0.866 8 6 1 0 -1505 0 1 0 32.0065 31.1832 9.99798 0 0 1 0.866 8 6 1 0 -1506 0 1 0 32.5066 32.0494 9.99798 0 0 1 0.866 8 6 1 0 -1507 0 1 0 33.0067 31.1832 9.99798 0 0 1 0.866 8 6 1 0 -1508 0 1 0 33.5068 32.0494 9.99798 0 0 1 0.866 8 6 1 0 -1509 0 1 0 34.0069 31.1832 9.99798 0 0 1 0.866 8 6 1 0 -1510 0 1 0 34.507 32.0494 9.99798 0 0 1 0.866 8 6 1 0 -1511 0 1 0 35.0071 31.1832 9.99798 0 0 1 0.866 8 6 1 0 -1512 0 1 0 35.5072 32.0494 9.99798 0 0 1 0.866 8 6 1 0 -1513 0 1 0 36.0073 31.1832 9.99798 0 0 1 0.866 8 6 1 0 -1514 0 1 0 36.5074 32.0494 9.99798 0 0 1 0.866 8 6 1 0 -1515 0 1 0 37.0075 31.1832 9.99798 0 0 1 0.866 8 6 1 0 -1516 0 1 0 37.5076 32.0494 9.99798 0 0 1 0.866 8 6 1 0 -1517 0 1 0 38.0077 31.1832 9.99798 0 0 1 0.866 8 6 1 0 -1518 0 1 0 38.5078 32.0494 9.99798 0 0 1 0.866 8 6 1 0 -1519 0 1 0 39.0079 31.1832 9.99798 0 0 1 0.866 8 6 1 0 -1520 0 1 0 39.508 32.0494 9.99798 0 0 1 0.866 8 6 1 0 -1521 0 1 0 0 32.9156 9.99798 0 0 1 0.866 8 6 1 0 -1522 0 1 0 0.500101 33.7818 9.99798 0 0 1 0.866 8 6 1 0 -1523 0 1 0 1.0002 32.9156 9.99798 0 0 1 0.866 8 6 1 0 -1524 0 1 0 1.5003 33.7818 9.99798 0 0 1 0.866 8 6 1 0 -1525 0 1 0 2.0004 32.9156 9.99798 0 0 1 0.866 8 6 1 0 -1526 0 1 0 2.50051 33.7818 9.99798 0 0 1 0.866 8 6 1 0 -1527 0 1 0 3.00061 32.9156 9.99798 0 0 1 0.866 8 6 1 0 -1528 0 1 0 3.50071 33.7818 9.99798 0 0 1 0.866 8 6 1 0 -1529 0 1 0 4.00081 32.9156 9.99798 0 0 1 0.866 8 6 1 0 -1530 0 1 0 4.50091 33.7818 9.99798 0 0 1 0.866 8 6 1 0 -1531 0 1 0 5.00101 32.9156 9.99798 0 0 1 0.866 8 6 1 0 -1532 0 1 0 5.50111 33.7818 9.99798 0 0 1 0.866 8 6 1 0 -1533 0 1 0 6.00121 32.9156 9.99798 0 0 1 0.866 8 6 1 0 -1534 0 1 0 6.50132 33.7818 9.99798 0 0 1 0.866 8 6 1 0 -1535 0 1 0 7.00142 32.9156 9.99798 0 0 1 0.866 8 6 1 0 -1536 0 1 0 7.50152 33.7818 9.99798 0 0 1 0.866 8 6 1 0 -1537 0 1 0 8.00162 32.9156 9.99798 0 0 1 0.866 8 6 1 0 -1538 0 1 0 8.50172 33.7818 9.99798 0 0 1 0.866 8 6 1 0 -1539 0 1 0 9.00182 32.9156 9.99798 0 0 1 0.866 8 6 1 0 -1540 0 1 0 9.50192 33.7818 9.99798 0 0 1 0.866 8 6 1 0 -1541 0 1 0 10.002 32.9156 9.99798 0 0 1 0.866 8 6 1 0 -1542 0 1 0 10.5021 33.7818 9.99798 0 0 1 0.866 8 6 1 0 -1543 0 1 0 11.0022 32.9156 9.99798 0 0 1 0.866 8 6 1 0 -1544 0 1 0 11.5023 33.7818 9.99798 0 0 1 0.866 8 6 1 0 -1545 0 1 0 12.0024 32.9156 9.99798 0 0 1 0.866 8 6 1 0 -1546 0 1 0 12.5025 33.7818 9.99798 0 0 1 0.866 8 6 1 0 -1547 0 1 0 13.0026 32.9156 9.99798 0 0 1 0.866 8 6 1 0 -1548 0 1 0 13.5027 33.7818 9.99798 0 0 1 0.866 8 6 1 0 -1549 0 1 0 14.0028 32.9156 9.99798 0 0 1 0.866 8 6 1 0 -1550 0 1 0 14.5029 33.7818 9.99798 0 0 1 0.866 8 6 1 0 -1551 0 1 0 15.003 32.9156 9.99798 0 0 1 0.866 8 6 1 0 -1552 0 1 0 15.5031 33.7818 9.99798 0 0 1 0.866 8 6 1 0 -1553 0 1 0 16.0032 32.9156 9.99798 0 0 1 0.866 8 6 1 0 -1554 0 1 0 16.5033 33.7818 9.99798 0 0 1 0.866 8 6 1 0 -1555 0 1 0 17.0034 32.9156 9.99798 0 0 1 0.866 8 6 1 0 -1556 0 1 0 17.5035 33.7818 9.99798 0 0 1 0.866 8 6 1 0 -1557 0 1 0 18.0036 32.9156 9.99798 0 0 1 0.866 8 6 1 0 -1558 0 1 0 18.5037 33.7818 9.99798 0 0 1 0.866 8 6 1 0 -1559 0 1 0 19.0038 32.9156 9.99798 0 0 1 0.866 8 6 1 0 -1560 0 1 0 19.5039 33.7818 9.99798 0 0 1 0.866 8 6 1 0 -1561 0 1 0 20.004 32.9156 9.99798 0 0 1 0.866 8 6 1 0 -1562 0 1 0 20.5041 33.7818 9.99798 0 0 1 0.866 8 6 1 0 -1563 0 1 0 21.0042 32.9156 9.99798 0 0 1 0.866 8 6 1 0 -1564 0 1 0 21.5043 33.7818 9.99798 0 0 1 0.866 8 6 1 0 -1565 0 1 0 22.0045 32.9156 9.99798 0 0 1 0.866 8 6 1 0 -1566 0 1 0 22.5046 33.7818 9.99798 0 0 1 0.866 8 6 1 0 -1567 0 1 0 23.0047 32.9156 9.99798 0 0 1 0.866 8 6 1 0 -1568 0 1 0 23.5048 33.7818 9.99798 0 0 1 0.866 8 6 1 0 -1569 0 1 0 24.0049 32.9156 9.99798 0 0 1 0.866 8 6 1 0 -1570 0 1 0 24.505 33.7818 9.99798 0 0 1 0.866 8 6 1 0 -1571 0 1 0 25.0051 32.9156 9.99798 0 0 1 0.866 8 6 1 0 -1572 0 1 0 25.5052 33.7818 9.99798 0 0 1 0.866 8 6 1 0 -1573 0 1 0 26.0053 32.9156 9.99798 0 0 1 0.866 8 6 1 0 -1574 0 1 0 26.5054 33.7818 9.99798 0 0 1 0.866 8 6 1 0 -1575 0 1 0 27.0055 32.9156 9.99798 0 0 1 0.866 8 6 1 0 -1576 0 1 0 27.5056 33.7818 9.99798 0 0 1 0.866 8 6 1 0 -1577 0 1 0 28.0057 32.9156 9.99798 0 0 1 0.866 8 6 1 0 -1578 0 1 0 28.5058 33.7818 9.99798 0 0 1 0.866 8 6 1 0 -1579 0 1 0 29.0059 32.9156 9.99798 0 0 1 0.866 8 6 1 0 -1580 0 1 0 29.506 33.7818 9.99798 0 0 1 0.866 8 6 1 0 -1581 0 1 0 30.0061 32.9156 9.99798 0 0 1 0.866 8 6 1 0 -1582 0 1 0 30.5062 33.7818 9.99798 0 0 1 0.866 8 6 1 0 -1583 0 1 0 31.0063 32.9156 9.99798 0 0 1 0.866 8 6 1 0 -1584 0 1 0 31.5064 33.7818 9.99798 0 0 1 0.866 8 6 1 0 -1585 0 1 0 32.0065 32.9156 9.99798 0 0 1 0.866 8 6 1 0 -1586 0 1 0 32.5066 33.7818 9.99798 0 0 1 0.866 8 6 1 0 -1587 0 1 0 33.0067 32.9156 9.99798 0 0 1 0.866 8 6 1 0 -1588 0 1 0 33.5068 33.7818 9.99798 0 0 1 0.866 8 6 1 0 -1589 0 1 0 34.0069 32.9156 9.99798 0 0 1 0.866 8 6 1 0 -1590 0 1 0 34.507 33.7818 9.99798 0 0 1 0.866 8 6 1 0 -1591 0 1 0 35.0071 32.9156 9.99798 0 0 1 0.866 8 6 1 0 -1592 0 1 0 35.5072 33.7818 9.99798 0 0 1 0.866 8 6 1 0 -1593 0 1 0 36.0073 32.9156 9.99798 0 0 1 0.866 8 6 1 0 -1594 0 1 0 36.5074 33.7818 9.99798 0 0 1 0.866 8 6 1 0 -1595 0 1 0 37.0075 32.9156 9.99798 0 0 1 0.866 8 6 1 0 -1596 0 1 0 37.5076 33.7818 9.99798 0 0 1 0.866 8 6 1 0 -1597 0 1 0 38.0077 32.9156 9.99798 0 0 1 0.866 8 6 1 0 -1598 0 1 0 38.5078 33.7818 9.99798 0 0 1 0.866 8 6 1 0 -1599 0 1 0 39.0079 32.9156 9.99798 0 0 1 0.866 8 6 1 0 -1600 0 1 0 39.508 33.7818 9.99798 0 0 1 0.866 8 6 1 0 -1601 0 1 0 0 34.648 9.99798 0 0 1 0.866 8 6 1 0 -1602 0 1 0 0.500101 35.5142 9.99798 0 0 1 0.866 8 6 1 0 -1603 0 1 0 1.0002 34.648 9.99798 0 0 1 0.866 8 6 1 0 -1604 0 1 0 1.5003 35.5142 9.99798 0 0 1 0.866 8 6 1 0 -1605 0 1 0 2.0004 34.648 9.99798 0 0 1 0.866 8 6 1 0 -1606 0 1 0 2.50051 35.5142 9.99798 0 0 1 0.866 8 6 1 0 -1607 0 1 0 3.00061 34.648 9.99798 0 0 1 0.866 8 6 1 0 -1608 0 1 0 3.50071 35.5142 9.99798 0 0 1 0.866 8 6 1 0 -1609 0 1 0 4.00081 34.648 9.99798 0 0 1 0.866 8 6 1 0 -1610 0 1 0 4.50091 35.5142 9.99798 0 0 1 0.866 8 6 1 0 -1611 0 1 0 5.00101 34.648 9.99798 0 0 1 0.866 8 6 1 0 -1612 0 1 0 5.50111 35.5142 9.99798 0 0 1 0.866 8 6 1 0 -1613 0 1 0 6.00121 34.648 9.99798 0 0 1 0.866 8 6 1 0 -1614 0 1 0 6.50132 35.5142 9.99798 0 0 1 0.866 8 6 1 0 -1615 0 1 0 7.00142 34.648 9.99798 0 0 1 0.866 8 6 1 0 -1616 0 1 0 7.50152 35.5142 9.99798 0 0 1 0.866 8 6 1 0 -1617 0 1 0 8.00162 34.648 9.99798 0 0 1 0.866 8 6 1 0 -1618 0 1 0 8.50172 35.5142 9.99798 0 0 1 0.866 8 6 1 0 -1619 0 1 0 9.00182 34.648 9.99798 0 0 1 0.866 8 6 1 0 -1620 0 1 0 9.50192 35.5142 9.99798 0 0 1 0.866 8 6 1 0 -1621 0 1 0 10.002 34.648 9.99798 0 0 1 0.866 8 6 1 0 -1622 0 1 0 10.5021 35.5142 9.99798 0 0 1 0.866 8 6 1 0 -1623 0 1 0 11.0022 34.648 9.99798 0 0 1 0.866 8 6 1 0 -1624 0 1 0 11.5023 35.5142 9.99798 0 0 1 0.866 8 6 1 0 -1625 0 1 0 12.0024 34.648 9.99798 0 0 1 0.866 8 6 1 0 -1626 0 1 0 12.5025 35.5142 9.99798 0 0 1 0.866 8 6 1 0 -1627 0 1 0 13.0026 34.648 9.99798 0 0 1 0.866 8 6 1 0 -1628 0 1 0 13.5027 35.5142 9.99798 0 0 1 0.866 8 6 1 0 -1629 0 1 0 14.0028 34.648 9.99798 0 0 1 0.866 8 6 1 0 -1630 0 1 0 14.5029 35.5142 9.99798 0 0 1 0.866 8 6 1 0 -1631 0 1 0 15.003 34.648 9.99798 0 0 1 0.866 8 6 1 0 -1632 0 1 0 15.5031 35.5142 9.99798 0 0 1 0.866 8 6 1 0 -1633 0 1 0 16.0032 34.648 9.99798 0 0 1 0.866 8 6 1 0 -1634 0 1 0 16.5033 35.5142 9.99798 0 0 1 0.866 8 6 1 0 -1635 0 1 0 17.0034 34.648 9.99798 0 0 1 0.866 8 6 1 0 -1636 0 1 0 17.5035 35.5142 9.99798 0 0 1 0.866 8 6 1 0 -1637 0 1 0 18.0036 34.648 9.99798 0 0 1 0.866 8 6 1 0 -1638 0 1 0 18.5037 35.5142 9.99798 0 0 1 0.866 8 6 1 0 -1639 0 1 0 19.0038 34.648 9.99798 0 0 1 0.866 8 6 1 0 -1640 0 1 0 19.5039 35.5142 9.99798 0 0 1 0.866 8 6 1 0 -1641 0 1 0 20.004 34.648 9.99798 0 0 1 0.866 8 6 1 0 -1642 0 1 0 20.5041 35.5142 9.99798 0 0 1 0.866 8 6 1 0 -1643 0 1 0 21.0042 34.648 9.99798 0 0 1 0.866 8 6 1 0 -1644 0 1 0 21.5043 35.5142 9.99798 0 0 1 0.866 8 6 1 0 -1645 0 1 0 22.0045 34.648 9.99798 0 0 1 0.866 8 6 1 0 -1646 0 1 0 22.5046 35.5142 9.99798 0 0 1 0.866 8 6 1 0 -1647 0 1 0 23.0047 34.648 9.99798 0 0 1 0.866 8 6 1 0 -1648 0 1 0 23.5048 35.5142 9.99798 0 0 1 0.866 8 6 1 0 -1649 0 1 0 24.0049 34.648 9.99798 0 0 1 0.866 8 6 1 0 -1650 0 1 0 24.505 35.5142 9.99798 0 0 1 0.866 8 6 1 0 -1651 0 1 0 25.0051 34.648 9.99798 0 0 1 0.866 8 6 1 0 -1652 0 1 0 25.5052 35.5142 9.99798 0 0 1 0.866 8 6 1 0 -1653 0 1 0 26.0053 34.648 9.99798 0 0 1 0.866 8 6 1 0 -1654 0 1 0 26.5054 35.5142 9.99798 0 0 1 0.866 8 6 1 0 -1655 0 1 0 27.0055 34.648 9.99798 0 0 1 0.866 8 6 1 0 -1656 0 1 0 27.5056 35.5142 9.99798 0 0 1 0.866 8 6 1 0 -1657 0 1 0 28.0057 34.648 9.99798 0 0 1 0.866 8 6 1 0 -1658 0 1 0 28.5058 35.5142 9.99798 0 0 1 0.866 8 6 1 0 -1659 0 1 0 29.0059 34.648 9.99798 0 0 1 0.866 8 6 1 0 -1660 0 1 0 29.506 35.5142 9.99798 0 0 1 0.866 8 6 1 0 -1661 0 1 0 30.0061 34.648 9.99798 0 0 1 0.866 8 6 1 0 -1662 0 1 0 30.5062 35.5142 9.99798 0 0 1 0.866 8 6 1 0 -1663 0 1 0 31.0063 34.648 9.99798 0 0 1 0.866 8 6 1 0 -1664 0 1 0 31.5064 35.5142 9.99798 0 0 1 0.866 8 6 1 0 -1665 0 1 0 32.0065 34.648 9.99798 0 0 1 0.866 8 6 1 0 -1666 0 1 0 32.5066 35.5142 9.99798 0 0 1 0.866 8 6 1 0 -1667 0 1 0 33.0067 34.648 9.99798 0 0 1 0.866 8 6 1 0 -1668 0 1 0 33.5068 35.5142 9.99798 0 0 1 0.866 8 6 1 0 -1669 0 1 0 34.0069 34.648 9.99798 0 0 1 0.866 8 6 1 0 -1670 0 1 0 34.507 35.5142 9.99798 0 0 1 0.866 8 6 1 0 -1671 0 1 0 35.0071 34.648 9.99798 0 0 1 0.866 8 6 1 0 -1672 0 1 0 35.5072 35.5142 9.99798 0 0 1 0.866 8 6 1 0 -1673 0 1 0 36.0073 34.648 9.99798 0 0 1 0.866 8 6 1 0 -1674 0 1 0 36.5074 35.5142 9.99798 0 0 1 0.866 8 6 1 0 -1675 0 1 0 37.0075 34.648 9.99798 0 0 1 0.866 8 6 1 0 -1676 0 1 0 37.5076 35.5142 9.99798 0 0 1 0.866 8 6 1 0 -1677 0 1 0 38.0077 34.648 9.99798 0 0 1 0.866 8 6 1 0 -1678 0 1 0 38.5078 35.5142 9.99798 0 0 1 0.866 8 6 1 0 -1679 0 1 0 39.0079 34.648 9.99798 0 0 1 0.866 8 6 1 0 -1680 0 1 0 39.508 35.5142 9.99798 0 0 1 0.866 8 6 1 0 -1681 0 1 0 0 36.3804 9.99798 0 0 1 0.866 8 6 1 0 -1682 0 1 0 0.500101 37.2466 9.99798 0 0 1 0.866 8 6 1 0 -1683 0 1 0 1.0002 36.3804 9.99798 0 0 1 0.866 8 6 1 0 -1684 0 1 0 1.5003 37.2466 9.99798 0 0 1 0.866 8 6 1 0 -1685 0 1 0 2.0004 36.3804 9.99798 0 0 1 0.866 8 6 1 0 -1686 0 1 0 2.50051 37.2466 9.99798 0 0 1 0.866 8 6 1 0 -1687 0 1 0 3.00061 36.3804 9.99798 0 0 1 0.866 8 6 1 0 -1688 0 1 0 3.50071 37.2466 9.99798 0 0 1 0.866 8 6 1 0 -1689 0 1 0 4.00081 36.3804 9.99798 0 0 1 0.866 8 6 1 0 -1690 0 1 0 4.50091 37.2466 9.99798 0 0 1 0.866 8 6 1 0 -1691 0 1 0 5.00101 36.3804 9.99798 0 0 1 0.866 8 6 1 0 -1692 0 1 0 5.50111 37.2466 9.99798 0 0 1 0.866 8 6 1 0 -1693 0 1 0 6.00121 36.3804 9.99798 0 0 1 0.866 8 6 1 0 -1694 0 1 0 6.50132 37.2466 9.99798 0 0 1 0.866 8 6 1 0 -1695 0 1 0 7.00142 36.3804 9.99798 0 0 1 0.866 8 6 1 0 -1696 0 1 0 7.50152 37.2466 9.99798 0 0 1 0.866 8 6 1 0 -1697 0 1 0 8.00162 36.3804 9.99798 0 0 1 0.866 8 6 1 0 -1698 0 1 0 8.50172 37.2466 9.99798 0 0 1 0.866 8 6 1 0 -1699 0 1 0 9.00182 36.3804 9.99798 0 0 1 0.866 8 6 1 0 -1700 0 1 0 9.50192 37.2466 9.99798 0 0 1 0.866 8 6 1 0 -1701 0 1 0 10.002 36.3804 9.99798 0 0 1 0.866 8 6 1 0 -1702 0 1 0 10.5021 37.2466 9.99798 0 0 1 0.866 8 6 1 0 -1703 0 1 0 11.0022 36.3804 9.99798 0 0 1 0.866 8 6 1 0 -1704 0 1 0 11.5023 37.2466 9.99798 0 0 1 0.866 8 6 1 0 -1705 0 1 0 12.0024 36.3804 9.99798 0 0 1 0.866 8 6 1 0 -1706 0 1 0 12.5025 37.2466 9.99798 0 0 1 0.866 8 6 1 0 -1707 0 1 0 13.0026 36.3804 9.99798 0 0 1 0.866 8 6 1 0 -1708 0 1 0 13.5027 37.2466 9.99798 0 0 1 0.866 8 6 1 0 -1709 0 1 0 14.0028 36.3804 9.99798 0 0 1 0.866 8 6 1 0 -1710 0 1 0 14.5029 37.2466 9.99798 0 0 1 0.866 8 6 1 0 -1711 0 1 0 15.003 36.3804 9.99798 0 0 1 0.866 8 6 1 0 -1712 0 1 0 15.5031 37.2466 9.99798 0 0 1 0.866 8 6 1 0 -1713 0 1 0 16.0032 36.3804 9.99798 0 0 1 0.866 8 6 1 0 -1714 0 1 0 16.5033 37.2466 9.99798 0 0 1 0.866 8 6 1 0 -1715 0 1 0 17.0034 36.3804 9.99798 0 0 1 0.866 8 6 1 0 -1716 0 1 0 17.5035 37.2466 9.99798 0 0 1 0.866 8 6 1 0 -1717 0 1 0 18.0036 36.3804 9.99798 0 0 1 0.866 8 6 1 0 -1718 0 1 0 18.5037 37.2466 9.99798 0 0 1 0.866 8 6 1 0 -1719 0 1 0 19.0038 36.3804 9.99798 0 0 1 0.866 8 6 1 0 -1720 0 1 0 19.5039 37.2466 9.99798 0 0 1 0.866 8 6 1 0 -1721 0 1 0 20.004 36.3804 9.99798 0 0 1 0.866 8 6 1 0 -1722 0 1 0 20.5041 37.2466 9.99798 0 0 1 0.866 8 6 1 0 -1723 0 1 0 21.0042 36.3804 9.99798 0 0 1 0.866 8 6 1 0 -1724 0 1 0 21.5043 37.2466 9.99798 0 0 1 0.866 8 6 1 0 -1725 0 1 0 22.0045 36.3804 9.99798 0 0 1 0.866 8 6 1 0 -1726 0 1 0 22.5046 37.2466 9.99798 0 0 1 0.866 8 6 1 0 -1727 0 1 0 23.0047 36.3804 9.99798 0 0 1 0.866 8 6 1 0 -1728 0 1 0 23.5048 37.2466 9.99798 0 0 1 0.866 8 6 1 0 -1729 0 1 0 24.0049 36.3804 9.99798 0 0 1 0.866 8 6 1 0 -1730 0 1 0 24.505 37.2466 9.99798 0 0 1 0.866 8 6 1 0 -1731 0 1 0 25.0051 36.3804 9.99798 0 0 1 0.866 8 6 1 0 -1732 0 1 0 25.5052 37.2466 9.99798 0 0 1 0.866 8 6 1 0 -1733 0 1 0 26.0053 36.3804 9.99798 0 0 1 0.866 8 6 1 0 -1734 0 1 0 26.5054 37.2466 9.99798 0 0 1 0.866 8 6 1 0 -1735 0 1 0 27.0055 36.3804 9.99798 0 0 1 0.866 8 6 1 0 -1736 0 1 0 27.5056 37.2466 9.99798 0 0 1 0.866 8 6 1 0 -1737 0 1 0 28.0057 36.3804 9.99798 0 0 1 0.866 8 6 1 0 -1738 0 1 0 28.5058 37.2466 9.99798 0 0 1 0.866 8 6 1 0 -1739 0 1 0 29.0059 36.3804 9.99798 0 0 1 0.866 8 6 1 0 -1740 0 1 0 29.506 37.2466 9.99798 0 0 1 0.866 8 6 1 0 -1741 0 1 0 30.0061 36.3804 9.99798 0 0 1 0.866 8 6 1 0 -1742 0 1 0 30.5062 37.2466 9.99798 0 0 1 0.866 8 6 1 0 -1743 0 1 0 31.0063 36.3804 9.99798 0 0 1 0.866 8 6 1 0 -1744 0 1 0 31.5064 37.2466 9.99798 0 0 1 0.866 8 6 1 0 -1745 0 1 0 32.0065 36.3804 9.99798 0 0 1 0.866 8 6 1 0 -1746 0 1 0 32.5066 37.2466 9.99798 0 0 1 0.866 8 6 1 0 -1747 0 1 0 33.0067 36.3804 9.99798 0 0 1 0.866 8 6 1 0 -1748 0 1 0 33.5068 37.2466 9.99798 0 0 1 0.866 8 6 1 0 -1749 0 1 0 34.0069 36.3804 9.99798 0 0 1 0.866 8 6 1 0 -1750 0 1 0 34.507 37.2466 9.99798 0 0 1 0.866 8 6 1 0 -1751 0 1 0 35.0071 36.3804 9.99798 0 0 1 0.866 8 6 1 0 -1752 0 1 0 35.5072 37.2466 9.99798 0 0 1 0.866 8 6 1 0 -1753 0 1 0 36.0073 36.3804 9.99798 0 0 1 0.866 8 6 1 0 -1754 0 1 0 36.5074 37.2466 9.99798 0 0 1 0.866 8 6 1 0 -1755 0 1 0 37.0075 36.3804 9.99798 0 0 1 0.866 8 6 1 0 -1756 0 1 0 37.5076 37.2466 9.99798 0 0 1 0.866 8 6 1 0 -1757 0 1 0 38.0077 36.3804 9.99798 0 0 1 0.866 8 6 1 0 -1758 0 1 0 38.5078 37.2466 9.99798 0 0 1 0.866 8 6 1 0 -1759 0 1 0 39.0079 36.3804 9.99798 0 0 1 0.866 8 6 1 0 -1760 0 1 0 39.508 37.2466 9.99798 0 0 1 0.866 8 6 1 0 -1761 0 1 0 0 38.1128 9.99798 0 0 1 0.866 8 6 1 0 -1762 0 1 0 0.500101 38.979 9.99798 0 0 1 0.866 8 6 1 0 -1763 0 1 0 1.0002 38.1128 9.99798 0 0 1 0.866 8 6 1 0 -1764 0 1 0 1.5003 38.979 9.99798 0 0 1 0.866 8 6 1 0 -1765 0 1 0 2.0004 38.1128 9.99798 0 0 1 0.866 8 6 1 0 -1766 0 1 0 2.50051 38.979 9.99798 0 0 1 0.866 8 6 1 0 -1767 0 1 0 3.00061 38.1128 9.99798 0 0 1 0.866 8 6 1 0 -1768 0 1 0 3.50071 38.979 9.99798 0 0 1 0.866 8 6 1 0 -1769 0 1 0 4.00081 38.1128 9.99798 0 0 1 0.866 8 6 1 0 -1770 0 1 0 4.50091 38.979 9.99798 0 0 1 0.866 8 6 1 0 -1771 0 1 0 5.00101 38.1128 9.99798 0 0 1 0.866 8 6 1 0 -1772 0 1 0 5.50111 38.979 9.99798 0 0 1 0.866 8 6 1 0 -1773 0 1 0 6.00121 38.1128 9.99798 0 0 1 0.866 8 6 1 0 -1774 0 1 0 6.50132 38.979 9.99798 0 0 1 0.866 8 6 1 0 -1775 0 1 0 7.00142 38.1128 9.99798 0 0 1 0.866 8 6 1 0 -1776 0 1 0 7.50152 38.979 9.99798 0 0 1 0.866 8 6 1 0 -1777 0 1 0 8.00162 38.1128 9.99798 0 0 1 0.866 8 6 1 0 -1778 0 1 0 8.50172 38.979 9.99798 0 0 1 0.866 8 6 1 0 -1779 0 1 0 9.00182 38.1128 9.99798 0 0 1 0.866 8 6 1 0 -1780 0 1 0 9.50192 38.979 9.99798 0 0 1 0.866 8 6 1 0 -1781 0 1 0 10.002 38.1128 9.99798 0 0 1 0.866 8 6 1 0 -1782 0 1 0 10.5021 38.979 9.99798 0 0 1 0.866 8 6 1 0 -1783 0 1 0 11.0022 38.1128 9.99798 0 0 1 0.866 8 6 1 0 -1784 0 1 0 11.5023 38.979 9.99798 0 0 1 0.866 8 6 1 0 -1785 0 1 0 12.0024 38.1128 9.99798 0 0 1 0.866 8 6 1 0 -1786 0 1 0 12.5025 38.979 9.99798 0 0 1 0.866 8 6 1 0 -1787 0 1 0 13.0026 38.1128 9.99798 0 0 1 0.866 8 6 1 0 -1788 0 1 0 13.5027 38.979 9.99798 0 0 1 0.866 8 6 1 0 -1789 0 1 0 14.0028 38.1128 9.99798 0 0 1 0.866 8 6 1 0 -1790 0 1 0 14.5029 38.979 9.99798 0 0 1 0.866 8 6 1 0 -1791 0 1 0 15.003 38.1128 9.99798 0 0 1 0.866 8 6 1 0 -1792 0 1 0 15.5031 38.979 9.99798 0 0 1 0.866 8 6 1 0 -1793 0 1 0 16.0032 38.1128 9.99798 0 0 1 0.866 8 6 1 0 -1794 0 1 0 16.5033 38.979 9.99798 0 0 1 0.866 8 6 1 0 -1795 0 1 0 17.0034 38.1128 9.99798 0 0 1 0.866 8 6 1 0 -1796 0 1 0 17.5035 38.979 9.99798 0 0 1 0.866 8 6 1 0 -1797 0 1 0 18.0036 38.1128 9.99798 0 0 1 0.866 8 6 1 0 -1798 0 1 0 18.5037 38.979 9.99798 0 0 1 0.866 8 6 1 0 -1799 0 1 0 19.0038 38.1128 9.99798 0 0 1 0.866 8 6 1 0 -1800 0 1 0 19.5039 38.979 9.99798 0 0 1 0.866 8 6 1 0 -1801 0 1 0 20.004 38.1128 9.99798 0 0 1 0.866 8 6 1 0 -1802 0 1 0 20.5041 38.979 9.99798 0 0 1 0.866 8 6 1 0 -1803 0 1 0 21.0042 38.1128 9.99798 0 0 1 0.866 8 6 1 0 -1804 0 1 0 21.5043 38.979 9.99798 0 0 1 0.866 8 6 1 0 -1805 0 1 0 22.0045 38.1128 9.99798 0 0 1 0.866 8 6 1 0 -1806 0 1 0 22.5046 38.979 9.99798 0 0 1 0.866 8 6 1 0 -1807 0 1 0 23.0047 38.1128 9.99798 0 0 1 0.866 8 6 1 0 -1808 0 1 0 23.5048 38.979 9.99798 0 0 1 0.866 8 6 1 0 -1809 0 1 0 24.0049 38.1128 9.99798 0 0 1 0.866 8 6 1 0 -1810 0 1 0 24.505 38.979 9.99798 0 0 1 0.866 8 6 1 0 -1811 0 1 0 25.0051 38.1128 9.99798 0 0 1 0.866 8 6 1 0 -1812 0 1 0 25.5052 38.979 9.99798 0 0 1 0.866 8 6 1 0 -1813 0 1 0 26.0053 38.1128 9.99798 0 0 1 0.866 8 6 1 0 -1814 0 1 0 26.5054 38.979 9.99798 0 0 1 0.866 8 6 1 0 -1815 0 1 0 27.0055 38.1128 9.99798 0 0 1 0.866 8 6 1 0 -1816 0 1 0 27.5056 38.979 9.99798 0 0 1 0.866 8 6 1 0 -1817 0 1 0 28.0057 38.1128 9.99798 0 0 1 0.866 8 6 1 0 -1818 0 1 0 28.5058 38.979 9.99798 0 0 1 0.866 8 6 1 0 -1819 0 1 0 29.0059 38.1128 9.99798 0 0 1 0.866 8 6 1 0 -1820 0 1 0 29.506 38.979 9.99798 0 0 1 0.866 8 6 1 0 -1821 0 1 0 30.0061 38.1128 9.99798 0 0 1 0.866 8 6 1 0 -1822 0 1 0 30.5062 38.979 9.99798 0 0 1 0.866 8 6 1 0 -1823 0 1 0 31.0063 38.1128 9.99798 0 0 1 0.866 8 6 1 0 -1824 0 1 0 31.5064 38.979 9.99798 0 0 1 0.866 8 6 1 0 -1825 0 1 0 32.0065 38.1128 9.99798 0 0 1 0.866 8 6 1 0 -1826 0 1 0 32.5066 38.979 9.99798 0 0 1 0.866 8 6 1 0 -1827 0 1 0 33.0067 38.1128 9.99798 0 0 1 0.866 8 6 1 0 -1828 0 1 0 33.5068 38.979 9.99798 0 0 1 0.866 8 6 1 0 -1829 0 1 0 34.0069 38.1128 9.99798 0 0 1 0.866 8 6 1 0 -1830 0 1 0 34.507 38.979 9.99798 0 0 1 0.866 8 6 1 0 -1831 0 1 0 35.0071 38.1128 9.99798 0 0 1 0.866 8 6 1 0 -1832 0 1 0 35.5072 38.979 9.99798 0 0 1 0.866 8 6 1 0 -1833 0 1 0 36.0073 38.1128 9.99798 0 0 1 0.866 8 6 1 0 -1834 0 1 0 36.5074 38.979 9.99798 0 0 1 0.866 8 6 1 0 -1835 0 1 0 37.0075 38.1128 9.99798 0 0 1 0.866 8 6 1 0 -1836 0 1 0 37.5076 38.979 9.99798 0 0 1 0.866 8 6 1 0 -1837 0 1 0 38.0077 38.1128 9.99798 0 0 1 0.866 8 6 1 0 -1838 0 1 0 38.5078 38.979 9.99798 0 0 1 0.866 8 6 1 0 -1839 0 1 0 39.0079 38.1128 9.99798 0 0 1 0.866 8 6 1 0 -1840 0 1 0 39.508 38.979 9.99798 0 0 1 0.866 8 6 1 0 -1841 0 1 0 0 39.8452 9.99798 0 0 1 0.866 8 6 1 0 -1842 0 1 0 0.500101 40.7114 9.99798 0 0 1 0.866 8 6 1 0 -1843 0 1 0 1.0002 39.8452 9.99798 0 0 1 0.866 8 6 1 0 -1844 0 1 0 1.5003 40.7114 9.99798 0 0 1 0.866 8 6 1 0 -1845 0 1 0 2.0004 39.8452 9.99798 0 0 1 0.866 8 6 1 0 -1846 0 1 0 2.50051 40.7114 9.99798 0 0 1 0.866 8 6 1 0 -1847 0 1 0 3.00061 39.8452 9.99798 0 0 1 0.866 8 6 1 0 -1848 0 1 0 3.50071 40.7114 9.99798 0 0 1 0.866 8 6 1 0 -1849 0 1 0 4.00081 39.8452 9.99798 0 0 1 0.866 8 6 1 0 -1850 0 1 0 4.50091 40.7114 9.99798 0 0 1 0.866 8 6 1 0 -1851 0 1 0 5.00101 39.8452 9.99798 0 0 1 0.866 8 6 1 0 -1852 0 1 0 5.50111 40.7114 9.99798 0 0 1 0.866 8 6 1 0 -1853 0 1 0 6.00121 39.8452 9.99798 0 0 1 0.866 8 6 1 0 -1854 0 1 0 6.50132 40.7114 9.99798 0 0 1 0.866 8 6 1 0 -1855 0 1 0 7.00142 39.8452 9.99798 0 0 1 0.866 8 6 1 0 -1856 0 1 0 7.50152 40.7114 9.99798 0 0 1 0.866 8 6 1 0 -1857 0 1 0 8.00162 39.8452 9.99798 0 0 1 0.866 8 6 1 0 -1858 0 1 0 8.50172 40.7114 9.99798 0 0 1 0.866 8 6 1 0 -1859 0 1 0 9.00182 39.8452 9.99798 0 0 1 0.866 8 6 1 0 -1860 0 1 0 9.50192 40.7114 9.99798 0 0 1 0.866 8 6 1 0 -1861 0 1 0 10.002 39.8452 9.99798 0 0 1 0.866 8 6 1 0 -1862 0 1 0 10.5021 40.7114 9.99798 0 0 1 0.866 8 6 1 0 -1863 0 1 0 11.0022 39.8452 9.99798 0 0 1 0.866 8 6 1 0 -1864 0 1 0 11.5023 40.7114 9.99798 0 0 1 0.866 8 6 1 0 -1865 0 1 0 12.0024 39.8452 9.99798 0 0 1 0.866 8 6 1 0 -1866 0 1 0 12.5025 40.7114 9.99798 0 0 1 0.866 8 6 1 0 -1867 0 1 0 13.0026 39.8452 9.99798 0 0 1 0.866 8 6 1 0 -1868 0 1 0 13.5027 40.7114 9.99798 0 0 1 0.866 8 6 1 0 -1869 0 1 0 14.0028 39.8452 9.99798 0 0 1 0.866 8 6 1 0 -1870 0 1 0 14.5029 40.7114 9.99798 0 0 1 0.866 8 6 1 0 -1871 0 1 0 15.003 39.8452 9.99798 0 0 1 0.866 8 6 1 0 -1872 0 1 0 15.5031 40.7114 9.99798 0 0 1 0.866 8 6 1 0 -1873 0 1 0 16.0032 39.8452 9.99798 0 0 1 0.866 8 6 1 0 -1874 0 1 0 16.5033 40.7114 9.99798 0 0 1 0.866 8 6 1 0 -1875 0 1 0 17.0034 39.8452 9.99798 0 0 1 0.866 8 6 1 0 -1876 0 1 0 17.5035 40.7114 9.99798 0 0 1 0.866 8 6 1 0 -1877 0 1 0 18.0036 39.8452 9.99798 0 0 1 0.866 8 6 1 0 -1878 0 1 0 18.5037 40.7114 9.99798 0 0 1 0.866 8 6 1 0 -1879 0 1 0 19.0038 39.8452 9.99798 0 0 1 0.866 8 6 1 0 -1880 0 1 0 19.5039 40.7114 9.99798 0 0 1 0.866 8 6 1 0 -1881 0 1 0 20.004 39.8452 9.99798 0 0 1 0.866 8 6 1 0 -1882 0 1 0 20.5041 40.7114 9.99798 0 0 1 0.866 8 6 1 0 -1883 0 1 0 21.0042 39.8452 9.99798 0 0 1 0.866 8 6 1 0 -1884 0 1 0 21.5043 40.7114 9.99798 0 0 1 0.866 8 6 1 0 -1885 0 1 0 22.0045 39.8452 9.99798 0 0 1 0.866 8 6 1 0 -1886 0 1 0 22.5046 40.7114 9.99798 0 0 1 0.866 8 6 1 0 -1887 0 1 0 23.0047 39.8452 9.99798 0 0 1 0.866 8 6 1 0 -1888 0 1 0 23.5048 40.7114 9.99798 0 0 1 0.866 8 6 1 0 -1889 0 1 0 24.0049 39.8452 9.99798 0 0 1 0.866 8 6 1 0 -1890 0 1 0 24.505 40.7114 9.99798 0 0 1 0.866 8 6 1 0 -1891 0 1 0 25.0051 39.8452 9.99798 0 0 1 0.866 8 6 1 0 -1892 0 1 0 25.5052 40.7114 9.99798 0 0 1 0.866 8 6 1 0 -1893 0 1 0 26.0053 39.8452 9.99798 0 0 1 0.866 8 6 1 0 -1894 0 1 0 26.5054 40.7114 9.99798 0 0 1 0.866 8 6 1 0 -1895 0 1 0 27.0055 39.8452 9.99798 0 0 1 0.866 8 6 1 0 -1896 0 1 0 27.5056 40.7114 9.99798 0 0 1 0.866 8 6 1 0 -1897 0 1 0 28.0057 39.8452 9.99798 0 0 1 0.866 8 6 1 0 -1898 0 1 0 28.5058 40.7114 9.99798 0 0 1 0.866 8 6 1 0 -1899 0 1 0 29.0059 39.8452 9.99798 0 0 1 0.866 8 6 1 0 -1900 0 1 0 29.506 40.7114 9.99798 0 0 1 0.866 8 6 1 0 -1901 0 1 0 30.0061 39.8452 9.99798 0 0 1 0.866 8 6 1 0 -1902 0 1 0 30.5062 40.7114 9.99798 0 0 1 0.866 8 6 1 0 -1903 0 1 0 31.0063 39.8452 9.99798 0 0 1 0.866 8 6 1 0 -1904 0 1 0 31.5064 40.7114 9.99798 0 0 1 0.866 8 6 1 0 -1905 0 1 0 32.0065 39.8452 9.99798 0 0 1 0.866 8 6 1 0 -1906 0 1 0 32.5066 40.7114 9.99798 0 0 1 0.866 8 6 1 0 -1907 0 1 0 33.0067 39.8452 9.99798 0 0 1 0.866 8 6 1 0 -1908 0 1 0 33.5068 40.7114 9.99798 0 0 1 0.866 8 6 1 0 -1909 0 1 0 34.0069 39.8452 9.99798 0 0 1 0.866 8 6 1 0 -1910 0 1 0 34.507 40.7114 9.99798 0 0 1 0.866 8 6 1 0 -1911 0 1 0 35.0071 39.8452 9.99798 0 0 1 0.866 8 6 1 0 -1912 0 1 0 35.5072 40.7114 9.99798 0 0 1 0.866 8 6 1 0 -1913 0 1 0 36.0073 39.8452 9.99798 0 0 1 0.866 8 6 1 0 -1914 0 1 0 36.5074 40.7114 9.99798 0 0 1 0.866 8 6 1 0 -1915 0 1 0 37.0075 39.8452 9.99798 0 0 1 0.866 8 6 1 0 -1916 0 1 0 37.5076 40.7114 9.99798 0 0 1 0.866 8 6 1 0 -1917 0 1 0 38.0077 39.8452 9.99798 0 0 1 0.866 8 6 1 0 -1918 0 1 0 38.5078 40.7114 9.99798 0 0 1 0.866 8 6 1 0 -1919 0 1 0 39.0079 39.8452 9.99798 0 0 1 0.866 8 6 1 0 -1920 0 1 0 39.508 40.7114 9.99798 0 0 1 0.866 8 6 1 0 -1921 0 1 0 0 41.5776 9.99798 0 0 1 0.866 8 6 1 0 -1922 0 1 0 0.500101 42.4438 9.99798 0 0 1 0.866 8 6 1 0 -1923 0 1 0 1.0002 41.5776 9.99798 0 0 1 0.866 8 6 1 0 -1924 0 1 0 1.5003 42.4438 9.99798 0 0 1 0.866 8 6 1 0 -1925 0 1 0 2.0004 41.5776 9.99798 0 0 1 0.866 8 6 1 0 -1926 0 1 0 2.50051 42.4438 9.99798 0 0 1 0.866 8 6 1 0 -1927 0 1 0 3.00061 41.5776 9.99798 0 0 1 0.866 8 6 1 0 -1928 0 1 0 3.50071 42.4438 9.99798 0 0 1 0.866 8 6 1 0 -1929 0 1 0 4.00081 41.5776 9.99798 0 0 1 0.866 8 6 1 0 -1930 0 1 0 4.50091 42.4438 9.99798 0 0 1 0.866 8 6 1 0 -1931 0 1 0 5.00101 41.5776 9.99798 0 0 1 0.866 8 6 1 0 -1932 0 1 0 5.50111 42.4438 9.99798 0 0 1 0.866 8 6 1 0 -1933 0 1 0 6.00121 41.5776 9.99798 0 0 1 0.866 8 6 1 0 -1934 0 1 0 6.50132 42.4438 9.99798 0 0 1 0.866 8 6 1 0 -1935 0 1 0 7.00142 41.5776 9.99798 0 0 1 0.866 8 6 1 0 -1936 0 1 0 7.50152 42.4438 9.99798 0 0 1 0.866 8 6 1 0 -1937 0 1 0 8.00162 41.5776 9.99798 0 0 1 0.866 8 6 1 0 -1938 0 1 0 8.50172 42.4438 9.99798 0 0 1 0.866 8 6 1 0 -1939 0 1 0 9.00182 41.5776 9.99798 0 0 1 0.866 8 6 1 0 -1940 0 1 0 9.50192 42.4438 9.99798 0 0 1 0.866 8 6 1 0 -1941 0 1 0 10.002 41.5776 9.99798 0 0 1 0.866 8 6 1 0 -1942 0 1 0 10.5021 42.4438 9.99798 0 0 1 0.866 8 6 1 0 -1943 0 1 0 11.0022 41.5776 9.99798 0 0 1 0.866 8 6 1 0 -1944 0 1 0 11.5023 42.4438 9.99798 0 0 1 0.866 8 6 1 0 -1945 0 1 0 12.0024 41.5776 9.99798 0 0 1 0.866 8 6 1 0 -1946 0 1 0 12.5025 42.4438 9.99798 0 0 1 0.866 8 6 1 0 -1947 0 1 0 13.0026 41.5776 9.99798 0 0 1 0.866 8 6 1 0 -1948 0 1 0 13.5027 42.4438 9.99798 0 0 1 0.866 8 6 1 0 -1949 0 1 0 14.0028 41.5776 9.99798 0 0 1 0.866 8 6 1 0 -1950 0 1 0 14.5029 42.4438 9.99798 0 0 1 0.866 8 6 1 0 -1951 0 1 0 15.003 41.5776 9.99798 0 0 1 0.866 8 6 1 0 -1952 0 1 0 15.5031 42.4438 9.99798 0 0 1 0.866 8 6 1 0 -1953 0 1 0 16.0032 41.5776 9.99798 0 0 1 0.866 8 6 1 0 -1954 0 1 0 16.5033 42.4438 9.99798 0 0 1 0.866 8 6 1 0 -1955 0 1 0 17.0034 41.5776 9.99798 0 0 1 0.866 8 6 1 0 -1956 0 1 0 17.5035 42.4438 9.99798 0 0 1 0.866 8 6 1 0 -1957 0 1 0 18.0036 41.5776 9.99798 0 0 1 0.866 8 6 1 0 -1958 0 1 0 18.5037 42.4438 9.99798 0 0 1 0.866 8 6 1 0 -1959 0 1 0 19.0038 41.5776 9.99798 0 0 1 0.866 8 6 1 0 -1960 0 1 0 19.5039 42.4438 9.99798 0 0 1 0.866 8 6 1 0 -1961 0 1 0 20.004 41.5776 9.99798 0 0 1 0.866 8 6 1 0 -1962 0 1 0 20.5041 42.4438 9.99798 0 0 1 0.866 8 6 1 0 -1963 0 1 0 21.0042 41.5776 9.99798 0 0 1 0.866 8 6 1 0 -1964 0 1 0 21.5043 42.4438 9.99798 0 0 1 0.866 8 6 1 0 -1965 0 1 0 22.0045 41.5776 9.99798 0 0 1 0.866 8 6 1 0 -1966 0 1 0 22.5046 42.4438 9.99798 0 0 1 0.866 8 6 1 0 -1967 0 1 0 23.0047 41.5776 9.99798 0 0 1 0.866 8 6 1 0 -1968 0 1 0 23.5048 42.4438 9.99798 0 0 1 0.866 8 6 1 0 -1969 0 1 0 24.0049 41.5776 9.99798 0 0 1 0.866 8 6 1 0 -1970 0 1 0 24.505 42.4438 9.99798 0 0 1 0.866 8 6 1 0 -1971 0 1 0 25.0051 41.5776 9.99798 0 0 1 0.866 8 6 1 0 -1972 0 1 0 25.5052 42.4438 9.99798 0 0 1 0.866 8 6 1 0 -1973 0 1 0 26.0053 41.5776 9.99798 0 0 1 0.866 8 6 1 0 -1974 0 1 0 26.5054 42.4438 9.99798 0 0 1 0.866 8 6 1 0 -1975 0 1 0 27.0055 41.5776 9.99798 0 0 1 0.866 8 6 1 0 -1976 0 1 0 27.5056 42.4438 9.99798 0 0 1 0.866 8 6 1 0 -1977 0 1 0 28.0057 41.5776 9.99798 0 0 1 0.866 8 6 1 0 -1978 0 1 0 28.5058 42.4438 9.99798 0 0 1 0.866 8 6 1 0 -1979 0 1 0 29.0059 41.5776 9.99798 0 0 1 0.866 8 6 1 0 -1980 0 1 0 29.506 42.4438 9.99798 0 0 1 0.866 8 6 1 0 -1981 0 1 0 30.0061 41.5776 9.99798 0 0 1 0.866 8 6 1 0 -1982 0 1 0 30.5062 42.4438 9.99798 0 0 1 0.866 8 6 1 0 -1983 0 1 0 31.0063 41.5776 9.99798 0 0 1 0.866 8 6 1 0 -1984 0 1 0 31.5064 42.4438 9.99798 0 0 1 0.866 8 6 1 0 -1985 0 1 0 32.0065 41.5776 9.99798 0 0 1 0.866 8 6 1 0 -1986 0 1 0 32.5066 42.4438 9.99798 0 0 1 0.866 8 6 1 0 -1987 0 1 0 33.0067 41.5776 9.99798 0 0 1 0.866 8 6 1 0 -1988 0 1 0 33.5068 42.4438 9.99798 0 0 1 0.866 8 6 1 0 -1989 0 1 0 34.0069 41.5776 9.99798 0 0 1 0.866 8 6 1 0 -1990 0 1 0 34.507 42.4438 9.99798 0 0 1 0.866 8 6 1 0 -1991 0 1 0 35.0071 41.5776 9.99798 0 0 1 0.866 8 6 1 0 -1992 0 1 0 35.5072 42.4438 9.99798 0 0 1 0.866 8 6 1 0 -1993 0 1 0 36.0073 41.5776 9.99798 0 0 1 0.866 8 6 1 0 -1994 0 1 0 36.5074 42.4438 9.99798 0 0 1 0.866 8 6 1 0 -1995 0 1 0 37.0075 41.5776 9.99798 0 0 1 0.866 8 6 1 0 -1996 0 1 0 37.5076 42.4438 9.99798 0 0 1 0.866 8 6 1 0 -1997 0 1 0 38.0077 41.5776 9.99798 0 0 1 0.866 8 6 1 0 -1998 0 1 0 38.5078 42.4438 9.99798 0 0 1 0.866 8 6 1 0 -1999 0 1 0 39.0079 41.5776 9.99798 0 0 1 0.866 8 6 1 0 -2000 0 1 0 39.508 42.4438 9.99798 0 0 1 0.866 8 6 1 0 -2001 0 1 0 0 0 30.002 0 0 -1 0.866 8 6 1 0 -2002 0 1 0 0.500101 0.866201 30.002 0 0 -1 0.866 8 6 1 0 -2003 0 1 0 1.0002 0 30.002 0 0 -1 0.866 8 6 1 0 -2004 0 1 0 1.5003 0.866201 30.002 0 0 -1 0.866 8 6 1 0 -2005 0 1 0 2.0004 0 30.002 0 0 -1 0.866 8 6 1 0 -2006 0 1 0 2.50051 0.866201 30.002 0 0 -1 0.866 8 6 1 0 -2007 0 1 0 3.00061 0 30.002 0 0 -1 0.866 8 6 1 0 -2008 0 1 0 3.50071 0.866201 30.002 0 0 -1 0.866 8 6 1 0 -2009 0 1 0 4.00081 0 30.002 0 0 -1 0.866 8 6 1 0 -2010 0 1 0 4.50091 0.866201 30.002 0 0 -1 0.866 8 6 1 0 -2011 0 1 0 5.00101 0 30.002 0 0 -1 0.866 8 6 1 0 -2012 0 1 0 5.50111 0.866201 30.002 0 0 -1 0.866 8 6 1 0 -2013 0 1 0 6.00121 0 30.002 0 0 -1 0.866 8 6 1 0 -2014 0 1 0 6.50132 0.866201 30.002 0 0 -1 0.866 8 6 1 0 -2015 0 1 0 7.00142 0 30.002 0 0 -1 0.866 8 6 1 0 -2016 0 1 0 7.50152 0.866201 30.002 0 0 -1 0.866 8 6 1 0 -2017 0 1 0 8.00162 0 30.002 0 0 -1 0.866 8 6 1 0 -2018 0 1 0 8.50172 0.866201 30.002 0 0 -1 0.866 8 6 1 0 -2019 0 1 0 9.00182 0 30.002 0 0 -1 0.866 8 6 1 0 -2020 0 1 0 9.50192 0.866201 30.002 0 0 -1 0.866 8 6 1 0 -2021 0 1 0 10.002 0 30.002 0 0 -1 0.866 8 6 1 0 -2022 0 1 0 10.5021 0.866201 30.002 0 0 -1 0.866 8 6 1 0 -2023 0 1 0 11.0022 0 30.002 0 0 -1 0.866 8 6 1 0 -2024 0 1 0 11.5023 0.866201 30.002 0 0 -1 0.866 8 6 1 0 -2025 0 1 0 12.0024 0 30.002 0 0 -1 0.866 8 6 1 0 -2026 0 1 0 12.5025 0.866201 30.002 0 0 -1 0.866 8 6 1 0 -2027 0 1 0 13.0026 0 30.002 0 0 -1 0.866 8 6 1 0 -2028 0 1 0 13.5027 0.866201 30.002 0 0 -1 0.866 8 6 1 0 -2029 0 1 0 14.0028 0 30.002 0 0 -1 0.866 8 6 1 0 -2030 0 1 0 14.5029 0.866201 30.002 0 0 -1 0.866 8 6 1 0 -2031 0 1 0 15.003 0 30.002 0 0 -1 0.866 8 6 1 0 -2032 0 1 0 15.5031 0.866201 30.002 0 0 -1 0.866 8 6 1 0 -2033 0 1 0 16.0032 0 30.002 0 0 -1 0.866 8 6 1 0 -2034 0 1 0 16.5033 0.866201 30.002 0 0 -1 0.866 8 6 1 0 -2035 0 1 0 17.0034 0 30.002 0 0 -1 0.866 8 6 1 0 -2036 0 1 0 17.5035 0.866201 30.002 0 0 -1 0.866 8 6 1 0 -2037 0 1 0 18.0036 0 30.002 0 0 -1 0.866 8 6 1 0 -2038 0 1 0 18.5037 0.866201 30.002 0 0 -1 0.866 8 6 1 0 -2039 0 1 0 19.0038 0 30.002 0 0 -1 0.866 8 6 1 0 -2040 0 1 0 19.5039 0.866201 30.002 0 0 -1 0.866 8 6 1 0 -2041 0 1 0 20.004 0 30.002 0 0 -1 0.866 8 6 1 0 -2042 0 1 0 20.5041 0.866201 30.002 0 0 -1 0.866 8 6 1 0 -2043 0 1 0 21.0042 0 30.002 0 0 -1 0.866 8 6 1 0 -2044 0 1 0 21.5043 0.866201 30.002 0 0 -1 0.866 8 6 1 0 -2045 0 1 0 22.0045 0 30.002 0 0 -1 0.866 8 6 1 0 -2046 0 1 0 22.5046 0.866201 30.002 0 0 -1 0.866 8 6 1 0 -2047 0 1 0 23.0047 0 30.002 0 0 -1 0.866 8 6 1 0 -2048 0 1 0 23.5048 0.866201 30.002 0 0 -1 0.866 8 6 1 0 -2049 0 1 0 24.0049 0 30.002 0 0 -1 0.866 8 6 1 0 -2050 0 1 0 24.505 0.866201 30.002 0 0 -1 0.866 8 6 1 0 -2051 0 1 0 25.0051 0 30.002 0 0 -1 0.866 8 6 1 0 -2052 0 1 0 25.5052 0.866201 30.002 0 0 -1 0.866 8 6 1 0 -2053 0 1 0 26.0053 0 30.002 0 0 -1 0.866 8 6 1 0 -2054 0 1 0 26.5054 0.866201 30.002 0 0 -1 0.866 8 6 1 0 -2055 0 1 0 27.0055 0 30.002 0 0 -1 0.866 8 6 1 0 -2056 0 1 0 27.5056 0.866201 30.002 0 0 -1 0.866 8 6 1 0 -2057 0 1 0 28.0057 0 30.002 0 0 -1 0.866 8 6 1 0 -2058 0 1 0 28.5058 0.866201 30.002 0 0 -1 0.866 8 6 1 0 -2059 0 1 0 29.0059 0 30.002 0 0 -1 0.866 8 6 1 0 -2060 0 1 0 29.506 0.866201 30.002 0 0 -1 0.866 8 6 1 0 -2061 0 1 0 30.0061 0 30.002 0 0 -1 0.866 8 6 1 0 -2062 0 1 0 30.5062 0.866201 30.002 0 0 -1 0.866 8 6 1 0 -2063 0 1 0 31.0063 0 30.002 0 0 -1 0.866 8 6 1 0 -2064 0 1 0 31.5064 0.866201 30.002 0 0 -1 0.866 8 6 1 0 -2065 0 1 0 32.0065 0 30.002 0 0 -1 0.866 8 6 1 0 -2066 0 1 0 32.5066 0.866201 30.002 0 0 -1 0.866 8 6 1 0 -2067 0 1 0 33.0067 0 30.002 0 0 -1 0.866 8 6 1 0 -2068 0 1 0 33.5068 0.866201 30.002 0 0 -1 0.866 8 6 1 0 -2069 0 1 0 34.0069 0 30.002 0 0 -1 0.866 8 6 1 0 -2070 0 1 0 34.507 0.866201 30.002 0 0 -1 0.866 8 6 1 0 -2071 0 1 0 35.0071 0 30.002 0 0 -1 0.866 8 6 1 0 -2072 0 1 0 35.5072 0.866201 30.002 0 0 -1 0.866 8 6 1 0 -2073 0 1 0 36.0073 0 30.002 0 0 -1 0.866 8 6 1 0 -2074 0 1 0 36.5074 0.866201 30.002 0 0 -1 0.866 8 6 1 0 -2075 0 1 0 37.0075 0 30.002 0 0 -1 0.866 8 6 1 0 -2076 0 1 0 37.5076 0.866201 30.002 0 0 -1 0.866 8 6 1 0 -2077 0 1 0 38.0077 0 30.002 0 0 -1 0.866 8 6 1 0 -2078 0 1 0 38.5078 0.866201 30.002 0 0 -1 0.866 8 6 1 0 -2079 0 1 0 39.0079 0 30.002 0 0 -1 0.866 8 6 1 0 -2080 0 1 0 39.508 0.866201 30.002 0 0 -1 0.866 8 6 1 0 -2081 0 1 0 0 1.7324 30.002 0 0 -1 0.866 8 6 1 0 -2082 0 1 0 0.500101 2.5986 30.002 0 0 -1 0.866 8 6 1 0 -2083 0 1 0 1.0002 1.7324 30.002 0 0 -1 0.866 8 6 1 0 -2084 0 1 0 1.5003 2.5986 30.002 0 0 -1 0.866 8 6 1 0 -2085 0 1 0 2.0004 1.7324 30.002 0 0 -1 0.866 8 6 1 0 -2086 0 1 0 2.50051 2.5986 30.002 0 0 -1 0.866 8 6 1 0 -2087 0 1 0 3.00061 1.7324 30.002 0 0 -1 0.866 8 6 1 0 -2088 0 1 0 3.50071 2.5986 30.002 0 0 -1 0.866 8 6 1 0 -2089 0 1 0 4.00081 1.7324 30.002 0 0 -1 0.866 8 6 1 0 -2090 0 1 0 4.50091 2.5986 30.002 0 0 -1 0.866 8 6 1 0 -2091 0 1 0 5.00101 1.7324 30.002 0 0 -1 0.866 8 6 1 0 -2092 0 1 0 5.50111 2.5986 30.002 0 0 -1 0.866 8 6 1 0 -2093 0 1 0 6.00121 1.7324 30.002 0 0 -1 0.866 8 6 1 0 -2094 0 1 0 6.50132 2.5986 30.002 0 0 -1 0.866 8 6 1 0 -2095 0 1 0 7.00142 1.7324 30.002 0 0 -1 0.866 8 6 1 0 -2096 0 1 0 7.50152 2.5986 30.002 0 0 -1 0.866 8 6 1 0 -2097 0 1 0 8.00162 1.7324 30.002 0 0 -1 0.866 8 6 1 0 -2098 0 1 0 8.50172 2.5986 30.002 0 0 -1 0.866 8 6 1 0 -2099 0 1 0 9.00182 1.7324 30.002 0 0 -1 0.866 8 6 1 0 -2100 0 1 0 9.50192 2.5986 30.002 0 0 -1 0.866 8 6 1 0 -2101 0 1 0 10.002 1.7324 30.002 0 0 -1 0.866 8 6 1 0 -2102 0 1 0 10.5021 2.5986 30.002 0 0 -1 0.866 8 6 1 0 -2103 0 1 0 11.0022 1.7324 30.002 0 0 -1 0.866 8 6 1 0 -2104 0 1 0 11.5023 2.5986 30.002 0 0 -1 0.866 8 6 1 0 -2105 0 1 0 12.0024 1.7324 30.002 0 0 -1 0.866 8 6 1 0 -2106 0 1 0 12.5025 2.5986 30.002 0 0 -1 0.866 8 6 1 0 -2107 0 1 0 13.0026 1.7324 30.002 0 0 -1 0.866 8 6 1 0 -2108 0 1 0 13.5027 2.5986 30.002 0 0 -1 0.866 8 6 1 0 -2109 0 1 0 14.0028 1.7324 30.002 0 0 -1 0.866 8 6 1 0 -2110 0 1 0 14.5029 2.5986 30.002 0 0 -1 0.866 8 6 1 0 -2111 0 1 0 15.003 1.7324 30.002 0 0 -1 0.866 8 6 1 0 -2112 0 1 0 15.5031 2.5986 30.002 0 0 -1 0.866 8 6 1 0 -2113 0 1 0 16.0032 1.7324 30.002 0 0 -1 0.866 8 6 1 0 -2114 0 1 0 16.5033 2.5986 30.002 0 0 -1 0.866 8 6 1 0 -2115 0 1 0 17.0034 1.7324 30.002 0 0 -1 0.866 8 6 1 0 -2116 0 1 0 17.5035 2.5986 30.002 0 0 -1 0.866 8 6 1 0 -2117 0 1 0 18.0036 1.7324 30.002 0 0 -1 0.866 8 6 1 0 -2118 0 1 0 18.5037 2.5986 30.002 0 0 -1 0.866 8 6 1 0 -2119 0 1 0 19.0038 1.7324 30.002 0 0 -1 0.866 8 6 1 0 -2120 0 1 0 19.5039 2.5986 30.002 0 0 -1 0.866 8 6 1 0 -2121 0 1 0 20.004 1.7324 30.002 0 0 -1 0.866 8 6 1 0 -2122 0 1 0 20.5041 2.5986 30.002 0 0 -1 0.866 8 6 1 0 -2123 0 1 0 21.0042 1.7324 30.002 0 0 -1 0.866 8 6 1 0 -2124 0 1 0 21.5043 2.5986 30.002 0 0 -1 0.866 8 6 1 0 -2125 0 1 0 22.0045 1.7324 30.002 0 0 -1 0.866 8 6 1 0 -2126 0 1 0 22.5046 2.5986 30.002 0 0 -1 0.866 8 6 1 0 -2127 0 1 0 23.0047 1.7324 30.002 0 0 -1 0.866 8 6 1 0 -2128 0 1 0 23.5048 2.5986 30.002 0 0 -1 0.866 8 6 1 0 -2129 0 1 0 24.0049 1.7324 30.002 0 0 -1 0.866 8 6 1 0 -2130 0 1 0 24.505 2.5986 30.002 0 0 -1 0.866 8 6 1 0 -2131 0 1 0 25.0051 1.7324 30.002 0 0 -1 0.866 8 6 1 0 -2132 0 1 0 25.5052 2.5986 30.002 0 0 -1 0.866 8 6 1 0 -2133 0 1 0 26.0053 1.7324 30.002 0 0 -1 0.866 8 6 1 0 -2134 0 1 0 26.5054 2.5986 30.002 0 0 -1 0.866 8 6 1 0 -2135 0 1 0 27.0055 1.7324 30.002 0 0 -1 0.866 8 6 1 0 -2136 0 1 0 27.5056 2.5986 30.002 0 0 -1 0.866 8 6 1 0 -2137 0 1 0 28.0057 1.7324 30.002 0 0 -1 0.866 8 6 1 0 -2138 0 1 0 28.5058 2.5986 30.002 0 0 -1 0.866 8 6 1 0 -2139 0 1 0 29.0059 1.7324 30.002 0 0 -1 0.866 8 6 1 0 -2140 0 1 0 29.506 2.5986 30.002 0 0 -1 0.866 8 6 1 0 -2141 0 1 0 30.0061 1.7324 30.002 0 0 -1 0.866 8 6 1 0 -2142 0 1 0 30.5062 2.5986 30.002 0 0 -1 0.866 8 6 1 0 -2143 0 1 0 31.0063 1.7324 30.002 0 0 -1 0.866 8 6 1 0 -2144 0 1 0 31.5064 2.5986 30.002 0 0 -1 0.866 8 6 1 0 -2145 0 1 0 32.0065 1.7324 30.002 0 0 -1 0.866 8 6 1 0 -2146 0 1 0 32.5066 2.5986 30.002 0 0 -1 0.866 8 6 1 0 -2147 0 1 0 33.0067 1.7324 30.002 0 0 -1 0.866 8 6 1 0 -2148 0 1 0 33.5068 2.5986 30.002 0 0 -1 0.866 8 6 1 0 -2149 0 1 0 34.0069 1.7324 30.002 0 0 -1 0.866 8 6 1 0 -2150 0 1 0 34.507 2.5986 30.002 0 0 -1 0.866 8 6 1 0 -2151 0 1 0 35.0071 1.7324 30.002 0 0 -1 0.866 8 6 1 0 -2152 0 1 0 35.5072 2.5986 30.002 0 0 -1 0.866 8 6 1 0 -2153 0 1 0 36.0073 1.7324 30.002 0 0 -1 0.866 8 6 1 0 -2154 0 1 0 36.5074 2.5986 30.002 0 0 -1 0.866 8 6 1 0 -2155 0 1 0 37.0075 1.7324 30.002 0 0 -1 0.866 8 6 1 0 -2156 0 1 0 37.5076 2.5986 30.002 0 0 -1 0.866 8 6 1 0 -2157 0 1 0 38.0077 1.7324 30.002 0 0 -1 0.866 8 6 1 0 -2158 0 1 0 38.5078 2.5986 30.002 0 0 -1 0.866 8 6 1 0 -2159 0 1 0 39.0079 1.7324 30.002 0 0 -1 0.866 8 6 1 0 -2160 0 1 0 39.508 2.5986 30.002 0 0 -1 0.866 8 6 1 0 -2161 0 1 0 0 3.4648 30.002 0 0 -1 0.866 8 6 1 0 -2162 0 1 0 0.500101 4.331 30.002 0 0 -1 0.866 8 6 1 0 -2163 0 1 0 1.0002 3.4648 30.002 0 0 -1 0.866 8 6 1 0 -2164 0 1 0 1.5003 4.331 30.002 0 0 -1 0.866 8 6 1 0 -2165 0 1 0 2.0004 3.4648 30.002 0 0 -1 0.866 8 6 1 0 -2166 0 1 0 2.50051 4.331 30.002 0 0 -1 0.866 8 6 1 0 -2167 0 1 0 3.00061 3.4648 30.002 0 0 -1 0.866 8 6 1 0 -2168 0 1 0 3.50071 4.331 30.002 0 0 -1 0.866 8 6 1 0 -2169 0 1 0 4.00081 3.4648 30.002 0 0 -1 0.866 8 6 1 0 -2170 0 1 0 4.50091 4.331 30.002 0 0 -1 0.866 8 6 1 0 -2171 0 1 0 5.00101 3.4648 30.002 0 0 -1 0.866 8 6 1 0 -2172 0 1 0 5.50111 4.331 30.002 0 0 -1 0.866 8 6 1 0 -2173 0 1 0 6.00121 3.4648 30.002 0 0 -1 0.866 8 6 1 0 -2174 0 1 0 6.50132 4.331 30.002 0 0 -1 0.866 8 6 1 0 -2175 0 1 0 7.00142 3.4648 30.002 0 0 -1 0.866 8 6 1 0 -2176 0 1 0 7.50152 4.331 30.002 0 0 -1 0.866 8 6 1 0 -2177 0 1 0 8.00162 3.4648 30.002 0 0 -1 0.866 8 6 1 0 -2178 0 1 0 8.50172 4.331 30.002 0 0 -1 0.866 8 6 1 0 -2179 0 1 0 9.00182 3.4648 30.002 0 0 -1 0.866 8 6 1 0 -2180 0 1 0 9.50192 4.331 30.002 0 0 -1 0.866 8 6 1 0 -2181 0 1 0 10.002 3.4648 30.002 0 0 -1 0.866 8 6 1 0 -2182 0 1 0 10.5021 4.331 30.002 0 0 -1 0.866 8 6 1 0 -2183 0 1 0 11.0022 3.4648 30.002 0 0 -1 0.866 8 6 1 0 -2184 0 1 0 11.5023 4.331 30.002 0 0 -1 0.866 8 6 1 0 -2185 0 1 0 12.0024 3.4648 30.002 0 0 -1 0.866 8 6 1 0 -2186 0 1 0 12.5025 4.331 30.002 0 0 -1 0.866 8 6 1 0 -2187 0 1 0 13.0026 3.4648 30.002 0 0 -1 0.866 8 6 1 0 -2188 0 1 0 13.5027 4.331 30.002 0 0 -1 0.866 8 6 1 0 -2189 0 1 0 14.0028 3.4648 30.002 0 0 -1 0.866 8 6 1 0 -2190 0 1 0 14.5029 4.331 30.002 0 0 -1 0.866 8 6 1 0 -2191 0 1 0 15.003 3.4648 30.002 0 0 -1 0.866 8 6 1 0 -2192 0 1 0 15.5031 4.331 30.002 0 0 -1 0.866 8 6 1 0 -2193 0 1 0 16.0032 3.4648 30.002 0 0 -1 0.866 8 6 1 0 -2194 0 1 0 16.5033 4.331 30.002 0 0 -1 0.866 8 6 1 0 -2195 0 1 0 17.0034 3.4648 30.002 0 0 -1 0.866 8 6 1 0 -2196 0 1 0 17.5035 4.331 30.002 0 0 -1 0.866 8 6 1 0 -2197 0 1 0 18.0036 3.4648 30.002 0 0 -1 0.866 8 6 1 0 -2198 0 1 0 18.5037 4.331 30.002 0 0 -1 0.866 8 6 1 0 -2199 0 1 0 19.0038 3.4648 30.002 0 0 -1 0.866 8 6 1 0 -2200 0 1 0 19.5039 4.331 30.002 0 0 -1 0.866 8 6 1 0 -2201 0 1 0 20.004 3.4648 30.002 0 0 -1 0.866 8 6 1 0 -2202 0 1 0 20.5041 4.331 30.002 0 0 -1 0.866 8 6 1 0 -2203 0 1 0 21.0042 3.4648 30.002 0 0 -1 0.866 8 6 1 0 -2204 0 1 0 21.5043 4.331 30.002 0 0 -1 0.866 8 6 1 0 -2205 0 1 0 22.0045 3.4648 30.002 0 0 -1 0.866 8 6 1 0 -2206 0 1 0 22.5046 4.331 30.002 0 0 -1 0.866 8 6 1 0 -2207 0 1 0 23.0047 3.4648 30.002 0 0 -1 0.866 8 6 1 0 -2208 0 1 0 23.5048 4.331 30.002 0 0 -1 0.866 8 6 1 0 -2209 0 1 0 24.0049 3.4648 30.002 0 0 -1 0.866 8 6 1 0 -2210 0 1 0 24.505 4.331 30.002 0 0 -1 0.866 8 6 1 0 -2211 0 1 0 25.0051 3.4648 30.002 0 0 -1 0.866 8 6 1 0 -2212 0 1 0 25.5052 4.331 30.002 0 0 -1 0.866 8 6 1 0 -2213 0 1 0 26.0053 3.4648 30.002 0 0 -1 0.866 8 6 1 0 -2214 0 1 0 26.5054 4.331 30.002 0 0 -1 0.866 8 6 1 0 -2215 0 1 0 27.0055 3.4648 30.002 0 0 -1 0.866 8 6 1 0 -2216 0 1 0 27.5056 4.331 30.002 0 0 -1 0.866 8 6 1 0 -2217 0 1 0 28.0057 3.4648 30.002 0 0 -1 0.866 8 6 1 0 -2218 0 1 0 28.5058 4.331 30.002 0 0 -1 0.866 8 6 1 0 -2219 0 1 0 29.0059 3.4648 30.002 0 0 -1 0.866 8 6 1 0 -2220 0 1 0 29.506 4.331 30.002 0 0 -1 0.866 8 6 1 0 -2221 0 1 0 30.0061 3.4648 30.002 0 0 -1 0.866 8 6 1 0 -2222 0 1 0 30.5062 4.331 30.002 0 0 -1 0.866 8 6 1 0 -2223 0 1 0 31.0063 3.4648 30.002 0 0 -1 0.866 8 6 1 0 -2224 0 1 0 31.5064 4.331 30.002 0 0 -1 0.866 8 6 1 0 -2225 0 1 0 32.0065 3.4648 30.002 0 0 -1 0.866 8 6 1 0 -2226 0 1 0 32.5066 4.331 30.002 0 0 -1 0.866 8 6 1 0 -2227 0 1 0 33.0067 3.4648 30.002 0 0 -1 0.866 8 6 1 0 -2228 0 1 0 33.5068 4.331 30.002 0 0 -1 0.866 8 6 1 0 -2229 0 1 0 34.0069 3.4648 30.002 0 0 -1 0.866 8 6 1 0 -2230 0 1 0 34.507 4.331 30.002 0 0 -1 0.866 8 6 1 0 -2231 0 1 0 35.0071 3.4648 30.002 0 0 -1 0.866 8 6 1 0 -2232 0 1 0 35.5072 4.331 30.002 0 0 -1 0.866 8 6 1 0 -2233 0 1 0 36.0073 3.4648 30.002 0 0 -1 0.866 8 6 1 0 -2234 0 1 0 36.5074 4.331 30.002 0 0 -1 0.866 8 6 1 0 -2235 0 1 0 37.0075 3.4648 30.002 0 0 -1 0.866 8 6 1 0 -2236 0 1 0 37.5076 4.331 30.002 0 0 -1 0.866 8 6 1 0 -2237 0 1 0 38.0077 3.4648 30.002 0 0 -1 0.866 8 6 1 0 -2238 0 1 0 38.5078 4.331 30.002 0 0 -1 0.866 8 6 1 0 -2239 0 1 0 39.0079 3.4648 30.002 0 0 -1 0.866 8 6 1 0 -2240 0 1 0 39.508 4.331 30.002 0 0 -1 0.866 8 6 1 0 -2241 0 1 0 0 5.1972 30.002 0 0 -1 0.866 8 6 1 0 -2242 0 1 0 0.500101 6.0634 30.002 0 0 -1 0.866 8 6 1 0 -2243 0 1 0 1.0002 5.1972 30.002 0 0 -1 0.866 8 6 1 0 -2244 0 1 0 1.5003 6.0634 30.002 0 0 -1 0.866 8 6 1 0 -2245 0 1 0 2.0004 5.1972 30.002 0 0 -1 0.866 8 6 1 0 -2246 0 1 0 2.50051 6.0634 30.002 0 0 -1 0.866 8 6 1 0 -2247 0 1 0 3.00061 5.1972 30.002 0 0 -1 0.866 8 6 1 0 -2248 0 1 0 3.50071 6.0634 30.002 0 0 -1 0.866 8 6 1 0 -2249 0 1 0 4.00081 5.1972 30.002 0 0 -1 0.866 8 6 1 0 -2250 0 1 0 4.50091 6.0634 30.002 0 0 -1 0.866 8 6 1 0 -2251 0 1 0 5.00101 5.1972 30.002 0 0 -1 0.866 8 6 1 0 -2252 0 1 0 5.50111 6.0634 30.002 0 0 -1 0.866 8 6 1 0 -2253 0 1 0 6.00121 5.1972 30.002 0 0 -1 0.866 8 6 1 0 -2254 0 1 0 6.50132 6.0634 30.002 0 0 -1 0.866 8 6 1 0 -2255 0 1 0 7.00142 5.1972 30.002 0 0 -1 0.866 8 6 1 0 -2256 0 1 0 7.50152 6.0634 30.002 0 0 -1 0.866 8 6 1 0 -2257 0 1 0 8.00162 5.1972 30.002 0 0 -1 0.866 8 6 1 0 -2258 0 1 0 8.50172 6.0634 30.002 0 0 -1 0.866 8 6 1 0 -2259 0 1 0 9.00182 5.1972 30.002 0 0 -1 0.866 8 6 1 0 -2260 0 1 0 9.50192 6.0634 30.002 0 0 -1 0.866 8 6 1 0 -2261 0 1 0 10.002 5.1972 30.002 0 0 -1 0.866 8 6 1 0 -2262 0 1 0 10.5021 6.0634 30.002 0 0 -1 0.866 8 6 1 0 -2263 0 1 0 11.0022 5.1972 30.002 0 0 -1 0.866 8 6 1 0 -2264 0 1 0 11.5023 6.0634 30.002 0 0 -1 0.866 8 6 1 0 -2265 0 1 0 12.0024 5.1972 30.002 0 0 -1 0.866 8 6 1 0 -2266 0 1 0 12.5025 6.0634 30.002 0 0 -1 0.866 8 6 1 0 -2267 0 1 0 13.0026 5.1972 30.002 0 0 -1 0.866 8 6 1 0 -2268 0 1 0 13.5027 6.0634 30.002 0 0 -1 0.866 8 6 1 0 -2269 0 1 0 14.0028 5.1972 30.002 0 0 -1 0.866 8 6 1 0 -2270 0 1 0 14.5029 6.0634 30.002 0 0 -1 0.866 8 6 1 0 -2271 0 1 0 15.003 5.1972 30.002 0 0 -1 0.866 8 6 1 0 -2272 0 1 0 15.5031 6.0634 30.002 0 0 -1 0.866 8 6 1 0 -2273 0 1 0 16.0032 5.1972 30.002 0 0 -1 0.866 8 6 1 0 -2274 0 1 0 16.5033 6.0634 30.002 0 0 -1 0.866 8 6 1 0 -2275 0 1 0 17.0034 5.1972 30.002 0 0 -1 0.866 8 6 1 0 -2276 0 1 0 17.5035 6.0634 30.002 0 0 -1 0.866 8 6 1 0 -2277 0 1 0 18.0036 5.1972 30.002 0 0 -1 0.866 8 6 1 0 -2278 0 1 0 18.5037 6.0634 30.002 0 0 -1 0.866 8 6 1 0 -2279 0 1 0 19.0038 5.1972 30.002 0 0 -1 0.866 8 6 1 0 -2280 0 1 0 19.5039 6.0634 30.002 0 0 -1 0.866 8 6 1 0 -2281 0 1 0 20.004 5.1972 30.002 0 0 -1 0.866 8 6 1 0 -2282 0 1 0 20.5041 6.0634 30.002 0 0 -1 0.866 8 6 1 0 -2283 0 1 0 21.0042 5.1972 30.002 0 0 -1 0.866 8 6 1 0 -2284 0 1 0 21.5043 6.0634 30.002 0 0 -1 0.866 8 6 1 0 -2285 0 1 0 22.0045 5.1972 30.002 0 0 -1 0.866 8 6 1 0 -2286 0 1 0 22.5046 6.0634 30.002 0 0 -1 0.866 8 6 1 0 -2287 0 1 0 23.0047 5.1972 30.002 0 0 -1 0.866 8 6 1 0 -2288 0 1 0 23.5048 6.0634 30.002 0 0 -1 0.866 8 6 1 0 -2289 0 1 0 24.0049 5.1972 30.002 0 0 -1 0.866 8 6 1 0 -2290 0 1 0 24.505 6.0634 30.002 0 0 -1 0.866 8 6 1 0 -2291 0 1 0 25.0051 5.1972 30.002 0 0 -1 0.866 8 6 1 0 -2292 0 1 0 25.5052 6.0634 30.002 0 0 -1 0.866 8 6 1 0 -2293 0 1 0 26.0053 5.1972 30.002 0 0 -1 0.866 8 6 1 0 -2294 0 1 0 26.5054 6.0634 30.002 0 0 -1 0.866 8 6 1 0 -2295 0 1 0 27.0055 5.1972 30.002 0 0 -1 0.866 8 6 1 0 -2296 0 1 0 27.5056 6.0634 30.002 0 0 -1 0.866 8 6 1 0 -2297 0 1 0 28.0057 5.1972 30.002 0 0 -1 0.866 8 6 1 0 -2298 0 1 0 28.5058 6.0634 30.002 0 0 -1 0.866 8 6 1 0 -2299 0 1 0 29.0059 5.1972 30.002 0 0 -1 0.866 8 6 1 0 -2300 0 1 0 29.506 6.0634 30.002 0 0 -1 0.866 8 6 1 0 -2301 0 1 0 30.0061 5.1972 30.002 0 0 -1 0.866 8 6 1 0 -2302 0 1 0 30.5062 6.0634 30.002 0 0 -1 0.866 8 6 1 0 -2303 0 1 0 31.0063 5.1972 30.002 0 0 -1 0.866 8 6 1 0 -2304 0 1 0 31.5064 6.0634 30.002 0 0 -1 0.866 8 6 1 0 -2305 0 1 0 32.0065 5.1972 30.002 0 0 -1 0.866 8 6 1 0 -2306 0 1 0 32.5066 6.0634 30.002 0 0 -1 0.866 8 6 1 0 -2307 0 1 0 33.0067 5.1972 30.002 0 0 -1 0.866 8 6 1 0 -2308 0 1 0 33.5068 6.0634 30.002 0 0 -1 0.866 8 6 1 0 -2309 0 1 0 34.0069 5.1972 30.002 0 0 -1 0.866 8 6 1 0 -2310 0 1 0 34.507 6.0634 30.002 0 0 -1 0.866 8 6 1 0 -2311 0 1 0 35.0071 5.1972 30.002 0 0 -1 0.866 8 6 1 0 -2312 0 1 0 35.5072 6.0634 30.002 0 0 -1 0.866 8 6 1 0 -2313 0 1 0 36.0073 5.1972 30.002 0 0 -1 0.866 8 6 1 0 -2314 0 1 0 36.5074 6.0634 30.002 0 0 -1 0.866 8 6 1 0 -2315 0 1 0 37.0075 5.1972 30.002 0 0 -1 0.866 8 6 1 0 -2316 0 1 0 37.5076 6.0634 30.002 0 0 -1 0.866 8 6 1 0 -2317 0 1 0 38.0077 5.1972 30.002 0 0 -1 0.866 8 6 1 0 -2318 0 1 0 38.5078 6.0634 30.002 0 0 -1 0.866 8 6 1 0 -2319 0 1 0 39.0079 5.1972 30.002 0 0 -1 0.866 8 6 1 0 -2320 0 1 0 39.508 6.0634 30.002 0 0 -1 0.866 8 6 1 0 -2321 0 1 0 0 6.9296 30.002 0 0 -1 0.866 8 6 1 0 -2322 0 1 0 0.500101 7.79581 30.002 0 0 -1 0.866 8 6 1 0 -2323 0 1 0 1.0002 6.9296 30.002 0 0 -1 0.866 8 6 1 0 -2324 0 1 0 1.5003 7.79581 30.002 0 0 -1 0.866 8 6 1 0 -2325 0 1 0 2.0004 6.9296 30.002 0 0 -1 0.866 8 6 1 0 -2326 0 1 0 2.50051 7.79581 30.002 0 0 -1 0.866 8 6 1 0 -2327 0 1 0 3.00061 6.9296 30.002 0 0 -1 0.866 8 6 1 0 -2328 0 1 0 3.50071 7.79581 30.002 0 0 -1 0.866 8 6 1 0 -2329 0 1 0 4.00081 6.9296 30.002 0 0 -1 0.866 8 6 1 0 -2330 0 1 0 4.50091 7.79581 30.002 0 0 -1 0.866 8 6 1 0 -2331 0 1 0 5.00101 6.9296 30.002 0 0 -1 0.866 8 6 1 0 -2332 0 1 0 5.50111 7.79581 30.002 0 0 -1 0.866 8 6 1 0 -2333 0 1 0 6.00121 6.9296 30.002 0 0 -1 0.866 8 6 1 0 -2334 0 1 0 6.50132 7.79581 30.002 0 0 -1 0.866 8 6 1 0 -2335 0 1 0 7.00142 6.9296 30.002 0 0 -1 0.866 8 6 1 0 -2336 0 1 0 7.50152 7.79581 30.002 0 0 -1 0.866 8 6 1 0 -2337 0 1 0 8.00162 6.9296 30.002 0 0 -1 0.866 8 6 1 0 -2338 0 1 0 8.50172 7.79581 30.002 0 0 -1 0.866 8 6 1 0 -2339 0 1 0 9.00182 6.9296 30.002 0 0 -1 0.866 8 6 1 0 -2340 0 1 0 9.50192 7.79581 30.002 0 0 -1 0.866 8 6 1 0 -2341 0 1 0 10.002 6.9296 30.002 0 0 -1 0.866 8 6 1 0 -2342 0 1 0 10.5021 7.79581 30.002 0 0 -1 0.866 8 6 1 0 -2343 0 1 0 11.0022 6.9296 30.002 0 0 -1 0.866 8 6 1 0 -2344 0 1 0 11.5023 7.79581 30.002 0 0 -1 0.866 8 6 1 0 -2345 0 1 0 12.0024 6.9296 30.002 0 0 -1 0.866 8 6 1 0 -2346 0 1 0 12.5025 7.79581 30.002 0 0 -1 0.866 8 6 1 0 -2347 0 1 0 13.0026 6.9296 30.002 0 0 -1 0.866 8 6 1 0 -2348 0 1 0 13.5027 7.79581 30.002 0 0 -1 0.866 8 6 1 0 -2349 0 1 0 14.0028 6.9296 30.002 0 0 -1 0.866 8 6 1 0 -2350 0 1 0 14.5029 7.79581 30.002 0 0 -1 0.866 8 6 1 0 -2351 0 1 0 15.003 6.9296 30.002 0 0 -1 0.866 8 6 1 0 -2352 0 1 0 15.5031 7.79581 30.002 0 0 -1 0.866 8 6 1 0 -2353 0 1 0 16.0032 6.9296 30.002 0 0 -1 0.866 8 6 1 0 -2354 0 1 0 16.5033 7.79581 30.002 0 0 -1 0.866 8 6 1 0 -2355 0 1 0 17.0034 6.9296 30.002 0 0 -1 0.866 8 6 1 0 -2356 0 1 0 17.5035 7.79581 30.002 0 0 -1 0.866 8 6 1 0 -2357 0 1 0 18.0036 6.9296 30.002 0 0 -1 0.866 8 6 1 0 -2358 0 1 0 18.5037 7.79581 30.002 0 0 -1 0.866 8 6 1 0 -2359 0 1 0 19.0038 6.9296 30.002 0 0 -1 0.866 8 6 1 0 -2360 0 1 0 19.5039 7.79581 30.002 0 0 -1 0.866 8 6 1 0 -2361 0 1 0 20.004 6.9296 30.002 0 0 -1 0.866 8 6 1 0 -2362 0 1 0 20.5041 7.79581 30.002 0 0 -1 0.866 8 6 1 0 -2363 0 1 0 21.0042 6.9296 30.002 0 0 -1 0.866 8 6 1 0 -2364 0 1 0 21.5043 7.79581 30.002 0 0 -1 0.866 8 6 1 0 -2365 0 1 0 22.0045 6.9296 30.002 0 0 -1 0.866 8 6 1 0 -2366 0 1 0 22.5046 7.79581 30.002 0 0 -1 0.866 8 6 1 0 -2367 0 1 0 23.0047 6.9296 30.002 0 0 -1 0.866 8 6 1 0 -2368 0 1 0 23.5048 7.79581 30.002 0 0 -1 0.866 8 6 1 0 -2369 0 1 0 24.0049 6.9296 30.002 0 0 -1 0.866 8 6 1 0 -2370 0 1 0 24.505 7.79581 30.002 0 0 -1 0.866 8 6 1 0 -2371 0 1 0 25.0051 6.9296 30.002 0 0 -1 0.866 8 6 1 0 -2372 0 1 0 25.5052 7.79581 30.002 0 0 -1 0.866 8 6 1 0 -2373 0 1 0 26.0053 6.9296 30.002 0 0 -1 0.866 8 6 1 0 -2374 0 1 0 26.5054 7.79581 30.002 0 0 -1 0.866 8 6 1 0 -2375 0 1 0 27.0055 6.9296 30.002 0 0 -1 0.866 8 6 1 0 -2376 0 1 0 27.5056 7.79581 30.002 0 0 -1 0.866 8 6 1 0 -2377 0 1 0 28.0057 6.9296 30.002 0 0 -1 0.866 8 6 1 0 -2378 0 1 0 28.5058 7.79581 30.002 0 0 -1 0.866 8 6 1 0 -2379 0 1 0 29.0059 6.9296 30.002 0 0 -1 0.866 8 6 1 0 -2380 0 1 0 29.506 7.79581 30.002 0 0 -1 0.866 8 6 1 0 -2381 0 1 0 30.0061 6.9296 30.002 0 0 -1 0.866 8 6 1 0 -2382 0 1 0 30.5062 7.79581 30.002 0 0 -1 0.866 8 6 1 0 -2383 0 1 0 31.0063 6.9296 30.002 0 0 -1 0.866 8 6 1 0 -2384 0 1 0 31.5064 7.79581 30.002 0 0 -1 0.866 8 6 1 0 -2385 0 1 0 32.0065 6.9296 30.002 0 0 -1 0.866 8 6 1 0 -2386 0 1 0 32.5066 7.79581 30.002 0 0 -1 0.866 8 6 1 0 -2387 0 1 0 33.0067 6.9296 30.002 0 0 -1 0.866 8 6 1 0 -2388 0 1 0 33.5068 7.79581 30.002 0 0 -1 0.866 8 6 1 0 -2389 0 1 0 34.0069 6.9296 30.002 0 0 -1 0.866 8 6 1 0 -2390 0 1 0 34.507 7.79581 30.002 0 0 -1 0.866 8 6 1 0 -2391 0 1 0 35.0071 6.9296 30.002 0 0 -1 0.866 8 6 1 0 -2392 0 1 0 35.5072 7.79581 30.002 0 0 -1 0.866 8 6 1 0 -2393 0 1 0 36.0073 6.9296 30.002 0 0 -1 0.866 8 6 1 0 -2394 0 1 0 36.5074 7.79581 30.002 0 0 -1 0.866 8 6 1 0 -2395 0 1 0 37.0075 6.9296 30.002 0 0 -1 0.866 8 6 1 0 -2396 0 1 0 37.5076 7.79581 30.002 0 0 -1 0.866 8 6 1 0 -2397 0 1 0 38.0077 6.9296 30.002 0 0 -1 0.866 8 6 1 0 -2398 0 1 0 38.5078 7.79581 30.002 0 0 -1 0.866 8 6 1 0 -2399 0 1 0 39.0079 6.9296 30.002 0 0 -1 0.866 8 6 1 0 -2400 0 1 0 39.508 7.79581 30.002 0 0 -1 0.866 8 6 1 0 -2401 0 1 0 0 8.66201 30.002 0 0 -1 0.866 8 6 1 0 -2402 0 1 0 0.500101 9.52821 30.002 0 0 -1 0.866 8 6 1 0 -2403 0 1 0 1.0002 8.66201 30.002 0 0 -1 0.866 8 6 1 0 -2404 0 1 0 1.5003 9.52821 30.002 0 0 -1 0.866 8 6 1 0 -2405 0 1 0 2.0004 8.66201 30.002 0 0 -1 0.866 8 6 1 0 -2406 0 1 0 2.50051 9.52821 30.002 0 0 -1 0.866 8 6 1 0 -2407 0 1 0 3.00061 8.66201 30.002 0 0 -1 0.866 8 6 1 0 -2408 0 1 0 3.50071 9.52821 30.002 0 0 -1 0.866 8 6 1 0 -2409 0 1 0 4.00081 8.66201 30.002 0 0 -1 0.866 8 6 1 0 -2410 0 1 0 4.50091 9.52821 30.002 0 0 -1 0.866 8 6 1 0 -2411 0 1 0 5.00101 8.66201 30.002 0 0 -1 0.866 8 6 1 0 -2412 0 1 0 5.50111 9.52821 30.002 0 0 -1 0.866 8 6 1 0 -2413 0 1 0 6.00121 8.66201 30.002 0 0 -1 0.866 8 6 1 0 -2414 0 1 0 6.50132 9.52821 30.002 0 0 -1 0.866 8 6 1 0 -2415 0 1 0 7.00142 8.66201 30.002 0 0 -1 0.866 8 6 1 0 -2416 0 1 0 7.50152 9.52821 30.002 0 0 -1 0.866 8 6 1 0 -2417 0 1 0 8.00162 8.66201 30.002 0 0 -1 0.866 8 6 1 0 -2418 0 1 0 8.50172 9.52821 30.002 0 0 -1 0.866 8 6 1 0 -2419 0 1 0 9.00182 8.66201 30.002 0 0 -1 0.866 8 6 1 0 -2420 0 1 0 9.50192 9.52821 30.002 0 0 -1 0.866 8 6 1 0 -2421 0 1 0 10.002 8.66201 30.002 0 0 -1 0.866 8 6 1 0 -2422 0 1 0 10.5021 9.52821 30.002 0 0 -1 0.866 8 6 1 0 -2423 0 1 0 11.0022 8.66201 30.002 0 0 -1 0.866 8 6 1 0 -2424 0 1 0 11.5023 9.52821 30.002 0 0 -1 0.866 8 6 1 0 -2425 0 1 0 12.0024 8.66201 30.002 0 0 -1 0.866 8 6 1 0 -2426 0 1 0 12.5025 9.52821 30.002 0 0 -1 0.866 8 6 1 0 -2427 0 1 0 13.0026 8.66201 30.002 0 0 -1 0.866 8 6 1 0 -2428 0 1 0 13.5027 9.52821 30.002 0 0 -1 0.866 8 6 1 0 -2429 0 1 0 14.0028 8.66201 30.002 0 0 -1 0.866 8 6 1 0 -2430 0 1 0 14.5029 9.52821 30.002 0 0 -1 0.866 8 6 1 0 -2431 0 1 0 15.003 8.66201 30.002 0 0 -1 0.866 8 6 1 0 -2432 0 1 0 15.5031 9.52821 30.002 0 0 -1 0.866 8 6 1 0 -2433 0 1 0 16.0032 8.66201 30.002 0 0 -1 0.866 8 6 1 0 -2434 0 1 0 16.5033 9.52821 30.002 0 0 -1 0.866 8 6 1 0 -2435 0 1 0 17.0034 8.66201 30.002 0 0 -1 0.866 8 6 1 0 -2436 0 1 0 17.5035 9.52821 30.002 0 0 -1 0.866 8 6 1 0 -2437 0 1 0 18.0036 8.66201 30.002 0 0 -1 0.866 8 6 1 0 -2438 0 1 0 18.5037 9.52821 30.002 0 0 -1 0.866 8 6 1 0 -2439 0 1 0 19.0038 8.66201 30.002 0 0 -1 0.866 8 6 1 0 -2440 0 1 0 19.5039 9.52821 30.002 0 0 -1 0.866 8 6 1 0 -2441 0 1 0 20.004 8.66201 30.002 0 0 -1 0.866 8 6 1 0 -2442 0 1 0 20.5041 9.52821 30.002 0 0 -1 0.866 8 6 1 0 -2443 0 1 0 21.0042 8.66201 30.002 0 0 -1 0.866 8 6 1 0 -2444 0 1 0 21.5043 9.52821 30.002 0 0 -1 0.866 8 6 1 0 -2445 0 1 0 22.0045 8.66201 30.002 0 0 -1 0.866 8 6 1 0 -2446 0 1 0 22.5046 9.52821 30.002 0 0 -1 0.866 8 6 1 0 -2447 0 1 0 23.0047 8.66201 30.002 0 0 -1 0.866 8 6 1 0 -2448 0 1 0 23.5048 9.52821 30.002 0 0 -1 0.866 8 6 1 0 -2449 0 1 0 24.0049 8.66201 30.002 0 0 -1 0.866 8 6 1 0 -2450 0 1 0 24.505 9.52821 30.002 0 0 -1 0.866 8 6 1 0 -2451 0 1 0 25.0051 8.66201 30.002 0 0 -1 0.866 8 6 1 0 -2452 0 1 0 25.5052 9.52821 30.002 0 0 -1 0.866 8 6 1 0 -2453 0 1 0 26.0053 8.66201 30.002 0 0 -1 0.866 8 6 1 0 -2454 0 1 0 26.5054 9.52821 30.002 0 0 -1 0.866 8 6 1 0 -2455 0 1 0 27.0055 8.66201 30.002 0 0 -1 0.866 8 6 1 0 -2456 0 1 0 27.5056 9.52821 30.002 0 0 -1 0.866 8 6 1 0 -2457 0 1 0 28.0057 8.66201 30.002 0 0 -1 0.866 8 6 1 0 -2458 0 1 0 28.5058 9.52821 30.002 0 0 -1 0.866 8 6 1 0 -2459 0 1 0 29.0059 8.66201 30.002 0 0 -1 0.866 8 6 1 0 -2460 0 1 0 29.506 9.52821 30.002 0 0 -1 0.866 8 6 1 0 -2461 0 1 0 30.0061 8.66201 30.002 0 0 -1 0.866 8 6 1 0 -2462 0 1 0 30.5062 9.52821 30.002 0 0 -1 0.866 8 6 1 0 -2463 0 1 0 31.0063 8.66201 30.002 0 0 -1 0.866 8 6 1 0 -2464 0 1 0 31.5064 9.52821 30.002 0 0 -1 0.866 8 6 1 0 -2465 0 1 0 32.0065 8.66201 30.002 0 0 -1 0.866 8 6 1 0 -2466 0 1 0 32.5066 9.52821 30.002 0 0 -1 0.866 8 6 1 0 -2467 0 1 0 33.0067 8.66201 30.002 0 0 -1 0.866 8 6 1 0 -2468 0 1 0 33.5068 9.52821 30.002 0 0 -1 0.866 8 6 1 0 -2469 0 1 0 34.0069 8.66201 30.002 0 0 -1 0.866 8 6 1 0 -2470 0 1 0 34.507 9.52821 30.002 0 0 -1 0.866 8 6 1 0 -2471 0 1 0 35.0071 8.66201 30.002 0 0 -1 0.866 8 6 1 0 -2472 0 1 0 35.5072 9.52821 30.002 0 0 -1 0.866 8 6 1 0 -2473 0 1 0 36.0073 8.66201 30.002 0 0 -1 0.866 8 6 1 0 -2474 0 1 0 36.5074 9.52821 30.002 0 0 -1 0.866 8 6 1 0 -2475 0 1 0 37.0075 8.66201 30.002 0 0 -1 0.866 8 6 1 0 -2476 0 1 0 37.5076 9.52821 30.002 0 0 -1 0.866 8 6 1 0 -2477 0 1 0 38.0077 8.66201 30.002 0 0 -1 0.866 8 6 1 0 -2478 0 1 0 38.5078 9.52821 30.002 0 0 -1 0.866 8 6 1 0 -2479 0 1 0 39.0079 8.66201 30.002 0 0 -1 0.866 8 6 1 0 -2480 0 1 0 39.508 9.52821 30.002 0 0 -1 0.866 8 6 1 0 -2481 0 1 0 0 10.3944 30.002 0 0 -1 0.866 8 6 1 0 -2482 0 1 0 0.500101 11.2606 30.002 0 0 -1 0.866 8 6 1 0 -2483 0 1 0 1.0002 10.3944 30.002 0 0 -1 0.866 8 6 1 0 -2484 0 1 0 1.5003 11.2606 30.002 0 0 -1 0.866 8 6 1 0 -2485 0 1 0 2.0004 10.3944 30.002 0 0 -1 0.866 8 6 1 0 -2486 0 1 0 2.50051 11.2606 30.002 0 0 -1 0.866 8 6 1 0 -2487 0 1 0 3.00061 10.3944 30.002 0 0 -1 0.866 8 6 1 0 -2488 0 1 0 3.50071 11.2606 30.002 0 0 -1 0.866 8 6 1 0 -2489 0 1 0 4.00081 10.3944 30.002 0 0 -1 0.866 8 6 1 0 -2490 0 1 0 4.50091 11.2606 30.002 0 0 -1 0.866 8 6 1 0 -2491 0 1 0 5.00101 10.3944 30.002 0 0 -1 0.866 8 6 1 0 -2492 0 1 0 5.50111 11.2606 30.002 0 0 -1 0.866 8 6 1 0 -2493 0 1 0 6.00121 10.3944 30.002 0 0 -1 0.866 8 6 1 0 -2494 0 1 0 6.50132 11.2606 30.002 0 0 -1 0.866 8 6 1 0 -2495 0 1 0 7.00142 10.3944 30.002 0 0 -1 0.866 8 6 1 0 -2496 0 1 0 7.50152 11.2606 30.002 0 0 -1 0.866 8 6 1 0 -2497 0 1 0 8.00162 10.3944 30.002 0 0 -1 0.866 8 6 1 0 -2498 0 1 0 8.50172 11.2606 30.002 0 0 -1 0.866 8 6 1 0 -2499 0 1 0 9.00182 10.3944 30.002 0 0 -1 0.866 8 6 1 0 -2500 0 1 0 9.50192 11.2606 30.002 0 0 -1 0.866 8 6 1 0 -2501 0 1 0 10.002 10.3944 30.002 0 0 -1 0.866 8 6 1 0 -2502 0 1 0 10.5021 11.2606 30.002 0 0 -1 0.866 8 6 1 0 -2503 0 1 0 11.0022 10.3944 30.002 0 0 -1 0.866 8 6 1 0 -2504 0 1 0 11.5023 11.2606 30.002 0 0 -1 0.866 8 6 1 0 -2505 0 1 0 12.0024 10.3944 30.002 0 0 -1 0.866 8 6 1 0 -2506 0 1 0 12.5025 11.2606 30.002 0 0 -1 0.866 8 6 1 0 -2507 0 1 0 13.0026 10.3944 30.002 0 0 -1 0.866 8 6 1 0 -2508 0 1 0 13.5027 11.2606 30.002 0 0 -1 0.866 8 6 1 0 -2509 0 1 0 14.0028 10.3944 30.002 0 0 -1 0.866 8 6 1 0 -2510 0 1 0 14.5029 11.2606 30.002 0 0 -1 0.866 8 6 1 0 -2511 0 1 0 15.003 10.3944 30.002 0 0 -1 0.866 8 6 1 0 -2512 0 1 0 15.5031 11.2606 30.002 0 0 -1 0.866 8 6 1 0 -2513 0 1 0 16.0032 10.3944 30.002 0 0 -1 0.866 8 6 1 0 -2514 0 1 0 16.5033 11.2606 30.002 0 0 -1 0.866 8 6 1 0 -2515 0 1 0 17.0034 10.3944 30.002 0 0 -1 0.866 8 6 1 0 -2516 0 1 0 17.5035 11.2606 30.002 0 0 -1 0.866 8 6 1 0 -2517 0 1 0 18.0036 10.3944 30.002 0 0 -1 0.866 8 6 1 0 -2518 0 1 0 18.5037 11.2606 30.002 0 0 -1 0.866 8 6 1 0 -2519 0 1 0 19.0038 10.3944 30.002 0 0 -1 0.866 8 6 1 0 -2520 0 1 0 19.5039 11.2606 30.002 0 0 -1 0.866 8 6 1 0 -2521 0 1 0 20.004 10.3944 30.002 0 0 -1 0.866 8 6 1 0 -2522 0 1 0 20.5041 11.2606 30.002 0 0 -1 0.866 8 6 1 0 -2523 0 1 0 21.0042 10.3944 30.002 0 0 -1 0.866 8 6 1 0 -2524 0 1 0 21.5043 11.2606 30.002 0 0 -1 0.866 8 6 1 0 -2525 0 1 0 22.0045 10.3944 30.002 0 0 -1 0.866 8 6 1 0 -2526 0 1 0 22.5046 11.2606 30.002 0 0 -1 0.866 8 6 1 0 -2527 0 1 0 23.0047 10.3944 30.002 0 0 -1 0.866 8 6 1 0 -2528 0 1 0 23.5048 11.2606 30.002 0 0 -1 0.866 8 6 1 0 -2529 0 1 0 24.0049 10.3944 30.002 0 0 -1 0.866 8 6 1 0 -2530 0 1 0 24.505 11.2606 30.002 0 0 -1 0.866 8 6 1 0 -2531 0 1 0 25.0051 10.3944 30.002 0 0 -1 0.866 8 6 1 0 -2532 0 1 0 25.5052 11.2606 30.002 0 0 -1 0.866 8 6 1 0 -2533 0 1 0 26.0053 10.3944 30.002 0 0 -1 0.866 8 6 1 0 -2534 0 1 0 26.5054 11.2606 30.002 0 0 -1 0.866 8 6 1 0 -2535 0 1 0 27.0055 10.3944 30.002 0 0 -1 0.866 8 6 1 0 -2536 0 1 0 27.5056 11.2606 30.002 0 0 -1 0.866 8 6 1 0 -2537 0 1 0 28.0057 10.3944 30.002 0 0 -1 0.866 8 6 1 0 -2538 0 1 0 28.5058 11.2606 30.002 0 0 -1 0.866 8 6 1 0 -2539 0 1 0 29.0059 10.3944 30.002 0 0 -1 0.866 8 6 1 0 -2540 0 1 0 29.506 11.2606 30.002 0 0 -1 0.866 8 6 1 0 -2541 0 1 0 30.0061 10.3944 30.002 0 0 -1 0.866 8 6 1 0 -2542 0 1 0 30.5062 11.2606 30.002 0 0 -1 0.866 8 6 1 0 -2543 0 1 0 31.0063 10.3944 30.002 0 0 -1 0.866 8 6 1 0 -2544 0 1 0 31.5064 11.2606 30.002 0 0 -1 0.866 8 6 1 0 -2545 0 1 0 32.0065 10.3944 30.002 0 0 -1 0.866 8 6 1 0 -2546 0 1 0 32.5066 11.2606 30.002 0 0 -1 0.866 8 6 1 0 -2547 0 1 0 33.0067 10.3944 30.002 0 0 -1 0.866 8 6 1 0 -2548 0 1 0 33.5068 11.2606 30.002 0 0 -1 0.866 8 6 1 0 -2549 0 1 0 34.0069 10.3944 30.002 0 0 -1 0.866 8 6 1 0 -2550 0 1 0 34.507 11.2606 30.002 0 0 -1 0.866 8 6 1 0 -2551 0 1 0 35.0071 10.3944 30.002 0 0 -1 0.866 8 6 1 0 -2552 0 1 0 35.5072 11.2606 30.002 0 0 -1 0.866 8 6 1 0 -2553 0 1 0 36.0073 10.3944 30.002 0 0 -1 0.866 8 6 1 0 -2554 0 1 0 36.5074 11.2606 30.002 0 0 -1 0.866 8 6 1 0 -2555 0 1 0 37.0075 10.3944 30.002 0 0 -1 0.866 8 6 1 0 -2556 0 1 0 37.5076 11.2606 30.002 0 0 -1 0.866 8 6 1 0 -2557 0 1 0 38.0077 10.3944 30.002 0 0 -1 0.866 8 6 1 0 -2558 0 1 0 38.5078 11.2606 30.002 0 0 -1 0.866 8 6 1 0 -2559 0 1 0 39.0079 10.3944 30.002 0 0 -1 0.866 8 6 1 0 -2560 0 1 0 39.508 11.2606 30.002 0 0 -1 0.866 8 6 1 0 -2561 0 1 0 0 12.1268 30.002 0 0 -1 0.866 8 6 1 0 -2562 0 1 0 0.500101 12.993 30.002 0 0 -1 0.866 8 6 1 0 -2563 0 1 0 1.0002 12.1268 30.002 0 0 -1 0.866 8 6 1 0 -2564 0 1 0 1.5003 12.993 30.002 0 0 -1 0.866 8 6 1 0 -2565 0 1 0 2.0004 12.1268 30.002 0 0 -1 0.866 8 6 1 0 -2566 0 1 0 2.50051 12.993 30.002 0 0 -1 0.866 8 6 1 0 -2567 0 1 0 3.00061 12.1268 30.002 0 0 -1 0.866 8 6 1 0 -2568 0 1 0 3.50071 12.993 30.002 0 0 -1 0.866 8 6 1 0 -2569 0 1 0 4.00081 12.1268 30.002 0 0 -1 0.866 8 6 1 0 -2570 0 1 0 4.50091 12.993 30.002 0 0 -1 0.866 8 6 1 0 -2571 0 1 0 5.00101 12.1268 30.002 0 0 -1 0.866 8 6 1 0 -2572 0 1 0 5.50111 12.993 30.002 0 0 -1 0.866 8 6 1 0 -2573 0 1 0 6.00121 12.1268 30.002 0 0 -1 0.866 8 6 1 0 -2574 0 1 0 6.50132 12.993 30.002 0 0 -1 0.866 8 6 1 0 -2575 0 1 0 7.00142 12.1268 30.002 0 0 -1 0.866 8 6 1 0 -2576 0 1 0 7.50152 12.993 30.002 0 0 -1 0.866 8 6 1 0 -2577 0 1 0 8.00162 12.1268 30.002 0 0 -1 0.866 8 6 1 0 -2578 0 1 0 8.50172 12.993 30.002 0 0 -1 0.866 8 6 1 0 -2579 0 1 0 9.00182 12.1268 30.002 0 0 -1 0.866 8 6 1 0 -2580 0 1 0 9.50192 12.993 30.002 0 0 -1 0.866 8 6 1 0 -2581 0 1 0 10.002 12.1268 30.002 0 0 -1 0.866 8 6 1 0 -2582 0 1 0 10.5021 12.993 30.002 0 0 -1 0.866 8 6 1 0 -2583 0 1 0 11.0022 12.1268 30.002 0 0 -1 0.866 8 6 1 0 -2584 0 1 0 11.5023 12.993 30.002 0 0 -1 0.866 8 6 1 0 -2585 0 1 0 12.0024 12.1268 30.002 0 0 -1 0.866 8 6 1 0 -2586 0 1 0 12.5025 12.993 30.002 0 0 -1 0.866 8 6 1 0 -2587 0 1 0 13.0026 12.1268 30.002 0 0 -1 0.866 8 6 1 0 -2588 0 1 0 13.5027 12.993 30.002 0 0 -1 0.866 8 6 1 0 -2589 0 1 0 14.0028 12.1268 30.002 0 0 -1 0.866 8 6 1 0 -2590 0 1 0 14.5029 12.993 30.002 0 0 -1 0.866 8 6 1 0 -2591 0 1 0 15.003 12.1268 30.002 0 0 -1 0.866 8 6 1 0 -2592 0 1 0 15.5031 12.993 30.002 0 0 -1 0.866 8 6 1 0 -2593 0 1 0 16.0032 12.1268 30.002 0 0 -1 0.866 8 6 1 0 -2594 0 1 0 16.5033 12.993 30.002 0 0 -1 0.866 8 6 1 0 -2595 0 1 0 17.0034 12.1268 30.002 0 0 -1 0.866 8 6 1 0 -2596 0 1 0 17.5035 12.993 30.002 0 0 -1 0.866 8 6 1 0 -2597 0 1 0 18.0036 12.1268 30.002 0 0 -1 0.866 8 6 1 0 -2598 0 1 0 18.5037 12.993 30.002 0 0 -1 0.866 8 6 1 0 -2599 0 1 0 19.0038 12.1268 30.002 0 0 -1 0.866 8 6 1 0 -2600 0 1 0 19.5039 12.993 30.002 0 0 -1 0.866 8 6 1 0 -2601 0 1 0 20.004 12.1268 30.002 0 0 -1 0.866 8 6 1 0 -2602 0 1 0 20.5041 12.993 30.002 0 0 -1 0.866 8 6 1 0 -2603 0 1 0 21.0042 12.1268 30.002 0 0 -1 0.866 8 6 1 0 -2604 0 1 0 21.5043 12.993 30.002 0 0 -1 0.866 8 6 1 0 -2605 0 1 0 22.0045 12.1268 30.002 0 0 -1 0.866 8 6 1 0 -2606 0 1 0 22.5046 12.993 30.002 0 0 -1 0.866 8 6 1 0 -2607 0 1 0 23.0047 12.1268 30.002 0 0 -1 0.866 8 6 1 0 -2608 0 1 0 23.5048 12.993 30.002 0 0 -1 0.866 8 6 1 0 -2609 0 1 0 24.0049 12.1268 30.002 0 0 -1 0.866 8 6 1 0 -2610 0 1 0 24.505 12.993 30.002 0 0 -1 0.866 8 6 1 0 -2611 0 1 0 25.0051 12.1268 30.002 0 0 -1 0.866 8 6 1 0 -2612 0 1 0 25.5052 12.993 30.002 0 0 -1 0.866 8 6 1 0 -2613 0 1 0 26.0053 12.1268 30.002 0 0 -1 0.866 8 6 1 0 -2614 0 1 0 26.5054 12.993 30.002 0 0 -1 0.866 8 6 1 0 -2615 0 1 0 27.0055 12.1268 30.002 0 0 -1 0.866 8 6 1 0 -2616 0 1 0 27.5056 12.993 30.002 0 0 -1 0.866 8 6 1 0 -2617 0 1 0 28.0057 12.1268 30.002 0 0 -1 0.866 8 6 1 0 -2618 0 1 0 28.5058 12.993 30.002 0 0 -1 0.866 8 6 1 0 -2619 0 1 0 29.0059 12.1268 30.002 0 0 -1 0.866 8 6 1 0 -2620 0 1 0 29.506 12.993 30.002 0 0 -1 0.866 8 6 1 0 -2621 0 1 0 30.0061 12.1268 30.002 0 0 -1 0.866 8 6 1 0 -2622 0 1 0 30.5062 12.993 30.002 0 0 -1 0.866 8 6 1 0 -2623 0 1 0 31.0063 12.1268 30.002 0 0 -1 0.866 8 6 1 0 -2624 0 1 0 31.5064 12.993 30.002 0 0 -1 0.866 8 6 1 0 -2625 0 1 0 32.0065 12.1268 30.002 0 0 -1 0.866 8 6 1 0 -2626 0 1 0 32.5066 12.993 30.002 0 0 -1 0.866 8 6 1 0 -2627 0 1 0 33.0067 12.1268 30.002 0 0 -1 0.866 8 6 1 0 -2628 0 1 0 33.5068 12.993 30.002 0 0 -1 0.866 8 6 1 0 -2629 0 1 0 34.0069 12.1268 30.002 0 0 -1 0.866 8 6 1 0 -2630 0 1 0 34.507 12.993 30.002 0 0 -1 0.866 8 6 1 0 -2631 0 1 0 35.0071 12.1268 30.002 0 0 -1 0.866 8 6 1 0 -2632 0 1 0 35.5072 12.993 30.002 0 0 -1 0.866 8 6 1 0 -2633 0 1 0 36.0073 12.1268 30.002 0 0 -1 0.866 8 6 1 0 -2634 0 1 0 36.5074 12.993 30.002 0 0 -1 0.866 8 6 1 0 -2635 0 1 0 37.0075 12.1268 30.002 0 0 -1 0.866 8 6 1 0 -2636 0 1 0 37.5076 12.993 30.002 0 0 -1 0.866 8 6 1 0 -2637 0 1 0 38.0077 12.1268 30.002 0 0 -1 0.866 8 6 1 0 -2638 0 1 0 38.5078 12.993 30.002 0 0 -1 0.866 8 6 1 0 -2639 0 1 0 39.0079 12.1268 30.002 0 0 -1 0.866 8 6 1 0 -2640 0 1 0 39.508 12.993 30.002 0 0 -1 0.866 8 6 1 0 -2641 0 1 0 0 13.8592 30.002 0 0 -1 0.866 8 6 1 0 -2642 0 1 0 0.500101 14.7254 30.002 0 0 -1 0.866 8 6 1 0 -2643 0 1 0 1.0002 13.8592 30.002 0 0 -1 0.866 8 6 1 0 -2644 0 1 0 1.5003 14.7254 30.002 0 0 -1 0.866 8 6 1 0 -2645 0 1 0 2.0004 13.8592 30.002 0 0 -1 0.866 8 6 1 0 -2646 0 1 0 2.50051 14.7254 30.002 0 0 -1 0.866 8 6 1 0 -2647 0 1 0 3.00061 13.8592 30.002 0 0 -1 0.866 8 6 1 0 -2648 0 1 0 3.50071 14.7254 30.002 0 0 -1 0.866 8 6 1 0 -2649 0 1 0 4.00081 13.8592 30.002 0 0 -1 0.866 8 6 1 0 -2650 0 1 0 4.50091 14.7254 30.002 0 0 -1 0.866 8 6 1 0 -2651 0 1 0 5.00101 13.8592 30.002 0 0 -1 0.866 8 6 1 0 -2652 0 1 0 5.50111 14.7254 30.002 0 0 -1 0.866 8 6 1 0 -2653 0 1 0 6.00121 13.8592 30.002 0 0 -1 0.866 8 6 1 0 -2654 0 1 0 6.50132 14.7254 30.002 0 0 -1 0.866 8 6 1 0 -2655 0 1 0 7.00142 13.8592 30.002 0 0 -1 0.866 8 6 1 0 -2656 0 1 0 7.50152 14.7254 30.002 0 0 -1 0.866 8 6 1 0 -2657 0 1 0 8.00162 13.8592 30.002 0 0 -1 0.866 8 6 1 0 -2658 0 1 0 8.50172 14.7254 30.002 0 0 -1 0.866 8 6 1 0 -2659 0 1 0 9.00182 13.8592 30.002 0 0 -1 0.866 8 6 1 0 -2660 0 1 0 9.50192 14.7254 30.002 0 0 -1 0.866 8 6 1 0 -2661 0 1 0 10.002 13.8592 30.002 0 0 -1 0.866 8 6 1 0 -2662 0 1 0 10.5021 14.7254 30.002 0 0 -1 0.866 8 6 1 0 -2663 0 1 0 11.0022 13.8592 30.002 0 0 -1 0.866 8 6 1 0 -2664 0 1 0 11.5023 14.7254 30.002 0 0 -1 0.866 8 6 1 0 -2665 0 1 0 12.0024 13.8592 30.002 0 0 -1 0.866 8 6 1 0 -2666 0 1 0 12.5025 14.7254 30.002 0 0 -1 0.866 8 6 1 0 -2667 0 1 0 13.0026 13.8592 30.002 0 0 -1 0.866 8 6 1 0 -2668 0 1 0 13.5027 14.7254 30.002 0 0 -1 0.866 8 6 1 0 -2669 0 1 0 14.0028 13.8592 30.002 0 0 -1 0.866 8 6 1 0 -2670 0 1 0 14.5029 14.7254 30.002 0 0 -1 0.866 8 6 1 0 -2671 0 1 0 15.003 13.8592 30.002 0 0 -1 0.866 8 6 1 0 -2672 0 1 0 15.5031 14.7254 30.002 0 0 -1 0.866 8 6 1 0 -2673 0 1 0 16.0032 13.8592 30.002 0 0 -1 0.866 8 6 1 0 -2674 0 1 0 16.5033 14.7254 30.002 0 0 -1 0.866 8 6 1 0 -2675 0 1 0 17.0034 13.8592 30.002 0 0 -1 0.866 8 6 1 0 -2676 0 1 0 17.5035 14.7254 30.002 0 0 -1 0.866 8 6 1 0 -2677 0 1 0 18.0036 13.8592 30.002 0 0 -1 0.866 8 6 1 0 -2678 0 1 0 18.5037 14.7254 30.002 0 0 -1 0.866 8 6 1 0 -2679 0 1 0 19.0038 13.8592 30.002 0 0 -1 0.866 8 6 1 0 -2680 0 1 0 19.5039 14.7254 30.002 0 0 -1 0.866 8 6 1 0 -2681 0 1 0 20.004 13.8592 30.002 0 0 -1 0.866 8 6 1 0 -2682 0 1 0 20.5041 14.7254 30.002 0 0 -1 0.866 8 6 1 0 -2683 0 1 0 21.0042 13.8592 30.002 0 0 -1 0.866 8 6 1 0 -2684 0 1 0 21.5043 14.7254 30.002 0 0 -1 0.866 8 6 1 0 -2685 0 1 0 22.0045 13.8592 30.002 0 0 -1 0.866 8 6 1 0 -2686 0 1 0 22.5046 14.7254 30.002 0 0 -1 0.866 8 6 1 0 -2687 0 1 0 23.0047 13.8592 30.002 0 0 -1 0.866 8 6 1 0 -2688 0 1 0 23.5048 14.7254 30.002 0 0 -1 0.866 8 6 1 0 -2689 0 1 0 24.0049 13.8592 30.002 0 0 -1 0.866 8 6 1 0 -2690 0 1 0 24.505 14.7254 30.002 0 0 -1 0.866 8 6 1 0 -2691 0 1 0 25.0051 13.8592 30.002 0 0 -1 0.866 8 6 1 0 -2692 0 1 0 25.5052 14.7254 30.002 0 0 -1 0.866 8 6 1 0 -2693 0 1 0 26.0053 13.8592 30.002 0 0 -1 0.866 8 6 1 0 -2694 0 1 0 26.5054 14.7254 30.002 0 0 -1 0.866 8 6 1 0 -2695 0 1 0 27.0055 13.8592 30.002 0 0 -1 0.866 8 6 1 0 -2696 0 1 0 27.5056 14.7254 30.002 0 0 -1 0.866 8 6 1 0 -2697 0 1 0 28.0057 13.8592 30.002 0 0 -1 0.866 8 6 1 0 -2698 0 1 0 28.5058 14.7254 30.002 0 0 -1 0.866 8 6 1 0 -2699 0 1 0 29.0059 13.8592 30.002 0 0 -1 0.866 8 6 1 0 -2700 0 1 0 29.506 14.7254 30.002 0 0 -1 0.866 8 6 1 0 -2701 0 1 0 30.0061 13.8592 30.002 0 0 -1 0.866 8 6 1 0 -2702 0 1 0 30.5062 14.7254 30.002 0 0 -1 0.866 8 6 1 0 -2703 0 1 0 31.0063 13.8592 30.002 0 0 -1 0.866 8 6 1 0 -2704 0 1 0 31.5064 14.7254 30.002 0 0 -1 0.866 8 6 1 0 -2705 0 1 0 32.0065 13.8592 30.002 0 0 -1 0.866 8 6 1 0 -2706 0 1 0 32.5066 14.7254 30.002 0 0 -1 0.866 8 6 1 0 -2707 0 1 0 33.0067 13.8592 30.002 0 0 -1 0.866 8 6 1 0 -2708 0 1 0 33.5068 14.7254 30.002 0 0 -1 0.866 8 6 1 0 -2709 0 1 0 34.0069 13.8592 30.002 0 0 -1 0.866 8 6 1 0 -2710 0 1 0 34.507 14.7254 30.002 0 0 -1 0.866 8 6 1 0 -2711 0 1 0 35.0071 13.8592 30.002 0 0 -1 0.866 8 6 1 0 -2712 0 1 0 35.5072 14.7254 30.002 0 0 -1 0.866 8 6 1 0 -2713 0 1 0 36.0073 13.8592 30.002 0 0 -1 0.866 8 6 1 0 -2714 0 1 0 36.5074 14.7254 30.002 0 0 -1 0.866 8 6 1 0 -2715 0 1 0 37.0075 13.8592 30.002 0 0 -1 0.866 8 6 1 0 -2716 0 1 0 37.5076 14.7254 30.002 0 0 -1 0.866 8 6 1 0 -2717 0 1 0 38.0077 13.8592 30.002 0 0 -1 0.866 8 6 1 0 -2718 0 1 0 38.5078 14.7254 30.002 0 0 -1 0.866 8 6 1 0 -2719 0 1 0 39.0079 13.8592 30.002 0 0 -1 0.866 8 6 1 0 -2720 0 1 0 39.508 14.7254 30.002 0 0 -1 0.866 8 6 1 0 -2721 0 1 0 0 15.5916 30.002 0 0 -1 0.866 8 6 1 0 -2722 0 1 0 0.500101 16.4578 30.002 0 0 -1 0.866 8 6 1 0 -2723 0 1 0 1.0002 15.5916 30.002 0 0 -1 0.866 8 6 1 0 -2724 0 1 0 1.5003 16.4578 30.002 0 0 -1 0.866 8 6 1 0 -2725 0 1 0 2.0004 15.5916 30.002 0 0 -1 0.866 8 6 1 0 -2726 0 1 0 2.50051 16.4578 30.002 0 0 -1 0.866 8 6 1 0 -2727 0 1 0 3.00061 15.5916 30.002 0 0 -1 0.866 8 6 1 0 -2728 0 1 0 3.50071 16.4578 30.002 0 0 -1 0.866 8 6 1 0 -2729 0 1 0 4.00081 15.5916 30.002 0 0 -1 0.866 8 6 1 0 -2730 0 1 0 4.50091 16.4578 30.002 0 0 -1 0.866 8 6 1 0 -2731 0 1 0 5.00101 15.5916 30.002 0 0 -1 0.866 8 6 1 0 -2732 0 1 0 5.50111 16.4578 30.002 0 0 -1 0.866 8 6 1 0 -2733 0 1 0 6.00121 15.5916 30.002 0 0 -1 0.866 8 6 1 0 -2734 0 1 0 6.50132 16.4578 30.002 0 0 -1 0.866 8 6 1 0 -2735 0 1 0 7.00142 15.5916 30.002 0 0 -1 0.866 8 6 1 0 -2736 0 1 0 7.50152 16.4578 30.002 0 0 -1 0.866 8 6 1 0 -2737 0 1 0 8.00162 15.5916 30.002 0 0 -1 0.866 8 6 1 0 -2738 0 1 0 8.50172 16.4578 30.002 0 0 -1 0.866 8 6 1 0 -2739 0 1 0 9.00182 15.5916 30.002 0 0 -1 0.866 8 6 1 0 -2740 0 1 0 9.50192 16.4578 30.002 0 0 -1 0.866 8 6 1 0 -2741 0 1 0 10.002 15.5916 30.002 0 0 -1 0.866 8 6 1 0 -2742 0 1 0 10.5021 16.4578 30.002 0 0 -1 0.866 8 6 1 0 -2743 0 1 0 11.0022 15.5916 30.002 0 0 -1 0.866 8 6 1 0 -2744 0 1 0 11.5023 16.4578 30.002 0 0 -1 0.866 8 6 1 0 -2745 0 1 0 12.0024 15.5916 30.002 0 0 -1 0.866 8 6 1 0 -2746 0 1 0 12.5025 16.4578 30.002 0 0 -1 0.866 8 6 1 0 -2747 0 1 0 13.0026 15.5916 30.002 0 0 -1 0.866 8 6 1 0 -2748 0 1 0 13.5027 16.4578 30.002 0 0 -1 0.866 8 6 1 0 -2749 0 1 0 14.0028 15.5916 30.002 0 0 -1 0.866 8 6 1 0 -2750 0 1 0 14.5029 16.4578 30.002 0 0 -1 0.866 8 6 1 0 -2751 0 1 0 15.003 15.5916 30.002 0 0 -1 0.866 8 6 1 0 -2752 0 1 0 15.5031 16.4578 30.002 0 0 -1 0.866 8 6 1 0 -2753 0 1 0 16.0032 15.5916 30.002 0 0 -1 0.866 8 6 1 0 -2754 0 1 0 16.5033 16.4578 30.002 0 0 -1 0.866 8 6 1 0 -2755 0 1 0 17.0034 15.5916 30.002 0 0 -1 0.866 8 6 1 0 -2756 0 1 0 17.5035 16.4578 30.002 0 0 -1 0.866 8 6 1 0 -2757 0 1 0 18.0036 15.5916 30.002 0 0 -1 0.866 8 6 1 0 -2758 0 1 0 18.5037 16.4578 30.002 0 0 -1 0.866 8 6 1 0 -2759 0 1 0 19.0038 15.5916 30.002 0 0 -1 0.866 8 6 1 0 -2760 0 1 0 19.5039 16.4578 30.002 0 0 -1 0.866 8 6 1 0 -2761 0 1 0 20.004 15.5916 30.002 0 0 -1 0.866 8 6 1 0 -2762 0 1 0 20.5041 16.4578 30.002 0 0 -1 0.866 8 6 1 0 -2763 0 1 0 21.0042 15.5916 30.002 0 0 -1 0.866 8 6 1 0 -2764 0 1 0 21.5043 16.4578 30.002 0 0 -1 0.866 8 6 1 0 -2765 0 1 0 22.0045 15.5916 30.002 0 0 -1 0.866 8 6 1 0 -2766 0 1 0 22.5046 16.4578 30.002 0 0 -1 0.866 8 6 1 0 -2767 0 1 0 23.0047 15.5916 30.002 0 0 -1 0.866 8 6 1 0 -2768 0 1 0 23.5048 16.4578 30.002 0 0 -1 0.866 8 6 1 0 -2769 0 1 0 24.0049 15.5916 30.002 0 0 -1 0.866 8 6 1 0 -2770 0 1 0 24.505 16.4578 30.002 0 0 -1 0.866 8 6 1 0 -2771 0 1 0 25.0051 15.5916 30.002 0 0 -1 0.866 8 6 1 0 -2772 0 1 0 25.5052 16.4578 30.002 0 0 -1 0.866 8 6 1 0 -2773 0 1 0 26.0053 15.5916 30.002 0 0 -1 0.866 8 6 1 0 -2774 0 1 0 26.5054 16.4578 30.002 0 0 -1 0.866 8 6 1 0 -2775 0 1 0 27.0055 15.5916 30.002 0 0 -1 0.866 8 6 1 0 -2776 0 1 0 27.5056 16.4578 30.002 0 0 -1 0.866 8 6 1 0 -2777 0 1 0 28.0057 15.5916 30.002 0 0 -1 0.866 8 6 1 0 -2778 0 1 0 28.5058 16.4578 30.002 0 0 -1 0.866 8 6 1 0 -2779 0 1 0 29.0059 15.5916 30.002 0 0 -1 0.866 8 6 1 0 -2780 0 1 0 29.506 16.4578 30.002 0 0 -1 0.866 8 6 1 0 -2781 0 1 0 30.0061 15.5916 30.002 0 0 -1 0.866 8 6 1 0 -2782 0 1 0 30.5062 16.4578 30.002 0 0 -1 0.866 8 6 1 0 -2783 0 1 0 31.0063 15.5916 30.002 0 0 -1 0.866 8 6 1 0 -2784 0 1 0 31.5064 16.4578 30.002 0 0 -1 0.866 8 6 1 0 -2785 0 1 0 32.0065 15.5916 30.002 0 0 -1 0.866 8 6 1 0 -2786 0 1 0 32.5066 16.4578 30.002 0 0 -1 0.866 8 6 1 0 -2787 0 1 0 33.0067 15.5916 30.002 0 0 -1 0.866 8 6 1 0 -2788 0 1 0 33.5068 16.4578 30.002 0 0 -1 0.866 8 6 1 0 -2789 0 1 0 34.0069 15.5916 30.002 0 0 -1 0.866 8 6 1 0 -2790 0 1 0 34.507 16.4578 30.002 0 0 -1 0.866 8 6 1 0 -2791 0 1 0 35.0071 15.5916 30.002 0 0 -1 0.866 8 6 1 0 -2792 0 1 0 35.5072 16.4578 30.002 0 0 -1 0.866 8 6 1 0 -2793 0 1 0 36.0073 15.5916 30.002 0 0 -1 0.866 8 6 1 0 -2794 0 1 0 36.5074 16.4578 30.002 0 0 -1 0.866 8 6 1 0 -2795 0 1 0 37.0075 15.5916 30.002 0 0 -1 0.866 8 6 1 0 -2796 0 1 0 37.5076 16.4578 30.002 0 0 -1 0.866 8 6 1 0 -2797 0 1 0 38.0077 15.5916 30.002 0 0 -1 0.866 8 6 1 0 -2798 0 1 0 38.5078 16.4578 30.002 0 0 -1 0.866 8 6 1 0 -2799 0 1 0 39.0079 15.5916 30.002 0 0 -1 0.866 8 6 1 0 -2800 0 1 0 39.508 16.4578 30.002 0 0 -1 0.866 8 6 1 0 -2801 0 1 0 0 17.324 30.002 0 0 -1 0.866 8 6 1 0 -2802 0 1 0 0.500101 18.1902 30.002 0 0 -1 0.866 8 6 1 0 -2803 0 1 0 1.0002 17.324 30.002 0 0 -1 0.866 8 6 1 0 -2804 0 1 0 1.5003 18.1902 30.002 0 0 -1 0.866 8 6 1 0 -2805 0 1 0 2.0004 17.324 30.002 0 0 -1 0.866 8 6 1 0 -2806 0 1 0 2.50051 18.1902 30.002 0 0 -1 0.866 8 6 1 0 -2807 0 1 0 3.00061 17.324 30.002 0 0 -1 0.866 8 6 1 0 -2808 0 1 0 3.50071 18.1902 30.002 0 0 -1 0.866 8 6 1 0 -2809 0 1 0 4.00081 17.324 30.002 0 0 -1 0.866 8 6 1 0 -2810 0 1 0 4.50091 18.1902 30.002 0 0 -1 0.866 8 6 1 0 -2811 0 1 0 5.00101 17.324 30.002 0 0 -1 0.866 8 6 1 0 -2812 0 1 0 5.50111 18.1902 30.002 0 0 -1 0.866 8 6 1 0 -2813 0 1 0 6.00121 17.324 30.002 0 0 -1 0.866 8 6 1 0 -2814 0 1 0 6.50132 18.1902 30.002 0 0 -1 0.866 8 6 1 0 -2815 0 1 0 7.00142 17.324 30.002 0 0 -1 0.866 8 6 1 0 -2816 0 1 0 7.50152 18.1902 30.002 0 0 -1 0.866 8 6 1 0 -2817 0 1 0 8.00162 17.324 30.002 0 0 -1 0.866 8 6 1 0 -2818 0 1 0 8.50172 18.1902 30.002 0 0 -1 0.866 8 6 1 0 -2819 0 1 0 9.00182 17.324 30.002 0 0 -1 0.866 8 6 1 0 -2820 0 1 0 9.50192 18.1902 30.002 0 0 -1 0.866 8 6 1 0 -2821 0 1 0 10.002 17.324 30.002 0 0 -1 0.866 8 6 1 0 -2822 0 1 0 10.5021 18.1902 30.002 0 0 -1 0.866 8 6 1 0 -2823 0 1 0 11.0022 17.324 30.002 0 0 -1 0.866 8 6 1 0 -2824 0 1 0 11.5023 18.1902 30.002 0 0 -1 0.866 8 6 1 0 -2825 0 1 0 12.0024 17.324 30.002 0 0 -1 0.866 8 6 1 0 -2826 0 1 0 12.5025 18.1902 30.002 0 0 -1 0.866 8 6 1 0 -2827 0 1 0 13.0026 17.324 30.002 0 0 -1 0.866 8 6 1 0 -2828 0 1 0 13.5027 18.1902 30.002 0 0 -1 0.866 8 6 1 0 -2829 0 1 0 14.0028 17.324 30.002 0 0 -1 0.866 8 6 1 0 -2830 0 1 0 14.5029 18.1902 30.002 0 0 -1 0.866 8 6 1 0 -2831 0 1 0 15.003 17.324 30.002 0 0 -1 0.866 8 6 1 0 -2832 0 1 0 15.5031 18.1902 30.002 0 0 -1 0.866 8 6 1 0 -2833 0 1 0 16.0032 17.324 30.002 0 0 -1 0.866 8 6 1 0 -2834 0 1 0 16.5033 18.1902 30.002 0 0 -1 0.866 8 6 1 0 -2835 0 1 0 17.0034 17.324 30.002 0 0 -1 0.866 8 6 1 0 -2836 0 1 0 17.5035 18.1902 30.002 0 0 -1 0.866 8 6 1 0 -2837 0 1 0 18.0036 17.324 30.002 0 0 -1 0.866 8 6 1 0 -2838 0 1 0 18.5037 18.1902 30.002 0 0 -1 0.866 8 6 1 0 -2839 0 1 0 19.0038 17.324 30.002 0 0 -1 0.866 8 6 1 0 -2840 0 1 0 19.5039 18.1902 30.002 0 0 -1 0.866 8 6 1 0 -2841 0 1 0 20.004 17.324 30.002 0 0 -1 0.866 8 6 1 0 -2842 0 1 0 20.5041 18.1902 30.002 0 0 -1 0.866 8 6 1 0 -2843 0 1 0 21.0042 17.324 30.002 0 0 -1 0.866 8 6 1 0 -2844 0 1 0 21.5043 18.1902 30.002 0 0 -1 0.866 8 6 1 0 -2845 0 1 0 22.0045 17.324 30.002 0 0 -1 0.866 8 6 1 0 -2846 0 1 0 22.5046 18.1902 30.002 0 0 -1 0.866 8 6 1 0 -2847 0 1 0 23.0047 17.324 30.002 0 0 -1 0.866 8 6 1 0 -2848 0 1 0 23.5048 18.1902 30.002 0 0 -1 0.866 8 6 1 0 -2849 0 1 0 24.0049 17.324 30.002 0 0 -1 0.866 8 6 1 0 -2850 0 1 0 24.505 18.1902 30.002 0 0 -1 0.866 8 6 1 0 -2851 0 1 0 25.0051 17.324 30.002 0 0 -1 0.866 8 6 1 0 -2852 0 1 0 25.5052 18.1902 30.002 0 0 -1 0.866 8 6 1 0 -2853 0 1 0 26.0053 17.324 30.002 0 0 -1 0.866 8 6 1 0 -2854 0 1 0 26.5054 18.1902 30.002 0 0 -1 0.866 8 6 1 0 -2855 0 1 0 27.0055 17.324 30.002 0 0 -1 0.866 8 6 1 0 -2856 0 1 0 27.5056 18.1902 30.002 0 0 -1 0.866 8 6 1 0 -2857 0 1 0 28.0057 17.324 30.002 0 0 -1 0.866 8 6 1 0 -2858 0 1 0 28.5058 18.1902 30.002 0 0 -1 0.866 8 6 1 0 -2859 0 1 0 29.0059 17.324 30.002 0 0 -1 0.866 8 6 1 0 -2860 0 1 0 29.506 18.1902 30.002 0 0 -1 0.866 8 6 1 0 -2861 0 1 0 30.0061 17.324 30.002 0 0 -1 0.866 8 6 1 0 -2862 0 1 0 30.5062 18.1902 30.002 0 0 -1 0.866 8 6 1 0 -2863 0 1 0 31.0063 17.324 30.002 0 0 -1 0.866 8 6 1 0 -2864 0 1 0 31.5064 18.1902 30.002 0 0 -1 0.866 8 6 1 0 -2865 0 1 0 32.0065 17.324 30.002 0 0 -1 0.866 8 6 1 0 -2866 0 1 0 32.5066 18.1902 30.002 0 0 -1 0.866 8 6 1 0 -2867 0 1 0 33.0067 17.324 30.002 0 0 -1 0.866 8 6 1 0 -2868 0 1 0 33.5068 18.1902 30.002 0 0 -1 0.866 8 6 1 0 -2869 0 1 0 34.0069 17.324 30.002 0 0 -1 0.866 8 6 1 0 -2870 0 1 0 34.507 18.1902 30.002 0 0 -1 0.866 8 6 1 0 -2871 0 1 0 35.0071 17.324 30.002 0 0 -1 0.866 8 6 1 0 -2872 0 1 0 35.5072 18.1902 30.002 0 0 -1 0.866 8 6 1 0 -2873 0 1 0 36.0073 17.324 30.002 0 0 -1 0.866 8 6 1 0 -2874 0 1 0 36.5074 18.1902 30.002 0 0 -1 0.866 8 6 1 0 -2875 0 1 0 37.0075 17.324 30.002 0 0 -1 0.866 8 6 1 0 -2876 0 1 0 37.5076 18.1902 30.002 0 0 -1 0.866 8 6 1 0 -2877 0 1 0 38.0077 17.324 30.002 0 0 -1 0.866 8 6 1 0 -2878 0 1 0 38.5078 18.1902 30.002 0 0 -1 0.866 8 6 1 0 -2879 0 1 0 39.0079 17.324 30.002 0 0 -1 0.866 8 6 1 0 -2880 0 1 0 39.508 18.1902 30.002 0 0 -1 0.866 8 6 1 0 -2881 0 1 0 0 19.0564 30.002 0 0 -1 0.866 8 6 1 0 -2882 0 1 0 0.500101 19.9226 30.002 0 0 -1 0.866 8 6 1 0 -2883 0 1 0 1.0002 19.0564 30.002 0 0 -1 0.866 8 6 1 0 -2884 0 1 0 1.5003 19.9226 30.002 0 0 -1 0.866 8 6 1 0 -2885 0 1 0 2.0004 19.0564 30.002 0 0 -1 0.866 8 6 1 0 -2886 0 1 0 2.50051 19.9226 30.002 0 0 -1 0.866 8 6 1 0 -2887 0 1 0 3.00061 19.0564 30.002 0 0 -1 0.866 8 6 1 0 -2888 0 1 0 3.50071 19.9226 30.002 0 0 -1 0.866 8 6 1 0 -2889 0 1 0 4.00081 19.0564 30.002 0 0 -1 0.866 8 6 1 0 -2890 0 1 0 4.50091 19.9226 30.002 0 0 -1 0.866 8 6 1 0 -2891 0 1 0 5.00101 19.0564 30.002 0 0 -1 0.866 8 6 1 0 -2892 0 1 0 5.50111 19.9226 30.002 0 0 -1 0.866 8 6 1 0 -2893 0 1 0 6.00121 19.0564 30.002 0 0 -1 0.866 8 6 1 0 -2894 0 1 0 6.50132 19.9226 30.002 0 0 -1 0.866 8 6 1 0 -2895 0 1 0 7.00142 19.0564 30.002 0 0 -1 0.866 8 6 1 0 -2896 0 1 0 7.50152 19.9226 30.002 0 0 -1 0.866 8 6 1 0 -2897 0 1 0 8.00162 19.0564 30.002 0 0 -1 0.866 8 6 1 0 -2898 0 1 0 8.50172 19.9226 30.002 0 0 -1 0.866 8 6 1 0 -2899 0 1 0 9.00182 19.0564 30.002 0 0 -1 0.866 8 6 1 0 -2900 0 1 0 9.50192 19.9226 30.002 0 0 -1 0.866 8 6 1 0 -2901 0 1 0 10.002 19.0564 30.002 0 0 -1 0.866 8 6 1 0 -2902 0 1 0 10.5021 19.9226 30.002 0 0 -1 0.866 8 6 1 0 -2903 0 1 0 11.0022 19.0564 30.002 0 0 -1 0.866 8 6 1 0 -2904 0 1 0 11.5023 19.9226 30.002 0 0 -1 0.866 8 6 1 0 -2905 0 1 0 12.0024 19.0564 30.002 0 0 -1 0.866 8 6 1 0 -2906 0 1 0 12.5025 19.9226 30.002 0 0 -1 0.866 8 6 1 0 -2907 0 1 0 13.0026 19.0564 30.002 0 0 -1 0.866 8 6 1 0 -2908 0 1 0 13.5027 19.9226 30.002 0 0 -1 0.866 8 6 1 0 -2909 0 1 0 14.0028 19.0564 30.002 0 0 -1 0.866 8 6 1 0 -2910 0 1 0 14.5029 19.9226 30.002 0 0 -1 0.866 8 6 1 0 -2911 0 1 0 15.003 19.0564 30.002 0 0 -1 0.866 8 6 1 0 -2912 0 1 0 15.5031 19.9226 30.002 0 0 -1 0.866 8 6 1 0 -2913 0 1 0 16.0032 19.0564 30.002 0 0 -1 0.866 8 6 1 0 -2914 0 1 0 16.5033 19.9226 30.002 0 0 -1 0.866 8 6 1 0 -2915 0 1 0 17.0034 19.0564 30.002 0 0 -1 0.866 8 6 1 0 -2916 0 1 0 17.5035 19.9226 30.002 0 0 -1 0.866 8 6 1 0 -2917 0 1 0 18.0036 19.0564 30.002 0 0 -1 0.866 8 6 1 0 -2918 0 1 0 18.5037 19.9226 30.002 0 0 -1 0.866 8 6 1 0 -2919 0 1 0 19.0038 19.0564 30.002 0 0 -1 0.866 8 6 1 0 -2920 0 1 0 19.5039 19.9226 30.002 0 0 -1 0.866 8 6 1 0 -2921 0 1 0 20.004 19.0564 30.002 0 0 -1 0.866 8 6 1 0 -2922 0 1 0 20.5041 19.9226 30.002 0 0 -1 0.866 8 6 1 0 -2923 0 1 0 21.0042 19.0564 30.002 0 0 -1 0.866 8 6 1 0 -2924 0 1 0 21.5043 19.9226 30.002 0 0 -1 0.866 8 6 1 0 -2925 0 1 0 22.0045 19.0564 30.002 0 0 -1 0.866 8 6 1 0 -2926 0 1 0 22.5046 19.9226 30.002 0 0 -1 0.866 8 6 1 0 -2927 0 1 0 23.0047 19.0564 30.002 0 0 -1 0.866 8 6 1 0 -2928 0 1 0 23.5048 19.9226 30.002 0 0 -1 0.866 8 6 1 0 -2929 0 1 0 24.0049 19.0564 30.002 0 0 -1 0.866 8 6 1 0 -2930 0 1 0 24.505 19.9226 30.002 0 0 -1 0.866 8 6 1 0 -2931 0 1 0 25.0051 19.0564 30.002 0 0 -1 0.866 8 6 1 0 -2932 0 1 0 25.5052 19.9226 30.002 0 0 -1 0.866 8 6 1 0 -2933 0 1 0 26.0053 19.0564 30.002 0 0 -1 0.866 8 6 1 0 -2934 0 1 0 26.5054 19.9226 30.002 0 0 -1 0.866 8 6 1 0 -2935 0 1 0 27.0055 19.0564 30.002 0 0 -1 0.866 8 6 1 0 -2936 0 1 0 27.5056 19.9226 30.002 0 0 -1 0.866 8 6 1 0 -2937 0 1 0 28.0057 19.0564 30.002 0 0 -1 0.866 8 6 1 0 -2938 0 1 0 28.5058 19.9226 30.002 0 0 -1 0.866 8 6 1 0 -2939 0 1 0 29.0059 19.0564 30.002 0 0 -1 0.866 8 6 1 0 -2940 0 1 0 29.506 19.9226 30.002 0 0 -1 0.866 8 6 1 0 -2941 0 1 0 30.0061 19.0564 30.002 0 0 -1 0.866 8 6 1 0 -2942 0 1 0 30.5062 19.9226 30.002 0 0 -1 0.866 8 6 1 0 -2943 0 1 0 31.0063 19.0564 30.002 0 0 -1 0.866 8 6 1 0 -2944 0 1 0 31.5064 19.9226 30.002 0 0 -1 0.866 8 6 1 0 -2945 0 1 0 32.0065 19.0564 30.002 0 0 -1 0.866 8 6 1 0 -2946 0 1 0 32.5066 19.9226 30.002 0 0 -1 0.866 8 6 1 0 -2947 0 1 0 33.0067 19.0564 30.002 0 0 -1 0.866 8 6 1 0 -2948 0 1 0 33.5068 19.9226 30.002 0 0 -1 0.866 8 6 1 0 -2949 0 1 0 34.0069 19.0564 30.002 0 0 -1 0.866 8 6 1 0 -2950 0 1 0 34.507 19.9226 30.002 0 0 -1 0.866 8 6 1 0 -2951 0 1 0 35.0071 19.0564 30.002 0 0 -1 0.866 8 6 1 0 -2952 0 1 0 35.5072 19.9226 30.002 0 0 -1 0.866 8 6 1 0 -2953 0 1 0 36.0073 19.0564 30.002 0 0 -1 0.866 8 6 1 0 -2954 0 1 0 36.5074 19.9226 30.002 0 0 -1 0.866 8 6 1 0 -2955 0 1 0 37.0075 19.0564 30.002 0 0 -1 0.866 8 6 1 0 -2956 0 1 0 37.5076 19.9226 30.002 0 0 -1 0.866 8 6 1 0 -2957 0 1 0 38.0077 19.0564 30.002 0 0 -1 0.866 8 6 1 0 -2958 0 1 0 38.5078 19.9226 30.002 0 0 -1 0.866 8 6 1 0 -2959 0 1 0 39.0079 19.0564 30.002 0 0 -1 0.866 8 6 1 0 -2960 0 1 0 39.508 19.9226 30.002 0 0 -1 0.866 8 6 1 0 -2961 0 1 0 0 20.7888 30.002 0 0 -1 0.866 8 6 1 0 -2962 0 1 0 0.500101 21.655 30.002 0 0 -1 0.866 8 6 1 0 -2963 0 1 0 1.0002 20.7888 30.002 0 0 -1 0.866 8 6 1 0 -2964 0 1 0 1.5003 21.655 30.002 0 0 -1 0.866 8 6 1 0 -2965 0 1 0 2.0004 20.7888 30.002 0 0 -1 0.866 8 6 1 0 -2966 0 1 0 2.50051 21.655 30.002 0 0 -1 0.866 8 6 1 0 -2967 0 1 0 3.00061 20.7888 30.002 0 0 -1 0.866 8 6 1 0 -2968 0 1 0 3.50071 21.655 30.002 0 0 -1 0.866 8 6 1 0 -2969 0 1 0 4.00081 20.7888 30.002 0 0 -1 0.866 8 6 1 0 -2970 0 1 0 4.50091 21.655 30.002 0 0 -1 0.866 8 6 1 0 -2971 0 1 0 5.00101 20.7888 30.002 0 0 -1 0.866 8 6 1 0 -2972 0 1 0 5.50111 21.655 30.002 0 0 -1 0.866 8 6 1 0 -2973 0 1 0 6.00121 20.7888 30.002 0 0 -1 0.866 8 6 1 0 -2974 0 1 0 6.50132 21.655 30.002 0 0 -1 0.866 8 6 1 0 -2975 0 1 0 7.00142 20.7888 30.002 0 0 -1 0.866 8 6 1 0 -2976 0 1 0 7.50152 21.655 30.002 0 0 -1 0.866 8 6 1 0 -2977 0 1 0 8.00162 20.7888 30.002 0 0 -1 0.866 8 6 1 0 -2978 0 1 0 8.50172 21.655 30.002 0 0 -1 0.866 8 6 1 0 -2979 0 1 0 9.00182 20.7888 30.002 0 0 -1 0.866 8 6 1 0 -2980 0 1 0 9.50192 21.655 30.002 0 0 -1 0.866 8 6 1 0 -2981 0 1 0 10.002 20.7888 30.002 0 0 -1 0.866 8 6 1 0 -2982 0 1 0 10.5021 21.655 30.002 0 0 -1 0.866 8 6 1 0 -2983 0 1 0 11.0022 20.7888 30.002 0 0 -1 0.866 8 6 1 0 -2984 0 1 0 11.5023 21.655 30.002 0 0 -1 0.866 8 6 1 0 -2985 0 1 0 12.0024 20.7888 30.002 0 0 -1 0.866 8 6 1 0 -2986 0 1 0 12.5025 21.655 30.002 0 0 -1 0.866 8 6 1 0 -2987 0 1 0 13.0026 20.7888 30.002 0 0 -1 0.866 8 6 1 0 -2988 0 1 0 13.5027 21.655 30.002 0 0 -1 0.866 8 6 1 0 -2989 0 1 0 14.0028 20.7888 30.002 0 0 -1 0.866 8 6 1 0 -2990 0 1 0 14.5029 21.655 30.002 0 0 -1 0.866 8 6 1 0 -2991 0 1 0 15.003 20.7888 30.002 0 0 -1 0.866 8 6 1 0 -2992 0 1 0 15.5031 21.655 30.002 0 0 -1 0.866 8 6 1 0 -2993 0 1 0 16.0032 20.7888 30.002 0 0 -1 0.866 8 6 1 0 -2994 0 1 0 16.5033 21.655 30.002 0 0 -1 0.866 8 6 1 0 -2995 0 1 0 17.0034 20.7888 30.002 0 0 -1 0.866 8 6 1 0 -2996 0 1 0 17.5035 21.655 30.002 0 0 -1 0.866 8 6 1 0 -2997 0 1 0 18.0036 20.7888 30.002 0 0 -1 0.866 8 6 1 0 -2998 0 1 0 18.5037 21.655 30.002 0 0 -1 0.866 8 6 1 0 -2999 0 1 0 19.0038 20.7888 30.002 0 0 -1 0.866 8 6 1 0 -3000 0 1 0 19.5039 21.655 30.002 0 0 -1 0.866 8 6 1 0 -3001 0 1 0 20.004 20.7888 30.002 0 0 -1 0.866 8 6 1 0 -3002 0 1 0 20.5041 21.655 30.002 0 0 -1 0.866 8 6 1 0 -3003 0 1 0 21.0042 20.7888 30.002 0 0 -1 0.866 8 6 1 0 -3004 0 1 0 21.5043 21.655 30.002 0 0 -1 0.866 8 6 1 0 -3005 0 1 0 22.0045 20.7888 30.002 0 0 -1 0.866 8 6 1 0 -3006 0 1 0 22.5046 21.655 30.002 0 0 -1 0.866 8 6 1 0 -3007 0 1 0 23.0047 20.7888 30.002 0 0 -1 0.866 8 6 1 0 -3008 0 1 0 23.5048 21.655 30.002 0 0 -1 0.866 8 6 1 0 -3009 0 1 0 24.0049 20.7888 30.002 0 0 -1 0.866 8 6 1 0 -3010 0 1 0 24.505 21.655 30.002 0 0 -1 0.866 8 6 1 0 -3011 0 1 0 25.0051 20.7888 30.002 0 0 -1 0.866 8 6 1 0 -3012 0 1 0 25.5052 21.655 30.002 0 0 -1 0.866 8 6 1 0 -3013 0 1 0 26.0053 20.7888 30.002 0 0 -1 0.866 8 6 1 0 -3014 0 1 0 26.5054 21.655 30.002 0 0 -1 0.866 8 6 1 0 -3015 0 1 0 27.0055 20.7888 30.002 0 0 -1 0.866 8 6 1 0 -3016 0 1 0 27.5056 21.655 30.002 0 0 -1 0.866 8 6 1 0 -3017 0 1 0 28.0057 20.7888 30.002 0 0 -1 0.866 8 6 1 0 -3018 0 1 0 28.5058 21.655 30.002 0 0 -1 0.866 8 6 1 0 -3019 0 1 0 29.0059 20.7888 30.002 0 0 -1 0.866 8 6 1 0 -3020 0 1 0 29.506 21.655 30.002 0 0 -1 0.866 8 6 1 0 -3021 0 1 0 30.0061 20.7888 30.002 0 0 -1 0.866 8 6 1 0 -3022 0 1 0 30.5062 21.655 30.002 0 0 -1 0.866 8 6 1 0 -3023 0 1 0 31.0063 20.7888 30.002 0 0 -1 0.866 8 6 1 0 -3024 0 1 0 31.5064 21.655 30.002 0 0 -1 0.866 8 6 1 0 -3025 0 1 0 32.0065 20.7888 30.002 0 0 -1 0.866 8 6 1 0 -3026 0 1 0 32.5066 21.655 30.002 0 0 -1 0.866 8 6 1 0 -3027 0 1 0 33.0067 20.7888 30.002 0 0 -1 0.866 8 6 1 0 -3028 0 1 0 33.5068 21.655 30.002 0 0 -1 0.866 8 6 1 0 -3029 0 1 0 34.0069 20.7888 30.002 0 0 -1 0.866 8 6 1 0 -3030 0 1 0 34.507 21.655 30.002 0 0 -1 0.866 8 6 1 0 -3031 0 1 0 35.0071 20.7888 30.002 0 0 -1 0.866 8 6 1 0 -3032 0 1 0 35.5072 21.655 30.002 0 0 -1 0.866 8 6 1 0 -3033 0 1 0 36.0073 20.7888 30.002 0 0 -1 0.866 8 6 1 0 -3034 0 1 0 36.5074 21.655 30.002 0 0 -1 0.866 8 6 1 0 -3035 0 1 0 37.0075 20.7888 30.002 0 0 -1 0.866 8 6 1 0 -3036 0 1 0 37.5076 21.655 30.002 0 0 -1 0.866 8 6 1 0 -3037 0 1 0 38.0077 20.7888 30.002 0 0 -1 0.866 8 6 1 0 -3038 0 1 0 38.5078 21.655 30.002 0 0 -1 0.866 8 6 1 0 -3039 0 1 0 39.0079 20.7888 30.002 0 0 -1 0.866 8 6 1 0 -3040 0 1 0 39.508 21.655 30.002 0 0 -1 0.866 8 6 1 0 -3041 0 1 0 0 22.5212 30.002 0 0 -1 0.866 8 6 1 0 -3042 0 1 0 0.500101 23.3874 30.002 0 0 -1 0.866 8 6 1 0 -3043 0 1 0 1.0002 22.5212 30.002 0 0 -1 0.866 8 6 1 0 -3044 0 1 0 1.5003 23.3874 30.002 0 0 -1 0.866 8 6 1 0 -3045 0 1 0 2.0004 22.5212 30.002 0 0 -1 0.866 8 6 1 0 -3046 0 1 0 2.50051 23.3874 30.002 0 0 -1 0.866 8 6 1 0 -3047 0 1 0 3.00061 22.5212 30.002 0 0 -1 0.866 8 6 1 0 -3048 0 1 0 3.50071 23.3874 30.002 0 0 -1 0.866 8 6 1 0 -3049 0 1 0 4.00081 22.5212 30.002 0 0 -1 0.866 8 6 1 0 -3050 0 1 0 4.50091 23.3874 30.002 0 0 -1 0.866 8 6 1 0 -3051 0 1 0 5.00101 22.5212 30.002 0 0 -1 0.866 8 6 1 0 -3052 0 1 0 5.50111 23.3874 30.002 0 0 -1 0.866 8 6 1 0 -3053 0 1 0 6.00121 22.5212 30.002 0 0 -1 0.866 8 6 1 0 -3054 0 1 0 6.50132 23.3874 30.002 0 0 -1 0.866 8 6 1 0 -3055 0 1 0 7.00142 22.5212 30.002 0 0 -1 0.866 8 6 1 0 -3056 0 1 0 7.50152 23.3874 30.002 0 0 -1 0.866 8 6 1 0 -3057 0 1 0 8.00162 22.5212 30.002 0 0 -1 0.866 8 6 1 0 -3058 0 1 0 8.50172 23.3874 30.002 0 0 -1 0.866 8 6 1 0 -3059 0 1 0 9.00182 22.5212 30.002 0 0 -1 0.866 8 6 1 0 -3060 0 1 0 9.50192 23.3874 30.002 0 0 -1 0.866 8 6 1 0 -3061 0 1 0 10.002 22.5212 30.002 0 0 -1 0.866 8 6 1 0 -3062 0 1 0 10.5021 23.3874 30.002 0 0 -1 0.866 8 6 1 0 -3063 0 1 0 11.0022 22.5212 30.002 0 0 -1 0.866 8 6 1 0 -3064 0 1 0 11.5023 23.3874 30.002 0 0 -1 0.866 8 6 1 0 -3065 0 1 0 12.0024 22.5212 30.002 0 0 -1 0.866 8 6 1 0 -3066 0 1 0 12.5025 23.3874 30.002 0 0 -1 0.866 8 6 1 0 -3067 0 1 0 13.0026 22.5212 30.002 0 0 -1 0.866 8 6 1 0 -3068 0 1 0 13.5027 23.3874 30.002 0 0 -1 0.866 8 6 1 0 -3069 0 1 0 14.0028 22.5212 30.002 0 0 -1 0.866 8 6 1 0 -3070 0 1 0 14.5029 23.3874 30.002 0 0 -1 0.866 8 6 1 0 -3071 0 1 0 15.003 22.5212 30.002 0 0 -1 0.866 8 6 1 0 -3072 0 1 0 15.5031 23.3874 30.002 0 0 -1 0.866 8 6 1 0 -3073 0 1 0 16.0032 22.5212 30.002 0 0 -1 0.866 8 6 1 0 -3074 0 1 0 16.5033 23.3874 30.002 0 0 -1 0.866 8 6 1 0 -3075 0 1 0 17.0034 22.5212 30.002 0 0 -1 0.866 8 6 1 0 -3076 0 1 0 17.5035 23.3874 30.002 0 0 -1 0.866 8 6 1 0 -3077 0 1 0 18.0036 22.5212 30.002 0 0 -1 0.866 8 6 1 0 -3078 0 1 0 18.5037 23.3874 30.002 0 0 -1 0.866 8 6 1 0 -3079 0 1 0 19.0038 22.5212 30.002 0 0 -1 0.866 8 6 1 0 -3080 0 1 0 19.5039 23.3874 30.002 0 0 -1 0.866 8 6 1 0 -3081 0 1 0 20.004 22.5212 30.002 0 0 -1 0.866 8 6 1 0 -3082 0 1 0 20.5041 23.3874 30.002 0 0 -1 0.866 8 6 1 0 -3083 0 1 0 21.0042 22.5212 30.002 0 0 -1 0.866 8 6 1 0 -3084 0 1 0 21.5043 23.3874 30.002 0 0 -1 0.866 8 6 1 0 -3085 0 1 0 22.0045 22.5212 30.002 0 0 -1 0.866 8 6 1 0 -3086 0 1 0 22.5046 23.3874 30.002 0 0 -1 0.866 8 6 1 0 -3087 0 1 0 23.0047 22.5212 30.002 0 0 -1 0.866 8 6 1 0 -3088 0 1 0 23.5048 23.3874 30.002 0 0 -1 0.866 8 6 1 0 -3089 0 1 0 24.0049 22.5212 30.002 0 0 -1 0.866 8 6 1 0 -3090 0 1 0 24.505 23.3874 30.002 0 0 -1 0.866 8 6 1 0 -3091 0 1 0 25.0051 22.5212 30.002 0 0 -1 0.866 8 6 1 0 -3092 0 1 0 25.5052 23.3874 30.002 0 0 -1 0.866 8 6 1 0 -3093 0 1 0 26.0053 22.5212 30.002 0 0 -1 0.866 8 6 1 0 -3094 0 1 0 26.5054 23.3874 30.002 0 0 -1 0.866 8 6 1 0 -3095 0 1 0 27.0055 22.5212 30.002 0 0 -1 0.866 8 6 1 0 -3096 0 1 0 27.5056 23.3874 30.002 0 0 -1 0.866 8 6 1 0 -3097 0 1 0 28.0057 22.5212 30.002 0 0 -1 0.866 8 6 1 0 -3098 0 1 0 28.5058 23.3874 30.002 0 0 -1 0.866 8 6 1 0 -3099 0 1 0 29.0059 22.5212 30.002 0 0 -1 0.866 8 6 1 0 -3100 0 1 0 29.506 23.3874 30.002 0 0 -1 0.866 8 6 1 0 -3101 0 1 0 30.0061 22.5212 30.002 0 0 -1 0.866 8 6 1 0 -3102 0 1 0 30.5062 23.3874 30.002 0 0 -1 0.866 8 6 1 0 -3103 0 1 0 31.0063 22.5212 30.002 0 0 -1 0.866 8 6 1 0 -3104 0 1 0 31.5064 23.3874 30.002 0 0 -1 0.866 8 6 1 0 -3105 0 1 0 32.0065 22.5212 30.002 0 0 -1 0.866 8 6 1 0 -3106 0 1 0 32.5066 23.3874 30.002 0 0 -1 0.866 8 6 1 0 -3107 0 1 0 33.0067 22.5212 30.002 0 0 -1 0.866 8 6 1 0 -3108 0 1 0 33.5068 23.3874 30.002 0 0 -1 0.866 8 6 1 0 -3109 0 1 0 34.0069 22.5212 30.002 0 0 -1 0.866 8 6 1 0 -3110 0 1 0 34.507 23.3874 30.002 0 0 -1 0.866 8 6 1 0 -3111 0 1 0 35.0071 22.5212 30.002 0 0 -1 0.866 8 6 1 0 -3112 0 1 0 35.5072 23.3874 30.002 0 0 -1 0.866 8 6 1 0 -3113 0 1 0 36.0073 22.5212 30.002 0 0 -1 0.866 8 6 1 0 -3114 0 1 0 36.5074 23.3874 30.002 0 0 -1 0.866 8 6 1 0 -3115 0 1 0 37.0075 22.5212 30.002 0 0 -1 0.866 8 6 1 0 -3116 0 1 0 37.5076 23.3874 30.002 0 0 -1 0.866 8 6 1 0 -3117 0 1 0 38.0077 22.5212 30.002 0 0 -1 0.866 8 6 1 0 -3118 0 1 0 38.5078 23.3874 30.002 0 0 -1 0.866 8 6 1 0 -3119 0 1 0 39.0079 22.5212 30.002 0 0 -1 0.866 8 6 1 0 -3120 0 1 0 39.508 23.3874 30.002 0 0 -1 0.866 8 6 1 0 -3121 0 1 0 0 24.2536 30.002 0 0 -1 0.866 8 6 1 0 -3122 0 1 0 0.500101 25.1198 30.002 0 0 -1 0.866 8 6 1 0 -3123 0 1 0 1.0002 24.2536 30.002 0 0 -1 0.866 8 6 1 0 -3124 0 1 0 1.5003 25.1198 30.002 0 0 -1 0.866 8 6 1 0 -3125 0 1 0 2.0004 24.2536 30.002 0 0 -1 0.866 8 6 1 0 -3126 0 1 0 2.50051 25.1198 30.002 0 0 -1 0.866 8 6 1 0 -3127 0 1 0 3.00061 24.2536 30.002 0 0 -1 0.866 8 6 1 0 -3128 0 1 0 3.50071 25.1198 30.002 0 0 -1 0.866 8 6 1 0 -3129 0 1 0 4.00081 24.2536 30.002 0 0 -1 0.866 8 6 1 0 -3130 0 1 0 4.50091 25.1198 30.002 0 0 -1 0.866 8 6 1 0 -3131 0 1 0 5.00101 24.2536 30.002 0 0 -1 0.866 8 6 1 0 -3132 0 1 0 5.50111 25.1198 30.002 0 0 -1 0.866 8 6 1 0 -3133 0 1 0 6.00121 24.2536 30.002 0 0 -1 0.866 8 6 1 0 -3134 0 1 0 6.50132 25.1198 30.002 0 0 -1 0.866 8 6 1 0 -3135 0 1 0 7.00142 24.2536 30.002 0 0 -1 0.866 8 6 1 0 -3136 0 1 0 7.50152 25.1198 30.002 0 0 -1 0.866 8 6 1 0 -3137 0 1 0 8.00162 24.2536 30.002 0 0 -1 0.866 8 6 1 0 -3138 0 1 0 8.50172 25.1198 30.002 0 0 -1 0.866 8 6 1 0 -3139 0 1 0 9.00182 24.2536 30.002 0 0 -1 0.866 8 6 1 0 -3140 0 1 0 9.50192 25.1198 30.002 0 0 -1 0.866 8 6 1 0 -3141 0 1 0 10.002 24.2536 30.002 0 0 -1 0.866 8 6 1 0 -3142 0 1 0 10.5021 25.1198 30.002 0 0 -1 0.866 8 6 1 0 -3143 0 1 0 11.0022 24.2536 30.002 0 0 -1 0.866 8 6 1 0 -3144 0 1 0 11.5023 25.1198 30.002 0 0 -1 0.866 8 6 1 0 -3145 0 1 0 12.0024 24.2536 30.002 0 0 -1 0.866 8 6 1 0 -3146 0 1 0 12.5025 25.1198 30.002 0 0 -1 0.866 8 6 1 0 -3147 0 1 0 13.0026 24.2536 30.002 0 0 -1 0.866 8 6 1 0 -3148 0 1 0 13.5027 25.1198 30.002 0 0 -1 0.866 8 6 1 0 -3149 0 1 0 14.0028 24.2536 30.002 0 0 -1 0.866 8 6 1 0 -3150 0 1 0 14.5029 25.1198 30.002 0 0 -1 0.866 8 6 1 0 -3151 0 1 0 15.003 24.2536 30.002 0 0 -1 0.866 8 6 1 0 -3152 0 1 0 15.5031 25.1198 30.002 0 0 -1 0.866 8 6 1 0 -3153 0 1 0 16.0032 24.2536 30.002 0 0 -1 0.866 8 6 1 0 -3154 0 1 0 16.5033 25.1198 30.002 0 0 -1 0.866 8 6 1 0 -3155 0 1 0 17.0034 24.2536 30.002 0 0 -1 0.866 8 6 1 0 -3156 0 1 0 17.5035 25.1198 30.002 0 0 -1 0.866 8 6 1 0 -3157 0 1 0 18.0036 24.2536 30.002 0 0 -1 0.866 8 6 1 0 -3158 0 1 0 18.5037 25.1198 30.002 0 0 -1 0.866 8 6 1 0 -3159 0 1 0 19.0038 24.2536 30.002 0 0 -1 0.866 8 6 1 0 -3160 0 1 0 19.5039 25.1198 30.002 0 0 -1 0.866 8 6 1 0 -3161 0 1 0 20.004 24.2536 30.002 0 0 -1 0.866 8 6 1 0 -3162 0 1 0 20.5041 25.1198 30.002 0 0 -1 0.866 8 6 1 0 -3163 0 1 0 21.0042 24.2536 30.002 0 0 -1 0.866 8 6 1 0 -3164 0 1 0 21.5043 25.1198 30.002 0 0 -1 0.866 8 6 1 0 -3165 0 1 0 22.0045 24.2536 30.002 0 0 -1 0.866 8 6 1 0 -3166 0 1 0 22.5046 25.1198 30.002 0 0 -1 0.866 8 6 1 0 -3167 0 1 0 23.0047 24.2536 30.002 0 0 -1 0.866 8 6 1 0 -3168 0 1 0 23.5048 25.1198 30.002 0 0 -1 0.866 8 6 1 0 -3169 0 1 0 24.0049 24.2536 30.002 0 0 -1 0.866 8 6 1 0 -3170 0 1 0 24.505 25.1198 30.002 0 0 -1 0.866 8 6 1 0 -3171 0 1 0 25.0051 24.2536 30.002 0 0 -1 0.866 8 6 1 0 -3172 0 1 0 25.5052 25.1198 30.002 0 0 -1 0.866 8 6 1 0 -3173 0 1 0 26.0053 24.2536 30.002 0 0 -1 0.866 8 6 1 0 -3174 0 1 0 26.5054 25.1198 30.002 0 0 -1 0.866 8 6 1 0 -3175 0 1 0 27.0055 24.2536 30.002 0 0 -1 0.866 8 6 1 0 -3176 0 1 0 27.5056 25.1198 30.002 0 0 -1 0.866 8 6 1 0 -3177 0 1 0 28.0057 24.2536 30.002 0 0 -1 0.866 8 6 1 0 -3178 0 1 0 28.5058 25.1198 30.002 0 0 -1 0.866 8 6 1 0 -3179 0 1 0 29.0059 24.2536 30.002 0 0 -1 0.866 8 6 1 0 -3180 0 1 0 29.506 25.1198 30.002 0 0 -1 0.866 8 6 1 0 -3181 0 1 0 30.0061 24.2536 30.002 0 0 -1 0.866 8 6 1 0 -3182 0 1 0 30.5062 25.1198 30.002 0 0 -1 0.866 8 6 1 0 -3183 0 1 0 31.0063 24.2536 30.002 0 0 -1 0.866 8 6 1 0 -3184 0 1 0 31.5064 25.1198 30.002 0 0 -1 0.866 8 6 1 0 -3185 0 1 0 32.0065 24.2536 30.002 0 0 -1 0.866 8 6 1 0 -3186 0 1 0 32.5066 25.1198 30.002 0 0 -1 0.866 8 6 1 0 -3187 0 1 0 33.0067 24.2536 30.002 0 0 -1 0.866 8 6 1 0 -3188 0 1 0 33.5068 25.1198 30.002 0 0 -1 0.866 8 6 1 0 -3189 0 1 0 34.0069 24.2536 30.002 0 0 -1 0.866 8 6 1 0 -3190 0 1 0 34.507 25.1198 30.002 0 0 -1 0.866 8 6 1 0 -3191 0 1 0 35.0071 24.2536 30.002 0 0 -1 0.866 8 6 1 0 -3192 0 1 0 35.5072 25.1198 30.002 0 0 -1 0.866 8 6 1 0 -3193 0 1 0 36.0073 24.2536 30.002 0 0 -1 0.866 8 6 1 0 -3194 0 1 0 36.5074 25.1198 30.002 0 0 -1 0.866 8 6 1 0 -3195 0 1 0 37.0075 24.2536 30.002 0 0 -1 0.866 8 6 1 0 -3196 0 1 0 37.5076 25.1198 30.002 0 0 -1 0.866 8 6 1 0 -3197 0 1 0 38.0077 24.2536 30.002 0 0 -1 0.866 8 6 1 0 -3198 0 1 0 38.5078 25.1198 30.002 0 0 -1 0.866 8 6 1 0 -3199 0 1 0 39.0079 24.2536 30.002 0 0 -1 0.866 8 6 1 0 -3200 0 1 0 39.508 25.1198 30.002 0 0 -1 0.866 8 6 1 0 -3201 0 1 0 0 25.986 30.002 0 0 -1 0.866 8 6 1 0 -3202 0 1 0 0.500101 26.8522 30.002 0 0 -1 0.866 8 6 1 0 -3203 0 1 0 1.0002 25.986 30.002 0 0 -1 0.866 8 6 1 0 -3204 0 1 0 1.5003 26.8522 30.002 0 0 -1 0.866 8 6 1 0 -3205 0 1 0 2.0004 25.986 30.002 0 0 -1 0.866 8 6 1 0 -3206 0 1 0 2.50051 26.8522 30.002 0 0 -1 0.866 8 6 1 0 -3207 0 1 0 3.00061 25.986 30.002 0 0 -1 0.866 8 6 1 0 -3208 0 1 0 3.50071 26.8522 30.002 0 0 -1 0.866 8 6 1 0 -3209 0 1 0 4.00081 25.986 30.002 0 0 -1 0.866 8 6 1 0 -3210 0 1 0 4.50091 26.8522 30.002 0 0 -1 0.866 8 6 1 0 -3211 0 1 0 5.00101 25.986 30.002 0 0 -1 0.866 8 6 1 0 -3212 0 1 0 5.50111 26.8522 30.002 0 0 -1 0.866 8 6 1 0 -3213 0 1 0 6.00121 25.986 30.002 0 0 -1 0.866 8 6 1 0 -3214 0 1 0 6.50132 26.8522 30.002 0 0 -1 0.866 8 6 1 0 -3215 0 1 0 7.00142 25.986 30.002 0 0 -1 0.866 8 6 1 0 -3216 0 1 0 7.50152 26.8522 30.002 0 0 -1 0.866 8 6 1 0 -3217 0 1 0 8.00162 25.986 30.002 0 0 -1 0.866 8 6 1 0 -3218 0 1 0 8.50172 26.8522 30.002 0 0 -1 0.866 8 6 1 0 -3219 0 1 0 9.00182 25.986 30.002 0 0 -1 0.866 8 6 1 0 -3220 0 1 0 9.50192 26.8522 30.002 0 0 -1 0.866 8 6 1 0 -3221 0 1 0 10.002 25.986 30.002 0 0 -1 0.866 8 6 1 0 -3222 0 1 0 10.5021 26.8522 30.002 0 0 -1 0.866 8 6 1 0 -3223 0 1 0 11.0022 25.986 30.002 0 0 -1 0.866 8 6 1 0 -3224 0 1 0 11.5023 26.8522 30.002 0 0 -1 0.866 8 6 1 0 -3225 0 1 0 12.0024 25.986 30.002 0 0 -1 0.866 8 6 1 0 -3226 0 1 0 12.5025 26.8522 30.002 0 0 -1 0.866 8 6 1 0 -3227 0 1 0 13.0026 25.986 30.002 0 0 -1 0.866 8 6 1 0 -3228 0 1 0 13.5027 26.8522 30.002 0 0 -1 0.866 8 6 1 0 -3229 0 1 0 14.0028 25.986 30.002 0 0 -1 0.866 8 6 1 0 -3230 0 1 0 14.5029 26.8522 30.002 0 0 -1 0.866 8 6 1 0 -3231 0 1 0 15.003 25.986 30.002 0 0 -1 0.866 8 6 1 0 -3232 0 1 0 15.5031 26.8522 30.002 0 0 -1 0.866 8 6 1 0 -3233 0 1 0 16.0032 25.986 30.002 0 0 -1 0.866 8 6 1 0 -3234 0 1 0 16.5033 26.8522 30.002 0 0 -1 0.866 8 6 1 0 -3235 0 1 0 17.0034 25.986 30.002 0 0 -1 0.866 8 6 1 0 -3236 0 1 0 17.5035 26.8522 30.002 0 0 -1 0.866 8 6 1 0 -3237 0 1 0 18.0036 25.986 30.002 0 0 -1 0.866 8 6 1 0 -3238 0 1 0 18.5037 26.8522 30.002 0 0 -1 0.866 8 6 1 0 -3239 0 1 0 19.0038 25.986 30.002 0 0 -1 0.866 8 6 1 0 -3240 0 1 0 19.5039 26.8522 30.002 0 0 -1 0.866 8 6 1 0 -3241 0 1 0 20.004 25.986 30.002 0 0 -1 0.866 8 6 1 0 -3242 0 1 0 20.5041 26.8522 30.002 0 0 -1 0.866 8 6 1 0 -3243 0 1 0 21.0042 25.986 30.002 0 0 -1 0.866 8 6 1 0 -3244 0 1 0 21.5043 26.8522 30.002 0 0 -1 0.866 8 6 1 0 -3245 0 1 0 22.0045 25.986 30.002 0 0 -1 0.866 8 6 1 0 -3246 0 1 0 22.5046 26.8522 30.002 0 0 -1 0.866 8 6 1 0 -3247 0 1 0 23.0047 25.986 30.002 0 0 -1 0.866 8 6 1 0 -3248 0 1 0 23.5048 26.8522 30.002 0 0 -1 0.866 8 6 1 0 -3249 0 1 0 24.0049 25.986 30.002 0 0 -1 0.866 8 6 1 0 -3250 0 1 0 24.505 26.8522 30.002 0 0 -1 0.866 8 6 1 0 -3251 0 1 0 25.0051 25.986 30.002 0 0 -1 0.866 8 6 1 0 -3252 0 1 0 25.5052 26.8522 30.002 0 0 -1 0.866 8 6 1 0 -3253 0 1 0 26.0053 25.986 30.002 0 0 -1 0.866 8 6 1 0 -3254 0 1 0 26.5054 26.8522 30.002 0 0 -1 0.866 8 6 1 0 -3255 0 1 0 27.0055 25.986 30.002 0 0 -1 0.866 8 6 1 0 -3256 0 1 0 27.5056 26.8522 30.002 0 0 -1 0.866 8 6 1 0 -3257 0 1 0 28.0057 25.986 30.002 0 0 -1 0.866 8 6 1 0 -3258 0 1 0 28.5058 26.8522 30.002 0 0 -1 0.866 8 6 1 0 -3259 0 1 0 29.0059 25.986 30.002 0 0 -1 0.866 8 6 1 0 -3260 0 1 0 29.506 26.8522 30.002 0 0 -1 0.866 8 6 1 0 -3261 0 1 0 30.0061 25.986 30.002 0 0 -1 0.866 8 6 1 0 -3262 0 1 0 30.5062 26.8522 30.002 0 0 -1 0.866 8 6 1 0 -3263 0 1 0 31.0063 25.986 30.002 0 0 -1 0.866 8 6 1 0 -3264 0 1 0 31.5064 26.8522 30.002 0 0 -1 0.866 8 6 1 0 -3265 0 1 0 32.0065 25.986 30.002 0 0 -1 0.866 8 6 1 0 -3266 0 1 0 32.5066 26.8522 30.002 0 0 -1 0.866 8 6 1 0 -3267 0 1 0 33.0067 25.986 30.002 0 0 -1 0.866 8 6 1 0 -3268 0 1 0 33.5068 26.8522 30.002 0 0 -1 0.866 8 6 1 0 -3269 0 1 0 34.0069 25.986 30.002 0 0 -1 0.866 8 6 1 0 -3270 0 1 0 34.507 26.8522 30.002 0 0 -1 0.866 8 6 1 0 -3271 0 1 0 35.0071 25.986 30.002 0 0 -1 0.866 8 6 1 0 -3272 0 1 0 35.5072 26.8522 30.002 0 0 -1 0.866 8 6 1 0 -3273 0 1 0 36.0073 25.986 30.002 0 0 -1 0.866 8 6 1 0 -3274 0 1 0 36.5074 26.8522 30.002 0 0 -1 0.866 8 6 1 0 -3275 0 1 0 37.0075 25.986 30.002 0 0 -1 0.866 8 6 1 0 -3276 0 1 0 37.5076 26.8522 30.002 0 0 -1 0.866 8 6 1 0 -3277 0 1 0 38.0077 25.986 30.002 0 0 -1 0.866 8 6 1 0 -3278 0 1 0 38.5078 26.8522 30.002 0 0 -1 0.866 8 6 1 0 -3279 0 1 0 39.0079 25.986 30.002 0 0 -1 0.866 8 6 1 0 -3280 0 1 0 39.508 26.8522 30.002 0 0 -1 0.866 8 6 1 0 -3281 0 1 0 0 27.7184 30.002 0 0 -1 0.866 8 6 1 0 -3282 0 1 0 0.500101 28.5846 30.002 0 0 -1 0.866 8 6 1 0 -3283 0 1 0 1.0002 27.7184 30.002 0 0 -1 0.866 8 6 1 0 -3284 0 1 0 1.5003 28.5846 30.002 0 0 -1 0.866 8 6 1 0 -3285 0 1 0 2.0004 27.7184 30.002 0 0 -1 0.866 8 6 1 0 -3286 0 1 0 2.50051 28.5846 30.002 0 0 -1 0.866 8 6 1 0 -3287 0 1 0 3.00061 27.7184 30.002 0 0 -1 0.866 8 6 1 0 -3288 0 1 0 3.50071 28.5846 30.002 0 0 -1 0.866 8 6 1 0 -3289 0 1 0 4.00081 27.7184 30.002 0 0 -1 0.866 8 6 1 0 -3290 0 1 0 4.50091 28.5846 30.002 0 0 -1 0.866 8 6 1 0 -3291 0 1 0 5.00101 27.7184 30.002 0 0 -1 0.866 8 6 1 0 -3292 0 1 0 5.50111 28.5846 30.002 0 0 -1 0.866 8 6 1 0 -3293 0 1 0 6.00121 27.7184 30.002 0 0 -1 0.866 8 6 1 0 -3294 0 1 0 6.50132 28.5846 30.002 0 0 -1 0.866 8 6 1 0 -3295 0 1 0 7.00142 27.7184 30.002 0 0 -1 0.866 8 6 1 0 -3296 0 1 0 7.50152 28.5846 30.002 0 0 -1 0.866 8 6 1 0 -3297 0 1 0 8.00162 27.7184 30.002 0 0 -1 0.866 8 6 1 0 -3298 0 1 0 8.50172 28.5846 30.002 0 0 -1 0.866 8 6 1 0 -3299 0 1 0 9.00182 27.7184 30.002 0 0 -1 0.866 8 6 1 0 -3300 0 1 0 9.50192 28.5846 30.002 0 0 -1 0.866 8 6 1 0 -3301 0 1 0 10.002 27.7184 30.002 0 0 -1 0.866 8 6 1 0 -3302 0 1 0 10.5021 28.5846 30.002 0 0 -1 0.866 8 6 1 0 -3303 0 1 0 11.0022 27.7184 30.002 0 0 -1 0.866 8 6 1 0 -3304 0 1 0 11.5023 28.5846 30.002 0 0 -1 0.866 8 6 1 0 -3305 0 1 0 12.0024 27.7184 30.002 0 0 -1 0.866 8 6 1 0 -3306 0 1 0 12.5025 28.5846 30.002 0 0 -1 0.866 8 6 1 0 -3307 0 1 0 13.0026 27.7184 30.002 0 0 -1 0.866 8 6 1 0 -3308 0 1 0 13.5027 28.5846 30.002 0 0 -1 0.866 8 6 1 0 -3309 0 1 0 14.0028 27.7184 30.002 0 0 -1 0.866 8 6 1 0 -3310 0 1 0 14.5029 28.5846 30.002 0 0 -1 0.866 8 6 1 0 -3311 0 1 0 15.003 27.7184 30.002 0 0 -1 0.866 8 6 1 0 -3312 0 1 0 15.5031 28.5846 30.002 0 0 -1 0.866 8 6 1 0 -3313 0 1 0 16.0032 27.7184 30.002 0 0 -1 0.866 8 6 1 0 -3314 0 1 0 16.5033 28.5846 30.002 0 0 -1 0.866 8 6 1 0 -3315 0 1 0 17.0034 27.7184 30.002 0 0 -1 0.866 8 6 1 0 -3316 0 1 0 17.5035 28.5846 30.002 0 0 -1 0.866 8 6 1 0 -3317 0 1 0 18.0036 27.7184 30.002 0 0 -1 0.866 8 6 1 0 -3318 0 1 0 18.5037 28.5846 30.002 0 0 -1 0.866 8 6 1 0 -3319 0 1 0 19.0038 27.7184 30.002 0 0 -1 0.866 8 6 1 0 -3320 0 1 0 19.5039 28.5846 30.002 0 0 -1 0.866 8 6 1 0 -3321 0 1 0 20.004 27.7184 30.002 0 0 -1 0.866 8 6 1 0 -3322 0 1 0 20.5041 28.5846 30.002 0 0 -1 0.866 8 6 1 0 -3323 0 1 0 21.0042 27.7184 30.002 0 0 -1 0.866 8 6 1 0 -3324 0 1 0 21.5043 28.5846 30.002 0 0 -1 0.866 8 6 1 0 -3325 0 1 0 22.0045 27.7184 30.002 0 0 -1 0.866 8 6 1 0 -3326 0 1 0 22.5046 28.5846 30.002 0 0 -1 0.866 8 6 1 0 -3327 0 1 0 23.0047 27.7184 30.002 0 0 -1 0.866 8 6 1 0 -3328 0 1 0 23.5048 28.5846 30.002 0 0 -1 0.866 8 6 1 0 -3329 0 1 0 24.0049 27.7184 30.002 0 0 -1 0.866 8 6 1 0 -3330 0 1 0 24.505 28.5846 30.002 0 0 -1 0.866 8 6 1 0 -3331 0 1 0 25.0051 27.7184 30.002 0 0 -1 0.866 8 6 1 0 -3332 0 1 0 25.5052 28.5846 30.002 0 0 -1 0.866 8 6 1 0 -3333 0 1 0 26.0053 27.7184 30.002 0 0 -1 0.866 8 6 1 0 -3334 0 1 0 26.5054 28.5846 30.002 0 0 -1 0.866 8 6 1 0 -3335 0 1 0 27.0055 27.7184 30.002 0 0 -1 0.866 8 6 1 0 -3336 0 1 0 27.5056 28.5846 30.002 0 0 -1 0.866 8 6 1 0 -3337 0 1 0 28.0057 27.7184 30.002 0 0 -1 0.866 8 6 1 0 -3338 0 1 0 28.5058 28.5846 30.002 0 0 -1 0.866 8 6 1 0 -3339 0 1 0 29.0059 27.7184 30.002 0 0 -1 0.866 8 6 1 0 -3340 0 1 0 29.506 28.5846 30.002 0 0 -1 0.866 8 6 1 0 -3341 0 1 0 30.0061 27.7184 30.002 0 0 -1 0.866 8 6 1 0 -3342 0 1 0 30.5062 28.5846 30.002 0 0 -1 0.866 8 6 1 0 -3343 0 1 0 31.0063 27.7184 30.002 0 0 -1 0.866 8 6 1 0 -3344 0 1 0 31.5064 28.5846 30.002 0 0 -1 0.866 8 6 1 0 -3345 0 1 0 32.0065 27.7184 30.002 0 0 -1 0.866 8 6 1 0 -3346 0 1 0 32.5066 28.5846 30.002 0 0 -1 0.866 8 6 1 0 -3347 0 1 0 33.0067 27.7184 30.002 0 0 -1 0.866 8 6 1 0 -3348 0 1 0 33.5068 28.5846 30.002 0 0 -1 0.866 8 6 1 0 -3349 0 1 0 34.0069 27.7184 30.002 0 0 -1 0.866 8 6 1 0 -3350 0 1 0 34.507 28.5846 30.002 0 0 -1 0.866 8 6 1 0 -3351 0 1 0 35.0071 27.7184 30.002 0 0 -1 0.866 8 6 1 0 -3352 0 1 0 35.5072 28.5846 30.002 0 0 -1 0.866 8 6 1 0 -3353 0 1 0 36.0073 27.7184 30.002 0 0 -1 0.866 8 6 1 0 -3354 0 1 0 36.5074 28.5846 30.002 0 0 -1 0.866 8 6 1 0 -3355 0 1 0 37.0075 27.7184 30.002 0 0 -1 0.866 8 6 1 0 -3356 0 1 0 37.5076 28.5846 30.002 0 0 -1 0.866 8 6 1 0 -3357 0 1 0 38.0077 27.7184 30.002 0 0 -1 0.866 8 6 1 0 -3358 0 1 0 38.5078 28.5846 30.002 0 0 -1 0.866 8 6 1 0 -3359 0 1 0 39.0079 27.7184 30.002 0 0 -1 0.866 8 6 1 0 -3360 0 1 0 39.508 28.5846 30.002 0 0 -1 0.866 8 6 1 0 -3361 0 1 0 0 29.4508 30.002 0 0 -1 0.866 8 6 1 0 -3362 0 1 0 0.500101 30.317 30.002 0 0 -1 0.866 8 6 1 0 -3363 0 1 0 1.0002 29.4508 30.002 0 0 -1 0.866 8 6 1 0 -3364 0 1 0 1.5003 30.317 30.002 0 0 -1 0.866 8 6 1 0 -3365 0 1 0 2.0004 29.4508 30.002 0 0 -1 0.866 8 6 1 0 -3366 0 1 0 2.50051 30.317 30.002 0 0 -1 0.866 8 6 1 0 -3367 0 1 0 3.00061 29.4508 30.002 0 0 -1 0.866 8 6 1 0 -3368 0 1 0 3.50071 30.317 30.002 0 0 -1 0.866 8 6 1 0 -3369 0 1 0 4.00081 29.4508 30.002 0 0 -1 0.866 8 6 1 0 -3370 0 1 0 4.50091 30.317 30.002 0 0 -1 0.866 8 6 1 0 -3371 0 1 0 5.00101 29.4508 30.002 0 0 -1 0.866 8 6 1 0 -3372 0 1 0 5.50111 30.317 30.002 0 0 -1 0.866 8 6 1 0 -3373 0 1 0 6.00121 29.4508 30.002 0 0 -1 0.866 8 6 1 0 -3374 0 1 0 6.50132 30.317 30.002 0 0 -1 0.866 8 6 1 0 -3375 0 1 0 7.00142 29.4508 30.002 0 0 -1 0.866 8 6 1 0 -3376 0 1 0 7.50152 30.317 30.002 0 0 -1 0.866 8 6 1 0 -3377 0 1 0 8.00162 29.4508 30.002 0 0 -1 0.866 8 6 1 0 -3378 0 1 0 8.50172 30.317 30.002 0 0 -1 0.866 8 6 1 0 -3379 0 1 0 9.00182 29.4508 30.002 0 0 -1 0.866 8 6 1 0 -3380 0 1 0 9.50192 30.317 30.002 0 0 -1 0.866 8 6 1 0 -3381 0 1 0 10.002 29.4508 30.002 0 0 -1 0.866 8 6 1 0 -3382 0 1 0 10.5021 30.317 30.002 0 0 -1 0.866 8 6 1 0 -3383 0 1 0 11.0022 29.4508 30.002 0 0 -1 0.866 8 6 1 0 -3384 0 1 0 11.5023 30.317 30.002 0 0 -1 0.866 8 6 1 0 -3385 0 1 0 12.0024 29.4508 30.002 0 0 -1 0.866 8 6 1 0 -3386 0 1 0 12.5025 30.317 30.002 0 0 -1 0.866 8 6 1 0 -3387 0 1 0 13.0026 29.4508 30.002 0 0 -1 0.866 8 6 1 0 -3388 0 1 0 13.5027 30.317 30.002 0 0 -1 0.866 8 6 1 0 -3389 0 1 0 14.0028 29.4508 30.002 0 0 -1 0.866 8 6 1 0 -3390 0 1 0 14.5029 30.317 30.002 0 0 -1 0.866 8 6 1 0 -3391 0 1 0 15.003 29.4508 30.002 0 0 -1 0.866 8 6 1 0 -3392 0 1 0 15.5031 30.317 30.002 0 0 -1 0.866 8 6 1 0 -3393 0 1 0 16.0032 29.4508 30.002 0 0 -1 0.866 8 6 1 0 -3394 0 1 0 16.5033 30.317 30.002 0 0 -1 0.866 8 6 1 0 -3395 0 1 0 17.0034 29.4508 30.002 0 0 -1 0.866 8 6 1 0 -3396 0 1 0 17.5035 30.317 30.002 0 0 -1 0.866 8 6 1 0 -3397 0 1 0 18.0036 29.4508 30.002 0 0 -1 0.866 8 6 1 0 -3398 0 1 0 18.5037 30.317 30.002 0 0 -1 0.866 8 6 1 0 -3399 0 1 0 19.0038 29.4508 30.002 0 0 -1 0.866 8 6 1 0 -3400 0 1 0 19.5039 30.317 30.002 0 0 -1 0.866 8 6 1 0 -3401 0 1 0 20.004 29.4508 30.002 0 0 -1 0.866 8 6 1 0 -3402 0 1 0 20.5041 30.317 30.002 0 0 -1 0.866 8 6 1 0 -3403 0 1 0 21.0042 29.4508 30.002 0 0 -1 0.866 8 6 1 0 -3404 0 1 0 21.5043 30.317 30.002 0 0 -1 0.866 8 6 1 0 -3405 0 1 0 22.0045 29.4508 30.002 0 0 -1 0.866 8 6 1 0 -3406 0 1 0 22.5046 30.317 30.002 0 0 -1 0.866 8 6 1 0 -3407 0 1 0 23.0047 29.4508 30.002 0 0 -1 0.866 8 6 1 0 -3408 0 1 0 23.5048 30.317 30.002 0 0 -1 0.866 8 6 1 0 -3409 0 1 0 24.0049 29.4508 30.002 0 0 -1 0.866 8 6 1 0 -3410 0 1 0 24.505 30.317 30.002 0 0 -1 0.866 8 6 1 0 -3411 0 1 0 25.0051 29.4508 30.002 0 0 -1 0.866 8 6 1 0 -3412 0 1 0 25.5052 30.317 30.002 0 0 -1 0.866 8 6 1 0 -3413 0 1 0 26.0053 29.4508 30.002 0 0 -1 0.866 8 6 1 0 -3414 0 1 0 26.5054 30.317 30.002 0 0 -1 0.866 8 6 1 0 -3415 0 1 0 27.0055 29.4508 30.002 0 0 -1 0.866 8 6 1 0 -3416 0 1 0 27.5056 30.317 30.002 0 0 -1 0.866 8 6 1 0 -3417 0 1 0 28.0057 29.4508 30.002 0 0 -1 0.866 8 6 1 0 -3418 0 1 0 28.5058 30.317 30.002 0 0 -1 0.866 8 6 1 0 -3419 0 1 0 29.0059 29.4508 30.002 0 0 -1 0.866 8 6 1 0 -3420 0 1 0 29.506 30.317 30.002 0 0 -1 0.866 8 6 1 0 -3421 0 1 0 30.0061 29.4508 30.002 0 0 -1 0.866 8 6 1 0 -3422 0 1 0 30.5062 30.317 30.002 0 0 -1 0.866 8 6 1 0 -3423 0 1 0 31.0063 29.4508 30.002 0 0 -1 0.866 8 6 1 0 -3424 0 1 0 31.5064 30.317 30.002 0 0 -1 0.866 8 6 1 0 -3425 0 1 0 32.0065 29.4508 30.002 0 0 -1 0.866 8 6 1 0 -3426 0 1 0 32.5066 30.317 30.002 0 0 -1 0.866 8 6 1 0 -3427 0 1 0 33.0067 29.4508 30.002 0 0 -1 0.866 8 6 1 0 -3428 0 1 0 33.5068 30.317 30.002 0 0 -1 0.866 8 6 1 0 -3429 0 1 0 34.0069 29.4508 30.002 0 0 -1 0.866 8 6 1 0 -3430 0 1 0 34.507 30.317 30.002 0 0 -1 0.866 8 6 1 0 -3431 0 1 0 35.0071 29.4508 30.002 0 0 -1 0.866 8 6 1 0 -3432 0 1 0 35.5072 30.317 30.002 0 0 -1 0.866 8 6 1 0 -3433 0 1 0 36.0073 29.4508 30.002 0 0 -1 0.866 8 6 1 0 -3434 0 1 0 36.5074 30.317 30.002 0 0 -1 0.866 8 6 1 0 -3435 0 1 0 37.0075 29.4508 30.002 0 0 -1 0.866 8 6 1 0 -3436 0 1 0 37.5076 30.317 30.002 0 0 -1 0.866 8 6 1 0 -3437 0 1 0 38.0077 29.4508 30.002 0 0 -1 0.866 8 6 1 0 -3438 0 1 0 38.5078 30.317 30.002 0 0 -1 0.866 8 6 1 0 -3439 0 1 0 39.0079 29.4508 30.002 0 0 -1 0.866 8 6 1 0 -3440 0 1 0 39.508 30.317 30.002 0 0 -1 0.866 8 6 1 0 -3441 0 1 0 0 31.1832 30.002 0 0 -1 0.866 8 6 1 0 -3442 0 1 0 0.500101 32.0494 30.002 0 0 -1 0.866 8 6 1 0 -3443 0 1 0 1.0002 31.1832 30.002 0 0 -1 0.866 8 6 1 0 -3444 0 1 0 1.5003 32.0494 30.002 0 0 -1 0.866 8 6 1 0 -3445 0 1 0 2.0004 31.1832 30.002 0 0 -1 0.866 8 6 1 0 -3446 0 1 0 2.50051 32.0494 30.002 0 0 -1 0.866 8 6 1 0 -3447 0 1 0 3.00061 31.1832 30.002 0 0 -1 0.866 8 6 1 0 -3448 0 1 0 3.50071 32.0494 30.002 0 0 -1 0.866 8 6 1 0 -3449 0 1 0 4.00081 31.1832 30.002 0 0 -1 0.866 8 6 1 0 -3450 0 1 0 4.50091 32.0494 30.002 0 0 -1 0.866 8 6 1 0 -3451 0 1 0 5.00101 31.1832 30.002 0 0 -1 0.866 8 6 1 0 -3452 0 1 0 5.50111 32.0494 30.002 0 0 -1 0.866 8 6 1 0 -3453 0 1 0 6.00121 31.1832 30.002 0 0 -1 0.866 8 6 1 0 -3454 0 1 0 6.50132 32.0494 30.002 0 0 -1 0.866 8 6 1 0 -3455 0 1 0 7.00142 31.1832 30.002 0 0 -1 0.866 8 6 1 0 -3456 0 1 0 7.50152 32.0494 30.002 0 0 -1 0.866 8 6 1 0 -3457 0 1 0 8.00162 31.1832 30.002 0 0 -1 0.866 8 6 1 0 -3458 0 1 0 8.50172 32.0494 30.002 0 0 -1 0.866 8 6 1 0 -3459 0 1 0 9.00182 31.1832 30.002 0 0 -1 0.866 8 6 1 0 -3460 0 1 0 9.50192 32.0494 30.002 0 0 -1 0.866 8 6 1 0 -3461 0 1 0 10.002 31.1832 30.002 0 0 -1 0.866 8 6 1 0 -3462 0 1 0 10.5021 32.0494 30.002 0 0 -1 0.866 8 6 1 0 -3463 0 1 0 11.0022 31.1832 30.002 0 0 -1 0.866 8 6 1 0 -3464 0 1 0 11.5023 32.0494 30.002 0 0 -1 0.866 8 6 1 0 -3465 0 1 0 12.0024 31.1832 30.002 0 0 -1 0.866 8 6 1 0 -3466 0 1 0 12.5025 32.0494 30.002 0 0 -1 0.866 8 6 1 0 -3467 0 1 0 13.0026 31.1832 30.002 0 0 -1 0.866 8 6 1 0 -3468 0 1 0 13.5027 32.0494 30.002 0 0 -1 0.866 8 6 1 0 -3469 0 1 0 14.0028 31.1832 30.002 0 0 -1 0.866 8 6 1 0 -3470 0 1 0 14.5029 32.0494 30.002 0 0 -1 0.866 8 6 1 0 -3471 0 1 0 15.003 31.1832 30.002 0 0 -1 0.866 8 6 1 0 -3472 0 1 0 15.5031 32.0494 30.002 0 0 -1 0.866 8 6 1 0 -3473 0 1 0 16.0032 31.1832 30.002 0 0 -1 0.866 8 6 1 0 -3474 0 1 0 16.5033 32.0494 30.002 0 0 -1 0.866 8 6 1 0 -3475 0 1 0 17.0034 31.1832 30.002 0 0 -1 0.866 8 6 1 0 -3476 0 1 0 17.5035 32.0494 30.002 0 0 -1 0.866 8 6 1 0 -3477 0 1 0 18.0036 31.1832 30.002 0 0 -1 0.866 8 6 1 0 -3478 0 1 0 18.5037 32.0494 30.002 0 0 -1 0.866 8 6 1 0 -3479 0 1 0 19.0038 31.1832 30.002 0 0 -1 0.866 8 6 1 0 -3480 0 1 0 19.5039 32.0494 30.002 0 0 -1 0.866 8 6 1 0 -3481 0 1 0 20.004 31.1832 30.002 0 0 -1 0.866 8 6 1 0 -3482 0 1 0 20.5041 32.0494 30.002 0 0 -1 0.866 8 6 1 0 -3483 0 1 0 21.0042 31.1832 30.002 0 0 -1 0.866 8 6 1 0 -3484 0 1 0 21.5043 32.0494 30.002 0 0 -1 0.866 8 6 1 0 -3485 0 1 0 22.0045 31.1832 30.002 0 0 -1 0.866 8 6 1 0 -3486 0 1 0 22.5046 32.0494 30.002 0 0 -1 0.866 8 6 1 0 -3487 0 1 0 23.0047 31.1832 30.002 0 0 -1 0.866 8 6 1 0 -3488 0 1 0 23.5048 32.0494 30.002 0 0 -1 0.866 8 6 1 0 -3489 0 1 0 24.0049 31.1832 30.002 0 0 -1 0.866 8 6 1 0 -3490 0 1 0 24.505 32.0494 30.002 0 0 -1 0.866 8 6 1 0 -3491 0 1 0 25.0051 31.1832 30.002 0 0 -1 0.866 8 6 1 0 -3492 0 1 0 25.5052 32.0494 30.002 0 0 -1 0.866 8 6 1 0 -3493 0 1 0 26.0053 31.1832 30.002 0 0 -1 0.866 8 6 1 0 -3494 0 1 0 26.5054 32.0494 30.002 0 0 -1 0.866 8 6 1 0 -3495 0 1 0 27.0055 31.1832 30.002 0 0 -1 0.866 8 6 1 0 -3496 0 1 0 27.5056 32.0494 30.002 0 0 -1 0.866 8 6 1 0 -3497 0 1 0 28.0057 31.1832 30.002 0 0 -1 0.866 8 6 1 0 -3498 0 1 0 28.5058 32.0494 30.002 0 0 -1 0.866 8 6 1 0 -3499 0 1 0 29.0059 31.1832 30.002 0 0 -1 0.866 8 6 1 0 -3500 0 1 0 29.506 32.0494 30.002 0 0 -1 0.866 8 6 1 0 -3501 0 1 0 30.0061 31.1832 30.002 0 0 -1 0.866 8 6 1 0 -3502 0 1 0 30.5062 32.0494 30.002 0 0 -1 0.866 8 6 1 0 -3503 0 1 0 31.0063 31.1832 30.002 0 0 -1 0.866 8 6 1 0 -3504 0 1 0 31.5064 32.0494 30.002 0 0 -1 0.866 8 6 1 0 -3505 0 1 0 32.0065 31.1832 30.002 0 0 -1 0.866 8 6 1 0 -3506 0 1 0 32.5066 32.0494 30.002 0 0 -1 0.866 8 6 1 0 -3507 0 1 0 33.0067 31.1832 30.002 0 0 -1 0.866 8 6 1 0 -3508 0 1 0 33.5068 32.0494 30.002 0 0 -1 0.866 8 6 1 0 -3509 0 1 0 34.0069 31.1832 30.002 0 0 -1 0.866 8 6 1 0 -3510 0 1 0 34.507 32.0494 30.002 0 0 -1 0.866 8 6 1 0 -3511 0 1 0 35.0071 31.1832 30.002 0 0 -1 0.866 8 6 1 0 -3512 0 1 0 35.5072 32.0494 30.002 0 0 -1 0.866 8 6 1 0 -3513 0 1 0 36.0073 31.1832 30.002 0 0 -1 0.866 8 6 1 0 -3514 0 1 0 36.5074 32.0494 30.002 0 0 -1 0.866 8 6 1 0 -3515 0 1 0 37.0075 31.1832 30.002 0 0 -1 0.866 8 6 1 0 -3516 0 1 0 37.5076 32.0494 30.002 0 0 -1 0.866 8 6 1 0 -3517 0 1 0 38.0077 31.1832 30.002 0 0 -1 0.866 8 6 1 0 -3518 0 1 0 38.5078 32.0494 30.002 0 0 -1 0.866 8 6 1 0 -3519 0 1 0 39.0079 31.1832 30.002 0 0 -1 0.866 8 6 1 0 -3520 0 1 0 39.508 32.0494 30.002 0 0 -1 0.866 8 6 1 0 -3521 0 1 0 0 32.9156 30.002 0 0 -1 0.866 8 6 1 0 -3522 0 1 0 0.500101 33.7818 30.002 0 0 -1 0.866 8 6 1 0 -3523 0 1 0 1.0002 32.9156 30.002 0 0 -1 0.866 8 6 1 0 -3524 0 1 0 1.5003 33.7818 30.002 0 0 -1 0.866 8 6 1 0 -3525 0 1 0 2.0004 32.9156 30.002 0 0 -1 0.866 8 6 1 0 -3526 0 1 0 2.50051 33.7818 30.002 0 0 -1 0.866 8 6 1 0 -3527 0 1 0 3.00061 32.9156 30.002 0 0 -1 0.866 8 6 1 0 -3528 0 1 0 3.50071 33.7818 30.002 0 0 -1 0.866 8 6 1 0 -3529 0 1 0 4.00081 32.9156 30.002 0 0 -1 0.866 8 6 1 0 -3530 0 1 0 4.50091 33.7818 30.002 0 0 -1 0.866 8 6 1 0 -3531 0 1 0 5.00101 32.9156 30.002 0 0 -1 0.866 8 6 1 0 -3532 0 1 0 5.50111 33.7818 30.002 0 0 -1 0.866 8 6 1 0 -3533 0 1 0 6.00121 32.9156 30.002 0 0 -1 0.866 8 6 1 0 -3534 0 1 0 6.50132 33.7818 30.002 0 0 -1 0.866 8 6 1 0 -3535 0 1 0 7.00142 32.9156 30.002 0 0 -1 0.866 8 6 1 0 -3536 0 1 0 7.50152 33.7818 30.002 0 0 -1 0.866 8 6 1 0 -3537 0 1 0 8.00162 32.9156 30.002 0 0 -1 0.866 8 6 1 0 -3538 0 1 0 8.50172 33.7818 30.002 0 0 -1 0.866 8 6 1 0 -3539 0 1 0 9.00182 32.9156 30.002 0 0 -1 0.866 8 6 1 0 -3540 0 1 0 9.50192 33.7818 30.002 0 0 -1 0.866 8 6 1 0 -3541 0 1 0 10.002 32.9156 30.002 0 0 -1 0.866 8 6 1 0 -3542 0 1 0 10.5021 33.7818 30.002 0 0 -1 0.866 8 6 1 0 -3543 0 1 0 11.0022 32.9156 30.002 0 0 -1 0.866 8 6 1 0 -3544 0 1 0 11.5023 33.7818 30.002 0 0 -1 0.866 8 6 1 0 -3545 0 1 0 12.0024 32.9156 30.002 0 0 -1 0.866 8 6 1 0 -3546 0 1 0 12.5025 33.7818 30.002 0 0 -1 0.866 8 6 1 0 -3547 0 1 0 13.0026 32.9156 30.002 0 0 -1 0.866 8 6 1 0 -3548 0 1 0 13.5027 33.7818 30.002 0 0 -1 0.866 8 6 1 0 -3549 0 1 0 14.0028 32.9156 30.002 0 0 -1 0.866 8 6 1 0 -3550 0 1 0 14.5029 33.7818 30.002 0 0 -1 0.866 8 6 1 0 -3551 0 1 0 15.003 32.9156 30.002 0 0 -1 0.866 8 6 1 0 -3552 0 1 0 15.5031 33.7818 30.002 0 0 -1 0.866 8 6 1 0 -3553 0 1 0 16.0032 32.9156 30.002 0 0 -1 0.866 8 6 1 0 -3554 0 1 0 16.5033 33.7818 30.002 0 0 -1 0.866 8 6 1 0 -3555 0 1 0 17.0034 32.9156 30.002 0 0 -1 0.866 8 6 1 0 -3556 0 1 0 17.5035 33.7818 30.002 0 0 -1 0.866 8 6 1 0 -3557 0 1 0 18.0036 32.9156 30.002 0 0 -1 0.866 8 6 1 0 -3558 0 1 0 18.5037 33.7818 30.002 0 0 -1 0.866 8 6 1 0 -3559 0 1 0 19.0038 32.9156 30.002 0 0 -1 0.866 8 6 1 0 -3560 0 1 0 19.5039 33.7818 30.002 0 0 -1 0.866 8 6 1 0 -3561 0 1 0 20.004 32.9156 30.002 0 0 -1 0.866 8 6 1 0 -3562 0 1 0 20.5041 33.7818 30.002 0 0 -1 0.866 8 6 1 0 -3563 0 1 0 21.0042 32.9156 30.002 0 0 -1 0.866 8 6 1 0 -3564 0 1 0 21.5043 33.7818 30.002 0 0 -1 0.866 8 6 1 0 -3565 0 1 0 22.0045 32.9156 30.002 0 0 -1 0.866 8 6 1 0 -3566 0 1 0 22.5046 33.7818 30.002 0 0 -1 0.866 8 6 1 0 -3567 0 1 0 23.0047 32.9156 30.002 0 0 -1 0.866 8 6 1 0 -3568 0 1 0 23.5048 33.7818 30.002 0 0 -1 0.866 8 6 1 0 -3569 0 1 0 24.0049 32.9156 30.002 0 0 -1 0.866 8 6 1 0 -3570 0 1 0 24.505 33.7818 30.002 0 0 -1 0.866 8 6 1 0 -3571 0 1 0 25.0051 32.9156 30.002 0 0 -1 0.866 8 6 1 0 -3572 0 1 0 25.5052 33.7818 30.002 0 0 -1 0.866 8 6 1 0 -3573 0 1 0 26.0053 32.9156 30.002 0 0 -1 0.866 8 6 1 0 -3574 0 1 0 26.5054 33.7818 30.002 0 0 -1 0.866 8 6 1 0 -3575 0 1 0 27.0055 32.9156 30.002 0 0 -1 0.866 8 6 1 0 -3576 0 1 0 27.5056 33.7818 30.002 0 0 -1 0.866 8 6 1 0 -3577 0 1 0 28.0057 32.9156 30.002 0 0 -1 0.866 8 6 1 0 -3578 0 1 0 28.5058 33.7818 30.002 0 0 -1 0.866 8 6 1 0 -3579 0 1 0 29.0059 32.9156 30.002 0 0 -1 0.866 8 6 1 0 -3580 0 1 0 29.506 33.7818 30.002 0 0 -1 0.866 8 6 1 0 -3581 0 1 0 30.0061 32.9156 30.002 0 0 -1 0.866 8 6 1 0 -3582 0 1 0 30.5062 33.7818 30.002 0 0 -1 0.866 8 6 1 0 -3583 0 1 0 31.0063 32.9156 30.002 0 0 -1 0.866 8 6 1 0 -3584 0 1 0 31.5064 33.7818 30.002 0 0 -1 0.866 8 6 1 0 -3585 0 1 0 32.0065 32.9156 30.002 0 0 -1 0.866 8 6 1 0 -3586 0 1 0 32.5066 33.7818 30.002 0 0 -1 0.866 8 6 1 0 -3587 0 1 0 33.0067 32.9156 30.002 0 0 -1 0.866 8 6 1 0 -3588 0 1 0 33.5068 33.7818 30.002 0 0 -1 0.866 8 6 1 0 -3589 0 1 0 34.0069 32.9156 30.002 0 0 -1 0.866 8 6 1 0 -3590 0 1 0 34.507 33.7818 30.002 0 0 -1 0.866 8 6 1 0 -3591 0 1 0 35.0071 32.9156 30.002 0 0 -1 0.866 8 6 1 0 -3592 0 1 0 35.5072 33.7818 30.002 0 0 -1 0.866 8 6 1 0 -3593 0 1 0 36.0073 32.9156 30.002 0 0 -1 0.866 8 6 1 0 -3594 0 1 0 36.5074 33.7818 30.002 0 0 -1 0.866 8 6 1 0 -3595 0 1 0 37.0075 32.9156 30.002 0 0 -1 0.866 8 6 1 0 -3596 0 1 0 37.5076 33.7818 30.002 0 0 -1 0.866 8 6 1 0 -3597 0 1 0 38.0077 32.9156 30.002 0 0 -1 0.866 8 6 1 0 -3598 0 1 0 38.5078 33.7818 30.002 0 0 -1 0.866 8 6 1 0 -3599 0 1 0 39.0079 32.9156 30.002 0 0 -1 0.866 8 6 1 0 -3600 0 1 0 39.508 33.7818 30.002 0 0 -1 0.866 8 6 1 0 -3601 0 1 0 0 34.648 30.002 0 0 -1 0.866 8 6 1 0 -3602 0 1 0 0.500101 35.5142 30.002 0 0 -1 0.866 8 6 1 0 -3603 0 1 0 1.0002 34.648 30.002 0 0 -1 0.866 8 6 1 0 -3604 0 1 0 1.5003 35.5142 30.002 0 0 -1 0.866 8 6 1 0 -3605 0 1 0 2.0004 34.648 30.002 0 0 -1 0.866 8 6 1 0 -3606 0 1 0 2.50051 35.5142 30.002 0 0 -1 0.866 8 6 1 0 -3607 0 1 0 3.00061 34.648 30.002 0 0 -1 0.866 8 6 1 0 -3608 0 1 0 3.50071 35.5142 30.002 0 0 -1 0.866 8 6 1 0 -3609 0 1 0 4.00081 34.648 30.002 0 0 -1 0.866 8 6 1 0 -3610 0 1 0 4.50091 35.5142 30.002 0 0 -1 0.866 8 6 1 0 -3611 0 1 0 5.00101 34.648 30.002 0 0 -1 0.866 8 6 1 0 -3612 0 1 0 5.50111 35.5142 30.002 0 0 -1 0.866 8 6 1 0 -3613 0 1 0 6.00121 34.648 30.002 0 0 -1 0.866 8 6 1 0 -3614 0 1 0 6.50132 35.5142 30.002 0 0 -1 0.866 8 6 1 0 -3615 0 1 0 7.00142 34.648 30.002 0 0 -1 0.866 8 6 1 0 -3616 0 1 0 7.50152 35.5142 30.002 0 0 -1 0.866 8 6 1 0 -3617 0 1 0 8.00162 34.648 30.002 0 0 -1 0.866 8 6 1 0 -3618 0 1 0 8.50172 35.5142 30.002 0 0 -1 0.866 8 6 1 0 -3619 0 1 0 9.00182 34.648 30.002 0 0 -1 0.866 8 6 1 0 -3620 0 1 0 9.50192 35.5142 30.002 0 0 -1 0.866 8 6 1 0 -3621 0 1 0 10.002 34.648 30.002 0 0 -1 0.866 8 6 1 0 -3622 0 1 0 10.5021 35.5142 30.002 0 0 -1 0.866 8 6 1 0 -3623 0 1 0 11.0022 34.648 30.002 0 0 -1 0.866 8 6 1 0 -3624 0 1 0 11.5023 35.5142 30.002 0 0 -1 0.866 8 6 1 0 -3625 0 1 0 12.0024 34.648 30.002 0 0 -1 0.866 8 6 1 0 -3626 0 1 0 12.5025 35.5142 30.002 0 0 -1 0.866 8 6 1 0 -3627 0 1 0 13.0026 34.648 30.002 0 0 -1 0.866 8 6 1 0 -3628 0 1 0 13.5027 35.5142 30.002 0 0 -1 0.866 8 6 1 0 -3629 0 1 0 14.0028 34.648 30.002 0 0 -1 0.866 8 6 1 0 -3630 0 1 0 14.5029 35.5142 30.002 0 0 -1 0.866 8 6 1 0 -3631 0 1 0 15.003 34.648 30.002 0 0 -1 0.866 8 6 1 0 -3632 0 1 0 15.5031 35.5142 30.002 0 0 -1 0.866 8 6 1 0 -3633 0 1 0 16.0032 34.648 30.002 0 0 -1 0.866 8 6 1 0 -3634 0 1 0 16.5033 35.5142 30.002 0 0 -1 0.866 8 6 1 0 -3635 0 1 0 17.0034 34.648 30.002 0 0 -1 0.866 8 6 1 0 -3636 0 1 0 17.5035 35.5142 30.002 0 0 -1 0.866 8 6 1 0 -3637 0 1 0 18.0036 34.648 30.002 0 0 -1 0.866 8 6 1 0 -3638 0 1 0 18.5037 35.5142 30.002 0 0 -1 0.866 8 6 1 0 -3639 0 1 0 19.0038 34.648 30.002 0 0 -1 0.866 8 6 1 0 -3640 0 1 0 19.5039 35.5142 30.002 0 0 -1 0.866 8 6 1 0 -3641 0 1 0 20.004 34.648 30.002 0 0 -1 0.866 8 6 1 0 -3642 0 1 0 20.5041 35.5142 30.002 0 0 -1 0.866 8 6 1 0 -3643 0 1 0 21.0042 34.648 30.002 0 0 -1 0.866 8 6 1 0 -3644 0 1 0 21.5043 35.5142 30.002 0 0 -1 0.866 8 6 1 0 -3645 0 1 0 22.0045 34.648 30.002 0 0 -1 0.866 8 6 1 0 -3646 0 1 0 22.5046 35.5142 30.002 0 0 -1 0.866 8 6 1 0 -3647 0 1 0 23.0047 34.648 30.002 0 0 -1 0.866 8 6 1 0 -3648 0 1 0 23.5048 35.5142 30.002 0 0 -1 0.866 8 6 1 0 -3649 0 1 0 24.0049 34.648 30.002 0 0 -1 0.866 8 6 1 0 -3650 0 1 0 24.505 35.5142 30.002 0 0 -1 0.866 8 6 1 0 -3651 0 1 0 25.0051 34.648 30.002 0 0 -1 0.866 8 6 1 0 -3652 0 1 0 25.5052 35.5142 30.002 0 0 -1 0.866 8 6 1 0 -3653 0 1 0 26.0053 34.648 30.002 0 0 -1 0.866 8 6 1 0 -3654 0 1 0 26.5054 35.5142 30.002 0 0 -1 0.866 8 6 1 0 -3655 0 1 0 27.0055 34.648 30.002 0 0 -1 0.866 8 6 1 0 -3656 0 1 0 27.5056 35.5142 30.002 0 0 -1 0.866 8 6 1 0 -3657 0 1 0 28.0057 34.648 30.002 0 0 -1 0.866 8 6 1 0 -3658 0 1 0 28.5058 35.5142 30.002 0 0 -1 0.866 8 6 1 0 -3659 0 1 0 29.0059 34.648 30.002 0 0 -1 0.866 8 6 1 0 -3660 0 1 0 29.506 35.5142 30.002 0 0 -1 0.866 8 6 1 0 -3661 0 1 0 30.0061 34.648 30.002 0 0 -1 0.866 8 6 1 0 -3662 0 1 0 30.5062 35.5142 30.002 0 0 -1 0.866 8 6 1 0 -3663 0 1 0 31.0063 34.648 30.002 0 0 -1 0.866 8 6 1 0 -3664 0 1 0 31.5064 35.5142 30.002 0 0 -1 0.866 8 6 1 0 -3665 0 1 0 32.0065 34.648 30.002 0 0 -1 0.866 8 6 1 0 -3666 0 1 0 32.5066 35.5142 30.002 0 0 -1 0.866 8 6 1 0 -3667 0 1 0 33.0067 34.648 30.002 0 0 -1 0.866 8 6 1 0 -3668 0 1 0 33.5068 35.5142 30.002 0 0 -1 0.866 8 6 1 0 -3669 0 1 0 34.0069 34.648 30.002 0 0 -1 0.866 8 6 1 0 -3670 0 1 0 34.507 35.5142 30.002 0 0 -1 0.866 8 6 1 0 -3671 0 1 0 35.0071 34.648 30.002 0 0 -1 0.866 8 6 1 0 -3672 0 1 0 35.5072 35.5142 30.002 0 0 -1 0.866 8 6 1 0 -3673 0 1 0 36.0073 34.648 30.002 0 0 -1 0.866 8 6 1 0 -3674 0 1 0 36.5074 35.5142 30.002 0 0 -1 0.866 8 6 1 0 -3675 0 1 0 37.0075 34.648 30.002 0 0 -1 0.866 8 6 1 0 -3676 0 1 0 37.5076 35.5142 30.002 0 0 -1 0.866 8 6 1 0 -3677 0 1 0 38.0077 34.648 30.002 0 0 -1 0.866 8 6 1 0 -3678 0 1 0 38.5078 35.5142 30.002 0 0 -1 0.866 8 6 1 0 -3679 0 1 0 39.0079 34.648 30.002 0 0 -1 0.866 8 6 1 0 -3680 0 1 0 39.508 35.5142 30.002 0 0 -1 0.866 8 6 1 0 -3681 0 1 0 0 36.3804 30.002 0 0 -1 0.866 8 6 1 0 -3682 0 1 0 0.500101 37.2466 30.002 0 0 -1 0.866 8 6 1 0 -3683 0 1 0 1.0002 36.3804 30.002 0 0 -1 0.866 8 6 1 0 -3684 0 1 0 1.5003 37.2466 30.002 0 0 -1 0.866 8 6 1 0 -3685 0 1 0 2.0004 36.3804 30.002 0 0 -1 0.866 8 6 1 0 -3686 0 1 0 2.50051 37.2466 30.002 0 0 -1 0.866 8 6 1 0 -3687 0 1 0 3.00061 36.3804 30.002 0 0 -1 0.866 8 6 1 0 -3688 0 1 0 3.50071 37.2466 30.002 0 0 -1 0.866 8 6 1 0 -3689 0 1 0 4.00081 36.3804 30.002 0 0 -1 0.866 8 6 1 0 -3690 0 1 0 4.50091 37.2466 30.002 0 0 -1 0.866 8 6 1 0 -3691 0 1 0 5.00101 36.3804 30.002 0 0 -1 0.866 8 6 1 0 -3692 0 1 0 5.50111 37.2466 30.002 0 0 -1 0.866 8 6 1 0 -3693 0 1 0 6.00121 36.3804 30.002 0 0 -1 0.866 8 6 1 0 -3694 0 1 0 6.50132 37.2466 30.002 0 0 -1 0.866 8 6 1 0 -3695 0 1 0 7.00142 36.3804 30.002 0 0 -1 0.866 8 6 1 0 -3696 0 1 0 7.50152 37.2466 30.002 0 0 -1 0.866 8 6 1 0 -3697 0 1 0 8.00162 36.3804 30.002 0 0 -1 0.866 8 6 1 0 -3698 0 1 0 8.50172 37.2466 30.002 0 0 -1 0.866 8 6 1 0 -3699 0 1 0 9.00182 36.3804 30.002 0 0 -1 0.866 8 6 1 0 -3700 0 1 0 9.50192 37.2466 30.002 0 0 -1 0.866 8 6 1 0 -3701 0 1 0 10.002 36.3804 30.002 0 0 -1 0.866 8 6 1 0 -3702 0 1 0 10.5021 37.2466 30.002 0 0 -1 0.866 8 6 1 0 -3703 0 1 0 11.0022 36.3804 30.002 0 0 -1 0.866 8 6 1 0 -3704 0 1 0 11.5023 37.2466 30.002 0 0 -1 0.866 8 6 1 0 -3705 0 1 0 12.0024 36.3804 30.002 0 0 -1 0.866 8 6 1 0 -3706 0 1 0 12.5025 37.2466 30.002 0 0 -1 0.866 8 6 1 0 -3707 0 1 0 13.0026 36.3804 30.002 0 0 -1 0.866 8 6 1 0 -3708 0 1 0 13.5027 37.2466 30.002 0 0 -1 0.866 8 6 1 0 -3709 0 1 0 14.0028 36.3804 30.002 0 0 -1 0.866 8 6 1 0 -3710 0 1 0 14.5029 37.2466 30.002 0 0 -1 0.866 8 6 1 0 -3711 0 1 0 15.003 36.3804 30.002 0 0 -1 0.866 8 6 1 0 -3712 0 1 0 15.5031 37.2466 30.002 0 0 -1 0.866 8 6 1 0 -3713 0 1 0 16.0032 36.3804 30.002 0 0 -1 0.866 8 6 1 0 -3714 0 1 0 16.5033 37.2466 30.002 0 0 -1 0.866 8 6 1 0 -3715 0 1 0 17.0034 36.3804 30.002 0 0 -1 0.866 8 6 1 0 -3716 0 1 0 17.5035 37.2466 30.002 0 0 -1 0.866 8 6 1 0 -3717 0 1 0 18.0036 36.3804 30.002 0 0 -1 0.866 8 6 1 0 -3718 0 1 0 18.5037 37.2466 30.002 0 0 -1 0.866 8 6 1 0 -3719 0 1 0 19.0038 36.3804 30.002 0 0 -1 0.866 8 6 1 0 -3720 0 1 0 19.5039 37.2466 30.002 0 0 -1 0.866 8 6 1 0 -3721 0 1 0 20.004 36.3804 30.002 0 0 -1 0.866 8 6 1 0 -3722 0 1 0 20.5041 37.2466 30.002 0 0 -1 0.866 8 6 1 0 -3723 0 1 0 21.0042 36.3804 30.002 0 0 -1 0.866 8 6 1 0 -3724 0 1 0 21.5043 37.2466 30.002 0 0 -1 0.866 8 6 1 0 -3725 0 1 0 22.0045 36.3804 30.002 0 0 -1 0.866 8 6 1 0 -3726 0 1 0 22.5046 37.2466 30.002 0 0 -1 0.866 8 6 1 0 -3727 0 1 0 23.0047 36.3804 30.002 0 0 -1 0.866 8 6 1 0 -3728 0 1 0 23.5048 37.2466 30.002 0 0 -1 0.866 8 6 1 0 -3729 0 1 0 24.0049 36.3804 30.002 0 0 -1 0.866 8 6 1 0 -3730 0 1 0 24.505 37.2466 30.002 0 0 -1 0.866 8 6 1 0 -3731 0 1 0 25.0051 36.3804 30.002 0 0 -1 0.866 8 6 1 0 -3732 0 1 0 25.5052 37.2466 30.002 0 0 -1 0.866 8 6 1 0 -3733 0 1 0 26.0053 36.3804 30.002 0 0 -1 0.866 8 6 1 0 -3734 0 1 0 26.5054 37.2466 30.002 0 0 -1 0.866 8 6 1 0 -3735 0 1 0 27.0055 36.3804 30.002 0 0 -1 0.866 8 6 1 0 -3736 0 1 0 27.5056 37.2466 30.002 0 0 -1 0.866 8 6 1 0 -3737 0 1 0 28.0057 36.3804 30.002 0 0 -1 0.866 8 6 1 0 -3738 0 1 0 28.5058 37.2466 30.002 0 0 -1 0.866 8 6 1 0 -3739 0 1 0 29.0059 36.3804 30.002 0 0 -1 0.866 8 6 1 0 -3740 0 1 0 29.506 37.2466 30.002 0 0 -1 0.866 8 6 1 0 -3741 0 1 0 30.0061 36.3804 30.002 0 0 -1 0.866 8 6 1 0 -3742 0 1 0 30.5062 37.2466 30.002 0 0 -1 0.866 8 6 1 0 -3743 0 1 0 31.0063 36.3804 30.002 0 0 -1 0.866 8 6 1 0 -3744 0 1 0 31.5064 37.2466 30.002 0 0 -1 0.866 8 6 1 0 -3745 0 1 0 32.0065 36.3804 30.002 0 0 -1 0.866 8 6 1 0 -3746 0 1 0 32.5066 37.2466 30.002 0 0 -1 0.866 8 6 1 0 -3747 0 1 0 33.0067 36.3804 30.002 0 0 -1 0.866 8 6 1 0 -3748 0 1 0 33.5068 37.2466 30.002 0 0 -1 0.866 8 6 1 0 -3749 0 1 0 34.0069 36.3804 30.002 0 0 -1 0.866 8 6 1 0 -3750 0 1 0 34.507 37.2466 30.002 0 0 -1 0.866 8 6 1 0 -3751 0 1 0 35.0071 36.3804 30.002 0 0 -1 0.866 8 6 1 0 -3752 0 1 0 35.5072 37.2466 30.002 0 0 -1 0.866 8 6 1 0 -3753 0 1 0 36.0073 36.3804 30.002 0 0 -1 0.866 8 6 1 0 -3754 0 1 0 36.5074 37.2466 30.002 0 0 -1 0.866 8 6 1 0 -3755 0 1 0 37.0075 36.3804 30.002 0 0 -1 0.866 8 6 1 0 -3756 0 1 0 37.5076 37.2466 30.002 0 0 -1 0.866 8 6 1 0 -3757 0 1 0 38.0077 36.3804 30.002 0 0 -1 0.866 8 6 1 0 -3758 0 1 0 38.5078 37.2466 30.002 0 0 -1 0.866 8 6 1 0 -3759 0 1 0 39.0079 36.3804 30.002 0 0 -1 0.866 8 6 1 0 -3760 0 1 0 39.508 37.2466 30.002 0 0 -1 0.866 8 6 1 0 -3761 0 1 0 0 38.1128 30.002 0 0 -1 0.866 8 6 1 0 -3762 0 1 0 0.500101 38.979 30.002 0 0 -1 0.866 8 6 1 0 -3763 0 1 0 1.0002 38.1128 30.002 0 0 -1 0.866 8 6 1 0 -3764 0 1 0 1.5003 38.979 30.002 0 0 -1 0.866 8 6 1 0 -3765 0 1 0 2.0004 38.1128 30.002 0 0 -1 0.866 8 6 1 0 -3766 0 1 0 2.50051 38.979 30.002 0 0 -1 0.866 8 6 1 0 -3767 0 1 0 3.00061 38.1128 30.002 0 0 -1 0.866 8 6 1 0 -3768 0 1 0 3.50071 38.979 30.002 0 0 -1 0.866 8 6 1 0 -3769 0 1 0 4.00081 38.1128 30.002 0 0 -1 0.866 8 6 1 0 -3770 0 1 0 4.50091 38.979 30.002 0 0 -1 0.866 8 6 1 0 -3771 0 1 0 5.00101 38.1128 30.002 0 0 -1 0.866 8 6 1 0 -3772 0 1 0 5.50111 38.979 30.002 0 0 -1 0.866 8 6 1 0 -3773 0 1 0 6.00121 38.1128 30.002 0 0 -1 0.866 8 6 1 0 -3774 0 1 0 6.50132 38.979 30.002 0 0 -1 0.866 8 6 1 0 -3775 0 1 0 7.00142 38.1128 30.002 0 0 -1 0.866 8 6 1 0 -3776 0 1 0 7.50152 38.979 30.002 0 0 -1 0.866 8 6 1 0 -3777 0 1 0 8.00162 38.1128 30.002 0 0 -1 0.866 8 6 1 0 -3778 0 1 0 8.50172 38.979 30.002 0 0 -1 0.866 8 6 1 0 -3779 0 1 0 9.00182 38.1128 30.002 0 0 -1 0.866 8 6 1 0 -3780 0 1 0 9.50192 38.979 30.002 0 0 -1 0.866 8 6 1 0 -3781 0 1 0 10.002 38.1128 30.002 0 0 -1 0.866 8 6 1 0 -3782 0 1 0 10.5021 38.979 30.002 0 0 -1 0.866 8 6 1 0 -3783 0 1 0 11.0022 38.1128 30.002 0 0 -1 0.866 8 6 1 0 -3784 0 1 0 11.5023 38.979 30.002 0 0 -1 0.866 8 6 1 0 -3785 0 1 0 12.0024 38.1128 30.002 0 0 -1 0.866 8 6 1 0 -3786 0 1 0 12.5025 38.979 30.002 0 0 -1 0.866 8 6 1 0 -3787 0 1 0 13.0026 38.1128 30.002 0 0 -1 0.866 8 6 1 0 -3788 0 1 0 13.5027 38.979 30.002 0 0 -1 0.866 8 6 1 0 -3789 0 1 0 14.0028 38.1128 30.002 0 0 -1 0.866 8 6 1 0 -3790 0 1 0 14.5029 38.979 30.002 0 0 -1 0.866 8 6 1 0 -3791 0 1 0 15.003 38.1128 30.002 0 0 -1 0.866 8 6 1 0 -3792 0 1 0 15.5031 38.979 30.002 0 0 -1 0.866 8 6 1 0 -3793 0 1 0 16.0032 38.1128 30.002 0 0 -1 0.866 8 6 1 0 -3794 0 1 0 16.5033 38.979 30.002 0 0 -1 0.866 8 6 1 0 -3795 0 1 0 17.0034 38.1128 30.002 0 0 -1 0.866 8 6 1 0 -3796 0 1 0 17.5035 38.979 30.002 0 0 -1 0.866 8 6 1 0 -3797 0 1 0 18.0036 38.1128 30.002 0 0 -1 0.866 8 6 1 0 -3798 0 1 0 18.5037 38.979 30.002 0 0 -1 0.866 8 6 1 0 -3799 0 1 0 19.0038 38.1128 30.002 0 0 -1 0.866 8 6 1 0 -3800 0 1 0 19.5039 38.979 30.002 0 0 -1 0.866 8 6 1 0 -3801 0 1 0 20.004 38.1128 30.002 0 0 -1 0.866 8 6 1 0 -3802 0 1 0 20.5041 38.979 30.002 0 0 -1 0.866 8 6 1 0 -3803 0 1 0 21.0042 38.1128 30.002 0 0 -1 0.866 8 6 1 0 -3804 0 1 0 21.5043 38.979 30.002 0 0 -1 0.866 8 6 1 0 -3805 0 1 0 22.0045 38.1128 30.002 0 0 -1 0.866 8 6 1 0 -3806 0 1 0 22.5046 38.979 30.002 0 0 -1 0.866 8 6 1 0 -3807 0 1 0 23.0047 38.1128 30.002 0 0 -1 0.866 8 6 1 0 -3808 0 1 0 23.5048 38.979 30.002 0 0 -1 0.866 8 6 1 0 -3809 0 1 0 24.0049 38.1128 30.002 0 0 -1 0.866 8 6 1 0 -3810 0 1 0 24.505 38.979 30.002 0 0 -1 0.866 8 6 1 0 -3811 0 1 0 25.0051 38.1128 30.002 0 0 -1 0.866 8 6 1 0 -3812 0 1 0 25.5052 38.979 30.002 0 0 -1 0.866 8 6 1 0 -3813 0 1 0 26.0053 38.1128 30.002 0 0 -1 0.866 8 6 1 0 -3814 0 1 0 26.5054 38.979 30.002 0 0 -1 0.866 8 6 1 0 -3815 0 1 0 27.0055 38.1128 30.002 0 0 -1 0.866 8 6 1 0 -3816 0 1 0 27.5056 38.979 30.002 0 0 -1 0.866 8 6 1 0 -3817 0 1 0 28.0057 38.1128 30.002 0 0 -1 0.866 8 6 1 0 -3818 0 1 0 28.5058 38.979 30.002 0 0 -1 0.866 8 6 1 0 -3819 0 1 0 29.0059 38.1128 30.002 0 0 -1 0.866 8 6 1 0 -3820 0 1 0 29.506 38.979 30.002 0 0 -1 0.866 8 6 1 0 -3821 0 1 0 30.0061 38.1128 30.002 0 0 -1 0.866 8 6 1 0 -3822 0 1 0 30.5062 38.979 30.002 0 0 -1 0.866 8 6 1 0 -3823 0 1 0 31.0063 38.1128 30.002 0 0 -1 0.866 8 6 1 0 -3824 0 1 0 31.5064 38.979 30.002 0 0 -1 0.866 8 6 1 0 -3825 0 1 0 32.0065 38.1128 30.002 0 0 -1 0.866 8 6 1 0 -3826 0 1 0 32.5066 38.979 30.002 0 0 -1 0.866 8 6 1 0 -3827 0 1 0 33.0067 38.1128 30.002 0 0 -1 0.866 8 6 1 0 -3828 0 1 0 33.5068 38.979 30.002 0 0 -1 0.866 8 6 1 0 -3829 0 1 0 34.0069 38.1128 30.002 0 0 -1 0.866 8 6 1 0 -3830 0 1 0 34.507 38.979 30.002 0 0 -1 0.866 8 6 1 0 -3831 0 1 0 35.0071 38.1128 30.002 0 0 -1 0.866 8 6 1 0 -3832 0 1 0 35.5072 38.979 30.002 0 0 -1 0.866 8 6 1 0 -3833 0 1 0 36.0073 38.1128 30.002 0 0 -1 0.866 8 6 1 0 -3834 0 1 0 36.5074 38.979 30.002 0 0 -1 0.866 8 6 1 0 -3835 0 1 0 37.0075 38.1128 30.002 0 0 -1 0.866 8 6 1 0 -3836 0 1 0 37.5076 38.979 30.002 0 0 -1 0.866 8 6 1 0 -3837 0 1 0 38.0077 38.1128 30.002 0 0 -1 0.866 8 6 1 0 -3838 0 1 0 38.5078 38.979 30.002 0 0 -1 0.866 8 6 1 0 -3839 0 1 0 39.0079 38.1128 30.002 0 0 -1 0.866 8 6 1 0 -3840 0 1 0 39.508 38.979 30.002 0 0 -1 0.866 8 6 1 0 -3841 0 1 0 0 39.8452 30.002 0 0 -1 0.866 8 6 1 0 -3842 0 1 0 0.500101 40.7114 30.002 0 0 -1 0.866 8 6 1 0 -3843 0 1 0 1.0002 39.8452 30.002 0 0 -1 0.866 8 6 1 0 -3844 0 1 0 1.5003 40.7114 30.002 0 0 -1 0.866 8 6 1 0 -3845 0 1 0 2.0004 39.8452 30.002 0 0 -1 0.866 8 6 1 0 -3846 0 1 0 2.50051 40.7114 30.002 0 0 -1 0.866 8 6 1 0 -3847 0 1 0 3.00061 39.8452 30.002 0 0 -1 0.866 8 6 1 0 -3848 0 1 0 3.50071 40.7114 30.002 0 0 -1 0.866 8 6 1 0 -3849 0 1 0 4.00081 39.8452 30.002 0 0 -1 0.866 8 6 1 0 -3850 0 1 0 4.50091 40.7114 30.002 0 0 -1 0.866 8 6 1 0 -3851 0 1 0 5.00101 39.8452 30.002 0 0 -1 0.866 8 6 1 0 -3852 0 1 0 5.50111 40.7114 30.002 0 0 -1 0.866 8 6 1 0 -3853 0 1 0 6.00121 39.8452 30.002 0 0 -1 0.866 8 6 1 0 -3854 0 1 0 6.50132 40.7114 30.002 0 0 -1 0.866 8 6 1 0 -3855 0 1 0 7.00142 39.8452 30.002 0 0 -1 0.866 8 6 1 0 -3856 0 1 0 7.50152 40.7114 30.002 0 0 -1 0.866 8 6 1 0 -3857 0 1 0 8.00162 39.8452 30.002 0 0 -1 0.866 8 6 1 0 -3858 0 1 0 8.50172 40.7114 30.002 0 0 -1 0.866 8 6 1 0 -3859 0 1 0 9.00182 39.8452 30.002 0 0 -1 0.866 8 6 1 0 -3860 0 1 0 9.50192 40.7114 30.002 0 0 -1 0.866 8 6 1 0 -3861 0 1 0 10.002 39.8452 30.002 0 0 -1 0.866 8 6 1 0 -3862 0 1 0 10.5021 40.7114 30.002 0 0 -1 0.866 8 6 1 0 -3863 0 1 0 11.0022 39.8452 30.002 0 0 -1 0.866 8 6 1 0 -3864 0 1 0 11.5023 40.7114 30.002 0 0 -1 0.866 8 6 1 0 -3865 0 1 0 12.0024 39.8452 30.002 0 0 -1 0.866 8 6 1 0 -3866 0 1 0 12.5025 40.7114 30.002 0 0 -1 0.866 8 6 1 0 -3867 0 1 0 13.0026 39.8452 30.002 0 0 -1 0.866 8 6 1 0 -3868 0 1 0 13.5027 40.7114 30.002 0 0 -1 0.866 8 6 1 0 -3869 0 1 0 14.0028 39.8452 30.002 0 0 -1 0.866 8 6 1 0 -3870 0 1 0 14.5029 40.7114 30.002 0 0 -1 0.866 8 6 1 0 -3871 0 1 0 15.003 39.8452 30.002 0 0 -1 0.866 8 6 1 0 -3872 0 1 0 15.5031 40.7114 30.002 0 0 -1 0.866 8 6 1 0 -3873 0 1 0 16.0032 39.8452 30.002 0 0 -1 0.866 8 6 1 0 -3874 0 1 0 16.5033 40.7114 30.002 0 0 -1 0.866 8 6 1 0 -3875 0 1 0 17.0034 39.8452 30.002 0 0 -1 0.866 8 6 1 0 -3876 0 1 0 17.5035 40.7114 30.002 0 0 -1 0.866 8 6 1 0 -3877 0 1 0 18.0036 39.8452 30.002 0 0 -1 0.866 8 6 1 0 -3878 0 1 0 18.5037 40.7114 30.002 0 0 -1 0.866 8 6 1 0 -3879 0 1 0 19.0038 39.8452 30.002 0 0 -1 0.866 8 6 1 0 -3880 0 1 0 19.5039 40.7114 30.002 0 0 -1 0.866 8 6 1 0 -3881 0 1 0 20.004 39.8452 30.002 0 0 -1 0.866 8 6 1 0 -3882 0 1 0 20.5041 40.7114 30.002 0 0 -1 0.866 8 6 1 0 -3883 0 1 0 21.0042 39.8452 30.002 0 0 -1 0.866 8 6 1 0 -3884 0 1 0 21.5043 40.7114 30.002 0 0 -1 0.866 8 6 1 0 -3885 0 1 0 22.0045 39.8452 30.002 0 0 -1 0.866 8 6 1 0 -3886 0 1 0 22.5046 40.7114 30.002 0 0 -1 0.866 8 6 1 0 -3887 0 1 0 23.0047 39.8452 30.002 0 0 -1 0.866 8 6 1 0 -3888 0 1 0 23.5048 40.7114 30.002 0 0 -1 0.866 8 6 1 0 -3889 0 1 0 24.0049 39.8452 30.002 0 0 -1 0.866 8 6 1 0 -3890 0 1 0 24.505 40.7114 30.002 0 0 -1 0.866 8 6 1 0 -3891 0 1 0 25.0051 39.8452 30.002 0 0 -1 0.866 8 6 1 0 -3892 0 1 0 25.5052 40.7114 30.002 0 0 -1 0.866 8 6 1 0 -3893 0 1 0 26.0053 39.8452 30.002 0 0 -1 0.866 8 6 1 0 -3894 0 1 0 26.5054 40.7114 30.002 0 0 -1 0.866 8 6 1 0 -3895 0 1 0 27.0055 39.8452 30.002 0 0 -1 0.866 8 6 1 0 -3896 0 1 0 27.5056 40.7114 30.002 0 0 -1 0.866 8 6 1 0 -3897 0 1 0 28.0057 39.8452 30.002 0 0 -1 0.866 8 6 1 0 -3898 0 1 0 28.5058 40.7114 30.002 0 0 -1 0.866 8 6 1 0 -3899 0 1 0 29.0059 39.8452 30.002 0 0 -1 0.866 8 6 1 0 -3900 0 1 0 29.506 40.7114 30.002 0 0 -1 0.866 8 6 1 0 -3901 0 1 0 30.0061 39.8452 30.002 0 0 -1 0.866 8 6 1 0 -3902 0 1 0 30.5062 40.7114 30.002 0 0 -1 0.866 8 6 1 0 -3903 0 1 0 31.0063 39.8452 30.002 0 0 -1 0.866 8 6 1 0 -3904 0 1 0 31.5064 40.7114 30.002 0 0 -1 0.866 8 6 1 0 -3905 0 1 0 32.0065 39.8452 30.002 0 0 -1 0.866 8 6 1 0 -3906 0 1 0 32.5066 40.7114 30.002 0 0 -1 0.866 8 6 1 0 -3907 0 1 0 33.0067 39.8452 30.002 0 0 -1 0.866 8 6 1 0 -3908 0 1 0 33.5068 40.7114 30.002 0 0 -1 0.866 8 6 1 0 -3909 0 1 0 34.0069 39.8452 30.002 0 0 -1 0.866 8 6 1 0 -3910 0 1 0 34.507 40.7114 30.002 0 0 -1 0.866 8 6 1 0 -3911 0 1 0 35.0071 39.8452 30.002 0 0 -1 0.866 8 6 1 0 -3912 0 1 0 35.5072 40.7114 30.002 0 0 -1 0.866 8 6 1 0 -3913 0 1 0 36.0073 39.8452 30.002 0 0 -1 0.866 8 6 1 0 -3914 0 1 0 36.5074 40.7114 30.002 0 0 -1 0.866 8 6 1 0 -3915 0 1 0 37.0075 39.8452 30.002 0 0 -1 0.866 8 6 1 0 -3916 0 1 0 37.5076 40.7114 30.002 0 0 -1 0.866 8 6 1 0 -3917 0 1 0 38.0077 39.8452 30.002 0 0 -1 0.866 8 6 1 0 -3918 0 1 0 38.5078 40.7114 30.002 0 0 -1 0.866 8 6 1 0 -3919 0 1 0 39.0079 39.8452 30.002 0 0 -1 0.866 8 6 1 0 -3920 0 1 0 39.508 40.7114 30.002 0 0 -1 0.866 8 6 1 0 -3921 0 1 0 0 41.5776 30.002 0 0 -1 0.866 8 6 1 0 -3922 0 1 0 0.500101 42.4438 30.002 0 0 -1 0.866 8 6 1 0 -3923 0 1 0 1.0002 41.5776 30.002 0 0 -1 0.866 8 6 1 0 -3924 0 1 0 1.5003 42.4438 30.002 0 0 -1 0.866 8 6 1 0 -3925 0 1 0 2.0004 41.5776 30.002 0 0 -1 0.866 8 6 1 0 -3926 0 1 0 2.50051 42.4438 30.002 0 0 -1 0.866 8 6 1 0 -3927 0 1 0 3.00061 41.5776 30.002 0 0 -1 0.866 8 6 1 0 -3928 0 1 0 3.50071 42.4438 30.002 0 0 -1 0.866 8 6 1 0 -3929 0 1 0 4.00081 41.5776 30.002 0 0 -1 0.866 8 6 1 0 -3930 0 1 0 4.50091 42.4438 30.002 0 0 -1 0.866 8 6 1 0 -3931 0 1 0 5.00101 41.5776 30.002 0 0 -1 0.866 8 6 1 0 -3932 0 1 0 5.50111 42.4438 30.002 0 0 -1 0.866 8 6 1 0 -3933 0 1 0 6.00121 41.5776 30.002 0 0 -1 0.866 8 6 1 0 -3934 0 1 0 6.50132 42.4438 30.002 0 0 -1 0.866 8 6 1 0 -3935 0 1 0 7.00142 41.5776 30.002 0 0 -1 0.866 8 6 1 0 -3936 0 1 0 7.50152 42.4438 30.002 0 0 -1 0.866 8 6 1 0 -3937 0 1 0 8.00162 41.5776 30.002 0 0 -1 0.866 8 6 1 0 -3938 0 1 0 8.50172 42.4438 30.002 0 0 -1 0.866 8 6 1 0 -3939 0 1 0 9.00182 41.5776 30.002 0 0 -1 0.866 8 6 1 0 -3940 0 1 0 9.50192 42.4438 30.002 0 0 -1 0.866 8 6 1 0 -3941 0 1 0 10.002 41.5776 30.002 0 0 -1 0.866 8 6 1 0 -3942 0 1 0 10.5021 42.4438 30.002 0 0 -1 0.866 8 6 1 0 -3943 0 1 0 11.0022 41.5776 30.002 0 0 -1 0.866 8 6 1 0 -3944 0 1 0 11.5023 42.4438 30.002 0 0 -1 0.866 8 6 1 0 -3945 0 1 0 12.0024 41.5776 30.002 0 0 -1 0.866 8 6 1 0 -3946 0 1 0 12.5025 42.4438 30.002 0 0 -1 0.866 8 6 1 0 -3947 0 1 0 13.0026 41.5776 30.002 0 0 -1 0.866 8 6 1 0 -3948 0 1 0 13.5027 42.4438 30.002 0 0 -1 0.866 8 6 1 0 -3949 0 1 0 14.0028 41.5776 30.002 0 0 -1 0.866 8 6 1 0 -3950 0 1 0 14.5029 42.4438 30.002 0 0 -1 0.866 8 6 1 0 -3951 0 1 0 15.003 41.5776 30.002 0 0 -1 0.866 8 6 1 0 -3952 0 1 0 15.5031 42.4438 30.002 0 0 -1 0.866 8 6 1 0 -3953 0 1 0 16.0032 41.5776 30.002 0 0 -1 0.866 8 6 1 0 -3954 0 1 0 16.5033 42.4438 30.002 0 0 -1 0.866 8 6 1 0 -3955 0 1 0 17.0034 41.5776 30.002 0 0 -1 0.866 8 6 1 0 -3956 0 1 0 17.5035 42.4438 30.002 0 0 -1 0.866 8 6 1 0 -3957 0 1 0 18.0036 41.5776 30.002 0 0 -1 0.866 8 6 1 0 -3958 0 1 0 18.5037 42.4438 30.002 0 0 -1 0.866 8 6 1 0 -3959 0 1 0 19.0038 41.5776 30.002 0 0 -1 0.866 8 6 1 0 -3960 0 1 0 19.5039 42.4438 30.002 0 0 -1 0.866 8 6 1 0 -3961 0 1 0 20.004 41.5776 30.002 0 0 -1 0.866 8 6 1 0 -3962 0 1 0 20.5041 42.4438 30.002 0 0 -1 0.866 8 6 1 0 -3963 0 1 0 21.0042 41.5776 30.002 0 0 -1 0.866 8 6 1 0 -3964 0 1 0 21.5043 42.4438 30.002 0 0 -1 0.866 8 6 1 0 -3965 0 1 0 22.0045 41.5776 30.002 0 0 -1 0.866 8 6 1 0 -3966 0 1 0 22.5046 42.4438 30.002 0 0 -1 0.866 8 6 1 0 -3967 0 1 0 23.0047 41.5776 30.002 0 0 -1 0.866 8 6 1 0 -3968 0 1 0 23.5048 42.4438 30.002 0 0 -1 0.866 8 6 1 0 -3969 0 1 0 24.0049 41.5776 30.002 0 0 -1 0.866 8 6 1 0 -3970 0 1 0 24.505 42.4438 30.002 0 0 -1 0.866 8 6 1 0 -3971 0 1 0 25.0051 41.5776 30.002 0 0 -1 0.866 8 6 1 0 -3972 0 1 0 25.5052 42.4438 30.002 0 0 -1 0.866 8 6 1 0 -3973 0 1 0 26.0053 41.5776 30.002 0 0 -1 0.866 8 6 1 0 -3974 0 1 0 26.5054 42.4438 30.002 0 0 -1 0.866 8 6 1 0 -3975 0 1 0 27.0055 41.5776 30.002 0 0 -1 0.866 8 6 1 0 -3976 0 1 0 27.5056 42.4438 30.002 0 0 -1 0.866 8 6 1 0 -3977 0 1 0 28.0057 41.5776 30.002 0 0 -1 0.866 8 6 1 0 -3978 0 1 0 28.5058 42.4438 30.002 0 0 -1 0.866 8 6 1 0 -3979 0 1 0 29.0059 41.5776 30.002 0 0 -1 0.866 8 6 1 0 -3980 0 1 0 29.506 42.4438 30.002 0 0 -1 0.866 8 6 1 0 -3981 0 1 0 30.0061 41.5776 30.002 0 0 -1 0.866 8 6 1 0 -3982 0 1 0 30.5062 42.4438 30.002 0 0 -1 0.866 8 6 1 0 -3983 0 1 0 31.0063 41.5776 30.002 0 0 -1 0.866 8 6 1 0 -3984 0 1 0 31.5064 42.4438 30.002 0 0 -1 0.866 8 6 1 0 -3985 0 1 0 32.0065 41.5776 30.002 0 0 -1 0.866 8 6 1 0 -3986 0 1 0 32.5066 42.4438 30.002 0 0 -1 0.866 8 6 1 0 -3987 0 1 0 33.0067 41.5776 30.002 0 0 -1 0.866 8 6 1 0 -3988 0 1 0 33.5068 42.4438 30.002 0 0 -1 0.866 8 6 1 0 -3989 0 1 0 34.0069 41.5776 30.002 0 0 -1 0.866 8 6 1 0 -3990 0 1 0 34.507 42.4438 30.002 0 0 -1 0.866 8 6 1 0 -3991 0 1 0 35.0071 41.5776 30.002 0 0 -1 0.866 8 6 1 0 -3992 0 1 0 35.5072 42.4438 30.002 0 0 -1 0.866 8 6 1 0 -3993 0 1 0 36.0073 41.5776 30.002 0 0 -1 0.866 8 6 1 0 -3994 0 1 0 36.5074 42.4438 30.002 0 0 -1 0.866 8 6 1 0 -3995 0 1 0 37.0075 41.5776 30.002 0 0 -1 0.866 8 6 1 0 -3996 0 1 0 37.5076 42.4438 30.002 0 0 -1 0.866 8 6 1 0 -3997 0 1 0 38.0077 41.5776 30.002 0 0 -1 0.866 8 6 1 0 -3998 0 1 0 38.5078 42.4438 30.002 0 0 -1 0.866 8 6 1 0 -3999 0 1 0 39.0079 41.5776 30.002 0 0 -1 0.866 8 6 1 0 -4000 0 1 0 39.508 42.4438 30.002 0 0 -1 0.866 8 6 1 0 +1 0 1 0 0 0 9.99798 0 0 1 0.866 8 6 6 0 +2 0 1 0 0.500101 0.866201 9.99798 0 0 1 0.866 8 6 6 0 +3 0 1 0 1.0002 0 9.99798 0 0 1 0.866 8 6 6 0 +4 0 1 0 1.5003 0.866201 9.99798 0 0 1 0.866 8 6 6 0 +5 0 1 0 2.0004 0 9.99798 0 0 1 0.866 8 6 6 0 +6 0 1 0 2.50051 0.866201 9.99798 0 0 1 0.866 8 6 6 0 +7 0 1 0 3.00061 0 9.99798 0 0 1 0.866 8 6 6 0 +8 0 1 0 3.50071 0.866201 9.99798 0 0 1 0.866 8 6 6 0 +9 0 1 0 4.00081 0 9.99798 0 0 1 0.866 8 6 6 0 +10 0 1 0 4.50091 0.866201 9.99798 0 0 1 0.866 8 6 6 0 +11 0 1 0 5.00101 0 9.99798 0 0 1 0.866 8 6 6 0 +12 0 1 0 5.50111 0.866201 9.99798 0 0 1 0.866 8 6 6 0 +13 0 1 0 6.00121 0 9.99798 0 0 1 0.866 8 6 6 0 +14 0 1 0 6.50132 0.866201 9.99798 0 0 1 0.866 8 6 6 0 +15 0 1 0 7.00142 0 9.99798 0 0 1 0.866 8 6 6 0 +16 0 1 0 7.50152 0.866201 9.99798 0 0 1 0.866 8 6 6 0 +17 0 1 0 8.00162 0 9.99798 0 0 1 0.866 8 6 6 0 +18 0 1 0 8.50172 0.866201 9.99798 0 0 1 0.866 8 6 6 0 +19 0 1 0 9.00182 0 9.99798 0 0 1 0.866 8 6 6 0 +20 0 1 0 9.50192 0.866201 9.99798 0 0 1 0.866 8 6 6 0 +21 0 1 0 10.002 0 9.99798 0 0 1 0.866 8 6 6 0 +22 0 1 0 10.5021 0.866201 9.99798 0 0 1 0.866 8 6 6 0 +23 0 1 0 11.0022 0 9.99798 0 0 1 0.866 8 6 6 0 +24 0 1 0 11.5023 0.866201 9.99798 0 0 1 0.866 8 6 6 0 +25 0 1 0 12.0024 0 9.99798 0 0 1 0.866 8 6 6 0 +26 0 1 0 12.5025 0.866201 9.99798 0 0 1 0.866 8 6 6 0 +27 0 1 0 13.0026 0 9.99798 0 0 1 0.866 8 6 6 0 +28 0 1 0 13.5027 0.866201 9.99798 0 0 1 0.866 8 6 6 0 +29 0 1 0 14.0028 0 9.99798 0 0 1 0.866 8 6 6 0 +30 0 1 0 14.5029 0.866201 9.99798 0 0 1 0.866 8 6 6 0 +31 0 1 0 15.003 0 9.99798 0 0 1 0.866 8 6 6 0 +32 0 1 0 15.5031 0.866201 9.99798 0 0 1 0.866 8 6 6 0 +33 0 1 0 16.0032 0 9.99798 0 0 1 0.866 8 6 6 0 +34 0 1 0 16.5033 0.866201 9.99798 0 0 1 0.866 8 6 6 0 +35 0 1 0 17.0034 0 9.99798 0 0 1 0.866 8 6 6 0 +36 0 1 0 17.5035 0.866201 9.99798 0 0 1 0.866 8 6 6 0 +37 0 1 0 18.0036 0 9.99798 0 0 1 0.866 8 6 6 0 +38 0 1 0 18.5037 0.866201 9.99798 0 0 1 0.866 8 6 6 0 +39 0 1 0 19.0038 0 9.99798 0 0 1 0.866 8 6 6 0 +40 0 1 0 19.5039 0.866201 9.99798 0 0 1 0.866 8 6 6 0 +41 0 1 0 20.004 0 9.99798 0 0 1 0.866 8 6 6 0 +42 0 1 0 20.5041 0.866201 9.99798 0 0 1 0.866 8 6 6 0 +43 0 1 0 21.0042 0 9.99798 0 0 1 0.866 8 6 6 0 +44 0 1 0 21.5043 0.866201 9.99798 0 0 1 0.866 8 6 6 0 +45 0 1 0 22.0045 0 9.99798 0 0 1 0.866 8 6 6 0 +46 0 1 0 22.5046 0.866201 9.99798 0 0 1 0.866 8 6 6 0 +47 0 1 0 23.0047 0 9.99798 0 0 1 0.866 8 6 6 0 +48 0 1 0 23.5048 0.866201 9.99798 0 0 1 0.866 8 6 6 0 +49 0 1 0 24.0049 0 9.99798 0 0 1 0.866 8 6 6 0 +50 0 1 0 24.505 0.866201 9.99798 0 0 1 0.866 8 6 6 0 +51 0 1 0 25.0051 0 9.99798 0 0 1 0.866 8 6 6 0 +52 0 1 0 25.5052 0.866201 9.99798 0 0 1 0.866 8 6 6 0 +53 0 1 0 26.0053 0 9.99798 0 0 1 0.866 8 6 6 0 +54 0 1 0 26.5054 0.866201 9.99798 0 0 1 0.866 8 6 6 0 +55 0 1 0 27.0055 0 9.99798 0 0 1 0.866 8 6 6 0 +56 0 1 0 27.5056 0.866201 9.99798 0 0 1 0.866 8 6 6 0 +57 0 1 0 28.0057 0 9.99798 0 0 1 0.866 8 6 6 0 +58 0 1 0 28.5058 0.866201 9.99798 0 0 1 0.866 8 6 6 0 +59 0 1 0 29.0059 0 9.99798 0 0 1 0.866 8 6 6 0 +60 0 1 0 29.506 0.866201 9.99798 0 0 1 0.866 8 6 6 0 +61 0 1 0 30.0061 0 9.99798 0 0 1 0.866 8 6 6 0 +62 0 1 0 30.5062 0.866201 9.99798 0 0 1 0.866 8 6 6 0 +63 0 1 0 31.0063 0 9.99798 0 0 1 0.866 8 6 6 0 +64 0 1 0 31.5064 0.866201 9.99798 0 0 1 0.866 8 6 6 0 +65 0 1 0 32.0065 0 9.99798 0 0 1 0.866 8 6 6 0 +66 0 1 0 32.5066 0.866201 9.99798 0 0 1 0.866 8 6 6 0 +67 0 1 0 33.0067 0 9.99798 0 0 1 0.866 8 6 6 0 +68 0 1 0 33.5068 0.866201 9.99798 0 0 1 0.866 8 6 6 0 +69 0 1 0 34.0069 0 9.99798 0 0 1 0.866 8 6 6 0 +70 0 1 0 34.507 0.866201 9.99798 0 0 1 0.866 8 6 6 0 +71 0 1 0 35.0071 0 9.99798 0 0 1 0.866 8 6 6 0 +72 0 1 0 35.5072 0.866201 9.99798 0 0 1 0.866 8 6 6 0 +73 0 1 0 36.0073 0 9.99798 0 0 1 0.866 8 6 6 0 +74 0 1 0 36.5074 0.866201 9.99798 0 0 1 0.866 8 6 6 0 +75 0 1 0 37.0075 0 9.99798 0 0 1 0.866 8 6 6 0 +76 0 1 0 37.5076 0.866201 9.99798 0 0 1 0.866 8 6 6 0 +77 0 1 0 38.0077 0 9.99798 0 0 1 0.866 8 6 6 0 +78 0 1 0 38.5078 0.866201 9.99798 0 0 1 0.866 8 6 6 0 +79 0 1 0 39.0079 0 9.99798 0 0 1 0.866 8 6 6 0 +80 0 1 0 39.508 0.866201 9.99798 0 0 1 0.866 8 6 6 0 +81 0 1 0 0 1.7324 9.99798 0 0 1 0.866 8 6 6 0 +82 0 1 0 0.500101 2.5986 9.99798 0 0 1 0.866 8 6 6 0 +83 0 1 0 1.0002 1.7324 9.99798 0 0 1 0.866 8 6 6 0 +84 0 1 0 1.5003 2.5986 9.99798 0 0 1 0.866 8 6 6 0 +85 0 1 0 2.0004 1.7324 9.99798 0 0 1 0.866 8 6 6 0 +86 0 1 0 2.50051 2.5986 9.99798 0 0 1 0.866 8 6 6 0 +87 0 1 0 3.00061 1.7324 9.99798 0 0 1 0.866 8 6 6 0 +88 0 1 0 3.50071 2.5986 9.99798 0 0 1 0.866 8 6 6 0 +89 0 1 0 4.00081 1.7324 9.99798 0 0 1 0.866 8 6 6 0 +90 0 1 0 4.50091 2.5986 9.99798 0 0 1 0.866 8 6 6 0 +91 0 1 0 5.00101 1.7324 9.99798 0 0 1 0.866 8 6 6 0 +92 0 1 0 5.50111 2.5986 9.99798 0 0 1 0.866 8 6 6 0 +93 0 1 0 6.00121 1.7324 9.99798 0 0 1 0.866 8 6 6 0 +94 0 1 0 6.50132 2.5986 9.99798 0 0 1 0.866 8 6 6 0 +95 0 1 0 7.00142 1.7324 9.99798 0 0 1 0.866 8 6 6 0 +96 0 1 0 7.50152 2.5986 9.99798 0 0 1 0.866 8 6 6 0 +97 0 1 0 8.00162 1.7324 9.99798 0 0 1 0.866 8 6 6 0 +98 0 1 0 8.50172 2.5986 9.99798 0 0 1 0.866 8 6 6 0 +99 0 1 0 9.00182 1.7324 9.99798 0 0 1 0.866 8 6 6 0 +100 0 1 0 9.50192 2.5986 9.99798 0 0 1 0.866 8 6 6 0 +101 0 1 0 10.002 1.7324 9.99798 0 0 1 0.866 8 6 6 0 +102 0 1 0 10.5021 2.5986 9.99798 0 0 1 0.866 8 6 6 0 +103 0 1 0 11.0022 1.7324 9.99798 0 0 1 0.866 8 6 6 0 +104 0 1 0 11.5023 2.5986 9.99798 0 0 1 0.866 8 6 6 0 +105 0 1 0 12.0024 1.7324 9.99798 0 0 1 0.866 8 6 6 0 +106 0 1 0 12.5025 2.5986 9.99798 0 0 1 0.866 8 6 6 0 +107 0 1 0 13.0026 1.7324 9.99798 0 0 1 0.866 8 6 6 0 +108 0 1 0 13.5027 2.5986 9.99798 0 0 1 0.866 8 6 6 0 +109 0 1 0 14.0028 1.7324 9.99798 0 0 1 0.866 8 6 6 0 +110 0 1 0 14.5029 2.5986 9.99798 0 0 1 0.866 8 6 6 0 +111 0 1 0 15.003 1.7324 9.99798 0 0 1 0.866 8 6 6 0 +112 0 1 0 15.5031 2.5986 9.99798 0 0 1 0.866 8 6 6 0 +113 0 1 0 16.0032 1.7324 9.99798 0 0 1 0.866 8 6 6 0 +114 0 1 0 16.5033 2.5986 9.99798 0 0 1 0.866 8 6 6 0 +115 0 1 0 17.0034 1.7324 9.99798 0 0 1 0.866 8 6 6 0 +116 0 1 0 17.5035 2.5986 9.99798 0 0 1 0.866 8 6 6 0 +117 0 1 0 18.0036 1.7324 9.99798 0 0 1 0.866 8 6 6 0 +118 0 1 0 18.5037 2.5986 9.99798 0 0 1 0.866 8 6 6 0 +119 0 1 0 19.0038 1.7324 9.99798 0 0 1 0.866 8 6 6 0 +120 0 1 0 19.5039 2.5986 9.99798 0 0 1 0.866 8 6 6 0 +121 0 1 0 20.004 1.7324 9.99798 0 0 1 0.866 8 6 6 0 +122 0 1 0 20.5041 2.5986 9.99798 0 0 1 0.866 8 6 6 0 +123 0 1 0 21.0042 1.7324 9.99798 0 0 1 0.866 8 6 6 0 +124 0 1 0 21.5043 2.5986 9.99798 0 0 1 0.866 8 6 6 0 +125 0 1 0 22.0045 1.7324 9.99798 0 0 1 0.866 8 6 6 0 +126 0 1 0 22.5046 2.5986 9.99798 0 0 1 0.866 8 6 6 0 +127 0 1 0 23.0047 1.7324 9.99798 0 0 1 0.866 8 6 6 0 +128 0 1 0 23.5048 2.5986 9.99798 0 0 1 0.866 8 6 6 0 +129 0 1 0 24.0049 1.7324 9.99798 0 0 1 0.866 8 6 6 0 +130 0 1 0 24.505 2.5986 9.99798 0 0 1 0.866 8 6 6 0 +131 0 1 0 25.0051 1.7324 9.99798 0 0 1 0.866 8 6 6 0 +132 0 1 0 25.5052 2.5986 9.99798 0 0 1 0.866 8 6 6 0 +133 0 1 0 26.0053 1.7324 9.99798 0 0 1 0.866 8 6 6 0 +134 0 1 0 26.5054 2.5986 9.99798 0 0 1 0.866 8 6 6 0 +135 0 1 0 27.0055 1.7324 9.99798 0 0 1 0.866 8 6 6 0 +136 0 1 0 27.5056 2.5986 9.99798 0 0 1 0.866 8 6 6 0 +137 0 1 0 28.0057 1.7324 9.99798 0 0 1 0.866 8 6 6 0 +138 0 1 0 28.5058 2.5986 9.99798 0 0 1 0.866 8 6 6 0 +139 0 1 0 29.0059 1.7324 9.99798 0 0 1 0.866 8 6 6 0 +140 0 1 0 29.506 2.5986 9.99798 0 0 1 0.866 8 6 6 0 +141 0 1 0 30.0061 1.7324 9.99798 0 0 1 0.866 8 6 6 0 +142 0 1 0 30.5062 2.5986 9.99798 0 0 1 0.866 8 6 6 0 +143 0 1 0 31.0063 1.7324 9.99798 0 0 1 0.866 8 6 6 0 +144 0 1 0 31.5064 2.5986 9.99798 0 0 1 0.866 8 6 6 0 +145 0 1 0 32.0065 1.7324 9.99798 0 0 1 0.866 8 6 6 0 +146 0 1 0 32.5066 2.5986 9.99798 0 0 1 0.866 8 6 6 0 +147 0 1 0 33.0067 1.7324 9.99798 0 0 1 0.866 8 6 6 0 +148 0 1 0 33.5068 2.5986 9.99798 0 0 1 0.866 8 6 6 0 +149 0 1 0 34.0069 1.7324 9.99798 0 0 1 0.866 8 6 6 0 +150 0 1 0 34.507 2.5986 9.99798 0 0 1 0.866 8 6 6 0 +151 0 1 0 35.0071 1.7324 9.99798 0 0 1 0.866 8 6 6 0 +152 0 1 0 35.5072 2.5986 9.99798 0 0 1 0.866 8 6 6 0 +153 0 1 0 36.0073 1.7324 9.99798 0 0 1 0.866 8 6 6 0 +154 0 1 0 36.5074 2.5986 9.99798 0 0 1 0.866 8 6 6 0 +155 0 1 0 37.0075 1.7324 9.99798 0 0 1 0.866 8 6 6 0 +156 0 1 0 37.5076 2.5986 9.99798 0 0 1 0.866 8 6 6 0 +157 0 1 0 38.0077 1.7324 9.99798 0 0 1 0.866 8 6 6 0 +158 0 1 0 38.5078 2.5986 9.99798 0 0 1 0.866 8 6 6 0 +159 0 1 0 39.0079 1.7324 9.99798 0 0 1 0.866 8 6 6 0 +160 0 1 0 39.508 2.5986 9.99798 0 0 1 0.866 8 6 6 0 +161 0 1 0 0 3.4648 9.99798 0 0 1 0.866 8 6 6 0 +162 0 1 0 0.500101 4.331 9.99798 0 0 1 0.866 8 6 6 0 +163 0 1 0 1.0002 3.4648 9.99798 0 0 1 0.866 8 6 6 0 +164 0 1 0 1.5003 4.331 9.99798 0 0 1 0.866 8 6 6 0 +165 0 1 0 2.0004 3.4648 9.99798 0 0 1 0.866 8 6 6 0 +166 0 1 0 2.50051 4.331 9.99798 0 0 1 0.866 8 6 6 0 +167 0 1 0 3.00061 3.4648 9.99798 0 0 1 0.866 8 6 6 0 +168 0 1 0 3.50071 4.331 9.99798 0 0 1 0.866 8 6 6 0 +169 0 1 0 4.00081 3.4648 9.99798 0 0 1 0.866 8 6 6 0 +170 0 1 0 4.50091 4.331 9.99798 0 0 1 0.866 8 6 6 0 +171 0 1 0 5.00101 3.4648 9.99798 0 0 1 0.866 8 6 6 0 +172 0 1 0 5.50111 4.331 9.99798 0 0 1 0.866 8 6 6 0 +173 0 1 0 6.00121 3.4648 9.99798 0 0 1 0.866 8 6 6 0 +174 0 1 0 6.50132 4.331 9.99798 0 0 1 0.866 8 6 6 0 +175 0 1 0 7.00142 3.4648 9.99798 0 0 1 0.866 8 6 6 0 +176 0 1 0 7.50152 4.331 9.99798 0 0 1 0.866 8 6 6 0 +177 0 1 0 8.00162 3.4648 9.99798 0 0 1 0.866 8 6 6 0 +178 0 1 0 8.50172 4.331 9.99798 0 0 1 0.866 8 6 6 0 +179 0 1 0 9.00182 3.4648 9.99798 0 0 1 0.866 8 6 6 0 +180 0 1 0 9.50192 4.331 9.99798 0 0 1 0.866 8 6 6 0 +181 0 1 0 10.002 3.4648 9.99798 0 0 1 0.866 8 6 6 0 +182 0 1 0 10.5021 4.331 9.99798 0 0 1 0.866 8 6 6 0 +183 0 1 0 11.0022 3.4648 9.99798 0 0 1 0.866 8 6 6 0 +184 0 1 0 11.5023 4.331 9.99798 0 0 1 0.866 8 6 6 0 +185 0 1 0 12.0024 3.4648 9.99798 0 0 1 0.866 8 6 6 0 +186 0 1 0 12.5025 4.331 9.99798 0 0 1 0.866 8 6 6 0 +187 0 1 0 13.0026 3.4648 9.99798 0 0 1 0.866 8 6 6 0 +188 0 1 0 13.5027 4.331 9.99798 0 0 1 0.866 8 6 6 0 +189 0 1 0 14.0028 3.4648 9.99798 0 0 1 0.866 8 6 6 0 +190 0 1 0 14.5029 4.331 9.99798 0 0 1 0.866 8 6 6 0 +191 0 1 0 15.003 3.4648 9.99798 0 0 1 0.866 8 6 6 0 +192 0 1 0 15.5031 4.331 9.99798 0 0 1 0.866 8 6 6 0 +193 0 1 0 16.0032 3.4648 9.99798 0 0 1 0.866 8 6 6 0 +194 0 1 0 16.5033 4.331 9.99798 0 0 1 0.866 8 6 6 0 +195 0 1 0 17.0034 3.4648 9.99798 0 0 1 0.866 8 6 6 0 +196 0 1 0 17.5035 4.331 9.99798 0 0 1 0.866 8 6 6 0 +197 0 1 0 18.0036 3.4648 9.99798 0 0 1 0.866 8 6 6 0 +198 0 1 0 18.5037 4.331 9.99798 0 0 1 0.866 8 6 6 0 +199 0 1 0 19.0038 3.4648 9.99798 0 0 1 0.866 8 6 6 0 +200 0 1 0 19.5039 4.331 9.99798 0 0 1 0.866 8 6 6 0 +201 0 1 0 20.004 3.4648 9.99798 0 0 1 0.866 8 6 6 0 +202 0 1 0 20.5041 4.331 9.99798 0 0 1 0.866 8 6 6 0 +203 0 1 0 21.0042 3.4648 9.99798 0 0 1 0.866 8 6 6 0 +204 0 1 0 21.5043 4.331 9.99798 0 0 1 0.866 8 6 6 0 +205 0 1 0 22.0045 3.4648 9.99798 0 0 1 0.866 8 6 6 0 +206 0 1 0 22.5046 4.331 9.99798 0 0 1 0.866 8 6 6 0 +207 0 1 0 23.0047 3.4648 9.99798 0 0 1 0.866 8 6 6 0 +208 0 1 0 23.5048 4.331 9.99798 0 0 1 0.866 8 6 6 0 +209 0 1 0 24.0049 3.4648 9.99798 0 0 1 0.866 8 6 6 0 +210 0 1 0 24.505 4.331 9.99798 0 0 1 0.866 8 6 6 0 +211 0 1 0 25.0051 3.4648 9.99798 0 0 1 0.866 8 6 6 0 +212 0 1 0 25.5052 4.331 9.99798 0 0 1 0.866 8 6 6 0 +213 0 1 0 26.0053 3.4648 9.99798 0 0 1 0.866 8 6 6 0 +214 0 1 0 26.5054 4.331 9.99798 0 0 1 0.866 8 6 6 0 +215 0 1 0 27.0055 3.4648 9.99798 0 0 1 0.866 8 6 6 0 +216 0 1 0 27.5056 4.331 9.99798 0 0 1 0.866 8 6 6 0 +217 0 1 0 28.0057 3.4648 9.99798 0 0 1 0.866 8 6 6 0 +218 0 1 0 28.5058 4.331 9.99798 0 0 1 0.866 8 6 6 0 +219 0 1 0 29.0059 3.4648 9.99798 0 0 1 0.866 8 6 6 0 +220 0 1 0 29.506 4.331 9.99798 0 0 1 0.866 8 6 6 0 +221 0 1 0 30.0061 3.4648 9.99798 0 0 1 0.866 8 6 6 0 +222 0 1 0 30.5062 4.331 9.99798 0 0 1 0.866 8 6 6 0 +223 0 1 0 31.0063 3.4648 9.99798 0 0 1 0.866 8 6 6 0 +224 0 1 0 31.5064 4.331 9.99798 0 0 1 0.866 8 6 6 0 +225 0 1 0 32.0065 3.4648 9.99798 0 0 1 0.866 8 6 6 0 +226 0 1 0 32.5066 4.331 9.99798 0 0 1 0.866 8 6 6 0 +227 0 1 0 33.0067 3.4648 9.99798 0 0 1 0.866 8 6 6 0 +228 0 1 0 33.5068 4.331 9.99798 0 0 1 0.866 8 6 6 0 +229 0 1 0 34.0069 3.4648 9.99798 0 0 1 0.866 8 6 6 0 +230 0 1 0 34.507 4.331 9.99798 0 0 1 0.866 8 6 6 0 +231 0 1 0 35.0071 3.4648 9.99798 0 0 1 0.866 8 6 6 0 +232 0 1 0 35.5072 4.331 9.99798 0 0 1 0.866 8 6 6 0 +233 0 1 0 36.0073 3.4648 9.99798 0 0 1 0.866 8 6 6 0 +234 0 1 0 36.5074 4.331 9.99798 0 0 1 0.866 8 6 6 0 +235 0 1 0 37.0075 3.4648 9.99798 0 0 1 0.866 8 6 6 0 +236 0 1 0 37.5076 4.331 9.99798 0 0 1 0.866 8 6 6 0 +237 0 1 0 38.0077 3.4648 9.99798 0 0 1 0.866 8 6 6 0 +238 0 1 0 38.5078 4.331 9.99798 0 0 1 0.866 8 6 6 0 +239 0 1 0 39.0079 3.4648 9.99798 0 0 1 0.866 8 6 6 0 +240 0 1 0 39.508 4.331 9.99798 0 0 1 0.866 8 6 6 0 +241 0 1 0 0 5.1972 9.99798 0 0 1 0.866 8 6 6 0 +242 0 1 0 0.500101 6.0634 9.99798 0 0 1 0.866 8 6 6 0 +243 0 1 0 1.0002 5.1972 9.99798 0 0 1 0.866 8 6 6 0 +244 0 1 0 1.5003 6.0634 9.99798 0 0 1 0.866 8 6 6 0 +245 0 1 0 2.0004 5.1972 9.99798 0 0 1 0.866 8 6 6 0 +246 0 1 0 2.50051 6.0634 9.99798 0 0 1 0.866 8 6 6 0 +247 0 1 0 3.00061 5.1972 9.99798 0 0 1 0.866 8 6 6 0 +248 0 1 0 3.50071 6.0634 9.99798 0 0 1 0.866 8 6 6 0 +249 0 1 0 4.00081 5.1972 9.99798 0 0 1 0.866 8 6 6 0 +250 0 1 0 4.50091 6.0634 9.99798 0 0 1 0.866 8 6 6 0 +251 0 1 0 5.00101 5.1972 9.99798 0 0 1 0.866 8 6 6 0 +252 0 1 0 5.50111 6.0634 9.99798 0 0 1 0.866 8 6 6 0 +253 0 1 0 6.00121 5.1972 9.99798 0 0 1 0.866 8 6 6 0 +254 0 1 0 6.50132 6.0634 9.99798 0 0 1 0.866 8 6 6 0 +255 0 1 0 7.00142 5.1972 9.99798 0 0 1 0.866 8 6 6 0 +256 0 1 0 7.50152 6.0634 9.99798 0 0 1 0.866 8 6 6 0 +257 0 1 0 8.00162 5.1972 9.99798 0 0 1 0.866 8 6 6 0 +258 0 1 0 8.50172 6.0634 9.99798 0 0 1 0.866 8 6 6 0 +259 0 1 0 9.00182 5.1972 9.99798 0 0 1 0.866 8 6 6 0 +260 0 1 0 9.50192 6.0634 9.99798 0 0 1 0.866 8 6 6 0 +261 0 1 0 10.002 5.1972 9.99798 0 0 1 0.866 8 6 6 0 +262 0 1 0 10.5021 6.0634 9.99798 0 0 1 0.866 8 6 6 0 +263 0 1 0 11.0022 5.1972 9.99798 0 0 1 0.866 8 6 6 0 +264 0 1 0 11.5023 6.0634 9.99798 0 0 1 0.866 8 6 6 0 +265 0 1 0 12.0024 5.1972 9.99798 0 0 1 0.866 8 6 6 0 +266 0 1 0 12.5025 6.0634 9.99798 0 0 1 0.866 8 6 6 0 +267 0 1 0 13.0026 5.1972 9.99798 0 0 1 0.866 8 6 6 0 +268 0 1 0 13.5027 6.0634 9.99798 0 0 1 0.866 8 6 6 0 +269 0 1 0 14.0028 5.1972 9.99798 0 0 1 0.866 8 6 6 0 +270 0 1 0 14.5029 6.0634 9.99798 0 0 1 0.866 8 6 6 0 +271 0 1 0 15.003 5.1972 9.99798 0 0 1 0.866 8 6 6 0 +272 0 1 0 15.5031 6.0634 9.99798 0 0 1 0.866 8 6 6 0 +273 0 1 0 16.0032 5.1972 9.99798 0 0 1 0.866 8 6 6 0 +274 0 1 0 16.5033 6.0634 9.99798 0 0 1 0.866 8 6 6 0 +275 0 1 0 17.0034 5.1972 9.99798 0 0 1 0.866 8 6 6 0 +276 0 1 0 17.5035 6.0634 9.99798 0 0 1 0.866 8 6 6 0 +277 0 1 0 18.0036 5.1972 9.99798 0 0 1 0.866 8 6 6 0 +278 0 1 0 18.5037 6.0634 9.99798 0 0 1 0.866 8 6 6 0 +279 0 1 0 19.0038 5.1972 9.99798 0 0 1 0.866 8 6 6 0 +280 0 1 0 19.5039 6.0634 9.99798 0 0 1 0.866 8 6 6 0 +281 0 1 0 20.004 5.1972 9.99798 0 0 1 0.866 8 6 6 0 +282 0 1 0 20.5041 6.0634 9.99798 0 0 1 0.866 8 6 6 0 +283 0 1 0 21.0042 5.1972 9.99798 0 0 1 0.866 8 6 6 0 +284 0 1 0 21.5043 6.0634 9.99798 0 0 1 0.866 8 6 6 0 +285 0 1 0 22.0045 5.1972 9.99798 0 0 1 0.866 8 6 6 0 +286 0 1 0 22.5046 6.0634 9.99798 0 0 1 0.866 8 6 6 0 +287 0 1 0 23.0047 5.1972 9.99798 0 0 1 0.866 8 6 6 0 +288 0 1 0 23.5048 6.0634 9.99798 0 0 1 0.866 8 6 6 0 +289 0 1 0 24.0049 5.1972 9.99798 0 0 1 0.866 8 6 6 0 +290 0 1 0 24.505 6.0634 9.99798 0 0 1 0.866 8 6 6 0 +291 0 1 0 25.0051 5.1972 9.99798 0 0 1 0.866 8 6 6 0 +292 0 1 0 25.5052 6.0634 9.99798 0 0 1 0.866 8 6 6 0 +293 0 1 0 26.0053 5.1972 9.99798 0 0 1 0.866 8 6 6 0 +294 0 1 0 26.5054 6.0634 9.99798 0 0 1 0.866 8 6 6 0 +295 0 1 0 27.0055 5.1972 9.99798 0 0 1 0.866 8 6 6 0 +296 0 1 0 27.5056 6.0634 9.99798 0 0 1 0.866 8 6 6 0 +297 0 1 0 28.0057 5.1972 9.99798 0 0 1 0.866 8 6 6 0 +298 0 1 0 28.5058 6.0634 9.99798 0 0 1 0.866 8 6 6 0 +299 0 1 0 29.0059 5.1972 9.99798 0 0 1 0.866 8 6 6 0 +300 0 1 0 29.506 6.0634 9.99798 0 0 1 0.866 8 6 6 0 +301 0 1 0 30.0061 5.1972 9.99798 0 0 1 0.866 8 6 6 0 +302 0 1 0 30.5062 6.0634 9.99798 0 0 1 0.866 8 6 6 0 +303 0 1 0 31.0063 5.1972 9.99798 0 0 1 0.866 8 6 6 0 +304 0 1 0 31.5064 6.0634 9.99798 0 0 1 0.866 8 6 6 0 +305 0 1 0 32.0065 5.1972 9.99798 0 0 1 0.866 8 6 6 0 +306 0 1 0 32.5066 6.0634 9.99798 0 0 1 0.866 8 6 6 0 +307 0 1 0 33.0067 5.1972 9.99798 0 0 1 0.866 8 6 6 0 +308 0 1 0 33.5068 6.0634 9.99798 0 0 1 0.866 8 6 6 0 +309 0 1 0 34.0069 5.1972 9.99798 0 0 1 0.866 8 6 6 0 +310 0 1 0 34.507 6.0634 9.99798 0 0 1 0.866 8 6 6 0 +311 0 1 0 35.0071 5.1972 9.99798 0 0 1 0.866 8 6 6 0 +312 0 1 0 35.5072 6.0634 9.99798 0 0 1 0.866 8 6 6 0 +313 0 1 0 36.0073 5.1972 9.99798 0 0 1 0.866 8 6 6 0 +314 0 1 0 36.5074 6.0634 9.99798 0 0 1 0.866 8 6 6 0 +315 0 1 0 37.0075 5.1972 9.99798 0 0 1 0.866 8 6 6 0 +316 0 1 0 37.5076 6.0634 9.99798 0 0 1 0.866 8 6 6 0 +317 0 1 0 38.0077 5.1972 9.99798 0 0 1 0.866 8 6 6 0 +318 0 1 0 38.5078 6.0634 9.99798 0 0 1 0.866 8 6 6 0 +319 0 1 0 39.0079 5.1972 9.99798 0 0 1 0.866 8 6 6 0 +320 0 1 0 39.508 6.0634 9.99798 0 0 1 0.866 8 6 6 0 +321 0 1 0 0 6.9296 9.99798 0 0 1 0.866 8 6 6 0 +322 0 1 0 0.500101 7.79581 9.99798 0 0 1 0.866 8 6 6 0 +323 0 1 0 1.0002 6.9296 9.99798 0 0 1 0.866 8 6 6 0 +324 0 1 0 1.5003 7.79581 9.99798 0 0 1 0.866 8 6 6 0 +325 0 1 0 2.0004 6.9296 9.99798 0 0 1 0.866 8 6 6 0 +326 0 1 0 2.50051 7.79581 9.99798 0 0 1 0.866 8 6 6 0 +327 0 1 0 3.00061 6.9296 9.99798 0 0 1 0.866 8 6 6 0 +328 0 1 0 3.50071 7.79581 9.99798 0 0 1 0.866 8 6 6 0 +329 0 1 0 4.00081 6.9296 9.99798 0 0 1 0.866 8 6 6 0 +330 0 1 0 4.50091 7.79581 9.99798 0 0 1 0.866 8 6 6 0 +331 0 1 0 5.00101 6.9296 9.99798 0 0 1 0.866 8 6 6 0 +332 0 1 0 5.50111 7.79581 9.99798 0 0 1 0.866 8 6 6 0 +333 0 1 0 6.00121 6.9296 9.99798 0 0 1 0.866 8 6 6 0 +334 0 1 0 6.50132 7.79581 9.99798 0 0 1 0.866 8 6 6 0 +335 0 1 0 7.00142 6.9296 9.99798 0 0 1 0.866 8 6 6 0 +336 0 1 0 7.50152 7.79581 9.99798 0 0 1 0.866 8 6 6 0 +337 0 1 0 8.00162 6.9296 9.99798 0 0 1 0.866 8 6 6 0 +338 0 1 0 8.50172 7.79581 9.99798 0 0 1 0.866 8 6 6 0 +339 0 1 0 9.00182 6.9296 9.99798 0 0 1 0.866 8 6 6 0 +340 0 1 0 9.50192 7.79581 9.99798 0 0 1 0.866 8 6 6 0 +341 0 1 0 10.002 6.9296 9.99798 0 0 1 0.866 8 6 6 0 +342 0 1 0 10.5021 7.79581 9.99798 0 0 1 0.866 8 6 6 0 +343 0 1 0 11.0022 6.9296 9.99798 0 0 1 0.866 8 6 6 0 +344 0 1 0 11.5023 7.79581 9.99798 0 0 1 0.866 8 6 6 0 +345 0 1 0 12.0024 6.9296 9.99798 0 0 1 0.866 8 6 6 0 +346 0 1 0 12.5025 7.79581 9.99798 0 0 1 0.866 8 6 6 0 +347 0 1 0 13.0026 6.9296 9.99798 0 0 1 0.866 8 6 6 0 +348 0 1 0 13.5027 7.79581 9.99798 0 0 1 0.866 8 6 6 0 +349 0 1 0 14.0028 6.9296 9.99798 0 0 1 0.866 8 6 6 0 +350 0 1 0 14.5029 7.79581 9.99798 0 0 1 0.866 8 6 6 0 +351 0 1 0 15.003 6.9296 9.99798 0 0 1 0.866 8 6 6 0 +352 0 1 0 15.5031 7.79581 9.99798 0 0 1 0.866 8 6 6 0 +353 0 1 0 16.0032 6.9296 9.99798 0 0 1 0.866 8 6 6 0 +354 0 1 0 16.5033 7.79581 9.99798 0 0 1 0.866 8 6 6 0 +355 0 1 0 17.0034 6.9296 9.99798 0 0 1 0.866 8 6 6 0 +356 0 1 0 17.5035 7.79581 9.99798 0 0 1 0.866 8 6 6 0 +357 0 1 0 18.0036 6.9296 9.99798 0 0 1 0.866 8 6 6 0 +358 0 1 0 18.5037 7.79581 9.99798 0 0 1 0.866 8 6 6 0 +359 0 1 0 19.0038 6.9296 9.99798 0 0 1 0.866 8 6 6 0 +360 0 1 0 19.5039 7.79581 9.99798 0 0 1 0.866 8 6 6 0 +361 0 1 0 20.004 6.9296 9.99798 0 0 1 0.866 8 6 6 0 +362 0 1 0 20.5041 7.79581 9.99798 0 0 1 0.866 8 6 6 0 +363 0 1 0 21.0042 6.9296 9.99798 0 0 1 0.866 8 6 6 0 +364 0 1 0 21.5043 7.79581 9.99798 0 0 1 0.866 8 6 6 0 +365 0 1 0 22.0045 6.9296 9.99798 0 0 1 0.866 8 6 6 0 +366 0 1 0 22.5046 7.79581 9.99798 0 0 1 0.866 8 6 6 0 +367 0 1 0 23.0047 6.9296 9.99798 0 0 1 0.866 8 6 6 0 +368 0 1 0 23.5048 7.79581 9.99798 0 0 1 0.866 8 6 6 0 +369 0 1 0 24.0049 6.9296 9.99798 0 0 1 0.866 8 6 6 0 +370 0 1 0 24.505 7.79581 9.99798 0 0 1 0.866 8 6 6 0 +371 0 1 0 25.0051 6.9296 9.99798 0 0 1 0.866 8 6 6 0 +372 0 1 0 25.5052 7.79581 9.99798 0 0 1 0.866 8 6 6 0 +373 0 1 0 26.0053 6.9296 9.99798 0 0 1 0.866 8 6 6 0 +374 0 1 0 26.5054 7.79581 9.99798 0 0 1 0.866 8 6 6 0 +375 0 1 0 27.0055 6.9296 9.99798 0 0 1 0.866 8 6 6 0 +376 0 1 0 27.5056 7.79581 9.99798 0 0 1 0.866 8 6 6 0 +377 0 1 0 28.0057 6.9296 9.99798 0 0 1 0.866 8 6 6 0 +378 0 1 0 28.5058 7.79581 9.99798 0 0 1 0.866 8 6 6 0 +379 0 1 0 29.0059 6.9296 9.99798 0 0 1 0.866 8 6 6 0 +380 0 1 0 29.506 7.79581 9.99798 0 0 1 0.866 8 6 6 0 +381 0 1 0 30.0061 6.9296 9.99798 0 0 1 0.866 8 6 6 0 +382 0 1 0 30.5062 7.79581 9.99798 0 0 1 0.866 8 6 6 0 +383 0 1 0 31.0063 6.9296 9.99798 0 0 1 0.866 8 6 6 0 +384 0 1 0 31.5064 7.79581 9.99798 0 0 1 0.866 8 6 6 0 +385 0 1 0 32.0065 6.9296 9.99798 0 0 1 0.866 8 6 6 0 +386 0 1 0 32.5066 7.79581 9.99798 0 0 1 0.866 8 6 6 0 +387 0 1 0 33.0067 6.9296 9.99798 0 0 1 0.866 8 6 6 0 +388 0 1 0 33.5068 7.79581 9.99798 0 0 1 0.866 8 6 6 0 +389 0 1 0 34.0069 6.9296 9.99798 0 0 1 0.866 8 6 6 0 +390 0 1 0 34.507 7.79581 9.99798 0 0 1 0.866 8 6 6 0 +391 0 1 0 35.0071 6.9296 9.99798 0 0 1 0.866 8 6 6 0 +392 0 1 0 35.5072 7.79581 9.99798 0 0 1 0.866 8 6 6 0 +393 0 1 0 36.0073 6.9296 9.99798 0 0 1 0.866 8 6 6 0 +394 0 1 0 36.5074 7.79581 9.99798 0 0 1 0.866 8 6 6 0 +395 0 1 0 37.0075 6.9296 9.99798 0 0 1 0.866 8 6 6 0 +396 0 1 0 37.5076 7.79581 9.99798 0 0 1 0.866 8 6 6 0 +397 0 1 0 38.0077 6.9296 9.99798 0 0 1 0.866 8 6 6 0 +398 0 1 0 38.5078 7.79581 9.99798 0 0 1 0.866 8 6 6 0 +399 0 1 0 39.0079 6.9296 9.99798 0 0 1 0.866 8 6 6 0 +400 0 1 0 39.508 7.79581 9.99798 0 0 1 0.866 8 6 6 0 +401 0 1 0 0 8.66201 9.99798 0 0 1 0.866 8 6 6 0 +402 0 1 0 0.500101 9.52821 9.99798 0 0 1 0.866 8 6 6 0 +403 0 1 0 1.0002 8.66201 9.99798 0 0 1 0.866 8 6 6 0 +404 0 1 0 1.5003 9.52821 9.99798 0 0 1 0.866 8 6 6 0 +405 0 1 0 2.0004 8.66201 9.99798 0 0 1 0.866 8 6 6 0 +406 0 1 0 2.50051 9.52821 9.99798 0 0 1 0.866 8 6 6 0 +407 0 1 0 3.00061 8.66201 9.99798 0 0 1 0.866 8 6 6 0 +408 0 1 0 3.50071 9.52821 9.99798 0 0 1 0.866 8 6 6 0 +409 0 1 0 4.00081 8.66201 9.99798 0 0 1 0.866 8 6 6 0 +410 0 1 0 4.50091 9.52821 9.99798 0 0 1 0.866 8 6 6 0 +411 0 1 0 5.00101 8.66201 9.99798 0 0 1 0.866 8 6 6 0 +412 0 1 0 5.50111 9.52821 9.99798 0 0 1 0.866 8 6 6 0 +413 0 1 0 6.00121 8.66201 9.99798 0 0 1 0.866 8 6 6 0 +414 0 1 0 6.50132 9.52821 9.99798 0 0 1 0.866 8 6 6 0 +415 0 1 0 7.00142 8.66201 9.99798 0 0 1 0.866 8 6 6 0 +416 0 1 0 7.50152 9.52821 9.99798 0 0 1 0.866 8 6 6 0 +417 0 1 0 8.00162 8.66201 9.99798 0 0 1 0.866 8 6 6 0 +418 0 1 0 8.50172 9.52821 9.99798 0 0 1 0.866 8 6 6 0 +419 0 1 0 9.00182 8.66201 9.99798 0 0 1 0.866 8 6 6 0 +420 0 1 0 9.50192 9.52821 9.99798 0 0 1 0.866 8 6 6 0 +421 0 1 0 10.002 8.66201 9.99798 0 0 1 0.866 8 6 6 0 +422 0 1 0 10.5021 9.52821 9.99798 0 0 1 0.866 8 6 6 0 +423 0 1 0 11.0022 8.66201 9.99798 0 0 1 0.866 8 6 6 0 +424 0 1 0 11.5023 9.52821 9.99798 0 0 1 0.866 8 6 6 0 +425 0 1 0 12.0024 8.66201 9.99798 0 0 1 0.866 8 6 6 0 +426 0 1 0 12.5025 9.52821 9.99798 0 0 1 0.866 8 6 6 0 +427 0 1 0 13.0026 8.66201 9.99798 0 0 1 0.866 8 6 6 0 +428 0 1 0 13.5027 9.52821 9.99798 0 0 1 0.866 8 6 6 0 +429 0 1 0 14.0028 8.66201 9.99798 0 0 1 0.866 8 6 6 0 +430 0 1 0 14.5029 9.52821 9.99798 0 0 1 0.866 8 6 6 0 +431 0 1 0 15.003 8.66201 9.99798 0 0 1 0.866 8 6 6 0 +432 0 1 0 15.5031 9.52821 9.99798 0 0 1 0.866 8 6 6 0 +433 0 1 0 16.0032 8.66201 9.99798 0 0 1 0.866 8 6 6 0 +434 0 1 0 16.5033 9.52821 9.99798 0 0 1 0.866 8 6 6 0 +435 0 1 0 17.0034 8.66201 9.99798 0 0 1 0.866 8 6 6 0 +436 0 1 0 17.5035 9.52821 9.99798 0 0 1 0.866 8 6 6 0 +437 0 1 0 18.0036 8.66201 9.99798 0 0 1 0.866 8 6 6 0 +438 0 1 0 18.5037 9.52821 9.99798 0 0 1 0.866 8 6 6 0 +439 0 1 0 19.0038 8.66201 9.99798 0 0 1 0.866 8 6 6 0 +440 0 1 0 19.5039 9.52821 9.99798 0 0 1 0.866 8 6 6 0 +441 0 1 0 20.004 8.66201 9.99798 0 0 1 0.866 8 6 6 0 +442 0 1 0 20.5041 9.52821 9.99798 0 0 1 0.866 8 6 6 0 +443 0 1 0 21.0042 8.66201 9.99798 0 0 1 0.866 8 6 6 0 +444 0 1 0 21.5043 9.52821 9.99798 0 0 1 0.866 8 6 6 0 +445 0 1 0 22.0045 8.66201 9.99798 0 0 1 0.866 8 6 6 0 +446 0 1 0 22.5046 9.52821 9.99798 0 0 1 0.866 8 6 6 0 +447 0 1 0 23.0047 8.66201 9.99798 0 0 1 0.866 8 6 6 0 +448 0 1 0 23.5048 9.52821 9.99798 0 0 1 0.866 8 6 6 0 +449 0 1 0 24.0049 8.66201 9.99798 0 0 1 0.866 8 6 6 0 +450 0 1 0 24.505 9.52821 9.99798 0 0 1 0.866 8 6 6 0 +451 0 1 0 25.0051 8.66201 9.99798 0 0 1 0.866 8 6 6 0 +452 0 1 0 25.5052 9.52821 9.99798 0 0 1 0.866 8 6 6 0 +453 0 1 0 26.0053 8.66201 9.99798 0 0 1 0.866 8 6 6 0 +454 0 1 0 26.5054 9.52821 9.99798 0 0 1 0.866 8 6 6 0 +455 0 1 0 27.0055 8.66201 9.99798 0 0 1 0.866 8 6 6 0 +456 0 1 0 27.5056 9.52821 9.99798 0 0 1 0.866 8 6 6 0 +457 0 1 0 28.0057 8.66201 9.99798 0 0 1 0.866 8 6 6 0 +458 0 1 0 28.5058 9.52821 9.99798 0 0 1 0.866 8 6 6 0 +459 0 1 0 29.0059 8.66201 9.99798 0 0 1 0.866 8 6 6 0 +460 0 1 0 29.506 9.52821 9.99798 0 0 1 0.866 8 6 6 0 +461 0 1 0 30.0061 8.66201 9.99798 0 0 1 0.866 8 6 6 0 +462 0 1 0 30.5062 9.52821 9.99798 0 0 1 0.866 8 6 6 0 +463 0 1 0 31.0063 8.66201 9.99798 0 0 1 0.866 8 6 6 0 +464 0 1 0 31.5064 9.52821 9.99798 0 0 1 0.866 8 6 6 0 +465 0 1 0 32.0065 8.66201 9.99798 0 0 1 0.866 8 6 6 0 +466 0 1 0 32.5066 9.52821 9.99798 0 0 1 0.866 8 6 6 0 +467 0 1 0 33.0067 8.66201 9.99798 0 0 1 0.866 8 6 6 0 +468 0 1 0 33.5068 9.52821 9.99798 0 0 1 0.866 8 6 6 0 +469 0 1 0 34.0069 8.66201 9.99798 0 0 1 0.866 8 6 6 0 +470 0 1 0 34.507 9.52821 9.99798 0 0 1 0.866 8 6 6 0 +471 0 1 0 35.0071 8.66201 9.99798 0 0 1 0.866 8 6 6 0 +472 0 1 0 35.5072 9.52821 9.99798 0 0 1 0.866 8 6 6 0 +473 0 1 0 36.0073 8.66201 9.99798 0 0 1 0.866 8 6 6 0 +474 0 1 0 36.5074 9.52821 9.99798 0 0 1 0.866 8 6 6 0 +475 0 1 0 37.0075 8.66201 9.99798 0 0 1 0.866 8 6 6 0 +476 0 1 0 37.5076 9.52821 9.99798 0 0 1 0.866 8 6 6 0 +477 0 1 0 38.0077 8.66201 9.99798 0 0 1 0.866 8 6 6 0 +478 0 1 0 38.5078 9.52821 9.99798 0 0 1 0.866 8 6 6 0 +479 0 1 0 39.0079 8.66201 9.99798 0 0 1 0.866 8 6 6 0 +480 0 1 0 39.508 9.52821 9.99798 0 0 1 0.866 8 6 6 0 +481 0 1 0 0 10.3944 9.99798 0 0 1 0.866 8 6 6 0 +482 0 1 0 0.500101 11.2606 9.99798 0 0 1 0.866 8 6 6 0 +483 0 1 0 1.0002 10.3944 9.99798 0 0 1 0.866 8 6 6 0 +484 0 1 0 1.5003 11.2606 9.99798 0 0 1 0.866 8 6 6 0 +485 0 1 0 2.0004 10.3944 9.99798 0 0 1 0.866 8 6 6 0 +486 0 1 0 2.50051 11.2606 9.99798 0 0 1 0.866 8 6 6 0 +487 0 1 0 3.00061 10.3944 9.99798 0 0 1 0.866 8 6 6 0 +488 0 1 0 3.50071 11.2606 9.99798 0 0 1 0.866 8 6 6 0 +489 0 1 0 4.00081 10.3944 9.99798 0 0 1 0.866 8 6 6 0 +490 0 1 0 4.50091 11.2606 9.99798 0 0 1 0.866 8 6 6 0 +491 0 1 0 5.00101 10.3944 9.99798 0 0 1 0.866 8 6 6 0 +492 0 1 0 5.50111 11.2606 9.99798 0 0 1 0.866 8 6 6 0 +493 0 1 0 6.00121 10.3944 9.99798 0 0 1 0.866 8 6 6 0 +494 0 1 0 6.50132 11.2606 9.99798 0 0 1 0.866 8 6 6 0 +495 0 1 0 7.00142 10.3944 9.99798 0 0 1 0.866 8 6 6 0 +496 0 1 0 7.50152 11.2606 9.99798 0 0 1 0.866 8 6 6 0 +497 0 1 0 8.00162 10.3944 9.99798 0 0 1 0.866 8 6 6 0 +498 0 1 0 8.50172 11.2606 9.99798 0 0 1 0.866 8 6 6 0 +499 0 1 0 9.00182 10.3944 9.99798 0 0 1 0.866 8 6 6 0 +500 0 1 0 9.50192 11.2606 9.99798 0 0 1 0.866 8 6 6 0 +501 0 1 0 10.002 10.3944 9.99798 0 0 1 0.866 8 6 6 0 +502 0 1 0 10.5021 11.2606 9.99798 0 0 1 0.866 8 6 6 0 +503 0 1 0 11.0022 10.3944 9.99798 0 0 1 0.866 8 6 6 0 +504 0 1 0 11.5023 11.2606 9.99798 0 0 1 0.866 8 6 6 0 +505 0 1 0 12.0024 10.3944 9.99798 0 0 1 0.866 8 6 6 0 +506 0 1 0 12.5025 11.2606 9.99798 0 0 1 0.866 8 6 6 0 +507 0 1 0 13.0026 10.3944 9.99798 0 0 1 0.866 8 6 6 0 +508 0 1 0 13.5027 11.2606 9.99798 0 0 1 0.866 8 6 6 0 +509 0 1 0 14.0028 10.3944 9.99798 0 0 1 0.866 8 6 6 0 +510 0 1 0 14.5029 11.2606 9.99798 0 0 1 0.866 8 6 6 0 +511 0 1 0 15.003 10.3944 9.99798 0 0 1 0.866 8 6 6 0 +512 0 1 0 15.5031 11.2606 9.99798 0 0 1 0.866 8 6 6 0 +513 0 1 0 16.0032 10.3944 9.99798 0 0 1 0.866 8 6 6 0 +514 0 1 0 16.5033 11.2606 9.99798 0 0 1 0.866 8 6 6 0 +515 0 1 0 17.0034 10.3944 9.99798 0 0 1 0.866 8 6 6 0 +516 0 1 0 17.5035 11.2606 9.99798 0 0 1 0.866 8 6 6 0 +517 0 1 0 18.0036 10.3944 9.99798 0 0 1 0.866 8 6 6 0 +518 0 1 0 18.5037 11.2606 9.99798 0 0 1 0.866 8 6 6 0 +519 0 1 0 19.0038 10.3944 9.99798 0 0 1 0.866 8 6 6 0 +520 0 1 0 19.5039 11.2606 9.99798 0 0 1 0.866 8 6 6 0 +521 0 1 0 20.004 10.3944 9.99798 0 0 1 0.866 8 6 6 0 +522 0 1 0 20.5041 11.2606 9.99798 0 0 1 0.866 8 6 6 0 +523 0 1 0 21.0042 10.3944 9.99798 0 0 1 0.866 8 6 6 0 +524 0 1 0 21.5043 11.2606 9.99798 0 0 1 0.866 8 6 6 0 +525 0 1 0 22.0045 10.3944 9.99798 0 0 1 0.866 8 6 6 0 +526 0 1 0 22.5046 11.2606 9.99798 0 0 1 0.866 8 6 6 0 +527 0 1 0 23.0047 10.3944 9.99798 0 0 1 0.866 8 6 6 0 +528 0 1 0 23.5048 11.2606 9.99798 0 0 1 0.866 8 6 6 0 +529 0 1 0 24.0049 10.3944 9.99798 0 0 1 0.866 8 6 6 0 +530 0 1 0 24.505 11.2606 9.99798 0 0 1 0.866 8 6 6 0 +531 0 1 0 25.0051 10.3944 9.99798 0 0 1 0.866 8 6 6 0 +532 0 1 0 25.5052 11.2606 9.99798 0 0 1 0.866 8 6 6 0 +533 0 1 0 26.0053 10.3944 9.99798 0 0 1 0.866 8 6 6 0 +534 0 1 0 26.5054 11.2606 9.99798 0 0 1 0.866 8 6 6 0 +535 0 1 0 27.0055 10.3944 9.99798 0 0 1 0.866 8 6 6 0 +536 0 1 0 27.5056 11.2606 9.99798 0 0 1 0.866 8 6 6 0 +537 0 1 0 28.0057 10.3944 9.99798 0 0 1 0.866 8 6 6 0 +538 0 1 0 28.5058 11.2606 9.99798 0 0 1 0.866 8 6 6 0 +539 0 1 0 29.0059 10.3944 9.99798 0 0 1 0.866 8 6 6 0 +540 0 1 0 29.506 11.2606 9.99798 0 0 1 0.866 8 6 6 0 +541 0 1 0 30.0061 10.3944 9.99798 0 0 1 0.866 8 6 6 0 +542 0 1 0 30.5062 11.2606 9.99798 0 0 1 0.866 8 6 6 0 +543 0 1 0 31.0063 10.3944 9.99798 0 0 1 0.866 8 6 6 0 +544 0 1 0 31.5064 11.2606 9.99798 0 0 1 0.866 8 6 6 0 +545 0 1 0 32.0065 10.3944 9.99798 0 0 1 0.866 8 6 6 0 +546 0 1 0 32.5066 11.2606 9.99798 0 0 1 0.866 8 6 6 0 +547 0 1 0 33.0067 10.3944 9.99798 0 0 1 0.866 8 6 6 0 +548 0 1 0 33.5068 11.2606 9.99798 0 0 1 0.866 8 6 6 0 +549 0 1 0 34.0069 10.3944 9.99798 0 0 1 0.866 8 6 6 0 +550 0 1 0 34.507 11.2606 9.99798 0 0 1 0.866 8 6 6 0 +551 0 1 0 35.0071 10.3944 9.99798 0 0 1 0.866 8 6 6 0 +552 0 1 0 35.5072 11.2606 9.99798 0 0 1 0.866 8 6 6 0 +553 0 1 0 36.0073 10.3944 9.99798 0 0 1 0.866 8 6 6 0 +554 0 1 0 36.5074 11.2606 9.99798 0 0 1 0.866 8 6 6 0 +555 0 1 0 37.0075 10.3944 9.99798 0 0 1 0.866 8 6 6 0 +556 0 1 0 37.5076 11.2606 9.99798 0 0 1 0.866 8 6 6 0 +557 0 1 0 38.0077 10.3944 9.99798 0 0 1 0.866 8 6 6 0 +558 0 1 0 38.5078 11.2606 9.99798 0 0 1 0.866 8 6 6 0 +559 0 1 0 39.0079 10.3944 9.99798 0 0 1 0.866 8 6 6 0 +560 0 1 0 39.508 11.2606 9.99798 0 0 1 0.866 8 6 6 0 +561 0 1 0 0 12.1268 9.99798 0 0 1 0.866 8 6 6 0 +562 0 1 0 0.500101 12.993 9.99798 0 0 1 0.866 8 6 6 0 +563 0 1 0 1.0002 12.1268 9.99798 0 0 1 0.866 8 6 6 0 +564 0 1 0 1.5003 12.993 9.99798 0 0 1 0.866 8 6 6 0 +565 0 1 0 2.0004 12.1268 9.99798 0 0 1 0.866 8 6 6 0 +566 0 1 0 2.50051 12.993 9.99798 0 0 1 0.866 8 6 6 0 +567 0 1 0 3.00061 12.1268 9.99798 0 0 1 0.866 8 6 6 0 +568 0 1 0 3.50071 12.993 9.99798 0 0 1 0.866 8 6 6 0 +569 0 1 0 4.00081 12.1268 9.99798 0 0 1 0.866 8 6 6 0 +570 0 1 0 4.50091 12.993 9.99798 0 0 1 0.866 8 6 6 0 +571 0 1 0 5.00101 12.1268 9.99798 0 0 1 0.866 8 6 6 0 +572 0 1 0 5.50111 12.993 9.99798 0 0 1 0.866 8 6 6 0 +573 0 1 0 6.00121 12.1268 9.99798 0 0 1 0.866 8 6 6 0 +574 0 1 0 6.50132 12.993 9.99798 0 0 1 0.866 8 6 6 0 +575 0 1 0 7.00142 12.1268 9.99798 0 0 1 0.866 8 6 6 0 +576 0 1 0 7.50152 12.993 9.99798 0 0 1 0.866 8 6 6 0 +577 0 1 0 8.00162 12.1268 9.99798 0 0 1 0.866 8 6 6 0 +578 0 1 0 8.50172 12.993 9.99798 0 0 1 0.866 8 6 6 0 +579 0 1 0 9.00182 12.1268 9.99798 0 0 1 0.866 8 6 6 0 +580 0 1 0 9.50192 12.993 9.99798 0 0 1 0.866 8 6 6 0 +581 0 1 0 10.002 12.1268 9.99798 0 0 1 0.866 8 6 6 0 +582 0 1 0 10.5021 12.993 9.99798 0 0 1 0.866 8 6 6 0 +583 0 1 0 11.0022 12.1268 9.99798 0 0 1 0.866 8 6 6 0 +584 0 1 0 11.5023 12.993 9.99798 0 0 1 0.866 8 6 6 0 +585 0 1 0 12.0024 12.1268 9.99798 0 0 1 0.866 8 6 6 0 +586 0 1 0 12.5025 12.993 9.99798 0 0 1 0.866 8 6 6 0 +587 0 1 0 13.0026 12.1268 9.99798 0 0 1 0.866 8 6 6 0 +588 0 1 0 13.5027 12.993 9.99798 0 0 1 0.866 8 6 6 0 +589 0 1 0 14.0028 12.1268 9.99798 0 0 1 0.866 8 6 6 0 +590 0 1 0 14.5029 12.993 9.99798 0 0 1 0.866 8 6 6 0 +591 0 1 0 15.003 12.1268 9.99798 0 0 1 0.866 8 6 6 0 +592 0 1 0 15.5031 12.993 9.99798 0 0 1 0.866 8 6 6 0 +593 0 1 0 16.0032 12.1268 9.99798 0 0 1 0.866 8 6 6 0 +594 0 1 0 16.5033 12.993 9.99798 0 0 1 0.866 8 6 6 0 +595 0 1 0 17.0034 12.1268 9.99798 0 0 1 0.866 8 6 6 0 +596 0 1 0 17.5035 12.993 9.99798 0 0 1 0.866 8 6 6 0 +597 0 1 0 18.0036 12.1268 9.99798 0 0 1 0.866 8 6 6 0 +598 0 1 0 18.5037 12.993 9.99798 0 0 1 0.866 8 6 6 0 +599 0 1 0 19.0038 12.1268 9.99798 0 0 1 0.866 8 6 6 0 +600 0 1 0 19.5039 12.993 9.99798 0 0 1 0.866 8 6 6 0 +601 0 1 0 20.004 12.1268 9.99798 0 0 1 0.866 8 6 6 0 +602 0 1 0 20.5041 12.993 9.99798 0 0 1 0.866 8 6 6 0 +603 0 1 0 21.0042 12.1268 9.99798 0 0 1 0.866 8 6 6 0 +604 0 1 0 21.5043 12.993 9.99798 0 0 1 0.866 8 6 6 0 +605 0 1 0 22.0045 12.1268 9.99798 0 0 1 0.866 8 6 6 0 +606 0 1 0 22.5046 12.993 9.99798 0 0 1 0.866 8 6 6 0 +607 0 1 0 23.0047 12.1268 9.99798 0 0 1 0.866 8 6 6 0 +608 0 1 0 23.5048 12.993 9.99798 0 0 1 0.866 8 6 6 0 +609 0 1 0 24.0049 12.1268 9.99798 0 0 1 0.866 8 6 6 0 +610 0 1 0 24.505 12.993 9.99798 0 0 1 0.866 8 6 6 0 +611 0 1 0 25.0051 12.1268 9.99798 0 0 1 0.866 8 6 6 0 +612 0 1 0 25.5052 12.993 9.99798 0 0 1 0.866 8 6 6 0 +613 0 1 0 26.0053 12.1268 9.99798 0 0 1 0.866 8 6 6 0 +614 0 1 0 26.5054 12.993 9.99798 0 0 1 0.866 8 6 6 0 +615 0 1 0 27.0055 12.1268 9.99798 0 0 1 0.866 8 6 6 0 +616 0 1 0 27.5056 12.993 9.99798 0 0 1 0.866 8 6 6 0 +617 0 1 0 28.0057 12.1268 9.99798 0 0 1 0.866 8 6 6 0 +618 0 1 0 28.5058 12.993 9.99798 0 0 1 0.866 8 6 6 0 +619 0 1 0 29.0059 12.1268 9.99798 0 0 1 0.866 8 6 6 0 +620 0 1 0 29.506 12.993 9.99798 0 0 1 0.866 8 6 6 0 +621 0 1 0 30.0061 12.1268 9.99798 0 0 1 0.866 8 6 6 0 +622 0 1 0 30.5062 12.993 9.99798 0 0 1 0.866 8 6 6 0 +623 0 1 0 31.0063 12.1268 9.99798 0 0 1 0.866 8 6 6 0 +624 0 1 0 31.5064 12.993 9.99798 0 0 1 0.866 8 6 6 0 +625 0 1 0 32.0065 12.1268 9.99798 0 0 1 0.866 8 6 6 0 +626 0 1 0 32.5066 12.993 9.99798 0 0 1 0.866 8 6 6 0 +627 0 1 0 33.0067 12.1268 9.99798 0 0 1 0.866 8 6 6 0 +628 0 1 0 33.5068 12.993 9.99798 0 0 1 0.866 8 6 6 0 +629 0 1 0 34.0069 12.1268 9.99798 0 0 1 0.866 8 6 6 0 +630 0 1 0 34.507 12.993 9.99798 0 0 1 0.866 8 6 6 0 +631 0 1 0 35.0071 12.1268 9.99798 0 0 1 0.866 8 6 6 0 +632 0 1 0 35.5072 12.993 9.99798 0 0 1 0.866 8 6 6 0 +633 0 1 0 36.0073 12.1268 9.99798 0 0 1 0.866 8 6 6 0 +634 0 1 0 36.5074 12.993 9.99798 0 0 1 0.866 8 6 6 0 +635 0 1 0 37.0075 12.1268 9.99798 0 0 1 0.866 8 6 6 0 +636 0 1 0 37.5076 12.993 9.99798 0 0 1 0.866 8 6 6 0 +637 0 1 0 38.0077 12.1268 9.99798 0 0 1 0.866 8 6 6 0 +638 0 1 0 38.5078 12.993 9.99798 0 0 1 0.866 8 6 6 0 +639 0 1 0 39.0079 12.1268 9.99798 0 0 1 0.866 8 6 6 0 +640 0 1 0 39.508 12.993 9.99798 0 0 1 0.866 8 6 6 0 +641 0 1 0 0 13.8592 9.99798 0 0 1 0.866 8 6 6 0 +642 0 1 0 0.500101 14.7254 9.99798 0 0 1 0.866 8 6 6 0 +643 0 1 0 1.0002 13.8592 9.99798 0 0 1 0.866 8 6 6 0 +644 0 1 0 1.5003 14.7254 9.99798 0 0 1 0.866 8 6 6 0 +645 0 1 0 2.0004 13.8592 9.99798 0 0 1 0.866 8 6 6 0 +646 0 1 0 2.50051 14.7254 9.99798 0 0 1 0.866 8 6 6 0 +647 0 1 0 3.00061 13.8592 9.99798 0 0 1 0.866 8 6 6 0 +648 0 1 0 3.50071 14.7254 9.99798 0 0 1 0.866 8 6 6 0 +649 0 1 0 4.00081 13.8592 9.99798 0 0 1 0.866 8 6 6 0 +650 0 1 0 4.50091 14.7254 9.99798 0 0 1 0.866 8 6 6 0 +651 0 1 0 5.00101 13.8592 9.99798 0 0 1 0.866 8 6 6 0 +652 0 1 0 5.50111 14.7254 9.99798 0 0 1 0.866 8 6 6 0 +653 0 1 0 6.00121 13.8592 9.99798 0 0 1 0.866 8 6 6 0 +654 0 1 0 6.50132 14.7254 9.99798 0 0 1 0.866 8 6 6 0 +655 0 1 0 7.00142 13.8592 9.99798 0 0 1 0.866 8 6 6 0 +656 0 1 0 7.50152 14.7254 9.99798 0 0 1 0.866 8 6 6 0 +657 0 1 0 8.00162 13.8592 9.99798 0 0 1 0.866 8 6 6 0 +658 0 1 0 8.50172 14.7254 9.99798 0 0 1 0.866 8 6 6 0 +659 0 1 0 9.00182 13.8592 9.99798 0 0 1 0.866 8 6 6 0 +660 0 1 0 9.50192 14.7254 9.99798 0 0 1 0.866 8 6 6 0 +661 0 1 0 10.002 13.8592 9.99798 0 0 1 0.866 8 6 6 0 +662 0 1 0 10.5021 14.7254 9.99798 0 0 1 0.866 8 6 6 0 +663 0 1 0 11.0022 13.8592 9.99798 0 0 1 0.866 8 6 6 0 +664 0 1 0 11.5023 14.7254 9.99798 0 0 1 0.866 8 6 6 0 +665 0 1 0 12.0024 13.8592 9.99798 0 0 1 0.866 8 6 6 0 +666 0 1 0 12.5025 14.7254 9.99798 0 0 1 0.866 8 6 6 0 +667 0 1 0 13.0026 13.8592 9.99798 0 0 1 0.866 8 6 6 0 +668 0 1 0 13.5027 14.7254 9.99798 0 0 1 0.866 8 6 6 0 +669 0 1 0 14.0028 13.8592 9.99798 0 0 1 0.866 8 6 6 0 +670 0 1 0 14.5029 14.7254 9.99798 0 0 1 0.866 8 6 6 0 +671 0 1 0 15.003 13.8592 9.99798 0 0 1 0.866 8 6 6 0 +672 0 1 0 15.5031 14.7254 9.99798 0 0 1 0.866 8 6 6 0 +673 0 1 0 16.0032 13.8592 9.99798 0 0 1 0.866 8 6 6 0 +674 0 1 0 16.5033 14.7254 9.99798 0 0 1 0.866 8 6 6 0 +675 0 1 0 17.0034 13.8592 9.99798 0 0 1 0.866 8 6 6 0 +676 0 1 0 17.5035 14.7254 9.99798 0 0 1 0.866 8 6 6 0 +677 0 1 0 18.0036 13.8592 9.99798 0 0 1 0.866 8 6 6 0 +678 0 1 0 18.5037 14.7254 9.99798 0 0 1 0.866 8 6 6 0 +679 0 1 0 19.0038 13.8592 9.99798 0 0 1 0.866 8 6 6 0 +680 0 1 0 19.5039 14.7254 9.99798 0 0 1 0.866 8 6 6 0 +681 0 1 0 20.004 13.8592 9.99798 0 0 1 0.866 8 6 6 0 +682 0 1 0 20.5041 14.7254 9.99798 0 0 1 0.866 8 6 6 0 +683 0 1 0 21.0042 13.8592 9.99798 0 0 1 0.866 8 6 6 0 +684 0 1 0 21.5043 14.7254 9.99798 0 0 1 0.866 8 6 6 0 +685 0 1 0 22.0045 13.8592 9.99798 0 0 1 0.866 8 6 6 0 +686 0 1 0 22.5046 14.7254 9.99798 0 0 1 0.866 8 6 6 0 +687 0 1 0 23.0047 13.8592 9.99798 0 0 1 0.866 8 6 6 0 +688 0 1 0 23.5048 14.7254 9.99798 0 0 1 0.866 8 6 6 0 +689 0 1 0 24.0049 13.8592 9.99798 0 0 1 0.866 8 6 6 0 +690 0 1 0 24.505 14.7254 9.99798 0 0 1 0.866 8 6 6 0 +691 0 1 0 25.0051 13.8592 9.99798 0 0 1 0.866 8 6 6 0 +692 0 1 0 25.5052 14.7254 9.99798 0 0 1 0.866 8 6 6 0 +693 0 1 0 26.0053 13.8592 9.99798 0 0 1 0.866 8 6 6 0 +694 0 1 0 26.5054 14.7254 9.99798 0 0 1 0.866 8 6 6 0 +695 0 1 0 27.0055 13.8592 9.99798 0 0 1 0.866 8 6 6 0 +696 0 1 0 27.5056 14.7254 9.99798 0 0 1 0.866 8 6 6 0 +697 0 1 0 28.0057 13.8592 9.99798 0 0 1 0.866 8 6 6 0 +698 0 1 0 28.5058 14.7254 9.99798 0 0 1 0.866 8 6 6 0 +699 0 1 0 29.0059 13.8592 9.99798 0 0 1 0.866 8 6 6 0 +700 0 1 0 29.506 14.7254 9.99798 0 0 1 0.866 8 6 6 0 +701 0 1 0 30.0061 13.8592 9.99798 0 0 1 0.866 8 6 6 0 +702 0 1 0 30.5062 14.7254 9.99798 0 0 1 0.866 8 6 6 0 +703 0 1 0 31.0063 13.8592 9.99798 0 0 1 0.866 8 6 6 0 +704 0 1 0 31.5064 14.7254 9.99798 0 0 1 0.866 8 6 6 0 +705 0 1 0 32.0065 13.8592 9.99798 0 0 1 0.866 8 6 6 0 +706 0 1 0 32.5066 14.7254 9.99798 0 0 1 0.866 8 6 6 0 +707 0 1 0 33.0067 13.8592 9.99798 0 0 1 0.866 8 6 6 0 +708 0 1 0 33.5068 14.7254 9.99798 0 0 1 0.866 8 6 6 0 +709 0 1 0 34.0069 13.8592 9.99798 0 0 1 0.866 8 6 6 0 +710 0 1 0 34.507 14.7254 9.99798 0 0 1 0.866 8 6 6 0 +711 0 1 0 35.0071 13.8592 9.99798 0 0 1 0.866 8 6 6 0 +712 0 1 0 35.5072 14.7254 9.99798 0 0 1 0.866 8 6 6 0 +713 0 1 0 36.0073 13.8592 9.99798 0 0 1 0.866 8 6 6 0 +714 0 1 0 36.5074 14.7254 9.99798 0 0 1 0.866 8 6 6 0 +715 0 1 0 37.0075 13.8592 9.99798 0 0 1 0.866 8 6 6 0 +716 0 1 0 37.5076 14.7254 9.99798 0 0 1 0.866 8 6 6 0 +717 0 1 0 38.0077 13.8592 9.99798 0 0 1 0.866 8 6 6 0 +718 0 1 0 38.5078 14.7254 9.99798 0 0 1 0.866 8 6 6 0 +719 0 1 0 39.0079 13.8592 9.99798 0 0 1 0.866 8 6 6 0 +720 0 1 0 39.508 14.7254 9.99798 0 0 1 0.866 8 6 6 0 +721 0 1 0 0 15.5916 9.99798 0 0 1 0.866 8 6 6 0 +722 0 1 0 0.500101 16.4578 9.99798 0 0 1 0.866 8 6 6 0 +723 0 1 0 1.0002 15.5916 9.99798 0 0 1 0.866 8 6 6 0 +724 0 1 0 1.5003 16.4578 9.99798 0 0 1 0.866 8 6 6 0 +725 0 1 0 2.0004 15.5916 9.99798 0 0 1 0.866 8 6 6 0 +726 0 1 0 2.50051 16.4578 9.99798 0 0 1 0.866 8 6 6 0 +727 0 1 0 3.00061 15.5916 9.99798 0 0 1 0.866 8 6 6 0 +728 0 1 0 3.50071 16.4578 9.99798 0 0 1 0.866 8 6 6 0 +729 0 1 0 4.00081 15.5916 9.99798 0 0 1 0.866 8 6 6 0 +730 0 1 0 4.50091 16.4578 9.99798 0 0 1 0.866 8 6 6 0 +731 0 1 0 5.00101 15.5916 9.99798 0 0 1 0.866 8 6 6 0 +732 0 1 0 5.50111 16.4578 9.99798 0 0 1 0.866 8 6 6 0 +733 0 1 0 6.00121 15.5916 9.99798 0 0 1 0.866 8 6 6 0 +734 0 1 0 6.50132 16.4578 9.99798 0 0 1 0.866 8 6 6 0 +735 0 1 0 7.00142 15.5916 9.99798 0 0 1 0.866 8 6 6 0 +736 0 1 0 7.50152 16.4578 9.99798 0 0 1 0.866 8 6 6 0 +737 0 1 0 8.00162 15.5916 9.99798 0 0 1 0.866 8 6 6 0 +738 0 1 0 8.50172 16.4578 9.99798 0 0 1 0.866 8 6 6 0 +739 0 1 0 9.00182 15.5916 9.99798 0 0 1 0.866 8 6 6 0 +740 0 1 0 9.50192 16.4578 9.99798 0 0 1 0.866 8 6 6 0 +741 0 1 0 10.002 15.5916 9.99798 0 0 1 0.866 8 6 6 0 +742 0 1 0 10.5021 16.4578 9.99798 0 0 1 0.866 8 6 6 0 +743 0 1 0 11.0022 15.5916 9.99798 0 0 1 0.866 8 6 6 0 +744 0 1 0 11.5023 16.4578 9.99798 0 0 1 0.866 8 6 6 0 +745 0 1 0 12.0024 15.5916 9.99798 0 0 1 0.866 8 6 6 0 +746 0 1 0 12.5025 16.4578 9.99798 0 0 1 0.866 8 6 6 0 +747 0 1 0 13.0026 15.5916 9.99798 0 0 1 0.866 8 6 6 0 +748 0 1 0 13.5027 16.4578 9.99798 0 0 1 0.866 8 6 6 0 +749 0 1 0 14.0028 15.5916 9.99798 0 0 1 0.866 8 6 6 0 +750 0 1 0 14.5029 16.4578 9.99798 0 0 1 0.866 8 6 6 0 +751 0 1 0 15.003 15.5916 9.99798 0 0 1 0.866 8 6 6 0 +752 0 1 0 15.5031 16.4578 9.99798 0 0 1 0.866 8 6 6 0 +753 0 1 0 16.0032 15.5916 9.99798 0 0 1 0.866 8 6 6 0 +754 0 1 0 16.5033 16.4578 9.99798 0 0 1 0.866 8 6 6 0 +755 0 1 0 17.0034 15.5916 9.99798 0 0 1 0.866 8 6 6 0 +756 0 1 0 17.5035 16.4578 9.99798 0 0 1 0.866 8 6 6 0 +757 0 1 0 18.0036 15.5916 9.99798 0 0 1 0.866 8 6 6 0 +758 0 1 0 18.5037 16.4578 9.99798 0 0 1 0.866 8 6 6 0 +759 0 1 0 19.0038 15.5916 9.99798 0 0 1 0.866 8 6 6 0 +760 0 1 0 19.5039 16.4578 9.99798 0 0 1 0.866 8 6 6 0 +761 0 1 0 20.004 15.5916 9.99798 0 0 1 0.866 8 6 6 0 +762 0 1 0 20.5041 16.4578 9.99798 0 0 1 0.866 8 6 6 0 +763 0 1 0 21.0042 15.5916 9.99798 0 0 1 0.866 8 6 6 0 +764 0 1 0 21.5043 16.4578 9.99798 0 0 1 0.866 8 6 6 0 +765 0 1 0 22.0045 15.5916 9.99798 0 0 1 0.866 8 6 6 0 +766 0 1 0 22.5046 16.4578 9.99798 0 0 1 0.866 8 6 6 0 +767 0 1 0 23.0047 15.5916 9.99798 0 0 1 0.866 8 6 6 0 +768 0 1 0 23.5048 16.4578 9.99798 0 0 1 0.866 8 6 6 0 +769 0 1 0 24.0049 15.5916 9.99798 0 0 1 0.866 8 6 6 0 +770 0 1 0 24.505 16.4578 9.99798 0 0 1 0.866 8 6 6 0 +771 0 1 0 25.0051 15.5916 9.99798 0 0 1 0.866 8 6 6 0 +772 0 1 0 25.5052 16.4578 9.99798 0 0 1 0.866 8 6 6 0 +773 0 1 0 26.0053 15.5916 9.99798 0 0 1 0.866 8 6 6 0 +774 0 1 0 26.5054 16.4578 9.99798 0 0 1 0.866 8 6 6 0 +775 0 1 0 27.0055 15.5916 9.99798 0 0 1 0.866 8 6 6 0 +776 0 1 0 27.5056 16.4578 9.99798 0 0 1 0.866 8 6 6 0 +777 0 1 0 28.0057 15.5916 9.99798 0 0 1 0.866 8 6 6 0 +778 0 1 0 28.5058 16.4578 9.99798 0 0 1 0.866 8 6 6 0 +779 0 1 0 29.0059 15.5916 9.99798 0 0 1 0.866 8 6 6 0 +780 0 1 0 29.506 16.4578 9.99798 0 0 1 0.866 8 6 6 0 +781 0 1 0 30.0061 15.5916 9.99798 0 0 1 0.866 8 6 6 0 +782 0 1 0 30.5062 16.4578 9.99798 0 0 1 0.866 8 6 6 0 +783 0 1 0 31.0063 15.5916 9.99798 0 0 1 0.866 8 6 6 0 +784 0 1 0 31.5064 16.4578 9.99798 0 0 1 0.866 8 6 6 0 +785 0 1 0 32.0065 15.5916 9.99798 0 0 1 0.866 8 6 6 0 +786 0 1 0 32.5066 16.4578 9.99798 0 0 1 0.866 8 6 6 0 +787 0 1 0 33.0067 15.5916 9.99798 0 0 1 0.866 8 6 6 0 +788 0 1 0 33.5068 16.4578 9.99798 0 0 1 0.866 8 6 6 0 +789 0 1 0 34.0069 15.5916 9.99798 0 0 1 0.866 8 6 6 0 +790 0 1 0 34.507 16.4578 9.99798 0 0 1 0.866 8 6 6 0 +791 0 1 0 35.0071 15.5916 9.99798 0 0 1 0.866 8 6 6 0 +792 0 1 0 35.5072 16.4578 9.99798 0 0 1 0.866 8 6 6 0 +793 0 1 0 36.0073 15.5916 9.99798 0 0 1 0.866 8 6 6 0 +794 0 1 0 36.5074 16.4578 9.99798 0 0 1 0.866 8 6 6 0 +795 0 1 0 37.0075 15.5916 9.99798 0 0 1 0.866 8 6 6 0 +796 0 1 0 37.5076 16.4578 9.99798 0 0 1 0.866 8 6 6 0 +797 0 1 0 38.0077 15.5916 9.99798 0 0 1 0.866 8 6 6 0 +798 0 1 0 38.5078 16.4578 9.99798 0 0 1 0.866 8 6 6 0 +799 0 1 0 39.0079 15.5916 9.99798 0 0 1 0.866 8 6 6 0 +800 0 1 0 39.508 16.4578 9.99798 0 0 1 0.866 8 6 6 0 +801 0 1 0 0 17.324 9.99798 0 0 1 0.866 8 6 6 0 +802 0 1 0 0.500101 18.1902 9.99798 0 0 1 0.866 8 6 6 0 +803 0 1 0 1.0002 17.324 9.99798 0 0 1 0.866 8 6 6 0 +804 0 1 0 1.5003 18.1902 9.99798 0 0 1 0.866 8 6 6 0 +805 0 1 0 2.0004 17.324 9.99798 0 0 1 0.866 8 6 6 0 +806 0 1 0 2.50051 18.1902 9.99798 0 0 1 0.866 8 6 6 0 +807 0 1 0 3.00061 17.324 9.99798 0 0 1 0.866 8 6 6 0 +808 0 1 0 3.50071 18.1902 9.99798 0 0 1 0.866 8 6 6 0 +809 0 1 0 4.00081 17.324 9.99798 0 0 1 0.866 8 6 6 0 +810 0 1 0 4.50091 18.1902 9.99798 0 0 1 0.866 8 6 6 0 +811 0 1 0 5.00101 17.324 9.99798 0 0 1 0.866 8 6 6 0 +812 0 1 0 5.50111 18.1902 9.99798 0 0 1 0.866 8 6 6 0 +813 0 1 0 6.00121 17.324 9.99798 0 0 1 0.866 8 6 6 0 +814 0 1 0 6.50132 18.1902 9.99798 0 0 1 0.866 8 6 6 0 +815 0 1 0 7.00142 17.324 9.99798 0 0 1 0.866 8 6 6 0 +816 0 1 0 7.50152 18.1902 9.99798 0 0 1 0.866 8 6 6 0 +817 0 1 0 8.00162 17.324 9.99798 0 0 1 0.866 8 6 6 0 +818 0 1 0 8.50172 18.1902 9.99798 0 0 1 0.866 8 6 6 0 +819 0 1 0 9.00182 17.324 9.99798 0 0 1 0.866 8 6 6 0 +820 0 1 0 9.50192 18.1902 9.99798 0 0 1 0.866 8 6 6 0 +821 0 1 0 10.002 17.324 9.99798 0 0 1 0.866 8 6 6 0 +822 0 1 0 10.5021 18.1902 9.99798 0 0 1 0.866 8 6 6 0 +823 0 1 0 11.0022 17.324 9.99798 0 0 1 0.866 8 6 6 0 +824 0 1 0 11.5023 18.1902 9.99798 0 0 1 0.866 8 6 6 0 +825 0 1 0 12.0024 17.324 9.99798 0 0 1 0.866 8 6 6 0 +826 0 1 0 12.5025 18.1902 9.99798 0 0 1 0.866 8 6 6 0 +827 0 1 0 13.0026 17.324 9.99798 0 0 1 0.866 8 6 6 0 +828 0 1 0 13.5027 18.1902 9.99798 0 0 1 0.866 8 6 6 0 +829 0 1 0 14.0028 17.324 9.99798 0 0 1 0.866 8 6 6 0 +830 0 1 0 14.5029 18.1902 9.99798 0 0 1 0.866 8 6 6 0 +831 0 1 0 15.003 17.324 9.99798 0 0 1 0.866 8 6 6 0 +832 0 1 0 15.5031 18.1902 9.99798 0 0 1 0.866 8 6 6 0 +833 0 1 0 16.0032 17.324 9.99798 0 0 1 0.866 8 6 6 0 +834 0 1 0 16.5033 18.1902 9.99798 0 0 1 0.866 8 6 6 0 +835 0 1 0 17.0034 17.324 9.99798 0 0 1 0.866 8 6 6 0 +836 0 1 0 17.5035 18.1902 9.99798 0 0 1 0.866 8 6 6 0 +837 0 1 0 18.0036 17.324 9.99798 0 0 1 0.866 8 6 6 0 +838 0 1 0 18.5037 18.1902 9.99798 0 0 1 0.866 8 6 6 0 +839 0 1 0 19.0038 17.324 9.99798 0 0 1 0.866 8 6 6 0 +840 0 1 0 19.5039 18.1902 9.99798 0 0 1 0.866 8 6 6 0 +841 0 1 0 20.004 17.324 9.99798 0 0 1 0.866 8 6 6 0 +842 0 1 0 20.5041 18.1902 9.99798 0 0 1 0.866 8 6 6 0 +843 0 1 0 21.0042 17.324 9.99798 0 0 1 0.866 8 6 6 0 +844 0 1 0 21.5043 18.1902 9.99798 0 0 1 0.866 8 6 6 0 +845 0 1 0 22.0045 17.324 9.99798 0 0 1 0.866 8 6 6 0 +846 0 1 0 22.5046 18.1902 9.99798 0 0 1 0.866 8 6 6 0 +847 0 1 0 23.0047 17.324 9.99798 0 0 1 0.866 8 6 6 0 +848 0 1 0 23.5048 18.1902 9.99798 0 0 1 0.866 8 6 6 0 +849 0 1 0 24.0049 17.324 9.99798 0 0 1 0.866 8 6 6 0 +850 0 1 0 24.505 18.1902 9.99798 0 0 1 0.866 8 6 6 0 +851 0 1 0 25.0051 17.324 9.99798 0 0 1 0.866 8 6 6 0 +852 0 1 0 25.5052 18.1902 9.99798 0 0 1 0.866 8 6 6 0 +853 0 1 0 26.0053 17.324 9.99798 0 0 1 0.866 8 6 6 0 +854 0 1 0 26.5054 18.1902 9.99798 0 0 1 0.866 8 6 6 0 +855 0 1 0 27.0055 17.324 9.99798 0 0 1 0.866 8 6 6 0 +856 0 1 0 27.5056 18.1902 9.99798 0 0 1 0.866 8 6 6 0 +857 0 1 0 28.0057 17.324 9.99798 0 0 1 0.866 8 6 6 0 +858 0 1 0 28.5058 18.1902 9.99798 0 0 1 0.866 8 6 6 0 +859 0 1 0 29.0059 17.324 9.99798 0 0 1 0.866 8 6 6 0 +860 0 1 0 29.506 18.1902 9.99798 0 0 1 0.866 8 6 6 0 +861 0 1 0 30.0061 17.324 9.99798 0 0 1 0.866 8 6 6 0 +862 0 1 0 30.5062 18.1902 9.99798 0 0 1 0.866 8 6 6 0 +863 0 1 0 31.0063 17.324 9.99798 0 0 1 0.866 8 6 6 0 +864 0 1 0 31.5064 18.1902 9.99798 0 0 1 0.866 8 6 6 0 +865 0 1 0 32.0065 17.324 9.99798 0 0 1 0.866 8 6 6 0 +866 0 1 0 32.5066 18.1902 9.99798 0 0 1 0.866 8 6 6 0 +867 0 1 0 33.0067 17.324 9.99798 0 0 1 0.866 8 6 6 0 +868 0 1 0 33.5068 18.1902 9.99798 0 0 1 0.866 8 6 6 0 +869 0 1 0 34.0069 17.324 9.99798 0 0 1 0.866 8 6 6 0 +870 0 1 0 34.507 18.1902 9.99798 0 0 1 0.866 8 6 6 0 +871 0 1 0 35.0071 17.324 9.99798 0 0 1 0.866 8 6 6 0 +872 0 1 0 35.5072 18.1902 9.99798 0 0 1 0.866 8 6 6 0 +873 0 1 0 36.0073 17.324 9.99798 0 0 1 0.866 8 6 6 0 +874 0 1 0 36.5074 18.1902 9.99798 0 0 1 0.866 8 6 6 0 +875 0 1 0 37.0075 17.324 9.99798 0 0 1 0.866 8 6 6 0 +876 0 1 0 37.5076 18.1902 9.99798 0 0 1 0.866 8 6 6 0 +877 0 1 0 38.0077 17.324 9.99798 0 0 1 0.866 8 6 6 0 +878 0 1 0 38.5078 18.1902 9.99798 0 0 1 0.866 8 6 6 0 +879 0 1 0 39.0079 17.324 9.99798 0 0 1 0.866 8 6 6 0 +880 0 1 0 39.508 18.1902 9.99798 0 0 1 0.866 8 6 6 0 +881 0 1 0 0 19.0564 9.99798 0 0 1 0.866 8 6 6 0 +882 0 1 0 0.500101 19.9226 9.99798 0 0 1 0.866 8 6 6 0 +883 0 1 0 1.0002 19.0564 9.99798 0 0 1 0.866 8 6 6 0 +884 0 1 0 1.5003 19.9226 9.99798 0 0 1 0.866 8 6 6 0 +885 0 1 0 2.0004 19.0564 9.99798 0 0 1 0.866 8 6 6 0 +886 0 1 0 2.50051 19.9226 9.99798 0 0 1 0.866 8 6 6 0 +887 0 1 0 3.00061 19.0564 9.99798 0 0 1 0.866 8 6 6 0 +888 0 1 0 3.50071 19.9226 9.99798 0 0 1 0.866 8 6 6 0 +889 0 1 0 4.00081 19.0564 9.99798 0 0 1 0.866 8 6 6 0 +890 0 1 0 4.50091 19.9226 9.99798 0 0 1 0.866 8 6 6 0 +891 0 1 0 5.00101 19.0564 9.99798 0 0 1 0.866 8 6 6 0 +892 0 1 0 5.50111 19.9226 9.99798 0 0 1 0.866 8 6 6 0 +893 0 1 0 6.00121 19.0564 9.99798 0 0 1 0.866 8 6 6 0 +894 0 1 0 6.50132 19.9226 9.99798 0 0 1 0.866 8 6 6 0 +895 0 1 0 7.00142 19.0564 9.99798 0 0 1 0.866 8 6 6 0 +896 0 1 0 7.50152 19.9226 9.99798 0 0 1 0.866 8 6 6 0 +897 0 1 0 8.00162 19.0564 9.99798 0 0 1 0.866 8 6 6 0 +898 0 1 0 8.50172 19.9226 9.99798 0 0 1 0.866 8 6 6 0 +899 0 1 0 9.00182 19.0564 9.99798 0 0 1 0.866 8 6 6 0 +900 0 1 0 9.50192 19.9226 9.99798 0 0 1 0.866 8 6 6 0 +901 0 1 0 10.002 19.0564 9.99798 0 0 1 0.866 8 6 6 0 +902 0 1 0 10.5021 19.9226 9.99798 0 0 1 0.866 8 6 6 0 +903 0 1 0 11.0022 19.0564 9.99798 0 0 1 0.866 8 6 6 0 +904 0 1 0 11.5023 19.9226 9.99798 0 0 1 0.866 8 6 6 0 +905 0 1 0 12.0024 19.0564 9.99798 0 0 1 0.866 8 6 6 0 +906 0 1 0 12.5025 19.9226 9.99798 0 0 1 0.866 8 6 6 0 +907 0 1 0 13.0026 19.0564 9.99798 0 0 1 0.866 8 6 6 0 +908 0 1 0 13.5027 19.9226 9.99798 0 0 1 0.866 8 6 6 0 +909 0 1 0 14.0028 19.0564 9.99798 0 0 1 0.866 8 6 6 0 +910 0 1 0 14.5029 19.9226 9.99798 0 0 1 0.866 8 6 6 0 +911 0 1 0 15.003 19.0564 9.99798 0 0 1 0.866 8 6 6 0 +912 0 1 0 15.5031 19.9226 9.99798 0 0 1 0.866 8 6 6 0 +913 0 1 0 16.0032 19.0564 9.99798 0 0 1 0.866 8 6 6 0 +914 0 1 0 16.5033 19.9226 9.99798 0 0 1 0.866 8 6 6 0 +915 0 1 0 17.0034 19.0564 9.99798 0 0 1 0.866 8 6 6 0 +916 0 1 0 17.5035 19.9226 9.99798 0 0 1 0.866 8 6 6 0 +917 0 1 0 18.0036 19.0564 9.99798 0 0 1 0.866 8 6 6 0 +918 0 1 0 18.5037 19.9226 9.99798 0 0 1 0.866 8 6 6 0 +919 0 1 0 19.0038 19.0564 9.99798 0 0 1 0.866 8 6 6 0 +920 0 1 0 19.5039 19.9226 9.99798 0 0 1 0.866 8 6 6 0 +921 0 1 0 20.004 19.0564 9.99798 0 0 1 0.866 8 6 6 0 +922 0 1 0 20.5041 19.9226 9.99798 0 0 1 0.866 8 6 6 0 +923 0 1 0 21.0042 19.0564 9.99798 0 0 1 0.866 8 6 6 0 +924 0 1 0 21.5043 19.9226 9.99798 0 0 1 0.866 8 6 6 0 +925 0 1 0 22.0045 19.0564 9.99798 0 0 1 0.866 8 6 6 0 +926 0 1 0 22.5046 19.9226 9.99798 0 0 1 0.866 8 6 6 0 +927 0 1 0 23.0047 19.0564 9.99798 0 0 1 0.866 8 6 6 0 +928 0 1 0 23.5048 19.9226 9.99798 0 0 1 0.866 8 6 6 0 +929 0 1 0 24.0049 19.0564 9.99798 0 0 1 0.866 8 6 6 0 +930 0 1 0 24.505 19.9226 9.99798 0 0 1 0.866 8 6 6 0 +931 0 1 0 25.0051 19.0564 9.99798 0 0 1 0.866 8 6 6 0 +932 0 1 0 25.5052 19.9226 9.99798 0 0 1 0.866 8 6 6 0 +933 0 1 0 26.0053 19.0564 9.99798 0 0 1 0.866 8 6 6 0 +934 0 1 0 26.5054 19.9226 9.99798 0 0 1 0.866 8 6 6 0 +935 0 1 0 27.0055 19.0564 9.99798 0 0 1 0.866 8 6 6 0 +936 0 1 0 27.5056 19.9226 9.99798 0 0 1 0.866 8 6 6 0 +937 0 1 0 28.0057 19.0564 9.99798 0 0 1 0.866 8 6 6 0 +938 0 1 0 28.5058 19.9226 9.99798 0 0 1 0.866 8 6 6 0 +939 0 1 0 29.0059 19.0564 9.99798 0 0 1 0.866 8 6 6 0 +940 0 1 0 29.506 19.9226 9.99798 0 0 1 0.866 8 6 6 0 +941 0 1 0 30.0061 19.0564 9.99798 0 0 1 0.866 8 6 6 0 +942 0 1 0 30.5062 19.9226 9.99798 0 0 1 0.866 8 6 6 0 +943 0 1 0 31.0063 19.0564 9.99798 0 0 1 0.866 8 6 6 0 +944 0 1 0 31.5064 19.9226 9.99798 0 0 1 0.866 8 6 6 0 +945 0 1 0 32.0065 19.0564 9.99798 0 0 1 0.866 8 6 6 0 +946 0 1 0 32.5066 19.9226 9.99798 0 0 1 0.866 8 6 6 0 +947 0 1 0 33.0067 19.0564 9.99798 0 0 1 0.866 8 6 6 0 +948 0 1 0 33.5068 19.9226 9.99798 0 0 1 0.866 8 6 6 0 +949 0 1 0 34.0069 19.0564 9.99798 0 0 1 0.866 8 6 6 0 +950 0 1 0 34.507 19.9226 9.99798 0 0 1 0.866 8 6 6 0 +951 0 1 0 35.0071 19.0564 9.99798 0 0 1 0.866 8 6 6 0 +952 0 1 0 35.5072 19.9226 9.99798 0 0 1 0.866 8 6 6 0 +953 0 1 0 36.0073 19.0564 9.99798 0 0 1 0.866 8 6 6 0 +954 0 1 0 36.5074 19.9226 9.99798 0 0 1 0.866 8 6 6 0 +955 0 1 0 37.0075 19.0564 9.99798 0 0 1 0.866 8 6 6 0 +956 0 1 0 37.5076 19.9226 9.99798 0 0 1 0.866 8 6 6 0 +957 0 1 0 38.0077 19.0564 9.99798 0 0 1 0.866 8 6 6 0 +958 0 1 0 38.5078 19.9226 9.99798 0 0 1 0.866 8 6 6 0 +959 0 1 0 39.0079 19.0564 9.99798 0 0 1 0.866 8 6 6 0 +960 0 1 0 39.508 19.9226 9.99798 0 0 1 0.866 8 6 6 0 +961 0 1 0 0 20.7888 9.99798 0 0 1 0.866 8 6 6 0 +962 0 1 0 0.500101 21.655 9.99798 0 0 1 0.866 8 6 6 0 +963 0 1 0 1.0002 20.7888 9.99798 0 0 1 0.866 8 6 6 0 +964 0 1 0 1.5003 21.655 9.99798 0 0 1 0.866 8 6 6 0 +965 0 1 0 2.0004 20.7888 9.99798 0 0 1 0.866 8 6 6 0 +966 0 1 0 2.50051 21.655 9.99798 0 0 1 0.866 8 6 6 0 +967 0 1 0 3.00061 20.7888 9.99798 0 0 1 0.866 8 6 6 0 +968 0 1 0 3.50071 21.655 9.99798 0 0 1 0.866 8 6 6 0 +969 0 1 0 4.00081 20.7888 9.99798 0 0 1 0.866 8 6 6 0 +970 0 1 0 4.50091 21.655 9.99798 0 0 1 0.866 8 6 6 0 +971 0 1 0 5.00101 20.7888 9.99798 0 0 1 0.866 8 6 6 0 +972 0 1 0 5.50111 21.655 9.99798 0 0 1 0.866 8 6 6 0 +973 0 1 0 6.00121 20.7888 9.99798 0 0 1 0.866 8 6 6 0 +974 0 1 0 6.50132 21.655 9.99798 0 0 1 0.866 8 6 6 0 +975 0 1 0 7.00142 20.7888 9.99798 0 0 1 0.866 8 6 6 0 +976 0 1 0 7.50152 21.655 9.99798 0 0 1 0.866 8 6 6 0 +977 0 1 0 8.00162 20.7888 9.99798 0 0 1 0.866 8 6 6 0 +978 0 1 0 8.50172 21.655 9.99798 0 0 1 0.866 8 6 6 0 +979 0 1 0 9.00182 20.7888 9.99798 0 0 1 0.866 8 6 6 0 +980 0 1 0 9.50192 21.655 9.99798 0 0 1 0.866 8 6 6 0 +981 0 1 0 10.002 20.7888 9.99798 0 0 1 0.866 8 6 6 0 +982 0 1 0 10.5021 21.655 9.99798 0 0 1 0.866 8 6 6 0 +983 0 1 0 11.0022 20.7888 9.99798 0 0 1 0.866 8 6 6 0 +984 0 1 0 11.5023 21.655 9.99798 0 0 1 0.866 8 6 6 0 +985 0 1 0 12.0024 20.7888 9.99798 0 0 1 0.866 8 6 6 0 +986 0 1 0 12.5025 21.655 9.99798 0 0 1 0.866 8 6 6 0 +987 0 1 0 13.0026 20.7888 9.99798 0 0 1 0.866 8 6 6 0 +988 0 1 0 13.5027 21.655 9.99798 0 0 1 0.866 8 6 6 0 +989 0 1 0 14.0028 20.7888 9.99798 0 0 1 0.866 8 6 6 0 +990 0 1 0 14.5029 21.655 9.99798 0 0 1 0.866 8 6 6 0 +991 0 1 0 15.003 20.7888 9.99798 0 0 1 0.866 8 6 6 0 +992 0 1 0 15.5031 21.655 9.99798 0 0 1 0.866 8 6 6 0 +993 0 1 0 16.0032 20.7888 9.99798 0 0 1 0.866 8 6 6 0 +994 0 1 0 16.5033 21.655 9.99798 0 0 1 0.866 8 6 6 0 +995 0 1 0 17.0034 20.7888 9.99798 0 0 1 0.866 8 6 6 0 +996 0 1 0 17.5035 21.655 9.99798 0 0 1 0.866 8 6 6 0 +997 0 1 0 18.0036 20.7888 9.99798 0 0 1 0.866 8 6 6 0 +998 0 1 0 18.5037 21.655 9.99798 0 0 1 0.866 8 6 6 0 +999 0 1 0 19.0038 20.7888 9.99798 0 0 1 0.866 8 6 6 0 +1000 0 1 0 19.5039 21.655 9.99798 0 0 1 0.866 8 6 6 0 +1001 0 1 0 20.004 20.7888 9.99798 0 0 1 0.866 8 6 6 0 +1002 0 1 0 20.5041 21.655 9.99798 0 0 1 0.866 8 6 6 0 +1003 0 1 0 21.0042 20.7888 9.99798 0 0 1 0.866 8 6 6 0 +1004 0 1 0 21.5043 21.655 9.99798 0 0 1 0.866 8 6 6 0 +1005 0 1 0 22.0045 20.7888 9.99798 0 0 1 0.866 8 6 6 0 +1006 0 1 0 22.5046 21.655 9.99798 0 0 1 0.866 8 6 6 0 +1007 0 1 0 23.0047 20.7888 9.99798 0 0 1 0.866 8 6 6 0 +1008 0 1 0 23.5048 21.655 9.99798 0 0 1 0.866 8 6 6 0 +1009 0 1 0 24.0049 20.7888 9.99798 0 0 1 0.866 8 6 6 0 +1010 0 1 0 24.505 21.655 9.99798 0 0 1 0.866 8 6 6 0 +1011 0 1 0 25.0051 20.7888 9.99798 0 0 1 0.866 8 6 6 0 +1012 0 1 0 25.5052 21.655 9.99798 0 0 1 0.866 8 6 6 0 +1013 0 1 0 26.0053 20.7888 9.99798 0 0 1 0.866 8 6 6 0 +1014 0 1 0 26.5054 21.655 9.99798 0 0 1 0.866 8 6 6 0 +1015 0 1 0 27.0055 20.7888 9.99798 0 0 1 0.866 8 6 6 0 +1016 0 1 0 27.5056 21.655 9.99798 0 0 1 0.866 8 6 6 0 +1017 0 1 0 28.0057 20.7888 9.99798 0 0 1 0.866 8 6 6 0 +1018 0 1 0 28.5058 21.655 9.99798 0 0 1 0.866 8 6 6 0 +1019 0 1 0 29.0059 20.7888 9.99798 0 0 1 0.866 8 6 6 0 +1020 0 1 0 29.506 21.655 9.99798 0 0 1 0.866 8 6 6 0 +1021 0 1 0 30.0061 20.7888 9.99798 0 0 1 0.866 8 6 6 0 +1022 0 1 0 30.5062 21.655 9.99798 0 0 1 0.866 8 6 6 0 +1023 0 1 0 31.0063 20.7888 9.99798 0 0 1 0.866 8 6 6 0 +1024 0 1 0 31.5064 21.655 9.99798 0 0 1 0.866 8 6 6 0 +1025 0 1 0 32.0065 20.7888 9.99798 0 0 1 0.866 8 6 6 0 +1026 0 1 0 32.5066 21.655 9.99798 0 0 1 0.866 8 6 6 0 +1027 0 1 0 33.0067 20.7888 9.99798 0 0 1 0.866 8 6 6 0 +1028 0 1 0 33.5068 21.655 9.99798 0 0 1 0.866 8 6 6 0 +1029 0 1 0 34.0069 20.7888 9.99798 0 0 1 0.866 8 6 6 0 +1030 0 1 0 34.507 21.655 9.99798 0 0 1 0.866 8 6 6 0 +1031 0 1 0 35.0071 20.7888 9.99798 0 0 1 0.866 8 6 6 0 +1032 0 1 0 35.5072 21.655 9.99798 0 0 1 0.866 8 6 6 0 +1033 0 1 0 36.0073 20.7888 9.99798 0 0 1 0.866 8 6 6 0 +1034 0 1 0 36.5074 21.655 9.99798 0 0 1 0.866 8 6 6 0 +1035 0 1 0 37.0075 20.7888 9.99798 0 0 1 0.866 8 6 6 0 +1036 0 1 0 37.5076 21.655 9.99798 0 0 1 0.866 8 6 6 0 +1037 0 1 0 38.0077 20.7888 9.99798 0 0 1 0.866 8 6 6 0 +1038 0 1 0 38.5078 21.655 9.99798 0 0 1 0.866 8 6 6 0 +1039 0 1 0 39.0079 20.7888 9.99798 0 0 1 0.866 8 6 6 0 +1040 0 1 0 39.508 21.655 9.99798 0 0 1 0.866 8 6 6 0 +1041 0 1 0 0 22.5212 9.99798 0 0 1 0.866 8 6 6 0 +1042 0 1 0 0.500101 23.3874 9.99798 0 0 1 0.866 8 6 6 0 +1043 0 1 0 1.0002 22.5212 9.99798 0 0 1 0.866 8 6 6 0 +1044 0 1 0 1.5003 23.3874 9.99798 0 0 1 0.866 8 6 6 0 +1045 0 1 0 2.0004 22.5212 9.99798 0 0 1 0.866 8 6 6 0 +1046 0 1 0 2.50051 23.3874 9.99798 0 0 1 0.866 8 6 6 0 +1047 0 1 0 3.00061 22.5212 9.99798 0 0 1 0.866 8 6 6 0 +1048 0 1 0 3.50071 23.3874 9.99798 0 0 1 0.866 8 6 6 0 +1049 0 1 0 4.00081 22.5212 9.99798 0 0 1 0.866 8 6 6 0 +1050 0 1 0 4.50091 23.3874 9.99798 0 0 1 0.866 8 6 6 0 +1051 0 1 0 5.00101 22.5212 9.99798 0 0 1 0.866 8 6 6 0 +1052 0 1 0 5.50111 23.3874 9.99798 0 0 1 0.866 8 6 6 0 +1053 0 1 0 6.00121 22.5212 9.99798 0 0 1 0.866 8 6 6 0 +1054 0 1 0 6.50132 23.3874 9.99798 0 0 1 0.866 8 6 6 0 +1055 0 1 0 7.00142 22.5212 9.99798 0 0 1 0.866 8 6 6 0 +1056 0 1 0 7.50152 23.3874 9.99798 0 0 1 0.866 8 6 6 0 +1057 0 1 0 8.00162 22.5212 9.99798 0 0 1 0.866 8 6 6 0 +1058 0 1 0 8.50172 23.3874 9.99798 0 0 1 0.866 8 6 6 0 +1059 0 1 0 9.00182 22.5212 9.99798 0 0 1 0.866 8 6 6 0 +1060 0 1 0 9.50192 23.3874 9.99798 0 0 1 0.866 8 6 6 0 +1061 0 1 0 10.002 22.5212 9.99798 0 0 1 0.866 8 6 6 0 +1062 0 1 0 10.5021 23.3874 9.99798 0 0 1 0.866 8 6 6 0 +1063 0 1 0 11.0022 22.5212 9.99798 0 0 1 0.866 8 6 6 0 +1064 0 1 0 11.5023 23.3874 9.99798 0 0 1 0.866 8 6 6 0 +1065 0 1 0 12.0024 22.5212 9.99798 0 0 1 0.866 8 6 6 0 +1066 0 1 0 12.5025 23.3874 9.99798 0 0 1 0.866 8 6 6 0 +1067 0 1 0 13.0026 22.5212 9.99798 0 0 1 0.866 8 6 6 0 +1068 0 1 0 13.5027 23.3874 9.99798 0 0 1 0.866 8 6 6 0 +1069 0 1 0 14.0028 22.5212 9.99798 0 0 1 0.866 8 6 6 0 +1070 0 1 0 14.5029 23.3874 9.99798 0 0 1 0.866 8 6 6 0 +1071 0 1 0 15.003 22.5212 9.99798 0 0 1 0.866 8 6 6 0 +1072 0 1 0 15.5031 23.3874 9.99798 0 0 1 0.866 8 6 6 0 +1073 0 1 0 16.0032 22.5212 9.99798 0 0 1 0.866 8 6 6 0 +1074 0 1 0 16.5033 23.3874 9.99798 0 0 1 0.866 8 6 6 0 +1075 0 1 0 17.0034 22.5212 9.99798 0 0 1 0.866 8 6 6 0 +1076 0 1 0 17.5035 23.3874 9.99798 0 0 1 0.866 8 6 6 0 +1077 0 1 0 18.0036 22.5212 9.99798 0 0 1 0.866 8 6 6 0 +1078 0 1 0 18.5037 23.3874 9.99798 0 0 1 0.866 8 6 6 0 +1079 0 1 0 19.0038 22.5212 9.99798 0 0 1 0.866 8 6 6 0 +1080 0 1 0 19.5039 23.3874 9.99798 0 0 1 0.866 8 6 6 0 +1081 0 1 0 20.004 22.5212 9.99798 0 0 1 0.866 8 6 6 0 +1082 0 1 0 20.5041 23.3874 9.99798 0 0 1 0.866 8 6 6 0 +1083 0 1 0 21.0042 22.5212 9.99798 0 0 1 0.866 8 6 6 0 +1084 0 1 0 21.5043 23.3874 9.99798 0 0 1 0.866 8 6 6 0 +1085 0 1 0 22.0045 22.5212 9.99798 0 0 1 0.866 8 6 6 0 +1086 0 1 0 22.5046 23.3874 9.99798 0 0 1 0.866 8 6 6 0 +1087 0 1 0 23.0047 22.5212 9.99798 0 0 1 0.866 8 6 6 0 +1088 0 1 0 23.5048 23.3874 9.99798 0 0 1 0.866 8 6 6 0 +1089 0 1 0 24.0049 22.5212 9.99798 0 0 1 0.866 8 6 6 0 +1090 0 1 0 24.505 23.3874 9.99798 0 0 1 0.866 8 6 6 0 +1091 0 1 0 25.0051 22.5212 9.99798 0 0 1 0.866 8 6 6 0 +1092 0 1 0 25.5052 23.3874 9.99798 0 0 1 0.866 8 6 6 0 +1093 0 1 0 26.0053 22.5212 9.99798 0 0 1 0.866 8 6 6 0 +1094 0 1 0 26.5054 23.3874 9.99798 0 0 1 0.866 8 6 6 0 +1095 0 1 0 27.0055 22.5212 9.99798 0 0 1 0.866 8 6 6 0 +1096 0 1 0 27.5056 23.3874 9.99798 0 0 1 0.866 8 6 6 0 +1097 0 1 0 28.0057 22.5212 9.99798 0 0 1 0.866 8 6 6 0 +1098 0 1 0 28.5058 23.3874 9.99798 0 0 1 0.866 8 6 6 0 +1099 0 1 0 29.0059 22.5212 9.99798 0 0 1 0.866 8 6 6 0 +1100 0 1 0 29.506 23.3874 9.99798 0 0 1 0.866 8 6 6 0 +1101 0 1 0 30.0061 22.5212 9.99798 0 0 1 0.866 8 6 6 0 +1102 0 1 0 30.5062 23.3874 9.99798 0 0 1 0.866 8 6 6 0 +1103 0 1 0 31.0063 22.5212 9.99798 0 0 1 0.866 8 6 6 0 +1104 0 1 0 31.5064 23.3874 9.99798 0 0 1 0.866 8 6 6 0 +1105 0 1 0 32.0065 22.5212 9.99798 0 0 1 0.866 8 6 6 0 +1106 0 1 0 32.5066 23.3874 9.99798 0 0 1 0.866 8 6 6 0 +1107 0 1 0 33.0067 22.5212 9.99798 0 0 1 0.866 8 6 6 0 +1108 0 1 0 33.5068 23.3874 9.99798 0 0 1 0.866 8 6 6 0 +1109 0 1 0 34.0069 22.5212 9.99798 0 0 1 0.866 8 6 6 0 +1110 0 1 0 34.507 23.3874 9.99798 0 0 1 0.866 8 6 6 0 +1111 0 1 0 35.0071 22.5212 9.99798 0 0 1 0.866 8 6 6 0 +1112 0 1 0 35.5072 23.3874 9.99798 0 0 1 0.866 8 6 6 0 +1113 0 1 0 36.0073 22.5212 9.99798 0 0 1 0.866 8 6 6 0 +1114 0 1 0 36.5074 23.3874 9.99798 0 0 1 0.866 8 6 6 0 +1115 0 1 0 37.0075 22.5212 9.99798 0 0 1 0.866 8 6 6 0 +1116 0 1 0 37.5076 23.3874 9.99798 0 0 1 0.866 8 6 6 0 +1117 0 1 0 38.0077 22.5212 9.99798 0 0 1 0.866 8 6 6 0 +1118 0 1 0 38.5078 23.3874 9.99798 0 0 1 0.866 8 6 6 0 +1119 0 1 0 39.0079 22.5212 9.99798 0 0 1 0.866 8 6 6 0 +1120 0 1 0 39.508 23.3874 9.99798 0 0 1 0.866 8 6 6 0 +1121 0 1 0 0 24.2536 9.99798 0 0 1 0.866 8 6 6 0 +1122 0 1 0 0.500101 25.1198 9.99798 0 0 1 0.866 8 6 6 0 +1123 0 1 0 1.0002 24.2536 9.99798 0 0 1 0.866 8 6 6 0 +1124 0 1 0 1.5003 25.1198 9.99798 0 0 1 0.866 8 6 6 0 +1125 0 1 0 2.0004 24.2536 9.99798 0 0 1 0.866 8 6 6 0 +1126 0 1 0 2.50051 25.1198 9.99798 0 0 1 0.866 8 6 6 0 +1127 0 1 0 3.00061 24.2536 9.99798 0 0 1 0.866 8 6 6 0 +1128 0 1 0 3.50071 25.1198 9.99798 0 0 1 0.866 8 6 6 0 +1129 0 1 0 4.00081 24.2536 9.99798 0 0 1 0.866 8 6 6 0 +1130 0 1 0 4.50091 25.1198 9.99798 0 0 1 0.866 8 6 6 0 +1131 0 1 0 5.00101 24.2536 9.99798 0 0 1 0.866 8 6 6 0 +1132 0 1 0 5.50111 25.1198 9.99798 0 0 1 0.866 8 6 6 0 +1133 0 1 0 6.00121 24.2536 9.99798 0 0 1 0.866 8 6 6 0 +1134 0 1 0 6.50132 25.1198 9.99798 0 0 1 0.866 8 6 6 0 +1135 0 1 0 7.00142 24.2536 9.99798 0 0 1 0.866 8 6 6 0 +1136 0 1 0 7.50152 25.1198 9.99798 0 0 1 0.866 8 6 6 0 +1137 0 1 0 8.00162 24.2536 9.99798 0 0 1 0.866 8 6 6 0 +1138 0 1 0 8.50172 25.1198 9.99798 0 0 1 0.866 8 6 6 0 +1139 0 1 0 9.00182 24.2536 9.99798 0 0 1 0.866 8 6 6 0 +1140 0 1 0 9.50192 25.1198 9.99798 0 0 1 0.866 8 6 6 0 +1141 0 1 0 10.002 24.2536 9.99798 0 0 1 0.866 8 6 6 0 +1142 0 1 0 10.5021 25.1198 9.99798 0 0 1 0.866 8 6 6 0 +1143 0 1 0 11.0022 24.2536 9.99798 0 0 1 0.866 8 6 6 0 +1144 0 1 0 11.5023 25.1198 9.99798 0 0 1 0.866 8 6 6 0 +1145 0 1 0 12.0024 24.2536 9.99798 0 0 1 0.866 8 6 6 0 +1146 0 1 0 12.5025 25.1198 9.99798 0 0 1 0.866 8 6 6 0 +1147 0 1 0 13.0026 24.2536 9.99798 0 0 1 0.866 8 6 6 0 +1148 0 1 0 13.5027 25.1198 9.99798 0 0 1 0.866 8 6 6 0 +1149 0 1 0 14.0028 24.2536 9.99798 0 0 1 0.866 8 6 6 0 +1150 0 1 0 14.5029 25.1198 9.99798 0 0 1 0.866 8 6 6 0 +1151 0 1 0 15.003 24.2536 9.99798 0 0 1 0.866 8 6 6 0 +1152 0 1 0 15.5031 25.1198 9.99798 0 0 1 0.866 8 6 6 0 +1153 0 1 0 16.0032 24.2536 9.99798 0 0 1 0.866 8 6 6 0 +1154 0 1 0 16.5033 25.1198 9.99798 0 0 1 0.866 8 6 6 0 +1155 0 1 0 17.0034 24.2536 9.99798 0 0 1 0.866 8 6 6 0 +1156 0 1 0 17.5035 25.1198 9.99798 0 0 1 0.866 8 6 6 0 +1157 0 1 0 18.0036 24.2536 9.99798 0 0 1 0.866 8 6 6 0 +1158 0 1 0 18.5037 25.1198 9.99798 0 0 1 0.866 8 6 6 0 +1159 0 1 0 19.0038 24.2536 9.99798 0 0 1 0.866 8 6 6 0 +1160 0 1 0 19.5039 25.1198 9.99798 0 0 1 0.866 8 6 6 0 +1161 0 1 0 20.004 24.2536 9.99798 0 0 1 0.866 8 6 6 0 +1162 0 1 0 20.5041 25.1198 9.99798 0 0 1 0.866 8 6 6 0 +1163 0 1 0 21.0042 24.2536 9.99798 0 0 1 0.866 8 6 6 0 +1164 0 1 0 21.5043 25.1198 9.99798 0 0 1 0.866 8 6 6 0 +1165 0 1 0 22.0045 24.2536 9.99798 0 0 1 0.866 8 6 6 0 +1166 0 1 0 22.5046 25.1198 9.99798 0 0 1 0.866 8 6 6 0 +1167 0 1 0 23.0047 24.2536 9.99798 0 0 1 0.866 8 6 6 0 +1168 0 1 0 23.5048 25.1198 9.99798 0 0 1 0.866 8 6 6 0 +1169 0 1 0 24.0049 24.2536 9.99798 0 0 1 0.866 8 6 6 0 +1170 0 1 0 24.505 25.1198 9.99798 0 0 1 0.866 8 6 6 0 +1171 0 1 0 25.0051 24.2536 9.99798 0 0 1 0.866 8 6 6 0 +1172 0 1 0 25.5052 25.1198 9.99798 0 0 1 0.866 8 6 6 0 +1173 0 1 0 26.0053 24.2536 9.99798 0 0 1 0.866 8 6 6 0 +1174 0 1 0 26.5054 25.1198 9.99798 0 0 1 0.866 8 6 6 0 +1175 0 1 0 27.0055 24.2536 9.99798 0 0 1 0.866 8 6 6 0 +1176 0 1 0 27.5056 25.1198 9.99798 0 0 1 0.866 8 6 6 0 +1177 0 1 0 28.0057 24.2536 9.99798 0 0 1 0.866 8 6 6 0 +1178 0 1 0 28.5058 25.1198 9.99798 0 0 1 0.866 8 6 6 0 +1179 0 1 0 29.0059 24.2536 9.99798 0 0 1 0.866 8 6 6 0 +1180 0 1 0 29.506 25.1198 9.99798 0 0 1 0.866 8 6 6 0 +1181 0 1 0 30.0061 24.2536 9.99798 0 0 1 0.866 8 6 6 0 +1182 0 1 0 30.5062 25.1198 9.99798 0 0 1 0.866 8 6 6 0 +1183 0 1 0 31.0063 24.2536 9.99798 0 0 1 0.866 8 6 6 0 +1184 0 1 0 31.5064 25.1198 9.99798 0 0 1 0.866 8 6 6 0 +1185 0 1 0 32.0065 24.2536 9.99798 0 0 1 0.866 8 6 6 0 +1186 0 1 0 32.5066 25.1198 9.99798 0 0 1 0.866 8 6 6 0 +1187 0 1 0 33.0067 24.2536 9.99798 0 0 1 0.866 8 6 6 0 +1188 0 1 0 33.5068 25.1198 9.99798 0 0 1 0.866 8 6 6 0 +1189 0 1 0 34.0069 24.2536 9.99798 0 0 1 0.866 8 6 6 0 +1190 0 1 0 34.507 25.1198 9.99798 0 0 1 0.866 8 6 6 0 +1191 0 1 0 35.0071 24.2536 9.99798 0 0 1 0.866 8 6 6 0 +1192 0 1 0 35.5072 25.1198 9.99798 0 0 1 0.866 8 6 6 0 +1193 0 1 0 36.0073 24.2536 9.99798 0 0 1 0.866 8 6 6 0 +1194 0 1 0 36.5074 25.1198 9.99798 0 0 1 0.866 8 6 6 0 +1195 0 1 0 37.0075 24.2536 9.99798 0 0 1 0.866 8 6 6 0 +1196 0 1 0 37.5076 25.1198 9.99798 0 0 1 0.866 8 6 6 0 +1197 0 1 0 38.0077 24.2536 9.99798 0 0 1 0.866 8 6 6 0 +1198 0 1 0 38.5078 25.1198 9.99798 0 0 1 0.866 8 6 6 0 +1199 0 1 0 39.0079 24.2536 9.99798 0 0 1 0.866 8 6 6 0 +1200 0 1 0 39.508 25.1198 9.99798 0 0 1 0.866 8 6 6 0 +1201 0 1 0 0 25.986 9.99798 0 0 1 0.866 8 6 6 0 +1202 0 1 0 0.500101 26.8522 9.99798 0 0 1 0.866 8 6 6 0 +1203 0 1 0 1.0002 25.986 9.99798 0 0 1 0.866 8 6 6 0 +1204 0 1 0 1.5003 26.8522 9.99798 0 0 1 0.866 8 6 6 0 +1205 0 1 0 2.0004 25.986 9.99798 0 0 1 0.866 8 6 6 0 +1206 0 1 0 2.50051 26.8522 9.99798 0 0 1 0.866 8 6 6 0 +1207 0 1 0 3.00061 25.986 9.99798 0 0 1 0.866 8 6 6 0 +1208 0 1 0 3.50071 26.8522 9.99798 0 0 1 0.866 8 6 6 0 +1209 0 1 0 4.00081 25.986 9.99798 0 0 1 0.866 8 6 6 0 +1210 0 1 0 4.50091 26.8522 9.99798 0 0 1 0.866 8 6 6 0 +1211 0 1 0 5.00101 25.986 9.99798 0 0 1 0.866 8 6 6 0 +1212 0 1 0 5.50111 26.8522 9.99798 0 0 1 0.866 8 6 6 0 +1213 0 1 0 6.00121 25.986 9.99798 0 0 1 0.866 8 6 6 0 +1214 0 1 0 6.50132 26.8522 9.99798 0 0 1 0.866 8 6 6 0 +1215 0 1 0 7.00142 25.986 9.99798 0 0 1 0.866 8 6 6 0 +1216 0 1 0 7.50152 26.8522 9.99798 0 0 1 0.866 8 6 6 0 +1217 0 1 0 8.00162 25.986 9.99798 0 0 1 0.866 8 6 6 0 +1218 0 1 0 8.50172 26.8522 9.99798 0 0 1 0.866 8 6 6 0 +1219 0 1 0 9.00182 25.986 9.99798 0 0 1 0.866 8 6 6 0 +1220 0 1 0 9.50192 26.8522 9.99798 0 0 1 0.866 8 6 6 0 +1221 0 1 0 10.002 25.986 9.99798 0 0 1 0.866 8 6 6 0 +1222 0 1 0 10.5021 26.8522 9.99798 0 0 1 0.866 8 6 6 0 +1223 0 1 0 11.0022 25.986 9.99798 0 0 1 0.866 8 6 6 0 +1224 0 1 0 11.5023 26.8522 9.99798 0 0 1 0.866 8 6 6 0 +1225 0 1 0 12.0024 25.986 9.99798 0 0 1 0.866 8 6 6 0 +1226 0 1 0 12.5025 26.8522 9.99798 0 0 1 0.866 8 6 6 0 +1227 0 1 0 13.0026 25.986 9.99798 0 0 1 0.866 8 6 6 0 +1228 0 1 0 13.5027 26.8522 9.99798 0 0 1 0.866 8 6 6 0 +1229 0 1 0 14.0028 25.986 9.99798 0 0 1 0.866 8 6 6 0 +1230 0 1 0 14.5029 26.8522 9.99798 0 0 1 0.866 8 6 6 0 +1231 0 1 0 15.003 25.986 9.99798 0 0 1 0.866 8 6 6 0 +1232 0 1 0 15.5031 26.8522 9.99798 0 0 1 0.866 8 6 6 0 +1233 0 1 0 16.0032 25.986 9.99798 0 0 1 0.866 8 6 6 0 +1234 0 1 0 16.5033 26.8522 9.99798 0 0 1 0.866 8 6 6 0 +1235 0 1 0 17.0034 25.986 9.99798 0 0 1 0.866 8 6 6 0 +1236 0 1 0 17.5035 26.8522 9.99798 0 0 1 0.866 8 6 6 0 +1237 0 1 0 18.0036 25.986 9.99798 0 0 1 0.866 8 6 6 0 +1238 0 1 0 18.5037 26.8522 9.99798 0 0 1 0.866 8 6 6 0 +1239 0 1 0 19.0038 25.986 9.99798 0 0 1 0.866 8 6 6 0 +1240 0 1 0 19.5039 26.8522 9.99798 0 0 1 0.866 8 6 6 0 +1241 0 1 0 20.004 25.986 9.99798 0 0 1 0.866 8 6 6 0 +1242 0 1 0 20.5041 26.8522 9.99798 0 0 1 0.866 8 6 6 0 +1243 0 1 0 21.0042 25.986 9.99798 0 0 1 0.866 8 6 6 0 +1244 0 1 0 21.5043 26.8522 9.99798 0 0 1 0.866 8 6 6 0 +1245 0 1 0 22.0045 25.986 9.99798 0 0 1 0.866 8 6 6 0 +1246 0 1 0 22.5046 26.8522 9.99798 0 0 1 0.866 8 6 6 0 +1247 0 1 0 23.0047 25.986 9.99798 0 0 1 0.866 8 6 6 0 +1248 0 1 0 23.5048 26.8522 9.99798 0 0 1 0.866 8 6 6 0 +1249 0 1 0 24.0049 25.986 9.99798 0 0 1 0.866 8 6 6 0 +1250 0 1 0 24.505 26.8522 9.99798 0 0 1 0.866 8 6 6 0 +1251 0 1 0 25.0051 25.986 9.99798 0 0 1 0.866 8 6 6 0 +1252 0 1 0 25.5052 26.8522 9.99798 0 0 1 0.866 8 6 6 0 +1253 0 1 0 26.0053 25.986 9.99798 0 0 1 0.866 8 6 6 0 +1254 0 1 0 26.5054 26.8522 9.99798 0 0 1 0.866 8 6 6 0 +1255 0 1 0 27.0055 25.986 9.99798 0 0 1 0.866 8 6 6 0 +1256 0 1 0 27.5056 26.8522 9.99798 0 0 1 0.866 8 6 6 0 +1257 0 1 0 28.0057 25.986 9.99798 0 0 1 0.866 8 6 6 0 +1258 0 1 0 28.5058 26.8522 9.99798 0 0 1 0.866 8 6 6 0 +1259 0 1 0 29.0059 25.986 9.99798 0 0 1 0.866 8 6 6 0 +1260 0 1 0 29.506 26.8522 9.99798 0 0 1 0.866 8 6 6 0 +1261 0 1 0 30.0061 25.986 9.99798 0 0 1 0.866 8 6 6 0 +1262 0 1 0 30.5062 26.8522 9.99798 0 0 1 0.866 8 6 6 0 +1263 0 1 0 31.0063 25.986 9.99798 0 0 1 0.866 8 6 6 0 +1264 0 1 0 31.5064 26.8522 9.99798 0 0 1 0.866 8 6 6 0 +1265 0 1 0 32.0065 25.986 9.99798 0 0 1 0.866 8 6 6 0 +1266 0 1 0 32.5066 26.8522 9.99798 0 0 1 0.866 8 6 6 0 +1267 0 1 0 33.0067 25.986 9.99798 0 0 1 0.866 8 6 6 0 +1268 0 1 0 33.5068 26.8522 9.99798 0 0 1 0.866 8 6 6 0 +1269 0 1 0 34.0069 25.986 9.99798 0 0 1 0.866 8 6 6 0 +1270 0 1 0 34.507 26.8522 9.99798 0 0 1 0.866 8 6 6 0 +1271 0 1 0 35.0071 25.986 9.99798 0 0 1 0.866 8 6 6 0 +1272 0 1 0 35.5072 26.8522 9.99798 0 0 1 0.866 8 6 6 0 +1273 0 1 0 36.0073 25.986 9.99798 0 0 1 0.866 8 6 6 0 +1274 0 1 0 36.5074 26.8522 9.99798 0 0 1 0.866 8 6 6 0 +1275 0 1 0 37.0075 25.986 9.99798 0 0 1 0.866 8 6 6 0 +1276 0 1 0 37.5076 26.8522 9.99798 0 0 1 0.866 8 6 6 0 +1277 0 1 0 38.0077 25.986 9.99798 0 0 1 0.866 8 6 6 0 +1278 0 1 0 38.5078 26.8522 9.99798 0 0 1 0.866 8 6 6 0 +1279 0 1 0 39.0079 25.986 9.99798 0 0 1 0.866 8 6 6 0 +1280 0 1 0 39.508 26.8522 9.99798 0 0 1 0.866 8 6 6 0 +1281 0 1 0 0 27.7184 9.99798 0 0 1 0.866 8 6 6 0 +1282 0 1 0 0.500101 28.5846 9.99798 0 0 1 0.866 8 6 6 0 +1283 0 1 0 1.0002 27.7184 9.99798 0 0 1 0.866 8 6 6 0 +1284 0 1 0 1.5003 28.5846 9.99798 0 0 1 0.866 8 6 6 0 +1285 0 1 0 2.0004 27.7184 9.99798 0 0 1 0.866 8 6 6 0 +1286 0 1 0 2.50051 28.5846 9.99798 0 0 1 0.866 8 6 6 0 +1287 0 1 0 3.00061 27.7184 9.99798 0 0 1 0.866 8 6 6 0 +1288 0 1 0 3.50071 28.5846 9.99798 0 0 1 0.866 8 6 6 0 +1289 0 1 0 4.00081 27.7184 9.99798 0 0 1 0.866 8 6 6 0 +1290 0 1 0 4.50091 28.5846 9.99798 0 0 1 0.866 8 6 6 0 +1291 0 1 0 5.00101 27.7184 9.99798 0 0 1 0.866 8 6 6 0 +1292 0 1 0 5.50111 28.5846 9.99798 0 0 1 0.866 8 6 6 0 +1293 0 1 0 6.00121 27.7184 9.99798 0 0 1 0.866 8 6 6 0 +1294 0 1 0 6.50132 28.5846 9.99798 0 0 1 0.866 8 6 6 0 +1295 0 1 0 7.00142 27.7184 9.99798 0 0 1 0.866 8 6 6 0 +1296 0 1 0 7.50152 28.5846 9.99798 0 0 1 0.866 8 6 6 0 +1297 0 1 0 8.00162 27.7184 9.99798 0 0 1 0.866 8 6 6 0 +1298 0 1 0 8.50172 28.5846 9.99798 0 0 1 0.866 8 6 6 0 +1299 0 1 0 9.00182 27.7184 9.99798 0 0 1 0.866 8 6 6 0 +1300 0 1 0 9.50192 28.5846 9.99798 0 0 1 0.866 8 6 6 0 +1301 0 1 0 10.002 27.7184 9.99798 0 0 1 0.866 8 6 6 0 +1302 0 1 0 10.5021 28.5846 9.99798 0 0 1 0.866 8 6 6 0 +1303 0 1 0 11.0022 27.7184 9.99798 0 0 1 0.866 8 6 6 0 +1304 0 1 0 11.5023 28.5846 9.99798 0 0 1 0.866 8 6 6 0 +1305 0 1 0 12.0024 27.7184 9.99798 0 0 1 0.866 8 6 6 0 +1306 0 1 0 12.5025 28.5846 9.99798 0 0 1 0.866 8 6 6 0 +1307 0 1 0 13.0026 27.7184 9.99798 0 0 1 0.866 8 6 6 0 +1308 0 1 0 13.5027 28.5846 9.99798 0 0 1 0.866 8 6 6 0 +1309 0 1 0 14.0028 27.7184 9.99798 0 0 1 0.866 8 6 6 0 +1310 0 1 0 14.5029 28.5846 9.99798 0 0 1 0.866 8 6 6 0 +1311 0 1 0 15.003 27.7184 9.99798 0 0 1 0.866 8 6 6 0 +1312 0 1 0 15.5031 28.5846 9.99798 0 0 1 0.866 8 6 6 0 +1313 0 1 0 16.0032 27.7184 9.99798 0 0 1 0.866 8 6 6 0 +1314 0 1 0 16.5033 28.5846 9.99798 0 0 1 0.866 8 6 6 0 +1315 0 1 0 17.0034 27.7184 9.99798 0 0 1 0.866 8 6 6 0 +1316 0 1 0 17.5035 28.5846 9.99798 0 0 1 0.866 8 6 6 0 +1317 0 1 0 18.0036 27.7184 9.99798 0 0 1 0.866 8 6 6 0 +1318 0 1 0 18.5037 28.5846 9.99798 0 0 1 0.866 8 6 6 0 +1319 0 1 0 19.0038 27.7184 9.99798 0 0 1 0.866 8 6 6 0 +1320 0 1 0 19.5039 28.5846 9.99798 0 0 1 0.866 8 6 6 0 +1321 0 1 0 20.004 27.7184 9.99798 0 0 1 0.866 8 6 6 0 +1322 0 1 0 20.5041 28.5846 9.99798 0 0 1 0.866 8 6 6 0 +1323 0 1 0 21.0042 27.7184 9.99798 0 0 1 0.866 8 6 6 0 +1324 0 1 0 21.5043 28.5846 9.99798 0 0 1 0.866 8 6 6 0 +1325 0 1 0 22.0045 27.7184 9.99798 0 0 1 0.866 8 6 6 0 +1326 0 1 0 22.5046 28.5846 9.99798 0 0 1 0.866 8 6 6 0 +1327 0 1 0 23.0047 27.7184 9.99798 0 0 1 0.866 8 6 6 0 +1328 0 1 0 23.5048 28.5846 9.99798 0 0 1 0.866 8 6 6 0 +1329 0 1 0 24.0049 27.7184 9.99798 0 0 1 0.866 8 6 6 0 +1330 0 1 0 24.505 28.5846 9.99798 0 0 1 0.866 8 6 6 0 +1331 0 1 0 25.0051 27.7184 9.99798 0 0 1 0.866 8 6 6 0 +1332 0 1 0 25.5052 28.5846 9.99798 0 0 1 0.866 8 6 6 0 +1333 0 1 0 26.0053 27.7184 9.99798 0 0 1 0.866 8 6 6 0 +1334 0 1 0 26.5054 28.5846 9.99798 0 0 1 0.866 8 6 6 0 +1335 0 1 0 27.0055 27.7184 9.99798 0 0 1 0.866 8 6 6 0 +1336 0 1 0 27.5056 28.5846 9.99798 0 0 1 0.866 8 6 6 0 +1337 0 1 0 28.0057 27.7184 9.99798 0 0 1 0.866 8 6 6 0 +1338 0 1 0 28.5058 28.5846 9.99798 0 0 1 0.866 8 6 6 0 +1339 0 1 0 29.0059 27.7184 9.99798 0 0 1 0.866 8 6 6 0 +1340 0 1 0 29.506 28.5846 9.99798 0 0 1 0.866 8 6 6 0 +1341 0 1 0 30.0061 27.7184 9.99798 0 0 1 0.866 8 6 6 0 +1342 0 1 0 30.5062 28.5846 9.99798 0 0 1 0.866 8 6 6 0 +1343 0 1 0 31.0063 27.7184 9.99798 0 0 1 0.866 8 6 6 0 +1344 0 1 0 31.5064 28.5846 9.99798 0 0 1 0.866 8 6 6 0 +1345 0 1 0 32.0065 27.7184 9.99798 0 0 1 0.866 8 6 6 0 +1346 0 1 0 32.5066 28.5846 9.99798 0 0 1 0.866 8 6 6 0 +1347 0 1 0 33.0067 27.7184 9.99798 0 0 1 0.866 8 6 6 0 +1348 0 1 0 33.5068 28.5846 9.99798 0 0 1 0.866 8 6 6 0 +1349 0 1 0 34.0069 27.7184 9.99798 0 0 1 0.866 8 6 6 0 +1350 0 1 0 34.507 28.5846 9.99798 0 0 1 0.866 8 6 6 0 +1351 0 1 0 35.0071 27.7184 9.99798 0 0 1 0.866 8 6 6 0 +1352 0 1 0 35.5072 28.5846 9.99798 0 0 1 0.866 8 6 6 0 +1353 0 1 0 36.0073 27.7184 9.99798 0 0 1 0.866 8 6 6 0 +1354 0 1 0 36.5074 28.5846 9.99798 0 0 1 0.866 8 6 6 0 +1355 0 1 0 37.0075 27.7184 9.99798 0 0 1 0.866 8 6 6 0 +1356 0 1 0 37.5076 28.5846 9.99798 0 0 1 0.866 8 6 6 0 +1357 0 1 0 38.0077 27.7184 9.99798 0 0 1 0.866 8 6 6 0 +1358 0 1 0 38.5078 28.5846 9.99798 0 0 1 0.866 8 6 6 0 +1359 0 1 0 39.0079 27.7184 9.99798 0 0 1 0.866 8 6 6 0 +1360 0 1 0 39.508 28.5846 9.99798 0 0 1 0.866 8 6 6 0 +1361 0 1 0 0 29.4508 9.99798 0 0 1 0.866 8 6 6 0 +1362 0 1 0 0.500101 30.317 9.99798 0 0 1 0.866 8 6 6 0 +1363 0 1 0 1.0002 29.4508 9.99798 0 0 1 0.866 8 6 6 0 +1364 0 1 0 1.5003 30.317 9.99798 0 0 1 0.866 8 6 6 0 +1365 0 1 0 2.0004 29.4508 9.99798 0 0 1 0.866 8 6 6 0 +1366 0 1 0 2.50051 30.317 9.99798 0 0 1 0.866 8 6 6 0 +1367 0 1 0 3.00061 29.4508 9.99798 0 0 1 0.866 8 6 6 0 +1368 0 1 0 3.50071 30.317 9.99798 0 0 1 0.866 8 6 6 0 +1369 0 1 0 4.00081 29.4508 9.99798 0 0 1 0.866 8 6 6 0 +1370 0 1 0 4.50091 30.317 9.99798 0 0 1 0.866 8 6 6 0 +1371 0 1 0 5.00101 29.4508 9.99798 0 0 1 0.866 8 6 6 0 +1372 0 1 0 5.50111 30.317 9.99798 0 0 1 0.866 8 6 6 0 +1373 0 1 0 6.00121 29.4508 9.99798 0 0 1 0.866 8 6 6 0 +1374 0 1 0 6.50132 30.317 9.99798 0 0 1 0.866 8 6 6 0 +1375 0 1 0 7.00142 29.4508 9.99798 0 0 1 0.866 8 6 6 0 +1376 0 1 0 7.50152 30.317 9.99798 0 0 1 0.866 8 6 6 0 +1377 0 1 0 8.00162 29.4508 9.99798 0 0 1 0.866 8 6 6 0 +1378 0 1 0 8.50172 30.317 9.99798 0 0 1 0.866 8 6 6 0 +1379 0 1 0 9.00182 29.4508 9.99798 0 0 1 0.866 8 6 6 0 +1380 0 1 0 9.50192 30.317 9.99798 0 0 1 0.866 8 6 6 0 +1381 0 1 0 10.002 29.4508 9.99798 0 0 1 0.866 8 6 6 0 +1382 0 1 0 10.5021 30.317 9.99798 0 0 1 0.866 8 6 6 0 +1383 0 1 0 11.0022 29.4508 9.99798 0 0 1 0.866 8 6 6 0 +1384 0 1 0 11.5023 30.317 9.99798 0 0 1 0.866 8 6 6 0 +1385 0 1 0 12.0024 29.4508 9.99798 0 0 1 0.866 8 6 6 0 +1386 0 1 0 12.5025 30.317 9.99798 0 0 1 0.866 8 6 6 0 +1387 0 1 0 13.0026 29.4508 9.99798 0 0 1 0.866 8 6 6 0 +1388 0 1 0 13.5027 30.317 9.99798 0 0 1 0.866 8 6 6 0 +1389 0 1 0 14.0028 29.4508 9.99798 0 0 1 0.866 8 6 6 0 +1390 0 1 0 14.5029 30.317 9.99798 0 0 1 0.866 8 6 6 0 +1391 0 1 0 15.003 29.4508 9.99798 0 0 1 0.866 8 6 6 0 +1392 0 1 0 15.5031 30.317 9.99798 0 0 1 0.866 8 6 6 0 +1393 0 1 0 16.0032 29.4508 9.99798 0 0 1 0.866 8 6 6 0 +1394 0 1 0 16.5033 30.317 9.99798 0 0 1 0.866 8 6 6 0 +1395 0 1 0 17.0034 29.4508 9.99798 0 0 1 0.866 8 6 6 0 +1396 0 1 0 17.5035 30.317 9.99798 0 0 1 0.866 8 6 6 0 +1397 0 1 0 18.0036 29.4508 9.99798 0 0 1 0.866 8 6 6 0 +1398 0 1 0 18.5037 30.317 9.99798 0 0 1 0.866 8 6 6 0 +1399 0 1 0 19.0038 29.4508 9.99798 0 0 1 0.866 8 6 6 0 +1400 0 1 0 19.5039 30.317 9.99798 0 0 1 0.866 8 6 6 0 +1401 0 1 0 20.004 29.4508 9.99798 0 0 1 0.866 8 6 6 0 +1402 0 1 0 20.5041 30.317 9.99798 0 0 1 0.866 8 6 6 0 +1403 0 1 0 21.0042 29.4508 9.99798 0 0 1 0.866 8 6 6 0 +1404 0 1 0 21.5043 30.317 9.99798 0 0 1 0.866 8 6 6 0 +1405 0 1 0 22.0045 29.4508 9.99798 0 0 1 0.866 8 6 6 0 +1406 0 1 0 22.5046 30.317 9.99798 0 0 1 0.866 8 6 6 0 +1407 0 1 0 23.0047 29.4508 9.99798 0 0 1 0.866 8 6 6 0 +1408 0 1 0 23.5048 30.317 9.99798 0 0 1 0.866 8 6 6 0 +1409 0 1 0 24.0049 29.4508 9.99798 0 0 1 0.866 8 6 6 0 +1410 0 1 0 24.505 30.317 9.99798 0 0 1 0.866 8 6 6 0 +1411 0 1 0 25.0051 29.4508 9.99798 0 0 1 0.866 8 6 6 0 +1412 0 1 0 25.5052 30.317 9.99798 0 0 1 0.866 8 6 6 0 +1413 0 1 0 26.0053 29.4508 9.99798 0 0 1 0.866 8 6 6 0 +1414 0 1 0 26.5054 30.317 9.99798 0 0 1 0.866 8 6 6 0 +1415 0 1 0 27.0055 29.4508 9.99798 0 0 1 0.866 8 6 6 0 +1416 0 1 0 27.5056 30.317 9.99798 0 0 1 0.866 8 6 6 0 +1417 0 1 0 28.0057 29.4508 9.99798 0 0 1 0.866 8 6 6 0 +1418 0 1 0 28.5058 30.317 9.99798 0 0 1 0.866 8 6 6 0 +1419 0 1 0 29.0059 29.4508 9.99798 0 0 1 0.866 8 6 6 0 +1420 0 1 0 29.506 30.317 9.99798 0 0 1 0.866 8 6 6 0 +1421 0 1 0 30.0061 29.4508 9.99798 0 0 1 0.866 8 6 6 0 +1422 0 1 0 30.5062 30.317 9.99798 0 0 1 0.866 8 6 6 0 +1423 0 1 0 31.0063 29.4508 9.99798 0 0 1 0.866 8 6 6 0 +1424 0 1 0 31.5064 30.317 9.99798 0 0 1 0.866 8 6 6 0 +1425 0 1 0 32.0065 29.4508 9.99798 0 0 1 0.866 8 6 6 0 +1426 0 1 0 32.5066 30.317 9.99798 0 0 1 0.866 8 6 6 0 +1427 0 1 0 33.0067 29.4508 9.99798 0 0 1 0.866 8 6 6 0 +1428 0 1 0 33.5068 30.317 9.99798 0 0 1 0.866 8 6 6 0 +1429 0 1 0 34.0069 29.4508 9.99798 0 0 1 0.866 8 6 6 0 +1430 0 1 0 34.507 30.317 9.99798 0 0 1 0.866 8 6 6 0 +1431 0 1 0 35.0071 29.4508 9.99798 0 0 1 0.866 8 6 6 0 +1432 0 1 0 35.5072 30.317 9.99798 0 0 1 0.866 8 6 6 0 +1433 0 1 0 36.0073 29.4508 9.99798 0 0 1 0.866 8 6 6 0 +1434 0 1 0 36.5074 30.317 9.99798 0 0 1 0.866 8 6 6 0 +1435 0 1 0 37.0075 29.4508 9.99798 0 0 1 0.866 8 6 6 0 +1436 0 1 0 37.5076 30.317 9.99798 0 0 1 0.866 8 6 6 0 +1437 0 1 0 38.0077 29.4508 9.99798 0 0 1 0.866 8 6 6 0 +1438 0 1 0 38.5078 30.317 9.99798 0 0 1 0.866 8 6 6 0 +1439 0 1 0 39.0079 29.4508 9.99798 0 0 1 0.866 8 6 6 0 +1440 0 1 0 39.508 30.317 9.99798 0 0 1 0.866 8 6 6 0 +1441 0 1 0 0 31.1832 9.99798 0 0 1 0.866 8 6 6 0 +1442 0 1 0 0.500101 32.0494 9.99798 0 0 1 0.866 8 6 6 0 +1443 0 1 0 1.0002 31.1832 9.99798 0 0 1 0.866 8 6 6 0 +1444 0 1 0 1.5003 32.0494 9.99798 0 0 1 0.866 8 6 6 0 +1445 0 1 0 2.0004 31.1832 9.99798 0 0 1 0.866 8 6 6 0 +1446 0 1 0 2.50051 32.0494 9.99798 0 0 1 0.866 8 6 6 0 +1447 0 1 0 3.00061 31.1832 9.99798 0 0 1 0.866 8 6 6 0 +1448 0 1 0 3.50071 32.0494 9.99798 0 0 1 0.866 8 6 6 0 +1449 0 1 0 4.00081 31.1832 9.99798 0 0 1 0.866 8 6 6 0 +1450 0 1 0 4.50091 32.0494 9.99798 0 0 1 0.866 8 6 6 0 +1451 0 1 0 5.00101 31.1832 9.99798 0 0 1 0.866 8 6 6 0 +1452 0 1 0 5.50111 32.0494 9.99798 0 0 1 0.866 8 6 6 0 +1453 0 1 0 6.00121 31.1832 9.99798 0 0 1 0.866 8 6 6 0 +1454 0 1 0 6.50132 32.0494 9.99798 0 0 1 0.866 8 6 6 0 +1455 0 1 0 7.00142 31.1832 9.99798 0 0 1 0.866 8 6 6 0 +1456 0 1 0 7.50152 32.0494 9.99798 0 0 1 0.866 8 6 6 0 +1457 0 1 0 8.00162 31.1832 9.99798 0 0 1 0.866 8 6 6 0 +1458 0 1 0 8.50172 32.0494 9.99798 0 0 1 0.866 8 6 6 0 +1459 0 1 0 9.00182 31.1832 9.99798 0 0 1 0.866 8 6 6 0 +1460 0 1 0 9.50192 32.0494 9.99798 0 0 1 0.866 8 6 6 0 +1461 0 1 0 10.002 31.1832 9.99798 0 0 1 0.866 8 6 6 0 +1462 0 1 0 10.5021 32.0494 9.99798 0 0 1 0.866 8 6 6 0 +1463 0 1 0 11.0022 31.1832 9.99798 0 0 1 0.866 8 6 6 0 +1464 0 1 0 11.5023 32.0494 9.99798 0 0 1 0.866 8 6 6 0 +1465 0 1 0 12.0024 31.1832 9.99798 0 0 1 0.866 8 6 6 0 +1466 0 1 0 12.5025 32.0494 9.99798 0 0 1 0.866 8 6 6 0 +1467 0 1 0 13.0026 31.1832 9.99798 0 0 1 0.866 8 6 6 0 +1468 0 1 0 13.5027 32.0494 9.99798 0 0 1 0.866 8 6 6 0 +1469 0 1 0 14.0028 31.1832 9.99798 0 0 1 0.866 8 6 6 0 +1470 0 1 0 14.5029 32.0494 9.99798 0 0 1 0.866 8 6 6 0 +1471 0 1 0 15.003 31.1832 9.99798 0 0 1 0.866 8 6 6 0 +1472 0 1 0 15.5031 32.0494 9.99798 0 0 1 0.866 8 6 6 0 +1473 0 1 0 16.0032 31.1832 9.99798 0 0 1 0.866 8 6 6 0 +1474 0 1 0 16.5033 32.0494 9.99798 0 0 1 0.866 8 6 6 0 +1475 0 1 0 17.0034 31.1832 9.99798 0 0 1 0.866 8 6 6 0 +1476 0 1 0 17.5035 32.0494 9.99798 0 0 1 0.866 8 6 6 0 +1477 0 1 0 18.0036 31.1832 9.99798 0 0 1 0.866 8 6 6 0 +1478 0 1 0 18.5037 32.0494 9.99798 0 0 1 0.866 8 6 6 0 +1479 0 1 0 19.0038 31.1832 9.99798 0 0 1 0.866 8 6 6 0 +1480 0 1 0 19.5039 32.0494 9.99798 0 0 1 0.866 8 6 6 0 +1481 0 1 0 20.004 31.1832 9.99798 0 0 1 0.866 8 6 6 0 +1482 0 1 0 20.5041 32.0494 9.99798 0 0 1 0.866 8 6 6 0 +1483 0 1 0 21.0042 31.1832 9.99798 0 0 1 0.866 8 6 6 0 +1484 0 1 0 21.5043 32.0494 9.99798 0 0 1 0.866 8 6 6 0 +1485 0 1 0 22.0045 31.1832 9.99798 0 0 1 0.866 8 6 6 0 +1486 0 1 0 22.5046 32.0494 9.99798 0 0 1 0.866 8 6 6 0 +1487 0 1 0 23.0047 31.1832 9.99798 0 0 1 0.866 8 6 6 0 +1488 0 1 0 23.5048 32.0494 9.99798 0 0 1 0.866 8 6 6 0 +1489 0 1 0 24.0049 31.1832 9.99798 0 0 1 0.866 8 6 6 0 +1490 0 1 0 24.505 32.0494 9.99798 0 0 1 0.866 8 6 6 0 +1491 0 1 0 25.0051 31.1832 9.99798 0 0 1 0.866 8 6 6 0 +1492 0 1 0 25.5052 32.0494 9.99798 0 0 1 0.866 8 6 6 0 +1493 0 1 0 26.0053 31.1832 9.99798 0 0 1 0.866 8 6 6 0 +1494 0 1 0 26.5054 32.0494 9.99798 0 0 1 0.866 8 6 6 0 +1495 0 1 0 27.0055 31.1832 9.99798 0 0 1 0.866 8 6 6 0 +1496 0 1 0 27.5056 32.0494 9.99798 0 0 1 0.866 8 6 6 0 +1497 0 1 0 28.0057 31.1832 9.99798 0 0 1 0.866 8 6 6 0 +1498 0 1 0 28.5058 32.0494 9.99798 0 0 1 0.866 8 6 6 0 +1499 0 1 0 29.0059 31.1832 9.99798 0 0 1 0.866 8 6 6 0 +1500 0 1 0 29.506 32.0494 9.99798 0 0 1 0.866 8 6 6 0 +1501 0 1 0 30.0061 31.1832 9.99798 0 0 1 0.866 8 6 6 0 +1502 0 1 0 30.5062 32.0494 9.99798 0 0 1 0.866 8 6 6 0 +1503 0 1 0 31.0063 31.1832 9.99798 0 0 1 0.866 8 6 6 0 +1504 0 1 0 31.5064 32.0494 9.99798 0 0 1 0.866 8 6 6 0 +1505 0 1 0 32.0065 31.1832 9.99798 0 0 1 0.866 8 6 6 0 +1506 0 1 0 32.5066 32.0494 9.99798 0 0 1 0.866 8 6 6 0 +1507 0 1 0 33.0067 31.1832 9.99798 0 0 1 0.866 8 6 6 0 +1508 0 1 0 33.5068 32.0494 9.99798 0 0 1 0.866 8 6 6 0 +1509 0 1 0 34.0069 31.1832 9.99798 0 0 1 0.866 8 6 6 0 +1510 0 1 0 34.507 32.0494 9.99798 0 0 1 0.866 8 6 6 0 +1511 0 1 0 35.0071 31.1832 9.99798 0 0 1 0.866 8 6 6 0 +1512 0 1 0 35.5072 32.0494 9.99798 0 0 1 0.866 8 6 6 0 +1513 0 1 0 36.0073 31.1832 9.99798 0 0 1 0.866 8 6 6 0 +1514 0 1 0 36.5074 32.0494 9.99798 0 0 1 0.866 8 6 6 0 +1515 0 1 0 37.0075 31.1832 9.99798 0 0 1 0.866 8 6 6 0 +1516 0 1 0 37.5076 32.0494 9.99798 0 0 1 0.866 8 6 6 0 +1517 0 1 0 38.0077 31.1832 9.99798 0 0 1 0.866 8 6 6 0 +1518 0 1 0 38.5078 32.0494 9.99798 0 0 1 0.866 8 6 6 0 +1519 0 1 0 39.0079 31.1832 9.99798 0 0 1 0.866 8 6 6 0 +1520 0 1 0 39.508 32.0494 9.99798 0 0 1 0.866 8 6 6 0 +1521 0 1 0 0 32.9156 9.99798 0 0 1 0.866 8 6 6 0 +1522 0 1 0 0.500101 33.7818 9.99798 0 0 1 0.866 8 6 6 0 +1523 0 1 0 1.0002 32.9156 9.99798 0 0 1 0.866 8 6 6 0 +1524 0 1 0 1.5003 33.7818 9.99798 0 0 1 0.866 8 6 6 0 +1525 0 1 0 2.0004 32.9156 9.99798 0 0 1 0.866 8 6 6 0 +1526 0 1 0 2.50051 33.7818 9.99798 0 0 1 0.866 8 6 6 0 +1527 0 1 0 3.00061 32.9156 9.99798 0 0 1 0.866 8 6 6 0 +1528 0 1 0 3.50071 33.7818 9.99798 0 0 1 0.866 8 6 6 0 +1529 0 1 0 4.00081 32.9156 9.99798 0 0 1 0.866 8 6 6 0 +1530 0 1 0 4.50091 33.7818 9.99798 0 0 1 0.866 8 6 6 0 +1531 0 1 0 5.00101 32.9156 9.99798 0 0 1 0.866 8 6 6 0 +1532 0 1 0 5.50111 33.7818 9.99798 0 0 1 0.866 8 6 6 0 +1533 0 1 0 6.00121 32.9156 9.99798 0 0 1 0.866 8 6 6 0 +1534 0 1 0 6.50132 33.7818 9.99798 0 0 1 0.866 8 6 6 0 +1535 0 1 0 7.00142 32.9156 9.99798 0 0 1 0.866 8 6 6 0 +1536 0 1 0 7.50152 33.7818 9.99798 0 0 1 0.866 8 6 6 0 +1537 0 1 0 8.00162 32.9156 9.99798 0 0 1 0.866 8 6 6 0 +1538 0 1 0 8.50172 33.7818 9.99798 0 0 1 0.866 8 6 6 0 +1539 0 1 0 9.00182 32.9156 9.99798 0 0 1 0.866 8 6 6 0 +1540 0 1 0 9.50192 33.7818 9.99798 0 0 1 0.866 8 6 6 0 +1541 0 1 0 10.002 32.9156 9.99798 0 0 1 0.866 8 6 6 0 +1542 0 1 0 10.5021 33.7818 9.99798 0 0 1 0.866 8 6 6 0 +1543 0 1 0 11.0022 32.9156 9.99798 0 0 1 0.866 8 6 6 0 +1544 0 1 0 11.5023 33.7818 9.99798 0 0 1 0.866 8 6 6 0 +1545 0 1 0 12.0024 32.9156 9.99798 0 0 1 0.866 8 6 6 0 +1546 0 1 0 12.5025 33.7818 9.99798 0 0 1 0.866 8 6 6 0 +1547 0 1 0 13.0026 32.9156 9.99798 0 0 1 0.866 8 6 6 0 +1548 0 1 0 13.5027 33.7818 9.99798 0 0 1 0.866 8 6 6 0 +1549 0 1 0 14.0028 32.9156 9.99798 0 0 1 0.866 8 6 6 0 +1550 0 1 0 14.5029 33.7818 9.99798 0 0 1 0.866 8 6 6 0 +1551 0 1 0 15.003 32.9156 9.99798 0 0 1 0.866 8 6 6 0 +1552 0 1 0 15.5031 33.7818 9.99798 0 0 1 0.866 8 6 6 0 +1553 0 1 0 16.0032 32.9156 9.99798 0 0 1 0.866 8 6 6 0 +1554 0 1 0 16.5033 33.7818 9.99798 0 0 1 0.866 8 6 6 0 +1555 0 1 0 17.0034 32.9156 9.99798 0 0 1 0.866 8 6 6 0 +1556 0 1 0 17.5035 33.7818 9.99798 0 0 1 0.866 8 6 6 0 +1557 0 1 0 18.0036 32.9156 9.99798 0 0 1 0.866 8 6 6 0 +1558 0 1 0 18.5037 33.7818 9.99798 0 0 1 0.866 8 6 6 0 +1559 0 1 0 19.0038 32.9156 9.99798 0 0 1 0.866 8 6 6 0 +1560 0 1 0 19.5039 33.7818 9.99798 0 0 1 0.866 8 6 6 0 +1561 0 1 0 20.004 32.9156 9.99798 0 0 1 0.866 8 6 6 0 +1562 0 1 0 20.5041 33.7818 9.99798 0 0 1 0.866 8 6 6 0 +1563 0 1 0 21.0042 32.9156 9.99798 0 0 1 0.866 8 6 6 0 +1564 0 1 0 21.5043 33.7818 9.99798 0 0 1 0.866 8 6 6 0 +1565 0 1 0 22.0045 32.9156 9.99798 0 0 1 0.866 8 6 6 0 +1566 0 1 0 22.5046 33.7818 9.99798 0 0 1 0.866 8 6 6 0 +1567 0 1 0 23.0047 32.9156 9.99798 0 0 1 0.866 8 6 6 0 +1568 0 1 0 23.5048 33.7818 9.99798 0 0 1 0.866 8 6 6 0 +1569 0 1 0 24.0049 32.9156 9.99798 0 0 1 0.866 8 6 6 0 +1570 0 1 0 24.505 33.7818 9.99798 0 0 1 0.866 8 6 6 0 +1571 0 1 0 25.0051 32.9156 9.99798 0 0 1 0.866 8 6 6 0 +1572 0 1 0 25.5052 33.7818 9.99798 0 0 1 0.866 8 6 6 0 +1573 0 1 0 26.0053 32.9156 9.99798 0 0 1 0.866 8 6 6 0 +1574 0 1 0 26.5054 33.7818 9.99798 0 0 1 0.866 8 6 6 0 +1575 0 1 0 27.0055 32.9156 9.99798 0 0 1 0.866 8 6 6 0 +1576 0 1 0 27.5056 33.7818 9.99798 0 0 1 0.866 8 6 6 0 +1577 0 1 0 28.0057 32.9156 9.99798 0 0 1 0.866 8 6 6 0 +1578 0 1 0 28.5058 33.7818 9.99798 0 0 1 0.866 8 6 6 0 +1579 0 1 0 29.0059 32.9156 9.99798 0 0 1 0.866 8 6 6 0 +1580 0 1 0 29.506 33.7818 9.99798 0 0 1 0.866 8 6 6 0 +1581 0 1 0 30.0061 32.9156 9.99798 0 0 1 0.866 8 6 6 0 +1582 0 1 0 30.5062 33.7818 9.99798 0 0 1 0.866 8 6 6 0 +1583 0 1 0 31.0063 32.9156 9.99798 0 0 1 0.866 8 6 6 0 +1584 0 1 0 31.5064 33.7818 9.99798 0 0 1 0.866 8 6 6 0 +1585 0 1 0 32.0065 32.9156 9.99798 0 0 1 0.866 8 6 6 0 +1586 0 1 0 32.5066 33.7818 9.99798 0 0 1 0.866 8 6 6 0 +1587 0 1 0 33.0067 32.9156 9.99798 0 0 1 0.866 8 6 6 0 +1588 0 1 0 33.5068 33.7818 9.99798 0 0 1 0.866 8 6 6 0 +1589 0 1 0 34.0069 32.9156 9.99798 0 0 1 0.866 8 6 6 0 +1590 0 1 0 34.507 33.7818 9.99798 0 0 1 0.866 8 6 6 0 +1591 0 1 0 35.0071 32.9156 9.99798 0 0 1 0.866 8 6 6 0 +1592 0 1 0 35.5072 33.7818 9.99798 0 0 1 0.866 8 6 6 0 +1593 0 1 0 36.0073 32.9156 9.99798 0 0 1 0.866 8 6 6 0 +1594 0 1 0 36.5074 33.7818 9.99798 0 0 1 0.866 8 6 6 0 +1595 0 1 0 37.0075 32.9156 9.99798 0 0 1 0.866 8 6 6 0 +1596 0 1 0 37.5076 33.7818 9.99798 0 0 1 0.866 8 6 6 0 +1597 0 1 0 38.0077 32.9156 9.99798 0 0 1 0.866 8 6 6 0 +1598 0 1 0 38.5078 33.7818 9.99798 0 0 1 0.866 8 6 6 0 +1599 0 1 0 39.0079 32.9156 9.99798 0 0 1 0.866 8 6 6 0 +1600 0 1 0 39.508 33.7818 9.99798 0 0 1 0.866 8 6 6 0 +1601 0 1 0 0 34.648 9.99798 0 0 1 0.866 8 6 6 0 +1602 0 1 0 0.500101 35.5142 9.99798 0 0 1 0.866 8 6 6 0 +1603 0 1 0 1.0002 34.648 9.99798 0 0 1 0.866 8 6 6 0 +1604 0 1 0 1.5003 35.5142 9.99798 0 0 1 0.866 8 6 6 0 +1605 0 1 0 2.0004 34.648 9.99798 0 0 1 0.866 8 6 6 0 +1606 0 1 0 2.50051 35.5142 9.99798 0 0 1 0.866 8 6 6 0 +1607 0 1 0 3.00061 34.648 9.99798 0 0 1 0.866 8 6 6 0 +1608 0 1 0 3.50071 35.5142 9.99798 0 0 1 0.866 8 6 6 0 +1609 0 1 0 4.00081 34.648 9.99798 0 0 1 0.866 8 6 6 0 +1610 0 1 0 4.50091 35.5142 9.99798 0 0 1 0.866 8 6 6 0 +1611 0 1 0 5.00101 34.648 9.99798 0 0 1 0.866 8 6 6 0 +1612 0 1 0 5.50111 35.5142 9.99798 0 0 1 0.866 8 6 6 0 +1613 0 1 0 6.00121 34.648 9.99798 0 0 1 0.866 8 6 6 0 +1614 0 1 0 6.50132 35.5142 9.99798 0 0 1 0.866 8 6 6 0 +1615 0 1 0 7.00142 34.648 9.99798 0 0 1 0.866 8 6 6 0 +1616 0 1 0 7.50152 35.5142 9.99798 0 0 1 0.866 8 6 6 0 +1617 0 1 0 8.00162 34.648 9.99798 0 0 1 0.866 8 6 6 0 +1618 0 1 0 8.50172 35.5142 9.99798 0 0 1 0.866 8 6 6 0 +1619 0 1 0 9.00182 34.648 9.99798 0 0 1 0.866 8 6 6 0 +1620 0 1 0 9.50192 35.5142 9.99798 0 0 1 0.866 8 6 6 0 +1621 0 1 0 10.002 34.648 9.99798 0 0 1 0.866 8 6 6 0 +1622 0 1 0 10.5021 35.5142 9.99798 0 0 1 0.866 8 6 6 0 +1623 0 1 0 11.0022 34.648 9.99798 0 0 1 0.866 8 6 6 0 +1624 0 1 0 11.5023 35.5142 9.99798 0 0 1 0.866 8 6 6 0 +1625 0 1 0 12.0024 34.648 9.99798 0 0 1 0.866 8 6 6 0 +1626 0 1 0 12.5025 35.5142 9.99798 0 0 1 0.866 8 6 6 0 +1627 0 1 0 13.0026 34.648 9.99798 0 0 1 0.866 8 6 6 0 +1628 0 1 0 13.5027 35.5142 9.99798 0 0 1 0.866 8 6 6 0 +1629 0 1 0 14.0028 34.648 9.99798 0 0 1 0.866 8 6 6 0 +1630 0 1 0 14.5029 35.5142 9.99798 0 0 1 0.866 8 6 6 0 +1631 0 1 0 15.003 34.648 9.99798 0 0 1 0.866 8 6 6 0 +1632 0 1 0 15.5031 35.5142 9.99798 0 0 1 0.866 8 6 6 0 +1633 0 1 0 16.0032 34.648 9.99798 0 0 1 0.866 8 6 6 0 +1634 0 1 0 16.5033 35.5142 9.99798 0 0 1 0.866 8 6 6 0 +1635 0 1 0 17.0034 34.648 9.99798 0 0 1 0.866 8 6 6 0 +1636 0 1 0 17.5035 35.5142 9.99798 0 0 1 0.866 8 6 6 0 +1637 0 1 0 18.0036 34.648 9.99798 0 0 1 0.866 8 6 6 0 +1638 0 1 0 18.5037 35.5142 9.99798 0 0 1 0.866 8 6 6 0 +1639 0 1 0 19.0038 34.648 9.99798 0 0 1 0.866 8 6 6 0 +1640 0 1 0 19.5039 35.5142 9.99798 0 0 1 0.866 8 6 6 0 +1641 0 1 0 20.004 34.648 9.99798 0 0 1 0.866 8 6 6 0 +1642 0 1 0 20.5041 35.5142 9.99798 0 0 1 0.866 8 6 6 0 +1643 0 1 0 21.0042 34.648 9.99798 0 0 1 0.866 8 6 6 0 +1644 0 1 0 21.5043 35.5142 9.99798 0 0 1 0.866 8 6 6 0 +1645 0 1 0 22.0045 34.648 9.99798 0 0 1 0.866 8 6 6 0 +1646 0 1 0 22.5046 35.5142 9.99798 0 0 1 0.866 8 6 6 0 +1647 0 1 0 23.0047 34.648 9.99798 0 0 1 0.866 8 6 6 0 +1648 0 1 0 23.5048 35.5142 9.99798 0 0 1 0.866 8 6 6 0 +1649 0 1 0 24.0049 34.648 9.99798 0 0 1 0.866 8 6 6 0 +1650 0 1 0 24.505 35.5142 9.99798 0 0 1 0.866 8 6 6 0 +1651 0 1 0 25.0051 34.648 9.99798 0 0 1 0.866 8 6 6 0 +1652 0 1 0 25.5052 35.5142 9.99798 0 0 1 0.866 8 6 6 0 +1653 0 1 0 26.0053 34.648 9.99798 0 0 1 0.866 8 6 6 0 +1654 0 1 0 26.5054 35.5142 9.99798 0 0 1 0.866 8 6 6 0 +1655 0 1 0 27.0055 34.648 9.99798 0 0 1 0.866 8 6 6 0 +1656 0 1 0 27.5056 35.5142 9.99798 0 0 1 0.866 8 6 6 0 +1657 0 1 0 28.0057 34.648 9.99798 0 0 1 0.866 8 6 6 0 +1658 0 1 0 28.5058 35.5142 9.99798 0 0 1 0.866 8 6 6 0 +1659 0 1 0 29.0059 34.648 9.99798 0 0 1 0.866 8 6 6 0 +1660 0 1 0 29.506 35.5142 9.99798 0 0 1 0.866 8 6 6 0 +1661 0 1 0 30.0061 34.648 9.99798 0 0 1 0.866 8 6 6 0 +1662 0 1 0 30.5062 35.5142 9.99798 0 0 1 0.866 8 6 6 0 +1663 0 1 0 31.0063 34.648 9.99798 0 0 1 0.866 8 6 6 0 +1664 0 1 0 31.5064 35.5142 9.99798 0 0 1 0.866 8 6 6 0 +1665 0 1 0 32.0065 34.648 9.99798 0 0 1 0.866 8 6 6 0 +1666 0 1 0 32.5066 35.5142 9.99798 0 0 1 0.866 8 6 6 0 +1667 0 1 0 33.0067 34.648 9.99798 0 0 1 0.866 8 6 6 0 +1668 0 1 0 33.5068 35.5142 9.99798 0 0 1 0.866 8 6 6 0 +1669 0 1 0 34.0069 34.648 9.99798 0 0 1 0.866 8 6 6 0 +1670 0 1 0 34.507 35.5142 9.99798 0 0 1 0.866 8 6 6 0 +1671 0 1 0 35.0071 34.648 9.99798 0 0 1 0.866 8 6 6 0 +1672 0 1 0 35.5072 35.5142 9.99798 0 0 1 0.866 8 6 6 0 +1673 0 1 0 36.0073 34.648 9.99798 0 0 1 0.866 8 6 6 0 +1674 0 1 0 36.5074 35.5142 9.99798 0 0 1 0.866 8 6 6 0 +1675 0 1 0 37.0075 34.648 9.99798 0 0 1 0.866 8 6 6 0 +1676 0 1 0 37.5076 35.5142 9.99798 0 0 1 0.866 8 6 6 0 +1677 0 1 0 38.0077 34.648 9.99798 0 0 1 0.866 8 6 6 0 +1678 0 1 0 38.5078 35.5142 9.99798 0 0 1 0.866 8 6 6 0 +1679 0 1 0 39.0079 34.648 9.99798 0 0 1 0.866 8 6 6 0 +1680 0 1 0 39.508 35.5142 9.99798 0 0 1 0.866 8 6 6 0 +1681 0 1 0 0 36.3804 9.99798 0 0 1 0.866 8 6 6 0 +1682 0 1 0 0.500101 37.2466 9.99798 0 0 1 0.866 8 6 6 0 +1683 0 1 0 1.0002 36.3804 9.99798 0 0 1 0.866 8 6 6 0 +1684 0 1 0 1.5003 37.2466 9.99798 0 0 1 0.866 8 6 6 0 +1685 0 1 0 2.0004 36.3804 9.99798 0 0 1 0.866 8 6 6 0 +1686 0 1 0 2.50051 37.2466 9.99798 0 0 1 0.866 8 6 6 0 +1687 0 1 0 3.00061 36.3804 9.99798 0 0 1 0.866 8 6 6 0 +1688 0 1 0 3.50071 37.2466 9.99798 0 0 1 0.866 8 6 6 0 +1689 0 1 0 4.00081 36.3804 9.99798 0 0 1 0.866 8 6 6 0 +1690 0 1 0 4.50091 37.2466 9.99798 0 0 1 0.866 8 6 6 0 +1691 0 1 0 5.00101 36.3804 9.99798 0 0 1 0.866 8 6 6 0 +1692 0 1 0 5.50111 37.2466 9.99798 0 0 1 0.866 8 6 6 0 +1693 0 1 0 6.00121 36.3804 9.99798 0 0 1 0.866 8 6 6 0 +1694 0 1 0 6.50132 37.2466 9.99798 0 0 1 0.866 8 6 6 0 +1695 0 1 0 7.00142 36.3804 9.99798 0 0 1 0.866 8 6 6 0 +1696 0 1 0 7.50152 37.2466 9.99798 0 0 1 0.866 8 6 6 0 +1697 0 1 0 8.00162 36.3804 9.99798 0 0 1 0.866 8 6 6 0 +1698 0 1 0 8.50172 37.2466 9.99798 0 0 1 0.866 8 6 6 0 +1699 0 1 0 9.00182 36.3804 9.99798 0 0 1 0.866 8 6 6 0 +1700 0 1 0 9.50192 37.2466 9.99798 0 0 1 0.866 8 6 6 0 +1701 0 1 0 10.002 36.3804 9.99798 0 0 1 0.866 8 6 6 0 +1702 0 1 0 10.5021 37.2466 9.99798 0 0 1 0.866 8 6 6 0 +1703 0 1 0 11.0022 36.3804 9.99798 0 0 1 0.866 8 6 6 0 +1704 0 1 0 11.5023 37.2466 9.99798 0 0 1 0.866 8 6 6 0 +1705 0 1 0 12.0024 36.3804 9.99798 0 0 1 0.866 8 6 6 0 +1706 0 1 0 12.5025 37.2466 9.99798 0 0 1 0.866 8 6 6 0 +1707 0 1 0 13.0026 36.3804 9.99798 0 0 1 0.866 8 6 6 0 +1708 0 1 0 13.5027 37.2466 9.99798 0 0 1 0.866 8 6 6 0 +1709 0 1 0 14.0028 36.3804 9.99798 0 0 1 0.866 8 6 6 0 +1710 0 1 0 14.5029 37.2466 9.99798 0 0 1 0.866 8 6 6 0 +1711 0 1 0 15.003 36.3804 9.99798 0 0 1 0.866 8 6 6 0 +1712 0 1 0 15.5031 37.2466 9.99798 0 0 1 0.866 8 6 6 0 +1713 0 1 0 16.0032 36.3804 9.99798 0 0 1 0.866 8 6 6 0 +1714 0 1 0 16.5033 37.2466 9.99798 0 0 1 0.866 8 6 6 0 +1715 0 1 0 17.0034 36.3804 9.99798 0 0 1 0.866 8 6 6 0 +1716 0 1 0 17.5035 37.2466 9.99798 0 0 1 0.866 8 6 6 0 +1717 0 1 0 18.0036 36.3804 9.99798 0 0 1 0.866 8 6 6 0 +1718 0 1 0 18.5037 37.2466 9.99798 0 0 1 0.866 8 6 6 0 +1719 0 1 0 19.0038 36.3804 9.99798 0 0 1 0.866 8 6 6 0 +1720 0 1 0 19.5039 37.2466 9.99798 0 0 1 0.866 8 6 6 0 +1721 0 1 0 20.004 36.3804 9.99798 0 0 1 0.866 8 6 6 0 +1722 0 1 0 20.5041 37.2466 9.99798 0 0 1 0.866 8 6 6 0 +1723 0 1 0 21.0042 36.3804 9.99798 0 0 1 0.866 8 6 6 0 +1724 0 1 0 21.5043 37.2466 9.99798 0 0 1 0.866 8 6 6 0 +1725 0 1 0 22.0045 36.3804 9.99798 0 0 1 0.866 8 6 6 0 +1726 0 1 0 22.5046 37.2466 9.99798 0 0 1 0.866 8 6 6 0 +1727 0 1 0 23.0047 36.3804 9.99798 0 0 1 0.866 8 6 6 0 +1728 0 1 0 23.5048 37.2466 9.99798 0 0 1 0.866 8 6 6 0 +1729 0 1 0 24.0049 36.3804 9.99798 0 0 1 0.866 8 6 6 0 +1730 0 1 0 24.505 37.2466 9.99798 0 0 1 0.866 8 6 6 0 +1731 0 1 0 25.0051 36.3804 9.99798 0 0 1 0.866 8 6 6 0 +1732 0 1 0 25.5052 37.2466 9.99798 0 0 1 0.866 8 6 6 0 +1733 0 1 0 26.0053 36.3804 9.99798 0 0 1 0.866 8 6 6 0 +1734 0 1 0 26.5054 37.2466 9.99798 0 0 1 0.866 8 6 6 0 +1735 0 1 0 27.0055 36.3804 9.99798 0 0 1 0.866 8 6 6 0 +1736 0 1 0 27.5056 37.2466 9.99798 0 0 1 0.866 8 6 6 0 +1737 0 1 0 28.0057 36.3804 9.99798 0 0 1 0.866 8 6 6 0 +1738 0 1 0 28.5058 37.2466 9.99798 0 0 1 0.866 8 6 6 0 +1739 0 1 0 29.0059 36.3804 9.99798 0 0 1 0.866 8 6 6 0 +1740 0 1 0 29.506 37.2466 9.99798 0 0 1 0.866 8 6 6 0 +1741 0 1 0 30.0061 36.3804 9.99798 0 0 1 0.866 8 6 6 0 +1742 0 1 0 30.5062 37.2466 9.99798 0 0 1 0.866 8 6 6 0 +1743 0 1 0 31.0063 36.3804 9.99798 0 0 1 0.866 8 6 6 0 +1744 0 1 0 31.5064 37.2466 9.99798 0 0 1 0.866 8 6 6 0 +1745 0 1 0 32.0065 36.3804 9.99798 0 0 1 0.866 8 6 6 0 +1746 0 1 0 32.5066 37.2466 9.99798 0 0 1 0.866 8 6 6 0 +1747 0 1 0 33.0067 36.3804 9.99798 0 0 1 0.866 8 6 6 0 +1748 0 1 0 33.5068 37.2466 9.99798 0 0 1 0.866 8 6 6 0 +1749 0 1 0 34.0069 36.3804 9.99798 0 0 1 0.866 8 6 6 0 +1750 0 1 0 34.507 37.2466 9.99798 0 0 1 0.866 8 6 6 0 +1751 0 1 0 35.0071 36.3804 9.99798 0 0 1 0.866 8 6 6 0 +1752 0 1 0 35.5072 37.2466 9.99798 0 0 1 0.866 8 6 6 0 +1753 0 1 0 36.0073 36.3804 9.99798 0 0 1 0.866 8 6 6 0 +1754 0 1 0 36.5074 37.2466 9.99798 0 0 1 0.866 8 6 6 0 +1755 0 1 0 37.0075 36.3804 9.99798 0 0 1 0.866 8 6 6 0 +1756 0 1 0 37.5076 37.2466 9.99798 0 0 1 0.866 8 6 6 0 +1757 0 1 0 38.0077 36.3804 9.99798 0 0 1 0.866 8 6 6 0 +1758 0 1 0 38.5078 37.2466 9.99798 0 0 1 0.866 8 6 6 0 +1759 0 1 0 39.0079 36.3804 9.99798 0 0 1 0.866 8 6 6 0 +1760 0 1 0 39.508 37.2466 9.99798 0 0 1 0.866 8 6 6 0 +1761 0 1 0 0 38.1128 9.99798 0 0 1 0.866 8 6 6 0 +1762 0 1 0 0.500101 38.979 9.99798 0 0 1 0.866 8 6 6 0 +1763 0 1 0 1.0002 38.1128 9.99798 0 0 1 0.866 8 6 6 0 +1764 0 1 0 1.5003 38.979 9.99798 0 0 1 0.866 8 6 6 0 +1765 0 1 0 2.0004 38.1128 9.99798 0 0 1 0.866 8 6 6 0 +1766 0 1 0 2.50051 38.979 9.99798 0 0 1 0.866 8 6 6 0 +1767 0 1 0 3.00061 38.1128 9.99798 0 0 1 0.866 8 6 6 0 +1768 0 1 0 3.50071 38.979 9.99798 0 0 1 0.866 8 6 6 0 +1769 0 1 0 4.00081 38.1128 9.99798 0 0 1 0.866 8 6 6 0 +1770 0 1 0 4.50091 38.979 9.99798 0 0 1 0.866 8 6 6 0 +1771 0 1 0 5.00101 38.1128 9.99798 0 0 1 0.866 8 6 6 0 +1772 0 1 0 5.50111 38.979 9.99798 0 0 1 0.866 8 6 6 0 +1773 0 1 0 6.00121 38.1128 9.99798 0 0 1 0.866 8 6 6 0 +1774 0 1 0 6.50132 38.979 9.99798 0 0 1 0.866 8 6 6 0 +1775 0 1 0 7.00142 38.1128 9.99798 0 0 1 0.866 8 6 6 0 +1776 0 1 0 7.50152 38.979 9.99798 0 0 1 0.866 8 6 6 0 +1777 0 1 0 8.00162 38.1128 9.99798 0 0 1 0.866 8 6 6 0 +1778 0 1 0 8.50172 38.979 9.99798 0 0 1 0.866 8 6 6 0 +1779 0 1 0 9.00182 38.1128 9.99798 0 0 1 0.866 8 6 6 0 +1780 0 1 0 9.50192 38.979 9.99798 0 0 1 0.866 8 6 6 0 +1781 0 1 0 10.002 38.1128 9.99798 0 0 1 0.866 8 6 6 0 +1782 0 1 0 10.5021 38.979 9.99798 0 0 1 0.866 8 6 6 0 +1783 0 1 0 11.0022 38.1128 9.99798 0 0 1 0.866 8 6 6 0 +1784 0 1 0 11.5023 38.979 9.99798 0 0 1 0.866 8 6 6 0 +1785 0 1 0 12.0024 38.1128 9.99798 0 0 1 0.866 8 6 6 0 +1786 0 1 0 12.5025 38.979 9.99798 0 0 1 0.866 8 6 6 0 +1787 0 1 0 13.0026 38.1128 9.99798 0 0 1 0.866 8 6 6 0 +1788 0 1 0 13.5027 38.979 9.99798 0 0 1 0.866 8 6 6 0 +1789 0 1 0 14.0028 38.1128 9.99798 0 0 1 0.866 8 6 6 0 +1790 0 1 0 14.5029 38.979 9.99798 0 0 1 0.866 8 6 6 0 +1791 0 1 0 15.003 38.1128 9.99798 0 0 1 0.866 8 6 6 0 +1792 0 1 0 15.5031 38.979 9.99798 0 0 1 0.866 8 6 6 0 +1793 0 1 0 16.0032 38.1128 9.99798 0 0 1 0.866 8 6 6 0 +1794 0 1 0 16.5033 38.979 9.99798 0 0 1 0.866 8 6 6 0 +1795 0 1 0 17.0034 38.1128 9.99798 0 0 1 0.866 8 6 6 0 +1796 0 1 0 17.5035 38.979 9.99798 0 0 1 0.866 8 6 6 0 +1797 0 1 0 18.0036 38.1128 9.99798 0 0 1 0.866 8 6 6 0 +1798 0 1 0 18.5037 38.979 9.99798 0 0 1 0.866 8 6 6 0 +1799 0 1 0 19.0038 38.1128 9.99798 0 0 1 0.866 8 6 6 0 +1800 0 1 0 19.5039 38.979 9.99798 0 0 1 0.866 8 6 6 0 +1801 0 1 0 20.004 38.1128 9.99798 0 0 1 0.866 8 6 6 0 +1802 0 1 0 20.5041 38.979 9.99798 0 0 1 0.866 8 6 6 0 +1803 0 1 0 21.0042 38.1128 9.99798 0 0 1 0.866 8 6 6 0 +1804 0 1 0 21.5043 38.979 9.99798 0 0 1 0.866 8 6 6 0 +1805 0 1 0 22.0045 38.1128 9.99798 0 0 1 0.866 8 6 6 0 +1806 0 1 0 22.5046 38.979 9.99798 0 0 1 0.866 8 6 6 0 +1807 0 1 0 23.0047 38.1128 9.99798 0 0 1 0.866 8 6 6 0 +1808 0 1 0 23.5048 38.979 9.99798 0 0 1 0.866 8 6 6 0 +1809 0 1 0 24.0049 38.1128 9.99798 0 0 1 0.866 8 6 6 0 +1810 0 1 0 24.505 38.979 9.99798 0 0 1 0.866 8 6 6 0 +1811 0 1 0 25.0051 38.1128 9.99798 0 0 1 0.866 8 6 6 0 +1812 0 1 0 25.5052 38.979 9.99798 0 0 1 0.866 8 6 6 0 +1813 0 1 0 26.0053 38.1128 9.99798 0 0 1 0.866 8 6 6 0 +1814 0 1 0 26.5054 38.979 9.99798 0 0 1 0.866 8 6 6 0 +1815 0 1 0 27.0055 38.1128 9.99798 0 0 1 0.866 8 6 6 0 +1816 0 1 0 27.5056 38.979 9.99798 0 0 1 0.866 8 6 6 0 +1817 0 1 0 28.0057 38.1128 9.99798 0 0 1 0.866 8 6 6 0 +1818 0 1 0 28.5058 38.979 9.99798 0 0 1 0.866 8 6 6 0 +1819 0 1 0 29.0059 38.1128 9.99798 0 0 1 0.866 8 6 6 0 +1820 0 1 0 29.506 38.979 9.99798 0 0 1 0.866 8 6 6 0 +1821 0 1 0 30.0061 38.1128 9.99798 0 0 1 0.866 8 6 6 0 +1822 0 1 0 30.5062 38.979 9.99798 0 0 1 0.866 8 6 6 0 +1823 0 1 0 31.0063 38.1128 9.99798 0 0 1 0.866 8 6 6 0 +1824 0 1 0 31.5064 38.979 9.99798 0 0 1 0.866 8 6 6 0 +1825 0 1 0 32.0065 38.1128 9.99798 0 0 1 0.866 8 6 6 0 +1826 0 1 0 32.5066 38.979 9.99798 0 0 1 0.866 8 6 6 0 +1827 0 1 0 33.0067 38.1128 9.99798 0 0 1 0.866 8 6 6 0 +1828 0 1 0 33.5068 38.979 9.99798 0 0 1 0.866 8 6 6 0 +1829 0 1 0 34.0069 38.1128 9.99798 0 0 1 0.866 8 6 6 0 +1830 0 1 0 34.507 38.979 9.99798 0 0 1 0.866 8 6 6 0 +1831 0 1 0 35.0071 38.1128 9.99798 0 0 1 0.866 8 6 6 0 +1832 0 1 0 35.5072 38.979 9.99798 0 0 1 0.866 8 6 6 0 +1833 0 1 0 36.0073 38.1128 9.99798 0 0 1 0.866 8 6 6 0 +1834 0 1 0 36.5074 38.979 9.99798 0 0 1 0.866 8 6 6 0 +1835 0 1 0 37.0075 38.1128 9.99798 0 0 1 0.866 8 6 6 0 +1836 0 1 0 37.5076 38.979 9.99798 0 0 1 0.866 8 6 6 0 +1837 0 1 0 38.0077 38.1128 9.99798 0 0 1 0.866 8 6 6 0 +1838 0 1 0 38.5078 38.979 9.99798 0 0 1 0.866 8 6 6 0 +1839 0 1 0 39.0079 38.1128 9.99798 0 0 1 0.866 8 6 6 0 +1840 0 1 0 39.508 38.979 9.99798 0 0 1 0.866 8 6 6 0 +1841 0 1 0 0 39.8452 9.99798 0 0 1 0.866 8 6 6 0 +1842 0 1 0 0.500101 40.7114 9.99798 0 0 1 0.866 8 6 6 0 +1843 0 1 0 1.0002 39.8452 9.99798 0 0 1 0.866 8 6 6 0 +1844 0 1 0 1.5003 40.7114 9.99798 0 0 1 0.866 8 6 6 0 +1845 0 1 0 2.0004 39.8452 9.99798 0 0 1 0.866 8 6 6 0 +1846 0 1 0 2.50051 40.7114 9.99798 0 0 1 0.866 8 6 6 0 +1847 0 1 0 3.00061 39.8452 9.99798 0 0 1 0.866 8 6 6 0 +1848 0 1 0 3.50071 40.7114 9.99798 0 0 1 0.866 8 6 6 0 +1849 0 1 0 4.00081 39.8452 9.99798 0 0 1 0.866 8 6 6 0 +1850 0 1 0 4.50091 40.7114 9.99798 0 0 1 0.866 8 6 6 0 +1851 0 1 0 5.00101 39.8452 9.99798 0 0 1 0.866 8 6 6 0 +1852 0 1 0 5.50111 40.7114 9.99798 0 0 1 0.866 8 6 6 0 +1853 0 1 0 6.00121 39.8452 9.99798 0 0 1 0.866 8 6 6 0 +1854 0 1 0 6.50132 40.7114 9.99798 0 0 1 0.866 8 6 6 0 +1855 0 1 0 7.00142 39.8452 9.99798 0 0 1 0.866 8 6 6 0 +1856 0 1 0 7.50152 40.7114 9.99798 0 0 1 0.866 8 6 6 0 +1857 0 1 0 8.00162 39.8452 9.99798 0 0 1 0.866 8 6 6 0 +1858 0 1 0 8.50172 40.7114 9.99798 0 0 1 0.866 8 6 6 0 +1859 0 1 0 9.00182 39.8452 9.99798 0 0 1 0.866 8 6 6 0 +1860 0 1 0 9.50192 40.7114 9.99798 0 0 1 0.866 8 6 6 0 +1861 0 1 0 10.002 39.8452 9.99798 0 0 1 0.866 8 6 6 0 +1862 0 1 0 10.5021 40.7114 9.99798 0 0 1 0.866 8 6 6 0 +1863 0 1 0 11.0022 39.8452 9.99798 0 0 1 0.866 8 6 6 0 +1864 0 1 0 11.5023 40.7114 9.99798 0 0 1 0.866 8 6 6 0 +1865 0 1 0 12.0024 39.8452 9.99798 0 0 1 0.866 8 6 6 0 +1866 0 1 0 12.5025 40.7114 9.99798 0 0 1 0.866 8 6 6 0 +1867 0 1 0 13.0026 39.8452 9.99798 0 0 1 0.866 8 6 6 0 +1868 0 1 0 13.5027 40.7114 9.99798 0 0 1 0.866 8 6 6 0 +1869 0 1 0 14.0028 39.8452 9.99798 0 0 1 0.866 8 6 6 0 +1870 0 1 0 14.5029 40.7114 9.99798 0 0 1 0.866 8 6 6 0 +1871 0 1 0 15.003 39.8452 9.99798 0 0 1 0.866 8 6 6 0 +1872 0 1 0 15.5031 40.7114 9.99798 0 0 1 0.866 8 6 6 0 +1873 0 1 0 16.0032 39.8452 9.99798 0 0 1 0.866 8 6 6 0 +1874 0 1 0 16.5033 40.7114 9.99798 0 0 1 0.866 8 6 6 0 +1875 0 1 0 17.0034 39.8452 9.99798 0 0 1 0.866 8 6 6 0 +1876 0 1 0 17.5035 40.7114 9.99798 0 0 1 0.866 8 6 6 0 +1877 0 1 0 18.0036 39.8452 9.99798 0 0 1 0.866 8 6 6 0 +1878 0 1 0 18.5037 40.7114 9.99798 0 0 1 0.866 8 6 6 0 +1879 0 1 0 19.0038 39.8452 9.99798 0 0 1 0.866 8 6 6 0 +1880 0 1 0 19.5039 40.7114 9.99798 0 0 1 0.866 8 6 6 0 +1881 0 1 0 20.004 39.8452 9.99798 0 0 1 0.866 8 6 6 0 +1882 0 1 0 20.5041 40.7114 9.99798 0 0 1 0.866 8 6 6 0 +1883 0 1 0 21.0042 39.8452 9.99798 0 0 1 0.866 8 6 6 0 +1884 0 1 0 21.5043 40.7114 9.99798 0 0 1 0.866 8 6 6 0 +1885 0 1 0 22.0045 39.8452 9.99798 0 0 1 0.866 8 6 6 0 +1886 0 1 0 22.5046 40.7114 9.99798 0 0 1 0.866 8 6 6 0 +1887 0 1 0 23.0047 39.8452 9.99798 0 0 1 0.866 8 6 6 0 +1888 0 1 0 23.5048 40.7114 9.99798 0 0 1 0.866 8 6 6 0 +1889 0 1 0 24.0049 39.8452 9.99798 0 0 1 0.866 8 6 6 0 +1890 0 1 0 24.505 40.7114 9.99798 0 0 1 0.866 8 6 6 0 +1891 0 1 0 25.0051 39.8452 9.99798 0 0 1 0.866 8 6 6 0 +1892 0 1 0 25.5052 40.7114 9.99798 0 0 1 0.866 8 6 6 0 +1893 0 1 0 26.0053 39.8452 9.99798 0 0 1 0.866 8 6 6 0 +1894 0 1 0 26.5054 40.7114 9.99798 0 0 1 0.866 8 6 6 0 +1895 0 1 0 27.0055 39.8452 9.99798 0 0 1 0.866 8 6 6 0 +1896 0 1 0 27.5056 40.7114 9.99798 0 0 1 0.866 8 6 6 0 +1897 0 1 0 28.0057 39.8452 9.99798 0 0 1 0.866 8 6 6 0 +1898 0 1 0 28.5058 40.7114 9.99798 0 0 1 0.866 8 6 6 0 +1899 0 1 0 29.0059 39.8452 9.99798 0 0 1 0.866 8 6 6 0 +1900 0 1 0 29.506 40.7114 9.99798 0 0 1 0.866 8 6 6 0 +1901 0 1 0 30.0061 39.8452 9.99798 0 0 1 0.866 8 6 6 0 +1902 0 1 0 30.5062 40.7114 9.99798 0 0 1 0.866 8 6 6 0 +1903 0 1 0 31.0063 39.8452 9.99798 0 0 1 0.866 8 6 6 0 +1904 0 1 0 31.5064 40.7114 9.99798 0 0 1 0.866 8 6 6 0 +1905 0 1 0 32.0065 39.8452 9.99798 0 0 1 0.866 8 6 6 0 +1906 0 1 0 32.5066 40.7114 9.99798 0 0 1 0.866 8 6 6 0 +1907 0 1 0 33.0067 39.8452 9.99798 0 0 1 0.866 8 6 6 0 +1908 0 1 0 33.5068 40.7114 9.99798 0 0 1 0.866 8 6 6 0 +1909 0 1 0 34.0069 39.8452 9.99798 0 0 1 0.866 8 6 6 0 +1910 0 1 0 34.507 40.7114 9.99798 0 0 1 0.866 8 6 6 0 +1911 0 1 0 35.0071 39.8452 9.99798 0 0 1 0.866 8 6 6 0 +1912 0 1 0 35.5072 40.7114 9.99798 0 0 1 0.866 8 6 6 0 +1913 0 1 0 36.0073 39.8452 9.99798 0 0 1 0.866 8 6 6 0 +1914 0 1 0 36.5074 40.7114 9.99798 0 0 1 0.866 8 6 6 0 +1915 0 1 0 37.0075 39.8452 9.99798 0 0 1 0.866 8 6 6 0 +1916 0 1 0 37.5076 40.7114 9.99798 0 0 1 0.866 8 6 6 0 +1917 0 1 0 38.0077 39.8452 9.99798 0 0 1 0.866 8 6 6 0 +1918 0 1 0 38.5078 40.7114 9.99798 0 0 1 0.866 8 6 6 0 +1919 0 1 0 39.0079 39.8452 9.99798 0 0 1 0.866 8 6 6 0 +1920 0 1 0 39.508 40.7114 9.99798 0 0 1 0.866 8 6 6 0 +1921 0 1 0 0 41.5776 9.99798 0 0 1 0.866 8 6 6 0 +1922 0 1 0 0.500101 42.4438 9.99798 0 0 1 0.866 8 6 6 0 +1923 0 1 0 1.0002 41.5776 9.99798 0 0 1 0.866 8 6 6 0 +1924 0 1 0 1.5003 42.4438 9.99798 0 0 1 0.866 8 6 6 0 +1925 0 1 0 2.0004 41.5776 9.99798 0 0 1 0.866 8 6 6 0 +1926 0 1 0 2.50051 42.4438 9.99798 0 0 1 0.866 8 6 6 0 +1927 0 1 0 3.00061 41.5776 9.99798 0 0 1 0.866 8 6 6 0 +1928 0 1 0 3.50071 42.4438 9.99798 0 0 1 0.866 8 6 6 0 +1929 0 1 0 4.00081 41.5776 9.99798 0 0 1 0.866 8 6 6 0 +1930 0 1 0 4.50091 42.4438 9.99798 0 0 1 0.866 8 6 6 0 +1931 0 1 0 5.00101 41.5776 9.99798 0 0 1 0.866 8 6 6 0 +1932 0 1 0 5.50111 42.4438 9.99798 0 0 1 0.866 8 6 6 0 +1933 0 1 0 6.00121 41.5776 9.99798 0 0 1 0.866 8 6 6 0 +1934 0 1 0 6.50132 42.4438 9.99798 0 0 1 0.866 8 6 6 0 +1935 0 1 0 7.00142 41.5776 9.99798 0 0 1 0.866 8 6 6 0 +1936 0 1 0 7.50152 42.4438 9.99798 0 0 1 0.866 8 6 6 0 +1937 0 1 0 8.00162 41.5776 9.99798 0 0 1 0.866 8 6 6 0 +1938 0 1 0 8.50172 42.4438 9.99798 0 0 1 0.866 8 6 6 0 +1939 0 1 0 9.00182 41.5776 9.99798 0 0 1 0.866 8 6 6 0 +1940 0 1 0 9.50192 42.4438 9.99798 0 0 1 0.866 8 6 6 0 +1941 0 1 0 10.002 41.5776 9.99798 0 0 1 0.866 8 6 6 0 +1942 0 1 0 10.5021 42.4438 9.99798 0 0 1 0.866 8 6 6 0 +1943 0 1 0 11.0022 41.5776 9.99798 0 0 1 0.866 8 6 6 0 +1944 0 1 0 11.5023 42.4438 9.99798 0 0 1 0.866 8 6 6 0 +1945 0 1 0 12.0024 41.5776 9.99798 0 0 1 0.866 8 6 6 0 +1946 0 1 0 12.5025 42.4438 9.99798 0 0 1 0.866 8 6 6 0 +1947 0 1 0 13.0026 41.5776 9.99798 0 0 1 0.866 8 6 6 0 +1948 0 1 0 13.5027 42.4438 9.99798 0 0 1 0.866 8 6 6 0 +1949 0 1 0 14.0028 41.5776 9.99798 0 0 1 0.866 8 6 6 0 +1950 0 1 0 14.5029 42.4438 9.99798 0 0 1 0.866 8 6 6 0 +1951 0 1 0 15.003 41.5776 9.99798 0 0 1 0.866 8 6 6 0 +1952 0 1 0 15.5031 42.4438 9.99798 0 0 1 0.866 8 6 6 0 +1953 0 1 0 16.0032 41.5776 9.99798 0 0 1 0.866 8 6 6 0 +1954 0 1 0 16.5033 42.4438 9.99798 0 0 1 0.866 8 6 6 0 +1955 0 1 0 17.0034 41.5776 9.99798 0 0 1 0.866 8 6 6 0 +1956 0 1 0 17.5035 42.4438 9.99798 0 0 1 0.866 8 6 6 0 +1957 0 1 0 18.0036 41.5776 9.99798 0 0 1 0.866 8 6 6 0 +1958 0 1 0 18.5037 42.4438 9.99798 0 0 1 0.866 8 6 6 0 +1959 0 1 0 19.0038 41.5776 9.99798 0 0 1 0.866 8 6 6 0 +1960 0 1 0 19.5039 42.4438 9.99798 0 0 1 0.866 8 6 6 0 +1961 0 1 0 20.004 41.5776 9.99798 0 0 1 0.866 8 6 6 0 +1962 0 1 0 20.5041 42.4438 9.99798 0 0 1 0.866 8 6 6 0 +1963 0 1 0 21.0042 41.5776 9.99798 0 0 1 0.866 8 6 6 0 +1964 0 1 0 21.5043 42.4438 9.99798 0 0 1 0.866 8 6 6 0 +1965 0 1 0 22.0045 41.5776 9.99798 0 0 1 0.866 8 6 6 0 +1966 0 1 0 22.5046 42.4438 9.99798 0 0 1 0.866 8 6 6 0 +1967 0 1 0 23.0047 41.5776 9.99798 0 0 1 0.866 8 6 6 0 +1968 0 1 0 23.5048 42.4438 9.99798 0 0 1 0.866 8 6 6 0 +1969 0 1 0 24.0049 41.5776 9.99798 0 0 1 0.866 8 6 6 0 +1970 0 1 0 24.505 42.4438 9.99798 0 0 1 0.866 8 6 6 0 +1971 0 1 0 25.0051 41.5776 9.99798 0 0 1 0.866 8 6 6 0 +1972 0 1 0 25.5052 42.4438 9.99798 0 0 1 0.866 8 6 6 0 +1973 0 1 0 26.0053 41.5776 9.99798 0 0 1 0.866 8 6 6 0 +1974 0 1 0 26.5054 42.4438 9.99798 0 0 1 0.866 8 6 6 0 +1975 0 1 0 27.0055 41.5776 9.99798 0 0 1 0.866 8 6 6 0 +1976 0 1 0 27.5056 42.4438 9.99798 0 0 1 0.866 8 6 6 0 +1977 0 1 0 28.0057 41.5776 9.99798 0 0 1 0.866 8 6 6 0 +1978 0 1 0 28.5058 42.4438 9.99798 0 0 1 0.866 8 6 6 0 +1979 0 1 0 29.0059 41.5776 9.99798 0 0 1 0.866 8 6 6 0 +1980 0 1 0 29.506 42.4438 9.99798 0 0 1 0.866 8 6 6 0 +1981 0 1 0 30.0061 41.5776 9.99798 0 0 1 0.866 8 6 6 0 +1982 0 1 0 30.5062 42.4438 9.99798 0 0 1 0.866 8 6 6 0 +1983 0 1 0 31.0063 41.5776 9.99798 0 0 1 0.866 8 6 6 0 +1984 0 1 0 31.5064 42.4438 9.99798 0 0 1 0.866 8 6 6 0 +1985 0 1 0 32.0065 41.5776 9.99798 0 0 1 0.866 8 6 6 0 +1986 0 1 0 32.5066 42.4438 9.99798 0 0 1 0.866 8 6 6 0 +1987 0 1 0 33.0067 41.5776 9.99798 0 0 1 0.866 8 6 6 0 +1988 0 1 0 33.5068 42.4438 9.99798 0 0 1 0.866 8 6 6 0 +1989 0 1 0 34.0069 41.5776 9.99798 0 0 1 0.866 8 6 6 0 +1990 0 1 0 34.507 42.4438 9.99798 0 0 1 0.866 8 6 6 0 +1991 0 1 0 35.0071 41.5776 9.99798 0 0 1 0.866 8 6 6 0 +1992 0 1 0 35.5072 42.4438 9.99798 0 0 1 0.866 8 6 6 0 +1993 0 1 0 36.0073 41.5776 9.99798 0 0 1 0.866 8 6 6 0 +1994 0 1 0 36.5074 42.4438 9.99798 0 0 1 0.866 8 6 6 0 +1995 0 1 0 37.0075 41.5776 9.99798 0 0 1 0.866 8 6 6 0 +1996 0 1 0 37.5076 42.4438 9.99798 0 0 1 0.866 8 6 6 0 +1997 0 1 0 38.0077 41.5776 9.99798 0 0 1 0.866 8 6 6 0 +1998 0 1 0 38.5078 42.4438 9.99798 0 0 1 0.866 8 6 6 0 +1999 0 1 0 39.0079 41.5776 9.99798 0 0 1 0.866 8 6 6 0 +2000 0 1 0 39.508 42.4438 9.99798 0 0 1 0.866 8 6 6 0 +2001 0 1 0 0 0 30.002 0 0 -1 0.866 8 6 6 0 +2002 0 1 0 0.500101 0.866201 30.002 0 0 -1 0.866 8 6 6 0 +2003 0 1 0 1.0002 0 30.002 0 0 -1 0.866 8 6 6 0 +2004 0 1 0 1.5003 0.866201 30.002 0 0 -1 0.866 8 6 6 0 +2005 0 1 0 2.0004 0 30.002 0 0 -1 0.866 8 6 6 0 +2006 0 1 0 2.50051 0.866201 30.002 0 0 -1 0.866 8 6 6 0 +2007 0 1 0 3.00061 0 30.002 0 0 -1 0.866 8 6 6 0 +2008 0 1 0 3.50071 0.866201 30.002 0 0 -1 0.866 8 6 6 0 +2009 0 1 0 4.00081 0 30.002 0 0 -1 0.866 8 6 6 0 +2010 0 1 0 4.50091 0.866201 30.002 0 0 -1 0.866 8 6 6 0 +2011 0 1 0 5.00101 0 30.002 0 0 -1 0.866 8 6 6 0 +2012 0 1 0 5.50111 0.866201 30.002 0 0 -1 0.866 8 6 6 0 +2013 0 1 0 6.00121 0 30.002 0 0 -1 0.866 8 6 6 0 +2014 0 1 0 6.50132 0.866201 30.002 0 0 -1 0.866 8 6 6 0 +2015 0 1 0 7.00142 0 30.002 0 0 -1 0.866 8 6 6 0 +2016 0 1 0 7.50152 0.866201 30.002 0 0 -1 0.866 8 6 6 0 +2017 0 1 0 8.00162 0 30.002 0 0 -1 0.866 8 6 6 0 +2018 0 1 0 8.50172 0.866201 30.002 0 0 -1 0.866 8 6 6 0 +2019 0 1 0 9.00182 0 30.002 0 0 -1 0.866 8 6 6 0 +2020 0 1 0 9.50192 0.866201 30.002 0 0 -1 0.866 8 6 6 0 +2021 0 1 0 10.002 0 30.002 0 0 -1 0.866 8 6 6 0 +2022 0 1 0 10.5021 0.866201 30.002 0 0 -1 0.866 8 6 6 0 +2023 0 1 0 11.0022 0 30.002 0 0 -1 0.866 8 6 6 0 +2024 0 1 0 11.5023 0.866201 30.002 0 0 -1 0.866 8 6 6 0 +2025 0 1 0 12.0024 0 30.002 0 0 -1 0.866 8 6 6 0 +2026 0 1 0 12.5025 0.866201 30.002 0 0 -1 0.866 8 6 6 0 +2027 0 1 0 13.0026 0 30.002 0 0 -1 0.866 8 6 6 0 +2028 0 1 0 13.5027 0.866201 30.002 0 0 -1 0.866 8 6 6 0 +2029 0 1 0 14.0028 0 30.002 0 0 -1 0.866 8 6 6 0 +2030 0 1 0 14.5029 0.866201 30.002 0 0 -1 0.866 8 6 6 0 +2031 0 1 0 15.003 0 30.002 0 0 -1 0.866 8 6 6 0 +2032 0 1 0 15.5031 0.866201 30.002 0 0 -1 0.866 8 6 6 0 +2033 0 1 0 16.0032 0 30.002 0 0 -1 0.866 8 6 6 0 +2034 0 1 0 16.5033 0.866201 30.002 0 0 -1 0.866 8 6 6 0 +2035 0 1 0 17.0034 0 30.002 0 0 -1 0.866 8 6 6 0 +2036 0 1 0 17.5035 0.866201 30.002 0 0 -1 0.866 8 6 6 0 +2037 0 1 0 18.0036 0 30.002 0 0 -1 0.866 8 6 6 0 +2038 0 1 0 18.5037 0.866201 30.002 0 0 -1 0.866 8 6 6 0 +2039 0 1 0 19.0038 0 30.002 0 0 -1 0.866 8 6 6 0 +2040 0 1 0 19.5039 0.866201 30.002 0 0 -1 0.866 8 6 6 0 +2041 0 1 0 20.004 0 30.002 0 0 -1 0.866 8 6 6 0 +2042 0 1 0 20.5041 0.866201 30.002 0 0 -1 0.866 8 6 6 0 +2043 0 1 0 21.0042 0 30.002 0 0 -1 0.866 8 6 6 0 +2044 0 1 0 21.5043 0.866201 30.002 0 0 -1 0.866 8 6 6 0 +2045 0 1 0 22.0045 0 30.002 0 0 -1 0.866 8 6 6 0 +2046 0 1 0 22.5046 0.866201 30.002 0 0 -1 0.866 8 6 6 0 +2047 0 1 0 23.0047 0 30.002 0 0 -1 0.866 8 6 6 0 +2048 0 1 0 23.5048 0.866201 30.002 0 0 -1 0.866 8 6 6 0 +2049 0 1 0 24.0049 0 30.002 0 0 -1 0.866 8 6 6 0 +2050 0 1 0 24.505 0.866201 30.002 0 0 -1 0.866 8 6 6 0 +2051 0 1 0 25.0051 0 30.002 0 0 -1 0.866 8 6 6 0 +2052 0 1 0 25.5052 0.866201 30.002 0 0 -1 0.866 8 6 6 0 +2053 0 1 0 26.0053 0 30.002 0 0 -1 0.866 8 6 6 0 +2054 0 1 0 26.5054 0.866201 30.002 0 0 -1 0.866 8 6 6 0 +2055 0 1 0 27.0055 0 30.002 0 0 -1 0.866 8 6 6 0 +2056 0 1 0 27.5056 0.866201 30.002 0 0 -1 0.866 8 6 6 0 +2057 0 1 0 28.0057 0 30.002 0 0 -1 0.866 8 6 6 0 +2058 0 1 0 28.5058 0.866201 30.002 0 0 -1 0.866 8 6 6 0 +2059 0 1 0 29.0059 0 30.002 0 0 -1 0.866 8 6 6 0 +2060 0 1 0 29.506 0.866201 30.002 0 0 -1 0.866 8 6 6 0 +2061 0 1 0 30.0061 0 30.002 0 0 -1 0.866 8 6 6 0 +2062 0 1 0 30.5062 0.866201 30.002 0 0 -1 0.866 8 6 6 0 +2063 0 1 0 31.0063 0 30.002 0 0 -1 0.866 8 6 6 0 +2064 0 1 0 31.5064 0.866201 30.002 0 0 -1 0.866 8 6 6 0 +2065 0 1 0 32.0065 0 30.002 0 0 -1 0.866 8 6 6 0 +2066 0 1 0 32.5066 0.866201 30.002 0 0 -1 0.866 8 6 6 0 +2067 0 1 0 33.0067 0 30.002 0 0 -1 0.866 8 6 6 0 +2068 0 1 0 33.5068 0.866201 30.002 0 0 -1 0.866 8 6 6 0 +2069 0 1 0 34.0069 0 30.002 0 0 -1 0.866 8 6 6 0 +2070 0 1 0 34.507 0.866201 30.002 0 0 -1 0.866 8 6 6 0 +2071 0 1 0 35.0071 0 30.002 0 0 -1 0.866 8 6 6 0 +2072 0 1 0 35.5072 0.866201 30.002 0 0 -1 0.866 8 6 6 0 +2073 0 1 0 36.0073 0 30.002 0 0 -1 0.866 8 6 6 0 +2074 0 1 0 36.5074 0.866201 30.002 0 0 -1 0.866 8 6 6 0 +2075 0 1 0 37.0075 0 30.002 0 0 -1 0.866 8 6 6 0 +2076 0 1 0 37.5076 0.866201 30.002 0 0 -1 0.866 8 6 6 0 +2077 0 1 0 38.0077 0 30.002 0 0 -1 0.866 8 6 6 0 +2078 0 1 0 38.5078 0.866201 30.002 0 0 -1 0.866 8 6 6 0 +2079 0 1 0 39.0079 0 30.002 0 0 -1 0.866 8 6 6 0 +2080 0 1 0 39.508 0.866201 30.002 0 0 -1 0.866 8 6 6 0 +2081 0 1 0 0 1.7324 30.002 0 0 -1 0.866 8 6 6 0 +2082 0 1 0 0.500101 2.5986 30.002 0 0 -1 0.866 8 6 6 0 +2083 0 1 0 1.0002 1.7324 30.002 0 0 -1 0.866 8 6 6 0 +2084 0 1 0 1.5003 2.5986 30.002 0 0 -1 0.866 8 6 6 0 +2085 0 1 0 2.0004 1.7324 30.002 0 0 -1 0.866 8 6 6 0 +2086 0 1 0 2.50051 2.5986 30.002 0 0 -1 0.866 8 6 6 0 +2087 0 1 0 3.00061 1.7324 30.002 0 0 -1 0.866 8 6 6 0 +2088 0 1 0 3.50071 2.5986 30.002 0 0 -1 0.866 8 6 6 0 +2089 0 1 0 4.00081 1.7324 30.002 0 0 -1 0.866 8 6 6 0 +2090 0 1 0 4.50091 2.5986 30.002 0 0 -1 0.866 8 6 6 0 +2091 0 1 0 5.00101 1.7324 30.002 0 0 -1 0.866 8 6 6 0 +2092 0 1 0 5.50111 2.5986 30.002 0 0 -1 0.866 8 6 6 0 +2093 0 1 0 6.00121 1.7324 30.002 0 0 -1 0.866 8 6 6 0 +2094 0 1 0 6.50132 2.5986 30.002 0 0 -1 0.866 8 6 6 0 +2095 0 1 0 7.00142 1.7324 30.002 0 0 -1 0.866 8 6 6 0 +2096 0 1 0 7.50152 2.5986 30.002 0 0 -1 0.866 8 6 6 0 +2097 0 1 0 8.00162 1.7324 30.002 0 0 -1 0.866 8 6 6 0 +2098 0 1 0 8.50172 2.5986 30.002 0 0 -1 0.866 8 6 6 0 +2099 0 1 0 9.00182 1.7324 30.002 0 0 -1 0.866 8 6 6 0 +2100 0 1 0 9.50192 2.5986 30.002 0 0 -1 0.866 8 6 6 0 +2101 0 1 0 10.002 1.7324 30.002 0 0 -1 0.866 8 6 6 0 +2102 0 1 0 10.5021 2.5986 30.002 0 0 -1 0.866 8 6 6 0 +2103 0 1 0 11.0022 1.7324 30.002 0 0 -1 0.866 8 6 6 0 +2104 0 1 0 11.5023 2.5986 30.002 0 0 -1 0.866 8 6 6 0 +2105 0 1 0 12.0024 1.7324 30.002 0 0 -1 0.866 8 6 6 0 +2106 0 1 0 12.5025 2.5986 30.002 0 0 -1 0.866 8 6 6 0 +2107 0 1 0 13.0026 1.7324 30.002 0 0 -1 0.866 8 6 6 0 +2108 0 1 0 13.5027 2.5986 30.002 0 0 -1 0.866 8 6 6 0 +2109 0 1 0 14.0028 1.7324 30.002 0 0 -1 0.866 8 6 6 0 +2110 0 1 0 14.5029 2.5986 30.002 0 0 -1 0.866 8 6 6 0 +2111 0 1 0 15.003 1.7324 30.002 0 0 -1 0.866 8 6 6 0 +2112 0 1 0 15.5031 2.5986 30.002 0 0 -1 0.866 8 6 6 0 +2113 0 1 0 16.0032 1.7324 30.002 0 0 -1 0.866 8 6 6 0 +2114 0 1 0 16.5033 2.5986 30.002 0 0 -1 0.866 8 6 6 0 +2115 0 1 0 17.0034 1.7324 30.002 0 0 -1 0.866 8 6 6 0 +2116 0 1 0 17.5035 2.5986 30.002 0 0 -1 0.866 8 6 6 0 +2117 0 1 0 18.0036 1.7324 30.002 0 0 -1 0.866 8 6 6 0 +2118 0 1 0 18.5037 2.5986 30.002 0 0 -1 0.866 8 6 6 0 +2119 0 1 0 19.0038 1.7324 30.002 0 0 -1 0.866 8 6 6 0 +2120 0 1 0 19.5039 2.5986 30.002 0 0 -1 0.866 8 6 6 0 +2121 0 1 0 20.004 1.7324 30.002 0 0 -1 0.866 8 6 6 0 +2122 0 1 0 20.5041 2.5986 30.002 0 0 -1 0.866 8 6 6 0 +2123 0 1 0 21.0042 1.7324 30.002 0 0 -1 0.866 8 6 6 0 +2124 0 1 0 21.5043 2.5986 30.002 0 0 -1 0.866 8 6 6 0 +2125 0 1 0 22.0045 1.7324 30.002 0 0 -1 0.866 8 6 6 0 +2126 0 1 0 22.5046 2.5986 30.002 0 0 -1 0.866 8 6 6 0 +2127 0 1 0 23.0047 1.7324 30.002 0 0 -1 0.866 8 6 6 0 +2128 0 1 0 23.5048 2.5986 30.002 0 0 -1 0.866 8 6 6 0 +2129 0 1 0 24.0049 1.7324 30.002 0 0 -1 0.866 8 6 6 0 +2130 0 1 0 24.505 2.5986 30.002 0 0 -1 0.866 8 6 6 0 +2131 0 1 0 25.0051 1.7324 30.002 0 0 -1 0.866 8 6 6 0 +2132 0 1 0 25.5052 2.5986 30.002 0 0 -1 0.866 8 6 6 0 +2133 0 1 0 26.0053 1.7324 30.002 0 0 -1 0.866 8 6 6 0 +2134 0 1 0 26.5054 2.5986 30.002 0 0 -1 0.866 8 6 6 0 +2135 0 1 0 27.0055 1.7324 30.002 0 0 -1 0.866 8 6 6 0 +2136 0 1 0 27.5056 2.5986 30.002 0 0 -1 0.866 8 6 6 0 +2137 0 1 0 28.0057 1.7324 30.002 0 0 -1 0.866 8 6 6 0 +2138 0 1 0 28.5058 2.5986 30.002 0 0 -1 0.866 8 6 6 0 +2139 0 1 0 29.0059 1.7324 30.002 0 0 -1 0.866 8 6 6 0 +2140 0 1 0 29.506 2.5986 30.002 0 0 -1 0.866 8 6 6 0 +2141 0 1 0 30.0061 1.7324 30.002 0 0 -1 0.866 8 6 6 0 +2142 0 1 0 30.5062 2.5986 30.002 0 0 -1 0.866 8 6 6 0 +2143 0 1 0 31.0063 1.7324 30.002 0 0 -1 0.866 8 6 6 0 +2144 0 1 0 31.5064 2.5986 30.002 0 0 -1 0.866 8 6 6 0 +2145 0 1 0 32.0065 1.7324 30.002 0 0 -1 0.866 8 6 6 0 +2146 0 1 0 32.5066 2.5986 30.002 0 0 -1 0.866 8 6 6 0 +2147 0 1 0 33.0067 1.7324 30.002 0 0 -1 0.866 8 6 6 0 +2148 0 1 0 33.5068 2.5986 30.002 0 0 -1 0.866 8 6 6 0 +2149 0 1 0 34.0069 1.7324 30.002 0 0 -1 0.866 8 6 6 0 +2150 0 1 0 34.507 2.5986 30.002 0 0 -1 0.866 8 6 6 0 +2151 0 1 0 35.0071 1.7324 30.002 0 0 -1 0.866 8 6 6 0 +2152 0 1 0 35.5072 2.5986 30.002 0 0 -1 0.866 8 6 6 0 +2153 0 1 0 36.0073 1.7324 30.002 0 0 -1 0.866 8 6 6 0 +2154 0 1 0 36.5074 2.5986 30.002 0 0 -1 0.866 8 6 6 0 +2155 0 1 0 37.0075 1.7324 30.002 0 0 -1 0.866 8 6 6 0 +2156 0 1 0 37.5076 2.5986 30.002 0 0 -1 0.866 8 6 6 0 +2157 0 1 0 38.0077 1.7324 30.002 0 0 -1 0.866 8 6 6 0 +2158 0 1 0 38.5078 2.5986 30.002 0 0 -1 0.866 8 6 6 0 +2159 0 1 0 39.0079 1.7324 30.002 0 0 -1 0.866 8 6 6 0 +2160 0 1 0 39.508 2.5986 30.002 0 0 -1 0.866 8 6 6 0 +2161 0 1 0 0 3.4648 30.002 0 0 -1 0.866 8 6 6 0 +2162 0 1 0 0.500101 4.331 30.002 0 0 -1 0.866 8 6 6 0 +2163 0 1 0 1.0002 3.4648 30.002 0 0 -1 0.866 8 6 6 0 +2164 0 1 0 1.5003 4.331 30.002 0 0 -1 0.866 8 6 6 0 +2165 0 1 0 2.0004 3.4648 30.002 0 0 -1 0.866 8 6 6 0 +2166 0 1 0 2.50051 4.331 30.002 0 0 -1 0.866 8 6 6 0 +2167 0 1 0 3.00061 3.4648 30.002 0 0 -1 0.866 8 6 6 0 +2168 0 1 0 3.50071 4.331 30.002 0 0 -1 0.866 8 6 6 0 +2169 0 1 0 4.00081 3.4648 30.002 0 0 -1 0.866 8 6 6 0 +2170 0 1 0 4.50091 4.331 30.002 0 0 -1 0.866 8 6 6 0 +2171 0 1 0 5.00101 3.4648 30.002 0 0 -1 0.866 8 6 6 0 +2172 0 1 0 5.50111 4.331 30.002 0 0 -1 0.866 8 6 6 0 +2173 0 1 0 6.00121 3.4648 30.002 0 0 -1 0.866 8 6 6 0 +2174 0 1 0 6.50132 4.331 30.002 0 0 -1 0.866 8 6 6 0 +2175 0 1 0 7.00142 3.4648 30.002 0 0 -1 0.866 8 6 6 0 +2176 0 1 0 7.50152 4.331 30.002 0 0 -1 0.866 8 6 6 0 +2177 0 1 0 8.00162 3.4648 30.002 0 0 -1 0.866 8 6 6 0 +2178 0 1 0 8.50172 4.331 30.002 0 0 -1 0.866 8 6 6 0 +2179 0 1 0 9.00182 3.4648 30.002 0 0 -1 0.866 8 6 6 0 +2180 0 1 0 9.50192 4.331 30.002 0 0 -1 0.866 8 6 6 0 +2181 0 1 0 10.002 3.4648 30.002 0 0 -1 0.866 8 6 6 0 +2182 0 1 0 10.5021 4.331 30.002 0 0 -1 0.866 8 6 6 0 +2183 0 1 0 11.0022 3.4648 30.002 0 0 -1 0.866 8 6 6 0 +2184 0 1 0 11.5023 4.331 30.002 0 0 -1 0.866 8 6 6 0 +2185 0 1 0 12.0024 3.4648 30.002 0 0 -1 0.866 8 6 6 0 +2186 0 1 0 12.5025 4.331 30.002 0 0 -1 0.866 8 6 6 0 +2187 0 1 0 13.0026 3.4648 30.002 0 0 -1 0.866 8 6 6 0 +2188 0 1 0 13.5027 4.331 30.002 0 0 -1 0.866 8 6 6 0 +2189 0 1 0 14.0028 3.4648 30.002 0 0 -1 0.866 8 6 6 0 +2190 0 1 0 14.5029 4.331 30.002 0 0 -1 0.866 8 6 6 0 +2191 0 1 0 15.003 3.4648 30.002 0 0 -1 0.866 8 6 6 0 +2192 0 1 0 15.5031 4.331 30.002 0 0 -1 0.866 8 6 6 0 +2193 0 1 0 16.0032 3.4648 30.002 0 0 -1 0.866 8 6 6 0 +2194 0 1 0 16.5033 4.331 30.002 0 0 -1 0.866 8 6 6 0 +2195 0 1 0 17.0034 3.4648 30.002 0 0 -1 0.866 8 6 6 0 +2196 0 1 0 17.5035 4.331 30.002 0 0 -1 0.866 8 6 6 0 +2197 0 1 0 18.0036 3.4648 30.002 0 0 -1 0.866 8 6 6 0 +2198 0 1 0 18.5037 4.331 30.002 0 0 -1 0.866 8 6 6 0 +2199 0 1 0 19.0038 3.4648 30.002 0 0 -1 0.866 8 6 6 0 +2200 0 1 0 19.5039 4.331 30.002 0 0 -1 0.866 8 6 6 0 +2201 0 1 0 20.004 3.4648 30.002 0 0 -1 0.866 8 6 6 0 +2202 0 1 0 20.5041 4.331 30.002 0 0 -1 0.866 8 6 6 0 +2203 0 1 0 21.0042 3.4648 30.002 0 0 -1 0.866 8 6 6 0 +2204 0 1 0 21.5043 4.331 30.002 0 0 -1 0.866 8 6 6 0 +2205 0 1 0 22.0045 3.4648 30.002 0 0 -1 0.866 8 6 6 0 +2206 0 1 0 22.5046 4.331 30.002 0 0 -1 0.866 8 6 6 0 +2207 0 1 0 23.0047 3.4648 30.002 0 0 -1 0.866 8 6 6 0 +2208 0 1 0 23.5048 4.331 30.002 0 0 -1 0.866 8 6 6 0 +2209 0 1 0 24.0049 3.4648 30.002 0 0 -1 0.866 8 6 6 0 +2210 0 1 0 24.505 4.331 30.002 0 0 -1 0.866 8 6 6 0 +2211 0 1 0 25.0051 3.4648 30.002 0 0 -1 0.866 8 6 6 0 +2212 0 1 0 25.5052 4.331 30.002 0 0 -1 0.866 8 6 6 0 +2213 0 1 0 26.0053 3.4648 30.002 0 0 -1 0.866 8 6 6 0 +2214 0 1 0 26.5054 4.331 30.002 0 0 -1 0.866 8 6 6 0 +2215 0 1 0 27.0055 3.4648 30.002 0 0 -1 0.866 8 6 6 0 +2216 0 1 0 27.5056 4.331 30.002 0 0 -1 0.866 8 6 6 0 +2217 0 1 0 28.0057 3.4648 30.002 0 0 -1 0.866 8 6 6 0 +2218 0 1 0 28.5058 4.331 30.002 0 0 -1 0.866 8 6 6 0 +2219 0 1 0 29.0059 3.4648 30.002 0 0 -1 0.866 8 6 6 0 +2220 0 1 0 29.506 4.331 30.002 0 0 -1 0.866 8 6 6 0 +2221 0 1 0 30.0061 3.4648 30.002 0 0 -1 0.866 8 6 6 0 +2222 0 1 0 30.5062 4.331 30.002 0 0 -1 0.866 8 6 6 0 +2223 0 1 0 31.0063 3.4648 30.002 0 0 -1 0.866 8 6 6 0 +2224 0 1 0 31.5064 4.331 30.002 0 0 -1 0.866 8 6 6 0 +2225 0 1 0 32.0065 3.4648 30.002 0 0 -1 0.866 8 6 6 0 +2226 0 1 0 32.5066 4.331 30.002 0 0 -1 0.866 8 6 6 0 +2227 0 1 0 33.0067 3.4648 30.002 0 0 -1 0.866 8 6 6 0 +2228 0 1 0 33.5068 4.331 30.002 0 0 -1 0.866 8 6 6 0 +2229 0 1 0 34.0069 3.4648 30.002 0 0 -1 0.866 8 6 6 0 +2230 0 1 0 34.507 4.331 30.002 0 0 -1 0.866 8 6 6 0 +2231 0 1 0 35.0071 3.4648 30.002 0 0 -1 0.866 8 6 6 0 +2232 0 1 0 35.5072 4.331 30.002 0 0 -1 0.866 8 6 6 0 +2233 0 1 0 36.0073 3.4648 30.002 0 0 -1 0.866 8 6 6 0 +2234 0 1 0 36.5074 4.331 30.002 0 0 -1 0.866 8 6 6 0 +2235 0 1 0 37.0075 3.4648 30.002 0 0 -1 0.866 8 6 6 0 +2236 0 1 0 37.5076 4.331 30.002 0 0 -1 0.866 8 6 6 0 +2237 0 1 0 38.0077 3.4648 30.002 0 0 -1 0.866 8 6 6 0 +2238 0 1 0 38.5078 4.331 30.002 0 0 -1 0.866 8 6 6 0 +2239 0 1 0 39.0079 3.4648 30.002 0 0 -1 0.866 8 6 6 0 +2240 0 1 0 39.508 4.331 30.002 0 0 -1 0.866 8 6 6 0 +2241 0 1 0 0 5.1972 30.002 0 0 -1 0.866 8 6 6 0 +2242 0 1 0 0.500101 6.0634 30.002 0 0 -1 0.866 8 6 6 0 +2243 0 1 0 1.0002 5.1972 30.002 0 0 -1 0.866 8 6 6 0 +2244 0 1 0 1.5003 6.0634 30.002 0 0 -1 0.866 8 6 6 0 +2245 0 1 0 2.0004 5.1972 30.002 0 0 -1 0.866 8 6 6 0 +2246 0 1 0 2.50051 6.0634 30.002 0 0 -1 0.866 8 6 6 0 +2247 0 1 0 3.00061 5.1972 30.002 0 0 -1 0.866 8 6 6 0 +2248 0 1 0 3.50071 6.0634 30.002 0 0 -1 0.866 8 6 6 0 +2249 0 1 0 4.00081 5.1972 30.002 0 0 -1 0.866 8 6 6 0 +2250 0 1 0 4.50091 6.0634 30.002 0 0 -1 0.866 8 6 6 0 +2251 0 1 0 5.00101 5.1972 30.002 0 0 -1 0.866 8 6 6 0 +2252 0 1 0 5.50111 6.0634 30.002 0 0 -1 0.866 8 6 6 0 +2253 0 1 0 6.00121 5.1972 30.002 0 0 -1 0.866 8 6 6 0 +2254 0 1 0 6.50132 6.0634 30.002 0 0 -1 0.866 8 6 6 0 +2255 0 1 0 7.00142 5.1972 30.002 0 0 -1 0.866 8 6 6 0 +2256 0 1 0 7.50152 6.0634 30.002 0 0 -1 0.866 8 6 6 0 +2257 0 1 0 8.00162 5.1972 30.002 0 0 -1 0.866 8 6 6 0 +2258 0 1 0 8.50172 6.0634 30.002 0 0 -1 0.866 8 6 6 0 +2259 0 1 0 9.00182 5.1972 30.002 0 0 -1 0.866 8 6 6 0 +2260 0 1 0 9.50192 6.0634 30.002 0 0 -1 0.866 8 6 6 0 +2261 0 1 0 10.002 5.1972 30.002 0 0 -1 0.866 8 6 6 0 +2262 0 1 0 10.5021 6.0634 30.002 0 0 -1 0.866 8 6 6 0 +2263 0 1 0 11.0022 5.1972 30.002 0 0 -1 0.866 8 6 6 0 +2264 0 1 0 11.5023 6.0634 30.002 0 0 -1 0.866 8 6 6 0 +2265 0 1 0 12.0024 5.1972 30.002 0 0 -1 0.866 8 6 6 0 +2266 0 1 0 12.5025 6.0634 30.002 0 0 -1 0.866 8 6 6 0 +2267 0 1 0 13.0026 5.1972 30.002 0 0 -1 0.866 8 6 6 0 +2268 0 1 0 13.5027 6.0634 30.002 0 0 -1 0.866 8 6 6 0 +2269 0 1 0 14.0028 5.1972 30.002 0 0 -1 0.866 8 6 6 0 +2270 0 1 0 14.5029 6.0634 30.002 0 0 -1 0.866 8 6 6 0 +2271 0 1 0 15.003 5.1972 30.002 0 0 -1 0.866 8 6 6 0 +2272 0 1 0 15.5031 6.0634 30.002 0 0 -1 0.866 8 6 6 0 +2273 0 1 0 16.0032 5.1972 30.002 0 0 -1 0.866 8 6 6 0 +2274 0 1 0 16.5033 6.0634 30.002 0 0 -1 0.866 8 6 6 0 +2275 0 1 0 17.0034 5.1972 30.002 0 0 -1 0.866 8 6 6 0 +2276 0 1 0 17.5035 6.0634 30.002 0 0 -1 0.866 8 6 6 0 +2277 0 1 0 18.0036 5.1972 30.002 0 0 -1 0.866 8 6 6 0 +2278 0 1 0 18.5037 6.0634 30.002 0 0 -1 0.866 8 6 6 0 +2279 0 1 0 19.0038 5.1972 30.002 0 0 -1 0.866 8 6 6 0 +2280 0 1 0 19.5039 6.0634 30.002 0 0 -1 0.866 8 6 6 0 +2281 0 1 0 20.004 5.1972 30.002 0 0 -1 0.866 8 6 6 0 +2282 0 1 0 20.5041 6.0634 30.002 0 0 -1 0.866 8 6 6 0 +2283 0 1 0 21.0042 5.1972 30.002 0 0 -1 0.866 8 6 6 0 +2284 0 1 0 21.5043 6.0634 30.002 0 0 -1 0.866 8 6 6 0 +2285 0 1 0 22.0045 5.1972 30.002 0 0 -1 0.866 8 6 6 0 +2286 0 1 0 22.5046 6.0634 30.002 0 0 -1 0.866 8 6 6 0 +2287 0 1 0 23.0047 5.1972 30.002 0 0 -1 0.866 8 6 6 0 +2288 0 1 0 23.5048 6.0634 30.002 0 0 -1 0.866 8 6 6 0 +2289 0 1 0 24.0049 5.1972 30.002 0 0 -1 0.866 8 6 6 0 +2290 0 1 0 24.505 6.0634 30.002 0 0 -1 0.866 8 6 6 0 +2291 0 1 0 25.0051 5.1972 30.002 0 0 -1 0.866 8 6 6 0 +2292 0 1 0 25.5052 6.0634 30.002 0 0 -1 0.866 8 6 6 0 +2293 0 1 0 26.0053 5.1972 30.002 0 0 -1 0.866 8 6 6 0 +2294 0 1 0 26.5054 6.0634 30.002 0 0 -1 0.866 8 6 6 0 +2295 0 1 0 27.0055 5.1972 30.002 0 0 -1 0.866 8 6 6 0 +2296 0 1 0 27.5056 6.0634 30.002 0 0 -1 0.866 8 6 6 0 +2297 0 1 0 28.0057 5.1972 30.002 0 0 -1 0.866 8 6 6 0 +2298 0 1 0 28.5058 6.0634 30.002 0 0 -1 0.866 8 6 6 0 +2299 0 1 0 29.0059 5.1972 30.002 0 0 -1 0.866 8 6 6 0 +2300 0 1 0 29.506 6.0634 30.002 0 0 -1 0.866 8 6 6 0 +2301 0 1 0 30.0061 5.1972 30.002 0 0 -1 0.866 8 6 6 0 +2302 0 1 0 30.5062 6.0634 30.002 0 0 -1 0.866 8 6 6 0 +2303 0 1 0 31.0063 5.1972 30.002 0 0 -1 0.866 8 6 6 0 +2304 0 1 0 31.5064 6.0634 30.002 0 0 -1 0.866 8 6 6 0 +2305 0 1 0 32.0065 5.1972 30.002 0 0 -1 0.866 8 6 6 0 +2306 0 1 0 32.5066 6.0634 30.002 0 0 -1 0.866 8 6 6 0 +2307 0 1 0 33.0067 5.1972 30.002 0 0 -1 0.866 8 6 6 0 +2308 0 1 0 33.5068 6.0634 30.002 0 0 -1 0.866 8 6 6 0 +2309 0 1 0 34.0069 5.1972 30.002 0 0 -1 0.866 8 6 6 0 +2310 0 1 0 34.507 6.0634 30.002 0 0 -1 0.866 8 6 6 0 +2311 0 1 0 35.0071 5.1972 30.002 0 0 -1 0.866 8 6 6 0 +2312 0 1 0 35.5072 6.0634 30.002 0 0 -1 0.866 8 6 6 0 +2313 0 1 0 36.0073 5.1972 30.002 0 0 -1 0.866 8 6 6 0 +2314 0 1 0 36.5074 6.0634 30.002 0 0 -1 0.866 8 6 6 0 +2315 0 1 0 37.0075 5.1972 30.002 0 0 -1 0.866 8 6 6 0 +2316 0 1 0 37.5076 6.0634 30.002 0 0 -1 0.866 8 6 6 0 +2317 0 1 0 38.0077 5.1972 30.002 0 0 -1 0.866 8 6 6 0 +2318 0 1 0 38.5078 6.0634 30.002 0 0 -1 0.866 8 6 6 0 +2319 0 1 0 39.0079 5.1972 30.002 0 0 -1 0.866 8 6 6 0 +2320 0 1 0 39.508 6.0634 30.002 0 0 -1 0.866 8 6 6 0 +2321 0 1 0 0 6.9296 30.002 0 0 -1 0.866 8 6 6 0 +2322 0 1 0 0.500101 7.79581 30.002 0 0 -1 0.866 8 6 6 0 +2323 0 1 0 1.0002 6.9296 30.002 0 0 -1 0.866 8 6 6 0 +2324 0 1 0 1.5003 7.79581 30.002 0 0 -1 0.866 8 6 6 0 +2325 0 1 0 2.0004 6.9296 30.002 0 0 -1 0.866 8 6 6 0 +2326 0 1 0 2.50051 7.79581 30.002 0 0 -1 0.866 8 6 6 0 +2327 0 1 0 3.00061 6.9296 30.002 0 0 -1 0.866 8 6 6 0 +2328 0 1 0 3.50071 7.79581 30.002 0 0 -1 0.866 8 6 6 0 +2329 0 1 0 4.00081 6.9296 30.002 0 0 -1 0.866 8 6 6 0 +2330 0 1 0 4.50091 7.79581 30.002 0 0 -1 0.866 8 6 6 0 +2331 0 1 0 5.00101 6.9296 30.002 0 0 -1 0.866 8 6 6 0 +2332 0 1 0 5.50111 7.79581 30.002 0 0 -1 0.866 8 6 6 0 +2333 0 1 0 6.00121 6.9296 30.002 0 0 -1 0.866 8 6 6 0 +2334 0 1 0 6.50132 7.79581 30.002 0 0 -1 0.866 8 6 6 0 +2335 0 1 0 7.00142 6.9296 30.002 0 0 -1 0.866 8 6 6 0 +2336 0 1 0 7.50152 7.79581 30.002 0 0 -1 0.866 8 6 6 0 +2337 0 1 0 8.00162 6.9296 30.002 0 0 -1 0.866 8 6 6 0 +2338 0 1 0 8.50172 7.79581 30.002 0 0 -1 0.866 8 6 6 0 +2339 0 1 0 9.00182 6.9296 30.002 0 0 -1 0.866 8 6 6 0 +2340 0 1 0 9.50192 7.79581 30.002 0 0 -1 0.866 8 6 6 0 +2341 0 1 0 10.002 6.9296 30.002 0 0 -1 0.866 8 6 6 0 +2342 0 1 0 10.5021 7.79581 30.002 0 0 -1 0.866 8 6 6 0 +2343 0 1 0 11.0022 6.9296 30.002 0 0 -1 0.866 8 6 6 0 +2344 0 1 0 11.5023 7.79581 30.002 0 0 -1 0.866 8 6 6 0 +2345 0 1 0 12.0024 6.9296 30.002 0 0 -1 0.866 8 6 6 0 +2346 0 1 0 12.5025 7.79581 30.002 0 0 -1 0.866 8 6 6 0 +2347 0 1 0 13.0026 6.9296 30.002 0 0 -1 0.866 8 6 6 0 +2348 0 1 0 13.5027 7.79581 30.002 0 0 -1 0.866 8 6 6 0 +2349 0 1 0 14.0028 6.9296 30.002 0 0 -1 0.866 8 6 6 0 +2350 0 1 0 14.5029 7.79581 30.002 0 0 -1 0.866 8 6 6 0 +2351 0 1 0 15.003 6.9296 30.002 0 0 -1 0.866 8 6 6 0 +2352 0 1 0 15.5031 7.79581 30.002 0 0 -1 0.866 8 6 6 0 +2353 0 1 0 16.0032 6.9296 30.002 0 0 -1 0.866 8 6 6 0 +2354 0 1 0 16.5033 7.79581 30.002 0 0 -1 0.866 8 6 6 0 +2355 0 1 0 17.0034 6.9296 30.002 0 0 -1 0.866 8 6 6 0 +2356 0 1 0 17.5035 7.79581 30.002 0 0 -1 0.866 8 6 6 0 +2357 0 1 0 18.0036 6.9296 30.002 0 0 -1 0.866 8 6 6 0 +2358 0 1 0 18.5037 7.79581 30.002 0 0 -1 0.866 8 6 6 0 +2359 0 1 0 19.0038 6.9296 30.002 0 0 -1 0.866 8 6 6 0 +2360 0 1 0 19.5039 7.79581 30.002 0 0 -1 0.866 8 6 6 0 +2361 0 1 0 20.004 6.9296 30.002 0 0 -1 0.866 8 6 6 0 +2362 0 1 0 20.5041 7.79581 30.002 0 0 -1 0.866 8 6 6 0 +2363 0 1 0 21.0042 6.9296 30.002 0 0 -1 0.866 8 6 6 0 +2364 0 1 0 21.5043 7.79581 30.002 0 0 -1 0.866 8 6 6 0 +2365 0 1 0 22.0045 6.9296 30.002 0 0 -1 0.866 8 6 6 0 +2366 0 1 0 22.5046 7.79581 30.002 0 0 -1 0.866 8 6 6 0 +2367 0 1 0 23.0047 6.9296 30.002 0 0 -1 0.866 8 6 6 0 +2368 0 1 0 23.5048 7.79581 30.002 0 0 -1 0.866 8 6 6 0 +2369 0 1 0 24.0049 6.9296 30.002 0 0 -1 0.866 8 6 6 0 +2370 0 1 0 24.505 7.79581 30.002 0 0 -1 0.866 8 6 6 0 +2371 0 1 0 25.0051 6.9296 30.002 0 0 -1 0.866 8 6 6 0 +2372 0 1 0 25.5052 7.79581 30.002 0 0 -1 0.866 8 6 6 0 +2373 0 1 0 26.0053 6.9296 30.002 0 0 -1 0.866 8 6 6 0 +2374 0 1 0 26.5054 7.79581 30.002 0 0 -1 0.866 8 6 6 0 +2375 0 1 0 27.0055 6.9296 30.002 0 0 -1 0.866 8 6 6 0 +2376 0 1 0 27.5056 7.79581 30.002 0 0 -1 0.866 8 6 6 0 +2377 0 1 0 28.0057 6.9296 30.002 0 0 -1 0.866 8 6 6 0 +2378 0 1 0 28.5058 7.79581 30.002 0 0 -1 0.866 8 6 6 0 +2379 0 1 0 29.0059 6.9296 30.002 0 0 -1 0.866 8 6 6 0 +2380 0 1 0 29.506 7.79581 30.002 0 0 -1 0.866 8 6 6 0 +2381 0 1 0 30.0061 6.9296 30.002 0 0 -1 0.866 8 6 6 0 +2382 0 1 0 30.5062 7.79581 30.002 0 0 -1 0.866 8 6 6 0 +2383 0 1 0 31.0063 6.9296 30.002 0 0 -1 0.866 8 6 6 0 +2384 0 1 0 31.5064 7.79581 30.002 0 0 -1 0.866 8 6 6 0 +2385 0 1 0 32.0065 6.9296 30.002 0 0 -1 0.866 8 6 6 0 +2386 0 1 0 32.5066 7.79581 30.002 0 0 -1 0.866 8 6 6 0 +2387 0 1 0 33.0067 6.9296 30.002 0 0 -1 0.866 8 6 6 0 +2388 0 1 0 33.5068 7.79581 30.002 0 0 -1 0.866 8 6 6 0 +2389 0 1 0 34.0069 6.9296 30.002 0 0 -1 0.866 8 6 6 0 +2390 0 1 0 34.507 7.79581 30.002 0 0 -1 0.866 8 6 6 0 +2391 0 1 0 35.0071 6.9296 30.002 0 0 -1 0.866 8 6 6 0 +2392 0 1 0 35.5072 7.79581 30.002 0 0 -1 0.866 8 6 6 0 +2393 0 1 0 36.0073 6.9296 30.002 0 0 -1 0.866 8 6 6 0 +2394 0 1 0 36.5074 7.79581 30.002 0 0 -1 0.866 8 6 6 0 +2395 0 1 0 37.0075 6.9296 30.002 0 0 -1 0.866 8 6 6 0 +2396 0 1 0 37.5076 7.79581 30.002 0 0 -1 0.866 8 6 6 0 +2397 0 1 0 38.0077 6.9296 30.002 0 0 -1 0.866 8 6 6 0 +2398 0 1 0 38.5078 7.79581 30.002 0 0 -1 0.866 8 6 6 0 +2399 0 1 0 39.0079 6.9296 30.002 0 0 -1 0.866 8 6 6 0 +2400 0 1 0 39.508 7.79581 30.002 0 0 -1 0.866 8 6 6 0 +2401 0 1 0 0 8.66201 30.002 0 0 -1 0.866 8 6 6 0 +2402 0 1 0 0.500101 9.52821 30.002 0 0 -1 0.866 8 6 6 0 +2403 0 1 0 1.0002 8.66201 30.002 0 0 -1 0.866 8 6 6 0 +2404 0 1 0 1.5003 9.52821 30.002 0 0 -1 0.866 8 6 6 0 +2405 0 1 0 2.0004 8.66201 30.002 0 0 -1 0.866 8 6 6 0 +2406 0 1 0 2.50051 9.52821 30.002 0 0 -1 0.866 8 6 6 0 +2407 0 1 0 3.00061 8.66201 30.002 0 0 -1 0.866 8 6 6 0 +2408 0 1 0 3.50071 9.52821 30.002 0 0 -1 0.866 8 6 6 0 +2409 0 1 0 4.00081 8.66201 30.002 0 0 -1 0.866 8 6 6 0 +2410 0 1 0 4.50091 9.52821 30.002 0 0 -1 0.866 8 6 6 0 +2411 0 1 0 5.00101 8.66201 30.002 0 0 -1 0.866 8 6 6 0 +2412 0 1 0 5.50111 9.52821 30.002 0 0 -1 0.866 8 6 6 0 +2413 0 1 0 6.00121 8.66201 30.002 0 0 -1 0.866 8 6 6 0 +2414 0 1 0 6.50132 9.52821 30.002 0 0 -1 0.866 8 6 6 0 +2415 0 1 0 7.00142 8.66201 30.002 0 0 -1 0.866 8 6 6 0 +2416 0 1 0 7.50152 9.52821 30.002 0 0 -1 0.866 8 6 6 0 +2417 0 1 0 8.00162 8.66201 30.002 0 0 -1 0.866 8 6 6 0 +2418 0 1 0 8.50172 9.52821 30.002 0 0 -1 0.866 8 6 6 0 +2419 0 1 0 9.00182 8.66201 30.002 0 0 -1 0.866 8 6 6 0 +2420 0 1 0 9.50192 9.52821 30.002 0 0 -1 0.866 8 6 6 0 +2421 0 1 0 10.002 8.66201 30.002 0 0 -1 0.866 8 6 6 0 +2422 0 1 0 10.5021 9.52821 30.002 0 0 -1 0.866 8 6 6 0 +2423 0 1 0 11.0022 8.66201 30.002 0 0 -1 0.866 8 6 6 0 +2424 0 1 0 11.5023 9.52821 30.002 0 0 -1 0.866 8 6 6 0 +2425 0 1 0 12.0024 8.66201 30.002 0 0 -1 0.866 8 6 6 0 +2426 0 1 0 12.5025 9.52821 30.002 0 0 -1 0.866 8 6 6 0 +2427 0 1 0 13.0026 8.66201 30.002 0 0 -1 0.866 8 6 6 0 +2428 0 1 0 13.5027 9.52821 30.002 0 0 -1 0.866 8 6 6 0 +2429 0 1 0 14.0028 8.66201 30.002 0 0 -1 0.866 8 6 6 0 +2430 0 1 0 14.5029 9.52821 30.002 0 0 -1 0.866 8 6 6 0 +2431 0 1 0 15.003 8.66201 30.002 0 0 -1 0.866 8 6 6 0 +2432 0 1 0 15.5031 9.52821 30.002 0 0 -1 0.866 8 6 6 0 +2433 0 1 0 16.0032 8.66201 30.002 0 0 -1 0.866 8 6 6 0 +2434 0 1 0 16.5033 9.52821 30.002 0 0 -1 0.866 8 6 6 0 +2435 0 1 0 17.0034 8.66201 30.002 0 0 -1 0.866 8 6 6 0 +2436 0 1 0 17.5035 9.52821 30.002 0 0 -1 0.866 8 6 6 0 +2437 0 1 0 18.0036 8.66201 30.002 0 0 -1 0.866 8 6 6 0 +2438 0 1 0 18.5037 9.52821 30.002 0 0 -1 0.866 8 6 6 0 +2439 0 1 0 19.0038 8.66201 30.002 0 0 -1 0.866 8 6 6 0 +2440 0 1 0 19.5039 9.52821 30.002 0 0 -1 0.866 8 6 6 0 +2441 0 1 0 20.004 8.66201 30.002 0 0 -1 0.866 8 6 6 0 +2442 0 1 0 20.5041 9.52821 30.002 0 0 -1 0.866 8 6 6 0 +2443 0 1 0 21.0042 8.66201 30.002 0 0 -1 0.866 8 6 6 0 +2444 0 1 0 21.5043 9.52821 30.002 0 0 -1 0.866 8 6 6 0 +2445 0 1 0 22.0045 8.66201 30.002 0 0 -1 0.866 8 6 6 0 +2446 0 1 0 22.5046 9.52821 30.002 0 0 -1 0.866 8 6 6 0 +2447 0 1 0 23.0047 8.66201 30.002 0 0 -1 0.866 8 6 6 0 +2448 0 1 0 23.5048 9.52821 30.002 0 0 -1 0.866 8 6 6 0 +2449 0 1 0 24.0049 8.66201 30.002 0 0 -1 0.866 8 6 6 0 +2450 0 1 0 24.505 9.52821 30.002 0 0 -1 0.866 8 6 6 0 +2451 0 1 0 25.0051 8.66201 30.002 0 0 -1 0.866 8 6 6 0 +2452 0 1 0 25.5052 9.52821 30.002 0 0 -1 0.866 8 6 6 0 +2453 0 1 0 26.0053 8.66201 30.002 0 0 -1 0.866 8 6 6 0 +2454 0 1 0 26.5054 9.52821 30.002 0 0 -1 0.866 8 6 6 0 +2455 0 1 0 27.0055 8.66201 30.002 0 0 -1 0.866 8 6 6 0 +2456 0 1 0 27.5056 9.52821 30.002 0 0 -1 0.866 8 6 6 0 +2457 0 1 0 28.0057 8.66201 30.002 0 0 -1 0.866 8 6 6 0 +2458 0 1 0 28.5058 9.52821 30.002 0 0 -1 0.866 8 6 6 0 +2459 0 1 0 29.0059 8.66201 30.002 0 0 -1 0.866 8 6 6 0 +2460 0 1 0 29.506 9.52821 30.002 0 0 -1 0.866 8 6 6 0 +2461 0 1 0 30.0061 8.66201 30.002 0 0 -1 0.866 8 6 6 0 +2462 0 1 0 30.5062 9.52821 30.002 0 0 -1 0.866 8 6 6 0 +2463 0 1 0 31.0063 8.66201 30.002 0 0 -1 0.866 8 6 6 0 +2464 0 1 0 31.5064 9.52821 30.002 0 0 -1 0.866 8 6 6 0 +2465 0 1 0 32.0065 8.66201 30.002 0 0 -1 0.866 8 6 6 0 +2466 0 1 0 32.5066 9.52821 30.002 0 0 -1 0.866 8 6 6 0 +2467 0 1 0 33.0067 8.66201 30.002 0 0 -1 0.866 8 6 6 0 +2468 0 1 0 33.5068 9.52821 30.002 0 0 -1 0.866 8 6 6 0 +2469 0 1 0 34.0069 8.66201 30.002 0 0 -1 0.866 8 6 6 0 +2470 0 1 0 34.507 9.52821 30.002 0 0 -1 0.866 8 6 6 0 +2471 0 1 0 35.0071 8.66201 30.002 0 0 -1 0.866 8 6 6 0 +2472 0 1 0 35.5072 9.52821 30.002 0 0 -1 0.866 8 6 6 0 +2473 0 1 0 36.0073 8.66201 30.002 0 0 -1 0.866 8 6 6 0 +2474 0 1 0 36.5074 9.52821 30.002 0 0 -1 0.866 8 6 6 0 +2475 0 1 0 37.0075 8.66201 30.002 0 0 -1 0.866 8 6 6 0 +2476 0 1 0 37.5076 9.52821 30.002 0 0 -1 0.866 8 6 6 0 +2477 0 1 0 38.0077 8.66201 30.002 0 0 -1 0.866 8 6 6 0 +2478 0 1 0 38.5078 9.52821 30.002 0 0 -1 0.866 8 6 6 0 +2479 0 1 0 39.0079 8.66201 30.002 0 0 -1 0.866 8 6 6 0 +2480 0 1 0 39.508 9.52821 30.002 0 0 -1 0.866 8 6 6 0 +2481 0 1 0 0 10.3944 30.002 0 0 -1 0.866 8 6 6 0 +2482 0 1 0 0.500101 11.2606 30.002 0 0 -1 0.866 8 6 6 0 +2483 0 1 0 1.0002 10.3944 30.002 0 0 -1 0.866 8 6 6 0 +2484 0 1 0 1.5003 11.2606 30.002 0 0 -1 0.866 8 6 6 0 +2485 0 1 0 2.0004 10.3944 30.002 0 0 -1 0.866 8 6 6 0 +2486 0 1 0 2.50051 11.2606 30.002 0 0 -1 0.866 8 6 6 0 +2487 0 1 0 3.00061 10.3944 30.002 0 0 -1 0.866 8 6 6 0 +2488 0 1 0 3.50071 11.2606 30.002 0 0 -1 0.866 8 6 6 0 +2489 0 1 0 4.00081 10.3944 30.002 0 0 -1 0.866 8 6 6 0 +2490 0 1 0 4.50091 11.2606 30.002 0 0 -1 0.866 8 6 6 0 +2491 0 1 0 5.00101 10.3944 30.002 0 0 -1 0.866 8 6 6 0 +2492 0 1 0 5.50111 11.2606 30.002 0 0 -1 0.866 8 6 6 0 +2493 0 1 0 6.00121 10.3944 30.002 0 0 -1 0.866 8 6 6 0 +2494 0 1 0 6.50132 11.2606 30.002 0 0 -1 0.866 8 6 6 0 +2495 0 1 0 7.00142 10.3944 30.002 0 0 -1 0.866 8 6 6 0 +2496 0 1 0 7.50152 11.2606 30.002 0 0 -1 0.866 8 6 6 0 +2497 0 1 0 8.00162 10.3944 30.002 0 0 -1 0.866 8 6 6 0 +2498 0 1 0 8.50172 11.2606 30.002 0 0 -1 0.866 8 6 6 0 +2499 0 1 0 9.00182 10.3944 30.002 0 0 -1 0.866 8 6 6 0 +2500 0 1 0 9.50192 11.2606 30.002 0 0 -1 0.866 8 6 6 0 +2501 0 1 0 10.002 10.3944 30.002 0 0 -1 0.866 8 6 6 0 +2502 0 1 0 10.5021 11.2606 30.002 0 0 -1 0.866 8 6 6 0 +2503 0 1 0 11.0022 10.3944 30.002 0 0 -1 0.866 8 6 6 0 +2504 0 1 0 11.5023 11.2606 30.002 0 0 -1 0.866 8 6 6 0 +2505 0 1 0 12.0024 10.3944 30.002 0 0 -1 0.866 8 6 6 0 +2506 0 1 0 12.5025 11.2606 30.002 0 0 -1 0.866 8 6 6 0 +2507 0 1 0 13.0026 10.3944 30.002 0 0 -1 0.866 8 6 6 0 +2508 0 1 0 13.5027 11.2606 30.002 0 0 -1 0.866 8 6 6 0 +2509 0 1 0 14.0028 10.3944 30.002 0 0 -1 0.866 8 6 6 0 +2510 0 1 0 14.5029 11.2606 30.002 0 0 -1 0.866 8 6 6 0 +2511 0 1 0 15.003 10.3944 30.002 0 0 -1 0.866 8 6 6 0 +2512 0 1 0 15.5031 11.2606 30.002 0 0 -1 0.866 8 6 6 0 +2513 0 1 0 16.0032 10.3944 30.002 0 0 -1 0.866 8 6 6 0 +2514 0 1 0 16.5033 11.2606 30.002 0 0 -1 0.866 8 6 6 0 +2515 0 1 0 17.0034 10.3944 30.002 0 0 -1 0.866 8 6 6 0 +2516 0 1 0 17.5035 11.2606 30.002 0 0 -1 0.866 8 6 6 0 +2517 0 1 0 18.0036 10.3944 30.002 0 0 -1 0.866 8 6 6 0 +2518 0 1 0 18.5037 11.2606 30.002 0 0 -1 0.866 8 6 6 0 +2519 0 1 0 19.0038 10.3944 30.002 0 0 -1 0.866 8 6 6 0 +2520 0 1 0 19.5039 11.2606 30.002 0 0 -1 0.866 8 6 6 0 +2521 0 1 0 20.004 10.3944 30.002 0 0 -1 0.866 8 6 6 0 +2522 0 1 0 20.5041 11.2606 30.002 0 0 -1 0.866 8 6 6 0 +2523 0 1 0 21.0042 10.3944 30.002 0 0 -1 0.866 8 6 6 0 +2524 0 1 0 21.5043 11.2606 30.002 0 0 -1 0.866 8 6 6 0 +2525 0 1 0 22.0045 10.3944 30.002 0 0 -1 0.866 8 6 6 0 +2526 0 1 0 22.5046 11.2606 30.002 0 0 -1 0.866 8 6 6 0 +2527 0 1 0 23.0047 10.3944 30.002 0 0 -1 0.866 8 6 6 0 +2528 0 1 0 23.5048 11.2606 30.002 0 0 -1 0.866 8 6 6 0 +2529 0 1 0 24.0049 10.3944 30.002 0 0 -1 0.866 8 6 6 0 +2530 0 1 0 24.505 11.2606 30.002 0 0 -1 0.866 8 6 6 0 +2531 0 1 0 25.0051 10.3944 30.002 0 0 -1 0.866 8 6 6 0 +2532 0 1 0 25.5052 11.2606 30.002 0 0 -1 0.866 8 6 6 0 +2533 0 1 0 26.0053 10.3944 30.002 0 0 -1 0.866 8 6 6 0 +2534 0 1 0 26.5054 11.2606 30.002 0 0 -1 0.866 8 6 6 0 +2535 0 1 0 27.0055 10.3944 30.002 0 0 -1 0.866 8 6 6 0 +2536 0 1 0 27.5056 11.2606 30.002 0 0 -1 0.866 8 6 6 0 +2537 0 1 0 28.0057 10.3944 30.002 0 0 -1 0.866 8 6 6 0 +2538 0 1 0 28.5058 11.2606 30.002 0 0 -1 0.866 8 6 6 0 +2539 0 1 0 29.0059 10.3944 30.002 0 0 -1 0.866 8 6 6 0 +2540 0 1 0 29.506 11.2606 30.002 0 0 -1 0.866 8 6 6 0 +2541 0 1 0 30.0061 10.3944 30.002 0 0 -1 0.866 8 6 6 0 +2542 0 1 0 30.5062 11.2606 30.002 0 0 -1 0.866 8 6 6 0 +2543 0 1 0 31.0063 10.3944 30.002 0 0 -1 0.866 8 6 6 0 +2544 0 1 0 31.5064 11.2606 30.002 0 0 -1 0.866 8 6 6 0 +2545 0 1 0 32.0065 10.3944 30.002 0 0 -1 0.866 8 6 6 0 +2546 0 1 0 32.5066 11.2606 30.002 0 0 -1 0.866 8 6 6 0 +2547 0 1 0 33.0067 10.3944 30.002 0 0 -1 0.866 8 6 6 0 +2548 0 1 0 33.5068 11.2606 30.002 0 0 -1 0.866 8 6 6 0 +2549 0 1 0 34.0069 10.3944 30.002 0 0 -1 0.866 8 6 6 0 +2550 0 1 0 34.507 11.2606 30.002 0 0 -1 0.866 8 6 6 0 +2551 0 1 0 35.0071 10.3944 30.002 0 0 -1 0.866 8 6 6 0 +2552 0 1 0 35.5072 11.2606 30.002 0 0 -1 0.866 8 6 6 0 +2553 0 1 0 36.0073 10.3944 30.002 0 0 -1 0.866 8 6 6 0 +2554 0 1 0 36.5074 11.2606 30.002 0 0 -1 0.866 8 6 6 0 +2555 0 1 0 37.0075 10.3944 30.002 0 0 -1 0.866 8 6 6 0 +2556 0 1 0 37.5076 11.2606 30.002 0 0 -1 0.866 8 6 6 0 +2557 0 1 0 38.0077 10.3944 30.002 0 0 -1 0.866 8 6 6 0 +2558 0 1 0 38.5078 11.2606 30.002 0 0 -1 0.866 8 6 6 0 +2559 0 1 0 39.0079 10.3944 30.002 0 0 -1 0.866 8 6 6 0 +2560 0 1 0 39.508 11.2606 30.002 0 0 -1 0.866 8 6 6 0 +2561 0 1 0 0 12.1268 30.002 0 0 -1 0.866 8 6 6 0 +2562 0 1 0 0.500101 12.993 30.002 0 0 -1 0.866 8 6 6 0 +2563 0 1 0 1.0002 12.1268 30.002 0 0 -1 0.866 8 6 6 0 +2564 0 1 0 1.5003 12.993 30.002 0 0 -1 0.866 8 6 6 0 +2565 0 1 0 2.0004 12.1268 30.002 0 0 -1 0.866 8 6 6 0 +2566 0 1 0 2.50051 12.993 30.002 0 0 -1 0.866 8 6 6 0 +2567 0 1 0 3.00061 12.1268 30.002 0 0 -1 0.866 8 6 6 0 +2568 0 1 0 3.50071 12.993 30.002 0 0 -1 0.866 8 6 6 0 +2569 0 1 0 4.00081 12.1268 30.002 0 0 -1 0.866 8 6 6 0 +2570 0 1 0 4.50091 12.993 30.002 0 0 -1 0.866 8 6 6 0 +2571 0 1 0 5.00101 12.1268 30.002 0 0 -1 0.866 8 6 6 0 +2572 0 1 0 5.50111 12.993 30.002 0 0 -1 0.866 8 6 6 0 +2573 0 1 0 6.00121 12.1268 30.002 0 0 -1 0.866 8 6 6 0 +2574 0 1 0 6.50132 12.993 30.002 0 0 -1 0.866 8 6 6 0 +2575 0 1 0 7.00142 12.1268 30.002 0 0 -1 0.866 8 6 6 0 +2576 0 1 0 7.50152 12.993 30.002 0 0 -1 0.866 8 6 6 0 +2577 0 1 0 8.00162 12.1268 30.002 0 0 -1 0.866 8 6 6 0 +2578 0 1 0 8.50172 12.993 30.002 0 0 -1 0.866 8 6 6 0 +2579 0 1 0 9.00182 12.1268 30.002 0 0 -1 0.866 8 6 6 0 +2580 0 1 0 9.50192 12.993 30.002 0 0 -1 0.866 8 6 6 0 +2581 0 1 0 10.002 12.1268 30.002 0 0 -1 0.866 8 6 6 0 +2582 0 1 0 10.5021 12.993 30.002 0 0 -1 0.866 8 6 6 0 +2583 0 1 0 11.0022 12.1268 30.002 0 0 -1 0.866 8 6 6 0 +2584 0 1 0 11.5023 12.993 30.002 0 0 -1 0.866 8 6 6 0 +2585 0 1 0 12.0024 12.1268 30.002 0 0 -1 0.866 8 6 6 0 +2586 0 1 0 12.5025 12.993 30.002 0 0 -1 0.866 8 6 6 0 +2587 0 1 0 13.0026 12.1268 30.002 0 0 -1 0.866 8 6 6 0 +2588 0 1 0 13.5027 12.993 30.002 0 0 -1 0.866 8 6 6 0 +2589 0 1 0 14.0028 12.1268 30.002 0 0 -1 0.866 8 6 6 0 +2590 0 1 0 14.5029 12.993 30.002 0 0 -1 0.866 8 6 6 0 +2591 0 1 0 15.003 12.1268 30.002 0 0 -1 0.866 8 6 6 0 +2592 0 1 0 15.5031 12.993 30.002 0 0 -1 0.866 8 6 6 0 +2593 0 1 0 16.0032 12.1268 30.002 0 0 -1 0.866 8 6 6 0 +2594 0 1 0 16.5033 12.993 30.002 0 0 -1 0.866 8 6 6 0 +2595 0 1 0 17.0034 12.1268 30.002 0 0 -1 0.866 8 6 6 0 +2596 0 1 0 17.5035 12.993 30.002 0 0 -1 0.866 8 6 6 0 +2597 0 1 0 18.0036 12.1268 30.002 0 0 -1 0.866 8 6 6 0 +2598 0 1 0 18.5037 12.993 30.002 0 0 -1 0.866 8 6 6 0 +2599 0 1 0 19.0038 12.1268 30.002 0 0 -1 0.866 8 6 6 0 +2600 0 1 0 19.5039 12.993 30.002 0 0 -1 0.866 8 6 6 0 +2601 0 1 0 20.004 12.1268 30.002 0 0 -1 0.866 8 6 6 0 +2602 0 1 0 20.5041 12.993 30.002 0 0 -1 0.866 8 6 6 0 +2603 0 1 0 21.0042 12.1268 30.002 0 0 -1 0.866 8 6 6 0 +2604 0 1 0 21.5043 12.993 30.002 0 0 -1 0.866 8 6 6 0 +2605 0 1 0 22.0045 12.1268 30.002 0 0 -1 0.866 8 6 6 0 +2606 0 1 0 22.5046 12.993 30.002 0 0 -1 0.866 8 6 6 0 +2607 0 1 0 23.0047 12.1268 30.002 0 0 -1 0.866 8 6 6 0 +2608 0 1 0 23.5048 12.993 30.002 0 0 -1 0.866 8 6 6 0 +2609 0 1 0 24.0049 12.1268 30.002 0 0 -1 0.866 8 6 6 0 +2610 0 1 0 24.505 12.993 30.002 0 0 -1 0.866 8 6 6 0 +2611 0 1 0 25.0051 12.1268 30.002 0 0 -1 0.866 8 6 6 0 +2612 0 1 0 25.5052 12.993 30.002 0 0 -1 0.866 8 6 6 0 +2613 0 1 0 26.0053 12.1268 30.002 0 0 -1 0.866 8 6 6 0 +2614 0 1 0 26.5054 12.993 30.002 0 0 -1 0.866 8 6 6 0 +2615 0 1 0 27.0055 12.1268 30.002 0 0 -1 0.866 8 6 6 0 +2616 0 1 0 27.5056 12.993 30.002 0 0 -1 0.866 8 6 6 0 +2617 0 1 0 28.0057 12.1268 30.002 0 0 -1 0.866 8 6 6 0 +2618 0 1 0 28.5058 12.993 30.002 0 0 -1 0.866 8 6 6 0 +2619 0 1 0 29.0059 12.1268 30.002 0 0 -1 0.866 8 6 6 0 +2620 0 1 0 29.506 12.993 30.002 0 0 -1 0.866 8 6 6 0 +2621 0 1 0 30.0061 12.1268 30.002 0 0 -1 0.866 8 6 6 0 +2622 0 1 0 30.5062 12.993 30.002 0 0 -1 0.866 8 6 6 0 +2623 0 1 0 31.0063 12.1268 30.002 0 0 -1 0.866 8 6 6 0 +2624 0 1 0 31.5064 12.993 30.002 0 0 -1 0.866 8 6 6 0 +2625 0 1 0 32.0065 12.1268 30.002 0 0 -1 0.866 8 6 6 0 +2626 0 1 0 32.5066 12.993 30.002 0 0 -1 0.866 8 6 6 0 +2627 0 1 0 33.0067 12.1268 30.002 0 0 -1 0.866 8 6 6 0 +2628 0 1 0 33.5068 12.993 30.002 0 0 -1 0.866 8 6 6 0 +2629 0 1 0 34.0069 12.1268 30.002 0 0 -1 0.866 8 6 6 0 +2630 0 1 0 34.507 12.993 30.002 0 0 -1 0.866 8 6 6 0 +2631 0 1 0 35.0071 12.1268 30.002 0 0 -1 0.866 8 6 6 0 +2632 0 1 0 35.5072 12.993 30.002 0 0 -1 0.866 8 6 6 0 +2633 0 1 0 36.0073 12.1268 30.002 0 0 -1 0.866 8 6 6 0 +2634 0 1 0 36.5074 12.993 30.002 0 0 -1 0.866 8 6 6 0 +2635 0 1 0 37.0075 12.1268 30.002 0 0 -1 0.866 8 6 6 0 +2636 0 1 0 37.5076 12.993 30.002 0 0 -1 0.866 8 6 6 0 +2637 0 1 0 38.0077 12.1268 30.002 0 0 -1 0.866 8 6 6 0 +2638 0 1 0 38.5078 12.993 30.002 0 0 -1 0.866 8 6 6 0 +2639 0 1 0 39.0079 12.1268 30.002 0 0 -1 0.866 8 6 6 0 +2640 0 1 0 39.508 12.993 30.002 0 0 -1 0.866 8 6 6 0 +2641 0 1 0 0 13.8592 30.002 0 0 -1 0.866 8 6 6 0 +2642 0 1 0 0.500101 14.7254 30.002 0 0 -1 0.866 8 6 6 0 +2643 0 1 0 1.0002 13.8592 30.002 0 0 -1 0.866 8 6 6 0 +2644 0 1 0 1.5003 14.7254 30.002 0 0 -1 0.866 8 6 6 0 +2645 0 1 0 2.0004 13.8592 30.002 0 0 -1 0.866 8 6 6 0 +2646 0 1 0 2.50051 14.7254 30.002 0 0 -1 0.866 8 6 6 0 +2647 0 1 0 3.00061 13.8592 30.002 0 0 -1 0.866 8 6 6 0 +2648 0 1 0 3.50071 14.7254 30.002 0 0 -1 0.866 8 6 6 0 +2649 0 1 0 4.00081 13.8592 30.002 0 0 -1 0.866 8 6 6 0 +2650 0 1 0 4.50091 14.7254 30.002 0 0 -1 0.866 8 6 6 0 +2651 0 1 0 5.00101 13.8592 30.002 0 0 -1 0.866 8 6 6 0 +2652 0 1 0 5.50111 14.7254 30.002 0 0 -1 0.866 8 6 6 0 +2653 0 1 0 6.00121 13.8592 30.002 0 0 -1 0.866 8 6 6 0 +2654 0 1 0 6.50132 14.7254 30.002 0 0 -1 0.866 8 6 6 0 +2655 0 1 0 7.00142 13.8592 30.002 0 0 -1 0.866 8 6 6 0 +2656 0 1 0 7.50152 14.7254 30.002 0 0 -1 0.866 8 6 6 0 +2657 0 1 0 8.00162 13.8592 30.002 0 0 -1 0.866 8 6 6 0 +2658 0 1 0 8.50172 14.7254 30.002 0 0 -1 0.866 8 6 6 0 +2659 0 1 0 9.00182 13.8592 30.002 0 0 -1 0.866 8 6 6 0 +2660 0 1 0 9.50192 14.7254 30.002 0 0 -1 0.866 8 6 6 0 +2661 0 1 0 10.002 13.8592 30.002 0 0 -1 0.866 8 6 6 0 +2662 0 1 0 10.5021 14.7254 30.002 0 0 -1 0.866 8 6 6 0 +2663 0 1 0 11.0022 13.8592 30.002 0 0 -1 0.866 8 6 6 0 +2664 0 1 0 11.5023 14.7254 30.002 0 0 -1 0.866 8 6 6 0 +2665 0 1 0 12.0024 13.8592 30.002 0 0 -1 0.866 8 6 6 0 +2666 0 1 0 12.5025 14.7254 30.002 0 0 -1 0.866 8 6 6 0 +2667 0 1 0 13.0026 13.8592 30.002 0 0 -1 0.866 8 6 6 0 +2668 0 1 0 13.5027 14.7254 30.002 0 0 -1 0.866 8 6 6 0 +2669 0 1 0 14.0028 13.8592 30.002 0 0 -1 0.866 8 6 6 0 +2670 0 1 0 14.5029 14.7254 30.002 0 0 -1 0.866 8 6 6 0 +2671 0 1 0 15.003 13.8592 30.002 0 0 -1 0.866 8 6 6 0 +2672 0 1 0 15.5031 14.7254 30.002 0 0 -1 0.866 8 6 6 0 +2673 0 1 0 16.0032 13.8592 30.002 0 0 -1 0.866 8 6 6 0 +2674 0 1 0 16.5033 14.7254 30.002 0 0 -1 0.866 8 6 6 0 +2675 0 1 0 17.0034 13.8592 30.002 0 0 -1 0.866 8 6 6 0 +2676 0 1 0 17.5035 14.7254 30.002 0 0 -1 0.866 8 6 6 0 +2677 0 1 0 18.0036 13.8592 30.002 0 0 -1 0.866 8 6 6 0 +2678 0 1 0 18.5037 14.7254 30.002 0 0 -1 0.866 8 6 6 0 +2679 0 1 0 19.0038 13.8592 30.002 0 0 -1 0.866 8 6 6 0 +2680 0 1 0 19.5039 14.7254 30.002 0 0 -1 0.866 8 6 6 0 +2681 0 1 0 20.004 13.8592 30.002 0 0 -1 0.866 8 6 6 0 +2682 0 1 0 20.5041 14.7254 30.002 0 0 -1 0.866 8 6 6 0 +2683 0 1 0 21.0042 13.8592 30.002 0 0 -1 0.866 8 6 6 0 +2684 0 1 0 21.5043 14.7254 30.002 0 0 -1 0.866 8 6 6 0 +2685 0 1 0 22.0045 13.8592 30.002 0 0 -1 0.866 8 6 6 0 +2686 0 1 0 22.5046 14.7254 30.002 0 0 -1 0.866 8 6 6 0 +2687 0 1 0 23.0047 13.8592 30.002 0 0 -1 0.866 8 6 6 0 +2688 0 1 0 23.5048 14.7254 30.002 0 0 -1 0.866 8 6 6 0 +2689 0 1 0 24.0049 13.8592 30.002 0 0 -1 0.866 8 6 6 0 +2690 0 1 0 24.505 14.7254 30.002 0 0 -1 0.866 8 6 6 0 +2691 0 1 0 25.0051 13.8592 30.002 0 0 -1 0.866 8 6 6 0 +2692 0 1 0 25.5052 14.7254 30.002 0 0 -1 0.866 8 6 6 0 +2693 0 1 0 26.0053 13.8592 30.002 0 0 -1 0.866 8 6 6 0 +2694 0 1 0 26.5054 14.7254 30.002 0 0 -1 0.866 8 6 6 0 +2695 0 1 0 27.0055 13.8592 30.002 0 0 -1 0.866 8 6 6 0 +2696 0 1 0 27.5056 14.7254 30.002 0 0 -1 0.866 8 6 6 0 +2697 0 1 0 28.0057 13.8592 30.002 0 0 -1 0.866 8 6 6 0 +2698 0 1 0 28.5058 14.7254 30.002 0 0 -1 0.866 8 6 6 0 +2699 0 1 0 29.0059 13.8592 30.002 0 0 -1 0.866 8 6 6 0 +2700 0 1 0 29.506 14.7254 30.002 0 0 -1 0.866 8 6 6 0 +2701 0 1 0 30.0061 13.8592 30.002 0 0 -1 0.866 8 6 6 0 +2702 0 1 0 30.5062 14.7254 30.002 0 0 -1 0.866 8 6 6 0 +2703 0 1 0 31.0063 13.8592 30.002 0 0 -1 0.866 8 6 6 0 +2704 0 1 0 31.5064 14.7254 30.002 0 0 -1 0.866 8 6 6 0 +2705 0 1 0 32.0065 13.8592 30.002 0 0 -1 0.866 8 6 6 0 +2706 0 1 0 32.5066 14.7254 30.002 0 0 -1 0.866 8 6 6 0 +2707 0 1 0 33.0067 13.8592 30.002 0 0 -1 0.866 8 6 6 0 +2708 0 1 0 33.5068 14.7254 30.002 0 0 -1 0.866 8 6 6 0 +2709 0 1 0 34.0069 13.8592 30.002 0 0 -1 0.866 8 6 6 0 +2710 0 1 0 34.507 14.7254 30.002 0 0 -1 0.866 8 6 6 0 +2711 0 1 0 35.0071 13.8592 30.002 0 0 -1 0.866 8 6 6 0 +2712 0 1 0 35.5072 14.7254 30.002 0 0 -1 0.866 8 6 6 0 +2713 0 1 0 36.0073 13.8592 30.002 0 0 -1 0.866 8 6 6 0 +2714 0 1 0 36.5074 14.7254 30.002 0 0 -1 0.866 8 6 6 0 +2715 0 1 0 37.0075 13.8592 30.002 0 0 -1 0.866 8 6 6 0 +2716 0 1 0 37.5076 14.7254 30.002 0 0 -1 0.866 8 6 6 0 +2717 0 1 0 38.0077 13.8592 30.002 0 0 -1 0.866 8 6 6 0 +2718 0 1 0 38.5078 14.7254 30.002 0 0 -1 0.866 8 6 6 0 +2719 0 1 0 39.0079 13.8592 30.002 0 0 -1 0.866 8 6 6 0 +2720 0 1 0 39.508 14.7254 30.002 0 0 -1 0.866 8 6 6 0 +2721 0 1 0 0 15.5916 30.002 0 0 -1 0.866 8 6 6 0 +2722 0 1 0 0.500101 16.4578 30.002 0 0 -1 0.866 8 6 6 0 +2723 0 1 0 1.0002 15.5916 30.002 0 0 -1 0.866 8 6 6 0 +2724 0 1 0 1.5003 16.4578 30.002 0 0 -1 0.866 8 6 6 0 +2725 0 1 0 2.0004 15.5916 30.002 0 0 -1 0.866 8 6 6 0 +2726 0 1 0 2.50051 16.4578 30.002 0 0 -1 0.866 8 6 6 0 +2727 0 1 0 3.00061 15.5916 30.002 0 0 -1 0.866 8 6 6 0 +2728 0 1 0 3.50071 16.4578 30.002 0 0 -1 0.866 8 6 6 0 +2729 0 1 0 4.00081 15.5916 30.002 0 0 -1 0.866 8 6 6 0 +2730 0 1 0 4.50091 16.4578 30.002 0 0 -1 0.866 8 6 6 0 +2731 0 1 0 5.00101 15.5916 30.002 0 0 -1 0.866 8 6 6 0 +2732 0 1 0 5.50111 16.4578 30.002 0 0 -1 0.866 8 6 6 0 +2733 0 1 0 6.00121 15.5916 30.002 0 0 -1 0.866 8 6 6 0 +2734 0 1 0 6.50132 16.4578 30.002 0 0 -1 0.866 8 6 6 0 +2735 0 1 0 7.00142 15.5916 30.002 0 0 -1 0.866 8 6 6 0 +2736 0 1 0 7.50152 16.4578 30.002 0 0 -1 0.866 8 6 6 0 +2737 0 1 0 8.00162 15.5916 30.002 0 0 -1 0.866 8 6 6 0 +2738 0 1 0 8.50172 16.4578 30.002 0 0 -1 0.866 8 6 6 0 +2739 0 1 0 9.00182 15.5916 30.002 0 0 -1 0.866 8 6 6 0 +2740 0 1 0 9.50192 16.4578 30.002 0 0 -1 0.866 8 6 6 0 +2741 0 1 0 10.002 15.5916 30.002 0 0 -1 0.866 8 6 6 0 +2742 0 1 0 10.5021 16.4578 30.002 0 0 -1 0.866 8 6 6 0 +2743 0 1 0 11.0022 15.5916 30.002 0 0 -1 0.866 8 6 6 0 +2744 0 1 0 11.5023 16.4578 30.002 0 0 -1 0.866 8 6 6 0 +2745 0 1 0 12.0024 15.5916 30.002 0 0 -1 0.866 8 6 6 0 +2746 0 1 0 12.5025 16.4578 30.002 0 0 -1 0.866 8 6 6 0 +2747 0 1 0 13.0026 15.5916 30.002 0 0 -1 0.866 8 6 6 0 +2748 0 1 0 13.5027 16.4578 30.002 0 0 -1 0.866 8 6 6 0 +2749 0 1 0 14.0028 15.5916 30.002 0 0 -1 0.866 8 6 6 0 +2750 0 1 0 14.5029 16.4578 30.002 0 0 -1 0.866 8 6 6 0 +2751 0 1 0 15.003 15.5916 30.002 0 0 -1 0.866 8 6 6 0 +2752 0 1 0 15.5031 16.4578 30.002 0 0 -1 0.866 8 6 6 0 +2753 0 1 0 16.0032 15.5916 30.002 0 0 -1 0.866 8 6 6 0 +2754 0 1 0 16.5033 16.4578 30.002 0 0 -1 0.866 8 6 6 0 +2755 0 1 0 17.0034 15.5916 30.002 0 0 -1 0.866 8 6 6 0 +2756 0 1 0 17.5035 16.4578 30.002 0 0 -1 0.866 8 6 6 0 +2757 0 1 0 18.0036 15.5916 30.002 0 0 -1 0.866 8 6 6 0 +2758 0 1 0 18.5037 16.4578 30.002 0 0 -1 0.866 8 6 6 0 +2759 0 1 0 19.0038 15.5916 30.002 0 0 -1 0.866 8 6 6 0 +2760 0 1 0 19.5039 16.4578 30.002 0 0 -1 0.866 8 6 6 0 +2761 0 1 0 20.004 15.5916 30.002 0 0 -1 0.866 8 6 6 0 +2762 0 1 0 20.5041 16.4578 30.002 0 0 -1 0.866 8 6 6 0 +2763 0 1 0 21.0042 15.5916 30.002 0 0 -1 0.866 8 6 6 0 +2764 0 1 0 21.5043 16.4578 30.002 0 0 -1 0.866 8 6 6 0 +2765 0 1 0 22.0045 15.5916 30.002 0 0 -1 0.866 8 6 6 0 +2766 0 1 0 22.5046 16.4578 30.002 0 0 -1 0.866 8 6 6 0 +2767 0 1 0 23.0047 15.5916 30.002 0 0 -1 0.866 8 6 6 0 +2768 0 1 0 23.5048 16.4578 30.002 0 0 -1 0.866 8 6 6 0 +2769 0 1 0 24.0049 15.5916 30.002 0 0 -1 0.866 8 6 6 0 +2770 0 1 0 24.505 16.4578 30.002 0 0 -1 0.866 8 6 6 0 +2771 0 1 0 25.0051 15.5916 30.002 0 0 -1 0.866 8 6 6 0 +2772 0 1 0 25.5052 16.4578 30.002 0 0 -1 0.866 8 6 6 0 +2773 0 1 0 26.0053 15.5916 30.002 0 0 -1 0.866 8 6 6 0 +2774 0 1 0 26.5054 16.4578 30.002 0 0 -1 0.866 8 6 6 0 +2775 0 1 0 27.0055 15.5916 30.002 0 0 -1 0.866 8 6 6 0 +2776 0 1 0 27.5056 16.4578 30.002 0 0 -1 0.866 8 6 6 0 +2777 0 1 0 28.0057 15.5916 30.002 0 0 -1 0.866 8 6 6 0 +2778 0 1 0 28.5058 16.4578 30.002 0 0 -1 0.866 8 6 6 0 +2779 0 1 0 29.0059 15.5916 30.002 0 0 -1 0.866 8 6 6 0 +2780 0 1 0 29.506 16.4578 30.002 0 0 -1 0.866 8 6 6 0 +2781 0 1 0 30.0061 15.5916 30.002 0 0 -1 0.866 8 6 6 0 +2782 0 1 0 30.5062 16.4578 30.002 0 0 -1 0.866 8 6 6 0 +2783 0 1 0 31.0063 15.5916 30.002 0 0 -1 0.866 8 6 6 0 +2784 0 1 0 31.5064 16.4578 30.002 0 0 -1 0.866 8 6 6 0 +2785 0 1 0 32.0065 15.5916 30.002 0 0 -1 0.866 8 6 6 0 +2786 0 1 0 32.5066 16.4578 30.002 0 0 -1 0.866 8 6 6 0 +2787 0 1 0 33.0067 15.5916 30.002 0 0 -1 0.866 8 6 6 0 +2788 0 1 0 33.5068 16.4578 30.002 0 0 -1 0.866 8 6 6 0 +2789 0 1 0 34.0069 15.5916 30.002 0 0 -1 0.866 8 6 6 0 +2790 0 1 0 34.507 16.4578 30.002 0 0 -1 0.866 8 6 6 0 +2791 0 1 0 35.0071 15.5916 30.002 0 0 -1 0.866 8 6 6 0 +2792 0 1 0 35.5072 16.4578 30.002 0 0 -1 0.866 8 6 6 0 +2793 0 1 0 36.0073 15.5916 30.002 0 0 -1 0.866 8 6 6 0 +2794 0 1 0 36.5074 16.4578 30.002 0 0 -1 0.866 8 6 6 0 +2795 0 1 0 37.0075 15.5916 30.002 0 0 -1 0.866 8 6 6 0 +2796 0 1 0 37.5076 16.4578 30.002 0 0 -1 0.866 8 6 6 0 +2797 0 1 0 38.0077 15.5916 30.002 0 0 -1 0.866 8 6 6 0 +2798 0 1 0 38.5078 16.4578 30.002 0 0 -1 0.866 8 6 6 0 +2799 0 1 0 39.0079 15.5916 30.002 0 0 -1 0.866 8 6 6 0 +2800 0 1 0 39.508 16.4578 30.002 0 0 -1 0.866 8 6 6 0 +2801 0 1 0 0 17.324 30.002 0 0 -1 0.866 8 6 6 0 +2802 0 1 0 0.500101 18.1902 30.002 0 0 -1 0.866 8 6 6 0 +2803 0 1 0 1.0002 17.324 30.002 0 0 -1 0.866 8 6 6 0 +2804 0 1 0 1.5003 18.1902 30.002 0 0 -1 0.866 8 6 6 0 +2805 0 1 0 2.0004 17.324 30.002 0 0 -1 0.866 8 6 6 0 +2806 0 1 0 2.50051 18.1902 30.002 0 0 -1 0.866 8 6 6 0 +2807 0 1 0 3.00061 17.324 30.002 0 0 -1 0.866 8 6 6 0 +2808 0 1 0 3.50071 18.1902 30.002 0 0 -1 0.866 8 6 6 0 +2809 0 1 0 4.00081 17.324 30.002 0 0 -1 0.866 8 6 6 0 +2810 0 1 0 4.50091 18.1902 30.002 0 0 -1 0.866 8 6 6 0 +2811 0 1 0 5.00101 17.324 30.002 0 0 -1 0.866 8 6 6 0 +2812 0 1 0 5.50111 18.1902 30.002 0 0 -1 0.866 8 6 6 0 +2813 0 1 0 6.00121 17.324 30.002 0 0 -1 0.866 8 6 6 0 +2814 0 1 0 6.50132 18.1902 30.002 0 0 -1 0.866 8 6 6 0 +2815 0 1 0 7.00142 17.324 30.002 0 0 -1 0.866 8 6 6 0 +2816 0 1 0 7.50152 18.1902 30.002 0 0 -1 0.866 8 6 6 0 +2817 0 1 0 8.00162 17.324 30.002 0 0 -1 0.866 8 6 6 0 +2818 0 1 0 8.50172 18.1902 30.002 0 0 -1 0.866 8 6 6 0 +2819 0 1 0 9.00182 17.324 30.002 0 0 -1 0.866 8 6 6 0 +2820 0 1 0 9.50192 18.1902 30.002 0 0 -1 0.866 8 6 6 0 +2821 0 1 0 10.002 17.324 30.002 0 0 -1 0.866 8 6 6 0 +2822 0 1 0 10.5021 18.1902 30.002 0 0 -1 0.866 8 6 6 0 +2823 0 1 0 11.0022 17.324 30.002 0 0 -1 0.866 8 6 6 0 +2824 0 1 0 11.5023 18.1902 30.002 0 0 -1 0.866 8 6 6 0 +2825 0 1 0 12.0024 17.324 30.002 0 0 -1 0.866 8 6 6 0 +2826 0 1 0 12.5025 18.1902 30.002 0 0 -1 0.866 8 6 6 0 +2827 0 1 0 13.0026 17.324 30.002 0 0 -1 0.866 8 6 6 0 +2828 0 1 0 13.5027 18.1902 30.002 0 0 -1 0.866 8 6 6 0 +2829 0 1 0 14.0028 17.324 30.002 0 0 -1 0.866 8 6 6 0 +2830 0 1 0 14.5029 18.1902 30.002 0 0 -1 0.866 8 6 6 0 +2831 0 1 0 15.003 17.324 30.002 0 0 -1 0.866 8 6 6 0 +2832 0 1 0 15.5031 18.1902 30.002 0 0 -1 0.866 8 6 6 0 +2833 0 1 0 16.0032 17.324 30.002 0 0 -1 0.866 8 6 6 0 +2834 0 1 0 16.5033 18.1902 30.002 0 0 -1 0.866 8 6 6 0 +2835 0 1 0 17.0034 17.324 30.002 0 0 -1 0.866 8 6 6 0 +2836 0 1 0 17.5035 18.1902 30.002 0 0 -1 0.866 8 6 6 0 +2837 0 1 0 18.0036 17.324 30.002 0 0 -1 0.866 8 6 6 0 +2838 0 1 0 18.5037 18.1902 30.002 0 0 -1 0.866 8 6 6 0 +2839 0 1 0 19.0038 17.324 30.002 0 0 -1 0.866 8 6 6 0 +2840 0 1 0 19.5039 18.1902 30.002 0 0 -1 0.866 8 6 6 0 +2841 0 1 0 20.004 17.324 30.002 0 0 -1 0.866 8 6 6 0 +2842 0 1 0 20.5041 18.1902 30.002 0 0 -1 0.866 8 6 6 0 +2843 0 1 0 21.0042 17.324 30.002 0 0 -1 0.866 8 6 6 0 +2844 0 1 0 21.5043 18.1902 30.002 0 0 -1 0.866 8 6 6 0 +2845 0 1 0 22.0045 17.324 30.002 0 0 -1 0.866 8 6 6 0 +2846 0 1 0 22.5046 18.1902 30.002 0 0 -1 0.866 8 6 6 0 +2847 0 1 0 23.0047 17.324 30.002 0 0 -1 0.866 8 6 6 0 +2848 0 1 0 23.5048 18.1902 30.002 0 0 -1 0.866 8 6 6 0 +2849 0 1 0 24.0049 17.324 30.002 0 0 -1 0.866 8 6 6 0 +2850 0 1 0 24.505 18.1902 30.002 0 0 -1 0.866 8 6 6 0 +2851 0 1 0 25.0051 17.324 30.002 0 0 -1 0.866 8 6 6 0 +2852 0 1 0 25.5052 18.1902 30.002 0 0 -1 0.866 8 6 6 0 +2853 0 1 0 26.0053 17.324 30.002 0 0 -1 0.866 8 6 6 0 +2854 0 1 0 26.5054 18.1902 30.002 0 0 -1 0.866 8 6 6 0 +2855 0 1 0 27.0055 17.324 30.002 0 0 -1 0.866 8 6 6 0 +2856 0 1 0 27.5056 18.1902 30.002 0 0 -1 0.866 8 6 6 0 +2857 0 1 0 28.0057 17.324 30.002 0 0 -1 0.866 8 6 6 0 +2858 0 1 0 28.5058 18.1902 30.002 0 0 -1 0.866 8 6 6 0 +2859 0 1 0 29.0059 17.324 30.002 0 0 -1 0.866 8 6 6 0 +2860 0 1 0 29.506 18.1902 30.002 0 0 -1 0.866 8 6 6 0 +2861 0 1 0 30.0061 17.324 30.002 0 0 -1 0.866 8 6 6 0 +2862 0 1 0 30.5062 18.1902 30.002 0 0 -1 0.866 8 6 6 0 +2863 0 1 0 31.0063 17.324 30.002 0 0 -1 0.866 8 6 6 0 +2864 0 1 0 31.5064 18.1902 30.002 0 0 -1 0.866 8 6 6 0 +2865 0 1 0 32.0065 17.324 30.002 0 0 -1 0.866 8 6 6 0 +2866 0 1 0 32.5066 18.1902 30.002 0 0 -1 0.866 8 6 6 0 +2867 0 1 0 33.0067 17.324 30.002 0 0 -1 0.866 8 6 6 0 +2868 0 1 0 33.5068 18.1902 30.002 0 0 -1 0.866 8 6 6 0 +2869 0 1 0 34.0069 17.324 30.002 0 0 -1 0.866 8 6 6 0 +2870 0 1 0 34.507 18.1902 30.002 0 0 -1 0.866 8 6 6 0 +2871 0 1 0 35.0071 17.324 30.002 0 0 -1 0.866 8 6 6 0 +2872 0 1 0 35.5072 18.1902 30.002 0 0 -1 0.866 8 6 6 0 +2873 0 1 0 36.0073 17.324 30.002 0 0 -1 0.866 8 6 6 0 +2874 0 1 0 36.5074 18.1902 30.002 0 0 -1 0.866 8 6 6 0 +2875 0 1 0 37.0075 17.324 30.002 0 0 -1 0.866 8 6 6 0 +2876 0 1 0 37.5076 18.1902 30.002 0 0 -1 0.866 8 6 6 0 +2877 0 1 0 38.0077 17.324 30.002 0 0 -1 0.866 8 6 6 0 +2878 0 1 0 38.5078 18.1902 30.002 0 0 -1 0.866 8 6 6 0 +2879 0 1 0 39.0079 17.324 30.002 0 0 -1 0.866 8 6 6 0 +2880 0 1 0 39.508 18.1902 30.002 0 0 -1 0.866 8 6 6 0 +2881 0 1 0 0 19.0564 30.002 0 0 -1 0.866 8 6 6 0 +2882 0 1 0 0.500101 19.9226 30.002 0 0 -1 0.866 8 6 6 0 +2883 0 1 0 1.0002 19.0564 30.002 0 0 -1 0.866 8 6 6 0 +2884 0 1 0 1.5003 19.9226 30.002 0 0 -1 0.866 8 6 6 0 +2885 0 1 0 2.0004 19.0564 30.002 0 0 -1 0.866 8 6 6 0 +2886 0 1 0 2.50051 19.9226 30.002 0 0 -1 0.866 8 6 6 0 +2887 0 1 0 3.00061 19.0564 30.002 0 0 -1 0.866 8 6 6 0 +2888 0 1 0 3.50071 19.9226 30.002 0 0 -1 0.866 8 6 6 0 +2889 0 1 0 4.00081 19.0564 30.002 0 0 -1 0.866 8 6 6 0 +2890 0 1 0 4.50091 19.9226 30.002 0 0 -1 0.866 8 6 6 0 +2891 0 1 0 5.00101 19.0564 30.002 0 0 -1 0.866 8 6 6 0 +2892 0 1 0 5.50111 19.9226 30.002 0 0 -1 0.866 8 6 6 0 +2893 0 1 0 6.00121 19.0564 30.002 0 0 -1 0.866 8 6 6 0 +2894 0 1 0 6.50132 19.9226 30.002 0 0 -1 0.866 8 6 6 0 +2895 0 1 0 7.00142 19.0564 30.002 0 0 -1 0.866 8 6 6 0 +2896 0 1 0 7.50152 19.9226 30.002 0 0 -1 0.866 8 6 6 0 +2897 0 1 0 8.00162 19.0564 30.002 0 0 -1 0.866 8 6 6 0 +2898 0 1 0 8.50172 19.9226 30.002 0 0 -1 0.866 8 6 6 0 +2899 0 1 0 9.00182 19.0564 30.002 0 0 -1 0.866 8 6 6 0 +2900 0 1 0 9.50192 19.9226 30.002 0 0 -1 0.866 8 6 6 0 +2901 0 1 0 10.002 19.0564 30.002 0 0 -1 0.866 8 6 6 0 +2902 0 1 0 10.5021 19.9226 30.002 0 0 -1 0.866 8 6 6 0 +2903 0 1 0 11.0022 19.0564 30.002 0 0 -1 0.866 8 6 6 0 +2904 0 1 0 11.5023 19.9226 30.002 0 0 -1 0.866 8 6 6 0 +2905 0 1 0 12.0024 19.0564 30.002 0 0 -1 0.866 8 6 6 0 +2906 0 1 0 12.5025 19.9226 30.002 0 0 -1 0.866 8 6 6 0 +2907 0 1 0 13.0026 19.0564 30.002 0 0 -1 0.866 8 6 6 0 +2908 0 1 0 13.5027 19.9226 30.002 0 0 -1 0.866 8 6 6 0 +2909 0 1 0 14.0028 19.0564 30.002 0 0 -1 0.866 8 6 6 0 +2910 0 1 0 14.5029 19.9226 30.002 0 0 -1 0.866 8 6 6 0 +2911 0 1 0 15.003 19.0564 30.002 0 0 -1 0.866 8 6 6 0 +2912 0 1 0 15.5031 19.9226 30.002 0 0 -1 0.866 8 6 6 0 +2913 0 1 0 16.0032 19.0564 30.002 0 0 -1 0.866 8 6 6 0 +2914 0 1 0 16.5033 19.9226 30.002 0 0 -1 0.866 8 6 6 0 +2915 0 1 0 17.0034 19.0564 30.002 0 0 -1 0.866 8 6 6 0 +2916 0 1 0 17.5035 19.9226 30.002 0 0 -1 0.866 8 6 6 0 +2917 0 1 0 18.0036 19.0564 30.002 0 0 -1 0.866 8 6 6 0 +2918 0 1 0 18.5037 19.9226 30.002 0 0 -1 0.866 8 6 6 0 +2919 0 1 0 19.0038 19.0564 30.002 0 0 -1 0.866 8 6 6 0 +2920 0 1 0 19.5039 19.9226 30.002 0 0 -1 0.866 8 6 6 0 +2921 0 1 0 20.004 19.0564 30.002 0 0 -1 0.866 8 6 6 0 +2922 0 1 0 20.5041 19.9226 30.002 0 0 -1 0.866 8 6 6 0 +2923 0 1 0 21.0042 19.0564 30.002 0 0 -1 0.866 8 6 6 0 +2924 0 1 0 21.5043 19.9226 30.002 0 0 -1 0.866 8 6 6 0 +2925 0 1 0 22.0045 19.0564 30.002 0 0 -1 0.866 8 6 6 0 +2926 0 1 0 22.5046 19.9226 30.002 0 0 -1 0.866 8 6 6 0 +2927 0 1 0 23.0047 19.0564 30.002 0 0 -1 0.866 8 6 6 0 +2928 0 1 0 23.5048 19.9226 30.002 0 0 -1 0.866 8 6 6 0 +2929 0 1 0 24.0049 19.0564 30.002 0 0 -1 0.866 8 6 6 0 +2930 0 1 0 24.505 19.9226 30.002 0 0 -1 0.866 8 6 6 0 +2931 0 1 0 25.0051 19.0564 30.002 0 0 -1 0.866 8 6 6 0 +2932 0 1 0 25.5052 19.9226 30.002 0 0 -1 0.866 8 6 6 0 +2933 0 1 0 26.0053 19.0564 30.002 0 0 -1 0.866 8 6 6 0 +2934 0 1 0 26.5054 19.9226 30.002 0 0 -1 0.866 8 6 6 0 +2935 0 1 0 27.0055 19.0564 30.002 0 0 -1 0.866 8 6 6 0 +2936 0 1 0 27.5056 19.9226 30.002 0 0 -1 0.866 8 6 6 0 +2937 0 1 0 28.0057 19.0564 30.002 0 0 -1 0.866 8 6 6 0 +2938 0 1 0 28.5058 19.9226 30.002 0 0 -1 0.866 8 6 6 0 +2939 0 1 0 29.0059 19.0564 30.002 0 0 -1 0.866 8 6 6 0 +2940 0 1 0 29.506 19.9226 30.002 0 0 -1 0.866 8 6 6 0 +2941 0 1 0 30.0061 19.0564 30.002 0 0 -1 0.866 8 6 6 0 +2942 0 1 0 30.5062 19.9226 30.002 0 0 -1 0.866 8 6 6 0 +2943 0 1 0 31.0063 19.0564 30.002 0 0 -1 0.866 8 6 6 0 +2944 0 1 0 31.5064 19.9226 30.002 0 0 -1 0.866 8 6 6 0 +2945 0 1 0 32.0065 19.0564 30.002 0 0 -1 0.866 8 6 6 0 +2946 0 1 0 32.5066 19.9226 30.002 0 0 -1 0.866 8 6 6 0 +2947 0 1 0 33.0067 19.0564 30.002 0 0 -1 0.866 8 6 6 0 +2948 0 1 0 33.5068 19.9226 30.002 0 0 -1 0.866 8 6 6 0 +2949 0 1 0 34.0069 19.0564 30.002 0 0 -1 0.866 8 6 6 0 +2950 0 1 0 34.507 19.9226 30.002 0 0 -1 0.866 8 6 6 0 +2951 0 1 0 35.0071 19.0564 30.002 0 0 -1 0.866 8 6 6 0 +2952 0 1 0 35.5072 19.9226 30.002 0 0 -1 0.866 8 6 6 0 +2953 0 1 0 36.0073 19.0564 30.002 0 0 -1 0.866 8 6 6 0 +2954 0 1 0 36.5074 19.9226 30.002 0 0 -1 0.866 8 6 6 0 +2955 0 1 0 37.0075 19.0564 30.002 0 0 -1 0.866 8 6 6 0 +2956 0 1 0 37.5076 19.9226 30.002 0 0 -1 0.866 8 6 6 0 +2957 0 1 0 38.0077 19.0564 30.002 0 0 -1 0.866 8 6 6 0 +2958 0 1 0 38.5078 19.9226 30.002 0 0 -1 0.866 8 6 6 0 +2959 0 1 0 39.0079 19.0564 30.002 0 0 -1 0.866 8 6 6 0 +2960 0 1 0 39.508 19.9226 30.002 0 0 -1 0.866 8 6 6 0 +2961 0 1 0 0 20.7888 30.002 0 0 -1 0.866 8 6 6 0 +2962 0 1 0 0.500101 21.655 30.002 0 0 -1 0.866 8 6 6 0 +2963 0 1 0 1.0002 20.7888 30.002 0 0 -1 0.866 8 6 6 0 +2964 0 1 0 1.5003 21.655 30.002 0 0 -1 0.866 8 6 6 0 +2965 0 1 0 2.0004 20.7888 30.002 0 0 -1 0.866 8 6 6 0 +2966 0 1 0 2.50051 21.655 30.002 0 0 -1 0.866 8 6 6 0 +2967 0 1 0 3.00061 20.7888 30.002 0 0 -1 0.866 8 6 6 0 +2968 0 1 0 3.50071 21.655 30.002 0 0 -1 0.866 8 6 6 0 +2969 0 1 0 4.00081 20.7888 30.002 0 0 -1 0.866 8 6 6 0 +2970 0 1 0 4.50091 21.655 30.002 0 0 -1 0.866 8 6 6 0 +2971 0 1 0 5.00101 20.7888 30.002 0 0 -1 0.866 8 6 6 0 +2972 0 1 0 5.50111 21.655 30.002 0 0 -1 0.866 8 6 6 0 +2973 0 1 0 6.00121 20.7888 30.002 0 0 -1 0.866 8 6 6 0 +2974 0 1 0 6.50132 21.655 30.002 0 0 -1 0.866 8 6 6 0 +2975 0 1 0 7.00142 20.7888 30.002 0 0 -1 0.866 8 6 6 0 +2976 0 1 0 7.50152 21.655 30.002 0 0 -1 0.866 8 6 6 0 +2977 0 1 0 8.00162 20.7888 30.002 0 0 -1 0.866 8 6 6 0 +2978 0 1 0 8.50172 21.655 30.002 0 0 -1 0.866 8 6 6 0 +2979 0 1 0 9.00182 20.7888 30.002 0 0 -1 0.866 8 6 6 0 +2980 0 1 0 9.50192 21.655 30.002 0 0 -1 0.866 8 6 6 0 +2981 0 1 0 10.002 20.7888 30.002 0 0 -1 0.866 8 6 6 0 +2982 0 1 0 10.5021 21.655 30.002 0 0 -1 0.866 8 6 6 0 +2983 0 1 0 11.0022 20.7888 30.002 0 0 -1 0.866 8 6 6 0 +2984 0 1 0 11.5023 21.655 30.002 0 0 -1 0.866 8 6 6 0 +2985 0 1 0 12.0024 20.7888 30.002 0 0 -1 0.866 8 6 6 0 +2986 0 1 0 12.5025 21.655 30.002 0 0 -1 0.866 8 6 6 0 +2987 0 1 0 13.0026 20.7888 30.002 0 0 -1 0.866 8 6 6 0 +2988 0 1 0 13.5027 21.655 30.002 0 0 -1 0.866 8 6 6 0 +2989 0 1 0 14.0028 20.7888 30.002 0 0 -1 0.866 8 6 6 0 +2990 0 1 0 14.5029 21.655 30.002 0 0 -1 0.866 8 6 6 0 +2991 0 1 0 15.003 20.7888 30.002 0 0 -1 0.866 8 6 6 0 +2992 0 1 0 15.5031 21.655 30.002 0 0 -1 0.866 8 6 6 0 +2993 0 1 0 16.0032 20.7888 30.002 0 0 -1 0.866 8 6 6 0 +2994 0 1 0 16.5033 21.655 30.002 0 0 -1 0.866 8 6 6 0 +2995 0 1 0 17.0034 20.7888 30.002 0 0 -1 0.866 8 6 6 0 +2996 0 1 0 17.5035 21.655 30.002 0 0 -1 0.866 8 6 6 0 +2997 0 1 0 18.0036 20.7888 30.002 0 0 -1 0.866 8 6 6 0 +2998 0 1 0 18.5037 21.655 30.002 0 0 -1 0.866 8 6 6 0 +2999 0 1 0 19.0038 20.7888 30.002 0 0 -1 0.866 8 6 6 0 +3000 0 1 0 19.5039 21.655 30.002 0 0 -1 0.866 8 6 6 0 +3001 0 1 0 20.004 20.7888 30.002 0 0 -1 0.866 8 6 6 0 +3002 0 1 0 20.5041 21.655 30.002 0 0 -1 0.866 8 6 6 0 +3003 0 1 0 21.0042 20.7888 30.002 0 0 -1 0.866 8 6 6 0 +3004 0 1 0 21.5043 21.655 30.002 0 0 -1 0.866 8 6 6 0 +3005 0 1 0 22.0045 20.7888 30.002 0 0 -1 0.866 8 6 6 0 +3006 0 1 0 22.5046 21.655 30.002 0 0 -1 0.866 8 6 6 0 +3007 0 1 0 23.0047 20.7888 30.002 0 0 -1 0.866 8 6 6 0 +3008 0 1 0 23.5048 21.655 30.002 0 0 -1 0.866 8 6 6 0 +3009 0 1 0 24.0049 20.7888 30.002 0 0 -1 0.866 8 6 6 0 +3010 0 1 0 24.505 21.655 30.002 0 0 -1 0.866 8 6 6 0 +3011 0 1 0 25.0051 20.7888 30.002 0 0 -1 0.866 8 6 6 0 +3012 0 1 0 25.5052 21.655 30.002 0 0 -1 0.866 8 6 6 0 +3013 0 1 0 26.0053 20.7888 30.002 0 0 -1 0.866 8 6 6 0 +3014 0 1 0 26.5054 21.655 30.002 0 0 -1 0.866 8 6 6 0 +3015 0 1 0 27.0055 20.7888 30.002 0 0 -1 0.866 8 6 6 0 +3016 0 1 0 27.5056 21.655 30.002 0 0 -1 0.866 8 6 6 0 +3017 0 1 0 28.0057 20.7888 30.002 0 0 -1 0.866 8 6 6 0 +3018 0 1 0 28.5058 21.655 30.002 0 0 -1 0.866 8 6 6 0 +3019 0 1 0 29.0059 20.7888 30.002 0 0 -1 0.866 8 6 6 0 +3020 0 1 0 29.506 21.655 30.002 0 0 -1 0.866 8 6 6 0 +3021 0 1 0 30.0061 20.7888 30.002 0 0 -1 0.866 8 6 6 0 +3022 0 1 0 30.5062 21.655 30.002 0 0 -1 0.866 8 6 6 0 +3023 0 1 0 31.0063 20.7888 30.002 0 0 -1 0.866 8 6 6 0 +3024 0 1 0 31.5064 21.655 30.002 0 0 -1 0.866 8 6 6 0 +3025 0 1 0 32.0065 20.7888 30.002 0 0 -1 0.866 8 6 6 0 +3026 0 1 0 32.5066 21.655 30.002 0 0 -1 0.866 8 6 6 0 +3027 0 1 0 33.0067 20.7888 30.002 0 0 -1 0.866 8 6 6 0 +3028 0 1 0 33.5068 21.655 30.002 0 0 -1 0.866 8 6 6 0 +3029 0 1 0 34.0069 20.7888 30.002 0 0 -1 0.866 8 6 6 0 +3030 0 1 0 34.507 21.655 30.002 0 0 -1 0.866 8 6 6 0 +3031 0 1 0 35.0071 20.7888 30.002 0 0 -1 0.866 8 6 6 0 +3032 0 1 0 35.5072 21.655 30.002 0 0 -1 0.866 8 6 6 0 +3033 0 1 0 36.0073 20.7888 30.002 0 0 -1 0.866 8 6 6 0 +3034 0 1 0 36.5074 21.655 30.002 0 0 -1 0.866 8 6 6 0 +3035 0 1 0 37.0075 20.7888 30.002 0 0 -1 0.866 8 6 6 0 +3036 0 1 0 37.5076 21.655 30.002 0 0 -1 0.866 8 6 6 0 +3037 0 1 0 38.0077 20.7888 30.002 0 0 -1 0.866 8 6 6 0 +3038 0 1 0 38.5078 21.655 30.002 0 0 -1 0.866 8 6 6 0 +3039 0 1 0 39.0079 20.7888 30.002 0 0 -1 0.866 8 6 6 0 +3040 0 1 0 39.508 21.655 30.002 0 0 -1 0.866 8 6 6 0 +3041 0 1 0 0 22.5212 30.002 0 0 -1 0.866 8 6 6 0 +3042 0 1 0 0.500101 23.3874 30.002 0 0 -1 0.866 8 6 6 0 +3043 0 1 0 1.0002 22.5212 30.002 0 0 -1 0.866 8 6 6 0 +3044 0 1 0 1.5003 23.3874 30.002 0 0 -1 0.866 8 6 6 0 +3045 0 1 0 2.0004 22.5212 30.002 0 0 -1 0.866 8 6 6 0 +3046 0 1 0 2.50051 23.3874 30.002 0 0 -1 0.866 8 6 6 0 +3047 0 1 0 3.00061 22.5212 30.002 0 0 -1 0.866 8 6 6 0 +3048 0 1 0 3.50071 23.3874 30.002 0 0 -1 0.866 8 6 6 0 +3049 0 1 0 4.00081 22.5212 30.002 0 0 -1 0.866 8 6 6 0 +3050 0 1 0 4.50091 23.3874 30.002 0 0 -1 0.866 8 6 6 0 +3051 0 1 0 5.00101 22.5212 30.002 0 0 -1 0.866 8 6 6 0 +3052 0 1 0 5.50111 23.3874 30.002 0 0 -1 0.866 8 6 6 0 +3053 0 1 0 6.00121 22.5212 30.002 0 0 -1 0.866 8 6 6 0 +3054 0 1 0 6.50132 23.3874 30.002 0 0 -1 0.866 8 6 6 0 +3055 0 1 0 7.00142 22.5212 30.002 0 0 -1 0.866 8 6 6 0 +3056 0 1 0 7.50152 23.3874 30.002 0 0 -1 0.866 8 6 6 0 +3057 0 1 0 8.00162 22.5212 30.002 0 0 -1 0.866 8 6 6 0 +3058 0 1 0 8.50172 23.3874 30.002 0 0 -1 0.866 8 6 6 0 +3059 0 1 0 9.00182 22.5212 30.002 0 0 -1 0.866 8 6 6 0 +3060 0 1 0 9.50192 23.3874 30.002 0 0 -1 0.866 8 6 6 0 +3061 0 1 0 10.002 22.5212 30.002 0 0 -1 0.866 8 6 6 0 +3062 0 1 0 10.5021 23.3874 30.002 0 0 -1 0.866 8 6 6 0 +3063 0 1 0 11.0022 22.5212 30.002 0 0 -1 0.866 8 6 6 0 +3064 0 1 0 11.5023 23.3874 30.002 0 0 -1 0.866 8 6 6 0 +3065 0 1 0 12.0024 22.5212 30.002 0 0 -1 0.866 8 6 6 0 +3066 0 1 0 12.5025 23.3874 30.002 0 0 -1 0.866 8 6 6 0 +3067 0 1 0 13.0026 22.5212 30.002 0 0 -1 0.866 8 6 6 0 +3068 0 1 0 13.5027 23.3874 30.002 0 0 -1 0.866 8 6 6 0 +3069 0 1 0 14.0028 22.5212 30.002 0 0 -1 0.866 8 6 6 0 +3070 0 1 0 14.5029 23.3874 30.002 0 0 -1 0.866 8 6 6 0 +3071 0 1 0 15.003 22.5212 30.002 0 0 -1 0.866 8 6 6 0 +3072 0 1 0 15.5031 23.3874 30.002 0 0 -1 0.866 8 6 6 0 +3073 0 1 0 16.0032 22.5212 30.002 0 0 -1 0.866 8 6 6 0 +3074 0 1 0 16.5033 23.3874 30.002 0 0 -1 0.866 8 6 6 0 +3075 0 1 0 17.0034 22.5212 30.002 0 0 -1 0.866 8 6 6 0 +3076 0 1 0 17.5035 23.3874 30.002 0 0 -1 0.866 8 6 6 0 +3077 0 1 0 18.0036 22.5212 30.002 0 0 -1 0.866 8 6 6 0 +3078 0 1 0 18.5037 23.3874 30.002 0 0 -1 0.866 8 6 6 0 +3079 0 1 0 19.0038 22.5212 30.002 0 0 -1 0.866 8 6 6 0 +3080 0 1 0 19.5039 23.3874 30.002 0 0 -1 0.866 8 6 6 0 +3081 0 1 0 20.004 22.5212 30.002 0 0 -1 0.866 8 6 6 0 +3082 0 1 0 20.5041 23.3874 30.002 0 0 -1 0.866 8 6 6 0 +3083 0 1 0 21.0042 22.5212 30.002 0 0 -1 0.866 8 6 6 0 +3084 0 1 0 21.5043 23.3874 30.002 0 0 -1 0.866 8 6 6 0 +3085 0 1 0 22.0045 22.5212 30.002 0 0 -1 0.866 8 6 6 0 +3086 0 1 0 22.5046 23.3874 30.002 0 0 -1 0.866 8 6 6 0 +3087 0 1 0 23.0047 22.5212 30.002 0 0 -1 0.866 8 6 6 0 +3088 0 1 0 23.5048 23.3874 30.002 0 0 -1 0.866 8 6 6 0 +3089 0 1 0 24.0049 22.5212 30.002 0 0 -1 0.866 8 6 6 0 +3090 0 1 0 24.505 23.3874 30.002 0 0 -1 0.866 8 6 6 0 +3091 0 1 0 25.0051 22.5212 30.002 0 0 -1 0.866 8 6 6 0 +3092 0 1 0 25.5052 23.3874 30.002 0 0 -1 0.866 8 6 6 0 +3093 0 1 0 26.0053 22.5212 30.002 0 0 -1 0.866 8 6 6 0 +3094 0 1 0 26.5054 23.3874 30.002 0 0 -1 0.866 8 6 6 0 +3095 0 1 0 27.0055 22.5212 30.002 0 0 -1 0.866 8 6 6 0 +3096 0 1 0 27.5056 23.3874 30.002 0 0 -1 0.866 8 6 6 0 +3097 0 1 0 28.0057 22.5212 30.002 0 0 -1 0.866 8 6 6 0 +3098 0 1 0 28.5058 23.3874 30.002 0 0 -1 0.866 8 6 6 0 +3099 0 1 0 29.0059 22.5212 30.002 0 0 -1 0.866 8 6 6 0 +3100 0 1 0 29.506 23.3874 30.002 0 0 -1 0.866 8 6 6 0 +3101 0 1 0 30.0061 22.5212 30.002 0 0 -1 0.866 8 6 6 0 +3102 0 1 0 30.5062 23.3874 30.002 0 0 -1 0.866 8 6 6 0 +3103 0 1 0 31.0063 22.5212 30.002 0 0 -1 0.866 8 6 6 0 +3104 0 1 0 31.5064 23.3874 30.002 0 0 -1 0.866 8 6 6 0 +3105 0 1 0 32.0065 22.5212 30.002 0 0 -1 0.866 8 6 6 0 +3106 0 1 0 32.5066 23.3874 30.002 0 0 -1 0.866 8 6 6 0 +3107 0 1 0 33.0067 22.5212 30.002 0 0 -1 0.866 8 6 6 0 +3108 0 1 0 33.5068 23.3874 30.002 0 0 -1 0.866 8 6 6 0 +3109 0 1 0 34.0069 22.5212 30.002 0 0 -1 0.866 8 6 6 0 +3110 0 1 0 34.507 23.3874 30.002 0 0 -1 0.866 8 6 6 0 +3111 0 1 0 35.0071 22.5212 30.002 0 0 -1 0.866 8 6 6 0 +3112 0 1 0 35.5072 23.3874 30.002 0 0 -1 0.866 8 6 6 0 +3113 0 1 0 36.0073 22.5212 30.002 0 0 -1 0.866 8 6 6 0 +3114 0 1 0 36.5074 23.3874 30.002 0 0 -1 0.866 8 6 6 0 +3115 0 1 0 37.0075 22.5212 30.002 0 0 -1 0.866 8 6 6 0 +3116 0 1 0 37.5076 23.3874 30.002 0 0 -1 0.866 8 6 6 0 +3117 0 1 0 38.0077 22.5212 30.002 0 0 -1 0.866 8 6 6 0 +3118 0 1 0 38.5078 23.3874 30.002 0 0 -1 0.866 8 6 6 0 +3119 0 1 0 39.0079 22.5212 30.002 0 0 -1 0.866 8 6 6 0 +3120 0 1 0 39.508 23.3874 30.002 0 0 -1 0.866 8 6 6 0 +3121 0 1 0 0 24.2536 30.002 0 0 -1 0.866 8 6 6 0 +3122 0 1 0 0.500101 25.1198 30.002 0 0 -1 0.866 8 6 6 0 +3123 0 1 0 1.0002 24.2536 30.002 0 0 -1 0.866 8 6 6 0 +3124 0 1 0 1.5003 25.1198 30.002 0 0 -1 0.866 8 6 6 0 +3125 0 1 0 2.0004 24.2536 30.002 0 0 -1 0.866 8 6 6 0 +3126 0 1 0 2.50051 25.1198 30.002 0 0 -1 0.866 8 6 6 0 +3127 0 1 0 3.00061 24.2536 30.002 0 0 -1 0.866 8 6 6 0 +3128 0 1 0 3.50071 25.1198 30.002 0 0 -1 0.866 8 6 6 0 +3129 0 1 0 4.00081 24.2536 30.002 0 0 -1 0.866 8 6 6 0 +3130 0 1 0 4.50091 25.1198 30.002 0 0 -1 0.866 8 6 6 0 +3131 0 1 0 5.00101 24.2536 30.002 0 0 -1 0.866 8 6 6 0 +3132 0 1 0 5.50111 25.1198 30.002 0 0 -1 0.866 8 6 6 0 +3133 0 1 0 6.00121 24.2536 30.002 0 0 -1 0.866 8 6 6 0 +3134 0 1 0 6.50132 25.1198 30.002 0 0 -1 0.866 8 6 6 0 +3135 0 1 0 7.00142 24.2536 30.002 0 0 -1 0.866 8 6 6 0 +3136 0 1 0 7.50152 25.1198 30.002 0 0 -1 0.866 8 6 6 0 +3137 0 1 0 8.00162 24.2536 30.002 0 0 -1 0.866 8 6 6 0 +3138 0 1 0 8.50172 25.1198 30.002 0 0 -1 0.866 8 6 6 0 +3139 0 1 0 9.00182 24.2536 30.002 0 0 -1 0.866 8 6 6 0 +3140 0 1 0 9.50192 25.1198 30.002 0 0 -1 0.866 8 6 6 0 +3141 0 1 0 10.002 24.2536 30.002 0 0 -1 0.866 8 6 6 0 +3142 0 1 0 10.5021 25.1198 30.002 0 0 -1 0.866 8 6 6 0 +3143 0 1 0 11.0022 24.2536 30.002 0 0 -1 0.866 8 6 6 0 +3144 0 1 0 11.5023 25.1198 30.002 0 0 -1 0.866 8 6 6 0 +3145 0 1 0 12.0024 24.2536 30.002 0 0 -1 0.866 8 6 6 0 +3146 0 1 0 12.5025 25.1198 30.002 0 0 -1 0.866 8 6 6 0 +3147 0 1 0 13.0026 24.2536 30.002 0 0 -1 0.866 8 6 6 0 +3148 0 1 0 13.5027 25.1198 30.002 0 0 -1 0.866 8 6 6 0 +3149 0 1 0 14.0028 24.2536 30.002 0 0 -1 0.866 8 6 6 0 +3150 0 1 0 14.5029 25.1198 30.002 0 0 -1 0.866 8 6 6 0 +3151 0 1 0 15.003 24.2536 30.002 0 0 -1 0.866 8 6 6 0 +3152 0 1 0 15.5031 25.1198 30.002 0 0 -1 0.866 8 6 6 0 +3153 0 1 0 16.0032 24.2536 30.002 0 0 -1 0.866 8 6 6 0 +3154 0 1 0 16.5033 25.1198 30.002 0 0 -1 0.866 8 6 6 0 +3155 0 1 0 17.0034 24.2536 30.002 0 0 -1 0.866 8 6 6 0 +3156 0 1 0 17.5035 25.1198 30.002 0 0 -1 0.866 8 6 6 0 +3157 0 1 0 18.0036 24.2536 30.002 0 0 -1 0.866 8 6 6 0 +3158 0 1 0 18.5037 25.1198 30.002 0 0 -1 0.866 8 6 6 0 +3159 0 1 0 19.0038 24.2536 30.002 0 0 -1 0.866 8 6 6 0 +3160 0 1 0 19.5039 25.1198 30.002 0 0 -1 0.866 8 6 6 0 +3161 0 1 0 20.004 24.2536 30.002 0 0 -1 0.866 8 6 6 0 +3162 0 1 0 20.5041 25.1198 30.002 0 0 -1 0.866 8 6 6 0 +3163 0 1 0 21.0042 24.2536 30.002 0 0 -1 0.866 8 6 6 0 +3164 0 1 0 21.5043 25.1198 30.002 0 0 -1 0.866 8 6 6 0 +3165 0 1 0 22.0045 24.2536 30.002 0 0 -1 0.866 8 6 6 0 +3166 0 1 0 22.5046 25.1198 30.002 0 0 -1 0.866 8 6 6 0 +3167 0 1 0 23.0047 24.2536 30.002 0 0 -1 0.866 8 6 6 0 +3168 0 1 0 23.5048 25.1198 30.002 0 0 -1 0.866 8 6 6 0 +3169 0 1 0 24.0049 24.2536 30.002 0 0 -1 0.866 8 6 6 0 +3170 0 1 0 24.505 25.1198 30.002 0 0 -1 0.866 8 6 6 0 +3171 0 1 0 25.0051 24.2536 30.002 0 0 -1 0.866 8 6 6 0 +3172 0 1 0 25.5052 25.1198 30.002 0 0 -1 0.866 8 6 6 0 +3173 0 1 0 26.0053 24.2536 30.002 0 0 -1 0.866 8 6 6 0 +3174 0 1 0 26.5054 25.1198 30.002 0 0 -1 0.866 8 6 6 0 +3175 0 1 0 27.0055 24.2536 30.002 0 0 -1 0.866 8 6 6 0 +3176 0 1 0 27.5056 25.1198 30.002 0 0 -1 0.866 8 6 6 0 +3177 0 1 0 28.0057 24.2536 30.002 0 0 -1 0.866 8 6 6 0 +3178 0 1 0 28.5058 25.1198 30.002 0 0 -1 0.866 8 6 6 0 +3179 0 1 0 29.0059 24.2536 30.002 0 0 -1 0.866 8 6 6 0 +3180 0 1 0 29.506 25.1198 30.002 0 0 -1 0.866 8 6 6 0 +3181 0 1 0 30.0061 24.2536 30.002 0 0 -1 0.866 8 6 6 0 +3182 0 1 0 30.5062 25.1198 30.002 0 0 -1 0.866 8 6 6 0 +3183 0 1 0 31.0063 24.2536 30.002 0 0 -1 0.866 8 6 6 0 +3184 0 1 0 31.5064 25.1198 30.002 0 0 -1 0.866 8 6 6 0 +3185 0 1 0 32.0065 24.2536 30.002 0 0 -1 0.866 8 6 6 0 +3186 0 1 0 32.5066 25.1198 30.002 0 0 -1 0.866 8 6 6 0 +3187 0 1 0 33.0067 24.2536 30.002 0 0 -1 0.866 8 6 6 0 +3188 0 1 0 33.5068 25.1198 30.002 0 0 -1 0.866 8 6 6 0 +3189 0 1 0 34.0069 24.2536 30.002 0 0 -1 0.866 8 6 6 0 +3190 0 1 0 34.507 25.1198 30.002 0 0 -1 0.866 8 6 6 0 +3191 0 1 0 35.0071 24.2536 30.002 0 0 -1 0.866 8 6 6 0 +3192 0 1 0 35.5072 25.1198 30.002 0 0 -1 0.866 8 6 6 0 +3193 0 1 0 36.0073 24.2536 30.002 0 0 -1 0.866 8 6 6 0 +3194 0 1 0 36.5074 25.1198 30.002 0 0 -1 0.866 8 6 6 0 +3195 0 1 0 37.0075 24.2536 30.002 0 0 -1 0.866 8 6 6 0 +3196 0 1 0 37.5076 25.1198 30.002 0 0 -1 0.866 8 6 6 0 +3197 0 1 0 38.0077 24.2536 30.002 0 0 -1 0.866 8 6 6 0 +3198 0 1 0 38.5078 25.1198 30.002 0 0 -1 0.866 8 6 6 0 +3199 0 1 0 39.0079 24.2536 30.002 0 0 -1 0.866 8 6 6 0 +3200 0 1 0 39.508 25.1198 30.002 0 0 -1 0.866 8 6 6 0 +3201 0 1 0 0 25.986 30.002 0 0 -1 0.866 8 6 6 0 +3202 0 1 0 0.500101 26.8522 30.002 0 0 -1 0.866 8 6 6 0 +3203 0 1 0 1.0002 25.986 30.002 0 0 -1 0.866 8 6 6 0 +3204 0 1 0 1.5003 26.8522 30.002 0 0 -1 0.866 8 6 6 0 +3205 0 1 0 2.0004 25.986 30.002 0 0 -1 0.866 8 6 6 0 +3206 0 1 0 2.50051 26.8522 30.002 0 0 -1 0.866 8 6 6 0 +3207 0 1 0 3.00061 25.986 30.002 0 0 -1 0.866 8 6 6 0 +3208 0 1 0 3.50071 26.8522 30.002 0 0 -1 0.866 8 6 6 0 +3209 0 1 0 4.00081 25.986 30.002 0 0 -1 0.866 8 6 6 0 +3210 0 1 0 4.50091 26.8522 30.002 0 0 -1 0.866 8 6 6 0 +3211 0 1 0 5.00101 25.986 30.002 0 0 -1 0.866 8 6 6 0 +3212 0 1 0 5.50111 26.8522 30.002 0 0 -1 0.866 8 6 6 0 +3213 0 1 0 6.00121 25.986 30.002 0 0 -1 0.866 8 6 6 0 +3214 0 1 0 6.50132 26.8522 30.002 0 0 -1 0.866 8 6 6 0 +3215 0 1 0 7.00142 25.986 30.002 0 0 -1 0.866 8 6 6 0 +3216 0 1 0 7.50152 26.8522 30.002 0 0 -1 0.866 8 6 6 0 +3217 0 1 0 8.00162 25.986 30.002 0 0 -1 0.866 8 6 6 0 +3218 0 1 0 8.50172 26.8522 30.002 0 0 -1 0.866 8 6 6 0 +3219 0 1 0 9.00182 25.986 30.002 0 0 -1 0.866 8 6 6 0 +3220 0 1 0 9.50192 26.8522 30.002 0 0 -1 0.866 8 6 6 0 +3221 0 1 0 10.002 25.986 30.002 0 0 -1 0.866 8 6 6 0 +3222 0 1 0 10.5021 26.8522 30.002 0 0 -1 0.866 8 6 6 0 +3223 0 1 0 11.0022 25.986 30.002 0 0 -1 0.866 8 6 6 0 +3224 0 1 0 11.5023 26.8522 30.002 0 0 -1 0.866 8 6 6 0 +3225 0 1 0 12.0024 25.986 30.002 0 0 -1 0.866 8 6 6 0 +3226 0 1 0 12.5025 26.8522 30.002 0 0 -1 0.866 8 6 6 0 +3227 0 1 0 13.0026 25.986 30.002 0 0 -1 0.866 8 6 6 0 +3228 0 1 0 13.5027 26.8522 30.002 0 0 -1 0.866 8 6 6 0 +3229 0 1 0 14.0028 25.986 30.002 0 0 -1 0.866 8 6 6 0 +3230 0 1 0 14.5029 26.8522 30.002 0 0 -1 0.866 8 6 6 0 +3231 0 1 0 15.003 25.986 30.002 0 0 -1 0.866 8 6 6 0 +3232 0 1 0 15.5031 26.8522 30.002 0 0 -1 0.866 8 6 6 0 +3233 0 1 0 16.0032 25.986 30.002 0 0 -1 0.866 8 6 6 0 +3234 0 1 0 16.5033 26.8522 30.002 0 0 -1 0.866 8 6 6 0 +3235 0 1 0 17.0034 25.986 30.002 0 0 -1 0.866 8 6 6 0 +3236 0 1 0 17.5035 26.8522 30.002 0 0 -1 0.866 8 6 6 0 +3237 0 1 0 18.0036 25.986 30.002 0 0 -1 0.866 8 6 6 0 +3238 0 1 0 18.5037 26.8522 30.002 0 0 -1 0.866 8 6 6 0 +3239 0 1 0 19.0038 25.986 30.002 0 0 -1 0.866 8 6 6 0 +3240 0 1 0 19.5039 26.8522 30.002 0 0 -1 0.866 8 6 6 0 +3241 0 1 0 20.004 25.986 30.002 0 0 -1 0.866 8 6 6 0 +3242 0 1 0 20.5041 26.8522 30.002 0 0 -1 0.866 8 6 6 0 +3243 0 1 0 21.0042 25.986 30.002 0 0 -1 0.866 8 6 6 0 +3244 0 1 0 21.5043 26.8522 30.002 0 0 -1 0.866 8 6 6 0 +3245 0 1 0 22.0045 25.986 30.002 0 0 -1 0.866 8 6 6 0 +3246 0 1 0 22.5046 26.8522 30.002 0 0 -1 0.866 8 6 6 0 +3247 0 1 0 23.0047 25.986 30.002 0 0 -1 0.866 8 6 6 0 +3248 0 1 0 23.5048 26.8522 30.002 0 0 -1 0.866 8 6 6 0 +3249 0 1 0 24.0049 25.986 30.002 0 0 -1 0.866 8 6 6 0 +3250 0 1 0 24.505 26.8522 30.002 0 0 -1 0.866 8 6 6 0 +3251 0 1 0 25.0051 25.986 30.002 0 0 -1 0.866 8 6 6 0 +3252 0 1 0 25.5052 26.8522 30.002 0 0 -1 0.866 8 6 6 0 +3253 0 1 0 26.0053 25.986 30.002 0 0 -1 0.866 8 6 6 0 +3254 0 1 0 26.5054 26.8522 30.002 0 0 -1 0.866 8 6 6 0 +3255 0 1 0 27.0055 25.986 30.002 0 0 -1 0.866 8 6 6 0 +3256 0 1 0 27.5056 26.8522 30.002 0 0 -1 0.866 8 6 6 0 +3257 0 1 0 28.0057 25.986 30.002 0 0 -1 0.866 8 6 6 0 +3258 0 1 0 28.5058 26.8522 30.002 0 0 -1 0.866 8 6 6 0 +3259 0 1 0 29.0059 25.986 30.002 0 0 -1 0.866 8 6 6 0 +3260 0 1 0 29.506 26.8522 30.002 0 0 -1 0.866 8 6 6 0 +3261 0 1 0 30.0061 25.986 30.002 0 0 -1 0.866 8 6 6 0 +3262 0 1 0 30.5062 26.8522 30.002 0 0 -1 0.866 8 6 6 0 +3263 0 1 0 31.0063 25.986 30.002 0 0 -1 0.866 8 6 6 0 +3264 0 1 0 31.5064 26.8522 30.002 0 0 -1 0.866 8 6 6 0 +3265 0 1 0 32.0065 25.986 30.002 0 0 -1 0.866 8 6 6 0 +3266 0 1 0 32.5066 26.8522 30.002 0 0 -1 0.866 8 6 6 0 +3267 0 1 0 33.0067 25.986 30.002 0 0 -1 0.866 8 6 6 0 +3268 0 1 0 33.5068 26.8522 30.002 0 0 -1 0.866 8 6 6 0 +3269 0 1 0 34.0069 25.986 30.002 0 0 -1 0.866 8 6 6 0 +3270 0 1 0 34.507 26.8522 30.002 0 0 -1 0.866 8 6 6 0 +3271 0 1 0 35.0071 25.986 30.002 0 0 -1 0.866 8 6 6 0 +3272 0 1 0 35.5072 26.8522 30.002 0 0 -1 0.866 8 6 6 0 +3273 0 1 0 36.0073 25.986 30.002 0 0 -1 0.866 8 6 6 0 +3274 0 1 0 36.5074 26.8522 30.002 0 0 -1 0.866 8 6 6 0 +3275 0 1 0 37.0075 25.986 30.002 0 0 -1 0.866 8 6 6 0 +3276 0 1 0 37.5076 26.8522 30.002 0 0 -1 0.866 8 6 6 0 +3277 0 1 0 38.0077 25.986 30.002 0 0 -1 0.866 8 6 6 0 +3278 0 1 0 38.5078 26.8522 30.002 0 0 -1 0.866 8 6 6 0 +3279 0 1 0 39.0079 25.986 30.002 0 0 -1 0.866 8 6 6 0 +3280 0 1 0 39.508 26.8522 30.002 0 0 -1 0.866 8 6 6 0 +3281 0 1 0 0 27.7184 30.002 0 0 -1 0.866 8 6 6 0 +3282 0 1 0 0.500101 28.5846 30.002 0 0 -1 0.866 8 6 6 0 +3283 0 1 0 1.0002 27.7184 30.002 0 0 -1 0.866 8 6 6 0 +3284 0 1 0 1.5003 28.5846 30.002 0 0 -1 0.866 8 6 6 0 +3285 0 1 0 2.0004 27.7184 30.002 0 0 -1 0.866 8 6 6 0 +3286 0 1 0 2.50051 28.5846 30.002 0 0 -1 0.866 8 6 6 0 +3287 0 1 0 3.00061 27.7184 30.002 0 0 -1 0.866 8 6 6 0 +3288 0 1 0 3.50071 28.5846 30.002 0 0 -1 0.866 8 6 6 0 +3289 0 1 0 4.00081 27.7184 30.002 0 0 -1 0.866 8 6 6 0 +3290 0 1 0 4.50091 28.5846 30.002 0 0 -1 0.866 8 6 6 0 +3291 0 1 0 5.00101 27.7184 30.002 0 0 -1 0.866 8 6 6 0 +3292 0 1 0 5.50111 28.5846 30.002 0 0 -1 0.866 8 6 6 0 +3293 0 1 0 6.00121 27.7184 30.002 0 0 -1 0.866 8 6 6 0 +3294 0 1 0 6.50132 28.5846 30.002 0 0 -1 0.866 8 6 6 0 +3295 0 1 0 7.00142 27.7184 30.002 0 0 -1 0.866 8 6 6 0 +3296 0 1 0 7.50152 28.5846 30.002 0 0 -1 0.866 8 6 6 0 +3297 0 1 0 8.00162 27.7184 30.002 0 0 -1 0.866 8 6 6 0 +3298 0 1 0 8.50172 28.5846 30.002 0 0 -1 0.866 8 6 6 0 +3299 0 1 0 9.00182 27.7184 30.002 0 0 -1 0.866 8 6 6 0 +3300 0 1 0 9.50192 28.5846 30.002 0 0 -1 0.866 8 6 6 0 +3301 0 1 0 10.002 27.7184 30.002 0 0 -1 0.866 8 6 6 0 +3302 0 1 0 10.5021 28.5846 30.002 0 0 -1 0.866 8 6 6 0 +3303 0 1 0 11.0022 27.7184 30.002 0 0 -1 0.866 8 6 6 0 +3304 0 1 0 11.5023 28.5846 30.002 0 0 -1 0.866 8 6 6 0 +3305 0 1 0 12.0024 27.7184 30.002 0 0 -1 0.866 8 6 6 0 +3306 0 1 0 12.5025 28.5846 30.002 0 0 -1 0.866 8 6 6 0 +3307 0 1 0 13.0026 27.7184 30.002 0 0 -1 0.866 8 6 6 0 +3308 0 1 0 13.5027 28.5846 30.002 0 0 -1 0.866 8 6 6 0 +3309 0 1 0 14.0028 27.7184 30.002 0 0 -1 0.866 8 6 6 0 +3310 0 1 0 14.5029 28.5846 30.002 0 0 -1 0.866 8 6 6 0 +3311 0 1 0 15.003 27.7184 30.002 0 0 -1 0.866 8 6 6 0 +3312 0 1 0 15.5031 28.5846 30.002 0 0 -1 0.866 8 6 6 0 +3313 0 1 0 16.0032 27.7184 30.002 0 0 -1 0.866 8 6 6 0 +3314 0 1 0 16.5033 28.5846 30.002 0 0 -1 0.866 8 6 6 0 +3315 0 1 0 17.0034 27.7184 30.002 0 0 -1 0.866 8 6 6 0 +3316 0 1 0 17.5035 28.5846 30.002 0 0 -1 0.866 8 6 6 0 +3317 0 1 0 18.0036 27.7184 30.002 0 0 -1 0.866 8 6 6 0 +3318 0 1 0 18.5037 28.5846 30.002 0 0 -1 0.866 8 6 6 0 +3319 0 1 0 19.0038 27.7184 30.002 0 0 -1 0.866 8 6 6 0 +3320 0 1 0 19.5039 28.5846 30.002 0 0 -1 0.866 8 6 6 0 +3321 0 1 0 20.004 27.7184 30.002 0 0 -1 0.866 8 6 6 0 +3322 0 1 0 20.5041 28.5846 30.002 0 0 -1 0.866 8 6 6 0 +3323 0 1 0 21.0042 27.7184 30.002 0 0 -1 0.866 8 6 6 0 +3324 0 1 0 21.5043 28.5846 30.002 0 0 -1 0.866 8 6 6 0 +3325 0 1 0 22.0045 27.7184 30.002 0 0 -1 0.866 8 6 6 0 +3326 0 1 0 22.5046 28.5846 30.002 0 0 -1 0.866 8 6 6 0 +3327 0 1 0 23.0047 27.7184 30.002 0 0 -1 0.866 8 6 6 0 +3328 0 1 0 23.5048 28.5846 30.002 0 0 -1 0.866 8 6 6 0 +3329 0 1 0 24.0049 27.7184 30.002 0 0 -1 0.866 8 6 6 0 +3330 0 1 0 24.505 28.5846 30.002 0 0 -1 0.866 8 6 6 0 +3331 0 1 0 25.0051 27.7184 30.002 0 0 -1 0.866 8 6 6 0 +3332 0 1 0 25.5052 28.5846 30.002 0 0 -1 0.866 8 6 6 0 +3333 0 1 0 26.0053 27.7184 30.002 0 0 -1 0.866 8 6 6 0 +3334 0 1 0 26.5054 28.5846 30.002 0 0 -1 0.866 8 6 6 0 +3335 0 1 0 27.0055 27.7184 30.002 0 0 -1 0.866 8 6 6 0 +3336 0 1 0 27.5056 28.5846 30.002 0 0 -1 0.866 8 6 6 0 +3337 0 1 0 28.0057 27.7184 30.002 0 0 -1 0.866 8 6 6 0 +3338 0 1 0 28.5058 28.5846 30.002 0 0 -1 0.866 8 6 6 0 +3339 0 1 0 29.0059 27.7184 30.002 0 0 -1 0.866 8 6 6 0 +3340 0 1 0 29.506 28.5846 30.002 0 0 -1 0.866 8 6 6 0 +3341 0 1 0 30.0061 27.7184 30.002 0 0 -1 0.866 8 6 6 0 +3342 0 1 0 30.5062 28.5846 30.002 0 0 -1 0.866 8 6 6 0 +3343 0 1 0 31.0063 27.7184 30.002 0 0 -1 0.866 8 6 6 0 +3344 0 1 0 31.5064 28.5846 30.002 0 0 -1 0.866 8 6 6 0 +3345 0 1 0 32.0065 27.7184 30.002 0 0 -1 0.866 8 6 6 0 +3346 0 1 0 32.5066 28.5846 30.002 0 0 -1 0.866 8 6 6 0 +3347 0 1 0 33.0067 27.7184 30.002 0 0 -1 0.866 8 6 6 0 +3348 0 1 0 33.5068 28.5846 30.002 0 0 -1 0.866 8 6 6 0 +3349 0 1 0 34.0069 27.7184 30.002 0 0 -1 0.866 8 6 6 0 +3350 0 1 0 34.507 28.5846 30.002 0 0 -1 0.866 8 6 6 0 +3351 0 1 0 35.0071 27.7184 30.002 0 0 -1 0.866 8 6 6 0 +3352 0 1 0 35.5072 28.5846 30.002 0 0 -1 0.866 8 6 6 0 +3353 0 1 0 36.0073 27.7184 30.002 0 0 -1 0.866 8 6 6 0 +3354 0 1 0 36.5074 28.5846 30.002 0 0 -1 0.866 8 6 6 0 +3355 0 1 0 37.0075 27.7184 30.002 0 0 -1 0.866 8 6 6 0 +3356 0 1 0 37.5076 28.5846 30.002 0 0 -1 0.866 8 6 6 0 +3357 0 1 0 38.0077 27.7184 30.002 0 0 -1 0.866 8 6 6 0 +3358 0 1 0 38.5078 28.5846 30.002 0 0 -1 0.866 8 6 6 0 +3359 0 1 0 39.0079 27.7184 30.002 0 0 -1 0.866 8 6 6 0 +3360 0 1 0 39.508 28.5846 30.002 0 0 -1 0.866 8 6 6 0 +3361 0 1 0 0 29.4508 30.002 0 0 -1 0.866 8 6 6 0 +3362 0 1 0 0.500101 30.317 30.002 0 0 -1 0.866 8 6 6 0 +3363 0 1 0 1.0002 29.4508 30.002 0 0 -1 0.866 8 6 6 0 +3364 0 1 0 1.5003 30.317 30.002 0 0 -1 0.866 8 6 6 0 +3365 0 1 0 2.0004 29.4508 30.002 0 0 -1 0.866 8 6 6 0 +3366 0 1 0 2.50051 30.317 30.002 0 0 -1 0.866 8 6 6 0 +3367 0 1 0 3.00061 29.4508 30.002 0 0 -1 0.866 8 6 6 0 +3368 0 1 0 3.50071 30.317 30.002 0 0 -1 0.866 8 6 6 0 +3369 0 1 0 4.00081 29.4508 30.002 0 0 -1 0.866 8 6 6 0 +3370 0 1 0 4.50091 30.317 30.002 0 0 -1 0.866 8 6 6 0 +3371 0 1 0 5.00101 29.4508 30.002 0 0 -1 0.866 8 6 6 0 +3372 0 1 0 5.50111 30.317 30.002 0 0 -1 0.866 8 6 6 0 +3373 0 1 0 6.00121 29.4508 30.002 0 0 -1 0.866 8 6 6 0 +3374 0 1 0 6.50132 30.317 30.002 0 0 -1 0.866 8 6 6 0 +3375 0 1 0 7.00142 29.4508 30.002 0 0 -1 0.866 8 6 6 0 +3376 0 1 0 7.50152 30.317 30.002 0 0 -1 0.866 8 6 6 0 +3377 0 1 0 8.00162 29.4508 30.002 0 0 -1 0.866 8 6 6 0 +3378 0 1 0 8.50172 30.317 30.002 0 0 -1 0.866 8 6 6 0 +3379 0 1 0 9.00182 29.4508 30.002 0 0 -1 0.866 8 6 6 0 +3380 0 1 0 9.50192 30.317 30.002 0 0 -1 0.866 8 6 6 0 +3381 0 1 0 10.002 29.4508 30.002 0 0 -1 0.866 8 6 6 0 +3382 0 1 0 10.5021 30.317 30.002 0 0 -1 0.866 8 6 6 0 +3383 0 1 0 11.0022 29.4508 30.002 0 0 -1 0.866 8 6 6 0 +3384 0 1 0 11.5023 30.317 30.002 0 0 -1 0.866 8 6 6 0 +3385 0 1 0 12.0024 29.4508 30.002 0 0 -1 0.866 8 6 6 0 +3386 0 1 0 12.5025 30.317 30.002 0 0 -1 0.866 8 6 6 0 +3387 0 1 0 13.0026 29.4508 30.002 0 0 -1 0.866 8 6 6 0 +3388 0 1 0 13.5027 30.317 30.002 0 0 -1 0.866 8 6 6 0 +3389 0 1 0 14.0028 29.4508 30.002 0 0 -1 0.866 8 6 6 0 +3390 0 1 0 14.5029 30.317 30.002 0 0 -1 0.866 8 6 6 0 +3391 0 1 0 15.003 29.4508 30.002 0 0 -1 0.866 8 6 6 0 +3392 0 1 0 15.5031 30.317 30.002 0 0 -1 0.866 8 6 6 0 +3393 0 1 0 16.0032 29.4508 30.002 0 0 -1 0.866 8 6 6 0 +3394 0 1 0 16.5033 30.317 30.002 0 0 -1 0.866 8 6 6 0 +3395 0 1 0 17.0034 29.4508 30.002 0 0 -1 0.866 8 6 6 0 +3396 0 1 0 17.5035 30.317 30.002 0 0 -1 0.866 8 6 6 0 +3397 0 1 0 18.0036 29.4508 30.002 0 0 -1 0.866 8 6 6 0 +3398 0 1 0 18.5037 30.317 30.002 0 0 -1 0.866 8 6 6 0 +3399 0 1 0 19.0038 29.4508 30.002 0 0 -1 0.866 8 6 6 0 +3400 0 1 0 19.5039 30.317 30.002 0 0 -1 0.866 8 6 6 0 +3401 0 1 0 20.004 29.4508 30.002 0 0 -1 0.866 8 6 6 0 +3402 0 1 0 20.5041 30.317 30.002 0 0 -1 0.866 8 6 6 0 +3403 0 1 0 21.0042 29.4508 30.002 0 0 -1 0.866 8 6 6 0 +3404 0 1 0 21.5043 30.317 30.002 0 0 -1 0.866 8 6 6 0 +3405 0 1 0 22.0045 29.4508 30.002 0 0 -1 0.866 8 6 6 0 +3406 0 1 0 22.5046 30.317 30.002 0 0 -1 0.866 8 6 6 0 +3407 0 1 0 23.0047 29.4508 30.002 0 0 -1 0.866 8 6 6 0 +3408 0 1 0 23.5048 30.317 30.002 0 0 -1 0.866 8 6 6 0 +3409 0 1 0 24.0049 29.4508 30.002 0 0 -1 0.866 8 6 6 0 +3410 0 1 0 24.505 30.317 30.002 0 0 -1 0.866 8 6 6 0 +3411 0 1 0 25.0051 29.4508 30.002 0 0 -1 0.866 8 6 6 0 +3412 0 1 0 25.5052 30.317 30.002 0 0 -1 0.866 8 6 6 0 +3413 0 1 0 26.0053 29.4508 30.002 0 0 -1 0.866 8 6 6 0 +3414 0 1 0 26.5054 30.317 30.002 0 0 -1 0.866 8 6 6 0 +3415 0 1 0 27.0055 29.4508 30.002 0 0 -1 0.866 8 6 6 0 +3416 0 1 0 27.5056 30.317 30.002 0 0 -1 0.866 8 6 6 0 +3417 0 1 0 28.0057 29.4508 30.002 0 0 -1 0.866 8 6 6 0 +3418 0 1 0 28.5058 30.317 30.002 0 0 -1 0.866 8 6 6 0 +3419 0 1 0 29.0059 29.4508 30.002 0 0 -1 0.866 8 6 6 0 +3420 0 1 0 29.506 30.317 30.002 0 0 -1 0.866 8 6 6 0 +3421 0 1 0 30.0061 29.4508 30.002 0 0 -1 0.866 8 6 6 0 +3422 0 1 0 30.5062 30.317 30.002 0 0 -1 0.866 8 6 6 0 +3423 0 1 0 31.0063 29.4508 30.002 0 0 -1 0.866 8 6 6 0 +3424 0 1 0 31.5064 30.317 30.002 0 0 -1 0.866 8 6 6 0 +3425 0 1 0 32.0065 29.4508 30.002 0 0 -1 0.866 8 6 6 0 +3426 0 1 0 32.5066 30.317 30.002 0 0 -1 0.866 8 6 6 0 +3427 0 1 0 33.0067 29.4508 30.002 0 0 -1 0.866 8 6 6 0 +3428 0 1 0 33.5068 30.317 30.002 0 0 -1 0.866 8 6 6 0 +3429 0 1 0 34.0069 29.4508 30.002 0 0 -1 0.866 8 6 6 0 +3430 0 1 0 34.507 30.317 30.002 0 0 -1 0.866 8 6 6 0 +3431 0 1 0 35.0071 29.4508 30.002 0 0 -1 0.866 8 6 6 0 +3432 0 1 0 35.5072 30.317 30.002 0 0 -1 0.866 8 6 6 0 +3433 0 1 0 36.0073 29.4508 30.002 0 0 -1 0.866 8 6 6 0 +3434 0 1 0 36.5074 30.317 30.002 0 0 -1 0.866 8 6 6 0 +3435 0 1 0 37.0075 29.4508 30.002 0 0 -1 0.866 8 6 6 0 +3436 0 1 0 37.5076 30.317 30.002 0 0 -1 0.866 8 6 6 0 +3437 0 1 0 38.0077 29.4508 30.002 0 0 -1 0.866 8 6 6 0 +3438 0 1 0 38.5078 30.317 30.002 0 0 -1 0.866 8 6 6 0 +3439 0 1 0 39.0079 29.4508 30.002 0 0 -1 0.866 8 6 6 0 +3440 0 1 0 39.508 30.317 30.002 0 0 -1 0.866 8 6 6 0 +3441 0 1 0 0 31.1832 30.002 0 0 -1 0.866 8 6 6 0 +3442 0 1 0 0.500101 32.0494 30.002 0 0 -1 0.866 8 6 6 0 +3443 0 1 0 1.0002 31.1832 30.002 0 0 -1 0.866 8 6 6 0 +3444 0 1 0 1.5003 32.0494 30.002 0 0 -1 0.866 8 6 6 0 +3445 0 1 0 2.0004 31.1832 30.002 0 0 -1 0.866 8 6 6 0 +3446 0 1 0 2.50051 32.0494 30.002 0 0 -1 0.866 8 6 6 0 +3447 0 1 0 3.00061 31.1832 30.002 0 0 -1 0.866 8 6 6 0 +3448 0 1 0 3.50071 32.0494 30.002 0 0 -1 0.866 8 6 6 0 +3449 0 1 0 4.00081 31.1832 30.002 0 0 -1 0.866 8 6 6 0 +3450 0 1 0 4.50091 32.0494 30.002 0 0 -1 0.866 8 6 6 0 +3451 0 1 0 5.00101 31.1832 30.002 0 0 -1 0.866 8 6 6 0 +3452 0 1 0 5.50111 32.0494 30.002 0 0 -1 0.866 8 6 6 0 +3453 0 1 0 6.00121 31.1832 30.002 0 0 -1 0.866 8 6 6 0 +3454 0 1 0 6.50132 32.0494 30.002 0 0 -1 0.866 8 6 6 0 +3455 0 1 0 7.00142 31.1832 30.002 0 0 -1 0.866 8 6 6 0 +3456 0 1 0 7.50152 32.0494 30.002 0 0 -1 0.866 8 6 6 0 +3457 0 1 0 8.00162 31.1832 30.002 0 0 -1 0.866 8 6 6 0 +3458 0 1 0 8.50172 32.0494 30.002 0 0 -1 0.866 8 6 6 0 +3459 0 1 0 9.00182 31.1832 30.002 0 0 -1 0.866 8 6 6 0 +3460 0 1 0 9.50192 32.0494 30.002 0 0 -1 0.866 8 6 6 0 +3461 0 1 0 10.002 31.1832 30.002 0 0 -1 0.866 8 6 6 0 +3462 0 1 0 10.5021 32.0494 30.002 0 0 -1 0.866 8 6 6 0 +3463 0 1 0 11.0022 31.1832 30.002 0 0 -1 0.866 8 6 6 0 +3464 0 1 0 11.5023 32.0494 30.002 0 0 -1 0.866 8 6 6 0 +3465 0 1 0 12.0024 31.1832 30.002 0 0 -1 0.866 8 6 6 0 +3466 0 1 0 12.5025 32.0494 30.002 0 0 -1 0.866 8 6 6 0 +3467 0 1 0 13.0026 31.1832 30.002 0 0 -1 0.866 8 6 6 0 +3468 0 1 0 13.5027 32.0494 30.002 0 0 -1 0.866 8 6 6 0 +3469 0 1 0 14.0028 31.1832 30.002 0 0 -1 0.866 8 6 6 0 +3470 0 1 0 14.5029 32.0494 30.002 0 0 -1 0.866 8 6 6 0 +3471 0 1 0 15.003 31.1832 30.002 0 0 -1 0.866 8 6 6 0 +3472 0 1 0 15.5031 32.0494 30.002 0 0 -1 0.866 8 6 6 0 +3473 0 1 0 16.0032 31.1832 30.002 0 0 -1 0.866 8 6 6 0 +3474 0 1 0 16.5033 32.0494 30.002 0 0 -1 0.866 8 6 6 0 +3475 0 1 0 17.0034 31.1832 30.002 0 0 -1 0.866 8 6 6 0 +3476 0 1 0 17.5035 32.0494 30.002 0 0 -1 0.866 8 6 6 0 +3477 0 1 0 18.0036 31.1832 30.002 0 0 -1 0.866 8 6 6 0 +3478 0 1 0 18.5037 32.0494 30.002 0 0 -1 0.866 8 6 6 0 +3479 0 1 0 19.0038 31.1832 30.002 0 0 -1 0.866 8 6 6 0 +3480 0 1 0 19.5039 32.0494 30.002 0 0 -1 0.866 8 6 6 0 +3481 0 1 0 20.004 31.1832 30.002 0 0 -1 0.866 8 6 6 0 +3482 0 1 0 20.5041 32.0494 30.002 0 0 -1 0.866 8 6 6 0 +3483 0 1 0 21.0042 31.1832 30.002 0 0 -1 0.866 8 6 6 0 +3484 0 1 0 21.5043 32.0494 30.002 0 0 -1 0.866 8 6 6 0 +3485 0 1 0 22.0045 31.1832 30.002 0 0 -1 0.866 8 6 6 0 +3486 0 1 0 22.5046 32.0494 30.002 0 0 -1 0.866 8 6 6 0 +3487 0 1 0 23.0047 31.1832 30.002 0 0 -1 0.866 8 6 6 0 +3488 0 1 0 23.5048 32.0494 30.002 0 0 -1 0.866 8 6 6 0 +3489 0 1 0 24.0049 31.1832 30.002 0 0 -1 0.866 8 6 6 0 +3490 0 1 0 24.505 32.0494 30.002 0 0 -1 0.866 8 6 6 0 +3491 0 1 0 25.0051 31.1832 30.002 0 0 -1 0.866 8 6 6 0 +3492 0 1 0 25.5052 32.0494 30.002 0 0 -1 0.866 8 6 6 0 +3493 0 1 0 26.0053 31.1832 30.002 0 0 -1 0.866 8 6 6 0 +3494 0 1 0 26.5054 32.0494 30.002 0 0 -1 0.866 8 6 6 0 +3495 0 1 0 27.0055 31.1832 30.002 0 0 -1 0.866 8 6 6 0 +3496 0 1 0 27.5056 32.0494 30.002 0 0 -1 0.866 8 6 6 0 +3497 0 1 0 28.0057 31.1832 30.002 0 0 -1 0.866 8 6 6 0 +3498 0 1 0 28.5058 32.0494 30.002 0 0 -1 0.866 8 6 6 0 +3499 0 1 0 29.0059 31.1832 30.002 0 0 -1 0.866 8 6 6 0 +3500 0 1 0 29.506 32.0494 30.002 0 0 -1 0.866 8 6 6 0 +3501 0 1 0 30.0061 31.1832 30.002 0 0 -1 0.866 8 6 6 0 +3502 0 1 0 30.5062 32.0494 30.002 0 0 -1 0.866 8 6 6 0 +3503 0 1 0 31.0063 31.1832 30.002 0 0 -1 0.866 8 6 6 0 +3504 0 1 0 31.5064 32.0494 30.002 0 0 -1 0.866 8 6 6 0 +3505 0 1 0 32.0065 31.1832 30.002 0 0 -1 0.866 8 6 6 0 +3506 0 1 0 32.5066 32.0494 30.002 0 0 -1 0.866 8 6 6 0 +3507 0 1 0 33.0067 31.1832 30.002 0 0 -1 0.866 8 6 6 0 +3508 0 1 0 33.5068 32.0494 30.002 0 0 -1 0.866 8 6 6 0 +3509 0 1 0 34.0069 31.1832 30.002 0 0 -1 0.866 8 6 6 0 +3510 0 1 0 34.507 32.0494 30.002 0 0 -1 0.866 8 6 6 0 +3511 0 1 0 35.0071 31.1832 30.002 0 0 -1 0.866 8 6 6 0 +3512 0 1 0 35.5072 32.0494 30.002 0 0 -1 0.866 8 6 6 0 +3513 0 1 0 36.0073 31.1832 30.002 0 0 -1 0.866 8 6 6 0 +3514 0 1 0 36.5074 32.0494 30.002 0 0 -1 0.866 8 6 6 0 +3515 0 1 0 37.0075 31.1832 30.002 0 0 -1 0.866 8 6 6 0 +3516 0 1 0 37.5076 32.0494 30.002 0 0 -1 0.866 8 6 6 0 +3517 0 1 0 38.0077 31.1832 30.002 0 0 -1 0.866 8 6 6 0 +3518 0 1 0 38.5078 32.0494 30.002 0 0 -1 0.866 8 6 6 0 +3519 0 1 0 39.0079 31.1832 30.002 0 0 -1 0.866 8 6 6 0 +3520 0 1 0 39.508 32.0494 30.002 0 0 -1 0.866 8 6 6 0 +3521 0 1 0 0 32.9156 30.002 0 0 -1 0.866 8 6 6 0 +3522 0 1 0 0.500101 33.7818 30.002 0 0 -1 0.866 8 6 6 0 +3523 0 1 0 1.0002 32.9156 30.002 0 0 -1 0.866 8 6 6 0 +3524 0 1 0 1.5003 33.7818 30.002 0 0 -1 0.866 8 6 6 0 +3525 0 1 0 2.0004 32.9156 30.002 0 0 -1 0.866 8 6 6 0 +3526 0 1 0 2.50051 33.7818 30.002 0 0 -1 0.866 8 6 6 0 +3527 0 1 0 3.00061 32.9156 30.002 0 0 -1 0.866 8 6 6 0 +3528 0 1 0 3.50071 33.7818 30.002 0 0 -1 0.866 8 6 6 0 +3529 0 1 0 4.00081 32.9156 30.002 0 0 -1 0.866 8 6 6 0 +3530 0 1 0 4.50091 33.7818 30.002 0 0 -1 0.866 8 6 6 0 +3531 0 1 0 5.00101 32.9156 30.002 0 0 -1 0.866 8 6 6 0 +3532 0 1 0 5.50111 33.7818 30.002 0 0 -1 0.866 8 6 6 0 +3533 0 1 0 6.00121 32.9156 30.002 0 0 -1 0.866 8 6 6 0 +3534 0 1 0 6.50132 33.7818 30.002 0 0 -1 0.866 8 6 6 0 +3535 0 1 0 7.00142 32.9156 30.002 0 0 -1 0.866 8 6 6 0 +3536 0 1 0 7.50152 33.7818 30.002 0 0 -1 0.866 8 6 6 0 +3537 0 1 0 8.00162 32.9156 30.002 0 0 -1 0.866 8 6 6 0 +3538 0 1 0 8.50172 33.7818 30.002 0 0 -1 0.866 8 6 6 0 +3539 0 1 0 9.00182 32.9156 30.002 0 0 -1 0.866 8 6 6 0 +3540 0 1 0 9.50192 33.7818 30.002 0 0 -1 0.866 8 6 6 0 +3541 0 1 0 10.002 32.9156 30.002 0 0 -1 0.866 8 6 6 0 +3542 0 1 0 10.5021 33.7818 30.002 0 0 -1 0.866 8 6 6 0 +3543 0 1 0 11.0022 32.9156 30.002 0 0 -1 0.866 8 6 6 0 +3544 0 1 0 11.5023 33.7818 30.002 0 0 -1 0.866 8 6 6 0 +3545 0 1 0 12.0024 32.9156 30.002 0 0 -1 0.866 8 6 6 0 +3546 0 1 0 12.5025 33.7818 30.002 0 0 -1 0.866 8 6 6 0 +3547 0 1 0 13.0026 32.9156 30.002 0 0 -1 0.866 8 6 6 0 +3548 0 1 0 13.5027 33.7818 30.002 0 0 -1 0.866 8 6 6 0 +3549 0 1 0 14.0028 32.9156 30.002 0 0 -1 0.866 8 6 6 0 +3550 0 1 0 14.5029 33.7818 30.002 0 0 -1 0.866 8 6 6 0 +3551 0 1 0 15.003 32.9156 30.002 0 0 -1 0.866 8 6 6 0 +3552 0 1 0 15.5031 33.7818 30.002 0 0 -1 0.866 8 6 6 0 +3553 0 1 0 16.0032 32.9156 30.002 0 0 -1 0.866 8 6 6 0 +3554 0 1 0 16.5033 33.7818 30.002 0 0 -1 0.866 8 6 6 0 +3555 0 1 0 17.0034 32.9156 30.002 0 0 -1 0.866 8 6 6 0 +3556 0 1 0 17.5035 33.7818 30.002 0 0 -1 0.866 8 6 6 0 +3557 0 1 0 18.0036 32.9156 30.002 0 0 -1 0.866 8 6 6 0 +3558 0 1 0 18.5037 33.7818 30.002 0 0 -1 0.866 8 6 6 0 +3559 0 1 0 19.0038 32.9156 30.002 0 0 -1 0.866 8 6 6 0 +3560 0 1 0 19.5039 33.7818 30.002 0 0 -1 0.866 8 6 6 0 +3561 0 1 0 20.004 32.9156 30.002 0 0 -1 0.866 8 6 6 0 +3562 0 1 0 20.5041 33.7818 30.002 0 0 -1 0.866 8 6 6 0 +3563 0 1 0 21.0042 32.9156 30.002 0 0 -1 0.866 8 6 6 0 +3564 0 1 0 21.5043 33.7818 30.002 0 0 -1 0.866 8 6 6 0 +3565 0 1 0 22.0045 32.9156 30.002 0 0 -1 0.866 8 6 6 0 +3566 0 1 0 22.5046 33.7818 30.002 0 0 -1 0.866 8 6 6 0 +3567 0 1 0 23.0047 32.9156 30.002 0 0 -1 0.866 8 6 6 0 +3568 0 1 0 23.5048 33.7818 30.002 0 0 -1 0.866 8 6 6 0 +3569 0 1 0 24.0049 32.9156 30.002 0 0 -1 0.866 8 6 6 0 +3570 0 1 0 24.505 33.7818 30.002 0 0 -1 0.866 8 6 6 0 +3571 0 1 0 25.0051 32.9156 30.002 0 0 -1 0.866 8 6 6 0 +3572 0 1 0 25.5052 33.7818 30.002 0 0 -1 0.866 8 6 6 0 +3573 0 1 0 26.0053 32.9156 30.002 0 0 -1 0.866 8 6 6 0 +3574 0 1 0 26.5054 33.7818 30.002 0 0 -1 0.866 8 6 6 0 +3575 0 1 0 27.0055 32.9156 30.002 0 0 -1 0.866 8 6 6 0 +3576 0 1 0 27.5056 33.7818 30.002 0 0 -1 0.866 8 6 6 0 +3577 0 1 0 28.0057 32.9156 30.002 0 0 -1 0.866 8 6 6 0 +3578 0 1 0 28.5058 33.7818 30.002 0 0 -1 0.866 8 6 6 0 +3579 0 1 0 29.0059 32.9156 30.002 0 0 -1 0.866 8 6 6 0 +3580 0 1 0 29.506 33.7818 30.002 0 0 -1 0.866 8 6 6 0 +3581 0 1 0 30.0061 32.9156 30.002 0 0 -1 0.866 8 6 6 0 +3582 0 1 0 30.5062 33.7818 30.002 0 0 -1 0.866 8 6 6 0 +3583 0 1 0 31.0063 32.9156 30.002 0 0 -1 0.866 8 6 6 0 +3584 0 1 0 31.5064 33.7818 30.002 0 0 -1 0.866 8 6 6 0 +3585 0 1 0 32.0065 32.9156 30.002 0 0 -1 0.866 8 6 6 0 +3586 0 1 0 32.5066 33.7818 30.002 0 0 -1 0.866 8 6 6 0 +3587 0 1 0 33.0067 32.9156 30.002 0 0 -1 0.866 8 6 6 0 +3588 0 1 0 33.5068 33.7818 30.002 0 0 -1 0.866 8 6 6 0 +3589 0 1 0 34.0069 32.9156 30.002 0 0 -1 0.866 8 6 6 0 +3590 0 1 0 34.507 33.7818 30.002 0 0 -1 0.866 8 6 6 0 +3591 0 1 0 35.0071 32.9156 30.002 0 0 -1 0.866 8 6 6 0 +3592 0 1 0 35.5072 33.7818 30.002 0 0 -1 0.866 8 6 6 0 +3593 0 1 0 36.0073 32.9156 30.002 0 0 -1 0.866 8 6 6 0 +3594 0 1 0 36.5074 33.7818 30.002 0 0 -1 0.866 8 6 6 0 +3595 0 1 0 37.0075 32.9156 30.002 0 0 -1 0.866 8 6 6 0 +3596 0 1 0 37.5076 33.7818 30.002 0 0 -1 0.866 8 6 6 0 +3597 0 1 0 38.0077 32.9156 30.002 0 0 -1 0.866 8 6 6 0 +3598 0 1 0 38.5078 33.7818 30.002 0 0 -1 0.866 8 6 6 0 +3599 0 1 0 39.0079 32.9156 30.002 0 0 -1 0.866 8 6 6 0 +3600 0 1 0 39.508 33.7818 30.002 0 0 -1 0.866 8 6 6 0 +3601 0 1 0 0 34.648 30.002 0 0 -1 0.866 8 6 6 0 +3602 0 1 0 0.500101 35.5142 30.002 0 0 -1 0.866 8 6 6 0 +3603 0 1 0 1.0002 34.648 30.002 0 0 -1 0.866 8 6 6 0 +3604 0 1 0 1.5003 35.5142 30.002 0 0 -1 0.866 8 6 6 0 +3605 0 1 0 2.0004 34.648 30.002 0 0 -1 0.866 8 6 6 0 +3606 0 1 0 2.50051 35.5142 30.002 0 0 -1 0.866 8 6 6 0 +3607 0 1 0 3.00061 34.648 30.002 0 0 -1 0.866 8 6 6 0 +3608 0 1 0 3.50071 35.5142 30.002 0 0 -1 0.866 8 6 6 0 +3609 0 1 0 4.00081 34.648 30.002 0 0 -1 0.866 8 6 6 0 +3610 0 1 0 4.50091 35.5142 30.002 0 0 -1 0.866 8 6 6 0 +3611 0 1 0 5.00101 34.648 30.002 0 0 -1 0.866 8 6 6 0 +3612 0 1 0 5.50111 35.5142 30.002 0 0 -1 0.866 8 6 6 0 +3613 0 1 0 6.00121 34.648 30.002 0 0 -1 0.866 8 6 6 0 +3614 0 1 0 6.50132 35.5142 30.002 0 0 -1 0.866 8 6 6 0 +3615 0 1 0 7.00142 34.648 30.002 0 0 -1 0.866 8 6 6 0 +3616 0 1 0 7.50152 35.5142 30.002 0 0 -1 0.866 8 6 6 0 +3617 0 1 0 8.00162 34.648 30.002 0 0 -1 0.866 8 6 6 0 +3618 0 1 0 8.50172 35.5142 30.002 0 0 -1 0.866 8 6 6 0 +3619 0 1 0 9.00182 34.648 30.002 0 0 -1 0.866 8 6 6 0 +3620 0 1 0 9.50192 35.5142 30.002 0 0 -1 0.866 8 6 6 0 +3621 0 1 0 10.002 34.648 30.002 0 0 -1 0.866 8 6 6 0 +3622 0 1 0 10.5021 35.5142 30.002 0 0 -1 0.866 8 6 6 0 +3623 0 1 0 11.0022 34.648 30.002 0 0 -1 0.866 8 6 6 0 +3624 0 1 0 11.5023 35.5142 30.002 0 0 -1 0.866 8 6 6 0 +3625 0 1 0 12.0024 34.648 30.002 0 0 -1 0.866 8 6 6 0 +3626 0 1 0 12.5025 35.5142 30.002 0 0 -1 0.866 8 6 6 0 +3627 0 1 0 13.0026 34.648 30.002 0 0 -1 0.866 8 6 6 0 +3628 0 1 0 13.5027 35.5142 30.002 0 0 -1 0.866 8 6 6 0 +3629 0 1 0 14.0028 34.648 30.002 0 0 -1 0.866 8 6 6 0 +3630 0 1 0 14.5029 35.5142 30.002 0 0 -1 0.866 8 6 6 0 +3631 0 1 0 15.003 34.648 30.002 0 0 -1 0.866 8 6 6 0 +3632 0 1 0 15.5031 35.5142 30.002 0 0 -1 0.866 8 6 6 0 +3633 0 1 0 16.0032 34.648 30.002 0 0 -1 0.866 8 6 6 0 +3634 0 1 0 16.5033 35.5142 30.002 0 0 -1 0.866 8 6 6 0 +3635 0 1 0 17.0034 34.648 30.002 0 0 -1 0.866 8 6 6 0 +3636 0 1 0 17.5035 35.5142 30.002 0 0 -1 0.866 8 6 6 0 +3637 0 1 0 18.0036 34.648 30.002 0 0 -1 0.866 8 6 6 0 +3638 0 1 0 18.5037 35.5142 30.002 0 0 -1 0.866 8 6 6 0 +3639 0 1 0 19.0038 34.648 30.002 0 0 -1 0.866 8 6 6 0 +3640 0 1 0 19.5039 35.5142 30.002 0 0 -1 0.866 8 6 6 0 +3641 0 1 0 20.004 34.648 30.002 0 0 -1 0.866 8 6 6 0 +3642 0 1 0 20.5041 35.5142 30.002 0 0 -1 0.866 8 6 6 0 +3643 0 1 0 21.0042 34.648 30.002 0 0 -1 0.866 8 6 6 0 +3644 0 1 0 21.5043 35.5142 30.002 0 0 -1 0.866 8 6 6 0 +3645 0 1 0 22.0045 34.648 30.002 0 0 -1 0.866 8 6 6 0 +3646 0 1 0 22.5046 35.5142 30.002 0 0 -1 0.866 8 6 6 0 +3647 0 1 0 23.0047 34.648 30.002 0 0 -1 0.866 8 6 6 0 +3648 0 1 0 23.5048 35.5142 30.002 0 0 -1 0.866 8 6 6 0 +3649 0 1 0 24.0049 34.648 30.002 0 0 -1 0.866 8 6 6 0 +3650 0 1 0 24.505 35.5142 30.002 0 0 -1 0.866 8 6 6 0 +3651 0 1 0 25.0051 34.648 30.002 0 0 -1 0.866 8 6 6 0 +3652 0 1 0 25.5052 35.5142 30.002 0 0 -1 0.866 8 6 6 0 +3653 0 1 0 26.0053 34.648 30.002 0 0 -1 0.866 8 6 6 0 +3654 0 1 0 26.5054 35.5142 30.002 0 0 -1 0.866 8 6 6 0 +3655 0 1 0 27.0055 34.648 30.002 0 0 -1 0.866 8 6 6 0 +3656 0 1 0 27.5056 35.5142 30.002 0 0 -1 0.866 8 6 6 0 +3657 0 1 0 28.0057 34.648 30.002 0 0 -1 0.866 8 6 6 0 +3658 0 1 0 28.5058 35.5142 30.002 0 0 -1 0.866 8 6 6 0 +3659 0 1 0 29.0059 34.648 30.002 0 0 -1 0.866 8 6 6 0 +3660 0 1 0 29.506 35.5142 30.002 0 0 -1 0.866 8 6 6 0 +3661 0 1 0 30.0061 34.648 30.002 0 0 -1 0.866 8 6 6 0 +3662 0 1 0 30.5062 35.5142 30.002 0 0 -1 0.866 8 6 6 0 +3663 0 1 0 31.0063 34.648 30.002 0 0 -1 0.866 8 6 6 0 +3664 0 1 0 31.5064 35.5142 30.002 0 0 -1 0.866 8 6 6 0 +3665 0 1 0 32.0065 34.648 30.002 0 0 -1 0.866 8 6 6 0 +3666 0 1 0 32.5066 35.5142 30.002 0 0 -1 0.866 8 6 6 0 +3667 0 1 0 33.0067 34.648 30.002 0 0 -1 0.866 8 6 6 0 +3668 0 1 0 33.5068 35.5142 30.002 0 0 -1 0.866 8 6 6 0 +3669 0 1 0 34.0069 34.648 30.002 0 0 -1 0.866 8 6 6 0 +3670 0 1 0 34.507 35.5142 30.002 0 0 -1 0.866 8 6 6 0 +3671 0 1 0 35.0071 34.648 30.002 0 0 -1 0.866 8 6 6 0 +3672 0 1 0 35.5072 35.5142 30.002 0 0 -1 0.866 8 6 6 0 +3673 0 1 0 36.0073 34.648 30.002 0 0 -1 0.866 8 6 6 0 +3674 0 1 0 36.5074 35.5142 30.002 0 0 -1 0.866 8 6 6 0 +3675 0 1 0 37.0075 34.648 30.002 0 0 -1 0.866 8 6 6 0 +3676 0 1 0 37.5076 35.5142 30.002 0 0 -1 0.866 8 6 6 0 +3677 0 1 0 38.0077 34.648 30.002 0 0 -1 0.866 8 6 6 0 +3678 0 1 0 38.5078 35.5142 30.002 0 0 -1 0.866 8 6 6 0 +3679 0 1 0 39.0079 34.648 30.002 0 0 -1 0.866 8 6 6 0 +3680 0 1 0 39.508 35.5142 30.002 0 0 -1 0.866 8 6 6 0 +3681 0 1 0 0 36.3804 30.002 0 0 -1 0.866 8 6 6 0 +3682 0 1 0 0.500101 37.2466 30.002 0 0 -1 0.866 8 6 6 0 +3683 0 1 0 1.0002 36.3804 30.002 0 0 -1 0.866 8 6 6 0 +3684 0 1 0 1.5003 37.2466 30.002 0 0 -1 0.866 8 6 6 0 +3685 0 1 0 2.0004 36.3804 30.002 0 0 -1 0.866 8 6 6 0 +3686 0 1 0 2.50051 37.2466 30.002 0 0 -1 0.866 8 6 6 0 +3687 0 1 0 3.00061 36.3804 30.002 0 0 -1 0.866 8 6 6 0 +3688 0 1 0 3.50071 37.2466 30.002 0 0 -1 0.866 8 6 6 0 +3689 0 1 0 4.00081 36.3804 30.002 0 0 -1 0.866 8 6 6 0 +3690 0 1 0 4.50091 37.2466 30.002 0 0 -1 0.866 8 6 6 0 +3691 0 1 0 5.00101 36.3804 30.002 0 0 -1 0.866 8 6 6 0 +3692 0 1 0 5.50111 37.2466 30.002 0 0 -1 0.866 8 6 6 0 +3693 0 1 0 6.00121 36.3804 30.002 0 0 -1 0.866 8 6 6 0 +3694 0 1 0 6.50132 37.2466 30.002 0 0 -1 0.866 8 6 6 0 +3695 0 1 0 7.00142 36.3804 30.002 0 0 -1 0.866 8 6 6 0 +3696 0 1 0 7.50152 37.2466 30.002 0 0 -1 0.866 8 6 6 0 +3697 0 1 0 8.00162 36.3804 30.002 0 0 -1 0.866 8 6 6 0 +3698 0 1 0 8.50172 37.2466 30.002 0 0 -1 0.866 8 6 6 0 +3699 0 1 0 9.00182 36.3804 30.002 0 0 -1 0.866 8 6 6 0 +3700 0 1 0 9.50192 37.2466 30.002 0 0 -1 0.866 8 6 6 0 +3701 0 1 0 10.002 36.3804 30.002 0 0 -1 0.866 8 6 6 0 +3702 0 1 0 10.5021 37.2466 30.002 0 0 -1 0.866 8 6 6 0 +3703 0 1 0 11.0022 36.3804 30.002 0 0 -1 0.866 8 6 6 0 +3704 0 1 0 11.5023 37.2466 30.002 0 0 -1 0.866 8 6 6 0 +3705 0 1 0 12.0024 36.3804 30.002 0 0 -1 0.866 8 6 6 0 +3706 0 1 0 12.5025 37.2466 30.002 0 0 -1 0.866 8 6 6 0 +3707 0 1 0 13.0026 36.3804 30.002 0 0 -1 0.866 8 6 6 0 +3708 0 1 0 13.5027 37.2466 30.002 0 0 -1 0.866 8 6 6 0 +3709 0 1 0 14.0028 36.3804 30.002 0 0 -1 0.866 8 6 6 0 +3710 0 1 0 14.5029 37.2466 30.002 0 0 -1 0.866 8 6 6 0 +3711 0 1 0 15.003 36.3804 30.002 0 0 -1 0.866 8 6 6 0 +3712 0 1 0 15.5031 37.2466 30.002 0 0 -1 0.866 8 6 6 0 +3713 0 1 0 16.0032 36.3804 30.002 0 0 -1 0.866 8 6 6 0 +3714 0 1 0 16.5033 37.2466 30.002 0 0 -1 0.866 8 6 6 0 +3715 0 1 0 17.0034 36.3804 30.002 0 0 -1 0.866 8 6 6 0 +3716 0 1 0 17.5035 37.2466 30.002 0 0 -1 0.866 8 6 6 0 +3717 0 1 0 18.0036 36.3804 30.002 0 0 -1 0.866 8 6 6 0 +3718 0 1 0 18.5037 37.2466 30.002 0 0 -1 0.866 8 6 6 0 +3719 0 1 0 19.0038 36.3804 30.002 0 0 -1 0.866 8 6 6 0 +3720 0 1 0 19.5039 37.2466 30.002 0 0 -1 0.866 8 6 6 0 +3721 0 1 0 20.004 36.3804 30.002 0 0 -1 0.866 8 6 6 0 +3722 0 1 0 20.5041 37.2466 30.002 0 0 -1 0.866 8 6 6 0 +3723 0 1 0 21.0042 36.3804 30.002 0 0 -1 0.866 8 6 6 0 +3724 0 1 0 21.5043 37.2466 30.002 0 0 -1 0.866 8 6 6 0 +3725 0 1 0 22.0045 36.3804 30.002 0 0 -1 0.866 8 6 6 0 +3726 0 1 0 22.5046 37.2466 30.002 0 0 -1 0.866 8 6 6 0 +3727 0 1 0 23.0047 36.3804 30.002 0 0 -1 0.866 8 6 6 0 +3728 0 1 0 23.5048 37.2466 30.002 0 0 -1 0.866 8 6 6 0 +3729 0 1 0 24.0049 36.3804 30.002 0 0 -1 0.866 8 6 6 0 +3730 0 1 0 24.505 37.2466 30.002 0 0 -1 0.866 8 6 6 0 +3731 0 1 0 25.0051 36.3804 30.002 0 0 -1 0.866 8 6 6 0 +3732 0 1 0 25.5052 37.2466 30.002 0 0 -1 0.866 8 6 6 0 +3733 0 1 0 26.0053 36.3804 30.002 0 0 -1 0.866 8 6 6 0 +3734 0 1 0 26.5054 37.2466 30.002 0 0 -1 0.866 8 6 6 0 +3735 0 1 0 27.0055 36.3804 30.002 0 0 -1 0.866 8 6 6 0 +3736 0 1 0 27.5056 37.2466 30.002 0 0 -1 0.866 8 6 6 0 +3737 0 1 0 28.0057 36.3804 30.002 0 0 -1 0.866 8 6 6 0 +3738 0 1 0 28.5058 37.2466 30.002 0 0 -1 0.866 8 6 6 0 +3739 0 1 0 29.0059 36.3804 30.002 0 0 -1 0.866 8 6 6 0 +3740 0 1 0 29.506 37.2466 30.002 0 0 -1 0.866 8 6 6 0 +3741 0 1 0 30.0061 36.3804 30.002 0 0 -1 0.866 8 6 6 0 +3742 0 1 0 30.5062 37.2466 30.002 0 0 -1 0.866 8 6 6 0 +3743 0 1 0 31.0063 36.3804 30.002 0 0 -1 0.866 8 6 6 0 +3744 0 1 0 31.5064 37.2466 30.002 0 0 -1 0.866 8 6 6 0 +3745 0 1 0 32.0065 36.3804 30.002 0 0 -1 0.866 8 6 6 0 +3746 0 1 0 32.5066 37.2466 30.002 0 0 -1 0.866 8 6 6 0 +3747 0 1 0 33.0067 36.3804 30.002 0 0 -1 0.866 8 6 6 0 +3748 0 1 0 33.5068 37.2466 30.002 0 0 -1 0.866 8 6 6 0 +3749 0 1 0 34.0069 36.3804 30.002 0 0 -1 0.866 8 6 6 0 +3750 0 1 0 34.507 37.2466 30.002 0 0 -1 0.866 8 6 6 0 +3751 0 1 0 35.0071 36.3804 30.002 0 0 -1 0.866 8 6 6 0 +3752 0 1 0 35.5072 37.2466 30.002 0 0 -1 0.866 8 6 6 0 +3753 0 1 0 36.0073 36.3804 30.002 0 0 -1 0.866 8 6 6 0 +3754 0 1 0 36.5074 37.2466 30.002 0 0 -1 0.866 8 6 6 0 +3755 0 1 0 37.0075 36.3804 30.002 0 0 -1 0.866 8 6 6 0 +3756 0 1 0 37.5076 37.2466 30.002 0 0 -1 0.866 8 6 6 0 +3757 0 1 0 38.0077 36.3804 30.002 0 0 -1 0.866 8 6 6 0 +3758 0 1 0 38.5078 37.2466 30.002 0 0 -1 0.866 8 6 6 0 +3759 0 1 0 39.0079 36.3804 30.002 0 0 -1 0.866 8 6 6 0 +3760 0 1 0 39.508 37.2466 30.002 0 0 -1 0.866 8 6 6 0 +3761 0 1 0 0 38.1128 30.002 0 0 -1 0.866 8 6 6 0 +3762 0 1 0 0.500101 38.979 30.002 0 0 -1 0.866 8 6 6 0 +3763 0 1 0 1.0002 38.1128 30.002 0 0 -1 0.866 8 6 6 0 +3764 0 1 0 1.5003 38.979 30.002 0 0 -1 0.866 8 6 6 0 +3765 0 1 0 2.0004 38.1128 30.002 0 0 -1 0.866 8 6 6 0 +3766 0 1 0 2.50051 38.979 30.002 0 0 -1 0.866 8 6 6 0 +3767 0 1 0 3.00061 38.1128 30.002 0 0 -1 0.866 8 6 6 0 +3768 0 1 0 3.50071 38.979 30.002 0 0 -1 0.866 8 6 6 0 +3769 0 1 0 4.00081 38.1128 30.002 0 0 -1 0.866 8 6 6 0 +3770 0 1 0 4.50091 38.979 30.002 0 0 -1 0.866 8 6 6 0 +3771 0 1 0 5.00101 38.1128 30.002 0 0 -1 0.866 8 6 6 0 +3772 0 1 0 5.50111 38.979 30.002 0 0 -1 0.866 8 6 6 0 +3773 0 1 0 6.00121 38.1128 30.002 0 0 -1 0.866 8 6 6 0 +3774 0 1 0 6.50132 38.979 30.002 0 0 -1 0.866 8 6 6 0 +3775 0 1 0 7.00142 38.1128 30.002 0 0 -1 0.866 8 6 6 0 +3776 0 1 0 7.50152 38.979 30.002 0 0 -1 0.866 8 6 6 0 +3777 0 1 0 8.00162 38.1128 30.002 0 0 -1 0.866 8 6 6 0 +3778 0 1 0 8.50172 38.979 30.002 0 0 -1 0.866 8 6 6 0 +3779 0 1 0 9.00182 38.1128 30.002 0 0 -1 0.866 8 6 6 0 +3780 0 1 0 9.50192 38.979 30.002 0 0 -1 0.866 8 6 6 0 +3781 0 1 0 10.002 38.1128 30.002 0 0 -1 0.866 8 6 6 0 +3782 0 1 0 10.5021 38.979 30.002 0 0 -1 0.866 8 6 6 0 +3783 0 1 0 11.0022 38.1128 30.002 0 0 -1 0.866 8 6 6 0 +3784 0 1 0 11.5023 38.979 30.002 0 0 -1 0.866 8 6 6 0 +3785 0 1 0 12.0024 38.1128 30.002 0 0 -1 0.866 8 6 6 0 +3786 0 1 0 12.5025 38.979 30.002 0 0 -1 0.866 8 6 6 0 +3787 0 1 0 13.0026 38.1128 30.002 0 0 -1 0.866 8 6 6 0 +3788 0 1 0 13.5027 38.979 30.002 0 0 -1 0.866 8 6 6 0 +3789 0 1 0 14.0028 38.1128 30.002 0 0 -1 0.866 8 6 6 0 +3790 0 1 0 14.5029 38.979 30.002 0 0 -1 0.866 8 6 6 0 +3791 0 1 0 15.003 38.1128 30.002 0 0 -1 0.866 8 6 6 0 +3792 0 1 0 15.5031 38.979 30.002 0 0 -1 0.866 8 6 6 0 +3793 0 1 0 16.0032 38.1128 30.002 0 0 -1 0.866 8 6 6 0 +3794 0 1 0 16.5033 38.979 30.002 0 0 -1 0.866 8 6 6 0 +3795 0 1 0 17.0034 38.1128 30.002 0 0 -1 0.866 8 6 6 0 +3796 0 1 0 17.5035 38.979 30.002 0 0 -1 0.866 8 6 6 0 +3797 0 1 0 18.0036 38.1128 30.002 0 0 -1 0.866 8 6 6 0 +3798 0 1 0 18.5037 38.979 30.002 0 0 -1 0.866 8 6 6 0 +3799 0 1 0 19.0038 38.1128 30.002 0 0 -1 0.866 8 6 6 0 +3800 0 1 0 19.5039 38.979 30.002 0 0 -1 0.866 8 6 6 0 +3801 0 1 0 20.004 38.1128 30.002 0 0 -1 0.866 8 6 6 0 +3802 0 1 0 20.5041 38.979 30.002 0 0 -1 0.866 8 6 6 0 +3803 0 1 0 21.0042 38.1128 30.002 0 0 -1 0.866 8 6 6 0 +3804 0 1 0 21.5043 38.979 30.002 0 0 -1 0.866 8 6 6 0 +3805 0 1 0 22.0045 38.1128 30.002 0 0 -1 0.866 8 6 6 0 +3806 0 1 0 22.5046 38.979 30.002 0 0 -1 0.866 8 6 6 0 +3807 0 1 0 23.0047 38.1128 30.002 0 0 -1 0.866 8 6 6 0 +3808 0 1 0 23.5048 38.979 30.002 0 0 -1 0.866 8 6 6 0 +3809 0 1 0 24.0049 38.1128 30.002 0 0 -1 0.866 8 6 6 0 +3810 0 1 0 24.505 38.979 30.002 0 0 -1 0.866 8 6 6 0 +3811 0 1 0 25.0051 38.1128 30.002 0 0 -1 0.866 8 6 6 0 +3812 0 1 0 25.5052 38.979 30.002 0 0 -1 0.866 8 6 6 0 +3813 0 1 0 26.0053 38.1128 30.002 0 0 -1 0.866 8 6 6 0 +3814 0 1 0 26.5054 38.979 30.002 0 0 -1 0.866 8 6 6 0 +3815 0 1 0 27.0055 38.1128 30.002 0 0 -1 0.866 8 6 6 0 +3816 0 1 0 27.5056 38.979 30.002 0 0 -1 0.866 8 6 6 0 +3817 0 1 0 28.0057 38.1128 30.002 0 0 -1 0.866 8 6 6 0 +3818 0 1 0 28.5058 38.979 30.002 0 0 -1 0.866 8 6 6 0 +3819 0 1 0 29.0059 38.1128 30.002 0 0 -1 0.866 8 6 6 0 +3820 0 1 0 29.506 38.979 30.002 0 0 -1 0.866 8 6 6 0 +3821 0 1 0 30.0061 38.1128 30.002 0 0 -1 0.866 8 6 6 0 +3822 0 1 0 30.5062 38.979 30.002 0 0 -1 0.866 8 6 6 0 +3823 0 1 0 31.0063 38.1128 30.002 0 0 -1 0.866 8 6 6 0 +3824 0 1 0 31.5064 38.979 30.002 0 0 -1 0.866 8 6 6 0 +3825 0 1 0 32.0065 38.1128 30.002 0 0 -1 0.866 8 6 6 0 +3826 0 1 0 32.5066 38.979 30.002 0 0 -1 0.866 8 6 6 0 +3827 0 1 0 33.0067 38.1128 30.002 0 0 -1 0.866 8 6 6 0 +3828 0 1 0 33.5068 38.979 30.002 0 0 -1 0.866 8 6 6 0 +3829 0 1 0 34.0069 38.1128 30.002 0 0 -1 0.866 8 6 6 0 +3830 0 1 0 34.507 38.979 30.002 0 0 -1 0.866 8 6 6 0 +3831 0 1 0 35.0071 38.1128 30.002 0 0 -1 0.866 8 6 6 0 +3832 0 1 0 35.5072 38.979 30.002 0 0 -1 0.866 8 6 6 0 +3833 0 1 0 36.0073 38.1128 30.002 0 0 -1 0.866 8 6 6 0 +3834 0 1 0 36.5074 38.979 30.002 0 0 -1 0.866 8 6 6 0 +3835 0 1 0 37.0075 38.1128 30.002 0 0 -1 0.866 8 6 6 0 +3836 0 1 0 37.5076 38.979 30.002 0 0 -1 0.866 8 6 6 0 +3837 0 1 0 38.0077 38.1128 30.002 0 0 -1 0.866 8 6 6 0 +3838 0 1 0 38.5078 38.979 30.002 0 0 -1 0.866 8 6 6 0 +3839 0 1 0 39.0079 38.1128 30.002 0 0 -1 0.866 8 6 6 0 +3840 0 1 0 39.508 38.979 30.002 0 0 -1 0.866 8 6 6 0 +3841 0 1 0 0 39.8452 30.002 0 0 -1 0.866 8 6 6 0 +3842 0 1 0 0.500101 40.7114 30.002 0 0 -1 0.866 8 6 6 0 +3843 0 1 0 1.0002 39.8452 30.002 0 0 -1 0.866 8 6 6 0 +3844 0 1 0 1.5003 40.7114 30.002 0 0 -1 0.866 8 6 6 0 +3845 0 1 0 2.0004 39.8452 30.002 0 0 -1 0.866 8 6 6 0 +3846 0 1 0 2.50051 40.7114 30.002 0 0 -1 0.866 8 6 6 0 +3847 0 1 0 3.00061 39.8452 30.002 0 0 -1 0.866 8 6 6 0 +3848 0 1 0 3.50071 40.7114 30.002 0 0 -1 0.866 8 6 6 0 +3849 0 1 0 4.00081 39.8452 30.002 0 0 -1 0.866 8 6 6 0 +3850 0 1 0 4.50091 40.7114 30.002 0 0 -1 0.866 8 6 6 0 +3851 0 1 0 5.00101 39.8452 30.002 0 0 -1 0.866 8 6 6 0 +3852 0 1 0 5.50111 40.7114 30.002 0 0 -1 0.866 8 6 6 0 +3853 0 1 0 6.00121 39.8452 30.002 0 0 -1 0.866 8 6 6 0 +3854 0 1 0 6.50132 40.7114 30.002 0 0 -1 0.866 8 6 6 0 +3855 0 1 0 7.00142 39.8452 30.002 0 0 -1 0.866 8 6 6 0 +3856 0 1 0 7.50152 40.7114 30.002 0 0 -1 0.866 8 6 6 0 +3857 0 1 0 8.00162 39.8452 30.002 0 0 -1 0.866 8 6 6 0 +3858 0 1 0 8.50172 40.7114 30.002 0 0 -1 0.866 8 6 6 0 +3859 0 1 0 9.00182 39.8452 30.002 0 0 -1 0.866 8 6 6 0 +3860 0 1 0 9.50192 40.7114 30.002 0 0 -1 0.866 8 6 6 0 +3861 0 1 0 10.002 39.8452 30.002 0 0 -1 0.866 8 6 6 0 +3862 0 1 0 10.5021 40.7114 30.002 0 0 -1 0.866 8 6 6 0 +3863 0 1 0 11.0022 39.8452 30.002 0 0 -1 0.866 8 6 6 0 +3864 0 1 0 11.5023 40.7114 30.002 0 0 -1 0.866 8 6 6 0 +3865 0 1 0 12.0024 39.8452 30.002 0 0 -1 0.866 8 6 6 0 +3866 0 1 0 12.5025 40.7114 30.002 0 0 -1 0.866 8 6 6 0 +3867 0 1 0 13.0026 39.8452 30.002 0 0 -1 0.866 8 6 6 0 +3868 0 1 0 13.5027 40.7114 30.002 0 0 -1 0.866 8 6 6 0 +3869 0 1 0 14.0028 39.8452 30.002 0 0 -1 0.866 8 6 6 0 +3870 0 1 0 14.5029 40.7114 30.002 0 0 -1 0.866 8 6 6 0 +3871 0 1 0 15.003 39.8452 30.002 0 0 -1 0.866 8 6 6 0 +3872 0 1 0 15.5031 40.7114 30.002 0 0 -1 0.866 8 6 6 0 +3873 0 1 0 16.0032 39.8452 30.002 0 0 -1 0.866 8 6 6 0 +3874 0 1 0 16.5033 40.7114 30.002 0 0 -1 0.866 8 6 6 0 +3875 0 1 0 17.0034 39.8452 30.002 0 0 -1 0.866 8 6 6 0 +3876 0 1 0 17.5035 40.7114 30.002 0 0 -1 0.866 8 6 6 0 +3877 0 1 0 18.0036 39.8452 30.002 0 0 -1 0.866 8 6 6 0 +3878 0 1 0 18.5037 40.7114 30.002 0 0 -1 0.866 8 6 6 0 +3879 0 1 0 19.0038 39.8452 30.002 0 0 -1 0.866 8 6 6 0 +3880 0 1 0 19.5039 40.7114 30.002 0 0 -1 0.866 8 6 6 0 +3881 0 1 0 20.004 39.8452 30.002 0 0 -1 0.866 8 6 6 0 +3882 0 1 0 20.5041 40.7114 30.002 0 0 -1 0.866 8 6 6 0 +3883 0 1 0 21.0042 39.8452 30.002 0 0 -1 0.866 8 6 6 0 +3884 0 1 0 21.5043 40.7114 30.002 0 0 -1 0.866 8 6 6 0 +3885 0 1 0 22.0045 39.8452 30.002 0 0 -1 0.866 8 6 6 0 +3886 0 1 0 22.5046 40.7114 30.002 0 0 -1 0.866 8 6 6 0 +3887 0 1 0 23.0047 39.8452 30.002 0 0 -1 0.866 8 6 6 0 +3888 0 1 0 23.5048 40.7114 30.002 0 0 -1 0.866 8 6 6 0 +3889 0 1 0 24.0049 39.8452 30.002 0 0 -1 0.866 8 6 6 0 +3890 0 1 0 24.505 40.7114 30.002 0 0 -1 0.866 8 6 6 0 +3891 0 1 0 25.0051 39.8452 30.002 0 0 -1 0.866 8 6 6 0 +3892 0 1 0 25.5052 40.7114 30.002 0 0 -1 0.866 8 6 6 0 +3893 0 1 0 26.0053 39.8452 30.002 0 0 -1 0.866 8 6 6 0 +3894 0 1 0 26.5054 40.7114 30.002 0 0 -1 0.866 8 6 6 0 +3895 0 1 0 27.0055 39.8452 30.002 0 0 -1 0.866 8 6 6 0 +3896 0 1 0 27.5056 40.7114 30.002 0 0 -1 0.866 8 6 6 0 +3897 0 1 0 28.0057 39.8452 30.002 0 0 -1 0.866 8 6 6 0 +3898 0 1 0 28.5058 40.7114 30.002 0 0 -1 0.866 8 6 6 0 +3899 0 1 0 29.0059 39.8452 30.002 0 0 -1 0.866 8 6 6 0 +3900 0 1 0 29.506 40.7114 30.002 0 0 -1 0.866 8 6 6 0 +3901 0 1 0 30.0061 39.8452 30.002 0 0 -1 0.866 8 6 6 0 +3902 0 1 0 30.5062 40.7114 30.002 0 0 -1 0.866 8 6 6 0 +3903 0 1 0 31.0063 39.8452 30.002 0 0 -1 0.866 8 6 6 0 +3904 0 1 0 31.5064 40.7114 30.002 0 0 -1 0.866 8 6 6 0 +3905 0 1 0 32.0065 39.8452 30.002 0 0 -1 0.866 8 6 6 0 +3906 0 1 0 32.5066 40.7114 30.002 0 0 -1 0.866 8 6 6 0 +3907 0 1 0 33.0067 39.8452 30.002 0 0 -1 0.866 8 6 6 0 +3908 0 1 0 33.5068 40.7114 30.002 0 0 -1 0.866 8 6 6 0 +3909 0 1 0 34.0069 39.8452 30.002 0 0 -1 0.866 8 6 6 0 +3910 0 1 0 34.507 40.7114 30.002 0 0 -1 0.866 8 6 6 0 +3911 0 1 0 35.0071 39.8452 30.002 0 0 -1 0.866 8 6 6 0 +3912 0 1 0 35.5072 40.7114 30.002 0 0 -1 0.866 8 6 6 0 +3913 0 1 0 36.0073 39.8452 30.002 0 0 -1 0.866 8 6 6 0 +3914 0 1 0 36.5074 40.7114 30.002 0 0 -1 0.866 8 6 6 0 +3915 0 1 0 37.0075 39.8452 30.002 0 0 -1 0.866 8 6 6 0 +3916 0 1 0 37.5076 40.7114 30.002 0 0 -1 0.866 8 6 6 0 +3917 0 1 0 38.0077 39.8452 30.002 0 0 -1 0.866 8 6 6 0 +3918 0 1 0 38.5078 40.7114 30.002 0 0 -1 0.866 8 6 6 0 +3919 0 1 0 39.0079 39.8452 30.002 0 0 -1 0.866 8 6 6 0 +3920 0 1 0 39.508 40.7114 30.002 0 0 -1 0.866 8 6 6 0 +3921 0 1 0 0 41.5776 30.002 0 0 -1 0.866 8 6 6 0 +3922 0 1 0 0.500101 42.4438 30.002 0 0 -1 0.866 8 6 6 0 +3923 0 1 0 1.0002 41.5776 30.002 0 0 -1 0.866 8 6 6 0 +3924 0 1 0 1.5003 42.4438 30.002 0 0 -1 0.866 8 6 6 0 +3925 0 1 0 2.0004 41.5776 30.002 0 0 -1 0.866 8 6 6 0 +3926 0 1 0 2.50051 42.4438 30.002 0 0 -1 0.866 8 6 6 0 +3927 0 1 0 3.00061 41.5776 30.002 0 0 -1 0.866 8 6 6 0 +3928 0 1 0 3.50071 42.4438 30.002 0 0 -1 0.866 8 6 6 0 +3929 0 1 0 4.00081 41.5776 30.002 0 0 -1 0.866 8 6 6 0 +3930 0 1 0 4.50091 42.4438 30.002 0 0 -1 0.866 8 6 6 0 +3931 0 1 0 5.00101 41.5776 30.002 0 0 -1 0.866 8 6 6 0 +3932 0 1 0 5.50111 42.4438 30.002 0 0 -1 0.866 8 6 6 0 +3933 0 1 0 6.00121 41.5776 30.002 0 0 -1 0.866 8 6 6 0 +3934 0 1 0 6.50132 42.4438 30.002 0 0 -1 0.866 8 6 6 0 +3935 0 1 0 7.00142 41.5776 30.002 0 0 -1 0.866 8 6 6 0 +3936 0 1 0 7.50152 42.4438 30.002 0 0 -1 0.866 8 6 6 0 +3937 0 1 0 8.00162 41.5776 30.002 0 0 -1 0.866 8 6 6 0 +3938 0 1 0 8.50172 42.4438 30.002 0 0 -1 0.866 8 6 6 0 +3939 0 1 0 9.00182 41.5776 30.002 0 0 -1 0.866 8 6 6 0 +3940 0 1 0 9.50192 42.4438 30.002 0 0 -1 0.866 8 6 6 0 +3941 0 1 0 10.002 41.5776 30.002 0 0 -1 0.866 8 6 6 0 +3942 0 1 0 10.5021 42.4438 30.002 0 0 -1 0.866 8 6 6 0 +3943 0 1 0 11.0022 41.5776 30.002 0 0 -1 0.866 8 6 6 0 +3944 0 1 0 11.5023 42.4438 30.002 0 0 -1 0.866 8 6 6 0 +3945 0 1 0 12.0024 41.5776 30.002 0 0 -1 0.866 8 6 6 0 +3946 0 1 0 12.5025 42.4438 30.002 0 0 -1 0.866 8 6 6 0 +3947 0 1 0 13.0026 41.5776 30.002 0 0 -1 0.866 8 6 6 0 +3948 0 1 0 13.5027 42.4438 30.002 0 0 -1 0.866 8 6 6 0 +3949 0 1 0 14.0028 41.5776 30.002 0 0 -1 0.866 8 6 6 0 +3950 0 1 0 14.5029 42.4438 30.002 0 0 -1 0.866 8 6 6 0 +3951 0 1 0 15.003 41.5776 30.002 0 0 -1 0.866 8 6 6 0 +3952 0 1 0 15.5031 42.4438 30.002 0 0 -1 0.866 8 6 6 0 +3953 0 1 0 16.0032 41.5776 30.002 0 0 -1 0.866 8 6 6 0 +3954 0 1 0 16.5033 42.4438 30.002 0 0 -1 0.866 8 6 6 0 +3955 0 1 0 17.0034 41.5776 30.002 0 0 -1 0.866 8 6 6 0 +3956 0 1 0 17.5035 42.4438 30.002 0 0 -1 0.866 8 6 6 0 +3957 0 1 0 18.0036 41.5776 30.002 0 0 -1 0.866 8 6 6 0 +3958 0 1 0 18.5037 42.4438 30.002 0 0 -1 0.866 8 6 6 0 +3959 0 1 0 19.0038 41.5776 30.002 0 0 -1 0.866 8 6 6 0 +3960 0 1 0 19.5039 42.4438 30.002 0 0 -1 0.866 8 6 6 0 +3961 0 1 0 20.004 41.5776 30.002 0 0 -1 0.866 8 6 6 0 +3962 0 1 0 20.5041 42.4438 30.002 0 0 -1 0.866 8 6 6 0 +3963 0 1 0 21.0042 41.5776 30.002 0 0 -1 0.866 8 6 6 0 +3964 0 1 0 21.5043 42.4438 30.002 0 0 -1 0.866 8 6 6 0 +3965 0 1 0 22.0045 41.5776 30.002 0 0 -1 0.866 8 6 6 0 +3966 0 1 0 22.5046 42.4438 30.002 0 0 -1 0.866 8 6 6 0 +3967 0 1 0 23.0047 41.5776 30.002 0 0 -1 0.866 8 6 6 0 +3968 0 1 0 23.5048 42.4438 30.002 0 0 -1 0.866 8 6 6 0 +3969 0 1 0 24.0049 41.5776 30.002 0 0 -1 0.866 8 6 6 0 +3970 0 1 0 24.505 42.4438 30.002 0 0 -1 0.866 8 6 6 0 +3971 0 1 0 25.0051 41.5776 30.002 0 0 -1 0.866 8 6 6 0 +3972 0 1 0 25.5052 42.4438 30.002 0 0 -1 0.866 8 6 6 0 +3973 0 1 0 26.0053 41.5776 30.002 0 0 -1 0.866 8 6 6 0 +3974 0 1 0 26.5054 42.4438 30.002 0 0 -1 0.866 8 6 6 0 +3975 0 1 0 27.0055 41.5776 30.002 0 0 -1 0.866 8 6 6 0 +3976 0 1 0 27.5056 42.4438 30.002 0 0 -1 0.866 8 6 6 0 +3977 0 1 0 28.0057 41.5776 30.002 0 0 -1 0.866 8 6 6 0 +3978 0 1 0 28.5058 42.4438 30.002 0 0 -1 0.866 8 6 6 0 +3979 0 1 0 29.0059 41.5776 30.002 0 0 -1 0.866 8 6 6 0 +3980 0 1 0 29.506 42.4438 30.002 0 0 -1 0.866 8 6 6 0 +3981 0 1 0 30.0061 41.5776 30.002 0 0 -1 0.866 8 6 6 0 +3982 0 1 0 30.5062 42.4438 30.002 0 0 -1 0.866 8 6 6 0 +3983 0 1 0 31.0063 41.5776 30.002 0 0 -1 0.866 8 6 6 0 +3984 0 1 0 31.5064 42.4438 30.002 0 0 -1 0.866 8 6 6 0 +3985 0 1 0 32.0065 41.5776 30.002 0 0 -1 0.866 8 6 6 0 +3986 0 1 0 32.5066 42.4438 30.002 0 0 -1 0.866 8 6 6 0 +3987 0 1 0 33.0067 41.5776 30.002 0 0 -1 0.866 8 6 6 0 +3988 0 1 0 33.5068 42.4438 30.002 0 0 -1 0.866 8 6 6 0 +3989 0 1 0 34.0069 41.5776 30.002 0 0 -1 0.866 8 6 6 0 +3990 0 1 0 34.507 42.4438 30.002 0 0 -1 0.866 8 6 6 0 +3991 0 1 0 35.0071 41.5776 30.002 0 0 -1 0.866 8 6 6 0 +3992 0 1 0 35.5072 42.4438 30.002 0 0 -1 0.866 8 6 6 0 +3993 0 1 0 36.0073 41.5776 30.002 0 0 -1 0.866 8 6 6 0 +3994 0 1 0 36.5074 42.4438 30.002 0 0 -1 0.866 8 6 6 0 +3995 0 1 0 37.0075 41.5776 30.002 0 0 -1 0.866 8 6 6 0 +3996 0 1 0 37.5076 42.4438 30.002 0 0 -1 0.866 8 6 6 0 +3997 0 1 0 38.0077 41.5776 30.002 0 0 -1 0.866 8 6 6 0 +3998 0 1 0 38.5078 42.4438 30.002 0 0 -1 0.866 8 6 6 0 +3999 0 1 0 39.0079 41.5776 30.002 0 0 -1 0.866 8 6 6 0 +4000 0 1 0 39.508 42.4438 30.002 0 0 -1 0.866 8 6 6 0 4001 0 2 1 15 20 15 0 0 1 0.866 8 6 10 0 4002 0 3 -1 25 20 25 0 0 1 0.866 8 6 10 0 diff --git a/examples/USER/dielectric/data.sphere b/examples/USER/dielectric/data.sphere index 152d5ff41a..3e98e8211f 100644 --- a/examples/USER/dielectric/data.sphere +++ b/examples/USER/dielectric/data.sphere @@ -16,2567 +16,2567 @@ Masses Atoms # dielectric: id mol type q x y z normx normy normz area_per_patch ed em epsilon curvature -1 1 1 0 50 55.2573 41.4935 0 0.525731 -0.850651 0.490491 45 57.5 1 0 -2 1 1 0 50.4064 55.7206 41.8079 0.0406403 0.572055 -0.819208 0.490491 45 57.5 1 0 -3 1 1 0 49.5936 55.7206 41.8079 -0.0406403 0.572055 -0.819208 0.490491 45 57.5 1 0 -4 1 1 0 50.8109 56.1564 42.1616 0.081086 0.615642 -0.783843 0.490491 45 57.5 1 0 -5 1 1 0 50 56.1768 42.1357 0 0.617676 -0.786433 0.490491 45 57.5 1 0 -6 1 1 0 49.1891 56.1564 42.1616 -0.081086 0.615642 -0.783843 0.490491 45 57.5 1 0 -7 1 1 0 51.2114 56.5628 42.5527 0.121144 0.656282 -0.744727 0.490491 45 57.5 1 0 -8 1 1 0 50.4064 56.6088 42.5061 0.0406418 0.660883 -0.749387 0.490491 45 57.5 1 0 -9 1 1 0 51.6062 56.9378 42.9795 0.160622 0.69378 -0.702047 0.490491 45 57.5 1 0 -10 1 1 0 50.8057 57.0062 42.9103 0.0805729 0.700622 -0.708969 0.490491 45 57.5 1 0 -11 1 1 0 50 57.0291 42.8872 0 0.702907 -0.711282 0.490491 45 57.5 1 0 -12 1 1 0 49.5936 56.6088 42.5061 -0.0406418 0.660883 -0.749387 0.490491 45 57.5 1 0 -13 1 1 0 48.7886 56.5628 42.5527 -0.121144 0.656282 -0.744727 0.490491 45 57.5 1 0 -14 1 1 0 49.1943 57.0062 42.9103 -0.0805729 0.700622 -0.708969 0.490491 45 57.5 1 0 -15 1 1 0 48.3938 56.9378 42.9795 -0.160622 0.69378 -0.702047 0.490491 45 57.5 1 0 -16 1 1 0 51.9933 57.2796 43.4399 0.199331 0.727959 -0.656006 0.490491 45 57.5 1 0 -17 1 1 0 51.2119 57.3889 43.3716 0.121192 0.738887 -0.662842 0.490491 45 57.5 1 0 -18 1 1 0 52.3709 57.5865 43.9317 0.237086 0.758652 -0.606825 0.490491 45 57.5 1 0 -19 1 1 0 51.5961 57.7184 43.8454 0.159613 0.771841 -0.615456 0.490491 45 57.5 1 0 -20 1 1 0 50.8114 57.802 43.7976 0.0811417 0.780205 -0.620239 0.490491 45 57.5 1 0 -21 1 1 0 52.7371 57.8572 44.4526 0.273706 0.785715 -0.55474 0.490491 45 57.5 1 0 -22 1 1 0 51.9727 58.015 44.3549 0.197274 0.801504 -0.564513 0.490491 45 57.5 1 0 -23 1 1 0 53.0902 58.0902 45 0.309017 0.809017 -0.5 0.490491 45 57.5 1 0 -24 1 1 0 52.3345 58.2715 44.888 0.233445 0.827147 -0.511205 0.490491 45 57.5 1 0 -25 1 1 0 51.5643 58.4018 44.8074 0.156434 0.840178 -0.519259 0.490491 45 57.5 1 0 -26 1 1 0 51.1908 58.1217 44.2886 0.119078 0.81217 -0.57114 0.490491 45 57.5 1 0 -27 1 1 0 50.4067 58.1752 44.2554 0.040675 0.817523 -0.574458 0.490491 45 57.5 1 0 -28 1 1 0 50.7846 58.4803 44.7589 0.0784592 0.848029 -0.52411 0.490491 45 57.5 1 0 -29 1 1 0 50 58.5065 44.7427 0 0.850651 -0.525731 0.490491 45 57.5 1 0 -30 1 1 0 48.7881 57.3889 43.3716 -0.121192 0.738887 -0.662842 0.490491 45 57.5 1 0 -31 1 1 0 48.0067 57.2796 43.4399 -0.199331 0.727959 -0.656006 0.490491 45 57.5 1 0 -32 1 1 0 49.1886 57.802 43.7976 -0.0811417 0.780205 -0.620239 0.490491 45 57.5 1 0 -33 1 1 0 48.4039 57.7184 43.8454 -0.159613 0.771841 -0.615456 0.490491 45 57.5 1 0 -34 1 1 0 47.6291 57.5865 43.9317 -0.237086 0.758652 -0.606825 0.490491 45 57.5 1 0 -35 1 1 0 49.5933 58.1752 44.2554 -0.040675 0.817523 -0.574458 0.490491 45 57.5 1 0 -36 1 1 0 48.8092 58.1217 44.2886 -0.119078 0.81217 -0.57114 0.490491 45 57.5 1 0 -37 1 1 0 49.2154 58.4803 44.7589 -0.0784592 0.848029 -0.52411 0.490491 45 57.5 1 0 -38 1 1 0 48.4357 58.4018 44.8074 -0.156434 0.840178 -0.519259 0.490491 45 57.5 1 0 -39 1 1 0 48.0273 58.015 44.3549 -0.197274 0.801504 -0.564513 0.490491 45 57.5 1 0 -40 1 1 0 47.2629 57.8572 44.4526 -0.273706 0.785715 -0.55474 0.490491 45 57.5 1 0 -41 1 1 0 47.6655 58.2715 44.888 -0.233445 0.827147 -0.511205 0.490491 45 57.5 1 0 -42 1 1 0 46.9098 58.0902 45 -0.309017 0.809017 -0.5 0.490491 45 57.5 1 0 -43 1 1 0 50.4068 57.435 43.325 0.0406769 0.743496 -0.667502 0.490491 45 57.5 1 0 -44 1 1 0 50 57.8279 43.7771 0 0.782786 -0.622291 0.490491 45 57.5 1 0 -45 1 1 0 49.5932 57.435 43.325 -0.0406769 0.743496 -0.667502 0.490491 45 57.5 1 0 -46 1 1 0 53.4285 58.2845 45.5713 0.342848 0.828447 -0.442867 0.490491 45 57.5 1 0 -47 1 1 0 52.7469 58.5264 45.5554 0.274694 0.85264 -0.444464 0.490491 45 57.5 1 0 -48 1 1 0 53.7504 58.4391 46.1639 0.375038 0.843912 -0.383614 0.490491 45 57.5 1 0 -49 1 1 0 53.0766 58.6973 46.1409 0.307659 0.869725 -0.385906 0.490491 45 57.5 1 0 -50 1 1 0 52.3868 58.9101 46.1381 0.238677 0.891007 -0.386187 0.490491 45 57.5 1 0 -51 1 1 0 54.0543 58.5534 46.7748 0.405434 0.855337 -0.322525 0.490491 45 57.5 1 0 -52 1 1 0 53.3921 58.8284 46.7514 0.339209 0.882837 -0.324863 0.490491 45 57.5 1 0 -53 1 1 0 54.3389 58.6267 47.4011 0.433888 0.862669 -0.259892 0.490491 45 57.5 1 0 -54 1 1 0 53.6852 58.9174 47.3734 0.368518 0.891742 -0.262661 0.490491 45 57.5 1 0 -55 1 1 0 53.0126 59.1624 47.3592 0.301258 0.916244 -0.264082 0.490491 45 57.5 1 0 -56 1 1 0 52.7063 59.0583 46.7407 0.270627 0.905832 -0.325929 0.490491 45 57.5 1 0 -57 1 1 0 52.0119 59.2388 46.7447 0.201189 0.92388 -0.32553 0.490491 45 57.5 1 0 -58 1 1 0 52.3245 59.3605 47.3585 0.232455 0.93605 -0.264151 0.490491 45 57.5 1 0 -59 1 1 0 51.6246 59.5106 47.3713 0.16246 0.951057 -0.262865 0.490491 45 57.5 1 0 -60 1 1 0 54.6027 58.6587 48.0398 0.460266 0.865871 -0.196015 0.490491 45 57.5 1 0 -61 1 1 0 53.9735 58.964 48.0359 0.39735 0.896401 -0.196412 0.490491 45 57.5 1 0 -62 1 1 0 54.8444 58.6493 48.688 0.484441 0.864929 -0.1312 0.490491 45 57.5 1 0 -63 1 1 0 54.2236 58.968 48.6825 0.422363 0.896801 -0.131749 0.490491 45 57.5 1 0 -64 1 1 0 53.5823 59.243 48.6834 0.358229 0.924305 -0.131656 0.490491 45 57.5 1 0 -65 1 1 0 55.063 58.5985 49.3424 0.506298 0.859848 -0.0657577 0.490491 45 57.5 1 0 -66 1 1 0 54.4537 58.9293 49.3418 0.445365 0.892927 -0.0658169 0.490491 45 57.5 1 0 -67 1 1 0 55.2573 58.5065 50 0.525731 0.850651 0 0.490491 45 57.5 1 0 -68 1 1 0 54.6566 58.8497 50 0.465657 0.884965 0 0.490491 45 57.5 1 0 -69 1 1 0 54.0336 59.1504 50 0.403355 0.915043 0 0.490491 45 57.5 1 0 -70 1 1 0 53.8172 59.2192 49.3401 0.381722 0.921919 -0.0659886 0.490491 45 57.5 1 0 -71 1 1 0 53.1678 59.462 49.3396 0.316778 0.946198 -0.0660427 0.490491 45 57.5 1 0 -72 1 1 0 53.3912 59.4074 50 0.339122 0.940742 0 0.490491 45 57.5 1 0 -73 1 1 0 52.7327 59.6194 50 0.273267 0.961938 0 0.490491 45 57.5 1 0 -74 1 1 0 51.9178 59.6119 48.0166 0.19178 0.961188 -0.198337 0.490491 45 57.5 1 0 -75 1 1 0 51.2273 59.7237 48.0142 0.122729 0.97237 -0.198581 0.490491 45 57.5 1 0 -76 1 1 0 52.2012 59.6639 48.6721 0.220117 0.966393 -0.132792 0.490491 45 57.5 1 0 -77 1 1 0 51.5155 59.7943 48.6674 0.151549 0.979426 -0.133256 0.490491 45 57.5 1 0 -78 1 1 0 50.8224 59.8769 48.6693 0.0822422 0.987688 -0.133071 0.490491 45 57.5 1 0 -79 1 1 0 52.4733 59.6664 49.3343 0.247326 0.966643 -0.0665668 0.490491 45 57.5 1 0 -80 1 1 0 51.796 59.8148 49.334 0.179596 0.981483 -0.0666046 0.490491 45 57.5 1 0 -81 1 1 0 52.061 59.7853 50 0.206103 0.97853 0 0.490491 45 57.5 1 0 -82 1 1 0 51.3795 59.9044 50 0.137952 0.990439 0 0.490491 45 57.5 1 0 -83 1 1 0 51.1039 59.9165 49.3329 0.110385 0.991648 -0.0667095 0.490491 45 57.5 1 0 -84 1 1 0 50.4125 59.9692 49.3326 0.0412479 0.996917 -0.0667412 0.490491 45 57.5 1 0 -85 1 1 0 50.6914 59.9761 50 0.0691418 0.997607 0 0.490491 45 57.5 1 0 -86 1 1 0 50 60 50 0 1 0 0.490491 45 57.5 1 0 -87 1 1 0 53.3061 59.2268 48.0161 0.330606 0.922682 -0.198387 0.490491 45 57.5 1 0 -88 1 1 0 52.8993 59.4782 48.6743 0.289929 0.947822 -0.13257 0.490491 45 57.5 1 0 -89 1 1 0 52.6155 59.4443 48.0091 0.26155 0.944433 -0.199094 0.490491 45 57.5 1 0 -90 1 1 0 47.2531 58.5264 45.5554 -0.274694 0.85264 -0.444464 0.490491 45 57.5 1 0 -91 1 1 0 46.5715 58.2845 45.5713 -0.342848 0.828447 -0.442867 0.490491 45 57.5 1 0 -92 1 1 0 47.6132 58.9101 46.1381 -0.238677 0.891007 -0.386187 0.490491 45 57.5 1 0 -93 1 1 0 46.9234 58.6973 46.1409 -0.307659 0.869725 -0.385906 0.490491 45 57.5 1 0 -94 1 1 0 46.2496 58.4391 46.1639 -0.375038 0.843912 -0.383614 0.490491 45 57.5 1 0 -95 1 1 0 47.9881 59.2388 46.7447 -0.201189 0.92388 -0.32553 0.490491 45 57.5 1 0 -96 1 1 0 47.2937 59.0583 46.7407 -0.270627 0.905832 -0.325929 0.490491 45 57.5 1 0 -97 1 1 0 48.3754 59.5106 47.3713 -0.16246 0.951057 -0.262865 0.490491 45 57.5 1 0 -98 1 1 0 47.6755 59.3605 47.3585 -0.232455 0.93605 -0.264151 0.490491 45 57.5 1 0 -99 1 1 0 46.9874 59.1624 47.3592 -0.301258 0.916244 -0.264082 0.490491 45 57.5 1 0 -100 1 1 0 46.6079 58.8284 46.7514 -0.339209 0.882837 -0.324863 0.490491 45 57.5 1 0 -101 1 1 0 45.9457 58.5534 46.7748 -0.405434 0.855337 -0.322525 0.490491 45 57.5 1 0 -102 1 1 0 46.3148 58.9174 47.3734 -0.368518 0.891742 -0.262661 0.490491 45 57.5 1 0 -103 1 1 0 45.6611 58.6267 47.4011 -0.433888 0.862669 -0.259892 0.490491 45 57.5 1 0 -104 1 1 0 48.7727 59.7237 48.0142 -0.122729 0.97237 -0.198581 0.490491 45 57.5 1 0 -105 1 1 0 48.0822 59.6119 48.0166 -0.19178 0.961188 -0.198337 0.490491 45 57.5 1 0 -106 1 1 0 49.1776 59.8769 48.6693 -0.0822422 0.987688 -0.133071 0.490491 45 57.5 1 0 -107 1 1 0 48.4845 59.7943 48.6674 -0.151549 0.979426 -0.133256 0.490491 45 57.5 1 0 -108 1 1 0 47.7988 59.6639 48.6721 -0.220117 0.966393 -0.132792 0.490491 45 57.5 1 0 -109 1 1 0 49.5875 59.9692 49.3326 -0.0412479 0.996917 -0.0667412 0.490491 45 57.5 1 0 -110 1 1 0 48.8961 59.9165 49.3329 -0.110385 0.991648 -0.0667095 0.490491 45 57.5 1 0 -111 1 1 0 49.3086 59.9761 50 -0.0691418 0.997607 0 0.490491 45 57.5 1 0 -112 1 1 0 48.6205 59.9044 50 -0.137952 0.990439 0 0.490491 45 57.5 1 0 -113 1 1 0 48.204 59.8148 49.334 -0.179596 0.981483 -0.0666046 0.490491 45 57.5 1 0 -114 1 1 0 47.5267 59.6664 49.3343 -0.247326 0.966643 -0.0665668 0.490491 45 57.5 1 0 -115 1 1 0 47.939 59.7853 50 -0.206103 0.97853 0 0.490491 45 57.5 1 0 -116 1 1 0 47.2673 59.6194 50 -0.273267 0.961938 0 0.490491 45 57.5 1 0 -117 1 1 0 46.0265 58.964 48.0359 -0.39735 0.896401 -0.196412 0.490491 45 57.5 1 0 -118 1 1 0 45.3973 58.6587 48.0398 -0.460266 0.865871 -0.196015 0.490491 45 57.5 1 0 -119 1 1 0 46.4177 59.243 48.6834 -0.358229 0.924305 -0.131656 0.490491 45 57.5 1 0 -120 1 1 0 45.7764 58.968 48.6825 -0.422363 0.896801 -0.131749 0.490491 45 57.5 1 0 -121 1 1 0 45.1556 58.6493 48.688 -0.484441 0.864929 -0.1312 0.490491 45 57.5 1 0 -122 1 1 0 46.8322 59.462 49.3396 -0.316778 0.946198 -0.0660427 0.490491 45 57.5 1 0 -123 1 1 0 46.1828 59.2192 49.3401 -0.381722 0.921919 -0.0659886 0.490491 45 57.5 1 0 -124 1 1 0 46.6088 59.4074 50 -0.339122 0.940742 0 0.490491 45 57.5 1 0 -125 1 1 0 45.9664 59.1504 50 -0.403355 0.915043 0 0.490491 45 57.5 1 0 -126 1 1 0 45.5463 58.9293 49.3418 -0.445365 0.892927 -0.0658169 0.490491 45 57.5 1 0 -127 1 1 0 44.937 58.5985 49.3424 -0.506298 0.859848 -0.0657577 0.490491 45 57.5 1 0 -128 1 1 0 45.3434 58.8497 50 -0.465657 0.884965 0 0.490491 45 57.5 1 0 -129 1 1 0 44.7427 58.5065 50 -0.525731 0.850651 0 0.490491 45 57.5 1 0 -130 1 1 0 47.3845 59.4443 48.0091 -0.26155 0.944433 -0.199094 0.490491 45 57.5 1 0 -131 1 1 0 47.1007 59.4782 48.6743 -0.289929 0.947822 -0.13257 0.490491 45 57.5 1 0 -132 1 1 0 46.6939 59.2268 48.0161 -0.330606 0.922682 -0.198387 0.490491 45 57.5 1 0 -133 1 1 0 51.9823 58.6853 45.4574 0.198227 0.868535 -0.454262 0.490491 45 57.5 1 0 -134 1 1 0 51.6101 59.0484 46.0586 0.161007 0.904839 -0.394136 0.490491 45 57.5 1 0 -135 1 1 0 51.228 59.3513 46.6766 0.1228 0.93513 -0.332342 0.490491 45 57.5 1 0 -136 1 1 0 50.8232 59.1298 46.0039 0.0823235 0.912983 -0.399607 0.490491 45 57.5 1 0 -137 1 1 0 51.1976 58.7934 45.3912 0.119755 0.879344 -0.460882 0.490491 45 57.5 1 0 -138 1 1 0 50.413 58.8476 45.3579 0.0412991 0.88476 -0.464213 0.490491 45 57.5 1 0 -139 1 1 0 50.815 59.6065 47.3448 0.081501 0.960655 -0.265519 0.490491 45 57.5 1 0 -140 1 1 0 50.4125 59.7885 47.9963 0.0412506 0.978852 -0.200368 0.490491 45 57.5 1 0 -141 1 1 0 50 59.6386 47.336 0 0.963861 -0.266405 0.490491 45 57.5 1 0 -142 1 1 0 50 59.9105 48.6648 0 0.991046 -0.133524 0.490491 45 57.5 1 0 -143 1 1 0 49.5875 59.7885 47.9963 -0.0412506 0.978852 -0.200368 0.490491 45 57.5 1 0 -144 1 1 0 49.185 59.6065 47.3448 -0.081501 0.960655 -0.265519 0.490491 45 57.5 1 0 -145 1 1 0 49.587 58.8476 45.3579 -0.0412991 0.88476 -0.464213 0.490491 45 57.5 1 0 -146 1 1 0 49.1768 59.1298 46.0039 -0.0823235 0.912983 -0.399607 0.490491 45 57.5 1 0 -147 1 1 0 48.8024 58.7934 45.3912 -0.119755 0.879344 -0.460882 0.490491 45 57.5 1 0 -148 1 1 0 48.772 59.3513 46.6766 -0.1228 0.93513 -0.332342 0.490491 45 57.5 1 0 -149 1 1 0 48.3899 59.0484 46.0586 -0.161007 0.904839 -0.394136 0.490491 45 57.5 1 0 -150 1 1 0 48.0177 58.6853 45.4574 -0.198227 0.868535 -0.454262 0.490491 45 57.5 1 0 -151 1 1 0 50.413 59.4162 46.6586 0.0413021 0.941618 -0.33414 0.490491 45 57.5 1 0 -152 1 1 0 49.587 59.4162 46.6586 -0.0413021 0.941618 -0.33414 0.490491 45 57.5 1 0 -153 1 1 0 50 59.1609 45.9903 0 0.916092 -0.400968 0.490491 45 57.5 1 0 -154 1 1 0 50 55.2573 58.5065 0 0.525731 0.850651 0.490491 45 57.5 1 0 -155 1 1 0 49.5936 55.7206 58.1921 -0.0406403 0.572055 0.819208 0.490491 45 57.5 1 0 -156 1 1 0 50.4064 55.7206 58.1921 0.0406403 0.572055 0.819208 0.490491 45 57.5 1 0 -157 1 1 0 49.1891 56.1564 57.8384 -0.081086 0.615642 0.783843 0.490491 45 57.5 1 0 -158 1 1 0 50 56.1768 57.8643 0 0.617676 0.786433 0.490491 45 57.5 1 0 -159 1 1 0 50.8109 56.1564 57.8384 0.081086 0.615642 0.783843 0.490491 45 57.5 1 0 -160 1 1 0 48.7886 56.5628 57.4473 -0.121144 0.656282 0.744727 0.490491 45 57.5 1 0 -161 1 1 0 49.5936 56.6088 57.4939 -0.0406418 0.660883 0.749387 0.490491 45 57.5 1 0 -162 1 1 0 48.3938 56.9378 57.0205 -0.160622 0.69378 0.702047 0.490491 45 57.5 1 0 -163 1 1 0 49.1943 57.0062 57.0897 -0.0805729 0.700622 0.708969 0.490491 45 57.5 1 0 -164 1 1 0 50 57.0291 57.1128 0 0.702907 0.711282 0.490491 45 57.5 1 0 -165 1 1 0 50.4064 56.6088 57.4939 0.0406418 0.660883 0.749387 0.490491 45 57.5 1 0 -166 1 1 0 51.2114 56.5628 57.4473 0.121144 0.656282 0.744727 0.490491 45 57.5 1 0 -167 1 1 0 50.8057 57.0062 57.0897 0.0805729 0.700622 0.708969 0.490491 45 57.5 1 0 -168 1 1 0 51.6062 56.9378 57.0205 0.160622 0.69378 0.702047 0.490491 45 57.5 1 0 -169 1 1 0 48.0067 57.2796 56.5601 -0.199331 0.727959 0.656006 0.490491 45 57.5 1 0 -170 1 1 0 48.7881 57.3889 56.6284 -0.121192 0.738887 0.662842 0.490491 45 57.5 1 0 -171 1 1 0 47.6291 57.5865 56.0683 -0.237086 0.758652 0.606825 0.490491 45 57.5 1 0 -172 1 1 0 48.4039 57.7184 56.1546 -0.159613 0.771841 0.615456 0.490491 45 57.5 1 0 -173 1 1 0 49.1886 57.802 56.2024 -0.0811417 0.780205 0.620239 0.490491 45 57.5 1 0 -174 1 1 0 47.2629 57.8572 55.5474 -0.273706 0.785715 0.55474 0.490491 45 57.5 1 0 -175 1 1 0 48.0273 58.015 55.6451 -0.197274 0.801504 0.564513 0.490491 45 57.5 1 0 -176 1 1 0 46.9098 58.0902 55 -0.309017 0.809017 0.5 0.490491 45 57.5 1 0 -177 1 1 0 47.6655 58.2715 55.112 -0.233445 0.827147 0.511205 0.490491 45 57.5 1 0 -178 1 1 0 48.4357 58.4018 55.1926 -0.156434 0.840178 0.519259 0.490491 45 57.5 1 0 -179 1 1 0 48.8092 58.1217 55.7114 -0.119078 0.81217 0.57114 0.490491 45 57.5 1 0 -180 1 1 0 49.5933 58.1752 55.7446 -0.040675 0.817523 0.574458 0.490491 45 57.5 1 0 -181 1 1 0 49.2154 58.4803 55.2411 -0.0784592 0.848029 0.52411 0.490491 45 57.5 1 0 -182 1 1 0 50 58.5065 55.2573 0 0.850651 0.525731 0.490491 45 57.5 1 0 -183 1 1 0 51.2119 57.3889 56.6284 0.121192 0.738887 0.662842 0.490491 45 57.5 1 0 -184 1 1 0 51.9933 57.2796 56.5601 0.199331 0.727959 0.656006 0.490491 45 57.5 1 0 -185 1 1 0 50.8114 57.802 56.2024 0.0811417 0.780205 0.620239 0.490491 45 57.5 1 0 -186 1 1 0 51.5961 57.7184 56.1546 0.159613 0.771841 0.615456 0.490491 45 57.5 1 0 -187 1 1 0 52.3709 57.5865 56.0683 0.237086 0.758652 0.606825 0.490491 45 57.5 1 0 -188 1 1 0 50.4067 58.1752 55.7446 0.040675 0.817523 0.574458 0.490491 45 57.5 1 0 -189 1 1 0 51.1908 58.1217 55.7114 0.119078 0.81217 0.57114 0.490491 45 57.5 1 0 -190 1 1 0 50.7846 58.4803 55.2411 0.0784592 0.848029 0.52411 0.490491 45 57.5 1 0 -191 1 1 0 51.5643 58.4018 55.1926 0.156434 0.840178 0.519259 0.490491 45 57.5 1 0 -192 1 1 0 51.9727 58.015 55.6451 0.197274 0.801504 0.564513 0.490491 45 57.5 1 0 -193 1 1 0 52.7371 57.8572 55.5474 0.273706 0.785715 0.55474 0.490491 45 57.5 1 0 -194 1 1 0 52.3345 58.2715 55.112 0.233445 0.827147 0.511205 0.490491 45 57.5 1 0 -195 1 1 0 53.0902 58.0902 55 0.309017 0.809017 0.5 0.490491 45 57.5 1 0 -196 1 1 0 49.5932 57.435 56.675 -0.0406769 0.743496 0.667502 0.490491 45 57.5 1 0 -197 1 1 0 50 57.8279 56.2229 0 0.782786 0.622291 0.490491 45 57.5 1 0 -198 1 1 0 50.4068 57.435 56.675 0.0406769 0.743496 0.667502 0.490491 45 57.5 1 0 -199 1 1 0 46.5715 58.2845 54.4287 -0.342848 0.828447 0.442867 0.490491 45 57.5 1 0 -200 1 1 0 47.2531 58.5264 54.4446 -0.274694 0.85264 0.444464 0.490491 45 57.5 1 0 -201 1 1 0 46.2496 58.4391 53.8361 -0.375038 0.843912 0.383614 0.490491 45 57.5 1 0 -202 1 1 0 46.9234 58.6973 53.8591 -0.307659 0.869725 0.385906 0.490491 45 57.5 1 0 -203 1 1 0 47.6132 58.9101 53.8619 -0.238677 0.891007 0.386187 0.490491 45 57.5 1 0 -204 1 1 0 45.9457 58.5534 53.2252 -0.405434 0.855337 0.322525 0.490491 45 57.5 1 0 -205 1 1 0 46.6079 58.8284 53.2486 -0.339209 0.882837 0.324863 0.490491 45 57.5 1 0 -206 1 1 0 45.6611 58.6267 52.5989 -0.433888 0.862669 0.259892 0.490491 45 57.5 1 0 -207 1 1 0 46.3148 58.9174 52.6266 -0.368518 0.891742 0.262661 0.490491 45 57.5 1 0 -208 1 1 0 46.9874 59.1624 52.6408 -0.301258 0.916244 0.264082 0.490491 45 57.5 1 0 -209 1 1 0 47.2937 59.0583 53.2593 -0.270627 0.905832 0.325929 0.490491 45 57.5 1 0 -210 1 1 0 47.9881 59.2388 53.2553 -0.201189 0.92388 0.32553 0.490491 45 57.5 1 0 -211 1 1 0 47.6755 59.3605 52.6415 -0.232455 0.93605 0.264151 0.490491 45 57.5 1 0 -212 1 1 0 48.3754 59.5106 52.6287 -0.16246 0.951057 0.262865 0.490491 45 57.5 1 0 -213 1 1 0 45.3973 58.6587 51.9602 -0.460266 0.865871 0.196015 0.490491 45 57.5 1 0 -214 1 1 0 46.0265 58.964 51.9641 -0.39735 0.896401 0.196412 0.490491 45 57.5 1 0 -215 1 1 0 45.1556 58.6493 51.312 -0.484441 0.864929 0.1312 0.490491 45 57.5 1 0 -216 1 1 0 45.7764 58.968 51.3175 -0.422363 0.896801 0.131749 0.490491 45 57.5 1 0 -217 1 1 0 46.4177 59.243 51.3166 -0.358229 0.924305 0.131656 0.490491 45 57.5 1 0 -218 1 1 0 44.937 58.5985 50.6576 -0.506298 0.859848 0.0657577 0.490491 45 57.5 1 0 -219 1 1 0 45.5463 58.9293 50.6582 -0.445365 0.892927 0.0658169 0.490491 45 57.5 1 0 -220 1 1 0 46.1828 59.2192 50.6599 -0.381722 0.921919 0.0659886 0.490491 45 57.5 1 0 -221 1 1 0 46.8322 59.462 50.6604 -0.316778 0.946198 0.0660427 0.490491 45 57.5 1 0 -222 1 1 0 48.0822 59.6119 51.9834 -0.19178 0.961188 0.198337 0.490491 45 57.5 1 0 -223 1 1 0 48.7727 59.7237 51.9858 -0.122729 0.97237 0.198581 0.490491 45 57.5 1 0 -224 1 1 0 47.7988 59.6639 51.3279 -0.220117 0.966393 0.132792 0.490491 45 57.5 1 0 -225 1 1 0 48.4845 59.7943 51.3326 -0.151549 0.979426 0.133256 0.490491 45 57.5 1 0 -226 1 1 0 49.1776 59.8769 51.3307 -0.0822422 0.987688 0.133071 0.490491 45 57.5 1 0 -227 1 1 0 47.5267 59.6664 50.6657 -0.247326 0.966643 0.0665668 0.490491 45 57.5 1 0 -228 1 1 0 48.204 59.8148 50.666 -0.179596 0.981483 0.0666046 0.490491 45 57.5 1 0 -229 1 1 0 48.8961 59.9165 50.6671 -0.110385 0.991648 0.0667095 0.490491 45 57.5 1 0 -230 1 1 0 49.5875 59.9692 50.6674 -0.0412479 0.996917 0.0667412 0.490491 45 57.5 1 0 -231 1 1 0 46.6939 59.2268 51.9839 -0.330606 0.922682 0.198387 0.490491 45 57.5 1 0 -232 1 1 0 47.1007 59.4782 51.3257 -0.289929 0.947822 0.13257 0.490491 45 57.5 1 0 -233 1 1 0 47.3845 59.4443 51.9909 -0.26155 0.944433 0.199094 0.490491 45 57.5 1 0 -234 1 1 0 52.7469 58.5264 54.4446 0.274694 0.85264 0.444464 0.490491 45 57.5 1 0 -235 1 1 0 53.4285 58.2845 54.4287 0.342848 0.828447 0.442867 0.490491 45 57.5 1 0 -236 1 1 0 52.3868 58.9101 53.8619 0.238677 0.891007 0.386187 0.490491 45 57.5 1 0 -237 1 1 0 53.0766 58.6973 53.8591 0.307659 0.869725 0.385906 0.490491 45 57.5 1 0 -238 1 1 0 53.7504 58.4391 53.8361 0.375038 0.843912 0.383614 0.490491 45 57.5 1 0 -239 1 1 0 52.0119 59.2388 53.2553 0.201189 0.92388 0.32553 0.490491 45 57.5 1 0 -240 1 1 0 52.7063 59.0583 53.2593 0.270627 0.905832 0.325929 0.490491 45 57.5 1 0 -241 1 1 0 51.6246 59.5106 52.6287 0.16246 0.951057 0.262865 0.490491 45 57.5 1 0 -242 1 1 0 52.3245 59.3605 52.6415 0.232455 0.93605 0.264151 0.490491 45 57.5 1 0 -243 1 1 0 53.0126 59.1624 52.6408 0.301258 0.916244 0.264082 0.490491 45 57.5 1 0 -244 1 1 0 53.3921 58.8284 53.2486 0.339209 0.882837 0.324863 0.490491 45 57.5 1 0 -245 1 1 0 54.0543 58.5534 53.2252 0.405434 0.855337 0.322525 0.490491 45 57.5 1 0 -246 1 1 0 53.6852 58.9174 52.6266 0.368518 0.891742 0.262661 0.490491 45 57.5 1 0 -247 1 1 0 54.3389 58.6267 52.5989 0.433888 0.862669 0.259892 0.490491 45 57.5 1 0 -248 1 1 0 51.2273 59.7237 51.9858 0.122729 0.97237 0.198581 0.490491 45 57.5 1 0 -249 1 1 0 51.9178 59.6119 51.9834 0.19178 0.961188 0.198337 0.490491 45 57.5 1 0 -250 1 1 0 50.8224 59.8769 51.3307 0.0822422 0.987688 0.133071 0.490491 45 57.5 1 0 -251 1 1 0 51.5155 59.7943 51.3326 0.151549 0.979426 0.133256 0.490491 45 57.5 1 0 -252 1 1 0 52.2012 59.6639 51.3279 0.220117 0.966393 0.132792 0.490491 45 57.5 1 0 -253 1 1 0 50.4125 59.9692 50.6674 0.0412479 0.996917 0.0667412 0.490491 45 57.5 1 0 -254 1 1 0 51.1039 59.9165 50.6671 0.110385 0.991648 0.0667095 0.490491 45 57.5 1 0 -255 1 1 0 51.796 59.8148 50.666 0.179596 0.981483 0.0666046 0.490491 45 57.5 1 0 -256 1 1 0 52.4733 59.6664 50.6657 0.247326 0.966643 0.0665668 0.490491 45 57.5 1 0 -257 1 1 0 53.9735 58.964 51.9641 0.39735 0.896401 0.196412 0.490491 45 57.5 1 0 -258 1 1 0 54.6027 58.6587 51.9602 0.460266 0.865871 0.196015 0.490491 45 57.5 1 0 -259 1 1 0 53.5823 59.243 51.3166 0.358229 0.924305 0.131656 0.490491 45 57.5 1 0 -260 1 1 0 54.2236 58.968 51.3175 0.422363 0.896801 0.131749 0.490491 45 57.5 1 0 -261 1 1 0 54.8444 58.6493 51.312 0.484441 0.864929 0.1312 0.490491 45 57.5 1 0 -262 1 1 0 53.1678 59.462 50.6604 0.316778 0.946198 0.0660427 0.490491 45 57.5 1 0 -263 1 1 0 53.8172 59.2192 50.6599 0.381722 0.921919 0.0659886 0.490491 45 57.5 1 0 -264 1 1 0 54.4537 58.9293 50.6582 0.445365 0.892927 0.0658169 0.490491 45 57.5 1 0 -265 1 1 0 55.063 58.5985 50.6576 0.506298 0.859848 0.0657577 0.490491 45 57.5 1 0 -266 1 1 0 52.6155 59.4443 51.9909 0.26155 0.944433 0.199094 0.490491 45 57.5 1 0 -267 1 1 0 52.8993 59.4782 51.3257 0.289929 0.947822 0.13257 0.490491 45 57.5 1 0 -268 1 1 0 53.3061 59.2268 51.9839 0.330606 0.922682 0.198387 0.490491 45 57.5 1 0 -269 1 1 0 48.0177 58.6853 54.5426 -0.198227 0.868535 0.454262 0.490491 45 57.5 1 0 -270 1 1 0 48.3899 59.0484 53.9414 -0.161007 0.904839 0.394136 0.490491 45 57.5 1 0 -271 1 1 0 48.772 59.3513 53.3234 -0.1228 0.93513 0.332342 0.490491 45 57.5 1 0 -272 1 1 0 49.1768 59.1298 53.9961 -0.0823235 0.912983 0.399607 0.490491 45 57.5 1 0 -273 1 1 0 48.8024 58.7934 54.6088 -0.119755 0.879344 0.460882 0.490491 45 57.5 1 0 -274 1 1 0 49.587 58.8476 54.6421 -0.0412991 0.88476 0.464213 0.490491 45 57.5 1 0 -275 1 1 0 49.185 59.6065 52.6552 -0.081501 0.960655 0.265519 0.490491 45 57.5 1 0 -276 1 1 0 49.5875 59.7885 52.0037 -0.0412506 0.978852 0.200368 0.490491 45 57.5 1 0 -277 1 1 0 50 59.6386 52.664 0 0.963861 0.266405 0.490491 45 57.5 1 0 -278 1 1 0 50 59.9105 51.3352 0 0.991046 0.133524 0.490491 45 57.5 1 0 -279 1 1 0 50.4125 59.7885 52.0037 0.0412506 0.978852 0.200368 0.490491 45 57.5 1 0 -280 1 1 0 50.815 59.6065 52.6552 0.081501 0.960655 0.265519 0.490491 45 57.5 1 0 -281 1 1 0 50.413 58.8476 54.6421 0.0412991 0.88476 0.464213 0.490491 45 57.5 1 0 -282 1 1 0 50.8232 59.1298 53.9961 0.0823235 0.912983 0.399607 0.490491 45 57.5 1 0 -283 1 1 0 51.1976 58.7934 54.6088 0.119755 0.879344 0.460882 0.490491 45 57.5 1 0 -284 1 1 0 51.228 59.3513 53.3234 0.1228 0.93513 0.332342 0.490491 45 57.5 1 0 -285 1 1 0 51.6101 59.0484 53.9414 0.161007 0.904839 0.394136 0.490491 45 57.5 1 0 -286 1 1 0 51.9823 58.6853 54.5426 0.198227 0.868535 0.454262 0.490491 45 57.5 1 0 -287 1 1 0 49.587 59.4162 53.3414 -0.0413021 0.941618 0.33414 0.490491 45 57.5 1 0 -288 1 1 0 50.413 59.4162 53.3414 0.0413021 0.941618 0.33414 0.490491 45 57.5 1 0 -289 1 1 0 50 59.1609 54.0097 0 0.916092 0.400968 0.490491 45 57.5 1 0 -290 1 1 0 50 54.6566 58.8497 0 0.465657 0.884965 0.490491 45 57.5 1 0 -291 1 1 0 49.3424 55.063 58.5985 -0.0657577 0.506298 0.859848 0.490491 45 57.5 1 0 -292 1 1 0 50 54.0336 59.1504 0 0.403355 0.915043 0.490491 45 57.5 1 0 -293 1 1 0 49.3418 54.4537 58.9293 -0.0658169 0.445365 0.892927 0.490491 45 57.5 1 0 -294 1 1 0 48.688 54.8444 58.6493 -0.1312 0.484441 0.864929 0.490491 45 57.5 1 0 -295 1 1 0 50 53.3912 59.4074 0 0.339122 0.940742 0.490491 45 57.5 1 0 -296 1 1 0 49.3401 53.8172 59.2192 -0.0659885 0.381722 0.921919 0.490491 45 57.5 1 0 -297 1 1 0 50 52.7327 59.6194 0 0.273267 0.961938 0.490491 45 57.5 1 0 -298 1 1 0 49.3396 53.1678 59.462 -0.0660427 0.316778 0.946198 0.490491 45 57.5 1 0 -299 1 1 0 48.6834 53.5823 59.243 -0.131656 0.358229 0.924305 0.490491 45 57.5 1 0 -300 1 1 0 48.6825 54.2236 58.968 -0.131749 0.422363 0.896801 0.490491 45 57.5 1 0 -301 1 1 0 48.0398 54.6027 58.6587 -0.196015 0.460266 0.865871 0.490491 45 57.5 1 0 -302 1 1 0 48.0359 53.9735 58.964 -0.196412 0.39735 0.896401 0.490491 45 57.5 1 0 -303 1 1 0 47.4011 54.3389 58.6267 -0.259892 0.433888 0.862669 0.490491 45 57.5 1 0 -304 1 1 0 50 52.061 59.7853 0 0.206103 0.97853 0.490491 45 57.5 1 0 -305 1 1 0 49.3343 52.4733 59.6664 -0.0665668 0.247326 0.966643 0.490491 45 57.5 1 0 -306 1 1 0 50 51.3795 59.9044 0 0.137952 0.990439 0.490491 45 57.5 1 0 -307 1 1 0 49.334 51.796 59.8148 -0.0666046 0.179596 0.981483 0.490491 45 57.5 1 0 -308 1 1 0 48.6721 52.2012 59.6639 -0.132792 0.220117 0.966393 0.490491 45 57.5 1 0 -309 1 1 0 50 50.6914 59.9761 0 0.0691418 0.997607 0.490491 45 57.5 1 0 -310 1 1 0 49.3329 51.1039 59.9165 -0.0667095 0.110385 0.991648 0.490491 45 57.5 1 0 -311 1 1 0 50 50 60 0 0 1 0.490491 45 57.5 1 0 -312 1 1 0 49.3326 50.4125 59.9692 -0.0667412 0.0412479 0.996917 0.490491 45 57.5 1 0 -313 1 1 0 48.6693 50.8224 59.8769 -0.133071 0.0822422 0.987688 0.490491 45 57.5 1 0 -314 1 1 0 48.6674 51.5155 59.7943 -0.133256 0.151549 0.979426 0.490491 45 57.5 1 0 -315 1 1 0 48.0166 51.9178 59.6119 -0.198337 0.19178 0.961188 0.490491 45 57.5 1 0 -316 1 1 0 48.0142 51.2273 59.7237 -0.198581 0.122729 0.97237 0.490491 45 57.5 1 0 -317 1 1 0 47.3713 51.6246 59.5106 -0.262865 0.16246 0.951057 0.490491 45 57.5 1 0 -318 1 1 0 47.3734 53.6852 58.9174 -0.262661 0.368518 0.891742 0.490491 45 57.5 1 0 -319 1 1 0 46.7748 54.0543 58.5534 -0.322525 0.405434 0.855337 0.490491 45 57.5 1 0 -320 1 1 0 47.3592 53.0126 59.1624 -0.264082 0.301258 0.916244 0.490491 45 57.5 1 0 -321 1 1 0 46.7514 53.3921 58.8284 -0.324863 0.339209 0.882837 0.490491 45 57.5 1 0 -322 1 1 0 46.1639 53.7504 58.4391 -0.383614 0.375038 0.843912 0.490491 45 57.5 1 0 -323 1 1 0 47.3585 52.3245 59.3605 -0.264151 0.232455 0.93605 0.490491 45 57.5 1 0 -324 1 1 0 46.7407 52.7063 59.0583 -0.325929 0.270627 0.905832 0.490491 45 57.5 1 0 -325 1 1 0 46.7447 52.0119 59.2388 -0.32553 0.201189 0.92388 0.490491 45 57.5 1 0 -326 1 1 0 46.1381 52.3868 58.9101 -0.386187 0.238677 0.891007 0.490491 45 57.5 1 0 -327 1 1 0 46.1409 53.0766 58.6973 -0.385906 0.307659 0.869725 0.490491 45 57.5 1 0 -328 1 1 0 45.5713 53.4285 58.2845 -0.442867 0.342848 0.828447 0.490491 45 57.5 1 0 -329 1 1 0 45.5554 52.7469 58.5264 -0.444464 0.274694 0.85264 0.490491 45 57.5 1 0 -330 1 1 0 45 53.0902 58.0902 -0.5 0.309017 0.809017 0.490491 45 57.5 1 0 -331 1 1 0 48.6743 52.8993 59.4782 -0.13257 0.289929 0.947822 0.490491 45 57.5 1 0 -332 1 1 0 48.0091 52.6155 59.4443 -0.199094 0.26155 0.944433 0.490491 45 57.5 1 0 -333 1 1 0 48.0161 53.3061 59.2268 -0.198387 0.330606 0.922682 0.490491 45 57.5 1 0 -334 1 1 0 50 49.3086 59.9761 0 -0.0691418 0.997607 0.490491 45 57.5 1 0 -335 1 1 0 49.3326 49.5875 59.9692 -0.0667412 -0.0412479 0.996917 0.490491 45 57.5 1 0 -336 1 1 0 50 48.6205 59.9044 0 -0.137952 0.990439 0.490491 45 57.5 1 0 -337 1 1 0 49.3329 48.8961 59.9165 -0.0667095 -0.110385 0.991648 0.490491 45 57.5 1 0 -338 1 1 0 48.6693 49.1776 59.8769 -0.133071 -0.0822422 0.987688 0.490491 45 57.5 1 0 -339 1 1 0 50 47.939 59.7853 0 -0.206103 0.97853 0.490491 45 57.5 1 0 -340 1 1 0 49.334 48.204 59.8148 -0.0666046 -0.179596 0.981483 0.490491 45 57.5 1 0 -341 1 1 0 50 47.2673 59.6194 0 -0.273267 0.961938 0.490491 45 57.5 1 0 -342 1 1 0 49.3343 47.5267 59.6664 -0.0665668 -0.247326 0.966643 0.490491 45 57.5 1 0 -343 1 1 0 48.6721 47.7988 59.6639 -0.132792 -0.220117 0.966393 0.490491 45 57.5 1 0 -344 1 1 0 48.6674 48.4845 59.7943 -0.133256 -0.151549 0.979426 0.490491 45 57.5 1 0 -345 1 1 0 48.0142 48.7727 59.7237 -0.198581 -0.122729 0.97237 0.490491 45 57.5 1 0 -346 1 1 0 48.0166 48.0822 59.6119 -0.198337 -0.19178 0.961188 0.490491 45 57.5 1 0 -347 1 1 0 47.3713 48.3754 59.5106 -0.262865 -0.16246 0.951057 0.490491 45 57.5 1 0 -348 1 1 0 50 46.6088 59.4074 0 -0.339122 0.940742 0.490491 45 57.5 1 0 -349 1 1 0 49.3396 46.8322 59.462 -0.0660427 -0.316778 0.946198 0.490491 45 57.5 1 0 -350 1 1 0 50 45.9664 59.1504 0 -0.403355 0.915043 0.490491 45 57.5 1 0 -351 1 1 0 49.3401 46.1828 59.2192 -0.0659885 -0.381722 0.921919 0.490491 45 57.5 1 0 -352 1 1 0 48.6834 46.4177 59.243 -0.131656 -0.358229 0.924305 0.490491 45 57.5 1 0 -353 1 1 0 50 45.3434 58.8497 0 -0.465657 0.884965 0.490491 45 57.5 1 0 -354 1 1 0 49.3418 45.5463 58.9293 -0.0658169 -0.445365 0.892927 0.490491 45 57.5 1 0 -355 1 1 0 50 44.7427 58.5065 0 -0.525731 0.850651 0.490491 45 57.5 1 0 -356 1 1 0 49.3424 44.937 58.5985 -0.0657577 -0.506298 0.859848 0.490491 45 57.5 1 0 -357 1 1 0 48.688 45.1556 58.6493 -0.1312 -0.484441 0.864929 0.490491 45 57.5 1 0 -358 1 1 0 48.6825 45.7764 58.968 -0.131749 -0.422363 0.896801 0.490491 45 57.5 1 0 -359 1 1 0 48.0359 46.0265 58.964 -0.196412 -0.39735 0.896401 0.490491 45 57.5 1 0 -360 1 1 0 48.0398 45.3973 58.6587 -0.196015 -0.460266 0.865871 0.490491 45 57.5 1 0 -361 1 1 0 47.4011 45.6611 58.6267 -0.259892 -0.433888 0.862669 0.490491 45 57.5 1 0 -362 1 1 0 47.3585 47.6755 59.3605 -0.264151 -0.232455 0.93605 0.490491 45 57.5 1 0 -363 1 1 0 46.7447 47.9881 59.2388 -0.32553 -0.201189 0.92388 0.490491 45 57.5 1 0 -364 1 1 0 47.3592 46.9874 59.1624 -0.264082 -0.301258 0.916244 0.490491 45 57.5 1 0 -365 1 1 0 46.7407 47.2937 59.0583 -0.325929 -0.270627 0.905832 0.490491 45 57.5 1 0 -366 1 1 0 46.1381 47.6132 58.9101 -0.386187 -0.238677 0.891007 0.490491 45 57.5 1 0 -367 1 1 0 47.3734 46.3148 58.9174 -0.262661 -0.368518 0.891742 0.490491 45 57.5 1 0 -368 1 1 0 46.7514 46.6079 58.8284 -0.324863 -0.339209 0.882837 0.490491 45 57.5 1 0 -369 1 1 0 46.7748 45.9457 58.5534 -0.322525 -0.405434 0.855337 0.490491 45 57.5 1 0 -370 1 1 0 46.1639 46.2496 58.4391 -0.383614 -0.375038 0.843912 0.490491 45 57.5 1 0 -371 1 1 0 46.1409 46.9234 58.6973 -0.385906 -0.307659 0.869725 0.490491 45 57.5 1 0 -372 1 1 0 45.5554 47.2531 58.5264 -0.444464 -0.274694 0.85264 0.490491 45 57.5 1 0 -373 1 1 0 45.5713 46.5715 58.2845 -0.442867 -0.342848 0.828447 0.490491 45 57.5 1 0 -374 1 1 0 45 46.9098 58.0902 -0.5 -0.309017 0.809017 0.490491 45 57.5 1 0 -375 1 1 0 48.6743 47.1007 59.4782 -0.13257 -0.289929 0.947822 0.490491 45 57.5 1 0 -376 1 1 0 48.0161 46.6939 59.2268 -0.198387 -0.330606 0.922682 0.490491 45 57.5 1 0 -377 1 1 0 48.0091 47.3845 59.4443 -0.199094 -0.26155 0.944433 0.490491 45 57.5 1 0 -378 1 1 0 44.888 52.3345 58.2715 -0.511205 0.233445 0.827147 0.490491 45 57.5 1 0 -379 1 1 0 44.4526 52.7371 57.8572 -0.55474 0.273706 0.785715 0.490491 45 57.5 1 0 -380 1 1 0 44.8074 51.5643 58.4018 -0.519259 0.156434 0.840178 0.490491 45 57.5 1 0 -381 1 1 0 44.3549 51.9727 58.015 -0.564513 0.197274 0.801504 0.490491 45 57.5 1 0 -382 1 1 0 43.9317 52.3709 57.5865 -0.606825 0.237086 0.758652 0.490491 45 57.5 1 0 -383 1 1 0 44.7589 50.7846 58.4803 -0.52411 0.0784592 0.848029 0.490491 45 57.5 1 0 -384 1 1 0 44.2886 51.1908 58.1217 -0.57114 0.119078 0.81217 0.490491 45 57.5 1 0 -385 1 1 0 44.7427 50 58.5065 -0.525731 0 0.850651 0.490491 45 57.5 1 0 -386 1 1 0 44.2554 50.4067 58.1752 -0.574458 0.040675 0.817523 0.490491 45 57.5 1 0 -387 1 1 0 43.7976 50.8114 57.802 -0.620239 0.0811417 0.780205 0.490491 45 57.5 1 0 -388 1 1 0 43.8454 51.5961 57.7184 -0.615456 0.159613 0.771841 0.490491 45 57.5 1 0 -389 1 1 0 43.4399 51.9933 57.2796 -0.656006 0.199331 0.727959 0.490491 45 57.5 1 0 -390 1 1 0 43.3716 51.2119 57.3889 -0.662842 0.121192 0.738887 0.490491 45 57.5 1 0 -391 1 1 0 42.9795 51.6062 56.9378 -0.702047 0.160622 0.69378 0.490491 45 57.5 1 0 -392 1 1 0 44.7589 49.2154 58.4803 -0.52411 -0.0784592 0.848029 0.490491 45 57.5 1 0 -393 1 1 0 44.2554 49.5933 58.1752 -0.574458 -0.040675 0.817523 0.490491 45 57.5 1 0 -394 1 1 0 44.8074 48.4357 58.4018 -0.519259 -0.156434 0.840178 0.490491 45 57.5 1 0 -395 1 1 0 44.2886 48.8092 58.1217 -0.57114 -0.119078 0.81217 0.490491 45 57.5 1 0 -396 1 1 0 43.7976 49.1886 57.802 -0.620239 -0.0811417 0.780205 0.490491 45 57.5 1 0 -397 1 1 0 44.888 47.6655 58.2715 -0.511205 -0.233445 0.827147 0.490491 45 57.5 1 0 -398 1 1 0 44.3549 48.0273 58.015 -0.564513 -0.197274 0.801504 0.490491 45 57.5 1 0 -399 1 1 0 44.4526 47.2629 57.8572 -0.55474 -0.273706 0.785715 0.490491 45 57.5 1 0 -400 1 1 0 43.9317 47.6291 57.5865 -0.606825 -0.237086 0.758652 0.490491 45 57.5 1 0 -401 1 1 0 43.8454 48.4039 57.7184 -0.615456 -0.159613 0.771841 0.490491 45 57.5 1 0 -402 1 1 0 43.3716 48.7881 57.3889 -0.662842 -0.121192 0.738887 0.490491 45 57.5 1 0 -403 1 1 0 43.4399 48.0067 57.2796 -0.656006 -0.199331 0.727959 0.490491 45 57.5 1 0 -404 1 1 0 42.9795 48.3938 56.9378 -0.702047 -0.160622 0.69378 0.490491 45 57.5 1 0 -405 1 1 0 42.9103 50.8057 57.0062 -0.708969 0.0805729 0.700622 0.490491 45 57.5 1 0 -406 1 1 0 42.5527 51.2114 56.5628 -0.744727 0.121144 0.656282 0.490491 45 57.5 1 0 -407 1 1 0 42.8872 50 57.0291 -0.711282 0 0.702907 0.490491 45 57.5 1 0 -408 1 1 0 42.5061 50.4064 56.6088 -0.749387 0.0406418 0.660883 0.490491 45 57.5 1 0 -409 1 1 0 42.1616 50.8109 56.1564 -0.783843 0.081086 0.615642 0.490491 45 57.5 1 0 -410 1 1 0 42.9103 49.1943 57.0062 -0.708969 -0.0805729 0.700622 0.490491 45 57.5 1 0 -411 1 1 0 42.5061 49.5936 56.6088 -0.749387 -0.0406418 0.660883 0.490491 45 57.5 1 0 -412 1 1 0 42.5527 48.7886 56.5628 -0.744727 -0.121144 0.656282 0.490491 45 57.5 1 0 -413 1 1 0 42.1616 49.1891 56.1564 -0.783843 -0.081086 0.615642 0.490491 45 57.5 1 0 -414 1 1 0 42.1357 50 56.1768 -0.786433 0 0.617676 0.490491 45 57.5 1 0 -415 1 1 0 41.8079 50.4064 55.7206 -0.819207 0.0406403 0.572055 0.490491 45 57.5 1 0 -416 1 1 0 41.8079 49.5936 55.7206 -0.819207 -0.0406403 0.572055 0.490491 45 57.5 1 0 -417 1 1 0 41.4935 50 55.2573 -0.850651 0 0.525731 0.490491 45 57.5 1 0 -418 1 1 0 43.7771 50 57.8279 -0.622291 0 0.782786 0.490491 45 57.5 1 0 -419 1 1 0 43.325 49.5932 57.435 -0.667502 -0.0406769 0.743496 0.490491 45 57.5 1 0 -420 1 1 0 43.325 50.4068 57.435 -0.667502 0.0406769 0.743496 0.490491 45 57.5 1 0 -421 1 1 0 48.6648 50 59.9105 -0.133524 0 0.991046 0.490491 45 57.5 1 0 -422 1 1 0 47.9963 49.5875 59.7885 -0.200368 -0.0412506 0.978852 0.490491 45 57.5 1 0 -423 1 1 0 47.3448 49.185 59.6065 -0.265519 -0.081501 0.960655 0.490491 45 57.5 1 0 -424 1 1 0 47.336 50 59.6386 -0.266405 0 0.963861 0.490491 45 57.5 1 0 -425 1 1 0 47.9963 50.4125 59.7885 -0.200368 0.0412506 0.978852 0.490491 45 57.5 1 0 -426 1 1 0 47.3448 50.815 59.6065 -0.265519 0.081501 0.960655 0.490491 45 57.5 1 0 -427 1 1 0 46.6766 48.772 59.3513 -0.332342 -0.1228 0.93513 0.490491 45 57.5 1 0 -428 1 1 0 46.0586 48.3899 59.0484 -0.394136 -0.161007 0.904839 0.490491 45 57.5 1 0 -429 1 1 0 46.0039 49.1768 59.1298 -0.399607 -0.0823235 0.912983 0.490491 45 57.5 1 0 -430 1 1 0 45.4574 48.0177 58.6853 -0.454262 -0.198227 0.868535 0.490491 45 57.5 1 0 -431 1 1 0 45.3912 48.8024 58.7934 -0.460882 -0.119755 0.879344 0.490491 45 57.5 1 0 -432 1 1 0 45.3579 49.587 58.8476 -0.464213 -0.0412991 0.88476 0.490491 45 57.5 1 0 -433 1 1 0 46.6766 51.228 59.3513 -0.332342 0.1228 0.93513 0.490491 45 57.5 1 0 -434 1 1 0 46.0039 50.8232 59.1298 -0.399607 0.0823235 0.912983 0.490491 45 57.5 1 0 -435 1 1 0 46.0586 51.6101 59.0484 -0.394136 0.161007 0.904839 0.490491 45 57.5 1 0 -436 1 1 0 45.3579 50.413 58.8476 -0.464213 0.0412991 0.88476 0.490491 45 57.5 1 0 -437 1 1 0 45.3912 51.1976 58.7934 -0.460882 0.119755 0.879344 0.490491 45 57.5 1 0 -438 1 1 0 45.4574 51.9823 58.6853 -0.454262 0.198227 0.868535 0.490491 45 57.5 1 0 -439 1 1 0 46.6586 49.587 59.4162 -0.33414 -0.0413021 0.941618 0.490491 45 57.5 1 0 -440 1 1 0 45.9903 50 59.1609 -0.400968 0 0.916092 0.490491 45 57.5 1 0 -441 1 1 0 46.6586 50.413 59.4162 -0.33414 0.0413021 0.941618 0.490491 45 57.5 1 0 -442 1 1 0 50.6576 55.063 58.5985 0.0657577 0.506298 0.859848 0.490491 45 57.5 1 0 -443 1 1 0 51.312 54.8444 58.6493 0.1312 0.484441 0.864929 0.490491 45 57.5 1 0 -444 1 1 0 50.6582 54.4537 58.9293 0.0658169 0.445365 0.892927 0.490491 45 57.5 1 0 -445 1 1 0 51.9602 54.6027 58.6587 0.196015 0.460266 0.865871 0.490491 45 57.5 1 0 -446 1 1 0 51.3175 54.2236 58.968 0.131749 0.422363 0.896801 0.490491 45 57.5 1 0 -447 1 1 0 52.5989 54.3389 58.6267 0.259892 0.433888 0.862669 0.490491 45 57.5 1 0 -448 1 1 0 51.9641 53.9735 58.964 0.196412 0.39735 0.896401 0.490491 45 57.5 1 0 -449 1 1 0 51.3166 53.5823 59.243 0.131656 0.358229 0.924305 0.490491 45 57.5 1 0 -450 1 1 0 50.6599 53.8172 59.2192 0.0659885 0.381722 0.921919 0.490491 45 57.5 1 0 -451 1 1 0 50.6604 53.1678 59.462 0.0660427 0.316778 0.946198 0.490491 45 57.5 1 0 -452 1 1 0 53.2252 54.0543 58.5534 0.322525 0.405434 0.855337 0.490491 45 57.5 1 0 -453 1 1 0 52.6266 53.6852 58.9174 0.262661 0.368518 0.891742 0.490491 45 57.5 1 0 -454 1 1 0 53.8361 53.7504 58.4391 0.383614 0.375038 0.843912 0.490491 45 57.5 1 0 -455 1 1 0 53.2486 53.3921 58.8284 0.324863 0.339209 0.882837 0.490491 45 57.5 1 0 -456 1 1 0 52.6408 53.0126 59.1624 0.264082 0.301258 0.916244 0.490491 45 57.5 1 0 -457 1 1 0 54.4287 53.4285 58.2845 0.442867 0.342848 0.828447 0.490491 45 57.5 1 0 -458 1 1 0 53.8591 53.0766 58.6973 0.385906 0.307659 0.869725 0.490491 45 57.5 1 0 -459 1 1 0 55 53.0902 58.0902 0.5 0.309017 0.809017 0.490491 45 57.5 1 0 -460 1 1 0 54.4446 52.7469 58.5264 0.444464 0.274694 0.85264 0.490491 45 57.5 1 0 -461 1 1 0 53.8619 52.3868 58.9101 0.386187 0.238677 0.891007 0.490491 45 57.5 1 0 -462 1 1 0 53.2593 52.7063 59.0583 0.325929 0.270627 0.905832 0.490491 45 57.5 1 0 -463 1 1 0 52.6415 52.3245 59.3605 0.264151 0.232455 0.93605 0.490491 45 57.5 1 0 -464 1 1 0 53.2553 52.0119 59.2388 0.32553 0.201189 0.92388 0.490491 45 57.5 1 0 -465 1 1 0 52.6287 51.6246 59.5106 0.262865 0.16246 0.951057 0.490491 45 57.5 1 0 -466 1 1 0 50.6657 52.4733 59.6664 0.0665668 0.247326 0.966643 0.490491 45 57.5 1 0 -467 1 1 0 51.3279 52.2012 59.6639 0.132792 0.220117 0.966393 0.490491 45 57.5 1 0 -468 1 1 0 50.666 51.796 59.8148 0.0666046 0.179596 0.981483 0.490491 45 57.5 1 0 -469 1 1 0 51.9834 51.9178 59.6119 0.198337 0.19178 0.961188 0.490491 45 57.5 1 0 -470 1 1 0 51.3326 51.5155 59.7943 0.133256 0.151549 0.979426 0.490491 45 57.5 1 0 -471 1 1 0 51.9858 51.2273 59.7237 0.198581 0.122729 0.97237 0.490491 45 57.5 1 0 -472 1 1 0 51.3307 50.8224 59.8769 0.133071 0.0822422 0.987688 0.490491 45 57.5 1 0 -473 1 1 0 50.6671 51.1039 59.9165 0.0667095 0.110385 0.991648 0.490491 45 57.5 1 0 -474 1 1 0 50.6674 50.4125 59.9692 0.0667412 0.0412479 0.996917 0.490491 45 57.5 1 0 -475 1 1 0 51.9839 53.3061 59.2268 0.198387 0.330606 0.922682 0.490491 45 57.5 1 0 -476 1 1 0 51.9909 52.6155 59.4443 0.199094 0.26155 0.944433 0.490491 45 57.5 1 0 -477 1 1 0 51.3257 52.8993 59.4782 0.13257 0.289929 0.947822 0.490491 45 57.5 1 0 -478 1 1 0 55.5474 52.7371 57.8572 0.55474 0.273706 0.785715 0.490491 45 57.5 1 0 -479 1 1 0 55.112 52.3345 58.2715 0.511205 0.233445 0.827147 0.490491 45 57.5 1 0 -480 1 1 0 56.0683 52.3709 57.5865 0.606825 0.237086 0.758652 0.490491 45 57.5 1 0 -481 1 1 0 55.6451 51.9727 58.015 0.564513 0.197274 0.801504 0.490491 45 57.5 1 0 -482 1 1 0 55.1926 51.5643 58.4018 0.519259 0.156434 0.840178 0.490491 45 57.5 1 0 -483 1 1 0 56.5601 51.9933 57.2796 0.656006 0.199331 0.727959 0.490491 45 57.5 1 0 -484 1 1 0 56.1546 51.5961 57.7184 0.615456 0.159613 0.771841 0.490491 45 57.5 1 0 -485 1 1 0 57.0205 51.6062 56.9378 0.702047 0.160622 0.69378 0.490491 45 57.5 1 0 -486 1 1 0 56.6284 51.2119 57.3889 0.662842 0.121192 0.738887 0.490491 45 57.5 1 0 -487 1 1 0 56.2024 50.8114 57.802 0.620239 0.0811417 0.780205 0.490491 45 57.5 1 0 -488 1 1 0 55.7114 51.1908 58.1217 0.57114 0.119078 0.81217 0.490491 45 57.5 1 0 -489 1 1 0 55.2411 50.7846 58.4803 0.52411 0.0784592 0.848029 0.490491 45 57.5 1 0 -490 1 1 0 55.7446 50.4067 58.1752 0.574458 0.040675 0.817523 0.490491 45 57.5 1 0 -491 1 1 0 55.2573 50 58.5065 0.525731 0 0.850651 0.490491 45 57.5 1 0 -492 1 1 0 57.4473 51.2114 56.5628 0.744727 0.121144 0.656282 0.490491 45 57.5 1 0 -493 1 1 0 57.0897 50.8057 57.0062 0.708969 0.0805729 0.700622 0.490491 45 57.5 1 0 -494 1 1 0 57.8384 50.8109 56.1564 0.783843 0.081086 0.615642 0.490491 45 57.5 1 0 -495 1 1 0 57.4939 50.4064 56.6088 0.749387 0.0406418 0.660883 0.490491 45 57.5 1 0 -496 1 1 0 57.1128 50 57.0291 0.711282 0 0.702907 0.490491 45 57.5 1 0 -497 1 1 0 58.1921 50.4064 55.7206 0.819207 0.0406403 0.572055 0.490491 45 57.5 1 0 -498 1 1 0 57.8643 50 56.1768 0.786433 0 0.617676 0.490491 45 57.5 1 0 -499 1 1 0 58.5065 50 55.2573 0.850651 0 0.525731 0.490491 45 57.5 1 0 -500 1 1 0 58.1921 49.5936 55.7206 0.819207 -0.0406403 0.572055 0.490491 45 57.5 1 0 -501 1 1 0 57.8384 49.1891 56.1564 0.783843 -0.081086 0.615642 0.490491 45 57.5 1 0 -502 1 1 0 57.4939 49.5936 56.6088 0.749387 -0.0406418 0.660883 0.490491 45 57.5 1 0 -503 1 1 0 57.0897 49.1943 57.0062 0.708969 -0.0805729 0.700622 0.490491 45 57.5 1 0 -504 1 1 0 57.4473 48.7886 56.5628 0.744727 -0.121144 0.656282 0.490491 45 57.5 1 0 -505 1 1 0 57.0205 48.3938 56.9378 0.702047 -0.160622 0.69378 0.490491 45 57.5 1 0 -506 1 1 0 55.7446 49.5933 58.1752 0.574458 -0.040675 0.817523 0.490491 45 57.5 1 0 -507 1 1 0 55.2411 49.2154 58.4803 0.52411 -0.0784592 0.848029 0.490491 45 57.5 1 0 -508 1 1 0 56.2024 49.1886 57.802 0.620239 -0.0811417 0.780205 0.490491 45 57.5 1 0 -509 1 1 0 55.7114 48.8092 58.1217 0.57114 -0.119078 0.81217 0.490491 45 57.5 1 0 -510 1 1 0 55.1926 48.4357 58.4018 0.519259 -0.156434 0.840178 0.490491 45 57.5 1 0 -511 1 1 0 56.6284 48.7881 57.3889 0.662842 -0.121192 0.738887 0.490491 45 57.5 1 0 -512 1 1 0 56.1546 48.4039 57.7184 0.615456 -0.159613 0.771841 0.490491 45 57.5 1 0 -513 1 1 0 56.5601 48.0067 57.2796 0.656006 -0.199331 0.727959 0.490491 45 57.5 1 0 -514 1 1 0 56.0683 47.6291 57.5865 0.606825 -0.237086 0.758652 0.490491 45 57.5 1 0 -515 1 1 0 55.6451 48.0273 58.015 0.564513 -0.197274 0.801504 0.490491 45 57.5 1 0 -516 1 1 0 55.112 47.6655 58.2715 0.511205 -0.233445 0.827147 0.490491 45 57.5 1 0 -517 1 1 0 55.5474 47.2629 57.8572 0.55474 -0.273706 0.785715 0.490491 45 57.5 1 0 -518 1 1 0 55 46.9098 58.0902 0.5 -0.309017 0.809017 0.490491 45 57.5 1 0 -519 1 1 0 56.675 50.4068 57.435 0.667502 0.0406769 0.743496 0.490491 45 57.5 1 0 -520 1 1 0 56.675 49.5932 57.435 0.667502 -0.0406769 0.743496 0.490491 45 57.5 1 0 -521 1 1 0 56.2229 50 57.8279 0.622291 0 0.782786 0.490491 45 57.5 1 0 -522 1 1 0 50.6674 49.5875 59.9692 0.0667412 -0.0412479 0.996917 0.490491 45 57.5 1 0 -523 1 1 0 51.3307 49.1776 59.8769 0.133071 -0.0822422 0.987688 0.490491 45 57.5 1 0 -524 1 1 0 50.6671 48.8961 59.9165 0.0667095 -0.110385 0.991648 0.490491 45 57.5 1 0 -525 1 1 0 51.9858 48.7727 59.7237 0.198581 -0.122729 0.97237 0.490491 45 57.5 1 0 -526 1 1 0 51.3326 48.4845 59.7943 0.133256 -0.151549 0.979426 0.490491 45 57.5 1 0 -527 1 1 0 52.6287 48.3754 59.5106 0.262865 -0.16246 0.951057 0.490491 45 57.5 1 0 -528 1 1 0 51.9834 48.0822 59.6119 0.198337 -0.19178 0.961188 0.490491 45 57.5 1 0 -529 1 1 0 51.3279 47.7988 59.6639 0.132792 -0.220117 0.966393 0.490491 45 57.5 1 0 -530 1 1 0 50.666 48.204 59.8148 0.0666046 -0.179596 0.981483 0.490491 45 57.5 1 0 -531 1 1 0 50.6657 47.5267 59.6664 0.0665668 -0.247326 0.966643 0.490491 45 57.5 1 0 -532 1 1 0 53.2553 47.9881 59.2388 0.32553 -0.201189 0.92388 0.490491 45 57.5 1 0 -533 1 1 0 52.6415 47.6755 59.3605 0.264151 -0.232455 0.93605 0.490491 45 57.5 1 0 -534 1 1 0 53.8619 47.6132 58.9101 0.386187 -0.238677 0.891007 0.490491 45 57.5 1 0 -535 1 1 0 53.2593 47.2937 59.0583 0.325929 -0.270627 0.905832 0.490491 45 57.5 1 0 -536 1 1 0 52.6408 46.9874 59.1624 0.264082 -0.301258 0.916244 0.490491 45 57.5 1 0 -537 1 1 0 54.4446 47.2531 58.5264 0.444464 -0.274694 0.85264 0.490491 45 57.5 1 0 -538 1 1 0 53.8591 46.9234 58.6973 0.385906 -0.307659 0.869725 0.490491 45 57.5 1 0 -539 1 1 0 54.4287 46.5715 58.2845 0.442867 -0.342848 0.828447 0.490491 45 57.5 1 0 -540 1 1 0 53.8361 46.2496 58.4391 0.383614 -0.375038 0.843912 0.490491 45 57.5 1 0 -541 1 1 0 53.2486 46.6079 58.8284 0.324863 -0.339209 0.882837 0.490491 45 57.5 1 0 -542 1 1 0 52.6266 46.3148 58.9174 0.262661 -0.368518 0.891742 0.490491 45 57.5 1 0 -543 1 1 0 53.2252 45.9457 58.5534 0.322525 -0.405434 0.855337 0.490491 45 57.5 1 0 -544 1 1 0 52.5989 45.6611 58.6267 0.259892 -0.433888 0.862669 0.490491 45 57.5 1 0 -545 1 1 0 50.6604 46.8322 59.462 0.0660427 -0.316778 0.946198 0.490491 45 57.5 1 0 -546 1 1 0 51.3166 46.4177 59.243 0.131656 -0.358229 0.924305 0.490491 45 57.5 1 0 -547 1 1 0 50.6599 46.1828 59.2192 0.0659885 -0.381722 0.921919 0.490491 45 57.5 1 0 -548 1 1 0 51.9641 46.0265 58.964 0.196412 -0.39735 0.896401 0.490491 45 57.5 1 0 -549 1 1 0 51.3175 45.7764 58.968 0.131749 -0.422363 0.896801 0.490491 45 57.5 1 0 -550 1 1 0 51.9602 45.3973 58.6587 0.196015 -0.460266 0.865871 0.490491 45 57.5 1 0 -551 1 1 0 51.312 45.1556 58.6493 0.1312 -0.484441 0.864929 0.490491 45 57.5 1 0 -552 1 1 0 50.6582 45.5463 58.9293 0.0658169 -0.445365 0.892927 0.490491 45 57.5 1 0 -553 1 1 0 50.6576 44.937 58.5985 0.0657577 -0.506298 0.859848 0.490491 45 57.5 1 0 -554 1 1 0 51.9909 47.3845 59.4443 0.199094 -0.26155 0.944433 0.490491 45 57.5 1 0 -555 1 1 0 51.9839 46.6939 59.2268 0.198387 -0.330606 0.922682 0.490491 45 57.5 1 0 -556 1 1 0 51.3257 47.1007 59.4782 0.13257 -0.289929 0.947822 0.490491 45 57.5 1 0 -557 1 1 0 54.5426 51.9823 58.6853 0.454262 0.198227 0.868535 0.490491 45 57.5 1 0 -558 1 1 0 54.6088 51.1976 58.7934 0.460882 0.119755 0.879344 0.490491 45 57.5 1 0 -559 1 1 0 54.6421 50.413 58.8476 0.464213 0.0412991 0.88476 0.490491 45 57.5 1 0 -560 1 1 0 53.9961 50.8232 59.1298 0.399607 0.0823235 0.912983 0.490491 45 57.5 1 0 -561 1 1 0 53.9414 51.6101 59.0484 0.394136 0.161007 0.904839 0.490491 45 57.5 1 0 -562 1 1 0 53.3234 51.228 59.3513 0.332342 0.1228 0.93513 0.490491 45 57.5 1 0 -563 1 1 0 54.6421 49.587 58.8476 0.464213 -0.0412991 0.88476 0.490491 45 57.5 1 0 -564 1 1 0 54.6088 48.8024 58.7934 0.460882 -0.119755 0.879344 0.490491 45 57.5 1 0 -565 1 1 0 53.9961 49.1768 59.1298 0.399607 -0.0823235 0.912983 0.490491 45 57.5 1 0 -566 1 1 0 54.5426 48.0177 58.6853 0.454262 -0.198227 0.868535 0.490491 45 57.5 1 0 -567 1 1 0 53.9414 48.3899 59.0484 0.394136 -0.161007 0.904839 0.490491 45 57.5 1 0 -568 1 1 0 53.3234 48.772 59.3513 0.332342 -0.1228 0.93513 0.490491 45 57.5 1 0 -569 1 1 0 52.6552 50.815 59.6065 0.265519 0.081501 0.960655 0.490491 45 57.5 1 0 -570 1 1 0 52.664 50 59.6386 0.266405 0 0.963861 0.490491 45 57.5 1 0 -571 1 1 0 52.0037 50.4125 59.7885 0.200368 0.0412506 0.978852 0.490491 45 57.5 1 0 -572 1 1 0 52.6552 49.185 59.6065 0.265519 -0.081501 0.960655 0.490491 45 57.5 1 0 -573 1 1 0 52.0037 49.5875 59.7885 0.200368 -0.0412506 0.978852 0.490491 45 57.5 1 0 -574 1 1 0 51.3352 50 59.9105 0.133524 0 0.991046 0.490491 45 57.5 1 0 -575 1 1 0 54.0097 50 59.1609 0.400968 0 0.916092 0.490491 45 57.5 1 0 -576 1 1 0 53.3414 49.587 59.4162 0.33414 -0.0413021 0.941618 0.490491 45 57.5 1 0 -577 1 1 0 53.3414 50.413 59.4162 0.33414 0.0413021 0.941618 0.490491 45 57.5 1 0 -578 1 1 0 50 54.6566 41.1503 0 0.465657 -0.884965 0.490491 45 57.5 1 0 -579 1 1 0 50.6576 55.063 41.4015 0.0657577 0.506298 -0.859848 0.490491 45 57.5 1 0 -580 1 1 0 50 54.0336 40.8496 0 0.403355 -0.915043 0.490491 45 57.5 1 0 -581 1 1 0 50.6582 54.4537 41.0707 0.0658169 0.445365 -0.892927 0.490491 45 57.5 1 0 -582 1 1 0 51.312 54.8444 41.3507 0.1312 0.484441 -0.864929 0.490491 45 57.5 1 0 -583 1 1 0 50 53.3912 40.5926 0 0.339122 -0.940742 0.490491 45 57.5 1 0 -584 1 1 0 50.6599 53.8172 40.7808 0.0659885 0.381722 -0.921919 0.490491 45 57.5 1 0 -585 1 1 0 50 52.7327 40.3806 0 0.273267 -0.961938 0.490491 45 57.5 1 0 -586 1 1 0 50.6604 53.1678 40.538 0.0660427 0.316778 -0.946198 0.490491 45 57.5 1 0 -587 1 1 0 51.3166 53.5823 40.757 0.131656 0.358229 -0.924305 0.490491 45 57.5 1 0 -588 1 1 0 51.3175 54.2236 41.032 0.131749 0.422363 -0.896801 0.490491 45 57.5 1 0 -589 1 1 0 51.9602 54.6027 41.3413 0.196015 0.460266 -0.865871 0.490491 45 57.5 1 0 -590 1 1 0 51.9641 53.9735 41.036 0.196412 0.39735 -0.896401 0.490491 45 57.5 1 0 -591 1 1 0 52.5989 54.3389 41.3733 0.259892 0.433888 -0.862669 0.490491 45 57.5 1 0 -592 1 1 0 50 52.061 40.2147 0 0.206103 -0.97853 0.490491 45 57.5 1 0 -593 1 1 0 50.6657 52.4733 40.3336 0.0665668 0.247326 -0.966643 0.490491 45 57.5 1 0 -594 1 1 0 50 51.3795 40.0956 0 0.137952 -0.990439 0.490491 45 57.5 1 0 -595 1 1 0 50.666 51.796 40.1852 0.0666046 0.179596 -0.981483 0.490491 45 57.5 1 0 -596 1 1 0 51.3279 52.2012 40.3361 0.132792 0.220117 -0.966393 0.490491 45 57.5 1 0 -597 1 1 0 50 50.6914 40.0239 0 0.0691418 -0.997607 0.490491 45 57.5 1 0 -598 1 1 0 50.6671 51.1039 40.0835 0.0667095 0.110385 -0.991648 0.490491 45 57.5 1 0 -599 1 1 0 50 50 40 0 0 -1 0.490491 45 57.5 1 0 -600 1 1 0 50.6674 50.4125 40.0308 0.0667412 0.0412479 -0.996917 0.490491 45 57.5 1 0 -601 1 1 0 51.3307 50.8224 40.1231 0.133071 0.0822422 -0.987688 0.490491 45 57.5 1 0 -602 1 1 0 51.3326 51.5155 40.2057 0.133256 0.151549 -0.979426 0.490491 45 57.5 1 0 -603 1 1 0 51.9834 51.9178 40.3881 0.198337 0.19178 -0.961188 0.490491 45 57.5 1 0 -604 1 1 0 51.9858 51.2273 40.2763 0.198581 0.122729 -0.97237 0.490491 45 57.5 1 0 -605 1 1 0 52.6287 51.6246 40.4894 0.262865 0.16246 -0.951057 0.490491 45 57.5 1 0 -606 1 1 0 52.6266 53.6852 41.0826 0.262661 0.368518 -0.891742 0.490491 45 57.5 1 0 -607 1 1 0 53.2252 54.0543 41.4466 0.322525 0.405434 -0.855337 0.490491 45 57.5 1 0 -608 1 1 0 52.6408 53.0126 40.8376 0.264082 0.301258 -0.916244 0.490491 45 57.5 1 0 -609 1 1 0 53.2486 53.3921 41.1716 0.324863 0.339209 -0.882837 0.490491 45 57.5 1 0 -610 1 1 0 53.8361 53.7504 41.5609 0.383614 0.375038 -0.843912 0.490491 45 57.5 1 0 -611 1 1 0 52.6415 52.3245 40.6395 0.264151 0.232455 -0.93605 0.490491 45 57.5 1 0 -612 1 1 0 53.2593 52.7063 40.9417 0.325929 0.270627 -0.905832 0.490491 45 57.5 1 0 -613 1 1 0 53.2553 52.0119 40.7612 0.32553 0.201189 -0.92388 0.490491 45 57.5 1 0 -614 1 1 0 53.8619 52.3868 41.0899 0.386187 0.238677 -0.891007 0.490491 45 57.5 1 0 -615 1 1 0 53.8591 53.0766 41.3027 0.385906 0.307659 -0.869725 0.490491 45 57.5 1 0 -616 1 1 0 54.4287 53.4285 41.7155 0.442867 0.342848 -0.828447 0.490491 45 57.5 1 0 -617 1 1 0 54.4446 52.7469 41.4736 0.444464 0.274694 -0.85264 0.490491 45 57.5 1 0 -618 1 1 0 55 53.0902 41.9098 0.5 0.309017 -0.809017 0.490491 45 57.5 1 0 -619 1 1 0 51.3257 52.8993 40.5218 0.13257 0.289929 -0.947822 0.490491 45 57.5 1 0 -620 1 1 0 51.9909 52.6155 40.5557 0.199094 0.26155 -0.944433 0.490491 45 57.5 1 0 -621 1 1 0 51.9839 53.3061 40.7732 0.198387 0.330606 -0.922682 0.490491 45 57.5 1 0 -622 1 1 0 50 49.3086 40.0239 0 -0.0691418 -0.997607 0.490491 45 57.5 1 0 -623 1 1 0 50.6674 49.5875 40.0308 0.0667412 -0.0412479 -0.996917 0.490491 45 57.5 1 0 -624 1 1 0 50 48.6205 40.0956 0 -0.137952 -0.990439 0.490491 45 57.5 1 0 -625 1 1 0 50.6671 48.8961 40.0835 0.0667095 -0.110385 -0.991648 0.490491 45 57.5 1 0 -626 1 1 0 51.3307 49.1776 40.1231 0.133071 -0.0822422 -0.987688 0.490491 45 57.5 1 0 -627 1 1 0 50 47.939 40.2147 0 -0.206103 -0.97853 0.490491 45 57.5 1 0 -628 1 1 0 50.666 48.204 40.1852 0.0666046 -0.179596 -0.981483 0.490491 45 57.5 1 0 -629 1 1 0 50 47.2673 40.3806 0 -0.273267 -0.961938 0.490491 45 57.5 1 0 -630 1 1 0 50.6657 47.5267 40.3336 0.0665668 -0.247326 -0.966643 0.490491 45 57.5 1 0 -631 1 1 0 51.3279 47.7988 40.3361 0.132792 -0.220117 -0.966393 0.490491 45 57.5 1 0 -632 1 1 0 51.3326 48.4845 40.2057 0.133256 -0.151549 -0.979426 0.490491 45 57.5 1 0 -633 1 1 0 51.9858 48.7727 40.2763 0.198581 -0.122729 -0.97237 0.490491 45 57.5 1 0 -634 1 1 0 51.9834 48.0822 40.3881 0.198337 -0.19178 -0.961188 0.490491 45 57.5 1 0 -635 1 1 0 52.6287 48.3754 40.4894 0.262865 -0.16246 -0.951057 0.490491 45 57.5 1 0 -636 1 1 0 50 46.6088 40.5926 0 -0.339122 -0.940742 0.490491 45 57.5 1 0 -637 1 1 0 50.6604 46.8322 40.538 0.0660427 -0.316778 -0.946198 0.490491 45 57.5 1 0 -638 1 1 0 50 45.9664 40.8496 0 -0.403355 -0.915043 0.490491 45 57.5 1 0 -639 1 1 0 50.6599 46.1828 40.7808 0.0659885 -0.381722 -0.921919 0.490491 45 57.5 1 0 -640 1 1 0 51.3166 46.4177 40.757 0.131656 -0.358229 -0.924305 0.490491 45 57.5 1 0 -641 1 1 0 50 45.3434 41.1503 0 -0.465657 -0.884965 0.490491 45 57.5 1 0 -642 1 1 0 50.6582 45.5463 41.0707 0.0658169 -0.445365 -0.892927 0.490491 45 57.5 1 0 -643 1 1 0 50 44.7427 41.4935 0 -0.525731 -0.850651 0.490491 45 57.5 1 0 -644 1 1 0 50.6576 44.937 41.4015 0.0657577 -0.506298 -0.859848 0.490491 45 57.5 1 0 -645 1 1 0 51.312 45.1556 41.3507 0.1312 -0.484441 -0.864929 0.490491 45 57.5 1 0 -646 1 1 0 51.3175 45.7764 41.032 0.131749 -0.422363 -0.896801 0.490491 45 57.5 1 0 -647 1 1 0 51.9641 46.0265 41.036 0.196412 -0.39735 -0.896401 0.490491 45 57.5 1 0 -648 1 1 0 51.9602 45.3973 41.3413 0.196015 -0.460266 -0.865871 0.490491 45 57.5 1 0 -649 1 1 0 52.5989 45.6611 41.3733 0.259892 -0.433888 -0.862669 0.490491 45 57.5 1 0 -650 1 1 0 52.6415 47.6755 40.6395 0.264151 -0.232455 -0.93605 0.490491 45 57.5 1 0 -651 1 1 0 53.2553 47.9881 40.7612 0.32553 -0.201189 -0.92388 0.490491 45 57.5 1 0 -652 1 1 0 52.6408 46.9874 40.8376 0.264082 -0.301258 -0.916244 0.490491 45 57.5 1 0 -653 1 1 0 53.2593 47.2937 40.9417 0.325929 -0.270627 -0.905832 0.490491 45 57.5 1 0 -654 1 1 0 53.8619 47.6132 41.0899 0.386187 -0.238677 -0.891007 0.490491 45 57.5 1 0 -655 1 1 0 52.6266 46.3148 41.0826 0.262661 -0.368518 -0.891742 0.490491 45 57.5 1 0 -656 1 1 0 53.2486 46.6079 41.1716 0.324863 -0.339209 -0.882837 0.490491 45 57.5 1 0 -657 1 1 0 53.2252 45.9457 41.4466 0.322525 -0.405434 -0.855337 0.490491 45 57.5 1 0 -658 1 1 0 53.8361 46.2496 41.5609 0.383614 -0.375038 -0.843912 0.490491 45 57.5 1 0 -659 1 1 0 53.8591 46.9234 41.3027 0.385906 -0.307659 -0.869725 0.490491 45 57.5 1 0 -660 1 1 0 54.4446 47.2531 41.4736 0.444464 -0.274694 -0.85264 0.490491 45 57.5 1 0 -661 1 1 0 54.4287 46.5715 41.7155 0.442867 -0.342848 -0.828447 0.490491 45 57.5 1 0 -662 1 1 0 55 46.9098 41.9098 0.5 -0.309017 -0.809017 0.490491 45 57.5 1 0 -663 1 1 0 51.3257 47.1007 40.5218 0.13257 -0.289929 -0.947822 0.490491 45 57.5 1 0 -664 1 1 0 51.9839 46.6939 40.7732 0.198387 -0.330606 -0.922682 0.490491 45 57.5 1 0 -665 1 1 0 51.9909 47.3845 40.5557 0.199094 -0.26155 -0.944433 0.490491 45 57.5 1 0 -666 1 1 0 55.112 52.3345 41.7285 0.511205 0.233445 -0.827147 0.490491 45 57.5 1 0 -667 1 1 0 55.5474 52.7371 42.1428 0.55474 0.273706 -0.785715 0.490491 45 57.5 1 0 -668 1 1 0 55.1926 51.5643 41.5982 0.519259 0.156434 -0.840178 0.490491 45 57.5 1 0 -669 1 1 0 55.6451 51.9727 41.985 0.564513 0.197274 -0.801504 0.490491 45 57.5 1 0 -670 1 1 0 56.0683 52.3709 42.4135 0.606825 0.237086 -0.758652 0.490491 45 57.5 1 0 -671 1 1 0 55.2411 50.7846 41.5197 0.52411 0.0784592 -0.848029 0.490491 45 57.5 1 0 -672 1 1 0 55.7114 51.1908 41.8783 0.57114 0.119078 -0.81217 0.490491 45 57.5 1 0 -673 1 1 0 55.2573 50 41.4935 0.525731 0 -0.850651 0.490491 45 57.5 1 0 -674 1 1 0 55.7446 50.4067 41.8248 0.574458 0.040675 -0.817523 0.490491 45 57.5 1 0 -675 1 1 0 56.2024 50.8114 42.198 0.620239 0.0811417 -0.780205 0.490491 45 57.5 1 0 -676 1 1 0 56.1546 51.5961 42.2816 0.615456 0.159613 -0.771841 0.490491 45 57.5 1 0 -677 1 1 0 56.5601 51.9933 42.7204 0.656006 0.199331 -0.727959 0.490491 45 57.5 1 0 -678 1 1 0 56.6284 51.2119 42.6111 0.662842 0.121192 -0.738887 0.490491 45 57.5 1 0 -679 1 1 0 57.0205 51.6062 43.0622 0.702047 0.160622 -0.69378 0.490491 45 57.5 1 0 -680 1 1 0 55.2411 49.2154 41.5197 0.52411 -0.0784592 -0.848029 0.490491 45 57.5 1 0 -681 1 1 0 55.7446 49.5933 41.8248 0.574458 -0.040675 -0.817523 0.490491 45 57.5 1 0 -682 1 1 0 55.1926 48.4357 41.5982 0.519259 -0.156434 -0.840178 0.490491 45 57.5 1 0 -683 1 1 0 55.7114 48.8092 41.8783 0.57114 -0.119078 -0.81217 0.490491 45 57.5 1 0 -684 1 1 0 56.2024 49.1886 42.198 0.620239 -0.0811417 -0.780205 0.490491 45 57.5 1 0 -685 1 1 0 55.112 47.6655 41.7285 0.511205 -0.233445 -0.827147 0.490491 45 57.5 1 0 -686 1 1 0 55.6451 48.0273 41.985 0.564513 -0.197274 -0.801504 0.490491 45 57.5 1 0 -687 1 1 0 55.5474 47.2629 42.1428 0.55474 -0.273706 -0.785715 0.490491 45 57.5 1 0 -688 1 1 0 56.0683 47.6291 42.4135 0.606825 -0.237086 -0.758652 0.490491 45 57.5 1 0 -689 1 1 0 56.1546 48.4039 42.2816 0.615456 -0.159613 -0.771841 0.490491 45 57.5 1 0 -690 1 1 0 56.6284 48.7881 42.6111 0.662842 -0.121192 -0.738887 0.490491 45 57.5 1 0 -691 1 1 0 56.5601 48.0067 42.7204 0.656006 -0.199331 -0.727959 0.490491 45 57.5 1 0 -692 1 1 0 57.0205 48.3938 43.0622 0.702047 -0.160622 -0.69378 0.490491 45 57.5 1 0 -693 1 1 0 57.0897 50.8057 42.9938 0.708969 0.0805729 -0.700622 0.490491 45 57.5 1 0 -694 1 1 0 57.4473 51.2114 43.4372 0.744727 0.121144 -0.656282 0.490491 45 57.5 1 0 -695 1 1 0 57.1128 50 42.9709 0.711282 0 -0.702907 0.490491 45 57.5 1 0 -696 1 1 0 57.4939 50.4064 43.3912 0.749387 0.0406418 -0.660883 0.490491 45 57.5 1 0 -697 1 1 0 57.8384 50.8109 43.8436 0.783843 0.081086 -0.615642 0.490491 45 57.5 1 0 -698 1 1 0 57.0897 49.1943 42.9938 0.708969 -0.0805729 -0.700622 0.490491 45 57.5 1 0 -699 1 1 0 57.4939 49.5936 43.3912 0.749387 -0.0406418 -0.660883 0.490491 45 57.5 1 0 -700 1 1 0 57.4473 48.7886 43.4372 0.744727 -0.121144 -0.656282 0.490491 45 57.5 1 0 -701 1 1 0 57.8384 49.1891 43.8436 0.783843 -0.081086 -0.615642 0.490491 45 57.5 1 0 -702 1 1 0 57.8643 50 43.8232 0.786433 0 -0.617676 0.490491 45 57.5 1 0 -703 1 1 0 58.1921 50.4064 44.2794 0.819207 0.0406403 -0.572055 0.490491 45 57.5 1 0 -704 1 1 0 58.1921 49.5936 44.2794 0.819207 -0.0406403 -0.572055 0.490491 45 57.5 1 0 -705 1 1 0 58.5065 50 44.7427 0.850651 0 -0.525731 0.490491 45 57.5 1 0 -706 1 1 0 56.2229 50 42.1721 0.622291 0 -0.782786 0.490491 45 57.5 1 0 -707 1 1 0 56.675 49.5932 42.565 0.667502 -0.0406769 -0.743496 0.490491 45 57.5 1 0 -708 1 1 0 56.675 50.4068 42.565 0.667502 0.0406769 -0.743496 0.490491 45 57.5 1 0 -709 1 1 0 51.3352 50 40.0895 0.133524 0 -0.991046 0.490491 45 57.5 1 0 -710 1 1 0 52.0037 49.5875 40.2115 0.200368 -0.0412506 -0.978852 0.490491 45 57.5 1 0 -711 1 1 0 52.6552 49.185 40.3935 0.265519 -0.081501 -0.960655 0.490491 45 57.5 1 0 -712 1 1 0 52.664 50 40.3614 0.266405 0 -0.963861 0.490491 45 57.5 1 0 -713 1 1 0 52.0037 50.4125 40.2115 0.200368 0.0412506 -0.978852 0.490491 45 57.5 1 0 -714 1 1 0 52.6552 50.815 40.3935 0.265519 0.081501 -0.960655 0.490491 45 57.5 1 0 -715 1 1 0 53.3234 48.772 40.6487 0.332342 -0.1228 -0.93513 0.490491 45 57.5 1 0 -716 1 1 0 53.9414 48.3899 40.9516 0.394136 -0.161007 -0.904839 0.490491 45 57.5 1 0 -717 1 1 0 53.9961 49.1768 40.8702 0.399607 -0.0823235 -0.912983 0.490491 45 57.5 1 0 -718 1 1 0 54.5426 48.0177 41.3147 0.454262 -0.198227 -0.868535 0.490491 45 57.5 1 0 -719 1 1 0 54.6088 48.8024 41.2066 0.460882 -0.119755 -0.879344 0.490491 45 57.5 1 0 -720 1 1 0 54.6421 49.587 41.1524 0.464213 -0.0412991 -0.88476 0.490491 45 57.5 1 0 -721 1 1 0 53.3234 51.228 40.6487 0.332342 0.1228 -0.93513 0.490491 45 57.5 1 0 -722 1 1 0 53.9961 50.8232 40.8702 0.399607 0.0823235 -0.912983 0.490491 45 57.5 1 0 -723 1 1 0 53.9414 51.6101 40.9516 0.394136 0.161007 -0.904839 0.490491 45 57.5 1 0 -724 1 1 0 54.6421 50.413 41.1524 0.464213 0.0412991 -0.88476 0.490491 45 57.5 1 0 -725 1 1 0 54.6088 51.1976 41.2066 0.460882 0.119755 -0.879344 0.490491 45 57.5 1 0 -726 1 1 0 54.5426 51.9823 41.3147 0.454262 0.198227 -0.868535 0.490491 45 57.5 1 0 -727 1 1 0 53.3414 49.587 40.5838 0.33414 -0.0413021 -0.941618 0.490491 45 57.5 1 0 -728 1 1 0 54.0097 50 40.8391 0.400968 0 -0.916092 0.490491 45 57.5 1 0 -729 1 1 0 53.3414 50.413 40.5838 0.33414 0.0413021 -0.941618 0.490491 45 57.5 1 0 -730 1 1 0 49.3424 55.063 41.4015 -0.0657577 0.506298 -0.859848 0.490491 45 57.5 1 0 -731 1 1 0 48.688 54.8444 41.3507 -0.1312 0.484441 -0.864929 0.490491 45 57.5 1 0 -732 1 1 0 49.3418 54.4537 41.0707 -0.0658169 0.445365 -0.892927 0.490491 45 57.5 1 0 -733 1 1 0 48.0398 54.6027 41.3413 -0.196015 0.460266 -0.865871 0.490491 45 57.5 1 0 -734 1 1 0 48.6825 54.2236 41.032 -0.131749 0.422363 -0.896801 0.490491 45 57.5 1 0 -735 1 1 0 47.4011 54.3389 41.3733 -0.259892 0.433888 -0.862669 0.490491 45 57.5 1 0 -736 1 1 0 48.0359 53.9735 41.036 -0.196412 0.39735 -0.896401 0.490491 45 57.5 1 0 -737 1 1 0 48.6834 53.5823 40.757 -0.131656 0.358229 -0.924305 0.490491 45 57.5 1 0 -738 1 1 0 49.3401 53.8172 40.7808 -0.0659885 0.381722 -0.921919 0.490491 45 57.5 1 0 -739 1 1 0 49.3396 53.1678 40.538 -0.0660427 0.316778 -0.946198 0.490491 45 57.5 1 0 -740 1 1 0 46.7748 54.0543 41.4466 -0.322525 0.405434 -0.855337 0.490491 45 57.5 1 0 -741 1 1 0 47.3734 53.6852 41.0826 -0.262661 0.368518 -0.891742 0.490491 45 57.5 1 0 -742 1 1 0 46.1639 53.7504 41.5609 -0.383614 0.375038 -0.843912 0.490491 45 57.5 1 0 -743 1 1 0 46.7514 53.3921 41.1716 -0.324863 0.339209 -0.882837 0.490491 45 57.5 1 0 -744 1 1 0 47.3592 53.0126 40.8376 -0.264082 0.301258 -0.916244 0.490491 45 57.5 1 0 -745 1 1 0 45.5713 53.4285 41.7155 -0.442867 0.342848 -0.828447 0.490491 45 57.5 1 0 -746 1 1 0 46.1409 53.0766 41.3027 -0.385906 0.307659 -0.869725 0.490491 45 57.5 1 0 -747 1 1 0 45 53.0902 41.9098 -0.5 0.309017 -0.809017 0.490491 45 57.5 1 0 -748 1 1 0 45.5554 52.7469 41.4736 -0.444464 0.274694 -0.85264 0.490491 45 57.5 1 0 -749 1 1 0 46.1381 52.3868 41.0899 -0.386187 0.238677 -0.891007 0.490491 45 57.5 1 0 -750 1 1 0 46.7407 52.7063 40.9417 -0.325929 0.270627 -0.905832 0.490491 45 57.5 1 0 -751 1 1 0 47.3585 52.3245 40.6395 -0.264151 0.232455 -0.93605 0.490491 45 57.5 1 0 -752 1 1 0 46.7447 52.0119 40.7612 -0.32553 0.201189 -0.92388 0.490491 45 57.5 1 0 -753 1 1 0 47.3713 51.6246 40.4894 -0.262865 0.16246 -0.951057 0.490491 45 57.5 1 0 -754 1 1 0 49.3343 52.4733 40.3336 -0.0665668 0.247326 -0.966643 0.490491 45 57.5 1 0 -755 1 1 0 48.6721 52.2012 40.3361 -0.132792 0.220117 -0.966393 0.490491 45 57.5 1 0 -756 1 1 0 49.334 51.796 40.1852 -0.0666046 0.179596 -0.981483 0.490491 45 57.5 1 0 -757 1 1 0 48.0166 51.9178 40.3881 -0.198337 0.19178 -0.961188 0.490491 45 57.5 1 0 -758 1 1 0 48.6674 51.5155 40.2057 -0.133256 0.151549 -0.979426 0.490491 45 57.5 1 0 -759 1 1 0 48.0142 51.2273 40.2763 -0.198581 0.122729 -0.97237 0.490491 45 57.5 1 0 -760 1 1 0 48.6693 50.8224 40.1231 -0.133071 0.0822422 -0.987688 0.490491 45 57.5 1 0 -761 1 1 0 49.3329 51.1039 40.0835 -0.0667095 0.110385 -0.991648 0.490491 45 57.5 1 0 -762 1 1 0 49.3326 50.4125 40.0308 -0.0667412 0.0412479 -0.996917 0.490491 45 57.5 1 0 -763 1 1 0 48.0161 53.3061 40.7732 -0.198387 0.330606 -0.922682 0.490491 45 57.5 1 0 -764 1 1 0 48.0091 52.6155 40.5557 -0.199094 0.26155 -0.944433 0.490491 45 57.5 1 0 -765 1 1 0 48.6743 52.8993 40.5218 -0.13257 0.289929 -0.947822 0.490491 45 57.5 1 0 -766 1 1 0 44.4526 52.7371 42.1428 -0.55474 0.273706 -0.785715 0.490491 45 57.5 1 0 -767 1 1 0 44.888 52.3345 41.7285 -0.511205 0.233445 -0.827147 0.490491 45 57.5 1 0 -768 1 1 0 43.9317 52.3709 42.4135 -0.606825 0.237086 -0.758652 0.490491 45 57.5 1 0 -769 1 1 0 44.3549 51.9727 41.985 -0.564513 0.197274 -0.801504 0.490491 45 57.5 1 0 -770 1 1 0 44.8074 51.5643 41.5982 -0.519259 0.156434 -0.840178 0.490491 45 57.5 1 0 -771 1 1 0 43.4399 51.9933 42.7204 -0.656006 0.199331 -0.727959 0.490491 45 57.5 1 0 -772 1 1 0 43.8454 51.5961 42.2816 -0.615456 0.159613 -0.771841 0.490491 45 57.5 1 0 -773 1 1 0 42.9795 51.6062 43.0622 -0.702047 0.160622 -0.69378 0.490491 45 57.5 1 0 -774 1 1 0 43.3716 51.2119 42.6111 -0.662842 0.121192 -0.738887 0.490491 45 57.5 1 0 -775 1 1 0 43.7976 50.8114 42.198 -0.620239 0.0811417 -0.780205 0.490491 45 57.5 1 0 -776 1 1 0 44.2886 51.1908 41.8783 -0.57114 0.119078 -0.81217 0.490491 45 57.5 1 0 -777 1 1 0 44.7589 50.7846 41.5197 -0.52411 0.0784592 -0.848029 0.490491 45 57.5 1 0 -778 1 1 0 44.2554 50.4067 41.8248 -0.574458 0.040675 -0.817523 0.490491 45 57.5 1 0 -779 1 1 0 44.7427 50 41.4935 -0.525731 0 -0.850651 0.490491 45 57.5 1 0 -780 1 1 0 42.5527 51.2114 43.4372 -0.744727 0.121144 -0.656282 0.490491 45 57.5 1 0 -781 1 1 0 42.9103 50.8057 42.9938 -0.708969 0.0805729 -0.700622 0.490491 45 57.5 1 0 -782 1 1 0 42.1616 50.8109 43.8436 -0.783843 0.081086 -0.615642 0.490491 45 57.5 1 0 -783 1 1 0 42.5061 50.4064 43.3912 -0.749387 0.0406418 -0.660883 0.490491 45 57.5 1 0 -784 1 1 0 42.8872 50 42.9709 -0.711282 0 -0.702907 0.490491 45 57.5 1 0 -785 1 1 0 41.8079 50.4064 44.2794 -0.819207 0.0406403 -0.572055 0.490491 45 57.5 1 0 -786 1 1 0 42.1357 50 43.8232 -0.786433 0 -0.617676 0.490491 45 57.5 1 0 -787 1 1 0 41.4935 50 44.7427 -0.850651 0 -0.525731 0.490491 45 57.5 1 0 -788 1 1 0 41.8079 49.5936 44.2794 -0.819207 -0.0406403 -0.572055 0.490491 45 57.5 1 0 -789 1 1 0 42.1616 49.1891 43.8436 -0.783843 -0.081086 -0.615642 0.490491 45 57.5 1 0 -790 1 1 0 42.5061 49.5936 43.3912 -0.749387 -0.0406418 -0.660883 0.490491 45 57.5 1 0 -791 1 1 0 42.9103 49.1943 42.9938 -0.708969 -0.0805729 -0.700622 0.490491 45 57.5 1 0 -792 1 1 0 42.5527 48.7886 43.4372 -0.744727 -0.121144 -0.656282 0.490491 45 57.5 1 0 -793 1 1 0 42.9795 48.3938 43.0622 -0.702047 -0.160622 -0.69378 0.490491 45 57.5 1 0 -794 1 1 0 44.2554 49.5933 41.8248 -0.574458 -0.040675 -0.817523 0.490491 45 57.5 1 0 -795 1 1 0 44.7589 49.2154 41.5197 -0.52411 -0.0784592 -0.848029 0.490491 45 57.5 1 0 -796 1 1 0 43.7976 49.1886 42.198 -0.620239 -0.0811417 -0.780205 0.490491 45 57.5 1 0 -797 1 1 0 44.2886 48.8092 41.8783 -0.57114 -0.119078 -0.81217 0.490491 45 57.5 1 0 -798 1 1 0 44.8074 48.4357 41.5982 -0.519259 -0.156434 -0.840178 0.490491 45 57.5 1 0 -799 1 1 0 43.3716 48.7881 42.6111 -0.662842 -0.121192 -0.738887 0.490491 45 57.5 1 0 -800 1 1 0 43.8454 48.4039 42.2816 -0.615456 -0.159613 -0.771841 0.490491 45 57.5 1 0 -801 1 1 0 43.4399 48.0067 42.7204 -0.656006 -0.199331 -0.727959 0.490491 45 57.5 1 0 -802 1 1 0 43.9317 47.6291 42.4135 -0.606825 -0.237086 -0.758652 0.490491 45 57.5 1 0 -803 1 1 0 44.3549 48.0273 41.985 -0.564513 -0.197274 -0.801504 0.490491 45 57.5 1 0 -804 1 1 0 44.888 47.6655 41.7285 -0.511205 -0.233445 -0.827147 0.490491 45 57.5 1 0 -805 1 1 0 44.4526 47.2629 42.1428 -0.55474 -0.273706 -0.785715 0.490491 45 57.5 1 0 -806 1 1 0 45 46.9098 41.9098 -0.5 -0.309017 -0.809017 0.490491 45 57.5 1 0 -807 1 1 0 43.325 50.4068 42.565 -0.667502 0.0406769 -0.743496 0.490491 45 57.5 1 0 -808 1 1 0 43.325 49.5932 42.565 -0.667502 -0.0406769 -0.743496 0.490491 45 57.5 1 0 -809 1 1 0 43.7771 50 42.1721 -0.622291 0 -0.782786 0.490491 45 57.5 1 0 -810 1 1 0 49.3326 49.5875 40.0308 -0.0667412 -0.0412479 -0.996917 0.490491 45 57.5 1 0 -811 1 1 0 48.6693 49.1776 40.1231 -0.133071 -0.0822422 -0.987688 0.490491 45 57.5 1 0 -812 1 1 0 49.3329 48.8961 40.0835 -0.0667095 -0.110385 -0.991648 0.490491 45 57.5 1 0 -813 1 1 0 48.0142 48.7727 40.2763 -0.198581 -0.122729 -0.97237 0.490491 45 57.5 1 0 -814 1 1 0 48.6674 48.4845 40.2057 -0.133256 -0.151549 -0.979426 0.490491 45 57.5 1 0 -815 1 1 0 47.3713 48.3754 40.4894 -0.262865 -0.16246 -0.951057 0.490491 45 57.5 1 0 -816 1 1 0 48.0166 48.0822 40.3881 -0.198337 -0.19178 -0.961188 0.490491 45 57.5 1 0 -817 1 1 0 48.6721 47.7988 40.3361 -0.132792 -0.220117 -0.966393 0.490491 45 57.5 1 0 -818 1 1 0 49.334 48.204 40.1852 -0.0666046 -0.179596 -0.981483 0.490491 45 57.5 1 0 -819 1 1 0 49.3343 47.5267 40.3336 -0.0665668 -0.247326 -0.966643 0.490491 45 57.5 1 0 -820 1 1 0 46.7447 47.9881 40.7612 -0.32553 -0.201189 -0.92388 0.490491 45 57.5 1 0 -821 1 1 0 47.3585 47.6755 40.6395 -0.264151 -0.232455 -0.93605 0.490491 45 57.5 1 0 -822 1 1 0 46.1381 47.6132 41.0899 -0.386187 -0.238677 -0.891007 0.490491 45 57.5 1 0 -823 1 1 0 46.7407 47.2937 40.9417 -0.325929 -0.270627 -0.905832 0.490491 45 57.5 1 0 -824 1 1 0 47.3592 46.9874 40.8376 -0.264082 -0.301258 -0.916244 0.490491 45 57.5 1 0 -825 1 1 0 45.5554 47.2531 41.4736 -0.444464 -0.274694 -0.85264 0.490491 45 57.5 1 0 -826 1 1 0 46.1409 46.9234 41.3027 -0.385906 -0.307659 -0.869725 0.490491 45 57.5 1 0 -827 1 1 0 45.5713 46.5715 41.7155 -0.442867 -0.342848 -0.828447 0.490491 45 57.5 1 0 -828 1 1 0 46.1639 46.2496 41.5609 -0.383614 -0.375038 -0.843912 0.490491 45 57.5 1 0 -829 1 1 0 46.7514 46.6079 41.1716 -0.324863 -0.339209 -0.882837 0.490491 45 57.5 1 0 -830 1 1 0 47.3734 46.3148 41.0826 -0.262661 -0.368518 -0.891742 0.490491 45 57.5 1 0 -831 1 1 0 46.7748 45.9457 41.4466 -0.322525 -0.405434 -0.855337 0.490491 45 57.5 1 0 -832 1 1 0 47.4011 45.6611 41.3733 -0.259892 -0.433888 -0.862669 0.490491 45 57.5 1 0 -833 1 1 0 49.3396 46.8322 40.538 -0.0660427 -0.316778 -0.946198 0.490491 45 57.5 1 0 -834 1 1 0 48.6834 46.4177 40.757 -0.131656 -0.358229 -0.924305 0.490491 45 57.5 1 0 -835 1 1 0 49.3401 46.1828 40.7808 -0.0659885 -0.381722 -0.921919 0.490491 45 57.5 1 0 -836 1 1 0 48.0359 46.0265 41.036 -0.196412 -0.39735 -0.896401 0.490491 45 57.5 1 0 -837 1 1 0 48.6825 45.7764 41.032 -0.131749 -0.422363 -0.896801 0.490491 45 57.5 1 0 -838 1 1 0 48.0398 45.3973 41.3413 -0.196015 -0.460266 -0.865871 0.490491 45 57.5 1 0 -839 1 1 0 48.688 45.1556 41.3507 -0.1312 -0.484441 -0.864929 0.490491 45 57.5 1 0 -840 1 1 0 49.3418 45.5463 41.0707 -0.0658169 -0.445365 -0.892927 0.490491 45 57.5 1 0 -841 1 1 0 49.3424 44.937 41.4015 -0.0657577 -0.506298 -0.859848 0.490491 45 57.5 1 0 -842 1 1 0 48.0091 47.3845 40.5557 -0.199094 -0.26155 -0.944433 0.490491 45 57.5 1 0 -843 1 1 0 48.0161 46.6939 40.7732 -0.198387 -0.330606 -0.922682 0.490491 45 57.5 1 0 -844 1 1 0 48.6743 47.1007 40.5218 -0.13257 -0.289929 -0.947822 0.490491 45 57.5 1 0 -845 1 1 0 45.4574 51.9823 41.3147 -0.454262 0.198227 -0.868535 0.490491 45 57.5 1 0 -846 1 1 0 45.3912 51.1976 41.2066 -0.460882 0.119755 -0.879344 0.490491 45 57.5 1 0 -847 1 1 0 45.3579 50.413 41.1524 -0.464213 0.0412991 -0.88476 0.490491 45 57.5 1 0 -848 1 1 0 46.0039 50.8232 40.8702 -0.399607 0.0823235 -0.912983 0.490491 45 57.5 1 0 -849 1 1 0 46.0586 51.6101 40.9516 -0.394136 0.161007 -0.904839 0.490491 45 57.5 1 0 -850 1 1 0 46.6766 51.228 40.6487 -0.332342 0.1228 -0.93513 0.490491 45 57.5 1 0 -851 1 1 0 45.3579 49.587 41.1524 -0.464213 -0.0412991 -0.88476 0.490491 45 57.5 1 0 -852 1 1 0 45.3912 48.8024 41.2066 -0.460882 -0.119755 -0.879344 0.490491 45 57.5 1 0 -853 1 1 0 46.0039 49.1768 40.8702 -0.399607 -0.0823235 -0.912983 0.490491 45 57.5 1 0 -854 1 1 0 45.4574 48.0177 41.3147 -0.454262 -0.198227 -0.868535 0.490491 45 57.5 1 0 -855 1 1 0 46.0586 48.3899 40.9516 -0.394136 -0.161007 -0.904839 0.490491 45 57.5 1 0 -856 1 1 0 46.6766 48.772 40.6487 -0.332342 -0.1228 -0.93513 0.490491 45 57.5 1 0 -857 1 1 0 47.3448 50.815 40.3935 -0.265519 0.081501 -0.960655 0.490491 45 57.5 1 0 -858 1 1 0 47.336 50 40.3614 -0.266405 0 -0.963861 0.490491 45 57.5 1 0 -859 1 1 0 47.9963 50.4125 40.2115 -0.200368 0.0412506 -0.978852 0.490491 45 57.5 1 0 -860 1 1 0 47.3448 49.185 40.3935 -0.265519 -0.081501 -0.960655 0.490491 45 57.5 1 0 -861 1 1 0 47.9963 49.5875 40.2115 -0.200368 -0.0412506 -0.978852 0.490491 45 57.5 1 0 -862 1 1 0 48.6648 50 40.0895 -0.133524 0 -0.991046 0.490491 45 57.5 1 0 -863 1 1 0 45.9903 50 40.8391 -0.400968 0 -0.916092 0.490491 45 57.5 1 0 -864 1 1 0 46.6586 49.587 40.5838 -0.33414 -0.0413021 -0.941618 0.490491 45 57.5 1 0 -865 1 1 0 46.6586 50.413 40.5838 -0.33414 0.0413021 -0.941618 0.490491 45 57.5 1 0 -866 1 1 0 50.4064 44.2794 58.1921 0.0406403 -0.572055 0.819208 0.490491 45 57.5 1 0 -867 1 1 0 49.5936 44.2794 58.1921 -0.0406403 -0.572055 0.819208 0.490491 45 57.5 1 0 -868 1 1 0 50.8109 43.8436 57.8384 0.081086 -0.615642 0.783843 0.490491 45 57.5 1 0 -869 1 1 0 50 43.8232 57.8643 0 -0.617676 0.786433 0.490491 45 57.5 1 0 -870 1 1 0 49.1891 43.8436 57.8384 -0.081086 -0.615642 0.783843 0.490491 45 57.5 1 0 -871 1 1 0 51.2114 43.4372 57.4473 0.121144 -0.656282 0.744727 0.490491 45 57.5 1 0 -872 1 1 0 50.4064 43.3912 57.4939 0.0406418 -0.660883 0.749387 0.490491 45 57.5 1 0 -873 1 1 0 51.6062 43.0622 57.0205 0.160622 -0.69378 0.702047 0.490491 45 57.5 1 0 -874 1 1 0 50.8057 42.9938 57.0897 0.0805729 -0.700622 0.708969 0.490491 45 57.5 1 0 -875 1 1 0 50 42.9709 57.1128 0 -0.702907 0.711282 0.490491 45 57.5 1 0 -876 1 1 0 49.5936 43.3912 57.4939 -0.0406418 -0.660883 0.749387 0.490491 45 57.5 1 0 -877 1 1 0 48.7886 43.4372 57.4473 -0.121144 -0.656282 0.744727 0.490491 45 57.5 1 0 -878 1 1 0 49.1943 42.9938 57.0897 -0.0805729 -0.700622 0.708969 0.490491 45 57.5 1 0 -879 1 1 0 48.3938 43.0622 57.0205 -0.160622 -0.69378 0.702047 0.490491 45 57.5 1 0 -880 1 1 0 51.9933 42.7204 56.5601 0.199331 -0.727959 0.656006 0.490491 45 57.5 1 0 -881 1 1 0 51.2119 42.6111 56.6284 0.121192 -0.738887 0.662842 0.490491 45 57.5 1 0 -882 1 1 0 52.3709 42.4135 56.0683 0.237086 -0.758652 0.606825 0.490491 45 57.5 1 0 -883 1 1 0 51.5961 42.2816 56.1546 0.159613 -0.771841 0.615456 0.490491 45 57.5 1 0 -884 1 1 0 50.8114 42.198 56.2024 0.0811417 -0.780205 0.620239 0.490491 45 57.5 1 0 -885 1 1 0 52.7371 42.1428 55.5474 0.273706 -0.785715 0.55474 0.490491 45 57.5 1 0 -886 1 1 0 51.9727 41.985 55.6451 0.197274 -0.801504 0.564513 0.490491 45 57.5 1 0 -887 1 1 0 53.0902 41.9098 55 0.309017 -0.809017 0.5 0.490491 45 57.5 1 0 -888 1 1 0 52.3345 41.7285 55.112 0.233445 -0.827147 0.511205 0.490491 45 57.5 1 0 -889 1 1 0 51.5643 41.5982 55.1926 0.156434 -0.840178 0.519259 0.490491 45 57.5 1 0 -890 1 1 0 51.1908 41.8783 55.7114 0.119078 -0.81217 0.57114 0.490491 45 57.5 1 0 -891 1 1 0 50.4067 41.8248 55.7446 0.040675 -0.817523 0.574458 0.490491 45 57.5 1 0 -892 1 1 0 50.7846 41.5197 55.2411 0.0784592 -0.848029 0.52411 0.490491 45 57.5 1 0 -893 1 1 0 50 41.4935 55.2573 0 -0.850651 0.525731 0.490491 45 57.5 1 0 -894 1 1 0 48.7881 42.6111 56.6284 -0.121192 -0.738887 0.662842 0.490491 45 57.5 1 0 -895 1 1 0 48.0067 42.7204 56.5601 -0.199331 -0.727959 0.656006 0.490491 45 57.5 1 0 -896 1 1 0 49.1886 42.198 56.2024 -0.0811417 -0.780205 0.620239 0.490491 45 57.5 1 0 -897 1 1 0 48.4039 42.2816 56.1546 -0.159613 -0.771841 0.615456 0.490491 45 57.5 1 0 -898 1 1 0 47.6291 42.4135 56.0683 -0.237086 -0.758652 0.606825 0.490491 45 57.5 1 0 -899 1 1 0 49.5933 41.8248 55.7446 -0.040675 -0.817523 0.574458 0.490491 45 57.5 1 0 -900 1 1 0 48.8092 41.8783 55.7114 -0.119078 -0.81217 0.57114 0.490491 45 57.5 1 0 -901 1 1 0 49.2154 41.5197 55.2411 -0.0784592 -0.848029 0.52411 0.490491 45 57.5 1 0 -902 1 1 0 48.4357 41.5982 55.1926 -0.156434 -0.840178 0.519259 0.490491 45 57.5 1 0 -903 1 1 0 48.0273 41.985 55.6451 -0.197274 -0.801504 0.564513 0.490491 45 57.5 1 0 -904 1 1 0 47.2629 42.1428 55.5474 -0.273706 -0.785715 0.55474 0.490491 45 57.5 1 0 -905 1 1 0 47.6655 41.7285 55.112 -0.233445 -0.827147 0.511205 0.490491 45 57.5 1 0 -906 1 1 0 46.9098 41.9098 55 -0.309017 -0.809017 0.5 0.490491 45 57.5 1 0 -907 1 1 0 50.4068 42.565 56.675 0.0406769 -0.743496 0.667502 0.490491 45 57.5 1 0 -908 1 1 0 50 42.1721 56.2229 0 -0.782786 0.622291 0.490491 45 57.5 1 0 -909 1 1 0 49.5932 42.565 56.675 -0.0406769 -0.743496 0.667502 0.490491 45 57.5 1 0 -910 1 1 0 53.4285 41.7155 54.4287 0.342848 -0.828447 0.442867 0.490491 45 57.5 1 0 -911 1 1 0 52.7469 41.4736 54.4446 0.274694 -0.85264 0.444464 0.490491 45 57.5 1 0 -912 1 1 0 53.7504 41.5609 53.8361 0.375038 -0.843912 0.383614 0.490491 45 57.5 1 0 -913 1 1 0 53.0766 41.3027 53.8591 0.307659 -0.869725 0.385906 0.490491 45 57.5 1 0 -914 1 1 0 52.3868 41.0899 53.8619 0.238677 -0.891007 0.386187 0.490491 45 57.5 1 0 -915 1 1 0 54.0543 41.4466 53.2252 0.405434 -0.855337 0.322525 0.490491 45 57.5 1 0 -916 1 1 0 53.3921 41.1716 53.2486 0.339209 -0.882837 0.324863 0.490491 45 57.5 1 0 -917 1 1 0 54.3389 41.3733 52.5989 0.433888 -0.862669 0.259892 0.490491 45 57.5 1 0 -918 1 1 0 53.6852 41.0826 52.6266 0.368518 -0.891742 0.262661 0.490491 45 57.5 1 0 -919 1 1 0 53.0126 40.8376 52.6408 0.301258 -0.916244 0.264082 0.490491 45 57.5 1 0 -920 1 1 0 52.7063 40.9417 53.2593 0.270627 -0.905832 0.325929 0.490491 45 57.5 1 0 -921 1 1 0 52.0119 40.7612 53.2553 0.201189 -0.92388 0.32553 0.490491 45 57.5 1 0 -922 1 1 0 52.3245 40.6395 52.6415 0.232455 -0.93605 0.264151 0.490491 45 57.5 1 0 -923 1 1 0 51.6246 40.4894 52.6287 0.16246 -0.951057 0.262865 0.490491 45 57.5 1 0 -924 1 1 0 54.6027 41.3413 51.9602 0.460266 -0.865871 0.196015 0.490491 45 57.5 1 0 -925 1 1 0 53.9735 41.036 51.9641 0.39735 -0.896401 0.196412 0.490491 45 57.5 1 0 -926 1 1 0 54.8444 41.3507 51.312 0.484441 -0.864929 0.1312 0.490491 45 57.5 1 0 -927 1 1 0 54.2236 41.032 51.3175 0.422363 -0.896801 0.131749 0.490491 45 57.5 1 0 -928 1 1 0 53.5823 40.757 51.3166 0.358229 -0.924305 0.131656 0.490491 45 57.5 1 0 -929 1 1 0 55.063 41.4015 50.6576 0.506298 -0.859848 0.0657577 0.490491 45 57.5 1 0 -930 1 1 0 54.4537 41.0707 50.6582 0.445365 -0.892927 0.0658169 0.490491 45 57.5 1 0 -931 1 1 0 55.2573 41.4935 50 0.525731 -0.850651 0 0.490491 45 57.5 1 0 -932 1 1 0 54.6566 41.1503 50 0.465657 -0.884965 0 0.490491 45 57.5 1 0 -933 1 1 0 54.0336 40.8496 50 0.403355 -0.915043 0 0.490491 45 57.5 1 0 -934 1 1 0 53.8172 40.7808 50.6599 0.381722 -0.921919 0.0659886 0.490491 45 57.5 1 0 -935 1 1 0 53.1678 40.538 50.6604 0.316778 -0.946198 0.0660427 0.490491 45 57.5 1 0 -936 1 1 0 53.3912 40.5926 50 0.339122 -0.940742 0 0.490491 45 57.5 1 0 -937 1 1 0 52.7327 40.3806 50 0.273267 -0.961938 0 0.490491 45 57.5 1 0 -938 1 1 0 51.9178 40.3881 51.9834 0.19178 -0.961188 0.198337 0.490491 45 57.5 1 0 -939 1 1 0 51.2273 40.2763 51.9858 0.122729 -0.97237 0.198581 0.490491 45 57.5 1 0 -940 1 1 0 52.2012 40.3361 51.3279 0.220117 -0.966393 0.132792 0.490491 45 57.5 1 0 -941 1 1 0 51.5155 40.2057 51.3326 0.151549 -0.979426 0.133256 0.490491 45 57.5 1 0 -942 1 1 0 50.8224 40.1231 51.3307 0.0822422 -0.987688 0.133071 0.490491 45 57.5 1 0 -943 1 1 0 52.4733 40.3336 50.6657 0.247326 -0.966643 0.0665668 0.490491 45 57.5 1 0 -944 1 1 0 51.796 40.1852 50.666 0.179596 -0.981483 0.0666046 0.490491 45 57.5 1 0 -945 1 1 0 52.061 40.2147 50 0.206103 -0.97853 0 0.490491 45 57.5 1 0 -946 1 1 0 51.3795 40.0956 50 0.137952 -0.990439 0 0.490491 45 57.5 1 0 -947 1 1 0 51.1039 40.0835 50.6671 0.110385 -0.991648 0.0667095 0.490491 45 57.5 1 0 -948 1 1 0 50.4125 40.0308 50.6674 0.0412479 -0.996917 0.0667412 0.490491 45 57.5 1 0 -949 1 1 0 50.6914 40.0239 50 0.0691418 -0.997607 0 0.490491 45 57.5 1 0 -950 1 1 0 50 40 50 0 -1 0 0.490491 45 57.5 1 0 -951 1 1 0 53.3061 40.7732 51.9839 0.330606 -0.922682 0.198387 0.490491 45 57.5 1 0 -952 1 1 0 52.8993 40.5218 51.3257 0.289929 -0.947822 0.13257 0.490491 45 57.5 1 0 -953 1 1 0 52.6155 40.5557 51.9909 0.26155 -0.944433 0.199094 0.490491 45 57.5 1 0 -954 1 1 0 47.2531 41.4736 54.4446 -0.274694 -0.85264 0.444464 0.490491 45 57.5 1 0 -955 1 1 0 46.5715 41.7155 54.4287 -0.342848 -0.828447 0.442867 0.490491 45 57.5 1 0 -956 1 1 0 47.6132 41.0899 53.8619 -0.238677 -0.891007 0.386187 0.490491 45 57.5 1 0 -957 1 1 0 46.9234 41.3027 53.8591 -0.307659 -0.869725 0.385906 0.490491 45 57.5 1 0 -958 1 1 0 46.2496 41.5609 53.8361 -0.375038 -0.843912 0.383614 0.490491 45 57.5 1 0 -959 1 1 0 47.9881 40.7612 53.2553 -0.201189 -0.92388 0.32553 0.490491 45 57.5 1 0 -960 1 1 0 47.2937 40.9417 53.2593 -0.270627 -0.905832 0.325929 0.490491 45 57.5 1 0 -961 1 1 0 48.3754 40.4894 52.6287 -0.16246 -0.951057 0.262865 0.490491 45 57.5 1 0 -962 1 1 0 47.6755 40.6395 52.6415 -0.232455 -0.93605 0.264151 0.490491 45 57.5 1 0 -963 1 1 0 46.9874 40.8376 52.6408 -0.301258 -0.916244 0.264082 0.490491 45 57.5 1 0 -964 1 1 0 46.6079 41.1716 53.2486 -0.339209 -0.882837 0.324863 0.490491 45 57.5 1 0 -965 1 1 0 45.9457 41.4466 53.2252 -0.405434 -0.855337 0.322525 0.490491 45 57.5 1 0 -966 1 1 0 46.3148 41.0826 52.6266 -0.368518 -0.891742 0.262661 0.490491 45 57.5 1 0 -967 1 1 0 45.6611 41.3733 52.5989 -0.433888 -0.862669 0.259892 0.490491 45 57.5 1 0 -968 1 1 0 48.7727 40.2763 51.9858 -0.122729 -0.97237 0.198581 0.490491 45 57.5 1 0 -969 1 1 0 48.0822 40.3881 51.9834 -0.19178 -0.961188 0.198337 0.490491 45 57.5 1 0 -970 1 1 0 49.1776 40.1231 51.3307 -0.0822422 -0.987688 0.133071 0.490491 45 57.5 1 0 -971 1 1 0 48.4845 40.2057 51.3326 -0.151549 -0.979426 0.133256 0.490491 45 57.5 1 0 -972 1 1 0 47.7988 40.3361 51.3279 -0.220117 -0.966393 0.132792 0.490491 45 57.5 1 0 -973 1 1 0 49.5875 40.0308 50.6674 -0.0412479 -0.996917 0.0667412 0.490491 45 57.5 1 0 -974 1 1 0 48.8961 40.0835 50.6671 -0.110385 -0.991648 0.0667095 0.490491 45 57.5 1 0 -975 1 1 0 49.3086 40.0239 50 -0.0691418 -0.997607 0 0.490491 45 57.5 1 0 -976 1 1 0 48.6205 40.0956 50 -0.137952 -0.990439 0 0.490491 45 57.5 1 0 -977 1 1 0 48.204 40.1852 50.666 -0.179596 -0.981483 0.0666046 0.490491 45 57.5 1 0 -978 1 1 0 47.5267 40.3336 50.6657 -0.247326 -0.966643 0.0665668 0.490491 45 57.5 1 0 -979 1 1 0 47.939 40.2147 50 -0.206103 -0.97853 0 0.490491 45 57.5 1 0 -980 1 1 0 47.2673 40.3806 50 -0.273267 -0.961938 0 0.490491 45 57.5 1 0 -981 1 1 0 46.0265 41.036 51.9641 -0.39735 -0.896401 0.196412 0.490491 45 57.5 1 0 -982 1 1 0 45.3973 41.3413 51.9602 -0.460266 -0.865871 0.196015 0.490491 45 57.5 1 0 -983 1 1 0 46.4177 40.757 51.3166 -0.358229 -0.924305 0.131656 0.490491 45 57.5 1 0 -984 1 1 0 45.7764 41.032 51.3175 -0.422363 -0.896801 0.131749 0.490491 45 57.5 1 0 -985 1 1 0 45.1556 41.3507 51.312 -0.484441 -0.864929 0.1312 0.490491 45 57.5 1 0 -986 1 1 0 46.8322 40.538 50.6604 -0.316778 -0.946198 0.0660427 0.490491 45 57.5 1 0 -987 1 1 0 46.1828 40.7808 50.6599 -0.381722 -0.921919 0.0659886 0.490491 45 57.5 1 0 -988 1 1 0 46.6088 40.5926 50 -0.339122 -0.940742 0 0.490491 45 57.5 1 0 -989 1 1 0 45.9664 40.8496 50 -0.403355 -0.915043 0 0.490491 45 57.5 1 0 -990 1 1 0 45.5463 41.0707 50.6582 -0.445365 -0.892927 0.0658169 0.490491 45 57.5 1 0 -991 1 1 0 44.937 41.4015 50.6576 -0.506298 -0.859848 0.0657577 0.490491 45 57.5 1 0 -992 1 1 0 45.3434 41.1503 50 -0.465657 -0.884965 0 0.490491 45 57.5 1 0 -993 1 1 0 44.7427 41.4935 50 -0.525731 -0.850651 0 0.490491 45 57.5 1 0 -994 1 1 0 47.3845 40.5557 51.9909 -0.26155 -0.944433 0.199094 0.490491 45 57.5 1 0 -995 1 1 0 47.1007 40.5218 51.3257 -0.289929 -0.947822 0.13257 0.490491 45 57.5 1 0 -996 1 1 0 46.6939 40.7732 51.9839 -0.330606 -0.922682 0.198387 0.490491 45 57.5 1 0 -997 1 1 0 51.9823 41.3147 54.5426 0.198227 -0.868535 0.454262 0.490491 45 57.5 1 0 -998 1 1 0 51.6101 40.9516 53.9414 0.161007 -0.904839 0.394136 0.490491 45 57.5 1 0 -999 1 1 0 51.228 40.6487 53.3234 0.1228 -0.93513 0.332342 0.490491 45 57.5 1 0 -1000 1 1 0 50.8232 40.8702 53.9961 0.0823235 -0.912983 0.399607 0.490491 45 57.5 1 0 -1001 1 1 0 51.1976 41.2066 54.6088 0.119755 -0.879344 0.460882 0.490491 45 57.5 1 0 -1002 1 1 0 50.413 41.1524 54.6421 0.0412991 -0.88476 0.464213 0.490491 45 57.5 1 0 -1003 1 1 0 50.815 40.3935 52.6552 0.081501 -0.960655 0.265519 0.490491 45 57.5 1 0 -1004 1 1 0 50.4125 40.2115 52.0037 0.0412506 -0.978852 0.200368 0.490491 45 57.5 1 0 -1005 1 1 0 50 40.3614 52.664 0 -0.963861 0.266405 0.490491 45 57.5 1 0 -1006 1 1 0 50 40.0895 51.3352 0 -0.991046 0.133524 0.490491 45 57.5 1 0 -1007 1 1 0 49.5875 40.2115 52.0037 -0.0412506 -0.978852 0.200368 0.490491 45 57.5 1 0 -1008 1 1 0 49.185 40.3935 52.6552 -0.081501 -0.960655 0.265519 0.490491 45 57.5 1 0 -1009 1 1 0 49.587 41.1524 54.6421 -0.0412991 -0.88476 0.464213 0.490491 45 57.5 1 0 -1010 1 1 0 49.1768 40.8702 53.9961 -0.0823235 -0.912983 0.399607 0.490491 45 57.5 1 0 -1011 1 1 0 48.8024 41.2066 54.6088 -0.119755 -0.879344 0.460882 0.490491 45 57.5 1 0 -1012 1 1 0 48.772 40.6487 53.3234 -0.1228 -0.93513 0.332342 0.490491 45 57.5 1 0 -1013 1 1 0 48.3899 40.9516 53.9414 -0.161007 -0.904839 0.394136 0.490491 45 57.5 1 0 -1014 1 1 0 48.0177 41.3147 54.5426 -0.198227 -0.868535 0.454262 0.490491 45 57.5 1 0 -1015 1 1 0 50.413 40.5838 53.3414 0.0413021 -0.941618 0.33414 0.490491 45 57.5 1 0 -1016 1 1 0 49.587 40.5838 53.3414 -0.0413021 -0.941618 0.33414 0.490491 45 57.5 1 0 -1017 1 1 0 50 40.8391 54.0097 0 -0.916092 0.400968 0.490491 45 57.5 1 0 -1018 1 1 0 49.5936 44.2794 41.8079 -0.0406403 -0.572055 -0.819208 0.490491 45 57.5 1 0 -1019 1 1 0 50.4064 44.2794 41.8079 0.0406403 -0.572055 -0.819208 0.490491 45 57.5 1 0 -1020 1 1 0 49.1891 43.8436 42.1616 -0.081086 -0.615642 -0.783843 0.490491 45 57.5 1 0 -1021 1 1 0 50 43.8232 42.1357 0 -0.617676 -0.786433 0.490491 45 57.5 1 0 -1022 1 1 0 50.8109 43.8436 42.1616 0.081086 -0.615642 -0.783843 0.490491 45 57.5 1 0 -1023 1 1 0 48.7886 43.4372 42.5527 -0.121144 -0.656282 -0.744727 0.490491 45 57.5 1 0 -1024 1 1 0 49.5936 43.3912 42.5061 -0.0406418 -0.660883 -0.749387 0.490491 45 57.5 1 0 -1025 1 1 0 48.3938 43.0622 42.9795 -0.160622 -0.69378 -0.702047 0.490491 45 57.5 1 0 -1026 1 1 0 49.1943 42.9938 42.9103 -0.0805729 -0.700622 -0.708969 0.490491 45 57.5 1 0 -1027 1 1 0 50 42.9709 42.8872 0 -0.702907 -0.711282 0.490491 45 57.5 1 0 -1028 1 1 0 50.4064 43.3912 42.5061 0.0406418 -0.660883 -0.749387 0.490491 45 57.5 1 0 -1029 1 1 0 51.2114 43.4372 42.5527 0.121144 -0.656282 -0.744727 0.490491 45 57.5 1 0 -1030 1 1 0 50.8057 42.9938 42.9103 0.0805729 -0.700622 -0.708969 0.490491 45 57.5 1 0 -1031 1 1 0 51.6062 43.0622 42.9795 0.160622 -0.69378 -0.702047 0.490491 45 57.5 1 0 -1032 1 1 0 48.0067 42.7204 43.4399 -0.199331 -0.727959 -0.656006 0.490491 45 57.5 1 0 -1033 1 1 0 48.7881 42.6111 43.3716 -0.121192 -0.738887 -0.662842 0.490491 45 57.5 1 0 -1034 1 1 0 47.6291 42.4135 43.9317 -0.237086 -0.758652 -0.606825 0.490491 45 57.5 1 0 -1035 1 1 0 48.4039 42.2816 43.8454 -0.159613 -0.771841 -0.615456 0.490491 45 57.5 1 0 -1036 1 1 0 49.1886 42.198 43.7976 -0.0811417 -0.780205 -0.620239 0.490491 45 57.5 1 0 -1037 1 1 0 47.2629 42.1428 44.4526 -0.273706 -0.785715 -0.55474 0.490491 45 57.5 1 0 -1038 1 1 0 48.0273 41.985 44.3549 -0.197274 -0.801504 -0.564513 0.490491 45 57.5 1 0 -1039 1 1 0 46.9098 41.9098 45 -0.309017 -0.809017 -0.5 0.490491 45 57.5 1 0 -1040 1 1 0 47.6655 41.7285 44.888 -0.233445 -0.827147 -0.511205 0.490491 45 57.5 1 0 -1041 1 1 0 48.4357 41.5982 44.8074 -0.156434 -0.840178 -0.519259 0.490491 45 57.5 1 0 -1042 1 1 0 48.8092 41.8783 44.2886 -0.119078 -0.81217 -0.57114 0.490491 45 57.5 1 0 -1043 1 1 0 49.5933 41.8248 44.2554 -0.040675 -0.817523 -0.574458 0.490491 45 57.5 1 0 -1044 1 1 0 49.2154 41.5197 44.7589 -0.0784592 -0.848029 -0.52411 0.490491 45 57.5 1 0 -1045 1 1 0 50 41.4935 44.7427 0 -0.850651 -0.525731 0.490491 45 57.5 1 0 -1046 1 1 0 51.2119 42.6111 43.3716 0.121192 -0.738887 -0.662842 0.490491 45 57.5 1 0 -1047 1 1 0 51.9933 42.7204 43.4399 0.199331 -0.727959 -0.656006 0.490491 45 57.5 1 0 -1048 1 1 0 50.8114 42.198 43.7976 0.0811417 -0.780205 -0.620239 0.490491 45 57.5 1 0 -1049 1 1 0 51.5961 42.2816 43.8454 0.159613 -0.771841 -0.615456 0.490491 45 57.5 1 0 -1050 1 1 0 52.3709 42.4135 43.9317 0.237086 -0.758652 -0.606825 0.490491 45 57.5 1 0 -1051 1 1 0 50.4067 41.8248 44.2554 0.040675 -0.817523 -0.574458 0.490491 45 57.5 1 0 -1052 1 1 0 51.1908 41.8783 44.2886 0.119078 -0.81217 -0.57114 0.490491 45 57.5 1 0 -1053 1 1 0 50.7846 41.5197 44.7589 0.0784592 -0.848029 -0.52411 0.490491 45 57.5 1 0 -1054 1 1 0 51.5643 41.5982 44.8074 0.156434 -0.840178 -0.519259 0.490491 45 57.5 1 0 -1055 1 1 0 51.9727 41.985 44.3549 0.197274 -0.801504 -0.564513 0.490491 45 57.5 1 0 -1056 1 1 0 52.7371 42.1428 44.4526 0.273706 -0.785715 -0.55474 0.490491 45 57.5 1 0 -1057 1 1 0 52.3345 41.7285 44.888 0.233445 -0.827147 -0.511205 0.490491 45 57.5 1 0 -1058 1 1 0 53.0902 41.9098 45 0.309017 -0.809017 -0.5 0.490491 45 57.5 1 0 -1059 1 1 0 49.5932 42.565 43.325 -0.0406769 -0.743496 -0.667502 0.490491 45 57.5 1 0 -1060 1 1 0 50 42.1721 43.7771 0 -0.782786 -0.622291 0.490491 45 57.5 1 0 -1061 1 1 0 50.4068 42.565 43.325 0.0406769 -0.743496 -0.667502 0.490491 45 57.5 1 0 -1062 1 1 0 46.5715 41.7155 45.5713 -0.342848 -0.828447 -0.442867 0.490491 45 57.5 1 0 -1063 1 1 0 47.2531 41.4736 45.5554 -0.274694 -0.85264 -0.444464 0.490491 45 57.5 1 0 -1064 1 1 0 46.2496 41.5609 46.1639 -0.375038 -0.843912 -0.383614 0.490491 45 57.5 1 0 -1065 1 1 0 46.9234 41.3027 46.1409 -0.307659 -0.869725 -0.385906 0.490491 45 57.5 1 0 -1066 1 1 0 47.6132 41.0899 46.1381 -0.238677 -0.891007 -0.386187 0.490491 45 57.5 1 0 -1067 1 1 0 45.9457 41.4466 46.7748 -0.405434 -0.855337 -0.322525 0.490491 45 57.5 1 0 -1068 1 1 0 46.6079 41.1716 46.7514 -0.339209 -0.882837 -0.324863 0.490491 45 57.5 1 0 -1069 1 1 0 45.6611 41.3733 47.4011 -0.433888 -0.862669 -0.259892 0.490491 45 57.5 1 0 -1070 1 1 0 46.3148 41.0826 47.3734 -0.368518 -0.891742 -0.262661 0.490491 45 57.5 1 0 -1071 1 1 0 46.9874 40.8376 47.3592 -0.301258 -0.916244 -0.264082 0.490491 45 57.5 1 0 -1072 1 1 0 47.2937 40.9417 46.7407 -0.270627 -0.905832 -0.325929 0.490491 45 57.5 1 0 -1073 1 1 0 47.9881 40.7612 46.7447 -0.201189 -0.92388 -0.32553 0.490491 45 57.5 1 0 -1074 1 1 0 47.6755 40.6395 47.3585 -0.232455 -0.93605 -0.264151 0.490491 45 57.5 1 0 -1075 1 1 0 48.3754 40.4894 47.3713 -0.16246 -0.951057 -0.262865 0.490491 45 57.5 1 0 -1076 1 1 0 45.3973 41.3413 48.0398 -0.460266 -0.865871 -0.196015 0.490491 45 57.5 1 0 -1077 1 1 0 46.0265 41.036 48.0359 -0.39735 -0.896401 -0.196412 0.490491 45 57.5 1 0 -1078 1 1 0 45.1556 41.3507 48.688 -0.484441 -0.864929 -0.1312 0.490491 45 57.5 1 0 -1079 1 1 0 45.7764 41.032 48.6825 -0.422363 -0.896801 -0.131749 0.490491 45 57.5 1 0 -1080 1 1 0 46.4177 40.757 48.6834 -0.358229 -0.924305 -0.131656 0.490491 45 57.5 1 0 -1081 1 1 0 44.937 41.4015 49.3424 -0.506298 -0.859848 -0.0657577 0.490491 45 57.5 1 0 -1082 1 1 0 45.5463 41.0707 49.3418 -0.445365 -0.892927 -0.0658169 0.490491 45 57.5 1 0 -1083 1 1 0 46.1828 40.7808 49.3401 -0.381722 -0.921919 -0.0659886 0.490491 45 57.5 1 0 -1084 1 1 0 46.8322 40.538 49.3396 -0.316778 -0.946198 -0.0660427 0.490491 45 57.5 1 0 -1085 1 1 0 48.0822 40.3881 48.0166 -0.19178 -0.961188 -0.198337 0.490491 45 57.5 1 0 -1086 1 1 0 48.7727 40.2763 48.0142 -0.122729 -0.97237 -0.198581 0.490491 45 57.5 1 0 -1087 1 1 0 47.7988 40.3361 48.6721 -0.220117 -0.966393 -0.132792 0.490491 45 57.5 1 0 -1088 1 1 0 48.4845 40.2057 48.6674 -0.151549 -0.979426 -0.133256 0.490491 45 57.5 1 0 -1089 1 1 0 49.1776 40.1231 48.6693 -0.0822422 -0.987688 -0.133071 0.490491 45 57.5 1 0 -1090 1 1 0 47.5267 40.3336 49.3343 -0.247326 -0.966643 -0.0665668 0.490491 45 57.5 1 0 -1091 1 1 0 48.204 40.1852 49.334 -0.179596 -0.981483 -0.0666046 0.490491 45 57.5 1 0 -1092 1 1 0 48.8961 40.0835 49.3329 -0.110385 -0.991648 -0.0667095 0.490491 45 57.5 1 0 -1093 1 1 0 49.5875 40.0308 49.3326 -0.0412479 -0.996917 -0.0667412 0.490491 45 57.5 1 0 -1094 1 1 0 46.6939 40.7732 48.0161 -0.330606 -0.922682 -0.198387 0.490491 45 57.5 1 0 -1095 1 1 0 47.1007 40.5218 48.6743 -0.289929 -0.947822 -0.13257 0.490491 45 57.5 1 0 -1096 1 1 0 47.3845 40.5557 48.0091 -0.26155 -0.944433 -0.199094 0.490491 45 57.5 1 0 -1097 1 1 0 52.7469 41.4736 45.5554 0.274694 -0.85264 -0.444464 0.490491 45 57.5 1 0 -1098 1 1 0 53.4285 41.7155 45.5713 0.342848 -0.828447 -0.442867 0.490491 45 57.5 1 0 -1099 1 1 0 52.3868 41.0899 46.1381 0.238677 -0.891007 -0.386187 0.490491 45 57.5 1 0 -1100 1 1 0 53.0766 41.3027 46.1409 0.307659 -0.869725 -0.385906 0.490491 45 57.5 1 0 -1101 1 1 0 53.7504 41.5609 46.1639 0.375038 -0.843912 -0.383614 0.490491 45 57.5 1 0 -1102 1 1 0 52.0119 40.7612 46.7447 0.201189 -0.92388 -0.32553 0.490491 45 57.5 1 0 -1103 1 1 0 52.7063 40.9417 46.7407 0.270627 -0.905832 -0.325929 0.490491 45 57.5 1 0 -1104 1 1 0 51.6246 40.4894 47.3713 0.16246 -0.951057 -0.262865 0.490491 45 57.5 1 0 -1105 1 1 0 52.3245 40.6395 47.3585 0.232455 -0.93605 -0.264151 0.490491 45 57.5 1 0 -1106 1 1 0 53.0126 40.8376 47.3592 0.301258 -0.916244 -0.264082 0.490491 45 57.5 1 0 -1107 1 1 0 53.3921 41.1716 46.7514 0.339209 -0.882837 -0.324863 0.490491 45 57.5 1 0 -1108 1 1 0 54.0543 41.4466 46.7748 0.405434 -0.855337 -0.322525 0.490491 45 57.5 1 0 -1109 1 1 0 53.6852 41.0826 47.3734 0.368518 -0.891742 -0.262661 0.490491 45 57.5 1 0 -1110 1 1 0 54.3389 41.3733 47.4011 0.433888 -0.862669 -0.259892 0.490491 45 57.5 1 0 -1111 1 1 0 51.2273 40.2763 48.0142 0.122729 -0.97237 -0.198581 0.490491 45 57.5 1 0 -1112 1 1 0 51.9178 40.3881 48.0166 0.19178 -0.961188 -0.198337 0.490491 45 57.5 1 0 -1113 1 1 0 50.8224 40.1231 48.6693 0.0822422 -0.987688 -0.133071 0.490491 45 57.5 1 0 -1114 1 1 0 51.5155 40.2057 48.6674 0.151549 -0.979426 -0.133256 0.490491 45 57.5 1 0 -1115 1 1 0 52.2012 40.3361 48.6721 0.220117 -0.966393 -0.132792 0.490491 45 57.5 1 0 -1116 1 1 0 50.4125 40.0308 49.3326 0.0412479 -0.996917 -0.0667412 0.490491 45 57.5 1 0 -1117 1 1 0 51.1039 40.0835 49.3329 0.110385 -0.991648 -0.0667095 0.490491 45 57.5 1 0 -1118 1 1 0 51.796 40.1852 49.334 0.179596 -0.981483 -0.0666046 0.490491 45 57.5 1 0 -1119 1 1 0 52.4733 40.3336 49.3343 0.247326 -0.966643 -0.0665668 0.490491 45 57.5 1 0 -1120 1 1 0 53.9735 41.036 48.0359 0.39735 -0.896401 -0.196412 0.490491 45 57.5 1 0 -1121 1 1 0 54.6027 41.3413 48.0398 0.460266 -0.865871 -0.196015 0.490491 45 57.5 1 0 -1122 1 1 0 53.5823 40.757 48.6834 0.358229 -0.924305 -0.131656 0.490491 45 57.5 1 0 -1123 1 1 0 54.2236 41.032 48.6825 0.422363 -0.896801 -0.131749 0.490491 45 57.5 1 0 -1124 1 1 0 54.8444 41.3507 48.688 0.484441 -0.864929 -0.1312 0.490491 45 57.5 1 0 -1125 1 1 0 53.1678 40.538 49.3396 0.316778 -0.946198 -0.0660427 0.490491 45 57.5 1 0 -1126 1 1 0 53.8172 40.7808 49.3401 0.381722 -0.921919 -0.0659886 0.490491 45 57.5 1 0 -1127 1 1 0 54.4537 41.0707 49.3418 0.445365 -0.892927 -0.0658169 0.490491 45 57.5 1 0 -1128 1 1 0 55.063 41.4015 49.3424 0.506298 -0.859848 -0.0657577 0.490491 45 57.5 1 0 -1129 1 1 0 52.6155 40.5557 48.0091 0.26155 -0.944433 -0.199094 0.490491 45 57.5 1 0 -1130 1 1 0 52.8993 40.5218 48.6743 0.289929 -0.947822 -0.13257 0.490491 45 57.5 1 0 -1131 1 1 0 53.3061 40.7732 48.0161 0.330606 -0.922682 -0.198387 0.490491 45 57.5 1 0 -1132 1 1 0 48.0177 41.3147 45.4574 -0.198227 -0.868535 -0.454262 0.490491 45 57.5 1 0 -1133 1 1 0 48.3899 40.9516 46.0586 -0.161007 -0.904839 -0.394136 0.490491 45 57.5 1 0 -1134 1 1 0 48.772 40.6487 46.6766 -0.1228 -0.93513 -0.332342 0.490491 45 57.5 1 0 -1135 1 1 0 49.1768 40.8702 46.0039 -0.0823235 -0.912983 -0.399607 0.490491 45 57.5 1 0 -1136 1 1 0 48.8024 41.2066 45.3912 -0.119755 -0.879344 -0.460882 0.490491 45 57.5 1 0 -1137 1 1 0 49.587 41.1524 45.3579 -0.0412991 -0.88476 -0.464213 0.490491 45 57.5 1 0 -1138 1 1 0 49.185 40.3935 47.3448 -0.081501 -0.960655 -0.265519 0.490491 45 57.5 1 0 -1139 1 1 0 49.5875 40.2115 47.9963 -0.0412506 -0.978852 -0.200368 0.490491 45 57.5 1 0 -1140 1 1 0 50 40.3614 47.336 0 -0.963861 -0.266405 0.490491 45 57.5 1 0 -1141 1 1 0 50 40.0895 48.6648 0 -0.991046 -0.133524 0.490491 45 57.5 1 0 -1142 1 1 0 50.4125 40.2115 47.9963 0.0412506 -0.978852 -0.200368 0.490491 45 57.5 1 0 -1143 1 1 0 50.815 40.3935 47.3448 0.081501 -0.960655 -0.265519 0.490491 45 57.5 1 0 -1144 1 1 0 50.413 41.1524 45.3579 0.0412991 -0.88476 -0.464213 0.490491 45 57.5 1 0 -1145 1 1 0 50.8232 40.8702 46.0039 0.0823235 -0.912983 -0.399607 0.490491 45 57.5 1 0 -1146 1 1 0 51.1976 41.2066 45.3912 0.119755 -0.879344 -0.460882 0.490491 45 57.5 1 0 -1147 1 1 0 51.228 40.6487 46.6766 0.1228 -0.93513 -0.332342 0.490491 45 57.5 1 0 -1148 1 1 0 51.6101 40.9516 46.0586 0.161007 -0.904839 -0.394136 0.490491 45 57.5 1 0 -1149 1 1 0 51.9823 41.3147 45.4574 0.198227 -0.868535 -0.454262 0.490491 45 57.5 1 0 -1150 1 1 0 49.587 40.5838 46.6586 -0.0413021 -0.941618 -0.33414 0.490491 45 57.5 1 0 -1151 1 1 0 50.413 40.5838 46.6586 0.0413021 -0.941618 -0.33414 0.490491 45 57.5 1 0 -1152 1 1 0 50 40.8391 45.9903 0 -0.916092 -0.400968 0.490491 45 57.5 1 0 -1153 1 1 0 44.2794 58.1921 50.4064 -0.572055 0.819207 0.0406403 0.490491 45 57.5 1 0 -1154 1 1 0 44.2794 58.1921 49.5936 -0.572055 0.819207 -0.0406403 0.490491 45 57.5 1 0 -1155 1 1 0 43.8436 57.8384 50.8109 -0.615642 0.783843 0.081086 0.490491 45 57.5 1 0 -1156 1 1 0 43.8232 57.8643 50 -0.617676 0.786433 0 0.490491 45 57.5 1 0 -1157 1 1 0 43.8436 57.8384 49.1891 -0.615642 0.783843 -0.081086 0.490491 45 57.5 1 0 -1158 1 1 0 43.4372 57.4473 51.2114 -0.656282 0.744727 0.121144 0.490491 45 57.5 1 0 -1159 1 1 0 43.3912 57.4939 50.4064 -0.660883 0.749387 0.0406418 0.490491 45 57.5 1 0 -1160 1 1 0 43.0622 57.0205 51.6062 -0.69378 0.702047 0.160622 0.490491 45 57.5 1 0 -1161 1 1 0 42.9938 57.0897 50.8057 -0.700622 0.708969 0.0805729 0.490491 45 57.5 1 0 -1162 1 1 0 42.9709 57.1128 50 -0.702907 0.711282 0 0.490491 45 57.5 1 0 -1163 1 1 0 43.3912 57.4939 49.5936 -0.660883 0.749387 -0.0406418 0.490491 45 57.5 1 0 -1164 1 1 0 43.4372 57.4473 48.7886 -0.656282 0.744727 -0.121144 0.490491 45 57.5 1 0 -1165 1 1 0 42.9938 57.0897 49.1943 -0.700622 0.708969 -0.0805729 0.490491 45 57.5 1 0 -1166 1 1 0 43.0622 57.0205 48.3938 -0.69378 0.702047 -0.160622 0.490491 45 57.5 1 0 -1167 1 1 0 42.7204 56.5601 51.9933 -0.727959 0.656006 0.199331 0.490491 45 57.5 1 0 -1168 1 1 0 42.6111 56.6284 51.2119 -0.738887 0.662842 0.121192 0.490491 45 57.5 1 0 -1169 1 1 0 42.4135 56.0683 52.3709 -0.758652 0.606825 0.237086 0.490491 45 57.5 1 0 -1170 1 1 0 42.2816 56.1546 51.5961 -0.771841 0.615456 0.159613 0.490491 45 57.5 1 0 -1171 1 1 0 42.198 56.2024 50.8114 -0.780205 0.620239 0.0811417 0.490491 45 57.5 1 0 -1172 1 1 0 42.1428 55.5474 52.7371 -0.785715 0.55474 0.273706 0.490491 45 57.5 1 0 -1173 1 1 0 41.985 55.6451 51.9727 -0.801504 0.564513 0.197274 0.490491 45 57.5 1 0 -1174 1 1 0 41.9098 55 53.0902 -0.809017 0.5 0.309017 0.490491 45 57.5 1 0 -1175 1 1 0 41.7285 55.112 52.3345 -0.827147 0.511205 0.233445 0.490491 45 57.5 1 0 -1176 1 1 0 41.5982 55.1926 51.5643 -0.840178 0.519259 0.156434 0.490491 45 57.5 1 0 -1177 1 1 0 41.8783 55.7114 51.1908 -0.81217 0.57114 0.119078 0.490491 45 57.5 1 0 -1178 1 1 0 41.8248 55.7446 50.4067 -0.817523 0.574458 0.040675 0.490491 45 57.5 1 0 -1179 1 1 0 41.5197 55.2411 50.7846 -0.848029 0.52411 0.0784592 0.490491 45 57.5 1 0 -1180 1 1 0 41.4935 55.2573 50 -0.850651 0.525731 0 0.490491 45 57.5 1 0 -1181 1 1 0 42.6111 56.6284 48.7881 -0.738887 0.662842 -0.121192 0.490491 45 57.5 1 0 -1182 1 1 0 42.7204 56.5601 48.0067 -0.727959 0.656006 -0.199331 0.490491 45 57.5 1 0 -1183 1 1 0 42.198 56.2024 49.1886 -0.780205 0.620239 -0.0811417 0.490491 45 57.5 1 0 -1184 1 1 0 42.2816 56.1546 48.4039 -0.771841 0.615456 -0.159613 0.490491 45 57.5 1 0 -1185 1 1 0 42.4135 56.0683 47.6291 -0.758652 0.606825 -0.237086 0.490491 45 57.5 1 0 -1186 1 1 0 41.8248 55.7446 49.5933 -0.817523 0.574458 -0.040675 0.490491 45 57.5 1 0 -1187 1 1 0 41.8783 55.7114 48.8092 -0.81217 0.57114 -0.119078 0.490491 45 57.5 1 0 -1188 1 1 0 41.5197 55.2411 49.2154 -0.848029 0.52411 -0.0784592 0.490491 45 57.5 1 0 -1189 1 1 0 41.5982 55.1926 48.4357 -0.840178 0.519259 -0.156434 0.490491 45 57.5 1 0 -1190 1 1 0 41.985 55.6451 48.0273 -0.801504 0.564513 -0.197274 0.490491 45 57.5 1 0 -1191 1 1 0 42.1428 55.5474 47.2629 -0.785715 0.55474 -0.273706 0.490491 45 57.5 1 0 -1192 1 1 0 41.7285 55.112 47.6655 -0.827147 0.511205 -0.233445 0.490491 45 57.5 1 0 -1193 1 1 0 41.9098 55 46.9098 -0.809017 0.5 -0.309017 0.490491 45 57.5 1 0 -1194 1 1 0 42.565 56.675 50.4068 -0.743496 0.667502 0.0406769 0.490491 45 57.5 1 0 -1195 1 1 0 42.1721 56.2229 50 -0.782786 0.622291 0 0.490491 45 57.5 1 0 -1196 1 1 0 42.565 56.675 49.5932 -0.743496 0.667502 -0.0406769 0.490491 45 57.5 1 0 -1197 1 1 0 41.7155 54.4287 53.4285 -0.828447 0.442867 0.342848 0.490491 45 57.5 1 0 -1198 1 1 0 41.4736 54.4446 52.7469 -0.85264 0.444464 0.274694 0.490491 45 57.5 1 0 -1199 1 1 0 41.5609 53.8361 53.7504 -0.843912 0.383614 0.375038 0.490491 45 57.5 1 0 -1200 1 1 0 41.3027 53.8591 53.0766 -0.869725 0.385906 0.307659 0.490491 45 57.5 1 0 -1201 1 1 0 41.0899 53.8619 52.3868 -0.891007 0.386187 0.238677 0.490491 45 57.5 1 0 -1202 1 1 0 41.4466 53.2252 54.0543 -0.855337 0.322525 0.405434 0.490491 45 57.5 1 0 -1203 1 1 0 41.1716 53.2486 53.3921 -0.882837 0.324863 0.339209 0.490491 45 57.5 1 0 -1204 1 1 0 41.3733 52.5989 54.3389 -0.862669 0.259892 0.433888 0.490491 45 57.5 1 0 -1205 1 1 0 41.0826 52.6266 53.6852 -0.891742 0.262661 0.368518 0.490491 45 57.5 1 0 -1206 1 1 0 40.8376 52.6408 53.0126 -0.916244 0.264082 0.301258 0.490491 45 57.5 1 0 -1207 1 1 0 40.9417 53.2593 52.7063 -0.905832 0.325929 0.270627 0.490491 45 57.5 1 0 -1208 1 1 0 40.7612 53.2553 52.0119 -0.92388 0.32553 0.201189 0.490491 45 57.5 1 0 -1209 1 1 0 40.6395 52.6415 52.3245 -0.93605 0.264151 0.232455 0.490491 45 57.5 1 0 -1210 1 1 0 40.4894 52.6287 51.6246 -0.951057 0.262865 0.16246 0.490491 45 57.5 1 0 -1211 1 1 0 41.3413 51.9602 54.6027 -0.865871 0.196015 0.460266 0.490491 45 57.5 1 0 -1212 1 1 0 41.036 51.9641 53.9735 -0.896401 0.196412 0.39735 0.490491 45 57.5 1 0 -1213 1 1 0 41.3507 51.312 54.8444 -0.864929 0.1312 0.484441 0.490491 45 57.5 1 0 -1214 1 1 0 41.032 51.3175 54.2236 -0.896801 0.131749 0.422363 0.490491 45 57.5 1 0 -1215 1 1 0 40.757 51.3166 53.5823 -0.924305 0.131656 0.358229 0.490491 45 57.5 1 0 -1216 1 1 0 41.4015 50.6576 55.063 -0.859848 0.0657577 0.506298 0.490491 45 57.5 1 0 -1217 1 1 0 41.0707 50.6582 54.4537 -0.892927 0.0658169 0.445365 0.490491 45 57.5 1 0 -1218 1 1 0 41.1503 50 54.6566 -0.884965 0 0.465657 0.490491 45 57.5 1 0 -1219 1 1 0 40.8496 50 54.0336 -0.915043 0 0.403355 0.490491 45 57.5 1 0 -1220 1 1 0 40.7808 50.6599 53.8172 -0.921919 0.0659886 0.381722 0.490491 45 57.5 1 0 -1221 1 1 0 40.538 50.6604 53.1678 -0.946198 0.0660427 0.316778 0.490491 45 57.5 1 0 -1222 1 1 0 40.5926 50 53.3912 -0.940742 0 0.339122 0.490491 45 57.5 1 0 -1223 1 1 0 40.3806 50 52.7327 -0.961938 0 0.273267 0.490491 45 57.5 1 0 -1224 1 1 0 40.3881 51.9834 51.9178 -0.961188 0.198337 0.19178 0.490491 45 57.5 1 0 -1225 1 1 0 40.2763 51.9858 51.2273 -0.97237 0.198581 0.122729 0.490491 45 57.5 1 0 -1226 1 1 0 40.3361 51.3279 52.2012 -0.966393 0.132792 0.220117 0.490491 45 57.5 1 0 -1227 1 1 0 40.2057 51.3326 51.5155 -0.979426 0.133256 0.151549 0.490491 45 57.5 1 0 -1228 1 1 0 40.1231 51.3307 50.8224 -0.987688 0.133071 0.0822422 0.490491 45 57.5 1 0 -1229 1 1 0 40.3336 50.6657 52.4733 -0.966643 0.0665668 0.247326 0.490491 45 57.5 1 0 -1230 1 1 0 40.1852 50.666 51.796 -0.981483 0.0666046 0.179596 0.490491 45 57.5 1 0 -1231 1 1 0 40.2147 50 52.061 -0.97853 0 0.206103 0.490491 45 57.5 1 0 -1232 1 1 0 40.0956 50 51.3795 -0.990439 0 0.137952 0.490491 45 57.5 1 0 -1233 1 1 0 40.0835 50.6671 51.1039 -0.991648 0.0667095 0.110385 0.490491 45 57.5 1 0 -1234 1 1 0 40.0308 50.6674 50.4125 -0.996917 0.0667412 0.0412479 0.490491 45 57.5 1 0 -1235 1 1 0 40.0239 50 50.6914 -0.997607 0 0.0691418 0.490491 45 57.5 1 0 -1236 1 1 0 40 50 50 -1 0 0 0.490491 45 57.5 1 0 -1237 1 1 0 40.7732 51.9839 53.3061 -0.922682 0.198387 0.330606 0.490491 45 57.5 1 0 -1238 1 1 0 40.5218 51.3257 52.8993 -0.947822 0.13257 0.289929 0.490491 45 57.5 1 0 -1239 1 1 0 40.5557 51.9909 52.6155 -0.944433 0.199094 0.26155 0.490491 45 57.5 1 0 -1240 1 1 0 41.4736 54.4446 47.2531 -0.85264 0.444464 -0.274694 0.490491 45 57.5 1 0 -1241 1 1 0 41.7155 54.4287 46.5715 -0.828447 0.442867 -0.342848 0.490491 45 57.5 1 0 -1242 1 1 0 41.0899 53.8619 47.6132 -0.891007 0.386187 -0.238677 0.490491 45 57.5 1 0 -1243 1 1 0 41.3027 53.8591 46.9234 -0.869725 0.385906 -0.307659 0.490491 45 57.5 1 0 -1244 1 1 0 41.5609 53.8361 46.2496 -0.843912 0.383614 -0.375038 0.490491 45 57.5 1 0 -1245 1 1 0 40.7612 53.2553 47.9881 -0.92388 0.32553 -0.201189 0.490491 45 57.5 1 0 -1246 1 1 0 40.9417 53.2593 47.2937 -0.905832 0.325929 -0.270627 0.490491 45 57.5 1 0 -1247 1 1 0 40.4894 52.6287 48.3754 -0.951057 0.262865 -0.16246 0.490491 45 57.5 1 0 -1248 1 1 0 40.6395 52.6415 47.6755 -0.93605 0.264151 -0.232455 0.490491 45 57.5 1 0 -1249 1 1 0 40.8376 52.6408 46.9874 -0.916244 0.264082 -0.301258 0.490491 45 57.5 1 0 -1250 1 1 0 41.1716 53.2486 46.6079 -0.882837 0.324863 -0.339209 0.490491 45 57.5 1 0 -1251 1 1 0 41.4466 53.2252 45.9457 -0.855337 0.322525 -0.405434 0.490491 45 57.5 1 0 -1252 1 1 0 41.0826 52.6266 46.3148 -0.891742 0.262661 -0.368518 0.490491 45 57.5 1 0 -1253 1 1 0 41.3733 52.5989 45.6611 -0.862669 0.259892 -0.433888 0.490491 45 57.5 1 0 -1254 1 1 0 40.2763 51.9858 48.7727 -0.97237 0.198581 -0.122729 0.490491 45 57.5 1 0 -1255 1 1 0 40.3881 51.9834 48.0822 -0.961188 0.198337 -0.19178 0.490491 45 57.5 1 0 -1256 1 1 0 40.1231 51.3307 49.1776 -0.987688 0.133071 -0.0822422 0.490491 45 57.5 1 0 -1257 1 1 0 40.2057 51.3326 48.4845 -0.979426 0.133256 -0.151549 0.490491 45 57.5 1 0 -1258 1 1 0 40.3361 51.3279 47.7988 -0.966393 0.132792 -0.220117 0.490491 45 57.5 1 0 -1259 1 1 0 40.0308 50.6674 49.5875 -0.996917 0.0667412 -0.0412479 0.490491 45 57.5 1 0 -1260 1 1 0 40.0835 50.6671 48.8961 -0.991648 0.0667095 -0.110385 0.490491 45 57.5 1 0 -1261 1 1 0 40.0239 50 49.3086 -0.997607 0 -0.0691418 0.490491 45 57.5 1 0 -1262 1 1 0 40.0956 50 48.6205 -0.990439 0 -0.137952 0.490491 45 57.5 1 0 -1263 1 1 0 40.1852 50.666 48.204 -0.981483 0.0666046 -0.179596 0.490491 45 57.5 1 0 -1264 1 1 0 40.3336 50.6657 47.5267 -0.966643 0.0665668 -0.247326 0.490491 45 57.5 1 0 -1265 1 1 0 40.2147 50 47.939 -0.97853 0 -0.206103 0.490491 45 57.5 1 0 -1266 1 1 0 40.3806 50 47.2673 -0.961938 0 -0.273267 0.490491 45 57.5 1 0 -1267 1 1 0 41.036 51.9641 46.0265 -0.896401 0.196412 -0.39735 0.490491 45 57.5 1 0 -1268 1 1 0 41.3413 51.9602 45.3973 -0.865871 0.196015 -0.460266 0.490491 45 57.5 1 0 -1269 1 1 0 40.757 51.3166 46.4177 -0.924305 0.131656 -0.358229 0.490491 45 57.5 1 0 -1270 1 1 0 41.032 51.3175 45.7764 -0.896801 0.131749 -0.422363 0.490491 45 57.5 1 0 -1271 1 1 0 41.3507 51.312 45.1556 -0.864929 0.1312 -0.484441 0.490491 45 57.5 1 0 -1272 1 1 0 40.538 50.6604 46.8322 -0.946198 0.0660427 -0.316778 0.490491 45 57.5 1 0 -1273 1 1 0 40.7808 50.6599 46.1828 -0.921919 0.0659886 -0.381722 0.490491 45 57.5 1 0 -1274 1 1 0 40.5926 50 46.6088 -0.940742 0 -0.339122 0.490491 45 57.5 1 0 -1275 1 1 0 40.8496 50 45.9664 -0.915043 0 -0.403355 0.490491 45 57.5 1 0 -1276 1 1 0 41.0707 50.6582 45.5463 -0.892927 0.0658169 -0.445365 0.490491 45 57.5 1 0 -1277 1 1 0 41.4015 50.6576 44.937 -0.859848 0.0657577 -0.506298 0.490491 45 57.5 1 0 -1278 1 1 0 41.1503 50 45.3434 -0.884965 0 -0.465657 0.490491 45 57.5 1 0 -1279 1 1 0 40.5557 51.9909 47.3845 -0.944433 0.199094 -0.26155 0.490491 45 57.5 1 0 -1280 1 1 0 40.5218 51.3257 47.1007 -0.947822 0.13257 -0.289929 0.490491 45 57.5 1 0 -1281 1 1 0 40.7732 51.9839 46.6939 -0.922682 0.198387 -0.330606 0.490491 45 57.5 1 0 -1282 1 1 0 41.3147 54.5426 51.9823 -0.868535 0.454262 0.198227 0.490491 45 57.5 1 0 -1283 1 1 0 40.9516 53.9414 51.6101 -0.904839 0.394136 0.161007 0.490491 45 57.5 1 0 -1284 1 1 0 40.6487 53.3234 51.228 -0.93513 0.332342 0.1228 0.490491 45 57.5 1 0 -1285 1 1 0 40.8702 53.9961 50.8232 -0.912983 0.399607 0.0823235 0.490491 45 57.5 1 0 -1286 1 1 0 41.2066 54.6088 51.1976 -0.879344 0.460882 0.119755 0.490491 45 57.5 1 0 -1287 1 1 0 41.1524 54.6421 50.413 -0.88476 0.464213 0.0412991 0.490491 45 57.5 1 0 -1288 1 1 0 40.3935 52.6552 50.815 -0.960655 0.265519 0.081501 0.490491 45 57.5 1 0 -1289 1 1 0 40.2115 52.0037 50.4125 -0.978852 0.200368 0.0412506 0.490491 45 57.5 1 0 -1290 1 1 0 40.3614 52.664 50 -0.963861 0.266405 0 0.490491 45 57.5 1 0 -1291 1 1 0 40.0895 51.3352 50 -0.991046 0.133524 0 0.490491 45 57.5 1 0 -1292 1 1 0 40.2115 52.0037 49.5875 -0.978852 0.200368 -0.0412506 0.490491 45 57.5 1 0 -1293 1 1 0 40.3935 52.6552 49.185 -0.960655 0.265519 -0.081501 0.490491 45 57.5 1 0 -1294 1 1 0 41.1524 54.6421 49.587 -0.88476 0.464213 -0.0412991 0.490491 45 57.5 1 0 -1295 1 1 0 40.8702 53.9961 49.1768 -0.912983 0.399607 -0.0823235 0.490491 45 57.5 1 0 -1296 1 1 0 41.2066 54.6088 48.8024 -0.879344 0.460882 -0.119755 0.490491 45 57.5 1 0 -1297 1 1 0 40.6487 53.3234 48.772 -0.93513 0.332342 -0.1228 0.490491 45 57.5 1 0 -1298 1 1 0 40.9516 53.9414 48.3899 -0.904839 0.394136 -0.161007 0.490491 45 57.5 1 0 -1299 1 1 0 41.3147 54.5426 48.0177 -0.868535 0.454262 -0.198227 0.490491 45 57.5 1 0 -1300 1 1 0 40.5838 53.3414 50.413 -0.941618 0.33414 0.0413021 0.490491 45 57.5 1 0 -1301 1 1 0 40.5838 53.3414 49.587 -0.941618 0.33414 -0.0413021 0.490491 45 57.5 1 0 -1302 1 1 0 40.8391 54.0097 50 -0.916092 0.400968 0 0.490491 45 57.5 1 0 -1303 1 1 0 44.2794 41.8079 49.5936 -0.572055 -0.819207 -0.0406403 0.490491 45 57.5 1 0 -1304 1 1 0 44.2794 41.8079 50.4064 -0.572055 -0.819207 0.0406403 0.490491 45 57.5 1 0 -1305 1 1 0 43.8436 42.1616 49.1891 -0.615642 -0.783843 -0.081086 0.490491 45 57.5 1 0 -1306 1 1 0 43.8232 42.1357 50 -0.617676 -0.786433 0 0.490491 45 57.5 1 0 -1307 1 1 0 43.8436 42.1616 50.8109 -0.615642 -0.783843 0.081086 0.490491 45 57.5 1 0 -1308 1 1 0 43.4372 42.5527 48.7886 -0.656282 -0.744727 -0.121144 0.490491 45 57.5 1 0 -1309 1 1 0 43.3912 42.5061 49.5936 -0.660883 -0.749387 -0.0406418 0.490491 45 57.5 1 0 -1310 1 1 0 43.0622 42.9795 48.3938 -0.69378 -0.702047 -0.160622 0.490491 45 57.5 1 0 -1311 1 1 0 42.9938 42.9103 49.1943 -0.700622 -0.708969 -0.0805729 0.490491 45 57.5 1 0 -1312 1 1 0 42.9709 42.8872 50 -0.702907 -0.711282 0 0.490491 45 57.5 1 0 -1313 1 1 0 43.3912 42.5061 50.4064 -0.660883 -0.749387 0.0406418 0.490491 45 57.5 1 0 -1314 1 1 0 43.4372 42.5527 51.2114 -0.656282 -0.744727 0.121144 0.490491 45 57.5 1 0 -1315 1 1 0 42.9938 42.9103 50.8057 -0.700622 -0.708969 0.0805729 0.490491 45 57.5 1 0 -1316 1 1 0 43.0622 42.9795 51.6062 -0.69378 -0.702047 0.160622 0.490491 45 57.5 1 0 -1317 1 1 0 42.7204 43.4399 48.0067 -0.727959 -0.656006 -0.199331 0.490491 45 57.5 1 0 -1318 1 1 0 42.6111 43.3716 48.7881 -0.738887 -0.662842 -0.121192 0.490491 45 57.5 1 0 -1319 1 1 0 42.4135 43.9317 47.6291 -0.758652 -0.606825 -0.237086 0.490491 45 57.5 1 0 -1320 1 1 0 42.2816 43.8454 48.4039 -0.771841 -0.615456 -0.159613 0.490491 45 57.5 1 0 -1321 1 1 0 42.198 43.7976 49.1886 -0.780205 -0.620239 -0.0811417 0.490491 45 57.5 1 0 -1322 1 1 0 42.1428 44.4526 47.2629 -0.785715 -0.55474 -0.273706 0.490491 45 57.5 1 0 -1323 1 1 0 41.985 44.3549 48.0273 -0.801504 -0.564513 -0.197274 0.490491 45 57.5 1 0 -1324 1 1 0 41.9098 45 46.9098 -0.809017 -0.5 -0.309017 0.490491 45 57.5 1 0 -1325 1 1 0 41.7285 44.888 47.6655 -0.827147 -0.511205 -0.233445 0.490491 45 57.5 1 0 -1326 1 1 0 41.5982 44.8074 48.4357 -0.840178 -0.519259 -0.156434 0.490491 45 57.5 1 0 -1327 1 1 0 41.8783 44.2886 48.8092 -0.81217 -0.57114 -0.119078 0.490491 45 57.5 1 0 -1328 1 1 0 41.8248 44.2554 49.5933 -0.817523 -0.574458 -0.040675 0.490491 45 57.5 1 0 -1329 1 1 0 41.5197 44.7589 49.2154 -0.848029 -0.52411 -0.0784592 0.490491 45 57.5 1 0 -1330 1 1 0 41.4935 44.7427 50 -0.850651 -0.525731 0 0.490491 45 57.5 1 0 -1331 1 1 0 42.6111 43.3716 51.2119 -0.738887 -0.662842 0.121192 0.490491 45 57.5 1 0 -1332 1 1 0 42.7204 43.4399 51.9933 -0.727959 -0.656006 0.199331 0.490491 45 57.5 1 0 -1333 1 1 0 42.198 43.7976 50.8114 -0.780205 -0.620239 0.0811417 0.490491 45 57.5 1 0 -1334 1 1 0 42.2816 43.8454 51.5961 -0.771841 -0.615456 0.159613 0.490491 45 57.5 1 0 -1335 1 1 0 42.4135 43.9317 52.3709 -0.758652 -0.606825 0.237086 0.490491 45 57.5 1 0 -1336 1 1 0 41.8248 44.2554 50.4067 -0.817523 -0.574458 0.040675 0.490491 45 57.5 1 0 -1337 1 1 0 41.8783 44.2886 51.1908 -0.81217 -0.57114 0.119078 0.490491 45 57.5 1 0 -1338 1 1 0 41.5197 44.7589 50.7846 -0.848029 -0.52411 0.0784592 0.490491 45 57.5 1 0 -1339 1 1 0 41.5982 44.8074 51.5643 -0.840178 -0.519259 0.156434 0.490491 45 57.5 1 0 -1340 1 1 0 41.985 44.3549 51.9727 -0.801504 -0.564513 0.197274 0.490491 45 57.5 1 0 -1341 1 1 0 42.1428 44.4526 52.7371 -0.785715 -0.55474 0.273706 0.490491 45 57.5 1 0 -1342 1 1 0 41.7285 44.888 52.3345 -0.827147 -0.511205 0.233445 0.490491 45 57.5 1 0 -1343 1 1 0 41.9098 45 53.0902 -0.809017 -0.5 0.309017 0.490491 45 57.5 1 0 -1344 1 1 0 42.565 43.325 49.5932 -0.743496 -0.667502 -0.0406769 0.490491 45 57.5 1 0 -1345 1 1 0 42.1721 43.7771 50 -0.782786 -0.622291 0 0.490491 45 57.5 1 0 -1346 1 1 0 42.565 43.325 50.4068 -0.743496 -0.667502 0.0406769 0.490491 45 57.5 1 0 -1347 1 1 0 41.7155 45.5713 46.5715 -0.828447 -0.442867 -0.342848 0.490491 45 57.5 1 0 -1348 1 1 0 41.4736 45.5554 47.2531 -0.85264 -0.444464 -0.274694 0.490491 45 57.5 1 0 -1349 1 1 0 41.5609 46.1639 46.2496 -0.843912 -0.383614 -0.375038 0.490491 45 57.5 1 0 -1350 1 1 0 41.3027 46.1409 46.9234 -0.869725 -0.385906 -0.307659 0.490491 45 57.5 1 0 -1351 1 1 0 41.0899 46.1381 47.6132 -0.891007 -0.386187 -0.238677 0.490491 45 57.5 1 0 -1352 1 1 0 41.4466 46.7748 45.9457 -0.855337 -0.322525 -0.405434 0.490491 45 57.5 1 0 -1353 1 1 0 41.1716 46.7514 46.6079 -0.882837 -0.324863 -0.339209 0.490491 45 57.5 1 0 -1354 1 1 0 41.3733 47.4011 45.6611 -0.862669 -0.259892 -0.433888 0.490491 45 57.5 1 0 -1355 1 1 0 41.0826 47.3734 46.3148 -0.891742 -0.262661 -0.368518 0.490491 45 57.5 1 0 -1356 1 1 0 40.8376 47.3592 46.9874 -0.916244 -0.264082 -0.301258 0.490491 45 57.5 1 0 -1357 1 1 0 40.9417 46.7407 47.2937 -0.905832 -0.325929 -0.270627 0.490491 45 57.5 1 0 -1358 1 1 0 40.7612 46.7447 47.9881 -0.92388 -0.32553 -0.201189 0.490491 45 57.5 1 0 -1359 1 1 0 40.6395 47.3585 47.6755 -0.93605 -0.264151 -0.232455 0.490491 45 57.5 1 0 -1360 1 1 0 40.4894 47.3713 48.3754 -0.951057 -0.262865 -0.16246 0.490491 45 57.5 1 0 -1361 1 1 0 41.3413 48.0398 45.3973 -0.865871 -0.196015 -0.460266 0.490491 45 57.5 1 0 -1362 1 1 0 41.036 48.0359 46.0265 -0.896401 -0.196412 -0.39735 0.490491 45 57.5 1 0 -1363 1 1 0 41.3507 48.688 45.1556 -0.864929 -0.1312 -0.484441 0.490491 45 57.5 1 0 -1364 1 1 0 41.032 48.6825 45.7764 -0.896801 -0.131749 -0.422363 0.490491 45 57.5 1 0 -1365 1 1 0 40.757 48.6834 46.4177 -0.924305 -0.131656 -0.358229 0.490491 45 57.5 1 0 -1366 1 1 0 41.4015 49.3424 44.937 -0.859848 -0.0657577 -0.506298 0.490491 45 57.5 1 0 -1367 1 1 0 41.0707 49.3418 45.5463 -0.892927 -0.0658169 -0.445365 0.490491 45 57.5 1 0 -1368 1 1 0 40.7808 49.3401 46.1828 -0.921919 -0.0659886 -0.381722 0.490491 45 57.5 1 0 -1369 1 1 0 40.538 49.3396 46.8322 -0.946198 -0.0660427 -0.316778 0.490491 45 57.5 1 0 -1370 1 1 0 40.3881 48.0166 48.0822 -0.961188 -0.198337 -0.19178 0.490491 45 57.5 1 0 -1371 1 1 0 40.2763 48.0142 48.7727 -0.97237 -0.198581 -0.122729 0.490491 45 57.5 1 0 -1372 1 1 0 40.3361 48.6721 47.7988 -0.966393 -0.132792 -0.220117 0.490491 45 57.5 1 0 -1373 1 1 0 40.2057 48.6674 48.4845 -0.979426 -0.133256 -0.151549 0.490491 45 57.5 1 0 -1374 1 1 0 40.1231 48.6693 49.1776 -0.987688 -0.133071 -0.0822422 0.490491 45 57.5 1 0 -1375 1 1 0 40.3336 49.3343 47.5267 -0.966643 -0.0665668 -0.247326 0.490491 45 57.5 1 0 -1376 1 1 0 40.1852 49.334 48.204 -0.981483 -0.0666046 -0.179596 0.490491 45 57.5 1 0 -1377 1 1 0 40.0835 49.3329 48.8961 -0.991648 -0.0667095 -0.110385 0.490491 45 57.5 1 0 -1378 1 1 0 40.0308 49.3326 49.5875 -0.996917 -0.0667412 -0.0412479 0.490491 45 57.5 1 0 -1379 1 1 0 40.7732 48.0161 46.6939 -0.922682 -0.198387 -0.330606 0.490491 45 57.5 1 0 -1380 1 1 0 40.5218 48.6743 47.1007 -0.947822 -0.13257 -0.289929 0.490491 45 57.5 1 0 -1381 1 1 0 40.5557 48.0091 47.3845 -0.944433 -0.199094 -0.26155 0.490491 45 57.5 1 0 -1382 1 1 0 41.4736 45.5554 52.7469 -0.85264 -0.444464 0.274694 0.490491 45 57.5 1 0 -1383 1 1 0 41.7155 45.5713 53.4285 -0.828447 -0.442867 0.342848 0.490491 45 57.5 1 0 -1384 1 1 0 41.0899 46.1381 52.3868 -0.891007 -0.386187 0.238677 0.490491 45 57.5 1 0 -1385 1 1 0 41.3027 46.1409 53.0766 -0.869725 -0.385906 0.307659 0.490491 45 57.5 1 0 -1386 1 1 0 41.5609 46.1639 53.7504 -0.843912 -0.383614 0.375038 0.490491 45 57.5 1 0 -1387 1 1 0 40.7612 46.7447 52.0119 -0.92388 -0.32553 0.201189 0.490491 45 57.5 1 0 -1388 1 1 0 40.9417 46.7407 52.7063 -0.905832 -0.325929 0.270627 0.490491 45 57.5 1 0 -1389 1 1 0 40.4894 47.3713 51.6246 -0.951057 -0.262865 0.16246 0.490491 45 57.5 1 0 -1390 1 1 0 40.6395 47.3585 52.3245 -0.93605 -0.264151 0.232455 0.490491 45 57.5 1 0 -1391 1 1 0 40.8376 47.3592 53.0126 -0.916244 -0.264082 0.301258 0.490491 45 57.5 1 0 -1392 1 1 0 41.1716 46.7514 53.3921 -0.882837 -0.324863 0.339209 0.490491 45 57.5 1 0 -1393 1 1 0 41.4466 46.7748 54.0543 -0.855337 -0.322525 0.405434 0.490491 45 57.5 1 0 -1394 1 1 0 41.0826 47.3734 53.6852 -0.891742 -0.262661 0.368518 0.490491 45 57.5 1 0 -1395 1 1 0 41.3733 47.4011 54.3389 -0.862669 -0.259892 0.433888 0.490491 45 57.5 1 0 -1396 1 1 0 40.2763 48.0142 51.2273 -0.97237 -0.198581 0.122729 0.490491 45 57.5 1 0 -1397 1 1 0 40.3881 48.0166 51.9178 -0.961188 -0.198337 0.19178 0.490491 45 57.5 1 0 -1398 1 1 0 40.1231 48.6693 50.8224 -0.987688 -0.133071 0.0822422 0.490491 45 57.5 1 0 -1399 1 1 0 40.2057 48.6674 51.5155 -0.979426 -0.133256 0.151549 0.490491 45 57.5 1 0 -1400 1 1 0 40.3361 48.6721 52.2012 -0.966393 -0.132792 0.220117 0.490491 45 57.5 1 0 -1401 1 1 0 40.0308 49.3326 50.4125 -0.996917 -0.0667412 0.0412479 0.490491 45 57.5 1 0 -1402 1 1 0 40.0835 49.3329 51.1039 -0.991648 -0.0667095 0.110385 0.490491 45 57.5 1 0 -1403 1 1 0 40.1852 49.334 51.796 -0.981483 -0.0666046 0.179596 0.490491 45 57.5 1 0 -1404 1 1 0 40.3336 49.3343 52.4733 -0.966643 -0.0665668 0.247326 0.490491 45 57.5 1 0 -1405 1 1 0 41.036 48.0359 53.9735 -0.896401 -0.196412 0.39735 0.490491 45 57.5 1 0 -1406 1 1 0 41.3413 48.0398 54.6027 -0.865871 -0.196015 0.460266 0.490491 45 57.5 1 0 -1407 1 1 0 40.757 48.6834 53.5823 -0.924305 -0.131656 0.358229 0.490491 45 57.5 1 0 -1408 1 1 0 41.032 48.6825 54.2236 -0.896801 -0.131749 0.422363 0.490491 45 57.5 1 0 -1409 1 1 0 41.3507 48.688 54.8444 -0.864929 -0.1312 0.484441 0.490491 45 57.5 1 0 -1410 1 1 0 40.538 49.3396 53.1678 -0.946198 -0.0660427 0.316778 0.490491 45 57.5 1 0 -1411 1 1 0 40.7808 49.3401 53.8172 -0.921919 -0.0659886 0.381722 0.490491 45 57.5 1 0 -1412 1 1 0 41.0707 49.3418 54.4537 -0.892927 -0.0658169 0.445365 0.490491 45 57.5 1 0 -1413 1 1 0 41.4015 49.3424 55.063 -0.859848 -0.0657577 0.506298 0.490491 45 57.5 1 0 -1414 1 1 0 40.5557 48.0091 52.6155 -0.944433 -0.199094 0.26155 0.490491 45 57.5 1 0 -1415 1 1 0 40.5218 48.6743 52.8993 -0.947822 -0.13257 0.289929 0.490491 45 57.5 1 0 -1416 1 1 0 40.7732 48.0161 53.3061 -0.922682 -0.198387 0.330606 0.490491 45 57.5 1 0 -1417 1 1 0 41.3147 45.4574 48.0177 -0.868535 -0.454262 -0.198227 0.490491 45 57.5 1 0 -1418 1 1 0 40.9516 46.0586 48.3899 -0.904839 -0.394136 -0.161007 0.490491 45 57.5 1 0 -1419 1 1 0 40.6487 46.6766 48.772 -0.93513 -0.332342 -0.1228 0.490491 45 57.5 1 0 -1420 1 1 0 40.8702 46.0039 49.1768 -0.912983 -0.399607 -0.0823235 0.490491 45 57.5 1 0 -1421 1 1 0 41.2066 45.3912 48.8024 -0.879344 -0.460882 -0.119755 0.490491 45 57.5 1 0 -1422 1 1 0 41.1524 45.3579 49.587 -0.88476 -0.464213 -0.0412991 0.490491 45 57.5 1 0 -1423 1 1 0 40.3935 47.3448 49.185 -0.960655 -0.265519 -0.081501 0.490491 45 57.5 1 0 -1424 1 1 0 40.2115 47.9963 49.5875 -0.978852 -0.200368 -0.0412506 0.490491 45 57.5 1 0 -1425 1 1 0 40.3614 47.336 50 -0.963861 -0.266405 0 0.490491 45 57.5 1 0 -1426 1 1 0 40.0895 48.6648 50 -0.991046 -0.133524 0 0.490491 45 57.5 1 0 -1427 1 1 0 40.2115 47.9963 50.4125 -0.978852 -0.200368 0.0412506 0.490491 45 57.5 1 0 -1428 1 1 0 40.3935 47.3448 50.815 -0.960655 -0.265519 0.081501 0.490491 45 57.5 1 0 -1429 1 1 0 41.1524 45.3579 50.413 -0.88476 -0.464213 0.0412991 0.490491 45 57.5 1 0 -1430 1 1 0 40.8702 46.0039 50.8232 -0.912983 -0.399607 0.0823235 0.490491 45 57.5 1 0 -1431 1 1 0 41.2066 45.3912 51.1976 -0.879344 -0.460882 0.119755 0.490491 45 57.5 1 0 -1432 1 1 0 40.6487 46.6766 51.228 -0.93513 -0.332342 0.1228 0.490491 45 57.5 1 0 -1433 1 1 0 40.9516 46.0586 51.6101 -0.904839 -0.394136 0.161007 0.490491 45 57.5 1 0 -1434 1 1 0 41.3147 45.4574 51.9823 -0.868535 -0.454262 0.198227 0.490491 45 57.5 1 0 -1435 1 1 0 40.5838 46.6586 49.587 -0.941618 -0.33414 -0.0413021 0.490491 45 57.5 1 0 -1436 1 1 0 40.5838 46.6586 50.413 -0.941618 -0.33414 0.0413021 0.490491 45 57.5 1 0 -1437 1 1 0 40.8391 45.9903 50 -0.916092 -0.400968 0 0.490491 45 57.5 1 0 -1438 1 1 0 55.7206 58.1921 49.5936 0.572055 0.819207 -0.0406403 0.490491 45 57.5 1 0 -1439 1 1 0 55.7206 58.1921 50.4064 0.572055 0.819207 0.0406403 0.490491 45 57.5 1 0 -1440 1 1 0 56.1564 57.8384 49.1891 0.615642 0.783843 -0.081086 0.490491 45 57.5 1 0 -1441 1 1 0 56.1768 57.8643 50 0.617676 0.786433 0 0.490491 45 57.5 1 0 -1442 1 1 0 56.1564 57.8384 50.8109 0.615642 0.783843 0.081086 0.490491 45 57.5 1 0 -1443 1 1 0 56.5628 57.4473 48.7886 0.656282 0.744727 -0.121144 0.490491 45 57.5 1 0 -1444 1 1 0 56.6088 57.4939 49.5936 0.660883 0.749387 -0.0406418 0.490491 45 57.5 1 0 -1445 1 1 0 56.9378 57.0205 48.3938 0.69378 0.702047 -0.160622 0.490491 45 57.5 1 0 -1446 1 1 0 57.0062 57.0897 49.1943 0.700622 0.708969 -0.0805729 0.490491 45 57.5 1 0 -1447 1 1 0 57.0291 57.1128 50 0.702907 0.711282 0 0.490491 45 57.5 1 0 -1448 1 1 0 56.6088 57.4939 50.4064 0.660883 0.749387 0.0406418 0.490491 45 57.5 1 0 -1449 1 1 0 56.5628 57.4473 51.2114 0.656282 0.744727 0.121144 0.490491 45 57.5 1 0 -1450 1 1 0 57.0062 57.0897 50.8057 0.700622 0.708969 0.0805729 0.490491 45 57.5 1 0 -1451 1 1 0 56.9378 57.0205 51.6062 0.69378 0.702047 0.160622 0.490491 45 57.5 1 0 -1452 1 1 0 57.2796 56.5601 48.0067 0.727959 0.656006 -0.199331 0.490491 45 57.5 1 0 -1453 1 1 0 57.3889 56.6284 48.7881 0.738887 0.662842 -0.121192 0.490491 45 57.5 1 0 -1454 1 1 0 57.5865 56.0683 47.6291 0.758652 0.606825 -0.237086 0.490491 45 57.5 1 0 -1455 1 1 0 57.7184 56.1546 48.4039 0.771841 0.615456 -0.159613 0.490491 45 57.5 1 0 -1456 1 1 0 57.802 56.2024 49.1886 0.780205 0.620239 -0.0811417 0.490491 45 57.5 1 0 -1457 1 1 0 57.8572 55.5474 47.2629 0.785715 0.55474 -0.273706 0.490491 45 57.5 1 0 -1458 1 1 0 58.015 55.6451 48.0273 0.801504 0.564513 -0.197274 0.490491 45 57.5 1 0 -1459 1 1 0 58.0902 55 46.9098 0.809017 0.5 -0.309017 0.490491 45 57.5 1 0 -1460 1 1 0 58.2715 55.112 47.6655 0.827147 0.511205 -0.233445 0.490491 45 57.5 1 0 -1461 1 1 0 58.4018 55.1926 48.4357 0.840178 0.519259 -0.156434 0.490491 45 57.5 1 0 -1462 1 1 0 58.1217 55.7114 48.8092 0.81217 0.57114 -0.119078 0.490491 45 57.5 1 0 -1463 1 1 0 58.1752 55.7446 49.5933 0.817523 0.574458 -0.040675 0.490491 45 57.5 1 0 -1464 1 1 0 58.4803 55.2411 49.2154 0.848029 0.52411 -0.0784592 0.490491 45 57.5 1 0 -1465 1 1 0 58.5065 55.2573 50 0.850651 0.525731 0 0.490491 45 57.5 1 0 -1466 1 1 0 57.3889 56.6284 51.2119 0.738887 0.662842 0.121192 0.490491 45 57.5 1 0 -1467 1 1 0 57.2796 56.5601 51.9933 0.727959 0.656006 0.199331 0.490491 45 57.5 1 0 -1468 1 1 0 57.802 56.2024 50.8114 0.780205 0.620239 0.0811417 0.490491 45 57.5 1 0 -1469 1 1 0 57.7184 56.1546 51.5961 0.771841 0.615456 0.159613 0.490491 45 57.5 1 0 -1470 1 1 0 57.5865 56.0683 52.3709 0.758652 0.606825 0.237086 0.490491 45 57.5 1 0 -1471 1 1 0 58.1752 55.7446 50.4067 0.817523 0.574458 0.040675 0.490491 45 57.5 1 0 -1472 1 1 0 58.1217 55.7114 51.1908 0.81217 0.57114 0.119078 0.490491 45 57.5 1 0 -1473 1 1 0 58.4803 55.2411 50.7846 0.848029 0.52411 0.0784592 0.490491 45 57.5 1 0 -1474 1 1 0 58.4018 55.1926 51.5643 0.840178 0.519259 0.156434 0.490491 45 57.5 1 0 -1475 1 1 0 58.015 55.6451 51.9727 0.801504 0.564513 0.197274 0.490491 45 57.5 1 0 -1476 1 1 0 57.8572 55.5474 52.7371 0.785715 0.55474 0.273706 0.490491 45 57.5 1 0 -1477 1 1 0 58.2715 55.112 52.3345 0.827147 0.511205 0.233445 0.490491 45 57.5 1 0 -1478 1 1 0 58.0902 55 53.0902 0.809017 0.5 0.309017 0.490491 45 57.5 1 0 -1479 1 1 0 57.435 56.675 49.5932 0.743496 0.667502 -0.0406769 0.490491 45 57.5 1 0 -1480 1 1 0 57.8279 56.2229 50 0.782786 0.622291 0 0.490491 45 57.5 1 0 -1481 1 1 0 57.435 56.675 50.4068 0.743496 0.667502 0.0406769 0.490491 45 57.5 1 0 -1482 1 1 0 58.2845 54.4287 46.5715 0.828447 0.442867 -0.342848 0.490491 45 57.5 1 0 -1483 1 1 0 58.5264 54.4446 47.2531 0.85264 0.444464 -0.274694 0.490491 45 57.5 1 0 -1484 1 1 0 58.4391 53.8361 46.2496 0.843912 0.383614 -0.375038 0.490491 45 57.5 1 0 -1485 1 1 0 58.6973 53.8591 46.9234 0.869725 0.385906 -0.307659 0.490491 45 57.5 1 0 -1486 1 1 0 58.9101 53.8619 47.6132 0.891007 0.386187 -0.238677 0.490491 45 57.5 1 0 -1487 1 1 0 58.5534 53.2252 45.9457 0.855337 0.322525 -0.405434 0.490491 45 57.5 1 0 -1488 1 1 0 58.8284 53.2486 46.6079 0.882837 0.324863 -0.339209 0.490491 45 57.5 1 0 -1489 1 1 0 58.6267 52.5989 45.6611 0.862669 0.259892 -0.433888 0.490491 45 57.5 1 0 -1490 1 1 0 58.9174 52.6266 46.3148 0.891742 0.262661 -0.368518 0.490491 45 57.5 1 0 -1491 1 1 0 59.1624 52.6408 46.9874 0.916244 0.264082 -0.301258 0.490491 45 57.5 1 0 -1492 1 1 0 59.0583 53.2593 47.2937 0.905832 0.325929 -0.270627 0.490491 45 57.5 1 0 -1493 1 1 0 59.2388 53.2553 47.9881 0.92388 0.32553 -0.201189 0.490491 45 57.5 1 0 -1494 1 1 0 59.3605 52.6415 47.6755 0.93605 0.264151 -0.232455 0.490491 45 57.5 1 0 -1495 1 1 0 59.5106 52.6287 48.3754 0.951057 0.262865 -0.16246 0.490491 45 57.5 1 0 -1496 1 1 0 58.6587 51.9602 45.3973 0.865871 0.196015 -0.460266 0.490491 45 57.5 1 0 -1497 1 1 0 58.964 51.9641 46.0265 0.896401 0.196412 -0.39735 0.490491 45 57.5 1 0 -1498 1 1 0 58.6493 51.312 45.1556 0.864929 0.1312 -0.484441 0.490491 45 57.5 1 0 -1499 1 1 0 58.968 51.3175 45.7764 0.896801 0.131749 -0.422363 0.490491 45 57.5 1 0 -1500 1 1 0 59.243 51.3166 46.4177 0.924305 0.131656 -0.358229 0.490491 45 57.5 1 0 -1501 1 1 0 58.5985 50.6576 44.937 0.859848 0.0657577 -0.506298 0.490491 45 57.5 1 0 -1502 1 1 0 58.9293 50.6582 45.5463 0.892927 0.0658169 -0.445365 0.490491 45 57.5 1 0 -1503 1 1 0 58.8497 50 45.3434 0.884965 0 -0.465657 0.490491 45 57.5 1 0 -1504 1 1 0 59.1504 50 45.9664 0.915043 0 -0.403355 0.490491 45 57.5 1 0 -1505 1 1 0 59.2192 50.6599 46.1828 0.921919 0.0659886 -0.381722 0.490491 45 57.5 1 0 -1506 1 1 0 59.462 50.6604 46.8322 0.946198 0.0660427 -0.316778 0.490491 45 57.5 1 0 -1507 1 1 0 59.4074 50 46.6088 0.940742 0 -0.339122 0.490491 45 57.5 1 0 -1508 1 1 0 59.6194 50 47.2673 0.961938 0 -0.273267 0.490491 45 57.5 1 0 -1509 1 1 0 59.6119 51.9834 48.0822 0.961188 0.198337 -0.19178 0.490491 45 57.5 1 0 -1510 1 1 0 59.7237 51.9858 48.7727 0.97237 0.198581 -0.122729 0.490491 45 57.5 1 0 -1511 1 1 0 59.6639 51.3279 47.7988 0.966393 0.132792 -0.220117 0.490491 45 57.5 1 0 -1512 1 1 0 59.7943 51.3326 48.4845 0.979426 0.133256 -0.151549 0.490491 45 57.5 1 0 -1513 1 1 0 59.8769 51.3307 49.1776 0.987688 0.133071 -0.0822422 0.490491 45 57.5 1 0 -1514 1 1 0 59.6664 50.6657 47.5267 0.966643 0.0665668 -0.247326 0.490491 45 57.5 1 0 -1515 1 1 0 59.8148 50.666 48.204 0.981483 0.0666046 -0.179596 0.490491 45 57.5 1 0 -1516 1 1 0 59.7853 50 47.939 0.97853 0 -0.206103 0.490491 45 57.5 1 0 -1517 1 1 0 59.9044 50 48.6205 0.990439 0 -0.137952 0.490491 45 57.5 1 0 -1518 1 1 0 59.9165 50.6671 48.8961 0.991648 0.0667095 -0.110385 0.490491 45 57.5 1 0 -1519 1 1 0 59.9692 50.6674 49.5875 0.996917 0.0667412 -0.0412479 0.490491 45 57.5 1 0 -1520 1 1 0 59.9761 50 49.3086 0.997607 0 -0.0691418 0.490491 45 57.5 1 0 -1521 1 1 0 60 50 50 1 0 0 0.490491 45 57.5 1 0 -1522 1 1 0 59.2268 51.9839 46.6939 0.922682 0.198387 -0.330606 0.490491 45 57.5 1 0 -1523 1 1 0 59.4782 51.3257 47.1007 0.947822 0.13257 -0.289929 0.490491 45 57.5 1 0 -1524 1 1 0 59.4443 51.9909 47.3845 0.944433 0.199094 -0.26155 0.490491 45 57.5 1 0 -1525 1 1 0 58.5264 54.4446 52.7469 0.85264 0.444464 0.274694 0.490491 45 57.5 1 0 -1526 1 1 0 58.2845 54.4287 53.4285 0.828447 0.442867 0.342848 0.490491 45 57.5 1 0 -1527 1 1 0 58.9101 53.8619 52.3868 0.891007 0.386187 0.238677 0.490491 45 57.5 1 0 -1528 1 1 0 58.6973 53.8591 53.0766 0.869725 0.385906 0.307659 0.490491 45 57.5 1 0 -1529 1 1 0 58.4391 53.8361 53.7504 0.843912 0.383614 0.375038 0.490491 45 57.5 1 0 -1530 1 1 0 59.2388 53.2553 52.0119 0.92388 0.32553 0.201189 0.490491 45 57.5 1 0 -1531 1 1 0 59.0583 53.2593 52.7063 0.905832 0.325929 0.270627 0.490491 45 57.5 1 0 -1532 1 1 0 59.5106 52.6287 51.6246 0.951057 0.262865 0.16246 0.490491 45 57.5 1 0 -1533 1 1 0 59.3605 52.6415 52.3245 0.93605 0.264151 0.232455 0.490491 45 57.5 1 0 -1534 1 1 0 59.1624 52.6408 53.0126 0.916244 0.264082 0.301258 0.490491 45 57.5 1 0 -1535 1 1 0 58.8284 53.2486 53.3921 0.882837 0.324863 0.339209 0.490491 45 57.5 1 0 -1536 1 1 0 58.5534 53.2252 54.0543 0.855337 0.322525 0.405434 0.490491 45 57.5 1 0 -1537 1 1 0 58.9174 52.6266 53.6852 0.891742 0.262661 0.368518 0.490491 45 57.5 1 0 -1538 1 1 0 58.6267 52.5989 54.3389 0.862669 0.259892 0.433888 0.490491 45 57.5 1 0 -1539 1 1 0 59.7237 51.9858 51.2273 0.97237 0.198581 0.122729 0.490491 45 57.5 1 0 -1540 1 1 0 59.6119 51.9834 51.9178 0.961188 0.198337 0.19178 0.490491 45 57.5 1 0 -1541 1 1 0 59.8769 51.3307 50.8224 0.987688 0.133071 0.0822422 0.490491 45 57.5 1 0 -1542 1 1 0 59.7943 51.3326 51.5155 0.979426 0.133256 0.151549 0.490491 45 57.5 1 0 -1543 1 1 0 59.6639 51.3279 52.2012 0.966393 0.132792 0.220117 0.490491 45 57.5 1 0 -1544 1 1 0 59.9692 50.6674 50.4125 0.996917 0.0667412 0.0412479 0.490491 45 57.5 1 0 -1545 1 1 0 59.9165 50.6671 51.1039 0.991648 0.0667095 0.110385 0.490491 45 57.5 1 0 -1546 1 1 0 59.9761 50 50.6914 0.997607 0 0.0691418 0.490491 45 57.5 1 0 -1547 1 1 0 59.9044 50 51.3795 0.990439 0 0.137952 0.490491 45 57.5 1 0 -1548 1 1 0 59.8148 50.666 51.796 0.981483 0.0666046 0.179596 0.490491 45 57.5 1 0 -1549 1 1 0 59.6664 50.6657 52.4733 0.966643 0.0665668 0.247326 0.490491 45 57.5 1 0 -1550 1 1 0 59.7853 50 52.061 0.97853 0 0.206103 0.490491 45 57.5 1 0 -1551 1 1 0 59.6194 50 52.7327 0.961938 0 0.273267 0.490491 45 57.5 1 0 -1552 1 1 0 58.964 51.9641 53.9735 0.896401 0.196412 0.39735 0.490491 45 57.5 1 0 -1553 1 1 0 58.6587 51.9602 54.6027 0.865871 0.196015 0.460266 0.490491 45 57.5 1 0 -1554 1 1 0 59.243 51.3166 53.5823 0.924305 0.131656 0.358229 0.490491 45 57.5 1 0 -1555 1 1 0 58.968 51.3175 54.2236 0.896801 0.131749 0.422363 0.490491 45 57.5 1 0 -1556 1 1 0 58.6493 51.312 54.8444 0.864929 0.1312 0.484441 0.490491 45 57.5 1 0 -1557 1 1 0 59.462 50.6604 53.1678 0.946198 0.0660427 0.316778 0.490491 45 57.5 1 0 -1558 1 1 0 59.2192 50.6599 53.8172 0.921919 0.0659886 0.381722 0.490491 45 57.5 1 0 -1559 1 1 0 59.4074 50 53.3912 0.940742 0 0.339122 0.490491 45 57.5 1 0 -1560 1 1 0 59.1504 50 54.0336 0.915043 0 0.403355 0.490491 45 57.5 1 0 -1561 1 1 0 58.9293 50.6582 54.4537 0.892927 0.0658169 0.445365 0.490491 45 57.5 1 0 -1562 1 1 0 58.5985 50.6576 55.063 0.859848 0.0657577 0.506298 0.490491 45 57.5 1 0 -1563 1 1 0 58.8497 50 54.6566 0.884965 0 0.465657 0.490491 45 57.5 1 0 -1564 1 1 0 59.4443 51.9909 52.6155 0.944433 0.199094 0.26155 0.490491 45 57.5 1 0 -1565 1 1 0 59.4782 51.3257 52.8993 0.947822 0.13257 0.289929 0.490491 45 57.5 1 0 -1566 1 1 0 59.2268 51.9839 53.3061 0.922682 0.198387 0.330606 0.490491 45 57.5 1 0 -1567 1 1 0 58.6853 54.5426 48.0177 0.868535 0.454262 -0.198227 0.490491 45 57.5 1 0 -1568 1 1 0 59.0484 53.9414 48.3899 0.904839 0.394136 -0.161007 0.490491 45 57.5 1 0 -1569 1 1 0 59.3513 53.3234 48.772 0.93513 0.332342 -0.1228 0.490491 45 57.5 1 0 -1570 1 1 0 59.1298 53.9961 49.1768 0.912983 0.399607 -0.0823235 0.490491 45 57.5 1 0 -1571 1 1 0 58.7934 54.6088 48.8024 0.879344 0.460882 -0.119755 0.490491 45 57.5 1 0 -1572 1 1 0 58.8476 54.6421 49.587 0.88476 0.464213 -0.0412991 0.490491 45 57.5 1 0 -1573 1 1 0 59.6065 52.6552 49.185 0.960655 0.265519 -0.081501 0.490491 45 57.5 1 0 -1574 1 1 0 59.7885 52.0037 49.5875 0.978852 0.200368 -0.0412506 0.490491 45 57.5 1 0 -1575 1 1 0 59.6386 52.664 50 0.963861 0.266405 0 0.490491 45 57.5 1 0 -1576 1 1 0 59.9105 51.3352 50 0.991046 0.133524 0 0.490491 45 57.5 1 0 -1577 1 1 0 59.7885 52.0037 50.4125 0.978852 0.200368 0.0412506 0.490491 45 57.5 1 0 -1578 1 1 0 59.6065 52.6552 50.815 0.960655 0.265519 0.081501 0.490491 45 57.5 1 0 -1579 1 1 0 58.8476 54.6421 50.413 0.88476 0.464213 0.0412991 0.490491 45 57.5 1 0 -1580 1 1 0 59.1298 53.9961 50.8232 0.912983 0.399607 0.0823235 0.490491 45 57.5 1 0 -1581 1 1 0 58.7934 54.6088 51.1976 0.879344 0.460882 0.119755 0.490491 45 57.5 1 0 -1582 1 1 0 59.3513 53.3234 51.228 0.93513 0.332342 0.1228 0.490491 45 57.5 1 0 -1583 1 1 0 59.0484 53.9414 51.6101 0.904839 0.394136 0.161007 0.490491 45 57.5 1 0 -1584 1 1 0 58.6853 54.5426 51.9823 0.868535 0.454262 0.198227 0.490491 45 57.5 1 0 -1585 1 1 0 59.4162 53.3414 49.587 0.941618 0.33414 -0.0413021 0.490491 45 57.5 1 0 -1586 1 1 0 59.4162 53.3414 50.413 0.941618 0.33414 0.0413021 0.490491 45 57.5 1 0 -1587 1 1 0 59.1609 54.0097 50 0.916092 0.400968 0 0.490491 45 57.5 1 0 -1588 1 1 0 55.7206 41.8079 50.4064 0.572055 -0.819207 0.0406403 0.490491 45 57.5 1 0 -1589 1 1 0 55.7206 41.8079 49.5936 0.572055 -0.819207 -0.0406403 0.490491 45 57.5 1 0 -1590 1 1 0 56.1564 42.1616 50.8109 0.615642 -0.783843 0.081086 0.490491 45 57.5 1 0 -1591 1 1 0 56.1768 42.1357 50 0.617676 -0.786433 0 0.490491 45 57.5 1 0 -1592 1 1 0 56.1564 42.1616 49.1891 0.615642 -0.783843 -0.081086 0.490491 45 57.5 1 0 -1593 1 1 0 56.5628 42.5527 51.2114 0.656282 -0.744727 0.121144 0.490491 45 57.5 1 0 -1594 1 1 0 56.6088 42.5061 50.4064 0.660883 -0.749387 0.0406418 0.490491 45 57.5 1 0 -1595 1 1 0 56.9378 42.9795 51.6062 0.69378 -0.702047 0.160622 0.490491 45 57.5 1 0 -1596 1 1 0 57.0062 42.9103 50.8057 0.700622 -0.708969 0.0805729 0.490491 45 57.5 1 0 -1597 1 1 0 57.0291 42.8872 50 0.702907 -0.711282 0 0.490491 45 57.5 1 0 -1598 1 1 0 56.6088 42.5061 49.5936 0.660883 -0.749387 -0.0406418 0.490491 45 57.5 1 0 -1599 1 1 0 56.5628 42.5527 48.7886 0.656282 -0.744727 -0.121144 0.490491 45 57.5 1 0 -1600 1 1 0 57.0062 42.9103 49.1943 0.700622 -0.708969 -0.0805729 0.490491 45 57.5 1 0 -1601 1 1 0 56.9378 42.9795 48.3938 0.69378 -0.702047 -0.160622 0.490491 45 57.5 1 0 -1602 1 1 0 57.2796 43.4399 51.9933 0.727959 -0.656006 0.199331 0.490491 45 57.5 1 0 -1603 1 1 0 57.3889 43.3716 51.2119 0.738887 -0.662842 0.121192 0.490491 45 57.5 1 0 -1604 1 1 0 57.5865 43.9317 52.3709 0.758652 -0.606825 0.237086 0.490491 45 57.5 1 0 -1605 1 1 0 57.7184 43.8454 51.5961 0.771841 -0.615456 0.159613 0.490491 45 57.5 1 0 -1606 1 1 0 57.802 43.7976 50.8114 0.780205 -0.620239 0.0811417 0.490491 45 57.5 1 0 -1607 1 1 0 57.8572 44.4526 52.7371 0.785715 -0.55474 0.273706 0.490491 45 57.5 1 0 -1608 1 1 0 58.015 44.3549 51.9727 0.801504 -0.564513 0.197274 0.490491 45 57.5 1 0 -1609 1 1 0 58.0902 45 53.0902 0.809017 -0.5 0.309017 0.490491 45 57.5 1 0 -1610 1 1 0 58.2715 44.888 52.3345 0.827147 -0.511205 0.233445 0.490491 45 57.5 1 0 -1611 1 1 0 58.4018 44.8074 51.5643 0.840178 -0.519259 0.156434 0.490491 45 57.5 1 0 -1612 1 1 0 58.1217 44.2886 51.1908 0.81217 -0.57114 0.119078 0.490491 45 57.5 1 0 -1613 1 1 0 58.1752 44.2554 50.4067 0.817523 -0.574458 0.040675 0.490491 45 57.5 1 0 -1614 1 1 0 58.4803 44.7589 50.7846 0.848029 -0.52411 0.0784592 0.490491 45 57.5 1 0 -1615 1 1 0 58.5065 44.7427 50 0.850651 -0.525731 0 0.490491 45 57.5 1 0 -1616 1 1 0 57.3889 43.3716 48.7881 0.738887 -0.662842 -0.121192 0.490491 45 57.5 1 0 -1617 1 1 0 57.2796 43.4399 48.0067 0.727959 -0.656006 -0.199331 0.490491 45 57.5 1 0 -1618 1 1 0 57.802 43.7976 49.1886 0.780205 -0.620239 -0.0811417 0.490491 45 57.5 1 0 -1619 1 1 0 57.7184 43.8454 48.4039 0.771841 -0.615456 -0.159613 0.490491 45 57.5 1 0 -1620 1 1 0 57.5865 43.9317 47.6291 0.758652 -0.606825 -0.237086 0.490491 45 57.5 1 0 -1621 1 1 0 58.1752 44.2554 49.5933 0.817523 -0.574458 -0.040675 0.490491 45 57.5 1 0 -1622 1 1 0 58.1217 44.2886 48.8092 0.81217 -0.57114 -0.119078 0.490491 45 57.5 1 0 -1623 1 1 0 58.4803 44.7589 49.2154 0.848029 -0.52411 -0.0784592 0.490491 45 57.5 1 0 -1624 1 1 0 58.4018 44.8074 48.4357 0.840178 -0.519259 -0.156434 0.490491 45 57.5 1 0 -1625 1 1 0 58.015 44.3549 48.0273 0.801504 -0.564513 -0.197274 0.490491 45 57.5 1 0 -1626 1 1 0 57.8572 44.4526 47.2629 0.785715 -0.55474 -0.273706 0.490491 45 57.5 1 0 -1627 1 1 0 58.2715 44.888 47.6655 0.827147 -0.511205 -0.233445 0.490491 45 57.5 1 0 -1628 1 1 0 58.0902 45 46.9098 0.809017 -0.5 -0.309017 0.490491 45 57.5 1 0 -1629 1 1 0 57.435 43.325 50.4068 0.743496 -0.667502 0.0406769 0.490491 45 57.5 1 0 -1630 1 1 0 57.8279 43.7771 50 0.782786 -0.622291 0 0.490491 45 57.5 1 0 -1631 1 1 0 57.435 43.325 49.5932 0.743496 -0.667502 -0.0406769 0.490491 45 57.5 1 0 -1632 1 1 0 58.2845 45.5713 53.4285 0.828447 -0.442867 0.342848 0.490491 45 57.5 1 0 -1633 1 1 0 58.5264 45.5554 52.7469 0.85264 -0.444464 0.274694 0.490491 45 57.5 1 0 -1634 1 1 0 58.4391 46.1639 53.7504 0.843912 -0.383614 0.375038 0.490491 45 57.5 1 0 -1635 1 1 0 58.6973 46.1409 53.0766 0.869725 -0.385906 0.307659 0.490491 45 57.5 1 0 -1636 1 1 0 58.9101 46.1381 52.3868 0.891007 -0.386187 0.238677 0.490491 45 57.5 1 0 -1637 1 1 0 58.5534 46.7748 54.0543 0.855337 -0.322525 0.405434 0.490491 45 57.5 1 0 -1638 1 1 0 58.8284 46.7514 53.3921 0.882837 -0.324863 0.339209 0.490491 45 57.5 1 0 -1639 1 1 0 58.6267 47.4011 54.3389 0.862669 -0.259892 0.433888 0.490491 45 57.5 1 0 -1640 1 1 0 58.9174 47.3734 53.6852 0.891742 -0.262661 0.368518 0.490491 45 57.5 1 0 -1641 1 1 0 59.1624 47.3592 53.0126 0.916244 -0.264082 0.301258 0.490491 45 57.5 1 0 -1642 1 1 0 59.0583 46.7407 52.7063 0.905832 -0.325929 0.270627 0.490491 45 57.5 1 0 -1643 1 1 0 59.2388 46.7447 52.0119 0.92388 -0.32553 0.201189 0.490491 45 57.5 1 0 -1644 1 1 0 59.3605 47.3585 52.3245 0.93605 -0.264151 0.232455 0.490491 45 57.5 1 0 -1645 1 1 0 59.5106 47.3713 51.6246 0.951057 -0.262865 0.16246 0.490491 45 57.5 1 0 -1646 1 1 0 58.6587 48.0398 54.6027 0.865871 -0.196015 0.460266 0.490491 45 57.5 1 0 -1647 1 1 0 58.964 48.0359 53.9735 0.896401 -0.196412 0.39735 0.490491 45 57.5 1 0 -1648 1 1 0 58.6493 48.688 54.8444 0.864929 -0.1312 0.484441 0.490491 45 57.5 1 0 -1649 1 1 0 58.968 48.6825 54.2236 0.896801 -0.131749 0.422363 0.490491 45 57.5 1 0 -1650 1 1 0 59.243 48.6834 53.5823 0.924305 -0.131656 0.358229 0.490491 45 57.5 1 0 -1651 1 1 0 58.5985 49.3424 55.063 0.859848 -0.0657577 0.506298 0.490491 45 57.5 1 0 -1652 1 1 0 58.9293 49.3418 54.4537 0.892927 -0.0658169 0.445365 0.490491 45 57.5 1 0 -1653 1 1 0 59.2192 49.3401 53.8172 0.921919 -0.0659886 0.381722 0.490491 45 57.5 1 0 -1654 1 1 0 59.462 49.3396 53.1678 0.946198 -0.0660427 0.316778 0.490491 45 57.5 1 0 -1655 1 1 0 59.6119 48.0166 51.9178 0.961188 -0.198337 0.19178 0.490491 45 57.5 1 0 -1656 1 1 0 59.7237 48.0142 51.2273 0.97237 -0.198581 0.122729 0.490491 45 57.5 1 0 -1657 1 1 0 59.6639 48.6721 52.2012 0.966393 -0.132792 0.220117 0.490491 45 57.5 1 0 -1658 1 1 0 59.7943 48.6674 51.5155 0.979426 -0.133256 0.151549 0.490491 45 57.5 1 0 -1659 1 1 0 59.8769 48.6693 50.8224 0.987688 -0.133071 0.0822422 0.490491 45 57.5 1 0 -1660 1 1 0 59.6664 49.3343 52.4733 0.966643 -0.0665668 0.247326 0.490491 45 57.5 1 0 -1661 1 1 0 59.8148 49.334 51.796 0.981483 -0.0666046 0.179596 0.490491 45 57.5 1 0 -1662 1 1 0 59.9165 49.3329 51.1039 0.991648 -0.0667095 0.110385 0.490491 45 57.5 1 0 -1663 1 1 0 59.9692 49.3326 50.4125 0.996917 -0.0667412 0.0412479 0.490491 45 57.5 1 0 -1664 1 1 0 59.2268 48.0161 53.3061 0.922682 -0.198387 0.330606 0.490491 45 57.5 1 0 -1665 1 1 0 59.4782 48.6743 52.8993 0.947822 -0.13257 0.289929 0.490491 45 57.5 1 0 -1666 1 1 0 59.4443 48.0091 52.6155 0.944433 -0.199094 0.26155 0.490491 45 57.5 1 0 -1667 1 1 0 58.5264 45.5554 47.2531 0.85264 -0.444464 -0.274694 0.490491 45 57.5 1 0 -1668 1 1 0 58.2845 45.5713 46.5715 0.828447 -0.442867 -0.342848 0.490491 45 57.5 1 0 -1669 1 1 0 58.9101 46.1381 47.6132 0.891007 -0.386187 -0.238677 0.490491 45 57.5 1 0 -1670 1 1 0 58.6973 46.1409 46.9234 0.869725 -0.385906 -0.307659 0.490491 45 57.5 1 0 -1671 1 1 0 58.4391 46.1639 46.2496 0.843912 -0.383614 -0.375038 0.490491 45 57.5 1 0 -1672 1 1 0 59.2388 46.7447 47.9881 0.92388 -0.32553 -0.201189 0.490491 45 57.5 1 0 -1673 1 1 0 59.0583 46.7407 47.2937 0.905832 -0.325929 -0.270627 0.490491 45 57.5 1 0 -1674 1 1 0 59.5106 47.3713 48.3754 0.951057 -0.262865 -0.16246 0.490491 45 57.5 1 0 -1675 1 1 0 59.3605 47.3585 47.6755 0.93605 -0.264151 -0.232455 0.490491 45 57.5 1 0 -1676 1 1 0 59.1624 47.3592 46.9874 0.916244 -0.264082 -0.301258 0.490491 45 57.5 1 0 -1677 1 1 0 58.8284 46.7514 46.6079 0.882837 -0.324863 -0.339209 0.490491 45 57.5 1 0 -1678 1 1 0 58.5534 46.7748 45.9457 0.855337 -0.322525 -0.405434 0.490491 45 57.5 1 0 -1679 1 1 0 58.9174 47.3734 46.3148 0.891742 -0.262661 -0.368518 0.490491 45 57.5 1 0 -1680 1 1 0 58.6267 47.4011 45.6611 0.862669 -0.259892 -0.433888 0.490491 45 57.5 1 0 -1681 1 1 0 59.7237 48.0142 48.7727 0.97237 -0.198581 -0.122729 0.490491 45 57.5 1 0 -1682 1 1 0 59.6119 48.0166 48.0822 0.961188 -0.198337 -0.19178 0.490491 45 57.5 1 0 -1683 1 1 0 59.8769 48.6693 49.1776 0.987688 -0.133071 -0.0822422 0.490491 45 57.5 1 0 -1684 1 1 0 59.7943 48.6674 48.4845 0.979426 -0.133256 -0.151549 0.490491 45 57.5 1 0 -1685 1 1 0 59.6639 48.6721 47.7988 0.966393 -0.132792 -0.220117 0.490491 45 57.5 1 0 -1686 1 1 0 59.9692 49.3326 49.5875 0.996917 -0.0667412 -0.0412479 0.490491 45 57.5 1 0 -1687 1 1 0 59.9165 49.3329 48.8961 0.991648 -0.0667095 -0.110385 0.490491 45 57.5 1 0 -1688 1 1 0 59.8148 49.334 48.204 0.981483 -0.0666046 -0.179596 0.490491 45 57.5 1 0 -1689 1 1 0 59.6664 49.3343 47.5267 0.966643 -0.0665668 -0.247326 0.490491 45 57.5 1 0 -1690 1 1 0 58.964 48.0359 46.0265 0.896401 -0.196412 -0.39735 0.490491 45 57.5 1 0 -1691 1 1 0 58.6587 48.0398 45.3973 0.865871 -0.196015 -0.460266 0.490491 45 57.5 1 0 -1692 1 1 0 59.243 48.6834 46.4177 0.924305 -0.131656 -0.358229 0.490491 45 57.5 1 0 -1693 1 1 0 58.968 48.6825 45.7764 0.896801 -0.131749 -0.422363 0.490491 45 57.5 1 0 -1694 1 1 0 58.6493 48.688 45.1556 0.864929 -0.1312 -0.484441 0.490491 45 57.5 1 0 -1695 1 1 0 59.462 49.3396 46.8322 0.946198 -0.0660427 -0.316778 0.490491 45 57.5 1 0 -1696 1 1 0 59.2192 49.3401 46.1828 0.921919 -0.0659886 -0.381722 0.490491 45 57.5 1 0 -1697 1 1 0 58.9293 49.3418 45.5463 0.892927 -0.0658169 -0.445365 0.490491 45 57.5 1 0 -1698 1 1 0 58.5985 49.3424 44.937 0.859848 -0.0657577 -0.506298 0.490491 45 57.5 1 0 -1699 1 1 0 59.4443 48.0091 47.3845 0.944433 -0.199094 -0.26155 0.490491 45 57.5 1 0 -1700 1 1 0 59.4782 48.6743 47.1007 0.947822 -0.13257 -0.289929 0.490491 45 57.5 1 0 -1701 1 1 0 59.2268 48.0161 46.6939 0.922682 -0.198387 -0.330606 0.490491 45 57.5 1 0 -1702 1 1 0 58.6853 45.4574 51.9823 0.868535 -0.454262 0.198227 0.490491 45 57.5 1 0 -1703 1 1 0 59.0484 46.0586 51.6101 0.904839 -0.394136 0.161007 0.490491 45 57.5 1 0 -1704 1 1 0 59.3513 46.6766 51.228 0.93513 -0.332342 0.1228 0.490491 45 57.5 1 0 -1705 1 1 0 59.1298 46.0039 50.8232 0.912983 -0.399607 0.0823235 0.490491 45 57.5 1 0 -1706 1 1 0 58.7934 45.3912 51.1976 0.879344 -0.460882 0.119755 0.490491 45 57.5 1 0 -1707 1 1 0 58.8476 45.3579 50.413 0.88476 -0.464213 0.0412991 0.490491 45 57.5 1 0 -1708 1 1 0 59.6065 47.3448 50.815 0.960655 -0.265519 0.081501 0.490491 45 57.5 1 0 -1709 1 1 0 59.7885 47.9963 50.4125 0.978852 -0.200368 0.0412506 0.490491 45 57.5 1 0 -1710 1 1 0 59.6386 47.336 50 0.963861 -0.266405 0 0.490491 45 57.5 1 0 -1711 1 1 0 59.9105 48.6648 50 0.991046 -0.133524 0 0.490491 45 57.5 1 0 -1712 1 1 0 59.7885 47.9963 49.5875 0.978852 -0.200368 -0.0412506 0.490491 45 57.5 1 0 -1713 1 1 0 59.6065 47.3448 49.185 0.960655 -0.265519 -0.081501 0.490491 45 57.5 1 0 -1714 1 1 0 58.8476 45.3579 49.587 0.88476 -0.464213 -0.0412991 0.490491 45 57.5 1 0 -1715 1 1 0 59.1298 46.0039 49.1768 0.912983 -0.399607 -0.0823235 0.490491 45 57.5 1 0 -1716 1 1 0 58.7934 45.3912 48.8024 0.879344 -0.460882 -0.119755 0.490491 45 57.5 1 0 -1717 1 1 0 59.3513 46.6766 48.772 0.93513 -0.332342 -0.1228 0.490491 45 57.5 1 0 -1718 1 1 0 59.0484 46.0586 48.3899 0.904839 -0.394136 -0.161007 0.490491 45 57.5 1 0 -1719 1 1 0 58.6853 45.4574 48.0177 0.868535 -0.454262 -0.198227 0.490491 45 57.5 1 0 -1720 1 1 0 59.4162 46.6586 50.413 0.941618 -0.33414 0.0413021 0.490491 45 57.5 1 0 -1721 1 1 0 59.4162 46.6586 49.587 0.941618 -0.33414 -0.0413021 0.490491 45 57.5 1 0 -1722 1 1 0 59.1609 45.9903 50 0.916092 -0.400968 0 0.490491 45 57.5 1 0 -1723 1 1 0 48.9351 55.5186 58.2711 -0.106494 0.551859 0.82711 0.490491 45 57.5 1 0 -1724 1 1 0 48.2747 55.2913 58.3081 -0.172532 0.529135 0.830812 0.490491 45 57.5 1 0 -1725 1 1 0 47.6277 55.0421 58.3036 -0.237228 0.504209 0.830359 0.490491 45 57.5 1 0 -1726 1 1 0 47.8698 55.7125 57.9265 -0.213023 0.571251 0.79265 0.490491 45 57.5 1 0 -1727 1 1 0 48.5259 55.949 57.9017 -0.147413 0.594895 0.79017 0.490491 45 57.5 1 0 -1728 1 1 0 48.1257 56.3458 57.4979 -0.187432 0.634579 0.749786 0.490491 45 57.5 1 0 -1729 1 1 0 46.962 54.7623 58.2518 -0.303801 0.476225 0.825175 0.490491 45 57.5 1 0 -1730 1 1 0 46.3397 54.4698 58.1623 -0.366027 0.446977 0.816233 0.490491 45 57.5 1 0 -1731 1 1 0 46.5385 55.1612 57.8345 -0.346153 0.516122 0.783452 0.490491 45 57.5 1 0 -1732 1 1 0 45.7287 54.156 58.0302 -0.427135 0.415597 0.803016 0.490491 45 57.5 1 0 -1733 1 1 0 45.1429 53.8268 57.859 -0.485712 0.382683 0.785899 0.490491 45 57.5 1 0 -1734 1 1 0 45.3157 54.5399 57.5794 -0.46843 0.45399 0.757936 0.490491 45 57.5 1 0 -1735 1 1 0 45.9171 54.8624 57.7258 -0.408286 0.48624 0.772575 0.490491 45 57.5 1 0 -1736 1 1 0 46.1327 55.5337 57.3771 -0.38673 0.553372 0.737712 0.490491 45 57.5 1 0 -1737 1 1 0 45.5174 55.225 57.253 -0.448259 0.522499 0.725299 0.490491 45 57.5 1 0 -1738 1 1 0 45.7467 55.8779 56.8819 -0.425325 0.587785 0.688191 0.490491 45 57.5 1 0 -1739 1 1 0 47.711 56.7232 57.0398 -0.228899 0.672319 0.703983 0.490491 45 57.5 1 0 -1740 1 1 0 47.04 56.4741 57.0231 -0.296004 0.647412 0.70231 0.490491 45 57.5 1 0 -1741 1 1 0 47.3262 57.0524 56.5662 -0.267381 0.705236 0.65662 0.490491 45 57.5 1 0 -1742 1 1 0 46.3841 56.1919 56.9704 -0.361591 0.619186 0.697037 0.490491 45 57.5 1 0 -1743 1 1 0 46.6531 56.7891 56.535 -0.334691 0.678913 0.653497 0.490491 45 57.5 1 0 -1744 1 1 0 46.0023 56.4945 56.4684 -0.399769 0.649448 0.64684 0.490491 45 57.5 1 0 -1745 1 1 0 46.2825 57.0711 56.015 -0.371748 0.707107 0.601501 0.490491 45 57.5 1 0 -1746 1 1 0 46.9479 57.3479 56.0574 -0.305212 0.734794 0.605742 0.490491 45 57.5 1 0 -1747 1 1 0 46.5857 57.6041 55.5245 -0.341435 0.760406 0.552454 0.490491 45 57.5 1 0 -1748 1 1 0 47.1968 55.4511 57.9011 -0.280319 0.545109 0.790112 0.490491 45 57.5 1 0 -1749 1 1 0 46.7786 55.8369 57.4534 -0.322141 0.583692 0.745339 0.490491 45 57.5 1 0 -1750 1 1 0 47.4482 56.1093 57.4944 -0.25518 0.610926 0.749435 0.490491 45 57.5 1 0 -1751 1 1 0 44.4755 53.4143 57.6041 -0.552454 0.341435 0.760406 0.490491 45 57.5 1 0 -1752 1 1 0 43.9426 53.0521 57.3479 -0.605742 0.305212 0.734794 0.490491 45 57.5 1 0 -1753 1 1 0 43.985 53.7175 57.0711 -0.601501 0.371748 0.707107 0.490491 45 57.5 1 0 -1754 1 1 0 43.4338 52.6738 57.0524 -0.65662 0.267381 0.705236 0.490491 45 57.5 1 0 -1755 1 1 0 42.9602 52.289 56.7232 -0.703983 0.228899 0.672319 0.490491 45 57.5 1 0 -1756 1 1 0 42.9769 52.96 56.4741 -0.70231 0.296004 0.647412 0.490491 45 57.5 1 0 -1757 1 1 0 43.465 53.3469 56.7891 -0.653497 0.334691 0.678913 0.490491 45 57.5 1 0 -1758 1 1 0 43.5316 53.9977 56.4945 -0.64684 0.399769 0.649448 0.490491 45 57.5 1 0 -1759 1 1 0 43.0296 53.6159 56.1919 -0.697037 0.361591 0.619186 0.490491 45 57.5 1 0 -1760 1 1 0 43.1181 54.2533 55.8779 -0.688191 0.425325 0.587785 0.490491 45 57.5 1 0 -1761 1 1 0 42.5021 51.8743 56.3458 -0.749786 0.187432 0.634579 0.490491 45 57.5 1 0 -1762 1 1 0 42.0983 51.4741 55.949 -0.79017 0.147413 0.594895 0.490491 45 57.5 1 0 -1763 1 1 0 42.0735 52.1302 55.7125 -0.79265 0.213023 0.571251 0.490491 45 57.5 1 0 -1764 1 1 0 41.7289 51.0649 55.5186 -0.82711 0.106494 0.551859 0.490491 45 57.5 1 0 -1765 1 1 0 41.6919 51.7253 55.2913 -0.830812 0.172532 0.529135 0.490491 45 57.5 1 0 -1766 1 1 0 41.6964 52.3723 55.0421 -0.830359 0.237228 0.504209 0.490491 45 57.5 1 0 -1767 1 1 0 42.6229 53.8673 55.5337 -0.737712 0.38673 0.553372 0.490491 45 57.5 1 0 -1768 1 1 0 42.747 54.4826 55.225 -0.725299 0.448259 0.522499 0.490491 45 57.5 1 0 -1769 1 1 0 42.1655 53.4615 55.1612 -0.783452 0.346153 0.516122 0.490491 45 57.5 1 0 -1770 1 1 0 42.2742 54.0829 54.8624 -0.772575 0.408286 0.48624 0.490491 45 57.5 1 0 -1771 1 1 0 42.4206 54.6843 54.5399 -0.757936 0.46843 0.45399 0.490491 45 57.5 1 0 -1772 1 1 0 41.7482 53.038 54.7623 -0.825175 0.303801 0.476225 0.490491 45 57.5 1 0 -1773 1 1 0 41.8377 53.6603 54.4698 -0.816233 0.366027 0.446977 0.490491 45 57.5 1 0 -1774 1 1 0 41.9698 54.2713 54.156 -0.803016 0.427135 0.415597 0.490491 45 57.5 1 0 -1775 1 1 0 42.141 54.8571 53.8268 -0.785899 0.485712 0.382683 0.490491 45 57.5 1 0 -1776 1 1 0 42.5056 52.5518 56.1093 -0.749435 0.25518 0.610926 0.490491 45 57.5 1 0 -1777 1 1 0 42.0989 52.8032 55.4511 -0.790112 0.280319 0.545109 0.490491 45 57.5 1 0 -1778 1 1 0 42.5466 53.2214 55.8369 -0.745339 0.322141 0.583692 0.490491 45 57.5 1 0 -1779 1 1 0 46.1732 57.859 54.8571 -0.382683 0.785899 0.485712 0.490491 45 57.5 1 0 -1780 1 1 0 45.4601 57.5794 54.6843 -0.45399 0.757936 0.46843 0.490491 45 57.5 1 0 -1781 1 1 0 45.844 58.0302 54.2713 -0.415597 0.803016 0.427135 0.490491 45 57.5 1 0 -1782 1 1 0 44.775 57.253 54.4826 -0.522499 0.725299 0.448259 0.490491 45 57.5 1 0 -1783 1 1 0 45.1376 57.7258 54.0829 -0.48624 0.772575 0.408286 0.490491 45 57.5 1 0 -1784 1 1 0 44.1221 56.8819 54.2533 -0.587785 0.688191 0.425325 0.490491 45 57.5 1 0 -1785 1 1 0 44.4663 57.3771 53.8673 -0.553372 0.737712 0.38673 0.490491 45 57.5 1 0 -1786 1 1 0 44.8388 57.8345 53.4615 -0.516122 0.783452 0.346153 0.490491 45 57.5 1 0 -1787 1 1 0 45.5302 58.1623 53.6603 -0.446977 0.816233 0.366027 0.490491 45 57.5 1 0 -1788 1 1 0 45.2377 58.2518 53.038 -0.476225 0.825175 0.303801 0.490491 45 57.5 1 0 -1789 1 1 0 43.5055 56.4684 53.9977 -0.649448 0.64684 0.399769 0.490491 45 57.5 1 0 -1790 1 1 0 43.8081 56.9704 53.6159 -0.619186 0.697037 0.361591 0.490491 45 57.5 1 0 -1791 1 1 0 42.9289 56.015 53.7175 -0.707107 0.601501 0.371748 0.490491 45 57.5 1 0 -1792 1 1 0 43.2109 56.535 53.3469 -0.678913 0.653497 0.334691 0.490491 45 57.5 1 0 -1793 1 1 0 43.5259 57.0231 52.96 -0.647412 0.70231 0.296004 0.490491 45 57.5 1 0 -1794 1 1 0 42.3959 55.5245 53.4143 -0.760406 0.552454 0.341435 0.490491 45 57.5 1 0 -1795 1 1 0 42.6521 56.0574 53.0521 -0.734794 0.605742 0.305212 0.490491 45 57.5 1 0 -1796 1 1 0 42.9476 56.5662 52.6738 -0.705236 0.65662 0.267381 0.490491 45 57.5 1 0 -1797 1 1 0 43.2768 57.0398 52.289 -0.672319 0.703983 0.228899 0.490491 45 57.5 1 0 -1798 1 1 0 44.9579 58.3036 52.3723 -0.504209 0.830359 0.237228 0.490491 45 57.5 1 0 -1799 1 1 0 44.2875 57.9265 52.1302 -0.571251 0.79265 0.213023 0.490491 45 57.5 1 0 -1800 1 1 0 44.7087 58.3081 51.7253 -0.529135 0.830812 0.172532 0.490491 45 57.5 1 0 -1801 1 1 0 43.6542 57.4979 51.8743 -0.634579 0.749786 0.187432 0.490491 45 57.5 1 0 -1802 1 1 0 44.051 57.9017 51.4741 -0.594895 0.79017 0.147413 0.490491 45 57.5 1 0 -1803 1 1 0 44.4814 58.2711 51.0649 -0.551859 0.82711 0.106494 0.490491 45 57.5 1 0 -1804 1 1 0 44.1631 57.4534 53.2214 -0.583692 0.745339 0.322141 0.490491 45 57.5 1 0 -1805 1 1 0 43.8907 57.4944 52.5518 -0.610926 0.749435 0.25518 0.490491 45 57.5 1 0 -1806 1 1 0 44.5489 57.9011 52.8032 -0.545109 0.790112 0.280319 0.490491 45 57.5 1 0 -1807 1 1 0 44.6322 54.1427 57.3501 -0.536784 0.414272 0.735011 0.490491 45 57.5 1 0 -1808 1 1 0 44.1528 54.4396 56.7898 -0.584716 0.443957 0.678977 0.490491 45 57.5 1 0 -1809 1 1 0 43.7169 54.7092 56.1924 -0.628313 0.470917 0.619242 0.490491 45 57.5 1 0 -1810 1 1 0 44.3575 55.1338 56.4658 -0.564254 0.513375 0.646578 0.490491 45 57.5 1 0 -1811 1 1 0 44.8203 54.8521 57.0447 -0.51797 0.485208 0.704471 0.490491 45 57.5 1 0 -1812 1 1 0 45.0356 55.5242 56.6961 -0.496441 0.552418 0.669612 0.490491 45 57.5 1 0 -1813 1 1 0 43.3039 54.9644 55.5242 -0.669612 0.496441 0.552418 0.490491 45 57.5 1 0 -1814 1 1 0 42.9553 55.1797 54.8521 -0.704471 0.51797 0.485208 0.490491 45 57.5 1 0 -1815 1 1 0 43.5342 55.6425 55.1338 -0.646578 0.564254 0.513375 0.490491 45 57.5 1 0 -1816 1 1 0 42.6499 55.3678 54.1427 -0.735011 0.536784 0.414272 0.490491 45 57.5 1 0 -1817 1 1 0 43.2102 55.8472 54.4396 -0.678977 0.584716 0.443957 0.490491 45 57.5 1 0 -1818 1 1 0 43.8076 56.2831 54.7092 -0.619242 0.628313 0.470917 0.490491 45 57.5 1 0 -1819 1 1 0 45.2908 56.1924 56.2831 -0.470917 0.619242 0.628313 0.490491 45 57.5 1 0 -1820 1 1 0 44.8662 56.4658 55.6425 -0.513375 0.646578 0.564254 0.490491 45 57.5 1 0 -1821 1 1 0 45.5604 56.7898 55.8472 -0.443957 0.678977 0.584716 0.490491 45 57.5 1 0 -1822 1 1 0 44.4758 56.6961 54.9644 -0.552418 0.669612 0.496441 0.490491 45 57.5 1 0 -1823 1 1 0 45.1479 57.0447 55.1797 -0.485208 0.704471 0.51797 0.490491 45 57.5 1 0 -1824 1 1 0 45.8573 57.3501 55.3678 -0.414272 0.735011 0.536784 0.490491 45 57.5 1 0 -1825 1 1 0 43.9252 55.4065 55.8195 -0.607478 0.54065 0.581952 0.490491 45 57.5 1 0 -1826 1 1 0 44.1805 56.0748 55.4065 -0.581952 0.607478 0.54065 0.490491 45 57.5 1 0 -1827 1 1 0 44.5935 55.8195 56.0748 -0.54065 0.581952 0.607478 0.490491 45 57.5 1 0 -1828 1 1 0 51.0649 55.5186 58.2711 0.106494 0.551859 0.82711 0.490491 45 57.5 1 0 -1829 1 1 0 51.4741 55.949 57.9017 0.147413 0.594895 0.79017 0.490491 45 57.5 1 0 -1830 1 1 0 51.8743 56.3458 57.4979 0.187432 0.634579 0.749786 0.490491 45 57.5 1 0 -1831 1 1 0 52.1302 55.7125 57.9265 0.213023 0.571251 0.79265 0.490491 45 57.5 1 0 -1832 1 1 0 51.7253 55.2913 58.3081 0.172532 0.529135 0.830812 0.490491 45 57.5 1 0 -1833 1 1 0 52.3723 55.0421 58.3036 0.237228 0.504209 0.830359 0.490491 45 57.5 1 0 -1834 1 1 0 52.289 56.7232 57.0398 0.228899 0.672319 0.703983 0.490491 45 57.5 1 0 -1835 1 1 0 52.6738 57.0524 56.5662 0.267381 0.705236 0.65662 0.490491 45 57.5 1 0 -1836 1 1 0 52.96 56.4741 57.0231 0.296004 0.647412 0.70231 0.490491 45 57.5 1 0 -1837 1 1 0 53.0521 57.3479 56.0574 0.305212 0.734794 0.605742 0.490491 45 57.5 1 0 -1838 1 1 0 53.4143 57.6041 55.5245 0.341435 0.760406 0.552454 0.490491 45 57.5 1 0 -1839 1 1 0 53.7175 57.0711 56.015 0.371748 0.707107 0.601501 0.490491 45 57.5 1 0 -1840 1 1 0 53.3469 56.7891 56.535 0.334691 0.678913 0.653497 0.490491 45 57.5 1 0 -1841 1 1 0 53.6159 56.1919 56.9704 0.361591 0.619186 0.697037 0.490491 45 57.5 1 0 -1842 1 1 0 53.9977 56.4945 56.4684 0.399769 0.649448 0.64684 0.490491 45 57.5 1 0 -1843 1 1 0 54.2533 55.8779 56.8819 0.425325 0.587785 0.688191 0.490491 45 57.5 1 0 -1844 1 1 0 53.038 54.7623 58.2518 0.303801 0.476225 0.825175 0.490491 45 57.5 1 0 -1845 1 1 0 53.4615 55.1612 57.8345 0.346153 0.516122 0.783452 0.490491 45 57.5 1 0 -1846 1 1 0 53.6603 54.4698 58.1623 0.366027 0.446977 0.816233 0.490491 45 57.5 1 0 -1847 1 1 0 53.8673 55.5337 57.3771 0.38673 0.553372 0.737712 0.490491 45 57.5 1 0 -1848 1 1 0 54.0829 54.8624 57.7258 0.408286 0.48624 0.772575 0.490491 45 57.5 1 0 -1849 1 1 0 54.4826 55.225 57.253 0.448259 0.522499 0.725299 0.490491 45 57.5 1 0 -1850 1 1 0 54.6843 54.5399 57.5794 0.46843 0.45399 0.757936 0.490491 45 57.5 1 0 -1851 1 1 0 54.2713 54.156 58.0302 0.427135 0.415597 0.803016 0.490491 45 57.5 1 0 -1852 1 1 0 54.8571 53.8268 57.859 0.485712 0.382683 0.785899 0.490491 45 57.5 1 0 -1853 1 1 0 52.5518 56.1093 57.4944 0.25518 0.610926 0.749435 0.490491 45 57.5 1 0 -1854 1 1 0 53.2214 55.8369 57.4534 0.322141 0.583692 0.745339 0.490491 45 57.5 1 0 -1855 1 1 0 52.8032 55.4511 57.9011 0.280319 0.545109 0.790112 0.490491 45 57.5 1 0 -1856 1 1 0 53.8268 57.859 54.8571 0.382683 0.785899 0.485712 0.490491 45 57.5 1 0 -1857 1 1 0 54.156 58.0302 54.2713 0.415597 0.803016 0.427135 0.490491 45 57.5 1 0 -1858 1 1 0 54.5399 57.5794 54.6843 0.45399 0.757936 0.46843 0.490491 45 57.5 1 0 -1859 1 1 0 54.4698 58.1623 53.6603 0.446977 0.816233 0.366027 0.490491 45 57.5 1 0 -1860 1 1 0 54.7623 58.2518 53.038 0.476225 0.825175 0.303801 0.490491 45 57.5 1 0 -1861 1 1 0 55.1612 57.8345 53.4615 0.516122 0.783452 0.346153 0.490491 45 57.5 1 0 -1862 1 1 0 54.8624 57.7258 54.0829 0.48624 0.772575 0.408286 0.490491 45 57.5 1 0 -1863 1 1 0 55.225 57.253 54.4826 0.522499 0.725299 0.448259 0.490491 45 57.5 1 0 -1864 1 1 0 55.5337 57.3771 53.8673 0.553372 0.737712 0.38673 0.490491 45 57.5 1 0 -1865 1 1 0 55.8779 56.8819 54.2533 0.587785 0.688191 0.425325 0.490491 45 57.5 1 0 -1866 1 1 0 55.0421 58.3036 52.3723 0.504209 0.830359 0.237228 0.490491 45 57.5 1 0 -1867 1 1 0 55.2913 58.3081 51.7253 0.529135 0.830812 0.172532 0.490491 45 57.5 1 0 -1868 1 1 0 55.7125 57.9265 52.1302 0.571251 0.79265 0.213023 0.490491 45 57.5 1 0 -1869 1 1 0 55.5186 58.2711 51.0649 0.551859 0.82711 0.106494 0.490491 45 57.5 1 0 -1870 1 1 0 55.949 57.9017 51.4741 0.594895 0.79017 0.147413 0.490491 45 57.5 1 0 -1871 1 1 0 56.3458 57.4979 51.8743 0.634579 0.749786 0.187432 0.490491 45 57.5 1 0 -1872 1 1 0 56.1919 56.9704 53.6159 0.619186 0.697037 0.361591 0.490491 45 57.5 1 0 -1873 1 1 0 56.4945 56.4684 53.9977 0.649448 0.64684 0.399769 0.490491 45 57.5 1 0 -1874 1 1 0 56.4741 57.0231 52.96 0.647412 0.70231 0.296004 0.490491 45 57.5 1 0 -1875 1 1 0 56.7891 56.535 53.3469 0.678913 0.653497 0.334691 0.490491 45 57.5 1 0 -1876 1 1 0 57.0711 56.015 53.7175 0.707107 0.601501 0.371748 0.490491 45 57.5 1 0 -1877 1 1 0 56.7232 57.0398 52.289 0.672319 0.703983 0.228899 0.490491 45 57.5 1 0 -1878 1 1 0 57.0524 56.5662 52.6738 0.705236 0.65662 0.267381 0.490491 45 57.5 1 0 -1879 1 1 0 57.3479 56.0574 53.0521 0.734794 0.605742 0.305212 0.490491 45 57.5 1 0 -1880 1 1 0 57.6041 55.5245 53.4143 0.760406 0.552454 0.341435 0.490491 45 57.5 1 0 -1881 1 1 0 55.4511 57.9011 52.8032 0.545109 0.790112 0.280319 0.490491 45 57.5 1 0 -1882 1 1 0 56.1093 57.4944 52.5518 0.610926 0.749435 0.25518 0.490491 45 57.5 1 0 -1883 1 1 0 55.8369 57.4534 53.2214 0.583692 0.745339 0.322141 0.490491 45 57.5 1 0 -1884 1 1 0 55.5245 53.4143 57.6041 0.552454 0.341435 0.760406 0.490491 45 57.5 1 0 -1885 1 1 0 56.015 53.7175 57.0711 0.601501 0.371748 0.707107 0.490491 45 57.5 1 0 -1886 1 1 0 56.0574 53.0521 57.3479 0.605742 0.305212 0.734794 0.490491 45 57.5 1 0 -1887 1 1 0 56.4684 53.9977 56.4945 0.64684 0.399769 0.649448 0.490491 45 57.5 1 0 -1888 1 1 0 56.535 53.3469 56.7891 0.653497 0.334691 0.678913 0.490491 45 57.5 1 0 -1889 1 1 0 56.8819 54.2533 55.8779 0.688191 0.425325 0.587785 0.490491 45 57.5 1 0 -1890 1 1 0 56.9704 53.6159 56.1919 0.697037 0.361591 0.619186 0.490491 45 57.5 1 0 -1891 1 1 0 57.0231 52.96 56.4741 0.70231 0.296004 0.647412 0.490491 45 57.5 1 0 -1892 1 1 0 56.5662 52.6738 57.0524 0.65662 0.267381 0.705236 0.490491 45 57.5 1 0 -1893 1 1 0 57.0398 52.289 56.7232 0.703983 0.228899 0.672319 0.490491 45 57.5 1 0 -1894 1 1 0 57.253 54.4826 55.225 0.725299 0.448259 0.522499 0.490491 45 57.5 1 0 -1895 1 1 0 57.3771 53.8673 55.5337 0.737712 0.38673 0.553372 0.490491 45 57.5 1 0 -1896 1 1 0 57.5794 54.6843 54.5399 0.757936 0.46843 0.45399 0.490491 45 57.5 1 0 -1897 1 1 0 57.7258 54.0829 54.8624 0.772575 0.408286 0.48624 0.490491 45 57.5 1 0 -1898 1 1 0 57.8345 53.4615 55.1612 0.783452 0.346153 0.516122 0.490491 45 57.5 1 0 -1899 1 1 0 57.859 54.8571 53.8268 0.785899 0.485712 0.382683 0.490491 45 57.5 1 0 -1900 1 1 0 58.0302 54.2713 54.156 0.803016 0.427135 0.415597 0.490491 45 57.5 1 0 -1901 1 1 0 58.1623 53.6603 54.4698 0.816233 0.366027 0.446977 0.490491 45 57.5 1 0 -1902 1 1 0 58.2518 53.038 54.7623 0.825175 0.303801 0.476225 0.490491 45 57.5 1 0 -1903 1 1 0 57.4979 51.8743 56.3458 0.749786 0.187432 0.634579 0.490491 45 57.5 1 0 -1904 1 1 0 57.9265 52.1302 55.7125 0.79265 0.213023 0.571251 0.490491 45 57.5 1 0 -1905 1 1 0 57.9017 51.4741 55.949 0.79017 0.147413 0.594895 0.490491 45 57.5 1 0 -1906 1 1 0 58.3036 52.3723 55.0421 0.830359 0.237228 0.504209 0.490491 45 57.5 1 0 -1907 1 1 0 58.3081 51.7253 55.2913 0.830812 0.172532 0.529135 0.490491 45 57.5 1 0 -1908 1 1 0 58.2711 51.0649 55.5186 0.82711 0.106494 0.551859 0.490491 45 57.5 1 0 -1909 1 1 0 57.4534 53.2214 55.8369 0.745339 0.322141 0.583692 0.490491 45 57.5 1 0 -1910 1 1 0 57.9011 52.8032 55.4511 0.790112 0.280319 0.545109 0.490491 45 57.5 1 0 -1911 1 1 0 57.4944 52.5518 56.1093 0.749435 0.25518 0.610926 0.490491 45 57.5 1 0 -1912 1 1 0 54.1427 57.3501 55.3678 0.414272 0.735011 0.536784 0.490491 45 57.5 1 0 -1913 1 1 0 54.8521 57.0447 55.1797 0.485208 0.704471 0.51797 0.490491 45 57.5 1 0 -1914 1 1 0 55.5242 56.6961 54.9644 0.552418 0.669612 0.496441 0.490491 45 57.5 1 0 -1915 1 1 0 55.1338 56.4658 55.6425 0.513375 0.646578 0.564254 0.490491 45 57.5 1 0 -1916 1 1 0 54.4396 56.7898 55.8472 0.443957 0.678977 0.584716 0.490491 45 57.5 1 0 -1917 1 1 0 54.7092 56.1924 56.2831 0.470917 0.619242 0.628313 0.490491 45 57.5 1 0 -1918 1 1 0 56.1924 56.2831 54.7092 0.619242 0.628313 0.470917 0.490491 45 57.5 1 0 -1919 1 1 0 56.7898 55.8472 54.4396 0.678977 0.584716 0.443957 0.490491 45 57.5 1 0 -1920 1 1 0 56.4658 55.6425 55.1338 0.646578 0.564254 0.513375 0.490491 45 57.5 1 0 -1921 1 1 0 57.3501 55.3678 54.1427 0.735011 0.536784 0.414272 0.490491 45 57.5 1 0 -1922 1 1 0 57.0447 55.1797 54.8521 0.704471 0.51797 0.485208 0.490491 45 57.5 1 0 -1923 1 1 0 56.6961 54.9644 55.5242 0.669612 0.496441 0.552418 0.490491 45 57.5 1 0 -1924 1 1 0 54.9644 55.5242 56.6961 0.496441 0.552418 0.669612 0.490491 45 57.5 1 0 -1925 1 1 0 55.6425 55.1338 56.4658 0.564254 0.513375 0.646578 0.490491 45 57.5 1 0 -1926 1 1 0 55.1797 54.8521 57.0447 0.51797 0.485208 0.704471 0.490491 45 57.5 1 0 -1927 1 1 0 56.2831 54.7092 56.1924 0.628313 0.470917 0.619242 0.490491 45 57.5 1 0 -1928 1 1 0 55.8472 54.4396 56.7898 0.584716 0.443957 0.678977 0.490491 45 57.5 1 0 -1929 1 1 0 55.3678 54.1427 57.3501 0.536784 0.414272 0.735011 0.490491 45 57.5 1 0 -1930 1 1 0 55.8195 56.0748 55.4065 0.581952 0.607478 0.54065 0.490491 45 57.5 1 0 -1931 1 1 0 56.0748 55.4065 55.8195 0.607478 0.54065 0.581952 0.490491 45 57.5 1 0 -1932 1 1 0 55.4065 55.8195 56.0748 0.54065 0.581952 0.607478 0.490491 45 57.5 1 0 -1933 1 1 0 48.9351 55.5186 41.7289 -0.106494 0.551859 -0.82711 0.490491 45 57.5 1 0 -1934 1 1 0 48.5259 55.949 42.0983 -0.147413 0.594895 -0.79017 0.490491 45 57.5 1 0 -1935 1 1 0 48.1257 56.3458 42.5021 -0.187432 0.634579 -0.749786 0.490491 45 57.5 1 0 -1936 1 1 0 47.8698 55.7125 42.0735 -0.213023 0.571251 -0.79265 0.490491 45 57.5 1 0 -1937 1 1 0 48.2747 55.2913 41.6919 -0.172532 0.529135 -0.830812 0.490491 45 57.5 1 0 -1938 1 1 0 47.6277 55.0421 41.6964 -0.237228 0.504209 -0.830359 0.490491 45 57.5 1 0 -1939 1 1 0 47.711 56.7232 42.9602 -0.228899 0.672319 -0.703983 0.490491 45 57.5 1 0 -1940 1 1 0 47.3262 57.0524 43.4338 -0.267381 0.705236 -0.65662 0.490491 45 57.5 1 0 -1941 1 1 0 47.04 56.4741 42.9769 -0.296004 0.647412 -0.70231 0.490491 45 57.5 1 0 -1942 1 1 0 46.9479 57.3479 43.9426 -0.305212 0.734794 -0.605742 0.490491 45 57.5 1 0 -1943 1 1 0 46.5857 57.6041 44.4755 -0.341435 0.760406 -0.552454 0.490491 45 57.5 1 0 -1944 1 1 0 46.2825 57.0711 43.985 -0.371748 0.707107 -0.601501 0.490491 45 57.5 1 0 -1945 1 1 0 46.6531 56.7891 43.465 -0.334691 0.678913 -0.653497 0.490491 45 57.5 1 0 -1946 1 1 0 46.3841 56.1919 43.0296 -0.361591 0.619186 -0.697037 0.490491 45 57.5 1 0 -1947 1 1 0 46.0023 56.4945 43.5316 -0.399769 0.649448 -0.64684 0.490491 45 57.5 1 0 -1948 1 1 0 45.7467 55.8779 43.1181 -0.425325 0.587785 -0.688191 0.490491 45 57.5 1 0 -1949 1 1 0 46.962 54.7623 41.7482 -0.303801 0.476225 -0.825175 0.490491 45 57.5 1 0 -1950 1 1 0 46.5385 55.1612 42.1655 -0.346153 0.516122 -0.783452 0.490491 45 57.5 1 0 -1951 1 1 0 46.3397 54.4698 41.8377 -0.366027 0.446977 -0.816233 0.490491 45 57.5 1 0 -1952 1 1 0 46.1327 55.5337 42.6229 -0.38673 0.553372 -0.737712 0.490491 45 57.5 1 0 -1953 1 1 0 45.9171 54.8624 42.2742 -0.408286 0.48624 -0.772575 0.490491 45 57.5 1 0 -1954 1 1 0 45.5174 55.225 42.747 -0.448259 0.522499 -0.725299 0.490491 45 57.5 1 0 -1955 1 1 0 45.3157 54.5399 42.4206 -0.46843 0.45399 -0.757936 0.490491 45 57.5 1 0 -1956 1 1 0 45.7287 54.156 41.9698 -0.427135 0.415597 -0.803016 0.490491 45 57.5 1 0 -1957 1 1 0 45.1429 53.8268 42.141 -0.485712 0.382683 -0.785899 0.490491 45 57.5 1 0 -1958 1 1 0 47.4482 56.1093 42.5056 -0.25518 0.610926 -0.749435 0.490491 45 57.5 1 0 -1959 1 1 0 46.7786 55.8369 42.5466 -0.322141 0.583692 -0.745339 0.490491 45 57.5 1 0 -1960 1 1 0 47.1968 55.4511 42.0989 -0.280319 0.545109 -0.790112 0.490491 45 57.5 1 0 -1961 1 1 0 46.1732 57.859 45.1429 -0.382683 0.785899 -0.485712 0.490491 45 57.5 1 0 -1962 1 1 0 45.844 58.0302 45.7287 -0.415597 0.803016 -0.427135 0.490491 45 57.5 1 0 -1963 1 1 0 45.4601 57.5794 45.3157 -0.45399 0.757936 -0.46843 0.490491 45 57.5 1 0 -1964 1 1 0 45.5302 58.1623 46.3397 -0.446977 0.816233 -0.366027 0.490491 45 57.5 1 0 -1965 1 1 0 45.2377 58.2518 46.962 -0.476225 0.825175 -0.303801 0.490491 45 57.5 1 0 -1966 1 1 0 44.8388 57.8345 46.5385 -0.516122 0.783452 -0.346153 0.490491 45 57.5 1 0 -1967 1 1 0 45.1376 57.7258 45.9171 -0.48624 0.772575 -0.408286 0.490491 45 57.5 1 0 -1968 1 1 0 44.775 57.253 45.5174 -0.522499 0.725299 -0.448259 0.490491 45 57.5 1 0 -1969 1 1 0 44.4663 57.3771 46.1327 -0.553372 0.737712 -0.38673 0.490491 45 57.5 1 0 -1970 1 1 0 44.1221 56.8819 45.7467 -0.587785 0.688191 -0.425325 0.490491 45 57.5 1 0 -1971 1 1 0 44.9579 58.3036 47.6277 -0.504209 0.830359 -0.237228 0.490491 45 57.5 1 0 -1972 1 1 0 44.7087 58.3081 48.2747 -0.529135 0.830812 -0.172532 0.490491 45 57.5 1 0 -1973 1 1 0 44.2875 57.9265 47.8698 -0.571251 0.79265 -0.213023 0.490491 45 57.5 1 0 -1974 1 1 0 44.4814 58.2711 48.9351 -0.551859 0.82711 -0.106494 0.490491 45 57.5 1 0 -1975 1 1 0 44.051 57.9017 48.5259 -0.594895 0.79017 -0.147413 0.490491 45 57.5 1 0 -1976 1 1 0 43.6542 57.4979 48.1257 -0.634579 0.749786 -0.187432 0.490491 45 57.5 1 0 -1977 1 1 0 43.8081 56.9704 46.3841 -0.619186 0.697037 -0.361591 0.490491 45 57.5 1 0 -1978 1 1 0 43.5055 56.4684 46.0023 -0.649448 0.64684 -0.399769 0.490491 45 57.5 1 0 -1979 1 1 0 43.5259 57.0231 47.04 -0.647412 0.70231 -0.296004 0.490491 45 57.5 1 0 -1980 1 1 0 43.2109 56.535 46.6531 -0.678913 0.653497 -0.334691 0.490491 45 57.5 1 0 -1981 1 1 0 42.9289 56.015 46.2825 -0.707107 0.601501 -0.371748 0.490491 45 57.5 1 0 -1982 1 1 0 43.2768 57.0398 47.711 -0.672319 0.703983 -0.228899 0.490491 45 57.5 1 0 -1983 1 1 0 42.9476 56.5662 47.3262 -0.705236 0.65662 -0.267381 0.490491 45 57.5 1 0 -1984 1 1 0 42.6521 56.0574 46.9479 -0.734794 0.605742 -0.305212 0.490491 45 57.5 1 0 -1985 1 1 0 42.3959 55.5245 46.5857 -0.760406 0.552454 -0.341435 0.490491 45 57.5 1 0 -1986 1 1 0 44.5489 57.9011 47.1968 -0.545109 0.790112 -0.280319 0.490491 45 57.5 1 0 -1987 1 1 0 43.8907 57.4944 47.4482 -0.610926 0.749435 -0.25518 0.490491 45 57.5 1 0 -1988 1 1 0 44.1631 57.4534 46.7786 -0.583692 0.745339 -0.322141 0.490491 45 57.5 1 0 -1989 1 1 0 44.4755 53.4143 42.3959 -0.552454 0.341435 -0.760406 0.490491 45 57.5 1 0 -1990 1 1 0 43.985 53.7175 42.9289 -0.601501 0.371748 -0.707107 0.490491 45 57.5 1 0 -1991 1 1 0 43.9426 53.0521 42.6521 -0.605742 0.305212 -0.734794 0.490491 45 57.5 1 0 -1992 1 1 0 43.5316 53.9977 43.5055 -0.64684 0.399769 -0.649448 0.490491 45 57.5 1 0 -1993 1 1 0 43.465 53.3469 43.2109 -0.653497 0.334691 -0.678913 0.490491 45 57.5 1 0 -1994 1 1 0 43.1181 54.2533 44.1221 -0.688191 0.425325 -0.587785 0.490491 45 57.5 1 0 -1995 1 1 0 43.0296 53.6159 43.8081 -0.697037 0.361591 -0.619186 0.490491 45 57.5 1 0 -1996 1 1 0 42.9769 52.96 43.5259 -0.70231 0.296004 -0.647412 0.490491 45 57.5 1 0 -1997 1 1 0 43.4338 52.6738 42.9476 -0.65662 0.267381 -0.705236 0.490491 45 57.5 1 0 -1998 1 1 0 42.9602 52.289 43.2768 -0.703983 0.228899 -0.672319 0.490491 45 57.5 1 0 -1999 1 1 0 42.747 54.4826 44.775 -0.725299 0.448259 -0.522499 0.490491 45 57.5 1 0 -2000 1 1 0 42.6229 53.8673 44.4663 -0.737712 0.38673 -0.553372 0.490491 45 57.5 1 0 -2001 1 1 0 42.4206 54.6843 45.4601 -0.757936 0.46843 -0.45399 0.490491 45 57.5 1 0 -2002 1 1 0 42.2742 54.0829 45.1376 -0.772575 0.408286 -0.48624 0.490491 45 57.5 1 0 -2003 1 1 0 42.1655 53.4615 44.8388 -0.783452 0.346153 -0.516122 0.490491 45 57.5 1 0 -2004 1 1 0 42.141 54.8571 46.1732 -0.785899 0.485712 -0.382683 0.490491 45 57.5 1 0 -2005 1 1 0 41.9698 54.2713 45.844 -0.803016 0.427135 -0.415597 0.490491 45 57.5 1 0 -2006 1 1 0 41.8377 53.6603 45.5302 -0.816233 0.366027 -0.446977 0.490491 45 57.5 1 0 -2007 1 1 0 41.7482 53.038 45.2377 -0.825175 0.303801 -0.476225 0.490491 45 57.5 1 0 -2008 1 1 0 42.5021 51.8743 43.6542 -0.749786 0.187432 -0.634579 0.490491 45 57.5 1 0 -2009 1 1 0 42.0735 52.1302 44.2875 -0.79265 0.213023 -0.571251 0.490491 45 57.5 1 0 -2010 1 1 0 42.0983 51.4741 44.051 -0.79017 0.147413 -0.594895 0.490491 45 57.5 1 0 -2011 1 1 0 41.6964 52.3723 44.9579 -0.830359 0.237228 -0.504209 0.490491 45 57.5 1 0 -2012 1 1 0 41.6919 51.7253 44.7087 -0.830812 0.172532 -0.529135 0.490491 45 57.5 1 0 -2013 1 1 0 41.7289 51.0649 44.4814 -0.82711 0.106494 -0.551859 0.490491 45 57.5 1 0 -2014 1 1 0 42.5466 53.2214 44.1631 -0.745339 0.322141 -0.583692 0.490491 45 57.5 1 0 -2015 1 1 0 42.0989 52.8032 44.5489 -0.790112 0.280319 -0.545109 0.490491 45 57.5 1 0 -2016 1 1 0 42.5056 52.5518 43.8907 -0.749435 0.25518 -0.610926 0.490491 45 57.5 1 0 -2017 1 1 0 45.8573 57.3501 44.6322 -0.414272 0.735011 -0.536784 0.490491 45 57.5 1 0 -2018 1 1 0 45.1479 57.0447 44.8203 -0.485208 0.704471 -0.51797 0.490491 45 57.5 1 0 -2019 1 1 0 44.4758 56.6961 45.0356 -0.552418 0.669612 -0.496441 0.490491 45 57.5 1 0 -2020 1 1 0 44.8662 56.4658 44.3575 -0.513375 0.646578 -0.564254 0.490491 45 57.5 1 0 -2021 1 1 0 45.5604 56.7898 44.1528 -0.443957 0.678977 -0.584716 0.490491 45 57.5 1 0 -2022 1 1 0 45.2908 56.1924 43.7169 -0.470917 0.619242 -0.628313 0.490491 45 57.5 1 0 -2023 1 1 0 43.8076 56.2831 45.2908 -0.619242 0.628313 -0.470917 0.490491 45 57.5 1 0 -2024 1 1 0 43.2102 55.8472 45.5604 -0.678977 0.584716 -0.443957 0.490491 45 57.5 1 0 -2025 1 1 0 43.5342 55.6425 44.8662 -0.646578 0.564254 -0.513375 0.490491 45 57.5 1 0 -2026 1 1 0 42.6499 55.3678 45.8573 -0.735011 0.536784 -0.414272 0.490491 45 57.5 1 0 -2027 1 1 0 42.9553 55.1797 45.1479 -0.704471 0.51797 -0.485208 0.490491 45 57.5 1 0 -2028 1 1 0 43.3039 54.9644 44.4758 -0.669612 0.496441 -0.552418 0.490491 45 57.5 1 0 -2029 1 1 0 45.0356 55.5242 43.3039 -0.496441 0.552418 -0.669612 0.490491 45 57.5 1 0 -2030 1 1 0 44.3575 55.1338 43.5342 -0.564254 0.513375 -0.646578 0.490491 45 57.5 1 0 -2031 1 1 0 44.8203 54.8521 42.9553 -0.51797 0.485208 -0.704471 0.490491 45 57.5 1 0 -2032 1 1 0 43.7169 54.7092 43.8076 -0.628313 0.470917 -0.619242 0.490491 45 57.5 1 0 -2033 1 1 0 44.1528 54.4396 43.2102 -0.584716 0.443957 -0.678977 0.490491 45 57.5 1 0 -2034 1 1 0 44.6322 54.1427 42.6499 -0.536784 0.414272 -0.735011 0.490491 45 57.5 1 0 -2035 1 1 0 44.1805 56.0748 44.5935 -0.581952 0.607478 -0.54065 0.490491 45 57.5 1 0 -2036 1 1 0 43.9252 55.4065 44.1805 -0.607478 0.54065 -0.581952 0.490491 45 57.5 1 0 -2037 1 1 0 44.5935 55.8195 43.9252 -0.54065 0.581952 -0.607478 0.490491 45 57.5 1 0 -2038 1 1 0 51.0649 55.5186 41.7289 0.106494 0.551859 -0.82711 0.490491 45 57.5 1 0 -2039 1 1 0 51.7253 55.2913 41.6919 0.172532 0.529135 -0.830812 0.490491 45 57.5 1 0 -2040 1 1 0 52.3723 55.0421 41.6964 0.237228 0.504209 -0.830359 0.490491 45 57.5 1 0 -2041 1 1 0 52.1302 55.7125 42.0735 0.213023 0.571251 -0.79265 0.490491 45 57.5 1 0 -2042 1 1 0 51.4741 55.949 42.0983 0.147413 0.594895 -0.79017 0.490491 45 57.5 1 0 -2043 1 1 0 51.8743 56.3458 42.5021 0.187432 0.634579 -0.749786 0.490491 45 57.5 1 0 -2044 1 1 0 53.038 54.7623 41.7482 0.303801 0.476225 -0.825175 0.490491 45 57.5 1 0 -2045 1 1 0 53.6603 54.4698 41.8377 0.366027 0.446977 -0.816233 0.490491 45 57.5 1 0 -2046 1 1 0 53.4615 55.1612 42.1655 0.346153 0.516122 -0.783452 0.490491 45 57.5 1 0 -2047 1 1 0 54.2713 54.156 41.9698 0.427135 0.415597 -0.803016 0.490491 45 57.5 1 0 -2048 1 1 0 54.8571 53.8268 42.141 0.485712 0.382683 -0.785899 0.490491 45 57.5 1 0 -2049 1 1 0 54.6843 54.5399 42.4206 0.46843 0.45399 -0.757936 0.490491 45 57.5 1 0 -2050 1 1 0 54.0829 54.8624 42.2742 0.408286 0.48624 -0.772575 0.490491 45 57.5 1 0 -2051 1 1 0 53.8673 55.5337 42.6229 0.38673 0.553372 -0.737712 0.490491 45 57.5 1 0 -2052 1 1 0 54.4826 55.225 42.747 0.448259 0.522499 -0.725299 0.490491 45 57.5 1 0 -2053 1 1 0 54.2533 55.8779 43.1181 0.425325 0.587785 -0.688191 0.490491 45 57.5 1 0 -2054 1 1 0 52.289 56.7232 42.9602 0.228899 0.672319 -0.703983 0.490491 45 57.5 1 0 -2055 1 1 0 52.96 56.4741 42.9769 0.296004 0.647412 -0.70231 0.490491 45 57.5 1 0 -2056 1 1 0 52.6738 57.0524 43.4338 0.267381 0.705236 -0.65662 0.490491 45 57.5 1 0 -2057 1 1 0 53.6159 56.1919 43.0296 0.361591 0.619186 -0.697037 0.490491 45 57.5 1 0 -2058 1 1 0 53.3469 56.7891 43.465 0.334691 0.678913 -0.653497 0.490491 45 57.5 1 0 -2059 1 1 0 53.9977 56.4945 43.5316 0.399769 0.649448 -0.64684 0.490491 45 57.5 1 0 -2060 1 1 0 53.7175 57.0711 43.985 0.371748 0.707107 -0.601501 0.490491 45 57.5 1 0 -2061 1 1 0 53.0521 57.3479 43.9426 0.305212 0.734794 -0.605742 0.490491 45 57.5 1 0 -2062 1 1 0 53.4143 57.6041 44.4755 0.341435 0.760406 -0.552454 0.490491 45 57.5 1 0 -2063 1 1 0 52.8032 55.4511 42.0989 0.280319 0.545109 -0.790112 0.490491 45 57.5 1 0 -2064 1 1 0 53.2214 55.8369 42.5466 0.322141 0.583692 -0.745339 0.490491 45 57.5 1 0 -2065 1 1 0 52.5518 56.1093 42.5056 0.25518 0.610926 -0.749435 0.490491 45 57.5 1 0 -2066 1 1 0 55.5245 53.4143 42.3959 0.552454 0.341435 -0.760406 0.490491 45 57.5 1 0 -2067 1 1 0 56.0574 53.0521 42.6521 0.605742 0.305212 -0.734794 0.490491 45 57.5 1 0 -2068 1 1 0 56.015 53.7175 42.9289 0.601501 0.371748 -0.707107 0.490491 45 57.5 1 0 -2069 1 1 0 56.5662 52.6738 42.9476 0.65662 0.267381 -0.705236 0.490491 45 57.5 1 0 -2070 1 1 0 57.0398 52.289 43.2768 0.703983 0.228899 -0.672319 0.490491 45 57.5 1 0 -2071 1 1 0 57.0231 52.96 43.5259 0.70231 0.296004 -0.647412 0.490491 45 57.5 1 0 -2072 1 1 0 56.535 53.3469 43.2109 0.653497 0.334691 -0.678913 0.490491 45 57.5 1 0 -2073 1 1 0 56.4684 53.9977 43.5055 0.64684 0.399769 -0.649448 0.490491 45 57.5 1 0 -2074 1 1 0 56.9704 53.6159 43.8081 0.697037 0.361591 -0.619186 0.490491 45 57.5 1 0 -2075 1 1 0 56.8819 54.2533 44.1221 0.688191 0.425325 -0.587785 0.490491 45 57.5 1 0 -2076 1 1 0 57.4979 51.8743 43.6542 0.749786 0.187432 -0.634579 0.490491 45 57.5 1 0 -2077 1 1 0 57.9017 51.4741 44.051 0.79017 0.147413 -0.594895 0.490491 45 57.5 1 0 -2078 1 1 0 57.9265 52.1302 44.2875 0.79265 0.213023 -0.571251 0.490491 45 57.5 1 0 -2079 1 1 0 58.2711 51.0649 44.4814 0.82711 0.106494 -0.551859 0.490491 45 57.5 1 0 -2080 1 1 0 58.3081 51.7253 44.7087 0.830812 0.172532 -0.529135 0.490491 45 57.5 1 0 -2081 1 1 0 58.3036 52.3723 44.9579 0.830359 0.237228 -0.504209 0.490491 45 57.5 1 0 -2082 1 1 0 57.3771 53.8673 44.4663 0.737712 0.38673 -0.553372 0.490491 45 57.5 1 0 -2083 1 1 0 57.253 54.4826 44.775 0.725299 0.448259 -0.522499 0.490491 45 57.5 1 0 -2084 1 1 0 57.8345 53.4615 44.8388 0.783452 0.346153 -0.516122 0.490491 45 57.5 1 0 -2085 1 1 0 57.7258 54.0829 45.1376 0.772575 0.408286 -0.48624 0.490491 45 57.5 1 0 -2086 1 1 0 57.5794 54.6843 45.4601 0.757936 0.46843 -0.45399 0.490491 45 57.5 1 0 -2087 1 1 0 58.2518 53.038 45.2377 0.825175 0.303801 -0.476225 0.490491 45 57.5 1 0 -2088 1 1 0 58.1623 53.6603 45.5302 0.816233 0.366027 -0.446977 0.490491 45 57.5 1 0 -2089 1 1 0 58.0302 54.2713 45.844 0.803016 0.427135 -0.415597 0.490491 45 57.5 1 0 -2090 1 1 0 57.859 54.8571 46.1732 0.785899 0.485712 -0.382683 0.490491 45 57.5 1 0 -2091 1 1 0 57.4944 52.5518 43.8907 0.749435 0.25518 -0.610926 0.490491 45 57.5 1 0 -2092 1 1 0 57.9011 52.8032 44.5489 0.790112 0.280319 -0.545109 0.490491 45 57.5 1 0 -2093 1 1 0 57.4534 53.2214 44.1631 0.745339 0.322141 -0.583692 0.490491 45 57.5 1 0 -2094 1 1 0 53.8268 57.859 45.1429 0.382683 0.785899 -0.485712 0.490491 45 57.5 1 0 -2095 1 1 0 54.5399 57.5794 45.3157 0.45399 0.757936 -0.46843 0.490491 45 57.5 1 0 -2096 1 1 0 54.156 58.0302 45.7287 0.415597 0.803016 -0.427135 0.490491 45 57.5 1 0 -2097 1 1 0 55.225 57.253 45.5174 0.522499 0.725299 -0.448259 0.490491 45 57.5 1 0 -2098 1 1 0 54.8624 57.7258 45.9171 0.48624 0.772575 -0.408286 0.490491 45 57.5 1 0 -2099 1 1 0 55.8779 56.8819 45.7467 0.587785 0.688191 -0.425325 0.490491 45 57.5 1 0 -2100 1 1 0 55.5337 57.3771 46.1327 0.553372 0.737712 -0.38673 0.490491 45 57.5 1 0 -2101 1 1 0 55.1612 57.8345 46.5385 0.516122 0.783452 -0.346153 0.490491 45 57.5 1 0 -2102 1 1 0 54.4698 58.1623 46.3397 0.446977 0.816233 -0.366027 0.490491 45 57.5 1 0 -2103 1 1 0 54.7623 58.2518 46.962 0.476225 0.825175 -0.303801 0.490491 45 57.5 1 0 -2104 1 1 0 56.4945 56.4684 46.0023 0.649448 0.64684 -0.399769 0.490491 45 57.5 1 0 -2105 1 1 0 56.1919 56.9704 46.3841 0.619186 0.697037 -0.361591 0.490491 45 57.5 1 0 -2106 1 1 0 57.0711 56.015 46.2825 0.707107 0.601501 -0.371748 0.490491 45 57.5 1 0 -2107 1 1 0 56.7891 56.535 46.6531 0.678913 0.653497 -0.334691 0.490491 45 57.5 1 0 -2108 1 1 0 56.4741 57.0231 47.04 0.647412 0.70231 -0.296004 0.490491 45 57.5 1 0 -2109 1 1 0 57.6041 55.5245 46.5857 0.760406 0.552454 -0.341435 0.490491 45 57.5 1 0 -2110 1 1 0 57.3479 56.0574 46.9479 0.734794 0.605742 -0.305212 0.490491 45 57.5 1 0 -2111 1 1 0 57.0524 56.5662 47.3262 0.705236 0.65662 -0.267381 0.490491 45 57.5 1 0 -2112 1 1 0 56.7232 57.0398 47.711 0.672319 0.703983 -0.228899 0.490491 45 57.5 1 0 -2113 1 1 0 55.0421 58.3036 47.6277 0.504209 0.830359 -0.237228 0.490491 45 57.5 1 0 -2114 1 1 0 55.7125 57.9265 47.8698 0.571251 0.79265 -0.213023 0.490491 45 57.5 1 0 -2115 1 1 0 55.2913 58.3081 48.2747 0.529135 0.830812 -0.172532 0.490491 45 57.5 1 0 -2116 1 1 0 56.3458 57.4979 48.1257 0.634579 0.749786 -0.187432 0.490491 45 57.5 1 0 -2117 1 1 0 55.949 57.9017 48.5259 0.594895 0.79017 -0.147413 0.490491 45 57.5 1 0 -2118 1 1 0 55.5186 58.2711 48.9351 0.551859 0.82711 -0.106494 0.490491 45 57.5 1 0 -2119 1 1 0 55.8369 57.4534 46.7786 0.583692 0.745339 -0.322141 0.490491 45 57.5 1 0 -2120 1 1 0 56.1093 57.4944 47.4482 0.610926 0.749435 -0.25518 0.490491 45 57.5 1 0 -2121 1 1 0 55.4511 57.9011 47.1968 0.545109 0.790112 -0.280319 0.490491 45 57.5 1 0 -2122 1 1 0 55.3678 54.1427 42.6499 0.536784 0.414272 -0.735011 0.490491 45 57.5 1 0 -2123 1 1 0 55.8472 54.4396 43.2102 0.584716 0.443957 -0.678977 0.490491 45 57.5 1 0 -2124 1 1 0 56.2831 54.7092 43.8076 0.628313 0.470917 -0.619242 0.490491 45 57.5 1 0 -2125 1 1 0 55.6425 55.1338 43.5342 0.564254 0.513375 -0.646578 0.490491 45 57.5 1 0 -2126 1 1 0 55.1797 54.8521 42.9553 0.51797 0.485208 -0.704471 0.490491 45 57.5 1 0 -2127 1 1 0 54.9644 55.5242 43.3039 0.496441 0.552418 -0.669612 0.490491 45 57.5 1 0 -2128 1 1 0 56.6961 54.9644 44.4758 0.669612 0.496441 -0.552418 0.490491 45 57.5 1 0 -2129 1 1 0 57.0447 55.1797 45.1479 0.704471 0.51797 -0.485208 0.490491 45 57.5 1 0 -2130 1 1 0 56.4658 55.6425 44.8662 0.646578 0.564254 -0.513375 0.490491 45 57.5 1 0 -2131 1 1 0 57.3501 55.3678 45.8573 0.735011 0.536784 -0.414272 0.490491 45 57.5 1 0 -2132 1 1 0 56.7898 55.8472 45.5604 0.678977 0.584716 -0.443957 0.490491 45 57.5 1 0 -2133 1 1 0 56.1924 56.2831 45.2908 0.619242 0.628313 -0.470917 0.490491 45 57.5 1 0 -2134 1 1 0 54.7092 56.1924 43.7169 0.470917 0.619242 -0.628313 0.490491 45 57.5 1 0 -2135 1 1 0 55.1338 56.4658 44.3575 0.513375 0.646578 -0.564254 0.490491 45 57.5 1 0 -2136 1 1 0 54.4396 56.7898 44.1528 0.443957 0.678977 -0.584716 0.490491 45 57.5 1 0 -2137 1 1 0 55.5242 56.6961 45.0356 0.552418 0.669612 -0.496441 0.490491 45 57.5 1 0 -2138 1 1 0 54.8521 57.0447 44.8203 0.485208 0.704471 -0.51797 0.490491 45 57.5 1 0 -2139 1 1 0 54.1427 57.3501 44.6322 0.414272 0.735011 -0.536784 0.490491 45 57.5 1 0 -2140 1 1 0 56.0748 55.4065 44.1805 0.607478 0.54065 -0.581952 0.490491 45 57.5 1 0 -2141 1 1 0 55.8195 56.0748 44.5935 0.581952 0.607478 -0.54065 0.490491 45 57.5 1 0 -2142 1 1 0 55.4065 55.8195 43.9252 0.54065 0.581952 -0.607478 0.490491 45 57.5 1 0 -2143 1 1 0 48.9351 44.4814 41.7289 -0.106494 -0.551859 -0.82711 0.490491 45 57.5 1 0 -2144 1 1 0 48.2747 44.7087 41.6919 -0.172532 -0.529135 -0.830812 0.490491 45 57.5 1 0 -2145 1 1 0 47.6277 44.9579 41.6964 -0.237228 -0.504209 -0.830359 0.490491 45 57.5 1 0 -2146 1 1 0 47.8698 44.2875 42.0735 -0.213023 -0.571251 -0.79265 0.490491 45 57.5 1 0 -2147 1 1 0 48.5259 44.051 42.0983 -0.147413 -0.594895 -0.79017 0.490491 45 57.5 1 0 -2148 1 1 0 48.1257 43.6542 42.5021 -0.187432 -0.634579 -0.749786 0.490491 45 57.5 1 0 -2149 1 1 0 46.962 45.2377 41.7482 -0.303801 -0.476225 -0.825175 0.490491 45 57.5 1 0 -2150 1 1 0 46.3397 45.5302 41.8377 -0.366027 -0.446977 -0.816233 0.490491 45 57.5 1 0 -2151 1 1 0 46.5385 44.8388 42.1655 -0.346153 -0.516122 -0.783452 0.490491 45 57.5 1 0 -2152 1 1 0 45.7287 45.844 41.9698 -0.427135 -0.415597 -0.803016 0.490491 45 57.5 1 0 -2153 1 1 0 45.1429 46.1732 42.141 -0.485712 -0.382683 -0.785899 0.490491 45 57.5 1 0 -2154 1 1 0 45.3157 45.4601 42.4206 -0.46843 -0.45399 -0.757936 0.490491 45 57.5 1 0 -2155 1 1 0 45.9171 45.1376 42.2742 -0.408286 -0.48624 -0.772575 0.490491 45 57.5 1 0 -2156 1 1 0 46.1327 44.4663 42.6229 -0.38673 -0.553372 -0.737712 0.490491 45 57.5 1 0 -2157 1 1 0 45.5174 44.775 42.747 -0.448259 -0.522499 -0.725299 0.490491 45 57.5 1 0 -2158 1 1 0 45.7467 44.1221 43.1181 -0.425325 -0.587785 -0.688191 0.490491 45 57.5 1 0 -2159 1 1 0 47.711 43.2768 42.9602 -0.228899 -0.672319 -0.703983 0.490491 45 57.5 1 0 -2160 1 1 0 47.04 43.5259 42.9769 -0.296004 -0.647412 -0.70231 0.490491 45 57.5 1 0 -2161 1 1 0 47.3262 42.9476 43.4338 -0.267381 -0.705236 -0.65662 0.490491 45 57.5 1 0 -2162 1 1 0 46.3841 43.8081 43.0296 -0.361591 -0.619186 -0.697037 0.490491 45 57.5 1 0 -2163 1 1 0 46.6531 43.2109 43.465 -0.334691 -0.678913 -0.653497 0.490491 45 57.5 1 0 -2164 1 1 0 46.0023 43.5055 43.5316 -0.399769 -0.649448 -0.64684 0.490491 45 57.5 1 0 -2165 1 1 0 46.2825 42.9289 43.985 -0.371748 -0.707107 -0.601501 0.490491 45 57.5 1 0 -2166 1 1 0 46.9479 42.6521 43.9426 -0.305212 -0.734794 -0.605742 0.490491 45 57.5 1 0 -2167 1 1 0 46.5857 42.3959 44.4755 -0.341435 -0.760406 -0.552454 0.490491 45 57.5 1 0 -2168 1 1 0 47.1968 44.5489 42.0989 -0.280319 -0.545109 -0.790112 0.490491 45 57.5 1 0 -2169 1 1 0 46.7786 44.1631 42.5466 -0.322141 -0.583692 -0.745339 0.490491 45 57.5 1 0 -2170 1 1 0 47.4482 43.8907 42.5056 -0.25518 -0.610926 -0.749435 0.490491 45 57.5 1 0 -2171 1 1 0 44.4755 46.5857 42.3959 -0.552454 -0.341435 -0.760406 0.490491 45 57.5 1 0 -2172 1 1 0 43.9426 46.9479 42.6521 -0.605742 -0.305212 -0.734794 0.490491 45 57.5 1 0 -2173 1 1 0 43.985 46.2825 42.9289 -0.601501 -0.371748 -0.707107 0.490491 45 57.5 1 0 -2174 1 1 0 43.4338 47.3262 42.9476 -0.65662 -0.267381 -0.705236 0.490491 45 57.5 1 0 -2175 1 1 0 42.9602 47.711 43.2768 -0.703983 -0.228899 -0.672319 0.490491 45 57.5 1 0 -2176 1 1 0 42.9769 47.04 43.5259 -0.70231 -0.296004 -0.647412 0.490491 45 57.5 1 0 -2177 1 1 0 43.465 46.6531 43.2109 -0.653497 -0.334691 -0.678913 0.490491 45 57.5 1 0 -2178 1 1 0 43.5316 46.0023 43.5055 -0.64684 -0.399769 -0.649448 0.490491 45 57.5 1 0 -2179 1 1 0 43.0296 46.3841 43.8081 -0.697037 -0.361591 -0.619186 0.490491 45 57.5 1 0 -2180 1 1 0 43.1181 45.7467 44.1221 -0.688191 -0.425325 -0.587785 0.490491 45 57.5 1 0 -2181 1 1 0 42.5021 48.1257 43.6542 -0.749786 -0.187432 -0.634579 0.490491 45 57.5 1 0 -2182 1 1 0 42.0983 48.5259 44.051 -0.79017 -0.147413 -0.594895 0.490491 45 57.5 1 0 -2183 1 1 0 42.0735 47.8698 44.2875 -0.79265 -0.213023 -0.571251 0.490491 45 57.5 1 0 -2184 1 1 0 41.7289 48.9351 44.4814 -0.82711 -0.106494 -0.551859 0.490491 45 57.5 1 0 -2185 1 1 0 41.6919 48.2747 44.7087 -0.830812 -0.172532 -0.529135 0.490491 45 57.5 1 0 -2186 1 1 0 41.6964 47.6277 44.9579 -0.830359 -0.237228 -0.504209 0.490491 45 57.5 1 0 -2187 1 1 0 42.6229 46.1327 44.4663 -0.737712 -0.38673 -0.553372 0.490491 45 57.5 1 0 -2188 1 1 0 42.747 45.5174 44.775 -0.725299 -0.448259 -0.522499 0.490491 45 57.5 1 0 -2189 1 1 0 42.1655 46.5385 44.8388 -0.783452 -0.346153 -0.516122 0.490491 45 57.5 1 0 -2190 1 1 0 42.2742 45.9171 45.1376 -0.772575 -0.408286 -0.48624 0.490491 45 57.5 1 0 -2191 1 1 0 42.4206 45.3157 45.4601 -0.757936 -0.46843 -0.45399 0.490491 45 57.5 1 0 -2192 1 1 0 41.7482 46.962 45.2377 -0.825175 -0.303801 -0.476225 0.490491 45 57.5 1 0 -2193 1 1 0 41.8377 46.3397 45.5302 -0.816233 -0.366027 -0.446977 0.490491 45 57.5 1 0 -2194 1 1 0 41.9698 45.7287 45.844 -0.803016 -0.427135 -0.415597 0.490491 45 57.5 1 0 -2195 1 1 0 42.141 45.1429 46.1732 -0.785899 -0.485712 -0.382683 0.490491 45 57.5 1 0 -2196 1 1 0 42.5056 47.4482 43.8907 -0.749435 -0.25518 -0.610926 0.490491 45 57.5 1 0 -2197 1 1 0 42.0989 47.1968 44.5489 -0.790112 -0.280319 -0.545109 0.490491 45 57.5 1 0 -2198 1 1 0 42.5466 46.7786 44.1631 -0.745339 -0.322141 -0.583692 0.490491 45 57.5 1 0 -2199 1 1 0 46.1732 42.141 45.1429 -0.382683 -0.785899 -0.485712 0.490491 45 57.5 1 0 -2200 1 1 0 45.4601 42.4206 45.3157 -0.45399 -0.757936 -0.46843 0.490491 45 57.5 1 0 -2201 1 1 0 45.844 41.9698 45.7287 -0.415597 -0.803016 -0.427135 0.490491 45 57.5 1 0 -2202 1 1 0 44.775 42.747 45.5174 -0.522499 -0.725299 -0.448259 0.490491 45 57.5 1 0 -2203 1 1 0 45.1376 42.2742 45.9171 -0.48624 -0.772575 -0.408286 0.490491 45 57.5 1 0 -2204 1 1 0 44.1221 43.1181 45.7467 -0.587785 -0.688191 -0.425325 0.490491 45 57.5 1 0 -2205 1 1 0 44.4663 42.6229 46.1327 -0.553372 -0.737712 -0.38673 0.490491 45 57.5 1 0 -2206 1 1 0 44.8388 42.1655 46.5385 -0.516122 -0.783452 -0.346153 0.490491 45 57.5 1 0 -2207 1 1 0 45.5302 41.8377 46.3397 -0.446977 -0.816233 -0.366027 0.490491 45 57.5 1 0 -2208 1 1 0 45.2377 41.7482 46.962 -0.476225 -0.825175 -0.303801 0.490491 45 57.5 1 0 -2209 1 1 0 43.5055 43.5316 46.0023 -0.649448 -0.64684 -0.399769 0.490491 45 57.5 1 0 -2210 1 1 0 43.8081 43.0296 46.3841 -0.619186 -0.697037 -0.361591 0.490491 45 57.5 1 0 -2211 1 1 0 42.9289 43.985 46.2825 -0.707107 -0.601501 -0.371748 0.490491 45 57.5 1 0 -2212 1 1 0 43.2109 43.465 46.6531 -0.678913 -0.653497 -0.334691 0.490491 45 57.5 1 0 -2213 1 1 0 43.5259 42.9769 47.04 -0.647412 -0.70231 -0.296004 0.490491 45 57.5 1 0 -2214 1 1 0 42.3959 44.4755 46.5857 -0.760406 -0.552454 -0.341435 0.490491 45 57.5 1 0 -2215 1 1 0 42.6521 43.9426 46.9479 -0.734794 -0.605742 -0.305212 0.490491 45 57.5 1 0 -2216 1 1 0 42.9476 43.4338 47.3262 -0.705236 -0.65662 -0.267381 0.490491 45 57.5 1 0 -2217 1 1 0 43.2768 42.9602 47.711 -0.672319 -0.703983 -0.228899 0.490491 45 57.5 1 0 -2218 1 1 0 44.9579 41.6964 47.6277 -0.504209 -0.830359 -0.237228 0.490491 45 57.5 1 0 -2219 1 1 0 44.2875 42.0735 47.8698 -0.571251 -0.79265 -0.213023 0.490491 45 57.5 1 0 -2220 1 1 0 44.7087 41.6919 48.2747 -0.529135 -0.830812 -0.172532 0.490491 45 57.5 1 0 -2221 1 1 0 43.6542 42.5021 48.1257 -0.634579 -0.749786 -0.187432 0.490491 45 57.5 1 0 -2222 1 1 0 44.051 42.0983 48.5259 -0.594895 -0.79017 -0.147413 0.490491 45 57.5 1 0 -2223 1 1 0 44.4814 41.7289 48.9351 -0.551859 -0.82711 -0.106494 0.490491 45 57.5 1 0 -2224 1 1 0 44.1631 42.5466 46.7786 -0.583692 -0.745339 -0.322141 0.490491 45 57.5 1 0 -2225 1 1 0 43.8907 42.5056 47.4482 -0.610926 -0.749435 -0.25518 0.490491 45 57.5 1 0 -2226 1 1 0 44.5489 42.0989 47.1968 -0.545109 -0.790112 -0.280319 0.490491 45 57.5 1 0 -2227 1 1 0 44.6322 45.8573 42.6499 -0.536784 -0.414272 -0.735011 0.490491 45 57.5 1 0 -2228 1 1 0 44.1528 45.5604 43.2102 -0.584716 -0.443957 -0.678977 0.490491 45 57.5 1 0 -2229 1 1 0 43.7169 45.2908 43.8076 -0.628313 -0.470917 -0.619242 0.490491 45 57.5 1 0 -2230 1 1 0 44.3575 44.8662 43.5342 -0.564254 -0.513375 -0.646578 0.490491 45 57.5 1 0 -2231 1 1 0 44.8203 45.1479 42.9553 -0.51797 -0.485208 -0.704471 0.490491 45 57.5 1 0 -2232 1 1 0 45.0356 44.4758 43.3039 -0.496441 -0.552418 -0.669612 0.490491 45 57.5 1 0 -2233 1 1 0 43.3039 45.0356 44.4758 -0.669612 -0.496441 -0.552418 0.490491 45 57.5 1 0 -2234 1 1 0 42.9553 44.8203 45.1479 -0.704471 -0.51797 -0.485208 0.490491 45 57.5 1 0 -2235 1 1 0 43.5342 44.3575 44.8662 -0.646578 -0.564254 -0.513375 0.490491 45 57.5 1 0 -2236 1 1 0 42.6499 44.6322 45.8573 -0.735011 -0.536784 -0.414272 0.490491 45 57.5 1 0 -2237 1 1 0 43.2102 44.1528 45.5604 -0.678977 -0.584716 -0.443957 0.490491 45 57.5 1 0 -2238 1 1 0 43.8076 43.7169 45.2908 -0.619242 -0.628313 -0.470917 0.490491 45 57.5 1 0 -2239 1 1 0 45.2908 43.8076 43.7169 -0.470917 -0.619242 -0.628313 0.490491 45 57.5 1 0 -2240 1 1 0 44.8662 43.5342 44.3575 -0.513375 -0.646578 -0.564254 0.490491 45 57.5 1 0 -2241 1 1 0 45.5604 43.2102 44.1528 -0.443957 -0.678977 -0.584716 0.490491 45 57.5 1 0 -2242 1 1 0 44.4758 43.3039 45.0356 -0.552418 -0.669612 -0.496441 0.490491 45 57.5 1 0 -2243 1 1 0 45.1479 42.9553 44.8203 -0.485208 -0.704471 -0.51797 0.490491 45 57.5 1 0 -2244 1 1 0 45.8573 42.6499 44.6322 -0.414272 -0.735011 -0.536784 0.490491 45 57.5 1 0 -2245 1 1 0 43.9252 44.5935 44.1805 -0.607478 -0.54065 -0.581952 0.490491 45 57.5 1 0 -2246 1 1 0 44.1805 43.9252 44.5935 -0.581952 -0.607478 -0.54065 0.490491 45 57.5 1 0 -2247 1 1 0 44.5935 44.1805 43.9252 -0.54065 -0.581952 -0.607478 0.490491 45 57.5 1 0 -2248 1 1 0 51.0649 44.4814 41.7289 0.106494 -0.551859 -0.82711 0.490491 45 57.5 1 0 -2249 1 1 0 51.4741 44.051 42.0983 0.147413 -0.594895 -0.79017 0.490491 45 57.5 1 0 -2250 1 1 0 51.8743 43.6542 42.5021 0.187432 -0.634579 -0.749786 0.490491 45 57.5 1 0 -2251 1 1 0 52.1302 44.2875 42.0735 0.213023 -0.571251 -0.79265 0.490491 45 57.5 1 0 -2252 1 1 0 51.7253 44.7087 41.6919 0.172532 -0.529135 -0.830812 0.490491 45 57.5 1 0 -2253 1 1 0 52.3723 44.9579 41.6964 0.237228 -0.504209 -0.830359 0.490491 45 57.5 1 0 -2254 1 1 0 52.289 43.2768 42.9602 0.228899 -0.672319 -0.703983 0.490491 45 57.5 1 0 -2255 1 1 0 52.6738 42.9476 43.4338 0.267381 -0.705236 -0.65662 0.490491 45 57.5 1 0 -2256 1 1 0 52.96 43.5259 42.9769 0.296004 -0.647412 -0.70231 0.490491 45 57.5 1 0 -2257 1 1 0 53.0521 42.6521 43.9426 0.305212 -0.734794 -0.605742 0.490491 45 57.5 1 0 -2258 1 1 0 53.4143 42.3959 44.4755 0.341435 -0.760406 -0.552454 0.490491 45 57.5 1 0 -2259 1 1 0 53.7175 42.9289 43.985 0.371748 -0.707107 -0.601501 0.490491 45 57.5 1 0 -2260 1 1 0 53.3469 43.2109 43.465 0.334691 -0.678913 -0.653497 0.490491 45 57.5 1 0 -2261 1 1 0 53.6159 43.8081 43.0296 0.361591 -0.619186 -0.697037 0.490491 45 57.5 1 0 -2262 1 1 0 53.9977 43.5055 43.5316 0.399769 -0.649448 -0.64684 0.490491 45 57.5 1 0 -2263 1 1 0 54.2533 44.1221 43.1181 0.425325 -0.587785 -0.688191 0.490491 45 57.5 1 0 -2264 1 1 0 53.038 45.2377 41.7482 0.303801 -0.476225 -0.825175 0.490491 45 57.5 1 0 -2265 1 1 0 53.4615 44.8388 42.1655 0.346153 -0.516122 -0.783452 0.490491 45 57.5 1 0 -2266 1 1 0 53.6603 45.5302 41.8377 0.366027 -0.446977 -0.816233 0.490491 45 57.5 1 0 -2267 1 1 0 53.8673 44.4663 42.6229 0.38673 -0.553372 -0.737712 0.490491 45 57.5 1 0 -2268 1 1 0 54.0829 45.1376 42.2742 0.408286 -0.48624 -0.772575 0.490491 45 57.5 1 0 -2269 1 1 0 54.4826 44.775 42.747 0.448259 -0.522499 -0.725299 0.490491 45 57.5 1 0 -2270 1 1 0 54.6843 45.4601 42.4206 0.46843 -0.45399 -0.757936 0.490491 45 57.5 1 0 -2271 1 1 0 54.2713 45.844 41.9698 0.427135 -0.415597 -0.803016 0.490491 45 57.5 1 0 -2272 1 1 0 54.8571 46.1732 42.141 0.485712 -0.382683 -0.785899 0.490491 45 57.5 1 0 -2273 1 1 0 52.5518 43.8907 42.5056 0.25518 -0.610926 -0.749435 0.490491 45 57.5 1 0 -2274 1 1 0 53.2214 44.1631 42.5466 0.322141 -0.583692 -0.745339 0.490491 45 57.5 1 0 -2275 1 1 0 52.8032 44.5489 42.0989 0.280319 -0.545109 -0.790112 0.490491 45 57.5 1 0 -2276 1 1 0 53.8268 42.141 45.1429 0.382683 -0.785899 -0.485712 0.490491 45 57.5 1 0 -2277 1 1 0 54.156 41.9698 45.7287 0.415597 -0.803016 -0.427135 0.490491 45 57.5 1 0 -2278 1 1 0 54.5399 42.4206 45.3157 0.45399 -0.757936 -0.46843 0.490491 45 57.5 1 0 -2279 1 1 0 54.4698 41.8377 46.3397 0.446977 -0.816233 -0.366027 0.490491 45 57.5 1 0 -2280 1 1 0 54.7623 41.7482 46.962 0.476225 -0.825175 -0.303801 0.490491 45 57.5 1 0 -2281 1 1 0 55.1612 42.1655 46.5385 0.516122 -0.783452 -0.346153 0.490491 45 57.5 1 0 -2282 1 1 0 54.8624 42.2742 45.9171 0.48624 -0.772575 -0.408286 0.490491 45 57.5 1 0 -2283 1 1 0 55.225 42.747 45.5174 0.522499 -0.725299 -0.448259 0.490491 45 57.5 1 0 -2284 1 1 0 55.5337 42.6229 46.1327 0.553372 -0.737712 -0.38673 0.490491 45 57.5 1 0 -2285 1 1 0 55.8779 43.1181 45.7467 0.587785 -0.688191 -0.425325 0.490491 45 57.5 1 0 -2286 1 1 0 55.0421 41.6964 47.6277 0.504209 -0.830359 -0.237228 0.490491 45 57.5 1 0 -2287 1 1 0 55.2913 41.6919 48.2747 0.529135 -0.830812 -0.172532 0.490491 45 57.5 1 0 -2288 1 1 0 55.7125 42.0735 47.8698 0.571251 -0.79265 -0.213023 0.490491 45 57.5 1 0 -2289 1 1 0 55.5186 41.7289 48.9351 0.551859 -0.82711 -0.106494 0.490491 45 57.5 1 0 -2290 1 1 0 55.949 42.0983 48.5259 0.594895 -0.79017 -0.147413 0.490491 45 57.5 1 0 -2291 1 1 0 56.3458 42.5021 48.1257 0.634579 -0.749786 -0.187432 0.490491 45 57.5 1 0 -2292 1 1 0 56.1919 43.0296 46.3841 0.619186 -0.697037 -0.361591 0.490491 45 57.5 1 0 -2293 1 1 0 56.4945 43.5316 46.0023 0.649448 -0.64684 -0.399769 0.490491 45 57.5 1 0 -2294 1 1 0 56.4741 42.9769 47.04 0.647412 -0.70231 -0.296004 0.490491 45 57.5 1 0 -2295 1 1 0 56.7891 43.465 46.6531 0.678913 -0.653497 -0.334691 0.490491 45 57.5 1 0 -2296 1 1 0 57.0711 43.985 46.2825 0.707107 -0.601501 -0.371748 0.490491 45 57.5 1 0 -2297 1 1 0 56.7232 42.9602 47.711 0.672319 -0.703983 -0.228899 0.490491 45 57.5 1 0 -2298 1 1 0 57.0524 43.4338 47.3262 0.705236 -0.65662 -0.267381 0.490491 45 57.5 1 0 -2299 1 1 0 57.3479 43.9426 46.9479 0.734794 -0.605742 -0.305212 0.490491 45 57.5 1 0 -2300 1 1 0 57.6041 44.4755 46.5857 0.760406 -0.552454 -0.341435 0.490491 45 57.5 1 0 -2301 1 1 0 55.4511 42.0989 47.1968 0.545109 -0.790112 -0.280319 0.490491 45 57.5 1 0 -2302 1 1 0 56.1093 42.5056 47.4482 0.610926 -0.749435 -0.25518 0.490491 45 57.5 1 0 -2303 1 1 0 55.8369 42.5466 46.7786 0.583692 -0.745339 -0.322141 0.490491 45 57.5 1 0 -2304 1 1 0 55.5245 46.5857 42.3959 0.552454 -0.341435 -0.760406 0.490491 45 57.5 1 0 -2305 1 1 0 56.015 46.2825 42.9289 0.601501 -0.371748 -0.707107 0.490491 45 57.5 1 0 -2306 1 1 0 56.0574 46.9479 42.6521 0.605742 -0.305212 -0.734794 0.490491 45 57.5 1 0 -2307 1 1 0 56.4684 46.0023 43.5055 0.64684 -0.399769 -0.649448 0.490491 45 57.5 1 0 -2308 1 1 0 56.535 46.6531 43.2109 0.653497 -0.334691 -0.678913 0.490491 45 57.5 1 0 -2309 1 1 0 56.8819 45.7467 44.1221 0.688191 -0.425325 -0.587785 0.490491 45 57.5 1 0 -2310 1 1 0 56.9704 46.3841 43.8081 0.697037 -0.361591 -0.619186 0.490491 45 57.5 1 0 -2311 1 1 0 57.0231 47.04 43.5259 0.70231 -0.296004 -0.647412 0.490491 45 57.5 1 0 -2312 1 1 0 56.5662 47.3262 42.9476 0.65662 -0.267381 -0.705236 0.490491 45 57.5 1 0 -2313 1 1 0 57.0398 47.711 43.2768 0.703983 -0.228899 -0.672319 0.490491 45 57.5 1 0 -2314 1 1 0 57.253 45.5174 44.775 0.725299 -0.448259 -0.522499 0.490491 45 57.5 1 0 -2315 1 1 0 57.3771 46.1327 44.4663 0.737712 -0.38673 -0.553372 0.490491 45 57.5 1 0 -2316 1 1 0 57.5794 45.3157 45.4601 0.757936 -0.46843 -0.45399 0.490491 45 57.5 1 0 -2317 1 1 0 57.7258 45.9171 45.1376 0.772575 -0.408286 -0.48624 0.490491 45 57.5 1 0 -2318 1 1 0 57.8345 46.5385 44.8388 0.783452 -0.346153 -0.516122 0.490491 45 57.5 1 0 -2319 1 1 0 57.859 45.1429 46.1732 0.785899 -0.485712 -0.382683 0.490491 45 57.5 1 0 -2320 1 1 0 58.0302 45.7287 45.844 0.803016 -0.427135 -0.415597 0.490491 45 57.5 1 0 -2321 1 1 0 58.1623 46.3397 45.5302 0.816233 -0.366027 -0.446977 0.490491 45 57.5 1 0 -2322 1 1 0 58.2518 46.962 45.2377 0.825175 -0.303801 -0.476225 0.490491 45 57.5 1 0 -2323 1 1 0 57.4979 48.1257 43.6542 0.749786 -0.187432 -0.634579 0.490491 45 57.5 1 0 -2324 1 1 0 57.9265 47.8698 44.2875 0.79265 -0.213023 -0.571251 0.490491 45 57.5 1 0 -2325 1 1 0 57.9017 48.5259 44.051 0.79017 -0.147413 -0.594895 0.490491 45 57.5 1 0 -2326 1 1 0 58.3036 47.6277 44.9579 0.830359 -0.237228 -0.504209 0.490491 45 57.5 1 0 -2327 1 1 0 58.3081 48.2747 44.7087 0.830812 -0.172532 -0.529135 0.490491 45 57.5 1 0 -2328 1 1 0 58.2711 48.9351 44.4814 0.82711 -0.106494 -0.551859 0.490491 45 57.5 1 0 -2329 1 1 0 57.4534 46.7786 44.1631 0.745339 -0.322141 -0.583692 0.490491 45 57.5 1 0 -2330 1 1 0 57.9011 47.1968 44.5489 0.790112 -0.280319 -0.545109 0.490491 45 57.5 1 0 -2331 1 1 0 57.4944 47.4482 43.8907 0.749435 -0.25518 -0.610926 0.490491 45 57.5 1 0 -2332 1 1 0 54.1427 42.6499 44.6322 0.414272 -0.735011 -0.536784 0.490491 45 57.5 1 0 -2333 1 1 0 54.8521 42.9553 44.8203 0.485208 -0.704471 -0.51797 0.490491 45 57.5 1 0 -2334 1 1 0 55.5242 43.3039 45.0356 0.552418 -0.669612 -0.496441 0.490491 45 57.5 1 0 -2335 1 1 0 55.1338 43.5342 44.3575 0.513375 -0.646578 -0.564254 0.490491 45 57.5 1 0 -2336 1 1 0 54.4396 43.2102 44.1528 0.443957 -0.678977 -0.584716 0.490491 45 57.5 1 0 -2337 1 1 0 54.7092 43.8076 43.7169 0.470917 -0.619242 -0.628313 0.490491 45 57.5 1 0 -2338 1 1 0 56.1924 43.7169 45.2908 0.619242 -0.628313 -0.470917 0.490491 45 57.5 1 0 -2339 1 1 0 56.7898 44.1528 45.5604 0.678977 -0.584716 -0.443957 0.490491 45 57.5 1 0 -2340 1 1 0 56.4658 44.3575 44.8662 0.646578 -0.564254 -0.513375 0.490491 45 57.5 1 0 -2341 1 1 0 57.3501 44.6322 45.8573 0.735011 -0.536784 -0.414272 0.490491 45 57.5 1 0 -2342 1 1 0 57.0447 44.8203 45.1479 0.704471 -0.51797 -0.485208 0.490491 45 57.5 1 0 -2343 1 1 0 56.6961 45.0356 44.4758 0.669612 -0.496441 -0.552418 0.490491 45 57.5 1 0 -2344 1 1 0 54.9644 44.4758 43.3039 0.496441 -0.552418 -0.669612 0.490491 45 57.5 1 0 -2345 1 1 0 55.6425 44.8662 43.5342 0.564254 -0.513375 -0.646578 0.490491 45 57.5 1 0 -2346 1 1 0 55.1797 45.1479 42.9553 0.51797 -0.485208 -0.704471 0.490491 45 57.5 1 0 -2347 1 1 0 56.2831 45.2908 43.8076 0.628313 -0.470917 -0.619242 0.490491 45 57.5 1 0 -2348 1 1 0 55.8472 45.5604 43.2102 0.584716 -0.443957 -0.678977 0.490491 45 57.5 1 0 -2349 1 1 0 55.3678 45.8573 42.6499 0.536784 -0.414272 -0.735011 0.490491 45 57.5 1 0 -2350 1 1 0 55.8195 43.9252 44.5935 0.581952 -0.607478 -0.54065 0.490491 45 57.5 1 0 -2351 1 1 0 56.0748 44.5935 44.1805 0.607478 -0.54065 -0.581952 0.490491 45 57.5 1 0 -2352 1 1 0 55.4065 44.1805 43.9252 0.54065 -0.581952 -0.607478 0.490491 45 57.5 1 0 -2353 1 1 0 48.9351 44.4814 58.2711 -0.106494 -0.551859 0.82711 0.490491 45 57.5 1 0 -2354 1 1 0 48.5259 44.051 57.9017 -0.147413 -0.594895 0.79017 0.490491 45 57.5 1 0 -2355 1 1 0 48.1257 43.6542 57.4979 -0.187432 -0.634579 0.749786 0.490491 45 57.5 1 0 -2356 1 1 0 47.8698 44.2875 57.9265 -0.213023 -0.571251 0.79265 0.490491 45 57.5 1 0 -2357 1 1 0 48.2747 44.7087 58.3081 -0.172532 -0.529135 0.830812 0.490491 45 57.5 1 0 -2358 1 1 0 47.6277 44.9579 58.3036 -0.237228 -0.504209 0.830359 0.490491 45 57.5 1 0 -2359 1 1 0 47.711 43.2768 57.0398 -0.228899 -0.672319 0.703983 0.490491 45 57.5 1 0 -2360 1 1 0 47.3262 42.9476 56.5662 -0.267381 -0.705236 0.65662 0.490491 45 57.5 1 0 -2361 1 1 0 47.04 43.5259 57.0231 -0.296004 -0.647412 0.70231 0.490491 45 57.5 1 0 -2362 1 1 0 46.9479 42.6521 56.0574 -0.305212 -0.734794 0.605742 0.490491 45 57.5 1 0 -2363 1 1 0 46.5857 42.3959 55.5245 -0.341435 -0.760406 0.552454 0.490491 45 57.5 1 0 -2364 1 1 0 46.2825 42.9289 56.015 -0.371748 -0.707107 0.601501 0.490491 45 57.5 1 0 -2365 1 1 0 46.6531 43.2109 56.535 -0.334691 -0.678913 0.653497 0.490491 45 57.5 1 0 -2366 1 1 0 46.3841 43.8081 56.9704 -0.361591 -0.619186 0.697037 0.490491 45 57.5 1 0 -2367 1 1 0 46.0023 43.5055 56.4684 -0.399769 -0.649448 0.64684 0.490491 45 57.5 1 0 -2368 1 1 0 45.7467 44.1221 56.8819 -0.425325 -0.587785 0.688191 0.490491 45 57.5 1 0 -2369 1 1 0 46.962 45.2377 58.2518 -0.303801 -0.476225 0.825175 0.490491 45 57.5 1 0 -2370 1 1 0 46.5385 44.8388 57.8345 -0.346153 -0.516122 0.783452 0.490491 45 57.5 1 0 -2371 1 1 0 46.3397 45.5302 58.1623 -0.366027 -0.446977 0.816233 0.490491 45 57.5 1 0 -2372 1 1 0 46.1327 44.4663 57.3771 -0.38673 -0.553372 0.737712 0.490491 45 57.5 1 0 -2373 1 1 0 45.9171 45.1376 57.7258 -0.408286 -0.48624 0.772575 0.490491 45 57.5 1 0 -2374 1 1 0 45.5174 44.775 57.253 -0.448259 -0.522499 0.725299 0.490491 45 57.5 1 0 -2375 1 1 0 45.3157 45.4601 57.5794 -0.46843 -0.45399 0.757936 0.490491 45 57.5 1 0 -2376 1 1 0 45.7287 45.844 58.0302 -0.427135 -0.415597 0.803016 0.490491 45 57.5 1 0 -2377 1 1 0 45.1429 46.1732 57.859 -0.485712 -0.382683 0.785899 0.490491 45 57.5 1 0 -2378 1 1 0 47.4482 43.8907 57.4944 -0.25518 -0.610926 0.749435 0.490491 45 57.5 1 0 -2379 1 1 0 46.7786 44.1631 57.4534 -0.322141 -0.583692 0.745339 0.490491 45 57.5 1 0 -2380 1 1 0 47.1968 44.5489 57.9011 -0.280319 -0.545109 0.790112 0.490491 45 57.5 1 0 -2381 1 1 0 46.1732 42.141 54.8571 -0.382683 -0.785899 0.485712 0.490491 45 57.5 1 0 -2382 1 1 0 45.844 41.9698 54.2713 -0.415597 -0.803016 0.427135 0.490491 45 57.5 1 0 -2383 1 1 0 45.4601 42.4206 54.6843 -0.45399 -0.757936 0.46843 0.490491 45 57.5 1 0 -2384 1 1 0 45.5302 41.8377 53.6603 -0.446977 -0.816233 0.366027 0.490491 45 57.5 1 0 -2385 1 1 0 45.2377 41.7482 53.038 -0.476225 -0.825175 0.303801 0.490491 45 57.5 1 0 -2386 1 1 0 44.8388 42.1655 53.4615 -0.516122 -0.783452 0.346153 0.490491 45 57.5 1 0 -2387 1 1 0 45.1376 42.2742 54.0829 -0.48624 -0.772575 0.408286 0.490491 45 57.5 1 0 -2388 1 1 0 44.775 42.747 54.4826 -0.522499 -0.725299 0.448259 0.490491 45 57.5 1 0 -2389 1 1 0 44.4663 42.6229 53.8673 -0.553372 -0.737712 0.38673 0.490491 45 57.5 1 0 -2390 1 1 0 44.1221 43.1181 54.2533 -0.587785 -0.688191 0.425325 0.490491 45 57.5 1 0 -2391 1 1 0 44.9579 41.6964 52.3723 -0.504209 -0.830359 0.237228 0.490491 45 57.5 1 0 -2392 1 1 0 44.7087 41.6919 51.7253 -0.529135 -0.830812 0.172532 0.490491 45 57.5 1 0 -2393 1 1 0 44.2875 42.0735 52.1302 -0.571251 -0.79265 0.213023 0.490491 45 57.5 1 0 -2394 1 1 0 44.4814 41.7289 51.0649 -0.551859 -0.82711 0.106494 0.490491 45 57.5 1 0 -2395 1 1 0 44.051 42.0983 51.4741 -0.594895 -0.79017 0.147413 0.490491 45 57.5 1 0 -2396 1 1 0 43.6542 42.5021 51.8743 -0.634579 -0.749786 0.187432 0.490491 45 57.5 1 0 -2397 1 1 0 43.8081 43.0296 53.6159 -0.619186 -0.697037 0.361591 0.490491 45 57.5 1 0 -2398 1 1 0 43.5055 43.5316 53.9977 -0.649448 -0.64684 0.399769 0.490491 45 57.5 1 0 -2399 1 1 0 43.5259 42.9769 52.96 -0.647412 -0.70231 0.296004 0.490491 45 57.5 1 0 -2400 1 1 0 43.2109 43.465 53.3469 -0.678913 -0.653497 0.334691 0.490491 45 57.5 1 0 -2401 1 1 0 42.9289 43.985 53.7175 -0.707107 -0.601501 0.371748 0.490491 45 57.5 1 0 -2402 1 1 0 43.2768 42.9602 52.289 -0.672319 -0.703983 0.228899 0.490491 45 57.5 1 0 -2403 1 1 0 42.9476 43.4338 52.6738 -0.705236 -0.65662 0.267381 0.490491 45 57.5 1 0 -2404 1 1 0 42.6521 43.9426 53.0521 -0.734794 -0.605742 0.305212 0.490491 45 57.5 1 0 -2405 1 1 0 42.3959 44.4755 53.4143 -0.760406 -0.552454 0.341435 0.490491 45 57.5 1 0 -2406 1 1 0 44.5489 42.0989 52.8032 -0.545109 -0.790112 0.280319 0.490491 45 57.5 1 0 -2407 1 1 0 43.8907 42.5056 52.5518 -0.610926 -0.749435 0.25518 0.490491 45 57.5 1 0 -2408 1 1 0 44.1631 42.5466 53.2214 -0.583692 -0.745339 0.322141 0.490491 45 57.5 1 0 -2409 1 1 0 44.4755 46.5857 57.6041 -0.552454 -0.341435 0.760406 0.490491 45 57.5 1 0 -2410 1 1 0 43.985 46.2825 57.0711 -0.601501 -0.371748 0.707107 0.490491 45 57.5 1 0 -2411 1 1 0 43.9426 46.9479 57.3479 -0.605742 -0.305212 0.734794 0.490491 45 57.5 1 0 -2412 1 1 0 43.5316 46.0023 56.4945 -0.64684 -0.399769 0.649448 0.490491 45 57.5 1 0 -2413 1 1 0 43.465 46.6531 56.7891 -0.653497 -0.334691 0.678913 0.490491 45 57.5 1 0 -2414 1 1 0 43.1181 45.7467 55.8779 -0.688191 -0.425325 0.587785 0.490491 45 57.5 1 0 -2415 1 1 0 43.0296 46.3841 56.1919 -0.697037 -0.361591 0.619186 0.490491 45 57.5 1 0 -2416 1 1 0 42.9769 47.04 56.4741 -0.70231 -0.296004 0.647412 0.490491 45 57.5 1 0 -2417 1 1 0 43.4338 47.3262 57.0524 -0.65662 -0.267381 0.705236 0.490491 45 57.5 1 0 -2418 1 1 0 42.9602 47.711 56.7232 -0.703983 -0.228899 0.672319 0.490491 45 57.5 1 0 -2419 1 1 0 42.747 45.5174 55.225 -0.725299 -0.448259 0.522499 0.490491 45 57.5 1 0 -2420 1 1 0 42.6229 46.1327 55.5337 -0.737712 -0.38673 0.553372 0.490491 45 57.5 1 0 -2421 1 1 0 42.4206 45.3157 54.5399 -0.757936 -0.46843 0.45399 0.490491 45 57.5 1 0 -2422 1 1 0 42.2742 45.9171 54.8624 -0.772575 -0.408286 0.48624 0.490491 45 57.5 1 0 -2423 1 1 0 42.1655 46.5385 55.1612 -0.783452 -0.346153 0.516122 0.490491 45 57.5 1 0 -2424 1 1 0 42.141 45.1429 53.8268 -0.785899 -0.485712 0.382683 0.490491 45 57.5 1 0 -2425 1 1 0 41.9698 45.7287 54.156 -0.803016 -0.427135 0.415597 0.490491 45 57.5 1 0 -2426 1 1 0 41.8377 46.3397 54.4698 -0.816233 -0.366027 0.446977 0.490491 45 57.5 1 0 -2427 1 1 0 41.7482 46.962 54.7623 -0.825175 -0.303801 0.476225 0.490491 45 57.5 1 0 -2428 1 1 0 42.5021 48.1257 56.3458 -0.749786 -0.187432 0.634579 0.490491 45 57.5 1 0 -2429 1 1 0 42.0735 47.8698 55.7125 -0.79265 -0.213023 0.571251 0.490491 45 57.5 1 0 -2430 1 1 0 42.0983 48.5259 55.949 -0.79017 -0.147413 0.594895 0.490491 45 57.5 1 0 -2431 1 1 0 41.6964 47.6277 55.0421 -0.830359 -0.237228 0.504209 0.490491 45 57.5 1 0 -2432 1 1 0 41.6919 48.2747 55.2913 -0.830812 -0.172532 0.529135 0.490491 45 57.5 1 0 -2433 1 1 0 41.7289 48.9351 55.5186 -0.82711 -0.106494 0.551859 0.490491 45 57.5 1 0 -2434 1 1 0 42.5466 46.7786 55.8369 -0.745339 -0.322141 0.583692 0.490491 45 57.5 1 0 -2435 1 1 0 42.0989 47.1968 55.4511 -0.790112 -0.280319 0.545109 0.490491 45 57.5 1 0 -2436 1 1 0 42.5056 47.4482 56.1093 -0.749435 -0.25518 0.610926 0.490491 45 57.5 1 0 -2437 1 1 0 45.8573 42.6499 55.3678 -0.414272 -0.735011 0.536784 0.490491 45 57.5 1 0 -2438 1 1 0 45.1479 42.9553 55.1797 -0.485208 -0.704471 0.51797 0.490491 45 57.5 1 0 -2439 1 1 0 44.4758 43.3039 54.9644 -0.552418 -0.669612 0.496441 0.490491 45 57.5 1 0 -2440 1 1 0 44.8662 43.5342 55.6425 -0.513375 -0.646578 0.564254 0.490491 45 57.5 1 0 -2441 1 1 0 45.5604 43.2102 55.8472 -0.443957 -0.678977 0.584716 0.490491 45 57.5 1 0 -2442 1 1 0 45.2908 43.8076 56.2831 -0.470917 -0.619242 0.628313 0.490491 45 57.5 1 0 -2443 1 1 0 43.8076 43.7169 54.7092 -0.619242 -0.628313 0.470917 0.490491 45 57.5 1 0 -2444 1 1 0 43.2102 44.1528 54.4396 -0.678977 -0.584716 0.443957 0.490491 45 57.5 1 0 -2445 1 1 0 43.5342 44.3575 55.1338 -0.646578 -0.564254 0.513375 0.490491 45 57.5 1 0 -2446 1 1 0 42.6499 44.6322 54.1427 -0.735011 -0.536784 0.414272 0.490491 45 57.5 1 0 -2447 1 1 0 42.9553 44.8203 54.8521 -0.704471 -0.51797 0.485208 0.490491 45 57.5 1 0 -2448 1 1 0 43.3039 45.0356 55.5242 -0.669612 -0.496441 0.552418 0.490491 45 57.5 1 0 -2449 1 1 0 45.0356 44.4758 56.6961 -0.496441 -0.552418 0.669612 0.490491 45 57.5 1 0 -2450 1 1 0 44.3575 44.8662 56.4658 -0.564254 -0.513375 0.646578 0.490491 45 57.5 1 0 -2451 1 1 0 44.8203 45.1479 57.0447 -0.51797 -0.485208 0.704471 0.490491 45 57.5 1 0 -2452 1 1 0 43.7169 45.2908 56.1924 -0.628313 -0.470917 0.619242 0.490491 45 57.5 1 0 -2453 1 1 0 44.1528 45.5604 56.7898 -0.584716 -0.443957 0.678977 0.490491 45 57.5 1 0 -2454 1 1 0 44.6322 45.8573 57.3501 -0.536784 -0.414272 0.735011 0.490491 45 57.5 1 0 -2455 1 1 0 44.1805 43.9252 55.4065 -0.581952 -0.607478 0.54065 0.490491 45 57.5 1 0 -2456 1 1 0 43.9252 44.5935 55.8195 -0.607478 -0.54065 0.581952 0.490491 45 57.5 1 0 -2457 1 1 0 44.5935 44.1805 56.0748 -0.54065 -0.581952 0.607478 0.490491 45 57.5 1 0 -2458 1 1 0 51.0649 44.4814 58.2711 0.106494 -0.551859 0.82711 0.490491 45 57.5 1 0 -2459 1 1 0 51.7253 44.7087 58.3081 0.172532 -0.529135 0.830812 0.490491 45 57.5 1 0 -2460 1 1 0 52.3723 44.9579 58.3036 0.237228 -0.504209 0.830359 0.490491 45 57.5 1 0 -2461 1 1 0 52.1302 44.2875 57.9265 0.213023 -0.571251 0.79265 0.490491 45 57.5 1 0 -2462 1 1 0 51.4741 44.051 57.9017 0.147413 -0.594895 0.79017 0.490491 45 57.5 1 0 -2463 1 1 0 51.8743 43.6542 57.4979 0.187432 -0.634579 0.749786 0.490491 45 57.5 1 0 -2464 1 1 0 53.038 45.2377 58.2518 0.303801 -0.476225 0.825175 0.490491 45 57.5 1 0 -2465 1 1 0 53.6603 45.5302 58.1623 0.366027 -0.446977 0.816233 0.490491 45 57.5 1 0 -2466 1 1 0 53.4615 44.8388 57.8345 0.346153 -0.516122 0.783452 0.490491 45 57.5 1 0 -2467 1 1 0 54.2713 45.844 58.0302 0.427135 -0.415597 0.803016 0.490491 45 57.5 1 0 -2468 1 1 0 54.8571 46.1732 57.859 0.485712 -0.382683 0.785899 0.490491 45 57.5 1 0 -2469 1 1 0 54.6843 45.4601 57.5794 0.46843 -0.45399 0.757936 0.490491 45 57.5 1 0 -2470 1 1 0 54.0829 45.1376 57.7258 0.408286 -0.48624 0.772575 0.490491 45 57.5 1 0 -2471 1 1 0 53.8673 44.4663 57.3771 0.38673 -0.553372 0.737712 0.490491 45 57.5 1 0 -2472 1 1 0 54.4826 44.775 57.253 0.448259 -0.522499 0.725299 0.490491 45 57.5 1 0 -2473 1 1 0 54.2533 44.1221 56.8819 0.425325 -0.587785 0.688191 0.490491 45 57.5 1 0 -2474 1 1 0 52.289 43.2768 57.0398 0.228899 -0.672319 0.703983 0.490491 45 57.5 1 0 -2475 1 1 0 52.96 43.5259 57.0231 0.296004 -0.647412 0.70231 0.490491 45 57.5 1 0 -2476 1 1 0 52.6738 42.9476 56.5662 0.267381 -0.705236 0.65662 0.490491 45 57.5 1 0 -2477 1 1 0 53.6159 43.8081 56.9704 0.361591 -0.619186 0.697037 0.490491 45 57.5 1 0 -2478 1 1 0 53.3469 43.2109 56.535 0.334691 -0.678913 0.653497 0.490491 45 57.5 1 0 -2479 1 1 0 53.9977 43.5055 56.4684 0.399769 -0.649448 0.64684 0.490491 45 57.5 1 0 -2480 1 1 0 53.7175 42.9289 56.015 0.371748 -0.707107 0.601501 0.490491 45 57.5 1 0 -2481 1 1 0 53.0521 42.6521 56.0574 0.305212 -0.734794 0.605742 0.490491 45 57.5 1 0 -2482 1 1 0 53.4143 42.3959 55.5245 0.341435 -0.760406 0.552454 0.490491 45 57.5 1 0 -2483 1 1 0 52.8032 44.5489 57.9011 0.280319 -0.545109 0.790112 0.490491 45 57.5 1 0 -2484 1 1 0 53.2214 44.1631 57.4534 0.322141 -0.583692 0.745339 0.490491 45 57.5 1 0 -2485 1 1 0 52.5518 43.8907 57.4944 0.25518 -0.610926 0.749435 0.490491 45 57.5 1 0 -2486 1 1 0 55.5245 46.5857 57.6041 0.552454 -0.341435 0.760406 0.490491 45 57.5 1 0 -2487 1 1 0 56.0574 46.9479 57.3479 0.605742 -0.305212 0.734794 0.490491 45 57.5 1 0 -2488 1 1 0 56.015 46.2825 57.0711 0.601501 -0.371748 0.707107 0.490491 45 57.5 1 0 -2489 1 1 0 56.5662 47.3262 57.0524 0.65662 -0.267381 0.705236 0.490491 45 57.5 1 0 -2490 1 1 0 57.0398 47.711 56.7232 0.703983 -0.228899 0.672319 0.490491 45 57.5 1 0 -2491 1 1 0 57.0231 47.04 56.4741 0.70231 -0.296004 0.647412 0.490491 45 57.5 1 0 -2492 1 1 0 56.535 46.6531 56.7891 0.653497 -0.334691 0.678913 0.490491 45 57.5 1 0 -2493 1 1 0 56.4684 46.0023 56.4945 0.64684 -0.399769 0.649448 0.490491 45 57.5 1 0 -2494 1 1 0 56.9704 46.3841 56.1919 0.697037 -0.361591 0.619186 0.490491 45 57.5 1 0 -2495 1 1 0 56.8819 45.7467 55.8779 0.688191 -0.425325 0.587785 0.490491 45 57.5 1 0 -2496 1 1 0 57.4979 48.1257 56.3458 0.749786 -0.187432 0.634579 0.490491 45 57.5 1 0 -2497 1 1 0 57.9017 48.5259 55.949 0.79017 -0.147413 0.594895 0.490491 45 57.5 1 0 -2498 1 1 0 57.9265 47.8698 55.7125 0.79265 -0.213023 0.571251 0.490491 45 57.5 1 0 -2499 1 1 0 58.2711 48.9351 55.5186 0.82711 -0.106494 0.551859 0.490491 45 57.5 1 0 -2500 1 1 0 58.3081 48.2747 55.2913 0.830812 -0.172532 0.529135 0.490491 45 57.5 1 0 -2501 1 1 0 58.3036 47.6277 55.0421 0.830359 -0.237228 0.504209 0.490491 45 57.5 1 0 -2502 1 1 0 57.3771 46.1327 55.5337 0.737712 -0.38673 0.553372 0.490491 45 57.5 1 0 -2503 1 1 0 57.253 45.5174 55.225 0.725299 -0.448259 0.522499 0.490491 45 57.5 1 0 -2504 1 1 0 57.8345 46.5385 55.1612 0.783452 -0.346153 0.516122 0.490491 45 57.5 1 0 -2505 1 1 0 57.7258 45.9171 54.8624 0.772575 -0.408286 0.48624 0.490491 45 57.5 1 0 -2506 1 1 0 57.5794 45.3157 54.5399 0.757936 -0.46843 0.45399 0.490491 45 57.5 1 0 -2507 1 1 0 58.2518 46.962 54.7623 0.825175 -0.303801 0.476225 0.490491 45 57.5 1 0 -2508 1 1 0 58.1623 46.3397 54.4698 0.816233 -0.366027 0.446977 0.490491 45 57.5 1 0 -2509 1 1 0 58.0302 45.7287 54.156 0.803016 -0.427135 0.415597 0.490491 45 57.5 1 0 -2510 1 1 0 57.859 45.1429 53.8268 0.785899 -0.485712 0.382683 0.490491 45 57.5 1 0 -2511 1 1 0 57.4944 47.4482 56.1093 0.749435 -0.25518 0.610926 0.490491 45 57.5 1 0 -2512 1 1 0 57.9011 47.1968 55.4511 0.790112 -0.280319 0.545109 0.490491 45 57.5 1 0 -2513 1 1 0 57.4534 46.7786 55.8369 0.745339 -0.322141 0.583692 0.490491 45 57.5 1 0 -2514 1 1 0 53.8268 42.141 54.8571 0.382683 -0.785899 0.485712 0.490491 45 57.5 1 0 -2515 1 1 0 54.5399 42.4206 54.6843 0.45399 -0.757936 0.46843 0.490491 45 57.5 1 0 -2516 1 1 0 54.156 41.9698 54.2713 0.415597 -0.803016 0.427135 0.490491 45 57.5 1 0 -2517 1 1 0 55.225 42.747 54.4826 0.522499 -0.725299 0.448259 0.490491 45 57.5 1 0 -2518 1 1 0 54.8624 42.2742 54.0829 0.48624 -0.772575 0.408286 0.490491 45 57.5 1 0 -2519 1 1 0 55.8779 43.1181 54.2533 0.587785 -0.688191 0.425325 0.490491 45 57.5 1 0 -2520 1 1 0 55.5337 42.6229 53.8673 0.553372 -0.737712 0.38673 0.490491 45 57.5 1 0 -2521 1 1 0 55.1612 42.1655 53.4615 0.516122 -0.783452 0.346153 0.490491 45 57.5 1 0 -2522 1 1 0 54.4698 41.8377 53.6603 0.446977 -0.816233 0.366027 0.490491 45 57.5 1 0 -2523 1 1 0 54.7623 41.7482 53.038 0.476225 -0.825175 0.303801 0.490491 45 57.5 1 0 -2524 1 1 0 56.4945 43.5316 53.9977 0.649448 -0.64684 0.399769 0.490491 45 57.5 1 0 -2525 1 1 0 56.1919 43.0296 53.6159 0.619186 -0.697037 0.361591 0.490491 45 57.5 1 0 -2526 1 1 0 57.0711 43.985 53.7175 0.707107 -0.601501 0.371748 0.490491 45 57.5 1 0 -2527 1 1 0 56.7891 43.465 53.3469 0.678913 -0.653497 0.334691 0.490491 45 57.5 1 0 -2528 1 1 0 56.4741 42.9769 52.96 0.647412 -0.70231 0.296004 0.490491 45 57.5 1 0 -2529 1 1 0 57.6041 44.4755 53.4143 0.760406 -0.552454 0.341435 0.490491 45 57.5 1 0 -2530 1 1 0 57.3479 43.9426 53.0521 0.734794 -0.605742 0.305212 0.490491 45 57.5 1 0 -2531 1 1 0 57.0524 43.4338 52.6738 0.705236 -0.65662 0.267381 0.490491 45 57.5 1 0 -2532 1 1 0 56.7232 42.9602 52.289 0.672319 -0.703983 0.228899 0.490491 45 57.5 1 0 -2533 1 1 0 55.0421 41.6964 52.3723 0.504209 -0.830359 0.237228 0.490491 45 57.5 1 0 -2534 1 1 0 55.7125 42.0735 52.1302 0.571251 -0.79265 0.213023 0.490491 45 57.5 1 0 -2535 1 1 0 55.2913 41.6919 51.7253 0.529135 -0.830812 0.172532 0.490491 45 57.5 1 0 -2536 1 1 0 56.3458 42.5021 51.8743 0.634579 -0.749786 0.187432 0.490491 45 57.5 1 0 -2537 1 1 0 55.949 42.0983 51.4741 0.594895 -0.79017 0.147413 0.490491 45 57.5 1 0 -2538 1 1 0 55.5186 41.7289 51.0649 0.551859 -0.82711 0.106494 0.490491 45 57.5 1 0 -2539 1 1 0 55.8369 42.5466 53.2214 0.583692 -0.745339 0.322141 0.490491 45 57.5 1 0 -2540 1 1 0 56.1093 42.5056 52.5518 0.610926 -0.749435 0.25518 0.490491 45 57.5 1 0 -2541 1 1 0 55.4511 42.0989 52.8032 0.545109 -0.790112 0.280319 0.490491 45 57.5 1 0 -2542 1 1 0 55.3678 45.8573 57.3501 0.536784 -0.414272 0.735011 0.490491 45 57.5 1 0 -2543 1 1 0 55.8472 45.5604 56.7898 0.584716 -0.443957 0.678977 0.490491 45 57.5 1 0 -2544 1 1 0 56.2831 45.2908 56.1924 0.628313 -0.470917 0.619242 0.490491 45 57.5 1 0 -2545 1 1 0 55.6425 44.8662 56.4658 0.564254 -0.513375 0.646578 0.490491 45 57.5 1 0 -2546 1 1 0 55.1797 45.1479 57.0447 0.51797 -0.485208 0.704471 0.490491 45 57.5 1 0 -2547 1 1 0 54.9644 44.4758 56.6961 0.496441 -0.552418 0.669612 0.490491 45 57.5 1 0 -2548 1 1 0 56.6961 45.0356 55.5242 0.669612 -0.496441 0.552418 0.490491 45 57.5 1 0 -2549 1 1 0 57.0447 44.8203 54.8521 0.704471 -0.51797 0.485208 0.490491 45 57.5 1 0 -2550 1 1 0 56.4658 44.3575 55.1338 0.646578 -0.564254 0.513375 0.490491 45 57.5 1 0 -2551 1 1 0 57.3501 44.6322 54.1427 0.735011 -0.536784 0.414272 0.490491 45 57.5 1 0 -2552 1 1 0 56.7898 44.1528 54.4396 0.678977 -0.584716 0.443957 0.490491 45 57.5 1 0 -2553 1 1 0 56.1924 43.7169 54.7092 0.619242 -0.628313 0.470917 0.490491 45 57.5 1 0 -2554 1 1 0 54.7092 43.8076 56.2831 0.470917 -0.619242 0.628313 0.490491 45 57.5 1 0 -2555 1 1 0 55.1338 43.5342 55.6425 0.513375 -0.646578 0.564254 0.490491 45 57.5 1 0 -2556 1 1 0 54.4396 43.2102 55.8472 0.443957 -0.678977 0.584716 0.490491 45 57.5 1 0 -2557 1 1 0 55.5242 43.3039 54.9644 0.552418 -0.669612 0.496441 0.490491 45 57.5 1 0 -2558 1 1 0 54.8521 42.9553 55.1797 0.485208 -0.704471 0.51797 0.490491 45 57.5 1 0 -2559 1 1 0 54.1427 42.6499 55.3678 0.414272 -0.735011 0.536784 0.490491 45 57.5 1 0 -2560 1 1 0 56.0748 44.5935 55.8195 0.607478 -0.54065 0.581952 0.490491 45 57.5 1 0 -2561 1 1 0 55.8195 43.9252 55.4065 0.581952 -0.607478 0.54065 0.490491 45 57.5 1 0 -2562 1 1 0 55.4065 44.1805 56.0748 0.54065 -0.581952 0.607478 0.490491 45 57.5 1 0 +1 1 1 0 50 55.2573 41.4935 0 0.525731 -0.850651 0.490491 45 57.5 57.5 0 +2 1 1 0 50.4064 55.7206 41.8079 0.0406403 0.572055 -0.819208 0.490491 45 57.5 57.5 0 +3 1 1 0 49.5936 55.7206 41.8079 -0.0406403 0.572055 -0.819208 0.490491 45 57.5 57.5 0 +4 1 1 0 50.8109 56.1564 42.1616 0.081086 0.615642 -0.783843 0.490491 45 57.5 57.5 0 +5 1 1 0 50 56.1768 42.1357 0 0.617676 -0.786433 0.490491 45 57.5 57.5 0 +6 1 1 0 49.1891 56.1564 42.1616 -0.081086 0.615642 -0.783843 0.490491 45 57.5 57.5 0 +7 1 1 0 51.2114 56.5628 42.5527 0.121144 0.656282 -0.744727 0.490491 45 57.5 57.5 0 +8 1 1 0 50.4064 56.6088 42.5061 0.0406418 0.660883 -0.749387 0.490491 45 57.5 57.5 0 +9 1 1 0 51.6062 56.9378 42.9795 0.160622 0.69378 -0.702047 0.490491 45 57.5 57.5 0 +10 1 1 0 50.8057 57.0062 42.9103 0.0805729 0.700622 -0.708969 0.490491 45 57.5 57.5 0 +11 1 1 0 50 57.0291 42.8872 0 0.702907 -0.711282 0.490491 45 57.5 57.5 0 +12 1 1 0 49.5936 56.6088 42.5061 -0.0406418 0.660883 -0.749387 0.490491 45 57.5 57.5 0 +13 1 1 0 48.7886 56.5628 42.5527 -0.121144 0.656282 -0.744727 0.490491 45 57.5 57.5 0 +14 1 1 0 49.1943 57.0062 42.9103 -0.0805729 0.700622 -0.708969 0.490491 45 57.5 57.5 0 +15 1 1 0 48.3938 56.9378 42.9795 -0.160622 0.69378 -0.702047 0.490491 45 57.5 57.5 0 +16 1 1 0 51.9933 57.2796 43.4399 0.199331 0.727959 -0.656006 0.490491 45 57.5 57.5 0 +17 1 1 0 51.2119 57.3889 43.3716 0.121192 0.738887 -0.662842 0.490491 45 57.5 57.5 0 +18 1 1 0 52.3709 57.5865 43.9317 0.237086 0.758652 -0.606825 0.490491 45 57.5 57.5 0 +19 1 1 0 51.5961 57.7184 43.8454 0.159613 0.771841 -0.615456 0.490491 45 57.5 57.5 0 +20 1 1 0 50.8114 57.802 43.7976 0.0811417 0.780205 -0.620239 0.490491 45 57.5 57.5 0 +21 1 1 0 52.7371 57.8572 44.4526 0.273706 0.785715 -0.55474 0.490491 45 57.5 57.5 0 +22 1 1 0 51.9727 58.015 44.3549 0.197274 0.801504 -0.564513 0.490491 45 57.5 57.5 0 +23 1 1 0 53.0902 58.0902 45 0.309017 0.809017 -0.5 0.490491 45 57.5 57.5 0 +24 1 1 0 52.3345 58.2715 44.888 0.233445 0.827147 -0.511205 0.490491 45 57.5 57.5 0 +25 1 1 0 51.5643 58.4018 44.8074 0.156434 0.840178 -0.519259 0.490491 45 57.5 57.5 0 +26 1 1 0 51.1908 58.1217 44.2886 0.119078 0.81217 -0.57114 0.490491 45 57.5 57.5 0 +27 1 1 0 50.4067 58.1752 44.2554 0.040675 0.817523 -0.574458 0.490491 45 57.5 57.5 0 +28 1 1 0 50.7846 58.4803 44.7589 0.0784592 0.848029 -0.52411 0.490491 45 57.5 57.5 0 +29 1 1 0 50 58.5065 44.7427 0 0.850651 -0.525731 0.490491 45 57.5 57.5 0 +30 1 1 0 48.7881 57.3889 43.3716 -0.121192 0.738887 -0.662842 0.490491 45 57.5 57.5 0 +31 1 1 0 48.0067 57.2796 43.4399 -0.199331 0.727959 -0.656006 0.490491 45 57.5 57.5 0 +32 1 1 0 49.1886 57.802 43.7976 -0.0811417 0.780205 -0.620239 0.490491 45 57.5 57.5 0 +33 1 1 0 48.4039 57.7184 43.8454 -0.159613 0.771841 -0.615456 0.490491 45 57.5 57.5 0 +34 1 1 0 47.6291 57.5865 43.9317 -0.237086 0.758652 -0.606825 0.490491 45 57.5 57.5 0 +35 1 1 0 49.5933 58.1752 44.2554 -0.040675 0.817523 -0.574458 0.490491 45 57.5 57.5 0 +36 1 1 0 48.8092 58.1217 44.2886 -0.119078 0.81217 -0.57114 0.490491 45 57.5 57.5 0 +37 1 1 0 49.2154 58.4803 44.7589 -0.0784592 0.848029 -0.52411 0.490491 45 57.5 57.5 0 +38 1 1 0 48.4357 58.4018 44.8074 -0.156434 0.840178 -0.519259 0.490491 45 57.5 57.5 0 +39 1 1 0 48.0273 58.015 44.3549 -0.197274 0.801504 -0.564513 0.490491 45 57.5 57.5 0 +40 1 1 0 47.2629 57.8572 44.4526 -0.273706 0.785715 -0.55474 0.490491 45 57.5 57.5 0 +41 1 1 0 47.6655 58.2715 44.888 -0.233445 0.827147 -0.511205 0.490491 45 57.5 57.5 0 +42 1 1 0 46.9098 58.0902 45 -0.309017 0.809017 -0.5 0.490491 45 57.5 57.5 0 +43 1 1 0 50.4068 57.435 43.325 0.0406769 0.743496 -0.667502 0.490491 45 57.5 57.5 0 +44 1 1 0 50 57.8279 43.7771 0 0.782786 -0.622291 0.490491 45 57.5 57.5 0 +45 1 1 0 49.5932 57.435 43.325 -0.0406769 0.743496 -0.667502 0.490491 45 57.5 57.5 0 +46 1 1 0 53.4285 58.2845 45.5713 0.342848 0.828447 -0.442867 0.490491 45 57.5 57.5 0 +47 1 1 0 52.7469 58.5264 45.5554 0.274694 0.85264 -0.444464 0.490491 45 57.5 57.5 0 +48 1 1 0 53.7504 58.4391 46.1639 0.375038 0.843912 -0.383614 0.490491 45 57.5 57.5 0 +49 1 1 0 53.0766 58.6973 46.1409 0.307659 0.869725 -0.385906 0.490491 45 57.5 57.5 0 +50 1 1 0 52.3868 58.9101 46.1381 0.238677 0.891007 -0.386187 0.490491 45 57.5 57.5 0 +51 1 1 0 54.0543 58.5534 46.7748 0.405434 0.855337 -0.322525 0.490491 45 57.5 57.5 0 +52 1 1 0 53.3921 58.8284 46.7514 0.339209 0.882837 -0.324863 0.490491 45 57.5 57.5 0 +53 1 1 0 54.3389 58.6267 47.4011 0.433888 0.862669 -0.259892 0.490491 45 57.5 57.5 0 +54 1 1 0 53.6852 58.9174 47.3734 0.368518 0.891742 -0.262661 0.490491 45 57.5 57.5 0 +55 1 1 0 53.0126 59.1624 47.3592 0.301258 0.916244 -0.264082 0.490491 45 57.5 57.5 0 +56 1 1 0 52.7063 59.0583 46.7407 0.270627 0.905832 -0.325929 0.490491 45 57.5 57.5 0 +57 1 1 0 52.0119 59.2388 46.7447 0.201189 0.92388 -0.32553 0.490491 45 57.5 57.5 0 +58 1 1 0 52.3245 59.3605 47.3585 0.232455 0.93605 -0.264151 0.490491 45 57.5 57.5 0 +59 1 1 0 51.6246 59.5106 47.3713 0.16246 0.951057 -0.262865 0.490491 45 57.5 57.5 0 +60 1 1 0 54.6027 58.6587 48.0398 0.460266 0.865871 -0.196015 0.490491 45 57.5 57.5 0 +61 1 1 0 53.9735 58.964 48.0359 0.39735 0.896401 -0.196412 0.490491 45 57.5 57.5 0 +62 1 1 0 54.8444 58.6493 48.688 0.484441 0.864929 -0.1312 0.490491 45 57.5 57.5 0 +63 1 1 0 54.2236 58.968 48.6825 0.422363 0.896801 -0.131749 0.490491 45 57.5 57.5 0 +64 1 1 0 53.5823 59.243 48.6834 0.358229 0.924305 -0.131656 0.490491 45 57.5 57.5 0 +65 1 1 0 55.063 58.5985 49.3424 0.506298 0.859848 -0.0657577 0.490491 45 57.5 57.5 0 +66 1 1 0 54.4537 58.9293 49.3418 0.445365 0.892927 -0.0658169 0.490491 45 57.5 57.5 0 +67 1 1 0 55.2573 58.5065 50 0.525731 0.850651 0 0.490491 45 57.5 57.5 0 +68 1 1 0 54.6566 58.8497 50 0.465657 0.884965 0 0.490491 45 57.5 57.5 0 +69 1 1 0 54.0336 59.1504 50 0.403355 0.915043 0 0.490491 45 57.5 57.5 0 +70 1 1 0 53.8172 59.2192 49.3401 0.381722 0.921919 -0.0659886 0.490491 45 57.5 57.5 0 +71 1 1 0 53.1678 59.462 49.3396 0.316778 0.946198 -0.0660427 0.490491 45 57.5 57.5 0 +72 1 1 0 53.3912 59.4074 50 0.339122 0.940742 0 0.490491 45 57.5 57.5 0 +73 1 1 0 52.7327 59.6194 50 0.273267 0.961938 0 0.490491 45 57.5 57.5 0 +74 1 1 0 51.9178 59.6119 48.0166 0.19178 0.961188 -0.198337 0.490491 45 57.5 57.5 0 +75 1 1 0 51.2273 59.7237 48.0142 0.122729 0.97237 -0.198581 0.490491 45 57.5 57.5 0 +76 1 1 0 52.2012 59.6639 48.6721 0.220117 0.966393 -0.132792 0.490491 45 57.5 57.5 0 +77 1 1 0 51.5155 59.7943 48.6674 0.151549 0.979426 -0.133256 0.490491 45 57.5 57.5 0 +78 1 1 0 50.8224 59.8769 48.6693 0.0822422 0.987688 -0.133071 0.490491 45 57.5 57.5 0 +79 1 1 0 52.4733 59.6664 49.3343 0.247326 0.966643 -0.0665668 0.490491 45 57.5 57.5 0 +80 1 1 0 51.796 59.8148 49.334 0.179596 0.981483 -0.0666046 0.490491 45 57.5 57.5 0 +81 1 1 0 52.061 59.7853 50 0.206103 0.97853 0 0.490491 45 57.5 57.5 0 +82 1 1 0 51.3795 59.9044 50 0.137952 0.990439 0 0.490491 45 57.5 57.5 0 +83 1 1 0 51.1039 59.9165 49.3329 0.110385 0.991648 -0.0667095 0.490491 45 57.5 57.5 0 +84 1 1 0 50.4125 59.9692 49.3326 0.0412479 0.996917 -0.0667412 0.490491 45 57.5 57.5 0 +85 1 1 0 50.6914 59.9761 50 0.0691418 0.997607 0 0.490491 45 57.5 57.5 0 +86 1 1 0 50 60 50 0 1 0 0.490491 45 57.5 57.5 0 +87 1 1 0 53.3061 59.2268 48.0161 0.330606 0.922682 -0.198387 0.490491 45 57.5 57.5 0 +88 1 1 0 52.8993 59.4782 48.6743 0.289929 0.947822 -0.13257 0.490491 45 57.5 57.5 0 +89 1 1 0 52.6155 59.4443 48.0091 0.26155 0.944433 -0.199094 0.490491 45 57.5 57.5 0 +90 1 1 0 47.2531 58.5264 45.5554 -0.274694 0.85264 -0.444464 0.490491 45 57.5 57.5 0 +91 1 1 0 46.5715 58.2845 45.5713 -0.342848 0.828447 -0.442867 0.490491 45 57.5 57.5 0 +92 1 1 0 47.6132 58.9101 46.1381 -0.238677 0.891007 -0.386187 0.490491 45 57.5 57.5 0 +93 1 1 0 46.9234 58.6973 46.1409 -0.307659 0.869725 -0.385906 0.490491 45 57.5 57.5 0 +94 1 1 0 46.2496 58.4391 46.1639 -0.375038 0.843912 -0.383614 0.490491 45 57.5 57.5 0 +95 1 1 0 47.9881 59.2388 46.7447 -0.201189 0.92388 -0.32553 0.490491 45 57.5 57.5 0 +96 1 1 0 47.2937 59.0583 46.7407 -0.270627 0.905832 -0.325929 0.490491 45 57.5 57.5 0 +97 1 1 0 48.3754 59.5106 47.3713 -0.16246 0.951057 -0.262865 0.490491 45 57.5 57.5 0 +98 1 1 0 47.6755 59.3605 47.3585 -0.232455 0.93605 -0.264151 0.490491 45 57.5 57.5 0 +99 1 1 0 46.9874 59.1624 47.3592 -0.301258 0.916244 -0.264082 0.490491 45 57.5 57.5 0 +100 1 1 0 46.6079 58.8284 46.7514 -0.339209 0.882837 -0.324863 0.490491 45 57.5 57.5 0 +101 1 1 0 45.9457 58.5534 46.7748 -0.405434 0.855337 -0.322525 0.490491 45 57.5 57.5 0 +102 1 1 0 46.3148 58.9174 47.3734 -0.368518 0.891742 -0.262661 0.490491 45 57.5 57.5 0 +103 1 1 0 45.6611 58.6267 47.4011 -0.433888 0.862669 -0.259892 0.490491 45 57.5 57.5 0 +104 1 1 0 48.7727 59.7237 48.0142 -0.122729 0.97237 -0.198581 0.490491 45 57.5 57.5 0 +105 1 1 0 48.0822 59.6119 48.0166 -0.19178 0.961188 -0.198337 0.490491 45 57.5 57.5 0 +106 1 1 0 49.1776 59.8769 48.6693 -0.0822422 0.987688 -0.133071 0.490491 45 57.5 57.5 0 +107 1 1 0 48.4845 59.7943 48.6674 -0.151549 0.979426 -0.133256 0.490491 45 57.5 57.5 0 +108 1 1 0 47.7988 59.6639 48.6721 -0.220117 0.966393 -0.132792 0.490491 45 57.5 57.5 0 +109 1 1 0 49.5875 59.9692 49.3326 -0.0412479 0.996917 -0.0667412 0.490491 45 57.5 57.5 0 +110 1 1 0 48.8961 59.9165 49.3329 -0.110385 0.991648 -0.0667095 0.490491 45 57.5 57.5 0 +111 1 1 0 49.3086 59.9761 50 -0.0691418 0.997607 0 0.490491 45 57.5 57.5 0 +112 1 1 0 48.6205 59.9044 50 -0.137952 0.990439 0 0.490491 45 57.5 57.5 0 +113 1 1 0 48.204 59.8148 49.334 -0.179596 0.981483 -0.0666046 0.490491 45 57.5 57.5 0 +114 1 1 0 47.5267 59.6664 49.3343 -0.247326 0.966643 -0.0665668 0.490491 45 57.5 57.5 0 +115 1 1 0 47.939 59.7853 50 -0.206103 0.97853 0 0.490491 45 57.5 57.5 0 +116 1 1 0 47.2673 59.6194 50 -0.273267 0.961938 0 0.490491 45 57.5 57.5 0 +117 1 1 0 46.0265 58.964 48.0359 -0.39735 0.896401 -0.196412 0.490491 45 57.5 57.5 0 +118 1 1 0 45.3973 58.6587 48.0398 -0.460266 0.865871 -0.196015 0.490491 45 57.5 57.5 0 +119 1 1 0 46.4177 59.243 48.6834 -0.358229 0.924305 -0.131656 0.490491 45 57.5 57.5 0 +120 1 1 0 45.7764 58.968 48.6825 -0.422363 0.896801 -0.131749 0.490491 45 57.5 57.5 0 +121 1 1 0 45.1556 58.6493 48.688 -0.484441 0.864929 -0.1312 0.490491 45 57.5 57.5 0 +122 1 1 0 46.8322 59.462 49.3396 -0.316778 0.946198 -0.0660427 0.490491 45 57.5 57.5 0 +123 1 1 0 46.1828 59.2192 49.3401 -0.381722 0.921919 -0.0659886 0.490491 45 57.5 57.5 0 +124 1 1 0 46.6088 59.4074 50 -0.339122 0.940742 0 0.490491 45 57.5 57.5 0 +125 1 1 0 45.9664 59.1504 50 -0.403355 0.915043 0 0.490491 45 57.5 57.5 0 +126 1 1 0 45.5463 58.9293 49.3418 -0.445365 0.892927 -0.0658169 0.490491 45 57.5 57.5 0 +127 1 1 0 44.937 58.5985 49.3424 -0.506298 0.859848 -0.0657577 0.490491 45 57.5 57.5 0 +128 1 1 0 45.3434 58.8497 50 -0.465657 0.884965 0 0.490491 45 57.5 57.5 0 +129 1 1 0 44.7427 58.5065 50 -0.525731 0.850651 0 0.490491 45 57.5 57.5 0 +130 1 1 0 47.3845 59.4443 48.0091 -0.26155 0.944433 -0.199094 0.490491 45 57.5 57.5 0 +131 1 1 0 47.1007 59.4782 48.6743 -0.289929 0.947822 -0.13257 0.490491 45 57.5 57.5 0 +132 1 1 0 46.6939 59.2268 48.0161 -0.330606 0.922682 -0.198387 0.490491 45 57.5 57.5 0 +133 1 1 0 51.9823 58.6853 45.4574 0.198227 0.868535 -0.454262 0.490491 45 57.5 57.5 0 +134 1 1 0 51.6101 59.0484 46.0586 0.161007 0.904839 -0.394136 0.490491 45 57.5 57.5 0 +135 1 1 0 51.228 59.3513 46.6766 0.1228 0.93513 -0.332342 0.490491 45 57.5 57.5 0 +136 1 1 0 50.8232 59.1298 46.0039 0.0823235 0.912983 -0.399607 0.490491 45 57.5 57.5 0 +137 1 1 0 51.1976 58.7934 45.3912 0.119755 0.879344 -0.460882 0.490491 45 57.5 57.5 0 +138 1 1 0 50.413 58.8476 45.3579 0.0412991 0.88476 -0.464213 0.490491 45 57.5 57.5 0 +139 1 1 0 50.815 59.6065 47.3448 0.081501 0.960655 -0.265519 0.490491 45 57.5 57.5 0 +140 1 1 0 50.4125 59.7885 47.9963 0.0412506 0.978852 -0.200368 0.490491 45 57.5 57.5 0 +141 1 1 0 50 59.6386 47.336 0 0.963861 -0.266405 0.490491 45 57.5 57.5 0 +142 1 1 0 50 59.9105 48.6648 0 0.991046 -0.133524 0.490491 45 57.5 57.5 0 +143 1 1 0 49.5875 59.7885 47.9963 -0.0412506 0.978852 -0.200368 0.490491 45 57.5 57.5 0 +144 1 1 0 49.185 59.6065 47.3448 -0.081501 0.960655 -0.265519 0.490491 45 57.5 57.5 0 +145 1 1 0 49.587 58.8476 45.3579 -0.0412991 0.88476 -0.464213 0.490491 45 57.5 57.5 0 +146 1 1 0 49.1768 59.1298 46.0039 -0.0823235 0.912983 -0.399607 0.490491 45 57.5 57.5 0 +147 1 1 0 48.8024 58.7934 45.3912 -0.119755 0.879344 -0.460882 0.490491 45 57.5 57.5 0 +148 1 1 0 48.772 59.3513 46.6766 -0.1228 0.93513 -0.332342 0.490491 45 57.5 57.5 0 +149 1 1 0 48.3899 59.0484 46.0586 -0.161007 0.904839 -0.394136 0.490491 45 57.5 57.5 0 +150 1 1 0 48.0177 58.6853 45.4574 -0.198227 0.868535 -0.454262 0.490491 45 57.5 57.5 0 +151 1 1 0 50.413 59.4162 46.6586 0.0413021 0.941618 -0.33414 0.490491 45 57.5 57.5 0 +152 1 1 0 49.587 59.4162 46.6586 -0.0413021 0.941618 -0.33414 0.490491 45 57.5 57.5 0 +153 1 1 0 50 59.1609 45.9903 0 0.916092 -0.400968 0.490491 45 57.5 57.5 0 +154 1 1 0 50 55.2573 58.5065 0 0.525731 0.850651 0.490491 45 57.5 57.5 0 +155 1 1 0 49.5936 55.7206 58.1921 -0.0406403 0.572055 0.819208 0.490491 45 57.5 57.5 0 +156 1 1 0 50.4064 55.7206 58.1921 0.0406403 0.572055 0.819208 0.490491 45 57.5 57.5 0 +157 1 1 0 49.1891 56.1564 57.8384 -0.081086 0.615642 0.783843 0.490491 45 57.5 57.5 0 +158 1 1 0 50 56.1768 57.8643 0 0.617676 0.786433 0.490491 45 57.5 57.5 0 +159 1 1 0 50.8109 56.1564 57.8384 0.081086 0.615642 0.783843 0.490491 45 57.5 57.5 0 +160 1 1 0 48.7886 56.5628 57.4473 -0.121144 0.656282 0.744727 0.490491 45 57.5 57.5 0 +161 1 1 0 49.5936 56.6088 57.4939 -0.0406418 0.660883 0.749387 0.490491 45 57.5 57.5 0 +162 1 1 0 48.3938 56.9378 57.0205 -0.160622 0.69378 0.702047 0.490491 45 57.5 57.5 0 +163 1 1 0 49.1943 57.0062 57.0897 -0.0805729 0.700622 0.708969 0.490491 45 57.5 57.5 0 +164 1 1 0 50 57.0291 57.1128 0 0.702907 0.711282 0.490491 45 57.5 57.5 0 +165 1 1 0 50.4064 56.6088 57.4939 0.0406418 0.660883 0.749387 0.490491 45 57.5 57.5 0 +166 1 1 0 51.2114 56.5628 57.4473 0.121144 0.656282 0.744727 0.490491 45 57.5 57.5 0 +167 1 1 0 50.8057 57.0062 57.0897 0.0805729 0.700622 0.708969 0.490491 45 57.5 57.5 0 +168 1 1 0 51.6062 56.9378 57.0205 0.160622 0.69378 0.702047 0.490491 45 57.5 57.5 0 +169 1 1 0 48.0067 57.2796 56.5601 -0.199331 0.727959 0.656006 0.490491 45 57.5 57.5 0 +170 1 1 0 48.7881 57.3889 56.6284 -0.121192 0.738887 0.662842 0.490491 45 57.5 57.5 0 +171 1 1 0 47.6291 57.5865 56.0683 -0.237086 0.758652 0.606825 0.490491 45 57.5 57.5 0 +172 1 1 0 48.4039 57.7184 56.1546 -0.159613 0.771841 0.615456 0.490491 45 57.5 57.5 0 +173 1 1 0 49.1886 57.802 56.2024 -0.0811417 0.780205 0.620239 0.490491 45 57.5 57.5 0 +174 1 1 0 47.2629 57.8572 55.5474 -0.273706 0.785715 0.55474 0.490491 45 57.5 57.5 0 +175 1 1 0 48.0273 58.015 55.6451 -0.197274 0.801504 0.564513 0.490491 45 57.5 57.5 0 +176 1 1 0 46.9098 58.0902 55 -0.309017 0.809017 0.5 0.490491 45 57.5 57.5 0 +177 1 1 0 47.6655 58.2715 55.112 -0.233445 0.827147 0.511205 0.490491 45 57.5 57.5 0 +178 1 1 0 48.4357 58.4018 55.1926 -0.156434 0.840178 0.519259 0.490491 45 57.5 57.5 0 +179 1 1 0 48.8092 58.1217 55.7114 -0.119078 0.81217 0.57114 0.490491 45 57.5 57.5 0 +180 1 1 0 49.5933 58.1752 55.7446 -0.040675 0.817523 0.574458 0.490491 45 57.5 57.5 0 +181 1 1 0 49.2154 58.4803 55.2411 -0.0784592 0.848029 0.52411 0.490491 45 57.5 57.5 0 +182 1 1 0 50 58.5065 55.2573 0 0.850651 0.525731 0.490491 45 57.5 57.5 0 +183 1 1 0 51.2119 57.3889 56.6284 0.121192 0.738887 0.662842 0.490491 45 57.5 57.5 0 +184 1 1 0 51.9933 57.2796 56.5601 0.199331 0.727959 0.656006 0.490491 45 57.5 57.5 0 +185 1 1 0 50.8114 57.802 56.2024 0.0811417 0.780205 0.620239 0.490491 45 57.5 57.5 0 +186 1 1 0 51.5961 57.7184 56.1546 0.159613 0.771841 0.615456 0.490491 45 57.5 57.5 0 +187 1 1 0 52.3709 57.5865 56.0683 0.237086 0.758652 0.606825 0.490491 45 57.5 57.5 0 +188 1 1 0 50.4067 58.1752 55.7446 0.040675 0.817523 0.574458 0.490491 45 57.5 57.5 0 +189 1 1 0 51.1908 58.1217 55.7114 0.119078 0.81217 0.57114 0.490491 45 57.5 57.5 0 +190 1 1 0 50.7846 58.4803 55.2411 0.0784592 0.848029 0.52411 0.490491 45 57.5 57.5 0 +191 1 1 0 51.5643 58.4018 55.1926 0.156434 0.840178 0.519259 0.490491 45 57.5 57.5 0 +192 1 1 0 51.9727 58.015 55.6451 0.197274 0.801504 0.564513 0.490491 45 57.5 57.5 0 +193 1 1 0 52.7371 57.8572 55.5474 0.273706 0.785715 0.55474 0.490491 45 57.5 57.5 0 +194 1 1 0 52.3345 58.2715 55.112 0.233445 0.827147 0.511205 0.490491 45 57.5 57.5 0 +195 1 1 0 53.0902 58.0902 55 0.309017 0.809017 0.5 0.490491 45 57.5 57.5 0 +196 1 1 0 49.5932 57.435 56.675 -0.0406769 0.743496 0.667502 0.490491 45 57.5 57.5 0 +197 1 1 0 50 57.8279 56.2229 0 0.782786 0.622291 0.490491 45 57.5 57.5 0 +198 1 1 0 50.4068 57.435 56.675 0.0406769 0.743496 0.667502 0.490491 45 57.5 57.5 0 +199 1 1 0 46.5715 58.2845 54.4287 -0.342848 0.828447 0.442867 0.490491 45 57.5 57.5 0 +200 1 1 0 47.2531 58.5264 54.4446 -0.274694 0.85264 0.444464 0.490491 45 57.5 57.5 0 +201 1 1 0 46.2496 58.4391 53.8361 -0.375038 0.843912 0.383614 0.490491 45 57.5 57.5 0 +202 1 1 0 46.9234 58.6973 53.8591 -0.307659 0.869725 0.385906 0.490491 45 57.5 57.5 0 +203 1 1 0 47.6132 58.9101 53.8619 -0.238677 0.891007 0.386187 0.490491 45 57.5 57.5 0 +204 1 1 0 45.9457 58.5534 53.2252 -0.405434 0.855337 0.322525 0.490491 45 57.5 57.5 0 +205 1 1 0 46.6079 58.8284 53.2486 -0.339209 0.882837 0.324863 0.490491 45 57.5 57.5 0 +206 1 1 0 45.6611 58.6267 52.5989 -0.433888 0.862669 0.259892 0.490491 45 57.5 57.5 0 +207 1 1 0 46.3148 58.9174 52.6266 -0.368518 0.891742 0.262661 0.490491 45 57.5 57.5 0 +208 1 1 0 46.9874 59.1624 52.6408 -0.301258 0.916244 0.264082 0.490491 45 57.5 57.5 0 +209 1 1 0 47.2937 59.0583 53.2593 -0.270627 0.905832 0.325929 0.490491 45 57.5 57.5 0 +210 1 1 0 47.9881 59.2388 53.2553 -0.201189 0.92388 0.32553 0.490491 45 57.5 57.5 0 +211 1 1 0 47.6755 59.3605 52.6415 -0.232455 0.93605 0.264151 0.490491 45 57.5 57.5 0 +212 1 1 0 48.3754 59.5106 52.6287 -0.16246 0.951057 0.262865 0.490491 45 57.5 57.5 0 +213 1 1 0 45.3973 58.6587 51.9602 -0.460266 0.865871 0.196015 0.490491 45 57.5 57.5 0 +214 1 1 0 46.0265 58.964 51.9641 -0.39735 0.896401 0.196412 0.490491 45 57.5 57.5 0 +215 1 1 0 45.1556 58.6493 51.312 -0.484441 0.864929 0.1312 0.490491 45 57.5 57.5 0 +216 1 1 0 45.7764 58.968 51.3175 -0.422363 0.896801 0.131749 0.490491 45 57.5 57.5 0 +217 1 1 0 46.4177 59.243 51.3166 -0.358229 0.924305 0.131656 0.490491 45 57.5 57.5 0 +218 1 1 0 44.937 58.5985 50.6576 -0.506298 0.859848 0.0657577 0.490491 45 57.5 57.5 0 +219 1 1 0 45.5463 58.9293 50.6582 -0.445365 0.892927 0.0658169 0.490491 45 57.5 57.5 0 +220 1 1 0 46.1828 59.2192 50.6599 -0.381722 0.921919 0.0659886 0.490491 45 57.5 57.5 0 +221 1 1 0 46.8322 59.462 50.6604 -0.316778 0.946198 0.0660427 0.490491 45 57.5 57.5 0 +222 1 1 0 48.0822 59.6119 51.9834 -0.19178 0.961188 0.198337 0.490491 45 57.5 57.5 0 +223 1 1 0 48.7727 59.7237 51.9858 -0.122729 0.97237 0.198581 0.490491 45 57.5 57.5 0 +224 1 1 0 47.7988 59.6639 51.3279 -0.220117 0.966393 0.132792 0.490491 45 57.5 57.5 0 +225 1 1 0 48.4845 59.7943 51.3326 -0.151549 0.979426 0.133256 0.490491 45 57.5 57.5 0 +226 1 1 0 49.1776 59.8769 51.3307 -0.0822422 0.987688 0.133071 0.490491 45 57.5 57.5 0 +227 1 1 0 47.5267 59.6664 50.6657 -0.247326 0.966643 0.0665668 0.490491 45 57.5 57.5 0 +228 1 1 0 48.204 59.8148 50.666 -0.179596 0.981483 0.0666046 0.490491 45 57.5 57.5 0 +229 1 1 0 48.8961 59.9165 50.6671 -0.110385 0.991648 0.0667095 0.490491 45 57.5 57.5 0 +230 1 1 0 49.5875 59.9692 50.6674 -0.0412479 0.996917 0.0667412 0.490491 45 57.5 57.5 0 +231 1 1 0 46.6939 59.2268 51.9839 -0.330606 0.922682 0.198387 0.490491 45 57.5 57.5 0 +232 1 1 0 47.1007 59.4782 51.3257 -0.289929 0.947822 0.13257 0.490491 45 57.5 57.5 0 +233 1 1 0 47.3845 59.4443 51.9909 -0.26155 0.944433 0.199094 0.490491 45 57.5 57.5 0 +234 1 1 0 52.7469 58.5264 54.4446 0.274694 0.85264 0.444464 0.490491 45 57.5 57.5 0 +235 1 1 0 53.4285 58.2845 54.4287 0.342848 0.828447 0.442867 0.490491 45 57.5 57.5 0 +236 1 1 0 52.3868 58.9101 53.8619 0.238677 0.891007 0.386187 0.490491 45 57.5 57.5 0 +237 1 1 0 53.0766 58.6973 53.8591 0.307659 0.869725 0.385906 0.490491 45 57.5 57.5 0 +238 1 1 0 53.7504 58.4391 53.8361 0.375038 0.843912 0.383614 0.490491 45 57.5 57.5 0 +239 1 1 0 52.0119 59.2388 53.2553 0.201189 0.92388 0.32553 0.490491 45 57.5 57.5 0 +240 1 1 0 52.7063 59.0583 53.2593 0.270627 0.905832 0.325929 0.490491 45 57.5 57.5 0 +241 1 1 0 51.6246 59.5106 52.6287 0.16246 0.951057 0.262865 0.490491 45 57.5 57.5 0 +242 1 1 0 52.3245 59.3605 52.6415 0.232455 0.93605 0.264151 0.490491 45 57.5 57.5 0 +243 1 1 0 53.0126 59.1624 52.6408 0.301258 0.916244 0.264082 0.490491 45 57.5 57.5 0 +244 1 1 0 53.3921 58.8284 53.2486 0.339209 0.882837 0.324863 0.490491 45 57.5 57.5 0 +245 1 1 0 54.0543 58.5534 53.2252 0.405434 0.855337 0.322525 0.490491 45 57.5 57.5 0 +246 1 1 0 53.6852 58.9174 52.6266 0.368518 0.891742 0.262661 0.490491 45 57.5 57.5 0 +247 1 1 0 54.3389 58.6267 52.5989 0.433888 0.862669 0.259892 0.490491 45 57.5 57.5 0 +248 1 1 0 51.2273 59.7237 51.9858 0.122729 0.97237 0.198581 0.490491 45 57.5 57.5 0 +249 1 1 0 51.9178 59.6119 51.9834 0.19178 0.961188 0.198337 0.490491 45 57.5 57.5 0 +250 1 1 0 50.8224 59.8769 51.3307 0.0822422 0.987688 0.133071 0.490491 45 57.5 57.5 0 +251 1 1 0 51.5155 59.7943 51.3326 0.151549 0.979426 0.133256 0.490491 45 57.5 57.5 0 +252 1 1 0 52.2012 59.6639 51.3279 0.220117 0.966393 0.132792 0.490491 45 57.5 57.5 0 +253 1 1 0 50.4125 59.9692 50.6674 0.0412479 0.996917 0.0667412 0.490491 45 57.5 57.5 0 +254 1 1 0 51.1039 59.9165 50.6671 0.110385 0.991648 0.0667095 0.490491 45 57.5 57.5 0 +255 1 1 0 51.796 59.8148 50.666 0.179596 0.981483 0.0666046 0.490491 45 57.5 57.5 0 +256 1 1 0 52.4733 59.6664 50.6657 0.247326 0.966643 0.0665668 0.490491 45 57.5 57.5 0 +257 1 1 0 53.9735 58.964 51.9641 0.39735 0.896401 0.196412 0.490491 45 57.5 57.5 0 +258 1 1 0 54.6027 58.6587 51.9602 0.460266 0.865871 0.196015 0.490491 45 57.5 57.5 0 +259 1 1 0 53.5823 59.243 51.3166 0.358229 0.924305 0.131656 0.490491 45 57.5 57.5 0 +260 1 1 0 54.2236 58.968 51.3175 0.422363 0.896801 0.131749 0.490491 45 57.5 57.5 0 +261 1 1 0 54.8444 58.6493 51.312 0.484441 0.864929 0.1312 0.490491 45 57.5 57.5 0 +262 1 1 0 53.1678 59.462 50.6604 0.316778 0.946198 0.0660427 0.490491 45 57.5 57.5 0 +263 1 1 0 53.8172 59.2192 50.6599 0.381722 0.921919 0.0659886 0.490491 45 57.5 57.5 0 +264 1 1 0 54.4537 58.9293 50.6582 0.445365 0.892927 0.0658169 0.490491 45 57.5 57.5 0 +265 1 1 0 55.063 58.5985 50.6576 0.506298 0.859848 0.0657577 0.490491 45 57.5 57.5 0 +266 1 1 0 52.6155 59.4443 51.9909 0.26155 0.944433 0.199094 0.490491 45 57.5 57.5 0 +267 1 1 0 52.8993 59.4782 51.3257 0.289929 0.947822 0.13257 0.490491 45 57.5 57.5 0 +268 1 1 0 53.3061 59.2268 51.9839 0.330606 0.922682 0.198387 0.490491 45 57.5 57.5 0 +269 1 1 0 48.0177 58.6853 54.5426 -0.198227 0.868535 0.454262 0.490491 45 57.5 57.5 0 +270 1 1 0 48.3899 59.0484 53.9414 -0.161007 0.904839 0.394136 0.490491 45 57.5 57.5 0 +271 1 1 0 48.772 59.3513 53.3234 -0.1228 0.93513 0.332342 0.490491 45 57.5 57.5 0 +272 1 1 0 49.1768 59.1298 53.9961 -0.0823235 0.912983 0.399607 0.490491 45 57.5 57.5 0 +273 1 1 0 48.8024 58.7934 54.6088 -0.119755 0.879344 0.460882 0.490491 45 57.5 57.5 0 +274 1 1 0 49.587 58.8476 54.6421 -0.0412991 0.88476 0.464213 0.490491 45 57.5 57.5 0 +275 1 1 0 49.185 59.6065 52.6552 -0.081501 0.960655 0.265519 0.490491 45 57.5 57.5 0 +276 1 1 0 49.5875 59.7885 52.0037 -0.0412506 0.978852 0.200368 0.490491 45 57.5 57.5 0 +277 1 1 0 50 59.6386 52.664 0 0.963861 0.266405 0.490491 45 57.5 57.5 0 +278 1 1 0 50 59.9105 51.3352 0 0.991046 0.133524 0.490491 45 57.5 57.5 0 +279 1 1 0 50.4125 59.7885 52.0037 0.0412506 0.978852 0.200368 0.490491 45 57.5 57.5 0 +280 1 1 0 50.815 59.6065 52.6552 0.081501 0.960655 0.265519 0.490491 45 57.5 57.5 0 +281 1 1 0 50.413 58.8476 54.6421 0.0412991 0.88476 0.464213 0.490491 45 57.5 57.5 0 +282 1 1 0 50.8232 59.1298 53.9961 0.0823235 0.912983 0.399607 0.490491 45 57.5 57.5 0 +283 1 1 0 51.1976 58.7934 54.6088 0.119755 0.879344 0.460882 0.490491 45 57.5 57.5 0 +284 1 1 0 51.228 59.3513 53.3234 0.1228 0.93513 0.332342 0.490491 45 57.5 57.5 0 +285 1 1 0 51.6101 59.0484 53.9414 0.161007 0.904839 0.394136 0.490491 45 57.5 57.5 0 +286 1 1 0 51.9823 58.6853 54.5426 0.198227 0.868535 0.454262 0.490491 45 57.5 57.5 0 +287 1 1 0 49.587 59.4162 53.3414 -0.0413021 0.941618 0.33414 0.490491 45 57.5 57.5 0 +288 1 1 0 50.413 59.4162 53.3414 0.0413021 0.941618 0.33414 0.490491 45 57.5 57.5 0 +289 1 1 0 50 59.1609 54.0097 0 0.916092 0.400968 0.490491 45 57.5 57.5 0 +290 1 1 0 50 54.6566 58.8497 0 0.465657 0.884965 0.490491 45 57.5 57.5 0 +291 1 1 0 49.3424 55.063 58.5985 -0.0657577 0.506298 0.859848 0.490491 45 57.5 57.5 0 +292 1 1 0 50 54.0336 59.1504 0 0.403355 0.915043 0.490491 45 57.5 57.5 0 +293 1 1 0 49.3418 54.4537 58.9293 -0.0658169 0.445365 0.892927 0.490491 45 57.5 57.5 0 +294 1 1 0 48.688 54.8444 58.6493 -0.1312 0.484441 0.864929 0.490491 45 57.5 57.5 0 +295 1 1 0 50 53.3912 59.4074 0 0.339122 0.940742 0.490491 45 57.5 57.5 0 +296 1 1 0 49.3401 53.8172 59.2192 -0.0659885 0.381722 0.921919 0.490491 45 57.5 57.5 0 +297 1 1 0 50 52.7327 59.6194 0 0.273267 0.961938 0.490491 45 57.5 57.5 0 +298 1 1 0 49.3396 53.1678 59.462 -0.0660427 0.316778 0.946198 0.490491 45 57.5 57.5 0 +299 1 1 0 48.6834 53.5823 59.243 -0.131656 0.358229 0.924305 0.490491 45 57.5 57.5 0 +300 1 1 0 48.6825 54.2236 58.968 -0.131749 0.422363 0.896801 0.490491 45 57.5 57.5 0 +301 1 1 0 48.0398 54.6027 58.6587 -0.196015 0.460266 0.865871 0.490491 45 57.5 57.5 0 +302 1 1 0 48.0359 53.9735 58.964 -0.196412 0.39735 0.896401 0.490491 45 57.5 57.5 0 +303 1 1 0 47.4011 54.3389 58.6267 -0.259892 0.433888 0.862669 0.490491 45 57.5 57.5 0 +304 1 1 0 50 52.061 59.7853 0 0.206103 0.97853 0.490491 45 57.5 57.5 0 +305 1 1 0 49.3343 52.4733 59.6664 -0.0665668 0.247326 0.966643 0.490491 45 57.5 57.5 0 +306 1 1 0 50 51.3795 59.9044 0 0.137952 0.990439 0.490491 45 57.5 57.5 0 +307 1 1 0 49.334 51.796 59.8148 -0.0666046 0.179596 0.981483 0.490491 45 57.5 57.5 0 +308 1 1 0 48.6721 52.2012 59.6639 -0.132792 0.220117 0.966393 0.490491 45 57.5 57.5 0 +309 1 1 0 50 50.6914 59.9761 0 0.0691418 0.997607 0.490491 45 57.5 57.5 0 +310 1 1 0 49.3329 51.1039 59.9165 -0.0667095 0.110385 0.991648 0.490491 45 57.5 57.5 0 +311 1 1 0 50 50 60 0 0 1 0.490491 45 57.5 57.5 0 +312 1 1 0 49.3326 50.4125 59.9692 -0.0667412 0.0412479 0.996917 0.490491 45 57.5 57.5 0 +313 1 1 0 48.6693 50.8224 59.8769 -0.133071 0.0822422 0.987688 0.490491 45 57.5 57.5 0 +314 1 1 0 48.6674 51.5155 59.7943 -0.133256 0.151549 0.979426 0.490491 45 57.5 57.5 0 +315 1 1 0 48.0166 51.9178 59.6119 -0.198337 0.19178 0.961188 0.490491 45 57.5 57.5 0 +316 1 1 0 48.0142 51.2273 59.7237 -0.198581 0.122729 0.97237 0.490491 45 57.5 57.5 0 +317 1 1 0 47.3713 51.6246 59.5106 -0.262865 0.16246 0.951057 0.490491 45 57.5 57.5 0 +318 1 1 0 47.3734 53.6852 58.9174 -0.262661 0.368518 0.891742 0.490491 45 57.5 57.5 0 +319 1 1 0 46.7748 54.0543 58.5534 -0.322525 0.405434 0.855337 0.490491 45 57.5 57.5 0 +320 1 1 0 47.3592 53.0126 59.1624 -0.264082 0.301258 0.916244 0.490491 45 57.5 57.5 0 +321 1 1 0 46.7514 53.3921 58.8284 -0.324863 0.339209 0.882837 0.490491 45 57.5 57.5 0 +322 1 1 0 46.1639 53.7504 58.4391 -0.383614 0.375038 0.843912 0.490491 45 57.5 57.5 0 +323 1 1 0 47.3585 52.3245 59.3605 -0.264151 0.232455 0.93605 0.490491 45 57.5 57.5 0 +324 1 1 0 46.7407 52.7063 59.0583 -0.325929 0.270627 0.905832 0.490491 45 57.5 57.5 0 +325 1 1 0 46.7447 52.0119 59.2388 -0.32553 0.201189 0.92388 0.490491 45 57.5 57.5 0 +326 1 1 0 46.1381 52.3868 58.9101 -0.386187 0.238677 0.891007 0.490491 45 57.5 57.5 0 +327 1 1 0 46.1409 53.0766 58.6973 -0.385906 0.307659 0.869725 0.490491 45 57.5 57.5 0 +328 1 1 0 45.5713 53.4285 58.2845 -0.442867 0.342848 0.828447 0.490491 45 57.5 57.5 0 +329 1 1 0 45.5554 52.7469 58.5264 -0.444464 0.274694 0.85264 0.490491 45 57.5 57.5 0 +330 1 1 0 45 53.0902 58.0902 -0.5 0.309017 0.809017 0.490491 45 57.5 57.5 0 +331 1 1 0 48.6743 52.8993 59.4782 -0.13257 0.289929 0.947822 0.490491 45 57.5 57.5 0 +332 1 1 0 48.0091 52.6155 59.4443 -0.199094 0.26155 0.944433 0.490491 45 57.5 57.5 0 +333 1 1 0 48.0161 53.3061 59.2268 -0.198387 0.330606 0.922682 0.490491 45 57.5 57.5 0 +334 1 1 0 50 49.3086 59.9761 0 -0.0691418 0.997607 0.490491 45 57.5 57.5 0 +335 1 1 0 49.3326 49.5875 59.9692 -0.0667412 -0.0412479 0.996917 0.490491 45 57.5 57.5 0 +336 1 1 0 50 48.6205 59.9044 0 -0.137952 0.990439 0.490491 45 57.5 57.5 0 +337 1 1 0 49.3329 48.8961 59.9165 -0.0667095 -0.110385 0.991648 0.490491 45 57.5 57.5 0 +338 1 1 0 48.6693 49.1776 59.8769 -0.133071 -0.0822422 0.987688 0.490491 45 57.5 57.5 0 +339 1 1 0 50 47.939 59.7853 0 -0.206103 0.97853 0.490491 45 57.5 57.5 0 +340 1 1 0 49.334 48.204 59.8148 -0.0666046 -0.179596 0.981483 0.490491 45 57.5 57.5 0 +341 1 1 0 50 47.2673 59.6194 0 -0.273267 0.961938 0.490491 45 57.5 57.5 0 +342 1 1 0 49.3343 47.5267 59.6664 -0.0665668 -0.247326 0.966643 0.490491 45 57.5 57.5 0 +343 1 1 0 48.6721 47.7988 59.6639 -0.132792 -0.220117 0.966393 0.490491 45 57.5 57.5 0 +344 1 1 0 48.6674 48.4845 59.7943 -0.133256 -0.151549 0.979426 0.490491 45 57.5 57.5 0 +345 1 1 0 48.0142 48.7727 59.7237 -0.198581 -0.122729 0.97237 0.490491 45 57.5 57.5 0 +346 1 1 0 48.0166 48.0822 59.6119 -0.198337 -0.19178 0.961188 0.490491 45 57.5 57.5 0 +347 1 1 0 47.3713 48.3754 59.5106 -0.262865 -0.16246 0.951057 0.490491 45 57.5 57.5 0 +348 1 1 0 50 46.6088 59.4074 0 -0.339122 0.940742 0.490491 45 57.5 57.5 0 +349 1 1 0 49.3396 46.8322 59.462 -0.0660427 -0.316778 0.946198 0.490491 45 57.5 57.5 0 +350 1 1 0 50 45.9664 59.1504 0 -0.403355 0.915043 0.490491 45 57.5 57.5 0 +351 1 1 0 49.3401 46.1828 59.2192 -0.0659885 -0.381722 0.921919 0.490491 45 57.5 57.5 0 +352 1 1 0 48.6834 46.4177 59.243 -0.131656 -0.358229 0.924305 0.490491 45 57.5 57.5 0 +353 1 1 0 50 45.3434 58.8497 0 -0.465657 0.884965 0.490491 45 57.5 57.5 0 +354 1 1 0 49.3418 45.5463 58.9293 -0.0658169 -0.445365 0.892927 0.490491 45 57.5 57.5 0 +355 1 1 0 50 44.7427 58.5065 0 -0.525731 0.850651 0.490491 45 57.5 57.5 0 +356 1 1 0 49.3424 44.937 58.5985 -0.0657577 -0.506298 0.859848 0.490491 45 57.5 57.5 0 +357 1 1 0 48.688 45.1556 58.6493 -0.1312 -0.484441 0.864929 0.490491 45 57.5 57.5 0 +358 1 1 0 48.6825 45.7764 58.968 -0.131749 -0.422363 0.896801 0.490491 45 57.5 57.5 0 +359 1 1 0 48.0359 46.0265 58.964 -0.196412 -0.39735 0.896401 0.490491 45 57.5 57.5 0 +360 1 1 0 48.0398 45.3973 58.6587 -0.196015 -0.460266 0.865871 0.490491 45 57.5 57.5 0 +361 1 1 0 47.4011 45.6611 58.6267 -0.259892 -0.433888 0.862669 0.490491 45 57.5 57.5 0 +362 1 1 0 47.3585 47.6755 59.3605 -0.264151 -0.232455 0.93605 0.490491 45 57.5 57.5 0 +363 1 1 0 46.7447 47.9881 59.2388 -0.32553 -0.201189 0.92388 0.490491 45 57.5 57.5 0 +364 1 1 0 47.3592 46.9874 59.1624 -0.264082 -0.301258 0.916244 0.490491 45 57.5 57.5 0 +365 1 1 0 46.7407 47.2937 59.0583 -0.325929 -0.270627 0.905832 0.490491 45 57.5 57.5 0 +366 1 1 0 46.1381 47.6132 58.9101 -0.386187 -0.238677 0.891007 0.490491 45 57.5 57.5 0 +367 1 1 0 47.3734 46.3148 58.9174 -0.262661 -0.368518 0.891742 0.490491 45 57.5 57.5 0 +368 1 1 0 46.7514 46.6079 58.8284 -0.324863 -0.339209 0.882837 0.490491 45 57.5 57.5 0 +369 1 1 0 46.7748 45.9457 58.5534 -0.322525 -0.405434 0.855337 0.490491 45 57.5 57.5 0 +370 1 1 0 46.1639 46.2496 58.4391 -0.383614 -0.375038 0.843912 0.490491 45 57.5 57.5 0 +371 1 1 0 46.1409 46.9234 58.6973 -0.385906 -0.307659 0.869725 0.490491 45 57.5 57.5 0 +372 1 1 0 45.5554 47.2531 58.5264 -0.444464 -0.274694 0.85264 0.490491 45 57.5 57.5 0 +373 1 1 0 45.5713 46.5715 58.2845 -0.442867 -0.342848 0.828447 0.490491 45 57.5 57.5 0 +374 1 1 0 45 46.9098 58.0902 -0.5 -0.309017 0.809017 0.490491 45 57.5 57.5 0 +375 1 1 0 48.6743 47.1007 59.4782 -0.13257 -0.289929 0.947822 0.490491 45 57.5 57.5 0 +376 1 1 0 48.0161 46.6939 59.2268 -0.198387 -0.330606 0.922682 0.490491 45 57.5 57.5 0 +377 1 1 0 48.0091 47.3845 59.4443 -0.199094 -0.26155 0.944433 0.490491 45 57.5 57.5 0 +378 1 1 0 44.888 52.3345 58.2715 -0.511205 0.233445 0.827147 0.490491 45 57.5 57.5 0 +379 1 1 0 44.4526 52.7371 57.8572 -0.55474 0.273706 0.785715 0.490491 45 57.5 57.5 0 +380 1 1 0 44.8074 51.5643 58.4018 -0.519259 0.156434 0.840178 0.490491 45 57.5 57.5 0 +381 1 1 0 44.3549 51.9727 58.015 -0.564513 0.197274 0.801504 0.490491 45 57.5 57.5 0 +382 1 1 0 43.9317 52.3709 57.5865 -0.606825 0.237086 0.758652 0.490491 45 57.5 57.5 0 +383 1 1 0 44.7589 50.7846 58.4803 -0.52411 0.0784592 0.848029 0.490491 45 57.5 57.5 0 +384 1 1 0 44.2886 51.1908 58.1217 -0.57114 0.119078 0.81217 0.490491 45 57.5 57.5 0 +385 1 1 0 44.7427 50 58.5065 -0.525731 0 0.850651 0.490491 45 57.5 57.5 0 +386 1 1 0 44.2554 50.4067 58.1752 -0.574458 0.040675 0.817523 0.490491 45 57.5 57.5 0 +387 1 1 0 43.7976 50.8114 57.802 -0.620239 0.0811417 0.780205 0.490491 45 57.5 57.5 0 +388 1 1 0 43.8454 51.5961 57.7184 -0.615456 0.159613 0.771841 0.490491 45 57.5 57.5 0 +389 1 1 0 43.4399 51.9933 57.2796 -0.656006 0.199331 0.727959 0.490491 45 57.5 57.5 0 +390 1 1 0 43.3716 51.2119 57.3889 -0.662842 0.121192 0.738887 0.490491 45 57.5 57.5 0 +391 1 1 0 42.9795 51.6062 56.9378 -0.702047 0.160622 0.69378 0.490491 45 57.5 57.5 0 +392 1 1 0 44.7589 49.2154 58.4803 -0.52411 -0.0784592 0.848029 0.490491 45 57.5 57.5 0 +393 1 1 0 44.2554 49.5933 58.1752 -0.574458 -0.040675 0.817523 0.490491 45 57.5 57.5 0 +394 1 1 0 44.8074 48.4357 58.4018 -0.519259 -0.156434 0.840178 0.490491 45 57.5 57.5 0 +395 1 1 0 44.2886 48.8092 58.1217 -0.57114 -0.119078 0.81217 0.490491 45 57.5 57.5 0 +396 1 1 0 43.7976 49.1886 57.802 -0.620239 -0.0811417 0.780205 0.490491 45 57.5 57.5 0 +397 1 1 0 44.888 47.6655 58.2715 -0.511205 -0.233445 0.827147 0.490491 45 57.5 57.5 0 +398 1 1 0 44.3549 48.0273 58.015 -0.564513 -0.197274 0.801504 0.490491 45 57.5 57.5 0 +399 1 1 0 44.4526 47.2629 57.8572 -0.55474 -0.273706 0.785715 0.490491 45 57.5 57.5 0 +400 1 1 0 43.9317 47.6291 57.5865 -0.606825 -0.237086 0.758652 0.490491 45 57.5 57.5 0 +401 1 1 0 43.8454 48.4039 57.7184 -0.615456 -0.159613 0.771841 0.490491 45 57.5 57.5 0 +402 1 1 0 43.3716 48.7881 57.3889 -0.662842 -0.121192 0.738887 0.490491 45 57.5 57.5 0 +403 1 1 0 43.4399 48.0067 57.2796 -0.656006 -0.199331 0.727959 0.490491 45 57.5 57.5 0 +404 1 1 0 42.9795 48.3938 56.9378 -0.702047 -0.160622 0.69378 0.490491 45 57.5 57.5 0 +405 1 1 0 42.9103 50.8057 57.0062 -0.708969 0.0805729 0.700622 0.490491 45 57.5 57.5 0 +406 1 1 0 42.5527 51.2114 56.5628 -0.744727 0.121144 0.656282 0.490491 45 57.5 57.5 0 +407 1 1 0 42.8872 50 57.0291 -0.711282 0 0.702907 0.490491 45 57.5 57.5 0 +408 1 1 0 42.5061 50.4064 56.6088 -0.749387 0.0406418 0.660883 0.490491 45 57.5 57.5 0 +409 1 1 0 42.1616 50.8109 56.1564 -0.783843 0.081086 0.615642 0.490491 45 57.5 57.5 0 +410 1 1 0 42.9103 49.1943 57.0062 -0.708969 -0.0805729 0.700622 0.490491 45 57.5 57.5 0 +411 1 1 0 42.5061 49.5936 56.6088 -0.749387 -0.0406418 0.660883 0.490491 45 57.5 57.5 0 +412 1 1 0 42.5527 48.7886 56.5628 -0.744727 -0.121144 0.656282 0.490491 45 57.5 57.5 0 +413 1 1 0 42.1616 49.1891 56.1564 -0.783843 -0.081086 0.615642 0.490491 45 57.5 57.5 0 +414 1 1 0 42.1357 50 56.1768 -0.786433 0 0.617676 0.490491 45 57.5 57.5 0 +415 1 1 0 41.8079 50.4064 55.7206 -0.819207 0.0406403 0.572055 0.490491 45 57.5 57.5 0 +416 1 1 0 41.8079 49.5936 55.7206 -0.819207 -0.0406403 0.572055 0.490491 45 57.5 57.5 0 +417 1 1 0 41.4935 50 55.2573 -0.850651 0 0.525731 0.490491 45 57.5 57.5 0 +418 1 1 0 43.7771 50 57.8279 -0.622291 0 0.782786 0.490491 45 57.5 57.5 0 +419 1 1 0 43.325 49.5932 57.435 -0.667502 -0.0406769 0.743496 0.490491 45 57.5 57.5 0 +420 1 1 0 43.325 50.4068 57.435 -0.667502 0.0406769 0.743496 0.490491 45 57.5 57.5 0 +421 1 1 0 48.6648 50 59.9105 -0.133524 0 0.991046 0.490491 45 57.5 57.5 0 +422 1 1 0 47.9963 49.5875 59.7885 -0.200368 -0.0412506 0.978852 0.490491 45 57.5 57.5 0 +423 1 1 0 47.3448 49.185 59.6065 -0.265519 -0.081501 0.960655 0.490491 45 57.5 57.5 0 +424 1 1 0 47.336 50 59.6386 -0.266405 0 0.963861 0.490491 45 57.5 57.5 0 +425 1 1 0 47.9963 50.4125 59.7885 -0.200368 0.0412506 0.978852 0.490491 45 57.5 57.5 0 +426 1 1 0 47.3448 50.815 59.6065 -0.265519 0.081501 0.960655 0.490491 45 57.5 57.5 0 +427 1 1 0 46.6766 48.772 59.3513 -0.332342 -0.1228 0.93513 0.490491 45 57.5 57.5 0 +428 1 1 0 46.0586 48.3899 59.0484 -0.394136 -0.161007 0.904839 0.490491 45 57.5 57.5 0 +429 1 1 0 46.0039 49.1768 59.1298 -0.399607 -0.0823235 0.912983 0.490491 45 57.5 57.5 0 +430 1 1 0 45.4574 48.0177 58.6853 -0.454262 -0.198227 0.868535 0.490491 45 57.5 57.5 0 +431 1 1 0 45.3912 48.8024 58.7934 -0.460882 -0.119755 0.879344 0.490491 45 57.5 57.5 0 +432 1 1 0 45.3579 49.587 58.8476 -0.464213 -0.0412991 0.88476 0.490491 45 57.5 57.5 0 +433 1 1 0 46.6766 51.228 59.3513 -0.332342 0.1228 0.93513 0.490491 45 57.5 57.5 0 +434 1 1 0 46.0039 50.8232 59.1298 -0.399607 0.0823235 0.912983 0.490491 45 57.5 57.5 0 +435 1 1 0 46.0586 51.6101 59.0484 -0.394136 0.161007 0.904839 0.490491 45 57.5 57.5 0 +436 1 1 0 45.3579 50.413 58.8476 -0.464213 0.0412991 0.88476 0.490491 45 57.5 57.5 0 +437 1 1 0 45.3912 51.1976 58.7934 -0.460882 0.119755 0.879344 0.490491 45 57.5 57.5 0 +438 1 1 0 45.4574 51.9823 58.6853 -0.454262 0.198227 0.868535 0.490491 45 57.5 57.5 0 +439 1 1 0 46.6586 49.587 59.4162 -0.33414 -0.0413021 0.941618 0.490491 45 57.5 57.5 0 +440 1 1 0 45.9903 50 59.1609 -0.400968 0 0.916092 0.490491 45 57.5 57.5 0 +441 1 1 0 46.6586 50.413 59.4162 -0.33414 0.0413021 0.941618 0.490491 45 57.5 57.5 0 +442 1 1 0 50.6576 55.063 58.5985 0.0657577 0.506298 0.859848 0.490491 45 57.5 57.5 0 +443 1 1 0 51.312 54.8444 58.6493 0.1312 0.484441 0.864929 0.490491 45 57.5 57.5 0 +444 1 1 0 50.6582 54.4537 58.9293 0.0658169 0.445365 0.892927 0.490491 45 57.5 57.5 0 +445 1 1 0 51.9602 54.6027 58.6587 0.196015 0.460266 0.865871 0.490491 45 57.5 57.5 0 +446 1 1 0 51.3175 54.2236 58.968 0.131749 0.422363 0.896801 0.490491 45 57.5 57.5 0 +447 1 1 0 52.5989 54.3389 58.6267 0.259892 0.433888 0.862669 0.490491 45 57.5 57.5 0 +448 1 1 0 51.9641 53.9735 58.964 0.196412 0.39735 0.896401 0.490491 45 57.5 57.5 0 +449 1 1 0 51.3166 53.5823 59.243 0.131656 0.358229 0.924305 0.490491 45 57.5 57.5 0 +450 1 1 0 50.6599 53.8172 59.2192 0.0659885 0.381722 0.921919 0.490491 45 57.5 57.5 0 +451 1 1 0 50.6604 53.1678 59.462 0.0660427 0.316778 0.946198 0.490491 45 57.5 57.5 0 +452 1 1 0 53.2252 54.0543 58.5534 0.322525 0.405434 0.855337 0.490491 45 57.5 57.5 0 +453 1 1 0 52.6266 53.6852 58.9174 0.262661 0.368518 0.891742 0.490491 45 57.5 57.5 0 +454 1 1 0 53.8361 53.7504 58.4391 0.383614 0.375038 0.843912 0.490491 45 57.5 57.5 0 +455 1 1 0 53.2486 53.3921 58.8284 0.324863 0.339209 0.882837 0.490491 45 57.5 57.5 0 +456 1 1 0 52.6408 53.0126 59.1624 0.264082 0.301258 0.916244 0.490491 45 57.5 57.5 0 +457 1 1 0 54.4287 53.4285 58.2845 0.442867 0.342848 0.828447 0.490491 45 57.5 57.5 0 +458 1 1 0 53.8591 53.0766 58.6973 0.385906 0.307659 0.869725 0.490491 45 57.5 57.5 0 +459 1 1 0 55 53.0902 58.0902 0.5 0.309017 0.809017 0.490491 45 57.5 57.5 0 +460 1 1 0 54.4446 52.7469 58.5264 0.444464 0.274694 0.85264 0.490491 45 57.5 57.5 0 +461 1 1 0 53.8619 52.3868 58.9101 0.386187 0.238677 0.891007 0.490491 45 57.5 57.5 0 +462 1 1 0 53.2593 52.7063 59.0583 0.325929 0.270627 0.905832 0.490491 45 57.5 57.5 0 +463 1 1 0 52.6415 52.3245 59.3605 0.264151 0.232455 0.93605 0.490491 45 57.5 57.5 0 +464 1 1 0 53.2553 52.0119 59.2388 0.32553 0.201189 0.92388 0.490491 45 57.5 57.5 0 +465 1 1 0 52.6287 51.6246 59.5106 0.262865 0.16246 0.951057 0.490491 45 57.5 57.5 0 +466 1 1 0 50.6657 52.4733 59.6664 0.0665668 0.247326 0.966643 0.490491 45 57.5 57.5 0 +467 1 1 0 51.3279 52.2012 59.6639 0.132792 0.220117 0.966393 0.490491 45 57.5 57.5 0 +468 1 1 0 50.666 51.796 59.8148 0.0666046 0.179596 0.981483 0.490491 45 57.5 57.5 0 +469 1 1 0 51.9834 51.9178 59.6119 0.198337 0.19178 0.961188 0.490491 45 57.5 57.5 0 +470 1 1 0 51.3326 51.5155 59.7943 0.133256 0.151549 0.979426 0.490491 45 57.5 57.5 0 +471 1 1 0 51.9858 51.2273 59.7237 0.198581 0.122729 0.97237 0.490491 45 57.5 57.5 0 +472 1 1 0 51.3307 50.8224 59.8769 0.133071 0.0822422 0.987688 0.490491 45 57.5 57.5 0 +473 1 1 0 50.6671 51.1039 59.9165 0.0667095 0.110385 0.991648 0.490491 45 57.5 57.5 0 +474 1 1 0 50.6674 50.4125 59.9692 0.0667412 0.0412479 0.996917 0.490491 45 57.5 57.5 0 +475 1 1 0 51.9839 53.3061 59.2268 0.198387 0.330606 0.922682 0.490491 45 57.5 57.5 0 +476 1 1 0 51.9909 52.6155 59.4443 0.199094 0.26155 0.944433 0.490491 45 57.5 57.5 0 +477 1 1 0 51.3257 52.8993 59.4782 0.13257 0.289929 0.947822 0.490491 45 57.5 57.5 0 +478 1 1 0 55.5474 52.7371 57.8572 0.55474 0.273706 0.785715 0.490491 45 57.5 57.5 0 +479 1 1 0 55.112 52.3345 58.2715 0.511205 0.233445 0.827147 0.490491 45 57.5 57.5 0 +480 1 1 0 56.0683 52.3709 57.5865 0.606825 0.237086 0.758652 0.490491 45 57.5 57.5 0 +481 1 1 0 55.6451 51.9727 58.015 0.564513 0.197274 0.801504 0.490491 45 57.5 57.5 0 +482 1 1 0 55.1926 51.5643 58.4018 0.519259 0.156434 0.840178 0.490491 45 57.5 57.5 0 +483 1 1 0 56.5601 51.9933 57.2796 0.656006 0.199331 0.727959 0.490491 45 57.5 57.5 0 +484 1 1 0 56.1546 51.5961 57.7184 0.615456 0.159613 0.771841 0.490491 45 57.5 57.5 0 +485 1 1 0 57.0205 51.6062 56.9378 0.702047 0.160622 0.69378 0.490491 45 57.5 57.5 0 +486 1 1 0 56.6284 51.2119 57.3889 0.662842 0.121192 0.738887 0.490491 45 57.5 57.5 0 +487 1 1 0 56.2024 50.8114 57.802 0.620239 0.0811417 0.780205 0.490491 45 57.5 57.5 0 +488 1 1 0 55.7114 51.1908 58.1217 0.57114 0.119078 0.81217 0.490491 45 57.5 57.5 0 +489 1 1 0 55.2411 50.7846 58.4803 0.52411 0.0784592 0.848029 0.490491 45 57.5 57.5 0 +490 1 1 0 55.7446 50.4067 58.1752 0.574458 0.040675 0.817523 0.490491 45 57.5 57.5 0 +491 1 1 0 55.2573 50 58.5065 0.525731 0 0.850651 0.490491 45 57.5 57.5 0 +492 1 1 0 57.4473 51.2114 56.5628 0.744727 0.121144 0.656282 0.490491 45 57.5 57.5 0 +493 1 1 0 57.0897 50.8057 57.0062 0.708969 0.0805729 0.700622 0.490491 45 57.5 57.5 0 +494 1 1 0 57.8384 50.8109 56.1564 0.783843 0.081086 0.615642 0.490491 45 57.5 57.5 0 +495 1 1 0 57.4939 50.4064 56.6088 0.749387 0.0406418 0.660883 0.490491 45 57.5 57.5 0 +496 1 1 0 57.1128 50 57.0291 0.711282 0 0.702907 0.490491 45 57.5 57.5 0 +497 1 1 0 58.1921 50.4064 55.7206 0.819207 0.0406403 0.572055 0.490491 45 57.5 57.5 0 +498 1 1 0 57.8643 50 56.1768 0.786433 0 0.617676 0.490491 45 57.5 57.5 0 +499 1 1 0 58.5065 50 55.2573 0.850651 0 0.525731 0.490491 45 57.5 57.5 0 +500 1 1 0 58.1921 49.5936 55.7206 0.819207 -0.0406403 0.572055 0.490491 45 57.5 57.5 0 +501 1 1 0 57.8384 49.1891 56.1564 0.783843 -0.081086 0.615642 0.490491 45 57.5 57.5 0 +502 1 1 0 57.4939 49.5936 56.6088 0.749387 -0.0406418 0.660883 0.490491 45 57.5 57.5 0 +503 1 1 0 57.0897 49.1943 57.0062 0.708969 -0.0805729 0.700622 0.490491 45 57.5 57.5 0 +504 1 1 0 57.4473 48.7886 56.5628 0.744727 -0.121144 0.656282 0.490491 45 57.5 57.5 0 +505 1 1 0 57.0205 48.3938 56.9378 0.702047 -0.160622 0.69378 0.490491 45 57.5 57.5 0 +506 1 1 0 55.7446 49.5933 58.1752 0.574458 -0.040675 0.817523 0.490491 45 57.5 57.5 0 +507 1 1 0 55.2411 49.2154 58.4803 0.52411 -0.0784592 0.848029 0.490491 45 57.5 57.5 0 +508 1 1 0 56.2024 49.1886 57.802 0.620239 -0.0811417 0.780205 0.490491 45 57.5 57.5 0 +509 1 1 0 55.7114 48.8092 58.1217 0.57114 -0.119078 0.81217 0.490491 45 57.5 57.5 0 +510 1 1 0 55.1926 48.4357 58.4018 0.519259 -0.156434 0.840178 0.490491 45 57.5 57.5 0 +511 1 1 0 56.6284 48.7881 57.3889 0.662842 -0.121192 0.738887 0.490491 45 57.5 57.5 0 +512 1 1 0 56.1546 48.4039 57.7184 0.615456 -0.159613 0.771841 0.490491 45 57.5 57.5 0 +513 1 1 0 56.5601 48.0067 57.2796 0.656006 -0.199331 0.727959 0.490491 45 57.5 57.5 0 +514 1 1 0 56.0683 47.6291 57.5865 0.606825 -0.237086 0.758652 0.490491 45 57.5 57.5 0 +515 1 1 0 55.6451 48.0273 58.015 0.564513 -0.197274 0.801504 0.490491 45 57.5 57.5 0 +516 1 1 0 55.112 47.6655 58.2715 0.511205 -0.233445 0.827147 0.490491 45 57.5 57.5 0 +517 1 1 0 55.5474 47.2629 57.8572 0.55474 -0.273706 0.785715 0.490491 45 57.5 57.5 0 +518 1 1 0 55 46.9098 58.0902 0.5 -0.309017 0.809017 0.490491 45 57.5 57.5 0 +519 1 1 0 56.675 50.4068 57.435 0.667502 0.0406769 0.743496 0.490491 45 57.5 57.5 0 +520 1 1 0 56.675 49.5932 57.435 0.667502 -0.0406769 0.743496 0.490491 45 57.5 57.5 0 +521 1 1 0 56.2229 50 57.8279 0.622291 0 0.782786 0.490491 45 57.5 57.5 0 +522 1 1 0 50.6674 49.5875 59.9692 0.0667412 -0.0412479 0.996917 0.490491 45 57.5 57.5 0 +523 1 1 0 51.3307 49.1776 59.8769 0.133071 -0.0822422 0.987688 0.490491 45 57.5 57.5 0 +524 1 1 0 50.6671 48.8961 59.9165 0.0667095 -0.110385 0.991648 0.490491 45 57.5 57.5 0 +525 1 1 0 51.9858 48.7727 59.7237 0.198581 -0.122729 0.97237 0.490491 45 57.5 57.5 0 +526 1 1 0 51.3326 48.4845 59.7943 0.133256 -0.151549 0.979426 0.490491 45 57.5 57.5 0 +527 1 1 0 52.6287 48.3754 59.5106 0.262865 -0.16246 0.951057 0.490491 45 57.5 57.5 0 +528 1 1 0 51.9834 48.0822 59.6119 0.198337 -0.19178 0.961188 0.490491 45 57.5 57.5 0 +529 1 1 0 51.3279 47.7988 59.6639 0.132792 -0.220117 0.966393 0.490491 45 57.5 57.5 0 +530 1 1 0 50.666 48.204 59.8148 0.0666046 -0.179596 0.981483 0.490491 45 57.5 57.5 0 +531 1 1 0 50.6657 47.5267 59.6664 0.0665668 -0.247326 0.966643 0.490491 45 57.5 57.5 0 +532 1 1 0 53.2553 47.9881 59.2388 0.32553 -0.201189 0.92388 0.490491 45 57.5 57.5 0 +533 1 1 0 52.6415 47.6755 59.3605 0.264151 -0.232455 0.93605 0.490491 45 57.5 57.5 0 +534 1 1 0 53.8619 47.6132 58.9101 0.386187 -0.238677 0.891007 0.490491 45 57.5 57.5 0 +535 1 1 0 53.2593 47.2937 59.0583 0.325929 -0.270627 0.905832 0.490491 45 57.5 57.5 0 +536 1 1 0 52.6408 46.9874 59.1624 0.264082 -0.301258 0.916244 0.490491 45 57.5 57.5 0 +537 1 1 0 54.4446 47.2531 58.5264 0.444464 -0.274694 0.85264 0.490491 45 57.5 57.5 0 +538 1 1 0 53.8591 46.9234 58.6973 0.385906 -0.307659 0.869725 0.490491 45 57.5 57.5 0 +539 1 1 0 54.4287 46.5715 58.2845 0.442867 -0.342848 0.828447 0.490491 45 57.5 57.5 0 +540 1 1 0 53.8361 46.2496 58.4391 0.383614 -0.375038 0.843912 0.490491 45 57.5 57.5 0 +541 1 1 0 53.2486 46.6079 58.8284 0.324863 -0.339209 0.882837 0.490491 45 57.5 57.5 0 +542 1 1 0 52.6266 46.3148 58.9174 0.262661 -0.368518 0.891742 0.490491 45 57.5 57.5 0 +543 1 1 0 53.2252 45.9457 58.5534 0.322525 -0.405434 0.855337 0.490491 45 57.5 57.5 0 +544 1 1 0 52.5989 45.6611 58.6267 0.259892 -0.433888 0.862669 0.490491 45 57.5 57.5 0 +545 1 1 0 50.6604 46.8322 59.462 0.0660427 -0.316778 0.946198 0.490491 45 57.5 57.5 0 +546 1 1 0 51.3166 46.4177 59.243 0.131656 -0.358229 0.924305 0.490491 45 57.5 57.5 0 +547 1 1 0 50.6599 46.1828 59.2192 0.0659885 -0.381722 0.921919 0.490491 45 57.5 57.5 0 +548 1 1 0 51.9641 46.0265 58.964 0.196412 -0.39735 0.896401 0.490491 45 57.5 57.5 0 +549 1 1 0 51.3175 45.7764 58.968 0.131749 -0.422363 0.896801 0.490491 45 57.5 57.5 0 +550 1 1 0 51.9602 45.3973 58.6587 0.196015 -0.460266 0.865871 0.490491 45 57.5 57.5 0 +551 1 1 0 51.312 45.1556 58.6493 0.1312 -0.484441 0.864929 0.490491 45 57.5 57.5 0 +552 1 1 0 50.6582 45.5463 58.9293 0.0658169 -0.445365 0.892927 0.490491 45 57.5 57.5 0 +553 1 1 0 50.6576 44.937 58.5985 0.0657577 -0.506298 0.859848 0.490491 45 57.5 57.5 0 +554 1 1 0 51.9909 47.3845 59.4443 0.199094 -0.26155 0.944433 0.490491 45 57.5 57.5 0 +555 1 1 0 51.9839 46.6939 59.2268 0.198387 -0.330606 0.922682 0.490491 45 57.5 57.5 0 +556 1 1 0 51.3257 47.1007 59.4782 0.13257 -0.289929 0.947822 0.490491 45 57.5 57.5 0 +557 1 1 0 54.5426 51.9823 58.6853 0.454262 0.198227 0.868535 0.490491 45 57.5 57.5 0 +558 1 1 0 54.6088 51.1976 58.7934 0.460882 0.119755 0.879344 0.490491 45 57.5 57.5 0 +559 1 1 0 54.6421 50.413 58.8476 0.464213 0.0412991 0.88476 0.490491 45 57.5 57.5 0 +560 1 1 0 53.9961 50.8232 59.1298 0.399607 0.0823235 0.912983 0.490491 45 57.5 57.5 0 +561 1 1 0 53.9414 51.6101 59.0484 0.394136 0.161007 0.904839 0.490491 45 57.5 57.5 0 +562 1 1 0 53.3234 51.228 59.3513 0.332342 0.1228 0.93513 0.490491 45 57.5 57.5 0 +563 1 1 0 54.6421 49.587 58.8476 0.464213 -0.0412991 0.88476 0.490491 45 57.5 57.5 0 +564 1 1 0 54.6088 48.8024 58.7934 0.460882 -0.119755 0.879344 0.490491 45 57.5 57.5 0 +565 1 1 0 53.9961 49.1768 59.1298 0.399607 -0.0823235 0.912983 0.490491 45 57.5 57.5 0 +566 1 1 0 54.5426 48.0177 58.6853 0.454262 -0.198227 0.868535 0.490491 45 57.5 57.5 0 +567 1 1 0 53.9414 48.3899 59.0484 0.394136 -0.161007 0.904839 0.490491 45 57.5 57.5 0 +568 1 1 0 53.3234 48.772 59.3513 0.332342 -0.1228 0.93513 0.490491 45 57.5 57.5 0 +569 1 1 0 52.6552 50.815 59.6065 0.265519 0.081501 0.960655 0.490491 45 57.5 57.5 0 +570 1 1 0 52.664 50 59.6386 0.266405 0 0.963861 0.490491 45 57.5 57.5 0 +571 1 1 0 52.0037 50.4125 59.7885 0.200368 0.0412506 0.978852 0.490491 45 57.5 57.5 0 +572 1 1 0 52.6552 49.185 59.6065 0.265519 -0.081501 0.960655 0.490491 45 57.5 57.5 0 +573 1 1 0 52.0037 49.5875 59.7885 0.200368 -0.0412506 0.978852 0.490491 45 57.5 57.5 0 +574 1 1 0 51.3352 50 59.9105 0.133524 0 0.991046 0.490491 45 57.5 57.5 0 +575 1 1 0 54.0097 50 59.1609 0.400968 0 0.916092 0.490491 45 57.5 57.5 0 +576 1 1 0 53.3414 49.587 59.4162 0.33414 -0.0413021 0.941618 0.490491 45 57.5 57.5 0 +577 1 1 0 53.3414 50.413 59.4162 0.33414 0.0413021 0.941618 0.490491 45 57.5 57.5 0 +578 1 1 0 50 54.6566 41.1503 0 0.465657 -0.884965 0.490491 45 57.5 57.5 0 +579 1 1 0 50.6576 55.063 41.4015 0.0657577 0.506298 -0.859848 0.490491 45 57.5 57.5 0 +580 1 1 0 50 54.0336 40.8496 0 0.403355 -0.915043 0.490491 45 57.5 57.5 0 +581 1 1 0 50.6582 54.4537 41.0707 0.0658169 0.445365 -0.892927 0.490491 45 57.5 57.5 0 +582 1 1 0 51.312 54.8444 41.3507 0.1312 0.484441 -0.864929 0.490491 45 57.5 57.5 0 +583 1 1 0 50 53.3912 40.5926 0 0.339122 -0.940742 0.490491 45 57.5 57.5 0 +584 1 1 0 50.6599 53.8172 40.7808 0.0659885 0.381722 -0.921919 0.490491 45 57.5 57.5 0 +585 1 1 0 50 52.7327 40.3806 0 0.273267 -0.961938 0.490491 45 57.5 57.5 0 +586 1 1 0 50.6604 53.1678 40.538 0.0660427 0.316778 -0.946198 0.490491 45 57.5 57.5 0 +587 1 1 0 51.3166 53.5823 40.757 0.131656 0.358229 -0.924305 0.490491 45 57.5 57.5 0 +588 1 1 0 51.3175 54.2236 41.032 0.131749 0.422363 -0.896801 0.490491 45 57.5 57.5 0 +589 1 1 0 51.9602 54.6027 41.3413 0.196015 0.460266 -0.865871 0.490491 45 57.5 57.5 0 +590 1 1 0 51.9641 53.9735 41.036 0.196412 0.39735 -0.896401 0.490491 45 57.5 57.5 0 +591 1 1 0 52.5989 54.3389 41.3733 0.259892 0.433888 -0.862669 0.490491 45 57.5 57.5 0 +592 1 1 0 50 52.061 40.2147 0 0.206103 -0.97853 0.490491 45 57.5 57.5 0 +593 1 1 0 50.6657 52.4733 40.3336 0.0665668 0.247326 -0.966643 0.490491 45 57.5 57.5 0 +594 1 1 0 50 51.3795 40.0956 0 0.137952 -0.990439 0.490491 45 57.5 57.5 0 +595 1 1 0 50.666 51.796 40.1852 0.0666046 0.179596 -0.981483 0.490491 45 57.5 57.5 0 +596 1 1 0 51.3279 52.2012 40.3361 0.132792 0.220117 -0.966393 0.490491 45 57.5 57.5 0 +597 1 1 0 50 50.6914 40.0239 0 0.0691418 -0.997607 0.490491 45 57.5 57.5 0 +598 1 1 0 50.6671 51.1039 40.0835 0.0667095 0.110385 -0.991648 0.490491 45 57.5 57.5 0 +599 1 1 0 50 50 40 0 0 -1 0.490491 45 57.5 57.5 0 +600 1 1 0 50.6674 50.4125 40.0308 0.0667412 0.0412479 -0.996917 0.490491 45 57.5 57.5 0 +601 1 1 0 51.3307 50.8224 40.1231 0.133071 0.0822422 -0.987688 0.490491 45 57.5 57.5 0 +602 1 1 0 51.3326 51.5155 40.2057 0.133256 0.151549 -0.979426 0.490491 45 57.5 57.5 0 +603 1 1 0 51.9834 51.9178 40.3881 0.198337 0.19178 -0.961188 0.490491 45 57.5 57.5 0 +604 1 1 0 51.9858 51.2273 40.2763 0.198581 0.122729 -0.97237 0.490491 45 57.5 57.5 0 +605 1 1 0 52.6287 51.6246 40.4894 0.262865 0.16246 -0.951057 0.490491 45 57.5 57.5 0 +606 1 1 0 52.6266 53.6852 41.0826 0.262661 0.368518 -0.891742 0.490491 45 57.5 57.5 0 +607 1 1 0 53.2252 54.0543 41.4466 0.322525 0.405434 -0.855337 0.490491 45 57.5 57.5 0 +608 1 1 0 52.6408 53.0126 40.8376 0.264082 0.301258 -0.916244 0.490491 45 57.5 57.5 0 +609 1 1 0 53.2486 53.3921 41.1716 0.324863 0.339209 -0.882837 0.490491 45 57.5 57.5 0 +610 1 1 0 53.8361 53.7504 41.5609 0.383614 0.375038 -0.843912 0.490491 45 57.5 57.5 0 +611 1 1 0 52.6415 52.3245 40.6395 0.264151 0.232455 -0.93605 0.490491 45 57.5 57.5 0 +612 1 1 0 53.2593 52.7063 40.9417 0.325929 0.270627 -0.905832 0.490491 45 57.5 57.5 0 +613 1 1 0 53.2553 52.0119 40.7612 0.32553 0.201189 -0.92388 0.490491 45 57.5 57.5 0 +614 1 1 0 53.8619 52.3868 41.0899 0.386187 0.238677 -0.891007 0.490491 45 57.5 57.5 0 +615 1 1 0 53.8591 53.0766 41.3027 0.385906 0.307659 -0.869725 0.490491 45 57.5 57.5 0 +616 1 1 0 54.4287 53.4285 41.7155 0.442867 0.342848 -0.828447 0.490491 45 57.5 57.5 0 +617 1 1 0 54.4446 52.7469 41.4736 0.444464 0.274694 -0.85264 0.490491 45 57.5 57.5 0 +618 1 1 0 55 53.0902 41.9098 0.5 0.309017 -0.809017 0.490491 45 57.5 57.5 0 +619 1 1 0 51.3257 52.8993 40.5218 0.13257 0.289929 -0.947822 0.490491 45 57.5 57.5 0 +620 1 1 0 51.9909 52.6155 40.5557 0.199094 0.26155 -0.944433 0.490491 45 57.5 57.5 0 +621 1 1 0 51.9839 53.3061 40.7732 0.198387 0.330606 -0.922682 0.490491 45 57.5 57.5 0 +622 1 1 0 50 49.3086 40.0239 0 -0.0691418 -0.997607 0.490491 45 57.5 57.5 0 +623 1 1 0 50.6674 49.5875 40.0308 0.0667412 -0.0412479 -0.996917 0.490491 45 57.5 57.5 0 +624 1 1 0 50 48.6205 40.0956 0 -0.137952 -0.990439 0.490491 45 57.5 57.5 0 +625 1 1 0 50.6671 48.8961 40.0835 0.0667095 -0.110385 -0.991648 0.490491 45 57.5 57.5 0 +626 1 1 0 51.3307 49.1776 40.1231 0.133071 -0.0822422 -0.987688 0.490491 45 57.5 57.5 0 +627 1 1 0 50 47.939 40.2147 0 -0.206103 -0.97853 0.490491 45 57.5 57.5 0 +628 1 1 0 50.666 48.204 40.1852 0.0666046 -0.179596 -0.981483 0.490491 45 57.5 57.5 0 +629 1 1 0 50 47.2673 40.3806 0 -0.273267 -0.961938 0.490491 45 57.5 57.5 0 +630 1 1 0 50.6657 47.5267 40.3336 0.0665668 -0.247326 -0.966643 0.490491 45 57.5 57.5 0 +631 1 1 0 51.3279 47.7988 40.3361 0.132792 -0.220117 -0.966393 0.490491 45 57.5 57.5 0 +632 1 1 0 51.3326 48.4845 40.2057 0.133256 -0.151549 -0.979426 0.490491 45 57.5 57.5 0 +633 1 1 0 51.9858 48.7727 40.2763 0.198581 -0.122729 -0.97237 0.490491 45 57.5 57.5 0 +634 1 1 0 51.9834 48.0822 40.3881 0.198337 -0.19178 -0.961188 0.490491 45 57.5 57.5 0 +635 1 1 0 52.6287 48.3754 40.4894 0.262865 -0.16246 -0.951057 0.490491 45 57.5 57.5 0 +636 1 1 0 50 46.6088 40.5926 0 -0.339122 -0.940742 0.490491 45 57.5 57.5 0 +637 1 1 0 50.6604 46.8322 40.538 0.0660427 -0.316778 -0.946198 0.490491 45 57.5 57.5 0 +638 1 1 0 50 45.9664 40.8496 0 -0.403355 -0.915043 0.490491 45 57.5 57.5 0 +639 1 1 0 50.6599 46.1828 40.7808 0.0659885 -0.381722 -0.921919 0.490491 45 57.5 57.5 0 +640 1 1 0 51.3166 46.4177 40.757 0.131656 -0.358229 -0.924305 0.490491 45 57.5 57.5 0 +641 1 1 0 50 45.3434 41.1503 0 -0.465657 -0.884965 0.490491 45 57.5 57.5 0 +642 1 1 0 50.6582 45.5463 41.0707 0.0658169 -0.445365 -0.892927 0.490491 45 57.5 57.5 0 +643 1 1 0 50 44.7427 41.4935 0 -0.525731 -0.850651 0.490491 45 57.5 57.5 0 +644 1 1 0 50.6576 44.937 41.4015 0.0657577 -0.506298 -0.859848 0.490491 45 57.5 57.5 0 +645 1 1 0 51.312 45.1556 41.3507 0.1312 -0.484441 -0.864929 0.490491 45 57.5 57.5 0 +646 1 1 0 51.3175 45.7764 41.032 0.131749 -0.422363 -0.896801 0.490491 45 57.5 57.5 0 +647 1 1 0 51.9641 46.0265 41.036 0.196412 -0.39735 -0.896401 0.490491 45 57.5 57.5 0 +648 1 1 0 51.9602 45.3973 41.3413 0.196015 -0.460266 -0.865871 0.490491 45 57.5 57.5 0 +649 1 1 0 52.5989 45.6611 41.3733 0.259892 -0.433888 -0.862669 0.490491 45 57.5 57.5 0 +650 1 1 0 52.6415 47.6755 40.6395 0.264151 -0.232455 -0.93605 0.490491 45 57.5 57.5 0 +651 1 1 0 53.2553 47.9881 40.7612 0.32553 -0.201189 -0.92388 0.490491 45 57.5 57.5 0 +652 1 1 0 52.6408 46.9874 40.8376 0.264082 -0.301258 -0.916244 0.490491 45 57.5 57.5 0 +653 1 1 0 53.2593 47.2937 40.9417 0.325929 -0.270627 -0.905832 0.490491 45 57.5 57.5 0 +654 1 1 0 53.8619 47.6132 41.0899 0.386187 -0.238677 -0.891007 0.490491 45 57.5 57.5 0 +655 1 1 0 52.6266 46.3148 41.0826 0.262661 -0.368518 -0.891742 0.490491 45 57.5 57.5 0 +656 1 1 0 53.2486 46.6079 41.1716 0.324863 -0.339209 -0.882837 0.490491 45 57.5 57.5 0 +657 1 1 0 53.2252 45.9457 41.4466 0.322525 -0.405434 -0.855337 0.490491 45 57.5 57.5 0 +658 1 1 0 53.8361 46.2496 41.5609 0.383614 -0.375038 -0.843912 0.490491 45 57.5 57.5 0 +659 1 1 0 53.8591 46.9234 41.3027 0.385906 -0.307659 -0.869725 0.490491 45 57.5 57.5 0 +660 1 1 0 54.4446 47.2531 41.4736 0.444464 -0.274694 -0.85264 0.490491 45 57.5 57.5 0 +661 1 1 0 54.4287 46.5715 41.7155 0.442867 -0.342848 -0.828447 0.490491 45 57.5 57.5 0 +662 1 1 0 55 46.9098 41.9098 0.5 -0.309017 -0.809017 0.490491 45 57.5 57.5 0 +663 1 1 0 51.3257 47.1007 40.5218 0.13257 -0.289929 -0.947822 0.490491 45 57.5 57.5 0 +664 1 1 0 51.9839 46.6939 40.7732 0.198387 -0.330606 -0.922682 0.490491 45 57.5 57.5 0 +665 1 1 0 51.9909 47.3845 40.5557 0.199094 -0.26155 -0.944433 0.490491 45 57.5 57.5 0 +666 1 1 0 55.112 52.3345 41.7285 0.511205 0.233445 -0.827147 0.490491 45 57.5 57.5 0 +667 1 1 0 55.5474 52.7371 42.1428 0.55474 0.273706 -0.785715 0.490491 45 57.5 57.5 0 +668 1 1 0 55.1926 51.5643 41.5982 0.519259 0.156434 -0.840178 0.490491 45 57.5 57.5 0 +669 1 1 0 55.6451 51.9727 41.985 0.564513 0.197274 -0.801504 0.490491 45 57.5 57.5 0 +670 1 1 0 56.0683 52.3709 42.4135 0.606825 0.237086 -0.758652 0.490491 45 57.5 57.5 0 +671 1 1 0 55.2411 50.7846 41.5197 0.52411 0.0784592 -0.848029 0.490491 45 57.5 57.5 0 +672 1 1 0 55.7114 51.1908 41.8783 0.57114 0.119078 -0.81217 0.490491 45 57.5 57.5 0 +673 1 1 0 55.2573 50 41.4935 0.525731 0 -0.850651 0.490491 45 57.5 57.5 0 +674 1 1 0 55.7446 50.4067 41.8248 0.574458 0.040675 -0.817523 0.490491 45 57.5 57.5 0 +675 1 1 0 56.2024 50.8114 42.198 0.620239 0.0811417 -0.780205 0.490491 45 57.5 57.5 0 +676 1 1 0 56.1546 51.5961 42.2816 0.615456 0.159613 -0.771841 0.490491 45 57.5 57.5 0 +677 1 1 0 56.5601 51.9933 42.7204 0.656006 0.199331 -0.727959 0.490491 45 57.5 57.5 0 +678 1 1 0 56.6284 51.2119 42.6111 0.662842 0.121192 -0.738887 0.490491 45 57.5 57.5 0 +679 1 1 0 57.0205 51.6062 43.0622 0.702047 0.160622 -0.69378 0.490491 45 57.5 57.5 0 +680 1 1 0 55.2411 49.2154 41.5197 0.52411 -0.0784592 -0.848029 0.490491 45 57.5 57.5 0 +681 1 1 0 55.7446 49.5933 41.8248 0.574458 -0.040675 -0.817523 0.490491 45 57.5 57.5 0 +682 1 1 0 55.1926 48.4357 41.5982 0.519259 -0.156434 -0.840178 0.490491 45 57.5 57.5 0 +683 1 1 0 55.7114 48.8092 41.8783 0.57114 -0.119078 -0.81217 0.490491 45 57.5 57.5 0 +684 1 1 0 56.2024 49.1886 42.198 0.620239 -0.0811417 -0.780205 0.490491 45 57.5 57.5 0 +685 1 1 0 55.112 47.6655 41.7285 0.511205 -0.233445 -0.827147 0.490491 45 57.5 57.5 0 +686 1 1 0 55.6451 48.0273 41.985 0.564513 -0.197274 -0.801504 0.490491 45 57.5 57.5 0 +687 1 1 0 55.5474 47.2629 42.1428 0.55474 -0.273706 -0.785715 0.490491 45 57.5 57.5 0 +688 1 1 0 56.0683 47.6291 42.4135 0.606825 -0.237086 -0.758652 0.490491 45 57.5 57.5 0 +689 1 1 0 56.1546 48.4039 42.2816 0.615456 -0.159613 -0.771841 0.490491 45 57.5 57.5 0 +690 1 1 0 56.6284 48.7881 42.6111 0.662842 -0.121192 -0.738887 0.490491 45 57.5 57.5 0 +691 1 1 0 56.5601 48.0067 42.7204 0.656006 -0.199331 -0.727959 0.490491 45 57.5 57.5 0 +692 1 1 0 57.0205 48.3938 43.0622 0.702047 -0.160622 -0.69378 0.490491 45 57.5 57.5 0 +693 1 1 0 57.0897 50.8057 42.9938 0.708969 0.0805729 -0.700622 0.490491 45 57.5 57.5 0 +694 1 1 0 57.4473 51.2114 43.4372 0.744727 0.121144 -0.656282 0.490491 45 57.5 57.5 0 +695 1 1 0 57.1128 50 42.9709 0.711282 0 -0.702907 0.490491 45 57.5 57.5 0 +696 1 1 0 57.4939 50.4064 43.3912 0.749387 0.0406418 -0.660883 0.490491 45 57.5 57.5 0 +697 1 1 0 57.8384 50.8109 43.8436 0.783843 0.081086 -0.615642 0.490491 45 57.5 57.5 0 +698 1 1 0 57.0897 49.1943 42.9938 0.708969 -0.0805729 -0.700622 0.490491 45 57.5 57.5 0 +699 1 1 0 57.4939 49.5936 43.3912 0.749387 -0.0406418 -0.660883 0.490491 45 57.5 57.5 0 +700 1 1 0 57.4473 48.7886 43.4372 0.744727 -0.121144 -0.656282 0.490491 45 57.5 57.5 0 +701 1 1 0 57.8384 49.1891 43.8436 0.783843 -0.081086 -0.615642 0.490491 45 57.5 57.5 0 +702 1 1 0 57.8643 50 43.8232 0.786433 0 -0.617676 0.490491 45 57.5 57.5 0 +703 1 1 0 58.1921 50.4064 44.2794 0.819207 0.0406403 -0.572055 0.490491 45 57.5 57.5 0 +704 1 1 0 58.1921 49.5936 44.2794 0.819207 -0.0406403 -0.572055 0.490491 45 57.5 57.5 0 +705 1 1 0 58.5065 50 44.7427 0.850651 0 -0.525731 0.490491 45 57.5 57.5 0 +706 1 1 0 56.2229 50 42.1721 0.622291 0 -0.782786 0.490491 45 57.5 57.5 0 +707 1 1 0 56.675 49.5932 42.565 0.667502 -0.0406769 -0.743496 0.490491 45 57.5 57.5 0 +708 1 1 0 56.675 50.4068 42.565 0.667502 0.0406769 -0.743496 0.490491 45 57.5 57.5 0 +709 1 1 0 51.3352 50 40.0895 0.133524 0 -0.991046 0.490491 45 57.5 57.5 0 +710 1 1 0 52.0037 49.5875 40.2115 0.200368 -0.0412506 -0.978852 0.490491 45 57.5 57.5 0 +711 1 1 0 52.6552 49.185 40.3935 0.265519 -0.081501 -0.960655 0.490491 45 57.5 57.5 0 +712 1 1 0 52.664 50 40.3614 0.266405 0 -0.963861 0.490491 45 57.5 57.5 0 +713 1 1 0 52.0037 50.4125 40.2115 0.200368 0.0412506 -0.978852 0.490491 45 57.5 57.5 0 +714 1 1 0 52.6552 50.815 40.3935 0.265519 0.081501 -0.960655 0.490491 45 57.5 57.5 0 +715 1 1 0 53.3234 48.772 40.6487 0.332342 -0.1228 -0.93513 0.490491 45 57.5 57.5 0 +716 1 1 0 53.9414 48.3899 40.9516 0.394136 -0.161007 -0.904839 0.490491 45 57.5 57.5 0 +717 1 1 0 53.9961 49.1768 40.8702 0.399607 -0.0823235 -0.912983 0.490491 45 57.5 57.5 0 +718 1 1 0 54.5426 48.0177 41.3147 0.454262 -0.198227 -0.868535 0.490491 45 57.5 57.5 0 +719 1 1 0 54.6088 48.8024 41.2066 0.460882 -0.119755 -0.879344 0.490491 45 57.5 57.5 0 +720 1 1 0 54.6421 49.587 41.1524 0.464213 -0.0412991 -0.88476 0.490491 45 57.5 57.5 0 +721 1 1 0 53.3234 51.228 40.6487 0.332342 0.1228 -0.93513 0.490491 45 57.5 57.5 0 +722 1 1 0 53.9961 50.8232 40.8702 0.399607 0.0823235 -0.912983 0.490491 45 57.5 57.5 0 +723 1 1 0 53.9414 51.6101 40.9516 0.394136 0.161007 -0.904839 0.490491 45 57.5 57.5 0 +724 1 1 0 54.6421 50.413 41.1524 0.464213 0.0412991 -0.88476 0.490491 45 57.5 57.5 0 +725 1 1 0 54.6088 51.1976 41.2066 0.460882 0.119755 -0.879344 0.490491 45 57.5 57.5 0 +726 1 1 0 54.5426 51.9823 41.3147 0.454262 0.198227 -0.868535 0.490491 45 57.5 57.5 0 +727 1 1 0 53.3414 49.587 40.5838 0.33414 -0.0413021 -0.941618 0.490491 45 57.5 57.5 0 +728 1 1 0 54.0097 50 40.8391 0.400968 0 -0.916092 0.490491 45 57.5 57.5 0 +729 1 1 0 53.3414 50.413 40.5838 0.33414 0.0413021 -0.941618 0.490491 45 57.5 57.5 0 +730 1 1 0 49.3424 55.063 41.4015 -0.0657577 0.506298 -0.859848 0.490491 45 57.5 57.5 0 +731 1 1 0 48.688 54.8444 41.3507 -0.1312 0.484441 -0.864929 0.490491 45 57.5 57.5 0 +732 1 1 0 49.3418 54.4537 41.0707 -0.0658169 0.445365 -0.892927 0.490491 45 57.5 57.5 0 +733 1 1 0 48.0398 54.6027 41.3413 -0.196015 0.460266 -0.865871 0.490491 45 57.5 57.5 0 +734 1 1 0 48.6825 54.2236 41.032 -0.131749 0.422363 -0.896801 0.490491 45 57.5 57.5 0 +735 1 1 0 47.4011 54.3389 41.3733 -0.259892 0.433888 -0.862669 0.490491 45 57.5 57.5 0 +736 1 1 0 48.0359 53.9735 41.036 -0.196412 0.39735 -0.896401 0.490491 45 57.5 57.5 0 +737 1 1 0 48.6834 53.5823 40.757 -0.131656 0.358229 -0.924305 0.490491 45 57.5 57.5 0 +738 1 1 0 49.3401 53.8172 40.7808 -0.0659885 0.381722 -0.921919 0.490491 45 57.5 57.5 0 +739 1 1 0 49.3396 53.1678 40.538 -0.0660427 0.316778 -0.946198 0.490491 45 57.5 57.5 0 +740 1 1 0 46.7748 54.0543 41.4466 -0.322525 0.405434 -0.855337 0.490491 45 57.5 57.5 0 +741 1 1 0 47.3734 53.6852 41.0826 -0.262661 0.368518 -0.891742 0.490491 45 57.5 57.5 0 +742 1 1 0 46.1639 53.7504 41.5609 -0.383614 0.375038 -0.843912 0.490491 45 57.5 57.5 0 +743 1 1 0 46.7514 53.3921 41.1716 -0.324863 0.339209 -0.882837 0.490491 45 57.5 57.5 0 +744 1 1 0 47.3592 53.0126 40.8376 -0.264082 0.301258 -0.916244 0.490491 45 57.5 57.5 0 +745 1 1 0 45.5713 53.4285 41.7155 -0.442867 0.342848 -0.828447 0.490491 45 57.5 57.5 0 +746 1 1 0 46.1409 53.0766 41.3027 -0.385906 0.307659 -0.869725 0.490491 45 57.5 57.5 0 +747 1 1 0 45 53.0902 41.9098 -0.5 0.309017 -0.809017 0.490491 45 57.5 57.5 0 +748 1 1 0 45.5554 52.7469 41.4736 -0.444464 0.274694 -0.85264 0.490491 45 57.5 57.5 0 +749 1 1 0 46.1381 52.3868 41.0899 -0.386187 0.238677 -0.891007 0.490491 45 57.5 57.5 0 +750 1 1 0 46.7407 52.7063 40.9417 -0.325929 0.270627 -0.905832 0.490491 45 57.5 57.5 0 +751 1 1 0 47.3585 52.3245 40.6395 -0.264151 0.232455 -0.93605 0.490491 45 57.5 57.5 0 +752 1 1 0 46.7447 52.0119 40.7612 -0.32553 0.201189 -0.92388 0.490491 45 57.5 57.5 0 +753 1 1 0 47.3713 51.6246 40.4894 -0.262865 0.16246 -0.951057 0.490491 45 57.5 57.5 0 +754 1 1 0 49.3343 52.4733 40.3336 -0.0665668 0.247326 -0.966643 0.490491 45 57.5 57.5 0 +755 1 1 0 48.6721 52.2012 40.3361 -0.132792 0.220117 -0.966393 0.490491 45 57.5 57.5 0 +756 1 1 0 49.334 51.796 40.1852 -0.0666046 0.179596 -0.981483 0.490491 45 57.5 57.5 0 +757 1 1 0 48.0166 51.9178 40.3881 -0.198337 0.19178 -0.961188 0.490491 45 57.5 57.5 0 +758 1 1 0 48.6674 51.5155 40.2057 -0.133256 0.151549 -0.979426 0.490491 45 57.5 57.5 0 +759 1 1 0 48.0142 51.2273 40.2763 -0.198581 0.122729 -0.97237 0.490491 45 57.5 57.5 0 +760 1 1 0 48.6693 50.8224 40.1231 -0.133071 0.0822422 -0.987688 0.490491 45 57.5 57.5 0 +761 1 1 0 49.3329 51.1039 40.0835 -0.0667095 0.110385 -0.991648 0.490491 45 57.5 57.5 0 +762 1 1 0 49.3326 50.4125 40.0308 -0.0667412 0.0412479 -0.996917 0.490491 45 57.5 57.5 0 +763 1 1 0 48.0161 53.3061 40.7732 -0.198387 0.330606 -0.922682 0.490491 45 57.5 57.5 0 +764 1 1 0 48.0091 52.6155 40.5557 -0.199094 0.26155 -0.944433 0.490491 45 57.5 57.5 0 +765 1 1 0 48.6743 52.8993 40.5218 -0.13257 0.289929 -0.947822 0.490491 45 57.5 57.5 0 +766 1 1 0 44.4526 52.7371 42.1428 -0.55474 0.273706 -0.785715 0.490491 45 57.5 57.5 0 +767 1 1 0 44.888 52.3345 41.7285 -0.511205 0.233445 -0.827147 0.490491 45 57.5 57.5 0 +768 1 1 0 43.9317 52.3709 42.4135 -0.606825 0.237086 -0.758652 0.490491 45 57.5 57.5 0 +769 1 1 0 44.3549 51.9727 41.985 -0.564513 0.197274 -0.801504 0.490491 45 57.5 57.5 0 +770 1 1 0 44.8074 51.5643 41.5982 -0.519259 0.156434 -0.840178 0.490491 45 57.5 57.5 0 +771 1 1 0 43.4399 51.9933 42.7204 -0.656006 0.199331 -0.727959 0.490491 45 57.5 57.5 0 +772 1 1 0 43.8454 51.5961 42.2816 -0.615456 0.159613 -0.771841 0.490491 45 57.5 57.5 0 +773 1 1 0 42.9795 51.6062 43.0622 -0.702047 0.160622 -0.69378 0.490491 45 57.5 57.5 0 +774 1 1 0 43.3716 51.2119 42.6111 -0.662842 0.121192 -0.738887 0.490491 45 57.5 57.5 0 +775 1 1 0 43.7976 50.8114 42.198 -0.620239 0.0811417 -0.780205 0.490491 45 57.5 57.5 0 +776 1 1 0 44.2886 51.1908 41.8783 -0.57114 0.119078 -0.81217 0.490491 45 57.5 57.5 0 +777 1 1 0 44.7589 50.7846 41.5197 -0.52411 0.0784592 -0.848029 0.490491 45 57.5 57.5 0 +778 1 1 0 44.2554 50.4067 41.8248 -0.574458 0.040675 -0.817523 0.490491 45 57.5 57.5 0 +779 1 1 0 44.7427 50 41.4935 -0.525731 0 -0.850651 0.490491 45 57.5 57.5 0 +780 1 1 0 42.5527 51.2114 43.4372 -0.744727 0.121144 -0.656282 0.490491 45 57.5 57.5 0 +781 1 1 0 42.9103 50.8057 42.9938 -0.708969 0.0805729 -0.700622 0.490491 45 57.5 57.5 0 +782 1 1 0 42.1616 50.8109 43.8436 -0.783843 0.081086 -0.615642 0.490491 45 57.5 57.5 0 +783 1 1 0 42.5061 50.4064 43.3912 -0.749387 0.0406418 -0.660883 0.490491 45 57.5 57.5 0 +784 1 1 0 42.8872 50 42.9709 -0.711282 0 -0.702907 0.490491 45 57.5 57.5 0 +785 1 1 0 41.8079 50.4064 44.2794 -0.819207 0.0406403 -0.572055 0.490491 45 57.5 57.5 0 +786 1 1 0 42.1357 50 43.8232 -0.786433 0 -0.617676 0.490491 45 57.5 57.5 0 +787 1 1 0 41.4935 50 44.7427 -0.850651 0 -0.525731 0.490491 45 57.5 57.5 0 +788 1 1 0 41.8079 49.5936 44.2794 -0.819207 -0.0406403 -0.572055 0.490491 45 57.5 57.5 0 +789 1 1 0 42.1616 49.1891 43.8436 -0.783843 -0.081086 -0.615642 0.490491 45 57.5 57.5 0 +790 1 1 0 42.5061 49.5936 43.3912 -0.749387 -0.0406418 -0.660883 0.490491 45 57.5 57.5 0 +791 1 1 0 42.9103 49.1943 42.9938 -0.708969 -0.0805729 -0.700622 0.490491 45 57.5 57.5 0 +792 1 1 0 42.5527 48.7886 43.4372 -0.744727 -0.121144 -0.656282 0.490491 45 57.5 57.5 0 +793 1 1 0 42.9795 48.3938 43.0622 -0.702047 -0.160622 -0.69378 0.490491 45 57.5 57.5 0 +794 1 1 0 44.2554 49.5933 41.8248 -0.574458 -0.040675 -0.817523 0.490491 45 57.5 57.5 0 +795 1 1 0 44.7589 49.2154 41.5197 -0.52411 -0.0784592 -0.848029 0.490491 45 57.5 57.5 0 +796 1 1 0 43.7976 49.1886 42.198 -0.620239 -0.0811417 -0.780205 0.490491 45 57.5 57.5 0 +797 1 1 0 44.2886 48.8092 41.8783 -0.57114 -0.119078 -0.81217 0.490491 45 57.5 57.5 0 +798 1 1 0 44.8074 48.4357 41.5982 -0.519259 -0.156434 -0.840178 0.490491 45 57.5 57.5 0 +799 1 1 0 43.3716 48.7881 42.6111 -0.662842 -0.121192 -0.738887 0.490491 45 57.5 57.5 0 +800 1 1 0 43.8454 48.4039 42.2816 -0.615456 -0.159613 -0.771841 0.490491 45 57.5 57.5 0 +801 1 1 0 43.4399 48.0067 42.7204 -0.656006 -0.199331 -0.727959 0.490491 45 57.5 57.5 0 +802 1 1 0 43.9317 47.6291 42.4135 -0.606825 -0.237086 -0.758652 0.490491 45 57.5 57.5 0 +803 1 1 0 44.3549 48.0273 41.985 -0.564513 -0.197274 -0.801504 0.490491 45 57.5 57.5 0 +804 1 1 0 44.888 47.6655 41.7285 -0.511205 -0.233445 -0.827147 0.490491 45 57.5 57.5 0 +805 1 1 0 44.4526 47.2629 42.1428 -0.55474 -0.273706 -0.785715 0.490491 45 57.5 57.5 0 +806 1 1 0 45 46.9098 41.9098 -0.5 -0.309017 -0.809017 0.490491 45 57.5 57.5 0 +807 1 1 0 43.325 50.4068 42.565 -0.667502 0.0406769 -0.743496 0.490491 45 57.5 57.5 0 +808 1 1 0 43.325 49.5932 42.565 -0.667502 -0.0406769 -0.743496 0.490491 45 57.5 57.5 0 +809 1 1 0 43.7771 50 42.1721 -0.622291 0 -0.782786 0.490491 45 57.5 57.5 0 +810 1 1 0 49.3326 49.5875 40.0308 -0.0667412 -0.0412479 -0.996917 0.490491 45 57.5 57.5 0 +811 1 1 0 48.6693 49.1776 40.1231 -0.133071 -0.0822422 -0.987688 0.490491 45 57.5 57.5 0 +812 1 1 0 49.3329 48.8961 40.0835 -0.0667095 -0.110385 -0.991648 0.490491 45 57.5 57.5 0 +813 1 1 0 48.0142 48.7727 40.2763 -0.198581 -0.122729 -0.97237 0.490491 45 57.5 57.5 0 +814 1 1 0 48.6674 48.4845 40.2057 -0.133256 -0.151549 -0.979426 0.490491 45 57.5 57.5 0 +815 1 1 0 47.3713 48.3754 40.4894 -0.262865 -0.16246 -0.951057 0.490491 45 57.5 57.5 0 +816 1 1 0 48.0166 48.0822 40.3881 -0.198337 -0.19178 -0.961188 0.490491 45 57.5 57.5 0 +817 1 1 0 48.6721 47.7988 40.3361 -0.132792 -0.220117 -0.966393 0.490491 45 57.5 57.5 0 +818 1 1 0 49.334 48.204 40.1852 -0.0666046 -0.179596 -0.981483 0.490491 45 57.5 57.5 0 +819 1 1 0 49.3343 47.5267 40.3336 -0.0665668 -0.247326 -0.966643 0.490491 45 57.5 57.5 0 +820 1 1 0 46.7447 47.9881 40.7612 -0.32553 -0.201189 -0.92388 0.490491 45 57.5 57.5 0 +821 1 1 0 47.3585 47.6755 40.6395 -0.264151 -0.232455 -0.93605 0.490491 45 57.5 57.5 0 +822 1 1 0 46.1381 47.6132 41.0899 -0.386187 -0.238677 -0.891007 0.490491 45 57.5 57.5 0 +823 1 1 0 46.7407 47.2937 40.9417 -0.325929 -0.270627 -0.905832 0.490491 45 57.5 57.5 0 +824 1 1 0 47.3592 46.9874 40.8376 -0.264082 -0.301258 -0.916244 0.490491 45 57.5 57.5 0 +825 1 1 0 45.5554 47.2531 41.4736 -0.444464 -0.274694 -0.85264 0.490491 45 57.5 57.5 0 +826 1 1 0 46.1409 46.9234 41.3027 -0.385906 -0.307659 -0.869725 0.490491 45 57.5 57.5 0 +827 1 1 0 45.5713 46.5715 41.7155 -0.442867 -0.342848 -0.828447 0.490491 45 57.5 57.5 0 +828 1 1 0 46.1639 46.2496 41.5609 -0.383614 -0.375038 -0.843912 0.490491 45 57.5 57.5 0 +829 1 1 0 46.7514 46.6079 41.1716 -0.324863 -0.339209 -0.882837 0.490491 45 57.5 57.5 0 +830 1 1 0 47.3734 46.3148 41.0826 -0.262661 -0.368518 -0.891742 0.490491 45 57.5 57.5 0 +831 1 1 0 46.7748 45.9457 41.4466 -0.322525 -0.405434 -0.855337 0.490491 45 57.5 57.5 0 +832 1 1 0 47.4011 45.6611 41.3733 -0.259892 -0.433888 -0.862669 0.490491 45 57.5 57.5 0 +833 1 1 0 49.3396 46.8322 40.538 -0.0660427 -0.316778 -0.946198 0.490491 45 57.5 57.5 0 +834 1 1 0 48.6834 46.4177 40.757 -0.131656 -0.358229 -0.924305 0.490491 45 57.5 57.5 0 +835 1 1 0 49.3401 46.1828 40.7808 -0.0659885 -0.381722 -0.921919 0.490491 45 57.5 57.5 0 +836 1 1 0 48.0359 46.0265 41.036 -0.196412 -0.39735 -0.896401 0.490491 45 57.5 57.5 0 +837 1 1 0 48.6825 45.7764 41.032 -0.131749 -0.422363 -0.896801 0.490491 45 57.5 57.5 0 +838 1 1 0 48.0398 45.3973 41.3413 -0.196015 -0.460266 -0.865871 0.490491 45 57.5 57.5 0 +839 1 1 0 48.688 45.1556 41.3507 -0.1312 -0.484441 -0.864929 0.490491 45 57.5 57.5 0 +840 1 1 0 49.3418 45.5463 41.0707 -0.0658169 -0.445365 -0.892927 0.490491 45 57.5 57.5 0 +841 1 1 0 49.3424 44.937 41.4015 -0.0657577 -0.506298 -0.859848 0.490491 45 57.5 57.5 0 +842 1 1 0 48.0091 47.3845 40.5557 -0.199094 -0.26155 -0.944433 0.490491 45 57.5 57.5 0 +843 1 1 0 48.0161 46.6939 40.7732 -0.198387 -0.330606 -0.922682 0.490491 45 57.5 57.5 0 +844 1 1 0 48.6743 47.1007 40.5218 -0.13257 -0.289929 -0.947822 0.490491 45 57.5 57.5 0 +845 1 1 0 45.4574 51.9823 41.3147 -0.454262 0.198227 -0.868535 0.490491 45 57.5 57.5 0 +846 1 1 0 45.3912 51.1976 41.2066 -0.460882 0.119755 -0.879344 0.490491 45 57.5 57.5 0 +847 1 1 0 45.3579 50.413 41.1524 -0.464213 0.0412991 -0.88476 0.490491 45 57.5 57.5 0 +848 1 1 0 46.0039 50.8232 40.8702 -0.399607 0.0823235 -0.912983 0.490491 45 57.5 57.5 0 +849 1 1 0 46.0586 51.6101 40.9516 -0.394136 0.161007 -0.904839 0.490491 45 57.5 57.5 0 +850 1 1 0 46.6766 51.228 40.6487 -0.332342 0.1228 -0.93513 0.490491 45 57.5 57.5 0 +851 1 1 0 45.3579 49.587 41.1524 -0.464213 -0.0412991 -0.88476 0.490491 45 57.5 57.5 0 +852 1 1 0 45.3912 48.8024 41.2066 -0.460882 -0.119755 -0.879344 0.490491 45 57.5 57.5 0 +853 1 1 0 46.0039 49.1768 40.8702 -0.399607 -0.0823235 -0.912983 0.490491 45 57.5 57.5 0 +854 1 1 0 45.4574 48.0177 41.3147 -0.454262 -0.198227 -0.868535 0.490491 45 57.5 57.5 0 +855 1 1 0 46.0586 48.3899 40.9516 -0.394136 -0.161007 -0.904839 0.490491 45 57.5 57.5 0 +856 1 1 0 46.6766 48.772 40.6487 -0.332342 -0.1228 -0.93513 0.490491 45 57.5 57.5 0 +857 1 1 0 47.3448 50.815 40.3935 -0.265519 0.081501 -0.960655 0.490491 45 57.5 57.5 0 +858 1 1 0 47.336 50 40.3614 -0.266405 0 -0.963861 0.490491 45 57.5 57.5 0 +859 1 1 0 47.9963 50.4125 40.2115 -0.200368 0.0412506 -0.978852 0.490491 45 57.5 57.5 0 +860 1 1 0 47.3448 49.185 40.3935 -0.265519 -0.081501 -0.960655 0.490491 45 57.5 57.5 0 +861 1 1 0 47.9963 49.5875 40.2115 -0.200368 -0.0412506 -0.978852 0.490491 45 57.5 57.5 0 +862 1 1 0 48.6648 50 40.0895 -0.133524 0 -0.991046 0.490491 45 57.5 57.5 0 +863 1 1 0 45.9903 50 40.8391 -0.400968 0 -0.916092 0.490491 45 57.5 57.5 0 +864 1 1 0 46.6586 49.587 40.5838 -0.33414 -0.0413021 -0.941618 0.490491 45 57.5 57.5 0 +865 1 1 0 46.6586 50.413 40.5838 -0.33414 0.0413021 -0.941618 0.490491 45 57.5 57.5 0 +866 1 1 0 50.4064 44.2794 58.1921 0.0406403 -0.572055 0.819208 0.490491 45 57.5 57.5 0 +867 1 1 0 49.5936 44.2794 58.1921 -0.0406403 -0.572055 0.819208 0.490491 45 57.5 57.5 0 +868 1 1 0 50.8109 43.8436 57.8384 0.081086 -0.615642 0.783843 0.490491 45 57.5 57.5 0 +869 1 1 0 50 43.8232 57.8643 0 -0.617676 0.786433 0.490491 45 57.5 57.5 0 +870 1 1 0 49.1891 43.8436 57.8384 -0.081086 -0.615642 0.783843 0.490491 45 57.5 57.5 0 +871 1 1 0 51.2114 43.4372 57.4473 0.121144 -0.656282 0.744727 0.490491 45 57.5 57.5 0 +872 1 1 0 50.4064 43.3912 57.4939 0.0406418 -0.660883 0.749387 0.490491 45 57.5 57.5 0 +873 1 1 0 51.6062 43.0622 57.0205 0.160622 -0.69378 0.702047 0.490491 45 57.5 57.5 0 +874 1 1 0 50.8057 42.9938 57.0897 0.0805729 -0.700622 0.708969 0.490491 45 57.5 57.5 0 +875 1 1 0 50 42.9709 57.1128 0 -0.702907 0.711282 0.490491 45 57.5 57.5 0 +876 1 1 0 49.5936 43.3912 57.4939 -0.0406418 -0.660883 0.749387 0.490491 45 57.5 57.5 0 +877 1 1 0 48.7886 43.4372 57.4473 -0.121144 -0.656282 0.744727 0.490491 45 57.5 57.5 0 +878 1 1 0 49.1943 42.9938 57.0897 -0.0805729 -0.700622 0.708969 0.490491 45 57.5 57.5 0 +879 1 1 0 48.3938 43.0622 57.0205 -0.160622 -0.69378 0.702047 0.490491 45 57.5 57.5 0 +880 1 1 0 51.9933 42.7204 56.5601 0.199331 -0.727959 0.656006 0.490491 45 57.5 57.5 0 +881 1 1 0 51.2119 42.6111 56.6284 0.121192 -0.738887 0.662842 0.490491 45 57.5 57.5 0 +882 1 1 0 52.3709 42.4135 56.0683 0.237086 -0.758652 0.606825 0.490491 45 57.5 57.5 0 +883 1 1 0 51.5961 42.2816 56.1546 0.159613 -0.771841 0.615456 0.490491 45 57.5 57.5 0 +884 1 1 0 50.8114 42.198 56.2024 0.0811417 -0.780205 0.620239 0.490491 45 57.5 57.5 0 +885 1 1 0 52.7371 42.1428 55.5474 0.273706 -0.785715 0.55474 0.490491 45 57.5 57.5 0 +886 1 1 0 51.9727 41.985 55.6451 0.197274 -0.801504 0.564513 0.490491 45 57.5 57.5 0 +887 1 1 0 53.0902 41.9098 55 0.309017 -0.809017 0.5 0.490491 45 57.5 57.5 0 +888 1 1 0 52.3345 41.7285 55.112 0.233445 -0.827147 0.511205 0.490491 45 57.5 57.5 0 +889 1 1 0 51.5643 41.5982 55.1926 0.156434 -0.840178 0.519259 0.490491 45 57.5 57.5 0 +890 1 1 0 51.1908 41.8783 55.7114 0.119078 -0.81217 0.57114 0.490491 45 57.5 57.5 0 +891 1 1 0 50.4067 41.8248 55.7446 0.040675 -0.817523 0.574458 0.490491 45 57.5 57.5 0 +892 1 1 0 50.7846 41.5197 55.2411 0.0784592 -0.848029 0.52411 0.490491 45 57.5 57.5 0 +893 1 1 0 50 41.4935 55.2573 0 -0.850651 0.525731 0.490491 45 57.5 57.5 0 +894 1 1 0 48.7881 42.6111 56.6284 -0.121192 -0.738887 0.662842 0.490491 45 57.5 57.5 0 +895 1 1 0 48.0067 42.7204 56.5601 -0.199331 -0.727959 0.656006 0.490491 45 57.5 57.5 0 +896 1 1 0 49.1886 42.198 56.2024 -0.0811417 -0.780205 0.620239 0.490491 45 57.5 57.5 0 +897 1 1 0 48.4039 42.2816 56.1546 -0.159613 -0.771841 0.615456 0.490491 45 57.5 57.5 0 +898 1 1 0 47.6291 42.4135 56.0683 -0.237086 -0.758652 0.606825 0.490491 45 57.5 57.5 0 +899 1 1 0 49.5933 41.8248 55.7446 -0.040675 -0.817523 0.574458 0.490491 45 57.5 57.5 0 +900 1 1 0 48.8092 41.8783 55.7114 -0.119078 -0.81217 0.57114 0.490491 45 57.5 57.5 0 +901 1 1 0 49.2154 41.5197 55.2411 -0.0784592 -0.848029 0.52411 0.490491 45 57.5 57.5 0 +902 1 1 0 48.4357 41.5982 55.1926 -0.156434 -0.840178 0.519259 0.490491 45 57.5 57.5 0 +903 1 1 0 48.0273 41.985 55.6451 -0.197274 -0.801504 0.564513 0.490491 45 57.5 57.5 0 +904 1 1 0 47.2629 42.1428 55.5474 -0.273706 -0.785715 0.55474 0.490491 45 57.5 57.5 0 +905 1 1 0 47.6655 41.7285 55.112 -0.233445 -0.827147 0.511205 0.490491 45 57.5 57.5 0 +906 1 1 0 46.9098 41.9098 55 -0.309017 -0.809017 0.5 0.490491 45 57.5 57.5 0 +907 1 1 0 50.4068 42.565 56.675 0.0406769 -0.743496 0.667502 0.490491 45 57.5 57.5 0 +908 1 1 0 50 42.1721 56.2229 0 -0.782786 0.622291 0.490491 45 57.5 57.5 0 +909 1 1 0 49.5932 42.565 56.675 -0.0406769 -0.743496 0.667502 0.490491 45 57.5 57.5 0 +910 1 1 0 53.4285 41.7155 54.4287 0.342848 -0.828447 0.442867 0.490491 45 57.5 57.5 0 +911 1 1 0 52.7469 41.4736 54.4446 0.274694 -0.85264 0.444464 0.490491 45 57.5 57.5 0 +912 1 1 0 53.7504 41.5609 53.8361 0.375038 -0.843912 0.383614 0.490491 45 57.5 57.5 0 +913 1 1 0 53.0766 41.3027 53.8591 0.307659 -0.869725 0.385906 0.490491 45 57.5 57.5 0 +914 1 1 0 52.3868 41.0899 53.8619 0.238677 -0.891007 0.386187 0.490491 45 57.5 57.5 0 +915 1 1 0 54.0543 41.4466 53.2252 0.405434 -0.855337 0.322525 0.490491 45 57.5 57.5 0 +916 1 1 0 53.3921 41.1716 53.2486 0.339209 -0.882837 0.324863 0.490491 45 57.5 57.5 0 +917 1 1 0 54.3389 41.3733 52.5989 0.433888 -0.862669 0.259892 0.490491 45 57.5 57.5 0 +918 1 1 0 53.6852 41.0826 52.6266 0.368518 -0.891742 0.262661 0.490491 45 57.5 57.5 0 +919 1 1 0 53.0126 40.8376 52.6408 0.301258 -0.916244 0.264082 0.490491 45 57.5 57.5 0 +920 1 1 0 52.7063 40.9417 53.2593 0.270627 -0.905832 0.325929 0.490491 45 57.5 57.5 0 +921 1 1 0 52.0119 40.7612 53.2553 0.201189 -0.92388 0.32553 0.490491 45 57.5 57.5 0 +922 1 1 0 52.3245 40.6395 52.6415 0.232455 -0.93605 0.264151 0.490491 45 57.5 57.5 0 +923 1 1 0 51.6246 40.4894 52.6287 0.16246 -0.951057 0.262865 0.490491 45 57.5 57.5 0 +924 1 1 0 54.6027 41.3413 51.9602 0.460266 -0.865871 0.196015 0.490491 45 57.5 57.5 0 +925 1 1 0 53.9735 41.036 51.9641 0.39735 -0.896401 0.196412 0.490491 45 57.5 57.5 0 +926 1 1 0 54.8444 41.3507 51.312 0.484441 -0.864929 0.1312 0.490491 45 57.5 57.5 0 +927 1 1 0 54.2236 41.032 51.3175 0.422363 -0.896801 0.131749 0.490491 45 57.5 57.5 0 +928 1 1 0 53.5823 40.757 51.3166 0.358229 -0.924305 0.131656 0.490491 45 57.5 57.5 0 +929 1 1 0 55.063 41.4015 50.6576 0.506298 -0.859848 0.0657577 0.490491 45 57.5 57.5 0 +930 1 1 0 54.4537 41.0707 50.6582 0.445365 -0.892927 0.0658169 0.490491 45 57.5 57.5 0 +931 1 1 0 55.2573 41.4935 50 0.525731 -0.850651 0 0.490491 45 57.5 57.5 0 +932 1 1 0 54.6566 41.1503 50 0.465657 -0.884965 0 0.490491 45 57.5 57.5 0 +933 1 1 0 54.0336 40.8496 50 0.403355 -0.915043 0 0.490491 45 57.5 57.5 0 +934 1 1 0 53.8172 40.7808 50.6599 0.381722 -0.921919 0.0659886 0.490491 45 57.5 57.5 0 +935 1 1 0 53.1678 40.538 50.6604 0.316778 -0.946198 0.0660427 0.490491 45 57.5 57.5 0 +936 1 1 0 53.3912 40.5926 50 0.339122 -0.940742 0 0.490491 45 57.5 57.5 0 +937 1 1 0 52.7327 40.3806 50 0.273267 -0.961938 0 0.490491 45 57.5 57.5 0 +938 1 1 0 51.9178 40.3881 51.9834 0.19178 -0.961188 0.198337 0.490491 45 57.5 57.5 0 +939 1 1 0 51.2273 40.2763 51.9858 0.122729 -0.97237 0.198581 0.490491 45 57.5 57.5 0 +940 1 1 0 52.2012 40.3361 51.3279 0.220117 -0.966393 0.132792 0.490491 45 57.5 57.5 0 +941 1 1 0 51.5155 40.2057 51.3326 0.151549 -0.979426 0.133256 0.490491 45 57.5 57.5 0 +942 1 1 0 50.8224 40.1231 51.3307 0.0822422 -0.987688 0.133071 0.490491 45 57.5 57.5 0 +943 1 1 0 52.4733 40.3336 50.6657 0.247326 -0.966643 0.0665668 0.490491 45 57.5 57.5 0 +944 1 1 0 51.796 40.1852 50.666 0.179596 -0.981483 0.0666046 0.490491 45 57.5 57.5 0 +945 1 1 0 52.061 40.2147 50 0.206103 -0.97853 0 0.490491 45 57.5 57.5 0 +946 1 1 0 51.3795 40.0956 50 0.137952 -0.990439 0 0.490491 45 57.5 57.5 0 +947 1 1 0 51.1039 40.0835 50.6671 0.110385 -0.991648 0.0667095 0.490491 45 57.5 57.5 0 +948 1 1 0 50.4125 40.0308 50.6674 0.0412479 -0.996917 0.0667412 0.490491 45 57.5 57.5 0 +949 1 1 0 50.6914 40.0239 50 0.0691418 -0.997607 0 0.490491 45 57.5 57.5 0 +950 1 1 0 50 40 50 0 -1 0 0.490491 45 57.5 57.5 0 +951 1 1 0 53.3061 40.7732 51.9839 0.330606 -0.922682 0.198387 0.490491 45 57.5 57.5 0 +952 1 1 0 52.8993 40.5218 51.3257 0.289929 -0.947822 0.13257 0.490491 45 57.5 57.5 0 +953 1 1 0 52.6155 40.5557 51.9909 0.26155 -0.944433 0.199094 0.490491 45 57.5 57.5 0 +954 1 1 0 47.2531 41.4736 54.4446 -0.274694 -0.85264 0.444464 0.490491 45 57.5 57.5 0 +955 1 1 0 46.5715 41.7155 54.4287 -0.342848 -0.828447 0.442867 0.490491 45 57.5 57.5 0 +956 1 1 0 47.6132 41.0899 53.8619 -0.238677 -0.891007 0.386187 0.490491 45 57.5 57.5 0 +957 1 1 0 46.9234 41.3027 53.8591 -0.307659 -0.869725 0.385906 0.490491 45 57.5 57.5 0 +958 1 1 0 46.2496 41.5609 53.8361 -0.375038 -0.843912 0.383614 0.490491 45 57.5 57.5 0 +959 1 1 0 47.9881 40.7612 53.2553 -0.201189 -0.92388 0.32553 0.490491 45 57.5 57.5 0 +960 1 1 0 47.2937 40.9417 53.2593 -0.270627 -0.905832 0.325929 0.490491 45 57.5 57.5 0 +961 1 1 0 48.3754 40.4894 52.6287 -0.16246 -0.951057 0.262865 0.490491 45 57.5 57.5 0 +962 1 1 0 47.6755 40.6395 52.6415 -0.232455 -0.93605 0.264151 0.490491 45 57.5 57.5 0 +963 1 1 0 46.9874 40.8376 52.6408 -0.301258 -0.916244 0.264082 0.490491 45 57.5 57.5 0 +964 1 1 0 46.6079 41.1716 53.2486 -0.339209 -0.882837 0.324863 0.490491 45 57.5 57.5 0 +965 1 1 0 45.9457 41.4466 53.2252 -0.405434 -0.855337 0.322525 0.490491 45 57.5 57.5 0 +966 1 1 0 46.3148 41.0826 52.6266 -0.368518 -0.891742 0.262661 0.490491 45 57.5 57.5 0 +967 1 1 0 45.6611 41.3733 52.5989 -0.433888 -0.862669 0.259892 0.490491 45 57.5 57.5 0 +968 1 1 0 48.7727 40.2763 51.9858 -0.122729 -0.97237 0.198581 0.490491 45 57.5 57.5 0 +969 1 1 0 48.0822 40.3881 51.9834 -0.19178 -0.961188 0.198337 0.490491 45 57.5 57.5 0 +970 1 1 0 49.1776 40.1231 51.3307 -0.0822422 -0.987688 0.133071 0.490491 45 57.5 57.5 0 +971 1 1 0 48.4845 40.2057 51.3326 -0.151549 -0.979426 0.133256 0.490491 45 57.5 57.5 0 +972 1 1 0 47.7988 40.3361 51.3279 -0.220117 -0.966393 0.132792 0.490491 45 57.5 57.5 0 +973 1 1 0 49.5875 40.0308 50.6674 -0.0412479 -0.996917 0.0667412 0.490491 45 57.5 57.5 0 +974 1 1 0 48.8961 40.0835 50.6671 -0.110385 -0.991648 0.0667095 0.490491 45 57.5 57.5 0 +975 1 1 0 49.3086 40.0239 50 -0.0691418 -0.997607 0 0.490491 45 57.5 57.5 0 +976 1 1 0 48.6205 40.0956 50 -0.137952 -0.990439 0 0.490491 45 57.5 57.5 0 +977 1 1 0 48.204 40.1852 50.666 -0.179596 -0.981483 0.0666046 0.490491 45 57.5 57.5 0 +978 1 1 0 47.5267 40.3336 50.6657 -0.247326 -0.966643 0.0665668 0.490491 45 57.5 57.5 0 +979 1 1 0 47.939 40.2147 50 -0.206103 -0.97853 0 0.490491 45 57.5 57.5 0 +980 1 1 0 47.2673 40.3806 50 -0.273267 -0.961938 0 0.490491 45 57.5 57.5 0 +981 1 1 0 46.0265 41.036 51.9641 -0.39735 -0.896401 0.196412 0.490491 45 57.5 57.5 0 +982 1 1 0 45.3973 41.3413 51.9602 -0.460266 -0.865871 0.196015 0.490491 45 57.5 57.5 0 +983 1 1 0 46.4177 40.757 51.3166 -0.358229 -0.924305 0.131656 0.490491 45 57.5 57.5 0 +984 1 1 0 45.7764 41.032 51.3175 -0.422363 -0.896801 0.131749 0.490491 45 57.5 57.5 0 +985 1 1 0 45.1556 41.3507 51.312 -0.484441 -0.864929 0.1312 0.490491 45 57.5 57.5 0 +986 1 1 0 46.8322 40.538 50.6604 -0.316778 -0.946198 0.0660427 0.490491 45 57.5 57.5 0 +987 1 1 0 46.1828 40.7808 50.6599 -0.381722 -0.921919 0.0659886 0.490491 45 57.5 57.5 0 +988 1 1 0 46.6088 40.5926 50 -0.339122 -0.940742 0 0.490491 45 57.5 57.5 0 +989 1 1 0 45.9664 40.8496 50 -0.403355 -0.915043 0 0.490491 45 57.5 57.5 0 +990 1 1 0 45.5463 41.0707 50.6582 -0.445365 -0.892927 0.0658169 0.490491 45 57.5 57.5 0 +991 1 1 0 44.937 41.4015 50.6576 -0.506298 -0.859848 0.0657577 0.490491 45 57.5 57.5 0 +992 1 1 0 45.3434 41.1503 50 -0.465657 -0.884965 0 0.490491 45 57.5 57.5 0 +993 1 1 0 44.7427 41.4935 50 -0.525731 -0.850651 0 0.490491 45 57.5 57.5 0 +994 1 1 0 47.3845 40.5557 51.9909 -0.26155 -0.944433 0.199094 0.490491 45 57.5 57.5 0 +995 1 1 0 47.1007 40.5218 51.3257 -0.289929 -0.947822 0.13257 0.490491 45 57.5 57.5 0 +996 1 1 0 46.6939 40.7732 51.9839 -0.330606 -0.922682 0.198387 0.490491 45 57.5 57.5 0 +997 1 1 0 51.9823 41.3147 54.5426 0.198227 -0.868535 0.454262 0.490491 45 57.5 57.5 0 +998 1 1 0 51.6101 40.9516 53.9414 0.161007 -0.904839 0.394136 0.490491 45 57.5 57.5 0 +999 1 1 0 51.228 40.6487 53.3234 0.1228 -0.93513 0.332342 0.490491 45 57.5 57.5 0 +1000 1 1 0 50.8232 40.8702 53.9961 0.0823235 -0.912983 0.399607 0.490491 45 57.5 57.5 0 +1001 1 1 0 51.1976 41.2066 54.6088 0.119755 -0.879344 0.460882 0.490491 45 57.5 57.5 0 +1002 1 1 0 50.413 41.1524 54.6421 0.0412991 -0.88476 0.464213 0.490491 45 57.5 57.5 0 +1003 1 1 0 50.815 40.3935 52.6552 0.081501 -0.960655 0.265519 0.490491 45 57.5 57.5 0 +1004 1 1 0 50.4125 40.2115 52.0037 0.0412506 -0.978852 0.200368 0.490491 45 57.5 57.5 0 +1005 1 1 0 50 40.3614 52.664 0 -0.963861 0.266405 0.490491 45 57.5 57.5 0 +1006 1 1 0 50 40.0895 51.3352 0 -0.991046 0.133524 0.490491 45 57.5 57.5 0 +1007 1 1 0 49.5875 40.2115 52.0037 -0.0412506 -0.978852 0.200368 0.490491 45 57.5 57.5 0 +1008 1 1 0 49.185 40.3935 52.6552 -0.081501 -0.960655 0.265519 0.490491 45 57.5 57.5 0 +1009 1 1 0 49.587 41.1524 54.6421 -0.0412991 -0.88476 0.464213 0.490491 45 57.5 57.5 0 +1010 1 1 0 49.1768 40.8702 53.9961 -0.0823235 -0.912983 0.399607 0.490491 45 57.5 57.5 0 +1011 1 1 0 48.8024 41.2066 54.6088 -0.119755 -0.879344 0.460882 0.490491 45 57.5 57.5 0 +1012 1 1 0 48.772 40.6487 53.3234 -0.1228 -0.93513 0.332342 0.490491 45 57.5 57.5 0 +1013 1 1 0 48.3899 40.9516 53.9414 -0.161007 -0.904839 0.394136 0.490491 45 57.5 57.5 0 +1014 1 1 0 48.0177 41.3147 54.5426 -0.198227 -0.868535 0.454262 0.490491 45 57.5 57.5 0 +1015 1 1 0 50.413 40.5838 53.3414 0.0413021 -0.941618 0.33414 0.490491 45 57.5 57.5 0 +1016 1 1 0 49.587 40.5838 53.3414 -0.0413021 -0.941618 0.33414 0.490491 45 57.5 57.5 0 +1017 1 1 0 50 40.8391 54.0097 0 -0.916092 0.400968 0.490491 45 57.5 57.5 0 +1018 1 1 0 49.5936 44.2794 41.8079 -0.0406403 -0.572055 -0.819208 0.490491 45 57.5 57.5 0 +1019 1 1 0 50.4064 44.2794 41.8079 0.0406403 -0.572055 -0.819208 0.490491 45 57.5 57.5 0 +1020 1 1 0 49.1891 43.8436 42.1616 -0.081086 -0.615642 -0.783843 0.490491 45 57.5 57.5 0 +1021 1 1 0 50 43.8232 42.1357 0 -0.617676 -0.786433 0.490491 45 57.5 57.5 0 +1022 1 1 0 50.8109 43.8436 42.1616 0.081086 -0.615642 -0.783843 0.490491 45 57.5 57.5 0 +1023 1 1 0 48.7886 43.4372 42.5527 -0.121144 -0.656282 -0.744727 0.490491 45 57.5 57.5 0 +1024 1 1 0 49.5936 43.3912 42.5061 -0.0406418 -0.660883 -0.749387 0.490491 45 57.5 57.5 0 +1025 1 1 0 48.3938 43.0622 42.9795 -0.160622 -0.69378 -0.702047 0.490491 45 57.5 57.5 0 +1026 1 1 0 49.1943 42.9938 42.9103 -0.0805729 -0.700622 -0.708969 0.490491 45 57.5 57.5 0 +1027 1 1 0 50 42.9709 42.8872 0 -0.702907 -0.711282 0.490491 45 57.5 57.5 0 +1028 1 1 0 50.4064 43.3912 42.5061 0.0406418 -0.660883 -0.749387 0.490491 45 57.5 57.5 0 +1029 1 1 0 51.2114 43.4372 42.5527 0.121144 -0.656282 -0.744727 0.490491 45 57.5 57.5 0 +1030 1 1 0 50.8057 42.9938 42.9103 0.0805729 -0.700622 -0.708969 0.490491 45 57.5 57.5 0 +1031 1 1 0 51.6062 43.0622 42.9795 0.160622 -0.69378 -0.702047 0.490491 45 57.5 57.5 0 +1032 1 1 0 48.0067 42.7204 43.4399 -0.199331 -0.727959 -0.656006 0.490491 45 57.5 57.5 0 +1033 1 1 0 48.7881 42.6111 43.3716 -0.121192 -0.738887 -0.662842 0.490491 45 57.5 57.5 0 +1034 1 1 0 47.6291 42.4135 43.9317 -0.237086 -0.758652 -0.606825 0.490491 45 57.5 57.5 0 +1035 1 1 0 48.4039 42.2816 43.8454 -0.159613 -0.771841 -0.615456 0.490491 45 57.5 57.5 0 +1036 1 1 0 49.1886 42.198 43.7976 -0.0811417 -0.780205 -0.620239 0.490491 45 57.5 57.5 0 +1037 1 1 0 47.2629 42.1428 44.4526 -0.273706 -0.785715 -0.55474 0.490491 45 57.5 57.5 0 +1038 1 1 0 48.0273 41.985 44.3549 -0.197274 -0.801504 -0.564513 0.490491 45 57.5 57.5 0 +1039 1 1 0 46.9098 41.9098 45 -0.309017 -0.809017 -0.5 0.490491 45 57.5 57.5 0 +1040 1 1 0 47.6655 41.7285 44.888 -0.233445 -0.827147 -0.511205 0.490491 45 57.5 57.5 0 +1041 1 1 0 48.4357 41.5982 44.8074 -0.156434 -0.840178 -0.519259 0.490491 45 57.5 57.5 0 +1042 1 1 0 48.8092 41.8783 44.2886 -0.119078 -0.81217 -0.57114 0.490491 45 57.5 57.5 0 +1043 1 1 0 49.5933 41.8248 44.2554 -0.040675 -0.817523 -0.574458 0.490491 45 57.5 57.5 0 +1044 1 1 0 49.2154 41.5197 44.7589 -0.0784592 -0.848029 -0.52411 0.490491 45 57.5 57.5 0 +1045 1 1 0 50 41.4935 44.7427 0 -0.850651 -0.525731 0.490491 45 57.5 57.5 0 +1046 1 1 0 51.2119 42.6111 43.3716 0.121192 -0.738887 -0.662842 0.490491 45 57.5 57.5 0 +1047 1 1 0 51.9933 42.7204 43.4399 0.199331 -0.727959 -0.656006 0.490491 45 57.5 57.5 0 +1048 1 1 0 50.8114 42.198 43.7976 0.0811417 -0.780205 -0.620239 0.490491 45 57.5 57.5 0 +1049 1 1 0 51.5961 42.2816 43.8454 0.159613 -0.771841 -0.615456 0.490491 45 57.5 57.5 0 +1050 1 1 0 52.3709 42.4135 43.9317 0.237086 -0.758652 -0.606825 0.490491 45 57.5 57.5 0 +1051 1 1 0 50.4067 41.8248 44.2554 0.040675 -0.817523 -0.574458 0.490491 45 57.5 57.5 0 +1052 1 1 0 51.1908 41.8783 44.2886 0.119078 -0.81217 -0.57114 0.490491 45 57.5 57.5 0 +1053 1 1 0 50.7846 41.5197 44.7589 0.0784592 -0.848029 -0.52411 0.490491 45 57.5 57.5 0 +1054 1 1 0 51.5643 41.5982 44.8074 0.156434 -0.840178 -0.519259 0.490491 45 57.5 57.5 0 +1055 1 1 0 51.9727 41.985 44.3549 0.197274 -0.801504 -0.564513 0.490491 45 57.5 57.5 0 +1056 1 1 0 52.7371 42.1428 44.4526 0.273706 -0.785715 -0.55474 0.490491 45 57.5 57.5 0 +1057 1 1 0 52.3345 41.7285 44.888 0.233445 -0.827147 -0.511205 0.490491 45 57.5 57.5 0 +1058 1 1 0 53.0902 41.9098 45 0.309017 -0.809017 -0.5 0.490491 45 57.5 57.5 0 +1059 1 1 0 49.5932 42.565 43.325 -0.0406769 -0.743496 -0.667502 0.490491 45 57.5 57.5 0 +1060 1 1 0 50 42.1721 43.7771 0 -0.782786 -0.622291 0.490491 45 57.5 57.5 0 +1061 1 1 0 50.4068 42.565 43.325 0.0406769 -0.743496 -0.667502 0.490491 45 57.5 57.5 0 +1062 1 1 0 46.5715 41.7155 45.5713 -0.342848 -0.828447 -0.442867 0.490491 45 57.5 57.5 0 +1063 1 1 0 47.2531 41.4736 45.5554 -0.274694 -0.85264 -0.444464 0.490491 45 57.5 57.5 0 +1064 1 1 0 46.2496 41.5609 46.1639 -0.375038 -0.843912 -0.383614 0.490491 45 57.5 57.5 0 +1065 1 1 0 46.9234 41.3027 46.1409 -0.307659 -0.869725 -0.385906 0.490491 45 57.5 57.5 0 +1066 1 1 0 47.6132 41.0899 46.1381 -0.238677 -0.891007 -0.386187 0.490491 45 57.5 57.5 0 +1067 1 1 0 45.9457 41.4466 46.7748 -0.405434 -0.855337 -0.322525 0.490491 45 57.5 57.5 0 +1068 1 1 0 46.6079 41.1716 46.7514 -0.339209 -0.882837 -0.324863 0.490491 45 57.5 57.5 0 +1069 1 1 0 45.6611 41.3733 47.4011 -0.433888 -0.862669 -0.259892 0.490491 45 57.5 57.5 0 +1070 1 1 0 46.3148 41.0826 47.3734 -0.368518 -0.891742 -0.262661 0.490491 45 57.5 57.5 0 +1071 1 1 0 46.9874 40.8376 47.3592 -0.301258 -0.916244 -0.264082 0.490491 45 57.5 57.5 0 +1072 1 1 0 47.2937 40.9417 46.7407 -0.270627 -0.905832 -0.325929 0.490491 45 57.5 57.5 0 +1073 1 1 0 47.9881 40.7612 46.7447 -0.201189 -0.92388 -0.32553 0.490491 45 57.5 57.5 0 +1074 1 1 0 47.6755 40.6395 47.3585 -0.232455 -0.93605 -0.264151 0.490491 45 57.5 57.5 0 +1075 1 1 0 48.3754 40.4894 47.3713 -0.16246 -0.951057 -0.262865 0.490491 45 57.5 57.5 0 +1076 1 1 0 45.3973 41.3413 48.0398 -0.460266 -0.865871 -0.196015 0.490491 45 57.5 57.5 0 +1077 1 1 0 46.0265 41.036 48.0359 -0.39735 -0.896401 -0.196412 0.490491 45 57.5 57.5 0 +1078 1 1 0 45.1556 41.3507 48.688 -0.484441 -0.864929 -0.1312 0.490491 45 57.5 57.5 0 +1079 1 1 0 45.7764 41.032 48.6825 -0.422363 -0.896801 -0.131749 0.490491 45 57.5 57.5 0 +1080 1 1 0 46.4177 40.757 48.6834 -0.358229 -0.924305 -0.131656 0.490491 45 57.5 57.5 0 +1081 1 1 0 44.937 41.4015 49.3424 -0.506298 -0.859848 -0.0657577 0.490491 45 57.5 57.5 0 +1082 1 1 0 45.5463 41.0707 49.3418 -0.445365 -0.892927 -0.0658169 0.490491 45 57.5 57.5 0 +1083 1 1 0 46.1828 40.7808 49.3401 -0.381722 -0.921919 -0.0659886 0.490491 45 57.5 57.5 0 +1084 1 1 0 46.8322 40.538 49.3396 -0.316778 -0.946198 -0.0660427 0.490491 45 57.5 57.5 0 +1085 1 1 0 48.0822 40.3881 48.0166 -0.19178 -0.961188 -0.198337 0.490491 45 57.5 57.5 0 +1086 1 1 0 48.7727 40.2763 48.0142 -0.122729 -0.97237 -0.198581 0.490491 45 57.5 57.5 0 +1087 1 1 0 47.7988 40.3361 48.6721 -0.220117 -0.966393 -0.132792 0.490491 45 57.5 57.5 0 +1088 1 1 0 48.4845 40.2057 48.6674 -0.151549 -0.979426 -0.133256 0.490491 45 57.5 57.5 0 +1089 1 1 0 49.1776 40.1231 48.6693 -0.0822422 -0.987688 -0.133071 0.490491 45 57.5 57.5 0 +1090 1 1 0 47.5267 40.3336 49.3343 -0.247326 -0.966643 -0.0665668 0.490491 45 57.5 57.5 0 +1091 1 1 0 48.204 40.1852 49.334 -0.179596 -0.981483 -0.0666046 0.490491 45 57.5 57.5 0 +1092 1 1 0 48.8961 40.0835 49.3329 -0.110385 -0.991648 -0.0667095 0.490491 45 57.5 57.5 0 +1093 1 1 0 49.5875 40.0308 49.3326 -0.0412479 -0.996917 -0.0667412 0.490491 45 57.5 57.5 0 +1094 1 1 0 46.6939 40.7732 48.0161 -0.330606 -0.922682 -0.198387 0.490491 45 57.5 57.5 0 +1095 1 1 0 47.1007 40.5218 48.6743 -0.289929 -0.947822 -0.13257 0.490491 45 57.5 57.5 0 +1096 1 1 0 47.3845 40.5557 48.0091 -0.26155 -0.944433 -0.199094 0.490491 45 57.5 57.5 0 +1097 1 1 0 52.7469 41.4736 45.5554 0.274694 -0.85264 -0.444464 0.490491 45 57.5 57.5 0 +1098 1 1 0 53.4285 41.7155 45.5713 0.342848 -0.828447 -0.442867 0.490491 45 57.5 57.5 0 +1099 1 1 0 52.3868 41.0899 46.1381 0.238677 -0.891007 -0.386187 0.490491 45 57.5 57.5 0 +1100 1 1 0 53.0766 41.3027 46.1409 0.307659 -0.869725 -0.385906 0.490491 45 57.5 57.5 0 +1101 1 1 0 53.7504 41.5609 46.1639 0.375038 -0.843912 -0.383614 0.490491 45 57.5 57.5 0 +1102 1 1 0 52.0119 40.7612 46.7447 0.201189 -0.92388 -0.32553 0.490491 45 57.5 57.5 0 +1103 1 1 0 52.7063 40.9417 46.7407 0.270627 -0.905832 -0.325929 0.490491 45 57.5 57.5 0 +1104 1 1 0 51.6246 40.4894 47.3713 0.16246 -0.951057 -0.262865 0.490491 45 57.5 57.5 0 +1105 1 1 0 52.3245 40.6395 47.3585 0.232455 -0.93605 -0.264151 0.490491 45 57.5 57.5 0 +1106 1 1 0 53.0126 40.8376 47.3592 0.301258 -0.916244 -0.264082 0.490491 45 57.5 57.5 0 +1107 1 1 0 53.3921 41.1716 46.7514 0.339209 -0.882837 -0.324863 0.490491 45 57.5 57.5 0 +1108 1 1 0 54.0543 41.4466 46.7748 0.405434 -0.855337 -0.322525 0.490491 45 57.5 57.5 0 +1109 1 1 0 53.6852 41.0826 47.3734 0.368518 -0.891742 -0.262661 0.490491 45 57.5 57.5 0 +1110 1 1 0 54.3389 41.3733 47.4011 0.433888 -0.862669 -0.259892 0.490491 45 57.5 57.5 0 +1111 1 1 0 51.2273 40.2763 48.0142 0.122729 -0.97237 -0.198581 0.490491 45 57.5 57.5 0 +1112 1 1 0 51.9178 40.3881 48.0166 0.19178 -0.961188 -0.198337 0.490491 45 57.5 57.5 0 +1113 1 1 0 50.8224 40.1231 48.6693 0.0822422 -0.987688 -0.133071 0.490491 45 57.5 57.5 0 +1114 1 1 0 51.5155 40.2057 48.6674 0.151549 -0.979426 -0.133256 0.490491 45 57.5 57.5 0 +1115 1 1 0 52.2012 40.3361 48.6721 0.220117 -0.966393 -0.132792 0.490491 45 57.5 57.5 0 +1116 1 1 0 50.4125 40.0308 49.3326 0.0412479 -0.996917 -0.0667412 0.490491 45 57.5 57.5 0 +1117 1 1 0 51.1039 40.0835 49.3329 0.110385 -0.991648 -0.0667095 0.490491 45 57.5 57.5 0 +1118 1 1 0 51.796 40.1852 49.334 0.179596 -0.981483 -0.0666046 0.490491 45 57.5 57.5 0 +1119 1 1 0 52.4733 40.3336 49.3343 0.247326 -0.966643 -0.0665668 0.490491 45 57.5 57.5 0 +1120 1 1 0 53.9735 41.036 48.0359 0.39735 -0.896401 -0.196412 0.490491 45 57.5 57.5 0 +1121 1 1 0 54.6027 41.3413 48.0398 0.460266 -0.865871 -0.196015 0.490491 45 57.5 57.5 0 +1122 1 1 0 53.5823 40.757 48.6834 0.358229 -0.924305 -0.131656 0.490491 45 57.5 57.5 0 +1123 1 1 0 54.2236 41.032 48.6825 0.422363 -0.896801 -0.131749 0.490491 45 57.5 57.5 0 +1124 1 1 0 54.8444 41.3507 48.688 0.484441 -0.864929 -0.1312 0.490491 45 57.5 57.5 0 +1125 1 1 0 53.1678 40.538 49.3396 0.316778 -0.946198 -0.0660427 0.490491 45 57.5 57.5 0 +1126 1 1 0 53.8172 40.7808 49.3401 0.381722 -0.921919 -0.0659886 0.490491 45 57.5 57.5 0 +1127 1 1 0 54.4537 41.0707 49.3418 0.445365 -0.892927 -0.0658169 0.490491 45 57.5 57.5 0 +1128 1 1 0 55.063 41.4015 49.3424 0.506298 -0.859848 -0.0657577 0.490491 45 57.5 57.5 0 +1129 1 1 0 52.6155 40.5557 48.0091 0.26155 -0.944433 -0.199094 0.490491 45 57.5 57.5 0 +1130 1 1 0 52.8993 40.5218 48.6743 0.289929 -0.947822 -0.13257 0.490491 45 57.5 57.5 0 +1131 1 1 0 53.3061 40.7732 48.0161 0.330606 -0.922682 -0.198387 0.490491 45 57.5 57.5 0 +1132 1 1 0 48.0177 41.3147 45.4574 -0.198227 -0.868535 -0.454262 0.490491 45 57.5 57.5 0 +1133 1 1 0 48.3899 40.9516 46.0586 -0.161007 -0.904839 -0.394136 0.490491 45 57.5 57.5 0 +1134 1 1 0 48.772 40.6487 46.6766 -0.1228 -0.93513 -0.332342 0.490491 45 57.5 57.5 0 +1135 1 1 0 49.1768 40.8702 46.0039 -0.0823235 -0.912983 -0.399607 0.490491 45 57.5 57.5 0 +1136 1 1 0 48.8024 41.2066 45.3912 -0.119755 -0.879344 -0.460882 0.490491 45 57.5 57.5 0 +1137 1 1 0 49.587 41.1524 45.3579 -0.0412991 -0.88476 -0.464213 0.490491 45 57.5 57.5 0 +1138 1 1 0 49.185 40.3935 47.3448 -0.081501 -0.960655 -0.265519 0.490491 45 57.5 57.5 0 +1139 1 1 0 49.5875 40.2115 47.9963 -0.0412506 -0.978852 -0.200368 0.490491 45 57.5 57.5 0 +1140 1 1 0 50 40.3614 47.336 0 -0.963861 -0.266405 0.490491 45 57.5 57.5 0 +1141 1 1 0 50 40.0895 48.6648 0 -0.991046 -0.133524 0.490491 45 57.5 57.5 0 +1142 1 1 0 50.4125 40.2115 47.9963 0.0412506 -0.978852 -0.200368 0.490491 45 57.5 57.5 0 +1143 1 1 0 50.815 40.3935 47.3448 0.081501 -0.960655 -0.265519 0.490491 45 57.5 57.5 0 +1144 1 1 0 50.413 41.1524 45.3579 0.0412991 -0.88476 -0.464213 0.490491 45 57.5 57.5 0 +1145 1 1 0 50.8232 40.8702 46.0039 0.0823235 -0.912983 -0.399607 0.490491 45 57.5 57.5 0 +1146 1 1 0 51.1976 41.2066 45.3912 0.119755 -0.879344 -0.460882 0.490491 45 57.5 57.5 0 +1147 1 1 0 51.228 40.6487 46.6766 0.1228 -0.93513 -0.332342 0.490491 45 57.5 57.5 0 +1148 1 1 0 51.6101 40.9516 46.0586 0.161007 -0.904839 -0.394136 0.490491 45 57.5 57.5 0 +1149 1 1 0 51.9823 41.3147 45.4574 0.198227 -0.868535 -0.454262 0.490491 45 57.5 57.5 0 +1150 1 1 0 49.587 40.5838 46.6586 -0.0413021 -0.941618 -0.33414 0.490491 45 57.5 57.5 0 +1151 1 1 0 50.413 40.5838 46.6586 0.0413021 -0.941618 -0.33414 0.490491 45 57.5 57.5 0 +1152 1 1 0 50 40.8391 45.9903 0 -0.916092 -0.400968 0.490491 45 57.5 57.5 0 +1153 1 1 0 44.2794 58.1921 50.4064 -0.572055 0.819207 0.0406403 0.490491 45 57.5 57.5 0 +1154 1 1 0 44.2794 58.1921 49.5936 -0.572055 0.819207 -0.0406403 0.490491 45 57.5 57.5 0 +1155 1 1 0 43.8436 57.8384 50.8109 -0.615642 0.783843 0.081086 0.490491 45 57.5 57.5 0 +1156 1 1 0 43.8232 57.8643 50 -0.617676 0.786433 0 0.490491 45 57.5 57.5 0 +1157 1 1 0 43.8436 57.8384 49.1891 -0.615642 0.783843 -0.081086 0.490491 45 57.5 57.5 0 +1158 1 1 0 43.4372 57.4473 51.2114 -0.656282 0.744727 0.121144 0.490491 45 57.5 57.5 0 +1159 1 1 0 43.3912 57.4939 50.4064 -0.660883 0.749387 0.0406418 0.490491 45 57.5 57.5 0 +1160 1 1 0 43.0622 57.0205 51.6062 -0.69378 0.702047 0.160622 0.490491 45 57.5 57.5 0 +1161 1 1 0 42.9938 57.0897 50.8057 -0.700622 0.708969 0.0805729 0.490491 45 57.5 57.5 0 +1162 1 1 0 42.9709 57.1128 50 -0.702907 0.711282 0 0.490491 45 57.5 57.5 0 +1163 1 1 0 43.3912 57.4939 49.5936 -0.660883 0.749387 -0.0406418 0.490491 45 57.5 57.5 0 +1164 1 1 0 43.4372 57.4473 48.7886 -0.656282 0.744727 -0.121144 0.490491 45 57.5 57.5 0 +1165 1 1 0 42.9938 57.0897 49.1943 -0.700622 0.708969 -0.0805729 0.490491 45 57.5 57.5 0 +1166 1 1 0 43.0622 57.0205 48.3938 -0.69378 0.702047 -0.160622 0.490491 45 57.5 57.5 0 +1167 1 1 0 42.7204 56.5601 51.9933 -0.727959 0.656006 0.199331 0.490491 45 57.5 57.5 0 +1168 1 1 0 42.6111 56.6284 51.2119 -0.738887 0.662842 0.121192 0.490491 45 57.5 57.5 0 +1169 1 1 0 42.4135 56.0683 52.3709 -0.758652 0.606825 0.237086 0.490491 45 57.5 57.5 0 +1170 1 1 0 42.2816 56.1546 51.5961 -0.771841 0.615456 0.159613 0.490491 45 57.5 57.5 0 +1171 1 1 0 42.198 56.2024 50.8114 -0.780205 0.620239 0.0811417 0.490491 45 57.5 57.5 0 +1172 1 1 0 42.1428 55.5474 52.7371 -0.785715 0.55474 0.273706 0.490491 45 57.5 57.5 0 +1173 1 1 0 41.985 55.6451 51.9727 -0.801504 0.564513 0.197274 0.490491 45 57.5 57.5 0 +1174 1 1 0 41.9098 55 53.0902 -0.809017 0.5 0.309017 0.490491 45 57.5 57.5 0 +1175 1 1 0 41.7285 55.112 52.3345 -0.827147 0.511205 0.233445 0.490491 45 57.5 57.5 0 +1176 1 1 0 41.5982 55.1926 51.5643 -0.840178 0.519259 0.156434 0.490491 45 57.5 57.5 0 +1177 1 1 0 41.8783 55.7114 51.1908 -0.81217 0.57114 0.119078 0.490491 45 57.5 57.5 0 +1178 1 1 0 41.8248 55.7446 50.4067 -0.817523 0.574458 0.040675 0.490491 45 57.5 57.5 0 +1179 1 1 0 41.5197 55.2411 50.7846 -0.848029 0.52411 0.0784592 0.490491 45 57.5 57.5 0 +1180 1 1 0 41.4935 55.2573 50 -0.850651 0.525731 0 0.490491 45 57.5 57.5 0 +1181 1 1 0 42.6111 56.6284 48.7881 -0.738887 0.662842 -0.121192 0.490491 45 57.5 57.5 0 +1182 1 1 0 42.7204 56.5601 48.0067 -0.727959 0.656006 -0.199331 0.490491 45 57.5 57.5 0 +1183 1 1 0 42.198 56.2024 49.1886 -0.780205 0.620239 -0.0811417 0.490491 45 57.5 57.5 0 +1184 1 1 0 42.2816 56.1546 48.4039 -0.771841 0.615456 -0.159613 0.490491 45 57.5 57.5 0 +1185 1 1 0 42.4135 56.0683 47.6291 -0.758652 0.606825 -0.237086 0.490491 45 57.5 57.5 0 +1186 1 1 0 41.8248 55.7446 49.5933 -0.817523 0.574458 -0.040675 0.490491 45 57.5 57.5 0 +1187 1 1 0 41.8783 55.7114 48.8092 -0.81217 0.57114 -0.119078 0.490491 45 57.5 57.5 0 +1188 1 1 0 41.5197 55.2411 49.2154 -0.848029 0.52411 -0.0784592 0.490491 45 57.5 57.5 0 +1189 1 1 0 41.5982 55.1926 48.4357 -0.840178 0.519259 -0.156434 0.490491 45 57.5 57.5 0 +1190 1 1 0 41.985 55.6451 48.0273 -0.801504 0.564513 -0.197274 0.490491 45 57.5 57.5 0 +1191 1 1 0 42.1428 55.5474 47.2629 -0.785715 0.55474 -0.273706 0.490491 45 57.5 57.5 0 +1192 1 1 0 41.7285 55.112 47.6655 -0.827147 0.511205 -0.233445 0.490491 45 57.5 57.5 0 +1193 1 1 0 41.9098 55 46.9098 -0.809017 0.5 -0.309017 0.490491 45 57.5 57.5 0 +1194 1 1 0 42.565 56.675 50.4068 -0.743496 0.667502 0.0406769 0.490491 45 57.5 57.5 0 +1195 1 1 0 42.1721 56.2229 50 -0.782786 0.622291 0 0.490491 45 57.5 57.5 0 +1196 1 1 0 42.565 56.675 49.5932 -0.743496 0.667502 -0.0406769 0.490491 45 57.5 57.5 0 +1197 1 1 0 41.7155 54.4287 53.4285 -0.828447 0.442867 0.342848 0.490491 45 57.5 57.5 0 +1198 1 1 0 41.4736 54.4446 52.7469 -0.85264 0.444464 0.274694 0.490491 45 57.5 57.5 0 +1199 1 1 0 41.5609 53.8361 53.7504 -0.843912 0.383614 0.375038 0.490491 45 57.5 57.5 0 +1200 1 1 0 41.3027 53.8591 53.0766 -0.869725 0.385906 0.307659 0.490491 45 57.5 57.5 0 +1201 1 1 0 41.0899 53.8619 52.3868 -0.891007 0.386187 0.238677 0.490491 45 57.5 57.5 0 +1202 1 1 0 41.4466 53.2252 54.0543 -0.855337 0.322525 0.405434 0.490491 45 57.5 57.5 0 +1203 1 1 0 41.1716 53.2486 53.3921 -0.882837 0.324863 0.339209 0.490491 45 57.5 57.5 0 +1204 1 1 0 41.3733 52.5989 54.3389 -0.862669 0.259892 0.433888 0.490491 45 57.5 57.5 0 +1205 1 1 0 41.0826 52.6266 53.6852 -0.891742 0.262661 0.368518 0.490491 45 57.5 57.5 0 +1206 1 1 0 40.8376 52.6408 53.0126 -0.916244 0.264082 0.301258 0.490491 45 57.5 57.5 0 +1207 1 1 0 40.9417 53.2593 52.7063 -0.905832 0.325929 0.270627 0.490491 45 57.5 57.5 0 +1208 1 1 0 40.7612 53.2553 52.0119 -0.92388 0.32553 0.201189 0.490491 45 57.5 57.5 0 +1209 1 1 0 40.6395 52.6415 52.3245 -0.93605 0.264151 0.232455 0.490491 45 57.5 57.5 0 +1210 1 1 0 40.4894 52.6287 51.6246 -0.951057 0.262865 0.16246 0.490491 45 57.5 57.5 0 +1211 1 1 0 41.3413 51.9602 54.6027 -0.865871 0.196015 0.460266 0.490491 45 57.5 57.5 0 +1212 1 1 0 41.036 51.9641 53.9735 -0.896401 0.196412 0.39735 0.490491 45 57.5 57.5 0 +1213 1 1 0 41.3507 51.312 54.8444 -0.864929 0.1312 0.484441 0.490491 45 57.5 57.5 0 +1214 1 1 0 41.032 51.3175 54.2236 -0.896801 0.131749 0.422363 0.490491 45 57.5 57.5 0 +1215 1 1 0 40.757 51.3166 53.5823 -0.924305 0.131656 0.358229 0.490491 45 57.5 57.5 0 +1216 1 1 0 41.4015 50.6576 55.063 -0.859848 0.0657577 0.506298 0.490491 45 57.5 57.5 0 +1217 1 1 0 41.0707 50.6582 54.4537 -0.892927 0.0658169 0.445365 0.490491 45 57.5 57.5 0 +1218 1 1 0 41.1503 50 54.6566 -0.884965 0 0.465657 0.490491 45 57.5 57.5 0 +1219 1 1 0 40.8496 50 54.0336 -0.915043 0 0.403355 0.490491 45 57.5 57.5 0 +1220 1 1 0 40.7808 50.6599 53.8172 -0.921919 0.0659886 0.381722 0.490491 45 57.5 57.5 0 +1221 1 1 0 40.538 50.6604 53.1678 -0.946198 0.0660427 0.316778 0.490491 45 57.5 57.5 0 +1222 1 1 0 40.5926 50 53.3912 -0.940742 0 0.339122 0.490491 45 57.5 57.5 0 +1223 1 1 0 40.3806 50 52.7327 -0.961938 0 0.273267 0.490491 45 57.5 57.5 0 +1224 1 1 0 40.3881 51.9834 51.9178 -0.961188 0.198337 0.19178 0.490491 45 57.5 57.5 0 +1225 1 1 0 40.2763 51.9858 51.2273 -0.97237 0.198581 0.122729 0.490491 45 57.5 57.5 0 +1226 1 1 0 40.3361 51.3279 52.2012 -0.966393 0.132792 0.220117 0.490491 45 57.5 57.5 0 +1227 1 1 0 40.2057 51.3326 51.5155 -0.979426 0.133256 0.151549 0.490491 45 57.5 57.5 0 +1228 1 1 0 40.1231 51.3307 50.8224 -0.987688 0.133071 0.0822422 0.490491 45 57.5 57.5 0 +1229 1 1 0 40.3336 50.6657 52.4733 -0.966643 0.0665668 0.247326 0.490491 45 57.5 57.5 0 +1230 1 1 0 40.1852 50.666 51.796 -0.981483 0.0666046 0.179596 0.490491 45 57.5 57.5 0 +1231 1 1 0 40.2147 50 52.061 -0.97853 0 0.206103 0.490491 45 57.5 57.5 0 +1232 1 1 0 40.0956 50 51.3795 -0.990439 0 0.137952 0.490491 45 57.5 57.5 0 +1233 1 1 0 40.0835 50.6671 51.1039 -0.991648 0.0667095 0.110385 0.490491 45 57.5 57.5 0 +1234 1 1 0 40.0308 50.6674 50.4125 -0.996917 0.0667412 0.0412479 0.490491 45 57.5 57.5 0 +1235 1 1 0 40.0239 50 50.6914 -0.997607 0 0.0691418 0.490491 45 57.5 57.5 0 +1236 1 1 0 40 50 50 -1 0 0 0.490491 45 57.5 57.5 0 +1237 1 1 0 40.7732 51.9839 53.3061 -0.922682 0.198387 0.330606 0.490491 45 57.5 57.5 0 +1238 1 1 0 40.5218 51.3257 52.8993 -0.947822 0.13257 0.289929 0.490491 45 57.5 57.5 0 +1239 1 1 0 40.5557 51.9909 52.6155 -0.944433 0.199094 0.26155 0.490491 45 57.5 57.5 0 +1240 1 1 0 41.4736 54.4446 47.2531 -0.85264 0.444464 -0.274694 0.490491 45 57.5 57.5 0 +1241 1 1 0 41.7155 54.4287 46.5715 -0.828447 0.442867 -0.342848 0.490491 45 57.5 57.5 0 +1242 1 1 0 41.0899 53.8619 47.6132 -0.891007 0.386187 -0.238677 0.490491 45 57.5 57.5 0 +1243 1 1 0 41.3027 53.8591 46.9234 -0.869725 0.385906 -0.307659 0.490491 45 57.5 57.5 0 +1244 1 1 0 41.5609 53.8361 46.2496 -0.843912 0.383614 -0.375038 0.490491 45 57.5 57.5 0 +1245 1 1 0 40.7612 53.2553 47.9881 -0.92388 0.32553 -0.201189 0.490491 45 57.5 57.5 0 +1246 1 1 0 40.9417 53.2593 47.2937 -0.905832 0.325929 -0.270627 0.490491 45 57.5 57.5 0 +1247 1 1 0 40.4894 52.6287 48.3754 -0.951057 0.262865 -0.16246 0.490491 45 57.5 57.5 0 +1248 1 1 0 40.6395 52.6415 47.6755 -0.93605 0.264151 -0.232455 0.490491 45 57.5 57.5 0 +1249 1 1 0 40.8376 52.6408 46.9874 -0.916244 0.264082 -0.301258 0.490491 45 57.5 57.5 0 +1250 1 1 0 41.1716 53.2486 46.6079 -0.882837 0.324863 -0.339209 0.490491 45 57.5 57.5 0 +1251 1 1 0 41.4466 53.2252 45.9457 -0.855337 0.322525 -0.405434 0.490491 45 57.5 57.5 0 +1252 1 1 0 41.0826 52.6266 46.3148 -0.891742 0.262661 -0.368518 0.490491 45 57.5 57.5 0 +1253 1 1 0 41.3733 52.5989 45.6611 -0.862669 0.259892 -0.433888 0.490491 45 57.5 57.5 0 +1254 1 1 0 40.2763 51.9858 48.7727 -0.97237 0.198581 -0.122729 0.490491 45 57.5 57.5 0 +1255 1 1 0 40.3881 51.9834 48.0822 -0.961188 0.198337 -0.19178 0.490491 45 57.5 57.5 0 +1256 1 1 0 40.1231 51.3307 49.1776 -0.987688 0.133071 -0.0822422 0.490491 45 57.5 57.5 0 +1257 1 1 0 40.2057 51.3326 48.4845 -0.979426 0.133256 -0.151549 0.490491 45 57.5 57.5 0 +1258 1 1 0 40.3361 51.3279 47.7988 -0.966393 0.132792 -0.220117 0.490491 45 57.5 57.5 0 +1259 1 1 0 40.0308 50.6674 49.5875 -0.996917 0.0667412 -0.0412479 0.490491 45 57.5 57.5 0 +1260 1 1 0 40.0835 50.6671 48.8961 -0.991648 0.0667095 -0.110385 0.490491 45 57.5 57.5 0 +1261 1 1 0 40.0239 50 49.3086 -0.997607 0 -0.0691418 0.490491 45 57.5 57.5 0 +1262 1 1 0 40.0956 50 48.6205 -0.990439 0 -0.137952 0.490491 45 57.5 57.5 0 +1263 1 1 0 40.1852 50.666 48.204 -0.981483 0.0666046 -0.179596 0.490491 45 57.5 57.5 0 +1264 1 1 0 40.3336 50.6657 47.5267 -0.966643 0.0665668 -0.247326 0.490491 45 57.5 57.5 0 +1265 1 1 0 40.2147 50 47.939 -0.97853 0 -0.206103 0.490491 45 57.5 57.5 0 +1266 1 1 0 40.3806 50 47.2673 -0.961938 0 -0.273267 0.490491 45 57.5 57.5 0 +1267 1 1 0 41.036 51.9641 46.0265 -0.896401 0.196412 -0.39735 0.490491 45 57.5 57.5 0 +1268 1 1 0 41.3413 51.9602 45.3973 -0.865871 0.196015 -0.460266 0.490491 45 57.5 57.5 0 +1269 1 1 0 40.757 51.3166 46.4177 -0.924305 0.131656 -0.358229 0.490491 45 57.5 57.5 0 +1270 1 1 0 41.032 51.3175 45.7764 -0.896801 0.131749 -0.422363 0.490491 45 57.5 57.5 0 +1271 1 1 0 41.3507 51.312 45.1556 -0.864929 0.1312 -0.484441 0.490491 45 57.5 57.5 0 +1272 1 1 0 40.538 50.6604 46.8322 -0.946198 0.0660427 -0.316778 0.490491 45 57.5 57.5 0 +1273 1 1 0 40.7808 50.6599 46.1828 -0.921919 0.0659886 -0.381722 0.490491 45 57.5 57.5 0 +1274 1 1 0 40.5926 50 46.6088 -0.940742 0 -0.339122 0.490491 45 57.5 57.5 0 +1275 1 1 0 40.8496 50 45.9664 -0.915043 0 -0.403355 0.490491 45 57.5 57.5 0 +1276 1 1 0 41.0707 50.6582 45.5463 -0.892927 0.0658169 -0.445365 0.490491 45 57.5 57.5 0 +1277 1 1 0 41.4015 50.6576 44.937 -0.859848 0.0657577 -0.506298 0.490491 45 57.5 57.5 0 +1278 1 1 0 41.1503 50 45.3434 -0.884965 0 -0.465657 0.490491 45 57.5 57.5 0 +1279 1 1 0 40.5557 51.9909 47.3845 -0.944433 0.199094 -0.26155 0.490491 45 57.5 57.5 0 +1280 1 1 0 40.5218 51.3257 47.1007 -0.947822 0.13257 -0.289929 0.490491 45 57.5 57.5 0 +1281 1 1 0 40.7732 51.9839 46.6939 -0.922682 0.198387 -0.330606 0.490491 45 57.5 57.5 0 +1282 1 1 0 41.3147 54.5426 51.9823 -0.868535 0.454262 0.198227 0.490491 45 57.5 57.5 0 +1283 1 1 0 40.9516 53.9414 51.6101 -0.904839 0.394136 0.161007 0.490491 45 57.5 57.5 0 +1284 1 1 0 40.6487 53.3234 51.228 -0.93513 0.332342 0.1228 0.490491 45 57.5 57.5 0 +1285 1 1 0 40.8702 53.9961 50.8232 -0.912983 0.399607 0.0823235 0.490491 45 57.5 57.5 0 +1286 1 1 0 41.2066 54.6088 51.1976 -0.879344 0.460882 0.119755 0.490491 45 57.5 57.5 0 +1287 1 1 0 41.1524 54.6421 50.413 -0.88476 0.464213 0.0412991 0.490491 45 57.5 57.5 0 +1288 1 1 0 40.3935 52.6552 50.815 -0.960655 0.265519 0.081501 0.490491 45 57.5 57.5 0 +1289 1 1 0 40.2115 52.0037 50.4125 -0.978852 0.200368 0.0412506 0.490491 45 57.5 57.5 0 +1290 1 1 0 40.3614 52.664 50 -0.963861 0.266405 0 0.490491 45 57.5 57.5 0 +1291 1 1 0 40.0895 51.3352 50 -0.991046 0.133524 0 0.490491 45 57.5 57.5 0 +1292 1 1 0 40.2115 52.0037 49.5875 -0.978852 0.200368 -0.0412506 0.490491 45 57.5 57.5 0 +1293 1 1 0 40.3935 52.6552 49.185 -0.960655 0.265519 -0.081501 0.490491 45 57.5 57.5 0 +1294 1 1 0 41.1524 54.6421 49.587 -0.88476 0.464213 -0.0412991 0.490491 45 57.5 57.5 0 +1295 1 1 0 40.8702 53.9961 49.1768 -0.912983 0.399607 -0.0823235 0.490491 45 57.5 57.5 0 +1296 1 1 0 41.2066 54.6088 48.8024 -0.879344 0.460882 -0.119755 0.490491 45 57.5 57.5 0 +1297 1 1 0 40.6487 53.3234 48.772 -0.93513 0.332342 -0.1228 0.490491 45 57.5 57.5 0 +1298 1 1 0 40.9516 53.9414 48.3899 -0.904839 0.394136 -0.161007 0.490491 45 57.5 57.5 0 +1299 1 1 0 41.3147 54.5426 48.0177 -0.868535 0.454262 -0.198227 0.490491 45 57.5 57.5 0 +1300 1 1 0 40.5838 53.3414 50.413 -0.941618 0.33414 0.0413021 0.490491 45 57.5 57.5 0 +1301 1 1 0 40.5838 53.3414 49.587 -0.941618 0.33414 -0.0413021 0.490491 45 57.5 57.5 0 +1302 1 1 0 40.8391 54.0097 50 -0.916092 0.400968 0 0.490491 45 57.5 57.5 0 +1303 1 1 0 44.2794 41.8079 49.5936 -0.572055 -0.819207 -0.0406403 0.490491 45 57.5 57.5 0 +1304 1 1 0 44.2794 41.8079 50.4064 -0.572055 -0.819207 0.0406403 0.490491 45 57.5 57.5 0 +1305 1 1 0 43.8436 42.1616 49.1891 -0.615642 -0.783843 -0.081086 0.490491 45 57.5 57.5 0 +1306 1 1 0 43.8232 42.1357 50 -0.617676 -0.786433 0 0.490491 45 57.5 57.5 0 +1307 1 1 0 43.8436 42.1616 50.8109 -0.615642 -0.783843 0.081086 0.490491 45 57.5 57.5 0 +1308 1 1 0 43.4372 42.5527 48.7886 -0.656282 -0.744727 -0.121144 0.490491 45 57.5 57.5 0 +1309 1 1 0 43.3912 42.5061 49.5936 -0.660883 -0.749387 -0.0406418 0.490491 45 57.5 57.5 0 +1310 1 1 0 43.0622 42.9795 48.3938 -0.69378 -0.702047 -0.160622 0.490491 45 57.5 57.5 0 +1311 1 1 0 42.9938 42.9103 49.1943 -0.700622 -0.708969 -0.0805729 0.490491 45 57.5 57.5 0 +1312 1 1 0 42.9709 42.8872 50 -0.702907 -0.711282 0 0.490491 45 57.5 57.5 0 +1313 1 1 0 43.3912 42.5061 50.4064 -0.660883 -0.749387 0.0406418 0.490491 45 57.5 57.5 0 +1314 1 1 0 43.4372 42.5527 51.2114 -0.656282 -0.744727 0.121144 0.490491 45 57.5 57.5 0 +1315 1 1 0 42.9938 42.9103 50.8057 -0.700622 -0.708969 0.0805729 0.490491 45 57.5 57.5 0 +1316 1 1 0 43.0622 42.9795 51.6062 -0.69378 -0.702047 0.160622 0.490491 45 57.5 57.5 0 +1317 1 1 0 42.7204 43.4399 48.0067 -0.727959 -0.656006 -0.199331 0.490491 45 57.5 57.5 0 +1318 1 1 0 42.6111 43.3716 48.7881 -0.738887 -0.662842 -0.121192 0.490491 45 57.5 57.5 0 +1319 1 1 0 42.4135 43.9317 47.6291 -0.758652 -0.606825 -0.237086 0.490491 45 57.5 57.5 0 +1320 1 1 0 42.2816 43.8454 48.4039 -0.771841 -0.615456 -0.159613 0.490491 45 57.5 57.5 0 +1321 1 1 0 42.198 43.7976 49.1886 -0.780205 -0.620239 -0.0811417 0.490491 45 57.5 57.5 0 +1322 1 1 0 42.1428 44.4526 47.2629 -0.785715 -0.55474 -0.273706 0.490491 45 57.5 57.5 0 +1323 1 1 0 41.985 44.3549 48.0273 -0.801504 -0.564513 -0.197274 0.490491 45 57.5 57.5 0 +1324 1 1 0 41.9098 45 46.9098 -0.809017 -0.5 -0.309017 0.490491 45 57.5 57.5 0 +1325 1 1 0 41.7285 44.888 47.6655 -0.827147 -0.511205 -0.233445 0.490491 45 57.5 57.5 0 +1326 1 1 0 41.5982 44.8074 48.4357 -0.840178 -0.519259 -0.156434 0.490491 45 57.5 57.5 0 +1327 1 1 0 41.8783 44.2886 48.8092 -0.81217 -0.57114 -0.119078 0.490491 45 57.5 57.5 0 +1328 1 1 0 41.8248 44.2554 49.5933 -0.817523 -0.574458 -0.040675 0.490491 45 57.5 57.5 0 +1329 1 1 0 41.5197 44.7589 49.2154 -0.848029 -0.52411 -0.0784592 0.490491 45 57.5 57.5 0 +1330 1 1 0 41.4935 44.7427 50 -0.850651 -0.525731 0 0.490491 45 57.5 57.5 0 +1331 1 1 0 42.6111 43.3716 51.2119 -0.738887 -0.662842 0.121192 0.490491 45 57.5 57.5 0 +1332 1 1 0 42.7204 43.4399 51.9933 -0.727959 -0.656006 0.199331 0.490491 45 57.5 57.5 0 +1333 1 1 0 42.198 43.7976 50.8114 -0.780205 -0.620239 0.0811417 0.490491 45 57.5 57.5 0 +1334 1 1 0 42.2816 43.8454 51.5961 -0.771841 -0.615456 0.159613 0.490491 45 57.5 57.5 0 +1335 1 1 0 42.4135 43.9317 52.3709 -0.758652 -0.606825 0.237086 0.490491 45 57.5 57.5 0 +1336 1 1 0 41.8248 44.2554 50.4067 -0.817523 -0.574458 0.040675 0.490491 45 57.5 57.5 0 +1337 1 1 0 41.8783 44.2886 51.1908 -0.81217 -0.57114 0.119078 0.490491 45 57.5 57.5 0 +1338 1 1 0 41.5197 44.7589 50.7846 -0.848029 -0.52411 0.0784592 0.490491 45 57.5 57.5 0 +1339 1 1 0 41.5982 44.8074 51.5643 -0.840178 -0.519259 0.156434 0.490491 45 57.5 57.5 0 +1340 1 1 0 41.985 44.3549 51.9727 -0.801504 -0.564513 0.197274 0.490491 45 57.5 57.5 0 +1341 1 1 0 42.1428 44.4526 52.7371 -0.785715 -0.55474 0.273706 0.490491 45 57.5 57.5 0 +1342 1 1 0 41.7285 44.888 52.3345 -0.827147 -0.511205 0.233445 0.490491 45 57.5 57.5 0 +1343 1 1 0 41.9098 45 53.0902 -0.809017 -0.5 0.309017 0.490491 45 57.5 57.5 0 +1344 1 1 0 42.565 43.325 49.5932 -0.743496 -0.667502 -0.0406769 0.490491 45 57.5 57.5 0 +1345 1 1 0 42.1721 43.7771 50 -0.782786 -0.622291 0 0.490491 45 57.5 57.5 0 +1346 1 1 0 42.565 43.325 50.4068 -0.743496 -0.667502 0.0406769 0.490491 45 57.5 57.5 0 +1347 1 1 0 41.7155 45.5713 46.5715 -0.828447 -0.442867 -0.342848 0.490491 45 57.5 57.5 0 +1348 1 1 0 41.4736 45.5554 47.2531 -0.85264 -0.444464 -0.274694 0.490491 45 57.5 57.5 0 +1349 1 1 0 41.5609 46.1639 46.2496 -0.843912 -0.383614 -0.375038 0.490491 45 57.5 57.5 0 +1350 1 1 0 41.3027 46.1409 46.9234 -0.869725 -0.385906 -0.307659 0.490491 45 57.5 57.5 0 +1351 1 1 0 41.0899 46.1381 47.6132 -0.891007 -0.386187 -0.238677 0.490491 45 57.5 57.5 0 +1352 1 1 0 41.4466 46.7748 45.9457 -0.855337 -0.322525 -0.405434 0.490491 45 57.5 57.5 0 +1353 1 1 0 41.1716 46.7514 46.6079 -0.882837 -0.324863 -0.339209 0.490491 45 57.5 57.5 0 +1354 1 1 0 41.3733 47.4011 45.6611 -0.862669 -0.259892 -0.433888 0.490491 45 57.5 57.5 0 +1355 1 1 0 41.0826 47.3734 46.3148 -0.891742 -0.262661 -0.368518 0.490491 45 57.5 57.5 0 +1356 1 1 0 40.8376 47.3592 46.9874 -0.916244 -0.264082 -0.301258 0.490491 45 57.5 57.5 0 +1357 1 1 0 40.9417 46.7407 47.2937 -0.905832 -0.325929 -0.270627 0.490491 45 57.5 57.5 0 +1358 1 1 0 40.7612 46.7447 47.9881 -0.92388 -0.32553 -0.201189 0.490491 45 57.5 57.5 0 +1359 1 1 0 40.6395 47.3585 47.6755 -0.93605 -0.264151 -0.232455 0.490491 45 57.5 57.5 0 +1360 1 1 0 40.4894 47.3713 48.3754 -0.951057 -0.262865 -0.16246 0.490491 45 57.5 57.5 0 +1361 1 1 0 41.3413 48.0398 45.3973 -0.865871 -0.196015 -0.460266 0.490491 45 57.5 57.5 0 +1362 1 1 0 41.036 48.0359 46.0265 -0.896401 -0.196412 -0.39735 0.490491 45 57.5 57.5 0 +1363 1 1 0 41.3507 48.688 45.1556 -0.864929 -0.1312 -0.484441 0.490491 45 57.5 57.5 0 +1364 1 1 0 41.032 48.6825 45.7764 -0.896801 -0.131749 -0.422363 0.490491 45 57.5 57.5 0 +1365 1 1 0 40.757 48.6834 46.4177 -0.924305 -0.131656 -0.358229 0.490491 45 57.5 57.5 0 +1366 1 1 0 41.4015 49.3424 44.937 -0.859848 -0.0657577 -0.506298 0.490491 45 57.5 57.5 0 +1367 1 1 0 41.0707 49.3418 45.5463 -0.892927 -0.0658169 -0.445365 0.490491 45 57.5 57.5 0 +1368 1 1 0 40.7808 49.3401 46.1828 -0.921919 -0.0659886 -0.381722 0.490491 45 57.5 57.5 0 +1369 1 1 0 40.538 49.3396 46.8322 -0.946198 -0.0660427 -0.316778 0.490491 45 57.5 57.5 0 +1370 1 1 0 40.3881 48.0166 48.0822 -0.961188 -0.198337 -0.19178 0.490491 45 57.5 57.5 0 +1371 1 1 0 40.2763 48.0142 48.7727 -0.97237 -0.198581 -0.122729 0.490491 45 57.5 57.5 0 +1372 1 1 0 40.3361 48.6721 47.7988 -0.966393 -0.132792 -0.220117 0.490491 45 57.5 57.5 0 +1373 1 1 0 40.2057 48.6674 48.4845 -0.979426 -0.133256 -0.151549 0.490491 45 57.5 57.5 0 +1374 1 1 0 40.1231 48.6693 49.1776 -0.987688 -0.133071 -0.0822422 0.490491 45 57.5 57.5 0 +1375 1 1 0 40.3336 49.3343 47.5267 -0.966643 -0.0665668 -0.247326 0.490491 45 57.5 57.5 0 +1376 1 1 0 40.1852 49.334 48.204 -0.981483 -0.0666046 -0.179596 0.490491 45 57.5 57.5 0 +1377 1 1 0 40.0835 49.3329 48.8961 -0.991648 -0.0667095 -0.110385 0.490491 45 57.5 57.5 0 +1378 1 1 0 40.0308 49.3326 49.5875 -0.996917 -0.0667412 -0.0412479 0.490491 45 57.5 57.5 0 +1379 1 1 0 40.7732 48.0161 46.6939 -0.922682 -0.198387 -0.330606 0.490491 45 57.5 57.5 0 +1380 1 1 0 40.5218 48.6743 47.1007 -0.947822 -0.13257 -0.289929 0.490491 45 57.5 57.5 0 +1381 1 1 0 40.5557 48.0091 47.3845 -0.944433 -0.199094 -0.26155 0.490491 45 57.5 57.5 0 +1382 1 1 0 41.4736 45.5554 52.7469 -0.85264 -0.444464 0.274694 0.490491 45 57.5 57.5 0 +1383 1 1 0 41.7155 45.5713 53.4285 -0.828447 -0.442867 0.342848 0.490491 45 57.5 57.5 0 +1384 1 1 0 41.0899 46.1381 52.3868 -0.891007 -0.386187 0.238677 0.490491 45 57.5 57.5 0 +1385 1 1 0 41.3027 46.1409 53.0766 -0.869725 -0.385906 0.307659 0.490491 45 57.5 57.5 0 +1386 1 1 0 41.5609 46.1639 53.7504 -0.843912 -0.383614 0.375038 0.490491 45 57.5 57.5 0 +1387 1 1 0 40.7612 46.7447 52.0119 -0.92388 -0.32553 0.201189 0.490491 45 57.5 57.5 0 +1388 1 1 0 40.9417 46.7407 52.7063 -0.905832 -0.325929 0.270627 0.490491 45 57.5 57.5 0 +1389 1 1 0 40.4894 47.3713 51.6246 -0.951057 -0.262865 0.16246 0.490491 45 57.5 57.5 0 +1390 1 1 0 40.6395 47.3585 52.3245 -0.93605 -0.264151 0.232455 0.490491 45 57.5 57.5 0 +1391 1 1 0 40.8376 47.3592 53.0126 -0.916244 -0.264082 0.301258 0.490491 45 57.5 57.5 0 +1392 1 1 0 41.1716 46.7514 53.3921 -0.882837 -0.324863 0.339209 0.490491 45 57.5 57.5 0 +1393 1 1 0 41.4466 46.7748 54.0543 -0.855337 -0.322525 0.405434 0.490491 45 57.5 57.5 0 +1394 1 1 0 41.0826 47.3734 53.6852 -0.891742 -0.262661 0.368518 0.490491 45 57.5 57.5 0 +1395 1 1 0 41.3733 47.4011 54.3389 -0.862669 -0.259892 0.433888 0.490491 45 57.5 57.5 0 +1396 1 1 0 40.2763 48.0142 51.2273 -0.97237 -0.198581 0.122729 0.490491 45 57.5 57.5 0 +1397 1 1 0 40.3881 48.0166 51.9178 -0.961188 -0.198337 0.19178 0.490491 45 57.5 57.5 0 +1398 1 1 0 40.1231 48.6693 50.8224 -0.987688 -0.133071 0.0822422 0.490491 45 57.5 57.5 0 +1399 1 1 0 40.2057 48.6674 51.5155 -0.979426 -0.133256 0.151549 0.490491 45 57.5 57.5 0 +1400 1 1 0 40.3361 48.6721 52.2012 -0.966393 -0.132792 0.220117 0.490491 45 57.5 57.5 0 +1401 1 1 0 40.0308 49.3326 50.4125 -0.996917 -0.0667412 0.0412479 0.490491 45 57.5 57.5 0 +1402 1 1 0 40.0835 49.3329 51.1039 -0.991648 -0.0667095 0.110385 0.490491 45 57.5 57.5 0 +1403 1 1 0 40.1852 49.334 51.796 -0.981483 -0.0666046 0.179596 0.490491 45 57.5 57.5 0 +1404 1 1 0 40.3336 49.3343 52.4733 -0.966643 -0.0665668 0.247326 0.490491 45 57.5 57.5 0 +1405 1 1 0 41.036 48.0359 53.9735 -0.896401 -0.196412 0.39735 0.490491 45 57.5 57.5 0 +1406 1 1 0 41.3413 48.0398 54.6027 -0.865871 -0.196015 0.460266 0.490491 45 57.5 57.5 0 +1407 1 1 0 40.757 48.6834 53.5823 -0.924305 -0.131656 0.358229 0.490491 45 57.5 57.5 0 +1408 1 1 0 41.032 48.6825 54.2236 -0.896801 -0.131749 0.422363 0.490491 45 57.5 57.5 0 +1409 1 1 0 41.3507 48.688 54.8444 -0.864929 -0.1312 0.484441 0.490491 45 57.5 57.5 0 +1410 1 1 0 40.538 49.3396 53.1678 -0.946198 -0.0660427 0.316778 0.490491 45 57.5 57.5 0 +1411 1 1 0 40.7808 49.3401 53.8172 -0.921919 -0.0659886 0.381722 0.490491 45 57.5 57.5 0 +1412 1 1 0 41.0707 49.3418 54.4537 -0.892927 -0.0658169 0.445365 0.490491 45 57.5 57.5 0 +1413 1 1 0 41.4015 49.3424 55.063 -0.859848 -0.0657577 0.506298 0.490491 45 57.5 57.5 0 +1414 1 1 0 40.5557 48.0091 52.6155 -0.944433 -0.199094 0.26155 0.490491 45 57.5 57.5 0 +1415 1 1 0 40.5218 48.6743 52.8993 -0.947822 -0.13257 0.289929 0.490491 45 57.5 57.5 0 +1416 1 1 0 40.7732 48.0161 53.3061 -0.922682 -0.198387 0.330606 0.490491 45 57.5 57.5 0 +1417 1 1 0 41.3147 45.4574 48.0177 -0.868535 -0.454262 -0.198227 0.490491 45 57.5 57.5 0 +1418 1 1 0 40.9516 46.0586 48.3899 -0.904839 -0.394136 -0.161007 0.490491 45 57.5 57.5 0 +1419 1 1 0 40.6487 46.6766 48.772 -0.93513 -0.332342 -0.1228 0.490491 45 57.5 57.5 0 +1420 1 1 0 40.8702 46.0039 49.1768 -0.912983 -0.399607 -0.0823235 0.490491 45 57.5 57.5 0 +1421 1 1 0 41.2066 45.3912 48.8024 -0.879344 -0.460882 -0.119755 0.490491 45 57.5 57.5 0 +1422 1 1 0 41.1524 45.3579 49.587 -0.88476 -0.464213 -0.0412991 0.490491 45 57.5 57.5 0 +1423 1 1 0 40.3935 47.3448 49.185 -0.960655 -0.265519 -0.081501 0.490491 45 57.5 57.5 0 +1424 1 1 0 40.2115 47.9963 49.5875 -0.978852 -0.200368 -0.0412506 0.490491 45 57.5 57.5 0 +1425 1 1 0 40.3614 47.336 50 -0.963861 -0.266405 0 0.490491 45 57.5 57.5 0 +1426 1 1 0 40.0895 48.6648 50 -0.991046 -0.133524 0 0.490491 45 57.5 57.5 0 +1427 1 1 0 40.2115 47.9963 50.4125 -0.978852 -0.200368 0.0412506 0.490491 45 57.5 57.5 0 +1428 1 1 0 40.3935 47.3448 50.815 -0.960655 -0.265519 0.081501 0.490491 45 57.5 57.5 0 +1429 1 1 0 41.1524 45.3579 50.413 -0.88476 -0.464213 0.0412991 0.490491 45 57.5 57.5 0 +1430 1 1 0 40.8702 46.0039 50.8232 -0.912983 -0.399607 0.0823235 0.490491 45 57.5 57.5 0 +1431 1 1 0 41.2066 45.3912 51.1976 -0.879344 -0.460882 0.119755 0.490491 45 57.5 57.5 0 +1432 1 1 0 40.6487 46.6766 51.228 -0.93513 -0.332342 0.1228 0.490491 45 57.5 57.5 0 +1433 1 1 0 40.9516 46.0586 51.6101 -0.904839 -0.394136 0.161007 0.490491 45 57.5 57.5 0 +1434 1 1 0 41.3147 45.4574 51.9823 -0.868535 -0.454262 0.198227 0.490491 45 57.5 57.5 0 +1435 1 1 0 40.5838 46.6586 49.587 -0.941618 -0.33414 -0.0413021 0.490491 45 57.5 57.5 0 +1436 1 1 0 40.5838 46.6586 50.413 -0.941618 -0.33414 0.0413021 0.490491 45 57.5 57.5 0 +1437 1 1 0 40.8391 45.9903 50 -0.916092 -0.400968 0 0.490491 45 57.5 57.5 0 +1438 1 1 0 55.7206 58.1921 49.5936 0.572055 0.819207 -0.0406403 0.490491 45 57.5 57.5 0 +1439 1 1 0 55.7206 58.1921 50.4064 0.572055 0.819207 0.0406403 0.490491 45 57.5 57.5 0 +1440 1 1 0 56.1564 57.8384 49.1891 0.615642 0.783843 -0.081086 0.490491 45 57.5 57.5 0 +1441 1 1 0 56.1768 57.8643 50 0.617676 0.786433 0 0.490491 45 57.5 57.5 0 +1442 1 1 0 56.1564 57.8384 50.8109 0.615642 0.783843 0.081086 0.490491 45 57.5 57.5 0 +1443 1 1 0 56.5628 57.4473 48.7886 0.656282 0.744727 -0.121144 0.490491 45 57.5 57.5 0 +1444 1 1 0 56.6088 57.4939 49.5936 0.660883 0.749387 -0.0406418 0.490491 45 57.5 57.5 0 +1445 1 1 0 56.9378 57.0205 48.3938 0.69378 0.702047 -0.160622 0.490491 45 57.5 57.5 0 +1446 1 1 0 57.0062 57.0897 49.1943 0.700622 0.708969 -0.0805729 0.490491 45 57.5 57.5 0 +1447 1 1 0 57.0291 57.1128 50 0.702907 0.711282 0 0.490491 45 57.5 57.5 0 +1448 1 1 0 56.6088 57.4939 50.4064 0.660883 0.749387 0.0406418 0.490491 45 57.5 57.5 0 +1449 1 1 0 56.5628 57.4473 51.2114 0.656282 0.744727 0.121144 0.490491 45 57.5 57.5 0 +1450 1 1 0 57.0062 57.0897 50.8057 0.700622 0.708969 0.0805729 0.490491 45 57.5 57.5 0 +1451 1 1 0 56.9378 57.0205 51.6062 0.69378 0.702047 0.160622 0.490491 45 57.5 57.5 0 +1452 1 1 0 57.2796 56.5601 48.0067 0.727959 0.656006 -0.199331 0.490491 45 57.5 57.5 0 +1453 1 1 0 57.3889 56.6284 48.7881 0.738887 0.662842 -0.121192 0.490491 45 57.5 57.5 0 +1454 1 1 0 57.5865 56.0683 47.6291 0.758652 0.606825 -0.237086 0.490491 45 57.5 57.5 0 +1455 1 1 0 57.7184 56.1546 48.4039 0.771841 0.615456 -0.159613 0.490491 45 57.5 57.5 0 +1456 1 1 0 57.802 56.2024 49.1886 0.780205 0.620239 -0.0811417 0.490491 45 57.5 57.5 0 +1457 1 1 0 57.8572 55.5474 47.2629 0.785715 0.55474 -0.273706 0.490491 45 57.5 57.5 0 +1458 1 1 0 58.015 55.6451 48.0273 0.801504 0.564513 -0.197274 0.490491 45 57.5 57.5 0 +1459 1 1 0 58.0902 55 46.9098 0.809017 0.5 -0.309017 0.490491 45 57.5 57.5 0 +1460 1 1 0 58.2715 55.112 47.6655 0.827147 0.511205 -0.233445 0.490491 45 57.5 57.5 0 +1461 1 1 0 58.4018 55.1926 48.4357 0.840178 0.519259 -0.156434 0.490491 45 57.5 57.5 0 +1462 1 1 0 58.1217 55.7114 48.8092 0.81217 0.57114 -0.119078 0.490491 45 57.5 57.5 0 +1463 1 1 0 58.1752 55.7446 49.5933 0.817523 0.574458 -0.040675 0.490491 45 57.5 57.5 0 +1464 1 1 0 58.4803 55.2411 49.2154 0.848029 0.52411 -0.0784592 0.490491 45 57.5 57.5 0 +1465 1 1 0 58.5065 55.2573 50 0.850651 0.525731 0 0.490491 45 57.5 57.5 0 +1466 1 1 0 57.3889 56.6284 51.2119 0.738887 0.662842 0.121192 0.490491 45 57.5 57.5 0 +1467 1 1 0 57.2796 56.5601 51.9933 0.727959 0.656006 0.199331 0.490491 45 57.5 57.5 0 +1468 1 1 0 57.802 56.2024 50.8114 0.780205 0.620239 0.0811417 0.490491 45 57.5 57.5 0 +1469 1 1 0 57.7184 56.1546 51.5961 0.771841 0.615456 0.159613 0.490491 45 57.5 57.5 0 +1470 1 1 0 57.5865 56.0683 52.3709 0.758652 0.606825 0.237086 0.490491 45 57.5 57.5 0 +1471 1 1 0 58.1752 55.7446 50.4067 0.817523 0.574458 0.040675 0.490491 45 57.5 57.5 0 +1472 1 1 0 58.1217 55.7114 51.1908 0.81217 0.57114 0.119078 0.490491 45 57.5 57.5 0 +1473 1 1 0 58.4803 55.2411 50.7846 0.848029 0.52411 0.0784592 0.490491 45 57.5 57.5 0 +1474 1 1 0 58.4018 55.1926 51.5643 0.840178 0.519259 0.156434 0.490491 45 57.5 57.5 0 +1475 1 1 0 58.015 55.6451 51.9727 0.801504 0.564513 0.197274 0.490491 45 57.5 57.5 0 +1476 1 1 0 57.8572 55.5474 52.7371 0.785715 0.55474 0.273706 0.490491 45 57.5 57.5 0 +1477 1 1 0 58.2715 55.112 52.3345 0.827147 0.511205 0.233445 0.490491 45 57.5 57.5 0 +1478 1 1 0 58.0902 55 53.0902 0.809017 0.5 0.309017 0.490491 45 57.5 57.5 0 +1479 1 1 0 57.435 56.675 49.5932 0.743496 0.667502 -0.0406769 0.490491 45 57.5 57.5 0 +1480 1 1 0 57.8279 56.2229 50 0.782786 0.622291 0 0.490491 45 57.5 57.5 0 +1481 1 1 0 57.435 56.675 50.4068 0.743496 0.667502 0.0406769 0.490491 45 57.5 57.5 0 +1482 1 1 0 58.2845 54.4287 46.5715 0.828447 0.442867 -0.342848 0.490491 45 57.5 57.5 0 +1483 1 1 0 58.5264 54.4446 47.2531 0.85264 0.444464 -0.274694 0.490491 45 57.5 57.5 0 +1484 1 1 0 58.4391 53.8361 46.2496 0.843912 0.383614 -0.375038 0.490491 45 57.5 57.5 0 +1485 1 1 0 58.6973 53.8591 46.9234 0.869725 0.385906 -0.307659 0.490491 45 57.5 57.5 0 +1486 1 1 0 58.9101 53.8619 47.6132 0.891007 0.386187 -0.238677 0.490491 45 57.5 57.5 0 +1487 1 1 0 58.5534 53.2252 45.9457 0.855337 0.322525 -0.405434 0.490491 45 57.5 57.5 0 +1488 1 1 0 58.8284 53.2486 46.6079 0.882837 0.324863 -0.339209 0.490491 45 57.5 57.5 0 +1489 1 1 0 58.6267 52.5989 45.6611 0.862669 0.259892 -0.433888 0.490491 45 57.5 57.5 0 +1490 1 1 0 58.9174 52.6266 46.3148 0.891742 0.262661 -0.368518 0.490491 45 57.5 57.5 0 +1491 1 1 0 59.1624 52.6408 46.9874 0.916244 0.264082 -0.301258 0.490491 45 57.5 57.5 0 +1492 1 1 0 59.0583 53.2593 47.2937 0.905832 0.325929 -0.270627 0.490491 45 57.5 57.5 0 +1493 1 1 0 59.2388 53.2553 47.9881 0.92388 0.32553 -0.201189 0.490491 45 57.5 57.5 0 +1494 1 1 0 59.3605 52.6415 47.6755 0.93605 0.264151 -0.232455 0.490491 45 57.5 57.5 0 +1495 1 1 0 59.5106 52.6287 48.3754 0.951057 0.262865 -0.16246 0.490491 45 57.5 57.5 0 +1496 1 1 0 58.6587 51.9602 45.3973 0.865871 0.196015 -0.460266 0.490491 45 57.5 57.5 0 +1497 1 1 0 58.964 51.9641 46.0265 0.896401 0.196412 -0.39735 0.490491 45 57.5 57.5 0 +1498 1 1 0 58.6493 51.312 45.1556 0.864929 0.1312 -0.484441 0.490491 45 57.5 57.5 0 +1499 1 1 0 58.968 51.3175 45.7764 0.896801 0.131749 -0.422363 0.490491 45 57.5 57.5 0 +1500 1 1 0 59.243 51.3166 46.4177 0.924305 0.131656 -0.358229 0.490491 45 57.5 57.5 0 +1501 1 1 0 58.5985 50.6576 44.937 0.859848 0.0657577 -0.506298 0.490491 45 57.5 57.5 0 +1502 1 1 0 58.9293 50.6582 45.5463 0.892927 0.0658169 -0.445365 0.490491 45 57.5 57.5 0 +1503 1 1 0 58.8497 50 45.3434 0.884965 0 -0.465657 0.490491 45 57.5 57.5 0 +1504 1 1 0 59.1504 50 45.9664 0.915043 0 -0.403355 0.490491 45 57.5 57.5 0 +1505 1 1 0 59.2192 50.6599 46.1828 0.921919 0.0659886 -0.381722 0.490491 45 57.5 57.5 0 +1506 1 1 0 59.462 50.6604 46.8322 0.946198 0.0660427 -0.316778 0.490491 45 57.5 57.5 0 +1507 1 1 0 59.4074 50 46.6088 0.940742 0 -0.339122 0.490491 45 57.5 57.5 0 +1508 1 1 0 59.6194 50 47.2673 0.961938 0 -0.273267 0.490491 45 57.5 57.5 0 +1509 1 1 0 59.6119 51.9834 48.0822 0.961188 0.198337 -0.19178 0.490491 45 57.5 57.5 0 +1510 1 1 0 59.7237 51.9858 48.7727 0.97237 0.198581 -0.122729 0.490491 45 57.5 57.5 0 +1511 1 1 0 59.6639 51.3279 47.7988 0.966393 0.132792 -0.220117 0.490491 45 57.5 57.5 0 +1512 1 1 0 59.7943 51.3326 48.4845 0.979426 0.133256 -0.151549 0.490491 45 57.5 57.5 0 +1513 1 1 0 59.8769 51.3307 49.1776 0.987688 0.133071 -0.0822422 0.490491 45 57.5 57.5 0 +1514 1 1 0 59.6664 50.6657 47.5267 0.966643 0.0665668 -0.247326 0.490491 45 57.5 57.5 0 +1515 1 1 0 59.8148 50.666 48.204 0.981483 0.0666046 -0.179596 0.490491 45 57.5 57.5 0 +1516 1 1 0 59.7853 50 47.939 0.97853 0 -0.206103 0.490491 45 57.5 57.5 0 +1517 1 1 0 59.9044 50 48.6205 0.990439 0 -0.137952 0.490491 45 57.5 57.5 0 +1518 1 1 0 59.9165 50.6671 48.8961 0.991648 0.0667095 -0.110385 0.490491 45 57.5 57.5 0 +1519 1 1 0 59.9692 50.6674 49.5875 0.996917 0.0667412 -0.0412479 0.490491 45 57.5 57.5 0 +1520 1 1 0 59.9761 50 49.3086 0.997607 0 -0.0691418 0.490491 45 57.5 57.5 0 +1521 1 1 0 60 50 50 1 0 0 0.490491 45 57.5 57.5 0 +1522 1 1 0 59.2268 51.9839 46.6939 0.922682 0.198387 -0.330606 0.490491 45 57.5 57.5 0 +1523 1 1 0 59.4782 51.3257 47.1007 0.947822 0.13257 -0.289929 0.490491 45 57.5 57.5 0 +1524 1 1 0 59.4443 51.9909 47.3845 0.944433 0.199094 -0.26155 0.490491 45 57.5 57.5 0 +1525 1 1 0 58.5264 54.4446 52.7469 0.85264 0.444464 0.274694 0.490491 45 57.5 57.5 0 +1526 1 1 0 58.2845 54.4287 53.4285 0.828447 0.442867 0.342848 0.490491 45 57.5 57.5 0 +1527 1 1 0 58.9101 53.8619 52.3868 0.891007 0.386187 0.238677 0.490491 45 57.5 57.5 0 +1528 1 1 0 58.6973 53.8591 53.0766 0.869725 0.385906 0.307659 0.490491 45 57.5 57.5 0 +1529 1 1 0 58.4391 53.8361 53.7504 0.843912 0.383614 0.375038 0.490491 45 57.5 57.5 0 +1530 1 1 0 59.2388 53.2553 52.0119 0.92388 0.32553 0.201189 0.490491 45 57.5 57.5 0 +1531 1 1 0 59.0583 53.2593 52.7063 0.905832 0.325929 0.270627 0.490491 45 57.5 57.5 0 +1532 1 1 0 59.5106 52.6287 51.6246 0.951057 0.262865 0.16246 0.490491 45 57.5 57.5 0 +1533 1 1 0 59.3605 52.6415 52.3245 0.93605 0.264151 0.232455 0.490491 45 57.5 57.5 0 +1534 1 1 0 59.1624 52.6408 53.0126 0.916244 0.264082 0.301258 0.490491 45 57.5 57.5 0 +1535 1 1 0 58.8284 53.2486 53.3921 0.882837 0.324863 0.339209 0.490491 45 57.5 57.5 0 +1536 1 1 0 58.5534 53.2252 54.0543 0.855337 0.322525 0.405434 0.490491 45 57.5 57.5 0 +1537 1 1 0 58.9174 52.6266 53.6852 0.891742 0.262661 0.368518 0.490491 45 57.5 57.5 0 +1538 1 1 0 58.6267 52.5989 54.3389 0.862669 0.259892 0.433888 0.490491 45 57.5 57.5 0 +1539 1 1 0 59.7237 51.9858 51.2273 0.97237 0.198581 0.122729 0.490491 45 57.5 57.5 0 +1540 1 1 0 59.6119 51.9834 51.9178 0.961188 0.198337 0.19178 0.490491 45 57.5 57.5 0 +1541 1 1 0 59.8769 51.3307 50.8224 0.987688 0.133071 0.0822422 0.490491 45 57.5 57.5 0 +1542 1 1 0 59.7943 51.3326 51.5155 0.979426 0.133256 0.151549 0.490491 45 57.5 57.5 0 +1543 1 1 0 59.6639 51.3279 52.2012 0.966393 0.132792 0.220117 0.490491 45 57.5 57.5 0 +1544 1 1 0 59.9692 50.6674 50.4125 0.996917 0.0667412 0.0412479 0.490491 45 57.5 57.5 0 +1545 1 1 0 59.9165 50.6671 51.1039 0.991648 0.0667095 0.110385 0.490491 45 57.5 57.5 0 +1546 1 1 0 59.9761 50 50.6914 0.997607 0 0.0691418 0.490491 45 57.5 57.5 0 +1547 1 1 0 59.9044 50 51.3795 0.990439 0 0.137952 0.490491 45 57.5 57.5 0 +1548 1 1 0 59.8148 50.666 51.796 0.981483 0.0666046 0.179596 0.490491 45 57.5 57.5 0 +1549 1 1 0 59.6664 50.6657 52.4733 0.966643 0.0665668 0.247326 0.490491 45 57.5 57.5 0 +1550 1 1 0 59.7853 50 52.061 0.97853 0 0.206103 0.490491 45 57.5 57.5 0 +1551 1 1 0 59.6194 50 52.7327 0.961938 0 0.273267 0.490491 45 57.5 57.5 0 +1552 1 1 0 58.964 51.9641 53.9735 0.896401 0.196412 0.39735 0.490491 45 57.5 57.5 0 +1553 1 1 0 58.6587 51.9602 54.6027 0.865871 0.196015 0.460266 0.490491 45 57.5 57.5 0 +1554 1 1 0 59.243 51.3166 53.5823 0.924305 0.131656 0.358229 0.490491 45 57.5 57.5 0 +1555 1 1 0 58.968 51.3175 54.2236 0.896801 0.131749 0.422363 0.490491 45 57.5 57.5 0 +1556 1 1 0 58.6493 51.312 54.8444 0.864929 0.1312 0.484441 0.490491 45 57.5 57.5 0 +1557 1 1 0 59.462 50.6604 53.1678 0.946198 0.0660427 0.316778 0.490491 45 57.5 57.5 0 +1558 1 1 0 59.2192 50.6599 53.8172 0.921919 0.0659886 0.381722 0.490491 45 57.5 57.5 0 +1559 1 1 0 59.4074 50 53.3912 0.940742 0 0.339122 0.490491 45 57.5 57.5 0 +1560 1 1 0 59.1504 50 54.0336 0.915043 0 0.403355 0.490491 45 57.5 57.5 0 +1561 1 1 0 58.9293 50.6582 54.4537 0.892927 0.0658169 0.445365 0.490491 45 57.5 57.5 0 +1562 1 1 0 58.5985 50.6576 55.063 0.859848 0.0657577 0.506298 0.490491 45 57.5 57.5 0 +1563 1 1 0 58.8497 50 54.6566 0.884965 0 0.465657 0.490491 45 57.5 57.5 0 +1564 1 1 0 59.4443 51.9909 52.6155 0.944433 0.199094 0.26155 0.490491 45 57.5 57.5 0 +1565 1 1 0 59.4782 51.3257 52.8993 0.947822 0.13257 0.289929 0.490491 45 57.5 57.5 0 +1566 1 1 0 59.2268 51.9839 53.3061 0.922682 0.198387 0.330606 0.490491 45 57.5 57.5 0 +1567 1 1 0 58.6853 54.5426 48.0177 0.868535 0.454262 -0.198227 0.490491 45 57.5 57.5 0 +1568 1 1 0 59.0484 53.9414 48.3899 0.904839 0.394136 -0.161007 0.490491 45 57.5 57.5 0 +1569 1 1 0 59.3513 53.3234 48.772 0.93513 0.332342 -0.1228 0.490491 45 57.5 57.5 0 +1570 1 1 0 59.1298 53.9961 49.1768 0.912983 0.399607 -0.0823235 0.490491 45 57.5 57.5 0 +1571 1 1 0 58.7934 54.6088 48.8024 0.879344 0.460882 -0.119755 0.490491 45 57.5 57.5 0 +1572 1 1 0 58.8476 54.6421 49.587 0.88476 0.464213 -0.0412991 0.490491 45 57.5 57.5 0 +1573 1 1 0 59.6065 52.6552 49.185 0.960655 0.265519 -0.081501 0.490491 45 57.5 57.5 0 +1574 1 1 0 59.7885 52.0037 49.5875 0.978852 0.200368 -0.0412506 0.490491 45 57.5 57.5 0 +1575 1 1 0 59.6386 52.664 50 0.963861 0.266405 0 0.490491 45 57.5 57.5 0 +1576 1 1 0 59.9105 51.3352 50 0.991046 0.133524 0 0.490491 45 57.5 57.5 0 +1577 1 1 0 59.7885 52.0037 50.4125 0.978852 0.200368 0.0412506 0.490491 45 57.5 57.5 0 +1578 1 1 0 59.6065 52.6552 50.815 0.960655 0.265519 0.081501 0.490491 45 57.5 57.5 0 +1579 1 1 0 58.8476 54.6421 50.413 0.88476 0.464213 0.0412991 0.490491 45 57.5 57.5 0 +1580 1 1 0 59.1298 53.9961 50.8232 0.912983 0.399607 0.0823235 0.490491 45 57.5 57.5 0 +1581 1 1 0 58.7934 54.6088 51.1976 0.879344 0.460882 0.119755 0.490491 45 57.5 57.5 0 +1582 1 1 0 59.3513 53.3234 51.228 0.93513 0.332342 0.1228 0.490491 45 57.5 57.5 0 +1583 1 1 0 59.0484 53.9414 51.6101 0.904839 0.394136 0.161007 0.490491 45 57.5 57.5 0 +1584 1 1 0 58.6853 54.5426 51.9823 0.868535 0.454262 0.198227 0.490491 45 57.5 57.5 0 +1585 1 1 0 59.4162 53.3414 49.587 0.941618 0.33414 -0.0413021 0.490491 45 57.5 57.5 0 +1586 1 1 0 59.4162 53.3414 50.413 0.941618 0.33414 0.0413021 0.490491 45 57.5 57.5 0 +1587 1 1 0 59.1609 54.0097 50 0.916092 0.400968 0 0.490491 45 57.5 57.5 0 +1588 1 1 0 55.7206 41.8079 50.4064 0.572055 -0.819207 0.0406403 0.490491 45 57.5 57.5 0 +1589 1 1 0 55.7206 41.8079 49.5936 0.572055 -0.819207 -0.0406403 0.490491 45 57.5 57.5 0 +1590 1 1 0 56.1564 42.1616 50.8109 0.615642 -0.783843 0.081086 0.490491 45 57.5 57.5 0 +1591 1 1 0 56.1768 42.1357 50 0.617676 -0.786433 0 0.490491 45 57.5 57.5 0 +1592 1 1 0 56.1564 42.1616 49.1891 0.615642 -0.783843 -0.081086 0.490491 45 57.5 57.5 0 +1593 1 1 0 56.5628 42.5527 51.2114 0.656282 -0.744727 0.121144 0.490491 45 57.5 57.5 0 +1594 1 1 0 56.6088 42.5061 50.4064 0.660883 -0.749387 0.0406418 0.490491 45 57.5 57.5 0 +1595 1 1 0 56.9378 42.9795 51.6062 0.69378 -0.702047 0.160622 0.490491 45 57.5 57.5 0 +1596 1 1 0 57.0062 42.9103 50.8057 0.700622 -0.708969 0.0805729 0.490491 45 57.5 57.5 0 +1597 1 1 0 57.0291 42.8872 50 0.702907 -0.711282 0 0.490491 45 57.5 57.5 0 +1598 1 1 0 56.6088 42.5061 49.5936 0.660883 -0.749387 -0.0406418 0.490491 45 57.5 57.5 0 +1599 1 1 0 56.5628 42.5527 48.7886 0.656282 -0.744727 -0.121144 0.490491 45 57.5 57.5 0 +1600 1 1 0 57.0062 42.9103 49.1943 0.700622 -0.708969 -0.0805729 0.490491 45 57.5 57.5 0 +1601 1 1 0 56.9378 42.9795 48.3938 0.69378 -0.702047 -0.160622 0.490491 45 57.5 57.5 0 +1602 1 1 0 57.2796 43.4399 51.9933 0.727959 -0.656006 0.199331 0.490491 45 57.5 57.5 0 +1603 1 1 0 57.3889 43.3716 51.2119 0.738887 -0.662842 0.121192 0.490491 45 57.5 57.5 0 +1604 1 1 0 57.5865 43.9317 52.3709 0.758652 -0.606825 0.237086 0.490491 45 57.5 57.5 0 +1605 1 1 0 57.7184 43.8454 51.5961 0.771841 -0.615456 0.159613 0.490491 45 57.5 57.5 0 +1606 1 1 0 57.802 43.7976 50.8114 0.780205 -0.620239 0.0811417 0.490491 45 57.5 57.5 0 +1607 1 1 0 57.8572 44.4526 52.7371 0.785715 -0.55474 0.273706 0.490491 45 57.5 57.5 0 +1608 1 1 0 58.015 44.3549 51.9727 0.801504 -0.564513 0.197274 0.490491 45 57.5 57.5 0 +1609 1 1 0 58.0902 45 53.0902 0.809017 -0.5 0.309017 0.490491 45 57.5 57.5 0 +1610 1 1 0 58.2715 44.888 52.3345 0.827147 -0.511205 0.233445 0.490491 45 57.5 57.5 0 +1611 1 1 0 58.4018 44.8074 51.5643 0.840178 -0.519259 0.156434 0.490491 45 57.5 57.5 0 +1612 1 1 0 58.1217 44.2886 51.1908 0.81217 -0.57114 0.119078 0.490491 45 57.5 57.5 0 +1613 1 1 0 58.1752 44.2554 50.4067 0.817523 -0.574458 0.040675 0.490491 45 57.5 57.5 0 +1614 1 1 0 58.4803 44.7589 50.7846 0.848029 -0.52411 0.0784592 0.490491 45 57.5 57.5 0 +1615 1 1 0 58.5065 44.7427 50 0.850651 -0.525731 0 0.490491 45 57.5 57.5 0 +1616 1 1 0 57.3889 43.3716 48.7881 0.738887 -0.662842 -0.121192 0.490491 45 57.5 57.5 0 +1617 1 1 0 57.2796 43.4399 48.0067 0.727959 -0.656006 -0.199331 0.490491 45 57.5 57.5 0 +1618 1 1 0 57.802 43.7976 49.1886 0.780205 -0.620239 -0.0811417 0.490491 45 57.5 57.5 0 +1619 1 1 0 57.7184 43.8454 48.4039 0.771841 -0.615456 -0.159613 0.490491 45 57.5 57.5 0 +1620 1 1 0 57.5865 43.9317 47.6291 0.758652 -0.606825 -0.237086 0.490491 45 57.5 57.5 0 +1621 1 1 0 58.1752 44.2554 49.5933 0.817523 -0.574458 -0.040675 0.490491 45 57.5 57.5 0 +1622 1 1 0 58.1217 44.2886 48.8092 0.81217 -0.57114 -0.119078 0.490491 45 57.5 57.5 0 +1623 1 1 0 58.4803 44.7589 49.2154 0.848029 -0.52411 -0.0784592 0.490491 45 57.5 57.5 0 +1624 1 1 0 58.4018 44.8074 48.4357 0.840178 -0.519259 -0.156434 0.490491 45 57.5 57.5 0 +1625 1 1 0 58.015 44.3549 48.0273 0.801504 -0.564513 -0.197274 0.490491 45 57.5 57.5 0 +1626 1 1 0 57.8572 44.4526 47.2629 0.785715 -0.55474 -0.273706 0.490491 45 57.5 57.5 0 +1627 1 1 0 58.2715 44.888 47.6655 0.827147 -0.511205 -0.233445 0.490491 45 57.5 57.5 0 +1628 1 1 0 58.0902 45 46.9098 0.809017 -0.5 -0.309017 0.490491 45 57.5 57.5 0 +1629 1 1 0 57.435 43.325 50.4068 0.743496 -0.667502 0.0406769 0.490491 45 57.5 57.5 0 +1630 1 1 0 57.8279 43.7771 50 0.782786 -0.622291 0 0.490491 45 57.5 57.5 0 +1631 1 1 0 57.435 43.325 49.5932 0.743496 -0.667502 -0.0406769 0.490491 45 57.5 57.5 0 +1632 1 1 0 58.2845 45.5713 53.4285 0.828447 -0.442867 0.342848 0.490491 45 57.5 57.5 0 +1633 1 1 0 58.5264 45.5554 52.7469 0.85264 -0.444464 0.274694 0.490491 45 57.5 57.5 0 +1634 1 1 0 58.4391 46.1639 53.7504 0.843912 -0.383614 0.375038 0.490491 45 57.5 57.5 0 +1635 1 1 0 58.6973 46.1409 53.0766 0.869725 -0.385906 0.307659 0.490491 45 57.5 57.5 0 +1636 1 1 0 58.9101 46.1381 52.3868 0.891007 -0.386187 0.238677 0.490491 45 57.5 57.5 0 +1637 1 1 0 58.5534 46.7748 54.0543 0.855337 -0.322525 0.405434 0.490491 45 57.5 57.5 0 +1638 1 1 0 58.8284 46.7514 53.3921 0.882837 -0.324863 0.339209 0.490491 45 57.5 57.5 0 +1639 1 1 0 58.6267 47.4011 54.3389 0.862669 -0.259892 0.433888 0.490491 45 57.5 57.5 0 +1640 1 1 0 58.9174 47.3734 53.6852 0.891742 -0.262661 0.368518 0.490491 45 57.5 57.5 0 +1641 1 1 0 59.1624 47.3592 53.0126 0.916244 -0.264082 0.301258 0.490491 45 57.5 57.5 0 +1642 1 1 0 59.0583 46.7407 52.7063 0.905832 -0.325929 0.270627 0.490491 45 57.5 57.5 0 +1643 1 1 0 59.2388 46.7447 52.0119 0.92388 -0.32553 0.201189 0.490491 45 57.5 57.5 0 +1644 1 1 0 59.3605 47.3585 52.3245 0.93605 -0.264151 0.232455 0.490491 45 57.5 57.5 0 +1645 1 1 0 59.5106 47.3713 51.6246 0.951057 -0.262865 0.16246 0.490491 45 57.5 57.5 0 +1646 1 1 0 58.6587 48.0398 54.6027 0.865871 -0.196015 0.460266 0.490491 45 57.5 57.5 0 +1647 1 1 0 58.964 48.0359 53.9735 0.896401 -0.196412 0.39735 0.490491 45 57.5 57.5 0 +1648 1 1 0 58.6493 48.688 54.8444 0.864929 -0.1312 0.484441 0.490491 45 57.5 57.5 0 +1649 1 1 0 58.968 48.6825 54.2236 0.896801 -0.131749 0.422363 0.490491 45 57.5 57.5 0 +1650 1 1 0 59.243 48.6834 53.5823 0.924305 -0.131656 0.358229 0.490491 45 57.5 57.5 0 +1651 1 1 0 58.5985 49.3424 55.063 0.859848 -0.0657577 0.506298 0.490491 45 57.5 57.5 0 +1652 1 1 0 58.9293 49.3418 54.4537 0.892927 -0.0658169 0.445365 0.490491 45 57.5 57.5 0 +1653 1 1 0 59.2192 49.3401 53.8172 0.921919 -0.0659886 0.381722 0.490491 45 57.5 57.5 0 +1654 1 1 0 59.462 49.3396 53.1678 0.946198 -0.0660427 0.316778 0.490491 45 57.5 57.5 0 +1655 1 1 0 59.6119 48.0166 51.9178 0.961188 -0.198337 0.19178 0.490491 45 57.5 57.5 0 +1656 1 1 0 59.7237 48.0142 51.2273 0.97237 -0.198581 0.122729 0.490491 45 57.5 57.5 0 +1657 1 1 0 59.6639 48.6721 52.2012 0.966393 -0.132792 0.220117 0.490491 45 57.5 57.5 0 +1658 1 1 0 59.7943 48.6674 51.5155 0.979426 -0.133256 0.151549 0.490491 45 57.5 57.5 0 +1659 1 1 0 59.8769 48.6693 50.8224 0.987688 -0.133071 0.0822422 0.490491 45 57.5 57.5 0 +1660 1 1 0 59.6664 49.3343 52.4733 0.966643 -0.0665668 0.247326 0.490491 45 57.5 57.5 0 +1661 1 1 0 59.8148 49.334 51.796 0.981483 -0.0666046 0.179596 0.490491 45 57.5 57.5 0 +1662 1 1 0 59.9165 49.3329 51.1039 0.991648 -0.0667095 0.110385 0.490491 45 57.5 57.5 0 +1663 1 1 0 59.9692 49.3326 50.4125 0.996917 -0.0667412 0.0412479 0.490491 45 57.5 57.5 0 +1664 1 1 0 59.2268 48.0161 53.3061 0.922682 -0.198387 0.330606 0.490491 45 57.5 57.5 0 +1665 1 1 0 59.4782 48.6743 52.8993 0.947822 -0.13257 0.289929 0.490491 45 57.5 57.5 0 +1666 1 1 0 59.4443 48.0091 52.6155 0.944433 -0.199094 0.26155 0.490491 45 57.5 57.5 0 +1667 1 1 0 58.5264 45.5554 47.2531 0.85264 -0.444464 -0.274694 0.490491 45 57.5 57.5 0 +1668 1 1 0 58.2845 45.5713 46.5715 0.828447 -0.442867 -0.342848 0.490491 45 57.5 57.5 0 +1669 1 1 0 58.9101 46.1381 47.6132 0.891007 -0.386187 -0.238677 0.490491 45 57.5 57.5 0 +1670 1 1 0 58.6973 46.1409 46.9234 0.869725 -0.385906 -0.307659 0.490491 45 57.5 57.5 0 +1671 1 1 0 58.4391 46.1639 46.2496 0.843912 -0.383614 -0.375038 0.490491 45 57.5 57.5 0 +1672 1 1 0 59.2388 46.7447 47.9881 0.92388 -0.32553 -0.201189 0.490491 45 57.5 57.5 0 +1673 1 1 0 59.0583 46.7407 47.2937 0.905832 -0.325929 -0.270627 0.490491 45 57.5 57.5 0 +1674 1 1 0 59.5106 47.3713 48.3754 0.951057 -0.262865 -0.16246 0.490491 45 57.5 57.5 0 +1675 1 1 0 59.3605 47.3585 47.6755 0.93605 -0.264151 -0.232455 0.490491 45 57.5 57.5 0 +1676 1 1 0 59.1624 47.3592 46.9874 0.916244 -0.264082 -0.301258 0.490491 45 57.5 57.5 0 +1677 1 1 0 58.8284 46.7514 46.6079 0.882837 -0.324863 -0.339209 0.490491 45 57.5 57.5 0 +1678 1 1 0 58.5534 46.7748 45.9457 0.855337 -0.322525 -0.405434 0.490491 45 57.5 57.5 0 +1679 1 1 0 58.9174 47.3734 46.3148 0.891742 -0.262661 -0.368518 0.490491 45 57.5 57.5 0 +1680 1 1 0 58.6267 47.4011 45.6611 0.862669 -0.259892 -0.433888 0.490491 45 57.5 57.5 0 +1681 1 1 0 59.7237 48.0142 48.7727 0.97237 -0.198581 -0.122729 0.490491 45 57.5 57.5 0 +1682 1 1 0 59.6119 48.0166 48.0822 0.961188 -0.198337 -0.19178 0.490491 45 57.5 57.5 0 +1683 1 1 0 59.8769 48.6693 49.1776 0.987688 -0.133071 -0.0822422 0.490491 45 57.5 57.5 0 +1684 1 1 0 59.7943 48.6674 48.4845 0.979426 -0.133256 -0.151549 0.490491 45 57.5 57.5 0 +1685 1 1 0 59.6639 48.6721 47.7988 0.966393 -0.132792 -0.220117 0.490491 45 57.5 57.5 0 +1686 1 1 0 59.9692 49.3326 49.5875 0.996917 -0.0667412 -0.0412479 0.490491 45 57.5 57.5 0 +1687 1 1 0 59.9165 49.3329 48.8961 0.991648 -0.0667095 -0.110385 0.490491 45 57.5 57.5 0 +1688 1 1 0 59.8148 49.334 48.204 0.981483 -0.0666046 -0.179596 0.490491 45 57.5 57.5 0 +1689 1 1 0 59.6664 49.3343 47.5267 0.966643 -0.0665668 -0.247326 0.490491 45 57.5 57.5 0 +1690 1 1 0 58.964 48.0359 46.0265 0.896401 -0.196412 -0.39735 0.490491 45 57.5 57.5 0 +1691 1 1 0 58.6587 48.0398 45.3973 0.865871 -0.196015 -0.460266 0.490491 45 57.5 57.5 0 +1692 1 1 0 59.243 48.6834 46.4177 0.924305 -0.131656 -0.358229 0.490491 45 57.5 57.5 0 +1693 1 1 0 58.968 48.6825 45.7764 0.896801 -0.131749 -0.422363 0.490491 45 57.5 57.5 0 +1694 1 1 0 58.6493 48.688 45.1556 0.864929 -0.1312 -0.484441 0.490491 45 57.5 57.5 0 +1695 1 1 0 59.462 49.3396 46.8322 0.946198 -0.0660427 -0.316778 0.490491 45 57.5 57.5 0 +1696 1 1 0 59.2192 49.3401 46.1828 0.921919 -0.0659886 -0.381722 0.490491 45 57.5 57.5 0 +1697 1 1 0 58.9293 49.3418 45.5463 0.892927 -0.0658169 -0.445365 0.490491 45 57.5 57.5 0 +1698 1 1 0 58.5985 49.3424 44.937 0.859848 -0.0657577 -0.506298 0.490491 45 57.5 57.5 0 +1699 1 1 0 59.4443 48.0091 47.3845 0.944433 -0.199094 -0.26155 0.490491 45 57.5 57.5 0 +1700 1 1 0 59.4782 48.6743 47.1007 0.947822 -0.13257 -0.289929 0.490491 45 57.5 57.5 0 +1701 1 1 0 59.2268 48.0161 46.6939 0.922682 -0.198387 -0.330606 0.490491 45 57.5 57.5 0 +1702 1 1 0 58.6853 45.4574 51.9823 0.868535 -0.454262 0.198227 0.490491 45 57.5 57.5 0 +1703 1 1 0 59.0484 46.0586 51.6101 0.904839 -0.394136 0.161007 0.490491 45 57.5 57.5 0 +1704 1 1 0 59.3513 46.6766 51.228 0.93513 -0.332342 0.1228 0.490491 45 57.5 57.5 0 +1705 1 1 0 59.1298 46.0039 50.8232 0.912983 -0.399607 0.0823235 0.490491 45 57.5 57.5 0 +1706 1 1 0 58.7934 45.3912 51.1976 0.879344 -0.460882 0.119755 0.490491 45 57.5 57.5 0 +1707 1 1 0 58.8476 45.3579 50.413 0.88476 -0.464213 0.0412991 0.490491 45 57.5 57.5 0 +1708 1 1 0 59.6065 47.3448 50.815 0.960655 -0.265519 0.081501 0.490491 45 57.5 57.5 0 +1709 1 1 0 59.7885 47.9963 50.4125 0.978852 -0.200368 0.0412506 0.490491 45 57.5 57.5 0 +1710 1 1 0 59.6386 47.336 50 0.963861 -0.266405 0 0.490491 45 57.5 57.5 0 +1711 1 1 0 59.9105 48.6648 50 0.991046 -0.133524 0 0.490491 45 57.5 57.5 0 +1712 1 1 0 59.7885 47.9963 49.5875 0.978852 -0.200368 -0.0412506 0.490491 45 57.5 57.5 0 +1713 1 1 0 59.6065 47.3448 49.185 0.960655 -0.265519 -0.081501 0.490491 45 57.5 57.5 0 +1714 1 1 0 58.8476 45.3579 49.587 0.88476 -0.464213 -0.0412991 0.490491 45 57.5 57.5 0 +1715 1 1 0 59.1298 46.0039 49.1768 0.912983 -0.399607 -0.0823235 0.490491 45 57.5 57.5 0 +1716 1 1 0 58.7934 45.3912 48.8024 0.879344 -0.460882 -0.119755 0.490491 45 57.5 57.5 0 +1717 1 1 0 59.3513 46.6766 48.772 0.93513 -0.332342 -0.1228 0.490491 45 57.5 57.5 0 +1718 1 1 0 59.0484 46.0586 48.3899 0.904839 -0.394136 -0.161007 0.490491 45 57.5 57.5 0 +1719 1 1 0 58.6853 45.4574 48.0177 0.868535 -0.454262 -0.198227 0.490491 45 57.5 57.5 0 +1720 1 1 0 59.4162 46.6586 50.413 0.941618 -0.33414 0.0413021 0.490491 45 57.5 57.5 0 +1721 1 1 0 59.4162 46.6586 49.587 0.941618 -0.33414 -0.0413021 0.490491 45 57.5 57.5 0 +1722 1 1 0 59.1609 45.9903 50 0.916092 -0.400968 0 0.490491 45 57.5 57.5 0 +1723 1 1 0 48.9351 55.5186 58.2711 -0.106494 0.551859 0.82711 0.490491 45 57.5 57.5 0 +1724 1 1 0 48.2747 55.2913 58.3081 -0.172532 0.529135 0.830812 0.490491 45 57.5 57.5 0 +1725 1 1 0 47.6277 55.0421 58.3036 -0.237228 0.504209 0.830359 0.490491 45 57.5 57.5 0 +1726 1 1 0 47.8698 55.7125 57.9265 -0.213023 0.571251 0.79265 0.490491 45 57.5 57.5 0 +1727 1 1 0 48.5259 55.949 57.9017 -0.147413 0.594895 0.79017 0.490491 45 57.5 57.5 0 +1728 1 1 0 48.1257 56.3458 57.4979 -0.187432 0.634579 0.749786 0.490491 45 57.5 57.5 0 +1729 1 1 0 46.962 54.7623 58.2518 -0.303801 0.476225 0.825175 0.490491 45 57.5 57.5 0 +1730 1 1 0 46.3397 54.4698 58.1623 -0.366027 0.446977 0.816233 0.490491 45 57.5 57.5 0 +1731 1 1 0 46.5385 55.1612 57.8345 -0.346153 0.516122 0.783452 0.490491 45 57.5 57.5 0 +1732 1 1 0 45.7287 54.156 58.0302 -0.427135 0.415597 0.803016 0.490491 45 57.5 57.5 0 +1733 1 1 0 45.1429 53.8268 57.859 -0.485712 0.382683 0.785899 0.490491 45 57.5 57.5 0 +1734 1 1 0 45.3157 54.5399 57.5794 -0.46843 0.45399 0.757936 0.490491 45 57.5 57.5 0 +1735 1 1 0 45.9171 54.8624 57.7258 -0.408286 0.48624 0.772575 0.490491 45 57.5 57.5 0 +1736 1 1 0 46.1327 55.5337 57.3771 -0.38673 0.553372 0.737712 0.490491 45 57.5 57.5 0 +1737 1 1 0 45.5174 55.225 57.253 -0.448259 0.522499 0.725299 0.490491 45 57.5 57.5 0 +1738 1 1 0 45.7467 55.8779 56.8819 -0.425325 0.587785 0.688191 0.490491 45 57.5 57.5 0 +1739 1 1 0 47.711 56.7232 57.0398 -0.228899 0.672319 0.703983 0.490491 45 57.5 57.5 0 +1740 1 1 0 47.04 56.4741 57.0231 -0.296004 0.647412 0.70231 0.490491 45 57.5 57.5 0 +1741 1 1 0 47.3262 57.0524 56.5662 -0.267381 0.705236 0.65662 0.490491 45 57.5 57.5 0 +1742 1 1 0 46.3841 56.1919 56.9704 -0.361591 0.619186 0.697037 0.490491 45 57.5 57.5 0 +1743 1 1 0 46.6531 56.7891 56.535 -0.334691 0.678913 0.653497 0.490491 45 57.5 57.5 0 +1744 1 1 0 46.0023 56.4945 56.4684 -0.399769 0.649448 0.64684 0.490491 45 57.5 57.5 0 +1745 1 1 0 46.2825 57.0711 56.015 -0.371748 0.707107 0.601501 0.490491 45 57.5 57.5 0 +1746 1 1 0 46.9479 57.3479 56.0574 -0.305212 0.734794 0.605742 0.490491 45 57.5 57.5 0 +1747 1 1 0 46.5857 57.6041 55.5245 -0.341435 0.760406 0.552454 0.490491 45 57.5 57.5 0 +1748 1 1 0 47.1968 55.4511 57.9011 -0.280319 0.545109 0.790112 0.490491 45 57.5 57.5 0 +1749 1 1 0 46.7786 55.8369 57.4534 -0.322141 0.583692 0.745339 0.490491 45 57.5 57.5 0 +1750 1 1 0 47.4482 56.1093 57.4944 -0.25518 0.610926 0.749435 0.490491 45 57.5 57.5 0 +1751 1 1 0 44.4755 53.4143 57.6041 -0.552454 0.341435 0.760406 0.490491 45 57.5 57.5 0 +1752 1 1 0 43.9426 53.0521 57.3479 -0.605742 0.305212 0.734794 0.490491 45 57.5 57.5 0 +1753 1 1 0 43.985 53.7175 57.0711 -0.601501 0.371748 0.707107 0.490491 45 57.5 57.5 0 +1754 1 1 0 43.4338 52.6738 57.0524 -0.65662 0.267381 0.705236 0.490491 45 57.5 57.5 0 +1755 1 1 0 42.9602 52.289 56.7232 -0.703983 0.228899 0.672319 0.490491 45 57.5 57.5 0 +1756 1 1 0 42.9769 52.96 56.4741 -0.70231 0.296004 0.647412 0.490491 45 57.5 57.5 0 +1757 1 1 0 43.465 53.3469 56.7891 -0.653497 0.334691 0.678913 0.490491 45 57.5 57.5 0 +1758 1 1 0 43.5316 53.9977 56.4945 -0.64684 0.399769 0.649448 0.490491 45 57.5 57.5 0 +1759 1 1 0 43.0296 53.6159 56.1919 -0.697037 0.361591 0.619186 0.490491 45 57.5 57.5 0 +1760 1 1 0 43.1181 54.2533 55.8779 -0.688191 0.425325 0.587785 0.490491 45 57.5 57.5 0 +1761 1 1 0 42.5021 51.8743 56.3458 -0.749786 0.187432 0.634579 0.490491 45 57.5 57.5 0 +1762 1 1 0 42.0983 51.4741 55.949 -0.79017 0.147413 0.594895 0.490491 45 57.5 57.5 0 +1763 1 1 0 42.0735 52.1302 55.7125 -0.79265 0.213023 0.571251 0.490491 45 57.5 57.5 0 +1764 1 1 0 41.7289 51.0649 55.5186 -0.82711 0.106494 0.551859 0.490491 45 57.5 57.5 0 +1765 1 1 0 41.6919 51.7253 55.2913 -0.830812 0.172532 0.529135 0.490491 45 57.5 57.5 0 +1766 1 1 0 41.6964 52.3723 55.0421 -0.830359 0.237228 0.504209 0.490491 45 57.5 57.5 0 +1767 1 1 0 42.6229 53.8673 55.5337 -0.737712 0.38673 0.553372 0.490491 45 57.5 57.5 0 +1768 1 1 0 42.747 54.4826 55.225 -0.725299 0.448259 0.522499 0.490491 45 57.5 57.5 0 +1769 1 1 0 42.1655 53.4615 55.1612 -0.783452 0.346153 0.516122 0.490491 45 57.5 57.5 0 +1770 1 1 0 42.2742 54.0829 54.8624 -0.772575 0.408286 0.48624 0.490491 45 57.5 57.5 0 +1771 1 1 0 42.4206 54.6843 54.5399 -0.757936 0.46843 0.45399 0.490491 45 57.5 57.5 0 +1772 1 1 0 41.7482 53.038 54.7623 -0.825175 0.303801 0.476225 0.490491 45 57.5 57.5 0 +1773 1 1 0 41.8377 53.6603 54.4698 -0.816233 0.366027 0.446977 0.490491 45 57.5 57.5 0 +1774 1 1 0 41.9698 54.2713 54.156 -0.803016 0.427135 0.415597 0.490491 45 57.5 57.5 0 +1775 1 1 0 42.141 54.8571 53.8268 -0.785899 0.485712 0.382683 0.490491 45 57.5 57.5 0 +1776 1 1 0 42.5056 52.5518 56.1093 -0.749435 0.25518 0.610926 0.490491 45 57.5 57.5 0 +1777 1 1 0 42.0989 52.8032 55.4511 -0.790112 0.280319 0.545109 0.490491 45 57.5 57.5 0 +1778 1 1 0 42.5466 53.2214 55.8369 -0.745339 0.322141 0.583692 0.490491 45 57.5 57.5 0 +1779 1 1 0 46.1732 57.859 54.8571 -0.382683 0.785899 0.485712 0.490491 45 57.5 57.5 0 +1780 1 1 0 45.4601 57.5794 54.6843 -0.45399 0.757936 0.46843 0.490491 45 57.5 57.5 0 +1781 1 1 0 45.844 58.0302 54.2713 -0.415597 0.803016 0.427135 0.490491 45 57.5 57.5 0 +1782 1 1 0 44.775 57.253 54.4826 -0.522499 0.725299 0.448259 0.490491 45 57.5 57.5 0 +1783 1 1 0 45.1376 57.7258 54.0829 -0.48624 0.772575 0.408286 0.490491 45 57.5 57.5 0 +1784 1 1 0 44.1221 56.8819 54.2533 -0.587785 0.688191 0.425325 0.490491 45 57.5 57.5 0 +1785 1 1 0 44.4663 57.3771 53.8673 -0.553372 0.737712 0.38673 0.490491 45 57.5 57.5 0 +1786 1 1 0 44.8388 57.8345 53.4615 -0.516122 0.783452 0.346153 0.490491 45 57.5 57.5 0 +1787 1 1 0 45.5302 58.1623 53.6603 -0.446977 0.816233 0.366027 0.490491 45 57.5 57.5 0 +1788 1 1 0 45.2377 58.2518 53.038 -0.476225 0.825175 0.303801 0.490491 45 57.5 57.5 0 +1789 1 1 0 43.5055 56.4684 53.9977 -0.649448 0.64684 0.399769 0.490491 45 57.5 57.5 0 +1790 1 1 0 43.8081 56.9704 53.6159 -0.619186 0.697037 0.361591 0.490491 45 57.5 57.5 0 +1791 1 1 0 42.9289 56.015 53.7175 -0.707107 0.601501 0.371748 0.490491 45 57.5 57.5 0 +1792 1 1 0 43.2109 56.535 53.3469 -0.678913 0.653497 0.334691 0.490491 45 57.5 57.5 0 +1793 1 1 0 43.5259 57.0231 52.96 -0.647412 0.70231 0.296004 0.490491 45 57.5 57.5 0 +1794 1 1 0 42.3959 55.5245 53.4143 -0.760406 0.552454 0.341435 0.490491 45 57.5 57.5 0 +1795 1 1 0 42.6521 56.0574 53.0521 -0.734794 0.605742 0.305212 0.490491 45 57.5 57.5 0 +1796 1 1 0 42.9476 56.5662 52.6738 -0.705236 0.65662 0.267381 0.490491 45 57.5 57.5 0 +1797 1 1 0 43.2768 57.0398 52.289 -0.672319 0.703983 0.228899 0.490491 45 57.5 57.5 0 +1798 1 1 0 44.9579 58.3036 52.3723 -0.504209 0.830359 0.237228 0.490491 45 57.5 57.5 0 +1799 1 1 0 44.2875 57.9265 52.1302 -0.571251 0.79265 0.213023 0.490491 45 57.5 57.5 0 +1800 1 1 0 44.7087 58.3081 51.7253 -0.529135 0.830812 0.172532 0.490491 45 57.5 57.5 0 +1801 1 1 0 43.6542 57.4979 51.8743 -0.634579 0.749786 0.187432 0.490491 45 57.5 57.5 0 +1802 1 1 0 44.051 57.9017 51.4741 -0.594895 0.79017 0.147413 0.490491 45 57.5 57.5 0 +1803 1 1 0 44.4814 58.2711 51.0649 -0.551859 0.82711 0.106494 0.490491 45 57.5 57.5 0 +1804 1 1 0 44.1631 57.4534 53.2214 -0.583692 0.745339 0.322141 0.490491 45 57.5 57.5 0 +1805 1 1 0 43.8907 57.4944 52.5518 -0.610926 0.749435 0.25518 0.490491 45 57.5 57.5 0 +1806 1 1 0 44.5489 57.9011 52.8032 -0.545109 0.790112 0.280319 0.490491 45 57.5 57.5 0 +1807 1 1 0 44.6322 54.1427 57.3501 -0.536784 0.414272 0.735011 0.490491 45 57.5 57.5 0 +1808 1 1 0 44.1528 54.4396 56.7898 -0.584716 0.443957 0.678977 0.490491 45 57.5 57.5 0 +1809 1 1 0 43.7169 54.7092 56.1924 -0.628313 0.470917 0.619242 0.490491 45 57.5 57.5 0 +1810 1 1 0 44.3575 55.1338 56.4658 -0.564254 0.513375 0.646578 0.490491 45 57.5 57.5 0 +1811 1 1 0 44.8203 54.8521 57.0447 -0.51797 0.485208 0.704471 0.490491 45 57.5 57.5 0 +1812 1 1 0 45.0356 55.5242 56.6961 -0.496441 0.552418 0.669612 0.490491 45 57.5 57.5 0 +1813 1 1 0 43.3039 54.9644 55.5242 -0.669612 0.496441 0.552418 0.490491 45 57.5 57.5 0 +1814 1 1 0 42.9553 55.1797 54.8521 -0.704471 0.51797 0.485208 0.490491 45 57.5 57.5 0 +1815 1 1 0 43.5342 55.6425 55.1338 -0.646578 0.564254 0.513375 0.490491 45 57.5 57.5 0 +1816 1 1 0 42.6499 55.3678 54.1427 -0.735011 0.536784 0.414272 0.490491 45 57.5 57.5 0 +1817 1 1 0 43.2102 55.8472 54.4396 -0.678977 0.584716 0.443957 0.490491 45 57.5 57.5 0 +1818 1 1 0 43.8076 56.2831 54.7092 -0.619242 0.628313 0.470917 0.490491 45 57.5 57.5 0 +1819 1 1 0 45.2908 56.1924 56.2831 -0.470917 0.619242 0.628313 0.490491 45 57.5 57.5 0 +1820 1 1 0 44.8662 56.4658 55.6425 -0.513375 0.646578 0.564254 0.490491 45 57.5 57.5 0 +1821 1 1 0 45.5604 56.7898 55.8472 -0.443957 0.678977 0.584716 0.490491 45 57.5 57.5 0 +1822 1 1 0 44.4758 56.6961 54.9644 -0.552418 0.669612 0.496441 0.490491 45 57.5 57.5 0 +1823 1 1 0 45.1479 57.0447 55.1797 -0.485208 0.704471 0.51797 0.490491 45 57.5 57.5 0 +1824 1 1 0 45.8573 57.3501 55.3678 -0.414272 0.735011 0.536784 0.490491 45 57.5 57.5 0 +1825 1 1 0 43.9252 55.4065 55.8195 -0.607478 0.54065 0.581952 0.490491 45 57.5 57.5 0 +1826 1 1 0 44.1805 56.0748 55.4065 -0.581952 0.607478 0.54065 0.490491 45 57.5 57.5 0 +1827 1 1 0 44.5935 55.8195 56.0748 -0.54065 0.581952 0.607478 0.490491 45 57.5 57.5 0 +1828 1 1 0 51.0649 55.5186 58.2711 0.106494 0.551859 0.82711 0.490491 45 57.5 57.5 0 +1829 1 1 0 51.4741 55.949 57.9017 0.147413 0.594895 0.79017 0.490491 45 57.5 57.5 0 +1830 1 1 0 51.8743 56.3458 57.4979 0.187432 0.634579 0.749786 0.490491 45 57.5 57.5 0 +1831 1 1 0 52.1302 55.7125 57.9265 0.213023 0.571251 0.79265 0.490491 45 57.5 57.5 0 +1832 1 1 0 51.7253 55.2913 58.3081 0.172532 0.529135 0.830812 0.490491 45 57.5 57.5 0 +1833 1 1 0 52.3723 55.0421 58.3036 0.237228 0.504209 0.830359 0.490491 45 57.5 57.5 0 +1834 1 1 0 52.289 56.7232 57.0398 0.228899 0.672319 0.703983 0.490491 45 57.5 57.5 0 +1835 1 1 0 52.6738 57.0524 56.5662 0.267381 0.705236 0.65662 0.490491 45 57.5 57.5 0 +1836 1 1 0 52.96 56.4741 57.0231 0.296004 0.647412 0.70231 0.490491 45 57.5 57.5 0 +1837 1 1 0 53.0521 57.3479 56.0574 0.305212 0.734794 0.605742 0.490491 45 57.5 57.5 0 +1838 1 1 0 53.4143 57.6041 55.5245 0.341435 0.760406 0.552454 0.490491 45 57.5 57.5 0 +1839 1 1 0 53.7175 57.0711 56.015 0.371748 0.707107 0.601501 0.490491 45 57.5 57.5 0 +1840 1 1 0 53.3469 56.7891 56.535 0.334691 0.678913 0.653497 0.490491 45 57.5 57.5 0 +1841 1 1 0 53.6159 56.1919 56.9704 0.361591 0.619186 0.697037 0.490491 45 57.5 57.5 0 +1842 1 1 0 53.9977 56.4945 56.4684 0.399769 0.649448 0.64684 0.490491 45 57.5 57.5 0 +1843 1 1 0 54.2533 55.8779 56.8819 0.425325 0.587785 0.688191 0.490491 45 57.5 57.5 0 +1844 1 1 0 53.038 54.7623 58.2518 0.303801 0.476225 0.825175 0.490491 45 57.5 57.5 0 +1845 1 1 0 53.4615 55.1612 57.8345 0.346153 0.516122 0.783452 0.490491 45 57.5 57.5 0 +1846 1 1 0 53.6603 54.4698 58.1623 0.366027 0.446977 0.816233 0.490491 45 57.5 57.5 0 +1847 1 1 0 53.8673 55.5337 57.3771 0.38673 0.553372 0.737712 0.490491 45 57.5 57.5 0 +1848 1 1 0 54.0829 54.8624 57.7258 0.408286 0.48624 0.772575 0.490491 45 57.5 57.5 0 +1849 1 1 0 54.4826 55.225 57.253 0.448259 0.522499 0.725299 0.490491 45 57.5 57.5 0 +1850 1 1 0 54.6843 54.5399 57.5794 0.46843 0.45399 0.757936 0.490491 45 57.5 57.5 0 +1851 1 1 0 54.2713 54.156 58.0302 0.427135 0.415597 0.803016 0.490491 45 57.5 57.5 0 +1852 1 1 0 54.8571 53.8268 57.859 0.485712 0.382683 0.785899 0.490491 45 57.5 57.5 0 +1853 1 1 0 52.5518 56.1093 57.4944 0.25518 0.610926 0.749435 0.490491 45 57.5 57.5 0 +1854 1 1 0 53.2214 55.8369 57.4534 0.322141 0.583692 0.745339 0.490491 45 57.5 57.5 0 +1855 1 1 0 52.8032 55.4511 57.9011 0.280319 0.545109 0.790112 0.490491 45 57.5 57.5 0 +1856 1 1 0 53.8268 57.859 54.8571 0.382683 0.785899 0.485712 0.490491 45 57.5 57.5 0 +1857 1 1 0 54.156 58.0302 54.2713 0.415597 0.803016 0.427135 0.490491 45 57.5 57.5 0 +1858 1 1 0 54.5399 57.5794 54.6843 0.45399 0.757936 0.46843 0.490491 45 57.5 57.5 0 +1859 1 1 0 54.4698 58.1623 53.6603 0.446977 0.816233 0.366027 0.490491 45 57.5 57.5 0 +1860 1 1 0 54.7623 58.2518 53.038 0.476225 0.825175 0.303801 0.490491 45 57.5 57.5 0 +1861 1 1 0 55.1612 57.8345 53.4615 0.516122 0.783452 0.346153 0.490491 45 57.5 57.5 0 +1862 1 1 0 54.8624 57.7258 54.0829 0.48624 0.772575 0.408286 0.490491 45 57.5 57.5 0 +1863 1 1 0 55.225 57.253 54.4826 0.522499 0.725299 0.448259 0.490491 45 57.5 57.5 0 +1864 1 1 0 55.5337 57.3771 53.8673 0.553372 0.737712 0.38673 0.490491 45 57.5 57.5 0 +1865 1 1 0 55.8779 56.8819 54.2533 0.587785 0.688191 0.425325 0.490491 45 57.5 57.5 0 +1866 1 1 0 55.0421 58.3036 52.3723 0.504209 0.830359 0.237228 0.490491 45 57.5 57.5 0 +1867 1 1 0 55.2913 58.3081 51.7253 0.529135 0.830812 0.172532 0.490491 45 57.5 57.5 0 +1868 1 1 0 55.7125 57.9265 52.1302 0.571251 0.79265 0.213023 0.490491 45 57.5 57.5 0 +1869 1 1 0 55.5186 58.2711 51.0649 0.551859 0.82711 0.106494 0.490491 45 57.5 57.5 0 +1870 1 1 0 55.949 57.9017 51.4741 0.594895 0.79017 0.147413 0.490491 45 57.5 57.5 0 +1871 1 1 0 56.3458 57.4979 51.8743 0.634579 0.749786 0.187432 0.490491 45 57.5 57.5 0 +1872 1 1 0 56.1919 56.9704 53.6159 0.619186 0.697037 0.361591 0.490491 45 57.5 57.5 0 +1873 1 1 0 56.4945 56.4684 53.9977 0.649448 0.64684 0.399769 0.490491 45 57.5 57.5 0 +1874 1 1 0 56.4741 57.0231 52.96 0.647412 0.70231 0.296004 0.490491 45 57.5 57.5 0 +1875 1 1 0 56.7891 56.535 53.3469 0.678913 0.653497 0.334691 0.490491 45 57.5 57.5 0 +1876 1 1 0 57.0711 56.015 53.7175 0.707107 0.601501 0.371748 0.490491 45 57.5 57.5 0 +1877 1 1 0 56.7232 57.0398 52.289 0.672319 0.703983 0.228899 0.490491 45 57.5 57.5 0 +1878 1 1 0 57.0524 56.5662 52.6738 0.705236 0.65662 0.267381 0.490491 45 57.5 57.5 0 +1879 1 1 0 57.3479 56.0574 53.0521 0.734794 0.605742 0.305212 0.490491 45 57.5 57.5 0 +1880 1 1 0 57.6041 55.5245 53.4143 0.760406 0.552454 0.341435 0.490491 45 57.5 57.5 0 +1881 1 1 0 55.4511 57.9011 52.8032 0.545109 0.790112 0.280319 0.490491 45 57.5 57.5 0 +1882 1 1 0 56.1093 57.4944 52.5518 0.610926 0.749435 0.25518 0.490491 45 57.5 57.5 0 +1883 1 1 0 55.8369 57.4534 53.2214 0.583692 0.745339 0.322141 0.490491 45 57.5 57.5 0 +1884 1 1 0 55.5245 53.4143 57.6041 0.552454 0.341435 0.760406 0.490491 45 57.5 57.5 0 +1885 1 1 0 56.015 53.7175 57.0711 0.601501 0.371748 0.707107 0.490491 45 57.5 57.5 0 +1886 1 1 0 56.0574 53.0521 57.3479 0.605742 0.305212 0.734794 0.490491 45 57.5 57.5 0 +1887 1 1 0 56.4684 53.9977 56.4945 0.64684 0.399769 0.649448 0.490491 45 57.5 57.5 0 +1888 1 1 0 56.535 53.3469 56.7891 0.653497 0.334691 0.678913 0.490491 45 57.5 57.5 0 +1889 1 1 0 56.8819 54.2533 55.8779 0.688191 0.425325 0.587785 0.490491 45 57.5 57.5 0 +1890 1 1 0 56.9704 53.6159 56.1919 0.697037 0.361591 0.619186 0.490491 45 57.5 57.5 0 +1891 1 1 0 57.0231 52.96 56.4741 0.70231 0.296004 0.647412 0.490491 45 57.5 57.5 0 +1892 1 1 0 56.5662 52.6738 57.0524 0.65662 0.267381 0.705236 0.490491 45 57.5 57.5 0 +1893 1 1 0 57.0398 52.289 56.7232 0.703983 0.228899 0.672319 0.490491 45 57.5 57.5 0 +1894 1 1 0 57.253 54.4826 55.225 0.725299 0.448259 0.522499 0.490491 45 57.5 57.5 0 +1895 1 1 0 57.3771 53.8673 55.5337 0.737712 0.38673 0.553372 0.490491 45 57.5 57.5 0 +1896 1 1 0 57.5794 54.6843 54.5399 0.757936 0.46843 0.45399 0.490491 45 57.5 57.5 0 +1897 1 1 0 57.7258 54.0829 54.8624 0.772575 0.408286 0.48624 0.490491 45 57.5 57.5 0 +1898 1 1 0 57.8345 53.4615 55.1612 0.783452 0.346153 0.516122 0.490491 45 57.5 57.5 0 +1899 1 1 0 57.859 54.8571 53.8268 0.785899 0.485712 0.382683 0.490491 45 57.5 57.5 0 +1900 1 1 0 58.0302 54.2713 54.156 0.803016 0.427135 0.415597 0.490491 45 57.5 57.5 0 +1901 1 1 0 58.1623 53.6603 54.4698 0.816233 0.366027 0.446977 0.490491 45 57.5 57.5 0 +1902 1 1 0 58.2518 53.038 54.7623 0.825175 0.303801 0.476225 0.490491 45 57.5 57.5 0 +1903 1 1 0 57.4979 51.8743 56.3458 0.749786 0.187432 0.634579 0.490491 45 57.5 57.5 0 +1904 1 1 0 57.9265 52.1302 55.7125 0.79265 0.213023 0.571251 0.490491 45 57.5 57.5 0 +1905 1 1 0 57.9017 51.4741 55.949 0.79017 0.147413 0.594895 0.490491 45 57.5 57.5 0 +1906 1 1 0 58.3036 52.3723 55.0421 0.830359 0.237228 0.504209 0.490491 45 57.5 57.5 0 +1907 1 1 0 58.3081 51.7253 55.2913 0.830812 0.172532 0.529135 0.490491 45 57.5 57.5 0 +1908 1 1 0 58.2711 51.0649 55.5186 0.82711 0.106494 0.551859 0.490491 45 57.5 57.5 0 +1909 1 1 0 57.4534 53.2214 55.8369 0.745339 0.322141 0.583692 0.490491 45 57.5 57.5 0 +1910 1 1 0 57.9011 52.8032 55.4511 0.790112 0.280319 0.545109 0.490491 45 57.5 57.5 0 +1911 1 1 0 57.4944 52.5518 56.1093 0.749435 0.25518 0.610926 0.490491 45 57.5 57.5 0 +1912 1 1 0 54.1427 57.3501 55.3678 0.414272 0.735011 0.536784 0.490491 45 57.5 57.5 0 +1913 1 1 0 54.8521 57.0447 55.1797 0.485208 0.704471 0.51797 0.490491 45 57.5 57.5 0 +1914 1 1 0 55.5242 56.6961 54.9644 0.552418 0.669612 0.496441 0.490491 45 57.5 57.5 0 +1915 1 1 0 55.1338 56.4658 55.6425 0.513375 0.646578 0.564254 0.490491 45 57.5 57.5 0 +1916 1 1 0 54.4396 56.7898 55.8472 0.443957 0.678977 0.584716 0.490491 45 57.5 57.5 0 +1917 1 1 0 54.7092 56.1924 56.2831 0.470917 0.619242 0.628313 0.490491 45 57.5 57.5 0 +1918 1 1 0 56.1924 56.2831 54.7092 0.619242 0.628313 0.470917 0.490491 45 57.5 57.5 0 +1919 1 1 0 56.7898 55.8472 54.4396 0.678977 0.584716 0.443957 0.490491 45 57.5 57.5 0 +1920 1 1 0 56.4658 55.6425 55.1338 0.646578 0.564254 0.513375 0.490491 45 57.5 57.5 0 +1921 1 1 0 57.3501 55.3678 54.1427 0.735011 0.536784 0.414272 0.490491 45 57.5 57.5 0 +1922 1 1 0 57.0447 55.1797 54.8521 0.704471 0.51797 0.485208 0.490491 45 57.5 57.5 0 +1923 1 1 0 56.6961 54.9644 55.5242 0.669612 0.496441 0.552418 0.490491 45 57.5 57.5 0 +1924 1 1 0 54.9644 55.5242 56.6961 0.496441 0.552418 0.669612 0.490491 45 57.5 57.5 0 +1925 1 1 0 55.6425 55.1338 56.4658 0.564254 0.513375 0.646578 0.490491 45 57.5 57.5 0 +1926 1 1 0 55.1797 54.8521 57.0447 0.51797 0.485208 0.704471 0.490491 45 57.5 57.5 0 +1927 1 1 0 56.2831 54.7092 56.1924 0.628313 0.470917 0.619242 0.490491 45 57.5 57.5 0 +1928 1 1 0 55.8472 54.4396 56.7898 0.584716 0.443957 0.678977 0.490491 45 57.5 57.5 0 +1929 1 1 0 55.3678 54.1427 57.3501 0.536784 0.414272 0.735011 0.490491 45 57.5 57.5 0 +1930 1 1 0 55.8195 56.0748 55.4065 0.581952 0.607478 0.54065 0.490491 45 57.5 57.5 0 +1931 1 1 0 56.0748 55.4065 55.8195 0.607478 0.54065 0.581952 0.490491 45 57.5 57.5 0 +1932 1 1 0 55.4065 55.8195 56.0748 0.54065 0.581952 0.607478 0.490491 45 57.5 57.5 0 +1933 1 1 0 48.9351 55.5186 41.7289 -0.106494 0.551859 -0.82711 0.490491 45 57.5 57.5 0 +1934 1 1 0 48.5259 55.949 42.0983 -0.147413 0.594895 -0.79017 0.490491 45 57.5 57.5 0 +1935 1 1 0 48.1257 56.3458 42.5021 -0.187432 0.634579 -0.749786 0.490491 45 57.5 57.5 0 +1936 1 1 0 47.8698 55.7125 42.0735 -0.213023 0.571251 -0.79265 0.490491 45 57.5 57.5 0 +1937 1 1 0 48.2747 55.2913 41.6919 -0.172532 0.529135 -0.830812 0.490491 45 57.5 57.5 0 +1938 1 1 0 47.6277 55.0421 41.6964 -0.237228 0.504209 -0.830359 0.490491 45 57.5 57.5 0 +1939 1 1 0 47.711 56.7232 42.9602 -0.228899 0.672319 -0.703983 0.490491 45 57.5 57.5 0 +1940 1 1 0 47.3262 57.0524 43.4338 -0.267381 0.705236 -0.65662 0.490491 45 57.5 57.5 0 +1941 1 1 0 47.04 56.4741 42.9769 -0.296004 0.647412 -0.70231 0.490491 45 57.5 57.5 0 +1942 1 1 0 46.9479 57.3479 43.9426 -0.305212 0.734794 -0.605742 0.490491 45 57.5 57.5 0 +1943 1 1 0 46.5857 57.6041 44.4755 -0.341435 0.760406 -0.552454 0.490491 45 57.5 57.5 0 +1944 1 1 0 46.2825 57.0711 43.985 -0.371748 0.707107 -0.601501 0.490491 45 57.5 57.5 0 +1945 1 1 0 46.6531 56.7891 43.465 -0.334691 0.678913 -0.653497 0.490491 45 57.5 57.5 0 +1946 1 1 0 46.3841 56.1919 43.0296 -0.361591 0.619186 -0.697037 0.490491 45 57.5 57.5 0 +1947 1 1 0 46.0023 56.4945 43.5316 -0.399769 0.649448 -0.64684 0.490491 45 57.5 57.5 0 +1948 1 1 0 45.7467 55.8779 43.1181 -0.425325 0.587785 -0.688191 0.490491 45 57.5 57.5 0 +1949 1 1 0 46.962 54.7623 41.7482 -0.303801 0.476225 -0.825175 0.490491 45 57.5 57.5 0 +1950 1 1 0 46.5385 55.1612 42.1655 -0.346153 0.516122 -0.783452 0.490491 45 57.5 57.5 0 +1951 1 1 0 46.3397 54.4698 41.8377 -0.366027 0.446977 -0.816233 0.490491 45 57.5 57.5 0 +1952 1 1 0 46.1327 55.5337 42.6229 -0.38673 0.553372 -0.737712 0.490491 45 57.5 57.5 0 +1953 1 1 0 45.9171 54.8624 42.2742 -0.408286 0.48624 -0.772575 0.490491 45 57.5 57.5 0 +1954 1 1 0 45.5174 55.225 42.747 -0.448259 0.522499 -0.725299 0.490491 45 57.5 57.5 0 +1955 1 1 0 45.3157 54.5399 42.4206 -0.46843 0.45399 -0.757936 0.490491 45 57.5 57.5 0 +1956 1 1 0 45.7287 54.156 41.9698 -0.427135 0.415597 -0.803016 0.490491 45 57.5 57.5 0 +1957 1 1 0 45.1429 53.8268 42.141 -0.485712 0.382683 -0.785899 0.490491 45 57.5 57.5 0 +1958 1 1 0 47.4482 56.1093 42.5056 -0.25518 0.610926 -0.749435 0.490491 45 57.5 57.5 0 +1959 1 1 0 46.7786 55.8369 42.5466 -0.322141 0.583692 -0.745339 0.490491 45 57.5 57.5 0 +1960 1 1 0 47.1968 55.4511 42.0989 -0.280319 0.545109 -0.790112 0.490491 45 57.5 57.5 0 +1961 1 1 0 46.1732 57.859 45.1429 -0.382683 0.785899 -0.485712 0.490491 45 57.5 57.5 0 +1962 1 1 0 45.844 58.0302 45.7287 -0.415597 0.803016 -0.427135 0.490491 45 57.5 57.5 0 +1963 1 1 0 45.4601 57.5794 45.3157 -0.45399 0.757936 -0.46843 0.490491 45 57.5 57.5 0 +1964 1 1 0 45.5302 58.1623 46.3397 -0.446977 0.816233 -0.366027 0.490491 45 57.5 57.5 0 +1965 1 1 0 45.2377 58.2518 46.962 -0.476225 0.825175 -0.303801 0.490491 45 57.5 57.5 0 +1966 1 1 0 44.8388 57.8345 46.5385 -0.516122 0.783452 -0.346153 0.490491 45 57.5 57.5 0 +1967 1 1 0 45.1376 57.7258 45.9171 -0.48624 0.772575 -0.408286 0.490491 45 57.5 57.5 0 +1968 1 1 0 44.775 57.253 45.5174 -0.522499 0.725299 -0.448259 0.490491 45 57.5 57.5 0 +1969 1 1 0 44.4663 57.3771 46.1327 -0.553372 0.737712 -0.38673 0.490491 45 57.5 57.5 0 +1970 1 1 0 44.1221 56.8819 45.7467 -0.587785 0.688191 -0.425325 0.490491 45 57.5 57.5 0 +1971 1 1 0 44.9579 58.3036 47.6277 -0.504209 0.830359 -0.237228 0.490491 45 57.5 57.5 0 +1972 1 1 0 44.7087 58.3081 48.2747 -0.529135 0.830812 -0.172532 0.490491 45 57.5 57.5 0 +1973 1 1 0 44.2875 57.9265 47.8698 -0.571251 0.79265 -0.213023 0.490491 45 57.5 57.5 0 +1974 1 1 0 44.4814 58.2711 48.9351 -0.551859 0.82711 -0.106494 0.490491 45 57.5 57.5 0 +1975 1 1 0 44.051 57.9017 48.5259 -0.594895 0.79017 -0.147413 0.490491 45 57.5 57.5 0 +1976 1 1 0 43.6542 57.4979 48.1257 -0.634579 0.749786 -0.187432 0.490491 45 57.5 57.5 0 +1977 1 1 0 43.8081 56.9704 46.3841 -0.619186 0.697037 -0.361591 0.490491 45 57.5 57.5 0 +1978 1 1 0 43.5055 56.4684 46.0023 -0.649448 0.64684 -0.399769 0.490491 45 57.5 57.5 0 +1979 1 1 0 43.5259 57.0231 47.04 -0.647412 0.70231 -0.296004 0.490491 45 57.5 57.5 0 +1980 1 1 0 43.2109 56.535 46.6531 -0.678913 0.653497 -0.334691 0.490491 45 57.5 57.5 0 +1981 1 1 0 42.9289 56.015 46.2825 -0.707107 0.601501 -0.371748 0.490491 45 57.5 57.5 0 +1982 1 1 0 43.2768 57.0398 47.711 -0.672319 0.703983 -0.228899 0.490491 45 57.5 57.5 0 +1983 1 1 0 42.9476 56.5662 47.3262 -0.705236 0.65662 -0.267381 0.490491 45 57.5 57.5 0 +1984 1 1 0 42.6521 56.0574 46.9479 -0.734794 0.605742 -0.305212 0.490491 45 57.5 57.5 0 +1985 1 1 0 42.3959 55.5245 46.5857 -0.760406 0.552454 -0.341435 0.490491 45 57.5 57.5 0 +1986 1 1 0 44.5489 57.9011 47.1968 -0.545109 0.790112 -0.280319 0.490491 45 57.5 57.5 0 +1987 1 1 0 43.8907 57.4944 47.4482 -0.610926 0.749435 -0.25518 0.490491 45 57.5 57.5 0 +1988 1 1 0 44.1631 57.4534 46.7786 -0.583692 0.745339 -0.322141 0.490491 45 57.5 57.5 0 +1989 1 1 0 44.4755 53.4143 42.3959 -0.552454 0.341435 -0.760406 0.490491 45 57.5 57.5 0 +1990 1 1 0 43.985 53.7175 42.9289 -0.601501 0.371748 -0.707107 0.490491 45 57.5 57.5 0 +1991 1 1 0 43.9426 53.0521 42.6521 -0.605742 0.305212 -0.734794 0.490491 45 57.5 57.5 0 +1992 1 1 0 43.5316 53.9977 43.5055 -0.64684 0.399769 -0.649448 0.490491 45 57.5 57.5 0 +1993 1 1 0 43.465 53.3469 43.2109 -0.653497 0.334691 -0.678913 0.490491 45 57.5 57.5 0 +1994 1 1 0 43.1181 54.2533 44.1221 -0.688191 0.425325 -0.587785 0.490491 45 57.5 57.5 0 +1995 1 1 0 43.0296 53.6159 43.8081 -0.697037 0.361591 -0.619186 0.490491 45 57.5 57.5 0 +1996 1 1 0 42.9769 52.96 43.5259 -0.70231 0.296004 -0.647412 0.490491 45 57.5 57.5 0 +1997 1 1 0 43.4338 52.6738 42.9476 -0.65662 0.267381 -0.705236 0.490491 45 57.5 57.5 0 +1998 1 1 0 42.9602 52.289 43.2768 -0.703983 0.228899 -0.672319 0.490491 45 57.5 57.5 0 +1999 1 1 0 42.747 54.4826 44.775 -0.725299 0.448259 -0.522499 0.490491 45 57.5 57.5 0 +2000 1 1 0 42.6229 53.8673 44.4663 -0.737712 0.38673 -0.553372 0.490491 45 57.5 57.5 0 +2001 1 1 0 42.4206 54.6843 45.4601 -0.757936 0.46843 -0.45399 0.490491 45 57.5 57.5 0 +2002 1 1 0 42.2742 54.0829 45.1376 -0.772575 0.408286 -0.48624 0.490491 45 57.5 57.5 0 +2003 1 1 0 42.1655 53.4615 44.8388 -0.783452 0.346153 -0.516122 0.490491 45 57.5 57.5 0 +2004 1 1 0 42.141 54.8571 46.1732 -0.785899 0.485712 -0.382683 0.490491 45 57.5 57.5 0 +2005 1 1 0 41.9698 54.2713 45.844 -0.803016 0.427135 -0.415597 0.490491 45 57.5 57.5 0 +2006 1 1 0 41.8377 53.6603 45.5302 -0.816233 0.366027 -0.446977 0.490491 45 57.5 57.5 0 +2007 1 1 0 41.7482 53.038 45.2377 -0.825175 0.303801 -0.476225 0.490491 45 57.5 57.5 0 +2008 1 1 0 42.5021 51.8743 43.6542 -0.749786 0.187432 -0.634579 0.490491 45 57.5 57.5 0 +2009 1 1 0 42.0735 52.1302 44.2875 -0.79265 0.213023 -0.571251 0.490491 45 57.5 57.5 0 +2010 1 1 0 42.0983 51.4741 44.051 -0.79017 0.147413 -0.594895 0.490491 45 57.5 57.5 0 +2011 1 1 0 41.6964 52.3723 44.9579 -0.830359 0.237228 -0.504209 0.490491 45 57.5 57.5 0 +2012 1 1 0 41.6919 51.7253 44.7087 -0.830812 0.172532 -0.529135 0.490491 45 57.5 57.5 0 +2013 1 1 0 41.7289 51.0649 44.4814 -0.82711 0.106494 -0.551859 0.490491 45 57.5 57.5 0 +2014 1 1 0 42.5466 53.2214 44.1631 -0.745339 0.322141 -0.583692 0.490491 45 57.5 57.5 0 +2015 1 1 0 42.0989 52.8032 44.5489 -0.790112 0.280319 -0.545109 0.490491 45 57.5 57.5 0 +2016 1 1 0 42.5056 52.5518 43.8907 -0.749435 0.25518 -0.610926 0.490491 45 57.5 57.5 0 +2017 1 1 0 45.8573 57.3501 44.6322 -0.414272 0.735011 -0.536784 0.490491 45 57.5 57.5 0 +2018 1 1 0 45.1479 57.0447 44.8203 -0.485208 0.704471 -0.51797 0.490491 45 57.5 57.5 0 +2019 1 1 0 44.4758 56.6961 45.0356 -0.552418 0.669612 -0.496441 0.490491 45 57.5 57.5 0 +2020 1 1 0 44.8662 56.4658 44.3575 -0.513375 0.646578 -0.564254 0.490491 45 57.5 57.5 0 +2021 1 1 0 45.5604 56.7898 44.1528 -0.443957 0.678977 -0.584716 0.490491 45 57.5 57.5 0 +2022 1 1 0 45.2908 56.1924 43.7169 -0.470917 0.619242 -0.628313 0.490491 45 57.5 57.5 0 +2023 1 1 0 43.8076 56.2831 45.2908 -0.619242 0.628313 -0.470917 0.490491 45 57.5 57.5 0 +2024 1 1 0 43.2102 55.8472 45.5604 -0.678977 0.584716 -0.443957 0.490491 45 57.5 57.5 0 +2025 1 1 0 43.5342 55.6425 44.8662 -0.646578 0.564254 -0.513375 0.490491 45 57.5 57.5 0 +2026 1 1 0 42.6499 55.3678 45.8573 -0.735011 0.536784 -0.414272 0.490491 45 57.5 57.5 0 +2027 1 1 0 42.9553 55.1797 45.1479 -0.704471 0.51797 -0.485208 0.490491 45 57.5 57.5 0 +2028 1 1 0 43.3039 54.9644 44.4758 -0.669612 0.496441 -0.552418 0.490491 45 57.5 57.5 0 +2029 1 1 0 45.0356 55.5242 43.3039 -0.496441 0.552418 -0.669612 0.490491 45 57.5 57.5 0 +2030 1 1 0 44.3575 55.1338 43.5342 -0.564254 0.513375 -0.646578 0.490491 45 57.5 57.5 0 +2031 1 1 0 44.8203 54.8521 42.9553 -0.51797 0.485208 -0.704471 0.490491 45 57.5 57.5 0 +2032 1 1 0 43.7169 54.7092 43.8076 -0.628313 0.470917 -0.619242 0.490491 45 57.5 57.5 0 +2033 1 1 0 44.1528 54.4396 43.2102 -0.584716 0.443957 -0.678977 0.490491 45 57.5 57.5 0 +2034 1 1 0 44.6322 54.1427 42.6499 -0.536784 0.414272 -0.735011 0.490491 45 57.5 57.5 0 +2035 1 1 0 44.1805 56.0748 44.5935 -0.581952 0.607478 -0.54065 0.490491 45 57.5 57.5 0 +2036 1 1 0 43.9252 55.4065 44.1805 -0.607478 0.54065 -0.581952 0.490491 45 57.5 57.5 0 +2037 1 1 0 44.5935 55.8195 43.9252 -0.54065 0.581952 -0.607478 0.490491 45 57.5 57.5 0 +2038 1 1 0 51.0649 55.5186 41.7289 0.106494 0.551859 -0.82711 0.490491 45 57.5 57.5 0 +2039 1 1 0 51.7253 55.2913 41.6919 0.172532 0.529135 -0.830812 0.490491 45 57.5 57.5 0 +2040 1 1 0 52.3723 55.0421 41.6964 0.237228 0.504209 -0.830359 0.490491 45 57.5 57.5 0 +2041 1 1 0 52.1302 55.7125 42.0735 0.213023 0.571251 -0.79265 0.490491 45 57.5 57.5 0 +2042 1 1 0 51.4741 55.949 42.0983 0.147413 0.594895 -0.79017 0.490491 45 57.5 57.5 0 +2043 1 1 0 51.8743 56.3458 42.5021 0.187432 0.634579 -0.749786 0.490491 45 57.5 57.5 0 +2044 1 1 0 53.038 54.7623 41.7482 0.303801 0.476225 -0.825175 0.490491 45 57.5 57.5 0 +2045 1 1 0 53.6603 54.4698 41.8377 0.366027 0.446977 -0.816233 0.490491 45 57.5 57.5 0 +2046 1 1 0 53.4615 55.1612 42.1655 0.346153 0.516122 -0.783452 0.490491 45 57.5 57.5 0 +2047 1 1 0 54.2713 54.156 41.9698 0.427135 0.415597 -0.803016 0.490491 45 57.5 57.5 0 +2048 1 1 0 54.8571 53.8268 42.141 0.485712 0.382683 -0.785899 0.490491 45 57.5 57.5 0 +2049 1 1 0 54.6843 54.5399 42.4206 0.46843 0.45399 -0.757936 0.490491 45 57.5 57.5 0 +2050 1 1 0 54.0829 54.8624 42.2742 0.408286 0.48624 -0.772575 0.490491 45 57.5 57.5 0 +2051 1 1 0 53.8673 55.5337 42.6229 0.38673 0.553372 -0.737712 0.490491 45 57.5 57.5 0 +2052 1 1 0 54.4826 55.225 42.747 0.448259 0.522499 -0.725299 0.490491 45 57.5 57.5 0 +2053 1 1 0 54.2533 55.8779 43.1181 0.425325 0.587785 -0.688191 0.490491 45 57.5 57.5 0 +2054 1 1 0 52.289 56.7232 42.9602 0.228899 0.672319 -0.703983 0.490491 45 57.5 57.5 0 +2055 1 1 0 52.96 56.4741 42.9769 0.296004 0.647412 -0.70231 0.490491 45 57.5 57.5 0 +2056 1 1 0 52.6738 57.0524 43.4338 0.267381 0.705236 -0.65662 0.490491 45 57.5 57.5 0 +2057 1 1 0 53.6159 56.1919 43.0296 0.361591 0.619186 -0.697037 0.490491 45 57.5 57.5 0 +2058 1 1 0 53.3469 56.7891 43.465 0.334691 0.678913 -0.653497 0.490491 45 57.5 57.5 0 +2059 1 1 0 53.9977 56.4945 43.5316 0.399769 0.649448 -0.64684 0.490491 45 57.5 57.5 0 +2060 1 1 0 53.7175 57.0711 43.985 0.371748 0.707107 -0.601501 0.490491 45 57.5 57.5 0 +2061 1 1 0 53.0521 57.3479 43.9426 0.305212 0.734794 -0.605742 0.490491 45 57.5 57.5 0 +2062 1 1 0 53.4143 57.6041 44.4755 0.341435 0.760406 -0.552454 0.490491 45 57.5 57.5 0 +2063 1 1 0 52.8032 55.4511 42.0989 0.280319 0.545109 -0.790112 0.490491 45 57.5 57.5 0 +2064 1 1 0 53.2214 55.8369 42.5466 0.322141 0.583692 -0.745339 0.490491 45 57.5 57.5 0 +2065 1 1 0 52.5518 56.1093 42.5056 0.25518 0.610926 -0.749435 0.490491 45 57.5 57.5 0 +2066 1 1 0 55.5245 53.4143 42.3959 0.552454 0.341435 -0.760406 0.490491 45 57.5 57.5 0 +2067 1 1 0 56.0574 53.0521 42.6521 0.605742 0.305212 -0.734794 0.490491 45 57.5 57.5 0 +2068 1 1 0 56.015 53.7175 42.9289 0.601501 0.371748 -0.707107 0.490491 45 57.5 57.5 0 +2069 1 1 0 56.5662 52.6738 42.9476 0.65662 0.267381 -0.705236 0.490491 45 57.5 57.5 0 +2070 1 1 0 57.0398 52.289 43.2768 0.703983 0.228899 -0.672319 0.490491 45 57.5 57.5 0 +2071 1 1 0 57.0231 52.96 43.5259 0.70231 0.296004 -0.647412 0.490491 45 57.5 57.5 0 +2072 1 1 0 56.535 53.3469 43.2109 0.653497 0.334691 -0.678913 0.490491 45 57.5 57.5 0 +2073 1 1 0 56.4684 53.9977 43.5055 0.64684 0.399769 -0.649448 0.490491 45 57.5 57.5 0 +2074 1 1 0 56.9704 53.6159 43.8081 0.697037 0.361591 -0.619186 0.490491 45 57.5 57.5 0 +2075 1 1 0 56.8819 54.2533 44.1221 0.688191 0.425325 -0.587785 0.490491 45 57.5 57.5 0 +2076 1 1 0 57.4979 51.8743 43.6542 0.749786 0.187432 -0.634579 0.490491 45 57.5 57.5 0 +2077 1 1 0 57.9017 51.4741 44.051 0.79017 0.147413 -0.594895 0.490491 45 57.5 57.5 0 +2078 1 1 0 57.9265 52.1302 44.2875 0.79265 0.213023 -0.571251 0.490491 45 57.5 57.5 0 +2079 1 1 0 58.2711 51.0649 44.4814 0.82711 0.106494 -0.551859 0.490491 45 57.5 57.5 0 +2080 1 1 0 58.3081 51.7253 44.7087 0.830812 0.172532 -0.529135 0.490491 45 57.5 57.5 0 +2081 1 1 0 58.3036 52.3723 44.9579 0.830359 0.237228 -0.504209 0.490491 45 57.5 57.5 0 +2082 1 1 0 57.3771 53.8673 44.4663 0.737712 0.38673 -0.553372 0.490491 45 57.5 57.5 0 +2083 1 1 0 57.253 54.4826 44.775 0.725299 0.448259 -0.522499 0.490491 45 57.5 57.5 0 +2084 1 1 0 57.8345 53.4615 44.8388 0.783452 0.346153 -0.516122 0.490491 45 57.5 57.5 0 +2085 1 1 0 57.7258 54.0829 45.1376 0.772575 0.408286 -0.48624 0.490491 45 57.5 57.5 0 +2086 1 1 0 57.5794 54.6843 45.4601 0.757936 0.46843 -0.45399 0.490491 45 57.5 57.5 0 +2087 1 1 0 58.2518 53.038 45.2377 0.825175 0.303801 -0.476225 0.490491 45 57.5 57.5 0 +2088 1 1 0 58.1623 53.6603 45.5302 0.816233 0.366027 -0.446977 0.490491 45 57.5 57.5 0 +2089 1 1 0 58.0302 54.2713 45.844 0.803016 0.427135 -0.415597 0.490491 45 57.5 57.5 0 +2090 1 1 0 57.859 54.8571 46.1732 0.785899 0.485712 -0.382683 0.490491 45 57.5 57.5 0 +2091 1 1 0 57.4944 52.5518 43.8907 0.749435 0.25518 -0.610926 0.490491 45 57.5 57.5 0 +2092 1 1 0 57.9011 52.8032 44.5489 0.790112 0.280319 -0.545109 0.490491 45 57.5 57.5 0 +2093 1 1 0 57.4534 53.2214 44.1631 0.745339 0.322141 -0.583692 0.490491 45 57.5 57.5 0 +2094 1 1 0 53.8268 57.859 45.1429 0.382683 0.785899 -0.485712 0.490491 45 57.5 57.5 0 +2095 1 1 0 54.5399 57.5794 45.3157 0.45399 0.757936 -0.46843 0.490491 45 57.5 57.5 0 +2096 1 1 0 54.156 58.0302 45.7287 0.415597 0.803016 -0.427135 0.490491 45 57.5 57.5 0 +2097 1 1 0 55.225 57.253 45.5174 0.522499 0.725299 -0.448259 0.490491 45 57.5 57.5 0 +2098 1 1 0 54.8624 57.7258 45.9171 0.48624 0.772575 -0.408286 0.490491 45 57.5 57.5 0 +2099 1 1 0 55.8779 56.8819 45.7467 0.587785 0.688191 -0.425325 0.490491 45 57.5 57.5 0 +2100 1 1 0 55.5337 57.3771 46.1327 0.553372 0.737712 -0.38673 0.490491 45 57.5 57.5 0 +2101 1 1 0 55.1612 57.8345 46.5385 0.516122 0.783452 -0.346153 0.490491 45 57.5 57.5 0 +2102 1 1 0 54.4698 58.1623 46.3397 0.446977 0.816233 -0.366027 0.490491 45 57.5 57.5 0 +2103 1 1 0 54.7623 58.2518 46.962 0.476225 0.825175 -0.303801 0.490491 45 57.5 57.5 0 +2104 1 1 0 56.4945 56.4684 46.0023 0.649448 0.64684 -0.399769 0.490491 45 57.5 57.5 0 +2105 1 1 0 56.1919 56.9704 46.3841 0.619186 0.697037 -0.361591 0.490491 45 57.5 57.5 0 +2106 1 1 0 57.0711 56.015 46.2825 0.707107 0.601501 -0.371748 0.490491 45 57.5 57.5 0 +2107 1 1 0 56.7891 56.535 46.6531 0.678913 0.653497 -0.334691 0.490491 45 57.5 57.5 0 +2108 1 1 0 56.4741 57.0231 47.04 0.647412 0.70231 -0.296004 0.490491 45 57.5 57.5 0 +2109 1 1 0 57.6041 55.5245 46.5857 0.760406 0.552454 -0.341435 0.490491 45 57.5 57.5 0 +2110 1 1 0 57.3479 56.0574 46.9479 0.734794 0.605742 -0.305212 0.490491 45 57.5 57.5 0 +2111 1 1 0 57.0524 56.5662 47.3262 0.705236 0.65662 -0.267381 0.490491 45 57.5 57.5 0 +2112 1 1 0 56.7232 57.0398 47.711 0.672319 0.703983 -0.228899 0.490491 45 57.5 57.5 0 +2113 1 1 0 55.0421 58.3036 47.6277 0.504209 0.830359 -0.237228 0.490491 45 57.5 57.5 0 +2114 1 1 0 55.7125 57.9265 47.8698 0.571251 0.79265 -0.213023 0.490491 45 57.5 57.5 0 +2115 1 1 0 55.2913 58.3081 48.2747 0.529135 0.830812 -0.172532 0.490491 45 57.5 57.5 0 +2116 1 1 0 56.3458 57.4979 48.1257 0.634579 0.749786 -0.187432 0.490491 45 57.5 57.5 0 +2117 1 1 0 55.949 57.9017 48.5259 0.594895 0.79017 -0.147413 0.490491 45 57.5 57.5 0 +2118 1 1 0 55.5186 58.2711 48.9351 0.551859 0.82711 -0.106494 0.490491 45 57.5 57.5 0 +2119 1 1 0 55.8369 57.4534 46.7786 0.583692 0.745339 -0.322141 0.490491 45 57.5 57.5 0 +2120 1 1 0 56.1093 57.4944 47.4482 0.610926 0.749435 -0.25518 0.490491 45 57.5 57.5 0 +2121 1 1 0 55.4511 57.9011 47.1968 0.545109 0.790112 -0.280319 0.490491 45 57.5 57.5 0 +2122 1 1 0 55.3678 54.1427 42.6499 0.536784 0.414272 -0.735011 0.490491 45 57.5 57.5 0 +2123 1 1 0 55.8472 54.4396 43.2102 0.584716 0.443957 -0.678977 0.490491 45 57.5 57.5 0 +2124 1 1 0 56.2831 54.7092 43.8076 0.628313 0.470917 -0.619242 0.490491 45 57.5 57.5 0 +2125 1 1 0 55.6425 55.1338 43.5342 0.564254 0.513375 -0.646578 0.490491 45 57.5 57.5 0 +2126 1 1 0 55.1797 54.8521 42.9553 0.51797 0.485208 -0.704471 0.490491 45 57.5 57.5 0 +2127 1 1 0 54.9644 55.5242 43.3039 0.496441 0.552418 -0.669612 0.490491 45 57.5 57.5 0 +2128 1 1 0 56.6961 54.9644 44.4758 0.669612 0.496441 -0.552418 0.490491 45 57.5 57.5 0 +2129 1 1 0 57.0447 55.1797 45.1479 0.704471 0.51797 -0.485208 0.490491 45 57.5 57.5 0 +2130 1 1 0 56.4658 55.6425 44.8662 0.646578 0.564254 -0.513375 0.490491 45 57.5 57.5 0 +2131 1 1 0 57.3501 55.3678 45.8573 0.735011 0.536784 -0.414272 0.490491 45 57.5 57.5 0 +2132 1 1 0 56.7898 55.8472 45.5604 0.678977 0.584716 -0.443957 0.490491 45 57.5 57.5 0 +2133 1 1 0 56.1924 56.2831 45.2908 0.619242 0.628313 -0.470917 0.490491 45 57.5 57.5 0 +2134 1 1 0 54.7092 56.1924 43.7169 0.470917 0.619242 -0.628313 0.490491 45 57.5 57.5 0 +2135 1 1 0 55.1338 56.4658 44.3575 0.513375 0.646578 -0.564254 0.490491 45 57.5 57.5 0 +2136 1 1 0 54.4396 56.7898 44.1528 0.443957 0.678977 -0.584716 0.490491 45 57.5 57.5 0 +2137 1 1 0 55.5242 56.6961 45.0356 0.552418 0.669612 -0.496441 0.490491 45 57.5 57.5 0 +2138 1 1 0 54.8521 57.0447 44.8203 0.485208 0.704471 -0.51797 0.490491 45 57.5 57.5 0 +2139 1 1 0 54.1427 57.3501 44.6322 0.414272 0.735011 -0.536784 0.490491 45 57.5 57.5 0 +2140 1 1 0 56.0748 55.4065 44.1805 0.607478 0.54065 -0.581952 0.490491 45 57.5 57.5 0 +2141 1 1 0 55.8195 56.0748 44.5935 0.581952 0.607478 -0.54065 0.490491 45 57.5 57.5 0 +2142 1 1 0 55.4065 55.8195 43.9252 0.54065 0.581952 -0.607478 0.490491 45 57.5 57.5 0 +2143 1 1 0 48.9351 44.4814 41.7289 -0.106494 -0.551859 -0.82711 0.490491 45 57.5 57.5 0 +2144 1 1 0 48.2747 44.7087 41.6919 -0.172532 -0.529135 -0.830812 0.490491 45 57.5 57.5 0 +2145 1 1 0 47.6277 44.9579 41.6964 -0.237228 -0.504209 -0.830359 0.490491 45 57.5 57.5 0 +2146 1 1 0 47.8698 44.2875 42.0735 -0.213023 -0.571251 -0.79265 0.490491 45 57.5 57.5 0 +2147 1 1 0 48.5259 44.051 42.0983 -0.147413 -0.594895 -0.79017 0.490491 45 57.5 57.5 0 +2148 1 1 0 48.1257 43.6542 42.5021 -0.187432 -0.634579 -0.749786 0.490491 45 57.5 57.5 0 +2149 1 1 0 46.962 45.2377 41.7482 -0.303801 -0.476225 -0.825175 0.490491 45 57.5 57.5 0 +2150 1 1 0 46.3397 45.5302 41.8377 -0.366027 -0.446977 -0.816233 0.490491 45 57.5 57.5 0 +2151 1 1 0 46.5385 44.8388 42.1655 -0.346153 -0.516122 -0.783452 0.490491 45 57.5 57.5 0 +2152 1 1 0 45.7287 45.844 41.9698 -0.427135 -0.415597 -0.803016 0.490491 45 57.5 57.5 0 +2153 1 1 0 45.1429 46.1732 42.141 -0.485712 -0.382683 -0.785899 0.490491 45 57.5 57.5 0 +2154 1 1 0 45.3157 45.4601 42.4206 -0.46843 -0.45399 -0.757936 0.490491 45 57.5 57.5 0 +2155 1 1 0 45.9171 45.1376 42.2742 -0.408286 -0.48624 -0.772575 0.490491 45 57.5 57.5 0 +2156 1 1 0 46.1327 44.4663 42.6229 -0.38673 -0.553372 -0.737712 0.490491 45 57.5 57.5 0 +2157 1 1 0 45.5174 44.775 42.747 -0.448259 -0.522499 -0.725299 0.490491 45 57.5 57.5 0 +2158 1 1 0 45.7467 44.1221 43.1181 -0.425325 -0.587785 -0.688191 0.490491 45 57.5 57.5 0 +2159 1 1 0 47.711 43.2768 42.9602 -0.228899 -0.672319 -0.703983 0.490491 45 57.5 57.5 0 +2160 1 1 0 47.04 43.5259 42.9769 -0.296004 -0.647412 -0.70231 0.490491 45 57.5 57.5 0 +2161 1 1 0 47.3262 42.9476 43.4338 -0.267381 -0.705236 -0.65662 0.490491 45 57.5 57.5 0 +2162 1 1 0 46.3841 43.8081 43.0296 -0.361591 -0.619186 -0.697037 0.490491 45 57.5 57.5 0 +2163 1 1 0 46.6531 43.2109 43.465 -0.334691 -0.678913 -0.653497 0.490491 45 57.5 57.5 0 +2164 1 1 0 46.0023 43.5055 43.5316 -0.399769 -0.649448 -0.64684 0.490491 45 57.5 57.5 0 +2165 1 1 0 46.2825 42.9289 43.985 -0.371748 -0.707107 -0.601501 0.490491 45 57.5 57.5 0 +2166 1 1 0 46.9479 42.6521 43.9426 -0.305212 -0.734794 -0.605742 0.490491 45 57.5 57.5 0 +2167 1 1 0 46.5857 42.3959 44.4755 -0.341435 -0.760406 -0.552454 0.490491 45 57.5 57.5 0 +2168 1 1 0 47.1968 44.5489 42.0989 -0.280319 -0.545109 -0.790112 0.490491 45 57.5 57.5 0 +2169 1 1 0 46.7786 44.1631 42.5466 -0.322141 -0.583692 -0.745339 0.490491 45 57.5 57.5 0 +2170 1 1 0 47.4482 43.8907 42.5056 -0.25518 -0.610926 -0.749435 0.490491 45 57.5 57.5 0 +2171 1 1 0 44.4755 46.5857 42.3959 -0.552454 -0.341435 -0.760406 0.490491 45 57.5 57.5 0 +2172 1 1 0 43.9426 46.9479 42.6521 -0.605742 -0.305212 -0.734794 0.490491 45 57.5 57.5 0 +2173 1 1 0 43.985 46.2825 42.9289 -0.601501 -0.371748 -0.707107 0.490491 45 57.5 57.5 0 +2174 1 1 0 43.4338 47.3262 42.9476 -0.65662 -0.267381 -0.705236 0.490491 45 57.5 57.5 0 +2175 1 1 0 42.9602 47.711 43.2768 -0.703983 -0.228899 -0.672319 0.490491 45 57.5 57.5 0 +2176 1 1 0 42.9769 47.04 43.5259 -0.70231 -0.296004 -0.647412 0.490491 45 57.5 57.5 0 +2177 1 1 0 43.465 46.6531 43.2109 -0.653497 -0.334691 -0.678913 0.490491 45 57.5 57.5 0 +2178 1 1 0 43.5316 46.0023 43.5055 -0.64684 -0.399769 -0.649448 0.490491 45 57.5 57.5 0 +2179 1 1 0 43.0296 46.3841 43.8081 -0.697037 -0.361591 -0.619186 0.490491 45 57.5 57.5 0 +2180 1 1 0 43.1181 45.7467 44.1221 -0.688191 -0.425325 -0.587785 0.490491 45 57.5 57.5 0 +2181 1 1 0 42.5021 48.1257 43.6542 -0.749786 -0.187432 -0.634579 0.490491 45 57.5 57.5 0 +2182 1 1 0 42.0983 48.5259 44.051 -0.79017 -0.147413 -0.594895 0.490491 45 57.5 57.5 0 +2183 1 1 0 42.0735 47.8698 44.2875 -0.79265 -0.213023 -0.571251 0.490491 45 57.5 57.5 0 +2184 1 1 0 41.7289 48.9351 44.4814 -0.82711 -0.106494 -0.551859 0.490491 45 57.5 57.5 0 +2185 1 1 0 41.6919 48.2747 44.7087 -0.830812 -0.172532 -0.529135 0.490491 45 57.5 57.5 0 +2186 1 1 0 41.6964 47.6277 44.9579 -0.830359 -0.237228 -0.504209 0.490491 45 57.5 57.5 0 +2187 1 1 0 42.6229 46.1327 44.4663 -0.737712 -0.38673 -0.553372 0.490491 45 57.5 57.5 0 +2188 1 1 0 42.747 45.5174 44.775 -0.725299 -0.448259 -0.522499 0.490491 45 57.5 57.5 0 +2189 1 1 0 42.1655 46.5385 44.8388 -0.783452 -0.346153 -0.516122 0.490491 45 57.5 57.5 0 +2190 1 1 0 42.2742 45.9171 45.1376 -0.772575 -0.408286 -0.48624 0.490491 45 57.5 57.5 0 +2191 1 1 0 42.4206 45.3157 45.4601 -0.757936 -0.46843 -0.45399 0.490491 45 57.5 57.5 0 +2192 1 1 0 41.7482 46.962 45.2377 -0.825175 -0.303801 -0.476225 0.490491 45 57.5 57.5 0 +2193 1 1 0 41.8377 46.3397 45.5302 -0.816233 -0.366027 -0.446977 0.490491 45 57.5 57.5 0 +2194 1 1 0 41.9698 45.7287 45.844 -0.803016 -0.427135 -0.415597 0.490491 45 57.5 57.5 0 +2195 1 1 0 42.141 45.1429 46.1732 -0.785899 -0.485712 -0.382683 0.490491 45 57.5 57.5 0 +2196 1 1 0 42.5056 47.4482 43.8907 -0.749435 -0.25518 -0.610926 0.490491 45 57.5 57.5 0 +2197 1 1 0 42.0989 47.1968 44.5489 -0.790112 -0.280319 -0.545109 0.490491 45 57.5 57.5 0 +2198 1 1 0 42.5466 46.7786 44.1631 -0.745339 -0.322141 -0.583692 0.490491 45 57.5 57.5 0 +2199 1 1 0 46.1732 42.141 45.1429 -0.382683 -0.785899 -0.485712 0.490491 45 57.5 57.5 0 +2200 1 1 0 45.4601 42.4206 45.3157 -0.45399 -0.757936 -0.46843 0.490491 45 57.5 57.5 0 +2201 1 1 0 45.844 41.9698 45.7287 -0.415597 -0.803016 -0.427135 0.490491 45 57.5 57.5 0 +2202 1 1 0 44.775 42.747 45.5174 -0.522499 -0.725299 -0.448259 0.490491 45 57.5 57.5 0 +2203 1 1 0 45.1376 42.2742 45.9171 -0.48624 -0.772575 -0.408286 0.490491 45 57.5 57.5 0 +2204 1 1 0 44.1221 43.1181 45.7467 -0.587785 -0.688191 -0.425325 0.490491 45 57.5 57.5 0 +2205 1 1 0 44.4663 42.6229 46.1327 -0.553372 -0.737712 -0.38673 0.490491 45 57.5 57.5 0 +2206 1 1 0 44.8388 42.1655 46.5385 -0.516122 -0.783452 -0.346153 0.490491 45 57.5 57.5 0 +2207 1 1 0 45.5302 41.8377 46.3397 -0.446977 -0.816233 -0.366027 0.490491 45 57.5 57.5 0 +2208 1 1 0 45.2377 41.7482 46.962 -0.476225 -0.825175 -0.303801 0.490491 45 57.5 57.5 0 +2209 1 1 0 43.5055 43.5316 46.0023 -0.649448 -0.64684 -0.399769 0.490491 45 57.5 57.5 0 +2210 1 1 0 43.8081 43.0296 46.3841 -0.619186 -0.697037 -0.361591 0.490491 45 57.5 57.5 0 +2211 1 1 0 42.9289 43.985 46.2825 -0.707107 -0.601501 -0.371748 0.490491 45 57.5 57.5 0 +2212 1 1 0 43.2109 43.465 46.6531 -0.678913 -0.653497 -0.334691 0.490491 45 57.5 57.5 0 +2213 1 1 0 43.5259 42.9769 47.04 -0.647412 -0.70231 -0.296004 0.490491 45 57.5 57.5 0 +2214 1 1 0 42.3959 44.4755 46.5857 -0.760406 -0.552454 -0.341435 0.490491 45 57.5 57.5 0 +2215 1 1 0 42.6521 43.9426 46.9479 -0.734794 -0.605742 -0.305212 0.490491 45 57.5 57.5 0 +2216 1 1 0 42.9476 43.4338 47.3262 -0.705236 -0.65662 -0.267381 0.490491 45 57.5 57.5 0 +2217 1 1 0 43.2768 42.9602 47.711 -0.672319 -0.703983 -0.228899 0.490491 45 57.5 57.5 0 +2218 1 1 0 44.9579 41.6964 47.6277 -0.504209 -0.830359 -0.237228 0.490491 45 57.5 57.5 0 +2219 1 1 0 44.2875 42.0735 47.8698 -0.571251 -0.79265 -0.213023 0.490491 45 57.5 57.5 0 +2220 1 1 0 44.7087 41.6919 48.2747 -0.529135 -0.830812 -0.172532 0.490491 45 57.5 57.5 0 +2221 1 1 0 43.6542 42.5021 48.1257 -0.634579 -0.749786 -0.187432 0.490491 45 57.5 57.5 0 +2222 1 1 0 44.051 42.0983 48.5259 -0.594895 -0.79017 -0.147413 0.490491 45 57.5 57.5 0 +2223 1 1 0 44.4814 41.7289 48.9351 -0.551859 -0.82711 -0.106494 0.490491 45 57.5 57.5 0 +2224 1 1 0 44.1631 42.5466 46.7786 -0.583692 -0.745339 -0.322141 0.490491 45 57.5 57.5 0 +2225 1 1 0 43.8907 42.5056 47.4482 -0.610926 -0.749435 -0.25518 0.490491 45 57.5 57.5 0 +2226 1 1 0 44.5489 42.0989 47.1968 -0.545109 -0.790112 -0.280319 0.490491 45 57.5 57.5 0 +2227 1 1 0 44.6322 45.8573 42.6499 -0.536784 -0.414272 -0.735011 0.490491 45 57.5 57.5 0 +2228 1 1 0 44.1528 45.5604 43.2102 -0.584716 -0.443957 -0.678977 0.490491 45 57.5 57.5 0 +2229 1 1 0 43.7169 45.2908 43.8076 -0.628313 -0.470917 -0.619242 0.490491 45 57.5 57.5 0 +2230 1 1 0 44.3575 44.8662 43.5342 -0.564254 -0.513375 -0.646578 0.490491 45 57.5 57.5 0 +2231 1 1 0 44.8203 45.1479 42.9553 -0.51797 -0.485208 -0.704471 0.490491 45 57.5 57.5 0 +2232 1 1 0 45.0356 44.4758 43.3039 -0.496441 -0.552418 -0.669612 0.490491 45 57.5 57.5 0 +2233 1 1 0 43.3039 45.0356 44.4758 -0.669612 -0.496441 -0.552418 0.490491 45 57.5 57.5 0 +2234 1 1 0 42.9553 44.8203 45.1479 -0.704471 -0.51797 -0.485208 0.490491 45 57.5 57.5 0 +2235 1 1 0 43.5342 44.3575 44.8662 -0.646578 -0.564254 -0.513375 0.490491 45 57.5 57.5 0 +2236 1 1 0 42.6499 44.6322 45.8573 -0.735011 -0.536784 -0.414272 0.490491 45 57.5 57.5 0 +2237 1 1 0 43.2102 44.1528 45.5604 -0.678977 -0.584716 -0.443957 0.490491 45 57.5 57.5 0 +2238 1 1 0 43.8076 43.7169 45.2908 -0.619242 -0.628313 -0.470917 0.490491 45 57.5 57.5 0 +2239 1 1 0 45.2908 43.8076 43.7169 -0.470917 -0.619242 -0.628313 0.490491 45 57.5 57.5 0 +2240 1 1 0 44.8662 43.5342 44.3575 -0.513375 -0.646578 -0.564254 0.490491 45 57.5 57.5 0 +2241 1 1 0 45.5604 43.2102 44.1528 -0.443957 -0.678977 -0.584716 0.490491 45 57.5 57.5 0 +2242 1 1 0 44.4758 43.3039 45.0356 -0.552418 -0.669612 -0.496441 0.490491 45 57.5 57.5 0 +2243 1 1 0 45.1479 42.9553 44.8203 -0.485208 -0.704471 -0.51797 0.490491 45 57.5 57.5 0 +2244 1 1 0 45.8573 42.6499 44.6322 -0.414272 -0.735011 -0.536784 0.490491 45 57.5 57.5 0 +2245 1 1 0 43.9252 44.5935 44.1805 -0.607478 -0.54065 -0.581952 0.490491 45 57.5 57.5 0 +2246 1 1 0 44.1805 43.9252 44.5935 -0.581952 -0.607478 -0.54065 0.490491 45 57.5 57.5 0 +2247 1 1 0 44.5935 44.1805 43.9252 -0.54065 -0.581952 -0.607478 0.490491 45 57.5 57.5 0 +2248 1 1 0 51.0649 44.4814 41.7289 0.106494 -0.551859 -0.82711 0.490491 45 57.5 57.5 0 +2249 1 1 0 51.4741 44.051 42.0983 0.147413 -0.594895 -0.79017 0.490491 45 57.5 57.5 0 +2250 1 1 0 51.8743 43.6542 42.5021 0.187432 -0.634579 -0.749786 0.490491 45 57.5 57.5 0 +2251 1 1 0 52.1302 44.2875 42.0735 0.213023 -0.571251 -0.79265 0.490491 45 57.5 57.5 0 +2252 1 1 0 51.7253 44.7087 41.6919 0.172532 -0.529135 -0.830812 0.490491 45 57.5 57.5 0 +2253 1 1 0 52.3723 44.9579 41.6964 0.237228 -0.504209 -0.830359 0.490491 45 57.5 57.5 0 +2254 1 1 0 52.289 43.2768 42.9602 0.228899 -0.672319 -0.703983 0.490491 45 57.5 57.5 0 +2255 1 1 0 52.6738 42.9476 43.4338 0.267381 -0.705236 -0.65662 0.490491 45 57.5 57.5 0 +2256 1 1 0 52.96 43.5259 42.9769 0.296004 -0.647412 -0.70231 0.490491 45 57.5 57.5 0 +2257 1 1 0 53.0521 42.6521 43.9426 0.305212 -0.734794 -0.605742 0.490491 45 57.5 57.5 0 +2258 1 1 0 53.4143 42.3959 44.4755 0.341435 -0.760406 -0.552454 0.490491 45 57.5 57.5 0 +2259 1 1 0 53.7175 42.9289 43.985 0.371748 -0.707107 -0.601501 0.490491 45 57.5 57.5 0 +2260 1 1 0 53.3469 43.2109 43.465 0.334691 -0.678913 -0.653497 0.490491 45 57.5 57.5 0 +2261 1 1 0 53.6159 43.8081 43.0296 0.361591 -0.619186 -0.697037 0.490491 45 57.5 57.5 0 +2262 1 1 0 53.9977 43.5055 43.5316 0.399769 -0.649448 -0.64684 0.490491 45 57.5 57.5 0 +2263 1 1 0 54.2533 44.1221 43.1181 0.425325 -0.587785 -0.688191 0.490491 45 57.5 57.5 0 +2264 1 1 0 53.038 45.2377 41.7482 0.303801 -0.476225 -0.825175 0.490491 45 57.5 57.5 0 +2265 1 1 0 53.4615 44.8388 42.1655 0.346153 -0.516122 -0.783452 0.490491 45 57.5 57.5 0 +2266 1 1 0 53.6603 45.5302 41.8377 0.366027 -0.446977 -0.816233 0.490491 45 57.5 57.5 0 +2267 1 1 0 53.8673 44.4663 42.6229 0.38673 -0.553372 -0.737712 0.490491 45 57.5 57.5 0 +2268 1 1 0 54.0829 45.1376 42.2742 0.408286 -0.48624 -0.772575 0.490491 45 57.5 57.5 0 +2269 1 1 0 54.4826 44.775 42.747 0.448259 -0.522499 -0.725299 0.490491 45 57.5 57.5 0 +2270 1 1 0 54.6843 45.4601 42.4206 0.46843 -0.45399 -0.757936 0.490491 45 57.5 57.5 0 +2271 1 1 0 54.2713 45.844 41.9698 0.427135 -0.415597 -0.803016 0.490491 45 57.5 57.5 0 +2272 1 1 0 54.8571 46.1732 42.141 0.485712 -0.382683 -0.785899 0.490491 45 57.5 57.5 0 +2273 1 1 0 52.5518 43.8907 42.5056 0.25518 -0.610926 -0.749435 0.490491 45 57.5 57.5 0 +2274 1 1 0 53.2214 44.1631 42.5466 0.322141 -0.583692 -0.745339 0.490491 45 57.5 57.5 0 +2275 1 1 0 52.8032 44.5489 42.0989 0.280319 -0.545109 -0.790112 0.490491 45 57.5 57.5 0 +2276 1 1 0 53.8268 42.141 45.1429 0.382683 -0.785899 -0.485712 0.490491 45 57.5 57.5 0 +2277 1 1 0 54.156 41.9698 45.7287 0.415597 -0.803016 -0.427135 0.490491 45 57.5 57.5 0 +2278 1 1 0 54.5399 42.4206 45.3157 0.45399 -0.757936 -0.46843 0.490491 45 57.5 57.5 0 +2279 1 1 0 54.4698 41.8377 46.3397 0.446977 -0.816233 -0.366027 0.490491 45 57.5 57.5 0 +2280 1 1 0 54.7623 41.7482 46.962 0.476225 -0.825175 -0.303801 0.490491 45 57.5 57.5 0 +2281 1 1 0 55.1612 42.1655 46.5385 0.516122 -0.783452 -0.346153 0.490491 45 57.5 57.5 0 +2282 1 1 0 54.8624 42.2742 45.9171 0.48624 -0.772575 -0.408286 0.490491 45 57.5 57.5 0 +2283 1 1 0 55.225 42.747 45.5174 0.522499 -0.725299 -0.448259 0.490491 45 57.5 57.5 0 +2284 1 1 0 55.5337 42.6229 46.1327 0.553372 -0.737712 -0.38673 0.490491 45 57.5 57.5 0 +2285 1 1 0 55.8779 43.1181 45.7467 0.587785 -0.688191 -0.425325 0.490491 45 57.5 57.5 0 +2286 1 1 0 55.0421 41.6964 47.6277 0.504209 -0.830359 -0.237228 0.490491 45 57.5 57.5 0 +2287 1 1 0 55.2913 41.6919 48.2747 0.529135 -0.830812 -0.172532 0.490491 45 57.5 57.5 0 +2288 1 1 0 55.7125 42.0735 47.8698 0.571251 -0.79265 -0.213023 0.490491 45 57.5 57.5 0 +2289 1 1 0 55.5186 41.7289 48.9351 0.551859 -0.82711 -0.106494 0.490491 45 57.5 57.5 0 +2290 1 1 0 55.949 42.0983 48.5259 0.594895 -0.79017 -0.147413 0.490491 45 57.5 57.5 0 +2291 1 1 0 56.3458 42.5021 48.1257 0.634579 -0.749786 -0.187432 0.490491 45 57.5 57.5 0 +2292 1 1 0 56.1919 43.0296 46.3841 0.619186 -0.697037 -0.361591 0.490491 45 57.5 57.5 0 +2293 1 1 0 56.4945 43.5316 46.0023 0.649448 -0.64684 -0.399769 0.490491 45 57.5 57.5 0 +2294 1 1 0 56.4741 42.9769 47.04 0.647412 -0.70231 -0.296004 0.490491 45 57.5 57.5 0 +2295 1 1 0 56.7891 43.465 46.6531 0.678913 -0.653497 -0.334691 0.490491 45 57.5 57.5 0 +2296 1 1 0 57.0711 43.985 46.2825 0.707107 -0.601501 -0.371748 0.490491 45 57.5 57.5 0 +2297 1 1 0 56.7232 42.9602 47.711 0.672319 -0.703983 -0.228899 0.490491 45 57.5 57.5 0 +2298 1 1 0 57.0524 43.4338 47.3262 0.705236 -0.65662 -0.267381 0.490491 45 57.5 57.5 0 +2299 1 1 0 57.3479 43.9426 46.9479 0.734794 -0.605742 -0.305212 0.490491 45 57.5 57.5 0 +2300 1 1 0 57.6041 44.4755 46.5857 0.760406 -0.552454 -0.341435 0.490491 45 57.5 57.5 0 +2301 1 1 0 55.4511 42.0989 47.1968 0.545109 -0.790112 -0.280319 0.490491 45 57.5 57.5 0 +2302 1 1 0 56.1093 42.5056 47.4482 0.610926 -0.749435 -0.25518 0.490491 45 57.5 57.5 0 +2303 1 1 0 55.8369 42.5466 46.7786 0.583692 -0.745339 -0.322141 0.490491 45 57.5 57.5 0 +2304 1 1 0 55.5245 46.5857 42.3959 0.552454 -0.341435 -0.760406 0.490491 45 57.5 57.5 0 +2305 1 1 0 56.015 46.2825 42.9289 0.601501 -0.371748 -0.707107 0.490491 45 57.5 57.5 0 +2306 1 1 0 56.0574 46.9479 42.6521 0.605742 -0.305212 -0.734794 0.490491 45 57.5 57.5 0 +2307 1 1 0 56.4684 46.0023 43.5055 0.64684 -0.399769 -0.649448 0.490491 45 57.5 57.5 0 +2308 1 1 0 56.535 46.6531 43.2109 0.653497 -0.334691 -0.678913 0.490491 45 57.5 57.5 0 +2309 1 1 0 56.8819 45.7467 44.1221 0.688191 -0.425325 -0.587785 0.490491 45 57.5 57.5 0 +2310 1 1 0 56.9704 46.3841 43.8081 0.697037 -0.361591 -0.619186 0.490491 45 57.5 57.5 0 +2311 1 1 0 57.0231 47.04 43.5259 0.70231 -0.296004 -0.647412 0.490491 45 57.5 57.5 0 +2312 1 1 0 56.5662 47.3262 42.9476 0.65662 -0.267381 -0.705236 0.490491 45 57.5 57.5 0 +2313 1 1 0 57.0398 47.711 43.2768 0.703983 -0.228899 -0.672319 0.490491 45 57.5 57.5 0 +2314 1 1 0 57.253 45.5174 44.775 0.725299 -0.448259 -0.522499 0.490491 45 57.5 57.5 0 +2315 1 1 0 57.3771 46.1327 44.4663 0.737712 -0.38673 -0.553372 0.490491 45 57.5 57.5 0 +2316 1 1 0 57.5794 45.3157 45.4601 0.757936 -0.46843 -0.45399 0.490491 45 57.5 57.5 0 +2317 1 1 0 57.7258 45.9171 45.1376 0.772575 -0.408286 -0.48624 0.490491 45 57.5 57.5 0 +2318 1 1 0 57.8345 46.5385 44.8388 0.783452 -0.346153 -0.516122 0.490491 45 57.5 57.5 0 +2319 1 1 0 57.859 45.1429 46.1732 0.785899 -0.485712 -0.382683 0.490491 45 57.5 57.5 0 +2320 1 1 0 58.0302 45.7287 45.844 0.803016 -0.427135 -0.415597 0.490491 45 57.5 57.5 0 +2321 1 1 0 58.1623 46.3397 45.5302 0.816233 -0.366027 -0.446977 0.490491 45 57.5 57.5 0 +2322 1 1 0 58.2518 46.962 45.2377 0.825175 -0.303801 -0.476225 0.490491 45 57.5 57.5 0 +2323 1 1 0 57.4979 48.1257 43.6542 0.749786 -0.187432 -0.634579 0.490491 45 57.5 57.5 0 +2324 1 1 0 57.9265 47.8698 44.2875 0.79265 -0.213023 -0.571251 0.490491 45 57.5 57.5 0 +2325 1 1 0 57.9017 48.5259 44.051 0.79017 -0.147413 -0.594895 0.490491 45 57.5 57.5 0 +2326 1 1 0 58.3036 47.6277 44.9579 0.830359 -0.237228 -0.504209 0.490491 45 57.5 57.5 0 +2327 1 1 0 58.3081 48.2747 44.7087 0.830812 -0.172532 -0.529135 0.490491 45 57.5 57.5 0 +2328 1 1 0 58.2711 48.9351 44.4814 0.82711 -0.106494 -0.551859 0.490491 45 57.5 57.5 0 +2329 1 1 0 57.4534 46.7786 44.1631 0.745339 -0.322141 -0.583692 0.490491 45 57.5 57.5 0 +2330 1 1 0 57.9011 47.1968 44.5489 0.790112 -0.280319 -0.545109 0.490491 45 57.5 57.5 0 +2331 1 1 0 57.4944 47.4482 43.8907 0.749435 -0.25518 -0.610926 0.490491 45 57.5 57.5 0 +2332 1 1 0 54.1427 42.6499 44.6322 0.414272 -0.735011 -0.536784 0.490491 45 57.5 57.5 0 +2333 1 1 0 54.8521 42.9553 44.8203 0.485208 -0.704471 -0.51797 0.490491 45 57.5 57.5 0 +2334 1 1 0 55.5242 43.3039 45.0356 0.552418 -0.669612 -0.496441 0.490491 45 57.5 57.5 0 +2335 1 1 0 55.1338 43.5342 44.3575 0.513375 -0.646578 -0.564254 0.490491 45 57.5 57.5 0 +2336 1 1 0 54.4396 43.2102 44.1528 0.443957 -0.678977 -0.584716 0.490491 45 57.5 57.5 0 +2337 1 1 0 54.7092 43.8076 43.7169 0.470917 -0.619242 -0.628313 0.490491 45 57.5 57.5 0 +2338 1 1 0 56.1924 43.7169 45.2908 0.619242 -0.628313 -0.470917 0.490491 45 57.5 57.5 0 +2339 1 1 0 56.7898 44.1528 45.5604 0.678977 -0.584716 -0.443957 0.490491 45 57.5 57.5 0 +2340 1 1 0 56.4658 44.3575 44.8662 0.646578 -0.564254 -0.513375 0.490491 45 57.5 57.5 0 +2341 1 1 0 57.3501 44.6322 45.8573 0.735011 -0.536784 -0.414272 0.490491 45 57.5 57.5 0 +2342 1 1 0 57.0447 44.8203 45.1479 0.704471 -0.51797 -0.485208 0.490491 45 57.5 57.5 0 +2343 1 1 0 56.6961 45.0356 44.4758 0.669612 -0.496441 -0.552418 0.490491 45 57.5 57.5 0 +2344 1 1 0 54.9644 44.4758 43.3039 0.496441 -0.552418 -0.669612 0.490491 45 57.5 57.5 0 +2345 1 1 0 55.6425 44.8662 43.5342 0.564254 -0.513375 -0.646578 0.490491 45 57.5 57.5 0 +2346 1 1 0 55.1797 45.1479 42.9553 0.51797 -0.485208 -0.704471 0.490491 45 57.5 57.5 0 +2347 1 1 0 56.2831 45.2908 43.8076 0.628313 -0.470917 -0.619242 0.490491 45 57.5 57.5 0 +2348 1 1 0 55.8472 45.5604 43.2102 0.584716 -0.443957 -0.678977 0.490491 45 57.5 57.5 0 +2349 1 1 0 55.3678 45.8573 42.6499 0.536784 -0.414272 -0.735011 0.490491 45 57.5 57.5 0 +2350 1 1 0 55.8195 43.9252 44.5935 0.581952 -0.607478 -0.54065 0.490491 45 57.5 57.5 0 +2351 1 1 0 56.0748 44.5935 44.1805 0.607478 -0.54065 -0.581952 0.490491 45 57.5 57.5 0 +2352 1 1 0 55.4065 44.1805 43.9252 0.54065 -0.581952 -0.607478 0.490491 45 57.5 57.5 0 +2353 1 1 0 48.9351 44.4814 58.2711 -0.106494 -0.551859 0.82711 0.490491 45 57.5 57.5 0 +2354 1 1 0 48.5259 44.051 57.9017 -0.147413 -0.594895 0.79017 0.490491 45 57.5 57.5 0 +2355 1 1 0 48.1257 43.6542 57.4979 -0.187432 -0.634579 0.749786 0.490491 45 57.5 57.5 0 +2356 1 1 0 47.8698 44.2875 57.9265 -0.213023 -0.571251 0.79265 0.490491 45 57.5 57.5 0 +2357 1 1 0 48.2747 44.7087 58.3081 -0.172532 -0.529135 0.830812 0.490491 45 57.5 57.5 0 +2358 1 1 0 47.6277 44.9579 58.3036 -0.237228 -0.504209 0.830359 0.490491 45 57.5 57.5 0 +2359 1 1 0 47.711 43.2768 57.0398 -0.228899 -0.672319 0.703983 0.490491 45 57.5 57.5 0 +2360 1 1 0 47.3262 42.9476 56.5662 -0.267381 -0.705236 0.65662 0.490491 45 57.5 57.5 0 +2361 1 1 0 47.04 43.5259 57.0231 -0.296004 -0.647412 0.70231 0.490491 45 57.5 57.5 0 +2362 1 1 0 46.9479 42.6521 56.0574 -0.305212 -0.734794 0.605742 0.490491 45 57.5 57.5 0 +2363 1 1 0 46.5857 42.3959 55.5245 -0.341435 -0.760406 0.552454 0.490491 45 57.5 57.5 0 +2364 1 1 0 46.2825 42.9289 56.015 -0.371748 -0.707107 0.601501 0.490491 45 57.5 57.5 0 +2365 1 1 0 46.6531 43.2109 56.535 -0.334691 -0.678913 0.653497 0.490491 45 57.5 57.5 0 +2366 1 1 0 46.3841 43.8081 56.9704 -0.361591 -0.619186 0.697037 0.490491 45 57.5 57.5 0 +2367 1 1 0 46.0023 43.5055 56.4684 -0.399769 -0.649448 0.64684 0.490491 45 57.5 57.5 0 +2368 1 1 0 45.7467 44.1221 56.8819 -0.425325 -0.587785 0.688191 0.490491 45 57.5 57.5 0 +2369 1 1 0 46.962 45.2377 58.2518 -0.303801 -0.476225 0.825175 0.490491 45 57.5 57.5 0 +2370 1 1 0 46.5385 44.8388 57.8345 -0.346153 -0.516122 0.783452 0.490491 45 57.5 57.5 0 +2371 1 1 0 46.3397 45.5302 58.1623 -0.366027 -0.446977 0.816233 0.490491 45 57.5 57.5 0 +2372 1 1 0 46.1327 44.4663 57.3771 -0.38673 -0.553372 0.737712 0.490491 45 57.5 57.5 0 +2373 1 1 0 45.9171 45.1376 57.7258 -0.408286 -0.48624 0.772575 0.490491 45 57.5 57.5 0 +2374 1 1 0 45.5174 44.775 57.253 -0.448259 -0.522499 0.725299 0.490491 45 57.5 57.5 0 +2375 1 1 0 45.3157 45.4601 57.5794 -0.46843 -0.45399 0.757936 0.490491 45 57.5 57.5 0 +2376 1 1 0 45.7287 45.844 58.0302 -0.427135 -0.415597 0.803016 0.490491 45 57.5 57.5 0 +2377 1 1 0 45.1429 46.1732 57.859 -0.485712 -0.382683 0.785899 0.490491 45 57.5 57.5 0 +2378 1 1 0 47.4482 43.8907 57.4944 -0.25518 -0.610926 0.749435 0.490491 45 57.5 57.5 0 +2379 1 1 0 46.7786 44.1631 57.4534 -0.322141 -0.583692 0.745339 0.490491 45 57.5 57.5 0 +2380 1 1 0 47.1968 44.5489 57.9011 -0.280319 -0.545109 0.790112 0.490491 45 57.5 57.5 0 +2381 1 1 0 46.1732 42.141 54.8571 -0.382683 -0.785899 0.485712 0.490491 45 57.5 57.5 0 +2382 1 1 0 45.844 41.9698 54.2713 -0.415597 -0.803016 0.427135 0.490491 45 57.5 57.5 0 +2383 1 1 0 45.4601 42.4206 54.6843 -0.45399 -0.757936 0.46843 0.490491 45 57.5 57.5 0 +2384 1 1 0 45.5302 41.8377 53.6603 -0.446977 -0.816233 0.366027 0.490491 45 57.5 57.5 0 +2385 1 1 0 45.2377 41.7482 53.038 -0.476225 -0.825175 0.303801 0.490491 45 57.5 57.5 0 +2386 1 1 0 44.8388 42.1655 53.4615 -0.516122 -0.783452 0.346153 0.490491 45 57.5 57.5 0 +2387 1 1 0 45.1376 42.2742 54.0829 -0.48624 -0.772575 0.408286 0.490491 45 57.5 57.5 0 +2388 1 1 0 44.775 42.747 54.4826 -0.522499 -0.725299 0.448259 0.490491 45 57.5 57.5 0 +2389 1 1 0 44.4663 42.6229 53.8673 -0.553372 -0.737712 0.38673 0.490491 45 57.5 57.5 0 +2390 1 1 0 44.1221 43.1181 54.2533 -0.587785 -0.688191 0.425325 0.490491 45 57.5 57.5 0 +2391 1 1 0 44.9579 41.6964 52.3723 -0.504209 -0.830359 0.237228 0.490491 45 57.5 57.5 0 +2392 1 1 0 44.7087 41.6919 51.7253 -0.529135 -0.830812 0.172532 0.490491 45 57.5 57.5 0 +2393 1 1 0 44.2875 42.0735 52.1302 -0.571251 -0.79265 0.213023 0.490491 45 57.5 57.5 0 +2394 1 1 0 44.4814 41.7289 51.0649 -0.551859 -0.82711 0.106494 0.490491 45 57.5 57.5 0 +2395 1 1 0 44.051 42.0983 51.4741 -0.594895 -0.79017 0.147413 0.490491 45 57.5 57.5 0 +2396 1 1 0 43.6542 42.5021 51.8743 -0.634579 -0.749786 0.187432 0.490491 45 57.5 57.5 0 +2397 1 1 0 43.8081 43.0296 53.6159 -0.619186 -0.697037 0.361591 0.490491 45 57.5 57.5 0 +2398 1 1 0 43.5055 43.5316 53.9977 -0.649448 -0.64684 0.399769 0.490491 45 57.5 57.5 0 +2399 1 1 0 43.5259 42.9769 52.96 -0.647412 -0.70231 0.296004 0.490491 45 57.5 57.5 0 +2400 1 1 0 43.2109 43.465 53.3469 -0.678913 -0.653497 0.334691 0.490491 45 57.5 57.5 0 +2401 1 1 0 42.9289 43.985 53.7175 -0.707107 -0.601501 0.371748 0.490491 45 57.5 57.5 0 +2402 1 1 0 43.2768 42.9602 52.289 -0.672319 -0.703983 0.228899 0.490491 45 57.5 57.5 0 +2403 1 1 0 42.9476 43.4338 52.6738 -0.705236 -0.65662 0.267381 0.490491 45 57.5 57.5 0 +2404 1 1 0 42.6521 43.9426 53.0521 -0.734794 -0.605742 0.305212 0.490491 45 57.5 57.5 0 +2405 1 1 0 42.3959 44.4755 53.4143 -0.760406 -0.552454 0.341435 0.490491 45 57.5 57.5 0 +2406 1 1 0 44.5489 42.0989 52.8032 -0.545109 -0.790112 0.280319 0.490491 45 57.5 57.5 0 +2407 1 1 0 43.8907 42.5056 52.5518 -0.610926 -0.749435 0.25518 0.490491 45 57.5 57.5 0 +2408 1 1 0 44.1631 42.5466 53.2214 -0.583692 -0.745339 0.322141 0.490491 45 57.5 57.5 0 +2409 1 1 0 44.4755 46.5857 57.6041 -0.552454 -0.341435 0.760406 0.490491 45 57.5 57.5 0 +2410 1 1 0 43.985 46.2825 57.0711 -0.601501 -0.371748 0.707107 0.490491 45 57.5 57.5 0 +2411 1 1 0 43.9426 46.9479 57.3479 -0.605742 -0.305212 0.734794 0.490491 45 57.5 57.5 0 +2412 1 1 0 43.5316 46.0023 56.4945 -0.64684 -0.399769 0.649448 0.490491 45 57.5 57.5 0 +2413 1 1 0 43.465 46.6531 56.7891 -0.653497 -0.334691 0.678913 0.490491 45 57.5 57.5 0 +2414 1 1 0 43.1181 45.7467 55.8779 -0.688191 -0.425325 0.587785 0.490491 45 57.5 57.5 0 +2415 1 1 0 43.0296 46.3841 56.1919 -0.697037 -0.361591 0.619186 0.490491 45 57.5 57.5 0 +2416 1 1 0 42.9769 47.04 56.4741 -0.70231 -0.296004 0.647412 0.490491 45 57.5 57.5 0 +2417 1 1 0 43.4338 47.3262 57.0524 -0.65662 -0.267381 0.705236 0.490491 45 57.5 57.5 0 +2418 1 1 0 42.9602 47.711 56.7232 -0.703983 -0.228899 0.672319 0.490491 45 57.5 57.5 0 +2419 1 1 0 42.747 45.5174 55.225 -0.725299 -0.448259 0.522499 0.490491 45 57.5 57.5 0 +2420 1 1 0 42.6229 46.1327 55.5337 -0.737712 -0.38673 0.553372 0.490491 45 57.5 57.5 0 +2421 1 1 0 42.4206 45.3157 54.5399 -0.757936 -0.46843 0.45399 0.490491 45 57.5 57.5 0 +2422 1 1 0 42.2742 45.9171 54.8624 -0.772575 -0.408286 0.48624 0.490491 45 57.5 57.5 0 +2423 1 1 0 42.1655 46.5385 55.1612 -0.783452 -0.346153 0.516122 0.490491 45 57.5 57.5 0 +2424 1 1 0 42.141 45.1429 53.8268 -0.785899 -0.485712 0.382683 0.490491 45 57.5 57.5 0 +2425 1 1 0 41.9698 45.7287 54.156 -0.803016 -0.427135 0.415597 0.490491 45 57.5 57.5 0 +2426 1 1 0 41.8377 46.3397 54.4698 -0.816233 -0.366027 0.446977 0.490491 45 57.5 57.5 0 +2427 1 1 0 41.7482 46.962 54.7623 -0.825175 -0.303801 0.476225 0.490491 45 57.5 57.5 0 +2428 1 1 0 42.5021 48.1257 56.3458 -0.749786 -0.187432 0.634579 0.490491 45 57.5 57.5 0 +2429 1 1 0 42.0735 47.8698 55.7125 -0.79265 -0.213023 0.571251 0.490491 45 57.5 57.5 0 +2430 1 1 0 42.0983 48.5259 55.949 -0.79017 -0.147413 0.594895 0.490491 45 57.5 57.5 0 +2431 1 1 0 41.6964 47.6277 55.0421 -0.830359 -0.237228 0.504209 0.490491 45 57.5 57.5 0 +2432 1 1 0 41.6919 48.2747 55.2913 -0.830812 -0.172532 0.529135 0.490491 45 57.5 57.5 0 +2433 1 1 0 41.7289 48.9351 55.5186 -0.82711 -0.106494 0.551859 0.490491 45 57.5 57.5 0 +2434 1 1 0 42.5466 46.7786 55.8369 -0.745339 -0.322141 0.583692 0.490491 45 57.5 57.5 0 +2435 1 1 0 42.0989 47.1968 55.4511 -0.790112 -0.280319 0.545109 0.490491 45 57.5 57.5 0 +2436 1 1 0 42.5056 47.4482 56.1093 -0.749435 -0.25518 0.610926 0.490491 45 57.5 57.5 0 +2437 1 1 0 45.8573 42.6499 55.3678 -0.414272 -0.735011 0.536784 0.490491 45 57.5 57.5 0 +2438 1 1 0 45.1479 42.9553 55.1797 -0.485208 -0.704471 0.51797 0.490491 45 57.5 57.5 0 +2439 1 1 0 44.4758 43.3039 54.9644 -0.552418 -0.669612 0.496441 0.490491 45 57.5 57.5 0 +2440 1 1 0 44.8662 43.5342 55.6425 -0.513375 -0.646578 0.564254 0.490491 45 57.5 57.5 0 +2441 1 1 0 45.5604 43.2102 55.8472 -0.443957 -0.678977 0.584716 0.490491 45 57.5 57.5 0 +2442 1 1 0 45.2908 43.8076 56.2831 -0.470917 -0.619242 0.628313 0.490491 45 57.5 57.5 0 +2443 1 1 0 43.8076 43.7169 54.7092 -0.619242 -0.628313 0.470917 0.490491 45 57.5 57.5 0 +2444 1 1 0 43.2102 44.1528 54.4396 -0.678977 -0.584716 0.443957 0.490491 45 57.5 57.5 0 +2445 1 1 0 43.5342 44.3575 55.1338 -0.646578 -0.564254 0.513375 0.490491 45 57.5 57.5 0 +2446 1 1 0 42.6499 44.6322 54.1427 -0.735011 -0.536784 0.414272 0.490491 45 57.5 57.5 0 +2447 1 1 0 42.9553 44.8203 54.8521 -0.704471 -0.51797 0.485208 0.490491 45 57.5 57.5 0 +2448 1 1 0 43.3039 45.0356 55.5242 -0.669612 -0.496441 0.552418 0.490491 45 57.5 57.5 0 +2449 1 1 0 45.0356 44.4758 56.6961 -0.496441 -0.552418 0.669612 0.490491 45 57.5 57.5 0 +2450 1 1 0 44.3575 44.8662 56.4658 -0.564254 -0.513375 0.646578 0.490491 45 57.5 57.5 0 +2451 1 1 0 44.8203 45.1479 57.0447 -0.51797 -0.485208 0.704471 0.490491 45 57.5 57.5 0 +2452 1 1 0 43.7169 45.2908 56.1924 -0.628313 -0.470917 0.619242 0.490491 45 57.5 57.5 0 +2453 1 1 0 44.1528 45.5604 56.7898 -0.584716 -0.443957 0.678977 0.490491 45 57.5 57.5 0 +2454 1 1 0 44.6322 45.8573 57.3501 -0.536784 -0.414272 0.735011 0.490491 45 57.5 57.5 0 +2455 1 1 0 44.1805 43.9252 55.4065 -0.581952 -0.607478 0.54065 0.490491 45 57.5 57.5 0 +2456 1 1 0 43.9252 44.5935 55.8195 -0.607478 -0.54065 0.581952 0.490491 45 57.5 57.5 0 +2457 1 1 0 44.5935 44.1805 56.0748 -0.54065 -0.581952 0.607478 0.490491 45 57.5 57.5 0 +2458 1 1 0 51.0649 44.4814 58.2711 0.106494 -0.551859 0.82711 0.490491 45 57.5 57.5 0 +2459 1 1 0 51.7253 44.7087 58.3081 0.172532 -0.529135 0.830812 0.490491 45 57.5 57.5 0 +2460 1 1 0 52.3723 44.9579 58.3036 0.237228 -0.504209 0.830359 0.490491 45 57.5 57.5 0 +2461 1 1 0 52.1302 44.2875 57.9265 0.213023 -0.571251 0.79265 0.490491 45 57.5 57.5 0 +2462 1 1 0 51.4741 44.051 57.9017 0.147413 -0.594895 0.79017 0.490491 45 57.5 57.5 0 +2463 1 1 0 51.8743 43.6542 57.4979 0.187432 -0.634579 0.749786 0.490491 45 57.5 57.5 0 +2464 1 1 0 53.038 45.2377 58.2518 0.303801 -0.476225 0.825175 0.490491 45 57.5 57.5 0 +2465 1 1 0 53.6603 45.5302 58.1623 0.366027 -0.446977 0.816233 0.490491 45 57.5 57.5 0 +2466 1 1 0 53.4615 44.8388 57.8345 0.346153 -0.516122 0.783452 0.490491 45 57.5 57.5 0 +2467 1 1 0 54.2713 45.844 58.0302 0.427135 -0.415597 0.803016 0.490491 45 57.5 57.5 0 +2468 1 1 0 54.8571 46.1732 57.859 0.485712 -0.382683 0.785899 0.490491 45 57.5 57.5 0 +2469 1 1 0 54.6843 45.4601 57.5794 0.46843 -0.45399 0.757936 0.490491 45 57.5 57.5 0 +2470 1 1 0 54.0829 45.1376 57.7258 0.408286 -0.48624 0.772575 0.490491 45 57.5 57.5 0 +2471 1 1 0 53.8673 44.4663 57.3771 0.38673 -0.553372 0.737712 0.490491 45 57.5 57.5 0 +2472 1 1 0 54.4826 44.775 57.253 0.448259 -0.522499 0.725299 0.490491 45 57.5 57.5 0 +2473 1 1 0 54.2533 44.1221 56.8819 0.425325 -0.587785 0.688191 0.490491 45 57.5 57.5 0 +2474 1 1 0 52.289 43.2768 57.0398 0.228899 -0.672319 0.703983 0.490491 45 57.5 57.5 0 +2475 1 1 0 52.96 43.5259 57.0231 0.296004 -0.647412 0.70231 0.490491 45 57.5 57.5 0 +2476 1 1 0 52.6738 42.9476 56.5662 0.267381 -0.705236 0.65662 0.490491 45 57.5 57.5 0 +2477 1 1 0 53.6159 43.8081 56.9704 0.361591 -0.619186 0.697037 0.490491 45 57.5 57.5 0 +2478 1 1 0 53.3469 43.2109 56.535 0.334691 -0.678913 0.653497 0.490491 45 57.5 57.5 0 +2479 1 1 0 53.9977 43.5055 56.4684 0.399769 -0.649448 0.64684 0.490491 45 57.5 57.5 0 +2480 1 1 0 53.7175 42.9289 56.015 0.371748 -0.707107 0.601501 0.490491 45 57.5 57.5 0 +2481 1 1 0 53.0521 42.6521 56.0574 0.305212 -0.734794 0.605742 0.490491 45 57.5 57.5 0 +2482 1 1 0 53.4143 42.3959 55.5245 0.341435 -0.760406 0.552454 0.490491 45 57.5 57.5 0 +2483 1 1 0 52.8032 44.5489 57.9011 0.280319 -0.545109 0.790112 0.490491 45 57.5 57.5 0 +2484 1 1 0 53.2214 44.1631 57.4534 0.322141 -0.583692 0.745339 0.490491 45 57.5 57.5 0 +2485 1 1 0 52.5518 43.8907 57.4944 0.25518 -0.610926 0.749435 0.490491 45 57.5 57.5 0 +2486 1 1 0 55.5245 46.5857 57.6041 0.552454 -0.341435 0.760406 0.490491 45 57.5 57.5 0 +2487 1 1 0 56.0574 46.9479 57.3479 0.605742 -0.305212 0.734794 0.490491 45 57.5 57.5 0 +2488 1 1 0 56.015 46.2825 57.0711 0.601501 -0.371748 0.707107 0.490491 45 57.5 57.5 0 +2489 1 1 0 56.5662 47.3262 57.0524 0.65662 -0.267381 0.705236 0.490491 45 57.5 57.5 0 +2490 1 1 0 57.0398 47.711 56.7232 0.703983 -0.228899 0.672319 0.490491 45 57.5 57.5 0 +2491 1 1 0 57.0231 47.04 56.4741 0.70231 -0.296004 0.647412 0.490491 45 57.5 57.5 0 +2492 1 1 0 56.535 46.6531 56.7891 0.653497 -0.334691 0.678913 0.490491 45 57.5 57.5 0 +2493 1 1 0 56.4684 46.0023 56.4945 0.64684 -0.399769 0.649448 0.490491 45 57.5 57.5 0 +2494 1 1 0 56.9704 46.3841 56.1919 0.697037 -0.361591 0.619186 0.490491 45 57.5 57.5 0 +2495 1 1 0 56.8819 45.7467 55.8779 0.688191 -0.425325 0.587785 0.490491 45 57.5 57.5 0 +2496 1 1 0 57.4979 48.1257 56.3458 0.749786 -0.187432 0.634579 0.490491 45 57.5 57.5 0 +2497 1 1 0 57.9017 48.5259 55.949 0.79017 -0.147413 0.594895 0.490491 45 57.5 57.5 0 +2498 1 1 0 57.9265 47.8698 55.7125 0.79265 -0.213023 0.571251 0.490491 45 57.5 57.5 0 +2499 1 1 0 58.2711 48.9351 55.5186 0.82711 -0.106494 0.551859 0.490491 45 57.5 57.5 0 +2500 1 1 0 58.3081 48.2747 55.2913 0.830812 -0.172532 0.529135 0.490491 45 57.5 57.5 0 +2501 1 1 0 58.3036 47.6277 55.0421 0.830359 -0.237228 0.504209 0.490491 45 57.5 57.5 0 +2502 1 1 0 57.3771 46.1327 55.5337 0.737712 -0.38673 0.553372 0.490491 45 57.5 57.5 0 +2503 1 1 0 57.253 45.5174 55.225 0.725299 -0.448259 0.522499 0.490491 45 57.5 57.5 0 +2504 1 1 0 57.8345 46.5385 55.1612 0.783452 -0.346153 0.516122 0.490491 45 57.5 57.5 0 +2505 1 1 0 57.7258 45.9171 54.8624 0.772575 -0.408286 0.48624 0.490491 45 57.5 57.5 0 +2506 1 1 0 57.5794 45.3157 54.5399 0.757936 -0.46843 0.45399 0.490491 45 57.5 57.5 0 +2507 1 1 0 58.2518 46.962 54.7623 0.825175 -0.303801 0.476225 0.490491 45 57.5 57.5 0 +2508 1 1 0 58.1623 46.3397 54.4698 0.816233 -0.366027 0.446977 0.490491 45 57.5 57.5 0 +2509 1 1 0 58.0302 45.7287 54.156 0.803016 -0.427135 0.415597 0.490491 45 57.5 57.5 0 +2510 1 1 0 57.859 45.1429 53.8268 0.785899 -0.485712 0.382683 0.490491 45 57.5 57.5 0 +2511 1 1 0 57.4944 47.4482 56.1093 0.749435 -0.25518 0.610926 0.490491 45 57.5 57.5 0 +2512 1 1 0 57.9011 47.1968 55.4511 0.790112 -0.280319 0.545109 0.490491 45 57.5 57.5 0 +2513 1 1 0 57.4534 46.7786 55.8369 0.745339 -0.322141 0.583692 0.490491 45 57.5 57.5 0 +2514 1 1 0 53.8268 42.141 54.8571 0.382683 -0.785899 0.485712 0.490491 45 57.5 57.5 0 +2515 1 1 0 54.5399 42.4206 54.6843 0.45399 -0.757936 0.46843 0.490491 45 57.5 57.5 0 +2516 1 1 0 54.156 41.9698 54.2713 0.415597 -0.803016 0.427135 0.490491 45 57.5 57.5 0 +2517 1 1 0 55.225 42.747 54.4826 0.522499 -0.725299 0.448259 0.490491 45 57.5 57.5 0 +2518 1 1 0 54.8624 42.2742 54.0829 0.48624 -0.772575 0.408286 0.490491 45 57.5 57.5 0 +2519 1 1 0 55.8779 43.1181 54.2533 0.587785 -0.688191 0.425325 0.490491 45 57.5 57.5 0 +2520 1 1 0 55.5337 42.6229 53.8673 0.553372 -0.737712 0.38673 0.490491 45 57.5 57.5 0 +2521 1 1 0 55.1612 42.1655 53.4615 0.516122 -0.783452 0.346153 0.490491 45 57.5 57.5 0 +2522 1 1 0 54.4698 41.8377 53.6603 0.446977 -0.816233 0.366027 0.490491 45 57.5 57.5 0 +2523 1 1 0 54.7623 41.7482 53.038 0.476225 -0.825175 0.303801 0.490491 45 57.5 57.5 0 +2524 1 1 0 56.4945 43.5316 53.9977 0.649448 -0.64684 0.399769 0.490491 45 57.5 57.5 0 +2525 1 1 0 56.1919 43.0296 53.6159 0.619186 -0.697037 0.361591 0.490491 45 57.5 57.5 0 +2526 1 1 0 57.0711 43.985 53.7175 0.707107 -0.601501 0.371748 0.490491 45 57.5 57.5 0 +2527 1 1 0 56.7891 43.465 53.3469 0.678913 -0.653497 0.334691 0.490491 45 57.5 57.5 0 +2528 1 1 0 56.4741 42.9769 52.96 0.647412 -0.70231 0.296004 0.490491 45 57.5 57.5 0 +2529 1 1 0 57.6041 44.4755 53.4143 0.760406 -0.552454 0.341435 0.490491 45 57.5 57.5 0 +2530 1 1 0 57.3479 43.9426 53.0521 0.734794 -0.605742 0.305212 0.490491 45 57.5 57.5 0 +2531 1 1 0 57.0524 43.4338 52.6738 0.705236 -0.65662 0.267381 0.490491 45 57.5 57.5 0 +2532 1 1 0 56.7232 42.9602 52.289 0.672319 -0.703983 0.228899 0.490491 45 57.5 57.5 0 +2533 1 1 0 55.0421 41.6964 52.3723 0.504209 -0.830359 0.237228 0.490491 45 57.5 57.5 0 +2534 1 1 0 55.7125 42.0735 52.1302 0.571251 -0.79265 0.213023 0.490491 45 57.5 57.5 0 +2535 1 1 0 55.2913 41.6919 51.7253 0.529135 -0.830812 0.172532 0.490491 45 57.5 57.5 0 +2536 1 1 0 56.3458 42.5021 51.8743 0.634579 -0.749786 0.187432 0.490491 45 57.5 57.5 0 +2537 1 1 0 55.949 42.0983 51.4741 0.594895 -0.79017 0.147413 0.490491 45 57.5 57.5 0 +2538 1 1 0 55.5186 41.7289 51.0649 0.551859 -0.82711 0.106494 0.490491 45 57.5 57.5 0 +2539 1 1 0 55.8369 42.5466 53.2214 0.583692 -0.745339 0.322141 0.490491 45 57.5 57.5 0 +2540 1 1 0 56.1093 42.5056 52.5518 0.610926 -0.749435 0.25518 0.490491 45 57.5 57.5 0 +2541 1 1 0 55.4511 42.0989 52.8032 0.545109 -0.790112 0.280319 0.490491 45 57.5 57.5 0 +2542 1 1 0 55.3678 45.8573 57.3501 0.536784 -0.414272 0.735011 0.490491 45 57.5 57.5 0 +2543 1 1 0 55.8472 45.5604 56.7898 0.584716 -0.443957 0.678977 0.490491 45 57.5 57.5 0 +2544 1 1 0 56.2831 45.2908 56.1924 0.628313 -0.470917 0.619242 0.490491 45 57.5 57.5 0 +2545 1 1 0 55.6425 44.8662 56.4658 0.564254 -0.513375 0.646578 0.490491 45 57.5 57.5 0 +2546 1 1 0 55.1797 45.1479 57.0447 0.51797 -0.485208 0.704471 0.490491 45 57.5 57.5 0 +2547 1 1 0 54.9644 44.4758 56.6961 0.496441 -0.552418 0.669612 0.490491 45 57.5 57.5 0 +2548 1 1 0 56.6961 45.0356 55.5242 0.669612 -0.496441 0.552418 0.490491 45 57.5 57.5 0 +2549 1 1 0 57.0447 44.8203 54.8521 0.704471 -0.51797 0.485208 0.490491 45 57.5 57.5 0 +2550 1 1 0 56.4658 44.3575 55.1338 0.646578 -0.564254 0.513375 0.490491 45 57.5 57.5 0 +2551 1 1 0 57.3501 44.6322 54.1427 0.735011 -0.536784 0.414272 0.490491 45 57.5 57.5 0 +2552 1 1 0 56.7898 44.1528 54.4396 0.678977 -0.584716 0.443957 0.490491 45 57.5 57.5 0 +2553 1 1 0 56.1924 43.7169 54.7092 0.619242 -0.628313 0.470917 0.490491 45 57.5 57.5 0 +2554 1 1 0 54.7092 43.8076 56.2831 0.470917 -0.619242 0.628313 0.490491 45 57.5 57.5 0 +2555 1 1 0 55.1338 43.5342 55.6425 0.513375 -0.646578 0.564254 0.490491 45 57.5 57.5 0 +2556 1 1 0 54.4396 43.2102 55.8472 0.443957 -0.678977 0.584716 0.490491 45 57.5 57.5 0 +2557 1 1 0 55.5242 43.3039 54.9644 0.552418 -0.669612 0.496441 0.490491 45 57.5 57.5 0 +2558 1 1 0 54.8521 42.9553 55.1797 0.485208 -0.704471 0.51797 0.490491 45 57.5 57.5 0 +2559 1 1 0 54.1427 42.6499 55.3678 0.414272 -0.735011 0.536784 0.490491 45 57.5 57.5 0 +2560 1 1 0 56.0748 44.5935 55.8195 0.607478 -0.54065 0.581952 0.490491 45 57.5 57.5 0 +2561 1 1 0 55.8195 43.9252 55.4065 0.581952 -0.607478 0.54065 0.490491 45 57.5 57.5 0 +2562 1 1 0 55.4065 44.1805 56.0748 0.54065 -0.581952 0.607478 0.490491 45 57.5 57.5 0 2563 2 2 1 50 50 62 0 0 1 0.490491 45 57.5 80 0 2564 3 3 -1 50 50 38 0 0 1 0.490491 45 57.5 80 0 From dbeaec495762966378142387abcd9960e8c69176 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 2 Jul 2021 14:17:00 -0400 Subject: [PATCH 336/726] reformat --- src/ML-IAP/mliap_model_python.cpp | 63 +++++++++++++------------------ 1 file changed, 27 insertions(+), 36 deletions(-) diff --git a/src/ML-IAP/mliap_model_python.cpp b/src/ML-IAP/mliap_model_python.cpp index cd985f273a..3d91107449 100644 --- a/src/ML-IAP/mliap_model_python.cpp +++ b/src/ML-IAP/mliap_model_python.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -18,63 +17,63 @@ #ifdef MLIAP_PYTHON -#include #include "mliap_model_python.h" + +#include "error.h" +#include "lmppython.h" +#include "mliap_data.h" #include "mliap_model_python_couple.h" #include "pair_mliap.h" -#include "mliap_data.h" -#include "error.h" -#include "utils.h" -#include "lmppython.h" #include "python_compat.h" +#include "utils.h" +#include using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -MLIAPModelPython::MLIAPModelPython(LAMMPS* lmp, char* coefffilename) : - MLIAPModel(lmp, coefffilename) +MLIAPModelPython::MLIAPModelPython(LAMMPS *lmp, char *coefffilename) : + MLIAPModel(lmp, coefffilename) { model_loaded = 0; python->init(); PyGILState_STATE gstate = PyGILState_Ensure(); - PyObject * pyMain = PyImport_AddModule("__main__"); + PyObject *pyMain = PyImport_AddModule("__main__"); if (!pyMain) { PyGILState_Release(gstate); - error->all(FLERR,"Could not initialize embedded Python"); + error->all(FLERR, "Could not initialize embedded Python"); } - PyObject* coupling_module = PyImport_ImportModule("mliap_model_python_couple"); + PyObject *coupling_module = PyImport_ImportModule("mliap_model_python_couple"); if (!coupling_module) { PyErr_Print(); PyErr_Clear(); PyGILState_Release(gstate); - error->all(FLERR,"Loading MLIAPPY coupling module failure."); + error->all(FLERR, "Loading MLIAPPY coupling module failure."); } // Recipe from lammps/src/pair_python.cpp : // add current directory to PYTHONPATH - PyObject * py_path = PySys_GetObject((char *)"path"); + PyObject *py_path = PySys_GetObject((char *) "path"); PyList_Append(py_path, PY_STRING_FROM_STRING(".")); // if LAMMPS_POTENTIALS environment variable is set, add it to PYTHONPATH as well - const char * potentials_path = getenv("LAMMPS_POTENTIALS"); - if (potentials_path != NULL) { - PyList_Append(py_path, PY_STRING_FROM_STRING(potentials_path)); - } + const char *potentials_path = getenv("LAMMPS_POTENTIALS"); + if (potentials_path != NULL) { PyList_Append(py_path, PY_STRING_FROM_STRING(potentials_path)); } PyGILState_Release(gstate); if (coefffilename) read_coeffs(coefffilename); - nonlinearflag=1; + nonlinearflag = 1; } /* ---------------------------------------------------------------------- */ -MLIAPModelPython::~MLIAPModelPython() { +MLIAPModelPython::~MLIAPModelPython() +{ MLIAPPY_unload_model(this); } @@ -82,7 +81,6 @@ MLIAPModelPython::~MLIAPModelPython() { get number of parameters ---------------------------------------------------------------------- */ - int MLIAPModelPython::get_nparams() { return nparams; @@ -97,15 +95,14 @@ void MLIAPModelPython::read_coeffs(char *fname) PyErr_Print(); PyErr_Clear(); PyGILState_Release(gstate); - error->all(FLERR,"Loading python model failure."); + error->all(FLERR, "Loading python model failure."); } PyGILState_Release(gstate); if (loaded) { this->connect_param_counts(); - } - else { - utils::logmesg(lmp,"Loading python model deferred.\n"); + } else { + utils::logmesg(lmp, "Loading python model deferred.\n"); } } @@ -121,15 +118,13 @@ void MLIAPModelPython::connect_param_counts() PyErr_Print(); PyErr_Clear(); PyGILState_Release(gstate); - error->all(FLERR,"Loading python model failure."); + error->all(FLERR, "Loading python model failure."); } PyGILState_Release(gstate); model_loaded = 1; - utils::logmesg(lmp,"Loading python model complete.\n"); - + utils::logmesg(lmp, "Loading python model complete.\n"); } - /* ---------------------------------------------------------------------- Calculate model gradients w.r.t descriptors for each atom beta_i = dE(B_i)/dB_i @@ -137,9 +132,7 @@ void MLIAPModelPython::connect_param_counts() void MLIAPModelPython::compute_gradients(MLIAPData *data) { - if (not model_loaded) { - error->all(FLERR,"Model not loaded."); - } + if (not model_loaded) { error->all(FLERR, "Model not loaded."); } PyGILState_STATE gstate = PyGILState_Ensure(); MLIAPPY_compute_gradients(this, data); @@ -147,10 +140,9 @@ void MLIAPModelPython::compute_gradients(MLIAPData *data) PyErr_Print(); PyErr_Clear(); PyGILState_Release(gstate); - error->all(FLERR,"Running python model failure."); + error->all(FLERR, "Running python model failure."); } PyGILState_Release(gstate); - } /* ---------------------------------------------------------------------- @@ -170,7 +162,7 @@ void MLIAPModelPython::compute_gradients(MLIAPData *data) void MLIAPModelPython::compute_gradgrads(class MLIAPData *) { - error->all(FLERR,"compute_gradgrads not implemented"); + error->all(FLERR, "compute_gradgrads not implemented"); } /* ---------------------------------------------------------------------- @@ -180,7 +172,7 @@ void MLIAPModelPython::compute_gradgrads(class MLIAPData *) void MLIAPModelPython::compute_force_gradients(class MLIAPData *) { - error->all(FLERR,"compute_force_gradients not implemented"); + error->all(FLERR, "compute_force_gradients not implemented"); } /* ---------------------------------------------------------------------- @@ -193,7 +185,6 @@ int MLIAPModelPython::get_gamma_nnz(class MLIAPData *) return 0; } - double MLIAPModelPython::memory_usage() { // todo: get approximate memory usage in coupling code. From 54082106235b84d2cb2d2e8c6fb57abfeda591c1 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 2 Jul 2021 14:34:23 -0400 Subject: [PATCH 337/726] reformat --- src/ML-IAP/mliap_model.cpp | 68 ++++++++++++++++++-------------------- 1 file changed, 33 insertions(+), 35 deletions(-) diff --git a/src/ML-IAP/mliap_model.cpp b/src/ML-IAP/mliap_model.cpp index f6491c926d..47c3cd54a6 100644 --- a/src/ML-IAP/mliap_model.cpp +++ b/src/ML-IAP/mliap_model.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -51,9 +50,7 @@ MLIAPModel::~MLIAPModel() placeholder ------------------------------------------------------------------------- */ -void MLIAPModel::init() -{ -} +void MLIAPModel::init() {} /* ---------------------------------------------------------------------- set number of elements @@ -75,8 +72,8 @@ void MLIAPModel::set_ndescriptors(int ndescriptors_in) /* ---------------------------------------------------------------------- */ - -MLIAPModelSimple::MLIAPModelSimple(LAMMPS *lmp, char *coefffilename) : MLIAPModel(lmp, coefffilename) +MLIAPModelSimple::MLIAPModelSimple(LAMMPS *lmp, char *coefffilename) : + MLIAPModel(lmp, coefffilename) { if (coefffilename) read_coeffs(coefffilename); } @@ -90,37 +87,37 @@ void MLIAPModelSimple::read_coeffs(char *coefffilename) FILE *fpcoeff; if (comm->me == 0) { - fpcoeff = utils::open_potential(coefffilename,lmp,nullptr); + fpcoeff = utils::open_potential(coefffilename, lmp, nullptr); if (fpcoeff == nullptr) - error->one(FLERR,"Cannot open MLIAPModel coeff file {}: {}", - coefffilename,utils::getsyserror()); + error->one(FLERR, "Cannot open MLIAPModel coeff file {}: {}", coefffilename, + utils::getsyserror()); } - char line[MAXLINE],*ptr; + char line[MAXLINE], *ptr; int eof = 0; int n; int nwords = 0; while (nwords == 0) { if (comm->me == 0) { - ptr = fgets(line,MAXLINE,fpcoeff); + ptr = fgets(line, MAXLINE, fpcoeff); if (ptr == nullptr) { eof = 1; fclose(fpcoeff); - } else n = strlen(line) + 1; + } else + n = strlen(line) + 1; } - MPI_Bcast(&eof,1,MPI_INT,0,world); + MPI_Bcast(&eof, 1, MPI_INT, 0, world); if (eof) break; - MPI_Bcast(&n,1,MPI_INT,0,world); - MPI_Bcast(line,n,MPI_CHAR,0,world); + MPI_Bcast(&n, 1, MPI_INT, 0, world); + MPI_Bcast(line, n, MPI_CHAR, 0, world); // strip comment, skip line if blank - if ((ptr = strchr(line,'#'))) *ptr = '\0'; + if ((ptr = strchr(line, '#'))) *ptr = '\0'; nwords = utils::count_words(line); } - if (nwords != 2) - error->all(FLERR,"Incorrect format in MLIAPModel coefficient file"); + if (nwords != 2) error->all(FLERR, "Incorrect format in MLIAPModel coefficient file"); // words = ptrs to all words in line // strip single and double quotes from words @@ -130,45 +127,47 @@ void MLIAPModelSimple::read_coeffs(char *coefffilename) nelements = coeffs.next_int(); nparams = coeffs.next_int(); } catch (TokenizerException &e) { - error->all(FLERR,"Incorrect format in MLIAPModel coefficient " - "file: {}",e.what()); + error->all(FLERR, + "Incorrect format in MLIAPModel coefficient " + "file: {}", + e.what()); } // set up coeff lists memory->destroy(coeffelem); - memory->create(coeffelem,nelements,nparams,"mliap_snap_model:coeffelem"); + memory->create(coeffelem, nelements, nparams, "mliap_snap_model:coeffelem"); // Loop over nelements blocks in the coefficient file for (int ielem = 0; ielem < nelements; ielem++) { for (int icoeff = 0; icoeff < nparams; icoeff++) { if (comm->me == 0) { - ptr = fgets(line,MAXLINE,fpcoeff); + ptr = fgets(line, MAXLINE, fpcoeff); if (ptr == nullptr) { eof = 1; fclose(fpcoeff); - } else n = strlen(line) + 1; + } else + n = strlen(line) + 1; } - MPI_Bcast(&eof,1,MPI_INT,0,world); - if (eof) - error->all(FLERR,"Incorrect format in MLIAPModel coefficient file"); - MPI_Bcast(&n,1,MPI_INT,0,world); - MPI_Bcast(line,n,MPI_CHAR,0,world); + MPI_Bcast(&eof, 1, MPI_INT, 0, world); + if (eof) error->all(FLERR, "Incorrect format in MLIAPModel coefficient file"); + MPI_Bcast(&n, 1, MPI_INT, 0, world); + MPI_Bcast(line, n, MPI_CHAR, 0, world); try { ValueTokenizer coeffs(utils::trim_comment(line)); - if (coeffs.count() != 1) - throw TokenizerException("Wrong number of items",""); + if (coeffs.count() != 1) throw TokenizerException("Wrong number of items", ""); coeffelem[ielem][icoeff] = coeffs.next_double(); } catch (TokenizerException &e) { - error->all(FLERR,"Incorrect format in MLIAPModel " - "coefficient file: {}",e.what()); + error->all(FLERR, + "Incorrect format in MLIAPModel " + "coefficient file: {}", + e.what()); } } } - if (comm->me == 0) fclose(fpcoeff); } @@ -180,7 +179,6 @@ double MLIAPModelSimple::memory_usage() { double bytes = 0; - bytes += (double)nelements*nparams*sizeof(double); // coeffelem + bytes += (double) nelements * nparams * sizeof(double); // coeffelem return bytes; } - From 48d3acb52b688b0ec3bc14d145a1be671974bee1 Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Fri, 2 Jul 2021 13:45:08 -0500 Subject: [PATCH 338/726] Updated the doc pages for the /dielectric styles --- doc/src/kspace_style.rst | 2 + doc/src/pair_dielectric.rst | 292 ++++-------------------------------- 2 files changed, 31 insertions(+), 263 deletions(-) diff --git a/doc/src/kspace_style.rst b/doc/src/kspace_style.rst index 01ad15a08e..2eea87267b 100644 --- a/doc/src/kspace_style.rst +++ b/doc/src/kspace_style.rst @@ -91,6 +91,8 @@ Syntax accuracy = desired relative error in forces *pppm/dielectric* value = accuracy accuracy = desired relative error in forces + *pppm/disp/dielectric* value = accuracy + accuracy = desired relative error in forces *msm* value = accuracy accuracy = desired relative error in forces *msm/cg* value = accuracy (smallq) diff --git a/doc/src/pair_dielectric.rst b/doc/src/pair_dielectric.rst index f98cfce976..8f261902d2 100644 --- a/doc/src/pair_dielectric.rst +++ b/doc/src/pair_dielectric.rst @@ -38,261 +38,49 @@ Syntax TODO FIX the rest of the file +Syntax +"""""" + .. code-block:: LAMMPS - pair_style lj/cut/dipole/cut cutoff (cutoff2) - pair_style lj/sf/dipole/sf cutoff (cutoff2) - pair_style lj/cut/dipole/long cutoff (cutoff2) - pair_style lj/long/dipole/long flag_lj flag_coul cutoff (cutoff2) + pair_style style args -* cutoff = global cutoff LJ (and Coulombic if only 1 arg) (distance units) -* cutoff2 = global cutoff for Coulombic and dipole (optional) (distance units) -* flag_lj = *long* or *cut* or *off* - - .. parsed-literal:: - - *long* = use long-range damping on dispersion 1/r\^6 term - *cut* = use a cutoff on dispersion 1/r\^6 term - *off* = omit disperion 1/r\^6 term entirely - -* flag_coul = *long* or *off* - - .. parsed-literal:: - - *long* = use long-range damping on Coulombic 1/r and point-dipole terms - *off* = omit Coulombic and point-dipole terms entirely +* style = *lj/cut/coul/cut/dielectric* or *lj/cut/coul/long/dielectric* or *lj/cut/coul/msm/dielectric* or *lj/long/coul/msm/dielectric* +* args = list of arguments for a particular style Examples """""""" .. code-block:: LAMMPS - pair_style lj/cut/dipole/cut 10.0 - pair_coeff * * 1.0 1.0 - pair_coeff 2 3 1.0 1.0 2.5 4.0 + pair_style coul/cut/dielectric 10.0 + pair_coeff * * + pair_coeff 1 1 9.0 - pair_style lj/sf/dipole/sf 9.0 - pair_coeff * * 1.0 1.0 - pair_coeff 2 3 1.0 1.0 2.5 4.0 scale 0.5 - pair_coeff 2 3 1.0 1.0 2.5 4.0 + pair_style lj/cut/coul/cut/dielectric 10.0 + pair_style lj/cut/coul/cut/dielectric 10.0 8.0 + pair_coeff * * 100.0 3.0 + pair_coeff 1 1 100.0 3.5 9.0 - pair_style lj/cut/dipole/long 10.0 - pair_coeff * * 1.0 1.0 - pair_coeff 2 3 1.0 1.0 2.5 4.0 - - pair_style lj/long/dipole/long long long 3.5 10.0 - pair_coeff * * 1.0 1.0 - pair_coeff 2 3 1.0 1.0 2.5 4.0 + pair_style lj/cut/coul/long/dielectric 10.0 + pair_style lj/cut/coul/long/dielectric 10.0 8.0 + pair_coeff * * 100.0 3.0 + pair_coeff 1 1 100.0 3.5 9.0 Description """"""""""" -Style *lj/cut/dipole/cut* computes interactions between pairs of particles -that each have a charge and/or a point dipole moment. In addition to -the usual Lennard-Jones interaction between the particles (Elj) the -charge-charge (Eqq), charge-dipole (Eqp), and dipole-dipole (Epp) -interactions are computed by these formulas for the energy (E), force -(F), and torque (T) between particles I and J. +All these pair styles are derived from the corresponding pair styles +without the *dielectric*\ suffix. In addition to computing atom forces +and energies, these pair styles compute the electrical field vector +at each atom, which are to be used in the :doc:`fix polarize ` commands. -.. math:: +These pair styles should be used with :doc:`atom_style dielectric `, +which uses atom charges rescaled by their local dielectric constant. - E_{LJ} = & 4 \epsilon \left[ \left(\frac{\sigma}{r}\right)^{12} - - \left(\frac{\sigma}{r}\right)^6 \right] \\ - E_{qq} = & \frac{q_i q_j}{r} \\ - E_{qp} = & \frac{q}{r^3} (p \bullet \vec{r}) \\ - E_{pp} = & \frac{1}{r^3} (\vec{p_i} \bullet \vec{p_j}) - - \frac{3}{r^5} (\vec{p_i} \bullet \vec{r}) (\vec{p_j} \bullet \vec{r}) \\ - & \\ - F_{qq} = & \frac{q_i q_j}{r^3} \vec{r} \\ - F_{qp} = & -\frac{q}{r^3} \vec{p} + \frac{3q}{r^5} - (\vec{p} \bullet \vec{r}) \vec{r} \\ - F_{pp} = & \frac{3}{r^5} (\vec{p_i} \bullet \vec{p_j}) \vec{r} - - \frac{15}{r^7} (\vec{p_i} \bullet \vec{r}) - (\vec{p_j} \bullet \vec{r}) \vec{r} + - \frac{3}{r^5} \left[ (\vec{p_j} \bullet \vec{r}) \vec{p_i} + - (\vec{p_i} \bullet \vec{r}) \vec{p_j} \right] \\ - & \\ - T_{pq} = T_{ij} = & \frac{q_j}{r^3} (\vec{p_i} \times \vec{r}) \\ - T_{qp} = T_{ji} = & - \frac{q_i}{r^3} (\vec{p_j} \times \vec{r}) \\ - T_{pp} = T_{ij} = & -\frac{1}{r^3} (\vec{p_i} \times \vec{p_j}) + - \frac{3}{r^5} (\vec{p_j} \bullet \vec{r}) - (\vec{p_i} \times \vec{r}) \\ - T_{pp} = T_{ji} = & -\frac{1}{r^3} (\vec{p_j} \times \vec{p_i}) + - \frac{3}{r^5} (\vec{p_i} \bullet \vec{r}) - (\vec{p_j} \times \vec{r}) - -where :math:`q_i` and :math:`q_j` are the charges on the two particles, -:math:`\vec{p_i}` and :math:`\vec{p_j}` are the dipole moment vectors of -the two particles, r is their separation distance, and the vector r = -Ri - Rj is the separation vector between the two particles. Note that -Eqq and Fqq are simply Coulombic energy and force, Fij = -Fji as -symmetric forces, and Tij != -Tji since the torques do not act -symmetrically. These formulas are discussed in :ref:`(Allen) ` -and in :ref:`(Toukmaji) `. - -Also note, that in the code, all of these terms (except Elj) have a -:math:`C/\epsilon` prefactor, the same as the Coulombic term in the LJ + -Coulombic pair styles discussed :doc:`here `. C is an -energy-conversion constant and epsilon is the dielectric constant -which can be set by the :doc:`dielectric ` command. The -same is true of the equations that follow for other dipole pair -styles. - -Style *lj/sf/dipole/sf* computes "shifted-force" interactions between -pairs of particles that each have a charge and/or a point dipole -moment. In general, a shifted-force potential is a (slightly) modified -potential containing extra terms that make both the energy and its -derivative go to zero at the cutoff distance; this removes -(cutoff-related) problems in energy conservation and any numerical -instability in the equations of motion :ref:`(Allen) `. Shifted-force -interactions for the Lennard-Jones (E_LJ), charge-charge (Eqq), -charge-dipole (Eqp), dipole-charge (Epq) and dipole-dipole (Epp) -potentials are computed by these formulas for the energy (E), force -(F), and torque (T) between particles I and J: - -.. math:: - - E_{LJ} = & 4\epsilon \left\{ \left[ \left( \frac{\sigma}{r} \right)^{\!12} - - \left( \frac{\sigma}{r} \right)^{\!6} \right] + - \left[ 6\left( \frac{\sigma}{r_c} \right)^{\!12} - - 3\left(\frac{\sigma}{r_c}\right)^{\!6}\right]\left(\frac{r}{r_c}\right)^{\!2} - - 7\left( \frac{\sigma}{r_c} \right)^{\!12} + - 4\left( \frac{\sigma}{r_c} \right)^{\!6}\right\} \\ - E_{qq} = & \frac{q_i q_j}{r}\left(1-\frac{r}{r_c}\right)^{\!2} \\ - E_{pq} = & E_{ji} = -\frac{q}{r^3} \left[ 1 - - 3\left(\frac{r}{r_c}\right)^{\!2} + - 2\left(\frac{r}{r_c}\right)^{\!3}\right] (\vec{p}\bullet\vec{r}) \\ - E_{qp} = & E_{ij} = \frac{q}{r^3} \left[ 1 - - 3\left(\frac{r}{r_c}\right)^{\!2} + - 2\left(\frac{r}{r_c}\right)^{\!3}\right] (\vec{p}\bullet\vec{r}) \\ - E_{pp} = & \left[1-4\left(\frac{r}{r_c}\right)^{\!3} + - 3\left(\frac{r}{r_c}\right)^{\!4}\right]\left[\frac{1}{r^3} - (\vec{p_i} \bullet \vec{p_j}) - \frac{3}{r^5} - (\vec{p_i} \bullet \vec{r}) (\vec{p_j} \bullet \vec{r})\right] \\ - & \\ - - F_{LJ} = & \left\{\left[48\epsilon \left(\frac{\sigma}{r}\right)^{\!12} - - 24\epsilon \left(\frac{\sigma}{r}\right)^{\!6} \right]\frac{1}{r^2} - - \left[48\epsilon \left(\frac{\sigma}{r_c}\right)^{\!12} - 24\epsilon - \left(\frac{\sigma}{r_c}\right)^{\!6} \right]\frac{1}{r_c^2}\right\}\vec{r}\\ - F_{qq} = & \frac{q_i q_j}{r}\left(\frac{1}{r^2} - - \frac{1}{r_c^2}\right)\vec{r} \\ - F_{pq} = & F_{ij } = -\frac{3q}{r^5} \left[ 1 - - \left(\frac{r}{r_c}\right)^{\!2}\right](\vec{p}\bullet\vec{r})\vec{r} + - \frac{q}{r^3}\left[1-3\left(\frac{r}{r_c}\right)^{\!2} + - 2\left(\frac{r}{r_c}\right)^{\!3}\right] \vec{p} \\ - F_{qp} = & F_{ij} = \frac{3q}{r^5} \left[ 1 - - \left(\frac{r}{r_c}\right)^{\!2}\right] (\vec{p}\bullet\vec{r})\vec{r} - - \frac{q}{r^3}\left[1-3\left(\frac{r}{r_c}\right)^{\!2} + - 2\left(\frac{r}{r_c}\right)^{\!3}\right] \vec{p} \\ - F_{pp} = &\frac{3}{r^5}\Bigg\{\left[1-\left(\frac{r}{r_c}\right)^{\!4}\right] - \left[(\vec{p_i}\bullet\vec{p_j}) - \frac{3}{r^2} (\vec{p_i}\bullet\vec{r}) - (\vec{p_j} \bullet \vec{r})\right] \vec{r} + \\ - & \left[1 - - 4\left(\frac{r}{r_c}\right)^{\!3}+3\left(\frac{r}{r_c}\right)^{\!4}\right] - \left[ (\vec{p_j} \bullet \vec{r}) \vec{p_i} + (\vec{p_i} \bullet \vec{r}) - \vec{p_j} -\frac{2}{r^2} (\vec{p_i} \bullet \vec{r}) - (\vec{p_j} \bullet \vec{r})\vec{r}\right] \Bigg\} - -.. math:: - - T_{pq} = T_{ij} = & \frac{q_j}{r^3} \left[ 1 - - 3\left(\frac{r}{r_c}\right)^{\!2} + - 2\left(\frac{r}{r_c}\right)^{\!3}\right] (\vec{p_i}\times\vec{r}) \\ - T_{qp} = T_{ji} = & - \frac{q_i}{r^3} \left[ 1 - - 3\left(\frac{r}{r_c}\right)^{\!2} + - 2\left(\frac{r}{r_c}\right)^{\!3} \right] (\vec{p_j}\times\vec{r}) \\ - T_{pp} = T_{ij} = & -\frac{1}{r^3}\left[1-4\left(\frac{r}{r_c}\right)^{\!3} + - e3\left(\frac{r}{r_c}\right)^{\!4}\right] (\vec{p_i} \times \vec{p_j}) + \\ - & \frac{3}{r^5}\left[1-4\left(\frac{r}{r_c}\right)^{\!3} + - 3\left(\frac{r}{r_c}\right)^{\!4}\right] (\vec{p_j}\bullet\vec{r}) - (\vec{p_i} \times \vec{r}) \\ - T_{pp} = T_{ji} = & -\frac{1}{r^3}\left[1-4\left(\frac{r}{r_c}\right)^{\!3} + - 3\left(\frac{r}{r_c}\right)^{\!4}\right](\vec{p_j} \times \vec{p_i}) + \\ - & \frac{3}{r^5}\left[1-4\left(\frac{r}{r_c}\right)^{\!3} + - 3\left(\frac{r}{r_c}\right)^{\!4}\right] (\vec{p_i} \bullet \vec{r}) - (\vec{p_j} \times \vec{r}) - -where :math:`\epsilon` and :math:`\sigma` are the standard LJ -parameters, :math:`r_c` is the cutoff, :math:`q_i` and :math:`q_j` are -the charges on the two particles, :math:`\vec{p_i}` and -:math:`\vec{p_j}` are the dipole moment vectors of the two particles, r -is their separation distance, and the vector r = Ri - Rj is the -separation vector between the two particles. Note that Eqq and Fqq are -simply Coulombic energy and force, Fij = -Fji as symmetric forces, and -Tij != -Tji since the torques do not act symmetrically. The -shifted-force formula for the Lennard-Jones potential is reported in -:ref:`(Stoddard) `. The original (non-shifted) formulas for -the electrostatic potentials, forces and torques can be found in -:ref:`(Price) `. The shifted-force electrostatic potentials have -been obtained by applying equation 5.13 of :ref:`(Allen) `. The -formulas for the corresponding forces and torques have been obtained by -applying the 'chain rule' as in appendix C.3 of :ref:`(Allen) `. - -If one cutoff is specified in the pair_style command, it is used for -both the LJ and Coulombic (q,p) terms. If two cutoffs are specified, -they are used as cutoffs for the LJ and Coulombic (q,p) terms -respectively. This pair style also supports an optional *scale* keyword -as part of a pair_coeff statement, where the interactions can be -scaled according to this factor. This scale factor is also made available -for use with fix adapt. - -Style *lj/cut/dipole/long* computes long-range point-dipole -interactions as discussed in :ref:`(Toukmaji) `. Dipole-dipole, -dipole-charge, and charge-charge interactions are all supported, along -with the standard 12/6 Lennard-Jones interactions, which are computed -with a cutoff. A :doc:`kspace_style ` must be defined to -use this pair style. Currently, only :doc:`kspace_style ewald/disp ` support long-range point-dipole -interactions. - -Style *lj/long/dipole/long* also computes point-dipole interactions as -discussed in :ref:`(Toukmaji) `. Long-range dipole-dipole, -dipole-charge, and charge-charge interactions are all supported, along -with the standard 12/6 Lennard-Jones interactions. LJ interactions -can be cutoff or long-ranged. - -For style *lj/long/dipole/long*\ , if *flag_lj* is set to *long*\ , no -cutoff is used on the LJ 1/r\^6 dispersion term. The long-range -portion is calculated by using the :doc:`kspace_style ewald_disp ` command. The specified LJ cutoff then -determines which portion of the LJ interactions are computed directly -by the pair potential versus which part is computed in reciprocal -space via the Kspace style. If *flag_lj* is set to *cut*\ , the LJ -interactions are simply cutoff, as with :doc:`pair_style lj/cut `. If *flag_lj* is set to *off*\ , LJ interactions -are not computed at all. - -If *flag_coul* is set to *long*\ , no cutoff is used on the Coulombic or -dipole interactions. The long-range portion is calculated by using -*ewald_disp* of the :doc:`kspace_style ` command. If -*flag_coul* is set to *off*\ , Coulombic and dipole interactions are not -computed at all. - -Atoms with dipole moments should be integrated using the :doc:`fix nve/sphere update dipole ` or the :doc:`fix nvt/sphere update dipole ` command to rotate the -dipole moments. The *omega* option on the :doc:`fix langevin ` command can be used to thermostat the -rotational motion. The :doc:`compute temp/sphere ` -command can be used to monitor the temperature, since it includes -rotational degrees of freedom. The :doc:`atom_style hybrid dipole sphere ` command should be used since -it defines the point dipoles and their rotational state. -The magnitude and orientation of the dipole moment for each particle -can be defined by the :doc:`set ` command or in the "Atoms" section -of the data file read in by the :doc:`read_data ` command. - -The following coefficients must be defined for each pair of atoms -types via the :doc:`pair_coeff ` command as in the examples -above, or in the data file or restart files read by the -:doc:`read_data ` or :doc:`read_restart ` -commands, or by mixing as described below: - -* :math:`\epsilon` (energy units) -* :math:`\sigma` (distance units) -* cutoff1 (distance units) -* cutoff2 (distance units) - -The latter 2 coefficients are optional. If not specified, the global -LJ and Coulombic cutoffs specified in the pair_style command are used. -If only one cutoff is specified, it is used as the cutoff for both LJ -and Coulombic interactions for this type pair. If both coefficients -are specified, they are used as the LJ and Coulombic cutoffs for this -type pair. +The styles lj/cut/coul/long/dielectric, lj/cut/coul/msm/dielectric, and +lj/long/coul/long/dielectric should be used with their kspace style counterparts, +namely, pppm/dielectric, pppm/disp/dielectric, and msm/dielectric, respectively. ---------- @@ -307,23 +95,9 @@ For atom type pairs I,J and I != J, the epsilon and sigma coefficients and cutoff distances for this pair style can be mixed. The default mix value is *geometric*\ . See the "pair_modify" command for details. -For atom type pairs I,J and I != J, the A, sigma, d1, and d2 -coefficients and cutoff distance for this pair style can be mixed. A -is an energy value mixed like a LJ epsilon. D1 and d2 are distance -values and are mixed like sigma. The default mix value is -*geometric*\ . See the "pair_modify" command for details. - -This pair style does not support the :doc:`pair_modify ` -shift option for the energy of the Lennard-Jones portion of the pair -interaction; such energy goes to zero at the cutoff by construction. - The :doc:`pair_modify ` table option is not relevant for this pair style. -This pair style does not support the :doc:`pair_modify ` -tail option for adding long-range tail corrections to energy and -pressure. - This pair style writes its information to :doc:`binary restart files `, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. @@ -334,21 +108,13 @@ This pair style can only be used via the *pair* keyword of the Restrictions """""""""""" -The *lj/cut/dipole/cut*\ , *lj/cut/dipole/long*\ , and -*lj/long/dipole/long* styles are part of the DIPOLE package. They are -only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. - -The *lj/sf/dipole/sf* style is part of the USER-MISC package. It is -only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. - -Using dipole pair styles with *electron* :doc:`units ` is not -currently supported. +These styles are part of the USER-DIELECTRIC package. They are only enabled if +LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands """""""""""""""" -:doc:`pair_coeff `, :doc:`set `, :doc:`read_data `, -:doc:`fix nve/sphere `, :doc:`fix nvt/sphere ` +:doc:`pair_coeff `, :doc:`fix polarize `, :doc:`read_data ` Default """"""" From bee95e41ae76fac2f9d239449278556d5b217eeb Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Fri, 2 Jul 2021 14:06:06 -0500 Subject: [PATCH 339/726] Added references to example input scripts to the doc pages --- doc/src/compute_efield_atom.rst | 7 +++++++ doc/src/fix_polarize.rst | 13 +++++++++++-- doc/src/kspace_style.rst | 6 ++++++ doc/src/pair_dielectric.rst | 7 +++++++ 4 files changed, 31 insertions(+), 2 deletions(-) diff --git a/doc/src/compute_efield_atom.rst b/doc/src/compute_efield_atom.rst index 1e87ad2556..daa45dc407 100644 --- a/doc/src/compute_efield_atom.rst +++ b/doc/src/compute_efield_atom.rst @@ -21,6 +21,13 @@ Examples compute 1 all efield/atom compute 1 all efield/atom pair yes kspace no +Used in input scripts: + + .. parsed-literal:: + + examples/USER/dielectric/in.confined + examples/USER/dielectric/in.nopbc + Description """"""""""" diff --git a/doc/src/fix_polarize.rst b/doc/src/fix_polarize.rst index 2c499fce3c..bdb13d4b4b 100644 --- a/doc/src/fix_polarize.rst +++ b/doc/src/fix_polarize.rst @@ -29,9 +29,18 @@ Examples .. code-block:: LAMMPS - fix 2 all polarize/bem/gmres 5 0.0001 + fix 2 interface polarize/bem/gmres 5 0.0001 fix 1 interface polarize/bem/icc 1 0.0001 - fix 3 all polarize/functional 1 0.001 + fix 3 interface polarize/functional 1 0.001 + + +Used in input scripts: + + .. parsed-literal:: + + examples/USER/dielectric/in.confined + examples/USER/dielectric/in.nopbc + Description """"""""""" diff --git a/doc/src/kspace_style.rst b/doc/src/kspace_style.rst index 2eea87267b..1a0b3d1593 100644 --- a/doc/src/kspace_style.rst +++ b/doc/src/kspace_style.rst @@ -120,6 +120,12 @@ Examples kspace style scafacos fmm 1.0e-4 kspace_style none +Used in input scripts: + + .. parsed-literal:: + + examples/peptide/in.peptide + Description """"""""""" diff --git a/doc/src/pair_dielectric.rst b/doc/src/pair_dielectric.rst index 8f261902d2..a130a86b5e 100644 --- a/doc/src/pair_dielectric.rst +++ b/doc/src/pair_dielectric.rst @@ -67,6 +67,13 @@ Examples pair_coeff * * 100.0 3.0 pair_coeff 1 1 100.0 3.5 9.0 +Used in input scripts: + + .. parsed-literal:: + + examples/USER/dielectric/in.confined + examples/USER/dielectric/in.nopbc + Description """"""""""" From b075d18b38431fd254a04ea4cb26802a78c586f8 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 2 Jul 2021 15:24:32 -0400 Subject: [PATCH 340/726] ML-IAP Python interface depends on PYTHON package --- src/ML-IAP/Install.sh | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/ML-IAP/Install.sh b/src/ML-IAP/Install.sh index 7be7c703a8..5c0c760662 100755 --- a/src/ML-IAP/Install.sh +++ b/src/ML-IAP/Install.sh @@ -34,12 +34,15 @@ if (test $1 = 1 || test $1 = 2) then fi fi -# all package files with no dependencies +# all package C++ files with no dependencies -for file in *.cpp *.h *.pyx; do +for file in *.cpp *.h; do test -f ${file} && action $file done +# Install cython pyx file only if also Python is available +action mliap_model_python_couple.pyx python_impl.cpp + # edit 2 Makefile.package files to include/exclude package info if (test $1 = 1) then From ce9351d7e7bb6be9122daeba71a3f66d1f82b45a Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 2 Jul 2021 15:55:17 -0400 Subject: [PATCH 341/726] add package update processing for cythonize --- src/ML-IAP/Install.sh | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/ML-IAP/Install.sh b/src/ML-IAP/Install.sh index 5c0c760662..08cdfecd88 100755 --- a/src/ML-IAP/Install.sh +++ b/src/ML-IAP/Install.sh @@ -67,4 +67,11 @@ elif (test $1 = 0) then fi rm -f ../mliap_model_python_couple.cpp ../mliap_model_python_couple.h sed -i -e '/^include.*python.*mliap_python.*$/d' ../Makefile.package.settings + +elif (test $1 = 2) then + if (test "$(type cythonize 2> /dev/null)" != "" && test -e ../python_impl.cpp) then + cythonize -3 ../mliap_model_python_couple.pyx + else + rm -f ../mliap_model_python_couple.cpp ../mliap_model_python_couple.h + fi fi From de3ac9d440d50aaf7c367e192a725d67759819fa Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 3 Jul 2021 15:38:24 -0400 Subject: [PATCH 342/726] update for package rename in upstream --- doc/src/compute_efield_atom.rst | 4 ++-- doc/src/fix_polarize.rst | 5 ++--- doc/src/pair_dielectric.rst | 11 +++-------- src/DIELECTRIC/pppm_disp_dielectric.cpp | 1 + src/DIELECTRIC/pppm_disp_dielectric.h | 16 ++++++++-------- 5 files changed, 16 insertions(+), 21 deletions(-) diff --git a/doc/src/compute_efield_atom.rst b/doc/src/compute_efield_atom.rst index 51e61b83b1..04f3e4dc37 100644 --- a/doc/src/compute_efield_atom.rst +++ b/doc/src/compute_efield_atom.rst @@ -25,8 +25,8 @@ Used in input scripts: .. parsed-literal:: - examples/USER/dielectric/in.confined - examples/USER/dielectric/in.nopbc + examples/PACKAGES/dielectric/in.confined + examples/PACKAGES/dielectric/in.nopbc Description """"""""""" diff --git a/doc/src/fix_polarize.rst b/doc/src/fix_polarize.rst index 323e00b34d..bebed3aba0 100644 --- a/doc/src/fix_polarize.rst +++ b/doc/src/fix_polarize.rst @@ -38,9 +38,8 @@ Used in input scripts: .. parsed-literal:: - examples/USER/dielectric/in.confined - examples/USER/dielectric/in.nopbc - + examples/PACKAGES/dielectric/in.confined + examples/PACKAGES/dielectric/in.nopbc Description """"""""""" diff --git a/doc/src/pair_dielectric.rst b/doc/src/pair_dielectric.rst index a130a86b5e..96c2031317 100644 --- a/doc/src/pair_dielectric.rst +++ b/doc/src/pair_dielectric.rst @@ -36,11 +36,6 @@ pair_style lj/long/coul/long/dielectric command Syntax """""" -TODO FIX the rest of the file - -Syntax -"""""" - .. code-block:: LAMMPS pair_style style args @@ -71,8 +66,8 @@ Used in input scripts: .. parsed-literal:: - examples/USER/dielectric/in.confined - examples/USER/dielectric/in.nopbc + examples/PACKAGES/dielectric/in.confined + examples/PACKAGES/dielectric/in.nopbc Description """"""""""" @@ -115,7 +110,7 @@ This pair style can only be used via the *pair* keyword of the Restrictions """""""""""" -These styles are part of the USER-DIELECTRIC package. They are only enabled if +These styles are part of the DIELECTRIC package. They are only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/src/DIELECTRIC/pppm_disp_dielectric.cpp b/src/DIELECTRIC/pppm_disp_dielectric.cpp index 4351dc2687..6f1ea9df39 100644 --- a/src/DIELECTRIC/pppm_disp_dielectric.cpp +++ b/src/DIELECTRIC/pppm_disp_dielectric.cpp @@ -1,3 +1,4 @@ +// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/ Sandia National Laboratories diff --git a/src/DIELECTRIC/pppm_disp_dielectric.h b/src/DIELECTRIC/pppm_disp_dielectric.h index ac7ced5379..8f0476ab40 100644 --- a/src/DIELECTRIC/pppm_disp_dielectric.h +++ b/src/DIELECTRIC/pppm_disp_dielectric.h @@ -12,9 +12,9 @@ ------------------------------------------------------------------------- */ #ifdef KSPACE_CLASS - -KSpaceStyle(pppm/disp/dielectric,PPPMDispDielectric) - +// clang-format off +KSpaceStyle(pppm/disp/dielectric,PPPMDispDielectric); +// clang-format on #else #ifndef LMP_PPPM_DISP_DIELECTRIC_H @@ -33,20 +33,20 @@ class PPPMDispDielectric : public PPPMDisp { void qsum_qsq(); void slabcorr(int); - double** efield; - double* phi; - int potflag; // 1/0 if per-atom electrostatic potential phi is needed + double **efield; + double *phi; + int potflag; // 1/0 if per-atom electrostatic potential phi is needed protected: virtual void fieldforce_c_ik(); virtual void fieldforce_c_ad(); virtual void fieldforce_c_peratom(); - class AtomVecDielectric* avec; + class AtomVecDielectric *avec; int mu_flag; }; -} +} // namespace LAMMPS_NS #endif #endif From 9996d7eaadf91bcee810169999ccce2f885c4de6 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 3 Jul 2021 15:50:09 -0400 Subject: [PATCH 343/726] NULL -> nullptr, and coding style updates --- src/ML-RANN/pair_rann.cpp | 24 +-- src/USER-MISC/pair_wf_cut.cpp | 3 +- src/compute_property_local.cpp | 340 ++++++++++++++++----------------- 3 files changed, 180 insertions(+), 187 deletions(-) diff --git a/src/ML-RANN/pair_rann.cpp b/src/ML-RANN/pair_rann.cpp index 66e5bb107e..2fe8f4d0c1 100644 --- a/src/ML-RANN/pair_rann.cpp +++ b/src/ML-RANN/pair_rann.cpp @@ -81,8 +81,8 @@ PairRANN::PairRANN(LAMMPS *lmp) : Pair(lmp) manybody_flag = 1; allocated = 0; nelements = -1; - elements = NULL; - mass = NULL; + elements = nullptr; + mass = nullptr; // set comm size needed by this Pair // comm unused for now. @@ -304,7 +304,7 @@ void PairRANN::read_file(char *filename) while (eof == 0) { ptr=fgets(linetemp,longline,fp); linenum++; - if (ptr == NULL) { + if (ptr == nullptr) { if (check_potential()) { error->one(FLERR,"Invalid syntax in potential file, values are inconsistent or missing"); } @@ -345,7 +345,7 @@ void PairRANN::read_file(char *filename) strtemp=utils::trim_comment(linetemp); linenum++; } - if (ptr == NULL) { + if (ptr == nullptr) { if (check_potential()) { error->one(FLERR,"Invalid syntax in potential file, values are inconsistent or missing"); } @@ -532,7 +532,7 @@ void PairRANN::read_weight(std::vector line,std::vectorone(filename,*linenum,"unexpected end of potential file!"); + if (ptr==nullptr)error->one(filename,*linenum,"unexpected end of potential file!"); nwords = line1.size(); if (nwords != net[l].dimensions[i])error->one(filename,*linenum,"invalid weights per line"); for (k=0;k line,std::vect for (l=0;lone(filename,linenum-1,"networklayers must be defined before activation functions."); - i = strtol(line[2].c_str(),NULL,10); + i = strtol(line[2].c_str(),nullptr,10); if (i>=net[l].layers || i<0)error->one(filename,linenum-1,"invalid activation layer"); delete activation[l][i]; activation[l][i]=create_activation(line1[0].c_str()); @@ -1232,10 +1232,8 @@ RANN::Fingerprint *PairRANN::create_fingerprint(const char *style) else if (strcmp(style,"bondspin")==0) { return new RANN::Fingerprint_bondspin(this); } - char str[128]; - sprintf(str,"Unknown fingerprint style %s",style); - error->one(FLERR,str); - return NULL; + error->one(FLERR,"Unknown fingerprint style {}",style); + return nullptr; } @@ -1247,9 +1245,7 @@ RANN::Activation *PairRANN::create_activation(const char *style) else if (strcmp(style,"sigI")==0) { return new RANN::Activation_sigI(this); } - char str[128]; - sprintf(str,"Unknown activation style %s",style); - error->one(FLERR,str); - return NULL; + error->one(FLERR,"Unknown activation style {}",style); + return nullptr; } diff --git a/src/USER-MISC/pair_wf_cut.cpp b/src/USER-MISC/pair_wf_cut.cpp index cf2813ab5a..2fb363a161 100644 --- a/src/USER-MISC/pair_wf_cut.cpp +++ b/src/USER-MISC/pair_wf_cut.cpp @@ -15,6 +15,7 @@ /* ---------------------------------------------------------------------- Contributing Author: Xipeng Wang, Simon Ramirez-Hinestrosa ------------------------------------------------------------------------- */ + #include "pair_wf_cut.h" #include "atom.h" @@ -391,5 +392,5 @@ void *PairWFCut::extract(const char *str, int &dim) if (strcmp(str,"sigma") == 0) return (void *) sigma; if (strcmp(str,"nu") == 0) return (void *) nu; if (strcmp(str,"mu") == 0) return (void *) mu; - return NULL; + return nullptr; } diff --git a/src/compute_property_local.cpp b/src/compute_property_local.cpp index 7fd6d876ed..fce18fecd1 100644 --- a/src/compute_property_local.cpp +++ b/src/compute_property_local.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -13,32 +12,34 @@ ------------------------------------------------------------------------- */ #include "compute_property_local.h" -#include + #include "atom.h" #include "atom_vec.h" -#include "update.h" -#include "force.h" -#include "pair.h" -#include "neighbor.h" -#include "neigh_request.h" -#include "neigh_list.h" -#include "memory.h" #include "error.h" +#include "force.h" +#include "memory.h" +#include "neigh_list.h" +#include "neigh_request.h" +#include "neighbor.h" +#include "pair.h" +#include "update.h" + +#include using namespace LAMMPS_NS; -enum{NONE,NEIGH,PAIR,BOND,ANGLE,DIHEDRAL,IMPROPER}; -enum{TYPE,RADIUS}; +enum { NONE, NEIGH, PAIR, BOND, ANGLE, DIHEDRAL, IMPROPER }; +enum { TYPE, RADIUS }; #define DELTA 10000 /* ---------------------------------------------------------------------- */ ComputePropertyLocal::ComputePropertyLocal(LAMMPS *lmp, int narg, char **arg) : - Compute(lmp, narg, arg), - vlocal(NULL), alocal(NULL), indices(NULL), pack_choice(NULL) + Compute(lmp, narg, arg), vlocal(nullptr), alocal(nullptr), indices(nullptr), + pack_choice(nullptr) { - if (narg < 4) error->all(FLERR,"Illegal compute property/local command"); + if (narg < 4) error->all(FLERR, "Illegal compute property/local command"); local_flag = 1; nvalues = narg - 3; @@ -50,220 +51,198 @@ ComputePropertyLocal::ComputePropertyLocal(LAMMPS *lmp, int narg, char **arg) : nvalues = 0; int iarg = 3; while (iarg < narg) { - i = iarg-3; + i = iarg - 3; - if (strcmp(arg[iarg],"natom1") == 0) { + if (strcmp(arg[iarg], "natom1") == 0) { pack_choice[i] = &ComputePropertyLocal::pack_patom1; if (kindflag != NONE && kindflag != NEIGH) - error->all(FLERR, - "Compute property/local cannot use these inputs together"); + error->all(FLERR, "Compute property/local cannot use these inputs together"); kindflag = NEIGH; - } else if (strcmp(arg[iarg],"natom2") == 0) { + } else if (strcmp(arg[iarg], "natom2") == 0) { pack_choice[i] = &ComputePropertyLocal::pack_patom2; if (kindflag != NONE && kindflag != NEIGH) - error->all(FLERR, - "Compute property/local cannot use these inputs together"); + error->all(FLERR, "Compute property/local cannot use these inputs together"); kindflag = NEIGH; - } else if (strcmp(arg[iarg],"ntype1") == 0) { + } else if (strcmp(arg[iarg], "ntype1") == 0) { pack_choice[i] = &ComputePropertyLocal::pack_ptype1; if (kindflag != NONE && kindflag != NEIGH) - error->all(FLERR, - "Compute property/local cannot use these inputs together"); + error->all(FLERR, "Compute property/local cannot use these inputs together"); kindflag = NEIGH; - } else if (strcmp(arg[iarg],"ntype2") == 0) { + } else if (strcmp(arg[iarg], "ntype2") == 0) { pack_choice[i] = &ComputePropertyLocal::pack_ptype2; if (kindflag != NONE && kindflag != NEIGH) - error->all(FLERR, - "Compute property/local cannot use these inputs together"); + error->all(FLERR, "Compute property/local cannot use these inputs together"); kindflag = NEIGH; - } else if (strcmp(arg[iarg],"patom1") == 0) { + } else if (strcmp(arg[iarg], "patom1") == 0) { pack_choice[i] = &ComputePropertyLocal::pack_patom1; if (kindflag != NONE && kindflag != PAIR) - error->all(FLERR, - "Compute property/local cannot use these inputs together"); + error->all(FLERR, "Compute property/local cannot use these inputs together"); kindflag = PAIR; - } else if (strcmp(arg[iarg],"patom2") == 0) { + } else if (strcmp(arg[iarg], "patom2") == 0) { pack_choice[i] = &ComputePropertyLocal::pack_patom2; if (kindflag != NONE && kindflag != PAIR) - error->all(FLERR, - "Compute property/local cannot use these inputs together"); + error->all(FLERR, "Compute property/local cannot use these inputs together"); kindflag = PAIR; - } else if (strcmp(arg[iarg],"ptype1") == 0) { + } else if (strcmp(arg[iarg], "ptype1") == 0) { pack_choice[i] = &ComputePropertyLocal::pack_ptype1; if (kindflag != NONE && kindflag != PAIR) - error->all(FLERR, - "Compute property/local cannot use these inputs together"); + error->all(FLERR, "Compute property/local cannot use these inputs together"); kindflag = PAIR; - } else if (strcmp(arg[iarg],"ptype2") == 0) { + } else if (strcmp(arg[iarg], "ptype2") == 0) { pack_choice[i] = &ComputePropertyLocal::pack_ptype2; if (kindflag != NONE && kindflag != PAIR) - error->all(FLERR, - "Compute property/local cannot use these inputs together"); + error->all(FLERR, "Compute property/local cannot use these inputs together"); kindflag = PAIR; - } else if (strcmp(arg[iarg],"batom1") == 0) { + } else if (strcmp(arg[iarg], "batom1") == 0) { pack_choice[i] = &ComputePropertyLocal::pack_batom1; if (kindflag != NONE && kindflag != BOND) - error->all(FLERR, - "Compute property/local cannot use these inputs together"); + error->all(FLERR, "Compute property/local cannot use these inputs together"); kindflag = BOND; - } else if (strcmp(arg[iarg],"batom2") == 0) { + } else if (strcmp(arg[iarg], "batom2") == 0) { pack_choice[i] = &ComputePropertyLocal::pack_batom2; if (kindflag != NONE && kindflag != BOND) - error->all(FLERR, - "Compute property/local cannot use these inputs together"); + error->all(FLERR, "Compute property/local cannot use these inputs together"); kindflag = BOND; - } else if (strcmp(arg[iarg],"btype") == 0) { + } else if (strcmp(arg[iarg], "btype") == 0) { pack_choice[i] = &ComputePropertyLocal::pack_btype; if (kindflag != NONE && kindflag != BOND) - error->all(FLERR, - "Compute property/local cannot use these inputs together"); + error->all(FLERR, "Compute property/local cannot use these inputs together"); kindflag = BOND; - } else if (strcmp(arg[iarg],"aatom1") == 0) { + } else if (strcmp(arg[iarg], "aatom1") == 0) { pack_choice[i] = &ComputePropertyLocal::pack_aatom1; if (kindflag != NONE && kindflag != ANGLE) - error->all(FLERR, - "Compute property/local cannot use these inputs together"); + error->all(FLERR, "Compute property/local cannot use these inputs together"); kindflag = ANGLE; - } else if (strcmp(arg[iarg],"aatom2") == 0) { + } else if (strcmp(arg[iarg], "aatom2") == 0) { pack_choice[i] = &ComputePropertyLocal::pack_aatom2; if (kindflag != NONE && kindflag != ANGLE) - error->all(FLERR, - "Compute property/local cannot use these inputs together"); + error->all(FLERR, "Compute property/local cannot use these inputs together"); kindflag = ANGLE; - } else if (strcmp(arg[iarg],"aatom3") == 0) { + } else if (strcmp(arg[iarg], "aatom3") == 0) { pack_choice[i] = &ComputePropertyLocal::pack_aatom3; if (kindflag != NONE && kindflag != ANGLE) - error->all(FLERR, - "Compute property/local cannot use these inputs together"); + error->all(FLERR, "Compute property/local cannot use these inputs together"); kindflag = ANGLE; - } else if (strcmp(arg[iarg],"atype") == 0) { + } else if (strcmp(arg[iarg], "atype") == 0) { pack_choice[i] = &ComputePropertyLocal::pack_atype; if (kindflag != NONE && kindflag != ANGLE) - error->all(FLERR, - "Compute property/local cannot use these inputs together"); + error->all(FLERR, "Compute property/local cannot use these inputs together"); kindflag = ANGLE; - } else if (strcmp(arg[iarg],"datom1") == 0) { + } else if (strcmp(arg[iarg], "datom1") == 0) { pack_choice[i] = &ComputePropertyLocal::pack_datom1; if (kindflag != NONE && kindflag != DIHEDRAL) - error->all(FLERR, - "Compute property/local cannot use these inputs together"); + error->all(FLERR, "Compute property/local cannot use these inputs together"); kindflag = DIHEDRAL; - } else if (strcmp(arg[iarg],"datom2") == 0) { + } else if (strcmp(arg[iarg], "datom2") == 0) { pack_choice[i] = &ComputePropertyLocal::pack_datom2; if (kindflag != NONE && kindflag != DIHEDRAL) - error->all(FLERR, - "Compute property/local cannot use these inputs together"); + error->all(FLERR, "Compute property/local cannot use these inputs together"); kindflag = DIHEDRAL; - } else if (strcmp(arg[iarg],"datom3") == 0) { + } else if (strcmp(arg[iarg], "datom3") == 0) { pack_choice[i] = &ComputePropertyLocal::pack_datom3; if (kindflag != NONE && kindflag != DIHEDRAL) - error->all(FLERR, - "Compute property/local cannot use these inputs together"); + error->all(FLERR, "Compute property/local cannot use these inputs together"); kindflag = DIHEDRAL; - } else if (strcmp(arg[iarg],"datom4") == 0) { + } else if (strcmp(arg[iarg], "datom4") == 0) { pack_choice[i] = &ComputePropertyLocal::pack_datom4; if (kindflag != NONE && kindflag != DIHEDRAL) - error->all(FLERR, - "Compute property/local cannot use these inputs together"); + error->all(FLERR, "Compute property/local cannot use these inputs together"); kindflag = DIHEDRAL; - } else if (strcmp(arg[iarg],"dtype") == 0) { + } else if (strcmp(arg[iarg], "dtype") == 0) { pack_choice[i] = &ComputePropertyLocal::pack_dtype; if (kindflag != NONE && kindflag != DIHEDRAL) - error->all(FLERR, - "Compute property/local cannot use these inputs together"); + error->all(FLERR, "Compute property/local cannot use these inputs together"); kindflag = DIHEDRAL; - } else if (strcmp(arg[iarg],"iatom1") == 0) { + } else if (strcmp(arg[iarg], "iatom1") == 0) { pack_choice[i] = &ComputePropertyLocal::pack_iatom1; if (kindflag != NONE && kindflag != IMPROPER) - error->all(FLERR, - "Compute property/local cannot use these inputs together"); + error->all(FLERR, "Compute property/local cannot use these inputs together"); kindflag = IMPROPER; - } else if (strcmp(arg[iarg],"iatom2") == 0) { + } else if (strcmp(arg[iarg], "iatom2") == 0) { pack_choice[i] = &ComputePropertyLocal::pack_iatom2; if (kindflag != NONE && kindflag != IMPROPER) - error->all(FLERR, - "Compute property/local cannot use these inputs together"); + error->all(FLERR, "Compute property/local cannot use these inputs together"); kindflag = IMPROPER; - } else if (strcmp(arg[iarg],"iatom3") == 0) { + } else if (strcmp(arg[iarg], "iatom3") == 0) { pack_choice[i] = &ComputePropertyLocal::pack_iatom3; if (kindflag != NONE && kindflag != IMPROPER) - error->all(FLERR, - "Compute property/local cannot use these inputs together"); + error->all(FLERR, "Compute property/local cannot use these inputs together"); kindflag = IMPROPER; - } else if (strcmp(arg[iarg],"iatom4") == 0) { + } else if (strcmp(arg[iarg], "iatom4") == 0) { pack_choice[i] = &ComputePropertyLocal::pack_iatom4; if (kindflag != NONE && kindflag != IMPROPER) - error->all(FLERR, - "Compute property/local cannot use these inputs together"); + error->all(FLERR, "Compute property/local cannot use these inputs together"); kindflag = IMPROPER; - } else if (strcmp(arg[iarg],"itype") == 0) { + } else if (strcmp(arg[iarg], "itype") == 0) { pack_choice[i] = &ComputePropertyLocal::pack_itype; if (kindflag != NONE && kindflag != IMPROPER) - error->all(FLERR, - "Compute property/local cannot use these inputs together"); + error->all(FLERR, "Compute property/local cannot use these inputs together"); kindflag = IMPROPER; - } else break; + } else + break; nvalues++; iarg++; } - if (nvalues == 1) size_local_cols = 0; - else size_local_cols = nvalues; + if (nvalues == 1) + size_local_cols = 0; + else + size_local_cols = nvalues; // optional args cutstyle = TYPE; while (iarg < narg) { - if (strcmp(arg[iarg],"cutoff") == 0) { - if (iarg+2 > narg) - error->all(FLERR,"Illegal compute property/local command"); - if (strcmp(arg[iarg+1],"type") == 0) cutstyle = TYPE; - else if (strcmp(arg[iarg+1],"radius") == 0) cutstyle = RADIUS; - else error->all(FLERR,"Illegal compute property/local command"); + if (strcmp(arg[iarg], "cutoff") == 0) { + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute property/local command"); + if (strcmp(arg[iarg + 1], "type") == 0) + cutstyle = TYPE; + else if (strcmp(arg[iarg + 1], "radius") == 0) + cutstyle = RADIUS; + else + error->all(FLERR, "Illegal compute property/local command"); iarg += 2; - } else error->all(FLERR,"Illegal compute property/local command"); + } else + error->all(FLERR, "Illegal compute property/local command"); } // error check - if (atom->molecular == 2 && (kindflag == BOND || kindflag == ANGLE || - kindflag == DIHEDRAL || kindflag == IMPROPER)) - error->all(FLERR,"Compute property/local does not (yet) work " + if (atom->molecular == 2 && + (kindflag == BOND || kindflag == ANGLE || kindflag == DIHEDRAL || kindflag == IMPROPER)) + error->all(FLERR, + "Compute property/local does not (yet) work " "with atom_style template"); if (kindflag == BOND && atom->avec->bonds_allow == 0) - error->all(FLERR, - "Compute property/local for property that isn't allocated"); + error->all(FLERR, "Compute property/local for property that isn't allocated"); if (kindflag == ANGLE && atom->avec->angles_allow == 0) - error->all(FLERR, - "Compute property/local for property that isn't allocated"); + error->all(FLERR, "Compute property/local for property that isn't allocated"); if (kindflag == DIHEDRAL && atom->avec->dihedrals_allow == 0) - error->all(FLERR, - "Compute property/local for property that isn't allocated"); + error->all(FLERR, "Compute property/local for property that isn't allocated"); if (kindflag == IMPROPER && atom->avec->impropers_allow == 0) - error->all(FLERR, - "Compute property/local for property that isn't allocated"); + error->all(FLERR, "Compute property/local for property that isn't allocated"); if (cutstyle == RADIUS && !atom->radius_flag) - error->all(FLERR,"Compute property/local requires atom attribute radius"); + error->all(FLERR, "Compute property/local requires atom attribute radius"); nmax = 0; - vlocal = NULL; - alocal = NULL; + vlocal = nullptr; + alocal = nullptr; } /* ---------------------------------------------------------------------- */ ComputePropertyLocal::~ComputePropertyLocal() { - delete [] pack_choice; + delete[] pack_choice; memory->destroy(vlocal); memory->destroy(alocal); memory->destroy(indices); @@ -274,10 +253,10 @@ ComputePropertyLocal::~ComputePropertyLocal() void ComputePropertyLocal::init() { if (kindflag == NEIGH || kindflag == PAIR) { - if (force->pair == NULL) - error->all(FLERR,"No pair style is defined for compute property/local"); + if (force->pair == nullptr) + error->all(FLERR, "No pair style is defined for compute property/local"); if (force->pair->single_enable == 0) - error->all(FLERR,"Pair style does not support compute property/local"); + error->all(FLERR, "Pair style does not support compute property/local"); } // for NEIGH/PAIR need an occasional half neighbor list @@ -285,7 +264,7 @@ void ComputePropertyLocal::init() // this should enable it to always be a copy list (e.g. for granular pstyle) if (kindflag == NEIGH || kindflag == PAIR) { - int irequest = neighbor->request(this,instance_me); + int irequest = neighbor->request(this, instance_me); neighbor->requests[irequest]->pair = 0; neighbor->requests[irequest]->compute = 1; neighbor->requests[irequest]->occasional = 1; @@ -296,12 +275,18 @@ void ComputePropertyLocal::init() // do initial memory allocation so that memory_usage() is correct // cannot be done yet for NEIGH/PAIR, since neigh list does not exist - if (kindflag == NEIGH) ncount = 0; - else if (kindflag == PAIR) ncount = 0; - else if (kindflag == BOND) ncount = count_bonds(0); - else if (kindflag == ANGLE) ncount = count_angles(0); - else if (kindflag == DIHEDRAL) ncount = count_dihedrals(0); - else if (kindflag == IMPROPER) ncount = count_impropers(0); + if (kindflag == NEIGH) + ncount = 0; + else if (kindflag == PAIR) + ncount = 0; + else if (kindflag == BOND) + ncount = count_bonds(0); + else if (kindflag == ANGLE) + ncount = count_angles(0); + else if (kindflag == DIHEDRAL) + ncount = count_dihedrals(0); + else if (kindflag == IMPROPER) + ncount = count_impropers(0); if (ncount > nmax) reallocate(ncount); size_local_rows = ncount; @@ -322,22 +307,34 @@ void ComputePropertyLocal::compute_local() // count local entries and generate list of indices - if (kindflag == NEIGH) ncount = count_pairs(0,0); - else if (kindflag == PAIR) ncount = count_pairs(0,1); - else if (kindflag == BOND) ncount = count_bonds(0); - else if (kindflag == ANGLE) ncount = count_angles(0); - else if (kindflag == DIHEDRAL) ncount = count_dihedrals(0); - else if (kindflag == IMPROPER) ncount = count_impropers(0); + if (kindflag == NEIGH) + ncount = count_pairs(0, 0); + else if (kindflag == PAIR) + ncount = count_pairs(0, 1); + else if (kindflag == BOND) + ncount = count_bonds(0); + else if (kindflag == ANGLE) + ncount = count_angles(0); + else if (kindflag == DIHEDRAL) + ncount = count_dihedrals(0); + else if (kindflag == IMPROPER) + ncount = count_impropers(0); if (ncount > nmax) reallocate(ncount); size_local_rows = ncount; - if (kindflag == NEIGH) ncount = count_pairs(1,0); - else if (kindflag == PAIR) ncount = count_pairs(1,1); - else if (kindflag == BOND) ncount = count_bonds(1); - else if (kindflag == ANGLE) ncount = count_angles(1); - else if (kindflag == DIHEDRAL) ncount = count_dihedrals(1); - else if (kindflag == IMPROPER) ncount = count_impropers(1); + if (kindflag == NEIGH) + ncount = count_pairs(1, 0); + else if (kindflag == PAIR) + ncount = count_pairs(1, 1); + else if (kindflag == BOND) + ncount = count_bonds(1); + else if (kindflag == ANGLE) + ncount = count_angles(1); + else if (kindflag == DIHEDRAL) + ncount = count_dihedrals(1); + else if (kindflag == IMPROPER) + ncount = count_impropers(1); // fill vector or array with local values @@ -346,8 +343,7 @@ void ComputePropertyLocal::compute_local() (this->*pack_choice[0])(0); } else { if (alocal) buf = &alocal[0][0]; - for (int n = 0; n < nvalues; n++) - (this->*pack_choice[n])(n); + for (int n = 0; n < nvalues; n++) (this->*pack_choice[n])(n); } } @@ -361,10 +357,10 @@ void ComputePropertyLocal::compute_local() int ComputePropertyLocal::count_pairs(int allflag, int forceflag) { - int i,j,m,ii,jj,inum,jnum,itype,jtype; - tagint itag,jtag; - double xtmp,ytmp,ztmp,delx,dely,delz,rsq,radsum; - int *ilist,*jlist,*numneigh,**firstneigh; + int i, j, m, ii, jj, inum, jnum, itype, jtype; + tagint itag, jtag; + double xtmp, ytmp, ztmp, delx, dely, delz, rsq, radsum; + int *ilist, *jlist, *numneigh, **firstneigh; double **x = atom->x; double *radius = atom->radius; @@ -415,9 +411,9 @@ int ComputePropertyLocal::count_pairs(int allflag, int forceflag) if (newton_pair == 0 && j >= nlocal) { jtag = tag[j]; if (itag > jtag) { - if ((itag+jtag) % 2 == 0) continue; + if ((itag + jtag) % 2 == 0) continue; } else if (itag < jtag) { - if ((itag+jtag) % 2 == 1) continue; + if ((itag + jtag) % 2 == 1) continue; } else { if (x[j][2] < ztmp) continue; if (x[j][2] == ztmp) { @@ -430,14 +426,14 @@ int ComputePropertyLocal::count_pairs(int allflag, int forceflag) delx = xtmp - x[j][0]; dely = ytmp - x[j][1]; delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; + rsq = delx * delx + dely * dely + delz * delz; jtype = type[j]; if (forceflag) { if (cutstyle == TYPE) { if (rsq >= cutsq[itype][jtype]) continue; } else { radsum = radius[i] + radius[j]; - if (rsq >= radsum*radsum) continue; + if (rsq >= radsum * radsum) continue; } } @@ -463,7 +459,7 @@ int ComputePropertyLocal::count_pairs(int allflag, int forceflag) int ComputePropertyLocal::count_bonds(int flag) { - int i,atom1,atom2; + int i, atom1, atom2; int *num_bond = atom->num_bond; tagint **bond_atom = atom->bond_atom; @@ -504,7 +500,7 @@ int ComputePropertyLocal::count_bonds(int flag) int ComputePropertyLocal::count_angles(int flag) { - int i,atom1,atom2,atom3; + int i, atom1, atom2, atom3; int *num_angle = atom->num_angle; tagint **angle_atom1 = atom->angle_atom1; @@ -546,7 +542,7 @@ int ComputePropertyLocal::count_angles(int flag) int ComputePropertyLocal::count_dihedrals(int flag) { - int i,atom1,atom2,atom3,atom4; + int i, atom1, atom2, atom3, atom4; int *num_dihedral = atom->num_dihedral; tagint **dihedral_atom1 = atom->dihedral_atom1; @@ -589,7 +585,7 @@ int ComputePropertyLocal::count_dihedrals(int flag) int ComputePropertyLocal::count_impropers(int flag) { - int i,atom1,atom2,atom3,atom4; + int i, atom1, atom2, atom3, atom4; int *num_improper = atom->num_improper; tagint **improper_atom1 = atom->improper_atom1; @@ -633,16 +629,16 @@ void ComputePropertyLocal::reallocate(int n) if (nvalues == 1) { memory->destroy(vlocal); - memory->create(vlocal,nmax,"property/local:vector_local"); + memory->create(vlocal, nmax, "property/local:vector_local"); vector_local = vlocal; } else { memory->destroy(alocal); - memory->create(alocal,nmax,nvalues,"property/local:array_local"); + memory->create(alocal, nmax, nvalues, "property/local:array_local"); array_local = alocal; } memory->destroy(indices); - memory->create(indices,nmax,2,"property/local:indices"); + memory->create(indices, nmax, 2, "property/local:indices"); } /* ---------------------------------------------------------------------- @@ -651,8 +647,8 @@ void ComputePropertyLocal::reallocate(int n) double ComputePropertyLocal::memory_usage() { - double bytes = (double)nmax*nvalues * sizeof(double); - bytes += (double)nmax*2 * sizeof(int); + double bytes = (double) nmax * nvalues * sizeof(double); + bytes += (double) nmax * 2 * sizeof(int); return bytes; } @@ -736,7 +732,7 @@ void ComputePropertyLocal::pack_batom1(int n) void ComputePropertyLocal::pack_batom2(int n) { - int i,j; + int i, j; tagint **bond_atom = atom->bond_atom; for (int m = 0; m < ncount; m++) { @@ -751,7 +747,7 @@ void ComputePropertyLocal::pack_batom2(int n) void ComputePropertyLocal::pack_btype(int n) { - int i,j; + int i, j; int **bond_type = atom->bond_type; for (int m = 0; m < ncount; m++) { @@ -766,7 +762,7 @@ void ComputePropertyLocal::pack_btype(int n) void ComputePropertyLocal::pack_aatom1(int n) { - int i,j; + int i, j; tagint **angle_atom1 = atom->angle_atom1; for (int m = 0; m < ncount; m++) { @@ -781,7 +777,7 @@ void ComputePropertyLocal::pack_aatom1(int n) void ComputePropertyLocal::pack_aatom2(int n) { - int i,j; + int i, j; tagint **angle_atom2 = atom->angle_atom2; for (int m = 0; m < ncount; m++) { @@ -796,7 +792,7 @@ void ComputePropertyLocal::pack_aatom2(int n) void ComputePropertyLocal::pack_aatom3(int n) { - int i,j; + int i, j; tagint **angle_atom3 = atom->angle_atom3; for (int m = 0; m < ncount; m++) { @@ -811,7 +807,7 @@ void ComputePropertyLocal::pack_aatom3(int n) void ComputePropertyLocal::pack_atype(int n) { - int i,j; + int i, j; int **angle_type = atom->angle_type; for (int m = 0; m < ncount; m++) { @@ -826,7 +822,7 @@ void ComputePropertyLocal::pack_atype(int n) void ComputePropertyLocal::pack_datom1(int n) { - int i,j; + int i, j; tagint **dihedral_atom1 = atom->dihedral_atom1; for (int m = 0; m < ncount; m++) { @@ -841,7 +837,7 @@ void ComputePropertyLocal::pack_datom1(int n) void ComputePropertyLocal::pack_datom2(int n) { - int i,j; + int i, j; tagint **dihedral_atom2 = atom->dihedral_atom2; for (int m = 0; m < ncount; m++) { @@ -856,7 +852,7 @@ void ComputePropertyLocal::pack_datom2(int n) void ComputePropertyLocal::pack_datom3(int n) { - int i,j; + int i, j; tagint **dihedral_atom3 = atom->dihedral_atom3; for (int m = 0; m < ncount; m++) { @@ -871,7 +867,7 @@ void ComputePropertyLocal::pack_datom3(int n) void ComputePropertyLocal::pack_datom4(int n) { - int i,j; + int i, j; tagint **dihedral_atom4 = atom->dihedral_atom4; for (int m = 0; m < ncount; m++) { @@ -886,7 +882,7 @@ void ComputePropertyLocal::pack_datom4(int n) void ComputePropertyLocal::pack_dtype(int n) { - int i,j; + int i, j; int **dihedral_type = atom->dihedral_type; for (int m = 0; m < ncount; m++) { @@ -901,7 +897,7 @@ void ComputePropertyLocal::pack_dtype(int n) void ComputePropertyLocal::pack_iatom1(int n) { - int i,j; + int i, j; tagint **improper_atom1 = atom->improper_atom1; for (int m = 0; m < ncount; m++) { @@ -916,7 +912,7 @@ void ComputePropertyLocal::pack_iatom1(int n) void ComputePropertyLocal::pack_iatom2(int n) { - int i,j; + int i, j; tagint **improper_atom2 = atom->improper_atom2; for (int m = 0; m < ncount; m++) { @@ -931,7 +927,7 @@ void ComputePropertyLocal::pack_iatom2(int n) void ComputePropertyLocal::pack_iatom3(int n) { - int i,j; + int i, j; tagint **improper_atom3 = atom->improper_atom3; for (int m = 0; m < ncount; m++) { @@ -946,7 +942,7 @@ void ComputePropertyLocal::pack_iatom3(int n) void ComputePropertyLocal::pack_iatom4(int n) { - int i,j; + int i, j; tagint **improper_atom4 = atom->improper_atom4; for (int m = 0; m < ncount; m++) { @@ -961,7 +957,7 @@ void ComputePropertyLocal::pack_iatom4(int n) void ComputePropertyLocal::pack_itype(int n) { - int i,j; + int i, j; int **improper_type = atom->improper_type; for (int m = 0; m < ncount; m++) { From d471f13d27c4c116427ac228f7b9cb7ad41ed9f3 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 3 Jul 2021 15:55:01 -0400 Subject: [PATCH 344/726] non-portable OpenMP pragmas --- src/DIELECTRIC/fix_polarize_functional.cpp | 3 --- src/DIELECTRIC/pppm_dielectric.cpp | 3 --- src/DIELECTRIC/pppm_disp_dielectric.cpp | 3 --- 3 files changed, 9 deletions(-) diff --git a/src/DIELECTRIC/fix_polarize_functional.cpp b/src/DIELECTRIC/fix_polarize_functional.cpp index 4ca2de43d0..b1c824feef 100644 --- a/src/DIELECTRIC/fix_polarize_functional.cpp +++ b/src/DIELECTRIC/fix_polarize_functional.cpp @@ -1115,9 +1115,6 @@ void FixPolarizeFunctional::calculate_grad_greens_ewald(double *vec, double dx, void FixPolarizeFunctional::calculate_matrix_multiply_vector(double **matrix, double *in_vec, double *out_vec, int M) { -#if defined(OPENMP) -#pragma parallel omp for -#endif for (int k = 0; k < M; ++k) { double temp = 0.0; for (int l = 0; l < M; ++l) { temp += matrix[k][l] * in_vec[l]; } diff --git a/src/DIELECTRIC/pppm_dielectric.cpp b/src/DIELECTRIC/pppm_dielectric.cpp index 98e5c40d3c..88c0e4c449 100644 --- a/src/DIELECTRIC/pppm_dielectric.cpp +++ b/src/DIELECTRIC/pppm_dielectric.cpp @@ -479,9 +479,6 @@ void PPPMDielectric::qsum_qsq() const int nlocal = atom->nlocal; double qsum_local(0.0), qsqsum_local(0.0); -#if defined(_OPENMP) -#pragma omp parallel for default(shared) reduction(+:qsum_local,qsqsum_local) -#endif for (int i = 0; i < nlocal; i++) { qsum_local += q[i]; qsqsum_local += q[i]*q[i]; diff --git a/src/DIELECTRIC/pppm_disp_dielectric.cpp b/src/DIELECTRIC/pppm_disp_dielectric.cpp index 6f1ea9df39..bb00a74922 100644 --- a/src/DIELECTRIC/pppm_disp_dielectric.cpp +++ b/src/DIELECTRIC/pppm_disp_dielectric.cpp @@ -856,9 +856,6 @@ void PPPMDispDielectric::qsum_qsq() const int nlocal = atom->nlocal; double qsum_local(0.0), qsqsum_local(0.0); -#if defined(_OPENMP) -#pragma omp parallel for default(none) reduction(+:qsum_local,qsqsum_local) -#endif for (int i = 0; i < nlocal; i++) { qsum_local += q[i]; qsqsum_local += q[i]*q[i]; From da06535be50b94e89555fe11b85b6f6589ed33ea Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 3 Jul 2021 16:04:23 -0400 Subject: [PATCH 345/726] fix doc build warnings --- doc/src/pair_dielectric.rst | 4 ++-- doc/utils/sphinx-config/false_positives.txt | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/doc/src/pair_dielectric.rst b/doc/src/pair_dielectric.rst index 96c2031317..1af26a0921 100644 --- a/doc/src/pair_dielectric.rst +++ b/doc/src/pair_dielectric.rst @@ -75,7 +75,7 @@ Description All these pair styles are derived from the corresponding pair styles without the *dielectric*\ suffix. In addition to computing atom forces and energies, these pair styles compute the electrical field vector -at each atom, which are to be used in the :doc:`fix polarize ` commands. +at each atom, which are to be used in the :doc:`fix polarize ` commands. These pair styles should be used with :doc:`atom_style dielectric `, which uses atom charges rescaled by their local dielectric constant. @@ -116,7 +116,7 @@ LAMMPS was built with that package. See the :doc:`Build package Related commands """""""""""""""" -:doc:`pair_coeff `, :doc:`fix polarize `, :doc:`read_data ` +:doc:`pair_coeff `, :doc:`fix polarize `, :doc:`read_data ` Default """"""" diff --git a/doc/utils/sphinx-config/false_positives.txt b/doc/utils/sphinx-config/false_positives.txt index e57f81dbc8..e7cff5f59a 100644 --- a/doc/utils/sphinx-config/false_positives.txt +++ b/doc/utils/sphinx-config/false_positives.txt @@ -2407,6 +2407,7 @@ orthorhombic Ortner oso Otype +Ouadfel Ouldridge outfile outmost @@ -2680,7 +2681,6 @@ qoverride qqr qqrd qtb -Quadfel quadratically quadrupolar Quant @@ -3155,6 +3155,7 @@ Suter Sutmann Suzen svn +Svoboda sw Swegat swiggle From c61480eace1084e4fcaf662f06d928c37e13a6b7 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 3 Jul 2021 16:12:52 -0400 Subject: [PATCH 346/726] fix indexing for pppm/disp/dielectric --- doc/src/kspace_style.rst | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/doc/src/kspace_style.rst b/doc/src/kspace_style.rst index 9f3583c4dc..dc72915b35 100644 --- a/doc/src/kspace_style.rst +++ b/doc/src/kspace_style.rst @@ -9,6 +9,7 @@ .. index:: kspace_style pppm/gpu .. index:: kspace_style pppm/intel .. index:: kspace_style pppm/cg +.. index:: kspace_style pppm/dielectric .. index:: kspace_style pppm/dipole .. index:: kspace_style pppm/dipole/spin .. index:: kspace_style pppm/disp @@ -16,7 +17,7 @@ .. index:: kspace_style pppm/disp/tip4p .. index:: kspace_style pppm/disp/tip4p/omp .. index:: kspace_style pppm/disp/intel -.. index:: kspace_style pppm/dielectric +.. index:: kspace_style pppm/disp/dielectric .. index:: kspace_style pppm/cg/omp .. index:: kspace_style pppm/stagger .. index:: kspace_style pppm/tip4p @@ -38,7 +39,7 @@ Syntax kspace_style style value -* style = *none* or *ewald* or *ewald/dipole* or *ewald/dipole/spin* or *ewald/disp* or *ewald/omp* or *pppm* or *pppm/cg* or *pppm/disp* or *pppm/tip4p* or *pppm/stagger* or *pppm/disp/tip4p* or *pppm/gpu* or *pppm/intel* or *pppm/disp/intel* or *pppm/kk* or *pppm/omp* or *pppm/cg/omp* or *pppm/disp/tip4p/omp* or *pppm/tip4p/omp* or *pppm/dielectic* or *msm* or *msm/cg* or *msm/omp* or *msm/cg/omp* or *msm/dielectric* or *scafacos* +* style = *none* or *ewald* or *ewald/dipole* or *ewald/dipole/spin* or *ewald/disp* or *ewald/omp* or *pppm* or *pppm/cg* or *pppm/disp* or *pppm/tip4p* or *pppm/stagger* or *pppm/disp/tip4p* or *pppm/gpu* or *pppm/intel* or *pppm/disp/intel* or *pppm/kk* or *pppm/omp* or *pppm/cg/omp* or *pppm/disp/tip4p/omp* or *pppm/tip4p/omp* or *pppm/dielectic* or *pppm/disp/dielectric* or *msm* or *msm/cg* or *msm/omp* or *msm/cg/omp* or *msm/dielectric* or *scafacos* .. parsed-literal:: From b314c83266148c449dd7ace0e0d4081a9f772f6e Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 3 Jul 2021 16:17:42 -0400 Subject: [PATCH 347/726] fix up mistyped package names --- doc/src/angle_cross.rst | 2 +- doc/src/angle_fourier.rst | 2 +- doc/src/angle_fourier_simple.rst | 2 +- doc/src/angle_mm3.rst | 2 +- doc/src/angle_quartic.rst | 2 +- doc/src/bond_mm3.rst | 2 +- doc/src/dihedral_fourier.rst | 2 +- doc/src/dihedral_nharmonic.rst | 2 +- doc/src/dihedral_quadratic.rst | 2 +- doc/src/dihedral_spherical.rst | 2 +- doc/src/improper_fourier.rst | 2 +- 11 files changed, 11 insertions(+), 11 deletions(-) diff --git a/doc/src/angle_cross.rst b/doc/src/angle_cross.rst index 3cd1884be0..318bce9513 100644 --- a/doc/src/angle_cross.rst +++ b/doc/src/angle_cross.rst @@ -54,7 +54,7 @@ Restrictions """""""""""" This angle style can only be used if LAMMPS was built with the -USER_YAFF package. See the :doc:`Build package ` doc +YAFF package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/angle_fourier.rst b/doc/src/angle_fourier.rst index 231f45e808..ff9c42b79c 100644 --- a/doc/src/angle_fourier.rst +++ b/doc/src/angle_fourier.rst @@ -50,7 +50,7 @@ Restrictions """""""""""" This angle style can only be used if LAMMPS was built with the -USER_MISC package. See the :doc:`Build package ` doc +USER-MISC package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/angle_fourier_simple.rst b/doc/src/angle_fourier_simple.rst index 14b4bbcfe9..8d367ff118 100644 --- a/doc/src/angle_fourier_simple.rst +++ b/doc/src/angle_fourier_simple.rst @@ -49,7 +49,7 @@ Restrictions """""""""""" This angle style can only be used if LAMMPS was built with the -USER_MISC package. See the :doc:`Build package ` doc +USER-MISC package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/angle_mm3.rst b/doc/src/angle_mm3.rst index 0905ff6e4c..c1011da47e 100644 --- a/doc/src/angle_mm3.rst +++ b/doc/src/angle_mm3.rst @@ -49,7 +49,7 @@ Restrictions """""""""""" This angle style can only be used if LAMMPS was built with the -USER_YAFF package. See the :doc:`Build package ` doc +YAFF package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/angle_quartic.rst b/doc/src/angle_quartic.rst index 7dfb4b2896..6a163db396 100644 --- a/doc/src/angle_quartic.rst +++ b/doc/src/angle_quartic.rst @@ -57,7 +57,7 @@ Restrictions """""""""""" This angle style can only be used if LAMMPS was built with the -USER_MISC package. See the :doc:`Build package ` doc +USER-MISC package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/bond_mm3.rst b/doc/src/bond_mm3.rst index 2a255e7590..aa219f0cc7 100644 --- a/doc/src/bond_mm3.rst +++ b/doc/src/bond_mm3.rst @@ -47,7 +47,7 @@ Restrictions """""""""""" This bond style can only be used if LAMMPS was built with the -USER_YAFF package. See the :doc:`Build package ` doc +YAFF package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/dihedral_fourier.rst b/doc/src/dihedral_fourier.rst index f55011c902..31ec043ebe 100644 --- a/doc/src/dihedral_fourier.rst +++ b/doc/src/dihedral_fourier.rst @@ -55,7 +55,7 @@ Restrictions """""""""""" This angle style can only be used if LAMMPS was built with the -USER_MISC package. See the :doc:`Build package ` doc +USER-MISC package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/dihedral_nharmonic.rst b/doc/src/dihedral_nharmonic.rst index 2411903126..85762ee6f2 100644 --- a/doc/src/dihedral_nharmonic.rst +++ b/doc/src/dihedral_nharmonic.rst @@ -51,7 +51,7 @@ Restrictions """""""""""" This angle style can only be used if LAMMPS was built with the -USER_MISC package. See the :doc:`Build package ` doc +USER-MISC package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/dihedral_quadratic.rst b/doc/src/dihedral_quadratic.rst index dbe680fc82..262a9c50b6 100644 --- a/doc/src/dihedral_quadratic.rst +++ b/doc/src/dihedral_quadratic.rst @@ -56,7 +56,7 @@ Restrictions """""""""""" This angle style can only be used if LAMMPS was built with the -USER_MISC package. See the :doc:`Build package ` doc +USER-MISC package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/dihedral_spherical.rst b/doc/src/dihedral_spherical.rst index be672a3699..bba9f20289 100644 --- a/doc/src/dihedral_spherical.rst +++ b/doc/src/dihedral_spherical.rst @@ -89,7 +89,7 @@ Restrictions """""""""""" This dihedral style can only be used if LAMMPS was built with the -USER_MISC package. See the :doc:`Build package ` doc +USER-MISC package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/improper_fourier.rst b/doc/src/improper_fourier.rst index 84ea97509d..3c5b45ed69 100644 --- a/doc/src/improper_fourier.rst +++ b/doc/src/improper_fourier.rst @@ -60,7 +60,7 @@ Restrictions """""""""""" This angle style can only be used if LAMMPS was built with the -USER_MISC package. See the :doc:`Build package ` doc +USER-MISC package. See the :doc:`Build package ` doc page for more info. Related commands From 4b42b5100657835f1b006a3a41ce25e667e0b430 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 3 Jul 2021 16:23:55 -0400 Subject: [PATCH 348/726] fix broken links --- doc/src/atom_style.rst | 2 +- doc/src/compute_sph_e_atom.rst | 2 +- doc/src/compute_sph_rho_atom.rst | 2 +- doc/src/compute_sph_t_atom.rst | 2 +- doc/src/fix_sph.rst | 2 +- doc/src/fix_sph_stationary.rst | 2 +- doc/src/pair_sph_heatconduction.rst | 2 +- doc/src/pair_sph_idealgas.rst | 2 +- doc/src/pair_sph_lj.rst | 2 +- doc/src/pair_sph_rhosum.rst | 2 +- doc/src/pair_sph_taitwater.rst | 2 +- doc/src/pair_sph_taitwater_morris.rst | 2 +- doc/src/set.rst | 2 +- 13 files changed, 13 insertions(+), 13 deletions(-) diff --git a/doc/src/atom_style.rst b/doc/src/atom_style.rst index a54971cf3b..a59923ebfa 100644 --- a/doc/src/atom_style.rst +++ b/doc/src/atom_style.rst @@ -363,7 +363,7 @@ dissipative particle dynamics (mDPD), and transport dissipative particle dynamics (tDPD), respectively. The *sph* style is part of the SPH package for smoothed particle -hydrodynamics (SPH). See `this PDF guide `_ to using SPH in LAMMPS. +hydrodynamics (SPH). See `this PDF guide `_ to using SPH in LAMMPS. The *mesont* style is part of the MESONT package. diff --git a/doc/src/compute_sph_e_atom.rst b/doc/src/compute_sph_e_atom.rst index b1eca85853..a0410825aa 100644 --- a/doc/src/compute_sph_e_atom.rst +++ b/doc/src/compute_sph_e_atom.rst @@ -30,7 +30,7 @@ The internal energy is the energy associated with the internal degrees of freedom of an SPH particle, i.e. a Smooth-Particle Hydrodynamics particle. -See `this PDF guide `_ to using SPH in +See `this PDF guide `_ to using SPH in LAMMPS. The value of the internal energy will be 0.0 for atoms not in the diff --git a/doc/src/compute_sph_rho_atom.rst b/doc/src/compute_sph_rho_atom.rst index 34096df0ee..a7aad3c6fa 100644 --- a/doc/src/compute_sph_rho_atom.rst +++ b/doc/src/compute_sph_rho_atom.rst @@ -29,7 +29,7 @@ atom in a group, i.e. a Smooth-Particle Hydrodynamics density. The SPH density is the mass density of an SPH particle, calculated by kernel function interpolation using "pair style sph/rhosum". -See `this PDF guide `_ to using SPH in +See `this PDF guide `_ to using SPH in LAMMPS. The value of the SPH density will be 0.0 for atoms not in the diff --git a/doc/src/compute_sph_t_atom.rst b/doc/src/compute_sph_t_atom.rst index 7c4c126c6c..d09a20c963 100644 --- a/doc/src/compute_sph_t_atom.rst +++ b/doc/src/compute_sph_t_atom.rst @@ -34,7 +34,7 @@ particles, i.e. a Smooth-Particle Hydrodynamics particle. T_{int} = E_{int} / C_{V,int} -See `this PDF guide `_ to using SPH in +See `this PDF guide `_ to using SPH in LAMMPS. The value of the internal energy will be 0.0 for atoms not in the diff --git a/doc/src/fix_sph.rst b/doc/src/fix_sph.rst index 1866893b93..624209660c 100644 --- a/doc/src/fix_sph.rst +++ b/doc/src/fix_sph.rst @@ -29,7 +29,7 @@ needed to time-integrate SPH systems where particles carry internal variables such as internal energy. SPH stands for Smoothed Particle Hydrodynamics. -See `this PDF guide `_ to using SPH in +See `this PDF guide `_ to using SPH in LAMMPS. Restart, fix_modify, output, run start/stop, minimize info diff --git a/doc/src/fix_sph_stationary.rst b/doc/src/fix_sph_stationary.rst index 34db080121..a239ce478e 100644 --- a/doc/src/fix_sph_stationary.rst +++ b/doc/src/fix_sph_stationary.rst @@ -29,7 +29,7 @@ This fix is needed for SPH simulations to correctly time-integrate fixed boundary particles which constrain a fluid to a given region in space. SPH stands for Smoothed Particle Hydrodynamics. -See `this PDF guide `_ to using SPH in +See `this PDF guide `_ to using SPH in LAMMPS. Restart, fix_modify, output, run start/stop, minimize info diff --git a/doc/src/pair_sph_heatconduction.rst b/doc/src/pair_sph_heatconduction.rst index 6568fbe5f0..03e9606750 100644 --- a/doc/src/pair_sph_heatconduction.rst +++ b/doc/src/pair_sph_heatconduction.rst @@ -24,7 +24,7 @@ Description The sph/heatconduction style computes heat transport between SPH particles. The transport model is the diffusion equation for the internal energy. -See `this PDF guide `_ to using SPH in +See `this PDF guide `_ to using SPH in LAMMPS. The following coefficients must be defined for each pair of atoms diff --git a/doc/src/pair_sph_idealgas.rst b/doc/src/pair_sph_idealgas.rst index 84de28fdfd..a62db85133 100644 --- a/doc/src/pair_sph_idealgas.rst +++ b/doc/src/pair_sph_idealgas.rst @@ -33,7 +33,7 @@ the local density, and e is the internal energy per unit mass. This pair style also computes Monaghan's artificial viscosity to prevent particles from interpenetrating :ref:`(Monaghan) `. -See `this PDF guide `_ to using SPH in +See `this PDF guide `_ to using SPH in LAMMPS. The following coefficients must be defined for each pair of atoms diff --git a/doc/src/pair_sph_lj.rst b/doc/src/pair_sph_lj.rst index 3239dca507..ca25dedbbf 100644 --- a/doc/src/pair_sph_lj.rst +++ b/doc/src/pair_sph_lj.rst @@ -28,7 +28,7 @@ epsilon and sigma are set to unity. This pair style also computes Monaghan's artificial viscosity to prevent particles from interpenetrating :ref:`(Monaghan) `. -See `this PDF guide `_ to using SPH in +See `this PDF guide `_ to using SPH in LAMMPS. The following coefficients must be defined for each pair of atoms diff --git a/doc/src/pair_sph_rhosum.rst b/doc/src/pair_sph_rhosum.rst index 4db3b1efa2..42c5c2d222 100644 --- a/doc/src/pair_sph_rhosum.rst +++ b/doc/src/pair_sph_rhosum.rst @@ -26,7 +26,7 @@ Description The sph/rhosum style computes the local particle mass density rho for SPH particles by kernel function interpolation, every Nstep timesteps. -See `this PDF guide `_ to using SPH in +See `this PDF guide `_ to using SPH in LAMMPS. The following coefficients must be defined for each pair of atoms diff --git a/doc/src/pair_sph_taitwater.rst b/doc/src/pair_sph_taitwater.rst index 77739e09fa..88fa65eb90 100644 --- a/doc/src/pair_sph_taitwater.rst +++ b/doc/src/pair_sph_taitwater.rst @@ -35,7 +35,7 @@ speed of sound. This pair style also computes Monaghan's artificial viscosity to prevent particles from interpenetrating :ref:`(Monaghan) `. -See `this PDF guide `_ to using SPH in +See `this PDF guide `_ to using SPH in LAMMPS. The following coefficients must be defined for each pair of atoms diff --git a/doc/src/pair_sph_taitwater_morris.rst b/doc/src/pair_sph_taitwater_morris.rst index f21b8d2b9d..b9c1710a3d 100644 --- a/doc/src/pair_sph_taitwater_morris.rst +++ b/doc/src/pair_sph_taitwater_morris.rst @@ -34,7 +34,7 @@ speed of sound. This pair style also computes laminar viscosity :ref:`(Morris) `. -See `this PDF guide `_ to using SPH in +See `this PDF guide `_ to using SPH in LAMMPS. The following coefficients must be defined for each pair of atoms diff --git a/doc/src/set.rst b/doc/src/set.rst index 28ab2d6d0b..dd136f867e 100644 --- a/doc/src/set.rst +++ b/doc/src/set.rst @@ -441,7 +441,7 @@ command. These keywords do not allow use of an atom-style variable. Keywords *sph/e*\ , *sph/cv*\ , and *sph/rho* set the energy, heat capacity, and density of smoothed particle hydrodynamics (SPH) -particles. See `this PDF guide `_ +particles. See `this PDF guide `_ to using SPH in LAMMPS. Keyword *smd/mass/density* sets the mass of all selected particles, From a61e79ad72c0e00b75fbe453016318ffe290344d Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 3 Jul 2021 17:28:23 -0400 Subject: [PATCH 349/726] avoid integer overflow issues reported by CodeQL --- src/DIELECTRIC/fix_polarize_bem_gmres.cpp | 8 ++-- src/DIELECTRIC/fix_polarize_functional.cpp | 32 +++++++------ src/ML-IAP/mliap_so3.cpp | 54 +++++++++++----------- 3 files changed, 48 insertions(+), 46 deletions(-) diff --git a/src/DIELECTRIC/fix_polarize_bem_gmres.cpp b/src/DIELECTRIC/fix_polarize_bem_gmres.cpp index b25c7ce7b7..5c52299b2a 100644 --- a/src/DIELECTRIC/fix_polarize_bem_gmres.cpp +++ b/src/DIELECTRIC/fix_polarize_bem_gmres.cpp @@ -431,7 +431,7 @@ void FixPolarizeBEMGMRES::gmres_solve(double *x, double *r) // fill up h with zero - memset(h, 0, (mr + 1) * mr * sizeof(double)); + memset(h, 0, (size_t)(mr + 1) * mr * sizeof(double)); // the inner loop k = 1..(n-1) // build up the k-th Krylov space, @@ -756,11 +756,11 @@ double FixPolarizeBEMGMRES::memory_usage() bytes += atom->nmax * sizeof(double); // q_backup bytes += mr * sizeof(double); // c bytes += (mr + 1) * sizeof(double); // g - bytes += (mr + 1) * mr * sizeof(double); // h + bytes += (double) (mr + 1) * mr * sizeof(double); // h bytes += mat_dim * sizeof(double); // r - bytes += mr * (mr + 1) * sizeof(double); // s + bytes += (double) mr * (mr + 1) * sizeof(double); // s bytes += mat_dim * sizeof(double); // v - bytes += (mr + 1) * mr * sizeof(double); // y + bytes += (double) (mr + 1) * mr * sizeof(double); // y return bytes; } diff --git a/src/DIELECTRIC/fix_polarize_functional.cpp b/src/DIELECTRIC/fix_polarize_functional.cpp index 4ca2de43d0..029b1914d8 100644 --- a/src/DIELECTRIC/fix_polarize_functional.cpp +++ b/src/DIELECTRIC/fix_polarize_functional.cpp @@ -37,6 +37,7 @@ #include "kspace.h" #include "math_const.h" #include "math_extra.h" +#include "math_special.h" #include "memory.h" #include "modify.h" #include "msm_dielectric.h" @@ -60,6 +61,7 @@ using namespace LAMMPS_NS; using namespace FixConst; using namespace MathExtra; using namespace MathConst; +using namespace MathSpecial; enum { REAL2SCALED = 0, SCALED2REAL = 1 }; @@ -589,21 +591,21 @@ void FixPolarizeFunctional::set_arrays(int i) double FixPolarizeFunctional::memory_usage() { double bytes = 0; - bytes += num_induced_charges * num_induced_charges * sizeof(double); // inverse_matrix - bytes += num_induced_charges * num_induced_charges * sizeof(double); // Rww - bytes += num_induced_charges * num_induced_charges * sizeof(double); // G1ww - bytes += num_induced_charges * num_induced_charges * sizeof(double); // ndotGww - bytes += num_induced_charges * num_induced_charges * sizeof(double); // G2ww - bytes += num_induced_charges * num_induced_charges * sizeof(double); // G3ww - bytes += num_induced_charges * sizeof(double); // qiRqwVector - bytes += num_induced_charges * sizeof(double); // sum2G2wq - bytes += num_induced_charges * sizeof(double); // sum1G2qw - bytes += num_induced_charges * sizeof(double); // sum1G1qw_epsilon - bytes += num_induced_charges * sizeof(double); // sum2ndotGwq_epsilon - bytes += num_ions * num_induced_charges * sizeof(double); // G1qw_real - bytes += nmax * sizeof(int); // induced_charge_idx - bytes += nmax * sizeof(int); // ion_idx - bytes += num_induced_charges * sizeof(double); // induced_charges + bytes += square(num_induced_charges) * sizeof(double); // inverse_matrix + bytes += square(num_induced_charges) * sizeof(double); // Rww + bytes += square(num_induced_charges) * sizeof(double); // G1ww + bytes += square(num_induced_charges) * sizeof(double); // ndotGww + bytes += square(num_induced_charges) * sizeof(double); // G2ww + bytes += square(num_induced_charges) * sizeof(double); // G3ww + bytes += num_induced_charges * sizeof(double); // qiRqwVector + bytes += num_induced_charges * sizeof(double); // sum2G2wq + bytes += num_induced_charges * sizeof(double); // sum1G2qw + bytes += num_induced_charges * sizeof(double); // sum1G1qw_epsilon + bytes += num_induced_charges * sizeof(double); // sum2ndotGwq_epsilon + bytes += (double)num_ions * num_induced_charges * sizeof(double); // G1qw_real + bytes += nmax * sizeof(int); // induced_charge_idx + bytes += nmax * sizeof(int); // ion_idx + bytes += num_induced_charges * sizeof(double); // induced_charges return bytes; } diff --git a/src/ML-IAP/mliap_so3.cpp b/src/ML-IAP/mliap_so3.cpp index d514b0bc70..925faa6324 100644 --- a/src/ML-IAP/mliap_so3.cpp +++ b/src/ML-IAP/mliap_so3.cpp @@ -705,7 +705,7 @@ void MLIAP_SO3::get_sbes_array(int nlocal, int *numneighs, double **rij, int lma bigint ipair = 0; bigint gindex; int findex = m_Nmax * (m_lmax + 1); - int mindex = m_lmax + 1; + const bigint mindex = m_lmax + 1; for (int ii = 0; ii < nlocal; ii++) { @@ -721,10 +721,10 @@ void MLIAP_SO3::get_sbes_array(int nlocal, int *numneighs, double **rij, int lma if (ri < SMALL) continue; pfac2 = pfac1 * ri; - gindex = (ipair - 1) * findex; for (i = 1; i < m_Nmax + 1; i++) { + const bigint i1mindex = (bigint) (i - 1) * mindex; x = cos((2 * i - 1) * pfac3); xi = pfac4 * (x + 1); @@ -733,28 +733,27 @@ void MLIAP_SO3::get_sbes_array(int nlocal, int *numneighs, double **rij, int lma sa = sinh(rb) / rb; sb = (cosh(rb) - sa) / rb; - m_sbes_array[gindex + (i - 1) * mindex + 0] = sa; - m_sbes_array[gindex + (i - 1) * mindex + 1] = sb; + m_sbes_array[gindex + i1mindex + 0] = sa; + m_sbes_array[gindex + i1mindex + 1] = sb; for (j = 2; j < lmax + 1; j++) - m_sbes_array[gindex + (i - 1) * mindex + j] = - m_sbes_array[gindex + (i - 1) * mindex + j - 2] - - (2 * j - 1) / rb * m_sbes_array[gindex + (i - 1) * mindex + j - 1]; + m_sbes_array[gindex + i1mindex + j] = m_sbes_array[gindex + i1mindex + j - 2] - + (2 * j - 1) / rb * m_sbes_array[gindex + i1mindex + j - 1]; exts = m_sbes_array[gindex + (i - 1) * mindex + j - 2] - - (2 * j - 1) / rb * m_sbes_array[gindex + (i - 1) * mindex + j - 1]; + (2 * j - 1) / rb * m_sbes_array[gindex + i1mindex + j - 1]; - m_sbes_darray[gindex + (i - 1) * mindex + 0] = sb; + m_sbes_darray[gindex + i1mindex + 0] = sb; for (j = 1; j < lmax; j++) - m_sbes_darray[gindex + (i - 1) * mindex + j] = xi * - (j * m_sbes_array[gindex + (i - 1) * mindex + j - 1] + - (j + 1) * m_sbes_array[gindex + (i - 1) * mindex + j + 1]) / + m_sbes_darray[gindex + i1mindex + j] = xi * + (j * m_sbes_array[gindex + i1mindex + j - 1] + + (j + 1) * m_sbes_array[gindex + i1mindex + j + 1]) / (2 * j + 1); - m_sbes_darray[gindex + (i - 1) * mindex + j] = xi * - (j * m_sbes_array[gindex + (i - 1) * mindex + j - 1] + (j + 1) * exts) / (2 * j + 1); - m_sbes_darray[gindex + (i - 1) * mindex + 0] = xi * sb; + m_sbes_darray[gindex + (i - 1) * mindex + j] = + xi * (j * m_sbes_array[gindex + i1mindex + j - 1] + (j + 1) * exts) / (2 * j + 1); + m_sbes_darray[gindex + i1mindex + 0] = xi * sb; } } } @@ -797,14 +796,14 @@ void MLIAP_SO3::get_rip_array(int nlocal, int *numneighs, double **rij, int nmax integrald = 0.0; for (i = 0; i < m_Nmax; i++) { integral += m_g_array[(n - 1) * m_Nmax + i] * - m_sbes_array[(ipair - 1) * m_Nmax * (m_lmax + 1) + i * (m_lmax + 1) + l]; + m_sbes_array[(ipair - 1) * m_Nmax * (m_lmax + 1) + (bigint) i * (m_lmax + 1) + l]; integrald += m_g_array[(n - 1) * m_Nmax + i] * - m_sbes_darray[(ipair - 1) * m_Nmax * (m_lmax + 1) + i * (m_lmax + 1) + l]; + m_sbes_darray[(ipair - 1) * m_Nmax * (m_lmax + 1) + (bigint) i * (m_lmax + 1) + l]; } - m_rip_array[(ipair - 1) * m_nmax * (m_lmax + 1) + (n - 1) * (m_lmax + 1) + l] = + m_rip_array[(ipair - 1) * m_nmax * (m_lmax + 1) + (bigint) (n - 1) * (m_lmax + 1) + l] = integral * expfac; - m_rip_darray[(ipair - 1) * m_nmax * (m_lmax + 1) + (n - 1) * (m_lmax + 1) + l] = + m_rip_darray[(ipair - 1) * m_nmax * (m_lmax + 1) + (bigint) (n - 1) * (m_lmax + 1) + l] = integrald * expfac; } } @@ -904,7 +903,7 @@ void MLIAP_SO3::spectrum(int nlocal, int *numneighs, int *jelems, double *wjelem for (int n = 1; n < nmax + 1; n++) { int i = 0; for (int l = 0; l < lmax + 1; l++) { - r_int = m_rip_array[gindex + (n - 1) * (m_lmax + 1) + l]; + r_int = m_rip_array[gindex + (bigint) (n - 1) * (m_lmax + 1) + l]; for (int m = -l; m < l + 1; m++) { @@ -1005,7 +1004,7 @@ void MLIAP_SO3::spectrum_dxdr(int nlocal, int *numneighs, int *jelems, double *w for (int ii = 0; ii < nlocal; ii++) { - totali = nmax * m_numYlms; + totali = (bigint) nmax * m_numYlms; for (bigint ti = 0; ti < totali; ti++) { m_clisttot_r[ti] = 0.0; m_clisttot_i[ti] = 0.0; @@ -1024,7 +1023,7 @@ void MLIAP_SO3::spectrum_dxdr(int nlocal, int *numneighs, int *jelems, double *w r = sqrt(x * x + y * y + z * z); if (r < SMALL) continue; - totali = nmax * m_numYlms; + totali = (bigint) nmax * m_numYlms; for (bigint ti = 0; ti < totali; ti++) { m_clist_r[ti] = 0.0; @@ -1044,7 +1043,7 @@ void MLIAP_SO3::spectrum_dxdr(int nlocal, int *numneighs, int *jelems, double *w for (int n = 1; n < nmax + 1; n++) { int i = 0; for (int l = 0; l < lmax + 1; l++) { - r_int = m_rip_array[gindex + (n - 1) * (m_lmax + 1) + l]; + r_int = m_rip_array[gindex + (bigint) (n - 1) * (m_lmax + 1) + l]; for (int m = -l; m < l + 1; m++) { @@ -1057,7 +1056,7 @@ void MLIAP_SO3::spectrum_dxdr(int nlocal, int *numneighs, int *jelems, double *w } } - totali = nmax * m_numYlms; + totali = (bigint) nmax * m_numYlms; for (bigint tn = 0; tn < totali; tn++) { m_clist_r[tn] = m_clist_r[tn] * double(weight); m_clist_i[tn] = m_clist_i[tn] * double(weight); @@ -1174,9 +1173,10 @@ void MLIAP_SO3::spectrum_dxdr(int nlocal, int *numneighs, int *jelems, double *w for (int n = 1; n < nmax + 1; n++) { int i = 0; for (int l = 0; l < lmax + 1; l++) { - r_int = m_rip_array[(idpair - 1) * m_nmax * (m_lmax + 1) + (n - 1) * (m_lmax + 1) + l]; - r_int_temp = - m_rip_darray[(idpair - 1) * m_nmax * (m_lmax + 1) + (n - 1) * (m_lmax + 1) + l]; + r_int = m_rip_array[(idpair - 1) * m_nmax * (m_lmax + 1) + + (bigint) (n - 1) * (m_lmax + 1) + l]; + r_int_temp = m_rip_darray[(idpair - 1) * m_nmax * (m_lmax + 1) + + (bigint) (n - 1) * (m_lmax + 1) + l]; for (int ii = 0; ii < 3; ii++) dr_int[ii] = r_int_temp * 2.0 * alpha * rvec[ii] / r; From 455b7b93929040e977ecf35ee39d7350e25b7a66 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 4 Jul 2021 18:23:03 -0400 Subject: [PATCH 350/726] remove single precision floating point math and reformat --- src/OPENMP/angle_fourier_simple_omp.cpp | 99 +++++++------- src/USER-MISC/angle_fourier_simple.cpp | 129 +++++++++--------- .../tests/angle-fourier_simple.yaml | 8 +- 3 files changed, 121 insertions(+), 115 deletions(-) diff --git a/src/OPENMP/angle_fourier_simple_omp.cpp b/src/OPENMP/angle_fourier_simple_omp.cpp index b6318f306b..670f8cfc83 100644 --- a/src/OPENMP/angle_fourier_simple_omp.cpp +++ b/src/OPENMP/angle_fourier_simple_omp.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -16,24 +15,25 @@ Contributing author: Axel Kohlmeyer (Temple U) ------------------------------------------------------------------------- */ -#include "omp_compat.h" #include "angle_fourier_simple_omp.h" -#include + #include "atom.h" #include "comm.h" #include "force.h" #include "neighbor.h" +#include +#include "omp_compat.h" #include "suffix.h" using namespace LAMMPS_NS; -#define SMALL 0.001 +#define SMALL 0.0001 /* ---------------------------------------------------------------------- */ -AngleFourierSimpleOMP::AngleFourierSimpleOMP(class LAMMPS *lmp) - : AngleFourierSimple(lmp), ThrOMP(lmp,THR_ANGLE) +AngleFourierSimpleOMP::AngleFourierSimpleOMP(class LAMMPS *lmp) : + AngleFourierSimple(lmp), ThrOMP(lmp, THR_ANGLE) { suffix_flag |= Suffix::OMP; } @@ -42,14 +42,14 @@ AngleFourierSimpleOMP::AngleFourierSimpleOMP(class LAMMPS *lmp) void AngleFourierSimpleOMP::compute(int eflag, int vflag) { - ev_init(eflag,vflag); + ev_init(eflag, vflag); const int nall = atom->nlocal + atom->nghost; const int nthreads = comm->nthreads; const int inum = neighbor->nanglelist; #if defined(_OPENMP) -#pragma omp parallel LMP_DEFAULT_NONE LMP_SHARED(eflag,vflag) +#pragma omp parallel LMP_DEFAULT_NONE LMP_SHARED(eflag, vflag) #endif { int ifrom, ito, tid; @@ -62,34 +62,40 @@ void AngleFourierSimpleOMP::compute(int eflag, int vflag) if (inum > 0) { if (evflag) { if (eflag) { - if (force->newton_bond) eval<1,1,1>(ifrom, ito, thr); - else eval<1,1,0>(ifrom, ito, thr); + if (force->newton_bond) + eval<1, 1, 1>(ifrom, ito, thr); + else + eval<1, 1, 0>(ifrom, ito, thr); } else { - if (force->newton_bond) eval<1,0,1>(ifrom, ito, thr); - else eval<1,0,0>(ifrom, ito, thr); + if (force->newton_bond) + eval<1, 0, 1>(ifrom, ito, thr); + else + eval<1, 0, 0>(ifrom, ito, thr); } } else { - if (force->newton_bond) eval<0,0,1>(ifrom, ito, thr); - else eval<0,0,0>(ifrom, ito, thr); + if (force->newton_bond) + eval<0, 0, 1>(ifrom, ito, thr); + else + eval<0, 0, 0>(ifrom, ito, thr); } } thr->timer(Timer::BOND); reduce_thr(this, eflag, vflag, thr); - } // end of omp parallel region + } // end of omp parallel region } template -void AngleFourierSimpleOMP::eval(int nfrom, int nto, ThrData * const thr) +void AngleFourierSimpleOMP::eval(int nfrom, int nto, ThrData *const thr) { - int i1,i2,i3,n,type; - double delx1,dely1,delz1,delx2,dely2,delz2; - double eangle,f1[3],f3[3]; - double term,sgn; - double rsq1,rsq2,r1,r2,c,cn,th,nth,a,a11,a12,a22; + int i1, i2, i3, n, type; + double delx1, dely1, delz1, delx2, dely2, delz2; + double eangle, f1[3], f3[3]; + double term, sgn; + double rsq1, rsq2, r1, r2, c, cn, th, nth, a, a11, a12, a22; - const dbl3_t * _noalias const x = (dbl3_t *) atom->x[0]; - dbl3_t * _noalias const f = (dbl3_t *) thr->get_f()[0]; - const int4_t * _noalias const anglelist = (int4_t *) neighbor->anglelist[0]; + const dbl3_t *_noalias const x = (dbl3_t *) atom->x[0]; + dbl3_t *_noalias const f = (dbl3_t *) thr->get_f()[0]; + const int4_t *_noalias const anglelist = (int4_t *) neighbor->anglelist[0]; const int nlocal = atom->nlocal; eangle = 0.0; @@ -105,7 +111,7 @@ void AngleFourierSimpleOMP::eval(int nfrom, int nto, ThrData * const thr) dely1 = x[i1].y - x[i2].y; delz1 = x[i1].z - x[i2].z; - rsq1 = delx1*delx1 + dely1*dely1 + delz1*delz1; + rsq1 = delx1 * delx1 + dely1 * dely1 + delz1 * delz1; r1 = sqrt(rsq1); // 2nd bond @@ -114,13 +120,13 @@ void AngleFourierSimpleOMP::eval(int nfrom, int nto, ThrData * const thr) dely2 = x[i3].y - x[i2].y; delz2 = x[i3].z - x[i2].z; - rsq2 = delx2*delx2 + dely2*dely2 + delz2*delz2; + rsq2 = delx2 * delx2 + dely2 * dely2 + delz2 * delz2; r2 = sqrt(rsq2); // angle (cos and sin) - c = delx1*delx2 + dely1*dely2 + delz1*delz2; - c /= r1*r2; + c = delx1 * delx2 + dely1 * dely2 + delz1 * delz2; + c /= r1 * r2; if (c > 1.0) c = 1.0; if (c < -1.0) c = -1.0; @@ -128,38 +134,38 @@ void AngleFourierSimpleOMP::eval(int nfrom, int nto, ThrData * const thr) // force & energy th = acos(c); - nth = N[type]*acos(c); + nth = N[type] * acos(c); cn = cos(nth); - term = k[type]*(1.0+C[type]*cn); + term = k[type] * (1.0 + C[type] * cn); if (EFLAG) eangle = term; // handle sin(n th)/sin(th) singulatiries - if (fabs(c)-1.0 > 0.0001) { - a = k[type]*C[type]*N[type]*sin(nth)/sin(th); + if (fabs(c) - 1.0 > SMALL) { + a = k[type] * C[type] * N[type] * sin(nth) / sin(th); } else { if (c >= 0.0) { term = 1.0 - c; sgn = 1.0; } else { term = 1.0 + c; - sgn = ( fmodf((float)(N[type]),2.0) == 0.0f )?-1.0:1.0; + sgn = (fmod(N[type], 2.0) == 0.0) ? -1.0 : 1.0; } - a = N[type]+N[type]*(1.0-N[type]*N[type])*term/3.0; - a = k[type]*C[type]*N[type]*(double)(sgn)*a; + a = N[type] + N[type] * (1.0 - N[type] * N[type]) * term / 3.0; + a = k[type] * C[type] * N[type] * sgn * a; } - a11 = a*c / rsq1; - a12 = -a / (r1*r2); - a22 = a*c / rsq2; + a11 = a * c / rsq1; + a12 = -a / (r1 * r2); + a22 = a * c / rsq2; - f1[0] = a11*delx1 + a12*delx2; - f1[1] = a11*dely1 + a12*dely2; - f1[2] = a11*delz1 + a12*delz2; - f3[0] = a22*delx2 + a12*delx1; - f3[1] = a22*dely2 + a12*dely1; - f3[2] = a22*delz2 + a12*delz1; + f1[0] = a11 * delx1 + a12 * delx2; + f1[1] = a11 * dely1 + a12 * dely2; + f1[2] = a11 * delz1 + a12 * delz2; + f3[0] = a22 * delx2 + a12 * delx1; + f3[1] = a22 * dely2 + a12 * dely1; + f3[2] = a22 * delz2 + a12 * delz1; // apply force to each of 3 atoms @@ -181,7 +187,8 @@ void AngleFourierSimpleOMP::eval(int nfrom, int nto, ThrData * const thr) f[i3].z += f3[2]; } - if (EVFLAG) ev_tally_thr(this,i1,i2,i3,nlocal,NEWTON_BOND,eangle,f1,f3, - delx1,dely1,delz1,delx2,dely2,delz2,thr); + if (EVFLAG) + ev_tally_thr(this, i1, i2, i3, nlocal, NEWTON_BOND, eangle, f1, f3, delx1, dely1, delz1, + delx2, dely2, delz2, thr); } } diff --git a/src/USER-MISC/angle_fourier_simple.cpp b/src/USER-MISC/angle_fourier_simple.cpp index d69da70a57..4f76c68281 100644 --- a/src/USER-MISC/angle_fourier_simple.cpp +++ b/src/USER-MISC/angle_fourier_simple.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -19,21 +18,21 @@ #include "angle_fourier_simple.h" -#include #include "atom.h" -#include "neighbor.h" -#include "domain.h" #include "comm.h" +#include "domain.h" +#include "error.h" #include "force.h" #include "math_const.h" #include "memory.h" -#include "error.h" +#include "neighbor.h" +#include using namespace LAMMPS_NS; using namespace MathConst; -#define SMALL 0.001 +#define SMALL 0.0001 /* ---------------------------------------------------------------------- */ @@ -60,14 +59,14 @@ AngleFourierSimple::~AngleFourierSimple() void AngleFourierSimple::compute(int eflag, int vflag) { - int i1,i2,i3,n,type; - double delx1,dely1,delz1,delx2,dely2,delz2; - double eangle,f1[3],f3[3]; - double term,sgn; - double rsq1,rsq2,r1,r2,c,cn,th,nth,a,a11,a12,a22; + int i1, i2, i3, n, type; + double delx1, dely1, delz1, delx2, dely2, delz2; + double eangle, f1[3], f3[3]; + double term, sgn; + double rsq1, rsq2, r1, r2, c, cn, th, nth, a, a11, a12, a22; eangle = 0.0; - ev_init(eflag,vflag); + ev_init(eflag, vflag); double **x = atom->x; double **f = atom->f; @@ -88,7 +87,7 @@ void AngleFourierSimple::compute(int eflag, int vflag) dely1 = x[i1][1] - x[i2][1]; delz1 = x[i1][2] - x[i2][2]; - rsq1 = delx1*delx1 + dely1*dely1 + delz1*delz1; + rsq1 = delx1 * delx1 + dely1 * dely1 + delz1 * delz1; r1 = sqrt(rsq1); // 2nd bond @@ -97,13 +96,13 @@ void AngleFourierSimple::compute(int eflag, int vflag) dely2 = x[i3][1] - x[i2][1]; delz2 = x[i3][2] - x[i2][2]; - rsq2 = delx2*delx2 + dely2*dely2 + delz2*delz2; + rsq2 = delx2 * delx2 + dely2 * dely2 + delz2 * delz2; r2 = sqrt(rsq2); // angle (cos and sin) - c = delx1*delx2 + dely1*dely2 + delz1*delz2; - c /= r1*r2; + c = delx1 * delx2 + dely1 * dely2 + delz1 * delz2; + c /= r1 * r2; if (c > 1.0) c = 1.0; if (c < -1.0) c = -1.0; @@ -111,38 +110,38 @@ void AngleFourierSimple::compute(int eflag, int vflag) // force & energy th = acos(c); - nth = N[type]*acos(c); + nth = N[type] * acos(c); cn = cos(nth); - term = k[type]*(1.0+C[type]*cn); + term = k[type] * (1.0 + C[type] * cn); if (eflag) eangle = term; // handle sin(n th)/sin(th) singulatiries - if (fabs(c)-1.0 > 0.0001) { - a = k[type]*C[type]*N[type]*sin(nth)/sin(th); + if (fabs(c) - 1.0 > SMALL) { + a = k[type] * C[type] * N[type] * sin(nth) / sin(th); } else { if (c >= 0.0) { term = 1.0 - c; sgn = 1.0; } else { term = 1.0 + c; - sgn = ( fmodf((float)(N[type]),2.0) == 0.0f )?-1.0:1.0; + sgn = (fmod(N[type], 2.0) == 0.0) ? -1.0 : 1.0; } - a = N[type]+N[type]*(1.0-N[type]*N[type])*term/3.0; - a = k[type]*C[type]*N[type]*(double)(sgn)*a; + a = N[type] + N[type] * (1.0 - N[type] * N[type]) * term / 3.0; + a = k[type] * C[type] * N[type] * sgn * a; } - a11 = a*c / rsq1; - a12 = -a / (r1*r2); - a22 = a*c / rsq2; + a11 = a * c / rsq1; + a12 = -a / (r1 * r2); + a22 = a * c / rsq2; - f1[0] = a11*delx1 + a12*delx2; - f1[1] = a11*dely1 + a12*dely2; - f1[2] = a11*delz1 + a12*delz2; - f3[0] = a22*delx2 + a12*delx1; - f3[1] = a22*dely2 + a12*dely1; - f3[2] = a22*delz2 + a12*delz1; + f1[0] = a11 * delx1 + a12 * delx2; + f1[1] = a11 * dely1 + a12 * dely2; + f1[2] = a11 * delz1 + a12 * delz2; + f3[0] = a22 * delx2 + a12 * delx1; + f3[1] = a22 * dely2 + a12 * dely1; + f3[2] = a22 * delz2 + a12 * delz1; // apply force to each of 3 atoms @@ -164,8 +163,9 @@ void AngleFourierSimple::compute(int eflag, int vflag) f[i3][2] += f3[2]; } - if (evflag) ev_tally(i1,i2,i3,nlocal,newton_bond,eangle,f1,f3, - delx1,dely1,delz1,delx2,dely2,delz2); + if (evflag) + ev_tally(i1, i2, i3, nlocal, newton_bond, eangle, f1, f3, delx1, dely1, delz1, delx2, dely2, + delz2); } } @@ -176,11 +176,11 @@ void AngleFourierSimple::allocate() allocated = 1; int n = atom->nangletypes; - memory->create(k,n+1,"angle:k"); - memory->create(C,n+1,"angle:C"); - memory->create(N,n+1,"angle:N"); + memory->create(k, n + 1, "angle:k"); + memory->create(C, n + 1, "angle:C"); + memory->create(N, n + 1, "angle:N"); - memory->create(setflag,n+1,"angle:setflag"); + memory->create(setflag, n + 1, "angle:setflag"); for (int i = 1; i <= n; i++) setflag[i] = 0; } @@ -190,15 +190,15 @@ void AngleFourierSimple::allocate() void AngleFourierSimple::coeff(int narg, char **arg) { - if (narg != 4) error->all(FLERR,"Incorrect args for angle coefficients"); + if (narg != 4) error->all(FLERR, "Incorrect args for angle coefficients"); if (!allocated) allocate(); - int ilo,ihi; - utils::bounds(FLERR,arg[0],1,atom->nangletypes,ilo,ihi,error); + int ilo, ihi; + utils::bounds(FLERR, arg[0], 1, atom->nangletypes, ilo, ihi, error); - double k_one = utils::numeric(FLERR,arg[1],false,lmp); - double C_one = utils::numeric(FLERR,arg[2],false,lmp); - double N_one = utils::numeric(FLERR,arg[3],false,lmp); + double k_one = utils::numeric(FLERR, arg[1], false, lmp); + double C_one = utils::numeric(FLERR, arg[2], false, lmp); + double N_one = utils::numeric(FLERR, arg[3], false, lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { @@ -209,14 +209,14 @@ void AngleFourierSimple::coeff(int narg, char **arg) count++; } - if (count == 0) error->all(FLERR,"Incorrect args for angle coefficients"); + if (count == 0) error->all(FLERR, "Incorrect args for angle coefficients"); } /* ---------------------------------------------------------------------- */ double AngleFourierSimple::equilibrium_angle(int i) { - return (MY_PI/N[i]); + return (MY_PI / N[i]); } /* ---------------------------------------------------------------------- @@ -225,9 +225,9 @@ double AngleFourierSimple::equilibrium_angle(int i) void AngleFourierSimple::write_restart(FILE *fp) { - fwrite(&k[1],sizeof(double),atom->nangletypes,fp); - fwrite(&C[1],sizeof(double),atom->nangletypes,fp); - fwrite(&N[1],sizeof(double),atom->nangletypes,fp); + fwrite(&k[1], sizeof(double), atom->nangletypes, fp); + fwrite(&C[1], sizeof(double), atom->nangletypes, fp); + fwrite(&N[1], sizeof(double), atom->nangletypes, fp); } /* ---------------------------------------------------------------------- @@ -239,13 +239,13 @@ void AngleFourierSimple::read_restart(FILE *fp) allocate(); if (comm->me == 0) { - utils::sfread(FLERR,&k[1],sizeof(double),atom->nangletypes,fp,nullptr,error); - utils::sfread(FLERR,&C[1],sizeof(double),atom->nangletypes,fp,nullptr,error); - utils::sfread(FLERR,&N[1],sizeof(double),atom->nangletypes,fp,nullptr,error); + utils::sfread(FLERR, &k[1], sizeof(double), atom->nangletypes, fp, nullptr, error); + utils::sfread(FLERR, &C[1], sizeof(double), atom->nangletypes, fp, nullptr, error); + utils::sfread(FLERR, &N[1], sizeof(double), atom->nangletypes, fp, nullptr, error); } - MPI_Bcast(&k[1],atom->nangletypes,MPI_DOUBLE,0,world); - MPI_Bcast(&C[1],atom->nangletypes,MPI_DOUBLE,0,world); - MPI_Bcast(&N[1],atom->nangletypes,MPI_DOUBLE,0,world); + MPI_Bcast(&k[1], atom->nangletypes, MPI_DOUBLE, 0, world); + MPI_Bcast(&C[1], atom->nangletypes, MPI_DOUBLE, 0, world); + MPI_Bcast(&N[1], atom->nangletypes, MPI_DOUBLE, 0, world); for (int i = 1; i <= atom->nangletypes; i++) setflag[i] = 1; } @@ -256,8 +256,7 @@ void AngleFourierSimple::read_restart(FILE *fp) void AngleFourierSimple::write_data(FILE *fp) { - for (int i = 1; i <= atom->nangletypes; i++) - fprintf(fp,"%d %g %g %g\n",i,k[i],C[i],N[i]); + for (int i = 1; i <= atom->nangletypes; i++) fprintf(fp, "%d %g %g %g\n", i, k[i], C[i], N[i]); } /* ---------------------------------------------------------------------- */ @@ -269,21 +268,21 @@ double AngleFourierSimple::single(int type, int i1, int i2, int i3) double delx1 = x[i1][0] - x[i2][0]; double dely1 = x[i1][1] - x[i2][1]; double delz1 = x[i1][2] - x[i2][2]; - domain->minimum_image(delx1,dely1,delz1); - double r1 = sqrt(delx1*delx1 + dely1*dely1 + delz1*delz1); + domain->minimum_image(delx1, dely1, delz1); + double r1 = sqrt(delx1 * delx1 + dely1 * dely1 + delz1 * delz1); double delx2 = x[i3][0] - x[i2][0]; double dely2 = x[i3][1] - x[i2][1]; double delz2 = x[i3][2] - x[i2][2]; - domain->minimum_image(delx2,dely2,delz2); - double r2 = sqrt(delx2*delx2 + dely2*dely2 + delz2*delz2); + domain->minimum_image(delx2, dely2, delz2); + double r2 = sqrt(delx2 * delx2 + dely2 * dely2 + delz2 * delz2); - double c = delx1*delx2 + dely1*dely2 + delz1*delz2; - c /= r1*r2; + double c = delx1 * delx2 + dely1 * dely2 + delz1 * delz2; + c /= r1 * r2; if (c > 1.0) c = 1.0; if (c < -1.0) c = -1.0; - double cn = cos(N[type]*acos(c)); + double cn = cos(N[type] * acos(c)); - double eng = k[type]*(1.0+C[type]*cn); + double eng = k[type] * (1.0 + C[type] * cn); return eng; } diff --git a/unittest/force-styles/tests/angle-fourier_simple.yaml b/unittest/force-styles/tests/angle-fourier_simple.yaml index ee318b013f..8fcecf85ad 100644 --- a/unittest/force-styles/tests/angle-fourier_simple.yaml +++ b/unittest/force-styles/tests/angle-fourier_simple.yaml @@ -1,6 +1,6 @@ --- -lammps_version: 10 Feb 2021 -date_generated: Fri Feb 26 23:09:24 2021 +lammps_version: 2 Jul 2021 +date_generated: Sun Jul 4 18:23:42 2021 epsilon: 2.5e-13 prerequisites: ! | atom full @@ -17,7 +17,7 @@ angle_coeff: ! | equilibrium: 4 3.141592653589793 1.5707963267948966 1.0471975511965976 2.0943951023931953 extract: ! "" natoms: 29 -init_energy: 2474.07480135906 +init_energy: 2474.0748013590646 init_stress: ! |- -7.0442354264952769e+00 2.2461003781604686e+02 -2.1756580238955158e+02 -3.3320762800031582e+02 -2.8001007053395438e+02 3.7586975072452852e+01 init_forces: ! |2 @@ -50,7 +50,7 @@ init_forces: ! |2 27 1.3169752428031160e+01 -1.0811335053602835e+02 3.6826995619636030e+01 28 2.8796447607995553e+01 6.4642561032416026e+01 -1.5016412228095177e+00 29 -4.1966200036026713e+01 4.3470789503612323e+01 -3.5325354396826512e+01 -run_energy: 2473.12574569709 +run_energy: 2473.1257456970907 run_stress: ! |- -4.9754396810415287e+00 2.2858091244313221e+02 -2.2360547276209070e+02 -3.3609442061303969e+02 -2.8303432598637687e+02 3.9880332185018744e+01 run_forces: ! |2 From f84ab6f26b3c288c4e2137837cfcb44e80b0964d Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 4 Jul 2021 19:21:09 -0400 Subject: [PATCH 351/726] clarify fix nve impact --- doc/src/fix_nve.rst | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/doc/src/fix_nve.rst b/doc/src/fix_nve.rst index ae472b1a38..da2184c99f 100644 --- a/doc/src/fix_nve.rst +++ b/doc/src/fix_nve.rst @@ -29,10 +29,11 @@ Examples Description """"""""""" -Perform constant NVE integration to update position and velocity for -atoms in the group each timestep. V is volume; E is energy. This -creates a system trajectory consistent with the microcanonical -ensemble. +Perform plain time integration to update position and velocity for +atoms in the group each timestep. This creates a system trajectory +consistent with the microcanonical ensemble (NVE) provided there +are (full) periodic boundary conditions and no other "manipulations" +of the system (e.g. fixes that modify forces or velocities). ---------- From 4b81802ae848f85530a8538e3dc5c03d2d71c59b Mon Sep 17 00:00:00 2001 From: Oliver Henrich Date: Mon, 5 Jul 2021 16:07:40 +0100 Subject: [PATCH 352/726] Created new feature branch for PR as per request --- doc/src/PDF/CG-DNA.pdf | Bin 4230823 -> 4240268 bytes doc/src/atom_style.rst | 28 +- doc/src/bond_oxdna.rst | 19 +- doc/src/pair_oxdna.rst | 18 +- doc/src/pair_oxdna2.rst | 18 +- doc/src/pair_oxrna2.rst | 18 +- doc/utils/sphinx-config/false_positives.txt | 13 +- examples/PACKAGES/cgdna/README | 2 +- .../cgdna/examples/oxDNA/duplex1/data.duplex1 | 103 +- .../cgdna/examples/oxDNA/duplex1/in.duplex1 | 33 +- .../oxDNA/duplex1/log.27May21.duplex1.g++.1 | 1171 +++++++++++++++ .../oxDNA/duplex1/log.27May21.duplex1.g++.4 | 1171 +++++++++++++++ .../oxDNA/duplex1/log.30Jun20.duplex1.g++.1 | 1175 --------------- .../oxDNA/duplex1/log.30Jun20.duplex1.g++.4 | 1175 --------------- .../cgdna/examples/oxDNA/duplex2/data.duplex2 | 149 +- .../cgdna/examples/oxDNA/duplex2/in.duplex2 | 33 +- .../oxDNA/duplex2/log.27May21.duplex2.g++.1 | 1173 +++++++++++++++ .../oxDNA/duplex2/log.27May21.duplex2.g++.4 | 1173 +++++++++++++++ .../oxDNA/duplex2/log.30Jun20.duplex2.g++.1 | 1176 --------------- .../oxDNA/duplex2/log.30Jun20.duplex2.g++.4 | 1176 --------------- .../examples/oxDNA2/duplex1/data.duplex1 | 103 +- .../cgdna/examples/oxDNA2/duplex1/in.duplex1 | 36 +- .../oxDNA2/duplex1/log.27May21.duplex1.g++.1 | 1181 +++++++++++++++ .../oxDNA2/duplex1/log.27May21.duplex1.g++.4 | 1181 +++++++++++++++ .../oxDNA2/duplex1/log.30Jun20.duplex1.g++.1 | 1182 --------------- .../oxDNA2/duplex1/log.30Jun20.duplex1.g++.4 | 1182 --------------- .../examples/oxDNA2/duplex2/data.duplex2 | 149 +- .../cgdna/examples/oxDNA2/duplex2/in.duplex2 | 36 +- .../oxDNA2/duplex2/log.27May21.duplex2.g++.1 | 1183 +++++++++++++++ .../oxDNA2/duplex2/log.27May21.duplex2.g++.4 | 1183 +++++++++++++++ .../oxDNA2/duplex2/log.30Jun20.duplex2.g++.1 | 1184 --------------- .../oxDNA2/duplex2/log.30Jun20.duplex2.g++.4 | 1184 --------------- .../examples/oxDNA2/duplex3/data.duplex3 | 111 +- .../cgdna/examples/oxDNA2/duplex3/in.duplex3 | 36 +- .../oxDNA2/duplex3/log.27May21.duplex3.g++.1 | 1181 +++++++++++++++ .../oxDNA2/duplex3/log.27May21.duplex3.g++.4 | 1181 +++++++++++++++ .../oxDNA2/duplex3/log.30Jun20.duplex3.g++.1 | 1182 --------------- .../oxDNA2/duplex3/log.30Jun20.duplex3.g++.4 | 1182 --------------- .../oxDNA2/unique_bp/data.duplex4.4type | 238 +-- .../oxDNA2/unique_bp/data.duplex4.8type | 242 ++-- .../oxDNA2/unique_bp/in.duplex4.4type | 45 +- .../oxDNA2/unique_bp/in.duplex4.8type | 45 +- .../unique_bp/log.27May21.duplex4.4type.g++1 | 1230 ++++++++++++++++ .../unique_bp/log.27May21.duplex4.4type.g++4 | 1230 ++++++++++++++++ .../unique_bp/log.27May21.duplex4.8type.g++1 | 1272 +++++++++++++++++ .../unique_bp/log.27May21.duplex4.8type.g++4 | 1272 +++++++++++++++++ .../unique_bp/log.30Jun20.duplex4.4type.g++1 | 244 ---- .../unique_bp/log.30Jun20.duplex4.4type.g++4 | 244 ---- .../unique_bp/log.30Jun20.duplex4.8type.g++1 | 286 ---- .../unique_bp/log.30Jun20.duplex4.8type.g++4 | 286 ---- .../examples/oxRNA2/duplex2/data.duplex2 | 91 ++ .../in.duplex4 => duplex2/in.duplex2} | 40 +- .../oxRNA2/duplex2/log.27May21.duplex2.g++.1 | 1182 +++++++++++++++ .../oxRNA2/duplex2/log.27May21.duplex2.g++.4 | 1182 +++++++++++++++ .../examples/oxRNA2/duplex4/data.duplex4 | 96 -- .../oxRNA2/duplex4/log.30Jun20.duplex4.g++.1 | 1183 --------------- .../oxRNA2/duplex4/log.30Jun20.duplex4.g++.4 | 1183 --------------- src/.gitignore | 12 +- src/CG-DNA/Install.sh | 2 + src/CG-DNA/atom_vec_oxdna.cpp | 103 ++ src/CG-DNA/atom_vec_oxdna.h | 48 + src/CG-DNA/pair_oxdna_stk.cpp | 233 +-- src/CG-DNA/pair_oxdna_stk.h | 1 + src/CG-DNA/pair_oxrna2_stk.cpp | 285 ++-- src/CG-DNA/pair_oxrna2_stk.h | 1 + src/atom.cpp | 47 +- src/atom.h | 20 +- src/atom_vec.h | 2 + src/read_data.cpp | 9 + src/read_data.h | 3 +- 70 files changed, 20432 insertions(+), 16406 deletions(-) create mode 100644 examples/PACKAGES/cgdna/examples/oxDNA/duplex1/log.27May21.duplex1.g++.1 create mode 100644 examples/PACKAGES/cgdna/examples/oxDNA/duplex1/log.27May21.duplex1.g++.4 delete mode 100644 examples/PACKAGES/cgdna/examples/oxDNA/duplex1/log.30Jun20.duplex1.g++.1 delete mode 100644 examples/PACKAGES/cgdna/examples/oxDNA/duplex1/log.30Jun20.duplex1.g++.4 create mode 100644 examples/PACKAGES/cgdna/examples/oxDNA/duplex2/log.27May21.duplex2.g++.1 create mode 100644 examples/PACKAGES/cgdna/examples/oxDNA/duplex2/log.27May21.duplex2.g++.4 delete mode 100644 examples/PACKAGES/cgdna/examples/oxDNA/duplex2/log.30Jun20.duplex2.g++.1 delete mode 100644 examples/PACKAGES/cgdna/examples/oxDNA/duplex2/log.30Jun20.duplex2.g++.4 create mode 100644 examples/PACKAGES/cgdna/examples/oxDNA2/duplex1/log.27May21.duplex1.g++.1 create mode 100644 examples/PACKAGES/cgdna/examples/oxDNA2/duplex1/log.27May21.duplex1.g++.4 delete mode 100644 examples/PACKAGES/cgdna/examples/oxDNA2/duplex1/log.30Jun20.duplex1.g++.1 delete mode 100644 examples/PACKAGES/cgdna/examples/oxDNA2/duplex1/log.30Jun20.duplex1.g++.4 create mode 100644 examples/PACKAGES/cgdna/examples/oxDNA2/duplex2/log.27May21.duplex2.g++.1 create mode 100644 examples/PACKAGES/cgdna/examples/oxDNA2/duplex2/log.27May21.duplex2.g++.4 delete mode 100644 examples/PACKAGES/cgdna/examples/oxDNA2/duplex2/log.30Jun20.duplex2.g++.1 delete mode 100644 examples/PACKAGES/cgdna/examples/oxDNA2/duplex2/log.30Jun20.duplex2.g++.4 create mode 100644 examples/PACKAGES/cgdna/examples/oxDNA2/duplex3/log.27May21.duplex3.g++.1 create mode 100644 examples/PACKAGES/cgdna/examples/oxDNA2/duplex3/log.27May21.duplex3.g++.4 delete mode 100644 examples/PACKAGES/cgdna/examples/oxDNA2/duplex3/log.30Jun20.duplex3.g++.1 delete mode 100644 examples/PACKAGES/cgdna/examples/oxDNA2/duplex3/log.30Jun20.duplex3.g++.4 create mode 100644 examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.27May21.duplex4.4type.g++1 create mode 100644 examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.27May21.duplex4.4type.g++4 create mode 100644 examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.27May21.duplex4.8type.g++1 create mode 100644 examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.27May21.duplex4.8type.g++4 delete mode 100644 examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.30Jun20.duplex4.4type.g++1 delete mode 100644 examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.30Jun20.duplex4.4type.g++4 delete mode 100644 examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.30Jun20.duplex4.8type.g++1 delete mode 100644 examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.30Jun20.duplex4.8type.g++4 create mode 100644 examples/PACKAGES/cgdna/examples/oxRNA2/duplex2/data.duplex2 rename examples/PACKAGES/cgdna/examples/oxRNA2/{duplex4/in.duplex4 => duplex2/in.duplex2} (67%) create mode 100644 examples/PACKAGES/cgdna/examples/oxRNA2/duplex2/log.27May21.duplex2.g++.1 create mode 100644 examples/PACKAGES/cgdna/examples/oxRNA2/duplex2/log.27May21.duplex2.g++.4 delete mode 100644 examples/PACKAGES/cgdna/examples/oxRNA2/duplex4/data.duplex4 delete mode 100644 examples/PACKAGES/cgdna/examples/oxRNA2/duplex4/log.30Jun20.duplex4.g++.1 delete mode 100644 examples/PACKAGES/cgdna/examples/oxRNA2/duplex4/log.30Jun20.duplex4.g++.4 create mode 100644 src/CG-DNA/atom_vec_oxdna.cpp create mode 100644 src/CG-DNA/atom_vec_oxdna.h diff --git a/doc/src/PDF/CG-DNA.pdf b/doc/src/PDF/CG-DNA.pdf index 2577875f687a372fd334748c1eabc0e44fba7f6a..632df1fdff1e6f5674b5dc2c4c523c430eea6242 100644 GIT binary patch delta 122968 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%0DHqNM7pF(2H^$loXZgz#_ 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 LGqb#g0@nWkLKMyf delta 113668 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⋙;C$)fDcw6Lyc* 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 diff --git a/doc/src/atom_style.rst b/doc/src/atom_style.rst index a54971cf3b..437324e2d9 100644 --- a/doc/src/atom_style.rst +++ b/doc/src/atom_style.rst @@ -10,7 +10,7 @@ Syntax atom_style style args -* style = *angle* or *atomic* or *body* or *bond* or *charge* or *dipole* or *dpd* or *edpd* or *electron* or *ellipsoid* or *full* or *line* or *mdpd* or *molecular* or *peri* or *smd* or *sph* or *sphere* or *spin* or *tdpd* or *tri* or *template* or *hybrid* +* style = *angle* or *atomic* or *body* or *bond* or *charge* or *dipole* or *dpd* or *edpd* or *electron* or *ellipsoid* or *full* or *line* or *mdpd* or *molecular* or *oxdna* or *peri* or *smd* or *sph* or *sphere* or *spin* or *tdpd* or *tri* or *template* or *hybrid* .. parsed-literal:: @@ -110,6 +110,8 @@ quantities. +--------------+-----------------------------------------------------+--------------------------------------+ | *molecular* | bonds, angles, dihedrals, impropers | uncharged molecules | +--------------+-----------------------------------------------------+--------------------------------------+ +| *oxdna* | nucleotide polarity | coarse-grained DNA and RNA models | ++--------------+-----------------------------------------------------+--------------------------------------+ | *peri* | mass, volume | mesoscopic Peridynamic models | +--------------+-----------------------------------------------------+--------------------------------------+ | *smd* | volume, kernel diameter, contact radius, mass | solid and fluid SPH particles | @@ -193,8 +195,14 @@ position, which is represented by the eradius = electron size. For the *peri* style, the particles are spherical and each stores a per-particle mass and volume. +The *oxdna* style is for coarse-grained nucleotides and stores the +3'-to-5' polarity of the nucleotide strand, which is set through +the bond topology in the data file. The first (second) atom in a +bond definition is understood to point towards the 3'-end (5'-end) +of the strand. Note that this style is part of the USER-CGDNA package. + The *dpd* style is for dissipative particle dynamics (DPD) particles. -Note that it is part of the DPD-REACT package, and is not for use with +Note that it is part of the USER-DPD package, and is not for use with the :doc:`pair_style dpd or dpd/stat ` commands, which can simply use atom_style atomic. Atom_style dpd extends DPD particle properties with internal temperature (dpdTheta), internal conductive @@ -319,7 +327,7 @@ styles take the same arguments and should produce the same results, except for round-off and precision issues. Note that other acceleration packages in LAMMPS, specifically the GPU, -INTEL, OPENMP, and OPT packages do not use accelerated atom +USER-INTEL, USER-OMP, and OPT packages do not use accelerated atom styles. The accelerated styles are part of the KOKKOS package. They are only @@ -352,24 +360,26 @@ The *dipole* style is part of the DIPOLE package. The *peri* style is part of the PERI package for Peridynamics. -The *electron* style is part of the EFF package for :doc:`electronic force fields `. +The *oxdna* style is part of the USER-CGDNA package for coarse-grained simulation of DNA and RNA. -The *dpd* style is part of the DPD-REACT package for dissipative +The *electron* style is part of the USER-EFF package for :doc:`electronic force fields `. + +The *dpd* style is part of the USER-DPD package for dissipative particle dynamics (DPD). -The *edpd*\ , *mdpd*\ , and *tdpd* styles are part of the DPD-MESO package +The *edpd*\ , *mdpd*\ , and *tdpd* styles are part of the USER-MESODPD package for energy-conserving dissipative particle dynamics (eDPD), many-body dissipative particle dynamics (mDPD), and transport dissipative particle dynamics (tDPD), respectively. -The *sph* style is part of the SPH package for smoothed particle +The *sph* style is part of the USER-SPH package for smoothed particle hydrodynamics (SPH). See `this PDF guide `_ to using SPH in LAMMPS. -The *mesont* style is part of the MESONT package. +The *mesont* style is part of the USER-MESONT package. The *spin* style is part of the SPIN package. -The *wavepacket* style is part of the AWPMD package for the +The *wavepacket* style is part of the USER-AWPMD package for the :doc:`antisymmetrized wave packet MD method `. Related commands diff --git a/doc/src/bond_oxdna.rst b/doc/src/bond_oxdna.rst index b2cc68fa22..4f87393aec 100644 --- a/doc/src/bond_oxdna.rst +++ b/doc/src/bond_oxdna.rst @@ -76,17 +76,26 @@ commands: The coefficients in the above example have to be kept fixed and cannot be changed without reparameterizing the entire model. +.. note:: + + This bond style has to be used with the *atom_style hybrid bond ellipsoid oxdna* + (see documentation of :doc:`atom_style `). The *atom_style oxdna* + stores the 3'-to-5' polarity of the nucleotide strand, which is set through + the bond topology in the data file. The first (second) atom in a bond definition + is understood to point towards the 3'-end (5'-end) of the strand. + + Example input and data files for DNA and RNA duplexes can be found in -examples/PACKAGES/cgdna/examples/oxDNA/ , /oxDNA2/ and /oxRNA2/. A simple python +examples/USER/cgdna/examples/oxDNA/ , /oxDNA2/ and /oxRNA2/. A simple python setup tool which creates single straight or helical DNA strands, DNA/RNA duplexes or arrays of DNA/RNA duplexes can be found in -examples/PACKAGES/cgdna/util/. +examples/USER/cgdna/util/. Please cite :ref:`(Henrich) ` in any publication that uses this implementation. The article contains general information on the model, its implementation and performance as well as the structure of the data and input file. The preprint version of the article can be found -`here `_. +`here `_. Please cite also the relevant oxDNA/oxRNA publications. These are :ref:`(Ouldridge) ` and :ref:`(Ouldridge-DPhil) ` for oxDNA, @@ -101,14 +110,14 @@ Restrictions """""""""""" This bond style can only be used if LAMMPS was built with the -CG-DNA package and the MOLECULE and ASPHERE package. See the +USER-CGDNA package and the MOLECULE and ASPHERE package. See the :doc:`Build package ` doc page for more info. Related commands """""""""""""""" :doc:`pair_style oxdna/excv `, :doc:`pair_style oxdna2/excv `, :doc:`pair_style oxrna2/excv `, -:doc:`bond_coeff `, :doc:`fix nve/dotc/langevin ` +:doc:`bond_coeff `, :doc:`atom_style oxdna `, :doc:`fix nve/dotc/langevin ` Default """"""" diff --git a/doc/src/pair_oxdna.rst b/doc/src/pair_oxdna.rst index b6b55a503b..26479bccc6 100644 --- a/doc/src/pair_oxdna.rst +++ b/doc/src/pair_oxdna.rst @@ -91,15 +91,23 @@ for a detailed description of the oxDNA force field. or :doc:`fix nve/dotc/langevin ` the temperature coefficients have to be matched to the one used in the fix. -Example input and data files for DNA duplexes can be found in examples/PACKAGES/cgdna/examples/oxDNA/ and /oxDNA2/. +.. note:: + + These pair styles have to be used with the *atom_style hybrid bond ellipsoid oxdna* + (see documentation of :doc:`atom_style `). The *atom_style oxdna* + stores the 3'-to-5' polarity of the nucleotide strand, which is set through + the bond topology in the data file. The first (second) atom in a bond definition + is understood to point towards the 3'-end (5'-end) of the strand. + +Example input and data files for DNA duplexes can be found in examples/USER/cgdna/examples/oxDNA/ and /oxDNA2/. A simple python setup tool which creates single straight or helical DNA strands, -DNA duplexes or arrays of DNA duplexes can be found in examples/PACKAGES/cgdna/util/. +DNA duplexes or arrays of DNA duplexes can be found in examples/USER/cgdna/util/. Please cite :ref:`(Henrich) ` in any publication that uses this implementation. The article contains general information on the model, its implementation and performance as well as the structure of the data and input file. The preprint version of the article can be found -`here `_. +`here `_. Please cite also the relevant oxDNA publications :ref:`(Ouldridge) `, :ref:`(Ouldridge-DPhil) ` @@ -111,7 +119,7 @@ Restrictions """""""""""" These pair styles can only be used if LAMMPS was built with the -CG-DNA package and the MOLECULE and ASPHERE package. See the +USER-CGDNA package and the MOLECULE and ASPHERE package. See the :doc:`Build package ` doc page for more info. Related commands @@ -120,7 +128,7 @@ Related commands :doc:`bond_style oxdna/fene `, :doc:`pair_coeff `, :doc:`bond_style oxdna2/fene `, :doc:`pair_style oxdna2/excv `, :doc:`bond_style oxrna2/fene `, :doc:`pair_style oxrna2/excv `, -:doc:`fix nve/dotc/langevin ` +:doc:`atom_style oxdna `, :doc:`fix nve/dotc/langevin ` Default """"""" diff --git a/doc/src/pair_oxdna2.rst b/doc/src/pair_oxdna2.rst index 37739c3813..7f5a2642eb 100644 --- a/doc/src/pair_oxdna2.rst +++ b/doc/src/pair_oxdna2.rst @@ -100,15 +100,23 @@ and :ref:`(Ouldridge) ` for a detailed description of the oxDNA2 fo e.g. through :doc:`fix langevin ` or :doc:`fix nve/dotc/langevin ` the temperature coefficients have to be matched to the one used in the fix. -Example input and data files for DNA duplexes can be found in examples/PACKAGES/cgdna/examples/oxDNA/ and /oxDNA2/. +.. note:: + + These pair styles have to be used with the *atom_style hybrid bond ellipsoid oxdna* + (see documentation of :doc:`atom_style `). The *atom_style oxdna* + stores the 3'-to-5' polarity of the nucleotide strand, which is set through + the bond topology in the data file. The first (second) atom in a bond definition + is understood to point towards the 3'-end (5'-end) of the strand. + +Example input and data files for DNA duplexes can be found in examples/USER/cgdna/examples/oxDNA/ and /oxDNA2/. A simple python setup tool which creates single straight or helical DNA strands, -DNA duplexes or arrays of DNA duplexes can be found in examples/PACKAGES/cgdna/util/. +DNA duplexes or arrays of DNA duplexes can be found in examples/USER/cgdna/util/. Please cite :ref:`(Henrich) ` in any publication that uses this implementation. The article contains general information on the model, its implementation and performance as well as the structure of the data and input file. The preprint version of the article can be found -`here `_. +`here `_. Please cite also the relevant oxDNA2 publications :ref:`(Snodin) ` and :ref:`(Sulc) `. @@ -118,7 +126,7 @@ Restrictions """""""""""" These pair styles can only be used if LAMMPS was built with the -CG-DNA package and the MOLECULE and ASPHERE package. See the +USER-CGDNA package and the MOLECULE and ASPHERE package. See the :doc:`Build package ` doc page for more info. Related commands @@ -127,7 +135,7 @@ Related commands :doc:`bond_style oxdna2/fene `, :doc:`pair_coeff `, :doc:`bond_style oxdna/fene `, :doc:`pair_style oxdna/excv `, :doc:`bond_style oxrna2/fene `, :doc:`pair_style oxrna2/excv `, -:doc:`fix nve/dotc/langevin ` +:doc:`atom_style oxdna `, :doc:`fix nve/dotc/langevin ` Default """"""" diff --git a/doc/src/pair_oxrna2.rst b/doc/src/pair_oxrna2.rst index bd89f1fec0..81c5562489 100644 --- a/doc/src/pair_oxrna2.rst +++ b/doc/src/pair_oxrna2.rst @@ -101,15 +101,23 @@ and :ref:`(Ouldridge) ` for a detailed description of the oxRNA2 fo e.g. through :doc:`fix langevin ` or :doc:`fix nve/dotc/langevin ` the temperature coefficients have to be matched to the one used in the fix. -Example input and data files for DNA duplexes can be found in examples/PACKAGES/cgdna/examples/oxDNA/ and /oxDNA2/. +.. note:: + + These pair styles have to be used with the *atom_style hybrid bond ellipsoid oxdna* + (see documentation of :doc:`atom_style `). The *atom_style oxdna* + stores the 3'-to-5' polarity of the nucleotide strand, which is set through + the bond topology in the data file. The first (second) atom in a bond definition + is understood to point towards the 3'-end (5'-end) of the strand. + +Example input and data files for DNA duplexes can be found in examples/USER/cgdna/examples/oxDNA/ and /oxDNA2/. A simple python setup tool which creates single straight or helical DNA strands, -DNA duplexes or arrays of DNA duplexes can be found in examples/PACKAGES/cgdna/util/. +DNA duplexes or arrays of DNA duplexes can be found in examples/USER/cgdna/util/. Please cite :ref:`(Henrich) ` in any publication that uses this implementation. The article contains general information on the model, its implementation and performance as well as the structure of the data and input file. The preprint version of the article can be found -`here `_. +`here `_. Please cite also the relevant oxRNA2 publications :ref:`(Sulc1) ` and :ref:`(Sulc2) `. @@ -119,7 +127,7 @@ Restrictions """""""""""" These pair styles can only be used if LAMMPS was built with the -CG-DNA package and the MOLECULE and ASPHERE package. See the +USER-CGDNA package and the MOLECULE and ASPHERE package. See the :doc:`Build package ` doc page for more info. Related commands @@ -128,7 +136,7 @@ Related commands :doc:`bond_style oxrna2/fene `, :doc:`pair_coeff `, :doc:`bond_style oxdna/fene `, :doc:`pair_style oxdna/excv `, :doc:`bond_style oxdna2/fene `, :doc:`pair_style oxdna2/excv `, -:doc:`fix nve/dotc/langevin ` +:doc:`atom_style oxdna `, :doc:`fix nve/dotc/langevin ` Default """"""" diff --git a/doc/utils/sphinx-config/false_positives.txt b/doc/utils/sphinx-config/false_positives.txt index e57f81dbc8..b7c9853a61 100644 --- a/doc/utils/sphinx-config/false_positives.txt +++ b/doc/utils/sphinx-config/false_positives.txt @@ -1325,7 +1325,6 @@ hyperradius hyperspherical hysteretic hz -IAP Ibanez iatom ibar @@ -1648,8 +1647,6 @@ larentzos Larentzos Laroche lars -LATBOLTZ -latboltz latencies Latour latourr @@ -1800,8 +1797,6 @@ Lysogorskiy Lyulin lz Maaravi -MACHDYN -machdyn Mackay Mackrodt Macromolecules @@ -1896,7 +1891,8 @@ mdi mdpd mDPD meam -MEAM +meamc +MEAMC meamf meanDist mech @@ -2323,6 +2319,7 @@ Ntriples Ntype ntypes Ntypes +nucleotide nucleotides nullptr num @@ -2680,7 +2677,6 @@ qoverride qqr qqrd qtb -Quadfel quadratically quadrupolar Quant @@ -2740,7 +2736,7 @@ README realtime reamin reax -REAXFF +REAXC ReaxFF rebo recursing @@ -2862,7 +2858,6 @@ Rossky rosybrown rotationally Rotenberg -Rothenburg Rovigatti royalblue rozero diff --git a/examples/PACKAGES/cgdna/README b/examples/PACKAGES/cgdna/README index a403ce0321..9ad170b639 100644 --- a/examples/PACKAGES/cgdna/README +++ b/examples/PACKAGES/cgdna/README @@ -72,7 +72,7 @@ between two individual nucleotides can be established. /******************************************************************************/ -/examples/oxRNA2/duplex4 +/examples/oxRNA2/duplex2 This example uses the duplex2 with the oxRNA2 force field instead of oxDNA or oxDNA2 force field. Sequence-dependent stacking and hydrogen-bonding diff --git a/examples/PACKAGES/cgdna/examples/oxDNA/duplex1/data.duplex1 b/examples/PACKAGES/cgdna/examples/oxDNA/duplex1/data.duplex1 index 0ef671c603..54eb2beaf5 100644 --- a/examples/PACKAGES/cgdna/examples/oxDNA/duplex1/data.duplex1 +++ b/examples/PACKAGES/cgdna/examples/oxDNA/duplex1/data.duplex1 @@ -1,15 +1,14 @@ -# LAMMPS data file +LAMMPS data file via write_data, version 27 May 2021 + 10 atoms -10 ellipsoids -8 bonds - 4 atom types +8 bonds 1 bond types +10 ellipsoids -# System size --20.000000 20.000000 xlo xhi --20.000000 20.000000 ylo yhi --20.000000 20.000000 zlo zhi +-20 20 xlo xhi +-20 20 ylo yhi +-20 20 zlo zhi Masses @@ -18,56 +17,52 @@ Masses 3 3.1575 4 3.1575 -# Atom-ID, type, position, molecule-ID, ellipsoid flag, density -Atoms +Atoms # hybrid -1 1 -6.000000000000001e-01 0.000000000000000e+00 0.000000000000000e+00 1 1 1 -2 2 -4.860249842674776e-01 -3.518234140414736e-01 3.897628551303122e-01 1 1 1 -3 3 -1.874009511073395e-01 -5.699832309147915e-01 7.795257102606244e-01 1 1 1 -4 4 1.824198365552941e-01 -5.715968887521518e-01 1.169288565390937e+00 1 1 1 -5 1 4.829362784135484e-01 -3.560513319622209e-01 1.559051420521249e+00 1 1 1 -6 4 -4.829362784135484e-01 3.560513319622209e-01 1.559051420521249e+00 2 1 1 -7 1 -1.824198365552941e-01 5.715968887521516e-01 1.169288565390937e+00 2 1 1 -8 2 1.874009511073395e-01 5.699832309147913e-01 7.795257102606243e-01 2 1 1 -9 3 4.860249842674775e-01 3.518234140414733e-01 3.897628551303121e-01 2 1 1 -10 4 5.999999999999996e-01 -1.332267629550188e-16 -1.110223024625157e-16 2 1 1 +1 1 -0.33741452300167507 -0.43708835412476305 0.6450685042019271 1 1 3.7269849963023267 0 0 0 +2 2 -0.32142606102826937 -0.7137743037592722 1.1817366147004618 1 1 3.7269849963023267 0 0 0 +3 3 -0.130363628207774 -0.9147144801536078 1.62581312195109 1 1 3.7269849963023267 0 0 0 +4 4 0.16795127962282844 -0.9808507459807022 2.0894908590909003 1 1 3.7269849963023267 0 0 0 +5 1 0.46370423490634166 -0.7803347954883079 2.4251986815515827 1 1 3.7269849963023267 0 0 0 +6 4 -0.4462950185476711 0.09062163051035639 2.4668941268777607 2 1 3.7269849963023267 0 0 0 +7 1 -0.03377054097560965 0.20979847489755046 2.078208732038921 2 1 3.7269849963023267 0 0 0 +8 2 0.3297325391466579 0.17657587120899895 1.7206328374934152 2 1 3.7269849963023267 0 0 0 +9 3 0.6063699309305985 0.04682595158675571 1.2335049647817748 2 1 3.7269849963023267 0 0 0 +10 4 0.8003979559814726 -0.364393011459011 0.9884025318908612 2 1 3.7269849963023267 0 0 0 -# Atom-ID, translational velocity, angular momentum Velocities -1 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -2 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -3 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -4 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -5 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -6 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -7 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -8 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -9 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -10 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 +1 0.320321385294804 -0.13632815939410442 -0.029398292452023418 0.3064009492028237 -0.15808560233691588 0.35878007201886397 +2 0.16868594667473025 -0.04950805613064363 0.15811007290373785 -0.07666583909321756 -0.0008074676325318194 -0.21475821019816385 +3 -0.22924557018300165 0.08381876748892438 -0.0919832851533896 0.4039387481683193 0.6123610642545824 -0.11063432848545783 +4 -0.22186204313310393 0.04952817499985707 -0.0693642101605732 -0.1358248430264938 0.4118493572385653 -0.056529305922687775 +5 0.08156431270087049 -0.2564594759800144 0.1724544416027875 0.05439894663158808 0.09338481510384318 0.3205408219238883 +6 0.03598698404367743 -0.04868642973674152 0.02860105256592922 0.04007709957283992 -0.317943400069374 0.36438025397586354 +7 -0.00822868972307372 0.047514932936351305 -0.027726409420297023 0.18356392696891796 -0.49877294396308003 0.06993313839189567 +8 -0.07177147672242379 0.1718272727853115 0.39056151182616994 -0.16728362538690794 -0.47839708820957955 -0.17897249005947627 +9 -0.1748638855727651 -0.0781638161351808 0.0560181565271157 -0.28062568580131014 0.2405396522734162 -0.4311598357169048 +10 0.18870318272756448 -0.1066780134639517 0.12610657946741227 -0.05740397100183697 0.36748833227892685 0.1498775724372025 -# Atom-ID, shape, quaternion -Ellipsoids - -1 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 1.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -2 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 9.513258223252946e-01 0.000000000000000e+00 0.000000000000000e+00 3.081869234362515e-01 -3 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 8.100416404457962e-01 0.000000000000000e+00 0.000000000000000e+00 5.863723567357894e-01 -4 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 5.899012371043606e-01 0.000000000000000e+00 0.000000000000000e+00 8.074754054847398e-01 -5 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 3.123349185122326e-01 0.000000000000000e+00 0.000000000000000e+00 9.499720515246527e-01 -6 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 0.000000000000000e+00 9.499720515246527e-01 -3.123349185122326e-01 -0.000000000000000e+00 -7 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 0.000000000000000e+00 8.074754054847401e-01 -5.899012371043604e-01 0.000000000000000e+00 -8 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 0.000000000000000e+00 5.863723567357896e-01 -8.100416404457959e-01 0.000000000000000e+00 -9 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 -0.000000000000000e+00 -3.081869234362514e-01 9.513258223252947e-01 0.000000000000000e+00 -10 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 -0.000000000000000e+00 1.110223024625157e-16 1.000000000000000e+00 -0.000000000000000e+00 - -# Bond topology Bonds -1 1 1 2 -2 1 2 3 -3 1 3 4 -4 1 4 5 -5 1 6 7 -6 1 7 8 -7 1 8 9 -8 1 9 10 +1 1 1 2 +2 1 2 3 +3 1 3 4 +4 1 4 5 +5 1 6 7 +6 1 7 8 +7 1 8 9 +8 1 9 10 + +Ellipsoids + +1 1.173984503142341 1.173984503142341 1.173984503142341 0.9890278201757743 0.01779228232037064 -0.14337734159225404 0.030827642240801516 +2 1.173984503142341 1.173984503142341 1.173984503142341 0.939687458852748 0.04174166924055095 -0.023337773785056866 0.338674565089608 +3 1.173984503142341 1.173984503142341 1.173984503142341 0.8210113150655425 0.03012140921736572 0.017666019956944813 0.5698429897612057 +4 1.173984503142341 1.173984503142341 1.173984503142341 0.6623662858285051 -0.028186343967346823 0.022942552517501488 0.7482981175276918 +5 1.173984503142341 1.173984503142341 1.173984503142341 0.3601488726765216 0.0513614985821682 0.0724224158335286 0.9286602067807472 +6 1.173984503142341 1.173984503142341 1.173984503142341 0.11941234710084649 0.9244660117493703 -0.35317942248051865 -0.07979711784524246 +7 1.173984503142341 1.173984503142341 1.173984503142341 -0.17949125421205164 0.7412884899431119 -0.6379094464220707 0.1065166771202199 +8 1.173984503142341 1.173984503142341 1.173984503142341 -0.10483691088405202 0.5508895999584645 -0.8250090480220789 0.06992811634525403 +9 1.173984503142341 1.173984503142341 1.173984503142341 0.07777239911646 -0.3724087549185288 0.9103052384821374 -0.1631181963720798 +10 1.173984503142341 1.173984503142341 1.173984503142341 0.16279109707978262 0.027148630125149613 0.9849325709665359 -0.0516705065113425 diff --git a/examples/PACKAGES/cgdna/examples/oxDNA/duplex1/in.duplex1 b/examples/PACKAGES/cgdna/examples/oxDNA/duplex1/in.duplex1 index 04ff545704..fcddbf51ba 100644 --- a/examples/PACKAGES/cgdna/examples/oxDNA/duplex1/in.duplex1 +++ b/examples/PACKAGES/cgdna/examples/oxDNA/duplex1/in.duplex1 @@ -11,11 +11,11 @@ newton off boundary p p p -atom_style hybrid bond ellipsoid +atom_style hybrid bond ellipsoid oxdna atom_modify sort 0 1.0 # Pair interactions require lists of neighbours to be calculated -neighbor 1.0 bin +neighbor 2.0 bin neigh_modify every 1 delay 0 check yes read_data data.duplex1 @@ -40,27 +40,16 @@ pair_coeff * * oxdna/xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 pair_coeff * * oxdna/coaxstk 46.0 0.4 0.6 0.22 0.58 2.0 2.541592653589793 0.65 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 -0.65 2.0 -0.65 # NVE ensemble -fix 1 all nve/dot -#fix 1 all nve/dotc/langevin ${T} ${T} 0.03 457145 angmom 10 -#fix 1 all nve/asphere -#fix 2 all langevin ${T} ${T} 0.03 457145 angmom 10 +fix 1 all nve/asphere +#fix 2 all langevin ${T} ${T} 2.5 457145 angmom 10 timestep 1e-5 #comm_style tiled -#fix 3 all balance 10000 1.1 rcb -comm_modify cutoff 2.5 +fix 3 all balance 1000 1.03 shift xyz 10 1.03 +comm_modify cutoff 3.8 -#compute mol all chunk/atom molecule -#compute mychunk all vcm/chunk mol -#fix 4 all ave/time 10000 1 10000 c_mychunk[1] c_mychunk[2] c_mychunk[3] file vcm.txt mode vector - -#dump pos all xyz ${ofreq} traj.${number}.xyz - -#compute quat all property/atom quatw quati quatj quatk -#dump quat all custom ${ofreq} quat.${number}.txt id c_quat[1] c_quat[2] c_quat[3] c_quat[4] -#dump_modify quat sort id -#dump_modify quat format line "%d %13.6le %13.6le %13.6le %13.6le" +compute quat all property/atom quatw quati quatj quatk compute erot all erotate/asphere compute ekin all ke @@ -71,10 +60,10 @@ variable epot equal c_epot variable etot equal c_erot+c_ekin+c_epot fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes -#dump out all custom ${ofreq} out.${number}.txt id x y z vx vy vz fx fy fz tqx tqy tqz -#dump_modify out sort id -#dump_modify out format line "%d %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le" +dump out all custom ${ofreq} out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump_modify out sort id +dump_modify out format line "%d %d %d %22.15le %22.15le %22.15le %d %d %d %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le" run 1000000 -#write_restart config.${number}.* +write_data last_config.${number}.* nocoeff diff --git a/examples/PACKAGES/cgdna/examples/oxDNA/duplex1/log.27May21.duplex1.g++.1 b/examples/PACKAGES/cgdna/examples/oxDNA/duplex1/log.27May21.duplex1.g++.1 new file mode 100644 index 0000000000..6433d417de --- /dev/null +++ b/examples/PACKAGES/cgdna/examples/oxDNA/duplex1/log.27May21.duplex1.g++.1 @@ -0,0 +1,1171 @@ +LAMMPS (27 May 2021) +variable number equal 1 +variable ofreq equal 1000 +variable efreq equal 1000 +variable T equal 0.1 + +units lj + +dimension 3 + +newton off + +boundary p p p + +atom_style hybrid bond ellipsoid oxdna +WARNING: Atom style hybrid defines both, per-type and per-atom masses; both must be set, but only per-atom masses will be used (../atom_vec_hybrid.cpp:157) +atom_modify sort 0 1.0 + +# Pair interactions require lists of neighbours to be calculated +neighbor 2.0 bin +neigh_modify every 1 delay 0 check yes + +read_data data.duplex1 +Reading data file ... + orthogonal box = (-20.000000 -20.000000 -20.000000) to (20.000000 20.000000 20.000000) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 10 atoms + reading velocities ... + 10 velocities + scanning bonds ... + 2 = max bonds/atom + 10 ellipsoids + reading bonds ... +Setting oxDNA 3'->5' bond directionality ... + 8 bonds +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 + 2 = max # of 1-3 neighbors + 2 = max # of 1-4 neighbors + 4 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.002 seconds + +set atom * mass 3.1575 +Setting atom values ... + 10 settings made for mass + +group all type 1 4 +10 atoms in group all + +# oxDNA bond interactions - FENE backbone +bond_style oxdna/fene +bond_coeff * 2.0 0.25 0.7525 +special_bonds lj 0 1 1 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 1 1 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 2 = max # of 1-3 neighbors + 2 = max # of 1-4 neighbors + 4 = max # of special neighbors + special bonds CPU = 0.000 seconds + +# oxDNA pair interactions +pair_style hybrid/overlay oxdna/excv oxdna/stk oxdna/hbond oxdna/xstk oxdna/coaxstk +pair_coeff * * oxdna/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32 +pair_coeff * * oxdna/stk seqav ${T} 1.3448 2.6568 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 +pair_coeff * * oxdna/stk seqav 0.1 1.3448 2.6568 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 +pair_coeff * * oxdna/hbond seqav 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 1 4 oxdna/hbond seqav 1.077 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 2 3 oxdna/hbond seqav 1.077 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff * * oxdna/xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68 +pair_coeff * * oxdna/coaxstk 46.0 0.4 0.6 0.22 0.58 2.0 2.541592653589793 0.65 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 -0.65 2.0 -0.65 + +# NVE ensemble +fix 1 all nve/asphere +#fix 2 all langevin ${T} ${T} 2.5 457145 angmom 10 + +timestep 1e-5 + +#comm_style tiled +fix 3 all balance 1000 1.03 shift xyz 10 1.03 +comm_modify cutoff 3.8 + +compute quat all property/atom quatw quati quatj quatk + +compute erot all erotate/asphere +compute ekin all ke +compute epot all pe +variable erot equal c_erot +variable ekin equal c_ekin +variable epot equal c_epot +variable etot equal c_erot+c_ekin+c_epot +fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes +fix 5 all print 1000 "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes + +dump out all custom ${ofreq} out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump out all custom 1000 out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump out all custom 1000 out.1.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump_modify out sort id +dump_modify out format line "%d %d %d %22.15le %22.15le %22.15le %d %d %d %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le" + +run 1000000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.9560004 + ghost atom cutoff = 3.8 + binsize = 1.4780002, bins = 28 28 28 + 4 neighbor lists, perpetual/occasional/extra = 4 0 0 + (1) pair oxdna/excv, perpetual + attributes: half, newton off + pair build: half/bin/newtoff + stencil: full/bin/3d + bin: standard + (2) pair oxdna/hbond, perpetual, copy from (1) + attributes: half, newton off + pair build: copy + stencil: none + bin: none + (3) pair oxdna/xstk, perpetual, copy from (1) + attributes: half, newton off + pair build: copy + stencil: none + bin: none + (4) pair oxdna/coaxstk, perpetual, copy from (1) + attributes: half, newton off + pair build: copy + stencil: none + bin: none +0 ekin = 1.10853632272819 | erot = 2.81573649976629 | epot = -13.0576219534369 | etot = -9.13334913094246 +Per MPI rank memory allocation (min/avg/max) = 9.199 | 9.199 | 9.199 Mbytes +Step Temp E_pair E_mol TotEng Press Volume + 0 0.082113802 -1.3488546 0.043092397 -1.1949086 -4.6816211e-05 64000 +1000 ekin = 1.08024346604046 | erot = 2.90873406534668 | epot = -13.1223266626202 | etot = -9.13334913123307 +2000 ekin = 1.05028450914437 | erot = 2.98006324808558 | epot = -13.1636968886591 | etot = -9.13334913142915 +3000 ekin = 1.01964458529397 | erot = 3.02592193798632 | epot = -13.1789156547658 | etot = -9.13334913148547 +4000 ekin = 0.989515033089539 | erot = 3.04428486059471 | epot = -13.1671490250724 | etot = -9.13334913138813 +5000 ekin = 0.961283929687833 | erot = 3.03510855539557 | epot = -13.1297416162282 | etot = -9.13334913114481 +6000 ekin = 0.936412193404256 | erot = 3.00022299571975 | epot = -13.0699843199583 | etot = -9.13334913083425 +7000 ekin = 0.916233699107968 | erot = 2.9427713444016 | epot = -12.9923541739966 | etot = -9.13334913048708 +8000 ekin = 0.901760662506268 | erot = 2.86671228744165 | epot = -12.9018220800865 | etot = -9.13334913013859 +9000 ekin = 0.893571390067879 | erot = 2.77649686780605 | epot = -12.8034173876806 | etot = -9.13334912980667 +10000 ekin = 0.891805685056846 | erot = 2.67686855006734 | epot = -12.7020233645916 | etot = -9.13334912946739 +11000 ekin = 0.896243557993589 | erot = 2.57266042063119 | epot = -12.6022531078194 | etot = -9.13334912919466 +12000 ekin = 0.906416039154817 | erot = 2.46827537271556 | epot = -12.5080405408347 | etot = -9.13334912896435 +13000 ekin = 0.921704091778491 | erot = 2.36760645470833 | epot = -12.4226596752787 | etot = -9.13334912879189 +14000 ekin = 0.941405275130078 | erot = 2.27374941641176 | epot = -12.3485038202328 | etot = -9.13334912869101 +15000 ekin = 0.964770892951775 | erot = 2.18876720165113 | epot = -12.2868872232635 | etot = -9.13334912866062 +16000 ekin = 0.991029016801086 | erot = 2.11380018376645 | epot = -12.2381783292304 | etot = -9.13334912866289 +17000 ekin = 1.01940907375712 | erot = 2.04893605182118 | epot = -12.2016942543555 | etot = -9.13334912877717 +18000 ekin = 1.04917923728265 | erot = 1.99335017578101 | epot = -12.1758785419805 | etot = -9.1333491289168 +19000 ekin = 1.07969247848165 | erot = 1.9456993336297 | epot = -12.158740941176 | etot = -9.1333491290647 +20000 ekin = 1.11043268152286 | erot = 1.90411175657083 | epot = -12.1478935672812 | etot = -9.13334912918749 +21000 ekin = 1.14104909735583 | erot = 1.8669588297925 | epot = -12.1413570564146 | etot = -9.13334912926631 +22000 ekin = 1.17136821848099 | erot = 1.83313674901904 | epot = -12.137854096792 | etot = -9.13334912929197 +23000 ekin = 1.20137634097693 | erot = 1.80222523558985 | epot = -12.1369507058331 | etot = -9.13334912926636 +24000 ekin = 1.23117249622899 | erot = 1.77451266102195 | epot = -12.1390342864515 | etot = -9.13334912920057 +25000 ekin = 1.26089526640644 | erot = 1.75088411697598 | epot = -12.1451285124969 | etot = -9.13334912911446 +26000 ekin = 1.29063712254632 | erot = 1.73259428379509 | epot = -12.1565805353676 | etot = -9.13334912902614 +27000 ekin = 1.32035987087029 | erot = 1.72114061671178 | epot = -12.174849616541 | etot = -9.13334912895896 +28000 ekin = 1.34980460658797 | erot = 1.71795709927858 | epot = -12.2011108348018 | etot = -9.13334912893528 +29000 ekin = 1.37841624051162 | erot = 1.72414013785742 | epot = -12.2359055073442 | etot = -9.13334912897515 +30000 ekin = 1.40529015727354 | erot = 1.7401965663967 | epot = -12.2788358527639 | etot = -9.13334912909364 +31000 ekin = 1.42915801743398 | erot = 1.76583252336952 | epot = -12.3283396701001 | etot = -9.13334912929657 +32000 ekin = 1.44843712560542 | erot = 1.79982181745343 | epot = -12.381608072634 | etot = -9.13334912957512 +33000 ekin = 1.4613690466868 | erot = 1.84000474140075 | epot = -12.4347229179884 | etot = -9.13334912990085 +34000 ekin = 1.46625940785515 | erot = 1.8834645985662 | epot = -12.4830731366474 | etot = -9.13334913022609 +35000 ekin = 1.46179739484306 | erot = 1.92688889524941 | epot = -12.5220354205852 | etot = -9.1333491304927 +36000 ekin = 1.44738855724075 | erot = 1.96705754746497 | epot = -12.5477952353504 | etot = -9.13334913064463 +37000 ekin = 1.42340054468548 | erot = 2.00129614949928 | epot = -12.5580458249024 | etot = -9.13334913071763 +38000 ekin = 1.39122781542979 | erot = 2.02761655303766 | epot = -12.5521934990546 | etot = -9.13334913058718 +39000 ekin = 1.35313842096815 | erot = 2.04547852103605 | epot = -12.5319660723435 | etot = -9.13334913033932 +40000 ekin = 1.3119358769936 | erot = 2.05554364627561 | epot = -12.5008286533154 | etot = -9.13334913004622 +41000 ekin = 1.27054093924541 | erot = 2.05894429581373 | epot = -12.4628343648331 | etot = -9.13334912977395 +42000 ekin = 1.23161000992325 | erot = 2.0569489325571 | epot = -12.4219080720068 | etot = -9.13334912952641 +43000 ekin = 1.19723969759492 | erot = 2.0508575807566 | epot = -12.3814464076994 | etot = -9.13334912934792 +44000 ekin = 1.16880185863997 | erot = 2.0417223836063 | epot = -12.3438733714903 | etot = -9.13334912924402 +45000 ekin = 1.14690787175718 | erot = 2.03029950061776 | epot = -12.3105565015798 | etot = -9.13334912920486 +46000 ekin = 1.13147919636051 | erot = 2.01712256175378 | epot = -12.2819508873242 | etot = -9.13334912920993 +47000 ekin = 1.12189300492721 | erot = 2.00264798837262 | epot = -12.2578901225351 | etot = -9.13334912923523 +48000 ekin = 1.11716788112728 | erot = 1.98739120721199 | epot = -12.2379082176346 | etot = -9.13334912929533 +49000 ekin = 1.1161579479525 | erot = 1.9718736810838 | epot = -12.2213807583349 | etot = -9.13334912929863 +50000 ekin = 1.11772326336401 | erot = 1.95708534394633 | epot = -12.2081577365826 | etot = -9.13334912927228 +51000 ekin = 1.12084924497878 | erot = 1.94437394210225 | epot = -12.1985723162997 | etot = -9.1333491292187 +52000 ekin = 1.12470549785255 | erot = 1.93529800314878 | epot = -12.193352630151 | etot = -9.13334912914964 +53000 ekin = 1.12864556674978 | erot = 1.93145365271669 | epot = -12.1934483485498 | etot = -9.13334912908328 +54000 ekin = 1.13216113523089 | erot = 1.93430274875511 | epot = -12.1998130130121 | etot = -9.13334912902615 +55000 ekin = 1.13481106600234 | erot = 1.94490436967246 | epot = -12.2130645647022 | etot = -9.13334912902743 +56000 ekin = 1.13614343535815 | erot = 1.96361884590791 | epot = -12.2331114103531 | etot = -9.13334912908709 +57000 ekin = 1.1356317831128 | erot = 1.99002978527249 | epot = -12.2590106975985 | etot = -9.13334912921326 +58000 ekin = 1.13263976908242 | erot = 2.02286978616499 | epot = -12.2888586846526 | etot = -9.1333491294052 +59000 ekin = 1.1264242611343 | erot = 2.0600441344171 | epot = -12.3198175252029 | etot = -9.13334912965145 +60000 ekin = 1.11618536041532 | erot = 2.09876774945548 | epot = -12.3483022398005 | etot = -9.13334912992969 +61000 ekin = 1.10116810417865 | erot = 2.13581434618271 | epot = -12.3703315805684 | etot = -9.13334913020702 +62000 ekin = 1.08081637521803 | erot = 2.16786879318304 | epot = -12.3820342988433 | etot = -9.13334913044225 +63000 ekin = 1.0549701442815 | erot = 2.19194503254439 | epot = -12.3802643074576 | etot = -9.13334913063172 +64000 ekin = 1.02408601603158 | erot = 2.20562384873134 | epot = -12.363058995418 | etot = -9.13334913065512 +65000 ekin = 0.989434415807708 | erot = 2.20769180278661 | epot = -12.3304753491252 | etot = -9.13334913053086 +66000 ekin = 0.953195593563862 | erot = 2.19842250482632 | epot = -12.2849672286539 | etot = -9.13334913026373 +67000 ekin = 0.918366365968225 | erot = 2.17942400884185 | epot = -12.2311395047049 | etot = -9.1333491298948 +68000 ekin = 0.888467814666231 | erot = 2.15321364358203 | epot = -12.1750305877201 | etot = -9.13334912947183 +69000 ekin = 0.867150037001581 | erot = 2.12288633704373 | epot = -12.1233855031208 | etot = -9.13334912907546 +70000 ekin = 0.857579951604692 | erot = 2.09151913845149 | epot = -12.082448218843 | etot = -9.13334912878685 +71000 ekin = 0.861815425267398 | erot = 2.06157004239557 | epot = -12.0567345963619 | etot = -9.1333491286989 +72000 ekin = 0.880191815685381 | erot = 2.03435275439358 | epot = -12.0478936988731 | etot = -9.13334912879414 +73000 ekin = 0.911201453876584 | erot = 2.00982694750394 | epot = -12.0543775304379 | etot = -9.13334912905734 +74000 ekin = 0.951849895585041 | erot = 1.9868541827262 | epot = -12.0720532077345 | etot = -9.13334912942327 +75000 ekin = 0.99815100864117 | erot = 1.96362530027599 | epot = -12.0951254387264 | etot = -9.13334912980919 +76000 ekin = 1.04581734271588 | erot = 1.93821700241353 | epot = -12.117383475267 | etot = -9.13334913013757 +77000 ekin = 1.09091996835703 | erot = 1.90910715282285 | epot = -12.1333762515352 | etot = -9.13334913035536 +78000 ekin = 1.1303763192792 | erot = 1.87551578135385 | epot = -12.1392412310751 | etot = -9.13334913044201 +79000 ekin = 1.16219588597788 | erot = 1.83750580183261 | epot = -12.1330508182184 | etot = -9.13334913040788 +80000 ekin = 1.18548972632236 | erot = 1.7958594266999 | epot = -12.1146982833063 | etot = -9.13334913028402 +81000 ekin = 1.2003060571896 | erot = 1.7518136593975 | epot = -12.0854688466957 | etot = -9.13334913010857 +82000 ekin = 1.20737786492201 | erot = 1.70676694760222 | epot = -12.047493942439 | etot = -9.13334912991478 +83000 ekin = 1.20786051402077 | erot = 1.66205278152633 | epot = -12.0032624252717 | etot = -9.13334912972465 +84000 ekin = 1.2031099157248 | erot = 1.61882913247322 | epot = -11.9552881777461 | etot = -9.13334912954807 +85000 ekin = 1.19452073297168 | erot = 1.57808043002419 | epot = -11.905950292382 | etot = -9.13334912938609 +86000 ekin = 1.1834210068256 | erot = 1.54069268896236 | epot = -11.8574628250235 | etot = -9.13334912923555 +87000 ekin = 1.17100858957346 | erot = 1.50755090689516 | epot = -11.8119086255617 | etot = -9.13334912909308 +88000 ekin = 1.15831377551682 | erot = 1.47961680456717 | epot = -11.7712797090416 | etot = -9.13334912895765 +89000 ekin = 1.14617682817399 | erot = 1.45796378128887 | epot = -11.7374897382937 | etot = -9.13334912883082 +90000 ekin = 1.1352344796942 | erot = 1.44376438030019 | epot = -11.7123479887108 | etot = -9.13334912871639 +91000 ekin = 1.12591345720549 | erot = 1.4382377250094 | epot = -11.6975003108345 | etot = -9.13334912861963 +92000 ekin = 1.11843099489285 | erot = 1.44256930748509 | epot = -11.6943494309244 | etot = -9.13334912854647 +93000 ekin = 1.11280329634815 | erot = 1.45781524814476 | epot = -11.7039676729951 | etot = -9.13334912850217 +94000 ekin = 1.1088620912734 | erot = 1.48480045701867 | epot = -11.7270116767841 | etot = -9.13334912849204 +95000 ekin = 1.10627886010341 | erot = 1.52396220647534 | epot = -11.7635901951105 | etot = -9.1333491285317 +96000 ekin = 1.10459509814424 | erot = 1.57519859223417 | epot = -11.8131428189843 | etot = -9.13334912860592 +97000 ekin = 1.10325943769906 | erot = 1.63800664193794 | epot = -11.8746152083616 | etot = -9.13334912872458 +98000 ekin = 1.10166959581646 | erot = 1.71130689804965 | epot = -11.9463256227537 | etot = -9.13334912888763 +99000 ekin = 1.09921849385163 | erot = 1.79339905630357 | epot = -12.025966679247 | etot = -9.13334912909177 +100000 ekin = 1.09534596880106 | erot = 1.88196872528567 | epot = -12.110663823416 | etot = -9.13334912932925 +101000 ekin = 1.08959720755117 | erot = 1.9741561693145 | epot = -12.1971025064518 | etot = -9.13334912958617 +102000 ekin = 1.08168751154815 | erot = 2.06670282185174 | epot = -12.2817394632424 | etot = -9.13334912984251 +103000 ekin = 1.07156932342314 | erot = 2.1561819250806 | epot = -12.3611003785771 | etot = -9.13334913007335 +104000 ekin = 1.05949237996071 | erot = 2.23930158373566 | epot = -12.4321430939484 | etot = -9.13334913025202 +105000 ekin = 1.04604342224876 | erot = 2.31323902285848 | epot = -12.4926315754929 | etot = -9.13334913038569 +106000 ekin = 1.03224316318559 | erot = 2.37579242095986 | epot = -12.5413847145642 | etot = -9.13334913041873 +107000 ekin = 1.01951120148931 | erot = 2.4258560374057 | epot = -12.5787163692801 | etot = -9.13334913038512 +108000 ekin = 1.00875017477207 | erot = 2.46348952984498 | epot = -12.6055888348734 | etot = -9.13334913025635 +109000 ekin = 1.00109573552394 | erot = 2.48980806114977 | epot = -12.6242529267277 | etot = -9.13334913005403 +110000 ekin = 0.997931591358088 | erot = 2.5067391861081 | epot = -12.6380199072774 | etot = -9.13334912981123 +111000 ekin = 1.00076792351317 | erot = 2.51665915373057 | epot = -12.6507762068075 | etot = -9.13334912956375 +112000 ekin = 1.01109610479921 | erot = 2.52200701599672 | epot = -12.666452250139 | etot = -9.13334912934309 +113000 ekin = 1.03019016817876 | erot = 2.52496101252908 | epot = -12.6885003099862 | etot = -9.13334912927831 +114000 ekin = 1.05821017520619 | erot = 2.52722573627543 | epot = -12.7187850407016 | etot = -9.13334912922002 +115000 ekin = 1.09472530400134 | erot = 2.53003930448858 | epot = -12.7581137377194 | etot = -9.13334912922944 +116000 ekin = 1.13884650903324 | erot = 2.5341483243048 | epot = -12.806343962644 | etot = -9.13334912930592 +117000 ekin = 1.18909444999475 | erot = 2.53980839277165 | epot = -12.862251972215 | etot = -9.13334912944864 +118000 ekin = 1.24341490970464 | erot = 2.54678348242668 | epot = -12.923547521787 | etot = -9.13334912965564 +119000 ekin = 1.29923662064181 | erot = 2.55432909401041 | epot = -12.9869148445731 | etot = -9.13334912992093 +120000 ekin = 1.35358959215635 | erot = 2.56118615921826 | epot = -13.0481248816038 | etot = -9.13334913022922 +121000 ekin = 1.40329803815439 | erot = 2.56563135861683 | epot = -13.1022785273255 | etot = -9.1333491305543 +122000 ekin = 1.445246921966 | erot = 2.56562448409245 | epot = -13.1442205369173 | etot = -9.1333491308589 +123000 ekin = 1.47669540804816 | erot = 2.55906317998218 | epot = -13.169107719131 | etot = -9.13334913110063 +124000 ekin = 1.49558302658146 | erot = 2.5441110594373 | epot = -13.1730432172611 | etot = -9.13334913124231 +125000 ekin = 1.50076122489725 | erot = 2.51952798471315 | epot = -13.1536383408711 | etot = -9.13334913126073 +126000 ekin = 1.492147286847 | erot = 2.48515933103523 | epot = -13.1106557490372 | etot = -9.13334913115495 +127000 ekin = 1.47053410713945 | erot = 2.4417448007513 | epot = -13.0456280388473 | etot = -9.13334913095659 +128000 ekin = 1.43743445323496 | erot = 2.39059049317552 | epot = -12.9613740770757 | etot = -9.13334913066523 +129000 ekin = 1.39501109707047 | erot = 2.33380120125823 | epot = -12.8621614286434 | etot = -9.13334913031469 +130000 ekin = 1.34584042016749 | erot = 2.27401545397179 | epot = -12.7532050040791 | etot = -9.13334912993986 +131000 ekin = 1.2926893078659 | erot = 2.21410134111226 | epot = -12.6401397785506 | etot = -9.13334912957246 +132000 ekin = 1.23832315616827 | erot = 2.15686384200888 | epot = -12.5285361274153 | etot = -9.13334912923812 +133000 ekin = 1.18535267681206 | erot = 2.10479906741761 | epot = -12.4235008731851 | etot = -9.13334912895546 +134000 ekin = 1.13612155562826 | erot = 2.05991346428631 | epot = -12.3293841486505 | etot = -9.13334912873589 +135000 ekin = 1.0926326232607 | erot = 2.02360952444368 | epot = -12.2495912762905 | etot = -9.13334912858609 +136000 ekin = 1.05650575788368 | erot = 1.99662030668685 | epot = -12.1864751930781 | etot = -9.13334912850755 +137000 ekin = 1.02895878679479 | erot = 1.97899212834889 | epot = -12.1413000436434 | etot = -9.13334912849973 +138000 ekin = 1.01080388995871 | erot = 1.97013512172236 | epot = -12.1142881402333 | etot = -9.13334912855227 +139000 ekin = 1.0024545939537 | erot = 1.96888144460879 | epot = -12.1046851672404 | etot = -9.13334912867795 +140000 ekin = 1.00393780740642 | erot = 1.97333010973457 | epot = -12.1106170460029 | etot = -9.13334912886192 +141000 ekin = 1.01490973367055 | erot = 1.981045309448 | epot = -12.1293041722138 | etot = -9.1333491290952 +142000 ekin = 1.03468044934438 | erot = 1.98917872502441 | epot = -12.1572083037337 | etot = -9.13334912936491 +143000 ekin = 1.06225104646194 | erot = 1.99463134790794 | epot = -12.1902315240233 | etot = -9.13334912965338 +144000 ekin = 1.09636709127268 | erot = 1.99441220318412 | epot = -12.2241284243805 | etot = -9.13334912992373 +145000 ekin = 1.13559045362138 | erot = 1.98572590466025 | epot = -12.2546654884644 | etot = -9.13334913018274 +146000 ekin = 1.17838854122105 | erot = 1.96612892354279 | epot = -12.2778665951536 | etot = -9.1333491303898 +147000 ekin = 1.22300699749193 | erot = 1.93405129395002 | epot = -12.290407421963 | etot = -9.1333491305211 +148000 ekin = 1.2678567786303 | erot = 1.8889162135087 | epot = -12.2901221226999 | etot = -9.13334913056086 +149000 ekin = 1.3117055148731 | erot = 1.83123494690898 | epot = -12.2762895922886 | etot = -9.13334913050653 +150000 ekin = 1.35361858091208 | erot = 1.76263607509641 | epot = -12.2496037863729 | etot = -9.1333491303644 +151000 ekin = 1.39299848911435 | erot = 1.68572491420636 | epot = -12.2120725334744 | etot = -9.13334913015369 +152000 ekin = 1.42958376961917 | erot = 1.60381549112361 | epot = -12.1667483906421 | etot = -9.13334912989933 +153000 ekin = 1.46340801747597 | erot = 1.52060159601932 | epot = -12.1173587431246 | etot = -9.13334912962934 +154000 ekin = 1.49472650224563 | erot = 1.43981503875286 | epot = -12.0678906703689 | etot = -9.13334912937042 +155000 ekin = 1.52392161825078 | erot = 1.36491657683223 | epot = -12.0221873242284 | etot = -9.13334912914537 +156000 ekin = 1.55140022159552 | erot = 1.29884972381827 | epot = -11.9835990743854 | etot = -9.13334912897165 +157000 ekin = 1.57749707056581 | erot = 1.24387068637226 | epot = -11.9547168857972 | etot = -9.13334912885911 +158000 ekin = 1.60239506185774 | erot = 1.20145363967813 | epot = -11.9371978303523 | etot = -9.13334912881643 +159000 ekin = 1.62604462003774 | erot = 1.17226436760495 | epot = -11.9316581164847 | etot = -9.13334912884197 +160000 ekin = 1.64813303486531 | erot = 1.15619534708311 | epot = -11.9376775108796 | etot = -9.1333491289312 +161000 ekin = 1.66807327612962 | erot = 1.15245312716187 | epot = -11.9538755323658 | etot = -9.1333491290743 +162000 ekin = 1.68501875283037 | erot = 1.159694715128 | epot = -11.9780625972156 | etot = -9.13334912925725 +163000 ekin = 1.69790620824652 | erot = 1.17620989126099 | epot = -12.0074652289689 | etot = -9.13334912946138 +164000 ekin = 1.70552711798371 | erot = 1.20014309389824 | epot = -12.0390193415463 | etot = -9.13334912966436 +165000 ekin = 1.70662691809321 | erot = 1.22974121417715 | epot = -12.0697172621122 | etot = -9.13334912984189 +166000 ekin = 1.70002908026819 | erot = 1.26360423252405 | epot = -12.0969824427627 | etot = -9.13334912997049 +167000 ekin = 1.68477683955853 | erot = 1.30090518403758 | epot = -12.1190311536263 | etot = -9.13334913003015 +168000 ekin = 1.66027923283156 | erot = 1.34154370359067 | epot = -12.1351720664304 | etot = -9.13334913000821 +169000 ekin = 1.62644124957699 | erot = 1.38619810991388 | epot = -12.1459884893937 | etot = -9.13334912990282 +170000 ekin = 1.58375251890748 | erot = 1.43625221626181 | epot = -12.1533538648945 | etot = -9.13334912972517 +171000 ekin = 1.53331003043903 | erot = 1.49359459893396 | epot = -12.1602537588719 | etot = -9.13334912949887 +172000 ekin = 1.47676106161383 | erot = 1.56031583407029 | epot = -12.1704260249397 | etot = -9.13334912925555 +173000 ekin = 1.41695754705511 | erot = 1.63848249765397 | epot = -12.1887891730442 | etot = -9.13334912833508 +174000 ekin = 1.35937684304471 | erot = 1.72968793645222 | epot = -12.2224139078249 | etot = -9.13334912832797 +175000 ekin = 1.30537540818802 | erot = 1.83369980102243 | epot = -12.2724243375749 | etot = -9.13334912836449 +176000 ekin = 1.25571357800298 | erot = 1.94952726339927 | epot = -12.3385899698485 | etot = -9.13334912844629 +177000 ekin = 1.21104692225309 | erot = 2.07558802224364 | epot = -12.4199840730636 | etot = -9.1333491285669 +178000 ekin = 1.17189512057036 | erot = 2.2097607957462 | epot = -12.5150050450636 | etot = -9.13334912874707 +179000 ekin = 1.13864315857374 | erot = 2.34949890132865 | epot = -12.6214911888111 | etot = -9.13334912890866 +180000 ekin = 1.11156621835598 | erot = 2.4923400853998 | epot = -12.7372554328242 | etot = -9.13334912906842 +181000 ekin = 1.0908716761359 | erot = 2.63567357536115 | epot = -12.8598943807494 | etot = -9.13334912925236 +182000 ekin = 1.07675226579844 | erot = 2.77693577183306 | epot = -12.9870371670188 | etot = -9.13334912938731 +183000 ekin = 1.06942294234155 | erot = 2.91405263083415 | epot = -13.1168247026758 | etot = -9.13334912950007 +184000 ekin = 1.0691348870584 | erot = 3.04520163111632 | epot = -13.2476856477696 | etot = -9.13334912959489 +185000 ekin = 1.0761434592279 | erot = 3.16875772929896 | epot = -13.378250318212 | etot = -9.13334912968513 +186000 ekin = 1.09060563376748 | erot = 3.28317984154828 | epot = -13.5071346051097 | etot = -9.13334912979392 +187000 ekin = 1.11239929858147 | erot = 3.38683780589062 | epot = -13.6325862344239 | etot = -9.13334912995184 +188000 ekin = 1.1408883756264 | erot = 3.47780595660488 | epot = -13.7520434624192 | etot = -9.13334913018788 +189000 ekin = 1.17469755695846 | erot = 3.55369218298226 | epot = -13.8617388704564 | etot = -9.13334913051572 +190000 ekin = 1.21158961983337 | erot = 3.61161008256056 | epot = -13.9565488333127 | etot = -9.13334913091872 +191000 ekin = 1.24837558083726 | erot = 3.64780345127543 | epot = -14.0295281634881 | etot = -9.13334913137539 +192000 ekin = 1.28102311682962 | erot = 3.65810395428988 | epot = -14.0724762027871 | etot = -9.13334913166757 +193000 ekin = 1.30598320816986 | erot = 3.64139295006496 | epot = -14.0807252900249 | etot = -9.13334913179008 +194000 ekin = 1.32049648836633 | erot = 3.59844552363043 | epot = -14.0522911436922 | etot = -9.13334913169544 +195000 ekin = 1.32298604774291 | erot = 3.53212928134959 | epot = -13.9884644604293 | etot = -9.1333491313368 +196000 ekin = 1.31323645162591 | erot = 3.44751612705322 | epot = -13.8941017095235 | etot = -9.13334913084437 +197000 ekin = 1.2922893469817 | erot = 3.35072340322515 | epot = -13.7763618804991 | etot = -9.13334913029223 +198000 ekin = 1.2621263378666 | erot = 3.24789114382012 | epot = -13.6433666114233 | etot = -9.13334912973653 +199000 ekin = 1.22527047461745 | erot = 3.14483705467225 | epot = -13.5034566585633 | etot = -9.13334912927362 +200000 ekin = 1.18441799207266 | erot = 3.0459424596301 | epot = -13.3637095806219 | etot = -9.13334912891918 +201000 ekin = 1.14216630511974 | erot = 2.95390025492367 | epot = -13.2294156887273 | etot = -9.13334912868395 +202000 ekin = 1.10084220211772 | erot = 2.86987712396355 | epot = -13.1040684546435 | etot = -9.13334912856227 +203000 ekin = 1.06240856569037 | erot = 2.79366067226837 | epot = -12.9894183664998 | etot = -9.13334912854109 +204000 ekin = 1.02841768821243 | erot = 2.72389144275518 | epot = -12.885658259572 | etot = -9.1333491286044 +205000 ekin = 0.999988405220968 | erot = 2.65832732458324 | epot = -12.791664858539 | etot = -9.13334912873479 +206000 ekin = 0.97779962122531 | erot = 2.59412391514203 | epot = -12.7052726652799 | etot = -9.13334912891257 +207000 ekin = 0.962105653965551 | erot = 2.52813792126136 | epot = -12.6235927043399 | etot = -9.13334912911301 +208000 ekin = 0.952783648018979 | erot = 2.45726642892335 | epot = -12.5433992062488 | etot = -9.13334912930652 +209000 ekin = 0.949416945748643 | erot = 2.37882137049751 | epot = -12.4615874457068 | etot = -9.13334912946065 +210000 ekin = 0.951402263215311 | erot = 2.29090939419261 | epot = -12.3756607869545 | etot = -9.1333491295466 +211000 ekin = 0.95805195207769 | erot = 2.19275562021934 | epot = -12.284156701844 | etot = -9.13334912954697 +212000 ekin = 0.96865966770056 | erot = 2.08489619855888 | epot = -12.1869049957201 | etot = -9.13334912946064 +213000 ekin = 0.982515908120043 | erot = 1.96918422281076 | epot = -12.0850492602329 | etot = -9.13334912930206 +214000 ekin = 0.998888701919842 | erot = 1.84860041862008 | epot = -11.980838249636 | etot = -9.1333491290961 +215000 ekin = 1.01700134912577 | erot = 1.7269089749226 | epot = -11.8772594529197 | etot = -9.13334912887134 +216000 ekin = 1.03603050122463 | erot = 1.60822693577909 | epot = -11.777606565659 | etot = -9.13334912865524 +217000 ekin = 1.05512477228481 | erot = 1.49657917533873 | epot = -11.6850530760954 | etot = -9.13334912847187 +218000 ekin = 1.07342860744196 | erot = 1.39550092670247 | epot = -11.602278662484 | etot = -9.13334912833954 +219000 ekin = 1.09009860355589 | erot = 1.3077352195161 | epot = -11.5311829513411 | etot = -9.13334912826914 +220000 ekin = 1.10431207607363 | erot = 1.23505496062928 | epot = -11.4727161649659 | etot = -9.133349128263 +221000 ekin = 1.11527717993061 | erot = 1.17821867809278 | epot = -11.4268449863379 | etot = -9.13334912831453 +222000 ekin = 1.12225437592987 | erot = 1.13704823944161 | epot = -11.3926517437815 | etot = -9.13334912841006 +223000 ekin = 1.12459297621425 | erot = 1.11060060825111 | epot = -11.3685427129972 | etot = -9.13334912853179 +224000 ekin = 1.12177911879631 | erot = 1.0973962554392 | epot = -11.352524502896 | etot = -9.13334912866047 +225000 ekin = 1.11348637905768 | erot = 1.09566402531922 | epot = -11.3424995331557 | etot = -9.13334912877881 +226000 ekin = 1.09961800000719 | erot = 1.10360909760931 | epot = -11.336576226485 | etot = -9.13334912886849 +227000 ekin = 1.08033165066233 | erot = 1.11952730043393 | epot = -11.3332080800317 | etot = -9.13334912893547 +228000 ekin = 1.05604602872796 | erot = 1.14187865421847 | epot = -11.3312738119169 | etot = -9.13334912897043 +229000 ekin = 1.02742418663523 | erot = 1.16938489301661 | epot = -11.3301582086283 | etot = -9.13334912897648 +230000 ekin = 0.995339184991744 | erot = 1.20102048198601 | epot = -11.3297087959367 | etot = -9.1333491289589 +231000 ekin = 0.960829492708849 | erot = 1.23597735762291 | epot = -11.3301559792542 | etot = -9.13334912892242 +232000 ekin = 0.925050432735381 | erot = 1.27360958612375 | epot = -11.3320091477352 | etot = -9.13334912887609 +233000 ekin = 0.889225435959855 | erot = 1.31337910210623 | epot = -11.3359536668891 | etot = -9.13334912882302 +234000 ekin = 0.854600006628786 | erot = 1.35483402381913 | epot = -11.3427831592146 | etot = -9.13334912876667 +235000 ekin = 0.822390924845215 | erot = 1.3975743001583 | epot = -11.3533143537191 | etot = -9.13334912871561 +236000 ekin = 0.793732848711805 | erot = 1.44121433399063 | epot = -11.3682963113761 | etot = -9.13334912867363 +237000 ekin = 0.769632191219349 | erot = 1.48535644446062 | epot = -11.3883377643262 | etot = -9.13334912864621 +238000 ekin = 0.750918993365892 | erot = 1.52956143549207 | epot = -11.4138295574954 | etot = -9.13334912863744 +239000 ekin = 0.738206267496996 | erot = 1.57333361162144 | epot = -11.4448890077674 | etot = -9.13334912864894 +240000 ekin = 0.731862193743759 | erot = 1.61613149974219 | epot = -11.4813428221651 | etot = -9.13334912867916 +241000 ekin = 0.731999328001761 | erot = 1.65741090456851 | epot = -11.522759361293 | etot = -9.13334912872275 +242000 ekin = 0.738482620157007 | erot = 1.69669130986299 | epot = -11.5685230587937 | etot = -9.13334912877373 +243000 ekin = 0.750955042325049 | erot = 1.73364929482313 | epot = -11.6179534659678 | etot = -9.13334912881964 +244000 ekin = 0.768877080466256 | erot = 1.7682236027561 | epot = -11.6704498120765 | etot = -9.13334912885413 +245000 ekin = 0.791573929294277 | erot = 1.8006804512131 | epot = -11.7256035093788 | etot = -9.13334912887145 +246000 ekin = 0.818282914271192 | erot = 1.83164107445171 | epot = -11.7832731175935 | etot = -9.13334912887059 +247000 ekin = 0.848193621601337 | erot = 1.86205096555236 | epot = -11.8435937160095 | etot = -9.13334912885584 +248000 ekin = 0.880474358635153 | erot = 1.89308546777788 | epot = -11.9069089552495 | etot = -9.13334912883646 +249000 ekin = 0.914280881218948 | erot = 1.92599713223883 | epot = -11.9736271422837 | etot = -9.13334912882589 +250000 ekin = 0.948746730716193 | erot = 1.96192054843726 | epot = -12.0440164079936 | etot = -9.13334912884018 +251000 ekin = 0.982959063854097 | erot = 2.00165977259901 | epot = -12.117967965348 | etot = -9.13334912889492 +252000 ekin = 1.01592948249834 | erot = 2.04549252396365 | epot = -12.1947711354631 | etot = -9.13334912900107 +253000 ekin = 1.04657777483967 | erot = 2.09303441305961 | epot = -12.2729613170592 | etot = -9.13334912915988 +254000 ekin = 1.07373541755064 | erot = 2.14319803018447 | epot = -12.3502825770981 | etot = -9.13334912936302 +255000 ekin = 1.09620163163021 | erot = 2.19430966720544 | epot = -12.4238604284173 | etot = -9.13334912958161 +256000 ekin = 1.11287206428147 | erot = 2.24438579427432 | epot = -12.4906069883386 | etot = -9.13334912978282 +257000 ekin = 1.12287782510627 | erot = 2.29146665865402 | epot = -12.5476936136917 | etot = -9.13334912993145 +258000 ekin = 1.1257229350027 | erot = 2.33396623628263 | epot = -12.5930383012894 | etot = -9.13334913000407 +259000 ekin = 1.12139026023651 | erot = 2.37095948468542 | epot = -12.6256988749108 | etot = -9.13334912998886 +260000 ekin = 1.11036122819336 | erot = 2.40229658115378 | epot = -12.6460069392473 | etot = -9.13334912990019 +261000 ekin = 1.09354805445089 | erot = 2.42847877902912 | epot = -12.6553759632423 | etot = -9.13334912976232 +262000 ekin = 1.07216031825802 | erot = 2.45046938603017 | epot = -12.6559788338922 | etot = -9.13334912960406 +263000 ekin = 1.0475436871831 | erot = 2.46943297797184 | epot = -12.6503257946118 | etot = -9.13334912945687 +264000 ekin = 1.02102495133846 | erot = 2.48647844637136 | epot = -12.6408525270502 | etot = -9.13334912934037 +265000 ekin = 0.993788783443776 | erot = 2.50247063136386 | epot = -12.6296085440766 | etot = -9.133349129269 +266000 ekin = 0.966800247930049 | erot = 2.51790683905006 | epot = -12.6180562162301 | etot = -9.13334912924995 +267000 ekin = 0.940784249459332 | erot = 2.53283827184806 | epot = -12.6069716505893 | etot = -9.13334912928195 +268000 ekin = 0.916272152394485 | erot = 2.54684612152499 | epot = -12.5964674032728 | etot = -9.13334912935337 +269000 ekin = 0.893722172477293 | erot = 2.55907244306945 | epot = -12.5861437450343 | etot = -9.13334912948759 +270000 ekin = 0.873709285128899 | erot = 2.56799722891213 | epot = -12.5750556436016 | etot = -9.13334912956054 +271000 ekin = 0.857156433251465 | erot = 2.57226369508347 | epot = -12.5627692579077 | etot = -9.13334912957277 +272000 ekin = 0.845541083723895 | erot = 2.57096110909448 | epot = -12.5498513223266 | etot = -9.13334912950826 +273000 ekin = 0.840983736969595 | erot = 2.56364270819374 | epot = -12.5379755745175 | etot = -9.13334912935415 +274000 ekin = 0.846103061110329 | erot = 2.5505449718359 | epot = -12.5299971620895 | etot = -9.13334912914328 +275000 ekin = 0.8635707412448 | erot = 2.53260377851052 | epot = -12.5295236486813 | etot = -9.13334912892599 +276000 ekin = 0.895419299415128 | erot = 2.51114645014782 | epot = -12.5399148783706 | etot = -9.13334912880768 +277000 ekin = 0.942302359418684 | erot = 2.48734970425694 | epot = -12.5630011925123 | etot = -9.13334912883671 +278000 ekin = 1.00299069941579 | erot = 2.46199112036428 | epot = -12.59833094881 | etot = -9.13334912902996 +279000 ekin = 1.07434561589251 | erot = 2.43529774590787 | epot = -12.6429924911401 | etot = -9.13334912933968 +280000 ekin = 1.15182340984025 | erot = 2.40711596365544 | epot = -12.6922885031805 | etot = -9.1333491296848 +281000 ekin = 1.23030856581814 | erot = 2.3772696475126 | epot = -12.7409273433241 | etot = -9.13334912999334 +282000 ekin = 1.3048397487977 | erot = 2.34551973870795 | epot = -12.783708617699 | etot = -9.13334913019334 +283000 ekin = 1.37151257999445 | erot = 2.31231452819901 | epot = -12.8171762384384 | etot = -9.13334913024492 +284000 ekin = 1.42789685319388 | erot = 2.27901843146217 | epot = -12.8402644148118 | etot = -9.13334913015571 +285000 ekin = 1.47299679574469 | erot = 2.24762833985829 | epot = -12.8539742655641 | etot = -9.13334912996108 +286000 ekin = 1.50701906587704 | erot = 2.22050056283338 | epot = -12.8608687584217 | etot = -9.13334912971131 +287000 ekin = 1.53099472144769 | erot = 2.19999584806509 | epot = -12.8643396989723 | etot = -9.13334912945952 +288000 ekin = 1.5463644976888 | erot = 2.18811490987502 | epot = -12.867828536815 | etot = -9.13334912925118 +289000 ekin = 1.55461163491209 | erot = 2.18618804174359 | epot = -12.8741488057736 | etot = -9.1333491291179 +290000 ekin = 1.55699428674678 | erot = 2.19466879450596 | epot = -12.8850122103268 | etot = -9.13334912907411 +291000 ekin = 1.55439775255655 | erot = 2.21306131817982 | epot = -12.9008081998535 | etot = -9.13334912911716 +292000 ekin = 1.54729960240269 | erot = 2.23998314421976 | epot = -12.920631875854 | etot = -9.13334912923156 +293000 ekin = 1.53582108608416 | erot = 2.27333490842362 | epot = -12.9425051239026 | etot = -9.13334912939478 +294000 ekin = 1.51982864506192 | erot = 2.31049721096853 | epot = -12.9636749856261 | etot = -9.13334912959569 +295000 ekin = 1.4990515421335 | erot = 2.34851873983924 | epot = -12.9809194117666 | etot = -9.13334912979385 +296000 ekin = 1.47319364802825 | erot = 2.38443281021054 | epot = -12.990975588222 | etot = -9.13334912998318 +297000 ekin = 1.44203124546003 | erot = 2.41536854589925 | epot = -12.9907489215098 | etot = -9.13334913015052 +298000 ekin = 1.40549976702121 | erot = 2.43867409046074 | epot = -12.9775229877651 | etot = -9.13334913028317 +299000 ekin = 1.36377241662837 | erot = 2.45204871800424 | epot = -12.9491702650002 | etot = -9.13334913036758 +300000 ekin = 1.31732711912191 | erot = 2.45368408092553 | epot = -12.9043603304389 | etot = -9.13334913039146 +301000 ekin = 1.26699022414752 | erot = 2.44240353914579 | epot = -12.84274289364 | etot = -9.13334913034668 +302000 ekin = 1.21394210637188 | erot = 2.4177727859295 | epot = -12.7650640225334 | etot = -9.13334913023199 +303000 ekin = 1.15967414429359 | erot = 2.38015189683651 | epot = -12.6731751711848 | etot = -9.13334913005473 +304000 ekin = 1.10589726251319 | erot = 2.3306693961817 | epot = -12.5699157885247 | etot = -9.1333491298298 +305000 ekin = 1.05441504199283 | erot = 2.27111808933723 | epot = -12.4588822609067 | etot = -9.13334912957668 +306000 ekin = 1.00698421397173 | erot = 2.2037921851408 | epot = -12.3441255284281 | etot = -9.13334912931559 +307000 ekin = 0.965188337627791 | erot = 2.13129764385447 | epot = -12.229835110546 | etot = -9.13334912906376 +308000 ekin = 0.930345631944718 | erot = 2.05636814615618 | epot = -12.1200629069343 | etot = -9.13334912883336 +309000 ekin = 0.903461768093194 | erot = 1.98167791132931 | epot = -12.0184888080555 | etot = -9.13334912863296 +310000 ekin = 0.885228515008207 | erot = 1.9096787021164 | epot = -11.9282563455899 | etot = -9.13334912846534 +311000 ekin = 0.876047647700639 | erot = 1.84263812610115 | epot = -11.8520349021347 | etot = -9.1333491283329 +312000 ekin = 0.876068182199122 | erot = 1.78248869456952 | epot = -11.7919060050077 | etot = -9.13334912823909 +313000 ekin = 0.885223985969969 | erot = 1.7307289288228 | epot = -11.7493020429826 | etot = -9.13334912818982 +314000 ekin = 0.903258342515117 | erot = 1.68832066988407 | epot = -11.7249281405914 | etot = -9.13334912819223 +315000 ekin = 0.92973139171837 | erot = 1.65558558099762 | epot = -11.7186661009697 | etot = -9.13334912825367 +316000 ekin = 0.964013828970545 | erot = 1.63211973509071 | epot = -11.7294826924401 | etot = -9.13334912837886 +317000 ekin = 1.00527629211658 | erot = 1.61675326466501 | epot = -11.7553786853486 | etot = -9.133349128567 +318000 ekin = 1.05248736450112 | erot = 1.60758570940595 | epot = -11.7934222027158 | etot = -9.13334912880877 +319000 ekin = 1.10443332868111 | erot = 1.60212494474541 | epot = -11.8399074025113 | etot = -9.13334912908479 +320000 ekin = 1.15976924920803 | erot = 1.59754526105434 | epot = -11.8906636396275 | etot = -9.13334912936512 +321000 ekin = 1.21710352305647 | erot = 1.59105554518199 | epot = -11.9415081978524 | etot = -9.1333491296139 +322000 ekin = 1.27510751189443 | erot = 1.58033324923121 | epot = -11.9887898909205 | etot = -9.13334912979485 +323000 ekin = 1.33263084645681 | erot = 1.56394390937376 | epot = -12.0299238857109 | etot = -9.13334912988034 +324000 ekin = 1.38879590712182 | erot = 1.54164678485274 | epot = -12.0637918218341 | etot = -9.13334912985956 +325000 ekin = 1.44304623679676 | erot = 1.51450056885298 | epot = -12.0908959353913 | etot = -9.13334912974154 +326000 ekin = 1.49513435445649 | erot = 1.48473073066082 | epot = -12.1132142146708 | etot = -9.13334912955353 +327000 ekin = 1.54505065938314 | erot = 1.45538400860374 | epot = -12.1337837973217 | etot = -9.13334912933481 +328000 ekin = 1.59290981434222 | erot = 1.42984788209372 | epot = -12.1561068255641 | etot = -9.13334912912813 +329000 ekin = 1.63881860975595 | erot = 1.41133335467821 | epot = -12.1835010934066 | etot = -9.13334912897247 +330000 ekin = 1.68274896183067 | erot = 1.40240729591368 | epot = -12.2185053866423 | etot = -9.13334912889792 +331000 ekin = 1.72443467169541 | erot = 1.40463116342043 | epot = -12.2624149640398 | etot = -9.13334912892392 +332000 ekin = 1.76330533674306 | erot = 1.41833479327466 | epot = -12.3149892590748 | etot = -9.13334912905709 +333000 ekin = 1.79846823309272 | erot = 1.44253834966228 | epot = -12.3743557120448 | etot = -9.13334912928976 +334000 ekin = 1.82874900591091 | erot = 1.47503277033851 | epot = -12.4371309058479 | etot = -9.13334912959843 +335000 ekin = 1.85279616115815 | erot = 1.51263570197495 | epot = -12.4987809930766 | etot = -9.13334912994346 +336000 ekin = 1.86927630558769 | erot = 1.55160162438146 | epot = -12.5542270602388 | etot = -9.13334913026965 +337000 ekin = 1.87711735413928 | erot = 1.58820049773309 | epot = -12.5986669823879 | etot = -9.13334913051552 +338000 ekin = 1.8757484092316 | erot = 1.6193886872291 | epot = -12.6284862270853 | etot = -9.13334913062456 +339000 ekin = 1.86534866362714 | erot = 1.64338736517832 | epot = -12.6420851593669 | etot = -9.13334913056142 +340000 ekin = 1.84695798886988 | erot = 1.66009075059751 | epot = -12.6403978697905 | etot = -9.13334913032312 +341000 ekin = 1.82243969076644 | erot = 1.67114820362586 | epot = -12.6269370243339 | etot = -9.13334912994157 +342000 ekin = 1.79428655955874 | erot = 1.67969211618902 | epot = -12.6073278052238 | etot = -9.133349129476 +343000 ekin = 1.76531632972536 | erot = 1.68978090506872 | epot = -12.5884463637908 | etot = -9.1333491289967 +344000 ekin = 1.73833039739277 | erot = 1.70570000747006 | epot = -12.5773795334332 | etot = -9.13334912857035 +345000 ekin = 1.71580589060262 | erot = 1.73127559556322 | epot = -12.580430614415 | etot = -9.13334912824918 +346000 ekin = 1.69966353097581 | erot = 1.7693123493474 | epot = -12.6023250083908 | etot = -9.13334912806759 +347000 ekin = 1.69112042623267 | erot = 1.82120184302259 | epot = -12.6456713972998 | etot = -9.13334912804452 +348000 ekin = 1.69061396982738 | erot = 1.88669704033596 | epot = -12.7106601383503 | etot = -9.13334912818693 +349000 ekin = 1.69777681788179 | erot = 1.96382926866177 | epot = -12.7949552150348 | etot = -9.13334912849127 +350000 ekin = 1.71145115010227 | erot = 2.04895591402528 | epot = -12.8937561930704 | etot = -9.13334912894289 +351000 ekin = 1.72974629646146 | erot = 2.1369563691048 | epot = -13.0000517950767 | etot = -9.13334912951043 +352000 ekin = 1.75015893903906 | erot = 2.22162008456579 | epot = -13.1051281537452 | etot = -9.13334913014033 +353000 ekin = 1.76978034905526 | erot = 2.29627029645936 | epot = -13.1993997762715 | etot = -9.13334913075683 +354000 ekin = 1.78560210911934 | erot = 2.35462017023363 | epot = -13.2735714106202 | etot = -9.13334913126719 +355000 ekin = 1.79489785472827 | erot = 2.39176336004102 | epot = -13.3200103463511 | etot = -9.13334913158185 +356000 ekin = 1.79561393246587 | erot = 2.40509186859446 | epot = -13.3340549326997 | etot = -9.13334913163939 +357000 ekin = 1.78667091072642 | erot = 2.39487614134841 | epot = -13.3148961835033 | etot = -9.13334913142845 +358000 ekin = 1.76810167230534 | erot = 2.36429897994076 | epot = -13.2657497831712 | etot = -9.13334913092509 +359000 ekin = 1.74170569044722 | erot = 2.31907684809554 | epot = -13.1941316689282 | etot = -9.13334913038545 +360000 ekin = 1.70943632676221 | erot = 2.26611368397208 | epot = -13.1088991405415 | etot = -9.13334912980724 +361000 ekin = 1.6731500596548 | erot = 2.21234166615765 | epot = -13.0188408550993 | etot = -9.13334912928682 +362000 ekin = 1.634809940016 | erot = 2.16376887379865 | epot = -12.9319279427069 | etot = -9.13334912889222 +363000 ekin = 1.59622606057565 | erot = 2.12469986683786 | epot = -12.8542750560711 | etot = -9.13334912865763 +364000 ekin = 1.55890205833807 | erot = 2.09734631559797 | epot = -12.7895975025222 | etot = -9.13334912858612 +365000 ekin = 1.52397421076796 | erot = 2.08181308416692 | epot = -12.739136423592 | etot = -9.13334912865715 +366000 ekin = 1.49221260734036 | erot = 2.07639009796169 | epot = -12.7019518341359 | etot = -9.13334912883381 +367000 ekin = 1.46405952364985 | erot = 2.07805510122118 | epot = -12.6754637539441 | etot = -9.13334912907312 +368000 ekin = 1.43967726932424 | erot = 2.08307216057543 | epot = -12.656098559234 | etot = -9.13334912933437 +369000 ekin = 1.41899010811527 | erot = 2.08756917147217 | epot = -12.6399084091733 | etot = -9.13334912958585 +370000 ekin = 1.40171557356816 | erot = 2.08800173652823 | epot = -12.6230664399027 | etot = -9.1333491298063 +371000 ekin = 1.38739280854927 | erot = 2.08146226240579 | epot = -12.6022042009378 | etot = -9.1333491299827 +372000 ekin = 1.37542340308652 | erot = 2.0658519370229 | epot = -12.5746244702144 | etot = -9.133349130105 +373000 ekin = 1.36513752357975 | erot = 2.03996886737111 | epot = -12.5384555211137 | etot = -9.13334913016288 +374000 ekin = 1.35583949105233 | erot = 2.00351975772433 | epot = -12.492708378947 | etot = -9.13334913017032 +375000 ekin = 1.34694157711505 | erot = 1.9571603826854 | epot = -12.4374510898693 | etot = -9.13334913006881 +376000 ekin = 1.33814968105308 | erot = 1.90258032253329 | epot = -12.3740791334843 | etot = -9.13334912989794 +377000 ekin = 1.32936261120845 | erot = 1.84227265725227 | epot = -12.3049843981382 | etot = -9.13334912967749 +378000 ekin = 1.32063159991379 | erot = 1.77926043319037 | epot = -12.2332411625439 | etot = -9.1333491294397 +379000 ekin = 1.3120834036888 | erot = 1.71672941783635 | epot = -12.1621619507418 | etot = -9.13334912921662 +380000 ekin = 1.30384179784224 | erot = 1.65764204155785 | epot = -12.0948329684342 | etot = -9.13334912903407 +381000 ekin = 1.29657917475835 | erot = 1.60487100826682 | epot = -12.0347993118456 | etot = -9.13334912882041 +382000 ekin = 1.29092190134688 | erot = 1.56061067707075 | epot = -11.9848817072435 | etot = -9.13334912882587 +383000 ekin = 1.28620909068414 | erot = 1.52536833769996 | epot = -11.9449265572234 | etot = -9.13334912883934 +384000 ekin = 1.28205683099616 | erot = 1.49922806168814 | epot = -11.9146340215165 | etot = -9.13334912883216 +385000 ekin = 1.27850478017852 | erot = 1.48216189144812 | epot = -11.8940158004146 | etot = -9.13334912878801 +386000 ekin = 1.27603762173976 | erot = 1.47423730493005 | epot = -11.8836240553806 | etot = -9.13334912871082 +387000 ekin = 1.27548287271889 | erot = 1.47565716104732 | epot = -11.8844891623906 | etot = -9.1333491286244 +388000 ekin = 1.27780044585764 | erot = 1.4866096409742 | epot = -11.8977592153989 | etot = -9.13334912856707 +389000 ekin = 1.28381262703554 | erot = 1.50697425852406 | epot = -11.9241360141389 | etot = -9.13334912857925 +390000 ekin = 1.29393930260835 | erot = 1.53598035068249 | epot = -11.9632687819863 | etot = -9.1333491286955 +391000 ekin = 1.30800074456092 | erot = 1.57190984924451 | epot = -12.0132597227351 | etot = -9.13334912892964 +392000 ekin = 1.32513099179442 | erot = 1.6119758486771 | epot = -12.0704559697441 | etot = -9.13334912927258 +393000 ekin = 1.34382543000144 | erot = 1.65241448883384 | epot = -12.1295890485257 | etot = -9.13334912969045 +394000 ekin = 1.36212102398638 | erot = 1.6888101262474 | epot = -12.1842802803632 | etot = -9.13334913012946 +395000 ekin = 1.37788072140313 | erot = 1.71661593054037 | epot = -12.2278457824682 | etot = -9.13334913052473 +396000 ekin = 1.38913154512396 | erot = 1.73181112618336 | epot = -12.2542918021054 | etot = -9.13334913079804 +397000 ekin = 1.39439357479726 | erot = 1.73153617599066 | epot = -12.259278881721 | etot = -9.13334913093312 +398000 ekin = 1.39293904659167 | erot = 1.71441550438762 | epot = -12.2407036818559 | etot = -9.13334913087659 +399000 ekin = 1.38493174777411 | erot = 1.68094766350892 | epot = -12.1992285419456 | etot = -9.13334913066253 +400000 ekin = 1.37142116074065 | erot = 1.63330764197891 | epot = -12.1380779330258 | etot = -9.13334913030619 +401000 ekin = 1.3541299125241 | erot = 1.57501044311702 | epot = -12.0624894855341 | etot = -9.13334912989297 +402000 ekin = 1.33517991856866 | erot = 1.5104836498003 | epot = -11.9790126977741 | etot = -9.13334912940515 +403000 ekin = 1.31709653187235 | erot = 1.44458891478892 | epot = -11.8950345756004 | etot = -9.13334912893911 +404000 ekin = 1.30234590493843 | erot = 1.38198365576714 | epot = -11.8176786892413 | etot = -9.13334912853574 +405000 ekin = 1.29301391716244 | erot = 1.32673455588816 | epot = -11.7530976012891 | etot = -9.1333491282385 +406000 ekin = 1.29065467462766 | erot = 1.28204116436335 | epot = -11.7060449670173 | etot = -9.13334912802629 +407000 ekin = 1.29643237294776 | erot = 1.25006436588379 | epot = -11.6798458667512 | etot = -9.13334912791969 +408000 ekin = 1.31094700615233 | erot = 1.23190986721494 | epot = -11.6762060012839 | etot = -9.13334912791662 +409000 ekin = 1.3342243830335 | erot = 1.22763489752233 | epot = -11.6952084085713 | etot = -9.13334912801545 +410000 ekin = 1.36572014154938 | erot = 1.23628017302484 | epot = -11.7353494427869 | etot = -9.13334912821272 +411000 ekin = 1.4043266876074 | erot = 1.25592548503562 | epot = -11.7936013011448 | etot = -9.13334912850182 +412000 ekin = 1.44839088645834 | erot = 1.28379672627847 | epot = -11.8655367416051 | etot = -9.13334912886833 +413000 ekin = 1.49576795241815 | erot = 1.31646032748924 | epot = -11.9455774091914 | etot = -9.13334912928402 +414000 ekin = 1.5439492088942 | erot = 1.35014055217855 | epot = -12.027438890777 | etot = -9.13334912970421 +415000 ekin = 1.59029421705112 | erot = 1.38116660571169 | epot = -12.1048099528338 | etot = -9.13334913007095 +416000 ekin = 1.63235973909058 | erot = 1.40649922749285 | epot = -12.1722080969091 | etot = -9.13334913032568 +417000 ekin = 1.66825800489166 | erot = 1.42422016761161 | epot = -12.2258273029358 | etot = -9.13334913043252 +418000 ekin = 1.69693219837184 | erot = 1.43381449957472 | epot = -12.2640958283215 | etot = -9.13334913037492 +419000 ekin = 1.71824951894736 | erot = 1.43620625779617 | epot = -12.2878049069281 | etot = -9.13334913018453 +420000 ekin = 1.73288337430514 | erot = 1.43350825350777 | epot = -12.2997407577244 | etot = -9.1333491299115 +421000 ekin = 1.74204129532326 | erot = 1.4285602867495 | epot = -12.3039507116833 | etot = -9.13334912961054 +422000 ekin = 1.74713701807662 | erot = 1.42445618730831 | epot = -12.3049423347128 | etot = -9.13334912932785 +423000 ekin = 1.74949063384663 | erot = 1.42413436044403 | epot = -12.3069741233953 | etot = -9.13334912910463 +424000 ekin = 1.7500975464296 | erot = 1.43005641925169 | epot = -12.3135030946284 | etot = -9.13334912894713 +425000 ekin = 1.74947257256678 | erot = 1.44412400802352 | epot = -12.3269457094746 | etot = -9.1333491288843 +426000 ekin = 1.69664946387399 | erot = 1.40011304962673 | epot = -12.2301116346004 | etot = -9.13334912109972 +427000 ekin = 1.76448154345933 | erot = 1.46695774970221 | epot = -12.364788469981 | etot = -9.13334917681948 +428000 ekin = 1.77864040382709 | erot = 1.51204937412293 | epot = -12.4240389057583 | etot = -9.13334912780824 +429000 ekin = 1.77744254090633 | erot = 1.55645173379942 | epot = -12.4672434028106 | etot = -9.13334912810484 +430000 ekin = 1.76864481713901 | erot = 1.60567169371236 | epot = -12.5076656392895 | etot = -9.13334912843816 +431000 ekin = 1.75041443993041 | erot = 1.65655638514198 | epot = -12.5403199538344 | etot = -9.13334912876204 +432000 ekin = 1.72143753020921 | erot = 1.70559294341375 | epot = -12.5603796026449 | etot = -9.13334912902196 +433000 ekin = 1.68129756274196 | erot = 1.74934007551163 | epot = -12.5639867674191 | etot = -9.13334912916547 +434000 ekin = 1.6307765097995 | erot = 1.78490039303317 | epot = -12.5490260319879 | etot = -9.13334912915522 +435000 ekin = 1.57198882084473 | erot = 1.81033246556209 | epot = -12.5156704153878 | etot = -9.13334912898102 +436000 ekin = 1.50828072851458 | erot = 1.82489908961108 | epot = -12.4665289467911 | etot = -9.13334912866549 +437000 ekin = 1.44388315301215 | erot = 1.82908776308002 | epot = -12.4063200443511 | etot = -9.13334912825894 +438000 ekin = 1.38337900429706 | erot = 1.82441107452533 | epot = -12.3411392066478 | etot = -9.13334912782545 +439000 ekin = 1.33110407576216 | erot = 1.81306694504084 | epot = -12.2775201482282 | etot = -9.13334912742516 +440000 ekin = 1.29061754888996 | erot = 1.79757475508363 | epot = -12.2215414310742 | etot = -9.13334912710057 +441000 ekin = 1.26434687832154 | erot = 1.78048600607395 | epot = -12.1781820112662 | etot = -9.13334912687068 +442000 ekin = 1.25344985037923 | erot = 1.76421040799427 | epot = -12.1510093851079 | etot = -9.13334912673437 +443000 ekin = 1.25787308938408 | erot = 1.7509340047669 | epot = -12.1421562208304 | etot = -9.13334912667946 +444000 ekin = 1.27654491138799 | erot = 1.74256727852004 | epot = -12.1524613166018 | etot = -9.13334912669374 +445000 ekin = 1.30762960642476 | erot = 1.74066161517015 | epot = -12.1816403483645 | etot = -9.13334912676961 +446000 ekin = 1.3487848533523 | erot = 1.74626611357075 | epot = -12.2284000938277 | etot = -9.13334912690466 +447000 ekin = 1.39739993763746 | erot = 1.75974793458065 | epot = -12.2904969993185 | etot = -9.13334912710037 +448000 ekin = 1.45076649190917 | erot = 1.7806071793413 | epot = -12.364722798603 | etot = -9.13334912735256 +449000 ekin = 1.50623999605376 | erot = 1.80738848344697 | epot = -12.4469776071506 | etot = -9.13334912764992 +450000 ekin = 1.56138908054617 | erot = 1.83773497344343 | epot = -12.5324731819609 | etot = -9.1333491279713 +451000 ekin = 1.61412412964542 | erot = 1.86859865234422 | epot = -12.6160719102768 | etot = -9.13334912828714 +452000 ekin = 1.6628093163013 | erot = 1.89658548036375 | epot = -12.6927439252283 | etot = -9.1333491285633 +453000 ekin = 1.70634971637105 | erot = 1.91837476586798 | epot = -12.7580736110109 | etot = -9.1333491287719 +454000 ekin = 1.74423056750383 | erot = 1.93111374790632 | epot = -12.8086934443058 | etot = -9.13334912889565 +455000 ekin = 1.77648988409902 | erot = 1.93270291378172 | epot = -12.8425419268138 | etot = -9.13334912893303 +456000 ekin = 1.80361911556758 | erot = 1.92192628287797 | epot = -12.8588945273422 | etot = -9.13334912889667 +457000 ekin = 1.82640016706239 | erot = 1.89842961389939 | epot = -12.8581789097705 | etot = -9.13334912880868 +458000 ekin = 1.84570455025963 | erot = 1.86259298695739 | epot = -12.8416466659125 | etot = -9.13334912869546 +459000 ekin = 1.86229070170975 | erot = 1.8153534231514 | epot = -12.8109932534393 | etot = -9.13334912857818 +460000 ekin = 1.87663848085893 | erot = 1.75803306182783 | epot = -12.7680206711608 | etot = -9.13334912847404 +461000 ekin = 1.88883864523215 | erot = 1.69219746384297 | epot = -12.7143852374647 | etot = -9.13334912838955 +462000 ekin = 1.89856203652326 | erot = 1.6195667802744 | epot = -12.6514779451227 | etot = -9.133349128325 +463000 ekin = 1.90510221764502 | erot = 1.54196437877849 | epot = -12.5804157247001 | etot = -9.1333491282766 +464000 ekin = 1.90747686786683 | erot = 1.46127993198489 | epot = -12.502105928087 | etot = -9.13334912823527 +465000 ekin = 1.90457977356189 | erot = 1.37946070091747 | epot = -12.4173896026655 | etot = -9.13334912818618 +466000 ekin = 1.89536572152358 | erot = 1.29851485172168 | epot = -12.3272297013671 | etot = -9.13334912812186 +467000 ekin = 1.87901831710009 | erot = 1.22048659414398 | epot = -12.2328540392803 | etot = -9.13334912803627 +468000 ekin = 1.85509917792091 | erot = 1.1473912628406 | epot = -12.13583956869 | etot = -9.13334912792853 +469000 ekin = 1.82366605107355 | erot = 1.08110787535096 | epot = -12.0381230542272 | etot = -9.13334912780273 +470000 ekin = 1.78535216075648 | erot = 1.02324127043684 | epot = -11.9419425588579 | etot = -9.13334912766458 +471000 ekin = 1.74141051513421 | erot = 0.974982090043725 | epot = -11.8497417326974 | etot = -9.13334912751951 +472000 ekin = 1.69372019705975 | erot = 0.937000644455065 | epot = -11.7640699688868 | etot = -9.13334912737203 +473000 ekin = 1.64473632771015 | erot = 0.909402534931994 | epot = -11.6874879898697 | etot = -9.13334912722754 +474000 ekin = 1.59734995177404 | erot = 0.891755018431719 | epot = -11.6224540973016 | etot = -9.13334912709589 +475000 ekin = 1.55462885495293 | erot = 0.883174765260449 | epot = -11.5711527472053 | etot = -9.13334912699189 +476000 ekin = 1.51944866261199 | erot = 0.882459888569853 | epot = -11.5352576781139 | etot = -9.13334912693209 +477000 ekin = 1.49408243529063 | erot = 0.888250161717153 | epot = -11.515681723936 | etot = -9.13334912692819 +478000 ekin = 1.4798562258565 | erot = 0.899197335533059 | epot = -11.5124026883719 | etot = -9.13334912698235 +479000 ekin = 1.47695373952859 | erot = 0.914115348457697 | epot = -11.5244182150805 | etot = -9.13334912709421 +480000 ekin = 1.48439477575451 | erot = 0.932072516621074 | epot = -11.5498164196183 | etot = -9.13334912724273 +481000 ekin = 1.50022741217501 | erot = 0.952423999184349 | epot = -11.5860005387821 | etot = -9.13334912742275 +482000 ekin = 1.52172985963404 | erot = 0.974754211846627 | epot = -11.6298331991075 | etot = -9.13334912762685 +483000 ekin = 1.54567018241475 | erot = 0.998770450814902 | epot = -11.6777897610758 | etot = -9.13334912784619 +484000 ekin = 1.56858614723056 | erot = 1.02419763510876 | epot = -11.7261329104084 | etot = -9.1333491280691 +485000 ekin = 1.5870734695504 | erot = 1.05070585623167 | epot = -11.771128454062 | etot = -9.1333491282799 +486000 ekin = 1.59807103603055 | erot = 1.07788995424718 | epot = -11.809310118738 | etot = -9.13334912846031 +487000 ekin = 1.59911980804395 | erot = 1.10529931942213 | epot = -11.8377682560594 | etot = -9.13334912859333 +488000 ekin = 1.58856342116616 | erot = 1.13249736396264 | epot = -11.8544099137962 | etot = -9.13334912866743 +489000 ekin = 1.56566142904661 | erot = 1.15911683125844 | epot = -11.8581273889842 | etot = -9.13334912867911 +490000 ekin = 1.5306026855461 | erot = 1.18488502427377 | epot = -11.8488368384537 | etot = -9.13334912863386 +491000 ekin = 1.4844342706942 | erot = 1.20959914016026 | epot = -11.8273825393274 | etot = -9.13334912847297 +492000 ekin = 1.42930345354388 | erot = 1.23291829593372 | epot = -11.7955708778621 | etot = -9.13334912838453 +493000 ekin = 1.3674956414507 | erot = 1.2543854460511 | epot = -11.7552302157779 | etot = -9.13334912827613 +494000 ekin = 1.30137262987975 | erot = 1.27348228002552 | epot = -11.708204038061 | etot = -9.13334912815568 +495000 ekin = 1.23360970816894 | erot = 1.28954660636143 | epot = -11.6565054425584 | etot = -9.13334912802799 +496000 ekin = 1.16375548640691 | erot = 1.3002319560856 | epot = -11.5973366205377 | etot = -9.13334917804515 +497000 ekin = 1.02574644939778 | erot = 1.24927230426217 | epot = -11.4083678755021 | etot = -9.13334912184212 +498000 ekin = 1.13339044616663 | erot = 1.24939677704446 | epot = -11.5161363891186 | etot = -9.13334916590748 +499000 ekin = 1.1643476239328 | erot = 1.2586467315497 | epot = -11.5563434800384 | etot = -9.13334912455595 +500000 ekin = 1.16768486506805 | erot = 1.25769344443913 | epot = -11.5587274345818 | etot = -9.13334912507467 +501000 ekin = 1.17559895497574 | erot = 1.25038915442602 | epot = -11.5593372343045 | etot = -9.13334912490274 +502000 ekin = 1.18926606273964 | erot = 1.23784323633042 | epot = -11.5604584237508 | etot = -9.13334912468077 +503000 ekin = 1.20982408114982 | erot = 1.22204157664332 | epot = -11.5652147822326 | etot = -9.1333491244395 +504000 ekin = 1.23811782737094 | erot = 1.20572865378445 | epot = -11.5771956053593 | etot = -9.13334912420395 +505000 ekin = 1.27460966228848 | erot = 1.19199209322162 | epot = -11.599950879511 | etot = -9.13334912400085 +506000 ekin = 1.31928047819669 | erot = 1.18393687677918 | epot = -11.6365664788306 | etot = -9.13334912385476 +507000 ekin = 1.37157700900589 | erot = 1.18435118386637 | epot = -11.6892773166552 | etot = -9.13334912378295 +508000 ekin = 1.43042502721634 | erot = 1.19541187481652 | epot = -11.759186025826 | etot = -9.13334912379309 +509000 ekin = 1.49431413372954 | erot = 1.21846596295747 | epot = -11.84612922057 | etot = -9.13334912388303 +510000 ekin = 1.56143815900091 | erot = 1.25390781315509 | epot = -11.9486950961993 | etot = -9.13334912404329 +511000 ekin = 1.62985405359645 | erot = 1.30115550674131 | epot = -12.0643586845984 | etot = -9.13334912426069 +512000 ekin = 1.69760948238553 | erot = 1.35871536004462 | epot = -12.1896739669537 | etot = -9.13334912452353 +513000 ekin = 1.76279412854899 | erot = 1.42431355746946 | epot = -12.3204568108429 | etot = -9.13334912482448 +514000 ekin = 1.82349978434328 | erot = 1.49507387317972 | epot = -12.4519227826811 | etot = -9.13334912515808 +515000 ekin = 1.87772649131842 | erot = 1.56773414236326 | epot = -12.5788097591951 | etot = -9.13334912551346 +516000 ekin = 1.92332299298634 | erot = 1.63891274676095 | epot = -12.6955848656127 | etot = -9.13334912586538 +517000 ekin = 1.95805681102191 | erot = 1.70543998934226 | epot = -12.7968459265369 | etot = -9.13334912617277 +518000 ekin = 1.97984991947131 | erot = 1.76473849815428 | epot = -12.8779375440131 | etot = -9.13334912638746 +519000 ekin = 1.98711819296806 | erot = 1.81518192785056 | epot = -12.9356492472892 | etot = -9.13334912647053 +520000 ekin = 1.97908911077307 | erot = 1.85632478175216 | epot = -12.9687630189372 | etot = -9.13334912641193 +521000 ekin = 1.95594858056491 | erot = 1.88892760796818 | epot = -12.9782253147591 | etot = -9.13334912622604 +522000 ekin = 1.91881161738275 | erot = 1.91475582237592 | epot = -12.9669165657094 | etot = -9.13334912595078 +523000 ekin = 1.86954045343384 | erot = 1.93620351350401 | epot = -12.9390930925734 | etot = -9.13334912563555 +524000 ekin = 1.81047332181796 | erot = 1.95582271022227 | epot = -12.8996451573717 | etot = -9.1333491253315 +525000 ekin = 1.74413482435803 | erot = 1.97582576721665 | epot = -12.853309716661 | etot = -9.13334912508635 +526000 ekin = 1.67297434025033 | erot = 1.99761678040497 | epot = -12.8039402455932 | etot = -9.1333491249379 +527000 ekin = 1.5991686561631 | erot = 2.02141684187647 | epot = -12.753934622946 | etot = -9.13334912490644 +528000 ekin = 1.52452149634769 | erot = 2.046058779126 | epot = -12.7039294004621 | etot = -9.1333491249884 +529000 ekin = 1.4504814163815 | erot = 2.06903286947805 | epot = -12.6528634110116 | etot = -9.13334912515203 +530000 ekin = 1.37827485203473 | erot = 2.0868382112308 | epot = -12.5984621886064 | etot = -9.13334912534092 +531000 ekin = 1.3091154482528 | erot = 2.09562136598182 | epot = -12.5380859397209 | etot = -9.1333491254863 +532000 ekin = 1.24441932207011 | erot = 2.09198653946293 | epot = -12.4697549870592 | etot = -9.13334912552613 +533000 ekin = 1.18594679653286 | erot = 2.07377924595502 | epot = -12.3930751679117 | etot = -9.13334912542376 +534000 ekin = 1.1358131246152 | erot = 2.04062941960225 | epot = -12.3097916693957 | etot = -9.13334912517824 +535000 ekin = 1.09635528031573 | erot = 1.99411201499638 | epot = -12.2238164201347 | etot = -9.13334912482263 +536000 ekin = 1.06988655695763 | erot = 1.93750945181547 | epot = -12.1407451331865 | etot = -9.13334912441337 +537000 ekin = 1.05839509271428 | erot = 1.87547351818765 | epot = -12.067217734895 | etot = -9.13334912399308 +538000 ekin = 1.0632389138569 | erot = 1.81331424698671 | epot = -12.0099022845221 | etot = -9.13334912367847 +539000 ekin = 1.08487929970153 | erot = 1.75562392314899 | epot = -11.9738523463437 | etot = -9.1333491234932 +540000 ekin = 1.12268189023152 | erot = 1.70611667318676 | epot = -11.9621476868923 | etot = -9.13334912347407 +541000 ekin = 1.17481105396039 | erot = 1.66717481231005 | epot = -11.9753349899086 | etot = -9.13334912363814 +542000 ekin = 1.23824417791102 | erot = 1.63956314455323 | epot = -12.0111564464434 | etot = -9.13334912397912 +543000 ekin = 1.30892832432196 | erot = 1.62236761446703 | epot = -12.0646450632514 | etot = -9.13334912446245 +544000 ekin = 1.38208514507633 | erot = 1.61318872881496 | epot = -12.1286229989214 | etot = -9.13334912503009 +545000 ekin = 1.45263801176139 | erot = 1.60857948401433 | epot = -12.194566621382 | etot = -9.13334912560626 +546000 ekin = 1.51570974605577 | erot = 1.60467377472423 | epot = -12.2537326468904 | etot = -9.13334912611039 +547000 ekin = 1.56711452712077 | erot = 1.5978880038112 | epot = -12.2983516574063 | etot = -9.13334912647434 +548000 ekin = 1.60376221827811 | erot = 1.58554162816014 | epot = -12.3226529730938 | etot = -9.13334912665559 +549000 ekin = 1.6239104162595 | erot = 1.56625626420505 | epot = -12.3235158071101 | etot = -9.13334912664558 +550000 ekin = 1.62723358008672 | erot = 1.54012357327806 | epot = -12.30070627981 | etot = -9.13334912644519 +551000 ekin = 1.61471889891336 | erot = 1.50851459569879 | epot = -12.2565826207564 | etot = -9.13334912614428 +552000 ekin = 1.58843016682055 | erot = 1.4734893638341 | epot = -12.1952686564244 | etot = -9.13334912576979 +553000 ekin = 1.55120098109625 | erot = 1.43753302718273 | epot = -12.1220831336482 | etot = -9.1333491253692 +554000 ekin = 1.50631636212865 | erot = 1.40318755322487 | epot = -12.0428530403314 | etot = -9.1333491249779 +555000 ekin = 1.45722878986198 | erot = 1.3727969819938 | epot = -11.9633748964754 | etot = -9.13334912461958 +556000 ekin = 1.40732293284862 | erot = 1.34837590638604 | epot = -11.8890479635409 | etot = -9.13334912430622 +557000 ekin = 1.35973750772558 | erot = 1.33157707038633 | epot = -11.8246637021546 | etot = -9.1333491240427 +558000 ekin = 1.3172359073265 | erot = 1.3237162803257 | epot = -11.7743013114838 | etot = -9.13334912383159 +559000 ekin = 1.2821102830885 | erot = 1.32580526483737 | epot = -11.7412646716021 | etot = -9.13334912367621 +560000 ekin = 1.25610590404606 | erot = 1.33855626266036 | epot = -11.7280112902894 | etot = -9.133349123583 +561000 ekin = 1.24035844263076 | erot = 1.36234138770616 | epot = -11.7360489538972 | etot = -9.13334912356032 +562000 ekin = 1.23534624012456 | erot = 1.39711468447884 | epot = -11.7658100482193 | etot = -9.1333491236159 +563000 ekin = 1.24087113988293 | erot = 1.4423315029889 | epot = -11.8165517666224 | etot = -9.13334912375058 +564000 ekin = 1.25609129142967 | erot = 1.49691875868316 | epot = -11.8863591740662 | etot = -9.13334912395332 +565000 ekin = 1.27963015842585 | erot = 1.55937933471928 | epot = -11.9723586173333 | etot = -9.13334912418822 +566000 ekin = 1.30976945418509 | erot = 1.62795664726991 | epot = -12.071075225903 | etot = -9.13334912444796 +567000 ekin = 1.34469873511446 | erot = 1.70073738337955 | epot = -12.1787852431846 | etot = -9.13334912469059 +568000 ekin = 1.3827577993095 | erot = 1.77591787231153 | epot = -12.2920247965257 | etot = -9.13334912490467 +569000 ekin = 1.42260294142512 | erot = 1.85183127902824 | epot = -12.4077833455478 | etot = -9.13334912509444 +570000 ekin = 1.46311433096258 | erot = 1.92670412005392 | epot = -12.5231675763841 | etot = -9.13334912536755 +571000 ekin = 1.50327753329096 | erot = 1.99853100880983 | epot = -12.6351576677818 | etot = -9.13334912568103 +572000 ekin = 1.54192966726804 | erot = 2.0649761373004 | epot = -12.7402549304433 | etot = -9.13334912587482 +573000 ekin = 1.57823855407033 | erot = 2.12427016696493 | epot = -12.8358578469925 | etot = -9.13334912595728 +574000 ekin = 1.61207502224245 | erot = 2.17570201380688 | epot = -12.9211261619195 | etot = -9.13334912587019 +575000 ekin = 1.64402582173614 | erot = 2.22028441014118 | epot = -12.9976593575029 | etot = -9.13334912562555 +576000 ekin = 1.67538587678149 | erot = 2.26042238856294 | epot = -13.0691573906352 | etot = -9.13334912529081 +577000 ekin = 1.7078920937872 | erot = 2.29915883242306 | epot = -13.1404000511779 | etot = -9.13334912496764 +578000 ekin = 1.74326819508177 | erot = 2.33909725076169 | epot = -13.2157145705919 | etot = -9.13334912474848 +579000 ekin = 1.78272231838101 | erot = 2.38182643842008 | epot = -13.2978978814957 | etot = -9.13334912469457 +580000 ekin = 1.82652189372822 | erot = 2.42751679139619 | epot = -13.3873878099572 | etot = -9.13334912483282 +581000 ekin = 1.87370675175303 | erot = 2.47480205693856 | epot = -13.4818579338654 | etot = -9.13334912517378 +582000 ekin = 1.92197052578468 | erot = 2.5209271515326 | epot = -13.576246802977 | etot = -9.13334912565971 +583000 ekin = 1.96774925896929 | erot = 2.5622766080168 | epot = -13.6633749932262 | etot = -9.13334912624012 +584000 ekin = 2.00657374540297 | erot = 2.59498886542894 | epot = -13.7349117376518 | etot = -9.1333491268199 +585000 ekin = 2.03371871575794 | erot = 2.6156627420042 | epot = -13.7827305850441 | etot = -9.13334912728194 +586000 ekin = 2.04507827703381 | erot = 2.62214006251515 | epot = -13.8005674670651 | etot = -9.13334912751611 +587000 ekin = 2.03806243485746 | erot = 2.61411994889086 | epot = -13.7855315112076 | etot = -9.13334912745932 +588000 ekin = 2.01223115184444 | erot = 2.59335030112075 | epot = -13.7389305800901 | etot = -9.13334912712496 +589000 ekin = 1.96942837554651 | erot = 2.56324673362772 | epot = -13.6660242357781 | etot = -9.13334912660385 +590000 ekin = 1.91334419959089 | erot = 2.52801524733256 | epot = -13.574708572955 | etot = -9.13334912603151 +591000 ekin = 1.84865383330884 | erot = 2.4915831336859 | epot = -13.4735860925299 | etot = -9.13334912553512 +592000 ekin = 1.78006004419929 | erot = 2.45674050607992 | epot = -13.3701496754639 | etot = -9.13334912518467 +593000 ekin = 1.71159279762526 | erot = 2.42478693108587 | epot = -13.2697288536894 | etot = -9.13334912497825 +594000 ekin = 1.64634946405755 | erot = 2.39569805900575 | epot = -13.1753966479338 | etot = -9.13334912487046 +595000 ekin = 1.5865947994934 | erot = 2.36854432556366 | epot = -13.0884882498757 | etot = -9.13334912481863 +596000 ekin = 1.53398103551819 | erot = 2.34182175784585 | epot = -13.0091519181739 | etot = -9.13334912480987 +597000 ekin = 1.48969441622987 | erot = 2.31355286209804 | epot = -12.9365964031787 | etot = -9.13334912485079 +598000 ekin = 1.45449014890813 | erot = 2.28129539495166 | epot = -12.8691346688017 | etot = -9.13334912494188 +599000 ekin = 1.4286828360633 | erot = 2.24230571379077 | epot = -12.8043376749144 | etot = -9.13334912506028 +600000 ekin = 1.41215819513153 | erot = 2.19421771508645 | epot = -12.7397250351149 | etot = -9.13334912489694 +601000 ekin = 1.40437980063996 | erot = 2.13675092847909 | epot = -12.6744798541792 | etot = -9.13334912506017 +602000 ekin = 1.40442466853487 | erot = 2.0686359576415 | epot = -12.6064097512942 | etot = -9.13334912511782 +603000 ekin = 1.41112302449782 | erot = 1.98998056957469 | epot = -12.5344527191434 | etot = -9.13334912507092 +604000 ekin = 1.42310135152322 | erot = 1.9027452432284 | epot = -12.4591957196956 | etot = -9.13334912494394 +605000 ekin = 1.43883447822635 | erot = 1.81030632011162 | epot = -12.382489923109 | etot = -9.13334912477107 +606000 ekin = 1.45673760095324 | erot = 1.71684240504965 | epot = -12.3069291305862 | etot = -9.13334912458332 +607000 ekin = 1.47529863713266 | erot = 1.62672298753197 | epot = -12.2353707490669 | etot = -9.13334912440231 +608000 ekin = 1.49323166610448 | erot = 1.54399943869277 | epot = -12.1705802290369 | etot = -9.13334912423965 +609000 ekin = 1.50961256615827 | erot = 1.47208306434152 | epot = -12.1150447546089 | etot = -9.13334912410907 +610000 ekin = 1.52396039431393 | erot = 1.41350705715352 | epot = -12.0708165754616 | etot = -9.13334912399415 +611000 ekin = 1.53622860047132 | erot = 1.36992443741477 | epot = -12.0395021618094 | etot = -9.13334912392332 +612000 ekin = 1.54668536626219 | erot = 1.34205362873306 | epot = -12.0220881189051 | etot = -9.13334912390986 +613000 ekin = 1.55571309695651 | erot = 1.32960894336309 | epot = -12.0186711642903 | etot = -9.13334912397073 +614000 ekin = 1.56356369221671 | erot = 1.33131277562909 | epot = -12.028225591966 | etot = -9.13334912412021 +615000 ekin = 1.57013881826616 | erot = 1.34494539762102 | epot = -12.0484333402241 | etot = -9.13334912433694 +616000 ekin = 1.5748568190386 | erot = 1.36757312206584 | epot = -12.0757790657621 | etot = -9.13334912465767 +617000 ekin = 1.57672646781163 | erot = 1.39546251367079 | epot = -12.1055381065046 | etot = -9.13334912502222 +618000 ekin = 1.57456346737768 | erot = 1.42448013453851 | epot = -12.1323927272936 | etot = -9.13334912537746 +619000 ekin = 1.56732946470101 | erot = 1.45059208153023 | epot = -12.1512706718931 | etot = -9.13334912566186 +620000 ekin = 1.55451321753897 | erot = 1.47039334455765 | epot = -12.1582556879159 | etot = -9.13334912581928 +621000 ekin = 1.53644782338436 | erot = 1.48161304591079 | epot = -12.1514099951079 | etot = -9.13334912581271 +622000 ekin = 1.51447783518453 | erot = 1.48347710481977 | epot = -12.1313040656388 | etot = -9.13334912563447 +623000 ekin = 1.49092960733185 | erot = 1.47683215248873 | epot = -12.101110885129 | etot = -9.13334912530837 +624000 ekin = 1.46886130170239 | erot = 1.46422198591474 | epot = -12.0664324125275 | etot = -9.13334912491036 +625000 ekin = 1.45155188812906 | erot = 1.44918251594133 | epot = -12.034083528554 | etot = -9.13334912448364 +626000 ekin = 1.44224748158227 | erot = 1.43533399591538 | epot = -12.0109306015702 | etot = -9.13334912407255 +627000 ekin = 1.44381530880348 | erot = 1.42638005354494 | epot = -12.0035444860842 | etot = -9.13334912373574 +628000 ekin = 1.4583308162053 | erot = 1.4256082487489 | epot = -12.0172881884918 | etot = -9.13334912353762 +629000 ekin = 1.48676985537521 | erot = 1.43535417576745 | epot = -12.0554731546307 | etot = -9.13334912348804 +630000 ekin = 1.52866417049647 | erot = 1.45689184513091 | epot = -12.1189051392532 | etot = -9.13334912362577 +631000 ekin = 1.58193413339469 | erot = 1.49015054897199 | epot = -12.2054338063848 | etot = -9.13334912401817 +632000 ekin = 1.6423485105623 | erot = 1.53357750658553 | epot = -12.3092751416905 | etot = -9.13334912454265 +633000 ekin = 1.70466841197628 | erot = 1.58426390209731 | epot = -12.4222814392234 | etot = -9.13334912514981 +634000 ekin = 1.76318354699949 | erot = 1.63860587790227 | epot = -12.5351385506363 | etot = -9.13334912573451 +635000 ekin = 1.81242625035339 | erot = 1.69306627320296 | epot = -12.6388416497417 | etot = -9.13334912618538 +636000 ekin = 1.84805557838623 | erot = 1.74492785469711 | epot = -12.7263325594983 | etot = -9.13334912641493 +637000 ekin = 1.86755595285165 | erot = 1.79286465558875 | epot = -12.7937697348511 | etot = -9.13334912641071 +638000 ekin = 1.8704735746913 | erot = 1.83697965057034 | epot = -12.840802351469 | etot = -9.13334912620734 +639000 ekin = 1.85817220593526 | erot = 1.87849437006229 | epot = -12.8700157018793 | etot = -9.13334912588174 +640000 ekin = 1.83325502875059 | erot = 1.91930247136211 | epot = -12.8859066256261 | etot = -9.13334912551343 +641000 ekin = 1.79889805051579 | erot = 1.96149522931869 | epot = -12.8937424049928 | etot = -9.1333491251583 +642000 ekin = 1.75833330344831 | erot = 2.00701454516796 | epot = -12.8986969734715 | etot = -9.13334912485521 +643000 ekin = 1.71452400738503 | erot = 2.05742054584748 | epot = -12.9052936778285 | etot = -9.13334912459598 +644000 ekin = 1.67006045206469 | erot = 2.11379950766342 | epot = -12.9172090841588 | etot = -9.13334912443064 +645000 ekin = 1.62710169193507 | erot = 2.17652829047503 | epot = -12.9369791067681 | etot = -9.13334912435798 +646000 ekin = 1.58731920570871 | erot = 2.24499987972099 | epot = -12.9656682098005 | etot = -9.13334912437076 +647000 ekin = 1.5519287984978 | erot = 2.31774723145552 | epot = -13.0030251544465 | etot = -9.13334912449313 +648000 ekin = 1.52155547404241 | erot = 2.3921684940498 | epot = -13.0470730928209 | etot = -9.1333491247287 +649000 ekin = 1.49615701172334 | erot = 2.46459269466401 | epot = -13.0940988314631 | etot = -9.13334912507576 +650000 ekin = 1.4749582040793 | erot = 2.53042613107505 | epot = -13.1387334606739 | etot = -9.13334912551956 +651000 ekin = 1.45644758275727 | erot = 2.58442104122277 | epot = -13.1742177500083 | etot = -9.13334912602828 +652000 ekin = 1.43848054669938 | erot = 2.62109720355956 | epot = -13.1929268768061 | etot = -9.13334912654716 +653000 ekin = 1.418535386466 | erot = 2.63533318879061 | epot = -13.1872177022545 | etot = -9.13334912699785 +654000 ekin = 1.39414099594557 | erot = 2.62311445987521 | epot = -13.1506045831126 | etot = -9.13334912729179 +655000 ekin = 1.36342278664424 | erot = 2.58232798191531 | epot = -13.0790998958907 | etot = -9.13334912733113 +656000 ekin = 1.32754554559858 | erot = 2.51343997306615 | epot = -12.9743346448082 | etot = -9.1333491261435 +657000 ekin = 1.07738759792772 | erot = 2.44669612963399 | epot = -12.6574327807952 | etot = -9.13334905323347 +658000 ekin = 1.00652014230032 | erot = 2.49084781647026 | epot = -12.6307170433285 | etot = -9.13334908455789 +659000 ekin = 1.07240085017734 | erot = 2.42929901831529 | epot = -12.635048983779 | etot = -9.13334911528638 +660000 ekin = 1.09381648980785 | erot = 2.30102308261602 | epot = -12.5281886879193 | etot = -9.13334911549543 +661000 ekin = 1.11701334337999 | erot = 2.16959631554143 | epot = -12.4199587738156 | etot = -9.13334911489422 +662000 ekin = 1.14263894057994 | erot = 2.04231481245697 | epot = -12.3183028674859 | etot = -9.13334911444903 +663000 ekin = 1.17093665277096 | erot = 1.92510458369648 | epot = -12.2293903506437 | etot = -9.13334911417622 +664000 ekin = 1.20146324496831 | erot = 1.82207009510825 | epot = -12.1568824541654 | etot = -9.13334911408881 +665000 ekin = 1.23289032447975 | erot = 1.735648364276 | epot = -12.1018878027968 | etot = -9.13334911404106 +666000 ekin = 1.26340464455218 | erot = 1.667025926681 | epot = -12.0637796854968 | etot = -9.13334911426366 +667000 ekin = 1.29102574814593 | erot = 1.61488086820421 | epot = -12.0392557309133 | etot = -9.13334911456314 +668000 ekin = 1.31376054134927 | erot = 1.5764971277367 | epot = -12.0236067839923 | etot = -9.13334911490633 +669000 ekin = 1.32989404565464 | erot = 1.54828621181587 | epot = -12.0115293726992 | etot = -9.13334911522865 +670000 ekin = 1.33826340890754 | erot = 1.52640844797489 | epot = -11.9980209723676 | etot = -9.13334911548521 +671000 ekin = 1.33847461323346 | erot = 1.50724764864856 | epot = -11.9790713775232 | etot = -9.13334911564113 +672000 ekin = 1.33101969554678 | erot = 1.48781306139283 | epot = -11.9521818726182 | etot = -9.13334911567861 +673000 ekin = 1.31737035051176 | erot = 1.4661022805312 | epot = -11.9168217466047 | etot = -9.13334911556173 +674000 ekin = 1.29992521798198 | erot = 1.4413124176082 | epot = -11.8745867509663 | etot = -9.13334911537614 +675000 ekin = 1.28129254582524 | erot = 1.41347048294566 | epot = -11.8281121439067 | etot = -9.13334911513581 +676000 ekin = 1.26413925333757 | erot = 1.38336835396576 | epot = -11.780856722189 | etot = -9.13334911488567 +677000 ekin = 1.25080949630036 | erot = 1.35227525692409 | epot = -11.7364338679154 | etot = -9.13334911469091 +678000 ekin = 1.24240325883958 | erot = 1.3212224636356 | epot = -11.6969748370327 | etot = -9.13334911455754 +679000 ekin = 1.2393516412486 | erot = 1.29124446460956 | epot = -11.6639452203567 | etot = -9.13334911449854 +680000 ekin = 1.24151057851822 | erot = 1.26358348831142 | epot = -11.6384431811751 | etot = -9.13334911434545 +681000 ekin = 1.2481079198548 | erot = 1.23998966300245 | epot = -11.6214466973225 | etot = -9.13334911446523 +682000 ekin = 1.25738088472655 | erot = 1.22073219170507 | epot = -11.6114621910609 | etot = -9.13334911462931 +683000 ekin = 1.26715254864191 | erot = 1.2055490969485 | epot = -11.6060507604 | etot = -9.13334911480957 +684000 ekin = 1.27521936884399 | erot = 1.1939299525654 | epot = -11.6024984363875 | etot = -9.13334911497808 +685000 ekin = 1.27965818658062 | erot = 1.18525667281043 | epot = -11.5982639744944 | etot = -9.13334911510335 +686000 ekin = 1.27906445706628 | erot = 1.17887846190797 | epot = -11.5912920341647 | etot = -9.13334911519041 +687000 ekin = 1.27268261754012 | erot = 1.17407129022145 | epot = -11.5801030230213 | etot = -9.13334911525974 +688000 ekin = 1.26041914406642 | erot = 1.1700760478346 | epot = -11.5638443071288 | etot = -9.13334911522773 +689000 ekin = 1.2428793849551 | erot = 1.16656725574329 | epot = -11.5427957558554 | etot = -9.13334911515697 +690000 ekin = 1.22118240404883 | erot = 1.16336387131168 | epot = -11.5178953904198 | etot = -9.13334911505928 +691000 ekin = 1.19679867225268 | erot = 1.16037339233088 | epot = -11.4905211795297 | etot = -9.13334911494617 +692000 ekin = 1.17139142555539 | erot = 1.15758648593064 | epot = -11.4623270263136 | etot = -9.1333491148276 +693000 ekin = 1.14685376597371 | erot = 1.15519232867376 | epot = -11.4353952091881 | etot = -9.1333491145406 +694000 ekin = 1.12537035278852 | erot = 1.15368599836277 | epot = -11.412405465604 | etot = -9.13334911445274 +695000 ekin = 1.10824764597662 | erot = 1.15324052660538 | epot = -11.3948372869643 | etot = -9.1333491143823 +696000 ekin = 1.09641524899341 | erot = 1.15407441364682 | epot = -11.383838776975 | etot = -9.13334911433473 +697000 ekin = 1.09040706960007 | erot = 1.15645735234472 | epot = -11.3802135362623 | etot = -9.13334911431747 +698000 ekin = 1.09030542376481 | erot = 1.16063392710713 | epot = -11.3842884652006 | etot = -9.13334911432863 +699000 ekin = 1.0955253614223 | erot = 1.16669639941862 | epot = -11.3955708752032 | etot = -9.13334911436229 +700000 ekin = 1.10527379803485 | erot = 1.17478862115944 | epot = -11.4134115336302 | etot = -9.13334911443592 +701000 ekin = 1.11851271408444 | erot = 1.18492470948241 | epot = -11.4367865380912 | etot = -9.13334911452438 +702000 ekin = 1.1339554937307 | erot = 1.19694667251745 | epot = -11.4642512808782 | etot = -9.13334911463 +703000 ekin = 1.15018285433623 | erot = 1.2105705597141 | epot = -11.4941025287948 | etot = -9.13334911474445 +704000 ekin = 1.1657667345821 | erot = 1.22535908060157 | epot = -11.5244749300411 | etot = -9.13334911485743 +705000 ekin = 1.17938915503837 | erot = 1.24076765314074 | epot = -11.553505923137 | etot = -9.1333491149579 +706000 ekin = 1.18994261306683 | erot = 1.25622348494622 | epot = -11.5795152130485 | etot = -9.13334911503546 +707000 ekin = 1.19660107195869 | erot = 1.27122780267335 | epot = -11.6011779897132 | etot = -9.13334911508118 +708000 ekin = 1.19885615187048 | erot = 1.28546332267694 | epot = -11.6176685896373 | etot = -9.13334911508987 +709000 ekin = 1.19651981509827 | erot = 1.29888532038517 | epot = -11.6287542505434 | etot = -9.13334911506 +710000 ekin = 1.18969957497472 | erot = 1.31177606554499 | epot = -11.6348247555143 | etot = -9.13334911499455 +711000 ekin = 1.1787538760317 | erot = 1.3247479148329 | epot = -11.6368509057657 | etot = -9.13334911490108 +712000 ekin = 1.16423391784202 | erot = 1.33868945229471 | epot = -11.6362724849272 | etot = -9.13334911479043 +713000 ekin = 1.14681758773388 | erot = 1.35466305351125 | epot = -11.634829755923 | etot = -9.13334911467782 +714000 ekin = 1.12724173590936 | erot = 1.37373509014309 | epot = -11.6343259406299 | etot = -9.13334911457743 +715000 ekin = 1.10624050750221 | erot = 1.39681075798059 | epot = -11.636400379986 | etot = -9.13334911450316 +716000 ekin = 1.08449847089202 | erot = 1.42446438144908 | epot = -11.6423119668073 | etot = -9.13334911446624 +717000 ekin = 1.06262586730476 | erot = 1.45678801963507 | epot = -11.6527630014134 | etot = -9.13334911447358 +718000 ekin = 1.04116056517941 | erot = 1.49328580499488 | epot = -11.6677954846997 | etot = -9.13334911452541 +719000 ekin = 1.02059756446808 | erot = 1.53283565407152 | epot = -11.6867823331548 | etot = -9.1333491146152 +720000 ekin = 1.0014427609145 | erot = 1.57373478108394 | epot = -11.7085266567279 | etot = -9.13334911472945 +721000 ekin = 0.984282698240367 | erot = 1.61383653731675 | epot = -11.7314683504059 | etot = -9.13334911484873 +722000 ekin = 0.969856334574407 | erot = 1.65076935459341 | epot = -11.7539748041227 | etot = -9.13334911495492 +723000 ekin = 0.959109074095759 | erot = 1.68219090541347 | epot = -11.7746490945311 | etot = -9.13334911502187 +724000 ekin = 0.953206498551804 | erot = 1.70610525280783 | epot = -11.7926608663973 | etot = -9.13334911503771 +725000 ekin = 0.953487871458015 | erot = 1.72112406445722 | epot = -11.8079610509135 | etot = -9.13334911499828 +726000 ekin = 0.961348420448175 | erot = 1.7266421875677 | epot = -11.8213397229277 | etot = -9.13334911491184 +727000 ekin = 0.978055186999046 | erot = 1.72290320033124 | epot = -11.8343075021266 | etot = -9.13334911479628 +728000 ekin = 1.00452582497673 | erot = 1.71095374107487 | epot = -11.8488286807248 | etot = -9.13334911467315 +729000 ekin = 1.04110137579934 | erot = 1.69252215341149 | epot = -11.8669726437798 | etot = -9.13334911456893 +730000 ekin = 1.08735958690386 | erot = 1.66981008958264 | epot = -11.890518790993 | etot = -9.13334911450653 +731000 ekin = 1.1420041837516 | erot = 1.64524141706267 | epot = -11.920594715318 | etot = -9.1333491145037 +732000 ekin = 1.20285318014365 | erot = 1.62119095713356 | epot = -11.9573932518487 | etot = -9.13334911457145 +733000 ekin = 1.26692596391617 | erot = 1.5997652891012 | epot = -12.0000403677204 | etot = -9.13334911470305 +734000 ekin = 1.33064406418141 | erot = 1.58254289880734 | epot = -12.0465360778975 | etot = -9.13334911490875 +735000 ekin = 1.39013484388619 | erot = 1.57032898633438 | epot = -12.0938129453804 | etot = -9.13334911515982 +736000 ekin = 1.44157509139699 | erot = 1.56317476788781 | epot = -12.1380989747131 | etot = -9.13334911542835 +737000 ekin = 1.48157845589818 | erot = 1.56044545881657 | epot = -12.1753730303924 | etot = -9.13334911567769 +738000 ekin = 1.50757504378139 | erot = 1.56100911667208 | epot = -12.2019332763223 | etot = -9.13334911586887 +739000 ekin = 1.51813561812423 | erot = 1.56352092529645 | epot = -12.2150056593871 | etot = -9.13334911596644 +740000 ekin = 1.5131891484932 | erot = 1.56675183785207 | epot = -12.2132901022912 | etot = -9.13334911594598 +741000 ekin = 1.49408865830106 | erot = 1.56989906104169 | epot = -12.1973368351425 | etot = -9.13334911579973 +742000 ekin = 1.46350061535612 | erot = 1.57280025700805 | epot = -12.1696499879058 | etot = -9.13334911554164 +743000 ekin = 1.42512524133835 | erot = 1.5759331060082 | epot = -12.1344074625141 | etot = -9.13334911516755 +744000 ekin = 1.38338487585248 | erot = 1.58054361278335 | epot = -12.0972776034333 | etot = -9.13334911479746 +745000 ekin = 1.34281951273925 | erot = 1.58823582840579 | epot = -12.0644044556005 | etot = -9.13334911445543 +746000 ekin = 1.3074733476531 | erot = 1.60047096980707 | epot = -12.041293431658 | etot = -9.13334911419779 +747000 ekin = 1.28046646005374 | erot = 1.61821768665581 | epot = -12.0320332608023 | etot = -9.13334911409271 +748000 ekin = 1.26367955923549 | erot = 1.64132893143149 | epot = -12.0383576048368 | etot = -9.13334911416977 +749000 ekin = 1.25742934419916 | erot = 1.66831440024107 | epot = -12.0590928588777 | etot = -9.1333491144375 +750000 ekin = 1.26047795507714 | erot = 1.69628448614349 | epot = -12.0901115560711 | etot = -9.13334911485048 +751000 ekin = 1.27026186447005 | erot = 1.72133386885556 | epot = -12.1249448486651 | etot = -9.13334911533951 +752000 ekin = 1.28339547086213 | erot = 1.7391907550537 | epot = -12.1559353417243 | etot = -9.13334911580849 +753000 ekin = 1.29635957466465 | erot = 1.74596876191514 | epot = -12.1756774527986 | etot = -9.1333491162188 +754000 ekin = 1.30599158740738 | erot = 1.73885024062937 | epot = -12.1781909444246 | etot = -9.13334911638781 +755000 ekin = 1.31024888115925 | erot = 1.71683511467824 | epot = -12.1604331121785 | etot = -9.13334911634098 +756000 ekin = 1.30846938321297 | erot = 1.68097972249326 | epot = -12.1227982217976 | etot = -9.13334911609136 +757000 ekin = 1.30124985041155 | erot = 1.63419006476318 | epot = -12.0687890308635 | etot = -9.13334911568874 +758000 ekin = 1.29019641090291 | erot = 1.58073563388876 | epot = -12.0042811599956 | etot = -9.13334911520392 +759000 ekin = 1.27761222227388 | erot = 1.52554636406421 | epot = -11.9365077010364 | etot = -9.13334911469834 +760000 ekin = 1.26609069506515 | erot = 1.47348693038562 | epot = -11.8729267397093 | etot = -9.13334911425857 +761000 ekin = 1.25808964011373 | erot = 1.42869550462559 | epot = -11.8201342586628 | etot = -9.13334911392351 +762000 ekin = 1.2557222220027 | erot = 1.39407442311413 | epot = -11.7831457588655 | etot = -9.13334911374866 +763000 ekin = 1.26054534569423 | erot = 1.37090045944292 | epot = -11.7647949188326 | etot = -9.13334911369551 +764000 ekin = 1.27353435439597 | erot = 1.35887199086497 | epot = -11.7657554590525 | etot = -9.13334911379152 +765000 ekin = 1.29496682599499 | erot = 1.35616457698383 | epot = -11.7844805169715 | etot = -9.13334911399271 +766000 ekin = 1.32454629041756 | erot = 1.35977679503123 | epot = -11.8176721997117 | etot = -9.13334911426287 +767000 ekin = 1.36163954271379 | erot = 1.36618632224179 | epot = -11.8611749795103 | etot = -9.13334911455469 +768000 ekin = 1.40531019892094 | erot = 1.37181010083784 | epot = -11.9104694145876 | etot = -9.13334911482879 +769000 ekin = 1.45446512868536 | erot = 1.37353498051673 | epot = -11.9613492242422 | etot = -9.13334911504015 +770000 ekin = 1.50793050151783 | erot = 1.36921125650349 | epot = -12.0104908732572 | etot = -9.13334911523587 +771000 ekin = 1.56389616692798 | erot = 1.35775090661774 | epot = -12.0549961888034 | etot = -9.13334911525767 +772000 ekin = 1.62113703503969 | erot = 1.33970323505823 | epot = -12.0941893852864 | etot = -9.13334911518849 +773000 ekin = 1.67872851568979 | erot = 1.3170298298989 | epot = -12.1291074606507 | etot = -9.13334911506197 +774000 ekin = 1.73569257108243 | erot = 1.29264163251396 | epot = -12.1616833185185 | etot = -9.13334911492206 +775000 ekin = 1.79085656132941 | erot = 1.26988000053024 | epot = -12.1940856766708 | etot = -9.13334911481117 +776000 ekin = 1.84276100467541 | erot = 1.25197534039084 | epot = -12.2280854598246 | etot = -9.13334911475839 +777000 ekin = 1.88967118603039 | erot = 1.24159765892512 | epot = -12.2646179597273 | etot = -9.1333491147718 +778000 ekin = 1.9297162225995 | erot = 1.24057583215499 | epot = -12.303641169595 | etot = -9.13334911484054 +779000 ekin = 1.9611316425415 | erot = 1.24980912494295 | epot = -12.3442898824248 | etot = -9.13334911494038 +780000 ekin = 1.98254203385539 | erot = 1.26932045667715 | epot = -12.3852116055761 | etot = -9.13334911504356 +781000 ekin = 1.9932140640502 | erot = 1.29840823519191 | epot = -12.4249714143716 | etot = -9.13334911512951 +782000 ekin = 1.99321095940136 | erot = 1.33580885492537 | epot = -12.4623689295147 | etot = -9.13334911518796 +783000 ekin = 1.98342491292877 | erot = 1.37983642298654 | epot = -12.4966104511329 | etot = -9.13334911521759 +784000 ekin = 1.96551238429458 | erot = 1.42849371621366 | epot = -12.5273552156782 | etot = -9.13334911516994 +785000 ekin = 1.94195910111536 | erot = 1.4796134882178 | epot = -12.5549217044944 | etot = -9.13334911516124 +786000 ekin = 1.91549982325668 | erot = 1.53087711626571 | epot = -12.5797260546585 | etot = -9.13334911513609 +787000 ekin = 1.88902915932762 | erot = 1.57997565975501 | epot = -12.6023539341757 | etot = -9.13334911509307 +788000 ekin = 1.8655374655374 | erot = 1.62478646024939 | epot = -12.6236730408243 | etot = -9.13334911503753 +789000 ekin = 1.84793067283938 | erot = 1.66350572426187 | epot = -12.6447855120654 | etot = -9.13334911496417 +790000 ekin = 1.83884831411928 | erot = 1.69477325871393 | epot = -12.6669706877276 | etot = -9.13334911489441 +791000 ekin = 1.84038435201287 | erot = 1.717681278482 | epot = -12.6914147453501 | etot = -9.1333491148552 +792000 ekin = 1.85374621231071 | erot = 1.73169683790039 | epot = -12.7187921650887 | etot = -9.13334911487764 +793000 ekin = 1.87892178729581 | erot = 1.7365357692381 | epot = -12.7488066715196 | etot = -9.13334911498573 +794000 ekin = 1.9144051004538 | erot = 1.73204169927541 | epot = -12.7797959149079 | etot = -9.13334911517866 +795000 ekin = 1.95726697872445 | erot = 1.7181897621696 | epot = -12.8088058563145 | etot = -9.13334911542047 +796000 ekin = 2.00360851779741 | erot = 1.69525335458669 | epot = -12.8322109880317 | etot = -9.13334911564764 +797000 ekin = 2.04914358120541 | erot = 1.66405946741293 | epot = -12.8465521644082 | etot = -9.13334911578984 +798000 ekin = 2.08995546227646 | erot = 1.62623745951928 | epot = -12.8495420375983 | etot = -9.13334911580259 +799000 ekin = 2.12309292251455 | erot = 1.58427028115591 | epot = -12.8407123193571 | etot = -9.13334911568662 +800000 ekin = 2.14682990847798 | erot = 1.54126138558611 | epot = -12.8214404095459 | etot = -9.13334911548182 +801000 ekin = 2.16058282773072 | erot = 1.50048202046291 | epot = -12.7944139634394 | etot = -9.13334911524581 +802000 ekin = 2.16461511109769 | erot = 1.46486615502033 | epot = -12.7628303811484 | etot = -9.13334911503038 +803000 ekin = 2.15969104316893 | erot = 1.43661335441228 | epot = -12.7296535124497 | etot = -9.13334911486855 +804000 ekin = 2.14679128688362 | erot = 1.41698988507324 | epot = -12.697130286716 | etot = -9.13334911475917 +805000 ekin = 2.12692065944467 | erot = 1.40638520513925 | epot = -12.6666549793083 | etot = -9.13334911472434 +806000 ekin = 2.10099028264049 | erot = 1.40422932574232 | epot = -12.6385687231435 | etot = -9.13334911476072 +807000 ekin = 2.0698276384243 | erot = 1.40909451157967 | epot = -12.6122712648421 | etot = -9.1333491148381 +808000 ekin = 2.03419092298425 | erot = 1.41919422166235 | epot = -12.5867342595753 | etot = -9.13334911492871 +809000 ekin = 1.99478586656647 | erot = 1.4323885834066 | epot = -12.5605235650258 | etot = -9.13334911505277 +810000 ekin = 1.95230744547314 | erot = 1.44625258192792 | epot = -12.5319091425763 | etot = -9.13334911517529 +811000 ekin = 1.90747094189393 | erot = 1.45847148723586 | epot = -12.4992915444127 | etot = -9.13334911528296 +812000 ekin = 1.86102893103176 | erot = 1.4670396354885 | epot = -12.4614176818835 | etot = -9.13334911536329 +813000 ekin = 1.81416432243969 | erot = 1.47049868907969 | epot = -12.4180121266556 | etot = -9.13334911513622 +814000 ekin = 1.7690292616789 | erot = 1.46826739311699 | epot = -12.3706457700814 | etot = -9.13334911528547 +815000 ekin = 1.71533069952221 | erot = 1.45797598424745 | epot = -12.3066557947942 | etot = -9.13334911102453 +816000 ekin = 1.68468183703207 | erot = 1.43935942019696 | epot = -12.257390367637 | etot = -9.13334911040796 +817000 ekin = 1.67569540451596 | erot = 1.42022759193342 | epot = -12.2292721045984 | etot = -9.13334910814902 +818000 ekin = 1.65431804078292 | erot = 1.40071144600214 | epot = -12.1883785945463 | etot = -9.13334910776125 +819000 ekin = 1.63740188371185 | erot = 1.3825693171682 | epot = -12.1533203082661 | etot = -9.13334910738609 +820000 ekin = 1.62512170450201 | erot = 1.36928168852872 | epot = -12.127752500055 | etot = -9.13334910702429 +821000 ekin = 1.61915909097238 | erot = 1.36404110715767 | epot = -12.116549304838 | etot = -9.13334910670795 +822000 ekin = 1.62172343975997 | erot = 1.36925913747531 | epot = -12.1243316837534 | etot = -9.13334910651813 +823000 ekin = 1.63427494812674 | erot = 1.38616632190425 | epot = -12.1537903765404 | etot = -9.13334910650937 +824000 ekin = 1.65698382618117 | erot = 1.41459711184826 | epot = -12.2049300447226 | etot = -9.13334910669317 +825000 ekin = 1.68854753273754 | erot = 1.4530163184112 | epot = -12.2749129581874 | etot = -9.13334910703868 +826000 ekin = 1.72638863496182 | erot = 1.49875661578855 | epot = -12.3584943582387 | etot = -9.13334910748834 +827000 ekin = 1.76710423380894 | erot = 1.5483943923347 | epot = -12.4488477341201 | etot = -9.13334910797649 +828000 ekin = 1.80698482334212 | erot = 1.59818184900584 | epot = -12.5385157807928 | etot = -9.13334910844479 +829000 ekin = 1.84246939970371 | erot = 1.64447465717353 | epot = -12.6202931657229 | etot = -9.13334910884565 +830000 ekin = 1.87048980343784 | erot = 1.68412933438467 | epot = -12.6879682469633 | etot = -9.13334910914077 +831000 ekin = 1.88871335828315 | erot = 1.71486645417632 | epot = -12.7369289217598 | etot = -9.13334910930037 +832000 ekin = 1.89569916792215 | erot = 1.73558694751606 | epot = -12.7646352247433 | etot = -9.13334910930512 +833000 ekin = 1.89096344935919 | erot = 1.74659447551767 | epot = -12.7709070340313 | etot = -9.13334910915446 +834000 ekin = 1.87493429545044 | erot = 1.74964392180392 | epot = -12.7579273261441 | etot = -9.13334910888973 +835000 ekin = 1.84878280514188 | erot = 1.74762027308111 | epot = -12.7297521867477 | etot = -9.13334910852467 +836000 ekin = 1.81414476909458 | erot = 1.74421722088821 | epot = -12.6917110981233 | etot = -9.13334910814055 +837000 ekin = 1.77277875467178 | erot = 1.74335285139621 | epot = -12.6494807138721 | etot = -9.13334910780415 +838000 ekin = 1.72624445531291 | erot = 1.74841404792742 | epot = -12.6080076108072 | etot = -9.13334910756691 +839000 ekin = 1.67568816110695 | erot = 1.76165550554617 | epot = -12.5706927741087 | etot = -9.13334910745559 +840000 ekin = 1.62179135099361 | erot = 1.78387657046074 | epot = -12.5390170289109 | etot = -9.13334910745657 +841000 ekin = 1.56488441151228 | erot = 1.81456573943011 | epot = -12.5127992584808 | etot = -9.13334910753844 +842000 ekin = 1.50517399563012 | erot = 1.85205645865189 | epot = -12.4905795619798 | etot = -9.13334910769775 +843000 ekin = 1.44300548284013 | erot = 1.89358112522623 | epot = -12.4699357158733 | etot = -9.1333491078069 +844000 ekin = 1.37906620630961 | erot = 1.9363968518669 | epot = -12.4488121660479 | etot = -9.13334910787136 +845000 ekin = 1.31446352833253 | erot = 1.97812996436854 | epot = -12.4259426005726 | etot = -9.13334910787156 +846000 ekin = 1.2506869232932 | erot = 2.01700234954142 | epot = -12.4010383806382 | etot = -9.13334910780356 +847000 ekin = 1.18947724707827 | erot = 2.05204320492274 | epot = -12.3748695596767 | etot = -9.13334910767568 +848000 ekin = 1.13265732504563 | erot = 2.08314733278718 | epot = -12.3491537653375 | etot = -9.13334910750474 +849000 ekin = 1.08197657769804 | erot = 2.11099249695246 | epot = -12.3263181819604 | etot = -9.1333491073099 +850000 ekin = 1.03899924537826 | erot = 2.13684654285134 | epot = -12.3091948953427 | etot = -9.13334910711305 +851000 ekin = 1.00503792489466 | erot = 2.16230618699749 | epot = -12.3006932188269 | etot = -9.13334910693474 +852000 ekin = 0.981116857869625 | erot = 2.18901371773925 | epot = -12.3034796824018 | etot = -9.13334910679296 +853000 ekin = 0.967947652220943 | erot = 2.21839549972771 | epot = -12.3196922586521 | etot = -9.13334910670346 +854000 ekin = 0.965908910686514 | erot = 2.25145766401094 | epot = -12.3507156813713 | etot = -9.13334910667388 +855000 ekin = 0.975031148290714 | erot = 2.28866143868334 | epot = -12.3970416936804 | etot = -9.13334910670631 +856000 ekin = 0.994993726116716 | erot = 2.32988587266416 | epot = -12.4582287055777 | etot = -9.13334910679682 +857000 ekin = 1.02514000045904 | erot = 2.37447147764261 | epot = -12.5329605850375 | etot = -9.13334910693581 +858000 ekin = 1.06451194043056 | erot = 2.42132581263801 | epot = -12.619186860179 | etot = -9.13334910711044 +859000 ekin = 1.11189872921113 | erot = 2.46906217646869 | epot = -12.7143100129879 | etot = -9.13334910730811 +860000 ekin = 1.1658880043274 | erot = 2.51613734357253 | epot = -12.8153744554191 | etot = -9.13334910751921 +861000 ekin = 1.22490604809786 | erot = 2.56095681693251 | epot = -12.9192119727698 | etot = -9.13334910773946 +862000 ekin = 1.2872363258061 | erot = 2.60192847235973 | epot = -13.0225139061362 | etot = -9.1333491079704 +863000 ekin = 1.35101431938244 | erot = 2.63746581474711 | epot = -13.1218292423458 | etot = -9.13334910821624 +864000 ekin = 1.41420820518659 | erot = 2.66596355874005 | epot = -13.2135208724068 | etot = -9.13334910848016 +865000 ekin = 1.47460562928785 | erot = 2.6857819546387 | epot = -13.2937366926867 | etot = -9.13334910876018 +866000 ekin = 1.52983303720772 | erot = 2.69527584727129 | epot = -13.3584579935244 | etot = -9.13334910904542 +867000 ekin = 1.57743376516812 | erot = 2.6928893309621 | epot = -13.4036722054452 | etot = -9.13334910931502 +868000 ekin = 1.61502389037303 | erot = 2.67731200500682 | epot = -13.4256850049196 | etot = -9.13334910953978 +869000 ekin = 1.64053051308163 | erot = 2.6476662552779 | epot = -13.4215458780457 | etot = -9.13334910968619 +870000 ekin = 1.65249590024982 | erot = 2.60367561916209 | epot = -13.3895206291353 | etot = -9.13334910972337 +871000 ekin = 1.65040511753768 | erot = 2.54576053414292 | epot = -13.3295147613111 | etot = -9.1333491096305 +872000 ekin = 1.63497077370826 | erot = 2.47502461263164 | epot = -13.2433444957426 | etot = -9.13334910940269 +873000 ekin = 1.60829551086271 | erot = 2.39312864670762 | epot = -13.1347732666248 | etot = -9.1333491090545 +874000 ekin = 1.57383856497694 | erot = 2.30208675135929 | epot = -13.0092744249551 | etot = -9.13334910861885 +875000 ekin = 1.53613967512438 | erot = 2.20404109164597 | epot = -12.8735298749149 | etot = -9.1333491081445 +876000 ekin = 1.50030007471464 | erot = 2.10106901468353 | epot = -12.7347181970869 | etot = -9.13334910768869 +877000 ekin = 1.47128183650108 | erot = 1.99505592486885 | epot = -12.5996868686778 | etot = -9.13334910730782 +878000 ekin = 1.45315269235 | erot = 1.88764504253699 | epot = -12.4741468419323 | etot = -9.13334910704534 +879000 ekin = 1.4484500959266 | erot = 1.78026193724842 | epot = -12.3620611400946 | etot = -9.13334910691957 +880000 ekin = 1.45783397194386 | erot = 1.67420503622016 | epot = -12.2653881150821 | etot = -9.13334910691806 +881000 ekin = 1.48012455416753 | erot = 1.57078382964449 | epot = -12.1842574908138 | etot = -9.13334910700176 +882000 ekin = 1.51270015737059 | erot = 1.47147015192501 | epot = -12.1175194164142 | etot = -9.13334910711862 +883000 ekin = 1.55211568291773 | erot = 1.37801244883105 | epot = -12.0634772389701 | etot = -9.13334910722133 +884000 ekin = 1.59475301549695 | erot = 1.29246300163005 | epot = -12.0205651244067 | etot = -9.13334910727973 +885000 ekin = 1.63734681492245 | erot = 1.21709221485168 | epot = -11.9877881370588 | etot = -9.13334910728466 +886000 ekin = 1.6773121130015 | erot = 1.15420415260407 | epot = -11.9648653728497 | etot = -9.13334910724412 +887000 ekin = 1.71288068345535 | erot = 1.10590165063719 | epot = -11.9521314412674 | etot = -9.13334910717484 +888000 ekin = 1.74309500656915 | erot = 1.07385834530941 | epot = -11.950302458975 | etot = -9.13334910709643 +889000 ekin = 1.76770969091231 | erot = 1.05913784424334 | epot = -11.9601966421835 | etot = -9.13334910702782 +890000 ekin = 1.78703240996185 | erot = 1.06207375035186 | epot = -11.9824552673014 | etot = -9.13334910698768 +891000 ekin = 1.80172329224763 | erot = 1.08220747466305 | epot = -12.0172798739035 | etot = -9.13334910699285 +892000 ekin = 1.81257293682635 | erot = 1.11828058018264 | epot = -12.0642026240649 | etot = -9.13334910705593 +893000 ekin = 1.82028982711442 | erot = 1.16828769625092 | epot = -12.1219266305462 | etot = -9.13334910718089 +894000 ekin = 1.82533649728179 | erot = 1.22960280171653 | epot = -12.1882884063592 | etot = -9.13334910736086 +895000 ekin = 1.82785071659427 | erot = 1.2991877547128 | epot = -12.2603875788832 | etot = -9.13334910757614 +896000 ekin = 1.82766966747743 | erot = 1.37387583336524 | epot = -12.3348946086395 | etot = -9.13334910779684 +897000 ekin = 1.82444603807961 | erot = 1.45069893544394 | epot = -12.4084940815133 | etot = -9.13334910798977 +898000 ekin = 1.81781661005541 | erot = 1.52720356356609 | epot = -12.4783692817485 | etot = -9.13334910812701 +899000 ekin = 1.80756915109155 | erot = 1.60168843028858 | epot = -12.5426066895729 | etot = -9.13334910819277 +900000 ekin = 1.79375843955379 | erot = 1.67330364931526 | epot = -12.6004111970576 | etot = -9.13334910818851 +901000 ekin = 1.77674318475336 | erot = 1.74197941465947 | epot = -12.6520717075445 | etot = -9.13334910813171 +902000 ekin = 1.75714245727909 | erot = 1.80819394408805 | epot = -12.6986855094183 | etot = -9.13334910805119 +903000 ekin = 1.7357334444054 | erot = 1.87263325992122 | epot = -12.7417158123058 | etot = -9.13334910797918 +904000 ekin = 1.71332625907535 | erot = 1.93582474193924 | epot = -12.782500108957 | etot = -9.13334910794242 +905000 ekin = 1.69065428569354 | erot = 1.99783248441353 | epot = -12.8218358780628 | etot = -9.1333491079557 +906000 ekin = 1.66831072855137 | erot = 2.05808381419499 | epot = -12.8597436507661 | etot = -9.13334910801975 +907000 ekin = 1.64674588303028 | erot = 2.11535919823548 | epot = -12.8954541893857 | etot = -9.13334910811994 +908000 ekin = 1.62631907113306 | erot = 2.16793324012268 | epot = -12.9276014194903 | etot = -9.13334910823454 +909000 ekin = 1.60738004099874 | erot = 2.21381581983028 | epot = -12.9545449691698 | etot = -9.13334910834077 +910000 ekin = 1.59034402491101 | erot = 2.25102295600898 | epot = -12.9747160893416 | etot = -9.13334910842156 +911000 ekin = 1.57572782710831 | erot = 2.27781488082938 | epot = -12.9868918164058 | etot = -9.13334910846814 +912000 ekin = 1.5641305468329 | erot = 2.29287003004535 | epot = -12.9903496853576 | etot = -9.13334910847936 +913000 ekin = 1.5561639873769 | erot = 2.29539983334633 | epot = -12.9849129291808 | etot = -9.13334910845755 +914000 ekin = 1.55235379274342 | erot = 2.2852276038725 | epot = -12.970930505022 | etot = -9.13334910840612 +915000 ekin = 1.55303636075847 | erot = 2.26284508697262 | epot = -12.94923055606 | etot = -9.13334910832891 +916000 ekin = 1.5582700337321 | erot = 2.22943339360812 | epot = -12.9210525355727 | etot = -9.13334910823245 +917000 ekin = 1.567769240557 | erot = 2.18681551598724 | epot = -12.8879338646715 | etot = -9.13334910812723 +918000 ekin = 1.58086450735443 | erot = 2.13731406706596 | epot = -12.8515276824492 | etot = -9.1333491080288 +919000 ekin = 1.5964919092129 | erot = 2.08351907893934 | epot = -12.8133600961054 | etot = -9.13334910795319 +920000 ekin = 1.613218928833 | erot = 2.02800735916595 | epot = -12.7745753959116 | etot = -9.13334910791269 +921000 ekin = 1.62931395437424 | erot = 1.97307497750711 | epot = -12.7357380397945 | etot = -9.13334910791311 +922000 ekin = 1.64286104746403 | erot = 1.9205387034094 | epot = -12.6967488588242 | etot = -9.13334910795072 +923000 ekin = 1.65191234390798 | erot = 1.87163759208079 | epot = -12.6568990440028 | etot = -9.13334910801399 +924000 ekin = 1.65466206201181 | erot = 1.82703710613301 | epot = -12.6150482762312 | etot = -9.1333491080864 +925000 ekin = 1.64962158356019 | erot = 1.7869168012849 | epot = -12.5698874929949 | etot = -9.13334910814982 +926000 ekin = 1.63577435705856 | erot = 1.75111283230762 | epot = -12.5202362975531 | etot = -9.13334910818689 +927000 ekin = 1.61269412580932 | erot = 1.71928618607917 | epot = -12.4653294200718 | etot = -9.13334910818336 +928000 ekin = 1.58061327338363 | erot = 1.69109387512973 | epot = -12.4050562566428 | etot = -9.13334910812944 +929000 ekin = 1.54043465718537 | erot = 1.66634444993708 | epot = -12.3401282151431 | etot = -9.1333491080206 +930000 ekin = 1.49368612296874 | erot = 1.64511875929371 | epot = -12.272153990122 | etot = -9.13334910785959 +931000 ekin = 1.44242020035585 | erot = 1.62783092394188 | epot = -12.2036002319551 | etot = -9.13334910765736 +932000 ekin = 1.38906420477755 | erot = 1.6152004876811 | epot = -12.1376137998939 | etot = -9.13334910743527 +933000 ekin = 1.33622958395961 | erot = 1.60811568410308 | epot = -12.0776943752853 | etot = -9.13334910722259 +934000 ekin = 1.2864948698278 | erot = 1.60739378972964 | epot = -12.0272377666119 | etot = -9.13334910705443 +935000 ekin = 1.24218246525189 | erot = 1.61347919083567 | epot = -11.9890107630518 | etot = -9.13334910696425 +936000 ekin = 1.20515312897568 | erot = 1.62614770366198 | epot = -11.9646499396149 | etot = -9.13334910697722 +937000 ekin = 1.17664231216342 | erot = 1.64429583354988 | epot = -11.954287252818 | etot = -9.13334910710468 +938000 ekin = 1.15716006420355 | erot = 1.66588444175493 | epot = -11.956393613298 | etot = -9.13334910733952 +939000 ekin = 1.1464717171079 | erot = 1.68810326831979 | epot = -11.9679240930744 | etot = -9.13334910764671 +940000 ekin = 1.14367004080966 | erot = 1.70771457433986 | epot = -11.9847337231458 | etot = -9.13334910799624 +941000 ekin = 1.14733884563068 | erot = 1.72149292700232 | epot = -12.0021808809547 | etot = -9.13334910832172 +942000 ekin = 1.15580134680235 | erot = 1.72687300440463 | epot = -12.0160234597692 | etot = -9.13334910856219 +943000 ekin = 1.1674372951318 | erot = 1.72249936625656 | epot = -12.0232857700532 | etot = -9.13334910866488 +944000 ekin = 1.18103106474372 | erot = 1.70858712464011 | epot = -12.022967297985 | etot = -9.13334910860112 +945000 ekin = 1.19606804453646 | erot = 1.68696892706896 | epot = -12.0163860799882 | etot = -9.13334910838277 +946000 ekin = 1.21284058109418 | erot = 1.66075870249184 | epot = -12.006948391658 | etot = -9.13334910807199 +947000 ekin = 1.23222210572278 | erot = 1.6336701113943 | epot = -11.9992413248879 | etot = -9.13334910777082 +948000 ekin = 1.25509690715209 | erot = 1.60916358071798 | epot = -11.9976095954562 | etot = -9.13334910758614 +949000 ekin = 1.28167104220565 | erot = 1.58969080393768 | epot = -12.0047109537229 | etot = -9.13334910757956 +950000 ekin = 1.31105510038024 | erot = 1.57628415674479 | epot = -12.0206883648626 | etot = -9.13334910773754 +951000 ekin = 1.34140314928621 | erot = 1.56859135849714 | epot = -12.0433436157658 | etot = -9.13334910798244 +952000 ekin = 1.37054117668943 | erot = 1.56526000759068 | epot = -12.0691502925011 | etot = -9.13334910822102 +953000 ekin = 1.39670348101787 | erot = 1.56444621742151 | epot = -12.0944988068312 | etot = -9.13334910839178 +954000 ekin = 1.418975292381 | erot = 1.56423287014588 | epot = -12.1165572710088 | etot = -9.13334910848189 +955000 ekin = 1.43729048070642 | erot = 1.56287479952712 | epot = -12.1335143887448 | etot = -9.13334910851126 +956000 ekin = 1.4521106633277 | erot = 1.5589293854746 | epot = -12.1443891573079 | etot = -9.13334910850558 +957000 ekin = 1.46402190623311 | erot = 1.55132217595963 | epot = -12.1486931906758 | etot = -9.1333491084831 +958000 ekin = 1.47342593725724 | erot = 1.53954965711569 | epot = -12.1463247028086 | etot = -9.13334910843571 +959000 ekin = 1.48038578494991 | erot = 1.52394133601144 | epot = -12.1376762293203 | etot = -9.1333491083589 +960000 ekin = 1.48460604034119 | erot = 1.50575363436951 | epot = -12.123708782956 | etot = -9.13334910824526 +961000 ekin = 1.48549975936096 | erot = 1.48721075412105 | epot = -12.1060596215745 | etot = -9.1333491080925 +962000 ekin = 1.48229853496308 | erot = 1.47141202583098 | epot = -12.0870596687005 | etot = -9.13334910790645 +963000 ekin = 1.4741760327198 | erot = 1.46210240867199 | epot = -12.0696275490933 | etot = -9.13334910770152 +964000 ekin = 1.46036644524797 | erot = 1.46332191688881 | epot = -12.0570374696332 | etot = -9.13334910749639 +965000 ekin = 1.44026662181698 | erot = 1.47896324786388 | epot = -12.0525789769985 | etot = -9.13334910731761 +966000 ekin = 1.41351583400278 | erot = 1.51227943251815 | epot = -12.0591443737115 | etot = -9.13334910719058 +967000 ekin = 1.38005134111899 | erot = 1.56539665062779 | epot = -12.0787970988869 | etot = -9.13334910714008 +968000 ekin = 1.34025482724314 | erot = 1.6388568627753 | epot = -12.1124607971947 | etot = -9.13334910717624 +969000 ekin = 1.29476921981363 | erot = 1.73132793710989 | epot = -12.1594462642464 | etot = -9.13334910732287 +970000 ekin = 1.24442005392726 | erot = 1.83972520712881 | epot = -12.217494368596 | etot = -9.1333491075399 +971000 ekin = 1.19046696427247 | erot = 1.95943091409806 | epot = -12.2832469861666 | etot = -9.13334910779604 +972000 ekin = 1.13463097113647 | erot = 2.08475088502996 | epot = -12.3527309642158 | etot = -9.13334910804932 +973000 ekin = 1.07911059567858 | erot = 2.20953944502461 | epot = -12.4219991489609 | etot = -9.13334910825774 +974000 ekin = 1.02657367041557 | erot = 2.32774347840719 | epot = -12.4876662572468 | etot = -9.13334910842406 +975000 ekin = 0.979977932768277 | erot = 2.43392801404807 | epot = -12.5472550553029 | etot = -9.13334910848655 +976000 ekin = 0.942304887100931 | erot = 2.52399013956154 | epot = -12.5996441351357 | etot = -9.13334910847322 +977000 ekin = 0.916335295707905 | erot = 2.59517570124579 | epot = -12.6448601053641 | etot = -9.13334910841037 +978000 ekin = 0.90431642289399 | erot = 2.64601698758131 | epot = -12.6836825188069 | etot = -9.13334910833155 +979000 ekin = 0.907654941511536 | erot = 2.67612704045953 | epot = -12.7171310902397 | etot = -9.13334910826865 +980000 ekin = 0.926700183439006 | erot = 2.68592744664022 | epot = -12.7459767383234 | etot = -9.1333491082442 +981000 ekin = 0.960659745242456 | erot = 2.67638285527366 | epot = -12.7703917087825 | etot = -9.13334910826642 +982000 ekin = 1.00766017971475 | erot = 2.64879736700748 | epot = -12.7898066550524 | etot = -9.13334910833016 +983000 ekin = 1.06493892794398 | erot = 2.60470505315865 | epot = -12.8029930895196 | etot = -9.13334910841693 +984000 ekin = 1.12913508942297 | erot = 2.54586103455185 | epot = -12.8083452324744 | etot = -9.13334910849963 +985000 ekin = 1.19663599745843 | erot = 2.47431116851685 | epot = -12.804296274524 | etot = -9.13334910854871 +986000 ekin = 1.26393164267929 | erot = 2.3924915963827 | epot = -12.7897723476014 | etot = -9.13334910853942 +987000 ekin = 1.32792910236552 | erot = 2.30329384117171 | epot = -12.764572051996 | etot = -9.13334910845872 +988000 ekin = 1.38618594051916 | erot = 2.21003704541292 | epot = -12.7295720942411 | etot = -9.133349108309 +989000 ekin = 1.43703663165432 | erot = 2.1163177663603 | epot = -12.6867035061219 | etot = -9.13334910810728 +990000 ekin = 1.47960743026485 | erot = 2.02574976476465 | epot = -12.6387063029103 | etot = -9.13334910788076 +991000 ekin = 1.51373724652975 | erot = 1.94164272477107 | epot = -12.5887290789609 | etot = -9.13334910766011 +992000 ekin = 1.53983818593236 | erot = 1.86668512516266 | epot = -12.539872418568 | etot = -9.13334910747295 +993000 ekin = 1.55873490674598 | erot = 1.8026898200528 | epot = -12.4947738341376 | etot = -9.13334910733883 +994000 ekin = 1.57151651515921 | erot = 1.75043914206067 | epot = -12.4553047644873 | etot = -9.13334910726744 +995000 ekin = 1.57942173437226 | erot = 1.70964079469052 | epot = -12.4224116363224 | etot = -9.13334910725962 +996000 ekin = 1.58376261673973 | erot = 1.67898574512825 | epot = -12.3960974691761 | etot = -9.1333491073081 +997000 ekin = 1.58587878576943 | erot = 1.65629050260393 | epot = -12.3755183957746 | etot = -9.1333491074012 +998000 ekin = 1.58710748473035 | erot = 1.63870906510968 | epot = -12.3591656573628 | etot = -9.13334910752281 +999000 ekin = 1.58875603201178 | erot = 1.62299637538288 | epot = -12.3451015150516 | etot = -9.13334910765698 +1000000 ekin = 1.59207001216863 | erot = 1.60581739807408 | epot = -12.3312365180243 | etot = -9.13334910778154 + 1000000 0.11793111 -1.2674127 0.034288999 -1.0739167 -1.3883882e-05 64000 +Loop time of 14.6434 on 1 procs for 1000000 steps with 10 atoms + +Performance: 59002.538 tau/day, 68289.974 timesteps/s +99.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 | 12.032 | 12.032 | 12.032 | 0.0 | 82.17 +Bond | 0.59079 | 0.59079 | 0.59079 | 0.0 | 4.03 +Neigh | 0.018165 | 0.018165 | 0.018165 | 0.0 | 0.12 +Comm | 0.18074 | 0.18074 | 0.18074 | 0.0 | 1.23 +Output | 0.097602 | 0.097602 | 0.097602 | 0.0 | 0.67 +Modify | 1.47 | 1.47 | 1.47 | 0.0 | 10.04 +Other | | 0.2538 | | | 1.73 + +Nlocal: 10.0000 ave 10 max 10 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 0.00000 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 37.0000 ave 37 max 37 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 37 +Ave neighs/atom = 3.7000000 +Ave special neighs/atom = 3.6000000 +Neighbor list builds = 1000 +Dangerous builds = 0 + +write_data last_config.${number}.* nocoeff +write_data last_config.1.* nocoeff +System init for write_data ... +Total wall time: 0:00:14 diff --git a/examples/PACKAGES/cgdna/examples/oxDNA/duplex1/log.27May21.duplex1.g++.4 b/examples/PACKAGES/cgdna/examples/oxDNA/duplex1/log.27May21.duplex1.g++.4 new file mode 100644 index 0000000000..cf52039af3 --- /dev/null +++ b/examples/PACKAGES/cgdna/examples/oxDNA/duplex1/log.27May21.duplex1.g++.4 @@ -0,0 +1,1171 @@ +LAMMPS (27 May 2021) +variable number equal 1 +variable ofreq equal 1000 +variable efreq equal 1000 +variable T equal 0.1 + +units lj + +dimension 3 + +newton off + +boundary p p p + +atom_style hybrid bond ellipsoid oxdna +WARNING: Atom style hybrid defines both, per-type and per-atom masses; both must be set, but only per-atom masses will be used (../atom_vec_hybrid.cpp:157) +atom_modify sort 0 1.0 + +# Pair interactions require lists of neighbours to be calculated +neighbor 2.0 bin +neigh_modify every 1 delay 0 check yes + +read_data data.duplex1 +Reading data file ... + orthogonal box = (-20.000000 -20.000000 -20.000000) to (20.000000 20.000000 20.000000) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 10 atoms + reading velocities ... + 10 velocities + scanning bonds ... + 2 = max bonds/atom + 10 ellipsoids + reading bonds ... +Setting oxDNA 3'->5' bond directionality ... + 8 bonds +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 + 2 = max # of 1-3 neighbors + 2 = max # of 1-4 neighbors + 4 = max # of special neighbors + special bonds CPU = 0.001 seconds + read_data CPU = 0.005 seconds + +set atom * mass 3.1575 +Setting atom values ... + 10 settings made for mass + +group all type 1 4 +10 atoms in group all + +# oxDNA bond interactions - FENE backbone +bond_style oxdna/fene +bond_coeff * 2.0 0.25 0.7525 +special_bonds lj 0 1 1 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 1 1 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 2 = max # of 1-3 neighbors + 2 = max # of 1-4 neighbors + 4 = max # of special neighbors + special bonds CPU = 0.000 seconds + +# oxDNA pair interactions +pair_style hybrid/overlay oxdna/excv oxdna/stk oxdna/hbond oxdna/xstk oxdna/coaxstk +pair_coeff * * oxdna/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32 +pair_coeff * * oxdna/stk seqav ${T} 1.3448 2.6568 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 +pair_coeff * * oxdna/stk seqav 0.1 1.3448 2.6568 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 +pair_coeff * * oxdna/hbond seqav 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 1 4 oxdna/hbond seqav 1.077 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 2 3 oxdna/hbond seqav 1.077 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff * * oxdna/xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68 +pair_coeff * * oxdna/coaxstk 46.0 0.4 0.6 0.22 0.58 2.0 2.541592653589793 0.65 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 -0.65 2.0 -0.65 + +# NVE ensemble +fix 1 all nve/asphere +#fix 2 all langevin ${T} ${T} 2.5 457145 angmom 10 + +timestep 1e-5 + +#comm_style tiled +fix 3 all balance 1000 1.03 shift xyz 10 1.03 +comm_modify cutoff 3.8 + +compute quat all property/atom quatw quati quatj quatk + +compute erot all erotate/asphere +compute ekin all ke +compute epot all pe +variable erot equal c_erot +variable ekin equal c_ekin +variable epot equal c_epot +variable etot equal c_erot+c_ekin+c_epot +fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes +fix 5 all print 1000 "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes + +dump out all custom ${ofreq} out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump out all custom 1000 out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump out all custom 1000 out.1.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump_modify out sort id +dump_modify out format line "%d %d %d %22.15le %22.15le %22.15le %d %d %d %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le" + +run 1000000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.9560004 + ghost atom cutoff = 3.8 + binsize = 1.4780002, bins = 28 28 28 + 4 neighbor lists, perpetual/occasional/extra = 4 0 0 + (1) pair oxdna/excv, perpetual + attributes: half, newton off + pair build: half/bin/newtoff + stencil: full/bin/3d + bin: standard + (2) pair oxdna/hbond, perpetual, copy from (1) + attributes: half, newton off + pair build: copy + stencil: none + bin: none + (3) pair oxdna/xstk, perpetual, copy from (1) + attributes: half, newton off + pair build: copy + stencil: none + bin: none + (4) pair oxdna/coaxstk, perpetual, copy from (1) + attributes: half, newton off + pair build: copy + stencil: none + bin: none +0 ekin = 1.10853632272819 | erot = 2.81573649976629 | epot = -13.057621953437 | etot = -9.13334913094248 +Per MPI rank memory allocation (min/avg/max) = 9.105 | 9.111 | 9.117 Mbytes +Step Temp E_pair E_mol TotEng Press Volume + 0 0.082113802 -1.3488546 0.043092397 -1.1949086 -4.6816211e-05 64000 +1000 ekin = 1.08024346604046 | erot = 2.90873406534668 | epot = -13.1223266626202 | etot = -9.1333491312331 +2000 ekin = 1.05028450914436 | erot = 2.98006324808558 | epot = -13.1636968886591 | etot = -9.13334913142917 +3000 ekin = 1.01964458529397 | erot = 3.02592193798632 | epot = -13.1789156547658 | etot = -9.13334913148548 +4000 ekin = 0.989515033089525 | erot = 3.04428486059471 | epot = -13.1671490250723 | etot = -9.1333491313881 +5000 ekin = 0.961283929687808 | erot = 3.03510855539557 | epot = -13.1297416162282 | etot = -9.13334913114479 +6000 ekin = 0.936412193404227 | erot = 3.00022299571976 | epot = -13.0699843199583 | etot = -9.13334913083429 +7000 ekin = 0.916233699107936 | erot = 2.94277134440162 | epot = -12.9923541739966 | etot = -9.13334913048706 +8000 ekin = 0.901760662506231 | erot = 2.86671228744167 | epot = -12.9018220800865 | etot = -9.13334913013858 +9000 ekin = 0.893571390067841 | erot = 2.77649686780609 | epot = -12.8034173876806 | etot = -9.13334912980669 +10000 ekin = 0.891805685056811 | erot = 2.67686855006738 | epot = -12.7020233645916 | etot = -9.13334912946736 +11000 ekin = 0.89624355799356 | erot = 2.57266042063124 | epot = -12.6022531078195 | etot = -9.13334912919468 +12000 ekin = 0.906416039154793 | erot = 2.46827537271561 | epot = -12.5080405408348 | etot = -9.13334912896439 +13000 ekin = 0.921704091778473 | erot = 2.36760645470838 | epot = -12.4226596752788 | etot = -9.13334912879192 +14000 ekin = 0.941405275130068 | erot = 2.2737494164118 | epot = -12.3485038202329 | etot = -9.13334912869106 +15000 ekin = 0.964770892951775 | erot = 2.18876720165115 | epot = -12.2868872232636 | etot = -9.13334912866066 +16000 ekin = 0.991029016801094 | erot = 2.11380018376644 | epot = -12.2381783292305 | etot = -9.13334912866301 +17000 ekin = 1.01940907375713 | erot = 2.04893605182115 | epot = -12.2016942543556 | etot = -9.13334912877728 +18000 ekin = 1.04917923728266 | erot = 1.99335017578094 | epot = -12.1758785419806 | etot = -9.13334912891698 +19000 ekin = 1.07969247848165 | erot = 1.9456993336296 | epot = -12.1587409411761 | etot = -9.1333491290649 +20000 ekin = 1.11043268152285 | erot = 1.90411175657071 | epot = -12.1478935672812 | etot = -9.13334912918769 +21000 ekin = 1.14104909735582 | erot = 1.86695882979236 | epot = -12.1413570564147 | etot = -9.13334912926648 +22000 ekin = 1.17136821848096 | erot = 1.83313674901888 | epot = -12.137854096792 | etot = -9.13334912929214 +23000 ekin = 1.2013763409769 | erot = 1.80222523558969 | epot = -12.1369507058331 | etot = -9.13334912926655 +24000 ekin = 1.23117249622896 | erot = 1.77451266102179 | epot = -12.1390342864515 | etot = -9.13334912920078 +25000 ekin = 1.26089526640641 | erot = 1.75088411697583 | epot = -12.1451285124969 | etot = -9.13334912911465 +26000 ekin = 1.29063712254627 | erot = 1.73259428379496 | epot = -12.1565805353675 | etot = -9.1333491290263 +27000 ekin = 1.32035987087024 | erot = 1.72114061671166 | epot = -12.174849616541 | etot = -9.1333491289591 +28000 ekin = 1.34980460658793 | erot = 1.71795709927849 | epot = -12.2011108348018 | etot = -9.13334912893538 +29000 ekin = 1.37841624051158 | erot = 1.72414013785736 | epot = -12.2359055073442 | etot = -9.13334912897524 +30000 ekin = 1.4052901572735 | erot = 1.74019656639666 | epot = -12.2788358527639 | etot = -9.13334912909376 +31000 ekin = 1.42915801743395 | erot = 1.76583252336951 | epot = -12.3283396701002 | etot = -9.13334912929672 +32000 ekin = 1.44843712560541 | erot = 1.79982181745344 | epot = -12.3816080726341 | etot = -9.13334912957528 +33000 ekin = 1.46136904668681 | erot = 1.84000474140078 | epot = -12.4347229179886 | etot = -9.13334912990105 +34000 ekin = 1.46625940785516 | erot = 1.88346459856623 | epot = -12.4830731366477 | etot = -9.13334913022626 +35000 ekin = 1.46179739484309 | erot = 1.92688889524945 | epot = -12.5220354205854 | etot = -9.13334913049288 +36000 ekin = 1.44738855724078 | erot = 1.96705754746501 | epot = -12.5477952353506 | etot = -9.13334913064481 +37000 ekin = 1.4234005446855 | erot = 2.00129614949931 | epot = -12.5580458249026 | etot = -9.13334913071783 +38000 ekin = 1.3912278154298 | erot = 2.02761655303769 | epot = -12.5521934990549 | etot = -9.13334913058744 +39000 ekin = 1.35313842096816 | erot = 2.04547852103606 | epot = -12.5319660723438 | etot = -9.1333491303396 +40000 ekin = 1.3119358769936 | erot = 2.05554364627562 | epot = -12.5008286533157 | etot = -9.13334913004646 +41000 ekin = 1.27054093924539 | erot = 2.05894429581373 | epot = -12.4628343648333 | etot = -9.13334912977422 +42000 ekin = 1.23161000992321 | erot = 2.05694893255708 | epot = -12.4219080720069 | etot = -9.13334912952666 +43000 ekin = 1.19723969759484 | erot = 2.05085758075657 | epot = -12.3814464076996 | etot = -9.13334912934817 +44000 ekin = 1.16880185863986 | erot = 2.04172238360625 | epot = -12.3438733714904 | etot = -9.13334912924427 +45000 ekin = 1.14690787175704 | erot = 2.03029950061769 | epot = -12.3105565015799 | etot = -9.13334912920516 +46000 ekin = 1.13147919636032 | erot = 2.0171225617537 | epot = -12.2819508873243 | etot = -9.13334912921024 +47000 ekin = 1.12189300492699 | erot = 2.00264798837252 | epot = -12.257890122535 | etot = -9.13334912923549 +48000 ekin = 1.11716788112702 | erot = 1.98739120721189 | epot = -12.2379082176346 | etot = -9.13334912929565 +49000 ekin = 1.11615794795221 | erot = 1.9718736810837 | epot = -12.2213807583348 | etot = -9.13334912929892 +50000 ekin = 1.1177232633637 | erot = 1.95708534394624 | epot = -12.2081577365825 | etot = -9.13334912927258 +51000 ekin = 1.12084924497845 | erot = 1.94437394210216 | epot = -12.1985723162997 | etot = -9.13334912921905 +52000 ekin = 1.12470549785223 | erot = 1.93529800314872 | epot = -12.1933526301509 | etot = -9.13334912914997 +53000 ekin = 1.12864556674947 | erot = 1.93145365271665 | epot = -12.1934483485497 | etot = -9.13334912908361 +54000 ekin = 1.1321611352306 | erot = 1.93430274875508 | epot = -12.1998130130121 | etot = -9.13334912902645 +55000 ekin = 1.13481106600208 | erot = 1.94490436967246 | epot = -12.2130645647023 | etot = -9.13334912902776 +56000 ekin = 1.13614343535792 | erot = 1.96361884590792 | epot = -12.2331114103532 | etot = -9.13334912908741 +57000 ekin = 1.1356317831126 | erot = 1.99002978527251 | epot = -12.2590106975987 | etot = -9.13334912921363 +58000 ekin = 1.13263976908227 | erot = 2.02286978616502 | epot = -12.2888586846528 | etot = -9.13334912940555 +59000 ekin = 1.1264242611342 | erot = 2.06004413441711 | epot = -12.3198175252031 | etot = -9.13334912965183 +60000 ekin = 1.11618536041525 | erot = 2.09876774945547 | epot = -12.3483022398008 | etot = -9.13334912993007 +61000 ekin = 1.10116810417863 | erot = 2.13581434618268 | epot = -12.3703315805686 | etot = -9.13334913020732 +62000 ekin = 1.08081637521804 | erot = 2.16786879318297 | epot = -12.3820342988436 | etot = -9.13334913044258 +63000 ekin = 1.05497014428154 | erot = 2.19194503254427 | epot = -12.3802643074579 | etot = -9.13334913063206 +64000 ekin = 1.02408601603167 | erot = 2.20562384873119 | epot = -12.3630589954182 | etot = -9.13334913065535 +65000 ekin = 0.989434415807826 | erot = 2.20769180278645 | epot = -12.3304753491253 | etot = -9.13334913053107 +66000 ekin = 0.953195593564014 | erot = 2.19842250482616 | epot = -12.2849672286541 | etot = -9.13334913026396 +67000 ekin = 0.918366365968406 | erot = 2.1794240088417 | epot = -12.2311395047052 | etot = -9.13334912989506 +68000 ekin = 0.888467814666429 | erot = 2.1532136435819 | epot = -12.1750305877205 | etot = -9.13334912947212 +69000 ekin = 0.867150037001785 | erot = 2.12288633704363 | epot = -12.1233855031212 | etot = -9.13334912907574 +70000 ekin = 0.85757995160489 | erot = 2.09151913845141 | epot = -12.0824482188435 | etot = -9.13334912878716 +71000 ekin = 0.861815425267566 | erot = 2.06157004239551 | epot = -12.0567345963622 | etot = -9.13334912869916 +72000 ekin = 0.880191815685505 | erot = 2.03435275439352 | epot = -12.0478936988734 | etot = -9.13334912879438 +73000 ekin = 0.91120145387665 | erot = 2.00982694750387 | epot = -12.0543775304381 | etot = -9.13334912905755 +74000 ekin = 0.951849895585045 | erot = 1.9868541827261 | epot = -12.0720532077347 | etot = -9.13334912942354 +75000 ekin = 0.998151008641101 | erot = 1.96362530027586 | epot = -12.0951254387265 | etot = -9.13334912980952 +76000 ekin = 1.04581734271574 | erot = 1.93821700241337 | epot = -12.1173834752671 | etot = -9.13334913013795 +77000 ekin = 1.09091996835682 | erot = 1.90910715282265 | epot = -12.1333762515352 | etot = -9.13334913035578 +78000 ekin = 1.13037631927892 | erot = 1.87551578135363 | epot = -12.139241231075 | etot = -9.1333491304424 +79000 ekin = 1.16219588597756 | erot = 1.83750580183238 | epot = -12.1330508182181 | etot = -9.1333491304082 +80000 ekin = 1.18548972632201 | erot = 1.79585942669966 | epot = -12.114698283306 | etot = -9.13334913028433 +81000 ekin = 1.20030605718923 | erot = 1.75181365939726 | epot = -12.0854688466954 | etot = -9.13334913010891 +82000 ekin = 1.20737786492164 | erot = 1.70676694760199 | epot = -12.0474939424388 | etot = -9.13334912991512 +83000 ekin = 1.20786051402042 | erot = 1.66205278152611 | epot = -12.0032624252715 | etot = -9.13334912972499 +84000 ekin = 1.20310991572446 | erot = 1.618829132473 | epot = -11.9552881777459 | etot = -9.13334912954841 +85000 ekin = 1.19452073297137 | erot = 1.57808043002399 | epot = -11.9059502923818 | etot = -9.13334912938643 +86000 ekin = 1.18342100682531 | erot = 1.54069268896217 | epot = -11.8574628250234 | etot = -9.13334912923592 +87000 ekin = 1.17100858957319 | erot = 1.50755090689499 | epot = -11.8119086255617 | etot = -9.13334912909349 +88000 ekin = 1.15831377551658 | erot = 1.47961680456701 | epot = -11.7712797090417 | etot = -9.13334912895806 +89000 ekin = 1.14617682817377 | erot = 1.45796378128875 | epot = -11.7374897382938 | etot = -9.13334912883123 +90000 ekin = 1.13523447969399 | erot = 1.4437643803001 | epot = -11.712347988711 | etot = -9.13334912871686 +91000 ekin = 1.12591345720529 | erot = 1.43823772500936 | epot = -11.6975003108348 | etot = -9.13334912862016 +92000 ekin = 1.11843099489266 | erot = 1.44256930748509 | epot = -11.6943494309247 | etot = -9.13334912854699 +93000 ekin = 1.11280329634796 | erot = 1.4578152481448 | epot = -11.7039676729955 | etot = -9.1333491285027 +94000 ekin = 1.10886209127321 | erot = 1.48480045701876 | epot = -11.7270116767845 | etot = -9.13334912849256 +95000 ekin = 1.10627886010321 | erot = 1.52396220647548 | epot = -11.7635901951109 | etot = -9.13334912853226 +96000 ekin = 1.10459509814404 | erot = 1.57519859223434 | epot = -11.8131428189848 | etot = -9.13334912860644 +97000 ekin = 1.10325943769886 | erot = 1.63800664193814 | epot = -11.8746152083621 | etot = -9.13334912872509 +98000 ekin = 1.10166959581627 | erot = 1.71130689804987 | epot = -11.9463256227543 | etot = -9.13334912888813 +99000 ekin = 1.09921849385146 | erot = 1.7933990563038 | epot = -12.0259666792475 | etot = -9.13334912909226 +100000 ekin = 1.09534596880091 | erot = 1.88196872528591 | epot = -12.1106638234166 | etot = -9.13334912932976 +101000 ekin = 1.08959720755104 | erot = 1.97415616931472 | epot = -12.1971025064524 | etot = -9.13334912958667 +102000 ekin = 1.08168751154804 | erot = 2.06670282185194 | epot = -12.281739463243 | etot = -9.133349129843 +103000 ekin = 1.07156932342305 | erot = 2.15618192508077 | epot = -12.3611003785777 | etot = -9.13334913007386 +104000 ekin = 1.05949237996066 | erot = 2.2393015837358 | epot = -12.4321430939489 | etot = -9.13334913025249 +105000 ekin = 1.04604342224874 | erot = 2.31323902285858 | epot = -12.4926315754935 | etot = -9.1333491303862 +106000 ekin = 1.03224316318559 | erot = 2.37579242095991 | epot = -12.5413847145648 | etot = -9.13334913041925 +107000 ekin = 1.01951120148935 | erot = 2.42585603740572 | epot = -12.5787163692807 | etot = -9.1333491303856 +108000 ekin = 1.00875017477213 | erot = 2.46348952984495 | epot = -12.6055888348739 | etot = -9.13334913025687 +109000 ekin = 1.00109573552403 | erot = 2.48980806114969 | epot = -12.6242529267284 | etot = -9.13334913005465 +110000 ekin = 0.997931591358209 | erot = 2.50673918610797 | epot = -12.6380199072781 | etot = -9.1333491298119 +111000 ekin = 1.00076792351332 | erot = 2.51665915373038 | epot = -12.6507762068081 | etot = -9.13334912956442 +112000 ekin = 1.01109610479939 | erot = 2.52200701599649 | epot = -12.6664522501395 | etot = -9.13334912934366 +113000 ekin = 1.03019016817897 | erot = 2.52496101252879 | epot = -12.6885003099866 | etot = -9.13334912927888 +114000 ekin = 1.05821017520641 | erot = 2.52722573627505 | epot = -12.718785040702 | etot = -9.13334912922054 +115000 ekin = 1.09472530400156 | erot = 2.53003930448813 | epot = -12.7581137377196 | etot = -9.13334912922996 +116000 ekin = 1.13884650903347 | erot = 2.53414832430427 | epot = -12.8063439626442 | etot = -9.13334912930642 +117000 ekin = 1.18909444999498 | erot = 2.53980839277107 | epot = -12.8622519722151 | etot = -9.13334912944908 +118000 ekin = 1.24341490970488 | erot = 2.54678348242605 | epot = -12.923547521787 | etot = -9.13334912965603 +119000 ekin = 1.29923662064205 | erot = 2.55432909400977 | epot = -12.9869148445731 | etot = -9.1333491299213 +120000 ekin = 1.3535895921566 | erot = 2.56118615921763 | epot = -13.0481248816038 | etot = -9.13334913022958 +121000 ekin = 1.40329803815465 | erot = 2.56563135861624 | epot = -13.1022785273256 | etot = -9.13334913055468 +122000 ekin = 1.44524692196627 | erot = 2.56562448409192 | epot = -13.1442205369174 | etot = -9.13334913085923 +123000 ekin = 1.47669540804843 | erot = 2.55906317998174 | epot = -13.1691077191311 | etot = -9.13334913110098 +124000 ekin = 1.49558302658173 | erot = 2.54411105943694 | epot = -13.1730432172614 | etot = -9.1333491312427 +125000 ekin = 1.50076122489751 | erot = 2.51952798471286 | epot = -13.1536383408715 | etot = -9.13334913126112 +126000 ekin = 1.49214728684725 | erot = 2.48515933103502 | epot = -13.1106557490377 | etot = -9.13334913115539 +127000 ekin = 1.47053410713968 | erot = 2.44174480075115 | epot = -13.0456280388479 | etot = -9.13334913095708 +128000 ekin = 1.43743445323518 | erot = 2.39059049317542 | epot = -12.9613740770764 | etot = -9.13334913066578 +129000 ekin = 1.39501109707066 | erot = 2.33380120125817 | epot = -12.8621614286441 | etot = -9.1333491303153 +130000 ekin = 1.34584042016766 | erot = 2.27401545397176 | epot = -12.7532050040799 | etot = -9.13334912994046 +131000 ekin = 1.29268930786602 | erot = 2.21410134111226 | epot = -12.6401397785514 | etot = -9.13334912957311 +132000 ekin = 1.23832315616835 | erot = 2.15686384200887 | epot = -12.528536127416 | etot = -9.13334912923874 +133000 ekin = 1.18535267681209 | erot = 2.10479906741759 | epot = -12.4235008731857 | etot = -9.13334912895606 +134000 ekin = 1.13612155562824 | erot = 2.05991346428628 | epot = -12.329384148651 | etot = -9.13334912873644 +135000 ekin = 1.09263262326063 | erot = 2.02360952444363 | epot = -12.2495912762909 | etot = -9.13334912858664 +136000 ekin = 1.05650575788357 | erot = 1.99662030668678 | epot = -12.1864751930785 | etot = -9.13334912850817 +137000 ekin = 1.02895878679464 | erot = 1.9789921283488 | epot = -12.1413000436437 | etot = -9.13334912850029 +138000 ekin = 1.01080388995852 | erot = 1.97013512172225 | epot = -12.1142881402336 | etot = -9.13334912855282 +139000 ekin = 1.00245459395347 | erot = 1.96888144460865 | epot = -12.1046851672407 | etot = -9.13334912867858 +140000 ekin = 1.00393780740617 | erot = 1.9733301097344 | epot = -12.1106170460032 | etot = -9.13334912886262 +141000 ekin = 1.01490973367029 | erot = 1.9810453094478 | epot = -12.129304172214 | etot = -9.13334912909595 +142000 ekin = 1.03468044934412 | erot = 1.98917872502417 | epot = -12.157208303734 | etot = -9.13334912936574 +143000 ekin = 1.06225104646169 | erot = 1.99463134790766 | epot = -12.1902315240236 | etot = -9.13334912965421 +144000 ekin = 1.09636709127244 | erot = 1.99441220318379 | epot = -12.2241284243807 | etot = -9.1333491299245 +145000 ekin = 1.13559045362115 | erot = 1.98572590465988 | epot = -12.2546654884646 | etot = -9.13334913018355 +146000 ekin = 1.17838854122085 | erot = 1.96612892354236 | epot = -12.2778665951537 | etot = -9.13334913039054 +147000 ekin = 1.22300699749175 | erot = 1.93405129394955 | epot = -12.2904074219631 | etot = -9.13334913052184 +148000 ekin = 1.26785677863015 | erot = 1.88891621350819 | epot = -12.2901221226999 | etot = -9.13334913056158 +149000 ekin = 1.31170551487297 | erot = 1.83123494690843 | epot = -12.2762895922886 | etot = -9.13334913050724 +150000 ekin = 1.35361858091197 | erot = 1.76263607509584 | epot = -12.2496037863729 | etot = -9.13334913036511 +151000 ekin = 1.39299848911427 | erot = 1.68572491420578 | epot = -12.2120725334745 | etot = -9.13334913015443 +152000 ekin = 1.42958376961909 | erot = 1.60381549112304 | epot = -12.1667483906422 | etot = -9.13334912990011 +153000 ekin = 1.46340801747592 | erot = 1.52060159601877 | epot = -12.1173587431249 | etot = -9.13334912963019 +154000 ekin = 1.49472650224559 | erot = 1.43981503875235 | epot = -12.0678906703692 | etot = -9.13334912937122 +155000 ekin = 1.52392161825077 | erot = 1.36491657683176 | epot = -12.0221873242286 | etot = -9.13334912914611 +156000 ekin = 1.55140022159552 | erot = 1.29884972381787 | epot = -11.9835990743858 | etot = -9.13334912897239 +157000 ekin = 1.57749707056582 | erot = 1.24387068637192 | epot = -11.9547168857975 | etot = -9.13334912885979 +158000 ekin = 1.60239506185775 | erot = 1.20145363967788 | epot = -11.9371978303528 | etot = -9.13334912881713 +159000 ekin = 1.62604462003778 | erot = 1.17226436760477 | epot = -11.9316581164852 | etot = -9.13334912884267 +160000 ekin = 1.64813303486537 | erot = 1.15619534708302 | epot = -11.9376775108803 | etot = -9.13334912893192 +161000 ekin = 1.6680732761297 | erot = 1.15245312716186 | epot = -11.9538755323666 | etot = -9.13334912907501 +162000 ekin = 1.68501875283048 | erot = 1.15969471512808 | epot = -11.9780625972165 | etot = -9.13334912925795 +163000 ekin = 1.69790620824667 | erot = 1.17620989126115 | epot = -12.0074652289698 | etot = -9.13334912946203 +164000 ekin = 1.70552711798388 | erot = 1.20014309389848 | epot = -12.0390193415473 | etot = -9.13334912966499 +165000 ekin = 1.70662691809342 | erot = 1.22974121417746 | epot = -12.0697172621134 | etot = -9.13334912984253 +166000 ekin = 1.70002908026843 | erot = 1.26360423252443 | epot = -12.096982442764 | etot = -9.13334912997113 +167000 ekin = 1.68477683955878 | erot = 1.30090518403802 | epot = -12.1190311536275 | etot = -9.13334913003072 +168000 ekin = 1.66027923283182 | erot = 1.34154370359116 | epot = -12.1351720664317 | etot = -9.13334913000876 +169000 ekin = 1.62644124957724 | erot = 1.38619810991441 | epot = -12.1459884893951 | etot = -9.13334912990346 +170000 ekin = 1.58375251890772 | erot = 1.43625221626238 | epot = -12.1533538648959 | etot = -9.13334912972576 +171000 ekin = 1.53331003043923 | erot = 1.49359459893455 | epot = -12.1602537588732 | etot = -9.13334912949943 +172000 ekin = 1.47676106161397 | erot = 1.56031583407089 | epot = -12.170426024941 | etot = -9.13334912925612 +173000 ekin = 1.41695754705518 | erot = 1.63848249765459 | epot = -12.1887891730454 | etot = -9.13334912833566 +174000 ekin = 1.35937684304471 | erot = 1.72968793645282 | epot = -12.2224139078261 | etot = -9.13334912832854 +175000 ekin = 1.30537540818795 | erot = 1.83369980102301 | epot = -12.2724243375761 | etot = -9.1333491283651 +176000 ekin = 1.25571357800282 | erot = 1.94952726339983 | epot = -12.3385899698495 | etot = -9.13334912844688 +177000 ekin = 1.21104692225286 | erot = 2.07558802224418 | epot = -12.4199840730645 | etot = -9.1333491285675 +178000 ekin = 1.17189512057006 | erot = 2.2097607957467 | epot = -12.5150050450644 | etot = -9.13334912874763 +179000 ekin = 1.13864315857337 | erot = 2.34949890132912 | epot = -12.6214911888117 | etot = -9.13334912890923 +180000 ekin = 1.11156621835557 | erot = 2.49234008540025 | epot = -12.7372554328249 | etot = -9.13334912906903 +181000 ekin = 1.09087167613546 | erot = 2.6356735753616 | epot = -12.8598943807501 | etot = -9.13334912925305 +182000 ekin = 1.076752265798 | erot = 2.77693577183354 | epot = -12.9870371670196 | etot = -9.13334912938803 +183000 ekin = 1.0694229423411 | erot = 2.91405263083468 | epot = -13.1168247026766 | etot = -9.13334912950083 +184000 ekin = 1.06913488705798 | erot = 3.04520163111691 | epot = -13.2476856477706 | etot = -9.13334912959569 +185000 ekin = 1.07614345922752 | erot = 3.16875772929962 | epot = -13.378250318213 | etot = -9.13334912968585 +186000 ekin = 1.09060563376715 | erot = 3.283179841549 | epot = -13.5071346051107 | etot = -9.1333491297946 +187000 ekin = 1.11239929858119 | erot = 3.38683780589135 | epot = -13.6325862344251 | etot = -9.13334912995254 +188000 ekin = 1.14088837562617 | erot = 3.47780595660562 | epot = -13.7520434624204 | etot = -9.13334913018863 +189000 ekin = 1.17469755695826 | erot = 3.55369218298297 | epot = -13.8617388704576 | etot = -9.13334913051635 +190000 ekin = 1.21158961983318 | erot = 3.61161008256116 | epot = -13.9565488333137 | etot = -9.13334913091936 +191000 ekin = 1.24837558083706 | erot = 3.64780345127586 | epot = -14.029528163489 | etot = -9.13334913137609 +192000 ekin = 1.28102311682938 | erot = 3.65810395429009 | epot = -14.0724762027878 | etot = -9.13334913166834 +193000 ekin = 1.30598320816956 | erot = 3.6413929500649 | epot = -14.0807252900253 | etot = -9.13334913179085 +194000 ekin = 1.32049648836596 | erot = 3.5984455236301 | epot = -14.0522911436923 | etot = -9.13334913169622 +195000 ekin = 1.32298604774247 | erot = 3.53212928134902 | epot = -13.9884644604291 | etot = -9.13334913133759 +196000 ekin = 1.31323645162542 | erot = 3.44751612705246 | epot = -13.894101709523 | etot = -9.13334913084515 +197000 ekin = 1.29228934698117 | erot = 3.35072340322429 | epot = -13.7763618804985 | etot = -9.13334913029301 +198000 ekin = 1.26212633786607 | erot = 3.24789114381922 | epot = -13.6433666114226 | etot = -9.13334912973732 +199000 ekin = 1.22527047461696 | erot = 3.14483705467137 | epot = -13.5034566585627 | etot = -9.13334912927433 +200000 ekin = 1.18441799207221 | erot = 3.04594245962928 | epot = -13.3637095806213 | etot = -9.13334912891985 +201000 ekin = 1.14216630511935 | erot = 2.95390025492293 | epot = -13.2294156887269 | etot = -9.13334912868461 +202000 ekin = 1.10084220211739 | erot = 2.86987712396292 | epot = -13.1040684546433 | etot = -9.13334912856296 +203000 ekin = 1.06240856569008 | erot = 2.79366067226783 | epot = -12.9894183664997 | etot = -9.13334912854175 +204000 ekin = 1.02841768821218 | erot = 2.7238914427547 | epot = -12.885658259572 | etot = -9.13334912860517 +205000 ekin = 0.999988405220756 | erot = 2.65832732458277 | epot = -12.7916648585391 | etot = -9.13334912873555 +206000 ekin = 0.977799621225127 | erot = 2.59412391514154 | epot = -12.70527266528 | etot = -9.13334912891328 +207000 ekin = 0.962105653965382 | erot = 2.52813792126081 | epot = -12.6235927043399 | etot = -9.13334912911372 +208000 ekin = 0.952783648018805 | erot = 2.4572664289227 | epot = -12.5433992062487 | etot = -9.13334912930716 +209000 ekin = 0.949416945748458 | erot = 2.37882137049673 | epot = -12.4615874457065 | etot = -9.13334912946133 +210000 ekin = 0.951402263215111 | erot = 2.29090939419168 | epot = -12.375660786954 | etot = -9.13334912954725 +211000 ekin = 0.958051952077477 | erot = 2.19275562021825 | epot = -12.2841567018434 | etot = -9.13334912954766 +212000 ekin = 0.968659667700339 | erot = 2.08489619855764 | epot = -12.1869049957193 | etot = -9.13334912946129 +213000 ekin = 0.982515908119824 | erot = 1.96918422280939 | epot = -12.0850492602319 | etot = -9.13334912930273 +214000 ekin = 0.998888701919625 | erot = 1.84860041861863 | epot = -11.980838249635 | etot = -9.13334912909677 +215000 ekin = 1.01700134912557 | erot = 1.72690897492111 | epot = -11.8772594529187 | etot = -9.13334912887207 +216000 ekin = 1.03603050122443 | erot = 1.60822693577763 | epot = -11.777606565658 | etot = -9.13334912865598 +217000 ekin = 1.05512477228462 | erot = 1.49657917533736 | epot = -11.6850530760946 | etot = -9.13334912847261 +218000 ekin = 1.07342860744178 | erot = 1.39550092670122 | epot = -11.6022786624833 | etot = -9.13334912834026 +219000 ekin = 1.09009860355571 | erot = 1.30773521951501 | epot = -11.5311829513406 | etot = -9.13334912826989 +220000 ekin = 1.10431207607347 | erot = 1.23505496062837 | epot = -11.4727161649656 | etot = -9.13334912826375 +221000 ekin = 1.11527717993044 | erot = 1.17821867809205 | epot = -11.4268449863377 | etot = -9.13334912831525 +222000 ekin = 1.12225437592971 | erot = 1.13704823944105 | epot = -11.3926517437815 | etot = -9.13334912841074 +223000 ekin = 1.1245929762141 | erot = 1.11060060825072 | epot = -11.3685427129973 | etot = -9.13334912853248 +224000 ekin = 1.12177911879615 | erot = 1.09739625543894 | epot = -11.3525245028962 | etot = -9.13334912866115 +225000 ekin = 1.11348637905752 | erot = 1.09566402531907 | epot = -11.3424995331561 | etot = -9.13334912877947 +226000 ekin = 1.09961800000704 | erot = 1.10360909760923 | epot = -11.3365762264854 | etot = -9.13334912886916 +227000 ekin = 1.08033165066218 | erot = 1.11952730043391 | epot = -11.3332080800322 | etot = -9.13334912893613 +228000 ekin = 1.05604602872783 | erot = 1.14187865421846 | epot = -11.3312738119174 | etot = -9.13334912897114 +229000 ekin = 1.02742418663512 | erot = 1.16938489301659 | epot = -11.3301582086289 | etot = -9.13334912897717 +230000 ekin = 0.995339184991671 | erot = 1.20102048198595 | epot = -11.3297087959372 | etot = -9.13334912895961 +231000 ekin = 0.960829492708811 | erot = 1.2359773576228 | epot = -11.3301559792548 | etot = -9.13334912892318 +232000 ekin = 0.92505043273539 | erot = 1.27360958612358 | epot = -11.3320091477358 | etot = -9.13334912887685 +233000 ekin = 0.889225435959919 | erot = 1.31337910210598 | epot = -11.3359536668897 | etot = -9.13334912882377 +234000 ekin = 0.854600006628912 | erot = 1.35483402381882 | epot = -11.3427831592152 | etot = -9.13334912876742 +235000 ekin = 0.822390924845405 | erot = 1.39757430015793 | epot = -11.3533143537197 | etot = -9.13334912871641 +236000 ekin = 0.793732848712064 | erot = 1.44121433399019 | epot = -11.3682963113767 | etot = -9.13334912867447 +237000 ekin = 0.769632191219681 | erot = 1.48535644446014 | epot = -11.3883377643268 | etot = -9.13334912864699 +238000 ekin = 0.750918993366291 | erot = 1.52956143549159 | epot = -11.4138295574961 | etot = -9.1333491286382 +239000 ekin = 0.738206267497456 | erot = 1.57333361162098 | epot = -11.4448890077681 | etot = -9.13334912864969 +240000 ekin = 0.731862193744267 | erot = 1.61613149974176 | epot = -11.4813428221659 | etot = -9.13334912867991 +241000 ekin = 0.731999328002306 | erot = 1.65741090456815 | epot = -11.5227593612939 | etot = -9.13334912872343 +242000 ekin = 0.738482620157578 | erot = 1.69669130986271 | epot = -11.5685230587946 | etot = -9.13334912877436 +243000 ekin = 0.75095504232563 | erot = 1.73364929482296 | epot = -11.6179534659688 | etot = -9.13334912882023 +244000 ekin = 0.76887708046684 | erot = 1.76822360275604 | epot = -11.6704498120776 | etot = -9.13334912885467 +245000 ekin = 0.791573929294853 | erot = 1.80068045121316 | epot = -11.72560350938 | etot = -9.13334912887203 +246000 ekin = 0.818282914271752 | erot = 1.8316410744519 | epot = -11.7832731175948 | etot = -9.13334912887118 +247000 ekin = 0.848193621601871 | erot = 1.86205096555267 | epot = -11.8435937160109 | etot = -9.13334912885635 +248000 ekin = 0.880474358635652 | erot = 1.89308546777831 | epot = -11.9069089552509 | etot = -9.1333491288369 +249000 ekin = 0.914280881219407 | erot = 1.92599713223939 | epot = -11.9736271422852 | etot = -9.13334912882638 +250000 ekin = 0.948746730716592 | erot = 1.96192054843792 | epot = -12.0440164079952 | etot = -9.13334912884067 +251000 ekin = 0.982959063854421 | erot = 2.00165977259976 | epot = -12.1179679653496 | etot = -9.13334912889544 +252000 ekin = 1.01592948249857 | erot = 2.04549252396446 | epot = -12.1947711354647 | etot = -9.13334912900165 +253000 ekin = 1.04657777483978 | erot = 2.09303441306042 | epot = -12.2729613170607 | etot = -9.13334912916053 +254000 ekin = 1.07373541755064 | erot = 2.14319803018524 | epot = -12.3502825770996 | etot = -9.13334912936369 +255000 ekin = 1.09620163163007 | erot = 2.1943096672061 | epot = -12.4238604284185 | etot = -9.13334912958234 +256000 ekin = 1.1128720642812 | erot = 2.24438579427484 | epot = -12.4906069883395 | etot = -9.13334912978351 +257000 ekin = 1.12287782510587 | erot = 2.29146665865438 | epot = -12.5476936136924 | etot = -9.13334912993218 +258000 ekin = 1.12572293500218 | erot = 2.33396623628282 | epot = -12.5930383012898 | etot = -9.1333491300048 +259000 ekin = 1.12139026023591 | erot = 2.37095948468545 | epot = -12.625698874911 | etot = -9.13334912998962 +260000 ekin = 1.11036122819271 | erot = 2.4022965811537 | epot = -12.6460069392473 | etot = -9.13334912990093 +261000 ekin = 1.09354805445024 | erot = 2.42847877902899 | epot = -12.6553759632423 | etot = -9.13334912976304 +262000 ekin = 1.07216031825739 | erot = 2.45046938603003 | epot = -12.6559788338922 | etot = -9.13334912960477 +263000 ekin = 1.04754368718255 | erot = 2.4694329779717 | epot = -12.6503257946119 | etot = -9.13334912945761 +264000 ekin = 1.02102495133799 | erot = 2.48647844637127 | epot = -12.6408525270504 | etot = -9.13334912934109 +265000 ekin = 0.993788783443426 | erot = 2.50247063136383 | epot = -12.629608544077 | etot = -9.13334912926975 +266000 ekin = 0.966800247929825 | erot = 2.51790683905008 | epot = -12.6180562162306 | etot = -9.1333491292507 +267000 ekin = 0.940784249459232 | erot = 2.53283827184812 | epot = -12.6069716505901 | etot = -9.13334912928275 +268000 ekin = 0.916272152394501 | erot = 2.54684612152506 | epot = -12.5964674032737 | etot = -9.13334912935417 +269000 ekin = 0.893722172477421 | erot = 2.55907244306951 | epot = -12.5861437450353 | etot = -9.13334912948841 +270000 ekin = 0.873709285129123 | erot = 2.56799722891213 | epot = -12.5750556436025 | etot = -9.1333491295613 +271000 ekin = 0.857156433251772 | erot = 2.57226369508336 | epot = -12.5627692579086 | etot = -9.13334912957348 +272000 ekin = 0.845541083724271 | erot = 2.57096110909421 | epot = -12.5498513223275 | etot = -9.13334912950897 +273000 ekin = 0.840983736970027 | erot = 2.56364270819324 | epot = -12.5379755745181 | etot = -9.13334912935485 +274000 ekin = 0.846103061110809 | erot = 2.55054497183512 | epot = -12.5299971620899 | etot = -9.13334912914396 +275000 ekin = 0.863570741245335 | erot = 2.53260377850945 | epot = -12.5295236486815 | etot = -9.13334912892668 +276000 ekin = 0.895419299415727 | erot = 2.51114645014648 | epot = -12.5399148783706 | etot = -9.13334912880838 +277000 ekin = 0.942302359419358 | erot = 2.48734970425542 | epot = -12.5630011925123 | etot = -9.13334912883751 +278000 ekin = 1.00299069941656 | erot = 2.46199112036264 | epot = -12.5983309488099 | etot = -9.13334912903073 +279000 ekin = 1.07434561589337 | erot = 2.43529774590622 | epot = -12.6429924911401 | etot = -9.13334912934047 +280000 ekin = 1.1518234098412 | erot = 2.40711596365387 | epot = -12.6922885031807 | etot = -9.13334912968566 +281000 ekin = 1.23030856581916 | erot = 2.37726964751121 | epot = -12.7409273433246 | etot = -9.13334912999419 +282000 ekin = 1.30483974879876 | erot = 2.34551973870678 | epot = -12.7837086176998 | etot = -9.13334913019425 +283000 ekin = 1.37151257999554 | erot = 2.31231452819811 | epot = -12.8171762384395 | etot = -9.13334913024583 +284000 ekin = 1.42789685319497 | erot = 2.27901843146156 | epot = -12.8402644148132 | etot = -9.13334913015666 +285000 ekin = 1.47299679574576 | erot = 2.24762833985798 | epot = -12.8539742655657 | etot = -9.13334912996199 +286000 ekin = 1.50701906587807 | erot = 2.22050056283333 | epot = -12.8608687584236 | etot = -9.1333491297122 +287000 ekin = 1.53099472144866 | erot = 2.19999584806528 | epot = -12.8643396989743 | etot = -9.13334912946032 +288000 ekin = 1.54636449768968 | erot = 2.18811490987538 | epot = -12.8678285368172 | etot = -9.13334912925209 +289000 ekin = 1.55461163491285 | erot = 2.18618804174405 | epot = -12.8741488057757 | etot = -9.1333491291188 +290000 ekin = 1.55699428674741 | erot = 2.19466879450645 | epot = -12.8850122103288 | etot = -9.13334912907495 +291000 ekin = 1.55439775255703 | erot = 2.21306131818027 | epot = -12.9008081998553 | etot = -9.13334912911797 +292000 ekin = 1.54729960240303 | erot = 2.23998314422011 | epot = -12.9206318758555 | etot = -9.13334912923236 +293000 ekin = 1.53582108608436 | erot = 2.27333490842382 | epot = -12.9425051239038 | etot = -9.1333491293956 +294000 ekin = 1.51982864506198 | erot = 2.31049721096855 | epot = -12.9636749856271 | etot = -9.13334912959652 +295000 ekin = 1.49905154213345 | erot = 2.34851873983909 | epot = -12.9809194117672 | etot = -9.13334912979465 +296000 ekin = 1.4731936480281 | erot = 2.38443281021024 | epot = -12.9909755882223 | etot = -9.13334912998395 +297000 ekin = 1.44203124545982 | erot = 2.41536854589882 | epot = -12.99074892151 | etot = -9.13334913015133 +298000 ekin = 1.40549976702096 | erot = 2.4386740904602 | epot = -12.9775229877651 | etot = -9.13334913028399 +299000 ekin = 1.36377241662811 | erot = 2.45204871800361 | epot = -12.9491702650001 | etot = -9.13334913036838 +300000 ekin = 1.31732711912166 | erot = 2.45368408092481 | epot = -12.9043603304387 | etot = -9.13334913039221 +301000 ekin = 1.26699022414728 | erot = 2.44240353914498 | epot = -12.8427428936397 | etot = -9.13334913034745 +302000 ekin = 1.21394210637167 | erot = 2.41777278592862 | epot = -12.765064022533 | etot = -9.13334913023274 +303000 ekin = 1.1596741442934 | erot = 2.38015189683557 | epot = -12.6731751711844 | etot = -9.13334913005544 +304000 ekin = 1.10589726251302 | erot = 2.33066939618069 | epot = -12.5699157885241 | etot = -9.13334912983043 +305000 ekin = 1.05441504199268 | erot = 2.27111808933615 | epot = -12.4588822609062 | etot = -9.13334912957738 +306000 ekin = 1.00698421397159 | erot = 2.20379218513968 | epot = -12.3441255284276 | etot = -9.13334912931634 +307000 ekin = 0.965188337627658 | erot = 2.13129764385332 | epot = -12.2298351105454 | etot = -9.13334912906444 +308000 ekin = 0.930345631944601 | erot = 2.056368146155 | epot = -12.1200629069337 | etot = -9.13334912883408 +309000 ekin = 0.903461768093092 | erot = 1.98167791132811 | epot = -12.0184888080548 | etot = -9.13334912863359 +310000 ekin = 0.885228515008126 | erot = 1.90967870211519 | epot = -11.9282563455893 | etot = -9.13334912846596 +311000 ekin = 0.876047647700586 | erot = 1.84263812609996 | epot = -11.852034902134 | etot = -9.13334912833348 +312000 ekin = 0.876068182199105 | erot = 1.78248869456835 | epot = -11.7919060050072 | etot = -9.13334912823976 +313000 ekin = 0.885223985970005 | erot = 1.73072892882167 | epot = -11.7493020429822 | etot = -9.13334912819049 +314000 ekin = 0.903258342515217 | erot = 1.68832066988298 | epot = -11.7249281405911 | etot = -9.13334912819286 +315000 ekin = 0.929731391718549 | erot = 1.65558558099657 | epot = -11.7186661009695 | etot = -9.13334912825433 +316000 ekin = 0.964013828970821 | erot = 1.6321197350897 | epot = -11.72948269244 | etot = -9.13334912837943 +317000 ekin = 1.00527629211697 | erot = 1.61675326466403 | epot = -11.7553786853486 | etot = -9.13334912856759 +318000 ekin = 1.05248736450164 | erot = 1.60758570940499 | epot = -11.7934222027159 | etot = -9.13334912880928 +319000 ekin = 1.10443332868175 | erot = 1.60212494474445 | epot = -11.8399074025115 | etot = -9.13334912908528 +320000 ekin = 1.15976924920879 | erot = 1.59754526105337 | epot = -11.8906636396278 | etot = -9.13334912936562 +321000 ekin = 1.21710352305735 | erot = 1.591055545181 | epot = -11.9415081978527 | etot = -9.13334912961438 +322000 ekin = 1.27510751189543 | erot = 1.58033324923022 | epot = -11.9887898909209 | etot = -9.1333491297953 +323000 ekin = 1.33263084645792 | erot = 1.56394390937281 | epot = -12.0299238857116 | etot = -9.13334912988083 +324000 ekin = 1.38879590712306 | erot = 1.5416467848519 | epot = -12.0637918218349 | etot = -9.13334912985997 +325000 ekin = 1.44304623679811 | erot = 1.51450056885231 | epot = -12.0908959353924 | etot = -9.13334912974197 +326000 ekin = 1.49513435445796 | erot = 1.48473073066039 | epot = -12.1132142146722 | etot = -9.1333491295539 +327000 ekin = 1.54505065938471 | erot = 1.45538400860359 | epot = -12.1337837973235 | etot = -9.13334912933516 +328000 ekin = 1.59290981434387 | erot = 1.42984788209389 | epot = -12.1561068255661 | etot = -9.13334912912838 +329000 ekin = 1.63881860975765 | erot = 1.41133335467872 | epot = -12.1835010934091 | etot = -9.13334912897275 +330000 ekin = 1.68274896183239 | erot = 1.4024072959145 | epot = -12.2185053866451 | etot = -9.13334912889826 +331000 ekin = 1.72443467169707 | erot = 1.4046311634215 | epot = -12.2624149640428 | etot = -9.13334912892422 +332000 ekin = 1.76330533674463 | erot = 1.41833479327589 | epot = -12.3149892590779 | etot = -9.13334912905735 +333000 ekin = 1.79846823309411 | erot = 1.44253834966357 | epot = -12.3743557120476 | etot = -9.13334912928995 +334000 ekin = 1.82874900591204 | erot = 1.47503277033971 | epot = -12.4371309058505 | etot = -9.1333491295987 +335000 ekin = 1.85279616115898 | erot = 1.5126357019759 | epot = -12.4987809930786 | etot = -9.13334912994371 +336000 ekin = 1.86927630558816 | erot = 1.55160162438203 | epot = -12.5542270602401 | etot = -9.13334913026992 +337000 ekin = 1.87711735413937 | erot = 1.5882004977332 | epot = -12.5986669823884 | etot = -9.13334913051582 +338000 ekin = 1.8757484092313 | erot = 1.61938868722871 | epot = -12.6284862270849 | etot = -9.13334913062489 +339000 ekin = 1.86534866362648 | erot = 1.64338736517746 | epot = -12.6420851593657 | etot = -9.13334913056172 +340000 ekin = 1.84695798886891 | erot = 1.66009075059628 | epot = -12.6403978697887 | etot = -9.13334913032349 +341000 ekin = 1.82243969076525 | erot = 1.67114820362438 | epot = -12.6269370243315 | etot = -9.13334912994192 +342000 ekin = 1.79428655955741 | erot = 1.67969211618746 | epot = -12.6073278052212 | etot = -9.13334912947637 +343000 ekin = 1.76531632972398 | erot = 1.68978090506725 | epot = -12.5884463637883 | etot = -9.13334912899707 +344000 ekin = 1.73833039739143 | erot = 1.70570000746884 | epot = -12.5773795334311 | etot = -9.13334912857087 +345000 ekin = 1.71580589060137 | erot = 1.73127559556237 | epot = -12.5804306144134 | etot = -9.13334912824962 +346000 ekin = 1.6996635309747 | erot = 1.76931234934698 | epot = -12.6023250083897 | etot = -9.13334912806806 +347000 ekin = 1.69112042623171 | erot = 1.82120184302266 | epot = -12.6456713972995 | etot = -9.13334912804509 +348000 ekin = 1.69061396982658 | erot = 1.88669704033649 | epot = -12.7106601383506 | etot = -9.13334912818748 +349000 ekin = 1.69777681788112 | erot = 1.96382926866272 | epot = -12.7949552150357 | etot = -9.13334912849182 +350000 ekin = 1.7114511501017 | erot = 2.04895591402652 | epot = -12.8937561930717 | etot = -9.13334912894347 +351000 ekin = 1.72974629646096 | erot = 2.13695636910622 | epot = -13.0000517950781 | etot = -9.13334912951097 +352000 ekin = 1.75015893903857 | erot = 2.22162008456721 | epot = -13.1051281537467 | etot = -9.13334913014092 +353000 ekin = 1.76978034905472 | erot = 2.29627029646064 | epot = -13.1993997762728 | etot = -9.13334913075749 +354000 ekin = 1.7856021091187 | erot = 2.35462017023462 | epot = -13.2735714106211 | etot = -9.13334913126782 +355000 ekin = 1.7948978547275 | erot = 2.39176336004161 | epot = -13.3200103463516 | etot = -9.13334913158252 +356000 ekin = 1.79561393246494 | erot = 2.4050918685946 | epot = -13.3340549326996 | etot = -9.13334913164005 +357000 ekin = 1.78667091072534 | erot = 2.39487614134816 | epot = -13.3148961835026 | etot = -9.13334913142907 +358000 ekin = 1.76810167230416 | erot = 2.3642989799402 | epot = -13.26574978317 | etot = -9.13334913092568 +359000 ekin = 1.74170569044599 | erot = 2.31907684809484 | epot = -13.1941316689269 | etot = -9.13334913038603 +360000 ekin = 1.70943632676095 | erot = 2.26611368397139 | epot = -13.1088991405402 | etot = -9.13334912980783 +361000 ekin = 1.67315005965356 | erot = 2.2123416661571 | epot = -13.0188408550981 | etot = -9.1333491292874 +362000 ekin = 1.63480994001483 | erot = 2.16376887379833 | epot = -12.931927942706 | etot = -9.13334912889285 +363000 ekin = 1.59622606057457 | erot = 2.12469986683786 | epot = -12.8542750560708 | etot = -9.13334912865833 +364000 ekin = 1.55890205833708 | erot = 2.0973463155983 | epot = -12.7895975025221 | etot = -9.13334912858677 +365000 ekin = 1.52397421076707 | erot = 2.08181308416756 | epot = -12.7391364235924 | etot = -9.13334912865774 +366000 ekin = 1.49221260733957 | erot = 2.0763900979626 | epot = -12.7019518341366 | etot = -9.13334912883443 +367000 ekin = 1.46405952364913 | erot = 2.0780551012223 | epot = -12.6754637539451 | etot = -9.13334912907368 +368000 ekin = 1.43967726932358 | erot = 2.08307216057664 | epot = -12.6560985592352 | etot = -9.13334912933493 +369000 ekin = 1.41899010811464 | erot = 2.08756917147338 | epot = -12.6399084091744 | etot = -9.13334912958638 +370000 ekin = 1.40171557356751 | erot = 2.08800173652931 | epot = -12.6230664399037 | etot = -9.13334912980689 +371000 ekin = 1.38739280854856 | erot = 2.08146226240663 | epot = -12.6022042009385 | etot = -9.13334912998331 +372000 ekin = 1.37542340308569 | erot = 2.06585193702337 | epot = -12.5746244702146 | etot = -9.13334913010555 +373000 ekin = 1.3651375235788 | erot = 2.03996886737112 | epot = -12.5384555211133 | etot = -9.13334913016337 +374000 ekin = 1.35583949105123 | erot = 2.00351975772384 | epot = -12.4927083789459 | etot = -9.13334913017084 +375000 ekin = 1.34694157711379 | erot = 1.9571603826844 | epot = -12.4374510898675 | etot = -9.13334913006932 +376000 ekin = 1.33814968105167 | erot = 1.90258032253183 | epot = -12.374079133482 | etot = -9.13334912989844 +377000 ekin = 1.32936261120695 | erot = 1.84227265725044 | epot = -12.3049843981354 | etot = -9.133349129678 +378000 ekin = 1.32063159991224 | erot = 1.77926043318832 | epot = -12.2332411625408 | etot = -9.13334912944026 +379000 ekin = 1.31208340368726 | erot = 1.71672941783422 | epot = -12.1621619507387 | etot = -9.13334912921721 +380000 ekin = 1.30384179784077 | erot = 1.65764204155578 | epot = -12.0948329684312 | etot = -9.13334912903461 +381000 ekin = 1.29657917475703 | erot = 1.60487100826496 | epot = -12.0347993118431 | etot = -9.13334912882109 +382000 ekin = 1.29092190134574 | erot = 1.5606106770692 | epot = -11.9848817072416 | etot = -9.13334912882662 +383000 ekin = 1.2862090906832 | erot = 1.52536833769879 | epot = -11.9449265572222 | etot = -9.13334912884017 +384000 ekin = 1.28205683099545 | erot = 1.49922806168738 | epot = -11.9146340215159 | etot = -9.13334912883307 +385000 ekin = 1.27850478017806 | erot = 1.48216189144778 | epot = -11.8940158004147 | etot = -9.13334912878889 +386000 ekin = 1.27603762173955 | erot = 1.47423730493012 | epot = -11.8836240553814 | etot = -9.1333491287117 +387000 ekin = 1.27548287271892 | erot = 1.47565716104777 | epot = -11.8844891623921 | etot = -9.13334912862536 +388000 ekin = 1.27780044585788 | erot = 1.48660964097499 | epot = -11.8977592154009 | etot = -9.13334912856799 +389000 ekin = 1.28381262703596 | erot = 1.50697425852508 | epot = -11.9241360141413 | etot = -9.13334912858021 +390000 ekin = 1.29393930260888 | erot = 1.53598035068365 | epot = -11.9632687819891 | etot = -9.13334912869656 +391000 ekin = 1.30800074456151 | erot = 1.57190984924569 | epot = -12.0132597227379 | etot = -9.13334912893074 +392000 ekin = 1.325130991795 | erot = 1.61197584867816 | epot = -12.0704559697468 | etot = -9.13334912927367 +393000 ekin = 1.34382543000193 | erot = 1.65241448883467 | epot = -12.1295890485281 | etot = -9.13334912969153 +394000 ekin = 1.3621210239867 | erot = 1.68881012624785 | epot = -12.1842802803652 | etot = -9.13334913013061 +395000 ekin = 1.37788072140323 | erot = 1.71661593054036 | epot = -12.2278457824695 | etot = -9.13334913052588 +396000 ekin = 1.3891315451238 | erot = 1.73181112618284 | epot = -12.2542918021058 | etot = -9.13334913079917 +397000 ekin = 1.39439357479683 | erot = 1.73153617598965 | epot = -12.2592788817207 | etot = -9.13334913093423 +398000 ekin = 1.392939046591 | erot = 1.71441550438621 | epot = -12.2407036818549 | etot = -9.13334913087766 +399000 ekin = 1.38493174777325 | erot = 1.68094766350724 | epot = -12.1992285419441 | etot = -9.13334913066366 +400000 ekin = 1.37142116073966 | erot = 1.63330764197713 | epot = -12.1380779330241 | etot = -9.13334913030734 +401000 ekin = 1.35412991252306 | erot = 1.57501044311532 | epot = -12.0624894855325 | etot = -9.13334912989417 +402000 ekin = 1.33517991856765 | erot = 1.51048364979885 | epot = -11.9790126977729 | etot = -9.13334912940637 +403000 ekin = 1.31709653187147 | erot = 1.44458891478784 | epot = -11.8950345755996 | etot = -9.13334912894028 +404000 ekin = 1.30234590493773 | erot = 1.38198365576653 | epot = -11.8176786892413 | etot = -9.13334912853706 +405000 ekin = 1.29301391716195 | erot = 1.32673455588805 | epot = -11.7530976012898 | etot = -9.13334912823978 +406000 ekin = 1.2906546746274 | erot = 1.28204116436375 | epot = -11.7060449670187 | etot = -9.13334912802758 +407000 ekin = 1.29643237294776 | erot = 1.25006436588465 | epot = -11.6798458667535 | etot = -9.13334912792104 +408000 ekin = 1.31094700615259 | erot = 1.23190986721618 | epot = -11.6762060012866 | etot = -9.13334912791786 +409000 ekin = 1.33422438303399 | erot = 1.22763489752384 | epot = -11.6952084085746 | etot = -9.13334912801675 +410000 ekin = 1.36572014155011 | erot = 1.23628017302646 | epot = -11.7353494427907 | etot = -9.1333491282141 +411000 ekin = 1.4043266876083 | erot = 1.25592548503719 | epot = -11.7936013011487 | etot = -9.13334912850318 +412000 ekin = 1.44839088645936 | erot = 1.28379672627982 | epot = -11.8655367416088 | etot = -9.13334912886961 +413000 ekin = 1.49576795241922 | erot = 1.31646032749018 | epot = -11.9455774091946 | etot = -9.13334912928523 +414000 ekin = 1.54394920889522 | erot = 1.35014055217893 | epot = -12.0274388907797 | etot = -9.13334912970551 +415000 ekin = 1.59029421705203 | erot = 1.38116660571141 | epot = -12.1048099528357 | etot = -9.13334913007226 +416000 ekin = 1.63235973909131 | erot = 1.40649922749186 | epot = -12.1722080969101 | etot = -9.13334913032698 +417000 ekin = 1.66825800489219 | erot = 1.42422016760995 | epot = -12.225827302936 | etot = -9.13334913043386 +418000 ekin = 1.69693219837218 | erot = 1.43381449957251 | epot = -12.264095828321 | etot = -9.13334913037631 +419000 ekin = 1.71824951894753 | erot = 1.43620625779358 | epot = -12.287804906927 | etot = -9.13334913018588 +420000 ekin = 1.73288337430522 | erot = 1.433508253505 | epot = -12.299740757723 | etot = -9.13334912991281 +421000 ekin = 1.7420412953233 | erot = 1.42856028674674 | epot = -12.3039507116819 | etot = -9.13334912961185 +422000 ekin = 1.7471370180767 | erot = 1.42445618730574 | epot = -12.3049423347116 | etot = -9.13334912932917 +423000 ekin = 1.74949063384677 | erot = 1.42413436044179 | epot = -12.3069741233945 | etot = -9.13334912910593 +424000 ekin = 1.75009754642981 | erot = 1.4300564192499 | epot = -12.3135030946281 | etot = -9.13334912894843 +425000 ekin = 1.74947257256704 | erot = 1.44412400802223 | epot = -12.3269457094749 | etot = -9.13334912888562 +426000 ekin = 1.69664946387257 | erot = 1.40011304962302 | epot = -12.2301116345967 | etot = -9.1333491211011 +427000 ekin = 1.76448154346295 | erot = 1.46695774970494 | epot = -12.3647884699887 | etot = -9.13334917682078 +428000 ekin = 1.77864040382729 | erot = 1.51204937412326 | epot = -12.4240389057601 | etot = -9.13334912780956 +429000 ekin = 1.77744254090634 | erot = 1.55645173379999 | epot = -12.4672434028126 | etot = -9.13334912810625 +430000 ekin = 1.76864481713877 | erot = 1.60567169371301 | epot = -12.5076656392914 | etot = -9.1333491284396 +431000 ekin = 1.75041443992984 | erot = 1.65655638514254 | epot = -12.5403199538359 | etot = -9.1333491287635 +432000 ekin = 1.72143753020827 | erot = 1.70559294341406 | epot = -12.5603796026458 | etot = -9.13334912902348 +433000 ekin = 1.68129756274064 | erot = 1.74934007551155 | epot = -12.5639867674192 | etot = -9.13334912916702 +434000 ekin = 1.63077650979783 | erot = 1.78490039303262 | epot = -12.5490260319872 | etot = -9.13334912915677 +435000 ekin = 1.57198882084277 | erot = 1.81033246556102 | epot = -12.5156704153863 | etot = -9.1333491289825 +436000 ekin = 1.50828072851243 | erot = 1.8248990896095 | epot = -12.4665289467889 | etot = -9.13334912866695 +437000 ekin = 1.44388315300992 | erot = 1.82908776307803 | epot = -12.4063200443484 | etot = -9.13334912826041 +438000 ekin = 1.38337900429486 | erot = 1.82441107452303 | epot = -12.3411392066449 | etot = -9.13334912782701 +439000 ekin = 1.33110407576011 | erot = 1.81306694503837 | epot = -12.2775201482251 | etot = -9.13334912742665 +440000 ekin = 1.29061754888814 | erot = 1.79757475508114 | epot = -12.2215414310713 | etot = -9.13334912710203 +441000 ekin = 1.26434687831999 | erot = 1.78048600607157 | epot = -12.1781820112636 | etot = -9.13334912687206 +442000 ekin = 1.25344985037798 | erot = 1.76421040799211 | epot = -12.1510093851058 | etot = -9.13334912673572 +443000 ekin = 1.25787308938312 | erot = 1.75093400476504 | epot = -12.142156220829 | etot = -9.13334912668082 +444000 ekin = 1.27654491138731 | erot = 1.74256727851856 | epot = -12.1524613166009 | etot = -9.13334912669505 +445000 ekin = 1.30762960642434 | erot = 1.74066161516909 | epot = -12.1816403483644 | etot = -9.13334912677094 +446000 ekin = 1.34878485335211 | erot = 1.74626611357013 | epot = -12.2284000938283 | etot = -9.13334912690606 +447000 ekin = 1.39739993763745 | erot = 1.75974793458045 | epot = -12.2904969993196 | etot = -9.13334912710174 +448000 ekin = 1.45076649190932 | erot = 1.78060717934147 | epot = -12.3647227986048 | etot = -9.13334912735396 +449000 ekin = 1.50623999605402 | erot = 1.80738848344743 | epot = -12.4469776071528 | etot = -9.1333491276513 +450000 ekin = 1.5613890805465 | erot = 1.83773497344407 | epot = -12.5324731819632 | etot = -9.13334912797267 +451000 ekin = 1.61412412964578 | erot = 1.86859865234491 | epot = -12.6160719102792 | etot = -9.13334912828851 +452000 ekin = 1.66280931630166 | erot = 1.89658548036437 | epot = -12.6927439252307 | etot = -9.13334912856467 +453000 ekin = 1.7063497163714 | erot = 1.9183747658684 | epot = -12.758073611013 | etot = -9.13334912877319 +454000 ekin = 1.74423056750415 | erot = 1.93111374790646 | epot = -12.8086934443075 | etot = -9.13334912889692 +455000 ekin = 1.77648988409932 | erot = 1.93270291378152 | epot = -12.8425419268151 | etot = -9.13334912893425 +456000 ekin = 1.80361911556787 | erot = 1.9219262828774 | epot = -12.8588945273431 | etot = -9.13334912889786 +457000 ekin = 1.82640016706269 | erot = 1.89842961389848 | epot = -12.858178909771 | etot = -9.1333491288098 +458000 ekin = 1.84570455025997 | erot = 1.8625929869562 | epot = -12.8416466659128 | etot = -9.13334912869665 +459000 ekin = 1.86229070171015 | erot = 1.81535342315 | epot = -12.8109932534395 | etot = -9.13334912857936 +460000 ekin = 1.87663848085941 | erot = 1.75803306182628 | epot = -12.7680206711609 | etot = -9.1333491284752 +461000 ekin = 1.88883864523272 | erot = 1.69219746384138 | epot = -12.7143852374648 | etot = -9.13334912839074 +462000 ekin = 1.89856203652394 | erot = 1.61956678027284 | epot = -12.6514779451229 | etot = -9.13334912832615 +463000 ekin = 1.90510221764579 | erot = 1.54196437877704 | epot = -12.5804157247006 | etot = -9.13334912827778 +464000 ekin = 1.90747686786769 | erot = 1.46127993198361 | epot = -12.5021059280878 | etot = -9.13334912823649 +465000 ekin = 1.90457977356283 | erot = 1.37946070091642 | epot = -12.4173896026667 | etot = -9.13334912818744 +466000 ekin = 1.89536572152456 | erot = 1.29851485172089 | epot = -12.3272297013685 | etot = -9.13334912812307 +467000 ekin = 1.87901831710111 | erot = 1.22048659414348 | epot = -12.232854039282 | etot = -9.13334912803741 +468000 ekin = 1.85509917792192 | erot = 1.1473912628404 | epot = -12.135839568692 | etot = -9.13334912792963 +469000 ekin = 1.82366605107452 | erot = 1.08110787535108 | epot = -12.0381230542294 | etot = -9.13334912780381 +470000 ekin = 1.78535216075739 | erot = 1.02324127043727 | epot = -11.9419425588602 | etot = -9.13334912766558 +471000 ekin = 1.74141051513502 | erot = 0.974982090044474 | epot = -11.8497417327 | etot = -9.13334912752053 +472000 ekin = 1.69372019706046 | erot = 0.937000644456116 | epot = -11.7640699688896 | etot = -9.13334912737304 +473000 ekin = 1.64473632771078 | erot = 0.909402534933341 | epot = -11.6874879898728 | etot = -9.13334912722864 +474000 ekin = 1.59734995177461 | erot = 0.891755018433343 | epot = -11.622454097305 | etot = -9.13334912709702 +475000 ekin = 1.55462885495348 | erot = 0.883174765262338 | epot = -11.571152747209 | etot = -9.13334912699314 +476000 ekin = 1.51944866261258 | erot = 0.882459888572011 | epot = -11.5352576781179 | etot = -9.13334912693328 +477000 ekin = 1.49408243529128 | erot = 0.888250161719579 | epot = -11.5156817239402 | etot = -9.1333491269293 +478000 ekin = 1.47985622585725 | erot = 0.899197335535745 | epot = -11.5124026883765 | etot = -9.13334912698345 +479000 ekin = 1.47695373952945 | erot = 0.914115348460641 | epot = -11.5244182150854 | etot = -9.13334912709531 +480000 ekin = 1.48439477575547 | erot = 0.932072516624243 | epot = -11.5498164196235 | etot = -9.13334912724377 +481000 ekin = 1.50022741217604 | erot = 0.952423999187706 | epot = -11.5860005387875 | etot = -9.1333491274238 +482000 ekin = 1.52172985963508 | erot = 0.974754211850123 | epot = -11.6298331991131 | etot = -9.13334912762789 +483000 ekin = 1.54567018241573 | erot = 0.998770450818459 | epot = -11.6777897610815 | etot = -9.13334912784727 +484000 ekin = 1.5685861472314 | erot = 1.02419763511229 | epot = -11.7261329104139 | etot = -9.13334912807017 +485000 ekin = 1.58707346955103 | erot = 1.05070585623507 | epot = -11.7711284540671 | etot = -9.13334912828097 +486000 ekin = 1.5980710360309 | erot = 1.07788995425036 | epot = -11.8093101187427 | etot = -9.13334912846141 +487000 ekin = 1.59911980804398 | erot = 1.10529931942497 | epot = -11.8377682560634 | etot = -9.13334912859443 +488000 ekin = 1.58856342116581 | erot = 1.13249736396505 | epot = -11.8544099137994 | etot = -9.1333491286685 +489000 ekin = 1.56566142904586 | erot = 1.15911683126035 | epot = -11.8581273889864 | etot = -9.13334912868024 +490000 ekin = 1.53060268554494 | erot = 1.1848850242751 | epot = -11.848836838455 | etot = -9.13334912863495 +491000 ekin = 1.48443427069261 | erot = 1.20959914016099 | epot = -11.8273825393277 | etot = -9.13334912847408 +492000 ekin = 1.42930345354192 | erot = 1.23291829593384 | epot = -11.7955708778614 | etot = -9.13334912838564 +493000 ekin = 1.36749564144839 | erot = 1.25438544605061 | epot = -11.7552302157762 | etot = -9.13334912827722 +494000 ekin = 1.30137262987712 | erot = 1.27348228002446 | epot = -11.7082040380584 | etot = -9.13334912815681 +495000 ekin = 1.23360970816606 | erot = 1.28954660635986 | epot = -11.656505442555 | etot = -9.13334912802907 +496000 ekin = 1.16375548639931 | erot = 1.30023195608135 | epot = -11.597336620527 | etot = -9.13334917804638 +497000 ekin = 1.02574644939749 | erot = 1.24927230425605 | epot = -11.4083678754971 | etot = -9.1333491218436 +498000 ekin = 1.13339044618068 | erot = 1.24939677704364 | epot = -11.5161363891335 | etot = -9.13334916590914 +499000 ekin = 1.16434762393443 | erot = 1.25864673154736 | epot = -11.5563434800394 | etot = -9.13334912455761 +500000 ekin = 1.16768486506973 | erot = 1.25769344443679 | epot = -11.5587274345829 | etot = -9.13334912507638 +501000 ekin = 1.17559895497739 | erot = 1.25038915442381 | epot = -11.5593372343056 | etot = -9.13334912490443 +502000 ekin = 1.18926606274124 | erot = 1.23784323632847 | epot = -11.5604584237521 | etot = -9.13334912468242 +503000 ekin = 1.20982408115136 | erot = 1.22204157664177 | epot = -11.5652147822342 | etot = -9.13334912444111 +504000 ekin = 1.2381178273724 | erot = 1.20572865378346 | epot = -11.5771956053614 | etot = -9.13334912420554 +505000 ekin = 1.27460966228983 | erot = 1.19199209322132 | epot = -11.5999508795136 | etot = -9.13334912400249 +506000 ekin = 1.31928047819791 | erot = 1.1839368767797 | epot = -11.6365664788341 | etot = -9.13334912385644 +507000 ekin = 1.37157700900694 | erot = 1.18435118386784 | epot = -11.6892773166593 | etot = -9.13334912378454 +508000 ekin = 1.43042502721723 | erot = 1.19541187481904 | epot = -11.7591860258309 | etot = -9.13334912379462 +509000 ekin = 1.49431413373027 | erot = 1.21846596296109 | epot = -11.8461292205759 | etot = -9.13334912388451 +510000 ekin = 1.56143815900149 | erot = 1.25390781315983 | epot = -11.9486950962062 | etot = -9.13334912404484 +511000 ekin = 1.6298540535969 | erot = 1.30115550674715 | epot = -12.0643586846064 | etot = -9.13334912426233 +512000 ekin = 1.69760948238587 | erot = 1.35871536005148 | epot = -12.1896739669624 | etot = -9.13334912452507 +513000 ekin = 1.76279412854926 | erot = 1.42431355747723 | epot = -12.3204568108526 | etot = -9.1333491248261 +514000 ekin = 1.82349978434352 | erot = 1.49507387318822 | epot = -12.4519227826915 | etot = -9.13334912515979 +515000 ekin = 1.87772649131863 | erot = 1.56773414237229 | epot = -12.578809759206 | etot = -9.1333491255151 +516000 ekin = 1.92332299298654 | erot = 1.63891274677026 | epot = -12.6955848656238 | etot = -9.13334912586698 +517000 ekin = 1.95805681102207 | erot = 1.70543998935156 | epot = -12.796845926548 | etot = -9.13334912617437 +518000 ekin = 1.97984991947139 | erot = 1.76473849816332 | epot = -12.8779375440238 | etot = -9.13334912638909 +519000 ekin = 1.98711819296805 | erot = 1.81518192785907 | epot = -12.9356492472993 | etot = -9.13334912647214 +520000 ekin = 1.97908911077294 | erot = 1.85632478175992 | epot = -12.9687630189464 | etot = -9.13334912641354 +521000 ekin = 1.95594858056464 | erot = 1.88892760797505 | epot = -12.9782253147673 | etot = -9.13334912622764 +522000 ekin = 1.91881161738233 | erot = 1.91475582238184 | epot = -12.9669165657166 | etot = -9.13334912595242 +523000 ekin = 1.8695404534333 | erot = 1.93620351350896 | epot = -12.9390930925794 | etot = -9.13334912563714 +524000 ekin = 1.81047332181735 | erot = 1.95582271022629 | epot = -12.8996451573767 | etot = -9.13334912533309 +525000 ekin = 1.74413482435742 | erot = 1.97582576721985 | epot = -12.8533097166652 | etot = -9.13334912508796 +526000 ekin = 1.67297434024978 | erot = 1.99761678040749 | epot = -12.8039402455968 | etot = -9.13334912493949 +527000 ekin = 1.59916865616268 | erot = 2.02141684187848 | epot = -12.7539346229491 | etot = -9.13334912490795 +528000 ekin = 1.52452149634747 | erot = 2.04605877912766 | epot = -12.703929400465 | etot = -9.13334912498985 +529000 ekin = 1.45048141638157 | erot = 2.06903286947953 | epot = -12.6528634110146 | etot = -9.13334912515348 +530000 ekin = 1.37827485203517 | erot = 2.08683821123225 | epot = -12.5984621886097 | etot = -9.13334912534224 +531000 ekin = 1.30911544825371 | erot = 2.09562136598341 | epot = -12.5380859397248 | etot = -9.13334912548764 +532000 ekin = 1.24441932207159 | erot = 2.0919865394648 | epot = -12.4697549870638 | etot = -9.13334912552745 +533000 ekin = 1.18594679653503 | erot = 2.07377924595734 | epot = -12.3930751679176 | etot = -9.1333491254252 +534000 ekin = 1.13581312461818 | erot = 2.04062941960519 | epot = -12.3097916694029 | etot = -9.13334912517958 +535000 ekin = 1.09635528031962 | erot = 1.99411201500012 | epot = -12.2238164201439 | etot = -9.13334912482411 +536000 ekin = 1.06988655696252 | erot = 1.93750945182015 | epot = -12.1407451331975 | etot = -9.13334912441483 +537000 ekin = 1.05839509272021 | erot = 1.87547351819332 | epot = -12.067217734908 | etot = -9.13334912399445 +538000 ekin = 1.06323891386383 | erot = 1.8133142469933 | epot = -12.0099022845371 | etot = -9.13334912367997 +539000 ekin = 1.08487929970935 | erot = 1.75562392315627 | epot = -11.9738523463603 | etot = -9.1333491234947 +540000 ekin = 1.12268189024 | erot = 1.70611667319426 | epot = -11.9621476869098 | etot = -9.13334912347552 +541000 ekin = 1.17481105396921 | erot = 1.66717481231705 | epot = -11.9753349899259 | etot = -9.13334912363967 +542000 ekin = 1.23824417791975 | erot = 1.63956314455877 | epot = -12.0111564464592 | etot = -9.13334912398068 +543000 ekin = 1.30892832433008 | erot = 1.62236761446997 | epot = -12.064645063264 | etot = -9.13334912446397 +544000 ekin = 1.38208514508333 | erot = 1.61318872881414 | epot = -12.1286229989291 | etot = -9.13334912503163 +545000 ekin = 1.45263801176678 | erot = 1.60857948400874 | epot = -12.1945666213833 | etot = -9.13334912560776 +546000 ekin = 1.51570974605917 | erot = 1.6046737747132 | epot = -12.2537326468843 | etot = -9.13334912611194 +547000 ekin = 1.56711452712199 | erot = 1.5978880037946 | epot = -12.2983516573924 | etot = -9.13334912647585 +548000 ekin = 1.60376221827712 | erot = 1.58554162813844 | epot = -12.3226529730727 | etot = -9.1333491266571 +549000 ekin = 1.62391041625646 | erot = 1.56625626417929 | epot = -12.3235158070828 | etot = -9.13334912664708 +550000 ekin = 1.62723358008189 | erot = 1.54012357324966 | epot = -12.3007062797783 | etot = -9.1333491264467 +551000 ekin = 1.61471889890709 | erot = 1.50851459566941 | epot = -12.2565826207224 | etot = -9.13334912614586 +552000 ekin = 1.58843016681321 | erot = 1.4734893638054 | epot = -12.1952686563899 | etot = -9.13334912577134 +553000 ekin = 1.55120098108813 | erot = 1.43753302715615 | epot = -12.1220831336151 | etot = -9.13334912537079 +554000 ekin = 1.50631636212005 | erot = 1.40318755320161 | epot = -12.0428530403011 | etot = -9.13334912497946 +555000 ekin = 1.45722878985314 | erot = 1.37279698197473 | epot = -11.963374896449 | etot = -9.13334912462112 +556000 ekin = 1.40732293283973 | erot = 1.34837590637177 | epot = -11.8890479635191 | etot = -9.13334912430758 +557000 ekin = 1.3597375077168 | erot = 1.33157707037723 | epot = -11.8246637021381 | etot = -9.13334912404409 +558000 ekin = 1.31723590731803 | erot = 1.32371628032195 | epot = -11.774301311473 | etot = -9.13334912383299 +559000 ekin = 1.28211028308052 | erot = 1.32580526483901 | epot = -11.7412646715973 | etot = -9.13334912367774 +560000 ekin = 1.25610590403879 | erot = 1.3385562626673 | epot = -11.7280112902908 | etot = -9.13334912358467 +561000 ekin = 1.2403584426244 | erot = 1.36234138771829 | epot = -11.7360489539048 | etot = -9.13334912356214 +562000 ekin = 1.23534624011934 | erot = 1.39711468449598 | epot = -11.7658100482331 | etot = -9.13334912361783 +563000 ekin = 1.24087113987902 | erot = 1.44233150301079 | epot = -11.8165517666423 | etot = -9.13334912375254 +564000 ekin = 1.25609129142723 | erot = 1.49691875870951 | epot = -11.8863591740921 | etot = -9.13334912395532 +565000 ekin = 1.27963015842495 | erot = 1.55937933474963 | epot = -11.9723586173646 | etot = -9.13334912419005 +566000 ekin = 1.30976945418571 | erot = 1.62795664730359 | epot = -12.0710752259391 | etot = -9.13334912444983 +567000 ekin = 1.34469873511645 | erot = 1.70073738341556 | epot = -12.1787852432246 | etot = -9.13334912469256 +568000 ekin = 1.3827577993125 | erot = 1.77591787234845 | epot = -12.2920247965675 | etot = -9.13334912490654 +569000 ekin = 1.42260294142859 | erot = 1.85183127906418 | epot = -12.4077833455891 | etot = -9.13334912509629 +570000 ekin = 1.46311433096579 | erot = 1.92670412008669 | epot = -12.5231675764218 | etot = -9.13334912536935 +571000 ekin = 1.50327753329307 | erot = 1.99853100883714 | epot = -12.6351576678129 | etot = -9.13334912568273 +572000 ekin = 1.54192966726832 | erot = 2.0649761373204 | epot = -12.7402549304653 | etot = -9.13334912587657 +573000 ekin = 1.57823855406821 | erot = 2.12427016697656 | epot = -12.8358578470038 | etot = -9.13334912595906 +574000 ekin = 1.61207502223778 | erot = 2.1757020138103 | epot = -12.9211261619202 | etot = -9.13334912587208 +575000 ekin = 1.64402582172922 | erot = 2.2202844101377 | epot = -12.9976593574945 | etot = -9.13334912562756 +576000 ekin = 1.67538587677304 | erot = 2.26042238855478 | epot = -13.0691573906207 | etot = -9.13334912529285 +577000 ekin = 1.70789209377811 | erot = 2.29915883241272 | epot = -13.1404000511603 | etot = -9.13334912496951 +578000 ekin = 1.74326819507297 | erot = 2.33909725075146 | epot = -13.2157145705747 | etot = -9.13334912475026 +579000 ekin = 1.78272231837321 | erot = 2.38182643841169 | epot = -13.2978978814812 | etot = -9.13334912469626 +580000 ekin = 1.82652189372187 | erot = 2.42751679139068 | epot = -13.3873878099471 | etot = -9.13334912483456 +581000 ekin = 1.87370675174828 | erot = 2.47480205693634 | epot = -13.4818579338601 | etot = -9.1333491251755 +582000 ekin = 1.92197052578147 | erot = 2.52092715153357 | epot = -13.5762468029765 | etot = -9.13334912566144 +583000 ekin = 1.96774925896735 | erot = 2.5622766080205 | epot = -13.6633749932296 | etot = -9.13334912624179 +584000 ekin = 2.00657374540193 | erot = 2.59498886543468 | epot = -13.7349117376582 | etot = -9.13334912682161 +585000 ekin = 2.03371871575739 | erot = 2.61566274201115 | epot = -13.7827305850522 | etot = -9.13334912728366 +586000 ekin = 2.04507827703348 | erot = 2.62214006252247 | epot = -13.8005674670738 | etot = -9.13334912751786 +587000 ekin = 2.03806243485725 | erot = 2.6141199488978 | epot = -13.7855315112163 | etot = -9.13334912746122 +588000 ekin = 2.01223115184455 | erot = 2.59335030112668 | epot = -13.7389305800982 | etot = -9.13334912712697 +589000 ekin = 1.96942837554738 | erot = 2.5632467336321 | epot = -13.6660242357853 | etot = -9.13334912660584 +590000 ekin = 1.91334419959305 | erot = 2.52801524733486 | epot = -13.5747085729613 | etot = -9.13334912603339 +591000 ekin = 1.84865383331265 | erot = 2.49158313368545 | epot = -13.4735860925352 | etot = -9.13334912553709 +592000 ekin = 1.7800600442048 | erot = 2.45674050607598 | epot = -13.3701496754675 | etot = -9.13334912518674 +593000 ekin = 1.71159279763216 | erot = 2.42478693107787 | epot = -13.2697288536903 | etot = -9.13334912498026 +594000 ekin = 1.64634946406535 | erot = 2.39569805899352 | epot = -13.1753966479312 | etot = -9.13334912487234 +595000 ekin = 1.58659479950168 | erot = 2.36854432554773 | epot = -13.08848824987 | etot = -9.13334912482058 +596000 ekin = 1.53398103552672 | erot = 2.3418217578273 | epot = -13.0091519181659 | etot = -9.13334912481192 +597000 ekin = 1.48969441623861 | erot = 2.31355286207825 | epot = -12.9365964031697 | etot = -9.13334912485281 +598000 ekin = 1.45449014891718 | erot = 2.28129539493194 | epot = -12.8691346687931 | etot = -9.133349124944 +599000 ekin = 1.42868283607278 | erot = 2.24230571377212 | epot = -12.8043376749072 | etot = -9.13334912506228 +600000 ekin = 1.41215819514151 | erot = 2.19421771507013 | epot = -12.7397250351106 | etot = -9.133349124899 +601000 ekin = 1.40437980065043 | erot = 2.13675092846565 | epot = -12.6744798541783 | etot = -9.13334912506218 +602000 ekin = 1.40442466854576 | erot = 2.0686359576303 | epot = -12.6064097512959 | etot = -9.13334912511984 +603000 ekin = 1.41112302450901 | erot = 1.98998056956515 | epot = -12.5344527191469 | etot = -9.13334912507278 +604000 ekin = 1.4231013515346 | erot = 1.90274524322012 | epot = -12.4591957197004 | etot = -9.13334912494573 +605000 ekin = 1.43883447823777 | erot = 1.81030632010434 | epot = -12.3824899231149 | etot = -9.13334912477274 +606000 ekin = 1.45673760096453 | erot = 1.7168424050433 | epot = -12.3069291305928 | etot = -9.133349124585 +607000 ekin = 1.4752986371436 | erot = 1.62672298752655 | epot = -12.2353707490741 | etot = -9.13334912440396 +608000 ekin = 1.49323166611483 | erot = 1.54399943868836 | epot = -12.1705802290446 | etot = -9.13334912424139 +609000 ekin = 1.50961256616777 | erot = 1.47208306433822 | epot = -12.1150447546167 | etot = -9.13334912411072 +610000 ekin = 1.52396039432232 | erot = 1.41350705715133 | epot = -12.0708165754694 | etot = -9.13334912399578 +611000 ekin = 1.53622860047837 | erot = 1.36992443741373 | epot = -12.039502161817 | etot = -9.13334912392491 +612000 ekin = 1.54668536626771 | erot = 1.3420536287331 | epot = -12.0220881189121 | etot = -9.13334912391134 +613000 ekin = 1.55571309696042 | erot = 1.32960894336408 | epot = -12.0186711642966 | etot = -9.13334912397207 +614000 ekin = 1.563563692219 | erot = 1.33131277563083 | epot = -12.0282255919713 | etot = -9.13334912412147 +615000 ekin = 1.57013881826698 | erot = 1.34494539762326 | epot = -12.0484333402285 | etot = -9.13334912433831 +616000 ekin = 1.57485681903816 | erot = 1.36757312206826 | epot = -12.0757790657655 | etot = -9.13334912465904 +617000 ekin = 1.57672646781027 | erot = 1.39546251367309 | epot = -12.105538106507 | etot = -9.13334912502361 +618000 ekin = 1.57456346737574 | erot = 1.4244801345404 | epot = -12.132392727295 | etot = -9.13334912537887 +619000 ekin = 1.5673294646989 | erot = 1.45059208153146 | epot = -12.1512706718936 | etot = -9.13334912566327 +620000 ekin = 1.55451321753706 | erot = 1.47039334455802 | epot = -12.1582556879157 | etot = -9.13334912582065 +621000 ekin = 1.53644782338304 | erot = 1.48161304591016 | epot = -12.1514099951074 | etot = -9.13334912581417 +622000 ekin = 1.51447783518414 | erot = 1.48347710481805 | epot = -12.1313040656382 | etot = -9.13334912563599 +623000 ekin = 1.49092960733273 | erot = 1.47683215248592 | epot = -12.1011108851286 | etot = -9.13334912530997 +624000 ekin = 1.4688613017048 | erot = 1.46422198591098 | epot = -12.0664324125277 | etot = -9.13334912491195 +625000 ekin = 1.45155188813316 | erot = 1.44918251593658 | epot = -12.034083528555 | etot = -9.13334912448521 +626000 ekin = 1.44224748158819 | erot = 1.43533399590959 | epot = -12.0109306015719 | etot = -9.13334912407414 +627000 ekin = 1.44381530881133 | erot = 1.42638005353812 | epot = -12.0035444860869 | etot = -9.13334912373746 +628000 ekin = 1.45833081621508 | erot = 1.42560824874111 | epot = -12.0172881884954 | etot = -9.13334912353925 +629000 ekin = 1.48676985538685 | erot = 1.43535417575888 | epot = -12.0554731546353 | etot = -9.13334912348959 +630000 ekin = 1.52866417050986 | erot = 1.45689184512165 | epot = -12.1189051392586 | etot = -9.13334912362712 +631000 ekin = 1.58193413340953 | erot = 1.49015054896213 | epot = -12.2054338063912 | etot = -9.13334912401955 +632000 ekin = 1.64234851057805 | erot = 1.53357750657515 | epot = -12.3092751416974 | etot = -9.13334912454419 +633000 ekin = 1.70466841199232 | erot = 1.58426390208643 | epot = -12.4222814392301 | etot = -9.13334912515131 +634000 ekin = 1.76318354701509 | erot = 1.6386058778909 | epot = -12.535138550642 | etot = -9.13334912573606 +635000 ekin = 1.8124262503678 | erot = 1.69306627319109 | epot = -12.6388416497458 | etot = -9.13334912618693 +636000 ekin = 1.84805557839874 | erot = 1.74492785468478 | epot = -12.7263325594999 | etot = -9.13334912641637 +637000 ekin = 1.86755595286166 | erot = 1.7928646555761 | epot = -12.7937697348498 | etot = -9.13334912641204 +638000 ekin = 1.87047357469836 | erot = 1.83697965055749 | epot = -12.8408023514645 | etot = -9.13334912620865 +639000 ekin = 1.85817220593915 | erot = 1.87849437004942 | epot = -12.8700157018716 | etot = -9.13334912588304 +640000 ekin = 1.83325502875125 | erot = 1.91930247134942 | epot = -12.8859066256153 | etot = -9.13334912551468 +641000 ekin = 1.79889805051336 | erot = 1.96149522930644 | epot = -12.8937424049792 | etot = -9.13334912515942 +642000 ekin = 1.75833330344306 | erot = 2.0070145451564 | epot = -12.8986969734556 | etot = -9.13334912485619 +643000 ekin = 1.71452400737735 | erot = 2.05742054583686 | epot = -12.9052936778113 | etot = -9.13334912459706 +644000 ekin = 1.67006045205506 | erot = 2.11379950765405 | epot = -12.9172090841409 | etot = -9.13334912443175 +645000 ekin = 1.62710169192397 | erot = 2.17652829046706 | epot = -12.9369791067501 | etot = -9.1333491243591 +646000 ekin = 1.58731920569661 | erot = 2.24499987971455 | epot = -12.9656682097832 | etot = -9.13334912437201 +647000 ekin = 1.55192879848518 | erot = 2.31774723145065 | epot = -13.0030251544301 | etot = -9.13334912449424 +648000 ekin = 1.52155547402964 | erot = 2.39216849404641 | epot = -13.0470730928058 | etot = -9.13334912472975 +649000 ekin = 1.49615701171073 | erot = 2.46459269466187 | epot = -13.0940988314493 | etot = -9.13334912507674 +650000 ekin = 1.47495820406704 | erot = 2.53042613107379 | epot = -13.1387334606614 | etot = -9.13334912552054 +651000 ekin = 1.45644758274541 | erot = 2.58442104122196 | epot = -13.1742177499967 | etot = -9.13334912602929 +652000 ekin = 1.4384805466879 | erot = 2.62109720355865 | epot = -13.1929268767948 | etot = -9.13334912654824 +653000 ekin = 1.4185353864548 | erot = 2.63533318878906 | epot = -13.1872177022428 | etot = -9.13334912699892 +654000 ekin = 1.39414099593459 | erot = 2.6231144598725 | epot = -13.1506045830999 | etot = -9.13334912729284 +655000 ekin = 1.36342278663345 | erot = 2.58232798191103 | epot = -13.0790998958767 | etot = -9.13334912733224 +656000 ekin = 1.32754554558812 | erot = 2.51343997306009 | epot = -12.9743346447928 | etot = -9.13334912614456 +657000 ekin = 1.07738759791824 | erot = 2.44669612962647 | epot = -12.6574327807795 | etot = -9.1333490532348 +658000 ekin = 1.00652014229351 | erot = 2.49084781646048 | epot = -12.6307170433127 | etot = -9.13334908455866 +659000 ekin = 1.07240085017135 | erot = 2.4292990183042 | epot = -12.6350489837628 | etot = -9.13334911528726 +660000 ekin = 1.09381648980313 | erot = 2.3010230826046 | epot = -12.528188687904 | etot = -9.13334911549627 +661000 ekin = 1.11701334337659 | erot = 2.16959631553002 | epot = -12.4199587738017 | etot = -9.13334911489508 +662000 ekin = 1.14263894057787 | erot = 2.04231481244588 | epot = -12.3183028674738 | etot = -9.13334911445 +663000 ekin = 1.17093665277018 | erot = 1.92510458368601 | epot = -12.2293903506333 | etot = -9.13334911417715 +664000 ekin = 1.20146324496878 | erot = 1.82207009509857 | epot = -12.156882454157 | etot = -9.13334911408967 +665000 ekin = 1.2328903244818 | erot = 1.73564836426701 | epot = -12.1018878027908 | etot = -9.13334911404196 +666000 ekin = 1.26340464455561 | erot = 1.66702592667295 | epot = -12.0637796854931 | etot = -9.13334911426453 +667000 ekin = 1.29102574815048 | erot = 1.61488086819728 | epot = -12.0392557309118 | etot = -9.13334911456403 +668000 ekin = 1.31376054135466 | erot = 1.57649712773101 | epot = -12.0236067839929 | etot = -9.1333491149072 +669000 ekin = 1.32989404566059 | erot = 1.54828621181143 | epot = -12.0115293727016 | etot = -9.13334911522957 +670000 ekin = 1.33826340891376 | erot = 1.52640844797163 | epot = -11.9980209723715 | etot = -9.13334911548607 +671000 ekin = 1.33847461323971 | erot = 1.50724764864628 | epot = -11.979071377528 | etot = -9.13334911564201 +672000 ekin = 1.3310196955529 | erot = 1.48781306139119 | epot = -11.9521818726236 | etot = -9.13334911567955 +673000 ekin = 1.31737035051771 | erot = 1.46610228052978 | epot = -11.9168217466101 | etot = -9.13334911556266 +674000 ekin = 1.2999252179878 | erot = 1.44131241760654 | epot = -11.8745867509713 | etot = -9.13334911537699 +675000 ekin = 1.28129254583113 | erot = 1.41347048294326 | epot = -11.8281121439111 | etot = -9.13334911513667 +676000 ekin = 1.26413925334382 | erot = 1.38336835396219 | epot = -11.7808567221925 | etot = -9.13334911488653 +677000 ekin = 1.25080949630729 | erot = 1.35227525691902 | epot = -11.7364338679181 | etot = -9.13334911469175 +678000 ekin = 1.24240325884752 | erot = 1.32122246362882 | epot = -11.6969748370346 | etot = -9.13334911455831 +679000 ekin = 1.23935164125775 | erot = 1.29124446460097 | epot = -11.663945220358 | etot = -9.13334911449931 +680000 ekin = 1.24151057852865 | erot = 1.2635834883011 | epot = -11.638443181176 | etot = -9.13334911434626 +681000 ekin = 1.2481079198664 | erot = 1.23998966299057 | epot = -11.6214466973231 | etot = -9.13334911446618 +682000 ekin = 1.257380884739 | erot = 1.22073219169185 | epot = -11.6114621910611 | etot = -9.13334911463027 +683000 ekin = 1.26715254865479 | erot = 1.20554909693427 | epot = -11.6060507603996 | etot = -9.13334911481052 +684000 ekin = 1.27521936885684 | erot = 1.19392995255055 | epot = -11.6024984363864 | etot = -9.13334911497898 +685000 ekin = 1.27965818659302 | erot = 1.18525667279546 | epot = -11.5982639744928 | etot = -9.13334911510429 +686000 ekin = 1.27906445707785 | erot = 1.17887846189336 | epot = -11.5912920341624 | etot = -9.1333491151912 +687000 ekin = 1.27268261755062 | erot = 1.17407129020767 | epot = -11.5801030230189 | etot = -9.13334911526056 +688000 ekin = 1.2604191440757 | erot = 1.17007604782204 | epot = -11.5638443071263 | etot = -9.1333491152286 +689000 ekin = 1.24287938496311 | erot = 1.16656725573226 | epot = -11.5427957558532 | etot = -9.13334911515785 +690000 ekin = 1.2211824040556 | erot = 1.16336387130235 | epot = -11.5178953904181 | etot = -9.13334911506011 +691000 ekin = 1.19679867225831 | erot = 1.16037339232328 | epot = -11.4905211795286 | etot = -9.13334911494703 +692000 ekin = 1.17139142556005 | erot = 1.15758648592469 | epot = -11.4623270263132 | etot = -9.13334911482849 +693000 ekin = 1.14685376597763 | erot = 1.15519232866932 | epot = -11.4353952091884 | etot = -9.13334911454142 +694000 ekin = 1.12537035279197 | erot = 1.15368599835963 | epot = -11.4124054656052 | etot = -9.13334911445361 +695000 ekin = 1.10824764597993 | erot = 1.15324052660334 | epot = -11.3948372869664 | etot = -9.13334911438314 +696000 ekin = 1.0964152489969 | erot = 1.15407441364564 | epot = -11.3838387769781 | etot = -9.13334911433559 +697000 ekin = 1.09040706960405 | erot = 1.15645735234421 | epot = -11.3802135362665 | etot = -9.13334911431825 +698000 ekin = 1.09030542376955 | erot = 1.16063392710707 | epot = -11.384288465206 | etot = -9.13334911432937 +699000 ekin = 1.09552536142799 | erot = 1.16669639941878 | epot = -11.3955708752099 | etot = -9.13334911436315 +700000 ekin = 1.10527379804157 | erot = 1.17478862115957 | epot = -11.4134115336379 | etot = -9.13334911443675 +701000 ekin = 1.11851271409214 | erot = 1.18492470948231 | epot = -11.4367865380995 | etot = -9.13334911452505 +702000 ekin = 1.13395549373925 | erot = 1.19694667251692 | epot = -11.4642512808869 | etot = -9.13334911463076 +703000 ekin = 1.15018285434544 | erot = 1.21057055971299 | epot = -11.4941025288036 | etot = -9.1333491147452 +704000 ekin = 1.16576673459169 | erot = 1.22535908059982 | epot = -11.5244749300498 | etot = -9.1333491148583 +705000 ekin = 1.17938915504808 | erot = 1.24076765313842 | epot = -11.5535059231453 | etot = -9.13334911495876 +706000 ekin = 1.18994261307642 | erot = 1.25622348494356 | epot = -11.5795152130563 | etot = -9.1333491150363 +707000 ekin = 1.19660107196796 | erot = 1.27122780267074 | epot = -11.6011779897208 | etot = -9.13334911508208 +708000 ekin = 1.19885615187931 | erot = 1.2854633226749 | epot = -11.6176685896449 | etot = -9.13334911509071 +709000 ekin = 1.19651981510658 | erot = 1.29888532038428 | epot = -11.6287542505517 | etot = -9.13334911506088 +710000 ekin = 1.1896995749825 | erot = 1.31177606554588 | epot = -11.6348247555237 | etot = -9.13334911499534 +711000 ekin = 1.17875387603898 | erot = 1.32474791483616 | epot = -11.636850905777 | etot = -9.13334911490182 +712000 ekin = 1.16423391784884 | erot = 1.33868945230085 | epot = -11.6362724849409 | etot = -9.13334911479125 +713000 ekin = 1.14681758774029 | erot = 1.3546630535206 | epot = -11.6348297559395 | etot = -9.13334911467859 +714000 ekin = 1.12724173591538 | erot = 1.37373509015582 | epot = -11.6343259406492 | etot = -9.13334911457805 +715000 ekin = 1.10624050750783 | erot = 1.39681075799666 | epot = -11.6364003800083 | etot = -9.13334911450384 +716000 ekin = 1.08449847089723 | erot = 1.42446438146828 | epot = -11.6423119668325 | etot = -9.13334911446702 +717000 ekin = 1.0626258673095 | erot = 1.45678801965701 | epot = -11.6527630014408 | etot = -9.13334911447428 +718000 ekin = 1.0411605651836 | erot = 1.493285805019 | epot = -11.6677954847286 | etot = -9.13334911452601 +719000 ekin = 1.02059756447165 | erot = 1.5328356540972 | epot = -11.6867823331847 | etot = -9.13334911461582 +720000 ekin = 1.00144276091742 | erot = 1.5737347811105 | epot = -11.708526656758 | etot = -9.13334911473003 +721000 ekin = 0.984282698242622 | erot = 1.61383653734357 | epot = -11.7314683504355 | etot = -9.13334911484931 +722000 ekin = 0.969856334576067 | erot = 1.65076935461989 | epot = -11.7539748041515 | etot = -9.1333491149555 +723000 ekin = 0.959109074096986 | erot = 1.68219090543913 | epot = -11.7746490945585 | etot = -9.13334911502237 +724000 ekin = 0.953206498552839 | erot = 1.70610525283234 | epot = -11.7926608664234 | etot = -9.13334911503819 +725000 ekin = 0.953487871459188 | erot = 1.72112406448039 | epot = -11.8079610509383 | etot = -9.13334911499874 +726000 ekin = 0.96134842044988 | erot = 1.72664218758949 | epot = -11.8213397229517 | etot = -9.13334911491229 +727000 ekin = 0.978055187001709 | erot = 1.72290320035172 | epot = -11.8343075021501 | etot = -9.13334911479668 +728000 ekin = 1.00452582498075 | erot = 1.71095374109418 | epot = -11.8488286807485 | etot = -9.13334911467359 +729000 ekin = 1.041101375805 | erot = 1.6925221534298 | epot = -11.8669726438041 | etot = -9.13334911456933 +730000 ekin = 1.08735958691132 | erot = 1.66981008960002 | epot = -11.8905187910182 | etot = -9.13334911450692 +731000 ekin = 1.14200418376082 | erot = 1.64524141707914 | epot = -11.9205947153442 | etot = -9.13334911450421 +732000 ekin = 1.2028531801544 | erot = 1.6211909571491 | epot = -11.9573932518755 | etot = -9.13334911457201 +733000 ekin = 1.26692596392809 | erot = 1.59976528911575 | epot = -12.0000403677474 | etot = -9.13334911470354 +734000 ekin = 1.33064406419401 | erot = 1.58254289882086 | epot = -12.0465360779241 | etot = -9.13334911490923 +735000 ekin = 1.39013484389891 | erot = 1.57032898634687 | epot = -12.093812945406 | etot = -9.13334911516024 +736000 ekin = 1.44157509140931 | erot = 1.56317476789936 | epot = -12.1380989747374 | etot = -9.13334911542874 +737000 ekin = 1.48157845590956 | erot = 1.56044545882736 | epot = -12.175373030415 | etot = -9.13334911567811 +738000 ekin = 1.50757504379143 | erot = 1.56100911668234 | epot = -12.201933276343 | etot = -9.13334911586924 +739000 ekin = 1.51813561813258 | erot = 1.5635209253064 | epot = -12.2150056594058 | etot = -9.13334911596682 +740000 ekin = 1.51318914849964 | erot = 1.56675183786185 | epot = -12.213290102308 | etot = -9.1333491159465 +741000 ekin = 1.49408865830542 | erot = 1.56989906105133 | epot = -12.197336835157 | etot = -9.1333491158003 +742000 ekin = 1.46350061535832 | erot = 1.57280025701738 | epot = -12.1696499879178 | etot = -9.13334911554208 +743000 ekin = 1.42512524133836 | erot = 1.57593310601688 | epot = -12.1344074625233 | etot = -9.13334911516808 +744000 ekin = 1.38338487585034 | erot = 1.58054361279092 | epot = -12.0972776034393 | etot = -9.13334911479806 +745000 ekin = 1.34281951273504 | erot = 1.58823582841167 | epot = -12.0644044556028 | etot = -9.13334911445607 +746000 ekin = 1.30747334764684 | erot = 1.60047096981066 | epot = -12.0412934316558 | etot = -9.13334911419833 +747000 ekin = 1.28046646004539 | erot = 1.6182176866567 | epot = -12.0320332607954 | etot = -9.13334911409333 +748000 ekin = 1.26367955922522 | erot = 1.6413289314295 | epot = -12.0383576048251 | etot = -9.1333491141704 +749000 ekin = 1.25742934418728 | erot = 1.6683144002363 | epot = -12.0590928588618 | etot = -9.13334911443821 +750000 ekin = 1.26047795506412 | erot = 1.69628448613638 | epot = -12.0901115560516 | etot = -9.13334911485111 +751000 ekin = 1.27026186445649 | erot = 1.7213338688469 | epot = -12.1249448486435 | etot = -9.13334911534013 +752000 ekin = 1.28339547084868 | erot = 1.73919075504447 | epot = -12.1559353417022 | etot = -9.13334911580908 +753000 ekin = 1.29635957465195 | erot = 1.74596876190635 | epot = -12.1756774527778 | etot = -9.13334911621948 +754000 ekin = 1.30599158739589 | erot = 1.73885024062191 | epot = -12.1781909444063 | etot = -9.13334911638853 +755000 ekin = 1.31024888114924 | erot = 1.71683511467272 | epot = -12.1604331121636 | etot = -9.13334911634163 +756000 ekin = 1.30846938320446 | erot = 1.68097972248998 | epot = -12.1227982217864 | etot = -9.13334911609197 +757000 ekin = 1.30124985040436 | erot = 1.63419006476215 | epot = -12.0687890308559 | etot = -9.13334911568938 +758000 ekin = 1.2901964108967 | erot = 1.58073563388977 | epot = -12.0042811599911 | etot = -9.13334911520461 +759000 ekin = 1.27761222226823 | erot = 1.52554636406693 | epot = -11.9365077010342 | etot = -9.13334911469902 +760000 ekin = 1.26609069505968 | erot = 1.47348693038979 | epot = -11.8729267397086 | etot = -9.13334911425916 +761000 ekin = 1.25808964010813 | erot = 1.42869550463111 | epot = -11.8201342586633 | etot = -9.13334911392401 +762000 ekin = 1.25572222199678 | erot = 1.39407442312114 | epot = -11.7831457588671 | etot = -9.13334911374923 +763000 ekin = 1.26054534568777 | erot = 1.37090045945164 | epot = -11.7647949188355 | etot = -9.13334911369611 +764000 ekin = 1.27353435438893 | erot = 1.35887199087599 | epot = -11.765755459057 | etot = -9.13334911379209 +765000 ekin = 1.29496682598708 | erot = 1.35616457699752 | epot = -11.784480516978 | etot = -9.13334911399342 +766000 ekin = 1.32454629040877 | erot = 1.35977679504827 | epot = -11.8176721997206 | etot = -9.13334911426354 +767000 ekin = 1.36163954270418 | erot = 1.36618632226284 | epot = -11.8611749795223 | etot = -9.13334911455532 +768000 ekin = 1.40531019891056 | erot = 1.37181010086345 | epot = -11.9104694146033 | etot = -9.1333491148293 +769000 ekin = 1.45446512867426 | erot = 1.3735349805472 | epot = -11.9613492242621 | etot = -9.13334911504064 +770000 ekin = 1.50793050150594 | erot = 1.36921125653879 | epot = -12.0104908732812 | etot = -9.13334911523644 +771000 ekin = 1.56389616691507 | erot = 1.35775090665738 | epot = -12.0549961888307 | etot = -9.13334911525823 +772000 ekin = 1.62113703502565 | erot = 1.3397032351014 | epot = -12.0941893853161 | etot = -9.13334911518905 +773000 ekin = 1.67872851567452 | erot = 1.31702982994443 | epot = -12.1291074606815 | etot = -9.13334911506253 +774000 ekin = 1.73569257106584 | erot = 1.29264163256045 | epot = -12.161683318549 | etot = -9.13334911492273 +775000 ekin = 1.79085656131151 | erot = 1.26988000057613 | epot = -12.1940856766996 | etot = -9.13334911481191 +776000 ekin = 1.84276100465629 | erot = 1.25197534043462 | epot = -12.22808545985 | etot = -9.1333491147591 +777000 ekin = 1.88967118601021 | erot = 1.24159765896537 | epot = -12.2646179597479 | etot = -9.13334911477235 +778000 ekin = 1.92971622257856 | erot = 1.24057583219052 | epot = -12.3036411696102 | etot = -9.13334911484109 +779000 ekin = 1.9611316425201 | erot = 1.24980912497287 | epot = -12.3442898824337 | etot = -9.13334911494076 +780000 ekin = 1.98254203383388 | erot = 1.26932045670087 | epot = -12.3852116055787 | etot = -9.13334911504397 +781000 ekin = 1.99321406402893 | erot = 1.29840823520918 | epot = -12.424971414368 | etot = -9.13334911512989 +782000 ekin = 1.99321095938066 | erot = 1.33580885493627 | epot = -12.4623689295052 | etot = -9.13334911518827 +783000 ekin = 1.98342491290893 | erot = 1.37983642299143 | epot = -12.4966104511182 | etot = -9.13334911521788 +784000 ekin = 1.9655123842759 | erot = 1.42849371621316 | epot = -12.5273552156592 | etot = -9.13334911517014 +785000 ekin = 1.94195910109809 | erot = 1.4796134882127 | epot = -12.5549217044722 | etot = -9.13334911516144 +786000 ekin = 1.91549982324098 | erot = 1.53087711625688 | epot = -12.5797260546341 | etot = -9.13334911513619 +787000 ekin = 1.88902915931362 | erot = 1.57997565974334 | epot = -12.6023539341502 | etot = -9.13334911509327 +788000 ekin = 1.86553746552517 | erot = 1.62478646023569 | epot = -12.6236730407985 | etot = -9.13334911503765 +789000 ekin = 1.84793067282888 | erot = 1.66350572424678 | epot = -12.64478551204 | etot = -9.13334911496435 +790000 ekin = 1.83884831411046 | erot = 1.69477325869788 | epot = -12.666970687703 | etot = -9.13334911489468 +791000 ekin = 1.84038435200563 | erot = 1.7176812784652 | epot = -12.6914147453263 | etot = -9.13334911485547 +792000 ekin = 1.85374621230498 | erot = 1.73169683788286 | epot = -12.7187921650658 | etot = -9.13334911487796 +793000 ekin = 1.8789217872916 | erot = 1.73653576921967 | epot = -12.7488066714975 | etot = -9.13334911498622 +794000 ekin = 1.91440510045115 | erot = 1.73204169925583 | epot = -12.7797959148858 | etot = -9.13334911517881 +795000 ekin = 1.95726697872348 | erot = 1.71818976214858 | epot = -12.8088058562927 | etot = -9.13334911542061 +796000 ekin = 2.00360851779832 | erot = 1.69525335456394 | epot = -12.83221098801 | etot = -9.13334911564777 +797000 ekin = 2.04914358120832 | erot = 1.6640594673882 | epot = -12.8465521643865 | etot = -9.13334911578995 +798000 ekin = 2.08995546228143 | erot = 1.62623745949242 | epot = -12.8495420375764 | etot = -9.13334911580254 +799000 ekin = 2.12309292252157 | erot = 1.58427028112694 | epot = -12.8407123193349 | etot = -9.13334911568641 +800000 ekin = 2.14682990848697 | erot = 1.54126138555531 | epot = -12.8214404095241 | etot = -9.1333491154818 +801000 ekin = 2.16058282774156 | erot = 1.50048202043082 | epot = -12.7944139634182 | etot = -9.13334911524585 +802000 ekin = 2.16461511111025 | erot = 1.46486615498777 | epot = -12.7628303811285 | etot = -9.13334911503043 +803000 ekin = 2.15969104318309 | erot = 1.43661335438027 | epot = -12.7296535124319 | etot = -9.13334911486852 +804000 ekin = 2.14679128689927 | erot = 1.41698988504299 | epot = -12.6971302867013 | etot = -9.133349114759 +805000 ekin = 2.12692065946171 | erot = 1.40638520511209 | epot = -12.6666549792979 | etot = -9.13334911472415 +806000 ekin = 2.10099028265881 | erot = 1.40422932571964 | epot = -12.638568723139 | etot = -9.13334911476051 +807000 ekin = 2.06982763844373 | erot = 1.40909451156273 | epot = -12.6122712648444 | etot = -9.13334911483793 +808000 ekin = 2.03419092300448 | erot = 1.4191942216523 | epot = -12.5867342595854 | etot = -9.13334911492858 +809000 ekin = 1.99478586658702 | erot = 1.43238858340406 | epot = -12.5605235650437 | etot = -9.13334911505266 +810000 ekin = 1.95230744549328 | erot = 1.44625258193298 | epot = -12.5319091426013 | etot = -9.13334911517508 +811000 ekin = 1.90747094191263 | erot = 1.45847148724801 | epot = -12.4992915444435 | etot = -9.13334911528283 +812000 ekin = 1.86102893104771 | erot = 1.4670396355065 | epot = -12.4614176819174 | etot = -9.1333491153632 +813000 ekin = 1.81416432245149 | erot = 1.47049868910168 | epot = -12.4180121266893 | etot = -9.13334911513612 +814000 ekin = 1.76902926168515 | erot = 1.46826739314062 | epot = -12.3706457701111 | etot = -9.13334911528532 +815000 ekin = 1.71533069951599 | erot = 1.45797598426857 | epot = -12.3066557948091 | etot = -9.13334911102451 +816000 ekin = 1.68468183703012 | erot = 1.43935942021377 | epot = -12.2573903676517 | etot = -9.13334911040781 +817000 ekin = 1.67569540451046 | erot = 1.42022759194491 | epot = -12.2292721046041 | etot = -9.13334910814875 +818000 ekin = 1.6543180407743 | erot = 1.40071144600671 | epot = -12.1883785945421 | etot = -9.1333491077611 +819000 ekin = 1.63740188370202 | erot = 1.3825693171654 | epot = -12.1533203082532 | etot = -9.13334910738577 +820000 ekin = 1.62512170449269 | erot = 1.36928168851892 | epot = -12.1277525000358 | etot = -9.13334910702415 +821000 ekin = 1.61915909096608 | erot = 1.36404110714174 | epot = -12.1165493048155 | etot = -9.13334910670769 +822000 ekin = 1.62172343975879 | erot = 1.36925913745439 | epot = -12.1243316837311 | etot = -9.1333491065179 +823000 ekin = 1.63427494813185 | erot = 1.38616632187947 | epot = -12.1537903765206 | etot = -9.13334910650931 +824000 ekin = 1.65698382619249 | erot = 1.41459711182067 | epot = -12.2049300447062 | etot = -9.13334910669302 +825000 ekin = 1.68854753275391 | erot = 1.45301631838177 | epot = -12.2749129581741 | etot = -9.13334910703845 +826000 ekin = 1.72638863498139 | erot = 1.49875661575832 | epot = -12.3584943582278 | etot = -9.13334910748809 +827000 ekin = 1.7671042338297 | erot = 1.54839439230476 | epot = -12.4488477341105 | etot = -9.13334910797603 +828000 ekin = 1.8069848233623 | erot = 1.59818184897738 | epot = -12.5385157807839 | etot = -9.13334910844426 +829000 ekin = 1.84246939972193 | erot = 1.64447465714772 | epot = -12.6202931657147 | etot = -9.13334910884503 +830000 ekin = 1.87048980345312 | erot = 1.68412933436257 | epot = -12.6879682469559 | etot = -9.13334910914018 +831000 ekin = 1.88871335829486 | erot = 1.71486645415863 | epot = -12.7369289217531 | etot = -9.13334910929959 +832000 ekin = 1.8956991679299 | erot = 1.73558694750314 | epot = -12.7646352247374 | etot = -9.13334910930432 +833000 ekin = 1.89096344936275 | erot = 1.74659447550954 | epot = -12.7709070340259 | etot = -9.13334910915363 +834000 ekin = 1.87493429544978 | erot = 1.74964392180032 | epot = -12.757927326139 | etot = -9.13334910888886 +835000 ekin = 1.84878280513717 | erot = 1.7476202730817 | epot = -12.7297521867426 | etot = -9.13334910852377 +836000 ekin = 1.81414476908622 | erot = 1.74421722089262 | epot = -12.6917110981184 | etot = -9.13334910813955 +837000 ekin = 1.77277875466035 | erot = 1.74335285140424 | epot = -12.649480713868 | etot = -9.13334910780345 +838000 ekin = 1.72624445529917 | erot = 1.74841404793899 | epot = -12.6080076108044 | etot = -9.1333491075663 +839000 ekin = 1.67568816109172 | erot = 1.76165550556133 | epot = -12.5706927741081 | etot = -9.13334910745503 +840000 ekin = 1.62179135097772 | erot = 1.78387657047957 | epot = -12.5390170289133 | etot = -9.13334910745602 +841000 ekin = 1.56488441149642 | erot = 1.81456573945265 | epot = -12.5127992584871 | etot = -9.13334910753799 +842000 ekin = 1.50517399561483 | erot = 1.85205645867799 | epot = -12.4905795619901 | etot = -9.1333491076973 +843000 ekin = 1.44300548282572 | erot = 1.89358112525555 | epot = -12.4699357158877 | etot = -9.13334910780638 +844000 ekin = 1.37906620629623 | erot = 1.93639685189906 | epot = -12.4488121660662 | etot = -9.1333491078709 +845000 ekin = 1.31446352832021 | erot = 1.97812996440304 | epot = -12.4259426005943 | etot = -9.13334910787105 +846000 ekin = 1.25068692328186 | erot = 2.0170023495777 | epot = -12.4010383806625 | etot = -9.13334910780295 +847000 ekin = 1.18947724706781 | erot = 2.05204320496021 | epot = -12.3748695597031 | etot = -9.13334910767511 +848000 ekin = 1.13265732503597 | erot = 2.08314733282525 | epot = -12.3491537653654 | etot = -9.13334910750421 +849000 ekin = 1.08197657768912 | erot = 2.11099249699057 | epot = -12.3263181819891 | etot = -9.13334910730939 +850000 ekin = 1.03899924536999 | erot = 2.13684654288889 | epot = -12.3091948953714 | etot = -9.13334910711252 +851000 ekin = 1.00503792488698 | erot = 2.16230618703386 | epot = -12.3006932188552 | etot = -9.13334910693433 +852000 ekin = 0.981116857862461 | erot = 2.18901371777386 | epot = -12.3034796824288 | etot = -9.13334910679252 +853000 ekin = 0.967947652214265 | erot = 2.21839549976 | epot = -12.3196922586772 | etot = -9.13334910670291 +854000 ekin = 0.965908910680345 | erot = 2.25145766404042 | epot = -12.350715681394 | etot = -9.13334910667321 +855000 ekin = 0.975031148285144 | erot = 2.28866143870958 | epot = -12.3970416937005 | etot = -9.13334910670573 +856000 ekin = 0.994993726111922 | erot = 2.32988587268686 | epot = -12.458228705595 | etot = -9.13334910679624 +857000 ekin = 1.02514000045526 | erot = 2.37447147766155 | epot = -12.5329605850519 | etot = -9.1333491069351 +858000 ekin = 1.06451194042811 | erot = 2.42132581265304 | epot = -12.6191868601907 | etot = -9.13334910710959 +859000 ekin = 1.11189872921032 | erot = 2.4690621764797 | epot = -12.7143100129972 | etot = -9.13334910730715 +860000 ekin = 1.16588800432851 | erot = 2.51613734357938 | epot = -12.8153744554262 | etot = -9.1333491075183 +861000 ekin = 1.22490604810107 | erot = 2.56095681693497 | epot = -12.9192119727746 | etot = -9.13334910773851 +862000 ekin = 1.28723632581143 | erot = 2.60192847235753 | epot = -13.0225139061385 | etot = -9.13334910796952 +863000 ekin = 1.3510143193897 | erot = 2.63746581473987 | epot = -13.1218292423449 | etot = -9.13334910821536 +864000 ekin = 1.41420820519538 | erot = 2.66596355872735 | epot = -13.213520872402 | etot = -9.13334910847929 +865000 ekin = 1.47460562929754 | erot = 2.68578195462017 | epot = -13.2937366926771 | etot = -9.13334910875935 +866000 ekin = 1.52983303721746 | erot = 2.69527584724675 | epot = -13.3584579935089 | etot = -9.13334910904468 +867000 ekin = 1.57743376517692 | erot = 2.69288933093158 | epot = -13.4036722054228 | etot = -9.1333491093143 +868000 ekin = 1.61502389037981 | erot = 2.67731200497068 | epot = -13.4256850048896 | etot = -9.13334910953911 +869000 ekin = 1.64053051308534 | erot = 2.64766625523692 | epot = -13.4215458780077 | etot = -9.13334910968546 +870000 ekin = 1.65249590024961 | erot = 2.60367561911745 | epot = -13.3895206290897 | etot = -9.13334910972266 +871000 ekin = 1.65040511753298 | erot = 2.54576053409616 | epot = -13.3295147612589 | etot = -9.13334910962978 +872000 ekin = 1.63497077369899 | erot = 2.47502461258462 | epot = -13.2433444956856 | etot = -9.133349109402 +873000 ekin = 1.60829551084935 | erot = 2.39312864666234 | epot = -13.1347732665654 | etot = -9.13334910905374 +874000 ekin = 1.57383856496055 | erot = 2.30208675131772 | epot = -13.0092744248964 | etot = -9.13334910861812 +875000 ekin = 1.53613967510654 | erot = 2.20404109160993 | epot = -12.8735298748602 | etot = -9.13334910814374 +876000 ekin = 1.50030007469727 | erot = 2.10106901465442 | epot = -12.7347181970396 | etot = -9.13334910768791 +877000 ekin = 1.47128183648615 | erot = 1.9950559248475 | epot = -12.5996868686408 | etot = -9.13334910730713 +878000 ekin = 1.45315269233919 | erot = 1.88764504252361 | epot = -12.4741468419076 | etot = -9.13334910704481 +879000 ekin = 1.44845009592096 | erot = 1.78026193724247 | epot = -12.3620611400824 | etot = -9.13334910691899 +880000 ekin = 1.45783397194371 | erot = 1.67420503622043 | epot = -12.2653881150816 | etot = -9.13334910691747 +881000 ekin = 1.48012455417244 | erot = 1.57078382964924 | epot = -12.184257490823 | etot = -9.13334910700136 +882000 ekin = 1.51270015737959 | erot = 1.47147015193218 | epot = -12.1175194164301 | etot = -9.13334910711833 +883000 ekin = 1.55211568292956 | erot = 1.3780124488386 | epot = -12.0634772389891 | etot = -9.13334910722097 +884000 ekin = 1.59475301551035 | erot = 1.29246300163619 | epot = -12.0205651244261 | etot = -9.13334910727952 +885000 ekin = 1.63734681493634 | erot = 1.21709221485511 | epot = -11.9877881370758 | etot = -9.13334910728433 +886000 ekin = 1.67731211301505 | erot = 1.15420415260406 | epot = -11.964865372863 | etot = -9.13334910724389 +887000 ekin = 1.71288068346796 | erot = 1.10590165063358 | epot = -11.9521314412762 | etot = -9.13334910717465 +888000 ekin = 1.74309500658037 | erot = 1.0738583453026 | epot = -11.950302458979 | etot = -9.13334910709607 +889000 ekin = 1.76770969092178 | erot = 1.05913784423415 | epot = -11.9601966421833 | etot = -9.13334910702742 +890000 ekin = 1.78703240996917 | erot = 1.06207375034143 | epot = -11.9824552672978 | etot = -9.1333491069872 +891000 ekin = 1.80172329225239 | erot = 1.0822074746527 | epot = -12.0172798738974 | etot = -9.13334910699232 +892000 ekin = 1.81257293682803 | erot = 1.11828058017375 | epot = -12.0642026240573 | etot = -9.13334910705554 +893000 ekin = 1.82028982711245 | erot = 1.16828769624483 | epot = -12.1219266305377 | etot = -9.13334910718043 +894000 ekin = 1.82533649727562 | erot = 1.22960280171444 | epot = -12.1882884063505 | etot = -9.13334910736046 +895000 ekin = 1.82785071658345 | erot = 1.29918775471572 | epot = -12.2603875788748 | etot = -9.13334910757561 +896000 ekin = 1.82766966746167 | erot = 1.37387583337395 | epot = -12.3348946086319 | etot = -9.13334910779625 +897000 ekin = 1.82444603805884 | erot = 1.450698935459 | epot = -12.4084940815071 | etot = -9.1333491079893 +898000 ekin = 1.81781661002986 | erot = 1.52720356358779 | epot = -12.4783692817442 | etot = -9.13334910812654 +899000 ekin = 1.80756915106169 | erot = 1.60168843031701 | epot = -12.542606689571 | etot = -9.13334910819232 +900000 ekin = 1.79375843952035 | erot = 1.67330364935026 | epot = -12.6004111970587 | etot = -9.13334910818809 +901000 ekin = 1.77674318471729 | erot = 1.74197941470073 | epot = -12.6520717075493 | etot = -9.13334910813131 +902000 ekin = 1.75714245724149 | erot = 1.80819394413506 | epot = -12.6986855094274 | etot = -9.13334910805086 +903000 ekin = 1.73573344436742 | erot = 1.87263325997332 | epot = -12.7417158123196 | etot = -9.13334910797882 +904000 ekin = 1.71332625903819 | erot = 1.93582474199559 | epot = -12.7825001089758 | etot = -9.13334910794204 +905000 ekin = 1.69065428565829 | erot = 1.99783248447312 | epot = -12.8218358780868 | etot = -9.13334910795542 +906000 ekin = 1.66831072851898 | erot = 2.0580838142567 | epot = -12.8597436507951 | etot = -9.1333491080194 +907000 ekin = 1.64674588300155 | erot = 2.11535919829805 | epot = -12.8954541894192 | etot = -9.13334910811959 +908000 ekin = 1.62631907110854 | erot = 2.16793324018485 | epot = -12.9276014195275 | etot = -9.1333491082341 +909000 ekin = 1.60738004097872 | erot = 2.21381581989075 | epot = -12.9545449692098 | etot = -9.13334910834033 +910000 ekin = 1.59034402489554 | erot = 2.25102295606656 | epot = -12.9747160893832 | etot = -9.13334910842113 +911000 ekin = 1.5757278270972 | erot = 2.27781488088298 | epot = -12.9868918164479 | etot = -9.1333491084677 +912000 ekin = 1.56413054682574 | erot = 2.29287003009408 | epot = -12.9903496853987 | etot = -9.1333491084789 +913000 ekin = 1.55616398737313 | erot = 2.29539983338945 | epot = -12.9849129292197 | etot = -9.13334910845709 +914000 ekin = 1.55235379274234 | erot = 2.28522760390945 | epot = -12.9709305050575 | etot = -9.13334910840569 +915000 ekin = 1.55303636075931 | erot = 2.26284508700303 | epot = -12.9492305560909 | etot = -9.13334910832854 +916000 ekin = 1.55827003373402 | erot = 2.22943339363176 | epot = -12.9210525355978 | etot = -9.13334910823199 +917000 ekin = 1.56776924055919 | erot = 2.18681551600403 | epot = -12.8879338646899 | etot = -9.13334910812669 +918000 ekin = 1.58086450735616 | erot = 2.13731406707604 | epot = -12.8515276824606 | etot = -9.13334910802844 +919000 ekin = 1.59649190921356 | erot = 2.08351907894305 | epot = -12.8133600961094 | etot = -9.13334910795276 +920000 ekin = 1.61321892883215 | erot = 2.02800735916391 | epot = -12.7745753959083 | etot = -9.13334910791224 +921000 ekin = 1.62931395437166 | erot = 1.97307497750016 | epot = -12.7357380397844 | etot = -9.1333491079126 +922000 ekin = 1.64286104745973 | erot = 1.92053870339868 | epot = -12.6967488588085 | etot = -9.1333491079501 +923000 ekin = 1.6519123439022 | erot = 1.87163759206758 | epot = -12.6568990439832 | etot = -9.13334910801338 +924000 ekin = 1.65466206200493 | erot = 1.82703710611869 | epot = -12.6150482762095 | etot = -9.13334910808586 +925000 ekin = 1.64962158355265 | erot = 1.78691680127086 | epot = -12.5698874929728 | etot = -9.13334910814926 +926000 ekin = 1.63577435705081 | erot = 1.75111283229508 | epot = -12.5202362975322 | etot = -9.13334910818633 +927000 ekin = 1.61269412580165 | erot = 1.71928618606909 | epot = -12.4653294200535 | etot = -9.13334910818274 +928000 ekin = 1.58061327337614 | erot = 1.69109387512271 | epot = -12.4050562566278 | etot = -9.1333491081289 +929000 ekin = 1.54043465717785 | erot = 1.66634444993334 | epot = -12.3401282151314 | etot = -9.13334910802019 +930000 ekin = 1.49368612296071 | erot = 1.64511875929312 | epot = -12.272153990113 | etot = -9.13334910785914 +931000 ekin = 1.44242020034653 | erot = 1.62783092394405 | epot = -12.2036002319477 | etot = -9.13334910765707 +932000 ekin = 1.38906420476601 | erot = 1.61520048768548 | epot = -12.1376137998864 | etot = -9.13334910743492 +933000 ekin = 1.33622958394485 | erot = 1.6081156841091 | epot = -12.0776943752761 | etot = -9.13334910722217 +934000 ekin = 1.28649486980888 | erot = 1.60739378973688 | epot = -12.0272377665998 | etot = -9.13334910705402 +935000 ekin = 1.24218246522804 | erot = 1.6134791908439 | epot = -11.9890107630357 | etot = -9.13334910696378 +936000 ekin = 1.20515312894639 | erot = 1.62614770367122 | epot = -11.9646499395944 | etot = -9.13334910697676 +937000 ekin = 1.17664231212851 | erot = 1.6442958335604 | epot = -11.9542872527933 | etot = -9.13334910710437 +938000 ekin = 1.15716006416317 | erot = 1.66588444176712 | epot = -11.9563936132696 | etot = -9.13334910733934 +939000 ekin = 1.14647171706266 | erot = 1.6881032683341 | epot = -11.9679240930434 | etot = -9.13334910764666 +940000 ekin = 1.14367004076054 | erot = 1.70771457435669 | epot = -11.9847337231134 | etot = -9.13334910799618 +941000 ekin = 1.1473388455791 | erot = 1.72149292702196 | epot = -12.0021808809227 | etot = -9.13334910832164 +942000 ekin = 1.15580134675009 | erot = 1.72687300442719 | epot = -12.0160234597396 | etot = -9.13334910856235 +943000 ekin = 1.16743729508088 | erot = 1.72249936628187 | epot = -12.0232857700279 | etot = -9.13334910866513 +944000 ekin = 1.18103106469623 | erot = 1.7085871246677 | epot = -12.0229672979652 | etot = -9.13334910860128 +945000 ekin = 1.1960680444943 | erot = 1.68696892709797 | epot = -12.0163860799751 | etot = -9.13334910838281 +946000 ekin = 1.21284058105875 | erot = 1.66075870252106 | epot = -12.0069483916519 | etot = -9.13334910807212 +947000 ekin = 1.23222210569487 | erot = 1.63367011142218 | epot = -11.9992413248878 | etot = -9.13334910777077 +948000 ekin = 1.25509690713185 | erot = 1.60916358074283 | epot = -11.9976095954608 | etot = -9.13334910758613 +949000 ekin = 1.28167104219273 | erot = 1.5896908039578 | epot = -12.0047109537303 | etot = -9.13334910757972 +950000 ekin = 1.31105510037397 | erot = 1.57628415675868 | epot = -12.0206883648703 | etot = -9.13334910773768 +951000 ekin = 1.34140314928571 | erot = 1.56859135850371 | epot = -12.0433436157719 | etot = -9.13334910798252 +952000 ekin = 1.37054117669372 | erot = 1.56526000758929 | epot = -12.069150292504 | etot = -9.13334910822102 +953000 ekin = 1.39670348102587 | erot = 1.56444621741211 | epot = -12.0944988068298 | etot = -9.13334910839183 +954000 ekin = 1.41897529239146 | erot = 1.56423287012898 | epot = -12.1165572710023 | etot = -9.13334910848183 +955000 ekin = 1.43729048071804 | erot = 1.5628747995038 | epot = -12.1335143887331 | etot = -9.13334910851122 +956000 ekin = 1.45211066333914 | erot = 1.55892938544642 | epot = -12.1443891572912 | etot = -9.13334910850569 +957000 ekin = 1.46402190624319 | erot = 1.55132217592857 | epot = -12.1486931906549 | etot = -9.13334910848318 +958000 ekin = 1.47342593726502 | erot = 1.53954965708395 | epot = -12.1463247027848 | etot = -9.13334910843584 +959000 ekin = 1.48038578495474 | erot = 1.52394133598125 | epot = -12.137676229295 | etot = -9.13334910835898 +960000 ekin = 1.4846060403427 | erot = 1.50575363434298 | epot = -12.1237087829308 | etot = -9.13334910824516 +961000 ekin = 1.48549975935911 | erot = 1.48721075409997 | epot = -12.1060596215514 | etot = -9.13334910809229 +962000 ekin = 1.48229853495805 | erot = 1.47141202581677 | epot = -12.0870596686812 | etot = -9.1333491079064 +963000 ekin = 1.47417603271195 | erot = 1.46210240866553 | epot = -12.069627549079 | etot = -9.13334910770149 +964000 ekin = 1.46036644523782 | erot = 1.46332191689043 | epot = -12.0570374696247 | etot = -9.13334910749646 +965000 ekin = 1.44026662180513 | erot = 1.4789632478734 | epot = -12.052578976996 | etot = -9.13334910731744 +966000 ekin = 1.41351583398992 | erot = 1.51227943253497 | epot = -12.0591443737153 | etot = -9.13334910719041 +967000 ekin = 1.38005134110581 | erot = 1.56539665065099 | epot = -12.0787970988967 | etot = -9.13334910713991 +968000 ekin = 1.34025482723033 | erot = 1.63885686280376 | epot = -12.1124607972101 | etot = -9.13334910717598 +969000 ekin = 1.2947692198018 | erot = 1.73132793714239 | epot = -12.1594462642669 | etot = -9.13334910732274 +970000 ekin = 1.24442005391699 | erot = 1.83972520716413 | epot = -12.2174943686209 | etot = -9.13334910753978 +971000 ekin = 1.19046696426425 | erot = 1.95943091413493 | epot = -12.2832469861951 | etot = -9.13334910779591 +972000 ekin = 1.13463097113061 | erot = 2.08475088506706 | epot = -12.3527309642468 | etot = -9.13334910804911 +973000 ekin = 1.07911059567514 | erot = 2.20953944506054 | epot = -12.4219991489933 | etot = -9.13334910825765 +974000 ekin = 1.02657367041436 | erot = 2.32774347844032 | epot = -12.4876662572788 | etot = -9.13334910842407 +975000 ekin = 0.979977932768793 | erot = 2.43392801407682 | epot = -12.5472550553323 | etot = -9.13334910848667 +976000 ekin = 0.942304887102471 | erot = 2.52399013958441 | epot = -12.5996441351603 | etot = -9.13334910847343 +977000 ekin = 0.916335295709716 | erot = 2.59517570126148 | epot = -12.6448601053816 | etot = -9.13334910841042 +978000 ekin = 0.904316422895417 | erot = 2.64601698758899 | epot = -12.6836825188159 | etot = -9.13334910833152 +979000 ekin = 0.907654941512151 | erot = 2.67612704045885 | epot = -12.7171310902396 | etot = -9.13334910826861 +980000 ekin = 0.926700183438725 | erot = 2.68592744663146 | epot = -12.7459767383145 | etot = -9.13334910824436 +981000 ekin = 0.960659745241547 | erot = 2.67638285525772 | epot = -12.770391708766 | etot = -9.13334910826674 +982000 ekin = 1.00766017971382 | erot = 2.64879736698571 | epot = -12.7898066550302 | etot = -9.13334910833062 +983000 ekin = 1.06493892794389 | erot = 2.60470505313269 | epot = -12.8029930894938 | etot = -9.13334910841725 +984000 ekin = 1.12913508942468 | erot = 2.54586103452334 | epot = -12.808345232448 | etot = -9.13334910849994 +985000 ekin = 1.19663599746289 | erot = 2.47431116848726 | epot = -12.8042962744991 | etot = -9.13334910854893 +986000 ekin = 1.2639316426873 | erot = 2.39249159635318 | epot = -12.7897723475801 | etot = -9.13334910853965 +987000 ekin = 1.32792910237771 | erot = 2.30329384114304 | epot = -12.7645720519798 | etot = -9.13334910845902 +988000 ekin = 1.38618594053593 | erot = 2.2100370453855 | epot = -12.7295720942306 | etot = -9.13334910830914 +989000 ekin = 1.43703663167589 | erot = 2.11631776633422 | epot = -12.6867035061176 | etot = -9.13334910810747 +990000 ekin = 1.47960743029125 | erot = 2.02574976473974 | epot = -12.6387063029119 | etot = -9.13334910788087 +991000 ekin = 1.51373724656088 | erot = 1.94164272474697 | epot = -12.5887290789682 | etot = -9.13334910766035 +992000 ekin = 1.53983818596799 | erot = 1.86668512513884 | epot = -12.5398724185799 | etot = -9.1333491074731 +993000 ekin = 1.55873490678584 | erot = 1.80268982002861 | epot = -12.4947738341534 | etot = -9.13334910733891 +994000 ekin = 1.57151651520304 | erot = 1.7504391420354 | epot = -12.4553047645059 | etot = -9.13334910726744 +995000 ekin = 1.57942173441972 | erot = 1.70964079466343 | epot = -12.4224116363426 | etot = -9.13334910725948 +996000 ekin = 1.58376261679052 | erot = 1.67898574509867 | epot = -12.3960974691973 | etot = -9.13334910730809 +997000 ekin = 1.58587878582325 | erot = 1.65629050257133 | epot = -12.3755183957957 | etot = -9.13334910740111 +998000 ekin = 1.58710748478689 | erot = 1.63870906507373 | epot = -12.3591656573833 | etot = -9.13334910752265 +999000 ekin = 1.58875603207076 | erot = 1.62299637534363 | epot = -12.3451015150712 | etot = -9.13334910765678 +1000000 ekin = 1.59207001222984 | erot = 1.60581739803193 | epot = -12.3312365180429 | etot = -9.13334910778118 + 1000000 0.11793111 -1.2674127 0.034288999 -1.0739167 -1.3883882e-05 64000 +Loop time of 12.2549 on 4 procs for 1000000 steps with 10 atoms + +Performance: 70502.380 tau/day, 81599.976 timesteps/s +99.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 | 4.621 | 6.1682 | 7.6888 | 57.8 | 50.33 +Bond | 0.23368 | 0.29564 | 0.38327 | 11.2 | 2.41 +Neigh | 0.01308 | 0.013114 | 0.013149 | 0.0 | 0.11 +Comm | 1.714 | 1.885 | 2.078 | 9.8 | 15.38 +Output | 0.080169 | 0.082844 | 0.086603 | 0.8 | 0.68 +Modify | 0.53188 | 0.62981 | 0.73082 | 12.3 | 5.14 +Other | | 3.18 | | | 25.95 + +Nlocal: 2.50000 ave 4 max 1 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Nghost: 7.50000 ave 9 max 6 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Neighs: 16.7500 ave 26 max 8 min +Histogram: 2 0 0 0 0 0 0 0 0 2 + +Total # of neighbors = 67 +Ave neighs/atom = 6.7000000 +Ave special neighs/atom = 3.6000000 +Neighbor list builds = 1000 +Dangerous builds = 0 + +write_data last_config.${number}.* nocoeff +write_data last_config.1.* nocoeff +System init for write_data ... +Total wall time: 0:00:12 diff --git a/examples/PACKAGES/cgdna/examples/oxDNA/duplex1/log.30Jun20.duplex1.g++.1 b/examples/PACKAGES/cgdna/examples/oxDNA/duplex1/log.30Jun20.duplex1.g++.1 deleted file mode 100644 index 42c22b9f76..0000000000 --- a/examples/PACKAGES/cgdna/examples/oxDNA/duplex1/log.30Jun20.duplex1.g++.1 +++ /dev/null @@ -1,1175 +0,0 @@ -LAMMPS (30 Jun 2020) -variable number equal 1 -variable ofreq equal 1000 -variable efreq equal 1000 -variable T equal 0.1 - -units lj - -dimension 3 - -newton off - -boundary p p p - - - -atom_style hybrid bond ellipsoid -WARNING: Atom_style hybrid defines both pertype and peratom masses - both must be set, only peratom masses will be used (../atom_vec_hybrid.cpp:156) -atom_modify sort 0 1.0 - -# Pair interactions require lists of neighbours to be calculated -neighbor 1.0 bin -neigh_modify every 1 delay 0 check yes - -read_data data.duplex1 - orthogonal box = (-20 -20 -20) to (20 20 20) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 10 atoms - reading velocities ... - 10 velocities - 10 ellipsoids - scanning bonds ... - 2 = max bonds/atom - reading bonds ... - 8 bonds - 2 = max # of 1-2 neighbors - 2 = max # of 1-3 neighbors - 2 = max # of 1-4 neighbors - 4 = max # of special neighbors - special bonds CPU = 0.000 seconds - read_data CPU = 0.002 seconds -set atom * mass 3.1575 - 10 settings made for mass - -group all type 1 4 -10 atoms in group all - -# oxDNA bond interactions - FENE backbone -bond_style oxdna/fene -bond_coeff * 2.0 0.25 0.7525 -special_bonds lj 0 1 1 - 2 = max # of 1-2 neighbors - 2 = max # of 1-3 neighbors - 2 = max # of 1-4 neighbors - 4 = max # of special neighbors - special bonds CPU = 0.000 seconds - -# oxDNA pair interactions -pair_style hybrid/overlay oxdna/excv oxdna/stk oxdna/hbond oxdna/xstk oxdna/coaxstk -pair_coeff * * oxdna/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32 -pair_coeff * * oxdna/stk seqav ${T} 1.3448 2.6568 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 -pair_coeff * * oxdna/stk seqav 0.1 1.3448 2.6568 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 -pair_coeff * * oxdna/hbond seqav 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 1 4 oxdna/hbond seqav 1.077 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 2 3 oxdna/hbond seqav 1.077 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff * * oxdna/xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68 -pair_coeff * * oxdna/coaxstk 46.0 0.4 0.6 0.22 0.58 2.0 2.541592653589793 0.65 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 -0.65 2.0 -0.65 - -# NVE ensemble -fix 1 all nve/dot -#fix 1 all nve/dotc/langevin ${T} ${T} 0.03 457145 angmom 10 -#fix 1 all nve/asphere -#fix 2 all langevin ${T} ${T} 0.03 457145 angmom 10 - -timestep 1e-5 - -#comm_style tiled -#fix 3 all balance 10000 1.1 rcb -comm_modify cutoff 2.5 - -#compute mol all chunk/atom molecule -#compute mychunk all vcm/chunk mol -#fix 4 all ave/time 10000 1 10000 c_mychunk[1] c_mychunk[2] c_mychunk[3] file vcm.txt mode vector - -#dump pos all xyz ${ofreq} traj.${number}.xyz - -#compute quat all property/atom quatw quati quatj quatk -#dump quat all custom ${ofreq} quat.${number}.txt id c_quat[1] c_quat[2] c_quat[3] c_quat[4] -#dump_modify quat sort id -#dump_modify quat format line "%d %13.6le %13.6le %13.6le %13.6le" - -compute erot all erotate/asphere -compute ekin all ke -compute epot all pe -variable erot equal c_erot -variable ekin equal c_ekin -variable epot equal c_epot -variable etot equal c_erot+c_ekin+c_epot -fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes -fix 5 all print 1000 "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes - -#dump out all custom ${ofreq} out.${number}.txt id x y z vx vy vz fx fy fz tqx tqy tqz -#dump_modify out sort id -#dump_modify out format line "%d %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le" - -run 1000000 -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 1.9560004 - ghost atom cutoff = 2.5 - binsize = 0.97800022, bins = 41 41 41 - 5 neighbor lists, perpetual/occasional/extra = 5 0 0 - (1) pair oxdna/excv, perpetual - attributes: half, newton off - pair build: half/bin/newtoff - stencil: half/bin/3d/newtoff - bin: standard - (2) pair oxdna/stk, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (3) pair oxdna/hbond, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (4) pair oxdna/xstk, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (5) pair oxdna/coaxstk, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none -0 ekin = 0 | erot = 0 | epot = -14.6424332448164 | etot = -14.6424332448164 -Per MPI rank memory allocation (min/avg/max) = 7.883 | 7.883 | 7.883 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 0 -1.4711818 0.0069384985 -1.4642433 2.5836586e-06 -1000 ekin = 0.00113448721737003 | erot = 0.00413455947734281 | epot = -14.6477022915193 | etot = -14.6424332448246 -2000 ekin = 0.00449927223902336 | erot = 0.0164446434455805 | epot = -14.6633771605337 | etot = -14.6424332448491 -3000 ekin = 0.00997964450841065 | erot = 0.0366523356056461 | epot = -14.6890652250033 | etot = -14.6424332448892 -4000 ekin = 0.0173888111295073 | erot = 0.0643039804300224 | epot = -14.7241260365031 | etot = -14.6424332449436 -5000 ekin = 0.0264744514136619 | erot = 0.0987844033142069 | epot = -14.7676920997383 | etot = -14.6424332450104 -6000 ekin = 0.0369277948556079 | erot = 0.139336571052566 | epot = -14.8186976109956 | etot = -14.6424332450875 -7000 ekin = 0.04839505571915 | erot = 0.185086295692081 | epot = -14.8759145965832 | etot = -14.642433245172 -8000 ekin = 0.0604909336920643 | erot = 0.235071307523532 | epot = -14.9379954864767 | etot = -14.6424332452611 -9000 ekin = 0.0728137406440561 | erot = 0.288273694501538 | epot = -15.003520680497 | etot = -14.6424332453514 -10000 ekin = 0.0849615563085878 | erot = 0.343654369293473 | epot = -15.0710491710418 | etot = -14.6424332454398 -11000 ekin = 0.0965486715045649 | erot = 0.400187932108223 | epot = -15.1391698491357 | etot = -14.6424332455229 -12000 ekin = 0.10722146628289 | erot = 0.456896095459165 | epot = -15.20655080734 | etot = -14.642433245598 -13000 ekin = 0.116672809719548 | erot = 0.512877765427643 | epot = -15.2719838208099 | etot = -14.6424332456627 -14000 ekin = 0.12465407373104 | erot = 0.567333962045116 | epot = -15.3344212814913 | etot = -14.6424332457151 -15000 ekin = 0.13098393968427 | erot = 0.619586028256667 | epot = -15.3930032136954 | etot = -14.6424332457544 -16000 ekin = 0.135553354544872 | erot = 0.669086028489761 | epot = -15.447072628815 | etot = -14.6424332457804 -17000 ekin = 0.138326263958247 | erot = 0.715418858085449 | epot = -15.4961783678372 | etot = -14.6424332457935 -18000 ekin = 0.139336096664052 | erot = 0.758296324627745 | epot = -15.5400656670872 | etot = -14.6424332457954 -19000 ekin = 0.138678360045177 | erot = 0.797544234275864 | epot = -15.5786558401088 | etot = -14.6424332457878 -20000 ekin = 0.136500074655373 | erot = 0.83308420441103 | epot = -15.6120175248394 | etot = -14.642433245773 -21000 ekin = 0.132987065285671 | erot = 0.864912408452581 | epot = -15.6403327194916 | etot = -14.6424332457533 -22000 ekin = 0.128350288213556 | erot = 0.893077649557994 | epot = -15.6638611835027 | etot = -14.6424332457311 -23000 ekin = 0.122812385135508 | erot = 0.917661024683965 | epot = -15.6829066555277 | etot = -14.6424332457083 -24000 ekin = 0.116595521408284 | erot = 0.938759014332098 | epot = -15.6977877814267 | etot = -14.6424332456863 -25000 ekin = 0.109911323474816 | erot = 0.956471207347239 | epot = -15.7088157764882 | etot = -14.6424332456662 -26000 ekin = 0.102953426207644 | erot = 0.970893163953205 | epot = -15.7162798358091 | etot = -14.6424332456483 -27000 ekin = 0.0958928250746637 | erot = 0.982114250194058 | epot = -15.7204403209013 | etot = -14.6424332456325 -28000 ekin = 0.0888759410950343 | erot = 0.990219731539854 | epot = -15.7215289182535 | etot = -14.6424332456186 -29000 ekin = 0.0820250748773376 | erot = 0.995296041202929 | epot = -15.719754361686 | etot = -14.6424332456058 -30000 ekin = 0.0754407616839748 | erot = 0.997437949320997 | epot = -15.7153119565981 | etot = -14.6424332455932 -31000 ekin = 0.0692054432610605 | erot = 0.996756332762286 | epot = -15.7083950216035 | etot = -14.6424332455802 -32000 ekin = 0.0633878377978472 | erot = 0.993385345349225 | epot = -15.699206428713 | etot = -14.6424332455659 -33000 ekin = 0.0580474070871663 | erot = 0.987487973309971 | epot = -15.6879686259471 | etot = -14.64243324555 -34000 ekin = 0.0532383791888181 | erot = 0.979259192921751 | epot = -15.6749308176426 | etot = -14.642433245532 -35000 ekin = 0.0490128758307997 | erot = 0.968926197407229 | epot = -15.66037231875 | etot = -14.642433245512 -36000 ekin = 0.0454228081410748 | erot = 0.956745409625975 | epot = -15.6446014632576 | etot = -14.6424332454906 -37000 ekin = 0.0425203357176439 | erot = 0.942996238000726 | epot = -15.6279498191869 | etot = -14.6424332454685 -38000 ekin = 0.0403568280949571 | erot = 0.927971766616668 | epot = -15.6107618401582 | etot = -14.6424332454465 -39000 ekin = 0.0389804214212713 | erot = 0.911966804110017 | epot = -15.5933804709572 | etot = -14.642433245426 -40000 ekin = 0.0384324238856427 | erot = 0.895263959562923 | epot = -15.5761296288567 | etot = -14.6424332454081 -41000 ekin = 0.0387429860408528 | erot = 0.878118672838279 | epot = -15.5592949042733 | etot = -14.6424332453942 -42000 ekin = 0.0399266053637511 | erot = 0.860744395135508 | epot = -15.5431042458848 | etot = -14.6424332453855 -43000 ekin = 0.0419781561011213 | erot = 0.843299365355989 | epot = -15.52771076684 | etot = -14.6424332453829 -44000 ekin = 0.0448701894086714 | erot = 0.82587660331255 | epot = -15.5131800381078 | etot = -14.6424332453866 -45000 ekin = 0.0485521857411517 | erot = 0.808498758184885 | epot = -15.4994841893228 | etot = -14.6424332453968 -46000 ekin = 0.0529522094031971 | erot = 0.791119212186815 | epot = -15.4865046670025 | etot = -14.6424332454125 -47000 ekin = 0.0579809824236746 | erot = 0.773630265882156 | epot = -15.4740444937379 | etot = -14.6424332454321 -48000 ekin = 0.0635377846493077 | erot = 0.755878310836116 | epot = -15.4618493409392 | etot = -14.6424332454537 -49000 ekin = 0.069516912445729 | erot = 0.737684732482671 | epot = -15.4496348904037 | etot = -14.6424332454753 -50000 ekin = 0.0758129058454751 | erot = 0.718870126218106 | epot = -15.4371162775587 | etot = -14.6424332454952 -51000 ekin = 0.0823226638641914 | erot = 0.699278599518873 | epot = -15.4240345088949 | etot = -14.6424332455118 -52000 ekin = 0.0889431481334987 | erot = 0.678798807098492 | epot = -15.4101752007567 | etot = -14.6424332455248 -53000 ekin = 0.0955646689255783 | erot = 0.657379086770007 | epot = -15.3953770012299 | etot = -14.6424332455343 -54000 ekin = 0.102061477509349 | erot = 0.635035489168657 | epot = -15.3795302122191 | etot = -14.6424332455411 -55000 ekin = 0.108282960174 | erot = 0.611853171347175 | epot = -15.362569377067 | etot = -14.6424332455459 -56000 ekin = 0.114049426281782 | erot = 0.587982945924791 | epot = -15.344465617755 | etot = -14.6424332455484 -57000 ekin = 0.119155806186855 | erot = 0.56363525592402 | epot = -15.3252243076595 | etot = -14.6424332455486 -58000 ekin = 0.123384552305435 | erot = 0.539073355224031 | epot = -15.3048911530747 | etot = -14.6424332455452 -59000 ekin = 0.126526300954941 | erot = 0.514606324860987 | epot = -15.2835658713528 | etot = -14.6424332455369 -60000 ekin = 0.128404399836503 | erot = 0.490581338842511 | epot = -15.2614189842015 | etot = -14.6424332455224 -61000 ekin = 0.128898142362337 | erot = 0.467373892403714 | epot = -15.2387052802675 | etot = -14.6424332455015 -62000 ekin = 0.127959880290302 | erot = 0.445374820089113 | epot = -15.2157679458544 | etot = -14.6424332454749 -63000 ekin = 0.125622870624954 | erot = 0.424973765390048 | epot = -15.1930298814588 | etot = -14.6424332454438 -64000 ekin = 0.121999044843202 | erot = 0.406539918574853 | epot = -15.1709722088285 | etot = -14.6424332454104 -65000 ekin = 0.117268056619303 | erot = 0.390401831022836 | epot = -15.1501031330193 | etot = -14.6424332453771 -66000 ekin = 0.111660385257243 | erot = 0.376828594081003 | epot = -15.1309222246847 | etot = -14.6424332453465 -67000 ekin = 0.105437746905135 | erot = 0.366014539812687 | epot = -15.1138855320383 | etot = -14.6424332453205 -68000 ekin = 0.0988737375607857 | erot = 0.358069014156216 | epot = -15.0993759970176 | etot = -14.6424332453006 -69000 ekin = 0.0922368286502244 | erot = 0.353011948772493 | epot = -15.0876820227105 | etot = -14.6424332452877 -70000 ekin = 0.0857769015274457 | erot = 0.350775174164874 | epot = -15.0789853209744 | etot = -14.6424332452821 -71000 ekin = 0.0797156921642124 | erot = 0.35120884424483 | epot = -15.0733577816925 | etot = -14.6424332452834 -72000 ekin = 0.0742409440406404 | erot = 0.354092037745959 | epot = -15.0707662270775 | etot = -14.6424332452909 -73000 ekin = 0.069503749870144 | erot = 0.359146526959529 | epot = -15.0710835221333 | etot = -14.6424332453037 -74000 ekin = 0.0656184497423043 | erot = 0.36605276987658 | epot = -15.0741044649392 | etot = -14.6424332453203 -75000 ekin = 0.0626644690389273 | erot = 0.37446729003154 | epot = -15.07956500441 | etot = -14.6424332453395 -76000 ekin = 0.0606895535086071 | erot = 0.384040683400773 | epot = -15.0871634822692 | etot = -14.6424332453599 -77000 ekin = 0.0597139401235039 | erot = 0.394435495890113 | epot = -15.0965826813933 | etot = -14.6424332453797 -78000 ekin = 0.0597350629869167 | erot = 0.405343151479122 | epot = -15.1075114598641 | etot = -14.6424332453981 -79000 ekin = 0.0607324264355599 | erot = 0.416499017639979 | epot = -15.1196646894891 | etot = -14.6424332454136 -80000 ekin = 0.0626722904949853 | erot = 0.427694630236173 | epot = -15.1328001661567 | etot = -14.6424332454256 -81000 ekin = 0.0655118235328824 | erot = 0.438786127846776 | epot = -15.1467311968131 | etot = -14.6424332454334 -82000 ekin = 0.0692024020835959 | erot = 0.449698113828529 | epot = -15.1613337613492 | etot = -14.6424332454371 -83000 ekin = 0.0736917936906687 | erot = 0.460422490739007 | epot = -15.1765475298665 | etot = -14.6424332454368 -84000 ekin = 0.0789250526546792 | erot = 0.471012272293637 | epot = -15.1923705703818 | etot = -14.6424332454335 -85000 ekin = 0.0848440878750104 | erot = 0.481570908649218 | epot = -15.2088482419521 | etot = -14.6424332454279 -86000 ekin = 0.0913860133254689 | erot = 0.492238169205271 | epot = -15.226057427952 | etot = -14.6424332454213 -87000 ekin = 0.0984805441200107 | erot = 0.503174014616583 | epot = -15.2440878041518 | etot = -14.6424332454152 -88000 ekin = 0.106046830304303 | erot = 0.514542076496116 | epot = -15.2630221522109 | etot = -14.6424332454105 -89000 ekin = 0.113990204127989 | erot = 0.526494309539271 | epot = -15.2829177590758 | etot = -14.6424332454086 -90000 ekin = 0.122199339151899 | erot = 0.539158097285764 | epot = -15.3037906818476 | etot = -14.64243324541 -91000 ekin = 0.130544275971407 | erot = 0.552626637865788 | epot = -15.3256041592523 | etot = -14.6424332454151 -92000 ekin = 0.138875666148818 | erot = 0.566952900962214 | epot = -15.3482618125354 | etot = -14.6424332454244 -93000 ekin = 0.147025440614644 | erot = 0.58214693373749 | epot = -15.3716056197896 | etot = -14.6424332454375 -94000 ekin = 0.154808946847823 | erot = 0.598175891801268 | epot = -15.3954180841032 | etot = -14.6424332454541 -95000 ekin = 0.162028449602152 | erot = 0.6149659424539 | epot = -15.4194276375298 | etot = -14.6424332454737 -96000 ekin = 0.168477779667818 | erot = 0.632405154082103 | epot = -15.4433161792458 | etot = -14.6424332454959 -97000 ekin = 0.173947863026719 | erot = 0.6503466316284 | epot = -15.4667277401751 | etot = -14.64243324552 -98000 ekin = 0.178232875004241 | erot = 0.668611435746027 | epot = -15.4892775562957 | etot = -14.6424332455454 -99000 ekin = 0.181136831926352 | erot = 0.686991165056287 | epot = -15.5105612425543 | etot = -14.6424332455716 -100000 ekin = 0.182480533643596 | erot = 0.705250413407857 | epot = -15.5301641926494 | etot = -14.642433245598 -101000 ekin = 0.182108871451933 | erot = 0.723129571003271 | epot = -15.5476716880789 | etot = -14.6424332456237 -102000 ekin = 0.179898581170267 | erot = 0.740348571090405 | epot = -15.5626803979087 | etot = -14.642433245648 -103000 ekin = 0.175766517608083 | erot = 0.756612167825933 | epot = -15.5748119311038 | etot = -14.6424332456698 -104000 ekin = 0.169678431535444 | erot = 0.771617166851702 | epot = -15.5837288440751 | etot = -14.6424332456879 -105000 ekin = 0.161658036036865 | erot = 0.7850617429621 | epot = -15.5891530246999 | etot = -14.642433245701 -106000 ekin = 0.151795867650478 | erot = 0.796656613424693 | epot = -15.5908857267828 | etot = -14.6424332457076 -107000 ekin = 0.140257112952728 | erot = 0.806137449197324 | epot = -15.5888278078567 | etot = -14.6424332457066 -108000 ekin = 0.127287240201243 | erot = 0.813277564481201 | epot = -15.5829980503796 | etot = -14.6424332456971 -109000 ekin = 0.113214025490919 | erot = 0.817899691734526 | epot = -15.5735469629039 | etot = -14.6424332456785 -110000 ekin = 0.0984444823805245 | erot = 0.819885578054015 | epot = -15.5607633060855 | etot = -14.642433245651 -111000 ekin = 0.0834553769364607 | erot = 0.819182262545871 | epot = -15.5450708850979 | etot = -14.6424332456156 -112000 ekin = 0.0687764915871071 | erot = 0.815804215094497 | epot = -15.5270139522555 | etot = -14.6424332455739 -113000 ekin = 0.0549665904028951 | erot = 0.809830999844525 | epot = -15.5072308357758 | etot = -14.6424332455284 -114000 ekin = 0.0425830583120669 | erot = 0.801400700351035 | epot = -15.4864170041451 | etot = -14.642433245482 -115000 ekin = 0.032147280213268 | erot = 0.790699910049129 | epot = -15.4652804357002 | etot = -14.6424332454378 -116000 ekin = 0.0241087780345819 | erot = 0.777951546674794 | epot = -15.4444935701084 | etot = -14.642433245399 -117000 ekin = 0.0188117102728978 | erot = 0.763402004774129 | epot = -15.4246469604153 | etot = -14.6424332453683 -118000 ekin = 0.0164673894159088 | erot = 0.747309167857022 | epot = -15.4062098026202 | etot = -14.6424332453473 -119000 ekin = 0.0171359296532941 | erot = 0.72993256457545 | epot = -15.3895017395656 | etot = -14.6424332453369 -120000 ekin = 0.0207190822430537 | erot = 0.711526526250299 | epot = -15.3746788538304 | etot = -14.642433245337 -121000 ekin = 0.0269649552319852 | erot = 0.692336677373468 | epot = -15.3617348779521 | etot = -14.6424332453466 -122000 ekin = 0.035483922029777 | erot = 0.67259957021413 | epot = -15.3505167376078 | etot = -14.6424332453639 -123000 ekin = 0.0457738626451396 | erot = 0.652544850165462 | epot = -15.3407519581969 | etot = -14.6424332453863 -124000 ekin = 0.0572521324296494 | erot = 0.632399068066162 | epot = -15.3320844459073 | etot = -14.6424332454115 -125000 ekin = 0.069291373600259 | erot = 0.61239015618606 | epot = -15.324114775223 | etot = -14.6424332454366 -126000 ekin = 0.0812564128172871 | erot = 0.592751635109631 | epot = -15.3164412933861 | etot = -14.6424332454592 -127000 ekin = 0.0925398817823739 | erot = 0.573725774407947 | epot = -15.3086989016674 | etot = -14.642433245477 -128000 ekin = 0.102594692018531 | erot = 0.555565138943754 | epot = -15.3005930764508 | etot = -14.6424332454885 -129000 ekin = 0.110961953873463 | erot = 0.538532171478064 | epot = -15.2919273708439 | etot = -14.6424332454924 -130000 ekin = 0.117293279472126 | erot = 0.522896664453456 | epot = -15.2826231894135 | etot = -14.6424332454879 -131000 ekin = 0.121366644774015 | erot = 0.508931150171097 | epot = -15.2727310404202 | etot = -14.6424332454751 -132000 ekin = 0.123095155538849 | erot = 0.496904390905147 | epot = -15.2624327918983 | etot = -14.6424332454543 -133000 ekin = 0.122528239670492 | erot = 0.48707328299654 | epot = -15.2520347680937 | etot = -14.6424332454267 -134000 ekin = 0.119845042600695 | erot = 0.479673601169304 | epot = -15.2419518891638 | etot = -14.6424332453938 -135000 ekin = 0.115340171966309 | erot = 0.474910093714655 | epot = -15.2326835110385 | etot = -14.6424332453575 -136000 ekin = 0.10940241928465 | erot = 0.472946484072585 | epot = -15.2247821486776 | etot = -14.6424332453204 -137000 ekin = 0.102487634021819 | erot = 0.473895929917062 | epot = -15.2188168092236 | etot = -14.6424332452848 -138000 ekin = 0.0950874634047241 | erot = 0.477812435582801 | epot = -15.2153331442408 | etot = -14.6424332452533 -139000 ekin = 0.0876961121512828 | erot = 0.484683617748065 | epot = -15.2148129751279 | etot = -14.6424332452285 -140000 ekin = 0.0807775418431644 | erot = 0.494425108537532 | epot = -15.2176358955931 | etot = -14.6424332452124 -141000 ekin = 0.0747355681577843 | erot = 0.506876770807999 | epot = -15.2240455841725 | etot = -14.6424332452067 -142000 ekin = 0.0698891098450152 | erot = 0.521800821238859 | epot = -15.2341231762965 | etot = -14.6424332452126 -143000 ekin = 0.0664544171866109 | erot = 0.538881922424141 | epot = -15.2477695848412 | etot = -14.6424332452305 -144000 ekin = 0.0645355104692138 | erot = 0.557729316020268 | epot = -15.2646980717496 | etot = -14.6424332452601 -145000 ekin = 0.0641233595162975 | erot = 0.577881111412676 | epot = -15.2844377162296 | etot = -14.6424332453007 -146000 ekin = 0.065103607751526 | erot = 0.598810893851671 | epot = -15.3063477469538 | etot = -14.6424332453506 -147000 ekin = 0.067271957897368 | erot = 0.619936843681793 | epot = -15.3296420469867 | etot = -14.6424332454076 -148000 ekin = 0.070355749269213 | erot = 0.640633538190949 | epot = -15.3534225329294 | etot = -14.6424332454693 -149000 ekin = 0.0740398128642513 | erot = 0.660246523237734 | epot = -15.3767195816347 | etot = -14.6424332455327 -150000 ekin = 0.0779944201058762 | erot = 0.678109590376207 | epot = -15.398537256077 | etot = -14.6424332455949 -151000 ekin = 0.0819030604172403 | erot = 0.693564488648145 | epot = -15.4179007947184 | etot = -14.642433245653 -152000 ekin = 0.0854878938552698 | erot = 0.705982563003937 | epot = -15.4339037025634 | etot = -14.6424332457042 -153000 ekin = 0.0885310147328597 | erot = 0.714787575382121 | epot = -15.4457518358609 | etot = -14.6424332457459 -154000 ekin = 0.090890101288761 | erot = 0.719478762727545 | epot = -15.4528021097924 | etot = -14.6424332457761 -155000 ekin = 0.0925075703714592 | erot = 0.719653046097743 | epot = -15.4545938622626 | etot = -14.6424332457934 -156000 ekin = 0.0934129479728876 | erot = 0.715025243754007 | epot = -15.4508714375239 | etot = -14.642433245797 -157000 ekin = 0.093718743577964 | erot = 0.705445163946351 | epot = -15.4415971533109 | etot = -14.6424332457866 -158000 ekin = 0.0936106185393401 | erot = 0.690910554325733 | epot = -15.4269544186277 | etot = -14.6424332457627 -159000 ekin = 0.0933330174010976 | erot = 0.67157505165981 | epot = -15.407341314787 | etot = -14.6424332457261 -160000 ekin = 0.0931716565242302 | erot = 0.647750492120669 | epot = -15.3833553943233 | etot = -14.6424332456784 -161000 ekin = 0.093434329623141 | erot = 0.619903194016607 | epot = -15.3557707692612 | etot = -14.6424332456214 -162000 ekin = 0.0944314104804151 | erot = 0.588644098979629 | epot = -15.3255087550172 | etot = -14.6424332455572 -163000 ekin = 0.0964572425739466 | erot = 0.554712943453935 | epot = -15.293603431516 | etot = -14.6424332454881 -164000 ekin = 0.0997733472806099 | erot = 0.51895691856195 | epot = -15.2611635112594 | etot = -14.6424332454168 -165000 ekin = 0.104594102019908 | erot = 0.482304549422441 | epot = -15.2293318967882 | etot = -14.6424332453459 -166000 ekin = 0.111075276516248 | erot = 0.445735768512404 | epot = -15.1992442903064 | etot = -14.6424332452778 -167000 ekin = 0.119305597513578 | erot = 0.410249354728338 | epot = -15.1719881974571 | etot = -14.6424332452152 -168000 ekin = 0.129301354725085 | erot = 0.376829046178766 | epot = -15.1485636460642 | etot = -14.6424332451603 -169000 ekin = 0.141003965789751 | erot = 0.346409702527123 | epot = -15.129846913432 | etot = -14.6424332451151 -170000 ekin = 0.154280377439944 | erot = 0.319844892417983 | epot = -15.1165585149393 | etot = -14.6424332450814 -171000 ekin = 0.168926178621547 | erot = 0.29787722160694 | epot = -15.109236645289 | etot = -14.6424332450605 -172000 ekin = 0.184671319364516 | erot = 0.281112611137265 | epot = -15.1082171755549 | etot = -14.6424332450532 -173000 ekin = 0.201188345437126 | erot = 0.269999595570288 | epot = -15.1136211860671 | etot = -14.6424332450597 -174000 ekin = 0.218103052207045 | erot = 0.264814547402998 | epot = -15.1253508446899 | etot = -14.6424332450799 -175000 ekin = 0.235007413035636 | erot = 0.265653545950127 | epot = -15.1430942040986 | etot = -14.6424332451128 -176000 ekin = 0.25147453426793 | erot = 0.272431389432275 | epot = -15.1663391688573 | etot = -14.642433245157 -177000 ekin = 0.267075225143454 | erot = 0.284887984978814 | epot = -15.1943964553329 | etot = -14.6424332452106 -178000 ekin = 0.281395553895307 | erot = 0.302602030915426 | epot = -15.2264308300819 | etot = -14.6424332452711 -179000 ekin = 0.294054514411889 | erot = 0.325011526057921 | epot = -15.2614992858055 | etot = -14.6424332453357 -180000 ekin = 0.304720692896967 | erot = 0.351440214935869 | epot = -15.2985941532343 | etot = -14.6424332454015 -181000 ekin = 0.313126658918453 | erot = 0.381128639602711 | epot = -15.3366885439866 | etot = -14.6424332454655 -182000 ekin = 0.31907977582365 | erot = 0.413268071114184 | epot = -15.374781092463 | etot = -14.6424332455251 -183000 ekin = 0.322468290005793 | erot = 0.447035301736757 | epot = -15.4119368373208 | etot = -14.6424332455782 -184000 ekin = 0.323261947554702 | erot = 0.48162615508047 | epot = -15.4473213482582 | etot = -14.6424332456231 -185000 ekin = 0.321506983530858 | erot = 0.516285658867847 | epot = -15.4802258880574 | etot = -14.6424332456587 -186000 ekin = 0.317316057633713 | erot = 0.550333132629142 | epot = -15.5100824359478 | etot = -14.642433245685 -187000 ekin = 0.310854440590115 | erot = 0.583180936761995 | epot = -15.5364686230541 | etot = -14.642433245702 -188000 ekin = 0.302324329763978 | erot = 0.614346238385449 | epot = -15.55910381386 | etot = -14.6424332457106 -189000 ekin = 0.291949445197146 | erot = 0.643455779012842 | epot = -15.5778384699217 | etot = -14.6424332457117 -190000 ekin = 0.279961942768283 | erot = 0.670244185704452 | epot = -15.5926393741794 | etot = -14.6424332457066 -191000 ekin = 0.266593185653692 | erot = 0.694546781233374 | epot = -15.6035732125832 | etot = -14.6424332456962 -192000 ekin = 0.25206914162339 | erot = 0.716288088787003 | epot = -15.6107904760917 | etot = -14.6424332456813 -193000 ekin = 0.236610293254171 | erot = 0.73546730224254 | epot = -15.6145108411597 | etot = -14.642433245663 -194000 ekin = 0.220435149405134 | erot = 0.752141943027135 | epot = -15.615010338074 | etot = -14.6424332456418 -195000 ekin = 0.203765880093363 | erot = 0.766410799029957 | epot = -15.6126099247417 | etot = -14.6424332456184 -196000 ekin = 0.186834339037387 | erot = 0.778397083250795 | epot = -15.6076646678817 | etot = -14.6424332455935 -197000 ekin = 0.169886782294202 | erot = 0.788232586070606 | epot = -15.6005526139326 | etot = -14.6424332455678 -198000 ekin = 0.153185871078003 | erot = 0.796043434538988 | epot = -15.5916625511591 | etot = -14.6424332455421 -199000 ekin = 0.137008972987419 | erot = 0.801937915798975 | epot = -15.5813801343039 | etot = -14.6424332455175 -200000 ekin = 0.121642272364818 | erot = 0.80599667326165 | epot = -15.5700721911217 | etot = -14.6424332454952 -201000 ekin = 0.107370722656495 | erot = 0.808265456806725 | epot = -15.5580694249396 | etot = -14.6424332454764 -202000 ekin = 0.0944644042392259 | erot = 0.808750524309999 | epot = -15.5456481740113 | etot = -14.642433245462 -203000 ekin = 0.0831623790894052 | erot = 0.807416772443545 | epot = -15.5330123969864 | etot = -14.6424332454535 -204000 ekin = 0.0736556272335603 | erot = 0.804188725419786 | epot = -15.5202775981049 | etot = -14.6424332454515 -205000 ekin = 0.0660710401675988 | erot = 0.798954607355857 | epot = -15.50745889298 | etot = -14.6424332454565 -206000 ekin = 0.0604586317681712 | erot = 0.791573809424193 | epot = -15.4944656866606 | etot = -14.6424332454683 -207000 ekin = 0.0567840026883055 | erot = 0.781888054798429 | epot = -15.4811053029727 | etot = -14.642433245486 -208000 ekin = 0.0549275971601587 | erot = 0.769736381379669 | epot = -15.4670972240478 | etot = -14.6424332455079 -209000 ekin = 0.0546914447538068 | erot = 0.754973659533921 | epot = -15.4520983498196 | etot = -14.6424332455319 -210000 ekin = 0.0558130126775254 | erot = 0.737491764374774 | epot = -15.4357380226072 | etot = -14.6424332455549 -211000 ekin = 0.0579847210238465 | erot = 0.717241838880044 | epot = -15.417659805478 | etot = -14.6424332455741 -212000 ekin = 0.0608768356205403 | erot = 0.694255492639204 | epot = -15.3975655738466 | etot = -14.6424332455869 -213000 ekin = 0.0641610427083153 | erot = 0.66866247616333 | epot = -15.3752567644623 | etot = -14.6424332455907 -214000 ekin = 0.0675321043587494 | erot = 0.640702495517984 | epot = -15.3506678454611 | etot = -14.6424332455844 -215000 ekin = 0.070725533636796 | erot = 0.610729417267914 | epot = -15.3238881964721 | etot = -14.6424332455674 -216000 ekin = 0.0735300437834149 | erot = 0.579207054837064 | epot = -15.2951703441606 | etot = -14.6424332455401 -217000 ekin = 0.0757943994895872 | erot = 0.54669681320896 | epot = -15.2649244582023 | etot = -14.6424332455037 -218000 ekin = 0.0774290394184588 | erot = 0.513838451215604 | epot = -15.2337007360941 | etot = -14.6424332454601 -219000 ekin = 0.0784033323162054 | erot = 0.481325894960068 | epot = -15.2021624726878 | etot = -14.6424332454115 -220000 ekin = 0.0787395495628487 | erot = 0.449880299616969 | epot = -15.17105309454 | etot = -14.6424332453602 -221000 ekin = 0.0785046319692735 | erot = 0.420222425154563 | epot = -15.1411603024324 | etot = -14.6424332453086 -222000 ekin = 0.0778006814288913 | erot = 0.393045972165166 | epot = -15.113279898853 | etot = -14.642433245259 -223000 ekin = 0.0767549035403158 | erot = 0.368992968905282 | epot = -15.0881811176588 | etot = -14.6424332452132 -224000 ekin = 0.0755095293719617 | erot = 0.348631757026545 | epot = -15.0665745315715 | etot = -14.642433245173 -225000 ekin = 0.0742120885681049 | erot = 0.332437700423087 | epot = -15.0490830341314 | etot = -14.6424332451402 -226000 ekin = 0.0730063028703793 | erot = 0.320776497496347 | epot = -15.0362160454828 | etot = -14.642433245116 -227000 ekin = 0.072023814089001 | erot = 0.313889923623746 | epot = -15.0283469828147 | etot = -14.6424332451019 -228000 ekin = 0.0713769419944288 | erot = 0.311883945242982 | epot = -15.0256941323359 | etot = -14.6424332450985 -229000 ekin = 0.0711526728859999 | erot = 0.314719386436034 | epot = -15.0283053044286 | etot = -14.6424332451066 -230000 ekin = 0.0714080974064536 | erot = 0.322205638587354 | epot = -15.0360469811206 | etot = -14.6424332451268 -231000 ekin = 0.0721675361185164 | erot = 0.333998222200299 | epot = -15.0485990034776 | etot = -14.6424332451587 -232000 ekin = 0.0734216022897964 | erot = 0.349601270465511 | epot = -15.0654561179572 | etot = -14.6424332452019 -233000 ekin = 0.0751284397495126 | erot = 0.368376135876537 | epot = -15.0859378208814 | etot = -14.6424332452553 -234000 ekin = 0.0772173235430297 | erot = 0.389557254435315 | epot = -15.1092078232955 | etot = -14.6424332453172 -235000 ekin = 0.0795947059788122 | erot = 0.412276079792818 | epot = -15.134304031156 | etot = -14.6424332453844 -236000 ekin = 0.0821526186131207 | erot = 0.435593295650776 | epot = -15.1601791597182 | etot = -14.6424332454543 -237000 ekin = 0.0847791014223481 | erot = 0.458538653868279 | epot = -15.1857510008135 | etot = -14.6424332455229 -238000 ekin = 0.0873700423841474 | erot = 0.480156759890556 | epot = -15.2099600478608 | etot = -14.6424332455861 -239000 ekin = 0.0898415153120355 | erot = 0.499556095556555 | epot = -15.2318308565087 | etot = -14.6424332456401 -240000 ekin = 0.0921414623518661 | erot = 0.515957735404873 | epot = -15.250532443438 | etot = -14.6424332456813 -241000 ekin = 0.094259449012787 | erot = 0.528739776890155 | epot = -15.2654324716098 | etot = -14.6424332457068 -242000 ekin = 0.096233280586619 | erot = 0.537473606139462 | epot = -15.276140132441 | etot = -14.6424332457149 -243000 ekin = 0.0981515319325847 | erot = 0.5419487859829 | epot = -15.2825335636204 | etot = -14.642433245705 -244000 ekin = 0.100151482350113 | erot = 0.542184479376325 | epot = -15.2847692074041 | etot = -14.6424332456777 -245000 ekin = 0.102412491094949 | erot = 0.538426702319087 | epot = -15.283272439049 | etot = -14.6424332456349 -246000 ekin = 0.10514539554429 | erot = 0.531132085867033 | epot = -15.2787107269906 | etot = -14.6424332455793 -247000 ekin = 0.108578961411818 | erot = 0.520939994206916 | epot = -15.271952201133 | etot = -14.6424332455143 -248000 ekin = 0.112944688754722 | erot = 0.50863565229477 | epot = -15.2640135864931 | etot = -14.6424332454436 -249000 ekin = 0.118461348905716 | erot = 0.495107336752456 | epot = -15.2560019310293 | etot = -14.6424332453711 -250000 ekin = 0.12532051071417 | erot = 0.481300713195499 | epot = -15.2490544692103 | etot = -14.6424332453007 -251000 ekin = 0.133674056956426 | erot = 0.468173145421963 | epot = -15.2442804476139 | etot = -14.6424332452355 -252000 ekin = 0.143624355874462 | erot = 0.456650355971893 | epot = -15.2427079570251 | etot = -14.6424332451787 -253000 ekin = 0.155217400156355 | erot = 0.447587277163441 | epot = -15.2452379224524 | etot = -14.6424332451326 -254000 ekin = 0.168438906846642 | erot = 0.441734376015304 | epot = -15.2526065279605 | etot = -14.6424332450986 -255000 ekin = 0.183213121646742 | erot = 0.439710227351497 | epot = -15.2653565940763 | etot = -14.642433245078 -256000 ekin = 0.199403908834931 | erot = 0.441980689731482 | epot = -15.283817843638 | etot = -14.6424332450716 -257000 ekin = 0.216817638464837 | erot = 0.448844730303129 | epot = -15.3080956138476 | etot = -14.6424332450796 -258000 ekin = 0.235207399038858 | erot = 0.460426746273211 | epot = -15.3380673904137 | etot = -14.6424332451016 -259000 ekin = 0.254278151369372 | erot = 0.476675120646291 | epot = -15.3733865171527 | etot = -14.642433245137 -260000 ekin = 0.273692576680298 | erot = 0.497366691704061 | epot = -15.4134925135692 | etot = -14.6424332451849 -261000 ekin = 0.293077534076616 | erot = 0.522116767902342 | epot = -15.4576275472227 | etot = -14.6424332452438 -262000 ekin = 0.312031202024067 | erot = 0.550394247117877 | epot = -15.5048586944538 | etot = -14.6424332453119 -263000 ekin = 0.330131107619695 | erot = 0.581541281995867 | epot = -15.5541056350029 | etot = -14.6424332453873 -264000 ekin = 0.346943319973868 | erot = 0.614796773442828 | epot = -15.6041733388843 | etot = -14.6424332454676 -265000 ekin = 0.362033078258367 | erot = 0.649322794992396 | epot = -15.6537891188012 | etot = -14.6424332455505 -266000 ekin = 0.374977027500513 | erot = 0.684232889055324 | epot = -15.7016431621889 | etot = -14.6424332456331 -267000 ekin = 0.385377045185317 | erot = 0.718621072058556 | epot = -15.7464313629566 | etot = -14.6424332457127 -268000 ekin = 0.392875374680224 | erot = 0.75159036946148 | epot = -15.7868989899282 | etot = -14.6424332457865 -269000 ekin = 0.397170471139203 | erot = 0.782279784271994 | epot = -15.8218835012632 | etot = -14.642433245852 -270000 ekin = 0.39803266202809 | erot = 0.80988877167351 | epot = -15.8503546796086 | etot = -14.642433245907 -271000 ekin = 0.395318487598737 | erot = 0.833698516709663 | epot = -15.8714502502579 | etot = -14.6424332459495 -272000 ekin = 0.388982474352171 | erot = 0.853089551908401 | epot = -15.8845052722386 | etot = -14.6424332459781 -273000 ekin = 0.379085147931464 | erot = 0.867555470405014 | epot = -15.8890738643282 | etot = -14.6424332459917 -274000 ekin = 0.365796322193278 | erot = 0.876712662629274 | epot = -15.8849422308128 | etot = -14.6424332459903 -275000 ekin = 0.349393082921568 | erot = 0.880306121913762 | epot = -15.8721324508092 | etot = -14.6424332459739 -276000 ekin = 0.330252358905702 | erot = 0.878211432148943 | epot = -15.8508970369982 | etot = -14.6424332459435 -277000 ekin = 0.308838461220239 | erot = 0.870433084876928 | epot = -15.8217047919976 | etot = -14.6424332459005 -278000 ekin = 0.285686394604133 | erot = 0.857099294885134 | epot = -15.7852189353358 | etot = -14.6424332458465 -279000 ekin = 0.261382042766456 | erot = 0.838453513181018 | epot = -15.7422688017312 | etot = -14.6424332457837 -280000 ekin = 0.236540473325989 | erot = 0.814842890587939 | epot = -15.6938166096284 | etot = -14.6424332457145 -281000 ekin = 0.21178360260805 | erot = 0.78670403285838 | epot = -15.6409208811075 | etot = -14.6424332456411 -282000 ekin = 0.187718337271923 | erot = 0.754546508157667 | epot = -15.5846980909958 | etot = -14.6424332455662 -283000 ekin = 0.164916115090819 | erot = 0.71893470884518 | epot = -15.5262840694281 | etot = -14.6424332454921 -284000 ekin = 0.143894549221734 | erot = 0.680468811939341 | epot = -15.4667966065823 | etot = -14.6424332454212 -285000 ekin = 0.125101678372309 | erot = 0.639765701847639 | epot = -15.4073006255757 | etot = -14.6424332453557 -286000 ekin = 0.108903164107404 | erot = 0.597440790010452 | epot = -15.3487771994147 | etot = -14.6424332452969 -287000 ekin = 0.0955726645551871 | erot = 0.554091668604971 | epot = -15.2920975784065 | etot = -14.6424332452464 -288000 ekin = 0.0852855448006991 | erot = 0.510284456822087 | epot = -15.2380032468277 | etot = -14.6424332452049 -289000 ekin = 0.0781160413102893 | erot = 0.466543535623136 | epot = -15.1870928221065 | etot = -14.6424332451731 -290000 ekin = 0.0740379578618401 | erot = 0.42334512758908 | epot = -15.1398163306018 | etot = -14.6424332451509 -291000 ekin = 0.07292891006337 | erot = 0.381114879437427 | epot = -15.0964770346384 | etot = -14.6424332451376 -292000 ekin = 0.074578035792751 | erot = 0.340229271737877 | epot = -15.0572405526631 | etot = -14.6424332451324 -293000 ekin = 0.0786969407539187 | erot = 0.301020346548478 | epot = -15.0221505324364 | etot = -14.642433245134 -294000 ekin = 0.0849334564702348 | erot = 0.263782947588673 | epot = -14.9911496491996 | etot = -14.6424332451407 -295000 ekin = 0.0928875723607527 | erot = 0.228783448806945 | epot = -14.9641042663184 | etot = -14.6424332451507 -296000 ekin = 0.10212869750719 | erot = 0.19626884038739 | epot = -14.9408307830571 | etot = -14.6424332451625 -297000 ekin = 0.112213252496714 | erot = 0.166475068218874 | epot = -14.92112156589 | etot = -14.6424332451744 -298000 ekin = 0.122701527066799 | erot = 0.139633685446924 | epot = -14.9047684576991 | etot = -14.6424332451854 -299000 ekin = 0.133172792910571 | erot = 0.115976150690183 | epot = -14.8915821887951 | etot = -14.6424332451943 -300000 ekin = 0.14323783970709 | erot = 0.0957354521215423 | epot = -14.8814065370293 | etot = -14.6424332452007 -301000 ekin = 0.152548387988443 | erot = 0.0791450908732833 | epot = -14.8741267240661 | etot = -14.6424332452044 -302000 ekin = 0.16080318429946 | erot = 0.0664357608562006 | epot = -14.8696721903613 | etot = -14.6424332452056 -303000 ekin = 0.167750948486619 | erot = 0.0578302677257533 | epot = -14.868014461417 | etot = -14.6424332452046 -304000 ekin = 0.173190665587062 | erot = 0.0535373136372916 | epot = -14.8691612244265 | etot = -14.6424332452021 -305000 ekin = 0.176969952948875 | erot = 0.053744740290904 | epot = -14.8731479384385 | etot = -14.6424332451987 -306000 ekin = 0.17898236329054 | erot = 0.0586126977876512 | epot = -14.8800283062731 | etot = -14.6424332451949 -307000 ekin = 0.179164502944013 | erot = 0.0682670321056721 | epot = -14.8898647802412 | etot = -14.6424332451915 -308000 ekin = 0.177493763288032 | erot = 0.0827930029186384 | epot = -14.9027200113955 | etot = -14.6424332451889 -309000 ekin = 0.173987301150973 | erot = 0.102229291870626 | epot = -14.9186498382088 | etot = -14.6424332451872 -310000 ekin = 0.168702678647183 | erot = 0.126562162216031 | epot = -14.9376980860501 | etot = -14.6424332451869 -311000 ekin = 0.161740297008921 | erot = 0.155719593406505 | epot = -14.9598931356033 | etot = -14.6424332451879 -312000 ekin = 0.15324744012493 | erot = 0.189565237977707 | epot = -14.985245923293 | etot = -14.6424332451904 -313000 ekin = 0.143423389996968 | erot = 0.227892126760359 | epot = -15.0137487619517 | etot = -14.6424332451944 -314000 ekin = 0.132524706018471 | erot = 0.270416174780379 | epot = -15.0453741259986 | etot = -14.6424332451997 -315000 ekin = 0.120869409552547 | erot = 0.316769708289002 | epot = -15.0800723630487 | etot = -14.6424332452072 -316000 ekin = 0.108838546104732 | erot = 0.3664954379943 | epot = -15.117767229316 | etot = -14.642433245217 -317000 ekin = 0.0968734934277273 | erot = 0.419041536809115 | epot = -15.1583482754667 | etot = -14.6424332452299 -318000 ekin = 0.0854675378549808 | erot = 0.473758725764069 | epot = -15.2016595088657 | etot = -14.6424332452466 -319000 ekin = 0.0751507271451904 | erot = 0.529900497448209 | epot = -15.2474844698619 | etot = -14.6424332452685 -320000 ekin = 0.0664678443364339 | erot = 0.586627760739843 | epot = -15.2955288503729 | etot = -14.6424332452966 -321000 ekin = 0.0599504590563242 | erot = 0.643019202691524 | epot = -15.3454029070797 | etot = -14.6424332453318 -322000 ekin = 0.0560852142799999 | erot = 0.698088453267007 | epot = -15.3966069129217 | etot = -14.6424332453747 -323000 ekin = 0.0552815181248962 | erot = 0.750808639916083 | epot = -15.4485234034659 | etot = -14.6424332454249 -324000 ekin = 0.0578423255205682 | erot = 0.800144112657402 | epot = -15.5004196836594 | etot = -14.6424332454815 -325000 ekin = 0.0639414864634509 | erot = 0.845088070114915 | epot = -15.5514628021208 | etot = -14.6424332455424 -326000 ekin = 0.0736101694210092 | erot = 0.884703689967185 | epot = -15.6007471049934 | etot = -14.6424332456052 -327000 ekin = 0.0867333560897029 | erot = 0.918165419812939 | epot = -15.6473320215696 | etot = -14.642433245667 -328000 ekin = 0.103055779603997 | erot = 0.944796600223848 | epot = -15.6902856255527 | etot = -14.6424332457249 -329000 ekin = 0.122195446170794 | erot = 0.964099781594435 | epot = -15.7287284735416 | etot = -14.6424332457764 -330000 ekin = 0.143662406710256 | erot = 0.975776996237332 | epot = -15.7618726487672 | etot = -14.6424332458196 -331000 ekin = 0.166880785133597 | erot = 0.979738667517973 | epot = -15.7890526985047 | etot = -14.6424332458531 -332000 ekin = 0.191212923969949 | erot = 0.976101405902857 | epot = -15.8097475757491 | etot = -14.6424332458763 -333000 ekin = 0.215985355319607 | erot = 0.965176233539026 | epot = -15.8235948347474 | etot = -14.6424332458887 -334000 ekin = 0.24051665683118 | erot = 0.94744948511249 | epot = -15.8303993878336 | etot = -14.64243324589 -335000 ekin = 0.264146896086271 | erot = 0.923558676868031 | epot = -15.8301388188342 | etot = -14.6424332458799 -336000 ekin = 0.286267467754269 | erot = 0.894265184760613 | epot = -15.8229658983735 | etot = -14.6424332458586 -337000 ekin = 0.306349134750126 | erot = 0.860424939336685 | epot = -15.809207319913 | etot = -14.6424332458262 -338000 ekin = 0.323965497674733 | erot = 0.822957838322781 | epot = -15.7893565817813 | etot = -14.6424332457838 -339000 ekin = 0.338809250789021 | erot = 0.782816380150505 | epot = -15.7640588766724 | etot = -14.6424332457329 -340000 ekin = 0.350699444233775 | erot = 0.74095414130314 | epot = -15.7340868312126 | etot = -14.6424332456757 -341000 ekin = 0.359579293536528 | erot = 0.698295027831883 | epot = -15.7003075669831 | etot = -14.6424332456146 -342000 ekin = 0.365505462154955 | erot = 0.655704542035024 | epot = -15.6636432497426 | etot = -14.6424332455526 -343000 ekin = 0.36863083266141 | erot = 0.613964463465585 | epot = -15.6250285416196 | etot = -14.6424332454926 -344000 ekin = 0.369183369589239 | erot = 0.57375227308083 | epot = -15.5853688881069 | etot = -14.6424332454368 -345000 ekin = 0.367443732824309 | erot = 0.535626361233186 | epot = -15.5455033394448 | etot = -14.6424332453873 -346000 ekin = 0.363723933131786 | erot = 0.500017626276236 | epot = -15.5061748047535 | etot = -14.6424332453455 -347000 ekin = 0.35834870527769 | erot = 0.4672275854273 | epot = -15.468009536017 | etot = -14.642433245312 -348000 ekin = 0.351640582954847 | erot = 0.437432666908131 | epot = -15.4315064951499 | etot = -14.6424332452869 -349000 ekin = 0.34390902469482 | erot = 0.410693986169958 | epot = -15.3970362561344 | etot = -14.6424332452696 -350000 ekin = 0.335443435968795 | erot = 0.386971649880754 | epot = -15.3648483311092 | etot = -14.6424332452597 -351000 ekin = 0.326509584093778 | erot = 0.366142474251534 | epot = -15.3350853036005 | etot = -14.6424332452552 -352000 ekin = 0.317348699022206 | erot = 0.348019930401133 | epot = -15.3078018746784 | etot = -14.642433245255 -353000 ekin = 0.308178466648759 | erot = 0.332375117501959 | epot = -15.2829868294085 | etot = -14.6424332452578 -354000 ekin = 0.299195119854398 | erot = 0.318957598139 | epot = -15.2605859632553 | etot = -14.6424332452619 -355000 ekin = 0.290575888248861 | erot = 0.307515001370351 | epot = -15.2405241348854 | etot = -14.6424332452662 -356000 ekin = 0.282481160312499 | erot = 0.297810406217201 | epot = -15.2227248117992 | etot = -14.6424332452695 -357000 ekin = 0.275055828993794 | erot = 0.289636664277844 | epot = -15.2071257385429 | etot = -14.6424332452713 -358000 ekin = 0.268429427254947 | erot = 0.282827006912201 | epot = -15.1936896794382 | etot = -14.6424332452711 -359000 ekin = 0.262714810201774 | erot = 0.277261507857975 | epot = -15.1824095633287 | etot = -14.642433245269 -360000 ekin = 0.258005302569451 | erot = 0.272869227748628 | epot = -15.1733077755836 | etot = -14.6424332452655 -361000 ekin = 0.2543704006218 | erot = 0.26962613780198 | epot = -15.1664297836851 | etot = -14.6424332452613 -362000 ekin = 0.251850290178673 | erot = 0.267549186087919 | epot = -15.1618327215239 | etot = -14.6424332452573 -363000 ekin = 0.250449609862776 | erot = 0.266687109597444 | epot = -15.159569964715 | etot = -14.6424332452548 -364000 ekin = 0.250131041863364 | erot = 0.267108788857685 | epot = -15.1596730759762 | etot = -14.6424332452551 -365000 ekin = 0.250809442162096 | erot = 0.268890073927981 | epot = -15.1621327613494 | etot = -14.6424332452593 -366000 ekin = 0.252347318763382 | erot = 0.27210007300604 | epot = -15.1668806370379 | etot = -14.6424332452684 -367000 ekin = 0.254552520178544 | erot = 0.276787886819364 | epot = -15.1737736522811 | etot = -14.6424332452832 -368000 ekin = 0.25717899615333 | erot = 0.28297069952372 | epot = -15.1825829409812 | etot = -14.6424332453042 -369000 ekin = 0.259931424908739 | erot = 0.290624011143398 | epot = -15.1929886813831 | etot = -14.642433245331 -370000 ekin = 0.262474349326661 | erot = 0.299674631814961 | epot = -15.2045822265049 | etot = -14.6424332453633 -371000 ekin = 0.264446209428328 | erot = 0.309996869297309 | epot = -15.2168763241252 | etot = -14.6424332453996 -372000 ekin = 0.265478281861457 | erot = 0.321412142686622 | epot = -15.2293236699864 | etot = -14.6424332454383 -373000 ekin = 0.265218028290062 | erot = 0.333692059448684 | epot = -15.2413433332161 | etot = -14.6424332454774 -374000 ekin = 0.263355721247738 | erot = 0.346564809671242 | epot = -15.2523537764331 | etot = -14.6424332455141 -375000 ekin = 0.259652497500791 | erot = 0.359724567998139 | epot = -15.2618103110451 | etot = -14.6424332455462 -376000 ekin = 0.253967268934329 | erot = 0.372843454384676 | epot = -15.2692439688901 | etot = -14.6424332455711 -377000 ekin = 0.246279333497668 | erot = 0.385585491299172 | epot = -15.2742980703837 | etot = -14.6424332455868 -378000 ekin = 0.236703249874173 | erot = 0.397621906702945 | epot = -15.2767584021691 | etot = -14.642433245592 -379000 ekin = 0.225492756940715 | erot = 0.40864706693682 | epot = -15.2765730694637 | etot = -14.6424332455862 -380000 ekin = 0.213031377534926 | erot = 0.418394279001937 | epot = -15.2738589021068 | etot = -14.64243324557 -381000 ekin = 0.199808877311648 | erot = 0.426650676217097 | epot = -15.2688927990735 | etot = -14.6424332455448 -382000 ekin = 0.186384809014953 | erot = 0.433270396060973 | epot = -15.2620884505889 | etot = -14.642433245513 -383000 ekin = 0.173342616140324 | erot = 0.438185279055512 | epot = -15.2539611406731 | etot = -14.6424332454773 -384000 ekin = 0.161239700828068 | erot = 0.441412371407278 | epot = -15.2450853176757 | etot = -14.6424332454403 -385000 ekin = 0.15055995464472 | erot = 0.443057612556829 | epot = -15.2360508126064 | etot = -14.6424332454049 -386000 ekin = 0.141675129696858 | erot = 0.443315241526512 | epot = -15.2274236165962 | etot = -14.6424332453728 -387000 ekin = 0.134820015696242 | erot = 0.442462667351568 | epot = -15.219715928393 | etot = -14.6424332453452 -388000 ekin = 0.130083976412365 | erot = 0.440850813515941 | epot = -15.2133680352507 | etot = -14.6424332453224 -389000 ekin = 0.127418570237209 | erot = 0.438890246280336 | epot = -15.2087420618216 | etot = -14.6424332453041 -390000 ekin = 0.126658423092949 | erot = 0.437033702086702 | epot = -15.2061253704692 | etot = -14.6424332452896 -391000 ekin = 0.127550804261054 | erot = 0.435755902066146 | epot = -15.2057399516053 | etot = -14.6424332452781 -392000 ekin = 0.129788752936042 | erot = 0.435531744058158 | epot = -15.2077537422634 | etot = -14.6424332452692 -393000 ekin = 0.133043055316548 | erot = 0.436814065077171 | epot = -15.2122903656559 | etot = -14.6424332452622 -394000 ekin = 0.13698956146631 | erot = 0.440012156509963 | epot = -15.2194349632336 | etot = -14.6424332452574 -395000 ekin = 0.141329833042578 | erot = 0.445472096884894 | epot = -15.2292351751821 | etot = -14.6424332452547 -396000 ekin = 0.145804542777388 | erot = 0.453459767648299 | epot = -15.2416975556806 | etot = -14.6424332452549 -397000 ekin = 0.150200153188693 | erot = 0.464147173461362 | epot = -15.2567805719085 | etot = -14.6424332452585 -398000 ekin = 0.154350089766171 | erot = 0.477602441558455 | epot = -15.2743857765907 | etot = -14.642433245266 -399000 ekin = 0.158131920622385 | erot = 0.493783661155615 | epot = -15.2943488270562 | etot = -14.6424332452782 -400000 ekin = 0.161462056173815 | erot = 0.512536568006289 | epot = -15.3164318694755 | etot = -14.6424332452954 -401000 ekin = 0.164289301181092 | erot = 0.533595989002424 | epot = -15.3403185355012 | etot = -14.6424332453177 -402000 ekin = 0.166588323050712 | erot = 0.556590928839782 | epot = -15.3656124972355 | etot = -14.642433245345 -403000 ekin = 0.168353810379714 | erot = 0.581053183644432 | epot = -15.3918402394011 | etot = -14.642433245377 -404000 ekin = 0.169595821301209 | erot = 0.606429376023235 | epot = -15.4184584427372 | etot = -14.6424332454128 -405000 ekin = 0.170336578562032 | erot = 0.632096292540657 | epot = -15.444866116554 | etot = -14.6424332454513 -406000 ekin = 0.170608761978825 | erot = 0.65737934451492 | epot = -15.4704213519851 | etot = -14.6424332454913 -407000 ekin = 0.170455178567339 | erot = 0.681573854094692 | epot = -15.4944622781935 | etot = -14.6424332455315 -408000 ekin = 0.169929554809768 | erot = 0.703968692151365 | epot = -15.5163314925311 | etot = -14.64243324557 -409000 ekin = 0.169098093451402 | erot = 0.723871579521667 | epot = -15.5354029185781 | etot = -14.642433245605 -410000 ekin = 0.168041369040766 | erot = 0.740635137248604 | epot = -15.5511097519242 | etot = -14.6424332456348 -411000 ekin = 0.166856102809042 | erot = 0.753682569971378 | epot = -15.5629719184381 | etot = -14.6424332456577 -412000 ekin = 0.165656359033244 | erot = 0.762531725093222 | epot = -15.5706213297988 | etot = -14.6424332456723 -413000 ekin = 0.164573741711754 | erot = 0.766816218739629 | epot = -15.5738232061291 | etot = -14.6424332456777 -414000 ekin = 0.16375624095788 | erot = 0.76630237757158 | epot = -15.5724918642026 | etot = -14.6424332456731 -415000 ekin = 0.163365479945841 | erot = 0.760900920224475 | epot = -15.5666996458289 | etot = -14.6424332456586 -416000 ekin = 0.163572240094564 | erot = 0.750672586698962 | epot = -15.556678072428 | etot = -14.6424332456344 -417000 ekin = 0.164550286199959 | erot = 0.735827297890632 | epot = -15.5428108296923 | etot = -14.6424332456017 -418000 ekin = 0.166468663393417 | erot = 0.716716857299964 | epot = -15.5256187662552 | etot = -14.6424332455618 -419000 ekin = 0.169482781127086 | erot = 0.693821649098622 | epot = -15.5057376757421 | etot = -14.6424332455164 -420000 ekin = 0.173724722667741 | erot = 0.667732191682839 | epot = -15.4838901598183 | etot = -14.6424332454677 -421000 ekin = 0.179293310761204 | erot = 0.639126725581036 | epot = -15.4608532817599 | etot = -14.6424332454176 -422000 ekin = 0.186244514521543 | erot = 0.608746211198846 | epot = -15.4374239710891 | etot = -14.6424332453687 -423000 ekin = 0.19458279814717 | erot = 0.57736816557662 | epot = -15.4143842090468 | etot = -14.642433245323 -424000 ekin = 0.204253993032132 | erot = 0.545780680985193 | epot = -15.3924679192997 | etot = -14.6424332452824 -425000 ekin = 0.215140228919715 | erot = 0.514757766830946 | epot = -15.372331240999 | etot = -14.6424332452483 -426000 ekin = 0.227057395200036 | erot = 0.485036881514114 | epot = -15.3545275219361 | etot = -14.6424332452219 -427000 ekin = 0.239755526228613 | erot = 0.45729922156058 | epot = -15.3394879929935 | etot = -14.6424332452043 -428000 ekin = 0.252922416271937 | erot = 0.432153058133966 | epot = -15.3275087196017 | etot = -14.6424332451958 -429000 ekin = 0.26619066718155 | erot = 0.410120192007268 | epot = -15.318744104385 | etot = -14.6424332451962 -430000 ekin = 0.279148248287638 | erot = 0.391625457761839 | epot = -15.313206951255 | etot = -14.6424332452055 -431000 ekin = 0.291352495295118 | erot = 0.376989149810355 | epot = -15.310774890328 | etot = -14.6424332452226 -432000 ekin = 0.302347287571226 | erot = 0.366422254466054 | epot = -15.3112027872841 | etot = -14.6424332452468 -433000 ekin = 0.311682921771869 | erot = 0.360024429012261 | epot = -15.31414059606 | etot = -14.6424332452759 -434000 ekin = 0.318937954387437 | erot = 0.357784738270616 | epot = -15.3191559379665 | etot = -14.6424332453085 -435000 ekin = 0.323742037714879 | erot = 0.359585207272693 | epot = -15.3257604903309 | etot = -14.6424332453433 -436000 ekin = 0.325798554031361 | erot = 0.365207245305615 | epot = -15.3334390447156 | etot = -14.6424332453787 -437000 ekin = 0.324905697097351 | erot = 0.3743409223498 | epot = -15.3416798648587 | etot = -14.6424332454115 -438000 ekin = 0.320974589858406 | erot = 0.386596930160279 | epot = -15.3500047654589 | etot = -14.6424332454403 -439000 ekin = 0.314043077746411 | erot = 0.401520852185304 | epot = -15.3579971753956 | etot = -14.6424332454639 -440000 ekin = 0.304283988020589 | erot = 0.418609132213777 | epot = -15.3653263657149 | etot = -14.6424332454805 -441000 ekin = 0.292006859111662 | erot = 0.43732591619283 | epot = -15.3717660207935 | etot = -14.642433245489 -442000 ekin = 0.277652365815121 | erot = 0.457119792518649 | epot = -15.3772054038233 | etot = -14.6424332454895 -443000 ekin = 0.261778853590793 | erot = 0.477439412175561 | epot = -15.3816515112488 | etot = -14.6424332454825 -444000 ekin = 0.245040553434287 | erot = 0.497747053376211 | epot = -15.3852208522799 | etot = -14.6424332454694 -445000 ekin = 0.228157260420329 | erot = 0.517529408202232 | epot = -15.3881199140743 | etot = -14.6424332454517 -446000 ekin = 0.21187568172941 | erot = 0.536305196856337 | epot = -15.3906141240179 | etot = -14.6424332454322 -447000 ekin = 0.196923472681482 | erot = 0.553629632753198 | epot = -15.3929863508487 | etot = -14.642433245414 -448000 ekin = 0.183958277880817 | erot = 0.569096233370736 | epot = -15.3954877566523 | etot = -14.6424332454007 -449000 ekin = 0.173515771313228 | erot = 0.5823369471514 | epot = -15.3982859638601 | etot = -14.6424332453955 -450000 ekin = 0.165962361199431 | erot = 0.593021970145669 | epot = -15.4014175767459 | etot = -14.6424332454008 -451000 ekin = 0.161459280835244 | erot = 0.600860851249224 | epot = -15.4047533775022 | etot = -14.6424332454178 -452000 ekin = 0.159944578253892 | erot = 0.605606408076117 | epot = -15.4079842317756 | etot = -14.6424332454456 -453000 ekin = 0.16113765311534 | erot = 0.607062496367839 | epot = -15.410633394965 | etot = -14.6424332454818 -454000 ekin = 0.164567591513356 | erot = 0.605095779305886 | epot = -15.4120966163412 | etot = -14.642433245522 -455000 ekin = 0.169622334209554 | erot = 0.599650455421075 | epot = -15.4117060351916 | etot = -14.642433245561 -456000 ekin = 0.175611802350678 | erot = 0.590763702894336 | epot = -15.4088087508385 | etot = -14.6424332455934 -457000 ekin = 0.18183562198226 | erot = 0.578578749363001 | epot = -15.40284761696 | etot = -14.6424332456148 -458000 ekin = 0.187645727030885 | erot = 0.563352302649156 | epot = -15.3934312753017 | etot = -14.6424332456216 -459000 ekin = 0.192495880384903 | erot = 0.54545371714944 | epot = -15.380382843147 | etot = -14.6424332456127 -460000 ekin = 0.195973381637231 | erot = 0.525354597711837 | epot = -15.3637612249374 | etot = -14.6424332455883 -461000 ekin = 0.19781192099122 | erot = 0.503609203464113 | epot = -15.3438543700065 | etot = -14.6424332455512 -462000 ekin = 0.197887724919132 | erot = 0.48082756028462 | epot = -15.3211485307077 | etot = -14.642433245504 -463000 ekin = 0.196203198485173 | erot = 0.457644248438995 | epot = -15.2962806923752 | etot = -14.642433245451 -464000 ekin = 0.192863034125907 | erot = 0.434686220431767 | epot = -15.2699824999538 | etot = -14.6424332453961 -465000 ekin = 0.188047435822224 | erot = 0.412542760093908 | epot = -15.2430234412587 | etot = -14.6424332453426 -466000 ekin = 0.181986107552777 | erot = 0.391740010674779 | epot = -15.2161593635208 | etot = -14.6424332452933 -467000 ekin = 0.174935400197989 | erot = 0.372721626737635 | epot = -15.1900902721858 | etot = -14.6424332452502 -468000 ekin = 0.167159826102147 | erot = 0.355836258353843 | epot = -15.1654293296706 | etot = -14.6424332452146 -469000 ekin = 0.158918218022594 | erot = 0.341331890767393 | epot = -15.142683353977 | etot = -14.642433245187 -470000 ekin = 0.15045418565321 | erot = 0.329356584635604 | epot = -15.122244015456 | etot = -14.6424332451672 -471000 ekin = 0.141990180749419 | erot = 0.319964871778363 | epot = -15.1043882976826 | etot = -14.6424332451548 -472000 ekin = 0.133724353868213 | erot = 0.313128906246296 | epot = -15.0892865052631 | etot = -14.6424332451486 -473000 ekin = 0.125829398101872 | erot = 0.30875339232503 | epot = -15.0770160355745 | etot = -14.6424332451476 -474000 ekin = 0.118452666363189 | erot = 0.306693264414343 | epot = -15.0675791759279 | etot = -14.6424332451504 -475000 ekin = 0.111716976218893 | erot = 0.306773053291024 | epot = -15.0609232746654 | etot = -14.6424332451555 -476000 ekin = 0.105721655633223 | erot = 0.308806833537924 | epot = -15.0569617343329 | etot = -14.6424332451618 -477000 ekin = 0.100543523675712 | erot = 0.312617617130677 | epot = -15.0555943859742 | etot = -14.6424332451678 -478000 ekin = 0.0962376398644513 | erot = 0.318055055635923 | epot = -15.0567259406731 | etot = -14.6424332451728 -479000 ekin = 0.0928377950023785 | erot = 0.325010357031079 | epot = -15.0602813972093 | etot = -14.6424332451759 -480000 ekin = 0.090356854634411 | erot = 0.33342742776467 | epot = -15.0662175275758 | etot = -14.6424332451768 -481000 ekin = 0.0887871989354817 | erot = 0.343309423711643 | epot = -15.0745298678222 | etot = -14.6424332451751 -482000 ekin = 0.0881016191313876 | erot = 0.354720133059481 | epot = -15.0852549973622 | etot = -14.6424332451713 -483000 ekin = 0.0882551127429665 | erot = 0.367779908275322 | epot = -15.0984682661839 | etot = -14.6424332451656 -484000 ekin = 0.0891880440123839 | erot = 0.382656193510897 | epot = -15.1142774826821 | etot = -14.6424332451588 -485000 ekin = 0.0908310739090705 | erot = 0.399549033149946 | epot = -15.1328133522104 | etot = -14.6424332451514 -486000 ekin = 0.0931120890965814 | erot = 0.418672269927034 | epot = -15.154217604168 | etot = -14.6424332451444 -487000 ekin = 0.095965052636228 | erot = 0.440231422325024 | epot = -15.1786297200999 | etot = -14.6424332451386 -488000 ekin = 0.0993402613831294 | erot = 0.46439945138847 | epot = -15.2061729579066 | etot = -14.642433245135 -489000 ekin = 0.103214957393527 | erot = 0.491291775407073 | epot = -15.2369399779351 | etot = -14.6424332451345 -490000 ekin = 0.107602676592558 | erot = 0.520941965501705 | epot = -15.2709778872323 | etot = -14.6424332451381 -491000 ekin = 0.112559247659628 | erot = 0.553279563920015 | epot = -15.3082720567265 | etot = -14.6424332451469 -492000 ekin = 0.118183136718373 | erot = 0.588111425310959 | epot = -15.3487278071917 | etot = -14.6424332451624 -493000 ekin = 0.124608040121095 | erot = 0.625107908280837 | epot = -15.392149193588 | etot = -14.642433245186 -494000 ekin = 0.131986393307407 | erot = 0.663795156036258 | epot = -15.4382147945633 | etot = -14.6424332452196 -495000 ekin = 0.140463823895335 | erot = 0.703554605722134 | epot = -15.4864516748823 | etot = -14.6424332452649 -496000 ekin = 0.150146408031538 | erot = 0.743630741562818 | epot = -15.5362103949173 | etot = -14.642433245323 -497000 ekin = 0.16106457906771 | erot = 0.783147917316484 | epot = -15.5866457417788 | etot = -14.6424332453946 -498000 ekin = 0.17313921915462 | erot = 0.821136754970969 | epot = -15.6367092196046 | etot = -14.642433245479 -499000 ekin = 0.186156317831562 | erot = 0.856570103854254 | epot = -15.6851596672598 | etot = -14.642433245574 -500000 ekin = 0.199756195068111 | erot = 0.888407758271 | epot = -15.7305971990146 | etot = -14.6424332456755 -501000 ekin = 0.213441517837515 | erot = 0.91564807872929 | epot = -15.7715228423448 | etot = -14.642433245778 -502000 ekin = 0.226605416599129 | erot = 0.937383433645168 | epot = -15.8064220961188 | etot = -14.6424332458745 -503000 ekin = 0.238577508979587 | erot = 0.952855183120512 | epot = -15.833865938058 | etot = -14.6424332459579 -504000 ekin = 0.248682347019072 | erot = 0.961503066783608 | epot = -15.852618659824 | etot = -14.6424332460214 -505000 ekin = 0.256302488972932 | erot = 0.963003656361611 | epot = -15.8617393913938 | etot = -14.6424332460593 -506000 ekin = 0.260937583147984 | erot = 0.957293217915285 | epot = -15.8606640471316 | etot = -14.6424332460684 -507000 ekin = 0.262251679303336 | erot = 0.944571918253111 | epot = -15.849256843604 | etot = -14.6424332460476 -508000 ekin = 0.260103184115659 | erot = 0.925288564928836 | epot = -15.8278249950432 | etot = -14.6424332459987 -509000 ekin = 0.254554875284732 | erot = 0.900107536932193 | epot = -15.7970956581424 | etot = -14.6424332459255 -510000 ekin = 0.245864483352383 | erot = 0.869861717979723 | epot = -15.7581594471658 | etot = -14.6424332458337 -511000 ekin = 0.234458914530911 | erot = 0.835496660120876 | epot = -15.7123888203816 | etot = -14.6424332457298 -512000 ekin = 0.220896820243761 | erot = 0.798011684060442 | epot = -15.6613417499246 | etot = -14.6424332456204 -513000 ekin = 0.205824805091364 | erot = 0.758403224573062 | epot = -15.6066612751764 | etot = -14.642433245512 -514000 ekin = 0.189932244119323 | erot = 0.717614706855288 | epot = -15.5499801963845 | etot = -14.6424332454099 -515000 ekin = 0.17390874820257 | erot = 0.676495918867881 | epot = -15.4928379123889 | etot = -14.6424332453184 -516000 ekin = 0.158407108511426 | erot = 0.635773516021008 | epot = -15.4366138697731 | etot = -14.6424332452406 -517000 ekin = 0.14401335018595 | erot = 0.596033149114218 | epot = -15.3824797444788 | etot = -14.6424332451787 -518000 ekin = 0.131224514119687 | erot = 0.557712825685522 | epot = -15.3313705849381 | etot = -14.6424332451329 -519000 ekin = 0.120434042407135 | erot = 0.521106495594791 | epot = -15.283973783105 | etot = -14.6424332451031 -520000 ekin = 0.111924165177655 | erot = 0.486376443197342 | epot = -15.2407338534629 | etot = -14.6424332450879 -521000 ekin = 0.105864424816476 | erot = 0.453572806058521 | epot = -15.2018704759605 | etot = -14.6424332450855 -522000 ekin = 0.102315362067652 | erot = 0.422658367130085 | epot = -15.1674069742913 | etot = -14.6424332450936 -523000 ekin = 0.101236366465111 | erot = 0.393536647096003 | epot = -15.1372062586706 | etot = -14.6424332451095 -524000 ekin = 0.102496717236374 | erot = 0.366081244307575 | epot = -15.1110112066745 | etot = -14.6424332451305 -525000 ekin = 0.105888887335369 | erot = 0.340164343214287 | epot = -15.0884864757035 | etot = -14.6424332451539 -526000 ekin = 0.111143247849981 | erot = 0.315682368378401 | epot = -15.069258861406 | etot = -14.6424332451776 -527000 ekin = 0.117943398961218 | erot = 0.292576937806713 | epot = -15.0529535819675 | etot = -14.6424332451996 -528000 ekin = 0.12594147425438 | erot = 0.270849598243415 | epot = -15.0392243177162 | etot = -14.6424332452184 -529000 ekin = 0.134772916008765 | erot = 0.250569317238797 | epot = -15.0277754784806 | etot = -14.642433245233 -530000 ekin = 0.144070383401974 | erot = 0.231872340651149 | epot = -15.0183759692965 | etot = -14.6424332452434 -531000 ekin = 0.15347660196879 | erot = 0.214954741433796 | epot = -15.0108645886522 | etot = -14.6424332452496 -532000 ekin = 0.162656054077 | erot = 0.200058697647209 | epot = -15.0051479969762 | etot = -14.642433245252 -533000 ekin = 0.171305419079586 | erot = 0.187454143182299 | epot = -15.0011928075133 | etot = -14.6424332452514 -534000 ekin = 0.179162595538566 | erot = 0.177417842692211 | epot = -14.9990136834797 | etot = -14.6424332452489 -535000 ekin = 0.186014006484961 | erot = 0.170212094440673 | epot = -14.9986593461708 | etot = -14.6424332452451 -536000 ekin = 0.191699759238903 | erot = 0.166065149224394 | epot = -15.0001981537044 | etot = -14.6424332452411 -537000 ekin = 0.196116169930247 | erot = 0.165155084977408 | epot = -15.003704500145 | etot = -14.6424332452374 -538000 ekin = 0.199215220532698 | erot = 0.16759836456926 | epot = -15.0092468303366 | etot = -14.6424332452346 -539000 ekin = 0.201000709668931 | erot = 0.173443713615155 | epot = -15.0168776685175 | etot = -14.6424332452334 -540000 ekin = 0.201521164037735 | erot = 0.182671367030103 | epot = -15.0266257763018 | etot = -14.642433245234 -541000 ekin = 0.200859940141597 | erot = 0.195197211440054 | epot = -15.0384903968184 | etot = -14.6424332452368 -542000 ekin = 0.199123298889485 | erot = 0.210880936221537 | epot = -15.0524374803529 | etot = -14.6424332452419 -543000 ekin = 0.196427519384797 | erot = 0.229537017788178 | epot = -15.0683977824221 | etot = -14.6424332452491 -544000 ekin = 0.192886294946265 | erot = 0.250947202002037 | epot = -15.0862667422075 | etot = -14.6424332452592 -545000 ekin = 0.188599710888657 | erot = 0.274873110236047 | epot = -15.105906066396 | etot = -14.6424332452713 -546000 ekin = 0.183646045244013 | erot = 0.301067663120938 | epot = -15.1271469536504 | etot = -14.6424332452855 -547000 ekin = 0.178077473819967 | erot = 0.329284179376605 | epot = -15.1497948984979 | etot = -14.6424332453014 -548000 ekin = 0.171920510268461 | erot = 0.359282253787744 | epot = -15.1736360093748 | etot = -14.6424332453186 -549000 ekin = 0.165181670578861 | erot = 0.390829837836081 | epot = -15.1984447537512 | etot = -14.6424332453363 -550000 ekin = 0.157858408655945 | erot = 0.423701326923182 | epot = -15.2239929809331 | etot = -14.642433245354 -551000 ekin = 0.149954809005839 | erot = 0.457671882722358 | epot = -15.2500599370991 | etot = -14.6424332453709 -552000 ekin = 0.141500835822421 | erot = 0.492508662666581 | epot = -15.2764427438753 | etot = -14.6424332453863 -553000 ekin = 0.132573145480449 | erot = 0.527960055130409 | epot = -15.3029664460102 | etot = -14.6424332453994 -554000 ekin = 0.123314645146745 | erot = 0.563744383275535 | epot = -15.3294922738321 | etot = -14.6424332454099 -555000 ekin = 0.113949270900184 | erot = 0.599539792629149 | epot = -15.3559223089468 | etot = -14.6424332454175 -556000 ekin = 0.104788088804101 | erot = 0.634977129568617 | epot = -15.3821984637955 | etot = -14.6424332454228 -557000 ekin = 0.096223065473816 | erot = 0.669637513728817 | epot = -15.4082938246293 | etot = -14.6424332454266 -558000 ekin = 0.0887059614381205 | erot = 0.703055990484285 | epot = -15.4341951973531 | etot = -14.6424332454307 -559000 ekin = 0.0827118847691962 | erot = 0.734732129427077 | epot = -15.4598772596334 | etot = -14.6424332454371 -560000 ekin = 0.0786899547209169 | erot = 0.764147748401263 | epot = -15.4852709485701 | etot = -14.6424332454479 -561000 ekin = 0.0770067720584255 | erot = 0.790791153077886 | epot = -15.5102311706012 | etot = -14.6424332454649 -562000 ekin = 0.0778911706718282 | erot = 0.814186471630634 | epot = -15.5345108877914 | etot = -14.6424332454889 -563000 ekin = 0.0813901113631115 | erot = 0.83392592548433 | epot = -15.557749282367 | etot = -14.6424332455196 -564000 ekin = 0.0873448530183196 | erot = 0.849702302566903 | epot = -15.57948040114 | etot = -14.6424332455547 -565000 ekin = 0.0953935152513145 | erot = 0.861338569498428 | epot = -15.5991653303408 | etot = -14.6424332455911 -566000 ekin = 0.105001366117329 | erot = 0.868811531658717 | epot = -15.6162461434001 | etot = -14.642433245624 -567000 ekin = 0.115514789209051 | erot = 0.872266750929858 | epot = -15.6302147857878 | etot = -14.6424332456489 -568000 ekin = 0.126230320989268 | erot = 0.872022546763063 | epot = -15.6406861134137 | etot = -14.6424332456614 -569000 ekin = 0.136467575204541 | erot = 0.868561781940356 | epot = -15.6474626028035 | etot = -14.6424332456586 -570000 ekin = 0.14563482322856 | erot = 0.862511177265558 | epot = -15.6505792461336 | etot = -14.6424332456395 -571000 ekin = 0.153278250259509 | erot = 0.854608991359196 | epot = -15.6503204872237 | etot = -14.642433245605 -572000 ekin = 0.159109636953315 | erot = 0.84566291861986 | epot = -15.6472058011309 | etot = -14.6424332455578 -573000 ekin = 0.163011362016618 | erot = 0.836500892323047 | epot = -15.6419454998422 | etot = -14.6424332455025 -574000 ekin = 0.165021239079159 | erot = 0.827918058208187 | epot = -15.635372542732 | etot = -14.6424332454446 -575000 ekin = 0.165302195907322 | erot = 0.820623479706763 | epot = -15.6283589210038 | etot = -14.6424332453898 -576000 ekin = 0.164102988099574 | erot = 0.815190165400983 | epot = -15.621726398844 | etot = -14.6424332453435 -577000 ekin = 0.161716152385172 | erot = 0.812011817945883 | epot = -15.6161612156416 | etot = -14.6424332453106 -578000 ekin = 0.158438569369477 | erot = 0.811269345695122 | epot = -15.6121411603591 | etot = -14.6424332452945 -579000 ekin = 0.154538688866709 | erot = 0.812909695780285 | epot = -15.6098816299442 | etot = -14.6424332452972 -580000 ekin = 0.150232988451571 | erot = 0.816638977240369 | epot = -15.609305211011 | etot = -14.642433245319 -581000 ekin = 0.145672809811868 | erot = 0.821931135408533 | epot = -15.6100371905791 | etot = -14.6424332453587 -582000 ekin = 0.140941476788303 | erot = 0.828052590347458 | epot = -15.6114273125488 | etot = -14.6424332454131 -583000 ekin = 0.136060602595946 | erot = 0.834102246892096 | epot = -15.6125960949662 | etot = -14.6424332454781 -584000 ekin = 0.131003759893458 | erot = 0.839065139153303 | epot = -15.6125021445952 | etot = -14.6424332455484 -585000 ekin = 0.12571521648007 | erot = 0.841876757443486 | epot = -15.6100252195418 | etot = -14.6424332456182 -586000 ekin = 0.120131224766287 | erot = 0.841493945660819 | epot = -15.6040584161085 | etot = -14.6424332456814 -587000 ekin = 0.11420138056985 | erot = 0.836967317747627 | epot = -15.5936019440499 | etot = -14.6424332457324 -588000 ekin = 0.107907808224915 | erot = 0.827509595977126 | epot = -15.5778506499685 | etot = -14.6424332457665 -589000 ekin = 0.101280337908428 | erot = 0.812554260667712 | epot = -15.5562678443564 | etot = -14.6424332457802 -590000 ekin = 0.0944063548781052 | erot = 0.791799488415071 | epot = -15.5286390890649 | etot = -14.6424332457717 -591000 ekin = 0.0874345511050671 | erot = 0.765233519218362 | epot = -15.4951013160642 | etot = -14.6424332457407 -592000 ekin = 0.0805723392089649 | erot = 0.733139214280964 | epot = -15.4561447991789 | etot = -14.642433245689 -593000 ekin = 0.0740771594091136 | erot = 0.696077455345172 | epot = -15.4125878603738 | etot = -14.6424332456195 -594000 ekin = 0.0682423089615399 | erot = 0.654850963355347 | epot = -15.3655265178539 | etot = -14.642433245537 -595000 ekin = 0.0633782539034779 | erot = 0.610451848321571 | epot = -15.3162633476718 | etot = -14.6424332454467 -596000 ekin = 0.0597906540673611 | erot = 0.563997548399802 | epot = -15.2662214478219 | etot = -14.6424332453547 -597000 ekin = 0.0577565493650921 | erot = 0.516660644083595 | epot = -15.2168504387157 | etot = -14.642433245267 -598000 ekin = 0.0575003158564784 | erot = 0.469598294353525 | epot = -15.1695318553992 | etot = -14.6424332451892 -599000 ekin = 0.0591710965315349 | erot = 0.423886769451421 | epot = -15.125491111109 | etot = -14.6424332451261 -600000 ekin = 0.0628234356919278 | erot = 0.380465849282147 | epot = -15.0857225300552 | etot = -14.6424332450811 -601000 ekin = 0.0684027903404539 | erot = 0.340096852289996 | epot = -15.0509328876871 | etot = -14.6424332450566 -602000 ekin = 0.0757374499151871 | erot = 0.303336891509908 | epot = -15.0215075864782 | etot = -14.6424332450531 -603000 ekin = 0.0845381560125591 | erot = 0.27053072625361 | epot = -14.9975021273357 | etot = -14.6424332450695 -604000 ekin = 0.0944063594091915 | erot = 0.241820347964647 | epot = -14.9786599524771 | etot = -14.6424332451032 -605000 ekin = 0.104851562461362 | erot = 0.217171224792199 | epot = -14.9644560324035 | etot = -14.64243324515 -606000 ekin = 0.115317556390045 | erot = 0.196412930357212 | epot = -14.9541637319514 | etot = -14.6424332452042 -607000 ekin = 0.125216580352904 | erot = 0.179290709848448 | epot = -14.9469405354612 | etot = -14.6424332452598 -608000 ekin = 0.133969542489652 | erot = 0.165523445158619 | epot = -14.9419262329586 | etot = -14.6424332453103 -609000 ekin = 0.141049537027137 | erot = 0.154862582265986 | epot = -14.9383453646425 | etot = -14.6424332453493 -610000 ekin = 0.146025095174201 | erot = 0.147146040889238 | epot = -14.9356043814352 | etot = -14.6424332453717 -611000 ekin = 0.148599079333767 | erot = 0.142341118194411 | epot = -14.933373442902 | etot = -14.6424332453738 -612000 ekin = 0.148639027540153 | erot = 0.140571068728021 | epot = -14.9316433416219 | etot = -14.6424332453538 -613000 ekin = 0.146195193891304 | erot = 0.142121441396014 | epot = -14.9307498805999 | etot = -14.6424332453126 -614000 ekin = 0.141503544703229 | erot = 0.147424293659367 | epot = -14.931361083616 | etot = -14.6424332452534 -615000 ekin = 0.134972482668101 | erot = 0.157020849768253 | epot = -14.9344265776178 | etot = -14.6424332451814 -616000 ekin = 0.127153892886448 | erot = 0.171505679771477 | epot = -14.9410928177618 | etot = -14.6424332451039 -617000 ekin = 0.118700960496736 | erot = 0.191457667913385 | epot = -14.9525918734389 | etot = -14.6424332450288 -618000 ekin = 0.110316794782069 | erot = 0.217364584488849 | epot = -14.9701146242352 | etot = -14.6424332449643 -619000 ekin = 0.10269894266683 | erot = 0.249548776230041 | epot = -14.9946809638151 | etot = -14.6424332449182 -620000 ekin = 0.0964852203328795 | erot = 0.288101317489107 | epot = -15.0270197827187 | etot = -14.6424332448967 -621000 ekin = 0.0922059091544532 | erot = 0.332831044362015 | epot = -15.0674701984206 | etot = -14.6424332449041 -622000 ekin = 0.0902463647123495 | erot = 0.38323345185745 | epot = -15.1159130615123 | etot = -14.6424332449425 -623000 ekin = 0.0908226920728683 | erot = 0.438482716260395 | epot = -15.1717386533448 | etot = -14.6424332450115 -624000 ekin = 0.093971606254935 | erot = 0.497448307332334 | epot = -15.2338531586955 | etot = -14.6424332451083 -625000 ekin = 0.0995541611253139 | erot = 0.558735886776706 | epot = -15.3007232931298 | etot = -14.6424332452277 -626000 ekin = 0.107271859328534 | erot = 0.620750477448395 | epot = -15.3704555821401 | etot = -14.6424332453632 -627000 ekin = 0.116692826740249 | erot = 0.681778220893157 | epot = -15.4409042931398 | etot = -14.6424332455064 -628000 ekin = 0.127285245275924 | erot = 0.740081431761873 | epot = -15.5097999226864 | etot = -14.6424332456486 -629000 ekin = 0.138455039155856 | erot = 0.794000196763613 | epot = -15.5748884817005 | etot = -14.642433245781 -630000 ekin = 0.149584842938721 | erot = 0.842052640234425 | epot = -15.6340707290684 | etot = -14.6424332458952 -631000 ekin = 0.160071499854236 | erot = 0.883025442873649 | epot = -15.6855301887126 | etot = -14.6424332459847 -632000 ekin = 0.169359720293564 | erot = 0.91604650342356 | epot = -15.7278394697617 | etot = -14.6424332460446 -633000 ekin = 0.176970053692923 | erot = 0.940632922939441 | epot = -15.7600362227046 | etot = -14.6424332460723 -634000 ekin = 0.182519961289934 | erot = 0.956709735134031 | epot = -15.7816629424917 | etot = -14.6424332460677 -635000 ekin = 0.185737466035253 | erot = 0.964597760207907 | epot = -15.7927684722764 | etot = -14.6424332460332 -636000 ekin = 0.18646751930257 | erot = 0.964972204259268 | epot = -15.793872969535 | etot = -14.6424332459731 -637000 ekin = 0.184671774603444 | erot = 0.958796660380516 | epot = -15.7859016808771 | etot = -14.6424332458931 -638000 ekin = 0.18042282577675 | erot = 0.947239527077747 | epot = -15.7700955986542 | etot = -14.6424332457997 -639000 ekin = 0.173894119063336 | erot = 0.931581224201453 | epot = -15.7479085889647 | etot = -14.6424332456999 -640000 ekin = 0.165346701826116 | erot = 0.913120838758794 | epot = -15.7209007861851 | etot = -14.6424332456002 -641000 ekin = 0.155113786101916 | erot = 0.89309006009493 | epot = -15.690637091703 | etot = -14.6424332455061 -642000 ekin = 0.143583869242389 | erot = 0.87258071031098 | epot = -15.6585978249756 | etot = -14.6424332454222 -643000 ekin = 0.131182953687747 | erot = 0.852490168058439 | epot = -15.6261063670979 | etot = -14.6424332453517 -644000 ekin = 0.118356305759423 | erot = 0.833486853993461 | epot = -15.5942764050496 | etot = -14.6424332452967 -645000 ekin = 0.105550209083462 | erot = 0.815995971214927 | epot = -15.5639794255562 | etot = -14.6424332452578 -646000 ekin = 0.0931942744180316 | erot = 0.800204061932273 | epot = -15.5358315815851 | etot = -14.6424332452348 -647000 ekin = 0.0816850001788887 | erot = 0.786079744440846 | epot = -15.5101979898461 | etot = -14.6424332452264 -648000 ekin = 0.0713713598428991 | erot = 0.773407243192036 | epot = -15.4872118482655 | etot = -14.6424332452306 -649000 ekin = 0.0625431628711377 | erot = 0.761828976528719 | epot = -15.4668053846447 | etot = -14.6424332452448 -650000 ekin = 0.0554227735500933 | erot = 0.75089345341146 | epot = -15.4487494722279 | etot = -14.6424332452664 -651000 ekin = 0.0501605027659751 | erot = 0.740104978445454 | epot = -15.4326987265037 | etot = -14.6424332452922 -652000 ekin = 0.0468336713668763 | erot = 0.728972100417424 | epot = -15.4182390171038 | etot = -14.6424332453195 -653000 ekin = 0.0454490492582802 | erot = 0.717052285941716 | epot = -15.4049345805454 | etot = -14.6424332453455 -654000 ekin = 0.0459481524955786 | erot = 0.703990869780758 | epot = -15.392372267644 | etot = -14.6424332453677 -655000 ekin = 0.0482147495301334 | erot = 0.689552835103776 | epot = -15.3802008300181 | etot = -14.6424332453842 -656000 ekin = 0.0520838761279773 | erot = 0.673646332746782 | epot = -15.3681634542682 | etot = -14.6424332453934 -657000 ekin = 0.0573516620866903 | erot = 0.656337023113106 | epot = -15.3561219305943 | etot = -14.6424332453945 -658000 ekin = 0.0637853134946501 | erot = 0.637852348217965 | epot = -15.3440709070998 | etot = -14.6424332453872 -659000 ekin = 0.071132670288702 | erot = 0.618574815847019 | epot = -15.3321407315078 | etot = -14.6424332453721 -660000 ekin = 0.0791308828115974 | erot = 0.599023454708769 | epot = -15.3205875828708 | etot = -14.6424332453504 -661000 ekin = 0.0875139366244701 | erot = 0.579822939748188 | epot = -15.3097701216973 | etot = -14.6424332453246 -662000 ekin = 0.0960190004205403 | erot = 0.561660610348952 | epot = -15.3001128560671 | etot = -14.6424332452976 -663000 ekin = 0.104391848885285 | erot = 0.545232746056431 | epot = -15.2920578402148 | etot = -14.642433245273 -664000 ekin = 0.112391863389559 | erot = 0.531182949320054 | epot = -15.2860080579644 | etot = -14.6424332452547 -665000 ekin = 0.119797262719833 | erot = 0.520037124798717 | epot = -15.2822676327648 | etot = -14.6424332452462 -666000 ekin = 0.126411190061272 | erot = 0.512141060962375 | epot = -15.2809854962742 | etot = -14.6424332452505 -667000 ekin = 0.132069035722133 | erot = 0.507607681730257 | epot = -15.2821099627219 | etot = -14.6424332452695 -668000 ekin = 0.136646914538578 | erot = 0.50628131575487 | epot = -15.2853614755967 | etot = -14.6424332453033 -669000 ekin = 0.14007061600892 | erot = 0.507725566171504 | epot = -15.290229427531 | etot = -14.6424332453506 -670000 ekin = 0.142323740902298 | erot = 0.511239425097736 | epot = -15.2959964114079 | etot = -14.6424332454078 -671000 ekin = 0.143453306298631 | erot = 0.515903234043245 | epot = -15.3017897858122 | etot = -14.6424332454703 -672000 ekin = 0.143571012728183 | erot = 0.520652256715692 | epot = -15.3066565149759 | etot = -14.642433245532 -673000 ekin = 0.142848733833163 | erot = 0.524371563353989 | epot = -15.309653542774 | etot = -14.6424332455869 -674000 ekin = 0.141507613274597 | erot = 0.526002362927265 | epot = -15.3099432218308 | etot = -14.6424332456289 -675000 ekin = 0.139801302823325 | erot = 0.52464762902093 | epot = -15.3068821774981 | etot = -14.6424332456538 -676000 ekin = 0.137995095209364 | erot = 0.51966443903789 | epot = -15.3000927799057 | etot = -14.6424332456584 -677000 ekin = 0.136343677284965 | erot = 0.510732098514629 | epot = -15.2895090214414 | etot = -14.6424332456418 -678000 ekin = 0.135070664123434 | erot = 0.497888575253593 | epot = -15.275392484982 | etot = -14.6424332456049 -679000 ekin = 0.134352810446671 | erot = 0.481532294130257 | epot = -15.2583183501274 | etot = -14.6424332455504 -680000 ekin = 0.134310862658399 | erot = 0.462390968603737 | epot = -15.2391350767444 | etot = -14.6424332454823 -681000 ekin = 0.135007638926426 | erot = 0.441462941784009 | epot = -15.2189038261157 | etot = -14.6424332454053 -682000 ekin = 0.136452461528327 | erot = 0.419938865037714 | epot = -15.1988245718906 | etot = -14.6424332453245 -683000 ekin = 0.138609887401881 | erot = 0.399112293315981 | epot = -15.180155425963 | etot = -14.6424332452451 -684000 ekin = 0.141410065652151 | erot = 0.380287181763355 | epot = -15.1641304925875 | etot = -14.642433245172 -685000 ekin = 0.144758102725857 | erot = 0.364688846300657 | epot = -15.1518801941363 | etot = -14.6424332451098 -686000 ekin = 0.148540467122566 | erot = 0.353383275615777 | epot = -15.1443569878012 | etot = -14.6424332450628 -687000 ekin = 0.152627512101214 | erot = 0.347208212231946 | epot = -15.1422689693676 | etot = -14.6424332450344 -688000 ekin = 0.156872371009962 | erot = 0.34671840827179 | epot = -15.1460240243092 | etot = -14.6424332450275 -689000 ekin = 0.161107527975645 | erot = 0.352146941115415 | epot = -15.1556877141346 | etot = -14.6424332450435 -690000 ekin = 0.165141087380615 | erot = 0.363384304941253 | epot = -15.1709586374049 | etot = -14.642433245083 -691000 ekin = 0.16875504264815 | erot = 0.379976931154794 | epot = -15.1911652189476 | etot = -14.6424332451446 -692000 ekin = 0.171707649701913 | erot = 0.401146558394978 | epot = -15.2152874533223 | etot = -14.6424332452254 -693000 ekin = 0.173741393440548 | erot = 0.425831232784737 | epot = -15.242005871546 | etot = -14.6424332453207 -694000 ekin = 0.174597110621582 | erot = 0.452747528135183 | epot = -15.2697778841809 | etot = -14.6424332454241 -695000 ekin = 0.174033757468543 | erot = 0.480471830916593 | epot = -15.2969388339132 | etot = -14.6424332455281 -696000 ekin = 0.171852263360719 | erot = 0.507536398151815 | epot = -15.3218219071368 | etot = -14.6424332456242 -697000 ekin = 0.167921065286729 | erot = 0.532533688686105 | epot = -15.3428879996772 | etot = -14.6424332457043 -698000 ekin = 0.162200409472839 | erot = 0.554220619917834 | epot = -15.3588542751518 | etot = -14.6424332457611 -699000 ekin = 0.154762415711639 | erot = 0.571613361020687 | epot = -15.368809022521 | etot = -14.6424332457887 -700000 ekin = 0.145804230005146 | erot = 0.584063387080839 | epot = -15.3723008628696 | etot = -14.6424332457836 -701000 ekin = 0.13565226955545 | erot = 0.591306922714551 | epot = -15.3693924380152 | etot = -14.6424332457452 -702000 ekin = 0.124756460204928 | erot = 0.593482464342697 | epot = -15.3606721702232 | etot = -14.6424332456756 -703000 ekin = 0.113674325949402 | erot = 0.59111440185125 | epot = -15.3472219733801 | etot = -14.6424332455794 -704000 ekin = 0.103045675944469 | erot = 0.585064323191519 | epot = -15.3305432445998 | etot = -14.6424332454638 -705000 ekin = 0.0935593581959462 | erot = 0.576454826530277 | epot = -15.3124474300635 | etot = -14.6424332453373 -706000 ekin = 0.0859140824288432 | erot = 0.566573150252908 | epot = -15.2949204778911 | etot = -14.6424332452093 -707000 ekin = 0.0807756759568232 | erot = 0.55676342760618 | epot = -15.279972348653 | etot = -14.64243324509 -708000 ekin = 0.0787333622616465 | erot = 0.54831685528832 | epot = -15.2694834625381 | etot = -14.6424332449882 -709000 ekin = 0.0802577669172614 | erot = 0.542368667951201 | epot = -15.2650596797804 | etot = -14.642433244912 -710000 ekin = 0.0856633545554371 | erot = 0.539809747046566 | epot = -15.2679063464696 | etot = -14.6424332448676 -711000 ekin = 0.0950778519056249 | erot = 0.541219180888583 | epot = -15.2787302776533 | etot = -14.642433244859 -712000 ekin = 0.108420876625254 | erot = 0.546822307908553 | epot = -15.2976764294217 | etot = -14.6424332448878 -713000 ekin = 0.125393451698048 | erot = 0.556476834654628 | epot = -15.3243035313057 | etot = -14.642433244953 -714000 ekin = 0.145479367624672 | erot = 0.569687600116107 | epot = -15.3576002127918 | etot = -14.642433245051 -715000 ekin = 0.167958541120004 | erot = 0.585648522299775 | epot = -15.396040308596 | etot = -14.6424332451762 -716000 ekin = 0.191931735854258 | erot = 0.603308292528111 | epot = -15.4376732737035 | etot = -14.6424332453212 -717000 ekin = 0.216355400179739 | erot = 0.621454592033966 | epot = -15.4802432376909 | etot = -14.6424332454772 -718000 ekin = 0.240085056513045 | erot = 0.638810139728873 | epot = -15.5213284418766 | etot = -14.6424332456347 -719000 ekin = 0.261925698577652 | erot = 0.654132895984068 | epot = -15.5584918403458 | etot = -14.6424332457841 -720000 ekin = 0.280687969313521 | erot = 0.666312379865826 | epot = -15.5894335950958 | etot = -14.6424332459165 -721000 ekin = 0.295249345590636 | erot = 0.674454385927398 | epot = -15.6121369775414 | etot = -14.6424332460234 -722000 ekin = 0.304619886334687 | erot = 0.677947410255859 | epot = -15.6250005426882 | etot = -14.6424332460976 -723000 ekin = 0.308011983728321 | erot = 0.676505724572276 | epot = -15.6269509544342 | etot = -14.6424332461336 -724000 ekin = 0.304912667284023 | erot = 0.670186105902545 | epot = -15.6175320193137 | etot = -14.6424332461272 -725000 ekin = 0.295155116710468 | erot = 0.659377522493427 | epot = -15.5969658852801 | etot = -14.6424332460762 -726000 ekin = 0.278983134898227 | erot = 0.644765363163313 | epot = -15.5661817440425 | etot = -14.6424332459809 -727000 ekin = 0.257098790791736 | erot = 0.62727386036856 | epot = -15.5268058970048 | etot = -14.6424332458445 -728000 ekin = 0.230680158271606 | erot = 0.607992016186632 | epot = -15.4811054201315 | etot = -14.6424332456733 -729000 ekin = 0.201354496272774 | erot = 0.58808946404084 | epot = -15.4318772057915 | etot = -14.6424332454779 -730000 ekin = 0.171114103975002 | erot = 0.568729214722098 | epot = -15.3822765639698 | etot = -14.6424332452727 -731000 ekin = 0.142168923907796 | erot = 0.550984135076758 | epot = -15.33558630406 | etot = -14.6424332450754 -732000 ekin = 0.116742007096204 | erot = 0.535763349049472 | epot = -15.2949386010509 | etot = -14.6424332449052 -733000 ekin = 0.096829302753487 | erot = 0.523753647326654 | epot = -15.2630161948605 | etot = -14.6424332447804 -734000 ekin = 0.0839596135584424 | erot = 0.515379592342729 | epot = -15.2417724506162 | etot = -14.642433244715 -735000 ekin = 0.0789983701762927 | erot = 0.510784464199122 | epot = -15.2322160790918 | etot = -14.6424332447164 -736000 ekin = 0.0820355551920711 | erot = 0.509832642268435 | epot = -15.2343014422439 | etot = -14.6424332447834 -737000 ekin = 0.0923827123854171 | erot = 0.512132550856583 | epot = -15.2469485081483 | etot = -14.6424332449063 -738000 ekin = 0.108680448513047 | erot = 0.517077971027771 | epot = -15.2681916646097 | etot = -14.6424332450689 -739000 ekin = 0.12909371568261 | erot = 0.523904364926295 | epot = -15.2954313258598 | etot = -14.6424332452509 -740000 ekin = 0.151555277793257 | erot = 0.531755895778738 | epot = -15.325744419004 | etot = -14.642433245432 -741000 ekin = 0.174012721805987 | erot = 0.539758083452137 | epot = -15.3562040508521 | etot = -14.642433245594 -742000 ekin = 0.194640916830775 | erot = 0.54709054969783 | epot = -15.3841647122517 | etot = -14.6424332457231 -743000 ekin = 0.211995737397994 | erot = 0.55305412533586 | epot = -15.4074831085444 | etot = -14.6424332458105 -744000 ekin = 0.225100508722061 | erot = 0.557126762308091 | epot = -15.4246605168829 | etot = -14.6424332458528 -745000 ekin = 0.233469424485911 | erot = 0.559003260237678 | epot = -15.4349059305744 | etot = -14.6424332458508 -746000 ekin = 0.237079913464194 | erot = 0.558614810498956 | epot = -15.4381279697723 | etot = -14.6424332458091 -747000 ekin = 0.236308652984083 | erot = 0.556125790082259 | epot = -15.4348676888015 | etot = -14.6424332457352 -748000 ekin = 0.231845097887127 | erot = 0.551907079329901 | epot = -15.4261854228554 | etot = -14.6424332456383 -749000 ekin = 0.224593843483487 | erot = 0.5464873600296 | epot = -15.4135144490423 | etot = -14.6424332455292 -750000 ekin = 0.215574369391546 | erot = 0.540486233484958 | epot = -15.3984938482955 | etot = -14.6424332454189 -751000 ekin = 0.20582458342619 | erot = 0.53453535676443 | epot = -15.3827931855088 | etot = -14.6424332453181 -752000 ekin = 0.196313335741677 | erot = 0.52919581521799 | epot = -15.3679423961961 | etot = -14.6424332452364 -753000 ekin = 0.187866475787172 | erot = 0.524881252730799 | epot = -15.3551809736992 | etot = -14.6424332451812 -754000 ekin = 0.181110613625732 | erot = 0.521796491095835 | epot = -15.3453403498786 | etot = -14.642433245157 -755000 ekin = 0.176438042203831 | erot = 0.519900210804112 | epot = -15.338771498173 | etot = -14.6424332451651 -756000 ekin = 0.173994962646518 | erot = 0.518897676281033 | epot = -15.3353258841305 | etot = -14.642433245203 -757000 ekin = 0.173693190270087 | erot = 0.518265706177492 | epot = -15.3343921417126 | etot = -14.642433245265 -758000 ekin = 0.175243155014324 | erot = 0.517307659815626 | epot = -15.3349840601728 | etot = -14.6424332453429 -759000 ekin = 0.178203703092592 | erot = 0.515231902157781 | epot = -15.3358688506772 | etot = -14.6424332454268 -760000 ekin = 0.182042463548471 | erot = 0.511243837941775 | epot = -15.335719546997 | etot = -14.6424332455067 -761000 ekin = 0.186199747761037 | erot = 0.504639825540337 | epot = -15.3332728188748 | etot = -14.6424332455734 -762000 ekin = 0.190149235945093 | erot = 0.494891409026847 | epot = -15.3274738905913 | etot = -14.6424332456194 -763000 ekin = 0.193449921094621 | erot = 0.481710238280717 | epot = -15.3175934050151 | etot = -14.6424332456397 -764000 ekin = 0.195785552426502 | erot = 0.465087294345954 | epot = -15.3033060924046 | etot = -14.6424332456321 -765000 ekin = 0.196989678184887 | erot = 0.445303873487528 | epot = -15.2847267972695 | etot = -14.6424332455971 -766000 ekin = 0.19705591918301 | erot = 0.42291544028873 | epot = -15.2624046050093 | etot = -14.6424332455375 -767000 ekin = 0.196134076494091 | erot = 0.398712320920873 | epot = -15.2372796428729 | etot = -14.642433245458 -768000 ekin = 0.194513096652852 | erot = 0.373662938957262 | epot = -15.2106092809747 | etot = -14.6424332453646 -769000 ekin = 0.192592017627679 | erot = 0.348845887485153 | epot = -15.1838711503774 | etot = -14.6424332452645 -770000 ekin = 0.190840163686972 | erot = 0.325376840212764 | epot = -15.1586502490652 | etot = -14.6424332451654 -771000 ekin = 0.1897483972283 | erot = 0.304335529901141 | epot = -15.1365171722047 | etot = -14.6424332450753 -772000 ekin = 0.189774341851613 | erot = 0.286697153922667 | epot = -15.1189047407758 | etot = -14.6424332450016 -773000 ekin = 0.191286034501537 | erot = 0.27327185783823 | epot = -15.1069911372904 | etot = -14.6424332449506 -774000 ekin = 0.194510000609521 | erot = 0.264655458971911 | epot = -15.1015987045092 | etot = -14.6424332449277 -775000 ekin = 0.199490639679884 | erot = 0.261194193157477 | epot = -15.1031180777726 | etot = -14.6424332449353 -776000 ekin = 0.206067477066043 | erot = 0.262965803936856 | epot = -15.1114665259764 | etot = -14.6424332449735 -777000 ekin = 0.213875019086207 | erot = 0.269778568413728 | epot = -15.1260868325396 | etot = -14.6424332450396 -778000 ekin = 0.222366868965229 | erot = 0.281188790676708 | epot = -15.1459889047703 | etot = -14.6424332451284 -779000 ekin = 0.230862102269011 | erot = 0.296535944175866 | epot = -15.1698312916772 | etot = -14.6424332452323 -780000 ekin = 0.238608567019495 | erot = 0.314993169090641 | epot = -15.1960349814528 | etot = -14.6424332453427 -781000 ekin = 0.244855557741785 | erot = 0.335629445234115 | epot = -15.2229182484261 | etot = -14.6424332454502 -782000 ekin = 0.248927612478623 | erot = 0.357478674283284 | epot = -15.2488395323078 | etot = -14.6424332455459 -783000 ekin = 0.250291897529631 | erot = 0.379610269023857 | epot = -15.2723354121756 | etot = -14.6424332456221 -784000 ekin = 0.248613283253181 | erot = 0.401195731117766 | epot = -15.2922422600437 | etot = -14.6424332456728 -785000 ekin = 0.243793133450733 | erot = 0.421566090460907 | epot = -15.3077924696054 | etot = -14.6424332456938 -786000 ekin = 0.235989501852441 | erot = 0.440255905200996 | epot = -15.3186786527368 | etot = -14.6424332456834 -787000 ekin = 0.225617610784245 | erot = 0.457030673426574 | epot = -15.3250815298531 | etot = -14.6424332456423 -788000 ekin = 0.213330260901315 | erot = 0.471895861690424 | epot = -15.3276593681654 | etot = -14.6424332455737 -789000 ekin = 0.199978499676675 | erot = 0.485087183877963 | epot = -15.3274989290377 | etot = -14.6424332454831 -790000 ekin = 0.186553834702789 | erot = 0.497043141238414 | epot = -15.326030221319 | etot = -14.6424332453778 -791000 ekin = 0.174114766792182 | erot = 0.508362048566067 | epot = -15.3249100606251 | etot = -14.6424332452668 -792000 ekin = 0.163702420431755 | erot = 0.519746739177836 | epot = -15.3258824047693 | etot = -14.6424332451597 -793000 ekin = 0.156252224966481 | erot = 0.531940822987091 | epot = -15.3306262930197 | etot = -14.6424332450661 -794000 ekin = 0.152510350035455 | erot = 0.545660777313313 | epot = -15.3406043723436 | etot = -14.6424332449949 -795000 ekin = 0.152964251159066 | erot = 0.561528326979781 | epot = -15.3569258230916 | etot = -14.6424332449528 -796000 ekin = 0.15779574735844 | erot = 0.580007578777105 | epot = -15.3802365710801 | etot = -14.6424332449446 -797000 ekin = 0.16686245785925 | erot = 0.601351255568902 | epot = -15.4106469584001 | etot = -14.6424332449719 -798000 ekin = 0.179709603433403 | erot = 0.625560121844854 | epot = -15.447702970312 | etot = -14.6424332450337 -799000 ekin = 0.19560996606243 | erot = 0.652359247175797 | epot = -15.4904024583644 | etot = -14.6424332451262 -800000 ekin = 0.213626158791752 | erot = 0.681194021872627 | epot = -15.5372534259076 | etot = -14.6424332452433 -801000 ekin = 0.232687040193831 | erot = 0.711247726385194 | epot = -15.5863680119562 | etot = -14.6424332453772 -802000 ekin = 0.251669429106228 | erot = 0.741480919834361 | epot = -15.6355835944599 | etot = -14.6424332455193 -803000 ekin = 0.269477067858276 | erot = 0.770691008419008 | epot = -15.6826013219375 | etot = -14.6424332456602 -804000 ekin = 0.285110541457411 | erot = 0.797588259155916 | epot = -15.7251320464043 | etot = -14.642433245791 -805000 ekin = 0.297723982505673 | erot = 0.820882528796815 | epot = -15.7610397572057 | etot = -14.6424332459032 -806000 ekin = 0.30666638768647 | erot = 0.839373432910558 | epot = -15.7884730665871 | etot = -14.6424332459901 -807000 ekin = 0.311506975554916 | erot = 0.852035914442971 | epot = -15.8059761360442 | etot = -14.6424332460463 -808000 ekin = 0.312045176252063 | erot = 0.858093398525486 | epot = -15.8125718208464 | etot = -14.6424332460689 -809000 ekin = 0.30830664238606 | erot = 0.857071970756237 | epot = -15.8078118591993 | etot = -14.642433246057 -810000 ekin = 0.300527220558558 | erot = 0.848831113926852 | epot = -15.7917915804976 | etot = -14.6424332460122 -811000 ekin = 0.28912720441781 | erot = 0.833569138620822 | epot = -15.7651295889765 | etot = -14.6424332459379 -812000 ekin = 0.2746784275983 | erot = 0.811804116492284 | epot = -15.7289157899297 | etot = -14.6424332458392 -813000 ekin = 0.257866835579241 | erot = 0.784333459542523 | epot = -15.684633540844 | etot = -14.6424332457223 -814000 ekin = 0.23945308058914 | erot = 0.752176980196793 | epot = -15.63406330638 | etot = -14.6424332455941 -815000 ekin = 0.220233415146368 | erot = 0.716509170267457 | epot = -15.5791758308754 | etot = -14.6424332454616 -816000 ekin = 0.20100275104127 | erot = 0.678586569749112 | epot = -15.5220225661217 | etot = -14.6424332453314 -817000 ekin = 0.182521261074943 | erot = 0.639675603866084 | epot = -15.4646301101505 | etot = -14.6424332452094 -818000 ekin = 0.165485401522765 | erot = 0.600985363832454 | epot = -15.4089040104563 | etot = -14.642433245101 -819000 ekin = 0.150503789775692 | erot = 0.563608719249991 | epot = -15.3565457540359 | etot = -14.6424332450102 -820000 ekin = 0.138078032174242 | erot = 0.528474068972577 | epot = -15.308985346087 | etot = -14.6424332449401 -821000 ekin = 0.128588386726507 | erot = 0.496309093117288 | epot = -15.2673307247366 | etot = -14.6424332448928 -822000 ekin = 0.122284066133886 | erot = 0.467617125514411 | epot = -15.2323344365174 | etot = -14.6424332448691 -823000 ekin = 0.119278020922195 | erot = 0.44266622847641 | epot = -15.2043774942678 | etot = -14.6424332448692 -824000 ekin = 0.119546158602377 | erot = 0.42149068273525 | epot = -15.1834700862294 | etot = -14.6424332448917 -825000 ekin = 0.122931110514134 | erot = 0.403904342219283 | epot = -15.1692686976682 | etot = -14.6424332449348 -826000 ekin = 0.129150803764817 | erot = 0.389525074994505 | epot = -15.1611091237546 | etot = -14.6424332449952 -827000 ekin = 0.137812176400569 | erot = 0.377809252264071 | epot = -15.158054673734 | etot = -14.6424332450694 -828000 ekin = 0.148430331610645 | erot = 0.368094906955542 | epot = -15.1589584837187 | etot = -14.6424332451525 -829000 ekin = 0.160453205764771 | erot = 0.359651737504109 | epot = -15.162538188508 | etot = -14.6424332452391 -830000 ekin = 0.173291382900576 | erot = 0.351735589536987 | epot = -15.1674602177612 | etot = -14.6424332453236 -831000 ekin = 0.186352012967387 | erot = 0.343644456321394 | epot = -15.172429714689 | etot = -14.6424332454002 -832000 ekin = 0.199074924610329 | erot = 0.334772487912646 | epot = -15.1762806579866 | etot = -14.6424332454636 -833000 ekin = 0.210968084885631 | erot = 0.324658115180747 | epot = -15.1780594455754 | etot = -14.6424332455091 -834000 ekin = 0.221638757262098 | erot = 0.313022323434907 | epot = -15.1770943262305 | etot = -14.6424332455335 -835000 ekin = 0.230816330006855 | erot = 0.299793483319955 | epot = -15.1730430588624 | etot = -14.6424332455356 -836000 ekin = 0.238363132178622 | erot = 0.285116039954994 | epot = -15.1659124176498 | etot = -14.6424332455161 -837000 ekin = 0.244270841534611 | erot = 0.269341751254713 | epot = -15.1560458382673 | etot = -14.642433245478 -838000 ekin = 0.248642320238308 | erot = 0.253003904099878 | epot = -15.144079469764 | etot = -14.6424332454258 -839000 ekin = 0.25166156932901 | erot = 0.236776758984113 | epot = -15.1308715736783 | etot = -14.6424332453652 -840000 ekin = 0.253557306828157 | erot = 0.221424057159315 | epot = -15.11741460929 | etot = -14.6424332453026 -841000 ekin = 0.254567562695185 | erot = 0.207741475742172 | epot = -15.1047422836805 | etot = -14.6424332452432 -842000 ekin = 0.254912814680605 | erot = 0.196498262353501 | epot = -15.0938443222254 | etot = -14.6424332451913 -843000 ekin = 0.254783130761291 | erot = 0.18838292178676 | epot = -15.0855992976977 | etot = -14.6424332451496 -844000 ekin = 0.254340789692194 | erot = 0.183956927272137 | epot = -15.0807309620835 | etot = -14.6424332451192 -845000 ekin = 0.253734932885203 | erot = 0.183619247980828 | epot = -15.0797874259659 | etot = -14.6424332450999 -846000 ekin = 0.253120504189253 | erot = 0.187583282240151 | epot = -15.0831370315206 | etot = -14.6424332450911 -847000 ekin = 0.25267165008145 | erot = 0.195866742639383 | epot = -15.0909716378134 | etot = -14.6424332450925 -848000 ekin = 0.252580915304042 | erot = 0.208294222463338 | epot = -15.1033083828718 | etot = -14.6424332451044 -849000 ekin = 0.25303996684305 | erot = 0.224511555531943 | epot = -15.1199847675022 | etot = -14.6424332451272 -850000 ekin = 0.254204001794731 | erot = 0.244010590097857 | epot = -15.1406478370545 | etot = -14.6424332451619 -851000 ekin = 0.256148339024686 | erot = 0.26616256360269 | epot = -15.1647441478359 | etot = -14.6424332452085 -852000 ekin = 0.258829686440298 | erot = 0.290257858698357 | epot = -15.1915207904045 | etot = -14.6424332452658 -853000 ekin = 0.262064657830092 | erot = 0.315549558168062 | epot = -15.2200474613289 | etot = -14.6424332453308 -854000 ekin = 0.265534116125796 | erot = 0.341297947737011 | epot = -15.2492653092615 | etot = -14.6424332453987 -855000 ekin = 0.268815174658096 | erot = 0.366813004431933 | epot = -15.2780614245538 | etot = -14.6424332454637 -856000 ekin = 0.271435486960135 | erot = 0.391492007902975 | epot = -15.3053607403827 | etot = -14.6424332455196 -857000 ekin = 0.272939108069148 | erot = 0.414849750475493 | epot = -15.3302221041057 | etot = -14.642433245561 -858000 ekin = 0.272951155046116 | erot = 0.43653939069067 | epot = -15.3519237913208 | etot = -14.642433245584 -859000 ekin = 0.271229880682587 | erot = 0.456362750062525 | epot = -15.3700258763315 | etot = -14.6424332455864 -860000 ekin = 0.267698633839444 | erot = 0.474269718464337 | epot = -15.3844015978728 | etot = -14.642433245569 -861000 ekin = 0.262455001757546 | erot = 0.490347316011832 | epot = -15.395235563303 | etot = -14.6424332455336 -862000 ekin = 0.255758797180207 | erot = 0.504799761303166 | epot = -15.4029918039675 | etot = -14.6424332454841 -863000 ekin = 0.248003564343611 | erot = 0.517921532816755 | epot = -15.4083583425855 | etot = -14.6424332454251 -864000 ekin = 0.23967765558561 | erot = 0.530065823507455 | epot = -15.4121767244549 | etot = -14.6424332453618 -865000 ekin = 0.23132088944464 | erot = 0.541610953537996 | epot = -15.4153650882815 | etot = -14.6424332452989 -866000 ekin = 0.223481813674061 | erot = 0.552927233335028 | epot = -15.41884229225 | etot = -14.6424332452409 -867000 ekin = 0.216679174488308 | erot = 0.564346499434596 | epot = -15.4234589191144 | etot = -14.6424332451915 -868000 ekin = 0.211369750013263 | erot = 0.576136138940125 | epot = -15.4299391341069 | etot = -14.6424332451535 -869000 ekin = 0.207923502302183 | erot = 0.588478941151671 | epot = -15.4388356885827 | etot = -14.6424332451288 -870000 ekin = 0.206606152993329 | erot = 0.601459626889461 | epot = -15.4504990250012 | etot = -14.6424332451184 -871000 ekin = 0.207568796750739 | erot = 0.615058451103504 | epot = -15.4650604929769 | etot = -14.6424332451226 -872000 ekin = 0.210843969893675 | erot = 0.629151875756264 | epot = -15.4824290907906 | etot = -14.6424332451407 -873000 ekin = 0.216347593110829 | erot = 0.643519970829237 | epot = -15.5023008091114 | etot = -14.6424332451714 -874000 ekin = 0.223886305134919 | erot = 0.657859909725313 | epot = -15.5241794600729 | etot = -14.6424332452126 -875000 ekin = 0.233169807544942 | erot = 0.671804662204777 | epot = -15.5474077150118 | etot = -14.6424332452621 -876000 ekin = 0.243827877956003 | erot = 0.684945735793168 | epot = -15.5712068590658 | etot = -14.6424332453167 -877000 ekin = 0.255431632539201 | erot = 0.696858567347312 | epot = -15.5947234452596 | etot = -14.6424332453731 -878000 ekin = 0.267518408507603 | erot = 0.707128927381253 | epot = -15.6170805813169 | etot = -14.642433245428 -879000 ekin = 0.279619300254697 | erot = 0.715378495713559 | epot = -15.6374310414462 | etot = -14.642433245478 -880000 ekin = 0.291287955017646 | erot = 0.721287639191614 | epot = -15.6550088397293 | etot = -14.64243324552 -881000 ekin = 0.30212877846337 | erot = 0.724613422803328 | epot = -15.6691754468184 | etot = -14.6424332455517 -882000 ekin = 0.31182230406922 | erot = 0.725201068169744 | epot = -15.6794566178103 | etot = -14.6424332455713 -883000 ekin = 0.32014524378975 | erot = 0.722987481097383 | epot = -15.6855659704652 | etot = -14.6424332455781 -884000 ekin = 0.326982762202525 | erot = 0.71799612015275 | epot = -15.6874121279281 | etot = -14.6424332455729 -885000 ekin = 0.332330882217529 | erot = 0.710323349666018 | epot = -15.6850874774407 | etot = -14.6424332455572 -886000 ekin = 0.336287673337269 | erot = 0.700117442970509 | epot = -15.6788383618419 | etot = -14.6424332455341 -887000 ekin = 0.339032964158867 | erot = 0.687552454431532 | epot = -15.6690186640977 | etot = -14.6424332455073 -888000 ekin = 0.340797654552277 | erot = 0.672800100940224 | epot = -15.6560310009735 | etot = -14.642433245481 -889000 ekin = 0.341825106167264 | erot = 0.656003407097172 | epot = -15.6402617587239 | etot = -14.6424332454594 -890000 ekin = 0.34232834758349 | erot = 0.637256013160967 | epot = -15.6220176061905 | etot = -14.642433245446 -891000 ekin = 0.342447730500064 | erot = 0.616590618565621 | epot = -15.6014715945091 | etot = -14.6424332454435 -892000 ekin = 0.342214057419122 | erot = 0.593979026502071 | epot = -15.5786263293741 | etot = -14.6424332454529 -893000 ekin = 0.341522004916641 | erot = 0.569344767729577 | epot = -15.55330001812 | etot = -14.6424332454737 -894000 ekin = 0.34011793412299 | erot = 0.54258751991292 | epot = -15.5251386995396 | etot = -14.6424332455037 -895000 ekin = 0.337605044786632 | erot = 0.513616778977975 | epot = -15.4936550693037 | etot = -14.6424332455391 -896000 ekin = 0.333467462875063 | erot = 0.48239077517222 | epot = -15.4582914836221 | etot = -14.6424332455748 -897000 ekin = 0.327113397523359 | erot = 0.44895570900175 | epot = -15.4185023521299 | etot = -14.6424332456048 -898000 ekin = 0.31793601762133 | erot = 0.413480165458452 | epot = -15.3738494287026 | etot = -14.6424332456228 -899000 ekin = 0.305389123796087 | erot = 0.376280077469223 | epot = -15.3241024468879 | etot = -14.6424332456226 -900000 ekin = 0.289072881395307 | erot = 0.337830752319189 | epot = -15.2693368793129 | etot = -14.6424332455984 -901000 ekin = 0.268822686259832 | erot = 0.298764046957366 | epot = -15.2100199787633 | etot = -14.6424332455461 -902000 ekin = 0.244791653969177 | erot = 0.259850521117947 | epot = -15.1470754205501 | etot = -14.642433245463 -903000 ekin = 0.217514571462771 | erot = 0.2219680472104 | epot = -15.0819158640225 | etot = -14.6424332453494 -904000 ekin = 0.187939204411673 | erot = 0.186059692012536 | epot = -15.0164321416331 | etot = -14.6424332452089 -905000 ekin = 0.157410847731541 | erot = 0.153084564883788 | epot = -14.9529286576644 | etot = -14.642433245049 -906000 ekin = 0.127599356271593 | erot = 0.123965703545267 | epot = -14.8939983046982 | etot = -14.6424332448813 -907000 ekin = 0.100365589130959 | erot = 0.0995389863896934 | epot = -14.8423378202412 | etot = -14.6424332447206 -908000 ekin = 0.0775759855948257 | erot = 0.0805066337401618 | epot = -14.800515863918 | etot = -14.642433244583 -909000 ekin = 0.060887695003573 | erot = 0.0673982354567931 | epot = -14.7707191749444 | etot = -14.642433244484 -910000 ekin = 0.051538292299 | erot = 0.0605415547707063 | epot = -14.7545130915056 | etot = -14.6424332444358 -911000 ekin = 0.0501789452911415 | erot = 0.060044698962114 | epot = -14.7526568886979 | etot = -14.6424332444447 -912000 ekin = 0.0567846925755186 | erot = 0.0657906450223113 | epot = -14.7650085821073 | etot = -14.6424332445095 -913000 ekin = 0.0706603747974273 | erot = 0.0774445361857558 | epot = -14.7905381556057 | etot = -14.6424332446226 -914000 ekin = 0.0905398584141984 | erot = 0.0944735694284727 | epot = -14.8274466726133 | etot = -14.6424332447706 -915000 ekin = 0.114756144633711 | erot = 0.116178630204803 | epot = -14.8733680197762 | etot = -14.6424332449377 -916000 ekin = 0.141447043407485 | erot = 0.141736093135474 | epot = -14.9256163816503 | etot = -14.6424332451073 -917000 ekin = 0.168758535424653 | erot = 0.170247440484187 | epot = -14.9814392211744 | etot = -14.6424332452655 -918000 ekin = 0.195014913443802 | erot = 0.200793639363233 | epot = -15.0382417982084 | etot = -14.6424332454014 -919000 ekin = 0.218837422087009 | erot = 0.232490666330172 | epot = -15.093761333925 | etot = -14.6424332455079 -920000 ekin = 0.239206641026131 | erot = 0.26454226708574 | epot = -15.1461821536939 | etot = -14.642433245582 -921000 ekin = 0.255474577150064 | erot = 0.296286050795975 | epot = -15.1941938735697 | etot = -14.6424332456236 -922000 ekin = 0.267338631216169 | erot = 0.327229363199175 | epot = -15.2370012400502 | etot = -14.6424332456349 -923000 ekin = 0.274791412213632 | erot = 0.357072039931877 | epot = -15.2742966977651 | etot = -14.6424332456196 -924000 ekin = 0.278059017514887 | erot = 0.385714059427459 | epot = -15.3062063225249 | etot = -14.6424332455826 -925000 ekin = 0.277537405166048 | erot = 0.413247220090753 | epot = -15.333217870786 | etot = -14.6424332455292 -926000 ekin = 0.273733135235252 | erot = 0.439931173657219 | epot = -15.3560975543576 | etot = -14.6424332454651 -927000 ekin = 0.267211859637779 | erot = 0.466155363878472 | epot = -15.3758004689124 | etot = -14.6424332453961 -928000 ekin = 0.25855584753175 | erot = 0.492389553499223 | epot = -15.3933786463589 | etot = -14.6424332453279 -929000 ekin = 0.248330567887068 | erot = 0.519126582978688 | epot = -15.4098903961314 | etot = -14.6424332452656 -930000 ekin = 0.237059747160937 | erot = 0.54682171162893 | epot = -15.426314704004 | etot = -14.6424332452141 -931000 ekin = 0.225208144800282 | erot = 0.575833282920741 | epot = -15.4434746728982 | etot = -14.6424332451772 -932000 ekin = 0.213171319360079 | erot = 0.606369490848937 | epot = -15.4619740553667 | etot = -14.6424332451577 -933000 ekin = 0.20127172299004 | erot = 0.63844569037598 | epot = -15.4821506585232 | etot = -14.6424332451571 -934000 ekin = 0.189760460104316 | erot = 0.671856006696139 | epot = -15.5040497119762 | etot = -14.6424332451757 -935000 ekin = 0.178823941832674 | erot = 0.70616199658427 | epot = -15.527419183629 | etot = -14.6424332452121 -936000 ekin = 0.168594479109506 | erot = 0.740699865834002 | epot = -15.5517275902073 | etot = -14.6424332452638 -937000 ekin = 0.159163635629787 | erot = 0.774606336202774 | epot = -15.5762032171595 | etot = -14.6424332453269 -938000 ekin = 0.15059697191027 | erot = 0.806861786792913 | epot = -15.5998920041001 | etot = -14.6424332453969 -939000 ekin = 0.14294871162838 | erot = 0.836347883523471 | epot = -15.6217298406203 | etot = -14.6424332454684 -940000 ekin = 0.136274889167807 | erot = 0.861915676025906 | epot = -15.6406238107299 | etot = -14.6424332455362 -941000 ekin = 0.130643703196332 | erot = 0.882459199117971 | epot = -15.6555361479093 | etot = -14.642433245595 -942000 ekin = 0.126142088158943 | erot = 0.89698906517013 | epot = -15.6655643989695 | etot = -14.6424332456404 -943000 ekin = 0.122877886109216 | erot = 0.904700444357472 | epot = -15.6700115761356 | etot = -14.6424332456689 -944000 ekin = 0.120977407411876 | erot = 0.905030230236174 | epot = -15.6684408833264 | etot = -14.6424332456784 -945000 ekin = 0.120578563691194 | erot = 0.897699054745601 | epot = -15.6607108641049 | etot = -14.6424332456681 -946000 ekin = 0.121820103594628 | erot = 0.88273507092903 | epot = -15.6469884201622 | etot = -14.6424332456386 -947000 ekin = 0.124827761130735 | erot = 0.860477935597424 | epot = -15.6277389423202 | etot = -14.642433245592 -948000 ekin = 0.129698334170688 | erot = 0.831563037039339 | epot = -15.6036946167418 | etot = -14.6424332455318 -949000 ekin = 0.136482857560386 | erot = 0.796887554723775 | epot = -15.5758036577462 | etot = -14.6424332454621 -950000 ekin = 0.145170138933456 | erot = 0.757561255989872 | epot = -15.5451646403111 | etot = -14.6424332453878 -951000 ekin = 0.155672002997282 | erot = 0.714845916095117 | epot = -15.5129511644064 | etot = -14.642433245314 -952000 ekin = 0.167811650838071 | erot = 0.67008783325117 | epot = -15.480332729335 | etot = -14.6424332452457 -953000 ekin = 0.1813165794726 | erot = 0.62464809521225 | epot = -15.4483979198723 | etot = -14.6424332451874 -954000 ekin = 0.19581750070188 | erot = 0.57983508069521 | epot = -15.4180858265396 | etot = -14.6424332451425 -955000 ekin = 0.21085460687665 | erot = 0.536843219767247 | epot = -15.3901310717574 | etot = -14.6424332451135 -956000 ekin = 0.225892299836444 | erot = 0.496701376788955 | epot = -15.3650269217267 | etot = -14.6424332451013 -957000 ekin = 0.240343066496815 | erot = 0.460233438090351 | epot = -15.3430097496926 | etot = -14.6424332451055 -958000 ekin = 0.253600493836713 | erot = 0.428032849889673 | epot = -15.3240665888504 | etot = -14.642433245124 -959000 ekin = 0.26508043374484 | erot = 0.400452005453744 | epot = -15.3079656843521 | etot = -14.6424332451535 -960000 ekin = 0.274268068126469 | erot = 0.3776065494438 | epot = -15.2943078627599 | etot = -14.6424332451896 -961000 ekin = 0.280767177999005 | erot = 0.359393861243336 | epot = -15.2825942844696 | etot = -14.6424332452273 -962000 ekin = 0.284346484058609 | erot = 0.345524198810109 | epot = -15.2723039281299 | etot = -14.6424332452611 -963000 ekin = 0.284976816085041 | erot = 0.335562232322697 | epot = -15.2629722936944 | etot = -14.6424332452867 -964000 ekin = 0.282852494243525 | erot = 0.32897598649065 | epot = -15.2542617260345 | etot = -14.6424332453003 -965000 ekin = 0.278391086611735 | erot = 0.325189577593081 | epot = -15.2460139095051 | etot = -14.6424332453002 -966000 ekin = 0.272207924676681 | erot = 0.32363564014577 | epot = -15.2382768101091 | etot = -14.6424332452866 -967000 ekin = 0.265065367869008 | erot = 0.323803079983236 | epot = -15.2313016931137 | etot = -14.6424332452614 -968000 ekin = 0.25780129371369 | erot = 0.325275872287489 | epot = -15.2255104112296 | etot = -14.6424332452284 -969000 ekin = 0.251245661475409 | erot = 0.327759142573897 | epot = -15.2214380492417 | etot = -14.6424332451924 -970000 ekin = 0.246137008995692 | erot = 0.331089781179722 | epot = -15.2196600353337 | etot = -14.6424332451582 -971000 ekin = 0.243051319619915 | erot = 0.335230325664632 | epot = -15.2207148904151 | etot = -14.6424332451306 -972000 ekin = 0.242353409643559 | erot = 0.340246678804852 | epot = -15.2250333335614 | etot = -14.642433245113 -973000 ekin = 0.244176338167963 | erot = 0.346272190711359 | epot = -15.2328817739871 | etot = -14.6424332451077 -974000 ekin = 0.248428661663719 | erot = 0.353462430362792 | epot = -15.2443243371426 | etot = -14.6424332451161 -975000 ekin = 0.254824314808527 | erot = 0.361946299431624 | epot = -15.2592038593783 | etot = -14.6424332451381 -976000 ekin = 0.262926848825399 | erot = 0.371779749930863 | epot = -15.2771398439293 | etot = -14.6424332451731 -977000 ekin = 0.272199235334822 | erot = 0.382908123264924 | epot = -15.2975406038191 | etot = -14.6424332452194 -978000 ekin = 0.282052066854486 | erot = 0.395142048097982 | epot = -15.3196273602273 | etot = -14.6424332452748 -979000 ekin = 0.291885751915432 | erot = 0.408150081471576 | epot = -15.3424690787237 | etot = -14.6424332453367 -980000 ekin = 0.301125083790032 | erot = 0.421469125222411 | epot = -15.365027454414 | etot = -14.6424332454016 -981000 ekin = 0.309246535916151 | erot = 0.434531423655712 | epot = -15.3862112050375 | etot = -14.6424332454657 -982000 ekin = 0.315799497488435 | erot = 0.446704965615556 | epot = -15.4049377086287 | etot = -14.6424332455247 -983000 ekin = 0.320422573217695 | erot = 0.457342632742344 | epot = -15.4201984515349 | etot = -14.6424332455749 -984000 ekin = 0.322855465254384 | erot = 0.465834622597573 | epot = -15.4311233334643 | etot = -14.6424332456124 -985000 ekin = 0.322946302470594 | erot = 0.471658590972097 | epot = -15.4370381390772 | etot = -14.6424332456345 -986000 ekin = 0.32065391780096 | erot = 0.47442255658858 | epot = -15.437509720029 | etot = -14.6424332456394 -987000 ekin = 0.316044627357463 | erot = 0.473896755513782 | epot = -15.432374628498 | etot = -14.6424332456268 -988000 ekin = 0.309283477264372 | erot = 0.470032116943487 | epot = -15.421748839805 | etot = -14.6424332455972 -989000 ekin = 0.300620522165357 | erot = 0.462964620620384 | epot = -15.4060183883382 | etot = -14.6424332455525 -990000 ekin = 0.290373280688083 | erot = 0.453006262993474 | epot = -15.3858127891769 | etot = -14.6424332454953 -991000 ekin = 0.27890691570339 | erot = 0.440624526217875 | epot = -15.3619646873503 | etot = -14.642433245429 -992000 ekin = 0.266613826413786 | erot = 0.426413006889876 | epot = -15.3354600786606 | etot = -14.642433245357 -993000 ekin = 0.253894212446129 | erot = 0.411056197523116 | epot = -15.3073836552521 | etot = -14.6424332452828 -994000 ekin = 0.241138837000641 | erot = 0.3952913723868 | epot = -15.2788634545973 | etot = -14.6424332452098 -995000 ekin = 0.228714768908433 | erot = 0.379870207853254 | epot = -15.2510182219026 | etot = -14.6424332451409 -996000 ekin = 0.216954417472708 | erot = 0.365522282704992 | epot = -15.2249099452563 | etot = -14.6424332450786 -997000 ekin = 0.206147766459094 | erot = 0.352922066135596 | epot = -15.2015030776196 | etot = -14.6424332450249 -998000 ekin = 0.196537413161582 | erot = 0.342660495987547 | epot = -15.1816311541306 | etot = -14.6424332449815 -999000 ekin = 0.188315843917336 | erot = 0.335221830001114 | epot = -15.1659709188676 | etot = -14.6424332449491 -1000000 ekin = 0.1816243230724 | erot = 0.33096613964385 | epot = -15.155023707645 | etot = -14.6424332449287 - 1000000 0.013453654 -1.5270261 0.011523695 -1.4973399 -8.4815516e-05 -Loop time of 15.696 on 1 procs for 1000000 steps with 10 atoms - -Performance: 55045.770 tau/day, 63710.382 timesteps/s -99.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 | 11.973 | 11.973 | 11.973 | 0.0 | 76.28 -Bond | 0.57492 | 0.57492 | 0.57492 | 0.0 | 3.66 -Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.18391 | 0.18391 | 0.18391 | 0.0 | 1.17 -Output | 8e-06 | 8e-06 | 8e-06 | 0.0 | 0.00 -Modify | 2.7068 | 2.7068 | 2.7068 | 0.0 | 17.25 -Other | | 0.2573 | | | 1.64 - -Nlocal: 10.0 ave 10.0 max 10.0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 0.0 ave 0.0 max 0.0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 37.0 ave 37.0 max 37.0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 37 -Ave neighs/atom = 3.7 -Ave special neighs/atom = 3.6 -Neighbor list builds = 0 -Dangerous builds = 0 - -#write_restart config.${number}.* -Total wall time: 0:00:15 diff --git a/examples/PACKAGES/cgdna/examples/oxDNA/duplex1/log.30Jun20.duplex1.g++.4 b/examples/PACKAGES/cgdna/examples/oxDNA/duplex1/log.30Jun20.duplex1.g++.4 deleted file mode 100644 index ec5364e4bb..0000000000 --- a/examples/PACKAGES/cgdna/examples/oxDNA/duplex1/log.30Jun20.duplex1.g++.4 +++ /dev/null @@ -1,1175 +0,0 @@ -LAMMPS (30 Jun 2020) -variable number equal 1 -variable ofreq equal 1000 -variable efreq equal 1000 -variable T equal 0.1 - -units lj - -dimension 3 - -newton off - -boundary p p p - - - -atom_style hybrid bond ellipsoid -WARNING: Atom_style hybrid defines both pertype and peratom masses - both must be set, only peratom masses will be used (../atom_vec_hybrid.cpp:156) -atom_modify sort 0 1.0 - -# Pair interactions require lists of neighbours to be calculated -neighbor 1.0 bin -neigh_modify every 1 delay 0 check yes - -read_data data.duplex1 - orthogonal box = (-20 -20 -20) to (20 20 20) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 10 atoms - reading velocities ... - 10 velocities - 10 ellipsoids - scanning bonds ... - 2 = max bonds/atom - reading bonds ... - 8 bonds - 2 = max # of 1-2 neighbors - 2 = max # of 1-3 neighbors - 2 = max # of 1-4 neighbors - 4 = max # of special neighbors - special bonds CPU = 0.001 seconds - read_data CPU = 0.003 seconds -set atom * mass 3.1575 - 10 settings made for mass - -group all type 1 4 -10 atoms in group all - -# oxDNA bond interactions - FENE backbone -bond_style oxdna/fene -bond_coeff * 2.0 0.25 0.7525 -special_bonds lj 0 1 1 - 2 = max # of 1-2 neighbors - 2 = max # of 1-3 neighbors - 2 = max # of 1-4 neighbors - 4 = max # of special neighbors - special bonds CPU = 0.000 seconds - -# oxDNA pair interactions -pair_style hybrid/overlay oxdna/excv oxdna/stk oxdna/hbond oxdna/xstk oxdna/coaxstk -pair_coeff * * oxdna/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32 -pair_coeff * * oxdna/stk seqav ${T} 1.3448 2.6568 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 -pair_coeff * * oxdna/stk seqav 0.1 1.3448 2.6568 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 -pair_coeff * * oxdna/hbond seqav 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 1 4 oxdna/hbond seqav 1.077 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 2 3 oxdna/hbond seqav 1.077 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff * * oxdna/xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68 -pair_coeff * * oxdna/coaxstk 46.0 0.4 0.6 0.22 0.58 2.0 2.541592653589793 0.65 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 -0.65 2.0 -0.65 - -# NVE ensemble -fix 1 all nve/dot -#fix 1 all nve/dotc/langevin ${T} ${T} 0.03 457145 angmom 10 -#fix 1 all nve/asphere -#fix 2 all langevin ${T} ${T} 0.03 457145 angmom 10 - -timestep 1e-5 - -#comm_style tiled -#fix 3 all balance 10000 1.1 rcb -comm_modify cutoff 2.5 - -#compute mol all chunk/atom molecule -#compute mychunk all vcm/chunk mol -#fix 4 all ave/time 10000 1 10000 c_mychunk[1] c_mychunk[2] c_mychunk[3] file vcm.txt mode vector - -#dump pos all xyz ${ofreq} traj.${number}.xyz - -#compute quat all property/atom quatw quati quatj quatk -#dump quat all custom ${ofreq} quat.${number}.txt id c_quat[1] c_quat[2] c_quat[3] c_quat[4] -#dump_modify quat sort id -#dump_modify quat format line "%d %13.6le %13.6le %13.6le %13.6le" - -compute erot all erotate/asphere -compute ekin all ke -compute epot all pe -variable erot equal c_erot -variable ekin equal c_ekin -variable epot equal c_epot -variable etot equal c_erot+c_ekin+c_epot -fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes -fix 5 all print 1000 "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes - -#dump out all custom ${ofreq} out.${number}.txt id x y z vx vy vz fx fy fz tqx tqy tqz -#dump_modify out sort id -#dump_modify out format line "%d %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le" - -run 1000000 -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 1.9560004 - ghost atom cutoff = 2.5 - binsize = 0.97800022, bins = 41 41 41 - 5 neighbor lists, perpetual/occasional/extra = 5 0 0 - (1) pair oxdna/excv, perpetual - attributes: half, newton off - pair build: half/bin/newtoff - stencil: half/bin/3d/newtoff - bin: standard - (2) pair oxdna/stk, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (3) pair oxdna/hbond, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (4) pair oxdna/xstk, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (5) pair oxdna/coaxstk, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none -0 ekin = 0 | erot = 0 | epot = -14.6424332448164 | etot = -14.6424332448164 -Per MPI rank memory allocation (min/avg/max) = 7.605 | 7.662 | 7.719 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 0 -1.4711818 0.0069384985 -1.4642433 2.5836586e-06 -1000 ekin = 0.00113448721737009 | erot = 0.0041345594773427 | epot = -14.6477022915193 | etot = -14.6424332448246 -2000 ekin = 0.00449927223902292 | erot = 0.0164446434455803 | epot = -14.6633771605337 | etot = -14.6424332448491 -3000 ekin = 0.00997964450840756 | erot = 0.0366523356056466 | epot = -14.6890652250033 | etot = -14.6424332448892 -4000 ekin = 0.017388811129498 | erot = 0.0643039804300251 | epot = -14.7241260365031 | etot = -14.6424332449436 -5000 ekin = 0.0264744514136422 | erot = 0.0987844033142134 | epot = -14.7676920997383 | etot = -14.6424332450104 -6000 ekin = 0.0369277948555727 | erot = 0.13933657105258 | epot = -14.8186976109956 | etot = -14.6424332450875 -7000 ekin = 0.0483950557190949 | erot = 0.185086295692109 | epot = -14.8759145965832 | etot = -14.642433245172 -8000 ekin = 0.0604909336919856 | erot = 0.235071307523581 | epot = -14.9379954864767 | etot = -14.6424332452611 -9000 ekin = 0.0728137406439518 | erot = 0.288273694501615 | epot = -15.003520680497 | etot = -14.6424332453514 -10000 ekin = 0.0849615563084574 | erot = 0.343654369293589 | epot = -15.0710491710418 | etot = -14.6424332454398 -11000 ekin = 0.0965486715044103 | erot = 0.400187932108393 | epot = -15.1391698491357 | etot = -14.6424332455229 -12000 ekin = 0.107221466282716 | erot = 0.456896095459393 | epot = -15.2065508073401 | etot = -14.642433245598 -13000 ekin = 0.116672809719361 | erot = 0.512877765427945 | epot = -15.27198382081 | etot = -14.6424332456627 -14000 ekin = 0.124654073730849 | erot = 0.567333962045501 | epot = -15.3344212814915 | etot = -14.6424332457151 -15000 ekin = 0.130983939684084 | erot = 0.619586028257145 | epot = -15.3930032136957 | etot = -14.6424332457544 -16000 ekin = 0.135553354544703 | erot = 0.66908602849033 | epot = -15.4470726288154 | etot = -14.6424332457804 -17000 ekin = 0.138326263958104 | erot = 0.715418858086098 | epot = -15.4961783678378 | etot = -14.6424332457936 -18000 ekin = 0.139336096663942 | erot = 0.758296324628463 | epot = -15.5400656670878 | etot = -14.6424332457954 -19000 ekin = 0.138678360045107 | erot = 0.797544234276633 | epot = -15.5786558401095 | etot = -14.6424332457878 -20000 ekin = 0.136500074655344 | erot = 0.833084204411832 | epot = -15.6120175248401 | etot = -14.642433245773 -21000 ekin = 0.13298706528568 | erot = 0.864912408453387 | epot = -15.6403327194924 | etot = -14.6424332457533 -22000 ekin = 0.128350288213599 | erot = 0.893077649558743 | epot = -15.6638611835035 | etot = -14.6424332457311 -23000 ekin = 0.122812385135574 | erot = 0.917661024684626 | epot = -15.6829066555285 | etot = -14.6424332457083 -24000 ekin = 0.116595521408358 | erot = 0.938759014332623 | epot = -15.6977877814273 | etot = -14.6424332456863 -25000 ekin = 0.109911323474882 | erot = 0.956471207347589 | epot = -15.7088157764886 | etot = -14.6424332456661 -26000 ekin = 0.102953426207684 | erot = 0.970893163953319 | epot = -15.7162798358093 | etot = -14.6424332456483 -27000 ekin = 0.0958928250746599 | erot = 0.982114250193934 | epot = -15.7204403209012 | etot = -14.6424332456326 -28000 ekin = 0.0888759410949697 | erot = 0.990219731539457 | epot = -15.721528918253 | etot = -14.6424332456186 -29000 ekin = 0.0820250748771988 | erot = 0.995296041202221 | epot = -15.7197543616852 | etot = -14.6424332456058 -30000 ekin = 0.0754407616837521 | erot = 0.997437949319969 | epot = -15.7153119565969 | etot = -14.6424332455932 -31000 ekin = 0.0692054432607507 | erot = 0.996756332760959 | epot = -15.708395021602 | etot = -14.6424332455803 -32000 ekin = 0.0633878377974527 | erot = 0.993385345347641 | epot = -15.6992064287111 | etot = -14.642433245566 -33000 ekin = 0.0580474070866972 | erot = 0.987487973308198 | epot = -15.6879686259451 | etot = -14.6424332455502 -34000 ekin = 0.0532383791882911 | erot = 0.979259192919845 | epot = -15.6749308176403 | etot = -14.6424332455322 -35000 ekin = 0.0490128758302368 | erot = 0.968926197405304 | epot = -15.6603723187477 | etot = -14.6424332455122 -36000 ekin = 0.0454228081405029 | erot = 0.9567454096241 | epot = -15.6446014632554 | etot = -14.6424332454908 -37000 ekin = 0.0425203357170925 | erot = 0.942996237999004 | epot = -15.6279498191848 | etot = -14.6424332454687 -38000 ekin = 0.0403568280944576 | erot = 0.927971766615168 | epot = -15.6107618401563 | etot = -14.6424332454467 -39000 ekin = 0.0389804214208548 | erot = 0.911966804108811 | epot = -15.5933804709558 | etot = -14.6424332454262 -40000 ekin = 0.0384324238853382 | erot = 0.89526395956208 | epot = -15.5761296288558 | etot = -14.6424332454084 -41000 ekin = 0.038742986040685 | erot = 0.878118672837852 | epot = -15.559294904273 | etot = -14.6424332453944 -42000 ekin = 0.0399266053637394 | erot = 0.860744395135542 | epot = -15.543104245885 | etot = -14.6424332453857 -43000 ekin = 0.0419781561012778 | erot = 0.843299365356476 | epot = -15.5277107668409 | etot = -14.6424332453831 -44000 ekin = 0.044870189409001 | erot = 0.825876603313475 | epot = -15.5131800381094 | etot = -14.6424332453869 -45000 ekin = 0.0485521857416515 | erot = 0.808498758186206 | epot = -15.4994841893249 | etot = -14.642433245397 -46000 ekin = 0.0529522094038557 | erot = 0.791119212188469 | epot = -15.486504667005 | etot = -14.6424332454127 -47000 ekin = 0.0579809824244727 | erot = 0.773630265884061 | epot = -15.4740444937409 | etot = -14.6424332454323 -48000 ekin = 0.063537784650219 | erot = 0.755878310838164 | epot = -15.4618493409424 | etot = -14.642433245454 -49000 ekin = 0.0695169124467211 | erot = 0.737684732484754 | epot = -15.4496348904071 | etot = -14.6424332454756 -50000 ekin = 0.0758129058465106 | erot = 0.71887012622011 | epot = -15.437116277562 | etot = -14.6424332454954 -51000 ekin = 0.0823226638652303 | erot = 0.699278599520668 | epot = -15.424034508898 | etot = -14.6424332455121 -52000 ekin = 0.0889431481345008 | erot = 0.678798807099979 | epot = -15.4101752007595 | etot = -14.642433245525 -53000 ekin = 0.0955646689265035 | erot = 0.657379086771082 | epot = -15.3953770012322 | etot = -14.6424332455346 -54000 ekin = 0.102061477510161 | erot = 0.635035489169246 | epot = -15.3795302122208 | etot = -14.6424332455414 -55000 ekin = 0.108282960174666 | erot = 0.611853171347221 | epot = -15.362569377068 | etot = -14.6424332455461 -56000 ekin = 0.114049426282278 | erot = 0.587982945924278 | epot = -15.3444656177552 | etot = -14.6424332455487 -57000 ekin = 0.119155806187163 | erot = 0.563635255922936 | epot = -15.3252243076589 | etot = -14.6424332455488 -58000 ekin = 0.123384552305545 | erot = 0.539073355222423 | epot = -15.3048911530734 | etot = -14.6424332455455 -59000 ekin = 0.126526300954853 | erot = 0.514606324858908 | epot = -15.2835658713509 | etot = -14.6424332455371 -60000 ekin = 0.128404399836228 | erot = 0.490581338840041 | epot = -15.261418984199 | etot = -14.6424332455227 -61000 ekin = 0.128898142361895 | erot = 0.467373892400967 | epot = -15.2387052802647 | etot = -14.6424332455018 -62000 ekin = 0.127959880289724 | erot = 0.445374820086214 | epot = -15.2157679458512 | etot = -14.6424332454752 -63000 ekin = 0.125622870624276 | erot = 0.424973765387136 | epot = -15.1930298814554 | etot = -14.642433245444 -64000 ekin = 0.121999044842464 | erot = 0.406539918572064 | epot = -15.1709722088251 | etot = -14.6424332454106 -65000 ekin = 0.117268056618549 | erot = 0.390401831020304 | epot = -15.1501031330161 | etot = -14.6424332453772 -66000 ekin = 0.111660385256518 | erot = 0.376828594078844 | epot = -15.1309222246819 | etot = -14.6424332453465 -67000 ekin = 0.105437746904479 | erot = 0.366014539811003 | epot = -15.1138855320359 | etot = -14.6424332453205 -68000 ekin = 0.0988737375602367 | erot = 0.358069014155073 | epot = -15.0993759970159 | etot = -14.6424332453006 -69000 ekin = 0.0922368286498106 | erot = 0.353011948771939 | epot = -15.0876820227094 | etot = -14.6424332452876 -70000 ekin = 0.085776901527188 | erot = 0.350775174164926 | epot = -15.0789853209741 | etot = -14.642433245282 -71000 ekin = 0.0797156921641233 | erot = 0.351208844245479 | epot = -15.0733577816928 | etot = -14.6424332452832 -72000 ekin = 0.0742409440407214 | erot = 0.354092037747167 | epot = -15.0707662270785 | etot = -14.6424332452906 -73000 ekin = 0.0695037498703868 | erot = 0.359146526961236 | epot = -15.0710835221349 | etot = -14.6424332453033 -74000 ekin = 0.0656184497426901 | erot = 0.366052769878701 | epot = -15.0741044649413 | etot = -14.6424332453199 -75000 ekin = 0.0626644690394278 | erot = 0.374467290033983 | epot = -15.0795650044125 | etot = -14.642433245339 -76000 ekin = 0.060689553509186 | erot = 0.384040683403435 | epot = -15.087163482272 | etot = -14.6424332453594 -77000 ekin = 0.0597139401241187 | erot = 0.39443549589289 | epot = -15.0965826813962 | etot = -14.6424332453792 -78000 ekin = 0.0597350629875202 | erot = 0.405343151481915 | epot = -15.107511459867 | etot = -14.6424332453976 -79000 ekin = 0.0607324264361026 | erot = 0.416499017642699 | epot = -15.1196646894919 | etot = -14.6424332454131 -80000 ekin = 0.0626722904954167 | erot = 0.42769463023874 | epot = -15.1328001661592 | etot = -14.6424332454251 -81000 ekin = 0.0655118235331535 | erot = 0.438786127849123 | epot = -15.1467311968152 | etot = -14.6424332454329 -82000 ekin = 0.0692024020836612 | erot = 0.449698113830619 | epot = -15.1613337613509 | etot = -14.6424332454367 -83000 ekin = 0.0736917936904891 | erot = 0.46042249074083 | epot = -15.1765475298676 | etot = -14.6424332454363 -84000 ekin = 0.0789250526542213 | erot = 0.471012272295178 | epot = -15.1923705703823 | etot = -14.6424332454329 -85000 ekin = 0.084844087874249 | erot = 0.481570908650499 | epot = -15.2088482419521 | etot = -14.6424332454274 -86000 ekin = 0.0913860133243872 | erot = 0.492238169206333 | epot = -15.2260574279515 | etot = -14.6424332454208 -87000 ekin = 0.0984805441186009 | erot = 0.503174014617464 | epot = -15.2440878041507 | etot = -14.6424332454146 -88000 ekin = 0.106046830302566 | erot = 0.514542076496851 | epot = -15.2630221522094 | etot = -14.64243324541 -89000 ekin = 0.113990204125935 | erot = 0.526494309539917 | epot = -15.2829177590739 | etot = -14.642433245408 -90000 ekin = 0.122199339149548 | erot = 0.539158097286353 | epot = -15.3037906818453 | etot = -14.6424332454094 -91000 ekin = 0.130544275968788 | erot = 0.552626637866356 | epot = -15.3256041592498 | etot = -14.6424332454146 -92000 ekin = 0.138875666145967 | erot = 0.566952900962782 | epot = -15.3482618125326 | etot = -14.6424332454239 -93000 ekin = 0.147025440611607 | erot = 0.582146933738072 | epot = -15.3716056197866 | etot = -14.642433245437 -94000 ekin = 0.154808946844651 | erot = 0.598175891801872 | epot = -15.3954180841001 | etot = -14.6424332454536 -95000 ekin = 0.162028449598904 | erot = 0.614965942454512 | epot = -15.4194276375267 | etot = -14.6424332454733 -96000 ekin = 0.168477779664558 | erot = 0.632405154082716 | epot = -15.4433161792427 | etot = -14.6424332454954 -97000 ekin = 0.173947863023514 | erot = 0.650346631629012 | epot = -15.466727740172 | etot = -14.6424332455195 -98000 ekin = 0.17823287500116 | erot = 0.668611435746641 | epot = -15.4892775562927 | etot = -14.6424332455449 -99000 ekin = 0.181136831923464 | erot = 0.686991165056919 | epot = -15.5105612425515 | etot = -14.6424332455712 -100000 ekin = 0.182480533640968 | erot = 0.70525041340853 | epot = -15.530164192647 | etot = -14.6424332455975 -101000 ekin = 0.182108871449626 | erot = 0.723129571004015 | epot = -15.5476716880769 | etot = -14.6424332456233 -102000 ekin = 0.179898581168333 | erot = 0.740348571091266 | epot = -15.5626803979072 | etot = -14.6424332456476 -103000 ekin = 0.175766517606564 | erot = 0.756612167826943 | epot = -15.5748119311029 | etot = -14.6424332456694 -104000 ekin = 0.169678431534366 | erot = 0.771617166852901 | epot = -15.5837288440747 | etot = -14.6424332456875 -105000 ekin = 0.16165803603624 | erot = 0.785061742963522 | epot = -15.5891530247003 | etot = -14.6424332457006 -106000 ekin = 0.1517958676503 | erot = 0.79665661342635 | epot = -15.5908857267839 | etot = -14.6424332457072 -107000 ekin = 0.140257112952973 | erot = 0.806137449199221 | epot = -15.5888278078584 | etot = -14.6424332457062 -108000 ekin = 0.12728724020187 | erot = 0.813277564483295 | epot = -15.5829980503819 | etot = -14.6424332456967 -109000 ekin = 0.113214025491873 | erot = 0.817899691736779 | epot = -15.5735469629067 | etot = -14.6424332456781 -110000 ekin = 0.098444482381739 | erot = 0.81988557805637 | epot = -15.5607633060887 | etot = -14.6424332456506 -111000 ekin = 0.0834553769378614 | erot = 0.819182262548248 | epot = -15.5450708851013 | etot = -14.6424332456151 -112000 ekin = 0.0687764915886159 | erot = 0.815804215096793 | epot = -15.5270139522589 | etot = -14.6424332455735 -113000 ekin = 0.0549665904044352 | erot = 0.809830999846637 | epot = -15.5072308357791 | etot = -14.642433245528 -114000 ekin = 0.0425830583135686 | erot = 0.801400700352864 | epot = -15.486417004148 | etot = -14.6424332454816 -115000 ekin = 0.032147280214672 | erot = 0.790699910050555 | epot = -15.4652804357027 | etot = -14.6424332454374 -116000 ekin = 0.0241087780358436 | erot = 0.777951546675731 | epot = -15.4444935701102 | etot = -14.6424332453986 -117000 ekin = 0.0188117102739906 | erot = 0.763402004774535 | epot = -15.4246469604164 | etot = -14.6424332453679 -118000 ekin = 0.0164673894168239 | erot = 0.747309167856823 | epot = -15.4062098026205 | etot = -14.6424332453469 -119000 ekin = 0.0171359296540405 | erot = 0.729932564574684 | epot = -15.3895017395652 | etot = -14.6424332453365 -120000 ekin = 0.0207190822436557 | erot = 0.711526526248979 | epot = -15.3746788538292 | etot = -14.6424332453366 -121000 ekin = 0.0269649552324791 | erot = 0.692336677371669 | epot = -15.3617348779504 | etot = -14.6424332453462 -122000 ekin = 0.0354839220302067 | erot = 0.67259957021192 | epot = -15.3505167376056 | etot = -14.6424332453635 -123000 ekin = 0.0457738626455522 | erot = 0.652544850162972 | epot = -15.3407519581945 | etot = -14.642433245386 -124000 ekin = 0.0572521324300914 | erot = 0.632399068063522 | epot = -15.3320844459048 | etot = -14.6424332454111 -125000 ekin = 0.0692913736007718 | erot = 0.612390156183436 | epot = -15.3241147752205 | etot = -14.6424332454363 -126000 ekin = 0.0812564128179042 | erot = 0.592751635107165 | epot = -15.3164412933838 | etot = -14.6424332454588 -127000 ekin = 0.0925398817831167 | erot = 0.573725774405778 | epot = -15.3086989016655 | etot = -14.6424332454767 -128000 ekin = 0.102594692019408 | erot = 0.555565138942016 | epot = -15.3005930764496 | etot = -14.6424332454881 -129000 ekin = 0.11096195387447 | erot = 0.538532171476867 | epot = -15.2919273708433 | etot = -14.642433245492 -130000 ekin = 0.117293279473245 | erot = 0.522896664452867 | epot = -15.2826231894136 | etot = -14.6424332454875 -131000 ekin = 0.121366644775215 | erot = 0.508931150171148 | epot = -15.2727310404211 | etot = -14.6424332454747 -132000 ekin = 0.123095155540091 | erot = 0.496904390905846 | epot = -15.2624327918999 | etot = -14.642433245454 -133000 ekin = 0.122528239671734 | erot = 0.487073282997867 | epot = -15.2520347680959 | etot = -14.6424332454263 -134000 ekin = 0.119845042601894 | erot = 0.479673601171197 | epot = -15.2419518891665 | etot = -14.6424332453934 -135000 ekin = 0.115340171967421 | erot = 0.474910093717031 | epot = -15.2326835110416 | etot = -14.6424332453571 -136000 ekin = 0.109402419285642 | erot = 0.472946484075328 | epot = -15.224782148681 | etot = -14.64243324532 -137000 ekin = 0.102487634022665 | erot = 0.473895929920059 | epot = -15.2188168092271 | etot = -14.6424332452844 -138000 ekin = 0.0950874634054126 | erot = 0.477812435585917 | epot = -15.2153331442443 | etot = -14.6424332452529 -139000 ekin = 0.0876961121518134 | erot = 0.484683617751174 | epot = -15.2148129751312 | etot = -14.6424332452282 -140000 ekin = 0.0807775418435475 | erot = 0.494425108540512 | epot = -15.2176358955961 | etot = -14.642433245212 -141000 ekin = 0.0747355681580414 | erot = 0.506876770810756 | epot = -15.2240455841751 | etot = -14.6424332452063 -142000 ekin = 0.0698891098451744 | erot = 0.521800821241298 | epot = -15.2341231762987 | etot = -14.6424332452123 -143000 ekin = 0.0664544171867047 | erot = 0.538881922426197 | epot = -15.247769584843 | etot = -14.6424332452301 -144000 ekin = 0.0645355104692778 | erot = 0.557729316021908 | epot = -15.2646980717509 | etot = -14.6424332452598 -145000 ekin = 0.0641233595163661 | erot = 0.577881111413867 | epot = -15.2844377162306 | etot = -14.6424332453003 -146000 ekin = 0.0651036077516285 | erot = 0.598810893852426 | epot = -15.3063477469543 | etot = -14.6424332453502 -147000 ekin = 0.0672719578975283 | erot = 0.619936843682121 | epot = -15.3296420469869 | etot = -14.6424332454073 -148000 ekin = 0.0703557492694452 | erot = 0.640633538190891 | epot = -15.3534225329293 | etot = -14.6424332454689 -149000 ekin = 0.0740398128645613 | erot = 0.66024652323733 | epot = -15.3767195816343 | etot = -14.6424332455324 -150000 ekin = 0.077994420106261 | erot = 0.678109590375523 | epot = -15.3985372560764 | etot = -14.6424332455946 -151000 ekin = 0.0819030604176878 | erot = 0.693564488647254 | epot = -15.4179007947176 | etot = -14.6424332456527 -152000 ekin = 0.08548789385576 | erot = 0.705982563002905 | epot = -15.4339037025625 | etot = -14.6424332457038 -153000 ekin = 0.0885310147333655 | erot = 0.714787575381006 | epot = -15.4457518358599 | etot = -14.6424332457455 -154000 ekin = 0.0908901012892495 | erot = 0.719478762726426 | epot = -15.4528021097914 | etot = -14.6424332457757 -155000 ekin = 0.0925075703718949 | erot = 0.719653046096655 | epot = -15.4545938622616 | etot = -14.642433245793 -156000 ekin = 0.0934129479732331 | erot = 0.71502524375301 | epot = -15.4508714375228 | etot = -14.6424332457966 -157000 ekin = 0.0937187435781837 | erot = 0.7054451639455 | epot = -15.4415971533099 | etot = -14.6424332457862 -158000 ekin = 0.0936106185394034 | erot = 0.690910554325068 | epot = -15.4269544186268 | etot = -14.6424332457623 -159000 ekin = 0.0933330174009798 | erot = 0.671575051659369 | epot = -15.4073413147861 | etot = -14.6424332457258 -160000 ekin = 0.0931716565239132 | erot = 0.647750492120475 | epot = -15.3833553943224 | etot = -14.6424332456781 -161000 ekin = 0.0934343296226144 | erot = 0.619903194016677 | epot = -15.3557707692603 | etot = -14.642433245621 -162000 ekin = 0.0944314104796785 | erot = 0.588644098979961 | epot = -15.3255087550165 | etot = -14.6424332455568 -163000 ekin = 0.0964572425730066 | erot = 0.554712943454524 | epot = -15.2936034315153 | etot = -14.6424332454878 -164000 ekin = 0.0997733472794833 | erot = 0.51895691856277 | epot = -15.2611635112587 | etot = -14.6424332454165 -165000 ekin = 0.104594102018619 | erot = 0.482304549423464 | epot = -15.2293318967876 | etot = -14.6424332453455 -166000 ekin = 0.111075276514824 | erot = 0.445735768513581 | epot = -15.1992442903059 | etot = -14.6424332452775 -167000 ekin = 0.119305597512052 | erot = 0.410249354729612 | epot = -15.1719881974565 | etot = -14.6424332452149 -168000 ekin = 0.12930135472349 | erot = 0.376829046180065 | epot = -15.1485636460635 | etot = -14.64243324516 -169000 ekin = 0.141003965788119 | erot = 0.346409702528372 | epot = -15.1298469134313 | etot = -14.6424332451148 -170000 ekin = 0.154280377438306 | erot = 0.319844892419105 | epot = -15.1165585149385 | etot = -14.6424332450811 -171000 ekin = 0.168926178619928 | erot = 0.297877221607854 | epot = -15.1092366452879 | etot = -14.6424332450601 -172000 ekin = 0.184671319362937 | erot = 0.281112611137901 | epot = -15.1082171755536 | etot = -14.6424332450527 -173000 ekin = 0.201188345435602 | erot = 0.269999595570589 | epot = -15.1136211860655 | etot = -14.6424332450593 -174000 ekin = 0.218103052205587 | erot = 0.264814547402911 | epot = -15.1253508446879 | etot = -14.6424332450794 -175000 ekin = 0.235007413034244 | erot = 0.265653545949627 | epot = -15.1430942040962 | etot = -14.6424332451123 -176000 ekin = 0.251474534266602 | erot = 0.272431389431356 | epot = -15.1663391688545 | etot = -14.6424332451566 -177000 ekin = 0.267075225142183 | erot = 0.284887984977502 | epot = -15.1943964553298 | etot = -14.6424332452101 -178000 ekin = 0.281395553894085 | erot = 0.302602030913778 | epot = -15.2264308300785 | etot = -14.6424332452706 -179000 ekin = 0.294054514410707 | erot = 0.325011526056011 | epot = -15.2614992858019 | etot = -14.6424332453351 -180000 ekin = 0.304720692895811 | erot = 0.351440214933808 | epot = -15.2985941532306 | etot = -14.6424332454009 -181000 ekin = 0.313126658917312 | erot = 0.381128639600623 | epot = -15.3366885439829 | etot = -14.6424332454649 -182000 ekin = 0.319079775822514 | erot = 0.413268071112208 | epot = -15.3747810924592 | etot = -14.6424332455245 -183000 ekin = 0.322468290004655 | erot = 0.447035301735044 | epot = -15.4119368373172 | etot = -14.6424332455775 -184000 ekin = 0.323261947553556 | erot = 0.481626155079162 | epot = -15.4473213482551 | etot = -14.6424332456224 -185000 ekin = 0.321506983529697 | erot = 0.516285658867075 | epot = -15.4802258880548 | etot = -14.642433245658 -186000 ekin = 0.317316057632531 | erot = 0.550333132629024 | epot = -15.5100824359458 | etot = -14.6424332456842 -187000 ekin = 0.310854440588904 | erot = 0.583180936762622 | epot = -15.5364686230528 | etot = -14.6424332457012 -188000 ekin = 0.30232432976273 | erot = 0.614346238386881 | epot = -15.5591038138594 | etot = -14.6424332457098 -189000 ekin = 0.291949445195852 | erot = 0.643455779015098 | epot = -15.5778384699219 | etot = -14.6424332457109 -190000 ekin = 0.279961942766932 | erot = 0.670244185707524 | epot = -15.5926393741803 | etot = -14.6424332457058 -191000 ekin = 0.266593185652274 | erot = 0.694546781237202 | epot = -15.6035732125848 | etot = -14.6424332456953 -192000 ekin = 0.252069141621896 | erot = 0.716288088791507 | epot = -15.6107904760939 | etot = -14.6424332456805 -193000 ekin = 0.2366102932526 | erot = 0.735467302247593 | epot = -15.6145108411624 | etot = -14.6424332456622 -194000 ekin = 0.220435149403491 | erot = 0.75214194303258 | epot = -15.6150103380771 | etot = -14.642433245641 -195000 ekin = 0.203765880091661 | erot = 0.766410799035626 | epot = -15.6126099247449 | etot = -14.6424332456176 -196000 ekin = 0.186834339035651 | erot = 0.778397083256526 | epot = -15.6076646678849 | etot = -14.6424332455927 -197000 ekin = 0.169886782292464 | erot = 0.788232586076187 | epot = -15.6005526139357 | etot = -14.642433245567 -198000 ekin = 0.153185871076301 | erot = 0.796043434544246 | epot = -15.5916625511619 | etot = -14.6424332455413 -199000 ekin = 0.137008972985795 | erot = 0.801937915803759 | epot = -15.5813801343063 | etot = -14.6424332455168 -200000 ekin = 0.121642272363314 | erot = 0.805996673265824 | epot = -15.5700721911236 | etot = -14.6424332454944 -201000 ekin = 0.107370722655147 | erot = 0.808265456810171 | epot = -15.5580694249409 | etot = -14.6424332454756 -202000 ekin = 0.0944644042380589 | erot = 0.808750524312638 | epot = -15.545648174012 | etot = -14.6424332454613 -203000 ekin = 0.0831623790884324 | erot = 0.807416772445363 | epot = -15.5330123969865 | etot = -14.6424332454527 -204000 ekin = 0.0736556272327789 | erot = 0.804188725420783 | epot = -15.5202775981043 | etot = -14.6424332454507 -205000 ekin = 0.066071040166988 | erot = 0.79895460735607 | epot = -15.5074588929788 | etot = -14.6424332454557 -206000 ekin = 0.0604586317676951 | erot = 0.79157380942372 | epot = -15.494465686659 | etot = -14.6424332454675 -207000 ekin = 0.0567840026879156 | erot = 0.781888054797388 | epot = -15.4811053029705 | etot = -14.6424332454852 -208000 ekin = 0.0549275971597975 | erot = 0.769736381378222 | epot = -15.4670972240452 | etot = -14.6424332455072 -209000 ekin = 0.054691444753414 | erot = 0.754973659532252 | epot = -15.4520983498168 | etot = -14.6424332455311 -210000 ekin = 0.0558130126770424 | erot = 0.737491764373083 | epot = -15.4357380226042 | etot = -14.6424332455541 -211000 ekin = 0.0579847210232219 | erot = 0.717241838878542 | epot = -15.4176598054751 | etot = -14.6424332455734 -212000 ekin = 0.0608768356197334 | erot = 0.694255492638095 | epot = -15.3975655738439 | etot = -14.642433245586 -213000 ekin = 0.0641610427072994 | erot = 0.66866247616279 | epot = -15.37525676446 | etot = -14.6424332455899 -214000 ekin = 0.0675321043575128 | erot = 0.64070249551818 | epot = -15.3506678454593 | etot = -14.6424332455836 -215000 ekin = 0.0707255336353422 | erot = 0.610729417268954 | epot = -15.3238881964709 | etot = -14.6424332455666 -216000 ekin = 0.0735300437817614 | erot = 0.579207054839019 | epot = -15.2951703441601 | etot = -14.6424332455393 -217000 ekin = 0.0757943994877641 | erot = 0.546696813211868 | epot = -15.2649244582025 | etot = -14.6424332455029 -218000 ekin = 0.0774290394165078 | erot = 0.51383845121943 | epot = -15.2337007360952 | etot = -14.6424332454593 -219000 ekin = 0.0784033323141758 | erot = 0.481325894964748 | epot = -15.2021624726897 | etot = -14.6424332454108 -220000 ekin = 0.0787395495607948 | erot = 0.449880299622387 | epot = -15.1710530945427 | etot = -14.6424332453595 -221000 ekin = 0.0785046319672525 | erot = 0.420222425160561 | epot = -15.1411603024357 | etot = -14.6424332453079 -222000 ekin = 0.0778006814269618 | erot = 0.393045972171563 | epot = -15.1132798988567 | etot = -14.6424332452582 -223000 ekin = 0.0767549035385332 | erot = 0.368992968911871 | epot = -15.0881811176628 | etot = -14.6424332452124 -224000 ekin = 0.0755095293703771 | erot = 0.348631757033118 | epot = -15.0665745315758 | etot = -14.6424332451723 -225000 ekin = 0.0742120885667612 | erot = 0.332437700429432 | epot = -15.0490830341357 | etot = -14.6424332451395 -226000 ekin = 0.0730063028693098 | erot = 0.320776497502258 | epot = -15.0362160454869 | etot = -14.6424332451153 -227000 ekin = 0.0720238140882299 | erot = 0.313889923629038 | epot = -15.0283469828185 | etot = -14.6424332451012 -228000 ekin = 0.0713769419939713 | erot = 0.311883945247486 | epot = -15.0256941323393 | etot = -14.6424332450978 -229000 ekin = 0.0711526728858612 | erot = 0.314719386439623 | epot = -15.0283053044314 | etot = -14.6424332451059 -230000 ekin = 0.0714080974066282 | erot = 0.32220563858993 | epot = -15.0360469811226 | etot = -14.6424332451261 -231000 ekin = 0.0721675361189904 | erot = 0.333998222201802 | epot = -15.0485990034788 | etot = -14.6424332451581 -232000 ekin = 0.073421602290549 | erot = 0.349601270465942 | epot = -15.0654561179577 | etot = -14.6424332452012 -233000 ekin = 0.0751284397505166 | erot = 0.368376135875933 | epot = -15.0859378208811 | etot = -14.6424332452547 -234000 ekin = 0.0772173235442522 | erot = 0.389557254433757 | epot = -15.1092078232945 | etot = -14.6424332453165 -235000 ekin = 0.0795947059802171 | erot = 0.412276079790421 | epot = -15.1343040311544 | etot = -14.6424332453838 -236000 ekin = 0.0821526186146683 | erot = 0.435593295647697 | epot = -15.160179159716 | etot = -14.6424332454537 -237000 ekin = 0.0847791014239972 | erot = 0.458538653864687 | epot = -15.1857510008109 | etot = -14.6424332455222 -238000 ekin = 0.087370042385855 | erot = 0.480156759886663 | epot = -15.209960047858 | etot = -14.6424332455854 -239000 ekin = 0.0898415153137564 | erot = 0.49955609555256 | epot = -15.2318308565057 | etot = -14.6424332456394 -240000 ekin = 0.0921414623535534 | erot = 0.515957735400968 | epot = -15.2505324434352 | etot = -14.6424332456807 -241000 ekin = 0.094259449014392 | erot = 0.528739776886534 | epot = -15.2654324716071 | etot = -14.6424332457062 -242000 ekin = 0.0962332805880934 | erot = 0.537473606136267 | epot = -15.2761401324386 | etot = -14.6424332457143 -243000 ekin = 0.0981515319338797 | erot = 0.541948785980249 | epot = -15.2825335636184 | etot = -14.6424332457043 -244000 ekin = 0.100151482351181 | erot = 0.542184479374293 | epot = -15.2847692074025 | etot = -14.642433245677 -245000 ekin = 0.102412491095747 | erot = 0.53842670231772 | epot = -15.2832724390477 | etot = -14.6424332456343 -246000 ekin = 0.105145395544779 | erot = 0.531132085866326 | epot = -15.2787107269898 | etot = -14.6424332455787 -247000 ekin = 0.108578961411965 | erot = 0.520939994206832 | epot = -15.2719522011324 | etot = -14.6424332455137 -248000 ekin = 0.112944688754503 | erot = 0.50863565229522 | epot = -15.2640135864927 | etot = -14.6424332454429 -249000 ekin = 0.118461348905117 | erot = 0.495107336753362 | epot = -15.256001931029 | etot = -14.6424332453705 -250000 ekin = 0.125320510713189 | erot = 0.48130071319677 | epot = -15.24905446921 | etot = -14.6424332453 -251000 ekin = 0.13367405695507 | erot = 0.468173145423505 | epot = -15.2442804476135 | etot = -14.6424332452349 -252000 ekin = 0.14362435587275 | erot = 0.456650355973621 | epot = -15.2427079570245 | etot = -14.6424332451781 -253000 ekin = 0.155217400154316 | erot = 0.447587277165273 | epot = -15.2452379224515 | etot = -14.6424332451319 -254000 ekin = 0.168438906844309 | erot = 0.441734376017195 | epot = -15.2526065279595 | etot = -14.642433245098 -255000 ekin = 0.183213121644152 | erot = 0.43971022735342 | epot = -15.265356594075 | etot = -14.6424332450774 -256000 ekin = 0.199403908832121 | erot = 0.441980689733431 | epot = -15.2838178436366 | etot = -14.642433245071 -257000 ekin = 0.216817638461841 | erot = 0.448844730305144 | epot = -15.308095613846 | etot = -14.642433245079 -258000 ekin = 0.235207399035704 | erot = 0.460426746275348 | epot = -15.3380673904121 | etot = -14.642433245101 -259000 ekin = 0.254278151366077 | erot = 0.476675120648602 | epot = -15.3733865171511 | etot = -14.6424332451364 -260000 ekin = 0.27369257667687 | erot = 0.497366691706637 | epot = -15.4134925135677 | etot = -14.6424332451842 -261000 ekin = 0.293077534073047 | erot = 0.522116767905255 | epot = -15.4576275472214 | etot = -14.6424332452431 -262000 ekin = 0.312031202020343 | erot = 0.550394247121191 | epot = -15.5048586944528 | etot = -14.6424332453112 -263000 ekin = 0.330131107615792 | erot = 0.58154128199962 | epot = -15.5541056350021 | etot = -14.6424332453866 -264000 ekin = 0.346943319969756 | erot = 0.61479677344706 | epot = -15.6041733388837 | etot = -14.6424332454669 -265000 ekin = 0.362033078254018 | erot = 0.649322794997101 | epot = -15.6537891188009 | etot = -14.6424332455498 -266000 ekin = 0.374977027495908 | erot = 0.684232889060489 | epot = -15.7016431621888 | etot = -14.6424332456324 -267000 ekin = 0.385377045180443 | erot = 0.718621072064117 | epot = -15.7464313629566 | etot = -14.642433245712 -268000 ekin = 0.392875374675087 | erot = 0.75159036946736 | epot = -15.7868989899283 | etot = -14.6424332457858 -269000 ekin = 0.397170471133826 | erot = 0.782279784278077 | epot = -15.8218835012632 | etot = -14.6424332458513 -270000 ekin = 0.39803266202252 | erot = 0.809888771679688 | epot = -15.8503546796085 | etot = -14.6424332459063 -271000 ekin = 0.395318487593041 | erot = 0.833698516715799 | epot = -15.8714502502577 | etot = -14.6424332459488 -272000 ekin = 0.388982474346436 | erot = 0.85308955191437 | epot = -15.8845052722382 | etot = -14.6424332459774 -273000 ekin = 0.379085147925793 | erot = 0.867555470410658 | epot = -15.8890738643275 | etot = -14.6424332459911 -274000 ekin = 0.365796322187783 | erot = 0.876712662634482 | epot = -15.8849422308119 | etot = -14.6424332459896 -275000 ekin = 0.349393082916365 | erot = 0.880306121918412 | epot = -15.872132450808 | etot = -14.6424332459733 -276000 ekin = 0.330252358900911 | erot = 0.878211432152944 | epot = -15.8508970369967 | etot = -14.6424332459429 -277000 ekin = 0.308838461215969 | erot = 0.87043308488023 | epot = -15.821704791996 | etot = -14.6424332458998 -278000 ekin = 0.285686394600485 | erot = 0.857099294887703 | epot = -15.7852189353341 | etot = -14.6424332458459 -279000 ekin = 0.26138204276351 | erot = 0.838453513182823 | epot = -15.7422688017294 | etot = -14.642433245783 -280000 ekin = 0.236540473323807 | erot = 0.814842890588987 | epot = -15.6938166096265 | etot = -14.6424332457138 -281000 ekin = 0.211783602606672 | erot = 0.786704032858688 | epot = -15.6409208811058 | etot = -14.6424332456404 -282000 ekin = 0.18771833727137 | erot = 0.754546508157259 | epot = -15.5846980909942 | etot = -14.6424332455655 -283000 ekin = 0.164916115091084 | erot = 0.718934708844117 | epot = -15.5262840694266 | etot = -14.6424332454914 -284000 ekin = 0.143894549222789 | erot = 0.680468811937684 | epot = -15.466796606581 | etot = -14.6424332454205 -285000 ekin = 0.125101678374108 | erot = 0.639765701845435 | epot = -15.4073006255745 | etot = -14.642433245355 -286000 ekin = 0.108903164109883 | erot = 0.597440790007762 | epot = -15.3487771994138 | etot = -14.6424332452962 -287000 ekin = 0.0955726645582656 | erot = 0.554091668601873 | epot = -15.2920975784058 | etot = -14.6424332452456 -288000 ekin = 0.0852855448042878 | erot = 0.51028445681865 | epot = -15.2380032468271 | etot = -14.6424332452042 -289000 ekin = 0.0781160413142908 | erot = 0.466543535619429 | epot = -15.187092822106 | etot = -14.6424332451723 -290000 ekin = 0.0740379578661526 | erot = 0.423345127585162 | epot = -15.1398163306014 | etot = -14.6424332451501 -291000 ekin = 0.07292891006789 | erot = 0.38111487943337 | epot = -15.0964770346382 | etot = -14.6424332451369 -292000 ekin = 0.0745780357973755 | erot = 0.340229271733751 | epot = -15.0572405526629 | etot = -14.6424332451317 -293000 ekin = 0.0786969407585494 | erot = 0.301020346544363 | epot = -15.0221505324362 | etot = -14.6424332451333 -294000 ekin = 0.0849334564747798 | erot = 0.263782947584644 | epot = -14.9911496491993 | etot = -14.6424332451399 -295000 ekin = 0.0928875723651302 | erot = 0.22878344880309 | epot = -14.9641042663181 | etot = -14.6424332451499 -296000 ekin = 0.102128697511331 | erot = 0.196268840383788 | epot = -14.9408307830568 | etot = -14.6424332451617 -297000 ekin = 0.11221325250056 | erot = 0.166475068215614 | epot = -14.9211215658898 | etot = -14.6424332451737 -298000 ekin = 0.122701527070309 | erot = 0.139633685444085 | epot = -14.904768457699 | etot = -14.6424332451846 -299000 ekin = 0.133172792913717 | erot = 0.115976150687844 | epot = -14.8915821887951 | etot = -14.6424332451935 -300000 ekin = 0.143237839709864 | erot = 0.0957354521197658 | epot = -14.8814065370295 | etot = -14.6424332451999 -301000 ekin = 0.152548387990851 | erot = 0.07914509087212 | epot = -14.8741267240666 | etot = -14.6424332452037 -302000 ekin = 0.160803184301524 | erot = 0.0664357608556835 | epot = -14.8696721903621 | etot = -14.6424332452049 -303000 ekin = 0.167750948488374 | erot = 0.0578302677258914 | epot = -14.8680144614182 | etot = -14.6424332452039 -304000 ekin = 0.173190665588555 | erot = 0.0535373136380679 | epot = -14.8691612244281 | etot = -14.6424332452015 -305000 ekin = 0.176969952950159 | erot = 0.0537447402922713 | epot = -14.8731479384405 | etot = -14.6424332451981 -306000 ekin = 0.178982363291678 | erot = 0.0586126977895342 | epot = -14.8800283062756 | etot = -14.6424332451944 -307000 ekin = 0.179164502945068 | erot = 0.0682670321079694 | epot = -14.8898647802439 | etot = -14.6424332451909 -308000 ekin = 0.177493763289069 | erot = 0.0827930029212249 | epot = -14.9027200113985 | etot = -14.6424332451882 -309000 ekin = 0.173987301152049 | erot = 0.10222929187336 | epot = -14.918649838212 | etot = -14.6424332451866 -310000 ekin = 0.168702678648352 | erot = 0.126562162218755 | epot = -14.9376980860534 | etot = -14.6424332451863 -311000 ekin = 0.161740297010225 | erot = 0.15571959340906 | epot = -14.9598931356066 | etot = -14.6424332451873 -312000 ekin = 0.153247440126399 | erot = 0.189565237979944 | epot = -14.9852459232961 | etot = -14.6424332451897 -313000 ekin = 0.143423389998623 | erot = 0.227892126762149 | epot = -15.0137487619545 | etot = -14.6424332451937 -314000 ekin = 0.132524706020311 | erot = 0.270416174781616 | epot = -15.045374126001 | etot = -14.6424332451991 -315000 ekin = 0.120869409554559 | erot = 0.31676970828961 | epot = -15.0800723630507 | etot = -14.6424332452065 -316000 ekin = 0.108838546106885 | erot = 0.366495437994255 | epot = -15.1177672293175 | etot = -14.6424332452163 -317000 ekin = 0.0968734934299726 | erot = 0.419041536808435 | epot = -15.1583482754675 | etot = -14.6424332452291 -318000 ekin = 0.0854675378572541 | erot = 0.473758725762824 | epot = -15.201659508866 | etot = -14.6424332452459 -319000 ekin = 0.0751507271474133 | erot = 0.529900497446511 | epot = -15.2474844698617 | etot = -14.6424332452678 -320000 ekin = 0.0664678443385179 | erot = 0.586627760737852 | epot = -15.2955288503723 | etot = -14.6424332452959 -321000 ekin = 0.0599504590581751 | erot = 0.643019202689424 | epot = -15.3454029070787 | etot = -14.6424332453311 -322000 ekin = 0.0560852142815241 | erot = 0.69808845326502 | epot = -15.3966069129205 | etot = -14.642433245374 -323000 ekin = 0.0552815181260046 | erot = 0.750808639914442 | epot = -15.4485234034646 | etot = -14.6424332454242 -324000 ekin = 0.0578423255211838 | erot = 0.800144112656325 | epot = -15.5004196836582 | etot = -14.6424332454807 -325000 ekin = 0.0639414864635107 | erot = 0.845088070114621 | epot = -15.5514628021198 | etot = -14.6424332455416 -326000 ekin = 0.0736101694204692 | erot = 0.884703689967839 | epot = -15.6007471049927 | etot = -14.6424332456044 -327000 ekin = 0.0867333560885398 | erot = 0.918165419814672 | epot = -15.6473320215695 | etot = -14.6424332456662 -328000 ekin = 0.103055779602205 | erot = 0.944796600226729 | epot = -15.690285625553 | etot = -14.6424332457241 -329000 ekin = 0.122195446168384 | erot = 0.964099781598493 | epot = -15.7287284735425 | etot = -14.6424332457756 -330000 ekin = 0.143662406707253 | erot = 0.975776996242511 | epot = -15.7618726487686 | etot = -14.6424332458188 -331000 ekin = 0.16688078513004 | erot = 0.979738667524168 | epot = -15.7890526985066 | etot = -14.6424332458524 -332000 ekin = 0.191212923965886 | erot = 0.976101405909884 | epot = -15.8097475757513 | etot = -14.6424332458756 -333000 ekin = 0.215985355315093 | erot = 0.965176233546684 | epot = -15.8235948347498 | etot = -14.642433245888 -334000 ekin = 0.240516656826274 | erot = 0.947449485120535 | epot = -15.830399387836 | etot = -14.6424332458892 -335000 ekin = 0.26414689608104 | erot = 0.923558676876203 | epot = -15.8301388188364 | etot = -14.6424332458792 -336000 ekin = 0.286267467748786 | erot = 0.89426518476866 | epot = -15.8229658983752 | etot = -14.6424332458578 -337000 ekin = 0.306349134744468 | erot = 0.860424939344321 | epot = -15.8092073199142 | etot = -14.6424332458254 -338000 ekin = 0.323965497668976 | erot = 0.822957838329794 | epot = -15.7893565817818 | etot = -14.642433245783 -339000 ekin = 0.338809250783254 | erot = 0.78281638015672 | epot = -15.7640588766721 | etot = -14.6424332457321 -340000 ekin = 0.35069944422809 | erot = 0.74095414130838 | epot = -15.7340868312114 | etot = -14.6424332456749 -341000 ekin = 0.359579293531018 | erot = 0.698295027836038 | epot = -15.7003075669809 | etot = -14.6424332456139 -342000 ekin = 0.365505462149712 | erot = 0.655704542038074 | epot = -15.6636432497397 | etot = -14.6424332455519 -343000 ekin = 0.368630832656515 | erot = 0.613964463467531 | epot = -15.6250285416158 | etot = -14.6424332454918 -344000 ekin = 0.369183369584766 | erot = 0.573752273081695 | epot = -15.5853688881025 | etot = -14.642433245436 -345000 ekin = 0.367443732820324 | erot = 0.535626361233062 | epot = -15.5455033394399 | etot = -14.6424332453865 -346000 ekin = 0.363723933128335 | erot = 0.500017626275246 | epot = -15.5061748047482 | etot = -14.6424332453447 -347000 ekin = 0.3583487052748 | erot = 0.467227585425602 | epot = -15.4680095360115 | etot = -14.6424332453111 -348000 ekin = 0.351640582952522 | erot = 0.437432666905881 | epot = -15.4315064951445 | etot = -14.6424332452861 -349000 ekin = 0.343909024693046 | erot = 0.41069398616734 | epot = -15.3970362561291 | etot = -14.6424332452687 -350000 ekin = 0.335443435967543 | erot = 0.386971649877949 | epot = -15.3648483311043 | etot = -14.6424332452588 -351000 ekin = 0.326509584093005 | erot = 0.366142474248723 | epot = -15.335085303596 | etot = -14.6424332452543 -352000 ekin = 0.317348699021852 | erot = 0.348019930398485 | epot = -15.3078018746744 | etot = -14.6424332452541 -353000 ekin = 0.30817846664876 | erot = 0.332375117499618 | epot = -15.2829868294052 | etot = -14.6424332452568 -354000 ekin = 0.299195119854683 | erot = 0.318957598137097 | epot = -15.2605859632527 | etot = -14.6424332452609 -355000 ekin = 0.290575888249358 | erot = 0.307515001368969 | epot = -15.2405241348835 | etot = -14.6424332452652 -356000 ekin = 0.282481160313138 | erot = 0.29781040621641 | epot = -15.222724811798 | etot = -14.6424332452685 -357000 ekin = 0.275055828994515 | erot = 0.289636664277668 | epot = -15.2071257385424 | etot = -14.6424332452703 -358000 ekin = 0.268429427255696 | erot = 0.282827006912643 | epot = -15.1936896794384 | etot = -14.6424332452701 -359000 ekin = 0.262714810202509 | erot = 0.277261507859007 | epot = -15.1824095633295 | etot = -14.642433245268 -360000 ekin = 0.258005302570141 | erot = 0.272869227750186 | epot = -15.1733077755848 | etot = -14.6424332452644 -361000 ekin = 0.254370400622431 | erot = 0.269626137803972 | epot = -15.1664297836866 | etot = -14.6424332452602 -362000 ekin = 0.251850290179243 | erot = 0.267549186090239 | epot = -15.1618327215257 | etot = -14.6424332452562 -363000 ekin = 0.250449609863295 | erot = 0.266687109599965 | epot = -15.159569964717 | etot = -14.6424332452537 -364000 ekin = 0.250131041863855 | erot = 0.267108788860278 | epot = -15.1596730759782 | etot = -14.642433245254 -365000 ekin = 0.250809442162592 | erot = 0.268890073930502 | epot = -15.1621327613513 | etot = -14.6424332452582 -366000 ekin = 0.252347318763925 | erot = 0.272100073008351 | epot = -15.1668806370397 | etot = -14.6424332452674 -367000 ekin = 0.254552520179183 | erot = 0.276787886821331 | epot = -15.1737736522827 | etot = -14.6424332452822 -368000 ekin = 0.257178996154117 | erot = 0.282970699525226 | epot = -15.1825829409825 | etot = -14.6424332453031 -369000 ekin = 0.25993142490973 | erot = 0.290624011144342 | epot = -15.1929886813841 | etot = -14.64243324533 -370000 ekin = 0.262474349327911 | erot = 0.299674631815262 | epot = -15.2045822265054 | etot = -14.6424332453622 -371000 ekin = 0.264446209429889 | erot = 0.309996869296908 | epot = -15.2168763241254 | etot = -14.6424332453986 -372000 ekin = 0.265478281863369 | erot = 0.321412142685491 | epot = -15.2293236699861 | etot = -14.6424332454373 -373000 ekin = 0.265218028292355 | erot = 0.333692059446813 | epot = -15.2413433332155 | etot = -14.6424332454763 -374000 ekin = 0.263355721250425 | erot = 0.346564809668647 | epot = -15.2523537764322 | etot = -14.6424332455131 -375000 ekin = 0.259652497503873 | erot = 0.359724567994869 | epot = -15.2618103110439 | etot = -14.6424332455452 -376000 ekin = 0.253967268937784 | erot = 0.372843454380806 | epot = -15.2692439688887 | etot = -14.6424332455701 -377000 ekin = 0.246279333501453 | erot = 0.385585491294785 | epot = -15.274298070382 | etot = -14.6424332455858 -378000 ekin = 0.236703249878221 | erot = 0.397621906698152 | epot = -15.2767584021673 | etot = -14.6424332455909 -379000 ekin = 0.225492756944939 | erot = 0.408647066931743 | epot = -15.2765730694618 | etot = -14.6424332455852 -380000 ekin = 0.213031377539219 | erot = 0.418394278996712 | epot = -15.2738589021049 | etot = -14.642433245569 -381000 ekin = 0.199808877315892 | erot = 0.426650676211857 | epot = -15.2688927990715 | etot = -14.6424332455438 -382000 ekin = 0.186384809019024 | erot = 0.433270396055851 | epot = -15.2620884505868 | etot = -14.642433245512 -383000 ekin = 0.173342616144098 | erot = 0.438185279050645 | epot = -15.253961140671 | etot = -14.6424332454763 -384000 ekin = 0.161239700831436 | erot = 0.441412371402807 | epot = -15.2450853176736 | etot = -14.6424332454394 -385000 ekin = 0.150559954647593 | erot = 0.443057612552847 | epot = -15.2360508126044 | etot = -14.6424332454039 -386000 ekin = 0.141675129699177 | erot = 0.443315241523115 | epot = -15.2274236165942 | etot = -14.6424332453719 -387000 ekin = 0.134820015697985 | erot = 0.442462667348824 | epot = -15.2197159283911 | etot = -14.6424332453443 -388000 ekin = 0.130083976413548 | erot = 0.440850813513903 | epot = -15.2133680352489 | etot = -14.6424332453215 -389000 ekin = 0.127418570237884 | erot = 0.43889024627901 | epot = -15.2087420618201 | etot = -14.6424332453032 -390000 ekin = 0.126658423093201 | erot = 0.437033702086081 | epot = -15.206125370468 | etot = -14.6424332452887 -391000 ekin = 0.127550804260996 | erot = 0.435755902066197 | epot = -15.2057399516044 | etot = -14.6424332452772 -392000 ekin = 0.129788752935801 | erot = 0.435531744058798 | epot = -15.2077537422629 | etot = -14.6424332452683 -393000 ekin = 0.133043055316258 | erot = 0.436814065078314 | epot = -15.2122903656559 | etot = -14.6424332452613 -394000 ekin = 0.136989561466103 | erot = 0.440012156511496 | epot = -15.219434963234 | etot = -14.6424332452564 -395000 ekin = 0.141329833042571 | erot = 0.445472096886692 | epot = -15.2292351751829 | etot = -14.6424332452537 -396000 ekin = 0.145804542777683 | erot = 0.453459767650238 | epot = -15.2416975556817 | etot = -14.6424332452538 -397000 ekin = 0.150200153189368 | erot = 0.464147173463313 | epot = -15.2567805719101 | etot = -14.6424332452574 -398000 ekin = 0.154350089767281 | erot = 0.477602441560301 | epot = -15.2743857765925 | etot = -14.6424332452649 -399000 ekin = 0.158131920623958 | erot = 0.493783661157258 | epot = -15.2943488270584 | etot = -14.6424332452772 -400000 ekin = 0.161462056175852 | erot = 0.512536568007644 | epot = -15.3164318694779 | etot = -14.6424332452944 -401000 ekin = 0.164289301183563 | erot = 0.533595989003439 | epot = -15.3403185355037 | etot = -14.6424332453167 -402000 ekin = 0.166588323053565 | erot = 0.556590928840414 | epot = -15.3656124972379 | etot = -14.642433245344 -403000 ekin = 0.168353810382881 | erot = 0.581053183644676 | epot = -15.3918402394035 | etot = -14.6424332453759 -404000 ekin = 0.169595821304602 | erot = 0.606429376023105 | epot = -15.4184584427394 | etot = -14.6424332454117 -405000 ekin = 0.17033657856555 | erot = 0.632096292540194 | epot = -15.4448661165559 | etot = -14.6424332454502 -406000 ekin = 0.170608761982357 | erot = 0.65737934451417 | epot = -15.4704213519868 | etot = -14.6424332454902 -407000 ekin = 0.170455178570774 | erot = 0.681573854093745 | epot = -15.4944622781949 | etot = -14.6424332455304 -408000 ekin = 0.169929554812993 | erot = 0.703968692150315 | epot = -15.5163314925321 | etot = -14.6424332455688 -409000 ekin = 0.169098093454308 | erot = 0.723871579520606 | epot = -15.5354029185787 | etot = -14.6424332456038 -410000 ekin = 0.168041369043254 | erot = 0.740635137247646 | epot = -15.5511097519244 | etot = -14.6424332456335 -411000 ekin = 0.166856102811026 | erot = 0.753682569970607 | epot = -15.562971918438 | etot = -14.6424332456564 -412000 ekin = 0.165656359034654 | erot = 0.762531725092731 | epot = -15.5706213297983 | etot = -14.642433245671 -413000 ekin = 0.164573741712539 | erot = 0.766816218739469 | epot = -15.5738232061283 | etot = -14.6424332456763 -414000 ekin = 0.163756240958007 | erot = 0.766302377571818 | epot = -15.5724918642016 | etot = -14.6424332456718 -415000 ekin = 0.163365479945299 | erot = 0.760900920225133 | epot = -15.5666996458276 | etot = -14.6424332456572 -416000 ekin = 0.163572240093361 | erot = 0.750672586700048 | epot = -15.5566780724264 | etot = -14.642433245633 -417000 ekin = 0.164550286198126 | erot = 0.735827297892139 | epot = -15.5428108296904 | etot = -14.6424332456002 -418000 ekin = 0.166468663391001 | erot = 0.716716857301867 | epot = -15.525618766253 | etot = -14.6424332455601 -419000 ekin = 0.169482781124152 | erot = 0.69382164910087 | epot = -15.5057376757396 | etot = -14.6424332455146 -420000 ekin = 0.173724722664366 | erot = 0.667732191685369 | epot = -15.4838901598155 | etot = -14.6424332454658 -421000 ekin = 0.179293310757479 | erot = 0.639126725583771 | epot = -15.4608532817569 | etot = -14.6424332454157 -422000 ekin = 0.186244514517565 | erot = 0.608746211201693 | epot = -15.4374239710859 | etot = -14.6424332453666 -423000 ekin = 0.194582798143041 | erot = 0.577368165579506 | epot = -15.4143842090433 | etot = -14.6424332453207 -424000 ekin = 0.204253993027957 | erot = 0.545780680988036 | epot = -15.392467919296 | etot = -14.64243324528 -425000 ekin = 0.215140228915595 | erot = 0.514757766833673 | epot = -15.372331240995 | etot = -14.6424332452458 -426000 ekin = 0.227057395196063 | erot = 0.485036881516669 | epot = -15.354527521932 | etot = -14.6424332452193 -427000 ekin = 0.239755526224872 | erot = 0.457299221562912 | epot = -15.3394879929894 | etot = -14.6424332452017 -428000 ekin = 0.252922416268501 | erot = 0.432153058136047 | epot = -15.3275087195977 | etot = -14.6424332451931 -429000 ekin = 0.266190667178472 | erot = 0.410120192009091 | epot = -15.318744104381 | etot = -14.6424332451935 -430000 ekin = 0.279148248284958 | erot = 0.391625457763427 | epot = -15.3132069512512 | etot = -14.6424332452028 -431000 ekin = 0.291352495292848 | erot = 0.37698914981175 | epot = -15.3107748903245 | etot = -14.6424332452199 -432000 ekin = 0.302347287569357 | erot = 0.36642225446733 | epot = -15.3112027872808 | etot = -14.6424332452441 -433000 ekin = 0.311682921770362 | erot = 0.360024429013509 | epot = -15.314140596057 | etot = -14.6424332452732 -434000 ekin = 0.318937954386234 | erot = 0.357784738271935 | epot = -15.3191559379639 | etot = -14.6424332453058 -435000 ekin = 0.323742037713894 | erot = 0.359585207274212 | epot = -15.3257604903287 | etot = -14.6424332453406 -436000 ekin = 0.325798554030488 | erot = 0.36520724530746 | epot = -15.3334390447139 | etot = -14.642433245376 -437000 ekin = 0.324905697096464 | erot = 0.374340922352109 | epot = -15.3416798648574 | etot = -14.6424332454088 -438000 ekin = 0.32097458985737 | erot = 0.386596930163185 | epot = -15.3500047654581 | etot = -14.6424332454376 -439000 ekin = 0.314043077745088 | erot = 0.401520852188919 | epot = -15.3579971753952 | etot = -14.6424332454612 -440000 ekin = 0.304283988018852 | erot = 0.418609132218188 | epot = -15.3653263657148 | etot = -14.6424332454778 -441000 ekin = 0.292006859109402 | erot = 0.437325916198087 | epot = -15.3717660207938 | etot = -14.6424332454863 -442000 ekin = 0.277652365812265 | erot = 0.457119792524783 | epot = -15.3772054038239 | etot = -14.6424332454868 -443000 ekin = 0.261778853587313 | erot = 0.477439412182564 | epot = -15.3816515112497 | etot = -14.6424332454798 -444000 ekin = 0.245040553430208 | erot = 0.497747053384035 | epot = -15.385220852281 | etot = -14.6424332454667 -445000 ekin = 0.228157260415726 | erot = 0.51752940821079 | epot = -15.3881199140755 | etot = -14.642433245449 -446000 ekin = 0.211875681724409 | erot = 0.536305196865493 | epot = -15.3906141240194 | etot = -14.6424332454295 -447000 ekin = 0.196923472676251 | erot = 0.553629632762795 | epot = -15.3929863508504 | etot = -14.6424332454113 -448000 ekin = 0.183958277875555 | erot = 0.569096233380591 | epot = -15.3954877566542 | etot = -14.642433245398 -449000 ekin = 0.17351577130814 | erot = 0.582336947161301 | epot = -15.3982859638623 | etot = -14.6424332453928 -450000 ekin = 0.165962361194715 | erot = 0.593021970155398 | epot = -15.4014175767483 | etot = -14.6424332453982 -451000 ekin = 0.161459280831074 | erot = 0.600860851258547 | epot = -15.4047533775047 | etot = -14.6424332454151 -452000 ekin = 0.159944578250399 | erot = 0.605606408084822 | epot = -15.4079842317782 | etot = -14.642433245443 -453000 ekin = 0.161137653112611 | erot = 0.607062496375706 | epot = -15.4106333949674 | etot = -14.6424332454791 -454000 ekin = 0.164567591511427 | erot = 0.605095779312731 | epot = -15.4120966163435 | etot = -14.6424332455193 -455000 ekin = 0.169622334208412 | erot = 0.59965045542677 | epot = -15.4117060351935 | etot = -14.6424332455583 -456000 ekin = 0.17561180235027 | erot = 0.590763702898776 | epot = -15.4088087508398 | etot = -14.6424332455907 -457000 ekin = 0.181835621982501 | erot = 0.578578749366117 | epot = -15.4028476169607 | etot = -14.6424332456121 -458000 ekin = 0.187645727031673 | erot = 0.563352302650952 | epot = -15.3934312753015 | etot = -14.6424332456189 -459000 ekin = 0.192495880386129 | erot = 0.545453717149971 | epot = -15.3803828431461 | etot = -14.64243324561 -460000 ekin = 0.195973381638787 | erot = 0.525354597711217 | epot = -15.3637612249357 | etot = -14.6424332455857 -461000 ekin = 0.197811920993003 | erot = 0.503609203462485 | epot = -15.343854370004 | etot = -14.6424332455485 -462000 ekin = 0.197887724921051 | erot = 0.480827560282181 | epot = -15.3211485307045 | etot = -14.6424332455013 -463000 ekin = 0.19620319848715 | erot = 0.457644248435948 | epot = -15.2962806923714 | etot = -14.6424332454483 -464000 ekin = 0.192863034127873 | erot = 0.434686220428325 | epot = -15.2699824999496 | etot = -14.6424332453934 -465000 ekin = 0.188047435824123 | erot = 0.412542760090272 | epot = -15.2430234412543 | etot = -14.6424332453399 -466000 ekin = 0.181986107554568 | erot = 0.391740010671155 | epot = -15.2161593635163 | etot = -14.6424332452906 -467000 ekin = 0.174935400199636 | erot = 0.372721626734198 | epot = -15.1900902721814 | etot = -14.6424332452475 -468000 ekin = 0.167159826103628 | erot = 0.355836258350725 | epot = -15.1654293296662 | etot = -14.6424332452119 -469000 ekin = 0.158918218023891 | erot = 0.341331890764694 | epot = -15.1426833539729 | etot = -14.6424332451843 -470000 ekin = 0.150454185654314 | erot = 0.329356584633373 | epot = -15.1222440154522 | etot = -14.6424332451645 -471000 ekin = 0.141990180750326 | erot = 0.319964871776615 | epot = -15.104388297679 | etot = -14.6424332451521 -472000 ekin = 0.133724353868926 | erot = 0.313128906245008 | epot = -15.0892865052598 | etot = -14.6424332451459 -473000 ekin = 0.125829398102403 | erot = 0.308753392324136 | epot = -15.0770160355714 | etot = -14.6424332451449 -474000 ekin = 0.118452666363553 | erot = 0.306693264413754 | epot = -15.0675791759249 | etot = -14.6424332451476 -475000 ekin = 0.111716976219115 | erot = 0.30677305329061 | epot = -15.0609232746625 | etot = -14.6424332451527 -476000 ekin = 0.105721655633337 | erot = 0.308806833537562 | epot = -15.0569617343299 | etot = -14.642433245159 -477000 ekin = 0.100543523675758 | erot = 0.312617617130229 | epot = -15.0555943859711 | etot = -14.6424332451651 -478000 ekin = 0.0962376398644811 | erot = 0.31805505563526 | epot = -15.0567259406697 | etot = -14.64243324517 -479000 ekin = 0.0928377950024532 | erot = 0.325010357030093 | epot = -15.0602813972057 | etot = -14.6424332451731 -480000 ekin = 0.0903568546345998 | erot = 0.333427427763264 | epot = -15.0662175275719 | etot = -14.642433245174 -481000 ekin = 0.0887871989358601 | erot = 0.343309423709768 | epot = -15.074529867818 | etot = -14.6424332451724 -482000 ekin = 0.0881016191320375 | erot = 0.354720133057113 | epot = -15.0852549973577 | etot = -14.6424332451685 -483000 ekin = 0.0882551127439699 | erot = 0.367779908272474 | epot = -15.0984682661793 | etot = -14.6424332451629 -484000 ekin = 0.0891880440138163 | erot = 0.382656193507622 | epot = -15.1142774826775 | etot = -14.642433245156 -485000 ekin = 0.0908310739109982 | erot = 0.399549033146323 | epot = -15.132813352206 | etot = -14.6424332451486 -486000 ekin = 0.0931120890990551 | erot = 0.41867226992318 | epot = -15.1542176041638 | etot = -14.6424332451416 -487000 ekin = 0.095965052639277 | erot = 0.440231422321074 | epot = -15.1786297200962 | etot = -14.6424332451358 -488000 ekin = 0.0993402613867534 | erot = 0.464399451384565 | epot = -15.2061729579035 | etot = -14.6424332451322 -489000 ekin = 0.103214957397693 | erot = 0.491291775403353 | epot = -15.2369399779327 | etot = -14.6424332451317 -490000 ekin = 0.107602676597199 | erot = 0.520941965498321 | epot = -15.2709778872308 | etot = -14.6424332451353 -491000 ekin = 0.112559247664636 | erot = 0.553279563917093 | epot = -15.3082720567258 | etot = -14.6424332451441 -492000 ekin = 0.11818313672361 | erot = 0.588111425308605 | epot = -15.3487278071918 | etot = -14.6424332451596 -493000 ekin = 0.124608040126391 | erot = 0.625107908279146 | epot = -15.3921491935888 | etot = -14.6424332451833 -494000 ekin = 0.131986393312571 | erot = 0.663795156035298 | epot = -15.4382147945647 | etot = -14.6424332452168 -495000 ekin = 0.140463823900169 | erot = 0.703554605721933 | epot = -15.4864516748842 | etot = -14.6424332452621 -496000 ekin = 0.150146408035849 | erot = 0.743630741563392 | epot = -15.5362103949194 | etot = -14.6424332453202 -497000 ekin = 0.161064579071324 | erot = 0.783147917317811 | epot = -15.586645741781 | etot = -14.6424332453918 -498000 ekin = 0.173139219157391 | erot = 0.821136754973018 | epot = -15.6367092196067 | etot = -14.6424332454763 -499000 ekin = 0.186156317833388 | erot = 0.856570103856968 | epot = -15.6851596672616 | etot = -14.6424332455712 -500000 ekin = 0.199756195068939 | erot = 0.888407758274321 | epot = -15.730597199016 | etot = -14.6424332456728 -501000 ekin = 0.213441517837342 | erot = 0.915648078733143 | epot = -15.7715228423457 | etot = -14.6424332457753 -502000 ekin = 0.226605416598005 | erot = 0.937383433649483 | epot = -15.8064220961193 | etot = -14.6424332458719 -503000 ekin = 0.238577508977599 | erot = 0.952855183125227 | epot = -15.8338659380581 | etot = -14.6424332459553 -504000 ekin = 0.248682347016338 | erot = 0.961503066788675 | epot = -15.8526186598237 | etot = -14.6424332460187 -505000 ekin = 0.256302488969596 | erot = 0.963003656366976 | epot = -15.8617393913932 | etot = -14.6424332460566 -506000 ekin = 0.260937583144194 | erot = 0.957293217920897 | epot = -15.8606640471307 | etot = -14.6424332460656 -507000 ekin = 0.262251679299244 | erot = 0.944571918258912 | epot = -15.849256843603 | etot = -14.6424332460448 -508000 ekin = 0.260103184111408 | erot = 0.925288564934742 | epot = -15.8278249950421 | etot = -14.6424332459959 -509000 ekin = 0.25455487528045 | erot = 0.900107536938111 | epot = -15.7970956581414 | etot = -14.6424332459228 -510000 ekin = 0.245864483348181 | erot = 0.869861717985596 | epot = -15.7581594471648 | etot = -14.642433245831 -511000 ekin = 0.234458914526881 | erot = 0.835496660126654 | epot = -15.7123888203807 | etot = -14.6424332457271 -512000 ekin = 0.220896820239973 | erot = 0.798011684066058 | epot = -15.6613417499238 | etot = -14.6424332456178 -513000 ekin = 0.205824805087872 | erot = 0.758403224578473 | epot = -15.6066612751758 | etot = -14.6424332455094 -514000 ekin = 0.189932244116162 | erot = 0.717614706860426 | epot = -15.5499801963839 | etot = -14.6424332454073 -515000 ekin = 0.173908748199766 | erot = 0.676495918872675 | epot = -15.4928379123882 | etot = -14.6424332453158 -516000 ekin = 0.158407108508993 | erot = 0.635773516025409 | epot = -15.4366138697724 | etot = -14.642433245238 -517000 ekin = 0.144013350183893 | erot = 0.59603314911818 | epot = -15.3824797444781 | etot = -14.642433245176 -518000 ekin = 0.131224514118005 | erot = 0.557712825688994 | epot = -15.3313705849372 | etot = -14.6424332451302 -519000 ekin = 0.120434042405824 | erot = 0.521106495597738 | epot = -15.283973783104 | etot = -14.6424332451004 -520000 ekin = 0.111924165176706 | erot = 0.486376443199764 | epot = -15.2407338534617 | etot = -14.6424332450853 -521000 ekin = 0.105864424815879 | erot = 0.453572806060429 | epot = -15.2018704759591 | etot = -14.6424332450828 -522000 ekin = 0.102315362067395 | erot = 0.422658367131502 | epot = -15.1674069742898 | etot = -14.6424332450909 -523000 ekin = 0.101236366465181 | erot = 0.393536647096984 | epot = -15.137206258669 | etot = -14.6424332451068 -524000 ekin = 0.102496717236757 | erot = 0.366081244308208 | epot = -15.1110112066728 | etot = -14.6424332451278 -525000 ekin = 0.105888887336051 | erot = 0.340164343214671 | epot = -15.0884864757019 | etot = -14.6424332451512 -526000 ekin = 0.111143247850943 | erot = 0.315682368378665 | epot = -15.0692588614045 | etot = -14.6424332451749 -527000 ekin = 0.117943398962438 | erot = 0.29257693780699 | epot = -15.0529535819665 | etot = -14.642433245197 -528000 ekin = 0.12594147425583 | erot = 0.270849598243837 | epot = -15.0392243177155 | etot = -14.6424332452158 -529000 ekin = 0.134772916010411 | erot = 0.250569317239496 | epot = -15.0277754784804 | etot = -14.6424332452305 -530000 ekin = 0.144070383403777 | erot = 0.231872340652232 | epot = -15.0183759692968 | etot = -14.6424332452408 -531000 ekin = 0.153476601970705 | erot = 0.214954741435346 | epot = -15.010864588653 | etot = -14.6424332452469 -532000 ekin = 0.162656054078974 | erot = 0.20005869764927 | epot = -15.0051479969776 | etot = -14.6424332452493 -533000 ekin = 0.171305419081562 | erot = 0.187454143184885 | epot = -15.0011928075152 | etot = -14.6424332452488 -534000 ekin = 0.179162595540481 | erot = 0.1774178426953 | epot = -14.9990136834821 | etot = -14.6424332452463 -535000 ekin = 0.186014006486751 | erot = 0.170212094444198 | epot = -14.9986593461735 | etot = -14.6424332452426 -536000 ekin = 0.191699759240504 | erot = 0.16606514922825 | epot = -15.0001981537073 | etot = -14.6424332452386 -537000 ekin = 0.1961161699316 | erot = 0.165155084981448 | epot = -15.0037045001479 | etot = -14.6424332452348 -538000 ekin = 0.199215220533753 | erot = 0.167598364573304 | epot = -15.0092468303391 | etot = -14.642433245232 -539000 ekin = 0.201000709669645 | erot = 0.173443713619011 | epot = -15.0168776685194 | etot = -14.6424332452308 -540000 ekin = 0.20152116403808 | erot = 0.182671367033565 | epot = -15.0266257763029 | etot = -14.6424332452312 -541000 ekin = 0.200859940141561 | erot = 0.195197211442919 | epot = -15.0384903968184 | etot = -14.642433245234 -542000 ekin = 0.199123298889081 | erot = 0.210880936223622 | epot = -15.0524374803517 | etot = -14.642433245239 -543000 ekin = 0.196427519384058 | erot = 0.229537017789335 | epot = -15.0683977824196 | etot = -14.6424332452462 -544000 ekin = 0.192886294945247 | erot = 0.250947202002153 | epot = -15.0862667422037 | etot = -14.6424332452563 -545000 ekin = 0.18859971088744 | erot = 0.274873110235068 | epot = -15.105906066391 | etot = -14.6424332452685 -546000 ekin = 0.183646045242699 | erot = 0.301067663118862 | epot = -15.1271469536444 | etot = -14.6424332452828 -547000 ekin = 0.178077473818675 | erot = 0.329284179373474 | epot = -15.149794898491 | etot = -14.6424332452988 -548000 ekin = 0.171920510267319 | erot = 0.359282253783652 | epot = -15.173636009367 | etot = -14.642433245316 -549000 ekin = 0.165181670578008 | erot = 0.390829837831177 | epot = -15.1984447537429 | etot = -14.6424332453337 -550000 ekin = 0.157858408655514 | erot = 0.42370132691765 | epot = -15.2239929809246 | etot = -14.6424332453514 -551000 ekin = 0.149954809005953 | erot = 0.457671882716406 | epot = -15.2500599370906 | etot = -14.6424332453683 -552000 ekin = 0.141500835823185 | erot = 0.492508662660431 | epot = -15.2764427438672 | etot = -14.6424332453836 -553000 ekin = 0.132573145481933 | erot = 0.527960055124278 | epot = -15.302966446003 | etot = -14.6424332453968 -554000 ekin = 0.123314645148986 | erot = 0.563744383269626 | epot = -15.3294922738258 | etot = -14.6424332454072 -555000 ekin = 0.113949270903175 | erot = 0.599539792623648 | epot = -15.3559223089416 | etot = -14.6424332454148 -556000 ekin = 0.104788088807786 | erot = 0.634977129563658 | epot = -15.3821984637915 | etot = -14.64243324542 -557000 ekin = 0.0962230654780946 | erot = 0.669637513724504 | epot = -15.4082938246265 | etot = -14.6424332454239 -558000 ekin = 0.0887059614428478 | erot = 0.70305599048067 | epot = -15.4341951973515 | etot = -14.642433245428 -559000 ekin = 0.082711884774194 | erot = 0.734732129424159 | epot = -15.4598772596328 | etot = -14.6424332454344 -560000 ekin = 0.0786899547259911 | erot = 0.764147748398984 | epot = -15.4852709485702 | etot = -14.6424332454453 -561000 ekin = 0.0770067720633791 | erot = 0.790791153076129 | epot = -15.5102311706017 | etot = -14.6424332454622 -562000 ekin = 0.0778911706764789 | erot = 0.814186471629281 | epot = -15.5345108877919 | etot = -14.6424332454862 -563000 ekin = 0.0813901113673084 | erot = 0.83392592548323 | epot = -15.5577492823674 | etot = -14.6424332455168 -564000 ekin = 0.0873448530219544 | erot = 0.849702302565905 | epot = -15.5794804011399 | etot = -14.642433245552 -565000 ekin = 0.0953935152543308 | erot = 0.861338569497384 | epot = -15.59916533034 | etot = -14.6424332455883 -566000 ekin = 0.105001366119722 | erot = 0.868811531657507 | epot = -15.6162461433985 | etot = -14.6424332456212 -567000 ekin = 0.11551478921087 | erot = 0.872266750928371 | epot = -15.6302147857853 | etot = -14.6424332456461 -568000 ekin = 0.126230320990598 | erot = 0.872022546761245 | epot = -15.6406861134104 | etot = -14.6424332456586 -569000 ekin = 0.1364675752055 | erot = 0.868561781938193 | epot = -15.6474626027995 | etot = -14.6424332456558 -570000 ekin = 0.145634823229284 | erot = 0.862511177263077 | epot = -15.650579246129 | etot = -14.6424332456367 -571000 ekin = 0.153278250260132 | erot = 0.854608991356468 | epot = -15.6503204872187 | etot = -14.6424332456021 -572000 ekin = 0.159109636953965 | erot = 0.845662918617004 | epot = -15.6472058011259 | etot = -14.6424332455549 -573000 ekin = 0.163011362017409 | erot = 0.836500892320213 | epot = -15.6419454998373 | etot = -14.6424332454997 -574000 ekin = 0.165021239080183 | erot = 0.82791805820557 | epot = -15.6353725427275 | etot = -14.6424332454418 -575000 ekin = 0.165302195908647 | erot = 0.820623479704516 | epot = -15.6283589210001 | etot = -14.6424332453869 -576000 ekin = 0.164102988101242 | erot = 0.815190165399292 | epot = -15.6217263988412 | etot = -14.6424332453406 -577000 ekin = 0.161716152387198 | erot = 0.812011817944906 | epot = -15.6161612156399 | etot = -14.6424332453078 -578000 ekin = 0.15843856937185 | erot = 0.811269345694985 | epot = -15.6121411603585 | etot = -14.6424332452916 -579000 ekin = 0.154538688869395 | erot = 0.812909695781084 | epot = -15.6098816299448 | etot = -14.6424332452944 -580000 ekin = 0.150232988454514 | erot = 0.816638977242154 | epot = -15.6093052110128 | etot = -14.6424332453162 -581000 ekin = 0.145672809814998 | erot = 0.82193113541131 | epot = -15.6100371905821 | etot = -14.6424332453558 -582000 ekin = 0.140941476791536 | erot = 0.828052590351175 | epot = -15.6114273125529 | etot = -14.6424332454102 -583000 ekin = 0.136060602599188 | erot = 0.834102246896661 | epot = -15.6125960949711 | etot = -14.6424332454752 -584000 ekin = 0.131003759896606 | erot = 0.839065139158589 | epot = -15.6125021446008 | etot = -14.6424332455456 -585000 ekin = 0.125715216483023 | erot = 0.841876757449347 | epot = -15.6100252195477 | etot = -14.6424332456153 -586000 ekin = 0.120131224768948 | erot = 0.841493945667052 | epot = -15.6040584161145 | etot = -14.6424332456785 -587000 ekin = 0.114201380572127 | erot = 0.836967317754023 | epot = -15.5936019440556 | etot = -14.6424332457295 -588000 ekin = 0.10790780822673 | erot = 0.827509595983478 | epot = -15.5778506499738 | etot = -14.6424332457636 -589000 ekin = 0.101280337909716 | erot = 0.812554260673813 | epot = -15.5562678443608 | etot = -14.6424332457773 -590000 ekin = 0.0944063548788227 | erot = 0.791799488420743 | epot = -15.5286390890684 | etot = -14.6424332457688 -591000 ekin = 0.0874345511051893 | erot = 0.765233519223455 | epot = -15.4951013160664 | etot = -14.6424332457378 -592000 ekin = 0.0805723392084907 | erot = 0.733139214285358 | epot = -15.4561447991799 | etot = -14.642433245686 -593000 ekin = 0.0740771594080655 | erot = 0.696077455348817 | epot = -15.4125878603734 | etot = -14.6424332456166 -594000 ekin = 0.0682423089599614 | erot = 0.654850963358217 | epot = -15.3655265178521 | etot = -14.642433245534 -595000 ekin = 0.0633782539014331 | erot = 0.610451848323659 | epot = -15.3162633476688 | etot = -14.6424332454437 -596000 ekin = 0.0597906540649347 | erot = 0.563997548401148 | epot = -15.2662214478178 | etot = -14.6424332453517 -597000 ekin = 0.0577565493623858 | erot = 0.516660644084273 | epot = -15.2168504387106 | etot = -14.642433245264 -598000 ekin = 0.0575003158536081 | erot = 0.469598294353632 | epot = -15.1695318553934 | etot = -14.6424332451862 -599000 ekin = 0.0591710965286251 | erot = 0.423886769451064 | epot = -15.1254911111027 | etot = -14.642433245123 -600000 ekin = 0.0628234356891045 | erot = 0.380465849281436 | epot = -15.0857225300487 | etot = -14.6424332450781 -601000 ekin = 0.0684027903378417 | erot = 0.340096852289044 | epot = -15.0509328876805 | etot = -14.6424332450536 -602000 ekin = 0.0757374499129008 | erot = 0.303336891508804 | epot = -15.0215075864718 | etot = -14.6424332450501 -603000 ekin = 0.0845381560106984 | erot = 0.270530726252426 | epot = -14.9975021273296 | etot = -14.6424332450665 -604000 ekin = 0.0944063594078355 | erot = 0.241820347963454 | epot = -14.9786599524715 | etot = -14.6424332451002 -605000 ekin = 0.104851562460566 | erot = 0.217171224791036 | epot = -14.9644560323985 | etot = -14.6424332451469 -606000 ekin = 0.115317556389835 | erot = 0.196412930356103 | epot = -14.954163731947 | etot = -14.6424332452011 -607000 ekin = 0.125216580353275 | erot = 0.179290709847405 | epot = -14.9469405354574 | etot = -14.6424332452567 -608000 ekin = 0.133969542490564 | erot = 0.165523445157646 | epot = -14.9419262329554 | etot = -14.6424332453072 -609000 ekin = 0.141049537028518 | erot = 0.15486258226509 | epot = -14.9383453646398 | etot = -14.6424332453462 -610000 ekin = 0.146025095175949 | erot = 0.147146040888439 | epot = -14.935604381433 | etot = -14.6424332453686 -611000 ekin = 0.148599079335757 | erot = 0.142341118193739 | epot = -14.9333734429002 | etot = -14.6424332453707 -612000 ekin = 0.148639027542241 | erot = 0.140571068727528 | epot = -14.9316433416205 | etot = -14.6424332453507 -613000 ekin = 0.146195193893338 | erot = 0.142121441395774 | epot = -14.9307498805986 | etot = -14.6424332453095 -614000 ekin = 0.141503544705058 | erot = 0.147424293659482 | epot = -14.9313610836148 | etot = -14.6424332452503 -615000 ekin = 0.134972482669589 | erot = 0.157020849768843 | epot = -14.9344265776168 | etot = -14.6424332451783 -616000 ekin = 0.127153892887477 | erot = 0.17150567977268 | epot = -14.9410928177609 | etot = -14.6424332451008 -617000 ekin = 0.118700960497215 | erot = 0.191457667915335 | epot = -14.9525918734382 | etot = -14.6424332450256 -618000 ekin = 0.110316794781948 | erot = 0.21736458449167 | epot = -14.9701146242348 | etot = -14.6424332449612 -619000 ekin = 0.102698942666097 | erot = 0.249548776233835 | epot = -14.994680963815 | etot = -14.6424332449151 -620000 ekin = 0.0964852203315631 | erot = 0.288101317493937 | epot = -15.0270197827191 | etot = -14.6424332448936 -621000 ekin = 0.0922059091526162 | erot = 0.332831044367888 | epot = -15.0674701984216 | etot = -14.6424332449011 -622000 ekin = 0.090246364710084 | erot = 0.383233451864307 | epot = -15.1159130615138 | etot = -14.6424332449395 -623000 ekin = 0.0908226920702867 | erot = 0.438482716268118 | epot = -15.1717386533468 | etot = -14.6424332450084 -624000 ekin = 0.0939716062521641 | erot = 0.497448307340739 | epot = -15.2338531586981 | etot = -14.6424332451052 -625000 ekin = 0.0995541611224816 | erot = 0.558735886785548 | epot = -15.3007232931327 | etot = -14.6424332452247 -626000 ekin = 0.107271859325762 | erot = 0.620750477457381 | epot = -15.3704555821432 | etot = -14.6424332453601 -627000 ekin = 0.116692826737646 | erot = 0.681778220901968 | epot = -15.440904293143 | etot = -14.6424332455034 -628000 ekin = 0.127285245273582 | erot = 0.740081431770171 | epot = -15.5097999226893 | etot = -14.6424332456456 -629000 ekin = 0.138455039153843 | erot = 0.794000196771077 | epot = -15.5748884817029 | etot = -14.6424332457779 -630000 ekin = 0.149584842937087 | erot = 0.84205264024076 | epot = -15.63407072907 | etot = -14.6424332458922 -631000 ekin = 0.160071499853009 | erot = 0.88302544287862 | epot = -15.6855301887133 | etot = -14.6424332459817 -632000 ekin = 0.169359720292754 | erot = 0.916046503426999 | epot = -15.7278394697613 | etot = -14.6424332460416 -633000 ekin = 0.176970053692527 | erot = 0.94063292294126 | epot = -15.7600362227031 | etot = -14.6424332460693 -634000 ekin = 0.182519961289934 | erot = 0.956709735134238 | epot = -15.7816629424889 | etot = -14.6424332460647 -635000 ekin = 0.185737466035627 | erot = 0.964597760206567 | epot = -15.7927684722724 | etot = -14.6424332460302 -636000 ekin = 0.186467519303287 | erot = 0.964972204256552 | epot = -15.79387296953 | etot = -14.6424332459701 -637000 ekin = 0.184671774604466 | erot = 0.958796660376671 | epot = -15.7859016808713 | etot = -14.6424332458901 -638000 ekin = 0.180422825778035 | erot = 0.947239527073052 | epot = -15.7700955986478 | etot = -14.6424332457967 -639000 ekin = 0.173894119064837 | erot = 0.931581224196235 | epot = -15.747908588958 | etot = -14.642433245697 -640000 ekin = 0.165346701827782 | erot = 0.91312083875339 | epot = -15.7209007861784 | etot = -14.6424332455972 -641000 ekin = 0.155113786103692 | erot = 0.893090060089671 | epot = -15.6906370916964 | etot = -14.6424332455031 -642000 ekin = 0.143583869244217 | erot = 0.872580710306169 | epot = -15.6585978249696 | etot = -14.6424332454192 -643000 ekin = 0.131182953689566 | erot = 0.852490168054334 | epot = -15.6261063670926 | etot = -14.6424332453487 -644000 ekin = 0.118356305761173 | erot = 0.833486853990269 | epot = -15.5942764050451 | etot = -14.6424332452937 -645000 ekin = 0.105550209085081 | erot = 0.815995971212791 | epot = -15.5639794255527 | etot = -14.6424332452548 -646000 ekin = 0.0931942744194625 | erot = 0.800204061931269 | epot = -15.5358315815826 | etot = -14.6424332452318 -647000 ekin = 0.0816850001800769 | erot = 0.786079744440999 | epot = -15.5101979898444 | etot = -14.6424332452233 -648000 ekin = 0.0713713598437978 | erot = 0.773407243193285 | epot = -15.4872118482646 | etot = -14.6424332452275 -649000 ekin = 0.0625431628717075 | erot = 0.761828976530965 | epot = -15.4668053846445 | etot = -14.6424332452418 -650000 ekin = 0.0554227735503044 | erot = 0.750893453414529 | epot = -15.4487494722282 | etot = -14.6424332452633 -651000 ekin = 0.0501605027658098 | erot = 0.74010497844913 | epot = -15.4326987265041 | etot = -14.6424332452892 -652000 ekin = 0.0468336713663308 | erot = 0.728972100421486 | epot = -15.4182390171043 | etot = -14.6424332453165 -653000 ekin = 0.0454490492573673 | erot = 0.717052285945908 | epot = -15.4049345805457 | etot = -14.6424332453424 -654000 ekin = 0.0459481524943306 | erot = 0.703990869784824 | epot = -15.3923722676438 | etot = -14.6424332453647 -655000 ekin = 0.048214749528602 | erot = 0.689552835107499 | epot = -15.3802008300172 | etot = -14.6424332453811 -656000 ekin = 0.0520838761262338 | erot = 0.673646332749968 | epot = -15.3681634542667 | etot = -14.6424332453905 -657000 ekin = 0.0573516620848271 | erot = 0.656337023115609 | epot = -15.356121930592 | etot = -14.6424332453915 -658000 ekin = 0.0637853134927773 | erot = 0.637852348219684 | epot = -15.3440709070967 | etot = -14.6424332453842 -659000 ekin = 0.0711326702869463 | erot = 0.618574815847903 | epot = -15.3321407315039 | etot = -14.642433245369 -660000 ekin = 0.0791308828100933 | erot = 0.59902345470884 | epot = -15.3205875828664 | etot = -14.6424332453475 -661000 ekin = 0.0875139366233532 | erot = 0.57982293974752 | epot = -15.3097701216927 | etot = -14.6424332453218 -662000 ekin = 0.096019000419939 | erot = 0.56166061034769 | epot = -15.3001128560625 | etot = -14.6424332452949 -663000 ekin = 0.104391848885312 | erot = 0.545232746054744 | epot = -15.2920578402104 | etot = -14.6424332452703 -664000 ekin = 0.1123918633903 | erot = 0.531182949318153 | epot = -15.2860080579606 | etot = -14.6424332452521 -665000 ekin = 0.119797262721338 | erot = 0.52003712479683 | epot = -15.2822676327618 | etot = -14.6424332452437 -666000 ekin = 0.126411190063547 | erot = 0.512141060960723 | epot = -15.2809854962723 | etot = -14.642433245248 -667000 ekin = 0.132069035725132 | erot = 0.507607681729055 | epot = -15.2821099627211 | etot = -14.6424332452669 -668000 ekin = 0.136646914542203 | erot = 0.506281315754288 | epot = -15.2853614755971 | etot = -14.6424332453006 -669000 ekin = 0.140070616013021 | erot = 0.50772556617166 | epot = -15.2902294275324 | etot = -14.6424332453477 -670000 ekin = 0.142323740906679 | erot = 0.511239425098687 | epot = -15.2959964114102 | etot = -14.6424332454048 -671000 ekin = 0.143453306303064 | erot = 0.515903234044996 | epot = -15.3017897858152 | etot = -14.6424332454671 -672000 ekin = 0.143571012732418 | erot = 0.520652256718186 | epot = -15.3066565149793 | etot = -14.6424332455287 -673000 ekin = 0.142848733836954 | erot = 0.524371563357074 | epot = -15.3096535427774 | etot = -14.6424332455834 -674000 ekin = 0.141507613277718 | erot = 0.526002362930759 | epot = -15.3099432218339 | etot = -14.6424332456254 -675000 ekin = 0.13980130282559 | erot = 0.524647629024632 | epot = -15.3068821775003 | etot = -14.6424332456501 -676000 ekin = 0.137995095210639 | erot = 0.519664439041565 | epot = -15.3000927799068 | etot = -14.6424332456546 -677000 ekin = 0.136343677285182 | erot = 0.510732098518056 | epot = -15.2895090214411 | etot = -14.6424332456378 -678000 ekin = 0.1350706641226 | erot = 0.49788857525657 | epot = -15.2753924849801 | etot = -14.6424332456009 -679000 ekin = 0.134352810444862 | erot = 0.481532294132637 | epot = -15.2583183501238 | etot = -14.6424332455463 -680000 ekin = 0.13431086265575 | erot = 0.462390968605425 | epot = -15.2391350767393 | etot = -14.6424332454781 -681000 ekin = 0.135007638923122 | erot = 0.441462941784965 | epot = -15.218903826109 | etot = -14.6424332454009 -682000 ekin = 0.136452461524589 | erot = 0.419938865037975 | epot = -15.1988245718825 | etot = -14.6424332453199 -683000 ekin = 0.138609887397947 | erot = 0.399112293315654 | epot = -15.1801554259539 | etot = -14.6424332452403 -684000 ekin = 0.141410065648264 | erot = 0.380287181762594 | epot = -15.1641304925779 | etot = -14.6424332451671 -685000 ekin = 0.144758102722244 | erot = 0.364688846299647 | epot = -15.1518801941267 | etot = -14.6424332451049 -686000 ekin = 0.14854046711943 | erot = 0.353383275614745 | epot = -15.144356987792 | etot = -14.6424332450578 -687000 ekin = 0.152627512098722 | erot = 0.347208212231136 | epot = -15.1422689693591 | etot = -14.6424332450292 -688000 ekin = 0.156872371008243 | erot = 0.346718408271441 | epot = -15.1460240243019 | etot = -14.6424332450222 -689000 ekin = 0.161107527974782 | erot = 0.352146941115747 | epot = -15.1556877141288 | etot = -14.6424332450382 -690000 ekin = 0.16514108738065 | erot = 0.363384304942447 | epot = -15.1709586374008 | etot = -14.6424332450777 -691000 ekin = 0.168755042649082 | erot = 0.379976931156971 | epot = -15.1911652189453 | etot = -14.6424332451393 -692000 ekin = 0.171707649703694 | erot = 0.401146558398203 | epot = -15.2152874533219 | etot = -14.64243324522 -693000 ekin = 0.173741393443093 | erot = 0.425831232789035 | epot = -15.2420058715475 | etot = -14.6424332453154 -694000 ekin = 0.174597110624773 | erot = 0.452747528140487 | epot = -15.2697778841841 | etot = -14.6424332454189 -695000 ekin = 0.174033757472237 | erot = 0.480471830922762 | epot = -15.2969388339179 | etot = -14.6424332455229 -696000 ekin = 0.171852263364752 | erot = 0.50753639815869 | epot = -15.3218219071425 | etot = -14.6424332456191 -697000 ekin = 0.167921065290924 | erot = 0.532533688693483 | epot = -15.3428879996837 | etot = -14.6424332456993 -698000 ekin = 0.162200409477016 | erot = 0.554220619925494 | epot = -15.3588542751586 | etot = -14.6424332457561 -699000 ekin = 0.154762415715625 | erot = 0.571613361028384 | epot = -15.3688090225278 | etot = -14.6424332457837 -700000 ekin = 0.14580423000878 | erot = 0.584063387088342 | epot = -15.3723008628759 | etot = -14.6424332457788 -701000 ekin = 0.135652269558589 | erot = 0.591306922721675 | epot = -15.3693924380207 | etot = -14.6424332457404 -702000 ekin = 0.124756460207458 | erot = 0.593482464349287 | epot = -15.3606721702276 | etot = -14.6424332456708 -703000 ekin = 0.11367432595124 | erot = 0.591114401857202 | epot = -15.3472219733832 | etot = -14.6424332455747 -704000 ekin = 0.10304567594557 | erot = 0.585064323196779 | epot = -15.3305432446014 | etot = -14.6424332454591 -705000 ekin = 0.093559358196298 | erot = 0.576454826534863 | epot = -15.3124474300637 | etot = -14.6424332453326 -706000 ekin = 0.0859140824284676 | erot = 0.566573150256884 | epot = -15.2949204778901 | etot = -14.6424332452047 -707000 ekin = 0.0807756759557719 | erot = 0.556763427609663 | epot = -15.2799723486508 | etot = -14.6424332450854 -708000 ekin = 0.0787333622599937 | erot = 0.548316855291462 | epot = -15.269483462535 | etot = -14.6424332449836 -709000 ekin = 0.0802577669150991 | erot = 0.542368667954137 | epot = -15.2650596797766 | etot = -14.6424332449074 -710000 ekin = 0.0856633545528662 | erot = 0.539809747049451 | epot = -15.2679063464654 | etot = -14.642433244863 -711000 ekin = 0.0950778519027508 | erot = 0.541219180891539 | epot = -15.2787302776488 | etot = -14.6424332448545 -712000 ekin = 0.10842087662218 | erot = 0.546822307911647 | epot = -15.2976764294171 | etot = -14.6424332448833 -713000 ekin = 0.125393451694867 | erot = 0.556476834657881 | epot = -15.3243035313012 | etot = -14.6424332449484 -714000 ekin = 0.145479367621472 | erot = 0.569687600119496 | epot = -15.3576002127874 | etot = -14.6424332450464 -715000 ekin = 0.167958541116859 | erot = 0.585648522303218 | epot = -15.3960403085917 | etot = -14.6424332451716 -716000 ekin = 0.191931735851232 | erot = 0.60330829253147 | epot = -15.4376732736993 | etot = -14.6424332453166 -717000 ekin = 0.216355400176894 | erot = 0.621454592037079 | epot = -15.4802432376866 | etot = -14.6424332454726 -718000 ekin = 0.24008505651044 | erot = 0.638810139731556 | epot = -15.521328441872 | etot = -14.64243324563 -719000 ekin = 0.261925698575349 | erot = 0.654132895986116 | epot = -15.558491840341 | etot = -14.6424332457795 -720000 ekin = 0.280687969311591 | erot = 0.666312379867061 | epot = -15.5894335950905 | etot = -14.6424332459119 -721000 ekin = 0.295249345589153 | erot = 0.674454385927668 | epot = -15.6121369775356 | etot = -14.6424332460188 -722000 ekin = 0.304619886333733 | erot = 0.67794741025506 | epot = -15.6250005426818 | etot = -14.642433246093 -723000 ekin = 0.308011983727977 | erot = 0.676505724570366 | epot = -15.6269509544273 | etot = -14.642433246129 -724000 ekin = 0.304912667284364 | erot = 0.670186105899516 | epot = -15.6175320193064 | etot = -14.6424332461225 -725000 ekin = 0.295155116711556 | erot = 0.659377522489347 | epot = -15.5969658852725 | etot = -14.6424332460716 -726000 ekin = 0.278983134900095 | erot = 0.644765363158316 | epot = -15.5661817440347 | etot = -14.6424332459763 -727000 ekin = 0.257098790794367 | erot = 0.627273860362841 | epot = -15.5268058969971 | etot = -14.6424332458399 -728000 ekin = 0.230680158274935 | erot = 0.607992016180396 | epot = -15.481105420124 | etot = -14.6424332456687 -729000 ekin = 0.201354496276678 | erot = 0.588089464034347 | epot = -15.4318772057843 | etot = -14.6424332454733 -730000 ekin = 0.171114103979303 | erot = 0.568729214715612 | epot = -15.382276563963 | etot = -14.6424332452681 -731000 ekin = 0.142168923912273 | erot = 0.55098413507054 | epot = -15.3355863040536 | etot = -14.6424332450708 -732000 ekin = 0.11674200710062 | erot = 0.535763349043798 | epot = -15.294938601045 | etot = -14.6424332449006 -733000 ekin = 0.096829302757611 | erot = 0.523753647321743 | epot = -15.263016194855 | etot = -14.6424332447757 -734000 ekin = 0.0839596135620853 | erot = 0.515379592338737 | epot = -15.2417724506111 | etot = -14.6424332447103 -735000 ekin = 0.0789983701793321 | erot = 0.510784464196176 | epot = -15.2322160790871 | etot = -14.6424332447116 -736000 ekin = 0.0820355551944618 | erot = 0.509832642266591 | epot = -15.2343014422397 | etot = -14.6424332447787 -737000 ekin = 0.0923827123871921 | erot = 0.51213255085583 | epot = -15.2469485081446 | etot = -14.6424332449015 -738000 ekin = 0.108680448514306 | erot = 0.517077971028045 | epot = -15.2681916646065 | etot = -14.6424332450641 -739000 ekin = 0.12909371568349 | erot = 0.523904364927467 | epot = -15.2954313258571 | etot = -14.6424332452461 -740000 ekin = 0.151555277793912 | erot = 0.531755895780646 | epot = -15.3257444190018 | etot = -14.6424332454272 -741000 ekin = 0.174012721806563 | erot = 0.539758083454575 | epot = -15.3562040508503 | etot = -14.6424332455892 -742000 ekin = 0.194640916831384 | erot = 0.547090549700596 | epot = -15.3841647122502 | etot = -14.6424332457182 -743000 ekin = 0.211995737398717 | erot = 0.553054125338761 | epot = -15.4074831085432 | etot = -14.6424332458057 -744000 ekin = 0.22510050872294 | erot = 0.557126762310943 | epot = -15.4246605168818 | etot = -14.6424332458479 -745000 ekin = 0.233469424486957 | erot = 0.559003260240344 | epot = -15.4349059305732 | etot = -14.6424332458459 -746000 ekin = 0.2370799134654 | erot = 0.558614810501353 | epot = -15.438127969771 | etot = -14.6424332458043 -747000 ekin = 0.236308652985431 | erot = 0.556125790084381 | epot = -15.4348676888002 | etot = -14.6424332457304 -748000 ekin = 0.231845097888603 | erot = 0.551907079331795 | epot = -15.426185422854 | etot = -14.6424332456336 -749000 ekin = 0.224593843485089 | erot = 0.546487360031397 | epot = -15.4135144490409 | etot = -14.6424332455244 -750000 ekin = 0.215574369393293 | erot = 0.540486233486826 | epot = -15.3984938482942 | etot = -14.6424332454141 -751000 ekin = 0.205824583428116 | erot = 0.534535356766581 | epot = -15.382793185508 | etot = -14.6424332453133 -752000 ekin = 0.196313335743831 | erot = 0.529195815220672 | epot = -15.367942396196 | etot = -14.6424332452315 -753000 ekin = 0.187866475789607 | erot = 0.524881252734243 | epot = -15.3551809737002 | etot = -14.6424332451763 -754000 ekin = 0.181110613628491 | erot = 0.521796491100216 | epot = -15.3453403498808 | etot = -14.6424332451521 -755000 ekin = 0.176438042206941 | erot = 0.519900210809565 | epot = -15.3387714981766 | etot = -14.6424332451601 -756000 ekin = 0.173994962649976 | erot = 0.518897676287607 | epot = -15.3353258841355 | etot = -14.642433245198 -757000 ekin = 0.173693190273855 | erot = 0.518265706185164 | epot = -15.334392141719 | etot = -14.6424332452599 -758000 ekin = 0.175243155018327 | erot = 0.517307659824269 | epot = -15.3349840601804 | etot = -14.6424332453378 -759000 ekin = 0.178203703096713 | erot = 0.515231902167182 | epot = -15.3358688506856 | etot = -14.6424332454217 -760000 ekin = 0.182042463552564 | erot = 0.511243837951639 | epot = -15.3357195470058 | etot = -14.6424332455016 -761000 ekin = 0.186199747764933 | erot = 0.504639825550332 | epot = -15.3332728188834 | etot = -14.6424332455682 -762000 ekin = 0.190149235948613 | erot = 0.494891409036607 | epot = -15.3274738905993 | etot = -14.6424332456141 -763000 ekin = 0.193449921097585 | erot = 0.481710238289879 | epot = -15.3175934050219 | etot = -14.6424332456345 -764000 ekin = 0.195785552428752 | erot = 0.465087294354156 | epot = -15.3033060924098 | etot = -14.6424332456268 -765000 ekin = 0.196989678186294 | erot = 0.445303873494492 | epot = -15.2847267972726 | etot = -14.6424332455918 -766000 ekin = 0.197055919183484 | erot = 0.422915440294251 | epot = -15.26240460501 | etot = -14.6424332455322 -767000 ekin = 0.19613407649359 | erot = 0.398712320924831 | epot = -15.2372796428711 | etot = -14.6424332454526 -768000 ekin = 0.194513096651386 | erot = 0.373662938959647 | epot = -15.2106092809703 | etot = -14.6424332453593 -769000 ekin = 0.192592017625304 | erot = 0.348845887486037 | epot = -15.1838711503705 | etot = -14.6424332452592 -770000 ekin = 0.190840163683791 | erot = 0.325376840212305 | epot = -15.1586502490562 | etot = -14.6424332451601 -771000 ekin = 0.189748397224452 | erot = 0.304335529899573 | epot = -15.136517172194 | etot = -14.64243324507 -772000 ekin = 0.189774341847263 | erot = 0.286697153920281 | epot = -15.1189047407638 | etot = -14.6424332449962 -773000 ekin = 0.191286034496866 | erot = 0.273271857835351 | epot = -15.1069911372776 | etot = -14.6424332449453 -774000 ekin = 0.194510000604709 | erot = 0.264655458968876 | epot = -15.101598704496 | etot = -14.6424332449224 -775000 ekin = 0.199490639675106 | erot = 0.261194193154614 | epot = -15.1031180777597 | etot = -14.64243324493 -776000 ekin = 0.206067477061454 | erot = 0.262965803934464 | epot = -15.1114665259641 | etot = -14.6424332449682 -777000 ekin = 0.213875019081943 | erot = 0.269778568412073 | epot = -15.1260868325284 | etot = -14.6424332450344 -778000 ekin = 0.222366868961404 | erot = 0.281188790675987 | epot = -15.1459889047605 | etot = -14.6424332451231 -779000 ekin = 0.230862102265719 | erot = 0.296535944176208 | epot = -15.169831291669 | etot = -14.6424332452271 -780000 ekin = 0.238608567016806 | erot = 0.31499316909211 | epot = -15.1960349814464 | etot = -14.6424332453374 -781000 ekin = 0.244855557739756 | erot = 0.335629445236695 | epot = -15.2229182484214 | etot = -14.6424332454449 -782000 ekin = 0.248927612477286 | erot = 0.357478674286886 | epot = -15.2488395323048 | etot = -14.6424332455406 -783000 ekin = 0.250291897528993 | erot = 0.379610269028342 | epot = -15.2723354121742 | etot = -14.6424332456169 -784000 ekin = 0.248613283253222 | erot = 0.401195731122937 | epot = -15.2922422600437 | etot = -14.6424332456676 -785000 ekin = 0.243793133451402 | erot = 0.421566090466529 | epot = -15.3077924696065 | etot = -14.6424332456886 -786000 ekin = 0.23598950185365 | erot = 0.44025590520682 | epot = -15.3186786527387 | etot = -14.6424332456782 -787000 ekin = 0.225617610785865 | erot = 0.457030673432359 | epot = -15.3250815298553 | etot = -14.6424332456371 -788000 ekin = 0.213330260903178 | erot = 0.471895861695948 | epot = -15.3276593681676 | etot = -14.6424332455685 -789000 ekin = 0.199978499678579 | erot = 0.485087183883026 | epot = -15.3274989290395 | etot = -14.6424332454779 -790000 ekin = 0.186553834704508 | erot = 0.49704314124288 | epot = -15.32603022132 | etot = -14.6424332453726 -791000 ekin = 0.174114766793481 | erot = 0.508362048569847 | epot = -15.3249100606249 | etot = -14.6424332452616 -792000 ekin = 0.163702420432414 | erot = 0.519746739180895 | epot = -15.3258824047679 | etot = -14.6424332451546 -793000 ekin = 0.156252224966309 | erot = 0.53194082298947 | epot = -15.3306262930168 | etot = -14.642433245061 -794000 ekin = 0.152510350034315 | erot = 0.545660777315094 | epot = -15.3406043723391 | etot = -14.6424332449897 -795000 ekin = 0.152964251156891 | erot = 0.5615283269811 | epot = -15.3569258230857 | etot = -14.6424332449477 -796000 ekin = 0.157795747355246 | erot = 0.580007578778131 | epot = -15.3802365710729 | etot = -14.6424332449395 -797000 ekin = 0.166862457855134 | erot = 0.601351255569813 | epot = -15.4106469583918 | etot = -14.6424332449668 -798000 ekin = 0.179709603428539 | erot = 0.62556012184583 | epot = -15.4477029703029 | etot = -14.6424332450285 -799000 ekin = 0.195609966057053 | erot = 0.652359247176983 | epot = -15.490402458355 | etot = -14.642433245121 -800000 ekin = 0.213626158786136 | erot = 0.68119402187417 | epot = -15.5372534258983 | etot = -14.642433245238 -801000 ekin = 0.232687040188266 | erot = 0.711247726387183 | epot = -15.5863680119474 | etot = -14.642433245372 -802000 ekin = 0.251669429100998 | erot = 0.741480919836821 | epot = -15.6355835944519 | etot = -14.642433245514 -803000 ekin = 0.269477067853637 | erot = 0.770691008421927 | epot = -15.6826013219306 | etot = -14.642433245655 -804000 ekin = 0.285110541453573 | erot = 0.797588259159231 | epot = -15.7251320463985 | etot = -14.6424332457857 -805000 ekin = 0.297723982502801 | erot = 0.820882528800413 | epot = -15.7610397572012 | etot = -14.6424332458979 -806000 ekin = 0.306666387684663 | erot = 0.839373432914301 | epot = -15.7884730665838 | etot = -14.6424332459848 -807000 ekin = 0.311506975554225 | erot = 0.852035914446659 | epot = -15.8059761360419 | etot = -14.642433246041 -808000 ekin = 0.312045176252483 | erot = 0.858093398528957 | epot = -15.812571820845 | etot = -14.6424332460636 -809000 ekin = 0.308306642387543 | erot = 0.857071970759347 | epot = -15.8078118591986 | etot = -14.6424332460517 -810000 ekin = 0.300527220561017 | erot = 0.848831113929473 | epot = -15.7917915804974 | etot = -14.6424332460069 -811000 ekin = 0.289127204421129 | erot = 0.833569138622877 | epot = -15.7651295889766 | etot = -14.6424332459326 -812000 ekin = 0.274678427602343 | erot = 0.811804116493732 | epot = -15.72891578993 | etot = -14.6424332458339 -813000 ekin = 0.257866835583857 | erot = 0.784333459543394 | epot = -15.6846335408442 | etot = -14.642433245717 -814000 ekin = 0.23945308059417 | erot = 0.752176980197134 | epot = -15.6340633063801 | etot = -14.6424332455888 -815000 ekin = 0.220233415151649 | erot = 0.716509170267373 | epot = -15.5791758308753 | etot = -14.6424332454563 -816000 ekin = 0.201002751046645 | erot = 0.678586569748774 | epot = -15.5220225661215 | etot = -14.6424332453261 -817000 ekin = 0.182521261080257 | erot = 0.639675603865673 | epot = -15.4646301101501 | etot = -14.6424332452042 -818000 ekin = 0.16548540152787 | erot = 0.600985363832187 | epot = -15.4089040104558 | etot = -14.6424332450958 -819000 ekin = 0.15050378978045 | erot = 0.563608719250084 | epot = -15.3565457540356 | etot = -14.642433245005 -820000 ekin = 0.138078032178526 | erot = 0.528474068973221 | epot = -15.3089853460867 | etot = -14.6424332449349 -821000 ekin = 0.1285883867302 | erot = 0.496309093118672 | epot = -15.2673307247365 | etot = -14.6424332448876 -822000 ekin = 0.12228406613689 | erot = 0.467617125516686 | epot = -15.2323344365175 | etot = -14.6424332448639 -823000 ekin = 0.119278020924427 | erot = 0.442666228479689 | epot = -15.204377494268 | etot = -14.6424332448639 -824000 ekin = 0.119546158603772 | erot = 0.421490682739598 | epot = -15.1834700862299 | etot = -14.6424332448865 -825000 ekin = 0.122931110514646 | erot = 0.403904342224695 | epot = -15.1692686976689 | etot = -14.6424332449295 -826000 ekin = 0.129150803764422 | erot = 0.389525075000924 | epot = -15.1611091237554 | etot = -14.64243324499 -827000 ekin = 0.137812176399265 | erot = 0.377809252271385 | epot = -15.1580546737348 | etot = -14.6424332450642 -828000 ekin = 0.148430331608458 | erot = 0.368094906963596 | epot = -15.1589584837193 | etot = -14.6424332451472 -829000 ekin = 0.160453205761757 | erot = 0.3596517375127 | epot = -15.1625381885084 | etot = -14.6424332452339 -830000 ekin = 0.173291382896823 | erot = 0.351735589545891 | epot = -15.1674602177611 | etot = -14.6424332453184 -831000 ekin = 0.186352012963015 | erot = 0.343644456330365 | epot = -15.1724297146884 | etot = -14.642433245395 -832000 ekin = 0.199074924605492 | erot = 0.334772487921431 | epot = -15.1762806579853 | etot = -14.6424332454584 -833000 ekin = 0.210968084880519 | erot = 0.324658115189106 | epot = -15.1780594455734 | etot = -14.6424332455038 -834000 ekin = 0.22163875725694 | erot = 0.313022323442632 | epot = -15.1770943262278 | etot = -14.6424332455283 -835000 ekin = 0.230816330001906 | erot = 0.299793483326875 | epot = -15.1730430588591 | etot = -14.6424332455304 -836000 ekin = 0.238363132174156 | erot = 0.285116039960992 | epot = -15.165912417646 | etot = -14.6424332455109 -837000 ekin = 0.244270841530906 | erot = 0.269341751259717 | epot = -15.1560458382634 | etot = -14.6424332454728 -838000 ekin = 0.248642320235629 | erot = 0.253003904103877 | epot = -15.1440794697601 | etot = -14.6424332454206 -839000 ekin = 0.251661569327587 | erot = 0.236776758987145 | epot = -15.1308715736748 | etot = -14.6424332453601 -840000 ekin = 0.253557306828163 | erot = 0.221424057161458 | epot = -15.117414609287 | etot = -14.6424332452974 -841000 ekin = 0.254567562696712 | erot = 0.207741475743549 | epot = -15.1047422836783 | etot = -14.642433245238 -842000 ekin = 0.254912814683648 | erot = 0.19649826235426 | epot = -15.093844322224 | etot = -14.6424332451861 -843000 ekin = 0.254783130765732 | erot = 0.18838292178705 | epot = -15.0855992976972 | etot = -14.6424332451444 -844000 ekin = 0.254340789697802 | erot = 0.183956927272122 | epot = -15.0807309620839 | etot = -14.642433245114 -845000 ekin = 0.253734932891637 | erot = 0.183619247980649 | epot = -15.079787425967 | etot = -14.6424332450947 -846000 ekin = 0.25312050419609 | erot = 0.187583282239926 | epot = -15.0831370315219 | etot = -14.6424332450859 -847000 ekin = 0.252671650088207 | erot = 0.195866742639201 | epot = -15.0909716378148 | etot = -14.6424332450873 -848000 ekin = 0.252580915310227 | erot = 0.208294222463247 | epot = -15.1033083828726 | etot = -14.6424332450991 -849000 ekin = 0.253039966848203 | erot = 0.224511555531949 | epot = -15.1199847675021 | etot = -14.642433245122 -850000 ekin = 0.254204001798466 | erot = 0.244010590097926 | epot = -15.1406478370531 | etot = -14.6424332451567 -851000 ekin = 0.25614833902674 | erot = 0.266162563602757 | epot = -15.1647441478328 | etot = -14.6424332452033 -852000 ekin = 0.258829686440543 | erot = 0.290257858698332 | epot = -15.1915207903994 | etot = -14.6424332452605 -853000 ekin = 0.262064657828545 | erot = 0.315549558167831 | epot = -15.2200474613219 | etot = -14.6424332453255 -854000 ekin = 0.265534116122616 | erot = 0.341297947736459 | epot = -15.2492653092525 | etot = -14.6424332453934 -855000 ekin = 0.26881517465356 | erot = 0.366813004430954 | epot = -15.2780614245429 | etot = -14.6424332454584 -856000 ekin = 0.2714354869546 | erot = 0.391492007901482 | epot = -15.3053607403704 | etot = -14.6424332455143 -857000 ekin = 0.272939108063026 | erot = 0.414849750473433 | epot = -15.3302221040922 | etot = -14.6424332455557 -858000 ekin = 0.272951155039827 | erot = 0.436539390688028 | epot = -15.3519237913065 | etot = -14.6424332455787 -859000 ekin = 0.27122988067654 | erot = 0.456362750059338 | epot = -15.370025876317 | etot = -14.6424332455811 -860000 ekin = 0.267698633834005 | erot = 0.474269718460678 | epot = -15.3844015978584 | etot = -14.6424332455637 -861000 ekin = 0.262455001753023 | erot = 0.490347316007822 | epot = -15.3952355632891 | etot = -14.6424332455283 -862000 ekin = 0.255758797176847 | erot = 0.504799761298972 | epot = -15.4029918039546 | etot = -14.6424332454788 -863000 ekin = 0.248003564341593 | erot = 0.517921532812577 | epot = -15.408358342574 | etot = -14.6424332454198 -864000 ekin = 0.239677655585047 | erot = 0.530065823503499 | epot = -15.412176724445 | etot = -14.6424332453565 -865000 ekin = 0.23132088944558 | erot = 0.541610953534477 | epot = -15.4153650882737 | etot = -14.6424332452936 -866000 ekin = 0.223481813676492 | erot = 0.552927233332167 | epot = -15.4188422922443 | etot = -14.6424332452356 -867000 ekin = 0.21667917449216 | erot = 0.564346499432584 | epot = -15.4234589191109 | etot = -14.6424332451862 -868000 ekin = 0.211369750018423 | erot = 0.576136138939141 | epot = -15.4299391341058 | etot = -14.6424332451482 -869000 ekin = 0.207923502308487 | erot = 0.588478941151825 | epot = -15.4388356885839 | etot = -14.6424332451236 -870000 ekin = 0.206606153000579 | erot = 0.601459626890824 | epot = -15.4504990250046 | etot = -14.6424332451132 -871000 ekin = 0.207568796758706 | erot = 0.615058451106102 | epot = -15.4650604929822 | etot = -14.6424332451174 -872000 ekin = 0.210843969902103 | erot = 0.629151875760072 | epot = -15.4824290907977 | etot = -14.6424332451355 -873000 ekin = 0.216347593119445 | erot = 0.643519970834179 | epot = -15.5023008091198 | etot = -14.6424332451662 -874000 ekin = 0.223886305143434 | erot = 0.657859909731246 | epot = -15.5241794600821 | etot = -14.6424332452075 -875000 ekin = 0.233169807553067 | erot = 0.671804662211551 | epot = -15.5474077150215 | etot = -14.6424332452569 -876000 ekin = 0.243827877963456 | erot = 0.684945735800616 | epot = -15.5712068590756 | etot = -14.6424332453115 -877000 ekin = 0.255431632545719 | erot = 0.696858567355222 | epot = -15.5947234452689 | etot = -14.642433245368 -878000 ekin = 0.267518408512945 | erot = 0.707128927389438 | epot = -15.6170805813253 | etot = -14.6424332454229 -879000 ekin = 0.279619300258663 | erot = 0.715378495721848 | epot = -15.6374310414535 | etot = -14.642433245473 -880000 ekin = 0.291287955020082 | erot = 0.721287639199831 | epot = -15.655008839735 | etot = -14.6424332455151 -881000 ekin = 0.302128778464172 | erot = 0.724613422811349 | epot = -15.6691754468222 | etot = -14.6424332455467 -882000 ekin = 0.311822304068348 | erot = 0.72520106817747 | epot = -15.6794566178122 | etot = -14.6424332455663 -883000 ekin = 0.32014524378723 | erot = 0.722987481104759 | epot = -15.6855659704652 | etot = -14.6424332455732 -884000 ekin = 0.326982762198449 | erot = 0.717996120159773 | epot = -15.6874121279262 | etot = -14.642433245568 -885000 ekin = 0.332330882212052 | erot = 0.710323349672674 | epot = -15.6850874774371 | etot = -14.6424332455524 -886000 ekin = 0.336287673330606 | erot = 0.700117442976865 | epot = -15.6788383618368 | etot = -14.6424332455294 -887000 ekin = 0.339032964151287 | erot = 0.687552454437637 | epot = -15.6690186640915 | etot = -14.6424332455026 -888000 ekin = 0.340797654544087 | erot = 0.672800100946149 | epot = -15.6560310009666 | etot = -14.6424332454764 -889000 ekin = 0.341825106158792 | erot = 0.656003407102967 | epot = -15.6402617587166 | etot = -14.6424332454548 -890000 ekin = 0.34232834757507 | erot = 0.637256013166648 | epot = -15.6220176061832 | etot = -14.6424332454415 -891000 ekin = 0.342447730492025 | erot = 0.616590618571196 | epot = -15.6014715945022 | etot = -14.642433245439 -892000 ekin = 0.342214057411764 | erot = 0.593979026507483 | epot = -15.5786263293677 | etot = -14.6424332454484 -893000 ekin = 0.341522004910226 | erot = 0.569344767734754 | epot = -15.5533000181142 | etot = -14.6424332454692 -894000 ekin = 0.340117934117732 | erot = 0.542587519917767 | epot = -15.5251386995347 | etot = -14.6424332454992 -895000 ekin = 0.337605044782691 | erot = 0.513616778982377 | epot = -15.4936550692997 | etot = -14.6424332455346 -896000 ekin = 0.333467462872541 | erot = 0.482390775176039 | epot = -15.4582914836189 | etot = -14.6424332455703 -897000 ekin = 0.327113397522298 | erot = 0.448955709004864 | epot = -15.4185023521275 | etot = -14.6424332456003 -898000 ekin = 0.317936017621705 | erot = 0.413480165460747 | epot = -15.3738494287008 | etot = -14.6424332456183 -899000 ekin = 0.305389123797813 | erot = 0.376280077470634 | epot = -15.3241024468866 | etot = -14.6424332456181 -900000 ekin = 0.289072881398238 | erot = 0.337830752319679 | epot = -15.2693368793119 | etot = -14.642433245594 -901000 ekin = 0.268822686263766 | erot = 0.298764046956941 | epot = -15.2100199787623 | etot = -14.6424332455416 -902000 ekin = 0.244791653973854 | erot = 0.259850521116686 | epot = -15.147075420549 | etot = -14.6424332454585 -903000 ekin = 0.217514571467877 | erot = 0.2219680472084 | epot = -15.0819158640211 | etot = -14.6424332453448 -904000 ekin = 0.187939204416865 | erot = 0.18605969200996 | epot = -15.016432141631 | etot = -14.6424332452042 -905000 ekin = 0.157410847736454 | erot = 0.153084564880819 | epot = -14.9529286576615 | etot = -14.6424332450442 -906000 ekin = 0.127599356275869 | erot = 0.123965703542124 | epot = -14.8939983046943 | etot = -14.6424332448764 -907000 ekin = 0.100365589134273 | erot = 0.0995389863865968 | epot = -14.8423378202365 | etot = -14.6424332447156 -908000 ekin = 0.0775759855969076 | erot = 0.0805066337373332 | epot = -14.8005158639122 | etot = -14.6424332445779 -909000 ekin = 0.060887695004245 | erot = 0.0673982354544352 | epot = -14.7707191749376 | etot = -14.6424332444789 -910000 ekin = 0.051538292298201 | erot = 0.0605415547689986 | epot = -14.7545130914979 | etot = -14.6424332444307 -911000 ekin = 0.0501789452889314 | erot = 0.0600446989611976 | epot = -14.7526568886895 | etot = -14.6424332444394 -912000 ekin = 0.0567846925720761 | erot = 0.0657906450222932 | epot = -14.7650085820985 | etot = -14.6424332445042 -913000 ekin = 0.0706603747930264 | erot = 0.0774445361866898 | epot = -14.7905381555969 | etot = -14.6424332446172 -914000 ekin = 0.0905398584091763 | erot = 0.0944735694303653 | epot = -14.8274466726047 | etot = -14.6424332447652 -915000 ekin = 0.114756144628428 | erot = 0.116178630207615 | epot = -14.8733680197682 | etot = -14.6424332449321 -916000 ekin = 0.141447043402292 | erot = 0.141736093139118 | epot = -14.9256163816431 | etot = -14.6424332451017 -917000 ekin = 0.168758535419861 | erot = 0.170247440488538 | epot = -14.9814392211683 | etot = -14.6424332452599 -918000 ekin = 0.195014913439662 | erot = 0.200793639368136 | epot = -15.0382417982035 | etot = -14.6424332453957 -919000 ekin = 0.218837422083706 | erot = 0.232490666335444 | epot = -15.0937613339213 | etot = -14.6424332455022 -920000 ekin = 0.239206641023781 | erot = 0.264542267091206 | epot = -15.1461821536913 | etot = -14.6424332455763 -921000 ekin = 0.255474577148722 | erot = 0.29628605080145 | epot = -15.1941938735681 | etot = -14.6424332456179 -922000 ekin = 0.26733863121584 | erot = 0.327229363204498 | epot = -15.2370012400495 | etot = -14.6424332456292 -923000 ekin = 0.274791412214288 | erot = 0.357072039936907 | epot = -15.2742966977651 | etot = -14.6424332456139 -924000 ekin = 0.278059017516471 | erot = 0.385714059432095 | epot = -15.3062063225254 | etot = -14.6424332455768 -925000 ekin = 0.277537405168489 | erot = 0.413247220094928 | epot = -15.3332178707869 | etot = -14.6424332455235 -926000 ekin = 0.273733135238468 | erot = 0.439931173660914 | epot = -15.3560975543588 | etot = -14.6424332454594 -927000 ekin = 0.26721185964169 | erot = 0.466155363881716 | epot = -15.3758004689138 | etot = -14.6424332453904 -928000 ekin = 0.258555847536273 | erot = 0.492389553502083 | epot = -15.3933786463605 | etot = -14.6424332453221 -929000 ekin = 0.248330567892114 | erot = 0.519126582981251 | epot = -15.4098903961332 | etot = -14.6424332452599 -930000 ekin = 0.237059747166417 | erot = 0.546821711631313 | epot = -15.4263147040061 | etot = -14.6424332452084 -931000 ekin = 0.225208144806099 | erot = 0.575833282923054 | epot = -15.4434746729006 | etot = -14.6424332451714 -932000 ekin = 0.213171319366128 | erot = 0.606369490851291 | epot = -15.4619740553693 | etot = -14.6424332451519 -933000 ekin = 0.201271722996209 | erot = 0.638445690378466 | epot = -15.482150658526 | etot = -14.6424332451513 -934000 ekin = 0.189760460110485 | erot = 0.671856006698808 | epot = -15.5040497119792 | etot = -14.6424332451699 -935000 ekin = 0.178823941838717 | erot = 0.706161996587126 | epot = -15.5274191836321 | etot = -14.6424332452063 -936000 ekin = 0.168594479115294 | erot = 0.740699865837039 | epot = -15.5517275902103 | etot = -14.6424332452579 -937000 ekin = 0.159163635635195 | erot = 0.774606336205919 | epot = -15.5762032171622 | etot = -14.6424332453211 -938000 ekin = 0.150596971915171 | erot = 0.806861786796075 | epot = -15.5998920041023 | etot = -14.6424332453911 -939000 ekin = 0.142948711632666 | erot = 0.836347883526529 | epot = -15.6217298406219 | etot = -14.6424332454627 -940000 ekin = 0.136274889171384 | erot = 0.861915676028721 | epot = -15.6406238107305 | etot = -14.6424332455304 -941000 ekin = 0.130643703199134 | erot = 0.882459199120404 | epot = -15.6555361479088 | etot = -14.6424332455893 -942000 ekin = 0.126142088160929 | erot = 0.896989065172066 | epot = -15.6655643989677 | etot = -14.6424332456347 -943000 ekin = 0.122877886110378 | erot = 0.904700444358843 | epot = -15.6700115761325 | etot = -14.6424332456633 -944000 ekin = 0.12097740741224 | erot = 0.905030230236918 | epot = -15.6684408833219 | etot = -14.6424332456728 -945000 ekin = 0.120578563690818 | erot = 0.897699054745715 | epot = -15.660710864099 | etot = -14.6424332456625 -946000 ekin = 0.121820103593603 | erot = 0.882735070928584 | epot = -15.6469884201552 | etot = -14.642433245633 -947000 ekin = 0.124827761129181 | erot = 0.860477935596529 | epot = -15.6277389423121 | etot = -14.6424332455864 -948000 ekin = 0.129698334168747 | erot = 0.831563037038142 | epot = -15.6036946167331 | etot = -14.6424332455262 -949000 ekin = 0.136482857558223 | erot = 0.796887554722467 | epot = -15.5758036577371 | etot = -14.6424332454564 -950000 ekin = 0.145170138931244 | erot = 0.757561255988665 | epot = -15.545164640302 | etot = -14.6424332453821 -951000 ekin = 0.155672002995198 | erot = 0.714845916094193 | epot = -15.5129511643977 | etot = -14.6424332453083 -952000 ekin = 0.167811650836288 | erot = 0.670087833250747 | epot = -15.4803327293271 | etot = -14.64243324524 -953000 ekin = 0.181316579471282 | erot = 0.62464809521251 | epot = -15.4483979198655 | etot = -14.6424332451817 -954000 ekin = 0.195817500701168 | erot = 0.579835080696309 | epot = -15.4180858265343 | etot = -14.6424332451368 -955000 ekin = 0.210854606876659 | erot = 0.536843219769282 | epot = -15.3901310717537 | etot = -14.6424332451077 -956000 ekin = 0.225892299837258 | erot = 0.49670137679197 | epot = -15.3650269217247 | etot = -14.6424332450955 -957000 ekin = 0.240343066498473 | erot = 0.460233438094331 | epot = -15.3430097496925 | etot = -14.6424332450997 -958000 ekin = 0.253600493839208 | erot = 0.428032849894538 | epot = -15.324066588852 | etot = -14.6424332451182 -959000 ekin = 0.26508043374811 | erot = 0.400452005459373 | epot = -15.3079656843552 | etot = -14.6424332451478 -960000 ekin = 0.274268068130398 | erot = 0.377606549450015 | epot = -15.2943078627643 | etot = -14.6424332451839 -961000 ekin = 0.280767178003419 | erot = 0.359393861249926 | epot = -15.2825942844748 | etot = -14.6424332452215 -962000 ekin = 0.284346484063279 | erot = 0.345524198816832 | epot = -15.2723039281355 | etot = -14.6424332452554 -963000 ekin = 0.284976816089691 | erot = 0.3355622323293 | epot = -15.2629722936999 | etot = -14.6424332452809 -964000 ekin = 0.282852494247854 | erot = 0.328975986496892 | epot = -15.2542617260392 | etot = -14.6424332452945 -965000 ekin = 0.278391086615428 | erot = 0.325189577598743 | epot = -15.2460139095086 | etot = -14.6424332452944 -966000 ekin = 0.272207924679439 | erot = 0.323635640150665 | epot = -15.2382768101109 | etot = -14.6424332452808 -967000 ekin = 0.265065367870575 | erot = 0.323803079987219 | epot = -15.2313016931133 | etot = -14.6424332452555 -968000 ekin = 0.257801293713888 | erot = 0.325275872290492 | epot = -15.2255104112269 | etot = -14.6424332452225 -969000 ekin = 0.251245661474162 | erot = 0.327759142575902 | epot = -15.2214380492365 | etot = -14.6424332451864 -970000 ekin = 0.24613700899304 | erot = 0.331089781180773 | epot = -15.2196600353261 | etot = -14.6424332451523 -971000 ekin = 0.243051319616021 | erot = 0.335230325664833 | epot = -15.2207148904054 | etot = -14.6424332451246 -972000 ekin = 0.242353409638695 | erot = 0.340246678804358 | epot = -15.22503333355 | etot = -14.6424332451069 -973000 ekin = 0.244176338162489 | erot = 0.346272190710356 | epot = -15.2328817739745 | etot = -14.6424332451017 -974000 ekin = 0.248428661658042 | erot = 0.353462430361478 | epot = -15.2443243371296 | etot = -14.6424332451101 -975000 ekin = 0.254824314803068 | erot = 0.361946299430202 | epot = -15.2592038593654 | etot = -14.6424332451321 -976000 ekin = 0.262926848820545 | erot = 0.371779749929518 | epot = -15.2771398439171 | etot = -14.642433245167 -977000 ekin = 0.27219923533091 | erot = 0.382908123263806 | epot = -15.297540603808 | etot = -14.6424332452133 -978000 ekin = 0.282052066851764 | erot = 0.395142048097211 | epot = -15.3196273602177 | etot = -14.6424332452688 -979000 ekin = 0.291885751914043 | erot = 0.408150081471225 | epot = -15.3424690787159 | etot = -14.6424332453306 -980000 ekin = 0.301125083790016 | erot = 0.421469125222495 | epot = -15.365027454408 | etot = -14.6424332453955 -981000 ekin = 0.309246535917451 | erot = 0.434531423656212 | epot = -15.3862112050333 | etot = -14.6424332454596 -982000 ekin = 0.315799497490911 | erot = 0.446704965616411 | epot = -15.404937708626 | etot = -14.6424332455187 -983000 ekin = 0.32042257322114 | erot = 0.457342632743475 | epot = -15.4201984515335 | etot = -14.6424332455688 -984000 ekin = 0.322855465258551 | erot = 0.465834622598882 | epot = -15.4311233334638 | etot = -14.6424332456063 -985000 ekin = 0.322946302475207 | erot = 0.47165859097348 | epot = -15.4370381390771 | etot = -14.6424332456284 -986000 ekin = 0.320653917805744 | erot = 0.474422556589946 | epot = -15.4375097200291 | etot = -14.6424332456334 -987000 ekin = 0.316044627362153 | erot = 0.473896755515053 | epot = -15.4323746284979 | etot = -14.6424332456207 -988000 ekin = 0.309283477268727 | erot = 0.470032116944613 | epot = -15.4217488398044 | etot = -14.6424332455911 -989000 ekin = 0.300620522169168 | erot = 0.462964620621354 | epot = -15.4060183883369 | etot = -14.6424332455464 -990000 ekin = 0.290373280691188 | erot = 0.453006262994313 | epot = -15.3858127891748 | etot = -14.6424332454893 -991000 ekin = 0.278906915705663 | erot = 0.440624526218637 | epot = -15.3619646873472 | etot = -14.6424332454229 -992000 ekin = 0.266613826415146 | erot = 0.426413006890641 | epot = -15.3354600786566 | etot = -14.6424332453509 -993000 ekin = 0.253894212446534 | erot = 0.411056197524004 | epot = -15.3073836552473 | etot = -14.6424332452767 -994000 ekin = 0.24113883700009 | erot = 0.395291372387941 | epot = -15.2788634545917 | etot = -14.6424332452037 -995000 ekin = 0.22871476890696 | erot = 0.379870207854789 | epot = -15.2510182218965 | etot = -14.6424332451348 -996000 ekin = 0.216954417470376 | erot = 0.365522282707067 | epot = -15.2249099452499 | etot = -14.6424332450725 -997000 ekin = 0.206147766455999 | erot = 0.352922066138332 | epot = -15.2015030776131 | etot = -14.6424332450188 -998000 ekin = 0.196537413157836 | erot = 0.342660495991062 | epot = -15.1816311541242 | etot = -14.6424332449753 -999000 ekin = 0.18831584391307 | erot = 0.335221830005501 | epot = -15.1659709188615 | etot = -14.642433244943 -1000000 ekin = 0.181624323067755 | erot = 0.330966139649165 | epot = -15.1550237076395 | etot = -14.6424332449226 - 1000000 0.013453654 -1.5270261 0.011523695 -1.4973399 -8.4815516e-05 -Loop time of 16.5005 on 4 procs for 1000000 steps with 10 atoms - -Performance: 52362.058 tau/day, 60604.234 timesteps/s -99.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 | 0.51373 | 5.7702 | 10.408 | 174.5 | 34.97 -Bond | 0.084405 | 0.27056 | 0.44162 | 28.3 | 1.64 -Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 1.7403 | 2.0946 | 2.4247 | 18.8 | 12.69 -Output | 4e-05 | 6e-05 | 7.1e-05 | 0.0 | 0.00 -Modify | 0.17451 | 0.87938 | 1.53 | 58.2 | 5.33 -Other | | 7.486 | | | 45.37 - -Nlocal: 2.5 ave 5.0 max 0.0 min -Histogram: 1 0 1 0 0 0 0 0 1 1 -Nghost: 7.5 ave 10.0 max 5.0 min -Histogram: 1 0 1 0 0 0 0 0 1 1 -Neighs: 16.0 ave 30.0 max 0.0 min -Histogram: 1 0 1 0 0 0 0 0 1 1 - -Total # of neighbors = 64 -Ave neighs/atom = 6.4 -Ave special neighs/atom = 3.6 -Neighbor list builds = 0 -Dangerous builds = 0 - -#write_restart config.${number}.* -Total wall time: 0:00:16 diff --git a/examples/PACKAGES/cgdna/examples/oxDNA/duplex2/data.duplex2 b/examples/PACKAGES/cgdna/examples/oxDNA/duplex2/data.duplex2 index 72872d431a..8c985708ca 100644 --- a/examples/PACKAGES/cgdna/examples/oxDNA/duplex2/data.duplex2 +++ b/examples/PACKAGES/cgdna/examples/oxDNA/duplex2/data.duplex2 @@ -1,15 +1,14 @@ -# LAMMPS data file +LAMMPS data file via write_data, version 27 May 2021 + 16 atoms -16 ellipsoids -13 bonds - 4 atom types +13 bonds 1 bond types +16 ellipsoids -# System size --20.000000 20.000000 xlo xhi --20.000000 20.000000 ylo yhi --20.000000 20.000000 zlo zhi +-20 20 xlo xhi +-20 20 ylo yhi +-20 20 zlo zhi Masses @@ -18,79 +17,75 @@ Masses 3 3.1575 4 3.1575 -# Atom-ID, type, position, molecule-ID, ellipsoid flag, density -Atoms +Atoms # hybrid -1 1 -6.000000000000001e-01 0.000000000000000e+00 0.000000000000000e+00 1 1 1 -2 2 -4.860249842674776e-01 -3.518234140414736e-01 3.897628551303122e-01 1 1 1 -3 3 -1.874009511073395e-01 -5.699832309147915e-01 7.795257102606244e-01 1 1 1 -4 4 1.824198365552941e-01 -5.715968887521518e-01 1.169288565390937e+00 1 1 1 -5 1 4.829362784135484e-01 -3.560513319622209e-01 1.559051420521249e+00 1 1 1 -6 2 5.999771538385027e-01 -5.235921299024461e-03 1.948814275651561e+00 1 1 1 -7 3 4.890766774371325e-01 3.475687034056071e-01 2.338577130781873e+00 1 1 1 -8 4 1.923677943514057e-01 5.683261666476170e-01 2.728339985912185e+00 1 1 1 -9 1 -1.923677943514057e-01 -5.683261666476170e-01 2.728339985912185e+00 2 1 1 -10 2 -4.890766774371324e-01 -3.475687034056071e-01 2.338577130781873e+00 2 1 1 -11 3 -5.999771538385025e-01 5.235921299024461e-03 1.948814275651561e+00 2 1 1 -12 4 -4.829362784135481e-01 3.560513319622207e-01 1.559051420521249e+00 2 1 1 -13 1 -1.824198365552940e-01 5.715968887521514e-01 1.169288565390936e+00 2 1 1 -14 2 1.874009511073395e-01 5.699832309147912e-01 7.795257102606241e-01 2 1 1 -15 3 4.860249842674773e-01 3.518234140414733e-01 3.897628551303119e-01 2 1 1 -16 4 5.999999999999995e-01 -3.330669073875470e-17 -3.330669073875470e-16 2 1 1 +1 1 -0.6133472972454725 -0.657478171669766 0.36065226351201896 1 1 3.7269849963023267 0 0 0 +2 2 -0.45262764247356363 -1.0030650534345913 0.7258693379233347 1 1 3.7269849963023267 0 0 0 +3 3 -0.0988342108522641 -1.239775807128057 1.069462285786363 1 1 3.7269849963023267 0 0 0 +4 4 0.2937771854299732 -1.2579750924899842 1.4258916086606965 1 1 3.7269849963023267 0 0 0 +5 1 0.6286896795685137 -1.0183343395119744 1.7689346339672825 1 1 3.7269849963023267 0 0 0 +6 2 0.7901522619067926 -0.6766341805565266 2.1540160705495754 1 1 3.7269849963023267 0 0 0 +7 3 0.7115777184886863 -0.40195579325143455 2.569568683291525 1 1 3.7269849963023267 0 0 0 +8 4 0.46973310377005234 -0.30251697967107033 3.0668007117519216 1 1 3.7269849963023267 0 0 0 +9 1 0.4056113349449848 -1.443775499211898 3.0590726503341124 2 1 3.7269849963023267 0 0 0 +10 2 -0.032028429059287516 -1.2947520971164723 2.7201071151392187 2 1 3.7269849963023267 0 0 0 +11 3 -0.31613855112314065 -0.908414175906161 2.4125207871782006 2 1 3.7269849963023267 0 0 0 +12 4 -0.38939391251821 -0.4866605488242819 2.006177777000426 2 1 3.7269849963023267 0 0 0 +13 1 -0.06232643040853296 -0.07155965522127403 1.5593206052730733 3 1 3.7269849963023267 0 0 0 +14 2 0.17884090390913376 -0.05516721349427172 1.021273149730912 3 1 3.7269849963023267 0 0 0 +15 3 0.4513439961906 -0.23795607383274572 0.5957328539615993 3 1 3.7269849963023267 0 0 0 +16 4 0.5077649359807965 -0.5565625134533538 0.1655875784458841 3 1 3.7269849963023267 0 0 0 -# Atom-ID, translational velocity, angular momentum Velocities -1 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -2 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -3 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -4 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -5 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -6 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -7 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -8 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -9 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -10 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -11 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -12 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -13 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -14 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -15 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -16 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 +1 0.05386890022865587 0.02262922525602673 0.24882291144736746 0.1772010258006941 -0.29588531700001014 -0.2624137503614725 +2 -0.03995003075629463 0.26969511063701984 -0.18986454548195664 -0.030614539375968176 -0.11769518931480599 0.040074702426473215 +3 -0.20784535295201376 -0.13628722357673043 -0.06062477950201746 -0.03676034584820381 -0.06308707793373186 -0.14798601576087625 +4 -0.23969824181316998 -0.5624721730878831 0.032474422905036715 -0.16523645965016515 0.2860623077030974 0.33543519753105877 +5 -0.16114897356828353 -0.22889697470760145 -0.13553324962649563 0.07151030852881342 -0.09415592891043179 0.13422881539312292 +6 -0.04701706588477693 0.19216715585110036 0.14588242791297215 0.09218622989776322 -0.5640128930702024 0.09287105657777776 +7 0.05098438305112513 -0.038459555522009595 -0.14244196285749675 0.3479046835475834 0.4244922695910593 -0.13582882604358357 +8 0.37827971348411926 -0.04953992506010833 0.1626392045834847 0.0442887659636129 0.07868414126013584 -0.12713600444325032 +9 0.04912038408665491 0.041260647318716696 0.012223856334495234 0.03282916621721876 -0.00012670547095256 0.155978785417696 +10 0.1939216183073483 0.11075235485381942 -0.0405050516019971 -0.17008135001813812 -0.4563093565840761 -0.30318513627039506 +11 -0.351360733920646 -0.18822419067535692 0.36147938199051305 -0.3708221604627426 -0.49108381825941216 0.09435948331955418 +12 -0.1188642917357977 0.22355282456551884 0.009265586122144348 -0.28230100188858365 0.10276485660828892 0.10175233476780697 +13 -0.1446616296238799 -0.11552059909787235 0.1331477187595642 -0.25498721890374343 0.2754663721641154 0.05806416868630132 +14 0.051547120035862544 -0.36611026510775635 -0.06630782880801242 -0.11999847173316518 0.0684476892288605 0.2161595932308759 +15 -0.20214244962091388 0.23341226933559608 0.008133374252278069 -0.17013911124135248 0.01870292260510287 -0.2682954134361106 +16 -0.19202131162868008 -0.08105295741355378 -0.0469350810885074 0.017332107652647588 -0.32876588862807693 0.1085334141225924 -# Atom-ID, shape, quaternion -Ellipsoids - -1 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 1.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -2 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 9.513258223252946e-01 0.000000000000000e+00 0.000000000000000e+00 3.081869234362515e-01 -3 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 8.100416404457962e-01 0.000000000000000e+00 0.000000000000000e+00 5.863723567357894e-01 -4 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 5.899012371043606e-01 0.000000000000000e+00 0.000000000000000e+00 8.074754054847398e-01 -5 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 3.123349185122326e-01 0.000000000000000e+00 0.000000000000000e+00 9.499720515246527e-01 -6 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 4.363309284746654e-03 0.000000000000000e+00 0.000000000000000e+00 9.999904807207346e-01 -7 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 -3.040330609254902e-01 0.000000000000000e+00 0.000000000000000e+00 9.526614812535865e-01 -8 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 5.828323126827837e-01 0.000000000000000e+00 0.000000000000000e+00 -8.125924533816677e-01 -9 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 0.000000000000000e+00 8.125924533816681e-01 5.828323126827832e-01 -0.000000000000000e+00 -10 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 0.000000000000000e+00 9.526614812535864e-01 3.040330609254902e-01 0.000000000000000e+00 -11 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 0.000000000000000e+00 9.999904807207346e-01 -4.363309284746654e-03 0.000000000000000e+00 -12 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 0.000000000000000e+00 9.499720515246526e-01 -3.123349185122325e-01 0.000000000000000e+00 -13 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 0.000000000000000e+00 8.074754054847402e-01 -5.899012371043603e-01 0.000000000000000e+00 -14 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 0.000000000000000e+00 5.863723567357898e-01 -8.100416404457959e-01 0.000000000000000e+00 -15 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 -0.000000000000000e+00 -3.081869234362514e-01 9.513258223252948e-01 0.000000000000000e+00 -16 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 -0.000000000000000e+00 2.775557561562893e-17 1.000000000000000e+00 -0.000000000000000e+00 - -# Bond topology Bonds -1 1 1 2 -2 1 2 3 -3 1 3 4 -4 1 4 5 -5 1 5 6 -6 1 6 7 -7 1 7 8 -8 1 9 10 -9 1 10 11 -10 1 11 12 -11 1 13 14 -12 1 14 15 -13 1 15 16 +1 1 1 2 +2 1 2 3 +3 1 3 4 +4 1 4 5 +5 1 5 6 +6 1 6 7 +7 1 7 8 +8 1 9 10 +9 1 10 11 +10 1 11 12 +11 1 13 14 +12 1 14 15 +13 1 15 16 + +Ellipsoids + +1 1.173984503142341 1.173984503142341 1.173984503142341 0.9964752158482045 -0.053253555733239796 0.011391163807102514 -0.06380787090289707 +2 1.173984503142341 1.173984503142341 1.173984503142341 0.9369923833143513 0.11220716044648564 0.06732538499716349 0.3239168400846305 +3 1.173984503142341 1.173984503142341 1.173984503142341 0.797964932091827 0.14473096354527873 0.18374142699366386 0.5554673737937029 +4 1.173984503142341 1.173984503142341 1.173984503142341 0.5660864821344559 0.14688275499481052 0.09873742533340191 0.8051226439917721 +5 1.173984503142341 1.173984503142341 1.173984503142341 0.2533023785125306 0.12062313161679827 0.08583012223905846 0.9559922359911086 +6 1.173984503142341 1.173984503142341 1.173984503142341 -0.03855807343534716 0.08405913137017908 0.02236505169306371 0.9954632800204194 +7 1.173984503142341 1.173984503142341 1.173984503142341 -0.45592844330248017 0.1004550065061007 -0.052524745294758785 0.8827679181910482 +8 1.173984503142341 1.173984503142341 1.173984503142341 0.768021221540491 -0.009582139884533599 0.03658677589040892 -0.63930665074644 +9 1.173984503142341 1.173984503142341 1.173984503142341 -0.23299975754512345 0.688686395231341 0.6747873944883376 -0.12682324016841584 +10 1.173984503142341 1.173984503142341 1.173984503142341 -0.24662061871907232 0.8744456399178389 0.39370836087823996 -0.13970261209395163 +11 1.173984503142341 1.173984503142341 1.173984503142341 -0.087475900850909 0.977367602388229 0.14493549113095577 -0.12686307572668784 +12 1.173984503142341 1.173984503142341 1.173984503142341 -0.03181169300779214 0.9634374984140112 -0.2442360692534371 -0.10547485630879185 +13 1.173984503142341 1.173984503142341 1.173984503142341 -0.032786070696572266 0.7922941528811777 -0.6084214170523915 -0.03191282109962717 +14 1.173984503142341 1.173984503142341 1.173984503142341 0.047188686288341455 0.6316396208287698 -0.7737349519945348 0.011783095844627799 +15 1.173984503142341 1.173984503142341 1.173984503142341 -0.05869980642620335 -0.34229358203414423 0.9376740835056508 0.012519965878508689 +16 1.173984503142341 1.173984503142341 1.173984503142341 -0.08582818143150042 0.0008707732197394232 0.9939540921464659 -0.0684691735853161 diff --git a/examples/PACKAGES/cgdna/examples/oxDNA/duplex2/in.duplex2 b/examples/PACKAGES/cgdna/examples/oxDNA/duplex2/in.duplex2 index 8307d805c3..6a6310b7f0 100644 --- a/examples/PACKAGES/cgdna/examples/oxDNA/duplex2/in.duplex2 +++ b/examples/PACKAGES/cgdna/examples/oxDNA/duplex2/in.duplex2 @@ -11,11 +11,11 @@ newton off boundary p p p -atom_style hybrid bond ellipsoid +atom_style hybrid bond ellipsoid oxdna atom_modify sort 0 1.0 # Pair interactions require lists of neighbours to be calculated -neighbor 1.0 bin +neighbor 2.0 bin neigh_modify every 1 delay 0 check yes read_data data.duplex2 @@ -40,27 +40,16 @@ pair_coeff * * oxdna/xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 pair_coeff * * oxdna/coaxstk 46.0 0.4 0.6 0.22 0.58 2.0 2.541592653589793 0.65 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 -0.65 2.0 -0.65 # NVE ensemble -#fix 1 all nve/dot -fix 1 all nve/dotc/langevin ${T} ${T} 0.03 457145 angmom 10 -#fix 1 all nve/asphere -#fix 2 all langevin ${T} ${T} 0.03 457145 angmom 10 +fix 1 all nve/asphere +fix 2 all langevin ${T} ${T} 2.5 457145 angmom 10 timestep 1e-5 #comm_style tiled -#fix 3 all balance 10000 1.1 rcb -comm_modify cutoff 2.5 +fix 3 all balance 1000 1.03 shift xyz 10 1.03 +comm_modify cutoff 3.8 -#compute mol all chunk/atom molecule -#compute mychunk all vcm/chunk mol -#fix 4 all ave/time 10000 1 10000 c_mychunk[1] c_mychunk[2] c_mychunk[3] file vcm.txt mode vector - -#dump pos all xyz ${ofreq} traj.${number}.xyz - -#compute quat all property/atom quatw quati quatj quatk -#dump quat all custom ${ofreq} quat.${number}.txt id c_quat[1] c_quat[2] c_quat[3] c_quat[4] -#dump_modify quat sort id -#dump_modify quat format line "%d %13.6le %13.6le %13.6le %13.6le" +compute quat all property/atom quatw quati quatj quatk compute erot all erotate/asphere compute ekin all ke @@ -71,10 +60,10 @@ variable epot equal c_epot variable etot equal c_erot+c_ekin+c_epot fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes -#dump out all custom ${ofreq} out.${number}.txt id x y z vx vy vz fx fy fz tqx tqy tqz -#dump_modify out sort id -#dump_modify out format line "%d %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le" +dump out all custom ${ofreq} out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump_modify out sort id +dump_modify out format line "%d %d %d %22.15le %22.15le %22.15le %d %d %d %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le" run 1000000 -#write_restart config.${number}.* +write_data last_config.${number}.* nocoeff diff --git a/examples/PACKAGES/cgdna/examples/oxDNA/duplex2/log.27May21.duplex2.g++.1 b/examples/PACKAGES/cgdna/examples/oxDNA/duplex2/log.27May21.duplex2.g++.1 new file mode 100644 index 0000000000..f69905aa0c --- /dev/null +++ b/examples/PACKAGES/cgdna/examples/oxDNA/duplex2/log.27May21.duplex2.g++.1 @@ -0,0 +1,1173 @@ +LAMMPS (27 May 2021) +variable number equal 2 +variable ofreq equal 1000 +variable efreq equal 1000 +variable T equal 0.1 + +units lj + +dimension 3 + +newton off + +boundary p p p + +atom_style hybrid bond ellipsoid oxdna +WARNING: Atom style hybrid defines both, per-type and per-atom masses; both must be set, but only per-atom masses will be used (../atom_vec_hybrid.cpp:157) +atom_modify sort 0 1.0 + +# Pair interactions require lists of neighbours to be calculated +neighbor 2.0 bin +neigh_modify every 1 delay 0 check yes + +read_data data.duplex2 +Reading data file ... + orthogonal box = (-20.000000 -20.000000 -20.000000) to (20.000000 20.000000 20.000000) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 16 atoms + reading velocities ... + 16 velocities + scanning bonds ... + 2 = max bonds/atom + 16 ellipsoids + reading bonds ... +Setting oxDNA 3'->5' bond directionality ... + 13 bonds +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 + 2 = max # of 1-3 neighbors + 4 = max # of 1-4 neighbors + 6 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.003 seconds + +set atom * mass 3.1575 +Setting atom values ... + 16 settings made for mass + +group all type 1 4 +16 atoms in group all + +# oxDNA bond interactions - FENE backbone +bond_style oxdna/fene +bond_coeff * 2.0 0.25 0.7525 +special_bonds lj 0 1 1 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 1 1 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 2 = max # of 1-3 neighbors + 4 = max # of 1-4 neighbors + 6 = max # of special neighbors + special bonds CPU = 0.000 seconds + +# oxDNA pair interactions +pair_style hybrid/overlay oxdna/excv oxdna/stk oxdna/hbond oxdna/xstk oxdna/coaxstk +pair_coeff * * oxdna/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32 +pair_coeff * * oxdna/stk seqav ${T} 1.3448 2.6568 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 +pair_coeff * * oxdna/stk seqav 0.1 1.3448 2.6568 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 +pair_coeff * * oxdna/hbond seqav 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 1 4 oxdna/hbond seqav 1.077 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 2 3 oxdna/hbond seqav 1.077 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff * * oxdna/xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68 +pair_coeff * * oxdna/coaxstk 46.0 0.4 0.6 0.22 0.58 2.0 2.541592653589793 0.65 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 -0.65 2.0 -0.65 + +# NVE ensemble +fix 1 all nve/asphere +fix 2 all langevin ${T} ${T} 2.5 457145 angmom 10 +fix 2 all langevin 0.1 ${T} 2.5 457145 angmom 10 +fix 2 all langevin 0.1 0.1 2.5 457145 angmom 10 + +timestep 1e-5 + +#comm_style tiled +fix 3 all balance 1000 1.03 shift xyz 10 1.03 +comm_modify cutoff 3.8 + +compute quat all property/atom quatw quati quatj quatk + +compute erot all erotate/asphere +compute ekin all ke +compute epot all pe +variable erot equal c_erot +variable ekin equal c_ekin +variable epot equal c_epot +variable etot equal c_erot+c_ekin+c_epot +fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes +fix 5 all print 1000 "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes + +dump out all custom ${ofreq} out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump out all custom 1000 out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump out all custom 1000 out.2.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump_modify out sort id +dump_modify out format line "%d %d %d %22.15le %22.15le %22.15le %d %d %d %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le" + +run 1000000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.9560004 + ghost atom cutoff = 3.8 + binsize = 1.4780002, bins = 28 28 28 + 4 neighbor lists, perpetual/occasional/extra = 4 0 0 + (1) pair oxdna/excv, perpetual + attributes: half, newton off + pair build: half/bin/newtoff + stencil: full/bin/3d + bin: standard + (2) pair oxdna/hbond, perpetual, copy from (1) + attributes: half, newton off + pair build: copy + stencil: none + bin: none + (3) pair oxdna/xstk, perpetual, copy from (1) + attributes: half, newton off + pair build: copy + stencil: none + bin: none + (4) pair oxdna/coaxstk, perpetual, copy from (1) + attributes: half, newton off + pair build: copy + stencil: none + bin: none +0 ekin = 2.70475393009871 | erot = 2.80172072918779 | epot = -21.9967648054699 | etot = -16.4902901461834 +Per MPI rank memory allocation (min/avg/max) = 9.326 | 9.326 | 9.326 Mbytes +Step Temp E_pair E_mol TotEng Press Volume + 0 0.12021129 -1.3914531 0.016655298 -1.2057507 5.174549e-05 64000 +1000 ekin = 2.68462004451395 | erot = 2.58605420555131 | epot = -21.8105393794712 | etot = -16.5398651294059 +2000 ekin = 2.60963739095655 | erot = 2.48175619043154 | epot = -21.6459705488588 | etot = -16.5545769674707 +3000 ekin = 2.63989588847182 | erot = 2.46363051573262 | epot = -21.5254922679992 | etot = -16.4219658637948 +4000 ekin = 2.5752038952926 | erot = 2.37178501784054 | epot = -21.4327542438291 | etot = -16.485765330696 +5000 ekin = 2.5044104280733 | erot = 2.08769632851087 | epot = -21.3521450303024 | etot = -16.7600382737182 +6000 ekin = 2.36107642071569 | erot = 2.35003179412404 | epot = -21.2782010260872 | etot = -16.5670928112474 +7000 ekin = 2.37495351372023 | erot = 2.16846238087391 | epot = -21.2534688435259 | etot = -16.7100529489317 +8000 ekin = 2.42775724176585 | erot = 2.14686490397956 | epot = -21.2553298683528 | etot = -16.6807077226074 +9000 ekin = 2.31422464867069 | erot = 1.8637862252403 | epot = -21.2852707364932 | etot = -17.1072598625822 +10000 ekin = 2.3275093348898 | erot = 1.94087852055649 | epot = -21.3429178830636 | etot = -17.0745300276173 +11000 ekin = 2.23983345215334 | erot = 2.16573111806156 | epot = -21.4294123399217 | etot = -17.0238477697068 +12000 ekin = 2.24948652666018 | erot = 2.32563449403286 | epot = -21.5368720528797 | etot = -16.9617510321867 +13000 ekin = 2.3141269026489 | erot = 2.54687184991595 | epot = -21.62467553135 | etot = -16.7636767787851 +14000 ekin = 2.30456735091101 | erot = 2.82813231901192 | epot = -21.6854822284275 | etot = -16.5527825585046 +15000 ekin = 2.41196948877884 | erot = 2.60315540839484 | epot = -21.7080540027112 | etot = -16.6929291055375 +16000 ekin = 2.32930626459584 | erot = 2.77308393740008 | epot = -21.6887196306942 | etot = -16.5863294286983 +17000 ekin = 2.39617472660391 | erot = 3.03091034756258 | epot = -21.6395184677655 | etot = -16.2124333935991 +18000 ekin = 2.3327950089553 | erot = 3.14341710049 | epot = -21.5741278170259 | etot = -16.0979157075806 +19000 ekin = 2.42845349180327 | erot = 2.98452732659579 | epot = -21.4895578941597 | etot = -16.0765770757607 +20000 ekin = 2.58234763441785 | erot = 3.33252070318004 | epot = -21.3975543217035 | etot = -15.4826859841056 +21000 ekin = 2.6449455763858 | erot = 3.32881968524127 | epot = -21.3229796202747 | etot = -15.3492143586476 +22000 ekin = 2.65030022474644 | erot = 3.26762562263436 | epot = -21.2713919939756 | etot = -15.3534661465948 +23000 ekin = 2.74232842321963 | erot = 2.85782586045795 | epot = -21.2433172110301 | etot = -15.6431629273525 +24000 ekin = 2.70913362671021 | erot = 2.5614570464177 | epot = -21.2492397215426 | etot = -15.9786490484147 +25000 ekin = 2.71785549515017 | erot = 2.45020590769023 | epot = -21.2696953560915 | etot = -16.1016339532511 +26000 ekin = 2.80969274934563 | erot = 2.57761600133559 | epot = -21.3121170333524 | etot = -15.9248082826712 +27000 ekin = 2.90228693281849 | erot = 2.52543294446069 | epot = -21.3618959826307 | etot = -15.9341761053516 +28000 ekin = 2.80577992946705 | erot = 2.42942187536901 | epot = -21.4238267965374 | etot = -16.1886249917014 +29000 ekin = 2.84024245066251 | erot = 2.37728970052671 | epot = -21.5220045306241 | etot = -16.3044723794349 +30000 ekin = 2.91820846152589 | erot = 2.5285825532428 | epot = -21.6452589795617 | etot = -16.198467964793 +31000 ekin = 3.01591597087963 | erot = 2.66934437756135 | epot = -21.7837708816784 | etot = -16.0985105332374 +32000 ekin = 3.18554066714555 | erot = 2.70126504453976 | epot = -21.9266237283442 | etot = -16.0398180166589 +33000 ekin = 3.4559109786996 | erot = 3.05486835802113 | epot = -22.0467287622724 | etot = -15.5359494255517 +34000 ekin = 3.47254829729221 | erot = 3.41663527351813 | epot = -22.1468381626759 | etot = -15.2576545918655 +35000 ekin = 3.45946416093007 | erot = 3.2177601439385 | epot = -22.2021645741413 | etot = -15.5249402692727 +36000 ekin = 3.38072119723012 | erot = 2.9889184383328 | epot = -22.202497862958 | etot = -15.8328582273951 +37000 ekin = 3.29783742910404 | erot = 2.73521555931908 | epot = -22.1657123704834 | etot = -16.1326593820603 +38000 ekin = 3.33959958296025 | erot = 2.617783203284 | epot = -22.1041970676609 | etot = -16.1468142814166 +39000 ekin = 3.23639805960126 | erot = 2.58373522106731 | epot = -22.0096421543482 | etot = -16.1895088736796 +40000 ekin = 3.11586138662875 | erot = 2.19624820863949 | epot = -21.8962581958557 | etot = -16.5841486005874 +41000 ekin = 3.04246623801461 | erot = 2.23321889509951 | epot = -21.807787363566 | etot = -16.5321022304519 +42000 ekin = 2.84983279602751 | erot = 2.80264211079703 | epot = -21.748255605817 | etot = -16.0957806989924 +43000 ekin = 2.79124232412409 | erot = 2.40517464805221 | epot = -21.704091232696 | etot = -16.5076742605197 +44000 ekin = 2.66237577064431 | erot = 2.48075679823103 | epot = -21.6865985692202 | etot = -16.5434660003448 +45000 ekin = 2.57941183432903 | erot = 2.51210561132975 | epot = -21.7100580821224 | etot = -16.6185406364637 +46000 ekin = 2.732761778313 | erot = 2.72002755015638 | epot = -21.7400457171799 | etot = -16.2872563887105 +47000 ekin = 2.64234876254598 | erot = 2.59091566156289 | epot = -21.7975985084293 | etot = -16.5643340843204 +48000 ekin = 2.59173469012523 | erot = 2.43590670780657 | epot = -21.8709604205579 | etot = -16.8433190226261 +49000 ekin = 2.72309795319076 | erot = 2.23156431391338 | epot = -21.9468429014909 | etot = -16.9921806343868 +50000 ekin = 2.84714836170718 | erot = 1.99663528516206 | epot = -22.0121784873832 | etot = -17.168394840514 +51000 ekin = 2.89884791688871 | erot = 1.91491454776677 | epot = -22.0530950349948 | etot = -17.2393325703393 +52000 ekin = 3.03617525579655 | erot = 2.19848391536796 | epot = -22.0866976985223 | etot = -16.8520385273578 +53000 ekin = 2.9917537491504 | erot = 2.39711100098148 | epot = -22.1010575333115 | etot = -16.7121927831796 +54000 ekin = 2.99574935861399 | erot = 2.32745187661848 | epot = -22.1028140124057 | etot = -16.7796127771732 +55000 ekin = 2.99570982560687 | erot = 2.49897185698991 | epot = -22.105723856857 | etot = -16.6110421742602 +56000 ekin = 2.94925439949785 | erot = 2.44012089769545 | epot = -22.0870769441157 | etot = -16.6977016469224 +57000 ekin = 2.94734500065235 | erot = 2.12984920172191 | epot = -22.0412734212001 | etot = -16.9640792188258 +58000 ekin = 2.8195513388404 | erot = 2.13458872869613 | epot = -21.9788636009448 | etot = -17.0247235334083 +59000 ekin = 2.70811531854734 | erot = 2.38980716247399 | epot = -21.8949081752973 | etot = -16.7969856942759 +60000 ekin = 2.70414157935546 | erot = 2.55940091198391 | epot = -21.7861093627115 | etot = -16.5225668713721 +61000 ekin = 2.65859389245694 | erot = 2.53396073555877 | epot = -21.6569039895118 | etot = -16.4643493614961 +62000 ekin = 2.60219558362528 | erot = 2.22515394919042 | epot = -21.5116333689022 | etot = -16.6842838360865 +63000 ekin = 2.63153399947686 | erot = 2.22422110021206 | epot = -21.3652621775789 | etot = -16.50950707789 +64000 ekin = 2.74532788694548 | erot = 2.1852310955141 | epot = -21.2714335683308 | etot = -16.3408745858712 +65000 ekin = 2.72054938384344 | erot = 2.0734388946021 | epot = -21.2024805852124 | etot = -16.4084923067669 +66000 ekin = 2.58244112846417 | erot = 2.07735193876559 | epot = -21.1764160570954 | etot = -16.5166229898656 +67000 ekin = 2.57755413160866 | erot = 2.44046690225453 | epot = -21.1906023260749 | etot = -16.1725812922117 +68000 ekin = 2.48736395314817 | erot = 2.12758461162315 | epot = -21.2185147422317 | etot = -16.6035661774604 +69000 ekin = 2.41843849956018 | erot = 2.1851511208093 | epot = -21.2498143720114 | etot = -16.6462247516419 +70000 ekin = 2.42405639999474 | erot = 1.95650329930019 | epot = -21.2748182794301 | etot = -16.8942585801352 +71000 ekin = 2.43121308276011 | erot = 1.85632548443193 | epot = -21.3045707498285 | etot = -17.0170321826365 +72000 ekin = 2.50008703688388 | erot = 1.59919455914919 | epot = -21.3493737552797 | etot = -17.2500921592466 +73000 ekin = 2.68616751062556 | erot = 1.88927937064788 | epot = -21.3998788656788 | etot = -16.8244319844054 +74000 ekin = 2.7264265029667 | erot = 1.98526997108522 | epot = -21.439395334657 | etot = -16.7276988606051 +75000 ekin = 2.82872762184215 | erot = 2.08391491924432 | epot = -21.4749344303949 | etot = -16.5622918893084 +76000 ekin = 2.90099143523702 | erot = 2.16095088121797 | epot = -21.493537150752 | etot = -16.431594834297 +77000 ekin = 3.18544250151158 | erot = 2.00037055601336 | epot = -21.4789486218772 | etot = -16.2931355643523 +78000 ekin = 3.25276485916355 | erot = 2.04037410610702 | epot = -21.4312552501158 | etot = -16.1381162848452 +79000 ekin = 3.31064968204684 | erot = 2.17606310098545 | epot = -21.3489462542885 | etot = -15.8622334712562 +80000 ekin = 3.2501731479278 | erot = 1.78411830235591 | epot = -21.2684346239655 | etot = -16.2341431736818 +81000 ekin = 3.28475664530894 | erot = 1.62694393051346 | epot = -21.2092459483416 | etot = -16.2975453725192 +82000 ekin = 3.22905109952648 | erot = 1.53744252292448 | epot = -21.2050298148134 | etot = -16.4385361923624 +83000 ekin = 3.23231520762087 | erot = 1.77352705563455 | epot = -21.2433468675554 | etot = -16.2375046043 +84000 ekin = 3.2686769392199 | erot = 1.72038623835535 | epot = -21.2969079823477 | etot = -16.3078448047725 +85000 ekin = 3.24886887492836 | erot = 1.71422228707809 | epot = -21.3487304738108 | etot = -16.3856393118043 +86000 ekin = 3.373889669088 | erot = 2.05166004106914 | epot = -21.4140353196306 | etot = -15.9884856094734 +87000 ekin = 3.32398602808484 | erot = 2.11391553019111 | epot = -21.504425162937 | etot = -16.066523604661 +88000 ekin = 3.37321522230413 | erot = 1.88481910803275 | epot = -21.6374519675633 | etot = -16.3794176372264 +89000 ekin = 3.4028784845023 | erot = 1.74012560118448 | epot = -21.7814074383675 | etot = -16.6384033526808 +90000 ekin = 3.56172892861212 | erot = 2.10522136125781 | epot = -21.9615291243627 | etot = -16.2945788344927 +91000 ekin = 3.55669957238083 | erot = 2.42086123522054 | epot = -22.1511779304613 | etot = -16.1736171228599 +92000 ekin = 3.64237791317121 | erot = 2.65970416317374 | epot = -22.3488733671942 | etot = -16.0467912908492 +93000 ekin = 3.71183685172055 | erot = 2.62133287897564 | epot = -22.5092709223126 | etot = -16.1761011916164 +94000 ekin = 3.68157545521776 | erot = 2.45531539887243 | epot = -22.6307602436275 | etot = -16.4938693895373 +95000 ekin = 3.60128502265547 | erot = 2.60141757186748 | epot = -22.7389627643835 | etot = -16.5362601698605 +96000 ekin = 3.53126429160548 | erot = 2.72315885473471 | epot = -22.8177646203461 | etot = -16.5633414740059 +97000 ekin = 3.47335877191586 | erot = 2.74980204474208 | epot = -22.859910231875 | etot = -16.6367494152171 +98000 ekin = 3.36569576671704 | erot = 2.64094316029088 | epot = -22.8536591989749 | etot = -16.847020271967 +99000 ekin = 3.17486973109326 | erot = 2.83643491109138 | epot = -22.8212456182645 | etot = -16.8099409760799 +100000 ekin = 2.98877854809339 | erot = 2.8502739133799 | epot = -22.7838710680406 | etot = -16.9448186065673 +101000 ekin = 2.80581049577987 | erot = 2.78036845929873 | epot = -22.7080420278476 | etot = -17.121863072769 +102000 ekin = 2.6114621154454 | erot = 3.14391622209056 | epot = -22.5804486115116 | etot = -16.8250702739756 +103000 ekin = 2.52473332619747 | erot = 3.13557205223547 | epot = -22.41653637854 | etot = -16.7562310001071 +104000 ekin = 2.38813618870076 | erot = 2.81177058896969 | epot = -22.2533489092942 | etot = -17.0534421316238 +105000 ekin = 2.27037902349693 | erot = 2.38822666643153 | epot = -22.0942448767488 | etot = -17.4356391868203 +106000 ekin = 2.14052224393181 | erot = 2.10858697946661 | epot = -21.9851740201844 | etot = -17.736064796786 +107000 ekin = 2.06068755794712 | erot = 2.32025367575509 | epot = -21.9181411680676 | etot = -17.5371999343654 +108000 ekin = 2.16310171427444 | erot = 2.45914268610281 | epot = -21.8972466640829 | etot = -17.2750022637057 +109000 ekin = 2.1640828140893 | erot = 2.39028083194259 | epot = -21.9223151975609 | etot = -17.367951551529 +110000 ekin = 2.27703874503424 | erot = 2.02252280342038 | epot = -21.9984748890034 | etot = -17.6989133405488 +111000 ekin = 2.42168812145141 | erot = 2.08603766327771 | epot = -22.1196725497682 | etot = -17.611946765039 +112000 ekin = 2.55041354840489 | erot = 2.05316660200929 | epot = -22.2467875616205 | etot = -17.6432074112064 +113000 ekin = 2.65118330223827 | erot = 1.8466330723311 | epot = -22.3714662854257 | etot = -17.8736499108563 +114000 ekin = 2.75066239210866 | erot = 2.06979110412732 | epot = -22.4757786127357 | etot = -17.6553251164997 +115000 ekin = 2.74969592573207 | erot = 2.2067264054263 | epot = -22.5825353241201 | etot = -17.6261129929617 +116000 ekin = 2.8331207613362 | erot = 2.23062165851058 | epot = -22.6813212117303 | etot = -17.6175787918836 +117000 ekin = 2.88175954095802 | erot = 2.38703791420885 | epot = -22.7694466083741 | etot = -17.5006491532072 +118000 ekin = 2.93568625662281 | erot = 2.26039492756772 | epot = -22.8432426400157 | etot = -17.6471614558252 +119000 ekin = 3.19523724062623 | erot = 2.22567760232914 | epot = -22.8880366342743 | etot = -17.4671217913189 +120000 ekin = 3.17008032268746 | erot = 2.25532705796801 | epot = -22.9065026704633 | etot = -17.4810952898079 +121000 ekin = 3.22925408627785 | erot = 2.4213919893106 | epot = -22.9068338710661 | etot = -17.2561877954777 +122000 ekin = 3.16756628646263 | erot = 2.29253955659867 | epot = -22.9100933328213 | etot = -17.44998748976 +123000 ekin = 3.13886988858722 | erot = 1.8737391679277 | epot = -22.9201354096178 | etot = -17.9075263531029 +124000 ekin = 3.07340133048022 | erot = 2.07486210586022 | epot = -22.9196688561523 | etot = -17.7714054198119 +125000 ekin = 3.01797638857695 | erot = 1.75538270899544 | epot = -22.9139839700498 | etot = -18.1406248724774 +126000 ekin = 2.96636842974588 | erot = 1.89046865067189 | epot = -22.9078794876244 | etot = -18.0510424072066 +127000 ekin = 2.99891017927352 | erot = 1.92488638621197 | epot = -22.8780661376738 | etot = -17.9542695721883 +128000 ekin = 3.07056715413782 | erot = 1.99149347655674 | epot = -22.8571726497158 | etot = -17.7951120190212 +129000 ekin = 3.00434595988796 | erot = 1.94814247853284 | epot = -22.8246013230694 | etot = -17.8721128846486 +130000 ekin = 2.83701493144512 | erot = 2.50342892051145 | epot = -22.760915431814 | etot = -17.4204715798574 +131000 ekin = 2.7247248423437 | erot = 2.70734329989559 | epot = -22.6636087699672 | etot = -17.2315406277279 +132000 ekin = 2.62389553593814 | erot = 2.52695276027317 | epot = -22.5087045821917 | etot = -17.3578562859804 +133000 ekin = 2.63528199515895 | erot = 2.39127524409791 | epot = -22.2966493236603 | etot = -17.2700920844034 +134000 ekin = 2.50610716876234 | erot = 2.09594811418196 | epot = -22.0718067043303 | etot = -17.469751421386 +135000 ekin = 2.48472772183192 | erot = 2.14881599404771 | epot = -21.8608678335614 | etot = -17.2273241176818 +136000 ekin = 2.5338227584519 | erot = 1.74309578227986 | epot = -21.6765558191781 | etot = -17.3996372784464 +137000 ekin = 2.57036342314514 | erot = 1.75885685985375 | epot = -21.5407454007371 | etot = -17.2115251177382 +138000 ekin = 2.52929445682248 | erot = 1.91945977351017 | epot = -21.4409011955172 | etot = -16.9921469651846 +139000 ekin = 2.57663737105064 | erot = 1.80679457632205 | epot = -21.38609742836 | etot = -17.0026654809873 +140000 ekin = 2.62053160118786 | erot = 1.51774101989578 | epot = -21.3676503668328 | etot = -17.2293777457491 +141000 ekin = 2.61189200494664 | erot = 1.55065515745556 | epot = -21.3802632860277 | etot = -17.2177161236255 +142000 ekin = 2.51798883678621 | erot = 1.67942283127788 | epot = -21.4214580445684 | etot = -17.2240463765043 +143000 ekin = 2.49892771964519 | erot = 1.52127122899841 | epot = -21.4923083558109 | etot = -17.4721094071673 +144000 ekin = 2.54740250437643 | erot = 1.82241986650816 | epot = -21.6130145049208 | etot = -17.2431921340362 +145000 ekin = 2.56862853368622 | erot = 2.1447132249399 | epot = -21.7452461002774 | etot = -17.0319043416513 +146000 ekin = 2.67329509039846 | erot = 2.25975512947158 | epot = -21.8437012603417 | etot = -16.9106510404716 +147000 ekin = 2.68893868818076 | erot = 2.5571840144698 | epot = -21.9010658016926 | etot = -16.6549430990421 +148000 ekin = 2.81386130771017 | erot = 2.59830584821738 | epot = -21.9210519662198 | etot = -16.5088848102922 +149000 ekin = 2.74990137245693 | erot = 2.32741538507083 | epot = -21.9278539711831 | etot = -16.8505372136554 +150000 ekin = 2.69038170783762 | erot = 2.42676335467437 | epot = -21.8989948167628 | etot = -16.7818497542508 +151000 ekin = 2.66678982895817 | erot = 2.39492028203052 | epot = -21.7008835367963 | etot = -16.6391734258076 +152000 ekin = 2.67029595868374 | erot = 2.53847066661996 | epot = -21.58945786599 | etot = -16.3806912406863 +153000 ekin = 2.70694158654287 | erot = 2.72265775556542 | epot = -21.7448041240556 | etot = -16.3152047819474 +154000 ekin = 2.79926075391894 | erot = 2.75974679901138 | epot = -21.8203547485968 | etot = -16.2613471956665 +155000 ekin = 2.72511299719384 | erot = 2.88818303221402 | epot = -21.7319777070927 | etot = -16.1186816776849 +156000 ekin = 2.65694010664888 | erot = 2.78004189782679 | epot = -21.6308520721291 | etot = -16.1938700676535 +157000 ekin = 2.56365508198589 | erot = 2.71035147954055 | epot = -21.5253087387144 | etot = -16.2513021771879 +158000 ekin = 2.57548107386935 | erot = 2.73764982143009 | epot = -21.4382452043716 | etot = -16.1251143090722 +159000 ekin = 2.55799392432016 | erot = 2.92697271834229 | epot = -21.3737314732345 | etot = -15.8887648305721 +160000 ekin = 2.54679486207657 | erot = 2.80531497281534 | epot = -21.3130996693774 | etot = -15.9609898344855 +161000 ekin = 2.47207886924354 | erot = 2.90722613339802 | epot = -21.2672221196592 | etot = -15.8879171170176 +162000 ekin = 2.51623650472983 | erot = 2.57045306394745 | epot = -21.2288584749409 | etot = -16.1421689062636 +163000 ekin = 2.52126404883986 | erot = 2.48352069988729 | epot = -21.2217116449117 | etot = -16.2169268961845 +164000 ekin = 2.53114565385919 | erot = 2.34165200793308 | epot = -21.2429890011701 | etot = -16.3701913393778 +165000 ekin = 2.596603432361 | erot = 2.12645014227913 | epot = -21.2869963722373 | etot = -16.5639427975971 +166000 ekin = 2.69364521809338 | erot = 2.06502693559822 | epot = -21.3443825816706 | etot = -16.585710427979 +167000 ekin = 2.72157576348883 | erot = 2.11628142912504 | epot = -21.4170430149544 | etot = -16.5791858223406 +168000 ekin = 2.74006852516301 | erot = 2.1612636068734 | epot = -21.5099197935658 | etot = -16.6085876615294 +169000 ekin = 2.84315657816748 | erot = 1.97243923170456 | epot = -21.5949265249798 | etot = -16.7793307151078 +170000 ekin = 3.06124015523346 | erot = 1.92459124184599 | epot = -21.6783552680506 | etot = -16.6925238709712 +171000 ekin = 3.21151355702384 | erot = 1.59351420769795 | epot = -21.762225949322 | etot = -16.9571981846002 +172000 ekin = 3.36544412726444 | erot = 1.67007198308074 | epot = -21.8306762430335 | etot = -16.7951601326883 +173000 ekin = 3.41001134336544 | erot = 1.87953941868176 | epot = -21.878702000715 | etot = -16.5891512386678 +174000 ekin = 3.46376447230286 | erot = 1.96688973070303 | epot = -21.9078990210446 | etot = -16.4772448180387 +175000 ekin = 3.47678931181588 | erot = 1.55890709488263 | epot = -21.88501807375 | etot = -16.8493216670515 +176000 ekin = 3.20686196070586 | erot = 1.54933373538616 | epot = -21.8330978877433 | etot = -17.0769021916513 +177000 ekin = 3.13331042952705 | erot = 1.28865733070247 | epot = -21.7390998162162 | etot = -17.3171320559867 +178000 ekin = 3.06763392821204 | erot = 1.26897291328761 | epot = -21.6342141405499 | etot = -17.2976072990502 +179000 ekin = 3.0267475315226 | erot = 1.57409428962025 | epot = -21.5270591512614 | etot = -16.9262173301185 +180000 ekin = 3.03569853606418 | erot = 1.67758058394334 | epot = -21.4169893849026 | etot = -16.7037102648951 +181000 ekin = 2.85389178964206 | erot = 1.75333728320481 | epot = -21.3395105909862 | etot = -16.7322815181393 +182000 ekin = 2.7424437130026 | erot = 1.80493411676468 | epot = -21.2869584133413 | etot = -16.739580583574 +183000 ekin = 2.76150374616111 | erot = 1.81761006388004 | epot = -21.2282765342437 | etot = -16.6491627242026 +184000 ekin = 2.69206274097713 | erot = 1.86375380676946 | epot = -21.1764923592867 | etot = -16.6206758115401 +185000 ekin = 2.62052583157023 | erot = 2.07457833425477 | epot = -21.1511718680906 | etot = -16.4560677022656 +186000 ekin = 2.54874716739377 | erot = 2.15191323422227 | epot = -21.12970319865 | etot = -16.429042797034 +187000 ekin = 2.47899352285435 | erot = 2.12131864753473 | epot = -21.1527973741677 | etot = -16.5524852037786 +188000 ekin = 2.40242843893253 | erot = 2.28274972847695 | epot = -21.2023943736364 | etot = -16.5172162062269 +189000 ekin = 2.24542511336507 | erot = 2.32237220121096 | epot = -21.2650187542766 | etot = -16.6972214397006 +190000 ekin = 2.27331885209491 | erot = 2.4610105377636 | epot = -21.3641240186242 | etot = -16.6297946287657 +191000 ekin = 2.38811474192591 | erot = 2.65597612519354 | epot = -21.4523608275388 | etot = -16.4082699604193 +192000 ekin = 2.35492395959151 | erot = 3.12866296082005 | epot = -21.5455989503755 | etot = -16.0620120299639 +193000 ekin = 2.33255266209782 | erot = 3.16650140028571 | epot = -21.6305745065443 | etot = -16.1315204441607 +194000 ekin = 2.3664165449988 | erot = 3.75512105430481 | epot = -21.7057940648226 | etot = -15.584256465519 +195000 ekin = 2.27714091943424 | erot = 4.22857583198264 | epot = -21.7506289706187 | etot = -15.2449122192018 +196000 ekin = 2.25022759887642 | erot = 4.19721047469103 | epot = -21.7392596229739 | etot = -15.2918215494065 +197000 ekin = 2.13566163028441 | erot = 3.96282097735922 | epot = -21.6861725112141 | etot = -15.5876899035705 +198000 ekin = 2.100264771743 | erot = 3.46946292854128 | epot = -21.6151658929782 | etot = -16.045438192694 +199000 ekin = 2.06841069526369 | erot = 3.02621949814231 | epot = -21.5580043865078 | etot = -16.4633741931018 +200000 ekin = 2.07457887577956 | erot = 3.1563287507984 | epot = -21.5271681184487 | etot = -16.2962604918707 +201000 ekin = 2.22865169770726 | erot = 2.68086789208483 | epot = -21.5402772694356 | etot = -16.6307576796436 +202000 ekin = 2.2134468038606 | erot = 2.70841026008599 | epot = -21.5670967607414 | etot = -16.6452396967948 +203000 ekin = 2.29378527554827 | erot = 2.48093430470295 | epot = -21.5962341727991 | etot = -16.8215145925479 +204000 ekin = 2.25828607560487 | erot = 2.50063815518558 | epot = -21.6380337966632 | etot = -16.8791095658728 +205000 ekin = 2.39913678175079 | erot = 2.62281981805075 | epot = -21.6838133695188 | etot = -16.6618567697172 +206000 ekin = 2.51393947992585 | erot = 2.55239552126186 | epot = -21.7215385309812 | etot = -16.6552035297934 +207000 ekin = 2.55579745831526 | erot = 2.31728514006586 | epot = -21.7786985680232 | etot = -16.905615969642 +208000 ekin = 2.61391306966582 | erot = 2.10777835345235 | epot = -21.7882764620354 | etot = -17.0665850389173 +209000 ekin = 2.67160585819059 | erot = 2.09388960655156 | epot = -21.8382664978829 | etot = -17.0727710331407 +210000 ekin = 2.82942438299537 | erot = 2.13327984174743 | epot = -21.9979383135577 | etot = -17.0352340888149 +211000 ekin = 2.92049266864328 | erot = 2.12124523148429 | epot = -22.2280513777038 | etot = -17.1863134775763 +212000 ekin = 3.00277061822758 | erot = 2.39488452737938 | epot = -22.4022759841391 | etot = -17.0046208385321 +213000 ekin = 3.13095859457293 | erot = 2.47163847125458 | epot = -22.5628987907077 | etot = -16.9603017248801 +214000 ekin = 3.23740343206466 | erot = 2.34793353448063 | epot = -22.7059476770017 | etot = -17.1206107104565 +215000 ekin = 3.25450904082695 | erot = 2.2622265725469 | epot = -22.8087885080489 | etot = -17.292052894675 +216000 ekin = 3.33545375500928 | erot = 2.25051135075666 | epot = -22.8910607863363 | etot = -17.3050956805704 +217000 ekin = 3.40631462781497 | erot = 2.45810884416318 | epot = -22.9502612260088 | etot = -17.0858377540307 +218000 ekin = 3.44211621843073 | erot = 2.40223178526955 | epot = -22.9724005123082 | etot = -17.128052508608 +219000 ekin = 3.35851747520084 | erot = 2.36223123268451 | epot = -22.9879332629406 | etot = -17.2671845550552 +220000 ekin = 3.2833944039116 | erot = 2.48348910158844 | epot = -22.9865937389542 | etot = -17.2197102334541 +221000 ekin = 3.19824562561904 | erot = 2.63802923468698 | epot = -22.9470020981349 | etot = -17.1107272378289 +222000 ekin = 3.05410812074653 | erot = 2.59372727399098 | epot = -22.8798801579581 | etot = -17.2320447632206 +223000 ekin = 3.01415969068795 | erot = 2.70890225393128 | epot = -22.7801464118767 | etot = -17.0570844672575 +224000 ekin = 2.97180261675446 | erot = 2.69506479286097 | epot = -22.6737182851749 | etot = -17.0068508755595 +225000 ekin = 2.90964642881874 | erot = 2.70979121573947 | epot = -22.6122851651091 | etot = -16.9928475205509 +226000 ekin = 2.79266706207817 | erot = 2.54927288052975 | epot = -22.611389662458 | etot = -17.26944971985 +227000 ekin = 2.76947170660882 | erot = 2.30328015123565 | epot = -22.6467409582568 | etot = -17.5739891004123 +228000 ekin = 2.78325047375845 | erot = 2.27271216177592 | epot = -22.7198790647036 | etot = -17.6639164291692 +229000 ekin = 2.76112130647928 | erot = 2.39217451148942 | epot = -22.800187069951 | etot = -17.6468912519823 +230000 ekin = 2.84369730914524 | erot = 2.42541769291401 | epot = -22.8608578528069 | etot = -17.5917428507477 +231000 ekin = 2.92519379372213 | erot = 2.78019508855837 | epot = -22.8903712559506 | etot = -17.1849823736701 +232000 ekin = 2.92995659411159 | erot = 2.33228808377075 | epot = -22.8760374316385 | etot = -17.6137927537562 +233000 ekin = 2.87287398890677 | erot = 2.17970441616599 | epot = -22.8206945159733 | etot = -17.7681161109006 +234000 ekin = 2.91717500618588 | erot = 2.07964949395211 | epot = -22.7337466562911 | etot = -17.7369221561531 +235000 ekin = 2.8884995634762 | erot = 1.8755917714471 | epot = -22.6649585599089 | etot = -17.9008672249856 +236000 ekin = 2.84502452090017 | erot = 1.92993964719768 | epot = -22.5730839299946 | etot = -17.7981197618968 +237000 ekin = 2.7747867075964 | erot = 2.00862555824013 | epot = -22.4470131017474 | etot = -17.6636008359109 +238000 ekin = 2.77623252972565 | erot = 1.8578135840649 | epot = -22.3442251833764 | etot = -17.7101790695858 +239000 ekin = 2.72624274520984 | erot = 1.82537539862894 | epot = -22.3075370346696 | etot = -17.7559188908308 +240000 ekin = 2.68874575599069 | erot = 2.08791431147562 | epot = -22.3178202354351 | etot = -17.5411601679688 +241000 ekin = 2.71558535720494 | erot = 2.36223789024905 | epot = -22.3776608268973 | etot = -17.2998375794433 +242000 ekin = 2.74214545076413 | erot = 2.6946745247038 | epot = -22.4730205135828 | etot = -17.0362005381149 +243000 ekin = 2.65488365755478 | erot = 3.08626659584901 | epot = -22.6054224397351 | etot = -16.8642721863313 +244000 ekin = 2.61050010484593 | erot = 3.05400040440766 | epot = -22.7622139439541 | etot = -17.0977134347005 +245000 ekin = 2.51883913658106 | erot = 3.07372030776083 | epot = -22.9307904494801 | etot = -17.3382310051382 +246000 ekin = 2.44808144989854 | erot = 2.89693270460534 | epot = -23.0903087154634 | etot = -17.7452945609595 +247000 ekin = 2.37103549600039 | erot = 2.98987101470682 | epot = -23.2167155364782 | etot = -17.8558090257709 +248000 ekin = 2.35707290060479 | erot = 2.62430509692223 | epot = -23.3107153472033 | etot = -18.3293373496762 +249000 ekin = 2.34573908311325 | erot = 2.540797635533 | epot = -23.3554639865935 | etot = -18.4689272679472 +250000 ekin = 2.19516079867449 | erot = 2.53320956727957 | epot = -23.3422435052511 | etot = -18.613873139297 +251000 ekin = 2.20157992848163 | erot = 2.54497162272741 | epot = -23.2895519821722 | etot = -18.5430004309631 +252000 ekin = 2.2945536597844 | erot = 2.27849916282306 | epot = -23.2346327540815 | etot = -18.661579931474 +253000 ekin = 2.24131781303689 | erot = 2.67744517517055 | epot = -23.1772273391452 | etot = -18.2584643509378 +254000 ekin = 2.21098192296338 | erot = 2.82095770992409 | epot = -23.1168686504973 | etot = -18.0849290176098 +255000 ekin = 2.19143060712001 | erot = 2.87369415644551 | epot = -23.0553324396616 | etot = -17.9902076760961 +256000 ekin = 2.10428673283323 | erot = 2.5284481661157 | epot = -22.989209826487 | etot = -18.3564749275381 +257000 ekin = 2.0901878769077 | erot = 2.57115406533198 | epot = -22.9241936332316 | etot = -18.262851690992 +258000 ekin = 2.19626617792815 | erot = 2.13919571497503 | epot = -22.8452199017343 | etot = -18.5097580088311 +259000 ekin = 2.21294203759051 | erot = 2.07911733890805 | epot = -22.7764097043272 | etot = -18.4843503278287 +260000 ekin = 2.22988124635537 | erot = 1.88363114769121 | epot = -22.7226746972068 | etot = -18.6091623031603 +261000 ekin = 2.23359219993357 | erot = 1.70662190809934 | epot = -22.6865933594041 | etot = -18.7463792513712 +262000 ekin = 2.41035894748686 | erot = 1.75350704630797 | epot = -22.6655731083551 | etot = -18.5017071145602 +263000 ekin = 2.54297814673108 | erot = 1.63910792627687 | epot = -22.6660944245488 | etot = -18.4840083515409 +264000 ekin = 2.6204802717585 | erot = 1.60167126997723 | epot = -22.6963818864548 | etot = -18.474230344719 +265000 ekin = 2.63395951584548 | erot = 1.61464895664043 | epot = -22.7525488508233 | etot = -18.5039403783374 +266000 ekin = 2.66249523510546 | erot = 1.90346143383775 | epot = -22.8357396370455 | etot = -18.2697829681023 +267000 ekin = 2.84840089865289 | erot = 1.96973814380149 | epot = -22.922895038939 | etot = -18.1047559964846 +268000 ekin = 2.88773992899432 | erot = 2.23404496611554 | epot = -23.0126109152364 | etot = -17.8908260201265 +269000 ekin = 2.95881152251244 | erot = 2.36308023135759 | epot = -23.0806209903755 | etot = -17.7587292365055 +270000 ekin = 3.19922667657027 | erot = 2.31987744595648 | epot = -23.0997207459547 | etot = -17.580616623428 +271000 ekin = 3.3047444353159 | erot = 2.18146213267916 | epot = -23.0923869412848 | etot = -17.6061803732897 +272000 ekin = 3.38316630950203 | erot = 2.27626381008298 | epot = -23.0565644655524 | etot = -17.3971343459674 +273000 ekin = 3.44314429393645 | erot = 2.33103394910062 | epot = -22.998686348507 | etot = -17.2245081054699 +274000 ekin = 3.29733836463975 | erot = 2.35460687412698 | epot = -22.9061895162167 | etot = -17.25424427745 +275000 ekin = 3.20483849389283 | erot = 2.17592485213268 | epot = -22.8033610976753 | etot = -17.4225977516498 +276000 ekin = 3.17952696643828 | erot = 2.53631962219392 | epot = -22.6964713302164 | etot = -16.9806247415842 +277000 ekin = 3.04779312524468 | erot = 2.63224846283753 | epot = -22.5925250147673 | etot = -16.9124834266851 +278000 ekin = 2.88882241520588 | erot = 2.44295768771974 | epot = -22.5096077221473 | etot = -17.1778276192217 +279000 ekin = 2.74458059242858 | erot = 2.34689014914025 | epot = -22.4433740610141 | etot = -17.3519033194453 +280000 ekin = 2.7554105836729 | erot = 2.40118989847531 | epot = -22.385537427078 | etot = -17.2289369449298 +281000 ekin = 2.66532300538255 | erot = 2.21704056459407 | epot = -22.3765161892643 | etot = -17.4941526192876 +282000 ekin = 2.60731940802894 | erot = 2.15906154555104 | epot = -22.3929020360192 | etot = -17.6265210824392 +283000 ekin = 2.58513425203912 | erot = 2.06481653587231 | epot = -22.408196701954 | etot = -17.7582459140426 +284000 ekin = 2.54858019457344 | erot = 2.2457247845057 | epot = -22.444591926386 | etot = -17.6502869473068 +285000 ekin = 2.55758171617785 | erot = 2.76460913859725 | epot = -22.514158659392 | etot = -17.1919678046169 +286000 ekin = 2.60821734500508 | erot = 3.16634932217223 | epot = -22.5929692498766 | etot = -16.8184025826992 +287000 ekin = 2.49254766601119 | erot = 3.15514661858264 | epot = -22.6449148716492 | etot = -16.9972205870554 +288000 ekin = 2.50066439821554 | erot = 3.49719403955153 | epot = -22.6803477105654 | etot = -16.6824892727983 +289000 ekin = 2.44598353504081 | erot = 3.34215032544747 | epot = -22.6895361095333 | etot = -16.901402249045 +290000 ekin = 2.3935982307273 | erot = 3.11268440307227 | epot = -22.6698244131813 | etot = -17.1635417793817 +291000 ekin = 2.4261701183146 | erot = 2.85487514428649 | epot = -22.6626122342503 | etot = -17.3815669716492 +292000 ekin = 2.40772687076946 | erot = 2.75801742060096 | epot = -22.6754806613924 | etot = -17.509736370022 +293000 ekin = 2.42154585346474 | erot = 2.56313321462425 | epot = -22.7028245536538 | etot = -17.7181454855648 +294000 ekin = 2.47283091667028 | erot = 2.92407822599823 | epot = -22.7233881302524 | etot = -17.3264789875839 +295000 ekin = 2.48250330737231 | erot = 2.66001264724744 | epot = -22.7516848410687 | etot = -17.6091688864489 +296000 ekin = 2.50738582337513 | erot = 2.53234484293194 | epot = -22.7873334660358 | etot = -17.7476027997287 +297000 ekin = 2.57517392062617 | erot = 2.82176475993525 | epot = -22.8071785750426 | etot = -17.4102398944812 +298000 ekin = 2.64719948459876 | erot = 2.59986611083038 | epot = -22.8000961016266 | etot = -17.5530305061974 +299000 ekin = 2.5779494927199 | erot = 2.50163391190624 | epot = -22.777423569021 | etot = -17.6978401643949 +300000 ekin = 2.54202853433729 | erot = 2.50188796046293 | epot = -22.7359935186374 | etot = -17.6920770238372 +301000 ekin = 2.53853550508124 | erot = 2.33138966267646 | epot = -22.668055568127 | etot = -17.7981304003693 +302000 ekin = 2.5416467257922 | erot = 2.35968144693469 | epot = -22.6002854710846 | etot = -17.6989572983577 +303000 ekin = 2.55152004910031 | erot = 2.25570939719572 | epot = -22.546491206588 | etot = -17.7392617602919 +304000 ekin = 2.43742201255293 | erot = 1.93302414776487 | epot = -22.4953520351471 | etot = -18.1249058748293 +305000 ekin = 2.37256740983366 | erot = 1.99906686310167 | epot = -22.4852720256445 | etot = -18.1136377527092 +306000 ekin = 2.33394239199436 | erot = 1.95361217330024 | epot = -22.4994393613202 | etot = -18.2118847960256 +307000 ekin = 2.36433385317702 | erot = 2.09819856998267 | epot = -22.5498835871989 | etot = -18.0873511640392 +308000 ekin = 2.39069887757527 | erot = 2.58247807487919 | epot = -22.6356145598506 | etot = -17.6624376073962 +309000 ekin = 2.42870516593961 | erot = 2.50601430493647 | epot = -22.7376993972852 | etot = -17.8029799264091 +310000 ekin = 2.59762961960999 | erot = 2.86657561799355 | epot = -22.8270893622473 | etot = -17.3628841246438 +311000 ekin = 2.5804504148771 | erot = 3.23112647307674 | epot = -22.8820505528211 | etot = -17.0704736648672 +312000 ekin = 2.55765290476199 | erot = 3.46227005563457 | epot = -22.8938340197387 | etot = -16.8739110593421 +313000 ekin = 2.55944192884797 | erot = 3.26655870580155 | epot = -22.8884040353445 | etot = -17.062403400695 +314000 ekin = 2.66754752507794 | erot = 3.03950571405864 | epot = -22.8258761802466 | etot = -17.11882294111 +315000 ekin = 2.73855283007325 | erot = 2.99016186621305 | epot = -22.7272216366887 | etot = -16.9985069404024 +316000 ekin = 2.80269198455225 | erot = 2.86307192976269 | epot = -22.5938909114045 | etot = -16.9281269970896 +317000 ekin = 2.93621184769342 | erot = 2.59361256238003 | epot = -22.4292070317097 | etot = -16.8993826216363 +318000 ekin = 2.8975852606956 | erot = 2.51740962219028 | epot = -22.2783865388303 | etot = -16.8633916559444 +319000 ekin = 2.91605528220967 | erot = 2.46065370098588 | epot = -22.1337044367048 | etot = -16.7569954535092 +320000 ekin = 3.07107505335126 | erot = 2.32265497319516 | epot = -21.9969159416465 | etot = -16.6031859151 +321000 ekin = 3.13741654111418 | erot = 2.10166654249781 | epot = -21.9003082194708 | etot = -16.6612251358588 +322000 ekin = 3.25007976010091 | erot = 2.45741622169982 | epot = -21.8520535793253 | etot = -16.1445575975246 +323000 ekin = 3.23909847348114 | erot = 2.53403753206016 | epot = -21.85400214387 | etot = -16.0808661383287 +324000 ekin = 3.38563358070231 | erot = 2.17311589402306 | epot = -21.900909860486 | etot = -16.3421603857606 +325000 ekin = 3.34278974993512 | erot = 2.12874487522943 | epot = -21.9500890276594 | etot = -16.4785544024948 +326000 ekin = 3.38095563952734 | erot = 1.87895018746853 | epot = -21.9795682650693 | etot = -16.7196624380734 +327000 ekin = 3.38255419804518 | erot = 2.15889018224061 | epot = -22.0134841360962 | etot = -16.4720397558104 +328000 ekin = 3.40032271527505 | erot = 2.44697536300071 | epot = -22.0234507590408 | etot = -16.176152680765 +329000 ekin = 3.42165866167045 | erot = 2.23397608707596 | epot = -21.996507984308 | etot = -16.3408732355616 +330000 ekin = 3.4049518958943 | erot = 2.16314285762149 | epot = -21.9196276290174 | etot = -16.3515328755016 +331000 ekin = 3.17548117127386 | erot = 2.09607585596631 | epot = -21.7944989890111 | etot = -16.5229419617709 +332000 ekin = 2.98417545246671 | erot = 2.49335753705494 | epot = -21.6758679740327 | etot = -16.1983349845111 +333000 ekin = 2.88789613747822 | erot = 2.25591859160928 | epot = -21.5606249971909 | etot = -16.4168102681034 +334000 ekin = 2.72802815944278 | erot = 2.34583544867019 | epot = -21.5029467999943 | etot = -16.4290831918814 +335000 ekin = 2.67984094653365 | erot = 2.55944269027805 | epot = -21.5037191469947 | etot = -16.264435510183 +336000 ekin = 2.69835695167792 | erot = 2.67075019722183 | epot = -21.5450631550405 | etot = -16.1759560061407 +337000 ekin = 2.58419106934196 | erot = 3.12853087323269 | epot = -21.6433168369331 | etot = -15.9305948943584 +338000 ekin = 2.49996061258834 | erot = 3.11218673292016 | epot = -21.7506422483336 | etot = -16.1384949028251 +339000 ekin = 2.39574216262849 | erot = 3.08063585267057 | epot = -21.8692124850348 | etot = -16.3928344697357 +340000 ekin = 2.49232794145647 | erot = 2.98019099132304 | epot = -21.9771878613075 | etot = -16.5046689285279 +341000 ekin = 2.49715634905669 | erot = 2.90079807725769 | epot = -22.0570317432504 | etot = -16.659077316936 +342000 ekin = 2.5171609306997 | erot = 2.82265055007451 | epot = -22.1164185335397 | etot = -16.7766070527655 +343000 ekin = 2.4860981088623 | erot = 2.72316461109179 | epot = -22.1874092656393 | etot = -16.9781465456852 +344000 ekin = 2.59185701101002 | erot = 2.80189377403283 | epot = -22.2240461219156 | etot = -16.8302953368728 +345000 ekin = 2.75203781955693 | erot = 2.78048504556997 | epot = -22.228777643338 | etot = -16.6962547782111 +346000 ekin = 2.81389530494876 | erot = 2.33407306131948 | epot = -22.2248537826431 | etot = -17.0768854163749 +347000 ekin = 2.93912104005356 | erot = 2.50008170041738 | epot = -22.249868336818 | etot = -16.810665596347 +348000 ekin = 2.96773185111308 | erot = 2.74343934252203 | epot = -22.2560808039813 | etot = -16.5449096103462 +349000 ekin = 3.13040986998839 | erot = 2.80190275823782 | epot = -22.2470744750917 | etot = -16.3147618468654 +350000 ekin = 3.08696501979114 | erot = 2.86847264662999 | epot = -22.2200203810507 | etot = -16.2645827146296 +351000 ekin = 3.09062650768659 | erot = 2.55040952388055 | epot = -22.2196533454769 | etot = -16.5786173139098 +352000 ekin = 3.11537871248049 | erot = 2.20508138812276 | epot = -22.2132969704675 | etot = -16.8928368698642 +353000 ekin = 3.0715606127648 | erot = 2.27110385815633 | epot = -22.1942519415341 | etot = -16.851587470613 +354000 ekin = 3.03625905361607 | erot = 2.28070870858904 | epot = -22.1756814217728 | etot = -16.8587136595677 +355000 ekin = 3.05199381136596 | erot = 2.27451340050885 | epot = -22.1583132038245 | etot = -16.8318059919496 +356000 ekin = 3.08455685206846 | erot = 2.22987943802131 | epot = -22.1433269864766 | etot = -16.8288906963869 +357000 ekin = 3.05732303271328 | erot = 2.39309407849547 | epot = -22.1193520318396 | etot = -16.6689349206308 +358000 ekin = 3.17110061451348 | erot = 2.70306029074059 | epot = -22.11823298523 | etot = -16.2440720799759 +359000 ekin = 3.16486963450215 | erot = 2.78686781955525 | epot = -22.1253692631305 | etot = -16.1736318090731 +360000 ekin = 3.13851448508919 | erot = 2.57867504445972 | epot = -22.1430585034903 | etot = -16.4258689739414 +361000 ekin = 3.10180460440794 | erot = 2.91879652221926 | epot = -22.1488150833327 | etot = -16.1282139567055 +362000 ekin = 3.05062554845321 | erot = 3.01028278746073 | epot = -22.1455190064011 | etot = -16.0846106704872 +363000 ekin = 3.05887916756222 | erot = 2.9828696644243 | epot = -22.1197448021474 | etot = -16.0779959701609 +364000 ekin = 2.97835573270404 | erot = 3.15819469882598 | epot = -22.0865889777576 | etot = -15.9500385462276 +365000 ekin = 2.91386725267312 | erot = 3.01797244564504 | epot = -22.0367345005041 | etot = -16.1048948021859 +366000 ekin = 2.84923441171891 | erot = 2.78629016923761 | epot = -21.9575039957298 | etot = -16.3219794147733 +367000 ekin = 2.68353251880636 | erot = 2.48104091468958 | epot = -21.89853718758 | etot = -16.7339637540841 +368000 ekin = 2.65983333900825 | erot = 2.52342977423081 | epot = -21.8801683018794 | etot = -16.6969051886403 +369000 ekin = 2.57098271373623 | erot = 2.1378338745132 | epot = -21.8712180667081 | etot = -17.1624014784587 +370000 ekin = 2.46719741991489 | erot = 2.19165130675154 | epot = -21.8880397158873 | etot = -17.2291909892209 +371000 ekin = 2.36101704058605 | erot = 2.37151178551908 | epot = -21.871259635484 | etot = -17.1387308093789 +372000 ekin = 2.3529234961604 | erot = 1.93814576615854 | epot = -21.8337068682175 | etot = -17.5426376058985 +373000 ekin = 2.22654652898949 | erot = 1.97312401893844 | epot = -21.7946812690266 | etot = -17.5950107210987 +374000 ekin = 2.10841533505384 | erot = 2.42321715998308 | epot = -21.7582816122237 | etot = -17.2266491171868 +375000 ekin = 2.09694600146956 | erot = 2.65841461817976 | epot = -21.7455351907437 | etot = -16.9901745710944 +376000 ekin = 2.01640282060135 | erot = 2.942674608739 | epot = -21.7585878275115 | etot = -16.7995103981711 +377000 ekin = 1.9663942011233 | erot = 3.0881995707429 | epot = -21.7692932541817 | etot = -16.7146994823155 +378000 ekin = 1.85818028079322 | erot = 2.93893488746254 | epot = -21.788829140459 | etot = -16.9917139722032 +379000 ekin = 1.80977620668718 | erot = 2.89686403333532 | epot = -21.8021607659805 | etot = -17.095520525958 +380000 ekin = 1.73240863049982 | erot = 3.31083227305493 | epot = -21.8040178365908 | etot = -16.7607769330361 +381000 ekin = 1.78593665245932 | erot = 3.00437887789568 | epot = -21.8146190159381 | etot = -17.0243034855831 +382000 ekin = 1.81833924259099 | erot = 3.29223624038112 | epot = -21.833830872214 | etot = -16.7232553892418 +383000 ekin = 1.90372822779348 | erot = 3.22237238702126 | epot = -21.8485569566827 | etot = -16.722456341868 +384000 ekin = 1.84908071228733 | erot = 3.12652639081515 | epot = -21.7977736604942 | etot = -16.8221665573917 +385000 ekin = 1.92406985540241 | erot = 2.87503823935564 | epot = -21.7109558633046 | etot = -16.9118477685465 +386000 ekin = 2.08459192251278 | erot = 2.45881013772459 | epot = -21.8127875838316 | etot = -17.2693855235942 +387000 ekin = 2.14831947455658 | erot = 2.58103233380244 | epot = -21.9657785164539 | etot = -17.2364267080948 +388000 ekin = 2.20283399392825 | erot = 2.65764672350559 | epot = -22.0644231935263 | etot = -17.2039424760924 +389000 ekin = 2.20238885724331 | erot = 2.65111850895059 | epot = -22.151623488139 | etot = -17.2981161219451 +390000 ekin = 2.24047588961193 | erot = 2.79913619901823 | epot = -22.2380523913912 | etot = -17.1984403027611 +391000 ekin = 2.27798913986011 | erot = 2.58277083989431 | epot = -22.3159667090674 | etot = -17.455206729313 +392000 ekin = 2.25449982760669 | erot = 2.37888824458213 | epot = -22.360585059292 | etot = -17.7271969871032 +393000 ekin = 2.40321868579769 | erot = 2.29619394920022 | epot = -22.4007355614942 | etot = -17.7013229264963 +394000 ekin = 2.3847224913627 | erot = 2.02605124890776 | epot = -22.4166559581037 | etot = -18.0058822178332 +395000 ekin = 2.35870737602685 | erot = 2.13809618093399 | epot = -22.4618388912501 | etot = -17.9650353342892 +396000 ekin = 2.36594751638181 | erot = 2.35329585924258 | epot = -22.4900242189753 | etot = -17.7707808433509 +397000 ekin = 2.32162964157157 | erot = 2.38815965169885 | epot = -22.5051745520066 | etot = -17.7953852587362 +398000 ekin = 2.28093171176819 | erot = 2.45784979337996 | epot = -22.4904502460559 | etot = -17.7516687409078 +399000 ekin = 2.24440009076081 | erot = 2.20375095522984 | epot = -22.4593286712299 | etot = -18.0111776252392 +400000 ekin = 2.21650351836316 | erot = 2.11035067120502 | epot = -22.4071568047283 | etot = -18.0803026151601 +401000 ekin = 2.18808947871548 | erot = 2.05046808146155 | epot = -22.3505439740507 | etot = -18.1119864138737 +402000 ekin = 2.16649391253914 | erot = 2.14799860386826 | epot = -22.2682562516522 | etot = -17.9537637352448 +403000 ekin = 2.28466204544584 | erot = 2.18910683075392 | epot = -22.2050986712121 | etot = -17.7313297950124 +404000 ekin = 2.34692059996736 | erot = 2.09828665659993 | epot = -22.153802700954 | etot = -17.7085954443867 +405000 ekin = 2.44056792098291 | erot = 1.95202235520071 | epot = -22.1290600615598 | etot = -17.7364697853762 +406000 ekin = 2.51200179837251 | erot = 1.84480550716535 | epot = -22.1228718442876 | etot = -17.7660645387497 +407000 ekin = 2.46779728542662 | erot = 1.9571557089084 | epot = -22.1207033013074 | etot = -17.6957503069724 +408000 ekin = 2.67524377663768 | erot = 2.25989223488923 | epot = -22.1391777417952 | etot = -17.2040417302683 +409000 ekin = 2.66315255700302 | erot = 2.37555491225742 | epot = -22.130319418611 | etot = -17.0916119493505 +410000 ekin = 2.65203478218391 | erot = 2.35306567100151 | epot = -22.1147712842537 | etot = -17.1096708310682 +411000 ekin = 2.66659217273954 | erot = 2.24630383870675 | epot = -22.1012745566864 | etot = -17.1883785452401 +412000 ekin = 2.71788228424459 | erot = 2.05994526098404 | epot = -22.0854752996799 | etot = -17.3076477544513 +413000 ekin = 2.91802848135381 | erot = 2.11234467836731 | epot = -22.071162406671 | etot = -17.0407892469499 +414000 ekin = 2.96559563750792 | erot = 2.00652755440291 | epot = -22.0704517319951 | etot = -17.0983285400842 +415000 ekin = 2.94033398741362 | erot = 2.15066367214138 | epot = -22.0908184253286 | etot = -16.9998207657736 +416000 ekin = 3.0130861756449 | erot = 2.30018045105556 | epot = -22.146756551793 | etot = -16.8334899250925 +417000 ekin = 2.99189829031791 | erot = 2.38541146259433 | epot = -22.2119953988621 | etot = -16.8346856459498 +418000 ekin = 2.92450258607182 | erot = 2.60659083472711 | epot = -22.2670317375585 | etot = -16.7359383167596 +419000 ekin = 3.02248435904793 | erot = 2.56863874909474 | epot = -22.3092445703346 | etot = -16.7181214621919 +420000 ekin = 3.11629989898243 | erot = 2.19357614992626 | epot = -22.352137101017 | etot = -17.0422610521083 +421000 ekin = 3.09888957739387 | erot = 2.50768144705336 | epot = -22.4424742155049 | etot = -16.8359031910576 +422000 ekin = 3.22879455450158 | erot = 2.72814664323869 | epot = -22.5663066955683 | etot = -16.609365497828 +423000 ekin = 3.30665671531863 | erot = 2.5159167760946 | epot = -22.6645305507577 | etot = -16.8419570593445 +424000 ekin = 3.37246731972729 | erot = 2.34745055602903 | epot = -22.7276426183929 | etot = -17.0077247426366 +425000 ekin = 3.43841525686886 | erot = 2.13655704811657 | epot = -22.7531787907647 | etot = -17.1782064857792 +426000 ekin = 3.39533061745577 | erot = 2.09679686908517 | epot = -22.7598072190451 | etot = -17.2676797325042 +427000 ekin = 3.39111059944182 | erot = 2.09557295936995 | epot = -22.7548111473876 | etot = -17.2681275885758 +428000 ekin = 3.31614466866163 | erot = 2.03921223078319 | epot = -22.7608817388065 | etot = -17.4055248393617 +429000 ekin = 3.32919751126102 | erot = 2.28907058183502 | epot = -22.7667239471957 | etot = -17.1484558540996 +430000 ekin = 3.209169039297 | erot = 2.24711750120356 | epot = -22.7569862329287 | etot = -17.3006996924281 +431000 ekin = 3.21784537917496 | erot = 2.11449131463102 | epot = -22.7330752234491 | etot = -17.4007385296431 +432000 ekin = 3.05825965277367 | erot = 2.12802457775881 | epot = -22.7058311036754 | etot = -17.5195468731429 +433000 ekin = 3.04999159233167 | erot = 2.12377304692499 | epot = -22.6927692042269 | etot = -17.5190045649702 +434000 ekin = 2.97281689578996 | erot = 2.06268809983415 | epot = -22.6735691335099 | etot = -17.6380641378858 +435000 ekin = 2.9408188199265 | erot = 2.27500624558159 | epot = -22.6471201429011 | etot = -17.431295077393 +436000 ekin = 2.76300260327171 | erot = 2.14872430130925 | epot = -22.6178894405037 | etot = -17.7061625359227 +437000 ekin = 2.5942981287548 | erot = 1.81211382552893 | epot = -22.5954850842172 | etot = -18.1890731299334 +438000 ekin = 2.55606503620589 | erot = 2.01798684807052 | epot = -22.5948271221483 | etot = -18.0207752378719 +439000 ekin = 2.53154376315503 | erot = 2.19299208744604 | epot = -22.6163361970743 | etot = -17.8918003464733 +440000 ekin = 2.40438990342989 | erot = 2.39730485059917 | epot = -22.6417525467575 | etot = -17.8400577927285 +441000 ekin = 2.39311316134448 | erot = 2.20887829122772 | epot = -22.6584374753818 | etot = -18.0564460228095 +442000 ekin = 2.33774628968783 | erot = 2.2792443860291 | epot = -22.6901952471933 | etot = -18.0732045714763 +443000 ekin = 2.29577071148449 | erot = 2.1368193262954 | epot = -22.7383184381275 | etot = -18.3057284003476 +444000 ekin = 2.23794629484166 | erot = 2.26441379885353 | epot = -22.7861053898433 | etot = -18.2837452961481 +445000 ekin = 2.295455262988 | erot = 2.2148355293276 | epot = -22.8258649969131 | etot = -18.3155742045975 +446000 ekin = 2.30609557124273 | erot = 2.31380080271862 | epot = -22.8648768729172 | etot = -18.2449804989559 +447000 ekin = 2.34004311197639 | erot = 2.11921527275248 | epot = -22.8964565927019 | etot = -18.437198207973 +448000 ekin = 2.31891408584105 | erot = 1.89336279102551 | epot = -22.9133862874844 | etot = -18.7011094106179 +449000 ekin = 2.50108402662094 | erot = 2.14275389718694 | epot = -22.9306330051682 | etot = -18.2867950813603 +450000 ekin = 2.56801154893259 | erot = 2.17030720110482 | epot = -22.9343126165987 | etot = -18.1959938665613 +451000 ekin = 2.56623797742055 | erot = 2.48936702406201 | epot = -22.9565813788789 | etot = -17.9009763773963 +452000 ekin = 2.58271965200722 | erot = 2.71036974079274 | epot = -22.9698927610142 | etot = -17.6768033682143 +453000 ekin = 2.57528128095344 | erot = 2.42064719168865 | epot = -22.9718770494988 | etot = -17.9759485768568 +454000 ekin = 2.67501362163764 | erot = 2.16830940597275 | epot = -22.9542828268572 | etot = -18.1109597992468 +455000 ekin = 2.56489981687939 | erot = 2.42902486734881 | epot = -22.9396963254754 | etot = -17.9457716412472 +456000 ekin = 2.70565104056165 | erot = 2.41758826939483 | epot = -22.9394278452201 | etot = -17.8161885352636 +457000 ekin = 2.67202110043049 | erot = 2.33461800850218 | epot = -22.9661541099741 | etot = -17.9595150010414 +458000 ekin = 2.80341163315565 | erot = 2.09116834812251 | epot = -22.9873787877665 | etot = -18.0927988064884 +459000 ekin = 2.88302679195822 | erot = 2.11686421326548 | epot = -22.9983193137535 | etot = -17.9984283085298 +460000 ekin = 2.80959444443693 | erot = 1.91875534890949 | epot = -22.9899489536659 | etot = -18.2615991603195 +461000 ekin = 2.74655544888572 | erot = 2.00712299964637 | epot = -22.9641927476616 | etot = -18.2105142991295 +462000 ekin = 2.69410871293393 | erot = 1.85692462055067 | epot = -22.9396822663686 | etot = -18.388648932884 +463000 ekin = 2.68405751272903 | erot = 1.72122902844388 | epot = -22.9206254454229 | etot = -18.51533890425 +464000 ekin = 2.68220436609111 | erot = 1.82183499702516 | epot = -22.9021000717157 | etot = -18.3980607085995 +465000 ekin = 2.72690747044721 | erot = 1.76672692428731 | epot = -22.883580832568 | etot = -18.3899464378335 +466000 ekin = 2.76097376291805 | erot = 1.45315546635121 | epot = -22.853232489585 | etot = -18.6391032603157 +467000 ekin = 2.70206815185864 | erot = 1.48571966445418 | epot = -22.8038556347772 | etot = -18.6160678184644 +468000 ekin = 2.54683782854452 | erot = 1.46932624584363 | epot = -22.7393489246082 | etot = -18.7231848502201 +469000 ekin = 2.57325964052953 | erot = 1.72667647792941 | epot = -22.688489550097 | etot = -18.3885534316381 +470000 ekin = 2.54097506641268 | erot = 1.3901983169653 | epot = -22.635429423222 | etot = -18.7042560398441 +471000 ekin = 2.53075144531174 | erot = 1.56973268857353 | epot = -22.5872254672433 | etot = -18.4867413333581 +472000 ekin = 2.48686143209682 | erot = 1.636086464973 | epot = -22.5386230972982 | etot = -18.4156752002283 +473000 ekin = 2.42292267545308 | erot = 1.87228271405928 | epot = -22.5112867940742 | etot = -18.2160814045618 +474000 ekin = 2.50613933288655 | erot = 2.09524169116573 | epot = -22.5009126606671 | etot = -17.8995316366149 +475000 ekin = 2.45603005290403 | erot = 1.85917779264055 | epot = -22.5137202723091 | etot = -18.1985124267645 +476000 ekin = 2.33468534022204 | erot = 2.02645602102819 | epot = -22.5553111044056 | etot = -18.1941697431554 +477000 ekin = 2.45891726578715 | erot = 2.02023615759312 | epot = -22.6158128757703 | etot = -18.13665945239 +478000 ekin = 2.41477886253639 | erot = 2.43026093865235 | epot = -22.6679361141585 | etot = -17.8228963129698 +479000 ekin = 2.32198252632123 | erot = 2.32644468281388 | epot = -22.7087553607367 | etot = -18.0603281516016 +480000 ekin = 2.3558894173607 | erot = 2.35954657100134 | epot = -22.7435251879183 | etot = -18.0280891995563 +481000 ekin = 2.28452089277901 | erot = 2.2043085242519 | epot = -22.7608284363971 | etot = -18.2719990193662 +482000 ekin = 2.32256646764215 | erot = 2.41557913055296 | epot = -22.7741831402842 | etot = -18.0360375420891 +483000 ekin = 2.27205927409901 | erot = 2.56178717087221 | epot = -22.772822499483 | etot = -17.9389760545117 +484000 ekin = 2.37993337782982 | erot = 2.66126649810807 | epot = -22.741647800889 | etot = -17.7004479249511 +485000 ekin = 2.38190748927821 | erot = 2.61854512767469 | epot = -22.711933457928 | etot = -17.7114808409751 +486000 ekin = 2.33418466506882 | erot = 2.46925253909108 | epot = -22.6824493106804 | etot = -17.8790121065205 +487000 ekin = 2.1809413341112 | erot = 2.69390883740086 | epot = -22.6720546869385 | etot = -17.7972045154264 +488000 ekin = 2.11650686044411 | erot = 2.55325406947429 | epot = -22.6638056402425 | etot = -17.9940447103241 +489000 ekin = 2.21431283780037 | erot = 2.6147077209327 | epot = -22.6573831222825 | etot = -17.8283625635494 +490000 ekin = 2.2177697789255 | erot = 2.2350033945615 | epot = -22.5741440270906 | etot = -18.1213708536035 +491000 ekin = 2.27432682857327 | erot = 1.88817054321459 | epot = -22.4373592688798 | etot = -18.2748618970919 +492000 ekin = 2.53138272091265 | erot = 1.96744277498782 | epot = -22.4175140127836 | etot = -17.9186885168831 +493000 ekin = 2.71682060136876 | erot = 2.08719543513572 | epot = -22.5173229601058 | etot = -17.7133069236013 +494000 ekin = 2.79234310962876 | erot = 1.83822122501528 | epot = -22.5447051999101 | etot = -17.9141408652661 +495000 ekin = 2.76785459319889 | erot = 1.73774545925603 | epot = -22.5287157975834 | etot = -18.0231157451285 +496000 ekin = 2.84739375420042 | erot = 1.56846128670017 | epot = -22.5241542479137 | etot = -18.1082992070132 +497000 ekin = 2.69680214844414 | erot = 1.74348040544617 | epot = -22.5144404613581 | etot = -18.0741579074678 +498000 ekin = 2.62941704239954 | erot = 1.98455622913416 | epot = -22.5178632839582 | etot = -17.9038900124245 +499000 ekin = 2.64804818916994 | erot = 2.28765209546422 | epot = -22.5255155919976 | etot = -17.5898153073635 +500000 ekin = 2.62333387127764 | erot = 2.24107414888827 | epot = -22.5402092035982 | etot = -17.6758011834323 +501000 ekin = 2.58728609470087 | erot = 2.55153168646072 | epot = -22.5581971333473 | etot = -17.4193793521857 +502000 ekin = 2.5743852966721 | erot = 2.59775936587112 | epot = -22.5744776891821 | etot = -17.4023330266389 +503000 ekin = 2.68620055951998 | erot = 2.57830069566431 | epot = -22.5848671752325 | etot = -17.3203659200482 +504000 ekin = 2.70861631349698 | erot = 2.63136597642943 | epot = -22.5422463026807 | etot = -17.2022640127542 +505000 ekin = 2.81322601719043 | erot = 2.35620405508435 | epot = -22.4713277487551 | etot = -17.3018976764803 +506000 ekin = 2.75875978790565 | erot = 2.28114200273201 | epot = -22.4152453500929 | etot = -17.3753435594552 +507000 ekin = 2.76795437715418 | erot = 2.08516805530088 | epot = -22.3599249092895 | etot = -17.5068024768344 +508000 ekin = 2.73683686247786 | erot = 2.23436615836139 | epot = -22.3104902501593 | etot = -17.33928722932 +509000 ekin = 2.78730220151829 | erot = 2.42925226467484 | epot = -22.2669837867326 | etot = -17.0504293205394 +510000 ekin = 2.70408252089224 | erot = 2.30581628327708 | epot = -22.2411716050791 | etot = -17.2312728009098 +511000 ekin = 2.61818706333857 | erot = 2.32198772005121 | epot = -22.2054755882156 | etot = -17.2653008048258 +512000 ekin = 2.62666567898698 | erot = 2.16861742931861 | epot = -22.1496493249523 | etot = -17.3543662166467 +513000 ekin = 2.62864579756442 | erot = 2.28017839888756 | epot = -22.0962074035279 | etot = -17.1873832070759 +514000 ekin = 2.62144790591354 | erot = 2.41032584829371 | epot = -22.0606978370585 | etot = -17.0289240828512 +515000 ekin = 2.41822665966335 | erot = 2.52539385006896 | epot = -22.0307261613949 | etot = -17.0871056516626 +516000 ekin = 2.50897552241959 | erot = 2.78752662759865 | epot = -21.9672371157166 | etot = -16.6707349656983 +517000 ekin = 2.49803351393466 | erot = 2.61327470143909 | epot = -21.8908910019266 | etot = -16.7795827865529 +518000 ekin = 2.40588427132944 | erot = 2.60496520247845 | epot = -21.8271402944048 | etot = -16.8162908205969 +519000 ekin = 2.30783192859357 | erot = 2.28376487382975 | epot = -21.7720265250264 | etot = -17.1804297226031 +520000 ekin = 2.27616423058181 | erot = 2.29434994860391 | epot = -21.7128184146398 | etot = -17.1423042354541 +521000 ekin = 2.24914668110671 | erot = 2.36897117879078 | epot = -21.6721321359535 | etot = -17.054014276056 +522000 ekin = 2.35364771784224 | erot = 2.36695097688788 | epot = -21.6628523798143 | etot = -16.9422536850842 +523000 ekin = 2.37618272265835 | erot = 2.13303138965068 | epot = -21.7051372318525 | etot = -17.1959231195435 +524000 ekin = 2.49723384027372 | erot = 2.24023872654157 | epot = -21.782377913726 | etot = -17.0449053469107 +525000 ekin = 2.4637574766049 | erot = 2.51521139084652 | epot = -21.8666578962014 | etot = -16.88768902875 +526000 ekin = 2.48852380798105 | erot = 2.58777847976823 | epot = -21.9290082944792 | etot = -16.85270600673 +527000 ekin = 2.56408998824219 | erot = 2.71602192536814 | epot = -21.9877682670141 | etot = -16.7076563534038 +528000 ekin = 2.56498509318797 | erot = 2.76910231594647 | epot = -22.0494190498079 | etot = -16.7153316406735 +529000 ekin = 2.49392950866822 | erot = 2.90081498188849 | epot = -22.095325939266 | etot = -16.7005814487092 +530000 ekin = 2.55943772908038 | erot = 3.45143762749468 | epot = -22.1238951653052 | etot = -16.1130198087301 +531000 ekin = 2.62008230330608 | erot = 3.41029569339047 | epot = -22.1596065217836 | etot = -16.1292285250871 +532000 ekin = 2.64345831357267 | erot = 3.25189148347886 | epot = -22.2210179597455 | etot = -16.325668162694 +533000 ekin = 2.66248857759375 | erot = 3.12130181040693 | epot = -22.2938545042492 | etot = -16.5100641162486 +534000 ekin = 2.57837832781882 | erot = 3.40672270429772 | epot = -22.3945209938967 | etot = -16.4094199617802 +535000 ekin = 2.54988429096274 | erot = 3.48601096999938 | epot = -22.4965663420718 | etot = -16.4606710811097 +536000 ekin = 2.54332535815071 | erot = 3.38741257391198 | epot = -22.5966447962839 | etot = -16.6659068642212 +537000 ekin = 2.51621672082876 | erot = 3.4954128648589 | epot = -22.722166058481 | etot = -16.7105364727933 +538000 ekin = 2.55164682489471 | erot = 3.74760630845821 | epot = -22.8591125937163 | etot = -16.5598594603634 +539000 ekin = 2.58092295425579 | erot = 3.80698168734289 | epot = -22.9765606947831 | etot = -16.5886560531845 +540000 ekin = 2.51008871731604 | erot = 3.80582456583089 | epot = -22.9798947810023 | etot = -16.6639814978554 +541000 ekin = 2.46719015763968 | erot = 3.50395862401684 | epot = -22.8431087269563 | etot = -16.8719599452998 +542000 ekin = 2.59107475639089 | erot = 3.1706666262415 | epot = -22.8744258545954 | etot = -17.112684471963 +543000 ekin = 2.6362020136149 | erot = 3.06589292292655 | epot = -23.0791931656973 | etot = -17.3770982291558 +544000 ekin = 2.76243033839971 | erot = 2.75752131636956 | epot = -23.190283999358 | etot = -17.6703323445887 +545000 ekin = 2.77751893807151 | erot = 2.90000680655544 | epot = -23.2046062023304 | etot = -17.5270804577034 +546000 ekin = 2.78059502363043 | erot = 2.54289051406663 | epot = -23.2005103103105 | etot = -17.8770247726134 +547000 ekin = 2.81545617905213 | erot = 2.47192481242818 | epot = -23.17185559686 | etot = -17.8844746053797 +548000 ekin = 2.79144209452777 | erot = 2.80250244565799 | epot = -23.1234791781376 | etot = -17.5295346379519 +549000 ekin = 2.75373348946697 | erot = 2.71813060504091 | epot = -23.0602788235302 | etot = -17.5884147290223 +550000 ekin = 2.68546541277406 | erot = 2.77855841780881 | epot = -22.9807527132682 | etot = -17.5167288826854 +551000 ekin = 2.63458963816006 | erot = 2.84363646369278 | epot = -22.8852605151349 | etot = -17.4070344132821 +552000 ekin = 2.65549146174165 | erot = 2.88006578689775 | epot = -22.7742141173518 | etot = -17.2386568687124 +553000 ekin = 2.61257263960416 | erot = 2.50580069544593 | epot = -22.6366728838901 | etot = -17.51829954884 +554000 ekin = 2.55042887500008 | erot = 2.45156308445395 | epot = -22.5169799021635 | etot = -17.5149879427094 +555000 ekin = 2.48771740920183 | erot = 2.41959978358368 | epot = -22.4015661830959 | etot = -17.4942489903104 +556000 ekin = 2.43741510652896 | erot = 2.45751361710346 | epot = -22.2928810834869 | etot = -17.3979523598545 +557000 ekin = 2.35602361024325 | erot = 2.35108817931548 | epot = -22.2068336513711 | etot = -17.4997218618124 +558000 ekin = 2.29845334881475 | erot = 2.47944197593299 | epot = -22.1269301143065 | etot = -17.3490347895588 +559000 ekin = 2.30547484128377 | erot = 2.43861674436455 | epot = -22.0431486095149 | etot = -17.2990570238666 +560000 ekin = 2.2773591477684 | erot = 2.22067768733761 | epot = -21.9730451699076 | etot = -17.4750083348016 +561000 ekin = 2.29286875562459 | erot = 2.1199168453984 | epot = -21.9034779049411 | etot = -17.4906923039181 +562000 ekin = 2.19274483675777 | erot = 2.46930771586789 | epot = -21.889396099988 | etot = -17.2273435473624 +563000 ekin = 2.2550795500483 | erot = 2.41065657987129 | epot = -21.9034392529017 | etot = -17.2377031229821 +564000 ekin = 2.40459323350315 | erot = 2.24328259671741 | epot = -21.940420807587 | etot = -17.2925449773665 +565000 ekin = 2.45683133378084 | erot = 2.27185510495033 | epot = -22.0074255927214 | etot = -17.2787391539902 +566000 ekin = 2.40141767311485 | erot = 2.21041354599854 | epot = -22.0735209036132 | etot = -17.4616896844998 +567000 ekin = 2.4457477053 | erot = 2.11328940794156 | epot = -22.1387930635642 | etot = -17.5797559503226 +568000 ekin = 2.4257005007209 | erot = 2.18749548652436 | epot = -22.1800917698727 | etot = -17.5668957826274 +569000 ekin = 2.41454722540358 | erot = 2.10107949642207 | epot = -22.2121048457969 | etot = -17.6964781239712 +570000 ekin = 2.2989763814646 | erot = 2.04752727974979 | epot = -22.2369346580048 | etot = -17.8904309967904 +571000 ekin = 2.37657622585406 | erot = 2.05748511989243 | epot = -22.2528258700713 | etot = -17.8187645243249 +572000 ekin = 2.31682251679288 | erot = 2.58991099215535 | epot = -22.2496997094434 | etot = -17.3429662004952 +573000 ekin = 2.30400671606327 | erot = 2.31011895599926 | epot = -22.2262777020444 | etot = -17.6121520299819 +574000 ekin = 2.22032912036986 | erot = 2.34605820626857 | epot = -22.1986731397126 | etot = -17.6322858130742 +575000 ekin = 2.32899896279976 | erot = 2.14115178550432 | epot = -22.1599463152595 | etot = -17.6897955669554 +576000 ekin = 2.39677965647583 | erot = 2.16319777458978 | epot = -22.1106499071578 | etot = -17.5506724760922 +577000 ekin = 2.3416506735784 | erot = 1.93700136472036 | epot = -22.0653568060899 | etot = -17.7867047677912 +578000 ekin = 2.16459341404815 | erot = 1.94455021171708 | epot = -22.0220297065976 | etot = -17.9128860808323 +579000 ekin = 2.10243284337438 | erot = 1.93292394186433 | epot = -21.9718679160589 | etot = -17.9365111308202 +580000 ekin = 1.99604497344192 | erot = 1.95521625056195 | epot = -21.9148231396272 | etot = -17.9635619156234 +581000 ekin = 1.96384176915027 | erot = 1.99100077453193 | epot = -21.8663464602613 | etot = -17.9115039165791 +582000 ekin = 1.86034078875963 | erot = 1.90507522813592 | epot = -21.8442116641844 | etot = -18.0787956472888 +583000 ekin = 1.71909602928123 | erot = 1.97209600265412 | epot = -21.8622366159148 | etot = -18.1710445839794 +584000 ekin = 1.70364742117104 | erot = 1.8409043836361 | epot = -21.9097350864251 | etot = -18.365183281618 +585000 ekin = 1.74431579790209 | erot = 2.03905704940611 | epot = -21.9890373916311 | etot = -18.2056645443229 +586000 ekin = 1.73466674324847 | erot = 1.83902306942852 | epot = -22.0843760980402 | etot = -18.5106862853632 +587000 ekin = 1.69495214035966 | erot = 2.05654584168955 | epot = -22.1748305300913 | etot = -18.4233325480421 +588000 ekin = 1.81991084277843 | erot = 2.03271452479358 | epot = -22.2619123801789 | etot = -18.4092870126069 +589000 ekin = 1.75774114592667 | erot = 2.09107160464917 | epot = -22.3245174454579 | etot = -18.475704694882 +590000 ekin = 1.72192880825666 | erot = 2.02708321623591 | epot = -22.3712739626592 | etot = -18.6222619381666 +591000 ekin = 1.76801497004168 | erot = 2.19934356351447 | epot = -22.4026553786929 | etot = -18.4352968451368 +592000 ekin = 1.73818904167478 | erot = 2.31753844822586 | epot = -22.4297727542858 | etot = -18.3740452643852 +593000 ekin = 1.74423680346885 | erot = 2.35378967969654 | epot = -22.43093631708 | etot = -18.3329098339146 +594000 ekin = 1.74360225576643 | erot = 1.98671317855341 | epot = -22.3849580162794 | etot = -18.6546425819596 +595000 ekin = 1.82597622479122 | erot = 2.13309374747926 | epot = -22.390309310767 | etot = -18.4312393384965 +596000 ekin = 1.88347190280875 | erot = 2.21700247043638 | epot = -22.4390117320808 | etot = -18.3385373588356 +597000 ekin = 1.85682865820151 | erot = 2.22335853873382 | epot = -22.4665965332847 | etot = -18.3864093363494 +598000 ekin = 1.90006820905243 | erot = 2.42053542571024 | epot = -22.4694279641808 | etot = -18.1488243294181 +599000 ekin = 1.90071729874354 | erot = 2.59878396537104 | epot = -22.4910623963926 | etot = -17.991561132278 +600000 ekin = 1.9775296369167 | erot = 2.72441502124518 | epot = -22.5477576362776 | etot = -17.8458129781158 +601000 ekin = 1.85698550625183 | erot = 2.88505630055951 | epot = -22.601413276632 | etot = -17.8593714698207 +602000 ekin = 1.85670612852394 | erot = 2.99246755772118 | epot = -22.6585474549208 | etot = -17.8093737686757 +603000 ekin = 1.86635938777731 | erot = 2.79466925677628 | epot = -22.7047123446179 | etot = -18.0436837000643 +604000 ekin = 1.85627372221488 | erot = 2.9645426732677 | epot = -22.7247435540802 | etot = -17.9039271585976 +605000 ekin = 1.90713526215439 | erot = 2.83334095597271 | epot = -22.7033988480802 | etot = -17.9629226299531 +606000 ekin = 1.97855456734149 | erot = 2.44168814330719 | epot = -22.6272048618403 | etot = -18.2069621511916 +607000 ekin = 2.01266482611072 | erot = 2.45716329068721 | epot = -22.5070850149334 | etot = -18.0372568981355 +608000 ekin = 2.12878560429552 | erot = 2.31425337484015 | epot = -22.3497088958722 | etot = -17.9066699167365 +609000 ekin = 2.06312041868314 | erot = 2.11817811077725 | epot = -22.1990535325683 | etot = -18.0177550031079 +610000 ekin = 2.16915995218538 | erot = 2.15710310478954 | epot = -22.0738713202685 | etot = -17.7476082632936 +611000 ekin = 2.2479062777386 | erot = 2.44524506443959 | epot = -21.9773927987228 | etot = -17.2842414565446 +612000 ekin = 2.33407663304696 | erot = 2.43880885419916 | epot = -21.9158194120391 | etot = -17.142933924793 +613000 ekin = 2.48627136554596 | erot = 2.04564905753185 | epot = -21.9014181358314 | etot = -17.3694977127536 +614000 ekin = 2.63092379207175 | erot = 1.78137353630872 | epot = -21.9268892251558 | etot = -17.5145918967753 +615000 ekin = 2.76847753887659 | erot = 1.747045066359 | epot = -22.0144396036922 | etot = -17.4989169984566 +616000 ekin = 2.91908707455727 | erot = 1.78290613271662 | epot = -22.118601225114 | etot = -17.4166080178401 +617000 ekin = 3.15203249393301 | erot = 1.78303328673775 | epot = -22.2256012419585 | etot = -17.2905354612877 +618000 ekin = 3.31119378517932 | erot = 1.96412968205628 | epot = -22.3133840086656 | etot = -17.03806054143 +619000 ekin = 3.47590250528844 | erot = 1.76611683746786 | epot = -22.3772219575797 | etot = -17.1352026148234 +620000 ekin = 3.48874988045416 | erot = 1.89528011242379 | epot = -22.4384551139399 | etot = -17.0544251210619 +621000 ekin = 3.61622461981386 | erot = 1.99344049296392 | epot = -22.4893103152157 | etot = -16.8796452024379 +622000 ekin = 3.58399773461898 | erot = 1.74513664213442 | epot = -22.4803416552216 | etot = -17.1512072784682 +623000 ekin = 3.63032006314562 | erot = 1.71430163919961 | epot = -22.4430926293461 | etot = -17.0984709270009 +624000 ekin = 3.65855713197035 | erot = 1.69922484729333 | epot = -22.3868122910147 | etot = -17.029030311751 +625000 ekin = 3.60887827930819 | erot = 1.53990637330185 | epot = -22.3164178534658 | etot = -17.1676332008557 +626000 ekin = 3.52660460237184 | erot = 1.50586548866506 | epot = -22.2442897351173 | etot = -17.2118196440804 +627000 ekin = 3.5034371177018 | erot = 1.65554299653922 | epot = -22.1699228898754 | etot = -17.0109427756344 +628000 ekin = 3.39027059126343 | erot = 1.75167273235764 | epot = -22.088238530203 | etot = -16.9462952065819 +629000 ekin = 3.2398815091692 | erot = 1.71907571962451 | epot = -21.9985657464089 | etot = -17.0396085176152 +630000 ekin = 3.19313977959947 | erot = 1.92181644528361 | epot = -21.9264321634454 | etot = -16.8114759385624 +631000 ekin = 3.16387923134673 | erot = 1.95916493180212 | epot = -21.8395694883599 | etot = -16.7165253252111 +632000 ekin = 3.1485947140351 | erot = 1.97621264135334 | epot = -21.7846629506647 | etot = -16.6598555952762 +633000 ekin = 3.21562845702805 | erot = 2.00714201834292 | epot = -21.7459219259819 | etot = -16.523151450611 +634000 ekin = 3.18996985450964 | erot = 2.012013115691 | epot = -21.7056771658785 | etot = -16.5036941956778 +635000 ekin = 3.09651235720973 | erot = 1.73602275759664 | epot = -21.6544424588023 | etot = -16.821907343996 +636000 ekin = 2.92860815614997 | erot = 1.85589302961915 | epot = -21.6235143680234 | etot = -16.8390131822543 +637000 ekin = 2.91450492940613 | erot = 1.98660531398783 | epot = -21.6191336665839 | etot = -16.71802342319 +638000 ekin = 2.98864643224901 | erot = 2.52300956640108 | epot = -21.6153555894524 | etot = -16.1036995908023 +639000 ekin = 2.82285402890248 | erot = 2.58031703406066 | epot = -21.5893617816822 | etot = -16.1861907187191 +640000 ekin = 2.87726879521912 | erot = 2.7163927085115 | epot = -21.5512867369313 | etot = -15.9576252332007 +641000 ekin = 2.95903007169266 | erot = 2.43559640758648 | epot = -21.5137572402012 | etot = -16.119130760922 +642000 ekin = 2.96204133827632 | erot = 2.5007390891145 | epot = -21.4303396745979 | etot = -15.9675592472071 +643000 ekin = 2.95135321760987 | erot = 2.18430881955823 | epot = -21.3830067810411 | etot = -16.247344743873 +644000 ekin = 2.89461472263122 | erot = 2.24797742659958 | epot = -21.3844502347312 | etot = -16.2418580855004 +645000 ekin = 2.95435208333517 | erot = 2.48214942109185 | epot = -21.3637410798344 | etot = -15.9272395754073 +646000 ekin = 2.90556723575754 | erot = 2.30743635404398 | epot = -21.3137753959635 | etot = -16.100771806162 +647000 ekin = 2.90760512758873 | erot = 2.34216740244848 | epot = -21.2632699171358 | etot = -16.0134973870986 +648000 ekin = 2.85798779133743 | erot = 2.18813680751415 | epot = -21.2316650481513 | etot = -16.1855404492997 +649000 ekin = 2.80110553006876 | erot = 1.9978930926835 | epot = -21.2271459685493 | etot = -16.4281473457971 +650000 ekin = 2.78705126936001 | erot = 2.05433186051914 | epot = -21.2258730978758 | etot = -16.3844899679966 +651000 ekin = 2.82981122207192 | erot = 2.24476751487047 | epot = -21.2549338926241 | etot = -16.1803551556817 +652000 ekin = 2.81187017826329 | erot = 2.46541600128351 | epot = -21.3104029656995 | etot = -16.0331167861527 +653000 ekin = 2.97461611593798 | erot = 2.32074630167006 | epot = -21.3681399998169 | etot = -16.0727775822089 +654000 ekin = 2.88164611559735 | erot = 2.38213902831396 | epot = -21.398131859391 | etot = -16.1343467154797 +655000 ekin = 2.94913378760835 | erot = 2.34812868784279 | epot = -21.4113698116753 | etot = -16.1141073362242 +656000 ekin = 2.89233729062061 | erot = 2.39374651226465 | epot = -21.4288546902071 | etot = -16.1427708873218 +657000 ekin = 2.77598738951928 | erot = 2.49755521549778 | epot = -21.4449504691839 | etot = -16.1714078641668 +658000 ekin = 2.77740080353724 | erot = 2.62230590128047 | epot = -21.4463092301612 | etot = -16.0466025253435 +659000 ekin = 2.65259875229227 | erot = 2.75527600584006 | epot = -21.4247610675881 | etot = -16.0168863094557 +660000 ekin = 2.56686955703644 | erot = 2.6203757628529 | epot = -21.398256132964 | etot = -16.2110108130746 +661000 ekin = 2.65054440121176 | erot = 2.62707264418951 | epot = -21.3903690458669 | etot = -16.1127520004656 +662000 ekin = 2.57957249167055 | erot = 2.57121547805659 | epot = -21.3759360832757 | etot = -16.2251481135485 +663000 ekin = 2.48664501783153 | erot = 2.38657187242632 | epot = -21.393438567821 | etot = -16.5202216775632 +664000 ekin = 2.5164577766111 | erot = 2.20401035947354 | epot = -21.4329380039057 | etot = -16.7124698678211 +665000 ekin = 2.44076978766911 | erot = 2.41816703577515 | epot = -21.4520134506819 | etot = -16.5930766272377 +666000 ekin = 2.35012835368459 | erot = 2.6049661600097 | epot = -21.4686085435909 | etot = -16.5135140298966 +667000 ekin = 2.32189657004522 | erot = 2.57250144791985 | epot = -21.4939818560077 | etot = -16.5995838380426 +668000 ekin = 2.36116261151341 | erot = 2.4186050787805 | epot = -21.5056838331986 | etot = -16.7259161429046 +669000 ekin = 2.31387988694876 | erot = 2.33668050703784 | epot = -21.5343548142369 | etot = -16.8837944202503 +670000 ekin = 2.39198713502033 | erot = 2.44748109573426 | epot = -21.5481637926254 | etot = -16.7086955618709 +671000 ekin = 2.4156803978936 | erot = 2.60129732112631 | epot = -21.6059621481886 | etot = -16.5889844291687 +672000 ekin = 2.5596138312128 | erot = 2.5516494198216 | epot = -21.7089264495899 | etot = -16.5976631985555 +673000 ekin = 2.60207943153894 | erot = 2.89040304008822 | epot = -21.8182919408405 | etot = -16.3258094692134 +674000 ekin = 2.7364856973748 | erot = 2.8185501663043 | epot = -21.9222017117615 | etot = -16.3671658480824 +675000 ekin = 2.91114076539504 | erot = 2.36500632401751 | epot = -22.0018822691681 | etot = -16.7257351797556 +676000 ekin = 2.93341061527256 | erot = 2.28532481615684 | epot = -22.0731286226862 | etot = -16.8543931912568 +677000 ekin = 3.01470682908092 | erot = 2.22858273949068 | epot = -22.1284745680575 | etot = -16.8851849994859 +678000 ekin = 3.14497803943646 | erot = 1.93068246054169 | epot = -22.1456906590923 | etot = -17.0700301591141 +679000 ekin = 3.29461438438603 | erot = 2.10760912118867 | epot = -22.136180621795 | etot = -16.7339571162203 +680000 ekin = 3.37176530279823 | erot = 2.01104009704006 | epot = -22.1041151314318 | etot = -16.7213097315935 +681000 ekin = 3.45483484720644 | erot = 1.90067457792177 | epot = -22.0463762684202 | etot = -16.690866843292 +682000 ekin = 3.37894348708854 | erot = 1.72137005878507 | epot = -21.9505620370442 | etot = -16.8502484911706 +683000 ekin = 3.42286368355835 | erot = 1.85126780834271 | epot = -21.8191972813592 | etot = -16.5450657894581 +684000 ekin = 3.36291962928525 | erot = 1.78272354471438 | epot = -21.6428884495561 | etot = -16.4972452755565 +685000 ekin = 3.36082871274671 | erot = 1.56476357384112 | epot = -21.4554201037061 | etot = -16.5298278171182 +686000 ekin = 3.29456600954367 | erot = 1.4526614688562 | epot = -21.2708420183486 | etot = -16.5236145399487 +687000 ekin = 3.28683183665721 | erot = 1.05147246964411 | epot = -21.0945257475368 | etot = -16.7562214412355 +688000 ekin = 3.12005734691895 | erot = 1.15864732674183 | epot = -20.9292915494191 | etot = -16.6505868757583 +689000 ekin = 2.98255457232255 | erot = 1.23350933506074 | epot = -20.7891561678794 | etot = -16.5730922604961 +690000 ekin = 2.88677394533053 | erot = 1.14959548133381 | epot = -20.6827307127442 | etot = -16.6463612860799 +691000 ekin = 2.85231691921442 | erot = 1.34938947635194 | epot = -20.6187495888218 | etot = -16.4170431932554 +692000 ekin = 2.8239953629433 | erot = 1.61591108279267 | epot = -20.5825839292405 | etot = -16.1426774835045 +693000 ekin = 2.78364237672009 | erot = 1.75822822075907 | epot = -20.5907390731059 | etot = -16.0488684756267 +694000 ekin = 2.73371563485523 | erot = 2.08537526939357 | epot = -20.6328696988297 | etot = -15.8137787945809 +695000 ekin = 2.57124739242717 | erot = 2.14630522202631 | epot = -20.6823542908161 | etot = -15.9648016763626 +696000 ekin = 2.51399296937018 | erot = 2.55867118356007 | epot = -20.7367847556426 | etot = -15.6641206027124 +697000 ekin = 2.50454809499975 | erot = 2.50215716077685 | epot = -20.7898428219569 | etot = -15.7831375661803 +698000 ekin = 2.36358142640515 | erot = 2.63892421049651 | epot = -20.814814737848 | etot = -15.8123091009464 +699000 ekin = 2.3119934072466 | erot = 2.68625065707116 | epot = -20.7956836949871 | etot = -15.7974396306693 +700000 ekin = 2.14616834772929 | erot = 2.12698342038349 | epot = -20.7725738213787 | etot = -16.4994220532659 +701000 ekin = 2.15539690119101 | erot = 2.17922309078409 | epot = -20.7552775762039 | etot = -16.4206575842288 +702000 ekin = 2.10080573596304 | erot = 2.11876313824385 | epot = -20.737552181646 | etot = -16.5179833074391 +703000 ekin = 2.11218006165615 | erot = 2.10588532277649 | epot = -20.7475858269112 | etot = -16.5295204424786 +704000 ekin = 2.12315820389575 | erot = 2.10220748203614 | epot = -20.757299853276 | etot = -16.5319341673441 +705000 ekin = 2.15166233402754 | erot = 2.14022995734117 | epot = -20.7941736502218 | etot = -16.5022813588531 +706000 ekin = 2.15163098226746 | erot = 2.26908854153834 | epot = -20.8512276988327 | etot = -16.430508175027 +707000 ekin = 2.15471286696278 | erot = 2.52657902495319 | epot = -20.9520579644167 | etot = -16.2707660725007 +708000 ekin = 2.17467467531748 | erot = 2.49469457222098 | epot = -21.0502066736915 | etot = -16.3808374261531 +709000 ekin = 2.25270875429065 | erot = 2.67362934165225 | epot = -21.1795445148272 | etot = -16.2532064188843 +710000 ekin = 2.19946540304423 | erot = 2.99965152220139 | epot = -21.3025369771195 | etot = -16.1034200518739 +711000 ekin = 2.25060849346072 | erot = 2.6945596185851 | epot = -21.3800741765592 | etot = -16.4349060645134 +712000 ekin = 2.31009709048309 | erot = 2.56904053029372 | epot = -21.4438411099721 | etot = -16.5647034891953 +713000 ekin = 2.34856712569142 | erot = 2.67010815786076 | epot = -21.4921710147997 | etot = -16.4734957312475 +714000 ekin = 2.46551783464037 | erot = 2.47127151678304 | epot = -21.4976914761194 | etot = -16.5609021246959 +715000 ekin = 2.51889281585643 | erot = 2.3942213472493 | epot = -21.4732726012164 | etot = -16.5601584381107 +716000 ekin = 2.57715724769554 | erot = 2.54742070298212 | epot = -21.4493966986361 | etot = -16.3248187479584 +717000 ekin = 2.65149378986134 | erot = 2.37788349879553 | epot = -21.4573082004001 | etot = -16.4279309117432 +718000 ekin = 2.69352880755697 | erot = 2.62278633313092 | epot = -21.4974593554869 | etot = -16.181144214799 +719000 ekin = 2.80177184525137 | erot = 2.54312012627449 | epot = -21.5233281256748 | etot = -16.178436154149 +720000 ekin = 2.69854861926931 | erot = 2.43897381701018 | epot = -21.5590218912255 | etot = -16.421499454946 +721000 ekin = 2.67018557216469 | erot = 2.50608214081759 | epot = -21.6315812717051 | etot = -16.4553135587228 +722000 ekin = 2.65282106714843 | erot = 2.66679722018778 | epot = -21.7056377642899 | etot = -16.3860194769537 +723000 ekin = 2.65361827521915 | erot = 2.97622205975865 | epot = -21.7797776559554 | etot = -16.1499373209776 +724000 ekin = 2.60569769803766 | erot = 2.76020150079788 | epot = -21.8376307834359 | etot = -16.4717315846004 +725000 ekin = 2.63127869433962 | erot = 2.69399118898667 | epot = -21.8984299962585 | etot = -16.5731601129322 +726000 ekin = 2.72545330440262 | erot = 2.64253926181369 | epot = -21.9407919115086 | etot = -16.5727993452923 +727000 ekin = 2.65040284294011 | erot = 2.78538015556012 | epot = -21.9637938172391 | etot = -16.5280108187389 +728000 ekin = 2.48179003902746 | erot = 2.97450520962362 | epot = -21.9479581531599 | etot = -16.4916629045088 +729000 ekin = 2.52972405397302 | erot = 2.9021249673657 | epot = -21.9040262067784 | etot = -16.4721771854397 +730000 ekin = 2.53115260905489 | erot = 2.84472555705245 | epot = -21.8740439587388 | etot = -16.4981657926314 +731000 ekin = 2.54145691681998 | erot = 2.59870522769011 | epot = -21.8660177522137 | etot = -16.7258556077036 +732000 ekin = 2.53248561362187 | erot = 2.72510944305618 | epot = -21.8573992551135 | etot = -16.5998041984355 +733000 ekin = 2.62625070581089 | erot = 2.51680047965277 | epot = -21.8396073656003 | etot = -16.6965561801366 +734000 ekin = 2.64998616374819 | erot = 2.7284569210359 | epot = -21.8405294812888 | etot = -16.4620863965047 +735000 ekin = 2.69306207166523 | erot = 3.07169199347549 | epot = -21.8204798153913 | etot = -16.0557257502506 +736000 ekin = 2.72260351822599 | erot = 2.73658566507879 | epot = -21.8062871121359 | etot = -16.3470979288311 +737000 ekin = 2.7587059894237 | erot = 2.61625561790474 | epot = -21.7997278882048 | etot = -16.4247662808763 +738000 ekin = 2.9718371126315 | erot = 2.24889762319009 | epot = -21.815880148502 | etot = -16.5951454126805 +739000 ekin = 3.05953080590062 | erot = 2.0925516015282 | epot = -21.860369608401 | etot = -16.7082872009721 +740000 ekin = 3.27063059251506 | erot = 2.33629691806438 | epot = -21.928358182454 | etot = -16.3214306718745 +741000 ekin = 3.35389594882473 | erot = 2.3177523792099 | epot = -21.990534815749 | etot = -16.3188864877144 +742000 ekin = 3.37765257218279 | erot = 2.24621136389772 | epot = -22.0551085268026 | etot = -16.4312445907221 +743000 ekin = 3.34761803886807 | erot = 2.11604292737055 | epot = -22.1501165805121 | etot = -16.6864556142735 +744000 ekin = 3.45014316044981 | erot = 2.26283739801091 | epot = -22.2301851995846 | etot = -16.5172046411239 +745000 ekin = 3.50577437774322 | erot = 2.18082158773838 | epot = -22.2958892423641 | etot = -16.6092932768825 +746000 ekin = 3.62379564063212 | erot = 2.29172371220084 | epot = -22.3504185189715 | etot = -16.4348991661385 +747000 ekin = 3.66042054955228 | erot = 2.20475025047744 | epot = -22.3851646701862 | etot = -16.5199938701565 +748000 ekin = 3.5097454014349 | erot = 2.406502625722 | epot = -22.4178592321322 | etot = -16.5016112049753 +749000 ekin = 3.56386965172274 | erot = 2.05758013521606 | epot = -22.4625938818873 | etot = -16.8411440949485 +750000 ekin = 3.49499037119352 | erot = 2.1170532032316 | epot = -22.5182146312758 | etot = -16.9061710568507 +751000 ekin = 3.52059041081486 | erot = 2.1645623466796 | epot = -22.570867136707 | etot = -16.8857143792125 +752000 ekin = 3.52922989091539 | erot = 2.13328496260282 | epot = -22.6142453819195 | etot = -16.9517305284013 +753000 ekin = 3.54450333705355 | erot = 1.90175527543433 | epot = -22.6772611743025 | etot = -17.2310025618146 +754000 ekin = 3.45153480837739 | erot = 1.87218797413988 | epot = -22.7422768873044 | etot = -17.4185541047872 +755000 ekin = 3.40998140310187 | erot = 1.79765011978447 | epot = -22.7840720762432 | etot = -17.5764405533568 +756000 ekin = 3.34055243015618 | erot = 1.98893101943512 | epot = -22.8015249198687 | etot = -17.4720414702774 +757000 ekin = 3.25995163881785 | erot = 2.23144065289712 | epot = -22.817973605037 | etot = -17.326581313322 +758000 ekin = 3.16254182007881 | erot = 2.33708167519886 | epot = -22.7968151839726 | etot = -17.2971916886949 +759000 ekin = 3.08959154816294 | erot = 2.90979409874057 | epot = -22.711924149132 | etot = -16.7125385022285 +760000 ekin = 3.12610940125223 | erot = 2.7438695705545 | epot = -22.5354298293442 | etot = -16.6654508575375 +761000 ekin = 3.01773123261609 | erot = 2.54441842482903 | epot = -22.287824947537 | etot = -16.7256752900918 +762000 ekin = 2.78676830407932 | erot = 2.45851569402079 | epot = -22.0050811851124 | etot = -16.7597971870123 +763000 ekin = 2.66585974802302 | erot = 2.362311357248 | epot = -21.722043030106 | etot = -16.693871924835 +764000 ekin = 2.45269004589485 | erot = 2.21799353566102 | epot = -21.4437328772763 | etot = -16.7730492957204 +765000 ekin = 2.33602063980822 | erot = 2.18630884760143 | epot = -21.2172136821333 | etot = -16.6948841947237 +766000 ekin = 2.29166126734383 | erot = 2.30483974019187 | epot = -21.0282994393447 | etot = -16.431798431809 +767000 ekin = 2.19131441806702 | erot = 2.03557115351125 | epot = -20.8759897944564 | etot = -16.6491042228781 +768000 ekin = 2.07724554805813 | erot = 2.24966311077066 | epot = -20.7557602191218 | etot = -16.4288515602931 +769000 ekin = 2.05775411195588 | erot = 2.4254243464562 | epot = -20.6955218025018 | etot = -16.2123433440898 +770000 ekin = 2.00758682747633 | erot = 2.45906745907278 | epot = -20.6929044608197 | etot = -16.2262501742706 +771000 ekin = 1.98409315586994 | erot = 2.48472564199802 | epot = -20.7734270007259 | etot = -16.3046082028579 +772000 ekin = 1.96669673892109 | erot = 2.78510583323484 | epot = -20.9254659410943 | etot = -16.1736633689383 +773000 ekin = 2.02461047276462 | erot = 2.78254769070796 | epot = -21.1083738193744 | etot = -16.3012156559018 +774000 ekin = 2.11360336305223 | erot = 2.98822109565685 | epot = -21.3029651154827 | etot = -16.2011406567736 +775000 ekin = 2.14002916093923 | erot = 3.19368392739119 | epot = -21.5172002816088 | etot = -16.1834871932784 +776000 ekin = 2.24832330955158 | erot = 3.06531971326436 | epot = -21.7038275157919 | etot = -16.390184492976 +777000 ekin = 2.26862051853018 | erot = 3.052041975564 | epot = -21.8350670013856 | etot = -16.5144045072914 +778000 ekin = 2.28742554048397 | erot = 3.14948640814728 | epot = -21.9086978776173 | etot = -16.4717859289861 +779000 ekin = 2.37679849205823 | erot = 3.25877776275542 | epot = -21.9331744453774 | etot = -16.2975981905637 +780000 ekin = 2.41113222109188 | erot = 3.41326897159812 | epot = -21.8804415437782 | etot = -16.0560403510882 +781000 ekin = 2.35841060920419 | erot = 3.41692834903725 | epot = -21.7562873535247 | etot = -15.9809483952833 +782000 ekin = 2.33104722618925 | erot = 3.31967786761421 | epot = -21.5791021588893 | etot = -15.9283770650858 +783000 ekin = 2.44468610858592 | erot = 3.39120123576657 | epot = -21.3872233744809 | etot = -15.5513360301284 +784000 ekin = 2.47031155030493 | erot = 3.16062374062837 | epot = -21.2067959255538 | etot = -15.5758606346205 +785000 ekin = 2.44425304006453 | erot = 2.93358092964967 | epot = -21.066643439753 | etot = -15.6888094700389 +786000 ekin = 2.38361530280111 | erot = 2.47008597237393 | epot = -20.9753503604675 | etot = -16.1216490852925 +787000 ekin = 2.48426374783216 | erot = 2.47298901652775 | epot = -20.8359485090504 | etot = -15.8786957446905 +788000 ekin = 2.62422129022946 | erot = 2.14521403572779 | epot = -20.7277036502885 | etot = -15.9582683243313 +789000 ekin = 2.71455119012379 | erot = 2.24597257975577 | epot = -20.9557602381699 | etot = -15.9952364682903 +790000 ekin = 2.89566287380398 | erot = 2.37559330223226 | epot = -21.3404176331993 | etot = -16.069161457163 +791000 ekin = 2.93118110717492 | erot = 2.41626490731772 | epot = -21.5892702620191 | etot = -16.2418242475265 +792000 ekin = 2.94573011047197 | erot = 2.50772398358449 | epot = -21.779447974455 | etot = -16.3259938803986 +793000 ekin = 2.88905153418616 | erot = 2.38272361409117 | epot = -21.9056315911052 | etot = -16.6338564428279 +794000 ekin = 2.80588096705402 | erot = 2.32779825823209 | epot = -21.9743818696615 | etot = -16.8407026443754 +795000 ekin = 2.70597772737626 | erot = 2.07317402356788 | epot = -22.0026881808375 | etot = -17.2235364298933 +796000 ekin = 2.61721688822854 | erot = 2.08773529507834 | epot = -21.9918041689519 | etot = -17.286851985645 +797000 ekin = 2.43136202877212 | erot = 1.9804893387745 | epot = -21.9515392836584 | etot = -17.5396879161117 +798000 ekin = 2.36116858693514 | erot = 1.82755970456288 | epot = -21.900064527295 | etot = -17.7113362357969 +799000 ekin = 2.29297525756191 | erot = 1.54383623564202 | epot = -21.829172635306 | etot = -17.9923611421021 +800000 ekin = 2.24935465151725 | erot = 1.54461847951829 | epot = -21.725975188811 | etot = -17.9320020577754 +801000 ekin = 2.14652429984749 | erot = 1.41717049108724 | epot = -21.638461811624 | etot = -18.0747670206892 +802000 ekin = 2.30260756676161 | erot = 1.51416478035546 | epot = -21.5464279977214 | etot = -17.7296556506043 +803000 ekin = 2.3453462856965 | erot = 1.4094988657911 | epot = -21.5017245308287 | etot = -17.7468793793411 +804000 ekin = 2.3175234695651 | erot = 1.5752835135108 | epot = -21.5228204134075 | etot = -17.6300134303316 +805000 ekin = 2.5190836302223 | erot = 2.02682036822104 | epot = -21.6250345942614 | etot = -17.079130595818 +806000 ekin = 2.69359804195369 | erot = 2.31785574785072 | epot = -21.7872941337149 | etot = -16.7758403439105 +807000 ekin = 2.78033847998957 | erot = 2.41121019329391 | epot = -21.9922590001467 | etot = -16.8007103268633 +808000 ekin = 2.80619611495448 | erot = 2.63792095913468 | epot = -22.2205031545377 | etot = -16.7763860804485 +809000 ekin = 2.88326450587592 | erot = 2.67886677112956 | epot = -22.4540143776033 | etot = -16.8918831005978 +810000 ekin = 2.91302007052298 | erot = 2.96339278377582 | epot = -22.6564267335957 | etot = -16.7800138792969 +811000 ekin = 3.09829332412733 | erot = 2.61119529725635 | epot = -22.8014808233362 | etot = -17.0919922019525 +812000 ekin = 3.08224679909935 | erot = 2.59515009531311 | epot = -22.8823180456431 | etot = -17.2049211512307 +813000 ekin = 3.0091695521178 | erot = 2.75135704659747 | epot = -22.9208796974764 | etot = -17.1603530987612 +814000 ekin = 2.97174307315438 | erot = 2.9052545136944 | epot = -22.9341256772718 | etot = -17.057128090423 +815000 ekin = 2.96997620608158 | erot = 3.14378750342447 | epot = -22.9208614386061 | etot = -16.8070977291 +816000 ekin = 2.92448217396056 | erot = 2.88577656649698 | epot = -22.878209439187 | etot = -17.0679506987294 +817000 ekin = 2.88310554429891 | erot = 2.61870439923339 | epot = -22.8398760621413 | etot = -17.338066118609 +818000 ekin = 2.81866856581223 | erot = 2.51624869438272 | epot = -22.7906528740449 | etot = -17.4557356138499 +819000 ekin = 2.6919079109904 | erot = 1.98944862516352 | epot = -22.7267915943543 | etot = -18.0454350582004 +820000 ekin = 2.68723603003253 | erot = 1.98686669393802 | epot = -22.684856204087 | etot = -18.0107534801164 +821000 ekin = 2.54604202399357 | erot = 2.17140584071585 | epot = -22.6462173351121 | etot = -17.9287694704027 +822000 ekin = 2.51719569260242 | erot = 2.14190227339863 | epot = -22.6036341275859 | etot = -17.9445361615849 +823000 ekin = 2.38975947310458 | erot = 2.45514339808654 | epot = -22.5714957893448 | etot = -17.7265929181537 +824000 ekin = 2.31794554366188 | erot = 2.04410509977368 | epot = -22.5460261880512 | etot = -18.1839755446156 +825000 ekin = 2.24137456885504 | erot = 2.02652245530611 | epot = -22.5316621259004 | etot = -18.2637651017393 +826000 ekin = 2.17386448676143 | erot = 1.87577926811353 | epot = -22.5563066825768 | etot = -18.5066629277018 +827000 ekin = 2.15440642655625 | erot = 2.1008390507396 | epot = -22.5878061584627 | etot = -18.3325606811669 +828000 ekin = 1.93354077156905 | erot = 1.9731822770431 | epot = -22.6117615018442 | etot = -18.7050384532321 +829000 ekin = 1.91274491416356 | erot = 2.31769032262726 | epot = -22.6065942718254 | etot = -18.3761590350346 +830000 ekin = 1.87910339968436 | erot = 2.45880670474181 | epot = -22.6125193475723 | etot = -18.2746092431461 +831000 ekin = 1.8972578167219 | erot = 2.49473420733519 | epot = -22.6167165770098 | etot = -18.2247245529527 +832000 ekin = 1.85092425352074 | erot = 2.48066273824452 | epot = -22.6085378559508 | etot = -18.2769508641856 +833000 ekin = 1.79059573863358 | erot = 2.56006070864993 | epot = -22.6126545978111 | etot = -18.2619981505276 +834000 ekin = 1.79399510293666 | erot = 2.44673113220985 | epot = -22.6154861129955 | etot = -18.374759877849 +835000 ekin = 1.80394510948937 | erot = 2.35964658964095 | epot = -22.6388182435247 | etot = -18.4752265443944 +836000 ekin = 1.69826382101385 | erot = 2.57406388654467 | epot = -22.6545723055291 | etot = -18.3822445979706 +837000 ekin = 1.57085807181329 | erot = 2.43187270748743 | epot = -22.6792499151532 | etot = -18.6765191358525 +838000 ekin = 1.48932995393538 | erot = 2.24165123204813 | epot = -22.6860468687766 | etot = -18.955065682793 +839000 ekin = 1.38743724869546 | erot = 1.79947957819574 | epot = -22.6563653509736 | etot = -19.4694485240824 +840000 ekin = 1.45337763400283 | erot = 1.96043695396497 | epot = -22.6075458233692 | etot = -19.1937312354014 +841000 ekin = 1.52590522598348 | erot = 2.22694909527648 | epot = -22.5519353417586 | etot = -18.7990810204987 +842000 ekin = 1.46532363485155 | erot = 2.10614026643253 | epot = -22.4887366967057 | etot = -18.9172727954216 +843000 ekin = 1.45281094628262 | erot = 2.17368676107335 | epot = -22.4106869099592 | etot = -18.7841892026032 +844000 ekin = 1.49761542714544 | erot = 2.37443717915479 | epot = -22.3449586551379 | etot = -18.4729060488377 +845000 ekin = 1.55104391739276 | erot = 2.37673299844034 | epot = -22.2778376071646 | etot = -18.3500606913315 +846000 ekin = 1.58963047079771 | erot = 2.33696583404067 | epot = -22.1844847216024 | etot = -18.257888416764 +847000 ekin = 1.54789432070443 | erot = 2.2193526636214 | epot = -22.0782777408753 | etot = -18.3110307565495 +848000 ekin = 1.64518981802307 | erot = 2.2554443671811 | epot = -21.9989181480495 | etot = -18.0982839628453 +849000 ekin = 1.65560014958063 | erot = 2.25710120668815 | epot = -21.9671927272682 | etot = -18.0544913709994 +850000 ekin = 1.64990114979127 | erot = 2.10882779392655 | epot = -21.9923852605675 | etot = -18.2336563168497 +851000 ekin = 1.76413935252605 | erot = 2.19132684842445 | epot = -22.0608745954441 | etot = -18.1054083944936 +852000 ekin = 1.77078332134281 | erot = 2.28186973474134 | epot = -22.1743987365006 | etot = -18.1217456804165 +853000 ekin = 1.8869100613698 | erot = 2.41685663704521 | epot = -22.315529258634 | etot = -18.011762560219 +854000 ekin = 1.9192805380625 | erot = 2.87742240655933 | epot = -22.4875387473848 | etot = -17.690835802763 +855000 ekin = 1.91817487389649 | erot = 2.76992189261558 | epot = -22.6436233810602 | etot = -17.9555266145481 +856000 ekin = 1.88635564274586 | erot = 2.93908057670003 | epot = -22.7647148292097 | etot = -17.9392786097638 +857000 ekin = 1.87890917293874 | erot = 2.80324259714543 | epot = -22.8439440601362 | etot = -18.161792290052 +858000 ekin = 1.76204051430329 | erot = 3.04908239798861 | epot = -22.8707912309192 | etot = -18.0596683186273 +859000 ekin = 1.79890243291169 | erot = 3.0063239833868 | epot = -22.8581636219632 | etot = -18.0529372056647 +860000 ekin = 1.84913198872829 | erot = 2.53687454533322 | epot = -22.8254155766946 | etot = -18.4394090426331 +861000 ekin = 1.91842166492715 | erot = 2.44106443467608 | epot = -22.7812919779287 | etot = -18.4218058783254 +862000 ekin = 2.03399415900866 | erot = 2.51630721219484 | epot = -22.7187848283725 | etot = -18.168483457169 +863000 ekin = 2.06594803165525 | erot = 2.19676104809343 | epot = -22.6494648939944 | etot = -18.3867558142457 +864000 ekin = 2.14467142649392 | erot = 2.30238631972367 | epot = -22.5816995592187 | etot = -18.1346418130012 +865000 ekin = 2.16190583025863 | erot = 2.29241108749928 | epot = -22.5280905818478 | etot = -18.0737736640899 +866000 ekin = 2.08928464919363 | erot = 2.34809191732022 | epot = -22.4600229326601 | etot = -18.0226463661463 +867000 ekin = 2.13586636899989 | erot = 2.4266752182288 | epot = -22.3898488501323 | etot = -17.8273072629036 +868000 ekin = 2.19543171663428 | erot = 2.34267445579126 | epot = -22.3416768736343 | etot = -17.8035707012087 +869000 ekin = 2.29038273021928 | erot = 1.9793531467175 | epot = -22.3115310066376 | etot = -18.0417951297008 +870000 ekin = 2.32898457121495 | erot = 2.18228869748504 | epot = -22.3276861507278 | etot = -17.8164128820278 +871000 ekin = 2.23179297801985 | erot = 2.24593328260165 | epot = -22.3623188812128 | etot = -17.8845926205913 +872000 ekin = 2.29217187589436 | erot = 1.92704010734646 | epot = -22.3920054616879 | etot = -18.172793478447 +873000 ekin = 2.32174880232948 | erot = 2.05958528502851 | epot = -22.426393234345 | etot = -18.045059146987 +874000 ekin = 2.31327351953412 | erot = 2.03208404812012 | epot = -22.4554437891481 | etot = -18.1100862214939 +875000 ekin = 2.36060633411453 | erot = 1.96315060902063 | epot = -22.4715825698369 | etot = -18.1478256267017 +876000 ekin = 2.37581414827236 | erot = 1.68685668202761 | epot = -22.5004013214878 | etot = -18.4377304911878 +877000 ekin = 2.2774275572836 | erot = 1.83322419137989 | epot = -22.5321167358422 | etot = -18.4214649871787 +878000 ekin = 2.26319377123925 | erot = 1.87116890647728 | epot = -22.5413279545501 | etot = -18.4069652768335 +879000 ekin = 2.23196066439052 | erot = 2.13914596070926 | epot = -22.5501734040973 | etot = -18.1790667789975 +880000 ekin = 2.13938297973397 | erot = 2.29330131769693 | epot = -22.5711782332529 | etot = -18.138493935822 +881000 ekin = 2.13186803837593 | erot = 2.14219424217102 | epot = -22.5804302674661 | etot = -18.3063679869192 +882000 ekin = 2.07769353958435 | erot = 2.09780809423991 | epot = -22.5758307354851 | etot = -18.4003291016608 +883000 ekin = 2.14813365127748 | erot = 2.30712986664785 | epot = -22.5610981496801 | etot = -18.1058346317548 +884000 ekin = 2.07540055241901 | erot = 2.6097121651115 | epot = -22.5339770599275 | etot = -17.8488643423969 +885000 ekin = 2.02469768265832 | erot = 2.37910004807544 | epot = -22.5100762497879 | etot = -18.1062785190541 +886000 ekin = 2.04877327926393 | erot = 2.49200684196671 | epot = -22.4892651846715 | etot = -17.9484850634409 +887000 ekin = 2.04537209931188 | erot = 2.62826263805271 | epot = -22.4798822756864 | etot = -17.8062475383219 +888000 ekin = 1.99171888431566 | erot = 2.59410846730975 | epot = -22.5006414627735 | etot = -17.9148141111481 +889000 ekin = 1.98870471402318 | erot = 2.78841340112904 | epot = -22.546872056789 | etot = -17.7697539416368 +890000 ekin = 1.96284801049735 | erot = 2.75880808828204 | epot = -22.6085064197192 | etot = -17.8868503209398 +891000 ekin = 1.98112231165085 | erot = 3.13734593344338 | epot = -22.6928710534586 | etot = -17.5744028083644 +892000 ekin = 1.98665494216688 | erot = 3.33630831317305 | epot = -22.7519184177193 | etot = -17.4289551623794 +893000 ekin = 2.01620612275753 | erot = 3.24720583677029 | epot = -22.8064098471907 | etot = -17.5429978876629 +894000 ekin = 2.02749033009506 | erot = 3.22400069534638 | epot = -22.852106892038 | etot = -17.6006158665965 +895000 ekin = 2.00160082448679 | erot = 3.17371669918424 | epot = -22.861417685562 | etot = -17.6861001618909 +896000 ekin = 1.81339236987826 | erot = 2.84276750236102 | epot = -22.8462163214755 | etot = -18.1900564492362 +897000 ekin = 1.78689182954807 | erot = 2.92738822261737 | epot = -22.8071071587288 | etot = -18.0928271065633 +898000 ekin = 1.79533619439939 | erot = 3.24658999514194 | epot = -22.7264192132142 | etot = -17.6844930236728 +899000 ekin = 1.86159788109517 | erot = 3.45052252235128 | epot = -22.6568068772929 | etot = -17.3446864738464 +900000 ekin = 1.87156534773537 | erot = 3.32747935578065 | epot = -22.6039784131469 | etot = -17.4049337096309 +901000 ekin = 1.9203223096468 | erot = 2.99424285088196 | epot = -22.5603724778789 | etot = -17.6458073173501 +902000 ekin = 1.90371430437791 | erot = 3.42499917648123 | epot = -22.5288190745227 | etot = -17.2001055936635 +903000 ekin = 1.90475417412636 | erot = 2.92419346565695 | epot = -22.4819033922515 | etot = -17.6529557524682 +904000 ekin = 1.90422508856298 | erot = 2.83212155923839 | epot = -22.4265338107446 | etot = -17.6901871629432 +905000 ekin = 2.00220741570039 | erot = 2.40991127904432 | epot = -22.3822853443984 | etot = -17.9701666496537 +906000 ekin = 2.01583988806336 | erot = 2.50889047935596 | epot = -22.3419713063767 | etot = -17.8172409389574 +907000 ekin = 2.13017652685894 | erot = 2.70022028195477 | epot = -22.294800159206 | etot = -17.4644033503923 +908000 ekin = 2.21155735897725 | erot = 2.35139718849955 | epot = -22.2413626180752 | etot = -17.6784080705984 +909000 ekin = 2.1338678778415 | erot = 2.19569541163544 | epot = -22.1827827026493 | etot = -17.8532194131724 +910000 ekin = 2.16567596172158 | erot = 2.22520003505072 | epot = -22.1149129856198 | etot = -17.7240369888475 +911000 ekin = 2.15809222107967 | erot = 2.29037173955218 | epot = -22.0462122442139 | etot = -17.597748283582 +912000 ekin = 2.22087547394991 | erot = 2.4365535062685 | epot = -21.9749682300963 | etot = -17.3175392498778 +913000 ekin = 2.19758537996087 | erot = 2.46754067556572 | epot = -21.8990451147438 | etot = -17.2339190592172 +914000 ekin = 2.14504994740392 | erot = 2.32786068060047 | epot = -21.8498156381482 | etot = -17.3769050101439 +915000 ekin = 2.15677546734588 | erot = 2.12497444036455 | epot = -21.8141432513065 | etot = -17.532393343596 +916000 ekin = 2.21600145725684 | erot = 2.25340153292624 | epot = -21.7876876242363 | etot = -17.3182846340532 +917000 ekin = 2.23364693785463 | erot = 2.35177352781202 | epot = -21.7779589013939 | etot = -17.1925384357273 +918000 ekin = 2.08464913851982 | erot = 2.61658836146586 | epot = -21.7825075848227 | etot = -17.081270084837 +919000 ekin = 2.05155719758458 | erot = 2.37138616162172 | epot = -21.8289412030739 | etot = -17.4059978438676 +920000 ekin = 1.99021755546976 | erot = 2.17794976390715 | epot = -21.8761397201459 | etot = -17.707972400769 +921000 ekin = 2.01039430381078 | erot = 2.29773189624639 | epot = -21.910848328397 | etot = -17.6027221283399 +922000 ekin = 1.92539579138483 | erot = 2.21469038539289 | epot = -21.926552818398 | etot = -17.7864666416203 +923000 ekin = 1.89135276318228 | erot = 2.48033290205709 | epot = -21.9147153156547 | etot = -17.5430296504154 +924000 ekin = 1.83373481371755 | erot = 2.30418865947073 | epot = -21.8715535507901 | etot = -17.7336300776018 +925000 ekin = 1.8038478551145 | erot = 2.4978787938512 | epot = -21.8417123497566 | etot = -17.5399857007909 +926000 ekin = 1.90546414331471 | erot = 2.28964220950093 | epot = -21.8161106439932 | etot = -17.6210042911776 +927000 ekin = 1.75800031856201 | erot = 2.26185811978912 | epot = -21.8155973506592 | etot = -17.795738912308 +928000 ekin = 1.73012385728572 | erot = 2.25745755725607 | epot = -21.8415061020344 | etot = -17.8539246874926 +929000 ekin = 1.7018110667566 | erot = 2.2450849522952 | epot = -21.9018319158868 | etot = -17.954935896835 +930000 ekin = 1.78315203550102 | erot = 2.33522003414088 | epot = -22.0077604163355 | etot = -17.8893883466936 +931000 ekin = 1.77363895925613 | erot = 2.46038215962602 | epot = -22.1457204230456 | etot = -17.9116993041634 +932000 ekin = 1.76667271586578 | erot = 2.59245568108961 | epot = -22.3144614382824 | etot = -17.955333041327 +933000 ekin = 1.78209785939051 | erot = 2.56752596800037 | epot = -22.4867886743826 | etot = -18.1371648469917 +934000 ekin = 1.8717364767945 | erot = 2.44750687382831 | epot = -22.6262337406971 | etot = -18.3069903900743 +935000 ekin = 1.89665977697882 | erot = 2.59891583987105 | epot = -22.7433040011 | etot = -18.2477283842501 +936000 ekin = 1.8992025911959 | erot = 2.87375257167802 | epot = -22.8003443005922 | etot = -18.0273891377183 +937000 ekin = 1.86426948560471 | erot = 2.64779084733975 | epot = -22.7873604341047 | etot = -18.2753001011602 +938000 ekin = 1.86665683366531 | erot = 2.42302063492635 | epot = -22.7023246368744 | etot = -18.4126471682827 +939000 ekin = 1.76698390194225 | erot = 2.40739406174085 | epot = -22.5642561328095 | etot = -18.3898781691264 +940000 ekin = 1.75137690733442 | erot = 2.24076427939137 | epot = -22.3713737329339 | etot = -18.3792325462081 +941000 ekin = 1.58963621298635 | erot = 2.27191088485085 | epot = -22.1644304701041 | etot = -18.3028833722669 +942000 ekin = 1.4623260249004 | erot = 2.08408025750063 | epot = -21.9623923454052 | etot = -18.4159860630042 +943000 ekin = 1.49840034172858 | erot = 2.09453482021837 | epot = -21.8214517267649 | etot = -18.2285165648179 +944000 ekin = 1.50566445428587 | erot = 2.08049635757391 | epot = -21.7243523603986 | etot = -18.1381915485388 +945000 ekin = 1.52481544863404 | erot = 2.24222261671401 | epot = -21.6950663303344 | etot = -17.9280282649863 +946000 ekin = 1.67052698469246 | erot = 2.20043430064328 | epot = -21.7083474408047 | etot = -17.837386155469 +947000 ekin = 1.75831919417177 | erot = 2.42832255803308 | epot = -21.7266669161356 | etot = -17.5400251639308 +948000 ekin = 1.7705217860228 | erot = 2.24375036337257 | epot = -21.7571925539254 | etot = -17.74292040453 +949000 ekin = 1.90525688107052 | erot = 2.15107670024962 | epot = -21.7910913830608 | etot = -17.7347578017406 +950000 ekin = 1.99637307838834 | erot = 2.29947036820516 | epot = -21.8702527820791 | etot = -17.5744093354856 +951000 ekin = 2.10483728892526 | erot = 2.3094085040773 | epot = -21.9629695449464 | etot = -17.5487237519438 +952000 ekin = 2.18030789934554 | erot = 2.68842229181076 | epot = -22.0513964726254 | etot = -17.1826662814691 +953000 ekin = 2.29894777100326 | erot = 2.6960381129226 | epot = -22.1773476270724 | etot = -17.1823617431465 +954000 ekin = 2.50427642784653 | erot = 2.51587062326938 | epot = -22.2938756186984 | etot = -17.2737285675825 +955000 ekin = 2.68601007094799 | erot = 2.85595708623611 | epot = -22.4136942236112 | etot = -16.8717270664271 +956000 ekin = 2.86208234199617 | erot = 2.86492575592096 | epot = -22.5276582827249 | etot = -16.8006501848078 +957000 ekin = 2.94712002857799 | erot = 3.23864127130578 | epot = -22.6062380946206 | etot = -16.4204767947369 +958000 ekin = 3.09033820658024 | erot = 3.08801001679483 | epot = -22.6118588804731 | etot = -16.433510657098 +959000 ekin = 3.12093785566042 | erot = 3.07623469356985 | epot = -22.5436503994878 | etot = -16.3464778502576 +960000 ekin = 2.90690163741526 | erot = 3.01090766604296 | epot = -22.3906223678561 | etot = -16.4728130643979 +961000 ekin = 2.88926986935791 | erot = 2.81186239490846 | epot = -22.1509889576315 | etot = -16.4498566933652 +962000 ekin = 2.71651285756912 | erot = 2.6935364005441 | epot = -21.8539054312209 | etot = -16.4438561731076 +963000 ekin = 2.60409923966682 | erot = 2.39582384415104 | epot = -21.541690670359 | etot = -16.5417675865411 +964000 ekin = 2.40781072012975 | erot = 2.16537437005373 | epot = -21.2330620721351 | etot = -16.6598769819517 +965000 ekin = 2.33775275825805 | erot = 2.03652274723791 | epot = -20.9588727103872 | etot = -16.5845972048912 +966000 ekin = 2.17944465260482 | erot = 2.02332848530763 | epot = -20.7642311299473 | etot = -16.5614579920348 +967000 ekin = 2.07498857026546 | erot = 2.11733282843236 | epot = -20.6152408895122 | etot = -16.4229194908144 +968000 ekin = 1.97751523071242 | erot = 2.25496129774339 | epot = -20.5096192481152 | etot = -16.2771427196593 +969000 ekin = 1.9943112249466 | erot = 2.15454095745161 | epot = -20.4866822650025 | etot = -16.3378300826043 +970000 ekin = 2.00624797975507 | erot = 2.31644539427633 | epot = -20.4984368720272 | etot = -16.1757434979958 +971000 ekin = 2.03726182368046 | erot = 2.5740691190952 | epot = -20.5474355193067 | etot = -15.936104576531 +972000 ekin = 2.11053299316089 | erot = 2.66924970104341 | epot = -20.5957948560722 | etot = -15.8160121618679 +973000 ekin = 2.13909953768438 | erot = 2.79309645313365 | epot = -20.6193111119716 | etot = -15.6871151211536 +974000 ekin = 2.0364255989653 | erot = 2.93377318653168 | epot = -20.614312681757 | etot = -15.6441138962601 +975000 ekin = 1.91630022907475 | erot = 2.56349308712585 | epot = -20.5694430140214 | etot = -16.0896496978208 +976000 ekin = 1.83216235810447 | erot = 2.64204586914642 | epot = -20.5231354926871 | etot = -16.0489272654362 +977000 ekin = 1.76505303121177 | erot = 2.68514846627367 | epot = -20.4500578076262 | etot = -15.9998563101408 +978000 ekin = 1.73639184783115 | erot = 2.27119801193601 | epot = -20.3949825706908 | etot = -16.3873927109236 +979000 ekin = 1.81309943455151 | erot = 2.038221796097 | epot = -20.3578721503546 | etot = -16.5065509197061 +980000 ekin = 1.79425326253118 | erot = 1.72046042714387 | epot = -20.3201056722024 | etot = -16.8053919825273 +981000 ekin = 1.84538588980103 | erot = 1.59977232807697 | epot = -20.3368599575045 | etot = -16.8917017396265 +982000 ekin = 1.93610246096158 | erot = 1.75747204616996 | epot = -20.4060032926321 | etot = -16.7124287855005 +983000 ekin = 1.99928359157526 | erot = 1.98902145591244 | epot = -20.4909781895406 | etot = -16.5026731420529 +984000 ekin = 2.19592051978294 | erot = 2.09613897173606 | epot = -20.6254618277917 | etot = -16.3334023362727 +985000 ekin = 2.31254022438582 | erot = 2.24661234767447 | epot = -20.7844444229592 | etot = -16.2252918508989 +986000 ekin = 2.45455647294213 | erot = 2.08651767106828 | epot = -20.9596902957344 | etot = -16.418616151724 +987000 ekin = 2.56068322151335 | erot = 2.27175324341651 | epot = -21.1348257089449 | etot = -16.3023892440151 +988000 ekin = 2.67201091365369 | erot = 2.31132475519915 | epot = -21.3185263075051 | etot = -16.3351906386523 +989000 ekin = 2.79950226646056 | erot = 2.4956624706702 | epot = -21.4876529502225 | etot = -16.1924882130918 +990000 ekin = 2.90927705603678 | erot = 2.70153575217296 | epot = -21.6276754302441 | etot = -16.0168626220344 +991000 ekin = 3.07684775125908 | erot = 3.08981572487662 | epot = -21.7184165043282 | etot = -15.5517530281925 +992000 ekin = 3.12051956981941 | erot = 3.14725854673635 | epot = -21.7580543270384 | etot = -15.4902762104827 +993000 ekin = 3.12062810763639 | erot = 3.10806695223028 | epot = -21.7488136709537 | etot = -15.520118611087 +994000 ekin = 3.10341951101668 | erot = 3.39574822230777 | epot = -21.7355411993575 | etot = -15.2363734660331 +995000 ekin = 3.07116945452615 | erot = 3.6179815597936 | epot = -21.7172569404679 | etot = -15.0281059261481 +996000 ekin = 3.08751007567553 | erot = 3.22587194373128 | epot = -21.7092684412537 | etot = -15.3958864218469 +997000 ekin = 3.02133326540323 | erot = 3.22966909291854 | epot = -21.7044711321526 | etot = -15.4534687738308 +998000 ekin = 3.04814833733245 | erot = 3.33574456092131 | epot = -21.671429150029 | etot = -15.2875362517752 +999000 ekin = 3.13698021613418 | erot = 3.24185323699413 | epot = -21.6125731456073 | etot = -15.233739692479 +1000000 ekin = 3.12438752705953 | erot = 2.79887049874939 | epot = -21.5300188398266 | etot = -15.6067608140177 + 1000000 0.13886167 -1.3621774 0.016551227 -1.150352 9.5441241e-05 64000 +Loop time of 32.858 on 1 procs for 1000000 steps with 16 atoms + +Performance: 26294.981 tau/day, 30434.005 timesteps/s +99.2% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 26.906 | 26.906 | 26.906 | 0.0 | 81.89 +Bond | 0.93252 | 0.93252 | 0.93252 | 0.0 | 2.84 +Neigh | 0.029033 | 0.029033 | 0.029033 | 0.0 | 0.09 +Comm | 0.21863 | 0.21863 | 0.21863 | 0.0 | 0.67 +Output | 0.16316 | 0.16316 | 0.16316 | 0.0 | 0.50 +Modify | 4.2825 | 4.2825 | 4.2825 | 0.0 | 13.03 +Other | | 0.3263 | | | 0.99 + +Nlocal: 16.0000 ave 16 max 16 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 0.00000 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 105.000 ave 105 max 105 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 105 +Ave neighs/atom = 6.5625000 +Ave special neighs/atom = 3.7500000 +Neighbor list builds = 1000 +Dangerous builds = 0 + +write_data last_config.${number}.* nocoeff +write_data last_config.2.* nocoeff +System init for write_data ... +Total wall time: 0:00:32 diff --git a/examples/PACKAGES/cgdna/examples/oxDNA/duplex2/log.27May21.duplex2.g++.4 b/examples/PACKAGES/cgdna/examples/oxDNA/duplex2/log.27May21.duplex2.g++.4 new file mode 100644 index 0000000000..7ded7eec79 --- /dev/null +++ b/examples/PACKAGES/cgdna/examples/oxDNA/duplex2/log.27May21.duplex2.g++.4 @@ -0,0 +1,1173 @@ +LAMMPS (27 May 2021) +variable number equal 2 +variable ofreq equal 1000 +variable efreq equal 1000 +variable T equal 0.1 + +units lj + +dimension 3 + +newton off + +boundary p p p + +atom_style hybrid bond ellipsoid oxdna +WARNING: Atom style hybrid defines both, per-type and per-atom masses; both must be set, but only per-atom masses will be used (../atom_vec_hybrid.cpp:157) +atom_modify sort 0 1.0 + +# Pair interactions require lists of neighbours to be calculated +neighbor 2.0 bin +neigh_modify every 1 delay 0 check yes + +read_data data.duplex2 +Reading data file ... + orthogonal box = (-20.000000 -20.000000 -20.000000) to (20.000000 20.000000 20.000000) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 16 atoms + reading velocities ... + 16 velocities + scanning bonds ... + 2 = max bonds/atom + 16 ellipsoids + reading bonds ... +Setting oxDNA 3'->5' bond directionality ... + 13 bonds +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 + 2 = max # of 1-3 neighbors + 4 = max # of 1-4 neighbors + 6 = max # of special neighbors + special bonds CPU = 0.001 seconds + read_data CPU = 0.005 seconds + +set atom * mass 3.1575 +Setting atom values ... + 16 settings made for mass + +group all type 1 4 +16 atoms in group all + +# oxDNA bond interactions - FENE backbone +bond_style oxdna/fene +bond_coeff * 2.0 0.25 0.7525 +special_bonds lj 0 1 1 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 1 1 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 2 = max # of 1-3 neighbors + 4 = max # of 1-4 neighbors + 6 = max # of special neighbors + special bonds CPU = 0.000 seconds + +# oxDNA pair interactions +pair_style hybrid/overlay oxdna/excv oxdna/stk oxdna/hbond oxdna/xstk oxdna/coaxstk +pair_coeff * * oxdna/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32 +pair_coeff * * oxdna/stk seqav ${T} 1.3448 2.6568 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 +pair_coeff * * oxdna/stk seqav 0.1 1.3448 2.6568 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 +pair_coeff * * oxdna/hbond seqav 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 1 4 oxdna/hbond seqav 1.077 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 2 3 oxdna/hbond seqav 1.077 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff * * oxdna/xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68 +pair_coeff * * oxdna/coaxstk 46.0 0.4 0.6 0.22 0.58 2.0 2.541592653589793 0.65 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 -0.65 2.0 -0.65 + +# NVE ensemble +fix 1 all nve/asphere +fix 2 all langevin ${T} ${T} 2.5 457145 angmom 10 +fix 2 all langevin 0.1 ${T} 2.5 457145 angmom 10 +fix 2 all langevin 0.1 0.1 2.5 457145 angmom 10 + +timestep 1e-5 + +#comm_style tiled +fix 3 all balance 1000 1.03 shift xyz 10 1.03 +comm_modify cutoff 3.8 + +compute quat all property/atom quatw quati quatj quatk + +compute erot all erotate/asphere +compute ekin all ke +compute epot all pe +variable erot equal c_erot +variable ekin equal c_ekin +variable epot equal c_epot +variable etot equal c_erot+c_ekin+c_epot +fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes +fix 5 all print 1000 "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes + +dump out all custom ${ofreq} out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump out all custom 1000 out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump out all custom 1000 out.2.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump_modify out sort id +dump_modify out format line "%d %d %d %22.15le %22.15le %22.15le %d %d %d %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le" + +run 1000000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.9560004 + ghost atom cutoff = 3.8 + binsize = 1.4780002, bins = 28 28 28 + 4 neighbor lists, perpetual/occasional/extra = 4 0 0 + (1) pair oxdna/excv, perpetual + attributes: half, newton off + pair build: half/bin/newtoff + stencil: full/bin/3d + bin: standard + (2) pair oxdna/hbond, perpetual, copy from (1) + attributes: half, newton off + pair build: copy + stencil: none + bin: none + (3) pair oxdna/xstk, perpetual, copy from (1) + attributes: half, newton off + pair build: copy + stencil: none + bin: none + (4) pair oxdna/coaxstk, perpetual, copy from (1) + attributes: half, newton off + pair build: copy + stencil: none + bin: none +0 ekin = 2.70475393009871 | erot = 2.80172072918779 | epot = -21.9967648054699 | etot = -16.4902901461834 +Per MPI rank memory allocation (min/avg/max) = 9.234 | 9.266 | 9.346 Mbytes +Step Temp E_pair E_mol TotEng Press Volume + 0 0.12021129 -1.3914531 0.016655298 -1.2057507 5.174549e-05 64000 +1000 ekin = 2.69992875879531 | erot = 3.03905971783101 | epot = -21.7993424099171 | etot = -16.0603539332907 +2000 ekin = 2.74236013741186 | erot = 2.48566425489664 | epot = -21.5864392778805 | etot = -16.358414885572 +3000 ekin = 2.71406239909253 | erot = 2.2379964617931 | epot = -21.4096440189505 | etot = -16.4575851580649 +4000 ekin = 2.62654210651837 | erot = 2.20187014105975 | epot = -21.2649637920051 | etot = -16.436551544427 +5000 ekin = 2.54619704507767 | erot = 2.19543579497861 | epot = -21.1625272503904 | etot = -16.4208944103341 +6000 ekin = 2.54036074498671 | erot = 2.24575383349946 | epot = -21.1026949544699 | etot = -16.3165803759837 +7000 ekin = 2.54636725719323 | erot = 2.17480262107778 | epot = -21.0944608538479 | etot = -16.3732909755769 +8000 ekin = 2.44266194745413 | erot = 1.89959276882142 | epot = -21.1290547630673 | etot = -16.7868000467917 +9000 ekin = 2.49849768578547 | erot = 1.91590827145359 | epot = -21.2010010008038 | etot = -16.7865950435648 +10000 ekin = 2.60405521154315 | erot = 2.31942457678919 | epot = -21.2714985323704 | etot = -16.3480187440381 +11000 ekin = 2.5172962682744 | erot = 2.60159361363173 | epot = -21.3305509557369 | etot = -16.2116610738307 +12000 ekin = 2.52572671978709 | erot = 2.38660744367414 | epot = -21.4045010372609 | etot = -16.4921668737997 +13000 ekin = 2.6003507735884 | erot = 2.37491144376807 | epot = -21.501501753381 | etot = -16.5262395360245 +14000 ekin = 2.66935763609377 | erot = 2.2290243859921 | epot = -21.5988036534075 | etot = -16.7004216313217 +15000 ekin = 2.71551281751846 | erot = 2.21389248221188 | epot = -21.6990132370777 | etot = -16.7696079373473 +16000 ekin = 2.84978299090937 | erot = 2.43940966993627 | epot = -21.7959192679746 | etot = -16.506726607129 +17000 ekin = 2.95072779743506 | erot = 2.38947543725573 | epot = -21.8722593940791 | etot = -16.5320561593883 +18000 ekin = 2.85884496438632 | erot = 2.37101194861282 | epot = -21.9018380946368 | etot = -16.6719811816377 +19000 ekin = 2.77343461594057 | erot = 2.33973079907437 | epot = -21.8809702826778 | etot = -16.7678048676628 +20000 ekin = 2.58401274142392 | erot = 2.55272418280185 | epot = -21.8165314333067 | etot = -16.6797945090809 +21000 ekin = 2.51192366343057 | erot = 2.51457779660485 | epot = -21.7320362651687 | etot = -16.7055348051333 +22000 ekin = 2.49083859662961 | erot = 2.52955288592737 | epot = -21.6292667596242 | etot = -16.6088752770672 +23000 ekin = 2.39128650481513 | erot = 2.2075391744556 | epot = -21.5149142799636 | etot = -16.9160886006929 +24000 ekin = 2.35988329046224 | erot = 1.90440982269664 | epot = -21.4005066979857 | etot = -17.1362135848268 +25000 ekin = 2.28215741570372 | erot = 1.96977905366573 | epot = -21.3141881001702 | etot = -17.0622516308008 +26000 ekin = 2.19749762241961 | erot = 2.27833647039548 | epot = -21.2634725733341 | etot = -16.787638480519 +27000 ekin = 2.0082587505888 | erot = 2.19976409135109 | epot = -21.2659284236731 | etot = -17.0579055817332 +28000 ekin = 1.84164368193045 | erot = 2.29604978886231 | epot = -21.2913487545158 | etot = -17.1536552837231 +29000 ekin = 1.85165645974806 | erot = 2.13163577617279 | epot = -21.3636874932622 | etot = -17.3803952573414 +30000 ekin = 1.81585331071777 | erot = 2.36969485723283 | epot = -21.467249508595 | etot = -17.2817013406444 +31000 ekin = 1.87586085382615 | erot = 2.30099083087637 | epot = -21.6118799895371 | etot = -17.4350283048345 +32000 ekin = 2.0126641738456 | erot = 2.39241064946061 | epot = -21.7843461993917 | etot = -17.3792713760855 +33000 ekin = 2.10031097060265 | erot = 2.65484725731943 | epot = -21.9744733587442 | etot = -17.2193151308221 +34000 ekin = 2.024661815622 | erot = 2.84373149584293 | epot = -22.1941262603322 | etot = -17.3257329488672 +35000 ekin = 1.97481459340815 | erot = 3.01731663707887 | epot = -22.4189097716657 | etot = -17.4267785411787 +36000 ekin = 2.01233253730946 | erot = 2.91764073203603 | epot = -22.6202547427807 | etot = -17.6902814734353 +37000 ekin = 2.0722585098004 | erot = 3.06834431569986 | epot = -22.8024087727697 | etot = -17.6618059472694 +38000 ekin = 2.05378795549781 | erot = 3.03638675352696 | epot = -22.9460226281608 | etot = -17.855847919136 +39000 ekin = 2.06863065757199 | erot = 3.09515376672991 | epot = -23.0335342083505 | etot = -17.8697497840486 +40000 ekin = 2.0001441529857 | erot = 3.04584432430145 | epot = -23.0612280460054 | etot = -18.0152395687182 +41000 ekin = 2.05172104966416 | erot = 2.77830340889752 | epot = -23.0196796418278 | etot = -18.1896551832662 +42000 ekin = 2.05229847533165 | erot = 2.8527334853463 | epot = -22.9340198298526 | etot = -18.0289878691746 +43000 ekin = 1.93755805481289 | erot = 3.04650513325785 | epot = -22.8209174452141 | etot = -17.8368542571433 +44000 ekin = 1.84663697745676 | erot = 2.93951969808346 | epot = -22.7031673178542 | etot = -17.917010642314 +45000 ekin = 1.72975781399546 | erot = 2.60801842461352 | epot = -22.6010710155898 | etot = -18.2632947769808 +46000 ekin = 1.59186632906643 | erot = 2.62841769679505 | epot = -22.5067814781869 | etot = -18.2864974523254 +47000 ekin = 1.5410922886755 | erot = 2.65380906308325 | epot = -22.41397412102 | etot = -18.2190727692612 +48000 ekin = 1.52801508900137 | erot = 2.56168528383553 | epot = -22.3146405234589 | etot = -18.224940150622 +49000 ekin = 1.4523614750721 | erot = 2.19683353122206 | epot = -22.2336496311394 | etot = -18.5844546248453 +50000 ekin = 1.37133529115918 | erot = 2.38139075376808 | epot = -22.1777849612816 | etot = -18.4250589163544 +51000 ekin = 1.37894610429121 | erot = 2.5564395559548 | epot = -22.1214711763547 | etot = -18.1860855161087 +52000 ekin = 1.37307011220265 | erot = 2.64858735385409 | epot = -22.0854715362776 | etot = -18.0638140702208 +53000 ekin = 1.45140505120431 | erot = 2.86325966198758 | epot = -22.0769774994392 | etot = -17.7623127862474 +54000 ekin = 1.49400380215143 | erot = 3.02929024277169 | epot = -22.0888809603766 | etot = -17.5655869154535 +55000 ekin = 1.5504040486075 | erot = 2.51182875106827 | epot = -22.110508190484 | etot = -18.0482753908083 +56000 ekin = 1.49109168917169 | erot = 2.54803153869041 | epot = -22.1366154026192 | etot = -18.0974921747571 +57000 ekin = 1.5005013791342 | erot = 2.41737584414207 | epot = -22.1821202184232 | etot = -18.2642429951469 +58000 ekin = 1.60635589846632 | erot = 2.23996961758236 | epot = -22.2360694135127 | etot = -18.3897438974641 +59000 ekin = 1.72952597734783 | erot = 2.32633058396655 | epot = -22.2901578024363 | etot = -18.2343012411219 +60000 ekin = 1.69244797185252 | erot = 2.4002780727951 | epot = -22.3434040927657 | etot = -18.2506780481181 +61000 ekin = 1.7262070303266 | erot = 2.11017860160475 | epot = -22.3831797154274 | etot = -18.5467940834961 +62000 ekin = 1.79594241743972 | erot = 2.2156083769556 | epot = -22.4218397438853 | etot = -18.4102889494899 +63000 ekin = 1.77262742266278 | erot = 2.30422369990038 | epot = -22.4467748467828 | etot = -18.3699237242196 +64000 ekin = 1.8552728361909 | erot = 2.31267811362978 | epot = -22.4674777591492 | etot = -18.2995268093286 +65000 ekin = 1.78989203446876 | erot = 1.94802383598257 | epot = -22.4675168623456 | etot = -18.7296009918943 +66000 ekin = 1.77252597290744 | erot = 1.82642026775557 | epot = -22.4502267764221 | etot = -18.8512805357591 +67000 ekin = 1.80939758337873 | erot = 1.93052561353104 | epot = -22.4407582644841 | etot = -18.7008350675743 +68000 ekin = 1.8990812176376 | erot = 2.02160808150966 | epot = -22.4404733275274 | etot = -18.5197840283801 +69000 ekin = 1.91605115497139 | erot = 1.99686686402569 | epot = -22.4556690038854 | etot = -18.5427509848883 +70000 ekin = 1.97266986208223 | erot = 1.99525089575643 | epot = -22.4717127742739 | etot = -18.5037920164352 +71000 ekin = 2.00234841846529 | erot = 2.03963009556284 | epot = -22.4872545087286 | etot = -18.4452759947004 +72000 ekin = 2.04989413571926 | erot = 2.25125712690087 | epot = -22.5010508598362 | etot = -18.1998995972161 +73000 ekin = 1.96796663525087 | erot = 2.56091060599057 | epot = -22.5094020746157 | etot = -17.9805248333743 +74000 ekin = 1.94071763184335 | erot = 2.25118509796053 | epot = -22.4905641504115 | etot = -18.2986614206077 +75000 ekin = 1.9046477605406 | erot = 2.1101828610624 | epot = -22.4609449840085 | etot = -18.4461143624055 +76000 ekin = 1.96940901357875 | erot = 2.01632288693257 | epot = -22.4274745611142 | etot = -18.4417426606029 +77000 ekin = 1.94486767834818 | erot = 1.90684819966053 | epot = -22.3863373806157 | etot = -18.534621502607 +78000 ekin = 1.96983919523053 | erot = 1.93099842937087 | epot = -22.3443846506838 | etot = -18.4435470260824 +79000 ekin = 1.95938649015133 | erot = 1.8681062699457 | epot = -22.2942796582417 | etot = -18.4667868981447 +80000 ekin = 2.0811750227726 | erot = 1.51004106283058 | epot = -22.2616445282531 | etot = -18.6704284426499 +81000 ekin = 2.12565876638706 | erot = 1.68774361309031 | epot = -22.2503002969457 | etot = -18.4368979174683 +82000 ekin = 2.1024876598191 | erot = 1.68162562422027 | epot = -22.2731769674722 | etot = -18.4890636834328 +83000 ekin = 2.1444849861566 | erot = 1.81975712217529 | epot = -22.3046718958779 | etot = -18.340429787546 +84000 ekin = 2.13258101148062 | erot = 2.02922410781373 | epot = -22.3428808393217 | etot = -18.1810757200273 +85000 ekin = 2.08512493333097 | erot = 2.32083438054857 | epot = -22.3826539010023 | etot = -17.9766945871228 +86000 ekin = 2.17050776391446 | erot = 1.96275338625836 | epot = -22.422434182694 | etot = -18.2891730325212 +87000 ekin = 2.23989852600904 | erot = 2.23705181642096 | epot = -22.4705294491957 | etot = -17.9935791067657 +88000 ekin = 2.27467140557798 | erot = 2.15326395377648 | epot = -22.5135609707118 | etot = -18.0856256113573 +89000 ekin = 2.2884388908289 | erot = 2.12736799131715 | epot = -22.5645528135013 | etot = -18.1487459313552 +90000 ekin = 2.3033272403237 | erot = 2.29619358357564 | epot = -22.621069415243 | etot = -18.0215485913436 +91000 ekin = 2.3138100848518 | erot = 2.07740016205563 | epot = -22.6563472804759 | etot = -18.2651370335684 +92000 ekin = 2.37378013130099 | erot = 2.23716627480822 | epot = -22.6690655261851 | etot = -18.0581191200759 +93000 ekin = 2.26456629794217 | erot = 2.65755706511364 | epot = -22.6595495475479 | etot = -17.7374261844921 +94000 ekin = 2.27111991294101 | erot = 2.70843483649348 | epot = -22.6144390606054 | etot = -17.6348843111709 +95000 ekin = 2.16051509784257 | erot = 2.76861411098527 | epot = -22.5458959635298 | etot = -17.616766754702 +96000 ekin = 2.1362268433284 | erot = 3.00618377960114 | epot = -22.4457322783083 | etot = -17.3033216553787 +97000 ekin = 2.07419989457636 | erot = 2.65264916199277 | epot = -22.3153975468029 | etot = -17.5885484902338 +98000 ekin = 2.11485220649783 | erot = 2.62887211771617 | epot = -22.2055031918166 | etot = -17.4617788676026 +99000 ekin = 2.14284693208913 | erot = 2.66222856414638 | epot = -22.1106632337977 | etot = -17.3055877375622 +100000 ekin = 2.17308341836636 | erot = 2.09482283074188 | epot = -22.0437085040349 | etot = -17.7758022549266 +101000 ekin = 2.14866231805612 | erot = 2.3881976475087 | epot = -22.0122713210887 | etot = -17.4754113555239 +102000 ekin = 2.1649362923898 | erot = 2.64896606924408 | epot = -22.0210513992314 | etot = -17.2071490375976 +103000 ekin = 2.15114511690188 | erot = 2.56525012972741 | epot = -22.0652696455725 | etot = -17.3488743989432 +104000 ekin = 2.15671515638217 | erot = 2.62706983245371 | epot = -22.142181166657 | etot = -17.3583961778211 +105000 ekin = 2.12719541152379 | erot = 2.65706885533819 | epot = -22.2143972740325 | etot = -17.4301330071705 +106000 ekin = 2.13774707721056 | erot = 2.76654607800848 | epot = -22.2775634673613 | etot = -17.3732703121422 +107000 ekin = 2.20102004108532 | erot = 2.66823836970966 | epot = -22.3043515122749 | etot = -17.4350931014799 +108000 ekin = 2.17638500145526 | erot = 2.80828381708582 | epot = -22.3097186034589 | etot = -17.3250497849178 +109000 ekin = 2.19829684637003 | erot = 2.90666104596412 | epot = -22.282790113145 | etot = -17.1778322208108 +110000 ekin = 2.17152588755631 | erot = 2.81646086297862 | epot = -22.2246380567944 | etot = -17.2366513062595 +111000 ekin = 2.15373436462637 | erot = 2.45540077609876 | epot = -22.1236900284647 | etot = -17.5145548877395 +112000 ekin = 2.13686027678985 | erot = 2.53611388444162 | epot = -21.9714471685636 | etot = -17.2984730073321 +113000 ekin = 2.14753928432329 | erot = 2.38847611973764 | epot = -21.7866419003017 | etot = -17.2506264962408 +114000 ekin = 2.12631244931889 | erot = 2.25317215555341 | epot = -21.597846256073 | etot = -17.2183616512007 +115000 ekin = 2.10651342910361 | erot = 2.32111327425019 | epot = -21.410641403265 | etot = -16.9830146999112 +116000 ekin = 2.05857214689192 | erot = 2.34273379327714 | epot = -21.2543641951759 | etot = -16.8530582550068 +117000 ekin = 2.06082171760153 | erot = 2.29311267774743 | epot = -21.1252553707804 | etot = -16.7713209754314 +118000 ekin = 2.07134223704072 | erot = 2.26440570108468 | epot = -21.0201100762215 | etot = -16.6843621380961 +119000 ekin = 2.06457225589944 | erot = 1.93952258456726 | epot = -20.9769994108551 | etot = -16.9729045703884 +120000 ekin = 2.11859853404644 | erot = 1.85164657615887 | epot = -20.9836901114861 | etot = -17.0134450012808 +121000 ekin = 2.16647853751432 | erot = 2.33645973353314 | epot = -21.0297394121119 | etot = -16.5268011410645 +122000 ekin = 2.26904266267134 | erot = 2.41049986821532 | epot = -21.1056070652399 | etot = -16.4260645343533 +123000 ekin = 2.21420535468727 | erot = 2.31638894325139 | epot = -21.1806353306487 | etot = -16.65004103271 +124000 ekin = 2.25664202990655 | erot = 2.58640626588698 | epot = -21.2735600007685 | etot = -16.430511704975 +125000 ekin = 2.28621615469871 | erot = 2.48741243437901 | epot = -21.3367034039803 | etot = -16.5630748149025 +126000 ekin = 2.35529670025454 | erot = 2.6837186250083 | epot = -21.3743088823659 | etot = -16.3352935571031 +127000 ekin = 2.31727265883063 | erot = 2.65927495810814 | epot = -21.3864411166439 | etot = -16.4098934997051 +128000 ekin = 2.43349491835552 | erot = 2.48790131465765 | epot = -21.3667639128876 | etot = -16.4453676798745 +129000 ekin = 2.39675815548546 | erot = 2.10710860946288 | epot = -21.3539228728259 | etot = -16.8500561078776 +130000 ekin = 2.41755439047179 | erot = 1.81077952884569 | epot = -21.3548853564729 | etot = -17.1265514371554 +131000 ekin = 2.40648552369042 | erot = 1.77591735253046 | epot = -21.357420397669 | etot = -17.1750175214481 +132000 ekin = 2.40897764408259 | erot = 1.73059846772819 | epot = -21.3537520189403 | etot = -17.2141759071295 +133000 ekin = 2.37448540151599 | erot = 1.85880466212908 | epot = -21.3533218886589 | etot = -17.1200318250139 +134000 ekin = 2.3579677683218 | erot = 2.06779644045359 | epot = -21.3551168402505 | etot = -16.9293526314751 +135000 ekin = 2.32265431042311 | erot = 2.18050776639558 | epot = -21.3445924581616 | etot = -16.8414303813429 +136000 ekin = 2.26143919660737 | erot = 2.06564627363215 | epot = -21.3331599119329 | etot = -17.0060744416934 +137000 ekin = 2.23396906090401 | erot = 2.26473864092839 | epot = -21.3170510126768 | etot = -16.8183433108444 +138000 ekin = 2.25323790872614 | erot = 2.21298196842978 | epot = -21.3256388087683 | etot = -16.8594189316124 +139000 ekin = 2.35354475362117 | erot = 2.11114514997112 | epot = -21.4066516687638 | etot = -16.9419617651715 +140000 ekin = 2.31521381923616 | erot = 2.26671366611819 | epot = -21.499592330951 | etot = -16.9176648455967 +141000 ekin = 2.3344689024326 | erot = 2.24585605770329 | epot = -21.5117862025252 | etot = -16.9314612423893 +142000 ekin = 2.33661695709296 | erot = 1.9937796333313 | epot = -21.5249788887692 | etot = -17.194582298345 +143000 ekin = 2.35917698394981 | erot = 1.78177229585739 | epot = -21.5633348907868 | etot = -17.4223856109796 +144000 ekin = 2.41193656560918 | erot = 1.85068539007334 | epot = -21.619056918118 | etot = -17.3564349624355 +145000 ekin = 2.50328391189512 | erot = 1.97991868781718 | epot = -21.662761532947 | etot = -17.1795589332347 +146000 ekin = 2.5250108653161 | erot = 1.94890179310183 | epot = -21.7158596570763 | etot = -17.2419469986583 +147000 ekin = 2.55047937715164 | erot = 1.85137728928148 | epot = -21.7917365034045 | etot = -17.3898798369714 +148000 ekin = 2.52990172449131 | erot = 2.00218673263755 | epot = -21.8973033212464 | etot = -17.3652148641175 +149000 ekin = 2.47322709286655 | erot = 2.00142069560524 | epot = -22.0256184185784 | etot = -17.5509706301066 +150000 ekin = 2.55997956203431 | erot = 2.04181533809328 | epot = -22.1371239984733 | etot = -17.5353290983457 +151000 ekin = 2.44470695881366 | erot = 2.34031071867532 | epot = -22.2527174105275 | etot = -17.4676997330385 +152000 ekin = 2.44475737305755 | erot = 2.26076754628983 | epot = -22.3351232248324 | etot = -17.6295983054851 +153000 ekin = 2.46166206744186 | erot = 2.1789456139199 | epot = -22.3636879590955 | etot = -17.7230802777338 +154000 ekin = 2.49242904735514 | erot = 2.18959276990457 | epot = -22.3683882355897 | etot = -17.68636641833 +155000 ekin = 2.44328722883251 | erot = 2.13628761933908 | epot = -22.3356925905993 | etot = -17.7561177424278 +156000 ekin = 2.45031007040228 | erot = 2.26271751825021 | epot = -22.2682169791441 | etot = -17.5551893904916 +157000 ekin = 2.46907480878159 | erot = 1.93271915185538 | epot = -22.2160752580763 | etot = -17.8142812974393 +158000 ekin = 2.47549100134271 | erot = 1.8913430375128 | epot = -22.1750861634873 | etot = -17.8082521246318 +159000 ekin = 2.44378132199958 | erot = 1.82517595680759 | epot = -22.1335445885752 | etot = -17.8645873097681 +160000 ekin = 2.35644874685036 | erot = 1.85678861125786 | epot = -22.1078628335995 | etot = -17.8946254754913 +161000 ekin = 2.4417535709772 | erot = 2.14888928050335 | epot = -22.103198749515 | etot = -17.5125558980345 +162000 ekin = 2.46554036240857 | erot = 2.05333880369388 | epot = -22.1046164027322 | etot = -17.5857372366298 +163000 ekin = 2.36847802529576 | erot = 2.16987713772667 | epot = -22.1331210722205 | etot = -17.5947659091981 +164000 ekin = 2.31295455944026 | erot = 2.18879772052573 | epot = -22.1887776544463 | etot = -17.6870253744803 +165000 ekin = 2.37278415235397 | erot = 2.59415671104248 | epot = -22.2691581335389 | etot = -17.3022172701424 +166000 ekin = 2.45715177025092 | erot = 2.91759661846337 | epot = -22.3489659308412 | etot = -16.9742175421269 +167000 ekin = 2.52772481698543 | erot = 2.9570776047498 | epot = -22.4233688575489 | etot = -16.9385664358137 +168000 ekin = 2.38117634975369 | erot = 2.66863240829495 | epot = -22.4863077773177 | etot = -17.4364990192691 +169000 ekin = 2.37442003008251 | erot = 3.02523535510253 | epot = -22.552454463073 | etot = -17.152799077888 +170000 ekin = 2.35912346263696 | erot = 3.26723708493098 | epot = -22.593146241002 | etot = -16.9667856934341 +171000 ekin = 2.30318527402304 | erot = 3.1461628260988 | epot = -22.6090060092427 | etot = -17.1596579091209 +172000 ekin = 2.27403162918126 | erot = 3.03566839385154 | epot = -22.5926818968564 | etot = -17.2829818738236 +173000 ekin = 2.2834164296892 | erot = 3.07205239473261 | epot = -22.5825638558609 | etot = -17.2270950314391 +174000 ekin = 2.32458116486048 | erot = 3.00979281518584 | epot = -22.5948442115046 | etot = -17.2604702314582 +175000 ekin = 2.28314539624396 | erot = 2.68632336807992 | epot = -22.6176552757189 | etot = -17.6481865113951 +176000 ekin = 2.39450710620724 | erot = 2.64107287395718 | epot = -22.666704154903 | etot = -17.6311241747386 +177000 ekin = 2.34061737024885 | erot = 2.84587683178904 | epot = -22.7367147797006 | etot = -17.5502205776627 +178000 ekin = 2.37612348031832 | erot = 3.01155432501134 | epot = -22.8363255725677 | etot = -17.4486477672381 +179000 ekin = 2.44543239233026 | erot = 2.86468226567411 | epot = -22.9489860454759 | etot = -17.6388713874715 +180000 ekin = 2.43660202081819 | erot = 2.76977637853851 | epot = -23.0553980647268 | etot = -17.8490196653701 +181000 ekin = 2.48112579799584 | erot = 2.6278391417024 | epot = -23.1486576952531 | etot = -18.0396927555549 +182000 ekin = 2.49495772650969 | erot = 2.42192837677025 | epot = -23.2214385077914 | etot = -18.3045524045115 +183000 ekin = 2.64232135835023 | erot = 2.1668960319534 | epot = -23.2638526717323 | etot = -18.4546352814286 +184000 ekin = 2.60197203740134 | erot = 2.23382360906442 | epot = -23.2818965049629 | etot = -18.4461008584971 +185000 ekin = 2.57711189972532 | erot = 2.46016697006766 | epot = -23.3003293492567 | etot = -18.2630504794637 +186000 ekin = 2.52186177988769 | erot = 2.57013836767131 | epot = -23.3067390551247 | etot = -18.2147389075657 +187000 ekin = 2.50245214010174 | erot = 2.79417927414277 | epot = -23.296163562981 | etot = -17.9995321487365 +188000 ekin = 2.46480838237784 | erot = 3.04604077517096 | epot = -23.2499789204155 | etot = -17.7391297628667 +189000 ekin = 2.30511335916365 | erot = 2.75740516208191 | epot = -23.1747970843816 | etot = -18.112278563136 +190000 ekin = 2.21392698297074 | erot = 2.71955696974834 | epot = -23.0904117080344 | etot = -18.1569277553154 +191000 ekin = 2.16967810266251 | erot = 2.75919231540811 | epot = -23.0140192997739 | etot = -18.0851488817033 +192000 ekin = 1.98382084286039 | erot = 3.03429574416023 | epot = -22.9329314753771 | etot = -17.9148148883565 +193000 ekin = 1.85970667375617 | erot = 2.92182615510931 | epot = -22.8656246963103 | etot = -18.0840918674448 +194000 ekin = 1.7929696680452 | erot = 2.88349607002168 | epot = -22.8222401649263 | etot = -18.1457744268594 +195000 ekin = 1.64582813172132 | erot = 2.50667314432813 | epot = -22.7522033865826 | etot = -18.5997021105331 +196000 ekin = 1.60167277963843 | erot = 2.38989177939812 | epot = -22.6637097277974 | etot = -18.6721451687609 +197000 ekin = 1.71167813407961 | erot = 2.09589007853646 | epot = -22.5747312796685 | etot = -18.7671630670524 +198000 ekin = 1.64776254765037 | erot = 1.92608890072777 | epot = -22.4842649258583 | etot = -18.9104134774802 +199000 ekin = 1.65621021226673 | erot = 2.21876596478776 | epot = -22.4280470542139 | etot = -18.5530708771594 +200000 ekin = 1.68396557470048 | erot = 2.18851360029564 | epot = -22.379280294039 | etot = -18.5068011190429 +201000 ekin = 1.58452256050709 | erot = 2.76907779285238 | epot = -22.3014443905324 | etot = -17.947844037173 +202000 ekin = 1.54321939213116 | erot = 2.44655962102429 | epot = -22.2136540120258 | etot = -18.2238749988704 +203000 ekin = 1.49527423056762 | erot = 2.44440846517496 | epot = -22.1231335789825 | etot = -18.1834508832399 +204000 ekin = 1.42525079936429 | erot = 2.83745592867446 | epot = -22.0409614513841 | etot = -17.7782547233454 +205000 ekin = 1.42978422295414 | erot = 2.95341773064219 | epot = -21.9571851603537 | etot = -17.5739832067574 +206000 ekin = 1.36049778309753 | erot = 2.83549996707323 | epot = -21.8974335725846 | etot = -17.7014358224139 +207000 ekin = 1.29887157812385 | erot = 3.03783363013878 | epot = -21.8430515160584 | etot = -17.5063463077957 +208000 ekin = 1.34341544648364 | erot = 3.11373358018431 | epot = -21.785603235413 | etot = -17.3284542087451 +209000 ekin = 1.37014771279219 | erot = 2.91335961336075 | epot = -21.7135808557959 | etot = -17.430073529643 +210000 ekin = 1.42476756889871 | erot = 2.89331189478046 | epot = -21.5850142544311 | etot = -17.266934790752 +211000 ekin = 1.34927361868026 | erot = 2.68288143618382 | epot = -21.4400426672499 | etot = -17.4078876123858 +212000 ekin = 1.49128069580886 | erot = 2.70604382180407 | epot = -21.2914762616263 | etot = -17.0941517440134 +213000 ekin = 1.59986466327346 | erot = 2.65822930237652 | epot = -21.1410448576725 | etot = -16.8829508920225 +214000 ekin = 1.57570953317267 | erot = 2.79629927670805 | epot = -20.9904223688205 | etot = -16.6184135589398 +215000 ekin = 1.63256105235979 | erot = 2.69597024855494 | epot = -20.8601256454146 | etot = -16.5315943444999 +216000 ekin = 1.67064385264714 | erot = 2.44739930798252 | epot = -20.7555716480124 | etot = -16.6375284873828 +217000 ekin = 1.6218880063798 | erot = 2.4330555728333 | epot = -20.722413328212 | etot = -16.6674697489989 +218000 ekin = 1.64606636901744 | erot = 2.6486981466189 | epot = -20.7502510322013 | etot = -16.4554865165649 +219000 ekin = 1.70353414409848 | erot = 2.7997221130251 | epot = -20.7845992910567 | etot = -16.2813430339331 +220000 ekin = 1.74880022179254 | erot = 2.64905074347643 | epot = -20.8396457684431 | etot = -16.4417948031742 +221000 ekin = 1.81236487768043 | erot = 2.93669133915737 | epot = -20.9499015869694 | etot = -16.2008453701316 +222000 ekin = 1.84649161859346 | erot = 2.85287175773866 | epot = -21.0927343336169 | etot = -16.3933709572848 +223000 ekin = 1.87441660338485 | erot = 2.96311764811085 | epot = -21.2564885593178 | etot = -16.4189543078221 +224000 ekin = 2.09907785839491 | erot = 2.75433402152825 | epot = -21.424818361708 | etot = -16.5714064817849 +225000 ekin = 2.30010533938626 | erot = 2.67454361218699 | epot = -21.6008171170612 | etot = -16.626168165488 +226000 ekin = 2.42689725101242 | erot = 2.70736025408607 | epot = -21.7515066872426 | etot = -16.6172491821441 +227000 ekin = 2.54895929165975 | erot = 2.79460739709118 | epot = -21.8741313055212 | etot = -16.5305646167702 +228000 ekin = 2.61677978890097 | erot = 2.79388359916086 | epot = -21.973054308316 | etot = -16.5623909202542 +229000 ekin = 2.63216772040856 | erot = 2.92346177925235 | epot = -22.0307357525402 | etot = -16.4751062528793 +230000 ekin = 2.5839048934589 | erot = 2.87686964533646 | epot = -22.0461245567339 | etot = -16.5853500179385 +231000 ekin = 2.66188078761018 | erot = 2.60162661808963 | epot = -22.018684895378 | etot = -16.7551774896782 +232000 ekin = 2.65841421937248 | erot = 2.58950084967971 | epot = -21.952644801982 | etot = -16.7047297329298 +233000 ekin = 2.67013502535659 | erot = 2.39334157985991 | epot = -21.8593772977147 | etot = -16.7959006924982 +234000 ekin = 2.55687226826836 | erot = 2.28743657262082 | epot = -21.7196048549653 | etot = -16.8752960140761 +235000 ekin = 2.40908240211927 | erot = 2.18856718834604 | epot = -21.5568246763415 | etot = -16.9591750858762 +236000 ekin = 2.45296495728484 | erot = 1.73228998399397 | epot = -21.3990016680231 | etot = -17.2137467267443 +237000 ekin = 2.45647675573889 | erot = 1.55838299475438 | epot = -21.2711453873861 | etot = -17.2562856368928 +238000 ekin = 2.45085948587454 | erot = 1.73357194764423 | epot = -21.1889221126865 | etot = -17.0044906791677 +239000 ekin = 2.46602609451848 | erot = 1.90065188676585 | epot = -21.1667563196057 | etot = -16.8000783383214 +240000 ekin = 2.33796945986663 | erot = 2.10011736609371 | epot = -21.1933792884248 | etot = -16.7552924624644 +241000 ekin = 2.44155086640152 | erot = 2.5294221893795 | epot = -21.2654521458311 | etot = -16.29447909005 +242000 ekin = 2.43726026146458 | erot = 2.56189785799922 | epot = -21.3596468217686 | etot = -16.3604887023048 +243000 ekin = 2.38527720170858 | erot = 2.92483517968789 | epot = -21.4476955876487 | etot = -16.1375832062522 +244000 ekin = 2.43305152134978 | erot = 3.13030199682037 | epot = -21.5253542662412 | etot = -15.9620007480711 +245000 ekin = 2.34248058405609 | erot = 3.39654754017994 | epot = -21.5746719384285 | etot = -15.8356438141925 +246000 ekin = 2.22203010313987 | erot = 3.24539512103698 | epot = -21.6102612139387 | etot = -16.1428359897618 +247000 ekin = 2.18161414825905 | erot = 3.17708625003437 | epot = -21.6121017617732 | etot = -16.2534013634798 +248000 ekin = 2.14786027857325 | erot = 2.93493583442535 | epot = -21.5821175301772 | etot = -16.4993214171786 +249000 ekin = 2.1154622560351 | erot = 2.65676577989616 | epot = -21.5328260462557 | etot = -16.7605980103245 +250000 ekin = 2.08258254452502 | erot = 2.51278109177547 | epot = -21.4612192152785 | etot = -16.865855578978 +251000 ekin = 1.9742489487821 | erot = 2.34806738759138 | epot = -21.3923428532783 | etot = -17.0700265169048 +252000 ekin = 1.97048808369653 | erot = 1.99115759882276 | epot = -21.3271316585964 | etot = -17.3654859760771 +253000 ekin = 2.01408243379402 | erot = 2.32755027924622 | epot = -21.2782132891156 | etot = -16.9365805760754 +254000 ekin = 2.08055003788165 | erot = 1.89671800228147 | epot = -21.2526263857113 | etot = -17.2753583455482 +255000 ekin = 2.03693196256138 | erot = 2.07777286412284 | epot = -21.2590218685809 | etot = -17.1443170418967 +256000 ekin = 2.09443852502217 | erot = 1.93072997337288 | epot = -21.2924018193625 | etot = -17.2672333209674 +257000 ekin = 2.15892268396657 | erot = 1.80542946186159 | epot = -21.3549991612159 | etot = -17.3906470153878 +258000 ekin = 2.1798553186145 | erot = 1.78899461221362 | epot = -21.4290810676498 | etot = -17.4602311368217 +259000 ekin = 2.21879481100383 | erot = 2.00042152481931 | epot = -21.5156859416456 | etot = -17.2964696058224 +260000 ekin = 2.23230781087046 | erot = 1.92469119981206 | epot = -21.5739218213471 | etot = -17.4169228106646 +261000 ekin = 2.20725422443418 | erot = 1.95063112971748 | epot = -21.6226626065193 | etot = -17.4647772523677 +262000 ekin = 2.25364220587794 | erot = 1.86806956106358 | epot = -21.6606203978347 | etot = -17.5389086308931 +263000 ekin = 2.2745191124411 | erot = 1.88576182425897 | epot = -21.6707355563004 | etot = -17.5104546196004 +264000 ekin = 2.31743274100675 | erot = 1.89043794607679 | epot = -21.6658367619932 | etot = -17.4579660749097 +265000 ekin = 2.34289229985179 | erot = 2.08595197099475 | epot = -21.6767978216757 | etot = -17.2479535508292 +266000 ekin = 2.3899300653484 | erot = 2.06541078395747 | epot = -21.7067349964001 | etot = -17.2513941470942 +267000 ekin = 2.42913514053661 | erot = 1.90515845127833 | epot = -21.753771867194 | etot = -17.419478275379 +268000 ekin = 2.56337406000812 | erot = 1.92623756183675 | epot = -21.8331768183362 | etot = -17.3435651964914 +269000 ekin = 2.61168966394753 | erot = 1.99189529087478 | epot = -21.8974804447422 | etot = -17.2938954899199 +270000 ekin = 2.53639435963122 | erot = 2.18070434963339 | epot = -21.9584187694417 | etot = -17.2413200601771 +271000 ekin = 2.4730499948757 | erot = 2.35836713203746 | epot = -21.9991923760468 | etot = -17.1677752491337 +272000 ekin = 2.47073160362048 | erot = 2.18239415020589 | epot = -22.0193810519899 | etot = -17.3662552981635 +273000 ekin = 2.4161128868233 | erot = 2.11264062363061 | epot = -22.0447361710736 | etot = -17.5159826606197 +274000 ekin = 2.33309205622036 | erot = 2.12677358473247 | epot = -22.0456863660978 | etot = -17.585820725145 +275000 ekin = 2.25325149778063 | erot = 2.19345346449468 | epot = -21.9873759762878 | etot = -17.5406710140125 +276000 ekin = 2.11579900114214 | erot = 2.01180248953933 | epot = -21.8981479929511 | etot = -17.7705465022696 +277000 ekin = 2.01204365222986 | erot = 1.98722100035167 | epot = -21.7960888645598 | etot = -17.7968242119783 +278000 ekin = 1.94141858256029 | erot = 2.28521819509401 | epot = -21.7113859217473 | etot = -17.484749144093 +279000 ekin = 1.83792081872222 | erot = 2.29363129336714 | epot = -21.6511613802402 | etot = -17.5196092681508 +280000 ekin = 1.73807918416876 | erot = 2.50531944195154 | epot = -21.648860900744 | etot = -17.4054622746237 +281000 ekin = 1.73432743109903 | erot = 2.683788200705 | epot = -21.6510875258494 | etot = -17.2329718940453 +282000 ekin = 1.707454359447 | erot = 2.4631171643996 | epot = -21.702633188471 | etot = -17.5320616646244 +283000 ekin = 1.60185741540726 | erot = 2.73972949535758 | epot = -21.788969309387 | etot = -17.4473823986222 +284000 ekin = 1.45656966763948 | erot = 3.08718988751344 | epot = -21.9109766986028 | etot = -17.3672171434499 +285000 ekin = 1.52336397324818 | erot = 3.2348904453559 | epot = -22.0771348239222 | etot = -17.3188804053181 +286000 ekin = 1.52886747117867 | erot = 3.26500488671026 | epot = -22.2419806366669 | etot = -17.4481082787779 +287000 ekin = 1.5582725813792 | erot = 3.2185398289023 | epot = -22.374580622938 | etot = -17.5977682126565 +288000 ekin = 1.62221220393018 | erot = 3.11944065317502 | epot = -22.4753647550739 | etot = -17.7337118979687 +289000 ekin = 1.67251771955046 | erot = 2.53263586427446 | epot = -22.5286401037665 | etot = -18.3234865199416 +290000 ekin = 1.79922183320689 | erot = 2.60060797838013 | epot = -22.5663935494002 | etot = -18.1665637378131 +291000 ekin = 1.83910683599856 | erot = 2.21931974991974 | epot = -22.5984502564983 | etot = -18.54002367058 +292000 ekin = 1.94895219984002 | erot = 2.13471584079355 | epot = -22.6223121384565 | etot = -18.538644097823 +293000 ekin = 2.00848212838241 | erot = 2.19116654326673 | epot = -22.6334508938888 | etot = -18.4338022222397 +294000 ekin = 2.10559198417458 | erot = 1.93202707864297 | epot = -22.6586912703106 | etot = -18.621072207493 +295000 ekin = 2.21769154753229 | erot = 1.88155097269452 | epot = -22.7095788430016 | etot = -18.6103363227748 +296000 ekin = 2.33458415024603 | erot = 2.23498610265731 | epot = -22.7640278342614 | etot = -18.194457581358 +297000 ekin = 2.42885632292099 | erot = 1.96776290060609 | epot = -22.8238447137232 | etot = -18.4272254901961 +298000 ekin = 2.55470243764224 | erot = 2.23334330823264 | epot = -22.9186285858852 | etot = -18.1305828400103 +299000 ekin = 2.66453185837133 | erot = 2.34987058034008 | epot = -23.0168248151099 | etot = -18.0024223763984 +300000 ekin = 2.72119699302726 | erot = 2.29170874462634 | epot = -23.0901056634069 | etot = -18.0771999257533 +301000 ekin = 2.81586193114734 | erot = 2.13213339022162 | epot = -23.149588375443 | etot = -18.201593054074 +302000 ekin = 2.91520994762752 | erot = 1.88276051696952 | epot = -23.1915517299788 | etot = -18.3935812653817 +303000 ekin = 3.00910392441911 | erot = 1.95969044044558 | epot = -23.2200453504935 | etot = -18.2512509856288 +304000 ekin = 3.09252107593619 | erot = 1.62524026936747 | epot = -23.2362247506591 | etot = -18.5184634053554 +305000 ekin = 3.1833332778338 | erot = 1.64710767299387 | epot = -23.239688077863 | etot = -18.4092471270354 +306000 ekin = 3.2303852450878 | erot = 1.86572791579381 | epot = -23.2226722815321 | etot = -18.1265591206505 +307000 ekin = 3.17553918919359 | erot = 2.33048974790649 | epot = -23.1930577755999 | etot = -17.6870288384998 +308000 ekin = 3.05565196722448 | erot = 2.12851261980202 | epot = -23.1373688624437 | etot = -17.9532042754172 +309000 ekin = 3.06886265684594 | erot = 2.25716457141468 | epot = -23.0626811521325 | etot = -17.7366539238719 +310000 ekin = 2.9103478785017 | erot = 2.45832048654341 | epot = -23.0039736316974 | etot = -17.6353052666523 +311000 ekin = 2.80209798482117 | erot = 2.69963602433988 | epot = -22.9644587572484 | etot = -17.4627247480874 +312000 ekin = 2.89133577486401 | erot = 2.91057311416267 | epot = -22.9280382115917 | etot = -17.126129322565 +313000 ekin = 2.85188593774383 | erot = 2.64756099113599 | epot = -22.9072517674229 | etot = -17.407804838543 +314000 ekin = 2.78595369543557 | erot = 2.70015943474038 | epot = -22.9231273154874 | etot = -17.4370141853114 +315000 ekin = 2.80274029888226 | erot = 2.58977766570975 | epot = -22.9544686180923 | etot = -17.5619506535003 +316000 ekin = 2.813169306106 | erot = 2.690980071203 | epot = -22.9778084391862 | etot = -17.4736590618772 +317000 ekin = 2.92747042873583 | erot = 2.60588706069162 | epot = -22.9662401312089 | etot = -17.4328826417815 +318000 ekin = 2.92235999955154 | erot = 2.47590791759842 | epot = -22.9395079234944 | etot = -17.5412400063444 +319000 ekin = 2.95294558428538 | erot = 2.3284695967344 | epot = -22.8862142058975 | etot = -17.6047990248777 +320000 ekin = 2.96034320260985 | erot = 1.96132462322065 | epot = -22.8325608441835 | etot = -17.910893018353 +321000 ekin = 3.0506123149284 | erot = 1.60256900115906 | epot = -22.772967562217 | etot = -18.1197862461295 +322000 ekin = 3.06917008169216 | erot = 1.78242384845949 | epot = -22.7183310735853 | etot = -17.8667371434336 +323000 ekin = 3.01773744699203 | erot = 1.54792296048673 | epot = -22.6793347879489 | etot = -18.1136743804701 +324000 ekin = 3.00480822228189 | erot = 1.41906862436133 | epot = -22.6494390826941 | etot = -18.2255622360509 +325000 ekin = 2.89783034430742 | erot = 1.53330273244741 | epot = -22.6175860707657 | etot = -18.1864529940109 +326000 ekin = 2.86411015648574 | erot = 1.46437933803489 | epot = -22.5787186521105 | etot = -18.2502291575898 +327000 ekin = 2.85311531697693 | erot = 1.58696821581913 | epot = -22.5591982819074 | etot = -18.1191147491114 +328000 ekin = 2.86747144026835 | erot = 1.74413948970463 | epot = -22.5408974569852 | etot = -17.9292865270122 +329000 ekin = 2.78611224528675 | erot = 1.59178805962542 | epot = -22.4940152398142 | etot = -18.116114934902 +330000 ekin = 2.69317692812656 | erot = 1.77728472427356 | epot = -22.4199575472595 | etot = -17.9494958948593 +331000 ekin = 2.66550770553878 | erot = 1.86897796248965 | epot = -22.3262951615913 | etot = -17.7918094935629 +332000 ekin = 2.46548011243441 | erot = 1.78639997747238 | epot = -22.2432651292252 | etot = -17.9913850393184 +333000 ekin = 2.38707429510573 | erot = 1.88540525492875 | epot = -22.1912828165259 | etot = -17.9188032664914 +334000 ekin = 2.29842323367102 | erot = 1.91569547244919 | epot = -22.1605657807781 | etot = -17.9464470746579 +335000 ekin = 2.14328705611339 | erot = 1.93351743363534 | epot = -22.1267428568705 | etot = -18.0499383671218 +336000 ekin = 2.17230386456881 | erot = 1.84213347788928 | epot = -22.0906093676853 | etot = -18.0761720252272 +337000 ekin = 2.12998408141727 | erot = 1.61504892612904 | epot = -22.0362365245474 | etot = -18.2912035170011 +338000 ekin = 2.22344100551942 | erot = 1.68131888644304 | epot = -21.9914967299633 | etot = -18.0867368380009 +339000 ekin = 2.17397763598077 | erot = 2.04937445475364 | epot = -21.9399664944352 | etot = -17.7166144037008 +340000 ekin = 2.20074652018761 | erot = 2.20161688813948 | epot = -21.9270463566988 | etot = -17.5246829483717 +341000 ekin = 2.27511078184159 | erot = 2.29314361762764 | epot = -21.9408735448824 | etot = -17.3726191454131 +342000 ekin = 2.23496832750093 | erot = 2.5650510125349 | epot = -21.9730675845141 | etot = -17.1730482444783 +343000 ekin = 2.14180809724111 | erot = 2.97675645193248 | epot = -21.9956779914414 | etot = -16.8771134422678 +344000 ekin = 2.2126707016694 | erot = 2.22143192231864 | epot = -22.0021896006045 | etot = -17.5680869766165 +345000 ekin = 2.33078283444873 | erot = 2.24242604297012 | epot = -22.0150204126161 | etot = -17.4418115351973 +346000 ekin = 2.34407159811759 | erot = 1.99201495775972 | epot = -22.0385016930848 | etot = -17.7024151372075 +347000 ekin = 2.44088137371613 | erot = 2.12531879806797 | epot = -22.0618508546084 | etot = -17.4956506828243 +348000 ekin = 2.64914602526481 | erot = 2.46233252053011 | epot = -22.0937551106248 | etot = -16.9822765648299 +349000 ekin = 2.74052569579419 | erot = 2.4858891328714 | epot = -22.1113349203141 | etot = -16.8849200916485 +350000 ekin = 2.63009093889651 | erot = 2.96194682397752 | epot = -22.1188176550615 | etot = -16.5267798921874 +351000 ekin = 2.58934992266496 | erot = 2.87704347850333 | epot = -22.1025806281002 | etot = -16.6361872269319 +352000 ekin = 2.54228487046017 | erot = 2.63361513807469 | epot = -22.065268676535 | etot = -16.8893686680001 +353000 ekin = 2.53249364323764 | erot = 2.47221948070281 | epot = -22.0318641173349 | etot = -17.0271509933945 +354000 ekin = 2.56206560144996 | erot = 2.34662515218724 | epot = -22.0126143901227 | etot = -17.1039236364855 +355000 ekin = 2.53151865050983 | erot = 2.41130529481779 | epot = -21.9989758809428 | etot = -17.0561519356152 +356000 ekin = 2.38856942051675 | erot = 2.45957154153164 | epot = -21.9929238390888 | etot = -17.1447828770405 +357000 ekin = 2.38503185044981 | erot = 2.38151023524621 | epot = -22.0040942348338 | etot = -17.2375521491378 +358000 ekin = 2.44758512950039 | erot = 2.71803579945338 | epot = -22.0072561961475 | etot = -16.8416352671937 +359000 ekin = 2.3851668843951 | erot = 2.57286490732325 | epot = -21.9670271651235 | etot = -17.0089953734051 +360000 ekin = 2.33663079544644 | erot = 2.56848564652217 | epot = -21.9181648411088 | etot = -17.0130483991401 +361000 ekin = 2.42677922379477 | erot = 2.37500774993747 | epot = -21.8672713761356 | etot = -17.0654844024033 +362000 ekin = 2.4605364062406 | erot = 2.49590481611229 | epot = -21.7779995387158 | etot = -16.8215583163629 +363000 ekin = 2.55310738370223 | erot = 2.17768318633137 | epot = -21.677682077902 | etot = -16.9468915078684 +364000 ekin = 2.5678010972577 | erot = 2.16474191665875 | epot = -21.5533633280085 | etot = -16.820820314092 +365000 ekin = 2.59901975131882 | erot = 1.7140989302114 | epot = -21.4252112523553 | etot = -17.1120925708251 +366000 ekin = 2.80245009247369 | erot = 1.4404838150693 | epot = -21.311596587106 | etot = -17.068662679563 +367000 ekin = 2.85134090040924 | erot = 1.61253537083183 | epot = -21.2054965437889 | etot = -16.7416202725478 +368000 ekin = 3.00720175661758 | erot = 1.37649145802376 | epot = -21.1143147590192 | etot = -16.7306215443779 +369000 ekin = 3.02782850583644 | erot = 1.29964512201192 | epot = -21.0456750388441 | etot = -16.7182014109957 +370000 ekin = 2.96718136039109 | erot = 1.45830059090196 | epot = -20.9956751371928 | etot = -16.5701931858997 +371000 ekin = 2.97398053523892 | erot = 1.26453322843172 | epot = -20.9819115867117 | etot = -16.743397823041 +372000 ekin = 2.93284410498 | erot = 1.41224205422984 | epot = -20.9908796563722 | etot = -16.6457934971623 +373000 ekin = 2.8879003401046 | erot = 1.42564554966125 | epot = -21.0338923993971 | etot = -16.7203465096313 +374000 ekin = 2.82344708085634 | erot = 1.62526123419932 | epot = -21.0946345683056 | etot = -16.64592625325 +375000 ekin = 2.90481916892106 | erot = 1.7464206770586 | epot = -21.2008783966461 | etot = -16.5496385506664 +376000 ekin = 2.84134799892063 | erot = 1.87675422092541 | epot = -21.3649261105941 | etot = -16.6468238907481 +377000 ekin = 2.86364799078503 | erot = 1.93393380949078 | epot = -21.5406268140671 | etot = -16.7430450137913 +378000 ekin = 2.90483004895234 | erot = 2.17252781549633 | epot = -21.7155346442898 | etot = -16.6381767798411 +379000 ekin = 2.88650755861751 | erot = 1.96118442992086 | epot = -21.8538626049789 | etot = -17.0061706164405 +380000 ekin = 2.88651329834471 | erot = 2.08410077478119 | epot = -21.9401095058162 | etot = -16.9694954326903 +381000 ekin = 2.84108364234484 | erot = 2.3660240689464 | epot = -21.98104394619 | etot = -16.7739362348987 +382000 ekin = 2.65581712933813 | erot = 2.32549072457596 | epot = -21.9604472596473 | etot = -16.9791394057332 +383000 ekin = 2.66697103963098 | erot = 2.19715446258958 | epot = -21.8997743494525 | etot = -17.035648847232 +384000 ekin = 2.71347175798896 | erot = 2.0860453579752 | epot = -21.8256490214726 | etot = -17.0261319055084 +385000 ekin = 2.58866272891295 | erot = 2.07169637253233 | epot = -21.758827765026 | etot = -17.0984686635807 +386000 ekin = 2.61416908347388 | erot = 2.1240237822152 | epot = -21.727589058865 | etot = -16.9893961931759 +387000 ekin = 2.703733725349 | erot = 2.21149248908629 | epot = -21.7114203261748 | etot = -16.7961941117395 +388000 ekin = 2.7497838323679 | erot = 2.03622128721578 | epot = -21.7171286702608 | etot = -16.9311235506772 +389000 ekin = 2.75876151313239 | erot = 2.35914494269186 | epot = -21.7195350651328 | etot = -16.6016286093086 +390000 ekin = 2.87281151326072 | erot = 2.14919283772489 | epot = -21.7092098874033 | etot = -16.6872055364177 +391000 ekin = 2.88070946214033 | erot = 2.15553640701987 | epot = -21.7308938242006 | etot = -16.6946479550404 +392000 ekin = 2.85350413424024 | erot = 1.95551148082617 | epot = -21.7800211133378 | etot = -16.9710054982714 +393000 ekin = 2.90295298668554 | erot = 2.00031478831757 | epot = -21.8483879920452 | etot = -16.9451202170421 +394000 ekin = 2.87980364418038 | erot = 2.13854428764088 | epot = -21.9278910355293 | etot = -16.9095431037081 +395000 ekin = 2.89980834808641 | erot = 2.27975081097518 | epot = -22.0016489908306 | etot = -16.822089831769 +396000 ekin = 2.9360557483404 | erot = 2.2875622150139 | epot = -22.0837193562733 | etot = -16.860101392919 +397000 ekin = 2.80779171295693 | erot = 2.19257867663261 | epot = -22.1878285992745 | etot = -17.187458209685 +398000 ekin = 2.65560496560025 | erot = 2.63286768292198 | epot = -22.2927014267369 | etot = -17.0042287782147 +399000 ekin = 2.7083129997789 | erot = 2.28957359120755 | epot = -22.4133968187077 | etot = -17.4155102277212 +400000 ekin = 2.62631472682178 | erot = 2.32258453004909 | epot = -22.5144474162181 | etot = -17.5655481593472 +401000 ekin = 2.61084599477582 | erot = 2.5915842232174 | epot = -22.6219132294947 | etot = -17.4194830115015 +402000 ekin = 2.63588590320108 | erot = 2.77714471535845 | epot = -22.726497935138 | etot = -17.3134673165785 +403000 ekin = 2.57124299169012 | erot = 2.91857224360648 | epot = -22.7998184812978 | etot = -17.3100032460012 +404000 ekin = 2.64669440558072 | erot = 2.93356467106652 | epot = -22.8394282855354 | etot = -17.2591692088882 +405000 ekin = 2.63136962603962 | erot = 3.04830494377458 | epot = -22.8811547071106 | etot = -17.2014801372964 +406000 ekin = 2.57687330940515 | erot = 2.89269043406019 | epot = -22.8904487120534 | etot = -17.420884968588 +407000 ekin = 2.56184489605048 | erot = 3.0869265673611 | epot = -22.8853592595439 | etot = -17.2365877961323 +408000 ekin = 2.54127249851751 | erot = 3.17601770471237 | epot = -22.9006717760475 | etot = -17.1833815728176 +409000 ekin = 2.53459046783756 | erot = 3.13623300199206 | epot = -22.8968640693002 | etot = -17.2260405994706 +410000 ekin = 2.51587421571662 | erot = 3.14201699757386 | epot = -22.9150990085739 | etot = -17.2572077952835 +411000 ekin = 2.42964978573949 | erot = 3.32305144355808 | epot = -22.950164108708 | etot = -17.1974628794104 +412000 ekin = 2.36687843567492 | erot = 3.32855044296013 | epot = -22.9956786711899 | etot = -17.3002497925549 +413000 ekin = 2.32867643693121 | erot = 3.02147909460693 | epot = -23.0359443059235 | etot = -17.6857887743854 +414000 ekin = 2.25152604494466 | erot = 3.14866247342447 | epot = -23.0379850078344 | etot = -17.6377964894653 +415000 ekin = 2.14860234477144 | erot = 3.14281806599387 | epot = -23.0168097112442 | etot = -17.7253893004789 +416000 ekin = 2.13327753923941 | erot = 2.78190144921923 | epot = -22.9549412646377 | etot = -18.0397622761791 +417000 ekin = 2.07867029653697 | erot = 2.63891364632696 | epot = -22.8771697337527 | etot = -18.1595857908887 +418000 ekin = 2.0150349708746 | erot = 2.48786384280144 | epot = -22.7881812529125 | etot = -18.2852824392364 +419000 ekin = 1.93436445840322 | erot = 2.56473142390303 | epot = -22.7122209786172 | etot = -18.213125096311 +420000 ekin = 1.86691051963017 | erot = 2.37316247804236 | epot = -22.6636441048361 | etot = -18.4235711071636 +421000 ekin = 1.8667725624874 | erot = 2.32313827929402 | epot = -22.6187875829574 | etot = -18.428876741176 +422000 ekin = 1.8200582415809 | erot = 2.55465763559262 | epot = -22.5903542114936 | etot = -18.2156383343201 +423000 ekin = 1.85196925130418 | erot = 2.59745988234307 | epot = -22.5868190893395 | etot = -18.1373899556923 +424000 ekin = 1.87511106269032 | erot = 2.36649086179865 | epot = -22.5883508404773 | etot = -18.3467489159883 +425000 ekin = 1.85448962199789 | erot = 2.3591233455441 | epot = -22.5825697876888 | etot = -18.3689568201468 +426000 ekin = 1.93877126287082 | erot = 2.34047239554888 | epot = -22.5855644966028 | etot = -18.3063208381831 +427000 ekin = 1.98667133587004 | erot = 2.21434059237444 | epot = -22.6165038624104 | etot = -18.4154919341659 +428000 ekin = 2.06633462219177 | erot = 2.46308595042552 | epot = -22.6536305130781 | etot = -18.1242099404608 +429000 ekin = 2.06647569478212 | erot = 2.85029146170665 | epot = -22.6734202786044 | etot = -17.7566531221156 +430000 ekin = 2.02119030876797 | erot = 3.03581181603967 | epot = -22.6592821074028 | etot = -17.6022799825951 +431000 ekin = 1.92940982496923 | erot = 3.125674796042 | epot = -22.6051004098154 | etot = -17.5500157888042 +432000 ekin = 1.98926835887576 | erot = 2.96897634192392 | epot = -22.5090519549375 | etot = -17.5508072541379 +433000 ekin = 2.04143073246114 | erot = 2.85215225860714 | epot = -22.3406443583776 | etot = -17.4470613673093 +434000 ekin = 2.05565692829913 | erot = 2.95627927317631 | epot = -22.1000056035569 | etot = -17.0880694020814 +435000 ekin = 2.08432405496736 | erot = 2.68419048003187 | epot = -21.8308353279849 | etot = -17.0623207929857 +436000 ekin = 2.12772749840182 | erot = 2.84173548840778 | epot = -21.5604223141965 | etot = -16.5909593273869 +437000 ekin = 2.04468233985804 | erot = 2.51892636169328 | epot = -21.3171953647822 | etot = -16.7535866632309 +438000 ekin = 2.04330796733059 | erot = 2.25039837644734 | epot = -21.1104661155377 | etot = -16.8167597717598 +439000 ekin = 2.1303450962371 | erot = 2.34282002521722 | epot = -20.9455910272725 | etot = -16.4724259058182 +440000 ekin = 2.19070367254264 | erot = 2.15029144838855 | epot = -20.8316849257311 | etot = -16.4906898047999 +441000 ekin = 2.18523324344632 | erot = 2.14329639955493 | epot = -20.7742603417167 | etot = -16.4457306987154 +442000 ekin = 2.35525341099367 | erot = 2.33073585925573 | epot = -20.792107801297 | etot = -16.1061185310476 +443000 ekin = 2.42381848947187 | erot = 2.29410897800853 | epot = -20.8510039080529 | etot = -16.1330764405725 +444000 ekin = 2.58327001521848 | erot = 2.2555040393805 | epot = -20.9496740359511 | etot = -16.1108999813521 +445000 ekin = 2.74914318766607 | erot = 2.36474125562136 | epot = -21.0902773104291 | etot = -15.9763928671417 +446000 ekin = 2.75866465553895 | erot = 2.51903536478372 | epot = -21.2771375903941 | etot = -15.9994375700714 +447000 ekin = 2.81341929589966 | erot = 2.61543912233437 | epot = -21.4943223583148 | etot = -16.0654639400807 +448000 ekin = 2.98791449212409 | erot = 2.68601572134495 | epot = -21.6882416455897 | etot = -16.0143114321207 +449000 ekin = 3.02989562281076 | erot = 2.59921391657428 | epot = -21.8625805167009 | etot = -16.2334709773159 +450000 ekin = 3.0758419338981 | erot = 2.74644112742609 | epot = -21.997728414517 | etot = -16.1754453531928 +451000 ekin = 3.1732510322311 | erot = 2.71318685835058 | epot = -22.0826869675359 | etot = -16.1962490769543 +452000 ekin = 3.26804429580701 | erot = 2.87778182303269 | epot = -22.0906838053159 | etot = -15.9448576864762 +453000 ekin = 3.27357354113463 | erot = 2.70771602218257 | epot = -22.009345068552 | etot = -16.0280555052348 +454000 ekin = 3.19461395199184 | erot = 2.6448969266276 | epot = -21.8896212815603 | etot = -16.0501104029409 +455000 ekin = 3.06934448991755 | erot = 2.52112023723157 | epot = -21.7581228733757 | etot = -16.1676581462265 +456000 ekin = 3.00870709873354 | erot = 2.69030125753166 | epot = -21.6192081822489 | etot = -15.9201998259837 +457000 ekin = 2.77721648981712 | erot = 2.81809494378998 | epot = -21.5044838205097 | etot = -15.9091723869026 +458000 ekin = 2.72192779143867 | erot = 2.81327589912996 | epot = -21.3991411950549 | etot = -15.8639375044863 +459000 ekin = 2.66716160346742 | erot = 2.91218722489636 | epot = -21.3056824262503 | etot = -15.7263335978865 +460000 ekin = 2.61631308900579 | erot = 2.72088150404094 | epot = -21.2125642789402 | etot = -15.8753696858935 +461000 ekin = 2.52111486337738 | erot = 2.61083643510198 | epot = -21.1320849455672 | etot = -16.0001336470878 +462000 ekin = 2.35496729961946 | erot = 2.53585610998176 | epot = -21.0535223021749 | etot = -16.1626988925736 +463000 ekin = 2.2439343318321 | erot = 2.51761943073272 | epot = -21.0230425923881 | etot = -16.2614888298233 +464000 ekin = 2.1626457562572 | erot = 2.67496242735603 | epot = -21.0323536551491 | etot = -16.1947454715359 +465000 ekin = 2.12337820037341 | erot = 2.82456556368787 | epot = -21.0880254572834 | etot = -16.1400816932221 +466000 ekin = 2.04496236125005 | erot = 2.74204868129271 | epot = -21.1490905898125 | etot = -16.3620795472697 +467000 ekin = 2.0707620645862 | erot = 2.74539024720618 | epot = -21.2150241645281 | etot = -16.3988718527357 +468000 ekin = 2.08250457485156 | erot = 2.4940100588542 | epot = -21.2895135595468 | etot = -16.712998925841 +469000 ekin = 2.11940107816891 | erot = 2.73165603901951 | epot = -21.3555553713497 | etot = -16.5044982541612 +470000 ekin = 2.27554500930735 | erot = 2.57556168280453 | epot = -21.4121284090537 | etot = -16.5610217169418 +471000 ekin = 2.21149846213409 | erot = 2.49207243095059 | epot = -21.4357320520247 | etot = -16.73216115894 +472000 ekin = 2.13757463851149 | erot = 2.31011730813796 | epot = -21.4380116997287 | etot = -16.9903197530793 +473000 ekin = 2.06821493877588 | erot = 2.26850039282583 | epot = -21.4114781960853 | etot = -17.0747628644836 +474000 ekin = 1.96490547218375 | erot = 2.35563819582063 | epot = -21.3522336688369 | etot = -17.0316900008326 +475000 ekin = 1.94558586419879 | erot = 2.10680745423894 | epot = -21.2548130597364 | etot = -17.2024197412987 +476000 ekin = 1.94190624501475 | erot = 2.16513825042938 | epot = -21.159554468915 | etot = -17.0525099734709 +477000 ekin = 1.99924367094377 | erot = 1.80803378013927 | epot = -21.0628461625389 | etot = -17.2555687114559 +478000 ekin = 1.89989927585438 | erot = 1.77183940189893 | epot = -20.9920693922243 | etot = -17.320330714471 +479000 ekin = 1.84520242098747 | erot = 1.66369715226449 | epot = -20.9431976611348 | etot = -17.4342980878828 +480000 ekin = 1.78395227007269 | erot = 1.62380842243988 | epot = -20.9116440658475 | etot = -17.503883373335 +481000 ekin = 1.80711393748078 | erot = 1.45108120724281 | epot = -20.8998091956538 | etot = -17.6416140509303 +482000 ekin = 1.83485472728802 | erot = 1.58991315613704 | epot = -20.9502956349549 | etot = -17.5255277515298 +483000 ekin = 1.74714650944526 | erot = 2.06533056940214 | epot = -21.0598264029401 | etot = -17.2473493240927 +484000 ekin = 1.8057186887513 | erot = 2.45785513658366 | epot = -21.2268132327393 | etot = -16.9632394074044 +485000 ekin = 1.97685842465673 | erot = 2.60360246547727 | epot = -21.4062901266652 | etot = -16.8258292365312 +486000 ekin = 2.06309847922677 | erot = 2.90380547812245 | epot = -21.5894655607393 | etot = -16.6225616033901 +487000 ekin = 2.19649216659994 | erot = 2.81883409927294 | epot = -21.7360008549519 | etot = -16.7206745890791 +488000 ekin = 2.27235435120772 | erot = 3.21078167833795 | epot = -21.8710028956712 | etot = -16.3878668661256 +489000 ekin = 2.3636591616528 | erot = 2.98148333833798 | epot = -21.9731809770875 | etot = -16.6280384770967 +490000 ekin = 2.4636557224321 | erot = 3.03413636977543 | epot = -22.0415730890951 | etot = -16.5437809968876 +491000 ekin = 2.48043066028413 | erot = 2.95353817719114 | epot = -22.0882801530733 | etot = -16.654311315598 +492000 ekin = 2.43187986853069 | erot = 2.81942197452466 | epot = -22.1316786946073 | etot = -16.880376851552 +493000 ekin = 2.43297707751461 | erot = 3.13501618675316 | epot = -22.1516877815832 | etot = -16.5836945173154 +494000 ekin = 2.4354773700696 | erot = 3.224943833042 | epot = -22.1277792873507 | etot = -16.4673580842391 +495000 ekin = 2.44131017621637 | erot = 3.14764944977806 | epot = -22.079810722608 | etot = -16.4908510966136 +496000 ekin = 2.44929786442212 | erot = 3.00103698197392 | epot = -22.0029286492464 | etot = -16.5525938028503 +497000 ekin = 2.4280734272358 | erot = 2.78818041326617 | epot = -21.8989958230258 | etot = -16.6827419825238 +498000 ekin = 2.43232675717266 | erot = 2.78563195522793 | epot = -21.7990677062028 | etot = -16.5811089938022 +499000 ekin = 2.39683774655007 | erot = 2.52204743265467 | epot = -21.6970829564495 | etot = -16.7781977772448 +500000 ekin = 2.39561357167997 | erot = 2.04914490208487 | epot = -21.6057727183573 | etot = -17.1610142445925 +501000 ekin = 2.49011062220811 | erot = 2.09141321522323 | epot = -21.5560066661711 | etot = -16.9744828287398 +502000 ekin = 2.50365744754297 | erot = 2.10420254833234 | epot = -21.5549657901239 | etot = -16.9471057942486 +503000 ekin = 2.50788240480049 | erot = 2.30709919674968 | epot = -21.6015443787762 | etot = -16.786562777226 +504000 ekin = 2.42370070726357 | erot = 1.84999363757419 | epot = -21.6380109735029 | etot = -17.3643166286652 +505000 ekin = 2.35874834855526 | erot = 2.14636862503864 | epot = -21.6689774661098 | etot = -17.1638604925159 +506000 ekin = 2.26228062582635 | erot = 2.45377485636132 | epot = -21.7153954382918 | etot = -16.9993399561042 +507000 ekin = 2.13919237077154 | erot = 2.50319755000149 | epot = -21.7581761618781 | etot = -17.1157862411051 +508000 ekin = 2.14831373874063 | erot = 3.06092132482214 | epot = -21.7763037427622 | etot = -16.5670686791994 +509000 ekin = 2.05180259764867 | erot = 3.39029610338365 | epot = -21.7760035853532 | etot = -16.3339048843209 +510000 ekin = 2.04381464635437 | erot = 3.61253858305498 | epot = -21.7386277737472 | etot = -16.0822745443378 +511000 ekin = 2.05816959569127 | erot = 3.102136513493 | epot = -21.6883623768063 | etot = -16.528056267622 +512000 ekin = 1.92422822548484 | erot = 2.7926385451771 | epot = -21.6550102347612 | etot = -16.9381434640992 +513000 ekin = 2.02050703596267 | erot = 2.71259548634819 | epot = -21.6549051178158 | etot = -16.921802595505 +514000 ekin = 2.07581905977924 | erot = 2.32467594776647 | epot = -21.6655568342184 | etot = -17.2650618266727 +515000 ekin = 2.08477825623489 | erot = 2.59404540183174 | epot = -21.7265307260937 | etot = -17.0477070680271 +516000 ekin = 2.15812359163726 | erot = 2.69267871008878 | epot = -21.8093937590779 | etot = -16.9585914573518 +517000 ekin = 2.13934962382501 | erot = 2.8436528571905 | epot = -21.9032983411413 | etot = -16.9202958601258 +518000 ekin = 2.20591925285869 | erot = 3.12936446615959 | epot = -22.0120787399692 | etot = -16.6767950209509 +519000 ekin = 2.26634159461371 | erot = 3.09465064893055 | epot = -22.1371864066217 | etot = -16.7761941630775 +520000 ekin = 2.33395232089093 | erot = 3.1670786380661 | epot = -22.2618368300502 | etot = -16.7608058710932 +521000 ekin = 2.37443913996459 | erot = 2.84321493552062 | epot = -22.3608681173471 | etot = -17.1432140418619 +522000 ekin = 2.38014534564443 | erot = 2.71344764130118 | epot = -22.4471285851328 | etot = -17.3535355981872 +523000 ekin = 2.43082426163801 | erot = 2.87118432179588 | epot = -22.5347499952688 | etot = -17.2327414118349 +524000 ekin = 2.56081842163085 | erot = 3.05550273097475 | epot = -22.6100687346066 | etot = -16.993747582001 +525000 ekin = 2.5595327185846 | erot = 2.67513220891039 | epot = -22.6739874644372 | etot = -17.4393225369422 +526000 ekin = 2.59958209030967 | erot = 2.95738463024345 | epot = -22.7033728209714 | etot = -17.1464061004182 +527000 ekin = 2.52409384361546 | erot = 2.89851026515111 | epot = -22.7152196639493 | etot = -17.2926155551827 +528000 ekin = 2.5793534980762 | erot = 2.86931301300845 | epot = -22.7061100878872 | etot = -17.2574435768025 +529000 ekin = 2.54499132301732 | erot = 3.03033580941359 | epot = -22.6577883790845 | etot = -17.0824612466536 +530000 ekin = 2.37583920711473 | erot = 3.07767101681233 | epot = -22.5498147001084 | etot = -17.0963044761814 +531000 ekin = 2.28423424660353 | erot = 2.99538223189526 | epot = -22.4172244060315 | etot = -17.1376079275327 +532000 ekin = 2.1109280228991 | erot = 2.62650535715256 | epot = -22.2554156639846 | etot = -17.517982283933 +533000 ekin = 2.07823067751594 | erot = 2.60462012944303 | epot = -22.0829115643989 | etot = -17.4000607574399 +534000 ekin = 2.08976309920187 | erot = 2.60045035336435 | epot = -21.9117889556571 | etot = -17.2215755030909 +535000 ekin = 2.03320809614292 | erot = 2.53673993181132 | epot = -21.7263132935396 | etot = -17.1563652655854 +536000 ekin = 1.97106365765638 | erot = 2.35170112588149 | epot = -21.571809644199 | etot = -17.2490448606611 +537000 ekin = 1.85757994043342 | erot = 2.10009393160123 | epot = -21.4673782965335 | etot = -17.5097044244988 +538000 ekin = 1.82596102898874 | erot = 2.13846192719764 | epot = -21.398373431854 | etot = -17.4339504756676 +539000 ekin = 1.73881232516788 | erot = 2.4948493136435 | epot = -21.3425267679342 | etot = -17.1088651291228 +540000 ekin = 1.67447223010825 | erot = 2.77285924634643 | epot = -21.271659054413 | etot = -16.8243275779583 +541000 ekin = 1.69990418580809 | erot = 2.88110182550566 | epot = -21.1962442587827 | etot = -16.615238247469 +542000 ekin = 1.7111365749696 | erot = 2.75900359073003 | epot = -21.1355976616677 | etot = -16.665457495968 +543000 ekin = 1.78866852977452 | erot = 2.71660471692181 | epot = -21.0866732693155 | etot = -16.5814000226192 +544000 ekin = 1.77181782019774 | erot = 2.32877176942813 | epot = -21.0413457588297 | etot = -16.9407561692039 +545000 ekin = 1.7866779339122 | erot = 2.11448637898461 | epot = -21.0004042884457 | etot = -17.0992399755488 +546000 ekin = 1.85376909065287 | erot = 1.89612518110716 | epot = -20.9731062289206 | etot = -17.2232119571606 +547000 ekin = 1.88607623839212 | erot = 1.6712325505803 | epot = -20.9706093546519 | etot = -17.4133005656795 +548000 ekin = 1.90991638455396 | erot = 1.78815489997996 | epot = -20.9683934987357 | etot = -17.2703222142018 +549000 ekin = 1.93154736700941 | erot = 1.83109029837903 | epot = -20.9876899630384 | etot = -17.22505229765 +550000 ekin = 1.99815580980645 | erot = 1.56054958425452 | epot = -21.0360042320961 | etot = -17.4772988380352 +551000 ekin = 2.06223281194893 | erot = 1.82140531055406 | epot = -21.10997931596 | etot = -17.226341193457 +552000 ekin = 2.19995559126134 | erot = 1.93328987912251 | epot = -21.1805106953399 | etot = -17.0472652249561 +553000 ekin = 2.16476612655663 | erot = 2.18848299832304 | epot = -21.2339007238649 | etot = -16.8806515989852 +554000 ekin = 2.19253395809327 | erot = 1.99269602147233 | epot = -21.3216202633274 | etot = -17.1363902837618 +555000 ekin = 2.30423346281242 | erot = 1.75126691279982 | epot = -21.4340368938555 | etot = -17.3785365182433 +556000 ekin = 2.45212673301272 | erot = 2.39109930640492 | epot = -21.5725172133448 | etot = -16.7292911739272 +557000 ekin = 2.55511582944017 | erot = 2.60632466872841 | epot = -21.7241981903448 | etot = -16.5627576921762 +558000 ekin = 2.67318624692484 | erot = 2.43046608161984 | epot = -21.8811108747503 | etot = -16.7774585462056 +559000 ekin = 2.79102973560968 | erot = 2.67538733153562 | epot = -22.037855387448 | etot = -16.5714383203027 +560000 ekin = 2.9183792158121 | erot = 2.68572428538362 | epot = -22.1492797858931 | etot = -16.5451762846974 +561000 ekin = 2.81692468047697 | erot = 2.70423444900948 | epot = -22.216487219322 | etot = -16.6953280898356 +562000 ekin = 2.76503975841347 | erot = 2.53761848613789 | epot = -22.2442970633447 | etot = -16.9416388187934 +563000 ekin = 2.65825040724883 | erot = 2.71023439088357 | epot = -22.243221823098 | etot = -16.8747370249656 +564000 ekin = 2.64808423454302 | erot = 2.7031533075073 | epot = -22.2101649946185 | etot = -16.8589274525682 +565000 ekin = 2.56520347515872 | erot = 2.51222337320364 | epot = -22.1609166692024 | etot = -17.08348982084 +566000 ekin = 2.49797853328213 | erot = 1.95572936802152 | epot = -22.1122925054564 | etot = -17.6585846041527 +567000 ekin = 2.54792607074833 | erot = 1.85729033385336 | epot = -22.0797419433029 | etot = -17.6745255387012 +568000 ekin = 2.60591444007081 | erot = 1.83755900710587 | epot = -22.0644073196267 | etot = -17.6209338724501 +569000 ekin = 2.62362305667703 | erot = 2.09101698674206 | epot = -22.0262950849346 | etot = -17.3116550415156 +570000 ekin = 2.59966130338224 | erot = 1.8528357789039 | epot = -21.9852976772882 | etot = -17.5328005950021 +571000 ekin = 2.57696065480236 | erot = 2.10053443453254 | epot = -21.9714910967201 | etot = -17.2939960073852 +572000 ekin = 2.6199221152626 | erot = 2.3592960436722 | epot = -21.9659339101478 | etot = -16.986715751213 +573000 ekin = 2.80765379250703 | erot = 2.64066236878634 | epot = -21.9992362601246 | etot = -16.5509200988312 +574000 ekin = 2.77886407527571 | erot = 2.38672398638113 | epot = -22.0653999532901 | etot = -16.8998118916333 +575000 ekin = 2.68662185812297 | erot = 2.33286464853949 | epot = -22.1404382955663 | etot = -17.1209517889038 +576000 ekin = 2.71580008212145 | erot = 2.47248086928771 | epot = -22.2173146829094 | etot = -17.0290337315003 +577000 ekin = 2.7302158927818 | erot = 2.52068341312541 | epot = -22.2907564203192 | etot = -17.039857114412 +578000 ekin = 2.73054357573016 | erot = 2.55784953441613 | epot = -22.3560478485211 | etot = -17.0676547383748 +579000 ekin = 2.66821624836572 | erot = 2.41812757787305 | epot = -22.3944025993856 | etot = -17.3080587731468 +580000 ekin = 2.67666651361969 | erot = 2.37337561149781 | epot = -22.397039042447 | etot = -17.3469969173295 +581000 ekin = 2.50777332809615 | erot = 2.18045458374933 | epot = -22.3739113390257 | etot = -17.6856834271802 +582000 ekin = 2.40279105318935 | erot = 1.89859122534185 | epot = -22.3216073421081 | etot = -18.0202250635769 +583000 ekin = 2.31269263220149 | erot = 1.73074513088278 | epot = -22.2573140454874 | etot = -18.2138762824031 +584000 ekin = 2.21239433549753 | erot = 1.75290221167389 | epot = -22.2111149411394 | etot = -18.245818393968 +585000 ekin = 2.15356855038317 | erot = 1.75180079977016 | epot = -22.229356241441 | etot = -18.3239868912877 +586000 ekin = 2.10262413841983 | erot = 1.85113983993476 | epot = -22.2792098403955 | etot = -18.3254458620409 +587000 ekin = 2.13288374468826 | erot = 2.20890667221802 | epot = -22.3055082909211 | etot = -17.9637178740148 +588000 ekin = 2.14862689118336 | erot = 2.25138259268979 | epot = -22.2976262267036 | etot = -17.8976167428305 +589000 ekin = 2.04435421027859 | erot = 2.19255127415926 | epot = -22.2575972691454 | etot = -18.0206917847075 +590000 ekin = 1.97499579795968 | erot = 2.18955821954235 | epot = -22.1946880982516 | etot = -18.0301340807496 +591000 ekin = 1.91372986676051 | erot = 2.00143608804042 | epot = -22.0969708781104 | etot = -18.1818049233094 +592000 ekin = 1.90759584087294 | erot = 1.75955547353146 | epot = -22.0003759984159 | etot = -18.3332246840115 +593000 ekin = 1.85491418079517 | erot = 1.82471441354122 | epot = -21.8971191196321 | etot = -18.2174905252957 +594000 ekin = 1.80279616325907 | erot = 1.89197043010803 | epot = -21.7918103226298 | etot = -18.0970437292627 +595000 ekin = 1.73140057218467 | erot = 1.88940188632509 | epot = -21.6714819005053 | etot = -18.0506794419956 +596000 ekin = 1.66362739557022 | erot = 2.08459374164569 | epot = -21.5484728514112 | etot = -17.8002517141953 +597000 ekin = 1.58837419642024 | erot = 2.25218931046815 | epot = -21.4300614484294 | etot = -17.589497941541 +598000 ekin = 1.51530311364937 | erot = 2.10564447814208 | epot = -21.3454884805721 | etot = -17.7245408887807 +599000 ekin = 1.51205618459762 | erot = 2.59561573346759 | epot = -21.3001794349542 | etot = -17.192507516889 +600000 ekin = 1.42420860787937 | erot = 2.66872977571286 | epot = -21.2831261175835 | etot = -17.1901877339913 +601000 ekin = 1.41614052584482 | erot = 2.71409841098203 | epot = -21.2819425817443 | etot = -17.1517036449175 +602000 ekin = 1.39716919100115 | erot = 2.88098133874131 | epot = -21.2738817162066 | etot = -16.9957311864642 +603000 ekin = 1.35362959397705 | erot = 2.47699104027329 | epot = -21.2686606294832 | etot = -17.4380399952329 +604000 ekin = 1.30109941785313 | erot = 2.37915588297075 | epot = -21.2782162294354 | etot = -17.5979609286115 +605000 ekin = 1.33474102107266 | erot = 2.45818083278442 | epot = -21.3160026412609 | etot = -17.5230807874038 +606000 ekin = 1.29920725195382 | erot = 2.42086336903897 | epot = -21.3751929493918 | etot = -17.655122328399 +607000 ekin = 1.23411371003043 | erot = 2.51322970316868 | epot = -21.4519931649193 | etot = -17.7046497517202 +608000 ekin = 1.22186321044676 | erot = 2.5311041555214 | epot = -21.5178918639285 | etot = -17.7649244979604 +609000 ekin = 1.29545020421435 | erot = 2.63039876861612 | epot = -21.5664820555065 | etot = -17.6406330826761 +610000 ekin = 1.32833269788911 | erot = 2.69742481429433 | epot = -21.6042752567674 | etot = -17.5785177445839 +611000 ekin = 1.37555485576615 | erot = 2.44250786358881 | epot = -21.6325158720208 | etot = -17.8144531526659 +612000 ekin = 1.43492266332471 | erot = 2.48338158304032 | epot = -21.6301768868774 | etot = -17.7118726405124 +613000 ekin = 1.45874940730907 | erot = 2.24888080699412 | epot = -21.6206823260948 | etot = -17.9130521117916 +614000 ekin = 1.55936377690334 | erot = 2.20987492911103 | epot = -21.5983529263265 | etot = -17.8291142203122 +615000 ekin = 1.65618793567257 | erot = 2.06571861106629 | epot = -21.5839674847187 | etot = -17.8620609379798 +616000 ekin = 1.69323202132181 | erot = 2.4207923919525 | epot = -21.5767246732272 | etot = -17.4627002599529 +617000 ekin = 1.68010177617046 | erot = 2.37299975949563 | epot = -21.5796207721198 | etot = -17.5265192364537 +618000 ekin = 1.82463445029578 | erot = 2.21376210856707 | epot = -21.5858855133937 | etot = -17.5474889545309 +619000 ekin = 1.82457061205234 | erot = 2.1371769710369 | epot = -21.608601217417 | etot = -17.6468536343277 +620000 ekin = 1.90243298129558 | erot = 2.02639928769549 | epot = -21.6453403015349 | etot = -17.7165080325438 +621000 ekin = 2.0007105481323 | erot = 2.00740169333777 | epot = -21.6932983622015 | etot = -17.6851861207314 +622000 ekin = 2.06294983283403 | erot = 2.33338027747366 | epot = -21.747610545892 | etot = -17.3512804355843 +623000 ekin = 2.16886474013683 | erot = 2.34052136367666 | epot = -21.8030581053771 | etot = -17.2936720015636 +624000 ekin = 2.27472643943783 | erot = 2.06709867004471 | epot = -21.8339575931653 | etot = -17.4921324836828 +625000 ekin = 2.44743468020662 | erot = 1.92194449605304 | epot = -21.8528539423019 | etot = -17.4834747660422 +626000 ekin = 2.6254852196294 | erot = 1.89145499927505 | epot = -21.8798709040072 | etot = -17.3629306851027 +627000 ekin = 2.68150434400643 | erot = 2.0842888332754 | epot = -21.9107134797365 | etot = -17.1449203024547 +628000 ekin = 2.74903675678073 | erot = 1.99441751232753 | epot = -21.9473456387959 | etot = -17.2038913696877 +629000 ekin = 2.86146526790743 | erot = 1.88649666651194 | epot = -21.9845526009193 | etot = -17.2365906664999 +630000 ekin = 2.97219747359781 | erot = 1.94159826713921 | epot = -21.9956245597357 | etot = -17.0818288189987 +631000 ekin = 3.02655709138838 | erot = 1.98612431446979 | epot = -21.9867324807638 | etot = -16.9740510749056 +632000 ekin = 2.89242823961396 | erot = 2.07813215947651 | epot = -21.9871217882287 | etot = -17.0165613891382 +633000 ekin = 2.89559354591988 | erot = 2.04782477805542 | epot = -21.9766614082668 | etot = -17.0332430842915 +634000 ekin = 2.83247679377595 | erot = 2.13051755362208 | epot = -21.9597388170748 | etot = -16.9967444696767 +635000 ekin = 2.63710074800464 | erot = 2.23426349035993 | epot = -21.9715274348462 | etot = -17.1001631964816 +636000 ekin = 2.58412863450159 | erot = 2.48166310505774 | epot = -21.9758376025019 | etot = -16.9100458629426 +637000 ekin = 2.48413021154122 | erot = 3.05163678747143 | epot = -21.9559270975241 | etot = -16.4201600985115 +638000 ekin = 2.41845843253208 | erot = 3.18487359706662 | epot = -21.9218182691583 | etot = -16.3184862395596 +639000 ekin = 2.41474442997057 | erot = 3.07946799577796 | epot = -21.8601538104457 | etot = -16.3659413846972 +640000 ekin = 2.43888704755838 | erot = 3.19916726587376 | epot = -21.773260571449 | etot = -16.1352062580169 +641000 ekin = 2.33318464269148 | erot = 3.52964988306967 | epot = -21.6751385521709 | etot = -15.8123040264097 +642000 ekin = 2.29269127471833 | erot = 3.21459747812113 | epot = -21.5762475219901 | etot = -16.0689587691506 +643000 ekin = 2.2000927150324 | erot = 3.27121474420553 | epot = -21.4712567460628 | etot = -15.9999492868249 +644000 ekin = 2.12761393014637 | erot = 3.26891111731326 | epot = -21.3483627077497 | etot = -15.9518376602901 +645000 ekin = 2.14283359918393 | erot = 3.15969008283745 | epot = -21.2132518657603 | etot = -15.9107281837389 +646000 ekin = 2.06396314958936 | erot = 3.0937199947276 | epot = -21.1127434027894 | etot = -15.9550602584725 +647000 ekin = 2.09494506011006 | erot = 3.01853693183347 | epot = -21.0393545332665 | etot = -15.925872541323 +648000 ekin = 2.04196638106979 | erot = 2.9235470200276 | epot = -20.9985594175429 | etot = -16.0330460164456 +649000 ekin = 2.12312778485914 | erot = 2.76395475216335 | epot = -20.9701414537495 | etot = -16.083058916727 +650000 ekin = 2.10015809243625 | erot = 2.49008137666259 | epot = -20.9856777615303 | etot = -16.3954382924315 +651000 ekin = 2.17042975668772 | erot = 2.82094735385287 | epot = -21.0172459830262 | etot = -16.0258688724856 +652000 ekin = 2.09384051310247 | erot = 2.85582968797875 | epot = -21.0193054655956 | etot = -16.0696352645143 +653000 ekin = 2.04333185286073 | erot = 2.7789078304003 | epot = -21.0137769463715 | etot = -16.1915372631105 +654000 ekin = 2.08939824491288 | erot = 2.64655974106803 | epot = -20.9895202496122 | etot = -16.2535622636313 +655000 ekin = 2.04966047424265 | erot = 2.69502096883418 | epot = -20.9377501246659 | etot = -16.1930686815891 +656000 ekin = 2.01275055755516 | erot = 2.7954688131256 | epot = -20.8915125736499 | etot = -16.0832932029691 +657000 ekin = 2.03431712568968 | erot = 2.53773887631559 | epot = -20.8578047692318 | etot = -16.2857487672265 +658000 ekin = 2.0673538576767 | erot = 2.66675755014629 | epot = -20.8663643114319 | etot = -16.1322529036089 +659000 ekin = 2.06847583306457 | erot = 2.50326478566289 | epot = -20.8825165023748 | etot = -16.3107758836473 +660000 ekin = 2.07870932959682 | erot = 2.81447557231104 | epot = -20.9216042516442 | etot = -16.0284193497364 +661000 ekin = 2.19772022528386 | erot = 2.70676732599789 | epot = -20.955272489221 | etot = -16.0507849379392 +662000 ekin = 2.25232628384276 | erot = 2.75397596508084 | epot = -20.9799482828289 | etot = -15.9736460339053 +663000 ekin = 2.34038951099369 | erot = 2.81430750752421 | epot = -21.0068651854286 | etot = -15.8521681669107 +664000 ekin = 2.44930976235134 | erot = 2.91832446463371 | epot = -21.0209243921204 | etot = -15.6532901651354 +665000 ekin = 2.62422537382033 | erot = 3.05929629192749 | epot = -21.0148549044021 | etot = -15.3313332386542 +666000 ekin = 2.67000607831501 | erot = 3.11170707620175 | epot = -20.9818079036879 | etot = -15.2000947491711 +667000 ekin = 2.646914655505 | erot = 2.74197391498658 | epot = -20.9087124741424 | etot = -15.5198239036508 +668000 ekin = 2.62658511176452 | erot = 2.52395435462692 | epot = -20.7862996323554 | etot = -15.635760165964 +669000 ekin = 2.54613084896613 | erot = 2.35938084583991 | epot = -20.6443137124924 | etot = -15.7388020176863 +670000 ekin = 2.43931260869843 | erot = 2.38690789091365 | epot = -20.4714500069456 | etot = -15.6452295073335 +671000 ekin = 2.36289981273396 | erot = 2.15959347634236 | epot = -20.2658276701866 | etot = -15.7433343811103 +672000 ekin = 2.29106022746054 | erot = 2.06640999933942 | epot = -20.0256672427845 | etot = -15.6681970159846 +673000 ekin = 2.10231422621899 | erot = 1.9981861779267 | epot = -19.7891832406051 | etot = -15.6886828364594 +674000 ekin = 1.99734939649462 | erot = 1.85664304782852 | epot = -19.5650277424018 | etot = -15.7110352980787 +675000 ekin = 1.90857669053573 | erot = 1.65889203440048 | epot = -19.3811887348954 | etot = -15.8137200099592 +676000 ekin = 1.77298099338112 | erot = 1.83094376160153 | epot = -19.2510356435192 | etot = -15.6471108885365 +677000 ekin = 1.63736904978638 | erot = 1.99281479568097 | epot = -19.1448234704469 | etot = -15.5146396249795 +678000 ekin = 1.63864208730587 | erot = 2.08161035578926 | epot = -19.1055006884084 | etot = -15.3852482453133 +679000 ekin = 1.5528275154202 | erot = 2.3521751505234 | epot = -19.1160594043142 | etot = -15.2110567383706 +680000 ekin = 1.55994958081146 | erot = 2.581332640496 | epot = -19.1875667436096 | etot = -15.0462845223021 +681000 ekin = 1.47247027591493 | erot = 2.65144156511814 | epot = -19.2708019300332 | etot = -15.1468900890001 +682000 ekin = 1.5050631291314 | erot = 2.58308917381125 | epot = -19.376855112331 | etot = -15.2887028093883 +683000 ekin = 1.58124836058866 | erot = 2.16095218888017 | epot = -19.4911476852364 | etot = -15.7489471357676 +684000 ekin = 1.60010059600002 | erot = 2.67440743177681 | epot = -19.6181338883197 | etot = -15.3436258605429 +685000 ekin = 1.74893549928195 | erot = 2.6245807347796 | epot = -19.7359660896836 | etot = -15.362449855622 +686000 ekin = 1.76162153341746 | erot = 2.25978530691208 | epot = -19.8541116154906 | etot = -15.8327047751611 +687000 ekin = 1.82619229946474 | erot = 2.29432044590946 | epot = -19.9622292318976 | etot = -15.8417164865234 +688000 ekin = 1.86359828413875 | erot = 2.16944371769556 | epot = -20.0476865748926 | etot = -16.0146445730583 +689000 ekin = 1.93393905859066 | erot = 2.35498206852848 | epot = -20.1007195797137 | etot = -15.8117984525945 +690000 ekin = 1.97584813479927 | erot = 2.24522756497964 | epot = -20.1288568750727 | etot = -15.9077811752937 +691000 ekin = 1.98048868486388 | erot = 2.14627975778132 | epot = -20.1381110985234 | etot = -16.0113426558782 +692000 ekin = 2.07313460019169 | erot = 1.9800884819351 | epot = -20.1378652364601 | etot = -16.0846421543333 +693000 ekin = 2.19190306917338 | erot = 1.58910242480116 | epot = -20.1350957523476 | etot = -16.354090258373 +694000 ekin = 2.32090880385012 | erot = 1.61295927134746 | epot = -20.1314162689194 | etot = -16.1975481937218 +695000 ekin = 2.36874640002722 | erot = 1.59056066666412 | epot = -20.1380145179387 | etot = -16.1787074512473 +696000 ekin = 2.44650937280268 | erot = 1.81535925455471 | epot = -20.1652369679569 | etot = -15.9033683405995 +697000 ekin = 2.51545709816391 | erot = 1.68826010240614 | epot = -20.2135933592978 | etot = -16.0098761587277 +698000 ekin = 2.62928708586012 | erot = 1.96628199836561 | epot = -20.2928804390014 | etot = -15.6973113547757 +699000 ekin = 2.71719696170785 | erot = 2.26885524041395 | epot = -20.3980545329773 | etot = -15.4120023308555 +700000 ekin = 2.87208259001893 | erot = 2.42835298004853 | epot = -20.5178291857199 | etot = -15.2173936156525 +701000 ekin = 2.9590025941786 | erot = 2.35931389631763 | epot = -20.6419240268714 | etot = -15.3236075363752 +702000 ekin = 3.02090269085831 | erot = 2.15074914986673 | epot = -20.7704027073323 | etot = -15.5987508666073 +703000 ekin = 2.97785017762421 | erot = 2.21426045315814 | epot = -20.8971176595447 | etot = -15.7050070287624 +704000 ekin = 2.95736377946439 | erot = 2.20998660273223 | epot = -21.0054958631765 | etot = -15.8381454809799 +705000 ekin = 2.86750561874093 | erot = 2.27820994963668 | epot = -21.0805981580102 | etot = -15.9348825896326 +706000 ekin = 2.78753231022087 | erot = 2.27865200108174 | epot = -21.1291811901197 | etot = -16.0629968788171 +707000 ekin = 2.8221544757383 | erot = 2.35221981249493 | epot = -21.1609961465456 | etot = -15.9866218583124 +708000 ekin = 2.82884823815726 | erot = 2.35861511414888 | epot = -21.1686473578681 | etot = -15.981184005562 +709000 ekin = 2.83366981825964 | erot = 2.36573692196793 | epot = -21.1360090124618 | etot = -15.9366022722343 +710000 ekin = 2.82063152616528 | erot = 2.46614987505483 | epot = -21.084135790447 | etot = -15.7973543892268 +711000 ekin = 2.86012277832215 | erot = 2.45669685378257 | epot = -21.0284124029734 | etot = -15.7115927708687 +712000 ekin = 2.8390063227991 | erot = 2.58641728570271 | epot = -20.9774953745403 | etot = -15.5520717660385 +713000 ekin = 2.81285265683925 | erot = 2.77009227835482 | epot = -20.9479708753284 | etot = -15.3650259401343 +714000 ekin = 2.79476769474643 | erot = 2.56608145301021 | epot = -20.9660227808507 | etot = -15.6051736330941 +715000 ekin = 2.88214044419472 | erot = 2.35359704421368 | epot = -21.0023890888566 | etot = -15.7666516004482 +716000 ekin = 2.80624441075242 | erot = 2.44602402366733 | epot = -21.064339930078 | etot = -15.8120714956583 +717000 ekin = 2.83593496475382 | erot = 1.92271233473076 | epot = -21.1419339045501 | etot = -16.3832866050655 +718000 ekin = 3.04347220736757 | erot = 2.09664480466669 | epot = -21.2307953497154 | etot = -16.0906783376812 +719000 ekin = 3.12566385858553 | erot = 1.94969815384692 | epot = -21.3369127599923 | etot = -16.2615507475599 +720000 ekin = 3.09860713118153 | erot = 1.90387725838985 | epot = -21.4309432046991 | etot = -16.4284588151277 +721000 ekin = 3.12993031147993 | erot = 1.75974471708504 | epot = -21.493414783552 | etot = -16.6037397549871 +722000 ekin = 3.20199415669038 | erot = 1.70619449649603 | epot = -21.5365621621193 | etot = -16.6283735089329 +723000 ekin = 3.2399616527217 | erot = 1.89914229033975 | epot = -21.5885170205206 | etot = -16.4494130774592 +724000 ekin = 3.23853046611197 | erot = 2.03882621849445 | epot = -21.6296558315722 | etot = -16.3522991469658 +725000 ekin = 3.28185949262397 | erot = 2.3703066317188 | epot = -21.6824484616651 | etot = -16.0302823373224 +726000 ekin = 3.25580607632146 | erot = 2.39086109621911 | epot = -21.717756538354 | etot = -16.0710893658134 +727000 ekin = 3.1980522899894 | erot = 2.32087178780801 | epot = -21.7371075347418 | etot = -16.2181834569444 +728000 ekin = 3.15990197080378 | erot = 2.25349819703047 | epot = -21.7242195216855 | etot = -16.3108193538513 +729000 ekin = 3.1567654024144 | erot = 2.43628064604815 | epot = -21.6874540329219 | etot = -16.0944079844593 +730000 ekin = 3.09116846008049 | erot = 2.25419507427888 | epot = -21.6463691748061 | etot = -16.3010056404467 +731000 ekin = 3.13482605258299 | erot = 2.37233499175372 | epot = -21.6178854848953 | etot = -16.1107244405586 +732000 ekin = 2.99746260909709 | erot = 2.05794797450101 | epot = -21.6100718510639 | etot = -16.5546612674658 +733000 ekin = 2.96980729498492 | erot = 2.41656769534058 | epot = -21.6212858194822 | etot = -16.2349108291567 +734000 ekin = 2.95805172881175 | erot = 2.41106090291006 | epot = -21.6442325736442 | etot = -16.2751199419224 +735000 ekin = 2.9891264560767 | erot = 2.56433748906662 | epot = -21.6552350758765 | etot = -16.1017711307332 +736000 ekin = 2.98402840956487 | erot = 2.50919943020275 | epot = -21.6382057820194 | etot = -16.1449779422518 +737000 ekin = 2.93444255324145 | erot = 2.46509691619813 | epot = -21.606907547211 | etot = -16.2073680777714 +738000 ekin = 2.92304716734017 | erot = 2.3908682646107 | epot = -21.5785523296152 | etot = -16.2646368976643 +739000 ekin = 2.87558559566485 | erot = 2.33418319756081 | epot = -21.5767003124475 | etot = -16.3669315192218 +740000 ekin = 2.83334180172253 | erot = 1.96595420169415 | epot = -21.5790601467372 | etot = -16.7797641433205 +741000 ekin = 2.90514747722405 | erot = 1.9006428025971 | epot = -21.5882717938206 | etot = -16.7824815139994 +742000 ekin = 2.94949674447573 | erot = 2.1048120766183 | epot = -21.6073581142244 | etot = -16.5530492931303 +743000 ekin = 3.04809185048074 | erot = 2.29122955891137 | epot = -21.621784420587 | etot = -16.2824630111949 +744000 ekin = 2.98636530702449 | erot = 2.18551221916311 | epot = -21.6006673772006 | etot = -16.428789851013 +745000 ekin = 2.92324621087507 | erot = 2.67370319519972 | epot = -21.5479250866168 | etot = -15.950975680542 +746000 ekin = 2.81108840832449 | erot = 2.60039332109235 | epot = -21.4880495112526 | etot = -16.0765677818358 +747000 ekin = 2.67991382739574 | erot = 2.55252994490165 | epot = -21.4304230755336 | etot = -16.1979793032362 +748000 ekin = 2.53045428101843 | erot = 2.2495073629404 | epot = -21.3737230667376 | etot = -16.5937614227788 +749000 ekin = 2.4521893183738 | erot = 2.14663919598189 | epot = -21.3068166295675 | etot = -16.7079881152118 +750000 ekin = 2.43997409031382 | erot = 2.12137765598068 | epot = -21.2605139231808 | etot = -16.6991621768863 +751000 ekin = 2.39722500832658 | erot = 1.84714049259511 | epot = -21.224520454873 | etot = -16.9801549539513 +752000 ekin = 2.37942582094574 | erot = 1.94578907645454 | epot = -21.2018614145335 | etot = -16.8766465171332 +753000 ekin = 2.28406990648596 | erot = 2.197225255846 | epot = -21.2075024607037 | etot = -16.7262072983717 +754000 ekin = 2.17408286982644 | erot = 2.09839079215051 | epot = -21.2133775747239 | etot = -16.940903912747 +755000 ekin = 2.20136426888663 | erot = 2.2406707957933 | epot = -21.2335060459118 | etot = -16.7914709812319 +756000 ekin = 2.1284426091314 | erot = 2.75005545693648 | epot = -21.2581599852216 | etot = -16.3796619191537 +757000 ekin = 2.25743819675579 | erot = 2.52018349756316 | epot = -21.2980084121414 | etot = -16.5203867178225 +758000 ekin = 2.27601870393359 | erot = 2.5755921466063 | epot = -21.3386893542482 | etot = -16.4870785037083 +759000 ekin = 2.36164379748129 | erot = 2.34149147167517 | epot = -21.3861537164023 | etot = -16.6830184472459 +760000 ekin = 2.46751181779574 | erot = 2.29440108117585 | epot = -21.4502954100428 | etot = -16.6883825110713 +761000 ekin = 2.56117979243454 | erot = 2.28528133130908 | epot = -21.5440902713619 | etot = -16.6976291476183 +762000 ekin = 2.73403817269076 | erot = 2.05037676089394 | epot = -21.6655284682356 | etot = -16.881113534651 +763000 ekin = 2.89028863280026 | erot = 1.96997057412364 | epot = -21.7985105959422 | etot = -16.9382513890183 +764000 ekin = 3.07961097461013 | erot = 1.90337686517649 | epot = -21.9231959994997 | etot = -16.9402081597131 +765000 ekin = 3.10823123780442 | erot = 1.87663540264887 | epot = -22.0019892323023 | etot = -17.017122591849 +766000 ekin = 3.06909048295622 | erot = 2.19611166095449 | epot = -22.0456827970015 | etot = -16.7804806530908 +767000 ekin = 2.95314668625032 | erot = 2.25238187251628 | epot = -22.0265415483729 | etot = -16.8210129896063 +768000 ekin = 2.82146820632435 | erot = 2.14933629194888 | epot = -21.9729916913491 | etot = -17.0021871930759 +769000 ekin = 2.77603784528996 | erot = 1.90506312419816 | epot = -21.892293283993 | etot = -17.2111923145049 +770000 ekin = 2.78938661934792 | erot = 1.68105737595288 | epot = -21.799863534568 | etot = -17.3294195392672 +771000 ekin = 2.69423677840416 | erot = 1.66016415121808 | epot = -21.7233415289995 | etot = -17.3689405993773 +772000 ekin = 2.47513570113015 | erot = 1.55323249560273 | epot = -21.6442608053663 | etot = -17.6158926086334 +773000 ekin = 2.31141180852011 | erot = 1.521177135233 | epot = -21.5669030975225 | etot = -17.7343141537694 +774000 ekin = 2.17520959919718 | erot = 1.42853024205637 | epot = -21.5199609482921 | etot = -17.9162211070385 +775000 ekin = 2.04944703670454 | erot = 1.48494648755665 | epot = -21.528093327263 | etot = -17.9936998030018 +776000 ekin = 1.92108310791733 | erot = 1.66205812928448 | epot = -21.5590874070444 | etot = -17.9759461698426 +777000 ekin = 1.71219857932787 | erot = 1.81255070842967 | epot = -21.5756405048093 | etot = -18.0508912170518 +778000 ekin = 1.64975190369133 | erot = 1.77693127539902 | epot = -21.6017623261212 | etot = -18.1750791470308 +779000 ekin = 1.48106773483733 | erot = 1.73996737730546 | epot = -21.6271500213887 | etot = -18.4061149092459 +780000 ekin = 1.421154751897 | erot = 1.92486733092772 | epot = -21.6544636605777 | etot = -18.308441577753 +781000 ekin = 1.45929388158655 | erot = 2.37782097649985 | epot = -21.6537823170126 | etot = -17.8166674589262 +782000 ekin = 1.41005089049943 | erot = 2.64330507296429 | epot = -21.6242214819651 | etot = -17.5708655185014 +783000 ekin = 1.48665806788364 | erot = 2.2551551458972 | epot = -21.6087091715117 | etot = -17.8668959577309 +784000 ekin = 1.51747380423291 | erot = 1.88850072498565 | epot = -21.5108011603796 | etot = -18.104826631161 +785000 ekin = 1.54947682048269 | erot = 1.86706119579391 | epot = -21.3875221209817 | etot = -17.9709841047051 +786000 ekin = 1.54716158992394 | erot = 1.85630977678419 | epot = -21.2539376526403 | etot = -17.8504662859322 +787000 ekin = 1.62670511458663 | erot = 1.68010954051076 | epot = -21.1236984428165 | etot = -17.8168837877191 +788000 ekin = 1.71061295763359 | erot = 1.48079461940025 | epot = -21.0260161605707 | etot = -17.8346085835368 +789000 ekin = 1.75916840317588 | erot = 1.50945935318381 | epot = -21.0009620101458 | etot = -17.7323342537861 +790000 ekin = 1.8174567271449 | erot = 1.42634706359387 | epot = -20.9943086861151 | etot = -17.7505048953764 +791000 ekin = 1.94362771134128 | erot = 1.56573593007327 | epot = -21.0261698907268 | etot = -17.5168062493123 +792000 ekin = 2.04975276454239 | erot = 1.57988802147767 | epot = -21.0770336678104 | etot = -17.4473928817903 +793000 ekin = 2.17271315800351 | erot = 1.66062406864789 | epot = -21.1162570840036 | etot = -17.2829198573522 +794000 ekin = 2.13334157803654 | erot = 1.76445873405416 | epot = -21.1513206879656 | etot = -17.2535203758749 +795000 ekin = 2.13601408983627 | erot = 1.8111607883192 | epot = -21.1807545548915 | etot = -17.233579676736 +796000 ekin = 2.17221625803756 | erot = 1.84884046113895 | epot = -21.2058704683363 | etot = -17.1848137491598 +797000 ekin = 2.14637210530451 | erot = 2.21749811105555 | epot = -21.2529195044657 | etot = -16.8890492881057 +798000 ekin = 2.1595764262584 | erot = 2.29275394485819 | epot = -21.2708923889551 | etot = -16.8185620178386 +799000 ekin = 2.08753769092936 | erot = 2.48223892350034 | epot = -21.2988770573756 | etot = -16.7291004429459 +800000 ekin = 2.10166063621261 | erot = 2.30451589147721 | epot = -21.3357063804168 | etot = -16.929529852727 +801000 ekin = 1.98982068448267 | erot = 2.31496031357917 | epot = -21.3630439256795 | etot = -17.0582629276177 +802000 ekin = 1.88852653962923 | erot = 2.53585639899759 | epot = -21.4221529007417 | etot = -16.9977699621148 +803000 ekin = 1.864948997027 | erot = 2.51258933602245 | epot = -21.5138216867267 | etot = -17.1362833536772 +804000 ekin = 1.83485043700218 | erot = 2.73777283234846 | epot = -21.6067538814712 | etot = -17.0341306121205 +805000 ekin = 1.89569263744108 | erot = 2.82042555409451 | epot = -21.7141010846681 | etot = -16.9979828931325 +806000 ekin = 2.0359895439272 | erot = 2.98358468485799 | epot = -21.8550274116345 | etot = -16.8354531828493 +807000 ekin = 2.09814069227237 | erot = 2.81323193536483 | epot = -21.982732578034 | etot = -17.0713599503968 +808000 ekin = 2.11462770272961 | erot = 2.49693470536654 | epot = -22.0688650799844 | etot = -17.4573026718882 +809000 ekin = 2.13890385092021 | erot = 2.65117639911353 | epot = -22.1082573604103 | etot = -17.3181771103766 +810000 ekin = 2.15577455258838 | erot = 2.56739189056116 | epot = -22.0870651879662 | etot = -17.3638987448167 +811000 ekin = 2.17521477004717 | erot = 2.59273676449839 | epot = -22.0068576171896 | etot = -17.2389060826441 +812000 ekin = 2.21382110826674 | erot = 2.28331903732698 | epot = -21.9221481456803 | etot = -17.4250080000866 +813000 ekin = 2.23606377538011 | erot = 2.06676286322574 | epot = -21.8452254459267 | etot = -17.5423988073208 +814000 ekin = 2.31218669650381 | erot = 2.21982956647001 | epot = -21.7734705593994 | etot = -17.2414542964256 +815000 ekin = 2.26166132057918 | erot = 2.05343829873186 | epot = -21.7104605671137 | etot = -17.3953609478027 +816000 ekin = 2.29922240841952 | erot = 1.78921729996983 | epot = -21.673177295008 | etot = -17.5847375866187 +817000 ekin = 2.2854665071831 | erot = 1.7599434175785 | epot = -21.6545632782239 | etot = -17.6091533534623 +818000 ekin = 2.21513678285481 | erot = 1.78656435337603 | epot = -21.6636032884049 | etot = -17.6619021521741 +819000 ekin = 2.27391440988989 | erot = 1.82930333148455 | epot = -21.7137466609637 | etot = -17.6105289195893 +820000 ekin = 2.24282091294454 | erot = 1.73998445300775 | epot = -21.8023021191166 | etot = -17.8194967531643 +821000 ekin = 2.19192382316403 | erot = 2.0989386313738 | epot = -21.9355239556901 | etot = -17.6446615011523 +822000 ekin = 2.231078749125 | erot = 2.41397800350102 | epot = -22.0937718271944 | etot = -17.4487150745684 +823000 ekin = 2.18728871634505 | erot = 2.89300153500215 | epot = -22.2549565567124 | etot = -17.1746663053652 +824000 ekin = 2.09269007791821 | erot = 3.32774437375283 | epot = -22.4116674984377 | etot = -16.9912330467666 +825000 ekin = 2.02686183028597 | erot = 3.16127293746735 | epot = -22.5058824787882 | etot = -17.3177477110349 +826000 ekin = 2.03054435558016 | erot = 3.10016450783391 | epot = -22.5168374475926 | etot = -17.3861285841785 +827000 ekin = 2.0145241039294 | erot = 2.84123064216301 | epot = -22.4710810828114 | etot = -17.615326336719 +828000 ekin = 1.90238312904223 | erot = 2.71042154497583 | epot = -22.3794911074955 | etot = -17.7666864334774 +829000 ekin = 1.90418220366947 | erot = 2.69477669052598 | epot = -22.2643157201658 | etot = -17.6653568259704 +830000 ekin = 1.81997341684319 | erot = 2.5447850574763 | epot = -22.1272898430371 | etot = -17.7625313687176 +831000 ekin = 1.83168283006275 | erot = 2.11677888813413 | epot = -22.0163067804204 | etot = -18.0678450622236 +832000 ekin = 1.95186197623527 | erot = 2.17410981396393 | epot = -21.9377902835798 | etot = -17.8118184933806 +833000 ekin = 2.02730820338456 | erot = 1.91567543746849 | epot = -21.8853858637296 | etot = -17.9424022228766 +834000 ekin = 2.14966587630706 | erot = 1.87948738398703 | epot = -21.8918169629541 | etot = -17.8626637026601 +835000 ekin = 2.11991706021007 | erot = 1.80545414551881 | epot = -21.9417230794068 | etot = -18.016351873678 +836000 ekin = 2.16450787990255 | erot = 1.56947066595273 | epot = -22.0176370617292 | etot = -18.2836585158739 +837000 ekin = 2.22942308740213 | erot = 1.72466381535966 | epot = -22.0834662658142 | etot = -18.1293793630524 +838000 ekin = 2.33805060269866 | erot = 2.18496998632888 | epot = -22.1577664107317 | etot = -17.6347458217042 +839000 ekin = 2.4577627051558 | erot = 2.34137207492887 | epot = -22.2345011792195 | etot = -17.4353663991348 +840000 ekin = 2.4408859701061 | erot = 2.20193516257624 | epot = -22.3102615213262 | etot = -17.6674403886438 +841000 ekin = 2.52217561151239 | erot = 2.11119786335641 | epot = -22.4106870083823 | etot = -17.7773135335135 +842000 ekin = 2.53177717032708 | erot = 2.03329546380491 | epot = -22.5051884058713 | etot = -17.9401157717393 +843000 ekin = 2.46981084627163 | erot = 2.26208096486898 | epot = -22.6073969437417 | etot = -17.8755051326011 +844000 ekin = 2.53343392638537 | erot = 2.26231111168032 | epot = -22.6930988517866 | etot = -17.8973538137209 +845000 ekin = 2.55237006837693 | erot = 2.51402635295012 | epot = -22.7449813491075 | etot = -17.6785849277805 +846000 ekin = 2.43591378572747 | erot = 2.18244993014987 | epot = -22.7598171984303 | etot = -18.1414534825529 +847000 ekin = 2.47489280739527 | erot = 2.44850012169225 | epot = -22.7352494455244 | etot = -17.8118565164369 +848000 ekin = 2.56433574545226 | erot = 2.34872816436964 | epot = -22.6736999531278 | etot = -17.7606360433059 +849000 ekin = 2.59586448024853 | erot = 2.2652949780479 | epot = -22.5710185702837 | etot = -17.7098591119873 +850000 ekin = 2.49039613324366 | erot = 2.08374957064521 | epot = -22.4628543871474 | etot = -17.8887086832586 +851000 ekin = 2.48848828005073 | erot = 2.1504397370545 | epot = -22.3616397400165 | etot = -17.7227117229112 +852000 ekin = 2.50477194373625 | erot = 2.31551148311429 | epot = -22.2794107361279 | etot = -17.4591273092774 +853000 ekin = 2.48988722576781 | erot = 2.37905944195178 | epot = -22.2174467488413 | etot = -17.3485000811217 +854000 ekin = 2.48068473577069 | erot = 2.18215338513721 | epot = -22.1954265386904 | etot = -17.5325884177825 +855000 ekin = 2.36041825080301 | erot = 2.14907471345967 | epot = -22.229814016814 | etot = -17.7203210525513 +856000 ekin = 2.41735820368112 | erot = 2.28663399372954 | epot = -22.3010603003025 | etot = -17.5970681028918 +857000 ekin = 2.30380534498035 | erot = 2.28079843394969 | epot = -22.3899957816153 | etot = -17.8053920026852 +858000 ekin = 2.32374915951128 | erot = 2.52586913415202 | epot = -22.4777730735044 | etot = -17.6281547798411 +859000 ekin = 2.36194825640362 | erot = 2.27489572175793 | epot = -22.5497050266214 | etot = -17.9128610484599 +860000 ekin = 2.29676205732791 | erot = 2.83889891466404 | epot = -22.6025698957187 | etot = -17.4669089237267 +861000 ekin = 2.2116102131386 | erot = 2.99481322410894 | epot = -22.629924563885 | etot = -17.4235011266375 +862000 ekin = 2.2183818372621 | erot = 3.2500051060616 | epot = -22.6168976032126 | etot = -17.1485106598888 +863000 ekin = 2.13571465170696 | erot = 3.00165601774444 | epot = -22.5766345837817 | etot = -17.4392639143303 +864000 ekin = 2.17821492819518 | erot = 3.24144192927487 | epot = -22.5094500698139 | etot = -17.0897932123439 +865000 ekin = 2.12870821452427 | erot = 3.22322665201242 | epot = -22.4134082795113 | etot = -17.0614734129746 +866000 ekin = 2.03423896587968 | erot = 2.41447107774416 | epot = -22.3090528921738 | etot = -17.8603428485499 +867000 ekin = 1.97183886889137 | erot = 2.48184160436842 | epot = -22.2021182647476 | etot = -17.7484377914878 +868000 ekin = 1.91308044020404 | erot = 2.24650208042639 | epot = -22.1047137256861 | etot = -17.9451312050556 +869000 ekin = 1.86185635878425 | erot = 2.19298136311335 | epot = -22.0509375705499 | etot = -17.9960998486523 +870000 ekin = 1.75992459606837 | erot = 2.27547409061146 | epot = -22.0117595888703 | etot = -17.9763609021905 +871000 ekin = 1.72178818046697 | erot = 1.96572150785531 | epot = -21.9802199744919 | etot = -18.2927102861696 +872000 ekin = 1.66903556580781 | erot = 1.93794167823874 | epot = -21.9603990023827 | etot = -18.3534217583362 +873000 ekin = 1.64894346626438 | erot = 1.88450940280994 | epot = -21.9681555430983 | etot = -18.434702674024 +874000 ekin = 1.57135406761308 | erot = 1.94741453396443 | epot = -21.9765853859781 | etot = -18.4578167844006 +875000 ekin = 1.59516741268916 | erot = 2.2315729779776 | epot = -21.9920927279222 | etot = -18.1653523372555 +876000 ekin = 1.50206798403357 | erot = 2.57780068625255 | epot = -22.0050475608075 | etot = -17.9251788905214 +877000 ekin = 1.52015373136843 | erot = 2.2843716369875 | epot = -22.0218254393279 | etot = -18.217300070972 +878000 ekin = 1.53387227783115 | erot = 2.27517376879632 | epot = -22.0464155341917 | etot = -18.2373694875642 +879000 ekin = 1.55669077534447 | erot = 2.3756587781102 | epot = -22.062973657109 | etot = -18.1306241036543 +880000 ekin = 1.60508011630073 | erot = 2.26195551636665 | epot = -22.0724613924584 | etot = -18.205425759791 +881000 ekin = 1.6255817800637 | erot = 2.31792675005685 | epot = -22.0658818657201 | etot = -18.1223733355995 +882000 ekin = 1.61449109588179 | erot = 2.44866007965501 | epot = -22.0469024278369 | etot = -17.9837512523001 +883000 ekin = 1.63091904235009 | erot = 2.18398402433298 | epot = -22.0252651066255 | etot = -18.2103620399425 +884000 ekin = 1.69681929338606 | erot = 2.21165212418229 | epot = -21.974538546393 | etot = -18.0660671288247 +885000 ekin = 1.75683241806792 | erot = 2.08331167107024 | epot = -21.8927725348209 | etot = -18.0526284456827 +886000 ekin = 1.75713708681646 | erot = 1.80115910431459 | epot = -21.826515750348 | etot = -18.268219559217 +887000 ekin = 1.84458649763984 | erot = 1.66553699702637 | epot = -21.7661815209402 | etot = -18.256058026274 +888000 ekin = 1.88680036415698 | erot = 1.72065200162268 | epot = -21.7110459690317 | etot = -18.1035936032521 +889000 ekin = 1.92232221960089 | erot = 1.56101057590113 | epot = -21.6536565424971 | etot = -18.1703237469951 +890000 ekin = 2.022841033779 | erot = 1.31029028744447 | epot = -21.5930522300752 | etot = -18.2599209088518 +891000 ekin = 2.02442701619092 | erot = 1.42067034503705 | epot = -21.5472191599557 | etot = -18.1021217987277 +892000 ekin = 2.03626775806652 | erot = 1.66316771076554 | epot = -21.5129190017506 | etot = -17.8134835329186 +893000 ekin = 2.05186124624806 | erot = 1.5752716113925 | epot = -21.4921943128918 | etot = -17.8650614552512 +894000 ekin = 2.09965074001054 | erot = 1.56560345394424 | epot = -21.4743969884815 | etot = -17.8091427945267 +895000 ekin = 2.16252772919142 | erot = 1.54647539834669 | epot = -21.4549689326413 | etot = -17.7459658051031 +896000 ekin = 2.10489706554183 | erot = 1.78263133107129 | epot = -21.4330314423343 | etot = -17.5455030457212 +897000 ekin = 2.15073147494821 | erot = 1.74536300046879 | epot = -21.4239119831847 | etot = -17.5278175077677 +898000 ekin = 2.21697995910577 | erot = 2.0697876586941 | epot = -21.4471718071731 | etot = -17.1604041893732 +899000 ekin = 2.33779396143598 | erot = 2.00733840871183 | epot = -21.4839889813096 | etot = -17.1388566111618 +900000 ekin = 2.41597591914443 | erot = 1.85133754557128 | epot = -21.5274273367608 | etot = -17.2601138720451 +901000 ekin = 2.52644082939946 | erot = 2.19280268194132 | epot = -21.5756266105074 | etot = -16.8563830991666 +902000 ekin = 2.51043073712952 | erot = 1.85686816359505 | epot = -21.6063552107204 | etot = -17.2390563099959 +903000 ekin = 2.6254801850032 | erot = 1.94554509677337 | epot = -21.6466830430368 | etot = -17.0756577612602 +904000 ekin = 2.68604865641952 | erot = 1.82230313014683 | epot = -21.7065646613497 | etot = -17.1982128747834 +905000 ekin = 2.83060251059713 | erot = 2.01697139484873 | epot = -21.7613929111655 | etot = -16.9138190057197 +906000 ekin = 2.94848642766326 | erot = 1.99957930227816 | epot = -21.7999060542926 | etot = -16.8518403243511 +907000 ekin = 2.88672419291329 | erot = 2.19624352905733 | epot = -21.8240702621865 | etot = -16.7411025402159 +908000 ekin = 2.91368680910739 | erot = 2.27525981289754 | epot = -21.8626935205284 | etot = -16.6737468985235 +909000 ekin = 3.0399311133842 | erot = 2.4181338660187 | epot = -21.8797361081397 | etot = -16.4216711287368 +910000 ekin = 3.02111394144684 | erot = 2.25653445757737 | epot = -21.8869501318906 | etot = -16.6093017328664 +911000 ekin = 2.99074440602977 | erot = 2.42571768981063 | epot = -21.8911591932149 | etot = -16.4746970973745 +912000 ekin = 2.9388350389882 | erot = 2.54048734112232 | epot = -21.8943632676177 | etot = -16.4150408875072 +913000 ekin = 2.88155815219754 | erot = 2.43333021308748 | epot = -21.8712405715108 | etot = -16.5563522062257 +914000 ekin = 2.78298688987958 | erot = 2.69976035391025 | epot = -21.8286041753386 | etot = -16.3458569315488 +915000 ekin = 2.7514400944916 | erot = 2.66679831130742 | epot = -21.7506323099744 | etot = -16.3323939041754 +916000 ekin = 2.72328856812533 | erot = 2.53216922557983 | epot = -21.6421731788437 | etot = -16.3867153851385 +917000 ekin = 2.69768821710611 | erot = 2.47439052917339 | epot = -21.5733596386745 | etot = -16.401280892395 +918000 ekin = 2.66995818672158 | erot = 2.09882686301133 | epot = -21.5521619505363 | etot = -16.7833769008034 +919000 ekin = 2.61716147205238 | erot = 2.17918504384224 | epot = -21.5346780530114 | etot = -16.7383315371168 +920000 ekin = 2.4752636050952 | erot = 2.51685127690442 | epot = -21.4991402053986 | etot = -16.507025323399 +921000 ekin = 2.47056876817998 | erot = 2.49255863309435 | epot = -21.4619591744662 | etot = -16.4988317731919 +922000 ekin = 2.58423659960655 | erot = 2.61648914398982 | epot = -21.4156116153633 | etot = -16.2148858717669 +923000 ekin = 2.49375353890865 | erot = 2.67153957254788 | epot = -21.4001146688765 | etot = -16.2348215574199 +924000 ekin = 2.44602138611864 | erot = 2.6849871570182 | epot = -21.4057397221907 | etot = -16.2747311790539 +925000 ekin = 2.40338846624006 | erot = 3.00424602709663 | epot = -21.4434811046204 | etot = -16.0358466112837 +926000 ekin = 2.47488592872435 | erot = 3.17529768125875 | epot = -21.5232565657781 | etot = -15.873072955795 +927000 ekin = 2.40301595960232 | erot = 3.17662851484981 | epot = -21.6300583966372 | etot = -16.050413922185 +928000 ekin = 2.44990005675411 | erot = 3.45632999664445 | epot = -21.7790682902906 | etot = -15.872838236892 +929000 ekin = 2.56646836803309 | erot = 3.14534753938437 | epot = -21.9043533033891 | etot = -16.1925373959717 +930000 ekin = 2.53471244466888 | erot = 3.3457187787957 | epot = -21.9769628203937 | etot = -16.0965315969291 +931000 ekin = 2.50104812028235 | erot = 3.03046410574105 | epot = -22.0056915593073 | etot = -16.4741793332839 +932000 ekin = 2.49568433462376 | erot = 2.88794958693756 | epot = -21.9962407011233 | etot = -16.612606779562 +933000 ekin = 2.38321005751951 | erot = 2.81796519585765 | epot = -21.9635224592426 | etot = -16.7623472058655 +934000 ekin = 2.46317933029144 | erot = 2.48085702084566 | epot = -21.9076116702184 | etot = -16.9635753190813 +935000 ekin = 2.494042694389 | erot = 2.26805014218364 | epot = -21.8352758876529 | etot = -17.0731830510803 +936000 ekin = 2.5430697132387 | erot = 2.27852041735828 | epot = -21.7446317199061 | etot = -16.9230415893091 +937000 ekin = 2.53788333247346 | erot = 2.23194591805574 | epot = -21.6534356613621 | etot = -16.8836064108329 +938000 ekin = 2.56958704064571 | erot = 2.22382492410293 | epot = -21.6129100017685 | etot = -16.8194980370198 +939000 ekin = 2.57422838457721 | erot = 2.07923538706594 | epot = -21.6279254714879 | etot = -16.9744616998447 +940000 ekin = 2.60491982052062 | erot = 1.98992236153729 | epot = -21.6750092612153 | etot = -17.0801670791574 +941000 ekin = 2.66373355701793 | erot = 2.32917490630082 | epot = -21.764370163331 | etot = -16.7714617000123 +942000 ekin = 2.69288932722118 | erot = 2.640619275087 | epot = -21.8851511920185 | etot = -16.5516425897103 +943000 ekin = 2.85220624426593 | erot = 2.6475855859485 | epot = -22.0439788566384 | etot = -16.544187026424 +944000 ekin = 3.0698183844293 | erot = 2.584326500339 | epot = -22.1868426785132 | etot = -16.5326977937449 +945000 ekin = 3.11977740266063 | erot = 2.7604705229242 | epot = -22.3020466458578 | etot = -16.421798720273 +946000 ekin = 3.19652619014303 | erot = 2.60532859032606 | epot = -22.3840876069666 | etot = -16.5822328264975 +947000 ekin = 3.08784085528995 | erot = 2.30512601523234 | epot = -22.4409982051653 | etot = -17.048031334643 +948000 ekin = 3.07667922739837 | erot = 2.80704322134879 | epot = -22.4646638948264 | etot = -16.5809414460792 +949000 ekin = 3.17062900635953 | erot = 2.74445638705353 | epot = -22.4206065116941 | etot = -16.505521118281 +950000 ekin = 2.99689212844042 | erot = 2.86552970257342 | epot = -22.336181645013 | etot = -16.4737598139991 +951000 ekin = 2.97085887473051 | erot = 2.98485442072158 | epot = -22.2080335641941 | etot = -16.252320268742 +952000 ekin = 2.88426317548639 | erot = 2.88099001925752 | epot = -22.0862048891001 | etot = -16.3209516943562 +953000 ekin = 2.79821947299194 | erot = 2.79125510393654 | epot = -21.9697259248555 | etot = -16.380251347927 +954000 ekin = 2.75832450886912 | erot = 2.42390666106202 | epot = -21.8712203511705 | etot = -16.6889891812394 +955000 ekin = 2.87942571582949 | erot = 2.62352115358357 | epot = -21.7827306606127 | etot = -16.2797837911997 +956000 ekin = 2.99654896256508 | erot = 2.37509995935524 | epot = -21.7003789778445 | etot = -16.3287300559242 +957000 ekin = 3.01075252014519 | erot = 2.0959903323954 | epot = -21.6228190260864 | etot = -16.5160761735458 +958000 ekin = 3.08956507051393 | erot = 2.10771389670703 | epot = -21.5884599129528 | etot = -16.3911809457318 +959000 ekin = 3.07649935611857 | erot = 2.19950747705674 | epot = -21.608299575745 | etot = -16.3322927425697 +960000 ekin = 3.10536584557336 | erot = 2.29678872673574 | epot = -21.6407886898389 | etot = -16.2386341175298 +961000 ekin = 3.15824288797258 | erot = 2.14027743718263 | epot = -21.6571494232644 | etot = -16.3586290981092 +962000 ekin = 3.14297945524716 | erot = 2.20585989326466 | epot = -21.6669948660151 | etot = -16.3181555175033 +963000 ekin = 3.09592787201201 | erot = 1.84946957131998 | epot = -21.6592309502122 | etot = -16.7138335068802 +964000 ekin = 3.09941791328147 | erot = 2.05420199745758 | epot = -21.6348571714205 | etot = -16.4812372606815 +965000 ekin = 3.0590978002562 | erot = 2.03923495471246 | epot = -21.5780802205105 | etot = -16.4797474655419 +966000 ekin = 3.14454176510568 | erot = 2.08245540621284 | epot = -21.4998250637726 | etot = -16.2728278924541 +967000 ekin = 3.03869206876045 | erot = 1.99551102271526 | epot = -21.4455121298548 | etot = -16.4113090383791 +968000 ekin = 2.91377375855351 | erot = 2.20122833628372 | epot = -21.4117922551797 | etot = -16.2967901603425 +969000 ekin = 2.99132330213163 | erot = 2.47698235897901 | epot = -21.356556122341 | etot = -15.8882504612304 +970000 ekin = 2.95925005680405 | erot = 2.48694698427801 | epot = -21.3051309670823 | etot = -15.8589339260003 +971000 ekin = 2.85605976500569 | erot = 2.1530873115416 | epot = -21.2711653081509 | etot = -16.2620182316036 +972000 ekin = 2.87454972615782 | erot = 2.2162227007048 | epot = -21.2533681597902 | etot = -16.1625957329276 +973000 ekin = 2.82721122527838 | erot = 2.35000163924771 | epot = -21.2327108232255 | etot = -16.0554979586994 +974000 ekin = 2.72683175865821 | erot = 2.83125023318122 | epot = -21.2149243536637 | etot = -15.6568423618242 +975000 ekin = 2.7058821636302 | erot = 2.49368474281296 | epot = -21.1936492280793 | etot = -15.9940823216362 +976000 ekin = 2.70041722750245 | erot = 2.45741362546316 | epot = -21.187275504801 | etot = -16.0294446518354 +977000 ekin = 2.5945783600864 | erot = 2.48585482647506 | epot = -21.1832960991299 | etot = -16.1028629125685 +978000 ekin = 2.59433384768146 | erot = 2.25685298850986 | epot = -21.1912738457586 | etot = -16.3400870095673 +979000 ekin = 2.65907339789597 | erot = 2.14939269259699 | epot = -21.2277961745875 | etot = -16.4193300840946 +980000 ekin = 2.6800258272481 | erot = 2.14623475911376 | epot = -21.2888425661003 | etot = -16.4625819797384 +981000 ekin = 2.64198792972579 | erot = 2.09278957349386 | epot = -21.3758129934798 | etot = -16.6410354902601 +982000 ekin = 2.72135605208941 | erot = 2.10484266920753 | epot = -21.469578829443 | etot = -16.6433801081461 +983000 ekin = 2.63994960139807 | erot = 2.23278066526168 | epot = -21.5361373723972 | etot = -16.6634071057375 +984000 ekin = 2.61481848524905 | erot = 2.09640066338756 | epot = -21.5563728487098 | etot = -16.8451537000732 +985000 ekin = 2.61123661404095 | erot = 2.3371171115187 | epot = -21.5280304280228 | etot = -16.5796767024632 +986000 ekin = 2.53166588529896 | erot = 2.51414944396533 | epot = -21.4598136655137 | etot = -16.4139983362494 +987000 ekin = 2.51681610277252 | erot = 2.1560100013963 | epot = -21.3682813084315 | etot = -16.6954552042626 +988000 ekin = 2.52900907479865 | erot = 1.99810184774731 | epot = -21.2423979763254 | etot = -16.7152870537794 +989000 ekin = 2.46743393431882 | erot = 2.1761264782121 | epot = -21.1081947595191 | etot = -16.4646343469882 +990000 ekin = 2.33679166273175 | erot = 2.21492463068876 | epot = -20.9584920898951 | etot = -16.4067757964745 +991000 ekin = 2.15649617938395 | erot = 2.10512589255934 | epot = -20.8223518284059 | etot = -16.5607297564626 +992000 ekin = 2.16667762000927 | erot = 2.36721990012083 | epot = -20.7043891749962 | etot = -16.1704916548661 +993000 ekin = 2.19208440550362 | erot = 2.60766896726695 | epot = -20.6167811931571 | etot = -15.8170278203865 +994000 ekin = 2.24324320799042 | erot = 2.72045204046636 | epot = -20.5394560680998 | etot = -15.5757608196431 +995000 ekin = 2.30218249346891 | erot = 2.38815652338748 | epot = -20.5055629227556 | etot = -15.8152239058992 +996000 ekin = 2.42068208522236 | erot = 2.25149887670444 | epot = -20.5308517273634 | etot = -15.8586707654366 +997000 ekin = 2.40906609277991 | erot = 2.62359663392162 | epot = -20.6100670630842 | etot = -15.5774043363827 +998000 ekin = 2.47036155438533 | erot = 2.72144206830377 | epot = -20.7420376418526 | etot = -15.5502340191635 +999000 ekin = 2.48386726649674 | erot = 3.06416174290219 | epot = -20.8948468865809 | etot = -15.346817877182 +1000000 ekin = 2.67285546610894 | erot = 3.25707361502004 | epot = -21.0717432309422 | etot = -15.1418141498132 + 1000000 0.11879358 -1.3439085 0.026924568 -1.1499305 -8.5339515e-05 64000 +Loop time of 31.185 on 4 procs for 1000000 steps with 16 atoms + +Performance: 27705.600 tau/day, 32066.666 timesteps/s +96.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 | 14.443 | 16.691 | 18.812 | 49.1 | 53.52 +Bond | 0.41614 | 0.53705 | 0.60987 | 10.2 | 1.72 +Neigh | 0.026099 | 0.026141 | 0.02616 | 0.0 | 0.08 +Comm | 3.8806 | 4.0753 | 4.3197 | 8.3 | 13.07 +Output | 0.15586 | 0.15985 | 0.16634 | 1.0 | 0.51 +Modify | 1.5962 | 1.8782 | 2.1413 | 17.6 | 6.02 +Other | | 7.818 | | | 25.07 + +Nlocal: 4.00000 ave 5 max 3 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Nghost: 12.0000 ave 13 max 11 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Neighs: 48.5000 ave 58 max 39 min +Histogram: 2 0 0 0 0 0 0 0 0 2 + +Total # of neighbors = 194 +Ave neighs/atom = 12.125000 +Ave special neighs/atom = 3.7500000 +Neighbor list builds = 1000 +Dangerous builds = 0 + +write_data last_config.${number}.* nocoeff +write_data last_config.2.* nocoeff +System init for write_data ... +Total wall time: 0:00:31 diff --git a/examples/PACKAGES/cgdna/examples/oxDNA/duplex2/log.30Jun20.duplex2.g++.1 b/examples/PACKAGES/cgdna/examples/oxDNA/duplex2/log.30Jun20.duplex2.g++.1 deleted file mode 100644 index f030e0f93c..0000000000 --- a/examples/PACKAGES/cgdna/examples/oxDNA/duplex2/log.30Jun20.duplex2.g++.1 +++ /dev/null @@ -1,1176 +0,0 @@ -LAMMPS (30 Jun 2020) -variable number equal 2 -variable ofreq equal 1000 -variable efreq equal 1000 -variable T equal 0.1 - -units lj - -dimension 3 - -newton off - -boundary p p p - -atom_style hybrid bond ellipsoid -WARNING: Atom_style hybrid defines both pertype and peratom masses - both must be set, only peratom masses will be used (../atom_vec_hybrid.cpp:156) -atom_modify sort 0 1.0 - -# Pair interactions require lists of neighbours to be calculated -neighbor 1.0 bin -neigh_modify every 1 delay 0 check yes - -read_data data.duplex2 - orthogonal box = (-20 -20 -20) to (20 20 20) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 16 atoms - reading velocities ... - 16 velocities - 16 ellipsoids - scanning bonds ... - 2 = max bonds/atom - reading bonds ... - 13 bonds - 2 = max # of 1-2 neighbors - 2 = max # of 1-3 neighbors - 4 = max # of 1-4 neighbors - 6 = max # of special neighbors - special bonds CPU = 0.000 seconds - read_data CPU = 0.002 seconds - -set atom * mass 3.1575 - 16 settings made for mass - -group all type 1 4 -16 atoms in group all - -# oxDNA bond interactions - FENE backbone -bond_style oxdna/fene -bond_coeff * 2.0 0.25 0.7525 -special_bonds lj 0 1 1 - 2 = max # of 1-2 neighbors - 2 = max # of 1-3 neighbors - 4 = max # of 1-4 neighbors - 6 = max # of special neighbors - special bonds CPU = 0.000 seconds - -# oxDNA pair interactions -pair_style hybrid/overlay oxdna/excv oxdna/stk oxdna/hbond oxdna/xstk oxdna/coaxstk -pair_coeff * * oxdna/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32 -pair_coeff * * oxdna/stk seqav ${T} 1.3448 2.6568 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 -pair_coeff * * oxdna/stk seqav 0.1 1.3448 2.6568 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 -pair_coeff * * oxdna/hbond seqav 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 1 4 oxdna/hbond seqav 1.077 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 2 3 oxdna/hbond seqav 1.077 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff * * oxdna/xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68 -pair_coeff * * oxdna/coaxstk 46.0 0.4 0.6 0.22 0.58 2.0 2.541592653589793 0.65 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 -0.65 2.0 -0.65 - -# NVE ensemble -#fix 1 all nve/dot -#fix 1 all nve/dotc/langevin ${T} ${T} 0.03 457145 angmom 10 -fix 1 all nve/asphere -fix 2 all langevin ${T} ${T} 0.03 457145 angmom 10 -fix 2 all langevin 0.1 ${T} 0.03 457145 angmom 10 -fix 2 all langevin 0.1 0.1 0.03 457145 angmom 10 - -timestep 1e-5 - -#comm_style tiled -#fix 3 all balance 10000 1.1 rcb -comm_modify cutoff 2.5 - -#compute mol all chunk/atom molecule -#compute mychunk all vcm/chunk mol -#fix 4 all ave/time 10000 1 10000 c_mychunk[1] c_mychunk[2] c_mychunk[3] file vcm.txt mode vector - -#dump pos all xyz ${ofreq} traj.${number}.xyz - -#compute quat all property/atom quatw quati quatj quatk -#dump quat all custom ${ofreq} quat.${number}.txt id c_quat[1] c_quat[2] c_quat[3] c_quat[4] -#dump_modify quat sort id -#dump_modify quat format line "%d %13.6le %13.6le %13.6le %13.6le" - -compute erot all erotate/asphere -compute ekin all ke -compute epot all pe -variable erot equal c_erot -variable ekin equal c_ekin -variable epot equal c_epot -variable etot equal c_erot+c_ekin+c_epot -fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes -fix 5 all print 1000 "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes - -#dump out all custom ${ofreq} out.${number}.txt id x y z vx vy vz fx fy fz tqx tqy tqz -#dump_modify out sort id -#dump_modify out format line "%d %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le" - -run 1000000 -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 1.9560004 - ghost atom cutoff = 2.5 - binsize = 0.97800022, bins = 41 41 41 - 5 neighbor lists, perpetual/occasional/extra = 5 0 0 - (1) pair oxdna/excv, perpetual - attributes: half, newton off - pair build: half/bin/newtoff - stencil: half/bin/3d/newtoff - bin: standard - (2) pair oxdna/stk, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (3) pair oxdna/hbond, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (4) pair oxdna/xstk, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (5) pair oxdna/coaxstk, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none -0 ekin = 0 | erot = 0 | epot = -24.5312382023597 | etot = -24.5312382023597 -Per MPI rank memory allocation (min/avg/max) = 8.008 | 8.008 | 8.008 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 0 -1.5402493 0.0070469125 -1.5332024 6.0760034e-06 -1000 ekin = 1.14690574396998 | erot = 2.51569518930742 | epot = -24.5229788082339 | etot = -20.8603778749565 -2000 ekin = 1.45399965653676 | erot = 2.47529346761995 | epot = -24.5053413112924 | etot = -20.5760481871357 -3000 ekin = 1.98748516841538 | erot = 2.27869060236515 | epot = -24.479432022183 | etot = -20.2132562514025 -4000 ekin = 1.64496816080429 | erot = 1.81579764130658 | epot = -24.4776224042961 | etot = -21.0168566021853 -5000 ekin = 1.84895966245555 | erot = 2.72664609970378 | epot = -24.4004650506536 | etot = -19.8248592884943 -6000 ekin = 2.81982646967251 | erot = 2.27943933047792 | epot = -24.3708804580518 | etot = -19.2716146579014 -7000 ekin = 3.4295488541453 | erot = 3.06244546790251 | epot = -24.2894811609395 | etot = -17.7974868388917 -8000 ekin = 3.46902364328651 | erot = 1.87163076744154 | epot = -24.2046945377415 | etot = -18.8640401270135 -9000 ekin = 3.42624221752733 | erot = 2.19665328890067 | epot = -24.1061295133862 | etot = -18.4832340069582 -10000 ekin = 3.47261688291849 | erot = 2.11359627880933 | epot = -23.9936001795499 | etot = -18.4073870178221 -11000 ekin = 2.94815134012461 | erot = 1.68371787420979 | epot = -23.8824451066212 | etot = -19.2505758922868 -12000 ekin = 2.91661369846828 | erot = 2.44986569301244 | epot = -23.7971038712851 | etot = -18.4306244798044 -13000 ekin = 2.90452877485052 | erot = 3.15041912070996 | epot = -23.7183348836954 | etot = -17.6633869881349 -14000 ekin = 3.03173396911322 | erot = 3.20528252680661 | epot = -23.6395534566822 | etot = -17.4025369607624 -15000 ekin = 3.10924339992056 | erot = 2.34851811722898 | epot = -23.5718810747763 | etot = -18.1141195576268 -16000 ekin = 2.21129165426584 | erot = 2.77310226941398 | epot = -23.4674880203451 | etot = -18.4830940966653 -17000 ekin = 1.64364291226705 | erot = 2.11093006069599 | epot = -23.4464921197588 | etot = -19.6919191467958 -18000 ekin = 1.71575404949661 | erot = 2.18377153128382 | epot = -23.4394231359426 | etot = -19.5398975551621 -19000 ekin = 2.74802968392513 | erot = 3.43483629560937 | epot = -23.451104173519 | etot = -17.2682381939845 -20000 ekin = 2.3643229041162 | erot = 2.97756435312011 | epot = -23.4354516313364 | etot = -18.0935643741001 -21000 ekin = 3.01197341291121 | erot = 2.06047278730446 | epot = -23.4653464733578 | etot = -18.3929002731421 -22000 ekin = 2.72181189461236 | erot = 1.68043760380063 | epot = -23.499010600721 | etot = -19.0967611023081 -23000 ekin = 2.78354866420193 | erot = 2.27555762688526 | epot = -23.4149266394174 | etot = -18.3558203483302 -24000 ekin = 2.70238951268775 | erot = 2.77699460975588 | epot = -23.3727816681014 | etot = -17.8933975456577 -25000 ekin = 2.79329314290743 | erot = 1.72270284379168 | epot = -23.4092634474478 | etot = -18.8932674607487 -26000 ekin = 2.12045088758989 | erot = 2.56536846297423 | epot = -23.4001345199736 | etot = -18.7143151694095 -27000 ekin = 2.13984384122857 | erot = 2.80867896704025 | epot = -23.372540623668 | etot = -18.4240178153992 -28000 ekin = 1.83987887691915 | erot = 1.95066344021761 | epot = -23.3274470842878 | etot = -19.536904767151 -29000 ekin = 1.89211705701482 | erot = 2.1696768345372 | epot = -23.293062192394 | etot = -19.231268300842 -30000 ekin = 2.14849041779036 | erot = 2.16067509784504 | epot = -23.2773582752331 | etot = -18.9681927595977 -31000 ekin = 2.67234738212361 | erot = 2.86863391076037 | epot = -23.2995071870109 | etot = -17.7585258941269 -32000 ekin = 2.53397631055537 | erot = 2.90803809156287 | epot = -23.2362493660415 | etot = -17.7942349639233 -33000 ekin = 3.08856443970765 | erot = 2.77830373791794 | epot = -23.1957127399696 | etot = -17.328844562344 -34000 ekin = 2.34758696559903 | erot = 2.73235573196028 | epot = -23.1859092641964 | etot = -18.1059665666371 -35000 ekin = 2.37656125971695 | erot = 2.21670282442912 | epot = -23.2990352575428 | etot = -18.7057711733968 -36000 ekin = 1.91500165278598 | erot = 2.22479415969906 | epot = -23.3423509866966 | etot = -19.2025551742115 -37000 ekin = 1.90416513806792 | erot = 2.44362474415858 | epot = -23.4523097395397 | etot = -19.1045198573132 -38000 ekin = 2.64855728429901 | erot = 2.6250961281024 | epot = -23.4330562973534 | etot = -18.159402884952 -39000 ekin = 2.47023253086004 | erot = 2.94458438664745 | epot = -23.3886129152296 | etot = -17.9737959977221 -40000 ekin = 2.36649278209599 | erot = 2.21667374563979 | epot = -23.3060594391637 | etot = -18.722892911428 -41000 ekin = 2.11640638984279 | erot = 2.75431236003956 | epot = -23.296637047546 | etot = -18.4259182976636 -42000 ekin = 2.19538989967685 | erot = 2.80995153019434 | epot = -23.3287628829795 | etot = -18.3234214531083 -43000 ekin = 2.28336241709741 | erot = 1.91100961808481 | epot = -23.398154745965 | etot = -19.2037827107827 -44000 ekin = 2.43910444561977 | erot = 2.20967357150541 | epot = -23.3408075599757 | etot = -18.6920295428505 -45000 ekin = 1.99725725495469 | erot = 2.55697923716124 | epot = -23.2988802257869 | etot = -18.744643733671 -46000 ekin = 2.80179143005448 | erot = 3.94591979804991 | epot = -23.2634234091195 | etot = -16.5157121810151 -47000 ekin = 2.00831918922489 | erot = 1.99358498528542 | epot = -23.1997437408908 | etot = -19.1978395663805 -48000 ekin = 2.65343777724262 | erot = 3.19529693167641 | epot = -23.2752277173461 | etot = -17.4264930084271 -49000 ekin = 3.08609210167617 | erot = 3.098444131902 | epot = -23.3331562765622 | etot = -17.148620042984 -50000 ekin = 2.79161045816108 | erot = 3.87280243835105 | epot = -23.283716155905 | etot = -16.6193032593929 -51000 ekin = 2.63041022395737 | erot = 1.73292678860556 | epot = -23.2028735154881 | etot = -18.8395365029252 -52000 ekin = 2.18205853362573 | erot = 2.96101862628972 | epot = -23.1079417719452 | etot = -17.9648646120298 -53000 ekin = 2.3943556604873 | erot = 3.52800628354648 | epot = -23.0586505350936 | etot = -17.1362885910599 -54000 ekin = 2.12390729593688 | erot = 2.48502694765291 | epot = -22.9790932946842 | etot = -18.3701590510944 -55000 ekin = 1.95245465404747 | erot = 2.39606028736228 | epot = -23.0362462549527 | etot = -18.687731313543 -56000 ekin = 2.078586656515 | erot = 2.51006580668827 | epot = -23.0629170158575 | etot = -18.4742645526543 -57000 ekin = 2.60842664676812 | erot = 3.02172637784133 | epot = -23.0307524021856 | etot = -17.4005993775762 -58000 ekin = 2.99447041104738 | erot = 2.32823492888449 | epot = -23.0721969273868 | etot = -17.7494915874549 -59000 ekin = 2.4566598353902 | erot = 2.43942437937462 | epot = -23.0847799943358 | etot = -18.188695779571 -60000 ekin = 2.6971497663209 | erot = 1.66133214228194 | epot = -23.0332753747144 | etot = -18.6747934661116 -61000 ekin = 2.11191914746267 | erot = 1.6204782869367 | epot = -22.9667049822233 | etot = -19.234307547824 -62000 ekin = 2.11717212979171 | erot = 2.47796844210791 | epot = -22.8144212994634 | etot = -18.2192807275637 -63000 ekin = 2.72171812217735 | erot = 2.66368566253267 | epot = -22.7776567061626 | etot = -17.3922529214526 -64000 ekin = 3.22835802379379 | erot = 2.36781220330958 | epot = -22.7933861176758 | etot = -17.1972158905724 -65000 ekin = 3.64756058058813 | erot = 3.15015944023671 | epot = -22.7765851531231 | etot = -15.9788651322982 -66000 ekin = 2.66639386198067 | erot = 2.72112154754982 | epot = -22.7755021487188 | etot = -17.3879867391884 -67000 ekin = 2.38306133316432 | erot = 2.49378542212015 | epot = -22.7973748348603 | etot = -17.9205280795759 -68000 ekin = 2.52481286112851 | erot = 3.23872813661013 | epot = -22.8468557220554 | etot = -17.0833147243168 -69000 ekin = 2.60430769391747 | erot = 3.00968890211103 | epot = -22.8318824138615 | etot = -17.217885817833 -70000 ekin = 2.72529278847958 | erot = 2.96912272855297 | epot = -22.9182544554594 | etot = -17.2238389384268 -71000 ekin = 2.30851064297996 | erot = 2.44510178131689 | epot = -23.110146286175 | etot = -18.3565338618781 -72000 ekin = 1.86333205174444 | erot = 2.21918738219008 | epot = -23.2088713208781 | etot = -19.1263518869436 -73000 ekin = 1.97363737837151 | erot = 2.92039675389546 | epot = -23.3456188157452 | etot = -18.4515846834783 -74000 ekin = 2.03973663696274 | erot = 2.44352827046787 | epot = -23.3706565736274 | etot = -18.8873916661968 -75000 ekin = 2.13029836638111 | erot = 2.25069247013825 | epot = -23.3468514357058 | etot = -18.9658605991864 -76000 ekin = 1.86911909276267 | erot = 1.88174803064112 | epot = -23.3433063511182 | etot = -19.5924392277144 -77000 ekin = 2.8311971230152 | erot = 1.4764600924275 | epot = -23.3736217515866 | etot = -19.0659645361439 -78000 ekin = 3.02331647633308 | erot = 3.49408579644919 | epot = -23.4257428368656 | etot = -16.9083405640833 -79000 ekin = 3.51133596793171 | erot = 2.66043649565033 | epot = -23.4320673594166 | etot = -17.2602948958345 -80000 ekin = 2.88371521187479 | erot = 1.92272084366328 | epot = -23.4437991576283 | etot = -18.6373631020903 -81000 ekin = 2.93345241699417 | erot = 2.30354045717278 | epot = -23.4023767063862 | etot = -18.1653838322193 -82000 ekin = 2.31364693930239 | erot = 1.52107123456185 | epot = -23.332732976686 | etot = -19.4980148028218 -83000 ekin = 2.79964810868887 | erot = 3.01031848157711 | epot = -23.1805490994262 | etot = -17.3705825091602 -84000 ekin = 3.14238697097954 | erot = 2.54443984047462 | epot = -23.0036486008467 | etot = -17.3168217893925 -85000 ekin = 3.11037170652329 | erot = 2.81688612333738 | epot = -22.9040286513178 | etot = -16.9767708214572 -86000 ekin = 3.24614571607055 | erot = 2.4691668527709 | epot = -22.9115348786951 | etot = -17.1962223098536 -87000 ekin = 3.15148333101924 | erot = 2.81476071986705 | epot = -22.88497016051 | etot = -16.9187261096237 -88000 ekin = 2.79204781171839 | erot = 2.11551211421263 | epot = -22.9365333909989 | etot = -18.0289734650679 -89000 ekin = 2.35289392365394 | erot = 3.20722667156868 | epot = -22.838834182654 | etot = -17.2787135874314 -90000 ekin = 2.37582791595297 | erot = 2.35376824711544 | epot = -22.7759716111928 | etot = -18.0463754481244 -91000 ekin = 2.11229902300038 | erot = 2.49991596560396 | epot = -22.7428668079145 | etot = -18.1306518193102 -92000 ekin = 2.18222080456226 | erot = 2.12578389554434 | epot = -22.6742877211503 | etot = -18.3662830210437 -93000 ekin = 2.21095150681925 | erot = 3.26438303982222 | epot = -22.5594438754277 | etot = -17.0841093287862 -94000 ekin = 2.12232737083461 | erot = 3.41982221867449 | epot = -22.5731643271249 | etot = -17.0310147376158 -95000 ekin = 1.85629034286763 | erot = 1.96410759501716 | epot = -22.59538207669 | etot = -18.7749841388052 -96000 ekin = 2.39869119547858 | erot = 2.71927150056489 | epot = -22.6306283736797 | etot = -17.5126656776363 -97000 ekin = 2.66273024813647 | erot = 1.89080412966723 | epot = -22.6359449758314 | etot = -18.0824105980277 -98000 ekin = 2.85072927082227 | erot = 1.60816717415087 | epot = -22.7177273012906 | etot = -18.2588308563174 -99000 ekin = 2.83238909889775 | erot = 2.47205959733049 | epot = -22.8003244534363 | etot = -17.495875757208 -100000 ekin = 2.41865993058067 | erot = 2.0598579213647 | epot = -22.9852243238147 | etot = -18.5067064718694 -101000 ekin = 2.54841697870327 | erot = 2.36461883832458 | epot = -23.0633841926615 | etot = -18.1503483756336 -102000 ekin = 2.54594946615645 | erot = 2.86139475908785 | epot = -23.1098219772669 | etot = -17.7024777520226 -103000 ekin = 2.13582591081888 | erot = 2.12361330514722 | epot = -23.1354410963672 | etot = -18.8760018804011 -104000 ekin = 2.21385815248422 | erot = 2.29274274660023 | epot = -23.0865139718305 | etot = -18.5799130727461 -105000 ekin = 2.44889646860174 | erot = 2.75107727112909 | epot = -23.0544140778533 | etot = -17.8544403381225 -106000 ekin = 1.95956756411726 | erot = 2.3209345631325 | epot = -23.0430612833128 | etot = -18.7625591560631 -107000 ekin = 2.27802020438547 | erot = 2.08909400930221 | epot = -23.0686930034876 | etot = -18.7015787897999 -108000 ekin = 1.90572708538444 | erot = 3.13702334473575 | epot = -23.0271860838353 | etot = -17.9844356537151 -109000 ekin = 2.39380259291066 | erot = 2.22054516746467 | epot = -23.0249223512454 | etot = -18.41057459087 -110000 ekin = 2.26587242950359 | erot = 2.25607481649737 | epot = -23.039981892631 | etot = -18.51803464663 -111000 ekin = 2.15727458703525 | erot = 1.98358283370136 | epot = -23.0767942184013 | etot = -18.9359367976647 -112000 ekin = 2.3828169618658 | erot = 2.69686827828485 | epot = -23.1107895116834 | etot = -18.0311042715327 -113000 ekin = 2.8101781075741 | erot = 2.59950194588724 | epot = -23.0287341179313 | etot = -17.6190540644699 -114000 ekin = 2.35455919019172 | erot = 3.20470938308889 | epot = -22.9694690534849 | etot = -17.4102004802043 -115000 ekin = 2.4406692440432 | erot = 1.89109901084122 | epot = -22.9284259454167 | etot = -18.5966576905323 -116000 ekin = 2.31064767487137 | erot = 2.83979549060621 | epot = -22.9485617435445 | etot = -17.7981185780669 -117000 ekin = 2.08937942523073 | erot = 2.22599804456159 | epot = -22.8649871463364 | etot = -18.5496096765441 -118000 ekin = 2.13839981510475 | erot = 2.6042059558218 | epot = -22.7656872587424 | etot = -18.0230814878159 -119000 ekin = 2.82390266451549 | erot = 2.20939391190357 | epot = -22.7729728906623 | etot = -17.7396763142432 -120000 ekin = 2.01401322106231 | erot = 2.48866024138323 | epot = -22.6353588152779 | etot = -18.1326853528324 -121000 ekin = 2.38145077479306 | erot = 3.12007697133009 | epot = -22.5496980171072 | etot = -17.048170270984 -122000 ekin = 3.27512287434745 | erot = 3.22243197902324 | epot = -22.5766115874577 | etot = -16.079056734087 -123000 ekin = 2.81132514620283 | erot = 2.86307874434964 | epot = -22.6263844574797 | etot = -16.9519805669272 -124000 ekin = 2.19849534367232 | erot = 2.58327740029555 | epot = -22.632926922485 | etot = -17.8511541785171 -125000 ekin = 1.9938456811927 | erot = 1.90953618390393 | epot = -22.6331404835376 | etot = -18.7297586184409 -126000 ekin = 2.42731825528385 | erot = 2.87237001426948 | epot = -22.6106846507781 | etot = -17.3109963812248 -127000 ekin = 1.95505736761304 | erot = 2.81720121527978 | epot = -22.5579301674971 | etot = -17.7856715846043 -128000 ekin = 2.10594260964226 | erot = 2.01356984269814 | epot = -22.4981321684107 | etot = -18.3786197160703 -129000 ekin = 2.55520588445759 | erot = 2.57894735511156 | epot = -22.559207781978 | etot = -17.4250545424089 -130000 ekin = 2.86259834978311 | erot = 2.18965938451607 | epot = -22.5770466332128 | etot = -17.5247888989136 -131000 ekin = 2.86321076870393 | erot = 1.66847645340269 | epot = -22.529949359668 | etot = -17.9982621375613 -132000 ekin = 2.93426604771556 | erot = 3.00425629789163 | epot = -22.5601802720307 | etot = -16.6216579264235 -133000 ekin = 3.65754901201543 | erot = 1.43666262449492 | epot = -22.6237662747263 | etot = -17.529554638216 -134000 ekin = 2.18898923715712 | erot = 2.33049897457535 | epot = -22.7470394091699 | etot = -18.2275511974375 -135000 ekin = 2.03823330514395 | erot = 2.69291476269712 | epot = -22.8900275663634 | etot = -18.1588794985223 -136000 ekin = 2.6538713732039 | erot = 2.40958876583255 | epot = -22.9857440078583 | etot = -17.9222838688218 -137000 ekin = 3.12283566057286 | erot = 3.49983145404452 | epot = -23.0096984445474 | etot = -16.3870313299301 -138000 ekin = 2.45014875520084 | erot = 2.4508647359669 | epot = -23.0794084265037 | etot = -18.178394935336 -139000 ekin = 2.03608492985731 | erot = 1.97462403722722 | epot = -23.178945590097 | etot = -19.1682366230125 -140000 ekin = 2.8375811142686 | erot = 2.49376841321459 | epot = -23.298440206365 | etot = -17.9670906788818 -141000 ekin = 2.83405987670134 | erot = 2.48065309139941 | epot = -23.4226619452758 | etot = -18.107948977175 -142000 ekin = 3.19333498685692 | erot = 3.17336002986012 | epot = -23.3250285546098 | etot = -16.9583335378927 -143000 ekin = 2.2053085459229 | erot = 2.51795869911564 | epot = -23.4007031674318 | etot = -18.6774359223932 -144000 ekin = 3.13477789699627 | erot = 2.69612114268137 | epot = -23.3846120043903 | etot = -17.5537129647126 -145000 ekin = 3.05703751181504 | erot = 2.77857540632303 | epot = -23.3935227778029 | etot = -17.5579098596648 -146000 ekin = 3.56567491078422 | erot = 1.97456126200808 | epot = -23.3912044699534 | etot = -17.8509682971611 -147000 ekin = 2.62692101320613 | erot = 2.7990853604292 | epot = -23.4731299563114 | etot = -18.0471235826761 -148000 ekin = 2.45471110479969 | erot = 1.97948594654501 | epot = -23.5390482551317 | etot = -19.104851203787 -149000 ekin = 2.91425191756495 | erot = 2.34219263228086 | epot = -23.5494392195753 | etot = -18.2929946697295 -150000 ekin = 2.11267470955651 | erot = 3.15139951917672 | epot = -23.456213233303 | etot = -18.1921390045698 -151000 ekin = 1.89283581343662 | erot = 2.39812863380885 | epot = -23.3591999925057 | etot = -19.0682355452602 -152000 ekin = 2.40790737144431 | erot = 2.01427800135936 | epot = -23.2626112351643 | etot = -18.8404258623606 -153000 ekin = 2.05155784053096 | erot = 2.23618306870396 | epot = -23.2634856578898 | etot = -18.9757447486549 -154000 ekin = 2.51778354567736 | erot = 3.20314773898096 | epot = -23.2975528150325 | etot = -17.5766215303742 -155000 ekin = 2.00284429469695 | erot = 2.89937315438495 | epot = -23.3218945133551 | etot = -18.4196770642732 -156000 ekin = 1.91144554872485 | erot = 2.99821559619451 | epot = -23.2209466091476 | etot = -18.3112854642282 -157000 ekin = 2.43182251041877 | erot = 1.62406041783895 | epot = -23.1045847485264 | etot = -19.0487018202686 -158000 ekin = 2.09298289420886 | erot = 2.6766289229666 | epot = -23.031927214759 | etot = -18.2623153975835 -159000 ekin = 2.20764198734381 | erot = 2.83616967442204 | epot = -22.9227666897823 | etot = -17.8789550280164 -160000 ekin = 2.21243983900826 | erot = 2.20003736549807 | epot = -22.9543660393476 | etot = -18.5418888348412 -161000 ekin = 2.45073410895006 | erot = 2.43388496890226 | epot = -22.9636574775946 | etot = -18.0790383997422 -162000 ekin = 2.17367299341061 | erot = 2.69488535843695 | epot = -23.0527030224094 | etot = -18.1841446705618 -163000 ekin = 1.6416624121019 | erot = 2.84097373738807 | epot = -23.1292124278341 | etot = -18.6465762783441 -164000 ekin = 1.67565049116239 | erot = 2.68380704848371 | epot = -23.1590424140942 | etot = -18.7995848744481 -165000 ekin = 2.42206226766745 | erot = 2.72988204300635 | epot = -23.1799778993767 | etot = -18.0280335887029 -166000 ekin = 3.14880802219226 | erot = 2.84384837642053 | epot = -23.2429974571314 | etot = -17.2503410585186 -167000 ekin = 2.25647190185324 | erot = 2.22025584454645 | epot = -23.3152815140534 | etot = -18.8385537676537 -168000 ekin = 2.05307577726746 | erot = 1.92982813234681 | epot = -23.3121709078534 | etot = -19.3292669982392 -169000 ekin = 2.25333032487684 | erot = 2.03837973951729 | epot = -23.3314587534472 | etot = -19.0397486890531 -170000 ekin = 3.24025514660291 | erot = 2.68054613971874 | epot = -23.2656213247604 | etot = -17.3448200384388 -171000 ekin = 3.26091283919611 | erot = 2.31337270355485 | epot = -23.30671463487 | etot = -17.732429092119 -172000 ekin = 3.71728985541098 | erot = 2.37762994657772 | epot = -23.3035184476851 | etot = -17.2085986456964 -173000 ekin = 3.15518229037533 | erot = 2.74844421936228 | epot = -23.2758116201384 | etot = -17.3721851104007 -174000 ekin = 2.99648976213193 | erot = 1.71811302453253 | epot = -23.1981882260451 | etot = -18.4835854393806 -175000 ekin = 2.57240965973333 | erot = 2.55046855203897 | epot = -23.1014541624941 | etot = -17.9785759507218 -176000 ekin = 1.93852156602125 | erot = 2.47332967602318 | epot = -23.1368569455589 | etot = -18.7250057035145 -177000 ekin = 2.80960374115401 | erot = 1.95409121605924 | epot = -23.0982934782514 | etot = -18.3345985210382 -178000 ekin = 2.33244636491393 | erot = 2.27408462832222 | epot = -23.0825224910612 | etot = -18.4759914978251 -179000 ekin = 2.13982176908862 | erot = 2.89346836042849 | epot = -23.0763356798213 | etot = -18.0430455503042 -180000 ekin = 2.207400927993 | erot = 1.5562703232207 | epot = -23.0740416866628 | etot = -19.3103704354491 -181000 ekin = 2.12924843078766 | erot = 3.48717124411563 | epot = -22.9481791847174 | etot = -17.3317595098141 -182000 ekin = 1.86429514249569 | erot = 2.12691540074977 | epot = -22.8573607952401 | etot = -18.8661502519946 -183000 ekin = 2.49432213049246 | erot = 1.94397526976538 | epot = -22.8739996678934 | etot = -18.4357022676356 -184000 ekin = 2.32559536618148 | erot = 2.16188851089671 | epot = -22.8801350202001 | etot = -18.3926511431219 -185000 ekin = 3.43221902743033 | erot = 2.76663819243887 | epot = -22.7961878859294 | etot = -16.5973306660602 -186000 ekin = 3.27655677826301 | erot = 2.10542412812558 | epot = -22.5860615279726 | etot = -17.204080621584 -187000 ekin = 3.21808565073807 | erot = 3.12646745373177 | epot = -22.4680437052799 | etot = -16.1234906008101 -188000 ekin = 3.29470028080779 | erot = 2.71885909254934 | epot = -22.4777213671005 | etot = -16.4641619937434 -189000 ekin = 2.29225438861808 | erot = 2.15238017837044 | epot = -22.4423181907693 | etot = -17.9976836237808 -190000 ekin = 2.31172879251782 | erot = 1.69869193216314 | epot = -22.4421736779848 | etot = -18.4317529533038 -191000 ekin = 2.44737449537105 | erot = 1.95471142288415 | epot = -22.4940636736618 | etot = -18.0919777554066 -192000 ekin = 2.65685760576573 | erot = 2.49493427834054 | epot = -22.551770059613 | etot = -17.3999781755067 -193000 ekin = 2.01491600271975 | erot = 2.53697801257504 | epot = -22.611413796154 | etot = -18.0595197808592 -194000 ekin = 2.13098665262876 | erot = 2.65162788921838 | epot = -22.6516249427401 | etot = -17.869010400893 -195000 ekin = 2.15880156426523 | erot = 2.30285156951273 | epot = -22.6801152411448 | etot = -18.2184621073669 -196000 ekin = 2.26045454251242 | erot = 1.7400410306741 | epot = -22.6243696974319 | etot = -18.6238741242454 -197000 ekin = 2.08353851799175 | erot = 2.84019387252897 | epot = -22.5254653541291 | etot = -17.6017329636084 -198000 ekin = 2.40254425598167 | erot = 1.59510544084176 | epot = -22.4875571568747 | etot = -18.4899074600513 -199000 ekin = 2.32315315727966 | erot = 1.64758309421108 | epot = -22.3940543169462 | etot = -18.4233180654554 -200000 ekin = 1.9344201599962 | erot = 2.09946369983286 | epot = -22.3163824882501 | etot = -18.282498628421 -201000 ekin = 2.25758946372665 | erot = 1.57318447391795 | epot = -22.2162199013465 | etot = -18.3854459637019 -202000 ekin = 2.14286142871167 | erot = 1.84411011823104 | epot = -22.0782645916587 | etot = -18.0912930447159 -203000 ekin = 1.82640790776851 | erot = 3.05975799451598 | epot = -21.9788881819889 | etot = -17.0927222797045 -204000 ekin = 1.62851140603835 | erot = 1.97764157787611 | epot = -21.9332382928783 | etot = -18.3270853089638 -205000 ekin = 1.25482843048893 | erot = 2.20166998646264 | epot = -21.8845360273862 | etot = -18.4280376104346 -206000 ekin = 1.73414183779997 | erot = 1.82150010232861 | epot = -21.8773801883845 | etot = -18.321738248256 -207000 ekin = 1.94750322930568 | erot = 2.48531516705681 | epot = -21.9295431113514 | etot = -17.496724714989 -208000 ekin = 2.09568882924412 | erot = 3.03912830731326 | epot = -22.0166563659434 | etot = -16.881839229386 -209000 ekin = 2.64700139449842 | erot = 2.33696819850967 | epot = -22.1001648259952 | etot = -17.1161952329871 -210000 ekin = 2.84808049130809 | erot = 3.0333180373391 | epot = -22.1925404483828 | etot = -16.3111419197356 -211000 ekin = 1.9735208459781 | erot = 2.67635943704183 | epot = -22.2979529780579 | etot = -17.648072695038 -212000 ekin = 1.60231135436244 | erot = 2.66527693950093 | epot = -22.3334257809678 | etot = -18.0658374871044 -213000 ekin = 1.33634411107147 | erot = 2.64593792571916 | epot = -22.4180515625624 | etot = -18.4357695257718 -214000 ekin = 2.2947085637024 | erot = 1.7654025455793 | epot = -22.5146947473979 | etot = -18.4545836381162 -215000 ekin = 2.54235331845419 | erot = 2.59070032226104 | epot = -22.5977548514775 | etot = -17.4647012107623 -216000 ekin = 2.50726683350059 | erot = 2.07957683306215 | epot = -22.6514435658203 | etot = -18.0645998992575 -217000 ekin = 2.56666688563484 | erot = 2.10721620203285 | epot = -22.7585726045596 | etot = -18.0846895168919 -218000 ekin = 2.3809214758614 | erot = 2.40889946821003 | epot = -22.7858427946485 | etot = -17.996021850577 -219000 ekin = 2.62297703802767 | erot = 1.72015460606372 | epot = -22.8179577818034 | etot = -18.474826137712 -220000 ekin = 2.04452501529803 | erot = 2.48366646228854 | epot = -22.8152593234185 | etot = -18.2870678458319 -221000 ekin = 2.016790382988 | erot = 1.92179513943576 | epot = -22.7675242743918 | etot = -18.8289387519681 -222000 ekin = 2.48246285927141 | erot = 2.69662232500728 | epot = -22.6922041676861 | etot = -17.5131189834074 -223000 ekin = 2.07315316544961 | erot = 2.59399918829032 | epot = -22.6977764075015 | etot = -18.0306240537616 -224000 ekin = 2.13964582929342 | erot = 2.15545737968983 | epot = -22.6791813082171 | etot = -18.3840780992338 -225000 ekin = 2.4443131371706 | erot = 3.02968637363015 | epot = -22.6416871024202 | etot = -17.1676875916194 -226000 ekin = 2.14901519929161 | erot = 2.34793235846519 | epot = -22.69101275787 | etot = -18.1940652001132 -227000 ekin = 2.85261296673757 | erot = 2.16469654263134 | epot = -22.6647959494624 | etot = -17.6474864400935 -228000 ekin = 2.0542557730781 | erot = 2.41859943175188 | epot = -22.648254263469 | etot = -18.175399058639 -229000 ekin = 1.71712866311074 | erot = 2.00134448676601 | epot = -22.656184548909 | etot = -18.9377113990323 -230000 ekin = 2.93835687549904 | erot = 2.52588891439014 | epot = -22.686473096368 | etot = -17.2222273064788 -231000 ekin = 3.65320646645271 | erot = 2.50996334898014 | epot = -22.6663620829857 | etot = -16.5031922675529 -232000 ekin = 2.74858319742744 | erot = 2.15737431011052 | epot = -22.7650781743548 | etot = -17.8591206668168 -233000 ekin = 2.20526469100055 | erot = 1.96946858309177 | epot = -22.808033211882 | etot = -18.6332999377897 -234000 ekin = 3.0329543267647 | erot = 1.91197211768344 | epot = -22.7639916522477 | etot = -17.8190652077996 -235000 ekin = 2.67265278717495 | erot = 2.49323486871604 | epot = -22.8047732486684 | etot = -17.6388855927774 -236000 ekin = 2.45357393436119 | erot = 2.51245746374309 | epot = -22.7782827985553 | etot = -17.812251400451 -237000 ekin = 2.58384683986252 | erot = 2.47764708446689 | epot = -22.8498966602044 | etot = -17.788402735875 -238000 ekin = 2.48850542531642 | erot = 2.95888408934022 | epot = -22.8461058630726 | etot = -17.3987163484159 -239000 ekin = 2.5081973607743 | erot = 2.88284977556179 | epot = -22.8253656494842 | etot = -17.4343185131481 -240000 ekin = 2.80266521029648 | erot = 2.42429156361948 | epot = -22.7822778944155 | etot = -17.5553211204995 -241000 ekin = 2.22400241744572 | erot = 2.47541442439962 | epot = -22.708502965295 | etot = -18.0090861234496 -242000 ekin = 2.1369278840666 | erot = 3.31767605383442 | epot = -22.6765710785147 | etot = -17.2219671406136 -243000 ekin = 2.31455276379189 | erot = 1.97486717843967 | epot = -22.6835713954336 | etot = -18.3941514532021 -244000 ekin = 2.08913537180933 | erot = 2.74057497391117 | epot = -22.6588502228669 | etot = -17.8291398771464 -245000 ekin = 2.13326066848594 | erot = 2.26727722045252 | epot = -22.5891755212551 | etot = -18.1886376323167 -246000 ekin = 1.98597399772947 | erot = 2.24414289909305 | epot = -22.581751166757 | etot = -18.3516342699345 -247000 ekin = 1.7029908245814 | erot = 2.65850843105303 | epot = -22.5730238533539 | etot = -18.2115245977195 -248000 ekin = 2.17045477909461 | erot = 2.21012477326125 | epot = -22.6387048466336 | etot = -18.2581252942777 -249000 ekin = 2.19972531736336 | erot = 2.93804177761671 | epot = -22.667836810757 | etot = -17.530069715777 -250000 ekin = 2.30859844416928 | erot = 2.87484738519315 | epot = -22.7208193440242 | etot = -17.5373735146618 -251000 ekin = 3.15133859857999 | erot = 2.3610033133862 | epot = -22.7532913869796 | etot = -17.2409494750134 -252000 ekin = 2.10711705767907 | erot = 2.93803244308709 | epot = -22.8141998177766 | etot = -17.7690503170104 -253000 ekin = 1.81446587076888 | erot = 3.64847052994272 | epot = -22.7589188116659 | etot = -17.2959824109543 -254000 ekin = 2.38246471864852 | erot = 2.74330406814437 | epot = -22.637470157389 | etot = -17.5117013705961 -255000 ekin = 2.82281981879266 | erot = 2.17751399966926 | epot = -22.6480625048929 | etot = -17.647728686431 -256000 ekin = 2.91721347856852 | erot = 2.29499077181347 | epot = -22.7096621530392 | etot = -17.4974579026573 -257000 ekin = 2.82748375072692 | erot = 3.52099588673786 | epot = -22.6484013012936 | etot = -16.2999216638288 -258000 ekin = 2.19992203178142 | erot = 2.12042549810482 | epot = -22.6612060734149 | etot = -18.3408585435286 -259000 ekin = 2.13920518349551 | erot = 2.2459631658656 | epot = -22.6156265174457 | etot = -18.2304581680846 -260000 ekin = 2.4332113427451 | erot = 2.77503683051912 | epot = -22.6321520875833 | etot = -17.4239039143191 -261000 ekin = 2.05779939929259 | erot = 2.13973837948785 | epot = -22.6823931019282 | etot = -18.4848553231477 -262000 ekin = 2.79110837358257 | erot = 2.25626689025766 | epot = -22.7214681566511 | etot = -17.6740928928109 -263000 ekin = 2.78883106934821 | erot = 1.69356075172848 | epot = -22.7142967476141 | etot = -18.2319049265375 -264000 ekin = 2.20259381207698 | erot = 1.55086518385097 | epot = -22.6762941554802 | etot = -18.9228351595523 -265000 ekin = 2.0317762551793 | erot = 2.12583868325911 | epot = -22.712761701767 | etot = -18.5551467633286 -266000 ekin = 2.50197151162485 | erot = 2.91236336851854 | epot = -22.8558243132671 | etot = -17.4414894331237 -267000 ekin = 2.26171294775303 | erot = 1.4691550288396 | epot = -22.8708165336687 | etot = -19.1399485570761 -268000 ekin = 2.44836854545511 | erot = 2.9937425626706 | epot = -22.7570882008955 | etot = -17.3149770927698 -269000 ekin = 1.58300780634396 | erot = 3.22395730855789 | epot = -22.3907113081099 | etot = -17.5837461932081 -270000 ekin = 2.32322184760979 | erot = 3.06382421219438 | epot = -22.3881691749602 | etot = -17.001123115156 -271000 ekin = 3.60469687596824 | erot = 1.9797358598963 | epot = -22.4683966465291 | etot = -16.8839639106645 -272000 ekin = 3.51923106402285 | erot = 2.03023285354504 | epot = -22.4603583954676 | etot = -16.9108944778997 -273000 ekin = 2.11482184852541 | erot = 2.44627955820304 | epot = -22.3849709951286 | etot = -17.8238695884002 -274000 ekin = 1.92099330523926 | erot = 1.84100701949309 | epot = -22.4079231056523 | etot = -18.64592278092 -275000 ekin = 2.00926480279114 | erot = 2.3425841103212 | epot = -22.5238525372828 | etot = -18.1720036241704 -276000 ekin = 2.63097538006804 | erot = 2.50136285103272 | epot = -22.5353755283889 | etot = -17.4030372972882 -277000 ekin = 1.82015412793384 | erot = 1.70696131852909 | epot = -22.5292430541423 | etot = -19.0021276076793 -278000 ekin = 2.01769954373528 | erot = 2.59890230516084 | epot = -22.5906588225137 | etot = -17.9740569736176 -279000 ekin = 2.25640040624717 | erot = 2.29091139708182 | epot = -22.6277099788414 | etot = -18.0803981755124 -280000 ekin = 3.04018837983384 | erot = 2.20649234309561 | epot = -22.6234289166475 | etot = -17.376748193718 -281000 ekin = 2.26774972276864 | erot = 2.21425432655914 | epot = -22.6813285841657 | etot = -18.1993245348379 -282000 ekin = 2.97313150959962 | erot = 2.86622182739124 | epot = -22.7015431862321 | etot = -16.8621898492412 -283000 ekin = 2.50361895288103 | erot = 3.01017153845275 | epot = -22.6838734010489 | etot = -17.1700829097151 -284000 ekin = 2.07988501520726 | erot = 2.53369538735043 | epot = -22.6244057852699 | etot = -18.0108253827122 -285000 ekin = 2.63544742669395 | erot = 2.22184957642688 | epot = -22.6299704571646 | etot = -17.7726734540438 -286000 ekin = 3.28190504383103 | erot = 2.59924342945106 | epot = -22.6685734662042 | etot = -16.7874249929221 -287000 ekin = 2.5201730496864 | erot = 2.47409649915194 | epot = -22.6647398556855 | etot = -17.6704703068471 -288000 ekin = 1.72383940997515 | erot = 2.2989067867213 | epot = -22.5898062623046 | etot = -18.5670600656082 -289000 ekin = 1.84179788109765 | erot = 2.70369316308707 | epot = -22.47181336009 | etot = -17.9263223159052 -290000 ekin = 1.6715135413566 | erot = 2.58080004878555 | epot = -22.4106998409513 | etot = -18.1583862508092 -291000 ekin = 1.5215220538295 | erot = 2.73428237886897 | epot = -22.3556298896499 | etot = -18.0998254569515 -292000 ekin = 1.80629028335816 | erot = 2.0852735260545 | epot = -22.4535418049614 | etot = -18.5619779955488 -293000 ekin = 2.15472126777205 | erot = 2.19759927977713 | epot = -22.5557303698456 | etot = -18.2034098222964 -294000 ekin = 2.56152704015233 | erot = 2.8613616067162 | epot = -22.6398911758506 | etot = -17.2170025289821 -295000 ekin = 2.371265169146 | erot = 3.38251794814698 | epot = -22.6865354227056 | etot = -16.9327523054126 -296000 ekin = 2.03365878847188 | erot = 2.18393142873388 | epot = -22.6560933682687 | etot = -18.438503151063 -297000 ekin = 2.49621501086621 | erot = 2.10112805919269 | epot = -22.7035635415212 | etot = -18.1062204714623 -298000 ekin = 2.77842269503177 | erot = 3.3772341506228 | epot = -22.7119153133845 | etot = -16.5562584677299 -299000 ekin = 2.67707880841785 | erot = 2.98874558313004 | epot = -22.7666464233606 | etot = -17.1008220318128 -300000 ekin = 2.27178796654212 | erot = 2.26073784829731 | epot = -22.7766831409595 | etot = -18.2441573261201 -301000 ekin = 2.20083021797287 | erot = 3.3890245069517 | epot = -22.7273506022536 | etot = -17.137495877329 -302000 ekin = 2.96489064574833 | erot = 2.84356412203241 | epot = -22.6697893088022 | etot = -16.8613345410215 -303000 ekin = 2.31874098268026 | erot = 2.61961335705569 | epot = -22.6493939125616 | etot = -17.7110395728257 -304000 ekin = 2.72610257159623 | erot = 3.02709946331765 | epot = -22.6952460519591 | etot = -16.9420440170453 -305000 ekin = 2.63459003021214 | erot = 1.919675076019 | epot = -22.6686095819004 | etot = -18.1143444756693 -306000 ekin = 2.27957015123362 | erot = 2.30903194024744 | epot = -22.6205242146107 | etot = -18.0319221231296 -307000 ekin = 2.59039939360351 | erot = 1.72550416449957 | epot = -22.5760437098146 | etot = -18.2601401517115 -308000 ekin = 2.25862282018141 | erot = 2.6613420500591 | epot = -22.4810009931421 | etot = -17.5610361229016 -309000 ekin = 2.58156867056613 | erot = 1.38162183672195 | epot = -22.4520281277666 | etot = -18.4888376204785 -310000 ekin = 2.30199887399085 | erot = 3.49424058278129 | epot = -22.4502933105603 | etot = -16.6540538537882 -311000 ekin = 1.92151496683435 | erot = 3.702621790492 | epot = -22.3972021294092 | etot = -16.7730653720828 -312000 ekin = 1.83005087613798 | erot = 2.19341081660898 | epot = -22.3720470055312 | etot = -18.3485853127842 -313000 ekin = 1.92489041812718 | erot = 1.83277045127814 | epot = -22.490802859931 | etot = -18.7331419905256 -314000 ekin = 2.09288582482849 | erot = 3.1959722998652 | epot = -22.4338118394254 | etot = -17.1449537147317 -315000 ekin = 2.16369102652801 | erot = 2.93597548628521 | epot = -22.4469736533496 | etot = -17.3473071405364 -316000 ekin = 2.09245693384264 | erot = 1.807558537396 | epot = -22.3690695710527 | etot = -18.4690540998141 -317000 ekin = 2.36588943769063 | erot = 1.70568184689724 | epot = -22.3496046632177 | etot = -18.2780333786298 -318000 ekin = 1.83301083634324 | erot = 3.09521659572646 | epot = -22.3586080730087 | etot = -17.430380640939 -319000 ekin = 1.55798533508654 | erot = 2.374400525685 | epot = -22.3769508910799 | etot = -18.4445650303083 -320000 ekin = 2.96087389710191 | erot = 2.89099773614827 | epot = -22.4288122697123 | etot = -16.5769406364621 -321000 ekin = 3.19179841293413 | erot = 2.37305905207938 | epot = -22.5447709145936 | etot = -16.9799134495801 -322000 ekin = 3.10570427346294 | erot = 3.34188038301289 | epot = -22.580443523357 | etot = -16.1328588668812 -323000 ekin = 2.22962685798083 | erot = 2.03306866549118 | epot = -22.5997373536669 | etot = -18.3370418301949 -324000 ekin = 2.28811378374166 | erot = 2.14190372685336 | epot = -22.5597352990857 | etot = -18.1297177884906 -325000 ekin = 2.85757123939544 | erot = 2.33537312761609 | epot = -22.5231085637202 | etot = -17.3301641967086 -326000 ekin = 2.30070347083078 | erot = 2.23549787294263 | epot = -22.5151413151487 | etot = -17.9789399713752 -327000 ekin = 3.29082503272818 | erot = 1.92556360043753 | epot = -22.5231816508473 | etot = -17.3067930176816 -328000 ekin = 2.38165298551354 | erot = 1.63346978078624 | epot = -22.5231376952434 | etot = -18.5080149289436 -329000 ekin = 3.46430064220694 | erot = 2.33095343034691 | epot = -22.4569686289904 | etot = -16.6617145564365 -330000 ekin = 3.03486739022287 | erot = 2.39278089551369 | epot = -22.3332523924126 | etot = -16.905604106676 -331000 ekin = 2.30557375971102 | erot = 2.07089271354998 | epot = -22.2503996798711 | etot = -17.8739332066101 -332000 ekin = 1.60842407147764 | erot = 3.110396890796 | epot = -22.2247256358723 | etot = -17.5059046735987 -333000 ekin = 1.87112469334644 | erot = 3.30899727462101 | epot = -22.130065759788 | etot = -16.9499437918205 -334000 ekin = 2.39344914466899 | erot = 2.11606499087986 | epot = -22.052515122119 | etot = -17.5430009865702 -335000 ekin = 2.58946334556546 | erot = 2.68851920162594 | epot = -21.971164793944 | etot = -16.6931822467526 -336000 ekin = 2.41988877667505 | erot = 2.41525912575628 | epot = -21.8441556082519 | etot = -17.0090077058205 -337000 ekin = 2.33064340197969 | erot = 2.60509084649572 | epot = -21.8962678452425 | etot = -16.9605335967671 -338000 ekin = 1.96206714975463 | erot = 1.65377379268676 | epot = -21.8484931449949 | etot = -18.2326522025535 -339000 ekin = 1.55631939970369 | erot = 2.24373622444027 | epot = -21.8253755182891 | etot = -18.0253198941451 -340000 ekin = 2.70749090548453 | erot = 2.95739933680002 | epot = -21.8243135462175 | etot = -16.1594233039329 -341000 ekin = 2.44634541815133 | erot = 1.84695948440237 | epot = -21.9282158516816 | etot = -17.6349109491279 -342000 ekin = 2.51784295345496 | erot = 2.73626675676614 | epot = -21.9579426326808 | etot = -16.7038329224596 -343000 ekin = 3.41670961674692 | erot = 2.43111012770705 | epot = -21.9935092107186 | etot = -16.1456894662647 -344000 ekin = 2.58780800263767 | erot = 1.6930389050268 | epot = -22.0715354699269 | etot = -17.7906885622624 -345000 ekin = 2.57576456033189 | erot = 1.99487459437559 | epot = -22.1796629942929 | etot = -17.6090238395854 -346000 ekin = 2.40404980880465 | erot = 2.31288728866961 | epot = -22.1855258065435 | etot = -17.4685887090693 -347000 ekin = 2.28146784424865 | erot = 2.74513531512625 | epot = -22.2205619484594 | etot = -17.1939587890845 -348000 ekin = 2.26319568262242 | erot = 2.43454354691427 | epot = -22.2148038230762 | etot = -17.5170645935395 -349000 ekin = 1.98764147715107 | erot = 2.21856918820044 | epot = -22.2333110495202 | etot = -18.0271003841687 -350000 ekin = 2.08440088155067 | erot = 2.55841250738978 | epot = -22.2541078972618 | etot = -17.6112945083214 -351000 ekin = 2.38201758452314 | erot = 2.17974220056875 | epot = -22.2647718284383 | etot = -17.7030120433464 -352000 ekin = 2.75130853950625 | erot = 2.25801401818502 | epot = -22.2226031541769 | etot = -17.2132805964856 -353000 ekin = 2.39316894458245 | erot = 1.9622692189896 | epot = -22.1905585968626 | etot = -17.8351204332906 -354000 ekin = 2.60613964367264 | erot = 2.45699958173639 | epot = -22.0741463551659 | etot = -17.0110071297569 -355000 ekin = 1.80064206533144 | erot = 2.59773518186197 | epot = -22.011221342413 | etot = -17.6128440952196 -356000 ekin = 2.37699640398752 | erot = 3.09710102021834 | epot = -22.0299491911754 | etot = -16.5558517669695 -357000 ekin = 2.50986884955702 | erot = 1.91180399130884 | epot = -22.0481853325197 | etot = -17.6265124916538 -358000 ekin = 2.12558610604631 | erot = 2.6479682554889 | epot = -21.9447638703624 | etot = -17.1712095088272 -359000 ekin = 2.22688919900624 | erot = 2.23931556284384 | epot = -21.8085491928632 | etot = -17.3423444310132 -360000 ekin = 3.13527943466207 | erot = 2.8147567946821 | epot = -21.7902147579702 | etot = -15.840178528626 -361000 ekin = 2.71487331879396 | erot = 2.8877144694031 | epot = -21.8322461119152 | etot = -16.2296583237181 -362000 ekin = 2.515817675735 | erot = 3.0246147355251 | epot = -21.8359960107676 | etot = -16.2955635995075 -363000 ekin = 2.70354655291949 | erot = 2.04948095390169 | epot = -21.8699556802982 | etot = -17.116928173477 -364000 ekin = 2.34554467024059 | erot = 1.36382458642029 | epot = -21.9151567775916 | etot = -18.2057875209307 -365000 ekin = 2.00291957865484 | erot = 2.38153585819252 | epot = -21.8681661882236 | etot = -17.4837107513762 -366000 ekin = 2.16416218280056 | erot = 2.11489166860241 | epot = -21.7862692661643 | etot = -17.5072154147613 -367000 ekin = 2.90642004514044 | erot = 2.66688606213217 | epot = -21.7352532339732 | etot = -16.1619471267006 -368000 ekin = 2.23185601684558 | erot = 2.34205881571908 | epot = -21.7124134746584 | etot = -17.1384986420937 -369000 ekin = 2.15521118053823 | erot = 2.93659164111176 | epot = -21.6437028615637 | etot = -16.5519000399137 -370000 ekin = 2.4198441869984 | erot = 1.73242712802795 | epot = -21.6676625868509 | etot = -17.5153912718245 -371000 ekin = 2.30492028429812 | erot = 2.61127763357756 | epot = -21.6509011744132 | etot = -16.7347032565375 -372000 ekin = 2.96963579911545 | erot = 1.88141866012236 | epot = -21.6391346229962 | etot = -16.7880801637584 -373000 ekin = 3.14075275331208 | erot = 2.93731686024779 | epot = -21.6868881994144 | etot = -15.6088185858545 -374000 ekin = 3.04463795536237 | erot = 3.14447085467475 | epot = -21.7931849017047 | etot = -15.6040760916676 -375000 ekin = 2.39986353169888 | erot = 2.66264703557189 | epot = -21.7551227714398 | etot = -16.692612204169 -376000 ekin = 2.55064647974443 | erot = 2.67473669587464 | epot = -21.696903880931 | etot = -16.4715207053119 -377000 ekin = 2.8852049591096 | erot = 2.18098614239663 | epot = -21.6952272659367 | etot = -16.6290361644304 -378000 ekin = 2.45289138323383 | erot = 2.10679058068883 | epot = -21.7288468051836 | etot = -17.1691648412609 -379000 ekin = 2.53609345690701 | erot = 1.90940679695127 | epot = -21.7506211345922 | etot = -17.3051208807339 -380000 ekin = 2.72283735812631 | erot = 3.24838500978278 | epot = -21.7463635962089 | etot = -15.7751412282998 -381000 ekin = 2.45462865405655 | erot = 2.38504307590766 | epot = -21.7562222022035 | etot = -16.9165504722393 -382000 ekin = 1.80283057853964 | erot = 2.1374935723038 | epot = -21.6701942835523 | etot = -17.7298701327088 -383000 ekin = 1.73467369524417 | erot = 2.3108192426649 | epot = -21.6923619844203 | etot = -17.6468690465113 -384000 ekin = 1.9342846276238 | erot = 2.70905668846398 | epot = -21.7127338523707 | etot = -17.0693925362829 -385000 ekin = 1.68998612656995 | erot = 1.64115683316309 | epot = -21.7718687316805 | etot = -18.4407257719475 -386000 ekin = 1.78400139488241 | erot = 1.74778393778735 | epot = -21.836680877067 | etot = -18.3048955443972 -387000 ekin = 2.07818501197508 | erot = 2.07807279268733 | epot = -21.832055454303 | etot = -17.6757976496406 -388000 ekin = 1.66290950060047 | erot = 2.60797351732765 | epot = -21.8118307069785 | etot = -17.5409476890504 -389000 ekin = 2.21198900204585 | erot = 2.23421390729077 | epot = -21.7427524360538 | etot = -17.2965495267171 -390000 ekin = 1.66652818866883 | erot = 2.31347723913494 | epot = -21.7301442799172 | etot = -17.7501388521135 -391000 ekin = 1.8533948354001 | erot = 3.3132884098265 | epot = -21.8115260458304 | etot = -16.6448428006038 -392000 ekin = 1.58742216104324 | erot = 2.82110846571971 | epot = -21.8293545192998 | etot = -17.4208238925368 -393000 ekin = 2.11722620613808 | erot = 2.34344765418119 | epot = -21.8696915886196 | etot = -17.4090177283003 -394000 ekin = 1.75812741619619 | erot = 2.82419425154452 | epot = -21.8924899919106 | etot = -17.3101683241699 -395000 ekin = 1.65095705493153 | erot = 2.81412301374871 | epot = -21.9536401970573 | etot = -17.488560128377 -396000 ekin = 1.73767503056944 | erot = 2.21765951200349 | epot = -22.1029546817349 | etot = -18.147620139162 -397000 ekin = 1.77674477730128 | erot = 2.32452598687485 | epot = -22.2130001775225 | etot = -18.1117294133464 -398000 ekin = 2.65895177503898 | erot = 2.95633927860974 | epot = -22.2752931466756 | etot = -16.6600020930269 -399000 ekin = 2.03803363665377 | erot = 2.12344232072307 | epot = -22.2652656821057 | etot = -18.1037897247289 -400000 ekin = 2.04555714339347 | erot = 2.27233839044242 | epot = -22.3051350135305 | etot = -17.9872394796946 -401000 ekin = 2.15872349230843 | erot = 2.50519181279082 | epot = -22.3726160012138 | etot = -17.7087006961145 -402000 ekin = 2.37736861330784 | erot = 2.3210196208099 | epot = -22.4002021740759 | etot = -17.7018139399582 -403000 ekin = 2.46021709434135 | erot = 1.94696118347469 | epot = -22.4595514414876 | etot = -18.0523731636716 -404000 ekin = 2.77045691339541 | erot = 2.38769700494278 | epot = -22.6029152684925 | etot = -17.4447613501544 -405000 ekin = 2.3136465567458 | erot = 2.23279102592819 | epot = -22.704170194226 | etot = -18.1577326115521 -406000 ekin = 2.41170890033499 | erot = 2.77109231953927 | epot = -22.779806571174 | etot = -17.5970053512998 -407000 ekin = 2.35942219707683 | erot = 2.74328193450569 | epot = -22.836396275899 | etot = -17.7336921443165 -408000 ekin = 3.24790924688638 | erot = 1.7391244014667 | epot = -22.7651095148446 | etot = -17.7780758664915 -409000 ekin = 2.24830289645136 | erot = 2.34265544739425 | epot = -22.6995454603056 | etot = -18.1085871164599 -410000 ekin = 1.78296326417356 | erot = 2.10343999475669 | epot = -22.7273761758661 | etot = -18.8409729169359 -411000 ekin = 2.40205079722836 | erot = 2.79371172655516 | epot = -22.7437086077248 | etot = -17.5479460839413 -412000 ekin = 2.4827447274903 | erot = 2.66642432537184 | epot = -22.7490438870461 | etot = -17.5998748341839 -413000 ekin = 2.75975825991147 | erot = 1.99252624136793 | epot = -22.7296409338909 | etot = -17.9773564326115 -414000 ekin = 2.46171754591312 | erot = 1.56532549126561 | epot = -22.7020089470024 | etot = -18.6749659098237 -415000 ekin = 2.9412491128766 | erot = 2.93447949050541 | epot = -22.7167297662641 | etot = -16.8410011628821 -416000 ekin = 2.451529226545 | erot = 2.93177240269518 | epot = -22.679285885952 | etot = -17.2959842567118 -417000 ekin = 2.02304677035706 | erot = 2.34845196496212 | epot = -22.6359674216736 | etot = -18.2644686863544 -418000 ekin = 2.27202933065743 | erot = 2.78253971259171 | epot = -22.5709417374616 | etot = -17.5163726942125 -419000 ekin = 3.11399834748007 | erot = 1.5069444804289 | epot = -22.5346711742036 | etot = -17.9137283462946 -420000 ekin = 2.43157626989745 | erot = 2.33553639635962 | epot = -22.5241645646513 | etot = -17.7570518983943 -421000 ekin = 2.52273757815056 | erot = 1.68036667639443 | epot = -22.523670591424 | etot = -18.320566336879 -422000 ekin = 2.28707428015146 | erot = 1.95211017937543 | epot = -22.4864987695302 | etot = -18.2473143100033 -423000 ekin = 2.77128027363906 | erot = 1.83509225830907 | epot = -22.4676364752475 | etot = -17.8612639432993 -424000 ekin = 2.61658126968941 | erot = 1.92044025854228 | epot = -22.5053529183204 | etot = -17.9683313900887 -425000 ekin = 2.25690716213737 | erot = 2.3485630523016 | epot = -22.5471810198293 | etot = -17.9417108053903 -426000 ekin = 2.5401911697216 | erot = 1.58168199076436 | epot = -22.599451551521 | etot = -18.4775783910351 -427000 ekin = 2.61776589335417 | erot = 2.3289376640184 | epot = -22.673196553825 | etot = -17.7264929964524 -428000 ekin = 2.11718463198403 | erot = 3.04652352541351 | epot = -22.7510529806942 | etot = -17.5873448232966 -429000 ekin = 1.69509699892837 | erot = 2.32755685540312 | epot = -22.7391772285581 | etot = -18.7165233742266 -430000 ekin = 2.21470975507857 | erot = 2.51273009568295 | epot = -22.6682263206376 | etot = -17.9407864698761 -431000 ekin = 2.94401624259271 | erot = 2.52065679136838 | epot = -22.6769821981683 | etot = -17.2123091642072 -432000 ekin = 2.86039016721639 | erot = 2.10092531726113 | epot = -22.6856922787856 | etot = -17.7243767943081 -433000 ekin = 2.38577772852308 | erot = 1.92242037772747 | epot = -22.7525956133752 | etot = -18.4443975071246 -434000 ekin = 2.38240431006896 | erot = 2.10745905578944 | epot = -22.7586540042292 | etot = -18.2687906383708 -435000 ekin = 2.12286955240469 | erot = 2.34000354159217 | epot = -22.6319118730511 | etot = -18.1690387790542 -436000 ekin = 2.67385800386604 | erot = 2.59460579166868 | epot = -22.6404996973321 | etot = -17.3720359017973 -437000 ekin = 1.75959740929828 | erot = 2.43720192360986 | epot = -22.7030079938494 | etot = -18.5062086609412 -438000 ekin = 1.75120908430786 | erot = 2.28124118651858 | epot = -22.749190610227 | etot = -18.7167403394005 -439000 ekin = 1.75073242294502 | erot = 2.03624763446663 | epot = -22.7489457185962 | etot = -18.9619656611846 -440000 ekin = 2.07721967183055 | erot = 2.85858063288596 | epot = -22.8109744065491 | etot = -17.8751741018326 -441000 ekin = 1.60202985220682 | erot = 2.85100314352584 | epot = -22.7745689858311 | etot = -18.3215359900984 -442000 ekin = 2.27654314397087 | erot = 3.22274835717702 | epot = -22.7446035204748 | etot = -17.2453120193269 -443000 ekin = 1.93733014307339 | erot = 1.57432763299075 | epot = -22.7272800276947 | etot = -19.2156222516305 -444000 ekin = 1.75731366949631 | erot = 2.25504170254907 | epot = -22.6435278528204 | etot = -18.631172480775 -445000 ekin = 2.09887119167798 | erot = 2.26627204333156 | epot = -22.5193278168198 | etot = -18.1541845818103 -446000 ekin = 2.16625669770322 | erot = 2.62168464822181 | epot = -22.4290479239373 | etot = -17.6411065780122 -447000 ekin = 2.19819598279476 | erot = 2.11162819084596 | epot = -22.3774620810792 | etot = -18.0676379074385 -448000 ekin = 1.7755208645772 | erot = 1.64284712827749 | epot = -22.3894548684582 | etot = -18.9710868756035 -449000 ekin = 2.29637528825017 | erot = 1.5286287774847 | epot = -22.4548388263691 | etot = -18.6298347606342 -450000 ekin = 2.55872726173568 | erot = 1.95244709295837 | epot = -22.4761389570735 | etot = -17.9649646023794 -451000 ekin = 1.93483929977221 | erot = 1.57730203053738 | epot = -22.4721871402484 | etot = -18.9600458099388 -452000 ekin = 1.71591960523824 | erot = 4.15592526681975 | epot = -22.3869204664751 | etot = -16.5150755944171 -453000 ekin = 2.05784261741687 | erot = 2.49754472957529 | epot = -22.4247246256638 | etot = -17.8693372786717 -454000 ekin = 2.37473664452537 | erot = 3.37363200196795 | epot = -22.496641743959 | etot = -16.7482730974657 -455000 ekin = 1.73966540098562 | erot = 3.16990427576242 | epot = -22.3919175950499 | etot = -17.4823479183019 -456000 ekin = 2.41686819433944 | erot = 2.61137211811606 | epot = -22.3203430517439 | etot = -17.2921027392884 -457000 ekin = 2.87348571875052 | erot = 2.67840099268897 | epot = -22.3129445692579 | etot = -16.7610578578184 -458000 ekin = 1.89437239565888 | erot = 2.55463878014183 | epot = -22.4202394049443 | etot = -17.9712282291436 -459000 ekin = 1.87572781245208 | erot = 2.52613531614619 | epot = -22.4249057850463 | etot = -18.023042656448 -460000 ekin = 2.04813188453058 | erot = 2.20089271831971 | epot = -22.4011710022067 | etot = -18.1521463993564 -461000 ekin = 1.47247960021922 | erot = 1.40768398836064 | epot = -22.3586363246324 | etot = -19.4784727360526 -462000 ekin = 1.38503831902219 | erot = 2.34595020862052 | epot = -22.4837409423011 | etot = -18.7527524146584 -463000 ekin = 2.00645645258759 | erot = 1.18165989843029 | epot = -22.4806738518605 | etot = -19.2925575008426 -464000 ekin = 2.08237091480074 | erot = 3.07220535335028 | epot = -22.4836460827449 | etot = -17.3290698145939 -465000 ekin = 2.0456215542015 | erot = 1.86890585180634 | epot = -22.5174143411392 | etot = -18.6028869351313 -466000 ekin = 2.95986717673676 | erot = 2.11178510069291 | epot = -22.6235722981753 | etot = -17.5519200207456 -467000 ekin = 2.20953809644101 | erot = 2.57273746506495 | epot = -22.7571181950953 | etot = -17.9748426335893 -468000 ekin = 1.5902871353447 | erot = 2.01907967468793 | epot = -22.7769947042451 | etot = -19.1676278942124 -469000 ekin = 1.9462052385748 | erot = 2.93750281149461 | epot = -22.7672520333545 | etot = -17.8835439832851 -470000 ekin = 3.38174970242104 | erot = 2.36622797398471 | epot = -22.8494270221486 | etot = -17.1014493457428 -471000 ekin = 2.19235331714116 | erot = 1.88537594669814 | epot = -22.9012671707407 | etot = -18.8235379069014 -472000 ekin = 2.09266734001604 | erot = 2.08181669723127 | epot = -22.9459604070355 | etot = -18.7714763697882 -473000 ekin = 2.36590705985013 | erot = 2.6708545089404 | epot = -23.0062159802477 | etot = -17.9694544114572 -474000 ekin = 2.77035694449384 | erot = 2.3027678515899 | epot = -23.0283042070227 | etot = -17.955179410939 -475000 ekin = 2.81469924529784 | erot = 1.74801606053043 | epot = -22.9818727611313 | etot = -18.419157455303 -476000 ekin = 1.6614371664979 | erot = 2.66895679342948 | epot = -22.9607497426557 | etot = -18.6303557827283 -477000 ekin = 3.4013813766128 | erot = 2.47762083745631 | epot = -22.9863526077737 | etot = -17.1073503937045 -478000 ekin = 2.64900083423483 | erot = 1.91407757255602 | epot = -22.9956967968773 | etot = -18.4326183900864 -479000 ekin = 1.60377176066656 | erot = 2.03690854636729 | epot = -22.9622351913009 | etot = -19.321554884267 -480000 ekin = 2.06361598114192 | erot = 2.38288961387606 | epot = -22.9444711012275 | etot = -18.4979655062095 -481000 ekin = 3.10420446629087 | erot = 2.4564857948581 | epot = -22.8947513649008 | etot = -17.3340611037518 -482000 ekin = 3.72901587351966 | erot = 2.08724672578547 | epot = -22.7565389886474 | etot = -16.9402763893423 -483000 ekin = 2.80051858170061 | erot = 2.88284961334901 | epot = -22.621270459186 | etot = -16.9379022641364 -484000 ekin = 2.0110409785781 | erot = 3.72169931738832 | epot = -22.5566278703519 | etot = -16.8238875743855 -485000 ekin = 1.87367667342341 | erot = 2.09747077779511 | epot = -22.5747713031699 | etot = -18.6036238519514 -486000 ekin = 2.01419066693786 | erot = 1.53376047222564 | epot = -22.6617353485008 | etot = -19.1137842093373 -487000 ekin = 2.62466310274651 | erot = 2.8154565495424 | epot = -22.7635996267058 | etot = -17.3234799744169 -488000 ekin = 2.20017113992739 | erot = 2.63952142846597 | epot = -22.7912824752716 | etot = -17.9515899068783 -489000 ekin = 2.48973425231097 | erot = 1.93887082378345 | epot = -22.7821173566376 | etot = -18.3535122805431 -490000 ekin = 2.82031383172613 | erot = 2.1152704692751 | epot = -22.7439109707737 | etot = -17.8083266697725 -491000 ekin = 2.67150067218103 | erot = 2.60674263371376 | epot = -22.6902612982561 | etot = -17.4120179923614 -492000 ekin = 3.35859725231851 | erot = 2.09917303380754 | epot = -22.6792026914912 | etot = -17.2214324053652 -493000 ekin = 2.92706185972913 | erot = 2.61206418345318 | epot = -22.555890100553 | etot = -17.0167640573707 -494000 ekin = 3.40592557500485 | erot = 2.00651000685379 | epot = -22.4449277885912 | etot = -17.0324922067326 -495000 ekin = 2.82913240855034 | erot = 2.68876281432575 | epot = -22.3431571155508 | etot = -16.8252618926747 -496000 ekin = 2.68873100783268 | erot = 2.65459610018584 | epot = -22.3530288226937 | etot = -17.0097017146752 -497000 ekin = 2.15916102256083 | erot = 2.58178912964776 | epot = -22.3187762548927 | etot = -17.5778261026842 -498000 ekin = 2.1250851017953 | erot = 2.58172095004275 | epot = -22.2888001544895 | etot = -17.5819941026515 -499000 ekin = 2.34130861420783 | erot = 2.33488363451604 | epot = -22.3011081875454 | etot = -17.6249159388215 -500000 ekin = 2.85749511684744 | erot = 1.82527244658259 | epot = -22.3853764151975 | etot = -17.7026088517675 -501000 ekin = 2.41179591621454 | erot = 2.07214655971995 | epot = -22.4198306535951 | etot = -17.9358881776606 -502000 ekin = 2.0580038376515 | erot = 3.03025922314732 | epot = -22.4588141208809 | etot = -17.3705510600821 -503000 ekin = 2.24464497631497 | erot = 2.99486525785898 | epot = -22.4506192513903 | etot = -17.2111090172163 -504000 ekin = 1.80022602455725 | erot = 2.4742601796155 | epot = -22.4453216224399 | etot = -18.1708354182671 -505000 ekin = 2.44409230742744 | erot = 2.02809748474755 | epot = -22.50771443196 | etot = -18.035524639785 -506000 ekin = 2.53466734821408 | erot = 1.74485074876353 | epot = -22.5311895285302 | etot = -18.2516714315526 -507000 ekin = 3.23096993979711 | erot = 2.12667588504341 | epot = -22.5272680080029 | etot = -17.1696221831624 -508000 ekin = 2.87809924914958 | erot = 2.23647435070733 | epot = -22.5735852765105 | etot = -17.4590116766536 -509000 ekin = 3.09666803691483 | erot = 2.01344817227328 | epot = -22.5531322135987 | etot = -17.4430160044106 -510000 ekin = 2.89347551190587 | erot = 1.87907637088166 | epot = -22.5722142851241 | etot = -17.7996624023365 -511000 ekin = 2.89557048228876 | erot = 2.26727517274045 | epot = -22.6021965971202 | etot = -17.439350942091 -512000 ekin = 1.80499322219008 | erot = 2.06104103685542 | epot = -22.5082384805065 | etot = -18.642204221461 -513000 ekin = 1.86582605008159 | erot = 1.80881245799596 | epot = -22.4818731450098 | etot = -18.8072346369322 -514000 ekin = 1.66893021142187 | erot = 2.76856699398954 | epot = -22.5144633272087 | etot = -18.0769661217973 -515000 ekin = 2.16870417972369 | erot = 2.03793643176127 | epot = -22.5725374419723 | etot = -18.3658968304873 -516000 ekin = 1.95862575209641 | erot = 3.55790203033117 | epot = -22.5675974691126 | etot = -17.051069686685 -517000 ekin = 2.10116190921287 | erot = 1.8703746684216 | epot = -22.5643410282357 | etot = -18.5928044506012 -518000 ekin = 2.35762114087238 | erot = 2.34678356890067 | epot = -22.5789498872261 | etot = -17.874545177453 -519000 ekin = 1.4965579156146 | erot = 1.37620919030064 | epot = -22.5775405953339 | etot = -19.7047734894186 -520000 ekin = 2.20583131350858 | erot = 2.06518236580453 | epot = -22.6051420155062 | etot = -18.3341283361931 -521000 ekin = 2.11936831082606 | erot = 1.89313676730226 | epot = -22.6824826885911 | etot = -18.6699776104628 -522000 ekin = 2.43972156166519 | erot = 2.29575985894378 | epot = -22.7597964571688 | etot = -18.0243150365599 -523000 ekin = 2.47148532971583 | erot = 2.62592855606052 | epot = -22.8218100826241 | etot = -17.7243961968478 -524000 ekin = 2.83867159838233 | erot = 1.67228239212566 | epot = -22.9130691352048 | etot = -18.4021151446968 -525000 ekin = 2.33707759686424 | erot = 2.11666157542524 | epot = -22.9343168153401 | etot = -18.4805776430506 -526000 ekin = 2.78556314383173 | erot = 2.12502967301725 | epot = -22.9632272664466 | etot = -18.0526344495976 -527000 ekin = 2.67476397366556 | erot = 2.10678170752056 | epot = -23.0109160127258 | etot = -18.2293703315396 -528000 ekin = 3.11020438334646 | erot = 2.16717572821384 | epot = -23.0743097715177 | etot = -17.7969296599574 -529000 ekin = 1.90071372306354 | erot = 2.29269386063507 | epot = -23.0742513713216 | etot = -18.880843787623 -530000 ekin = 2.54935777739561 | erot = 3.44632009130416 | epot = -22.9815707708391 | etot = -16.9858929021393 -531000 ekin = 1.98646544552742 | erot = 1.84284731266331 | epot = -22.8840867927685 | etot = -19.0547740345778 -532000 ekin = 2.34497208518389 | erot = 2.20242825249901 | epot = -22.958017128877 | etot = -18.4106167911941 -533000 ekin = 2.04465189646124 | erot = 2.5988852213048 | epot = -23.0954673727488 | etot = -18.4519302549827 -534000 ekin = 2.18099982404014 | erot = 2.24509264512596 | epot = -23.1672915876949 | etot = -18.7411991185288 -535000 ekin = 2.46459047030509 | erot = 2.52567370572274 | epot = -23.2601041392818 | etot = -18.269839963254 -536000 ekin = 2.40944341542506 | erot = 3.07014221153817 | epot = -23.3294178896885 | etot = -17.8498322627253 -537000 ekin = 1.46836063591622 | erot = 3.04877831235775 | epot = -23.3582488035726 | etot = -18.8411098552986 -538000 ekin = 2.2322723564918 | erot = 1.93698675675114 | epot = -23.3840280699676 | etot = -19.2147689567247 -539000 ekin = 2.65850305482382 | erot = 1.70915364045623 | epot = -23.4835953822242 | etot = -19.1159386869442 -540000 ekin = 2.15389248554489 | erot = 1.94073382714967 | epot = -23.5227953658549 | etot = -19.4281690531603 -541000 ekin = 2.67641186082159 | erot = 2.24709344305834 | epot = -23.5427111580002 | etot = -18.6192058541203 -542000 ekin = 2.10429644506714 | erot = 2.41109271626466 | epot = -23.504268251071 | etot = -18.9888790897392 -543000 ekin = 1.88696147522521 | erot = 2.545986170319 | epot = -23.4573858832303 | etot = -19.0244382376861 -544000 ekin = 2.53894413626458 | erot = 1.83894339654212 | epot = -23.447037705898 | etot = -19.0691501730913 -545000 ekin = 2.2449929565181 | erot = 3.05817804399732 | epot = -23.6401013875395 | etot = -18.3369303870241 -546000 ekin = 2.38995007911114 | erot = 1.73896404887933 | epot = -23.6250705214727 | etot = -19.4961563934822 -547000 ekin = 2.53772946939786 | erot = 3.02671406060461 | epot = -23.6172206165977 | etot = -18.0527770865952 -548000 ekin = 2.30643053883799 | erot = 2.12291748181918 | epot = -23.6947786726432 | etot = -19.265430651986 -549000 ekin = 2.50325148970644 | erot = 2.43753928660968 | epot = -23.6482202119214 | etot = -18.7074294356052 -550000 ekin = 2.07278457584903 | erot = 1.98823624738949 | epot = -23.6224210624574 | etot = -19.5614002392189 -551000 ekin = 2.20187048094412 | erot = 2.1743107800257 | epot = -23.5352962443151 | etot = -19.1591149833453 -552000 ekin = 2.138048712317 | erot = 2.28135917444489 | epot = -23.5978298104151 | etot = -19.1784219236532 -553000 ekin = 2.42650743515903 | erot = 2.89235296005631 | epot = -23.5454068695436 | etot = -18.2265464743283 -554000 ekin = 2.31243694700819 | erot = 2.73411780294884 | epot = -23.4404612498823 | etot = -18.3939064999252 -555000 ekin = 2.25631450111253 | erot = 2.70826767236547 | epot = -23.3810480325839 | etot = -18.4164658591059 -556000 ekin = 2.42187654466562 | erot = 1.81816757766949 | epot = -23.3335658342219 | etot = -19.0935217118868 -557000 ekin = 2.89583868407859 | erot = 2.59800113316269 | epot = -23.348377375344 | etot = -17.8545375581027 -558000 ekin = 2.65744373001509 | erot = 2.27566901958148 | epot = -23.229384025348 | etot = -18.2962712757514 -559000 ekin = 2.40736894715472 | erot = 3.48404550901825 | epot = -23.2950530086045 | etot = -17.4036385524315 -560000 ekin = 2.51394452480884 | erot = 2.4472528185523 | epot = -23.3548725200314 | etot = -18.3936751766703 -561000 ekin = 2.78696960734098 | erot = 2.18117562469108 | epot = -23.367099011436 | etot = -18.3989537794039 -562000 ekin = 2.60590866354869 | erot = 1.82255499079639 | epot = -23.3670125949106 | etot = -18.9385489405655 -563000 ekin = 2.69475597498162 | erot = 2.75081051570648 | epot = -23.3213805671121 | etot = -17.875814076424 -564000 ekin = 2.62204591899764 | erot = 2.49524198212383 | epot = -23.2345685046841 | etot = -18.1172806035626 -565000 ekin = 2.67044367859168 | erot = 2.01330141540311 | epot = -23.2168974338887 | etot = -18.5331523398939 -566000 ekin = 2.13856275677523 | erot = 3.1447022522953 | epot = -23.162471502403 | etot = -17.8792064933325 -567000 ekin = 2.52010093960199 | erot = 2.13254469832705 | epot = -23.1518584744761 | etot = -18.499212836547 -568000 ekin = 2.28303629721264 | erot = 2.38209001003274 | epot = -23.1558738946393 | etot = -18.4907475873939 -569000 ekin = 3.02199429959192 | erot = 2.33409896439 | epot = -23.098858714014 | etot = -17.742765450032 -570000 ekin = 2.68736138164811 | erot = 2.91449049675473 | epot = -23.0516588224656 | etot = -17.4498069440628 -571000 ekin = 2.4201706123568 | erot = 2.30930147292481 | epot = -22.9494196307347 | etot = -18.2199475454531 -572000 ekin = 1.96101491359208 | erot = 3.17564644151202 | epot = -22.9019671727356 | etot = -17.7653058176315 -573000 ekin = 1.77231254512265 | erot = 3.2959074591727 | epot = -23.0329704228571 | etot = -17.9647504185618 -574000 ekin = 2.45195460796476 | erot = 2.33093773153734 | epot = -23.1880178627738 | etot = -18.4051255232717 -575000 ekin = 2.45020502461256 | erot = 2.4698820279554 | epot = -23.1834275192561 | etot = -18.2633404666881 -576000 ekin = 2.39426958146274 | erot = 2.18334419303673 | epot = -23.165586753046 | etot = -18.5879729785466 -577000 ekin = 2.42087612822122 | erot = 2.8078297015673 | epot = -23.1889846114073 | etot = -17.9602787816187 -578000 ekin = 2.47469593268156 | erot = 2.22291754195604 | epot = -23.1822026147549 | etot = -18.4845891401173 -579000 ekin = 1.99641516200814 | erot = 3.00564689499868 | epot = -23.2220374443818 | etot = -18.219975387375 -580000 ekin = 1.80326364254896 | erot = 2.62493677026808 | epot = -23.2725597079199 | etot = -18.8443592951029 -581000 ekin = 2.54320565466448 | erot = 2.56546557497723 | epot = -23.2936203171846 | etot = -18.1849490875429 -582000 ekin = 2.7760920595553 | erot = 1.7054369481595 | epot = -23.3188805344426 | etot = -18.8373515267278 -583000 ekin = 3.13415689631058 | erot = 2.13862743264097 | epot = -23.4032331278423 | etot = -18.1304487988907 -584000 ekin = 2.79256202281284 | erot = 1.86237066580274 | epot = -23.4507356031754 | etot = -18.7958029145598 -585000 ekin = 2.40352636193977 | erot = 1.43972962791954 | epot = -23.4948475688155 | etot = -19.6515915789562 -586000 ekin = 2.08429136741348 | erot = 2.19251166266265 | epot = -23.4108290375219 | etot = -19.1340260074458 -587000 ekin = 2.94108400136396 | erot = 2.57342077096898 | epot = -23.3540972375961 | etot = -17.8395924652632 -588000 ekin = 2.72217756938907 | erot = 2.61651915812691 | epot = -23.229726324284 | etot = -17.891029596768 -589000 ekin = 2.21949422254638 | erot = 2.3311223729484 | epot = -23.150949548888 | etot = -18.6003329533932 -590000 ekin = 1.81402039776171 | erot = 2.05517606383124 | epot = -23.0478545255486 | etot = -19.1786580639557 -591000 ekin = 1.58417624910412 | erot = 2.41463211542345 | epot = -23.0177633874473 | etot = -19.0189550229197 -592000 ekin = 1.98644093041263 | erot = 1.96551923696644 | epot = -22.9894017313741 | etot = -19.037441563995 -593000 ekin = 1.88204814648092 | erot = 1.95829012430934 | epot = -22.9815982306237 | etot = -19.1412599598334 -594000 ekin = 2.81360399014313 | erot = 2.15645684811238 | epot = -22.9751895785633 | etot = -18.0051287403077 -595000 ekin = 3.09138667876659 | erot = 1.85939570103404 | epot = -22.9585503153314 | etot = -18.0077679355308 -596000 ekin = 2.88475079255431 | erot = 1.99291497545754 | epot = -22.9694795630784 | etot = -18.0918137950666 -597000 ekin = 3.56180105071194 | erot = 2.46630922350926 | epot = -22.9861357432383 | etot = -16.9580254690171 -598000 ekin = 4.25212279079266 | erot = 2.48959233670472 | epot = -23.0214618233768 | etot = -16.2797466958794 -599000 ekin = 3.7244632603479 | erot = 2.76139687839883 | epot = -23.0721196129427 | etot = -16.5862594741959 -600000 ekin = 3.46467571149548 | erot = 1.76392307266267 | epot = -23.1890443898223 | etot = -17.9604456056642 -601000 ekin = 3.0310177628253 | erot = 3.28042241831116 | epot = -23.2392242833269 | etot = -16.9277841021904 -602000 ekin = 2.23251522550048 | erot = 1.93410139388427 | epot = -23.2748311690052 | etot = -19.1082145496205 -603000 ekin = 1.52395184313396 | erot = 2.30579905635095 | epot = -23.3079770801695 | etot = -19.4782261806846 -604000 ekin = 1.80277509473345 | erot = 3.26982922397805 | epot = -23.3021805347927 | etot = -18.2295762160812 -605000 ekin = 1.69061269141421 | erot = 2.90357416013347 | epot = -23.2880125710927 | etot = -18.693825719545 -606000 ekin = 2.35348879310444 | erot = 2.05826930628853 | epot = -23.2259863126357 | etot = -18.8142282132427 -607000 ekin = 2.98750155196662 | erot = 1.93245034618772 | epot = -23.1569905313344 | etot = -18.2370386331801 -608000 ekin = 3.25247562357662 | erot = 2.87367209024389 | epot = -23.1243437665535 | etot = -16.998196052733 -609000 ekin = 2.74562851506243 | erot = 2.46957178784349 | epot = -23.1378453224525 | etot = -17.9226450195466 -610000 ekin = 3.56937899101944 | erot = 1.85394286166138 | epot = -23.1342553563961 | etot = -17.7109335037153 -611000 ekin = 3.25034255711548 | erot = 2.16992689142413 | epot = -23.0420891001313 | etot = -17.6218196515917 -612000 ekin = 2.95654106669507 | erot = 2.13931254426743 | epot = -23.0506038845264 | etot = -17.9547502735639 -613000 ekin = 3.04973095155775 | erot = 1.87979868094329 | epot = -22.9901336683938 | etot = -18.0606040358928 -614000 ekin = 3.00995775064021 | erot = 1.70679828403894 | epot = -23.0067400319172 | etot = -18.2899839972381 -615000 ekin = 2.21837740297639 | erot = 2.65601107560568 | epot = -22.9594109490335 | etot = -18.0850224704514 -616000 ekin = 1.9492997573226 | erot = 2.08809832862859 | epot = -22.9058047688739 | etot = -18.8684066829227 -617000 ekin = 2.34987504209514 | erot = 3.31816085594407 | epot = -22.8092343894311 | etot = -17.1411984913919 -618000 ekin = 2.24263426864651 | erot = 2.25720621146615 | epot = -22.8020578987413 | etot = -18.3022174186286 -619000 ekin = 1.97180881105029 | erot = 2.07875245552439 | epot = -22.7569606401772 | etot = -18.7063993736025 -620000 ekin = 2.39044144530086 | erot = 2.89229500628476 | epot = -22.7088725220114 | etot = -17.4261360704257 -621000 ekin = 2.15150678521736 | erot = 2.30775677443908 | epot = -22.643940119738 | etot = -18.1846765600816 -622000 ekin = 2.0028430350823 | erot = 2.78278646933244 | epot = -22.600112912221 | etot = -17.8144834078063 -623000 ekin = 2.19528283622071 | erot = 2.14002571477316 | epot = -22.666620119306 | etot = -18.3313115683121 -624000 ekin = 2.82040068944897 | erot = 2.57349826686042 | epot = -22.7167317153813 | etot = -17.3228327590719 -625000 ekin = 2.98627918034148 | erot = 1.57679569211939 | epot = -22.7237278324305 | etot = -18.1606529599696 -626000 ekin = 2.37348083921872 | erot = 1.88550722657484 | epot = -22.7032586894344 | etot = -18.4442706236409 -627000 ekin = 2.35195177608881 | erot = 2.01446777503463 | epot = -22.7112770388174 | etot = -18.344857487694 -628000 ekin = 2.50881254425373 | erot = 1.56688558879362 | epot = -22.6405205013867 | etot = -18.5648223683393 -629000 ekin = 2.58514893297873 | erot = 1.70970168729388 | epot = -22.5610370580219 | etot = -18.2661864377493 -630000 ekin = 2.78720199311866 | erot = 2.91114841200295 | epot = -22.4713018556232 | etot = -16.7729514505016 -631000 ekin = 2.4617589215552 | erot = 2.66187466993095 | epot = -22.4061953621981 | etot = -17.282561770712 -632000 ekin = 2.67568812509024 | erot = 2.67916251422212 | epot = -22.3286212206811 | etot = -16.9737705813688 -633000 ekin = 2.42046368116991 | erot = 2.0959495936055 | epot = -22.2764051897282 | etot = -17.7599919149528 -634000 ekin = 2.1766138388507 | erot = 1.75221904598353 | epot = -22.2464672562848 | etot = -18.3176343714506 -635000 ekin = 2.1303374537182 | erot = 2.11558346598702 | epot = -22.1559890122107 | etot = -17.9100680925054 -636000 ekin = 2.03262388834245 | erot = 1.68380166560562 | epot = -22.2457935658938 | etot = -18.5293680119458 -637000 ekin = 2.39791285236697 | erot = 2.55917753311606 | epot = -22.4447998775231 | etot = -17.4877094920401 -638000 ekin = 2.15469983815169 | erot = 3.28400540345815 | epot = -22.4075976338996 | etot = -16.9688923922898 -639000 ekin = 1.81811684885083 | erot = 2.75659290480155 | epot = -22.3748011521987 | etot = -17.8000913985464 -640000 ekin = 1.99907387989529 | erot = 2.08952122746439 | epot = -22.3717813517436 | etot = -18.283186244384 -641000 ekin = 2.66328164143483 | erot = 3.02619691580941 | epot = -22.2647370196577 | etot = -16.5752584624134 -642000 ekin = 2.88967061145595 | erot = 2.59057169345598 | epot = -22.23475748516 | etot = -16.7545151802481 -643000 ekin = 2.79246415244629 | erot = 2.87517098573249 | epot = -22.2468989126934 | etot = -16.5792637745146 -644000 ekin = 2.27988542188579 | erot = 3.04855388745644 | epot = -22.2349136242582 | etot = -16.906474314916 -645000 ekin = 3.01613981708155 | erot = 2.4967822399052 | epot = -22.3345075492296 | etot = -16.8215854922429 -646000 ekin = 2.21704249586791 | erot = 2.60354951531734 | epot = -22.2671914610386 | etot = -17.4465994498533 -647000 ekin = 2.37597087431337 | erot = 2.09971950840957 | epot = -22.4060809913804 | etot = -17.9303906086575 -648000 ekin = 2.4714436262309 | erot = 2.63569146556463 | epot = -22.423642714225 | etot = -17.3165076224295 -649000 ekin = 2.53468077746691 | erot = 2.34586903824308 | epot = -22.358445267116 | etot = -17.477895451406 -650000 ekin = 2.9010220783452 | erot = 2.43748900585602 | epot = -22.235082780767 | etot = -16.8965716965658 -651000 ekin = 2.43937394370796 | erot = 2.32097040047332 | epot = -22.1007717206118 | etot = -17.3404273764305 -652000 ekin = 3.22983264752039 | erot = 1.97644426162264 | epot = -22.1139672910572 | etot = -16.9076903819141 -653000 ekin = 3.42414251849354 | erot = 2.79487810087101 | epot = -22.1558408334809 | etot = -15.9368202141163 -654000 ekin = 2.15889671735112 | erot = 2.36472973550593 | epot = -22.1974951138068 | etot = -17.6738686609497 -655000 ekin = 2.65852679982884 | erot = 1.70572386028398 | epot = -22.2627111956629 | etot = -17.8984605355501 -656000 ekin = 2.48541797006401 | erot = 2.06347531107756 | epot = -22.3150691564122 | etot = -17.7661758752707 -657000 ekin = 2.69778549496517 | erot = 2.20386261244986 | epot = -22.4300467083325 | etot = -17.5283986009175 -658000 ekin = 2.77197513377729 | erot = 2.5072948475956 | epot = -22.5474407814621 | etot = -17.2681708000892 -659000 ekin = 3.66874079211363 | erot = 2.11838086144899 | epot = -22.5519111820512 | etot = -16.7647895284886 -660000 ekin = 2.97388996619018 | erot = 2.92112069101806 | epot = -22.6187600322739 | etot = -16.7237493750657 -661000 ekin = 2.78763059394641 | erot = 2.30401970578286 | epot = -22.7111345560961 | etot = -17.6194842563668 -662000 ekin = 2.98299477151657 | erot = 1.34778890968014 | epot = -22.712605002436 | etot = -18.3818213212393 -663000 ekin = 2.06206406341935 | erot = 2.49091694129999 | epot = -22.6743419399864 | etot = -18.121360935267 -664000 ekin = 1.46165423849889 | erot = 1.88506472859125 | epot = -22.7282890093398 | etot = -19.3815700422497 -665000 ekin = 1.35273695073317 | erot = 2.42195808060362 | epot = -22.7162067017985 | etot = -18.9415116704617 -666000 ekin = 1.89921915483213 | erot = 1.88531092594892 | epot = -22.7370741866503 | etot = -18.9525441058693 -667000 ekin = 2.90243379314502 | erot = 1.97614154053879 | epot = -22.7577380902139 | etot = -17.8791627565301 -668000 ekin = 2.88439733908879 | erot = 3.01316244247058 | epot = -22.6944666694957 | etot = -16.7969068879363 -669000 ekin = 2.54687231970458 | erot = 2.87359405758465 | epot = -22.6569831183116 | etot = -17.2365167410224 -670000 ekin = 2.21301768070541 | erot = 2.27765188013648 | epot = -22.6308484396801 | etot = -18.1401788788382 -671000 ekin = 2.58683275746298 | erot = 2.41409834599394 | epot = -22.7246788592801 | etot = -17.7237477558232 -672000 ekin = 3.29079177090022 | erot = 1.91261376234837 | epot = -22.8001667297379 | etot = -17.5967611964893 -673000 ekin = 2.84673402140676 | erot = 3.00764974897873 | epot = -22.7284025915001 | etot = -16.8740188211146 -674000 ekin = 2.42053568766569 | erot = 2.26590883890938 | epot = -22.6284483786375 | etot = -17.9420038520624 -675000 ekin = 1.96378820155452 | erot = 2.06502777032928 | epot = -22.51415650415 | etot = -18.4853405322662 -676000 ekin = 2.37987332690053 | erot = 1.93897030281589 | epot = -22.4622738554879 | etot = -18.1434302257714 -677000 ekin = 2.62785237684978 | erot = 2.04858248933864 | epot = -22.4668107703719 | etot = -17.7903759041835 -678000 ekin = 2.06360362245241 | erot = 2.31478537085112 | epot = -22.4535526716361 | etot = -18.0751636783326 -679000 ekin = 2.29534664965827 | erot = 3.11695224810765 | epot = -22.5315135213968 | etot = -17.1192146236308 -680000 ekin = 2.77369826886665 | erot = 2.79006418020504 | epot = -22.5458781878731 | etot = -16.9821157388014 -681000 ekin = 2.53921147867385 | erot = 2.45485065209125 | epot = -22.6209291892887 | etot = -17.6268670585236 -682000 ekin = 2.49239283345666 | erot = 2.17277195118013 | epot = -22.5585253944368 | etot = -17.8933606098 -683000 ekin = 2.31649836542777 | erot = 1.55870522096413 | epot = -22.4825872818582 | etot = -18.6073836954663 -684000 ekin = 3.16310193002238 | erot = 2.41685736208791 | epot = -22.523230555191 | etot = -16.9432712630807 -685000 ekin = 3.45688595061428 | erot = 1.65797437511731 | epot = -22.5532406426393 | etot = -17.4383803169077 -686000 ekin = 3.07151502570858 | erot = 2.40426982374968 | epot = -22.5000639933867 | etot = -17.0242791439284 -687000 ekin = 2.88949352966058 | erot = 2.7238056050836 | epot = -22.3550217707533 | etot = -16.7417226360091 -688000 ekin = 1.80054884787415 | erot = 2.30103168557514 | epot = -22.2966882319421 | etot = -18.1951076984928 -689000 ekin = 2.64615904696514 | erot = 2.02804270215569 | epot = -22.2971499666841 | etot = -17.6229482175633 -690000 ekin = 2.74509582020304 | erot = 2.21308151884789 | epot = -22.2232873685679 | etot = -17.2651100295169 -691000 ekin = 3.22973625495416 | erot = 1.79659776362201 | epot = -22.1738233446911 | etot = -17.1474893261149 -692000 ekin = 3.29006251848601 | erot = 2.65455993734058 | epot = -22.1381299825657 | etot = -16.1935075267391 -693000 ekin = 3.00782385068016 | erot = 1.87988611083812 | epot = -22.0870866906686 | etot = -17.1993767291503 -694000 ekin = 2.75349969517394 | erot = 1.96196264346628 | epot = -22.0466569559902 | etot = -17.33119461735 -695000 ekin = 2.74843837441231 | erot = 2.04242579206469 | epot = -22.0120255611129 | etot = -17.2211613946359 -696000 ekin = 2.61118397057101 | erot = 2.51560421142858 | epot = -22.0291666802225 | etot = -16.9023784982229 -697000 ekin = 2.04895161009847 | erot = 2.41377542161681 | epot = -22.0475575829813 | etot = -17.5848305512661 -698000 ekin = 2.33205499894114 | erot = 1.26426607996476 | epot = -22.0891584682771 | etot = -18.4928373893712 -699000 ekin = 2.52365738372774 | erot = 2.88607619964718 | epot = -22.0575161973125 | etot = -16.6477826139376 -700000 ekin = 2.08703154176849 | erot = 3.31918856993651 | epot = -22.043496292523 | etot = -16.637276180818 -701000 ekin = 2.63454496534449 | erot = 1.84779300509081 | epot = -22.0766662152512 | etot = -17.5943282448159 -702000 ekin = 3.08829740869393 | erot = 1.78434998288706 | epot = -22.0748863622431 | etot = -17.2022389706621 -703000 ekin = 2.56007358655962 | erot = 2.26155500183646 | epot = -22.1026908977867 | etot = -17.2810623093906 -704000 ekin = 2.12477400999169 | erot = 2.08457952130484 | epot = -22.1230711325941 | etot = -17.9137176012976 -705000 ekin = 2.23099785424598 | erot = 2.02835190629231 | epot = -22.2359796293319 | etot = -17.9766298687936 -706000 ekin = 2.85888825530194 | erot = 2.83086143547529 | epot = -22.3500389599658 | etot = -16.6602892691886 -707000 ekin = 2.3480098030021 | erot = 2.49047973295143 | epot = -22.4420709095522 | etot = -17.6035813735987 -708000 ekin = 2.15687040039009 | erot = 1.89481927076687 | epot = -22.5427181126696 | etot = -18.4910284415126 -709000 ekin = 2.06126314379796 | erot = 2.64275166601122 | epot = -22.6917747885766 | etot = -17.9877599787674 -710000 ekin = 1.82554938445181 | erot = 2.07235995944929 | epot = -22.8201377385632 | etot = -18.9222283946621 -711000 ekin = 2.12298269627501 | erot = 1.73663135406234 | epot = -22.8023637488401 | etot = -18.9427496985027 -712000 ekin = 1.89441290644275 | erot = 1.81368671766166 | epot = -22.8122394708736 | etot = -19.1041398467692 -713000 ekin = 2.34039314906729 | erot = 2.24025735859079 | epot = -22.739230452663 | etot = -18.1585799450049 -714000 ekin = 2.23394879997726 | erot = 2.28215619335759 | epot = -22.7197007411881 | etot = -18.2035957478533 -715000 ekin = 2.57842687399601 | erot = 2.70596818962316 | epot = -22.7225303697053 | etot = -17.4381353060861 -716000 ekin = 2.777342167833 | erot = 2.9530742807956 | epot = -22.7551711123855 | etot = -17.0247546637569 -717000 ekin = 3.05821476760519 | erot = 1.70402888768233 | epot = -22.805004145031 | etot = -18.0427604897435 -718000 ekin = 2.58403702020119 | erot = 2.7276869575009 | epot = -22.8377652482164 | etot = -17.5260412705143 -719000 ekin = 4.04281043169349 | erot = 2.57288772340244 | epot = -22.765151213101 | etot = -16.1494530580051 -720000 ekin = 2.2626844436645 | erot = 2.05854032263456 | epot = -22.7210270971108 | etot = -18.3998023308117 -721000 ekin = 2.61229526180485 | erot = 1.50190620429945 | epot = -22.6872472176703 | etot = -18.573045751566 -722000 ekin = 2.12130222145933 | erot = 2.47430249425283 | epot = -22.6492037761001 | etot = -18.0535990603879 -723000 ekin = 2.34495921259014 | erot = 2.00001594177129 | epot = -22.6840132581792 | etot = -18.3390381038178 -724000 ekin = 1.60988468746473 | erot = 1.86898213056776 | epot = -22.7229141429322 | etot = -19.2440473248997 -725000 ekin = 1.98873703681155 | erot = 2.69421181813058 | epot = -22.7105382062835 | etot = -18.0275893513414 -726000 ekin = 2.00486594971194 | erot = 1.88744282533496 | epot = -22.7145995160264 | etot = -18.8222907409795 -727000 ekin = 2.36965727388931 | erot = 1.97771456567968 | epot = -22.7738359375483 | etot = -18.4264640979793 -728000 ekin = 3.35107369108538 | erot = 2.66873491563057 | epot = -22.8576831721942 | etot = -16.8378745654783 -729000 ekin = 2.78137391509267 | erot = 2.39427763566612 | epot = -22.9964454563738 | etot = -17.8207939056151 -730000 ekin = 2.94732376078577 | erot = 2.46572632898526 | epot = -23.061543959858 | etot = -17.648493870087 -731000 ekin = 2.3655947471903 | erot = 2.57962564204578 | epot = -23.1418772794081 | etot = -18.196656890172 -732000 ekin = 2.37054326957061 | erot = 2.27737906066013 | epot = -23.1533463942089 | etot = -18.5054240639782 -733000 ekin = 2.84223530802968 | erot = 2.87780967364454 | epot = -23.1651159858109 | etot = -17.4450710041367 -734000 ekin = 2.07281469390073 | erot = 2.84899684376724 | epot = -23.1266412632701 | etot = -18.2048297256022 -735000 ekin = 2.24252699011017 | erot = 2.42167788333885 | epot = -23.081639080379 | etot = -18.41743420693 -736000 ekin = 1.90429954179403 | erot = 2.00615427805272 | epot = -23.0665137080943 | etot = -19.1560598882476 -737000 ekin = 2.52358234623967 | erot = 2.96408613726945 | epot = -23.0498694785062 | etot = -17.562200994997 -738000 ekin = 2.29815228938801 | erot = 2.99337630493273 | epot = -23.0531374110373 | etot = -17.7616088167165 -739000 ekin = 2.10323839566883 | erot = 2.36218654019378 | epot = -23.1209183366636 | etot = -18.655493400801 -740000 ekin = 2.65902408892739 | erot = 2.31758820313662 | epot = -23.0239864631476 | etot = -18.0473741710836 -741000 ekin = 2.88509339134713 | erot = 1.74482801012006 | epot = -22.9368579089963 | etot = -18.3069365075291 -742000 ekin = 2.11922667941259 | erot = 1.93684947156234 | epot = -22.8269253642457 | etot = -18.7708492132708 -743000 ekin = 2.34108734337621 | erot = 2.36593738673209 | epot = -22.783708876953 | etot = -18.0766841468447 -744000 ekin = 2.01297679191398 | erot = 1.65216031512074 | epot = -22.7764820246243 | etot = -19.1113449175895 -745000 ekin = 1.73133017113515 | erot = 1.7176467257586 | epot = -22.6953133444038 | etot = -19.2463364475101 -746000 ekin = 1.93685820803391 | erot = 2.16961525795798 | epot = -22.6422856732894 | etot = -18.5358122072975 -747000 ekin = 2.71054987223223 | erot = 2.52037576286435 | epot = -22.6131171255895 | etot = -17.3821914904929 -748000 ekin = 2.55015048250253 | erot = 2.69537742835584 | epot = -22.6616400107092 | etot = -17.4161120998508 -749000 ekin = 2.4743403066993 | erot = 2.01464607005272 | epot = -22.6951524837167 | etot = -18.2061661069646 -750000 ekin = 2.72230033116892 | erot = 1.60952725065647 | epot = -22.7320627310186 | etot = -18.4002351491932 -751000 ekin = 2.51043142470836 | erot = 1.80224959894129 | epot = -22.6780351335436 | etot = -18.3653541098939 -752000 ekin = 2.63659326252806 | erot = 1.51190288425088 | epot = -22.5566638983436 | etot = -18.4081677515646 -753000 ekin = 2.22777724794013 | erot = 2.36906570543334 | epot = -22.6071335797283 | etot = -18.0102906263549 -754000 ekin = 1.90064002802585 | erot = 2.4987423398728 | epot = -22.5664713331287 | etot = -18.16708896523 -755000 ekin = 1.84097054781323 | erot = 1.81660989632982 | epot = -22.3243978570986 | etot = -18.6668174129556 -756000 ekin = 1.9072977215419 | erot = 3.47869439939258 | epot = -22.3139248457301 | etot = -16.9279327247956 -757000 ekin = 2.92648412859418 | erot = 2.35165714253905 | epot = -22.4032306892798 | etot = -17.1250894181466 -758000 ekin = 2.761119937725 | erot = 2.96029457936289 | epot = -22.4093833044993 | etot = -16.6879687874114 -759000 ekin = 2.05979468653478 | erot = 2.75306043529531 | epot = -22.3978407784686 | etot = -17.5849856566385 -760000 ekin = 3.29448360098896 | erot = 3.86438603184197 | epot = -22.4057510645732 | etot = -15.2468814317423 -761000 ekin = 3.09819348686662 | erot = 1.69735163369829 | epot = -22.3918604222945 | etot = -17.5963153017295 -762000 ekin = 2.8429808573394 | erot = 2.74696984027755 | epot = -22.2799634059086 | etot = -16.6900127082917 -763000 ekin = 2.40587022296419 | erot = 1.99761718955002 | epot = -22.2245473449275 | etot = -17.8210599324133 -764000 ekin = 2.69114689966729 | erot = 2.18706151254182 | epot = -22.1158949498055 | etot = -17.2376865375964 -765000 ekin = 2.02342407409198 | erot = 2.40755354133614 | epot = -22.0801918095988 | etot = -17.6492141941707 -766000 ekin = 2.55386945841861 | erot = 2.2735300120383 | epot = -21.9453814240006 | etot = -17.1179819535437 -767000 ekin = 2.25334005789491 | erot = 3.15616241457377 | epot = -21.9591848457648 | etot = -16.5496823732961 -768000 ekin = 2.00682883228694 | erot = 2.52417129595785 | epot = -21.9372106864373 | etot = -17.4062105581925 -769000 ekin = 2.23813402043546 | erot = 2.85559067422092 | epot = -21.9700652214807 | etot = -16.8763405268243 -770000 ekin = 1.95345812792707 | erot = 1.71037618652205 | epot = -22.0309481387955 | etot = -18.3671138243464 -771000 ekin = 2.03963170914285 | erot = 2.38748698255688 | epot = -22.0082391059021 | etot = -17.5811204142023 -772000 ekin = 2.06112217022411 | erot = 2.70000480403923 | epot = -22.0060196271604 | etot = -17.2448926528971 -773000 ekin = 2.1054473406836 | erot = 2.10438313024729 | epot = -21.9856087815605 | etot = -17.7757783106296 -774000 ekin = 2.20665293417965 | erot = 1.98309808383526 | epot = -21.9846800128842 | etot = -17.7949289948693 -775000 ekin = 1.91373997893468 | erot = 2.82262340642995 | epot = -22.0452968667144 | etot = -17.3089334813498 -776000 ekin = 2.19240734852453 | erot = 2.49078961967547 | epot = -22.091057561943 | etot = -17.407860593743 -777000 ekin = 1.49861623144733 | erot = 1.30695475237057 | epot = -22.160400003221 | etot = -19.3548290194031 -778000 ekin = 1.69531477096896 | erot = 3.17990102703017 | epot = -21.9433338643409 | etot = -17.0681180663417 -779000 ekin = 2.03408275108515 | erot = 2.02083644208248 | epot = -21.8692045577056 | etot = -17.814285364538 -780000 ekin = 2.32186745464909 | erot = 1.59799877907745 | epot = -21.779259403208 | etot = -17.8593931694815 -781000 ekin = 2.81943737654873 | erot = 2.33206120657135 | epot = -21.9280199462268 | etot = -16.7765213631068 -782000 ekin = 2.78999918307152 | erot = 2.82490724099864 | epot = -21.9063368325378 | etot = -16.2914304084676 -783000 ekin = 2.75260781814664 | erot = 1.86132573030769 | epot = -21.9418725483536 | etot = -17.3279389998993 -784000 ekin = 2.98284408884117 | erot = 2.76354560233502 | epot = -21.920715473795 | etot = -16.1743257826188 -785000 ekin = 2.2365893692682 | erot = 1.78861508275494 | epot = -21.8288977108099 | etot = -17.8036932587867 -786000 ekin = 2.14414777981649 | erot = 2.07159716672848 | epot = -21.8686345308374 | etot = -17.6528895842924 -787000 ekin = 2.47319429252999 | erot = 2.28522145597639 | epot = -21.7568224131044 | etot = -16.998406664598 -788000 ekin = 2.2037125656444 | erot = 2.94983992744806 | epot = -21.807401237665 | etot = -16.6538487445726 -789000 ekin = 1.90039797522133 | erot = 2.52747460130211 | epot = -21.733582185717 | etot = -17.3057096091936 -790000 ekin = 1.84303835442002 | erot = 1.52778835767436 | epot = -21.8138250805319 | etot = -18.4429983684375 -791000 ekin = 2.55973906062281 | erot = 2.07623433695467 | epot = -21.8760673428163 | etot = -17.2400939452388 -792000 ekin = 1.64105723574641 | erot = 2.51498077776481 | epot = -21.8705113566728 | etot = -17.7144733431616 -793000 ekin = 2.18354187889159 | erot = 2.48490382483639 | epot = -21.9577315408449 | etot = -17.2892858371169 -794000 ekin = 2.82327663056602 | erot = 3.3208090455501 | epot = -21.9401298111912 | etot = -15.7960441350751 -795000 ekin = 3.35539827663487 | erot = 3.31260020346181 | epot = -21.9264520382708 | etot = -15.2584535581741 -796000 ekin = 2.40740867688621 | erot = 1.57597595059244 | epot = -21.9748654474447 | etot = -17.991480819966 -797000 ekin = 2.79764140160881 | erot = 3.21306683298178 | epot = -21.8960553216211 | etot = -15.8853470870305 -798000 ekin = 2.75235345571032 | erot = 2.16726736660523 | epot = -21.9467263944678 | etot = -17.0271055721522 -799000 ekin = 2.76203245885878 | erot = 2.97689904095233 | epot = -21.8743227138698 | etot = -16.1353912140587 -800000 ekin = 2.81032669767261 | erot = 2.21645039580168 | epot = -21.874383510595 | etot = -16.8476064171207 -801000 ekin = 3.36862076335485 | erot = 2.36357276514919 | epot = -21.8196797425216 | etot = -16.0874862140175 -802000 ekin = 3.17839060401735 | erot = 2.37456159755556 | epot = -21.6942373686297 | etot = -16.1412851670568 -803000 ekin = 2.57363536086741 | erot = 1.72140865671985 | epot = -21.5847418534903 | etot = -17.289697835903 -804000 ekin = 2.40212767593722 | erot = 1.81298666067406 | epot = -21.5293497123863 | etot = -17.314235375775 -805000 ekin = 2.77711079955076 | erot = 2.46558169578922 | epot = -21.6187696645293 | etot = -16.3760771691893 -806000 ekin = 2.55163537095457 | erot = 2.07829064761593 | epot = -21.5175633688748 | etot = -16.8876373503043 -807000 ekin = 2.16828861417546 | erot = 2.14909333685052 | epot = -21.4370785365412 | etot = -17.1196965855152 -808000 ekin = 1.52247178905684 | erot = 2.6826614265022 | epot = -21.3105524860528 | etot = -17.1054192704938 -809000 ekin = 1.92812857984838 | erot = 1.43056331824491 | epot = -21.1839259115906 | etot = -17.8252340134973 -810000 ekin = 2.22251801029333 | erot = 2.58813475636527 | epot = -21.1788629745341 | etot = -16.3682102078755 -811000 ekin = 2.30282325024527 | erot = 1.43949319809354 | epot = -21.1417336792482 | etot = -17.3994172309094 -812000 ekin = 2.15941343791814 | erot = 2.89500994256604 | epot = -21.1419338778617 | etot = -16.0875104973775 -813000 ekin = 2.32954389313432 | erot = 2.41977402200041 | epot = -21.1892335081721 | etot = -16.4399155930374 -814000 ekin = 2.26485001316768 | erot = 1.98538164115157 | epot = -21.1932468666377 | etot = -16.9430152123184 -815000 ekin = 2.41630590364713 | erot = 2.99255527397409 | epot = -21.1098074992862 | etot = -15.700946321665 -816000 ekin = 2.67026011582709 | erot = 2.65041733757061 | epot = -21.1150624925932 | etot = -15.7943850391955 -817000 ekin = 2.26330508431116 | erot = 2.44986465102853 | epot = -21.1331844070825 | etot = -16.4200146717428 -818000 ekin = 2.20996514807098 | erot = 3.727109097134 | epot = -21.1017127717073 | etot = -15.1646385265024 -819000 ekin = 2.57394897351115 | erot = 3.00884410677579 | epot = -21.041932430768 | etot = -15.4591393504811 -820000 ekin = 2.6269546487903 | erot = 2.28213489416385 | epot = -21.0722371160471 | etot = -16.163147573093 -821000 ekin = 2.61364324263858 | erot = 2.35068554002091 | epot = -21.1855362753227 | etot = -16.2212074926632 -822000 ekin = 2.36817941179088 | erot = 2.29408928197165 | epot = -21.224917006927 | etot = -16.5626483131645 -823000 ekin = 2.75982209175738 | erot = 2.28480205814775 | epot = -21.3426772027003 | etot = -16.2980530527951 -824000 ekin = 1.50978044541751 | erot = 2.23801949349373 | epot = -21.3865247649546 | etot = -17.6387248260434 -825000 ekin = 1.83128269423152 | erot = 2.38147378919583 | epot = -21.4614886551422 | etot = -17.2487321717148 -826000 ekin = 2.51131465952168 | erot = 2.83805149504081 | epot = -21.4681680733736 | etot = -16.1188019188111 -827000 ekin = 2.46554499044043 | erot = 2.50199323815042 | epot = -21.4572012069778 | etot = -16.4896629783869 -828000 ekin = 2.41378793908818 | erot = 1.68202937429718 | epot = -21.4539863774251 | etot = -17.3581690640397 -829000 ekin = 2.4681575394398 | erot = 2.76556063553637 | epot = -21.6061033580493 | etot = -16.3723851830731 -830000 ekin = 2.50947351976231 | erot = 1.95946819770171 | epot = -21.6566904098634 | etot = -17.1877486923994 -831000 ekin = 2.69088795720236 | erot = 2.34186880436294 | epot = -21.6751650606748 | etot = -16.6424082991095 -832000 ekin = 1.54455154996055 | erot = 2.80525631028289 | epot = -21.7300917306615 | etot = -17.380283870418 -833000 ekin = 1.60055229673051 | erot = 3.14700223857927 | epot = -21.7718768340911 | etot = -17.0243222987814 -834000 ekin = 1.58616945483838 | erot = 1.86597500790458 | epot = -21.7880513273337 | etot = -18.3359068645908 -835000 ekin = 3.47114373337366 | erot = 2.09781333604001 | epot = -21.8771549098142 | etot = -16.3081978404005 -836000 ekin = 2.71067283785106 | erot = 3.26177139393205 | epot = -22.0614513419415 | etot = -16.0890071101583 -837000 ekin = 2.82278761249275 | erot = 2.64917318251883 | epot = -22.2428744107532 | etot = -16.7709136157417 -838000 ekin = 2.86323560044783 | erot = 2.96285563085687 | epot = -22.3579310822412 | etot = -16.5318398509365 -839000 ekin = 2.91010528600405 | erot = 1.78968409868876 | epot = -22.3931377567277 | etot = -17.6933483720349 -840000 ekin = 2.68501939036542 | erot = 1.84551444209968 | epot = -22.4099858160921 | etot = -17.879451983627 -841000 ekin = 2.78761718016806 | erot = 2.07511139278678 | epot = -22.4502333935977 | etot = -17.5875048206429 -842000 ekin = 2.30765580411605 | erot = 2.05774495041193 | epot = -22.4188744128232 | etot = -18.0534736582952 -843000 ekin = 2.34438101892177 | erot = 2.29420407093426 | epot = -22.4349024679563 | etot = -17.7963173781003 -844000 ekin = 2.00792674828049 | erot = 2.31767327257805 | epot = -22.4786582023913 | etot = -18.1530581815328 -845000 ekin = 2.55136030290324 | erot = 2.34385902090199 | epot = -22.4799883641885 | etot = -17.5847690403832 -846000 ekin = 3.24095798236659 | erot = 2.35217012971054 | epot = -22.5063540497827 | etot = -16.9132259377056 -847000 ekin = 2.03834455975138 | erot = 2.30020941454582 | epot = -22.5309995762754 | etot = -18.1924456019782 -848000 ekin = 2.83373620504456 | erot = 2.13136296315047 | epot = -22.509666561527 | etot = -17.544567393332 -849000 ekin = 2.30412012601641 | erot = 2.33744771805384 | epot = -22.4861027555015 | etot = -17.8445349114312 -850000 ekin = 1.52103738969765 | erot = 2.15323991690878 | epot = -22.5147792441637 | etot = -18.8405019375573 -851000 ekin = 1.85927261161487 | erot = 2.05456043679611 | epot = -22.41752057705 | etot = -18.503687528639 -852000 ekin = 1.35588514515989 | erot = 1.9167555928276 | epot = -22.3689199481736 | etot = -19.0962792101861 -853000 ekin = 2.3850184465024 | erot = 2.13310598794891 | epot = -22.4485532426469 | etot = -17.9304288081955 -854000 ekin = 3.24160358995203 | erot = 2.86289112951559 | epot = -22.5134229014302 | etot = -16.4089281819626 -855000 ekin = 2.13481228779989 | erot = 1.96664100945254 | epot = -22.4546662618353 | etot = -18.3532129645828 -856000 ekin = 2.50184794641609 | erot = 1.67720759103887 | epot = -22.3993038611807 | etot = -18.2202483237257 -857000 ekin = 3.36467068168789 | erot = 2.39681039692234 | epot = -22.3226520614655 | etot = -16.5611709828553 -858000 ekin = 2.48664620814186 | erot = 2.35813115829077 | epot = -22.272278975303 | etot = -17.4275016088704 -859000 ekin = 2.32018019421645 | erot = 2.34139041664418 | epot = -22.2193920346789 | etot = -17.5578214238183 -860000 ekin = 2.22338714949804 | erot = 2.59608961594502 | epot = -22.2078599697903 | etot = -17.3883832043473 -861000 ekin = 2.78084194233445 | erot = 1.92482892867366 | epot = -22.1430552159866 | etot = -17.4373843449785 -862000 ekin = 2.44005485500116 | erot = 2.71281255016884 | epot = -22.1159986211262 | etot = -16.9631312159562 -863000 ekin = 2.24234987838148 | erot = 3.79312130641057 | epot = -22.0841490674594 | etot = -16.0486778826673 -864000 ekin = 3.01456697615184 | erot = 2.29303363412973 | epot = -22.1234826076905 | etot = -16.815881997409 -865000 ekin = 2.16000819632291 | erot = 2.15780299713575 | epot = -22.1287456416268 | etot = -17.8109344481681 -866000 ekin = 1.81163527021121 | erot = 2.32024755104635 | epot = -22.1499759612014 | etot = -18.0180931399439 -867000 ekin = 2.25540445662073 | erot = 3.35667286394567 | epot = -22.1512265495476 | etot = -16.5391492289812 -868000 ekin = 2.12606109236403 | erot = 2.09577443816696 | epot = -22.1889361717519 | etot = -17.9671006412209 -869000 ekin = 3.01588764102674 | erot = 2.28014407542063 | epot = -22.221302584169 | etot = -16.9252708677216 -870000 ekin = 2.40773894902557 | erot = 3.40007074283947 | epot = -22.1952409397611 | etot = -16.387431247896 -871000 ekin = 3.32703715357026 | erot = 3.46064712451054 | epot = -22.207619940406 | etot = -15.4199356623252 -872000 ekin = 2.67470986735512 | erot = 2.18306697620401 | epot = -22.2188283181498 | etot = -17.3610514745907 -873000 ekin = 2.52072696526388 | erot = 2.1369508485849 | epot = -22.2519152847091 | etot = -17.5942374708604 -874000 ekin = 2.27694681653708 | erot = 1.90405870618916 | epot = -22.2119486941003 | etot = -18.0309431713741 -875000 ekin = 3.04326947271929 | erot = 2.81417576356414 | epot = -22.2207355347687 | etot = -16.3632902984853 -876000 ekin = 2.65936305160015 | erot = 2.00688506244317 | epot = -22.2254483507339 | etot = -17.5592002366906 -877000 ekin = 2.1218906050998 | erot = 2.12108610918076 | epot = -22.2199840422449 | etot = -17.9770073279643 -878000 ekin = 2.04330658320778 | erot = 2.19234207701539 | epot = -22.2416061573535 | etot = -18.0059574971303 -879000 ekin = 2.32331088859055 | erot = 1.79314356421366 | epot = -22.2511349493271 | etot = -18.1346804965229 -880000 ekin = 2.7191684680603 | erot = 2.50780771372557 | epot = -22.3211844971675 | etot = -17.0942083153816 -881000 ekin = 1.99457026442112 | erot = 2.42028761684275 | epot = -22.3291049337298 | etot = -17.9142470524659 -882000 ekin = 2.17848471304109 | erot = 2.10936064799446 | epot = -22.4203903692112 | etot = -18.1325450081757 -883000 ekin = 1.77867952654183 | erot = 2.64915979670231 | epot = -22.4714725630276 | etot = -18.0436332397834 -884000 ekin = 2.14335954946475 | erot = 1.84960097278838 | epot = -22.5511502290244 | etot = -18.5581897067713 -885000 ekin = 2.1737296921439 | erot = 1.1224465172794 | epot = -22.6177136264329 | etot = -19.3215374170096 -886000 ekin = 2.42905198250288 | erot = 2.95855698435737 | epot = -22.6235099833459 | etot = -17.2359010164856 -887000 ekin = 2.48421926935623 | erot = 2.38511493603948 | epot = -22.6296650575404 | etot = -17.7603308521447 -888000 ekin = 2.70449841183027 | erot = 2.37632299730154 | epot = -22.6283104195123 | etot = -17.5474890103805 -889000 ekin = 2.16954131372983 | erot = 2.33019249573093 | epot = -22.6936030299779 | etot = -18.1938692205171 -890000 ekin = 2.47926329860922 | erot = 2.33896915658922 | epot = -22.6494572776992 | etot = -17.8312248225007 -891000 ekin = 1.94552918338144 | erot = 2.18077529869467 | epot = -22.6609703311569 | etot = -18.5346658490808 -892000 ekin = 2.28162371339856 | erot = 2.3088525744332 | epot = -22.6825434447643 | etot = -18.0920671569325 -893000 ekin = 2.88680394731139 | erot = 2.10479527485689 | epot = -22.6297583991013 | etot = -17.638159176933 -894000 ekin = 2.22095391000543 | erot = 2.6955566302385 | epot = -22.5465758433209 | etot = -17.6300653030769 -895000 ekin = 2.78422464609227 | erot = 2.65463994767233 | epot = -22.5353839067237 | etot = -17.0965193129591 -896000 ekin = 2.36290673766564 | erot = 2.68569415977408 | epot = -22.5147457657546 | etot = -17.4661448683149 -897000 ekin = 2.78793396360212 | erot = 2.64131273496852 | epot = -22.5414816276965 | etot = -17.1122349291259 -898000 ekin = 2.3402778901712 | erot = 2.19036014594362 | epot = -22.5104750621796 | etot = -17.9798370260648 -899000 ekin = 2.66788181923082 | erot = 2.47623824735052 | epot = -22.4660137235249 | etot = -17.3218936569435 -900000 ekin = 1.59318336723961 | erot = 2.21998911769617 | epot = -22.5347550915857 | etot = -18.7215826066499 -901000 ekin = 2.06417516984273 | erot = 2.10877138148894 | epot = -22.5774386825736 | etot = -18.4044921312419 -902000 ekin = 1.92723308146077 | erot = 2.68515165308711 | epot = -22.5481083061021 | etot = -17.9357235715542 -903000 ekin = 1.80993467873556 | erot = 1.57695529654776 | epot = -22.5323996660651 | etot = -19.1455096907817 -904000 ekin = 1.95575183245312 | erot = 2.60436945067914 | epot = -22.5256682806408 | etot = -17.9655469975085 -905000 ekin = 2.49381768733875 | erot = 1.66773826407627 | epot = -22.4993840902563 | etot = -18.3378281388413 -906000 ekin = 2.70456575671731 | erot = 2.32922683721416 | epot = -22.5151218166898 | etot = -17.4813292227584 -907000 ekin = 3.43903944265671 | erot = 3.0307204788449 | epot = -22.5299571834398 | etot = -16.0601972619382 -908000 ekin = 2.37356952619769 | erot = 2.64936438196245 | epot = -22.516942166439 | etot = -17.4940082582789 -909000 ekin = 2.1860703025731 | erot = 2.13921305901071 | epot = -22.5153521800656 | etot = -18.1900688184818 -910000 ekin = 2.24010023383653 | erot = 1.8514435260008 | epot = -22.5113320632559 | etot = -18.4197883034186 -911000 ekin = 2.67585852173789 | erot = 3.85348226422502 | epot = -22.4699249030924 | etot = -15.9405841171295 -912000 ekin = 3.64657818361083 | erot = 2.2905143551155 | epot = -22.4162004746889 | etot = -16.4791079359625 -913000 ekin = 2.77291999770499 | erot = 2.1022397931402 | epot = -22.2869766697588 | etot = -17.4118168789136 -914000 ekin = 1.89079293131433 | erot = 1.61085972457271 | epot = -22.2125075199665 | etot = -18.7108548640794 -915000 ekin = 2.29207178481568 | erot = 2.8656606451286 | epot = -22.1499813962335 | etot = -16.9922489662893 -916000 ekin = 2.37906860202164 | erot = 2.93218592813836 | epot = -22.1637836439351 | etot = -16.8525291137751 -917000 ekin = 2.59326894380189 | erot = 1.59995350665161 | epot = -22.1382449385233 | etot = -17.9450224880698 -918000 ekin = 2.59372186080417 | erot = 3.48686361915462 | epot = -22.1117393261149 | etot = -16.0311538461561 -919000 ekin = 3.63953975205853 | erot = 2.58422541764726 | epot = -22.1104945479772 | etot = -15.8867293782714 -920000 ekin = 2.78492990282824 | erot = 1.86208025423285 | epot = -22.0733276968689 | etot = -17.4263175398078 -921000 ekin = 3.07307788316298 | erot = 1.56848168882074 | epot = -22.0450316551233 | etot = -17.4034720831396 -922000 ekin = 2.52896264126303 | erot = 2.06804264923523 | epot = -22.0195361349236 | etot = -17.4225308444253 -923000 ekin = 2.61981998522111 | erot = 2.66954469306772 | epot = -22.0457463967354 | etot = -16.7563817184466 -924000 ekin = 2.29381022514437 | erot = 2.49801555366746 | epot = -22.0170239220671 | etot = -17.2251981432553 -925000 ekin = 2.34625944949207 | erot = 3.19587785236191 | epot = -22.028094746344 | etot = -16.4859574444901 -926000 ekin = 2.1499233373865 | erot = 2.05823289292907 | epot = -22.0551986731856 | etot = -17.84704244287 -927000 ekin = 2.70495872901843 | erot = 1.96917479663366 | epot = -22.0956495975482 | etot = -17.4215160718961 -928000 ekin = 2.20438880519295 | erot = 2.76887961394763 | epot = -22.1039091543987 | etot = -17.1306407352581 -929000 ekin = 1.66382307176874 | erot = 2.62906085068005 | epot = -22.1726645871649 | etot = -17.8797806647161 -930000 ekin = 2.44828303043728 | erot = 2.44689226426912 | epot = -22.2529456791372 | etot = -17.3577703844308 -931000 ekin = 2.34172371844874 | erot = 1.78034954048635 | epot = -22.3194053510458 | etot = -18.1973320921107 -932000 ekin = 2.86526138273858 | erot = 3.26408148037739 | epot = -22.3255275519233 | etot = -16.1961846888074 -933000 ekin = 2.82342195482862 | erot = 3.6937351987852 | epot = -22.2580157348403 | etot = -15.7408585812265 -934000 ekin = 2.38157885575329 | erot = 3.09818957660776 | epot = -22.1592884972713 | etot = -16.6795200649102 -935000 ekin = 2.47849108316876 | erot = 1.92075328373161 | epot = -22.0961420624139 | etot = -17.6968976955135 -936000 ekin = 2.49397604910015 | erot = 2.55601396404453 | epot = -22.0064014399899 | etot = -16.9564114268453 -937000 ekin = 2.6918648576103 | erot = 3.47263294076258 | epot = -22.0234522240484 | etot = -15.8589544256755 -938000 ekin = 2.48873697071885 | erot = 2.3615977813032 | epot = -21.9576739595259 | etot = -17.1073392075039 -939000 ekin = 2.7056760578856 | erot = 1.42055121093474 | epot = -22.0193047024759 | etot = -17.8930774336556 -940000 ekin = 2.88189239926779 | erot = 2.54211609996475 | epot = -21.963323771107 | etot = -16.5393152718745 -941000 ekin = 2.44770794558597 | erot = 1.8579190466837 | epot = -21.9343286748115 | etot = -17.6287016825418 -942000 ekin = 2.61959568530468 | erot = 2.22532128272654 | epot = -21.9353530015567 | etot = -17.0904360335255 -943000 ekin = 2.54153612965671 | erot = 2.71959375806095 | epot = -21.9843720500752 | etot = -16.7232421623575 -944000 ekin = 2.57930166684081 | erot = 1.60562519751619 | epot = -21.9098609218899 | etot = -17.7249340575329 -945000 ekin = 2.26017628750984 | erot = 2.67831094836454 | epot = -21.8967586325953 | etot = -16.958271396721 -946000 ekin = 2.56313399941445 | erot = 2.76984355108528 | epot = -21.885121080301 | etot = -16.5521435298013 -947000 ekin = 1.72889278969055 | erot = 1.57454364668031 | epot = -21.8264681047052 | etot = -18.5230316683343 -948000 ekin = 1.42819481646296 | erot = 2.04503560450747 | epot = -21.8391184541439 | etot = -18.3658880331735 -949000 ekin = 1.74199608841338 | erot = 1.96409283987733 | epot = -21.8667949303421 | etot = -18.1607060020513 -950000 ekin = 1.55764652514141 | erot = 2.39695530807616 | epot = -21.8856003991517 | etot = -17.9309985659341 -951000 ekin = 1.63932624900687 | erot = 2.1627973168229 | epot = -21.9503862126057 | etot = -18.1482626467759 -952000 ekin = 1.89086480907742 | erot = 2.49708005969823 | epot = -21.9454729492793 | etot = -17.5575280805036 -953000 ekin = 2.44055170062751 | erot = 2.14431771118738 | epot = -21.8959489835736 | etot = -17.3110795717587 -954000 ekin = 2.14487831289196 | erot = 3.08443398263928 | epot = -21.795825093512 | etot = -16.5665127979808 -955000 ekin = 1.60221367612371 | erot = 3.5308242347527 | epot = -21.6951891429404 | etot = -16.562151232064 -956000 ekin = 2.86347770563429 | erot = 2.69138834272026 | epot = -21.6556631266882 | etot = -16.1007970783337 -957000 ekin = 2.76520094154603 | erot = 2.16152614675844 | epot = -21.6435053042083 | etot = -16.7167782159039 -958000 ekin = 3.29226660028984 | erot = 2.62876087991651 | epot = -21.5934941292417 | etot = -15.6724666490354 -959000 ekin = 2.66337479749112 | erot = 1.93770218849588 | epot = -21.5642990170474 | etot = -16.9632220310604 -960000 ekin = 2.86423754644722 | erot = 2.19410745878017 | epot = -21.5177124722279 | etot = -16.4593674670006 -961000 ekin = 2.48295179178335 | erot = 2.43234834813273 | epot = -21.5213073923115 | etot = -16.6060072523954 -962000 ekin = 1.68087651110994 | erot = 2.11605214746261 | epot = -21.5272991731175 | etot = -17.730370514545 -963000 ekin = 2.12197709458218 | erot = 1.94777002069826 | epot = -21.5235663501543 | etot = -17.4538192348738 -964000 ekin = 2.50733406625421 | erot = 2.86610278796474 | epot = -21.6134414980076 | etot = -16.2400046437886 -965000 ekin = 2.48599183654717 | erot = 1.79499031304665 | epot = -21.5880837540441 | etot = -17.3071016044502 -966000 ekin = 2.00894333039795 | erot = 2.33897690805447 | epot = -21.6770932400157 | etot = -17.3291730015632 -967000 ekin = 2.50955412880022 | erot = 2.78273184372279 | epot = -21.7722886206001 | etot = -16.4800026480771 -968000 ekin = 2.39889345353743 | erot = 2.01767642165489 | epot = -21.8155202641564 | etot = -17.3989503889641 -969000 ekin = 2.28246497162226 | erot = 2.6610436899411 | epot = -21.8367533421236 | etot = -16.8932446805602 -970000 ekin = 2.23203775830392 | erot = 2.52493315465349 | epot = -21.7968010714725 | etot = -17.0398301585151 -971000 ekin = 2.35522817907367 | erot = 3.39194300680609 | epot = -21.8814762448495 | etot = -16.1343050589698 -972000 ekin = 2.92268851492039 | erot = 2.10931174667369 | epot = -21.8978389761888 | etot = -16.8658387145947 -973000 ekin = 2.77937322332655 | erot = 3.20264340638929 | epot = -21.8742816810463 | etot = -15.8922650513305 -974000 ekin = 2.49009389085376 | erot = 2.32800875868964 | epot = -21.7820748340866 | etot = -16.9639721845432 -975000 ekin = 2.72033534996219 | erot = 3.65469302721884 | epot = -21.7224052943306 | etot = -15.3473769171495 -976000 ekin = 2.71017392247357 | erot = 2.02557906552618 | epot = -21.6961182780945 | etot = -16.9603652900947 -977000 ekin = 2.17702730116704 | erot = 2.60235136270384 | epot = -21.6180913127583 | etot = -16.8387126488875 -978000 ekin = 1.77849232321391 | erot = 1.99858920804759 | epot = -21.5849000297842 | etot = -17.8078184985227 -979000 ekin = 2.48810087232518 | erot = 2.63640222059576 | epot = -21.6371898197889 | etot = -16.5126867268679 -980000 ekin = 1.82633711731844 | erot = 2.05813667598699 | epot = -21.6585229341326 | etot = -17.7740491408271 -981000 ekin = 1.91146199713101 | erot = 1.90004529483666 | epot = -21.7219076944834 | etot = -17.9104004025157 -982000 ekin = 1.58901547008885 | erot = 2.3998948195541 | epot = -21.7861972103806 | etot = -17.7972869207376 -983000 ekin = 1.90990791777794 | erot = 2.80966645725473 | epot = -21.7824009478711 | etot = -17.0628265728384 -984000 ekin = 3.04220145268175 | erot = 1.69588850289015 | epot = -21.8411397187458 | etot = -17.1030497631739 -985000 ekin = 2.78368169036401 | erot = 2.92615311813614 | epot = -21.9523851434087 | etot = -16.2425503349085 -986000 ekin = 2.49557629947763 | erot = 3.0544158396407 | epot = -21.9474177819392 | etot = -16.3974256428209 -987000 ekin = 2.94534789449803 | erot = 1.85813505015918 | epot = -21.9308646063833 | etot = -17.1273816617261 -988000 ekin = 3.20975095732697 | erot = 3.54928250010428 | epot = -21.8260823230639 | etot = -15.0670488656326 -989000 ekin = 2.92872893558337 | erot = 2.50053850131553 | epot = -21.7939177563688 | etot = -16.3646503194699 -990000 ekin = 1.94245878607124 | erot = 2.64876037239901 | epot = -21.7891875584096 | etot = -17.1979683999394 -991000 ekin = 2.17972550210194 | erot = 2.86510777418376 | epot = -21.8197503596152 | etot = -16.7749170833296 -992000 ekin = 2.52496188361677 | erot = 2.72509937739588 | epot = -21.7730940251365 | etot = -16.5230327641239 -993000 ekin = 2.06107125732198 | erot = 2.79131355143356 | epot = -21.7326833691733 | etot = -16.8802985604177 -994000 ekin = 2.40031262466104 | erot = 2.5219233481115 | epot = -21.7261274920277 | etot = -16.8038915192551 -995000 ekin = 1.80633536079933 | erot = 2.07468376575716 | epot = -21.7283755003117 | etot = -17.8473563737552 -996000 ekin = 2.61788487499682 | erot = 2.63730746697003 | epot = -21.6837220732346 | etot = -16.4285297312677 -997000 ekin = 3.17513078038726 | erot = 2.07778272001357 | epot = -21.6151676277683 | etot = -16.3622541273675 -998000 ekin = 2.82648577435409 | erot = 2.39219801181103 | epot = -21.4967856271291 | etot = -16.278101840964 -999000 ekin = 2.15841415676437 | erot = 2.8705487674429 | epot = -21.4943522577851 | etot = -16.4653893335778 -1000000 ekin = 2.16735910095287 | erot = 2.44618830827923 | epot = -21.395427974522 | etot = -16.7818805652899 - 1000000 0.096327071 -1.3608937 0.023679494 -1.2017543 -3.298683e-05 -Loop time of 28.7478 on 1 procs for 1000000 steps with 16 atoms - -Performance: 30054.487 tau/day, 34785.286 timesteps/s -99.2% CPU use with 1 MPI tasks x no OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 23.177 | 23.177 | 23.177 | 0.0 | 80.62 -Bond | 0.9075 | 0.9075 | 0.9075 | 0.0 | 3.16 -Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.19114 | 0.19114 | 0.19114 | 0.0 | 0.66 -Output | 8e-06 | 8e-06 | 8e-06 | 0.0 | 0.00 -Modify | 4.1695 | 4.1695 | 4.1695 | 0.0 | 14.50 -Other | | 0.303 | | | 1.05 - -Nlocal: 16.0 ave 16.0 max 16.0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 0.0 ave 0.0 max 0.0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 89.0 ave 89.0 max 89.0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 89 -Ave neighs/atom = 5.5625 -Ave special neighs/atom = 3.75 -Neighbor list builds = 0 -Dangerous builds = 0 - -#write_restart config.${number}.* -Total wall time: 0:00:28 diff --git a/examples/PACKAGES/cgdna/examples/oxDNA/duplex2/log.30Jun20.duplex2.g++.4 b/examples/PACKAGES/cgdna/examples/oxDNA/duplex2/log.30Jun20.duplex2.g++.4 deleted file mode 100644 index 773305140b..0000000000 --- a/examples/PACKAGES/cgdna/examples/oxDNA/duplex2/log.30Jun20.duplex2.g++.4 +++ /dev/null @@ -1,1176 +0,0 @@ -LAMMPS (30 Jun 2020) -variable number equal 2 -variable ofreq equal 1000 -variable efreq equal 1000 -variable T equal 0.1 - -units lj - -dimension 3 - -newton off - -boundary p p p - -atom_style hybrid bond ellipsoid -WARNING: Atom_style hybrid defines both pertype and peratom masses - both must be set, only peratom masses will be used (../atom_vec_hybrid.cpp:156) -atom_modify sort 0 1.0 - -# Pair interactions require lists of neighbours to be calculated -neighbor 1.0 bin -neigh_modify every 1 delay 0 check yes - -read_data data.duplex2 - orthogonal box = (-20 -20 -20) to (20 20 20) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 16 atoms - reading velocities ... - 16 velocities - 16 ellipsoids - scanning bonds ... - 2 = max bonds/atom - reading bonds ... - 13 bonds - 2 = max # of 1-2 neighbors - 2 = max # of 1-3 neighbors - 4 = max # of 1-4 neighbors - 6 = max # of special neighbors - special bonds CPU = 0.001 seconds - read_data CPU = 0.004 seconds - -set atom * mass 3.1575 - 16 settings made for mass - -group all type 1 4 -16 atoms in group all - -# oxDNA bond interactions - FENE backbone -bond_style oxdna/fene -bond_coeff * 2.0 0.25 0.7525 -special_bonds lj 0 1 1 - 2 = max # of 1-2 neighbors - 2 = max # of 1-3 neighbors - 4 = max # of 1-4 neighbors - 6 = max # of special neighbors - special bonds CPU = 0.000 seconds - -# oxDNA pair interactions -pair_style hybrid/overlay oxdna/excv oxdna/stk oxdna/hbond oxdna/xstk oxdna/coaxstk -pair_coeff * * oxdna/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32 -pair_coeff * * oxdna/stk seqav ${T} 1.3448 2.6568 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 -pair_coeff * * oxdna/stk seqav 0.1 1.3448 2.6568 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 -pair_coeff * * oxdna/hbond seqav 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 1 4 oxdna/hbond seqav 1.077 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 2 3 oxdna/hbond seqav 1.077 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff * * oxdna/xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68 -pair_coeff * * oxdna/coaxstk 46.0 0.4 0.6 0.22 0.58 2.0 2.541592653589793 0.65 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 -0.65 2.0 -0.65 - -# NVE ensemble -#fix 1 all nve/dot -fix 1 all nve/dotc/langevin ${T} ${T} 0.03 457145 angmom 10 -fix 1 all nve/dotc/langevin 0.1 ${T} 0.03 457145 angmom 10 -fix 1 all nve/dotc/langevin 0.1 0.1 0.03 457145 angmom 10 -#fix 1 all nve/asphere -#fix 2 all langevin ${T} ${T} 0.03 457145 angmom 10 - -timestep 1e-5 - -#comm_style tiled -#fix 3 all balance 10000 1.1 rcb -comm_modify cutoff 2.5 - -#compute mol all chunk/atom molecule -#compute mychunk all vcm/chunk mol -#fix 4 all ave/time 10000 1 10000 c_mychunk[1] c_mychunk[2] c_mychunk[3] file vcm.txt mode vector - -#dump pos all xyz ${ofreq} traj.${number}.xyz - -#compute quat all property/atom quatw quati quatj quatk -#dump quat all custom ${ofreq} quat.${number}.txt id c_quat[1] c_quat[2] c_quat[3] c_quat[4] -#dump_modify quat sort id -#dump_modify quat format line "%d %13.6le %13.6le %13.6le %13.6le" - -compute erot all erotate/asphere -compute ekin all ke -compute epot all pe -variable erot equal c_erot -variable ekin equal c_ekin -variable epot equal c_epot -variable etot equal c_erot+c_ekin+c_epot -fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes -fix 5 all print 1000 "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes - -#dump out all custom ${ofreq} out.${number}.txt id x y z vx vy vz fx fy fz tqx tqy tqz -#dump_modify out sort id -#dump_modify out format line "%d %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le" - -run 1000000 -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 1.9560004 - ghost atom cutoff = 2.5 - binsize = 0.97800022, bins = 41 41 41 - 5 neighbor lists, perpetual/occasional/extra = 5 0 0 - (1) pair oxdna/excv, perpetual - attributes: half, newton off - pair build: half/bin/newtoff - stencil: half/bin/3d/newtoff - bin: standard - (2) pair oxdna/stk, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (3) pair oxdna/hbond, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (4) pair oxdna/xstk, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (5) pair oxdna/coaxstk, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none -0 ekin = 0 | erot = 0 | epot = -24.5312382023598 | etot = -24.5312382023598 -Per MPI rank memory allocation (min/avg/max) = 7.73 | 7.787 | 7.844 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 0 -1.5402493 0.0070469125 -1.5332024 6.0760034e-06 -1000 ekin = 1.34565986428024 | erot = 2.31051421234078 | epot = -24.5061991591502 | etot = -20.8500250825292 -2000 ekin = 2.15911766687235 | erot = 2.16031365874706 | epot = -24.4723177103698 | etot = -20.1528863847504 -3000 ekin = 3.26561948796015 | erot = 2.75651822936605 | epot = -24.412573068346 | etot = -18.3904353510198 -4000 ekin = 1.92438809241066 | erot = 2.12016940074985 | epot = -24.3496233970111 | etot = -20.3050659038505 -5000 ekin = 1.35986357015476 | erot = 1.99413493074226 | epot = -24.2789445616949 | etot = -20.9249460607979 -6000 ekin = 2.19432475124593 | erot = 1.74281260409078 | epot = -24.2128064295788 | etot = -20.2756690742421 -7000 ekin = 2.65619274477635 | erot = 1.74094257048458 | epot = -24.1673462333493 | etot = -19.7702109180883 -8000 ekin = 2.51333548501169 | erot = 2.34649854571052 | epot = -24.0812769481836 | etot = -19.2214429174614 -9000 ekin = 2.24506493169711 | erot = 2.0652555461504 | epot = -23.9906736063989 | etot = -19.6803531285514 -10000 ekin = 2.36632635249862 | erot = 1.79592471761529 | epot = -23.9002627850602 | etot = -19.7380117149463 -11000 ekin = 2.03296432220126 | erot = 1.687070009478 | epot = -23.8527188138995 | etot = -20.1326844822202 -12000 ekin = 2.65352743446956 | erot = 2.50226345616878 | epot = -23.8480805937578 | etot = -18.6922897031194 -13000 ekin = 1.89067421214403 | erot = 2.35043092595414 | epot = -23.7714712440931 | etot = -19.5303661059949 -14000 ekin = 1.90680463918722 | erot = 2.12745987027399 | epot = -23.7545354032947 | etot = -19.7202708938335 -15000 ekin = 2.40428667481004 | erot = 2.06172433796653 | epot = -23.6726347642127 | etot = -19.2066237514361 -16000 ekin = 2.7510166356243 | erot = 1.18896277635344 | epot = -23.5745121257654 | etot = -19.6345327137876 -17000 ekin = 2.44090826892662 | erot = 2.38166706806441 | epot = -23.5888433865641 | etot = -18.766268049573 -18000 ekin = 2.16977970545217 | erot = 2.46915729098831 | epot = -23.6023194416344 | etot = -18.9633824451939 -19000 ekin = 2.19378610033861 | erot = 2.45183819484609 | epot = -23.5449084745393 | etot = -18.8992841793546 -20000 ekin = 2.07734013817241 | erot = 1.81448496219961 | epot = -23.5782673056893 | etot = -19.6864422053173 -21000 ekin = 2.27781532351243 | erot = 2.76369118136086 | epot = -23.5986545956161 | etot = -18.5571480907428 -22000 ekin = 2.69375785791379 | erot = 1.86436952967315 | epot = -23.5521083325077 | etot = -18.9939809449207 -23000 ekin = 1.99952884103097 | erot = 2.28032953163857 | epot = -23.4448504933921 | etot = -19.1649921207226 -24000 ekin = 2.19993258930349 | erot = 2.97916455146848 | epot = -23.365299008021 | etot = -18.1862018672491 -25000 ekin = 2.28089469652686 | erot = 2.97627567077201 | epot = -23.2873526827526 | etot = -18.0301823154537 -26000 ekin = 1.99390998801617 | erot = 2.79250495479074 | epot = -23.1859723519608 | etot = -18.3995574091539 -27000 ekin = 2.00992865272585 | erot = 2.66533768693446 | epot = -23.0781687640813 | etot = -18.402902424421 -28000 ekin = 2.00322172723407 | erot = 2.36418499091004 | epot = -23.0032647032354 | etot = -18.6358579850913 -29000 ekin = 2.52361436071784 | erot = 2.06140753694879 | epot = -22.9685706338047 | etot = -18.383548736138 -30000 ekin = 1.94969919616482 | erot = 2.13601590002587 | epot = -22.8657664932105 | etot = -18.7800513970198 -31000 ekin = 1.81286761012387 | erot = 2.31717861791922 | epot = -22.8372197907213 | etot = -18.7071735626782 -32000 ekin = 1.88389491638451 | erot = 2.00512246825909 | epot = -22.9321024454487 | etot = -19.0430850608051 -33000 ekin = 1.78524470387102 | erot = 1.83154598239148 | epot = -22.9538943248059 | etot = -19.3371036385434 -34000 ekin = 2.28023843988047 | erot = 3.11357086039974 | epot = -23.0617618407572 | etot = -17.667952540477 -35000 ekin = 2.88795920533174 | erot = 1.81662227096289 | epot = -23.1342233361349 | etot = -18.4296418598403 -36000 ekin = 2.40018487148211 | erot = 2.59182059399979 | epot = -23.2153198761915 | etot = -18.2233144107096 -37000 ekin = 2.22699211630433 | erot = 1.73889017332475 | epot = -23.2291614908027 | etot = -19.2632792011737 -38000 ekin = 2.13593461964592 | erot = 3.07590136326315 | epot = -23.1607724763685 | etot = -17.9489364934594 -39000 ekin = 2.08839393640823 | erot = 2.80471150509566 | epot = -23.1352878747759 | etot = -18.242182433272 -40000 ekin = 2.94982054413846 | erot = 2.19484102372241 | epot = -23.1842229043853 | etot = -18.0395613365244 -41000 ekin = 2.47855373480179 | erot = 3.46795094832272 | epot = -23.1698888629099 | etot = -17.2233841797854 -42000 ekin = 2.57225931171306 | erot = 3.11160980977123 | epot = -23.0914425999525 | etot = -17.4075734784682 -43000 ekin = 2.16695829201326 | erot = 2.67063324875935 | epot = -22.9841690345739 | etot = -18.1465774938013 -44000 ekin = 2.3251045436594 | erot = 3.31069456451415 | epot = -22.9099977707014 | etot = -17.2741986625279 -45000 ekin = 1.8593572517472 | erot = 3.48256913429864 | epot = -22.7853293556222 | etot = -17.4434029695763 -46000 ekin = 2.59906260222481 | erot = 2.2320785378511 | epot = -22.67184319375 | etot = -17.8407020536741 -47000 ekin = 1.90419350976819 | erot = 3.39352467596445 | epot = -22.5624536061979 | etot = -17.2647354204652 -48000 ekin = 2.46191536162942 | erot = 2.50024189038397 | epot = -22.5888330081063 | etot = -17.6266757560929 -49000 ekin = 3.18008619674969 | erot = 2.18329398142911 | epot = -22.6110647388652 | etot = -17.2476845606864 -50000 ekin = 2.92380640638812 | erot = 1.5483538313346 | epot = -22.6682279672282 | etot = -18.1960677295054 -51000 ekin = 2.8672950322524 | erot = 2.67529217516736 | epot = -22.6748886664557 | etot = -17.132301459036 -52000 ekin = 2.30283827457733 | erot = 1.82645474029551 | epot = -22.6607030819086 | etot = -18.5314100670358 -53000 ekin = 3.18697616339314 | erot = 1.6721126504968 | epot = -22.7158951183044 | etot = -17.8568063044145 -54000 ekin = 2.63274995193147 | erot = 1.96664130685842 | epot = -22.7877787224364 | etot = -18.1883874636465 -55000 ekin = 3.18311630681889 | erot = 2.85127254864952 | epot = -22.8390589862477 | etot = -16.8046701307793 -56000 ekin = 2.55275960671528 | erot = 3.05720384772626 | epot = -22.8187750450683 | etot = -17.2088115906267 -57000 ekin = 2.43682051944964 | erot = 3.45782031837858 | epot = -22.7770565571277 | etot = -16.8824157192995 -58000 ekin = 1.93888380963701 | erot = 2.51321017005837 | epot = -22.7135987564736 | etot = -18.2615047767782 -59000 ekin = 2.5584899615086 | erot = 3.52166542523796 | epot = -22.6623202639297 | etot = -16.5821648771831 -60000 ekin = 2.80661395039301 | erot = 2.89055248290058 | epot = -22.5801959967487 | etot = -16.8830295634551 -61000 ekin = 2.68598657973729 | erot = 2.54741083070049 | epot = -22.4806361765055 | etot = -17.2472387660677 -62000 ekin = 2.74493324548126 | erot = 2.23648307303268 | epot = -22.4129547813458 | etot = -17.4315384628319 -63000 ekin = 2.65627195091607 | erot = 2.46107949280746 | epot = -22.3986334001314 | etot = -17.2812819564079 -64000 ekin = 2.12379240032878 | erot = 2.79203441675509 | epot = -22.3495990435982 | etot = -17.4337722265143 -65000 ekin = 1.86782238979936 | erot = 2.70277079938777 | epot = -22.3710220966341 | etot = -17.8004289074469 -66000 ekin = 2.74983103317414 | erot = 1.93532287297332 | epot = -22.3642892005434 | etot = -17.679135294396 -67000 ekin = 2.51092055125345 | erot = 2.46618624666166 | epot = -22.3997780561407 | etot = -17.4226712582256 -68000 ekin = 2.95469759114171 | erot = 1.97026833535318 | epot = -22.465077041847 | etot = -17.5401111153521 -69000 ekin = 2.60179538487172 | erot = 2.27022574694886 | epot = -22.4013876082185 | etot = -17.529366476398 -70000 ekin = 2.38624525335422 | erot = 2.82124637267727 | epot = -22.3329612644328 | etot = -17.1254696384013 -71000 ekin = 2.6264191985346 | erot = 2.8933242992384 | epot = -22.3324946257813 | etot = -16.8127511280083 -72000 ekin = 2.93199679301318 | erot = 2.83600213853039 | epot = -22.4418753486332 | etot = -16.6738764170896 -73000 ekin = 2.20521324648382 | erot = 3.05063841714452 | epot = -22.5078076718832 | etot = -17.2519560082549 -74000 ekin = 2.16594519672766 | erot = 2.82993872672919 | epot = -22.5187768617569 | etot = -17.5228929383001 -75000 ekin = 1.52753824412461 | erot = 1.91758574309004 | epot = -22.6434864113427 | etot = -19.198362424128 -76000 ekin = 1.89477517532867 | erot = 2.83145375092216 | epot = -22.7507099037207 | etot = -18.0244809774698 -77000 ekin = 2.84722966394523 | erot = 3.20523918524772 | epot = -22.8263123696514 | etot = -16.7738435204584 -78000 ekin = 2.44900478430451 | erot = 2.80964787966681 | epot = -22.811923730311 | etot = -17.5532710663397 -79000 ekin = 2.16549328835507 | erot = 1.67531288307153 | epot = -22.8278994273521 | etot = -18.9870932559255 -80000 ekin = 2.38929173610466 | erot = 2.5835599737549 | epot = -22.7453472674482 | etot = -17.7724955575887 -81000 ekin = 2.74182188149 | erot = 1.92580771183152 | epot = -22.6872721828912 | etot = -18.0196425895697 -82000 ekin = 1.90254633515813 | erot = 1.70958501101744 | epot = -22.5904815431895 | etot = -18.9783501970139 -83000 ekin = 1.63862423461032 | erot = 1.87668722448406 | epot = -22.5030898166236 | etot = -18.9877783575292 -84000 ekin = 1.65768128899531 | erot = 2.10186039233844 | epot = -22.4199436013011 | etot = -18.6604019199674 -85000 ekin = 2.40787065796921 | erot = 2.04965431830703 | epot = -22.3401854879212 | etot = -17.882660511645 -86000 ekin = 2.51073542405177 | erot = 1.79768841940749 | epot = -22.3948638623201 | etot = -18.0864400188608 -87000 ekin = 2.13729284484532 | erot = 1.97886338867606 | epot = -22.4457225556766 | etot = -18.3295663221553 -88000 ekin = 1.7511616822056 | erot = 2.36434608342923 | epot = -22.4232555875235 | etot = -18.3077478218887 -89000 ekin = 1.85498863251071 | erot = 3.29466014836524 | epot = -22.4615925106509 | etot = -17.3119437297749 -90000 ekin = 2.22730928223451 | erot = 2.36761183779185 | epot = -22.5498488806969 | etot = -17.9549277606706 -91000 ekin = 2.40026068010467 | erot = 3.13124542611032 | epot = -22.5445138059197 | etot = -17.0130076997047 -92000 ekin = 2.69184894487886 | erot = 3.01111638487596 | epot = -22.5488335054242 | etot = -16.8458681756694 -93000 ekin = 3.04452081584098 | erot = 3.02893158250343 | epot = -22.4857514998612 | etot = -16.4122991015168 -94000 ekin = 3.21054020599498 | erot = 1.87554208928456 | epot = -22.58235617796 | etot = -17.4962738826805 -95000 ekin = 3.49164555041805 | erot = 2.891072597541 | epot = -22.651746211573 | etot = -16.269028063614 -96000 ekin = 2.89611459837769 | erot = 2.3840369162805 | epot = -22.6376886129393 | etot = -17.3575370982811 -97000 ekin = 1.94001816357314 | erot = 2.09603205774619 | epot = -22.6212143095229 | etot = -18.5851640882036 -98000 ekin = 2.21812472183551 | erot = 3.66512951907027 | epot = -22.540020786367 | etot = -16.6567665454612 -99000 ekin = 1.96304801418099 | erot = 2.78092002528642 | epot = -22.4500077741119 | etot = -17.7060397346445 -100000 ekin = 1.78146596589238 | erot = 2.66087063973067 | epot = -22.380628502186 | etot = -17.9382918965629 -101000 ekin = 2.13576431486591 | erot = 2.39189697670581 | epot = -22.3671198416411 | etot = -17.8394585500694 -102000 ekin = 1.54265458925823 | erot = 2.31301627489862 | epot = -22.3596033820569 | etot = -18.5039325179 -103000 ekin = 1.6493299781162 | erot = 2.8270014677761 | epot = -22.4044472055819 | etot = -17.9281157596896 -104000 ekin = 1.88425130865015 | erot = 3.36695629589131 | epot = -22.4614117565727 | etot = -17.2102041520312 -105000 ekin = 2.0873628063424 | erot = 1.99902589912496 | epot = -22.4857870795246 | etot = -18.3993983740573 -106000 ekin = 2.85192200005482 | erot = 1.96124421177816 | epot = -22.4885148263279 | etot = -17.6753486144949 -107000 ekin = 2.27699301124082 | erot = 1.54572940373457 | epot = -22.4328687856414 | etot = -18.610146370666 -108000 ekin = 2.43341212242249 | erot = 1.71014523953267 | epot = -22.4750159709764 | etot = -18.3314586090212 -109000 ekin = 2.3240302459673 | erot = 2.92730273400666 | epot = -22.454444740465 | etot = -17.203111760491 -110000 ekin = 2.75939007795593 | erot = 2.37261248457831 | epot = -22.4066316113364 | etot = -17.2746290488021 -111000 ekin = 2.30202775259985 | erot = 2.09098171366695 | epot = -22.340628179725 | etot = -17.9476187134582 -112000 ekin = 2.89672803093986 | erot = 1.84536318388285 | epot = -22.189229344937 | etot = -17.4471381301143 -113000 ekin = 2.80286812020301 | erot = 1.68317583122193 | epot = -22.1739192926258 | etot = -17.6878753412008 -114000 ekin = 3.41134331362354 | erot = 2.66279011393035 | epot = -22.2993892060878 | etot = -16.225255778534 -115000 ekin = 3.04096848543599 | erot = 1.72164164793761 | epot = -22.3101669297006 | etot = -17.547556796327 -116000 ekin = 3.18249263106367 | erot = 3.2187278057963 | epot = -22.376612031037 | etot = -15.975391594177 -117000 ekin = 3.04033644338919 | erot = 2.41632774149289 | epot = -22.3406101341932 | etot = -16.8839459493112 -118000 ekin = 3.22976632794611 | erot = 1.46870208555872 | epot = -22.262910646297 | etot = -17.5644422327922 -119000 ekin = 2.35815331598994 | erot = 3.0746467591689 | epot = -22.21629705762 | etot = -16.7834969824611 -120000 ekin = 1.93901604028919 | erot = 2.21087803685819 | epot = -22.1596747789505 | etot = -18.0097807018031 -121000 ekin = 1.9479198834689 | erot = 3.06697908719323 | epot = -22.1473490758083 | etot = -17.1324501051462 -122000 ekin = 1.69642311218451 | erot = 1.71065948591523 | epot = -22.235021693017 | etot = -18.8279390949172 -123000 ekin = 1.74537927001903 | erot = 2.31042772730644 | epot = -22.3250546948603 | etot = -18.2692476975348 -124000 ekin = 2.74229806685693 | erot = 1.94346011848798 | epot = -22.3376426377462 | etot = -17.6518844524013 -125000 ekin = 2.7762803161376 | erot = 1.95737420539166 | epot = -22.3561899601979 | etot = -17.6225354386687 -126000 ekin = 2.05898577806786 | erot = 1.47493157618748 | epot = -22.3918669376121 | etot = -18.8579495833568 -127000 ekin = 1.88620727578863 | erot = 1.58698481884328 | epot = -22.3753405588623 | etot = -18.9021484642304 -128000 ekin = 1.65027256647601 | erot = 1.87589048163674 | epot = -22.3576574967822 | etot = -18.8314944486694 -129000 ekin = 2.51771860981078 | erot = 2.38745668871878 | epot = -22.3622404512641 | etot = -17.4570651527345 -130000 ekin = 1.60778116741171 | erot = 2.81983062254804 | epot = -22.3043401463427 | etot = -17.8767283563829 -131000 ekin = 2.27966529707091 | erot = 2.29465997580787 | epot = -22.1860056729234 | etot = -17.6116804000446 -132000 ekin = 2.94605151024306 | erot = 2.34727265039698 | epot = -22.1004107829513 | etot = -16.8070866223112 -133000 ekin = 2.00184520718143 | erot = 2.13597622566091 | epot = -22.0860804435183 | etot = -17.948259010676 -134000 ekin = 1.54536260297594 | erot = 2.86019181856985 | epot = -22.0324797134652 | etot = -17.6269252919194 -135000 ekin = 1.7899169229158 | erot = 2.40585579784187 | epot = -22.0564792277569 | etot = -17.8607065069993 -136000 ekin = 1.63315069688348 | erot = 2.13968964990471 | epot = -22.0645410751456 | etot = -18.2917007283574 -137000 ekin = 2.36475220491125 | erot = 1.9307510547685 | epot = -22.101884847306 | etot = -17.8063815876263 -138000 ekin = 2.9554682114977 | erot = 1.58329215843879 | epot = -22.1589207193491 | etot = -17.6201603494126 -139000 ekin = 3.18559985564368 | erot = 2.24978247982886 | epot = -22.2766713145626 | etot = -16.84128897909 -140000 ekin = 2.25331500051846 | erot = 3.04264261269698 | epot = -22.4413209794808 | etot = -17.1453633662654 -141000 ekin = 1.8939664036255 | erot = 3.12730191483889 | epot = -22.6943708703896 | etot = -17.6731025519252 -142000 ekin = 2.48698722341786 | erot = 2.50204475841096 | epot = -22.8022645411413 | etot = -17.8132325593125 -143000 ekin = 2.39031114354902 | erot = 2.72027514737476 | epot = -22.7789363640122 | etot = -17.6683500730884 -144000 ekin = 1.93009742932804 | erot = 2.68112648713777 | epot = -22.6600942975093 | etot = -18.0488703810435 -145000 ekin = 1.81543048110687 | erot = 1.73927524532866 | epot = -22.6290694904769 | etot = -19.0743637640414 -146000 ekin = 2.4125202126428 | erot = 2.08569022934172 | epot = -22.5607640770181 | etot = -18.0625536350336 -147000 ekin = 1.44642974398304 | erot = 1.86921415702346 | epot = -22.4437745695726 | etot = -19.1281306685661 -148000 ekin = 1.94224767107088 | erot = 2.57935525538891 | epot = -22.4110987100047 | etot = -17.8894957835449 -149000 ekin = 2.03195649040454 | erot = 3.31786202502785 | epot = -22.312227106758 | etot = -16.9624085913257 -150000 ekin = 2.47792894576432 | erot = 2.68612874200304 | epot = -22.1392843642773 | etot = -16.97522667651 -151000 ekin = 2.75692645092955 | erot = 1.8812256584813 | epot = -21.9329416416723 | etot = -17.2947895322614 -152000 ekin = 2.7753834344323 | erot = 1.78115734250796 | epot = -21.7450724909841 | etot = -17.1885317140438 -153000 ekin = 3.09316888168833 | erot = 1.80744228044955 | epot = -21.6451473427313 | etot = -16.7445361805934 -154000 ekin = 2.31433640945477 | erot = 2.19304386678895 | epot = -21.5946356595637 | etot = -17.08725538332 -155000 ekin = 1.94169881401553 | erot = 2.67959698479411 | epot = -21.6941053409437 | etot = -17.072809542134 -156000 ekin = 2.69151609119638 | erot = 2.25048211983204 | epot = -21.7610571974251 | etot = -16.8190589863967 -157000 ekin = 3.89507004263776 | erot = 2.74501587672577 | epot = -21.8157728797743 | etot = -15.1756869604107 -158000 ekin = 2.88173407476086 | erot = 2.69702262693025 | epot = -21.8854957137509 | etot = -16.3067390120598 -159000 ekin = 3.15173323195918 | erot = 2.6174347371013 | epot = -21.8245251626835 | etot = -16.055357193623 -160000 ekin = 2.54983562435716 | erot = 3.26037467643909 | epot = -21.8527884226329 | etot = -16.0425781218367 -161000 ekin = 2.47569624391789 | erot = 2.4441841652721 | epot = -21.7973550812187 | etot = -16.8774746720287 -162000 ekin = 2.94228722137381 | erot = 2.59784970938384 | epot = -21.7813251561029 | etot = -16.2411882253452 -163000 ekin = 3.25812805712344 | erot = 2.25239331007842 | epot = -21.8200893075211 | etot = -16.3095679403192 -164000 ekin = 3.52786799143084 | erot = 2.22392713421412 | epot = -21.7646946348872 | etot = -16.0128995092423 -165000 ekin = 2.47839548873418 | erot = 2.58744140761169 | epot = -21.6790952945041 | etot = -16.6132583981583 -166000 ekin = 2.14435847552792 | erot = 3.04732688845808 | epot = -21.6219995979977 | etot = -16.4303142340117 -167000 ekin = 2.77664659649902 | erot = 2.89037999868329 | epot = -21.5339928834654 | etot = -15.8669662882831 -168000 ekin = 1.74464407802389 | erot = 2.78052653338966 | epot = -21.4288999288375 | etot = -16.903729317424 -169000 ekin = 1.8068912909333 | erot = 2.46391033708928 | epot = -21.4128285618694 | etot = -17.1420269338468 -170000 ekin = 1.69498145941511 | erot = 2.88911238881156 | epot = -21.4319269866204 | etot = -16.8478331383937 -171000 ekin = 2.15326316196646 | erot = 1.6134654780187 | epot = -21.2861470779284 | etot = -17.5194184379432 -172000 ekin = 1.67904916339532 | erot = 2.36509147316374 | epot = -21.1250864759441 | etot = -17.080945839385 -173000 ekin = 2.05349972960735 | erot = 2.18864665107749 | epot = -21.0744450592631 | etot = -16.8322986785783 -174000 ekin = 2.49402795941962 | erot = 3.1039231700088 | epot = -20.9332609664625 | etot = -15.335309837034 -175000 ekin = 2.60611029063986 | erot = 2.90993176119179 | epot = -20.8533230180669 | etot = -15.3372809662352 -176000 ekin = 2.14535974511638 | erot = 2.6771051102154 | epot = -20.8508037764829 | etot = -16.0283389211512 -177000 ekin = 2.82654664242577 | erot = 2.8064781965732 | epot = -20.9303681620826 | etot = -15.2973433230837 -178000 ekin = 3.17006270723388 | erot = 1.88204403688962 | epot = -21.0665744865168 | etot = -16.0144677423933 -179000 ekin = 2.33834827123179 | erot = 2.84870047825868 | epot = -21.1082901606944 | etot = -15.9212414112039 -180000 ekin = 2.39362550925046 | erot = 2.94575326168225 | epot = -21.1089731290028 | etot = -15.7695943580701 -181000 ekin = 2.78703231260152 | erot = 3.29998898392533 | epot = -21.0761138110654 | etot = -14.9890925145385 -182000 ekin = 3.023383912392 | erot = 2.3253310746288 | epot = -21.0444377426861 | etot = -15.6957227556653 -183000 ekin = 2.44126401356994 | erot = 2.19853056632819 | epot = -20.8846280234405 | etot = -16.2448334435424 -184000 ekin = 2.56448211253962 | erot = 2.77267067014069 | epot = -20.6657911214549 | etot = -15.3286383387746 -185000 ekin = 2.16427057092672 | erot = 1.95880146934287 | epot = -20.5647658775173 | etot = -16.4416938372477 -186000 ekin = 2.06536030915311 | erot = 3.1459346313777 | epot = -20.4537584304771 | etot = -15.2424634899463 -187000 ekin = 2.43846121057803 | erot = 1.93593042270706 | epot = -20.4775765627296 | etot = -16.1031849294445 -188000 ekin = 2.28827356508696 | erot = 2.89699235589217 | epot = -20.6028880527163 | etot = -15.4176221317372 -189000 ekin = 1.67206333515897 | erot = 3.05807378739725 | epot = -20.6184572736204 | etot = -15.8883201510642 -190000 ekin = 1.96995062226967 | erot = 2.943019674394 | epot = -20.6150380630742 | etot = -15.7020677664105 -191000 ekin = 2.31558303301195 | erot = 2.65062200614568 | epot = -20.5845049099943 | etot = -15.6182998708366 -192000 ekin = 3.58105122568799 | erot = 2.89866835149673 | epot = -20.5550364560059 | etot = -14.0753168788212 -193000 ekin = 2.69738971383614 | erot = 3.08390984677749 | epot = -20.5718609412494 | etot = -14.7905613806358 -194000 ekin = 2.65963556416735 | erot = 2.28486501061266 | epot = -20.4488832942326 | etot = -15.5043827194525 -195000 ekin = 1.85289053427901 | erot = 2.65318671222086 | epot = -20.3816844231207 | etot = -15.8756071766209 -196000 ekin = 2.28257181147918 | erot = 2.31175601065464 | epot = -20.4051132325268 | etot = -15.810785410393 -197000 ekin = 2.49770460330585 | erot = 2.55587879440512 | epot = -20.4716020539923 | etot = -15.4180186562813 -198000 ekin = 2.01700960777428 | erot = 1.51922008609382 | epot = -20.4907970823155 | etot = -16.9545673884474 -199000 ekin = 1.50027537520987 | erot = 2.19604462463445 | epot = -20.5138434458212 | etot = -16.8175234459769 -200000 ekin = 1.64850512926723 | erot = 2.45966335482571 | epot = -20.4934420686449 | etot = -16.385273584552 -201000 ekin = 2.62997533994907 | erot = 2.61637339049483 | epot = -20.5569645618355 | etot = -15.3106158313916 -202000 ekin = 2.30895175475241 | erot = 2.55653293887659 | epot = -20.6262537118088 | etot = -15.7607690181798 -203000 ekin = 1.64768887888552 | erot = 2.11556417528284 | epot = -20.6617888215465 | etot = -16.8985357673782 -204000 ekin = 2.01924097320136 | erot = 1.97748949636931 | epot = -20.7002685556681 | etot = -16.7035380860975 -205000 ekin = 2.97656554045711 | erot = 3.25408007971553 | epot = -20.9425038008424 | etot = -14.7118581806697 -206000 ekin = 2.56613069661945 | erot = 2.2162424422446 | epot = -21.0621833598182 | etot = -16.2798102209542 -207000 ekin = 3.44850636848559 | erot = 2.48816050856267 | epot = -21.2038849430866 | etot = -15.2672180660384 -208000 ekin = 2.54208934028226 | erot = 2.22605232144503 | epot = -21.3476404533667 | etot = -16.5794987916394 -209000 ekin = 3.84151461096732 | erot = 2.16534559513904 | epot = -21.4932373455843 | etot = -15.486377139478 -210000 ekin = 3.06873591712904 | erot = 2.24760815652572 | epot = -21.6427793540355 | etot = -16.3264352803807 -211000 ekin = 1.64176280869923 | erot = 2.17721976802013 | epot = -21.8130439048271 | etot = -17.9940613281078 -212000 ekin = 2.5985934050661 | erot = 2.41520703335867 | epot = -21.9964648294562 | etot = -16.9826643910315 -213000 ekin = 2.51136104390039 | erot = 1.99503544560739 | epot = -22.161492842604 | etot = -17.6550963530962 -214000 ekin = 2.77089845962619 | erot = 3.17247228684199 | epot = -22.208715104286 | etot = -16.2653443578179 -215000 ekin = 2.53408528186206 | erot = 1.84963848601796 | epot = -22.1148567901871 | etot = -17.7311330223071 -216000 ekin = 2.52671619876928 | erot = 2.77873014449688 | epot = -22.1370884570131 | etot = -16.8316421137469 -217000 ekin = 2.50171921508545 | erot = 1.89238935467003 | epot = -22.226079201001 | etot = -17.8319706312455 -218000 ekin = 2.43936294263937 | erot = 2.41974828067302 | epot = -22.2447049583244 | etot = -17.385593735012 -219000 ekin = 2.30221269367205 | erot = 2.65120674162377 | epot = -22.2807164841742 | etot = -17.3272970488784 -220000 ekin = 1.70065256620687 | erot = 2.34758543213917 | epot = -22.2809933538228 | etot = -18.2327553554767 -221000 ekin = 2.09298237125575 | erot = 2.4788648159591 | epot = -22.267957001012 | etot = -17.6961098137972 -222000 ekin = 1.58469709510937 | erot = 2.14490786301286 | epot = -22.1867412404881 | etot = -18.4571362823659 -223000 ekin = 1.83926923346352 | erot = 1.89456034969536 | epot = -22.131893392038 | etot = -18.3980638088791 -224000 ekin = 2.59583657132575 | erot = 2.93869915115498 | epot = -22.1425986650605 | etot = -16.6080629425798 -225000 ekin = 3.29351563254165 | erot = 2.84339535814139 | epot = -22.12757310355 | etot = -15.990662112867 -226000 ekin = 3.03135339447922 | erot = 2.08293143143603 | epot = -22.15283624886 | etot = -17.0385514229448 -227000 ekin = 2.50176282992082 | erot = 3.15084128846394 | epot = -22.2250438959745 | etot = -16.5724397775897 -228000 ekin = 2.32013498351673 | erot = 2.67554406359434 | epot = -22.3177515383564 | etot = -17.3220724912453 -229000 ekin = 2.89545450975318 | erot = 2.90735055857064 | epot = -22.4361496683347 | etot = -16.6333446000109 -230000 ekin = 2.28321229485933 | erot = 3.48420465632866 | epot = -22.548785995051 | etot = -16.781369043863 -231000 ekin = 2.0778632375453 | erot = 3.1067397369644 | epot = -22.5896609633152 | etot = -17.4050579888055 -232000 ekin = 2.1202374109541 | erot = 1.98747810033065 | epot = -22.5738924334392 | etot = -18.4661769221544 -233000 ekin = 2.33571877855589 | erot = 2.83585090202734 | epot = -22.5402065195541 | etot = -17.3686368389708 -234000 ekin = 2.10578223747154 | erot = 2.07381218733635 | epot = -22.5507693150832 | etot = -18.3711748902754 -235000 ekin = 2.44321041214394 | erot = 2.80846352304316 | epot = -22.5606929563186 | etot = -17.3090190211315 -236000 ekin = 2.93630791731799 | erot = 3.06315918531728 | epot = -22.4860653874721 | etot = -16.4865982848368 -237000 ekin = 3.21264879506079 | erot = 3.26866508478298 | epot = -22.3683553437861 | etot = -15.8870414639423 -238000 ekin = 2.46595539123277 | erot = 2.32502019506662 | epot = -22.3144456769666 | etot = -17.5234700906672 -239000 ekin = 2.10325864915823 | erot = 2.47631139904042 | epot = -22.301139292181 | etot = -17.7215692439824 -240000 ekin = 1.77270999777839 | erot = 2.60141429112663 | epot = -22.2344206081543 | etot = -17.8602963192493 -241000 ekin = 1.94952922244078 | erot = 1.39715216866763 | epot = -22.2207225048761 | etot = -18.8740411137677 -242000 ekin = 3.05687991591411 | erot = 2.00862394928705 | epot = -22.2213200390943 | etot = -17.1558161738932 -243000 ekin = 2.86735711945299 | erot = 1.7994811867468 | epot = -22.2697610280427 | etot = -17.6029227218429 -244000 ekin = 2.00525854269389 | erot = 2.36445341214556 | epot = -22.2726788994494 | etot = -17.90296694461 -245000 ekin = 2.28011102404838 | erot = 2.787005205328 | epot = -22.2995433574618 | etot = -17.2324271280854 -246000 ekin = 2.06819738789813 | erot = 2.24624952782284 | epot = -22.2551680110137 | etot = -17.9407210952928 -247000 ekin = 1.69964711256213 | erot = 3.22260619239826 | epot = -22.1916408256116 | etot = -17.2693875206512 -248000 ekin = 1.92997585194759 | erot = 3.61155944514366 | epot = -22.0096484177852 | etot = -16.468113120694 -249000 ekin = 2.16278530892653 | erot = 3.27771891456707 | epot = -21.8856058980726 | etot = -16.445101674579 -250000 ekin = 2.32204054211025 | erot = 2.46317574116849 | epot = -21.8028762710591 | etot = -17.0176599877804 -251000 ekin = 1.23768964067255 | erot = 2.241505337621 | epot = -21.7630657074039 | etot = -18.2838707291104 -252000 ekin = 1.79818833522214 | erot = 2.12556386664128 | epot = -21.7586349357284 | etot = -17.834882733865 -253000 ekin = 2.12809689846393 | erot = 2.59685639208403 | epot = -21.7226495687757 | etot = -16.9976962782278 -254000 ekin = 2.46813261968533 | erot = 2.00391812662871 | epot = -21.7113918037362 | etot = -17.2393410574221 -255000 ekin = 2.31566729087291 | erot = 2.03619058028117 | epot = -21.7265453183256 | etot = -17.3746874471715 -256000 ekin = 2.87223929491326 | erot = 2.61790933826622 | epot = -21.659332511914 | etot = -16.1691838787345 -257000 ekin = 2.85756762932926 | erot = 2.08174673916199 | epot = -21.6161821054731 | etot = -16.6768677369818 -258000 ekin = 2.06111021157734 | erot = 2.32748664972428 | epot = -21.5132485706726 | etot = -17.124651709371 -259000 ekin = 2.23305784057759 | erot = 2.88843859953736 | epot = -21.5040039667854 | etot = -16.3825075266705 -260000 ekin = 2.49862397932476 | erot = 2.3833688584839 | epot = -21.488210637319 | etot = -16.6062177995103 -261000 ekin = 2.09280296934734 | erot = 2.39632540029206 | epot = -21.4325331777953 | etot = -16.9434048081559 -262000 ekin = 2.33576913564289 | erot = 2.67273419354396 | epot = -21.3832241450035 | etot = -16.3747208158166 -263000 ekin = 2.20536189489354 | erot = 2.71530627040564 | epot = -21.4329409070981 | etot = -16.5122727417989 -264000 ekin = 2.2858247573423 | erot = 2.76839346219662 | epot = -21.3931084431599 | etot = -16.338890223621 -265000 ekin = 1.70928536820409 | erot = 1.79395423442895 | epot = -21.2682341921474 | etot = -17.7649945895143 -266000 ekin = 2.48721735474525 | erot = 2.08745460533225 | epot = -21.1746995817337 | etot = -16.6000276216562 -267000 ekin = 2.69283567987773 | erot = 2.10301910407212 | epot = -21.1705161290062 | etot = -16.3746613450563 -268000 ekin = 3.00000233743719 | erot = 2.80954585635721 | epot = -21.1647521126509 | etot = -15.3552039188565 -269000 ekin = 3.50713810468527 | erot = 2.35763817348002 | epot = -21.1537110688983 | etot = -15.288934790733 -270000 ekin = 3.50686942248863 | erot = 1.86462765875889 | epot = -21.1925508822801 | etot = -15.8210538010326 -271000 ekin = 3.57026082273992 | erot = 2.08172467795388 | epot = -21.277581718294 | etot = -15.6255962176003 -272000 ekin = 2.4484752533773 | erot = 3.08466485039763 | epot = -21.3619851902072 | etot = -15.8288450864322 -273000 ekin = 2.39748176307242 | erot = 3.1335505044672 | epot = -21.4386234252579 | etot = -15.9075911577183 -274000 ekin = 2.48208144431864 | erot = 2.00552494041966 | epot = -21.4476232953882 | etot = -16.9600169106499 -275000 ekin = 2.4872108114937 | erot = 3.05413598233607 | epot = -21.4713984309062 | etot = -15.9300516370765 -276000 ekin = 2.82709589676966 | erot = 2.88384306577857 | epot = -21.443459011816 | etot = -15.7325200492678 -277000 ekin = 2.23479555963312 | erot = 2.20310851955639 | epot = -21.3883073251199 | etot = -16.9504032459304 -278000 ekin = 2.81418916407429 | erot = 3.24537052192614 | epot = -21.3155364074003 | etot = -15.2559767213999 -279000 ekin = 2.57366525203698 | erot = 1.81705578305929 | epot = -21.2862101233851 | etot = -16.8954890882888 -280000 ekin = 2.41063464320149 | erot = 1.76282693004732 | epot = -21.254962528096 | etot = -17.0815009548472 -281000 ekin = 2.58126226070487 | erot = 2.29258221702168 | epot = -21.306394928225 | etot = -16.4325504504985 -282000 ekin = 3.02016903398222 | erot = 2.4309452389034 | epot = -21.4340900724633 | etot = -15.9829757995777 -283000 ekin = 2.5926914979033 | erot = 2.11330689541034 | epot = -21.6296517079942 | etot = -16.9236533146805 -284000 ekin = 2.51704243107537 | erot = 3.13156683036759 | epot = -21.7452694753527 | etot = -16.0966602139097 -285000 ekin = 2.4236537221525 | erot = 1.77228258125505 | epot = -21.8557019037769 | etot = -17.6597656003694 -286000 ekin = 1.94467195521662 | erot = 2.03660974116722 | epot = -21.901435736722 | etot = -17.9201540403382 -287000 ekin = 2.56319670376176 | erot = 2.60867050510154 | epot = -21.9067509934901 | etot = -16.7348837846268 -288000 ekin = 2.19574207425736 | erot = 1.69805542160022 | epot = -21.8143855675961 | etot = -17.9205880717385 -289000 ekin = 2.35326278833023 | erot = 1.65840109676148 | epot = -21.6976038565285 | etot = -17.6859399714368 -290000 ekin = 2.35194561775041 | erot = 1.99444238353745 | epot = -21.6551012116075 | etot = -17.3087132103196 -291000 ekin = 1.48585281531713 | erot = 2.66475825861556 | epot = -21.56036793472 | etot = -17.4097568607873 -292000 ekin = 2.1073994475645 | erot = 2.42809824662638 | epot = -21.4451596117638 | etot = -16.9096619175729 -293000 ekin = 2.11618090223715 | erot = 1.86694554151196 | epot = -21.3593625692768 | etot = -17.3762361255277 -294000 ekin = 2.06078090566327 | erot = 2.13941873359473 | epot = -21.232623310094 | etot = -17.032423670836 -295000 ekin = 2.11467178034796 | erot = 2.32673436675183 | epot = -21.1123588667461 | etot = -16.6709527196463 -296000 ekin = 1.53087058859334 | erot = 2.94008409149154 | epot = -21.2112197533848 | etot = -16.7402650732999 -297000 ekin = 2.52732986791201 | erot = 2.18380855337859 | epot = -21.1955190508786 | etot = -16.484380629588 -298000 ekin = 1.89033945823201 | erot = 2.02521913176003 | epot = -21.2593750718295 | etot = -17.3438164818375 -299000 ekin = 1.87142873048437 | erot = 1.6640456322155 | epot = -21.2919162310488 | etot = -17.7564418683489 -300000 ekin = 2.23872615546785 | erot = 1.50807257618898 | epot = -21.3339204593826 | etot = -17.5871217277257 -301000 ekin = 1.99965506724556 | erot = 2.00145094516845 | epot = -21.4707589194324 | etot = -17.4696529070184 -302000 ekin = 1.76370349732521 | erot = 2.2378770890149 | epot = -21.5675275978257 | etot = -17.5659470114856 -303000 ekin = 2.69610887251788 | erot = 1.69957221429742 | epot = -21.5563765448091 | etot = -17.1606954579938 -304000 ekin = 2.55447143501921 | erot = 2.02060813090351 | epot = -21.5692327321341 | etot = -16.9941531662114 -305000 ekin = 2.38230604232715 | erot = 2.31489374428117 | epot = -21.5335950166329 | etot = -16.8363952300246 -306000 ekin = 2.07785475765117 | erot = 2.45230660685968 | epot = -21.4550895345846 | etot = -16.9249281700738 -307000 ekin = 3.17130424567277 | erot = 3.29574614566804 | epot = -21.4151535289883 | etot = -14.9481031376475 -308000 ekin = 3.40959217051674 | erot = 2.68389483402971 | epot = -21.4778643688409 | etot = -15.3843773642944 -309000 ekin = 2.36068264180093 | erot = 2.91715332823343 | epot = -21.5794336507741 | etot = -16.3015976807397 -310000 ekin = 2.49952357229221 | erot = 2.3602895089614 | epot = -21.5982142524176 | etot = -16.738401171164 -311000 ekin = 2.53288726180907 | erot = 2.29596940545853 | epot = -21.6418553661547 | etot = -16.8129986988871 -312000 ekin = 2.05123272208704 | erot = 2.92023923411836 | epot = -21.7377547517075 | etot = -16.7662827955021 -313000 ekin = 1.80834719374889 | erot = 2.29357283142128 | epot = -21.7993116362532 | etot = -17.697391611083 -314000 ekin = 2.30684015099018 | erot = 2.20859462712275 | epot = -21.8029398081388 | etot = -17.2875050300258 -315000 ekin = 1.86413924486173 | erot = 2.14748794238473 | epot = -21.8550418960799 | etot = -17.8434147088335 -316000 ekin = 2.20558056533516 | erot = 3.03447287931581 | epot = -21.8868412075708 | etot = -16.6467877629199 -317000 ekin = 2.4782093112548 | erot = 3.56870099099487 | epot = -21.9902146748518 | etot = -15.9433043726022 -318000 ekin = 2.36582343801679 | erot = 3.01887804681551 | epot = -22.1178732891163 | etot = -16.7331718042839 -319000 ekin = 2.40464629760758 | erot = 3.15910789488741 | epot = -22.2289401281564 | etot = -16.6651859356615 -320000 ekin = 1.80206494109346 | erot = 2.83527990295433 | epot = -22.3120263401861 | etot = -17.6746814961383 -321000 ekin = 2.91146951948762 | erot = 2.25772268449837 | epot = -22.3029455835946 | etot = -17.1337533796087 -322000 ekin = 2.8226351296685 | erot = 2.67950826833979 | epot = -22.3041650189947 | etot = -16.8020216209864 -323000 ekin = 2.067323568424 | erot = 2.31975284775299 | epot = -22.3338840353559 | etot = -17.9468076191789 -324000 ekin = 2.6012747278288 | erot = 2.58351861537749 | epot = -22.3215168526943 | etot = -17.1367235094881 -325000 ekin = 3.45560055552842 | erot = 2.50162515355503 | epot = -22.1825527777624 | etot = -16.2253270686789 -326000 ekin = 3.51422890604519 | erot = 2.8442606101801 | epot = -22.0201095272524 | etot = -15.6616200110271 -327000 ekin = 2.63551490316294 | erot = 2.20570805472232 | epot = -21.9384479867006 | etot = -17.0972250288154 -328000 ekin = 1.8043914440792 | erot = 2.37599512200969 | epot = -21.8619803976419 | etot = -17.681593831553 -329000 ekin = 2.15766181563134 | erot = 2.45286496267961 | epot = -21.8518523862111 | etot = -17.2413256079002 -330000 ekin = 1.8483425992464 | erot = 2.03367429366602 | epot = -21.7684095252419 | etot = -17.8863926323295 -331000 ekin = 2.3531484336258 | erot = 1.80165819621477 | epot = -21.7197009414848 | etot = -17.5648943116442 -332000 ekin = 1.67855936307207 | erot = 2.53341219651311 | epot = -21.733643435588 | etot = -17.5216718760028 -333000 ekin = 1.60376334688456 | erot = 2.14058675025446 | epot = -21.835637958395 | etot = -18.091287861256 -334000 ekin = 2.2655199008178 | erot = 2.62486254825417 | epot = -21.879497107847 | etot = -16.989114658775 -335000 ekin = 2.91208137486082 | erot = 3.11052870452009 | epot = -21.9161692767171 | etot = -15.8935591973362 -336000 ekin = 2.73132973682385 | erot = 2.56213100489405 | epot = -21.8312488568505 | etot = -16.5377881151326 -337000 ekin = 3.15411918141902 | erot = 3.875128198312 | epot = -21.9061152574783 | etot = -14.8768678777473 -338000 ekin = 2.33141760424507 | erot = 2.13211945089679 | epot = -21.913746111238 | etot = -17.4502090560961 -339000 ekin = 1.71915361945718 | erot = 2.31270220754042 | epot = -21.9042074773719 | etot = -17.8723516503743 -340000 ekin = 1.62199393011805 | erot = 3.16990972384469 | epot = -21.8898233676231 | etot = -17.0979197136604 -341000 ekin = 1.71588704296646 | erot = 3.17642860992462 | epot = -21.8345558128149 | etot = -16.9422401599238 -342000 ekin = 1.82178091247658 | erot = 2.58875985611025 | epot = -21.7161502950572 | etot = -17.3056095264704 -343000 ekin = 3.08559255942693 | erot = 2.94813449265469 | epot = -21.7030445300996 | etot = -15.669317478018 -344000 ekin = 2.95985387154984 | erot = 3.11547515850352 | epot = -21.681548329552 | etot = -15.6062192994986 -345000 ekin = 2.33428072266864 | erot = 2.8804443128302 | epot = -21.6567075042343 | etot = -16.4419824687354 -346000 ekin = 2.02077664062698 | erot = 3.45936833964706 | epot = -21.5877268821218 | etot = -16.1075819018477 -347000 ekin = 2.34924784800441 | erot = 1.93056350805623 | epot = -21.4896151766054 | etot = -17.2098038205448 -348000 ekin = 2.79839267202794 | erot = 2.79408776517961 | epot = -21.4682057474677 | etot = -15.8757253102602 -349000 ekin = 2.33820470114615 | erot = 3.12966318670512 | epot = -21.5603039389198 | etot = -16.0924360510685 -350000 ekin = 2.22383234890832 | erot = 2.3888687038801 | epot = -21.5375784703117 | etot = -16.9248774175232 -351000 ekin = 2.33329735253339 | erot = 2.84447430695177 | epot = -21.5078106306152 | etot = -16.33003897113 -352000 ekin = 2.74923373919409 | erot = 2.76796181793622 | epot = -21.5537134920816 | etot = -16.0365179349513 -353000 ekin = 1.76111836153718 | erot = 2.12255592617517 | epot = -21.5037017999955 | etot = -17.6200275122832 -354000 ekin = 2.29967358188085 | erot = 2.37615363620183 | epot = -21.559257977819 | etot = -16.8834307597363 -355000 ekin = 2.32956787601564 | erot = 2.41406261152025 | epot = -21.5311925684016 | etot = -16.7875620808657 -356000 ekin = 2.99536507165416 | erot = 3.01337867890171 | epot = -21.461213826164 | etot = -15.4524700756081 -357000 ekin = 1.79487551861702 | erot = 2.1478177575683 | epot = -21.4425100027869 | etot = -17.4998167266015 -358000 ekin = 2.06856992699964 | erot = 1.91585051553708 | epot = -21.4597512525557 | etot = -17.475330810019 -359000 ekin = 2.03457633089973 | erot = 2.13725650388116 | epot = -21.4345843672419 | etot = -17.2627515324611 -360000 ekin = 2.64289898809605 | erot = 2.45722294398596 | epot = -21.3798303659972 | etot = -16.2797084339152 -361000 ekin = 2.44681633772951 | erot = 2.40323525392196 | epot = -21.4535746870957 | etot = -16.6035230954443 -362000 ekin = 2.27284400709389 | erot = 2.04866562998477 | epot = -21.4444048899961 | etot = -17.1228952529174 -363000 ekin = 3.23945885057604 | erot = 1.79247859381385 | epot = -21.4992698914106 | etot = -16.4673324470207 -364000 ekin = 3.01124200487832 | erot = 2.16495867321709 | epot = -21.5330648567406 | etot = -16.3568641786452 -365000 ekin = 2.51472285580871 | erot = 2.29864111879032 | epot = -21.6252096459668 | etot = -16.8118456713678 -366000 ekin = 2.59356655410024 | erot = 2.21031948632571 | epot = -21.6397726115723 | etot = -16.8358865711463 -367000 ekin = 2.23422490605625 | erot = 1.85375489374337 | epot = -21.7036464131406 | etot = -17.615666613341 -368000 ekin = 2.4774770785368 | erot = 2.36511710555107 | epot = -21.7442459693683 | etot = -16.9016517852804 -369000 ekin = 2.03854183495617 | erot = 2.80790943599038 | epot = -21.8295461127419 | etot = -16.9830948417954 -370000 ekin = 2.08495509326203 | erot = 2.15717784784086 | epot = -21.8579547558588 | etot = -17.6158218147559 -371000 ekin = 2.1649158804987 | erot = 2.10731342711639 | epot = -21.7507302872469 | etot = -17.4785009796318 -372000 ekin = 1.83416420958724 | erot = 1.90082367490456 | epot = -21.6784224725519 | etot = -17.9434345880601 -373000 ekin = 1.97176482573297 | erot = 1.7779600789095 | epot = -21.6393712386778 | etot = -17.8896463340353 -374000 ekin = 2.89940710658305 | erot = 1.91194262525378 | epot = -21.5337545453635 | etot = -16.7224048135267 -375000 ekin = 2.32339676163341 | erot = 1.92362318361284 | epot = -21.421709102519 | etot = -17.1746891572728 -376000 ekin = 2.59047552311153 | erot = 2.32394149083979 | epot = -21.4139727856534 | etot = -16.4995557717021 -377000 ekin = 2.24598863840517 | erot = 1.65770205797294 | epot = -21.3405339068232 | etot = -17.4368432104451 -378000 ekin = 2.38351514056703 | erot = 2.54156262207208 | epot = -21.3122380587448 | etot = -16.3871602961057 -379000 ekin = 2.08457212928957 | erot = 2.11819645676891 | epot = -21.2663127721437 | etot = -17.0635441860852 -380000 ekin = 2.62168026009058 | erot = 2.36576073073355 | epot = -21.2469701231191 | etot = -16.259529132295 -381000 ekin = 2.42554871977307 | erot = 2.21588725182519 | epot = -21.2594018196931 | etot = -16.6179658480948 -382000 ekin = 2.04454090532122 | erot = 3.35199327879854 | epot = -21.3507561156203 | etot = -15.9542219315006 -383000 ekin = 2.5775676978984 | erot = 1.58356833947096 | epot = -21.4206473136967 | etot = -17.2595112763273 -384000 ekin = 2.32411392435712 | erot = 2.07034159075991 | epot = -21.4254017003271 | etot = -17.0309461852101 -385000 ekin = 1.93815279071873 | erot = 3.2997037447625 | epot = -21.4993838182002 | etot = -16.2615272827189 -386000 ekin = 2.10645704249442 | erot = 2.94380940917573 | epot = -21.5050572923383 | etot = -16.4547908406681 -387000 ekin = 2.28625118399722 | erot = 2.40488022694899 | epot = -21.4350466670762 | etot = -16.74391525613 -388000 ekin = 2.84183807689895 | erot = 2.72440789072404 | epot = -21.448767296848 | etot = -15.882521329225 -389000 ekin = 3.39750799106376 | erot = 3.08194517695383 | epot = -21.6559630447603 | etot = -15.1765098767427 -390000 ekin = 2.82211920760118 | erot = 2.04880343622588 | epot = -21.7229608878358 | etot = -16.8520382440088 -391000 ekin = 2.25113345866118 | erot = 2.45876014532077 | epot = -21.7793475672487 | etot = -17.0694539632668 -392000 ekin = 2.6777973992177 | erot = 2.7527860471579 | epot = -21.9200377033298 | etot = -16.4894542569542 -393000 ekin = 2.07336639249412 | erot = 1.66102921524042 | epot = -22.0500496423093 | etot = -18.3156540345748 -394000 ekin = 2.1138614951422 | erot = 2.4065490584156 | epot = -22.0647062581752 | etot = -17.5442957046174 -395000 ekin = 2.46967791557608 | erot = 2.46187607744979 | epot = -22.0113006362931 | etot = -17.0797466432672 -396000 ekin = 3.17858061422169 | erot = 1.60030928107608 | epot = -21.9570022338792 | etot = -17.1781123385814 -397000 ekin = 2.37483507726777 | erot = 2.17387816921976 | epot = -21.8769234701934 | etot = -17.3282102237059 -398000 ekin = 2.29815779154461 | erot = 2.20148627030488 | epot = -21.8293641014529 | etot = -17.3297200396034 -399000 ekin = 2.66620669497936 | erot = 2.78316441348841 | epot = -21.7420307764657 | etot = -16.2926596679979 -400000 ekin = 1.8196142363994 | erot = 2.77573291920481 | epot = -21.7225828560707 | etot = -17.1272357004665 -401000 ekin = 2.39347596566752 | erot = 3.11237720134103 | epot = -21.763219812775 | etot = -16.2573666457665 -402000 ekin = 4.0137909252526 | erot = 3.58756310879366 | epot = -21.6952307126455 | etot = -14.0938766785993 -403000 ekin = 3.6423872335827 | erot = 3.44210139074532 | epot = -21.6932224157202 | etot = -14.6087337913922 -404000 ekin = 2.52116102522202 | erot = 2.99286839639892 | epot = -21.7395466120138 | etot = -16.2255171903929 -405000 ekin = 2.80514548558626 | erot = 3.09807228440151 | epot = -21.809681120553 | etot = -15.9064633505652 -406000 ekin = 2.32696376764902 | erot = 2.03572639782902 | epot = -21.9111381639248 | etot = -17.5484479984467 -407000 ekin = 2.33504128016394 | erot = 1.91320949168965 | epot = -21.9359478399847 | etot = -17.6876970681311 -408000 ekin = 1.90942025822264 | erot = 2.20375631379572 | epot = -21.9849314014527 | etot = -17.8717548294343 -409000 ekin = 1.98818542800297 | erot = 1.95540808206522 | epot = -22.03783497597 | etot = -18.0942414659018 -410000 ekin = 1.59823476401333 | erot = 1.9127296785249 | epot = -22.0830507565095 | etot = -18.5720863139713 -411000 ekin = 1.87320182179615 | erot = 2.46575148951074 | epot = -22.1911106440467 | etot = -17.8521573327398 -412000 ekin = 2.51909186028136 | erot = 2.65534868642726 | epot = -22.281680067606 | etot = -17.1072395208973 -413000 ekin = 2.80929435327118 | erot = 3.19888285052217 | epot = -22.190767996874 | etot = -16.1825907930807 -414000 ekin = 2.79014519733558 | erot = 2.72515195410933 | epot = -22.1448630242429 | etot = -16.629565872798 -415000 ekin = 2.4678901908732 | erot = 2.24891720770208 | epot = -22.1977268949424 | etot = -17.4809194963671 -416000 ekin = 3.30766536008867 | erot = 1.55878918639504 | epot = -22.1694878213559 | etot = -17.3030332748721 -417000 ekin = 3.95074944679109 | erot = 2.44780201516574 | epot = -22.1018895242094 | etot = -15.7033380622526 -418000 ekin = 2.77340936693416 | erot = 2.68993840817536 | epot = -21.977327562767 | etot = -16.5139797876575 -419000 ekin = 2.38275203991917 | erot = 2.97769109273479 | epot = -21.9010102007428 | etot = -16.5405670680889 -420000 ekin = 1.80397709765343 | erot = 1.82715488758969 | epot = -21.8849019003165 | etot = -18.2537699150733 -421000 ekin = 1.36681295471101 | erot = 1.76825921584578 | epot = -21.8412237154645 | etot = -18.7061515449077 -422000 ekin = 1.39959702132374 | erot = 2.73409619318274 | epot = -21.8826128255667 | etot = -17.7489196110602 -423000 ekin = 1.56944982840735 | erot = 3.0745352163647 | epot = -21.9154707534762 | etot = -17.2714857087042 -424000 ekin = 2.37132681302185 | erot = 2.02827700625919 | epot = -21.9855473914522 | etot = -17.5859435721711 -425000 ekin = 2.32398819807537 | erot = 2.54492547738624 | epot = -22.0336841510595 | etot = -17.1647704755979 -426000 ekin = 2.07554577000492 | erot = 3.12289746501957 | epot = -21.9790717327511 | etot = -16.7806284977266 -427000 ekin = 2.16798189989515 | erot = 2.43592804982976 | epot = -21.8725998895963 | etot = -17.2686899398714 -428000 ekin = 1.81044953925647 | erot = 1.65104945142325 | epot = -21.8530279543937 | etot = -18.391528963714 -429000 ekin = 1.67107266086147 | erot = 2.55773576228634 | epot = -21.8100708745401 | etot = -17.5812624513923 -430000 ekin = 2.68478182527405 | erot = 2.86091245076365 | epot = -21.8410586042845 | etot = -16.2953643282468 -431000 ekin = 2.77628795576833 | erot = 1.57824702797161 | epot = -21.8242269586438 | etot = -17.4696919749038 -432000 ekin = 2.50950337424058 | erot = 1.60698871193856 | epot = -21.7274714752277 | etot = -17.6109793890485 -433000 ekin = 1.86271272714812 | erot = 2.49153826331594 | epot = -21.7782989349596 | etot = -17.4240479444956 -434000 ekin = 2.89451059329443 | erot = 2.7999871143393 | epot = -21.9094190496406 | etot = -16.2149213420069 -435000 ekin = 3.67276301290157 | erot = 1.38568900942255 | epot = -22.090314852724 | etot = -17.0318628303999 -436000 ekin = 3.05559930935247 | erot = 2.0011229579365 | epot = -22.0922696682969 | etot = -17.0355474010079 -437000 ekin = 3.23217703427564 | erot = 1.78362343665461 | epot = -22.1039224603628 | etot = -17.0881219894326 -438000 ekin = 2.86284068923964 | erot = 1.84512171996301 | epot = -22.0628669955697 | etot = -17.3549045863671 -439000 ekin = 2.41223300999623 | erot = 2.70115548536557 | epot = -22.0444627048546 | etot = -16.9310742094928 -440000 ekin = 2.21861950215059 | erot = 3.01743511618684 | epot = -22.068610200563 | etot = -16.8325555822256 -441000 ekin = 2.8932616531564 | erot = 2.87922265473726 | epot = -22.2016049433916 | etot = -16.4291206354979 -442000 ekin = 2.05577486002272 | erot = 1.73545040283799 | epot = -22.2600410881766 | etot = -18.4688158253159 -443000 ekin = 1.86487220517439 | erot = 2.00809914782698 | epot = -22.2983494418706 | etot = -18.4253780888692 -444000 ekin = 2.06067323986939 | erot = 2.15338745019835 | epot = -22.3098473137383 | etot = -18.0957866236705 -445000 ekin = 2.10070768344239 | erot = 2.28023429868874 | epot = -22.3660019273286 | etot = -17.9850599451974 -446000 ekin = 2.41985050727236 | erot = 2.85361119161167 | epot = -22.3957509332304 | etot = -17.1222892343463 -447000 ekin = 2.19943989168951 | erot = 2.98216128214708 | epot = -22.469110173424 | etot = -17.2875089995874 -448000 ekin = 2.35402217188592 | erot = 2.94501347240091 | epot = -22.4864294789763 | etot = -17.1873938346895 -449000 ekin = 2.39054827328709 | erot = 2.92846006473406 | epot = -22.4970387577705 | etot = -17.1780304197493 -450000 ekin = 1.87726152618207 | erot = 1.69631154300644 | epot = -22.4508394587929 | etot = -18.8772663896044 -451000 ekin = 2.02069736260971 | erot = 1.92749635252742 | epot = -22.4770058621559 | etot = -18.5288121470188 -452000 ekin = 1.3666953525299 | erot = 1.87120912975428 | epot = -22.4460428971841 | etot = -19.2081384149 -453000 ekin = 2.05921418622385 | erot = 2.5605072573601 | epot = -22.2726167353286 | etot = -17.6528952917446 -454000 ekin = 1.47363002563146 | erot = 2.19122966699538 | epot = -22.1344003551401 | etot = -18.4695406625132 -455000 ekin = 1.65421215030224 | erot = 2.72189882576686 | epot = -21.9866163127307 | etot = -17.6105053366616 -456000 ekin = 2.34716429715612 | erot = 2.00764007623841 | epot = -21.90677470961 | etot = -17.5519703362155 -457000 ekin = 2.01303704889081 | erot = 2.37161581638612 | epot = -21.8782315807472 | etot = -17.4935787154703 -458000 ekin = 1.72808196373504 | erot = 2.26329030421536 | epot = -21.9079500000029 | etot = -17.9165777320525 -459000 ekin = 2.48364348461731 | erot = 2.3240575427801 | epot = -21.9914965936289 | etot = -17.1837955662315 -460000 ekin = 2.18803460742775 | erot = 2.0007959749913 | epot = -21.9555607076499 | etot = -17.7667301252308 -461000 ekin = 2.27712563450181 | erot = 2.90158501178946 | epot = -21.8847407992378 | etot = -16.7060301529466 -462000 ekin = 2.61279319699133 | erot = 1.79745093921971 | epot = -21.9114284731883 | etot = -17.5011843369773 -463000 ekin = 2.55747204597719 | erot = 3.31219898146397 | epot = -21.8470352327239 | etot = -15.9773642052827 -464000 ekin = 2.15349343963234 | erot = 2.38948322569807 | epot = -21.7801403318396 | etot = -17.2371636665092 -465000 ekin = 2.52543530387722 | erot = 3.61347339076555 | epot = -21.7051172971457 | etot = -15.5662086025029 -466000 ekin = 1.97908646325563 | erot = 2.88692153825727 | epot = -21.7203160444827 | etot = -16.8543080429698 -467000 ekin = 1.62854081734785 | erot = 2.60873315907749 | epot = -21.8060801677334 | etot = -17.568806191308 -468000 ekin = 1.09788716658785 | erot = 3.35078825295795 | epot = -21.8502881604262 | etot = -17.4016127408804 -469000 ekin = 1.70264661426319 | erot = 2.75879477289509 | epot = -21.8645169837194 | etot = -17.4030755965612 -470000 ekin = 1.85887711900485 | erot = 2.87063120254238 | epot = -21.9016760852734 | etot = -17.1721677637262 -471000 ekin = 2.74433347072485 | erot = 2.34940159205027 | epot = -21.9525184591591 | etot = -16.858783396384 -472000 ekin = 2.71861698075021 | erot = 2.13574138468281 | epot = -22.043139657379 | etot = -17.188781291946 -473000 ekin = 2.29393586139762 | erot = 2.07602652007348 | epot = -22.0689471201827 | etot = -17.6989847387116 -474000 ekin = 2.22698015950102 | erot = 2.16459704058481 | epot = -22.0688687972932 | etot = -17.6772915972074 -475000 ekin = 2.49778963349321 | erot = 2.09516395035673 | epot = -22.0493844866031 | etot = -17.4564309027531 -476000 ekin = 2.20247164730207 | erot = 1.76754680635174 | epot = -21.9411609048438 | etot = -17.97114245119 -477000 ekin = 2.45858206017653 | erot = 2.38436547911607 | epot = -21.9035926873371 | etot = -17.0606451480445 -478000 ekin = 1.89904313419097 | erot = 2.04852868041729 | epot = -21.9098024820003 | etot = -17.962230667392 -479000 ekin = 2.27135244904339 | erot = 3.08753180553182 | epot = -21.8855782232971 | etot = -16.5266939687219 -480000 ekin = 1.67006520289894 | erot = 2.76569589720094 | epot = -21.8952512589751 | etot = -17.4594901588753 -481000 ekin = 1.81868654589552 | erot = 2.9414708396822 | epot = -21.8556888607633 | etot = -17.0955314751856 -482000 ekin = 2.1529439710415 | erot = 2.07338062275435 | epot = -21.8139334476411 | etot = -17.5876088538453 -483000 ekin = 1.50003040241525 | erot = 1.99360891760259 | epot = -21.7830178599697 | etot = -18.2893785399518 -484000 ekin = 1.85249475505066 | erot = 2.33993365040866 | epot = -21.8601099434573 | etot = -17.667681537998 -485000 ekin = 1.64683537455249 | erot = 2.50435926395354 | epot = -21.8955949997619 | etot = -17.7444003612559 -486000 ekin = 1.86105919233017 | erot = 2.15998603169225 | epot = -21.8866198023574 | etot = -17.865574578335 -487000 ekin = 2.34642746027526 | erot = 3.11621484615889 | epot = -21.9694478483786 | etot = -16.5068055419444 -488000 ekin = 2.27477353342506 | erot = 3.28151732893999 | epot = -21.9413870028191 | etot = -16.3850961404541 -489000 ekin = 2.38811670508139 | erot = 2.56075035711346 | epot = -21.8588712340667 | etot = -16.9100041718718 -490000 ekin = 2.12967761012957 | erot = 3.54527785345187 | epot = -21.7605939508001 | etot = -16.0856384872187 -491000 ekin = 2.20842614718126 | erot = 2.48924156347248 | epot = -21.6457265496381 | etot = -16.9480588389844 -492000 ekin = 2.4395254440209 | erot = 2.76330603967686 | epot = -21.6220324898892 | etot = -16.4192010061915 -493000 ekin = 1.79410073842211 | erot = 2.29051754332657 | epot = -21.6936080215355 | etot = -17.6089897397868 -494000 ekin = 2.11540109224087 | erot = 3.01314449614681 | epot = -21.7627418159279 | etot = -16.6341962275402 -495000 ekin = 2.15696781071045 | erot = 2.49003984864576 | epot = -21.8774411430157 | etot = -17.2304334836595 -496000 ekin = 2.06056419551912 | erot = 2.60700167900217 | epot = -21.9267578866096 | etot = -17.2591920120883 -497000 ekin = 2.52230078856674 | erot = 1.71004976105951 | epot = -21.8761278437228 | etot = -17.6437772940965 -498000 ekin = 2.15386519150084 | erot = 1.7877582493135 | epot = -21.8235168200552 | etot = -17.8818933792409 -499000 ekin = 3.01273208137282 | erot = 1.73929065213249 | epot = -21.8383204837321 | etot = -17.0862977502268 -500000 ekin = 2.76627013489254 | erot = 2.50177083221038 | epot = -21.8296477468867 | etot = -16.5616067797838 -501000 ekin = 2.69354090483081 | erot = 2.99040340411742 | epot = -21.7028439088855 | etot = -16.0188995999373 -502000 ekin = 1.91653635860025 | erot = 3.89816773432919 | epot = -21.583432763767 | etot = -15.7687286708375 -503000 ekin = 1.8049945577739 | erot = 2.94458962426212 | epot = -21.4077198882804 | etot = -16.6581357062444 -504000 ekin = 1.7007501283395 | erot = 3.04308257832265 | epot = -21.3303407289238 | etot = -16.5865080222617 -505000 ekin = 2.75938082804563 | erot = 2.14633054935697 | epot = -21.3513040286372 | etot = -16.4455926512346 -506000 ekin = 2.29721513417039 | erot = 2.04407050893762 | epot = -21.3782890727133 | etot = -17.0370034296053 -507000 ekin = 3.17630328091397 | erot = 2.42168869077952 | epot = -21.4719630820982 | etot = -15.8739711104047 -508000 ekin = 2.53585993010305 | erot = 2.52795056175584 | epot = -21.6289259001545 | etot = -16.5651154082956 -509000 ekin = 2.12729637924758 | erot = 2.83075478444603 | epot = -21.7770419169527 | etot = -16.8189907532591 -510000 ekin = 2.16130107435063 | erot = 1.4474002808625 | epot = -21.865058134686 | etot = -18.2563567794729 -511000 ekin = 2.54314403873699 | erot = 2.77114415578344 | epot = -21.9659487167511 | etot = -16.6516605222306 -512000 ekin = 2.32805620618464 | erot = 2.80390129625045 | epot = -22.0162636771922 | etot = -16.8843061747571 -513000 ekin = 2.47643071154241 | erot = 2.16996908181989 | epot = -22.0068700128127 | etot = -17.3604702194504 -514000 ekin = 2.76735167549093 | erot = 2.5560945093739 | epot = -22.0884785602195 | etot = -16.7650323753546 -515000 ekin = 2.52241002891622 | erot = 1.82421001167332 | epot = -22.1699357425315 | etot = -17.8233157019419 -516000 ekin = 2.81865025814532 | erot = 2.22273296296804 | epot = -22.2611246405327 | etot = -17.2197414194194 -517000 ekin = 2.03359359720563 | erot = 2.04941720296977 | epot = -22.2784200990267 | etot = -18.1954092988513 -518000 ekin = 2.18715182081959 | erot = 2.76009656526116 | epot = -22.2656600846347 | etot = -17.3184116985539 -519000 ekin = 2.23054901776311 | erot = 2.23031226848963 | epot = -22.3630341627209 | etot = -17.9021728764682 -520000 ekin = 1.88803088032302 | erot = 2.2011880193367 | epot = -22.4543549024555 | etot = -18.3651360027958 -521000 ekin = 2.5788145021642 | erot = 1.87212358693392 | epot = -22.6061072334407 | etot = -18.1551691443426 -522000 ekin = 3.47616129908058 | erot = 1.7772453643546 | epot = -22.6845102288213 | etot = -17.4311035653861 -523000 ekin = 2.84567111920743 | erot = 2.47541358851175 | epot = -22.7265847722155 | etot = -17.4055000644963 -524000 ekin = 2.40295627946642 | erot = 2.37521730874542 | epot = -22.6625181827119 | etot = -17.8843445945001 -525000 ekin = 1.59533356282023 | erot = 2.61484336640372 | epot = -22.5609538171745 | etot = -18.3507768879506 -526000 ekin = 1.67014109396784 | erot = 1.59576537490726 | epot = -22.5093055920857 | etot = -19.2433991232106 -527000 ekin = 2.19651674150708 | erot = 1.9334689520564 | epot = -22.416637825963 | etot = -18.2866521323995 -528000 ekin = 2.6388100641198 | erot = 2.84216954327882 | epot = -22.4260162554832 | etot = -16.9450366480846 -529000 ekin = 2.71709856246059 | erot = 3.01205775167426 | epot = -22.459718422821 | etot = -16.7305621086861 -530000 ekin = 2.59661785995463 | erot = 2.1317538383576 | epot = -22.3199904037947 | etot = -17.5916187054825 -531000 ekin = 2.96824333148625 | erot = 2.35839785116796 | epot = -22.2231381817491 | etot = -16.8964969990948 -532000 ekin = 2.54395795354125 | erot = 2.32264886366187 | epot = -22.2374166013869 | etot = -17.3708097841837 -533000 ekin = 2.47227506927642 | erot = 2.96338827195566 | epot = -22.2425022915258 | etot = -16.8068389502938 -534000 ekin = 2.10485521169123 | erot = 2.03890745270192 | epot = -22.2614710403225 | etot = -18.1177083759294 -535000 ekin = 3.7681160256911 | erot = 2.64691499190425 | epot = -22.2333123161884 | etot = -15.8182812985931 -536000 ekin = 2.78942061222755 | erot = 1.95044966554667 | epot = -22.1701037207896 | etot = -17.4302334430154 -537000 ekin = 2.84557129562433 | erot = 2.62357964692973 | epot = -22.0783833655685 | etot = -16.6092324230145 -538000 ekin = 2.6762341850661 | erot = 2.08962851172352 | epot = -21.9551967105607 | etot = -17.1893340137711 -539000 ekin = 2.73042047481565 | erot = 2.35759238547273 | epot = -22.0351539405022 | etot = -16.9471410802139 -540000 ekin = 2.45519866431123 | erot = 2.4981181890662 | epot = -22.1989060513573 | etot = -17.2455891979799 -541000 ekin = 3.48278591732384 | erot = 2.77790849524953 | epot = -22.293113550245 | etot = -16.0324191376716 -542000 ekin = 2.48972545444614 | erot = 2.87329046778514 | epot = -22.2996895226973 | etot = -16.936673600466 -543000 ekin = 2.34702865402498 | erot = 2.86164606010259 | epot = -22.3019937721979 | etot = -17.0933190580704 -544000 ekin = 2.2292929238022 | erot = 1.46828563141241 | epot = -22.2750271034542 | etot = -18.5774485482396 -545000 ekin = 2.45402962478577 | erot = 2.14177155701245 | epot = -22.2689033162423 | etot = -17.6731021344441 -546000 ekin = 1.98437317503609 | erot = 2.24145066872857 | epot = -22.231451016773 | etot = -18.0056271730083 -547000 ekin = 2.56232506323983 | erot = 1.8957329416699 | epot = -22.2006739415904 | etot = -17.7426159366806 -548000 ekin = 1.72901692707454 | erot = 1.64127805124739 | epot = -22.1889928496838 | etot = -18.8186978713619 -549000 ekin = 1.95693771614146 | erot = 2.64543637333348 | epot = -22.3274020528097 | etot = -17.7250279633348 -550000 ekin = 1.80676199713794 | erot = 1.58556446355636 | epot = -22.4372723150787 | etot = -19.0449458543844 -551000 ekin = 2.19788558810888 | erot = 2.26343688446907 | epot = -22.4937724434742 | etot = -18.0324499708962 -552000 ekin = 2.07444206644618 | erot = 2.4924547779295 | epot = -22.5307066394854 | etot = -17.9638097951097 -553000 ekin = 2.94843364322829 | erot = 2.12309070437467 | epot = -22.5864397604241 | etot = -17.5149154128212 -554000 ekin = 2.8669013077969 | erot = 1.94289309717446 | epot = -22.7547133508173 | etot = -17.944918945846 -555000 ekin = 2.43109245651296 | erot = 2.28708567272124 | epot = -22.8403752960634 | etot = -18.1221971668292 -556000 ekin = 2.31020302439074 | erot = 2.55813703267857 | epot = -22.8772269218695 | etot = -18.0088868648002 -557000 ekin = 2.81362788715375 | erot = 1.42585523952483 | epot = -22.9385956569468 | etot = -18.6991125302682 -558000 ekin = 2.79708127877053 | erot = 1.99543683519586 | epot = -22.9818380573142 | etot = -18.1893199433478 -559000 ekin = 3.34838499070616 | erot = 2.30938187383097 | epot = -23.0552911748694 | etot = -17.3975243103323 -560000 ekin = 3.12573335081966 | erot = 2.33613155247371 | epot = -23.0531044936338 | etot = -17.5912395903404 -561000 ekin = 2.91265639708728 | erot = 2.07460770991413 | epot = -22.9816460067704 | etot = -17.994381899769 -562000 ekin = 3.33014108031755 | erot = 2.52217359738306 | epot = -22.8883444963189 | etot = -17.0360298186183 -563000 ekin = 2.70195061932616 | erot = 1.64767701341235 | epot = -22.8706676277187 | etot = -18.5210399949802 -564000 ekin = 2.82949746353249 | erot = 2.52900091959398 | epot = -22.838139252732 | etot = -17.4796408696055 -565000 ekin = 2.6799458842118 | erot = 2.05094178592405 | epot = -22.7931046586014 | etot = -18.0622169884655 -566000 ekin = 2.32981255203853 | erot = 2.16378765301413 | epot = -22.8021908760777 | etot = -18.308590671025 -567000 ekin = 1.92318241605807 | erot = 2.83258384518153 | epot = -22.7581760555384 | etot = -18.0024097942988 -568000 ekin = 2.17670374071095 | erot = 2.23391142490164 | epot = -22.7850730909043 | etot = -18.3744579252917 -569000 ekin = 2.44198813773898 | erot = 2.6516050247459 | epot = -22.7190926726892 | etot = -17.6254995102043 -570000 ekin = 2.43177788701191 | erot = 1.89766941909699 | epot = -22.6957241348109 | etot = -18.366276828702 -571000 ekin = 2.8616716748476 | erot = 2.96803868526251 | epot = -22.6955740677955 | etot = -16.8658637076854 -572000 ekin = 1.9266829320902 | erot = 3.79132932462474 | epot = -22.6581088104385 | etot = -16.9400965537235 -573000 ekin = 2.4014048576209 | erot = 2.29981222297848 | epot = -22.6359071074265 | etot = -17.9346900268271 -574000 ekin = 1.68882414912167 | erot = 2.32096306897647 | epot = -22.6777773313941 | etot = -18.667990113296 -575000 ekin = 1.85486724354783 | erot = 1.85639491114931 | epot = -22.7438316286092 | etot = -19.0325694739121 -576000 ekin = 3.24777117904094 | erot = 2.95566351376113 | epot = -22.6985695145043 | etot = -16.4951348217022 -577000 ekin = 2.89421636302283 | erot = 2.87485367144017 | epot = -22.6277887766954 | etot = -16.8587187422324 -578000 ekin = 2.40460139915755 | erot = 2.78214210780856 | epot = -22.4342254096835 | etot = -17.2474819027174 -579000 ekin = 2.40583592511148 | erot = 1.99558232802689 | epot = -22.2882462647013 | etot = -17.886828011563 -580000 ekin = 2.69821955230589 | erot = 1.94742609836086 | epot = -22.1748059732807 | etot = -17.529160322614 -581000 ekin = 2.06309002895042 | erot = 2.97622682023057 | epot = -22.0663831943618 | etot = -17.0270663451808 -582000 ekin = 2.33870950534172 | erot = 3.07899815689444 | epot = -21.9472197644711 | etot = -16.529512102235 -583000 ekin = 2.23417742887653 | erot = 2.68476937508274 | epot = -21.8372787545234 | etot = -16.9183319505641 -584000 ekin = 2.94315944829306 | erot = 2.59998006112943 | epot = -21.7510436245968 | etot = -16.2079041151743 -585000 ekin = 2.36063444131441 | erot = 2.49115855857339 | epot = -21.716664566375 | etot = -16.8648715664872 -586000 ekin = 3.56573478158494 | erot = 2.02491202456932 | epot = -21.7701198402972 | etot = -16.1794730341429 -587000 ekin = 3.53722517030309 | erot = 1.97258414970475 | epot = -21.7657911786969 | etot = -16.2559818586891 -588000 ekin = 2.82336660490038 | erot = 1.59341534726277 | epot = -21.7537853332811 | etot = -17.337003381118 -589000 ekin = 2.31627543989202 | erot = 2.20583300708156 | epot = -21.819159896967 | etot = -17.2970514499934 -590000 ekin = 2.5761147615757 | erot = 1.7276907576924 | epot = -21.8419599878986 | etot = -17.5381544686305 -591000 ekin = 1.914719960803 | erot = 3.80606547056266 | epot = -21.9343807003624 | etot = -16.2135952689968 -592000 ekin = 2.11220925054576 | erot = 2.84210516766061 | epot = -21.9632133143301 | etot = -17.0088988961237 -593000 ekin = 1.6646372491541 | erot = 2.46218741166836 | epot = -21.991443017852 | etot = -17.8646183570296 -594000 ekin = 1.86313837200261 | erot = 2.37277652331338 | epot = -22.1142340310892 | etot = -17.8783191357732 -595000 ekin = 1.63972261150116 | erot = 2.14970753455378 | epot = -22.2953930400735 | etot = -18.5059628940186 -596000 ekin = 1.86251521505325 | erot = 1.56938670177389 | epot = -22.4008561933212 | etot = -18.9689542764941 -597000 ekin = 2.21077278172449 | erot = 2.30873590521149 | epot = -22.4593134849654 | etot = -17.9398047980295 -598000 ekin = 1.86600453617805 | erot = 3.02313695685425 | epot = -22.5159510945793 | etot = -17.626809601547 -599000 ekin = 2.86269709275589 | erot = 2.19928983580779 | epot = -22.536034528565 | etot = -17.4740476000013 -600000 ekin = 2.65058373294182 | erot = 2.1453395725597 | epot = -22.4614831887335 | etot = -17.6655598832319 -601000 ekin = 2.97019047275319 | erot = 3.19822787132468 | epot = -22.326632736987 | etot = -16.1582143929091 -602000 ekin = 2.9342181584107 | erot = 2.68627396788675 | epot = -22.2239640230703 | etot = -16.6034718967729 -603000 ekin = 2.59879720190065 | erot = 2.71300694016987 | epot = -22.1699955907165 | etot = -16.8581914486459 -604000 ekin = 1.79062196644622 | erot = 2.11515604890805 | epot = -22.1925738415064 | etot = -18.2867958261521 -605000 ekin = 1.82915557452074 | erot = 2.27656815459633 | epot = -22.2178733165573 | etot = -18.1121495874403 -606000 ekin = 2.33864930282378 | erot = 2.20418036728506 | epot = -22.1612604193817 | etot = -17.6184307492728 -607000 ekin = 2.72666062231761 | erot = 2.97710490441868 | epot = -22.1567890421522 | etot = -16.453023515416 -608000 ekin = 2.45223782114265 | erot = 2.41233206147764 | epot = -22.1258176689204 | etot = -17.2612477863002 -609000 ekin = 1.9103123443041 | erot = 2.62713008552307 | epot = -22.0122680423109 | etot = -17.4748256124837 -610000 ekin = 3.01317318621525 | erot = 2.17099557280212 | epot = -21.9300149409222 | etot = -16.7458461819048 -611000 ekin = 2.44412474588955 | erot = 2.75159898142814 | epot = -21.9253433050474 | etot = -16.7296195777297 -612000 ekin = 2.50268974484936 | erot = 2.16817685060957 | epot = -21.9671518078452 | etot = -17.2962852123863 -613000 ekin = 3.01839912550875 | erot = 2.12784951047117 | epot = -22.0272786909971 | etot = -16.8810300550172 -614000 ekin = 2.25327082296097 | erot = 2.99336372547237 | epot = -22.0696405907525 | etot = -16.8230060423192 -615000 ekin = 1.66371843102219 | erot = 2.63618748290988 | epot = -21.9981136728369 | etot = -17.6982077589049 -616000 ekin = 1.8944933240536 | erot = 2.87324187406682 | epot = -22.0037089747212 | etot = -17.2359737766008 -617000 ekin = 2.14785470202862 | erot = 2.51246772527453 | epot = -22.0246986126974 | etot = -17.3643761853943 -618000 ekin = 3.11173481170738 | erot = 2.74375206798687 | epot = -21.9798263374349 | etot = -16.1243394577406 -619000 ekin = 3.41037360007647 | erot = 2.10617263526643 | epot = -21.9553411920504 | etot = -16.4387949567075 -620000 ekin = 4.28430201323245 | erot = 2.1957191595208 | epot = -21.90292903883 | etot = -15.4229078660767 -621000 ekin = 3.09569620704798 | erot = 2.5579200527576 | epot = -21.8282030152651 | etot = -16.1745867554595 -622000 ekin = 2.76028520250002 | erot = 2.60751645183696 | epot = -21.7454000468333 | etot = -16.3775983924963 -623000 ekin = 2.87264675196573 | erot = 2.90399328536428 | epot = -21.5847888275151 | etot = -15.8081487901851 -624000 ekin = 2.01886304134608 | erot = 3.41825628982886 | epot = -21.4089723845367 | etot = -15.9718530533618 -625000 ekin = 2.87961505977186 | erot = 2.69115058956302 | epot = -21.2853791748084 | etot = -15.7146135254735 -626000 ekin = 2.56085845515984 | erot = 2.15799783992829 | epot = -21.2323395606428 | etot = -16.5134832655546 -627000 ekin = 2.30201253530379 | erot = 2.40176180823354 | epot = -21.2927035084693 | etot = -16.588929164932 -628000 ekin = 2.23995601774104 | erot = 2.75333333919435 | epot = -21.455314974678 | etot = -16.4620256177426 -629000 ekin = 2.20895388847365 | erot = 1.97037787876407 | epot = -21.610417234146 | etot = -17.4310854669083 -630000 ekin = 2.4871462707876 | erot = 2.14054709042105 | epot = -21.6281308139011 | etot = -17.0004374526924 -631000 ekin = 2.05037159551177 | erot = 1.78517593497042 | epot = -21.6331433102589 | etot = -17.7975957797767 -632000 ekin = 1.65441370416735 | erot = 3.2831042715311 | epot = -21.6994880970176 | etot = -16.7619701213191 -633000 ekin = 2.34659059561855 | erot = 2.34109216039932 | epot = -21.8312685537372 | etot = -17.1435857977194 -634000 ekin = 2.31567788282477 | erot = 2.4712780706122 | epot = -21.8809017639924 | etot = -17.0939458105554 -635000 ekin = 1.99067051245485 | erot = 3.35494889731601 | epot = -21.9106362902055 | etot = -16.5650168804346 -636000 ekin = 2.50153790134664 | erot = 2.48847992577269 | epot = -21.8747399591398 | etot = -16.8847221320205 -637000 ekin = 2.76558020651622 | erot = 2.80411296109397 | epot = -21.7869209746905 | etot = -16.2172278070803 -638000 ekin = 2.45491140440701 | erot = 2.8151558595933 | epot = -21.8968446083607 | etot = -16.6267773443604 -639000 ekin = 1.89223426878329 | erot = 2.13319240780509 | epot = -21.9315821506475 | etot = -17.9061554740591 -640000 ekin = 2.12172894611398 | erot = 3.32302900673023 | epot = -21.8803218106497 | etot = -16.4355638578054 -641000 ekin = 2.09554513091345 | erot = 2.23099232244472 | epot = -21.9198354154709 | etot = -17.5932979621127 -642000 ekin = 2.28694261481673 | erot = 2.67379901999301 | epot = -21.9718627423438 | etot = -17.011121107534 -643000 ekin = 2.744472839192 | erot = 2.20403800092058 | epot = -21.9230235464268 | etot = -16.9745127063142 -644000 ekin = 2.87907701459995 | erot = 3.40687801628668 | epot = -21.9412616302816 | etot = -15.655306599395 -645000 ekin = 2.38281186883666 | erot = 2.10846097996387 | epot = -21.8300876925357 | etot = -17.3388148437352 -646000 ekin = 2.68568907435101 | erot = 1.80851531070158 | epot = -21.6847618262214 | etot = -17.1905574411688 -647000 ekin = 2.47722877856152 | erot = 2.03923301171106 | epot = -21.5874044483889 | etot = -17.0709426581163 -648000 ekin = 2.25562229204822 | erot = 1.67565814597326 | epot = -21.6993239289701 | etot = -17.7680434909486 -649000 ekin = 2.58610844989063 | erot = 1.77373064510098 | epot = -21.8575240187191 | etot = -17.4976849237275 -650000 ekin = 2.66588270497851 | erot = 2.18108360585018 | epot = -21.9508135981932 | etot = -17.1038472873645 -651000 ekin = 2.11913643076637 | erot = 3.26412345241467 | epot = -22.0193654333906 | etot = -16.6361055502095 -652000 ekin = 2.32941174826482 | erot = 2.30873319569133 | epot = -22.0419984408252 | etot = -17.4038534968691 -653000 ekin = 2.0648428652661 | erot = 2.14823788524201 | epot = -22.0572931422935 | etot = -17.8442123917854 -654000 ekin = 2.29862160782433 | erot = 1.85805598161352 | epot = -22.0910689230265 | etot = -17.9343913335886 -655000 ekin = 2.10941796901071 | erot = 1.77798843556509 | epot = -22.0694006428864 | etot = -18.1819942383106 -656000 ekin = 2.47625408636497 | erot = 2.33538026369006 | epot = -22.0466976130346 | etot = -17.2350632629796 -657000 ekin = 2.50533498663532 | erot = 2.85849882524471 | epot = -22.0769458799067 | etot = -16.7131120680267 -658000 ekin = 2.50225541618483 | erot = 2.85625932114156 | epot = -22.0511557631718 | etot = -16.6926410258454 -659000 ekin = 3.39371926051805 | erot = 2.76525782770508 | epot = -21.9060640783663 | etot = -15.7470869901432 -660000 ekin = 2.71591740302079 | erot = 2.00360570980063 | epot = -21.7628277690744 | etot = -17.043304656253 -661000 ekin = 2.22252752899417 | erot = 2.53760290280427 | epot = -21.6292254759783 | etot = -16.8690950441799 -662000 ekin = 2.05296914064405 | erot = 2.55185124215154 | epot = -21.5811922241459 | etot = -16.9763718413503 -663000 ekin = 2.25677932682754 | erot = 2.31580178345621 | epot = -21.5535923948076 | etot = -16.9810112845238 -664000 ekin = 2.34856452305364 | erot = 1.86775188552653 | epot = -21.4530740440284 | etot = -17.2367576354483 -665000 ekin = 2.63111504026501 | erot = 2.28726928484771 | epot = -21.3846024000308 | etot = -16.4662180749181 -666000 ekin = 1.64075072082918 | erot = 2.31336726697097 | epot = -21.2830441766066 | etot = -17.3289261888065 -667000 ekin = 1.67151341437157 | erot = 2.82297479485494 | epot = -21.1978062440647 | etot = -16.7033180348382 -668000 ekin = 2.49938009250085 | erot = 3.28711483409768 | epot = -21.0664148636443 | etot = -15.2799199370457 -669000 ekin = 1.62232962120344 | erot = 2.64367899162068 | epot = -20.9834308093409 | etot = -16.7174221965168 -670000 ekin = 2.22815723319758 | erot = 2.60319748550307 | epot = -20.9017148964281 | etot = -16.0703601777275 -671000 ekin = 2.27399198808932 | erot = 2.15907350601013 | epot = -20.8548869535533 | etot = -16.4218214594538 -672000 ekin = 1.96813107327782 | erot = 1.65324359657507 | epot = -20.772525080039 | etot = -17.1511504101861 -673000 ekin = 1.89901466802435 | erot = 2.07212800226185 | epot = -20.7410076393374 | etot = -16.7698649690512 -674000 ekin = 2.08208137777485 | erot = 2.16201236525253 | epot = -20.7653673426948 | etot = -16.5212735996674 -675000 ekin = 2.0453276771275 | erot = 2.48425879615287 | epot = -20.7843939429191 | etot = -16.2548074696387 -676000 ekin = 2.45143986767107 | erot = 2.78633106178593 | epot = -20.8123774066529 | etot = -15.5746064771959 -677000 ekin = 2.19157287399382 | erot = 2.62633282573085 | epot = -20.8265856172367 | etot = -16.008679917512 -678000 ekin = 2.13997346968594 | erot = 2.79122127613926 | epot = -20.7113565112497 | etot = -15.7801617654245 -679000 ekin = 2.16938962390632 | erot = 2.17589740910314 | epot = -20.6051510781816 | etot = -16.2598640451722 -680000 ekin = 2.08639324470195 | erot = 2.68206939589547 | epot = -20.6273390457908 | etot = -15.8588764051934 -681000 ekin = 2.17629732810903 | erot = 1.82420607644455 | epot = -20.7142689529019 | etot = -16.7137655483484 -682000 ekin = 3.02912978468384 | erot = 2.39650400849398 | epot = -20.6940095597209 | etot = -15.268375766543 -683000 ekin = 2.84669773609778 | erot = 2.0986204490286 | epot = -20.7021074415215 | etot = -15.7567892563951 -684000 ekin = 1.96664671503579 | erot = 2.99517270495454 | epot = -20.7465124798198 | etot = -15.7846930598294 -685000 ekin = 1.50234716171427 | erot = 2.04490190725428 | epot = -20.7574586814665 | etot = -17.2102096124979 -686000 ekin = 2.2983326300428 | erot = 2.55614840511419 | epot = -20.7458450763069 | etot = -15.8913640411499 -687000 ekin = 1.8557723170762 | erot = 2.84941631673454 | epot = -20.6738522345032 | etot = -15.9686636006925 -688000 ekin = 2.56405256659889 | erot = 2.23115057372413 | epot = -20.6302627184135 | etot = -15.8350595780904 -689000 ekin = 2.75063212318972 | erot = 2.68162291280505 | epot = -20.7838487483938 | etot = -15.351593712399 -690000 ekin = 2.6815028132868 | erot = 2.52132555802218 | epot = -21.0487980543157 | etot = -15.8459696830068 -691000 ekin = 2.29143802116346 | erot = 2.52222072052105 | epot = -21.2158695525349 | etot = -16.4022108108504 -692000 ekin = 2.4246270425625 | erot = 3.24973814883517 | epot = -21.2444446764855 | etot = -15.5700794850878 -693000 ekin = 2.38038731016142 | erot = 2.9968191678008 | epot = -21.3131544661847 | etot = -15.9359479882225 -694000 ekin = 2.69963794803277 | erot = 2.53306749808314 | epot = -21.5028226467206 | etot = -16.2701172006047 -695000 ekin = 2.49329729781653 | erot = 1.18245567143116 | epot = -21.6798414810252 | etot = -18.0040885117775 -696000 ekin = 1.86320369897189 | erot = 1.46627983716862 | epot = -21.665818352319 | etot = -18.3363348161785 -697000 ekin = 2.40483641810464 | erot = 2.10687269227545 | epot = -21.7015701067683 | etot = -17.1898609963882 -698000 ekin = 2.32104204819312 | erot = 1.91618970993301 | epot = -21.7674602711953 | etot = -17.5302285130692 -699000 ekin = 2.45122174410528 | erot = 2.56320773764919 | epot = -21.7532145628501 | etot = -16.7387850810956 -700000 ekin = 2.13478862711018 | erot = 2.28875108681682 | epot = -21.6619710583027 | etot = -17.2384313443757 -701000 ekin = 2.15430012038637 | erot = 2.18434613511233 | epot = -21.5402240218772 | etot = -17.2015777663785 -702000 ekin = 1.57710248759615 | erot = 1.99882868785594 | epot = -21.49627530475 | etot = -17.9203441292979 -703000 ekin = 2.08893022036769 | erot = 2.17530309960948 | epot = -21.5146124029064 | etot = -17.2503790829292 -704000 ekin = 2.82158558148019 | erot = 1.94529304578916 | epot = -21.5362273629372 | etot = -16.7693487356679 -705000 ekin = 2.80985515279542 | erot = 2.16764072993712 | epot = -21.4883886516798 | etot = -16.5108927689472 -706000 ekin = 1.97469093776246 | erot = 2.31446109128202 | epot = -21.4846235511326 | etot = -17.1954715220882 -707000 ekin = 1.90739234287698 | erot = 2.04402779053621 | epot = -21.5406324629157 | etot = -17.5892123295025 -708000 ekin = 2.48934210084869 | erot = 2.15886534084806 | epot = -21.5617376681341 | etot = -16.9135302264373 -709000 ekin = 2.88909793919243 | erot = 2.58134997867787 | epot = -21.6032655988125 | etot = -16.1328176809422 -710000 ekin = 2.18226376204308 | erot = 2.2781120102664 | epot = -21.5729606480227 | etot = -17.1125848757132 -711000 ekin = 2.31693491167058 | erot = 1.40165937970165 | epot = -21.59486559309 | etot = -17.8762713017178 -712000 ekin = 2.5598074081136 | erot = 2.27261456104693 | epot = -21.7093783142763 | etot = -16.8769563451158 -713000 ekin = 1.95731492543824 | erot = 2.3177907879475 | epot = -21.7925969744163 | etot = -17.5174912610306 -714000 ekin = 2.56349602857406 | erot = 2.10802762811156 | epot = -21.8549579399156 | etot = -17.18343428323 -715000 ekin = 2.42420336547985 | erot = 3.74011705339237 | epot = -21.8363873817813 | etot = -15.6720669629091 -716000 ekin = 2.83424908488974 | erot = 2.84906269643008 | epot = -21.7516725023646 | etot = -16.0683607210448 -717000 ekin = 3.449141155469 | erot = 3.20655139229296 | epot = -21.6556489626088 | etot = -14.9999564148469 -718000 ekin = 3.10544916005123 | erot = 3.94111109893272 | epot = -21.5509268479497 | etot = -14.5043665889657 -719000 ekin = 2.38560143578601 | erot = 2.95196851228004 | epot = -21.5368313311174 | etot = -16.1992613830513 -720000 ekin = 2.22547766761154 | erot = 3.14352355524054 | epot = -21.5280561989878 | etot = -16.1590549761357 -721000 ekin = 1.71648896607559 | erot = 2.23916158851569 | epot = -21.4544704731448 | etot = -17.4988199185535 -722000 ekin = 1.92969886536088 | erot = 2.81516182454304 | epot = -21.4789602411171 | etot = -16.7340995512131 -723000 ekin = 2.37878330622949 | erot = 2.55685717442619 | epot = -21.4258282544299 | etot = -16.4901877737742 -724000 ekin = 1.74694406742187 | erot = 2.45584755221003 | epot = -21.4005294054569 | etot = -17.197737785825 -725000 ekin = 2.29310276841874 | erot = 2.95220863719859 | epot = -21.4633620430606 | etot = -16.2180506374432 -726000 ekin = 1.63448654082141 | erot = 2.30654545762654 | epot = -21.5038765351965 | etot = -17.5628445367485 -727000 ekin = 2.46595168496949 | erot = 3.19849750353943 | epot = -21.5266836250346 | etot = -15.8622344365256 -728000 ekin = 2.21687538357189 | erot = 2.165919089739 | epot = -21.513377733993 | etot = -17.1305832606821 -729000 ekin = 1.89362806269803 | erot = 1.6657813694817 | epot = -21.5533880281027 | etot = -17.993978595923 -730000 ekin = 1.78199630529827 | erot = 2.15399263718836 | epot = -21.5485428072817 | etot = -17.6125538647951 -731000 ekin = 2.16845146601146 | erot = 2.96876326415235 | epot = -21.4849197438583 | etot = -16.3477050136945 -732000 ekin = 2.41098004969989 | erot = 2.27162025823661 | epot = -21.3730972185635 | etot = -16.690496910627 -733000 ekin = 3.04997179731017 | erot = 2.57297105879857 | epot = -21.4193189845269 | etot = -15.7963761284182 -734000 ekin = 2.36878310719472 | erot = 2.04459379545547 | epot = -21.4834058303776 | etot = -17.0700289277274 -735000 ekin = 2.13407288267268 | erot = 1.55092026474352 | epot = -21.5368505426165 | etot = -17.8518573952003 -736000 ekin = 2.1362063540729 | erot = 3.45790946645046 | epot = -21.6430634912022 | etot = -16.0489476706788 -737000 ekin = 1.73554233533154 | erot = 3.58779507650378 | epot = -21.6702622900886 | etot = -16.3469248782532 -738000 ekin = 2.01164487816147 | erot = 2.50514634893196 | epot = -21.6986247134705 | etot = -17.1818334863771 -739000 ekin = 1.85074759845217 | erot = 2.19370944227887 | epot = -21.7133968547419 | etot = -17.6689398140108 -740000 ekin = 2.84699687053757 | erot = 2.7912333503138 | epot = -21.7387373822546 | etot = -16.1005071614032 -741000 ekin = 2.47259234369835 | erot = 2.90849116827955 | epot = -21.7966678254519 | etot = -16.415584313474 -742000 ekin = 2.74165618770735 | erot = 3.26593517824215 | epot = -21.9343343201998 | etot = -15.9267429542503 -743000 ekin = 2.23285850131327 | erot = 3.20738521933767 | epot = -22.0692807008484 | etot = -16.6290369801974 -744000 ekin = 2.0089223878876 | erot = 3.79240058007591 | epot = -22.1503347602461 | etot = -16.3490117922826 -745000 ekin = 3.13933421257374 | erot = 2.32790266093992 | epot = -22.1471844512455 | etot = -16.6799475777318 -746000 ekin = 2.96008666942407 | erot = 2.64881993709762 | epot = -22.122986971371 | etot = -16.5140803648493 -747000 ekin = 2.31606158946103 | erot = 2.05363821834659 | epot = -22.1269013575191 | etot = -17.7572015497115 -748000 ekin = 2.36202846469555 | erot = 2.41533863458708 | epot = -22.1607507396176 | etot = -17.3833836403349 -749000 ekin = 2.07010000324332 | erot = 2.77477767451978 | epot = -22.1615532796329 | etot = -17.3166756018698 -750000 ekin = 1.65856288792329 | erot = 2.38394476194078 | epot = -22.2376789275399 | etot = -18.1951712776758 -751000 ekin = 1.79369238822413 | erot = 2.82711279056287 | epot = -22.3399930058064 | etot = -17.7191878270194 -752000 ekin = 1.3565337369664 | erot = 1.46027272724399 | epot = -22.4259407567778 | etot = -19.6091342925674 -753000 ekin = 1.88677173003379 | erot = 2.44011815977781 | epot = -22.3759237785306 | etot = -18.049033888719 -754000 ekin = 1.74757468714757 | erot = 2.73579703445366 | epot = -22.2777874333258 | etot = -17.7944157117246 -755000 ekin = 2.39540881497791 | erot = 2.40997626783999 | epot = -22.1989471718282 | etot = -17.3935620890103 -756000 ekin = 1.8374249552549 | erot = 2.7898384136326 | epot = -22.1256041210015 | etot = -17.498340752114 -757000 ekin = 1.97252620256626 | erot = 2.57811195064152 | epot = -22.0524369346386 | etot = -17.5017987814308 -758000 ekin = 1.18943353600229 | erot = 2.72305618385831 | epot = -21.9808261825123 | etot = -18.0683364626517 -759000 ekin = 2.16138393466163 | erot = 1.3977782924933 | epot = -21.9922114478071 | etot = -18.4330492206522 -760000 ekin = 2.57272139862155 | erot = 2.33385746622741 | epot = -22.0280808566088 | etot = -17.1215019917599 -761000 ekin = 2.08641160599719 | erot = 2.24969428592799 | epot = -22.1058253802024 | etot = -17.7697194882772 -762000 ekin = 2.1361825080532 | erot = 1.66094626659748 | epot = -22.1311549030111 | etot = -18.3340261283604 -763000 ekin = 2.43010472752659 | erot = 3.36039539289095 | epot = -22.2016765636182 | etot = -16.4111764432007 -764000 ekin = 2.84811842220375 | erot = 2.79168514035599 | epot = -22.2088162305687 | etot = -16.569012668009 -765000 ekin = 1.81453694547676 | erot = 2.77469277969824 | epot = -22.1144835078989 | etot = -17.5252537827239 -766000 ekin = 2.64878768483921 | erot = 2.31374812658081 | epot = -21.9875154152781 | etot = -17.0249796038581 -767000 ekin = 2.58989188969789 | erot = 2.86706483154975 | epot = -21.9043548536665 | etot = -16.4473981324189 -768000 ekin = 1.86368721962895 | erot = 2.78532510291609 | epot = -21.9343474885242 | etot = -17.2853351659791 -769000 ekin = 2.40214820980699 | erot = 2.31347943810898 | epot = -22.0333978303343 | etot = -17.3177701824184 -770000 ekin = 2.49202416232453 | erot = 3.23110904096713 | epot = -22.1402797305012 | etot = -16.4171465272095 -771000 ekin = 2.33292298096755 | erot = 2.27796352597305 | epot = -22.17790877141 | etot = -17.5670222644694 -772000 ekin = 2.29055460354208 | erot = 2.99393464583806 | epot = -22.2735812923856 | etot = -16.9890920430054 -773000 ekin = 2.23134390761289 | erot = 1.82253948832535 | epot = -22.3356201893464 | etot = -18.2817367934081 -774000 ekin = 2.82484138078993 | erot = 2.21081663204023 | epot = -22.3299367088855 | etot = -17.2942786960554 -775000 ekin = 1.82366213720863 | erot = 1.87126548470211 | epot = -22.2720238956272 | etot = -18.5770962737165 -776000 ekin = 1.39176212331748 | erot = 3.16041697920643 | epot = -22.2452599321026 | etot = -17.6930808295787 -777000 ekin = 1.62656494455193 | erot = 2.80889498236168 | epot = -22.1606670215091 | etot = -17.7252070945955 -778000 ekin = 1.49453026929824 | erot = 2.24185784607895 | epot = -22.1729818621132 | etot = -18.436593746736 -779000 ekin = 1.88163725615419 | erot = 1.90711264831679 | epot = -22.2125328330488 | etot = -18.4237829285778 -780000 ekin = 1.70286422785891 | erot = 2.30497222936397 | epot = -22.2799394088718 | etot = -18.2721029516489 -781000 ekin = 2.12678565466725 | erot = 2.5607588088585 | epot = -22.3659184198104 | etot = -17.6783739562846 -782000 ekin = 2.6031276814174 | erot = 1.95727704696267 | epot = -22.2790730674379 | etot = -17.7186683390578 -783000 ekin = 2.1948400081794 | erot = 2.90035247320886 | epot = -22.2007535116304 | etot = -17.1055610302421 -784000 ekin = 2.84936415382249 | erot = 2.24073860376602 | epot = -22.2096265501644 | etot = -17.1195237925759 -785000 ekin = 3.14239456216427 | erot = 2.92883564065743 | epot = -22.250724619048 | etot = -16.1794944162263 -786000 ekin = 2.83302205045547 | erot = 3.44600351958776 | epot = -22.2930098599336 | etot = -16.0139842898904 -787000 ekin = 2.41036243622077 | erot = 3.01402072617264 | epot = -22.2336456938648 | etot = -16.8092625314714 -788000 ekin = 1.99496987344553 | erot = 2.0160805570118 | epot = -22.2004170890862 | etot = -18.1893666586289 -789000 ekin = 2.46197992481173 | erot = 2.27411334262936 | epot = -22.132074772345 | etot = -17.3959815049039 -790000 ekin = 3.57873057583599 | erot = 2.82417596997282 | epot = -22.0695018605637 | etot = -15.6665953147549 -791000 ekin = 3.12331080904155 | erot = 2.42394177795114 | epot = -22.080644982627 | etot = -16.5333923956343 -792000 ekin = 3.95364280137309 | erot = 1.97266999125562 | epot = -22.0153287445499 | etot = -16.0890159519212 -793000 ekin = 2.26819643622963 | erot = 2.58701659000735 | epot = -21.9215549471255 | etot = -17.0663419208885 -794000 ekin = 2.16067669778386 | erot = 2.44301139774416 | epot = -21.7616964244106 | etot = -17.1580083288826 -795000 ekin = 1.62512477760333 | erot = 2.41826409844339 | epot = -21.600959390557 | etot = -17.5575705145103 -796000 ekin = 2.18368115482543 | erot = 2.13083402580691 | epot = -21.4815591943755 | etot = -17.1670440137431 -797000 ekin = 1.81443490468363 | erot = 1.99530711788362 | epot = -21.473386092747 | etot = -17.6636440701797 -798000 ekin = 2.22066977376058 | erot = 2.5136217615585 | epot = -21.5005357102706 | etot = -16.7662441749516 -799000 ekin = 1.89003567281256 | erot = 2.87071760546339 | epot = -21.4707763423861 | etot = -16.7100230641101 -800000 ekin = 2.14249138302219 | erot = 2.35217342569423 | epot = -21.3794335794328 | etot = -16.8847687707164 -801000 ekin = 1.84325206062913 | erot = 1.65490182118709 | epot = -21.2215462073953 | etot = -17.7233923255791 -802000 ekin = 2.20306916659744 | erot = 2.22362280870385 | epot = -21.1078917551145 | etot = -16.6811997798132 -803000 ekin = 2.64756180889851 | erot = 1.90771195713019 | epot = -21.075516629541 | etot = -16.5202428635123 -804000 ekin = 2.34383808048561 | erot = 2.89135072882195 | epot = -21.017800229163 | etot = -15.7826114198554 -805000 ekin = 1.79807471993961 | erot = 2.71703055229461 | epot = -20.8858735264626 | etot = -16.3707682542284 -806000 ekin = 1.74933039138001 | erot = 2.08508375084938 | epot = -20.8501295844101 | etot = -17.0157154421807 -807000 ekin = 1.57086516216332 | erot = 1.70410734557162 | epot = -20.9085753440719 | etot = -17.633602836337 -808000 ekin = 2.08081471116263 | erot = 2.40350759554646 | epot = -20.984850158389 | etot = -16.50052785168 -809000 ekin = 2.61726856088296 | erot = 1.51240481195689 | epot = -20.9779384430211 | etot = -16.8482650701812 -810000 ekin = 3.07307660201955 | erot = 2.65446786899303 | epot = -20.8951461498987 | etot = -15.1676016788862 -811000 ekin = 3.02865521289707 | erot = 3.61705494723141 | epot = -20.938700013487 | etot = -14.2929898533586 -812000 ekin = 2.13828724317889 | erot = 2.79208705150833 | epot = -21.0253177933673 | etot = -16.0949434986801 -813000 ekin = 2.19066742087212 | erot = 3.16148861694095 | epot = -21.2162063121508 | etot = -15.8640502743377 -814000 ekin = 1.70799980950659 | erot = 2.98447609556824 | epot = -21.3083573707191 | etot = -16.6158814656443 -815000 ekin = 2.14655793408327 | erot = 2.27340066456812 | epot = -21.3095101360258 | etot = -16.8895515373744 -816000 ekin = 2.70387013105122 | erot = 1.53091743336716 | epot = -21.3380867226337 | etot = -17.1032991582153 -817000 ekin = 2.55772150346674 | erot = 2.58538498973779 | epot = -21.4687911304725 | etot = -16.325684637268 -818000 ekin = 2.27829227808576 | erot = 2.2610194627647 | epot = -21.51579990444 | etot = -16.9764881635896 -819000 ekin = 2.10478468907764 | erot = 3.02372442904099 | epot = -21.5288267165814 | etot = -16.4003175984628 -820000 ekin = 2.50616680560145 | erot = 2.71768974330904 | epot = -21.5031693602738 | etot = -16.2793128113633 -821000 ekin = 2.62605779655516 | erot = 2.5517168842266 | epot = -21.4782637845704 | etot = -16.3004891037887 -822000 ekin = 3.63911022661674 | erot = 2.20246809596405 | epot = -21.4682605531632 | etot = -15.6266822305824 -823000 ekin = 3.5890614966436 | erot = 2.73568419343317 | epot = -21.4644034772322 | etot = -15.1396577871554 -824000 ekin = 4.11258611216971 | erot = 3.29177083877816 | epot = -21.4054670493164 | etot = -14.0011100983685 -825000 ekin = 2.90574167985894 | erot = 3.46418314252362 | epot = -21.2428648794989 | etot = -14.8729400571163 -826000 ekin = 1.72166879396265 | erot = 1.97031409321974 | epot = -21.0465041377165 | etot = -17.3545212505341 -827000 ekin = 1.9124296633897 | erot = 2.55758046921178 | epot = -20.9198493255665 | etot = -16.449839192965 -828000 ekin = 2.38136751134629 | erot = 2.55567683032446 | epot = -20.8197900136475 | etot = -15.8827456719767 -829000 ekin = 2.24752095426969 | erot = 1.78485397592485 | epot = -20.7078548678742 | etot = -16.6754799376796 -830000 ekin = 2.52760515907096 | erot = 2.34151737044649 | epot = -20.587853056286 | etot = -15.7187305267686 -831000 ekin = 2.68303948249783 | erot = 2.12107955860996 | epot = -20.4986251845811 | etot = -15.6945061434733 -832000 ekin = 2.5995339697481 | erot = 2.01126070882922 | epot = -20.317042202606 | etot = -15.7062475240286 -833000 ekin = 2.41782691161325 | erot = 2.6104596916825 | epot = -20.2071689208773 | etot = -15.1788823175815 -834000 ekin = 2.81812459074308 | erot = 2.32580908472724 | epot = -20.1954682788161 | etot = -15.0515346033458 -835000 ekin = 2.76877914745308 | erot = 2.73409979010148 | epot = -20.2858954358872 | etot = -14.7830164983326 -836000 ekin = 2.56414357027351 | erot = 2.85425200452209 | epot = -20.4214942021634 | etot = -15.0030986273678 -837000 ekin = 1.77982670030629 | erot = 1.97011006317925 | epot = -20.4747752062613 | etot = -16.7248384427758 -838000 ekin = 1.9809448596471 | erot = 2.7884830818994 | epot = -20.4863255993134 | etot = -15.7168976577669 -839000 ekin = 1.99257457422062 | erot = 2.69848359788971 | epot = -20.4692625343629 | etot = -15.7782043622526 -840000 ekin = 1.695727430563 | erot = 2.96442093053147 | epot = -20.5469645302134 | etot = -15.886816169119 -841000 ekin = 2.78747714781483 | erot = 2.84618551296106 | epot = -20.6836589678232 | etot = -15.0499963070473 -842000 ekin = 2.5516108705537 | erot = 2.86967631676814 | epot = -20.7215472760611 | etot = -15.3002600887392 -843000 ekin = 2.00510252228194 | erot = 2.62122625910375 | epot = -20.7126385725957 | etot = -16.08630979121 -844000 ekin = 1.53691661689193 | erot = 1.93035645367874 | epot = -20.7513861721528 | etot = -17.2841131015821 -845000 ekin = 2.30558370867946 | erot = 2.31565535118112 | epot = -20.8631357757407 | etot = -16.2418967158802 -846000 ekin = 2.08834507240676 | erot = 2.32509193883626 | epot = -20.9437811774395 | etot = -16.5303441661965 -847000 ekin = 2.47860773767064 | erot = 2.63825359015714 | epot = -20.9035842025176 | etot = -15.7867228746898 -848000 ekin = 2.15941499449244 | erot = 1.46592084588015 | epot = -20.9421067829749 | etot = -17.3167709426023 -849000 ekin = 2.00792301359513 | erot = 2.48538196855797 | epot = -20.9573985285088 | etot = -16.4640935463557 -850000 ekin = 2.54511466975944 | erot = 2.66862013426066 | epot = -20.9501688277166 | etot = -15.7364340236965 -851000 ekin = 2.16918996810547 | erot = 2.93012028589825 | epot = -20.9578305522532 | etot = -15.8585202982494 -852000 ekin = 2.48734107685338 | erot = 2.46343406489934 | epot = -20.9874894800747 | etot = -16.0367143383219 -853000 ekin = 2.41308828583826 | erot = 2.97804263482415 | epot = -20.9325497268305 | etot = -15.5414188061681 -854000 ekin = 2.35481893706787 | erot = 2.85453301930642 | epot = -20.8448014229524 | etot = -15.6354494665781 -855000 ekin = 2.37449305766123 | erot = 2.06591921004024 | epot = -20.8766751569445 | etot = -16.4362628892431 -856000 ekin = 2.52589522695461 | erot = 2.75200317380097 | epot = -20.7810899349363 | etot = -15.5031915341808 -857000 ekin = 2.56479713152188 | erot = 3.03132159965742 | epot = -20.6741126728545 | etot = -15.0779939416752 -858000 ekin = 3.12600431259895 | erot = 2.14307227855762 | epot = -20.6236416669373 | etot = -15.3545650757807 -859000 ekin = 2.91606538598306 | erot = 2.23743055034025 | epot = -20.6462917973092 | etot = -15.4927958609859 -860000 ekin = 2.88632968266491 | erot = 1.51779320350218 | epot = -20.6690491266306 | etot = -16.2649262404636 -861000 ekin = 2.33646237335095 | erot = 2.84993579191977 | epot = -20.6662989350089 | etot = -15.4799007697382 -862000 ekin = 3.06142360843216 | erot = 1.86714994928413 | epot = -20.7124901286986 | etot = -15.7839165709823 -863000 ekin = 2.88328806598044 | erot = 1.77603258370269 | epot = -20.8185427296306 | etot = -16.1592220799475 -864000 ekin = 2.96121160100481 | erot = 2.65074453444238 | epot = -21.0023810054863 | etot = -15.3904248700391 -865000 ekin = 3.32435720931815 | erot = 2.24357551683278 | epot = -21.1325456190927 | etot = -15.5646128929418 -866000 ekin = 2.85046827088543 | erot = 3.16864534840895 | epot = -21.2188104480758 | etot = -15.1996968287815 -867000 ekin = 2.74121981057393 | erot = 3.09690590629766 | epot = -21.2063169983776 | etot = -15.368191281506 -868000 ekin = 2.19317218320696 | erot = 2.23855212764239 | epot = -21.1598851105383 | etot = -16.728160799689 -869000 ekin = 2.92776187579401 | erot = 2.49696120772198 | epot = -21.1055152241549 | etot = -15.6807921406389 -870000 ekin = 2.48025968092564 | erot = 2.11893759578989 | epot = -21.0847323271701 | etot = -16.4855350504546 -871000 ekin = 2.1845388948614 | erot = 2.3744484320603 | epot = -20.9752554539106 | etot = -16.4162681269889 -872000 ekin = 1.52991727300488 | erot = 2.08936497511662 | epot = -20.9296773909044 | etot = -17.3103951427829 -873000 ekin = 1.39436098333864 | erot = 2.29076078630038 | epot = -20.9970902403712 | etot = -17.3119684707321 -874000 ekin = 1.40847516007258 | erot = 2.77014925513763 | epot = -21.1567852435976 | etot = -16.9781608283874 -875000 ekin = 1.18430169865448 | erot = 2.73096315540972 | epot = -21.2931389111423 | etot = -17.377874057078 -876000 ekin = 1.83112091845917 | erot = 2.99592495330209 | epot = -21.3275375070725 | etot = -16.5004916353113 -877000 ekin = 2.38101871692681 | erot = 2.03701942732192 | epot = -21.413314709608 | etot = -16.9952765653592 -878000 ekin = 2.13057677670605 | erot = 1.75664755774656 | epot = -21.4109592588752 | etot = -17.5237349244226 -879000 ekin = 2.23974599078717 | erot = 2.71277945678049 | epot = -21.3991125430578 | etot = -16.4465870954902 -880000 ekin = 2.68276925988414 | erot = 2.78419511289156 | epot = -21.4451599851349 | etot = -15.9781956123593 -881000 ekin = 2.86954422987714 | erot = 2.35934309050243 | epot = -21.4304898157632 | etot = -16.2016024953836 -882000 ekin = 2.33322673498713 | erot = 2.17176089427924 | epot = -21.3686767563163 | etot = -16.8636891270499 -883000 ekin = 2.36505939156363 | erot = 1.97542469807282 | epot = -21.1740561038168 | etot = -16.8335720141804 -884000 ekin = 2.53970453736975 | erot = 2.25146966956772 | epot = -21.0784914585951 | etot = -16.2873172516576 -885000 ekin = 2.86113216999841 | erot = 2.27428598539185 | epot = -21.0769714000078 | etot = -15.9415532446176 -886000 ekin = 3.16926259480325 | erot = 1.7479502049347 | epot = -21.1261039292057 | etot = -16.2088911294677 -887000 ekin = 2.66032303732719 | erot = 2.49430923572929 | epot = -21.1888853902954 | etot = -16.0342531172389 -888000 ekin = 2.14251397925541 | erot = 2.83067746317048 | epot = -21.2727723297671 | etot = -16.2995808873412 -889000 ekin = 2.13717501491483 | erot = 2.20010872789046 | epot = -21.1879846015514 | etot = -16.8507008587461 -890000 ekin = 1.76445604927834 | erot = 2.97270674684479 | epot = -21.249043049208 | etot = -16.5118802530849 -891000 ekin = 1.64410761916635 | erot = 2.28011654490668 | epot = -21.3725568550826 | etot = -17.4483326910096 -892000 ekin = 1.9736849956493 | erot = 2.35977031841883 | epot = -21.5165660475445 | etot = -17.1831107334764 -893000 ekin = 1.78063715284303 | erot = 1.84016145583949 | epot = -21.5929324441233 | etot = -17.9721338354408 -894000 ekin = 2.80890536765195 | erot = 2.8033716212873 | epot = -21.68691302035 | etot = -16.0746360314107 -895000 ekin = 2.03615797288147 | erot = 2.73640459758099 | epot = -21.7733873211515 | etot = -17.000824750689 -896000 ekin = 1.66692759050852 | erot = 2.55822798781453 | epot = -21.9049846669574 | etot = -17.6798290886343 -897000 ekin = 1.79224531734011 | erot = 2.35948275762719 | epot = -22.0434422253312 | etot = -17.8917141503639 -898000 ekin = 1.83919553961872 | erot = 2.41642222286753 | epot = -22.0758336371865 | etot = -17.8202158747002 -899000 ekin = 1.6636071320686 | erot = 3.06317427040907 | epot = -22.0015388871688 | etot = -17.2747574846912 -900000 ekin = 2.15282039168693 | erot = 2.62540512899952 | epot = -21.9732889613479 | etot = -17.1950634406614 -901000 ekin = 2.43388685834711 | erot = 2.69648861895498 | epot = -22.0420272097224 | etot = -16.9116517324203 -902000 ekin = 2.58083086140289 | erot = 2.40599679938446 | epot = -22.0470185105966 | etot = -17.0601908498092 -903000 ekin = 2.38921046669397 | erot = 2.40351321660547 | epot = -22.0515567722576 | etot = -17.2588330889581 -904000 ekin = 1.99826824339051 | erot = 3.15684651679006 | epot = -22.0749158572968 | etot = -16.9198010971163 -905000 ekin = 2.28113475313044 | erot = 2.2074638316632 | epot = -22.0890181666858 | etot = -17.6004195818921 -906000 ekin = 2.49879330353343 | erot = 1.671102945257 | epot = -22.0615337836095 | etot = -17.8916375348191 -907000 ekin = 2.34107735293828 | erot = 2.16848534916945 | epot = -21.914392426319 | etot = -17.4048297242112 -908000 ekin = 2.83000120831929 | erot = 2.3920412129948 | epot = -21.9351986192177 | etot = -16.7131561979036 -909000 ekin = 3.13472288974739 | erot = 2.07022420849154 | epot = -22.0395372123877 | etot = -16.8345901141488 -910000 ekin = 2.91535724615619 | erot = 3.54296427198744 | epot = -22.17289784711 | etot = -15.7145763289663 -911000 ekin = 1.86266697685629 | erot = 2.75432454240692 | epot = -22.2277400981541 | etot = -17.6107485788909 -912000 ekin = 2.64271590958795 | erot = 1.86909048050939 | epot = -22.2775010562684 | etot = -17.7656946661711 -913000 ekin = 2.45835510175704 | erot = 2.03340616362699 | epot = -22.4008109136254 | etot = -17.9090496482413 -914000 ekin = 2.0168446739852 | erot = 3.01916202272043 | epot = -22.5013367548475 | etot = -17.4653300581419 -915000 ekin = 2.73687318093231 | erot = 2.14033624631652 | epot = -22.5028600755747 | etot = -17.6256506483259 -916000 ekin = 2.38979306224022 | erot = 3.26197451659129 | epot = -22.5263162174438 | etot = -16.8745486386123 -917000 ekin = 2.2132313431686 | erot = 2.24407516775212 | epot = -22.5139668518706 | etot = -18.0566603409499 -918000 ekin = 2.11835073964575 | erot = 2.05693480392619 | epot = -22.4455228128791 | etot = -18.2702372693072 -919000 ekin = 2.66229415880118 | erot = 2.41897705108102 | epot = -22.4796981911192 | etot = -17.398426981237 -920000 ekin = 3.26579644340034 | erot = 2.75572713099831 | epot = -22.5844984666348 | etot = -16.5629748922361 -921000 ekin = 2.7209745531417 | erot = 1.96979925725472 | epot = -22.6385112107694 | etot = -17.9477374003729 -922000 ekin = 1.43413709665673 | erot = 1.52452785259238 | epot = -22.6908688613181 | etot = -19.732203912069 -923000 ekin = 1.67612014861287 | erot = 1.86533200287241 | epot = -22.7504417888943 | etot = -19.208989637409 -924000 ekin = 2.14999846366944 | erot = 1.53353223685726 | epot = -22.7219152384023 | etot = -19.0383845378756 -925000 ekin = 2.27775999892995 | erot = 1.35579588948189 | epot = -22.6313109881577 | etot = -18.9977550997459 -926000 ekin = 2.00325654671082 | erot = 2.07129795862533 | epot = -22.58060449698 | etot = -18.5060499916438 -927000 ekin = 2.51568207758562 | erot = 1.987163454037 | epot = -22.6950313207983 | etot = -18.1921857891757 -928000 ekin = 2.57430073568282 | erot = 2.51446833506414 | epot = -22.8476882631099 | etot = -17.758919192363 -929000 ekin = 2.65883432741931 | erot = 1.82970870115209 | epot = -22.8881462617914 | etot = -18.39960323322 -930000 ekin = 2.41679914385681 | erot = 2.00959752598338 | epot = -22.9005208742364 | etot = -18.4741242043962 -931000 ekin = 3.01841254462055 | erot = 2.11105138843169 | epot = -22.85760539327 | etot = -17.7281414602178 -932000 ekin = 2.34886657046774 | erot = 1.87108210439136 | epot = -22.8977129515892 | etot = -18.6777642767301 -933000 ekin = 2.16783340111898 | erot = 2.83769256871394 | epot = -22.9046776672478 | etot = -17.8991516974149 -934000 ekin = 2.17397600879036 | erot = 2.11893010896207 | epot = -22.9246315138634 | etot = -18.6317253961109 -935000 ekin = 2.35368321763723 | erot = 2.22721731703674 | epot = -22.9148844830612 | etot = -18.3339839483873 -936000 ekin = 2.29404484064883 | erot = 2.52125059394418 | epot = -23.022569346399 | etot = -18.207273911806 -937000 ekin = 2.32419482855967 | erot = 2.82559362345603 | epot = -23.1106534424293 | etot = -17.9608649904136 -938000 ekin = 2.46214257103075 | erot = 1.99597995904795 | epot = -23.1662772746363 | etot = -18.7081547445576 -939000 ekin = 2.9950708934893 | erot = 2.11187711132299 | epot = -23.1593663275129 | etot = -18.0524183227006 -940000 ekin = 3.76806392301913 | erot = 2.67914085708954 | epot = -23.0990741275282 | etot = -16.6518693474195 -941000 ekin = 3.15122194022389 | erot = 2.26598106832925 | epot = -23.0009732777347 | etot = -17.5837702691815 -942000 ekin = 3.50290237899686 | erot = 1.88389191282622 | epot = -22.9638174755667 | etot = -17.5770231837436 -943000 ekin = 3.81981007949588 | erot = 2.71306651628128 | epot = -22.9368745682733 | etot = -16.4039979724962 -944000 ekin = 2.68269000609243 | erot = 2.75597297355549 | epot = -22.9154634627924 | etot = -17.4768004831445 -945000 ekin = 2.5590549123222 | erot = 2.02762890141183 | epot = -22.8197752815545 | etot = -18.2330914678205 -946000 ekin = 2.47577141445405 | erot = 1.66876676951813 | epot = -22.6553996443486 | etot = -18.5108614603764 -947000 ekin = 2.41888872017238 | erot = 1.99290495105536 | epot = -22.5511355353761 | etot = -18.1393418641484 -948000 ekin = 3.55059459316711 | erot = 2.5777258708839 | epot = -22.4076841605954 | etot = -16.2793636965444 -949000 ekin = 2.98580100349108 | erot = 2.44218887595664 | epot = -22.1946740482762 | etot = -16.7666841688284 -950000 ekin = 1.821092375385 | erot = 3.05085494375851 | epot = -22.0411048551924 | etot = -17.1691575360489 -951000 ekin = 2.20017865970828 | erot = 2.37993346919584 | epot = -22.0148953004748 | etot = -17.4347831715707 -952000 ekin = 2.14109063574403 | erot = 1.67049478035644 | epot = -21.9849308950116 | etot = -18.1733454789111 -953000 ekin = 2.29825441833299 | erot = 1.97339930829895 | epot = -21.9506588951235 | etot = -17.6790051684915 -954000 ekin = 1.48812561465813 | erot = 3.35693562507496 | epot = -21.8785232616716 | etot = -17.0334620219385 -955000 ekin = 1.87464515912864 | erot = 2.65909319571748 | epot = -21.7892398748208 | etot = -17.2555015199747 -956000 ekin = 1.69455812204129 | erot = 2.15407102211541 | epot = -21.7240315558968 | etot = -17.8754024117401 -957000 ekin = 1.75583683783662 | erot = 1.6388872433372 | epot = -21.6978461721406 | etot = -18.3031220909668 -958000 ekin = 1.59915972681971 | erot = 2.20119347000054 | epot = -21.6996739320855 | etot = -17.8993207352653 -959000 ekin = 2.58508771526968 | erot = 2.48988894190743 | epot = -21.7128779048797 | etot = -16.6379012477026 -960000 ekin = 2.540004730569 | erot = 2.05993270952562 | epot = -21.7110863197264 | etot = -17.1111488796318 -961000 ekin = 2.28366644951083 | erot = 2.18351789869055 | epot = -21.713158341698 | etot = -17.2459739934967 -962000 ekin = 1.65566986683003 | erot = 3.51395446298371 | epot = -21.7309544663205 | etot = -16.5613301365068 -963000 ekin = 1.99640145079979 | erot = 1.50119578271615 | epot = -21.6827600497459 | etot = -18.1851628162299 -964000 ekin = 2.18656047252606 | erot = 2.27602589879665 | epot = -21.619418671686 | etot = -17.1568323003632 -965000 ekin = 2.1268740717332 | erot = 2.31151575363264 | epot = -21.6000680375134 | etot = -17.1616782121475 -966000 ekin = 3.18082053219097 | erot = 3.42475965115333 | epot = -21.6366484152857 | etot = -15.0310682319414 -967000 ekin = 3.07307267752021 | erot = 2.17494665586724 | epot = -21.5935818966499 | etot = -16.3455625632625 -968000 ekin = 2.08693319857779 | erot = 2.13995709056182 | epot = -21.5217214507964 | etot = -17.2948311616568 -969000 ekin = 2.26980017693321 | erot = 2.21816244485338 | epot = -21.459599392786 | etot = -16.9716367709994 -970000 ekin = 2.49153424363058 | erot = 2.62081062789337 | epot = -21.40624254365 | etot = -16.2938976721261 -971000 ekin = 2.49736294038618 | erot = 2.64542889712536 | epot = -21.3698430243897 | etot = -16.2270511868781 -972000 ekin = 3.20661406309987 | erot = 2.47006567711245 | epot = -21.3129147000401 | etot = -15.6362349598278 -973000 ekin = 3.35896769012794 | erot = 2.62914966754124 | epot = -21.2417754090084 | etot = -15.2536580513392 -974000 ekin = 2.71022162422346 | erot = 2.13950356822279 | epot = -21.1388622732984 | etot = -16.2891370808522 -975000 ekin = 1.81145289576367 | erot = 2.10207160993305 | epot = -21.048316338461 | etot = -17.1347918327643 -976000 ekin = 2.36964932252015 | erot = 1.38498778652618 | epot = -20.9787405486735 | etot = -17.2241034396272 -977000 ekin = 2.83743084482057 | erot = 3.02979079274331 | epot = -21.085451075555 | etot = -15.2182294379911 -978000 ekin = 3.14246219320392 | erot = 3.02811722693053 | epot = -21.1396703506934 | etot = -14.969090930559 -979000 ekin = 3.63780420393836 | erot = 2.4709378582899 | epot = -21.0340146720458 | etot = -14.9252726098175 -980000 ekin = 3.4264538226183 | erot = 3.24172784300214 | epot = -20.9599326810307 | etot = -14.2917510154103 -981000 ekin = 2.92833128833528 | erot = 2.44513741300221 | epot = -20.9990853641094 | etot = -15.6256166627719 -982000 ekin = 2.04564757644964 | erot = 2.21309407620317 | epot = -21.0169476544784 | etot = -16.7582060018256 -983000 ekin = 2.56027499325037 | erot = 1.98413314848097 | epot = -21.0051531932236 | etot = -16.4607450514922 -984000 ekin = 2.31412219695426 | erot = 2.58580887186898 | epot = -21.052483194614 | etot = -16.1525521257907 -985000 ekin = 2.31684810453689 | erot = 2.99962688680855 | epot = -21.126448512153 | etot = -15.8099735208075 -986000 ekin = 2.05087446711593 | erot = 2.15350712572991 | epot = -21.2175956679764 | etot = -17.0132140751306 -987000 ekin = 2.41884444903816 | erot = 1.58397554578725 | epot = -21.1898165062925 | etot = -17.1869965114671 -988000 ekin = 2.75120862227721 | erot = 2.70488585059706 | epot = -21.0891793464809 | etot = -15.6330848736066 -989000 ekin = 2.29399073499349 | erot = 2.85653684714667 | epot = -21.0165729755105 | etot = -15.8660453933703 -990000 ekin = 2.23407391829561 | erot = 2.58986750499253 | epot = -20.9399219780894 | etot = -16.1159805548012 -991000 ekin = 2.2015103509351 | erot = 2.5342789733714 | epot = -20.8272027181399 | etot = -16.0914133938334 -992000 ekin = 1.73506355750681 | erot = 2.49729588452318 | epot = -20.8968748041567 | etot = -16.6645153621267 -993000 ekin = 1.38873426581537 | erot = 1.9682630505033 | epot = -20.9926737588933 | etot = -17.6356764425747 -994000 ekin = 1.48976906105183 | erot = 2.95631655181474 | epot = -21.0595774450851 | etot = -16.6134918322185 -995000 ekin = 2.31357533477074 | erot = 1.67477965585528 | epot = -21.1250456439671 | etot = -17.1366906533411 -996000 ekin = 2.89740155011607 | erot = 2.85049856858161 | epot = -21.0862990854291 | etot = -15.3383989667315 -997000 ekin = 3.12971523768954 | erot = 2.1499509854011 | epot = -21.0771189403087 | etot = -15.7974527172181 -998000 ekin = 2.21576875556996 | erot = 3.03006905150276 | epot = -20.9969954660947 | etot = -15.751157659022 -999000 ekin = 2.60947248329622 | erot = 1.73825748506686 | epot = -20.9115307542595 | etot = -16.5638007858964 -1000000 ekin = 2.32273923275077 | erot = 2.87793771079159 | epot = -20.9050993315882 | etot = -15.7044223880458 - 1000000 0.10323285 -1.3567017 0.050132958 -1.1613975 0.00013807094 -Loop time of 30.2805 on 4 procs for 1000000 steps with 16 atoms - -Performance: 28533.226 tau/day, 33024.567 timesteps/s -99.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 | 0.57156 | 10.489 | 19.648 | 266.3 | 34.64 -Bond | 0.087018 | 0.38344 | 0.65455 | 40.7 | 1.27 -Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 2.5429 | 2.6691 | 2.7875 | 5.4 | 8.81 -Output | 1.5e-05 | 2.425e-05 | 2.8e-05 | 0.0 | 0.00 -Modify | 0.2134 | 2.6942 | 5.1397 | 131.4 | 8.90 -Other | | 14.05 | | | 46.38 - -Nlocal: 4.0 ave 8.0 max 0.0 min -Histogram: 1 1 0 0 0 0 0 0 1 1 -Nghost: 11.0 ave 14.0 max 8.0 min -Histogram: 1 1 0 0 0 0 0 0 1 1 -Neighs: 35.5 ave 69.0 max 0.0 min -Histogram: 1 1 0 0 0 0 0 0 0 2 - -Total # of neighbors = 142 -Ave neighs/atom = 8.875 -Ave special neighs/atom = 3.75 -Neighbor list builds = 0 -Dangerous builds = 0 - -#write_restart config.${number}.* -Total wall time: 0:00:30 diff --git a/examples/PACKAGES/cgdna/examples/oxDNA2/duplex1/data.duplex1 b/examples/PACKAGES/cgdna/examples/oxDNA2/duplex1/data.duplex1 index 0ef671c603..54eb2beaf5 100644 --- a/examples/PACKAGES/cgdna/examples/oxDNA2/duplex1/data.duplex1 +++ b/examples/PACKAGES/cgdna/examples/oxDNA2/duplex1/data.duplex1 @@ -1,15 +1,14 @@ -# LAMMPS data file +LAMMPS data file via write_data, version 27 May 2021 + 10 atoms -10 ellipsoids -8 bonds - 4 atom types +8 bonds 1 bond types +10 ellipsoids -# System size --20.000000 20.000000 xlo xhi --20.000000 20.000000 ylo yhi --20.000000 20.000000 zlo zhi +-20 20 xlo xhi +-20 20 ylo yhi +-20 20 zlo zhi Masses @@ -18,56 +17,52 @@ Masses 3 3.1575 4 3.1575 -# Atom-ID, type, position, molecule-ID, ellipsoid flag, density -Atoms +Atoms # hybrid -1 1 -6.000000000000001e-01 0.000000000000000e+00 0.000000000000000e+00 1 1 1 -2 2 -4.860249842674776e-01 -3.518234140414736e-01 3.897628551303122e-01 1 1 1 -3 3 -1.874009511073395e-01 -5.699832309147915e-01 7.795257102606244e-01 1 1 1 -4 4 1.824198365552941e-01 -5.715968887521518e-01 1.169288565390937e+00 1 1 1 -5 1 4.829362784135484e-01 -3.560513319622209e-01 1.559051420521249e+00 1 1 1 -6 4 -4.829362784135484e-01 3.560513319622209e-01 1.559051420521249e+00 2 1 1 -7 1 -1.824198365552941e-01 5.715968887521516e-01 1.169288565390937e+00 2 1 1 -8 2 1.874009511073395e-01 5.699832309147913e-01 7.795257102606243e-01 2 1 1 -9 3 4.860249842674775e-01 3.518234140414733e-01 3.897628551303121e-01 2 1 1 -10 4 5.999999999999996e-01 -1.332267629550188e-16 -1.110223024625157e-16 2 1 1 +1 1 -0.33741452300167507 -0.43708835412476305 0.6450685042019271 1 1 3.7269849963023267 0 0 0 +2 2 -0.32142606102826937 -0.7137743037592722 1.1817366147004618 1 1 3.7269849963023267 0 0 0 +3 3 -0.130363628207774 -0.9147144801536078 1.62581312195109 1 1 3.7269849963023267 0 0 0 +4 4 0.16795127962282844 -0.9808507459807022 2.0894908590909003 1 1 3.7269849963023267 0 0 0 +5 1 0.46370423490634166 -0.7803347954883079 2.4251986815515827 1 1 3.7269849963023267 0 0 0 +6 4 -0.4462950185476711 0.09062163051035639 2.4668941268777607 2 1 3.7269849963023267 0 0 0 +7 1 -0.03377054097560965 0.20979847489755046 2.078208732038921 2 1 3.7269849963023267 0 0 0 +8 2 0.3297325391466579 0.17657587120899895 1.7206328374934152 2 1 3.7269849963023267 0 0 0 +9 3 0.6063699309305985 0.04682595158675571 1.2335049647817748 2 1 3.7269849963023267 0 0 0 +10 4 0.8003979559814726 -0.364393011459011 0.9884025318908612 2 1 3.7269849963023267 0 0 0 -# Atom-ID, translational velocity, angular momentum Velocities -1 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -2 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -3 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -4 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -5 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -6 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -7 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -8 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -9 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -10 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 +1 0.320321385294804 -0.13632815939410442 -0.029398292452023418 0.3064009492028237 -0.15808560233691588 0.35878007201886397 +2 0.16868594667473025 -0.04950805613064363 0.15811007290373785 -0.07666583909321756 -0.0008074676325318194 -0.21475821019816385 +3 -0.22924557018300165 0.08381876748892438 -0.0919832851533896 0.4039387481683193 0.6123610642545824 -0.11063432848545783 +4 -0.22186204313310393 0.04952817499985707 -0.0693642101605732 -0.1358248430264938 0.4118493572385653 -0.056529305922687775 +5 0.08156431270087049 -0.2564594759800144 0.1724544416027875 0.05439894663158808 0.09338481510384318 0.3205408219238883 +6 0.03598698404367743 -0.04868642973674152 0.02860105256592922 0.04007709957283992 -0.317943400069374 0.36438025397586354 +7 -0.00822868972307372 0.047514932936351305 -0.027726409420297023 0.18356392696891796 -0.49877294396308003 0.06993313839189567 +8 -0.07177147672242379 0.1718272727853115 0.39056151182616994 -0.16728362538690794 -0.47839708820957955 -0.17897249005947627 +9 -0.1748638855727651 -0.0781638161351808 0.0560181565271157 -0.28062568580131014 0.2405396522734162 -0.4311598357169048 +10 0.18870318272756448 -0.1066780134639517 0.12610657946741227 -0.05740397100183697 0.36748833227892685 0.1498775724372025 -# Atom-ID, shape, quaternion -Ellipsoids - -1 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 1.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -2 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 9.513258223252946e-01 0.000000000000000e+00 0.000000000000000e+00 3.081869234362515e-01 -3 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 8.100416404457962e-01 0.000000000000000e+00 0.000000000000000e+00 5.863723567357894e-01 -4 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 5.899012371043606e-01 0.000000000000000e+00 0.000000000000000e+00 8.074754054847398e-01 -5 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 3.123349185122326e-01 0.000000000000000e+00 0.000000000000000e+00 9.499720515246527e-01 -6 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 0.000000000000000e+00 9.499720515246527e-01 -3.123349185122326e-01 -0.000000000000000e+00 -7 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 0.000000000000000e+00 8.074754054847401e-01 -5.899012371043604e-01 0.000000000000000e+00 -8 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 0.000000000000000e+00 5.863723567357896e-01 -8.100416404457959e-01 0.000000000000000e+00 -9 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 -0.000000000000000e+00 -3.081869234362514e-01 9.513258223252947e-01 0.000000000000000e+00 -10 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 -0.000000000000000e+00 1.110223024625157e-16 1.000000000000000e+00 -0.000000000000000e+00 - -# Bond topology Bonds -1 1 1 2 -2 1 2 3 -3 1 3 4 -4 1 4 5 -5 1 6 7 -6 1 7 8 -7 1 8 9 -8 1 9 10 +1 1 1 2 +2 1 2 3 +3 1 3 4 +4 1 4 5 +5 1 6 7 +6 1 7 8 +7 1 8 9 +8 1 9 10 + +Ellipsoids + +1 1.173984503142341 1.173984503142341 1.173984503142341 0.9890278201757743 0.01779228232037064 -0.14337734159225404 0.030827642240801516 +2 1.173984503142341 1.173984503142341 1.173984503142341 0.939687458852748 0.04174166924055095 -0.023337773785056866 0.338674565089608 +3 1.173984503142341 1.173984503142341 1.173984503142341 0.8210113150655425 0.03012140921736572 0.017666019956944813 0.5698429897612057 +4 1.173984503142341 1.173984503142341 1.173984503142341 0.6623662858285051 -0.028186343967346823 0.022942552517501488 0.7482981175276918 +5 1.173984503142341 1.173984503142341 1.173984503142341 0.3601488726765216 0.0513614985821682 0.0724224158335286 0.9286602067807472 +6 1.173984503142341 1.173984503142341 1.173984503142341 0.11941234710084649 0.9244660117493703 -0.35317942248051865 -0.07979711784524246 +7 1.173984503142341 1.173984503142341 1.173984503142341 -0.17949125421205164 0.7412884899431119 -0.6379094464220707 0.1065166771202199 +8 1.173984503142341 1.173984503142341 1.173984503142341 -0.10483691088405202 0.5508895999584645 -0.8250090480220789 0.06992811634525403 +9 1.173984503142341 1.173984503142341 1.173984503142341 0.07777239911646 -0.3724087549185288 0.9103052384821374 -0.1631181963720798 +10 1.173984503142341 1.173984503142341 1.173984503142341 0.16279109707978262 0.027148630125149613 0.9849325709665359 -0.0516705065113425 diff --git a/examples/PACKAGES/cgdna/examples/oxDNA2/duplex1/in.duplex1 b/examples/PACKAGES/cgdna/examples/oxDNA2/duplex1/in.duplex1 index 6ae8df4ff2..860d5bfdd5 100644 --- a/examples/PACKAGES/cgdna/examples/oxDNA2/duplex1/in.duplex1 +++ b/examples/PACKAGES/cgdna/examples/oxDNA2/duplex1/in.duplex1 @@ -2,6 +2,7 @@ variable number equal 1 variable ofreq equal 1000 variable efreq equal 1000 variable T equal 0.1 +variable rhos equal 0.2 units lj @@ -11,11 +12,11 @@ newton off boundary p p p -atom_style hybrid bond ellipsoid +atom_style hybrid bond ellipsoid oxdna atom_modify sort 0 1.0 # Pair interactions require lists of neighbours to be calculated -neighbor 1.0 bin +neighbor 2.0 bin neigh_modify every 1 delay 0 check yes read_data data.duplex1 @@ -38,30 +39,19 @@ pair_coeff 1 4 oxdna2/hbond seqav 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 pair_coeff 2 3 oxdna2/hbond seqav 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 pair_coeff * * oxdna2/xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68 pair_coeff * * oxdna2/coaxstk 58.5 0.4 0.6 0.22 0.58 2.0 2.891592653589793 0.65 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 40.0 3.116592653589793 -pair_coeff * * oxdna2/dh ${T} 1.0 0.815 +pair_coeff * * oxdna2/dh ${T} ${rhos} 0.815 # NVE ensemble -fix 1 all nve/dot -#fix 1 all nve/dotc/langevin ${T} ${T} 0.03 457145 angmom 10 -#fix 1 all nve/asphere -#fix 2 all langevin ${T} ${T} 0.03 457145 angmom 10 +fix 1 all nve/asphere +#fix 2 all langevin ${T} ${T} 2.5 457145 angmom 10 timestep 1e-5 #comm_style tiled -#fix 3 all balance 10000 1.1 rcb -comm_modify cutoff 2.5 +fix 3 all balance 1000 1.03 shift xyz 10 1.03 +comm_modify cutoff 3.8 -#compute mol all chunk/atom molecule -#compute mychunk all vcm/chunk mol -#fix 4 all ave/time 10000 1 10000 c_mychunk[1] c_mychunk[2] c_mychunk[3] file vcm.txt mode vector - -#dump pos all xyz ${ofreq} traj.${number}.xyz - -#compute quat all property/atom quatw quati quatj quatk -#dump quat all custom ${ofreq} quat.${number}.txt id c_quat[1] c_quat[2] c_quat[3] c_quat[4] -#dump_modify quat sort id -#dump_modify quat format line "%d %13.6le %13.6le %13.6le %13.6le" +compute quat all property/atom quatw quati quatj quatk compute erot all erotate/asphere compute ekin all ke @@ -72,10 +62,10 @@ variable epot equal c_epot variable etot equal c_erot+c_ekin+c_epot fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes -#dump out all custom ${ofreq} out.${number}.txt id x y z vx vy vz fx fy fz tqx tqy tqz -#dump_modify out sort id -#dump_modify out format line "%d %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le" +dump out all custom ${ofreq} out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump_modify out sort id +dump_modify out format line "%d %d %d %22.15le %22.15le %22.15le %d %d %d %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le" run 1000000 -#write_restart config.${number}.* +write_data last_config.${number}.* nocoeff diff --git a/examples/PACKAGES/cgdna/examples/oxDNA2/duplex1/log.27May21.duplex1.g++.1 b/examples/PACKAGES/cgdna/examples/oxDNA2/duplex1/log.27May21.duplex1.g++.1 new file mode 100644 index 0000000000..0c27e603c8 --- /dev/null +++ b/examples/PACKAGES/cgdna/examples/oxDNA2/duplex1/log.27May21.duplex1.g++.1 @@ -0,0 +1,1181 @@ +LAMMPS (27 May 2021) +variable number equal 1 +variable ofreq equal 1000 +variable efreq equal 1000 +variable T equal 0.1 +variable rhos equal 0.2 + +units lj + +dimension 3 + +newton off + +boundary p p p + +atom_style hybrid bond ellipsoid oxdna +WARNING: Atom style hybrid defines both, per-type and per-atom masses; both must be set, but only per-atom masses will be used (../atom_vec_hybrid.cpp:157) +atom_modify sort 0 1.0 + +# Pair interactions require lists of neighbours to be calculated +neighbor 2.0 bin +neigh_modify every 1 delay 0 check yes + +read_data data.duplex1 +Reading data file ... + orthogonal box = (-20.000000 -20.000000 -20.000000) to (20.000000 20.000000 20.000000) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 10 atoms + reading velocities ... + 10 velocities + scanning bonds ... + 2 = max bonds/atom + 10 ellipsoids + reading bonds ... +Setting oxDNA 3'->5' bond directionality ... + 8 bonds +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 + 2 = max # of 1-3 neighbors + 2 = max # of 1-4 neighbors + 4 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.003 seconds + +set atom * mass 3.1575 +Setting atom values ... + 10 settings made for mass + +group all type 1 4 +10 atoms in group all + +# oxDNA2 bond interactions - FENE backbone +bond_style oxdna2/fene +bond_coeff * 2.0 0.25 0.7564 +special_bonds lj 0 1 1 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 1 1 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 2 = max # of 1-3 neighbors + 2 = max # of 1-4 neighbors + 4 = max # of special neighbors + special bonds CPU = 0.000 seconds + +# oxDNA2 pair interactions +pair_style hybrid/overlay oxdna2/excv oxdna2/stk oxdna2/hbond oxdna2/xstk oxdna2/coaxstk oxdna2/dh +pair_coeff * * oxdna2/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32 +pair_coeff * * oxdna2/stk seqav ${T} 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 +pair_coeff * * oxdna2/stk seqav 0.1 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 +pair_coeff * * oxdna2/hbond seqav 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 1 4 oxdna2/hbond seqav 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 2 3 oxdna2/hbond seqav 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff * * oxdna2/xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68 +pair_coeff * * oxdna2/coaxstk 58.5 0.4 0.6 0.22 0.58 2.0 2.891592653589793 0.65 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 40.0 3.116592653589793 +pair_coeff * * oxdna2/dh ${T} ${rhos} 0.815 +pair_coeff * * oxdna2/dh 0.1 ${rhos} 0.815 +pair_coeff * * oxdna2/dh 0.1 0.2 0.815 + +# NVE ensemble +fix 1 all nve/asphere +#fix 2 all langevin ${T} ${T} 2.5 457145 angmom 10 + +timestep 1e-5 + +#comm_style tiled +fix 3 all balance 1000 1.03 shift xyz 10 1.03 +comm_modify cutoff 3.8 + +compute quat all property/atom quatw quati quatj quatk + +compute erot all erotate/asphere +compute ekin all ke +compute epot all pe +variable erot equal c_erot +variable ekin equal c_ekin +variable epot equal c_epot +variable etot equal c_erot+c_ekin+c_epot +fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes +fix 5 all print 1000 "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes + +dump out all custom ${ofreq} out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump out all custom 1000 out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump out all custom 1000 out.1.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump_modify out sort id +dump_modify out format line "%d %d %d %22.15le %22.15le %22.15le %d %d %d %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le" + +run 1000000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 5.6389877 + ghost atom cutoff = 5.6389877 + binsize = 2.8194939, bins = 15 15 15 + 5 neighbor lists, perpetual/occasional/extra = 5 0 0 + (1) pair oxdna2/excv, perpetual + attributes: half, newton off + pair build: half/bin/newtoff + stencil: full/bin/3d + bin: standard + (2) pair oxdna2/hbond, perpetual, copy from (1) + attributes: half, newton off + pair build: copy + stencil: none + bin: none + (3) pair oxdna2/xstk, perpetual, copy from (1) + attributes: half, newton off + pair build: copy + stencil: none + bin: none + (4) pair oxdna2/coaxstk, perpetual, copy from (1) + attributes: half, newton off + pair build: copy + stencil: none + bin: none + (5) pair oxdna2/dh, perpetual, copy from (1) + attributes: half, newton off + pair build: copy + stencil: none + bin: none +WARNING: Communication cutoff adjusted to 5.638987723814632 (../comm.cpp:739) +0 ekin = 1.10853632272819 | erot = 2.81573649976629 | epot = -12.298895791142 | etot = -8.37462296864751 +Per MPI rank memory allocation (min/avg/max) = 9.448 | 9.448 | 9.448 Mbytes +Step Temp E_pair E_mol TotEng Press Volume + 0 0.082113802 -1.3370157 0.10712616 -1.1190359 -6.6192825e-05 64000 +1000 ekin = 1.07640077431763 | erot = 2.90684392233817 | epot = -12.357867665527 | etot = -8.37462296887116 +2000 ekin = 1.05363107794411 | erot = 2.99414178935849 | epot = -12.4223958364622 | etot = -8.37462296915965 +3000 ekin = 1.04083382823095 | erot = 3.07274362339771 | epot = -12.4882004210899 | etot = -8.37462296946123 +4000 ekin = 1.03780093165924 | erot = 3.13815143503914 | epot = -12.550575336422 | etot = -8.37462296972364 +5000 ekin = 1.04371581655899 | erot = 3.18681185449856 | epot = -12.6051506409707 | etot = -8.37462296991314 +6000 ekin = 1.05738085799295 | erot = 3.21642353087479 | epot = -12.6484273588876 | etot = -8.37462297001983 +7000 ekin = 1.07739394884042 | erot = 3.22597832036696 | epot = -12.677995239256 | etot = -8.37462297004867 +8000 ekin = 1.10226637472087 | erot = 3.21563966301732 | epot = -12.6925290077505 | etot = -8.37462297001231 +9000 ekin = 1.13051291055326 | erot = 3.18656247631366 | epot = -12.6916983567816 | etot = -8.37462296991465 +10000 ekin = 1.16073704358063 | erot = 3.14076972913372 | epot = -12.6761297424775 | etot = -8.37462296976311 +11000 ekin = 1.19170449380505 | erot = 3.08098965164652 | epot = -12.6473171150236 | etot = -8.37462296957204 +12000 ekin = 1.22238189802729 | erot = 3.01040253468266 | epot = -12.6074074020775 | etot = -8.37462296936753 +13000 ekin = 1.25192691881487 | erot = 2.93230261872824 | epot = -12.5588525067181 | etot = -8.37462296917498 +14000 ekin = 1.27963857618757 | erot = 2.84975156813381 | epot = -12.5040131133432 | etot = -8.37462296902178 +15000 ekin = 1.30489368750123 | erot = 2.76534813925014 | epot = -12.444864795638 | etot = -8.37462296888667 +16000 ekin = 1.32709913751461 | erot = 2.6811818478553 | epot = -12.3829039541517 | etot = -8.37462296878182 +17000 ekin = 1.34568132349844 | erot = 2.5986128569079 | epot = -12.3189171492215 | etot = -8.37462296881515 +18000 ekin = 1.36011712604124 | erot = 2.51802979978579 | epot = -12.2527698947086 | etot = -8.37462296888154 +19000 ekin = 1.3700055901564 | erot = 2.43889875259719 | epot = -12.1835273117078 | etot = -8.37462296895424 +20000 ekin = 1.37516683465212 | erot = 2.36049590954913 | epot = -12.1102857132061 | etot = -8.37462296900481 +21000 ekin = 1.37575335509454 | erot = 2.28221618930094 | epot = -12.0325925134033 | etot = -8.37462296900785 +22000 ekin = 1.37235802310946 | erot = 2.20383846967473 | epot = -11.9508194617285 | etot = -8.37462296894431 +23000 ekin = 1.36610326249347 | erot = 2.12570839352804 | epot = -11.8664346248253 | etot = -8.37462296880382 +24000 ekin = 1.35869525710689 | erot = 2.04881568638621 | epot = -11.7821339120795 | etot = -8.3746229685864 +25000 ekin = 1.35242255125593 | erot = 1.97475968439782 | epot = -11.7018052039589 | etot = -8.37462296830517 +26000 ekin = 1.3500701244009 | erot = 1.90560954362746 | epot = -11.6303026360115 | etot = -8.37462296798316 +27000 ekin = 1.35474332970461 | erot = 1.843676291157 | epot = -11.573042588521 | etot = -8.37462296765941 +28000 ekin = 1.36954369410747 | erot = 1.79121252282618 | epot = -11.5353791843194 | etot = -8.37462296738577 +29000 ekin = 1.39711560919894 | erot = 1.75006009044062 | epot = -11.5217986668613 | etot = -8.37462296722172 +30000 ekin = 1.43911092490998 | erot = 1.72127833748021 | epot = -11.5350122296156 | etot = -8.37462296722543 +31000 ekin = 1.49567630461185 | erot = 1.70480588615783 | epot = -11.5751051582055 | etot = -8.37462296743583 +32000 ekin = 1.56511285114173 | erot = 1.69923538983358 | epot = -11.6389712088327 | etot = -8.37462296785736 +33000 ekin = 1.64385110263233 | erot = 1.70198396265071 | epot = -11.7204580336836 | etot = -8.37462296840058 +34000 ekin = 1.72681002365018 | erot = 1.70946314344897 | epot = -11.8108961361853 | etot = -8.37462296908617 +35000 ekin = 1.80812188596362 | erot = 1.71712980816865 | epot = -11.8998746638723 | etot = -8.37462296974008 +36000 ekin = 1.88201893971536 | erot = 1.72067857993906 | epot = -11.9773204899106 | etot = -8.37462297025618 +37000 ekin = 1.94364733336808 | erot = 1.71680208569968 | epot = -12.0350723896309 | etot = -8.37462297056312 +38000 ekin = 1.98961498615624 | erot = 1.70370907929488 | epot = -12.0679470360927 | etot = -8.37462297064162 +39000 ekin = 2.01818359901078 | erot = 1.68126711282219 | epot = -12.0740736823535 | etot = -8.37462297052053 +40000 ekin = 2.02914332282544 | erot = 1.65077260628057 | epot = -12.0545388993641 | etot = -8.37462297025811 +41000 ekin = 2.02349103018079 | erot = 1.61448262351112 | epot = -12.012596623611 | etot = -8.37462296991906 +42000 ekin = 2.00304412554487 | erot = 1.57509121259578 | epot = -11.9527583076989 | etot = -8.37462296955829 +43000 ekin = 1.97008148028931 | erot = 1.5352951062099 | epot = -11.8799995557137 | etot = -8.3746229692145 +44000 ekin = 1.92705109571046 | erot = 1.49750726070831 | epot = -11.7991813253589 | etot = -8.37462296894018 +45000 ekin = 1.87634986385838 | erot = 1.46354390598906 | epot = -11.714516738533 | etot = -8.37462296868559 +46000 ekin = 1.82016797429729 | erot = 1.43491031451222 | epot = -11.6297012572909 | etot = -8.37462296848134 +47000 ekin = 1.76039182008996 | erot = 1.41286016407003 | epot = -11.547874952484 | etot = -8.37462296832397 +48000 ekin = 1.69856949274756 | erot = 1.39838217522426 | epot = -11.4715746361766 | etot = -8.37462296820476 +49000 ekin = 1.6359395498873 | erot = 1.39228918140578 | epot = -11.4028516994048 | etot = -8.3746229681117 +50000 ekin = 1.57351801537284 | erot = 1.39530041169494 | epot = -11.3434413950981 | etot = -8.3746229680303 +51000 ekin = 1.51222872476346 | erot = 1.4081065034094 | epot = -11.2949581961199 | etot = -8.37462296794708 +52000 ekin = 1.45305245526488 | erot = 1.43140550730923 | epot = -11.2590809304256 | etot = -8.37462296785148 +53000 ekin = 1.39716366086918 | erot = 1.46589567493528 | epot = -11.2376823035411 | etot = -8.37462296773665 +54000 ekin = 1.34602153837048 | erot = 1.51222067984183 | epot = -11.2328651858297 | etot = -8.37462296761741 +55000 ekin = 1.30138436197332 | erot = 1.57077970891813 | epot = -11.2467870384006 | etot = -8.37462296750915 +56000 ekin = 1.26522647192232 | erot = 1.64151101613074 | epot = -11.2813604554939 | etot = -8.37462296744087 +57000 ekin = 1.23956119808438 | erot = 1.72363092633029 | epot = -11.3378150918591 | etot = -8.37462296744439 +58000 ekin = 1.22620283906727 | erot = 1.81539828229233 | epot = -11.4162240889033 | etot = -8.37462296754372 +59000 ekin = 1.22652758768649 | erot = 1.91400381193543 | epot = -11.5151543673676 | etot = -8.3746229677457 +60000 ekin = 1.24129579501614 | erot = 2.01564970996737 | epot = -11.6315684730213 | etot = -8.37462296803774 +61000 ekin = 1.27057003505313 | erot = 2.11581304358667 | epot = -11.7610060470473 | etot = -8.37462296840752 +62000 ekin = 1.31372115356086 | erot = 2.20955642503246 | epot = -11.897900547387 | etot = -8.37462296879367 +63000 ekin = 1.36947667734256 | erot = 2.29224896410234 | epot = -12.0363486106154 | etot = -8.37462296917045 +64000 ekin = 1.43596184816363 | erot = 2.35998108781807 | epot = -12.1705659055152 | etot = -8.37462296953351 +65000 ekin = 1.5108757081497 | erot = 2.40947275989094 | epot = -12.294971437873 | etot = -8.37462296983238 +66000 ekin = 1.59162978656338 | erot = 2.43872351537734 | epot = -12.404976271986 | etot = -8.37462297004532 +67000 ekin = 1.67546349074575 | erot = 2.44726186999253 | epot = -12.4973483309005 | etot = -8.37462297016222 +68000 ekin = 1.75953613825207 | erot = 2.43621057967594 | epot = -12.5703696881156 | etot = -8.37462297018761 +69000 ekin = 1.8409820145657 | erot = 2.40815676459641 | epot = -12.6237617493038 | etot = -8.37462297014167 +70000 ekin = 1.91692810522254 | erot = 2.36682660300832 | epot = -12.6583776782868 | etot = -8.3746229700559 +71000 ekin = 1.98449380473024 | erot = 2.31661131420487 | epot = -12.6757280888525 | etot = -8.37462296991744 +72000 ekin = 2.04081287193494 | erot = 2.2621517448767 | epot = -12.6775875867425 | etot = -8.37462296993089 +73000 ekin = 2.08263291328339 | erot = 2.20743363864179 | epot = -12.6646895218717 | etot = -8.37462296994653 +74000 ekin = 2.10698584150827 | erot = 2.1554442111836 | epot = -12.6370530226944 | etot = -8.37462297000255 +75000 ekin = 2.11136525908709 | erot = 2.10816940675056 | epot = -12.5941576359036 | etot = -8.37462297006593 +76000 ekin = 2.09405873141391 | erot = 2.06669472630755 | epot = -12.5353764278111 | etot = -8.37462297008964 +77000 ekin = 2.05455135347899 | erot = 2.03147933575638 | epot = -12.4606536592624 | etot = -8.37462297002701 +78000 ekin = 1.99386684227691 | erot = 2.00268171013299 | epot = -12.3711715222583 | etot = -8.3746229698484 +79000 ekin = 1.91474155283386 | erot = 1.98040758803641 | epot = -12.2697721104228 | etot = -8.37462296955254 +80000 ekin = 1.82155513477568 | erot = 1.96479734780215 | epot = -12.1609754517456 | etot = -8.37462296916772 +81000 ekin = 1.71999782481688 | erot = 1.95595086125337 | epot = -12.0505716548135 | etot = -8.37462296874324 +82000 ekin = 1.61651478139495 | erot = 1.95375810375255 | epot = -11.9448958534856 | etot = -8.37462296833808 +83000 ekin = 1.51761134750077 | erot = 1.95772774860624 | epot = -11.849962064116 | etot = -8.37462296800896 +84000 ekin = 1.42912416355164 | erot = 1.96688313409186 | epot = -11.7706302654422 | etot = -8.37462296779872 +85000 ekin = 1.35556895555394 | erot = 1.97976517498667 | epot = -11.7099570982742 | etot = -8.37462296773356 +86000 ekin = 1.29966988136843 | erot = 1.9945259327168 | epot = -11.6688187819008 | etot = -8.3746229678156 +87000 ekin = 1.26213747948961 | erot = 2.00910214170766 | epot = -11.6458625892977 | etot = -8.37462296810046 +88000 ekin = 1.24134500163864 | erot = 2.02122064243447 | epot = -11.6371886124844 | etot = -8.37462296841134 +89000 ekin = 1.23421644947613 | erot = 2.02900530500572 | epot = -11.6378447232195 | etot = -8.37462296873767 +90000 ekin = 1.23690604243568 | erot = 2.03136372571818 | epot = -11.6428927371715 | etot = -8.37462296901763 +91000 ekin = 1.24531053049743 | erot = 2.0281618826182 | epot = -11.6480953823211 | etot = -8.37462296920549 +92000 ekin = 1.25564394227055 | erot = 2.02032873397313 | epot = -11.6505956455252 | etot = -8.37462296928155 +93000 ekin = 1.26484018817412 | erot = 2.00975004471071 | epot = -11.6492132021396 | etot = -8.37462296925479 +94000 ekin = 1.27076152680827 | erot = 1.99896253062538 | epot = -11.6443470265802 | etot = -8.37462296914659 +95000 ekin = 1.27224696211167 | erot = 1.99076889271332 | epot = -11.6376388238183 | etot = -8.3746229689933 +96000 ekin = 1.26905385172905 | erot = 1.98776908505805 | epot = -11.6314459056162 | etot = -8.37462296882913 +97000 ekin = 1.26173398384337 | erot = 1.991961173075 | epot = -11.628318125602 | etot = -8.37462296868366 +98000 ekin = 1.25146122958134 | erot = 2.00445279489023 | epot = -11.630536993053 | etot = -8.37462296858144 +99000 ekin = 1.23981039935403 | erot = 2.02529911459901 | epot = -11.6397324824953 | etot = -8.37462296854225 +100000 ekin = 1.22848889431682 | erot = 2.05346079777977 | epot = -11.6565726606779 | etot = -8.37462296858135 +101000 ekin = 1.21904296342424 | erot = 2.08686922543206 | epot = -11.6805351575627 | etot = -8.37462296870644 +102000 ekin = 1.21258708443141 | erot = 2.1225925765274 | epot = -11.7098026298716 | etot = -8.37462296891277 +103000 ekin = 1.20962138127608 | erot = 2.15710417867626 | epot = -11.7413485291311 | etot = -8.37462296917873 +104000 ekin = 1.20999435064749 | erot = 2.18665201736564 | epot = -11.771269337479 | etot = -8.37462296946586 +105000 ekin = 1.21303379771947 | erot = 2.20771017012415 | epot = -11.795366937567 | etot = -8.37462296972338 +106000 ekin = 1.21781939160538 | erot = 2.21746426398237 | epot = -11.8099066254856 | etot = -8.37462296989788 +107000 ekin = 1.22352668485509 | erot = 2.21425769941227 | epot = -11.8124073542129 | etot = -8.37462296994552 +108000 ekin = 1.22975371616704 | erot = 2.19791821277326 | epot = -11.8022948987813 | etot = -8.37462296984097 +109000 ekin = 1.23675326669533 | erot = 2.16990174522985 | epot = -11.7812779815083 | etot = -8.37462296958308 +110000 ekin = 1.24552660594299 | erot = 2.13322593016575 | epot = -11.7533755053023 | etot = -8.37462296919352 +111000 ekin = 1.25776994928184 | erot = 2.09220325002859 | epot = -11.7245961680235 | etot = -8.37462296871311 +112000 ekin = 1.27568807280472 | erot = 2.05200951342182 | epot = -11.7023205544238 | etot = -8.37462296819728 +113000 ekin = 1.30169744977568 | erot = 2.01813224570247 | epot = -11.6944526631897 | etot = -8.37462296771155 +114000 ekin = 1.33804251858965 | erot = 1.99574344242871 | epot = -11.7084089283453 | etot = -8.37462296732691 +115000 ekin = 1.3864743192956 | erot = 1.98903581447767 | epot = -11.7501331008338 | etot = -8.3746229670605 +116000 ekin = 1.44876446583422 | erot = 2.00047074173015 | epot = -11.8238581746954 | etot = -8.37462296713099 +117000 ekin = 1.52378581535588 | erot = 2.0304433940819 | epot = -11.9288521768893 | etot = -8.37462296745153 +118000 ekin = 1.60840594184218 | erot = 2.07707436259006 | epot = -12.0601032724462 | etot = -8.37462296801394 +119000 ekin = 1.69804077960519 | erot = 2.13624566567623 | epot = -12.2089094140538 | etot = -8.37462296877234 +120000 ekin = 1.78696647862309 | erot = 2.20199105617489 | epot = -12.3635805044449 | etot = -8.37462296964695 +121000 ekin = 1.8688350853633 | erot = 2.2671883740785 | epot = -12.5106464299775 | etot = -8.37462297053566 +122000 ekin = 1.93731263285365 | erot = 2.3244608703497 | epot = -12.6363964745346 | etot = -8.37462297133129 +123000 ekin = 1.98673587945787 | erot = 2.36714489985521 | epot = -12.7285037512515 | etot = -8.37462297193848 +124000 ekin = 2.01268857483479 | erot = 2.39015976226582 | epot = -12.7774713093898 | etot = -8.37462297228923 +125000 ekin = 2.01242153120607 | erot = 2.39062925356809 | epot = -12.7776737571267 | etot = -8.37462297235253 +126000 ekin = 1.9850729032806 | erot = 2.36815351492884 | epot = -12.7278493903458 | etot = -8.37462297213636 +127000 ekin = 1.93167931643392 | erot = 2.3247037563462 | epot = -12.6310060444627 | etot = -8.37462297168258 +128000 ekin = 1.85500076916857 | erot = 2.26419178968054 | epot = -12.4938155299045 | etot = -8.37462297105536 +129000 ekin = 1.75920795598117 | erot = 2.19182812292618 | epot = -12.3256590492356 | etot = -8.37462297032824 +130000 ekin = 1.64949415840167 | erot = 2.11340935726356 | epot = -12.1375264852356 | etot = -8.37462296957032 +131000 ekin = 1.53167143066901 | erot = 2.03466319554018 | epot = -11.9409575950482 | etot = -8.37462296883903 +132000 ekin = 1.41179399813966 | erot = 1.96073697301942 | epot = -11.7471539393353 | etot = -8.37462296817617 +133000 ekin = 1.29582771791034 | erot = 1.89586175533322 | epot = -11.5663124408534 | etot = -8.37462296760984 +134000 ekin = 1.18933366770482 | erot = 1.84313053331036 | epot = -11.4070871682764 | etot = -8.3746229672612 +135000 ekin = 1.0969884576305 | erot = 1.80418246558963 | epot = -11.2757938901604 | etot = -8.37462296694027 +136000 ekin = 1.02270904454082 | erot = 1.77989195852219 | epot = -11.177223969814 | etot = -8.37462296675102 +137000 ekin = 0.969402888595132 | erot = 1.77022137974264 | epot = -11.1142472350352 | etot = -8.37462296669744 +138000 ekin = 0.938766242876429 | erot = 1.77423425797215 | epot = -11.0876234676255 | etot = -8.37462296677695 +139000 ekin = 0.931209536918654 | erot = 1.7902228440359 | epot = -11.09605534793 | etot = -8.37462296697548 +140000 ekin = 0.945902360873794 | erot = 1.81588277986748 | epot = -11.1364081080074 | etot = -8.37462296726613 +141000 ekin = 0.980951010695174 | erot = 1.84854552854051 | epot = -11.2041195068466 | etot = -8.37462296761095 +142000 ekin = 1.03368854660431 | erot = 1.8854617225894 | epot = -11.2937732371599 | etot = -8.37462296796614 +143000 ekin = 1.10102464558803 | erot = 1.92410215903311 | epot = -11.399749772913 | etot = -8.37462296829186 +144000 ekin = 1.17978371180474 | erot = 1.96241851789372 | epot = -11.5168251982595 | etot = -8.37462296856103 +145000 ekin = 1.26696389973277 | erot = 1.99907135517297 | epot = -11.6406582236462 | etot = -8.37462296874049 +146000 ekin = 1.35987698631731 | erot = 2.03338468070453 | epot = -11.767884635915 | etot = -8.37462296889316 +147000 ekin = 1.45616095202988 | erot = 2.06502561999195 | epot = -11.8958095410391 | etot = -8.37462296901725 +148000 ekin = 1.55369685491102 | erot = 2.09388144715374 | epot = -12.0222012712077 | etot = -8.37462296914293 +149000 ekin = 1.65047924324448 | erot = 2.11976671620324 | epot = -12.144868928744 | etot = -8.37462296929627 +150000 ekin = 1.74448791629856 | erot = 2.14217867903557 | epot = -12.2612895648265 | etot = -8.37462296949233 +151000 ekin = 1.83359650490156 | erot = 2.16016451670442 | epot = -12.3683839913408 | etot = -8.37462296973486 +152000 ekin = 1.91553611044675 | erot = 2.17231614291473 | epot = -12.4624752233742 | etot = -8.37462297001268 +153000 ekin = 1.98791755611551 | erot = 2.17689716712717 | epot = -12.5394376935489 | etot = -8.37462297030626 +154000 ekin = 2.04830722999057 | erot = 2.17205709329794 | epot = -12.5949872938789 | etot = -8.37462297059043 +155000 ekin = 2.09434778140682 | erot = 2.15608363214663 | epot = -12.6250543843914 | etot = -8.37462297083792 +156000 ekin = 2.12391577783707 | erot = 2.1276525103985 | epot = -12.6261912592572 | etot = -8.37462297102162 +157000 ekin = 2.13531004697546 | erot = 2.08604574913227 | epot = -12.5959787672234 | etot = -8.37462297111567 +158000 ekin = 2.12746223168591 | erot = 2.03132820631847 | epot = -12.5334134091003 | etot = -8.37462297109587 +159000 ekin = 2.10015103339202 | erot = 1.96448478928986 | epot = -12.4392587936246 | etot = -8.37462297094277 +160000 ekin = 2.05418416063666 | erot = 1.88751839461921 | epot = -12.3163255258998 | etot = -8.37462297064395 +161000 ekin = 1.9914954137128 | erot = 1.8035045715463 | epot = -12.1696229554608 | etot = -8.3746229702017 +162000 ekin = 1.91510266104691 | erot = 1.71656915682352 | epot = -12.0062947875078 | etot = -8.37462296963733 +163000 ekin = 1.82889680262221 | erot = 1.63175766791052 | epot = -11.8352774395238 | etot = -8.37462296899107 +164000 ekin = 1.73727850175354 | erot = 1.55477450557414 | epot = -11.6666759756466 | etot = -8.37462296831894 +165000 ekin = 1.64470875439862 | erot = 1.49159241029551 | epot = -11.5109241323765 | etot = -8.37462296768235 +166000 ekin = 1.55526715399592 | erot = 1.44796523954016 | epot = -11.3778553606754 | etot = -8.37462296713932 +167000 ekin = 1.47230568197329 | erot = 1.42890789301287 | epot = -11.2758365417203 | etot = -8.37462296673419 +168000 ekin = 1.39825202215306 | erot = 1.43822523216022 | epot = -11.2111002208051 | etot = -8.37462296649185 +169000 ekin = 1.33457196190122 | erot = 1.4781674025412 | epot = -11.1873623308595 | etot = -8.37462296641712 +170000 ekin = 1.28186404086284 | erot = 1.54925939136737 | epot = -11.2057463987275 | etot = -8.37462296649732 +171000 ekin = 1.2401053283702 | erot = 1.65031493319935 | epot = -11.2650432281454 | etot = -8.37462296657586 +172000 ekin = 1.20973432363881 | erot = 1.77850842430656 | epot = -11.3628657149171 | etot = -8.37462296697173 +173000 ekin = 1.18958106737809 | erot = 1.92939472681638 | epot = -11.4935987616333 | etot = -8.37462296743887 +174000 ekin = 1.17780375666769 | erot = 2.09752621801765 | epot = -11.6499529426374 | etot = -8.37462296795205 +175000 ekin = 1.172502841069 | erot = 2.27682305293083 | epot = -11.8239488624906 | etot = -8.37462296849078 +176000 ekin = 1.17177313417475 | erot = 2.4608623070369 | epot = -12.0072584102487 | etot = -8.37462296903704 +177000 ekin = 1.17372471418855 | erot = 2.64315812275369 | epot = -12.1915058065138 | etot = -8.37462296957157 +178000 ekin = 1.17649725816031 | erot = 2.81745378599554 | epot = -12.3685740142273 | etot = -8.37462297007148 +179000 ekin = 1.17828959842895 | erot = 2.978038856651 | epot = -12.5309514255901 | etot = -8.37462297051016 +180000 ekin = 1.1774168190097 | erot = 3.12008209304851 | epot = -12.6721218829182 | etot = -8.37462297085996 +181000 ekin = 1.17239479280051 | erot = 3.23994177497926 | epot = -12.7869595388776 | etot = -8.37462297109784 +182000 ekin = 1.16204161674153 | erot = 3.33528346670119 | epot = -12.8719480549258 | etot = -8.37462297148306 +183000 ekin = 1.14544700201154 | erot = 3.40346825728238 | epot = -12.9235382308526 | etot = -8.37462297155868 +184000 ekin = 1.12187454429724 | erot = 3.44382690739155 | epot = -12.9403244231943 | etot = -8.37462297150554 +185000 ekin = 1.09113819766543 | erot = 3.45752421108289 | epot = -12.9232853800831 | etot = -8.37462297133473 +186000 ekin = 1.05375177637538 | erot = 3.44681260248449 | epot = -12.875187349923 | etot = -8.37462297106316 +187000 ekin = 1.01100426926437 | erot = 3.41470705189622 | epot = -12.8003342918707 | etot = -8.37462297071008 +188000 ekin = 0.964980950088416 | erot = 3.3646710615679 | epot = -12.7042749819525 | etot = -8.37462297029614 +189000 ekin = 0.918502012520884 | erot = 3.30025095733202 | epot = -12.5933759397275 | etot = -8.37462296987457 +190000 ekin = 0.874955375625578 | erot = 3.22483721777132 | epot = -12.4744155628185 | etot = -8.37462296942164 +191000 ekin = 0.838012694189871 | erot = 3.14179385100168 | epot = -12.3544295141824 | etot = -8.37462296899086 +192000 ekin = 0.811264586710956 | erot = 3.05421641257334 | epot = -12.240103967897 | etot = -8.37462296861267 +193000 ekin = 0.797833231457478 | erot = 2.96485918306283 | epot = -12.1373153828319 | etot = -8.37462296831157 +194000 ekin = 0.8000323663007 | erot = 2.8761060823658 | epot = -12.0507614167682 | etot = -8.37462296810166 +195000 ekin = 0.819137512919949 | erot = 2.78998115247748 | epot = -11.9837416333827 | etot = -8.37462296798527 +196000 ekin = 0.855301818719506 | erot = 2.70818765526145 | epot = -11.9381124419352 | etot = -8.37462296795424 +197000 ekin = 0.907617485284835 | erot = 2.63215574475436 | epot = -11.9143961980334 | etot = -8.37462296799415 +198000 ekin = 0.974291517584437 | erot = 2.5630762301839 | epot = -11.9119907158566 | etot = -8.37462296808825 +199000 ekin = 1.05288651878785 | erot = 2.50190471363111 | epot = -11.9294142006405 | etot = -8.37462296822155 +200000 ekin = 1.14057530731235 | erot = 2.44933274089527 | epot = -11.9645310165903 | etot = -8.3746229683827 +201000 ekin = 1.23436945655788 | erot = 2.40573577404686 | epot = -12.014728199169 | etot = -8.37462296856431 +202000 ekin = 1.33129982084479 | erot = 2.37111655194145 | epot = -12.0770393415471 | etot = -8.37462296876082 +203000 ekin = 1.42854451444438 | erot = 2.34506402190557 | epot = -12.1482315053184 | etot = -8.37462296896845 +204000 ekin = 1.52351160571861 | erot = 2.32674290434256 | epot = -12.2248774792435 | etot = -8.37462296918235 +205000 ekin = 1.61388837060067 | erot = 2.31491995505467 | epot = -12.3034312950522 | etot = -8.37462296939689 +206000 ekin = 1.69766775260793 | erot = 2.30802500400467 | epot = -12.3803157262182 | etot = -8.37462296960556 +207000 ekin = 1.77315874687841 | erot = 2.304235629839 | epot = -12.4520173465215 | etot = -8.3746229698041 +208000 ekin = 1.83898325555921 | erot = 2.30156289475867 | epot = -12.5151691203033 | etot = -8.37462296998542 +209000 ekin = 1.89406065254659 | erot = 2.2979719308038 | epot = -12.5666555534953 | etot = -8.37462297014489 +210000 ekin = 1.93758171355955 | erot = 2.29149245614579 | epot = -12.6036971399835 | etot = -8.3746229702782 +211000 ekin = 1.9689749967881 | erot = 2.28032999988909 | epot = -12.6239279670585 | etot = -8.37462297038132 +212000 ekin = 1.98787057423958 | erot = 2.26297816329986 | epot = -12.6254717079901 | etot = -8.37462297045065 +213000 ekin = 1.9940661531065 | erot = 2.23834847729582 | epot = -12.6070376008835 | etot = -8.3746229704812 +214000 ekin = 1.98749971048336 | erot = 2.20579329600854 | epot = -12.567915976973 | etot = -8.3746229704811 +215000 ekin = 1.96823269345716 | erot = 2.16512069835608 | epot = -12.5079763622602 | etot = -8.37462297044691 +216000 ekin = 1.93645036858786 | erot = 2.11663233289595 | epot = -12.4277056718667 | etot = -8.37462297038284 +217000 ekin = 1.89249565101132 | erot = 2.06105227365551 | epot = -12.3281708949564 | etot = -8.37462297028959 +218000 ekin = 1.83696296100964 | erot = 1.99944931813356 | epot = -12.2110352493004 | etot = -8.3746229701572 +219000 ekin = 1.770879972 | erot = 1.93321768349748 | epot = -12.0787206254578 | etot = -8.37462296996032 +220000 ekin = 1.69598414200828 | erot = 1.86416918368603 | epot = -11.934776295355 | etot = -8.37462296966072 +221000 ekin = 1.61504938765098 | erot = 1.79472971030249 | epot = -11.7844020671756 | etot = -8.37462296922216 +222000 ekin = 1.53214607792005 | erot = 1.72813764736983 | epot = -11.6349066939257 | etot = -8.37462296863582 +223000 ekin = 1.45266240883154 | erot = 1.66846349300121 | epot = -11.4957488697767 | etot = -8.37462296794391 +224000 ekin = 1.3829329245014 | erot = 1.62027927221262 | epot = -11.3778351639602 | etot = -8.37462296724621 +225000 ekin = 1.32944348952769 | erot = 1.58793473617142 | epot = -11.2920011923817 | etot = -8.37462296668256 +226000 ekin = 1.29777350141005 | erot = 1.57457480049508 | epot = -11.2469712682749 | etot = -8.37462296636975 +227000 ekin = 1.29158711545493 | erot = 1.58136206120122 | epot = -11.2475721430406 | etot = -8.37462296638443 +228000 ekin = 1.31199160550491 | erot = 1.60705168356049 | epot = -11.2936662557523 | etot = -8.37462296668691 +229000 ekin = 1.35720775781583 | erot = 1.64872427968762 | epot = -11.3805550048113 | etot = -8.37462296730786 +230000 ekin = 1.42320705813343 | erot = 1.70117239435478 | epot = -11.4990024205431 | etot = -8.37462296805492 +231000 ekin = 1.50467169677599 | erot = 1.75808746579081 | epot = -11.63738213137 | etot = -8.37462296880323 +232000 ekin = 1.59576180204811 | erot = 1.8134544621678 | epot = -11.783839233675 | etot = -8.3746229694591 +233000 ekin = 1.69077156764799 | erot = 1.86233770608594 | epot = -11.927732243706 | etot = -8.37462296997204 +234000 ekin = 1.78453671679941 | erot = 1.90129507954642 | epot = -12.0604547666796 | etot = -8.37462297033374 +235000 ekin = 1.87261122259007 | erot = 1.92842207171149 | epot = -12.1756562648647 | etot = -8.37462297056318 +236000 ekin = 1.95129507586088 | erot = 1.94312673772435 | epot = -12.2690447842759 | etot = -8.37462297069067 +237000 ekin = 2.01688127570926 | erot = 1.94587838549599 | epot = -12.3373826321093 | etot = -8.37462297090404 +238000 ekin = 2.06554471096663 | erot = 1.93754713481337 | epot = -12.3777148167611 | etot = -8.37462297098108 +239000 ekin = 2.09498833917125 | erot = 1.91896908743882 | epot = -12.3885803976064 | etot = -8.37462297099629 +240000 ekin = 2.10387887335877 | erot = 1.89114067893424 | epot = -12.3696425232252 | etot = -8.37462297093216 +241000 ekin = 2.09205058134759 | erot = 1.8552423277367 | epot = -12.321915879852 | etot = -8.37462297076774 +242000 ekin = 2.06070692356718 | erot = 1.81270484104083 | epot = -12.248034735093 | etot = -8.37462297048499 +243000 ekin = 2.01255526288376 | erot = 1.76529169809243 | epot = -12.1524699310585 | etot = -8.37462297008235 +244000 ekin = 1.95178746173538 | erot = 1.71512317980711 | epot = -12.041533611113 | etot = -8.37462296957053 +245000 ekin = 1.88387514784689 | erot = 1.66462101119848 | epot = -11.9231191280346 | etot = -8.37462296898926 +246000 ekin = 1.81512558267767 | erot = 1.61637080971481 | epot = -11.806119360792 | etot = -8.37462296839955 +247000 ekin = 1.75197548737588 | erot = 1.57289129038633 | epot = -11.6994897456372 | etot = -8.37462296787495 +248000 ekin = 1.70016015194924 | erot = 1.53636641743642 | epot = -11.6111495368734 | etot = -8.3746229674877 +249000 ekin = 1.6640439145432 | erot = 1.50839677555173 | epot = -11.547063657254 | etot = -8.3746229671591 +250000 ekin = 1.64635032469252 | erot = 1.48977166427928 | epot = -11.5107449561771 | etot = -8.37462296720534 +251000 ekin = 1.64670868822438 | erot = 1.48021150770255 | epot = -11.5015431633554 | etot = -8.37462296742851 +252000 ekin = 1.66264181464409 | erot = 1.47871062656292 | epot = -11.5159754089798 | etot = -8.3746229677728 +253000 ekin = 1.69027564040423 | erot = 1.48380069510004 | epot = -11.5486993036762 | etot = -8.37462296817197 +254000 ekin = 1.7250530129175 | erot = 1.49382397147215 | epot = -11.5934999529557 | etot = -8.37462296856602 +255000 ekin = 1.76239471231546 | erot = 1.50720813838016 | epot = -11.6442258196114 | etot = -8.37462296891583 +256000 ekin = 1.79816893498598 | erot = 1.5225925446976 | epot = -11.6953844488857 | etot = -8.37462296920214 +257000 ekin = 1.82895095239721 | erot = 1.5388780186388 | epot = -11.7424519404555 | etot = -8.37462296941948 +258000 ekin = 1.85212386739591 | erot = 1.55528591409769 | epot = -11.7820327510622 | etot = -8.37462296956863 +259000 ekin = 1.86588413888244 | erot = 1.57137656836542 | epot = -11.8118836768989 | etot = -8.37462296965109 +260000 ekin = 1.86922537289895 | erot = 1.58707491263374 | epot = -11.8309232551855 | etot = -8.37462296965279 +261000 ekin = 1.86194745777981 | erot = 1.60277606186329 | epot = -11.8393464893229 | etot = -8.37462296967978 +262000 ekin = 1.84441202421319 | erot = 1.61874454524327 | epot = -11.8377795390076 | etot = -8.37462296955112 +263000 ekin = 1.81775632997628 | erot = 1.63584439963888 | epot = -11.8282236989394 | etot = -8.37462296932421 +264000 ekin = 1.78414336143469 | erot = 1.65581672859378 | epot = -11.8145830590338 | etot = -8.37462296900532 +265000 ekin = 1.74659811333676 | erot = 1.68088156362759 | epot = -11.8021026455962 | etot = -8.37462296863181 +266000 ekin = 1.70875551588599 | erot = 1.7133238753805 | epot = -11.7967023595409 | etot = -8.37462296827444 +267000 ekin = 1.67443624978586 | erot = 1.75501089284454 | epot = -11.8040701106185 | etot = -8.37462296798813 +268000 ekin = 1.64712713207532 | erot = 1.80695733277643 | epot = -11.8287074326929 | etot = -8.37462296784112 +269000 ekin = 1.6294902114269 | erot = 1.8688326756716 | epot = -11.8729458549709 | etot = -8.37462296787235 +270000 ekin = 1.62285159922476 | erot = 1.93872810894267 | epot = -11.9362026762885 | etot = -8.37462296812108 +271000 ekin = 1.62688631043752 | erot = 2.01317767222032 | epot = -12.0146869512058 | etot = -8.37462296854792 +272000 ekin = 1.63981668010417 | erot = 2.08746423747645 | epot = -12.101903886666 | etot = -8.37462296908541 +273000 ekin = 1.65880091169025 | erot = 2.15626799363775 | epot = -12.1896918749694 | etot = -8.37462296964141 +274000 ekin = 1.68050753849916 | erot = 2.21448722130891 | epot = -12.2696177299301 | etot = -8.37462297012202 +275000 ekin = 1.70172643739795 | erot = 2.25805265702223 | epot = -12.3344020648721 | etot = -8.37462297045196 +276000 ekin = 1.71987527696163 | erot = 2.28456562448947 | epot = -12.3790638720394 | etot = -8.37462297058833 +277000 ekin = 1.73331269261594 | erot = 2.2936490566384 | epot = -12.4015847197774 | etot = -8.37462297052306 +278000 ekin = 1.74143735013745 | erot = 2.28698125838951 | epot = -12.4030415787994 | etot = -8.3746229702724 +279000 ekin = 1.74460802870593 | erot = 2.26806682992324 | epot = -12.3872978285229 | etot = -8.37462296989376 +280000 ekin = 1.74394008412442 | erot = 2.2417131405199 | epot = -12.3602761940829 | etot = -8.37462296943857 +281000 ekin = 1.74088698058179 | erot = 2.21312908436347 | epot = -12.3286390340534 | etot = -8.37462296910814 +282000 ekin = 1.73669656458705 | erot = 2.1870420444962 | epot = -12.298361577878 | etot = -8.3746229687948 +283000 ekin = 1.73229007371595 | erot = 2.16744679622899 | epot = -12.2743598385786 | etot = -8.37462296863364 +284000 ekin = 1.72792109204532 | erot = 2.15675164213796 | epot = -12.2592957028516 | etot = -8.37462296866828 +285000 ekin = 1.72297480902855 | erot = 2.15537559427342 | epot = -12.2529733722 | etot = -8.37462296889804 +286000 ekin = 1.71598432453032 | erot = 2.16179000838427 | epot = -12.2523973021715 | etot = -8.37462296925687 +287000 ekin = 1.7049852422032 | erot = 2.17315503013756 | epot = -12.2527632419521 | etot = -8.37462296961137 +288000 ekin = 1.68823578051936 | erot = 2.18649203663189 | epot = -12.2493507869531 | etot = -8.37462296980184 +289000 ekin = 1.66510970376205 | erot = 2.19999055777972 | epot = -12.2397232312613 | etot = -8.37462296971956 +290000 ekin = 1.63674302037981 | erot = 2.2138125269939 | epot = -12.2251785167482 | etot = -8.37462296937453 +291000 ekin = 1.60601874197418 | erot = 2.22992661048372 | epot = -12.210568321354 | etot = -8.37462296889611 +292000 ekin = 1.57682389343772 | erot = 2.25107800691132 | epot = -12.202524868782 | etot = -8.37462296843301 +293000 ekin = 1.55301992418702 | erot = 2.27950943304652 | epot = -12.2071523254134 | etot = -8.37462296817987 +294000 ekin = 1.53731454048192 | erot = 2.31583078837931 | epot = -12.2277682970271 | etot = -8.37462296816589 +295000 ekin = 1.53083265562522 | erot = 2.35873605655334 | epot = -12.2641916805469 | etot = -8.3746229683683 +296000 ekin = 1.53318706455254 | erot = 2.40528084679105 | epot = -12.3130908800621 | etot = -8.37462296871854 +297000 ekin = 1.54281493583633 | erot = 2.45151931863516 | epot = -12.3689572236286 | etot = -8.3746229691571 +298000 ekin = 1.55733608765137 | erot = 2.49306411732002 | epot = -12.4250231746884 | etot = -8.37462296971699 +299000 ekin = 1.57407386288273 | erot = 2.52498633848825 | epot = -12.4736831715342 | etot = -8.37462297016317 +300000 ekin = 1.59001535760035 | erot = 2.54349315182925 | epot = -12.5081314800019 | etot = -8.37462297057228 +301000 ekin = 1.60189886822646 | erot = 2.54585083166253 | epot = -12.522372670814 | etot = -8.37462297092498 +302000 ekin = 1.60620251585633 | erot = 2.53039812867706 | epot = -12.5112236158412 | etot = -8.3746229713078 +303000 ekin = 1.59914065240609 | erot = 2.49598280993848 | epot = -12.4697464340454 | etot = -8.37462297170085 +304000 ekin = 1.57679795693774 | erot = 2.44177332378576 | epot = -12.3931942527979 | etot = -8.37462297207441 +305000 ekin = 1.5357430437406 | erot = 2.36761905414257 | epot = -12.2779850699661 | etot = -8.37462297208297 +306000 ekin = 1.47392866559623 | erot = 2.27453104047954 | epot = -12.1230826782582 | etot = -8.37462297218248 +307000 ekin = 1.39050823398579 | erot = 2.16376504506936 | epot = -11.9288962509199 | etot = -8.37462297186479 +308000 ekin = 1.28961522980587 | erot = 2.03977667258414 | epot = -11.704014870663 | etot = -8.37462296827299 +309000 ekin = 1.05782937493726 | erot = 1.83361716570663 | epot = -11.2660695010504 | etot = -8.37462296040654 +310000 ekin = 1.14450415449027 | erot = 1.58483272602461 | epot = -11.1039598386918 | etot = -8.37462295817693 +311000 ekin = 1.41922601312499 | erot = 1.45460499880737 | epot = -11.2484540448424 | etot = -8.37462303291008 +312000 ekin = 1.45261330232172 | erot = 1.37611906651663 | epot = -11.2033554015522 | etot = -8.37462303271387 +313000 ekin = 1.47884377174092 | erot = 1.31854286229483 | epot = -11.1720096664212 | etot = -8.37462303238549 +314000 ekin = 1.49756299811569 | erot = 1.28320357876914 | epot = -11.1553896088946 | etot = -8.37462303200974 +315000 ekin = 1.5133255918795 | erot = 1.27043025389343 | epot = -11.1583788774962 | etot = -8.37462303172332 +316000 ekin = 1.53080061117965 | erot = 1.27925593275776 | epot = -11.1846795755422 | etot = -8.37462303160482 +317000 ekin = 1.55378721590818 | erot = 1.30719554367529 | epot = -11.2356057912731 | etot = -8.37462303168967 +318000 ekin = 1.58370434541022 | erot = 1.34913652060418 | epot = -11.3074638985375 | etot = -8.37462303252313 +319000 ekin = 1.61943484148194 | erot = 1.39801478359267 | epot = -11.3920726581923 | etot = -8.37462303311765 +320000 ekin = 1.65864783760463 | erot = 1.4469667045907 | epot = -11.4802375759964 | etot = -8.37462303380111 +321000 ekin = 1.69766983847277 | erot = 1.48920524279054 | epot = -11.5614981157279 | etot = -8.37462303446459 +322000 ekin = 1.73222385845994 | erot = 1.51888544570707 | epot = -11.6257323391487 | etot = -8.37462303498174 +323000 ekin = 1.75834700852269 | erot = 1.5320295663078 | epot = -11.6649996100692 | etot = -8.3746230352387 +324000 ekin = 1.77324650046275 | erot = 1.527325970295 | epot = -11.6751955059261 | etot = -8.37462303516836 +325000 ekin = 1.77583924216909 | erot = 1.50655389358412 | epot = -11.6570161705536 | etot = -8.37462303480044 +326000 ekin = 1.76682929376801 | erot = 1.4743692828387 | epot = -11.6158216107552 | etot = -8.37462303414854 +327000 ekin = 1.74834602231056 | erot = 1.43794367202714 | epot = -11.5609127276985 | etot = -8.37462303336079 +328000 ekin = 1.72331109821159 | erot = 1.4057861507968 | epot = -11.5037202815765 | etot = -8.37462303256808 +329000 ekin = 1.69488797673298 | erot = 1.38635580023326 | epot = -11.4558668088437 | etot = -8.37462303187749 +330000 ekin = 1.66566513334673 | erot = 1.38702252391911 | epot = -11.4273106886487 | etot = -8.37462303138284 +331000 ekin = 1.63732185166116 | erot = 1.41331220646656 | epot = -11.4252570892342 | etot = -8.37462303110653 +332000 ekin = 1.61073968003925 | erot = 1.46826665363495 | epot = -11.4536293647312 | etot = -8.37462303105704 +333000 ekin = 1.58605232106421 | erot = 1.55220559043142 | epot = -11.5128809427296 | etot = -8.374623031234 +334000 ekin = 1.56284415922255 | erot = 1.66255678080467 | epot = -11.6000239716181 | etot = -8.3746230315909 +335000 ekin = 1.54014240613746 | erot = 1.79443783502769 | epot = -11.7092032732466 | etot = -8.37462303208149 +336000 ekin = 1.5167045521654 | erot = 1.94117931563276 | epot = -11.8325069004476 | etot = -8.37462303264939 +337000 ekin = 1.49128277555466 | erot = 2.09492414345266 | epot = -11.9608299522427 | etot = -8.37462303323541 +338000 ekin = 1.46282625482966 | erot = 2.24735936520935 | epot = -12.0848086538225 | etot = -8.37462303378349 +339000 ekin = 1.43063896798238 | erot = 2.39044100153427 | epot = -12.1957030037644 | etot = -8.37462303424774 +340000 ekin = 1.39448012483961 | erot = 2.51702660359023 | epot = -12.286129763026 | etot = -8.37462303459616 +341000 ekin = 1.35460313822188 | erot = 2.62135284037471 | epot = -12.3505790134085 | etot = -8.37462303481193 +342000 ekin = 1.31173936862989 | erot = 2.6993354674974 | epot = -12.385697871018 | etot = -8.37462303489068 +343000 ekin = 1.26704159860185 | erot = 2.74871044551789 | epot = -12.390375078956 | etot = -8.3746230348363 +344000 ekin = 1.22200654509462 | erot = 2.76906107654609 | epot = -12.3656906562964 | etot = -8.3746230346557 +345000 ekin = 1.17839357225679 | erot = 2.76177689465574 | epot = -12.3147935012701 | etot = -8.37462303435761 +346000 ekin = 1.138147305603 | erot = 2.72996678569899 | epot = -12.2427371252559 | etot = -8.37462303395393 +347000 ekin = 1.10331757839138 | erot = 2.67831421954011 | epot = -12.1562548313951 | etot = -8.37462303346366 +348000 ekin = 1.07595787263665 | erot = 2.61283600667709 | epot = -12.0634169122315 | etot = -8.3746230329178 +349000 ekin = 1.05798147191731 | erot = 2.54050407789471 | epot = -11.9731085821735 | etot = -8.37462303236147 +350000 ekin = 1.05096760963782 | erot = 2.46871550808049 | epot = -11.8943061495698 | etot = -8.37462303185146 +351000 ekin = 1.05593437429307 | erot = 2.40463774698071 | epot = -11.835195152722 | etot = -8.37462303144819 +352000 ekin = 1.07311971186488 | erot = 2.35449555191725 | epot = -11.8022382949892 | etot = -8.37462303120707 +353000 ekin = 1.10182415540794 | erot = 2.32288867128265 | epot = -11.7993358578589 | etot = -8.37462303116831 +354000 ekin = 1.14036300464667 | erot = 2.31223409502419 | epot = -11.8272201310211 | etot = -8.37462303135019 +355000 ekin = 1.18615564007855 | erot = 2.32242185962048 | epot = -11.8832005314417 | etot = -8.37462303174267 +356000 ekin = 1.23595386569893 | erot = 2.3507632696423 | epot = -11.9613401676474 | etot = -8.37462303230619 +357000 ekin = 1.28618457758663 | erot = 2.39228504524971 | epot = -12.0530926558099 | etot = -8.37462303297352 +358000 ekin = 1.33335672484066 | erot = 2.44036693764212 | epot = -12.1483466961435 | etot = -8.37462303366069 +359000 ekin = 1.37446611423542 | erot = 2.48763760748948 | epot = -12.2367267560058 | etot = -8.37462303428087 +360000 ekin = 1.40733698540127 | erot = 2.52696891747079 | epot = -12.3089289376308 | etot = -8.37462303475878 +361000 ekin = 1.4308523011713 | erot = 2.55266032656708 | epot = -12.3581356626699 | etot = -8.37462303493157 +362000 ekin = 1.44498023419552 | erot = 2.56161192448358 | epot = -12.3812151936925 | etot = -8.37462303501344 +363000 ekin = 1.45080808015495 | erot = 2.55177253018961 | epot = -12.3772036452513 | etot = -8.37462303490678 +364000 ekin = 1.45046982069976 | erot = 2.52283864584236 | epot = -12.3479315011823 | etot = -8.37462303464013 +365000 ekin = 1.44693366152058 | erot = 2.47609933176612 | epot = -12.2976560275497 | etot = -8.37462303426302 +366000 ekin = 1.44366094468076 | erot = 2.41401126337553 | epot = -12.232295241893 | etot = -8.37462303383673 +367000 ekin = 1.44416618229235 | erot = 2.33969773429608 | epot = -12.1584869500119 | etot = -8.37462303342343 +368000 ekin = 1.45154164412146 | erot = 2.25648465084956 | epot = -12.0826493280447 | etot = -8.37462303307363 +369000 ekin = 1.46802482611129 | erot = 2.16757470029718 | epot = -12.0102225592253 | etot = -8.37462303281687 +370000 ekin = 1.49468484158027 | erot = 2.07591739972967 | epot = -11.9452252739683 | etot = -8.37462303265834 +371000 ekin = 1.53128479294168 | erot = 1.98426522628747 | epot = -11.8901730518125 | etot = -8.37462303258338 +372000 ekin = 1.57634160155693 | erot = 1.8953362606447 | epot = -11.8463008947683 | etot = -8.3746230325667 +373000 ekin = 1.62736107596798 | erot = 1.81196417168749 | epot = -11.8139482802385 | etot = -8.37462303258302 +374000 ekin = 1.68119274504331 | erot = 1.73713269144043 | epot = -11.7929484690969 | etot = -8.37462303261319 +375000 ekin = 1.73444043053021 | erot = 1.6738588433462 | epot = -11.7829223065197 | etot = -8.37462303264332 +376000 ekin = 1.78387586144104 | erot = 1.62497473906303 | epot = -11.7834736331736 | etot = -8.3746230326695 +377000 ekin = 1.82648186092067 | erot = 1.59275354369137 | epot = -11.7938584374905 | etot = -8.37462303287845 +378000 ekin = 1.85889028460924 | erot = 1.57838589666601 | epot = -11.8118992141862 | etot = -8.37462303291091 +379000 ekin = 1.87974734421496 | erot = 1.58231910072796 | epot = -11.836689477891 | etot = -8.37462303294807 +380000 ekin = 1.88876618248049 | erot = 1.60397852042792 | epot = -11.8673677359264 | etot = -8.37462303301795 +381000 ekin = 1.88634387025689 | erot = 1.64162253507626 | epot = -11.9025894384718 | etot = -8.37462303313868 +382000 ekin = 1.87329602400055 | erot = 1.69239968364273 | epot = -11.9403187409512 | etot = -8.37462303330791 +383000 ekin = 1.85067766912144 | erot = 1.75260724973921 | epot = -11.9779079523646 | etot = -8.37462303350392 +384000 ekin = 1.81972884480806 | erot = 1.81808771260978 | epot = -12.012439591111 | etot = -8.37462303369321 +385000 ekin = 1.78192764777056 | erot = 1.8846313378667 | epot = -12.0411820195031 | etot = -8.37462303386585 +386000 ekin = 1.73896117301595 | erot = 1.94830024178108 | epot = -12.0618844487812 | etot = -8.37462303398414 +387000 ekin = 1.69261703956643 | erot = 2.00550933075303 | epot = -12.0727494044575 | etot = -8.37462303413803 +388000 ekin = 1.64442362565025 | erot = 2.0529026228811 | epot = -12.0719492828224 | etot = -8.3746230342911 +389000 ekin = 1.59562809726278 | erot = 2.08769097010042 | epot = -12.0579421017184 | etot = -8.37462303435517 +390000 ekin = 1.5472725807875 | erot = 2.10804034821809 | epot = -12.0299359634129 | etot = -8.37462303440729 +391000 ekin = 1.5004266868921 | erot = 2.11301685840023 | epot = -11.9880665795734 | etot = -8.37462303428111 +392000 ekin = 1.45669956782618 | erot = 2.1035261208382 | epot = -11.9348487226024 | etot = -8.37462303393806 +393000 ekin = 1.41857599109023 | erot = 2.08263213471356 | epot = -11.8758311591984 | etot = -8.37462303339458 +394000 ekin = 1.38932612627842 | erot = 2.05528425943449 | epot = -11.8192334184613 | etot = -8.37462303274838 +395000 ekin = 1.37246101478418 | erot = 2.02739319427218 | epot = -11.7744772412151 | etot = -8.37462303215879 +396000 ekin = 1.37078907987889 | erot = 2.00445159240655 | epot = -11.7498637040821 | etot = -8.37462303179663 +397000 ekin = 1.38538853999933 | erot = 1.99011302537629 | epot = -11.7501245971573 | etot = -8.37462303178166 +398000 ekin = 1.41490531161691 | erot = 1.98519641778415 | epot = -11.7747247615395 | etot = -8.37462303213847 +399000 ekin = 1.45547085036333 | erot = 1.98743025594793 | epot = -11.8175241391056 | etot = -8.37462303279433 +400000 ekin = 1.50126526406653 | erot = 1.99196444869351 | epot = -11.8678527463725 | etot = -8.37462303361247 +401000 ekin = 1.54549713891542 | erot = 1.99242148352483 | epot = -11.912541656877 | etot = -8.37462303443675 +402000 ekin = 1.58148802753443 | erot = 1.98217540610616 | epot = -11.938286468762 | etot = -8.3746230351214 +403000 ekin = 1.60364407572841 | erot = 1.95563446459467 | epot = -11.933901575864 | etot = -8.37462303554094 +404000 ekin = 1.60823718231444 | erot = 1.90940860689033 | epot = -11.8922688248047 | etot = -8.37462303559992 +405000 ekin = 1.59393186875409 | erot = 1.84321418438545 | epot = -11.8117690883972 | etot = -8.37462303525767 +406000 ekin = 1.56197926550456 | erot = 1.76026394072076 | epot = -11.6968662407814 | etot = -8.3746230345561 +407000 ekin = 1.51595319782283 | erot = 1.66689496115242 | epot = -11.557471192596 | etot = -8.37462303362073 +408000 ekin = 1.46103089399037 | erot = 1.57144700034375 | epot = -11.4071009269549 | etot = -8.37462303262082 +409000 ekin = 1.40302353808212 | erot = 1.48274963104999 | epot = -11.2603962008451 | etot = -8.37462303171302 +410000 ekin = 1.34747963365306 | erot = 1.40871679572269 | epot = -11.1308194603667 | etot = -8.37462303099099 +411000 ekin = 1.24142842928015 | erot = 1.36765891027326 | epot = -10.9837103545926 | etot = -8.37462301503915 +412000 ekin = 1.07606206466648 | erot = 1.44463891803928 | epot = -10.8953239884245 | etot = -8.37462300571878 +413000 ekin = 1.04694922469659 | erot = 1.51102600613158 | epot = -10.9325982588146 | etot = -8.37462302798646 +414000 ekin = 1.03606467090415 | erot = 1.52895884328637 | epot = -10.939646542314 | etot = -8.37462302812346 +415000 ekin = 1.03698178422045 | erot = 1.56970634086026 | epot = -10.9813111534882 | etot = -8.37462302840751 +416000 ekin = 1.04842794421751 | erot = 1.63005774223117 | epot = -11.0531087152571 | etot = -8.37462302880839 +417000 ekin = 1.06841333535707 | erot = 1.7057177047907 | epot = -11.148754069442 | etot = -8.37462302929419 +418000 ekin = 1.09444701005145 | erot = 1.7915840530624 | epot = -11.2606540929521 | etot = -8.37462302983822 +419000 ekin = 1.12371544113113 | erot = 1.88200392342396 | epot = -11.380342394971 | etot = -8.37462303041592 +420000 ekin = 1.15322596863779 | erot = 1.97103956947869 | epot = -11.4988885691126 | etot = -8.37462303099611 +421000 ekin = 1.17996638670259 | erot = 2.05281125535568 | epot = -11.6074006735889 | etot = -8.3746230315306 +422000 ekin = 1.20115062981169 | erot = 2.12197272517875 | epot = -11.697746386944 | etot = -8.37462303195353 +423000 ekin = 1.21456879342772 | erot = 2.1742992460712 | epot = -11.7634910716968 | etot = -8.37462303219783 +424000 ekin = 1.21895541018824 | erot = 2.20725430505372 | epot = -11.8008327474647 | etot = -8.37462303222279 +425000 ekin = 1.21420953470763 | erot = 2.22030001430828 | epot = -11.8091325810578 | etot = -8.37462303204189 +426000 ekin = 1.20134505265836 | erot = 2.21476142814857 | epot = -11.7907295125136 | etot = -8.37462303170663 +427000 ekin = 1.18219319315433 | erot = 2.19340434236639 | epot = -11.750220566811 | etot = -8.37462303129028 +428000 ekin = 1.1589992194094 | erot = 2.15981652249787 | epot = -11.6934387727652 | etot = -8.37462303085794 +429000 ekin = 1.13415683500818 | erot = 2.11790831243045 | epot = -11.6266881762552 | etot = -8.37462302881656 +430000 ekin = 1.11403963820984 | erot = 2.07460238347215 | epot = -11.5632650504425 | etot = -8.3746230287605 +431000 ekin = 1.10124843427963 | erot = 2.03325324116058 | epot = -11.5091247042081 | etot = -8.37462302876791 +432000 ekin = 1.09509673682057 | erot = 1.99414694703559 | epot = -11.4638667126922 | etot = -8.37462302883607 +433000 ekin = 1.09463609314626 | erot = 1.95711348582254 | epot = -11.4263726079124 | etot = -8.37462302894363 +434000 ekin = 1.09809472012948 | erot = 1.92111283569859 | epot = -11.3938305852088 | etot = -8.37462302938068 +435000 ekin = 1.10341624338786 | erot = 1.8849214283033 | epot = -11.3629607010965 | etot = -8.37462302940532 +436000 ekin = 1.11020757162794 | erot = 1.84854231975911 | epot = -11.3333729208365 | etot = -8.37462302944944 +437000 ekin = 1.11803889537716 | erot = 1.811869025112 | epot = -11.3045309499975 | etot = -8.37462302950836 +438000 ekin = 1.12642172160203 | erot = 1.77470718111898 | epot = -11.2757519322947 | etot = -8.37462302957371 +439000 ekin = 1.13485148153839 | erot = 1.73686282079475 | epot = -11.2463373319665 | etot = -8.37462302963338 +440000 ekin = 1.14287335820531 | erot = 1.69826079507209 | epot = -11.2157571829496 | etot = -8.37462302967224 +441000 ekin = 1.15016795452965 | erot = 1.65908318343038 | epot = -11.1838741676301 | etot = -8.37462302967003 +442000 ekin = 1.15664284201438 | erot = 1.61992313518235 | epot = -11.1511890068204 | etot = -8.3746230296237 +443000 ekin = 1.16253418068965 | erot = 1.58179210099491 | epot = -11.1189493112069 | etot = -8.37462302952238 +444000 ekin = 1.16846798531214 | erot = 1.54614466613328 | epot = -11.0892356808146 | etot = -8.37462302936922 +445000 ekin = 1.1754682034657 | erot = 1.51479732960997 | epot = -11.064888562255 | etot = -8.37462302917931 +446000 ekin = 1.18488743024638 | erot = 1.48973802088241 | epot = -11.0492484801092 | etot = -8.37462302898043 +447000 ekin = 1.19824347153595 | erot = 1.4728428998055 | epot = -11.0457094001514 | etot = -8.37462302880998 +448000 ekin = 1.21696535091515 | erot = 1.46554765995542 | epot = -11.0571360395813 | etot = -8.3746230287107 +449000 ekin = 1.24207954598512 | erot = 1.46851271093811 | epot = -11.0852152856434 | etot = -8.37462302872015 +450000 ekin = 1.27389445230309 | erot = 1.48136016742249 | epot = -11.1298776485961 | etot = -8.37462302887047 +451000 ekin = 1.31179903842769 | erot = 1.50255470267703 | epot = -11.1889767701153 | etot = -8.37462302901055 +452000 ekin = 1.35460859520352 | erot = 1.52989164327147 | epot = -11.2591232679078 | etot = -8.37462302943281 +453000 ekin = 1.39989469250035 | erot = 1.55983588432727 | epot = -11.334353606767 | etot = -8.37462302993942 +454000 ekin = 1.44437957549523 | erot = 1.58822152329922 | epot = -11.4072241292528 | etot = -8.37462303045837 +455000 ekin = 1.4845601587809 | erot = 1.6110361600437 | epot = -11.4702193497289 | etot = -8.37462303090433 +456000 ekin = 1.51733329615193 | erot = 1.62510652435356 | epot = -11.5170628516963 | etot = -8.37462303119078 +457000 ekin = 1.54029245797498 | erot = 1.62854015385641 | epot = -11.5434556431066 | etot = -8.3746230312752 +458000 ekin = 1.5520978706264 | erot = 1.62122255615416 | epot = -11.5479434578272 | etot = -8.3746230310466 +459000 ekin = 1.55414659187651 | erot = 1.60571991112788 | epot = -11.5344895335874 | etot = -8.374623030583 +460000 ekin = 1.54960099436756 | erot = 1.58640018749771 | epot = -11.5106242118325 | etot = -8.37462302996718 +461000 ekin = 1.5427312422487 | erot = 1.5687225226635 | epot = -11.4860767942378 | etot = -8.37462302932561 +462000 ekin = 1.53795589449098 | erot = 1.55825929919566 | epot = -11.4708382224919 | etot = -8.3746230288053 +463000 ekin = 1.53875903308003 | erot = 1.55959299575772 | epot = -11.4729750573648 | etot = -8.37462302852709 +464000 ekin = 1.54682029511914 | erot = 1.5753418689491 | epot = -11.4967851926244 | etot = -8.37462302855616 +465000 ekin = 1.56162946502592 | erot = 1.60564212072992 | epot = -11.5418946146286 | etot = -8.3746230288728 +466000 ekin = 1.58070265304453 | erot = 1.64822662156104 | epot = -11.6035523039889 | etot = -8.37462302938336 +467000 ekin = 1.60035208027453 | erot = 1.69905719078982 | epot = -11.6740323010127 | etot = -8.37462302994838 +468000 ekin = 1.61673623107485 | erot = 1.75335443246717 | epot = -11.7447136939726 | etot = -8.3746230304306 +469000 ekin = 1.6268308500725 | erot = 1.80670922025587 | epot = -11.8081631010582 | etot = -8.37462303072985 +470000 ekin = 1.62907239972834 | erot = 1.85596584023993 | epot = -11.8596612707767 | etot = -8.37462303080845 +471000 ekin = 1.6235468737331 | erot = 1.8996612917067 | epot = -11.8978311961327 | etot = -8.37462303069291 +472000 ekin = 1.61170510379542 | erot = 1.93800410341002 | epot = -11.9243322376459 | etot = -8.37462303044043 +473000 ekin = 1.59590324450968 | erot = 1.97246730641929 | epot = -11.9429935810559 | etot = -8.37462303012697 +474000 ekin = 1.57886523181254 | erot = 2.00526149881397 | epot = -11.9587497604453 | etot = -8.37462302981875 +475000 ekin = 1.5631207157897 | erot = 2.03882982960363 | epot = -11.9765735749599 | etot = -8.37462302956653 +476000 ekin = 1.55063074695144 | erot = 2.07545668637113 | epot = -12.000710462713 | etot = -8.37462302939048 +477000 ekin = 1.54263588410843 | erot = 2.11704231172457 | epot = -12.0343012251353 | etot = -8.37462302930229 +478000 ekin = 1.53956151542 | erot = 2.16493101565339 | epot = -12.0791155603797 | etot = -8.37462302930633 +479000 ekin = 1.54104337297934 | erot = 2.21977101927583 | epot = -12.1354374216603 | etot = -8.37462302940509 +480000 ekin = 1.54600976096943 | erot = 2.28138261400339 | epot = -12.2020154045693 | etot = -8.37462302959645 +481000 ekin = 1.55280606024705 | erot = 2.34867771788968 | epot = -12.276106808004 | etot = -8.37462302986726 +482000 ekin = 1.55937339634668 | erot = 2.41971772771286 | epot = -12.3537141542443 | etot = -8.37462303018471 +483000 ekin = 1.56350104452631 | erot = 2.49198464322841 | epot = -12.4301087182512 | etot = -8.37462303049648 +484000 ekin = 1.56314467772404 | erot = 2.5628002628049 | epot = -12.5005679712778 | etot = -8.37462303074887 +485000 ekin = 1.556770991892 | erot = 2.62990187864868 | epot = -12.5612959014248 | etot = -8.37462303088411 +486000 ekin = 1.54362230241326 | erot = 2.69196691951159 | epot = -12.6102122528178 | etot = -8.37462303089296 +487000 ekin = 1.52381043791502 | erot = 2.74866369544755 | epot = -12.6470971641617 | etot = -8.37462303079914 +488000 ekin = 1.4982285884388 | erot = 2.8004132279417 | epot = -12.673264847032 | etot = -8.37462303065147 +489000 ekin = 1.46832177710657 | erot = 2.84792010719116 | epot = -12.6908649148011 | etot = -8.37462303050336 +490000 ekin = 1.43580907600636 | erot = 2.89167668868161 | epot = -12.702108795082 | etot = -8.37462303039404 +491000 ekin = 1.40244626498215 | erot = 2.93162068130931 | epot = -12.7086899766309 | etot = -8.37462303033947 +492000 ekin = 1.36987596423187 | erot = 2.96703118868618 | epot = -12.7115301832525 | etot = -8.37462303033448 +493000 ekin = 1.33956200675514 | erot = 2.99664446239282 | epot = -12.7108294995104 | etot = -8.37462303036243 +494000 ekin = 1.3127681632094 | erot = 3.01889804551655 | epot = -12.7062892391336 | etot = -8.37462303040764 +495000 ekin = 1.29052832589674 | erot = 3.0321850552458 | epot = -12.6973364116069 | etot = -8.37462303046436 +496000 ekin = 1.27356858864352 | erot = 3.03502298577767 | epot = -12.6832146049608 | etot = -8.37462303053966 +497000 ekin = 1.26217859738907 | erot = 3.02610963123435 | epot = -12.6629112592685 | etot = -8.37462303064505 +498000 ekin = 1.25609176092381 | erot = 3.00437387242429 | epot = -12.6350886640707 | etot = -8.37462303072259 +499000 ekin = 1.2544843354408 | erot = 2.96925958209446 | epot = -12.598366948399 | etot = -8.37462303086377 +500000 ekin = 1.25592311954903 | erot = 2.92052794168189 | epot = -12.5510740922055 | etot = -8.37462303097461 +501000 ekin = 1.25866262015647 | erot = 2.8587785741333 | epot = -12.4920642252922 | etot = -8.37462303100237 +502000 ekin = 1.26101030104181 | erot = 2.78589367847505 | epot = -12.4215270104235 | etot = -8.37462303090669 +503000 ekin = 1.26168224098181 | erot = 2.7052568626583 | epot = -12.3415621343151 | etot = -8.37462303067498 +504000 ekin = 1.26006875272996 | erot = 2.62162663921943 | epot = -12.2563184222849 | etot = -8.37462303033546 +505000 ekin = 1.2563523063421 | erot = 2.54066101850803 | epot = -12.1716363547703 | etot = -8.37462302992017 +506000 ekin = 1.25147361583197 | erot = 2.46829686832148 | epot = -12.0943935136481 | etot = -8.37462302949467 +507000 ekin = 1.24695832252193 | erot = 2.40991559866156 | epot = -12.0314969503137 | etot = -8.37462302913025 +508000 ekin = 1.24460011261683 | erot = 2.3694758893424 | epot = -11.9886990309695 | etot = -8.37462302901031 +509000 ekin = 1.24584437164862 | erot = 2.34837731731248 | epot = -11.9688447179565 | etot = -8.37462302899536 +510000 ekin = 1.25172041123396 | erot = 2.34550382347595 | epot = -11.9718472639374 | etot = -8.37462302922752 +511000 ekin = 1.26248317250748 | erot = 2.35680066398032 | epot = -11.9939068661986 | etot = -8.37462302971083 +512000 ekin = 1.27739486770219 | erot = 2.37529788848956 | epot = -12.0273157865877 | etot = -8.37462303039595 +513000 ekin = 1.29481021505025 | erot = 2.39185405428493 | epot = -12.061287300512 | etot = -8.37462303117683 +514000 ekin = 1.31250889880472 | erot = 2.39651406027405 | epot = -12.083645990976 | etot = -8.37462303189726 +515000 ekin = 1.32825052581643 | erot = 2.38037057726039 | epot = -12.0832441354532 | etot = -8.37462303237634 +516000 ekin = 1.3404583142908 | erot = 2.3376026799452 | epot = -12.0526840266952 | etot = -8.37462303245918 +517000 ekin = 1.34883924084281 | erot = 2.2671315544432 | epot = -11.9905938273649 | etot = -8.37462303207885 +518000 ekin = 1.3546855068379 | erot = 2.17326127006699 | epot = -11.9025698082024 | etot = -8.37462303129752 +519000 ekin = 1.36067339624163 | erot = 2.06494828515272 | epot = -11.8002447116846 | etot = -8.37462303029026 +520000 ekin = 1.3701858282257 | erot = 1.95390329836254 | epot = -11.6987121558679 | etot = -8.37462302927969 +521000 ekin = 1.38639579380324 | erot = 1.85221057841152 | epot = -11.6132294006765 | etot = -8.37462302846172 +522000 ekin = 1.41141432490604 | erot = 1.77022445533572 | epot = -11.5562618082014 | etot = -8.37462302795968 +523000 ekin = 1.44572356453452 | erot = 1.71520045870416 | epot = -11.5355470510568 | etot = -8.37462302781811 +524000 ekin = 1.48798145409766 | erot = 1.6907300831751 | epot = -11.5533345652892 | etot = -8.37462302801646 +525000 ekin = 1.53517683781733 | erot = 1.69680296063377 | epot = -11.6066028269462 | etot = -8.3746230284951 +526000 ekin = 1.5830490011928 | erot = 1.7302550947518 | epot = -11.68792712512 | etot = -8.37462302917537 +527000 ekin = 1.62665879649449 | erot = 1.78540941263951 | epot = -11.7866912391066 | etot = -8.37462302997259 +528000 ekin = 1.66100783108942 | erot = 1.85480654803319 | epot = -11.8904374099231 | etot = -8.3746230308005 +529000 ekin = 1.68163863412941 | erot = 1.93001159413322 | epot = -11.9862732598311 | etot = -8.37462303156848 +530000 ekin = 1.68518623027426 | erot = 2.00252460865602 | epot = -12.0623338711119 | etot = -8.37462303218164 +531000 ekin = 1.6698605968592 | erot = 2.06478669655893 | epot = -12.1092703259684 | etot = -8.37462303255032 +532000 ekin = 1.63581226896465 | erot = 2.11116679184506 | epot = -12.1216020934215 | etot = -8.37462303261175 +533000 ekin = 1.58529617178035 | erot = 2.13870511838749 | epot = -12.0986243225214 | etot = -8.37462303235352 +534000 ekin = 1.52254564095872 | erot = 2.14737698822834 | epot = -12.0445456610118 | etot = -8.37462303182473 +535000 ekin = 1.45332420577088 | erot = 2.13977370493898 | epot = -11.9677209418336 | etot = -8.37462303112378 +536000 ekin = 1.3842169101196 | erot = 2.12031314070402 | epot = -11.8791530811934 | etot = -8.37462303036976 +537000 ekin = 1.32180342899991 | erot = 2.09425520394401 | epot = -11.7906816626149 | etot = -8.374623029671 +538000 ekin = 1.27187743420623 | erot = 2.06681107588936 | epot = -11.7133115392009 | etot = -8.37462302910533 +539000 ekin = 1.23883846279566 | erot = 2.04251647933663 | epot = -11.6559779708489 | etot = -8.37462302871661 +540000 ekin = 1.22531302703427 | erot = 2.02488499742776 | epot = -11.624821052984 | etot = -8.37462302852195 +541000 ekin = 1.23199882291178 | erot = 2.01625749304625 | epot = -11.622879344481 | etot = -8.37462302852296 +542000 ekin = 1.25769219451191 | erot = 2.0177488049515 | epot = -11.6500640281741 | etot = -8.37462302871065 +543000 ekin = 1.29945731407226 | erot = 2.02924170402388 | epot = -11.703322047163 | etot = -8.37462302906682 +544000 ekin = 1.35291512122218 | erot = 2.0494489332704 | epot = -11.7769870840481 | etot = -8.37462302955557 +545000 ekin = 1.41265384122181 | erot = 2.07611668223509 | epot = -11.8633935535748 | etot = -8.37462303011794 +546000 ekin = 1.47277167575213 | erot = 2.10644216880822 | epot = -11.95383687523 | etot = -8.37462303066964 +547000 ekin = 1.52754093319551 | erot = 2.13770468829054 | epot = -12.0398686526006 | etot = -8.37462303111457 +548000 ekin = 1.57213155238866 | erot = 2.1679823717642 | epot = -12.1147369555217 | etot = -8.37462303136882 +549000 ekin = 1.60327488859432 | erot = 2.1967176749586 | epot = -12.1746155949407 | etot = -8.37462303138776 +550000 ekin = 1.61972434376739 | erot = 2.22489244333346 | epot = -12.2192398182829 | etot = -8.37462303118202 +551000 ekin = 1.62240013870558 | erot = 2.25470593135916 | epot = -12.2517291008786 | etot = -8.37462303081384 +552000 ekin = 1.61417495562477 | erot = 2.28884205646897 | epot = -12.2776400424735 | etot = -8.37462303037974 +553000 ekin = 1.59932782091898 | erot = 2.32954987377534 | epot = -12.3035007246831 | etot = -8.37462302998878 +554000 ekin = 1.58274599066884 | erot = 2.37778817612988 | epot = -12.33515719654 | etot = -8.37462302974128 +555000 ekin = 1.56899856385218 | erot = 2.43263226771529 | epot = -12.3762538612776 | etot = -8.37462302971009 +556000 ekin = 1.56145041157792 | erot = 2.49106505511368 | epot = -12.4271384966165 | etot = -8.37462302992488 +557000 ekin = 1.56197837218861 | erot = 2.54829507223281 | epot = -12.4848964746449 | etot = -8.37462303022351 +558000 ekin = 1.57029216551905 | erot = 2.59810209182053 | epot = -12.543017288208 | etot = -8.37462303086841 +559000 ekin = 1.58339818320946 | erot = 2.63367391511157 | epot = -12.5916951298582 | etot = -8.37462303153717 +560000 ekin = 1.59712770481158 | erot = 2.64904697988329 | epot = -12.6207977168071 | etot = -8.37462303211223 +561000 ekin = 1.60698123343126 | erot = 2.64009683894197 | epot = -12.6217011048625 | etot = -8.37462303248925 +562000 ekin = 1.60896027782199 | erot = 2.6053270012055 | epot = -12.588910311621 | etot = -8.37462303259352 +563000 ekin = 1.60023696633128 | erot = 2.54649193869402 | epot = -12.5213519373447 | etot = -8.37462303231943 +564000 ekin = 1.5795577467728 | erot = 2.46891092806127 | epot = -12.4230917066634 | etot = -8.37462303182932 +565000 ekin = 1.54734561566717 | erot = 2.38031455632009 | epot = -12.302283203096 | etot = -8.37462303110877 +566000 ekin = 1.50554468554437 | erot = 2.29049479450161 | epot = -12.170662510294 | etot = -8.37462303024802 +567000 ekin = 1.45732250665205 | erot = 2.21025028826172 | epot = -12.0421958242637 | etot = -8.37462302934997 +568000 ekin = 1.40671207380879 | erot = 2.15003703753068 | epot = -11.9313721398985 | etot = -8.37462302855905 +569000 ekin = 1.35794157949176 | erot = 2.11775595086852 | epot = -11.8503205583493 | etot = -8.37462302798902 +570000 ekin = 1.31523212119345 | erot = 2.11799693943043 | epot = -11.8078520883711 | etot = -8.37462302774722 +571000 ekin = 1.28243871604929 | erot = 2.15081941192883 | epot = -11.8078811559412 | etot = -8.37462302796304 +572000 ekin = 1.26220633019189 | erot = 2.21027034249732 | epot = -11.8470997013802 | etot = -8.37462302869097 +573000 ekin = 1.25525341535048 | erot = 2.28456705415199 | epot = -11.9144434992935 | etot = -8.374623029791 +574000 ekin = 1.2603025143389 | erot = 2.35813787035989 | epot = -11.9930634156819 | etot = -8.37462303098308 +575000 ekin = 1.27473215622932 | erot = 2.41511328226624 | epot = -12.064468470432 | etot = -8.37462303193646 +576000 ekin = 1.29562562245725 | erot = 2.44294920216337 | epot = -12.1131978571111 | etot = -8.37462303249051 +577000 ekin = 1.32065634431921 | erot = 2.43438586779933 | epot = -12.1296652446954 | etot = -8.37462303257683 +578000 ekin = 1.34847271375288 | erot = 2.38804498568537 | epot = -12.1111407317135 | etot = -8.37462303227527 +579000 ekin = 1.3785964073131 | erot = 2.30759327889104 | epot = -12.060812717933 | etot = -8.37462303172883 +580000 ekin = 1.41115339286351 | erot = 2.20016188411942 | epot = -11.9859383079383 | etot = -8.37462303095539 +581000 ekin = 1.44674776515178 | erot = 2.07475133368168 | epot = -11.8961221291756 | etot = -8.37462303034215 +582000 ekin = 1.48514821810449 | erot = 1.94050793884983 | epot = -11.8002791867467 | etot = -8.37462302979241 +583000 ekin = 1.52576266955587 | erot = 1.80603709651234 | epot = -11.7064227954085 | etot = -8.37462302934027 +584000 ekin = 1.56772288057569 | erot = 1.67887072897741 | epot = -11.6212166385576 | etot = -8.37462302900448 +585000 ekin = 1.60990333959 | erot = 1.56509115871817 | epot = -11.5496175271052 | etot = -8.37462302879703 +586000 ekin = 1.65096359832004 | erot = 1.46905708282314 | epot = -11.4946437098701 | etot = -8.37462302872697 +587000 ekin = 1.68940411634557 | erot = 1.39319741551297 | epot = -11.4572245606556 | etot = -8.37462302879701 +588000 ekin = 1.72364170525932 | erot = 1.33790137442975 | epot = -11.4361661086859 | etot = -8.37462302899679 +589000 ekin = 1.75212209151179 | erot = 1.30158756259632 | epot = -11.4283326833844 | etot = -8.37462302927627 +590000 ekin = 1.77348776905955 | erot = 1.2811198772539 | epot = -11.4292306759299 | etot = -8.37462302961642 +591000 ekin = 1.78679652583224 | erot = 1.27228388602406 | epot = -11.4337034417706 | etot = -8.37462302991428 +592000 ekin = 1.79174476961382 | erot = 1.27074179820008 | epot = -11.4371095979219 | etot = -8.37462303010797 +593000 ekin = 1.78882244318645 | erot = 1.27295060806005 | epot = -11.4363960813917 | etot = -8.3746230301452 +594000 ekin = 1.77931578999229 | erot = 1.27682752829965 | epot = -11.4307663483189 | etot = -8.374623030027 +595000 ekin = 1.76511936071279 | erot = 1.28196044220562 | epot = -11.4217028327175 | etot = -8.37462302979909 +596000 ekin = 1.74839643259039 | erot = 1.28931412525829 | epot = -11.412333587381 | etot = -8.37462302953232 +597000 ekin = 1.73114837529092 | erot = 1.30076368908019 | epot = -11.4065350936671 | etot = -8.37462302929599 +598000 ekin = 1.71482586357245 | erot = 1.31808503745075 | epot = -11.4075339301725 | etot = -8.37462302914929 +599000 ekin = 1.70035612855445 | erot = 1.34256499055983 | epot = -11.4175441481819 | etot = -8.37462302906765 +600000 ekin = 1.68813838896107 | erot = 1.3751840399633 | epot = -11.4379454579702 | etot = -8.3746230290458 +601000 ekin = 1.67802155271563 | erot = 1.41656361607904 | epot = -11.469208197918 | etot = -8.37462302912332 +602000 ekin = 1.66952241262379 | erot = 1.46664302734519 | epot = -11.5107884691324 | etot = -8.37462302916341 +603000 ekin = 1.66207455080118 | erot = 1.52486246590567 | epot = -11.5615600459991 | etot = -8.37462302929223 +604000 ekin = 1.65429274424489 | erot = 1.590907167262 | epot = -11.6198229408988 | etot = -8.37462302939193 +605000 ekin = 1.64513458460594 | erot = 1.66451963176674 | epot = -11.6842772458416 | etot = -8.37462302946896 +606000 ekin = 1.63397297141739 | erot = 1.74533329764429 | epot = -11.7539292986215 | etot = -8.3746230295598 +607000 ekin = 1.62046446185725 | erot = 1.83246852419075 | epot = -11.8275560158114 | etot = -8.37462302976337 +608000 ekin = 1.60415138615021 | erot = 1.92384516554816 | epot = -11.9026195817845 | etot = -8.37462303008612 +609000 ekin = 1.58416607277142 | erot = 2.01562004721302 | epot = -11.9744091506944 | etot = -8.37462303070997 +610000 ekin = 1.55892234884514 | erot = 2.10126039812593 | epot = -12.0348057783745 | etot = -8.37462303140347 +611000 ekin = 1.52586403282323 | erot = 2.17351542350352 | epot = -12.0740024883755 | etot = -8.37462303204871 +612000 ekin = 1.48252796781533 | erot = 2.22604744671485 | epot = -12.0831984469306 | etot = -8.3746230324004 +613000 ekin = 1.42777710478014 | erot = 2.25549715886485 | epot = -12.0578972959114 | etot = -8.37462303226644 +614000 ekin = 1.36284302676326 | erot = 2.26309761368209 | epot = -12.0005636720647 | etot = -8.37462303161936 +615000 ekin = 1.29166682111759 | erot = 2.25472033316523 | epot = -11.9210101848976 | etot = -8.37462303061482 +616000 ekin = 1.22033159945968 | erot = 2.23929049960007 | epot = -11.8342451285656 | etot = -8.37462302950586 +617000 ekin = 1.155853130132 | erot = 2.22643765863302 | epot = -11.7569138172927 | etot = -8.37462302852767 +618000 ekin = 1.10482633868832 | erot = 2.22445549379434 | epot = -11.7039048603104 | etot = -8.37462302782777 +619000 ekin = 1.07233800596013 | erot = 2.23915844396385 | epot = -11.6861194773936 | etot = -8.37462302746959 +620000 ekin = 1.06133969548986 | erot = 2.2735659826601 | epot = -11.709528705565 | etot = -8.374623027415 +621000 ekin = 1.07250328126414 | erot = 2.3282764043813 | epot = -11.7754027132592 | etot = -8.37462302761374 +622000 ekin = 1.10448299244928 | erot = 2.40202886261559 | epot = -11.8811348830575 | etot = -8.37462302799263 +623000 ekin = 1.15443583440785 | erot = 2.49214268563966 | epot = -12.0212015485471 | etot = -8.3746230284996 +624000 ekin = 1.21858504498439 | erot = 2.59479979276155 | epot = -12.1880078668501 | etot = -8.37462302910414 +625000 ekin = 1.29260009293194 | erot = 2.70513041487597 | epot = -12.372353537652 | etot = -8.37462302984404 +626000 ekin = 1.37166908701498 | erot = 2.81669294847561 | epot = -12.5629850662662 | etot = -8.37462303077563 +627000 ekin = 1.45036408326115 | erot = 2.92095656625724 | epot = -12.7459436814224 | etot = -8.37462303190404 +628000 ekin = 1.52265779658279 | erot = 3.00738157699178 | epot = -12.904662406668 | etot = -8.3746230330934 +629000 ekin = 1.58251554245327 | erot = 3.06484099788163 | epot = -13.0219795743839 | etot = -8.37462303404902 +630000 ekin = 1.62514418880813 | erot = 3.0844301442172 | epot = -13.0841973674672 | etot = -8.3746230344419 +631000 ekin = 1.64954255051964 | erot = 3.06336922299513 | epot = -13.0875348072771 | etot = -8.37462303376236 +632000 ekin = 1.65761419154604 | erot = 3.00573585956961 | epot = -13.0379730840977 | etot = -8.37462303298202 +633000 ekin = 1.65174795094001 | erot = 2.91965232775879 | epot = -12.9460233106106 | etot = -8.37462303191181 +634000 ekin = 1.63566753657993 | erot = 2.81604656740854 | epot = -12.8263371348704 | etot = -8.3746230308819 +635000 ekin = 1.61303222684045 | erot = 2.70552755469892 | epot = -12.6931828116458 | etot = -8.37462303010643 +636000 ekin = 1.58646965556035 | erot = 2.59633719497752 | epot = -12.557429880173 | etot = -8.37462302963513 +637000 ekin = 1.55730595136457 | erot = 2.49385627804151 | epot = -12.4257852588047 | etot = -8.37462302939862 +638000 ekin = 1.52584911625177 | erot = 2.40123459740419 | epot = -12.3017067429393 | etot = -8.37462302928338 +639000 ekin = 1.49192497641212 | erot = 2.32043250457117 | epot = -12.1869805101701 | etot = -8.37462302918681 +640000 ekin = 1.45541378442365 | erot = 2.25314232064333 | epot = -12.0831791341094 | etot = -8.37462302904238 +641000 ekin = 1.41664919926913 | erot = 2.2013514425384 | epot = -11.9926236706313 | etot = -8.37462302882371 +642000 ekin = 1.37663135857175 | erot = 2.16751840710212 | epot = -11.9187727942127 | etot = -8.37462302853879 +643000 ekin = 1.33719601643019 | erot = 2.15436138730341 | epot = -11.8661804319142 | etot = -8.37462302818063 +644000 ekin = 1.30095460066691 | erot = 2.16433354913778 | epot = -11.8399111777142 | etot = -8.37462302790954 +645000 ekin = 1.270090477408 | erot = 2.19964354153053 | epot = -11.8443570466463 | etot = -8.37462302770774 +646000 ekin = 1.24673444984115 | erot = 2.26154821905305 | epot = -11.882905696536 | etot = -8.37462302764184 +647000 ekin = 1.23265873216139 | erot = 2.34972644270081 | epot = -11.957008202641 | etot = -8.37462302777877 +648000 ekin = 1.22854704148065 | erot = 2.4614698466935 | epot = -12.0646399168488 | etot = -8.37462302867466 +649000 ekin = 1.23123438276362 | erot = 2.58918284110115 | epot = -12.1950402535038 | etot = -8.37462302963905 +650000 ekin = 1.23733747326776 | erot = 2.72274115030041 | epot = -12.3347016542746 | etot = -8.37462303070646 +651000 ekin = 1.2428991851099 | erot = 2.85114575375234 | epot = -12.4686679705902 | etot = -8.37462303172792 +652000 ekin = 1.24424620799516 | erot = 2.96370857038795 | epot = -12.5825778108466 | etot = -8.37462303246346 +653000 ekin = 1.23918232849174 | erot = 3.05217314602512 | epot = -12.665978507275 | etot = -8.37462303275814 +654000 ekin = 1.22772861476404 | erot = 3.11212236728113 | epot = -12.7144740146641 | etot = -8.37462303261892 +655000 ekin = 1.21201905899399 | erot = 3.1430384085145 | epot = -12.7296804997016 | etot = -8.3746230321931 +656000 ekin = 1.19543744328571 | erot = 3.14720435564434 | epot = -12.7172648305997 | etot = -8.37462303166968 +657000 ekin = 1.18149305106273 | erot = 3.12826014301188 | epot = -12.6843762252587 | etot = -8.3746230311841 +658000 ekin = 1.1729637952008 | erot = 3.09016086422205 | epot = -12.637747690211 | etot = -8.37462303078811 +659000 ekin = 1.17154758057481 | erot = 3.03675236921285 | epot = -12.582922980262 | etot = -8.37462303047435 +660000 ekin = 1.17794903027434 | erot = 2.97172379744642 | epot = -12.5242958579403 | etot = -8.37462303021955 +661000 ekin = 1.19217998580428 | erot = 2.898584368483 | epot = -12.4653873843035 | etot = -8.37462303001626 +662000 ekin = 1.21385724617977 | erot = 2.82043608357939 | epot = -12.4089163596458 | etot = -8.37462302988661 +663000 ekin = 1.24235148672456 | erot = 2.73948706946805 | epot = -12.3564615860731 | etot = -8.37462302988048 +664000 ekin = 1.27672733537829 | erot = 2.65640555000379 | epot = -12.3077559154376 | etot = -8.37462303005548 +665000 ekin = 1.31551337033088 | erot = 2.56977925409993 | epot = -12.2599156548662 | etot = -8.37462303043538 +666000 ekin = 1.35644708325355 | erot = 2.47610382427411 | epot = -12.2071739384913 | etot = -8.37462303096362 +667000 ekin = 1.39640549572063 | erot = 2.37072397309945 | epot = -12.1417525003041 | etot = -8.37462303148401 +668000 ekin = 1.43167926156826 | erot = 2.24978389246305 | epot = -12.0560861858199 | etot = -8.37462303178861 +669000 ekin = 1.45855421041211 | erot = 2.11253877406498 | epot = -11.9457160162009 | etot = -8.3746230317238 +670000 ekin = 1.47395086469066 | erot = 1.96284004635377 | epot = -11.8114139423251 | etot = -8.37462303128072 +671000 ekin = 1.47583917683627 | erot = 1.80887360748426 | epot = -11.6593358149123 | etot = -8.37462303059173 +672000 ekin = 1.46334042173682 | erot = 1.66127989926104 | epot = -11.4992433508357 | etot = -8.37462302983784 +673000 ekin = 1.43665130212456 | erot = 1.53074210398851 | epot = -11.3420164352631 | etot = -8.37462302915007 +674000 ekin = 1.3969614764121 | erot = 1.4261974886013 | epot = -11.1977819935891 | etot = -8.37462302857573 +675000 ekin = 1.34640262234333 | erot = 1.35413730294469 | epot = -11.075162953394 | etot = -8.374623028106 +676000 ekin = 1.28794616800361 | erot = 1.31873912036149 | epot = -10.9813083160869 | etot = -8.37462302772179 +677000 ekin = 1.22516961115493 | erot = 1.32230065786344 | epot = -10.9220932964405 | etot = -8.37462302742212 +678000 ekin = 1.16189722958226 | erot = 1.36556643966811 | epot = -10.9020866964801 | etot = -8.37462302722973 +679000 ekin = 1.10179124612785 | erot = 1.44777635008968 | epot = -10.9241906234036 | etot = -8.37462302718603 +680000 ekin = 1.04797419612216 | erot = 1.56642353037421 | epot = -10.989020753842 | etot = -8.37462302734565 +681000 ekin = 1.00272279864156 | erot = 1.71676662170538 | epot = -11.0941124481172 | etot = -8.37462302777029 +682000 ekin = 0.967238825856131 | erot = 1.89118238727218 | epot = -11.2330442416449 | etot = -8.37462302851656 +683000 ekin = 0.941511133160557 | erot = 2.07856636781375 | epot = -11.3947005305733 | etot = -8.37462302959899 +684000 ekin = 0.924337639173406 | erot = 2.26421473260397 | epot = -11.5631754027141 | etot = -8.37462303093677 +685000 ekin = 0.913629093908953 | erot = 2.43080490187915 | epot = -11.7190570280991 | etot = -8.374623032311 +686000 ekin = 0.907072709288486 | erot = 2.56090643971714 | epot = -11.8426021824021 | etot = -8.37462303339643 +687000 ekin = 0.90302797100111 | erot = 2.64065323918482 | epot = -11.9183042440787 | etot = -8.37462303389278 +688000 ekin = 0.901265997346506 | erot = 2.66315283566604 | epot = -11.9390418666993 | etot = -8.37462303368679 +689000 ekin = 0.903127291409659 | erot = 2.6298992064109 | epot = -11.9076495307323 | etot = -8.37462303291179 +690000 ekin = 0.911003410961509 | erot = 2.54949432632235 | epot = -11.8351207691362 | etot = -8.37462303185234 +691000 ekin = 0.92748229019841 | erot = 2.43458909333036 | epot = -11.7366944143129 | etot = -8.37462303078414 +692000 ekin = 0.954629968085355 | erot = 2.29871133595474 | epot = -11.6279643338871 | etot = -8.37462302984701 +693000 ekin = 0.993689842548604 | erot = 2.15457291081388 | epot = -11.522885782578 | etot = -8.37462302921553 +694000 ekin = 1.04477766676284 | erot = 2.01224824489119 | epot = -11.4316489404321 | etot = -8.37462302877804 +695000 ekin = 1.1071797256016 | erot = 1.87902519875878 | epot = -11.3608279528676 | etot = -8.37462302850724 +696000 ekin = 1.17962988094298 | erot = 1.7602163643183 | epot = -11.3144692736445 | etot = -8.37462302838319 +697000 ekin = 1.26034508067033 | erot = 1.65939331949904 | epot = -11.2943614285653 | etot = -8.37462302839596 +698000 ekin = 1.34700634148091 | erot = 1.57856058320639 | epot = -11.3001899532268 | etot = -8.37462302853948 +699000 ekin = 1.43673776972452 | erot = 1.51829388886829 | epot = -11.3296546873971 | etot = -8.37462302880429 +700000 ekin = 1.52614311404747 | erot = 1.47788597100111 | epot = -11.3786521142188 | etot = -8.37462302917021 +701000 ekin = 1.6111317099382 | erot = 1.45542937143787 | epot = -11.4411841111664 | etot = -8.3746230297903 +702000 ekin = 1.68654811959795 | erot = 1.4477483513988 | epot = -11.5089195013103 | etot = -8.37462303031359 +703000 ekin = 1.74804176728567 | erot = 1.45137774866531 | epot = -11.5740425467016 | etot = -8.37462303075061 +704000 ekin = 1.79223863051376 | erot = 1.46326677106852 | epot = -11.630128432593 | etot = -8.37462303101073 +705000 ekin = 1.81722742450214 | erot = 1.48152907261392 | epot = -11.6733795281517 | etot = -8.37462303103566 +706000 ekin = 1.8228271741102 | erot = 1.50598222607878 | epot = -11.7034324310172 | etot = -8.37462303082821 +707000 ekin = 1.81047570465383 | erot = 1.5382073629024 | epot = -11.723306098011 | etot = -8.37462303045475 +708000 ekin = 1.78276828494797 | erot = 1.58105495038591 | epot = -11.7384462653531 | etot = -8.37462303001919 +709000 ekin = 1.74282721670359 | erot = 1.6377975230453 | epot = -11.7552477693668 | etot = -8.37462302961787 +710000 ekin = 1.69374790021906 | erot = 1.71129566719983 | epot = -11.7796665967243 | etot = -8.37462302930543 +711000 ekin = 1.63830193399443 | erot = 1.80347448194969 | epot = -11.8163994450335 | etot = -8.37462302908935 +712000 ekin = 1.57892460631277 | erot = 1.91516553832439 | epot = -11.8687131735894 | etot = -8.37462302895224 +713000 ekin = 1.51786752129919 | erot = 2.04613993381988 | epot = -11.9386304840018 | etot = -8.37462302888273 +714000 ekin = 1.45734042325113 | erot = 2.1950944154759 | epot = -12.0270578676213 | etot = -8.37462302889423 +715000 ekin = 1.39951776248606 | erot = 2.35946536295234 | epot = -12.1336061544591 | etot = -8.37462302902072 +716000 ekin = 1.34639246829252 | erot = 2.53511986598358 | epot = -12.2561353635767 | etot = -8.37462302930059 +717000 ekin = 1.29955432270148 | erot = 2.71613012099447 | epot = -12.3903074734244 | etot = -8.37462302972844 +718000 ekin = 1.25989829927604 | erot = 2.89465680807183 | epot = -12.5291781377308 | etot = -8.37462303038297 +719000 ekin = 1.22750607429995 | erot = 3.06092665842784 | epot = -12.6630557638775 | etot = -8.37462303114967 +720000 ekin = 1.20188187066595 | erot = 3.2042500666598 | epot = -12.780754969265 | etot = -8.37462303193927 +721000 ekin = 1.18220717983362 | erot = 3.31414882433049 | epot = -12.8709790367814 | etot = -8.37462303261729 +722000 ekin = 1.16774608427129 | erot = 3.38185582435828 | epot = -12.9242249417181 | etot = -8.37462303308856 +723000 ekin = 1.15807318397653 | erot = 3.40183188750504 | epot = -12.934528104623 | etot = -8.37462303314145 +724000 ekin = 1.15381445068158 | erot = 3.3732106752267 | epot = -12.9016481586627 | etot = -8.37462303275442 +725000 ekin = 1.15678266077602 | erot = 3.30036671004676 | epot = -12.8317724028186 | etot = -8.37462303199587 +726000 ekin = 1.16961978298356 | erot = 3.19222682083442 | epot = -12.7364696348445 | etot = -8.37462303102651 +727000 ekin = 1.19513165181247 | erot = 3.06063268781617 | epot = -12.6303873696651 | etot = -8.37462303003647 +728000 ekin = 1.23552066624224 | erot = 2.91835949412842 | epot = -12.5285031895556 | etot = -8.37462302918494 +729000 ekin = 1.29175272909064 | erot = 2.77740116858302 | epot = -12.4437769262429 | etot = -8.37462302856926 +730000 ekin = 1.36319675322324 | erot = 2.64784734354088 | epot = -12.3856671249866 | etot = -8.37462302822252 +731000 ekin = 1.44757535461521 | erot = 2.53736869400637 | epot = -12.3595670767507 | etot = -8.37462302812908 +732000 ekin = 1.54119076309941 | erot = 2.45114849793358 | epot = -12.3669622892793 | etot = -8.37462302824629 +733000 ekin = 1.63933166940199 | erot = 2.39205275840727 | epot = -12.4060074563349 | etot = -8.3746230285256 +734000 ekin = 1.7367368434987 | erot = 2.36087235950094 | epot = -12.4722322319253 | etot = -8.37462302892567 +735000 ekin = 1.82801503458571 | erot = 2.35655963726094 | epot = -12.5591977012579 | etot = -8.37462302941129 +736000 ekin = 1.90799093496242 | erot = 2.37647912513258 | epot = -12.65909309004 | etot = -8.37462302994503 +737000 ekin = 1.97201607373966 | erot = 2.41675065086897 | epot = -12.7633897550843 | etot = -8.37462303047565 +738000 ekin = 2.0163011118576 | erot = 2.47274745432255 | epot = -12.8636715971191 | etot = -8.37462303093893 +739000 ekin = 2.03827941487092 | erot = 2.53972508206351 | epot = -12.9526275282046 | etot = -8.37462303127016 +740000 ekin = 2.03693425612864 | erot = 2.61344505993329 | epot = -13.0250023474896 | etot = -8.3746230314277 +741000 ekin = 2.01297029115351 | erot = 2.69059268985713 | epot = -13.078186012423 | etot = -8.37462303141236 +742000 ekin = 1.96872639115115 | erot = 2.76882566302664 | epot = -13.1121750854493 | etot = -8.37462303127147 +743000 ekin = 1.90780895371444 | erot = 2.8464241150657 | epot = -13.1288560998646 | etot = -8.37462303108442 +744000 ekin = 1.83452633952109 | erot = 2.92167512844415 | epot = -13.1308244989009 | etot = -8.37462303093568 +745000 ekin = 1.75327142724934 | erot = 2.99223326161678 | epot = -13.1201277197533 | etot = -8.37462303088722 +746000 ekin = 1.66800377362302 | erot = 3.05470990305799 | epot = -13.0973367076402 | etot = -8.37462303095923 +747000 ekin = 1.58193446041807 | erot = 3.10466510764443 | epot = -13.0612225991782 | etot = -8.3746230311157 +748000 ekin = 1.49744243756476 | erot = 3.13708170332873 | epot = -13.0091471722143 | etot = -8.37462303132081 +749000 ekin = 1.4161800860188 | erot = 3.14699639332326 | epot = -12.9377995108341 | etot = -8.37462303149206 +750000 ekin = 1.33927892445964 | erot = 3.13031955346188 | epot = -12.844221509496 | etot = -8.37462303157452 +751000 ekin = 1.26755716712032 | erot = 3.08449081841548 | epot = -12.7266710170776 | etot = -8.37462303154178 +752000 ekin = 1.20166403421553 | erot = 3.00876367724781 | epot = -12.5850507428603 | etot = -8.37462303139698 +753000 ekin = 1.1421467145975 | erot = 2.90415589317439 | epot = -12.4209256389321 | etot = -8.37462303116017 +754000 ekin = 1.08946987137478 | erot = 2.77319742895343 | epot = -12.2372903311803 | etot = -8.37462303085211 +755000 ekin = 1.04403390693448 | erot = 2.61963797728167 | epot = -12.0382949147024 | etot = -8.37462303048624 +756000 ekin = 1.00622473319038 | erot = 2.44820898510083 | epot = -11.8290567483599 | etot = -8.37462303006865 +757000 ekin = 0.976498427351097 | erot = 2.26449263382633 | epot = -11.6156140907515 | etot = -8.37462302957403 +758000 ekin = 0.955485081992649 | erot = 2.07490082913346 | epot = -11.4050089401852 | etot = -8.37462302905913 +759000 ekin = 0.943970421441939 | erot = 1.88597944059412 | epot = -11.2045728906054 | etot = -8.37462302856937 +760000 ekin = 0.942943189128097 | erot = 1.70391676484962 | epot = -11.0214829820803 | etot = -8.37462302810259 +761000 ekin = 0.953636819965619 | erot = 1.53434362883715 | epot = -10.8626034764914 | etot = -8.37462302768859 +762000 ekin = 0.977439463713794 | erot = 1.38197793547176 | epot = -10.7340404265378 | etot = -8.37462302735223 +763000 ekin = 1.01575214957308 | erot = 1.25038414093978 | epot = -10.640759317625 | etot = -8.37462302711214 +764000 ekin = 1.06980632715139 | erot = 1.14186552721093 | epot = -10.5862948813436 | etot = -8.37462302698131 +765000 ekin = 1.14045321590852 | erot = 1.05746802222168 | epot = -10.5725442650993 | etot = -8.37462302696907 +766000 ekin = 1.22794009365096 | erot = 0.997057737110112 | epot = -10.5996208578433 | etot = -8.37462302708222 +767000 ekin = 1.33169356854961 | erot = 0.959438204818381 | epot = -10.665754800692 | etot = -8.37462302732404 +768000 ekin = 1.45013707581634 | erot = 0.942489485935241 | epot = -10.7672495894441 | etot = -8.37462302769252 +769000 ekin = 1.58057826605171 | erot = 0.943330765761272 | epot = -10.8985320599891 | etot = -8.37462302817614 +770000 ekin = 1.71920830316226 | erot = 0.958522817508915 | epot = -11.0523541494205 | etot = -8.37462302874933 +771000 ekin = 1.86125297318927 | erot = 0.984329269145668 | epot = -11.2202052717047 | etot = -8.37462302936978 +772000 ekin = 2.00111996073642 | erot = 1.0170654758504 | epot = -11.3928084666644 | etot = -8.37462303007761 +773000 ekin = 2.13179679392591 | erot = 1.05343215414772 | epot = -11.559851978766 | etot = -8.37462303069234 +774000 ekin = 2.24724323873705 | erot = 1.09038833141976 | epot = -11.7122546013449 | etot = -8.37462303118812 +775000 ekin = 2.34263593747183 | erot = 1.12564496608008 | epot = -11.8429039350733 | etot = -8.37462303152139 +776000 ekin = 2.41469510966369 | erot = 1.15782091195961 | epot = -11.9471390533002 | etot = -8.3746230316769 +777000 ekin = 2.46195564508498 | erot = 1.1863859033034 | epot = -12.02296458006 | etot = -8.3746230316716 +778000 ekin = 2.48471522536146 | erot = 1.21145891744711 | epot = -12.0707971743601 | etot = -8.37462303155156 +779000 ekin = 2.48466047806842 | erot = 1.23352809684235 | epot = -12.0928116062876 | etot = -8.3746230313768 +780000 ekin = 2.46428568676977 | erot = 1.25319615838812 | epot = -12.0921048763547 | etot = -8.37462303119683 +781000 ekin = 2.42632307022355 | erot = 1.27107093312904 | epot = -12.0720170343796 | etot = -8.37462303102705 +782000 ekin = 2.37341747179009 | erot = 1.28787882377656 | epot = -12.0359193264081 | etot = -8.37462303084147 +783000 ekin = 2.30815170371706 | erot = 1.304765317757 | epot = -11.9875400520679 | etot = -8.37462303059383 +784000 ekin = 2.23331824904156 | erot = 1.32360971124616 | epot = -11.9315509905402 | etot = -8.37462303025248 +785000 ekin = 2.15217666716759 | erot = 1.34711489735263 | epot = -11.8739145943547 | etot = -8.37462302983446 +786000 ekin = 2.0684394078577 | erot = 1.37850506799186 | epot = -11.8215675052584 | etot = -8.37462302940886 +787000 ekin = 1.98588342004422 | erot = 1.42085370631073 | epot = -11.7813601554306 | etot = -8.37462302907569 +788000 ekin = 1.90769396723903 | erot = 1.47626814207206 | epot = -11.7585851382337 | etot = -8.37462302892266 +789000 ekin = 1.83580155857728 | erot = 1.54525606071479 | epot = -11.7556806482808 | etot = -8.37462302898877 +790000 ekin = 1.77050160314964 | erot = 1.62653131912037 | epot = -11.7716559515175 | etot = -8.37462302924745 +791000 ekin = 1.71053482190253 | erot = 1.71731536906538 | epot = -11.8024732205882 | etot = -8.3746230296203 +792000 ekin = 1.65360852455089 | erot = 1.81397519201844 | epot = -11.8422067465796 | etot = -8.37462303001029 +793000 ekin = 1.59715988493823 | erot = 1.91273671404273 | epot = -11.884519629315 | etot = -8.37462303033406 +794000 ekin = 1.5390946976666 | erot = 2.01023412206034 | epot = -11.9239518502811 | etot = -8.37462303055418 +795000 ekin = 1.47829524950012 | erot = 2.10382941021462 | epot = -11.95674769034 | etot = -8.3746230306253 +796000 ekin = 1.41481662089854 | erot = 2.1919429199428 | epot = -11.9813825714088 | etot = -8.37462303056747 +797000 ekin = 1.34981308249921 | erot = 2.27401207106052 | epot = -11.9984481839615 | etot = -8.37462303040181 +798000 ekin = 1.28529636430919 | erot = 2.35042093010511 | epot = -12.0103403245725 | etot = -8.37462303015818 +799000 ekin = 1.22381948474171 | erot = 2.42233570221676 | epot = -12.0207782168121 | etot = -8.37462302985366 +800000 ekin = 1.16822785386523 | erot = 2.49143438534316 | epot = -12.0342852688226 | etot = -8.37462302961421 +801000 ekin = 1.12099278642861 | erot = 2.55928816630386 | epot = -12.0549039821722 | etot = -8.37462302943968 +802000 ekin = 1.08396505814378 | erot = 2.62689447862849 | epot = -12.0854825661029 | etot = -8.37462302933066 +803000 ekin = 1.05841636960107 | erot = 2.69442631110392 | epot = -12.1274657101638 | etot = -8.37462302945883 +804000 ekin = 1.04426779801405 | erot = 2.76024770980817 | epot = -12.1791385376392 | etot = -8.37462302981701 +805000 ekin = 1.03995925233873 | erot = 2.8204625423412 | epot = -12.2350448251523 | etot = -8.3746230304724 +806000 ekin = 1.04249639914782 | erot = 2.868971630615 | epot = -12.2860910609795 | etot = -8.3746230312167 +807000 ekin = 1.04816653315837 | erot = 2.89850351396173 | epot = -12.3212930790676 | etot = -8.3746230319475 +808000 ekin = 1.05329972431644 | erot = 2.90189493045809 | epot = -12.3298176872629 | etot = -8.37462303248839 +809000 ekin = 1.05511003117154 | erot = 2.87378175152195 | epot = -12.3035148153863 | etot = -8.3746230326928 +810000 ekin = 1.05231348649709 | erot = 2.81208782293652 | epot = -12.2390243420017 | etot = -8.37462303256804 +811000 ekin = 1.04519713626923 | erot = 2.71854122751894 | epot = -12.1383613957977 | etot = -8.37462303200948 +812000 ekin = 1.03556509620897 | erot = 2.59875418167699 | epot = -12.0089423091019 | etot = -8.37462303121595 +813000 ekin = 1.02617370806852 | erot = 2.46123250524441 | epot = -11.8620292436574 | etot = -8.3746230303445 +814000 ekin = 1.01993499389794 | erot = 2.31562695725887 | epot = -11.7101849806859 | etot = -8.37462302952905 +815000 ekin = 1.01938989930336 | erot = 2.17131439138434 | epot = -11.5653273195399 | etot = -8.37462302885224 +816000 ekin = 1.02641070194331 | erot = 2.03643247729264 | epot = -11.4374662075828 | etot = -8.37462302834684 +817000 ekin = 1.04210163740977 | erot = 1.91741411147667 | epot = -11.3341387768999 | etot = -8.37462302801341 +818000 ekin = 1.06685452879859 | erot = 1.81892194067948 | epot = -11.2603994972644 | etot = -8.37462302778628 +819000 ekin = 1.10044073145699 | erot = 1.74396570048553 | epot = -11.2190294597244 | etot = -8.3746230277819 +820000 ekin = 1.14169134058264 | erot = 1.69367065616339 | epot = -11.209985024664 | etot = -8.37462302791799 +821000 ekin = 1.1887755211563 | erot = 1.66758281677124 | epot = -11.2309813661147 | etot = -8.37462302818712 +822000 ekin = 1.2392739420278 | erot = 1.66378494635131 | epot = -11.2776819169559 | etot = -8.37462302857678 +823000 ekin = 1.29027861043584 | erot = 1.67905219550485 | epot = -11.3439538348895 | etot = -8.37462302894885 +824000 ekin = 1.33894050069248 | erot = 1.70948347746399 | epot = -11.4230470076203 | etot = -8.37462302946383 +825000 ekin = 1.38220508273142 | erot = 1.75044253330681 | epot = -11.5072706460139 | etot = -8.37462302997571 +826000 ekin = 1.41710294910242 | erot = 1.79708475166815 | epot = -11.5888107311813 | etot = -8.37462303041076 +827000 ekin = 1.44127249564998 | erot = 1.84518129446667 | epot = -11.6610768208149 | etot = -8.37462303069827 +828000 ekin = 1.4533540911642 | erot = 1.89178230950345 | epot = -11.7197594314557 | etot = -8.37462303078804 +829000 ekin = 1.45330184509344 | erot = 1.93565038631292 | epot = -11.7635752620719 | etot = -8.37462303066558 +830000 ekin = 1.44253588753392 | erot = 1.9773267325445 | epot = -11.794485650436 | etot = -8.37462303035756 +831000 ekin = 1.42321719807599 | erot = 2.01836652049872 | epot = -11.8162067486423 | etot = -8.37462303006758 +832000 ekin = 1.39798324787167 | erot = 2.06093497422121 | epot = -11.8335412516767 | etot = -8.37462302958378 +833000 ekin = 1.37122558103646 | erot = 2.10801499212972 | epot = -11.8538636023317 | etot = -8.37462302916548 +834000 ekin = 1.34739157346164 | erot = 2.16168408583633 | epot = -11.8836986881947 | etot = -8.37462302889676 +835000 ekin = 1.3303315913847 | erot = 2.22243990039652 | epot = -11.9273945206118 | etot = -8.37462302883053 +836000 ekin = 1.32279692350135 | erot = 2.28888168436647 | epot = -11.9863016368478 | etot = -8.37462302898003 +837000 ekin = 1.32614569945851 | erot = 2.35776552714792 | epot = -12.0585342559248 | etot = -8.37462302931836 +838000 ekin = 1.3403008431335 | erot = 2.42442328377153 | epot = -12.1393471566855 | etot = -8.37462302978049 +839000 ekin = 1.36395770572615 | erot = 2.48350186340868 | epot = -12.2220825994075 | etot = -8.3746230302727 +840000 ekin = 1.39499323416485 | erot = 2.52993036126728 | epot = -12.2995466261227 | etot = -8.3746230306906 +841000 ekin = 1.4309851952446 | erot = 2.5599379691765 | epot = -12.3655461953669 | etot = -8.37462303094583 +842000 ekin = 1.46971603973797 | erot = 2.57185321601873 | epot = -12.4161922867525 | etot = -8.37462303099583 +843000 ekin = 1.50953312203309 | erot = 2.56639824287622 | epot = -12.4505543957692 | etot = -8.3746230308599 +844000 ekin = 1.54948222757155 | erot = 2.54631968024369 | epot = -12.4704249384284 | etot = -8.37462303061319 +845000 ekin = 1.58921446589176 | erot = 2.51544731879033 | epot = -12.4792848150393 | etot = -8.3746230303572 +846000 ekin = 1.62874660073068 | erot = 2.47751369443259 | epot = -12.4808833253435 | etot = -8.3746230301802 +847000 ekin = 1.66818957254644 | erot = 2.43516936578449 | epot = -12.4779819684573 | etot = -8.37462303012634 +848000 ekin = 1.70754173431239 | erot = 2.38953851005097 | epot = -12.4717032745479 | etot = -8.37462303018459 +849000 ekin = 1.74659403306287 | erot = 2.34043091651518 | epot = -12.4616479798784 | etot = -8.37462303030032 +850000 ekin = 1.784943458661 | erot = 2.28706007038119 | epot = -12.4466265594454 | etot = -8.37462303040326 +851000 ekin = 1.82207688727397 | erot = 2.22891420063638 | epot = -12.4256141183509 | etot = -8.3746230304405 +852000 ekin = 1.85747606626724 | erot = 2.16637383866683 | epot = -12.3984729353335 | etot = -8.37462303039944 +853000 ekin = 1.8907050121563 | erot = 2.10080168939146 | epot = -12.3661297318568 | etot = -8.37462303030907 +854000 ekin = 1.92146598579636 | erot = 2.03409194239022 | epot = -12.3301809584089 | etot = -8.37462303022237 +855000 ekin = 1.94963553788698 | erot = 1.96792069995479 | epot = -12.2921792680294 | etot = -8.37462303018758 +856000 ekin = 1.97530408452552 | erot = 1.9030603456988 | epot = -12.2529874604489 | etot = -8.37462303022458 +857000 ekin = 1.99898235174316 | erot = 1.83954776717268 | epot = -12.2131531489779 | etot = -8.37462303006203 +858000 ekin = 2.02148966893765 | erot = 1.77712472342805 | epot = -12.1732374225859 | etot = -8.3746230302202 +859000 ekin = 2.0433298481464 | erot = 1.71372610059789 | epot = -12.1316789790802 | etot = -8.37462303033591 +860000 ekin = 2.06530510863403 | erot = 1.64761266618196 | epot = -12.0875408051656 | etot = -8.37462303034964 +861000 ekin = 2.0884404752292 | erot = 1.57839130430766 | epot = -12.0414548097738 | etot = -8.37462303023699 +862000 ekin = 2.1137299687717 | erot = 1.50759861505461 | epot = -11.9959516138508 | etot = -8.37462303002449 +863000 ekin = 2.14175193679679 | erot = 1.43866072802211 | epot = -11.955035694609 | etot = -8.37462302979006 +864000 ekin = 2.17225364143903 | erot = 1.37614575517373 | epot = -11.9230224262489 | etot = -8.37462302963615 +865000 ekin = 2.20389689304711 | erot = 1.32450432847425 | epot = -11.9030242511598 | etot = -8.37462302963841 +866000 ekin = 2.23438769160888 | erot = 1.2868132807046 | epot = -11.8958240017868 | etot = -8.37462302947332 +867000 ekin = 2.26151301831202 | erot = 1.26501341500185 | epot = -11.9011494630726 | etot = -8.37462302975869 +868000 ekin = 2.28295312633628 | erot = 1.2587638566978 | epot = -11.9163400130106 | etot = -8.37462302997656 +869000 ekin = 2.29713139087659 | erot = 1.26636363803292 | epot = -11.9381180589563 | etot = -8.37462303004681 +870000 ekin = 2.30388454565862 | erot = 1.28638972776915 | epot = -11.9648973034159 | etot = -8.37462302998818 +871000 ekin = 2.30409365411982 | erot = 1.31787621263386 | epot = -11.9965928971117 | etot = -8.37462303035806 +872000 ekin = 2.2971245530625 | erot = 1.35930276714358 | epot = -12.0310503505621 | etot = -8.374623030356 +873000 ekin = 2.28274539316158 | erot = 1.40846954678764 | epot = -12.0658379700601 | etot = -8.37462303011093 +874000 ekin = 2.26320703627556 | erot = 1.46277950106351 | epot = -12.1006095675627 | etot = -8.37462303022364 +875000 ekin = 2.24001634728649 | erot = 1.51889022328738 | epot = -12.1335296008657 | etot = -8.37462303029184 +876000 ekin = 2.21430830467283 | erot = 1.57348199615675 | epot = -12.1624133311096 | etot = -8.37462303028 +877000 ekin = 2.1877784857404 | erot = 1.62389020161488 | epot = -12.1862917175065 | etot = -8.37462303015121 +878000 ekin = 2.1625289754819 | erot = 1.6683879309108 | epot = -12.2055399364508 | etot = -8.37462303005814 +879000 ekin = 2.1404475372224 | erot = 1.70571411560852 | epot = -12.2207846828268 | etot = -8.37462302999592 +880000 ekin = 2.12277471003043 | erot = 1.73469967121919 | epot = -12.2320974112781 | etot = -8.3746230300285 +881000 ekin = 2.10977467360334 | erot = 1.75399371448932 | epot = -12.2383914182805 | etot = -8.37462303018783 +882000 ekin = 2.10050164322574 | erot = 1.76187019273892 | epot = -12.2369948664133 | etot = -8.37462303044862 +883000 ekin = 2.09290867712842 | erot = 1.75649694685339 | epot = -12.2240286547005 | etot = -8.37462303071871 +884000 ekin = 2.08433703645374 | erot = 1.73671500456543 | epot = -12.1956750719303 | etot = -8.37462303091116 +885000 ekin = 2.07202901572893 | erot = 1.70282592067543 | epot = -12.1494779673638 | etot = -8.37462303095943 +886000 ekin = 2.05378411491612 | erot = 1.65660476471994 | epot = -12.0850119102728 | etot = -8.37462303063678 +887000 ekin = 2.02874297420968 | erot = 1.60297409541394 | epot = -12.0063400996961 | etot = -8.37462303007244 +888000 ekin = 1.99720256583015 | erot = 1.54912086824504 | epot = -11.9209464635359 | etot = -8.37462302946075 +889000 ekin = 1.95913963735646 | erot = 1.50198702369115 | epot = -11.8357496899733 | etot = -8.37462302892571 +890000 ekin = 1.91617614841857 | erot = 1.46746689325793 | epot = -11.7582660702142 | etot = -8.37462302853769 +891000 ekin = 1.87023137415914 | erot = 1.44931992810307 | epot = -11.694174330589 | etot = -8.37462302832678 +892000 ekin = 1.82316218734495 | erot = 1.44889048228693 | epot = -11.6466756979052 | etot = -8.37462302827332 +893000 ekin = 1.77672781685354 | erot = 1.46538080246141 | epot = -11.6167316476455 | etot = -8.37462302833054 +894000 ekin = 1.73267401007763 | erot = 1.49642015526295 | epot = -11.6037171937795 | etot = -8.37462302843888 +895000 ekin = 1.69287615444225 | erot = 1.53876375542746 | epot = -11.6062629384097 | etot = -8.37462302854004 +896000 ekin = 1.65946528810639 | erot = 1.58897281258665 | epot = -11.6230611292894 | etot = -8.37462302859635 +897000 ekin = 1.63484229162876 | erot = 1.6438981268176 | epot = -11.6533634470444 | etot = -8.37462302859803 +898000 ekin = 1.62150447331762 | erot = 1.70104293751666 | epot = -11.6971704394071 | etot = -8.37462302857283 +899000 ekin = 1.62168394145959 | erot = 1.75850368946139 | epot = -11.754810659493 | etot = -8.37462302857204 +900000 ekin = 1.63689346403945 | erot = 1.81470313448007 | epot = -11.8262196271643 | etot = -8.37462302864476 +901000 ekin = 1.66753387742408 | erot = 1.86808611524248 | epot = -11.9102430214849 | etot = -8.37462302881832 +902000 ekin = 1.71269692237813 | erot = 1.91693084842045 | epot = -12.004250799887 | etot = -8.37462302908846 +903000 ekin = 1.77021838507979 | erot = 1.95934050990446 | epot = -12.1041819244131 | etot = -8.3746230294289 +904000 ekin = 1.83694819296289 | erot = 1.99341312084154 | epot = -12.2049843435883 | etot = -8.37462302978385 +905000 ekin = 1.9091464165372 | erot = 2.01754527647649 | epot = -12.3013147231267 | etot = -8.37462303011296 +906000 ekin = 1.98289589688102 | erot = 2.03065122058477 | epot = -12.3881701478513 | etot = -8.37462303038555 +907000 ekin = 2.05443877923773 | erot = 2.03228127523297 | epot = -12.4613430850611 | etot = -8.37462303059044 +908000 ekin = 2.12038320005751 | erot = 2.02259637574793 | epot = -12.517602606539 | etot = -8.37462303073359 +909000 ekin = 2.17777472065268 | erot = 2.0022386877673 | epot = -12.5546364392491 | etot = -8.37462303082911 +910000 ekin = 2.224072313876 | erot = 1.97218459089613 | epot = -12.5708799356598 | etot = -8.37462303088767 +911000 ekin = 2.25709881230455 | erot = 1.93367043925146 | epot = -12.565392282463 | etot = -8.37462303090695 +912000 ekin = 2.27504055965601 | erot = 1.88824345124061 | epot = -12.5379070417664 | etot = -8.37462303086978 +913000 ekin = 2.27654326616559 | erot = 1.83792322947571 | epot = -12.4890895263916 | etot = -8.37462303075026 +914000 ekin = 2.26395838707148 | erot = 1.78540897804183 | epot = -12.4239903947887 | etot = -8.37462302967534 +915000 ekin = 2.24045468912107 | erot = 1.73372810068477 | epot = -12.3488058193239 | etot = -8.37462302951804 +916000 ekin = 2.2052037020211 | erot = 1.68615105196725 | epot = -12.2659777833015 | etot = -8.37462302931314 +917000 ekin = 2.15800582906313 | erot = 1.64606783756059 | epot = -12.1786966957282 | etot = -8.37462302910446 +918000 ekin = 2.09921834411482 | erot = 1.61647797759965 | epot = -12.0903193506455 | etot = -8.37462302893102 +919000 ekin = 2.02966476142753 | erot = 1.59954949779934 | epot = -12.003837288032 | etot = -8.37462302880514 +920000 ekin = 1.95065755949545 | erot = 1.59642144855526 | epot = -11.9217020368486 | etot = -8.3746230287979 +921000 ekin = 1.8636620065119 | erot = 1.60750866079873 | epot = -11.8457936959436 | etot = -8.37462302863302 +922000 ekin = 1.77152243885553 | erot = 1.6326358742145 | epot = -11.7787813414979 | etot = -8.37462302842789 +923000 ekin = 1.67869484033335 | erot = 1.67111175334568 | epot = -11.7244296218677 | etot = -8.37462302818867 +924000 ekin = 1.59024537021618 | erot = 1.72202288864633 | epot = -11.6868912868269 | etot = -8.37462302796443 +925000 ekin = 1.51123937037396 | erot = 1.78411652411014 | epot = -11.66997892231 | etot = -8.37462302782593 +926000 ekin = 1.44599317765102 | erot = 1.85554834407384 | epot = -11.6761645495492 | etot = -8.37462302782433 +927000 ekin = 1.3975255860158 | erot = 1.93370661235733 | epot = -11.7058552263351 | etot = -8.37462302796194 +928000 ekin = 1.36763823809981 | erot = 2.01538770681073 | epot = -11.757648972801 | etot = -8.37462302789043 +929000 ekin = 1.36100399984301 | erot = 2.09737818238472 | epot = -11.8330052106942 | etot = -8.37462302846646 +930000 ekin = 1.35523134970657 | erot = 2.17722433884007 | epot = -11.9070787109349 | etot = -8.37462302238826 +931000 ekin = 1.39431469299154 | erot = 2.25435620438549 | epot = -12.0232939189505 | etot = -8.3746230215735 +932000 ekin = 1.49280866704974 | erot = 2.3184793019413 | epot = -12.1859109889649 | etot = -8.37462301997383 +933000 ekin = 1.58533340946677 | erot = 2.3649000005838 | epot = -12.3248564302756 | etot = -8.37462302022508 +934000 ekin = 1.68690712098785 | erot = 2.39298221169113 | epot = -12.454512355317 | etot = -8.37462302263803 +935000 ekin = 1.78473836463815 | erot = 2.39676204061141 | epot = -12.5561234284576 | etot = -8.37462302320806 +936000 ekin = 1.86987725386781 | erot = 2.37258693733634 | epot = -12.6170872147135 | etot = -8.37462302350935 +937000 ekin = 1.937204526385 | erot = 2.32043568374788 | epot = -12.6322632336416 | etot = -8.37462302350868 +938000 ekin = 1.98385208909957 | erot = 2.24266190733964 | epot = -12.601137019664 | etot = -8.37462302322478 +939000 ekin = 2.00910923706028 | erot = 2.14379034932744 | epot = -12.5275226091205 | etot = -8.37462302273282 +940000 ekin = 2.01395507290237 | erot = 2.02993348653878 | epot = -12.418511581536 | etot = -8.37462302209487 +941000 ekin = 2.00103743452198 | erot = 1.90808629517571 | epot = -12.2837467510763 | etot = -8.37462302137856 +942000 ekin = 1.97419824310806 | erot = 1.78546116622394 | epot = -12.1342824299748 | etot = -8.37462302064285 +943000 ekin = 1.93808318009578 | erot = 1.66892069893601 | epot = -11.9816268989658 | etot = -8.374623019934 +944000 ekin = 1.89777663358767 | erot = 1.56456198515281 | epot = -11.8369616380301 | etot = -8.37462301928966 +945000 ekin = 1.85843605736174 | erot = 1.4774221417758 | epot = -11.710481217882 | etot = -8.37462301874449 +946000 ekin = 1.82491092897083 | erot = 1.4112458813209 | epot = -11.6107798286275 | etot = -8.37462301833582 +947000 ekin = 1.80134221883796 | erot = 1.36826076777356 | epot = -11.544226004715 | etot = -8.37462301810345 +948000 ekin = 1.79076227753707 | erot = 1.34894522657524 | epot = -11.5143305221957 | etot = -8.3746230180834 +949000 ekin = 1.79475359820372 | erot = 1.35184135985125 | epot = -11.5212179763474 | etot = -8.37462301829246 +950000 ekin = 1.8132620204913 | erot = 1.37352812801278 | epot = -11.561413167216 | etot = -8.37462301871191 +951000 ekin = 1.84466122228562 | erot = 1.40888082073478 | epot = -11.6281650623007 | etot = -8.37462301928027 +952000 ekin = 1.88610598517568 | erot = 1.4516699630585 | epot = -11.7123989681361 | etot = -8.37462301990191 +953000 ekin = 1.93415626208246 | erot = 1.49545802208011 | epot = -11.8042373044917 | etot = -8.37462302032914 +954000 ekin = 1.98570845874446 | erot = 1.53486140750064 | epot = -11.8951928870162 | etot = -8.37462302077108 +955000 ekin = 2.03763688299778 | erot = 1.56575119866885 | epot = -11.9780111026948 | etot = -8.37462302102819 +956000 ekin = 2.08752516850072 | erot = 1.5857642599195 | epot = -12.0479124495162 | etot = -8.37462302109594 +957000 ekin = 2.13388693710405 | erot = 1.59443657078815 | epot = -12.1029465288985 | etot = -8.3746230210063 +958000 ekin = 2.1760313487577 | erot = 1.59291217741278 | epot = -12.1435665469837 | etot = -8.37462302081326 +959000 ekin = 2.21381255039136 | erot = 1.58343493106434 | epot = -12.1718705020318 | etot = -8.37462302057609 +960000 ekin = 2.24735101957822 | erot = 1.56876603527177 | epot = -12.1907400751985 | etot = -8.37462302034849 +961000 ekin = 2.27678636585073 | erot = 1.55164507323466 | epot = -12.2030544592556 | etot = -8.37462302017018 +962000 ekin = 2.3020881327992 | erot = 1.53436606871683 | epot = -12.2110772215842 | etot = -8.37462302006822 +963000 ekin = 2.32292955590092 | erot = 1.51849868398314 | epot = -12.2160512599392 | etot = -8.37462302005519 +964000 ekin = 2.33862421267352 | erot = 1.50476151876502 | epot = -12.2180087515682 | etot = -8.37462302012963 +965000 ekin = 2.34813222213387 | erot = 1.49304783092225 | epot = -12.2158030733308 | etot = -8.37462302027465 +966000 ekin = 2.35015122853473 | erot = 1.48260237418268 | epot = -12.2073766231751 | etot = -8.37462302045767 +967000 ekin = 2.34330726066535 | erot = 1.47233774696567 | epot = -12.1902680282632 | etot = -8.37462302063221 +968000 ekin = 2.32644504715905 | erot = 1.461252126306 | epot = -12.1623201942097 | etot = -8.37462302074463 +969000 ekin = 2.29898771920217 | erot = 1.44887277461907 | epot = -12.1224835145665 | etot = -8.37462302074525 +970000 ekin = 2.26130276214763 | erot = 1.43562016619329 | epot = -12.0715459489416 | etot = -8.3746230206007 +971000 ekin = 2.21499063336692 | erot = 1.42298879008823 | epot = -12.0126024437593 | etot = -8.3746230203042 +972000 ekin = 2.1630375745204 | erot = 1.41348472406784 | epot = -11.9511453183741 | etot = -8.37462301978584 +973000 ekin = 2.10950969273614 | erot = 1.41039391551626 | epot = -11.8945266278621 | etot = -8.37462301960967 +974000 ekin = 2.05703199419682 | erot = 1.41732503873327 | epot = -11.8489800520898 | etot = -8.37462301915975 +975000 ekin = 2.01010390574629 | erot = 1.43732066922395 | epot = -11.8220475937266 | etot = -8.37462301875631 +976000 ekin = 1.97340114977227 | erot = 1.47261385396416 | epot = -11.8206380222158 | etot = -8.37462301847941 +977000 ekin = 1.95082006444186 | erot = 1.52416835984572 | epot = -11.8496114426898 | etot = -8.37462301840224 +978000 ekin = 1.94472832270481 | erot = 1.59131019459445 | epot = -11.9106615358762 | etot = -8.37462301857695 +979000 ekin = 1.95538713570929 | erot = 1.67153495870638 | epot = -12.001545113434 | etot = -8.37462301901835 +980000 ekin = 1.98067723864866 | erot = 1.76051368575627 | epot = -12.1158139441912 | etot = -8.37462301978627 +981000 ekin = 2.01579571924553 | erot = 1.8520731953935 | epot = -12.2424919352903 | etot = -8.3746230206513 +982000 ekin = 2.05441082039146 | erot = 1.93952253756075 | epot = -12.3685563794549 | etot = -8.37462302150272 +983000 ekin = 2.08992138437964 | erot = 2.01671280308445 | epot = -12.4812572096481 | etot = -8.37462302218396 +984000 ekin = 2.11656909820778 | erot = 2.07910696967455 | epot = -12.5702990904592 | etot = -8.37462302257686 +985000 ekin = 2.13033501102014 | erot = 2.12464764346939 | epot = -12.6296056771267 | etot = -8.37462302263717 +986000 ekin = 2.12935596248208 | erot = 2.15403431725397 | epot = -12.6580133021399 | etot = -8.37462302240383 +987000 ekin = 2.11471923987423 | erot = 2.17104098415212 | epot = -12.6603832459131 | etot = -8.37462302188679 +988000 ekin = 2.09119735101019 | erot = 2.18228698931101 | epot = -12.6481073619503 | etot = -8.37462302162911 +989000 ekin = 2.06027968800895 | erot = 2.19075462083094 | epot = -12.6256573302391 | etot = -8.37462302139926 +990000 ekin = 2.02336255788368 | erot = 2.19843813688216 | epot = -12.5964237160071 | etot = -8.37462302124126 +991000 ekin = 1.98188077466274 | erot = 2.20638055719865 | epot = -12.5628843530195 | etot = -8.37462302115811 +992000 ekin = 1.93715749695425 | erot = 2.2147306976715 | epot = -12.5265112157503 | etot = -8.37462302112455 +993000 ekin = 1.89038311211131 | erot = 2.22307759878 | epot = -12.4880837319992 | etot = -8.37462302110785 +994000 ekin = 1.84266575140958 | erot = 2.23084817707666 | epot = -12.4481369495687 | etot = -8.37462302108249 +995000 ekin = 1.79502825849212 | erot = 2.23761065996978 | epot = -12.4072619394857 | etot = -8.37462302102385 +996000 ekin = 1.7486582035598 | erot = 2.2432323108615 | epot = -12.3665135353639 | etot = -8.37462302094261 +997000 ekin = 1.70508150016875 | erot = 2.24765365390294 | epot = -12.3273581749317 | etot = -8.37462302086002 +998000 ekin = 1.66588125244006 | erot = 2.25078611336184 | epot = -12.2912903865806 | etot = -8.37462302077868 +999000 ekin = 1.63259998370232 | erot = 2.25262768592883 | epot = -12.2598506903069 | etot = -8.37462302067575 +1000000 ekin = 1.60661879877941 | erot = 2.25373528619357 | epot = -12.234977105535 | etot = -8.37462302056203 + 1000000 0.1190088 -1.3493654 0.12586767 -1.0628358 0.00017426596 64000 +Loop time of 17.2417 on 1 procs for 1000000 steps with 10 atoms + +Performance: 50110.943 tau/day, 57998.777 timesteps/s +99.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 | 14.6 | 14.6 | 14.6 | 0.0 | 84.68 +Bond | 0.60678 | 0.60678 | 0.60678 | 0.0 | 3.52 +Neigh | 0.008055 | 0.008055 | 0.008055 | 0.0 | 0.05 +Comm | 0.18502 | 0.18502 | 0.18502 | 0.0 | 1.07 +Output | 0.09453 | 0.09453 | 0.09453 | 0.0 | 0.55 +Modify | 1.4778 | 1.4778 | 1.4778 | 0.0 | 8.57 +Other | | 0.2693 | | | 1.56 + +Nlocal: 10.0000 ave 10 max 10 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 0.00000 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 37.0000 ave 37 max 37 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 37 +Ave neighs/atom = 3.7000000 +Ave special neighs/atom = 3.6000000 +Neighbor list builds = 1000 +Dangerous builds = 0 + +write_data last_config.${number}.* nocoeff +write_data last_config.1.* nocoeff +System init for write_data ... +Total wall time: 0:00:17 diff --git a/examples/PACKAGES/cgdna/examples/oxDNA2/duplex1/log.27May21.duplex1.g++.4 b/examples/PACKAGES/cgdna/examples/oxDNA2/duplex1/log.27May21.duplex1.g++.4 new file mode 100644 index 0000000000..e787299257 --- /dev/null +++ b/examples/PACKAGES/cgdna/examples/oxDNA2/duplex1/log.27May21.duplex1.g++.4 @@ -0,0 +1,1181 @@ +LAMMPS (27 May 2021) +variable number equal 1 +variable ofreq equal 1000 +variable efreq equal 1000 +variable T equal 0.1 +variable rhos equal 0.2 + +units lj + +dimension 3 + +newton off + +boundary p p p + +atom_style hybrid bond ellipsoid oxdna +WARNING: Atom style hybrid defines both, per-type and per-atom masses; both must be set, but only per-atom masses will be used (../atom_vec_hybrid.cpp:157) +atom_modify sort 0 1.0 + +# Pair interactions require lists of neighbours to be calculated +neighbor 2.0 bin +neigh_modify every 1 delay 0 check yes + +read_data data.duplex1 +Reading data file ... + orthogonal box = (-20.000000 -20.000000 -20.000000) to (20.000000 20.000000 20.000000) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 10 atoms + reading velocities ... + 10 velocities + scanning bonds ... + 2 = max bonds/atom + 10 ellipsoids + reading bonds ... +Setting oxDNA 3'->5' bond directionality ... + 8 bonds +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 + 2 = max # of 1-3 neighbors + 2 = max # of 1-4 neighbors + 4 = max # of special neighbors + special bonds CPU = 0.001 seconds + read_data CPU = 0.005 seconds + +set atom * mass 3.1575 +Setting atom values ... + 10 settings made for mass + +group all type 1 4 +10 atoms in group all + +# oxDNA2 bond interactions - FENE backbone +bond_style oxdna2/fene +bond_coeff * 2.0 0.25 0.7564 +special_bonds lj 0 1 1 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 1 1 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 2 = max # of 1-3 neighbors + 2 = max # of 1-4 neighbors + 4 = max # of special neighbors + special bonds CPU = 0.000 seconds + +# oxDNA2 pair interactions +pair_style hybrid/overlay oxdna2/excv oxdna2/stk oxdna2/hbond oxdna2/xstk oxdna2/coaxstk oxdna2/dh +pair_coeff * * oxdna2/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32 +pair_coeff * * oxdna2/stk seqav ${T} 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 +pair_coeff * * oxdna2/stk seqav 0.1 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 +pair_coeff * * oxdna2/hbond seqav 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 1 4 oxdna2/hbond seqav 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 2 3 oxdna2/hbond seqav 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff * * oxdna2/xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68 +pair_coeff * * oxdna2/coaxstk 58.5 0.4 0.6 0.22 0.58 2.0 2.891592653589793 0.65 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 40.0 3.116592653589793 +pair_coeff * * oxdna2/dh ${T} ${rhos} 0.815 +pair_coeff * * oxdna2/dh 0.1 ${rhos} 0.815 +pair_coeff * * oxdna2/dh 0.1 0.2 0.815 + +# NVE ensemble +fix 1 all nve/asphere +#fix 2 all langevin ${T} ${T} 2.5 457145 angmom 10 + +timestep 1e-5 + +#comm_style tiled +fix 3 all balance 1000 1.03 shift xyz 10 1.03 +comm_modify cutoff 3.8 + +compute quat all property/atom quatw quati quatj quatk + +compute erot all erotate/asphere +compute ekin all ke +compute epot all pe +variable erot equal c_erot +variable ekin equal c_ekin +variable epot equal c_epot +variable etot equal c_erot+c_ekin+c_epot +fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes +fix 5 all print 1000 "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes + +dump out all custom ${ofreq} out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump out all custom 1000 out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump out all custom 1000 out.1.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump_modify out sort id +dump_modify out format line "%d %d %d %22.15le %22.15le %22.15le %d %d %d %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le" + +run 1000000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 5.6389877 + ghost atom cutoff = 5.6389877 + binsize = 2.8194939, bins = 15 15 15 + 5 neighbor lists, perpetual/occasional/extra = 5 0 0 + (1) pair oxdna2/excv, perpetual + attributes: half, newton off + pair build: half/bin/newtoff + stencil: full/bin/3d + bin: standard + (2) pair oxdna2/hbond, perpetual, copy from (1) + attributes: half, newton off + pair build: copy + stencil: none + bin: none + (3) pair oxdna2/xstk, perpetual, copy from (1) + attributes: half, newton off + pair build: copy + stencil: none + bin: none + (4) pair oxdna2/coaxstk, perpetual, copy from (1) + attributes: half, newton off + pair build: copy + stencil: none + bin: none + (5) pair oxdna2/dh, perpetual, copy from (1) + attributes: half, newton off + pair build: copy + stencil: none + bin: none +WARNING: Communication cutoff adjusted to 5.638987723814632 (../comm.cpp:739) +0 ekin = 1.10853632272819 | erot = 2.81573649976629 | epot = -12.298895791142 | etot = -8.37462296864754 +Per MPI rank memory allocation (min/avg/max) = 9.444 | 9.445 | 9.446 Mbytes +Step Temp E_pair E_mol TotEng Press Volume + 0 0.082113802 -1.3370157 0.10712616 -1.1190359 -6.6192825e-05 64000 +1000 ekin = 1.07640077431763 | erot = 2.90684392233818 | epot = -12.357867665527 | etot = -8.37462296887121 +2000 ekin = 1.05363107794411 | erot = 2.99414178935848 | epot = -12.4223958364623 | etot = -8.37462296915967 +3000 ekin = 1.04083382823095 | erot = 3.07274362339768 | epot = -12.48820042109 | etot = -8.37462296946132 +4000 ekin = 1.03780093165925 | erot = 3.13815143503908 | epot = -12.550575336422 | etot = -8.37462296972371 +5000 ekin = 1.04371581655901 | erot = 3.18681185449848 | epot = -12.6051506409707 | etot = -8.37462296991322 +6000 ekin = 1.05738085799297 | erot = 3.21642353087471 | epot = -12.6484273588875 | etot = -8.37462297001986 +7000 ekin = 1.07739394884044 | erot = 3.22597832036687 | epot = -12.677995239256 | etot = -8.37462297004864 +8000 ekin = 1.10226637472089 | erot = 3.21563966301723 | epot = -12.6925290077504 | etot = -8.37462297001232 +9000 ekin = 1.13051291055329 | erot = 3.18656247631356 | epot = -12.6916983567815 | etot = -8.37462296991465 +10000 ekin = 1.16073704358066 | erot = 3.14076972913363 | epot = -12.6761297424775 | etot = -8.37462296976318 +11000 ekin = 1.19170449380508 | erot = 3.08098965164643 | epot = -12.6473171150236 | etot = -8.37462296957209 +12000 ekin = 1.22238189802732 | erot = 3.01040253468258 | epot = -12.6074074020775 | etot = -8.37462296936758 +13000 ekin = 1.2519269188149 | erot = 2.93230261872817 | epot = -12.5588525067181 | etot = -8.374622969175 +14000 ekin = 1.2796385761876 | erot = 2.84975156813376 | epot = -12.5040131133431 | etot = -8.37462296902175 +15000 ekin = 1.30489368750126 | erot = 2.76534813925011 | epot = -12.444864795638 | etot = -8.37462296888665 +16000 ekin = 1.32709913751465 | erot = 2.68118184785529 | epot = -12.3829039541517 | etot = -8.37462296878176 +17000 ekin = 1.34568132349847 | erot = 2.59861285690791 | epot = -12.3189171492215 | etot = -8.37462296881507 +18000 ekin = 1.36011712604128 | erot = 2.51802979978581 | epot = -12.2527698947085 | etot = -8.37462296888145 +19000 ekin = 1.37000559015644 | erot = 2.43889875259722 | epot = -12.1835273117078 | etot = -8.37462296895412 +20000 ekin = 1.37516683465218 | erot = 2.36049590954917 | epot = -12.1102857132061 | etot = -8.37462296900474 +21000 ekin = 1.37575335509461 | erot = 2.28221618930098 | epot = -12.0325925134033 | etot = -8.37462296900774 +22000 ekin = 1.37235802310953 | erot = 2.20383846967477 | epot = -11.9508194617284 | etot = -8.37462296894413 +23000 ekin = 1.36610326249354 | erot = 2.12570839352806 | epot = -11.8664346248252 | etot = -8.37462296880362 +24000 ekin = 1.35869525710696 | erot = 2.04881568638623 | epot = -11.7821339120794 | etot = -8.37462296858617 +25000 ekin = 1.352422551256 | erot = 1.97475968439783 | epot = -11.7018052039588 | etot = -8.37462296830496 +26000 ekin = 1.35007012440096 | erot = 1.90560954362746 | epot = -11.6303026360113 | etot = -8.3746229679829 +27000 ekin = 1.35474332970467 | erot = 1.843676291157 | epot = -11.5730425885209 | etot = -8.37462296765923 +28000 ekin = 1.36954369410754 | erot = 1.79121252282617 | epot = -11.5353791843193 | etot = -8.37462296738555 +29000 ekin = 1.39711560919902 | erot = 1.7500600904406 | epot = -11.5217986668611 | etot = -8.3746229672215 +30000 ekin = 1.43911092491007 | erot = 1.72127833748019 | epot = -11.5350122296154 | etot = -8.37462296722519 +31000 ekin = 1.49567630461196 | erot = 1.70480588615781 | epot = -11.5751051582054 | etot = -8.37462296743563 +32000 ekin = 1.56511285114185 | erot = 1.69923538983356 | epot = -11.6389712088326 | etot = -8.37462296785714 +33000 ekin = 1.64385110263248 | erot = 1.70198396265069 | epot = -11.7204580336836 | etot = -8.37462296840039 +34000 ekin = 1.72681002365036 | erot = 1.70946314344895 | epot = -11.8108961361852 | etot = -8.37462296908591 +35000 ekin = 1.80812188596384 | erot = 1.71712980816862 | epot = -11.8998746638723 | etot = -8.37462296973981 +36000 ekin = 1.88201893971561 | erot = 1.72067857993903 | epot = -11.9773204899105 | etot = -8.37462297025589 +37000 ekin = 1.94364733336837 | erot = 1.71680208569965 | epot = -12.0350723896308 | etot = -8.37462297056282 +38000 ekin = 1.98961498615656 | erot = 1.70370907929485 | epot = -12.0679470360927 | etot = -8.37462297064129 +39000 ekin = 2.01818359901114 | erot = 1.68126711282216 | epot = -12.0740736823535 | etot = -8.37462297052021 +40000 ekin = 2.02914332282583 | erot = 1.65077260628054 | epot = -12.0545388993641 | etot = -8.37462297025776 +41000 ekin = 2.0234910301812 | erot = 1.61448262351109 | epot = -12.012596623611 | etot = -8.37462296991876 +42000 ekin = 2.0030441255453 | erot = 1.57509121259574 | epot = -11.952758307699 | etot = -8.374622969558 +43000 ekin = 1.97008148028974 | erot = 1.53529510620986 | epot = -11.8799995557139 | etot = -8.37462296921426 +44000 ekin = 1.92705109571088 | erot = 1.49750726070826 | epot = -11.7991813253591 | etot = -8.37462296893995 +45000 ekin = 1.87634986385877 | erot = 1.46354390598901 | epot = -11.7145167385331 | etot = -8.37462296868532 +46000 ekin = 1.82016797429764 | erot = 1.43491031451216 | epot = -11.6297012572908 | etot = -8.37462296848104 +47000 ekin = 1.76039182009025 | erot = 1.41286016406996 | epot = -11.5478749524838 | etot = -8.37462296832359 +48000 ekin = 1.6985694927478 | erot = 1.39838217522419 | epot = -11.4715746361764 | etot = -8.37462296820438 +49000 ekin = 1.6359395498875 | erot = 1.39228918140571 | epot = -11.4028516994045 | etot = -8.37462296811134 +50000 ekin = 1.57351801537301 | erot = 1.39530041169486 | epot = -11.3434413950978 | etot = -8.37462296802991 +51000 ekin = 1.5122287247636 | erot = 1.40810650340932 | epot = -11.2949581961197 | etot = -8.37462296794678 +52000 ekin = 1.45305245526499 | erot = 1.43140550730915 | epot = -11.2590809304253 | etot = -8.37462296785115 +53000 ekin = 1.39716366086928 | erot = 1.4658956749352 | epot = -11.2376823035408 | etot = -8.37462296773631 +54000 ekin = 1.34602153837057 | erot = 1.51222067984174 | epot = -11.2328651858294 | etot = -8.37462296761708 +55000 ekin = 1.30138436197342 | erot = 1.57077970891803 | epot = -11.2467870384003 | etot = -8.37462296750883 +56000 ekin = 1.26522647192243 | erot = 1.64151101613064 | epot = -11.2813604554936 | etot = -8.37462296744053 +57000 ekin = 1.23956119808448 | erot = 1.72363092633018 | epot = -11.3378150918588 | etot = -8.37462296744415 +58000 ekin = 1.22620283906737 | erot = 1.81539828229221 | epot = -11.4162240889029 | etot = -8.37462296754335 +59000 ekin = 1.22652758768659 | erot = 1.91400381193531 | epot = -11.5151543673672 | etot = -8.37462296774531 +60000 ekin = 1.24129579501624 | erot = 2.01564970996725 | epot = -11.631568473021 | etot = -8.37462296803753 +61000 ekin = 1.27057003505322 | erot = 2.11581304358654 | epot = -11.7610060470471 | etot = -8.37462296840734 +62000 ekin = 1.31372115356093 | erot = 2.20955642503234 | epot = -11.8979005473869 | etot = -8.37462296879364 +63000 ekin = 1.36947667734261 | erot = 2.29224896410223 | epot = -12.0363486106152 | etot = -8.37462296917037 +64000 ekin = 1.43596184816366 | erot = 2.35998108781798 | epot = -12.1705659055151 | etot = -8.37462296953341 +65000 ekin = 1.5108757081497 | erot = 2.40947275989089 | epot = -12.2949714378729 | etot = -8.37462296983232 +66000 ekin = 1.59162978656335 | erot = 2.43872351537734 | epot = -12.4049762719859 | etot = -8.37462297004526 +67000 ekin = 1.6754634907457 | erot = 2.44726186999258 | epot = -12.4973483309005 | etot = -8.37462297016219 +68000 ekin = 1.75953613825201 | erot = 2.43621057967602 | epot = -12.5703696881156 | etot = -8.37462297018758 +69000 ekin = 1.84098201456563 | erot = 2.40815676459652 | epot = -12.6237617493037 | etot = -8.37462297014155 +70000 ekin = 1.91692810522248 | erot = 2.36682660300844 | epot = -12.6583776782867 | etot = -8.3746229700558 +71000 ekin = 1.98449380473018 | erot = 2.31661131420501 | epot = -12.6757280888525 | etot = -8.37462296991727 +72000 ekin = 2.0408128719349 | erot = 2.26215174487685 | epot = -12.6775875867425 | etot = -8.3746229699307 +73000 ekin = 2.08263291328337 | erot = 2.20743363864194 | epot = -12.6646895218716 | etot = -8.37462296994629 +74000 ekin = 2.10698584150827 | erot = 2.15544421118373 | epot = -12.6370530226944 | etot = -8.37462297000235 +75000 ekin = 2.11136525908713 | erot = 2.10816940675065 | epot = -12.5941576359035 | etot = -8.37462297006568 +76000 ekin = 2.09405873141398 | erot = 2.06669472630762 | epot = -12.535376427811 | etot = -8.37462297008944 +77000 ekin = 2.05455135347909 | erot = 2.0314793357564 | epot = -12.4606536592623 | etot = -8.37462297002681 +78000 ekin = 1.99386684227704 | erot = 2.00268171013297 | epot = -12.3711715222582 | etot = -8.37462296984821 +79000 ekin = 1.91474155283402 | erot = 1.98040758803635 | epot = -12.2697721104228 | etot = -8.37462296955245 +80000 ekin = 1.82155513477586 | erot = 1.96479734780205 | epot = -12.1609754517454 | etot = -8.37462296916753 +81000 ekin = 1.71999782481706 | erot = 1.95595086125324 | epot = -12.0505716548133 | etot = -8.37462296874304 +82000 ekin = 1.61651478139511 | erot = 1.95375810375241 | epot = -11.9448958534855 | etot = -8.37462296833793 +83000 ekin = 1.5176113475009 | erot = 1.9577277486061 | epot = -11.8499620641158 | etot = -8.37462296800878 +84000 ekin = 1.42912416355173 | erot = 1.96688313409173 | epot = -11.770630265442 | etot = -8.37462296779853 +85000 ekin = 1.355568955554 | erot = 1.97976517498656 | epot = -11.7099570982739 | etot = -8.37462296773334 +86000 ekin = 1.29966988136846 | erot = 1.99452593271672 | epot = -11.6688187819006 | etot = -8.37462296781538 +87000 ekin = 1.26213747948961 | erot = 2.00910214170761 | epot = -11.6458625892975 | etot = -8.37462296810029 +88000 ekin = 1.24134500163863 | erot = 2.02122064243446 | epot = -11.6371886124843 | etot = -8.3746229684112 +89000 ekin = 1.2342164494761 | erot = 2.02900530500575 | epot = -11.6378447232194 | etot = -8.37462296873752 +90000 ekin = 1.23690604243565 | erot = 2.03136372571823 | epot = -11.6428927371713 | etot = -8.37462296901745 +91000 ekin = 1.24531053049741 | erot = 2.02816188261827 | epot = -11.6480953823211 | etot = -8.37462296920539 +92000 ekin = 1.25564394227053 | erot = 2.02032873397318 | epot = -11.6505956455252 | etot = -8.37462296928144 +93000 ekin = 1.26484018817411 | erot = 2.00975004471074 | epot = -11.6492132021395 | etot = -8.37462296925471 +94000 ekin = 1.27076152680826 | erot = 1.99896253062535 | epot = -11.64434702658 | etot = -8.37462296914645 +95000 ekin = 1.27224696211167 | erot = 1.9907688927132 | epot = -11.637638823818 | etot = -8.37462296899316 +96000 ekin = 1.26905385172906 | erot = 1.98776908505786 | epot = -11.6314459056159 | etot = -8.374622968829 +97000 ekin = 1.26173398384339 | erot = 1.99196117307471 | epot = -11.6283181256016 | etot = -8.37462296868348 +98000 ekin = 1.25146122958138 | erot = 2.00445279488987 | epot = -11.6305369930525 | etot = -8.37462296858129 +99000 ekin = 1.23981039935407 | erot = 2.02529911459859 | epot = -11.6397324824948 | etot = -8.3746229685421 +100000 ekin = 1.22848889431686 | erot = 2.05346079777931 | epot = -11.6565726606774 | etot = -8.37462296858124 +101000 ekin = 1.21904296342428 | erot = 2.08686922543158 | epot = -11.6805351575621 | etot = -8.37462296870625 +102000 ekin = 1.21258708443144 | erot = 2.12259257652692 | epot = -11.709802629871 | etot = -8.37462296891261 +103000 ekin = 1.2096213812761 | erot = 2.15710417867581 | epot = -11.7413485291304 | etot = -8.37462296917851 +104000 ekin = 1.20999435064748 | erot = 2.18665201736524 | epot = -11.7712693374783 | etot = -8.37462296946559 +105000 ekin = 1.21303379771945 | erot = 2.20771017012383 | epot = -11.7953669375664 | etot = -8.37462296972313 +106000 ekin = 1.21781939160535 | erot = 2.21746426398215 | epot = -11.8099066254851 | etot = -8.37462296989764 +107000 ekin = 1.22352668485505 | erot = 2.21425769941215 | epot = -11.8124073542124 | etot = -8.37462296994524 +108000 ekin = 1.22975371616698 | erot = 2.19791821277325 | epot = -11.8022948987809 | etot = -8.37462296984067 +109000 ekin = 1.23675326669525 | erot = 2.16990174522994 | epot = -11.7812779815079 | etot = -8.37462296958276 +110000 ekin = 1.24552660594288 | erot = 2.13322593016593 | epot = -11.7533755053019 | etot = -8.37462296919314 +111000 ekin = 1.2577699492817 | erot = 2.09220325002883 | epot = -11.7245961680233 | etot = -8.37462296871273 +112000 ekin = 1.27568807280454 | erot = 2.0520095134221 | epot = -11.7023205544236 | etot = -8.37462296819701 +113000 ekin = 1.30169744977547 | erot = 2.01813224570276 | epot = -11.6944526631895 | etot = -8.37462296771131 +114000 ekin = 1.3380425185894 | erot = 1.99574344242898 | epot = -11.708408928345 | etot = -8.37462296732664 +115000 ekin = 1.38647431929533 | erot = 1.9890358144779 | epot = -11.7501331008335 | etot = -8.3746229670603 +116000 ekin = 1.44876446583391 | erot = 2.00047074173031 | epot = -11.8238581746951 | etot = -8.37462296713089 +117000 ekin = 1.52378581535556 | erot = 2.03044339408199 | epot = -11.928852176889 | etot = -8.37462296745148 +118000 ekin = 1.60840594184184 | erot = 2.07707436259007 | epot = -12.0601032724458 | etot = -8.37462296801391 +119000 ekin = 1.69804077960487 | erot = 2.13624566567617 | epot = -12.2089094140534 | etot = -8.37462296877235 +120000 ekin = 1.78696647862279 | erot = 2.20199105617477 | epot = -12.3635805044446 | etot = -8.37462296964704 +121000 ekin = 1.86883508536304 | erot = 2.26718837407833 | epot = -12.5106464299772 | etot = -8.3746229705358 +122000 ekin = 1.93731263285346 | erot = 2.3244608703495 | epot = -12.6363964745344 | etot = -8.37462297133144 +123000 ekin = 1.98673587945774 | erot = 2.36714489985499 | epot = -12.7285037512514 | etot = -8.37462297193864 +124000 ekin = 2.01268857483472 | erot = 2.39015976226559 | epot = -12.7774713093897 | etot = -8.37462297228942 +125000 ekin = 2.01242153120607 | erot = 2.39062925356786 | epot = -12.7776737571266 | etot = -8.37462297235268 +126000 ekin = 1.98507290328065 | erot = 2.36815351492862 | epot = -12.7278493903457 | etot = -8.37462297213648 +127000 ekin = 1.93167931643402 | erot = 2.32470375634598 | epot = -12.6310060444627 | etot = -8.3746229716827 +128000 ekin = 1.8550007691687 | erot = 2.26419178968032 | epot = -12.4938155299045 | etot = -8.37462297105549 +129000 ekin = 1.75920795598131 | erot = 2.19182812292597 | epot = -12.3256590492356 | etot = -8.37462297032836 +130000 ekin = 1.64949415840181 | erot = 2.11340935726336 | epot = -12.1375264852356 | etot = -8.37462296957046 +131000 ekin = 1.53167143066913 | erot = 2.03466319553997 | epot = -11.9409575950483 | etot = -8.3746229688392 +132000 ekin = 1.41179399813977 | erot = 1.96073697301923 | epot = -11.7471539393354 | etot = -8.37462296817641 +133000 ekin = 1.29582771791042 | erot = 1.89586175533303 | epot = -11.5663124408536 | etot = -8.37462296761014 +134000 ekin = 1.18933366770487 | erot = 1.84313053331017 | epot = -11.4070871682765 | etot = -8.37462296726146 +135000 ekin = 1.09698845763052 | erot = 1.80418246558945 | epot = -11.2757938901605 | etot = -8.37462296694051 +136000 ekin = 1.02270904454081 | erot = 1.77989195852201 | epot = -11.1772239698142 | etot = -8.37462296675135 +137000 ekin = 0.969402888595107 | erot = 1.77022137974247 | epot = -11.1142472350355 | etot = -8.37462296669788 +138000 ekin = 0.938766242876396 | erot = 1.77423425797198 | epot = -11.0876234676258 | etot = -8.37462296677741 +139000 ekin = 0.931209536918622 | erot = 1.79022284403572 | epot = -11.0960553479303 | etot = -8.374622966976 +140000 ekin = 0.945902360873774 | erot = 1.81588277986729 | epot = -11.1364081080077 | etot = -8.37462296726662 +141000 ekin = 0.980951010695175 | erot = 1.8485455285403 | epot = -11.204119506847 | etot = -8.37462296761153 +142000 ekin = 1.03368854660433 | erot = 1.88546172258917 | epot = -11.2937732371602 | etot = -8.37462296796669 +143000 ekin = 1.10102464558806 | erot = 1.92410215903287 | epot = -11.3997497729132 | etot = -8.37462296829229 +144000 ekin = 1.17978371180479 | erot = 1.96241851789346 | epot = -11.5168251982596 | etot = -8.37462296856134 +145000 ekin = 1.26696389973282 | erot = 1.99907135517271 | epot = -11.6406582236463 | etot = -8.37462296874076 +146000 ekin = 1.35987698631737 | erot = 2.03338468070426 | epot = -11.7678846359152 | etot = -8.37462296889355 +147000 ekin = 1.45616095202992 | erot = 2.06502561999169 | epot = -11.8958095410393 | etot = -8.37462296901766 +148000 ekin = 1.55369685491102 | erot = 2.09388144715349 | epot = -12.0222012712078 | etot = -8.37462296914327 +149000 ekin = 1.65047924324446 | erot = 2.119766716203 | epot = -12.1448689287441 | etot = -8.3746229692966 +150000 ekin = 1.7444879162985 | erot = 2.14217867903534 | epot = -12.2612895648265 | etot = -8.3746229694927 +151000 ekin = 1.83359650490146 | erot = 2.16016451670422 | epot = -12.3683839913409 | etot = -8.37462296973527 +152000 ekin = 1.91553611044662 | erot = 2.17231614291454 | epot = -12.4624752233743 | etot = -8.3746229700131 +153000 ekin = 1.98791755611535 | erot = 2.176897167127 | epot = -12.5394376935491 | etot = -8.37462297030674 +154000 ekin = 2.04830722999038 | erot = 2.17205709329779 | epot = -12.5949872938791 | etot = -8.37462297059092 +155000 ekin = 2.0943477814066 | erot = 2.1560836321465 | epot = -12.6250543843915 | etot = -8.37462297083838 +156000 ekin = 2.12391577783684 | erot = 2.12765251039836 | epot = -12.6261912592573 | etot = -8.37462297102206 +157000 ekin = 2.13531004697523 | erot = 2.08604574913212 | epot = -12.5959787672234 | etot = -8.37462297111609 +158000 ekin = 2.12746223168569 | erot = 2.0313282063183 | epot = -12.5334134091002 | etot = -8.37462297109625 +159000 ekin = 2.10015103339182 | erot = 1.96448478928966 | epot = -12.4392587936247 | etot = -8.3746229709432 +160000 ekin = 2.0541841606365 | erot = 1.88751839461899 | epot = -12.3163255258998 | etot = -8.37462297064433 +161000 ekin = 1.9914954137127 | erot = 1.80350457154603 | epot = -12.1696229554607 | etot = -8.37462297020201 +162000 ekin = 1.91510266104687 | erot = 1.71656915682321 | epot = -12.0062947875077 | etot = -8.37462296963766 +163000 ekin = 1.82889680262222 | erot = 1.63175766791017 | epot = -11.8352774395237 | etot = -8.37462296899133 +164000 ekin = 1.73727850175361 | erot = 1.55477450557376 | epot = -11.6666759756467 | etot = -8.37462296831929 +165000 ekin = 1.64470875439873 | erot = 1.4915924102951 | epot = -11.5109241323765 | etot = -8.37462296768268 +166000 ekin = 1.55526715399606 | erot = 1.44796523953972 | epot = -11.3778553606755 | etot = -8.3746229671397 +167000 ekin = 1.47230568197345 | erot = 1.42890789301241 | epot = -11.2758365417204 | etot = -8.37462296673456 +168000 ekin = 1.39825202215325 | erot = 1.43822523215975 | epot = -11.2111002208052 | etot = -8.37462296649218 +169000 ekin = 1.33457196190141 | erot = 1.47816740254075 | epot = -11.1873623308595 | etot = -8.37462296641738 +170000 ekin = 1.28186404086305 | erot = 1.54925939136695 | epot = -11.2057463987275 | etot = -8.37462296649748 +171000 ekin = 1.24010532837043 | erot = 1.650314933199 | epot = -11.2650432281454 | etot = -8.37462296657596 +172000 ekin = 1.20973432363906 | erot = 1.77850842430629 | epot = -11.3628657149172 | etot = -8.37462296697185 +173000 ekin = 1.18958106737836 | erot = 1.92939472681623 | epot = -11.4935987616336 | etot = -8.37462296743901 +174000 ekin = 1.17780375666799 | erot = 2.09752621801763 | epot = -11.6499529426377 | etot = -8.37462296795207 +175000 ekin = 1.17250284106932 | erot = 2.27682305293097 | epot = -11.823948862491 | etot = -8.37462296849073 +176000 ekin = 1.1717731341751 | erot = 2.46086230703718 | epot = -12.0072584102492 | etot = -8.37462296903695 +177000 ekin = 1.17372471418892 | erot = 2.64315812275411 | epot = -12.1915058065145 | etot = -8.37462296957145 +178000 ekin = 1.1764972581607 | erot = 2.8174537859961 | epot = -12.3685740142281 | etot = -8.37462297007134 +179000 ekin = 1.17828959842936 | erot = 2.9780388566517 | epot = -12.5309514255911 | etot = -8.37462297051003 +180000 ekin = 1.17741681901011 | erot = 3.12008209304928 | epot = -12.6721218829193 | etot = -8.37462297085987 +181000 ekin = 1.17239479280091 | erot = 3.2399417749801 | epot = -12.7869595388788 | etot = -8.3746229710978 +182000 ekin = 1.16204161674191 | erot = 3.33528346670204 | epot = -12.871948054927 | etot = -8.37462297148309 +183000 ekin = 1.14544700201189 | erot = 3.40346825728322 | epot = -12.9235382308538 | etot = -8.3746229715587 +184000 ekin = 1.12187454429755 | erot = 3.44382690739235 | epot = -12.9403244231955 | etot = -8.37462297150555 +185000 ekin = 1.09113819766571 | erot = 3.45752421108363 | epot = -12.9232853800841 | etot = -8.37462297133478 +186000 ekin = 1.0537517763756 | erot = 3.44681260248516 | epot = -12.875187349924 | etot = -8.37462297106326 +187000 ekin = 1.01100426926452 | erot = 3.41470705189681 | epot = -12.8003342918715 | etot = -8.3746229707102 +188000 ekin = 0.964980950088499 | erot = 3.36467106156843 | epot = -12.7042749819531 | etot = -8.37462297029615 +189000 ekin = 0.918502012520883 | erot = 3.30025095733249 | epot = -12.5933759397279 | etot = -8.37462296987451 +190000 ekin = 0.874955375625479 | erot = 3.22483721777176 | epot = -12.4744155628188 | etot = -8.37462296942152 +191000 ekin = 0.838012694189673 | erot = 3.14179385100208 | epot = -12.3544295141826 | etot = -8.37462296899079 +192000 ekin = 0.811264586710657 | erot = 3.05421641257372 | epot = -12.2401039678971 | etot = -8.37462296861268 +193000 ekin = 0.797833231457084 | erot = 2.96485918306321 | epot = -12.1373153828317 | etot = -8.37462296831145 +194000 ekin = 0.800032366300235 | erot = 2.87610608236619 | epot = -12.050761416768 | etot = -8.37462296810153 +195000 ekin = 0.819137512919436 | erot = 2.78998115247787 | epot = -11.9837416333826 | etot = -8.37462296798526 +196000 ekin = 0.855301818718971 | erot = 2.70818765526185 | epot = -11.9381124419351 | etot = -8.37462296795428 +197000 ekin = 0.907617485284309 | erot = 2.63215574475477 | epot = -11.9143961980333 | etot = -8.37462296799419 +198000 ekin = 0.97429151758394 | erot = 2.56307623018431 | epot = -11.9119907158566 | etot = -8.37462296808834 +199000 ekin = 1.05288651878741 | erot = 2.50190471363149 | epot = -11.9294142006404 | etot = -8.37462296822155 +200000 ekin = 1.14057530731199 | erot = 2.4493327408956 | epot = -11.9645310165904 | etot = -8.37462296838278 +201000 ekin = 1.2343694565576 | erot = 2.4057357740471 | epot = -12.014728199169 | etot = -8.37462296856431 +202000 ekin = 1.33129982084458 | erot = 2.37111655194159 | epot = -12.077039341547 | etot = -8.37462296876083 +203000 ekin = 1.42854451444423 | erot = 2.34506402190562 | epot = -12.1482315053183 | etot = -8.3746229689685 +204000 ekin = 1.52351160571851 | erot = 2.3267429043425 | epot = -12.2248774792434 | etot = -8.37462296918236 +205000 ekin = 1.6138883706006 | erot = 2.31491995505448 | epot = -12.303431295052 | etot = -8.37462296939692 +206000 ekin = 1.69766775260787 | erot = 2.30802500400437 | epot = -12.3803157262179 | etot = -8.37462296960567 +207000 ekin = 1.77315874687833 | erot = 2.30423562983859 | epot = -12.4520173465211 | etot = -8.37462296980422 +208000 ekin = 1.83898325555911 | erot = 2.30156289475817 | epot = -12.5151691203028 | etot = -8.37462296998553 +209000 ekin = 1.89406065254644 | erot = 2.29797193080324 | epot = -12.5666555534947 | etot = -8.37462297014506 +210000 ekin = 1.93758171355935 | erot = 2.29149245614518 | epot = -12.6036971399829 | etot = -8.3746229702784 +211000 ekin = 1.96897499678785 | erot = 2.28032999988847 | epot = -12.6239279670578 | etot = -8.37462297038152 +212000 ekin = 1.98787057423925 | erot = 2.26297816329926 | epot = -12.6254717079893 | etot = -8.3746229704508 +213000 ekin = 1.99406615310611 | erot = 2.2383484772953 | epot = -12.6070376008827 | etot = -8.37462297048134 +214000 ekin = 1.98749971048289 | erot = 2.20579329600811 | epot = -12.5679159769723 | etot = -8.37462297048125 +215000 ekin = 1.96823269345663 | erot = 2.16512069835577 | epot = -12.5079763622595 | etot = -8.37462297044713 +216000 ekin = 1.93645036858726 | erot = 2.11663233289577 | epot = -12.4277056718661 | etot = -8.37462297038307 +217000 ekin = 1.89249565101069 | erot = 2.06105227365545 | epot = -12.328170894956 | etot = -8.37462297028983 +218000 ekin = 1.83696296100899 | erot = 1.99944931813363 | epot = -12.2110352493001 | etot = -8.37462297015747 +219000 ekin = 1.77087997199934 | erot = 1.93321768349765 | epot = -12.0787206254576 | etot = -8.37462296996059 +220000 ekin = 1.69598414200763 | erot = 1.86416918368629 | epot = -11.9347762953549 | etot = -8.37462296966094 +221000 ekin = 1.61504938765036 | erot = 1.79472971030281 | epot = -11.7844020671756 | etot = -8.37462296922238 +222000 ekin = 1.53214607791949 | erot = 1.72813764737019 | epot = -11.6349066939257 | etot = -8.37462296863602 +223000 ekin = 1.45266240883104 | erot = 1.66846349300161 | epot = -11.4957488697767 | etot = -8.37462296794408 +224000 ekin = 1.38293292450099 | erot = 1.62027927221305 | epot = -11.3778351639604 | etot = -8.37462296724631 +225000 ekin = 1.32944348952736 | erot = 1.58793473617187 | epot = -11.2920011923819 | etot = -8.37462296668269 +226000 ekin = 1.2977735014098 | erot = 1.57457480049554 | epot = -11.2469712682751 | etot = -8.37462296636981 +227000 ekin = 1.29158711545474 | erot = 1.58136206120168 | epot = -11.247572143041 | etot = -8.37462296638459 +228000 ekin = 1.31199160550476 | erot = 1.60705168356094 | epot = -11.2936662557528 | etot = -8.37462296668715 +229000 ekin = 1.35720775781569 | erot = 1.64872427968805 | epot = -11.3805550048119 | etot = -8.37462296730815 +230000 ekin = 1.42320705813326 | erot = 1.70117239435519 | epot = -11.4990024205437 | etot = -8.37462296805528 +231000 ekin = 1.50467169677578 | erot = 1.75808746579119 | epot = -11.6373821313705 | etot = -8.37462296880356 +232000 ekin = 1.59576180204784 | erot = 1.81345446216814 | epot = -11.7838392336754 | etot = -8.37462296945945 +233000 ekin = 1.69077156764766 | erot = 1.86233770608624 | epot = -11.9277322437063 | etot = -8.37462296997237 +234000 ekin = 1.78453671679902 | erot = 1.90129507954668 | epot = -12.0604547666798 | etot = -8.37462297033406 +235000 ekin = 1.87261122258964 | erot = 1.92842207171172 | epot = -12.1756562648648 | etot = -8.37462297056343 +236000 ekin = 1.95129507586045 | erot = 1.94312673772456 | epot = -12.2690447842759 | etot = -8.37462297069089 +237000 ekin = 2.01688127570888 | erot = 1.94587838549618 | epot = -12.3373826321093 | etot = -8.37462297090424 +238000 ekin = 2.06554471096632 | erot = 1.93754713481357 | epot = -12.3777148167612 | etot = -8.37462297098128 +239000 ekin = 2.09498833917105 | erot = 1.91896908743904 | epot = -12.3885803976066 | etot = -8.37462297099647 +240000 ekin = 2.10387887335868 | erot = 1.89114067893448 | epot = -12.3696425232255 | etot = -8.37462297093239 +241000 ekin = 2.09205058134763 | erot = 1.85524232773695 | epot = -12.3219158798525 | etot = -8.37462297076792 +242000 ekin = 2.06070692356732 | erot = 1.81270484104108 | epot = -12.2480347350936 | etot = -8.3746229704852 +243000 ekin = 2.01255526288397 | erot = 1.76529169809267 | epot = -12.1524699310592 | etot = -8.3746229700826 +244000 ekin = 1.95178746173565 | erot = 1.71512317980732 | epot = -12.0415336111136 | etot = -8.37462296957065 +245000 ekin = 1.88387514784715 | erot = 1.66462101119864 | epot = -11.9231191280352 | etot = -8.37462296898941 +246000 ekin = 1.81512558267788 | erot = 1.61637080971489 | epot = -11.8061193607925 | etot = -8.37462296839969 +247000 ekin = 1.75197548737598 | erot = 1.57289129038632 | epot = -11.6994897456374 | etot = -8.37462296787513 +248000 ekin = 1.70016015194921 | erot = 1.5363664174363 | epot = -11.6111495368734 | etot = -8.37462296748788 +249000 ekin = 1.664043914543 | erot = 1.50839677555149 | epot = -11.5470636572537 | etot = -8.37462296715922 +250000 ekin = 1.64635032469218 | erot = 1.48977166427894 | epot = -11.5107449561766 | etot = -8.37462296720544 +251000 ekin = 1.64670868822392 | erot = 1.48021150770214 | epot = -11.5015431633547 | etot = -8.37462296742863 +252000 ekin = 1.66264181464355 | erot = 1.47871062656248 | epot = -11.515975408979 | etot = -8.37462296777296 +253000 ekin = 1.69027564040369 | erot = 1.48380069509961 | epot = -11.5486993036754 | etot = -8.3746229681721 +254000 ekin = 1.72505301291702 | erot = 1.49382397147177 | epot = -11.593499952955 | etot = -8.37462296856621 +255000 ekin = 1.76239471231507 | erot = 1.50720813837987 | epot = -11.6442258196111 | etot = -8.37462296891614 +256000 ekin = 1.79816893498575 | erot = 1.52259254469743 | epot = -11.6953844488857 | etot = -8.37462296920248 +257000 ekin = 1.82895095239716 | erot = 1.53887801863879 | epot = -11.7424519404558 | etot = -8.37462296941987 +258000 ekin = 1.85212386739603 | erot = 1.55528591409784 | epot = -11.7820327510629 | etot = -8.37462296956901 +259000 ekin = 1.86588413888276 | erot = 1.57137656836574 | epot = -11.8118836768999 | etot = -8.37462296965144 +260000 ekin = 1.86922537289945 | erot = 1.58707491263422 | epot = -11.8309232551869 | etot = -8.37462296965321 +261000 ekin = 1.86194745778049 | erot = 1.60277606186391 | epot = -11.8393464893246 | etot = -8.37462296968025 +262000 ekin = 1.84441202421401 | erot = 1.61874454524398 | epot = -11.8377795390096 | etot = -8.37462296955156 +263000 ekin = 1.8177563299772 | erot = 1.63584439963962 | epot = -11.8282236989416 | etot = -8.37462296932473 +264000 ekin = 1.78414336143566 | erot = 1.65581672859452 | epot = -11.8145830590359 | etot = -8.37462296900575 +265000 ekin = 1.74659811333773 | erot = 1.68088156362826 | epot = -11.8021026455982 | etot = -8.37462296863218 +266000 ekin = 1.70875551588695 | erot = 1.71332387538106 | epot = -11.7967023595427 | etot = -8.37462296827472 +267000 ekin = 1.67443624978676 | erot = 1.75501089284495 | epot = -11.8040701106202 | etot = -8.37462296798845 +268000 ekin = 1.64712713207616 | erot = 1.80695733277667 | epot = -11.8287074326943 | etot = -8.37462296784148 +269000 ekin = 1.62949021142767 | erot = 1.86883267567167 | epot = -11.8729458549721 | etot = -8.37462296787273 +270000 ekin = 1.62285159922546 | erot = 1.93872810894256 | epot = -11.9362026762895 | etot = -8.37462296812145 +271000 ekin = 1.62688631043817 | erot = 2.01317767222006 | epot = -12.0146869512065 | etot = -8.37462296854828 +272000 ekin = 1.63981668010479 | erot = 2.08746423747607 | epot = -12.1019038866666 | etot = -8.37462296908573 +273000 ekin = 1.65880091169085 | erot = 2.15626799363728 | epot = -12.1896918749698 | etot = -8.37462296964172 +274000 ekin = 1.68050753849978 | erot = 2.21448722130837 | epot = -12.2696177299305 | etot = -8.37462297012236 +275000 ekin = 1.70172643739859 | erot = 2.25805265702164 | epot = -12.3344020648726 | etot = -8.37462297045236 +276000 ekin = 1.71987527696229 | erot = 2.28456562448884 | epot = -12.3790638720398 | etot = -8.37462297058871 +277000 ekin = 1.73331269261662 | erot = 2.29364905663773 | epot = -12.4015847197778 | etot = -8.37462297052348 +278000 ekin = 1.74143735013812 | erot = 2.28698125838882 | epot = -12.4030415787998 | etot = -8.37462297027286 +279000 ekin = 1.74460802870659 | erot = 2.26806682992254 | epot = -12.3872978285234 | etot = -8.37462296989426 +280000 ekin = 1.74394008412506 | erot = 2.24171314051919 | epot = -12.3602761940833 | etot = -8.37462296943905 +281000 ekin = 1.74088698058238 | erot = 2.21312908436276 | epot = -12.3286390340538 | etot = -8.37462296910862 +282000 ekin = 1.73669656458759 | erot = 2.18704204449549 | epot = -12.2983615778783 | etot = -8.37462296879524 +283000 ekin = 1.73229007371642 | erot = 2.1674467962283 | epot = -12.2743598385788 | etot = -8.37462296863409 +284000 ekin = 1.72792109204571 | erot = 2.15675164213727 | epot = -12.2592957028517 | etot = -8.3746229686687 +285000 ekin = 1.72297480902885 | erot = 2.15537559427272 | epot = -12.2529733722 | etot = -8.37462296889847 +286000 ekin = 1.71598432453051 | erot = 2.16179000838356 | epot = -12.2523973021713 | etot = -8.37462296925726 +287000 ekin = 1.70498524220327 | erot = 2.17315503013682 | epot = -12.2527632419519 | etot = -8.3746229696118 +288000 ekin = 1.68823578051931 | erot = 2.18649203663113 | epot = -12.2493507869527 | etot = -8.37462296980222 +289000 ekin = 1.66510970376189 | erot = 2.19999055777893 | epot = -12.2397232312607 | etot = -8.37462296971986 +290000 ekin = 1.63674302037956 | erot = 2.21381252699311 | epot = -12.2251785167475 | etot = -8.37462296937484 +291000 ekin = 1.60601874197386 | erot = 2.22992661048294 | epot = -12.2105683213532 | etot = -8.37462296889641 +292000 ekin = 1.57682389343734 | erot = 2.25107800691057 | epot = -12.2025248687813 | etot = -8.37462296843336 +293000 ekin = 1.55301992418662 | erot = 2.27950943304582 | epot = -12.2071523254127 | etot = -8.37462296818025 +294000 ekin = 1.53731454048149 | erot = 2.31583078837865 | epot = -12.2277682970263 | etot = -8.37462296816618 +295000 ekin = 1.53083265562476 | erot = 2.35873605655275 | epot = -12.2641916805461 | etot = -8.37462296836864 +296000 ekin = 1.53318706455205 | erot = 2.40528084679052 | epot = -12.3130908800614 | etot = -8.37462296871883 +297000 ekin = 1.54281493583582 | erot = 2.4515193186347 | epot = -12.3689572236279 | etot = -8.3746229691574 +298000 ekin = 1.55733608765083 | erot = 2.49306411731964 | epot = -12.4250231746877 | etot = -8.3746229697172 +299000 ekin = 1.57407386288216 | erot = 2.52498633848796 | epot = -12.4736831715335 | etot = -8.37462297016341 +300000 ekin = 1.59001535759976 | erot = 2.54349315182905 | epot = -12.5081314800013 | etot = -8.37462297057251 +301000 ekin = 1.60189886822585 | erot = 2.54585083166242 | epot = -12.5223726708135 | etot = -8.37462297092524 +302000 ekin = 1.60620251585571 | erot = 2.53039812867702 | epot = -12.5112236158409 | etot = -8.37462297130815 +303000 ekin = 1.59914065240547 | erot = 2.4959828099385 | epot = -12.4697464340451 | etot = -8.37462297170116 +304000 ekin = 1.57679795693713 | erot = 2.44177332378582 | epot = -12.3931942527977 | etot = -8.37462297207474 +305000 ekin = 1.53574304374 | erot = 2.36761905414264 | epot = -12.277985069966 | etot = -8.37462297208332 +306000 ekin = 1.47392866559566 | erot = 2.27453104047961 | epot = -12.1230826782581 | etot = -8.37462297218281 +307000 ekin = 1.39050823398525 | erot = 2.16376504506943 | epot = -11.9288962509197 | etot = -8.37462297186505 +308000 ekin = 1.28961522980533 | erot = 2.03977667258418 | epot = -11.7040148706627 | etot = -8.37462296827321 +309000 ekin = 1.0578293749373 | erot = 1.83361716570716 | epot = -11.2660695010511 | etot = -8.3746229604066 +310000 ekin = 1.14450415448801 | erot = 1.58483272602465 | epot = -11.1039598386899 | etot = -8.37462295817721 +311000 ekin = 1.41922601312433 | erot = 1.45460499880699 | epot = -11.2484540448416 | etot = -8.37462303291028 +312000 ekin = 1.45261330232124 | erot = 1.37611906651625 | epot = -11.2033554015516 | etot = -8.37462303271409 +313000 ekin = 1.4788437717407 | erot = 1.31854286229449 | epot = -11.1720096664209 | etot = -8.37462303238567 +314000 ekin = 1.49756299811573 | erot = 1.28320357876888 | epot = -11.1553896088945 | etot = -8.37462303200986 +315000 ekin = 1.51332559187976 | erot = 1.27043025389328 | epot = -11.1583788774964 | etot = -8.37462303172341 +316000 ekin = 1.5308006111801 | erot = 1.27925593275775 | epot = -11.1846795755428 | etot = -8.37462303160493 +317000 ekin = 1.55378721590878 | erot = 1.30719554367543 | epot = -11.235605791274 | etot = -8.37462303168982 +318000 ekin = 1.58370434541092 | erot = 1.34913652060449 | epot = -11.3074638985388 | etot = -8.3746230325234 +319000 ekin = 1.61943484148271 | erot = 1.39801478359314 | epot = -11.3920726581939 | etot = -8.37462303311803 +320000 ekin = 1.65864783760545 | erot = 1.4469667045913 | epot = -11.4802375759983 | etot = -8.37462303380153 +321000 ekin = 1.6976698384736 | erot = 1.48920524279123 | epot = -11.5614981157299 | etot = -8.3746230344651 +322000 ekin = 1.73222385846077 | erot = 1.51888544570781 | epot = -11.6257323391508 | etot = -8.37462303498217 +323000 ekin = 1.75834700852353 | erot = 1.53202956630854 | epot = -11.6649996100711 | etot = -8.37462303523908 +324000 ekin = 1.77324650046361 | erot = 1.52732597029569 | epot = -11.675195505928 | etot = -8.37462303516871 +325000 ekin = 1.77583924216996 | erot = 1.50655389358471 | epot = -11.6570161705554 | etot = -8.37462303480068 +326000 ekin = 1.76682929376892 | erot = 1.47436928283917 | epot = -11.6158216107568 | etot = -8.37462303414873 +327000 ekin = 1.74834602231152 | erot = 1.43794367202746 | epot = -11.5609127276999 | etot = -8.37462303336097 +328000 ekin = 1.7233110982126 | erot = 1.40578615079696 | epot = -11.5037202815778 | etot = -8.37462303256828 +329000 ekin = 1.69488797673405 | erot = 1.38635580023326 | epot = -11.455866808845 | etot = -8.37462303187764 +330000 ekin = 1.66566513334786 | erot = 1.38702252391897 | epot = -11.4273106886498 | etot = -8.374623031383 +331000 ekin = 1.63732185166234 | erot = 1.41331220646627 | epot = -11.4252570892353 | etot = -8.37462303110665 +332000 ekin = 1.61073968004048 | erot = 1.46826665363454 | epot = -11.4536293647323 | etot = -8.37462303105725 +333000 ekin = 1.58605232106548 | erot = 1.55220559043093 | epot = -11.5128809427306 | etot = -8.37462303123423 +334000 ekin = 1.56284415922383 | erot = 1.66255678080412 | epot = -11.6000239716191 | etot = -8.37462303159115 +335000 ekin = 1.54014240613874 | erot = 1.79443783502712 | epot = -11.7092032732476 | etot = -8.3746230320817 +336000 ekin = 1.51670455216665 | erot = 1.94117931563221 | epot = -11.8325069004485 | etot = -8.37462303264961 +337000 ekin = 1.49128277555588 | erot = 2.09492414345214 | epot = -11.9608299522436 | etot = -8.37462303323563 +338000 ekin = 1.46282625483081 | erot = 2.24735936520887 | epot = -12.0848086538234 | etot = -8.37462303378369 +339000 ekin = 1.43063896798345 | erot = 2.39044100153381 | epot = -12.1957030037652 | etot = -8.37462303424793 +340000 ekin = 1.39448012484058 | erot = 2.51702660358978 | epot = -12.2861297630267 | etot = -8.37462303459637 +341000 ekin = 1.35460313822272 | erot = 2.62135284037423 | epot = -12.3505790134091 | etot = -8.37462303481217 +342000 ekin = 1.3117393686306 | erot = 2.69933546749687 | epot = -12.3856978710184 | etot = -8.37462303489094 +343000 ekin = 1.26704159860242 | erot = 2.74871044551728 | epot = -12.3903750789562 | etot = -8.37462303483653 +344000 ekin = 1.22200654509503 | erot = 2.76906107654538 | epot = -12.3656906562963 | etot = -8.37462303465594 +345000 ekin = 1.17839357225705 | erot = 2.76177689465492 | epot = -12.3147935012698 | etot = -8.3746230343578 +346000 ekin = 1.13814730560313 | erot = 2.72996678569807 | epot = -12.2427371252553 | etot = -8.37462303395411 +347000 ekin = 1.10331757839141 | erot = 2.6783142195391 | epot = -12.1562548313944 | etot = -8.37462303346392 +348000 ekin = 1.07595787263662 | erot = 2.61283600667603 | epot = -12.0634169122307 | etot = -8.37462303291807 +349000 ekin = 1.05798147191725 | erot = 2.54050407789364 | epot = -11.9731085821725 | etot = -8.37462303236165 +350000 ekin = 1.05096760963778 | erot = 2.46871550807945 | epot = -11.8943061495688 | etot = -8.37462303185161 +351000 ekin = 1.05593437429309 | erot = 2.40463774697973 | epot = -11.8351951527212 | etot = -8.37462303144839 +352000 ekin = 1.07311971186499 | erot = 2.35449555191637 | epot = -11.8022382949886 | etot = -8.37462303120719 +353000 ekin = 1.10182415540818 | erot = 2.32288867128187 | epot = -11.7993358578585 | etot = -8.37462303116842 +354000 ekin = 1.14036300464704 | erot = 2.31223409502352 | epot = -11.8272201310208 | etot = -8.37462303135026 +355000 ekin = 1.18615564007902 | erot = 2.3224218596199 | epot = -11.8832005314417 | etot = -8.37462303174276 +356000 ekin = 1.23595386569949 | erot = 2.35076326964177 | epot = -11.9613401676474 | etot = -8.37462303230618 +357000 ekin = 1.28618457758726 | erot = 2.39228504524919 | epot = -12.0530926558101 | etot = -8.37462303297361 +358000 ekin = 1.33335672484132 | erot = 2.44036693764159 | epot = -12.1483466961437 | etot = -8.37462303366077 +359000 ekin = 1.37446611423607 | erot = 2.48763760748889 | epot = -12.236726756006 | etot = -8.37462303428102 +360000 ekin = 1.40733698540188 | erot = 2.52696891747013 | epot = -12.3089289376309 | etot = -8.3746230347589 +361000 ekin = 1.43085230117183 | erot = 2.55266032656637 | epot = -12.3581356626699 | etot = -8.37462303493173 +362000 ekin = 1.44498023419595 | erot = 2.56161192448288 | epot = -12.3812151936925 | etot = -8.37462303501363 +363000 ekin = 1.45080808015525 | erot = 2.55177253018898 | epot = -12.3772036452512 | etot = -8.37462303490697 +364000 ekin = 1.4504698206999 | erot = 2.52283864584182 | epot = -12.347931501182 | etot = -8.37462303464031 +365000 ekin = 1.44693366152056 | erot = 2.47609933176571 | epot = -12.2976560275495 | etot = -8.3746230342632 +366000 ekin = 1.44366094468055 | erot = 2.4140112633753 | epot = -12.2322952418927 | etot = -8.37462303383685 +367000 ekin = 1.44416618229195 | erot = 2.33969773429606 | epot = -12.1584869500116 | etot = -8.3746230334236 +368000 ekin = 1.45154164412086 | erot = 2.25648465084979 | epot = -12.0826493280444 | etot = -8.37462303307378 +369000 ekin = 1.46802482611048 | erot = 2.16757470029764 | epot = -12.0102225592251 | etot = -8.374623032817 +370000 ekin = 1.49468484157928 | erot = 2.07591739973036 | epot = -11.9452252739682 | etot = -8.37462303265854 +371000 ekin = 1.53128479294051 | erot = 1.98426522628833 | epot = -11.8901730518124 | etot = -8.37462303258357 +372000 ekin = 1.57634160155561 | erot = 1.89533626064572 | epot = -11.8463008947682 | etot = -8.37462303256687 +373000 ekin = 1.62736107596654 | erot = 1.81196417168862 | epot = -11.8139482802383 | etot = -8.37462303258315 +374000 ekin = 1.68119274504178 | erot = 1.73713269144164 | epot = -11.7929484690967 | etot = -8.37462303261329 +375000 ekin = 1.73444043052866 | erot = 1.67385884334747 | epot = -11.7829223065195 | etot = -8.3746230326434 +376000 ekin = 1.7838758614395 | erot = 1.62497473906432 | epot = -11.7834736331734 | etot = -8.37462303266957 +377000 ekin = 1.8264818609192 | erot = 1.59275354369267 | epot = -11.7938584374905 | etot = -8.3746230328786 +378000 ekin = 1.85889028460788 | erot = 1.57838589666728 | epot = -11.8118992141862 | etot = -8.37462303291103 +379000 ekin = 1.87974734421377 | erot = 1.58231910072918 | epot = -11.8366894778912 | etot = -8.3746230329482 +380000 ekin = 1.88876618247951 | erot = 1.60397852042908 | epot = -11.8673677359266 | etot = -8.37462303301803 +381000 ekin = 1.88634387025611 | erot = 1.64162253507735 | epot = -11.9025894384722 | etot = -8.37462303313873 +382000 ekin = 1.87329602399998 | erot = 1.69239968364376 | epot = -11.9403187409518 | etot = -8.37462303330804 +383000 ekin = 1.85067766912106 | erot = 1.75260724974019 | epot = -11.9779079523652 | etot = -8.37462303350397 +384000 ekin = 1.81972884480784 | erot = 1.81808771261072 | epot = -12.0124395911118 | etot = -8.37462303369321 +385000 ekin = 1.78192764777047 | erot = 1.8846313378676 | epot = -12.041182019504 | etot = -8.3746230338659 +386000 ekin = 1.73896117301596 | erot = 1.94830024178193 | epot = -12.0618844487821 | etot = -8.37462303398425 +387000 ekin = 1.69261703956648 | erot = 2.00550933075379 | epot = -12.0727494044584 | etot = -8.37462303413813 +388000 ekin = 1.64442362565029 | erot = 2.05290262288177 | epot = -12.0719492828234 | etot = -8.3746230342913 +389000 ekin = 1.59562809726279 | erot = 2.08769097010093 | epot = -12.0579421017191 | etot = -8.37462303435535 +390000 ekin = 1.54727258078745 | erot = 2.10804034821841 | epot = -12.0299359634133 | etot = -8.3746230344074 +391000 ekin = 1.50042668689197 | erot = 2.11301685840032 | epot = -11.9880665795736 | etot = -8.37462303428126 +392000 ekin = 1.45669956782597 | erot = 2.10352612083801 | epot = -11.9348487226021 | etot = -8.37462303393817 +393000 ekin = 1.41857599108996 | erot = 2.0826321347131 | epot = -11.8758311591979 | etot = -8.37462303339481 +394000 ekin = 1.3893261262781 | erot = 2.05528425943378 | epot = -11.8192334184605 | etot = -8.37462303274866 +395000 ekin = 1.37246101478385 | erot = 2.02739319427127 | epot = -11.7744772412142 | etot = -8.37462303215908 +396000 ekin = 1.3707890798786 | erot = 2.00445159240551 | epot = -11.749863704081 | etot = -8.37462303179692 +397000 ekin = 1.38538853999914 | erot = 1.9901130253752 | epot = -11.7501245971563 | etot = -8.37462303178196 +398000 ekin = 1.41490531161682 | erot = 1.98519641778307 | epot = -11.7747247615386 | etot = -8.37462303213875 +399000 ekin = 1.45547085036336 | erot = 1.98743025594694 | epot = -11.8175241391048 | etot = -8.37462303279453 +400000 ekin = 1.50126526406668 | erot = 1.99196444869264 | epot = -11.8678527463719 | etot = -8.37462303361261 +401000 ekin = 1.54549713891568 | erot = 1.99242148352413 | epot = -11.9125416568766 | etot = -8.37462303443679 +402000 ekin = 1.58148802753477 | erot = 1.98217540610567 | epot = -11.9382864687619 | etot = -8.37462303512143 +403000 ekin = 1.60364407572881 | erot = 1.9556344645944 | epot = -11.9339015758642 | etot = -8.37462303554099 +404000 ekin = 1.60823718231487 | erot = 1.90940860689026 | epot = -11.8922688248051 | etot = -8.37462303559999 +405000 ekin = 1.59393186875452 | erot = 1.84321418438557 | epot = -11.8117690883978 | etot = -8.37462303525771 +406000 ekin = 1.56197926550493 | erot = 1.76026394072102 | epot = -11.696866240782 | etot = -8.37462303455608 +407000 ekin = 1.51595319782311 | erot = 1.66689496115276 | epot = -11.5574711925966 | etot = -8.37462303362071 +408000 ekin = 1.46103089399052 | erot = 1.57144700034413 | epot = -11.4071009269554 | etot = -8.37462303262075 +409000 ekin = 1.40302353808213 | erot = 1.48274963105035 | epot = -11.2603962008455 | etot = -8.37462303171298 +410000 ekin = 1.34747963365293 | erot = 1.40871679572301 | epot = -11.1308194603669 | etot = -8.37462303099097 +411000 ekin = 1.24142842928345 | erot = 1.3676589102725 | epot = -10.983710354595 | etot = -8.37462301503906 +412000 ekin = 1.07606206466684 | erot = 1.44463891803659 | epot = -10.895323988422 | etot = -8.37462300571856 +413000 ekin = 1.0469492246958 | erot = 1.51102600613229 | epot = -10.9325982588143 | etot = -8.37462302798624 +414000 ekin = 1.03606467090329 | erot = 1.52895884328701 | epot = -10.9396465423135 | etot = -8.37462302812324 +415000 ekin = 1.03698178421953 | erot = 1.56970634086083 | epot = -10.9813111534877 | etot = -8.37462302840732 +416000 ekin = 1.04842794421656 | erot = 1.63005774223169 | epot = -11.0531087152564 | etot = -8.37462302880815 +417000 ekin = 1.06841333535611 | erot = 1.70571770479117 | epot = -11.1487540694412 | etot = -8.37462302929392 +418000 ekin = 1.09444701005052 | erot = 1.79158405306285 | epot = -11.2606540929514 | etot = -8.374623029838 +419000 ekin = 1.12371544113025 | erot = 1.88200392342439 | epot = -11.3803423949703 | etot = -8.37462303041567 +420000 ekin = 1.15322596863697 | erot = 1.97103956947911 | epot = -11.4988885691119 | etot = -8.37462303099584 +421000 ekin = 1.17996638670183 | erot = 2.05281125535609 | epot = -11.6074006735882 | etot = -8.37462303153032 +422000 ekin = 1.201150629811 | erot = 2.12197272517913 | epot = -11.6977463869433 | etot = -8.37462303195322 +423000 ekin = 1.21456879342709 | erot = 2.17429924607153 | epot = -11.7634910716962 | etot = -8.37462303219755 +424000 ekin = 1.21895541018766 | erot = 2.20725430505394 | epot = -11.8008327474642 | etot = -8.37462303222256 +425000 ekin = 1.21420953470709 | erot = 2.22030001430835 | epot = -11.8091325810571 | etot = -8.37462303204169 +426000 ekin = 1.20134505265786 | erot = 2.21476142814848 | epot = -11.7907295125128 | etot = -8.37462303170646 +427000 ekin = 1.18219319315386 | erot = 2.19340434236612 | epot = -11.7502205668101 | etot = -8.37462303129015 +428000 ekin = 1.15899921940896 | erot = 2.15981652249743 | epot = -11.6934387727642 | etot = -8.37462303085781 +429000 ekin = 1.13415683500777 | erot = 2.11790831242985 | epot = -11.626688176254 | etot = -8.37462302881639 +430000 ekin = 1.11403963820945 | erot = 2.07460238347142 | epot = -11.5632650504412 | etot = -8.37462302876033 +431000 ekin = 1.10124843427927 | erot = 2.03325324115979 | epot = -11.5091247042067 | etot = -8.37462302876769 +432000 ekin = 1.09509673682025 | erot = 1.9941469470348 | epot = -11.463866712691 | etot = -8.3746230288359 +433000 ekin = 1.09463609314599 | erot = 1.9571134858218 | epot = -11.4263726079113 | etot = -8.37462302894346 +434000 ekin = 1.09809472012928 | erot = 1.92111283569796 | epot = -11.3938305852077 | etot = -8.37462302938051 +435000 ekin = 1.10341624338772 | erot = 1.8849214283028 | epot = -11.3629607010957 | etot = -8.37462302940516 +436000 ekin = 1.11020757162788 | erot = 1.84854231975879 | epot = -11.3333729208359 | etot = -8.37462302944924 +437000 ekin = 1.11803889537718 | erot = 1.81186902511188 | epot = -11.3045309499972 | etot = -8.37462302950813 +438000 ekin = 1.12642172160212 | erot = 1.77470718111906 | epot = -11.2757519322947 | etot = -8.37462302957348 +439000 ekin = 1.13485148153857 | erot = 1.73686282079504 | epot = -11.2463373319668 | etot = -8.37462302963316 +440000 ekin = 1.14287335820557 | erot = 1.69826079507258 | epot = -11.2157571829501 | etot = -8.37462302967201 +441000 ekin = 1.15016795453 | erot = 1.65908318343106 | epot = -11.1838741676308 | etot = -8.37462302966978 +442000 ekin = 1.15664284201482 | erot = 1.6199231351832 | epot = -11.1511890068214 | etot = -8.37462302962339 +443000 ekin = 1.16253418069017 | erot = 1.58179210099589 | epot = -11.1189493112081 | etot = -8.37462302952203 +444000 ekin = 1.16846798531274 | erot = 1.54614466613438 | epot = -11.0892356808159 | etot = -8.37462302936875 +445000 ekin = 1.17546820346638 | erot = 1.51479732961113 | epot = -11.0648885622563 | etot = -8.37462302917878 +446000 ekin = 1.18488743024717 | erot = 1.48973802088361 | epot = -11.0492484801107 | etot = -8.37462302897993 +447000 ekin = 1.19824347153684 | erot = 1.4728428998067 | epot = -11.045709400153 | etot = -8.37462302880946 +448000 ekin = 1.21696535091614 | erot = 1.46554765995659 | epot = -11.057136039583 | etot = -8.37462302871022 +449000 ekin = 1.24207954598622 | erot = 1.4685127109392 | epot = -11.0852152856451 | etot = -8.37462302871963 +450000 ekin = 1.27389445230429 | erot = 1.48136016742347 | epot = -11.1298776485977 | etot = -8.37462302886998 +451000 ekin = 1.31179903842897 | erot = 1.50255470267787 | epot = -11.1889767701169 | etot = -8.37462302901007 +452000 ekin = 1.35460859520486 | erot = 1.52989164327214 | epot = -11.2591232679092 | etot = -8.37462302943224 +453000 ekin = 1.39989469250173 | erot = 1.55983588432776 | epot = -11.3343536067683 | etot = -8.37462302993882 +454000 ekin = 1.44437957549661 | erot = 1.58822152329951 | epot = -11.4072241292539 | etot = -8.37462303045782 +455000 ekin = 1.48456015878224 | erot = 1.61103616004378 | epot = -11.4702193497299 | etot = -8.37462303090385 +456000 ekin = 1.51733329615318 | erot = 1.62510652435346 | epot = -11.517062851697 | etot = -8.37462303119032 +457000 ekin = 1.5402924579761 | erot = 1.62854015385613 | epot = -11.5434556431069 | etot = -8.37462303127466 +458000 ekin = 1.55209787062734 | erot = 1.62122255615373 | epot = -11.5479434578271 | etot = -8.37462303104604 +459000 ekin = 1.55414659187724 | erot = 1.60571991112735 | epot = -11.534489533587 | etot = -8.37462303058242 +460000 ekin = 1.54960099436809 | erot = 1.58640018749714 | epot = -11.5106242118318 | etot = -8.37462302996654 +461000 ekin = 1.54273124224903 | erot = 1.56872252266296 | epot = -11.4860767942369 | etot = -8.37462302932495 +462000 ekin = 1.53795589449111 | erot = 1.5582592991952 | epot = -11.4708382224909 | etot = -8.37462302880455 +463000 ekin = 1.53875903307997 | erot = 1.55959299575739 | epot = -11.4729750573638 | etot = -8.3746230285264 +464000 ekin = 1.5468202951189 | erot = 1.57534186894895 | epot = -11.4967851926234 | etot = -8.37462302855553 +465000 ekin = 1.5616294650255 | erot = 1.60564212072996 | epot = -11.5418946146276 | etot = -8.37462302887219 +466000 ekin = 1.58070265304393 | erot = 1.64822662156127 | epot = -11.603552303988 | etot = -8.37462302938276 +467000 ekin = 1.60035208027376 | erot = 1.69905719079026 | epot = -11.6740323010118 | etot = -8.37462302994776 +468000 ekin = 1.61673623107391 | erot = 1.75335443246779 | epot = -11.7447136939717 | etot = -8.37462303042997 +469000 ekin = 1.6268308500714 | erot = 1.80670922025666 | epot = -11.8081631010573 | etot = -8.37462303072922 +470000 ekin = 1.62907239972708 | erot = 1.85596584024088 | epot = -11.8596612707757 | etot = -8.37462303080778 +471000 ekin = 1.62354687373172 | erot = 1.89966129170781 | epot = -11.8978311961317 | etot = -8.37462303069216 +472000 ekin = 1.61170510379399 | erot = 1.93800410341128 | epot = -11.9243322376449 | etot = -8.37462303043963 +473000 ekin = 1.59590324450823 | erot = 1.97246730642068 | epot = -11.942993581055 | etot = -8.37462303012609 +474000 ekin = 1.57886523181115 | erot = 2.0052614988155 | epot = -11.9587497604446 | etot = -8.3746230298179 +475000 ekin = 1.56312071578843 | erot = 2.03882982960528 | epot = -11.9765735749592 | etot = -8.37462302956554 +476000 ekin = 1.55063074695033 | erot = 2.07545668637289 | epot = -12.0007104627126 | etot = -8.37462302938941 +477000 ekin = 1.54263588410755 | erot = 2.1170423117264 | epot = -12.0343012251352 | etot = -8.37462302930124 +478000 ekin = 1.53956151541937 | erot = 2.16493101565526 | epot = -12.0791155603799 | etot = -8.37462302930528 +479000 ekin = 1.54104337297899 | erot = 2.21977101927769 | epot = -12.1354374216606 | etot = -8.37462302940391 +480000 ekin = 1.54600976096935 | erot = 2.28138261400517 | epot = -12.2020154045697 | etot = -8.37462302959523 +481000 ekin = 1.5528060602472 | erot = 2.34867771789131 | epot = -12.2761068080046 | etot = -8.37462302986605 +482000 ekin = 1.55937339634702 | erot = 2.41971772771426 | epot = -12.3537141542448 | etot = -8.3746230301835 +483000 ekin = 1.56350104452675 | erot = 2.49198464322954 | epot = -12.4301087182516 | etot = -8.37462303049528 +484000 ekin = 1.56314467772452 | erot = 2.56280026280573 | epot = -12.5005679712779 | etot = -8.37462303074763 +485000 ekin = 1.55677099189244 | erot = 2.62990187864922 | epot = -12.5612959014245 | etot = -8.37462303088287 +486000 ekin = 1.54362230241359 | erot = 2.69196691951186 | epot = -12.6102122528172 | etot = -8.37462303089175 +487000 ekin = 1.5238104379152 | erot = 2.74866369544762 | epot = -12.6470971641607 | etot = -8.37462303079786 +488000 ekin = 1.49822858843879 | erot = 2.80041322794163 | epot = -12.6732648470306 | etot = -8.37462303065017 +489000 ekin = 1.46832177710635 | erot = 2.84792010719105 | epot = -12.6908649147994 | etot = -8.37462303050195 +490000 ekin = 1.43580907600596 | erot = 2.89167668868156 | epot = -12.7021087950802 | etot = -8.37462303039268 +491000 ekin = 1.40244626498158 | erot = 2.9316206813094 | epot = -12.7086899766291 | etot = -8.37462303033812 +492000 ekin = 1.36987596423118 | erot = 2.96703118868649 | epot = -12.7115301832508 | etot = -8.37462303033312 +493000 ekin = 1.33956200675437 | erot = 2.99664446239339 | epot = -12.7108294995088 | etot = -8.37462303036106 +494000 ekin = 1.3127681632086 | erot = 3.01889804551742 | epot = -12.7062892391324 | etot = -8.37462303040635 +495000 ekin = 1.29052832589597 | erot = 3.03218505524697 | epot = -12.6973364116059 | etot = -8.37462303046299 +496000 ekin = 1.27356858864283 | erot = 3.0350229857791 | epot = -12.6832146049601 | etot = -8.37462303053819 +497000 ekin = 1.26217859738849 | erot = 3.02610963123598 | epot = -12.6629112592681 | etot = -8.37462303064358 +498000 ekin = 1.25609176092335 | erot = 3.00437387242604 | epot = -12.6350886640705 | etot = -8.37462303072112 +499000 ekin = 1.25448433544045 | erot = 2.96925958209619 | epot = -12.5983669483989 | etot = -8.37462303086226 +500000 ekin = 1.25592311954879 | erot = 2.92052794168349 | epot = -12.5510740922054 | etot = -8.37462303097314 +501000 ekin = 1.25866262015632 | erot = 2.85877857413469 | epot = -12.4920642252919 | etot = -8.37462303100091 +502000 ekin = 1.2610103010417 | erot = 2.78589367847612 | epot = -12.421527010423 | etot = -8.3746230309052 +503000 ekin = 1.26168224098171 | erot = 2.70525686265903 | epot = -12.3415621343142 | etot = -8.37462303067344 +504000 ekin = 1.26006875272983 | erot = 2.62162663921981 | epot = -12.2563184222836 | etot = -8.37462303033399 +505000 ekin = 1.25635230634192 | erot = 2.5406610185081 | epot = -12.1716363547687 | etot = -8.3746230299187 +506000 ekin = 1.25147361583174 | erot = 2.46829686832129 | epot = -12.0943935136462 | etot = -8.37462302949319 +507000 ekin = 1.24695832252164 | erot = 2.40991559866122 | epot = -12.0314969503117 | etot = -8.37462302912883 +508000 ekin = 1.24460011261649 | erot = 2.36947588934202 | epot = -11.9886990309674 | etot = -8.37462302900885 +509000 ekin = 1.24584437164828 | erot = 2.34837731731217 | epot = -11.9688447179543 | etot = -8.37462302899384 +510000 ekin = 1.25172041123361 | erot = 2.34550382347579 | epot = -11.9718472639353 | etot = -8.37462302922588 +511000 ekin = 1.26248317250715 | erot = 2.35680066398031 | epot = -11.9939068661965 | etot = -8.37462302970907 +512000 ekin = 1.27739486770184 | erot = 2.3752978884897 | epot = -12.0273157865857 | etot = -8.37462303039418 +513000 ekin = 1.29481021504986 | erot = 2.39185405428514 | epot = -12.0612873005101 | etot = -8.37462303117506 +514000 ekin = 1.31250889880426 | erot = 2.39651406027419 | epot = -12.0836459909739 | etot = -8.37462303189546 +515000 ekin = 1.32825052581585 | erot = 2.38037057726031 | epot = -12.0832441354508 | etot = -8.37462303237461 +516000 ekin = 1.34045831429004 | erot = 2.33760267994477 | epot = -12.0526840266922 | etot = -8.37462303245741 +517000 ekin = 1.34883924084187 | erot = 2.26713155444233 | epot = -11.9905938273613 | etot = -8.37462303207706 +518000 ekin = 1.35468550683679 | erot = 2.17326127006567 | epot = -11.9025698081983 | etot = -8.37462303129585 +519000 ekin = 1.36067339624038 | erot = 2.06494828515103 | epot = -11.8002447116801 | etot = -8.37462303028865 +520000 ekin = 1.37018582822438 | erot = 1.95390329836061 | epot = -11.6987121558631 | etot = -8.3746230292781 +521000 ekin = 1.38639579380191 | erot = 1.85221057840952 | epot = -11.6132294006716 | etot = -8.37462302846015 +522000 ekin = 1.41141432490479 | erot = 1.77022445533383 | epot = -11.5562618081968 | etot = -8.37462302795815 +523000 ekin = 1.44572356453344 | erot = 1.71520045870257 | epot = -11.5355470510526 | etot = -8.37462302781656 +524000 ekin = 1.48798145409679 | erot = 1.69073008317396 | epot = -11.5533345652857 | etot = -8.37462302801491 +525000 ekin = 1.53517683781673 | erot = 1.6968029606332 | epot = -11.6066028269435 | etot = -8.37462302849353 +526000 ekin = 1.58304900119248 | erot = 1.73025509475185 | epot = -11.6879271251181 | etot = -8.37462302917376 +527000 ekin = 1.62665879649442 | erot = 1.78540941264019 | epot = -11.7866912391056 | etot = -8.374623029971 +528000 ekin = 1.66100783108954 | erot = 1.8548065480344 | epot = -11.890437409923 | etot = -8.37462303079904 +529000 ekin = 1.68163863412964 | erot = 1.93001159413482 | epot = -11.9862732598315 | etot = -8.37462303156707 +530000 ekin = 1.6851862302745 | erot = 2.00252460865783 | epot = -12.0623338711126 | etot = -8.37462303218029 +531000 ekin = 1.66986059685934 | erot = 2.06478669656075 | epot = -12.1092703259691 | etot = -8.374623032549 +532000 ekin = 1.63581226896463 | erot = 2.1111667918467 | epot = -12.1216020934218 | etot = -8.37462303261044 +533000 ekin = 1.58529617178013 | erot = 2.13870511838882 | epot = -12.0986243225211 | etot = -8.37462303235218 +534000 ekin = 1.52254564095829 | erot = 2.14737698822929 | epot = -12.0445456610111 | etot = -8.37462303182353 +535000 ekin = 1.45332420577031 | erot = 2.13977370493955 | epot = -11.9677209418325 | etot = -8.37462303112261 +536000 ekin = 1.38421691011895 | erot = 2.12031314070428 | epot = -11.8791530811919 | etot = -8.37462303036864 +537000 ekin = 1.32180342899929 | erot = 2.09425520394406 | epot = -11.7906816626133 | etot = -8.37462302966991 +538000 ekin = 1.27187743420573 | erot = 2.06681107588934 | epot = -11.7133115391993 | etot = -8.37462302910426 +539000 ekin = 1.23883846279537 | erot = 2.04251647933667 | epot = -11.6559779708476 | etot = -8.37462302871558 +540000 ekin = 1.22531302703425 | erot = 2.02488499742798 | epot = -11.6248210529832 | etot = -8.37462302852096 +541000 ekin = 1.23199882291205 | erot = 2.01625749304676 | epot = -11.6228793444808 | etot = -8.37462302852195 +542000 ekin = 1.25769219451248 | erot = 2.01774880495238 | epot = -11.6500640281746 | etot = -8.37462302870978 +543000 ekin = 1.29945731407308 | erot = 2.02924170402515 | epot = -11.7033220471641 | etot = -8.37462302906591 +544000 ekin = 1.35291512122318 | erot = 2.04944893327204 | epot = -11.7769870840498 | etot = -8.37462302955459 +545000 ekin = 1.41265384122289 | erot = 2.07611668223704 | epot = -11.8633935535769 | etot = -8.37462303011699 +546000 ekin = 1.47277167575315 | erot = 2.10644216881038 | epot = -11.9538368752322 | etot = -8.37462303066866 +547000 ekin = 1.52754093319635 | erot = 2.13770468829281 | epot = -12.0398686526028 | etot = -8.37462303111365 +548000 ekin = 1.57213155238919 | erot = 2.16798237176649 | epot = -12.1147369555237 | etot = -8.37462303136797 +549000 ekin = 1.60327488859445 | erot = 2.19671767496084 | epot = -12.1746155949423 | etot = -8.37462303138697 +550000 ekin = 1.61972434376709 | erot = 2.22489244333565 | epot = -12.219239818284 | etot = -8.37462303118126 +551000 ekin = 1.62240013870483 | erot = 2.25470593136133 | epot = -12.2517291008792 | etot = -8.37462303081309 +552000 ekin = 1.61417495562361 | erot = 2.28884205647118 | epot = -12.2776400424738 | etot = -8.37462303037905 +553000 ekin = 1.59932782091749 | erot = 2.32954987377768 | epot = -12.3035007246832 | etot = -8.37462302998807 +554000 ekin = 1.5827459906671 | erot = 2.3777881761324 | epot = -12.3351571965401 | etot = -8.37462302974062 +555000 ekin = 1.56899856385031 | erot = 2.43263226771804 | epot = -12.3762538612779 | etot = -8.37462302970954 +556000 ekin = 1.56145041157602 | erot = 2.49106505511668 | epot = -12.4271384966169 | etot = -8.37462302992416 +557000 ekin = 1.56197837218677 | erot = 2.54829507223601 | epot = -12.4848964746456 | etot = -8.37462303022277 +558000 ekin = 1.57029216551734 | erot = 2.59810209182387 | epot = -12.5430172882088 | etot = -8.37462303086757 +559000 ekin = 1.58339818320791 | erot = 2.63367391511495 | epot = -12.5916951298592 | etot = -8.3746230315363 +560000 ekin = 1.59712770481022 | erot = 2.64904697988658 | epot = -12.6207977168081 | etot = -8.37462303211135 +561000 ekin = 1.60698123343006 | erot = 2.64009683894503 | epot = -12.6217011048634 | etot = -8.37462303248831 +562000 ekin = 1.60896027782097 | erot = 2.60532700120818 | epot = -12.5889103116217 | etot = -8.37462303259257 +563000 ekin = 1.60023696633043 | erot = 2.54649193869621 | epot = -12.5213519373451 | etot = -8.37462303231848 +564000 ekin = 1.57955774677214 | erot = 2.46891092806291 | epot = -12.4230917066634 | etot = -8.37462303182835 +565000 ekin = 1.54734561566674 | erot = 2.38031455632116 | epot = -12.3022832030957 | etot = -8.3746230311078 +566000 ekin = 1.5055446855442 | erot = 2.29049479450215 | epot = -12.1706625102933 | etot = -8.37462303024697 +567000 ekin = 1.45732250665219 | erot = 2.21025028826183 | epot = -12.0421958242629 | etot = -8.37462302934887 +568000 ekin = 1.40671207380929 | erot = 2.15003703753047 | epot = -11.9313721398977 | etot = -8.3746230285579 +569000 ekin = 1.35794157949263 | erot = 2.11775595086814 | epot = -11.8503205583487 | etot = -8.37462302798794 +570000 ekin = 1.31523212119468 | erot = 2.11799693943003 | epot = -11.8078520883709 | etot = -8.37462302774614 +571000 ekin = 1.28243871605086 | erot = 2.15081941192853 | epot = -11.8078811559413 | etot = -8.37462302796192 +572000 ekin = 1.26220633019376 | erot = 2.2102703424972 | epot = -11.8470997013807 | etot = -8.37462302868972 +573000 ekin = 1.25525341535257 | erot = 2.28456705415208 | epot = -11.9144434992943 | etot = -8.37462302978967 +574000 ekin = 1.26030251434112 | erot = 2.35813787036021 | epot = -11.9930634156831 | etot = -8.37462303098173 +575000 ekin = 1.2747321562316 | erot = 2.41511328226678 | epot = -12.0644684704335 | etot = -8.37462303193515 +576000 ekin = 1.29562562245951 | erot = 2.44294920216406 | epot = -12.1131978571128 | etot = -8.37462303248922 +577000 ekin = 1.32065634432137 | erot = 2.4343858678001 | epot = -12.129665244697 | etot = -8.37462303257555 +578000 ekin = 1.34847271375488 | erot = 2.38804498568619 | epot = -12.1111407317151 | etot = -8.37462303227407 +579000 ekin = 1.37859640731489 | erot = 2.30759327889185 | epot = -12.0608127179344 | etot = -8.37462303172763 +580000 ekin = 1.41115339286507 | erot = 2.20016188412019 | epot = -11.9859383079394 | etot = -8.37462303095417 +581000 ekin = 1.44674776515311 | erot = 2.07475133368239 | epot = -11.8961221291764 | etot = -8.3746230303409 +582000 ekin = 1.4851482181056 | erot = 1.94050793885046 | epot = -11.8002791867472 | etot = -8.37462302979113 +583000 ekin = 1.52576266955674 | erot = 1.80603709651288 | epot = -11.7064227954087 | etot = -8.37462302933907 +584000 ekin = 1.56772288057633 | erot = 1.67887072897788 | epot = -11.6212166385574 | etot = -8.37462302900324 +585000 ekin = 1.60990333959043 | erot = 1.56509115871858 | epot = -11.5496175271048 | etot = -8.37462302879577 +586000 ekin = 1.65096359832029 | erot = 1.46905708282353 | epot = -11.4946437098695 | etot = -8.37462302872568 +587000 ekin = 1.68940411634564 | erot = 1.39319741551335 | epot = -11.4572245606547 | etot = -8.37462302879574 +588000 ekin = 1.7236417052592 | erot = 1.33790137443014 | epot = -11.4361661086849 | etot = -8.37462302899558 +589000 ekin = 1.75212209151151 | erot = 1.30158756259673 | epot = -11.4283326833832 | etot = -8.37462302927499 +590000 ekin = 1.7734877690591 | erot = 1.28111987725434 | epot = -11.4292306759286 | etot = -8.37462302961515 +591000 ekin = 1.78679652583164 | erot = 1.27228388602452 | epot = -11.4337034417691 | etot = -8.37462302991292 +592000 ekin = 1.79174476961307 | erot = 1.27074179820056 | epot = -11.4371095979203 | etot = -8.37462303010663 +593000 ekin = 1.78882244318556 | erot = 1.27295060806053 | epot = -11.4363960813899 | etot = -8.37462303014385 +594000 ekin = 1.77931578999128 | erot = 1.27682752830015 | epot = -11.4307663483171 | etot = -8.37462303002563 +595000 ekin = 1.76511936071165 | erot = 1.28196044220613 | epot = -11.4217028327155 | etot = -8.37462302979776 +596000 ekin = 1.74839643258916 | erot = 1.28931412525878 | epot = -11.4123335873789 | etot = -8.37462302953091 +597000 ekin = 1.73114837528962 | erot = 1.30076368908067 | epot = -11.4065350936649 | etot = -8.37462302929462 +598000 ekin = 1.71482586357112 | erot = 1.31808503745119 | epot = -11.4075339301702 | etot = -8.37462302914792 +599000 ekin = 1.70035612855311 | erot = 1.34256499056023 | epot = -11.4175441481798 | etot = -8.37462302906646 +600000 ekin = 1.68813838895978 | erot = 1.37518403996367 | epot = -11.4379454579681 | etot = -8.37462302904461 +601000 ekin = 1.67802155271441 | erot = 1.41656361607937 | epot = -11.4692081979158 | etot = -8.37462302912207 +602000 ekin = 1.66952241262264 | erot = 1.4666430273455 | epot = -11.5107884691303 | etot = -8.37462302916217 +603000 ekin = 1.66207455080015 | erot = 1.52486246590599 | epot = -11.5615600459972 | etot = -8.3746230292911 +604000 ekin = 1.65429274424403 | erot = 1.59090716726236 | epot = -11.6198229408972 | etot = -8.37462302939085 +605000 ekin = 1.64513458460529 | erot = 1.66451963176718 | epot = -11.6842772458403 | etot = -8.37462302946786 +606000 ekin = 1.63397297141698 | erot = 1.74533329764484 | epot = -11.7539292986205 | etot = -8.3746230295587 +607000 ekin = 1.62046446185711 | erot = 1.83246852419141 | epot = -11.8275560158107 | etot = -8.37462302976218 +608000 ekin = 1.60415138615035 | erot = 1.92384516554888 | epot = -11.9026195817841 | etot = -8.37462303008485 +609000 ekin = 1.58416607277181 | erot = 2.01562004721373 | epot = -11.9744091506942 | etot = -8.37462303070865 +610000 ekin = 1.55892234884572 | erot = 2.10126039812651 | epot = -12.0348057783744 | etot = -8.37462303140216 +611000 ekin = 1.52586403282394 | erot = 2.17351542350385 | epot = -12.0740024883752 | etot = -8.37462303204737 +612000 ekin = 1.48252796781607 | erot = 2.22604744671485 | epot = -12.08319844693 | etot = -8.37462303239904 +613000 ekin = 1.42777710478085 | erot = 2.25549715886452 | epot = -12.0578972959105 | etot = -8.37462303226511 +614000 ekin = 1.3628430267639 | erot = 2.26309761368147 | epot = -12.0005636720633 | etot = -8.3746230316179 +615000 ekin = 1.29166682111812 | erot = 2.25472033316445 | epot = -11.9210101848959 | etot = -8.37462303061333 +616000 ekin = 1.22033159946011 | erot = 2.23929049959926 | epot = -11.8342451285637 | etot = -8.37462302950437 +617000 ekin = 1.15585313013231 | erot = 2.22643765863228 | epot = -11.7569138172907 | etot = -8.3746230285261 +618000 ekin = 1.10482633868852 | erot = 2.22445549379376 | epot = -11.7039048603085 | etot = -8.37462302782626 +619000 ekin = 1.07233800596022 | erot = 2.23915844396351 | epot = -11.6861194773919 | etot = -8.37462302746814 +620000 ekin = 1.06133969548983 | erot = 2.27356598266004 | epot = -11.7095287055634 | etot = -8.37462302741356 +621000 ekin = 1.07250328126401 | erot = 2.32827640438157 | epot = -11.7754027132578 | etot = -8.37462302761218 +622000 ekin = 1.1044829924491 | erot = 2.40202886261627 | epot = -11.8811348830564 | etot = -8.374623027991 +623000 ekin = 1.15443583440766 | erot = 2.49214268564081 | epot = -12.0212015485464 | etot = -8.37462302849796 +624000 ekin = 1.21858504498424 | erot = 2.5947997927632 | epot = -12.18800786685 | etot = -8.37462302910256 +625000 ekin = 1.29260009293184 | erot = 2.70513041487812 | epot = -12.3723535376525 | etot = -8.37462302984255 +626000 ekin = 1.37166908701492 | erot = 2.81669294847818 | epot = -12.5629850662672 | etot = -8.37462303077413 +627000 ekin = 1.45036408326109 | erot = 2.92095656626005 | epot = -12.7459436814237 | etot = -8.37462303190255 +628000 ekin = 1.52265779658264 | erot = 3.00738157699458 | epot = -12.9046624066692 | etot = -8.37462303309196 +629000 ekin = 1.58251554245296 | erot = 3.06484099788415 | epot = -13.0219795743847 | etot = -8.3746230340476 +630000 ekin = 1.62514418880762 | erot = 3.08443014421921 | epot = -13.0841973674672 | etot = -8.37462303444039 +631000 ekin = 1.64954255051894 | erot = 3.06336922299649 | epot = -13.0875348072763 | etot = -8.37462303376085 +632000 ekin = 1.65761419154519 | erot = 3.00573585957028 | epot = -13.0379730840961 | etot = -8.37462303298061 +633000 ekin = 1.6517479509391 | erot = 2.91965232775885 | epot = -12.9460233106084 | etot = -8.37462303191049 +634000 ekin = 1.63566753657902 | erot = 2.81604656740808 | epot = -12.8263371348676 | etot = -8.3746230308805 +635000 ekin = 1.61303222683961 | erot = 2.70552755469806 | epot = -12.6931828116427 | etot = -8.37462303010504 +636000 ekin = 1.58646965555962 | erot = 2.5963371949764 | epot = -12.5574298801698 | etot = -8.37462302963381 +637000 ekin = 1.55730595136398 | erot = 2.49385627804023 | epot = -12.4257852588016 | etot = -8.37462302939739 +638000 ekin = 1.52584911625133 | erot = 2.40123459740287 | epot = -12.3017067429364 | etot = -8.37462302928216 +639000 ekin = 1.49192497641185 | erot = 2.32043250456993 | epot = -12.1869805101672 | etot = -8.37462302918542 +640000 ekin = 1.45541378442356 | erot = 2.25314232064229 | epot = -12.0831791341069 | etot = -8.374623029041 +641000 ekin = 1.41664919926921 | erot = 2.20135144253767 | epot = -11.9926236706291 | etot = -8.37462302882226 +642000 ekin = 1.376631358572 | erot = 2.16751840710179 | epot = -11.918772794211 | etot = -8.37462302853725 +643000 ekin = 1.33719601643057 | erot = 2.15436138730356 | epot = -11.8661804319133 | etot = -8.37462302817919 +644000 ekin = 1.30095460066741 | erot = 2.16433354913846 | epot = -11.839911177714 | etot = -8.37462302790811 +645000 ekin = 1.27009047740861 | erot = 2.19964354153175 | epot = -11.8443570466466 | etot = -8.37462302770626 +646000 ekin = 1.24673444984187 | erot = 2.26154821905476 | epot = -11.8829056965369 | etot = -8.37462302764027 +647000 ekin = 1.23265873216219 | erot = 2.34972644270293 | epot = -11.9570082026423 | etot = -8.37462302777716 +648000 ekin = 1.2285470414815 | erot = 2.46146984669589 | epot = -12.0646399168505 | etot = -8.37462302867306 +649000 ekin = 1.2312343827645 | erot = 2.5891828411036 | epot = -12.1950402535055 | etot = -8.37462302963742 +650000 ekin = 1.23733747326857 | erot = 2.72274115030274 | epot = -12.3347016542761 | etot = -8.37462303070479 +651000 ekin = 1.2428991851106 | erot = 2.85114575375435 | epot = -12.4686679705912 | etot = -8.37462303172626 +652000 ekin = 1.24424620799569 | erot = 2.96370857038951 | epot = -12.582577810847 | etot = -8.37462303246178 +653000 ekin = 1.23918232849206 | erot = 3.05217314602615 | epot = -12.6659785072747 | etot = -8.37462303275648 +654000 ekin = 1.22772861476413 | erot = 3.11212236728161 | epot = -12.7144740146629 | etot = -8.37462303261719 +655000 ekin = 1.21201905899387 | erot = 3.14303840851451 | epot = -12.7296804996997 | etot = -8.37462303219133 +656000 ekin = 1.1954374432854 | erot = 3.14720435564397 | epot = -12.7172648305973 | etot = -8.37462303166789 +657000 ekin = 1.18149305106227 | erot = 3.12826014301131 | epot = -12.6843762252558 | etot = -8.37462303118225 +658000 ekin = 1.17296379520024 | erot = 3.09016086422142 | epot = -12.6377476902079 | etot = -8.37462303078623 +659000 ekin = 1.17154758057418 | erot = 3.03675236921232 | epot = -12.582922980259 | etot = -8.37462303047247 +660000 ekin = 1.17794903027368 | erot = 2.97172379744613 | epot = -12.5242958579375 | etot = -8.37462303021774 +661000 ekin = 1.19217998580361 | erot = 2.89858436848302 | epot = -12.465387384301 | etot = -8.37462303001441 +662000 ekin = 1.21385724617909 | erot = 2.8204360835798 | epot = -12.4089163596437 | etot = -8.37462302988477 +663000 ekin = 1.24235148672387 | erot = 2.73948706946881 | epot = -12.3564615860714 | etot = -8.3746230298787 +664000 ekin = 1.27672733537756 | erot = 2.65640555000488 | epot = -12.3077559154361 | etot = -8.37462303005371 +665000 ekin = 1.3155133703301 | erot = 2.56977925410127 | epot = -12.259915654865 | etot = -8.37462303043361 +666000 ekin = 1.35644708325268 | erot = 2.47610382427562 | epot = -12.2071739384901 | etot = -8.37462303096184 +667000 ekin = 1.39640549571966 | erot = 2.37072397310103 | epot = -12.141752500303 | etot = -8.37462303148232 +668000 ekin = 1.43167926156719 | erot = 2.24978389246461 | epot = -12.0560861858188 | etot = -8.37462303178698 +669000 ekin = 1.45855421041098 | erot = 2.1125387740665 | epot = -11.9457160161998 | etot = -8.3746230317223 +670000 ekin = 1.4739508646895 | erot = 1.96284004635527 | epot = -11.811413942324 | etot = -8.37462303127918 +671000 ekin = 1.47583917683516 | erot = 1.80887360748583 | epot = -11.6593358149112 | etot = -8.37462303059023 +672000 ekin = 1.46334042173585 | erot = 1.66127989926278 | epot = -11.4992433508348 | etot = -8.37462302983621 +673000 ekin = 1.43665130212379 | erot = 1.53074210399054 | epot = -11.3420164352628 | etot = -8.37462302914845 +674000 ekin = 1.39696147641158 | erot = 1.4261974886037 | epot = -11.1977819935895 | etot = -8.37462302857419 +675000 ekin = 1.34640262234309 | erot = 1.35413730294751 | epot = -11.0751629533952 | etot = -8.37462302810457 +676000 ekin = 1.28794616800361 | erot = 1.31873912036471 | epot = -10.9813083160886 | etot = -8.3746230277203 +677000 ekin = 1.22516961115512 | erot = 1.32230065786699 | epot = -10.9220932964427 | etot = -8.3746230274206 +678000 ekin = 1.16189722958258 | erot = 1.36556643967189 | epot = -10.9020866964826 | etot = -8.3746230272281 +679000 ekin = 1.10179124612821 | erot = 1.44777635009357 | epot = -10.9241906234063 | etot = -8.37462302718452 +680000 ekin = 1.04797419612249 | erot = 1.56642353037808 | epot = -10.9890207538446 | etot = -8.37462302734408 +681000 ekin = 1.0027227986418 | erot = 1.71676662170909 | epot = -11.0941124481197 | etot = -8.37462302776882 +682000 ekin = 0.967238825856233 | erot = 1.8911823872756 | epot = -11.2330442416469 | etot = -8.37462302851509 +683000 ekin = 0.941511133160514 | erot = 2.07856636781677 | epot = -11.3947005305749 | etot = -8.37462302959759 +684000 ekin = 0.924337639173223 | erot = 2.26421473260651 | epot = -11.563175402715 | etot = -8.37462303093528 +685000 ekin = 0.913629093908647 | erot = 2.43080490188115 | epot = -11.7190570280992 | etot = -8.37462303230945 +686000 ekin = 0.907072709288103 | erot = 2.5609064397186 | epot = -11.8426021824015 | etot = -8.37462303339479 +687000 ekin = 0.903027971000719 | erot = 2.64065323918573 | epot = -11.9183042440776 | etot = -8.37462303389114 +688000 ekin = 0.901265997346188 | erot = 2.6631528356665 | epot = -11.9390418666978 | etot = -8.37462303368509 +689000 ekin = 0.903127291409492 | erot = 2.62989920641101 | epot = -11.9076495307305 | etot = -8.37462303290999 +690000 ekin = 0.911003410961571 | erot = 2.54949432632226 | epot = -11.8351207691344 | etot = -8.37462303185061 +691000 ekin = 0.927482290198771 | erot = 2.4345890933302 | epot = -11.7366944143114 | etot = -8.3746230307824 +692000 ekin = 0.954629968086057 | erot = 2.29871133595466 | epot = -11.6279643338859 | etot = -8.3746230298452 +693000 ekin = 0.993689842549661 | erot = 2.15457291081397 | epot = -11.5228857825773 | etot = -8.3746230292137 +694000 ekin = 1.04477766676423 | erot = 2.01224824489153 | epot = -11.4316489404319 | etot = -8.37462302877615 +695000 ekin = 1.10717972560328 | erot = 1.87902519875939 | epot = -11.360827952868 | etot = -8.37462302850538 +696000 ekin = 1.17962988094485 | erot = 1.76021636431916 | epot = -11.3144692736453 | etot = -8.37462302838133 +697000 ekin = 1.2603450806723 | erot = 1.6593933195001 | epot = -11.2943614285665 | etot = -8.37462302839413 +698000 ekin = 1.34700634148289 | erot = 1.57856058320758 | epot = -11.300189953228 | etot = -8.37462302853757 +699000 ekin = 1.43673776972643 | erot = 1.51829388886952 | epot = -11.3296546873983 | etot = -8.37462302880231 +700000 ekin = 1.52614311404927 | erot = 1.4778859710023 | epot = -11.3786521142197 | etot = -8.37462302916816 +701000 ekin = 1.61113170993981 | erot = 1.45542937143897 | epot = -11.441184111167 | etot = -8.37462302978825 +702000 ekin = 1.68654811959934 | erot = 1.44774835139973 | epot = -11.5089195013107 | etot = -8.37462303031159 +703000 ekin = 1.74804176728682 | erot = 1.45137774866603 | epot = -11.5740425467015 | etot = -8.37462303074865 +704000 ekin = 1.79223863051471 | erot = 1.463266771069 | epot = -11.6301284325925 | etot = -8.3746230310088 +705000 ekin = 1.81722742450292 | erot = 1.48152907261418 | epot = -11.6733795281508 | etot = -8.37462303103365 +706000 ekin = 1.82282717411087 | erot = 1.50598222607883 | epot = -11.7034324310159 | etot = -8.37462303082617 +707000 ekin = 1.81047570465443 | erot = 1.53820736290229 | epot = -11.7233060980094 | etot = -8.37462303045267 +708000 ekin = 1.78276828494856 | erot = 1.5810549503857 | epot = -11.7384462653514 | etot = -8.37462303001716 +709000 ekin = 1.74282721670422 | erot = 1.63779752304503 | epot = -11.7552477693651 | etot = -8.3746230296159 +710000 ekin = 1.69374790021974 | erot = 1.71129566719954 | epot = -11.7796665967228 | etot = -8.37462302930356 +711000 ekin = 1.63830193399518 | erot = 1.80347448194939 | epot = -11.8163994450321 | etot = -8.37462302908752 +712000 ekin = 1.57892460631358 | erot = 1.91516553832407 | epot = -11.8687131735881 | etot = -8.37462302895043 +713000 ekin = 1.51786752130003 | erot = 2.04613993381954 | epot = -11.9386304840005 | etot = -8.37462302888094 +714000 ekin = 1.45734042325197 | erot = 2.19509441547551 | epot = -12.02705786762 | etot = -8.37462302889253 +715000 ekin = 1.39951776248685 | erot = 2.35946536295189 | epot = -12.1336061544577 | etot = -8.37462302901895 +716000 ekin = 1.34639246829324 | erot = 2.53511986598303 | epot = -12.2561353635752 | etot = -8.37462302929896 +717000 ekin = 1.2995543227021 | erot = 2.71613012099382 | epot = -12.3903074734227 | etot = -8.37462302972674 +718000 ekin = 1.25989829927655 | erot = 2.89465680807112 | epot = -12.529178137729 | etot = -8.37462303038131 +719000 ekin = 1.22750607430035 | erot = 3.0609266584271 | epot = -12.6630557638755 | etot = -8.37462303114804 +720000 ekin = 1.20188187066626 | erot = 3.20425006665908 | epot = -12.7807549692629 | etot = -8.37462303193757 +721000 ekin = 1.18220717983388 | erot = 3.31414882432986 | epot = -12.8709790367794 | etot = -8.37462303261566 +722000 ekin = 1.16774608427155 | erot = 3.38185582435782 | epot = -12.9242249417163 | etot = -8.3746230330869 +723000 ekin = 1.15807318397684 | erot = 3.40183188750477 | epot = -12.9345281046215 | etot = -8.37462303313988 +724000 ekin = 1.15381445068197 | erot = 3.37321067522661 | epot = -12.9016481586615 | etot = -8.3746230327529 +725000 ekin = 1.15678266077648 | erot = 3.30036671004678 | epot = -12.8317724028176 | etot = -8.37462303199429 +726000 ekin = 1.1696197829841 | erot = 3.19222682083445 | epot = -12.7364696348434 | etot = -8.37462303102484 +727000 ekin = 1.19513165181306 | erot = 3.06063268781604 | epot = -12.6303873696639 | etot = -8.37462303003481 +728000 ekin = 1.23552066624288 | erot = 2.91835949412803 | epot = -12.528503189554 | etot = -8.37462302918309 +729000 ekin = 1.29175272909129 | erot = 2.77740116858225 | epot = -12.4437769262409 | etot = -8.37462302856741 +730000 ekin = 1.36319675322391 | erot = 2.64784734353971 | epot = -12.3856671249843 | etot = -8.37462302822068 +731000 ekin = 1.44757535461589 | erot = 2.5373686940048 | epot = -12.3595670767478 | etot = -8.37462302812714 +732000 ekin = 1.54119076310014 | erot = 2.45114849793169 | epot = -12.3669622892763 | etot = -8.37462302824445 +733000 ekin = 1.63933166940277 | erot = 2.39205275840519 | epot = -12.4060074563318 | etot = -8.37462302852384 +734000 ekin = 1.73673684349954 | erot = 2.36087235949882 | epot = -12.4722322319222 | etot = -8.37462302892382 +735000 ekin = 1.82801503458665 | erot = 2.35655963725895 | epot = -12.5591977012549 | etot = -8.37462302940934 +736000 ekin = 1.90799093496349 | erot = 2.37647912513091 | epot = -12.6590930900375 | etot = -8.37462302994312 +737000 ekin = 1.97201607374088 | erot = 2.4167506508678 | epot = -12.7633897550823 | etot = -8.37462303047367 +738000 ekin = 2.01630111185894 | erot = 2.47274745432201 | epot = -12.8636715971178 | etot = -8.3746230309369 +739000 ekin = 2.03827941487237 | erot = 2.53972508206368 | epot = -12.9526275282042 | etot = -8.37462303126812 +740000 ekin = 2.03693425613014 | erot = 2.61344505993422 | epot = -13.0250023474899 | etot = -8.37462303142556 +741000 ekin = 2.01297029115499 | erot = 2.6905926898588 | epot = -13.0781860124239 | etot = -8.37462303141013 +742000 ekin = 1.96872639115255 | erot = 2.768825663029 | epot = -13.1121750854509 | etot = -8.37462303126931 +743000 ekin = 1.90780895371572 | erot = 2.84642411506864 | epot = -13.1288560998665 | etot = -8.37462303108214 +744000 ekin = 1.8345263395222 | erot = 2.92167512844754 | epot = -13.1308244989033 | etot = -8.37462303093354 +745000 ekin = 1.75327142725026 | erot = 2.99223326162045 | epot = -13.1201277197558 | etot = -8.37462303088513 +746000 ekin = 1.66800377362375 | erot = 3.05470990306177 | epot = -13.0973367076427 | etot = -8.37462303095714 +747000 ekin = 1.58193446041863 | erot = 3.10466510764813 | epot = -13.0612225991804 | etot = -8.37462303111363 +748000 ekin = 1.49744243756517 | erot = 3.13708170333216 | epot = -13.0091471722161 | etot = -8.37462303131874 +749000 ekin = 1.41618008601908 | erot = 3.14699639332627 | epot = -12.9377995108354 | etot = -8.37462303149001 +750000 ekin = 1.33927892445982 | erot = 3.13031955346438 | epot = -12.8442215094966 | etot = -8.37462303157238 +751000 ekin = 1.26755716712042 | erot = 3.08449081841744 | epot = -12.7266710170775 | etot = -8.37462303153961 +752000 ekin = 1.20166403421557 | erot = 3.00876367724929 | epot = -12.5850507428598 | etot = -8.37462303139489 +753000 ekin = 1.14214671459751 | erot = 2.90415589317544 | epot = -12.420925638931 | etot = -8.3746230311581 +754000 ekin = 1.08946987137479 | erot = 2.77319742895417 | epot = -12.237290331179 | etot = -8.37462303085001 +755000 ekin = 1.0440339069345 | erot = 2.61963797728223 | epot = -12.0382949147008 | etot = -8.37462303048408 +756000 ekin = 1.00622473319045 | erot = 2.44820898510135 | epot = -11.8290567483582 | etot = -8.37462303006641 +757000 ekin = 0.976498427351231 | erot = 2.26449263382691 | epot = -11.61561409075 | etot = -8.37462302957185 +758000 ekin = 0.955485081992856 | erot = 2.07490082913416 | epot = -11.405008940184 | etot = -8.37462302905695 +759000 ekin = 0.943970421442231 | erot = 1.88597944059498 | epot = -11.2045728906044 | etot = -8.37462302856723 +760000 ekin = 0.94294318912847 | erot = 1.70391676485065 | epot = -11.0214829820796 | etot = -8.3746230281005 +761000 ekin = 0.953636819966077 | erot = 1.53434362883834 | epot = -10.8626034764908 | etot = -8.37462302768642 +762000 ekin = 0.977439463714333 | erot = 1.38197793547307 | epot = -10.7340404265375 | etot = -8.37462302735008 +763000 ekin = 1.01575214957369 | erot = 1.25038414094113 | epot = -10.6407593176248 | etot = -8.37462302710998 +764000 ekin = 1.06980632715205 | erot = 1.14186552721226 | epot = -10.5862948813435 | etot = -8.37462302697918 +765000 ekin = 1.14045321590921 | erot = 1.05746802222288 | epot = -10.572544265099 | etot = -8.37462302696695 +766000 ekin = 1.22794009365167 | erot = 0.997057737111095 | epot = -10.5996208578428 | etot = -8.37462302708006 +767000 ekin = 1.33169356855031 | erot = 0.959438204819042 | epot = -10.6657548006913 | etot = -8.3746230273219 +768000 ekin = 1.45013707581703 | erot = 0.942489485935499 | epot = -10.7672495894428 | etot = -8.37462302769026 +769000 ekin = 1.58057826605238 | erot = 0.943330765761073 | epot = -10.8985320599873 | etot = -8.37462302817388 +770000 ekin = 1.71920830316292 | erot = 0.958522817508245 | epot = -11.0523541494183 | etot = -8.37462302874711 +771000 ekin = 1.86125297318996 | erot = 0.984329269144567 | epot = -11.220205271702 | etot = -8.37462302936751 +772000 ekin = 2.00111996073709 | erot = 1.01706547584897 | epot = -11.3928084666614 | etot = -8.37462303007532 +773000 ekin = 2.1317967939265 | erot = 1.05343215414609 | epot = -11.5598519787626 | etot = -8.37462303068999 +774000 ekin = 2.24724323873757 | erot = 1.09038833141808 | epot = -11.7122546013415 | etot = -8.37462303118583 +775000 ekin = 2.34263593747233 | erot = 1.12564496607848 | epot = -11.8429039350699 | etot = -8.37462303151911 +776000 ekin = 2.41469510966418 | erot = 1.15782091195824 | epot = -11.947139053297 | etot = -8.37462303167463 +777000 ekin = 2.4619556450855 | erot = 1.18638590330236 | epot = -12.0229645800573 | etot = -8.37462303166939 +778000 ekin = 2.48471522536204 | erot = 1.21145891744653 | epot = -12.0707971743579 | etot = -8.3746230315493 +779000 ekin = 2.4846604780691 | erot = 1.2335280968423 | epot = -12.0928116062859 | etot = -8.37462303137446 +780000 ekin = 2.46428568677061 | erot = 1.25319615838862 | epot = -12.0921048763539 | etot = -8.37462303119463 +781000 ekin = 2.42632307022458 | erot = 1.27107093313009 | epot = -12.0720170343794 | etot = -8.37462303102472 +782000 ekin = 2.3734174717913 | erot = 1.28787882377807 | epot = -12.0359193264086 | etot = -8.37462303083922 +783000 ekin = 2.30815170371841 | erot = 1.30476531775884 | epot = -11.9875400520689 | etot = -8.37462303059164 +784000 ekin = 2.23331824904295 | erot = 1.32360971124808 | epot = -11.9315509905412 | etot = -8.37462303025017 +785000 ekin = 2.1521766671689 | erot = 1.34711489735433 | epot = -11.8739145943554 | etot = -8.37462302983219 +786000 ekin = 2.0684394078588 | erot = 1.37850506799305 | epot = -11.8215675052583 | etot = -8.37462302940647 +787000 ekin = 1.98588342004498 | erot = 1.42085370631113 | epot = -11.7813601554292 | etot = -8.37462302907311 +788000 ekin = 1.90769396723937 | erot = 1.4762681420715 | epot = -11.7585851382311 | etot = -8.37462302892024 +789000 ekin = 1.83580155857719 | erot = 1.54525606071323 | epot = -11.7556806482768 | etot = -8.37462302898641 +790000 ekin = 1.77050160314919 | erot = 1.62653131911791 | epot = -11.7716559515123 | etot = -8.37462302924516 +791000 ekin = 1.71053482190188 | erot = 1.71731536906227 | epot = -11.8024732205822 | etot = -8.37462302961806 +792000 ekin = 1.65360852455023 | erot = 1.81397519201505 | epot = -11.8422067465732 | etot = -8.37462303000797 +793000 ekin = 1.59715988493776 | erot = 1.9127367140395 | epot = -11.884519629309 | etot = -8.37462303033172 +794000 ekin = 1.53909469766649 | erot = 2.01023412205765 | epot = -11.9239518502759 | etot = -8.37462303055179 +795000 ekin = 1.47829524950051 | erot = 2.1038294102128 | epot = -11.9567476903362 | etot = -8.3746230306229 +796000 ekin = 1.41481662089948 | erot = 2.19194291994204 | epot = -11.9813825714066 | etot = -8.37462303056506 +797000 ekin = 1.3498130825007 | erot = 2.27401207106091 | epot = -11.9984481839611 | etot = -8.37462303039944 +798000 ekin = 1.28529636431119 | erot = 2.35042093010661 | epot = -12.0103403245736 | etot = -8.37462303015585 +799000 ekin = 1.22381948474414 | erot = 2.42233570221925 | epot = -12.0207782168147 | etot = -8.37462302985134 +800000 ekin = 1.16822785386793 | erot = 2.49143438534642 | epot = -12.0342852688262 | etot = -8.37462302961189 +801000 ekin = 1.12099278643146 | erot = 2.55928816630765 | epot = -12.0549039821764 | etot = -8.37462302943733 +802000 ekin = 1.08396505814664 | erot = 2.62689447863251 | epot = -12.0854825661075 | etot = -8.37462302932839 +803000 ekin = 1.05841636960378 | erot = 2.69442631110788 | epot = -12.1274657101682 | etot = -8.37462302945653 +804000 ekin = 1.04426779801641 | erot = 2.76024770981174 | epot = -12.1791385376429 | etot = -8.37462302981472 +805000 ekin = 1.03995925234054 | erot = 2.82046254234402 | epot = -12.2350448251546 | etot = -8.37462303047002 +806000 ekin = 1.0424963991489 | erot = 2.86897163061675 | epot = -12.2860910609799 | etot = -8.37462303121428 +807000 ekin = 1.04816653315864 | erot = 2.89850351396218 | epot = -12.3212930790659 | etot = -8.37462303194513 +808000 ekin = 1.05329972431587 | erot = 2.9018949304571 | epot = -12.329817687259 | etot = -8.37462303248604 +809000 ekin = 1.05511003117022 | erot = 2.87378175151955 | epot = -12.3035148153802 | etot = -8.37462303269046 +810000 ekin = 1.05231348649519 | erot = 2.81208782293289 | epot = -12.2390243419939 | etot = -8.37462303256581 +811000 ekin = 1.04519713626699 | erot = 2.71854122751437 | epot = -12.1383613957887 | etot = -8.37462303200729 +812000 ekin = 1.03556509620662 | erot = 2.59875418167188 | epot = -12.0089423090923 | etot = -8.37462303121384 +813000 ekin = 1.02617370806627 | erot = 2.46123250523916 | epot = -11.8620292436477 | etot = -8.37462303034231 +814000 ekin = 1.01993499389596 | erot = 2.31562695725385 | epot = -11.7101849806766 | etot = -8.37462302952681 +815000 ekin = 1.01938989930175 | erot = 2.17131439137989 | epot = -11.5653273195317 | etot = -8.37462302885002 +816000 ekin = 1.02641070194214 | erot = 2.036432477289 | epot = -11.4374662075757 | etot = -8.3746230283446 +817000 ekin = 1.04210163740904 | erot = 1.91741411147404 | epot = -11.3341387768941 | etot = -8.37462302801105 +818000 ekin = 1.06685452879826 | erot = 1.818921940678 | epot = -11.2603994972601 | etot = -8.37462302778386 +819000 ekin = 1.100440731457 | erot = 1.74396570048527 | epot = -11.2190294597218 | etot = -8.3746230277795 +820000 ekin = 1.14169134058291 | erot = 1.69367065616436 | epot = -11.2099850246628 | etot = -8.37462302791549 +821000 ekin = 1.18877552115673 | erot = 1.66758281677341 | epot = -11.2309813661147 | etot = -8.37462302818457 +822000 ekin = 1.23927394202831 | erot = 1.6637849463546 | epot = -11.2776819169572 | etot = -8.37462302857428 +823000 ekin = 1.29027861043636 | erot = 1.67905219550916 | epot = -11.3439538348918 | etot = -8.37462302894627 +824000 ekin = 1.33894050069293 | erot = 1.70948347746921 | epot = -11.4230470076235 | etot = -8.37462302946136 +825000 ekin = 1.38220508273179 | erot = 1.75044253331283 | epot = -11.5072706460178 | etot = -8.37462302997318 +826000 ekin = 1.4171029491027 | erot = 1.79708475167485 | epot = -11.5888107311858 | etot = -8.37462303040827 +827000 ekin = 1.44127249565024 | erot = 1.84518129447392 | epot = -11.66107682082 | etot = -8.37462303069581 +828000 ekin = 1.45335409116449 | erot = 1.8917823095111 | epot = -11.7197594314613 | etot = -8.37462303078572 +829000 ekin = 1.45330184509384 | erot = 1.93565038632077 | epot = -11.7635752620779 | etot = -8.37462303066324 +830000 ekin = 1.44253588753448 | erot = 1.97732673255233 | epot = -11.7944856504421 | etot = -8.37462303035527 +831000 ekin = 1.42321719807673 | erot = 2.01836652050623 | epot = -11.8162067486483 | etot = -8.37462303006532 +832000 ekin = 1.39798324787262 | erot = 2.06093497422807 | epot = -11.8335412516822 | etot = -8.3746230295815 +833000 ekin = 1.37122558103758 | erot = 2.10801499213557 | epot = -11.8538636023364 | etot = -8.37462302916327 +834000 ekin = 1.34739157346286 | erot = 2.16168408584085 | epot = -11.8836986881983 | etot = -8.37462302889461 +835000 ekin = 1.33033159138597 | erot = 2.22243990039942 | epot = -11.9273945206137 | etot = -8.37462302882836 +836000 ekin = 1.32279692350256 | erot = 2.28888168436755 | epot = -11.986301636848 | etot = -8.3746230289779 +837000 ekin = 1.32614569945959 | erot = 2.35776552714714 | epot = -12.058534255923 | etot = -8.3746230293163 +838000 ekin = 1.3403008431344 | erot = 2.42442328376899 | epot = -12.1393471566817 | etot = -8.37462302977832 +839000 ekin = 1.36395770572684 | erot = 2.48350186340464 | epot = -12.222082599402 | etot = -8.37462303027048 +840000 ekin = 1.39499323416537 | erot = 2.52993036126219 | epot = -12.299546626116 | etot = -8.37462303068842 +841000 ekin = 1.43098519524504 | erot = 2.5599379691709 | epot = -12.3655461953596 | etot = -8.37462303094361 +842000 ekin = 1.46971603973845 | erot = 2.57185321601318 | epot = -12.4161922867453 | etot = -8.37462303099366 +843000 ekin = 1.50953312203373 | erot = 2.56639824287125 | epot = -12.4505543957627 | etot = -8.37462303085771 +844000 ekin = 1.54948222757244 | erot = 2.54631968023969 | epot = -12.4704249384232 | etot = -8.37462303061104 +845000 ekin = 1.58921446589296 | erot = 2.5154473187876 | epot = -12.4792848150357 | etot = -8.37462303035509 +846000 ekin = 1.62874660073221 | erot = 2.4775136944313 | epot = -12.4808833253415 | etot = -8.37462303017796 +847000 ekin = 1.66818957254827 | erot = 2.43516936578467 | epot = -12.477981968457 | etot = -8.37462303012405 +848000 ekin = 1.70754173431446 | erot = 2.38953851005258 | epot = -12.4717032745492 | etot = -8.37462303018218 +849000 ekin = 1.74659403306508 | erot = 2.34043091651812 | epot = -12.4616479798811 | etot = -8.37462303029795 +850000 ekin = 1.78494345866321 | erot = 2.28706007038529 | epot = -12.4466265594494 | etot = -8.37462303040093 +851000 ekin = 1.82207688727604 | erot = 2.2289142006414 | epot = -12.4256141183555 | etot = -8.3746230304381 +852000 ekin = 1.85747606626899 | erot = 2.16637383867245 | epot = -12.3984729353385 | etot = -8.37462303039711 +853000 ekin = 1.89070501215755 | erot = 2.10080168939738 | epot = -12.3661297318617 | etot = -8.37462303030681 +854000 ekin = 1.92146598579694 | erot = 2.03409194239609 | epot = -12.3301809584131 | etot = -8.3746230302201 +855000 ekin = 1.94963553788679 | erot = 1.96792069996032 | epot = -12.2921792680323 | etot = -8.37462303018517 +856000 ekin = 1.97530408452449 | erot = 1.90306034570378 | epot = -12.2529874604504 | etot = -8.37462303022214 +857000 ekin = 1.99898235174131 | erot = 1.83954776717695 | epot = -12.2131531489779 | etot = -8.37462303005959 +858000 ekin = 2.02148966893509 | erot = 1.77712472343153 | epot = -12.1732374225842 | etot = -8.37462303021759 +859000 ekin = 2.04332984814334 | erot = 1.71372610060062 | epot = -12.1316789790773 | etot = -8.37462303033332 +860000 ekin = 2.06530510863073 | erot = 1.64761266618404 | epot = -12.0875408051618 | etot = -8.374623030347 +861000 ekin = 2.08844047522602 | erot = 1.57839130430927 | epot = -12.0414548097696 | etot = -8.37462303023435 +862000 ekin = 2.11372996876901 | erot = 1.50759861505592 | epot = -11.9959516138468 | etot = -8.37462303002184 +863000 ekin = 2.14175193679491 | erot = 1.43866072802333 | epot = -11.9550356946058 | etot = -8.3746230297876 +864000 ekin = 2.17225364143819 | erot = 1.37614575517505 | epot = -11.9230224262469 | etot = -8.37462302963362 +865000 ekin = 2.20389689304742 | erot = 1.32450432847587 | epot = -11.9030242511591 | etot = -8.37462302963585 +866000 ekin = 2.23438769161032 | erot = 1.28681328070663 | epot = -11.8958240017877 | etot = -8.3746230294708 +867000 ekin = 2.26151301831441 | erot = 1.26501341500429 | epot = -11.9011494630749 | etot = -8.37462302975622 +868000 ekin = 2.28295312633932 | erot = 1.25876385670057 | epot = -11.916340013014 | etot = -8.37462302997407 +869000 ekin = 2.29713139087991 | erot = 1.26636363803581 | epot = -11.93811805896 | etot = -8.37462303004431 +870000 ekin = 2.30388454566185 | erot = 1.28638972777185 | epot = -11.9648973034193 | etot = -8.3746230299856 +871000 ekin = 2.30409365412262 | erot = 1.3178762126361 | epot = -11.9965928971142 | etot = -8.37462303035544 +872000 ekin = 2.29712455306445 | erot = 1.35930276714503 | epot = -12.0310503505629 | etot = -8.37462303035347 +873000 ekin = 2.2827453931626 | erot = 1.40846954678818 | epot = -12.065837970059 | etot = -8.37462303010826 +874000 ekin = 2.26320703627572 | erot = 1.46277950106312 | epot = -12.1006095675599 | etot = -8.37462303022103 +875000 ekin = 2.24001634728594 | erot = 1.51889022328616 | epot = -12.1335296008613 | etot = -8.37462303028924 +876000 ekin = 2.21430830467177 | erot = 1.57348199615488 | epot = -12.1624133311039 | etot = -8.37462303027722 +877000 ekin = 2.18777848573904 | erot = 1.6238902016126 | epot = -12.1862917175001 | etot = -8.37462303014841 +878000 ekin = 2.16252897548043 | erot = 1.66838793090838 | epot = -12.2055399364441 | etot = -8.3746230300553 +879000 ekin = 2.14044753722094 | erot = 1.70571411560618 | epot = -12.2207846828201 | etot = -8.37462302999299 +880000 ekin = 2.12277471002905 | erot = 1.73469967121715 | epot = -12.2320974112717 | etot = -8.37462303002546 +881000 ekin = 2.1097746736021 | erot = 1.75399371448778 | epot = -12.2383914182746 | etot = -8.37462303018477 +882000 ekin = 2.1005016432247 | erot = 1.76187019273806 | epot = -12.2369948664083 | etot = -8.37462303044556 +883000 ekin = 2.09290867712761 | erot = 1.75649694685333 | epot = -12.2240286546966 | etot = -8.37462303071566 +884000 ekin = 2.08433703645321 | erot = 1.73671500456619 | epot = -12.1956750719276 | etot = -8.37462303090818 +885000 ekin = 2.07202901572868 | erot = 1.70282592067691 | epot = -12.149477967362 | etot = -8.37462303095645 +886000 ekin = 2.05378411491616 | erot = 1.65660476472205 | epot = -12.085011910272 | etot = -8.37462303063378 +887000 ekin = 2.02874297420998 | erot = 1.60297409541633 | epot = -12.0063400996958 | etot = -8.37462303006953 +888000 ekin = 1.99720256583061 | erot = 1.54912086824732 | epot = -11.9209464635357 | etot = -8.37462302945781 +889000 ekin = 1.95913963735699 | erot = 1.50198702369296 | epot = -11.8357496899727 | etot = -8.37462302892274 +890000 ekin = 1.91617614841913 | erot = 1.46746689325901 | epot = -11.7582660702128 | etot = -8.37462302853469 +891000 ekin = 1.87023137415973 | erot = 1.44931992810327 | epot = -11.6941743305868 | etot = -8.3746230283238 +892000 ekin = 1.8231621873456 | erot = 1.44889048228621 | epot = -11.6466756979021 | etot = -8.37462302827025 +893000 ekin = 1.77672781685429 | erot = 1.46538080245983 | epot = -11.6167316476416 | etot = -8.37462302832747 +894000 ekin = 1.73267401007855 | erot = 1.49642015526062 | epot = -11.6037171937751 | etot = -8.37462302843589 +895000 ekin = 1.69287615444341 | erot = 1.53876375542455 | epot = -11.6062629384049 | etot = -8.3746230285369 +896000 ekin = 1.65946528810789 | erot = 1.58897281258336 | epot = -11.6230611292845 | etot = -8.37462302859323 +897000 ekin = 1.63484229163068 | erot = 1.64389812681416 | epot = -11.6533634470399 | etot = -8.37462302859503 +898000 ekin = 1.62150447332005 | erot = 1.70104293751331 | epot = -11.697170439403 | etot = -8.37462302856965 +899000 ekin = 1.62168394146258 | erot = 1.75850368945834 | epot = -11.7548106594898 | etot = -8.37462302856883 +900000 ekin = 1.63689346404302 | erot = 1.81470313447753 | epot = -11.8262196271621 | etot = -8.37462302864159 +901000 ekin = 1.66753387742819 | erot = 1.86808611524062 | epot = -11.9102430214838 | etot = -8.37462302881503 +902000 ekin = 1.71269692238274 | erot = 1.91693084841939 | epot = -12.0042507998873 | etot = -8.37462302908514 +903000 ekin = 1.77021838508481 | erot = 1.95934050990426 | epot = -12.1041819244145 | etot = -8.37462302942543 +904000 ekin = 1.83694819296821 | erot = 1.99341312084221 | epot = -12.2049843435908 | etot = -8.37462302978037 +905000 ekin = 1.90914641654266 | erot = 2.01754527647795 | epot = -12.30131472313 | etot = -8.37462303010942 +906000 ekin = 1.98289589688646 | erot = 2.03065122058688 | epot = -12.3881701478555 | etot = -8.37462303038212 +907000 ekin = 2.054438779243 | erot = 2.03228127523553 | epot = -12.4613430850655 | etot = -8.37462303058698 +908000 ekin = 2.12038320006242 | erot = 2.02259637575073 | epot = -12.5176026065432 | etot = -8.37462303073002 +909000 ekin = 2.17777472065707 | erot = 2.0022386877701 | epot = -12.5546364392526 | etot = -8.37462303082542 +910000 ekin = 2.22407231387976 | erot = 1.97218459089875 | epot = -12.5708799356625 | etot = -8.37462303088398 +911000 ekin = 2.25709881230759 | erot = 1.93367043925372 | epot = -12.5653922824647 | etot = -8.37462303090339 +912000 ekin = 2.27504055965831 | erot = 1.88824345124241 | epot = -12.5379070417669 | etot = -8.37462303086623 +913000 ekin = 2.27654326616713 | erot = 1.83792322947699 | epot = -12.4890895263909 | etot = -8.37462303074678 +914000 ekin = 2.26395838707267 | erot = 1.78540897804261 | epot = -12.4239903947872 | etot = -8.37462302967189 +915000 ekin = 2.24045468912196 | erot = 1.73372810068503 | epot = -12.3488058193217 | etot = -8.37462302951466 +916000 ekin = 2.20520370202174 | erot = 1.686151051967 | epot = -12.2659777832985 | etot = -8.37462302930976 +917000 ekin = 2.15800582906352 | erot = 1.64606783755989 | epot = -12.1786966957246 | etot = -8.3746230291012 +918000 ekin = 2.09921834411498 | erot = 1.61647797759857 | epot = -12.0903193506413 | etot = -8.37462302892771 +919000 ekin = 2.02966476142743 | erot = 1.599549497798 | epot = -12.0038372880272 | etot = -8.3746230288018 +920000 ekin = 1.95065755949502 | erot = 1.59642144855376 | epot = -11.9217020368434 | etot = -8.37462302879458 +921000 ekin = 1.8636620065108 | erot = 1.60750866079726 | epot = -11.8457936959376 | etot = -8.37462302862953 +922000 ekin = 1.77152243885364 | erot = 1.63263587421313 | epot = -11.7787813414912 | etot = -8.37462302842448 +923000 ekin = 1.67869484033055 | erot = 1.67111175334441 | epot = -11.7244296218603 | etot = -8.3746230281853 +924000 ekin = 1.59024537021244 | erot = 1.72202288864506 | epot = -11.6868912868186 | etot = -8.3746230279611 +925000 ekin = 1.51123937036936 | erot = 1.78411652410876 | epot = -11.6699789223007 | etot = -8.37462302782256 +926000 ekin = 1.44599317764589 | erot = 1.85554834407226 | epot = -11.6761645495391 | etot = -8.37462302782096 +927000 ekin = 1.39752558601065 | erot = 1.9337066123555 | epot = -11.7058552263247 | etot = -8.3746230279586 +928000 ekin = 1.36763823809538 | erot = 2.01538770680855 | epot = -11.757648972791 | etot = -8.37462302788704 +929000 ekin = 1.36100399983992 | erot = 2.09737818238218 | epot = -11.8330052106852 | etot = -8.37462302846307 +930000 ekin = 1.35523134970511 | erot = 2.17722433883731 | epot = -11.9070787109271 | etot = -8.37462302238468 +931000 ekin = 1.39431469299436 | erot = 2.25435620438246 | epot = -12.0232939189468 | etot = -8.37462302156997 +932000 ekin = 1.49280866705058 | erot = 2.31847930193787 | epot = -12.1859109889588 | etot = -8.37462301997038 +933000 ekin = 1.58533340946768 | erot = 2.36490000058057 | epot = -12.32485643027 | etot = -8.37462302022171 +934000 ekin = 1.68690712098869 | erot = 2.39298221168838 | epot = -12.4545123553117 | etot = -8.37462302263461 +935000 ekin = 1.78473836463911 | erot = 2.39676204060952 | epot = -12.5561234284532 | etot = -8.37462302320454 +936000 ekin = 1.8698772538689 | erot = 2.37258693733547 | epot = -12.6170872147102 | etot = -8.37462302350582 +937000 ekin = 1.93720452638615 | erot = 2.32043568374803 | epot = -12.6322632336394 | etot = -8.37462302350518 +938000 ekin = 1.98385208910065 | erot = 2.24266190734071 | epot = -12.6011370196626 | etot = -8.37462302322125 +939000 ekin = 2.00910923706108 | erot = 2.14379034932921 | epot = -12.5275226091194 | etot = -8.37462302272916 +940000 ekin = 2.01395507290262 | erot = 2.02993348654092 | epot = -12.4185115815347 | etot = -8.37462302209116 +941000 ekin = 2.00103743452152 | erot = 1.90808629517784 | epot = -12.2837467510742 | etot = -8.37462302137486 +942000 ekin = 1.97419824310677 | erot = 1.78546116622571 | epot = -12.1342824299717 | etot = -8.37462302063921 +943000 ekin = 1.93808318009367 | erot = 1.66892069893714 | epot = -11.9816268989612 | etot = -8.37462301993037 +944000 ekin = 1.89777663358483 | erot = 1.56456198515311 | epot = -11.836961638024 | etot = -8.37462301928607 +945000 ekin = 1.85843605735837 | erot = 1.4774221417752 | epot = -11.7104812178744 | etot = -8.37462301874083 +946000 ekin = 1.82491092896719 | erot = 1.41124588131947 | epot = -11.610779828619 | etot = -8.3746230183323 +947000 ekin = 1.8013422188344 | erot = 1.36826076777147 | epot = -11.5442260047056 | etot = -8.37462301809976 +948000 ekin = 1.79076227753392 | erot = 1.34894522657274 | epot = -11.5143305221863 | etot = -8.37462301807965 +949000 ekin = 1.79475359820132 | erot = 1.35184135984867 | epot = -11.5212179763387 | etot = -8.37462301828871 +950000 ekin = 1.81326202048993 | erot = 1.37352812801048 | epot = -11.5614131672086 | etot = -8.3746230187082 +951000 ekin = 1.84466122228548 | erot = 1.40888082073311 | epot = -11.6281650622951 | etot = -8.37462301927651 +952000 ekin = 1.88610598517686 | erot = 1.45166996305775 | epot = -11.7123989681328 | etot = -8.37462301989817 +953000 ekin = 1.93415626208494 | erot = 1.49545802208046 | epot = -11.8042373044908 | etot = -8.37462302032539 +954000 ekin = 1.98570845874811 | erot = 1.53486140750217 | epot = -11.8951928870177 | etot = -8.37462302076742 +955000 ekin = 2.03763688300238 | erot = 1.56575119867149 | epot = -11.9780111026985 | etot = -8.37462302102462 +956000 ekin = 2.08752516850599 | erot = 1.58576425992308 | epot = -12.0479124495213 | etot = -8.37462302109223 +957000 ekin = 2.13388693710964 | erot = 1.59443657079239 | epot = -12.1029465289046 | etot = -8.37462302100253 +958000 ekin = 2.17603134876323 | erot = 1.59291217741732 | epot = -12.1435665469902 | etot = -8.37462302080964 +959000 ekin = 2.21381255039645 | erot = 1.58343493106879 | epot = -12.1718705020378 | etot = -8.37462302057259 +960000 ekin = 2.24735101958252 | erot = 1.56876603527579 | epot = -12.1907400752033 | etot = -8.37462302034496 +961000 ekin = 2.27678636585394 | erot = 1.55164507323792 | epot = -12.2030544592584 | etot = -8.37462302016653 +962000 ekin = 2.30208813280108 | erot = 1.53436606871911 | epot = -12.2110772215847 | etot = -8.37462302006456 +963000 ekin = 2.32292955590133 | erot = 1.51849868398433 | epot = -12.2160512599371 | etot = -8.37462302005146 +964000 ekin = 2.33862421267245 | erot = 1.50476151876516 | epot = -12.2180087515633 | etot = -8.37462302012571 +965000 ekin = 2.34813222213143 | erot = 1.49304783092148 | epot = -12.2158030733237 | etot = -8.37462302027083 +966000 ekin = 2.35015122853115 | erot = 1.48260237418126 | epot = -12.2073766231662 | etot = -8.37462302045376 +967000 ekin = 2.34330726066097 | erot = 1.47233774696392 | epot = -12.1902680282532 | etot = -8.37462302062827 +968000 ekin = 2.32644504715423 | erot = 1.46125212630425 | epot = -12.1623201941992 | etot = -8.37462302074071 +969000 ekin = 2.29898771919739 | erot = 1.44887277461759 | epot = -12.1224835145563 | etot = -8.37462302074132 +970000 ekin = 2.26130276214329 | erot = 1.43562016619225 | epot = -12.0715459489323 | etot = -8.37462302059672 +971000 ekin = 2.21499063336338 | erot = 1.42298879008765 | epot = -12.0126024437513 | etot = -8.37462302030023 +972000 ekin = 2.16303757451795 | erot = 1.41348472406763 | epot = -11.9511453183675 | etot = -8.37462301978193 +973000 ekin = 2.10950969273511 | erot = 1.41039391551614 | epot = -11.8945266278569 | etot = -8.37462301960568 +974000 ekin = 2.05703199419742 | erot = 1.41732503873297 | epot = -11.8489800520861 | etot = -8.37462301915571 +975000 ekin = 2.01010390574851 | erot = 1.43732066922317 | epot = -11.8220475937238 | etot = -8.37462301875209 +976000 ekin = 1.97340114977604 | erot = 1.47261385396266 | epot = -11.8206380222139 | etot = -8.37462301847519 +977000 ekin = 1.95082006444706 | erot = 1.52416835984337 | epot = -11.8496114426886 | etot = -8.37462301839813 +978000 ekin = 1.94472832271128 | erot = 1.59131019459127 | epot = -11.9106615358755 | etot = -8.37462301857292 +979000 ekin = 1.95538713571685 | erot = 1.67153495870254 | epot = -12.0015451134338 | etot = -8.37462301901437 +980000 ekin = 1.9806772386571 | erot = 1.76051368575205 | epot = -12.1158139441915 | etot = -8.37462301978231 +981000 ekin = 2.0157957192546 | erot = 1.85207319538924 | epot = -12.2424919352912 | etot = -8.37462302064736 +982000 ekin = 2.05441082040089 | erot = 1.93952253755685 | epot = -12.3685563794566 | etot = -8.37462302149882 +983000 ekin = 2.08992138438914 | erot = 2.01671280308128 | epot = -12.4812572096503 | etot = -8.37462302217987 +984000 ekin = 2.11656909821701 | erot = 2.0791069696724 | epot = -12.5702990904621 | etot = -8.37462302257267 +985000 ekin = 2.13033501102878 | erot = 2.12464764346843 | epot = -12.6296056771301 | etot = -8.37462302263285 +986000 ekin = 2.12935596248979 | erot = 2.15403431725422 | epot = -12.6580133021435 | etot = -8.37462302239946 +987000 ekin = 2.11471923988066 | erot = 2.17104098415337 | epot = -12.6603832459165 | etot = -8.37462302188252 +988000 ekin = 2.09119735101514 | erot = 2.18228698931312 | epot = -12.6481073619531 | etot = -8.37462302162481 +989000 ekin = 2.06027968801239 | erot = 2.19075462083379 | epot = -12.6256573302412 | etot = -8.37462302139499 +990000 ekin = 2.02336255788569 | erot = 2.19843813688565 | epot = -12.5964237160084 | etot = -8.3746230212371 +991000 ekin = 1.9818807746635 | erot = 2.20638055720266 | epot = -12.5628843530201 | etot = -8.37462302115396 +992000 ekin = 1.93715749695397 | erot = 2.21473069767593 | epot = -12.5265112157503 | etot = -8.3746230211204 +993000 ekin = 1.89038311211027 | erot = 2.22307759878468 | epot = -12.4880837319987 | etot = -8.37462302110374 +994000 ekin = 1.84266575140808 | erot = 2.23084817708143 | epot = -12.4481369495678 | etot = -8.37462302107828 +995000 ekin = 1.79502825849046 | erot = 2.23761065997445 | epot = -12.4072619394846 | etot = -8.37462302101966 +996000 ekin = 1.74865820355827 | erot = 2.24323231086594 | epot = -12.3665135353626 | etot = -8.37462302093837 +997000 ekin = 1.70508150016762 | erot = 2.24765365390706 | epot = -12.3273581749305 | etot = -8.37462302085581 +998000 ekin = 1.66588125243956 | erot = 2.25078611336562 | epot = -12.2912903865797 | etot = -8.37462302077456 +999000 ekin = 1.63259998370264 | erot = 2.25262768593231 | epot = -12.2598506903066 | etot = -8.37462302067164 +1000000 ekin = 1.60661879878063 | erot = 2.2537352861968 | epot = -12.2349771055354 | etot = -8.37462302055793 + 1000000 0.1190088 -1.3493654 0.12586767 -1.0628358 0.00017426596 64000 +Loop time of 13.9702 on 4 procs for 1000000 steps with 10 atoms + +Performance: 61846.133 tau/day, 71581.172 timesteps/s +99.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 | 5.73 | 7.4134 | 9.1286 | 56.7 | 53.07 +Bond | 0.26662 | 0.33045 | 0.41401 | 10.3 | 2.37 +Neigh | 0.006735 | 0.0067415 | 0.006755 | 0.0 | 0.05 +Comm | 1.8191 | 2.0224 | 2.2513 | 11.6 | 14.48 +Output | 0.080433 | 0.083152 | 0.087335 | 0.9 | 0.60 +Modify | 0.52945 | 0.63648 | 0.73642 | 12.3 | 4.56 +Other | | 3.477 | | | 24.89 + +Nlocal: 2.50000 ave 3 max 2 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Nghost: 7.50000 ave 8 max 7 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Neighs: 17.5000 ave 20 max 15 min +Histogram: 2 0 0 0 0 0 0 0 0 2 + +Total # of neighbors = 70 +Ave neighs/atom = 7.0000000 +Ave special neighs/atom = 3.6000000 +Neighbor list builds = 1000 +Dangerous builds = 0 + +write_data last_config.${number}.* nocoeff +write_data last_config.1.* nocoeff +System init for write_data ... +Total wall time: 0:00:13 diff --git a/examples/PACKAGES/cgdna/examples/oxDNA2/duplex1/log.30Jun20.duplex1.g++.1 b/examples/PACKAGES/cgdna/examples/oxDNA2/duplex1/log.30Jun20.duplex1.g++.1 deleted file mode 100644 index 25cbf1e8a3..0000000000 --- a/examples/PACKAGES/cgdna/examples/oxDNA2/duplex1/log.30Jun20.duplex1.g++.1 +++ /dev/null @@ -1,1182 +0,0 @@ -LAMMPS (30 Jun 2020) -variable number equal 1 -variable ofreq equal 1000 -variable efreq equal 1000 -variable T equal 0.1 - -units lj - -dimension 3 - -newton off - -boundary p p p - -atom_style hybrid bond ellipsoid -WARNING: Atom_style hybrid defines both pertype and peratom masses - both must be set, only peratom masses will be used (../atom_vec_hybrid.cpp:156) -atom_modify sort 0 1.0 - -# Pair interactions require lists of neighbours to be calculated -neighbor 1.0 bin -neigh_modify every 1 delay 0 check yes - -read_data data.duplex1 - orthogonal box = (-20 -20 -20) to (20 20 20) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 10 atoms - reading velocities ... - 10 velocities - 10 ellipsoids - scanning bonds ... - 2 = max bonds/atom - reading bonds ... - 8 bonds - 2 = max # of 1-2 neighbors - 2 = max # of 1-3 neighbors - 2 = max # of 1-4 neighbors - 4 = max # of special neighbors - special bonds CPU = 0.000 seconds - read_data CPU = 0.003 seconds - -set atom * mass 3.1575 - 10 settings made for mass - -group all type 1 4 -10 atoms in group all - -# oxDNA2 bond interactions - FENE backbone -bond_style oxdna2/fene -bond_coeff * 2.0 0.25 0.7564 -special_bonds lj 0 1 1 - 2 = max # of 1-2 neighbors - 2 = max # of 1-3 neighbors - 2 = max # of 1-4 neighbors - 4 = max # of special neighbors - special bonds CPU = 0.000 seconds - -# oxDNA2 pair interactions -pair_style hybrid/overlay oxdna2/excv oxdna2/stk oxdna2/hbond oxdna2/xstk oxdna2/coaxstk oxdna2/dh -pair_coeff * * oxdna2/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32 -pair_coeff * * oxdna2/stk seqav ${T} 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 -pair_coeff * * oxdna2/stk seqav 0.1 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 -pair_coeff * * oxdna2/hbond seqav 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 1 4 oxdna2/hbond seqav 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 2 3 oxdna2/hbond seqav 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff * * oxdna2/xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68 -pair_coeff * * oxdna2/coaxstk 58.5 0.4 0.6 0.22 0.58 2.0 2.891592653589793 0.65 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 40.0 3.116592653589793 -pair_coeff * * oxdna2/dh ${T} 1.0 0.815 -pair_coeff * * oxdna2/dh 0.1 1.0 0.815 - -# NVE ensemble -fix 1 all nve/dot -#fix 1 all nve/dotc/langevin ${T} ${T} 0.03 457145 angmom 10 -#fix 1 all nve/asphere -#fix 2 all langevin ${T} ${T} 0.03 457145 angmom 10 - -timestep 1e-5 - -#comm_style tiled -#fix 3 all balance 10000 1.1 rcb -comm_modify cutoff 2.5 - -#compute mol all chunk/atom molecule -#compute mychunk all vcm/chunk mol -#fix 4 all ave/time 10000 1 10000 c_mychunk[1] c_mychunk[2] c_mychunk[3] file vcm.txt mode vector - -#dump pos all xyz ${ofreq} traj.${number}.xyz - -#compute quat all property/atom quatw quati quatj quatk -#dump quat all custom ${ofreq} quat.${number}.txt id c_quat[1] c_quat[2] c_quat[3] c_quat[4] -#dump_modify quat sort id -#dump_modify quat format line "%d %13.6le %13.6le %13.6le %13.6le" - -compute erot all erotate/asphere -compute ekin all ke -compute epot all pe -variable erot equal c_erot -variable ekin equal c_ekin -variable epot equal c_epot -variable etot equal c_erot+c_ekin+c_epot -fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes -fix 5 all print 1000 "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes - -#dump out all custom ${ofreq} out.${number}.txt id x y z vx vy vz fx fy fz tqx tqy tqz -#dump_modify out sort id -#dump_modify out format line "%d %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le" - -run 1000000 -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.6274048 - ghost atom cutoff = 2.6274048 - binsize = 1.3137024, bins = 31 31 31 - 6 neighbor lists, perpetual/occasional/extra = 6 0 0 - (1) pair oxdna2/excv, perpetual - attributes: half, newton off - pair build: half/bin/newtoff - stencil: half/bin/3d/newtoff - bin: standard - (2) pair oxdna2/stk, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (3) pair oxdna2/hbond, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (4) pair oxdna2/xstk, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (5) pair oxdna2/coaxstk, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (6) pair oxdna2/dh, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none -WARNING: Communication cutoff adjusted to 2.627404783947349 (../comm.cpp:690) -0 ekin = 0 | erot = 0 | epot = -14.6175140343334 | etot = -14.6175140343334 -Per MPI rank memory allocation (min/avg/max) = 8.021 | 8.021 | 8.021 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 0 -1.4712768 0.009525411 -1.4617514 4.663076e-06 -1000 ekin = 0.00113086229080528 | erot = 0.0043101016040658 | epot = -14.6229549982368 | etot = -14.617514034342 -2000 ekin = 0.0044853322434243 | erot = 0.0171407706505008 | epot = -14.6391401372615 | etot = -14.6175140343675 -3000 ekin = 0.00995035259649285 | erot = 0.0381961780846484 | epot = -14.6656605650904 | etot = -14.6175140344093 -4000 ekin = 0.0173418024862054 | erot = 0.0669935184860634 | epot = -14.7018493554381 | etot = -14.6175140344659 -5000 ekin = 0.0264109356286075 | erot = 0.102878288094517 | epot = -14.7468032582586 | etot = -14.6175140345355 -6000 ekin = 0.0368533113591442 | erot = 0.14504542056987 | epot = -14.7994127665447 | etot = -14.6175140346157 -7000 ekin = 0.0483200640564843 | erot = 0.192565862515508 | epot = -14.8583999612756 | etot = -14.6175140347036 -8000 ekin = 0.0604312317605998 | erot = 0.244417870131508 | epot = -14.9223631366883 | etot = -14.6175140347962 -9000 ekin = 0.0727907119671751 | erot = 0.299521949931839 | epot = -14.989826696789 | etot = -14.6175140348899 -10000 ekin = 0.0850022498875221 | erot = 0.356777997217902 | epot = -15.0592942820869 | etot = -14.6175140349815 -11000 ekin = 0.0966857134041704 | erot = 0.415102860829614 | epot = -15.1293026093013 | etot = -14.6175140350675 -12000 ekin = 0.107492790688446 | erot = 0.473466334178045 | epot = -15.1984731600115 | etot = -14.617514035145 -13000 ekin = 0.117121180381715 | erot = 0.530923485009724 | epot = -15.2655587006029 | etot = -14.6175140352115 -14000 ekin = 0.125326348459166 | erot = 0.586641324447693 | epot = -15.329481708172 | etot = -14.6175140352651 -15000 ekin = 0.131930017119452 | erot = 0.639918104234695 | epot = -15.389362156659 | etot = -14.6175140353048 -16000 ekin = 0.136824741331535 | erot = 0.690194029501056 | epot = -15.4445328061632 | etot = -14.6175140353306 -17000 ekin = 0.139974218116303 | erot = 0.73705286614779 | epot = -15.4945411196072 | etot = -14.6175140353432 -18000 ekin = 0.141409342139924 | erot = 0.780214750583505 | epot = -15.5391381280674 | etot = -14.617514035344 -19000 ekin = 0.14122042490348 | erot = 0.819521373491594 | epot = -15.5782558337303 | etot = -14.6175140353352 -20000 ekin = 0.139546371890615 | erot = 0.854915474127934 | epot = -15.6119758813378 | etot = -14.6175140353193 -21000 ekin = 0.136561897558623 | erot = 0.886417110947779 | epot = -15.6404930438051 | etot = -14.6175140352987 -22000 ekin = 0.132464002543739 | erot = 0.914099368829953 | epot = -15.6640774066495 | etot = -14.6175140352758 -23000 ekin = 0.127458921012922 | erot = 0.938065991541773 | epot = -15.6830389478072 | etot = -14.6175140352525 -24000 ekin = 0.121750582423385 | erot = 0.958432936326242 | epot = -15.6976975539802 | etot = -14.6175140352305 -25000 ekin = 0.115531361418989 | erot = 0.97531514293118 | epot = -15.7083605395609 | etot = -14.6175140352107 -26000 ekin = 0.108975565586104 | erot = 0.988819027952036 | epot = -15.7153086287315 | etot = -14.6175140351934 -27000 ekin = 0.102235785319049 | erot = 0.999040485514132 | epot = -15.7187903060115 | etot = -14.6175140351783 -28000 ekin = 0.095441943431881 | erot = 1.00606759140964 | epot = -15.7190235700066 | etot = -14.6175140351651 -29000 ekin = 0.0887026587343887 | erot = 1.00998681843601 | epot = -15.7162035123233 | etot = -14.6175140351529 -30000 ekin = 0.0821083868014372 | erot = 1.01089138149893 | epot = -15.7105138034411 | etot = -14.6175140351407 -31000 ekin = 0.0757357206087773 | erot = 1.00889031641317 | epot = -15.7021400721498 | etot = -14.6175140351278 -32000 ekin = 0.0696522149388972 | erot = 1.00411701389994 | epot = -15.691283263952 | etot = -14.6175140351132 -33000 ekin = 0.0639211300028632 | erot = 0.996736133735177 | epot = -15.6781712988344 | etot = -14.6175140350964 -34000 ekin = 0.0586055597939536 | erot = 0.986948071943124 | epot = -15.6630676668141 | etot = -14.617514035077 -35000 ekin = 0.0537715085519321 | erot = 0.97499041461744 | epot = -15.6462759582244 | etot = -14.617514035055 -36000 ekin = 0.0494895953264297 | erot = 0.961136064967259 | epot = -15.6281396953245 | etot = -14.6175140350308 -37000 ekin = 0.0458351949405726 | erot = 0.945687966086967 | epot = -15.6090371960325 | etot = -14.617514035005 -38000 ekin = 0.0428869588016531 | erot = 0.928970560852795 | epot = -15.5893715546332 | etot = -14.6175140349787 -39000 ekin = 0.0407237982122988 | erot = 0.9113183396798 | epot = -15.5695561728451 | etot = -14.617514034953 -40000 ekin = 0.0394205547754457 | erot = 0.893062038097747 | epot = -15.5499966278026 | etot = -14.6175140349294 -41000 ekin = 0.0390427256107104 | erot = 0.874513269990878 | epot = -15.5310700305109 | etot = -14.6175140349093 -42000 ekin = 0.0396407506458402 | erot = 0.855948622306271 | epot = -15.5131034078461 | etot = -14.617514034894 -43000 ekin = 0.0412444930542154 | erot = 0.837594480923697 | epot = -15.4963530088628 | etot = -14.6175140348849 -44000 ekin = 0.0438586280730372 | erot = 0.819614069272971 | epot = -15.4809867322287 | etot = -14.6175140348826 -45000 ekin = 0.0474596621516281 | erot = 0.802098297010783 | epot = -15.4670719940501 | etot = -14.6175140348877 -46000 ekin = 0.0519951857192148 | erot = 0.785061947877571 | epot = -15.4545711684965 | etot = -14.6175140348997 -47000 ekin = 0.0573856747191636 | erot = 0.76844639238657 | epot = -15.4433461020232 | etot = -14.6175140349174 -48000 ekin = 0.0635286843632004 | erot = 0.75212933501618 | epot = -15.433172054319 | etot = -14.6175140349396 -49000 ekin = 0.070304673538874 | erot = 0.735941123250837 | epot = -15.4237598317539 | etot = -14.6175140349642 -50000 ekin = 0.0775831019857076 | erot = 0.719686007781425 | epot = -15.4147831447563 | etot = -14.6175140349892 -51000 ekin = 0.0852270843845694 | erot = 0.703165726695028 | epot = -15.4059068460928 | etot = -14.6175140350132 -52000 ekin = 0.0930950223451647 | erot = 0.686202231166125 | epot = -15.396811288546 | etot = -14.6175140350347 -53000 ekin = 0.101038429252995 | erot = 0.668656546988927 | epot = -15.3872090112954 | etot = -14.6175140350535 -54000 ekin = 0.10889654098061 | erot = 0.650441726174306 | epot = -15.3768523022246 | etot = -14.6175140350697 -55000 ekin = 0.116489881626234 | erot = 0.631529329348001 | epot = -15.3655332460579 | etot = -14.6175140350836 -56000 ekin = 0.12361610349192 | erot = 0.611950383382611 | epot = -15.35308052197 | etot = -14.6175140350954 -57000 ekin = 0.130051530401153 | erot = 0.591792721317295 | epot = -15.3393582868232 | etot = -14.6175140351048 -58000 ekin = 0.135560625193501 | erot = 0.571196690673292 | epot = -15.3242713509773 | etot = -14.6175140351105 -59000 ekin = 0.139913350827135 | erot = 0.550350463180279 | epot = -15.307777849119 | etot = -14.6175140351115 -60000 ekin = 0.142907875045794 | erot = 0.529485019662529 | epot = -15.2899069298147 | etot = -14.6175140351063 -61000 ekin = 0.144394224777542 | erot = 0.508867904998907 | epot = -15.2707761648706 | etot = -14.6175140350941 -62000 ekin = 0.144294003785763 | erot = 0.488794507592477 | epot = -15.2506025464531 | etot = -14.6175140350748 -63000 ekin = 0.142612256998146 | erot = 0.469576039421557 | epot = -15.2297023314688 | etot = -14.6175140350491 -64000 ekin = 0.139439544726902 | erot = 0.45152434495459 | epot = -15.2084779247003 | etot = -14.6175140350188 -65000 ekin = 0.134944526553566 | erot = 0.434934714913839 | epot = -15.1873932764535 | etot = -14.6175140349861 -66000 ekin = 0.129359146358223 | erot = 0.420068607767106 | epot = -15.1669417890788 | etot = -14.6175140349535 -67000 ekin = 0.122959458764236 | erot = 0.407138362059705 | epot = -15.1476118557469 | etot = -14.617514034923 -68000 ekin = 0.116045210525559 | erot = 0.396295631876262 | epot = -15.1298548772986 | etot = -14.6175140348968 -69000 ekin = 0.108920722072365 | erot = 0.38762458997195 | epot = -15.1140593469202 | etot = -14.6175140348758 -70000 ekin = 0.101878740729572 | erot = 0.381140173640836 | epot = -15.1005329492313 | etot = -14.6175140348609 -71000 ekin = 0.0951880561484016 | erot = 0.376791007701538 | epot = -15.0894930987019 | etot = -14.617514034852 -72000 ekin = 0.0890849677261927 | erot = 0.374466237250371 | epot = -15.0810652398255 | etot = -14.6175140348489 -73000 ekin = 0.0837682427021612 | erot = 0.374005347599889 | epot = -15.0752876251531 | etot = -14.617514034851 -74000 ekin = 0.0793969849744096 | erot = 0.375210076750601 | epot = -15.0721210965825 | etot = -14.6175140348575 -75000 ekin = 0.0760907865069267 | erot = 0.377857644572265 | epot = -15.0714624659463 | etot = -14.6175140348671 -76000 ekin = 0.0739315834908328 | erot = 0.381714646755152 | epot = -15.0731602651247 | etot = -14.6175140348788 -77000 ekin = 0.0729667273608161 | erot = 0.386551032956121 | epot = -15.0770317952083 | etot = -14.6175140348914 -78000 ekin = 0.073212865507933 | erot = 0.392153586683229 | epot = -15.0828804870951 | etot = -14.617514034904 -79000 ekin = 0.074660287835072 | erot = 0.398338263929461 | epot = -15.09051258668 | etot = -14.6175140349155 -80000 ekin = 0.0772774298944847 | erot = 0.404960669863083 | epot = -15.0997521346826 | etot = -14.6175140349251 -81000 ekin = 0.0810152396746107 | erot = 0.411923913359048 | epot = -15.1104531879657 | etot = -14.617514034932 -82000 ekin = 0.0858111278279411 | erot = 0.419183131304986 | epot = -15.1225082940691 | etot = -14.6175140349362 -83000 ekin = 0.0915922459205373 | erot = 0.426746154030553 | epot = -15.1358524348887 | etot = -14.6175140349376 -84000 ekin = 0.0982778862653023 | erot = 0.434670094582779 | epot = -15.1504620157846 | etot = -14.6175140349365 -85000 ekin = 0.105780875252123 | erot = 0.443054055542032 | epot = -15.1663489657278 | etot = -14.6175140349337 -86000 ekin = 0.114007936320491 | erot = 0.452028591870552 | epot = -15.183550563121 | etot = -14.6175140349299 -87000 ekin = 0.122859117093021 | erot = 0.461742961599068 | epot = -15.2021161136185 | etot = -14.6175140349264 -88000 ekin = 0.132226490250365 | erot = 0.472351454260961 | epot = -15.2220919794351 | etot = -14.6175140349238 -89000 ekin = 0.14199243043518 | erot = 0.484000150228927 | epot = -15.2435066155872 | etot = -14.6175140349231 -90000 ekin = 0.152027823848745 | erot = 0.49681531383988 | epot = -15.2663571726137 | etot = -14.6175140349251 -91000 ekin = 0.162190574344125 | erot = 0.510894287760631 | epot = -15.2905988970349 | etot = -14.6175140349302 -92000 ekin = 0.172324730223241 | erot = 0.526299304076712 | epot = -15.3161380692387 | etot = -14.6175140349387 -93000 ekin = 0.182260479602514 | erot = 0.543054150883983 | epot = -15.342828665437 | etot = -14.6175140349505 -94000 ekin = 0.191815166424497 | erot = 0.561143224560487 | epot = -15.3704724259505 | etot = -14.6175140349655 -95000 ekin = 0.200795384589871 | erot = 0.580512230413669 | epot = -15.398821649987 | etot = -14.6175140349834 -96000 ekin = 0.209000133284301 | erot = 0.601069706845445 | epot = -15.4275838751336 | etot = -14.6175140350039 -97000 ekin = 0.216224974983076 | erot = 0.622688639933065 | epot = -15.4564276499427 | etot = -14.6175140350266 -98000 ekin = 0.222267131485452 | erot = 0.645207670246426 | epot = -15.4849888367829 | etot = -14.617514035051 -99000 ekin = 0.226931474008822 | erot = 0.668431711040234 | epot = -15.5128772201258 | etot = -14.6175140350768 -100000 ekin = 0.230037392185194 | erot = 0.692132125756912 | epot = -15.5396835530455 | etot = -14.6175140351034 -101000 ekin = 0.231426538774339 | erot = 0.716046886549487 | epot = -15.5649874604541 | etot = -14.6175140351302 -102000 ekin = 0.230971416186116 | erot = 0.739881303910906 | epot = -15.5883667552535 | etot = -14.6175140351565 -103000 ekin = 0.228584676860968 | erot = 0.763309953365433 | epot = -15.6094086654079 | etot = -14.6175140351815 -104000 ekin = 0.224228843046698 | erot = 0.785980326921886 | epot = -15.6277232051725 | etot = -14.6175140352039 -105000 ekin = 0.217925953180593 | erot = 0.807518535460022 | epot = -15.6429585238635 | etot = -14.6175140352229 -106000 ekin = 0.209766205881976 | erot = 0.827537066837565 | epot = -15.6548173079567 | etot = -14.6175140352372 -107000 ekin = 0.19991466311948 | erot = 0.845644346598459 | epot = -15.6630730449638 | etot = -14.6175140352459 -108000 ekin = 0.188614735691129 | erot = 0.861455562303715 | epot = -15.6675843332431 | etot = -14.6175140352483 -109000 ekin = 0.176187061061687 | erot = 0.874603999194433 | epot = -15.6683050955002 | etot = -14.6175140352441 -110000 ekin = 0.163022626611995 | erot = 0.88475208463374 | epot = -15.6652887464792 | etot = -14.6175140352335 -111000 ekin = 0.14956938211077 | erot = 0.89160140093568 | epot = -15.6586848182637 | etot = -14.6175140352173 -112000 ekin = 0.136312261124986 | erot = 0.8949011206007 | epot = -15.6487274169225 | etot = -14.6175140351968 -113000 ekin = 0.123747404857758 | erot = 0.894454602033368 | epot = -15.6357160420648 | etot = -14.6175140351736 -114000 ekin = 0.112352324429831 | erot = 0.890124196452667 | epot = -15.6199905560322 | etot = -14.6175140351497 -115000 ekin = 0.102554569787556 | erot = 0.881834585426713 | epot = -15.6019031903412 | etot = -14.6175140351269 -116000 ekin = 0.0947020047096738 | erot = 0.869575126614186 | epot = -15.5817911664307 | etot = -14.6175140351068 -117000 ekin = 0.0890378681937318 | erot = 0.853401690493949 | epot = -15.559953593778 | etot = -14.6175140350903 -118000 ekin = 0.0856833736308548 | erot = 0.833438318818926 | epot = -15.5366357275277 | etot = -14.6175140350779 -119000 ekin = 0.0846297171118248 | erot = 0.809878764032089 | epot = -15.5120225162133 | etot = -14.6175140350694 -120000 ekin = 0.0857402026936468 | erot = 0.782987649501416 | epot = -15.4862418872589 | etot = -14.6175140350638 -121000 ekin = 0.088761978164944 | erot = 0.753100709615785 | epot = -15.4593767228408 | etot = -14.61751403506 -122000 ekin = 0.0933458418336512 | erot = 0.720623403982127 | epot = -15.4314832808722 | etot = -14.6175140350564 -123000 ekin = 0.0990718975139699 | erot = 0.68602719834959 | epot = -15.4026131309152 | etot = -14.6175140350516 -124000 ekin = 0.105478567535099 | erot = 0.649842971567299 | epot = -15.3728355741467 | etot = -14.6175140350443 -125000 ekin = 0.112092583657528 | erot = 0.61265130691034 | epot = -15.3422579256011 | etot = -14.6175140350332 -126000 ekin = 0.118457948670349 | erot = 0.575069793125981 | epot = -15.3110417768144 | etot = -14.617514035018 -127000 ekin = 0.124162352097832 | erot = 0.537737821903371 | epot = -15.2794142089993 | etot = -14.6175140349981 -128000 ekin = 0.128860000475183 | erot = 0.501299660072983 | epot = -15.2476736955218 | etot = -14.6175140349736 -129000 ekin = 0.132290197681538 | erot = 0.466386755141783 | epot = -15.2161909877681 | etot = -14.6175140349448 -130000 ekin = 0.134291248323408 | erot = 0.433600287194685 | epot = -15.1854055704302 | etot = -14.6175140349121 -131000 ekin = 0.134809368079367 | erot = 0.403494917851113 | epot = -15.1558183208069 | etot = -14.6175140348764 -132000 ekin = 0.133902311413259 | erot = 0.376564532721602 | epot = -15.1279808789733 | etot = -14.6175140348385 -133000 ekin = 0.131737425950174 | erot = 0.353230559449875 | epot = -15.1024820201993 | etot = -14.6175140347993 -134000 ekin = 0.128583872250139 | erot = 0.333833200745338 | epot = -15.0799311077557 | etot = -14.6175140347602 -135000 ekin = 0.124798858319487 | erot = 0.31862567876175 | epot = -15.0609385718037 | etot = -14.6175140347224 -136000 ekin = 0.12080796695122 | erot = 0.307771366705934 | epot = -15.0460933683448 | etot = -14.6175140346877 -137000 ekin = 0.117080018573556 | erot = 0.301343503849859 | epot = -15.0359375570811 | etot = -14.6175140346577 -138000 ekin = 0.114097404451637 | erot = 0.299327064918768 | epot = -15.0309385040046 | etot = -14.6175140346342 -139000 ekin = 0.112323403877397 | erot = 0.301622293047273 | epot = -15.0314597315437 | etot = -14.6175140346191 -140000 ekin = 0.112168587317134 | erot = 0.308049410073558 | epot = -15.0377320320047 | etot = -14.617514034614 -141000 ekin = 0.113958896787483 | erot = 0.318354084563277 | epot = -15.0498270159712 | etot = -14.6175140346204 -142000 ekin = 0.117908250110044 | erot = 0.332213334114174 | epot = -15.0676356188633 | etot = -14.6175140346391 -143000 ekin = 0.124098500240116 | erot = 0.349241744868859 | epot = -15.0908542797794 | etot = -14.6175140346704 -144000 ekin = 0.132469049162244 | erot = 0.36899804234383 | epot = -15.1189811262199 | etot = -14.6175140347138 -145000 ekin = 0.142817534773294 | erot = 0.390992018433025 | epot = -15.1513235879745 | etot = -14.6175140347682 -146000 ekin = 0.154812002594044 | erot = 0.414692148538822 | epot = -15.1870181859643 | etot = -14.6175140348315 -147000 ekin = 0.168013608208165 | erot = 0.43953414756317 | epot = -15.2250617906724 | etot = -14.6175140349011 -148000 ekin = 0.181907755044192 | erot = 0.46493071599216 | epot = -15.2643525060103 | etot = -14.617514034974 -149000 ekin = 0.195940689918404 | erot = 0.490282644230507 | epot = -15.3037373691959 | etot = -14.6175140350469 -150000 ekin = 0.209558115498161 | erot = 0.514991307802203 | epot = -15.3420634584171 | etot = -14.6175140351168 -151000 ekin = 0.222242375358722 | erot = 0.538472447669863 | epot = -15.3782288582089 | etot = -14.6175140351803 -152000 ekin = 0.233545181100895 | erot = 0.560170967504241 | epot = -15.4112301838403 | etot = -14.6175140352351 -153000 ekin = 0.243113638171897 | erot = 0.579575715963473 | epot = -15.4402033894145 | etot = -14.6175140352791 -154000 ekin = 0.250708030719563 | erot = 0.596234520730074 | epot = -15.4644565867606 | etot = -14.617514035311 -155000 ekin = 0.256210874594961 | erot = 0.609768185048496 | epot = -15.4834930949732 | etot = -14.6175140353298 -156000 ekin = 0.259627463842806 | erot = 0.619882772314079 | epot = -15.4970242714923 | etot = -14.6175140353354 -157000 ekin = 0.26107875673392 | erot = 0.626379517381585 | epot = -15.5049723094438 | etot = -14.6175140353283 -158000 ekin = 0.260787877594978 | erot = 0.629161788909624 | epot = -15.5074637018139 | etot = -14.6175140353093 -159000 ekin = 0.259061752299553 | erot = 0.628238692725195 | epot = -15.5048144803046 | etot = -14.6175140352799 -160000 ekin = 0.256269476948141 | erot = 0.623725097357881 | epot = -15.4975086095477 | etot = -14.6175140352417 -161000 ekin = 0.252818974262866 | erot = 0.615838055765116 | epot = -15.4861710652245 | etot = -14.6175140351965 -162000 ekin = 0.249133354781009 | erot = 0.604889772114047 | epot = -15.4715371620415 | etot = -14.6175140351465 -163000 ekin = 0.245628201594233 | erot = 0.591277407066157 | epot = -15.4544196437542 | etot = -14.6175140350938 -164000 ekin = 0.242690765770646 | erot = 0.5754701254003 | epot = -15.4356749262112 | etot = -14.6175140350402 -165000 ekin = 0.240661818237773 | erot = 0.557993868664013 | epot = -15.4161697218898 | etot = -14.617514034988 -166000 ekin = 0.239820672159938 | erot = 0.539414388849556 | epot = -15.3967490959484 | etot = -14.6175140349389 -167000 ekin = 0.24037368261711 | erot = 0.520319112884873 | epot = -15.3782068303964 | etot = -14.6175140348944 -168000 ekin = 0.24244635767351 | erot = 0.501298426047331 | epot = -15.3612588185771 | etot = -14.6175140348562 -169000 ekin = 0.246079081489649 | erot = 0.482926967022199 | epot = -15.3465200833372 | etot = -14.6175140348253 -170000 ekin = 0.2512263556708 | erot = 0.465745518941327 | epot = -15.334485909415 | etot = -14.6175140348028 -171000 ekin = 0.257759407502687 | erot = 0.450244072412507 | epot = -15.3255175147045 | etot = -14.6175140347893 -172000 ekin = 0.265471962315305 | erot = 0.436846557572436 | epot = -15.3198325546728 | etot = -14.617514034785 -173000 ekin = 0.274088992052948 | erot = 0.425897760801831 | epot = -15.3175007876449 | etot = -14.6175140347901 -174000 ekin = 0.283278228108448 | erot = 0.417652965987037 | epot = -15.3184452288997 | etot = -14.6175140348042 -175000 ekin = 0.292664164217591 | erot = 0.412270652066437 | epot = -15.3224488511105 | etot = -14.6175140348264 -176000 ekin = 0.301844276744599 | erot = 0.409808663992694 | epot = -15.3291669755931 | etot = -14.6175140348558 -177000 ekin = 0.310407103278429 | erot = 0.410224178772685 | epot = -15.3381453169418 | etot = -14.6175140348907 -178000 ekin = 0.317951707449239 | erot = 0.413377690532346 | epot = -15.3488434329111 | etot = -14.6175140349295 -179000 ekin = 0.324107901132174 | erot = 0.419041092198358 | epot = -15.3606630283006 | etot = -14.6175140349701 -180000 ekin = 0.328556397749118 | erot = 0.426909726006353 | epot = -15.3729801587658 | etot = -14.6175140350103 -181000 ekin = 0.331047834154798 | erot = 0.436618006901549 | epot = -15.3851798761042 | etot = -14.6175140350478 -182000 ekin = 0.331419420115411 | erot = 0.447757936313848 | epot = -15.3966913915096 | etot = -14.6175140350804 -183000 ekin = 0.329607792338432 | erot = 0.459899520064776 | epot = -15.4070213475094 | etot = -14.6175140351062 -184000 ekin = 0.325656516855951 | erot = 0.472611792132538 | epot = -15.4157823441122 | etot = -14.6175140351237 -185000 ekin = 0.319716934488103 | erot = 0.485483030926984 | epot = -15.4227140005474 | etot = -14.6175140351323 -186000 ekin = 0.312041347783061 | erot = 0.498138700397667 | epot = -15.4276940833127 | etot = -14.6175140351319 -187000 ekin = 0.302968200961952 | erot = 0.510255791848641 | epot = -15.4307380279341 | etot = -14.6175140351235 -188000 ekin = 0.292899787357099 | erot = 0.521572552051206 | epot = -15.4319863745165 | etot = -14.6175140351082 -189000 ekin = 0.282274048056294 | erot = 0.531893031493142 | epot = -15.4316811146379 | etot = -14.6175140350885 -190000 ekin = 0.271533034589587 | erot = 0.541086413296707 | epot = -15.4301334829529 | etot = -14.6175140350666 -191000 ekin = 0.261091384545769 | erot = 0.54908161018572 | epot = -15.4276870297764 | etot = -14.6175140350449 -192000 ekin = 0.251308489708551 | erot = 0.555858063434352 | epot = -15.4246805881686 | etot = -14.6175140350257 -193000 ekin = 0.242467771120031 | erot = 0.561433978654736 | epot = -15.4214157847852 | etot = -14.6175140350104 -194000 ekin = 0.2347655816246 | erot = 0.565853352187793 | epot = -15.4181329688123 | etot = -14.6175140349999 -195000 ekin = 0.228310848061445 | erot = 0.569173077812631 | epot = -15.4149979608682 | etot = -14.6175140349941 -196000 ekin = 0.223134890550306 | erot = 0.57145120860725 | epot = -15.4121001341502 | etot = -14.6175140349926 -197000 ekin = 0.219209242156003 | erot = 0.572737138233763 | epot = -15.409460415384 | etot = -14.6175140349943 -198000 ekin = 0.216468062809104 | erot = 0.573064123808166 | epot = -15.4070462216152 | etot = -14.6175140349979 -199000 ekin = 0.214831137522652 | erot = 0.572444258403913 | epot = -15.4047894309289 | etot = -14.6175140350023 -200000 ekin = 0.214223573902254 | erot = 0.57086576066316 | epot = -15.4026033695722 | etot = -14.6175140350067 -201000 ekin = 0.214589119166907 | erot = 0.568292309386801 | epot = -15.4003954635645 | etot = -14.6175140350107 -202000 ekin = 0.215895325602457 | erot = 0.564664121433424 | epot = -15.3980734820503 | etot = -14.6175140350145 -203000 ekin = 0.218130347570136 | erot = 0.559900543318492 | epot = -15.395544925907 | etot = -14.6175140350184 -204000 ekin = 0.221292667473869 | erot = 0.553904074217835 | epot = -15.3927107767149 | etot = -14.6175140350232 -205000 ekin = 0.225376258610798 | erot = 0.546565915588112 | epot = -15.3894562092286 | etot = -14.6175140350297 -206000 ekin = 0.230354397529151 | erot = 0.537773288683187 | epot = -15.3856417212507 | etot = -14.6175140350384 -207000 ekin = 0.236165428414771 | erot = 0.527418806929786 | epot = -15.3810982703936 | etot = -14.617514035049 -208000 ekin = 0.242703261860427 | erot = 0.515412077175151 | epot = -15.3756293740966 | etot = -14.617514035061 -209000 ekin = 0.249814382550021 | erot = 0.501693407691568 | epot = -15.3690218253148 | etot = -14.6175140350732 -210000 ekin = 0.257301864855649 | erot = 0.486249049965564 | epot = -15.361064949905 | etot = -14.6175140350838 -211000 ekin = 0.264935635394273 | erot = 0.469126912720557 | epot = -15.3515765832057 | etot = -14.6175140350909 -212000 ekin = 0.272467183646406 | erot = 0.450451153648061 | epot = -15.3404323723872 | etot = -14.6175140350927 -213000 ekin = 0.279646306736793 | erot = 0.430433702677846 | epot = -15.3275940445023 | etot = -14.6175140350876 -214000 ekin = 0.286237611276688 | erot = 0.409381288017783 | epot = -15.3131329343691 | etot = -14.6175140350746 -215000 ekin = 0.292034643872632 | erot = 0.387696263734527 | epot = -15.2972449426606 | etot = -14.6175140350534 -216000 ekin = 0.296870258152624 | erot = 0.365870567411729 | epot = -15.2802548605889 | etot = -14.6175140350245 -217000 ekin = 0.300622666324868 | erot = 0.344472695102956 | epot = -15.2626093964168 | etot = -14.617514034989 -218000 ekin = 0.303217269541043 | erot = 0.324128407398458 | epot = -15.2448597118882 | etot = -14.6175140349487 -219000 ekin = 0.304624843911682 | erot = 0.305496496152239 | epot = -15.2276353749694 | etot = -14.6175140349055 -220000 ekin = 0.304856982073792 | erot = 0.289241221676068 | epot = -15.2116122386118 | etot = -14.6175140348619 -221000 ekin = 0.303959749544065 | erot = 0.276003133762455 | epot = -15.1974769181266 | etot = -14.61751403482 -222000 ekin = 0.302006434070655 | erot = 0.266369862265548 | epot = -15.1858903311184 | etot = -14.6175140347822 -223000 ekin = 0.299090105490396 | erot = 0.260848208954625 | epot = -15.1774523491954 | etot = -14.6175140347503 -224000 ekin = 0.29531650374511 | erot = 0.259838588557332 | epot = -15.1726691270288 | etot = -14.6175140347264 -225000 ekin = 0.290797600317434 | erot = 0.263612591735795 | epot = -15.1719242267649 | etot = -14.6175140347117 -226000 ekin = 0.285646103232653 | erot = 0.272294318080247 | epot = -15.1754544560203 | etot = -14.6175140347074 -227000 ekin = 0.279971018689074 | erot = 0.285846075011501 | epot = -15.1833311284151 | etot = -14.6175140347145 -228000 ekin = 0.273874374727583 | erot = 0.304059069119542 | epot = -15.1954474785804 | etot = -14.6175140347333 -229000 ekin = 0.267449174159942 | erot = 0.326549807965912 | epot = -15.2115130168895 | etot = -14.6175140347636 -230000 ekin = 0.260778614118952 | erot = 0.352763004039877 | epot = -15.2310556529637 | etot = -14.6175140348048 -231000 ekin = 0.253936564976955 | erot = 0.381981763344646 | epot = -15.2534323631772 | etot = -14.6175140348556 -232000 ekin = 0.24698923084228 | erot = 0.413345683736504 | epot = -15.2778489494931 | etot = -14.6175140349143 -233000 ekin = 0.239997814735683 | erot = 0.445877135783545 | epot = -15.3033889854978 | etot = -14.6175140349785 -234000 ekin = 0.233021891669698 | erot = 0.478515439398703 | epot = -15.3290513661138 | etot = -14.6175140350454 -235000 ekin = 0.226123071286244 | erot = 0.510157919201248 | epot = -15.3537950255994 | etot = -14.6175140351119 -236000 ekin = 0.219368436952614 | erot = 0.539706010633753 | epot = -15.3765884827609 | etot = -14.6175140351745 -237000 ekin = 0.212833212708479 | erot = 0.566113832023268 | epot = -15.3964610799618 | etot = -14.6175140352301 -238000 ekin = 0.206602165162757 | erot = 0.588436180449468 | epot = -15.412552380888 | etot = -14.6175140352757 -239000 ekin = 0.200769360307635 | erot = 0.605872583258753 | epot = -15.4241559788757 | etot = -14.6175140353093 -240000 ekin = 0.195436190928488 | erot = 0.617803458378408 | epot = -15.4307536846362 | etot = -14.6175140353293 -241000 ekin = 0.190707920284559 | erot = 0.623817360381655 | epot = -15.4320393160013 | etot = -14.6175140353351 -242000 ekin = 0.186689132523883 | erot = 0.623726737660644 | epot = -15.4279299055112 | etot = -14.6175140353267 -243000 ekin = 0.18347888087463 | erot = 0.61757185737741 | epot = -15.418564773557 | etot = -14.617514035305 -244000 ekin = 0.181166166759762 | erot = 0.60561292371356 | epot = -15.4042931257446 | etot = -14.6175140352713 -245000 ekin = 0.179826690515581 | erot = 0.588311983398978 | epot = -15.3856527091421 | etot = -14.6175140352276 -246000 ekin = 0.179521473344392 | erot = 0.566306329740652 | epot = -15.3633418382609 | etot = -14.6175140351758 -247000 ekin = 0.180297726608685 | erot = 0.54037552872489 | epot = -15.3381872904519 | etot = -14.6175140351184 -248000 ekin = 0.182192022180427 | erot = 0.511404282992934 | epot = -15.3111103402306 | etot = -14.6175140350572 -249000 ekin = 0.185235475058219 | erot = 0.480343275338998 | epot = -15.2830927853917 | etot = -14.6175140349945 -250000 ekin = 0.18946032457762 | erot = 0.448169956263045 | epot = -15.2551443157728 | etot = -14.6175140349321 -251000 ekin = 0.194907020011059 | erot = 0.415851007133659 | epot = -15.2282720620165 | etot = -14.6175140348718 -252000 ekin = 0.201630699422451 | erot = 0.384307951122869 | epot = -15.2034526853603 | etot = -14.617514034815 -253000 ekin = 0.209705815254746 | erot = 0.354387113740477 | epot = -15.1816069637584 | etot = -14.6175140347632 -254000 ekin = 0.219227629545986 | erot = 0.326834860919931 | epot = -15.1635765251836 | etot = -14.6175140347177 -255000 ekin = 0.230309407956005 | erot = 0.302278768995696 | epot = -15.1501022116313 | etot = -14.6175140346796 -256000 ekin = 0.243074422920893 | erot = 0.281215109558497 | epot = -15.1418035671295 | etot = -14.6175140346501 -257000 ekin = 0.257642364628865 | erot = 0.264002762945737 | epot = -15.139159162205 | etot = -14.6175140346304 -258000 ekin = 0.274110461102935 | erot = 0.250863404057276 | epot = -15.1424878997817 | etot = -14.6175140346215 -259000 ekin = 0.292530483428745 | erot = 0.241887528332562 | epot = -15.1519320463858 | etot = -14.6175140346245 -260000 ekin = 0.312883750214262 | erot = 0.237045600990929 | epot = -15.167443385845 | etot = -14.6175140346398 -261000 ekin = 0.335057071665646 | erot = 0.23620332462488 | epot = -15.1887744309582 | etot = -14.6175140346677 -262000 ekin = 0.358823075932977 | erot = 0.239139750883904 | epot = -15.2154768615246 | etot = -14.6175140347077 -263000 ekin = 0.383828346058697 | erot = 0.24556675356939 | epot = -15.2469091343868 | etot = -14.6175140347588 -264000 ekin = 0.409592161639846 | erot = 0.25514829095879 | epot = -15.2822544874178 | etot = -14.6175140348192 -265000 ekin = 0.435517425641053 | erot = 0.267517972446926 | epot = -15.3205494329745 | etot = -14.6175140348865 -266000 ekin = 0.460913759434934 | erot = 0.28229374222826 | epot = -15.3607215366211 | etot = -14.6175140349579 -267000 ekin = 0.485031075314244 | erot = 0.299088986461549 | epot = -15.4016340968062 | etot = -14.6175140350304 -268000 ekin = 0.507100517474285 | erot = 0.317519986657596 | epot = -15.4421345392328 | etot = -14.6175140351009 -269000 ekin = 0.526378761164296 | erot = 0.337210258004039 | epot = -15.4811030543346 | etot = -14.6175140351662 -270000 ekin = 0.542191399558024 | erot = 0.357792786171182 | epot = -15.5174982209533 | etot = -14.6175140352241 -271000 ekin = 0.55397150127625 | erot = 0.378911394713957 | epot = -15.5503969312626 | etot = -14.6175140352724 -272000 ekin = 0.561290243477908 | erot = 0.400222387434508 | epot = -15.579026666222 | etot = -14.6175140353095 -273000 ekin = 0.563877614618956 | erot = 0.421397250044594 | epot = -15.6027888999983 | etot = -14.6175140353347 -274000 ekin = 0.561632338448697 | erot = 0.442126671656052 | epot = -15.6212730454525 | etot = -14.6175140353478 -275000 ekin = 0.554621238225524 | erot = 0.462125606775959 | epot = -15.6342608803503 | etot = -14.6175140353488 -276000 ekin = 0.543069132888247 | erot = 0.481138682332307 | epot = -15.6417218505594 | etot = -14.6175140353389 -277000 ekin = 0.527340979966703 | erot = 0.498945052082944 | epot = -15.6438000673687 | etot = -14.617514035319 -278000 ekin = 0.507918337218215 | erot = 0.515361832412993 | epot = -15.6407942049222 | etot = -14.617514035291 -279000 ekin = 0.485372319602766 | erot = 0.53024547360125 | epot = -15.6331318284605 | etot = -14.6175140352565 -280000 ekin = 0.460335116507262 | erot = 0.543490744710295 | epot = -15.6213398964351 | etot = -14.6175140352175 -281000 ekin = 0.433471859961099 | erot = 0.555027349455695 | epot = -15.606013244593 | etot = -14.6175140351762 -282000 ekin = 0.405454262481042 | erot = 0.564814480005611 | epot = -15.5877827776215 | etot = -14.6175140351348 -283000 ekin = 0.376937038993841 | erot = 0.572833827991569 | epot = -15.56728490208 | etot = -14.6175140350946 -284000 ekin = 0.348537747962758 | erot = 0.579081711929156 | epot = -15.5451334949486 | etot = -14.6175140350567 -285000 ekin = 0.320820372083395 | erot = 0.583561068644996 | epot = -15.5218954757513 | etot = -14.6175140350229 -286000 ekin = 0.294282726921591 | erot = 0.586274110944376 | epot = -15.49807087286 | etot = -14.617514034994 -287000 ekin = 0.269347634013421 | erot = 0.58721647590847 | epot = -15.4740781448926 | etot = -14.6175140349707 -288000 ekin = 0.246357704467551 | erot = 0.586373659771232 | epot = -15.450245399192 | etot = -14.6175140349532 -289000 ekin = 0.22557352214567 | erot = 0.583720426230562 | epot = -15.4268079833179 | etot = -14.6175140349417 -290000 ekin = 0.207174962818393 | erot = 0.57922365744791 | epot = -15.4039126552014 | etot = -14.6175140349351 -291000 ekin = 0.191265313940187 | erot = 0.572848780862473 | epot = -15.3816281297352 | etot = -14.6175140349326 -292000 ekin = 0.177877757396419 | erot = 0.564569470031942 | epot = -15.3599612623613 | etot = -14.617514034933 -293000 ekin = 0.166983649288418 | erot = 0.554379837681261 | epot = -15.3388775219044 | etot = -14.6175140349348 -294000 ekin = 0.158501898150678 | erot = 0.542307895558042 | epot = -15.3183238286452 | etot = -14.6175140349364 -295000 ekin = 0.152308641379645 | erot = 0.528428741575596 | epot = -15.298251417892 | etot = -14.6175140349367 -296000 ekin = 0.148246390134139 | erot = 0.512875830575803 | epot = -15.2786362556445 | etot = -14.6175140349346 -297000 ekin = 0.146131889948737 | erot = 0.495848833634457 | epot = -15.2594947585125 | etot = -14.6175140349293 -298000 ekin = 0.145762142540829 | erot = 0.477616979344766 | epot = -15.2408931568064 | etot = -14.6175140349208 -299000 ekin = 0.146918339842591 | erot = 0.458517327975552 | epot = -15.2229497027275 | etot = -14.6175140349094 -300000 ekin = 0.149367830717969 | erot = 0.438948042713275 | epot = -15.205829908327 | etot = -14.6175140348958 -301000 ekin = 0.152864610233931 | erot = 0.419357266834875 | epot = -15.1897359119496 | etot = -14.6175140348808 -302000 ekin = 0.157149122640062 | erot = 0.400228590599294 | epot = -15.1748917481051 | etot = -14.6175140348658 -303000 ekin = 0.16194834771892 | erot = 0.382064246008704 | epot = -15.1615266285792 | etot = -14.6175140348516 -304000 ekin = 0.166977167327322 | erot = 0.365367110080369 | epot = -15.1498583122469 | etot = -14.6175140348392 -305000 ekin = 0.171941885875759 | erot = 0.350622387002877 | epot = -15.1400783077083 | etot = -14.6175140348297 -306000 ekin = 0.176546522696758 | erot = 0.338279561365245 | epot = -15.1323401188853 | etot = -14.6175140348233 -307000 ekin = 0.180502080572099 | erot = 0.328734935092634 | epot = -15.1267510504853 | etot = -14.6175140348206 -308000 ekin = 0.183539117579173 | erot = 0.32231506851894 | epot = -15.1233682209196 | etot = -14.6175140348214 -309000 ekin = 0.185422589168761 | erot = 0.31926113518105 | epot = -15.1221977591756 | etot = -14.6175140348258 -310000 ekin = 0.18596838252546 | erot = 0.319714556778101 | epot = -15.1231969741369 | etot = -14.6175140348333 -311000 ekin = 0.185060444471766 | erot = 0.323704474533048 | epot = -15.1262789538485 | etot = -14.6175140348436 -312000 ekin = 0.18266705569995 | erot = 0.331137883754578 | epot = -15.1313189743107 | etot = -14.6175140348562 -313000 ekin = 0.178854671448202 | erot = 0.341793554574001 | epot = -15.1381622608926 | etot = -14.6175140348704 -314000 ekin = 0.173797674113419 | erot = 0.355321045101389 | epot = -15.1466327541005 | etot = -14.6175140348857 -315000 ekin = 0.167782440686126 | erot = 0.371246117949507 | epot = -15.1565425935371 | etot = -14.6175140349014 -316000 ekin = 0.161204347699483 | erot = 0.388983636697569 | epot = -15.1677020193138 | etot = -14.6175140349167 -317000 ekin = 0.154556738723145 | erot = 0.407858516720337 | epot = -15.1799292903744 | etot = -14.6175140349309 -318000 ekin = 0.148411457828143 | erot = 0.427134549770667 | epot = -15.1930600425422 | etot = -14.6175140349434 -319000 ekin = 0.143391260343367 | erot = 0.446049980955804 | epot = -15.2069552762529 | etot = -14.6175140349537 -320000 ekin = 0.140135163879429 | erot = 0.463857713006082 | epot = -15.2215069118471 | etot = -14.6175140349616 -321000 ekin = 0.139258496830789 | erot = 0.479867117343116 | epot = -15.2366396491412 | etot = -14.6175140349673 -322000 ekin = 0.141309963686665 | erot = 0.493483840953484 | epot = -15.2523078396112 | etot = -14.6175140349711 -323000 ekin = 0.146728465401823 | erot = 0.504243890594755 | epot = -15.2684863909706 | etot = -14.6175140349741 -324000 ekin = 0.155802740978128 | erot = 0.511838753068286 | epot = -15.285155529024 | etot = -14.6175140349776 -325000 ekin = 0.168637192339279 | erot = 0.516129344219886 | epot = -15.3022805715426 | etot = -14.6175140349834 -326000 ekin = 0.185127492740314 | erot = 0.517147991937071 | epot = -15.31978951967 | etot = -14.6175140349926 -327000 ekin = 0.204949583924698 | erot = 0.515089155112464 | epot = -15.3375527740434 | etot = -14.6175140350062 -328000 ekin = 0.227565145375698 | erot = 0.510290835145397 | epot = -15.3553700155455 | etot = -14.6175140350244 -329000 ekin = 0.252245305620947 | erot = 0.503209396461946 | epot = -15.3729687371292 | etot = -14.6175140350463 -330000 ekin = 0.278112223737838 | erot = 0.494390678508285 | epot = -15.3900169373164 | etot = -14.6175140350703 -331000 ekin = 0.304195517643728 | erot = 0.484439927615862 | epot = -15.4061494803532 | etot = -14.6175140350936 -332000 ekin = 0.329497983391289 | erot = 0.473992405220338 | epot = -15.4210044237253 | etot = -14.6175140351137 -333000 ekin = 0.353063353197021 | erot = 0.463685785197061 | epot = -15.4342631735221 | etot = -14.617514035128 -334000 ekin = 0.374038491014966 | erot = 0.454134842084351 | epot = -15.4456873682339 | etot = -14.6175140351346 -335000 ekin = 0.391723520498624 | erot = 0.44590856262641 | epot = -15.4551461182577 | etot = -14.6175140351327 -336000 ekin = 0.405605581596876 | erot = 0.439509690041266 | epot = -15.4626293067607 | etot = -14.6175140351225 -337000 ekin = 0.415374601836511 | erot = 0.435356764652945 | epot = -15.4682454015947 | etot = -14.6175140351053 -338000 ekin = 0.420921997008494 | erot = 0.4337688621957 | epot = -15.4722048942871 | etot = -14.6175140350829 -339000 ekin = 0.422325110445994 | erot = 0.434953376212245 | epot = -15.4747925217162 | etot = -14.6175140350579 -340000 ekin = 0.419821259879065 | erot = 0.438997304560045 | epot = -15.4763325994719 | etot = -14.6175140350328 -341000 ekin = 0.413775534579932 | erot = 0.445862573585468 | epot = -15.4771521431752 | etot = -14.6175140350098 -342000 ekin = 0.404646174019828 | erot = 0.455385967573506 | epot = -15.4775461765844 | etot = -14.617514034991 -343000 ekin = 0.392950705832007 | erot = 0.467284215126369 | epot = -15.4777489559361 | etot = -14.6175140349777 -344000 ekin = 0.379235231728315 | erot = 0.481164689425287 | epot = -15.4779139561242 | etot = -14.6175140349706 -345000 ekin = 0.364048459932831 | erot = 0.49654196729344 | epot = -15.4781044621959 | etot = -14.6175140349696 -346000 ekin = 0.347921358320248 | erot = 0.512860132814242 | epot = -15.4782955261082 | etot = -14.6175140349738 -347000 ekin = 0.331352665808313 | erot = 0.529520204052381 | epot = -15.4783869048424 | etot = -14.6175140349817 -348000 ekin = 0.314799955037007 | erot = 0.545911447468509 | epot = -15.478225437497 | etot = -14.6175140349915 -349000 ekin = 0.298675493175969 | erot = 0.561444708833552 | epot = -15.4776342370106 | etot = -14.6175140350011 -350000 ekin = 0.28334581552179 | erot = 0.575585348315622 | epot = -15.4764451988457 | etot = -14.6175140350083 -351000 ekin = 0.269133730328657 | erot = 0.587883045338955 | epot = -15.474530810679 | etot = -14.6175140350114 -352000 ekin = 0.256321431306528 | erot = 0.597995738138102 | epot = -15.4718312044538 | etot = -14.6175140350092 -353000 ekin = 0.245153509655857 | erot = 0.605705335206491 | epot = -15.4683728798634 | etot = -14.617514035001 -354000 ekin = 0.235838910987786 | erot = 0.610923562934953 | epot = -15.4642765089099 | etot = -14.6175140349872 -355000 ekin = 0.228551231301984 | erot = 0.613687305426088 | epot = -15.4597525716969 | etot = -14.6175140349688 -356000 ekin = 0.223427131308619 | erot = 0.61414390282533 | epot = -15.4550850690815 | etot = -14.6175140349475 -357000 ekin = 0.220563006919496 | erot = 0.612527933402533 | epot = -15.4506049752473 | etot = -14.6175140349253 -358000 ekin = 0.220010333199303 | erot = 0.609131855544879 | epot = -15.4466562236489 | etot = -14.6175140349047 -359000 ekin = 0.221770268741646 | erot = 0.604273418958276 | epot = -15.443557722588 | etot = -14.6175140348881 -360000 ekin = 0.225788163654918 | erot = 0.598262925571842 | epot = -15.4415651241044 | etot = -14.6175140348777 -361000 ekin = 0.231948578438913 | erot = 0.59137325198523 | epot = -15.4408358652996 | etot = -14.6175140348754 -362000 ekin = 0.240071331019464 | erot = 0.583815109039738 | epot = -15.4414004749418 | etot = -14.6175140348826 -363000 ekin = 0.249908988059078 | erot = 0.575719406612622 | epot = -15.4431424295716 | etot = -14.6175140348999 -364000 ekin = 0.261146140583132 | erot = 0.56712790648618 | epot = -15.4457880819966 | etot = -14.6175140349273 -365000 ekin = 0.273400773646818 | erot = 0.557992653604894 | epot = -15.4489074622159 | etot = -14.6175140349642 -366000 ekin = 0.286228056504663 | erot = 0.548184015757871 | epot = -15.4519261072718 | etot = -14.6175140350093 -367000 ekin = 0.299126926926786 | erot = 0.537506547610907 | epot = -15.4541475095983 | etot = -14.6175140350606 -368000 ekin = 0.311549892639084 | erot = 0.525721330951755 | epot = -15.4547852587065 | etot = -14.6175140351156 -369000 ekin = 0.322916493342769 | erot = 0.512572942753926 | epot = -15.4530034712682 | etot = -14.6175140351715 -370000 ekin = 0.332630833324557 | erot = 0.497818805481132 | epot = -15.4479636740308 | etot = -14.6175140352251 -371000 ekin = 0.340103492446634 | erot = 0.481258447415918 | epot = -15.4388759751356 | etot = -14.6175140352731 -372000 ekin = 0.344777943664193 | erot = 0.462760223983496 | epot = -15.4250522029596 | etot = -14.6175140353119 -373000 ekin = 0.346161332162081 | erot = 0.442283380417406 | epot = -15.405958747918 | etot = -14.6175140353385 -374000 ekin = 0.343859062980667 | erot = 0.419893962766177 | epot = -15.3812670610967 | etot = -14.6175140353498 -375000 ekin = 0.337612023151491 | erot = 0.395773904235502 | epot = -15.35089996273 | etot = -14.617514035343 -376000 ekin = 0.327334336193659 | erot = 0.370223433835828 | epot = -15.3150718053453 | etot = -14.6175140353159 -377000 ekin = 0.313148263712968 | erot = 0.3436575453366 | epot = -15.2743198443167 | etot = -14.6175140352671 -378000 ekin = 0.295411338277735 | erot = 0.316597454537734 | epot = -15.2295228280119 | etot = -14.6175140351964 -379000 ekin = 0.274729408510529 | erot = 0.289657740939432 | epot = -15.1819011845551 | etot = -14.6175140351051 -380000 ekin = 0.251948675267414 | erot = 0.263529414055011 | epot = -15.1329921243187 | etot = -14.6175140349963 -381000 ekin = 0.228120837035203 | erot = 0.238958749468097 | epot = -15.0845936213794 | etot = -14.6175140348761 -382000 ekin = 0.204438854506746 | erot = 0.216721270519329 | epot = -15.0386741597779 | etot = -14.6175140347518 -383000 ekin = 0.182146263755385 | erot = 0.19759188098445 | epot = -14.9972521793722 | etot = -14.6175140346323 -384000 ekin = 0.162429780679522 | erot = 0.182311896924387 | epot = -14.9622557121308 | etot = -14.6175140345269 -385000 ekin = 0.146310622123822 | erot = 0.171555128911536 | epot = -14.9353797854792 | etot = -14.6175140344439 -386000 ekin = 0.134552389652403 | erot = 0.165895597224741 | epot = -14.9179620212657 | etot = -14.6175140343886 -387000 ekin = 0.127600986328395 | erot = 0.165779213534325 | epot = -14.9108942342266 | etot = -14.6175140343639 -388000 ekin = 0.125565151523028 | erot = 0.171500950984996 | epot = -14.9145801368772 | etot = -14.6175140343691 -389000 ekin = 0.128237001096973 | erot = 0.183188026636525 | epot = -14.9289390621349 | etot = -14.6175140344014 -390000 ekin = 0.135143637923168 | erot = 0.200788930663413 | epot = -14.9534466030433 | etot = -14.6175140344567 -391000 ekin = 0.145616156499953 | erot = 0.224068074688611 | epot = -14.9871982657191 | etot = -14.6175140345306 -392000 ekin = 0.158862235246809 | erot = 0.252606362171908 | epot = -15.0289826320371 | etot = -14.6175140346184 -393000 ekin = 0.174032087603698 | erot = 0.285808726839658 | epot = -15.0773548491589 | etot = -14.6175140347155 -394000 ekin = 0.190272707003915 | erot = 0.322920107512839 | epot = -15.1307068493349 | etot = -14.6175140348181 -395000 ekin = 0.206769905102427 | erot = 0.363051013228117 | epot = -15.1873349532527 | etot = -14.6175140349221 -396000 ekin = 0.222780272470673 | erot = 0.405212687947373 | epot = -15.2455069954414 | etot = -14.6175140350234 -397000 ekin = 0.23765569871957 | erot = 0.448360183482314 | epot = -15.3035299173199 | etot = -14.6175140351181 -398000 ekin = 0.250862154070766 | erot = 0.491439914329229 | epot = -15.3598161036022 | etot = -14.6175140352022 -399000 ekin = 0.261993055954332 | erot = 0.533437059170124 | epot = -15.4129441503972 | etot = -14.6175140352727 -400000 ekin = 0.270776550507805 | erot = 0.573417887949055 | epot = -15.4617084737844 | etot = -14.6175140353276 -401000 ekin = 0.277075831016468 | erot = 0.610562842823512 | epot = -15.505152709206 | etot = -14.617514035366 -402000 ekin = 0.280882158892238 | erot = 0.644187798759056 | epot = -15.5425839930397 | etot = -14.6175140353884 -403000 ekin = 0.282301228579434 | erot = 0.673752968641712 | epot = -15.5735682326173 | etot = -14.6175140353962 -404000 ekin = 0.281534519812515 | erot = 0.698860907481931 | epot = -15.5979094626858 | etot = -14.6175140353913 -405000 ekin = 0.278857975737129 | erot = 0.719246574878154 | epot = -15.6156185859915 | etot = -14.6175140353763 -406000 ekin = 0.274600555759475 | erot = 0.73476315739679 | epot = -15.6268777485094 | etot = -14.6175140353531 -407000 ekin = 0.269124923358509 | erot = 0.745367259285065 | epot = -15.6320062179673 | etot = -14.6175140353237 -408000 ekin = 0.262811853165719 | erot = 0.751106276665231 | epot = -15.63143216512 | etot = -14.6175140352891 -409000 ekin = 0.256049112192117 | erot = 0.752109968276187 | epot = -15.6256731157185 | etot = -14.6175140352502 -410000 ekin = 0.249224269809732 | erot = 0.74858433225965 | epot = -15.6153226372768 | etot = -14.6175140352074 -411000 ekin = 0.242720888553437 | erot = 0.740809103918433 | epot = -15.6010440276326 | etot = -14.6175140351607 -412000 ekin = 0.236916379506095 | erot = 0.729136085380854 | epot = -15.5835664999974 | etot = -14.6175140351104 -413000 ekin = 0.232179735243653 | erot = 0.713985498456999 | epot = -15.5636792687578 | etot = -14.6175140350572 -414000 ekin = 0.228867632642243 | erot = 0.695838652585891 | epot = -15.5422203202302 | etot = -14.6175140350021 -415000 ekin = 0.227317772307856 | erot = 0.675225695396218 | epot = -15.5200575026509 | etot = -14.6175140349469 -416000 ekin = 0.227838940777607 | erot = 0.652708261105161 | epot = -15.4980612367764 | etot = -14.6175140348937 -417000 ekin = 0.230697970866891 | erot = 0.628857925336047 | epot = -15.4770699310479 | etot = -14.617514034845 -418000 ekin = 0.236104416120681 | erot = 0.604232291329749 | epot = -15.4578507422538 | etot = -14.6175140348034 -419000 ekin = 0.244194252200401 | erot = 0.579351108945114 | epot = -15.4410593959166 | etot = -14.6175140347711 -420000 ekin = 0.255014214168464 | erot = 0.554674986841152 | epot = -15.4272032357598 | etot = -14.6175140347502 -421000 ekin = 0.268508458340295 | erot = 0.530589008736334 | epot = -15.4166115018185 | etot = -14.6175140347418 -422000 ekin = 0.284509119560496 | erot = 0.507392982380571 | epot = -15.4094161366875 | etot = -14.6175140347464 -423000 ekin = 0.302732060426934 | erot = 0.485299248118979 | epot = -15.4055453433093 | etot = -14.6175140347634 -424000 ekin = 0.322778728051398 | erot = 0.464438075670481 | epot = -15.4047308385137 | etot = -14.6175140347918 -425000 ekin = 0.344144594922637 | erot = 0.444869796712131 | epot = -15.4065284264641 | etot = -14.6175140348293 -426000 ekin = 0.366234204300038 | erot = 0.426602052983704 | epot = -15.4103502921573 | etot = -14.6175140348735 -427000 ekin = 0.388382398339816 | erot = 0.409609962240036 | epot = -15.4155063955013 | etot = -14.6175140349214 -428000 ekin = 0.409880900047524 | erot = 0.393856678091899 | epot = -15.4212516131094 | etot = -14.6175140349699 -429000 ekin = 0.430009061106479 | erot = 0.379311788381591 | epot = -15.4268348845041 | etot = -14.617514035016 -430000 ekin = 0.448067283636575 | erot = 0.3659652824005 | epot = -15.4315466010941 | etot = -14.617514035057 -431000 ekin = 0.463411378723588 | erot = 0.353835411175161 | epot = -15.4347608249895 | etot = -14.6175140350907 -432000 ekin = 0.475485941535269 | erot = 0.342969616703674 | epot = -15.4359695933546 | etot = -14.6175140351156 -433000 ekin = 0.483854704021334 | erot = 0.333438714396283 | epot = -15.4348074535483 | etot = -14.6175140351307 -434000 ekin = 0.488225698519521 | erot = 0.325325491782385 | epot = -15.4310652254377 | etot = -14.6175140351358 -435000 ekin = 0.48846961521868 | erot = 0.318709988965965 | epot = -15.4246936393157 | etot = -14.6175140351311 -436000 ekin = 0.484629100798397 | erot = 0.313653867974891 | epot = -15.4157970038909 | etot = -14.6175140351176 -437000 ekin = 0.476917712285193 | erot = 0.310186654191006 | epot = -15.4046184015729 | etot = -14.6175140350967 -438000 ekin = 0.465707830236428 | erot = 0.308296241623089 | epot = -15.3915181069294 | etot = -14.6175140350699 -439000 ekin = 0.45150753680146 | erot = 0.30792515377069 | epot = -15.3769467256113 | etot = -14.6175140350391 -440000 ekin = 0.434927659014138 | erot = 0.308973010492868 | epot = -15.3614147045135 | etot = -14.6175140350065 -441000 ekin = 0.416641657349937 | erot = 0.311304747383582 | epot = -15.3454604397074 | etot = -14.6175140349739 -442000 ekin = 0.397341542601571 | erot = 0.314762618736297 | epot = -15.3296181962812 | etot = -14.6175140349433 -443000 ekin = 0.377694362715545 | erot = 0.319179725729324 | epot = -15.314388123361 | etot = -14.6175140349161 -444000 ekin = 0.358304425136817 | erot = 0.32439329819003 | epot = -15.3002117582203 | etot = -14.6175140348934 -445000 ekin = 0.339684383335156 | erot = 0.330254911559461 | epot = -15.2874533297707 | etot = -14.6175140348761 -446000 ekin = 0.322237701351822 | erot = 0.336636009508 | epot = -15.2763877457241 | etot = -14.6175140348643 -447000 ekin = 0.30625308658371 | erot = 0.34342824275766 | epot = -15.2671953641993 | etot = -14.6175140348579 -448000 ekin = 0.291909091343975 | erot = 0.350538602019967 | epot = -15.2599617282208 | etot = -14.6175140348568 -449000 ekin = 0.279285717664377 | erot = 0.357880263087886 | epot = -15.254680015613 | etot = -14.6175140348608 -450000 ekin = 0.268379332693754 | erot = 0.365360767815974 | epot = -15.2512541353793 | etot = -14.6175140348696 -451000 ekin = 0.259117719163031 | erot = 0.372869677558793 | epot = -15.2495014316051 | etot = -14.6175140348833 -452000 ekin = 0.251373384973835 | erot = 0.380268095669032 | epot = -15.2491555155445 | etot = -14.6175140349017 -453000 ekin = 0.24497482412797 | erot = 0.387382402362676 | epot = -15.2498712614149 | etot = -14.6175140349243 -454000 ekin = 0.239716691076598 | erot = 0.394004131859313 | epot = -15.251234857886 | etot = -14.6175140349501 -455000 ekin = 0.235370413814522 | erot = 0.399897145639913 | epot = -15.252781594432 | etot = -14.6175140349776 -456000 ekin = 0.231696513790871 | erot = 0.404812188422525 | epot = -15.254022737218 | etot = -14.6175140350046 -457000 ekin = 0.22845901443235 | erot = 0.408507709512969 | epot = -15.2544807589739 | etot = -14.6175140350285 -458000 ekin = 0.225441196082656 | erot = 0.41077470562198 | epot = -15.2537299367515 | etot = -14.6175140350469 -459000 ekin = 0.22246101894078 | erot = 0.411462514810095 | epot = -15.251437568808 | etot = -14.6175140350572 -460000 ekin = 0.219384094438714 | erot = 0.410502136527495 | epot = -15.2474002660241 | etot = -14.6175140350579 -461000 ekin = 0.21613224524022 | erot = 0.40792384413126 | epot = -15.2415701244196 | etot = -14.6175140350481 -462000 ekin = 0.212686361973382 | erot = 0.403866554422734 | epot = -15.2340669514243 | etot = -14.6175140350282 -463000 ekin = 0.209083218482854 | erot = 0.398577486489151 | epot = -15.2251747399712 | etot = -14.6175140349992 -464000 ekin = 0.20540688826373 | erot = 0.392401883856613 | epot = -15.2153228070836 | etot = -14.6175140349633 -465000 ekin = 0.201776197881068 | erot = 0.385763783461919 | epot = -15.2050540162659 | etot = -14.6175140349229 -466000 ekin = 0.198330130961181 | erot = 0.379139817336986 | epot = -15.1949839831793 | etot = -14.6175140348811 -467000 ekin = 0.195213224017124 | erot = 0.373028711257475 | epot = -15.1857559701151 | etot = -14.6175140348405 -468000 ekin = 0.192562810062158 | erot = 0.367919448414916 | epot = -15.1779962932808 | etot = -14.6175140348037 -469000 ekin = 0.190499545154769 | erot = 0.364261004085612 | epot = -15.1722745840131 | etot = -14.6175140347727 -470000 ekin = 0.18912208603274 | erot = 0.362436180586983 | epot = -15.1690723013684 | etot = -14.6175140347487 -471000 ekin = 0.188506156938867 | erot = 0.362741456207278 | epot = -15.1687616478786 | etot = -14.6175140347325 -472000 ekin = 0.188707621222394 | erot = 0.365373993438347 | epot = -15.1715956493845 | etot = -14.6175140347238 -473000 ekin = 0.189768618622282 | erot = 0.370426120543888 | epot = -15.1777087738883 | etot = -14.6175140347222 -474000 ekin = 0.191725397341772 | erot = 0.377886798112635 | epot = -15.1871262301808 | etot = -14.6175140347264 -475000 ekin = 0.194616213071371 | erot = 0.387648901412467 | epot = -15.1997791492193 | etot = -14.6175140347354 -476000 ekin = 0.19848763616133 | erot = 0.399520678155556 | epot = -15.2155223490651 | etot = -14.6175140347483 -477000 ekin = 0.203397790430575 | erot = 0.413239540254448 | epot = -15.234151365449 | etot = -14.617514034764 -478000 ekin = 0.209415519783994 | erot = 0.428486466926518 | epot = -15.2554160214928 | etot = -14.6175140347823 -479000 ekin = 0.216615156595488 | erot = 0.444899686771521 | epot = -15.2790288781697 | etot = -14.6175140348027 -480000 ekin = 0.225067223158495 | erot = 0.462086880017487 | epot = -15.3046681380014 | etot = -14.6175140348255 -481000 ekin = 0.234826185148526 | erot = 0.479635803738694 | epot = -15.3319760237382 | etot = -14.6175140348509 -482000 ekin = 0.24591693935593 | erot = 0.497123799837189 | epot = -15.3605547740723 | etot = -14.6175140348792 -483000 ekin = 0.258322039581471 | erot = 0.514126984880484 | epot = -15.3899630593723 | etot = -14.6175140349103 -484000 ekin = 0.271971667055458 | erot = 0.530229960568097 | epot = -15.4197156625675 | etot = -14.617514034944 -485000 ekin = 0.286738030810237 | erot = 0.545036619609161 | epot = -15.4492886853988 | etot = -14.6175140349794 -486000 ekin = 0.302435294442602 | erot = 0.558182125190157 | epot = -15.4781314546481 | etot = -14.6175140350154 -487000 ekin = 0.318825369858635 | erot = 0.569345540302413 | epot = -15.5056849452114 | etot = -14.6175140350504 -488000 ekin = 0.335629120856599 | erot = 0.578262027782435 | epot = -15.5314051837218 | etot = -14.6175140350827 -489000 ekin = 0.352541803825719 | erot = 0.584733173542254 | epot = -15.5547890124787 | etot = -14.6175140351108 -490000 ekin = 0.369251041133798 | erot = 0.58863390237619 | epot = -15.5753989786432 | etot = -14.6175140351332 -491000 ekin = 0.385455339944008 | erot = 0.589914693970058 | epot = -15.5928840690631 | etot = -14.6175140351491 -492000 ekin = 0.40088115647899 | erot = 0.588598334680754 | epot = -15.6069935263179 | etot = -14.6175140351581 -493000 ekin = 0.415296746377553 | erot = 0.584771169137649 | epot = -15.6175819506758 | etot = -14.6175140351606 -494000 ekin = 0.428521503102931 | erot = 0.578569614095801 | epot = -15.6246051523561 | etot = -14.6175140351573 -495000 ekin = 0.440430011858771 | erot = 0.570163426568569 | epot = -15.6281074735768 | etot = -14.6175140351495 -496000 ekin = 0.450950706316734 | erot = 0.559737766477586 | epot = -15.628202507933 | etot = -14.6175140351387 -497000 ekin = 0.460059581798191 | erot = 0.547476355485745 | epot = -15.6250499724103 | etot = -14.6175140351264 -498000 ekin = 0.467769906492318 | erot = 0.533547985555278 | epot = -15.6188319271617 | etot = -14.6175140351141 -499000 ekin = 0.474119221073082 | erot = 0.518098277332704 | epot = -15.6097315335085 | etot = -14.6175140351027 -500000 ekin = 0.47915510663518 | erot = 0.501247978937513 | epot = -15.5979171206656 | etot = -14.6175140350929 -501000 ekin = 0.482921233338969 | erot = 0.483098304082662 | epot = -15.5835335725064 | etot = -14.6175140350848 -502000 ekin = 0.485445093649088 | erot = 0.463742920559554 | epot = -15.5667020492864 | etot = -14.6175140350777 -503000 ekin = 0.486728599209648 | erot = 0.443285305605623 | epot = -15.5475279398862 | etot = -14.6175140350709 -504000 ekin = 0.486742408087926 | erot = 0.421859374631785 | epot = -15.5261158177828 | etot = -14.6175140350631 -505000 ekin = 0.485424480827694 | erot = 0.399650657768087 | epot = -15.5025891736488 | etot = -14.617514035053 -506000 ekin = 0.48268297341187 | erot = 0.376914939267219 | epot = -15.4771119477182 | etot = -14.6175140350392 -507000 ekin = 0.478403198154612 | erot = 0.353991273961029 | epot = -15.4499085071364 | etot = -14.6175140350208 -508000 ekin = 0.472458052935441 | erot = 0.331306710133916 | epot = -15.4212787980666 | etot = -14.6175140349972 -509000 ekin = 0.46472106285539 | erot = 0.309370883447747 | epot = -15.3916059812718 | etot = -14.6175140349687 -510000 ekin = 0.455081004104095 | erot = 0.288759823578743 | epot = -15.3613548626186 | etot = -14.6175140349358 -511000 ekin = 0.443456979180403 | erot = 0.270089690707411 | epot = -15.3310607047875 | etot = -14.6175140348996 -512000 ekin = 0.429812848219575 | erot = 0.25398253489869 | epot = -15.3013094179802 | etot = -14.6175140348619 -513000 ekin = 0.414169942618988 | erot = 0.241027258547328 | epot = -15.2727112359908 | etot = -14.6175140348245 -514000 ekin = 0.396617122319459 | erot = 0.231739657368316 | epot = -15.245870814477 | etot = -14.6175140347893 -515000 ekin = 0.377317407138787 | erot = 0.226525548757195 | epot = -15.2213569906539 | etot = -14.6175140347579 -516000 ekin = 0.356510629533613 | erot = 0.225650587239684 | epot = -15.1996752515051 | etot = -14.6175140347318 -517000 ekin = 0.334511811731556 | erot = 0.229219509886492 | epot = -15.1812453563299 | etot = -14.6175140347118 -518000 ekin = 0.311705249160021 | erot = 0.23716641592675 | epot = -15.1663856997854 | etot = -14.6175140346987 -519000 ekin = 0.288534562405509 | erot = 0.249256456193826 | epot = -15.1553050532917 | etot = -14.6175140346923 -520000 ekin = 0.265489234982404 | erot = 0.265098165451267 | epot = -15.1481014351262 | etot = -14.6175140346925 -521000 ekin = 0.243088358087729 | erot = 0.284164745160129 | epot = -15.1447671379464 | etot = -14.6175140346986 -522000 ekin = 0.221862437060792 | erot = 0.305821970140486 | epot = -15.1451984419111 | etot = -14.6175140347098 -523000 ekin = 0.202334169776215 | erot = 0.329360070797338 | epot = -15.149208275299 | etot = -14.6175140347255 -524000 ekin = 0.184999091076189 | erot = 0.354026911471086 | epot = -15.1565400372918 | etot = -14.6175140347445 -525000 ekin = 0.170306912739355 | erot = 0.379059948771691 | epot = -15.1668808962774 | etot = -14.6175140347664 -526000 ekin = 0.158644243148445 | erot = 0.403715126925631 | epot = -15.1798734048646 | etot = -14.6175140347905 -527000 ekin = 0.150319367666608 | erot = 0.427291025812717 | epot = -15.1951244282958 | etot = -14.6175140348165 -528000 ekin = 0.145549592055318 | erot = 0.449147424933815 | epot = -15.2122110518333 | etot = -14.6175140348441 -529000 ekin = 0.144451603984815 | erot = 0.46871812185095 | epot = -15.2306837607091 | etot = -14.6175140348734 -530000 ekin = 0.147035267138349 | erot = 0.485518371011605 | epot = -15.2500676730542 | etot = -14.6175140349042 -531000 ekin = 0.153201203684292 | erot = 0.499147835497304 | epot = -15.2698630741182 | etot = -14.6175140349366 -532000 ekin = 0.162742448479717 | erot = 0.509290301682708 | epot = -15.2895467851327 | etot = -14.6175140349702 -533000 ekin = 0.175350354881916 | erot = 0.515711587206721 | epot = -15.3085759770934 | etot = -14.6175140350047 -534000 ekin = 0.190624856013519 | erot = 0.518257146630614 | epot = -15.3263960376834 | etot = -14.6175140350393 -535000 ekin = 0.208088493536824 | erot = 0.516850140104756 | epot = -15.3424526687142 | etot = -14.6175140350726 -536000 ekin = 0.227204325842689 | erot = 0.511491240065728 | epot = -15.3562096010119 | etot = -14.6175140351035 -537000 ekin = 0.247396768812984 | erot = 0.502260311074185 | epot = -15.3671711150173 | etot = -14.6175140351302 -538000 ekin = 0.268074342413392 | erot = 0.489319600961478 | epot = -15.3749079785256 | etot = -14.6175140351508 -539000 ekin = 0.288653182933449 | erot = 0.4729176796722 | epot = -15.3790848977693 | etot = -14.6175140351637 -540000 ekin = 0.308579985825782 | erot = 0.453392904739592 | epot = -15.3794869257329 | etot = -14.6175140351675 -541000 ekin = 0.327353008191246 | erot = 0.431174973010967 | epot = -15.3760420163633 | etot = -14.6175140351611 -542000 ekin = 0.344539853506965 | erot = 0.406783142889028 | epot = -15.3688370315399 | etot = -14.6175140351439 -543000 ekin = 0.359790986513993 | erot = 0.380819988063805 | epot = -15.3581250096939 | etot = -14.6175140351161 -544000 ekin = 0.37284826309085 | erot = 0.353960030672464 | epot = -15.344322328842 | etot = -14.6175140350787 -545000 ekin = 0.383548167009815 | erot = 0.326933212481791 | epot = -15.3279954145248 | etot = -14.6175140350332 -546000 ekin = 0.391819867385749 | erot = 0.300503784237994 | epot = -15.3098376866053 | etot = -14.6175140349815 -547000 ekin = 0.397678590182396 | erot = 0.275445713887096 | epot = -15.2906383389958 | etot = -14.6175140349263 -548000 ekin = 0.401215088504832 | erot = 0.252516050366015 | epot = -15.2712451737408 | etot = -14.6175140348699 -549000 ekin = 0.402582175512791 | erot = 0.232427794767637 | epot = -15.2525240050959 | etot = -14.6175140348155 -550000 ekin = 0.401979352687969 | erot = 0.215823740833009 | epot = -15.2353171282862 | etot = -14.6175140347652 -551000 ekin = 0.399636550193996 | erot = 0.203252510909739 | epot = -15.220403095825 | etot = -14.6175140347213 -552000 ekin = 0.395797934840894 | erot = 0.195147714573778 | epot = -15.2084596841007 | etot = -14.617514034686 -553000 ekin = 0.390706676476196 | erot = 0.191810879117336 | epot = -15.2000315902546 | etot = -14.6175140346611 -554000 ekin = 0.384591526958096 | erot = 0.19339860945437 | epot = -15.1955041710601 | etot = -14.6175140346476 -555000 ekin = 0.377656068332676 | erot = 0.199914362894006 | epot = -15.1950844658734 | etot = -14.6175140346467 -556000 ekin = 0.370071512615683 | erot = 0.211205266307111 | epot = -15.1987908135806 | etot = -14.6175140346578 -557000 ekin = 0.361973939272813 | erot = 0.226964515102972 | epot = -15.2064524890562 | etot = -14.6175140346805 -558000 ekin = 0.353466765020817 | erot = 0.246739996102199 | epot = -15.2177207958362 | etot = -14.6175140347132 -559000 ekin = 0.344628961765223 | erot = 0.269949765670651 | epot = -15.2320927621895 | etot = -14.6175140347536 -560000 ekin = 0.335528980568065 | erot = 0.295904778796298 | epot = -15.248947794163 | etot = -14.6175140347986 -561000 ekin = 0.326243446081694 | erot = 0.32383871490908 | epot = -15.2675961958353 | etot = -14.6175140348445 -562000 ekin = 0.316878486813705 | erot = 0.352943857553535 | epot = -15.2873363792542 | etot = -14.617514034887 -563000 ekin = 0.307590234581993 | erot = 0.382410843957943 | epot = -15.3075151134627 | etot = -14.6175140349227 -564000 ekin = 0.298599911427723 | erot = 0.411468934029848 | epot = -15.3275828804063 | etot = -14.6175140349488 -565000 ekin = 0.290198521501613 | erot = 0.439422606477982 | epot = -15.3471351629436 | etot = -14.617514034964 -566000 ekin = 0.282736992095915 | erot = 0.465680158920146 | epot = -15.3659311859852 | etot = -14.6175140349691 -567000 ekin = 0.276599956454237 | erot = 0.489770841523137 | epot = -15.3838848329439 | etot = -14.6175140349665 -568000 ekin = 0.272165052790849 | erot = 0.51134888782089 | epot = -15.4010279755719 | etot = -14.6175140349602 -569000 ekin = 0.269753809413351 | erot = 0.530185258477429 | epot = -15.4174531028455 | etot = -14.6175140349547 -570000 ekin = 0.269583567607364 | erot = 0.546150320474836 | epot = -15.4332479230362 | etot = -14.617514034954 -571000 ekin = 0.271731068577875 | erot = 0.559192265325752 | epot = -15.4484373688642 | etot = -14.6175140349606 -572000 ekin = 0.276116495687091 | erot = 0.569316321634121 | epot = -15.4629468522959 | etot = -14.6175140349747 -573000 ekin = 0.282512256444534 | erot = 0.576569321998237 | epot = -15.4765956134374 | etot = -14.6175140349946 -574000 ekin = 0.290574483947443 | erot = 0.58103049076154 | epot = -15.4891190097262 | etot = -14.6175140350172 -575000 ekin = 0.299890113326593 | erot = 0.582808418137594 | epot = -15.5002125665028 | etot = -14.6175140350386 -576000 ekin = 0.310029076130859 | erot = 0.582041678954832 | epot = -15.5095847901412 | etot = -14.6175140350555 -577000 ekin = 0.320591144135675 | erot = 0.578899817193377 | epot = -15.5170049963946 | etot = -14.6175140350655 -578000 ekin = 0.331239680817734 | erot = 0.573581904321388 | epot = -15.5223356202072 | etot = -14.6175140350681 -579000 ekin = 0.341718767395713 | erot = 0.566311213814816 | epot = -15.5255440162742 | etot = -14.6175140350637 -580000 ekin = 0.351854361646192 | erot = 0.557326170820746 | epot = -15.5266945675209 | etot = -14.617514035054 -581000 ekin = 0.361543170719959 | erot = 0.546869043111512 | epot = -15.5259262488727 | etot = -14.6175140350412 -582000 ekin = 0.370734291431731 | erot = 0.535174473618127 | epot = -15.5234228000774 | etot = -14.6175140350275 -583000 ekin = 0.37940854514636 | erot = 0.522459863754317 | epot = -15.5193824439152 | etot = -14.6175140350145 -584000 ekin = 0.387559338332064 | erot = 0.50891899993969 | epot = -15.5139923732753 | etot = -14.6175140350036 -585000 ekin = 0.395177418309436 | erot = 0.494719483694829 | epot = -15.5074109369994 | etot = -14.6175140349952 -586000 ekin = 0.402240533516594 | erot = 0.480003760424791 | epot = -15.4997583289309 | etot = -14.6175140349895 -587000 ekin = 0.408707997145263 | erot = 0.464893014294175 | epot = -15.4911150464257 | etot = -14.6175140349862 -588000 ekin = 0.41451954577295 | erot = 0.449492951760516 | epot = -15.4815265325182 | etot = -14.6175140349847 -589000 ekin = 0.419597612555334 | erot = 0.43390048790532 | epot = -15.4710121354448 | etot = -14.6175140349841 -590000 ekin = 0.423852083806567 | erot = 0.418210489542958 | epot = -15.4595766083332 | etot = -14.6175140349837 -591000 ekin = 0.427186671517479 | erot = 0.402521929657892 | epot = -15.447222636158 | etot = -14.6175140349826 -592000 ekin = 0.429506137373686 | erot = 0.386943005728737 | epot = -15.4339631780827 | etot = -14.6175140349802 -593000 ekin = 0.430723706116615 | erot = 0.371594936609099 | epot = -15.4198326777017 | etot = -14.617514034976 -594000 ekin = 0.430768094953839 | erot = 0.356614269836478 | epot = -15.4048963997596 | etot = -14.6175140349693 -595000 ekin = 0.42958966483036 | erot = 0.34215360916983 | epot = -15.3892573089602 | etot = -14.61751403496 -596000 ekin = 0.427165296133674 | erot = 0.328380718540701 | epot = -15.3730600496226 | etot = -14.6175140349482 -597000 ekin = 0.423501658500188 | erot = 0.315475989401846 | epot = -15.3564916828361 | etot = -14.617514034934 -598000 ekin = 0.418636501255824 | erot = 0.30362835958022 | epot = -15.3397788957539 | etot = -14.6175140349178 -599000 ekin = 0.412638207582771 | erot = 0.293029673722298 | epot = -15.3231819162053 | etot = -14.6175140349002 -600000 ekin = 0.405603414753992 | erot = 0.283867637225037 | epot = -15.306985086861 | etot = -14.6175140348819 -601000 ekin = 0.397652939448924 | erot = 0.27631757335997 | epot = -15.2914845476729 | etot = -14.617514034864 -602000 ekin = 0.388926339151977 | erot = 0.270533300127966 | epot = -15.2769736741272 | etot = -14.6175140348472 -603000 ekin = 0.379575547711323 | erot = 0.266637582798157 | epot = -15.2637271653422 | etot = -14.6175140348327 -604000 ekin = 0.369758112224678 | erot = 0.264712769809213 | epot = -15.2519849168553 | etot = -14.6175140348214 -605000 ekin = 0.359630614964776 | erot = 0.264792359550131 | epot = -15.241937009329 | etot = -14.617514034814 -606000 ekin = 0.349342882571482 | erot = 0.266854337886994 | epot = -15.2337112552696 | etot = -14.6175140348111 -607000 ekin = 0.339033558751721 | erot = 0.270817131627805 | epot = -15.2273647251923 | etot = -14.6175140348128 -608000 ekin = 0.328827538259558 | erot = 0.276538908097645 | epot = -15.2228804811762 | etot = -14.617514034819 -609000 ekin = 0.318835621087791 | erot = 0.283820700144912 | epot = -15.2201703560617 | etot = -14.617514034829 -610000 ekin = 0.309156542568471 | erot = 0.292413461056483 | epot = -15.2190840384669 | etot = -14.617514034842 -611000 ekin = 0.29988127210835 | erot = 0.302028697870677 | epot = -15.2194240048356 | etot = -14.6175140348566 -612000 ekin = 0.291099167856382 | erot = 0.312351863790435 | epot = -15.2209650665183 | etot = -14.6175140348715 -613000 ekin = 0.282905257831731 | erot = 0.323057294042835 | epot = -15.2234765867597 | etot = -14.6175140348851 -614000 ekin = 0.275407632339994 | erot = 0.333823223653581 | epot = -15.2267448908899 | etot = -14.6175140348963 -615000 ekin = 0.268733725567278 | erot = 0.344345386321387 | epot = -15.2305931467927 | etot = -14.617514034904 -616000 ekin = 0.263034181136557 | erot = 0.35434787992739 | epot = -15.2348960959719 | etot = -14.6175140349079 -617000 ekin = 0.258483071857821 | erot = 0.363590372787447 | epot = -15.2395874795532 | etot = -14.6175140349079 -618000 ekin = 0.255273496413574 | erot = 0.371871254538827 | epot = -15.2446587858571 | etot = -14.6175140349047 -619000 ekin = 0.253608004174632 | erot = 0.37902692128715 | epot = -15.2501489603613 | etot = -14.6175140348995 -620000 ekin = 0.253683881421992 | erot = 0.384927934513618 | epot = -15.2561258508295 | etot = -14.6175140348939 -621000 ekin = 0.255674023709804 | erot = 0.389473226071993 | epot = -15.2626612846714 | etot = -14.6175140348896 -622000 ekin = 0.25970485336757 | erot = 0.392583779639758 | epot = -15.2698026678959 | etot = -14.6175140348885 -623000 ekin = 0.265833429999403 | erot = 0.394197274405735 | epot = -15.2775447392974 | etot = -14.6175140348923 -624000 ekin = 0.274026439188228 | erot = 0.394265031624551 | epot = -15.2858055057147 | etot = -14.6175140349019 -625000 ekin = 0.284144015738384 | erot = 0.392752285176118 | epot = -15.2944103358322 | etot = -14.6175140349177 -626000 ekin = 0.295931256226139 | erot = 0.389642344380343 | epot = -15.3030876355457 | etot = -14.6175140349392 -627000 ekin = 0.309019727829663 | erot = 0.38494467650416 | epot = -15.3114784392987 | etot = -14.6175140349649 -628000 ekin = 0.322940275279064 | erot = 0.378706350959343 | epot = -15.3191606612307 | etot = -14.6175140349923 -629000 ekin = 0.337147043698277 | erot = 0.37102569897414 | epot = -15.3256867776908 | etot = -14.6175140350184 -630000 ekin = 0.351051052994981 | erot = 0.362066500826367 | epot = -15.3306315888613 | etot = -14.6175140350399 -631000 ekin = 0.364060148819096 | erot = 0.352070586245494 | epot = -15.333644770118 | etot = -14.6175140350534 -632000 ekin = 0.375621025661737 | erot = 0.341366514680777 | epot = -15.3345015753988 | etot = -14.6175140350563 -633000 ekin = 0.385258541224816 | erot = 0.33037209230534 | epot = -15.3331446685769 | etot = -14.6175140350467 -634000 ekin = 0.392607865616762 | erot = 0.31958895649352 | epot = -15.3297108571345 | etot = -14.6175140350242 -635000 ekin = 0.39743609727868 | erot = 0.309588318033271 | epot = -15.3245384503017 | etot = -14.6175140349897 -636000 ekin = 0.399651602685353 | erot = 0.30098809437835 | epot = -15.318153732009 | etot = -14.6175140349453 -637000 ekin = 0.399301141333129 | erot = 0.294422893568983 | epot = -15.3112380697961 | etot = -14.617514034894 -638000 ekin = 0.396556439147407 | erot = 0.290509369489655 | epot = -15.3045798434767 | etot = -14.6175140348397 -639000 ekin = 0.391692975513997 | erot = 0.289810143797434 | epot = -15.2990171540975 | etot = -14.617514034786 -640000 ekin = 0.385064212934161 | erot = 0.292799653113688 | epot = -15.2953779007847 | etot = -14.6175140347369 -641000 ekin = 0.377074355551302 | erot = 0.299834934663062 | epot = -15.2944233249094 | etot = -14.6175140346951 -642000 ekin = 0.368152133961515 | erot = 0.311133625026309 | epot = -15.2967997936509 | etot = -14.6175140346631 -643000 ekin = 0.358727298275111 | erot = 0.326760494743868 | epot = -15.3030018276614 | etot = -14.6175140346424 -644000 ekin = 0.349210670243499 | erot = 0.346622862554325 | epot = -15.3133475674317 | etot = -14.6175140346339 -645000 ekin = 0.339977915474886 | erot = 0.370474376280189 | epot = -15.3279663263927 | etot = -14.6175140346376 -646000 ekin = 0.331356734049287 | erot = 0.397926004729598 | epot = -15.3467967734319 | etot = -14.617514034653 -647000 ekin = 0.323616951062021 | erot = 0.428462692622343 | epot = -15.3695936783637 | etot = -14.6175140346794 -648000 ekin = 0.316962984679749 | erot = 0.461463981264525 | epot = -15.3959410006599 | etot = -14.6175140347156 -649000 ekin = 0.311528303721769 | erot = 0.496226945506609 | epot = -15.4252692839889 | etot = -14.6175140347605 -650000 ekin = 0.307371814502051 | erot = 0.53199011331203 | epot = -15.4568759626267 | etot = -14.6175140348127 -651000 ekin = 0.304476169211528 | erot = 0.567957247023637 | epot = -15.4899474511057 | etot = -14.6175140348705 -652000 ekin = 0.302748327843063 | erot = 0.603320352539344 | epot = -15.523582715315 | etot = -14.6175140349325 -653000 ekin = 0.302022769689561 | erot = 0.637281675063983 | epot = -15.5568184797505 | etot = -14.617514034997 -654000 ekin = 0.302067723594154 | erot = 0.669074745116258 | epot = -15.5886565037723 | etot = -14.6175140350619 -655000 ekin = 0.302594671774775 | erot = 0.697984728110365 | epot = -15.6180934350103 | etot = -14.6175140351252 -656000 ekin = 0.303271161273661 | erot = 0.723368330432067 | epot = -15.6441535268902 | etot = -14.6175140351845 -657000 ekin = 0.303736663270792 | erot = 0.744673311812443 | epot = -15.6659240103206 | etot = -14.6175140352373 -658000 ekin = 0.303620889262384 | erot = 0.761457272710392 | epot = -15.6825921972542 | etot = -14.6175140352814 -659000 ekin = 0.302563666907984 | erot = 0.773404945481054 | epot = -15.6934826477032 | etot = -14.6175140353142 -660000 ekin = 0.300235395695091 | erot = 0.780343280385843 | epot = -15.698092711415 | etot = -14.6175140353341 -661000 ekin = 0.296355710531902 | erot = 0.782250083093143 | epot = -15.6961198289647 | etot = -14.6175140353397 -662000 ekin = 0.290710478297184 | erot = 0.779257959177687 | epot = -15.6874824728051 | etot = -14.6175140353302 -663000 ekin = 0.283165147463639 | erot = 0.77165065199169 | epot = -15.6723298347614 | etot = -14.6175140353061 -664000 ekin = 0.273673427176448 | erot = 0.759850562455872 | epot = -15.6510380249006 | etot = -14.6175140352683 -665000 ekin = 0.262280913452385 | erot = 0.744397727319057 | epot = -15.6241926759903 | etot = -14.6175140352189 -666000 ekin = 0.249123647022483 | erot = 0.7259212317447 | epot = -15.5925589139278 | etot = -14.6175140351606 -667000 ekin = 0.234422061210147 | erot = 0.705104954965032 | epot = -15.5570410512716 | etot = -14.6175140350964 -668000 ekin = 0.218471158369324 | erot = 0.682650243124776 | epot = -15.5186354365237 | etot = -14.6175140350296 -669000 ekin = 0.201627981911843 | erot = 0.659238455806553 | epot = -15.4783804726815 | etot = -14.6175140349632 -670000 ekin = 0.184297501939065 | erot = 0.635496303880898 | epot = -15.43730784072 | etot = -14.6175140349001 -671000 ekin = 0.166917915805004 | erot = 0.611966525748027 | epot = -15.3963984763956 | etot = -14.6175140348426 -672000 ekin = 0.149946120674196 | erot = 0.589085832361493 | epot = -15.3565459878282 | etot = -14.6175140347926 -673000 ekin = 0.133843801904582 | erot = 0.567171306812613 | epot = -15.318529143468 | etot = -14.6175140347508 -674000 ekin = 0.119064262674576 | erot = 0.546415679820867 | epot = -15.2829939772136 | etot = -14.6175140347181 -675000 ekin = 0.106039855017085 | erot = 0.526891195482506 | epot = -15.250445085194 | etot = -14.6175140346944 -676000 ekin = 0.0951697078773878 | erot = 0.508561175678473 | epot = -15.2212449182352 | etot = -14.6175140346793 -677000 ekin = 0.086807451986192 | erot = 0.491297978909966 | epot = -15.1956194655683 | etot = -14.6175140346722 -678000 ekin = 0.0812485969712828 | erot = 0.474905301099178 | epot = -15.1736679327427 | etot = -14.6175140346722 -679000 ekin = 0.0787177619800211 | erot = 0.459143233464763 | epot = -15.1553750301234 | etot = -14.6175140346787 -680000 ekin = 0.0793562024648552 | erot = 0.443753980649329 | epot = -15.140624217805 | etot = -14.6175140346908 -681000 ekin = 0.0832104900789999 | erot = 0.428486254341784 | epot = -15.1292107791285 | etot = -14.6175140347077 -682000 ekin = 0.0902236865225188 | erot = 0.413116880933304 | epot = -15.1208546021847 | etot = -14.6175140347289 -683000 ekin = 0.100230543462408 | erot = 0.397468585264377 | epot = -15.11521316348 | etot = -14.6175140347533 -684000 ekin = 0.112958164258869 | erot = 0.381423459018597 | epot = -15.1118956580574 | etot = -14.6175140347799 -685000 ekin = 0.128033094046148 | erot = 0.364932120277307 | epot = -15.1104792491311 | etot = -14.6175140348076 -686000 ekin = 0.144995008361601 | erot = 0.348018922992647 | epot = -15.1105279661894 | etot = -14.6175140348351 -687000 ekin = 0.163316207854767 | erot = 0.330783730221022 | epot = -15.1116139729365 | etot = -14.6175140348607 -688000 ekin = 0.182425234215551 | erot = 0.313400732953855 | epot = -15.1133400020525 | etot = -14.6175140348831 -689000 ekin = 0.201732335852577 | erot = 0.296114640201443 | epot = -15.1153610109551 | etot = -14.6175140349011 -690000 ekin = 0.220654383891154 | erot = 0.279234374240434 | epot = -15.1174027930453 | etot = -14.6175140349137 -691000 ekin = 0.23863718992453 | erot = 0.263124260136862 | epot = -15.1192754849819 | etot = -14.6175140349205 -692000 ekin = 0.255173895596428 | erot = 0.248192653897472 | epot = -15.1208805844156 | etot = -14.6175140349217 -693000 ekin = 0.269818995118043 | erot = 0.234878024009109 | epot = -15.1222110540446 | etot = -14.6175140349175 -694000 ekin = 0.282198402189113 | erot = 0.223632668706427 | epot = -15.1233451058044 | etot = -14.6175140349089 -695000 ekin = 0.292016609393231 | erot = 0.214904477348993 | epot = -15.124435121639 | etot = -14.6175140348968 -696000 ekin = 0.299062308191112 | erot = 0.209117382947945 | epot = -15.1256937260212 | etot = -14.6175140348821 -697000 ekin = 0.30321380997214 | erot = 0.206651361568493 | epot = -15.1273792064064 | etot = -14.6175140348658 -698000 ekin = 0.30444525619219 | erot = 0.207822979229873 | epot = -15.1297822702705 | etot = -14.6175140348484 -699000 ekin = 0.302833983904948 | erot = 0.212867544425277 | epot = -15.1332155631607 | etot = -14.6175140348305 -700000 ekin = 0.29856859634332 | erot = 0.221923881123336 | epot = -15.1380065122785 | etot = -14.6175140348118 -701000 ekin = 0.291956369738242 | erot = 0.235022588976831 | epot = -15.1444929935074 | etot = -14.6175140347924 -702000 ekin = 0.283427734153835 | erot = 0.252078414121472 | epot = -15.153020183048 | etot = -14.6175140347727 -703000 ekin = 0.273534855576746 | erot = 0.272887068861365 | epot = -15.1639359591909 | etot = -14.6175140347528 -704000 ekin = 0.262941046164233 | erot = 0.297126498876432 | epot = -15.1775815797744 | etot = -14.6175140347337 -705000 ekin = 0.252398060444365 | erot = 0.324362359960393 | epot = -15.194274455122 | etot = -14.6175140347173 -706000 ekin = 0.242709489752073 | erot = 0.354057349893491 | epot = -15.2142808743513 | etot = -14.6175140347058 -707000 ekin = 0.234680465258637 | erot = 0.385584073394242 | epot = -15.2377785733552 | etot = -14.6175140347023 -708000 ekin = 0.229056562326157 | erot = 0.418241319394871 | epot = -15.264811916431 | etot = -14.61751403471 -709000 ekin = 0.226457657533258 | erot = 0.451273895783649 | epot = -15.2952455880485 | etot = -14.6175140347316 -710000 ekin = 0.227314828595311 | erot = 0.483896330830945 | epot = -15.3287251941949 | etot = -14.6175140347687 -711000 ekin = 0.231819479497128 | erot = 0.515320742171203 | epot = -15.3646542564898 | etot = -14.6175140348215 -712000 ekin = 0.239893150548963 | erot = 0.544788749312711 | epot = -15.4021959347498 | etot = -14.6175140348881 -713000 ekin = 0.251183758823288 | erot = 0.571606341188824 | epot = -15.4403041349766 | etot = -14.6175140349645 -714000 ekin = 0.265090036185525 | erot = 0.595179886372787 | epot = -15.4777839576035 | etot = -14.6175140350452 -715000 ekin = 0.280811306968559 | erot = 0.615050345044272 | epot = -15.5133756871366 | etot = -14.6175140351238 -716000 ekin = 0.297415784950407 | erot = 0.630922165703626 | epot = -15.5458519858478 | etot = -14.6175140351937 -717000 ekin = 0.313918116237917 | erot = 0.642683345316706 | epot = -15.5741154968041 | etot = -14.6175140352494 -718000 ekin = 0.329356373327112 | erot = 0.650413757300199 | epot = -15.597284165914 | etot = -14.6175140352867 -719000 ekin = 0.342860093484457 | erot = 0.654380316354483 | epot = -15.6147544451421 | etot = -14.6175140353032 -720000 ekin = 0.353703497403049 | erot = 0.655019233384572 | epot = -15.6262367660863 | etot = -14.6175140352987 -721000 ekin = 0.361340844905849 | erot = 0.652906431496321 | epot = -15.6317613116767 | etot = -14.6175140352745 -722000 ekin = 0.365423978941575 | erot = 0.648719378780931 | epot = -15.6316573929561 | etot = -14.6175140352336 -723000 ekin = 0.365803989072306 | erot = 0.643193727890481 | epot = -15.6265117521426 | etot = -14.6175140351798 -724000 ekin = 0.362520178745313 | erot = 0.637078359573022 | epot = -15.6171125734355 | etot = -14.6175140351172 -725000 ekin = 0.355779938480366 | erot = 0.631092082280502 | epot = -15.604386055811 | etot = -14.6175140350501 -726000 ekin = 0.345932952941823 | erot = 0.625884613514235 | epot = -15.5893316014386 | etot = -14.6175140349825 -727000 ekin = 0.333442641405672 | erot = 0.622003743386422 | epot = -15.5729604197101 | etot = -14.617514034918 -728000 ekin = 0.318857050497248 | erot = 0.619869891937897 | epot = -15.5562409772948 | etot = -14.6175140348596 -729000 ekin = 0.302780724957378 | erot = 0.619758691690217 | epot = -15.5400534514572 | etot = -14.6175140348096 -730000 ekin = 0.285848455041315 | erot = 0.621791770570811 | epot = -15.5251542603814 | etot = -14.6175140347693 -731000 ekin = 0.268701272205162 | erot = 0.625935552811657 | epot = -15.5121508597566 | etot = -14.6175140347398 -732000 ekin = 0.251964649664151 | erot = 0.632007594592174 | epot = -15.5014862789777 | etot = -14.6175140347214 -733000 ekin = 0.236228569496788 | erot = 0.639689689353094 | epot = -15.4934322935639 | etot = -14.617514034714 -734000 ekin = 0.222028960746823 | erot = 0.648546698715163 | epot = -15.4880896941794 | etot = -14.6175140347174 -735000 ekin = 0.209830023527925 | erot = 0.658049804517654 | epot = -15.4853938627761 | etot = -14.6175140347305 -736000 ekin = 0.200007166761159 | erot = 0.667602683399479 | epot = -15.4851238849135 | etot = -14.6175140347528 -737000 ekin = 0.192830719625055 | erot = 0.676569044421098 | epot = -15.4869137988298 | etot = -14.6175140347837 -738000 ekin = 0.188451200585547 | erot = 0.684300102137718 | epot = -15.4902653375453 | etot = -14.6175140348221 -739000 ekin = 0.186887639936592 | erot = 0.690160900651566 | epot = -15.4945625754552 | etot = -14.617514034867 -740000 ekin = 0.188021068410451 | erot = 0.693554915034906 | epot = -15.4990900183625 | etot = -14.6175140349172 -741000 ekin = 0.191595568995028 | erot = 0.693946922730537 | epot = -15.5030565266959 | etot = -14.6175140349703 -742000 ekin = 0.197228843628196 | erot = 0.690884208638673 | epot = -15.5056270872912 | etot = -14.6175140350243 -743000 ekin = 0.20443350363757 | erot = 0.684016821527744 | epot = -15.5059643602408 | etot = -14.6175140350755 -744000 ekin = 0.212648433381533 | erot = 0.673116668202852 | epot = -15.5032791367049 | etot = -14.6175140351205 -745000 ekin = 0.221277722248148 | erot = 0.658094727365387 | epot = -15.496886484769 | etot = -14.6175140351555 -746000 ekin = 0.229733012317517 | erot = 0.639014583781424 | epot = -15.4862616312763 | etot = -14.6175140351774 -747000 ekin = 0.2374740441444 | erot = 0.61610009667291 | epot = -15.4710881760011 | etot = -14.6175140351838 -748000 ekin = 0.244042266762953 | erot = 0.5897348727874 | epot = -15.4512911747243 | etot = -14.617514035174 -749000 ekin = 0.249083597953252 | erot = 0.56045151840338 | epot = -15.4270491515053 | etot = -14.6175140351487 -750000 ekin = 0.252358330147216 | erot = 0.528910066811307 | epot = -15.3987824320685 | etot = -14.61751403511 -751000 ekin = 0.253738423481735 | erot = 0.495866496254582 | epot = -15.3671189547979 | etot = -14.6175140350616 -752000 ekin = 0.253194394015788 | erot = 0.462133785333153 | epot = -15.3328422143563 | etot = -14.6175140350074 -753000 ekin = 0.250775308155868 | erot = 0.428539072350445 | epot = -15.2968284154581 | etot = -14.6175140349518 -754000 ekin = 0.246585878547032 | erot = 0.395880964578706 | epot = -15.2599808780244 | etot = -14.6175140348987 -755000 ekin = 0.240764398113293 | erot = 0.364890850085532 | epot = -15.2231692830501 | etot = -14.6175140348513 -756000 ekin = 0.23346447104344 | erot = 0.33620133003045 | epot = -15.1871798358857 | etot = -14.6175140348118 -757000 ekin = 0.224842467158388 | erot = 0.310323830730243 | epot = -15.1526803326699 | etot = -14.6175140347812 -758000 ekin = 0.215051562421428 | erot = 0.287636293952697 | epot = -15.120201891134 | etot = -14.6175140347599 -759000 ekin = 0.204242275876271 | erot = 0.268380753509857 | epot = -15.0901370641325 | etot = -14.6175140347464 -760000 ekin = 0.192568636065474 | erot = 0.252669695562842 | epot = -15.0627523663679 | etot = -14.6175140347396 -761000 ekin = 0.180198520175885 | erot = 0.240499428911651 | epot = -15.0382119838247 | etot = -14.6175140347371 -762000 ekin = 0.167326299029189 | erot = 0.231768292967787 | epot = -15.0166086267339 | etot = -14.6175140347369 -763000 ekin = 0.154185685901956 | erot = 0.226297425416186 | epot = -14.9979971460548 | etot = -14.6175140347367 -764000 ekin = 0.141060632748886 | erot = 0.22385200334864 | epot = -14.9824266708322 | etot = -14.6175140347347 -765000 ekin = 0.128292252296688 | erot = 0.224161332818126 | epot = -14.9699676198447 | etot = -14.6175140347299 -766000 ekin = 0.116280064488099 | erot = 0.226936813023238 | epot = -14.9607309122326 | etot = -14.6175140347212 -767000 ekin = 0.105476340626969 | erot = 0.23188750727037 | epot = -14.9548778826066 | etot = -14.6175140347093 -768000 ekin = 0.096372890945937 | erot = 0.238733641345087 | epot = -14.9526205669852 | etot = -14.6175140346942 -769000 ekin = 0.0894802427431669 | erot = 0.247218655409017 | epot = -14.9542129328294 | etot = -14.6175140346772 -770000 ekin = 0.0852997361093092 | erot = 0.257120353608164 | epot = -14.9599341243773 | etot = -14.6175140346598 -771000 ekin = 0.0842896183570599 | erot = 0.268261228608835 | epot = -14.9700648816096 | etot = -14.6175140346437 -772000 ekin = 0.0868267987477346 | erot = 0.280517313419992 | epot = -14.9848581467989 | etot = -14.6175140346312 -773000 ekin = 0.0931666172480206 | erot = 0.293824162660099 | epot = -15.0045048145328 | etot = -14.6175140346247 -774000 ekin = 0.103403843826671 | erot = 0.308178073397117 | epot = -15.0290959518505 | etot = -14.6175140346267 -775000 ekin = 0.117439110045757 | erot = 0.323630675217794 | epot = -15.0585838199034 | etot = -14.6175140346399 -776000 ekin = 0.134955835365974 | erot = 0.340275613675452 | epot = -15.0927454837074 | etot = -14.617514034666 -777000 ekin = 0.155413263635979 | erot = 0.358227842745911 | epot = -15.131155141088 | etot = -14.6175140347061 -778000 ekin = 0.178060391221893 | erot = 0.377596905889502 | epot = -15.1731713318714 | etot = -14.61751403476 -779000 ekin = 0.201973803865647 | erot = 0.398457850158065 | epot = -15.2179456888489 | etot = -14.6175140348252 -780000 ekin = 0.226119091214274 | erot = 0.420824480238275 | epot = -15.2644576063504 | etot = -14.6175140348978 -781000 ekin = 0.249431156626622 | erot = 0.444629585314847 | epot = -15.3115747769139 | etot = -14.6175140349725 -782000 ekin = 0.270904470269639 | erot = 0.469715692367583 | epot = -15.3581341976801 | etot = -14.6175140350429 -783000 ekin = 0.289681273783551 | erot = 0.495837747641305 | epot = -15.4030330565279 | etot = -14.617514035103 -784000 ekin = 0.305125009986927 | erot = 0.522676532161923 | epot = -15.445315577297 | etot = -14.6175140351482 -785000 ekin = 0.316868262923434 | erot = 0.549859353707342 | epot = -15.4842416518064 | etot = -14.6175140351756 -786000 ekin = 0.324828845889255 | erot = 0.576983310023016 | epot = -15.5193261910972 | etot = -14.6175140351849 -787000 ekin = 0.32919323387939 | erot = 0.603636505801527 | epot = -15.550343774859 | etot = -14.617514035178 -788000 ekin = 0.330371864852151 | erot = 0.629413875563716 | epot = -15.5772997755747 | etot = -14.6175140351588 -789000 ekin = 0.328934711355495 | erot = 0.653926193132344 | epot = -15.6003749396201 | etot = -14.6175140351322 -790000 ekin = 0.32553731947378 | erot = 0.676802790006292 | epot = -15.6198541445837 | etot = -14.6175140351036 -791000 ekin = 0.320847267933459 | erot = 0.697689943211487 | epot = -15.6360512462227 | etot = -14.6175140350777 -792000 ekin = 0.315479253539392 | erot = 0.716247584423973 | epot = -15.6492408730215 | etot = -14.6175140350582 -793000 ekin = 0.309944490982107 | erot = 0.732146955922051 | epot = -15.6596054819516 | etot = -14.6175140350474 -794000 ekin = 0.304617480925239 | erot = 0.745071299199412 | epot = -15.6672028151708 | etot = -14.6175140350461 -795000 ekin = 0.299720880976423 | erot = 0.754720862084592 | epot = -15.6719557781148 | etot = -14.6175140350538 -796000 ekin = 0.295327396180162 | erot = 0.760822658787278 | epot = -15.6736640900359 | etot = -14.6175140350685 -797000 ekin = 0.291376296851675 | erot = 0.763144639344914 | epot = -15.6720349712838 | etot = -14.6175140350872 -798000 ekin = 0.287701294703707 | erot = 0.761513269131401 | epot = -15.6667285989415 | etot = -14.6175140351064 -799000 ekin = 0.284065979572222 | erot = 0.755832991336602 | epot = -15.6574130060307 | etot = -14.6175140351219 -800000 ekin = 0.280202790631652 | erot = 0.746105645863969 | epot = -15.643822471626 | etot = -14.6175140351304 -801000 ekin = 0.275851560112653 | erot = 0.732447665813264 | epot = -15.6258132610543 | etot = -14.6175140351284 -802000 ekin = 0.270794034433592 | erot = 0.715102809072576 | epot = -15.6034108786199 | etot = -14.6175140351138 -803000 ekin = 0.264881442636465 | erot = 0.694448356025832 | epot = -15.5768438337476 | etot = -14.6175140350853 -804000 ekin = 0.258053167891105 | erot = 0.670993199746629 | epot = -15.5465604026808 | etot = -14.6175140350431 -805000 ekin = 0.250345604728483 | erot = 0.645366941436678 | epot = -15.5132265811537 | etot = -14.6175140349885 -806000 ekin = 0.241890533712104 | erot = 0.618299214644422 | epot = -15.4777037832803 | etot = -14.6175140349238 -807000 ekin = 0.232905655207387 | erot = 0.590591287736433 | epot = -15.4410109777962 | etot = -14.6175140348524 -808000 ekin = 0.223678061733381 | erot = 0.563080896688429 | epot = -15.4042729931999 | etot = -14.6175140347781 -809000 ekin = 0.21454303523099 | erot = 0.536602758842029 | epot = -15.3686598287782 | etot = -14.6175140347052 -810000 ekin = 0.205860488313568 | erot = 0.511947500023896 | epot = -15.3353220229752 | etot = -14.6175140346377 -811000 ekin = 0.197991117806005 | erot = 0.489821758278081 | epot = -15.3053269106636 | etot = -14.6175140345795 -812000 ekin = 0.191273941671524 | erot = 0.470812030934271 | epot = -15.2796000071394 | etot = -14.6175140345336 -813000 ekin = 0.186006404369985 | erot = 0.455354451062655 | epot = -15.2588748899354 | etot = -14.6175140345028 -814000 ekin = 0.18242775371236 | erot = 0.443712201374096 | epot = -15.243653989575 | etot = -14.6175140344885 -815000 ekin = 0.18070598633541 | erot = 0.435961774091635 | epot = -15.234181794919 | etot = -14.617514034492 -816000 ekin = 0.180928373605491 | erot = 0.431988814113314 | epot = -15.2304312222317 | etot = -14.6175140345129 -817000 ekin = 0.183095431234183 | erot = 0.431493858263631 | epot = -15.2321033240486 | etot = -14.6175140345508 -818000 ekin = 0.187118173911464 | erot = 0.434007895069526 | epot = -15.2386401035849 | etot = -14.6175140346039 -819000 ekin = 0.192818568053382 | erot = 0.43891728680681 | epot = -15.2492498895299 | etot = -14.6175140346697 -820000 ekin = 0.199933211814771 | erot = 0.445497181488374 | epot = -15.2629444280486 | etot = -14.6175140347454 -821000 ekin = 0.208120374081953 | erot = 0.452952069483821 | epot = -15.2785864783931 | etot = -14.6175140348273 -822000 ekin = 0.216970558498266 | erot = 0.460461605795678 | epot = -15.2949461992054 | etot = -14.6175140349114 -823000 ekin = 0.226020685629111 | erot = 0.467229260922827 | epot = -15.3107639815452 | etot = -14.6175140349933 -824000 ekin = 0.234771793851546 | erot = 0.47253085821668 | epot = -15.3248166871369 | etot = -14.6175140350687 -825000 ekin = 0.242709867661982 | erot = 0.475759712130438 | epot = -15.3359836149259 | etot = -14.6175140351335 -826000 ekin = 0.249329060857897 | erot = 0.476465014357233 | epot = -15.3433081103994 | etot = -14.6175140351843 -827000 ekin = 0.254156259485738 | erot = 0.474380409602743 | epot = -15.3460507043067 | etot = -14.6175140352182 -828000 ekin = 0.256775693170762 | erot = 0.46944038334452 | epot = -15.3437301117489 | etot = -14.6175140352336 -829000 ekin = 0.256852201216661 | erot = 0.461783092102077 | epot = -15.3361493285486 | etot = -14.6175140352298 -830000 ekin = 0.254151805816721 | erot = 0.451739467041208 | epot = -15.3234053080651 | etot = -14.6175140352072 -831000 ekin = 0.248558416433736 | erot = 0.439809632306583 | epot = -15.3058820839077 | etot = -14.6175140351674 -832000 ekin = 0.240085737091052 | erot = 0.426628719076076 | epot = -15.2842284912797 | etot = -14.6175140351126 -833000 ekin = 0.228883712687689 | erot = 0.412924890624274 | epot = -15.2593226383577 | etot = -14.6175140350458 -834000 ekin = 0.215239082681844 | erot = 0.399472764056086 | epot = -15.2322258817084 | etot = -14.6175140349705 -835000 ekin = 0.199569787294665 | erot = 0.387045440519586 | epot = -15.2041292627046 | etot = -14.6175140348904 -836000 ekin = 0.182413100763772 | erot = 0.376368114580803 | epot = -15.1762952501539 | etot = -14.6175140348093 -837000 ekin = 0.164407483062706 | erot = 0.36807582593139 | epot = -15.1499973437255 | etot = -14.6175140347314 -838000 ekin = 0.146268295773454 | erot = 0.362677435797712 | epot = -15.1264597662312 | etot = -14.61751403466 -839000 ekin = 0.128757768426402 | erot = 0.360527421580405 | epot = -15.1067992246056 | etot = -14.6175140345988 -840000 ekin = 0.112649960717984 | erot = 0.361806618656283 | epot = -15.091970613925 | etot = -14.6175140345507 -841000 ekin = 0.0986919456677054 | erot = 0.366512603929069 | epot = -15.0827185841153 | etot = -14.6175140345185 -842000 ekin = 0.0875630029234395 | erot = 0.374460003555771 | epot = -15.0795370409833 | etot = -14.6175140345041 -843000 ekin = 0.0798341847686366 | erot = 0.385290606532762 | epot = -15.08263882581 | etot = -14.6175140345086 -844000 ekin = 0.0759310929907395 | erot = 0.3984927697296 | epot = -15.0919378972525 | etot = -14.6175140345322 -845000 ekin = 0.076102961020352 | erot = 0.413429207168617 | epot = -15.107046202763 | etot = -14.617514034574 -846000 ekin = 0.0804010613290235 | erot = 0.429371869322532 | epot = -15.1272869652841 | etot = -14.6175140346325 -847000 ekin = 0.0886689809240873 | erot = 0.445542241998021 | epot = -15.1517252576265 | etot = -14.6175140347044 -848000 ekin = 0.100546421459775 | erot = 0.461155038711605 | epot = -15.179215494957 | etot = -14.6175140347856 -849000 ekin = 0.115486960010826 | erot = 0.475462945351677 | epot = -15.208463940234 | etot = -14.6175140348715 -850000 ekin = 0.132788806695669 | erot = 0.487799837752774 | epot = -15.2381026794056 | etot = -14.6175140349571 -851000 ekin = 0.15163622778631 | erot = 0.49761978557658 | epot = -15.2667700483999 | etot = -14.617514035037 -852000 ekin = 0.171148194576093 | erot = 0.5045292426275 | epot = -15.2931914723102 | etot = -14.6175140351066 -853000 ekin = 0.19043015939564 | erot = 0.508310157461229 | epot = -15.3162543520185 | etot = -14.6175140351617 -854000 ekin = 0.208624756899512 | erot = 0.508932337650922 | epot = -15.3350711297497 | etot = -14.6175140351993 -855000 ekin = 0.224957674812131 | erot = 0.506554231539335 | epot = -15.3490259415692 | etot = -14.6175140352178 -856000 ekin = 0.238775816538934 | erot = 0.501512259960027 | epot = -15.3578021117156 | etot = -14.6175140352166 -857000 ekin = 0.249575992233887 | erot = 0.494299801981668 | epot = -15.3613898294122 | etot = -14.6175140351967 -858000 ekin = 0.257023502073677 | erot = 0.485537766821904 | epot = -15.3600753040553 | etot = -14.6175140351598 -859000 ekin = 0.260960921285557 | erot = 0.47593924761589 | epot = -15.3544142040099 | etot = -14.6175140351084 -860000 ekin = 0.261408037072254 | erot = 0.466270984604724 | epot = -15.3451930567227 | etot = -14.6175140350457 -861000 ekin = 0.258554187538227 | erot = 0.457314264403266 | epot = -15.3333824869164 | etot = -14.6175140349749 -862000 ekin = 0.252744258033032 | erot = 0.449827506886351 | epot = -15.3200857998187 | etot = -14.6175140348993 -863000 ekin = 0.24445941779656 | erot = 0.444512141834286 | epot = -15.3064855944532 | etot = -14.6175140348224 -864000 ekin = 0.234293368840191 | erot = 0.441983030939893 | epot = -15.2937904345275 | etot = -14.6175140347474 -865000 ekin = 0.222924696624028 | erot = 0.442744308395087 | epot = -15.2831830396966 | etot = -14.6175140346775 -866000 ekin = 0.211086026109153 | erot = 0.447169652381141 | epot = -15.275769713106 | etot = -14.6175140346157 -867000 ekin = 0.199530465892741 | erot = 0.455487658924214 | epot = -15.2725321593816 | etot = -14.6175140345647 -868000 ekin = 0.188996288427104 | erot = 0.467771811643747 | epot = -15.2742821345979 | etot = -14.6175140345271 -869000 ekin = 0.180171161859106 | erot = 0.483934855626885 | epot = -15.2816200519912 | etot = -14.6175140345052 -870000 ekin = 0.17365741386822 | erot = 0.503727420429673 | epot = -15.2948988687985 | etot = -14.6175140345006 -871000 ekin = 0.169940429081846 | erot = 0.52674119313203 | epot = -15.3141956567285 | etot = -14.6175140345146 -872000 ekin = 0.169362274178155 | erot = 0.552417088945952 | epot = -15.3392933976716 | etot = -14.6175140345475 -873000 ekin = 0.172102391201285 | erot = 0.580058846014358 | epot = -15.3696752718142 | etot = -14.6175140345986 -874000 ekin = 0.17816700290151 | erot = 0.608852557307893 | epot = -15.4045335948759 | etot = -14.6175140346665 -875000 ekin = 0.187388233890407 | erot = 0.637892396630087 | epot = -15.4427946652692 | etot = -14.6175140347487 -876000 ekin = 0.19943318136702 | erot = 0.666212376945529 | epot = -15.4831595931541 | etot = -14.6175140348415 -877000 ekin = 0.213822249050307 | erot = 0.692823325238237 | epot = -15.5241596092293 | etot = -14.6175140349407 -878000 ekin = 0.229955728385699 | erot = 0.71675421264508 | epot = -15.5642239760723 | etot = -14.6175140350415 -879000 ekin = 0.24714610464469 | erot = 0.737095186135096 | epot = -15.6017553259188 | etot = -14.617514035139 -880000 ekin = 0.264653797001986 | erot = 0.753040153406107 | epot = -15.6352079856364 | etot = -14.6175140352283 -881000 ekin = 0.281723784261025 | erot = 0.763926241591362 | epot = -15.6631640611574 | etot = -14.617514035305 -882000 ekin = 0.297620641606497 | erot = 0.769267373447878 | epot = -15.6844020504201 | etot = -14.6175140353657 -883000 ekin = 0.31165996716591 | erot = 0.768779581882635 | epot = -15.6979535844562 | etot = -14.6175140354077 -884000 ekin = 0.32323477376766 | erot = 0.762396270684418 | epot = -15.7031450798815 | etot = -14.6175140354294 -885000 ekin = 0.331836099624976 | erot = 0.750272396067649 | epot = -15.6996225311232 | etot = -14.6175140354305 -886000 ekin = 0.33706775156376 | erot = 0.73277738526586 | epot = -15.6873591722413 | etot = -14.6175140354116 -887000 ekin = 0.33865564976609 | erot = 0.710477420750346 | epot = -15.6666471058906 | etot = -14.6175140353742 -888000 ekin = 0.336452632420724 | erot = 0.684108417156207 | epot = -15.6380750848973 | etot = -14.6175140353203 -889000 ekin = 0.330439768515565 | erot = 0.654541548240145 | epot = -15.6024953520085 | etot = -14.6175140352528 -890000 ekin = 0.320725208484774 | erot = 0.622743520027188 | epot = -15.5609827636863 | etot = -14.6175140351743 -891000 ekin = 0.30754138620901 | erot = 0.589733936087593 | epot = -15.5147893573847 | etot = -14.6175140350881 -892000 ekin = 0.291240998129824 | erot = 0.55654208039805 | epot = -15.4652971135248 | etot = -14.6175140349969 -893000 ekin = 0.272291667891339 | erot = 0.524165278720875 | epot = -15.413970981516 | etot = -14.6175140349038 -894000 ekin = 0.251268620703469 | erot = 0.493530718297772 | epot = -15.3623133738123 | etot = -14.617514034811 -895000 ekin = 0.228844131843647 | erot = 0.465462234286628 | epot = -15.3118204008517 | etot = -14.6175140347214 -896000 ekin = 0.205772103521931 | erot = 0.44065313730724 | epot = -15.2639392754666 | etot = -14.6175140346374 -897000 ekin = 0.182866017803037 | erot = 0.419645693758354 | epot = -15.2200257461231 | etot = -14.6175140345617 -898000 ekin = 0.160968870008541 | erot = 0.402817425242934 | epot = -15.1813003297485 | etot = -14.617514034497 -899000 ekin = 0.140914625128407 | erot = 0.390374024162942 | epot = -15.1488026837377 | etot = -14.6175140344464 -900000 ekin = 0.123482269337592 | erot = 0.382348451689143 | epot = -15.1233447554393 | etot = -14.6175140344126 -901000 ekin = 0.109345484385137 | erot = 0.3786057375543 | epot = -15.1054652563377 | etot = -14.6175140343982 -902000 ekin = 0.0990229789068443 | erot = 0.378853140166087 | epot = -15.0953901534781 | etot = -14.6175140344052 -903000 ekin = 0.0928360184564003 | erot = 0.382655585825594 | epot = -15.0930056387161 | etot = -14.6175140344341 -904000 ekin = 0.0908801123879861 | erot = 0.389456554773426 | epot = -15.0978507016452 | etot = -14.6175140344838 -905000 ekin = 0.0930167096525759 | erot = 0.398604648849945 | epot = -15.109135393054 | etot = -14.6175140345515 -906000 ekin = 0.0988880708462299 | erot = 0.409385812369135 | epot = -15.1257879178477 | etot = -14.6175140346323 -907000 ekin = 0.107954659147321 | erot = 0.421060528764021 | epot = -15.1465292226317 | etot = -14.6175140347203 -908000 ekin = 0.119550305154264 | erot = 0.432904367174404 | epot = -15.1699687071371 | etot = -14.6175140348085 -909000 ekin = 0.132947118364171 | erot = 0.44424923215812 | epot = -15.1947103854124 | etot = -14.6175140348901 -910000 ekin = 0.147420543333256 | erot = 0.454521879656354 | epot = -15.2194564579492 | etot = -14.6175140349595 -911000 ekin = 0.162305506309105 | erot = 0.463275978359162 | epot = -15.243095519681 | etot = -14.6175140350127 -912000 ekin = 0.177037050912775 | erot = 0.470214361754759 | epot = -15.264765447715 | etot = -14.6175140350475 -913000 ekin = 0.191172462463145 | erot = 0.47519909256641 | epot = -15.2838855900937 | etot = -14.6175140350641 -914000 ekin = 0.204395616840717 | erot = 0.478248345048037 | epot = -15.3001579969529 | etot = -14.6175140350642 -915000 ekin = 0.216507238695372 | erot = 0.479520616572283 | epot = -15.3135418903184 | etot = -14.6175140350507 -916000 ekin = 0.227406352399354 | erot = 0.479288139236181 | epot = -15.324208526663 | etot = -14.6175140350275 -917000 ekin = 0.237068358848421 | erot = 0.47790239272317 | epot = -15.3324847865699 | etot = -14.6175140349983 -918000 ekin = 0.245524170399261 | erot = 0.475755244752224 | epot = -15.3387934501184 | etot = -14.6175140349669 -919000 ekin = 0.252843202023974 | erot = 0.473239468155706 | epot = -15.343596705116 | etot = -14.6175140349363 -920000 ekin = 0.259121284815254 | erot = 0.470712244290015 | epot = -15.3473475640143 | etot = -14.617514034909 -921000 ekin = 0.264473144076574 | erot = 0.468464808092157 | epot = -15.3504519870554 | etot = -14.6175140348867 -922000 ekin = 0.269028180853983 | erot = 0.466700668341734 | epot = -15.3532428840659 | etot = -14.6175140348701 -923000 ekin = 0.272927944745736 | erot = 0.465523908452108 | epot = -15.3559658880573 | etot = -14.6175140348595 -924000 ekin = 0.276323793829006 | erot = 0.464938026324777 | epot = -15.3587758550082 | etot = -14.6175140348544 -925000 ekin = 0.279373649323259 | erot = 0.46485472138072 | epot = -15.361742405558 | etot = -14.617514034854 -926000 ekin = 0.282237300897742 | erot = 0.465111106681027 | epot = -15.3648624424358 | etot = -14.617514034857 -927000 ekin = 0.285070250341507 | erot = 0.465493135293317 | epot = -15.368077420497 | etot = -14.6175140348622 -928000 ekin = 0.288016501944515 | erot = 0.465762600718122 | epot = -15.3712931375312 | etot = -14.6175140348685 -929000 ekin = 0.291201026098165 | erot = 0.465684740678949 | epot = -15.3743998016517 | etot = -14.6175140348746 -930000 ekin = 0.294722459178849 | erot = 0.465054261989122 | epot = -15.3772907560474 | etot = -14.6175140348794 -931000 ekin = 0.298646764015069 | erot = 0.463717248452617 | epot = -15.37987804735 | etot = -14.6175140348823 -932000 ekin = 0.303002304639518 | erot = 0.461587311532337 | epot = -15.3821036510548 | etot = -14.6175140348829 -933000 ekin = 0.307776651094703 | erot = 0.458654945590446 | epot = -15.3839456315665 | etot = -14.6175140348813 -934000 ekin = 0.312915338271949 | erot = 0.454989722654232 | epot = -15.3854190958038 | etot = -14.6175140348776 -935000 ekin = 0.318322768321298 | erot = 0.450735625549576 | epot = -15.3865724287433 | etot = -14.6175140348724 -936000 ekin = 0.323865441581078 | erot = 0.4461003856938 | epot = -15.3874798621412 | etot = -14.6175140348663 -937000 ekin = 0.329377658420705 | erot = 0.441340069469478 | epot = -15.3882317627502 | etot = -14.61751403486 -938000 ekin = 0.334669609401419 | erot = 0.43674015463711 | epot = -15.3889237988925 | etot = -14.617514034854 -939000 ekin = 0.339538182698638 | erot = 0.43259572362611 | epot = -15.3896479411737 | etot = -14.6175140348489 -940000 ekin = 0.343779460435286 | erot = 0.429190561371808 | epot = -15.3904840566521 | etot = -14.617514034845 -941000 ekin = 0.347202304174038 | erot = 0.426777065358206 | epot = -15.3914934043749 | etot = -14.6175140348427 -942000 ekin = 0.349642062607923 | erot = 0.425558062624919 | epot = -15.3927141600748 | etot = -14.617514034842 -943000 ekin = 0.350973206935894 | erot = 0.425671371650785 | epot = -15.3941586134297 | etot = -14.617514034843 -944000 ekin = 0.351119786154916 | erot = 0.427178062459289 | epot = -15.3958118834598 | etot = -14.6175140348456 -945000 ekin = 0.350062816508881 | erot = 0.430055404933721 | epot = -15.3976322562924 | etot = -14.6175140348498 -946000 ekin = 0.347844068536826 | erot = 0.43419544779 | epot = -15.399553551182 | etot = -14.6175140348552 -947000 ekin = 0.344566017441624 | erot = 0.439410327984555 | epot = -15.4014903802875 | etot = -14.6175140348614 -948000 ekin = 0.340388212507466 | erot = 0.445444378277408 | epot = -15.4033466256523 | etot = -14.6175140348674 -949000 ekin = 0.335520427168573 | erot = 0.451992965714934 | epot = -15.405027427756 | etot = -14.6175140348725 -950000 ekin = 0.330213181196302 | erot = 0.458727107975965 | epot = -15.4064543240477 | etot = -14.6175140348755 -951000 ekin = 0.32474581655651 | erot = 0.465321341197607 | epot = -15.4075811926297 | etot = -14.6175140348755 -952000 ekin = 0.319412679962215 | erot = 0.471482169177628 | epot = -15.4084088840117 | etot = -14.6175140348718 -953000 ekin = 0.314508037100187 | erot = 0.476974139327395 | epot = -15.4089962112918 | etot = -14.6175140348642 -954000 ekin = 0.310309685024338 | erot = 0.48163943141798 | epot = -15.4094631512954 | etot = -14.6175140348531 -955000 ekin = 0.307061947765172 | erot = 0.485408201613879 | epot = -15.4099841842186 | etot = -14.6175140348396 -956000 ekin = 0.304958921288845 | erot = 0.488297803841432 | epot = -15.4107707599557 | etot = -14.6175140348254 -957000 ekin = 0.304129209168544 | erot = 0.490400499132465 | epot = -15.412043743114 | etot = -14.617514034813 -958000 ekin = 0.30462371461979 | erot = 0.491860923621405 | epot = -15.4139986730458 | etot = -14.6175140348046 -959000 ekin = 0.306408207891338 | erot = 0.492846142548894 | epot = -15.4167683852429 | etot = -14.6175140348027 -960000 ekin = 0.309362278812989 | erot = 0.493512316198202 | epot = -15.4203886298201 | etot = -14.6175140348089 -961000 ekin = 0.313285873784586 | erot = 0.493972653387296 | epot = -15.4247725619958 | etot = -14.6175140348239 -962000 ekin = 0.31791392478401 | erot = 0.494271324762717 | epot = -15.429699284394 | etot = -14.6175140348473 -963000 ekin = 0.322938673952677 | erot = 0.49436733773729 | epot = -15.4348200465674 | etot = -14.6175140348775 -964000 ekin = 0.328038281530642 | erot = 0.494131108238433 | epot = -15.4396834246807 | etot = -14.6175140349116 -965000 ekin = 0.332909295682699 | erot = 0.493354750676295 | epot = -15.4437780813051 | etot = -14.6175140349461 -966000 ekin = 0.33729968976251 | erot = 0.491775167781853 | epot = -15.4465888925212 | etot = -14.6175140349768 -967000 ekin = 0.341038574326505 | erot = 0.489107134739274 | epot = -15.4476597440655 | etot = -14.6175140349998 -968000 ekin = 0.344058508086205 | erot = 0.485082040988283 | epot = -15.446654584086 | etot = -14.6175140350116 -969000 ekin = 0.346406687226292 | erot = 0.479487053292162 | epot = -15.4434077755287 | etot = -14.6175140350102 -970000 ekin = 0.348242259950603 | erot = 0.472199376075359 | epot = -15.4379556710211 | etot = -14.6175140349951 -971000 ekin = 0.34981857790832 | erot = 0.46321104020783 | epot = -15.4305436530838 | etot = -14.6175140349677 -972000 ekin = 0.351451221504254 | erot = 0.452641107454446 | epot = -15.4216063638894 | etot = -14.6175140349307 -973000 ekin = 0.353474851841754 | erot = 0.440734047140903 | epot = -15.4117229338711 | etot = -14.6175140348884 -974000 ekin = 0.356193968986792 | erot = 0.42784496232361 | epot = -15.4015529661561 | etot = -14.6175140348457 -975000 ekin = 0.359834072253393 | erot = 0.414413971021987 | epot = -15.3917620780828 | etot = -14.6175140348074 -976000 ekin = 0.364500158165202 | erot = 0.400933139115816 | epot = -15.3829473320587 | etot = -14.6175140347777 -977000 ekin = 0.370148756532482 | erot = 0.387909813697021 | epot = -15.3755726049891 | etot = -14.6175140347596 -978000 ekin = 0.376577842833215 | erot = 0.375830059083025 | epot = -15.3699219366707 | etot = -14.6175140347545 -979000 ekin = 0.38343628910019 | erot = 0.365125297246779 | epot = -15.3660756211092 | etot = -14.6175140347622 -980000 ekin = 0.390251542223294 | erot = 0.35614439745949 | epot = -15.3639099744643 | etot = -14.6175140347816 -981000 ekin = 0.396471539317082 | erot = 0.349132547197932 | epot = -15.3631181213249 | etot = -14.6175140348099 -982000 ekin = 0.401514997593021 | erot = 0.344217435799683 | epot = -15.3632464682369 | etot = -14.6175140348442 -983000 ekin = 0.40482345877132 | erot = 0.341402706416172 | epot = -15.3637402000689 | etot = -14.6175140348814 -984000 ekin = 0.40590886668651 | erot = 0.340568324597744 | epot = -15.3639912262029 | etot = -14.6175140349187 -985000 ekin = 0.40439180306127 | erot = 0.341477444720355 | epot = -15.3633832827352 | etot = -14.6175140349536 -986000 ekin = 0.400027422801574 | erot = 0.34378943446128 | epot = -15.361330892247 | etot = -14.6175140349842 -987000 ekin = 0.392718180745197 | erot = 0.347078806738211 | epot = -15.3573110224925 | etot = -14.617514035009 -988000 ekin = 0.38251423921461 | erot = 0.35085976914659 | epot = -15.3508880433883 | etot = -14.6175140350271 -989000 ekin = 0.369603726654237 | erot = 0.354615837188711 | epot = -15.3417335988804 | etot = -14.6175140350375 -990000 ekin = 0.354295674461643 | erot = 0.357833454087933 | epot = -15.3296431635888 | etot = -14.6175140350392 -991000 ekin = 0.336998529351755 | erot = 0.360037895318059 | epot = -15.3145504597015 | etot = -14.6175140350317 -992000 ekin = 0.318196763890793 | erot = 0.360829065190808 | epot = -15.2965398640958 | etot = -14.6175140350142 -993000 ekin = 0.298427479538949 | erot = 0.359914303089432 | epot = -15.275855817615 | etot = -14.6175140349866 -994000 ekin = 0.278258203580391 | erot = 0.357135170965373 | epot = -15.2529074094948 | etot = -14.617514034949 -995000 ekin = 0.258266471895345 | erot = 0.352485480212691 | epot = -15.2282659870101 | etot = -14.617514034902 -996000 ekin = 0.239021351636229 | erot = 0.346118523027927 | epot = -15.2026539095112 | etot = -14.617514034847 -997000 ekin = 0.221066818081289 | erot = 0.338342492442898 | epot = -15.1769233453102 | etot = -14.617514034786 -998000 ekin = 0.204906835818331 | erot = 0.329604233509071 | epot = -15.1520251040488 | etot = -14.6175140347214 -999000 ekin = 0.190992053959174 | erot = 0.320462575795008 | epot = -15.1289686644104 | etot = -14.6175140346562 -1000000 ekin = 0.179708146665509 | erot = 0.311553394429298 | epot = -15.1087755756885 | etot = -14.6175140345937 - 1000000 0.013311715 -1.5443684 0.033490821 -1.4929067 -3.7544839e-05 -Loop time of 17.0535 on 1 procs for 1000000 steps with 10 atoms - -Performance: 50663.947 tau/day, 58638.827 timesteps/s -99.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 | 13.135 | 13.135 | 13.135 | 0.0 | 77.02 -Bond | 0.6362 | 0.6362 | 0.6362 | 0.0 | 3.73 -Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.18919 | 0.18919 | 0.18919 | 0.0 | 1.11 -Output | 8e-06 | 8e-06 | 8e-06 | 0.0 | 0.00 -Modify | 2.8399 | 2.8399 | 2.8399 | 0.0 | 16.65 -Other | | 0.2536 | | | 1.49 - -Nlocal: 10.0 ave 10.0 max 10.0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 0.0 ave 0.0 max 0.0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 37.0 ave 37.0 max 37.0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 37 -Ave neighs/atom = 3.7 -Ave special neighs/atom = 3.6 -Neighbor list builds = 0 -Dangerous builds = 0 - -#write_restart config.${number}.* -Total wall time: 0:00:17 diff --git a/examples/PACKAGES/cgdna/examples/oxDNA2/duplex1/log.30Jun20.duplex1.g++.4 b/examples/PACKAGES/cgdna/examples/oxDNA2/duplex1/log.30Jun20.duplex1.g++.4 deleted file mode 100644 index 134ef62d8f..0000000000 --- a/examples/PACKAGES/cgdna/examples/oxDNA2/duplex1/log.30Jun20.duplex1.g++.4 +++ /dev/null @@ -1,1182 +0,0 @@ -LAMMPS (30 Jun 2020) -variable number equal 1 -variable ofreq equal 1000 -variable efreq equal 1000 -variable T equal 0.1 - -units lj - -dimension 3 - -newton off - -boundary p p p - -atom_style hybrid bond ellipsoid -WARNING: Atom_style hybrid defines both pertype and peratom masses - both must be set, only peratom masses will be used (../atom_vec_hybrid.cpp:156) -atom_modify sort 0 1.0 - -# Pair interactions require lists of neighbours to be calculated -neighbor 1.0 bin -neigh_modify every 1 delay 0 check yes - -read_data data.duplex1 - orthogonal box = (-20 -20 -20) to (20 20 20) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 10 atoms - reading velocities ... - 10 velocities - 10 ellipsoids - scanning bonds ... - 2 = max bonds/atom - reading bonds ... - 8 bonds - 2 = max # of 1-2 neighbors - 2 = max # of 1-3 neighbors - 2 = max # of 1-4 neighbors - 4 = max # of special neighbors - special bonds CPU = 0.001 seconds - read_data CPU = 0.004 seconds - -set atom * mass 3.1575 - 10 settings made for mass - -group all type 1 4 -10 atoms in group all - -# oxDNA2 bond interactions - FENE backbone -bond_style oxdna2/fene -bond_coeff * 2.0 0.25 0.7564 -special_bonds lj 0 1 1 - 2 = max # of 1-2 neighbors - 2 = max # of 1-3 neighbors - 2 = max # of 1-4 neighbors - 4 = max # of special neighbors - special bonds CPU = 0.000 seconds - -# oxDNA2 pair interactions -pair_style hybrid/overlay oxdna2/excv oxdna2/stk oxdna2/hbond oxdna2/xstk oxdna2/coaxstk oxdna2/dh -pair_coeff * * oxdna2/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32 -pair_coeff * * oxdna2/stk seqav ${T} 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 -pair_coeff * * oxdna2/stk seqav 0.1 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 -pair_coeff * * oxdna2/hbond seqav 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 1 4 oxdna2/hbond seqav 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 2 3 oxdna2/hbond seqav 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff * * oxdna2/xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68 -pair_coeff * * oxdna2/coaxstk 58.5 0.4 0.6 0.22 0.58 2.0 2.891592653589793 0.65 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 40.0 3.116592653589793 -pair_coeff * * oxdna2/dh ${T} 1.0 0.815 -pair_coeff * * oxdna2/dh 0.1 1.0 0.815 - -# NVE ensemble -fix 1 all nve/dot -#fix 1 all nve/dotc/langevin ${T} ${T} 0.03 457145 angmom 10 -#fix 1 all nve/asphere -#fix 2 all langevin ${T} ${T} 0.03 457145 angmom 10 - -timestep 1e-5 - -#comm_style tiled -#fix 3 all balance 10000 1.1 rcb -comm_modify cutoff 2.5 - -#compute mol all chunk/atom molecule -#compute mychunk all vcm/chunk mol -#fix 4 all ave/time 10000 1 10000 c_mychunk[1] c_mychunk[2] c_mychunk[3] file vcm.txt mode vector - -#dump pos all xyz ${ofreq} traj.${number}.xyz - -#compute quat all property/atom quatw quati quatj quatk -#dump quat all custom ${ofreq} quat.${number}.txt id c_quat[1] c_quat[2] c_quat[3] c_quat[4] -#dump_modify quat sort id -#dump_modify quat format line "%d %13.6le %13.6le %13.6le %13.6le" - -compute erot all erotate/asphere -compute ekin all ke -compute epot all pe -variable erot equal c_erot -variable ekin equal c_ekin -variable epot equal c_epot -variable etot equal c_erot+c_ekin+c_epot -fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes -fix 5 all print 1000 "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes - -#dump out all custom ${ofreq} out.${number}.txt id x y z vx vy vz fx fy fz tqx tqy tqz -#dump_modify out sort id -#dump_modify out format line "%d %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le" - -run 1000000 -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.6274048 - ghost atom cutoff = 2.6274048 - binsize = 1.3137024, bins = 31 31 31 - 6 neighbor lists, perpetual/occasional/extra = 6 0 0 - (1) pair oxdna2/excv, perpetual - attributes: half, newton off - pair build: half/bin/newtoff - stencil: half/bin/3d/newtoff - bin: standard - (2) pair oxdna2/stk, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (3) pair oxdna2/hbond, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (4) pair oxdna2/xstk, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (5) pair oxdna2/coaxstk, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (6) pair oxdna2/dh, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none -WARNING: Communication cutoff adjusted to 2.627404783947349 (../comm.cpp:690) -0 ekin = 0 | erot = 0 | epot = -14.6175140343334 | etot = -14.6175140343334 -Per MPI rank memory allocation (min/avg/max) = 7.903 | 7.96 | 8.018 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 0 -1.4712768 0.009525411 -1.4617514 4.663076e-06 -1000 ekin = 0.00113086229080478 | erot = 0.00431010160406708 | epot = -14.6229549982368 | etot = -14.617514034342 -2000 ekin = 0.00448533224342286 | erot = 0.0171407706505013 | epot = -14.6391401372615 | etot = -14.6175140343675 -3000 ekin = 0.0099503525964896 | erot = 0.0381961780846439 | epot = -14.6656605650904 | etot = -14.6175140344093 -4000 ekin = 0.0173418024861991 | erot = 0.0669935184860482 | epot = -14.7018493554381 | etot = -14.6175140344659 -5000 ekin = 0.0264109356285965 | erot = 0.102878288094483 | epot = -14.7468032582586 | etot = -14.6175140345355 -6000 ekin = 0.0368533113591267 | erot = 0.14504542056981 | epot = -14.7994127665446 | etot = -14.6175140346157 -7000 ekin = 0.0483200640564583 | erot = 0.192565862515414 | epot = -14.8583999612755 | etot = -14.6175140347036 -8000 ekin = 0.0604312317605635 | erot = 0.244417870131371 | epot = -14.9223631366881 | etot = -14.6175140347962 -9000 ekin = 0.072790711967127 | erot = 0.299521949931656 | epot = -14.9898266967887 | etot = -14.6175140348899 -10000 ekin = 0.0850022498874609 | erot = 0.356777997217668 | epot = -15.0592942820866 | etot = -14.6175140349815 -11000 ekin = 0.0966857134040954 | erot = 0.415102860829322 | epot = -15.1293026093009 | etot = -14.6175140350675 -12000 ekin = 0.107492790688356 | erot = 0.473466334177699 | epot = -15.1984731600111 | etot = -14.617514035145 -13000 ekin = 0.117121180381612 | erot = 0.530923485009329 | epot = -15.2655587006024 | etot = -14.6175140352115 -14000 ekin = 0.125326348459051 | erot = 0.586641324447251 | epot = -15.3294817081714 | etot = -14.6175140352651 -15000 ekin = 0.131930017119328 | erot = 0.63991810423422 | epot = -15.3893621566583 | etot = -14.6175140353048 -16000 ekin = 0.136824741331405 | erot = 0.690194029500566 | epot = -15.4445328061626 | etot = -14.6175140353306 -17000 ekin = 0.139974218116171 | erot = 0.737052866147306 | epot = -15.4945411196066 | etot = -14.6175140353432 -18000 ekin = 0.141409342139797 | erot = 0.780214750583043 | epot = -15.5391381280668 | etot = -14.617514035344 -19000 ekin = 0.141220424903361 | erot = 0.819521373491177 | epot = -15.5782558337298 | etot = -14.6175140353352 -20000 ekin = 0.139546371890511 | erot = 0.854915474127585 | epot = -15.6119758813374 | etot = -14.6175140353193 -21000 ekin = 0.136561897558541 | erot = 0.886417110947522 | epot = -15.6404930438047 | etot = -14.6175140352986 -22000 ekin = 0.132464002543684 | erot = 0.914099368829796 | epot = -15.6640774066492 | etot = -14.6175140352758 -23000 ekin = 0.127458921012898 | erot = 0.938065991541741 | epot = -15.6830389478072 | etot = -14.6175140352525 -24000 ekin = 0.121750582423396 | erot = 0.958432936326346 | epot = -15.6976975539803 | etot = -14.6175140352306 -25000 ekin = 0.115531361419039 | erot = 0.975315142931434 | epot = -15.7083605395612 | etot = -14.6175140352107 -26000 ekin = 0.108975565586195 | erot = 0.988819027952452 | epot = -15.715308628732 | etot = -14.6175140351934 -27000 ekin = 0.102235785319183 | erot = 0.999040485514706 | epot = -15.7187903060122 | etot = -14.6175140351783 -28000 ekin = 0.0954419434320554 | erot = 1.00606759141037 | epot = -15.7190235700075 | etot = -14.6175140351651 -29000 ekin = 0.0887026587346012 | erot = 1.00998681843686 | epot = -15.7162035123244 | etot = -14.6175140351529 -30000 ekin = 0.0821083868016836 | erot = 1.01089138149989 | epot = -15.7105138034423 | etot = -14.6175140351407 -31000 ekin = 0.0757357206090521 | erot = 1.00889031641421 | epot = -15.702140072151 | etot = -14.6175140351278 -32000 ekin = 0.0696522149391935 | erot = 1.00411701390103 | epot = -15.6912832639534 | etot = -14.6175140351132 -33000 ekin = 0.0639211300031737 | erot = 0.996736133736263 | epot = -15.6781712988358 | etot = -14.6175140350964 -34000 ekin = 0.0586055597942697 | erot = 0.986948071944207 | epot = -15.6630676668155 | etot = -14.617514035077 -35000 ekin = 0.0537715085522448 | erot = 0.974990414618501 | epot = -15.6462759582258 | etot = -14.617514035055 -36000 ekin = 0.0494895953267295 | erot = 0.961136064968264 | epot = -15.6281396953257 | etot = -14.6175140350307 -37000 ekin = 0.0458351949408502 | erot = 0.945687966087874 | epot = -15.6090371960337 | etot = -14.617514035005 -38000 ekin = 0.0428869588018996 | erot = 0.928970560853581 | epot = -15.5893715546342 | etot = -14.6175140349787 -39000 ekin = 0.0407237982125063 | erot = 0.911318339680438 | epot = -15.5695561728459 | etot = -14.617514034953 -40000 ekin = 0.0394205547756063 | erot = 0.893062038098217 | epot = -15.5499966278032 | etot = -14.6175140349294 -41000 ekin = 0.0390427256108178 | erot = 0.874513269991183 | epot = -15.5310700305113 | etot = -14.6175140349092 -42000 ekin = 0.0396407506458889 | erot = 0.855948622306388 | epot = -15.5131034078463 | etot = -14.617514034894 -43000 ekin = 0.0412444930542012 | erot = 0.837594480923648 | epot = -15.4963530088627 | etot = -14.6175140348848 -44000 ekin = 0.0438586280729573 | erot = 0.819614069272763 | epot = -15.4809867322283 | etot = -14.6175140348826 -45000 ekin = 0.0474596621514809 | erot = 0.802098297010425 | epot = -15.4670719940496 | etot = -14.6175140348876 -46000 ekin = 0.0519951857190001 | erot = 0.785061947877089 | epot = -15.4545711684958 | etot = -14.6175140348997 -47000 ekin = 0.0573856747188828 | erot = 0.768446392385995 | epot = -15.4433461020223 | etot = -14.6175140349174 -48000 ekin = 0.0635286843628562 | erot = 0.752129335015535 | epot = -15.433172054318 | etot = -14.6175140349396 -49000 ekin = 0.0703046735384702 | erot = 0.735941123250163 | epot = -15.4237598317528 | etot = -14.6175140349642 -50000 ekin = 0.0775831019852491 | erot = 0.719686007780774 | epot = -15.4147831447551 | etot = -14.6175140349891 -51000 ekin = 0.0852270843840623 | erot = 0.703165726694424 | epot = -15.4059068460916 | etot = -14.6175140350132 -52000 ekin = 0.0930950223446157 | erot = 0.686202231165621 | epot = -15.3968112885448 | etot = -14.6175140350346 -53000 ekin = 0.101038429252411 | erot = 0.668656546988554 | epot = -15.3872090112944 | etot = -14.6175140350534 -54000 ekin = 0.108896540979999 | erot = 0.65044172617409 | epot = -15.3768523022237 | etot = -14.6175140350696 -55000 ekin = 0.116489881625605 | erot = 0.631529329347953 | epot = -15.3655332460571 | etot = -14.6175140350836 -56000 ekin = 0.12361610349128 | erot = 0.611950383382754 | epot = -15.3530805219694 | etot = -14.6175140350954 -57000 ekin = 0.130051530400511 | erot = 0.591792721317636 | epot = -15.3393582868229 | etot = -14.6175140351047 -58000 ekin = 0.135560625192868 | erot = 0.571196690673809 | epot = -15.3242713509772 | etot = -14.6175140351105 -59000 ekin = 0.13991335082652 | erot = 0.550350463180971 | epot = -15.307777849119 | etot = -14.6175140351115 -60000 ekin = 0.142907875045205 | erot = 0.529485019663366 | epot = -15.2899069298149 | etot = -14.6175140351063 -61000 ekin = 0.144394224776987 | erot = 0.508867904999859 | epot = -15.2707761648709 | etot = -14.6175140350941 -62000 ekin = 0.14429400378525 | erot = 0.488794507593493 | epot = -15.2506025464535 | etot = -14.6175140350748 -63000 ekin = 0.142612256997681 | erot = 0.469576039422599 | epot = -15.2297023314693 | etot = -14.617514035049 -64000 ekin = 0.139439544726489 | erot = 0.451524344955609 | epot = -15.2084779247008 | etot = -14.6175140350187 -65000 ekin = 0.134944526553205 | erot = 0.434934714914789 | epot = -15.1873932764541 | etot = -14.6175140349861 -66000 ekin = 0.129359146357915 | erot = 0.42006860776795 | epot = -15.1669417890793 | etot = -14.6175140349534 -67000 ekin = 0.122959458763979 | erot = 0.407138362060406 | epot = -15.1476118557473 | etot = -14.6175140349229 -68000 ekin = 0.116045210525348 | erot = 0.396295631876791 | epot = -15.1298548772989 | etot = -14.6175140348967 -69000 ekin = 0.108920722072196 | erot = 0.387624589972286 | epot = -15.1140593469203 | etot = -14.6175140348758 -70000 ekin = 0.10187874072944 | erot = 0.381140173640969 | epot = -15.1005329492312 | etot = -14.6175140348608 -71000 ekin = 0.0951880561483024 | erot = 0.376791007701474 | epot = -15.0894930987017 | etot = -14.6175140348519 -72000 ekin = 0.0890849677261225 | erot = 0.374466237250124 | epot = -15.0810652398251 | etot = -14.6175140348489 -73000 ekin = 0.0837682427021172 | erot = 0.37400534759948 | epot = -15.0752876251526 | etot = -14.617514034851 -74000 ekin = 0.0793969849743902 | erot = 0.375210076750066 | epot = -15.0721210965819 | etot = -14.6175140348574 -75000 ekin = 0.0760907865069309 | erot = 0.377857644571635 | epot = -15.0714624659456 | etot = -14.617514034867 -76000 ekin = 0.073931583490861 | erot = 0.381714646754472 | epot = -15.073160265124 | etot = -14.6175140348787 -77000 ekin = 0.0729667273608691 | erot = 0.386551032955436 | epot = -15.0770317952076 | etot = -14.6175140348913 -78000 ekin = 0.0732128655080132 | erot = 0.392153586682573 | epot = -15.0828804870945 | etot = -14.6175140349039 -79000 ekin = 0.0746602878351816 | erot = 0.398338263928879 | epot = -15.0905125866795 | etot = -14.6175140349154 -80000 ekin = 0.0772774298946258 | erot = 0.404960669862598 | epot = -15.0997521346822 | etot = -14.617514034925 -81000 ekin = 0.0810152396747851 | erot = 0.411923913358685 | epot = -15.1104531879654 | etot = -14.617514034932 -82000 ekin = 0.0858111278281503 | erot = 0.419183131304765 | epot = -15.122508294069 | etot = -14.6175140349361 -83000 ekin = 0.0915922459207823 | erot = 0.426746154030485 | epot = -15.1358524348888 | etot = -14.6175140349375 -84000 ekin = 0.0982778862655832 | erot = 0.434670094582864 | epot = -15.1504620157849 | etot = -14.6175140349364 -85000 ekin = 0.105780875252437 | erot = 0.443054055542249 | epot = -15.1663489657283 | etot = -14.6175140349336 -86000 ekin = 0.114007936320836 | erot = 0.452028591870875 | epot = -15.1835505631216 | etot = -14.6175140349299 -87000 ekin = 0.122859117093393 | erot = 0.461742961599463 | epot = -15.2021161136192 | etot = -14.6175140349264 -88000 ekin = 0.132226490250757 | erot = 0.472351454261397 | epot = -15.2220919794359 | etot = -14.6175140349237 -89000 ekin = 0.141992430435586 | erot = 0.48400015022936 | epot = -15.243506615588 | etot = -14.6175140349231 -90000 ekin = 0.152027823849156 | erot = 0.496815313840275 | epot = -15.2663571726144 | etot = -14.617514034925 -91000 ekin = 0.162190574344531 | erot = 0.510894287760946 | epot = -15.2905988970356 | etot = -14.6175140349301 -92000 ekin = 0.172324730223634 | erot = 0.526299304076921 | epot = -15.3161380692392 | etot = -14.6175140349387 -93000 ekin = 0.182260479602882 | erot = 0.543054150884053 | epot = -15.3428286654374 | etot = -14.6175140349505 -94000 ekin = 0.19181516642483 | erot = 0.561143224560411 | epot = -15.3704724259507 | etot = -14.6175140349654 -95000 ekin = 0.200795384590157 | erot = 0.580512230413436 | epot = -15.398821649987 | etot = -14.6175140349834 -96000 ekin = 0.209000133284529 | erot = 0.601069706845066 | epot = -15.4275838751334 | etot = -14.6175140350038 -97000 ekin = 0.216224974983237 | erot = 0.62268863993255 | epot = -15.4564276499423 | etot = -14.6175140350265 -98000 ekin = 0.222267131485539 | erot = 0.6452076702458 | epot = -15.4849888367823 | etot = -14.617514035051 -99000 ekin = 0.226931474008825 | erot = 0.668431711039527 | epot = -15.5128772201251 | etot = -14.6175140350767 -100000 ekin = 0.230037392185109 | erot = 0.692132125756159 | epot = -15.5396835530446 | etot = -14.6175140351033 -101000 ekin = 0.231426538774162 | erot = 0.716046886548711 | epot = -15.5649874604531 | etot = -14.6175140351302 -102000 ekin = 0.230971416185847 | erot = 0.739881303910146 | epot = -15.5883667552525 | etot = -14.6175140351565 -103000 ekin = 0.228584676860608 | erot = 0.763309953364731 | epot = -15.6094086654068 | etot = -14.6175140351814 -104000 ekin = 0.224228843046253 | erot = 0.78598032692129 | epot = -15.6277232051714 | etot = -14.6175140352039 -105000 ekin = 0.217925953180068 | erot = 0.807518535459536 | epot = -15.6429585238624 | etot = -14.6175140352228 -106000 ekin = 0.209766205881383 | erot = 0.827537066837229 | epot = -15.6548173079557 | etot = -14.6175140352371 -107000 ekin = 0.199914663118832 | erot = 0.845644346598305 | epot = -15.6630730449629 | etot = -14.6175140352458 -108000 ekin = 0.188614735690438 | erot = 0.86145556230374 | epot = -15.6675843332424 | etot = -14.6175140352482 -109000 ekin = 0.176187061060969 | erot = 0.874603999194657 | epot = -15.6683050954996 | etot = -14.617514035244 -110000 ekin = 0.163022626611269 | erot = 0.884752084634178 | epot = -15.6652887464788 | etot = -14.6175140352334 -111000 ekin = 0.149569382110055 | erot = 0.891601400936344 | epot = -15.6586848182636 | etot = -14.6175140352172 -112000 ekin = 0.136312261124298 | erot = 0.894901120601569 | epot = -15.6487274169225 | etot = -14.6175140351967 -113000 ekin = 0.123747404857111 | erot = 0.894454602034433 | epot = -15.635716042065 | etot = -14.6175140351735 -114000 ekin = 0.112352324429236 | erot = 0.89012419645392 | epot = -15.6199905560327 | etot = -14.6175140351496 -115000 ekin = 0.102554569787019 | erot = 0.881834585428133 | epot = -15.601903190342 | etot = -14.6175140351268 -116000 ekin = 0.094702004709198 | erot = 0.869575126615747 | epot = -15.5817911664316 | etot = -14.6175140351067 -117000 ekin = 0.0890378681933156 | erot = 0.853401690495617 | epot = -15.5599535937792 | etot = -14.6175140350902 -118000 ekin = 0.0856833736304911 | erot = 0.833438318820653 | epot = -15.536635727529 | etot = -14.6175140350778 -119000 ekin = 0.0846297171115028 | erot = 0.809878764033866 | epot = -15.5120225162146 | etot = -14.6175140350693 -120000 ekin = 0.0857402026933537 | erot = 0.782987649503194 | epot = -15.4862418872603 | etot = -14.6175140350638 -121000 ekin = 0.0887619781646647 | erot = 0.753100709617513 | epot = -15.4593767228421 | etot = -14.61751403506 -122000 ekin = 0.0933458418333701 | erot = 0.720623403983765 | epot = -15.4314832808735 | etot = -14.6175140350564 -123000 ekin = 0.0990718975136712 | erot = 0.686027198351099 | epot = -15.4026131309163 | etot = -14.6175140350515 -124000 ekin = 0.10547856753477 | erot = 0.649842971568616 | epot = -15.3728355741476 | etot = -14.6175140350442 -125000 ekin = 0.112092583657157 | erot = 0.612651306911466 | epot = -15.3422579256018 | etot = -14.6175140350331 -126000 ekin = 0.118457948669929 | erot = 0.575069793126885 | epot = -15.3110417768148 | etot = -14.6175140350179 -127000 ekin = 0.12416235209736 | erot = 0.537737821904032 | epot = -15.2794142089994 | etot = -14.617514034998 -128000 ekin = 0.12886000047466 | erot = 0.50129966007338 | epot = -15.2476736955216 | etot = -14.6175140349735 -129000 ekin = 0.132290197680968 | erot = 0.466386755141928 | epot = -15.2161909877676 | etot = -14.6175140349447 -130000 ekin = 0.134291248322799 | erot = 0.433600287194598 | epot = -15.1854055704295 | etot = -14.6175140349121 -131000 ekin = 0.134809368078731 | erot = 0.403494917850824 | epot = -15.1558183208059 | etot = -14.6175140348763 -132000 ekin = 0.133902311412609 | erot = 0.376564532721137 | epot = -15.1279808789722 | etot = -14.6175140348384 -133000 ekin = 0.131737425949523 | erot = 0.35323055944927 | epot = -15.102482020198 | etot = -14.6175140347992 -134000 ekin = 0.128583872249503 | erot = 0.333833200744645 | epot = -15.0799311077543 | etot = -14.6175140347601 -135000 ekin = 0.124798858318881 | erot = 0.318625678761018 | epot = -15.0609385718023 | etot = -14.6175140347224 -136000 ekin = 0.120807966950657 | erot = 0.307771366705204 | epot = -15.0460933683435 | etot = -14.6175140346876 -137000 ekin = 0.117080018573046 | erot = 0.301343503849178 | epot = -15.0359375570798 | etot = -14.6175140346576 -138000 ekin = 0.11409740445119 | erot = 0.299327064918184 | epot = -15.0309385040035 | etot = -14.6175140346342 -139000 ekin = 0.112323403877017 | erot = 0.30162229304682 | epot = -15.0314597315429 | etot = -14.6175140346191 -140000 ekin = 0.112168587316825 | erot = 0.308049410073269 | epot = -15.0377320320041 | etot = -14.617514034614 -141000 ekin = 0.113958896787242 | erot = 0.318354084563179 | epot = -15.0498270159708 | etot = -14.6175140346204 -142000 ekin = 0.117908250109871 | erot = 0.332213334114279 | epot = -15.0676356188632 | etot = -14.6175140346391 -143000 ekin = 0.124098500240005 | erot = 0.349241744869171 | epot = -15.0908542797795 | etot = -14.6175140346704 -144000 ekin = 0.132469049162189 | erot = 0.368998042344344 | epot = -15.1189811262203 | etot = -14.6175140347138 -145000 ekin = 0.142817534773286 | erot = 0.390992018433719 | epot = -15.1513235879751 | etot = -14.6175140347681 -146000 ekin = 0.154812002594074 | erot = 0.414692148539669 | epot = -15.1870181859652 | etot = -14.6175140348314 -147000 ekin = 0.168013608208222 | erot = 0.439534147564146 | epot = -15.2250617906734 | etot = -14.617514034901 -148000 ekin = 0.181907755044263 | erot = 0.464930715993231 | epot = -15.2643525060114 | etot = -14.617514034974 -149000 ekin = 0.195940689918476 | erot = 0.490282644231627 | epot = -15.303737369197 | etot = -14.6175140350469 -150000 ekin = 0.209558115498224 | erot = 0.514991307803342 | epot = -15.3420634584183 | etot = -14.6175140351167 -151000 ekin = 0.222242375358764 | erot = 0.538472447670959 | epot = -15.37822885821 | etot = -14.6175140351803 -152000 ekin = 0.233545181100908 | erot = 0.560170967505261 | epot = -15.4112301838413 | etot = -14.6175140352351 -153000 ekin = 0.243113638171877 | erot = 0.579575715964384 | epot = -15.4402033894153 | etot = -14.6175140352791 -154000 ekin = 0.250708030719506 | erot = 0.596234520730852 | epot = -15.4644565867613 | etot = -14.617514035311 -155000 ekin = 0.256210874594867 | erot = 0.60976818504912 | epot = -15.4834930949737 | etot = -14.6175140353297 -156000 ekin = 0.259627463842678 | erot = 0.619882772314523 | epot = -15.4970242714926 | etot = -14.6175140353354 -157000 ekin = 0.261078756733762 | erot = 0.626379517381851 | epot = -15.5049723094439 | etot = -14.6175140353283 -158000 ekin = 0.260787877594799 | erot = 0.629161788909728 | epot = -15.5074637018138 | etot = -14.6175140353093 -159000 ekin = 0.259061752299363 | erot = 0.628238692725143 | epot = -15.5048144803044 | etot = -14.6175140352799 -160000 ekin = 0.256269476947947 | erot = 0.623725097357694 | epot = -15.4975086095473 | etot = -14.6175140352416 -161000 ekin = 0.252818974262676 | erot = 0.615838055764808 | epot = -15.486171065224 | etot = -14.6175140351965 -162000 ekin = 0.249133354780831 | erot = 0.604889772113657 | epot = -15.471537162041 | etot = -14.6175140351465 -163000 ekin = 0.245628201594069 | erot = 0.591277407065719 | epot = -15.4544196437535 | etot = -14.6175140350937 -164000 ekin = 0.242690765770497 | erot = 0.575470125399849 | epot = -15.4356749262106 | etot = -14.6175140350402 -165000 ekin = 0.240661818237638 | erot = 0.557993868663582 | epot = -15.4161697218892 | etot = -14.617514034988 -166000 ekin = 0.239820672159809 | erot = 0.53941438884916 | epot = -15.3967490959478 | etot = -14.6175140349388 -167000 ekin = 0.240373682616981 | erot = 0.520319112884548 | epot = -15.3782068303959 | etot = -14.6175140348944 -168000 ekin = 0.24244635767337 | erot = 0.501298426047094 | epot = -15.3612588185766 | etot = -14.6175140348562 -169000 ekin = 0.246079081489486 | erot = 0.482926967022081 | epot = -15.3465200833369 | etot = -14.6175140348253 -170000 ekin = 0.251226355670601 | erot = 0.465745518941346 | epot = -15.3344859094148 | etot = -14.6175140348028 -171000 ekin = 0.257759407502439 | erot = 0.450244072412675 | epot = -15.3255175147044 | etot = -14.6175140347893 -172000 ekin = 0.265471962314995 | erot = 0.43684655757276 | epot = -15.3198325546728 | etot = -14.617514034785 -173000 ekin = 0.274088992052566 | erot = 0.425897760802307 | epot = -15.317500787645 | etot = -14.6175140347901 -174000 ekin = 0.283278228107989 | erot = 0.417652965987653 | epot = -15.3184452288998 | etot = -14.6175140348041 -175000 ekin = 0.292664164217049 | erot = 0.41227065206718 | epot = -15.3224488511106 | etot = -14.6175140348264 -176000 ekin = 0.301844276743974 | erot = 0.409808663993543 | epot = -15.3291669755933 | etot = -14.6175140348558 -177000 ekin = 0.310407103277722 | erot = 0.410224178773613 | epot = -15.338145316942 | etot = -14.6175140348907 -178000 ekin = 0.317951707448459 | erot = 0.413377690533319 | epot = -15.3488434329112 | etot = -14.6175140349295 -179000 ekin = 0.324107901131331 | erot = 0.419041092199345 | epot = -15.3606630283007 | etot = -14.61751403497 -180000 ekin = 0.328556397748226 | erot = 0.426909726007329 | epot = -15.3729801587658 | etot = -14.6175140350103 -181000 ekin = 0.331047834153872 | erot = 0.436618006902467 | epot = -15.3851798761041 | etot = -14.6175140350478 -182000 ekin = 0.331419420114469 | erot = 0.447757936314679 | epot = -15.3966913915095 | etot = -14.6175140350803 -183000 ekin = 0.32960779233749 | erot = 0.459899520065503 | epot = -15.4070213475091 | etot = -14.6175140351061 -184000 ekin = 0.325656516855028 | erot = 0.472611792133139 | epot = -15.4157823441118 | etot = -14.6175140351236 -185000 ekin = 0.319716934487211 | erot = 0.485483030927449 | epot = -15.4227140005469 | etot = -14.6175140351322 -186000 ekin = 0.312041347782212 | erot = 0.498138700398001 | epot = -15.4276940833121 | etot = -14.6175140351319 -187000 ekin = 0.302968200961153 | erot = 0.510255791848845 | epot = -15.4307380279334 | etot = -14.6175140351234 -188000 ekin = 0.292899787356355 | erot = 0.5215725520513 | epot = -15.4319863745157 | etot = -14.6175140351081 -189000 ekin = 0.282274048055605 | erot = 0.531893031493143 | epot = -15.4316811146372 | etot = -14.6175140350884 -190000 ekin = 0.271533034588949 | erot = 0.541086413296656 | epot = -15.4301334829521 | etot = -14.6175140350665 -191000 ekin = 0.261091384545176 | erot = 0.549081610185661 | epot = -15.4276870297757 | etot = -14.6175140350448 -192000 ekin = 0.251308489707993 | erot = 0.555858063434326 | epot = -15.4246805881679 | etot = -14.6175140350256 -193000 ekin = 0.242467771119499 | erot = 0.561433978654792 | epot = -15.4214157847846 | etot = -14.6175140350103 -194000 ekin = 0.234765581624083 | erot = 0.565853352187983 | epot = -15.4181329688119 | etot = -14.6175140349998 -195000 ekin = 0.228310848060933 | erot = 0.569173077812972 | epot = -15.414997960868 | etot = -14.6175140349941 -196000 ekin = 0.223134890549791 | erot = 0.571451208607789 | epot = -15.4121001341501 | etot = -14.6175140349925 -197000 ekin = 0.219209242155479 | erot = 0.572737138234515 | epot = -15.4094604153842 | etot = -14.6175140349942 -198000 ekin = 0.216468062808567 | erot = 0.573064123809139 | epot = -15.4070462216157 | etot = -14.6175140349979 -199000 ekin = 0.214831137522102 | erot = 0.572444258405115 | epot = -15.4047894309295 | etot = -14.6175140350023 -200000 ekin = 0.214223573901692 | erot = 0.570865760664587 | epot = -15.402603369573 | etot = -14.6175140350067 -201000 ekin = 0.214589119166338 | erot = 0.568292309388425 | epot = -15.4003954635655 | etot = -14.6175140350107 -202000 ekin = 0.215895325601886 | erot = 0.564664121435212 | epot = -15.3980734820515 | etot = -14.6175140350144 -203000 ekin = 0.218130347569574 | erot = 0.559900543320399 | epot = -15.3955449259083 | etot = -14.6175140350184 -204000 ekin = 0.221292667473328 | erot = 0.553904074219812 | epot = -15.3927107767163 | etot = -14.6175140350232 -205000 ekin = 0.225376258610291 | erot = 0.546565915590092 | epot = -15.3894562092301 | etot = -14.6175140350297 -206000 ekin = 0.230354397528691 | erot = 0.537773288685112 | epot = -15.3856417212522 | etot = -14.6175140350384 -207000 ekin = 0.236165428414371 | erot = 0.527418806931585 | epot = -15.3810982703949 | etot = -14.617514035049 -208000 ekin = 0.242703261860097 | erot = 0.515412077176746 | epot = -15.3756293740978 | etot = -14.617514035061 -209000 ekin = 0.249814382549771 | erot = 0.501693407692903 | epot = -15.3690218253159 | etot = -14.6175140350732 -210000 ekin = 0.257301864855487 | erot = 0.486249049966596 | epot = -15.3610649499059 | etot = -14.6175140350838 -211000 ekin = 0.264935635394204 | erot = 0.469126912721243 | epot = -15.3515765832063 | etot = -14.6175140350909 -212000 ekin = 0.272467183646431 | erot = 0.450451153648371 | epot = -15.3404323723875 | etot = -14.6175140350927 -213000 ekin = 0.279646306736912 | erot = 0.430433702677772 | epot = -15.3275940445023 | etot = -14.6175140350876 -214000 ekin = 0.286237611276899 | erot = 0.409381288017331 | epot = -15.3131329343688 | etot = -14.6175140350746 -215000 ekin = 0.29203464387293 | erot = 0.387696263733711 | epot = -15.29724494266 | etot = -14.6175140350534 -216000 ekin = 0.296870258153004 | erot = 0.365870567410591 | epot = -15.2802548605881 | etot = -14.6175140350245 -217000 ekin = 0.300622666325324 | erot = 0.344472695101547 | epot = -15.2626093964159 | etot = -14.617514034989 -218000 ekin = 0.303217269541564 | erot = 0.324128407396835 | epot = -15.244859711887 | etot = -14.6175140349486 -219000 ekin = 0.30462484391226 | erot = 0.305496496150474 | epot = -15.2276353749682 | etot = -14.6175140349055 -220000 ekin = 0.304856982074418 | erot = 0.289241221674229 | epot = -15.2116122386105 | etot = -14.6175140348619 -221000 ekin = 0.303959749544728 | erot = 0.276003133760616 | epot = -15.1974769181253 | etot = -14.61751403482 -222000 ekin = 0.302006434071345 | erot = 0.266369862263779 | epot = -15.1858903311172 | etot = -14.6175140347821 -223000 ekin = 0.299090105491099 | erot = 0.260848208952979 | epot = -15.1774523491944 | etot = -14.6175140347503 -224000 ekin = 0.295316503745815 | erot = 0.259838588555865 | epot = -15.172669127028 | etot = -14.6175140347263 -225000 ekin = 0.29079760031813 | erot = 0.263612591734547 | epot = -15.1719242267643 | etot = -14.6175140347116 -226000 ekin = 0.28564610323333 | erot = 0.272294318079248 | epot = -15.1754544560199 | etot = -14.6175140347074 -227000 ekin = 0.279971018689722 | erot = 0.285846075010758 | epot = -15.1833311284149 | etot = -14.6175140347144 -228000 ekin = 0.27387437472819 | erot = 0.304059069119049 | epot = -15.1954474785804 | etot = -14.6175140347332 -229000 ekin = 0.2674491741605 | erot = 0.326549807965654 | epot = -15.2115130168897 | etot = -14.6175140347636 -230000 ekin = 0.260778614119455 | erot = 0.352763004039831 | epot = -15.2310556529641 | etot = -14.6175140348048 -231000 ekin = 0.253936564977397 | erot = 0.381981763344761 | epot = -15.2534323631777 | etot = -14.6175140348555 -232000 ekin = 0.246989230842658 | erot = 0.413345683736738 | epot = -15.2778489494936 | etot = -14.6175140349142 -233000 ekin = 0.239997814735998 | erot = 0.445877135783837 | epot = -15.3033889854983 | etot = -14.6175140349784 -234000 ekin = 0.233021891669953 | erot = 0.478515439398998 | epot = -15.3290513661143 | etot = -14.6175140350454 -235000 ekin = 0.226123071286445 | erot = 0.510157919201484 | epot = -15.3537950255997 | etot = -14.6175140351118 -236000 ekin = 0.21936843695277 | erot = 0.539706010633891 | epot = -15.3765884827611 | etot = -14.6175140351745 -237000 ekin = 0.212833212708602 | erot = 0.566113832023262 | epot = -15.3964610799619 | etot = -14.61751403523 -238000 ekin = 0.206602165162865 | erot = 0.588436180449287 | epot = -15.4125523808878 | etot = -14.6175140352757 -239000 ekin = 0.200769360307748 | erot = 0.605872583258365 | epot = -15.4241559788754 | etot = -14.6175140353093 -240000 ekin = 0.195436190928625 | erot = 0.61780345837781 | epot = -15.4307536846357 | etot = -14.6175140353293 -241000 ekin = 0.190707920284743 | erot = 0.623817360380854 | epot = -15.4320393160006 | etot = -14.617514035335 -242000 ekin = 0.186689132524135 | erot = 0.623726737659666 | epot = -15.4279299055104 | etot = -14.6175140353266 -243000 ekin = 0.183478880874969 | erot = 0.617571857376273 | epot = -15.4185647735561 | etot = -14.6175140353049 -244000 ekin = 0.181166166760206 | erot = 0.605612923712308 | epot = -15.4042931257437 | etot = -14.6175140352712 -245000 ekin = 0.179826690516145 | erot = 0.588311983397642 | epot = -15.3856527091413 | etot = -14.6175140352275 -246000 ekin = 0.179521473345086 | erot = 0.566306329739288 | epot = -15.3633418382601 | etot = -14.6175140351758 -247000 ekin = 0.180297726609514 | erot = 0.540375528723551 | epot = -15.3381872904514 | etot = -14.6175140351183 -248000 ekin = 0.182192022181392 | erot = 0.511404282991666 | epot = -15.3111103402302 | etot = -14.6175140350572 -249000 ekin = 0.185235475059313 | erot = 0.480343275337858 | epot = -15.2830927853916 | etot = -14.6175140349945 -250000 ekin = 0.189460324578832 | erot = 0.448169956262064 | epot = -15.255144315773 | etot = -14.6175140349321 -251000 ekin = 0.19490702001237 | erot = 0.415851007132868 | epot = -15.228272062017 | etot = -14.6175140348717 -252000 ekin = 0.201630699423836 | erot = 0.384307951122289 | epot = -15.2034526853611 | etot = -14.617514034815 -253000 ekin = 0.209705815256177 | erot = 0.354387113740113 | epot = -15.1816069637594 | etot = -14.6175140347631 -254000 ekin = 0.219227629547432 | erot = 0.326834860919775 | epot = -15.1635765251848 | etot = -14.6175140347176 -255000 ekin = 0.230309407957432 | erot = 0.302278768995733 | epot = -15.1501022116327 | etot = -14.6175140346795 -256000 ekin = 0.243074422922267 | erot = 0.281215109558701 | epot = -15.141803567131 | etot = -14.61751403465 -257000 ekin = 0.257642364630153 | erot = 0.264002762946067 | epot = -15.1391591622066 | etot = -14.6175140346304 -258000 ekin = 0.274110461104108 | erot = 0.250863404057697 | epot = -15.1424878997833 | etot = -14.6175140346215 -259000 ekin = 0.292530483429775 | erot = 0.241887528333024 | epot = -15.1519320463872 | etot = -14.6175140346244 -260000 ekin = 0.312883750215128 | erot = 0.237045600991386 | epot = -15.1674433858462 | etot = -14.6175140346397 -261000 ekin = 0.335057071666333 | erot = 0.236203324625284 | epot = -15.1887744309592 | etot = -14.6175140346676 -262000 ekin = 0.358823075933473 | erot = 0.239139750884213 | epot = -15.2154768615253 | etot = -14.6175140347076 -263000 ekin = 0.383828346058996 | erot = 0.245566753569572 | epot = -15.2469091343872 | etot = -14.6175140347587 -264000 ekin = 0.409592161639947 | erot = 0.255148290958814 | epot = -15.2822544874178 | etot = -14.6175140348191 -265000 ekin = 0.435517425640964 | erot = 0.267517972446782 | epot = -15.3205494329741 | etot = -14.6175140348864 -266000 ekin = 0.460913759434661 | erot = 0.282293742227942 | epot = -15.3607215366204 | etot = -14.6175140349578 -267000 ekin = 0.485031075313793 | erot = 0.299088986461059 | epot = -15.4016340968052 | etot = -14.6175140350303 -268000 ekin = 0.50710051747368 | erot = 0.317519986656956 | epot = -15.4421345392314 | etot = -14.6175140351007 -269000 ekin = 0.526378761163555 | erot = 0.33721025800327 | epot = -15.4811030543329 | etot = -14.6175140351661 -270000 ekin = 0.542191399557166 | erot = 0.357792786170323 | epot = -15.5174982209515 | etot = -14.617514035224 -271000 ekin = 0.553971501275297 | erot = 0.378911394713051 | epot = -15.5503969312606 | etot = -14.6175140352722 -272000 ekin = 0.561290243476884 | erot = 0.400222387433604 | epot = -15.5790266662199 | etot = -14.6175140353094 -273000 ekin = 0.563877614617889 | erot = 0.421397250043755 | epot = -15.6027888999963 | etot = -14.6175140353346 -274000 ekin = 0.561632338447609 | erot = 0.442126671655328 | epot = -15.6212730454506 | etot = -14.6175140353477 -275000 ekin = 0.554621238224436 | erot = 0.462125606775396 | epot = -15.6342608803486 | etot = -14.6175140353487 -276000 ekin = 0.543069132887187 | erot = 0.481138682331962 | epot = -15.6417218505579 | etot = -14.6175140353387 -277000 ekin = 0.527340979965694 | erot = 0.498945052082853 | epot = -15.6438000673675 | etot = -14.6175140353189 -278000 ekin = 0.507918337217276 | erot = 0.515361832413196 | epot = -15.6407942049214 | etot = -14.617514035291 -279000 ekin = 0.485372319601914 | erot = 0.530245473601771 | epot = -15.6331318284601 | etot = -14.6175140352564 -280000 ekin = 0.46033511650651 | erot = 0.543490744711146 | epot = -15.6213398964351 | etot = -14.6175140352175 -281000 ekin = 0.433471859960453 | erot = 0.555027349456868 | epot = -15.6060132445935 | etot = -14.6175140351761 -282000 ekin = 0.405454262480505 | erot = 0.564814480007104 | epot = -15.5877827776223 | etot = -14.6175140351347 -283000 ekin = 0.376937038993415 | erot = 0.572833827993335 | epot = -15.5672849020813 | etot = -14.6175140350945 -284000 ekin = 0.348537747962441 | erot = 0.579081711931139 | epot = -15.5451334949501 | etot = -14.6175140350565 -285000 ekin = 0.320820372083179 | erot = 0.583561068647143 | epot = -15.5218954757531 | etot = -14.6175140350227 -286000 ekin = 0.294282726921465 | erot = 0.586274110946605 | epot = -15.4980708728619 | etot = -14.6175140349939 -287000 ekin = 0.269347634013372 | erot = 0.587216475910704 | epot = -15.4740781448946 | etot = -14.6175140349706 -288000 ekin = 0.246357704467567 | erot = 0.586373659773396 | epot = -15.4502453991941 | etot = -14.6175140349531 -289000 ekin = 0.225573522145737 | erot = 0.583720426232575 | epot = -15.4268079833199 | etot = -14.6175140349416 -290000 ekin = 0.207174962818498 | erot = 0.579223657449698 | epot = -15.4039126552032 | etot = -14.617514034935 -291000 ekin = 0.191265313940317 | erot = 0.57284878086397 | epot = -15.3816281297368 | etot = -14.6175140349325 -292000 ekin = 0.177877757396561 | erot = 0.564569470033103 | epot = -15.3599612623625 | etot = -14.6175140349328 -293000 ekin = 0.166983649288562 | erot = 0.55437983768204 | epot = -15.3388775219052 | etot = -14.6175140349346 -294000 ekin = 0.158501898150816 | erot = 0.542307895558416 | epot = -15.3183238286456 | etot = -14.6175140349363 -295000 ekin = 0.152308641379775 | erot = 0.528428741575564 | epot = -15.2982514178919 | etot = -14.6175140349366 -296000 ekin = 0.14824639013426 | erot = 0.512875830575376 | epot = -15.2786362556441 | etot = -14.6175140349344 -297000 ekin = 0.146131889948848 | erot = 0.49584883363365 | epot = -15.2594947585117 | etot = -14.6175140349292 -298000 ekin = 0.145762142540934 | erot = 0.47761697934363 | epot = -15.2408931568053 | etot = -14.6175140349207 -299000 ekin = 0.146918339842692 | erot = 0.458517327974144 | epot = -15.2229497027261 | etot = -14.6175140349093 -300000 ekin = 0.149367830718069 | erot = 0.438948042711649 | epot = -15.2058299083254 | etot = -14.6175140348957 -301000 ekin = 0.152864610234033 | erot = 0.419357266833102 | epot = -15.1897359119478 | etot = -14.6175140348807 -302000 ekin = 0.157149122640169 | erot = 0.400228590597444 | epot = -15.1748917481033 | etot = -14.6175140348656 -303000 ekin = 0.161948347719032 | erot = 0.382064246006851 | epot = -15.1615266285773 | etot = -14.6175140348514 -304000 ekin = 0.166977167327436 | erot = 0.365367110078575 | epot = -15.1498583122451 | etot = -14.6175140348391 -305000 ekin = 0.171941885875871 | erot = 0.350622387001196 | epot = -15.1400783077067 | etot = -14.6175140348296 -306000 ekin = 0.176546522696863 | erot = 0.338279561363742 | epot = -15.1323401188838 | etot = -14.6175140348232 -307000 ekin = 0.180502080572192 | erot = 0.32873493509135 | epot = -15.126751050484 | etot = -14.6175140348205 -308000 ekin = 0.183539117579248 | erot = 0.322315068517915 | epot = -15.1233682209185 | etot = -14.6175140348213 -309000 ekin = 0.18542258916881 | erot = 0.31926113518031 | epot = -15.1221977591748 | etot = -14.6175140348257 -310000 ekin = 0.185968382525478 | erot = 0.319714556777655 | epot = -15.1231969741364 | etot = -14.6175140348332 -311000 ekin = 0.185060444471749 | erot = 0.323704474532897 | epot = -15.1262789538482 | etot = -14.6175140348435 -312000 ekin = 0.182667055699898 | erot = 0.331137883754702 | epot = -15.1313189743107 | etot = -14.6175140348561 -313000 ekin = 0.178854671448117 | erot = 0.341793554574368 | epot = -15.1381622608928 | etot = -14.6175140348703 -314000 ekin = 0.173797674113305 | erot = 0.355321045101964 | epot = -15.1466327541009 | etot = -14.6175140348857 -315000 ekin = 0.167782440685989 | erot = 0.371246117950244 | epot = -15.1565425935376 | etot = -14.6175140349013 -316000 ekin = 0.161204347699333 | erot = 0.388983636698412 | epot = -15.1677020193144 | etot = -14.6175140349166 -317000 ekin = 0.154556738722997 | erot = 0.407858516721222 | epot = -15.179929290375 | etot = -14.6175140349308 -318000 ekin = 0.148411457828014 | erot = 0.427134549771526 | epot = -15.1930600425429 | etot = -14.6175140349434 -319000 ekin = 0.143391260343274 | erot = 0.446049980956587 | epot = -15.2069552762535 | etot = -14.6175140349536 -320000 ekin = 0.140135163879389 | erot = 0.463857713006731 | epot = -15.2215069118477 | etot = -14.6175140349616 -321000 ekin = 0.13925849683082 | erot = 0.47986711734359 | epot = -15.2366396491416 | etot = -14.6175140349672 -322000 ekin = 0.141309963686786 | erot = 0.493483840953745 | epot = -15.2523078396115 | etot = -14.617514034971 -323000 ekin = 0.146728465402049 | erot = 0.504243890594766 | epot = -15.2684863909708 | etot = -14.617514034974 -324000 ekin = 0.155802740978474 | erot = 0.511838753068047 | epot = -15.2851555290241 | etot = -14.6175140349776 -325000 ekin = 0.168637192339758 | erot = 0.516129344219392 | epot = -15.3022805715425 | etot = -14.6175140349833 -326000 ekin = 0.185127492740937 | erot = 0.517147991936341 | epot = -15.3197895196698 | etot = -14.6175140349925 -327000 ekin = 0.204949583925474 | erot = 0.515089155111526 | epot = -15.3375527740431 | etot = -14.6175140350061 -328000 ekin = 0.227565145376632 | erot = 0.510290835144293 | epot = -15.3553700155453 | etot = -14.6175140350243 -329000 ekin = 0.252245305622037 | erot = 0.503209396460715 | epot = -15.372968737129 | etot = -14.6175140350463 -330000 ekin = 0.278112223739082 | erot = 0.494390678506977 | epot = -15.3900169373163 | etot = -14.6175140350702 -331000 ekin = 0.304195517645115 | erot = 0.484439927614521 | epot = -15.4061494803532 | etot = -14.6175140350935 -332000 ekin = 0.329497983392802 | erot = 0.473992405219011 | epot = -15.4210044237255 | etot = -14.6175140351136 -333000 ekin = 0.353063353198636 | erot = 0.463685785195801 | epot = -15.4342631735224 | etot = -14.617514035128 -334000 ekin = 0.374038491016654 | erot = 0.454134842083192 | epot = -15.4456873682344 | etot = -14.6175140351345 -335000 ekin = 0.391723520500355 | erot = 0.445908562625392 | epot = -15.4551461182584 | etot = -14.6175140351326 -336000 ekin = 0.405605581598612 | erot = 0.439509690040415 | epot = -15.4626293067615 | etot = -14.6175140351225 -337000 ekin = 0.415374601838216 | erot = 0.435356764652285 | epot = -15.4682454015957 | etot = -14.6175140351052 -338000 ekin = 0.42092199701013 | erot = 0.433768862195237 | epot = -15.4722048942883 | etot = -14.6175140350829 -339000 ekin = 0.422325110447523 | erot = 0.434953376211998 | epot = -15.4747925217174 | etot = -14.6175140350579 -340000 ekin = 0.419821259880453 | erot = 0.438997304560007 | epot = -15.4763325994732 | etot = -14.6175140350327 -341000 ekin = 0.413775534581149 | erot = 0.445862573585633 | epot = -15.4771521431765 | etot = -14.6175140350097 -342000 ekin = 0.404646174020848 | erot = 0.455385967573857 | epot = -15.4775461765857 | etot = -14.617514034991 -343000 ekin = 0.39295070583281 | erot = 0.467284215126884 | epot = -15.4777489559374 | etot = -14.6175140349777 -344000 ekin = 0.379235231728883 | erot = 0.481164689425934 | epot = -15.4779139561254 | etot = -14.6175140349706 -345000 ekin = 0.364048459933153 | erot = 0.496541967294177 | epot = -15.4781044621969 | etot = -14.6175140349695 -346000 ekin = 0.347921358320316 | erot = 0.512860132815006 | epot = -15.478295526109 | etot = -14.6175140349737 -347000 ekin = 0.331352665808126 | erot = 0.529520204053122 | epot = -15.4783869048429 | etot = -14.6175140349817 -348000 ekin = 0.314799955036566 | erot = 0.545911447469168 | epot = -15.4782254374972 | etot = -14.6175140349915 -349000 ekin = 0.298675493175281 | erot = 0.561444708834092 | epot = -15.4776342370104 | etot = -14.6175140350011 -350000 ekin = 0.283345815520869 | erot = 0.575585348315993 | epot = -15.4764451988451 | etot = -14.6175140350083 -351000 ekin = 0.269133730327523 | erot = 0.587883045339117 | epot = -15.474530810678 | etot = -14.6175140350114 -352000 ekin = 0.256321431305203 | erot = 0.597995738138039 | epot = -15.4718312044524 | etot = -14.6175140350092 -353000 ekin = 0.24515350965437 | erot = 0.605705335206206 | epot = -15.4683728798616 | etot = -14.617514035001 -354000 ekin = 0.235838910986168 | erot = 0.610923562934476 | epot = -15.4642765089078 | etot = -14.6175140349872 -355000 ekin = 0.228551231300269 | erot = 0.613687305425456 | epot = -15.4597525716945 | etot = -14.6175140349688 -356000 ekin = 0.223427131306842 | erot = 0.61414390282459 | epot = -15.4550850690789 | etot = -14.6175140349475 -357000 ekin = 0.220563006917694 | erot = 0.612527933401747 | epot = -15.4506049752447 | etot = -14.6175140349253 -358000 ekin = 0.22001033319751 | erot = 0.60913185554411 | epot = -15.4466562236463 | etot = -14.6175140349046 -359000 ekin = 0.221770268739896 | erot = 0.604273418957587 | epot = -15.4435577225855 | etot = -14.617514034888 -360000 ekin = 0.225788163653238 | erot = 0.598262925571301 | epot = -15.4415651241022 | etot = -14.6175140348777 -361000 ekin = 0.231948578437327 | erot = 0.591373251984918 | epot = -15.4408358652977 | etot = -14.6175140348754 -362000 ekin = 0.240071331017989 | erot = 0.583815109039703 | epot = -15.4414004749403 | etot = -14.6175140348826 -363000 ekin = 0.249908988057725 | erot = 0.5757194066129 | epot = -15.4431424295705 | etot = -14.6175140348999 -364000 ekin = 0.261146140581906 | erot = 0.567127906486804 | epot = -15.445788081996 | etot = -14.6175140349273 -365000 ekin = 0.273400773645715 | erot = 0.55799265360587 | epot = -15.4489074622158 | etot = -14.6175140349642 -366000 ekin = 0.286228056503678 | erot = 0.548184015759183 | epot = -15.4519261072721 | etot = -14.6175140350092 -367000 ekin = 0.299126926925909 | erot = 0.537506547612528 | epot = -15.454147509599 | etot = -14.6175140350606 -368000 ekin = 0.311549892638302 | erot = 0.525721330953642 | epot = -15.4547852587076 | etot = -14.6175140351156 -369000 ekin = 0.32291649334207 | erot = 0.512572942756027 | epot = -15.4530034712696 | etot = -14.6175140351715 -370000 ekin = 0.332630833323927 | erot = 0.497818805483382 | epot = -15.4479636740324 | etot = -14.6175140352251 -371000 ekin = 0.340103492446064 | erot = 0.481258447418256 | epot = -15.4388759751374 | etot = -14.617514035273 -372000 ekin = 0.344777943663672 | erot = 0.462760223985855 | epot = -15.4250522029614 | etot = -14.6175140353119 -373000 ekin = 0.346161332161602 | erot = 0.442283380419715 | epot = -15.4059587479198 | etot = -14.6175140353385 -374000 ekin = 0.343859062980226 | erot = 0.419893962768359 | epot = -15.3812670610984 | etot = -14.6175140353498 -375000 ekin = 0.337612023151089 | erot = 0.395773904237503 | epot = -15.3508999627316 | etot = -14.617514035343 -376000 ekin = 0.327334336193297 | erot = 0.370223433837585 | epot = -15.3150718053467 | etot = -14.6175140353159 -377000 ekin = 0.31314826371265 | erot = 0.343657545338067 | epot = -15.2743198443178 | etot = -14.6175140352671 -378000 ekin = 0.295411338277465 | erot = 0.316597454538877 | epot = -15.2295228280127 | etot = -14.6175140351964 -379000 ekin = 0.274729408510311 | erot = 0.289657740940239 | epot = -15.1819011845556 | etot = -14.6175140351051 -380000 ekin = 0.251948675267255 | erot = 0.263529414055484 | epot = -15.1329921243191 | etot = -14.6175140349963 -381000 ekin = 0.228120837035106 | erot = 0.238958749468258 | epot = -15.0845936213795 | etot = -14.6175140348762 -382000 ekin = 0.204438854506711 | erot = 0.21672127051921 | epot = -15.0386741597778 | etot = -14.6175140347519 -383000 ekin = 0.182146263755408 | erot = 0.197591880984099 | epot = -14.9972521793719 | etot = -14.6175140346324 -384000 ekin = 0.162429780679591 | erot = 0.182311896923862 | epot = -14.9622557121303 | etot = -14.6175140345269 -385000 ekin = 0.14631062212392 | erot = 0.171555128910903 | epot = -14.9353797854787 | etot = -14.6175140344438 -386000 ekin = 0.134552389652504 | erot = 0.165895597224072 | epot = -14.9179620212652 | etot = -14.6175140343886 -387000 ekin = 0.127600986328474 | erot = 0.165779213533691 | epot = -14.9108942342261 | etot = -14.6175140343639 -388000 ekin = 0.125565151523057 | erot = 0.171500950984465 | epot = -14.9145801368767 | etot = -14.6175140343691 -389000 ekin = 0.128237001096924 | erot = 0.183188026636153 | epot = -14.9289390621345 | etot = -14.6175140344014 -390000 ekin = 0.135143637923019 | erot = 0.200788930663243 | epot = -14.953446603043 | etot = -14.6175140344567 -391000 ekin = 0.145616156499687 | erot = 0.224068074688667 | epot = -14.9871982657189 | etot = -14.6175140345306 -392000 ekin = 0.158862235246419 | erot = 0.252606362172197 | epot = -15.028982632037 | etot = -14.6175140346184 -393000 ekin = 0.174032087603182 | erot = 0.285808726840173 | epot = -15.0773548491589 | etot = -14.6175140347155 -394000 ekin = 0.190272707003279 | erot = 0.32292010751355 | epot = -15.130706849335 | etot = -14.6175140348181 -395000 ekin = 0.206769905101682 | erot = 0.363051013228993 | epot = -15.1873349532528 | etot = -14.6175140349222 -396000 ekin = 0.222780272469837 | erot = 0.405212687948367 | epot = -15.2455069954416 | etot = -14.6175140350234 -397000 ekin = 0.237655698718666 | erot = 0.448360183483368 | epot = -15.3035299173201 | etot = -14.6175140351181 -398000 ekin = 0.250862154069819 | erot = 0.491439914330298 | epot = -15.3598161036023 | etot = -14.6175140352022 -399000 ekin = 0.261993055953367 | erot = 0.533437059171161 | epot = -15.4129441503973 | etot = -14.6175140352727 -400000 ekin = 0.27077655050685 | erot = 0.573417887950022 | epot = -15.4617084737844 | etot = -14.6175140353276 -401000 ekin = 0.277075831015552 | erot = 0.610562842824378 | epot = -15.505152709206 | etot = -14.6175140353661 -402000 ekin = 0.280882158891387 | erot = 0.644187798759806 | epot = -15.5425839930396 | etot = -14.6175140353885 -403000 ekin = 0.282301228578668 | erot = 0.673752968642337 | epot = -15.5735682326172 | etot = -14.6175140353962 -404000 ekin = 0.281534519811851 | erot = 0.698860907482421 | epot = -15.5979094626856 | etot = -14.6175140353913 -405000 ekin = 0.278857975736577 | erot = 0.719246574878491 | epot = -15.6156185859914 | etot = -14.6175140353763 -406000 ekin = 0.27460055575904 | erot = 0.734763157396981 | epot = -15.6268777485092 | etot = -14.6175140353531 -407000 ekin = 0.269124923358191 | erot = 0.745367259285135 | epot = -15.632006217967 | etot = -14.6175140353237 -408000 ekin = 0.262811853165513 | erot = 0.75110627666519 | epot = -15.6314321651198 | etot = -14.6175140352891 -409000 ekin = 0.256049112192014 | erot = 0.752109968276038 | epot = -15.6256731157183 | etot = -14.6175140352503 -410000 ekin = 0.249224269809724 | erot = 0.748584332259421 | epot = -15.6153226372766 | etot = -14.6175140352074 -411000 ekin = 0.242720888553515 | erot = 0.74080910391814 | epot = -15.6010440276324 | etot = -14.6175140351607 -412000 ekin = 0.236916379506249 | erot = 0.729136085380527 | epot = -15.5835664999973 | etot = -14.6175140351105 -413000 ekin = 0.232179735243875 | erot = 0.713985498456682 | epot = -15.5636792687578 | etot = -14.6175140350572 -414000 ekin = 0.228867632642529 | erot = 0.695838652585608 | epot = -15.5422203202303 | etot = -14.6175140350022 -415000 ekin = 0.227317772308198 | erot = 0.675225695396014 | epot = -15.5200575026511 | etot = -14.6175140349469 -416000 ekin = 0.227838940778005 | erot = 0.65270826110506 | epot = -15.4980612367768 | etot = -14.6175140348937 -417000 ekin = 0.23069797086734 | erot = 0.628857925336074 | epot = -15.4770699310485 | etot = -14.6175140348451 -418000 ekin = 0.236104416121177 | erot = 0.604232291329939 | epot = -15.4578507422545 | etot = -14.6175140348034 -419000 ekin = 0.244194252200936 | erot = 0.579351108945467 | epot = -15.4410593959176 | etot = -14.6175140347712 -420000 ekin = 0.255014214169025 | erot = 0.554674986841681 | epot = -15.427203235761 | etot = -14.6175140347503 -421000 ekin = 0.268508458340867 | erot = 0.530589008737006 | epot = -15.4166115018197 | etot = -14.6175140347419 -422000 ekin = 0.284509119561056 | erot = 0.507392982381358 | epot = -15.4094161366888 | etot = -14.6175140347464 -423000 ekin = 0.302732060427453 | erot = 0.485299248119848 | epot = -15.4055453433108 | etot = -14.6175140347635 -424000 ekin = 0.322778728051846 | erot = 0.464438075671392 | epot = -15.4047308385151 | etot = -14.6175140347918 -425000 ekin = 0.344144594922978 | erot = 0.444869796713037 | epot = -15.4065284264654 | etot = -14.6175140348294 -426000 ekin = 0.366234204300236 | erot = 0.426602052984558 | epot = -15.4103502921584 | etot = -14.6175140348736 -427000 ekin = 0.388382398339839 | erot = 0.409609962240785 | epot = -15.4155063955021 | etot = -14.6175140349215 -428000 ekin = 0.409880900047347 | erot = 0.393856678092514 | epot = -15.4212516131098 | etot = -14.61751403497 -429000 ekin = 0.430009061106081 | erot = 0.379311788382045 | epot = -15.4268348845042 | etot = -14.617514035016 -430000 ekin = 0.448067283635938 | erot = 0.365965282400769 | epot = -15.4315466010937 | etot = -14.617514035057 -431000 ekin = 0.463411378722709 | erot = 0.353835411175237 | epot = -15.4347608249887 | etot = -14.6175140350907 -432000 ekin = 0.47548594153415 | erot = 0.342969616703567 | epot = -15.4359695933534 | etot = -14.6175140351157 -433000 ekin = 0.483854704019995 | erot = 0.333438714396017 | epot = -15.4348074535468 | etot = -14.6175140351308 -434000 ekin = 0.488225698517989 | erot = 0.325325491781988 | epot = -15.4310652254358 | etot = -14.6175140351358 -435000 ekin = 0.488469615216989 | erot = 0.318709988965469 | epot = -15.4246936393136 | etot = -14.6175140351312 -436000 ekin = 0.48462910079659 | erot = 0.313653867974335 | epot = -15.4157970038886 | etot = -14.6175140351176 -437000 ekin = 0.476917712283315 | erot = 0.310186654190433 | epot = -15.4046184015705 | etot = -14.6175140350967 -438000 ekin = 0.465707830234525 | erot = 0.308296241622533 | epot = -15.3915181069269 | etot = -14.6175140350699 -439000 ekin = 0.451507536799582 | erot = 0.307925153770196 | epot = -15.376946725609 | etot = -14.6175140350392 -440000 ekin = 0.434927659012326 | erot = 0.308973010492473 | epot = -15.3614147045113 | etot = -14.6175140350065 -441000 ekin = 0.416641657348227 | erot = 0.311304747383323 | epot = -15.3454604397054 | etot = -14.6175140349739 -442000 ekin = 0.397341542599983 | erot = 0.3147626187362 | epot = -15.3296181962795 | etot = -14.6175140349433 -443000 ekin = 0.377694362714098 | erot = 0.319179725729427 | epot = -15.3143881233596 | etot = -14.6175140349161 -444000 ekin = 0.358304425135514 | erot = 0.324393298190365 | epot = -15.3002117582193 | etot = -14.6175140348935 -445000 ekin = 0.339684383333994 | erot = 0.330254911560057 | epot = -15.2874533297702 | etot = -14.6175140348761 -446000 ekin = 0.322237701350787 | erot = 0.336636009508874 | epot = -15.276387745724 | etot = -14.6175140348643 -447000 ekin = 0.306253086582787 | erot = 0.343428242758822 | epot = -15.2671953641996 | etot = -14.617514034858 -448000 ekin = 0.291909091343146 | erot = 0.350538602021414 | epot = -15.2599617282214 | etot = -14.6175140348569 -449000 ekin = 0.279285717663623 | erot = 0.35788026308961 | epot = -15.2546800156141 | etot = -14.6175140348608 -450000 ekin = 0.268379332693062 | erot = 0.365360767817965 | epot = -15.2512541353807 | etot = -14.6175140348697 -451000 ekin = 0.259117719162389 | erot = 0.372869677561009 | epot = -15.2495014316067 | etot = -14.6175140348833 -452000 ekin = 0.251373384973236 | erot = 0.380268095671436 | epot = -15.2491555155464 | etot = -14.6175140349017 -453000 ekin = 0.244974824127414 | erot = 0.387382402365197 | epot = -15.249871261417 | etot = -14.6175140349243 -454000 ekin = 0.239716691076083 | erot = 0.39400413186188 | epot = -15.2512348578882 | etot = -14.6175140349502 -455000 ekin = 0.235370413814051 | erot = 0.399897145642462 | epot = -15.2527815944342 | etot = -14.6175140349777 -456000 ekin = 0.231696513790449 | erot = 0.40481218842498 | epot = -15.2540227372201 | etot = -14.6175140350047 -457000 ekin = 0.228459014431981 | erot = 0.40850770951526 | epot = -15.2544807589758 | etot = -14.6175140350286 -458000 ekin = 0.225441196082345 | erot = 0.410774705624049 | epot = -15.2537299367533 | etot = -14.6175140350469 -459000 ekin = 0.222461018940529 | erot = 0.411462514811891 | epot = -15.2514375688097 | etot = -14.6175140350572 -460000 ekin = 0.219384094438522 | erot = 0.410502136529 | epot = -15.2474002660254 | etot = -14.6175140350579 -461000 ekin = 0.216132245240083 | erot = 0.40792384413244 | epot = -15.2415701244207 | etot = -14.6175140350482 -462000 ekin = 0.212686361973293 | erot = 0.403866554423589 | epot = -15.2340669514251 | etot = -14.6175140350283 -463000 ekin = 0.209083218482802 | erot = 0.398577486489706 | epot = -15.2251747399718 | etot = -14.6175140349993 -464000 ekin = 0.205406888263705 | erot = 0.392401883856904 | epot = -15.2153228070839 | etot = -14.6175140349633 -465000 ekin = 0.201776197881055 | erot = 0.385763783461981 | epot = -15.205054016266 | etot = -14.617514034923 -466000 ekin = 0.198330130961163 | erot = 0.379139817336875 | epot = -15.1949839831792 | etot = -14.6175140348812 -467000 ekin = 0.195213224017084 | erot = 0.373028711257248 | epot = -15.1857559701149 | etot = -14.6175140348406 -468000 ekin = 0.192562810062079 | erot = 0.367919448414624 | epot = -15.1779962932805 | etot = -14.6175140348038 -469000 ekin = 0.190499545154634 | erot = 0.364261004085315 | epot = -15.1722745840127 | etot = -14.6175140347728 -470000 ekin = 0.189122086032537 | erot = 0.362436180586744 | epot = -15.1690723013681 | etot = -14.6175140347488 -471000 ekin = 0.188506156938585 | erot = 0.362741456207124 | epot = -15.1687616478783 | etot = -14.6175140347325 -472000 ekin = 0.188707621222025 | erot = 0.365373993438314 | epot = -15.1715956493842 | etot = -14.6175140347239 -473000 ekin = 0.189768618621823 | erot = 0.370426120543997 | epot = -15.1777087738881 | etot = -14.6175140347222 -474000 ekin = 0.191725397341228 | erot = 0.377886798112909 | epot = -15.1871262301805 | etot = -14.6175140347264 -475000 ekin = 0.194616213070748 | erot = 0.387648901412907 | epot = -15.1997791492191 | etot = -14.6175140347355 -476000 ekin = 0.19848763616064 | erot = 0.39952067815615 | epot = -15.2155223490651 | etot = -14.6175140347483 -477000 ekin = 0.203397790429832 | erot = 0.413239540255182 | epot = -15.2341513654491 | etot = -14.6175140347641 -478000 ekin = 0.209415519783212 | erot = 0.428486466927375 | epot = -15.2554160214929 | etot = -14.6175140347823 -479000 ekin = 0.216615156594683 | erot = 0.444899686772466 | epot = -15.2790288781699 | etot = -14.6175140348028 -480000 ekin = 0.225067223157677 | erot = 0.462086880018489 | epot = -15.3046681380017 | etot = -14.6175140348255 -481000 ekin = 0.234826185147703 | erot = 0.479635803739713 | epot = -15.3319760237384 | etot = -14.617514034851 -482000 ekin = 0.245916939355107 | erot = 0.497123799838186 | epot = -15.3605547740726 | etot = -14.6175140348793 -483000 ekin = 0.258322039580648 | erot = 0.514126984881418 | epot = -15.3899630593725 | etot = -14.6175140349104 -484000 ekin = 0.27197166705463 | erot = 0.530229960568927 | epot = -15.4197156625676 | etot = -14.6175140349441 -485000 ekin = 0.286738030809397 | erot = 0.545036619609846 | epot = -15.4492886853987 | etot = -14.6175140349795 -486000 ekin = 0.302435294441744 | erot = 0.55818212519067 | epot = -15.4781314546478 | etot = -14.6175140350154 -487000 ekin = 0.31882536985775 | erot = 0.569345540302742 | epot = -15.5056849452109 | etot = -14.6175140350504 -488000 ekin = 0.33562912085568 | erot = 0.578262027782569 | epot = -15.531405183721 | etot = -14.6175140350828 -489000 ekin = 0.352541803824768 | erot = 0.584733173542191 | epot = -15.5547890124778 | etot = -14.6175140351108 -490000 ekin = 0.369251041132819 | erot = 0.588633902375943 | epot = -15.575398978642 | etot = -14.6175140351332 -491000 ekin = 0.38545533994301 | erot = 0.589914693969638 | epot = -15.5928840690618 | etot = -14.6175140351491 -492000 ekin = 0.400881156477994 | erot = 0.588598334680196 | epot = -15.6069935263164 | etot = -14.6175140351582 -493000 ekin = 0.41529674637658 | erot = 0.584771169136983 | epot = -15.6175819506742 | etot = -14.6175140351607 -494000 ekin = 0.42852150310201 | erot = 0.578569614095072 | epot = -15.6246051523544 | etot = -14.6175140351573 -495000 ekin = 0.440430011857935 | erot = 0.570163426567811 | epot = -15.6281074735753 | etot = -14.6175140351496 -496000 ekin = 0.45095070631601 | erot = 0.559737766476832 | epot = -15.6282025079316 | etot = -14.6175140351387 -497000 ekin = 0.460059581797609 | erot = 0.547476355485017 | epot = -15.6250499724091 | etot = -14.6175140351264 -498000 ekin = 0.467769906491902 | erot = 0.533547985554597 | epot = -15.6188319271606 | etot = -14.6175140351141 -499000 ekin = 0.474119221072851 | erot = 0.51809827733209 | epot = -15.6097315335077 | etot = -14.6175140351027 -500000 ekin = 0.47915510663515 | erot = 0.501247978936972 | epot = -15.5979171206651 | etot = -14.617514035093 -501000 ekin = 0.482921233339145 | erot = 0.48309830408219 | epot = -15.5835335725062 | etot = -14.6175140350848 -502000 ekin = 0.485445093649468 | erot = 0.463742920559152 | epot = -15.5667020492864 | etot = -14.6175140350778 -503000 ekin = 0.486728599210218 | erot = 0.443285305605287 | epot = -15.5475279398865 | etot = -14.617514035071 -504000 ekin = 0.486742408088666 | erot = 0.421859374631512 | epot = -15.5261158177833 | etot = -14.6175140350632 -505000 ekin = 0.485424480828576 | erot = 0.399650657767878 | epot = -15.5025891736495 | etot = -14.617514035053 -506000 ekin = 0.482682973412862 | erot = 0.376914939267073 | epot = -15.4771119477192 | etot = -14.6175140350392 -507000 ekin = 0.478403198155678 | erot = 0.353991273960951 | epot = -15.4499085071374 | etot = -14.6175140350208 -508000 ekin = 0.472458052936543 | erot = 0.331306710133899 | epot = -15.4212787980677 | etot = -14.6175140349973 -509000 ekin = 0.464721062856492 | erot = 0.309370883447797 | epot = -15.3916059812731 | etot = -14.6175140349688 -510000 ekin = 0.455081004105159 | erot = 0.288759823578861 | epot = -15.3613548626198 | etot = -14.6175140349358 -511000 ekin = 0.443456979181393 | erot = 0.270089690707588 | epot = -15.3310607047887 | etot = -14.6175140348997 -512000 ekin = 0.42981284822046 | erot = 0.253982534898902 | epot = -15.3013094179813 | etot = -14.6175140348619 -513000 ekin = 0.414169942619743 | erot = 0.241027258547542 | epot = -15.2727112359918 | etot = -14.6175140348246 -514000 ekin = 0.396617122320061 | erot = 0.231739657368506 | epot = -15.2458708144779 | etot = -14.6175140347893 -515000 ekin = 0.377317407139222 | erot = 0.226525548757325 | epot = -15.2213569906545 | etot = -14.6175140347579 -516000 ekin = 0.356510629533878 | erot = 0.225650587239722 | epot = -15.1996752515054 | etot = -14.6175140347318 -517000 ekin = 0.334511811731657 | erot = 0.2292195098864 | epot = -15.1812453563299 | etot = -14.6175140347119 -518000 ekin = 0.311705249159968 | erot = 0.237166415926506 | epot = -15.1663856997852 | etot = -14.6175140346987 -519000 ekin = 0.288534562405324 | erot = 0.249256456193412 | epot = -15.1553050532911 | etot = -14.6175140346924 -520000 ekin = 0.265489234982117 | erot = 0.265098165450665 | epot = -15.1481014351253 | etot = -14.6175140346926 -521000 ekin = 0.243088358087376 | erot = 0.28416474515935 | epot = -15.1447671379453 | etot = -14.6175140346986 -522000 ekin = 0.221862437060409 | erot = 0.305821970139557 | epot = -15.1451984419098 | etot = -14.6175140347099 -523000 ekin = 0.202334169775844 | erot = 0.329360070796281 | epot = -15.1492082752976 | etot = -14.6175140347255 -524000 ekin = 0.18499909107587 | erot = 0.354026911469942 | epot = -15.1565400372904 | etot = -14.6175140347446 -525000 ekin = 0.170306912739125 | erot = 0.379059948770509 | epot = -15.1668808962761 | etot = -14.6175140347665 -526000 ekin = 0.158644243148338 | erot = 0.403715126924459 | epot = -15.1798734048633 | etot = -14.6175140347905 -527000 ekin = 0.150319367666652 | erot = 0.427291025811595 | epot = -15.1951244282948 | etot = -14.6175140348166 -528000 ekin = 0.145549592055536 | erot = 0.449147424932796 | epot = -15.2122110518326 | etot = -14.6175140348442 -529000 ekin = 0.144451603985221 | erot = 0.468718121850073 | epot = -15.2306837607087 | etot = -14.6175140348734 -530000 ekin = 0.14703526713895 | erot = 0.485518371010905 | epot = -15.2500676730542 | etot = -14.6175140349043 -531000 ekin = 0.153201203685084 | erot = 0.499147835496798 | epot = -15.2698630741185 | etot = -14.6175140349366 -532000 ekin = 0.162742448480689 | erot = 0.509290301682419 | epot = -15.2895467851334 | etot = -14.6175140349703 -533000 ekin = 0.175350354883052 | erot = 0.515711587206659 | epot = -15.3085759770945 | etot = -14.6175140350048 -534000 ekin = 0.190624856014791 | erot = 0.518257146630773 | epot = -15.3263960376849 | etot = -14.6175140350393 -535000 ekin = 0.2080884935382 | erot = 0.516850140105121 | epot = -15.342452668716 | etot = -14.6175140350727 -536000 ekin = 0.227204325844129 | erot = 0.511491240066285 | epot = -15.356209601014 | etot = -14.6175140351035 -537000 ekin = 0.247396768814447 | erot = 0.502260311074919 | epot = -15.3671711150196 | etot = -14.6175140351302 -538000 ekin = 0.268074342414832 | erot = 0.489319600962367 | epot = -15.374907978528 | etot = -14.6175140351508 -539000 ekin = 0.288653182934819 | erot = 0.472917679673217 | epot = -15.3790848977717 | etot = -14.6175140351637 -540000 ekin = 0.308579985827036 | erot = 0.453392904740712 | epot = -15.3794869257353 | etot = -14.6175140351676 -541000 ekin = 0.32735300819234 | erot = 0.431174973012169 | epot = -15.3760420163656 | etot = -14.6175140351611 -542000 ekin = 0.344539853507862 | erot = 0.406783142890278 | epot = -15.368837031542 | etot = -14.6175140351439 -543000 ekin = 0.359790986514659 | erot = 0.380819988065077 | epot = -15.3581250096959 | etot = -14.6175140351161 -544000 ekin = 0.372848263091261 | erot = 0.353960030673725 | epot = -15.3443223288437 | etot = -14.6175140350787 -545000 ekin = 0.383548167009949 | erot = 0.326933212483018 | epot = -15.3279954145262 | etot = -14.6175140350332 -546000 ekin = 0.391819867385597 | erot = 0.30050378423916 | epot = -15.3098376866063 | etot = -14.6175140349815 -547000 ekin = 0.397678590181961 | erot = 0.275445713888184 | epot = -15.2906383389964 | etot = -14.6175140349263 -548000 ekin = 0.401215088504123 | erot = 0.252516050367 | epot = -15.2712451737411 | etot = -14.6175140348699 -549000 ekin = 0.402582175511822 | erot = 0.232427794768509 | epot = -15.2525240050958 | etot = -14.6175140348155 -550000 ekin = 0.401979352686767 | erot = 0.215823740833757 | epot = -15.2353171282858 | etot = -14.6175140347652 -551000 ekin = 0.399636550192594 | erot = 0.203252510910356 | epot = -15.2204030958242 | etot = -14.6175140347213 -552000 ekin = 0.39579793483933 | erot = 0.19514771457426 | epot = -15.2084596840996 | etot = -14.617514034686 -553000 ekin = 0.390706676474511 | erot = 0.191810879117678 | epot = -15.2000315902533 | etot = -14.6175140346611 -554000 ekin = 0.384591526956334 | erot = 0.193398609454572 | epot = -15.1955041710586 | etot = -14.6175140346477 -555000 ekin = 0.37765606833088 | erot = 0.19991436289407 | epot = -15.1950844658717 | etot = -14.6175140346467 -556000 ekin = 0.370071512613894 | erot = 0.211205266307038 | epot = -15.1987908135787 | etot = -14.6175140346578 -557000 ekin = 0.361973939271072 | erot = 0.22696451510277 | epot = -15.2064524890543 | etot = -14.6175140346805 -558000 ekin = 0.353466765019157 | erot = 0.246739996101886 | epot = -15.2177207958342 | etot = -14.6175140347132 -559000 ekin = 0.344628961763677 | erot = 0.269949765670226 | epot = -15.2320927621875 | etot = -14.6175140347536 -560000 ekin = 0.335528980566657 | erot = 0.295904778795777 | epot = -15.2489477941611 | etot = -14.6175140347987 -561000 ekin = 0.326243446080443 | erot = 0.323838714908469 | epot = -15.2675961958334 | etot = -14.6175140348445 -562000 ekin = 0.31687848681263 | erot = 0.35294385755285 | epot = -15.2873363792525 | etot = -14.617514034887 -563000 ekin = 0.307590234581101 | erot = 0.382410843957197 | epot = -15.3075151134611 | etot = -14.6175140349228 -564000 ekin = 0.298599911427017 | erot = 0.411468934029061 | epot = -15.3275828804049 | etot = -14.6175140349488 -565000 ekin = 0.290198521501092 | erot = 0.439422606477171 | epot = -15.3471351629423 | etot = -14.617514034964 -566000 ekin = 0.282736992095573 | erot = 0.46568015891933 | epot = -15.365931185984 | etot = -14.6175140349691 -567000 ekin = 0.276599956454062 | erot = 0.489770841522339 | epot = -15.3838848329429 | etot = -14.6175140349665 -568000 ekin = 0.272165052790826 | erot = 0.511348887820125 | epot = -15.4010279755712 | etot = -14.6175140349602 -569000 ekin = 0.269753809413461 | erot = 0.530185258476706 | epot = -15.4174531028449 | etot = -14.6175140349547 -570000 ekin = 0.269583567607582 | erot = 0.546150320474166 | epot = -15.4332479230358 | etot = -14.617514034954 -571000 ekin = 0.271731068578169 | erot = 0.559192265325146 | epot = -15.4484373688639 | etot = -14.6175140349606 -572000 ekin = 0.27611649568743 | erot = 0.569316321633573 | epot = -15.4629468522957 | etot = -14.6175140349747 -573000 ekin = 0.282512256444883 | erot = 0.576569321997748 | epot = -15.4765956134373 | etot = -14.6175140349947 -574000 ekin = 0.290574483947772 | erot = 0.581030490761115 | epot = -15.4891190097262 | etot = -14.6175140350173 -575000 ekin = 0.299890113326873 | erot = 0.582808418137228 | epot = -15.5002125665028 | etot = -14.6175140350387 -576000 ekin = 0.310029076131071 | erot = 0.582041678954515 | epot = -15.5095847901411 | etot = -14.6175140350555 -577000 ekin = 0.320591144135804 | erot = 0.578899817193121 | epot = -15.5170049963945 | etot = -14.6175140350656 -578000 ekin = 0.331239680817777 | erot = 0.573581904321184 | epot = -15.5223356202071 | etot = -14.6175140350681 -579000 ekin = 0.341718767395671 | erot = 0.566311213814667 | epot = -15.5255440162741 | etot = -14.6175140350637 -580000 ekin = 0.351854361646072 | erot = 0.557326170820678 | epot = -15.5266945675208 | etot = -14.6175140350541 -581000 ekin = 0.361543170719775 | erot = 0.54686904311153 | epot = -15.5259262488726 | etot = -14.6175140350413 -582000 ekin = 0.370734291431498 | erot = 0.535174473618245 | epot = -15.5234228000773 | etot = -14.6175140350275 -583000 ekin = 0.37940854514609 | erot = 0.522459863754552 | epot = -15.5193824439152 | etot = -14.6175140350145 -584000 ekin = 0.38755933833177 | erot = 0.50891899994006 | epot = -15.5139923732754 | etot = -14.6175140350036 -585000 ekin = 0.395177418309126 | erot = 0.494719483695348 | epot = -15.5074109369997 | etot = -14.6175140349952 -586000 ekin = 0.402240533516271 | erot = 0.480003760425467 | epot = -15.4997583289313 | etot = -14.6175140349896 -587000 ekin = 0.408707997144929 | erot = 0.464893014295021 | epot = -15.4911150464262 | etot = -14.6175140349863 -588000 ekin = 0.414519545772604 | erot = 0.449492951761529 | epot = -15.4815265325189 | etot = -14.6175140349848 -589000 ekin = 0.419597612554971 | erot = 0.433900487906506 | epot = -15.4710121354457 | etot = -14.6175140349842 -590000 ekin = 0.423852083806182 | erot = 0.418210489544302 | epot = -15.4595766083342 | etot = -14.6175140349837 -591000 ekin = 0.42718667151707 | erot = 0.402521929659384 | epot = -15.4472226361591 | etot = -14.6175140349827 -592000 ekin = 0.429506137373247 | erot = 0.386943005730352 | epot = -15.4339631780839 | etot = -14.6175140349803 -593000 ekin = 0.430723706116147 | erot = 0.371594936610811 | epot = -15.4198326777029 | etot = -14.617514034976 -594000 ekin = 0.430768094953345 | erot = 0.356614269838259 | epot = -15.4048963997609 | etot = -14.6175140349693 -595000 ekin = 0.429589664829847 | erot = 0.342153609171636 | epot = -15.3892573089616 | etot = -14.6175140349601 -596000 ekin = 0.427165296133148 | erot = 0.328380718542492 | epot = -15.3730600496239 | etot = -14.6175140349483 -597000 ekin = 0.42350165849966 | erot = 0.315475989403582 | epot = -15.3564916828373 | etot = -14.6175140349341 -598000 ekin = 0.418636501255305 | erot = 0.303628359581859 | epot = -15.339778895755 | etot = -14.6175140349179 -599000 ekin = 0.412638207582272 | erot = 0.293029673723798 | epot = -15.3231819162063 | etot = -14.6175140349002 -600000 ekin = 0.405603414753522 | erot = 0.28386763722636 | epot = -15.3069850868619 | etot = -14.617514034882 -601000 ekin = 0.397652939448492 | erot = 0.276317573361084 | epot = -15.2914845476736 | etot = -14.617514034864 -602000 ekin = 0.388926339151588 | erot = 0.270533300128844 | epot = -15.2769736741277 | etot = -14.6175140348473 -603000 ekin = 0.379575547710976 | erot = 0.266637582798786 | epot = -15.2637271653425 | etot = -14.6175140348328 -604000 ekin = 0.369758112224373 | erot = 0.264712769809576 | epot = -15.2519849168554 | etot = -14.6175140348215 -605000 ekin = 0.35963061496451 | erot = 0.264792359550224 | epot = -15.2419370093288 | etot = -14.6175140348141 -606000 ekin = 0.349342882571248 | erot = 0.266854337886836 | epot = -15.2337112552692 | etot = -14.6175140348112 -607000 ekin = 0.339033558751512 | erot = 0.270817131627415 | epot = -15.2273647251918 | etot = -14.6175140348128 -608000 ekin = 0.32882753825937 | erot = 0.276538908097057 | epot = -15.2228804811754 | etot = -14.617514034819 -609000 ekin = 0.318835621087622 | erot = 0.283820700144174 | epot = -15.2201703560608 | etot = -14.617514034829 -610000 ekin = 0.309156542568317 | erot = 0.292413461055651 | epot = -15.219084038466 | etot = -14.617514034842 -611000 ekin = 0.299881272108214 | erot = 0.302028697869802 | epot = -15.2194240048347 | etot = -14.6175140348566 -612000 ekin = 0.291099167856268 | erot = 0.312351863789569 | epot = -15.2209650665173 | etot = -14.6175140348715 -613000 ekin = 0.282905257831642 | erot = 0.323057294042038 | epot = -15.2234765867589 | etot = -14.6175140348852 -614000 ekin = 0.275407632339941 | erot = 0.333823223652897 | epot = -15.2267448908892 | etot = -14.6175140348963 -615000 ekin = 0.26873372556727 | erot = 0.344345386320857 | epot = -15.2305931467922 | etot = -14.6175140349041 -616000 ekin = 0.263034181136603 | erot = 0.354347879927045 | epot = -15.2348960959716 | etot = -14.617514034908 -617000 ekin = 0.258483071857928 | erot = 0.363590372787296 | epot = -15.2395874795532 | etot = -14.617514034908 -618000 ekin = 0.255273496413749 | erot = 0.371871254538884 | epot = -15.2446587858574 | etot = -14.6175140349047 -619000 ekin = 0.253608004174875 | erot = 0.379026921287401 | epot = -15.2501489603618 | etot = -14.6175140348996 -620000 ekin = 0.253683881422301 | erot = 0.384927934514049 | epot = -15.2561258508302 | etot = -14.6175140348939 -621000 ekin = 0.255674023710173 | erot = 0.389473226072584 | epot = -15.2626612846724 | etot = -14.6175140348896 -622000 ekin = 0.25970485336799 | erot = 0.392583779640473 | epot = -15.269802667897 | etot = -14.6175140348886 -623000 ekin = 0.265833429999859 | erot = 0.394197274406549 | epot = -15.2775447392987 | etot = -14.6175140348923 -624000 ekin = 0.274026439188702 | erot = 0.394265031625425 | epot = -15.2858055057161 | etot = -14.6175140349019 -625000 ekin = 0.28414401573885 | erot = 0.392752285177019 | epot = -15.2944103358336 | etot = -14.6175140349177 -626000 ekin = 0.295931256226573 | erot = 0.389642344381245 | epot = -15.303087635547 | etot = -14.6175140349392 -627000 ekin = 0.309019727830035 | erot = 0.384944676505037 | epot = -15.3114784393 | etot = -14.6175140349649 -628000 ekin = 0.322940275279346 | erot = 0.378706350960174 | epot = -15.3191606612318 | etot = -14.6175140349923 -629000 ekin = 0.337147043698441 | erot = 0.371025698974895 | epot = -15.3256867776918 | etot = -14.6175140350184 -630000 ekin = 0.351051052995002 | erot = 0.362066500827022 | epot = -15.330631588862 | etot = -14.61751403504 -631000 ekin = 0.364060148818953 | erot = 0.352070586246035 | epot = -15.3336447701185 | etot = -14.6175140350535 -632000 ekin = 0.375621025661416 | erot = 0.341366514681189 | epot = -15.334501575399 | etot = -14.6175140350563 -633000 ekin = 0.385258541224309 | erot = 0.330372092305621 | epot = -15.3331446685767 | etot = -14.6175140350468 -634000 ekin = 0.392607865616072 | erot = 0.319588956493667 | epot = -15.329710857134 | etot = -14.6175140350243 -635000 ekin = 0.397436097277817 | erot = 0.309588318033289 | epot = -15.3245384503008 | etot = -14.6175140349897 -636000 ekin = 0.399651602684335 | erot = 0.300988094378234 | epot = -15.3181537320079 | etot = -14.6175140349453 -637000 ekin = 0.399301141331978 | erot = 0.294422893568735 | epot = -15.3112380697947 | etot = -14.617514034894 -638000 ekin = 0.396556439146157 | erot = 0.290509369489293 | epot = -15.3045798434752 | etot = -14.6175140348397 -639000 ekin = 0.391692975512685 | erot = 0.289810143796979 | epot = -15.2990171540957 | etot = -14.6175140347861 -640000 ekin = 0.385064212932825 | erot = 0.29279965311316 | epot = -15.2953779007829 | etot = -14.6175140347369 -641000 ekin = 0.377074355549984 | erot = 0.299834934662478 | epot = -15.2944233249076 | etot = -14.6175140346951 -642000 ekin = 0.368152133960252 | erot = 0.311133625025682 | epot = -15.2967997936491 | etot = -14.6175140346632 -643000 ekin = 0.35872729827394 | erot = 0.326760494743215 | epot = -15.3030018276596 | etot = -14.6175140346425 -644000 ekin = 0.349210670242454 | erot = 0.346622862553666 | epot = -15.3133475674301 | etot = -14.6175140346339 -645000 ekin = 0.339977915473995 | erot = 0.370474376279531 | epot = -15.3279663263912 | etot = -14.6175140346376 -646000 ekin = 0.331356734048571 | erot = 0.397926004728945 | epot = -15.3467967734306 | etot = -14.6175140346531 -647000 ekin = 0.323616951061498 | erot = 0.428462692621698 | epot = -15.3695936783626 | etot = -14.6175140346794 -648000 ekin = 0.316962984679426 | erot = 0.461463981263885 | epot = -15.395941000659 | etot = -14.6175140347157 -649000 ekin = 0.311528303721651 | erot = 0.496226945505972 | epot = -15.4252692839882 | etot = -14.6175140347606 -650000 ekin = 0.307371814502134 | erot = 0.531990113311391 | epot = -15.4568759626263 | etot = -14.6175140348127 -651000 ekin = 0.304476169211803 | erot = 0.567957247022998 | epot = -15.4899474511054 | etot = -14.6175140348706 -652000 ekin = 0.302748327843514 | erot = 0.603320352538697 | epot = -15.5235827153148 | etot = -14.6175140349326 -653000 ekin = 0.302022769690169 | erot = 0.637281675063339 | epot = -15.5568184797505 | etot = -14.617514034997 -654000 ekin = 0.302067723594894 | erot = 0.669074745115614 | epot = -15.5886565037725 | etot = -14.617514035062 -655000 ekin = 0.30259467177562 | erot = 0.697984728109731 | epot = -15.6180934350106 | etot = -14.6175140351253 -656000 ekin = 0.30327116127458 | erot = 0.723368330431443 | epot = -15.6441535268905 | etot = -14.6175140351845 -657000 ekin = 0.303736663271753 | erot = 0.744673311811842 | epot = -15.665924010321 | etot = -14.6175140352374 -658000 ekin = 0.303620889263354 | erot = 0.761457272709825 | epot = -15.6825921972547 | etot = -14.6175140352815 -659000 ekin = 0.302563666908929 | erot = 0.773404945480537 | epot = -15.6934826477038 | etot = -14.6175140353143 -660000 ekin = 0.300235395695977 | erot = 0.780343280385416 | epot = -15.6980927114156 | etot = -14.6175140353342 -661000 ekin = 0.2963557105327 | erot = 0.782250083092817 | epot = -15.6961198289653 | etot = -14.6175140353398 -662000 ekin = 0.290710478297869 | erot = 0.779257959177475 | epot = -15.6874824728057 | etot = -14.6175140353303 -663000 ekin = 0.283165147464189 | erot = 0.771650651991606 | epot = -15.672329834762 | etot = -14.6175140353062 -664000 ekin = 0.27367342717685 | erot = 0.75985056245593 | epot = -15.6510380249012 | etot = -14.6175140352684 -665000 ekin = 0.262280913452633 | erot = 0.744397727319261 | epot = -15.6241926759909 | etot = -14.617514035219 -666000 ekin = 0.249123647022576 | erot = 0.725921231745041 | epot = -15.5925589139283 | etot = -14.6175140351607 -667000 ekin = 0.234422061210095 | erot = 0.705104954965518 | epot = -15.5570410512721 | etot = -14.6175140350965 -668000 ekin = 0.218471158369142 | erot = 0.682650243125394 | epot = -15.5186354365242 | etot = -14.6175140350297 -669000 ekin = 0.201627981911554 | erot = 0.659238455807285 | epot = -15.4783804726821 | etot = -14.6175140349633 -670000 ekin = 0.184297501938695 | erot = 0.635496303881749 | epot = -15.4373078407206 | etot = -14.6175140349002 -671000 ekin = 0.166917915804586 | erot = 0.611966525748987 | epot = -15.3963984763963 | etot = -14.6175140348427 -672000 ekin = 0.149946120673763 | erot = 0.589085832362546 | epot = -15.3565459878289 | etot = -14.6175140347926 -673000 ekin = 0.133843801904168 | erot = 0.567171306813735 | epot = -15.3185291434688 | etot = -14.6175140347509 -674000 ekin = 0.119064262674211 | erot = 0.546415679822031 | epot = -15.2829939772145 | etot = -14.6175140347182 -675000 ekin = 0.106039855016797 | erot = 0.526891195483695 | epot = -15.250445085195 | etot = -14.6175140346945 -676000 ekin = 0.0951697078771964 | erot = 0.508561175679673 | epot = -15.2212449182363 | etot = -14.6175140346794 -677000 ekin = 0.0868074519861108 | erot = 0.491297978911151 | epot = -15.1956194655695 | etot = -14.6175140346723 -678000 ekin = 0.0812485969713162 | erot = 0.47490530110032 | epot = -15.173667932744 | etot = -14.6175140346723 -679000 ekin = 0.0787177619801643 | erot = 0.459143233465844 | epot = -15.1553750301248 | etot = -14.6175140346788 -680000 ekin = 0.079356202465094 | erot = 0.443753980650321 | epot = -15.1406242178063 | etot = -14.6175140346909 -681000 ekin = 0.0832104900793129 | erot = 0.428486254342671 | epot = -15.1292107791298 | etot = -14.6175140347078 -682000 ekin = 0.0902236865228784 | erot = 0.41311688093406 | epot = -15.1208546021859 | etot = -14.617514034729 -683000 ekin = 0.100230543462783 | erot = 0.397468585264983 | epot = -15.1152131634811 | etot = -14.6175140347533 -684000 ekin = 0.112958164259223 | erot = 0.38142345901904 | epot = -15.1118956580582 | etot = -14.61751403478 -685000 ekin = 0.128033094046448 | erot = 0.364932120277571 | epot = -15.1104792491317 | etot = -14.6175140348077 -686000 ekin = 0.144995008361815 | erot = 0.348018922992721 | epot = -15.1105279661897 | etot = -14.6175140348351 -687000 ekin = 0.163316207854869 | erot = 0.330783730220898 | epot = -15.1116139729366 | etot = -14.6175140348608 -688000 ekin = 0.18242523421552 | erot = 0.313400732953528 | epot = -15.1133400020522 | etot = -14.6175140348832 -689000 ekin = 0.201732335852404 | erot = 0.296114640200911 | epot = -15.1153610109544 | etot = -14.6175140349011 -690000 ekin = 0.220654383890837 | erot = 0.2792343742397 | epot = -15.1174027930443 | etot = -14.6175140349138 -691000 ekin = 0.238637189924079 | erot = 0.263124260135935 | epot = -15.1192754849806 | etot = -14.6175140349206 -692000 ekin = 0.255173895595862 | erot = 0.248192653896372 | epot = -15.120880584414 | etot = -14.6175140349217 -693000 ekin = 0.269818995117389 | erot = 0.23487802400786 | epot = -15.1222110540428 | etot = -14.6175140349175 -694000 ekin = 0.282198402188406 | erot = 0.223632668705058 | epot = -15.1233451058024 | etot = -14.6175140349089 -695000 ekin = 0.292016609392508 | erot = 0.214904477347547 | epot = -15.1244351216369 | etot = -14.6175140348968 -696000 ekin = 0.299062308190414 | erot = 0.209117382946464 | epot = -15.125693726019 | etot = -14.6175140348821 -697000 ekin = 0.303213809971508 | erot = 0.20665136156702 | epot = -15.1273792064044 | etot = -14.6175140348658 -698000 ekin = 0.304445256191661 | erot = 0.207822979228463 | epot = -15.1297822702686 | etot = -14.6175140348484 -699000 ekin = 0.302833983904557 | erot = 0.212867544423975 | epot = -15.133215563159 | etot = -14.6175140348305 -700000 ekin = 0.298568596343091 | erot = 0.221923881122192 | epot = -15.1380065122771 | etot = -14.6175140348118 -701000 ekin = 0.291956369738192 | erot = 0.235022588975887 | epot = -15.1444929935065 | etot = -14.6175140347924 -702000 ekin = 0.283427734153971 | erot = 0.252078414120766 | epot = -15.1530201830474 | etot = -14.6175140347727 -703000 ekin = 0.273534855577063 | erot = 0.272887068860917 | epot = -15.1639359591908 | etot = -14.6175140347528 -704000 ekin = 0.262941046164718 | erot = 0.297126498876258 | epot = -15.1775815797747 | etot = -14.6175140347337 -705000 ekin = 0.252398060444993 | erot = 0.324362359960494 | epot = -15.1942744551228 | etot = -14.6175140347173 -706000 ekin = 0.242709489752809 | erot = 0.35405734989386 | epot = -15.2142808743525 | etot = -14.6175140347058 -707000 ekin = 0.23468046525944 | erot = 0.385584073394854 | epot = -15.2377785733566 | etot = -14.6175140347023 -708000 ekin = 0.229056562326985 | erot = 0.418241319395694 | epot = -15.2648119164327 | etot = -14.61751403471 -709000 ekin = 0.226457657534062 | erot = 0.451273895784643 | epot = -15.2952455880503 | etot = -14.6175140347316 -710000 ekin = 0.227314828596047 | erot = 0.483896330832059 | epot = -15.3287251941968 | etot = -14.6175140347687 -711000 ekin = 0.231819479497758 | erot = 0.51532074217238 | epot = -15.3646542564917 | etot = -14.6175140348216 -712000 ekin = 0.239893150549453 | erot = 0.544788749313893 | epot = -15.4021959347515 | etot = -14.6175140348881 -713000 ekin = 0.251183758823612 | erot = 0.571606341189966 | epot = -15.4403041349782 | etot = -14.6175140349646 -714000 ekin = 0.265090036185669 | erot = 0.595179886373849 | epot = -15.4777839576048 | etot = -14.6175140350453 -715000 ekin = 0.280811306968513 | erot = 0.615050345045216 | epot = -15.5133756871376 | etot = -14.6175140351238 -716000 ekin = 0.297415784950172 | erot = 0.63092216570443 | epot = -15.5458519858484 | etot = -14.6175140351938 -717000 ekin = 0.313918116237496 | erot = 0.642683345317361 | epot = -15.5741154968044 | etot = -14.6175140352495 -718000 ekin = 0.329356373326515 | erot = 0.650413757300699 | epot = -15.597284165914 | etot = -14.6175140352868 -719000 ekin = 0.342860093483698 | erot = 0.654380316354833 | epot = -15.6147544451418 | etot = -14.6175140353033 -720000 ekin = 0.353703497402146 | erot = 0.655019233384794 | epot = -15.6262367660857 | etot = -14.6175140352987 -721000 ekin = 0.361340844904821 | erot = 0.652906431496425 | epot = -15.6317613116759 | etot = -14.6175140352746 -722000 ekin = 0.365423978940444 | erot = 0.648719378780955 | epot = -15.6316573929551 | etot = -14.6175140352337 -723000 ekin = 0.365803989071099 | erot = 0.643193727890457 | epot = -15.6265117521414 | etot = -14.6175140351799 -724000 ekin = 0.362520178744054 | erot = 0.637078359572984 | epot = -15.6171125734343 | etot = -14.6175140351172 -725000 ekin = 0.355779938479084 | erot = 0.631092082280464 | epot = -15.6043860558097 | etot = -14.6175140350502 -726000 ekin = 0.345932952940548 | erot = 0.625884613514222 | epot = -15.5893316014373 | etot = -14.6175140349826 -727000 ekin = 0.333442641404433 | erot = 0.622003743386452 | epot = -15.572960419709 | etot = -14.6175140349181 -728000 ekin = 0.31885705049608 | erot = 0.619869891937983 | epot = -15.5562409772938 | etot = -14.6175140348597 -729000 ekin = 0.30278072495631 | erot = 0.61975869169039 | epot = -15.5400534514564 | etot = -14.6175140348097 -730000 ekin = 0.285848455040377 | erot = 0.621791770571061 | epot = -15.5251542603808 | etot = -14.6175140347694 -731000 ekin = 0.26870127220438 | erot = 0.625935552811994 | epot = -15.5121508597562 | etot = -14.6175140347399 -732000 ekin = 0.251964649663544 | erot = 0.632007594592584 | epot = -15.5014862789777 | etot = -14.6175140347215 -733000 ekin = 0.236228569496369 | erot = 0.639689689353592 | epot = -15.4934322935641 | etot = -14.6175140347141 -734000 ekin = 0.2220289607466 | erot = 0.64854669871573 | epot = -15.4880896941798 | etot = -14.6175140347175 -735000 ekin = 0.209830023527896 | erot = 0.658049804518268 | epot = -15.4853938627768 | etot = -14.6175140347306 -736000 ekin = 0.20000716676131 | erot = 0.667602683400117 | epot = -15.4851238849144 | etot = -14.6175140347529 -737000 ekin = 0.192830719625365 | erot = 0.676569044421737 | epot = -15.4869137988309 | etot = -14.6175140347838 -738000 ekin = 0.188451200585985 | erot = 0.684300102138329 | epot = -15.4902653375465 | etot = -14.6175140348222 -739000 ekin = 0.186887639937117 | erot = 0.6901609006521 | epot = -15.4945625754563 | etot = -14.6175140348671 -740000 ekin = 0.18802106841102 | erot = 0.693554915035337 | epot = -15.4990900183636 | etot = -14.6175140349173 -741000 ekin = 0.191595568995591 | erot = 0.693946922730827 | epot = -15.5030565266968 | etot = -14.6175140349704 -742000 ekin = 0.197228843628703 | erot = 0.690884208638806 | epot = -15.5056270872919 | etot = -14.6175140350244 -743000 ekin = 0.204433503637974 | erot = 0.684016821527692 | epot = -15.5059643602413 | etot = -14.6175140350756 -744000 ekin = 0.212648433381792 | erot = 0.673116668202608 | epot = -15.503279136705 | etot = -14.6175140351206 -745000 ekin = 0.221277722248228 | erot = 0.658094727364962 | epot = -15.4968864847688 | etot = -14.6175140351556 -746000 ekin = 0.229733012317398 | erot = 0.639014583780834 | epot = -15.4862616312757 | etot = -14.6175140351775 -747000 ekin = 0.23747404414407 | erot = 0.616100096672176 | epot = -15.4710881760002 | etot = -14.6175140351839 -748000 ekin = 0.244042266762415 | erot = 0.589734872786552 | epot = -15.4512911747231 | etot = -14.6175140351741 -749000 ekin = 0.249083597952522 | erot = 0.560451518402465 | epot = -15.4270491515038 | etot = -14.6175140351488 -750000 ekin = 0.25235833014632 | erot = 0.528910066810374 | epot = -15.3987824320668 | etot = -14.6175140351102 -751000 ekin = 0.253738423480709 | erot = 0.495866496253692 | epot = -15.3671189547962 | etot = -14.6175140350618 -752000 ekin = 0.253194394014668 | erot = 0.462133785332355 | epot = -15.3328422143545 | etot = -14.6175140350075 -753000 ekin = 0.250775308154698 | erot = 0.428539072349797 | epot = -15.2968284154564 | etot = -14.6175140349519 -754000 ekin = 0.246585878545855 | erot = 0.395880964578259 | epot = -15.2599808780229 | etot = -14.6175140348988 -755000 ekin = 0.240764398112151 | erot = 0.364890850085332 | epot = -15.2231692830489 | etot = -14.6175140348514 -756000 ekin = 0.233464471042371 | erot = 0.33620133003052 | epot = -15.1871798358848 | etot = -14.6175140348119 -757000 ekin = 0.224842467157428 | erot = 0.310323830730607 | epot = -15.1526803326694 | etot = -14.6175140347814 -758000 ekin = 0.215051562420606 | erot = 0.287636293953365 | epot = -15.1202018911339 | etot = -14.61751403476 -759000 ekin = 0.204242275875609 | erot = 0.268380753510832 | epot = -15.090137064133 | etot = -14.6175140347465 -760000 ekin = 0.192568636064991 | erot = 0.252669695564108 | epot = -15.0627523663688 | etot = -14.6175140347397 -761000 ekin = 0.180198520175589 | erot = 0.240499428913179 | epot = -15.038211983826 | etot = -14.6175140347373 -762000 ekin = 0.167326299029085 | erot = 0.231768292969539 | epot = -15.0166086267357 | etot = -14.617514034737 -763000 ekin = 0.15418568590204 | erot = 0.226297425418118 | epot = -14.997997146057 | etot = -14.6175140347368 -764000 ekin = 0.141060632749147 | erot = 0.223852003350697 | epot = -14.9824266708347 | etot = -14.6175140347349 -765000 ekin = 0.128292252297103 | erot = 0.224161332820243 | epot = -14.9699676198474 | etot = -14.61751403473 -766000 ekin = 0.116280064488639 | erot = 0.226936813025351 | epot = -14.9607309122354 | etot = -14.6175140347214 -767000 ekin = 0.105476340627594 | erot = 0.231887507272404 | epot = -14.9548778826094 | etot = -14.6175140347094 -768000 ekin = 0.0963728909465988 | erot = 0.23873364134698 | epot = -14.952620566988 | etot = -14.6175140346944 -769000 ekin = 0.0894802427438104 | erot = 0.247218655410706 | epot = -14.9542129328319 | etot = -14.6175140346774 -770000 ekin = 0.0852997361098734 | erot = 0.257120353609604 | epot = -14.9599341243794 | etot = -14.6175140346599 -771000 ekin = 0.0842896183574806 | erot = 0.268261228609983 | epot = -14.9700648816113 | etot = -14.6175140346438 -772000 ekin = 0.0868267987479503 | erot = 0.280517313420827 | epot = -14.9848581468001 | etot = -14.6175140346313 -773000 ekin = 0.0931666172479738 | erot = 0.29382416266062 | epot = -15.0045048145334 | etot = -14.6175140346248 -774000 ekin = 0.103403843826315 | erot = 0.308178073397328 | epot = -15.0290959518505 | etot = -14.6175140346269 -775000 ekin = 0.117439110045059 | erot = 0.323630675217718 | epot = -15.0585838199028 | etot = -14.61751403464 -776000 ekin = 0.134955835364923 | erot = 0.340275613675133 | epot = -15.0927454837062 | etot = -14.6175140346661 -777000 ekin = 0.155413263634583 | erot = 0.3582278427454 | epot = -15.1311551410863 | etot = -14.6175140347063 -778000 ekin = 0.178060391220183 | erot = 0.377596905888865 | epot = -15.1731713318691 | etot = -14.6175140347601 -779000 ekin = 0.201973803863677 | erot = 0.398457850157374 | epot = -15.2179456888463 | etot = -14.6175140348253 -780000 ekin = 0.226119091212116 | erot = 0.420824480237598 | epot = -15.2644576063476 | etot = -14.6175140348979 -781000 ekin = 0.249431156624362 | erot = 0.444629585314245 | epot = -15.3115747769111 | etot = -14.6175140349725 -782000 ekin = 0.27090447026737 | erot = 0.469715692367108 | epot = -15.3581341976774 | etot = -14.617514035043 -783000 ekin = 0.289681273781371 | erot = 0.495837747641005 | epot = -15.4030330565255 | etot = -14.6175140351031 -784000 ekin = 0.305125009984925 | erot = 0.522676532161846 | epot = -15.4453155772951 | etot = -14.6175140351483 -785000 ekin = 0.316868262921689 | erot = 0.549859353707494 | epot = -15.4842416518049 | etot = -14.6175140351757 -786000 ekin = 0.324828845887827 | erot = 0.57698331002341 | epot = -15.5193261910962 | etot = -14.617514035185 -787000 ekin = 0.32919323387832 | erot = 0.60363650580216 | epot = -15.5503437748586 | etot = -14.6175140351781 -788000 ekin = 0.33037186485146 | erot = 0.629413875564563 | epot = -15.5772997755749 | etot = -14.6175140351589 -789000 ekin = 0.328934711355184 | erot = 0.653926193133396 | epot = -15.6003749396209 | etot = -14.6175140351323 -790000 ekin = 0.325537319473833 | erot = 0.676802790007515 | epot = -15.619854144585 | etot = -14.6175140351037 -791000 ekin = 0.320847267933844 | erot = 0.697689943212853 | epot = -15.6360512462245 | etot = -14.6175140350778 -792000 ekin = 0.315479253540059 | erot = 0.716247584425432 | epot = -15.6492408730237 | etot = -14.6175140350582 -793000 ekin = 0.309944490982995 | erot = 0.732146955923568 | epot = -15.659605481954 | etot = -14.6175140350475 -794000 ekin = 0.304617480926279 | erot = 0.745071299200936 | epot = -15.6672028151733 | etot = -14.6175140350461 -795000 ekin = 0.299720880977542 | erot = 0.754720862086076 | epot = -15.6719557781174 | etot = -14.6175140350538 -796000 ekin = 0.295327396181288 | erot = 0.760822658788699 | epot = -15.6736640900385 | etot = -14.6175140350685 -797000 ekin = 0.291376296852734 | erot = 0.763144639346229 | epot = -15.6720349712862 | etot = -14.6175140350872 -798000 ekin = 0.287701294704638 | erot = 0.761513269132583 | epot = -15.6667285989436 | etot = -14.6175140351064 -799000 ekin = 0.284065979572969 | erot = 0.755832991337638 | epot = -15.6574130060325 | etot = -14.6175140351219 -800000 ekin = 0.280202790632173 | erot = 0.746105645864818 | epot = -15.6438224716274 | etot = -14.6175140351304 -801000 ekin = 0.275851560112921 | erot = 0.732447665813908 | epot = -15.6258132610552 | etot = -14.6175140351284 -802000 ekin = 0.270794034433598 | erot = 0.715102809072986 | epot = -15.6034108786203 | etot = -14.6175140351137 -803000 ekin = 0.264881442636211 | erot = 0.694448356025999 | epot = -15.5768438337475 | etot = -14.6175140350853 -804000 ekin = 0.258053167890611 | erot = 0.670993199746564 | epot = -15.5465604026803 | etot = -14.6175140350431 -805000 ekin = 0.250345604727777 | erot = 0.645366941436383 | epot = -15.5132265811527 | etot = -14.6175140349885 -806000 ekin = 0.241890533711227 | erot = 0.618299214643911 | epot = -15.4777037832789 | etot = -14.6175140349238 -807000 ekin = 0.232905655206386 | erot = 0.59059128773573 | epot = -15.4410109777945 | etot = -14.6175140348524 -808000 ekin = 0.223678061732307 | erot = 0.563080896687569 | epot = -15.404272993198 | etot = -14.6175140347781 -809000 ekin = 0.21454303522989 | erot = 0.536602758841035 | epot = -15.3686598287761 | etot = -14.6175140347052 -810000 ekin = 0.205860488312487 | erot = 0.511947500022813 | epot = -15.335322022973 | etot = -14.6175140346377 -811000 ekin = 0.197991117804985 | erot = 0.489821758276953 | epot = -15.3053269106614 | etot = -14.6175140345795 -812000 ekin = 0.191273941670598 | erot = 0.470812030933133 | epot = -15.2796000071373 | etot = -14.6175140345336 -813000 ekin = 0.18600640436918 | erot = 0.455354451061547 | epot = -15.2588748899335 | etot = -14.6175140345028 -814000 ekin = 0.182427753711695 | erot = 0.443712201373049 | epot = -15.2436539895733 | etot = -14.6175140344886 -815000 ekin = 0.180705986334899 | erot = 0.435961774090678 | epot = -15.2341817949176 | etot = -14.617514034492 -816000 ekin = 0.180928373605138 | erot = 0.431988814112469 | epot = -15.2304312222306 | etot = -14.617514034513 -817000 ekin = 0.183095431233989 | erot = 0.431493858262917 | epot = -15.2321033240477 | etot = -14.6175140345508 -818000 ekin = 0.187118173911423 | erot = 0.43400789506895 | epot = -15.2386401035843 | etot = -14.6175140346039 -819000 ekin = 0.192818568053485 | erot = 0.438917286806367 | epot = -15.2492498895297 | etot = -14.6175140346698 -820000 ekin = 0.199933211815007 | erot = 0.445497181488063 | epot = -15.2629444280486 | etot = -14.6175140347455 -821000 ekin = 0.208120374082307 | erot = 0.452952069483619 | epot = -15.2785864783934 | etot = -14.6175140348274 -822000 ekin = 0.216970558498724 | erot = 0.460461605795572 | epot = -15.2949461992058 | etot = -14.6175140349115 -823000 ekin = 0.226020685629653 | erot = 0.467229260922794 | epot = -15.3107639815457 | etot = -14.6175140349933 -824000 ekin = 0.234771793852154 | erot = 0.472530858216694 | epot = -15.3248166871376 | etot = -14.6175140350687 -825000 ekin = 0.242709867662635 | erot = 0.475759712130466 | epot = -15.3359836149267 | etot = -14.6175140351336 -826000 ekin = 0.249329060858575 | erot = 0.476465014357238 | epot = -15.3433081104001 | etot = -14.6175140351843 -827000 ekin = 0.25415625948642 | erot = 0.474380409602698 | epot = -15.3460507043074 | etot = -14.6175140352183 -828000 ekin = 0.256775693171424 | erot = 0.469440383344404 | epot = -15.3437301117495 | etot = -14.6175140352337 -829000 ekin = 0.256852201217284 | erot = 0.46178309210187 | epot = -15.336149328549 | etot = -14.6175140352299 -830000 ekin = 0.254151805817283 | erot = 0.451739467040903 | epot = -15.3234053080654 | etot = -14.6175140352073 -831000 ekin = 0.248558416434218 | erot = 0.439809632306185 | epot = -15.3058820839079 | etot = -14.6175140351675 -832000 ekin = 0.240085737091441 | erot = 0.426628719075599 | epot = -15.2842284912797 | etot = -14.6175140351126 -833000 ekin = 0.228883712687973 | erot = 0.412924890623741 | epot = -15.2593226383575 | etot = -14.6175140350458 -834000 ekin = 0.215239082682017 | erot = 0.399472764055522 | epot = -15.2322258817081 | etot = -14.6175140349705 -835000 ekin = 0.199569787294727 | erot = 0.387045440519038 | epot = -15.2041292627042 | etot = -14.6175140348904 -836000 ekin = 0.182413100763729 | erot = 0.376368114580306 | epot = -15.1762952501535 | etot = -14.6175140348094 -837000 ekin = 0.164407483062571 | erot = 0.368075825930997 | epot = -15.149997343725 | etot = -14.6175140347315 -838000 ekin = 0.146268295773245 | erot = 0.362677435797452 | epot = -15.1264597662308 | etot = -14.6175140346601 -839000 ekin = 0.128757768426142 | erot = 0.360527421580312 | epot = -15.1067992246053 | etot = -14.6175140345989 -840000 ekin = 0.112649960717701 | erot = 0.36180661865639 | epot = -15.0919706139249 | etot = -14.6175140345508 -841000 ekin = 0.0986919456674289 | erot = 0.36651260392939 | epot = -15.0827185841154 | etot = -14.6175140345186 -842000 ekin = 0.0875630029231973 | erot = 0.374460003556307 | epot = -15.0795370409836 | etot = -14.6175140345041 -843000 ekin = 0.0798341847684568 | erot = 0.385290606533499 | epot = -15.0826388258105 | etot = -14.6175140345086 -844000 ekin = 0.0759310929906455 | erot = 0.398492769730518 | epot = -15.0919378972534 | etot = -14.6175140345322 -845000 ekin = 0.0761029610203614 | erot = 0.413429207169692 | epot = -15.1070462027642 | etot = -14.6175140345741 -846000 ekin = 0.0804010613291467 | erot = 0.429371869323724 | epot = -15.1272869652855 | etot = -14.6175140346326 -847000 ekin = 0.0886689809243283 | erot = 0.445542241999283 | epot = -15.151725257628 | etot = -14.6175140347044 -848000 ekin = 0.100546421460129 | erot = 0.46115503871289 | epot = -15.1792154949586 | etot = -14.6175140347856 -849000 ekin = 0.115486960011282 | erot = 0.475462945352927 | epot = -15.2084639402358 | etot = -14.6175140348716 -850000 ekin = 0.132788806696208 | erot = 0.487799837753942 | epot = -15.2381026794073 | etot = -14.6175140349572 -851000 ekin = 0.151636227786906 | erot = 0.497619785577632 | epot = -15.2667700484016 | etot = -14.6175140350371 -852000 ekin = 0.171148194576718 | erot = 0.504529242628412 | epot = -15.2931914723118 | etot = -14.6175140351066 -853000 ekin = 0.190430159396265 | erot = 0.50831015746196 | epot = -15.31625435202 | etot = -14.6175140351617 -854000 ekin = 0.208624756900111 | erot = 0.508932337651449 | epot = -15.3350711297509 | etot = -14.6175140351993 -855000 ekin = 0.224957674812678 | erot = 0.506554231539646 | epot = -15.3490259415702 | etot = -14.6175140352179 -856000 ekin = 0.238775816539412 | erot = 0.501512259960127 | epot = -15.3578021117162 | etot = -14.6175140352167 -857000 ekin = 0.249575992234284 | erot = 0.494299801981541 | epot = -15.3613898294126 | etot = -14.6175140351967 -858000 ekin = 0.257023502073991 | erot = 0.485537766821542 | epot = -15.3600753040553 | etot = -14.6175140351598 -859000 ekin = 0.260960921285794 | erot = 0.475939247615297 | epot = -15.3544142040096 | etot = -14.6175140351085 -860000 ekin = 0.261408037072425 | erot = 0.466270984603931 | epot = -15.3451930567221 | etot = -14.6175140350458 -861000 ekin = 0.258554187538353 | erot = 0.457314264402295 | epot = -15.3333824869156 | etot = -14.6175140349749 -862000 ekin = 0.252744258033141 | erot = 0.449827506885222 | epot = -15.3200857998177 | etot = -14.6175140348993 -863000 ekin = 0.244459417796683 | erot = 0.444512141833012 | epot = -15.3064855944521 | etot = -14.6175140348224 -864000 ekin = 0.23429336884036 | erot = 0.441983030938511 | epot = -15.2937904345263 | etot = -14.6175140347475 -865000 ekin = 0.222924696624272 | erot = 0.442744308393629 | epot = -15.2831830396954 | etot = -14.6175140346775 -866000 ekin = 0.211086026109497 | erot = 0.447169652379628 | epot = -15.2757697131049 | etot = -14.6175140346158 -867000 ekin = 0.199530465893205 | erot = 0.455487658922675 | epot = -15.2725321593806 | etot = -14.6175140345647 -868000 ekin = 0.188996288427701 | erot = 0.467771811642206 | epot = -15.274282134597 | etot = -14.6175140345271 -869000 ekin = 0.180171161859839 | erot = 0.483934855625384 | epot = -15.2816200519904 | etot = -14.6175140345052 -870000 ekin = 0.173657413869083 | erot = 0.503727420428225 | epot = -15.2948988687979 | etot = -14.6175140345006 -871000 ekin = 0.169940429082826 | erot = 0.526741193130643 | epot = -15.3141956567281 | etot = -14.6175140345146 -872000 ekin = 0.169362274179231 | erot = 0.55241708894464 | epot = -15.3392933976713 | etot = -14.6175140345475 -873000 ekin = 0.172102391202432 | erot = 0.580058846013128 | epot = -15.3696752718142 | etot = -14.6175140345986 -874000 ekin = 0.178167002902699 | erot = 0.608852557306752 | epot = -15.404533594876 | etot = -14.6175140346666 -875000 ekin = 0.187388233891608 | erot = 0.637892396629037 | epot = -15.4427946652693 | etot = -14.6175140347487 -876000 ekin = 0.199433181368205 | erot = 0.666212376944565 | epot = -15.4831595931543 | etot = -14.6175140348416 -877000 ekin = 0.213822249051452 | erot = 0.69282332523737 | epot = -15.5241596092296 | etot = -14.6175140349407 -878000 ekin = 0.229955728386783 | erot = 0.716754212644293 | epot = -15.5642239760726 | etot = -14.6175140350415 -879000 ekin = 0.247146104645698 | erot = 0.737095186134375 | epot = -15.6017553259191 | etot = -14.617514035139 -880000 ekin = 0.264653797002906 | erot = 0.753040153405454 | epot = -15.6352079856366 | etot = -14.6175140352283 -881000 ekin = 0.28172378426185 | erot = 0.763926241590771 | epot = -15.6631640611577 | etot = -14.617514035305 -882000 ekin = 0.297620641607227 | erot = 0.769267373447333 | epot = -15.6844020504203 | etot = -14.6175140353657 -883000 ekin = 0.311659967166543 | erot = 0.768779581882131 | epot = -15.6979535844564 | etot = -14.6175140354077 -884000 ekin = 0.323234773768197 | erot = 0.762396270683944 | epot = -15.7031450798816 | etot = -14.6175140354294 -885000 ekin = 0.331836099625417 | erot = 0.750272396067174 | epot = -15.6996225311231 | etot = -14.6175140354305 -886000 ekin = 0.337067751564103 | erot = 0.732777385265373 | epot = -15.6873591722411 | etot = -14.6175140354117 -887000 ekin = 0.338655649766336 | erot = 0.710477420749848 | epot = -15.6666471058904 | etot = -14.6175140353742 -888000 ekin = 0.336452632420875 | erot = 0.684108417155686 | epot = -15.6380750848969 | etot = -14.6175140353203 -889000 ekin = 0.330439768515621 | erot = 0.654541548239603 | epot = -15.602495352008 | etot = -14.6175140352528 -890000 ekin = 0.320725208484741 | erot = 0.62274352002662 | epot = -15.5609827636857 | etot = -14.6175140351743 -891000 ekin = 0.307541386208895 | erot = 0.589733936087021 | epot = -15.514789357384 | etot = -14.6175140350881 -892000 ekin = 0.291240998129636 | erot = 0.556542080397485 | epot = -15.465297113524 | etot = -14.6175140349969 -893000 ekin = 0.272291667891092 | erot = 0.524165278720341 | epot = -15.4139709815152 | etot = -14.6175140349038 -894000 ekin = 0.251268620703177 | erot = 0.493530718297282 | epot = -15.3623133738115 | etot = -14.6175140348111 -895000 ekin = 0.228844131843334 | erot = 0.465462234286213 | epot = -15.311820400851 | etot = -14.6175140347214 -896000 ekin = 0.205772103521623 | erot = 0.440653137306931 | epot = -15.263939275466 | etot = -14.6175140346374 -897000 ekin = 0.18286601780276 | erot = 0.419645693758162 | epot = -15.2200257461227 | etot = -14.6175140345617 -898000 ekin = 0.160968870008327 | erot = 0.40281742524286 | epot = -15.1813003297482 | etot = -14.617514034497 -899000 ekin = 0.140914625128286 | erot = 0.390374024162985 | epot = -15.1488026837377 | etot = -14.6175140344464 -900000 ekin = 0.123482269337591 | erot = 0.382348451689304 | epot = -15.1233447554395 | etot = -14.6175140344126 -901000 ekin = 0.109345484385278 | erot = 0.378605737554559 | epot = -15.1054652563381 | etot = -14.6175140343982 -902000 ekin = 0.0990229789071406 | erot = 0.37885314016642 | epot = -15.0953901534788 | etot = -14.6175140344052 -903000 ekin = 0.0928360184568559 | erot = 0.382655585825979 | epot = -15.093005638717 | etot = -14.6175140344341 -904000 ekin = 0.0908801123885926 | erot = 0.389456554773827 | epot = -15.0978507016463 | etot = -14.6175140344838 -905000 ekin = 0.0930167096533132 | erot = 0.398604648850322 | epot = -15.1091353930552 | etot = -14.6175140345515 -906000 ekin = 0.0988880708470662 | erot = 0.409385812369458 | epot = -15.1257879178489 | etot = -14.6175140346324 -907000 ekin = 0.107954659148216 | erot = 0.421060528764254 | epot = -15.1465292226329 | etot = -14.6175140347204 -908000 ekin = 0.119550305155171 | erot = 0.432904367174519 | epot = -15.1699687071382 | etot = -14.6175140348085 -909000 ekin = 0.132947118365042 | erot = 0.444249232158093 | epot = -15.1947103854133 | etot = -14.6175140348902 -910000 ekin = 0.14742054333404 | erot = 0.45452187965619 | epot = -15.2194564579498 | etot = -14.6175140349596 -911000 ekin = 0.162305506309761 | erot = 0.463275978358842 | epot = -15.2430955196813 | etot = -14.6175140350127 -912000 ekin = 0.177037050913266 | erot = 0.470214361754283 | epot = -15.2647654477151 | etot = -14.6175140350476 -913000 ekin = 0.191172462463443 | erot = 0.475199092565798 | epot = -15.2838855900934 | etot = -14.6175140350642 -914000 ekin = 0.204395616840806 | erot = 0.478248345047313 | epot = -15.3001579969523 | etot = -14.6175140350642 -915000 ekin = 0.21650723869525 | erot = 0.479520616571472 | epot = -15.3135418903175 | etot = -14.6175140350508 -916000 ekin = 0.22740635239903 | erot = 0.479288139235308 | epot = -15.3242085266619 | etot = -14.6175140350276 -917000 ekin = 0.237068358847916 | erot = 0.477902392722287 | epot = -15.3324847865686 | etot = -14.6175140349984 -918000 ekin = 0.245524170398606 | erot = 0.475755244751368 | epot = -15.338793450117 | etot = -14.617514034967 -919000 ekin = 0.252843202023207 | erot = 0.473239468154926 | epot = -15.3435967051145 | etot = -14.6175140349364 -920000 ekin = 0.259121284814418 | erot = 0.470712244289352 | epot = -15.3473475640129 | etot = -14.6175140349091 -921000 ekin = 0.264473144075716 | erot = 0.468464808091652 | epot = -15.3504519870541 | etot = -14.6175140348868 -922000 ekin = 0.269028180853147 | erot = 0.466700668341421 | epot = -15.3532428840648 | etot = -14.6175140348703 -923000 ekin = 0.272927944744965 | erot = 0.465523908452019 | epot = -15.3559658880565 | etot = -14.6175140348596 -924000 ekin = 0.276323793828338 | erot = 0.464938026324942 | epot = -15.3587758550077 | etot = -14.6175140348544 -925000 ekin = 0.279373649322719 | erot = 0.464854721381143 | epot = -15.3617424055579 | etot = -14.6175140348541 -926000 ekin = 0.282237300897349 | erot = 0.465111106681717 | epot = -15.3648624424361 | etot = -14.6175140348571 -927000 ekin = 0.285070250341268 | erot = 0.465493135294266 | epot = -15.3680774204978 | etot = -14.6175140348623 -928000 ekin = 0.288016501944426 | erot = 0.465762600719312 | epot = -15.3712931375323 | etot = -14.6175140348686 -929000 ekin = 0.291201026098215 | erot = 0.465684740680354 | epot = -15.3743998016532 | etot = -14.6175140348747 -930000 ekin = 0.294722459179014 | erot = 0.465054261990702 | epot = -15.3772907560492 | etot = -14.6175140348795 -931000 ekin = 0.29864676401532 | erot = 0.463717248454336 | epot = -15.3798780473521 | etot = -14.6175140348824 -932000 ekin = 0.30300230463982 | erot = 0.461587311534142 | epot = -15.382103651057 | etot = -14.617514034883 -933000 ekin = 0.307776651095021 | erot = 0.458654945592281 | epot = -15.3839456315687 | etot = -14.6175140348814 -934000 ekin = 0.312915338272243 | erot = 0.454989722656041 | epot = -15.385419095806 | etot = -14.6175140348777 -935000 ekin = 0.318322768321537 | erot = 0.4507356255513 | epot = -15.3865724287453 | etot = -14.6175140348725 -936000 ekin = 0.323865441581232 | erot = 0.446100385695392 | epot = -15.3874798621431 | etot = -14.6175140348664 -937000 ekin = 0.329377658420751 | erot = 0.441340069470884 | epot = -15.3882317627517 | etot = -14.6175140348601 -938000 ekin = 0.334669609401342 | erot = 0.436740154638299 | epot = -15.3889237988938 | etot = -14.6175140348541 -939000 ekin = 0.339538182698431 | erot = 0.432595723627041 | epot = -15.3896479411745 | etot = -14.617514034849 -940000 ekin = 0.343779460434951 | erot = 0.429190561372456 | epot = -15.3904840566526 | etot = -14.6175140348452 -941000 ekin = 0.347202304173587 | erot = 0.426777065358565 | epot = -15.391493404375 | etot = -14.6175140348428 -942000 ekin = 0.349642062607373 | erot = 0.425558062624985 | epot = -15.3927141600744 | etot = -14.6175140348421 -943000 ekin = 0.350973206935267 | erot = 0.425671371650545 | epot = -15.3941586134289 | etot = -14.6175140348431 -944000 ekin = 0.351119786154239 | erot = 0.427178062458757 | epot = -15.3958118834587 | etot = -14.6175140348457 -945000 ekin = 0.350062816508182 | erot = 0.430055404932911 | epot = -15.397632256291 | etot = -14.6175140348499 -946000 ekin = 0.347844068536133 | erot = 0.434195447788936 | epot = -15.3995535511804 | etot = -14.6175140348553 -947000 ekin = 0.344566017440968 | erot = 0.439410327983271 | epot = -15.4014903802857 | etot = -14.6175140348614 -948000 ekin = 0.340388212506876 | erot = 0.445444378275944 | epot = -15.4033466256503 | etot = -14.6175140348675 -949000 ekin = 0.335520427168076 | erot = 0.451992965713332 | epot = -15.405027427754 | etot = -14.6175140348726 -950000 ekin = 0.330213181195925 | erot = 0.458727107974287 | epot = -15.4064543240458 | etot = -14.6175140348756 -951000 ekin = 0.324745816556271 | erot = 0.465321341195901 | epot = -15.4075811926278 | etot = -14.6175140348756 -952000 ekin = 0.319412679962131 | erot = 0.471482169175953 | epot = -15.4084088840101 | etot = -14.617514034872 -953000 ekin = 0.314508037100271 | erot = 0.476974139325801 | epot = -15.4089962112904 | etot = -14.6175140348643 -954000 ekin = 0.310309685024597 | erot = 0.481639431416524 | epot = -15.4094631512943 | etot = -14.6175140348532 -955000 ekin = 0.30706194776561 | erot = 0.485408201612597 | epot = -15.4099841842179 | etot = -14.6175140348397 -956000 ekin = 0.304958921289462 | erot = 0.488297803840355 | epot = -15.4107707599554 | etot = -14.6175140348255 -957000 ekin = 0.304129209169334 | erot = 0.490400499131601 | epot = -15.4120437431141 | etot = -14.6175140348131 -958000 ekin = 0.304623714620741 | erot = 0.491860923620763 | epot = -15.4139986730463 | etot = -14.6175140348048 -959000 ekin = 0.306408207892433 | erot = 0.492846142548468 | epot = -15.4167683852438 | etot = -14.6175140348029 -960000 ekin = 0.309362278814204 | erot = 0.493512316197963 | epot = -15.4203886298212 | etot = -14.617514034809 -961000 ekin = 0.313285873785893 | erot = 0.493972653387203 | epot = -15.4247725619971 | etot = -14.617514034824 -962000 ekin = 0.317913924785377 | erot = 0.494271324762721 | epot = -15.4296992843955 | etot = -14.6175140348474 -963000 ekin = 0.322938673954067 | erot = 0.494367337737335 | epot = -15.434820046569 | etot = -14.6175140348776 -964000 ekin = 0.32803828153202 | erot = 0.494131108238476 | epot = -15.4396834246822 | etot = -14.6175140349118 -965000 ekin = 0.332909295684033 | erot = 0.493354750676285 | epot = -15.4437780813066 | etot = -14.6175140349462 -966000 ekin = 0.337299689763766 | erot = 0.491775167781745 | epot = -15.4465888925225 | etot = -14.617514034977 -967000 ekin = 0.341038574327655 | erot = 0.489107134739062 | epot = -15.4476597440666 | etot = -14.6175140349999 -968000 ekin = 0.344058508087222 | erot = 0.485082040987952 | epot = -15.4466545840868 | etot = -14.6175140350117 -969000 ekin = 0.346406687227151 | erot = 0.479487053291702 | epot = -15.4434077755292 | etot = -14.6175140350103 -970000 ekin = 0.348242259951282 | erot = 0.472199376074787 | epot = -15.4379556710213 | etot = -14.6175140349953 -971000 ekin = 0.349818577908804 | erot = 0.463211040207177 | epot = -15.4305436530837 | etot = -14.6175140349678 -972000 ekin = 0.351451221504524 | erot = 0.452641107453752 | epot = -15.4216063638891 | etot = -14.6175140349308 -973000 ekin = 0.3534748518418 | erot = 0.440734047140215 | epot = -15.4117229338706 | etot = -14.6175140348885 -974000 ekin = 0.356193968986606 | erot = 0.427844962322964 | epot = -15.4015529661554 | etot = -14.6175140348458 -975000 ekin = 0.359834072252968 | erot = 0.414413971021433 | epot = -15.3917620780819 | etot = -14.6175140348075 -976000 ekin = 0.364500158164541 | erot = 0.400933139115399 | epot = -15.3829473320578 | etot = -14.6175140347778 -977000 ekin = 0.370148756531594 | erot = 0.387909813696784 | epot = -15.3755726049881 | etot = -14.6175140347597 -978000 ekin = 0.376577842832112 | erot = 0.37583005908299 | epot = -15.3699219366697 | etot = -14.6175140347546 -979000 ekin = 0.383436289098897 | erot = 0.365125297246974 | epot = -15.3660756211082 | etot = -14.6175140347623 -980000 ekin = 0.390251542221838 | erot = 0.356144397459927 | epot = -15.3639099744635 | etot = -14.6175140347817 -981000 ekin = 0.396471539315499 | erot = 0.349132547198626 | epot = -15.3631181213241 | etot = -14.61751403481 -982000 ekin = 0.401514997591354 | erot = 0.344217435800631 | epot = -15.3632464682362 | etot = -14.6175140348443 -983000 ekin = 0.404823458769612 | erot = 0.341402706417366 | epot = -15.3637402000685 | etot = -14.6175140348815 -984000 ekin = 0.405908866684804 | erot = 0.34056832459917 | epot = -15.3639912262027 | etot = -14.6175140349188 -985000 ekin = 0.404391803059605 | erot = 0.341477444721989 | epot = -15.3633832827353 | etot = -14.6175140349537 -986000 ekin = 0.400027422799988 | erot = 0.343789434463081 | epot = -15.3613308922474 | etot = -14.6175140349843 -987000 ekin = 0.392718180743718 | erot = 0.347078806740141 | epot = -15.357311022493 | etot = -14.6175140350092 -988000 ekin = 0.382514239213264 | erot = 0.350859769148604 | epot = -15.3508880433891 | etot = -14.6175140350273 -989000 ekin = 0.36960372665304 | erot = 0.354615837190747 | epot = -15.3417335988814 | etot = -14.6175140350376 -990000 ekin = 0.354295674460603 | erot = 0.357833454089941 | epot = -15.3296431635899 | etot = -14.6175140350393 -991000 ekin = 0.336998529350877 | erot = 0.360037895319979 | epot = -15.3145504597026 | etot = -14.6175140350318 -992000 ekin = 0.318196763890073 | erot = 0.360829065192576 | epot = -15.296539864097 | etot = -14.6175140350143 -993000 ekin = 0.298427479538382 | erot = 0.359914303090994 | epot = -15.2758558176161 | etot = -14.6175140349867 -994000 ekin = 0.278258203579966 | erot = 0.357135170966681 | epot = -15.2529074094957 | etot = -14.6175140349491 -995000 ekin = 0.258266471895044 | erot = 0.352485480213702 | epot = -15.2282659870109 | etot = -14.6175140349022 -996000 ekin = 0.239021351636038 | erot = 0.346118523028621 | epot = -15.2026539095118 | etot = -14.6175140348471 -997000 ekin = 0.221066818081191 | erot = 0.338342492443265 | epot = -15.1769233453106 | etot = -14.6175140347861 -998000 ekin = 0.204906835818307 | erot = 0.329604233509113 | epot = -15.152025104049 | etot = -14.6175140347215 -999000 ekin = 0.190992053959209 | erot = 0.320462575794744 | epot = -15.1289686644103 | etot = -14.6175140346563 -1000000 ekin = 0.179708146665587 | erot = 0.311553394428757 | epot = -15.1087755756882 | etot = -14.6175140345938 - 1000000 0.013311715 -1.5443684 0.033490821 -1.4929067 -3.7544839e-05 -Loop time of 17.7119 on 4 procs for 1000000 steps with 10 atoms - -Performance: 48780.802 tau/day, 56459.261 timesteps/s -99.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 | 0.59564 | 6.28 | 11.307 | 181.3 | 35.46 -Bond | 0.083757 | 0.28777 | 0.47668 | 30.6 | 1.62 -Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 1.8539 | 2.1875 | 2.4877 | 17.3 | 12.35 -Output | 2.1e-05 | 3.85e-05 | 4.5e-05 | 0.0 | 0.00 -Modify | 0.18254 | 0.92719 | 1.638 | 61.5 | 5.23 -Other | | 8.029 | | | 45.33 - -Nlocal: 2.5 ave 5.0 max 0.0 min -Histogram: 1 0 1 0 0 0 0 0 1 1 -Nghost: 7.5 ave 10.0 max 5.0 min -Histogram: 1 0 1 0 0 0 0 0 1 1 -Neighs: 16.0 ave 30.0 max 0.0 min -Histogram: 1 0 1 0 0 0 0 0 1 1 - -Total # of neighbors = 64 -Ave neighs/atom = 6.4 -Ave special neighs/atom = 3.6 -Neighbor list builds = 0 -Dangerous builds = 0 - -#write_restart config.${number}.* -Total wall time: 0:00:17 diff --git a/examples/PACKAGES/cgdna/examples/oxDNA2/duplex2/data.duplex2 b/examples/PACKAGES/cgdna/examples/oxDNA2/duplex2/data.duplex2 index 72872d431a..8c985708ca 100644 --- a/examples/PACKAGES/cgdna/examples/oxDNA2/duplex2/data.duplex2 +++ b/examples/PACKAGES/cgdna/examples/oxDNA2/duplex2/data.duplex2 @@ -1,15 +1,14 @@ -# LAMMPS data file +LAMMPS data file via write_data, version 27 May 2021 + 16 atoms -16 ellipsoids -13 bonds - 4 atom types +13 bonds 1 bond types +16 ellipsoids -# System size --20.000000 20.000000 xlo xhi --20.000000 20.000000 ylo yhi --20.000000 20.000000 zlo zhi +-20 20 xlo xhi +-20 20 ylo yhi +-20 20 zlo zhi Masses @@ -18,79 +17,75 @@ Masses 3 3.1575 4 3.1575 -# Atom-ID, type, position, molecule-ID, ellipsoid flag, density -Atoms +Atoms # hybrid -1 1 -6.000000000000001e-01 0.000000000000000e+00 0.000000000000000e+00 1 1 1 -2 2 -4.860249842674776e-01 -3.518234140414736e-01 3.897628551303122e-01 1 1 1 -3 3 -1.874009511073395e-01 -5.699832309147915e-01 7.795257102606244e-01 1 1 1 -4 4 1.824198365552941e-01 -5.715968887521518e-01 1.169288565390937e+00 1 1 1 -5 1 4.829362784135484e-01 -3.560513319622209e-01 1.559051420521249e+00 1 1 1 -6 2 5.999771538385027e-01 -5.235921299024461e-03 1.948814275651561e+00 1 1 1 -7 3 4.890766774371325e-01 3.475687034056071e-01 2.338577130781873e+00 1 1 1 -8 4 1.923677943514057e-01 5.683261666476170e-01 2.728339985912185e+00 1 1 1 -9 1 -1.923677943514057e-01 -5.683261666476170e-01 2.728339985912185e+00 2 1 1 -10 2 -4.890766774371324e-01 -3.475687034056071e-01 2.338577130781873e+00 2 1 1 -11 3 -5.999771538385025e-01 5.235921299024461e-03 1.948814275651561e+00 2 1 1 -12 4 -4.829362784135481e-01 3.560513319622207e-01 1.559051420521249e+00 2 1 1 -13 1 -1.824198365552940e-01 5.715968887521514e-01 1.169288565390936e+00 2 1 1 -14 2 1.874009511073395e-01 5.699832309147912e-01 7.795257102606241e-01 2 1 1 -15 3 4.860249842674773e-01 3.518234140414733e-01 3.897628551303119e-01 2 1 1 -16 4 5.999999999999995e-01 -3.330669073875470e-17 -3.330669073875470e-16 2 1 1 +1 1 -0.6133472972454725 -0.657478171669766 0.36065226351201896 1 1 3.7269849963023267 0 0 0 +2 2 -0.45262764247356363 -1.0030650534345913 0.7258693379233347 1 1 3.7269849963023267 0 0 0 +3 3 -0.0988342108522641 -1.239775807128057 1.069462285786363 1 1 3.7269849963023267 0 0 0 +4 4 0.2937771854299732 -1.2579750924899842 1.4258916086606965 1 1 3.7269849963023267 0 0 0 +5 1 0.6286896795685137 -1.0183343395119744 1.7689346339672825 1 1 3.7269849963023267 0 0 0 +6 2 0.7901522619067926 -0.6766341805565266 2.1540160705495754 1 1 3.7269849963023267 0 0 0 +7 3 0.7115777184886863 -0.40195579325143455 2.569568683291525 1 1 3.7269849963023267 0 0 0 +8 4 0.46973310377005234 -0.30251697967107033 3.0668007117519216 1 1 3.7269849963023267 0 0 0 +9 1 0.4056113349449848 -1.443775499211898 3.0590726503341124 2 1 3.7269849963023267 0 0 0 +10 2 -0.032028429059287516 -1.2947520971164723 2.7201071151392187 2 1 3.7269849963023267 0 0 0 +11 3 -0.31613855112314065 -0.908414175906161 2.4125207871782006 2 1 3.7269849963023267 0 0 0 +12 4 -0.38939391251821 -0.4866605488242819 2.006177777000426 2 1 3.7269849963023267 0 0 0 +13 1 -0.06232643040853296 -0.07155965522127403 1.5593206052730733 3 1 3.7269849963023267 0 0 0 +14 2 0.17884090390913376 -0.05516721349427172 1.021273149730912 3 1 3.7269849963023267 0 0 0 +15 3 0.4513439961906 -0.23795607383274572 0.5957328539615993 3 1 3.7269849963023267 0 0 0 +16 4 0.5077649359807965 -0.5565625134533538 0.1655875784458841 3 1 3.7269849963023267 0 0 0 -# Atom-ID, translational velocity, angular momentum Velocities -1 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -2 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -3 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -4 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -5 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -6 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -7 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -8 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -9 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -10 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -11 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -12 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -13 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -14 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -15 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -16 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 +1 0.05386890022865587 0.02262922525602673 0.24882291144736746 0.1772010258006941 -0.29588531700001014 -0.2624137503614725 +2 -0.03995003075629463 0.26969511063701984 -0.18986454548195664 -0.030614539375968176 -0.11769518931480599 0.040074702426473215 +3 -0.20784535295201376 -0.13628722357673043 -0.06062477950201746 -0.03676034584820381 -0.06308707793373186 -0.14798601576087625 +4 -0.23969824181316998 -0.5624721730878831 0.032474422905036715 -0.16523645965016515 0.2860623077030974 0.33543519753105877 +5 -0.16114897356828353 -0.22889697470760145 -0.13553324962649563 0.07151030852881342 -0.09415592891043179 0.13422881539312292 +6 -0.04701706588477693 0.19216715585110036 0.14588242791297215 0.09218622989776322 -0.5640128930702024 0.09287105657777776 +7 0.05098438305112513 -0.038459555522009595 -0.14244196285749675 0.3479046835475834 0.4244922695910593 -0.13582882604358357 +8 0.37827971348411926 -0.04953992506010833 0.1626392045834847 0.0442887659636129 0.07868414126013584 -0.12713600444325032 +9 0.04912038408665491 0.041260647318716696 0.012223856334495234 0.03282916621721876 -0.00012670547095256 0.155978785417696 +10 0.1939216183073483 0.11075235485381942 -0.0405050516019971 -0.17008135001813812 -0.4563093565840761 -0.30318513627039506 +11 -0.351360733920646 -0.18822419067535692 0.36147938199051305 -0.3708221604627426 -0.49108381825941216 0.09435948331955418 +12 -0.1188642917357977 0.22355282456551884 0.009265586122144348 -0.28230100188858365 0.10276485660828892 0.10175233476780697 +13 -0.1446616296238799 -0.11552059909787235 0.1331477187595642 -0.25498721890374343 0.2754663721641154 0.05806416868630132 +14 0.051547120035862544 -0.36611026510775635 -0.06630782880801242 -0.11999847173316518 0.0684476892288605 0.2161595932308759 +15 -0.20214244962091388 0.23341226933559608 0.008133374252278069 -0.17013911124135248 0.01870292260510287 -0.2682954134361106 +16 -0.19202131162868008 -0.08105295741355378 -0.0469350810885074 0.017332107652647588 -0.32876588862807693 0.1085334141225924 -# Atom-ID, shape, quaternion -Ellipsoids - -1 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 1.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -2 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 9.513258223252946e-01 0.000000000000000e+00 0.000000000000000e+00 3.081869234362515e-01 -3 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 8.100416404457962e-01 0.000000000000000e+00 0.000000000000000e+00 5.863723567357894e-01 -4 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 5.899012371043606e-01 0.000000000000000e+00 0.000000000000000e+00 8.074754054847398e-01 -5 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 3.123349185122326e-01 0.000000000000000e+00 0.000000000000000e+00 9.499720515246527e-01 -6 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 4.363309284746654e-03 0.000000000000000e+00 0.000000000000000e+00 9.999904807207346e-01 -7 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 -3.040330609254902e-01 0.000000000000000e+00 0.000000000000000e+00 9.526614812535865e-01 -8 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 5.828323126827837e-01 0.000000000000000e+00 0.000000000000000e+00 -8.125924533816677e-01 -9 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 0.000000000000000e+00 8.125924533816681e-01 5.828323126827832e-01 -0.000000000000000e+00 -10 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 0.000000000000000e+00 9.526614812535864e-01 3.040330609254902e-01 0.000000000000000e+00 -11 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 0.000000000000000e+00 9.999904807207346e-01 -4.363309284746654e-03 0.000000000000000e+00 -12 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 0.000000000000000e+00 9.499720515246526e-01 -3.123349185122325e-01 0.000000000000000e+00 -13 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 0.000000000000000e+00 8.074754054847402e-01 -5.899012371043603e-01 0.000000000000000e+00 -14 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 0.000000000000000e+00 5.863723567357898e-01 -8.100416404457959e-01 0.000000000000000e+00 -15 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 -0.000000000000000e+00 -3.081869234362514e-01 9.513258223252948e-01 0.000000000000000e+00 -16 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 -0.000000000000000e+00 2.775557561562893e-17 1.000000000000000e+00 -0.000000000000000e+00 - -# Bond topology Bonds -1 1 1 2 -2 1 2 3 -3 1 3 4 -4 1 4 5 -5 1 5 6 -6 1 6 7 -7 1 7 8 -8 1 9 10 -9 1 10 11 -10 1 11 12 -11 1 13 14 -12 1 14 15 -13 1 15 16 +1 1 1 2 +2 1 2 3 +3 1 3 4 +4 1 4 5 +5 1 5 6 +6 1 6 7 +7 1 7 8 +8 1 9 10 +9 1 10 11 +10 1 11 12 +11 1 13 14 +12 1 14 15 +13 1 15 16 + +Ellipsoids + +1 1.173984503142341 1.173984503142341 1.173984503142341 0.9964752158482045 -0.053253555733239796 0.011391163807102514 -0.06380787090289707 +2 1.173984503142341 1.173984503142341 1.173984503142341 0.9369923833143513 0.11220716044648564 0.06732538499716349 0.3239168400846305 +3 1.173984503142341 1.173984503142341 1.173984503142341 0.797964932091827 0.14473096354527873 0.18374142699366386 0.5554673737937029 +4 1.173984503142341 1.173984503142341 1.173984503142341 0.5660864821344559 0.14688275499481052 0.09873742533340191 0.8051226439917721 +5 1.173984503142341 1.173984503142341 1.173984503142341 0.2533023785125306 0.12062313161679827 0.08583012223905846 0.9559922359911086 +6 1.173984503142341 1.173984503142341 1.173984503142341 -0.03855807343534716 0.08405913137017908 0.02236505169306371 0.9954632800204194 +7 1.173984503142341 1.173984503142341 1.173984503142341 -0.45592844330248017 0.1004550065061007 -0.052524745294758785 0.8827679181910482 +8 1.173984503142341 1.173984503142341 1.173984503142341 0.768021221540491 -0.009582139884533599 0.03658677589040892 -0.63930665074644 +9 1.173984503142341 1.173984503142341 1.173984503142341 -0.23299975754512345 0.688686395231341 0.6747873944883376 -0.12682324016841584 +10 1.173984503142341 1.173984503142341 1.173984503142341 -0.24662061871907232 0.8744456399178389 0.39370836087823996 -0.13970261209395163 +11 1.173984503142341 1.173984503142341 1.173984503142341 -0.087475900850909 0.977367602388229 0.14493549113095577 -0.12686307572668784 +12 1.173984503142341 1.173984503142341 1.173984503142341 -0.03181169300779214 0.9634374984140112 -0.2442360692534371 -0.10547485630879185 +13 1.173984503142341 1.173984503142341 1.173984503142341 -0.032786070696572266 0.7922941528811777 -0.6084214170523915 -0.03191282109962717 +14 1.173984503142341 1.173984503142341 1.173984503142341 0.047188686288341455 0.6316396208287698 -0.7737349519945348 0.011783095844627799 +15 1.173984503142341 1.173984503142341 1.173984503142341 -0.05869980642620335 -0.34229358203414423 0.9376740835056508 0.012519965878508689 +16 1.173984503142341 1.173984503142341 1.173984503142341 -0.08582818143150042 0.0008707732197394232 0.9939540921464659 -0.0684691735853161 diff --git a/examples/PACKAGES/cgdna/examples/oxDNA2/duplex2/in.duplex2 b/examples/PACKAGES/cgdna/examples/oxDNA2/duplex2/in.duplex2 index 50c1dd3379..b43ce6fd15 100644 --- a/examples/PACKAGES/cgdna/examples/oxDNA2/duplex2/in.duplex2 +++ b/examples/PACKAGES/cgdna/examples/oxDNA2/duplex2/in.duplex2 @@ -2,6 +2,7 @@ variable number equal 2 variable ofreq equal 1000 variable efreq equal 1000 variable T equal 0.1 +variable rhos equal 0.2 units lj @@ -11,11 +12,11 @@ newton off boundary p p p -atom_style hybrid bond ellipsoid +atom_style hybrid bond ellipsoid oxdna atom_modify sort 0 1.0 # Pair interactions require lists of neighbours to be calculated -neighbor 1.0 bin +neighbor 2.0 bin neigh_modify every 1 delay 0 check yes read_data data.duplex2 @@ -38,30 +39,19 @@ pair_coeff 1 4 oxdna2/hbond seqav 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 pair_coeff 2 3 oxdna2/hbond seqav 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 pair_coeff * * oxdna2/xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68 pair_coeff * * oxdna2/coaxstk 58.5 0.4 0.6 0.22 0.58 2.0 2.891592653589793 0.65 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 40.0 3.116592653589793 -pair_coeff * * oxdna2/dh ${T} 1.0 0.815 +pair_coeff * * oxdna2/dh ${T} ${rhos} 0.815 # NVE ensemble -#fix 1 all nve/dot -fix 1 all nve/dotc/langevin ${T} ${T} 0.03 457145 angmom 10 -#fix 1 all nve/asphere -#fix 2 all langevin ${T} ${T} 0.03 457145 angmom 10 +fix 1 all nve/asphere +fix 2 all langevin ${T} ${T} 2.5 457145 angmom 10 timestep 1e-5 #comm_style tiled -#fix 3 all balance 10000 1.1 rcb -comm_modify cutoff 2.5 +fix 3 all balance 1000 1.03 shift xyz 10 1.03 +comm_modify cutoff 3.8 -#compute mol all chunk/atom molecule -#compute mychunk all vcm/chunk mol -#fix 4 all ave/time 10000 1 10000 c_mychunk[1] c_mychunk[2] c_mychunk[3] file vcm.txt mode vector - -#dump pos all xyz ${ofreq} traj.${number}.xyz - -#compute quat all property/atom quatw quati quatj quatk -#dump quat all custom ${ofreq} quat.${number}.txt id c_quat[1] c_quat[2] c_quat[3] c_quat[4] -#dump_modify quat sort id -#dump_modify quat format line "%d %13.6le %13.6le %13.6le %13.6le" +compute quat all property/atom quatw quati quatj quatk compute erot all erotate/asphere compute ekin all ke @@ -72,10 +62,10 @@ variable epot equal c_epot variable etot equal c_erot+c_ekin+c_epot fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes -#dump out all custom ${ofreq} out.${number}.txt id x y z vx vy vz fx fy fz tqx tqy tqz -#dump_modify out sort id -#dump_modify out format line "%d %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le" +dump out all custom ${ofreq} out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump_modify out sort id +dump_modify out format line "%d %d %d %22.15le %22.15le %22.15le %d %d %d %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le" run 1000000 -#write_restart config.${number}.* +write_data last_config.${number}.* nocoeff diff --git a/examples/PACKAGES/cgdna/examples/oxDNA2/duplex2/log.27May21.duplex2.g++.1 b/examples/PACKAGES/cgdna/examples/oxDNA2/duplex2/log.27May21.duplex2.g++.1 new file mode 100644 index 0000000000..6379401f02 --- /dev/null +++ b/examples/PACKAGES/cgdna/examples/oxDNA2/duplex2/log.27May21.duplex2.g++.1 @@ -0,0 +1,1183 @@ +LAMMPS (27 May 2021) +variable number equal 2 +variable ofreq equal 1000 +variable efreq equal 1000 +variable T equal 0.1 +variable rhos equal 0.2 + +units lj + +dimension 3 + +newton off + +boundary p p p + +atom_style hybrid bond ellipsoid oxdna +WARNING: Atom style hybrid defines both, per-type and per-atom masses; both must be set, but only per-atom masses will be used (../atom_vec_hybrid.cpp:157) +atom_modify sort 0 1.0 + +# Pair interactions require lists of neighbours to be calculated +neighbor 2.0 bin +neigh_modify every 1 delay 0 check yes + +read_data data.duplex2 +Reading data file ... + orthogonal box = (-20.000000 -20.000000 -20.000000) to (20.000000 20.000000 20.000000) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 16 atoms + reading velocities ... + 16 velocities + scanning bonds ... + 2 = max bonds/atom + 16 ellipsoids + reading bonds ... +Setting oxDNA 3'->5' bond directionality ... + 13 bonds +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 + 2 = max # of 1-3 neighbors + 4 = max # of 1-4 neighbors + 6 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.003 seconds + +set atom * mass 3.1575 +Setting atom values ... + 16 settings made for mass + +group all type 1 4 +16 atoms in group all + +# oxDNA2 bond interactions - FENE backbone +bond_style oxdna2/fene +bond_coeff * 2.0 0.25 0.7564 +special_bonds lj 0 1 1 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 1 1 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 2 = max # of 1-3 neighbors + 4 = max # of 1-4 neighbors + 6 = max # of special neighbors + special bonds CPU = 0.000 seconds + +# oxDNA2 pair interactions +pair_style hybrid/overlay oxdna2/excv oxdna2/stk oxdna2/hbond oxdna2/xstk oxdna2/coaxstk oxdna2/dh +pair_coeff * * oxdna2/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32 +pair_coeff * * oxdna2/stk seqav ${T} 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 +pair_coeff * * oxdna2/stk seqav 0.1 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 +pair_coeff * * oxdna2/hbond seqav 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 1 4 oxdna2/hbond seqav 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 2 3 oxdna2/hbond seqav 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff * * oxdna2/xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68 +pair_coeff * * oxdna2/coaxstk 58.5 0.4 0.6 0.22 0.58 2.0 2.891592653589793 0.65 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 40.0 3.116592653589793 +pair_coeff * * oxdna2/dh ${T} ${rhos} 0.815 +pair_coeff * * oxdna2/dh 0.1 ${rhos} 0.815 +pair_coeff * * oxdna2/dh 0.1 0.2 0.815 + +# NVE ensemble +fix 1 all nve/asphere +fix 2 all langevin ${T} ${T} 2.5 457145 angmom 10 +fix 2 all langevin 0.1 ${T} 2.5 457145 angmom 10 +fix 2 all langevin 0.1 0.1 2.5 457145 angmom 10 + +timestep 1e-5 + +#comm_style tiled +fix 3 all balance 1000 1.03 shift xyz 10 1.03 +comm_modify cutoff 3.8 + +compute quat all property/atom quatw quati quatj quatk + +compute erot all erotate/asphere +compute ekin all ke +compute epot all pe +variable erot equal c_erot +variable ekin equal c_ekin +variable epot equal c_epot +variable etot equal c_erot+c_ekin+c_epot +fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes +fix 5 all print 1000 "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes + +dump out all custom ${ofreq} out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump out all custom 1000 out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump out all custom 1000 out.2.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump_modify out sort id +dump_modify out format line "%d %d %d %22.15le %22.15le %22.15le %d %d %d %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le" + +run 1000000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 5.6389877 + ghost atom cutoff = 5.6389877 + binsize = 2.8194939, bins = 15 15 15 + 5 neighbor lists, perpetual/occasional/extra = 5 0 0 + (1) pair oxdna2/excv, perpetual + attributes: half, newton off + pair build: half/bin/newtoff + stencil: full/bin/3d + bin: standard + (2) pair oxdna2/hbond, perpetual, copy from (1) + attributes: half, newton off + pair build: copy + stencil: none + bin: none + (3) pair oxdna2/xstk, perpetual, copy from (1) + attributes: half, newton off + pair build: copy + stencil: none + bin: none + (4) pair oxdna2/coaxstk, perpetual, copy from (1) + attributes: half, newton off + pair build: copy + stencil: none + bin: none + (5) pair oxdna2/dh, perpetual, copy from (1) + attributes: half, newton off + pair build: copy + stencil: none + bin: none +WARNING: Communication cutoff adjusted to 5.638987723814632 (../comm.cpp:739) +0 ekin = 2.70475393009871 | erot = 2.80172072918779 | epot = -21.0482852787267 | etot = -15.5418106194402 +Per MPI rank memory allocation (min/avg/max) = 9.575 | 9.575 | 9.575 Mbytes +Step Temp E_pair E_mol TotEng Press Volume + 0 0.12021129 -1.3610384 0.045520537 -1.1464707 5.9660461e-05 64000 +1000 ekin = 2.70391570439002 | erot = 2.60396138194761 | epot = -20.892587006041 | etot = -15.5847099197034 +2000 ekin = 2.64635320949975 | erot = 2.53579824187029 | epot = -20.7791695875995 | etot = -15.5970181362294 +3000 ekin = 2.69752120400807 | erot = 2.55180306746824 | epot = -20.7137659040141 | etot = -15.4644416325378 +4000 ekin = 2.65388214447351 | erot = 2.47641299322464 | epot = -20.6794119976431 | etot = -15.5491168599449 +5000 ekin = 2.60025466050757 | erot = 2.2039059393524 | epot = -20.6560408696723 | etot = -15.8518802698123 +6000 ekin = 2.46901398821907 | erot = 2.47310200487733 | epot = -20.6350989412901 | etot = -15.6929829481937 +7000 ekin = 2.51574664182367 | erot = 2.31213437386206 | epot = -20.6631357493118 | etot = -15.8352547336261 +8000 ekin = 2.59690047628267 | erot = 2.32317845363663 | epot = -20.7152959922884 | etot = -15.7952170623691 +9000 ekin = 2.48618631858408 | erot = 2.08285633125494 | epot = -20.7950725844518 | etot = -16.2260299346128 +10000 ekin = 2.52115116499233 | erot = 2.20106084795614 | epot = -20.8992442032707 | etot = -16.1770321903222 +11000 ekin = 2.43147539619194 | erot = 2.4292761978595 | epot = -21.0249867006789 | etot = -16.1642351066275 +12000 ekin = 2.45333761568576 | erot = 2.52560307161098 | epot = -21.1588492672088 | etot = -16.179908579912 +13000 ekin = 2.53951720462344 | erot = 2.7465487700648 | epot = -21.2655112796489 | etot = -15.9794453049607 +14000 ekin = 2.5287482301222 | erot = 3.01239544645659 | epot = -21.3374765197331 | etot = -15.7963328431543 +15000 ekin = 2.63126849733546 | erot = 2.75804260501315 | epot = -21.3622375137172 | etot = -15.9729264113686 +16000 ekin = 2.53351081020597 | erot = 2.9515240146865 | epot = -21.3358982910483 | etot = -15.8508634661558 +17000 ekin = 2.57894891181708 | erot = 3.20567182477319 | epot = -21.2708322188655 | etot = -15.4862114822752 +18000 ekin = 2.48912656009911 | erot = 3.30514421758695 | epot = -21.1854964687721 | etot = -15.391225691086 +19000 ekin = 2.54963746369468 | erot = 3.12775559702552 | epot = -21.0796045258341 | etot = -15.4022114651139 +20000 ekin = 2.70343028147054 | erot = 3.48245634539085 | epot = -20.9620878080506 | etot = -14.7762011811892 +21000 ekin = 2.74008375980767 | erot = 3.49340976649893 | epot = -20.8605728519254 | etot = -14.6270793256188 +22000 ekin = 2.70619491966173 | erot = 3.39094503970526 | epot = -20.7832212738353 | etot = -14.6860813144683 +23000 ekin = 2.76977571935376 | erot = 2.96919161110174 | epot = -20.7244407619743 | etot = -14.9854734315188 +24000 ekin = 2.70661582607977 | erot = 2.7368811231863 | epot = -20.7053645378039 | etot = -15.2618675885378 +25000 ekin = 2.68754636497152 | erot = 2.61416599169544 | epot = -20.7064779461664 | etot = -15.4047655894994 +26000 ekin = 2.73235500408335 | erot = 2.73313459064972 | epot = -20.7277379348113 | etot = -15.2622483400782 +27000 ekin = 2.80776243953875 | erot = 2.57060961199333 | epot = -20.7536767854922 | etot = -15.3753047339601 +28000 ekin = 2.72026602469303 | erot = 2.48773762184112 | epot = -20.7972439765033 | etot = -15.5892403299692 +29000 ekin = 2.74993250614267 | erot = 2.43620019541717 | epot = -20.8845224755542 | etot = -15.6983897739944 +30000 ekin = 2.84727011110436 | erot = 2.55872515142542 | epot = -21.0029391367955 | etot = -15.5969438742657 +31000 ekin = 2.9373105145775 | erot = 2.68538653493624 | epot = -21.1441658724037 | etot = -15.52146882289 +32000 ekin = 3.11483472271262 | erot = 2.71833221771893 | epot = -21.3009630690853 | etot = -15.4677961286538 +33000 ekin = 3.420156896237 | erot = 3.01186958829685 | epot = -21.4445354747606 | etot = -15.0125089902268 +34000 ekin = 3.45714970534467 | erot = 3.34699175671057 | epot = -21.5750227937594 | etot = -14.7708813317042 +35000 ekin = 3.49497749393847 | erot = 3.14001434352622 | epot = -21.6604994386104 | etot = -15.0255076011457 +36000 ekin = 3.47204675153368 | erot = 2.84774400732499 | epot = -21.6891867301233 | etot = -15.3693959712647 +37000 ekin = 3.44180301616541 | erot = 2.56259280720522 | epot = -21.6709924941778 | etot = -15.6665966708072 +38000 ekin = 3.54821034228961 | erot = 2.44212751582542 | epot = -21.6265094810359 | etot = -15.6361716229209 +39000 ekin = 3.46871818671425 | erot = 2.3996020823067 | epot = -21.5379795382886 | etot = -15.6696592692677 +40000 ekin = 3.39697091933587 | erot = 2.06928828303179 | epot = -21.4180869184494 | etot = -15.9518277160818 +41000 ekin = 3.34648089211933 | erot = 2.10977053447765 | epot = -21.3088504303423 | etot = -15.8525990037453 +42000 ekin = 3.14017175730779 | erot = 2.61712762297441 | epot = -21.2075302208962 | etot = -15.450230840614 +43000 ekin = 3.05412713054855 | erot = 2.16422672116185 | epot = -21.1026514185808 | etot = -15.8842975668704 +44000 ekin = 2.8563652549228 | erot = 2.23456154398499 | epot = -21.0187138708968 | etot = -15.9277870719891 +45000 ekin = 2.71017763793129 | erot = 2.20442798009884 | epot = -20.9688571562277 | etot = -16.0542515381976 +46000 ekin = 2.80228666966602 | erot = 2.36912065742281 | epot = -20.9221917036258 | etot = -15.750784376537 +47000 ekin = 2.68398029783771 | erot = 2.30787382180577 | epot = -20.9147956898556 | etot = -15.9229415702121 +48000 ekin = 2.60361639221637 | erot = 2.16759706121354 | epot = -20.9378819526189 | etot = -16.166668499189 +49000 ekin = 2.6987952733265 | erot = 1.95331370371641 | epot = -20.9793801292351 | etot = -16.3272711521922 +50000 ekin = 2.78297818082632 | erot = 1.73866705563713 | epot = -21.0239873291857 | etot = -16.5023420927222 +51000 ekin = 2.79226298145989 | erot = 1.75750015205397 | epot = -21.0591817365135 | etot = -16.5094186029997 +52000 ekin = 2.93778678358835 | erot = 2.05248025310421 | epot = -21.1000263829064 | etot = -16.1097593462138 +53000 ekin = 2.93047021956224 | erot = 2.21318598351598 | epot = -21.1408129057595 | etot = -15.9971567026813 +54000 ekin = 2.95313738597265 | erot = 2.20797346738785 | epot = -21.1830307851602 | etot = -16.0219199317997 +55000 ekin = 2.98703149924487 | erot = 2.36965734625004 | epot = -21.2448833674046 | etot = -15.8881945219097 +56000 ekin = 2.9918847626884 | erot = 2.35374933057426 | epot = -21.3017374555429 | etot = -15.9561033622802 +57000 ekin = 3.04248410594257 | erot = 2.10923890188225 | epot = -21.3362725295755 | etot = -16.1845495217507 +58000 ekin = 2.98235297495945 | erot = 2.13409247728306 | epot = -21.3593231655096 | etot = -16.2428777132671 +59000 ekin = 2.91016949839304 | erot = 2.36822905479349 | epot = -21.3622398255745 | etot = -16.083841272388 +60000 ekin = 2.9725077920235 | erot = 2.54263250726515 | epot = -21.3342690818058 | etot = -15.8191287825172 +61000 ekin = 2.96790668494255 | erot = 2.48996902731659 | epot = -21.2724803895844 | etot = -15.8146046773253 +62000 ekin = 2.94610606099054 | erot = 2.18201665175963 | epot = -21.1879194614352 | etot = -16.059796748685 +63000 ekin = 3.02712147052615 | erot = 2.16093889178585 | epot = -21.0966584891443 | etot = -15.9085981268323 +64000 ekin = 3.20886369209217 | erot = 2.0693144064006 | epot = -21.0569971647534 | etot = -15.7788190662607 +65000 ekin = 3.22349334555756 | erot = 1.93510092297445 | epot = -21.0349289183421 | etot = -15.8763346498101 +66000 ekin = 3.10418207507132 | erot = 1.94339370515854 | epot = -21.0517453882432 | etot = -16.0041696080134 +67000 ekin = 3.12595764700021 | erot = 2.29857726165626 | epot = -21.1076206585503 | etot = -15.6830857498938 +68000 ekin = 2.99981867339099 | erot = 2.04147368191608 | epot = -21.1811986978272 | etot = -16.1399063425201 +69000 ekin = 2.93860333642774 | erot = 2.09583398354874 | epot = -21.2548061558297 | etot = -16.2203688358532 +70000 ekin = 2.94862796959938 | erot = 2.02427035214619 | epot = -21.3225756079774 | etot = -16.3496772862319 +71000 ekin = 2.95485075626802 | erot = 1.9804675253528 | epot = -21.3931478839353 | etot = -16.4578296023144 +72000 ekin = 3.03083521870645 | erot = 1.64033628981966 | epot = -21.4680680893692 | etot = -16.7968965808431 +73000 ekin = 3.20193349232362 | erot = 1.82676041495793 | epot = -21.5301957695024 | etot = -16.5015018622209 +74000 ekin = 3.22662444253097 | erot = 1.89227240506012 | epot = -21.5643738418553 | etot = -16.4454769942643 +75000 ekin = 3.28911018830876 | erot = 1.89872323449654 | epot = -21.5810306648804 | etot = -16.3931972420751 +76000 ekin = 3.29558374515735 | erot = 1.87444557500023 | epot = -21.5642338211322 | etot = -16.3942045009746 +77000 ekin = 3.54018909072077 | erot = 1.7572907653699 | epot = -21.5044360245146 | etot = -16.2069561684239 +78000 ekin = 3.54291076978584 | erot = 1.76974361090017 | epot = -21.4006101697986 | etot = -16.0879557891126 +79000 ekin = 3.54987455874813 | erot = 1.91515152695035 | epot = -21.2526696681999 | etot = -15.7876435825014 +80000 ekin = 3.44554692397026 | erot = 1.55785077520353 | epot = -21.1041761178578 | etot = -16.1007784186841 +81000 ekin = 3.39041332539999 | erot = 1.45777024027671 | epot = -20.9764951390215 | etot = -16.1283115733448 +82000 ekin = 3.28164787796649 | erot = 1.38380348431298 | epot = -20.899509162344 | etot = -16.2340578000645 +83000 ekin = 3.2711994674637 | erot = 1.61635220758894 | epot = -20.8682969771062 | etot = -15.9807453020535 +84000 ekin = 3.23767018514766 | erot = 1.58136727778769 | epot = -20.8558733748386 | etot = -16.0368359119032 +85000 ekin = 3.19513864200051 | erot = 1.64319108858878 | epot = -20.8419968518708 | etot = -16.0036671212815 +86000 ekin = 3.24896357270191 | erot = 1.89522046055132 | epot = -20.8328066333251 | etot = -15.6886226000718 +87000 ekin = 3.13174021654818 | erot = 1.94306423894154 | epot = -20.8481262288119 | etot = -15.7733217733222 +88000 ekin = 3.11122085279112 | erot = 1.78724048339194 | epot = -20.9059531901009 | etot = -16.0074918539178 +89000 ekin = 3.08381661724967 | erot = 1.63584870500638 | epot = -20.9715808309548 | etot = -16.2519155086988 +90000 ekin = 3.20313125753904 | erot = 1.94895881894576 | epot = -21.0671915523153 | etot = -15.9151014758305 +91000 ekin = 3.14651785772315 | erot = 2.26271277860543 | epot = -21.1780568094307 | etot = -15.7688261731021 +92000 ekin = 3.23402739820378 | erot = 2.38502646372715 | epot = -21.3058699018425 | etot = -15.6868160399115 +93000 ekin = 3.27864277718343 | erot = 2.22426372598659 | epot = -21.4112218809903 | etot = -15.9083153778203 +94000 ekin = 3.31438607736517 | erot = 2.13604324487189 | epot = -21.5023579935935 | etot = -16.0519286713564 +95000 ekin = 3.27323012344957 | erot = 2.3817868438853 | epot = -21.6160955797712 | etot = -15.9610786124363 +96000 ekin = 3.22326707535027 | erot = 2.54544679505643 | epot = -21.7318191046089 | etot = -15.9631052342022 +97000 ekin = 3.23424306839053 | erot = 2.64153427684313 | epot = -21.8458536800777 | etot = -15.9700763348441 +98000 ekin = 3.20883333988361 | erot = 2.67043755850074 | epot = -21.9495446261424 | etot = -16.070273727758 +99000 ekin = 3.11663851643537 | erot = 2.90733596256654 | epot = -22.0486791427266 | etot = -16.0247046637247 +100000 ekin = 3.03264321501926 | erot = 2.96946233520272 | epot = -22.1457931713674 | etot = -16.1436876211454 +101000 ekin = 2.95046281913221 | erot = 2.88464070608065 | epot = -22.2018281755497 | etot = -16.3667246503368 +102000 ekin = 2.85487641720317 | erot = 3.18352311497666 | epot = -22.1945156997858 | etot = -16.1561161676059 +103000 ekin = 2.83556367487544 | erot = 3.10626911100562 | epot = -22.1286684506118 | etot = -16.1868356647308 +104000 ekin = 2.74206313561189 | erot = 2.76469534508288 | epot = -22.0370967342097 | etot = -16.5303382535149 +105000 ekin = 2.68691210569757 | erot = 2.43510424243724 | epot = -21.9227484953522 | etot = -16.8007321472174 +106000 ekin = 2.5632306571111 | erot = 2.04976251036801 | epot = -21.8252352950753 | etot = -17.2122421275962 +107000 ekin = 2.45282193090847 | erot = 2.35578840258498 | epot = -21.7394205256345 | etot = -16.930810192141 +108000 ekin = 2.53861743899996 | erot = 2.41441398228762 | epot = -21.6772620188417 | etot = -16.7242305975541 +109000 ekin = 2.47502081207099 | erot = 2.24593310938323 | epot = -21.6325689491035 | etot = -16.9116150276492 +110000 ekin = 2.50321333342891 | erot = 1.86407174946136 | epot = -21.6221361025482 | etot = -17.2548510196579 +111000 ekin = 2.55274947911868 | erot = 1.93351998444029 | epot = -21.642435954763 | etot = -17.156166491204 +112000 ekin = 2.57554816024182 | erot = 1.85965001180021 | epot = -21.6646307305488 | etot = -17.2294325585067 +113000 ekin = 2.58422184546739 | erot = 1.6661260659466 | epot = -21.6825320885557 | etot = -17.4321841771417 +114000 ekin = 2.63767451071981 | erot = 1.86651684228484 | epot = -21.6875711888382 | etot = -17.1833798358336 +115000 ekin = 2.5585086928899 | erot = 1.95479352013927 | epot = -21.7088690741548 | etot = -17.1955668611256 +116000 ekin = 2.59960484914044 | erot = 1.98515359639084 | epot = -21.7399246709688 | etot = -17.1551662254375 +117000 ekin = 2.6364636182488 | erot = 2.15859263253909 | epot = -21.7790865447413 | etot = -16.9840302939534 +118000 ekin = 2.6722112411998 | erot = 2.07625368130402 | epot = -21.8132075002145 | etot = -17.0647425777106 +119000 ekin = 2.91085167645328 | erot = 1.98818490836518 | epot = -21.8375717289924 | etot = -16.9385351441739 +120000 ekin = 2.93975077154823 | erot = 1.99854094901667 | epot = -21.8494362428875 | etot = -16.9111445223226 +121000 ekin = 3.04700503953787 | erot = 2.15191677123412 | epot = -21.85263610441 | etot = -16.653714293638 +122000 ekin = 3.0197006563079 | erot = 2.09092735340922 | epot = -21.8688746811129 | etot = -16.7582466713958 +123000 ekin = 2.99309396144643 | erot = 1.76972828030718 | epot = -21.9045561644835 | etot = -17.1417339227298 +124000 ekin = 2.96321679602905 | erot = 1.96464026140175 | epot = -21.9325819137335 | etot = -17.0047248563027 +125000 ekin = 2.98312575423872 | erot = 1.64592593754597 | epot = -21.9608904634475 | etot = -17.3318387716628 +126000 ekin = 2.99097949215567 | erot = 1.75618745760138 | epot = -22.0097583194279 | etot = -17.2625913696708 +127000 ekin = 3.04267424627591 | erot = 1.84781956231799 | epot = -22.0474977427292 | etot = -17.1570039341353 +128000 ekin = 3.16299477926054 | erot = 1.98570527937052 | epot = -22.1060844986598 | etot = -16.9573844400288 +129000 ekin = 3.16426696344662 | erot = 1.97746137640529 | epot = -22.1606468653278 | etot = -17.0189185254759 +130000 ekin = 3.09082575381663 | erot = 2.52059065203424 | epot = -22.1892702662504 | etot = -16.5778538603996 +131000 ekin = 3.04363359740035 | erot = 2.76905383223607 | epot = -22.1941284862536 | etot = -16.3814410566171 +132000 ekin = 2.97799249868517 | erot = 2.58737442779091 | epot = -22.1487985926417 | etot = -16.5834316661656 +133000 ekin = 3.03410219436437 | erot = 2.49151216637022 | epot = -22.0390476094716 | etot = -16.513433248737 +134000 ekin = 2.97290518441653 | erot = 2.27955980622729 | epot = -21.9043568760918 | etot = -16.651891885448 +135000 ekin = 2.97882125899841 | erot = 2.36516672946397 | epot = -21.7588924186335 | etot = -16.4149044301711 +136000 ekin = 3.06225054874153 | erot = 1.85004987442537 | epot = -21.6100365266532 | etot = -16.6977361034863 +137000 ekin = 3.03515949013354 | erot = 1.79133727158631 | epot = -21.4833056014438 | etot = -16.656808839724 +138000 ekin = 2.98359986843838 | erot = 1.95427111240585 | epot = -21.3692118882269 | etot = -16.4313409073826 +139000 ekin = 3.00638756764291 | erot = 1.75390651791807 | epot = -21.2771971161583 | etot = -16.5169030305973 +140000 ekin = 2.9830152029022 | erot = 1.55293456918097 | epot = -21.208258242256 | etot = -16.6723084701728 +141000 ekin = 2.87341969180383 | erot = 1.62004287774022 | epot = -21.1593315472343 | etot = -16.6658689776903 +142000 ekin = 2.77198594269117 | erot = 1.82883994332524 | epot = -21.1253786225535 | etot = -16.5245527365371 +143000 ekin = 2.66544385214397 | erot = 1.70763016025297 | epot = -21.1194742186356 | etot = -16.7464002062387 +144000 ekin = 2.64364564452786 | erot = 2.02089778883362 | epot = -21.1558312252309 | etot = -16.4912877918694 +145000 ekin = 2.58320561695141 | erot = 2.33928617610571 | epot = -21.1972194246108 | etot = -16.2747276315537 +146000 ekin = 2.59582465617015 | erot = 2.39139100798266 | epot = -21.2181779484861 | etot = -16.2309622843333 +147000 ekin = 2.57433616776254 | erot = 2.62068830532513 | epot = -21.2035776919779 | etot = -16.0085532188902 +148000 ekin = 2.66661322554079 | erot = 2.64858494989764 | epot = -21.1567312792461 | etot = -15.8415331038077 +149000 ekin = 2.60767807433569 | erot = 2.2443534552845 | epot = -21.1005834026185 | etot = -16.2485518729983 +150000 ekin = 2.54139526377891 | erot = 2.28883985685592 | epot = -21.0349331020296 | etot = -16.2046979813948 +151000 ekin = 2.54322194136655 | erot = 2.35864839828535 | epot = -20.9724639116438 | etot = -16.0705935719919 +152000 ekin = 2.56796491103015 | erot = 2.43023333349196 | epot = -20.9157846601099 | etot = -15.9175864155878 +153000 ekin = 2.51372807626571 | erot = 2.39277188889786 | epot = -20.8708281017582 | etot = -15.9643281365947 +154000 ekin = 2.56425050300777 | erot = 2.55681269376796 | epot = -20.820806189713 | etot = -15.6997429929373 +155000 ekin = 2.54836883214872 | erot = 2.77382882086449 | epot = -20.7512322840952 | etot = -15.4290346310819 +156000 ekin = 2.5043034111557 | erot = 2.84536424459339 | epot = -20.6831823234817 | etot = -15.3335146677326 +157000 ekin = 2.50400336317658 | erot = 2.74300988092659 | epot = -20.6024983277711 | etot = -15.3554850836679 +158000 ekin = 2.46635677816755 | erot = 2.72725266952939 | epot = -20.3927742179106 | etot = -15.1991647702137 +159000 ekin = 2.41243392896904 | erot = 2.89017327284231 | epot = -20.3716899613966 | etot = -15.0690827595852 +160000 ekin = 2.44543789794343 | erot = 2.94805496717105 | epot = -20.5757394278764 | etot = -15.182246562762 +161000 ekin = 2.48584882392462 | erot = 3.0855000004303 | epot = -20.7243276115621 | etot = -15.1529787872072 +162000 ekin = 2.63092470794179 | erot = 2.84912777185641 | epot = -20.8061639431944 | etot = -15.3261114633962 +163000 ekin = 2.72019716465019 | erot = 2.95674331723606 | epot = -20.9203905101816 | etot = -15.2434500282953 +164000 ekin = 2.85144745755518 | erot = 2.79837544407189 | epot = -21.059920844175 | etot = -15.4100979425479 +165000 ekin = 3.01926698163447 | erot = 2.57598017599233 | epot = -21.2160748663888 | etot = -15.620827708762 +166000 ekin = 3.1597503290263 | erot = 2.53424140536847 | epot = -21.3722197077627 | etot = -15.6782279733679 +167000 ekin = 3.28010263683416 | erot = 2.66118639042397 | epot = -21.5168932797697 | etot = -15.5756042525116 +168000 ekin = 3.30088936113466 | erot = 2.65708015641673 | epot = -21.6596207437233 | etot = -15.7016512261719 +169000 ekin = 3.47029246215385 | erot = 2.25395751697306 | epot = -21.7742578136394 | etot = -16.0500078345125 +170000 ekin = 3.70050747267222 | erot = 2.16365167905449 | epot = -21.874839145911 | etot = -16.0106799941843 +171000 ekin = 3.84839140735084 | erot = 1.87628165448692 | epot = -21.9555399182122 | etot = -16.2308668563745 +172000 ekin = 3.95026415662096 | erot = 1.96481352720162 | epot = -21.9987319268215 | etot = -16.083654242999 +173000 ekin = 3.92397418949733 | erot = 2.14024865545683 | epot = -21.9962461659819 | etot = -15.9320233210278 +174000 ekin = 3.91787773957974 | erot = 2.15382550531679 | epot = -21.9649412516534 | etot = -15.8932380067568 +175000 ekin = 3.92478898493237 | erot = 1.81413864863455 | epot = -21.8860588210322 | etot = -16.1471311874653 +176000 ekin = 3.61843418337274 | erot = 1.68410090365154 | epot = -21.786103239384 | etot = -16.4835681523598 +177000 ekin = 3.4377743722168 | erot = 1.50869914434537 | epot = -21.6530103766415 | etot = -16.7065368600793 +178000 ekin = 3.29404805426692 | erot = 1.54702143204467 | epot = -21.5151124491373 | etot = -16.6740429628257 +179000 ekin = 3.15559273998204 | erot = 1.8346142003624 | epot = -21.384626452117 | etot = -16.3944195117726 +180000 ekin = 3.11144262168977 | erot = 1.96187195470704 | epot = -21.2631791815958 | etot = -16.1898646051989 +181000 ekin = 2.86058839708627 | erot = 1.9791666278232 | epot = -21.1736204719048 | etot = -16.3338654469954 +182000 ekin = 2.73358163055365 | erot = 2.08235166110568 | epot = -21.1163854347032 | etot = -16.3004521430439 +183000 ekin = 2.78667823921493 | erot = 2.14955927554272 | epot = -21.0704997912635 | etot = -16.1342622765058 +184000 ekin = 2.74700284417942 | erot = 2.17568363892107 | epot = -21.0417241927554 | etot = -16.1190377096549 +185000 ekin = 2.712067005484 | erot = 2.43154766133345 | epot = -21.0534073134643 | etot = -15.9097926466468 +186000 ekin = 2.70473969876207 | erot = 2.54763882184431 | epot = -21.0771037789773 | etot = -15.824725258371 +187000 ekin = 2.69011328843059 | erot = 2.42677059090821 | epot = -21.1334063747327 | etot = -16.0165224953939 +188000 ekin = 2.63139574425883 | erot = 2.47663409366879 | epot = -21.2056416357497 | etot = -16.0976117978221 +189000 ekin = 2.52625691649438 | erot = 2.3681103054878 | epot = -21.2763445168884 | etot = -16.3819772949062 +190000 ekin = 2.55070314102265 | erot = 2.46381370096641 | epot = -21.3751397733681 | etot = -16.3606229313791 +191000 ekin = 2.62917079754897 | erot = 2.67833301813009 | epot = -21.4532628428639 | etot = -16.1457590271848 +192000 ekin = 2.58870583923174 | erot = 3.04288815538934 | epot = -21.5216329873862 | etot = -15.8900389927651 +193000 ekin = 2.57473296407416 | erot = 2.98273386984072 | epot = -21.5752070232355 | etot = -16.0177401893206 +194000 ekin = 2.55188197567089 | erot = 3.53664565918029 | epot = -21.6029115846235 | etot = -15.5143839497724 +195000 ekin = 2.37005947654562 | erot = 3.88569194357622 | epot = -21.5199791042825 | etot = -15.2642276841606 +196000 ekin = 2.24643312652479 | erot = 3.89236383309536 | epot = -21.4290282307872 | etot = -15.2902312711671 +197000 ekin = 2.08212744149216 | erot = 3.73392747991452 | epot = -21.3909391389937 | etot = -15.574884217587 +198000 ekin = 1.99546802101167 | erot = 3.31869767813097 | epot = -21.3106385880562 | etot = -15.9964728889136 +199000 ekin = 1.88808259694768 | erot = 3.05651027418434 | epot = -21.1932358978994 | etot = -16.2486430267674 +200000 ekin = 1.86182600189617 | erot = 3.12152068869519 | epot = -21.1112046099847 | etot = -16.1278579193933 +201000 ekin = 1.97052135402485 | erot = 2.56337970690564 | epot = -21.081815037023 | etot = -16.5479139760925 +202000 ekin = 1.96444489641647 | erot = 2.52188298721408 | epot = -21.0909969362213 | etot = -16.6046690525908 +203000 ekin = 2.02727163636658 | erot = 2.40435818767024 | epot = -21.1422876293972 | etot = -16.7106578053604 +204000 ekin = 2.08583315864169 | erot = 2.40223613667985 | epot = -21.2224635405408 | etot = -16.7343942452193 +205000 ekin = 2.20775264966635 | erot = 2.45569503503489 | epot = -21.3216506287514 | etot = -16.6582029440502 +206000 ekin = 2.3252558114439 | erot = 2.44338569524396 | epot = -21.4263895154157 | etot = -16.6577480087279 +207000 ekin = 2.39884741653078 | erot = 2.19219588140548 | epot = -21.5586341308419 | etot = -16.9675908329056 +208000 ekin = 2.5417416133168 | erot = 2.02043086482636 | epot = -21.7018700931409 | etot = -17.1396976149977 +209000 ekin = 2.6346029520279 | erot = 2.00847282239021 | epot = -21.8765502984946 | etot = -17.2334745240765 +210000 ekin = 2.81803535020483 | erot = 2.15132327942401 | epot = -22.0655129469125 | etot = -17.0961543172836 +211000 ekin = 2.8544966933983 | erot = 2.00032723609073 | epot = -22.2569212397587 | etot = -17.4020973102697 +212000 ekin = 2.93298840099946 | erot = 2.18896574432203 | epot = -22.4295331026806 | etot = -17.3075789573591 +213000 ekin = 3.04393339596819 | erot = 2.16674803090435 | epot = -22.5865045861155 | etot = -17.3758231592429 +214000 ekin = 3.17687786434383 | erot = 1.9320460445079 | epot = -22.7049386266082 | etot = -17.5960147177564 +215000 ekin = 3.23140803215869 | erot = 1.91093387521923 | epot = -22.7702150399471 | etot = -17.6278731325691 +216000 ekin = 3.23213410508674 | erot = 1.8676094366755 | epot = -22.8077327389954 | etot = -17.7079891972331 +217000 ekin = 3.29951241617981 | erot = 1.99642477225938 | epot = -22.8230103446112 | etot = -17.527073156172 +218000 ekin = 3.29737584458636 | erot = 1.96274603890197 | epot = -22.8136249789525 | etot = -17.5535030954641 +219000 ekin = 3.23565881897553 | erot = 1.94555976805409 | epot = -22.8103460409254 | etot = -17.6291274538957 +220000 ekin = 3.19248478951652 | erot = 2.1454971546158 | epot = -22.8135403395689 | etot = -17.4755583954366 +221000 ekin = 3.08489658572221 | erot = 2.35182511982451 | epot = -22.7936924594888 | etot = -17.356970753942 +222000 ekin = 2.98911659742777 | erot = 2.24286093437231 | epot = -22.7593104849619 | etot = -17.5273329531618 +223000 ekin = 2.94028114747171 | erot = 2.45179850593564 | epot = -22.7094689680864 | etot = -17.3173893146791 +224000 ekin = 2.86327223103166 | erot = 2.45496570504129 | epot = -22.6840408073417 | etot = -17.3658028712688 +225000 ekin = 2.86217589447829 | erot = 2.64576978314411 | epot = -22.7094594459947 | etot = -17.2015137683723 +226000 ekin = 2.81421750908743 | erot = 2.65054275980961 | epot = -22.7920788909684 | etot = -17.3273186220714 +227000 ekin = 2.76125022534676 | erot = 2.53291854231086 | epot = -22.8714022097527 | etot = -17.577233442095 +228000 ekin = 2.78877138535049 | erot = 2.36581554391 | epot = -22.9403431333365 | etot = -17.785756204076 +229000 ekin = 2.72891406599667 | erot = 2.3676118984917 | epot = -22.9752057147158 | etot = -17.8786797502274 +230000 ekin = 2.73218055588349 | erot = 2.27179336612923 | epot = -22.9619591335888 | etot = -17.957985211576 +231000 ekin = 2.78238304060714 | erot = 2.56004300399624 | epot = -22.9015540669898 | etot = -17.5591280223865 +232000 ekin = 2.70574670734534 | erot = 2.20917728909302 | epot = -22.8024125768836 | etot = -17.8874885804452 +233000 ekin = 2.64840920464742 | erot = 2.10191715204331 | epot = -22.6817951010109 | etot = -17.9314687443202 +234000 ekin = 2.61941879874168 | erot = 1.89218225093232 | epot = -22.5506641543627 | etot = -18.0390631046887 +235000 ekin = 2.59340202709224 | erot = 1.81296941612975 | epot = -22.4559841307523 | etot = -18.0496126875303 +236000 ekin = 2.51387645324668 | erot = 1.87601834806579 | epot = -22.36020773658 | etot = -17.9703129352675 +237000 ekin = 2.4869760697627 | erot = 1.8872559853993 | epot = -22.2423219253942 | etot = -17.8680898702322 +238000 ekin = 2.4616064489039 | erot = 1.69677740799995 | epot = -22.1532316635744 | etot = -17.9948478066705 +239000 ekin = 2.42201063037747 | erot = 1.70150164392287 | epot = -22.1281108141978 | etot = -18.0045985398974 +240000 ekin = 2.37084323379687 | erot = 1.98736224075235 | epot = -22.1423976045622 | etot = -17.784192130013 +241000 ekin = 2.37738836540319 | erot = 2.31585984211781 | epot = -22.1830534944815 | etot = -17.4898052869605 +242000 ekin = 2.41676243464678 | erot = 2.5528014206363 | epot = -22.1811996624362 | etot = -17.2116358071531 +243000 ekin = 2.33148792530051 | erot = 2.76551405431946 | epot = -22.1959816056367 | etot = -17.0989796260167 +244000 ekin = 2.38360456402087 | erot = 2.74375775378546 | epot = -22.353019513755 | etot = -17.2256571959487 +245000 ekin = 2.33752620010189 | erot = 2.63541001293064 | epot = -22.5037249285206 | etot = -17.5307887154881 +246000 ekin = 2.25775984192156 | erot = 2.49145900746122 | epot = -22.6039669429677 | etot = -17.8547480935849 +247000 ekin = 2.20328096321354 | erot = 2.51295988229199 | epot = -22.6897860502885 | etot = -17.9735452047829 +248000 ekin = 2.112151354048 | erot = 2.38179652938581 | epot = -22.7654961945531 | etot = -18.2715483111193 +249000 ekin = 2.18103243553702 | erot = 2.12199506651665 | epot = -22.8086866218617 | etot = -18.5056591198081 +250000 ekin = 2.00642865007494 | erot = 2.13785268765967 | epot = -22.7981127674597 | etot = -18.6538314297251 +251000 ekin = 2.0081090206784 | erot = 2.15377771615681 | epot = -22.7541924896506 | etot = -18.5923057528154 +252000 ekin = 2.04967696381093 | erot = 2.10564030292912 | epot = -22.7175683002137 | etot = -18.5622510334737 +253000 ekin = 1.97178429049464 | erot = 2.56395759404191 | epot = -22.6833423138514 | etot = -18.1476004293148 +254000 ekin = 1.89998560000744 | erot = 2.7644634625402 | epot = -22.652550739486 | etot = -17.9881016769384 +255000 ekin = 1.92358808504085 | erot = 2.82321806552328 | epot = -22.6339519254389 | etot = -17.8871457748748 +256000 ekin = 1.8853792482747 | erot = 2.39478935532051 | epot = -22.6063238269834 | etot = -18.3261552233881 +257000 ekin = 1.89017314858323 | erot = 2.47354789341061 | epot = -22.5844642699129 | etot = -18.2207432279191 +258000 ekin = 2.03347535796375 | erot = 2.0639166704276 | epot = -22.5636266221106 | etot = -18.4662345937192 +259000 ekin = 2.08170419875297 | erot = 1.98311262235166 | epot = -22.5595893965745 | etot = -18.4947725754699 +260000 ekin = 2.15465691022489 | erot = 1.92890944309583 | epot = -22.5702550804875 | etot = -18.4866887271667 +261000 ekin = 2.1852590897665 | erot = 1.8066804326572 | epot = -22.5996038556691 | etot = -18.6076643332454 +262000 ekin = 2.39558735865994 | erot = 1.7710110990717 | epot = -22.6433503794796 | etot = -18.476751921748 +263000 ekin = 2.51566381481672 | erot = 1.74502710268517 | epot = -22.7083481578159 | etot = -18.4476572403141 +264000 ekin = 2.61294097754958 | erot = 1.72004349105586 | epot = -22.787072777371 | etot = -18.4540883087656 +265000 ekin = 2.69751103648208 | erot = 1.73596878524942 | epot = -22.876113825704 | etot = -18.4426340039725 +266000 ekin = 2.73317595749248 | erot = 2.00190945895265 | epot = -22.9815854287863 | etot = -18.2465000123412 +267000 ekin = 2.88777944401859 | erot = 2.03601396733327 | epot = -23.0741467375983 | etot = -18.1503533262464 +268000 ekin = 2.88428212564758 | erot = 2.3921025045242 | epot = -23.1701763705664 | etot = -17.8937917403946 +269000 ekin = 2.94011387527547 | erot = 2.47436168171159 | epot = -23.2463195301015 | etot = -17.8318439731145 +270000 ekin = 3.16907204765191 | erot = 2.44558507843772 | epot = -23.2623613561913 | etot = -17.6477042301017 +271000 ekin = 3.2333039510143 | erot = 2.22964844922974 | epot = -23.2347949376338 | etot = -17.7718425373897 +272000 ekin = 3.25903447141499 | erot = 2.27670268800702 | epot = -23.1776976604854 | etot = -17.6419605010634 +273000 ekin = 3.33084558602097 | erot = 2.3473050651847 | epot = -23.0897292017611 | etot = -17.4115785505554 +274000 ekin = 3.13365175221761 | erot = 2.28906991347369 | epot = -22.970791629232 | etot = -17.5480699635407 +275000 ekin = 3.06411601298027 | erot = 2.05657284383682 | epot = -22.8411592683854 | etot = -17.7204704115683 +276000 ekin = 3.00284299412667 | erot = 2.41503398631213 | epot = -22.700654835852 | etot = -17.2827778554132 +277000 ekin = 2.88988536066512 | erot = 2.56679455786094 | epot = -22.5600288715065 | etot = -17.1033489529804 +278000 ekin = 2.79983988341306 | erot = 2.44718365696948 | epot = -22.4337020220078 | etot = -17.1866784816253 +279000 ekin = 2.62025699943799 | erot = 2.34403355986971 | epot = -22.3217153271847 | etot = -17.357424767877 +280000 ekin = 2.65113378626865 | erot = 2.38211104337876 | epot = -22.213634072387 | etot = -17.1803892427396 +281000 ekin = 2.56011045257063 | erot = 2.14040765533489 | epot = -22.1467069298696 | etot = -17.446188821964 +282000 ekin = 2.46937295979428 | erot = 2.08425434958577 | epot = -22.1062066499082 | etot = -17.5525793405281 +283000 ekin = 2.44420819687498 | erot = 1.8804700883888 | epot = -22.0682236162877 | etot = -17.7435453310239 +284000 ekin = 2.39435456980274 | erot = 2.14903249361609 | epot = -22.0569027581283 | etot = -17.5135156947095 +285000 ekin = 2.3970352250904 | erot = 2.56964603915915 | epot = -22.0888499478263 | etot = -17.1221686835767 +286000 ekin = 2.43717149651532 | erot = 2.84247600307286 | epot = -22.1412346796126 | etot = -16.8615871800244 +287000 ekin = 2.31664233692346 | erot = 2.84674819551605 | epot = -22.1861386782241 | etot = -17.0227481457846 +288000 ekin = 2.26607109317387 | erot = 3.21299363478899 | epot = -22.2378784042867 | etot = -16.7588136763238 +289000 ekin = 2.29584076229561 | erot = 3.11249259323246 | epot = -22.2883115241199 | etot = -16.8799781685918 +290000 ekin = 2.2304990206166 | erot = 2.87013105088144 | epot = -22.31434015915 | etot = -17.213710087652 +291000 ekin = 2.21755828984435 | erot = 2.71274244030915 | epot = -22.3410646593233 | etot = -17.4107639291698 +292000 ekin = 2.21317296232834 | erot = 2.69582872791191 | epot = -22.3827626255974 | etot = -17.4737609353572 +293000 ekin = 2.23081262903896 | erot = 2.60204748252234 | epot = -22.4352222519782 | etot = -17.6023621404169 +294000 ekin = 2.26311425147052 | erot = 3.03410577179159 | epot = -22.4683441344049 | etot = -17.1711241111428 +295000 ekin = 2.28122075778682 | erot = 2.86887170599451 | epot = -22.4906039301706 | etot = -17.3405114663893 +296000 ekin = 2.26383415546926 | erot = 2.78467774936793 | epot = -22.512972044678 | etot = -17.4644601398408 +297000 ekin = 2.33825045335869 | erot = 2.98513561564364 | epot = -22.5191664894368 | etot = -17.1957804204345 +298000 ekin = 2.37786827340735 | erot = 2.85984647447046 | epot = -22.5058515980851 | etot = -17.2681368502073 +299000 ekin = 2.32052037098622 | erot = 2.69480633982959 | epot = -22.4889248916846 | etot = -17.4735981808687 +300000 ekin = 2.30322327761376 | erot = 2.72939848613209 | epot = -22.4591258064481 | etot = -17.4265040427023 +301000 ekin = 2.29995331731943 | erot = 2.60777958693866 | epot = -22.4102468930605 | etot = -17.5025139888024 +302000 ekin = 2.31454372799491 | erot = 2.67298740529848 | epot = -22.3501115787882 | etot = -17.3625804454948 +303000 ekin = 2.4057635722635 | erot = 2.41520690493577 | epot = -22.2832063980303 | etot = -17.462235920831 +304000 ekin = 2.35524162584705 | erot = 2.05432603043707 | epot = -22.2112103404667 | etot = -17.8016426841826 +305000 ekin = 2.30537591124517 | erot = 1.98023337779149 | epot = -22.1649123466498 | etot = -17.8793030576131 +306000 ekin = 2.32478727778818 | erot = 1.89519445956124 | epot = -22.1442852026109 | etot = -17.9243034652615 +307000 ekin = 2.41423624130649 | erot = 1.91431870573664 | epot = -22.1548620004649 | etot = -17.8263070534218 +308000 ekin = 2.44675290257478 | erot = 2.31210197406256 | epot = -22.2055558309842 | etot = -17.4467009543468 +309000 ekin = 2.45673374131202 | erot = 2.16129470434173 | epot = -22.2742892000821 | etot = -17.6562607544283 +310000 ekin = 2.5816765776324 | erot = 2.43846943017109 | epot = -22.3327423848022 | etot = -17.3125963769987 +311000 ekin = 2.52939449011354 | erot = 2.76106281819526 | epot = -22.3705094869032 | etot = -17.0800521785944 +312000 ekin = 2.52610661112941 | erot = 2.98071467503416 | epot = -22.3866205343173 | etot = -16.8797992481538 +313000 ekin = 2.5240567165484 | erot = 2.80377255965813 | epot = -22.4049055192049 | etot = -17.0770762429984 +314000 ekin = 2.65040443727043 | erot = 2.69900889453188 | epot = -22.3876700619111 | etot = -17.0382567301088 +315000 ekin = 2.74472815623847 | erot = 2.66340996418727 | epot = -22.3592685134388 | etot = -16.951130393013 +316000 ekin = 2.83270806183616 | erot = 2.68346240186182 | epot = -22.3041387808832 | etot = -16.7879683171853 +317000 ekin = 2.98267354986778 | erot = 2.49998910531225 | epot = -22.2250773416349 | etot = -16.7424146864549 +318000 ekin = 2.95159865011169 | erot = 2.46437525131283 | epot = -22.1605195993974 | etot = -16.7445456979729 +319000 ekin = 2.99544196834471 | erot = 2.37119170515196 | epot = -22.0922506560637 | etot = -16.725616982567 +320000 ekin = 3.12952415968031 | erot = 2.25302267428102 | epot = -22.019340284027 | etot = -16.6367934500656 +321000 ekin = 3.21184303812898 | erot = 2.03139593747186 | epot = -21.9793920725112 | etot = -16.7361530969103 +322000 ekin = 3.32994096856484 | erot = 2.34110893676891 | epot = -21.976319235169 | etot = -16.3052693298352 +323000 ekin = 3.41272790799865 | erot = 2.43631206380514 | epot = -22.0140123354235 | etot = -16.1649723636197 +324000 ekin = 3.63714885281349 | erot = 1.9465124176185 | epot = -22.088735892451 | etot = -16.505074622019 +325000 ekin = 3.64965023300834 | erot = 1.83594979903828 | epot = -22.1597106232423 | etot = -16.6741105911957 +326000 ekin = 3.7993132385246 | erot = 1.60564512903883 | epot = -22.2163199739485 | etot = -16.8113616063851 +327000 ekin = 3.85106864316211 | erot = 1.8544923321543 | epot = -22.2856422481554 | etot = -16.580081272839 +328000 ekin = 3.95505458701141 | erot = 2.12895030409338 | epot = -22.341235179965 | etot = -16.2572302888602 +329000 ekin = 3.96560356728828 | erot = 2.06124066393336 | epot = -22.375273676819 | etot = -16.3484294455974 +330000 ekin = 4.00004269284724 | erot = 2.01808790805426 | epot = -22.3671090028812 | etot = -16.3489784019797 +331000 ekin = 3.84205146855943 | erot = 1.89603876125699 | epot = -22.3128837484492 | etot = -16.5747935186328 +332000 ekin = 3.66184063362548 | erot = 2.39349988256136 | epot = -22.2576238736144 | etot = -16.2022833574276 +333000 ekin = 3.52628969259455 | erot = 2.20415103930269 | epot = -22.1847867511304 | etot = -16.4543460192331 +334000 ekin = 3.34377798013965 | erot = 2.36266544381965 | epot = -22.1376045131508 | etot = -16.4311610891915 +335000 ekin = 3.23745330446362 | erot = 2.56905504387933 | epot = -22.1187474004991 | etot = -16.3122390521561 +336000 ekin = 3.15020041660115 | erot = 2.76447823600581 | epot = -22.1164491906302 | etot = -16.2017705380232 +337000 ekin = 2.95647753165982 | erot = 3.39203265805591 | epot = -22.1578850568604 | etot = -15.8093748671446 +338000 ekin = 2.77494351817588 | erot = 3.38702940437079 | epot = -22.202861556972 | etot = -16.0408886344253 +339000 ekin = 2.56974792274944 | erot = 3.36393768621199 | epot = -22.2430377961408 | etot = -16.3093521871794 +340000 ekin = 2.54624997134431 | erot = 3.18838906080724 | epot = -22.2696997292611 | etot = -16.5350606971095 +341000 ekin = 2.46680453333096 | erot = 3.23666697035712 | epot = -22.271405486473 | etot = -16.5679339827849 +342000 ekin = 2.41970796988162 | erot = 3.10075257077717 | epot = -22.2625825508722 | etot = -16.7421220102134 +343000 ekin = 2.39134830962091 | erot = 2.99983011061325 | epot = -22.2626100438684 | etot = -16.8714316236342 +344000 ekin = 2.40072375544811 | erot = 3.07461576439211 | epot = -22.2332671874545 | etot = -16.7579276676142 +345000 ekin = 2.47818664391048 | erot = 3.0187860642563 | epot = -22.1765310886862 | etot = -16.6795583805194 +346000 ekin = 2.42322520039712 | erot = 2.49312120205076 | epot = -22.1072756725382 | etot = -17.1909292700903 +347000 ekin = 2.50705041682171 | erot = 2.52533205787059 | epot = -22.0719334103213 | etot = -17.039550935629 +348000 ekin = 2.50030685159476 | erot = 2.73825503551145 | epot = -22.0270671882385 | etot = -16.7885053011322 +349000 ekin = 2.60963103698133 | erot = 2.79443949989289 | epot = -21.9800449664782 | etot = -16.5759744296039 +350000 ekin = 2.57407872164997 | erot = 2.87849433187397 | epot = -21.9210551857959 | etot = -16.468482132272 +351000 ekin = 2.60900955228816 | erot = 2.47335254246402 | epot = -21.9029016387205 | etot = -16.8205395439683 +352000 ekin = 2.68632626573676 | erot = 2.16861659144726 | epot = -21.8932933758344 | etot = -17.0383505186504 +353000 ekin = 2.72806527094876 | erot = 2.21631476958766 | epot = -21.8949965382939 | etot = -16.9506164977575 +354000 ekin = 2.80926057411823 | erot = 2.29356292718614 | epot = -21.9255698630403 | etot = -16.8227463617359 +355000 ekin = 2.82955370341647 | erot = 2.23886374167674 | epot = -21.9739881370165 | etot = -16.9055706919233 +356000 ekin = 2.95318161283299 | erot = 2.20593846887508 | epot = -22.0378541396093 | etot = -16.8787340579012 +357000 ekin = 3.00516452100415 | erot = 2.39489434202976 | epot = -22.1045635884317 | etot = -16.7045047253978 +358000 ekin = 3.14013674094321 | erot = 2.81648025756423 | epot = -22.1940030034415 | etot = -16.237386004934 +359000 ekin = 3.24895307320306 | erot = 2.89756918684587 | epot = -22.2894356246554 | etot = -16.1429133646064 +360000 ekin = 3.29499898808933 | erot = 2.69446962924553 | epot = -22.3827935430047 | etot = -16.3933249256699 +361000 ekin = 3.31826252960456 | erot = 3.08121996997187 | epot = -22.3855376265962 | etot = -15.9860551270198 +362000 ekin = 3.22507380499808 | erot = 2.94494755594777 | epot = -22.1939077776813 | etot = -16.0238864167354 +363000 ekin = 3.31998300083524 | erot = 2.84571871387882 | epot = -22.1418339144076 | etot = -15.9761321996935 +364000 ekin = 3.46138826026378 | erot = 3.17267347021667 | epot = -22.2920001905049 | etot = -15.6579384600244 +365000 ekin = 3.41685157685527 | erot = 2.95127990795427 | epot = -22.240326005598 | etot = -15.8721945207884 +366000 ekin = 3.28889153330098 | erot = 2.68298751094302 | epot = -22.0917647614673 | etot = -16.1198857172233 +367000 ekin = 3.13188043782657 | erot = 2.32272362557592 | epot = -21.9624425815386 | etot = -16.5078385181361 +368000 ekin = 3.05635233611774 | erot = 2.49179825174051 | epot = -21.8924084965111 | etot = -16.3442579086529 +369000 ekin = 2.97979500179328 | erot = 2.09677594955095 | epot = -21.8535972953631 | etot = -16.7770263440189 +370000 ekin = 2.86265256457595 | erot = 2.27837964431441 | epot = -21.8636474872574 | etot = -16.722615278367 +371000 ekin = 2.81676366518709 | erot = 2.51005420363845 | epot = -21.8612307947661 | etot = -16.5344129259405 +372000 ekin = 2.89056214524116 | erot = 2.17924443857032 | epot = -21.8465926809761 | etot = -16.7767860971646 +373000 ekin = 2.8570298581495 | erot = 2.22607119851538 | epot = -21.8235708010655 | etot = -16.7404697444006 +374000 ekin = 2.69116258554315 | erot = 2.54595039875577 | epot = -21.8020300439681 | etot = -16.5649170596691 +375000 ekin = 2.65367735566843 | erot = 2.84882366948601 | epot = -21.7972775666776 | etot = -16.2947765415232 +376000 ekin = 2.56541501683978 | erot = 3.15381436306351 | epot = -21.8007765642059 | etot = -16.0815471843026 +377000 ekin = 2.51617117441618 | erot = 3.3450646638395 | epot = -21.7780898056687 | etot = -15.916853967413 +378000 ekin = 2.39886036582813 | erot = 3.14706842402749 | epot = -21.7384304892538 | etot = -16.1925016993981 +379000 ekin = 2.3253462058556 | erot = 2.94670382278376 | epot = -21.6782824657577 | etot = -16.4062324371184 +380000 ekin = 2.15266052745908 | erot = 3.4385709524693 | epot = -21.603829406221 | etot = -16.0125979262926 +381000 ekin = 2.13714114193707 | erot = 3.11249169114188 | epot = -21.5367992698036 | etot = -16.2871664367247 +382000 ekin = 2.05496339747556 | erot = 3.44869747601523 | epot = -21.4764708985237 | etot = -15.972810025033 +383000 ekin = 2.03169806552601 | erot = 3.38753191033151 | epot = -21.41731912066 | etot = -15.9980891448025 +384000 ekin = 1.95364649921204 | erot = 3.35746983585197 | epot = -21.3597667304036 | etot = -16.0486503953396 +385000 ekin = 1.95295295831859 | erot = 3.20059142565729 | epot = -21.3242192311683 | etot = -16.1706748471924 +386000 ekin = 2.03545459887455 | erot = 2.63337254678625 | epot = -21.3197581171679 | etot = -16.6509309715071 +387000 ekin = 2.08744315207298 | erot = 2.67515413940826 | epot = -21.3219783057837 | etot = -16.5593810143025 +388000 ekin = 2.10460844408253 | erot = 2.63750027619805 | epot = -21.3534873824529 | etot = -16.6113786621724 +389000 ekin = 2.13617356385001 | erot = 2.49874264909327 | epot = -21.4010667143315 | etot = -16.7661505013883 +390000 ekin = 2.21418863130718 | erot = 2.61354129728496 | epot = -21.4597800849526 | etot = -16.6320501563605 +391000 ekin = 2.30830767897515 | erot = 2.4215513814523 | epot = -21.5215483863442 | etot = -16.7916893259168 +392000 ekin = 2.30978428581522 | erot = 2.27021166226852 | epot = -21.5693953401794 | etot = -16.9893993920957 +393000 ekin = 2.43507049787362 | erot = 2.19525621528512 | epot = -21.6165022301659 | etot = -16.9861755170072 +394000 ekin = 2.48175272100126 | erot = 1.97403757750059 | epot = -21.643553588929 | etot = -17.1877632904271 +395000 ekin = 2.57078024352592 | erot = 1.94477022107788 | epot = -21.7032003447496 | etot = -17.1876498801457 +396000 ekin = 2.63856854694597 | erot = 2.15467094485357 | epot = -21.7518329108742 | etot = -16.9585934190747 +397000 ekin = 2.67333204158365 | erot = 2.1041553022136 | epot = -21.787492252614 | etot = -17.0100049088167 +398000 ekin = 2.7165721744556 | erot = 2.27260876442706 | epot = -21.7955669580493 | etot = -16.8063860191666 +399000 ekin = 2.74052903416011 | erot = 1.98188508417864 | epot = -21.7850112801672 | etot = -17.0625971618285 +400000 ekin = 2.72461700644124 | erot = 1.79309630627408 | epot = -21.7479203148977 | etot = -17.2302070021823 +401000 ekin = 2.67821010319074 | erot = 1.80652566016293 | epot = -21.698608702759 | etot = -17.2138729394054 +402000 ekin = 2.66678843641966 | erot = 1.99143851830836 | epot = -21.6166886330482 | etot = -16.9584616783202 +403000 ekin = 2.71498615143731 | erot = 2.00496282624765 | epot = -21.5303765730254 | etot = -16.8104275953404 +404000 ekin = 2.72798047530906 | erot = 1.97802766069345 | epot = -21.4249267789287 | etot = -16.7189186429262 +405000 ekin = 2.65655813266529 | erot = 1.93167942695887 | epot = -21.3111486584607 | etot = -16.7229110988365 +406000 ekin = 2.60702986991693 | erot = 1.76285472093939 | epot = -21.1926812354134 | etot = -16.8227966445571 +407000 ekin = 2.48234362601344 | erot = 1.89687727619143 | epot = -21.0701942151536 | etot = -16.6909733129487 +408000 ekin = 2.49227529739275 | erot = 2.21804348518165 | epot = -20.9209091795071 | etot = -16.2105903969327 +409000 ekin = 2.2814751296365 | erot = 2.33822783370113 | epot = -20.7906871723623 | etot = -16.1709842090246 +410000 ekin = 2.17062635902599 | erot = 2.33410289107624 | epot = -20.7498754299763 | etot = -16.245146179874 +411000 ekin = 2.17272870653954 | erot = 2.21566346266576 | epot = -20.7111946304982 | etot = -16.3228024612929 +412000 ekin = 2.18233973422082 | erot = 1.9503355575729 | epot = -20.6834214582715 | etot = -16.5507461664778 +413000 ekin = 2.30890718881929 | erot = 2.07021554036486 | epot = -20.6873588522823 | etot = -16.3082361230982 +414000 ekin = 2.33564543866434 | erot = 1.99840226970561 | epot = -20.7252533334275 | etot = -16.3912056250575 +415000 ekin = 2.3828428990009 | erot = 2.11597172640877 | epot = -20.8097694536975 | etot = -16.3109548282878 +416000 ekin = 2.4891981967793 | erot = 2.33259772891839 | epot = -20.9508447049435 | etot = -16.1290487792458 +417000 ekin = 2.54526036986856 | erot = 2.55910512686826 | epot = -21.1274289862993 | etot = -16.0230634895625 +418000 ekin = 2.51632809206367 | erot = 2.72037030682998 | epot = -21.2997759305309 | etot = -16.0630775316373 +419000 ekin = 2.67295573593454 | erot = 2.77715355803624 | epot = -21.4556263294562 | etot = -16.0055170354854 +420000 ekin = 2.85018483582368 | erot = 2.31598006691992 | epot = -21.5980960673048 | etot = -16.4319311645612 +421000 ekin = 2.96837524337248 | erot = 2.6268245252954 | epot = -21.7546670845076 | etot = -16.1594673158397 +422000 ekin = 3.19012922154569 | erot = 2.84396098635293 | epot = -21.9215374215569 | etot = -15.8874472136583 +423000 ekin = 3.36893935507836 | erot = 2.63026872290732 | epot = -22.0572951448102 | etot = -16.0580870668246 +424000 ekin = 3.56949208720939 | erot = 2.47035354176304 | epot = -22.1637806318815 | etot = -16.1239350029091 +425000 ekin = 3.74058915148745 | erot = 2.35112257121758 | epot = -22.2380669505815 | etot = -16.1463552278764 +426000 ekin = 3.80317641902157 | erot = 2.35606913247661 | epot = -22.2959429720034 | etot = -16.1366974205052 +427000 ekin = 3.84305942013392 | erot = 2.33548874740528 | epot = -22.3376365509403 | etot = -16.1590883834011 +428000 ekin = 3.83870631322379 | erot = 2.23506863760186 | epot = -22.3684501057751 | etot = -16.2946751549495 +429000 ekin = 3.88817033525596 | erot = 2.49183581120231 | epot = -22.3756888085914 | etot = -15.9956826621331 +430000 ekin = 3.80889051818661 | erot = 2.40484189761628 | epot = -22.3570018637867 | etot = -16.1432694479838 +431000 ekin = 3.77310947248878 | erot = 2.27913524660278 | epot = -22.3205980214877 | etot = -16.2683533023961 +432000 ekin = 3.52274921334608 | erot = 2.24573259199209 | epot = -22.2753655924894 | etot = -16.5068837871512 +433000 ekin = 3.46705236442823 | erot = 2.20376216835521 | epot = -22.2487474226526 | etot = -16.5779328898691 +434000 ekin = 3.3190237946751 | erot = 2.11029295350201 | epot = -22.2098823317896 | etot = -16.7805655836125 +435000 ekin = 3.17487375029747 | erot = 2.50022517053558 | epot = -22.1671631710258 | etot = -16.4920642501928 +436000 ekin = 3.02349956092836 | erot = 2.40764251188797 | epot = -22.1302532198703 | etot = -16.699111147054 +437000 ekin = 2.8274843272161 | erot = 2.14344362630262 | epot = -22.1006119384222 | etot = -17.1296839849035 +438000 ekin = 2.76339787793449 | erot = 2.419050805213 | epot = -22.0957010825607 | etot = -16.9132523994132 +439000 ekin = 2.6719888655247 | erot = 2.59491616836517 | epot = -22.1135007428951 | etot = -16.8465957090052 +440000 ekin = 2.51284986257035 | erot = 2.91174228785256 | epot = -22.1427877988881 | etot = -16.7181956484652 +441000 ekin = 2.50780828634487 | erot = 2.72902768068024 | epot = -22.1697146510927 | etot = -16.9328786840676 +442000 ekin = 2.44873015400876 | erot = 2.74922432089642 | epot = -22.2054533182394 | etot = -17.0074988433342 +443000 ekin = 2.38093647463546 | erot = 2.64154199429497 | epot = -22.2472480992723 | etot = -17.2247696303419 +444000 ekin = 2.3836651928718 | erot = 2.67137923733314 | epot = -22.2750222251913 | etot = -17.2199777949864 +445000 ekin = 2.40684373898638 | erot = 2.59567738953056 | epot = -22.2857281482667 | etot = -17.2832070197498 +446000 ekin = 2.36082009501178 | erot = 2.73001014061349 | epot = -22.2789998471501 | etot = -17.1881696115248 +447000 ekin = 2.36605795906985 | erot = 2.58257112673036 | epot = -22.296084006631 | etot = -17.3474549208308 +448000 ekin = 2.32165762068431 | erot = 2.36145535918737 | epot = -22.3211882050734 | etot = -17.6380752252017 +449000 ekin = 2.44203969267613 | erot = 2.62540304636683 | epot = -22.3026387988317 | etot = -17.2351960597888 +450000 ekin = 2.51099258071366 | erot = 2.64840657329928 | epot = -22.267592439271 | etot = -17.1081932852581 +451000 ekin = 2.50793019457285 | erot = 2.96188202684451 | epot = -22.2417686447217 | etot = -16.7719564233044 +452000 ekin = 2.51543909198851 | erot = 2.97645802250506 | epot = -22.1947639118422 | etot = -16.7028667973486 +453000 ekin = 2.48027617072946 | erot = 2.57675545715338 | epot = -22.1151189784502 | etot = -17.0580873505673 +454000 ekin = 2.53738257378355 | erot = 2.32076068281048 | epot = -22.0114335109913 | etot = -17.1532902543973 +455000 ekin = 2.40824460563841 | erot = 2.52466300048405 | epot = -21.9140685033281 | etot = -16.9811608972056 +456000 ekin = 2.48089669783941 | erot = 2.44995767624609 | epot = -21.8323732399429 | etot = -16.9015188658574 +457000 ekin = 2.41775201722807 | erot = 2.40996718790043 | epot = -21.7728619497125 | etot = -16.945142744584 +458000 ekin = 2.47981300263281 | erot = 2.17375208123342 | epot = -21.7127229794164 | etot = -17.0591578955502 +459000 ekin = 2.50098429139872 | erot = 2.13049458828883 | epot = -21.6581010444978 | etot = -17.0266221648102 +460000 ekin = 2.38145892905012 | erot = 1.94162891941082 | epot = -21.6082620378702 | etot = -17.2851741894092 +461000 ekin = 2.33337517008614 | erot = 1.98667402531269 | epot = -21.5649964210082 | etot = -17.2449472256094 +462000 ekin = 2.28227781413454 | erot = 1.78636859811698 | epot = -21.553299713963 | etot = -17.4846533017115 +463000 ekin = 2.31407904587662 | erot = 1.75082487007379 | epot = -21.5758125934728 | etot = -17.5109086775224 +464000 ekin = 2.33760733880305 | erot = 1.97752071149097 | epot = -21.6288036107042 | etot = -17.3136755604102 +465000 ekin = 2.35344133595334 | erot = 1.91505497900085 | epot = -21.7041801943282 | etot = -17.435683879374 +466000 ekin = 2.42854776892495 | erot = 1.75072628953255 | epot = -21.7819960540267 | etot = -17.6027219955692 +467000 ekin = 2.46288459947455 | erot = 1.78816598264993 | epot = -21.8507036001171 | etot = -17.5996530179926 +468000 ekin = 2.43969802378134 | erot = 1.72898452339381 | epot = -21.9015694636234 | etot = -17.7328869164483 +469000 ekin = 2.54376807882612 | erot = 1.93023555616042 | epot = -21.9541799518686 | etot = -17.4801763168821 +470000 ekin = 2.63326744382507 | erot = 1.50609058500135 | epot = -21.9819116677654 | etot = -17.842553638939 +471000 ekin = 2.65978116714121 | erot = 1.70311641290859 | epot = -21.9987201136985 | etot = -17.6358225336487 +472000 ekin = 2.69971587804205 | erot = 1.8009932352239 | epot = -22.0027803172691 | etot = -17.5020712040031 +473000 ekin = 2.72512699348222 | erot = 2.02324872686538 | epot = -22.0030224491709 | etot = -17.2546467288233 +474000 ekin = 2.8407241273446 | erot = 2.21383290314944 | epot = -21.9941738614503 | etot = -16.9396168309562 +475000 ekin = 2.80675445958342 | erot = 1.9022077441246 | epot = -21.9850696381233 | etot = -17.2761074344153 +476000 ekin = 2.72360114140089 | erot = 2.00284464538934 | epot = -21.9892397336858 | etot = -17.2627939468956 +477000 ekin = 2.84056500761867 | erot = 1.91820766145655 | epot = -22.0039582079798 | etot = -17.2451855389045 +478000 ekin = 2.79479136762923 | erot = 2.33508343932096 | epot = -22.00732044934 | etot = -16.8774456423898 +479000 ekin = 2.68385324315871 | erot = 2.16409914969161 | epot = -21.9972664623617 | etot = -17.1493140695114 +480000 ekin = 2.70919062871922 | erot = 2.22019074837664 | epot = -21.9751418417902 | etot = -17.0457604646944 +481000 ekin = 2.63307386350591 | erot = 1.99280181185976 | epot = -21.930382642354 | etot = -17.3045069669883 +482000 ekin = 2.59315858027254 | erot = 2.21899648577216 | epot = -21.8738249715991 | etot = -17.0616699055543 +483000 ekin = 2.47046920651423 | erot = 2.31431109078702 | epot = -21.8097795572383 | etot = -17.0249992599371 +484000 ekin = 2.53508822055565 | erot = 2.47424748553162 | epot = -21.717582839324 | etot = -16.7082471332367 +485000 ekin = 2.50485650643252 | erot = 2.32403296584736 | epot = -21.6361062693713 | etot = -16.8072167970914 +486000 ekin = 2.47721144858919 | erot = 2.13567134935204 | epot = -21.5220454766263 | etot = -16.909162678685 +487000 ekin = 2.37724853790766 | erot = 2.18943698926619 | epot = -21.3143250794171 | etot = -16.7476395522432 +488000 ekin = 2.48818613181585 | erot = 1.88306237250916 | epot = -21.3116084588705 | etot = -16.9403599545454 +489000 ekin = 2.74982657944148 | erot = 1.89187656286088 | epot = -21.4756253900909 | etot = -16.8339222477885 +490000 ekin = 2.8446680042418 | erot = 1.71237058668201 | epot = -21.5263774576819 | etot = -16.9693388667581 +491000 ekin = 2.85737105202647 | erot = 1.55281245576843 | epot = -21.5086751027881 | etot = -17.0984915949932 +492000 ekin = 2.90983632457446 | erot = 1.91497206116271 | epot = -21.5279430025224 | etot = -16.7031346167852 +493000 ekin = 2.89079796015651 | erot = 2.10766085424332 | epot = -21.5508401314459 | etot = -16.5523813170461 +494000 ekin = 2.90235816901155 | erot = 1.94029226116637 | epot = -21.5811303529853 | etot = -16.7384799228073 +495000 ekin = 2.87250026921941 | erot = 1.80307251979098 | epot = -21.6111333229181 | etot = -16.9355605339077 +496000 ekin = 2.90478694209773 | erot = 1.72383486079645 | epot = -21.6487754892898 | etot = -17.0201536863956 +497000 ekin = 2.79889384992189 | erot = 1.75660961047807 | epot = -21.6748215786368 | etot = -17.1193181182368 +498000 ekin = 2.74060640404878 | erot = 1.89888258825447 | epot = -21.7102647961437 | etot = -17.0707758038405 +499000 ekin = 2.80294847124273 | erot = 2.31213970127628 | epot = -21.7484718969958 | etot = -16.6333837244768 +500000 ekin = 2.83514351912433 | erot = 2.19332479656724 | epot = -21.7847476520866 | etot = -16.756279336395 +501000 ekin = 2.85410564762384 | erot = 2.42583012042736 | epot = -21.8174128447107 | etot = -16.5374770766595 +502000 ekin = 2.87283408161156 | erot = 2.50841092791887 | epot = -21.8423925146404 | etot = -16.46114750511 +503000 ekin = 2.94443013466719 | erot = 2.36313582629975 | epot = -21.8519587007927 | etot = -16.5443927398257 +504000 ekin = 2.98534964558865 | erot = 2.41275211835278 | epot = -21.8136647277169 | etot = -16.4155629637754 +505000 ekin = 3.10846911992712 | erot = 2.13573452517232 | epot = -21.7537837267859 | etot = -16.5095800816865 +506000 ekin = 3.09786641402203 | erot = 2.01700572313853 | epot = -21.704980465629 | etot = -16.5901083284684 +507000 ekin = 3.16348616847776 | erot = 1.94949346287655 | epot = -21.6672353473606 | etot = -16.5542557160063 +508000 ekin = 3.07061633092943 | erot = 2.13446212006009 | epot = -21.6350846399512 | etot = -16.4300061889617 +509000 ekin = 3.1290746647534 | erot = 2.35272620108262 | epot = -21.6205801924064 | etot = -16.1387793265704 +510000 ekin = 3.02451400178539 | erot = 2.25242701385277 | epot = -21.6251089836147 | etot = -16.3481679679765 +511000 ekin = 2.94040580941463 | erot = 2.31948438934906 | epot = -21.6216965431392 | etot = -16.3618063443755 +512000 ekin = 2.94467119608427 | erot = 2.24306810877191 | epot = -21.5962799069271 | etot = -16.408540602071 +513000 ekin = 2.877517425685 | erot = 2.415414442973 | epot = -21.5773819493338 | etot = -16.2844500806758 +514000 ekin = 2.87859810419301 | erot = 2.53612885093571 | epot = -21.5886910612355 | etot = -16.1739641061068 +515000 ekin = 2.65152076844877 | erot = 2.70952186913731 | epot = -21.612623025511 | etot = -16.2515803879249 +516000 ekin = 2.77253963034854 | erot = 3.11116882765854 | epot = -21.6107374310222 | etot = -15.7270289730151 +517000 ekin = 2.76572402179399 | erot = 2.98569828005596 | epot = -21.5945323230581 | etot = -15.8431100212081 +518000 ekin = 2.7008206456695 | erot = 2.94453329815972 | epot = -21.5767297354897 | etot = -15.9313757916605 +519000 ekin = 2.54482845466835 | erot = 2.66065301480809 | epot = -21.550873009667 | etot = -16.3453915401906 +520000 ekin = 2.45944414333513 | erot = 2.60592783176574 | epot = -21.5130137565189 | etot = -16.4476417814181 +521000 ekin = 2.40695980994532 | erot = 2.63220992355656 | epot = -21.4828393267846 | etot = -16.4436695932827 +522000 ekin = 2.52378769907082 | erot = 2.5606649708313 | epot = -21.4628073945547 | etot = -16.3783547246526 +523000 ekin = 2.47704387064711 | erot = 2.27847516566856 | epot = -21.3936943383584 | etot = -16.6381753020428 +524000 ekin = 2.45003418957973 | erot = 2.35140218073637 | epot = -21.2843636599242 | etot = -16.4829272896081 +525000 ekin = 2.36142621667685 | erot = 2.56683372922449 | epot = -21.3738770732935 | etot = -16.4456171273921 +526000 ekin = 2.41274041153279 | erot = 2.62143474643711 | epot = -21.5186087776708 | etot = -16.4844336197009 +527000 ekin = 2.51690607418079 | erot = 2.50693092291703 | epot = -21.5243590814524 | etot = -16.5005220843546 +528000 ekin = 2.54770211426177 | erot = 2.53999552090169 | epot = -21.5164154929441 | etot = -16.4287178577806 +529000 ekin = 2.47536749790361 | erot = 2.56875642748168 | epot = -21.5117161086094 | etot = -16.4675921832241 +530000 ekin = 2.58038897425517 | erot = 3.01233807443761 | epot = -21.51906057773 | etot = -15.9263335290372 +531000 ekin = 2.65054894724649 | erot = 2.80448099540854 | epot = -21.5589351824931 | etot = -16.1039052398381 +532000 ekin = 2.66965242144118 | erot = 2.74119638755984 | epot = -21.6464179501738 | etot = -16.2355691411728 +533000 ekin = 2.72770786142518 | erot = 2.77844536173269 | epot = -21.7626441239341 | etot = -16.2564909007762 +534000 ekin = 2.64182362572789 | erot = 3.16792870118696 | epot = -21.9259934897415 | etot = -16.1162411628266 +535000 ekin = 2.66520124770253 | erot = 3.2879171249754 | epot = -22.0889762146499 | etot = -16.1358578419719 +536000 ekin = 2.62601876922159 | erot = 3.30261897461137 | epot = -22.2457512656683 | etot = -16.3171135218353 +537000 ekin = 2.69839345537236 | erot = 3.42813769244414 | epot = -22.4210021127572 | etot = -16.2944709649407 +538000 ekin = 2.66760385526424 | erot = 3.62303132590558 | epot = -22.591355025516 | etot = -16.3007198443462 +539000 ekin = 2.67321194398888 | erot = 3.60397197005577 | epot = -22.7197786083617 | etot = -16.442594694317 +540000 ekin = 2.61847962179691 | erot = 3.5981459306722 | epot = -22.8058567264861 | etot = -16.589231174017 +541000 ekin = 2.6718641974379 | erot = 3.32667413558402 | epot = -22.8335693145219 | etot = -16.8350309815 +542000 ekin = 2.70747491915389 | erot = 3.0111564589795 | epot = -22.8115452943438 | etot = -17.0929139162104 +543000 ekin = 2.54644874759658 | erot = 2.82723025266225 | epot = -22.7664572430856 | etot = -17.3927782428268 +544000 ekin = 2.5463938428872 | erot = 2.51742249196045 | epot = -22.7350779454406 | etot = -17.6712616105929 +545000 ekin = 2.56168013748318 | erot = 2.65611713884647 | epot = -22.7023384195507 | etot = -17.484541143221 +546000 ekin = 2.5816053409223 | erot = 2.38787600628575 | epot = -22.6704542470139 | etot = -17.7009728998058 +547000 ekin = 2.61211462803719 | erot = 2.34648461296472 | epot = -22.6334663710585 | etot = -17.6748671300566 +548000 ekin = 2.61848748301373 | erot = 2.55163104207081 | epot = -22.609768517203 | etot = -17.4396499921185 +549000 ekin = 2.67184047302148 | erot = 2.60680496690166 | epot = -22.6113862974879 | etot = -17.3327408575648 +550000 ekin = 2.72277931598591 | erot = 2.65040849078669 | epot = -22.6203600824213 | etot = -17.2471722756487 +551000 ekin = 2.74305353489299 | erot = 2.80075659039574 | epot = -22.6177232617524 | etot = -17.0739131364637 +552000 ekin = 2.81751360269261 | erot = 2.75287635518208 | epot = -22.6023118767284 | etot = -17.0319219188537 +553000 ekin = 2.79227730256403 | erot = 2.56192872740986 | epot = -22.5537272638583 | etot = -17.1995212338845 +554000 ekin = 2.73534601404039 | erot = 2.65053323061235 | epot = -22.4791077870362 | etot = -17.0932285423835 +555000 ekin = 2.63887069330074 | erot = 2.60099744506886 | epot = -22.3836014529606 | etot = -17.143733314591 +556000 ekin = 2.58795922731594 | erot = 2.83939231122779 | epot = -22.324279926465 | etot = -16.8969283879212 +557000 ekin = 2.47840947592902 | erot = 2.83134609082774 | epot = -22.3241590735317 | etot = -17.0144035067749 +558000 ekin = 2.40468725505321 | erot = 2.93322561456053 | epot = -22.2772491751351 | etot = -16.9393363055213 +559000 ekin = 2.41820823948273 | erot = 2.86089187346752 | epot = -22.2036329910433 | etot = -16.9245328780931 +560000 ekin = 2.39662020313128 | erot = 2.57730341735948 | epot = -22.1373821619364 | etot = -17.1634585414457 +561000 ekin = 2.41616568173907 | erot = 2.43139941603541 | epot = -22.060651028694 | etot = -17.2130859309196 +562000 ekin = 2.32711122790885 | erot = 2.68540878415341 | epot = -22.0362236088757 | etot = -17.0237035968134 +563000 ekin = 2.40105509630151 | erot = 2.62423602861762 | epot = -22.0398518714974 | etot = -17.0145607465783 +564000 ekin = 2.5062266422146 | erot = 2.4928348217893 | epot = -22.0598046960841 | etot = -17.0607432320802 +565000 ekin = 2.51273313956208 | erot = 2.47207361692511 | epot = -22.0899214253432 | etot = -17.1051146688561 +566000 ekin = 2.45555537786091 | erot = 2.30821557149137 | epot = -22.1147098672023 | etot = -17.35093891785 +567000 ekin = 2.48507699437162 | erot = 2.03226369059631 | epot = -22.1483465792775 | etot = -17.6310058943096 +568000 ekin = 2.44600711349195 | erot = 2.1681878009117 | epot = -22.171561314542 | etot = -17.5573664001384 +569000 ekin = 2.41496567776287 | erot = 2.08307839560009 | epot = -22.1893617136992 | etot = -17.6913176403362 +570000 ekin = 2.31032400356049 | erot = 1.94654984481964 | epot = -22.1972672153826 | etot = -17.9403933670025 +571000 ekin = 2.3417438804697 | erot = 1.90380560996236 | epot = -22.2024778466837 | etot = -17.9569283562516 +572000 ekin = 2.31612242672595 | erot = 2.32477215739624 | epot = -22.1972617700701 | etot = -17.556367185948 +573000 ekin = 2.33747992651649 | erot = 2.05308190482666 | epot = -22.1742687527255 | etot = -17.7837069213823 +574000 ekin = 2.25296248727416 | erot = 2.15192604028201 | epot = -22.1539412991559 | etot = -17.7490527715998 +575000 ekin = 2.39237411767914 | erot = 2.08020391847459 | epot = -22.1262092875428 | etot = -17.6536312513891 +576000 ekin = 2.399208847935 | erot = 2.19930885642811 | epot = -22.0840646582175 | etot = -17.4855469538544 +577000 ekin = 2.32808205752418 | erot = 1.94197958979002 | epot = -22.0344723562019 | etot = -17.7644107088876 +578000 ekin = 2.1746858706361 | erot = 1.9246103716916 | epot = -21.974741428263 | etot = -17.8754451859353 +579000 ekin = 2.11583896079266 | erot = 1.92936420584519 | epot = -21.9045494517261 | etot = -17.8593462850882 +580000 ekin = 1.98384148142164 | erot = 1.90081955947752 | epot = -21.8148954466256 | etot = -17.9302344057265 +581000 ekin = 1.94016412525874 | erot = 1.93233669573757 | epot = -21.7165439683888 | etot = -17.8440431473925 +582000 ekin = 1.8610251889665 | erot = 1.79341078671836 | epot = -21.6380365856683 | etot = -17.9836006099834 +583000 ekin = 1.68386990762823 | erot = 1.83679042288102 | epot = -21.5992064668106 | etot = -18.0785461363014 +584000 ekin = 1.67261412505281 | erot = 1.65634612158735 | epot = -21.5952053447537 | etot = -18.2662450981136 +585000 ekin = 1.73992925735474 | erot = 1.83366430721889 | epot = -21.6327697441752 | etot = -18.0591761796016 +586000 ekin = 1.74661255409199 | erot = 1.71213201580435 | epot = -21.7000609183774 | etot = -18.2413163484811 +587000 ekin = 1.71710189718426 | erot = 1.97098182988229 | epot = -21.7683574543182 | etot = -18.0802737272516 +588000 ekin = 1.86544089524901 | erot = 1.85386980490137 | epot = -21.8425683848031 | etot = -18.1232576846527 +589000 ekin = 1.85071717322245 | erot = 1.97068115142838 | epot = -21.9095983694565 | etot = -18.0882000448057 +590000 ekin = 1.83374905828411 | erot = 1.81484654719552 | epot = -21.9582171568539 | etot = -18.3096215513743 +591000 ekin = 1.81469352641367 | erot = 1.99878899767044 | epot = -21.9200659973671 | etot = -18.106583473283 +592000 ekin = 1.71363100839097 | erot = 2.12573581395021 | epot = -21.9592135376051 | etot = -18.1198467152639 +593000 ekin = 1.72614766500717 | erot = 2.17937588775971 | epot = -22.0664089208097 | etot = -18.1608853680429 +594000 ekin = 1.75427689765194 | erot = 1.98826780368116 | epot = -22.0976975488655 | etot = -18.3551528475324 +595000 ekin = 1.85406358952679 | erot = 2.20206199980458 | epot = -22.1226176690415 | etot = -18.0664920797102 +596000 ekin = 1.84670119316264 | erot = 2.33908153853203 | epot = -22.1559831226416 | etot = -17.9702003909469 +597000 ekin = 1.81732138775584 | erot = 2.40005576098716 | epot = -22.1594075236561 | etot = -17.9420303749132 +598000 ekin = 1.8677543970775 | erot = 2.55301581891932 | epot = -22.1595993961162 | etot = -17.7388291801194 +599000 ekin = 1.91773913278424 | erot = 2.67167362163678 | epot = -22.1710888467289 | etot = -17.5816760923079 +600000 ekin = 1.98736665658494 | erot = 2.80063355631912 | epot = -22.2102053911852 | etot = -17.4222051782811 +601000 ekin = 1.90702337725175 | erot = 2.8344671118145 | epot = -22.2420925338082 | etot = -17.500602044742 +602000 ekin = 1.94976963379167 | erot = 2.90342633891973 | epot = -22.2734691619211 | etot = -17.4202731892097 +603000 ekin = 1.96641425291164 | erot = 2.66529933433923 | epot = -22.2825393460705 | etot = -17.6508257588197 +604000 ekin = 1.91858852447213 | erot = 2.76080776072352 | epot = -22.2678256349417 | etot = -17.588429349746 +605000 ekin = 1.97193019282287 | erot = 2.5472794862884 | epot = -22.2112173532513 | etot = -17.6920076741401 +606000 ekin = 2.03197193648821 | erot = 2.19902614177724 | epot = -22.1164544376306 | etot = -17.8854563593652 +607000 ekin = 2.0510528043558 | erot = 2.16675765880382 | epot = -21.977405385855 | etot = -17.7595949226954 +608000 ekin = 2.17944443921817 | erot = 2.13131743184037 | epot = -21.81532099036 | etot = -17.5045591193014 +609000 ekin = 2.16101479212554 | erot = 2.06129841109631 | epot = -21.6707988831018 | etot = -17.44848567988 +610000 ekin = 2.19385705617071 | erot = 2.02131249667483 | epot = -21.5477012163134 | etot = -17.3325316634679 +611000 ekin = 2.19942394637387 | erot = 2.20280786133682 | epot = -21.4384008683102 | etot = -17.0361690605995 +612000 ekin = 2.23163662761403 | erot = 2.17565235563963 | epot = -21.349788353045 | etot = -16.9424993697913 +613000 ekin = 2.34183365033965 | erot = 1.89422502415553 | epot = -21.3091832789097 | etot = -17.0731246044145 +614000 ekin = 2.41074949980695 | erot = 1.66581051947232 | epot = -21.3121685225909 | etot = -17.2356085033117 +615000 ekin = 2.45538962657556 | erot = 1.67175711569392 | epot = -21.3797539205093 | etot = -17.2526071782398 +616000 ekin = 2.54665272757605 | erot = 1.63332091588076 | epot = -21.4744887763228 | etot = -17.294515132866 +617000 ekin = 2.69386292022006 | erot = 1.67560230924526 | epot = -21.5884179595115 | etot = -17.2189527300462 +618000 ekin = 2.87435666564076 | erot = 1.80165459029546 | epot = -21.7048752429654 | etot = -17.0288639870292 +619000 ekin = 3.06032720665858 | erot = 1.65093186491283 | epot = -21.8125402008936 | etot = -17.1012811293222 +620000 ekin = 3.05516944552948 | erot = 1.78567665314232 | epot = -21.9362157730247 | etot = -17.0953696743529 +621000 ekin = 3.19482877288248 | erot = 1.85444292415898 | epot = -22.0590109842176 | etot = -17.0097392871761 +622000 ekin = 3.19833270893106 | erot = 1.64252462622214 | epot = -22.1304552689738 | etot = -17.2895979338206 +623000 ekin = 3.29734758995184 | erot = 1.6970718936091 | epot = -22.1701112545649 | etot = -17.175691771004 +624000 ekin = 3.37713404636418 | erot = 1.61937249977472 | epot = -22.190132986186 | etot = -17.1936264400471 +625000 ekin = 3.38380934462731 | erot = 1.54917206280412 | epot = -22.18904166071 | etot = -17.2560602532785 +626000 ekin = 3.32638739446822 | erot = 1.5672214829387 | epot = -22.1785220524127 | etot = -17.2849131750058 +627000 ekin = 3.31569249720242 | erot = 1.71066467192316 | epot = -22.142364077785 | etot = -17.1160069086594 +628000 ekin = 3.16697776454389 | erot = 1.85806977204807 | epot = -22.0112520476558 | etot = -16.9862045110638 +629000 ekin = 2.99094278818954 | erot = 1.86346544111366 | epot = -21.9346731409829 | etot = -17.0802649116797 +630000 ekin = 2.90556071918765 | erot = 2.06931303104692 | epot = -21.93509085158 | etot = -16.9602171013454 +631000 ekin = 2.79969582944963 | erot = 2.05621242567385 | epot = -21.848604572972 | etot = -16.9926963178485 +632000 ekin = 2.67147709831704 | erot = 2.03262561422009 | epot = -21.7549691244764 | etot = -17.0508664119392 +633000 ekin = 2.65536759972781 | erot = 2.03400136625199 | epot = -21.6799332000585 | etot = -16.9905642340787 +634000 ekin = 2.60619207671931 | erot = 2.13546718822713 | epot = -21.6154557479591 | etot = -16.8737964830127 +635000 ekin = 2.50701558019089 | erot = 1.74758901075321 | epot = -21.5543249117148 | etot = -17.2997203207707 +636000 ekin = 2.39745600323038 | erot = 1.85247540266676 | epot = -21.525559430038 | etot = -17.2756280241409 +637000 ekin = 2.41790008828878 | erot = 1.89421557823705 | epot = -21.5250233017194 | etot = -17.2129076351935 +638000 ekin = 2.47578971863419 | erot = 2.36571418053423 | epot = -21.5337545659553 | etot = -16.6922506667868 +639000 ekin = 2.35660046082987 | erot = 2.51353605838012 | epot = -21.5410972420903 | etot = -16.6709607228803 +640000 ekin = 2.45486082803939 | erot = 2.67800600845168 | epot = -21.5528145208901 | etot = -16.419947684399 +641000 ekin = 2.56928913237021 | erot = 2.42818013926169 | epot = -21.5744429168227 | etot = -16.5769736451908 +642000 ekin = 2.56519022418627 | erot = 2.50858602525848 | epot = -21.5829619563601 | etot = -16.5091857069153 +643000 ekin = 2.61438251477725 | erot = 2.14546404075467 | epot = -21.6040625493721 | etot = -16.8442159938402 +644000 ekin = 2.62186764966518 | erot = 2.14191076230766 | epot = -21.6253516870774 | etot = -16.8615732751046 +645000 ekin = 2.73445879103536 | erot = 2.35765807621281 | epot = -21.6468161631206 | etot = -16.5546992958724 +646000 ekin = 2.74844139127275 | erot = 2.17611353686106 | epot = -21.6394622686008 | etot = -16.7149073404669 +647000 ekin = 2.81459539064456 | erot = 2.08632073152474 | epot = -21.6308966078165 | etot = -16.7299804856472 +648000 ekin = 2.85700926870993 | erot = 1.929464333082 | epot = -21.6388376034704 | etot = -16.8523640016785 +649000 ekin = 2.83442652810361 | erot = 1.81043301746374 | epot = -21.6816093302455 | etot = -17.0367497846781 +650000 ekin = 2.82385635198136 | erot = 1.98060013201534 | epot = -21.7368430060001 | etot = -16.9323865220034 +651000 ekin = 2.92885602891552 | erot = 2.12442721936496 | epot = -21.8172866774946 | etot = -16.7640034292141 +652000 ekin = 2.93013307398413 | erot = 2.27578127027685 | epot = -21.8890408405115 | etot = -16.6831264962505 +653000 ekin = 3.04736898125529 | erot = 2.16776847613793 | epot = -21.9486345968613 | etot = -16.7334971394681 +654000 ekin = 2.9579573037244 | erot = 2.21678381714574 | epot = -22.0001869032537 | etot = -16.8254457823835 +655000 ekin = 3.02540562074026 | erot = 2.13692279145231 | epot = -22.0213788097191 | etot = -16.8590503975265 +656000 ekin = 2.93581362686808 | erot = 2.18988187130916 | epot = -22.0109757197437 | etot = -16.8852802215665 +657000 ekin = 2.76805340651528 | erot = 2.32463835532626 | epot = -21.9890816986899 | etot = -16.8963899368483 +658000 ekin = 2.72010078264234 | erot = 2.42170769009701 | epot = -21.9346454326191 | etot = -16.7928369598798 +659000 ekin = 2.56993867397745 | erot = 2.56748186419765 | epot = -21.8575737943239 | etot = -16.7201532561488 +660000 ekin = 2.47973868672844 | erot = 2.40259679627682 | epot = -21.7795672371149 | etot = -16.8972317541096 +661000 ekin = 2.4537354259568 | erot = 2.39904349056703 | epot = -21.7176497643057 | etot = -16.8648708477819 +662000 ekin = 2.31664057269244 | erot = 2.35054704143559 | epot = -21.6537121043311 | etot = -16.9865244902031 +663000 ekin = 2.2406453295341 | erot = 2.17910127912748 | epot = -21.6391536375417 | etot = -17.2194070288801 +664000 ekin = 2.20916362864349 | erot = 2.06262569311488 | epot = -21.6851863902027 | etot = -17.4133970684443 +665000 ekin = 2.13954972476586 | erot = 2.25756057575123 | epot = -21.7455075936907 | etot = -17.3483972931736 +666000 ekin = 2.08532103984047 | erot = 2.53235015645644 | epot = -21.8306488165158 | etot = -17.2129776202189 +667000 ekin = 2.07434468635446 | erot = 2.5831602433618 | epot = -21.9388099470219 | etot = -17.2813050173056 +668000 ekin = 2.14972707351062 | erot = 2.44036539013545 | epot = -22.0333424314715 | etot = -17.4432499678254 +669000 ekin = 2.14867112158583 | erot = 2.43281409131061 | epot = -22.1304448026368 | etot = -17.5489595897403 +670000 ekin = 2.23890403189165 | erot = 2.58648249214524 | epot = -22.2056814205456 | etot = -17.3802948965087 +671000 ekin = 2.31625622499946 | erot = 2.69333851171567 | epot = -22.279662062181 | etot = -17.2700673254659 +672000 ekin = 2.44586153940214 | erot = 2.56646280616739 | epot = -22.358695214431 | etot = -17.3463708688615 +673000 ekin = 2.54481735055823 | erot = 2.75556593856414 | epot = -22.4593396425686 | etot = -17.1589563534462 +674000 ekin = 2.71391625159941 | erot = 2.6554308425355 | epot = -22.5584890476563 | etot = -17.1891419535214 +675000 ekin = 2.90764129270492 | erot = 2.23819775094513 | epot = -22.6180177016502 | etot = -17.4721786580001 +676000 ekin = 2.92265152567894 | erot = 2.01907422039395 | epot = -22.6419153633299 | etot = -17.700189617257 +677000 ekin = 2.98331588051219 | erot = 1.94365767388436 | epot = -22.6354363273705 | etot = -17.7084627729739 +678000 ekin = 3.09770353325547 | erot = 1.78984747588624 | epot = -22.5937189533551 | etot = -17.7061679442134 +679000 ekin = 3.25432444248411 | erot = 1.88443631033161 | epot = -22.53178413596 | etot = -17.3930233831443 +680000 ekin = 3.22961887078865 | erot = 1.69909805719967 | epot = -22.463070825024 | etot = -17.5343538970357 +681000 ekin = 3.29793543712228 | erot = 1.73422658308543 | epot = -22.3946434176705 | etot = -17.3624813974628 +682000 ekin = 3.24199079106594 | erot = 1.5969219856144 | epot = -22.3029193266293 | etot = -17.464006549949 +683000 ekin = 3.25371946999921 | erot = 1.72202050023417 | epot = -22.199148999364 | etot = -17.2234090291306 +684000 ekin = 3.19052733109178 | erot = 1.66622681172431 | epot = -22.0655070121616 | etot = -17.2087528693455 +685000 ekin = 3.12351779825689 | erot = 1.51735754830883 | epot = -21.914824245787 | etot = -17.2739488992213 +686000 ekin = 3.07326489888731 | erot = 1.46555591350498 | epot = -21.7573475582043 | etot = -17.218526745812 +687000 ekin = 3.0692678194322 | erot = 1.15712044634882 | epot = -21.5962819403328 | etot = -17.3698936745518 +688000 ekin = 2.87390652866056 | erot = 1.4033120365228 | epot = -21.4336822001954 | etot = -17.156463635012 +689000 ekin = 2.69554492827624 | erot = 1.45829074533076 | epot = -21.2672855389621 | etot = -17.1134498653551 +690000 ekin = 2.61061423011971 | erot = 1.36248966419064 | epot = -21.1045284460301 | etot = -17.1314245517197 +691000 ekin = 2.5384895571243 | erot = 1.51295281726462 | epot = -20.9662406736519 | etot = -16.914798299263 +692000 ekin = 2.46230747660143 | erot = 1.79517490024282 | epot = -20.8267179895335 | etot = -16.5692356126893 +693000 ekin = 2.33092902932419 | erot = 1.956932557055 | epot = -20.7214634762705 | etot = -16.4336018898913 +694000 ekin = 2.20499278049238 | erot = 2.26852927145225 | epot = -20.6632308881527 | etot = -16.189708836208 +695000 ekin = 2.03014457111504 | erot = 2.21386820279686 | epot = -20.6164786812691 | etot = -16.3724659073572 +696000 ekin = 1.90099616141403 | erot = 2.5103465105869 | epot = -20.5979238575923 | etot = -16.1865811855913 +697000 ekin = 1.85444991610566 | erot = 2.53777912909066 | epot = -20.6115349149648 | etot = -16.2193058697685 +698000 ekin = 1.7451785995618 | erot = 2.7223822414534 | epot = -20.6303436251994 | etot = -16.1627827841842 +699000 ekin = 1.7516813089068 | erot = 2.85503588879926 | epot = -20.6320585257903 | etot = -16.0253413280842 +700000 ekin = 1.64369199910929 | erot = 2.34560591480479 | epot = -20.647513946931 | etot = -16.6582160330169 +701000 ekin = 1.68132533789918 | erot = 2.43909304651561 | epot = -20.685910928294 | etot = -16.5654925438792 +702000 ekin = 1.70386840970035 | erot = 2.35102704448869 | epot = -20.7376959872533 | etot = -16.6828005330643 +703000 ekin = 1.80305935509192 | erot = 2.30693909538442 | epot = -20.8251011762137 | etot = -16.7151027257374 +704000 ekin = 1.85427679013225 | erot = 2.26509125077371 | epot = -20.9059280513971 | etot = -16.7865600104912 +705000 ekin = 1.88335846983262 | erot = 2.19214658824562 | epot = -20.9954367870654 | etot = -16.9199317289872 +706000 ekin = 1.876702340526 | erot = 2.28719516538887 | epot = -21.0193227576574 | etot = -16.8554252517425 +707000 ekin = 1.93293497142214 | erot = 2.38330202769163 | epot = -21.0638890738323 | etot = -16.7476520747185 +708000 ekin = 2.09065153727884 | erot = 2.35104864418889 | epot = -21.2227908262374 | etot = -16.7810906447697 +709000 ekin = 2.20425730862929 | erot = 2.60124565008879 | epot = -21.3749368892937 | etot = -16.5694339305757 +710000 ekin = 2.15847586521867 | erot = 2.78837422905336 | epot = -21.45375589322 | etot = -16.506905798948 +711000 ekin = 2.1473856761086 | erot = 2.55565446850249 | epot = -21.4922752305126 | etot = -16.7892350859015 +712000 ekin = 2.21832534546642 | erot = 2.2837823329791 | epot = -21.5070148685007 | etot = -17.0049071900552 +713000 ekin = 2.23341186047371 | erot = 2.34500428198362 | epot = -21.5008699398634 | etot = -16.9224537974061 +714000 ekin = 2.33230836040244 | erot = 2.19479871425188 | epot = -21.4839019806539 | etot = -16.9567949059995 +715000 ekin = 2.33030820574014 | erot = 2.17965051754596 | epot = -21.4553142973931 | etot = -16.945355574107 +716000 ekin = 2.36748822470048 | erot = 2.35438142347193 | epot = -21.4335845554585 | etot = -16.7117149072861 +717000 ekin = 2.42589072361015 | erot = 2.26035712234886 | epot = -21.4376774007483 | etot = -16.7514295547893 +718000 ekin = 2.38255620505849 | erot = 2.62805972075967 | epot = -21.4709814331184 | etot = -16.4603655073003 +719000 ekin = 2.4316038044644 | erot = 2.63972746655449 | epot = -21.4971766168892 | etot = -16.4258453458703 +720000 ekin = 2.33769336712433 | erot = 2.55371461534658 | epot = -21.5394919555774 | etot = -16.6480839731065 +721000 ekin = 2.28846155322463 | erot = 2.63462733239722 | epot = -21.6184618151068 | etot = -16.695372929485 +722000 ekin = 2.2625799464171 | erot = 2.84783969674578 | epot = -21.6945502707626 | etot = -16.5841306275997 +723000 ekin = 2.23304720962205 | erot = 3.06611659822373 | epot = -21.7528202353841 | etot = -16.4536564275383 +724000 ekin = 2.12684507278506 | erot = 2.78432312637157 | epot = -21.7751025516938 | etot = -16.8639343525372 +725000 ekin = 2.06612304119179 | erot = 2.6657008722112 | epot = -21.7772349484646 | etot = -17.0454110350617 +726000 ekin = 2.06015720392149 | erot = 2.53002799423227 | epot = -21.7484309875606 | etot = -17.1582457894068 +727000 ekin = 1.94617710091939 | erot = 2.58809722642033 | epot = -21.698865942308 | etot = -17.1645916149683 +728000 ekin = 1.79988680762503 | erot = 2.59791601958482 | epot = -21.6244191329722 | etot = -17.2266163057624 +729000 ekin = 1.88959231946007 | erot = 2.45182775661247 | epot = -21.5334662312982 | etot = -17.1920461552256 +730000 ekin = 1.96867512295179 | erot = 2.41054767101764 | epot = -21.4871507299598 | etot = -17.1079279359904 +731000 ekin = 2.04007066021515 | erot = 2.10968471949812 | epot = -21.5107250767863 | etot = -17.360969697073 +732000 ekin = 2.15156634650352 | erot = 2.21445806294108 | epot = -21.565694539444 | etot = -17.1996701299994 +733000 ekin = 2.35654560078856 | erot = 2.0926020619831 | epot = -21.6365297457638 | etot = -17.1873820829921 +734000 ekin = 2.53299152923216 | erot = 2.37468932984106 | epot = -21.7439901596571 | etot = -16.8363093005839 +735000 ekin = 2.68562697475253 | erot = 2.64165595377503 | epot = -21.8172386752045 | etot = -16.4899557466769 +736000 ekin = 2.79874366040361 | erot = 2.35556726484813 | epot = -21.8745419467326 | etot = -16.7202310214809 +737000 ekin = 2.90595989296463 | erot = 2.41144452276433 | epot = -21.9257424852809 | etot = -16.6083380695519 +738000 ekin = 3.16854231512105 | erot = 2.16995374764071 | epot = -21.9707229821506 | etot = -16.6322269193889 +739000 ekin = 3.23623963268824 | erot = 2.03973592993996 | epot = -22.0157112429449 | etot = -16.7397356803167 +740000 ekin = 3.39353868555119 | erot = 2.32580669983873 | epot = -22.0571350158395 | etot = -16.3377896304496 +741000 ekin = 3.45553760108211 | erot = 2.27352146352834 | epot = -22.0707608655482 | etot = -16.3417018009378 +742000 ekin = 3.39019064344775 | erot = 2.25908088551195 | epot = -22.0670611146352 | etot = -16.4177895856755 +743000 ekin = 3.24233276383884 | erot = 2.18392506449989 | epot = -22.0666014745795 | etot = -16.6403436462408 +744000 ekin = 3.20002114728711 | erot = 2.23309952366348 | epot = -22.028539163169 | etot = -16.5954184922184 +745000 ekin = 3.14151943265607 | erot = 2.14368723244716 | epot = -21.9643868056962 | etot = -16.679180140593 +746000 ekin = 3.13633701521663 | erot = 2.23603593988693 | epot = -21.882872862873 | etot = -16.5104999077695 +747000 ekin = 3.07456220778637 | erot = 2.26587079383327 | epot = -21.7933333887767 | etot = -16.452900387157 +748000 ekin = 2.89245092613184 | erot = 2.40124088279734 | epot = -21.7426214163823 | etot = -16.4489296074532 +749000 ekin = 2.88984722840687 | erot = 2.04545464704715 | epot = -21.7486405812119 | etot = -16.8133387057579 +750000 ekin = 2.90690239667419 | erot = 2.16308193639859 | epot = -21.8037851942402 | etot = -16.7338008611674 +751000 ekin = 2.91748713435882 | erot = 2.28652646733658 | epot = -21.8965044368825 | etot = -16.6924908351871 +752000 ekin = 2.97329531437785 | erot = 2.21452942544206 | epot = -22.0108702587414 | etot = -16.8230455189215 +753000 ekin = 3.12120975435271 | erot = 2.07420726206866 | epot = -22.1751207133467 | etot = -16.9797036969253 +754000 ekin = 3.10943310281728 | erot = 2.24992106750504 | epot = -22.3612161837239 | etot = -17.0018620134016 +755000 ekin = 3.18094546468949 | erot = 2.11033610484495 | epot = -22.5317563093684 | etot = -17.2404747398339 +756000 ekin = 3.21064051440325 | erot = 2.2847912638149 | epot = -22.6718534245683 | etot = -17.1764216463502 +757000 ekin = 3.22246886754025 | erot = 2.44968123087621 | epot = -22.7886247543782 | etot = -17.1164746559617 +758000 ekin = 3.20698410892119 | erot = 2.50948468912354 | epot = -22.8454442004646 | etot = -17.1289754024199 +759000 ekin = 3.21234700687647 | erot = 3.12016624161199 | epot = -22.8201205205761 | etot = -16.4876072720877 +760000 ekin = 3.27823245967428 | erot = 2.84290665242051 | epot = -22.6783954091999 | etot = -16.5572562971051 +761000 ekin = 3.12453460408395 | erot = 2.62184906422512 | epot = -22.438200107225 | etot = -16.6918164389159 +762000 ekin = 3.00311895367918 | erot = 2.41644056781989 | epot = -22.1533696227388 | etot = -16.7338101012398 +763000 ekin = 2.78638584214101 | erot = 2.32781672447598 | epot = -21.8612278496142 | etot = -16.7470252829972 +764000 ekin = 2.62767890060543 | erot = 2.17189942716303 | epot = -21.5731775254861 | etot = -16.7735991977176 +765000 ekin = 2.51344272364432 | erot = 2.10908907015976 | epot = -21.3425441704342 | etot = -16.7200123766302 +766000 ekin = 2.44393199306567 | erot = 2.31186162861124 | epot = -21.1564464031704 | etot = -16.4006527814935 +767000 ekin = 2.31911160678287 | erot = 2.18314082130554 | epot = -20.9627169920091 | etot = -16.4604645639207 +768000 ekin = 2.13701069287306 | erot = 2.40318509200551 | epot = -20.8058909702391 | etot = -16.2656951853605 +769000 ekin = 2.10500025579103 | erot = 2.63894895440955 | epot = -20.8353130509833 | etot = -16.0913638407827 +770000 ekin = 2.12136471147998 | erot = 2.6554458784582 | epot = -20.9284031482484 | etot = -16.1515925583102 +771000 ekin = 2.13543144639345 | erot = 2.60537105377452 | epot = -21.0328875238191 | etot = -16.2920850236511 +772000 ekin = 2.24162906957588 | erot = 2.74417889300961 | epot = -21.1929928408463 | etot = -16.2071848782608 +773000 ekin = 2.33155635751896 | erot = 2.65445073231026 | epot = -21.3698964155417 | etot = -16.3838893257124 +774000 ekin = 2.48263962766567 | erot = 2.82209125579263 | epot = -21.5457273132847 | etot = -16.2409964298264 +775000 ekin = 2.54636977687724 | erot = 2.88053109255988 | epot = -21.7219905564985 | etot = -16.2950896870614 +776000 ekin = 2.69100265054475 | erot = 2.71778929652662 | epot = -21.8782095094697 | etot = -16.4694175623983 +777000 ekin = 2.78238726099168 | erot = 2.72823230982731 | epot = -21.9911064717638 | etot = -16.4804869009448 +778000 ekin = 2.78617187411511 | erot = 2.82815790459219 | epot = -22.0683537375448 | etot = -16.4540239588375 +779000 ekin = 2.84892593422022 | erot = 3.03438887674479 | epot = -22.1034747648793 | etot = -16.2201599539143 +780000 ekin = 2.88441601842049 | erot = 3.24511918269903 | epot = -22.0479241425091 | etot = -15.9183889413896 +781000 ekin = 2.79226579266676 | erot = 3.21548459938523 | epot = -21.8915863093246 | etot = -15.8838359172726 +782000 ekin = 2.68974173738614 | erot = 3.17926967087772 | epot = -21.6363560975167 | etot = -15.7673446892529 +783000 ekin = 2.79024932261644 | erot = 2.97774512627436 | epot = -21.2767108150424 | etot = -15.5087163661516 +784000 ekin = 2.86449981530865 | erot = 2.69172267166055 | epot = -21.0080507325922 | etot = -15.451828245623 +785000 ekin = 2.8095279662806 | erot = 2.46781875930815 | epot = -20.8778745868435 | etot = -15.6005278612548 +786000 ekin = 2.68208018816425 | erot = 2.29793991145912 | epot = -20.7982787985676 | etot = -15.8182586989442 +787000 ekin = 2.56813961256695 | erot = 2.41937763036887 | epot = -20.6982631250954 | etot = -15.7107458821596 +788000 ekin = 2.48851427869081 | erot = 2.49924394097201 | epot = -20.6407407229629 | etot = -15.6529825033001 +789000 ekin = 2.34982946717626 | erot = 2.56420624412215 | epot = -20.6454036959704 | etot = -15.731367984672 +790000 ekin = 2.27171119768142 | erot = 2.49951341291837 | epot = -20.6777685520533 | etot = -15.9065439414535 +791000 ekin = 2.21794673444052 | erot = 2.30373156167707 | epot = -20.733587944852 | etot = -16.2119096487344 +792000 ekin = 2.11119869207691 | erot = 2.39386074875515 | epot = -20.8097229220259 | etot = -16.3046634811938 +793000 ekin = 2.0914986232215 | erot = 2.33936906711867 | epot = -20.8989593305892 | etot = -16.4680916402491 +794000 ekin = 2.07514167964202 | erot = 2.18864817794238 | epot = -21.0024824072348 | etot = -16.7386925496504 +795000 ekin = 2.04599756417741 | erot = 1.93255592398139 | epot = -21.1171979822032 | etot = -17.1386444940444 +796000 ekin = 2.0560011436693 | erot = 2.03200387694587 | epot = -21.2502268612589 | etot = -17.1622218406437 +797000 ekin = 2.02544049585307 | erot = 2.05143967820681 | epot = -21.3783704821385 | etot = -17.3014903080786 +798000 ekin = 2.10531554228792 | erot = 1.92029368041654 | epot = -21.4968277215512 | etot = -17.4712184988467 +799000 ekin = 2.16064788774095 | erot = 1.68829576105933 | epot = -21.5739657591718 | etot = -17.7250221103715 +800000 ekin = 2.21578954821431 | erot = 1.79594742030858 | epot = -21.603956054732 | etot = -17.5922190862092 +801000 ekin = 2.22681551829209 | erot = 1.74309621460738 | epot = -21.6419326028295 | etot = -17.67202086993 +802000 ekin = 2.43626565180586 | erot = 1.85922368535807 | epot = -21.6656085836115 | etot = -17.3701192464476 +803000 ekin = 2.50783665003159 | erot = 1.58815243555041 | epot = -21.7145730788991 | etot = -17.6185839933171 +804000 ekin = 2.54745667479448 | erot = 1.78752251126577 | epot = -21.8111449940636 | etot = -17.4761658080033 +805000 ekin = 2.80080657856553 | erot = 2.23795086847267 | epot = -21.9683564899617 | etot = -16.9295990429235 +806000 ekin = 3.00571166515518 | erot = 2.567719998186 | epot = -22.162148095173 | etot = -16.5887164318318 +807000 ekin = 3.08052739942377 | erot = 2.70802004693296 | epot = -22.3817011009082 | etot = -16.5931536545515 +808000 ekin = 3.0935615091465 | erot = 2.92145006465344 | epot = -22.5983854951432 | etot = -16.5833739213433 +809000 ekin = 3.13660538877476 | erot = 2.76580118315174 | epot = -22.7898921423196 | etot = -16.8874855703931 +810000 ekin = 3.19670438612414 | erot = 3.0603328835606 | epot = -22.9235249464173 | etot = -16.6664876767325 +811000 ekin = 3.2435824870982 | erot = 2.75433145478958 | epot = -22.9913244588506 | etot = -16.9934105169628 +812000 ekin = 3.15387712947527 | erot = 2.67472079387966 | epot = -22.9958338237262 | etot = -17.1672359003712 +813000 ekin = 2.94730683854716 | erot = 2.78448217630032 | epot = -22.9500139539577 | etot = -17.2182249391102 +814000 ekin = 2.84152372531506 | erot = 2.94333861884916 | epot = -22.8861063328149 | etot = -17.1012439886507 +815000 ekin = 2.76239406868367 | erot = 3.2073823268363 | epot = -22.8152543629751 | etot = -16.8454779674551 +816000 ekin = 2.59996655001802 | erot = 2.9541571575398 | epot = -22.7323176380825 | etot = -17.1781939305247 +817000 ekin = 2.50568509693887 | erot = 2.56873279592996 | epot = -22.6565557161143 | etot = -17.5821378232455 +818000 ekin = 2.36879357413845 | erot = 2.62740710801411 | epot = -22.5771576372408 | etot = -17.5809569550882 +819000 ekin = 2.22137153555244 | erot = 2.20921666742025 | epot = -22.5063000643985 | etot = -18.0757118614258 +820000 ekin = 2.15352101503844 | erot = 2.22634472649615 | epot = -22.4644595926715 | etot = -18.0845938511369 +821000 ekin = 2.02682142409779 | erot = 2.27918504669084 | epot = -22.4285107655678 | etot = -18.1225042947792 +822000 ekin = 1.96590621976212 | erot = 2.1193358571147 | epot = -22.3893132044792 | etot = -18.3040711276024 +823000 ekin = 1.87390236474894 | erot = 2.43833928629823 | epot = -22.3766834300039 | etot = -18.0644417789567 +824000 ekin = 1.76511965451009 | erot = 2.08632973066864 | epot = -22.384695570879 | etot = -18.5332461857003 +825000 ekin = 1.72275906923453 | erot = 2.05491870775394 | epot = -22.4158544093933 | etot = -18.6381766324048 +826000 ekin = 1.654231730303 | erot = 1.90118083599813 | epot = -22.4865285736228 | etot = -18.9311160073217 +827000 ekin = 1.6220387740366 | erot = 2.11543908973767 | epot = -22.5672947980656 | etot = -18.8298169342914 +828000 ekin = 1.50840521352428 | erot = 1.94184045091945 | epot = -22.6360835928992 | etot = -19.1858379284554 +829000 ekin = 1.53133011832189 | erot = 2.23719923783634 | epot = -22.6642383844097 | etot = -18.8957090282514 +830000 ekin = 1.57674105330123 | erot = 2.32835034574904 | epot = -22.6990636526513 | etot = -18.793972253601 +831000 ekin = 1.66163281968432 | erot = 2.45366313848764 | epot = -22.728227092002 | etot = -18.6129311338301 +832000 ekin = 1.61575752897352 | erot = 2.36469513946935 | epot = -22.7314805576127 | etot = -18.7510278891698 +833000 ekin = 1.57484623731402 | erot = 2.43716147594987 | epot = -22.731026717864 | etot = -18.7190190046001 +834000 ekin = 1.61211592880252 | erot = 2.27369578074054 | epot = -22.7231073149633 | etot = -18.8372956054203 +835000 ekin = 1.71255063218106 | erot = 2.25145179686401 | epot = -22.7213723561492 | etot = -18.7573699271041 +836000 ekin = 1.66410080947891 | erot = 2.36287362113634 | epot = -22.7106963960556 | etot = -18.6837219654403 +837000 ekin = 1.55393537343306 | erot = 2.19682771055502 | epot = -22.7054421830578 | etot = -18.9546790990697 +838000 ekin = 1.55395449543536 | erot = 1.97831033842468 | epot = -22.6952408411522 | etot = -19.1629760072922 +839000 ekin = 1.56966734033286 | erot = 1.54356794703842 | epot = -22.6819663107275 | etot = -19.5687310233562 +840000 ekin = 1.67828545417797 | erot = 1.72274710399929 | epot = -22.6537987135626 | etot = -19.2527661553853 +841000 ekin = 1.70756024783819 | erot = 1.86878110712351 | epot = -22.6201854793038 | etot = -19.0438441243421 +842000 ekin = 1.65445531752371 | erot = 1.98969497305846 | epot = -22.5834458053272 | etot = -18.939295514745 +843000 ekin = 1.61813041031721 | erot = 1.94297358985358 | epot = -22.5343209800003 | etot = -18.9732169798295 +844000 ekin = 1.66559589059894 | erot = 2.07459583566883 | epot = -22.4909419629376 | etot = -18.7507502366698 +845000 ekin = 1.67372319184911 | erot = 2.01531047459158 | epot = -22.4486472588118 | etot = -18.7596135923711 +846000 ekin = 1.76456308419071 | erot = 2.04286196110294 | epot = -22.390765558653 | etot = -18.5833405133594 +847000 ekin = 1.68474528716571 | erot = 1.95062183544452 | epot = -22.3219698462515 | etot = -18.6866027236413 +848000 ekin = 1.77692080839843 | erot = 1.94903343886577 | epot = -22.2732219411799 | etot = -18.5472676939157 +849000 ekin = 1.80865478838294 | erot = 1.92750105953017 | epot = -22.254397724875 | etot = -18.5182418769619 +850000 ekin = 1.81902433574993 | erot = 1.83695743097569 | epot = -22.289579874299 | etot = -18.6335981075734 +851000 ekin = 1.8919092098265 | erot = 1.99438142785362 | epot = -22.370687738675 | etot = -18.4843971009949 +852000 ekin = 1.85572644981142 | erot = 2.08333690915233 | epot = -22.4954803882537 | etot = -18.55641702929 +853000 ekin = 1.96819950961986 | erot = 2.46522063934758 | epot = -22.6461768022044 | etot = -18.2127566532369 +854000 ekin = 1.99027367747409 | erot = 2.82405245762684 | epot = -22.8233134890086 | etot = -18.0089873539077 +855000 ekin = 2.02041206494495 | erot = 2.76127853932992 | epot = -22.9719213877705 | etot = -18.1902307834956 +856000 ekin = 1.98428835568952 | erot = 2.89398807391186 | epot = -23.0688189336862 | etot = -18.1905425040848 +857000 ekin = 1.94437625728389 | erot = 2.75841683958909 | epot = -23.1174862513516 | etot = -18.4146931544786 +858000 ekin = 1.77145748342923 | erot = 2.97613159794702 | epot = -23.09256410399 | etot = -18.3449750226137 +859000 ekin = 1.75449757825827 | erot = 2.94820975919279 | epot = -23.0174946494366 | etot = -18.3147873119855 +860000 ekin = 1.69824130830274 | erot = 2.56619342882397 | epot = -22.9138277520104 | etot = -18.6493930148837 +861000 ekin = 1.61723118355358 | erot = 2.60723394434931 | epot = -22.7817384645193 | etot = -18.5572733366164 +862000 ekin = 1.65016805241347 | erot = 2.58826826538693 | epot = -22.6306365080491 | etot = -18.3922001902487 +863000 ekin = 1.62167782719988 | erot = 2.32265511281206 | epot = -22.4833247924575 | etot = -18.5389918524456 +864000 ekin = 1.64443917202622 | erot = 2.41694169974078 | epot = -22.3437317075498 | etot = -18.2823508357828 +865000 ekin = 1.6232360705676 | erot = 2.42797649716492 | epot = -22.2339680949561 | etot = -18.1827555272236 +866000 ekin = 1.52330589261667 | erot = 2.43806006675287 | epot = -22.1297693882999 | etot = -18.1684034289304 +867000 ekin = 1.53921563766813 | erot = 2.56348629931229 | epot = -22.0395837686754 | etot = -17.936881831695 +868000 ekin = 1.51596999194589 | erot = 2.55716270739324 | epot = -21.9937420973958 | etot = -17.9206093980567 +869000 ekin = 1.59814692071406 | erot = 2.15771580624658 | epot = -21.9767818689194 | etot = -18.2209191419588 +870000 ekin = 1.62438751258778 | erot = 2.30366665730519 | epot = -22.0119463158222 | etot = -18.0838921459292 +871000 ekin = 1.64699232625249 | erot = 2.29504943910978 | epot = -22.0696451748748 | etot = -18.1276034095125 +872000 ekin = 1.7493610768973 | erot = 1.99655620180651 | epot = -22.1253859835088 | etot = -18.379468704805 +873000 ekin = 1.81958663574001 | erot = 2.15311518592939 | epot = -22.1932828259255 | etot = -18.2205810042561 +874000 ekin = 1.81429910948355 | erot = 2.15191422065537 | epot = -22.2521915372751 | etot = -18.2859782071362 +875000 ekin = 1.92774125136724 | erot = 2.09841769816155 | epot = -22.295019959013 | etot = -18.2688610094842 +876000 ekin = 2.05205383204242 | erot = 1.71112886964279 | epot = -22.3353847724689 | etot = -18.5722020707837 +877000 ekin = 2.00183605233821 | erot = 1.88466440539221 | epot = -22.3587375372267 | etot = -18.4722370794963 +878000 ekin = 1.96978247023496 | erot = 1.94492504421967 | epot = -22.3467650367967 | etot = -18.432057522342 +879000 ekin = 1.89978467383989 | erot = 2.08488575038216 | epot = -22.3245187946312 | etot = -18.3398483704092 +880000 ekin = 1.79316389454238 | erot = 2.0447265911779 | epot = -22.3022731632373 | etot = -18.464382677517 +881000 ekin = 1.84166442689778 | erot = 1.91254711303492 | epot = -22.2610385401995 | etot = -18.5068270002668 +882000 ekin = 1.84084232668587 | erot = 1.89291352333202 | epot = -22.2058993058503 | etot = -18.4721434558324 +883000 ekin = 1.85228381570649 | erot = 2.04568547305427 | epot = -22.1462287912802 | etot = -18.2482595025195 +884000 ekin = 1.74299718482353 | erot = 2.41541515350573 | epot = -22.0952302162142 | etot = -17.936817877885 +885000 ekin = 1.7011370112973 | erot = 2.12494075622072 | epot = -22.0624268043462 | etot = -18.2363490368282 +886000 ekin = 1.65197597472173 | erot = 2.40636683282474 | epot = -22.0395749533722 | etot = -17.9812321458257 +887000 ekin = 1.60780982779807 | erot = 2.52410870185878 | epot = -22.0426576240069 | etot = -17.9107390943501 +888000 ekin = 1.62736239763282 | erot = 2.54417200798801 | epot = -22.0837991546705 | etot = -17.9122647490497 +889000 ekin = 1.56260633742274 | erot = 2.93015784124647 | epot = -22.1644353768122 | etot = -17.671671198143 +890000 ekin = 1.59045576751439 | erot = 2.98817840519876 | epot = -22.2639211219189 | etot = -17.6852869492058 +891000 ekin = 1.56285966089655 | erot = 3.45684679212764 | epot = -22.3811052217716 | etot = -17.3613987687474 +892000 ekin = 1.5433042783868 | erot = 3.72585516837269 | epot = -22.4833521640554 | etot = -17.2141927172959 +893000 ekin = 1.59146757296863 | erot = 3.57834579864732 | epot = -22.5732593414809 | etot = -17.4034459698649 +894000 ekin = 1.62137337508144 | erot = 3.47314499517222 | epot = -22.6375279089989 | etot = -17.5430095387452 +895000 ekin = 1.66705900655095 | erot = 3.49716948137549 | epot = -22.6624975634756 | etot = -17.4982690755491 +896000 ekin = 1.55030206730747 | erot = 3.09080759429309 | epot = -22.6660259737724 | etot = -18.0249163121719 +897000 ekin = 1.59716300255375 | erot = 3.1884711459157 | epot = -22.6447094591909 | etot = -17.8590753107214 +898000 ekin = 1.63846223091607 | erot = 3.52423413884758 | epot = -22.5748070090784 | etot = -17.4121106393147 +899000 ekin = 1.76043242630826 | erot = 3.57817463535426 | epot = -22.5017519688476 | etot = -17.1631449071851 +900000 ekin = 1.79654660125886 | erot = 3.47500564829584 | epot = -22.435532158833 | etot = -17.1639799092783 +901000 ekin = 1.90036826124888 | erot = 3.08289582473293 | epot = -22.3778122198663 | etot = -17.3945481338845 +902000 ekin = 1.86184581507265 | erot = 3.53323519891635 | epot = -22.3343178451943 | etot = -16.9392368312053 +903000 ekin = 1.82612532908466 | erot = 2.94106563489456 | epot = -22.2753946825372 | etot = -17.508203718558 +904000 ekin = 1.83566294124427 | erot = 2.77276060855958 | epot = -22.2178118874605 | etot = -17.6093883376567 +905000 ekin = 1.98760022520356 | erot = 2.39033190744213 | epot = -22.1879073476946 | etot = -17.8099752150489 +906000 ekin = 2.03479331668359 | erot = 2.33442285317147 | epot = -22.1683021524559 | etot = -17.7990859826009 +907000 ekin = 2.13854534243923 | erot = 2.49897360264073 | epot = -22.1329919803474 | etot = -17.4954730352674 +908000 ekin = 2.29292980718743 | erot = 2.19971547335205 | epot = -22.0946544988759 | etot = -17.6020092183364 +909000 ekin = 2.26088767533079 | erot = 2.08032511955685 | epot = -22.0656471636866 | etot = -17.724434368799 +910000 ekin = 2.24374768453805 | erot = 2.05633395260619 | epot = -22.0263801495106 | etot = -17.7262985123664 +911000 ekin = 2.21169387792048 | erot = 2.07671300621213 | epot = -21.9687563877575 | etot = -17.6803495036249 +912000 ekin = 2.2634282786901 | erot = 2.19424965404288 | epot = -21.8985767358493 | etot = -17.4408988031163 +913000 ekin = 2.25810530261871 | erot = 2.15174616542683 | epot = -21.8202885495934 | etot = -17.4104370815479 +914000 ekin = 2.22041757979719 | erot = 2.112964313505 | epot = -21.7659012518198 | etot = -17.4325193585176 +915000 ekin = 2.3058538526313 | erot = 2.01195201885166 | epot = -21.710587261287 | etot = -17.3927813898041 +916000 ekin = 2.31746417556776 | erot = 2.26468835943419 | epot = -21.6446439231988 | etot = -17.0624913881969 +917000 ekin = 2.29083855377465 | erot = 2.35266040877195 | epot = -21.5981818981915 | etot = -16.9546829356449 +918000 ekin = 2.21948812241831 | erot = 2.67757709392787 | epot = -21.5768387043291 | etot = -16.6797734879829 +919000 ekin = 2.17502484144656 | erot = 2.50505023715203 | epot = -21.5962136980994 | etot = -16.9161386195008 +920000 ekin = 2.05225364762711 | erot = 2.28466235959408 | epot = -21.6248903594419 | etot = -17.2879743522207 +921000 ekin = 1.95826631853156 | erot = 2.44785811644725 | epot = -21.6449866661272 | etot = -17.2388622311484 +922000 ekin = 1.88713416312701 | erot = 2.20407498665963 | epot = -21.6433309330735 | etot = -17.5521217832869 +923000 ekin = 1.85499144920864 | erot = 2.47959433102065 | epot = -21.6219980061652 | etot = -17.2874122259359 +924000 ekin = 1.82449923254799 | erot = 2.43607326145712 | epot = -21.581122536388 | etot = -17.3205500423829 +925000 ekin = 1.75365416617991 | erot = 2.6704338213266 | epot = -21.5654424680514 | etot = -17.1413544805449 +926000 ekin = 1.82728938436568 | erot = 2.42568919454089 | epot = -21.5649010983331 | etot = -17.3119225194266 +927000 ekin = 1.71111907929799 | erot = 2.49634793929369 | epot = -21.5869585210632 | etot = -17.3794915024715 +928000 ekin = 1.64740049786963 | erot = 2.5378889624632 | epot = -21.6442370240019 | etot = -17.4589475636691 +929000 ekin = 1.68616483039163 | erot = 2.2627280589498 | epot = -21.7404415309175 | etot = -17.7915486415761 +930000 ekin = 1.8057977284219 | erot = 2.41185782526022 | epot = -21.8766034841546 | etot = -17.6589479304725 +931000 ekin = 1.84540351563189 | erot = 2.51429545094947 | epot = -22.0343594510998 | etot = -17.6746604845185 +932000 ekin = 1.91948716687413 | erot = 2.5078924614536 | epot = -22.210720099767 | etot = -17.7833404714392 +933000 ekin = 2.08806765097296 | erot = 2.54053118825007 | epot = -22.3857648909584 | etot = -17.7571660517354 +934000 ekin = 2.15790983140663 | erot = 2.35997810662255 | epot = -22.5303312795783 | etot = -18.0124433415491 +935000 ekin = 2.25791486608222 | erot = 2.61090003819346 | epot = -22.6566492074988 | etot = -17.7878343032231 +936000 ekin = 2.28694449910393 | erot = 2.88785018879364 | epot = -22.7387712915678 | etot = -17.5639766036702 +937000 ekin = 2.25985365977459 | erot = 2.68904834283785 | epot = -22.7546509524832 | etot = -17.8057489498707 +938000 ekin = 2.28814448880636 | erot = 2.54450017128454 | epot = -22.6975117726246 | etot = -17.8648671125337 +939000 ekin = 2.22181328678752 | erot = 2.40773891474717 | epot = -22.5724060300395 | etot = -17.9428538285048 +940000 ekin = 2.1904731805913 | erot = 2.24413418480596 | epot = -22.382599968865 | etot = -17.9479926034678 +941000 ekin = 1.97789684714955 | erot = 2.11351242298925 | epot = -22.1581596355121 | etot = -18.0667503653733 +942000 ekin = 1.82283426550965 | erot = 2.02814504753847 | epot = -21.9245079619175 | etot = -18.0735286488694 +943000 ekin = 1.77337816858732 | erot = 1.98390662003602 | epot = -21.7436762740877 | etot = -17.9863914854644 +944000 ekin = 1.74129354399816 | erot = 2.02570172818747 | epot = -21.6008012672883 | etot = -17.8338059951026 +945000 ekin = 1.72896560635122 | erot = 2.2099750803776 | epot = -21.5146553493564 | etot = -17.5757146626276 +946000 ekin = 1.90743436357407 | erot = 2.13705774217383 | epot = -21.4832307541172 | etot = -17.4387386483693 +947000 ekin = 2.028379866634 | erot = 2.29971426385207 | epot = -21.4794165970829 | etot = -17.1513224665968 +948000 ekin = 2.03783072879855 | erot = 2.11465543087289 | epot = -21.4989322229569 | etot = -17.3464460632855 +949000 ekin = 2.16990164234306 | erot = 1.99168801462696 | epot = -21.5364977263911 | etot = -17.3749080694211 +950000 ekin = 2.24527818418913 | erot = 2.12106218398704 | epot = -21.6200851503001 | etot = -17.253744782124 +951000 ekin = 2.35977794911024 | erot = 2.09437757436299 | epot = -21.718296700309 | etot = -17.2641411768358 +952000 ekin = 2.43036880893062 | erot = 2.60988991207355 | epot = -21.8098996400664 | etot = -16.7696409190622 +953000 ekin = 2.58164820045211 | erot = 2.62403788420625 | epot = -21.9145443047315 | etot = -16.7088582200731 +954000 ekin = 2.67569984167854 | erot = 2.49812470218295 | epot = -21.9760951843273 | etot = -16.8022706404658 +955000 ekin = 2.87107117644804 | erot = 2.70877614839034 | epot = -22.0056490566507 | etot = -16.4258017318124 +956000 ekin = 3.09772559508496 | erot = 2.62503444551481 | epot = -21.9996173766366 | etot = -16.2768573360369 +957000 ekin = 3.06387016720788 | erot = 2.83023563118165 | epot = -21.9356950338519 | etot = -16.0415892354624 +958000 ekin = 3.15191228692187 | erot = 2.56018473189795 | epot = -21.7995256048187 | etot = -16.0874285859989 +959000 ekin = 3.17671440939285 | erot = 2.4842151393073 | epot = -21.6207768556276 | etot = -15.9598473069274 +960000 ekin = 3.01275155896461 | erot = 2.431673793689 | epot = -21.4002125285923 | etot = -15.9557871759387 +961000 ekin = 2.94603084981591 | erot = 2.28503967365799 | epot = -21.1407696110433 | etot = -15.9096990875694 +962000 ekin = 2.87549986152203 | erot = 2.26764795390621 | epot = -20.8628900961283 | etot = -15.7197422807 +963000 ekin = 2.72736350188063 | erot = 2.02845193194806 | epot = -20.6025221949606 | etot = -15.8467067611319 +964000 ekin = 2.55766914747927 | erot = 1.90275324626263 | epot = -20.3671083669859 | etot = -15.906685973244 +965000 ekin = 2.42945571607322 | erot = 1.87896821137038 | epot = -20.1665878867516 | etot = -15.858163959308 +966000 ekin = 2.30432659917118 | erot = 2.05976948111884 | epot = -20.0345331150588 | etot = -15.6704370347688 +967000 ekin = 2.19239153699739 | erot = 2.23712663137927 | epot = -19.93047491381 | etot = -15.5009567454333 +968000 ekin = 2.12056467997116 | erot = 2.29258395928729 | epot = -19.8478936101842 | etot = -15.4347449709257 +969000 ekin = 2.03082359465821 | erot = 2.12561043987577 | epot = -19.8204193361086 | etot = -15.6639853015746 +970000 ekin = 2.06263818102141 | erot = 2.20772735706072 | epot = -19.8171007441947 | etot = -15.5467352061125 +971000 ekin = 2.07242738756087 | erot = 2.39359294752953 | epot = -19.8426078132312 | etot = -15.3765874781408 +972000 ekin = 2.13593664400655 | erot = 2.51621155234823 | epot = -19.8711039585032 | etot = -15.2189557621484 +973000 ekin = 2.19239588059432 | erot = 2.71817846233973 | epot = -19.8806125652158 | etot = -14.9700382222818 +974000 ekin = 2.08126353721536 | erot = 2.92742241693054 | epot = -19.8623774193927 | etot = -14.8536914652468 +975000 ekin = 2.0110783324585 | erot = 2.57768138393002 | epot = -19.8162471814878 | etot = -15.2274874650993 +976000 ekin = 1.90089112618523 | erot = 2.56071712862254 | epot = -19.7674234084161 | etot = -15.3058151536083 +977000 ekin = 1.82747564687015 | erot = 2.561175280289 | epot = -19.6916974381971 | etot = -15.303046511038 +978000 ekin = 1.81823178973058 | erot = 2.21507357951039 | epot = -19.6525909549454 | etot = -15.6192855857044 +979000 ekin = 1.8602091000828 | erot = 2.09761460514009 | epot = -19.6622349611945 | etot = -15.7044112559716 +980000 ekin = 1.8981306313303 | erot = 1.86971657434407 | epot = -19.6793196081168 | etot = -15.9114724024424 +981000 ekin = 1.96055767456421 | erot = 1.80588067180903 | epot = -19.7616283768435 | etot = -15.9951900304703 +982000 ekin = 2.04211859099661 | erot = 2.0065708647352 | epot = -19.8926418365965 | etot = -15.8439523808647 +983000 ekin = 2.08434248544488 | erot = 2.13281702823496 | epot = -20.0190963786397 | etot = -15.8019368649599 +984000 ekin = 2.28263945352163 | erot = 2.30206381624197 | epot = -20.1817376774969 | etot = -15.5970344077333 +985000 ekin = 2.33165973691051 | erot = 2.36792674462185 | epot = -20.3496337869023 | etot = -15.65004730537 +986000 ekin = 2.36845296330311 | erot = 2.40477790490572 | epot = -20.5172631957726 | etot = -15.7440323275638 +987000 ekin = 2.44660573334477 | erot = 2.60656597532256 | epot = -20.6827873919813 | etot = -15.629615683314 +988000 ekin = 2.48779340096477 | erot = 2.57507657271676 | epot = -20.8472563124179 | etot = -15.7843863387364 +989000 ekin = 2.62562775055009 | erot = 2.7875350688748 | epot = -20.9917314563749 | etot = -15.57856863695 +990000 ekin = 2.71356724748619 | erot = 3.06120975803976 | epot = -21.1004443459535 | etot = -15.3256673404276 +991000 ekin = 2.84485263344776 | erot = 3.42057995731802 | epot = -21.1508216928249 | etot = -14.8853891020592 +992000 ekin = 2.88616886570543 | erot = 3.47043505669747 | epot = -21.1491979980144 | etot = -14.7925940756115 +993000 ekin = 2.86101706987592 | erot = 3.40172740673593 | epot = -21.1075232078054 | etot = -14.8447787311935 +994000 ekin = 2.90016396739103 | erot = 3.68400469178538 | epot = -21.0544509503641 | etot = -14.4702822911876 +995000 ekin = 2.84836922582537 | erot = 3.86724891435329 | epot = -20.9907241498061 | etot = -14.2751060096275 +996000 ekin = 2.87268648345341 | erot = 3.37952872488001 | epot = -20.9186469222953 | etot = -14.6664317139619 +997000 ekin = 2.84260788754428 | erot = 3.24170863044316 | epot = -20.8185896660715 | etot = -14.7342731480841 +998000 ekin = 2.86644419268205 | erot = 3.30788437736625 | epot = -20.6892589093475 | etot = -14.5149303392992 +999000 ekin = 2.91762607564667 | erot = 3.19659159185214 | epot = -20.5404731143958 | etot = -14.426255446897 +1000000 ekin = 2.92466509156961 | erot = 2.67428308533433 | epot = -20.3978646538425 | etot = -14.7989164769385 + 1000000 0.12998512 -1.3075422 0.032675661 -1.092075 0.0002012331 64000 +Loop time of 37.6859 on 1 procs for 1000000 steps with 16 atoms + +Performance: 22926.360 tau/day, 26535.139 timesteps/s +99.2% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 31.712 | 31.712 | 31.712 | 0.0 | 84.15 +Bond | 1.0014 | 1.0014 | 1.0014 | 0.0 | 2.66 +Neigh | 0.014936 | 0.014936 | 0.014936 | 0.0 | 0.04 +Comm | 0.23328 | 0.23328 | 0.23328 | 0.0 | 0.62 +Output | 0.16016 | 0.16016 | 0.16016 | 0.0 | 0.42 +Modify | 4.2289 | 4.2289 | 4.2289 | 0.0 | 11.22 +Other | | 0.3355 | | | 0.89 + +Nlocal: 16.0000 ave 16 max 16 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 0.00000 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 107.000 ave 107 max 107 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 107 +Ave neighs/atom = 6.6875000 +Ave special neighs/atom = 3.7500000 +Neighbor list builds = 1000 +Dangerous builds = 0 + +write_data last_config.${number}.* nocoeff +write_data last_config.2.* nocoeff +System init for write_data ... +Total wall time: 0:00:37 diff --git a/examples/PACKAGES/cgdna/examples/oxDNA2/duplex2/log.27May21.duplex2.g++.4 b/examples/PACKAGES/cgdna/examples/oxDNA2/duplex2/log.27May21.duplex2.g++.4 new file mode 100644 index 0000000000..5db1bd47b3 --- /dev/null +++ b/examples/PACKAGES/cgdna/examples/oxDNA2/duplex2/log.27May21.duplex2.g++.4 @@ -0,0 +1,1183 @@ +LAMMPS (27 May 2021) +variable number equal 2 +variable ofreq equal 1000 +variable efreq equal 1000 +variable T equal 0.1 +variable rhos equal 0.2 + +units lj + +dimension 3 + +newton off + +boundary p p p + +atom_style hybrid bond ellipsoid oxdna +WARNING: Atom style hybrid defines both, per-type and per-atom masses; both must be set, but only per-atom masses will be used (../atom_vec_hybrid.cpp:157) +atom_modify sort 0 1.0 + +# Pair interactions require lists of neighbours to be calculated +neighbor 2.0 bin +neigh_modify every 1 delay 0 check yes + +read_data data.duplex2 +Reading data file ... + orthogonal box = (-20.000000 -20.000000 -20.000000) to (20.000000 20.000000 20.000000) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 16 atoms + reading velocities ... + 16 velocities + scanning bonds ... + 2 = max bonds/atom + 16 ellipsoids + reading bonds ... +Setting oxDNA 3'->5' bond directionality ... + 13 bonds +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 + 2 = max # of 1-3 neighbors + 4 = max # of 1-4 neighbors + 6 = max # of special neighbors + special bonds CPU = 0.001 seconds + read_data CPU = 0.005 seconds + +set atom * mass 3.1575 +Setting atom values ... + 16 settings made for mass + +group all type 1 4 +16 atoms in group all + +# oxDNA2 bond interactions - FENE backbone +bond_style oxdna2/fene +bond_coeff * 2.0 0.25 0.7564 +special_bonds lj 0 1 1 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 1 1 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 2 = max # of 1-3 neighbors + 4 = max # of 1-4 neighbors + 6 = max # of special neighbors + special bonds CPU = 0.000 seconds + +# oxDNA2 pair interactions +pair_style hybrid/overlay oxdna2/excv oxdna2/stk oxdna2/hbond oxdna2/xstk oxdna2/coaxstk oxdna2/dh +pair_coeff * * oxdna2/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32 +pair_coeff * * oxdna2/stk seqav ${T} 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 +pair_coeff * * oxdna2/stk seqav 0.1 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 +pair_coeff * * oxdna2/hbond seqav 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 1 4 oxdna2/hbond seqav 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 2 3 oxdna2/hbond seqav 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff * * oxdna2/xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68 +pair_coeff * * oxdna2/coaxstk 58.5 0.4 0.6 0.22 0.58 2.0 2.891592653589793 0.65 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 40.0 3.116592653589793 +pair_coeff * * oxdna2/dh ${T} ${rhos} 0.815 +pair_coeff * * oxdna2/dh 0.1 ${rhos} 0.815 +pair_coeff * * oxdna2/dh 0.1 0.2 0.815 + +# NVE ensemble +fix 1 all nve/asphere +fix 2 all langevin ${T} ${T} 2.5 457145 angmom 10 +fix 2 all langevin 0.1 ${T} 2.5 457145 angmom 10 +fix 2 all langevin 0.1 0.1 2.5 457145 angmom 10 + +timestep 1e-5 + +#comm_style tiled +fix 3 all balance 1000 1.03 shift xyz 10 1.03 +comm_modify cutoff 3.8 + +compute quat all property/atom quatw quati quatj quatk + +compute erot all erotate/asphere +compute ekin all ke +compute epot all pe +variable erot equal c_erot +variable ekin equal c_ekin +variable epot equal c_epot +variable etot equal c_erot+c_ekin+c_epot +fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes +fix 5 all print 1000 "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes + +dump out all custom ${ofreq} out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump out all custom 1000 out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump out all custom 1000 out.2.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump_modify out sort id +dump_modify out format line "%d %d %d %22.15le %22.15le %22.15le %d %d %d %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le" + +run 1000000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 5.6389877 + ghost atom cutoff = 5.6389877 + binsize = 2.8194939, bins = 15 15 15 + 5 neighbor lists, perpetual/occasional/extra = 5 0 0 + (1) pair oxdna2/excv, perpetual + attributes: half, newton off + pair build: half/bin/newtoff + stencil: full/bin/3d + bin: standard + (2) pair oxdna2/hbond, perpetual, copy from (1) + attributes: half, newton off + pair build: copy + stencil: none + bin: none + (3) pair oxdna2/xstk, perpetual, copy from (1) + attributes: half, newton off + pair build: copy + stencil: none + bin: none + (4) pair oxdna2/coaxstk, perpetual, copy from (1) + attributes: half, newton off + pair build: copy + stencil: none + bin: none + (5) pair oxdna2/dh, perpetual, copy from (1) + attributes: half, newton off + pair build: copy + stencil: none + bin: none +WARNING: Communication cutoff adjusted to 5.638987723814632 (../comm.cpp:739) +0 ekin = 2.70475393009871 | erot = 2.80172072918779 | epot = -21.0482852787267 | etot = -15.5418106194402 +Per MPI rank memory allocation (min/avg/max) = 9.570 | 9.599 | 9.684 Mbytes +Step Temp E_pair E_mol TotEng Press Volume + 0 0.12021129 -1.3610384 0.045520537 -1.1464707 5.9660461e-05 64000 +1000 ekin = 2.72013629959678 | erot = 3.04690178503881 | epot = -20.8790776967073 | etot = -15.1120396120718 +2000 ekin = 2.78009554567455 | erot = 2.50647079931992 | epot = -20.701004729611 | etot = -15.4144383846165 +3000 ekin = 2.76688166744693 | erot = 2.2821949377072 | epot = -20.5676929006559 | etot = -15.5186162955017 +4000 ekin = 2.70260128929367 | erot = 2.27403484282169 | epot = -20.4705557396832 | etot = -15.4939196075679 +5000 ekin = 2.64234178224169 | erot = 2.30733191000246 | epot = -20.423605764695 | etot = -15.4739320724509 +6000 ekin = 2.65801663486023 | erot = 2.39066626378173 | epot = -20.4246308066932 | etot = -15.3759479080512 +7000 ekin = 2.68316645880461 | erot = 2.33063300072945 | epot = -20.4749165048776 | etot = -15.4611170453436 +8000 ekin = 2.59120591314502 | erot = 2.0547790667844 | epot = -20.5631212612484 | etot = -15.917136281319 +9000 ekin = 2.65376648779414 | erot = 2.11575091090835 | epot = -20.6881173411843 | etot = -15.9185999424818 +10000 ekin = 2.77402134048095 | erot = 2.56538522546418 | epot = -20.812379085734 | etot = -15.4729725197888 +11000 ekin = 2.67401627862024 | erot = 2.8852684806639 | epot = -20.9238620704284 | etot = -15.3645773111443 +12000 ekin = 2.69364271301778 | erot = 2.66699911618312 | epot = -21.0407385357143 | etot = -15.6800967065134 +13000 ekin = 2.7835207626619 | erot = 2.62517780661367 | epot = -21.1720350247762 | etot = -15.7633364555007 +14000 ekin = 2.84595331390101 | erot = 2.43480334086399 | epot = -21.2963503704521 | etot = -16.0155937156871 +15000 ekin = 2.88907009700338 | erot = 2.41912745049441 | epot = -21.4150808543173 | etot = -16.1068833068195 +16000 ekin = 3.00758069356163 | erot = 2.63110801135323 | epot = -21.5261697271622 | etot = -15.8874810222474 +17000 ekin = 3.08749820661834 | erot = 2.5313798011721 | epot = -21.6092998996455 | etot = -15.990421891855 +18000 ekin = 2.97601119892236 | erot = 2.53805591696762 | epot = -21.6415056622546 | etot = -16.1274385463646 +19000 ekin = 2.8848844473712 | erot = 2.54441184479443 | epot = -21.6205491988714 | etot = -16.1912529067057 +20000 ekin = 2.65941914113234 | erot = 2.80243564233628 | epot = -21.5551870578305 | etot = -16.0933322743619 +21000 ekin = 2.57547433431649 | erot = 2.7496552753446 | epot = -21.4613716405082 | etot = -16.1362420308471 +22000 ekin = 2.53510807627333 | erot = 2.74029747587436 | epot = -21.3396334655202 | etot = -16.0642279133725 +23000 ekin = 2.40091416401757 | erot = 2.41245160665477 | epot = -21.2029723825425 | etot = -16.3896066118702 +24000 ekin = 2.35240654345191 | erot = 2.10101829600981 | epot = -21.0659817341104 | etot = -16.6125568946487 +25000 ekin = 2.24250544456842 | erot = 2.18590508799003 | epot = -20.9513445132091 | etot = -16.5229339806506 +26000 ekin = 2.15423649133114 | erot = 2.45727700237473 | epot = -20.866937908599 | etot = -16.2554244148931 +27000 ekin = 1.93524632585275 | erot = 2.34650303801409 | epot = -20.8326435236229 | etot = -16.5508941597561 +28000 ekin = 1.76943324443446 | erot = 2.41353675794598 | epot = -20.8217433644356 | etot = -16.6387733620552 +29000 ekin = 1.75176430946868 | erot = 2.21029128532645 | epot = -20.8529129923908 | etot = -16.8908573975956 +30000 ekin = 1.69211824889088 | erot = 2.43399158562873 | epot = -20.9103885167126 | etot = -16.784278682193 +31000 ekin = 1.72526028314479 | erot = 2.32450864670459 | epot = -21.0087646424163 | etot = -16.9589957125669 +32000 ekin = 1.85144315905103 | erot = 2.36996515630943 | epot = -21.1366890377948 | etot = -16.9152807224343 +33000 ekin = 1.92914135939677 | erot = 2.55157176589721 | epot = -21.2867811906613 | etot = -16.8060680653673 +34000 ekin = 1.86488201964575 | erot = 2.70400704788851 | epot = -21.4771748939503 | etot = -16.908285826416 +35000 ekin = 1.82452979540543 | erot = 2.88148899883832 | epot = -21.6928620054229 | etot = -16.9868432111792 +36000 ekin = 1.85882387630624 | erot = 2.79217577332803 | epot = -21.8984987105766 | etot = -17.2474990609424 +37000 ekin = 1.92831232163797 | erot = 2.92698521263713 | epot = -22.097948831493 | etot = -17.2426512972179 +38000 ekin = 1.935816304174 | erot = 2.90317027990001 | epot = -22.2686450915845 | etot = -17.4296585075105 +39000 ekin = 2.01059319335201 | erot = 2.94480429938125 | epot = -22.3778651261379 | etot = -17.4224676334047 +40000 ekin = 1.9707104121532 | erot = 2.93286391865189 | epot = -22.417858975573 | etot = -17.5142846447679 +41000 ekin = 2.05746434456946 | erot = 2.68242698010624 | epot = -22.3807196920657 | etot = -17.64082836739 +42000 ekin = 2.0911250992276 | erot = 2.6968518051769 | epot = -22.2906811943749 | etot = -17.5027042899704 +43000 ekin = 2.01814513009277 | erot = 2.85562815769075 | epot = -22.1601960046645 | etot = -17.2864227168809 +44000 ekin = 1.9217179974809 | erot = 2.74064501961459 | epot = -22.0236920121946 | etot = -17.3613289950991 +45000 ekin = 1.81213357146532 | erot = 2.33969637171489 | epot = -21.9013900155101 | etot = -17.7495600723299 +46000 ekin = 1.70431886268157 | erot = 2.39010616929271 | epot = -21.7951136139008 | etot = -17.7006885819265 +47000 ekin = 1.66181647983356 | erot = 2.43237478783467 | epot = -21.692979578058 | etot = -17.5987883103898 +48000 ekin = 1.6064085128736 | erot = 2.34869900597689 | epot = -21.5897329144351 | etot = -17.6346253955846 +49000 ekin = 1.52653989846239 | erot = 2.00084533105261 | epot = -21.5040522645286 | etot = -17.9766670350136 +50000 ekin = 1.44266718781295 | erot = 2.13453634177553 | epot = -21.4422830581905 | etot = -17.865079528602 +51000 ekin = 1.43550636726016 | erot = 2.23006562743143 | epot = -21.3792358932285 | etot = -17.713663898537 +52000 ekin = 1.41917583919533 | erot = 2.33479503366763 | epot = -21.3396501545003 | etot = -17.5856792816373 +53000 ekin = 1.50159149702876 | erot = 2.56353973620708 | epot = -21.3318420135024 | etot = -17.2667107802665 +54000 ekin = 1.53108046116779 | erot = 2.69431714698444 | epot = -21.3427130336452 | etot = -17.117315425493 +55000 ekin = 1.5720449679094 | erot = 2.27080332163902 | epot = -21.3613604522624 | etot = -17.518512162714 +56000 ekin = 1.49781857063065 | erot = 2.33086022046605 | epot = -21.3901677321077 | etot = -17.561488941011 +57000 ekin = 1.503261266716 | erot = 2.18728874275908 | epot = -21.4375848454808 | etot = -17.7470348360058 +58000 ekin = 1.56885163164476 | erot = 2.04781187994405 | epot = -21.4901198020452 | etot = -17.8734562904564 +59000 ekin = 1.6445687577087 | erot = 2.0921617030342 | epot = -21.5467238774716 | etot = -17.8099934167287 +60000 ekin = 1.6169192573205 | erot = 2.29542751813012 | epot = -21.6038795960773 | etot = -17.6915328206267 +61000 ekin = 1.65884539872101 | erot = 2.1084734948915 | epot = -21.6559771193387 | etot = -17.8886582257262 +62000 ekin = 1.72309094226646 | erot = 2.30407725612069 | epot = -21.7076104489971 | etot = -17.6804422506099 +63000 ekin = 1.68827086718387 | erot = 2.43329143180656 | epot = -21.7495751902361 | etot = -17.6280128912457 +64000 ekin = 1.77925986833289 | erot = 2.43931965882654 | epot = -21.7824788671426 | etot = -17.5638993399832 +65000 ekin = 1.71201207010361 | erot = 2.055652813486 | epot = -21.8004838491859 | etot = -18.0328189655963 +66000 ekin = 1.72258841195346 | erot = 1.8922111104938 | epot = -21.8042275382222 | etot = -18.1894280157749 +67000 ekin = 1.81093386427591 | erot = 1.9714982271847 | epot = -21.8237244535635 | etot = -18.0412923621029 +68000 ekin = 1.92086731218825 | erot = 2.04627775213356 | epot = -21.853856684096 | etot = -17.8867116197742 +69000 ekin = 1.95769420352299 | erot = 2.00695954556819 | epot = -21.8959292342322 | etot = -17.9312754851411 +70000 ekin = 2.04640812952272 | erot = 1.99675167399818 | epot = -21.9385347387981 | etot = -17.8953749352772 +71000 ekin = 2.09757818208408 | erot = 2.01099773767172 | epot = -21.9790979736474 | etot = -17.8705220538916 +72000 ekin = 2.17178409239839 | erot = 2.18113395841071 | epot = -22.015468769256 | etot = -17.6625507184469 +73000 ekin = 2.15190632785464 | erot = 2.45126940688759 | epot = -22.0387524357625 | etot = -17.4355767010203 +74000 ekin = 2.16265422451101 | erot = 2.15818555561656 | epot = -22.0321747353182 | etot = -17.7113349551906 +75000 ekin = 2.14414193832382 | erot = 1.98187999045799 | epot = -22.0167291804319 | etot = -17.8907072516501 +76000 ekin = 2.24692887257252 | erot = 1.89718749935303 | epot = -21.9954563023383 | etot = -17.8513399304128 +77000 ekin = 2.23929641773342 | erot = 1.79331586377881 | epot = -21.9651666845261 | etot = -17.9325544030139 +78000 ekin = 2.25131896609554 | erot = 1.81371170007279 | epot = -21.9326569846905 | etot = -17.8676263185222 +79000 ekin = 2.27306161178794 | erot = 1.71185434931883 | epot = -21.8897569865356 | etot = -17.9048410254288 +80000 ekin = 2.39399894443299 | erot = 1.35732464587517 | epot = -21.8616153060318 | etot = -18.1102917157236 +81000 ekin = 2.47373459732163 | erot = 1.54787737363677 | epot = -21.8542089705401 | etot = -17.8325969995817 +82000 ekin = 2.47280496509114 | erot = 1.57756404285384 | epot = -21.8821357876168 | etot = -17.8317667796718 +83000 ekin = 2.48717741782561 | erot = 1.71069094857345 | epot = -21.9195089096536 | etot = -17.7216405432545 +84000 ekin = 2.44796638425876 | erot = 2.01404972344718 | epot = -21.9668916260735 | etot = -17.5048755183675 +85000 ekin = 2.3957408319547 | erot = 2.32413660190234 | epot = -22.0180542299227 | etot = -17.2981767960657 +86000 ekin = 2.48782292320374 | erot = 1.96978488305034 | epot = -22.0725803391446 | etot = -17.6149725328905 +87000 ekin = 2.57930151405764 | erot = 2.2570902138915 | epot = -22.1348945159438 | etot = -17.2985027879947 +88000 ekin = 2.6956024897412 | erot = 2.13715554675378 | epot = -22.1930571194782 | etot = -17.3602990829832 +89000 ekin = 2.72380030029144 | erot = 2.11665976738326 | epot = -22.2588492472984 | etot = -17.4183891796237 +90000 ekin = 2.7775820443459 | erot = 2.3087167926615 | epot = -22.3316634662033 | etot = -17.2453646291959 +91000 ekin = 2.78121426761679 | erot = 2.06238861884245 | epot = -22.3950019314361 | etot = -17.5513990449768 +92000 ekin = 2.82075935404361 | erot = 2.27555189363852 | epot = -22.4458982217016 | etot = -17.3495869740194 +93000 ekin = 2.74234324408922 | erot = 2.73218737047999 | epot = -22.4777668035594 | etot = -17.0032361889902 +94000 ekin = 2.70595529611257 | erot = 2.8219193945842 | epot = -22.4719589759707 | etot = -16.9440842852739 +95000 ekin = 2.60066897821264 | erot = 2.87810504187081 | epot = -22.4346047957434 | etot = -16.9558307756599 +96000 ekin = 2.6262407611824 | erot = 3.14516589179064 | epot = -22.3619497140362 | etot = -16.5905430610632 +97000 ekin = 2.53528413246992 | erot = 2.79030318337089 | epot = -22.2496930254016 | etot = -16.9241057095608 +98000 ekin = 2.63666210187981 | erot = 2.76857448865096 | epot = -22.1491630400741 | etot = -16.7439264495434 +99000 ekin = 2.65483668512638 | erot = 2.78595031296347 | epot = -22.0460055113192 | etot = -16.6052185132294 +100000 ekin = 2.61516760613048 | erot = 2.20131962587002 | epot = -21.9508073892687 | etot = -17.1343201572682 +101000 ekin = 2.54624393295481 | erot = 2.36995664901277 | epot = -21.8740804698391 | etot = -16.9578798878716 +102000 ekin = 2.51242302732686 | erot = 2.61025478737428 | epot = -21.821356011813 | etot = -16.6986781971118 +103000 ekin = 2.47093986976496 | erot = 2.46981056153027 | epot = -21.7940331055599 | etot = -16.8532826742647 +104000 ekin = 2.46347963016611 | erot = 2.49008073758038 | epot = -21.7873646863928 | etot = -16.8338043186463 +105000 ekin = 2.38625333180197 | erot = 2.62338268192898 | epot = -21.7895340190363 | etot = -16.7798980053054 +106000 ekin = 2.31544255189987 | erot = 2.76529048503053 | epot = -21.7908248307259 | etot = -16.7100917937955 +107000 ekin = 2.35684717555652 | erot = 2.65933844478903 | epot = -21.7713781480754 | etot = -16.7551925277298 +108000 ekin = 2.29901143856397 | erot = 2.67802590245662 | epot = -21.7311454445308 | etot = -16.7541081035102 +109000 ekin = 2.32828462660076 | erot = 2.93774189015171 | epot = -21.6703154087736 | etot = -16.4042888920211 +110000 ekin = 2.27463751555897 | erot = 2.84342022670568 | epot = -21.5866031030149 | etot = -16.4685453607503 +111000 ekin = 2.17735794909434 | erot = 2.50678168266737 | epot = -21.4648745015602 | etot = -16.7807348697985 +112000 ekin = 2.185499595072 | erot = 2.55181336139714 | epot = -21.2989895507539 | etot = -16.5616765942847 +113000 ekin = 2.1730426325684 | erot = 2.34739205656817 | epot = -21.1119565159277 | etot = -16.5915218267911 +114000 ekin = 2.125108069316 | erot = 2.37674761233523 | epot = -20.9271632839068 | etot = -16.4253076022556 +115000 ekin = 2.06139325414478 | erot = 2.59024149702735 | epot = -20.7601756973169 | etot = -16.1085409461448 +116000 ekin = 2.00592136714115 | erot = 2.63732939337337 | epot = -20.6295174385162 | etot = -15.9862666780017 +117000 ekin = 2.00329160062531 | erot = 2.56870813228611 | epot = -20.5296446810243 | etot = -15.9576449481129 +118000 ekin = 2.0174280975583 | erot = 2.46944506284098 | epot = -20.4506063861926 | etot = -15.9637332257933 +119000 ekin = 1.98594704489191 | erot = 2.26746616716464 | epot = -20.4288828122731 | etot = -16.1754696002165 +120000 ekin = 1.94483011509478 | erot = 2.33696205000853 | epot = -20.442383394879 | etot = -16.1605912297756 +121000 ekin = 2.12792735290882 | erot = 2.36924962566049 | epot = -20.4991944142893 | etot = -16.00201743572 +122000 ekin = 2.10495427089355 | erot = 2.48776527931776 | epot = -20.574325415596 | etot = -15.9816058653847 +123000 ekin = 2.17541547749012 | erot = 2.84180455684321 | epot = -20.6672573168908 | etot = -15.6500372825575 +124000 ekin = 2.19585323570719 | erot = 2.81219539890926 | epot = -20.7617372386161 | etot = -15.7536886039996 +125000 ekin = 2.23956101001686 | erot = 2.84608901602504 | epot = -20.8364418009793 | etot = -15.7507917749374 +126000 ekin = 2.29874303635747 | erot = 3.12890547205359 | epot = -20.8639002292415 | etot = -15.4362517208305 +127000 ekin = 2.34552442074478 | erot = 2.96762996381649 | epot = -20.8482814122638 | etot = -15.5351270277026 +128000 ekin = 2.38042396339133 | erot = 2.39829809100068 | epot = -20.7821422786062 | etot = -16.0034202242142 +129000 ekin = 2.38818705381732 | erot = 2.14510497375872 | epot = -20.708044378118 | etot = -16.174752350542 +130000 ekin = 2.27293411796489 | erot = 2.06717107329867 | epot = -20.680722380144 | etot = -16.3406171888804 +131000 ekin = 2.28550173826512 | erot = 1.94055567970255 | epot = -20.6369898880998 | etot = -16.4109324701321 +132000 ekin = 2.26691955879914 | erot = 1.71853531657476 | epot = -20.577540507524 | etot = -16.5920856321501 +133000 ekin = 2.29137866879739 | erot = 1.62868472043517 | epot = -20.5420933212006 | etot = -16.622029931968 +134000 ekin = 2.25290206497431 | erot = 1.68278061233814 | epot = -20.5183097363761 | etot = -16.5826270590636 +135000 ekin = 2.14285941072835 | erot = 1.86118396103706 | epot = -20.5054969500188 | etot = -16.5014535782534 +136000 ekin = 2.12990199371918 | erot = 2.04359124600871 | epot = -20.5201047968038 | etot = -16.3466115570759 +137000 ekin = 2.07754853855295 | erot = 1.83088096227378 | epot = -20.5722472452261 | etot = -16.6638177443993 +138000 ekin = 2.15013934154965 | erot = 2.00941220949273 | epot = -20.667779560491 | etot = -16.5082280094487 +139000 ekin = 2.20517582266463 | erot = 1.94652682269834 | epot = -20.7931525252622 | etot = -16.6414498798992 +140000 ekin = 2.33731236767234 | erot = 1.96166026745082 | epot = -20.9310868774548 | etot = -16.6321142423316 +141000 ekin = 2.24448516285964 | erot = 2.27879036592832 | epot = -21.0648426319454 | etot = -16.5415671031575 +142000 ekin = 2.1931532375379 | erot = 2.32670116857754 | epot = -21.187774798334 | etot = -16.6679203922185 +143000 ekin = 2.151548283963 | erot = 2.38826183428083 | epot = -21.3137287268919 | etot = -16.7739186086481 +144000 ekin = 2.10225107667088 | erot = 2.40324709726068 | epot = -21.4354683955924 | etot = -16.9299702216609 +145000 ekin = 2.06221666396487 | erot = 2.32981540966414 | epot = -21.5580653796756 | etot = -17.1660333060466 +146000 ekin = 2.15268481715545 | erot = 2.24715096803345 | epot = -21.6452484907074 | etot = -17.2454127055185 +147000 ekin = 2.13045113501517 | erot = 2.24956262085626 | epot = -21.724100810277 | etot = -17.3440870544056 +148000 ekin = 2.14237927540729 | erot = 2.32388813542663 | epot = -21.8239853334792 | etot = -17.3577179226453 +149000 ekin = 2.13016451804401 | erot = 2.31003298264327 | epot = -21.9413859720018 | etot = -17.5011884713145 +150000 ekin = 2.1118941592917 | erot = 2.27040882248859 | epot = -22.0736176258281 | etot = -17.6913146440478 +151000 ekin = 2.08490791036346 | erot = 2.53796433942571 | epot = -22.1831326518407 | etot = -17.5602604020515 +152000 ekin = 2.05056796581086 | erot = 2.74378211496597 | epot = -22.2707370073162 | etot = -17.4763869265394 +153000 ekin = 2.01058950481926 | erot = 2.62970741316349 | epot = -22.3376436760766 | etot = -17.6973467580939 +154000 ekin = 2.01943769577487 | erot = 2.39009828792415 | epot = -22.4001638198039 | etot = -17.9906278361049 +155000 ekin = 2.05430763784564 | erot = 2.40978970203131 | epot = -22.4403746514595 | etot = -17.9762773115826 +156000 ekin = 2.10246203476605 | erot = 2.3162862509107 | epot = -22.3947496278242 | etot = -17.9760013421475 +157000 ekin = 2.20121785931622 | erot = 2.26047844907516 | epot = -22.3626746382073 | etot = -17.900978329816 +158000 ekin = 2.16806247020174 | erot = 2.01859116115299 | epot = -22.3794788142255 | etot = -18.1928251828708 +159000 ekin = 2.20647608921295 | erot = 2.03708981782408 | epot = -22.393340456396 | etot = -18.149774549359 +160000 ekin = 2.28482979303694 | erot = 2.06672295727712 | epot = -22.392971509361 | etot = -18.041418759047 +161000 ekin = 2.35408441526349 | erot = 2.11425691782657 | epot = -22.3845712470919 | etot = -17.9162299140018 +162000 ekin = 2.44383531112342 | erot = 2.051421726327 | epot = -22.3873594705055 | etot = -17.8921024330551 +163000 ekin = 2.38397054654208 | erot = 2.18088509829525 | epot = -22.4046928902402 | etot = -17.8398372454029 +164000 ekin = 2.36323785475495 | erot = 2.24099333696013 | epot = -22.4304254420051 | etot = -17.82619425029 +165000 ekin = 2.42861068657701 | erot = 2.32334175306822 | epot = -22.4693846686275 | etot = -17.7174322289823 +166000 ekin = 2.49646527013099 | erot = 2.76008268343011 | epot = -22.5024150074813 | etot = -17.2458670539202 +167000 ekin = 2.39742733231154 | erot = 2.66606455445541 | epot = -22.5059226951214 | etot = -17.4424308083544 +168000 ekin = 2.48222864422377 | erot = 2.12985047091143 | epot = -22.4839259607868 | etot = -17.8718468456516 +169000 ekin = 2.34389140284719 | erot = 2.23877784986582 | epot = -22.4355001459226 | etot = -17.8528308932096 +170000 ekin = 2.27819176115938 | erot = 2.38937348011876 | epot = -22.3963232925857 | etot = -17.7287580513075 +171000 ekin = 2.26183375697858 | erot = 2.6630881316761 | epot = -22.3493672389157 | etot = -17.424445350261 +172000 ekin = 2.27023963981113 | erot = 2.54732213285255 | epot = -22.2868682454192 | etot = -17.4693064727556 +173000 ekin = 2.19713801069004 | erot = 2.39492663110738 | epot = -22.206730666232 | etot = -17.6146660244346 +174000 ekin = 2.08128149693209 | erot = 2.65361881164586 | epot = -22.1239183165146 | etot = -17.3890180079366 +175000 ekin = 2.03179136441175 | erot = 2.6576915931798 | epot = -22.0831649919729 | etot = -17.3936820343813 +176000 ekin = 1.92235220335479 | erot = 2.46758244642911 | epot = -22.0704760764067 | etot = -17.6805414266228 +177000 ekin = 1.8767629533276 | erot = 2.76485058121241 | epot = -22.0943278887433 | etot = -17.4527143542032 +178000 ekin = 1.8196851112205 | erot = 3.06889049439786 | epot = -22.1713258315083 | etot = -17.28275022589 +179000 ekin = 1.83239453530745 | erot = 2.97256669493261 | epot = -22.3031073057822 | etot = -17.4981460755421 +180000 ekin = 1.78621083222566 | erot = 3.29401414659415 | epot = -22.470138760406 | etot = -17.3899137815862 +181000 ekin = 1.8851818529848 | erot = 3.13321574647615 | epot = -22.6327591209892 | etot = -17.6143615215283 +182000 ekin = 1.91900100882708 | erot = 2.86862183641649 | epot = -22.7815951170131 | etot = -17.9939722717695 +183000 ekin = 2.05132570727861 | erot = 3.08267197262641 | epot = -22.909220686437 | etot = -17.7752230065319 +184000 ekin = 2.06184088528539 | erot = 3.2007444069867 | epot = -23.0268740612164 | etot = -17.7642887689443 +185000 ekin = 2.09012289683705 | erot = 3.47009431072624 | epot = -23.1337090395161 | etot = -17.5734918319528 +186000 ekin = 2.23866301207462 | erot = 3.60859469886155 | epot = -23.1738137395751 | etot = -17.3265560286389 +187000 ekin = 2.42181473602224 | erot = 3.85086245359563 | epot = -23.1972395336004 | etot = -16.9245623439825 +188000 ekin = 2.41473791720882 | erot = 4.13943673363265 | epot = -23.313660149446 | etot = -16.7594854986045 +189000 ekin = 2.40456237424793 | erot = 4.00070701501225 | epot = -23.3710796524504 | etot = -16.9658102631902 +190000 ekin = 2.3927506641681 | erot = 3.65894410977791 | epot = -23.3540165218533 | etot = -17.3023217479073 +191000 ekin = 2.40766626916779 | erot = 4.27535474629197 | epot = -23.2939306874288 | etot = -16.610909671969 +192000 ekin = 2.38476057345244 | erot = 4.12521169410209 | epot = -23.1922092725541 | etot = -16.6822370049996 +193000 ekin = 2.26302104637807 | erot = 3.7779402618447 | epot = -23.0633113366603 | etot = -17.0223500284375 +194000 ekin = 2.10155057993347 | erot = 3.4992268119145 | epot = -22.9254751366501 | etot = -17.3246977448021 +195000 ekin = 2.03962481718054 | erot = 3.25259602899594 | epot = -22.769807353731 | etot = -17.4775865075545 +196000 ekin = 2.06049369787786 | erot = 2.84778946059528 | epot = -22.5997694102263 | etot = -17.6914862517532 +197000 ekin = 2.03160567713305 | erot = 2.37370828456973 | epot = -22.4368418077991 | etot = -18.0315278460963 +198000 ekin = 2.08676704026153 | erot = 2.19482531442788 | epot = -22.2622823748209 | etot = -17.9806900201315 +199000 ekin = 2.05269408710182 | erot = 2.16400413646367 | epot = -22.1035002649819 | etot = -17.8868020414165 +200000 ekin = 2.01411832170936 | erot = 2.38698541496883 | epot = -21.9546297375271 | etot = -17.5535260008489 +201000 ekin = 2.01209192808734 | erot = 2.38205260132373 | epot = -21.839087918056 | etot = -17.444943388645 +202000 ekin = 1.90781796628413 | erot = 2.36530018659051 | epot = -21.7246902929986 | etot = -17.4515721401239 +203000 ekin = 1.80024846565389 | erot = 2.34259351313096 | epot = -21.615977482744 | etot = -17.4731355039592 +204000 ekin = 1.68484818472322 | erot = 2.41487740212502 | epot = -21.5446736069975 | etot = -17.4449480201493 +205000 ekin = 1.6279281345828 | erot = 2.51982872964271 | epot = -21.5011323457791 | etot = -17.3533754815536 +206000 ekin = 1.55411064978348 | erot = 2.69683235574055 | epot = -21.4677288967242 | etot = -17.2167858912001 +207000 ekin = 1.51044177325198 | erot = 2.86067615909017 | epot = -21.4416223674891 | etot = -17.0705044351469 +208000 ekin = 1.46178623775162 | erot = 3.09687215817313 | epot = -21.3952301582476 | etot = -16.8365717623228 +209000 ekin = 1.49930719102405 | erot = 2.64986686100816 | epot = -21.3194384463854 | etot = -17.1702643943532 +210000 ekin = 1.48596643994187 | erot = 2.49507203528868 | epot = -21.2123168093858 | etot = -17.2312783341552 +211000 ekin = 1.51700235708605 | erot = 2.85982490581494 | epot = -21.0854390229479 | etot = -16.7086117600469 +212000 ekin = 1.47699871968623 | erot = 2.51260914037785 | epot = -20.9565961085739 | etot = -16.9669882485098 +213000 ekin = 1.58916579351334 | erot = 2.61661121884075 | epot = -20.8229216474679 | etot = -16.6171446351139 +214000 ekin = 1.62272322843393 | erot = 2.42273280311444 | epot = -20.7122766474859 | etot = -16.6668206159375 +215000 ekin = 1.66159030501777 | erot = 2.39943071607579 | epot = -20.6287014799337 | etot = -16.5676804588402 +216000 ekin = 1.74578478011215 | erot = 2.33284367785392 | epot = -20.5774611193674 | etot = -16.4988326614014 +217000 ekin = 1.86008672447786 | erot = 2.48365359198228 | epot = -20.5783803604762 | etot = -16.2346400440161 +218000 ekin = 1.88693206179544 | erot = 2.61817641260771 | epot = -20.6245681941586 | etot = -16.1194597197555 +219000 ekin = 1.9954584685533 | erot = 2.51280586705981 | epot = -20.672275526231 | etot = -16.1640111906179 +220000 ekin = 2.07891649227218 | erot = 2.43958393551872 | epot = -20.7460641755868 | etot = -16.2275637477959 +221000 ekin = 2.07405609075925 | erot = 2.36260767845184 | epot = -20.8472863845651 | etot = -16.410622615354 +222000 ekin = 2.10307745764232 | erot = 2.54950611704614 | epot = -20.9726401140739 | etot = -16.3200565393854 +223000 ekin = 2.029905607029 | erot = 2.36445779587677 | epot = -21.0835627182511 | etot = -16.6891993153454 +224000 ekin = 2.16888148730472 | erot = 2.48643165117694 | epot = -21.1978785829812 | etot = -16.5425654444995 +225000 ekin = 2.30521694661694 | erot = 2.40413284955319 | epot = -21.3143167094642 | etot = -16.6049669132941 +226000 ekin = 2.42660104949029 | erot = 2.10961133192969 | epot = -21.4003288303496 | etot = -16.8641164489296 +227000 ekin = 2.51989265457943 | erot = 2.19538124871698 | epot = -21.4710250786467 | etot = -16.7557511753503 +228000 ekin = 2.68551344341426 | erot = 2.30229521160067 | epot = -21.5296149017981 | etot = -16.5418062467832 +229000 ekin = 2.59976522820206 | erot = 2.51681087235227 | epot = -21.5666762700905 | etot = -16.4501001695361 +230000 ekin = 2.5850335929182 | erot = 2.17214995252271 | epot = -21.5872332974482 | etot = -16.8300497520073 +231000 ekin = 2.62353866357519 | erot = 2.17431567394796 | epot = -21.5820516856057 | etot = -16.7841973480826 +232000 ekin = 2.59120478967399 | erot = 2.34006912797248 | epot = -21.567210238379 | etot = -16.6359363207325 +233000 ekin = 2.51791287332682 | erot = 2.16488342987888 | epot = -21.5519147308628 | etot = -16.8691184276571 +234000 ekin = 2.48481380355974 | erot = 2.21816982784481 | epot = -21.5223665657165 | etot = -16.819382934312 +235000 ekin = 2.41086403910145 | erot = 2.10316509959354 | epot = -21.4789613614541 | etot = -16.9649322227591 +236000 ekin = 2.40928284749433 | erot = 1.88888489131681 | epot = -21.4361120637083 | etot = -17.1379443248971 +237000 ekin = 2.56301564001043 | erot = 1.7367156365967 | epot = -21.4280913003545 | etot = -17.1283600237474 +238000 ekin = 2.55765653830743 | erot = 1.90914079819508 | epot = -21.4255674324867 | etot = -16.9587700959842 +239000 ekin = 2.62181377631197 | erot = 2.06765286499137 | epot = -21.4529783008628 | etot = -16.7635116595594 +240000 ekin = 2.64076354676094 | erot = 2.31865643186807 | epot = -21.5224999667005 | etot = -16.5630799880715 +241000 ekin = 2.67609348690617 | erot = 2.52623661982354 | epot = -21.6079626104587 | etot = -16.405632503729 +242000 ekin = 2.63558109361467 | erot = 2.91329495494509 | epot = -21.6817125780998 | etot = -16.1328365295401 +243000 ekin = 2.76874739439914 | erot = 3.19547631893849 | epot = -21.72991854209 | etot = -15.7656948287524 +244000 ekin = 2.76082392607157 | erot = 2.9973885554399 | epot = -21.76547993096 | etot = -16.0072674494486 +245000 ekin = 2.84856552527554 | erot = 3.5561039977299 | epot = -21.7868813066433 | etot = -15.3822117836378 +246000 ekin = 2.74592112218097 | erot = 3.46897250198803 | epot = -21.7812302083596 | etot = -15.5663365841906 +247000 ekin = 2.62843885877447 | erot = 3.3915912792894 | epot = -21.7507462517775 | etot = -15.7307161137136 +248000 ekin = 2.6265799023713 | erot = 2.96254281821237 | epot = -21.6850863371033 | etot = -16.0959636165196 +249000 ekin = 2.64689987490188 | erot = 2.46750058971822 | epot = -21.6214034121611 | etot = -16.507002947541 +250000 ekin = 2.59258413901056 | erot = 1.95894591185221 | epot = -21.5523796219694 | etot = -17.0008495711067 +251000 ekin = 2.50508525922248 | erot = 1.94700044531511 | epot = -21.485640639306 | etot = -17.0335549347684 +252000 ekin = 2.362061411861 | erot = 2.03422118114505 | epot = -21.4223545940681 | etot = -17.0260720010621 +253000 ekin = 2.309350605284 | erot = 1.94736645762202 | epot = -21.3716222045374 | etot = -17.1149051416314 +254000 ekin = 2.2527459693501 | erot = 1.98706179687154 | epot = -21.3578828633465 | etot = -17.1180750971248 +255000 ekin = 2.24877704371088 | erot = 1.94793350141006 | epot = -21.3679438916479 | etot = -17.171233346527 +256000 ekin = 2.15038460246957 | erot = 2.1353664164586 | epot = -21.3873823966765 | etot = -17.1016313777483 +257000 ekin = 2.14820686493293 | erot = 1.95792063838272 | epot = -21.4016298030359 | etot = -17.2955022997202 +258000 ekin = 2.21551042205357 | erot = 2.08286212737995 | epot = -21.4265487793698 | etot = -17.1281762299363 +259000 ekin = 2.06173733154792 | erot = 1.93722502209168 | epot = -21.4284901665386 | etot = -17.429527812899 +260000 ekin = 1.95779184392074 | erot = 2.10071945094421 | epot = -21.4431554356543 | etot = -17.3846441407893 +261000 ekin = 1.89111873040642 | erot = 2.27491420373984 | epot = -21.4742539366704 | etot = -17.3082210025241 +262000 ekin = 1.81155628887094 | erot = 2.76845022524668 | epot = -21.5133565631458 | etot = -16.9333500490282 +263000 ekin = 1.78548461411774 | erot = 2.58995272844158 | epot = -21.5741933378567 | etot = -17.1987559952974 +264000 ekin = 1.70470903910482 | erot = 2.52740722130143 | epot = -21.6543975630333 | etot = -17.422281302627 +265000 ekin = 1.70456921180774 | erot = 2.91128169616601 | epot = -21.7314640373146 | etot = -17.1156131293409 +266000 ekin = 1.70108763348245 | erot = 3.15353043902165 | epot = -21.8059636436342 | etot = -16.9513455711301 +267000 ekin = 1.68792919988863 | erot = 2.90455900057175 | epot = -21.870732648304 | etot = -17.2782444478436 +268000 ekin = 1.72057453763242 | erot = 2.62604659087867 | epot = -21.9225381178383 | etot = -17.5759169893272 +269000 ekin = 1.78712640141424 | erot = 2.75599254857463 | epot = -21.9527991628362 | etot = -17.4096802128474 +270000 ekin = 1.72857790804084 | erot = 2.80083154386433 | epot = -21.9488059520795 | etot = -17.4193965001743 +271000 ekin = 1.64099428775304 | erot = 2.64687538276786 | epot = -21.9170243489263 | etot = -17.6291546784054 +272000 ekin = 1.58570258321571 | erot = 2.46968320121808 | epot = -21.8446210346508 | etot = -17.789235250217 +273000 ekin = 1.63767201216319 | erot = 2.19946786706664 | epot = -21.7638929876942 | etot = -17.9267531084643 +274000 ekin = 1.59847478128875 | erot = 2.30908990938638 | epot = -21.668243139743 | etot = -17.7606784490679 +275000 ekin = 1.48392569489385 | erot = 2.19949617068972 | epot = -21.5548162861332 | etot = -17.8713944205497 +276000 ekin = 1.39307584924635 | erot = 2.23039538438481 | epot = -21.4256702629286 | etot = -17.8021990292974 +277000 ekin = 1.32228191847669 | erot = 2.13983606829658 | epot = -21.3067538507252 | etot = -17.844635863952 +278000 ekin = 1.28711477346599 | erot = 2.14456329557357 | epot = -21.224078274628 | etot = -17.7924002055884 +279000 ekin = 1.28936005013437 | erot = 2.38491555516954 | epot = -21.173548547693 | etot = -17.4992729423891 +280000 ekin = 1.21003074239703 | erot = 2.42890760862482 | epot = -21.1457609661738 | etot = -17.5068226151519 +281000 ekin = 1.29885744861028 | erot = 2.42325573855922 | epot = -21.1507776171849 | etot = -17.4286644300154 +282000 ekin = 1.25436778972245 | erot = 2.81925761990964 | epot = -21.1898482264 | etot = -17.1162228167679 +283000 ekin = 1.21194774091223 | erot = 2.81987884081118 | epot = -21.2915251292642 | etot = -17.2596985475408 +284000 ekin = 1.18679083068176 | erot = 2.85260842120876 | epot = -21.4111056079338 | etot = -17.3717063560432 +285000 ekin = 1.15631267773667 | erot = 2.90112491489683 | epot = -21.5215297070962 | etot = -17.4640921144627 +286000 ekin = 1.1927926822259 | erot = 2.85809873900105 | epot = -21.6217291121405 | etot = -17.5708376909136 +287000 ekin = 1.26041360220417 | erot = 2.73020556183275 | epot = -21.6926219129291 | etot = -17.7020027488922 +288000 ekin = 1.28925684516283 | erot = 2.41344019790321 | epot = -21.7395791395394 | etot = -18.0368820964733 +289000 ekin = 1.32958093505212 | erot = 2.2719700407486 | epot = -21.7753244471437 | etot = -18.173773471343 +290000 ekin = 1.40642675848334 | erot = 1.95570600704145 | epot = -21.8122371335501 | etot = -18.4501043680253 +291000 ekin = 1.43917988615079 | erot = 1.90335102621715 | epot = -21.8672634472312 | etot = -18.5247325348633 +292000 ekin = 1.45457728536612 | erot = 1.91918018244104 | epot = -21.9211778027209 | etot = -18.5474203349137 +293000 ekin = 1.54025708206043 | erot = 1.76739883625603 | epot = -21.9892221465386 | etot = -18.6815662282221 +294000 ekin = 1.63446508682299 | erot = 1.86338835798862 | epot = -22.0608666741349 | etot = -18.5630132293233 +295000 ekin = 1.81613674682346 | erot = 1.9028469472332 | epot = -22.1395305108088 | etot = -18.4205468167521 +296000 ekin = 1.90988071285018 | erot = 2.10518814801487 | epot = -22.2099314509302 | etot = -18.1948625900651 +297000 ekin = 1.95608798955045 | erot = 2.52702443883807 | epot = -22.2985651779531 | etot = -17.8154527495646 +298000 ekin = 2.05852737833142 | erot = 2.38905675468749 | epot = -22.3766545803973 | etot = -17.9290704473783 +299000 ekin = 2.1864411137905 | erot = 2.43787113082697 | epot = -22.4274426042905 | etot = -17.8031303596731 +300000 ekin = 2.25246210387436 | erot = 2.26714642530523 | epot = -22.4460120088431 | etot = -17.9264034796635 +301000 ekin = 2.35563337457493 | erot = 1.81807021650493 | epot = -22.4572545711889 | etot = -18.2835509801091 +302000 ekin = 2.42168935052576 | erot = 2.12272372548235 | epot = -22.4773288548022 | etot = -17.9329157787941 +303000 ekin = 2.48491149619623 | erot = 1.80440720027866 | epot = -22.49978709942 | etot = -18.2104684029451 +304000 ekin = 2.57055300825417 | erot = 1.71612576378991 | epot = -22.5136290909673 | etot = -18.2269503189232 +305000 ekin = 2.60127252345969 | erot = 1.60228999221232 | epot = -22.5079813416075 | etot = -18.3044188259355 +306000 ekin = 2.65871790294493 | erot = 1.61152940110746 | epot = -22.4881104545321 | etot = -18.2178631504797 +307000 ekin = 2.67302778478971 | erot = 1.88303236420289 | epot = -22.4558851508275 | etot = -17.8998250018349 +308000 ekin = 2.66315429067354 | erot = 2.10086190187488 | epot = -22.4194774636684 | etot = -17.65546127112 +309000 ekin = 2.62361235711079 | erot = 2.06716291649094 | epot = -22.3854389472788 | etot = -17.694663673677 +310000 ekin = 2.65346557302746 | erot = 2.43388315560348 | epot = -22.3516578015447 | etot = -17.2643090729137 +311000 ekin = 2.62717610811387 | erot = 2.36697019339671 | epot = -22.3173746471545 | etot = -17.323228345644 +312000 ekin = 2.76485058199136 | erot = 2.29893166031318 | epot = -22.3073398967791 | etot = -17.2435576544746 +313000 ekin = 2.91401216196337 | erot = 2.42859802814641 | epot = -22.2874024124532 | etot = -16.9447922223434 +314000 ekin = 2.91385799167544 | erot = 1.91396248977988 | epot = -22.2694749773675 | etot = -17.4416544959122 +315000 ekin = 2.93036873457095 | erot = 1.99716548782002 | epot = -22.2742890679512 | etot = -17.3467548455602 +316000 ekin = 3.03268788685611 | erot = 1.92510083916592 | epot = -22.2577485073753 | etot = -17.2999597813533 +317000 ekin = 3.0878759484766 | erot = 1.92578200831355 | epot = -22.2266829567097 | etot = -17.2130249999196 +318000 ekin = 3.13577891188647 | erot = 1.80317853500181 | epot = -22.1919523893646 | etot = -17.2529949424764 +319000 ekin = 3.20520648794502 | erot = 1.70269113516979 | epot = -22.1746193500525 | etot = -17.2667217269377 +320000 ekin = 3.29702074479474 | erot = 1.5315778223532 | epot = -22.1625795722847 | etot = -17.3339810051367 +321000 ekin = 3.3450444842282 | erot = 1.62378232552177 | epot = -22.1868841736045 | etot = -17.2180573638545 +322000 ekin = 3.38460168822981 | erot = 1.76562508880759 | epot = -22.2499937572736 | etot = -17.0997669802362 +323000 ekin = 3.30048690012861 | erot = 1.78922162860215 | epot = -22.3245621231124 | etot = -17.2348535943816 +324000 ekin = 3.21996003388857 | erot = 2.07375779111671 | epot = -22.4074947135766 | etot = -17.1137768885713 +325000 ekin = 3.1932006584649 | erot = 2.34417123194124 | epot = -22.489592505192 | etot = -16.9522206147858 +326000 ekin = 3.13574523293136 | erot = 2.35602865246346 | epot = -22.5449076606476 | etot = -17.0531337752528 +327000 ekin = 3.06250064041744 | erot = 2.56089976464128 | epot = -22.5763641985364 | etot = -16.9529637934777 +328000 ekin = 2.98028960475491 | erot = 2.43252122765914 | epot = -22.5713698367082 | etot = -17.1585590042941 +329000 ekin = 3.00073413437889 | erot = 2.54697247273636 | epot = -22.5115486252432 | etot = -16.963842018128 +330000 ekin = 2.95148018624182 | erot = 2.24389127882677 | epot = -22.4149230401769 | etot = -17.2195515751083 +331000 ekin = 2.81139520816004 | erot = 2.33469163507243 | epot = -22.302381597186 | etot = -17.1562947539535 +332000 ekin = 2.70201927753231 | erot = 2.23446425932906 | epot = -22.1825698377621 | etot = -17.2460863009007 +333000 ekin = 2.67216560815672 | erot = 2.33828838842037 | epot = -22.1081794049503 | etot = -17.0977254083733 +334000 ekin = 2.63564129688352 | erot = 2.3844516220081 | epot = -22.0521006108914 | etot = -17.0320076919998 +335000 ekin = 2.49363748710296 | erot = 2.39927202409598 | epot = -21.999755390881 | etot = -17.1068458796821 +336000 ekin = 2.32703156354336 | erot = 2.49661552302095 | epot = -21.9570264750564 | etot = -17.1333793884921 +337000 ekin = 2.40437911185033 | erot = 2.34787944862516 | epot = -21.9196555873364 | etot = -17.167397026861 +338000 ekin = 2.41476505798858 | erot = 2.13162500253263 | epot = -21.8968278484035 | etot = -17.3504377878823 +339000 ekin = 2.43793058775621 | erot = 2.41901135922114 | epot = -21.903625267802 | etot = -17.0466833208247 +340000 ekin = 2.49068476405757 | erot = 2.44754202713574 | epot = -21.9103500540911 | etot = -16.9721232628978 +341000 ekin = 2.50472420190464 | erot = 2.67064038857613 | epot = -21.9332795205211 | etot = -16.7579149300404 +342000 ekin = 2.56647086804824 | erot = 2.61525528001605 | epot = -21.9674734299045 | etot = -16.7857472818402 +343000 ekin = 2.51904673868565 | erot = 2.55676588472587 | epot = -21.9948706708333 | etot = -16.9190580474217 +344000 ekin = 2.60508290174675 | erot = 2.48137560215985 | epot = -21.9825601130743 | etot = -16.8961016091677 +345000 ekin = 2.63784673980717 | erot = 2.00206586549288 | epot = -21.9580088648429 | etot = -17.3180962595428 +346000 ekin = 2.62397891911575 | erot = 2.06342882396961 | epot = -21.9497310194665 | etot = -17.2623232763812 +347000 ekin = 2.65803154655934 | erot = 2.1732091469081 | epot = -21.9288714180669 | etot = -17.0976307245995 +348000 ekin = 2.61080877072561 | erot = 2.24900638089749 | epot = -21.9064648355581 | etot = -17.046649683935 +349000 ekin = 2.56285615073655 | erot = 2.19373993711379 | epot = -21.9340203469075 | etot = -17.1774242590572 +350000 ekin = 2.52909341929274 | erot = 2.40459665484317 | epot = -21.9698973375558 | etot = -17.0362072634199 +351000 ekin = 2.49713504985993 | erot = 2.44402722640777 | epot = -22.0050349016586 | etot = -17.0638726253909 +352000 ekin = 2.4400081511828 | erot = 2.31901759386439 | epot = -22.0353401663223 | etot = -17.2763144212751 +353000 ekin = 2.43137304156583 | erot = 2.58293559904024 | epot = -22.0473314992667 | etot = -17.0330228586606 +354000 ekin = 2.42872461457131 | erot = 2.20097693718207 | epot = -22.0593257242364 | etot = -17.429624172483 +355000 ekin = 2.33110822210744 | erot = 2.4206307096628 | epot = -22.0716103668382 | etot = -17.3198714350679 +356000 ekin = 2.3039890517443 | erot = 2.62795866448668 | epot = -22.0804347592131 | etot = -17.1484870429821 +357000 ekin = 2.31942397069004 | erot = 2.59655320443807 | epot = -22.0821788434023 | etot = -17.1662016682742 +358000 ekin = 2.31430837414611 | erot = 2.83712652813159 | epot = -22.072502185868 | etot = -16.9210672835903 +359000 ekin = 2.31455342359158 | erot = 2.75771738371944 | epot = -22.0399086183635 | etot = -16.9676378110525 +360000 ekin = 2.33176210518086 | erot = 2.71178887834458 | epot = -22.0076297483562 | etot = -16.9640787648308 +361000 ekin = 2.27214122387383 | erot = 2.81145339858132 | epot = -21.9599421657393 | etot = -16.8763475432841 +362000 ekin = 2.29940723820851 | erot = 2.47979741361589 | epot = -21.9089639290965 | etot = -17.1297592772721 +363000 ekin = 2.53443578574928 | erot = 2.53169478867016 | epot = -21.8243312678077 | etot = -16.7582006933883 +364000 ekin = 2.62218089033857 | erot = 2.40320793892339 | epot = -21.7324712534029 | etot = -16.7070824241409 +365000 ekin = 2.7675580876352 | erot = 1.89475409755416 | epot = -21.6405111096152 | etot = -16.9781989244259 +366000 ekin = 2.83684484493777 | erot = 1.57102850121852 | epot = -21.5686856667024 | etot = -17.1608123205461 +367000 ekin = 2.93599158208377 | erot = 1.35687050095051 | epot = -21.4921061985772 | etot = -17.199244115543 +368000 ekin = 3.10052552420318 | erot = 1.34392548947238 | epot = -21.4550475057325 | etot = -17.0105964920569 +369000 ekin = 3.32282273578325 | erot = 1.444496693381 | epot = -21.469634605235 | etot = -16.7023151760708 +370000 ekin = 3.32440357214629 | erot = 1.32498034754162 | epot = -21.5235244672076 | etot = -16.8741405475197 +371000 ekin = 3.19604825174787 | erot = 1.32912305315194 | epot = -21.6063167417295 | etot = -17.0811454368297 +372000 ekin = 3.24806725016557 | erot = 1.57623327064951 | epot = -21.7023719429117 | etot = -16.8780714220966 +373000 ekin = 3.19541088772615 | erot = 1.59021472687934 | epot = -21.8029802274107 | etot = -17.0173546128052 +374000 ekin = 3.26135365290669 | erot = 1.85216595682046 | epot = -21.8950570456544 | etot = -16.7815374359273 +375000 ekin = 3.29383454867966 | erot = 2.06907009365906 | epot = -21.9845454700943 | etot = -16.6216408277556 +376000 ekin = 3.20015592859739 | erot = 2.07351416601095 | epot = -22.0952882395876 | etot = -16.8216181449793 +377000 ekin = 3.09004850922738 | erot = 2.18294615546873 | epot = -22.1887281106778 | etot = -16.9157334459817 +378000 ekin = 3.05043348195281 | erot = 2.51583225096577 | epot = -22.263666143955 | etot = -16.6974004110364 +379000 ekin = 3.10166908828999 | erot = 2.66676931647561 | epot = -22.3392187414395 | etot = -16.5707803366739 +380000 ekin = 3.11503780326003 | erot = 2.6084093126981 | epot = -22.3678930086929 | etot = -16.6444458927347 +381000 ekin = 3.11901255865583 | erot = 2.5131674520525 | epot = -22.3595089455393 | etot = -16.727328934831 +382000 ekin = 3.08198965968261 | erot = 2.54216489271882 | epot = -22.3171355116317 | etot = -16.6929809592303 +383000 ekin = 3.08529312773617 | erot = 2.60747953716485 | epot = -22.268125758685 | etot = -16.575353093784 +384000 ekin = 3.06435455473092 | erot = 2.59008305218086 | epot = -22.2008329018472 | etot = -16.5463952949354 +385000 ekin = 2.96902524929809 | erot = 2.39487400705568 | epot = -22.1308203226012 | etot = -16.7669210662474 +386000 ekin = 2.94398257253719 | erot = 2.3562498967375 | epot = -22.0974491806139 | etot = -16.7972167113393 +387000 ekin = 2.90022143016866 | erot = 2.26095116124118 | epot = -22.0819030869075 | etot = -16.9207304954977 +388000 ekin = 2.81389126988738 | erot = 2.13357533996891 | epot = -22.1104886391662 | etot = -17.1630220293099 +389000 ekin = 2.86348776127269 | erot = 2.05672668796337 | epot = -22.1951193908387 | etot = -17.2749049416026 +390000 ekin = 2.77165535979985 | erot = 2.1536573950014 | epot = -22.3132389416923 | etot = -17.387926186891 +391000 ekin = 2.77370479657934 | erot = 2.43647051356027 | epot = -22.4565212308196 | etot = -17.24634592068 +392000 ekin = 2.76583278927001 | erot = 2.40676865464339 | epot = -22.5818573009823 | etot = -17.4092558570689 +393000 ekin = 2.8090002415766 | erot = 2.37169277236098 | epot = -22.708659499688 | etot = -17.5279664857504 +394000 ekin = 2.87248081177523 | erot = 2.11617756482167 | epot = -22.8170775591549 | etot = -17.828419182558 +395000 ekin = 2.88095223032719 | erot = 2.05659355426901 | epot = -22.8808764228085 | etot = -17.9433306382123 +396000 ekin = 2.93418192071603 | erot = 2.30478582950589 | epot = -22.9097915865589 | etot = -17.670823836337 +397000 ekin = 2.98163695220519 | erot = 2.08558984982203 | epot = -22.9183417641045 | etot = -17.8511149620773 +398000 ekin = 2.98779262545462 | erot = 2.1519208232311 | epot = -22.9077750506591 | etot = -17.7680616019734 +399000 ekin = 2.91865693266167 | erot = 1.82887135319329 | epot = -22.8818662686362 | etot = -18.1343379827812 +400000 ekin = 2.90983153702377 | erot = 1.84033842076736 | epot = -22.8234620217338 | etot = -18.0732920639427 +401000 ekin = 2.82193337892235 | erot = 1.65785555934519 | epot = -22.7432945990589 | etot = -18.2635056607914 +402000 ekin = 2.71231263059655 | erot = 1.81039261887843 | epot = -22.6593739244624 | etot = -18.1366686749875 +403000 ekin = 2.66036084604549 | erot = 2.02498533176227 | epot = -22.6001656022283 | etot = -17.9148194244206 +404000 ekin = 2.57068790240545 | erot = 1.93095594974698 | epot = -22.5470237392586 | etot = -18.0453798871061 +405000 ekin = 2.56561221793745 | erot = 1.68739793089169 | epot = -22.480605837446 | etot = -18.2275956886169 +406000 ekin = 2.49833625235135 | erot = 1.48188239687435 | epot = -22.4539596863985 | etot = -18.4737410371728 +407000 ekin = 2.49021560270514 | erot = 1.5892860254214 | epot = -22.4700632657781 | etot = -18.3905616376516 +408000 ekin = 2.38021871164262 | erot = 1.73637964468692 | epot = -22.4959988290513 | etot = -18.3794004727218 +409000 ekin = 2.29461436770141 | erot = 1.95814824220571 | epot = -22.5206422995263 | etot = -18.2678796896192 +410000 ekin = 2.25736852989513 | erot = 2.37993089507051 | epot = -22.5486602508663 | etot = -17.9113608259007 +411000 ekin = 2.21596387204285 | erot = 2.74396072623423 | epot = -22.5838815063887 | etot = -17.6239569081116 +412000 ekin = 2.20994969108704 | erot = 2.86593591747017 | epot = -22.6211739699291 | etot = -17.5452883613719 +413000 ekin = 2.24794753023262 | erot = 3.00088801126985 | epot = -22.6476708665275 | etot = -17.3988353250251 +414000 ekin = 2.14160819513185 | erot = 3.01120724411814 | epot = -22.6376025284281 | etot = -17.4847870891781 +415000 ekin = 2.14491177835009 | erot = 2.93215202860195 | epot = -22.5902585718866 | etot = -17.5131947649345 +416000 ekin = 2.10193769123485 | erot = 2.98101624126922 | epot = -22.5118964710199 | etot = -17.4289425385158 +417000 ekin = 2.07066635663256 | erot = 2.60488497680169 | epot = -22.4065047924709 | etot = -17.7309534590366 +418000 ekin = 2.07740574841323 | erot = 2.73315084489166 | epot = -22.2898027885339 | etot = -17.479246195229 +419000 ekin = 1.98085199943436 | erot = 2.44747426745325 | epot = -22.163133683714 | etot = -17.7348074168264 +420000 ekin = 1.95880289350344 | erot = 2.55129347690097 | epot = -22.0482798158306 | etot = -17.5381834454262 +421000 ekin = 1.99828966251063 | erot = 2.20799196393455 | epot = -21.9395525585648 | etot = -17.7332709321197 +422000 ekin = 1.93529999466694 | erot = 2.35358466371906 | epot = -21.8587107341242 | etot = -17.5698260757382 +423000 ekin = 1.84611594143486 | erot = 2.2522856588745 | epot = -21.820655990977 | etot = -17.7222543906677 +424000 ekin = 1.92830552207798 | erot = 1.92697824358688 | epot = -21.7779729704118 | etot = -17.9226892047469 +425000 ekin = 1.87968918412311 | erot = 2.04838530467769 | epot = -21.7345809752812 | etot = -17.8065064864804 +426000 ekin = 1.85564129701465 | erot = 2.1399138178221 | epot = -21.7013928959337 | etot = -17.7058377810969 +427000 ekin = 1.86146118829923 | erot = 2.21385079035759 | epot = -21.6794945474636 | etot = -17.6041825688068 +428000 ekin = 1.93768082509312 | erot = 2.13363270684648 | epot = -21.6773435664083 | etot = -17.6060300344687 +429000 ekin = 1.99945365892741 | erot = 2.19562243163486 | epot = -21.70540364656 | etot = -17.5103275559977 +430000 ekin = 2.09718842591568 | erot = 2.34633202136167 | epot = -21.7371065581004 | etot = -17.2935861108231 +431000 ekin = 2.17999939901923 | erot = 2.30896770966998 | epot = -21.7414717361356 | etot = -17.2525046274464 +432000 ekin = 2.25849803136384 | erot = 2.37380554728488 | epot = -21.7217776472067 | etot = -17.089474068558 +433000 ekin = 2.24429029360173 | erot = 2.44429429006325 | epot = -21.7017276929561 | etot = -17.0131431092911 +434000 ekin = 2.3540638574789 | erot = 2.48920790113105 | epot = -21.7007812192857 | etot = -16.8575094606758 +435000 ekin = 2.2473788015354 | erot = 2.46595163485294 | epot = -21.7063339873007 | etot = -16.9930035509124 +436000 ekin = 2.23230082302271 | erot = 2.42669718967145 | epot = -21.7123927262193 | etot = -17.0533947135251 +437000 ekin = 2.18383665113547 | erot = 2.24664794927375 | epot = -21.7330413026264 | etot = -17.3025567022172 +438000 ekin = 2.12966913497249 | erot = 2.37196465183248 | epot = -21.7485872315853 | etot = -17.2469534447803 +439000 ekin = 2.09098898533785 | erot = 2.12933040903347 | epot = -21.7361412880266 | etot = -17.5158218936553 +440000 ekin = 2.10148571824482 | erot = 2.2779361859281 | epot = -21.7175254276832 | etot = -17.3381035235102 +441000 ekin = 2.1553286798209 | erot = 2.3186564021372 | epot = -21.6981903134064 | etot = -17.2242052314483 +442000 ekin = 2.09243597225384 | erot = 2.72841000678825 | epot = -21.6523738209045 | etot = -16.8315278418624 +443000 ekin = 2.15730367932196 | erot = 2.62581799220048 | epot = -21.5875809663665 | etot = -16.804459294844 +444000 ekin = 2.18263017921498 | erot = 2.37014829408735 | epot = -21.5048241508839 | etot = -16.9520456775816 +445000 ekin = 2.05145531635837 | erot = 2.17678227962612 | epot = -21.4326062625763 | etot = -17.2043686665918 +446000 ekin = 2.01020948431958 | erot = 2.37374422099255 | epot = -21.3645246084935 | etot = -16.9805709031814 +447000 ekin = 1.8958831793316 | erot = 2.45289089837798 | epot = -21.2952162464883 | etot = -16.9464421687787 +448000 ekin = 1.94918640966676 | erot = 2.3970392813938 | epot = -21.2255467455681 | etot = -16.8793210545075 +449000 ekin = 1.91481408982851 | erot = 2.28318705908352 | epot = -21.1543411876567 | etot = -16.9563400387447 +450000 ekin = 1.87784973555275 | erot = 2.12485795516302 | epot = -21.104620635514 | etot = -17.1019129447982 +451000 ekin = 1.97352148815462 | erot = 1.86756984773937 | epot = -21.0797511236576 | etot = -17.2386597877636 +452000 ekin = 2.04286189285661 | erot = 1.80786168372315 | epot = -21.0697245816184 | etot = -17.2190010050387 +453000 ekin = 2.13848606471689 | erot = 1.6737650166203 | epot = -21.0904747395761 | etot = -17.2782236582389 +454000 ekin = 2.1516494519113 | erot = 2.04932890222844 | epot = -21.1143650676536 | etot = -16.9133867135139 +455000 ekin = 2.19477985095264 | erot = 2.16695764653253 | epot = -21.1370563835238 | etot = -16.7753188860386 +456000 ekin = 2.1974026116872 | erot = 2.10215601431902 | epot = -21.1403905144292 | etot = -16.840831888423 +457000 ekin = 2.20601557977666 | erot = 2.13174146927016 | epot = -21.1647757949631 | etot = -16.8270187459163 +458000 ekin = 2.2269349746625 | erot = 2.00297660996798 | epot = -21.2133843445386 | etot = -16.9834727599081 +459000 ekin = 2.4030693526155 | erot = 2.07528469876378 | epot = -21.2759346114694 | etot = -16.7975805600901 +460000 ekin = 2.40922164106722 | erot = 2.23665563054181 | epot = -21.3522817196572 | etot = -16.7064044480482 +461000 ekin = 2.42000759716819 | erot = 2.33121048923255 | epot = -21.4035924354777 | etot = -16.652374349077 +462000 ekin = 2.40697031331577 | erot = 2.14275899197095 | epot = -21.4310008578857 | etot = -16.8812715525989 +463000 ekin = 2.27880926024481 | erot = 1.94507556924339 | epot = -21.4477328212942 | etot = -17.223847991806 +464000 ekin = 2.26372093546455 | erot = 1.71662964564979 | epot = -21.4283876808073 | etot = -17.4480370996929 +465000 ekin = 2.24118575319938 | erot = 1.89668392003695 | epot = -21.4003434057032 | etot = -17.2624737324669 +466000 ekin = 2.31013461832323 | erot = 2.00757055155841 | epot = -21.3608207821978 | etot = -17.0431156123161 +467000 ekin = 2.43396967913942 | erot = 2.21874571911993 | epot = -21.3053258443235 | etot = -16.6526104460642 +468000 ekin = 2.41021440017836 | erot = 1.97479498639507 | epot = -21.233460271117 | etot = -16.8484508845435 +469000 ekin = 2.3157853147123 | erot = 1.99784256139231 | epot = -21.182151702858 | etot = -16.8685238267534 +470000 ekin = 2.20506875315381 | erot = 1.87887773816018 | epot = -21.1430826832857 | etot = -17.0591361919717 +471000 ekin = 2.13628837828122 | erot = 1.99677754816689 | epot = -21.1290504063501 | etot = -16.995984479902 +472000 ekin = 2.10129418295647 | erot = 2.24056612365186 | epot = -21.1431228234936 | etot = -16.8012625168853 +473000 ekin = 2.15627273414965 | erot = 2.19993171978125 | epot = -21.173330041464 | etot = -16.8171255875331 +474000 ekin = 2.14076076010805 | erot = 2.25446359877062 | epot = -21.2210062632869 | etot = -16.8257819044082 +475000 ekin = 2.13812755485174 | erot = 2.40498819642984 | epot = -21.2865391851112 | etot = -16.7434234338296 +476000 ekin = 2.06858808991814 | erot = 2.38860590776926 | epot = -21.3434845601286 | etot = -16.8862905624412 +477000 ekin = 2.0700644049205 | erot = 2.7540657021351 | epot = -21.3922756308482 | etot = -16.5681455237926 +478000 ekin = 2.18444735013637 | erot = 2.70772307923254 | epot = -21.434381599235 | etot = -16.5422111698661 +479000 ekin = 2.19942421685253 | erot = 3.01662715265715 | epot = -21.4597482066208 | etot = -16.2436968371111 +480000 ekin = 2.09676344946083 | erot = 2.92438195103735 | epot = -21.4845635218899 | etot = -16.4634181213917 +481000 ekin = 2.05435750946169 | erot = 2.899464892258 | epot = -21.5058659565647 | etot = -16.552043554845 +482000 ekin = 1.93906176361667 | erot = 2.94002477322947 | epot = -21.5133252549458 | etot = -16.6342387180997 +483000 ekin = 1.92495432631116 | erot = 3.07385412342439 | epot = -21.5077333577222 | etot = -16.5089249079866 +484000 ekin = 1.92789828975055 | erot = 3.32856329414681 | epot = -21.5066449871575 | etot = -16.2501834032601 +485000 ekin = 1.91268771816301 | erot = 3.09586191791529 | epot = -21.4833052647979 | etot = -16.4747556287196 +486000 ekin = 1.78380043967864 | erot = 3.03494358258153 | epot = -21.4585833289247 | etot = -16.6398393066645 +487000 ekin = 1.66173050700701 | erot = 2.86000419946685 | epot = -21.4169307099543 | etot = -16.8951960034805 +488000 ekin = 1.68618039122613 | erot = 2.81632446798677 | epot = -21.3632748840397 | etot = -16.8607700248269 +489000 ekin = 1.70799546417861 | erot = 2.42402499535231 | epot = -21.2867408576367 | etot = -17.1547203981058 +490000 ekin = 1.7675823123897 | erot = 2.12271247808927 | epot = -21.2077046249559 | etot = -17.3174098344769 +491000 ekin = 1.763066632967 | erot = 2.86063070746491 | epot = -21.1723403735266 | etot = -16.5486430330947 +492000 ekin = 1.76846685645964 | erot = 2.89751715915284 | epot = -21.1637728122909 | etot = -16.4977887966784 +493000 ekin = 1.78426656200534 | erot = 3.00701255652289 | epot = -21.1773664941122 | etot = -16.3860873755839 +494000 ekin = 1.86551817373653 | erot = 2.87131917289134 | epot = -21.2025250650233 | etot = -16.4656877183954 +495000 ekin = 1.90523259261326 | erot = 3.14209453322643 | epot = -21.1998154388831 | etot = -16.1524883130435 +496000 ekin = 1.9833512663616 | erot = 2.98540814212675 | epot = -21.190647849325 | etot = -16.2218884408366 +497000 ekin = 2.0663482572869 | erot = 2.9589659087184 | epot = -21.162155154281 | etot = -16.1368409882757 +498000 ekin = 2.15272400284839 | erot = 3.02117382743709 | epot = -21.1193839391165 | etot = -15.945486108831 +499000 ekin = 2.17953814058354 | erot = 2.79565288062849 | epot = -21.107199393856 | etot = -16.132008372644 +500000 ekin = 2.18279625505118 | erot = 2.73392245688639 | epot = -21.1153073171069 | etot = -16.1985886051693 +501000 ekin = 2.1493445630415 | erot = 3.04941214942258 | epot = -21.1511220012823 | etot = -15.9523652888182 +502000 ekin = 2.24815210672142 | erot = 3.29370999045862 | epot = -21.191424172631 | etot = -15.649562075451 +503000 ekin = 2.24373540198279 | erot = 3.32111123848728 | epot = -21.2742763532377 | etot = -15.7094297127676 +504000 ekin = 2.23803989684424 | erot = 3.09914128419125 | epot = -21.3733619536836 | etot = -16.0361807726481 +505000 ekin = 2.301026054863 | erot = 3.19612982312048 | epot = -21.4437932084698 | etot = -15.9466373304863 +506000 ekin = 2.36370831780336 | erot = 3.19995831891704 | epot = -21.4937378126651 | etot = -15.9300711759447 +507000 ekin = 2.42840177155302 | erot = 2.81713782658397 | epot = -21.5299907326267 | etot = -16.2844511344897 +508000 ekin = 2.34968005299893 | erot = 2.32969767190603 | epot = -21.5629586677088 | etot = -16.8835809428039 +509000 ekin = 2.31587277783952 | erot = 2.32044150422003 | epot = -21.5800976653971 | etot = -16.9437833833376 +510000 ekin = 2.39415651583773 | erot = 2.32489194511605 | epot = -21.5909228684576 | etot = -16.8718744075039 +511000 ekin = 2.37917219486066 | erot = 2.25376804515889 | epot = -21.6001349490027 | etot = -16.9671947089831 +512000 ekin = 2.37938693355399 | erot = 1.9202388598811 | epot = -21.6111071917148 | etot = -17.3114813982797 +513000 ekin = 2.40685857959532 | erot = 2.08600293524419 | epot = -21.6155439119532 | etot = -17.1226823971136 +514000 ekin = 2.46724209327164 | erot = 2.20949952828772 | epot = -21.6418209909603 | etot = -16.9650793694009 +515000 ekin = 2.44642692672638 | erot = 2.02689318439838 | epot = -21.6526616938245 | etot = -17.1793415826998 +516000 ekin = 2.34670203308737 | erot = 2.1539612594322 | epot = -21.6543094777106 | etot = -17.1536461851911 +517000 ekin = 2.33878155191639 | erot = 2.33294662418961 | epot = -21.6421766473134 | etot = -16.9704484712074 +518000 ekin = 2.31107655587534 | erot = 2.15491971030942 | epot = -21.6319254773266 | etot = -17.1659292111418 +519000 ekin = 2.29496119138263 | erot = 2.00492803313407 | epot = -21.6347632719486 | etot = -17.3348740474319 +520000 ekin = 2.15339792107198 | erot = 2.04457004756208 | epot = -21.6507830510491 | etot = -17.4528150824151 +521000 ekin = 2.20801983612442 | erot = 2.16352250997088 | epot = -21.6715366002406 | etot = -17.2999942541453 +522000 ekin = 2.28349511901208 | erot = 2.12203826388421 | epot = -21.70670455002 | etot = -17.3011711671237 +523000 ekin = 2.28326140498752 | erot = 2.24730546524185 | epot = -21.7500540285242 | etot = -17.2194871582948 +524000 ekin = 2.4143039130042 | erot = 2.30243275419784 | epot = -21.7887659971607 | etot = -17.0720293299587 +525000 ekin = 2.46563871852205 | erot = 2.61576568534231 | epot = -21.8311918688005 | etot = -16.7497874649362 +526000 ekin = 2.44766866227838 | erot = 2.73251608599221 | epot = -21.8542594932623 | etot = -16.6740747449917 +527000 ekin = 2.49415128662355 | erot = 2.97647354160871 | epot = -21.86549614123 | etot = -16.3948713129978 +528000 ekin = 2.63765981818835 | erot = 2.90145202540047 | epot = -21.8539949982381 | etot = -16.3148831546493 +529000 ekin = 2.61312965886426 | erot = 2.63810638896243 | epot = -21.8123029021244 | etot = -16.5610668542977 +530000 ekin = 2.61679294703746 | erot = 2.67053467520203 | epot = -21.7690607572619 | etot = -16.4817331350224 +531000 ekin = 2.48476384385703 | erot = 2.71653952081332 | epot = -21.716536544046 | etot = -16.5152331793757 +532000 ekin = 2.48793546388984 | erot = 2.65738787716566 | epot = -21.6564484956907 | etot = -16.5111251546352 +533000 ekin = 2.41456215119455 | erot = 2.64489299438373 | epot = -21.6390724827862 | etot = -16.5796173372079 +534000 ekin = 2.29777827242773 | erot = 2.74873035111897 | epot = -21.6608745386253 | etot = -16.6143659150786 +535000 ekin = 2.26088917727541 | erot = 2.83473610922388 | epot = -21.6981866268837 | etot = -16.6025613403845 +536000 ekin = 2.20131769719336 | erot = 2.88353145322212 | epot = -21.7552484828583 | etot = -16.6703993324428 +537000 ekin = 2.13082565508322 | erot = 2.91286112998284 | epot = -21.7996526043397 | etot = -16.7559658192736 +538000 ekin = 2.05764519091748 | erot = 2.95211539945563 | epot = -21.8281285512859 | etot = -16.8183679609128 +539000 ekin = 1.97437084021542 | erot = 2.90970740612335 | epot = -21.8443187140806 | etot = -16.9602404677418 +540000 ekin = 1.95684111980197 | erot = 2.53831910392175 | epot = -21.8503067819185 | etot = -17.3551465581948 +541000 ekin = 2.01269488661898 | erot = 2.53569793957032 | epot = -21.8275993102506 | etot = -17.2792064840613 +542000 ekin = 2.03504454490688 | erot = 2.82348341864005 | epot = -21.8036330964535 | etot = -16.9451051329066 +543000 ekin = 2.03020807235302 | erot = 3.03370589872105 | epot = -21.8016375466952 | etot = -16.7377235756211 +544000 ekin = 2.0526905285699 | erot = 2.58799516983473 | epot = -21.8033388274283 | etot = -17.1626531290237 +545000 ekin = 2.15141870706955 | erot = 2.4042815973314 | epot = -21.8230803043774 | etot = -17.2673799999764 +546000 ekin = 2.27300091219341 | erot = 2.20572730047329 | epot = -21.8690779560946 | etot = -17.3903497434279 +547000 ekin = 2.35364033678051 | erot = 2.18498069722316 | epot = -21.9465784737243 | etot = -17.4079574397206 +548000 ekin = 2.43307589906662 | erot = 2.42293816342301 | epot = -22.0303494741984 | etot = -17.1743354117087 +549000 ekin = 2.5408859089621 | erot = 2.9095237719502 | epot = -22.1200487075606 | etot = -16.6696390266484 +550000 ekin = 2.56016664627915 | erot = 2.6839810389517 | epot = -22.1766985156474 | etot = -16.9325508304166 +551000 ekin = 2.72417690556167 | erot = 2.72891308441083 | epot = -22.2176306990375 | etot = -16.764540709065 +552000 ekin = 2.72596785657256 | erot = 2.42255580538612 | epot = -22.2421241890567 | etot = -17.093600527098 +553000 ekin = 2.78508615614561 | erot = 2.39994410027743 | epot = -22.2425789733829 | etot = -17.0575487169599 +554000 ekin = 2.81568582164743 | erot = 2.30970996795574 | epot = -22.212027345066 | etot = -17.0866315554629 +555000 ekin = 2.79395520813526 | erot = 2.24542312270131 | epot = -22.1601855930768 | etot = -17.1208072622402 +556000 ekin = 2.81007006192491 | erot = 2.29040711319246 | epot = -22.0853198857606 | etot = -16.9848427106433 +557000 ekin = 2.86720343014877 | erot = 2.06281031141597 | epot = -21.9979009255867 | etot = -17.067887184022 +558000 ekin = 2.75377155929337 | erot = 2.13725587394232 | epot = -21.8668776496785 | etot = -16.9758502164428 +559000 ekin = 2.72157639522935 | erot = 2.20102610126822 | epot = -21.7194344747875 | etot = -16.7968319782899 +560000 ekin = 2.70961845092855 | erot = 2.59816182534501 | epot = -21.5357151296297 | etot = -16.2279348533562 +561000 ekin = 2.57949305004198 | erot = 2.96337390027718 | epot = -21.3145814838315 | etot = -15.7717145335124 +562000 ekin = 2.32107059805617 | erot = 2.5114321407515 | epot = -21.0085235339445 | etot = -16.1760207951368 +563000 ekin = 2.24732443728602 | erot = 2.38790050938188 | epot = -20.815450988449 | etot = -16.1802260417811 +564000 ekin = 2.33791301852585 | erot = 2.68335523927264 | epot = -20.8066084764155 | etot = -15.785340218617 +565000 ekin = 2.3251020907636 | erot = 2.8508896099135 | epot = -20.6671406909933 | etot = -15.4911489903162 +566000 ekin = 2.20543771892918 | erot = 2.3570671903573 | epot = -20.5538554522387 | etot = -15.9913505429522 +567000 ekin = 2.11804196373759 | erot = 2.40185685943679 | epot = -20.4713035116104 | etot = -15.9514046884361 +568000 ekin = 2.22268682011198 | erot = 2.33307148175129 | epot = -20.3820924859933 | etot = -15.82633418413 +569000 ekin = 2.09547585997718 | erot = 2.62261207858588 | epot = -20.2691455782376 | etot = -15.5510576396745 +570000 ekin = 2.01580186947869 | erot = 2.33698172151224 | epot = -20.165895860353 | etot = -15.8131122693621 +571000 ekin = 2.08039178219742 | erot = 2.36534037676669 | epot = -20.0857600662143 | etot = -15.6400279072502 +572000 ekin = 2.11927324959282 | erot = 2.30282149950142 | epot = -20.0451987594367 | etot = -15.6231040103424 +573000 ekin = 2.04663917529167 | erot = 2.33972667939313 | epot = -20.0317480451749 | etot = -15.6453821904901 +574000 ekin = 2.09962922460125 | erot = 2.19990447249072 | epot = -20.0660831814173 | etot = -15.7665494843253 +575000 ekin = 2.27242130434709 | erot = 2.25609508493244 | epot = -20.1489560418931 | etot = -15.6204396526135 +576000 ekin = 2.39016715864509 | erot = 2.22255127128249 | epot = -20.2603613797462 | etot = -15.6476429498186 +577000 ekin = 2.36412563740733 | erot = 2.30198986937718 | epot = -20.3752615554301 | etot = -15.7091460486456 +578000 ekin = 2.49125580710745 | erot = 2.42660786227683 | epot = -20.5025207025988 | etot = -15.5846570332145 +579000 ekin = 2.56165048094669 | erot = 2.83228223321291 | epot = -20.6368911222347 | etot = -15.2429584080751 +580000 ekin = 2.59857076318839 | erot = 2.86537715884225 | epot = -20.7281657529402 | etot = -15.2642178309096 +581000 ekin = 2.75751410053949 | erot = 3.20102304026106 | epot = -20.7812637399731 | etot = -14.8227265991726 +582000 ekin = 2.72186433456398 | erot = 2.73127793091829 | epot = -20.8119294300415 | etot = -15.3587871645592 +583000 ekin = 2.62273499225633 | erot = 2.46109328120281 | epot = -20.8274714671204 | etot = -15.7436431936613 +584000 ekin = 2.65791178049948 | erot = 2.52854330537008 | epot = -20.8318022222694 | etot = -15.6453471363999 +585000 ekin = 2.61150125120808 | erot = 2.75251814406226 | epot = -20.8423541781133 | etot = -15.478334782843 +586000 ekin = 2.56490529514512 | erot = 2.76819989101138 | epot = -20.8235905183125 | etot = -15.490485332156 +587000 ekin = 2.44377479420604 | erot = 2.55313165140467 | epot = -20.7873967690622 | etot = -15.7904903234515 +588000 ekin = 2.54600679288713 | erot = 2.00966564099413 | epot = -20.741489849751 | etot = -16.1858174158697 +589000 ekin = 2.42615788479188 | erot = 1.8739594454408 | epot = -20.7098613915249 | etot = -16.4097440612923 +590000 ekin = 2.42016761405622 | erot = 1.7197705476391 | epot = -20.6824691484087 | etot = -16.5425309867133 +591000 ekin = 2.3876073780024 | erot = 1.84146371886644 | epot = -20.6722800899372 | etot = -16.4432089930684 +592000 ekin = 2.31657054464644 | erot = 1.96505693643476 | epot = -20.70316667755 | etot = -16.4215391964688 +593000 ekin = 2.23530102205155 | erot = 1.81162578854711 | epot = -20.7586825210083 | etot = -16.7117557104097 +594000 ekin = 2.21499618339358 | erot = 1.98026347110251 | epot = -20.8347835084312 | etot = -16.6395238539351 +595000 ekin = 2.17351092068557 | erot = 2.27153694538247 | epot = -20.9049251653836 | etot = -16.4598772993155 +596000 ekin = 2.135367214222 | erot = 2.30838064667257 | epot = -20.9560792436855 | etot = -16.5123313827909 +597000 ekin = 2.05769259414603 | erot = 2.38187665146476 | epot = -20.9894852475398 | etot = -16.549916001929 +598000 ekin = 2.05674814899225 | erot = 2.42014079217215 | epot = -21.0044596830564 | etot = -16.527570741892 +599000 ekin = 1.95864026709762 | erot = 2.3999507598191 | epot = -20.9740626757909 | etot = -16.6154716488742 +600000 ekin = 1.92217253864623 | erot = 2.27990516657244 | epot = -20.9285242414058 | etot = -16.7264465361872 +601000 ekin = 1.98018146832075 | erot = 2.20890815410628 | epot = -20.8846332261999 | etot = -16.6955436037729 +602000 ekin = 1.90184071583288 | erot = 2.1591383050006 | epot = -20.8542535717546 | etot = -16.7932745509212 +603000 ekin = 1.87414785472449 | erot = 2.20472694083466 | epot = -20.840804642708 | etot = -16.7619298471489 +604000 ekin = 1.89566967553992 | erot = 2.33936411504472 | epot = -20.8324704464852 | etot = -16.5974366559006 +605000 ekin = 1.90221219714126 | erot = 2.24714804248274 | epot = -20.8240875666947 | etot = -16.6747273270707 +606000 ekin = 1.98126421387493 | erot = 2.18362681345839 | epot = -20.8318161332644 | etot = -16.6669251059311 +607000 ekin = 1.96256992421039 | erot = 2.3146612889166 | epot = -20.8422192283423 | etot = -16.5649880152153 +608000 ekin = 2.00857732853944 | erot = 2.3524665478589 | epot = -20.8480147460994 | etot = -16.4869708697011 +609000 ekin = 1.95325682031753 | erot = 2.81335207348484 | epot = -20.8594200048123 | etot = -16.0928111110099 +610000 ekin = 1.98193326810065 | erot = 2.88259052339696 | epot = -20.8472840007396 | etot = -15.982760209242 +611000 ekin = 2.04137421596162 | erot = 2.49925666829921 | epot = -20.8306415233214 | etot = -16.2900106390606 +612000 ekin = 2.16269789015088 | erot = 2.70058773214418 | epot = -20.7942268006619 | etot = -15.9309411783669 +613000 ekin = 2.06529168540835 | erot = 2.42568351626014 | epot = -20.7614875640906 | etot = -16.2705123624221 +614000 ekin = 2.1337254705834 | erot = 2.26794536225568 | epot = -20.7223835113489 | etot = -16.3207126785098 +615000 ekin = 2.15900283469812 | erot = 2.41796083425712 | epot = -20.6594009316035 | etot = -16.0824372626483 +616000 ekin = 2.18075700318094 | erot = 2.25199751704725 | epot = -20.6022951429065 | etot = -16.1695406226783 +617000 ekin = 2.15965098363264 | erot = 2.22906613418694 | epot = -20.5852528289999 | etot = -16.1965357111803 +618000 ekin = 2.23225625672975 | erot = 2.44686544718953 | epot = -20.6102249700191 | etot = -15.9311032660998 +619000 ekin = 2.26975454903642 | erot = 2.34289253878031 | epot = -20.6719638155448 | etot = -16.0593167277281 +620000 ekin = 2.30973430443481 | erot = 2.69227064537991 | epot = -20.770197880988 | etot = -15.7681929311733 +621000 ekin = 2.47203322805276 | erot = 3.06119226990021 | epot = -20.9146158917184 | etot = -15.3813903937654 +622000 ekin = 2.62348274560247 | erot = 3.16275527232554 | epot = -21.0868239893485 | etot = -15.3005859714205 +623000 ekin = 2.67387060573014 | erot = 3.22531872328046 | epot = -21.2795790465578 | etot = -15.3803897175472 +624000 ekin = 2.77334044145783 | erot = 3.19930974567985 | epot = -21.4804753178404 | etot = -15.5078251307027 +625000 ekin = 2.822304660725 | erot = 2.97471991851 | epot = -21.6768467596154 | etot = -15.8798221803804 +626000 ekin = 2.97306496702188 | erot = 3.02810006646584 | epot = -21.8368791799813 | etot = -15.8357141464936 +627000 ekin = 2.9396359895919 | erot = 3.11546514885634 | epot = -21.9295648605418 | etot = -15.8744637220935 +628000 ekin = 2.9467540174413 | erot = 2.87563053223973 | epot = -21.9734618105422 | etot = -16.1510772608612 +629000 ekin = 2.93549647211195 | erot = 2.94179551334333 | epot = -21.9629357939843 | etot = -16.085643808529 +630000 ekin = 2.968513495898 | erot = 2.66241758633508 | epot = -21.9367067820004 | etot = -16.3057756997674 +631000 ekin = 2.97170810029481 | erot = 2.92784888357905 | epot = -21.9408587478561 | etot = -16.0413017639823 +632000 ekin = 3.00915408594534 | erot = 3.03331194667377 | epot = -21.966297586726 | etot = -15.9238315541069 +633000 ekin = 3.15130786380813 | erot = 2.90447111403432 | epot = -21.9802035040988 | etot = -15.9244245262564 +634000 ekin = 3.08724307225627 | erot = 3.06470523223771 | epot = -21.9813618086078 | etot = -15.8294135041138 +635000 ekin = 3.09485256628982 | erot = 3.05293629484957 | epot = -21.9761085643258 | etot = -15.8283197031864 +636000 ekin = 3.1883367624613 | erot = 3.09853352594533 | epot = -21.9262309231058 | etot = -15.6393606346991 +637000 ekin = 3.17249776983431 | erot = 2.76836567164433 | epot = -21.8463187618964 | etot = -15.9054553204178 +638000 ekin = 3.15773051904013 | erot = 2.74718314777848 | epot = -21.7521034668652 | etot = -15.8471898000466 +639000 ekin = 3.08619022126253 | erot = 2.75291211878172 | epot = -21.619880700477 | etot = -15.7807783604328 +640000 ekin = 3.13541342359575 | erot = 2.75186869517588 | epot = -21.4236473324243 | etot = -15.5363652136527 +641000 ekin = 2.97070406886251 | erot = 2.53928201823126 | epot = -21.2113872532509 | etot = -15.7014011661571 +642000 ekin = 2.96213641788611 | erot = 2.46548060107447 | epot = -20.9928030195295 | etot = -15.5651860005689 +643000 ekin = 2.84219149582751 | erot = 2.30604210385225 | epot = -20.7796379309883 | etot = -15.6314043313085 +644000 ekin = 2.73987448812059 | erot = 1.92488908230375 | epot = -20.5971129650472 | etot = -15.9323493946229 +645000 ekin = 2.66964682664563 | erot = 2.17741731737643 | epot = -20.4501395419028 | etot = -15.6030753978807 +646000 ekin = 2.55685727423904 | erot = 1.94955682330786 | epot = -20.3484174743049 | etot = -15.842003376758 +647000 ekin = 2.36548817737579 | erot = 2.05467058240558 | epot = -20.2308525146964 | etot = -15.8106937549151 +648000 ekin = 2.31008857244576 | erot = 1.85050053837927 | epot = -20.1170577319198 | etot = -15.9564686210947 +649000 ekin = 2.28205025869235 | erot = 1.7126370869863 | epot = -20.0254728385507 | etot = -16.0307854928721 +650000 ekin = 2.21196677463625 | erot = 1.82025099236611 | epot = -19.9537436999672 | etot = -15.9215259329649 +651000 ekin = 2.17096351970622 | erot = 1.64111059964159 | epot = -19.8939461254392 | etot = -16.0818720060914 +652000 ekin = 2.24485056260397 | erot = 1.59015920734423 | epot = -19.855915209439 | etot = -16.0209054394908 +653000 ekin = 2.24348598334154 | erot = 1.56547926791898 | epot = -19.8354995105725 | etot = -16.026534259312 +654000 ekin = 2.34367054322139 | erot = 1.59100225910914 | epot = -19.8036561058559 | etot = -15.8689833035253 +655000 ekin = 2.33139381348415 | erot = 1.73360745289318 | epot = -19.7790891006602 | etot = -15.7140878342829 +656000 ekin = 2.39082402474816 | erot = 1.66512195058768 | epot = -19.7882728464569 | etot = -15.7323268711211 +657000 ekin = 2.3632649420265 | erot = 1.64634599165861 | epot = -19.8156605115385 | etot = -15.8060495778534 +658000 ekin = 2.37356060304643 | erot = 1.59216090461383 | epot = -19.8647456377848 | etot = -15.8990241301246 +659000 ekin = 2.48069174292895 | erot = 1.49175770497902 | epot = -19.9602607152512 | etot = -15.9878112673432 +660000 ekin = 2.43784148373522 | erot = 1.69304245258743 | epot = -20.0982797920097 | etot = -15.9673958556871 +661000 ekin = 2.50127283299376 | erot = 1.90162951574041 | epot = -20.2564772898339 | etot = -15.8535749410997 +662000 ekin = 2.65651409235402 | erot = 1.9769416830246 | epot = -20.4351000172128 | etot = -15.8016442418342 +663000 ekin = 2.59069846598309 | erot = 2.27024751168609 | epot = -20.5951722286013 | etot = -15.7342262509321 +664000 ekin = 2.6519936252655 | erot = 2.41512175478277 | epot = -20.723695654942 | etot = -15.6565802748938 +665000 ekin = 2.74059693842602 | erot = 2.18558347698592 | epot = -20.8362709840434 | etot = -15.9100905686315 +666000 ekin = 2.81567682366608 | erot = 2.347498605977 | epot = -20.9472815722846 | etot = -15.7841061426415 +667000 ekin = 2.85397277941909 | erot = 2.78444099743822 | epot = -21.0512547888643 | etot = -15.4128410120069 +668000 ekin = 2.9029560959486 | erot = 2.67434743985664 | epot = -21.1196454976531 | etot = -15.5423419618479 +669000 ekin = 2.82586988686545 | erot = 2.59996675336106 | epot = -21.1269738870857 | etot = -15.7011372468592 +670000 ekin = 2.79168631385998 | erot = 2.56332899434135 | epot = -21.1062374856375 | etot = -15.7512221774362 +671000 ekin = 2.78377934011034 | erot = 2.65037677108214 | epot = -21.0707534252218 | etot = -15.6365973140293 +672000 ekin = 2.80370333364227 | erot = 2.43772748784314 | epot = -21.0308122724572 | etot = -15.7893814509718 +673000 ekin = 2.76915399868745 | erot = 2.51561518037604 | epot = -20.9769263473735 | etot = -15.6921571683101 +674000 ekin = 2.64183624634861 | erot = 2.55097233507923 | epot = -20.9182849770311 | etot = -15.7254763956033 +675000 ekin = 2.62521142757518 | erot = 2.64780321266178 | epot = -20.8750415391241 | etot = -15.6020268988872 +676000 ekin = 2.56750452241289 | erot = 2.50976436481742 | epot = -20.8718880077793 | etot = -15.794619120549 +677000 ekin = 2.54381281980489 | erot = 2.88598144344514 | epot = -20.8743650878302 | etot = -15.4445708245802 +678000 ekin = 2.41460230362222 | erot = 2.74956960106234 | epot = -20.8645099379745 | etot = -15.70033803329 +679000 ekin = 2.45714396740976 | erot = 2.51630907313236 | epot = -20.8333930763114 | etot = -15.8599400357693 +680000 ekin = 2.39813210053791 | erot = 2.44684074439997 | epot = -20.7887522768168 | etot = -15.943779431879 +681000 ekin = 2.43918264143159 | erot = 2.34640131965711 | epot = -20.747680811383 | etot = -15.9620968502943 +682000 ekin = 2.35991514290778 | erot = 2.52582496731603 | epot = -20.678338166726 | etot = -15.7925980565022 +683000 ekin = 2.52475831935497 | erot = 2.4303254284145 | epot = -20.5982055545541 | etot = -15.6431218067846 +684000 ekin = 2.58660934635461 | erot = 2.11878822836059 | epot = -20.4924135763666 | etot = -15.7870160016514 +685000 ekin = 2.55154119483633 | erot = 1.7348658418517 | epot = -20.3822175109813 | etot = -16.0958104742933 +686000 ekin = 2.63111018797748 | erot = 1.47730091117203 | epot = -20.3126109077788 | etot = -16.2041998086293 +687000 ekin = 2.63969682019115 | erot = 1.47332301857272 | epot = -20.2996486685951 | etot = -16.1866288298313 +688000 ekin = 2.72349207947758 | erot = 1.29409931094976 | epot = -20.3234627588057 | etot = -16.3058713683784 +689000 ekin = 2.73079979716482 | erot = 1.5600672648961 | epot = -20.4074074566846 | etot = -16.1165403946237 +690000 ekin = 2.88862138997103 | erot = 1.53763438603398 | epot = -20.527130706041 | etot = -16.100874930036 +691000 ekin = 2.93184490556452 | erot = 1.68041505604352 | epot = -20.6817002649686 | etot = -16.0694403033606 +692000 ekin = 3.03965167588275 | erot = 1.53360102419195 | epot = -20.8394269438009 | etot = -16.2661742437262 +693000 ekin = 3.11332037021317 | erot = 1.78276814996271 | epot = -20.9856322860994 | etot = -16.0895437659235 +694000 ekin = 3.26591256423417 | erot = 1.83297982799403 | epot = -21.1162583961236 | etot = -16.0173660038954 +695000 ekin = 3.39944935277176 | erot = 1.85369820811794 | epot = -21.2109777365153 | etot = -15.9578301756256 +696000 ekin = 3.30343203418373 | erot = 1.83180202140646 | epot = -21.2772827777983 | etot = -16.1420487222082 +697000 ekin = 3.22977317647616 | erot = 1.99511551134609 | epot = -21.3085920420929 | etot = -16.0837033542707 +698000 ekin = 3.36545228088468 | erot = 1.93865151713971 | epot = -21.2924696712876 | etot = -15.9883658732632 +699000 ekin = 3.26727101649092 | erot = 2.00750907689809 | epot = -21.2347192164136 | etot = -15.9599391230246 +700000 ekin = 3.23373130843489 | erot = 1.95814796460311 | epot = -21.1439766208011 | etot = -15.9520973477631 +701000 ekin = 3.07791756459632 | erot = 1.84629538321615 | epot = -21.0368350139918 | etot = -16.1126220661793 +702000 ekin = 2.95524336171474 | erot = 2.05334887389002 | epot = -20.9320932298123 | etot = -15.9235009942076 +703000 ekin = 2.81685700197358 | erot = 2.30798807393501 | epot = -20.8529482411061 | etot = -15.7281031651975 +704000 ekin = 2.7860374569489 | erot = 2.41032504549238 | epot = -20.7817305926663 | etot = -15.585368090225 +705000 ekin = 2.82734195960163 | erot = 2.58886515581049 | epot = -20.7054861279342 | etot = -15.2892790125221 +706000 ekin = 2.69252213630991 | erot = 2.87186287347298 | epot = -20.6341395720106 | etot = -15.0697545622277 +707000 ekin = 2.67677781124234 | erot = 2.61015441384314 | epot = -20.5829958432682 | etot = -15.2960636181827 +708000 ekin = 2.61607470121092 | erot = 2.52638154954409 | epot = -20.5707989768077 | etot = -15.4283427260527 +709000 ekin = 2.66476396394708 | erot = 2.77686126060226 | epot = -20.5966805252115 | etot = -15.1550553006622 +710000 ekin = 2.72473753944311 | erot = 3.01436891653856 | epot = -20.6381576133419 | etot = -14.8990511573603 +711000 ekin = 2.73828751365553 | erot = 2.96087104909546 | epot = -20.6834857916291 | etot = -14.9843272288781 +712000 ekin = 2.62321032142564 | erot = 3.36842837276305 | epot = -20.7033938368062 | etot = -14.7117551426175 +713000 ekin = 2.57840853452334 | erot = 3.23870482700723 | epot = -20.7157410164414 | etot = -14.8986276549108 +714000 ekin = 2.57830571481508 | erot = 3.18574747943756 | epot = -20.7368579407289 | etot = -14.9728047464762 +715000 ekin = 2.55353778251633 | erot = 3.0602947148483 | epot = -20.754741492098 | etot = -15.1409089947334 +716000 ekin = 2.55549921704991 | erot = 2.85756803731166 | epot = -20.7715752448115 | etot = -15.35850799045 +717000 ekin = 2.6684096005884 | erot = 3.13695167508794 | epot = -20.7817582371967 | etot = -14.9763969615203 +718000 ekin = 2.70162233045692 | erot = 2.88936608298093 | epot = -20.7821953404604 | etot = -15.1912069270225 +719000 ekin = 2.67856075035663 | erot = 3.06593156988603 | epot = -20.7772381096807 | etot = -15.032745789438 +720000 ekin = 2.73835391684204 | erot = 3.1260661579715 | epot = -20.7642516702523 | etot = -14.8998315954388 +721000 ekin = 2.83298219908736 | erot = 2.86786361439848 | epot = -20.7356626767526 | etot = -15.0348168632668 +722000 ekin = 2.84238954774469 | erot = 3.0130054489483 | epot = -20.6952880713167 | etot = -14.8398930746237 +723000 ekin = 2.83841887662251 | erot = 2.85261974479237 | epot = -20.6504830813442 | etot = -14.9594444599293 +724000 ekin = 3.01277617592967 | erot = 3.09042764557525 | epot = -20.6160634840685 | etot = -14.5128596625636 +725000 ekin = 3.17120635017279 | erot = 2.96143140596372 | epot = -20.5877395535624 | etot = -14.4551017974259 +726000 ekin = 3.20454859904875 | erot = 2.97124869107361 | epot = -20.5737408249939 | etot = -14.3979435348715 +727000 ekin = 3.19846557634571 | erot = 2.77789168617429 | epot = -20.5945168300514 | etot = -14.6181595675314 +728000 ekin = 3.28654276144371 | erot = 2.57414717613078 | epot = -20.640457349214 | etot = -14.7797674116395 +729000 ekin = 3.3439785552026 | erot = 2.60607683819484 | epot = -20.6877535154514 | etot = -14.7376981220539 +730000 ekin = 3.33088715350237 | erot = 2.65576997467221 | epot = -20.7175880662468 | etot = -14.7309309380722 +731000 ekin = 3.33990502646308 | erot = 2.78966197817343 | epot = -20.7385421874511 | etot = -14.6089751828146 +732000 ekin = 3.27037431476543 | erot = 3.16404088131425 | epot = -20.7088668644641 | etot = -14.2744516683844 +733000 ekin = 3.16062340528016 | erot = 3.37415612395544 | epot = -20.6516575424073 | etot = -14.1168780131717 +734000 ekin = 3.09953693998324 | erot = 3.25267070419762 | epot = -20.5803936969356 | etot = -14.2281860527547 +735000 ekin = 2.94450728592261 | erot = 2.96857162868856 | epot = -20.4729949298543 | etot = -14.5599160152432 +736000 ekin = 2.7958481765176 | erot = 2.9239669205071 | epot = -20.3407691844256 | etot = -14.6209540874009 +737000 ekin = 2.72272921166398 | erot = 3.17345753492493 | epot = -20.1979266935853 | etot = -14.3017399469964 +738000 ekin = 2.54332056785739 | erot = 3.29818161761707 | epot = -20.0303847475409 | etot = -14.1888825620664 +739000 ekin = 2.32323875619857 | erot = 2.93500343249744 | epot = -19.8750675706789 | etot = -14.6168253819829 +740000 ekin = 2.15390188391517 | erot = 2.57318962024238 | epot = -19.7116721317164 | etot = -14.9845806275589 +741000 ekin = 1.95437882697948 | erot = 2.32607517304431 | epot = -19.5750053199849 | etot = -15.2945513199611 +742000 ekin = 1.92783578015067 | erot = 2.13064797487019 | epot = -19.4713087417752 | etot = -15.4128249867544 +743000 ekin = 2.04931727768884 | erot = 2.05953320755507 | epot = -19.3808587546544 | etot = -15.2720082694105 +744000 ekin = 1.97574953400554 | erot = 2.0627248717493 | epot = -19.3292238016071 | etot = -15.2907493958523 +745000 ekin = 2.04017863714732 | erot = 1.82427330713394 | epot = -19.3294627618532 | etot = -15.4650108175719 +746000 ekin = 2.0239515938615 | erot = 1.96899911255019 | epot = -19.3725184887274 | etot = -15.3795677823157 +747000 ekin = 2.09406854938782 | erot = 1.94863482625804 | epot = -19.4739827252228 | etot = -15.4312793495769 +748000 ekin = 2.2981509463802 | erot = 1.9007444973105 | epot = -19.6283880334729 | etot = -15.4294925897822 +749000 ekin = 2.35637166185873 | erot = 1.88187224436553 | epot = -19.8091245759456 | etot = -15.5708806697214 +750000 ekin = 2.46261791012991 | erot = 1.68915240890073 | epot = -20.0059909069074 | etot = -15.8542205878767 +751000 ekin = 2.60407300534198 | erot = 1.90400653681735 | epot = -20.2085470980303 | etot = -15.700467555871 +752000 ekin = 2.69082470142479 | erot = 2.30656368674329 | epot = -20.4330055381863 | etot = -15.4356171500182 +753000 ekin = 2.86185352213773 | erot = 2.08508944835044 | epot = -20.6608245815304 | etot = -15.7138816110423 +754000 ekin = 2.98333808215677 | erot = 2.53924444651836 | epot = -20.8729357638507 | etot = -15.3503532351755 +755000 ekin = 3.15712054719979 | erot = 2.80998037917417 | epot = -21.089409214386 | etot = -15.122308288012 +756000 ekin = 3.33248676900326 | erot = 2.85318697997032 | epot = -21.269924842092 | etot = -15.0842510931184 +757000 ekin = 3.41680611924925 | erot = 2.92784780738199 | epot = -21.4304548340673 | etot = -15.0858009074361 +758000 ekin = 3.39156382871297 | erot = 2.78356707636008 | epot = -21.576696598629 | etot = -15.401565693556 +759000 ekin = 3.43155653282502 | erot = 2.83467624438526 | epot = -21.6891769319694 | etot = -15.4229441547591 +760000 ekin = 3.45801219419692 | erot = 2.61557400116939 | epot = -21.7546703090586 | etot = -15.6810841136923 +761000 ekin = 3.37717727044775 | erot = 2.8956375520945 | epot = -21.789202831323 | etot = -15.5163880087808 +762000 ekin = 3.47824550195057 | erot = 2.79188597259465 | epot = -21.7977512926642 | etot = -15.527619818119 +763000 ekin = 3.47659880804314 | erot = 2.54885516262659 | epot = -21.7781604169458 | etot = -15.7527064462761 +764000 ekin = 3.45277978719522 | erot = 2.64283550756138 | epot = -21.7044469789531 | etot = -15.6088316841965 +765000 ekin = 3.39906272086552 | erot = 2.44961754559262 | epot = -21.5950318186521 | etot = -15.746351552194 +766000 ekin = 3.34001470871272 | erot = 2.39682151597884 | epot = -21.4894395399038 | etot = -15.7526033152123 +767000 ekin = 3.45549704933041 | erot = 2.33544666401034 | epot = -21.3866970636422 | etot = -15.5957533503015 +768000 ekin = 3.26198074071046 | erot = 2.45762138127352 | epot = -21.2912857370597 | etot = -15.5716836150757 +769000 ekin = 3.16082467479808 | erot = 2.36075087935245 | epot = -21.2103530429965 | etot = -15.688777488846 +770000 ekin = 3.07645918396924 | erot = 2.4925900630739 | epot = -21.1212342627875 | etot = -15.5521850157443 +771000 ekin = 2.92350840414402 | erot = 2.56275243304922 | epot = -21.0363085296096 | etot = -15.5500476924164 +772000 ekin = 2.75979211106294 | erot = 2.44752256772038 | epot = -20.938158693868 | etot = -15.7308440150847 +773000 ekin = 2.71511621634669 | erot = 2.32937899997663 | epot = -20.8439731838767 | etot = -15.7994779675533 +774000 ekin = 2.5501181043417 | erot = 2.4833205550087 | epot = -20.7658389533277 | etot = -15.7324002939773 +775000 ekin = 2.41197388502376 | erot = 2.62818884118392 | epot = -20.7179622711116 | etot = -15.6777995449039 +776000 ekin = 2.37508963815638 | erot = 2.4413693722769 | epot = -20.7211512138291 | etot = -15.9046922033958 +777000 ekin = 2.34948686881501 | erot = 2.36213131358723 | epot = -20.7370244755325 | etot = -16.0254062931302 +778000 ekin = 2.29585534902507 | erot = 2.73124120723735 | epot = -20.7683121988625 | etot = -15.7412156426001 +779000 ekin = 2.18150396589501 | erot = 2.72210705119072 | epot = -20.8059074416474 | etot = -15.9022964245616 +780000 ekin = 2.26066885699434 | erot = 2.87221231082937 | epot = -20.8394643204856 | etot = -15.7065831526618 +781000 ekin = 2.27461625652574 | erot = 2.81372031403662 | epot = -20.8757314682934 | etot = -15.787394897731 +782000 ekin = 2.19892592960391 | erot = 2.61785718560377 | epot = -20.89651313073 | etot = -16.0797300155223 +783000 ekin = 2.22941617588597 | erot = 2.47751279799165 | epot = -20.9183852720836 | etot = -16.211456298206 +784000 ekin = 2.42718924867942 | erot = 2.81382459332945 | epot = -20.9279105230659 | etot = -15.6868966810571 +785000 ekin = 2.388256325638 | erot = 2.70987963105491 | epot = -20.9108108361691 | etot = -15.8126748794762 +786000 ekin = 2.4440461871171 | erot = 2.52658585483966 | epot = -20.9041006583262 | etot = -15.9334686163694 +787000 ekin = 2.50702113933241 | erot = 2.28293105807323 | epot = -20.8749015767315 | etot = -16.0849493793259 +788000 ekin = 2.4490666689078 | erot = 2.41360841664409 | epot = -20.8341700774424 | etot = -15.9714949918905 +789000 ekin = 2.52045486785591 | erot = 2.52744454804456 | epot = -20.7905656205227 | etot = -15.7426662046222 +790000 ekin = 2.52825818807966 | erot = 2.68548159035115 | epot = -20.757581950223 | etot = -15.5438421717922 +791000 ekin = 2.64995125141675 | erot = 2.73987493548448 | epot = -20.734977399363 | etot = -15.3451512124617 +792000 ekin = 2.70397080831161 | erot = 2.64980290799394 | epot = -20.7100100046766 | etot = -15.356236288371 +793000 ekin = 2.750332948453 | erot = 2.54340061653018 | epot = -20.707836297178 | etot = -15.4141027321949 +794000 ekin = 2.8653381311493 | erot = 2.55380338833671 | epot = -20.7048471683316 | etot = -15.2857056488456 +795000 ekin = 2.78119650415431 | erot = 2.26710967345022 | epot = -20.7038606047262 | etot = -15.6555544271216 +796000 ekin = 2.7524772965948 | erot = 1.93248690499302 | epot = -20.7002506155573 | etot = -16.0152864139695 +797000 ekin = 2.87695524377423 | erot = 1.75440457751931 | epot = -20.7015802402497 | etot = -16.0702204189561 +798000 ekin = 2.92176058311519 | erot = 1.87424589751672 | epot = -20.7289229999115 | etot = -15.9329165192796 +799000 ekin = 2.84123141391943 | erot = 1.69781273980071 | epot = -20.753619486937 | etot = -16.2145753332168 +800000 ekin = 2.88647051776135 | erot = 1.8845884679479 | epot = -20.7813888694614 | etot = -16.0103298837521 +801000 ekin = 2.82188707288437 | erot = 1.97533232918764 | epot = -20.7854390466837 | etot = -15.9882196446117 +802000 ekin = 2.80670744878678 | erot = 1.92170823847808 | epot = -20.7694229323802 | etot = -16.0410072451153 +803000 ekin = 2.81917409800309 | erot = 1.86293659025146 | epot = -20.736880956466 | etot = -16.0547702682115 +804000 ekin = 2.81542679490223 | erot = 1.8248381634794 | epot = -20.7049136915727 | etot = -16.064648733191 +805000 ekin = 2.7662102530107 | erot = 1.80656496128512 | epot = -20.6689552876865 | etot = -16.0961800733907 +806000 ekin = 2.65050365938285 | erot = 2.07564631955298 | epot = -20.6394756033498 | etot = -15.913325624414 +807000 ekin = 2.5562413456694 | erot = 2.16054307897126 | epot = -20.6134778956026 | etot = -15.8966934709619 +808000 ekin = 2.4873801372098 | erot = 2.32147389178902 | epot = -20.5888178207125 | etot = -15.7799637917137 +809000 ekin = 2.4786273298817 | erot = 2.4849882609475 | epot = -20.5619387083681 | etot = -15.5983231175389 +810000 ekin = 2.39703068581775 | erot = 2.81931500773775 | epot = -20.5424309669721 | etot = -15.3260852734166 +811000 ekin = 2.37887287485907 | erot = 2.69438802886465 | epot = -20.5520463788994 | etot = -15.4787854751757 +812000 ekin = 2.28085047814072 | erot = 2.4248513842694 | epot = -20.5550539173034 | etot = -15.8493520548933 +813000 ekin = 2.25229479784389 | erot = 2.55707080478972 | epot = -20.5502753315565 | etot = -15.7409097289229 +814000 ekin = 2.22024450946151 | erot = 2.84053382533175 | epot = -20.5291885807543 | etot = -15.468410245961 +815000 ekin = 2.14652605610553 | erot = 2.67021357483755 | epot = -20.4999623788204 | etot = -15.6832227478773 +816000 ekin = 2.1594176029821 | erot = 2.59153501297938 | epot = -20.4557339217919 | etot = -15.7047813058304 +817000 ekin = 2.16476188533261 | erot = 2.3341335458438 | epot = -20.3878114616849 | etot = -15.8889160305084 +818000 ekin = 2.2316964675901 | erot = 2.16459446462076 | epot = -20.3094264209628 | etot = -15.9131354887519 +819000 ekin = 2.15183597113008 | erot = 1.96236374628699 | epot = -20.2442212233172 | etot = -16.1300215059002 +820000 ekin = 2.15160519820179 | erot = 1.78654941276898 | epot = -20.1685556064356 | etot = -16.2304009954648 +821000 ekin = 2.11411181703459 | erot = 1.59439007001321 | epot = -20.1045081087113 | etot = -16.3960062216635 +822000 ekin = 2.09578590796832 | erot = 1.82458690696502 | epot = -20.0615873148663 | etot = -16.1412144999329 +823000 ekin = 2.08554311077402 | erot = 1.79122152448752 | epot = -20.0542615586192 | etot = -16.1774969233576 +824000 ekin = 2.06608530910568 | erot = 1.83488646651528 | epot = -20.0832229529284 | etot = -16.1822511773074 +825000 ekin = 2.12914321441478 | erot = 2.12189619250101 | epot = -20.1297268549431 | etot = -15.8786874480273 +826000 ekin = 2.17617898744288 | erot = 2.29556289596594 | epot = -20.172646352924 | etot = -15.7009044695152 +827000 ekin = 2.1541933130057 | erot = 2.34308143022508 | epot = -20.2056332381724 | etot = -15.7083584949417 +828000 ekin = 2.20039878821194 | erot = 2.41783518802157 | epot = -20.2229965044045 | etot = -15.604762528171 +829000 ekin = 2.20314847732571 | erot = 2.56607297380311 | epot = -20.2051061030743 | etot = -15.4358846519455 +830000 ekin = 2.30175185120456 | erot = 2.43964061204045 | epot = -20.1552304697953 | etot = -15.4138380065503 +831000 ekin = 2.24000691994547 | erot = 2.16496177189546 | epot = -20.0860391808208 | etot = -15.6810704889798 +832000 ekin = 2.23825638063342 | erot = 2.25483913353687 | epot = -20.0235934169571 | etot = -15.5304979027868 +833000 ekin = 2.16205349111652 | erot = 1.94237500276371 | epot = -19.9879274641397 | etot = -15.8834989702595 +834000 ekin = 2.16740768022488 | erot = 1.70564999745802 | epot = -19.9844147815709 | etot = -16.111357103888 +835000 ekin = 2.17278893541051 | erot = 1.56429512699082 | epot = -20.0201055001639 | etot = -16.2830214377626 +836000 ekin = 2.12097731365457 | erot = 1.73560474622194 | epot = -20.0572346764645 | etot = -16.200652616588 +837000 ekin = 2.13598638451596 | erot = 1.79213525365432 | epot = -20.0629697156961 | etot = -16.1348480775258 +838000 ekin = 2.155236659974 | erot = 1.6597576786498 | epot = -20.0531324206633 | etot = -16.2381380820395 +839000 ekin = 2.18050335550332 | erot = 1.62185210117957 | epot = -20.0624518040168 | etot = -16.2600963473339 +840000 ekin = 2.26003994524086 | erot = 1.64754456826618 | epot = -20.0987090628808 | etot = -16.1911245493738 +841000 ekin = 2.35849160545682 | erot = 1.45991256461146 | epot = -20.1235761929062 | etot = -16.3051720228379 +842000 ekin = 2.30506950612889 | erot = 1.67704941831984 | epot = -20.1403357838886 | etot = -16.1582168594399 +843000 ekin = 2.25000612105265 | erot = 1.57916412105146 | epot = -20.178749085045 | etot = -16.3495788429409 +844000 ekin = 2.36131993993677 | erot = 1.74224823968073 | epot = -20.2587879559388 | etot = -16.1552197763213 +845000 ekin = 2.37622491879865 | erot = 1.78604993278489 | epot = -20.3527813128758 | etot = -16.1905064612923 +846000 ekin = 2.34115102661114 | erot = 1.84579845054568 | epot = -20.4555275090995 | etot = -16.2685780319426 +847000 ekin = 2.41159198035498 | erot = 1.92961286076136 | epot = -20.5532540909635 | etot = -16.2120492498472 +848000 ekin = 2.31213774862364 | erot = 2.08278486795961 | epot = -20.6337560180199 | etot = -16.2388334014366 +849000 ekin = 2.30336620270337 | erot = 2.04122209248428 | epot = -20.6821032694947 | etot = -16.337514974307 +850000 ekin = 2.25629668954079 | erot = 2.1827089461388 | epot = -20.7098894953333 | etot = -16.2708838596537 +851000 ekin = 2.29979938433515 | erot = 2.41406540449276 | epot = -20.7044118358106 | etot = -15.9905470469827 +852000 ekin = 2.26390891815863 | erot = 2.16338375104434 | epot = -20.6569849671614 | etot = -16.2296922979585 +853000 ekin = 2.3042457110132 | erot = 1.99747184850866 | epot = -20.5998336497752 | etot = -16.2981160902533 +854000 ekin = 2.36419736155972 | erot = 2.06846824934106 | epot = -20.520428197268 | etot = -16.0877625863673 +855000 ekin = 2.34728028486118 | erot = 1.93310140619988 | epot = -20.4489431066125 | etot = -16.1685614155514 +856000 ekin = 2.30561682537924 | erot = 1.7468225593453 | epot = -20.3871281777724 | etot = -16.3346887930479 +857000 ekin = 2.27745448387241 | erot = 1.8357005645436 | epot = -20.3461722185286 | etot = -16.2330171701126 +858000 ekin = 2.36509593163739 | erot = 1.75581829580622 | epot = -20.3410559181935 | etot = -16.2201416907498 +859000 ekin = 2.38832938274202 | erot = 1.82095166272789 | epot = -20.3690417944097 | etot = -16.1597607489398 +860000 ekin = 2.52181162102415 | erot = 1.95420940577044 | epot = -20.4478015207824 | etot = -15.9717804939878 +861000 ekin = 2.62858628470805 | erot = 1.82148423675546 | epot = -20.5405427960154 | etot = -16.0904722745519 +862000 ekin = 2.69973060754157 | erot = 1.84887576916208 | epot = -20.6629551977625 | etot = -16.1143488210589 +863000 ekin = 2.90205526612768 | erot = 1.95053830347129 | epot = -20.7912991546469 | etot = -15.9387055850479 +864000 ekin = 3.12658816228353 | erot = 1.98858429691946 | epot = -20.8929021658137 | etot = -15.7777297066107 +865000 ekin = 3.16945674700278 | erot = 1.86291391059874 | epot = -20.9419832509068 | etot = -15.9096125933052 +866000 ekin = 3.25216934165267 | erot = 1.97645641207249 | epot = -20.9567552239706 | etot = -15.7281294702455 +867000 ekin = 3.24945037233148 | erot = 1.84073824549816 | epot = -20.9282973760204 | etot = -15.8381087581907 +868000 ekin = 3.07999788772602 | erot = 1.92805224835509 | epot = -20.8706478182266 | etot = -15.8625976821455 +869000 ekin = 2.91009138976889 | erot = 1.95537175968492 | epot = -20.7577406936838 | etot = -15.8922775442299 +870000 ekin = 2.98633737341202 | erot = 1.74639234614442 | epot = -20.6193203055685 | etot = -15.8865905860121 +871000 ekin = 2.82797025785024 | erot = 2.22216789862767 | epot = -20.5143766346289 | etot = -15.464238478151 +872000 ekin = 2.75225970096172 | erot = 2.04685014109657 | epot = -20.4197450563602 | etot = -15.6206352143019 +873000 ekin = 2.76508179334924 | erot = 2.07802391335104 | epot = -20.3610564187726 | etot = -15.5179507120724 +874000 ekin = 2.70667266094186 | erot = 2.03935635819039 | epot = -20.3167066993019 | etot = -15.5706776801697 +875000 ekin = 2.75331326518688 | erot = 1.87289863150028 | epot = -20.292306770067 | etot = -15.6660948733799 +876000 ekin = 2.71618421707282 | erot = 1.89637161128832 | epot = -20.2754390470299 | etot = -15.6628832186688 +877000 ekin = 2.71649559901529 | erot = 2.02021579600124 | epot = -20.2646771674143 | etot = -15.5279657723978 +878000 ekin = 2.62749245340177 | erot = 1.88626086619189 | epot = -20.2836933343753 | etot = -15.7699400147816 +879000 ekin = 2.74884813769532 | erot = 1.75263692861084 | epot = -20.3265216122721 | etot = -15.825036545966 +880000 ekin = 2.71696155764851 | erot = 1.77313431669203 | epot = -20.4055312116426 | etot = -15.9154353373021 +881000 ekin = 2.78382645158866 | erot = 1.81182472346909 | epot = -20.5191596774759 | etot = -15.9235085024182 +882000 ekin = 2.81130894387483 | erot = 2.09576450580344 | epot = -20.6489904734902 | etot = -15.741917023812 +883000 ekin = 2.88120316600177 | erot = 2.27294351864316 | epot = -20.7888871990869 | etot = -15.6347405144419 +884000 ekin = 2.90293873255418 | erot = 2.48430131570204 | epot = -20.9203204845733 | etot = -15.5330804363171 +885000 ekin = 2.83822193724187 | erot = 2.33567911137689 | epot = -21.0170580718189 | etot = -15.8431570232002 +886000 ekin = 2.7998012720849 | erot = 2.39879132479689 | epot = -21.1056755206453 | etot = -15.9070829237635 +887000 ekin = 2.84559753547726 | erot = 2.23279918443315 | epot = -21.1991974917508 | etot = -16.1208007718404 +888000 ekin = 2.78048788087585 | erot = 2.21910506766716 | epot = -21.2985745989316 | etot = -16.2989816503886 +889000 ekin = 2.69583578763831 | erot = 2.42515435306393 | epot = -21.3860199387971 | etot = -16.2650297980949 +890000 ekin = 2.58377832307697 | erot = 2.46763021206656 | epot = -21.4668454924047 | etot = -16.4154369572612 +891000 ekin = 2.65145947657508 | erot = 2.54188813630614 | epot = -21.5059683813091 | etot = -16.3126207684279 +892000 ekin = 2.67593216257319 | erot = 2.30931133615829 | epot = -21.5221026652215 | etot = -16.5368591664901 +893000 ekin = 2.6330379108205 | erot = 2.54633069672426 | epot = -21.5431241050785 | etot = -16.3637554975338 +894000 ekin = 2.67500961491507 | erot = 2.62632956964415 | epot = -21.5659877596139 | etot = -16.2646485750547 +895000 ekin = 2.69351100875758 | erot = 2.87253630615187 | epot = -21.5608314238547 | etot = -15.9947841089452 +896000 ekin = 2.73971679868459 | erot = 2.83751968369822 | epot = -21.5599160231106 | etot = -15.9826795407278 +897000 ekin = 2.59024156060526 | erot = 3.14999384860218 | epot = -21.516909346574 | etot = -15.7766739373666 +898000 ekin = 2.53463691976959 | erot = 2.86279041479464 | epot = -21.4480578810232 | etot = -16.050630546459 +899000 ekin = 2.47014007897646 | erot = 2.84092875108399 | epot = -21.4001318574341 | etot = -16.0890630273737 +900000 ekin = 2.41396838915947 | erot = 2.61119437719758 | epot = -21.317178398511 | etot = -16.2920156321539 +901000 ekin = 2.39217135029622 | erot = 2.42887884956516 | epot = -21.2332353575312 | etot = -16.4121851576699 +902000 ekin = 2.35623147489354 | erot = 2.68618153800008 | epot = -21.1565378225641 | etot = -16.1141248096705 +903000 ekin = 2.40445872766512 | erot = 2.65960453389372 | epot = -21.0523977096232 | etot = -15.9883344480644 +904000 ekin = 2.38268859333766 | erot = 2.75563140701159 | epot = -20.9254211676189 | etot = -15.7871011672696 +905000 ekin = 2.33859357853608 | erot = 2.74896960744455 | epot = -20.7865758980932 | etot = -15.6990127121126 +906000 ekin = 2.24424050125722 | erot = 2.67219011400459 | epot = -20.6458687615363 | etot = -15.7294381462745 +907000 ekin = 2.11959693796271 | erot = 2.6912404276246 | epot = -20.5218058154343 | etot = -15.710968449847 +908000 ekin = 1.99538198820417 | erot = 2.73765845183768 | epot = -20.4226667461155 | etot = -15.6896263060737 +909000 ekin = 1.91948050394767 | erot = 2.81092155873009 | epot = -20.3715084186363 | etot = -15.6411063559585 +910000 ekin = 1.86559504281192 | erot = 2.50422584066007 | epot = -20.354295857683 | etot = -15.9844749742111 +911000 ekin = 1.93700212306668 | erot = 2.70182168284124 | epot = -20.3630470394691 | etot = -15.7242232335612 +912000 ekin = 2.01297731830434 | erot = 2.59333468311027 | epot = -20.4016114857549 | etot = -15.7952994843403 +913000 ekin = 2.0489325329366 | erot = 2.44335563755548 | epot = -20.4595271951783 | etot = -15.9672390246862 +914000 ekin = 2.13522967419318 | erot = 2.04488675557111 | epot = -20.5157656558596 | etot = -16.3356492260953 +915000 ekin = 2.25766070321713 | erot = 1.97393473123362 | epot = -20.6118613948288 | etot = -16.3802659603781 +916000 ekin = 2.21223622141694 | erot = 2.10345838304615 | epot = -20.754410524097 | etot = -16.4387159196339 +917000 ekin = 2.40651996373664 | erot = 1.99495172303677 | epot = -20.9073170323362 | etot = -16.5058453455628 +918000 ekin = 2.53615730988932 | erot = 2.01638663666291 | epot = -21.0405250498178 | etot = -16.4879811032656 +919000 ekin = 2.65442530964963 | erot = 2.0876213593564 | epot = -21.1719711454817 | etot = -16.4299244764757 +920000 ekin = 2.77534951778639 | erot = 2.11359099299367 | epot = -21.2829839475272 | etot = -16.3940434367471 +921000 ekin = 2.91643782768224 | erot = 2.28215815938558 | epot = -21.3691506671587 | etot = -16.1705546800909 +922000 ekin = 2.95567400678637 | erot = 1.92472032500007 | epot = -21.4077235507563 | etot = -16.5273292189699 +923000 ekin = 2.96258486890882 | erot = 1.54690402842668 | epot = -21.3938794896988 | etot = -16.8843905923633 +924000 ekin = 2.92134762613199 | erot = 1.70996406555928 | epot = -21.3449839261311 | etot = -16.7136722344398 +925000 ekin = 2.84653903464864 | erot = 1.92806668586779 | epot = -21.2846325911284 | etot = -16.510026870612 +926000 ekin = 2.90254254848598 | erot = 2.07364806195529 | epot = -21.2015262749286 | etot = -16.2253356644873 +927000 ekin = 2.91395828926413 | erot = 2.18066099339461 | epot = -21.1200145418047 | etot = -16.025395259146 +928000 ekin = 2.84512894116016 | erot = 2.48044872209653 | epot = -20.9999796012787 | etot = -15.674401938022 +929000 ekin = 2.66004165976114 | erot = 2.51779336046962 | epot = -20.8727093584572 | etot = -15.6948743382265 +930000 ekin = 2.6545466782943 | erot = 2.57569274741415 | epot = -20.7556416891754 | etot = -15.525402263467 +931000 ekin = 2.67423829393946 | erot = 2.88523636975912 | epot = -20.6759551108841 | etot = -15.1164804471855 +932000 ekin = 2.62616449296355 | erot = 2.54798110237941 | epot = -20.6086291233289 | etot = -15.4344835279859 +933000 ekin = 2.69383973705599 | erot = 2.46235736679314 | epot = -20.54561258563 | etot = -15.3894154817809 +934000 ekin = 2.7677642743111 | erot = 2.34101084786864 | epot = -20.4809121018787 | etot = -15.372136979699 +935000 ekin = 2.72642510821387 | erot = 2.35916469229107 | epot = -20.4211165962346 | etot = -15.3355267957297 +936000 ekin = 2.79063797840949 | erot = 2.07475414089715 | epot = -20.39575856362 | etot = -15.5303664443133 +937000 ekin = 2.98467692526026 | erot = 1.99225267024811 | epot = -20.4024768464832 | etot = -15.4255472509748 +938000 ekin = 3.04156516590336 | erot = 2.13242133064027 | epot = -20.3998804937967 | etot = -15.2258939972531 +939000 ekin = 3.07943235169643 | erot = 2.19292802789746 | epot = -20.377015696722 | etot = -15.1046553171281 +940000 ekin = 3.11450220916332 | erot = 2.05442808222263 | epot = -20.3386629407116 | etot = -15.1697326493257 +941000 ekin = 3.1673723572625 | erot = 2.43340006549779 | epot = -20.2760521197247 | etot = -14.6752796969644 +942000 ekin = 3.27652888451167 | erot = 2.44054387582516 | epot = -20.166869297399 | etot = -14.4497965370622 +943000 ekin = 3.13900445201123 | erot = 2.17030471354849 | epot = -20.0267063041317 | etot = -14.7173971385719 +944000 ekin = 3.1157767971462 | erot = 1.97360877260966 | epot = -19.8813791244596 | etot = -14.7919935547037 +945000 ekin = 3.14747064890608 | erot = 1.73794156198925 | epot = -19.7300654287798 | etot = -14.8446532178844 +946000 ekin = 3.06500562594212 | erot = 1.59817914677196 | epot = -19.583631952048 | etot = -14.9204471793339 +947000 ekin = 3.06465941958365 | erot = 1.56394261373887 | epot = -19.4474159558771 | etot = -14.8188139225545 +948000 ekin = 3.07897503028523 | erot = 1.70141948030273 | epot = -19.3426980410741 | etot = -14.5623035304862 +949000 ekin = 2.87406117522931 | erot = 1.60153309498399 | epot = -19.2597755284806 | etot = -14.7841812582673 +950000 ekin = 2.84815804599153 | erot = 1.42715690189525 | epot = -19.2062266956084 | etot = -14.9309117477216 +951000 ekin = 2.78080942687086 | erot = 1.40916295422846 | epot = -19.1985529774584 | etot = -15.0085805963591 +952000 ekin = 2.67957446722124 | erot = 1.63751827005628 | epot = -19.1980674262524 | etot = -14.8809746889749 +953000 ekin = 2.69185316270153 | erot = 1.85029680460109 | epot = -19.2316635394469 | etot = -14.6895135721443 +954000 ekin = 2.64694034455339 | erot = 2.11448729476975 | epot = -19.2977991859254 | etot = -14.5363715466022 +955000 ekin = 2.7322410216683 | erot = 2.37373438935249 | epot = -19.3777324828793 | etot = -14.2717570718585 +956000 ekin = 2.80603458830182 | erot = 2.32665803374312 | epot = -19.4665233130259 | etot = -14.3338306909809 +957000 ekin = 2.73176061747242 | erot = 2.74205596111945 | epot = -19.524980257439 | etot = -14.0511636788471 +958000 ekin = 2.77128367160854 | erot = 2.7068271152838 | epot = -19.5522596510488 | etot = -14.0741488641564 +959000 ekin = 2.78347654187748 | erot = 2.83940326280202 | epot = -19.5446437759979 | etot = -13.9217639713184 +960000 ekin = 2.63327999524026 | erot = 3.22713050217908 | epot = -19.5114109332442 | etot = -13.6510004358248 +961000 ekin = 2.53039842552575 | erot = 3.04837954363138 | epot = -19.4489807736386 | etot = -13.8702028044814 +962000 ekin = 2.42158405784754 | erot = 2.73764467618047 | epot = -19.3495392486846 | etot = -14.1903105146565 +963000 ekin = 2.35599553488279 | erot = 2.6817144021742 | epot = -19.2270773719362 | etot = -14.1893674348792 +964000 ekin = 2.25219457310711 | erot = 2.53224426940242 | epot = -19.0939126804605 | etot = -14.309473837951 +965000 ekin = 2.15172115406625 | erot = 2.5074263640058 | epot = -18.9655401098707 | etot = -14.3063925917986 +966000 ekin = 2.08836430745346 | erot = 2.10683533981445 | epot = -18.8740473984177 | etot = -14.6788477511498 +967000 ekin = 2.12576981405844 | erot = 2.10554977010184 | epot = -18.8222969563416 | etot = -14.5909773721813 +968000 ekin = 2.12924016899234 | erot = 1.91970464113304 | epot = -18.8304973626992 | etot = -14.7815525525738 +969000 ekin = 2.1744253034851 | erot = 2.16512140090506 | epot = -18.8673529233365 | etot = -14.5278062189463 +970000 ekin = 2.18162741265382 | erot = 2.2450862581363 | epot = -18.9283529594566 | etot = -14.5016392886665 +971000 ekin = 2.1872176318087 | erot = 2.43353633304448 | epot = -19.0277599144665 | etot = -14.4070059496134 +972000 ekin = 2.27055464044586 | erot = 2.03487376489175 | epot = -19.1290866187785 | etot = -14.8236582134409 +973000 ekin = 2.33904004605626 | erot = 2.15183928912462 | epot = -19.236661180688 | etot = -14.7457818455071 +974000 ekin = 2.4184780784401 | erot = 2.34438108784234 | epot = -19.363118432485 | etot = -14.6002592662026 +975000 ekin = 2.46206146488029 | erot = 2.35624199281868 | epot = -19.4736098152928 | etot = -14.6553063575938 +976000 ekin = 2.52456876946494 | erot = 2.27614398265605 | epot = -19.5649915573495 | etot = -14.7642788052285 +977000 ekin = 2.60637564524354 | erot = 2.0709370581174 | epot = -19.6101874123253 | etot = -14.9328747089644 +978000 ekin = 2.61064269721012 | erot = 2.07202524510603 | epot = -19.629445129702 | etot = -14.9467771873859 +979000 ekin = 2.55561169069455 | erot = 2.18920140876201 | epot = -19.6166445363163 | etot = -14.8718314368598 +980000 ekin = 2.56864273287448 | erot = 2.03395631393317 | epot = -19.6174963338761 | etot = -15.0148972870685 +981000 ekin = 2.66191070196827 | erot = 2.16659095907662 | epot = -19.6250525963019 | etot = -14.796550935257 +982000 ekin = 2.61731281327832 | erot = 2.24698893274267 | epot = -19.5974740187255 | etot = -14.7331722727045 +983000 ekin = 2.54225454915894 | erot = 2.48926874093348 | epot = -19.574589405176 | etot = -14.5430661150836 +984000 ekin = 2.50737950403369 | erot = 3.03624865807153 | epot = -19.5602814074028 | etot = -14.0166532452976 +985000 ekin = 2.4152528155718 | erot = 2.79336029081699 | epot = -19.5475069203678 | etot = -14.338893813979 +986000 ekin = 2.43517645380153 | erot = 2.71437828234941 | epot = -19.5659718124285 | etot = -14.4164170762775 +987000 ekin = 2.43635014041239 | erot = 2.70440060167985 | epot = -19.6117703785916 | etot = -14.4710196364993 +988000 ekin = 2.47223137990792 | erot = 3.04012548433553 | epot = -19.6728653378115 | etot = -14.1605084735681 +989000 ekin = 2.57461282782935 | erot = 2.65740086918251 | epot = -19.7180658550368 | etot = -14.4860521580249 +990000 ekin = 2.67359097736954 | erot = 2.60446843961488 | epot = -19.7676266504478 | etot = -14.4895672334633 +991000 ekin = 2.70426688173755 | erot = 2.7885730625978 | epot = -19.8289708825354 | etot = -14.3361309382 +992000 ekin = 2.77048904951462 | erot = 3.05066231165514 | epot = -19.9192662402538 | etot = -14.098114879084 +993000 ekin = 2.82958876080153 | erot = 2.65444369525357 | epot = -20.003093866259 | etot = -14.5190614102039 +994000 ekin = 2.90170601691379 | erot = 2.65673610083181 | epot = -20.0686975144619 | etot = -14.5102553967163 +995000 ekin = 3.03287923230155 | erot = 2.4030603061795 | epot = -20.1412612654696 | etot = -14.7053217269886 +996000 ekin = 3.01357004889798 | erot = 1.93970518668622 | epot = -20.2209046421976 | etot = -15.2676294066134 +997000 ekin = 3.16382267303453 | erot = 2.09671009945294 | epot = -20.2929309039614 | etot = -15.0323981314739 +998000 ekin = 3.20277399494172 | erot = 2.11561017239343 | epot = -20.3495982469412 | etot = -15.031214079606 +999000 ekin = 3.17166482809408 | erot = 2.14572404428889 | epot = -20.3850372708089 | etot = -15.0676483984259 +1000000 ekin = 3.19306217159923 | erot = 2.4662195338148 | epot = -20.4393210047148 | etot = -14.7800392993008 + 1000000 0.14191387 -1.3172305 0.039772926 -1.0778912 3.1162031e-05 64000 +Loop time of 26.6858 on 4 procs for 1000000 steps with 16 atoms + +Performance: 32376.758 tau/day, 37473.099 timesteps/s +99.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 | 14.528 | 16.117 | 17.521 | 33.5 | 60.39 +Bond | 0.3756 | 0.45654 | 0.49823 | 7.2 | 1.71 +Neigh | 0.011905 | 0.011947 | 0.011963 | 0.0 | 0.04 +Comm | 2.5182 | 2.6398 | 2.7955 | 7.0 | 9.89 +Output | 0.11297 | 0.11799 | 0.1276 | 1.7 | 0.44 +Modify | 1.4585 | 1.5893 | 1.7174 | 8.8 | 5.96 +Other | | 5.754 | | | 21.56 + +Nlocal: 4.00000 ave 5 max 3 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Nghost: 12.0000 ave 13 max 11 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Neighs: 49.5000 ave 60 max 39 min +Histogram: 2 0 0 0 0 0 0 0 0 2 + +Total # of neighbors = 198 +Ave neighs/atom = 12.375000 +Ave special neighs/atom = 3.7500000 +Neighbor list builds = 1000 +Dangerous builds = 0 + +write_data last_config.${number}.* nocoeff +write_data last_config.2.* nocoeff +System init for write_data ... +Total wall time: 0:00:26 diff --git a/examples/PACKAGES/cgdna/examples/oxDNA2/duplex2/log.30Jun20.duplex2.g++.1 b/examples/PACKAGES/cgdna/examples/oxDNA2/duplex2/log.30Jun20.duplex2.g++.1 deleted file mode 100644 index 18df3a8299..0000000000 --- a/examples/PACKAGES/cgdna/examples/oxDNA2/duplex2/log.30Jun20.duplex2.g++.1 +++ /dev/null @@ -1,1184 +0,0 @@ -LAMMPS (30 Jun 2020) -variable number equal 2 -variable ofreq equal 1000 -variable efreq equal 1000 -variable T equal 0.1 - -units lj - -dimension 3 - -newton off - -boundary p p p - -atom_style hybrid bond ellipsoid -WARNING: Atom_style hybrid defines both pertype and peratom masses - both must be set, only peratom masses will be used (../atom_vec_hybrid.cpp:156) -atom_modify sort 0 1.0 - -# Pair interactions require lists of neighbours to be calculated -neighbor 1.0 bin -neigh_modify every 1 delay 0 check yes - -read_data data.duplex2 - orthogonal box = (-20 -20 -20) to (20 20 20) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 16 atoms - reading velocities ... - 16 velocities - 16 ellipsoids - scanning bonds ... - 2 = max bonds/atom - reading bonds ... - 13 bonds - 2 = max # of 1-2 neighbors - 2 = max # of 1-3 neighbors - 4 = max # of 1-4 neighbors - 6 = max # of special neighbors - special bonds CPU = 0.000 seconds - read_data CPU = 0.002 seconds - -set atom * mass 3.1575 - 16 settings made for mass - -group all type 1 4 -16 atoms in group all - -# oxDNA2 bond interactions - FENE backbone -bond_style oxdna2/fene -bond_coeff * 2.0 0.25 0.7564 -special_bonds lj 0 1 1 - 2 = max # of 1-2 neighbors - 2 = max # of 1-3 neighbors - 4 = max # of 1-4 neighbors - 6 = max # of special neighbors - special bonds CPU = 0.000 seconds - -# oxDNA2 pair interactions -pair_style hybrid/overlay oxdna2/excv oxdna2/stk oxdna2/hbond oxdna2/xstk oxdna2/coaxstk oxdna2/dh -pair_coeff * * oxdna2/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32 -pair_coeff * * oxdna2/stk seqav ${T} 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 -pair_coeff * * oxdna2/stk seqav 0.1 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 -pair_coeff * * oxdna2/hbond seqav 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 1 4 oxdna2/hbond seqav 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 2 3 oxdna2/hbond seqav 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff * * oxdna2/xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68 -pair_coeff * * oxdna2/coaxstk 58.5 0.4 0.6 0.22 0.58 2.0 2.891592653589793 0.65 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 40.0 3.116592653589793 -pair_coeff * * oxdna2/dh ${T} 1.0 0.815 -pair_coeff * * oxdna2/dh 0.1 1.0 0.815 - -# NVE ensemble -#fix 1 all nve/dot -fix 1 all nve/dotc/langevin ${T} ${T} 0.03 457145 angmom 10 -fix 1 all nve/dotc/langevin 0.1 ${T} 0.03 457145 angmom 10 -fix 1 all nve/dotc/langevin 0.1 0.1 0.03 457145 angmom 10 -#fix 1 all nve/asphere -#fix 2 all langevin ${T} ${T} 0.03 457145 angmom 10 - -timestep 1e-5 - -#comm_style tiled -#fix 3 all balance 10000 1.1 rcb -comm_modify cutoff 2.5 - -#compute mol all chunk/atom molecule -#compute mychunk all vcm/chunk mol -#fix 4 all ave/time 10000 1 10000 c_mychunk[1] c_mychunk[2] c_mychunk[3] file vcm.txt mode vector - -#dump pos all xyz ${ofreq} traj.${number}.xyz - -#compute quat all property/atom quatw quati quatj quatk -#dump quat all custom ${ofreq} quat.${number}.txt id c_quat[1] c_quat[2] c_quat[3] c_quat[4] -#dump_modify quat sort id -#dump_modify quat format line "%d %13.6le %13.6le %13.6le %13.6le" - -compute erot all erotate/asphere -compute ekin all ke -compute epot all pe -variable erot equal c_erot -variable ekin equal c_ekin -variable epot equal c_epot -variable etot equal c_erot+c_ekin+c_epot -fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes -fix 5 all print 1000 "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes - -#dump out all custom ${ofreq} out.${number}.txt id x y z vx vy vz fx fy fz tqx tqy tqz -#dump_modify out sort id -#dump_modify out format line "%d %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le" - -run 1000000 -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.6274048 - ghost atom cutoff = 2.6274048 - binsize = 1.3137024, bins = 31 31 31 - 6 neighbor lists, perpetual/occasional/extra = 6 0 0 - (1) pair oxdna2/excv, perpetual - attributes: half, newton off - pair build: half/bin/newtoff - stencil: half/bin/3d/newtoff - bin: standard - (2) pair oxdna2/stk, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (3) pair oxdna2/hbond, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (4) pair oxdna2/xstk, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (5) pair oxdna2/coaxstk, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (6) pair oxdna2/dh, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none -WARNING: Communication cutoff adjusted to 2.627404783947349 (../comm.cpp:690) -0 ekin = 0 | erot = 0 | epot = -24.419271289937 | etot = -24.419271289937 -Per MPI rank memory allocation (min/avg/max) = 8.146 | 8.146 | 8.146 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 0 -1.5358787 0.0096742456 -1.5262045 1.0127369e-05 -1000 ekin = 1.54282272464468 | erot = 1.71757897250772 | epot = -24.4403527731341 | etot = -21.1799510759817 -2000 ekin = 1.86109566690716 | erot = 1.93804145796026 | epot = -24.3759816748265 | etot = -20.5768445499591 -3000 ekin = 2.68769182431188 | erot = 2.14559269500086 | epot = -24.2916556822451 | etot = -19.4583711629324 -4000 ekin = 2.04710303757243 | erot = 1.48774072590987 | epot = -24.190371461807 | etot = -20.6555276983247 -5000 ekin = 1.77654023802719 | erot = 2.53418650522101 | epot = -24.1246365663843 | etot = -19.8139098231361 -6000 ekin = 3.12253137872527 | erot = 2.04028266818831 | epot = -24.0491248750916 | etot = -18.8863108281781 -7000 ekin = 3.22418765752177 | erot = 2.72037570174022 | epot = -23.9458569915548 | etot = -18.0012936322928 -8000 ekin = 2.83204202112963 | erot = 2.67060276413776 | epot = -23.9211291529766 | etot = -18.4184843677092 -9000 ekin = 2.69585642754481 | erot = 2.59559820250212 | epot = -23.8340823338302 | etot = -18.5426277037833 -10000 ekin = 2.66058119525512 | erot = 1.95965933336077 | epot = -23.7132443170725 | etot = -19.0930037884567 -11000 ekin = 2.34346978235591 | erot = 2.0608750207871 | epot = -23.5779637301072 | etot = -19.1736189269642 -12000 ekin = 2.71430148816282 | erot = 2.08352509995717 | epot = -23.4639027443831 | etot = -18.6660761562631 -13000 ekin = 2.61978682102879 | erot = 2.37135270083347 | epot = -23.3602247027812 | etot = -18.3690851809189 -14000 ekin = 3.07648218347461 | erot = 2.513719767243 | epot = -23.2345584968309 | etot = -17.6443565461133 -15000 ekin = 2.98155804409324 | erot = 1.87766202539412 | epot = -23.0833749664029 | etot = -18.2241548969156 -16000 ekin = 2.18215330648447 | erot = 2.12621179836828 | epot = -22.9601160092383 | etot = -18.6517509043856 -17000 ekin = 1.85636180329758 | erot = 2.31208745603367 | epot = -22.8022922969143 | etot = -18.633843037583 -18000 ekin = 2.26768559168017 | erot = 1.2389450409061 | epot = -22.668242963885 | etot = -19.1616123312987 -19000 ekin = 2.41605854545852 | erot = 2.44791952321404 | epot = -22.5387095337131 | etot = -17.6747314650405 -20000 ekin = 2.51175765558337 | erot = 2.15047735899709 | epot = -22.3909493829452 | etot = -17.7287143683647 -21000 ekin = 2.9915110961596 | erot = 2.41132105778464 | epot = -22.5047205397251 | etot = -17.1018883857809 -22000 ekin = 3.06067007914886 | erot = 1.83986675392832 | epot = -22.6049739626141 | etot = -17.7044371295369 -23000 ekin = 2.66061083480474 | erot = 2.22251362834379 | epot = -22.5979829967718 | etot = -17.7148585336233 -24000 ekin = 2.65745533322327 | erot = 2.79344397300952 | epot = -22.5688422615674 | etot = -17.1179429553346 -25000 ekin = 2.30064465907917 | erot = 2.20975367009042 | epot = -22.5633453862602 | etot = -18.0529470570906 -26000 ekin = 1.6282588103248 | erot = 2.51914272742421 | epot = -22.6015006270016 | etot = -18.4540990892526 -27000 ekin = 1.76021840072103 | erot = 3.70719293889859 | epot = -22.6409357152274 | etot = -17.1735243756077 -28000 ekin = 2.28064774169505 | erot = 2.34192414128161 | epot = -22.7124772012735 | etot = -18.0899053182968 -29000 ekin = 2.05883865245349 | erot = 1.85387249117169 | epot = -22.7242388348361 | etot = -18.811527691211 -30000 ekin = 2.41090888362676 | erot = 1.86304539977924 | epot = -22.6876650006964 | etot = -18.4137107172904 -31000 ekin = 2.76955959719985 | erot = 2.74117025737249 | epot = -22.6962463526981 | etot = -17.1855164981257 -32000 ekin = 2.08562644954365 | erot = 2.81609166367558 | epot = -22.7309387973059 | etot = -17.8292206840867 -33000 ekin = 2.08306771838837 | erot = 3.6412168312574 | epot = -22.671701882331 | etot = -16.9474173326852 -34000 ekin = 2.32648544880974 | erot = 3.09480128654123 | epot = -22.5637155764017 | etot = -17.1424288410507 -35000 ekin = 2.32492461599899 | erot = 2.02549181832456 | epot = -22.4811871522455 | etot = -18.1307707179219 -36000 ekin = 1.9160219633488 | erot = 1.97655634076097 | epot = -22.3849871062612 | etot = -18.4924088021514 -37000 ekin = 1.57338784336504 | erot = 2.62872199467344 | epot = -22.3528406869297 | etot = -18.1507308488912 -38000 ekin = 2.21547906806797 | erot = 2.89630123965964 | epot = -22.3056616105138 | etot = -17.1938813027862 -39000 ekin = 2.55049061085212 | erot = 2.46486573403212 | epot = -22.2602280028032 | etot = -17.244871657919 -40000 ekin = 2.25628181110086 | erot = 1.87515483835113 | epot = -22.2878959489406 | etot = -18.1564592994886 -41000 ekin = 2.46478791133629 | erot = 2.50742704532316 | epot = -22.3614598606398 | etot = -17.3892449039804 -42000 ekin = 2.69217693496336 | erot = 2.04021031621289 | epot = -22.3505245167544 | etot = -17.6181372655782 -43000 ekin = 2.40211339309477 | erot = 1.6668978842528 | epot = -22.353509525279 | etot = -18.2844982479314 -44000 ekin = 2.30891568897327 | erot = 2.40213237626172 | epot = -22.3871831090405 | etot = -17.6761350438055 -45000 ekin = 1.83275065976638 | erot = 2.26068140262528 | epot = -22.4994702091406 | etot = -18.406038146749 -46000 ekin = 1.97585087518641 | erot = 3.0186371421683 | epot = -22.4902643909032 | etot = -17.4957763735485 -47000 ekin = 1.30702141485601 | erot = 1.99592830992523 | epot = -22.4679405795691 | etot = -19.1649908547879 -48000 ekin = 2.58893650014613 | erot = 1.90050780837457 | epot = -22.5072015009757 | etot = -18.017757192455 -49000 ekin = 2.30293607053961 | erot = 2.71885537559561 | epot = -22.5026363414396 | etot = -17.4808448953044 -50000 ekin = 2.47053682632632 | erot = 3.4216531112208 | epot = -22.415032340787 | etot = -16.5228424032399 -51000 ekin = 2.70972992123879 | erot = 1.4301791663753 | epot = -22.3056750708571 | etot = -18.165765983243 -52000 ekin = 3.01390456844682 | erot = 1.97787470370191 | epot = -22.2827481318966 | etot = -17.2909688597479 -53000 ekin = 2.43796472406694 | erot = 4.25598325759163 | epot = -22.2611961774508 | etot = -15.5672481957922 -54000 ekin = 2.47286167616923 | erot = 2.3677730007818 | epot = -22.243519577301 | etot = -17.40288490035 -55000 ekin = 2.25994505035907 | erot = 1.91872181759988 | epot = -22.2996523252175 | etot = -18.1209854572585 -56000 ekin = 2.3461223108806 | erot = 2.20461695689782 | epot = -22.370356062429 | etot = -17.8196167946505 -57000 ekin = 2.51587877543148 | erot = 2.87451767129977 | epot = -22.4723343857415 | etot = -17.0819379390103 -58000 ekin = 2.49925674722554 | erot = 2.80569508565646 | epot = -22.5303780310556 | etot = -17.2254261981736 -59000 ekin = 2.75080755995156 | erot = 2.17181245800364 | epot = -22.5861118023788 | etot = -17.6634917844236 -60000 ekin = 3.2849676836621 | erot = 1.98487748777051 | epot = -22.5789662701264 | etot = -17.3091210986938 -61000 ekin = 2.4147550327795 | erot = 1.80972454908232 | epot = -22.5207352876114 | etot = -18.2962557057495 -62000 ekin = 2.82665653061546 | erot = 1.68517769072779 | epot = -22.4078181490349 | etot = -17.8959839276917 -63000 ekin = 3.70002607874218 | erot = 1.92704686824234 | epot = -22.2626867402007 | etot = -16.6356137932161 -64000 ekin = 3.61736288982706 | erot = 3.03600982585025 | epot = -22.2659045523542 | etot = -15.6125318366769 -65000 ekin = 3.40363639902008 | erot = 3.89044870099903 | epot = -22.2274777177663 | etot = -14.9333926177472 -66000 ekin = 2.94418257190202 | erot = 2.45963190668857 | epot = -22.1363667635561 | etot = -16.7325522849655 -67000 ekin = 2.60477940218663 | erot = 2.10479080523513 | epot = -22.038362895265 | etot = -17.3287926878432 -68000 ekin = 2.57158327795866 | erot = 2.46431755410219 | epot = -22.0244560205645 | etot = -16.9885551885036 -69000 ekin = 2.43845102321476 | erot = 2.85996177461682 | epot = -22.0620804569545 | etot = -16.7636676591229 -70000 ekin = 3.08348233524936 | erot = 2.49640850205841 | epot = -22.1433186271748 | etot = -16.563427789867 -71000 ekin = 2.5576093427884 | erot = 2.50957641127969 | epot = -22.2697187660694 | etot = -17.2025330120013 -72000 ekin = 1.7831483145096 | erot = 2.52806261120156 | epot = -22.3815818044114 | etot = -18.0703708787002 -73000 ekin = 1.86053585113659 | erot = 2.3350857968737 | epot = -22.4387359493251 | etot = -18.2431143013148 -74000 ekin = 3.14016175467449 | erot = 2.13186507521504 | epot = -22.447062887188 | etot = -17.1750360572984 -75000 ekin = 2.60368665360454 | erot = 2.18680067560206 | epot = -22.4438479629936 | etot = -17.653360633787 -76000 ekin = 1.9633244939079 | erot = 1.96057322365503 | epot = -22.4704022140376 | etot = -18.5465044964747 -77000 ekin = 2.09841107775422 | erot = 2.1471460143176 | epot = -22.4970899098551 | etot = -18.2515328177832 -78000 ekin = 2.49484391610508 | erot = 2.50538853212234 | epot = -22.4472882748805 | etot = -17.4470558266531 -79000 ekin = 3.10058476014063 | erot = 2.47637061915656 | epot = -22.3558276087081 | etot = -16.7788722294109 -80000 ekin = 2.52610159631253 | erot = 1.89085194000216 | epot = -22.2951000287249 | etot = -17.8781464924102 -81000 ekin = 2.34286765202483 | erot = 2.2376810918426 | epot = -22.2933034850974 | etot = -17.71275474123 -82000 ekin = 1.55517061572748 | erot = 2.02195112736337 | epot = -22.2470532436032 | etot = -18.6699315005123 -83000 ekin = 2.27421747802727 | erot = 3.34135950792192 | epot = -22.2406089881454 | etot = -16.6250320021963 -84000 ekin = 2.91603956429582 | erot = 2.09861057599124 | epot = -22.2305865946953 | etot = -17.2159364544083 -85000 ekin = 3.17172070756641 | erot = 2.91883241347319 | epot = -22.2381339647476 | etot = -16.147580843708 -86000 ekin = 3.48918734688943 | erot = 2.79711547316344 | epot = -22.2890012778608 | etot = -16.0026984578079 -87000 ekin = 3.648834525211 | erot = 2.30637362835037 | epot = -22.2817018896603 | etot = -16.3264937360989 -88000 ekin = 3.16156585935194 | erot = 2.24503314085539 | epot = -22.2225172277202 | etot = -16.8159182275129 -89000 ekin = 3.32092350591891 | erot = 1.79966969251215 | epot = -22.1549711261911 | etot = -17.03437792776 -90000 ekin = 2.41383485147934 | erot = 2.22694238351369 | epot = -21.9352492588881 | etot = -17.294472023895 -91000 ekin = 1.87769980964557 | erot = 2.50898156232204 | epot = -21.766796868726 | etot = -17.3801154967584 -92000 ekin = 2.06420930396832 | erot = 2.23853979300919 | epot = -21.6902828653619 | etot = -17.3875337683844 -93000 ekin = 1.94960374605101 | erot = 3.00245663654886 | epot = -21.6771969695753 | etot = -16.7251365869754 -94000 ekin = 2.07633340602167 | erot = 3.38669471112637 | epot = -21.7794316475531 | etot = -16.3164035304051 -95000 ekin = 2.09307446139111 | erot = 2.0811295310408 | epot = -21.9165143849258 | etot = -17.7423103924939 -96000 ekin = 2.66782345206074 | erot = 1.87453507536254 | epot = -21.9748225431664 | etot = -17.4324640157432 -97000 ekin = 1.93962158410337 | erot = 2.81228342262069 | epot = -22.0301811391172 | etot = -17.2782761323932 -98000 ekin = 1.98651083318125 | erot = 2.05358325550364 | epot = -22.1050988415859 | etot = -18.065004752901 -99000 ekin = 2.50729461715162 | erot = 3.55227490812968 | epot = -22.2148658268239 | etot = -16.1552963015426 -100000 ekin = 1.87954195221303 | erot = 2.38994009743578 | epot = -22.3826768493088 | etot = -18.11319479966 -101000 ekin = 1.66917867676911 | erot = 3.61296864361924 | epot = -22.4122779848186 | etot = -17.1301306644303 -102000 ekin = 1.63707836649616 | erot = 3.33958463197985 | epot = -22.3664797586262 | etot = -17.3898167601502 -103000 ekin = 2.00216132457488 | erot = 2.34409134088738 | epot = -22.338100531932 | etot = -17.9918478664698 -104000 ekin = 2.03704734920245 | erot = 2.74903331701925 | epot = -22.3478074938274 | etot = -17.5617268276057 -105000 ekin = 1.85601249652044 | erot = 2.00020228548217 | epot = -22.2937670136133 | etot = -18.4375522316107 -106000 ekin = 1.70582694215149 | erot = 1.90992656339968 | epot = -22.3252996603125 | etot = -18.7095461547614 -107000 ekin = 2.61183521416777 | erot = 1.56756438600251 | epot = -22.3815585845482 | etot = -18.2021589843779 -108000 ekin = 2.13345133147477 | erot = 2.1967764492834 | epot = -22.2873637709221 | etot = -17.9571359901639 -109000 ekin = 2.23517703897427 | erot = 2.12289589403282 | epot = -22.1519605830327 | etot = -17.7938876500256 -110000 ekin = 1.66340581480182 | erot = 2.52573727214601 | epot = -22.1681066766204 | etot = -17.9789635896725 -111000 ekin = 2.28529122032929 | erot = 2.24044883756493 | epot = -22.1711980210611 | etot = -17.6454579631669 -112000 ekin = 2.60405127944181 | erot = 2.43646974545776 | epot = -22.1582164438795 | etot = -17.11769541898 -113000 ekin = 2.40208651796091 | erot = 3.06270264515793 | epot = -22.1587051510952 | etot = -16.6939159879764 -114000 ekin = 2.34302229470158 | erot = 2.30426477746864 | epot = -22.1439772736805 | etot = -17.4966902015103 -115000 ekin = 1.69616053999229 | erot = 3.11049212247371 | epot = -22.1736739038021 | etot = -17.3670212413361 -116000 ekin = 1.51961045217859 | erot = 2.22203808801726 | epot = -22.2355447345615 | etot = -18.4938961943657 -117000 ekin = 1.69355164638512 | erot = 2.33913072714747 | epot = -22.2671845473364 | etot = -18.2345021738038 -118000 ekin = 2.1960991163694 | erot = 2.33815079858085 | epot = -22.2453229868293 | etot = -17.7110730718791 -119000 ekin = 2.55982892523823 | erot = 2.47378749563683 | epot = -22.2824155531543 | etot = -17.2487991322793 -120000 ekin = 1.76091001620491 | erot = 2.1741296357231 | epot = -22.2369948282136 | etot = -18.3019551762855 -121000 ekin = 2.80671234452976 | erot = 2.30128219469303 | epot = -22.2260257995407 | etot = -17.1180312603179 -122000 ekin = 3.23136903340218 | erot = 3.30036165167127 | epot = -22.2515019863338 | etot = -15.7197713012603 -123000 ekin = 2.8561114897291 | erot = 3.24294818442618 | epot = -22.2018342366988 | etot = -16.1027745625435 -124000 ekin = 2.14842162472016 | erot = 2.7693802805091 | epot = -22.0303368839078 | etot = -17.1125349786785 -125000 ekin = 1.83317468651689 | erot = 1.37271219749613 | epot = -21.8885764971633 | etot = -18.6826896131502 -126000 ekin = 2.45181092117661 | erot = 3.08753876167365 | epot = -21.8912653158441 | etot = -16.3519156329938 -127000 ekin = 2.39800706812202 | erot = 2.35255982488708 | epot = -21.8786845575463 | etot = -17.1281176645372 -128000 ekin = 2.74926309150919 | erot = 1.83113656927751 | epot = -21.8947833530885 | etot = -17.3143836923018 -129000 ekin = 2.71720149007507 | erot = 2.89223888586493 | epot = -21.888738829699 | etot = -16.279298453759 -130000 ekin = 3.27436175016883 | erot = 2.48649258221715 | epot = -21.9126051843054 | etot = -16.1517508519195 -131000 ekin = 2.72616313783309 | erot = 2.50345885992118 | epot = -21.9360367126892 | etot = -16.7064147149349 -132000 ekin = 2.62485920187038 | erot = 3.40341903141799 | epot = -21.9656374341347 | etot = -15.9373592008463 -133000 ekin = 2.0325764784668 | erot = 2.89126702157637 | epot = -21.9394295827134 | etot = -17.0155860826702 -134000 ekin = 1.62930019559461 | erot = 1.67001909466596 | epot = -21.900605038258 | etot = -18.6012857479974 -135000 ekin = 2.45037614605464 | erot = 2.12340550038047 | epot = -21.8772864662343 | etot = -17.3035048197992 -136000 ekin = 2.29225558372926 | erot = 3.05501283629331 | epot = -21.7842467542129 | etot = -16.4369783341904 -137000 ekin = 2.71619061857373 | erot = 2.45779692364663 | epot = -21.6204232926258 | etot = -16.4464357504054 -138000 ekin = 3.30410447428295 | erot = 1.73171704445596 | epot = -21.609821441089 | etot = -16.57399992235 -139000 ekin = 2.77055079544968 | erot = 1.72559500013771 | epot = -21.7720020827881 | etot = -17.2758562872007 -140000 ekin = 2.72528465654122 | erot = 2.46411811431296 | epot = -21.8660237331067 | etot = -16.6766209622525 -141000 ekin = 2.78705568892822 | erot = 2.44850479765533 | epot = -21.8731300806739 | etot = -16.6375695940903 -142000 ekin = 3.51931490090282 | erot = 3.48544343137045 | epot = -21.8228511941687 | etot = -14.8180928618954 -143000 ekin = 2.59719776759383 | erot = 2.02350560733262 | epot = -21.8096443263653 | etot = -17.1889409514388 -144000 ekin = 3.74308404358447 | erot = 3.03564456771536 | epot = -21.8085900408448 | etot = -15.029861429545 -145000 ekin = 3.62659723153861 | erot = 2.70926904415538 | epot = -21.7250027836497 | etot = -15.3891365079557 -146000 ekin = 3.87407885398524 | erot = 2.49638573472853 | epot = -21.7001271601514 | etot = -15.3296625714376 -147000 ekin = 3.27961687549993 | erot = 2.08263345163676 | epot = -21.5857141934645 | etot = -16.2234638663278 -148000 ekin = 2.49678519214407 | erot = 1.65068656472224 | epot = -21.3397240410766 | etot = -17.1922522842103 -149000 ekin = 2.74324871192595 | erot = 2.27422609775036 | epot = -21.1619902393526 | etot = -16.1445154296762 -150000 ekin = 2.63493686559431 | erot = 2.89891054679402 | epot = -21.0669519346708 | etot = -15.5331045222825 -151000 ekin = 2.08067982512823 | erot = 2.11598312084942 | epot = -20.9754508944265 | etot = -16.7787879484489 -152000 ekin = 2.41049293269485 | erot = 2.60865966337995 | epot = -20.8324522723453 | etot = -15.8132996762705 -153000 ekin = 2.11771886644781 | erot = 2.2612193836258 | epot = -20.8689010813857 | etot = -16.4899628313121 -154000 ekin = 2.34048807401985 | erot = 2.61000659349907 | epot = -20.9736996291527 | etot = -16.0232049616338 -155000 ekin = 2.06125568994135 | erot = 3.02657060603564 | epot = -20.9977701757737 | etot = -15.9099438797968 -156000 ekin = 2.03103875451807 | erot = 3.1844861824748 | epot = -20.8318196513999 | etot = -15.616294714407 -157000 ekin = 2.34991277428576 | erot = 1.91129748769811 | epot = -20.8011437796089 | etot = -16.539933517625 -158000 ekin = 2.16899004769298 | erot = 2.47810803275591 | epot = -20.8955785127325 | etot = -16.2484804322837 -159000 ekin = 2.86703441642079 | erot = 2.2901833721065 | epot = -21.0162479016245 | etot = -15.8590301130972 -160000 ekin = 2.19810986416329 | erot = 2.37335510649732 | epot = -21.1025044999173 | etot = -16.5310395292567 -161000 ekin = 2.13983549244144 | erot = 2.44280202062021 | epot = -21.204645979403 | etot = -16.6220084663414 -162000 ekin = 1.75007978204456 | erot = 2.67089623079416 | epot = -21.2587160217762 | etot = -16.8377400089375 -163000 ekin = 2.22497705720617 | erot = 2.03752809750894 | epot = -21.4065038175883 | etot = -17.1439986628732 -164000 ekin = 2.74622171092286 | erot = 1.42968886006587 | epot = -21.5464343754361 | etot = -17.3705238044474 -165000 ekin = 2.65892253082074 | erot = 2.28893669468687 | epot = -21.5542883684299 | etot = -16.6064291429223 -166000 ekin = 3.28497940714848 | erot = 2.38441021083685 | epot = -21.4831502209917 | etot = -15.8137606030064 -167000 ekin = 3.03302043173269 | erot = 2.0371493034983 | epot = -21.552220768162 | etot = -16.482051032931 -168000 ekin = 3.16647476932142 | erot = 1.85328814856002 | epot = -21.6005552665342 | etot = -16.5807923486528 -169000 ekin = 2.24705103875432 | erot = 2.66949801663851 | epot = -21.5155875234663 | etot = -16.5990384680735 -170000 ekin = 2.43835864940733 | erot = 2.49651566577791 | epot = -21.3706724967315 | etot = -16.4357981815463 -171000 ekin = 1.91174741927943 | erot = 2.39538037263751 | epot = -21.2808048923853 | etot = -16.9736771004683 -172000 ekin = 2.88344950373025 | erot = 3.21569142102288 | epot = -21.2429879136862 | etot = -15.1438469889331 -173000 ekin = 2.75630897924877 | erot = 2.14100943461477 | epot = -21.2680309804945 | etot = -16.370712566631 -174000 ekin = 2.45420058414632 | erot = 2.2332035837858 | epot = -21.3153962561354 | etot = -16.6279920882033 -175000 ekin = 2.84815372525752 | erot = 2.37845124629735 | epot = -21.2811665321372 | etot = -16.0545615605823 -176000 ekin = 2.13811988096562 | erot = 1.89602404006214 | epot = -21.3483452704796 | etot = -17.3142013494519 -177000 ekin = 2.57845153047441 | erot = 2.74101209600055 | epot = -21.3192781201108 | etot = -15.9998144936358 -178000 ekin = 1.8362026158725 | erot = 2.58532929872161 | epot = -21.2513623538897 | etot = -16.8298304392955 -179000 ekin = 2.51664198429652 | erot = 2.38535598715308 | epot = -21.3137585755744 | etot = -16.4117606041248 -180000 ekin = 1.88870242540222 | erot = 2.46307032082017 | epot = -21.4708809842583 | etot = -17.1191082380359 -181000 ekin = 1.7573063317019 | erot = 3.04206214925082 | epot = -21.4638802199926 | etot = -16.6645117390399 -182000 ekin = 1.56372006631669 | erot = 2.0482446459855 | epot = -21.4014353137661 | etot = -17.7894706014639 -183000 ekin = 2.00375583158539 | erot = 2.82586034021598 | epot = -21.4815637987258 | etot = -16.6519476269244 -184000 ekin = 2.68318475320728 | erot = 2.43685976384415 | epot = -21.5996781237133 | etot = -16.4796336066618 -185000 ekin = 2.99744907214255 | erot = 3.19569112714916 | epot = -21.6712604055259 | etot = -15.4781202062342 -186000 ekin = 3.18086271329103 | erot = 2.43694344502803 | epot = -21.700014527818 | etot = -16.0822083694989 -187000 ekin = 2.64763078555984 | erot = 3.43034775414789 | epot = -21.6568302519365 | etot = -15.5788517122288 -188000 ekin = 2.86104386361227 | erot = 3.05673704653031 | epot = -21.5997264275815 | etot = -15.6819455174389 -189000 ekin = 2.64279940222614 | erot = 1.81959052043828 | epot = -21.5371949170904 | etot = -17.074804994426 -190000 ekin = 2.21943570515013 | erot = 1.84825749826526 | epot = -21.498320200761 | etot = -17.4306269973456 -191000 ekin = 2.27416889747069 | erot = 2.0662909239644 | epot = -21.4373070550835 | etot = -17.0968472336484 -192000 ekin = 2.27339562400024 | erot = 3.1084542715957 | epot = -21.4737141732368 | etot = -16.0918642776409 -193000 ekin = 1.95136295247808 | erot = 1.8894092381771 | epot = -21.4612356964994 | etot = -17.6204635058442 -194000 ekin = 2.46233473019503 | erot = 2.02708794085746 | epot = -21.3374302301573 | etot = -16.8480075591048 -195000 ekin = 3.12435057559399 | erot = 2.09826675864205 | epot = -21.2738979568211 | etot = -16.0512806225851 -196000 ekin = 2.70015718375597 | erot = 2.5128575582669 | epot = -21.1930998936957 | etot = -15.9800851516728 -197000 ekin = 2.55038574692144 | erot = 2.07531410993401 | epot = -21.0258757995296 | etot = -16.4001759426742 -198000 ekin = 2.70688003284557 | erot = 1.79490240776514 | epot = -21.0190268968 | etot = -16.5172444561893 -199000 ekin = 2.5693949791157 | erot = 2.33188600887061 | epot = -21.0320560569424 | etot = -16.1307750689561 -200000 ekin = 2.89114428387874 | erot = 1.42209502781995 | epot = -21.0251552631878 | etot = -16.7119159514891 -201000 ekin = 2.68221791581645 | erot = 1.55638461968673 | epot = -21.0246765678572 | etot = -16.786074032354 -202000 ekin = 2.26600119742896 | erot = 2.24264658465156 | epot = -20.966213452201 | etot = -16.4575656701204 -203000 ekin = 2.11315541926328 | erot = 2.03104522736692 | epot = -20.8925289725737 | etot = -16.7483283259435 -204000 ekin = 2.10598805427349 | erot = 1.8944018028419 | epot = -20.9063507999493 | etot = -16.9059609428339 -205000 ekin = 1.32797127466544 | erot = 2.12796235386513 | epot = -20.9546930460646 | etot = -17.4987594175341 -206000 ekin = 1.38118094354854 | erot = 2.25600442653048 | epot = -20.9248899100655 | etot = -17.2877045399865 -207000 ekin = 1.89847617306066 | erot = 1.80813925076998 | epot = -21.0282211762941 | etot = -17.3216057524635 -208000 ekin = 1.82509354299281 | erot = 3.24652806561536 | epot = -21.2820126865175 | etot = -16.2103910779094 -209000 ekin = 2.8041625285186 | erot = 2.34850039993979 | epot = -21.4041461087816 | etot = -16.2514831803232 -210000 ekin = 3.17398766473313 | erot = 3.11871773439181 | epot = -21.4808635207107 | etot = -15.1881581215857 -211000 ekin = 2.47010820072588 | erot = 2.09528143227157 | epot = -21.6056990668499 | etot = -17.0403094338525 -212000 ekin = 2.36989560577724 | erot = 1.93500906628112 | epot = -21.6842526468772 | etot = -17.3793479748188 -213000 ekin = 1.90065800582391 | erot = 2.51889248061745 | epot = -21.7615899372457 | etot = -17.3420394508043 -214000 ekin = 1.97423172880181 | erot = 2.4980598759111 | epot = -21.7892459673185 | etot = -17.3169543626056 -215000 ekin = 1.97168935774729 | erot = 3.17151545304801 | epot = -21.7903331088791 | etot = -16.6471282980838 -216000 ekin = 1.89146772443534 | erot = 1.88107923457565 | epot = -21.7542848995033 | etot = -17.9817379404923 -217000 ekin = 2.06396631795602 | erot = 1.95272203440507 | epot = -21.8104294829847 | etot = -17.7937411306236 -218000 ekin = 2.31997702749623 | erot = 1.68971395254107 | epot = -21.7623319926371 | etot = -17.7526410125998 -219000 ekin = 2.46685879548778 | erot = 2.20801864234035 | epot = -21.7696248586177 | etot = -17.0947474207895 -220000 ekin = 1.73830824437668 | erot = 3.03764928140501 | epot = -21.7250063140519 | etot = -16.9490487882702 -221000 ekin = 1.77900155382619 | erot = 2.78474425452726 | epot = -21.7358321600373 | etot = -17.1720863516838 -222000 ekin = 2.62686448871845 | erot = 2.86058966709522 | epot = -21.6939796138854 | etot = -16.2065254580717 -223000 ekin = 3.04452612483164 | erot = 1.94024942191071 | epot = -21.7122663420572 | etot = -16.7274907953149 -224000 ekin = 2.718937145138 | erot = 2.42480319358565 | epot = -21.6802900448522 | etot = -16.5365497061286 -225000 ekin = 2.02691300626945 | erot = 3.37602856858266 | epot = -21.6857094668298 | etot = -16.2827678919777 -226000 ekin = 2.36557492667929 | erot = 2.39082460572007 | epot = -21.7553390008386 | etot = -16.9989394684392 -227000 ekin = 2.73620885172714 | erot = 2.63025691267084 | epot = -21.818043188201 | etot = -16.451577423803 -228000 ekin = 2.08980697083006 | erot = 2.26883720629955 | epot = -21.880544956506 | etot = -17.5219007793764 -229000 ekin = 1.80144547388731 | erot = 1.79654911472853 | epot = -21.9628584317261 | etot = -18.3648638431102 -230000 ekin = 2.77451167134285 | erot = 2.22776499369623 | epot = -21.9854420760081 | etot = -16.983165410969 -231000 ekin = 3.15850107875523 | erot = 2.7756116636273 | epot = -21.9726828438209 | etot = -16.0385701014384 -232000 ekin = 1.86960416304709 | erot = 1.70620936865288 | epot = -22.0086347294912 | etot = -18.4328211977913 -233000 ekin = 1.75933775527383 | erot = 1.56532056032101 | epot = -21.9899365513674 | etot = -18.6652782357726 -234000 ekin = 2.33698261677869 | erot = 2.05550388448924 | epot = -21.9120502409319 | etot = -17.5195637396639 -235000 ekin = 1.9573829360185 | erot = 2.52333284033808 | epot = -21.8594642182283 | etot = -17.3787484418717 -236000 ekin = 2.2617849997626 | erot = 1.90928533288046 | epot = -21.8749689452558 | etot = -17.7038986126127 -237000 ekin = 2.48853198845777 | erot = 2.64888724219513 | epot = -21.9453266234327 | etot = -16.8079073927798 -238000 ekin = 2.21038428000156 | erot = 2.7424361712651 | epot = -22.0000238560637 | etot = -17.0472034047971 -239000 ekin = 2.72852713027264 | erot = 2.49133994747208 | epot = -22.0182378682277 | etot = -16.7983707904829 -240000 ekin = 3.10387064960454 | erot = 2.19174616842279 | epot = -21.9254266959964 | etot = -16.629809877969 -241000 ekin = 3.04688823533615 | erot = 2.65417483072321 | epot = -21.8524309009232 | etot = -16.1513678348639 -242000 ekin = 2.22655833358292 | erot = 2.33728691596105 | epot = -21.775606752996 | etot = -17.211761503452 -243000 ekin = 1.53720920161825 | erot = 2.80453969203578 | epot = -21.7184041577432 | etot = -17.3766552640892 -244000 ekin = 1.91538946868823 | erot = 2.4387847070438 | epot = -21.6211228029713 | etot = -17.2669486272392 -245000 ekin = 1.95684890248336 | erot = 2.60788082483666 | epot = -21.4938704859113 | etot = -16.9291407585913 -246000 ekin = 2.07153989492555 | erot = 2.40695304198482 | epot = -21.4521110801275 | etot = -16.9736181432171 -247000 ekin = 1.55669060713796 | erot = 2.27930456834644 | epot = -21.4122603878221 | etot = -17.5762652123377 -248000 ekin = 1.83803563986085 | erot = 2.56773709137239 | epot = -21.4358565123266 | etot = -17.0300837810933 -249000 ekin = 1.79842337395836 | erot = 2.04417900475198 | epot = -21.5079955681831 | etot = -17.6653931894727 -250000 ekin = 1.68165772872533 | erot = 3.39425180338125 | epot = -21.5394505717881 | etot = -16.4635410396816 -251000 ekin = 2.13109176968443 | erot = 3.25918860829495 | epot = -21.5291832995953 | etot = -16.1389029216159 -252000 ekin = 2.053654740928 | erot = 2.53782822604964 | epot = -21.5554268525819 | etot = -16.9639438856043 -253000 ekin = 1.65815317720656 | erot = 3.2103686272941 | epot = -21.5801245998449 | etot = -16.7116027953443 -254000 ekin = 2.32643739073982 | erot = 3.10897981239372 | epot = -21.5778214253297 | etot = -16.1424042221962 -255000 ekin = 2.50573519817545 | erot = 2.76783941653296 | epot = -21.5566198260725 | etot = -16.2830452113641 -256000 ekin = 1.97360306022237 | erot = 2.62555911992843 | epot = -21.5492296987675 | etot = -16.9500675186167 -257000 ekin = 2.23010041401886 | erot = 3.26408085278294 | epot = -21.5699664805037 | etot = -16.0757852137019 -258000 ekin = 2.04489236085684 | erot = 1.84672249628675 | epot = -21.6871004150333 | etot = -17.7954855578897 -259000 ekin = 2.87368351206713 | erot = 2.78936048482183 | epot = -21.79465654858 | etot = -16.131612551691 -260000 ekin = 2.90723740318823 | erot = 2.19282117735075 | epot = -21.8510164466681 | etot = -16.7509578661291 -261000 ekin = 2.76826717813612 | erot = 2.3408102568469 | epot = -21.8996159314726 | etot = -16.7905384964896 -262000 ekin = 3.52272168049175 | erot = 1.77108921100701 | epot = -21.9183679745592 | etot = -16.6245570830604 -263000 ekin = 3.08415540167847 | erot = 2.42542153733818 | epot = -21.8525939259305 | etot = -16.3430169869139 -264000 ekin = 2.24750828021794 | erot = 2.03549249484823 | epot = -21.8644003610158 | etot = -17.5813995859496 -265000 ekin = 1.9256244934252 | erot = 2.50003397851261 | epot = -21.7368613865555 | etot = -17.3112029146177 -266000 ekin = 2.39663137918843 | erot = 3.25281234980079 | epot = -21.6911624005759 | etot = -16.0417186715867 -267000 ekin = 1.71138772864696 | erot = 2.23669516146945 | epot = -21.656773778734 | etot = -17.7086908886176 -268000 ekin = 2.1012342991695 | erot = 3.22431689054768 | epot = -21.6149417342532 | etot = -16.289390544536 -269000 ekin = 1.96288847894507 | erot = 2.78695129937916 | epot = -21.5074378362073 | etot = -16.7575980578831 -270000 ekin = 2.11352321718224 | erot = 2.66970769590072 | epot = -21.4082402788558 | etot = -16.6250093657728 -271000 ekin = 2.187367149063 | erot = 3.10651896358249 | epot = -21.2262888361409 | etot = -15.9324027234954 -272000 ekin = 2.53123659603481 | erot = 2.28031086814788 | epot = -21.0667233503151 | etot = -16.2551758861324 -273000 ekin = 1.93620978534757 | erot = 1.99248019508239 | epot = -21.0024789385132 | etot = -17.0737889580832 -274000 ekin = 1.90995249837777 | erot = 2.21197524437096 | epot = -21.0425035783664 | etot = -16.9205758356177 -275000 ekin = 1.7924862003403 | erot = 3.10053081821809 | epot = -21.0804706135493 | etot = -16.1874535949909 -276000 ekin = 3.35665649861731 | erot = 2.41114048919769 | epot = -21.0250329806457 | etot = -15.2572359928307 -277000 ekin = 2.41733347319127 | erot = 1.50728350741789 | epot = -20.9704854598112 | etot = -17.045868479202 -278000 ekin = 2.53927407792784 | erot = 2.14772203209251 | epot = -20.9597795409701 | etot = -16.2727834309497 -279000 ekin = 1.9086257726176 | erot = 2.39006859456279 | epot = -20.9691625784233 | etot = -16.6704682112429 -280000 ekin = 2.3712715434438 | erot = 3.59520758009785 | epot = -20.8511344732567 | etot = -14.884655349715 -281000 ekin = 1.76900280298917 | erot = 1.79532059184944 | epot = -20.9241533960326 | etot = -17.3598300011939 -282000 ekin = 2.27081772250325 | erot = 3.05002296036257 | epot = -20.8869696699162 | etot = -15.5661289870504 -283000 ekin = 2.18678338225262 | erot = 2.20808584908431 | epot = -20.8425952687799 | etot = -16.4477260374429 -284000 ekin = 1.91967212543913 | erot = 2.20885942937705 | epot = -20.8702716845898 | etot = -16.7417401297736 -285000 ekin = 3.15534421247094 | erot = 1.80733118017555 | epot = -21.0506046634905 | etot = -16.0879292708441 -286000 ekin = 3.87414654801577 | erot = 1.83540293712377 | epot = -21.2318072144161 | etot = -15.5222577292766 -287000 ekin = 3.65199335032365 | erot = 2.91368616965972 | epot = -21.3038992633635 | etot = -14.7382197433801 -288000 ekin = 3.25566938715965 | erot = 1.61414633945368 | epot = -21.2971542306353 | etot = -16.427338504022 -289000 ekin = 2.57263419624199 | erot = 2.78652542009298 | epot = -21.270831111226 | etot = -15.911671494891 -290000 ekin = 2.70850264399552 | erot = 2.41920167874741 | epot = -21.2832461285427 | etot = -16.1555418057998 -291000 ekin = 2.06015522240602 | erot = 2.36096794039798 | epot = -21.2800181616414 | etot = -16.8588949988374 -292000 ekin = 2.28565579809197 | erot = 2.0492309975275 | epot = -21.3390392809808 | etot = -17.0041524853614 -293000 ekin = 2.24969697991474 | erot = 2.35258801570063 | epot = -21.4487457699855 | etot = -16.8464607743701 -294000 ekin = 2.93116374685755 | erot = 2.88908330420809 | epot = -21.5301464521074 | etot = -15.7098994010417 -295000 ekin = 2.66799463567933 | erot = 2.29137040664776 | epot = -21.6929279927361 | etot = -16.733562950409 -296000 ekin = 2.20703557359524 | erot = 2.91779932622371 | epot = -21.745669704948 | etot = -16.6208348051291 -297000 ekin = 2.17709774147519 | erot = 3.31374313109423 | epot = -21.7393959864692 | etot = -16.2485551138997 -298000 ekin = 2.9129468421301 | erot = 2.35672300219859 | epot = -21.6957115365355 | etot = -16.4260416922068 -299000 ekin = 3.16776997287189 | erot = 2.2391818507998 | epot = -21.8064946029841 | etot = -16.3995427793124 -300000 ekin = 3.29561200430319 | erot = 1.38909463218868 | epot = -21.88075107193 | etot = -17.1960444354381 -301000 ekin = 2.38366117761117 | erot = 3.3087020645508 | epot = -21.8991772346975 | etot = -16.2068139925356 -302000 ekin = 2.92578534773873 | erot = 3.24773085922143 | epot = -21.8654359309133 | etot = -15.6919197239531 -303000 ekin = 2.41046706286872 | erot = 2.62044101440911 | epot = -21.8547021809442 | etot = -16.8237941036664 -304000 ekin = 2.22973717088315 | erot = 2.69550632779805 | epot = -21.7935318306645 | etot = -16.8682883319833 -305000 ekin = 2.37917924648061 | erot = 2.39025207841258 | epot = -21.7682058013904 | etot = -16.9987744764972 -306000 ekin = 1.94479260294372 | erot = 2.89926351945751 | epot = -21.7686335450968 | etot = -16.9245774226955 -307000 ekin = 2.51329193607427 | erot = 2.07893464323809 | epot = -21.710948391274 | etot = -17.1187218119617 -308000 ekin = 2.81355602400968 | erot = 2.63100444247636 | epot = -21.7026983871469 | etot = -16.2581379206609 -309000 ekin = 2.33327686418279 | erot = 2.12127029003217 | epot = -21.6762127568296 | etot = -17.2216656026146 -310000 ekin = 2.52298184126179 | erot = 3.21591454963617 | epot = -21.695142164932 | etot = -15.956245774034 -311000 ekin = 2.34923515117596 | erot = 3.03949532400544 | epot = -21.7087574865082 | etot = -16.3200270113268 -312000 ekin = 1.8269200765792 | erot = 3.25879908323384 | epot = -21.581493453196 | etot = -16.495774293383 -313000 ekin = 1.63600964511319 | erot = 2.08094899400482 | epot = -21.606397547734 | etot = -17.889438908616 -314000 ekin = 2.27293762564082 | erot = 2.5685903273234 | epot = -21.6199211148905 | etot = -16.7783931619263 -315000 ekin = 2.5313505044608 | erot = 2.13255412771189 | epot = -21.6994892370102 | etot = -17.0355846048375 -316000 ekin = 1.99528950863063 | erot = 1.8009779719585 | epot = -21.7144101219026 | etot = -17.9181426413135 -317000 ekin = 2.11352183168035 | erot = 2.00935618346838 | epot = -21.702888210866 | etot = -17.5800101957173 -318000 ekin = 2.29665458459675 | erot = 1.9218837801722 | epot = -21.6711519227436 | etot = -17.4526135579747 -319000 ekin = 1.98093881438111 | erot = 1.68246475076764 | epot = -21.5680359341469 | etot = -17.9046323689982 -320000 ekin = 2.46251923881396 | erot = 3.07047264047418 | epot = -21.5096210718397 | etot = -15.9766291925515 -321000 ekin = 1.85318841838943 | erot = 2.6741946235276 | epot = -21.5386927047478 | etot = -17.0113096628308 -322000 ekin = 1.94542919328061 | erot = 3.36132448976007 | epot = -21.462118312038 | etot = -16.1553646289973 -323000 ekin = 1.92568445593302 | erot = 2.08578688156951 | epot = -21.4990899081635 | etot = -17.487618570661 -324000 ekin = 2.21374645511898 | erot = 2.45979330983641 | epot = -21.6010648344435 | etot = -16.9275250694881 -325000 ekin = 2.71973630116966 | erot = 2.37178970012744 | epot = -21.712426807882 | etot = -16.6209008065849 -326000 ekin = 1.88824000887386 | erot = 1.92165807946833 | epot = -21.7667410841736 | etot = -17.9568429958315 -327000 ekin = 3.03069091411613 | erot = 1.66905303717587 | epot = -21.8444186282852 | etot = -17.1446746769932 -328000 ekin = 2.74111841160537 | erot = 1.91707691036631 | epot = -21.8825192055331 | etot = -17.2243238835614 -329000 ekin = 2.94134490087235 | erot = 3.13982603162578 | epot = -21.9373718647512 | etot = -15.8562009322531 -330000 ekin = 2.91659917154128 | erot = 2.01302494652939 | epot = -21.9334919050175 | etot = -17.0038677869468 -331000 ekin = 2.28401437900765 | erot = 2.04959290659006 | epot = -21.9235871145697 | etot = -17.589979828972 -332000 ekin = 2.41477240701933 | erot = 3.18206286535344 | epot = -21.9762685570111 | etot = -16.3794332846383 -333000 ekin = 2.45632306729147 | erot = 2.70981698021117 | epot = -22.0802863854372 | etot = -16.9141463379346 -334000 ekin = 2.37343096192712 | erot = 2.99538841337669 | epot = -22.1169059815891 | etot = -16.7480866062853 -335000 ekin = 2.11258102220993 | erot = 3.56563799589785 | epot = -22.1589708630881 | etot = -16.4807518449803 -336000 ekin = 2.63443561655341 | erot = 2.12835506840877 | epot = -22.135253476801 | etot = -17.3724627918388 -337000 ekin = 2.74032565197819 | erot = 2.73568544119591 | epot = -22.1162186765824 | etot = -16.6402075834083 -338000 ekin = 1.84481246769261 | erot = 2.23462418681718 | epot = -22.1932263562086 | etot = -18.1137897016988 -339000 ekin = 1.56179484671187 | erot = 2.48907003494865 | epot = -22.2362997512502 | etot = -18.1854348695896 -340000 ekin = 1.46400835747893 | erot = 4.0512188877133 | epot = -22.1550062300509 | etot = -16.6397789848587 -341000 ekin = 1.68583362524713 | erot = 2.79345882658496 | epot = -22.1357452359775 | etot = -17.6564527841454 -342000 ekin = 1.96314395645267 | erot = 2.74466248035308 | epot = -22.1973030330981 | etot = -17.4894965962924 -343000 ekin = 2.66788553126356 | erot = 3.18183761806682 | epot = -22.2887136544829 | etot = -16.4389905051526 -344000 ekin = 1.78884972348303 | erot = 2.18066038812641 | epot = -22.3196903631289 | etot = -18.3501802515195 -345000 ekin = 1.54101094076145 | erot = 1.85848281555012 | epot = -22.3637723164297 | etot = -18.9642785601181 -346000 ekin = 1.69292596460904 | erot = 1.8080316670706 | epot = -22.3281555406487 | etot = -18.827197908969 -347000 ekin = 1.37586220035546 | erot = 2.61615920278041 | epot = -22.3502414839316 | etot = -18.3582200807958 -348000 ekin = 2.1379756238867 | erot = 2.8590037384953 | epot = -22.3431546343773 | etot = -17.3461752719953 -349000 ekin = 1.82920941743142 | erot = 1.97683001829644 | epot = -22.358647853278 | etot = -18.5526084175502 -350000 ekin = 1.78940567302629 | erot = 2.50961291060183 | epot = -22.3435711705442 | etot = -18.0445525869161 -351000 ekin = 1.68761490497198 | erot = 2.81740261848487 | epot = -22.413948353252 | etot = -17.9089308297951 -352000 ekin = 2.77021596792832 | erot = 2.15256490237832 | epot = -22.5845859351651 | etot = -17.6618050648585 -353000 ekin = 3.56514294827437 | erot = 1.46623266587274 | epot = -22.6366139885995 | etot = -17.6052383744524 -354000 ekin = 3.44768413783611 | erot = 2.2508741161152 | epot = -22.5521676274445 | etot = -16.8536093734932 -355000 ekin = 2.0339222695118 | erot = 2.90917743936019 | epot = -22.5104712522892 | etot = -17.5673715434172 -356000 ekin = 2.10642401704757 | erot = 3.31919387591753 | epot = -22.5408670189009 | etot = -17.1152491259358 -357000 ekin = 2.76519653125328 | erot = 2.50858960423796 | epot = -22.5185760247454 | etot = -17.2447898892542 -358000 ekin = 2.5374658712045 | erot = 2.2647702680074 | epot = -22.5067305203673 | etot = -17.7044943811554 -359000 ekin = 3.23575918003202 | erot = 2.52804611996866 | epot = -22.5983600193657 | etot = -16.834554719365 -360000 ekin = 2.59182745067507 | erot = 1.97199586910126 | epot = -22.6431957503706 | etot = -18.0793724305942 -361000 ekin = 2.61187422629997 | erot = 2.50384597992352 | epot = -22.6889255875949 | etot = -17.5732053813714 -362000 ekin = 2.38478129908564 | erot = 3.84225576928699 | epot = -22.6416012117121 | etot = -16.4145641433395 -363000 ekin = 2.88499903144359 | erot = 1.98712884581536 | epot = -22.5277585455565 | etot = -17.6556306682975 -364000 ekin = 2.24472586183289 | erot = 1.87849655022233 | epot = -22.4027818145434 | etot = -18.2795594024882 -365000 ekin = 2.04314188489358 | erot = 2.81001232738016 | epot = -22.2276048128305 | etot = -17.3744506005568 -366000 ekin = 2.26658685631362 | erot = 1.95650208645697 | epot = -22.1895525177766 | etot = -17.966463575006 -367000 ekin = 2.81568040956379 | erot = 2.51870737095405 | epot = -22.2465449976265 | etot = -16.9121572171087 -368000 ekin = 2.81607406017701 | erot = 2.1866718839128 | epot = -22.3661835489406 | etot = -17.3634376048508 -369000 ekin = 2.31666862853353 | erot = 2.84859903953565 | epot = -22.4308123375305 | etot = -17.2655446694613 -370000 ekin = 2.66612981804874 | erot = 2.10389084208224 | epot = -22.505799930102 | etot = -17.7357792699711 -371000 ekin = 2.19552758440374 | erot = 3.61117481442869 | epot = -22.5711545036622 | etot = -16.7644521048298 -372000 ekin = 1.77345963407765 | erot = 3.42406482157981 | epot = -22.66405706261 | etot = -17.4665326069525 -373000 ekin = 2.14860861324314 | erot = 2.79097682151395 | epot = -22.7141452937347 | etot = -17.7745598589776 -374000 ekin = 2.69445806056395 | erot = 3.57889438136966 | epot = -22.860153056641 | etot = -16.5868006147074 -375000 ekin = 2.40579827793462 | erot = 2.98564029581681 | epot = -22.9188993843038 | etot = -17.5274608105523 -376000 ekin = 3.36516934625557 | erot = 3.24766546156016 | epot = -22.940715917868 | etot = -16.3278811100523 -377000 ekin = 3.18983781467362 | erot = 2.65450417571542 | epot = -22.8850374180386 | etot = -17.0406954276496 -378000 ekin = 1.54656075265338 | erot = 2.66317423977111 | epot = -22.8855901030291 | etot = -18.6758551106046 -379000 ekin = 1.93839150288505 | erot = 2.54534031143981 | epot = -22.9043634096536 | etot = -18.4206315953288 -380000 ekin = 2.66254728899606 | erot = 2.88892403669479 | epot = -22.9338385289327 | etot = -17.3823672032419 -381000 ekin = 2.95357480274557 | erot = 2.1770881328374 | epot = -22.9777297037143 | etot = -17.8470667681313 -382000 ekin = 2.58828801972808 | erot = 2.01895528744468 | epot = -22.9240694006084 | etot = -18.3168260934356 -383000 ekin = 2.01537544096934 | erot = 2.50444896556415 | epot = -22.9471970402487 | etot = -18.4273726337152 -384000 ekin = 2.1008854766715 | erot = 2.19856058469132 | epot = -22.9599217884816 | etot = -18.6604757271188 -385000 ekin = 1.91384966632105 | erot = 1.63022965207194 | epot = -22.9760629278411 | etot = -19.4319836094481 -386000 ekin = 1.56010650102716 | erot = 1.35861854215736 | epot = -23.0225779741027 | etot = -20.1038529309182 -387000 ekin = 2.21264194719196 | erot = 1.75007226671446 | epot = -23.0228562328387 | etot = -19.0601420189323 -388000 ekin = 1.98740987493218 | erot = 1.95984350341523 | epot = -22.9305477811724 | etot = -18.983294402825 -389000 ekin = 2.54192883121441 | erot = 2.33922416322361 | epot = -22.9249127695712 | etot = -18.0437597751332 -390000 ekin = 2.07846479778646 | erot = 1.88716644515798 | epot = -22.8328701541731 | etot = -18.8672389112287 -391000 ekin = 1.85214179314428 | erot = 2.41299153787073 | epot = -22.7996788423596 | etot = -18.5345455113446 -392000 ekin = 2.1990161201673 | erot = 2.89998817237143 | epot = -22.7987091159473 | etot = -17.6997048234086 -393000 ekin = 2.15260515278705 | erot = 3.19524728171092 | epot = -22.8896620280071 | etot = -17.5418095935092 -394000 ekin = 1.99225032343945 | erot = 2.14729304405154 | epot = -22.8800416390029 | etot = -18.7404982715119 -395000 ekin = 2.03378474286714 | erot = 2.5027536840914 | epot = -22.9316292594111 | etot = -18.3950908324525 -396000 ekin = 2.1438632384243 | erot = 1.95894279389406 | epot = -23.0275362016084 | etot = -18.92473016929 -397000 ekin = 2.3982267029558 | erot = 1.6520465154777 | epot = -23.1343663061977 | etot = -19.0840930877642 -398000 ekin = 3.58481792746973 | erot = 2.51392910802386 | epot = -23.2457545351658 | etot = -17.1470074996722 -399000 ekin = 2.65690049350562 | erot = 1.78819644367598 | epot = -23.3515850649259 | etot = -18.9064881277443 -400000 ekin = 2.51173640894656 | erot = 2.10904826584645 | epot = -23.4207879652203 | etot = -18.8000032904273 -401000 ekin = 2.051233917874 | erot = 2.1536921336815 | epot = -23.4762000730604 | etot = -19.2712740215049 -402000 ekin = 2.43380846674055 | erot = 2.11259263785444 | epot = -23.4648112610383 | etot = -18.9184101564433 -403000 ekin = 2.53609107080855 | erot = 2.81280118329428 | epot = -23.5344895971956 | etot = -18.1855973430928 -404000 ekin = 2.18209195546023 | erot = 2.63706526020475 | epot = -23.6211046727682 | etot = -18.8019474571032 -405000 ekin = 2.45129457425945 | erot = 2.40500271478244 | epot = -23.6324000926426 | etot = -18.7761028036007 -406000 ekin = 2.21962265364597 | erot = 2.24914950938542 | epot = -23.6519777970511 | etot = -19.1832056340197 -407000 ekin = 1.98553912077512 | erot = 2.77856927236326 | epot = -23.557236944138 | etot = -18.7931285509997 -408000 ekin = 2.57635800289226 | erot = 2.58086436198046 | epot = -23.4362831006766 | etot = -18.2790607358039 -409000 ekin = 2.36933136766419 | erot = 2.25922617215654 | epot = -23.3257538962906 | etot = -18.6971963564699 -410000 ekin = 2.02248038283451 | erot = 1.96486213113069 | epot = -23.3085205990924 | etot = -19.3211780851272 -411000 ekin = 1.8788974806599 | erot = 2.6514468933077 | epot = -23.288114132028 | etot = -18.7577697580604 -412000 ekin = 1.99373261308744 | erot = 2.68967710559433 | epot = -23.2520689125676 | etot = -18.5686591938858 -413000 ekin = 2.38901265794743 | erot = 2.64559329464322 | epot = -23.1974799245766 | etot = -18.1628739719859 -414000 ekin = 2.42764537426657 | erot = 1.75171638842505 | epot = -23.1227256481796 | etot = -18.943363885488 -415000 ekin = 2.76411872449006 | erot = 2.44214574701597 | epot = -23.1777400120228 | etot = -17.9714755405168 -416000 ekin = 2.08293620051845 | erot = 2.76581176915863 | epot = -23.186622003278 | etot = -18.337874033601 -417000 ekin = 1.99975250190993 | erot = 1.9578721634496 | epot = -23.1905597787985 | etot = -19.2329351134389 -418000 ekin = 2.38311403931269 | erot = 2.55890369849375 | epot = -23.1547990589628 | etot = -18.2127813211564 -419000 ekin = 2.98411599395291 | erot = 2.57059785409318 | epot = -23.0506701290817 | etot = -17.4959562810356 -420000 ekin = 2.60188910540588 | erot = 2.46051136519661 | epot = -22.9584750453702 | etot = -17.8960745747677 -421000 ekin = 2.51721839958931 | erot = 1.77803097918895 | epot = -22.9478270423399 | etot = -18.6525776635616 -422000 ekin = 2.73215994330404 | erot = 1.67289719515518 | epot = -22.9366997516619 | etot = -18.5316426132027 -423000 ekin = 2.13301592734426 | erot = 2.54982791014141 | epot = -22.8120609726708 | etot = -18.1292171351851 -424000 ekin = 1.90609667850123 | erot = 2.31895806505094 | epot = -22.7750025410849 | etot = -18.5499477975327 -425000 ekin = 2.37363345292966 | erot = 1.95591998920184 | epot = -22.7837602756269 | etot = -18.4542068334954 -426000 ekin = 2.23506150102974 | erot = 2.60957702289923 | epot = -22.8034248715963 | etot = -17.9587863476673 -427000 ekin = 1.8858071920588 | erot = 2.12670154749625 | epot = -22.9703036100131 | etot = -18.957794870458 -428000 ekin = 1.93190556918249 | erot = 2.45435859297294 | epot = -23.1028032345637 | etot = -18.7165390724082 -429000 ekin = 1.72625681322915 | erot = 2.16391616195066 | epot = -23.1169612720762 | etot = -19.2267882968964 -430000 ekin = 2.31229851925652 | erot = 2.14059498772528 | epot = -23.123947656521 | etot = -18.6710541495392 -431000 ekin = 2.45856801873639 | erot = 2.41565239614123 | epot = -23.1343729492306 | etot = -18.260152534353 -432000 ekin = 2.80045086542028 | erot = 2.19133218252703 | epot = -23.1425691977264 | etot = -18.1507861497791 -433000 ekin = 2.20382151693237 | erot = 1.62233615534329 | epot = -23.186811655719 | etot = -19.3606539834433 -434000 ekin = 2.5912014730388 | erot = 2.35257474145033 | epot = -23.2139624944838 | etot = -18.2701862799947 -435000 ekin = 2.292878018016 | erot = 2.54026793769998 | epot = -23.1933803471397 | etot = -18.3602343914237 -436000 ekin = 2.43255475285637 | erot = 2.74965402216776 | epot = -23.2431213562246 | etot = -18.0609125812005 -437000 ekin = 1.64425595993858 | erot = 3.23323066283653 | epot = -23.2344898707627 | etot = -18.3570032479876 -438000 ekin = 1.56118873048903 | erot = 2.60253121414272 | epot = -23.1306562811571 | etot = -18.9669363365254 -439000 ekin = 2.30492577643288 | erot = 1.9389279713903 | epot = -23.1381949153658 | etot = -18.8943411675426 -440000 ekin = 2.52026113610471 | erot = 3.04666677428385 | epot = -23.1986879717886 | etot = -17.6317600614 -441000 ekin = 2.79914634628251 | erot = 2.54581028632591 | epot = -23.1725956938593 | etot = -17.8276390612509 -442000 ekin = 2.93509023618977 | erot = 2.87676477127226 | epot = -23.1159592458781 | etot = -17.304104238416 -443000 ekin = 1.96857488695096 | erot = 1.76444429617767 | epot = -23.0441054580414 | etot = -19.3110862749127 -444000 ekin = 2.00750191739409 | erot = 2.2534047751145 | epot = -22.9735423472635 | etot = -18.712635654755 -445000 ekin = 2.22546986952724 | erot = 2.06326830023309 | epot = -22.8095964231444 | etot = -18.5208582533841 -446000 ekin = 2.4450124715022 | erot = 2.3730159305034 | epot = -22.7149791043001 | etot = -17.8969507022945 -447000 ekin = 2.27692613820669 | erot = 2.40593386102284 | epot = -22.7350457195192 | etot = -18.0521857202897 -448000 ekin = 2.17715994902024 | erot = 1.93996223845971 | epot = -22.8484345777469 | etot = -18.7313123902669 -449000 ekin = 2.2196798712192 | erot = 2.34285870025318 | epot = -22.938199826666 | etot = -18.3756612551936 -450000 ekin = 2.75054977353848 | erot = 1.97938557871968 | epot = -22.8928697422248 | etot = -18.1629343899666 -451000 ekin = 2.21115355148631 | erot = 2.13373186546172 | epot = -22.9268989776618 | etot = -18.5820135607137 -452000 ekin = 2.54346617380347 | erot = 2.35731335928095 | epot = -22.9645722362833 | etot = -18.0637927031988 -453000 ekin = 2.2284644335428 | erot = 1.78504863466535 | epot = -22.9494030803646 | etot = -18.9358900121564 -454000 ekin = 2.43981950788672 | erot = 2.59540327726185 | epot = -22.8784508334485 | etot = -17.8432280482999 -455000 ekin = 2.04589395219366 | erot = 2.7960521140105 | epot = -22.6640287607136 | etot = -17.8220826945095 -456000 ekin = 2.02066497153519 | erot = 2.51421900073603 | epot = -22.4777086012038 | etot = -17.9428246289326 -457000 ekin = 2.62428771899347 | erot = 2.43881206937848 | epot = -22.3598178635714 | etot = -17.2967180751994 -458000 ekin = 2.00990487485324 | erot = 1.99234707595584 | epot = -22.2532334283702 | etot = -18.2509814775611 -459000 ekin = 1.75250109782347 | erot = 2.49689893971802 | epot = -22.2437782516535 | etot = -17.994378214112 -460000 ekin = 1.9190487289221 | erot = 2.07624013444807 | epot = -22.2370852343625 | etot = -18.2417963709923 -461000 ekin = 1.56836892852198 | erot = 1.28974645955658 | epot = -22.2063748439499 | etot = -19.3482594558713 -462000 ekin = 2.45168650095568 | erot = 1.36025556758079 | epot = -22.3059327256893 | etot = -18.4939906571528 -463000 ekin = 2.64349639743884 | erot = 2.07826809667296 | epot = -22.4269210824658 | etot = -17.705156588354 -464000 ekin = 2.67294933942793 | erot = 3.73619931212747 | epot = -22.5513294295021 | etot = -16.1421807779467 -465000 ekin = 1.95387776347697 | erot = 2.23929165445271 | epot = -22.7354276602965 | etot = -18.5422582423668 -466000 ekin = 2.13358131772513 | erot = 2.9628231040371 | epot = -22.8413443832467 | etot = -17.7449399614844 -467000 ekin = 2.46622692687387 | erot = 2.11619893803783 | epot = -23.0236293811154 | etot = -18.4412035162037 -468000 ekin = 1.99045166389675 | erot = 1.6285380006184 | epot = -23.0932840681895 | etot = -19.4742944036743 -469000 ekin = 2.49670871865504 | erot = 2.63664907892974 | epot = -23.1383213964888 | etot = -18.0049635989041 -470000 ekin = 2.92207685554493 | erot = 3.21710942124273 | epot = -23.1429890223789 | etot = -17.0038027455912 -471000 ekin = 2.36481422254557 | erot = 1.72322177619039 | epot = -23.1018283304032 | etot = -19.0137923316673 -472000 ekin = 2.18517765615792 | erot = 2.00241070370021 | epot = -23.0699010011102 | etot = -18.8823126412521 -473000 ekin = 2.37141527291476 | erot = 2.86124879212049 | epot = -23.0301508899776 | etot = -17.7974868249423 -474000 ekin = 2.18573397152438 | erot = 2.60055996125085 | epot = -22.9109845829656 | etot = -18.1246906501904 -475000 ekin = 2.39664419497567 | erot = 2.01359105802913 | epot = -22.8103966693808 | etot = -18.400161416376 -476000 ekin = 2.106779684052 | erot = 2.60326535898524 | epot = -22.8093298667681 | etot = -18.0992848237309 -477000 ekin = 2.53303116397527 | erot = 3.55507509768021 | epot = -22.7929172799516 | etot = -16.7048110182962 -478000 ekin = 2.40644412232746 | erot = 2.73235251079285 | epot = -22.7008644942783 | etot = -17.562067861158 -479000 ekin = 1.2774884884165 | erot = 2.99242202231977 | epot = -22.6580451660686 | etot = -18.3881346553323 -480000 ekin = 1.82378442133505 | erot = 2.13912569674403 | epot = -22.6273806665075 | etot = -18.6644705484284 -481000 ekin = 2.38794676527735 | erot = 3.18394268862154 | epot = -22.652698250081 | etot = -17.0808087961821 -482000 ekin = 3.20103552737715 | erot = 2.41980408559651 | epot = -22.6098898945504 | etot = -16.9890502815768 -483000 ekin = 3.03840673317681 | erot = 2.48624445057528 | epot = -22.5747152180487 | etot = -17.0500640342966 -484000 ekin = 2.70186903599877 | erot = 2.52680102607677 | epot = -22.6043659240374 | etot = -17.3756958619618 -485000 ekin = 3.27237676088605 | erot = 2.42435226331311 | epot = -22.5971021698101 | etot = -16.9003731456109 -486000 ekin = 1.96601696665902 | erot = 1.75893246838797 | epot = -22.6399989280022 | etot = -18.9150494929552 -487000 ekin = 2.62348602949564 | erot = 2.50764223408898 | epot = -22.7315097398775 | etot = -17.6003814762928 -488000 ekin = 1.75208653704965 | erot = 2.64490018417003 | epot = -22.7893685606217 | etot = -18.3923818394021 -489000 ekin = 2.08736451702833 | erot = 2.95231225184179 | epot = -22.8795542371813 | etot = -17.8398774683112 -490000 ekin = 2.30758266641326 | erot = 2.33160202425018 | epot = -22.8824154392574 | etot = -18.2432307485939 -491000 ekin = 2.48198002403303 | erot = 2.59526090835888 | epot = -22.8753520101327 | etot = -17.7981110777408 -492000 ekin = 3.28206840084522 | erot = 2.18523064608534 | epot = -22.8554585939889 | etot = -17.3881595470583 -493000 ekin = 3.37968205627646 | erot = 2.35359230702798 | epot = -22.802471593836 | etot = -17.0691972305315 -494000 ekin = 3.57469694905841 | erot = 2.2485639294812 | epot = -22.8021092664721 | etot = -16.9788483879325 -495000 ekin = 2.5052834294994 | erot = 2.15847696242519 | epot = -22.7974611109899 | etot = -18.1337007190653 -496000 ekin = 1.95424552563439 | erot = 3.58261919463167 | epot = -22.8351163728141 | etot = -17.298251652548 -497000 ekin = 2.22184693843012 | erot = 2.46505638343575 | epot = -22.8411234790096 | etot = -18.1542201571438 -498000 ekin = 1.72646972661644 | erot = 2.39649152448662 | epot = -22.7771984845447 | etot = -18.6542372334417 -499000 ekin = 2.44587532386558 | erot = 2.82724443292545 | epot = -22.7933140861756 | etot = -17.5201943293846 -500000 ekin = 2.78510450558426 | erot = 2.23272713529476 | epot = -22.8971262576266 | etot = -17.8792946167476 -501000 ekin = 2.99437147790547 | erot = 1.97777660143103 | epot = -22.9259326262666 | etot = -17.9537845469301 -502000 ekin = 2.98620318494749 | erot = 1.79968012191087 | epot = -22.9540905110158 | etot = -18.1682072041574 -503000 ekin = 2.51500641896251 | erot = 2.88866029010492 | epot = -22.9837264072572 | etot = -17.5800596981898 -504000 ekin = 2.84385497746759 | erot = 2.69349274825329 | epot = -22.9149904805499 | etot = -17.377642754829 -505000 ekin = 2.95574835602088 | erot = 2.6026753799514 | epot = -22.9888007816538 | etot = -17.4303770456815 -506000 ekin = 2.19820711369971 | erot = 1.96723089641087 | epot = -23.0300125090253 | etot = -18.8645744989147 -507000 ekin = 2.26258673474996 | erot = 2.70466389763239 | epot = -22.9957070923465 | etot = -18.0284564599641 -508000 ekin = 2.63638196787186 | erot = 2.05040146648131 | epot = -23.0074182438498 | etot = -18.3206348094966 -509000 ekin = 2.941534357322 | erot = 2.9116561510807 | epot = -23.0604926861274 | etot = -17.2073021777247 -510000 ekin = 2.26261998090286 | erot = 2.81560695024321 | epot = -23.1751735881193 | etot = -18.0969466569732 -511000 ekin = 2.89882203877689 | erot = 2.15644204743089 | epot = -23.2976829651598 | etot = -18.242418878952 -512000 ekin = 2.18248507908123 | erot = 2.32471465184078 | epot = -23.3729111641778 | etot = -18.8657114332558 -513000 ekin = 1.69088054596992 | erot = 2.87837634409229 | epot = -23.3827433252491 | etot = -18.8134864351869 -514000 ekin = 1.72555879339418 | erot = 2.33322715253437 | epot = -23.3782683624831 | etot = -19.3194824165546 -515000 ekin = 1.99840271010263 | erot = 1.80256652461596 | epot = -23.3732611472924 | etot = -19.5722919125738 -516000 ekin = 3.02857447051151 | erot = 1.5400404903518 | epot = -23.3371239983442 | etot = -18.7685090374808 -517000 ekin = 2.46355229218044 | erot = 2.11387593279357 | epot = -23.3120503202835 | etot = -18.7346220953095 -518000 ekin = 2.03623914203692 | erot = 2.51801359135206 | epot = -23.2489994054059 | etot = -18.6947466720169 -519000 ekin = 1.58667253859857 | erot = 1.63211503072947 | epot = -23.2067561094409 | etot = -19.9879685401128 -520000 ekin = 2.16324608146533 | erot = 1.89657617078696 | epot = -23.2082678544253 | etot = -19.148445602173 -521000 ekin = 1.97686811359425 | erot = 2.0872712571421 | epot = -23.2512754061872 | etot = -19.1871360354508 -522000 ekin = 2.69830866187618 | erot = 2.1956248060682 | epot = -23.3119120700689 | etot = -18.4179786021245 -523000 ekin = 2.24785090987913 | erot = 1.67440253273743 | epot = -23.3589880036331 | etot = -19.4367345610165 -524000 ekin = 2.34889284001673 | erot = 2.1007910786486 | epot = -23.3797580192055 | etot = -18.9300741005401 -525000 ekin = 2.13149576225198 | erot = 2.0723725435025 | epot = -23.4380051055748 | etot = -19.2341367998203 -526000 ekin = 2.50239998087446 | erot = 2.25424985364477 | epot = -23.4972589637756 | etot = -18.7406091292563 -527000 ekin = 3.03515775223167 | erot = 1.80505768055502 | epot = -23.554671119079 | etot = -18.7144556862923 -528000 ekin = 2.5608174763548 | erot = 2.54328225738986 | epot = -23.5720157710688 | etot = -18.4679160373241 -529000 ekin = 2.37506941472445 | erot = 1.93007818421908 | epot = -23.5564414475786 | etot = -19.251293848635 -530000 ekin = 3.3419677281169 | erot = 3.41384036164691 | epot = -23.4493550232615 | etot = -16.6935469334977 -531000 ekin = 2.4235092053109 | erot = 2.35978294499845 | epot = -23.1490536179472 | etot = -18.3657614676379 -532000 ekin = 2.58896799590229 | erot = 1.86978691602605 | epot = -23.165039392045 | etot = -18.7062844801167 -533000 ekin = 2.18027058294701 | erot = 2.16031799038535 | epot = -23.3790946936929 | etot = -19.0385061203605 -534000 ekin = 2.3479868128811 | erot = 2.0385286250955 | epot = -23.4622625656644 | etot = -19.0757471276878 -535000 ekin = 2.3782313722319 | erot = 2.07392590496072 | epot = -23.4816815929821 | etot = -19.0295243157895 -536000 ekin = 2.46212862766406 | erot = 1.89477230721272 | epot = -23.4656032882526 | etot = -19.1087023533758 -537000 ekin = 1.71194009451629 | erot = 2.13445451003515 | epot = -23.5539827524157 | etot = -19.7075881478642 -538000 ekin = 2.16675831406369 | erot = 2.76561566966347 | epot = -23.6593643234718 | etot = -18.7269903397447 -539000 ekin = 2.16624212273309 | erot = 2.29113017698322 | epot = -23.7362705602946 | etot = -19.2788982605782 -540000 ekin = 2.37614209115086 | erot = 1.63783384730145 | epot = -23.7311087126642 | etot = -19.7171327742119 -541000 ekin = 2.61201729538231 | erot = 2.5250031626081 | epot = -23.6609998128446 | etot = -18.5239793548541 -542000 ekin = 2.72899828578995 | erot = 2.10988741791456 | epot = -23.6987729418172 | etot = -18.8598872381126 -543000 ekin = 2.72077400162185 | erot = 1.85643651604112 | epot = -23.6056812049309 | etot = -19.0284706872679 -544000 ekin = 2.11785692900505 | erot = 1.50578231047403 | epot = -23.581427161181 | etot = -19.9577879217019 -545000 ekin = 1.70786262657811 | erot = 2.5699332427333 | epot = -23.5821026874923 | etot = -19.3043068181809 -546000 ekin = 2.38060529409929 | erot = 1.86647004671163 | epot = -23.6101839511561 | etot = -19.3631086103452 -547000 ekin = 2.4524914794752 | erot = 2.45758863876476 | epot = -23.659961725937 | etot = -18.749881607697 -548000 ekin = 2.39048922197387 | erot = 2.39595923181893 | epot = -23.672341518051 | etot = -18.8858930642582 -549000 ekin = 2.59237109487195 | erot = 2.03286301955741 | epot = -23.663402955197 | etot = -19.0381688407676 -550000 ekin = 1.99326412841577 | erot = 1.84900416370414 | epot = -23.6657646794243 | etot = -19.8234963873044 -551000 ekin = 2.44897958881949 | erot = 2.02189459200062 | epot = -23.6223977807006 | etot = -19.1515235998805 -552000 ekin = 2.69506011124378 | erot = 1.4087045289661 | epot = -23.4598817431801 | etot = -19.3561171029703 -553000 ekin = 1.7614112496816 | erot = 2.61025745472483 | epot = -23.2534851194706 | etot = -18.8818164150642 -554000 ekin = 2.30413102985308 | erot = 2.33068531989324 | epot = -23.2170368597895 | etot = -18.5822205100432 -555000 ekin = 3.27044533046142 | erot = 1.64227498681914 | epot = -23.1963457102547 | etot = -18.2836253929742 -556000 ekin = 2.90315678132448 | erot = 2.59895742246943 | epot = -23.1450725642432 | etot = -17.6429583604493 -557000 ekin = 2.91669736278429 | erot = 3.16406737832137 | epot = -23.1449528769861 | etot = -17.0641881358805 -558000 ekin = 2.82900232701285 | erot = 2.71147852622196 | epot = -23.1184803827916 | etot = -17.5779995295568 -559000 ekin = 2.44505587446295 | erot = 3.29469811923283 | epot = -23.1627781618237 | etot = -17.423024168128 -560000 ekin = 2.31904677659936 | erot = 2.34795233137866 | epot = -23.1210700988646 | etot = -18.4540709908866 -561000 ekin = 2.04771931333916 | erot = 2.88228436865011 | epot = -23.024411145941 | etot = -18.0944074639517 -562000 ekin = 2.23091608960519 | erot = 3.71635453668511 | epot = -22.8944164201338 | etot = -16.9471457938435 -563000 ekin = 3.1357852432065 | erot = 2.30361462487037 | epot = -22.9661332369329 | etot = -17.5267333688561 -564000 ekin = 2.43466309429864 | erot = 2.37782011884422 | epot = -22.9389295001135 | etot = -18.1264462869706 -565000 ekin = 2.74708790028088 | erot = 2.07634713087886 | epot = -22.939331551729 | etot = -18.1158965205693 -566000 ekin = 2.4222839122782 | erot = 2.23675738705857 | epot = -22.9632631791452 | etot = -18.3042218798084 -567000 ekin = 2.66083125722037 | erot = 2.00815445030396 | epot = -23.0587738412098 | etot = -18.3897881336855 -568000 ekin = 3.04192088032675 | erot = 1.98454766740893 | epot = -23.1119399549794 | etot = -18.0854714072437 -569000 ekin = 3.57500602366975 | erot = 2.06993473480211 | epot = -23.1169833765643 | etot = -17.4720426180924 -570000 ekin = 2.66021275095562 | erot = 2.34009289778314 | epot = -23.1329733111479 | etot = -18.1326676624092 -571000 ekin = 1.9492727086219 | erot = 2.84215857351434 | epot = -23.059975766874 | etot = -18.2685444847377 -572000 ekin = 2.41534745626505 | erot = 2.40867063666104 | epot = -23.0550186086203 | etot = -18.2310005156942 -573000 ekin = 1.75690848092507 | erot = 2.3167538090557 | epot = -23.1062821980692 | etot = -19.0326199080885 -574000 ekin = 2.10700070451592 | erot = 2.59266019942445 | epot = -23.1953992541668 | etot = -18.4957383502265 -575000 ekin = 2.3766207361603 | erot = 2.79835296504546 | epot = -23.2685471976934 | etot = -18.0935734964876 -576000 ekin = 2.17646651375686 | erot = 3.28542649915204 | epot = -23.3024195314184 | etot = -17.8405265185095 -577000 ekin = 2.48649787916229 | erot = 2.29384528363048 | epot = -23.3336440834232 | etot = -18.5533009206305 -578000 ekin = 2.63489334342406 | erot = 2.38537839776846 | epot = -23.3926914947912 | etot = -18.3724197535987 -579000 ekin = 2.6879639473483 | erot = 1.70827418352421 | epot = -23.3699011030343 | etot = -18.9736629721618 -580000 ekin = 2.35397680707073 | erot = 2.85531289645877 | epot = -23.3791722262718 | etot = -18.1698825227423 -581000 ekin = 2.45623723360352 | erot = 2.60459639714713 | epot = -23.3494339765039 | etot = -18.2886003457532 -582000 ekin = 2.3382526117462 | erot = 3.2061485365379 | epot = -23.4180112490559 | etot = -17.8736101007718 -583000 ekin = 1.96183434404855 | erot = 2.8182320095548 | epot = -23.5859382554133 | etot = -18.80587190181 -584000 ekin = 2.00096532862293 | erot = 1.71661883974024 | epot = -23.6753971791609 | etot = -19.9578130107977 -585000 ekin = 2.26504312453072 | erot = 2.08207426542528 | epot = -23.7221723341546 | etot = -19.3750549441986 -586000 ekin = 2.20198471634668 | erot = 1.96863181734696 | epot = -23.6845937288944 | etot = -19.5139771952007 -587000 ekin = 3.67920423738482 | erot = 1.82482965137738 | epot = -23.6620758789199 | etot = -18.1580419901577 -588000 ekin = 3.48072723000483 | erot = 2.30687784419354 | epot = -23.5628518088072 | etot = -17.7752467346088 -589000 ekin = 2.6301802350708 | erot = 2.97022216183281 | epot = -23.3751519834186 | etot = -17.774749586515 -590000 ekin = 1.60810524494739 | erot = 2.03262567379754 | epot = -23.1930040863614 | etot = -19.5522731676165 -591000 ekin = 1.81653979391832 | erot = 1.75590363843925 | epot = -23.1286401679288 | etot = -19.5561967355713 -592000 ekin = 2.57251131663395 | erot = 2.59255636832343 | epot = -23.1517404198258 | etot = -17.9866727348685 -593000 ekin = 2.43680227955855 | erot = 1.78797812851328 | epot = -23.101945124129 | etot = -18.8771647160572 -594000 ekin = 2.12130372154182 | erot = 2.16319738901753 | epot = -23.0522428105757 | etot = -18.7677417000163 -595000 ekin = 2.61503378317223 | erot = 2.04014237870419 | epot = -23.0400690201979 | etot = -18.3848928583215 -596000 ekin = 2.5838826262171 | erot = 2.12601862315907 | epot = -23.0972897944143 | etot = -18.3873885450381 -597000 ekin = 3.03557942938101 | erot = 3.13923818214656 | epot = -23.0945090272485 | etot = -16.9196914157209 -598000 ekin = 3.44798129544029 | erot = 2.86439798217039 | epot = -23.1511239016259 | etot = -16.8387446240152 -599000 ekin = 2.14574146166173 | erot = 3.49764417749902 | epot = -23.122284004392 | etot = -17.4788983652312 -600000 ekin = 2.20860876734766 | erot = 2.50874056137532 | epot = -23.121641128369 | etot = -18.4042917996461 -601000 ekin = 2.82315501435403 | erot = 2.82784045939002 | epot = -23.0925533117084 | etot = -17.4415578379644 -602000 ekin = 2.33761512592198 | erot = 2.38145173595585 | epot = -23.0579577028674 | etot = -18.3388908409896 -603000 ekin = 1.93160054442741 | erot = 1.95556752436392 | epot = -22.9401029172158 | etot = -19.0529348484245 -604000 ekin = 2.6789810993261 | erot = 3.14412986031109 | epot = -22.910832287093 | etot = -17.0877213274558 -605000 ekin = 2.71997631755228 | erot = 2.06416447860583 | epot = -22.9239871466825 | etot = -18.1398463505244 -606000 ekin = 2.99643636348445 | erot = 2.03201196902714 | epot = -22.8415583488471 | etot = -17.8131100163355 -607000 ekin = 2.88272893636888 | erot = 2.37624693398617 | epot = -22.8254440726334 | etot = -17.5664682022784 -608000 ekin = 3.65630425769789 | erot = 2.4609503215642 | epot = -22.762585585759 | etot = -16.6453310064969 -609000 ekin = 2.67762341692564 | erot = 2.28055578469673 | epot = -22.7828567112764 | etot = -17.824677509654 -610000 ekin = 2.96652133048089 | erot = 2.13934256593668 | epot = -22.7741547643332 | etot = -17.6682908679156 -611000 ekin = 3.84932586877613 | erot = 2.13519046445732 | epot = -22.7544276213926 | etot = -16.7699112881591 -612000 ekin = 2.85989656018767 | erot = 2.46801741609839 | epot = -22.6660352466822 | etot = -17.3381212703962 -613000 ekin = 2.93453113084909 | erot = 2.15612014750899 | epot = -22.6610069845369 | etot = -17.5703557061788 -614000 ekin = 2.80105508963963 | erot = 2.03410273106392 | epot = -22.7348632778619 | etot = -17.8997054571583 -615000 ekin = 2.29275813765167 | erot = 2.37294703205248 | epot = -22.8254873753585 | etot = -18.1597822056544 -616000 ekin = 1.78885710821491 | erot = 2.46510899047625 | epot = -22.9171248890198 | etot = -18.6631587903287 -617000 ekin = 2.58551875410709 | erot = 2.5373402867597 | epot = -22.9360764839305 | etot = -17.8132174430637 -618000 ekin = 2.31892663964202 | erot = 2.68589041417607 | epot = -22.8727518088247 | etot = -17.8679347550066 -619000 ekin = 1.95263551601201 | erot = 2.00547599081928 | epot = -22.8336441658867 | etot = -18.8755326590554 -620000 ekin = 2.93125230382283 | erot = 2.17152517775752 | epot = -22.9083331407927 | etot = -17.8055556592123 -621000 ekin = 2.92256345141131 | erot = 1.69365804073587 | epot = -22.9481701549848 | etot = -18.3319486628377 -622000 ekin = 2.04586667934044 | erot = 2.52349184406704 | epot = -22.8875044323845 | etot = -18.318145908977 -623000 ekin = 1.97950132185482 | erot = 3.07798060074862 | epot = -22.8981219896543 | etot = -17.8406400670509 -624000 ekin = 2.09648418588882 | erot = 2.6543004426831 | epot = -22.9137783443298 | etot = -18.1629937157579 -625000 ekin = 2.53180941807541 | erot = 2.36094945875658 | epot = -22.9713145545226 | etot = -18.0785556776906 -626000 ekin = 2.71470092938691 | erot = 2.03801315634257 | epot = -22.9996382199111 | etot = -18.2469241341817 -627000 ekin = 2.22369596417806 | erot = 2.35283010947608 | epot = -22.9578688816797 | etot = -18.3813428080256 -628000 ekin = 2.27999602854394 | erot = 2.28859122795553 | epot = -22.8528131434533 | etot = -18.2842258869538 -629000 ekin = 2.52123682351367 | erot = 1.89626016629389 | epot = -22.7899249071395 | etot = -18.372427917332 -630000 ekin = 3.09552317576679 | erot = 2.51631689437832 | epot = -22.7146675453805 | etot = -17.1028274752354 -631000 ekin = 2.38490277583395 | erot = 3.31743656633136 | epot = -22.7264783640902 | etot = -17.0241390219248 -632000 ekin = 2.58507904222623 | erot = 2.52764941236063 | epot = -22.679176298765 | etot = -17.5664478441781 -633000 ekin = 2.43449371039936 | erot = 1.90741463354387 | epot = -22.6535443404276 | etot = -18.3116359964843 -634000 ekin = 2.22577214221416 | erot = 2.00782187507303 | epot = -22.5713359353359 | etot = -18.3377419180487 -635000 ekin = 2.21828703186448 | erot = 1.98254572604181 | epot = -22.5412406270617 | etot = -18.3404078691554 -636000 ekin = 2.25203768985671 | erot = 2.77892756814694 | epot = -22.5726302712271 | etot = -17.5416650132235 -637000 ekin = 1.94361631144887 | erot = 2.61217525293607 | epot = -22.6025759792528 | etot = -18.0467844148678 -638000 ekin = 2.53948853675747 | erot = 3.14008150742344 | epot = -22.5816815234452 | etot = -16.9021114792643 -639000 ekin = 2.37754295974937 | erot = 2.49543508367508 | epot = -22.5440763882375 | etot = -17.671098344813 -640000 ekin = 2.08220370718338 | erot = 2.2194194329635 | epot = -22.4524516894458 | etot = -18.1508285492989 -641000 ekin = 2.47978319917432 | erot = 3.55852054823509 | epot = -22.3492008411224 | etot = -16.310897093713 -642000 ekin = 3.38960132344713 | erot = 2.18185754829543 | epot = -22.2381539280913 | etot = -16.6666950563487 -643000 ekin = 2.84882938996105 | erot = 2.41327361032682 | epot = -22.1919035544934 | etot = -16.9298005542056 -644000 ekin = 2.97883864641817 | erot = 1.93798086343986 | epot = -22.1756635530162 | etot = -17.2588440431582 -645000 ekin = 4.12551460905463 | erot = 1.89960199669213 | epot = -22.1698840200029 | etot = -16.1447674142562 -646000 ekin = 2.52696700152244 | erot = 2.00637752228798 | epot = -22.1094379456324 | etot = -17.576093421822 -647000 ekin = 2.55510613012742 | erot = 2.20923063557538 | epot = -22.15306269638 | etot = -17.3887259306772 -648000 ekin = 3.02954161965434 | erot = 2.11327379217002 | epot = -22.1567476137635 | etot = -17.0139322019391 -649000 ekin = 2.58451162799693 | erot = 3.20634164199495 | epot = -22.1331170602233 | etot = -16.3422637902314 -650000 ekin = 3.77201429520633 | erot = 2.43067850654692 | epot = -22.0829669606205 | etot = -15.8802741588673 -651000 ekin = 3.31373950314884 | erot = 2.36225009565165 | epot = -21.9236843158819 | etot = -16.2476947170814 -652000 ekin = 2.49269048046144 | erot = 3.02152130835781 | epot = -21.7248332635395 | etot = -16.2106214747202 -653000 ekin = 2.82562653528407 | erot = 2.5389983180152 | epot = -21.720584398338 | etot = -16.3559595450387 -654000 ekin = 2.35162706281986 | erot = 2.1592221935512 | epot = -21.9212844347389 | etot = -17.4104351783678 -655000 ekin = 2.27465971046838 | erot = 2.12498228082651 | epot = -21.901368818889 | etot = -17.5017268275941 -656000 ekin = 2.33863364839044 | erot = 2.10521355308809 | epot = -21.9220753944062 | etot = -17.4782281929276 -657000 ekin = 2.74434430715418 | erot = 2.19004311145519 | epot = -22.136208072754 | etot = -17.2018206541446 -658000 ekin = 3.04725229200292 | erot = 2.59754076353072 | epot = -22.2930322879088 | etot = -16.6482392323752 -659000 ekin = 2.86433120437707 | erot = 3.42151787717832 | epot = -22.2980196003195 | etot = -16.0121705187641 -660000 ekin = 2.91954234725913 | erot = 1.63326659953276 | epot = -22.3386449739967 | etot = -17.7858360272048 -661000 ekin = 3.21083352573749 | erot = 1.8634965142938 | epot = -22.464255649999 | etot = -17.3899256099677 -662000 ekin = 3.05903745891172 | erot = 2.20029510410105 | epot = -22.5554071532051 | etot = -17.2960745901923 -663000 ekin = 1.91661647748247 | erot = 2.47135637120535 | epot = -22.6199107053331 | etot = -18.2319378566453 -664000 ekin = 1.43090369100425 | erot = 1.36491647540447 | epot = -22.7069611889569 | etot = -19.9111410225482 -665000 ekin = 1.55691746213238 | erot = 2.30942311266534 | epot = -22.7825901033953 | etot = -18.9162495285975 -666000 ekin = 2.44471757511112 | erot = 1.77340988320563 | epot = -22.9221213287866 | etot = -18.7039938704699 -667000 ekin = 2.81231115159421 | erot = 2.33234433996922 | epot = -23.1090557968116 | etot = -17.9644003052482 -668000 ekin = 2.71678052291266 | erot = 3.19300727255308 | epot = -23.1841400059555 | etot = -17.2743522104898 -669000 ekin = 3.42188935289467 | erot = 2.44862028635832 | epot = -23.2319725107707 | etot = -17.3614628715177 -670000 ekin = 2.54095648172786 | erot = 1.9812604087298 | epot = -23.1732308879544 | etot = -18.6510139974967 -671000 ekin = 2.3805663479416 | erot = 2.98378557997481 | epot = -23.1367627748431 | etot = -17.7724108469267 -672000 ekin = 3.02750640268286 | erot = 2.54451073535057 | epot = -23.1209945952621 | etot = -17.5489774572287 -673000 ekin = 3.42534085203218 | erot = 2.36776710166581 | epot = -23.0340816238788 | etot = -17.2409736701808 -674000 ekin = 3.1798335968179 | erot = 2.09974053793233 | epot = -22.9543522982093 | etot = -17.6747781634591 -675000 ekin = 2.35355980125584 | erot = 1.53476738200232 | epot = -22.8483076435154 | etot = -18.9599804602572 -676000 ekin = 2.44776916428191 | erot = 2.24648852028555 | epot = -22.7702475408439 | etot = -18.0759898562764 -677000 ekin = 2.75780413162083 | erot = 1.93135039840676 | epot = -22.8504049108609 | etot = -18.1612503808333 -678000 ekin = 2.86691036183901 | erot = 1.65298998733351 | epot = -22.8624995890271 | etot = -18.3425992398546 -679000 ekin = 2.3422515492929 | erot = 2.69060711211823 | epot = -22.9306443341676 | etot = -17.8977856727565 -680000 ekin = 2.47029457301042 | erot = 2.90804485320413 | epot = -22.9871466954175 | etot = -17.6088072692029 -681000 ekin = 1.90527495083164 | erot = 2.57752516482763 | epot = -22.9202555721454 | etot = -18.4374554564861 -682000 ekin = 2.11691016409813 | erot = 2.69948323324142 | epot = -22.8360698295072 | etot = -18.0196764321677 -683000 ekin = 2.36499416502711 | erot = 2.12378773338609 | epot = -22.7222509077472 | etot = -18.233469009334 -684000 ekin = 2.87417187528689 | erot = 2.65554383853006 | epot = -22.652968937805 | etot = -17.1232532239881 -685000 ekin = 3.04542408260429 | erot = 2.17388790678976 | epot = -22.6211255864198 | etot = -17.4018135970258 -686000 ekin = 2.4572232047866 | erot = 2.42733555780261 | epot = -22.5527218647546 | etot = -17.6681631021654 -687000 ekin = 2.74674649482159 | erot = 1.80406297330729 | epot = -22.4878814460607 | etot = -17.9370719779318 -688000 ekin = 1.79261906898015 | erot = 2.04571284009142 | epot = -22.4053085173396 | etot = -18.566976608268 -689000 ekin = 2.87728983191097 | erot = 1.89493579527769 | epot = -22.4572844245428 | etot = -17.6850587973542 -690000 ekin = 2.12417515140944 | erot = 2.42424686393433 | epot = -22.5714890244145 | etot = -18.0230670090707 -691000 ekin = 2.15969911943639 | erot = 2.52979832764676 | epot = -22.5876082022333 | etot = -17.8981107551501 -692000 ekin = 2.88674525045811 | erot = 2.651929872236 | epot = -22.4776759351877 | etot = -16.9390008124936 -693000 ekin = 2.3092809474595 | erot = 2.51902774155063 | epot = -22.3434837669245 | etot = -17.5151750779144 -694000 ekin = 2.90071779504629 | erot = 2.34205397880616 | epot = -22.2602593853742 | etot = -17.0174876115217 -695000 ekin = 2.95797030089466 | erot = 2.23892898139626 | epot = -22.3013052624001 | etot = -17.1044059801092 -696000 ekin = 2.65789992313128 | erot = 2.33957912785853 | epot = -22.3428209998027 | etot = -17.3453419488129 -697000 ekin = 1.89103531712653 | erot = 1.78294584711428 | epot = -22.3504400882104 | etot = -18.6764589239696 -698000 ekin = 2.22798162215976 | erot = 2.82524697464217 | epot = -22.3736356240205 | etot = -17.3204070272186 -699000 ekin = 2.35365478600885 | erot = 2.0687167283237 | epot = -22.3018254917899 | etot = -17.8794539774573 -700000 ekin = 2.58198996587039 | erot = 2.33085240245665 | epot = -22.2602257590337 | etot = -17.3473833907067 -701000 ekin = 2.99678089142865 | erot = 1.89950599572306 | epot = -22.3219835402767 | etot = -17.425696653125 -702000 ekin = 2.67515901971843 | erot = 2.64727221788161 | epot = -22.3592261887725 | etot = -17.0367949511725 -703000 ekin = 2.02349561650625 | erot = 2.03753398299055 | epot = -22.4335933513225 | etot = -18.3725637518257 -704000 ekin = 1.59653691808601 | erot = 1.63621743826809 | epot = -22.4663049532561 | etot = -19.233550596902 -705000 ekin = 2.34017756427041 | erot = 1.91003662789066 | epot = -22.5429518289027 | etot = -18.2927376367416 -706000 ekin = 2.47923684970646 | erot = 3.2700255708033 | epot = -22.5105468727032 | etot = -16.7612844521934 -707000 ekin = 2.38606338090128 | erot = 2.41702366807843 | epot = -22.6028317136512 | etot = -17.7997446646715 -708000 ekin = 1.68126488203551 | erot = 2.34005210871502 | epot = -22.7455626577094 | etot = -18.7242456669589 -709000 ekin = 1.80997013861619 | erot = 2.57925481113812 | epot = -23.0628207828654 | etot = -18.6735958331111 -710000 ekin = 2.07663470081894 | erot = 1.83621025520769 | epot = -23.1969975442429 | etot = -19.2841525882163 -711000 ekin = 1.95348523042278 | erot = 2.41454584124981 | epot = -23.2350510297748 | etot = -18.8670199581022 -712000 ekin = 2.1336102176431 | erot = 1.78657393325109 | epot = -23.2637922718023 | etot = -19.3436081209081 -713000 ekin = 2.90681618138139 | erot = 1.55095647140783 | epot = -23.1828218540472 | etot = -18.725049201258 -714000 ekin = 2.06612414721503 | erot = 1.86613874365067 | epot = -23.2231257100263 | etot = -19.2908628191606 -715000 ekin = 2.52896020774463 | erot = 1.94259727228635 | epot = -23.1650750564771 | etot = -18.6935175764461 -716000 ekin = 3.03493559712718 | erot = 2.21063194998576 | epot = -23.220942309801 | etot = -17.975374762688 -717000 ekin = 3.0796637775291 | erot = 2.47088132553581 | epot = -23.3632103988425 | etot = -17.8126652957776 -718000 ekin = 3.49698025039097 | erot = 2.2716592270022 | epot = -23.4191136876981 | etot = -17.6504742103049 -719000 ekin = 4.06136594689253 | erot = 3.10418551930051 | epot = -23.4063666180316 | etot = -16.2408151518386 -720000 ekin = 2.49833724515039 | erot = 1.90909716223089 | epot = -23.2614962660793 | etot = -18.854061858698 -721000 ekin = 2.57942252693403 | erot = 1.98570182653287 | epot = -23.1432472967431 | etot = -18.5781229432762 -722000 ekin = 2.01088679016935 | erot = 2.27470118196201 | epot = -23.1033008622402 | etot = -18.8177128901089 -723000 ekin = 2.44107678295511 | erot = 2.07629727323011 | epot = -23.182141318077 | etot = -18.6647672618918 -724000 ekin = 1.90803238982749 | erot = 1.93595857250405 | epot = -23.2369669247167 | etot = -19.3929759623851 -725000 ekin = 2.19380758227312 | erot = 2.80513053743865 | epot = -23.2881919599432 | etot = -18.2892538402315 -726000 ekin = 2.27661543234077 | erot = 2.54381748597239 | epot = -23.3349497821497 | etot = -18.5145168638365 -727000 ekin = 1.72229690120046 | erot = 2.6256783446951 | epot = -23.3699085142538 | etot = -19.0219332683583 -728000 ekin = 2.25091852567842 | erot = 3.59487379729856 | epot = -23.4350255191465 | etot = -17.5892331961695 -729000 ekin = 2.68838496984081 | erot = 1.72110395862725 | epot = -23.4780978913558 | etot = -19.0686089628877 -730000 ekin = 2.53299506461663 | erot = 2.76668907196319 | epot = -23.4895234062855 | etot = -18.1898392697057 -731000 ekin = 2.6760609217159 | erot = 2.04582604734292 | epot = -23.5238636820392 | etot = -18.8019767129804 -732000 ekin = 2.77846316806001 | erot = 1.88433334184077 | epot = -23.5770897435819 | etot = -18.9142932336812 -733000 ekin = 2.18892933871209 | erot = 2.6346843690662 | epot = -23.6104212257528 | etot = -18.7868075179745 -734000 ekin = 1.69459813153559 | erot = 2.30332709760983 | epot = -23.5932285157933 | etot = -19.5953032866479 -735000 ekin = 2.17738229724133 | erot = 2.71615420236581 | epot = -23.5325385675669 | etot = -18.6390020679598 -736000 ekin = 2.29368650601869 | erot = 1.17411705869823 | epot = -23.5029023896105 | etot = -20.0350988248936 -737000 ekin = 2.20822665790328 | erot = 3.11529898775426 | epot = -23.4546507116664 | etot = -18.1311250660089 -738000 ekin = 1.72299649032066 | erot = 2.28748751322147 | epot = -23.3303512731973 | etot = -19.3198672696552 -739000 ekin = 1.39485421458765 | erot = 2.1749073819018 | epot = -23.2849045067521 | etot = -19.7151429102627 -740000 ekin = 1.90421462896905 | erot = 2.27824600991221 | epot = -23.2508192404176 | etot = -19.0683586015364 -741000 ekin = 2.02016004868753 | erot = 2.72072555133488 | epot = -23.1869993966325 | etot = -18.4461137966101 -742000 ekin = 1.97476522388772 | erot = 1.87542520854124 | epot = -23.0922795240436 | etot = -19.2420890916146 -743000 ekin = 1.96482892297271 | erot = 2.7698229839544 | epot = -22.9312319116298 | etot = -18.1965800047027 -744000 ekin = 2.04907219390093 | erot = 2.34374807852806 | epot = -22.8504155274904 | etot = -18.4575952550614 -745000 ekin = 1.66770541517404 | erot = 1.87268797271618 | epot = -22.7970674500482 | etot = -19.256674062158 -746000 ekin = 2.11646191189726 | erot = 2.03543326686021 | epot = -22.7779244301375 | etot = -18.6260292513801 -747000 ekin = 3.07958266175499 | erot = 1.66913380114814 | epot = -22.8031371397658 | etot = -18.0544206768627 -748000 ekin = 3.03808653180953 | erot = 1.85632270757018 | epot = -22.842986346491 | etot = -17.9485771071113 -749000 ekin = 2.53758140749286 | erot = 2.01198418352658 | epot = -22.8596787422339 | etot = -18.3101131512145 -750000 ekin = 2.77211189937696 | erot = 2.32629771282836 | epot = -22.9522411003111 | etot = -17.8538314881058 -751000 ekin = 2.52041553848886 | erot = 2.34908561849257 | epot = -23.012198741928 | etot = -18.1426975849466 -752000 ekin = 2.46415827942669 | erot = 1.68869996421912 | epot = -22.9896556476389 | etot = -18.8367974039931 -753000 ekin = 2.47374307089788 | erot = 1.55777194971628 | epot = -23.1131588644731 | etot = -19.081643843859 -754000 ekin = 2.52796878003787 | erot = 2.29498052924916 | epot = -23.2400216607328 | etot = -18.4170723514458 -755000 ekin = 1.52934821736739 | erot = 2.21323453725358 | epot = -23.2617539322798 | etot = -19.5191711776588 -756000 ekin = 2.10421856984007 | erot = 2.40302151559052 | epot = -23.1682224257729 | etot = -18.6609823403423 -757000 ekin = 2.92556811452857 | erot = 2.06915289798223 | epot = -23.1499528985793 | etot = -18.1552318860685 -758000 ekin = 2.37294922982789 | erot = 2.5136802398028 | epot = -23.0492487158129 | etot = -18.1626192461822 -759000 ekin = 2.60143135392931 | erot = 2.3965867167667 | epot = -22.9022185044006 | etot = -17.9042004337045 -760000 ekin = 3.23086795451839 | erot = 2.77070394347185 | epot = -22.8086083978769 | etot = -16.8070364998867 -761000 ekin = 3.41474520443683 | erot = 1.70182284622131 | epot = -22.7401488061481 | etot = -17.62358075549 -762000 ekin = 3.40874138334159 | erot = 2.5214687610176 | epot = -22.5273378250467 | etot = -16.5971276806875 -763000 ekin = 2.64282337808311 | erot = 1.82465845176878 | epot = -22.3886968592841 | etot = -17.9212150294322 -764000 ekin = 2.38098374928432 | erot = 2.71455514893631 | epot = -22.2306429954919 | etot = -17.1351040972713 -765000 ekin = 2.24220112607173 | erot = 1.94828018292253 | epot = -22.1222898533813 | etot = -17.931808544387 -766000 ekin = 2.50647054308507 | erot = 1.96127686565097 | epot = -21.9854922894721 | etot = -17.5177448807361 -767000 ekin = 2.34036216095461 | erot = 2.64592662901366 | epot = -21.9049052626546 | etot = -16.9186164726863 -768000 ekin = 1.86756150924074 | erot = 2.06140692143859 | epot = -21.8871911578369 | etot = -17.9582227271576 -769000 ekin = 3.0359885140629 | erot = 2.66441888317467 | epot = -21.8245365321496 | etot = -16.124129134912 -770000 ekin = 2.42572833720737 | erot = 1.97830348673474 | epot = -21.8109221594649 | etot = -17.4068903355227 -771000 ekin = 2.20057185883112 | erot = 2.53258595631101 | epot = -21.734014677427 | etot = -17.0008568622849 -772000 ekin = 2.75017737220644 | erot = 1.98404504724256 | epot = -21.81636663385 | etot = -17.082144214401 -773000 ekin = 2.14723700449497 | erot = 2.4151160924984 | epot = -21.9575475647945 | etot = -17.3951944678011 -774000 ekin = 2.20540233527262 | erot = 1.98379632188094 | epot = -22.0437158124788 | etot = -17.8545171553253 -775000 ekin = 2.53159855409247 | erot = 2.82258836068 | epot = -22.2468791717252 | etot = -16.8926922569528 -776000 ekin = 3.15990337350763 | erot = 2.46223603653204 | epot = -22.4204095516686 | etot = -16.7982701416289 -777000 ekin = 1.91544508000443 | erot = 1.75409994742756 | epot = -22.4517072920931 | etot = -18.7821622646612 -778000 ekin = 2.94664557229421 | erot = 2.31806053358263 | epot = -22.4632053661323 | etot = -17.1984992602554 -779000 ekin = 3.10966911142499 | erot = 2.04445735728845 | epot = -22.4851293821807 | etot = -17.3310029134672 -780000 ekin = 2.85217648357475 | erot = 3.13312150331092 | epot = -22.4501336819041 | etot = -16.4648356950184 -781000 ekin = 2.36735214903647 | erot = 3.56398811585504 | epot = -22.4171223027496 | etot = -16.4857820378581 -782000 ekin = 2.32799229473909 | erot = 2.86342068433246 | epot = -22.3437898412805 | etot = -17.1523768622089 -783000 ekin = 1.86441476378237 | erot = 3.05235927245358 | epot = -22.2079503227603 | etot = -17.2911762865243 -784000 ekin = 2.05475171167698 | erot = 2.29789662368463 | epot = -22.1006582038569 | etot = -17.7480098684953 -785000 ekin = 2.03881379634772 | erot = 2.15051381788682 | epot = -22.005618673928 | etot = -17.8162910596935 -786000 ekin = 2.37521569747453 | erot = 2.3215726256904 | epot = -21.9728072887761 | etot = -17.2760189656112 -787000 ekin = 2.76687650937794 | erot = 2.23624710557919 | epot = -21.8969738615634 | etot = -16.8938502466062 -788000 ekin = 2.13321139238913 | erot = 2.25164618737296 | epot = -21.8604412147426 | etot = -17.4755836349805 -789000 ekin = 1.98219933423288 | erot = 1.98059715582116 | epot = -21.8441893392272 | etot = -17.8813928491731 -790000 ekin = 1.67847666786903 | erot = 1.42561139395642 | epot = -21.941381415519 | etot = -18.8372933536936 -791000 ekin = 2.12688741327067 | erot = 2.53203269325841 | epot = -22.0865399118969 | etot = -17.4276198053679 -792000 ekin = 1.72796321880606 | erot = 2.2244832123241 | epot = -22.1855187635199 | etot = -18.2330723323897 -793000 ekin = 3.18410749492954 | erot = 1.94059536299771 | epot = -22.376174949317 | etot = -17.2514720913897 -794000 ekin = 2.49072782508363 | erot = 3.01187609729573 | epot = -22.4316780454308 | etot = -16.9290741230515 -795000 ekin = 2.89848925116022 | erot = 3.07660091365902 | epot = -22.516587410981 | etot = -16.5414972461618 -796000 ekin = 2.32849309170709 | erot = 1.6270978552186 | epot = -22.5662306303253 | etot = -18.6106396833996 -797000 ekin = 2.20767832793875 | erot = 3.65977564474856 | epot = -22.5353770098516 | etot = -16.6679230371643 -798000 ekin = 2.12139192163862 | erot = 2.94416204631962 | epot = -22.5360308536834 | etot = -17.4704768857252 -799000 ekin = 2.48451269034698 | erot = 2.74154593614504 | epot = -22.494267326257 | etot = -17.2682086997649 -800000 ekin = 2.17522042927318 | erot = 2.96479501864727 | epot = -22.3819091222467 | etot = -17.2418936743262 -801000 ekin = 2.54693512060825 | erot = 2.74965360561443 | epot = -22.3009510878525 | etot = -17.0043623616298 -802000 ekin = 3.02825099239106 | erot = 2.89157545074505 | epot = -22.2025114687808 | etot = -16.2826850256447 -803000 ekin = 2.21045049668896 | erot = 2.51592023666071 | epot = -22.1070021550193 | etot = -17.3806314216696 -804000 ekin = 2.91059686956699 | erot = 1.58302660030682 | epot = -22.0840071528844 | etot = -17.5903836830106 -805000 ekin = 2.67761934757361 | erot = 3.069720635569 | epot = -22.0793582077661 | etot = -16.3320182246235 -806000 ekin = 2.75980762879093 | erot = 2.21769953441322 | epot = -22.0550306032646 | etot = -17.0775234400604 -807000 ekin = 2.11045367551317 | erot = 2.83920073001796 | epot = -22.1075830544478 | etot = -17.1579286489166 -808000 ekin = 1.84392497979905 | erot = 2.29793977175805 | epot = -22.0755335570562 | etot = -17.9336688054991 -809000 ekin = 1.93171637862302 | erot = 1.94017253306181 | epot = -22.066928232689 | etot = -18.1950393210042 -810000 ekin = 1.97775979279028 | erot = 2.64727266267807 | epot = -22.1021133187779 | etot = -17.4770808633095 -811000 ekin = 2.24172070509422 | erot = 1.75504577244544 | epot = -22.10631129566 | etot = -18.1095448181203 -812000 ekin = 2.49050572737176 | erot = 2.33987726148268 | epot = -22.1241871902584 | etot = -17.2938042014039 -813000 ekin = 3.01752815471752 | erot = 2.24002143249121 | epot = -22.116807731716 | etot = -16.8592581445073 -814000 ekin = 2.86042310191006 | erot = 2.24117753130618 | epot = -22.1084772529156 | etot = -17.0068766196994 -815000 ekin = 2.57504250841232 | erot = 2.76211504651086 | epot = -21.9950814575784 | etot = -16.6579239026553 -816000 ekin = 2.19959057655107 | erot = 2.59196925340511 | epot = -22.0843867435381 | etot = -17.2928269135819 -817000 ekin = 1.75064707017923 | erot = 2.66165145686199 | epot = -22.3740333039416 | etot = -17.9617347769004 -818000 ekin = 2.24812511950443 | erot = 2.59024748858361 | epot = -22.5610880116939 | etot = -17.7227154036058 -819000 ekin = 2.12541380503016 | erot = 2.59620266733555 | epot = -22.5607008655742 | etot = -17.8390843932085 -820000 ekin = 1.93417567600985 | erot = 2.29084462576239 | epot = -22.4839831235988 | etot = -18.2589628218266 -821000 ekin = 2.11386397679857 | erot = 2.38686655216469 | epot = -22.4763699831312 | etot = -17.9756394541679 -822000 ekin = 2.26135055598867 | erot = 2.12059051821569 | epot = -22.3710179425218 | etot = -17.9890768683174 -823000 ekin = 2.31556864207286 | erot = 2.6035211830053 | epot = -22.4989638717259 | etot = -17.5798740466477 -824000 ekin = 1.73693100722561 | erot = 1.5184813450247 | epot = -22.6200824712308 | etot = -19.3646701189804 -825000 ekin = 1.63610511008412 | erot = 1.97729484626479 | epot = -22.6198519859023 | etot = -19.0064520295534 -826000 ekin = 2.00840924391468 | erot = 2.17848588495273 | epot = -22.5466792805529 | etot = -18.3597841516855 -827000 ekin = 2.18458017496693 | erot = 2.44710855022062 | epot = -22.4005998352674 | etot = -17.7689111100799 -828000 ekin = 1.91041039942926 | erot = 2.73448484092911 | epot = -22.3948766951947 | etot = -17.7499814548364 -829000 ekin = 2.07229941615034 | erot = 2.97135025315954 | epot = -22.434811171522 | etot = -17.3911615022121 -830000 ekin = 1.99297455547369 | erot = 2.1576588802149 | epot = -22.4844092218597 | etot = -18.3337757861711 -831000 ekin = 2.33243999410257 | erot = 2.3763340012213 | epot = -22.5757447430944 | etot = -17.8669707477706 -832000 ekin = 2.02856837401183 | erot = 1.94730405553331 | epot = -22.6670646845116 | etot = -18.6911922549664 -833000 ekin = 2.28622313757813 | erot = 2.15106977742247 | epot = -22.7567197431772 | etot = -18.3194268281767 -834000 ekin = 2.1210378005443 | erot = 1.51167848496405 | epot = -22.7736040844494 | etot = -19.140887798941 -835000 ekin = 2.88530231894867 | erot = 2.74026724638582 | epot = -22.8585460390106 | etot = -17.2329764736761 -836000 ekin = 3.3206881354596 | erot = 2.42232340907521 | epot = -22.8959173733727 | etot = -17.1529058288379 -837000 ekin = 2.74147966492743 | erot = 2.32128866347136 | epot = -22.890688089557 | etot = -17.8279197611582 -838000 ekin = 3.13304582679089 | erot = 3.19831100603569 | epot = -22.9167021580119 | etot = -16.5853453251853 -839000 ekin = 2.73524310738819 | erot = 2.61098784970539 | epot = -22.8499775738039 | etot = -17.5037466167103 -840000 ekin = 2.9714125620732 | erot = 1.43156525093809 | epot = -22.7764096370098 | etot = -18.3734318239986 -841000 ekin = 2.95720011963303 | erot = 2.67281496410328 | epot = -22.74090696109 | etot = -17.1108918773537 -842000 ekin = 2.17222072547984 | erot = 2.30477888514471 | epot = -22.7382739265758 | etot = -18.2612743159512 -843000 ekin = 2.83293093637601 | erot = 2.04166092897363 | epot = -22.7426999769084 | etot = -17.8681081115587 -844000 ekin = 2.95939838423659 | erot = 1.50200392453934 | epot = -22.7837663105733 | etot = -18.3223640017974 -845000 ekin = 3.16075268425023 | erot = 2.28217181916471 | epot = -22.7914034530237 | etot = -17.3484789496088 -846000 ekin = 3.33989324329164 | erot = 2.53602590130801 | epot = -22.7943672716087 | etot = -16.918448127009 -847000 ekin = 2.14144439713513 | erot = 2.75036646754355 | epot = -22.7256188129676 | etot = -17.8338079482889 -848000 ekin = 2.4890850279473 | erot = 2.8187435102158 | epot = -22.5834530760368 | etot = -17.2756245378737 -849000 ekin = 1.98022709854769 | erot = 2.56921409657545 | epot = -22.4587362353358 | etot = -17.9092950402127 -850000 ekin = 2.04755793529054 | erot = 1.80627828287466 | epot = -22.4428719719836 | etot = -18.5890357538184 -851000 ekin = 2.09705201250659 | erot = 1.85768714478959 | epot = -22.4344321769461 | etot = -18.4796930196499 -852000 ekin = 1.70813063193921 | erot = 1.42387240689476 | epot = -22.3764716053444 | etot = -19.2444685665104 -853000 ekin = 2.00143066511545 | erot = 3.04689486443609 | epot = -22.4103416022683 | etot = -17.3620160727168 -854000 ekin = 3.02152778379787 | erot = 2.22991487666191 | epot = -22.4965524184488 | etot = -17.245109757989 -855000 ekin = 2.19608144065262 | erot = 2.83673950685791 | epot = -22.5084193524114 | etot = -17.4755984049009 -856000 ekin = 2.44947147813647 | erot = 1.52884725004682 | epot = -22.4898702614234 | etot = -18.5115515332401 -857000 ekin = 2.53343898625603 | erot = 2.80401080702751 | epot = -22.3987166021506 | etot = -17.0612668088671 -858000 ekin = 2.20262532647404 | erot = 2.8247792069788 | epot = -22.32281615969 | etot = -17.2954116262372 -859000 ekin = 2.30654937158539 | erot = 2.3142791907112 | epot = -22.299521643743 | etot = -17.6786930814465 -860000 ekin = 1.99694898863895 | erot = 1.95028208283263 | epot = -22.3157281013929 | etot = -18.3684970299213 -861000 ekin = 2.69685720778408 | erot = 2.24433692481965 | epot = -22.308684325649 | etot = -17.3674901930452 -862000 ekin = 2.86020772842225 | erot = 2.41684858841926 | epot = -22.2875015844601 | etot = -17.0104452676185 -863000 ekin = 2.60869027955544 | erot = 3.3557429503542 | epot = -22.2313715051009 | etot = -16.2669382751913 -864000 ekin = 2.90975887606274 | erot = 2.2974711132053 | epot = -22.1986440077119 | etot = -16.9914140184438 -865000 ekin = 1.92891179669311 | erot = 2.15731612388581 | epot = -22.0985432850411 | etot = -18.0123153644622 -866000 ekin = 1.96989214479485 | erot = 1.64765168847281 | epot = -21.9980789481616 | etot = -18.380535114894 -867000 ekin = 1.75216909752833 | erot = 3.37220321936945 | epot = -21.9061232860984 | etot = -16.7817509692006 -868000 ekin = 1.82818520973491 | erot = 2.7944755326823 | epot = -21.9402402920261 | etot = -17.3175795496089 -869000 ekin = 2.38093069905802 | erot = 2.38587933771677 | epot = -22.0330352056336 | etot = -17.2662251688588 -870000 ekin = 1.91335987165478 | erot = 3.22058308836822 | epot = -22.0373177401659 | etot = -16.9033747801429 -871000 ekin = 3.11763256544808 | erot = 2.95338164044026 | epot = -21.9586151724215 | etot = -15.8876009665332 -872000 ekin = 2.97998053337799 | erot = 1.38590039691319 | epot = -21.8388889958107 | etot = -17.4730080655196 -873000 ekin = 2.75061349369619 | erot = 2.24383438401082 | epot = -21.7622218517437 | etot = -16.7677739740367 -874000 ekin = 2.42548927431534 | erot = 2.11161436912391 | epot = -21.6727594489541 | etot = -17.1356558055149 -875000 ekin = 2.99029100585666 | erot = 2.74121308538956 | epot = -21.668258099805 | etot = -15.9367540085588 -876000 ekin = 2.13274848736646 | erot = 2.23319212644067 | epot = -21.6688484321843 | etot = -17.3029078183771 -877000 ekin = 1.83070881561166 | erot = 1.60104159742216 | epot = -21.6264522455532 | etot = -18.1947018325194 -878000 ekin = 2.01997766473212 | erot = 2.72068834038241 | epot = -21.6321722158884 | etot = -16.8915062107738 -879000 ekin = 1.43444304741827 | erot = 2.17422518419202 | epot = -21.5502499158235 | etot = -17.9415816842133 -880000 ekin = 2.09181756708376 | erot = 2.57774127759727 | epot = -21.4848386835567 | etot = -16.8152798388756 -881000 ekin = 1.54082374125037 | erot = 1.98591349326851 | epot = -21.5198561888166 | etot = -17.9931189542977 -882000 ekin = 2.20620241649865 | erot = 2.64810056429068 | epot = -21.6150536961203 | etot = -16.760750715331 -883000 ekin = 2.22399673754477 | erot = 2.23146179436218 | epot = -21.6815278641887 | etot = -17.2260693322817 -884000 ekin = 2.78668830976032 | erot = 2.10129457858281 | epot = -21.7273526514588 | etot = -16.8393697631157 -885000 ekin = 1.92363533860365 | erot = 1.77572806384608 | epot = -21.7697843629897 | etot = -18.07042096054 -886000 ekin = 1.99837400493853 | erot = 3.11594950867252 | epot = -21.7880717591464 | etot = -16.6737482455354 -887000 ekin = 1.98879357041702 | erot = 2.81587324889294 | epot = -21.7924289081933 | etot = -16.9877620888833 -888000 ekin = 1.92038081253069 | erot = 2.32529355289366 | epot = -21.8608148998544 | etot = -17.61514053443 -889000 ekin = 1.88062951921479 | erot = 2.46119685782947 | epot = -21.9507114977877 | etot = -17.6088851207434 -890000 ekin = 1.86004220539177 | erot = 2.25705599329311 | epot = -22.0524916675628 | etot = -17.935393468878 -891000 ekin = 2.60383186011201 | erot = 2.35330732153708 | epot = -22.1901610904928 | etot = -17.2330219088437 -892000 ekin = 2.68681495848524 | erot = 2.69191866418566 | epot = -22.2914319616012 | etot = -16.9126983389303 -893000 ekin = 2.1736025604619 | erot = 2.9855340631332 | epot = -22.2913989289332 | etot = -17.1322623053381 -894000 ekin = 2.52599407841049 | erot = 2.45860683847711 | epot = -22.2814390199637 | etot = -17.2968381030761 -895000 ekin = 2.51960337440812 | erot = 2.45850851261114 | epot = -22.3091317035431 | etot = -17.3310198165238 -896000 ekin = 1.83967907235416 | erot = 2.78765565400226 | epot = -22.2817324681859 | etot = -17.6543977418295 -897000 ekin = 2.36174473729441 | erot = 2.02088352475316 | epot = -22.224489906849 | etot = -17.8418616448014 -898000 ekin = 2.11473348088257 | erot = 1.90142069141409 | epot = -22.1399662163227 | etot = -18.123812044026 -899000 ekin = 2.62624378038804 | erot = 2.33607099930376 | epot = -22.0408432520367 | etot = -17.0785284723449 -900000 ekin = 2.11340838535732 | erot = 2.28923228114128 | epot = -22.0429025506397 | etot = -17.6402618841411 -901000 ekin = 1.91566215184365 | erot = 1.81440527703791 | epot = -22.0776473770081 | etot = -18.3475799481266 -902000 ekin = 2.56900020102358 | erot = 2.49857156191872 | epot = -22.0064871081721 | etot = -16.9389153452298 -903000 ekin = 1.85775254721542 | erot = 2.1749013676366 | epot = -21.9440711401438 | etot = -17.9114172252918 -904000 ekin = 1.86494867419599 | erot = 2.32873664886262 | epot = -21.8931245107356 | etot = -17.699439187677 -905000 ekin = 2.31980147940844 | erot = 2.14361807880238 | epot = -21.8243901028494 | etot = -17.3609705446386 -906000 ekin = 2.49848643102806 | erot = 2.24843917975751 | epot = -21.8343535689989 | etot = -17.0874279582134 -907000 ekin = 4.2050438363463 | erot = 2.50213014445972 | epot = -21.9270462870553 | etot = -15.2198723062493 -908000 ekin = 3.27389112705028 | erot = 2.1139773414904 | epot = -22.0852225119256 | etot = -16.697354043385 -909000 ekin = 2.63126952270321 | erot = 1.92588883864824 | epot = -22.2068298128194 | etot = -17.6496714514679 -910000 ekin = 2.59246919961188 | erot = 2.91531362022026 | epot = -22.3084480522696 | etot = -16.8006652324374 -911000 ekin = 2.58543295146612 | erot = 4.35272230096969 | epot = -22.3704507138015 | etot = -15.4322954613657 -912000 ekin = 3.05790216539308 | erot = 3.70627231984866 | epot = -22.3924902932765 | etot = -15.6283158080348 -913000 ekin = 2.8218125632957 | erot = 2.17270533888476 | epot = -22.3593081791921 | etot = -17.3647902770116 -914000 ekin = 2.15501507966989 | erot = 1.21668054480496 | epot = -22.2678655505214 | etot = -18.8961699260465 -915000 ekin = 1.59606056510822 | erot = 2.96269780066395 | epot = -22.1741171670757 | etot = -17.6153588013035 -916000 ekin = 2.59112654939107 | erot = 3.74925924318435 | epot = -22.2377409731947 | etot = -15.8973551806193 -917000 ekin = 3.0493203689855 | erot = 2.87183972423686 | epot = -22.2632355232676 | etot = -16.3420754300453 -918000 ekin = 2.92189281092746 | erot = 2.63335972566601 | epot = -22.258652580422 | etot = -16.7034000438285 -919000 ekin = 3.21078719192946 | erot = 2.75946068538008 | epot = -22.2355180140143 | etot = -16.2652701367047 -920000 ekin = 2.28586788874951 | erot = 2.37332627126475 | epot = -22.2034083137746 | etot = -17.5442141537604 -921000 ekin = 2.38962080413001 | erot = 2.43664225646834 | epot = -22.185112667546 | etot = -17.3588496069477 -922000 ekin = 2.30442218252457 | erot = 2.41447890834928 | epot = -22.1365633702844 | etot = -17.4176622794105 -923000 ekin = 2.49327560684184 | erot = 2.66692243519056 | epot = -22.1215324922228 | etot = -16.9613344501904 -924000 ekin = 1.53749943917136 | erot = 2.96826475564971 | epot = -22.089501289138 | etot = -17.5837370943169 -925000 ekin = 1.85839296627404 | erot = 1.9630089146505 | epot = -22.0261958798282 | etot = -18.2047939989037 -926000 ekin = 1.36443105914384 | erot = 2.1171794932878 | epot = -22.0105979668103 | etot = -18.5289874143787 -927000 ekin = 2.55078266090621 | erot = 2.08770331246949 | epot = -22.0297469966776 | etot = -17.3912610233019 -928000 ekin = 2.08687332975665 | erot = 2.73936175158276 | epot = -22.0655836352027 | etot = -17.2393485538632 -929000 ekin = 1.85843511626749 | erot = 1.85229477009255 | epot = -22.1619339279447 | etot = -18.4512040415846 -930000 ekin = 1.98312827530234 | erot = 2.11072782324153 | epot = -22.148404885232 | etot = -18.0545487866881 -931000 ekin = 2.44404037283661 | erot = 1.87098036863263 | epot = -22.045526835582 | etot = -17.7305060941127 -932000 ekin = 2.74511224055608 | erot = 2.34428828961869 | epot = -22.0610647907213 | etot = -16.9716642605465 -933000 ekin = 3.03612209957546 | erot = 2.51767378960712 | epot = -21.9625270494876 | etot = -16.408731160305 -934000 ekin = 2.94656694542126 | erot = 2.48807264081831 | epot = -21.861447502856 | etot = -16.4268079166164 -935000 ekin = 2.79277367387165 | erot = 2.14683969082916 | epot = -21.8273290607191 | etot = -16.8877156960183 -936000 ekin = 2.97180432771798 | erot = 2.07585566252292 | epot = -21.8285478379897 | etot = -16.7808878477488 -937000 ekin = 3.04681426679838 | erot = 2.34693750557886 | epot = -21.7540345943249 | etot = -16.3602828219476 -938000 ekin = 2.98753455096208 | erot = 2.36094629864927 | epot = -21.669921719463 | etot = -16.3214408698516 -939000 ekin = 2.5815116272011 | erot = 2.28540517977038 | epot = -21.6416685543635 | etot = -16.774751747392 -940000 ekin = 2.64452600431539 | erot = 2.76444843839484 | epot = -21.5519696309499 | etot = -16.1429951882397 -941000 ekin = 2.27120802986608 | erot = 2.60471729926444 | epot = -21.4614510918559 | etot = -16.5855257627254 -942000 ekin = 1.87372160611096 | erot = 2.80847310756688 | epot = -21.3628386356793 | etot = -16.6806439220015 -943000 ekin = 2.47141066321096 | erot = 2.33779379941891 | epot = -21.363618035927 | etot = -16.5544135732972 -944000 ekin = 2.13394139147127 | erot = 1.92151741713676 | epot = -21.3251241131195 | etot = -17.2696653045115 -945000 ekin = 2.55903591944463 | erot = 2.20641057626278 | epot = -21.3689027899513 | etot = -16.6034562942439 -946000 ekin = 2.36057887627665 | erot = 2.87562563403205 | epot = -21.3642844166796 | etot = -16.1280799063709 -947000 ekin = 2.06640868745843 | erot = 1.87129277041451 | epot = -21.361667299016 | etot = -17.423965841143 -948000 ekin = 1.84829667860633 | erot = 1.37748341041347 | epot = -21.4043264064643 | etot = -18.1785463174445 -949000 ekin = 1.76269317475673 | erot = 2.31704682699621 | epot = -21.4241969105702 | etot = -17.3444569088173 -950000 ekin = 1.71597192365278 | erot = 2.24238818867182 | epot = -21.4137382130783 | etot = -17.4553781007537 -951000 ekin = 1.97740353609815 | erot = 2.3235775919709 | epot = -21.4747894560116 | etot = -17.1738083279426 -952000 ekin = 2.93972459147619 | erot = 2.7264267649198 | epot = -21.5184934927053 | etot = -15.8523421363093 -953000 ekin = 2.94580120867627 | erot = 2.3885651029181 | epot = -21.5142900777068 | etot = -16.1799237661125 -954000 ekin = 3.09124464575104 | erot = 1.98545519388255 | epot = -21.4222393978574 | etot = -16.3455395582238 -955000 ekin = 3.57635828612239 | erot = 2.07344149873787 | epot = -21.305651356955 | etot = -15.6558515720948 -956000 ekin = 2.96200909778686 | erot = 3.68175912378205 | epot = -21.157040218368 | etot = -14.5132719967991 -957000 ekin = 2.9934348145403 | erot = 2.66416955872305 | epot = -20.9768827662772 | etot = -15.3192783930138 -958000 ekin = 2.66519549819093 | erot = 2.94296814880089 | epot = -20.7784507090075 | etot = -15.1702870620156 -959000 ekin = 1.92857560759304 | erot = 2.44736991936641 | epot = -20.7023816787833 | etot = -16.3264361518238 -960000 ekin = 1.49450803358212 | erot = 3.13585226423836 | epot = -20.7120144681538 | etot = -16.0816541703333 -961000 ekin = 1.95028642422207 | erot = 2.08600574936454 | epot = -20.7117469089035 | etot = -16.6754547353169 -962000 ekin = 2.02517481382584 | erot = 1.89936067129151 | epot = -20.7773964294488 | etot = -16.8528609443315 -963000 ekin = 1.81867025887159 | erot = 2.47411932412279 | epot = -20.8447579345839 | etot = -16.5519683515895 -964000 ekin = 2.82276496790393 | erot = 2.43516586616438 | epot = -20.903922975909 | etot = -15.6459921418407 -965000 ekin = 2.55108655192476 | erot = 2.29878304255031 | epot = -20.9718606663833 | etot = -16.1219910719082 -966000 ekin = 2.12011039995763 | erot = 2.28469402857006 | epot = -21.0607245253139 | etot = -16.6559200967862 -967000 ekin = 1.58231560351932 | erot = 3.55759001366773 | epot = -21.1226021191741 | etot = -15.982696501987 -968000 ekin = 1.95012246688271 | erot = 2.37521006238884 | epot = -21.1148898184345 | etot = -16.7895572891629 -969000 ekin = 2.19259023755588 | erot = 2.45911390116742 | epot = -21.0842607955297 | etot = -16.4325566568064 -970000 ekin = 1.87048303167747 | erot = 2.95645393326851 | epot = -21.0144108895372 | etot = -16.1874739245912 -971000 ekin = 1.95012477829126 | erot = 3.07172629604582 | epot = -20.9855553455518 | etot = -15.9637042712147 -972000 ekin = 1.93195517458082 | erot = 2.56231250597297 | epot = -20.9701698825601 | etot = -16.4759022020063 -973000 ekin = 2.21533845309822 | erot = 2.92680845685574 | epot = -20.9736039159605 | etot = -15.8314570060066 -974000 ekin = 2.53783851969245 | erot = 2.68951943774763 | epot = -20.9250705852868 | etot = -15.6977126278467 -975000 ekin = 3.38321286183975 | erot = 2.3388937245268 | epot = -20.8976133286568 | etot = -15.1755067422903 -976000 ekin = 2.84642762041042 | erot = 3.11577005329036 | epot = -20.8920682645474 | etot = -14.9298705908466 -977000 ekin = 2.71729658676912 | erot = 2.5084228279903 | epot = -20.8689607108408 | etot = -15.6432412960814 -978000 ekin = 1.79445054300148 | erot = 2.07364967100101 | epot = -20.8420722556647 | etot = -16.9739720416622 -979000 ekin = 1.87118885565252 | erot = 2.21929236157499 | epot = -20.774871884918 | etot = -16.6843906676905 -980000 ekin = 1.92328692629603 | erot = 1.58075146493092 | epot = -20.7450294842512 | etot = -17.2409910930243 -981000 ekin = 1.54380792071409 | erot = 2.05666691648826 | epot = -20.8055779656275 | etot = -17.2051031284252 -982000 ekin = 1.84105485043124 | erot = 1.96437622792518 | epot = -20.9115808211874 | etot = -17.106149742831 -983000 ekin = 2.72418502177569 | erot = 1.79041563369968 | epot = -20.9354223873698 | etot = -16.4208217318945 -984000 ekin = 3.62593140681741 | erot = 2.63360144654398 | epot = -21.0391820820805 | etot = -14.7796492287191 -985000 ekin = 2.94852683897972 | erot = 2.17122506831154 | epot = -21.2107161619268 | etot = -16.0909642546355 -986000 ekin = 2.8730990470673 | erot = 2.17803097743515 | epot = -21.3376467553807 | etot = -16.2865167308783 -987000 ekin = 3.37014034763591 | erot = 2.51986025997469 | epot = -21.4044213003553 | etot = -15.5144206927447 -988000 ekin = 3.46869513961502 | erot = 3.24290721199116 | epot = -21.4574897009989 | etot = -14.7458873493927 -989000 ekin = 2.84166309499202 | erot = 2.20794524768456 | epot = -21.6064619775396 | etot = -16.556853634863 -990000 ekin = 2.7961621760392 | erot = 1.83962335779988 | epot = -21.6050150594377 | etot = -16.9692295255987 -991000 ekin = 3.12373716765057 | erot = 3.19217793832918 | epot = -21.5124956370547 | etot = -15.196580531075 -992000 ekin = 3.28264042603627 | erot = 2.63437573620237 | epot = -21.3974383725657 | etot = -15.4804222103271 -993000 ekin = 3.03843938464914 | erot = 2.2245111821208 | epot = -21.3215565657891 | etot = -16.0586059990192 -994000 ekin = 3.17415651424377 | erot = 2.79358782634793 | epot = -21.2400795485327 | etot = -15.272335207941 -995000 ekin = 3.20647480868909 | erot = 1.72566862077117 | epot = -21.1373044030639 | etot = -16.2051609736037 -996000 ekin = 3.05112273650758 | erot = 3.18000206414337 | epot = -21.0953933909242 | etot = -14.8642685902733 -997000 ekin = 2.95627130723369 | erot = 3.15916576717626 | epot = -21.0582569249376 | etot = -14.9428198505277 -998000 ekin = 3.0660899917632 | erot = 1.97683196852806 | epot = -20.9835503180559 | etot = -15.9406283577646 -999000 ekin = 2.08921397127967 | erot = 2.76365668450607 | epot = -20.9706997536924 | etot = -16.1178290979066 -1000000 ekin = 2.117712793702 | erot = 2.14107266477967 | epot = -20.9100710796761 | etot = -16.6512856211944 - 1000000 0.094120569 -1.3660232 0.059143724 -1.1745224 -3.0717572e-05 -Loop time of 37.9247 on 1 procs for 1000000 steps with 16 atoms - -Performance: 22782.012 tau/day, 26368.069 timesteps/s -99.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 | 27.061 | 27.061 | 27.061 | 0.0 | 71.36 -Bond | 0.98271 | 0.98271 | 0.98271 | 0.0 | 2.59 -Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.2053 | 0.2053 | 0.2053 | 0.0 | 0.54 -Output | 8e-06 | 8e-06 | 8e-06 | 0.0 | 0.00 -Modify | 9.3814 | 9.3814 | 9.3814 | 0.0 | 24.74 -Other | | 0.2939 | | | 0.77 - -Nlocal: 16.0 ave 16.0 max 16.0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 0.0 ave 0.0 max 0.0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 103.0 ave 103.0 max 103.0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 103 -Ave neighs/atom = 6.4375 -Ave special neighs/atom = 3.75 -Neighbor list builds = 0 -Dangerous builds = 0 - -#write_restart config.${number}.* -Total wall time: 0:00:37 diff --git a/examples/PACKAGES/cgdna/examples/oxDNA2/duplex2/log.30Jun20.duplex2.g++.4 b/examples/PACKAGES/cgdna/examples/oxDNA2/duplex2/log.30Jun20.duplex2.g++.4 deleted file mode 100644 index 6639b696ed..0000000000 --- a/examples/PACKAGES/cgdna/examples/oxDNA2/duplex2/log.30Jun20.duplex2.g++.4 +++ /dev/null @@ -1,1184 +0,0 @@ -LAMMPS (30 Jun 2020) -variable number equal 2 -variable ofreq equal 1000 -variable efreq equal 1000 -variable T equal 0.1 - -units lj - -dimension 3 - -newton off - -boundary p p p - -atom_style hybrid bond ellipsoid -WARNING: Atom_style hybrid defines both pertype and peratom masses - both must be set, only peratom masses will be used (../atom_vec_hybrid.cpp:156) -atom_modify sort 0 1.0 - -# Pair interactions require lists of neighbours to be calculated -neighbor 1.0 bin -neigh_modify every 1 delay 0 check yes - -read_data data.duplex2 - orthogonal box = (-20 -20 -20) to (20 20 20) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 16 atoms - reading velocities ... - 16 velocities - 16 ellipsoids - scanning bonds ... - 2 = max bonds/atom - reading bonds ... - 13 bonds - 2 = max # of 1-2 neighbors - 2 = max # of 1-3 neighbors - 4 = max # of 1-4 neighbors - 6 = max # of special neighbors - special bonds CPU = 0.001 seconds - read_data CPU = 0.004 seconds - -set atom * mass 3.1575 - 16 settings made for mass - -group all type 1 4 -16 atoms in group all - -# oxDNA2 bond interactions - FENE backbone -bond_style oxdna2/fene -bond_coeff * 2.0 0.25 0.7564 -special_bonds lj 0 1 1 - 2 = max # of 1-2 neighbors - 2 = max # of 1-3 neighbors - 4 = max # of 1-4 neighbors - 6 = max # of special neighbors - special bonds CPU = 0.000 seconds - -# oxDNA2 pair interactions -pair_style hybrid/overlay oxdna2/excv oxdna2/stk oxdna2/hbond oxdna2/xstk oxdna2/coaxstk oxdna2/dh -pair_coeff * * oxdna2/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32 -pair_coeff * * oxdna2/stk seqav ${T} 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 -pair_coeff * * oxdna2/stk seqav 0.1 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 -pair_coeff * * oxdna2/hbond seqav 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 1 4 oxdna2/hbond seqav 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 2 3 oxdna2/hbond seqav 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff * * oxdna2/xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68 -pair_coeff * * oxdna2/coaxstk 58.5 0.4 0.6 0.22 0.58 2.0 2.891592653589793 0.65 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 40.0 3.116592653589793 -pair_coeff * * oxdna2/dh ${T} 1.0 0.815 -pair_coeff * * oxdna2/dh 0.1 1.0 0.815 - -# NVE ensemble -#fix 1 all nve/dot -fix 1 all nve/dotc/langevin ${T} ${T} 0.03 457145 angmom 10 -fix 1 all nve/dotc/langevin 0.1 ${T} 0.03 457145 angmom 10 -fix 1 all nve/dotc/langevin 0.1 0.1 0.03 457145 angmom 10 -#fix 1 all nve/asphere -#fix 2 all langevin ${T} ${T} 0.03 457145 angmom 10 - -timestep 1e-5 - -#comm_style tiled -#fix 3 all balance 10000 1.1 rcb -comm_modify cutoff 2.5 - -#compute mol all chunk/atom molecule -#compute mychunk all vcm/chunk mol -#fix 4 all ave/time 10000 1 10000 c_mychunk[1] c_mychunk[2] c_mychunk[3] file vcm.txt mode vector - -#dump pos all xyz ${ofreq} traj.${number}.xyz - -#compute quat all property/atom quatw quati quatj quatk -#dump quat all custom ${ofreq} quat.${number}.txt id c_quat[1] c_quat[2] c_quat[3] c_quat[4] -#dump_modify quat sort id -#dump_modify quat format line "%d %13.6le %13.6le %13.6le %13.6le" - -compute erot all erotate/asphere -compute ekin all ke -compute epot all pe -variable erot equal c_erot -variable ekin equal c_ekin -variable epot equal c_epot -variable etot equal c_erot+c_ekin+c_epot -fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes -fix 5 all print 1000 "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes - -#dump out all custom ${ofreq} out.${number}.txt id x y z vx vy vz fx fy fz tqx tqy tqz -#dump_modify out sort id -#dump_modify out format line "%d %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le" - -run 1000000 -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.6274048 - ghost atom cutoff = 2.6274048 - binsize = 1.3137024, bins = 31 31 31 - 6 neighbor lists, perpetual/occasional/extra = 6 0 0 - (1) pair oxdna2/excv, perpetual - attributes: half, newton off - pair build: half/bin/newtoff - stencil: half/bin/3d/newtoff - bin: standard - (2) pair oxdna2/stk, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (3) pair oxdna2/hbond, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (4) pair oxdna2/xstk, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (5) pair oxdna2/coaxstk, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (6) pair oxdna2/dh, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none -WARNING: Communication cutoff adjusted to 2.627404783947349 (../comm.cpp:690) -0 ekin = 0 | erot = 0 | epot = -24.419271289937 | etot = -24.419271289937 -Per MPI rank memory allocation (min/avg/max) = 8.028 | 8.085 | 8.143 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 0 -1.5358787 0.0096742456 -1.5262045 1.0127369e-05 -1000 ekin = 1.34554291364716 | erot = 2.30525041754444 | epot = -24.3924150888896 | etot = -20.741621757698 -2000 ekin = 2.15972469811184 | erot = 2.1628675965276 | epot = -24.3548203354875 | etot = -20.0322280408481 -3000 ekin = 3.26433550542939 | erot = 2.76107866472087 | epot = -24.2947953202752 | etot = -18.269381150125 -4000 ekin = 1.9203212531997 | erot = 2.133394384253 | epot = -24.234098584123 | etot = -20.1803829466703 -5000 ekin = 1.35481075814721 | erot = 2.00854026688447 | epot = -24.1768963201279 | etot = -20.8135452950963 -6000 ekin = 2.18974627635306 | erot = 1.73271671162436 | epot = -24.1096616118305 | etot = -20.1871986238531 -7000 ekin = 2.65472853187395 | erot = 1.73258720631297 | epot = -24.0561118130561 | etot = -19.6687960748691 -8000 ekin = 2.51192327964357 | erot = 2.34132844779952 | epot = -23.9708695663488 | etot = -19.1176178389058 -9000 ekin = 2.24554900802464 | erot = 2.0522939078286 | epot = -23.874757758319 | etot = -19.5769148424658 -10000 ekin = 2.36227360512089 | erot = 1.80185994066737 | epot = -23.7793375260418 | etot = -19.6152039802535 -11000 ekin = 2.03264234985168 | erot = 1.68707706801736 | epot = -23.7396221351636 | etot = -20.0199027172945 -12000 ekin = 2.66329111303325 | erot = 2.49804687909781 | epot = -23.7366995564469 | etot = -18.5753615643158 -13000 ekin = 1.89677055811531 | erot = 2.34624821263612 | epot = -23.6591067615901 | etot = -19.4160879908387 -14000 ekin = 1.91279445145792 | erot = 2.13129118502405 | epot = -23.6468743458148 | etot = -19.6027887093328 -15000 ekin = 2.41876331112169 | erot = 2.07362128417238 | epot = -23.5767792498568 | etot = -19.0843946545628 -16000 ekin = 2.76615310647131 | erot = 1.19495009524763 | epot = -23.4862363509196 | etot = -19.5251331492006 -17000 ekin = 2.45632569069911 | erot = 2.37627186077148 | epot = -23.500787861849 | etot = -18.6681903103784 -18000 ekin = 2.18348858414473 | erot = 2.46933014500077 | epot = -23.5223047738331 | etot = -18.8694860446876 -19000 ekin = 2.2074746303434 | erot = 2.45349372324724 | epot = -23.4618353655003 | etot = -18.8008670119096 -20000 ekin = 2.06964129991908 | erot = 1.80832666230414 | epot = -23.4930879797962 | etot = -19.615120017573 -21000 ekin = 2.26572194434983 | erot = 2.76680470094409 | epot = -23.5023070260553 | etot = -18.4697803807614 -22000 ekin = 2.69295306575102 | erot = 1.86984875574017 | epot = -23.4463493063166 | etot = -18.8835474848254 -23000 ekin = 1.99930153068661 | erot = 2.27735339437466 | epot = -23.3493214662276 | etot = -19.0726665411663 -24000 ekin = 2.20679650752062 | erot = 2.98147599881873 | epot = -23.273517698415 | etot = -18.0852451920757 -25000 ekin = 2.28085541692287 | erot = 2.99165466281124 | epot = -23.2072100929465 | etot = -17.9347000132124 -26000 ekin = 1.9530124305314 | erot = 2.81680126246586 | epot = -23.0636678500934 | etot = -18.2938541570962 -27000 ekin = 1.96948983508855 | erot = 2.69266617300682 | epot = -22.9870601707012 | etot = -18.3249041626058 -28000 ekin = 2.02061868464074 | erot = 2.37038530969117 | epot = -22.9383598315964 | etot = -18.5473558372645 -29000 ekin = 2.51387846128098 | erot = 2.0265039132053 | epot = -22.888959880923 | etot = -18.3485775064367 -30000 ekin = 1.95889729807242 | erot = 2.1170713545074 | epot = -22.7896312662562 | etot = -18.7136626136764 -31000 ekin = 1.81775203419098 | erot = 2.326796842935 | epot = -22.7561124537192 | etot = -18.6115635765932 -32000 ekin = 1.87947265787065 | erot = 2.0009346769358 | epot = -22.8533570528062 | etot = -18.9729497179997 -33000 ekin = 1.77435214491107 | erot = 1.82826131933673 | epot = -22.8632647352802 | etot = -19.2606512710324 -34000 ekin = 2.27098719472917 | erot = 3.11275511420439 | epot = -22.9527052663856 | etot = -17.5689629574521 -35000 ekin = 2.88921171289845 | erot = 1.82538384737236 | epot = -23.0316569923336 | etot = -18.3170614320628 -36000 ekin = 2.40471013682393 | erot = 2.59817148723643 | epot = -23.1277697887139 | etot = -18.1248881646536 -37000 ekin = 2.23499312928139 | erot = 1.74662115184433 | epot = -23.1542126827759 | etot = -19.1725984016501 -38000 ekin = 2.13875747252781 | erot = 3.07733571118648 | epot = -23.0916051545794 | etot = -17.8755119708651 -39000 ekin = 2.08901196654187 | erot = 2.81975762995374 | epot = -23.0796147800379 | etot = -18.1708451835423 -40000 ekin = 2.95155149177527 | erot = 2.19459039829335 | epot = -23.141500571363 | etot = -17.9953586812944 -41000 ekin = 2.49235596566196 | erot = 3.45295839915509 | epot = -23.115526015811 | etot = -17.1702116509939 -42000 ekin = 2.58401591894786 | erot = 3.0976076851145 | epot = -23.0181097727229 | etot = -17.3364861686605 -43000 ekin = 2.17593293893362 | erot = 2.65403748718844 | epot = -22.8962504257564 | etot = -18.0662799996343 -44000 ekin = 2.34068034665607 | erot = 3.294882771572 | epot = -22.8143844644656 | etot = -17.1788213462375 -45000 ekin = 1.87200112415306 | erot = 3.49863859200052 | epot = -22.6989374637074 | etot = -17.3282977475538 -46000 ekin = 2.60943921333194 | erot = 2.23170007842725 | epot = -22.5884035122493 | etot = -17.7472642204901 -47000 ekin = 1.89594756436345 | erot = 3.4002587629387 | epot = -22.4938472923117 | etot = -17.1976409650096 -48000 ekin = 2.49339593279701 | erot = 2.5104785556399 | epot = -22.5372062210456 | etot = -17.5333317326087 -49000 ekin = 3.2041407554348 | erot = 2.17669016194865 | epot = -22.5688036423094 | etot = -17.1879727249259 -50000 ekin = 2.93024070185999 | erot = 1.55416219951966 | epot = -22.6087903765995 | etot = -18.1243874752199 -51000 ekin = 2.8585759501124 | erot = 2.69193261792584 | epot = -22.6228353253324 | etot = -17.0723267572942 -52000 ekin = 2.3079418078843 | erot = 1.84260643306147 | epot = -22.6230480697441 | etot = -18.4724998287983 -53000 ekin = 3.1803685919024 | erot = 1.67451273370508 | epot = -22.6834814309773 | etot = -17.8286001053698 -54000 ekin = 2.6151376953128 | erot = 1.96091197875017 | epot = -22.7484551927013 | etot = -18.1724055186384 -55000 ekin = 3.1639577845443 | erot = 2.86286196426802 | epot = -22.7917236196438 | etot = -16.7649038708315 -56000 ekin = 2.52994034294643 | erot = 3.05544364249365 | epot = -22.7651844773103 | etot = -17.1798004918702 -57000 ekin = 2.40889871674401 | erot = 3.4525690879514 | epot = -22.7113139496974 | etot = -16.849846145002 -58000 ekin = 1.9363727739706 | erot = 2.52762778976703 | epot = -22.6468058892224 | etot = -18.1828053254848 -59000 ekin = 2.55505415922972 | erot = 3.52385701835933 | epot = -22.6037443858311 | etot = -16.5248332082421 -60000 ekin = 2.80945252332612 | erot = 2.88606183204889 | epot = -22.5227874119079 | etot = -16.8272730565329 -61000 ekin = 2.69750183117722 | erot = 2.55373633146433 | epot = -22.4306469225965 | etot = -17.1794087599549 -62000 ekin = 2.74494354639602 | erot = 2.23074517653766 | epot = -22.3675792436719 | etot = -17.3918905207383 -63000 ekin = 2.66335513293138 | erot = 2.46159865380861 | epot = -22.3527707145482 | etot = -17.2278169278082 -64000 ekin = 2.12832019835147 | erot = 2.78772793164811 | epot = -22.3048690294469 | etot = -17.3888208994473 -65000 ekin = 1.88429801911228 | erot = 2.70719871478483 | epot = -22.3342736701749 | etot = -17.7427769362778 -66000 ekin = 2.77106091929282 | erot = 1.94126620531915 | epot = -22.338257942783 | etot = -17.625930818171 -67000 ekin = 2.53561386235746 | erot = 2.45901054739082 | epot = -22.3780784743028 | etot = -17.3834540645545 -68000 ekin = 2.9678648663671 | erot = 1.95502711706149 | epot = -22.4420512915713 | etot = -17.5191593081427 -69000 ekin = 2.61501630036274 | erot = 2.2429513448561 | epot = -22.3607835407198 | etot = -17.502815895501 -70000 ekin = 2.41492598760663 | erot = 2.80885610657203 | epot = -22.2905725083407 | etot = -17.066790414162 -71000 ekin = 2.65062529541957 | erot = 2.88868401392431 | epot = -22.2951070257787 | etot = -16.7557977164349 -72000 ekin = 2.93273744051009 | erot = 2.82552508252073 | epot = -22.4016757930526 | etot = -16.6434132700218 -73000 ekin = 2.18922665452238 | erot = 3.03559183860538 | epot = -22.4509770394845 | etot = -17.2261585463568 -74000 ekin = 2.16074843540078 | erot = 2.83668185121384 | epot = -22.4374624006144 | etot = -17.4400321139998 -75000 ekin = 1.52329638473031 | erot = 1.91520672578907 | epot = -22.5623153080324 | etot = -19.123812197513 -76000 ekin = 1.89250964827726 | erot = 2.83358650938892 | epot = -22.6698326202442 | etot = -17.943736462578 -77000 ekin = 2.82066630152179 | erot = 3.19779433197964 | epot = -22.7402096770599 | etot = -16.7217490435584 -78000 ekin = 2.42603824235662 | erot = 2.82319136688957 | epot = -22.7334053911689 | etot = -17.4841757819227 -79000 ekin = 2.1571494738421 | erot = 1.67722302323495 | epot = -22.7616861631187 | etot = -18.9273136660417 -80000 ekin = 2.3760789053548 | erot = 2.58372913427157 | epot = -22.6889139769023 | etot = -17.729105937276 -81000 ekin = 2.73468961033338 | erot = 1.92748741387075 | epot = -22.6388260929897 | etot = -17.9766490687856 -82000 ekin = 1.90565370838817 | erot = 1.71715050303634 | epot = -22.5547415381056 | etot = -18.9319373266811 -83000 ekin = 1.63698443616271 | erot = 1.88092293220519 | epot = -22.4792739412377 | etot = -18.9613665728698 -84000 ekin = 1.65571812906993 | erot = 2.10290321918187 | epot = -22.4031972735297 | etot = -18.6445759252779 -85000 ekin = 2.40863681830855 | erot = 2.04741059095057 | epot = -22.321221903585 | etot = -17.8651744943259 -86000 ekin = 2.50560893716733 | erot = 1.80624308622105 | epot = -22.3789065133115 | etot = -18.0670544899231 -87000 ekin = 2.13576456371582 | erot = 1.97115993651017 | epot = -22.4335511413526 | etot = -18.3266266411266 -88000 ekin = 1.74897318407528 | erot = 2.37233945814529 | epot = -22.4142028246849 | etot = -18.2928901824643 -89000 ekin = 1.85559683216276 | erot = 3.29559734355419 | epot = -22.4519626048678 | etot = -17.3007684291509 -90000 ekin = 2.22181579992018 | erot = 2.33948779846394 | epot = -22.5289826258985 | etot = -17.9676790275144 -91000 ekin = 2.40596540834273 | erot = 3.11545124680293 | epot = -22.4975752624166 | etot = -16.9761586072709 -92000 ekin = 2.6773157744569 | erot = 3.00279439655287 | epot = -22.4834827179575 | etot = -16.8033725469477 -93000 ekin = 3.0427813598525 | erot = 3.03722776158512 | epot = -22.4121259471479 | etot = -16.3321168257103 -94000 ekin = 3.20507830840023 | erot = 1.86440047317737 | epot = -22.5079833350679 | etot = -17.4385045534903 -95000 ekin = 3.4839955648833 | erot = 2.87934575393031 | epot = -22.5675869456428 | etot = -16.2042456268292 -96000 ekin = 2.8873631080951 | erot = 2.38554372248299 | epot = -22.5453635283434 | etot = -17.2724566977653 -97000 ekin = 1.92899149350272 | erot = 2.09886479790579 | epot = -22.5208382020819 | etot = -18.4929819106733 -98000 ekin = 2.21420868967462 | erot = 3.66528252896999 | epot = -22.4426781355708 | etot = -16.5631869169262 -99000 ekin = 1.98238051924192 | erot = 2.77358159119584 | epot = -22.3579409961467 | etot = -17.6019788857089 -100000 ekin = 1.80278462349605 | erot = 2.65457154995031 | epot = -22.2926900475079 | etot = -17.8353338740616 -101000 ekin = 2.14042196591663 | erot = 2.38610603254675 | epot = -22.2789462117326 | etot = -17.7524182132692 -102000 ekin = 1.54923043145398 | erot = 2.30485616158943 | epot = -22.27519637673 | etot = -18.4211097836866 -103000 ekin = 1.66618004359352 | erot = 2.82192794888076 | epot = -22.3284746660305 | etot = -17.8403666735562 -104000 ekin = 1.8840390723585 | erot = 3.37607054348826 | epot = -22.4068162519772 | etot = -17.1467066361304 -105000 ekin = 2.08970806137592 | erot = 2.01278733908098 | epot = -22.450865561264 | etot = -18.3483701608071 -106000 ekin = 2.87186619049714 | erot = 1.95029477179727 | epot = -22.46479383237 | etot = -17.6426328700756 -107000 ekin = 2.28516102595382 | erot = 1.55115426482475 | epot = -22.420448971169 | etot = -18.5841336803904 -108000 ekin = 2.4440862469061 | erot = 1.71323205815914 | epot = -22.4934628688132 | etot = -18.336144563748 -109000 ekin = 2.33376449416318 | erot = 2.92962175925398 | epot = -22.4792154966925 | etot = -17.2158292432753 -110000 ekin = 2.7815613020599 | erot = 2.36483486971455 | epot = -22.4384263756784 | etot = -17.2920302039039 -111000 ekin = 2.32472851347632 | erot = 2.09554567134105 | epot = -22.3756448055424 | etot = -17.955370620725 -112000 ekin = 2.91126509700492 | erot = 1.8278781240038 | epot = -22.2278235937356 | etot = -17.4886803727269 -113000 ekin = 2.82522334536064 | erot = 1.67936756938672 | epot = -22.2030639545535 | etot = -17.6984730398062 -114000 ekin = 3.42964629994365 | erot = 2.67287683722422 | epot = -22.3274259722919 | etot = -16.224902835124 -115000 ekin = 3.0542495603856 | erot = 1.72370226125566 | epot = -22.3530732875163 | etot = -17.575121465875 -116000 ekin = 3.19934505541307 | erot = 3.20304074939432 | epot = -22.4112422200445 | etot = -16.0088564152371 -117000 ekin = 3.03942349360439 | erot = 2.40720645224432 | epot = -22.3646852618703 | etot = -16.9180553160216 -118000 ekin = 3.21704225120818 | erot = 1.46425401673931 | epot = -22.2864155249032 | etot = -17.6051192569557 -119000 ekin = 2.33989996826882 | erot = 3.07668030790319 | epot = -22.2283862990246 | etot = -16.8118060228526 -120000 ekin = 1.93772242476321 | erot = 2.20130457047854 | epot = -22.1620199969907 | etot = -18.022993001749 -121000 ekin = 1.94013950333198 | erot = 3.08987281123525 | epot = -22.1565667857742 | etot = -17.126554471207 -122000 ekin = 1.68663003450368 | erot = 1.73461876453175 | epot = -22.2565715090021 | etot = -18.8353227099667 -123000 ekin = 1.72841976989173 | erot = 2.32750063038672 | epot = -22.3665160016578 | etot = -18.3105956013793 -124000 ekin = 2.73468934475335 | erot = 1.93313584543739 | epot = -22.378088078826 | etot = -17.7102628886353 -125000 ekin = 2.77507735763211 | erot = 1.95244582221334 | epot = -22.3863676939847 | etot = -17.6588445141392 -126000 ekin = 2.04549959008918 | erot = 1.485897173428 | epot = -22.4226219879524 | etot = -18.8912252244352 -127000 ekin = 1.86410777734907 | erot = 1.58829497411524 | epot = -22.4027380289015 | etot = -18.9503352774372 -128000 ekin = 1.63329448006254 | erot = 1.88032753965974 | epot = -22.3918784566533 | etot = -18.8782564369311 -129000 ekin = 2.51522192674941 | erot = 2.38822614049102 | epot = -22.396225517968 | etot = -17.4927774507275 -130000 ekin = 1.61191166117177 | erot = 2.81688343133435 | epot = -22.341565060394 | etot = -17.9127699678878 -131000 ekin = 2.29569747740708 | erot = 2.2886876976091 | epot = -22.2184139794107 | etot = -17.6340288043945 -132000 ekin = 2.97393694467802 | erot = 2.3613525440602 | epot = -22.1410658382525 | etot = -16.8057763495143 -133000 ekin = 2.01357676743257 | erot = 2.125828419273 | epot = -22.1312019600638 | etot = -17.9917967733582 -134000 ekin = 1.56048037412857 | erot = 2.84208065022547 | epot = -22.0682869067536 | etot = -17.6657258823995 -135000 ekin = 1.79811942319758 | erot = 2.40075843487508 | epot = -22.0853555614258 | etot = -17.8864777033532 -136000 ekin = 1.63631696233012 | erot = 2.13166656554854 | epot = -22.0879615470249 | etot = -18.3199780191463 -137000 ekin = 2.36040439516093 | erot = 1.93785486632901 | epot = -22.1234845924018 | etot = -17.8252253309118 -138000 ekin = 2.94591421775872 | erot = 1.58866111192914 | epot = -22.1783168558241 | etot = -17.6437415261363 -139000 ekin = 3.17560544591524 | erot = 2.24933296614107 | epot = -22.2966418842012 | etot = -16.8717034721449 -140000 ekin = 2.24781162873235 | erot = 3.05934139328612 | epot = -22.4681108223249 | etot = -17.1609578003064 -141000 ekin = 1.89078628042285 | erot = 3.13246933186326 | epot = -22.730922227649 | etot = -17.7076666153629 -142000 ekin = 2.51033894675651 | erot = 2.4942894309123 | epot = -22.8404165502847 | etot = -17.8357881726159 -143000 ekin = 2.40438807844298 | erot = 2.71461817456284 | epot = -22.8207220890738 | etot = -17.7017158360679 -144000 ekin = 1.9307425487964 | erot = 2.67760329085926 | epot = -22.6973757396236 | etot = -18.0890298999679 -145000 ekin = 1.82681171280412 | erot = 1.73674169257736 | epot = -22.6628534675149 | etot = -19.0993000621335 -146000 ekin = 2.42423538163981 | erot = 2.0908776294658 | epot = -22.6072904345337 | etot = -18.0921774234281 -147000 ekin = 1.44607209743073 | erot = 1.8801263906251 | epot = -22.5001275476876 | etot = -19.1739290596318 -148000 ekin = 1.9349809420382 | erot = 2.57774390934154 | epot = -22.4721664357448 | etot = -17.9594415843651 -149000 ekin = 2.02370265642699 | erot = 3.3179576458013 | epot = -22.3745153112138 | etot = -17.0328550089855 -150000 ekin = 2.48124469844233 | erot = 2.68185291250579 | epot = -22.1950329772129 | etot = -17.0319353662648 -151000 ekin = 2.76319440452884 | erot = 1.87355938382631 | epot = -21.986630645846 | etot = -17.3498768574909 -152000 ekin = 2.77453107952051 | erot = 1.77016628972892 | epot = -21.7977108098427 | etot = -17.2530134405933 -153000 ekin = 3.08827014622555 | erot = 1.80976617511255 | epot = -21.6910123469878 | etot = -16.7929760256497 -154000 ekin = 2.32051051770812 | erot = 2.18004857730092 | epot = -21.6406733490634 | etot = -17.1401142540543 -155000 ekin = 1.95766873014157 | erot = 2.67064554154836 | epot = -21.7315745360126 | etot = -17.1032602643227 -156000 ekin = 2.69830438989808 | erot = 2.24987636164771 | epot = -21.7962907570244 | etot = -16.8481100054786 -157000 ekin = 3.89340900899948 | erot = 2.73733315325155 | epot = -21.8437967078712 | etot = -15.2130545456202 -158000 ekin = 2.84737207100033 | erot = 2.70157958556583 | epot = -21.878244439129 | etot = -16.3292927825628 -159000 ekin = 3.1312088996125 | erot = 2.65375527842548 | epot = -21.8350703791794 | etot = -16.0501062011414 -160000 ekin = 2.54316260055464 | erot = 3.27950281054041 | epot = -21.8888467298127 | etot = -16.0661813187176 -161000 ekin = 2.49549109190181 | erot = 2.45028506429479 | epot = -21.8585593359585 | etot = -16.9127831797619 -162000 ekin = 3.05200272259994 | erot = 2.59164651185653 | epot = -21.8439750046483 | etot = -16.2003257701918 -163000 ekin = 3.30374280597553 | erot = 2.24193960212662 | epot = -21.8717863279577 | etot = -16.3261039198555 -164000 ekin = 3.53081155329031 | erot = 2.22419322011391 | epot = -21.8162094860939 | etot = -16.0612047126897 -165000 ekin = 2.48919804649027 | erot = 2.59105984700639 | epot = -21.7395563276218 | etot = -16.6592984341251 -166000 ekin = 2.14880495285182 | erot = 3.05770380831398 | epot = -21.6850566092694 | etot = -16.4785478481036 -167000 ekin = 2.78181890034675 | erot = 2.90402826001928 | epot = -21.5971987360122 | etot = -15.9113515756462 -168000 ekin = 1.74726050172142 | erot = 2.76898886506121 | epot = -21.490566893224 | etot = -16.9743175264414 -169000 ekin = 1.8134289785439 | erot = 2.45780601602371 | epot = -21.4680710936728 | etot = -17.1968360991052 -170000 ekin = 1.69364478039988 | erot = 2.87928997590297 | epot = -21.4668806356843 | etot = -16.8939458793814 -171000 ekin = 2.14879448642638 | erot = 1.61442218455815 | epot = -21.3172106430715 | etot = -17.553993972087 -172000 ekin = 1.68431962963431 | erot = 2.36087816720612 | epot = -21.1539793618528 | etot = -17.1087815650124 -173000 ekin = 2.05784071815669 | erot = 2.17142592689102 | epot = -21.0926393885011 | etot = -16.8633727434534 -174000 ekin = 2.49611606122761 | erot = 3.09665692560806 | epot = -20.9460348670979 | etot = -15.3532618802622 -175000 ekin = 2.61673440848865 | erot = 2.88720331620426 | epot = -20.8525764091519 | etot = -15.348638684459 -176000 ekin = 2.16190213742438 | erot = 2.672518464664 | epot = -20.8442274508468 | etot = -16.0098068487584 -177000 ekin = 2.83236394902013 | erot = 2.81489135382763 | epot = -20.925759607446 | etot = -15.2785043045983 -178000 ekin = 3.17804494293424 | erot = 1.88346790512585 | epot = -21.0677853312893 | etot = -16.0062724832292 -179000 ekin = 2.33267448424065 | erot = 2.85731052069525 | epot = -21.1181390109479 | etot = -15.928154006012 -180000 ekin = 2.39061531304011 | erot = 2.93791308776 | epot = -21.1146449531392 | etot = -15.786116552339 -181000 ekin = 2.79990361156737 | erot = 3.28891520287386 | epot = -21.0834365456108 | etot = -14.9946177311695 -182000 ekin = 3.02616507870526 | erot = 2.3341432703009 | epot = -21.0600545808659 | etot = -15.6997462318597 -183000 ekin = 2.45290144562467 | erot = 2.21141617846262 | epot = -20.911866387917 | etot = -16.2475487638297 -184000 ekin = 2.56560515060991 | erot = 2.7739810551646 | epot = -20.6989716212004 | etot = -15.3593854154259 -185000 ekin = 2.17586139274635 | erot = 1.95913868179524 | epot = -20.5985322435751 | etot = -16.4635321690335 -186000 ekin = 2.07303044902321 | erot = 3.15122816264525 | epot = -20.4965070011281 | etot = -15.2722483894597 -187000 ekin = 2.44319481307615 | erot = 1.92784212082443 | epot = -20.5124982035642 | etot = -16.1414612696636 -188000 ekin = 2.28870879542405 | erot = 2.8871121346017 | epot = -20.6323506293031 | etot = -15.4565296992773 -189000 ekin = 1.68047280237829 | erot = 3.05535775765803 | epot = -20.6378101864803 | etot = -15.901979626444 -190000 ekin = 1.97184665786397 | erot = 2.95271452778009 | epot = -20.6376534135265 | etot = -15.7130922278825 -191000 ekin = 2.30626539196432 | erot = 2.64854814117512 | epot = -20.6037323569656 | etot = -15.6489188238262 -192000 ekin = 3.54976671698926 | erot = 2.91090725702116 | epot = -20.5525508832509 | etot = -14.0918769092405 -193000 ekin = 2.63938438600422 | erot = 3.14409581682352 | epot = -20.5892132844066 | etot = -14.8057330815789 -194000 ekin = 2.67903757365037 | erot = 2.30768318132376 | epot = -20.4753987179501 | etot = -15.488677962976 -195000 ekin = 1.89257615363314 | erot = 2.64508051866103 | epot = -20.4197880125065 | etot = -15.8821313402123 -196000 ekin = 2.29151017050607 | erot = 2.32636787964875 | epot = -20.4440761857987 | etot = -15.8261981356438 -197000 ekin = 2.48344018982905 | erot = 2.5654400941963 | epot = -20.516126938087 | etot = -15.4672466540616 -198000 ekin = 2.01386156849612 | erot = 1.52779840514975 | epot = -20.537160292649 | etot = -16.9955003190031 -199000 ekin = 1.50729232131931 | erot = 2.19878124720506 | epot = -20.5584754599868 | etot = -16.8524018914625 -200000 ekin = 1.64236235330806 | erot = 2.46736341802316 | epot = -20.5387924113648 | etot = -16.4290666400336 -201000 ekin = 2.627066472214 | erot = 2.61321940355396 | epot = -20.6089911163939 | etot = -15.3687052406259 -202000 ekin = 2.3129503751722 | erot = 2.54874856259559 | epot = -20.6732219111123 | etot = -15.8115229733445 -203000 ekin = 1.63961009223968 | erot = 2.10835750593015 | epot = -20.7002051999767 | etot = -16.9522376018069 -204000 ekin = 2.0558049009161 | erot = 1.9161072834091 | epot = -20.8154459612946 | etot = -16.8435337769694 -205000 ekin = 3.04603860094189 | erot = 3.24233043438682 | epot = -20.9297600758299 | etot = -14.6413910405012 -206000 ekin = 2.56775422508359 | erot = 2.20992928465512 | epot = -21.0192669133083 | etot = -16.2415834035696 -207000 ekin = 3.46597997409567 | erot = 2.48427015330086 | epot = -21.151399026488 | etot = -15.2011488990915 -208000 ekin = 2.51159742060494 | erot = 2.22948191756652 | epot = -21.2942477400986 | etot = -16.5531684019271 -209000 ekin = 3.78908644724162 | erot = 2.17660742759513 | epot = -21.4499700336111 | etot = -15.4842761587743 -210000 ekin = 3.03133642129733 | erot = 2.21595982730352 | epot = -21.5648709610245 | etot = -16.3175747124237 -211000 ekin = 1.63075564056512 | erot = 2.12650387194819 | epot = -21.6099552204253 | etot = -17.852695707912 -212000 ekin = 2.67694215598975 | erot = 2.47186432110288 | epot = -21.8481434074352 | etot = -16.6993369303425 -213000 ekin = 2.70688282449408 | erot = 1.96666534072978 | epot = -22.1170796448084 | etot = -17.4435314795845 -214000 ekin = 2.88993887341392 | erot = 3.16392577542175 | epot = -22.1689844550676 | etot = -16.1151198062319 -215000 ekin = 2.59587305508913 | erot = 1.84775314628517 | epot = -22.0799472955547 | etot = -17.6363210941804 -216000 ekin = 2.59710486720184 | erot = 2.79170232594871 | epot = -22.123050002636 | etot = -16.7342428094855 -217000 ekin = 2.50043297628753 | erot = 1.89569946865143 | epot = -22.2232445790842 | etot = -17.8271121341452 -218000 ekin = 2.42608117861514 | erot = 2.42380011003409 | epot = -22.2442965405807 | etot = -17.3944152519314 -219000 ekin = 2.31038806457503 | erot = 2.64910389607574 | epot = -22.2862511100887 | etot = -17.3267591494379 -220000 ekin = 1.69989575631519 | erot = 2.34717348369245 | epot = -22.2936253261379 | etot = -18.2465560861303 -221000 ekin = 2.0597604328414 | erot = 2.4617257870959 | epot = -22.2693428350923 | etot = -17.747856615155 -222000 ekin = 1.56778478035701 | erot = 2.12765432596982 | epot = -22.1639011265163 | etot = -18.4684620201895 -223000 ekin = 1.84761048251748 | erot = 1.88006246465219 | epot = -22.0932628941083 | etot = -18.3655899469387 -224000 ekin = 2.59436846043989 | erot = 2.94714248251079 | epot = -22.1101977210218 | etot = -16.5686867780711 -225000 ekin = 3.30446830369106 | erot = 2.86069163428051 | epot = -22.1130335717329 | etot = -15.9478736337614 -226000 ekin = 3.03148439961004 | erot = 2.0857715841185 | epot = -22.1515480756285 | etot = -17.0342920918999 -227000 ekin = 2.52473737037052 | erot = 3.1515233037479 | epot = -22.2272979755786 | etot = -16.5510373014602 -228000 ekin = 2.32773029487822 | erot = 2.67887550863523 | epot = -22.3289846157579 | etot = -17.3223788122445 -229000 ekin = 2.908632187774 | erot = 2.89972099244786 | epot = -22.4590990625921 | etot = -16.6507458823703 -230000 ekin = 2.30901008738396 | erot = 3.48892218468534 | epot = -22.5811133380347 | etot = -16.7831810659654 -231000 ekin = 2.09445974553368 | erot = 3.10137653837903 | epot = -22.6273628788262 | etot = -17.4315265949135 -232000 ekin = 2.11347252785341 | erot = 1.99214840222577 | epot = -22.6148559367411 | etot = -18.5092350066619 -233000 ekin = 2.31469131808302 | erot = 2.82702779723524 | epot = -22.573468078272 | etot = -17.4317489629538 -234000 ekin = 2.08691986790862 | erot = 2.09006771152617 | epot = -22.5768924885421 | etot = -18.3999049091073 -235000 ekin = 2.43602788311011 | erot = 2.79756094595935 | epot = -22.5841308018507 | etot = -17.3505419727812 -236000 ekin = 2.93232983655883 | erot = 3.05945149934941 | epot = -22.5011281720659 | etot = -16.5093468361576 -237000 ekin = 3.2236915032749 | erot = 3.26810349425041 | epot = -22.3869936414794 | etot = -15.8951986439541 -238000 ekin = 2.4674995923353 | erot = 2.31630563795609 | epot = -22.3210409459325 | etot = -17.5372357156411 -239000 ekin = 2.10887317283391 | erot = 2.47562990634415 | epot = -22.3008221039947 | etot = -17.7163190248166 -240000 ekin = 1.76092230208337 | erot = 2.62077674301801 | epot = -22.2503883436816 | etot = -17.8686892985802 -241000 ekin = 1.93966929781469 | erot = 1.41063904300121 | epot = -22.2367099354244 | etot = -18.8864015946085 -242000 ekin = 3.03220831764684 | erot = 2.02809667614523 | epot = -22.2529237351145 | etot = -17.1926187413224 -243000 ekin = 2.84396619393303 | erot = 1.7910064306681 | epot = -22.2768680265869 | etot = -17.6418954019858 -244000 ekin = 1.94630661585721 | erot = 2.3722540427007 | epot = -22.2272698315535 | etot = -17.9087091729956 -245000 ekin = 2.21268964174709 | erot = 2.75899365563147 | epot = -22.1926413343766 | etot = -17.2209580369981 -246000 ekin = 2.07547606015104 | erot = 2.22089229769683 | epot = -22.119471822751 | etot = -17.8231034649032 -247000 ekin = 1.58341517009487 | erot = 3.06778333448391 | epot = -22.0033087190277 | etot = -17.3521102144489 -248000 ekin = 2.1365138975527 | erot = 3.53502738921423 | epot = -21.8495423719646 | etot = -16.1780010851977 -249000 ekin = 2.17149547481658 | erot = 3.29316066315612 | epot = -21.813933670884 | etot = -16.3492775329113 -250000 ekin = 2.39365756609179 | erot = 2.39580124119371 | epot = -21.767733544404 | etot = -16.9782747371185 -251000 ekin = 1.2828204065042 | erot = 2.24293125468609 | epot = -21.7209613352709 | etot = -18.1952096740806 -252000 ekin = 1.76792385357404 | erot = 2.13774913157991 | epot = -21.715743646839 | etot = -17.8100706616851 -253000 ekin = 2.15844787240193 | erot = 2.59910839140098 | epot = -21.6939194867273 | etot = -16.9363632229244 -254000 ekin = 2.46988601582316 | erot = 1.99393049965303 | epot = -21.6738244724958 | etot = -17.2100079570196 -255000 ekin = 2.31014544453096 | erot = 2.03140480982291 | epot = -21.6888108217887 | etot = -17.3472605674348 -256000 ekin = 2.90570988017011 | erot = 2.61779108741197 | epot = -21.6304219101588 | etot = -16.1069209425767 -257000 ekin = 2.87227426842454 | erot = 2.08598550349753 | epot = -21.5998306482426 | etot = -16.6415708763206 -258000 ekin = 2.06365418401471 | erot = 2.33103720962373 | epot = -21.5019981919811 | etot = -17.1073067983427 -259000 ekin = 2.23106413601668 | erot = 2.88992031738565 | epot = -21.4929751490585 | etot = -16.3719906956562 -260000 ekin = 2.49064109684832 | erot = 2.38083177290805 | epot = -21.4659963710747 | etot = -16.5945235013183 -261000 ekin = 2.09140199827797 | erot = 2.40209752473156 | epot = -21.4076397934529 | etot = -16.9141402704433 -262000 ekin = 2.36091906713393 | erot = 2.66652490187927 | epot = -21.359937125592 | etot = -16.3324931565788 -263000 ekin = 2.2112169796158 | erot = 2.73059503173094 | epot = -21.4187723839513 | etot = -16.4769603726046 -264000 ekin = 2.28961718487933 | erot = 2.75455515229635 | epot = -21.370776058554 | etot = -16.3266037213783 -265000 ekin = 1.71596203334806 | erot = 1.76104932073225 | epot = -21.2034176623527 | etot = -17.7264063082724 -266000 ekin = 2.51424635704546 | erot = 2.09488481391075 | epot = -21.0818656942669 | etot = -16.4727345233107 -267000 ekin = 2.81393895925601 | erot = 2.14232705328249 | epot = -21.1259701200622 | etot = -16.1697041075237 -268000 ekin = 3.10191854871686 | erot = 2.80451383793942 | epot = -21.0933882633302 | etot = -15.1869558766739 -269000 ekin = 3.52550118014125 | erot = 2.35973600910593 | epot = -21.0585255577117 | etot = -15.1732883684645 -270000 ekin = 3.50731584216641 | erot = 1.86855463358785 | epot = -21.093710946541 | etot = -15.7178404707867 -271000 ekin = 3.5675331453682 | erot = 2.0823459971557 | epot = -21.1717850302959 | etot = -15.521905887772 -272000 ekin = 2.43382567191708 | erot = 3.09591378837425 | epot = -21.2584464912718 | etot = -15.7287070309805 -273000 ekin = 2.38177594135517 | erot = 3.14028416008422 | epot = -21.3418702267283 | etot = -15.8198101252889 -274000 ekin = 2.46408091312732 | erot = 2.01407385193325 | epot = -21.3513679347441 | etot = -16.8732131696836 -275000 ekin = 2.45653813926169 | erot = 3.06780010281641 | epot = -21.3769507768006 | etot = -15.8526125347225 -276000 ekin = 2.79508720985829 | erot = 2.87011619931109 | epot = -21.3368600634473 | etot = -15.671656654278 -277000 ekin = 2.21394865880382 | erot = 2.19504097967885 | epot = -21.2606836087454 | etot = -16.8516939702627 -278000 ekin = 2.75723780567064 | erot = 3.25107227641375 | epot = -21.1755556732391 | etot = -15.1672455911547 -279000 ekin = 2.50738352588257 | erot = 1.80312795092014 | epot = -21.119949297869 | etot = -16.8094378210662 -280000 ekin = 2.35419479075042 | erot = 1.7566104351529 | epot = -21.0612865360217 | etot = -16.9504813101184 -281000 ekin = 2.54091624756361 | erot = 2.29354970120309 | epot = -21.0950091005497 | etot = -16.260543151783 -282000 ekin = 2.99712896075656 | erot = 2.42094408338315 | epot = -21.2220089565004 | etot = -15.8039359123607 -283000 ekin = 2.56696810638689 | erot = 2.10068113035835 | epot = -21.403161576838 | etot = -16.7355123400928 -284000 ekin = 2.50149529685552 | erot = 3.12894850572552 | epot = -21.5256946024495 | etot = -15.8952507998684 -285000 ekin = 2.42104861452631 | erot = 1.7773884250687 | epot = -21.6343236201921 | etot = -17.4358865805971 -286000 ekin = 1.95703367775988 | erot = 2.02947038358402 | epot = -21.6777606373854 | etot = -17.6912565760415 -287000 ekin = 2.563069553437 | erot = 2.57822888294094 | epot = -21.7096788412169 | etot = -16.568380404839 -288000 ekin = 2.18408141161779 | erot = 1.69724000161796 | epot = -21.6059228036045 | etot = -17.7246013903687 -289000 ekin = 2.32975723406079 | erot = 1.67288237726622 | epot = -21.4690249265465 | etot = -17.4663853152195 -290000 ekin = 2.22773933829104 | erot = 2.00568808096403 | epot = -21.3936416309443 | etot = -17.1602142116892 -291000 ekin = 1.46140048209222 | erot = 2.68187349132486 | epot = -21.320309661152 | etot = -17.177035687735 -292000 ekin = 2.07752653885401 | erot = 2.42042811850752 | epot = -21.2225710152689 | etot = -16.7246163579074 -293000 ekin = 2.14598735312316 | erot = 1.87232699516306 | epot = -21.1503112105659 | etot = -17.1319968622797 -294000 ekin = 2.15249843510191 | erot = 2.17548638187737 | epot = -21.1209057143321 | etot = -16.7929208973528 -295000 ekin = 2.13417246804068 | erot = 2.31578295657371 | epot = -21.023273761855 | etot = -16.5733183372406 -296000 ekin = 1.52381700282724 | erot = 2.92433462308731 | epot = -21.0839283123442 | etot = -16.6357766864297 -297000 ekin = 2.45165869902145 | erot = 2.17953392904489 | epot = -21.0491333291916 | etot = -16.4179407011252 -298000 ekin = 1.77920935759369 | erot = 2.01251348063453 | epot = -21.0971977522748 | etot = -17.3054749140465 -299000 ekin = 1.87538650376616 | erot = 1.65135039658661 | epot = -21.119277949862 | etot = -17.5925410495092 -300000 ekin = 2.3167056751994 | erot = 1.510902648654 | epot = -21.178913099451 | etot = -17.3513047755976 -301000 ekin = 2.00567209290794 | erot = 2.01270349508404 | epot = -21.2857234594098 | etot = -17.2673478714178 -302000 ekin = 1.78598592595272 | erot = 2.2354055492879 | epot = -21.3905601140029 | etot = -17.3691686387622 -303000 ekin = 2.73278841880507 | erot = 1.64856089415774 | epot = -21.3608973804115 | etot = -16.9795480674487 -304000 ekin = 2.5809493598196 | erot = 2.00558555026353 | epot = -21.400198286629 | etot = -16.8136633765459 -305000 ekin = 2.43647384348742 | erot = 2.28275438290435 | epot = -21.3863075230184 | etot = -16.6670792966266 -306000 ekin = 2.14332823539982 | erot = 2.4338461634411 | epot = -21.3233075109442 | etot = -16.7461331121032 -307000 ekin = 3.21424191196812 | erot = 3.27591538479569 | epot = -21.289790084126 | etot = -14.7996327873622 -308000 ekin = 3.45838026839176 | erot = 2.68116130354006 | epot = -21.3419403426811 | etot = -15.2023987707493 -309000 ekin = 2.38041738433959 | erot = 2.92081370932153 | epot = -21.4463399141034 | etot = -16.1451088204423 -310000 ekin = 2.50977269558789 | erot = 2.34824464102402 | epot = -21.4648074532888 | etot = -16.6067901166769 -311000 ekin = 2.57488628819259 | erot = 2.293754673538 | epot = -21.5151382155269 | etot = -16.6464972537963 -312000 ekin = 2.09623150906876 | erot = 2.93795890592974 | epot = -21.6260240426366 | etot = -16.5918336276381 -313000 ekin = 1.8184499729194 | erot = 2.28463898505893 | epot = -21.6999003790643 | etot = -17.5968114210859 -314000 ekin = 2.3228324174232 | erot = 2.19580475273396 | epot = -21.6870491287185 | etot = -17.1684119585613 -315000 ekin = 1.84546653836013 | erot = 2.13886071139629 | epot = -21.7312132691438 | etot = -17.7468860193873 -316000 ekin = 2.1657114199577 | erot = 3.03124199276298 | epot = -21.7430929234306 | etot = -16.5461395107099 -317000 ekin = 2.42793755919909 | erot = 3.57187833839244 | epot = -21.8303487369249 | etot = -15.8305328393334 -318000 ekin = 2.31418145055206 | erot = 3.02858542885927 | epot = -21.9347898317926 | etot = -16.5920229523813 -319000 ekin = 2.35032973997068 | erot = 3.16078759112674 | epot = -22.0387665246751 | etot = -16.5276491935776 -320000 ekin = 1.78202525445684 | erot = 2.83297321443624 | epot = -22.1187616541783 | etot = -17.5037631852852 -321000 ekin = 2.87441941784728 | erot = 2.26223197636944 | epot = -22.1065455913123 | etot = -16.9698941970956 -322000 ekin = 2.79013397204362 | erot = 2.68769432639935 | epot = -22.1121405540937 | etot = -16.6343122556507 -323000 ekin = 2.070121980457 | erot = 2.31830584817612 | epot = -22.1539458855415 | etot = -17.7655180569083 -324000 ekin = 2.58383941134683 | erot = 2.58296807603305 | epot = -22.1539753505051 | etot = -16.9871678631253 -325000 ekin = 3.43451304817783 | erot = 2.45405386180802 | epot = -21.938960387404 | etot = -16.0503934774181 -326000 ekin = 3.49680929786584 | erot = 2.85196633398113 | epot = -21.8204400999953 | etot = -15.4716644681484 -327000 ekin = 2.68799300805475 | erot = 2.21805195956654 | epot = -21.7892073548558 | etot = -16.8831623872345 -328000 ekin = 1.81477491971657 | erot = 2.35891534842888 | epot = -21.7275637950057 | etot = -17.5538735268602 -329000 ekin = 2.19319322627006 | erot = 2.40717958919081 | epot = -21.6826095784948 | etot = -17.0822367630339 -330000 ekin = 1.87131927244382 | erot = 2.03694340108429 | epot = -21.5934239674847 | etot = -17.6851612939566 -331000 ekin = 2.37197683084608 | erot = 1.80087022346348 | epot = -21.5641185835514 | etot = -17.3912715292419 -332000 ekin = 1.69601394569048 | erot = 2.54947032294377 | epot = -21.5986464339748 | etot = -17.3531621653406 -333000 ekin = 1.59867443991714 | erot = 2.14911483871162 | epot = -21.7162173059518 | etot = -17.9684280273231 -334000 ekin = 2.25811733625553 | erot = 2.62323988136568 | epot = -21.7749416190679 | etot = -16.8935844014467 -335000 ekin = 2.93433632601273 | erot = 3.10350297573268 | epot = -21.7966831809595 | etot = -15.7588438792141 -336000 ekin = 2.76337640462581 | erot = 2.54930710489019 | epot = -21.7180312833467 | etot = -16.4053477738307 -337000 ekin = 3.19235531401951 | erot = 3.87146146874103 | epot = -21.8022396262892 | etot = -14.7384228435286 -338000 ekin = 2.33305125173566 | erot = 2.13094194678887 | epot = -21.8068682042896 | etot = -17.3428750057651 -339000 ekin = 1.71673308889604 | erot = 2.30964121170968 | epot = -21.7941224580796 | etot = -17.7677481574739 -340000 ekin = 1.59424151294027 | erot = 3.16324993863714 | epot = -21.7679173396748 | etot = -17.0104258880973 -341000 ekin = 1.69465464335694 | erot = 3.18694861883744 | epot = -21.7067352043109 | etot = -16.8251319421165 -342000 ekin = 1.81243763026219 | erot = 2.60448215582795 | epot = -21.5993126794634 | etot = -17.1823928933732 -343000 ekin = 3.08243814047349 | erot = 2.9217466333323 | epot = -21.5855979229594 | etot = -15.5814131491536 -344000 ekin = 2.94964594107348 | erot = 3.10231272046816 | epot = -21.5506154266351 | etot = -15.4986567650935 -345000 ekin = 2.34525111670595 | erot = 2.88045261854212 | epot = -21.530734043011 | etot = -16.3050303077629 -346000 ekin = 2.03136740406842 | erot = 3.44352096435563 | epot = -21.4703041890966 | etot = -15.9954158206726 -347000 ekin = 2.34515762081498 | erot = 1.91414074840886 | epot = -21.3488386855954 | etot = -17.0895403163716 -348000 ekin = 2.76763212340836 | erot = 2.78035348102326 | epot = -21.3102796687364 | etot = -15.7622940643048 -349000 ekin = 2.29342234253801 | erot = 3.14526664575919 | epot = -21.3922932631024 | etot = -15.9536042748052 -350000 ekin = 2.17828641691343 | erot = 2.38211689163937 | epot = -21.3570978647003 | etot = -16.7966945561475 -351000 ekin = 2.2787342054874 | erot = 2.85568682453813 | epot = -21.3165609660186 | etot = -16.182139935993 -352000 ekin = 2.70894563927919 | erot = 2.77656375044279 | epot = -21.3565059314145 | etot = -15.8709965416925 -353000 ekin = 1.74748047732915 | erot = 2.14191122851256 | epot = -21.3195625770357 | etot = -17.430170871194 -354000 ekin = 2.30492780756568 | erot = 2.37159952583724 | epot = -21.3742968901642 | etot = -16.6977695567612 -355000 ekin = 2.32493886573112 | erot = 2.38411746089983 | epot = -21.339340741587 | etot = -16.6302844149561 -356000 ekin = 2.9749649543268 | erot = 2.9916655517553 | epot = -21.2468948072712 | etot = -15.2802643011891 -357000 ekin = 1.79541671946026 | erot = 2.13971792108731 | epot = -21.2216819829681 | etot = -17.2865473424205 -358000 ekin = 2.06637919290965 | erot = 1.9076530715578 | epot = -21.2447441674953 | etot = -17.2707119030278 -359000 ekin = 2.02344077580052 | erot = 2.11726163321539 | epot = -21.2183688961264 | etot = -17.0776664871105 -360000 ekin = 2.64012587839158 | erot = 2.43776362828977 | epot = -21.1472477161847 | etot = -16.0693582095033 -361000 ekin = 2.41850555983882 | erot = 2.39054736245265 | epot = -21.2133787743639 | etot = -16.4043258520724 -362000 ekin = 2.2486199222758 | erot = 2.04489136793498 | epot = -21.2088914287919 | etot = -16.9153801385811 -363000 ekin = 3.21904252076974 | erot = 1.79717950163013 | epot = -21.2620537293498 | etot = -16.24583170695 -364000 ekin = 2.9845697448498 | erot = 2.18316673460243 | epot = -21.2883338312843 | etot = -16.120597351832 -365000 ekin = 2.49427392981412 | erot = 2.31205455481896 | epot = -21.4001153296815 | etot = -16.5937868450484 -366000 ekin = 2.61706523565788 | erot = 2.20229130507574 | epot = -21.4506718008962 | etot = -16.6313152601626 -367000 ekin = 2.24650816549397 | erot = 1.87906237362998 | epot = -21.5207044850599 | etot = -17.3951339459359 -368000 ekin = 2.46672276241562 | erot = 2.37638546053105 | epot = -21.5628581383216 | etot = -16.7197499153749 -369000 ekin = 2.03614635149851 | erot = 2.85426887707092 | epot = -21.6803034764487 | etot = -16.7898882478793 -370000 ekin = 2.13410724028005 | erot = 2.17304603842012 | epot = -21.7343761700058 | etot = -17.4272228913057 -371000 ekin = 2.21722409826115 | erot = 2.11058746733929 | epot = -21.6422617131998 | etot = -17.3144501475994 -372000 ekin = 1.88083333566673 | erot = 1.90617172826127 | epot = -21.6005499693118 | etot = -17.8135449053838 -373000 ekin = 1.98298204516521 | erot = 1.78267682128409 | epot = -21.5708808628646 | etot = -17.8052219964153 -374000 ekin = 2.88981201933268 | erot = 1.90326894499807 | epot = -21.4624711307906 | etot = -16.6693901664599 -375000 ekin = 2.31951869092549 | erot = 1.92779670517485 | epot = -21.3521768069862 | etot = -17.1048614108859 -376000 ekin = 2.60113015271722 | erot = 2.31181306588444 | epot = -21.34681055463 | etot = -16.4338673360283 -377000 ekin = 2.23867315344604 | erot = 1.65923992926403 | epot = -21.2611852709131 | etot = -17.363272188203 -378000 ekin = 2.38125181613766 | erot = 2.54002618279121 | epot = -21.2390275318703 | etot = -16.3177495329414 -379000 ekin = 2.06952281308678 | erot = 2.11888196225292 | epot = -21.194025606577 | etot = -17.0056208312373 -380000 ekin = 2.59961269461524 | erot = 2.3751200788503 | epot = -21.1885781090515 | etot = -16.2138453355859 -381000 ekin = 2.42019573552876 | erot = 2.20667402504614 | epot = -21.1989968748535 | etot = -16.5721271142786 -382000 ekin = 2.04746564398744 | erot = 3.34439482672214 | epot = -21.2903574441545 | etot = -15.8984969734449 -383000 ekin = 2.65699216362738 | erot = 1.56546061375907 | epot = -21.3572338418187 | etot = -17.1347810644322 -384000 ekin = 2.43156675693926 | erot = 2.00097327452753 | epot = -21.3434156392382 | etot = -16.9108756077714 -385000 ekin = 1.95152101616516 | erot = 3.28345377140313 | epot = -21.4173973675698 | etot = -16.1824225800015 -386000 ekin = 2.10919215730741 | erot = 2.90700736383436 | epot = -21.3963452767614 | etot = -16.3801457556197 -387000 ekin = 2.34448447096483 | erot = 2.50155013212484 | epot = -21.3487258248084 | etot = -16.5026912217187 -388000 ekin = 2.71771591111729 | erot = 2.76803950274557 | epot = -21.3515918112166 | etot = -15.8658363973537 -389000 ekin = 3.06825183100775 | erot = 3.06148533146046 | epot = -21.4826430036711 | etot = -15.3529058412029 -390000 ekin = 2.56997560639923 | erot = 2.05646161654304 | epot = -21.5623801506968 | etot = -16.9359429277546 -391000 ekin = 2.1110114400687 | erot = 2.44612603817531 | epot = -21.6052888202632 | etot = -17.0481513420191 -392000 ekin = 2.58328475785099 | erot = 2.75249392862464 | epot = -21.7336094646938 | etot = -16.3978307782182 -393000 ekin = 2.03977041996533 | erot = 1.67448219405536 | epot = -21.8740604202474 | etot = -18.1598078062267 -394000 ekin = 2.1229408356241 | erot = 2.43410977254954 | epot = -21.9094739378951 | etot = -17.3524233297214 -395000 ekin = 2.48696003315341 | erot = 2.48225062557349 | epot = -21.8799685903484 | etot = -16.9107579316215 -396000 ekin = 3.18909661029635 | erot = 1.62675064803775 | epot = -21.8520000277039 | etot = -17.0361527693698 -397000 ekin = 2.39161566907255 | erot = 2.17052346752458 | epot = -21.7939512244376 | etot = -17.2318120878404 -398000 ekin = 2.29946433742664 | erot = 2.18115834594542 | epot = -21.7285069861955 | etot = -17.2478843028235 -399000 ekin = 2.65449075133045 | erot = 2.80318185995816 | epot = -21.6503181327212 | etot = -16.1926455214325 -400000 ekin = 1.800915604111 | erot = 2.76596769548035 | epot = -21.6418619272709 | etot = -17.0749786276795 -401000 ekin = 2.35073130822393 | erot = 3.1229922205774 | epot = -21.6675586342212 | etot = -16.1938351054199 -402000 ekin = 3.95550191914708 | erot = 3.58855023837881 | epot = -21.5840051268208 | etot = -14.0399529692949 -403000 ekin = 3.59615502379622 | erot = 3.44558176696768 | epot = -21.5781150073617 | etot = -14.5363782165978 -404000 ekin = 2.50360365952137 | erot = 3.01285184176069 | epot = -21.6258060641303 | etot = -16.1093505628483 -405000 ekin = 2.77241560720113 | erot = 3.10596549510783 | epot = -21.704678917892 | etot = -15.826297815583 -406000 ekin = 2.33934923007339 | erot = 2.04671975867729 | epot = -21.819104286388 | etot = -17.4330352976373 -407000 ekin = 2.34277955096234 | erot = 1.89301717692526 | epot = -21.8450916691373 | etot = -17.6092949412497 -408000 ekin = 1.91561948833426 | erot = 2.19551604353608 | epot = -21.8744041835349 | etot = -17.7632686516646 -409000 ekin = 1.98819074442449 | erot = 1.93870533007334 | epot = -21.921903026697 | etot = -17.9950069521992 -410000 ekin = 1.59047218684375 | erot = 1.93259851333214 | epot = -21.969890787558 | etot = -18.4468200873821 -411000 ekin = 1.88305362601542 | erot = 2.47249081001963 | epot = -22.0985208042931 | etot = -17.742976368258 -412000 ekin = 2.51301623282815 | erot = 2.67550740966365 | epot = -22.2078537029906 | etot = -17.0193300604988 -413000 ekin = 2.81407439938451 | erot = 3.21402559358062 | epot = -22.1310120840187 | etot = -16.1029120910536 -414000 ekin = 2.79247479268938 | erot = 2.73425265524033 | epot = -22.0977113063587 | etot = -16.570983858429 -415000 ekin = 2.47916660937974 | erot = 2.2538291443672 | epot = -22.1646477745644 | etot = -17.4316520208175 -416000 ekin = 3.33232223339091 | erot = 1.56386062957 | epot = -22.1461937000839 | etot = -17.250010837123 -417000 ekin = 3.95877285814837 | erot = 2.43917045295873 | epot = -22.0789469190762 | etot = -15.6810036079691 -418000 ekin = 2.77978041892218 | erot = 2.67961998913593 | epot = -21.9429456651673 | etot = -16.4835452571092 -419000 ekin = 2.38024484823696 | erot = 2.99229133054455 | epot = -21.8677152868896 | etot = -16.4951791081081 -420000 ekin = 1.82267088279317 | erot = 1.83608705422836 | epot = -21.870451160571 | etot = -18.2116932235495 -421000 ekin = 1.36907389827089 | erot = 1.7797704929584 | epot = -21.8376802512791 | etot = -18.6888358600498 -422000 ekin = 1.39969148752264 | erot = 2.73407059574398 | epot = -21.8945647860022 | etot = -17.7608027027356 -423000 ekin = 1.56110844196111 | erot = 3.07614792088633 | epot = -21.9244447660987 | etot = -17.2871884032512 -424000 ekin = 2.34533519268149 | erot = 2.03540102416745 | epot = -21.9949085928942 | etot = -17.6141723760453 -425000 ekin = 2.30531135176125 | erot = 2.5628563075006 | epot = -22.0442964382176 | etot = -17.1761287789557 -426000 ekin = 2.08911806268394 | erot = 3.11967927432985 | epot = -21.9925431949266 | etot = -16.7837458579128 -427000 ekin = 2.15676382580403 | erot = 2.43973499877679 | epot = -21.8818966255662 | etot = -17.2853978009854 -428000 ekin = 1.77792840961357 | erot = 1.65301904457092 | epot = -21.8564247195203 | etot = -18.4254772653358 -429000 ekin = 1.64662621362122 | erot = 2.54748287085176 | epot = -21.8025042608483 | etot = -17.6083951763753 -430000 ekin = 2.65482151975961 | erot = 2.86424448473893 | epot = -21.8233021230657 | etot = -16.3042361185671 -431000 ekin = 2.76450737503174 | erot = 1.57600071919883 | epot = -21.8149424651896 | etot = -17.474434370959 -432000 ekin = 2.55825491646852 | erot = 1.62501657592138 | epot = -21.782511983832 | etot = -17.5992404914421 -433000 ekin = 2.01126969712347 | erot = 2.46583763941079 | epot = -21.8897978226513 | etot = -17.4126904861171 -434000 ekin = 3.04567132520196 | erot = 2.70385575793897 | epot = -22.0064907697329 | etot = -16.256963686592 -435000 ekin = 3.55537447133515 | erot = 1.38977885610833 | epot = -22.1475448623269 | etot = -17.2023915348834 -436000 ekin = 2.99751349357597 | erot = 2.00759426062759 | epot = -22.1521181601551 | etot = -17.1470104059515 -437000 ekin = 3.22719371512018 | erot = 1.7857012571478 | epot = -22.1712823460501 | etot = -17.1583873737822 -438000 ekin = 2.89146439117069 | erot = 1.84455801050198 | epot = -22.1285919294041 | etot = -17.3925695277315 -439000 ekin = 2.4298540579217 | erot = 2.69925899679117 | epot = -22.1231674050022 | etot = -16.9940543502893 -440000 ekin = 2.25394774327534 | erot = 3.00779841178563 | epot = -22.1604171321029 | etot = -16.898670977042 -441000 ekin = 2.90484412816846 | erot = 2.87153501323763 | epot = -22.3059803982533 | etot = -16.5296012568472 -442000 ekin = 2.09031226167651 | erot = 1.73424350391287 | epot = -22.3736918061838 | etot = -18.5491360405944 -443000 ekin = 1.88581876804904 | erot = 2.00333583047903 | epot = -22.4253701402759 | etot = -18.5362155417478 -444000 ekin = 2.07231382818727 | erot = 2.15535274194041 | epot = -22.4449863446106 | etot = -18.2173197744829 -445000 ekin = 2.10994187816787 | erot = 2.27934343705762 | epot = -22.5011906844133 | etot = -18.1119053691878 -446000 ekin = 2.42762161250135 | erot = 2.85815816680871 | epot = -22.5326129135227 | etot = -17.2468331342127 -447000 ekin = 2.18601253591574 | erot = 2.99495256710103 | epot = -22.609768680069 | etot = -17.4288035770523 -448000 ekin = 2.33389346287827 | erot = 2.95385139208094 | epot = -22.6330370332815 | etot = -17.3452921783223 -449000 ekin = 2.34940633774375 | erot = 2.93264896913184 | epot = -22.632810074435 | etot = -17.3507547675594 -450000 ekin = 1.83766660151173 | erot = 1.69672449717286 | epot = -22.577435118717 | etot = -19.0430440200324 -451000 ekin = 1.97812884417234 | erot = 1.92764750146577 | epot = -22.5879223350906 | etot = -18.6821459894525 -452000 ekin = 1.36037939407656 | erot = 1.88463175839662 | epot = -22.5510765694841 | etot = -19.3060654170109 -453000 ekin = 2.08089341129519 | erot = 2.55704963640352 | epot = -22.3855210194734 | etot = -17.7475779717747 -454000 ekin = 1.45876213242879 | erot = 2.19347003321548 | epot = -22.2423919107779 | etot = -18.5901597451336 -455000 ekin = 1.65659111626477 | erot = 2.72276980532162 | epot = -22.0960205273875 | etot = -17.7166596058011 -456000 ekin = 2.34656659310869 | erot = 1.9986137505101 | epot = -22.0123490462426 | etot = -17.6671687026238 -457000 ekin = 2.02190390619673 | erot = 2.36256741542514 | epot = -21.9726531641996 | etot = -17.5881818425778 -458000 ekin = 1.74372434205051 | erot = 2.25707911101456 | epot = -21.9983442618521 | etot = -17.997540808787 -459000 ekin = 2.51332199676583 | erot = 2.31717011174282 | epot = -22.0772270520059 | etot = -17.2467349434973 -460000 ekin = 2.2034722783839 | erot = 2.00072694492175 | epot = -22.0506516825516 | etot = -17.846452459246 -461000 ekin = 2.27677089259524 | erot = 2.92031766851146 | epot = -21.9925449331789 | etot = -16.7954563720722 -462000 ekin = 2.6185812356449 | erot = 1.79402090094851 | epot = -22.0230696595749 | etot = -17.6104675229815 -463000 ekin = 2.59249670562421 | erot = 3.30012727643189 | epot = -21.9571457322291 | etot = -16.064521750173 -464000 ekin = 2.18969352756478 | erot = 2.37346543558646 | epot = -21.8914572439365 | etot = -17.3282982807853 -465000 ekin = 2.55190117035706 | erot = 3.6026040005498 | epot = -21.8125549491858 | etot = -15.6580497782789 -466000 ekin = 1.97953104510473 | erot = 2.88392288093832 | epot = -21.8154103020505 | etot = -16.9519563760074 -467000 ekin = 1.6387129632993 | erot = 2.61654440984279 | epot = -21.8983950281207 | etot = -17.6431376549786 -468000 ekin = 1.11239222475223 | erot = 3.3637902926771 | epot = -21.9583777645662 | etot = -17.4821952471369 -469000 ekin = 1.72382156581199 | erot = 2.77626770299012 | epot = -21.9878353154891 | etot = -17.487746046687 -470000 ekin = 1.8714597310977 | erot = 2.88190687781237 | epot = -22.0448924208381 | etot = -17.291525811928 -471000 ekin = 2.74011620634609 | erot = 2.33779564753422 | epot = -22.0936369539761 | etot = -17.0157251000958 -472000 ekin = 2.69470680116255 | erot = 2.14464177510474 | epot = -22.1704276099478 | etot = -17.3310790336805 -473000 ekin = 2.28376217878235 | erot = 2.08795770091158 | epot = -22.1987443333452 | etot = -17.8270244536512 -474000 ekin = 2.23739040654538 | erot = 2.17996427776831 | epot = -22.2112749348846 | etot = -17.7939202505709 -475000 ekin = 2.52078584565558 | erot = 2.10760071935559 | epot = -22.2127629874904 | etot = -17.5843764224793 -476000 ekin = 2.21655354698253 | erot = 1.76978147174391 | epot = -22.1154823176964 | etot = -18.12914729897 -477000 ekin = 2.49538102143271 | erot = 2.39024231683251 | epot = -22.0840161006559 | etot = -17.1983927623907 -478000 ekin = 1.92447460017176 | erot = 2.05040869255766 | epot = -22.1087248977672 | etot = -18.1338416050377 -479000 ekin = 2.27800579519478 | erot = 3.09893174949893 | epot = -22.0960233927896 | etot = -16.7190858480959 -480000 ekin = 1.67638938499079 | erot = 2.75323401987762 | epot = -22.1000079080955 | etot = -17.6703845032271 -481000 ekin = 1.81944275684786 | erot = 2.94268362469552 | epot = -22.0498104845242 | etot = -17.2876841029808 -482000 ekin = 2.15574027829653 | erot = 2.0725438892243 | epot = -22.0125690425762 | etot = -17.7842848750553 -483000 ekin = 1.49597116676185 | erot = 1.99734627551918 | epot = -21.9777307226356 | etot = -18.4844132803546 -484000 ekin = 1.8484819245566 | erot = 2.33821326463838 | epot = -22.0508318876624 | etot = -17.8641366984674 -485000 ekin = 1.63994328771 | erot = 2.49471615719057 | epot = -22.0805056177628 | etot = -17.9458461728623 -486000 ekin = 1.86887650973413 | erot = 2.15138584351099 | epot = -22.0672609747503 | etot = -18.0469986215052 -487000 ekin = 2.36601044267131 | erot = 3.10120454318392 | epot = -22.1385621074087 | etot = -16.6713471215534 -488000 ekin = 2.28411726066255 | erot = 3.25699291514219 | epot = -22.0925409557863 | etot = -16.5514307799816 -489000 ekin = 2.42268424794998 | erot = 2.54559333727918 | epot = -22.0028229962135 | etot = -17.0345454109843 -490000 ekin = 2.15695777466101 | erot = 3.5405265432528 | epot = -21.8987471713935 | etot = -16.2012628534796 -491000 ekin = 2.21843295915446 | erot = 2.48759605623037 | epot = -21.7849993207689 | etot = -17.0789703053841 -492000 ekin = 2.42523259661774 | erot = 2.76338555140187 | epot = -21.7546976439717 | etot = -16.5660794959521 -493000 ekin = 1.78787643025978 | erot = 2.27566821203155 | epot = -21.8142896153583 | etot = -17.7507449730669 -494000 ekin = 2.08684832766799 | erot = 3.00001715875608 | epot = -21.8562812315893 | etot = -16.7694157451653 -495000 ekin = 2.13573322112433 | erot = 2.49326389133065 | epot = -21.9467671324553 | etot = -17.3177700200003 -496000 ekin = 2.04467628391159 | erot = 2.6162845895522 | epot = -21.9884683374098 | etot = -17.327507463946 -497000 ekin = 2.51418899377052 | erot = 1.70810866993563 | epot = -21.9276447401884 | etot = -17.7053470764823 -498000 ekin = 2.15585318171628 | erot = 1.79538414401099 | epot = -21.8645241799653 | etot = -17.913286854238 -499000 ekin = 3.01701290816369 | erot = 1.75748039597449 | epot = -21.8892368424083 | etot = -17.1147435382701 -500000 ekin = 2.75239118232731 | erot = 2.51840040194924 | epot = -21.8902992314675 | etot = -16.6195076471909 -501000 ekin = 2.67894034986861 | erot = 3.01164832527811 | epot = -21.7709154896334 | etot = -16.0803268144867 -502000 ekin = 1.89316543275823 | erot = 3.89794024057184 | epot = -21.6531840495811 | etot = -15.862078376251 -503000 ekin = 1.79271217239337 | erot = 2.94195973795538 | epot = -21.4642442224488 | etot = -16.7295723121 -504000 ekin = 1.6771855422807 | erot = 3.03652723399754 | epot = -21.3696883509301 | etot = -16.6559755746518 -505000 ekin = 2.71833858397102 | erot = 2.13541162175611 | epot = -21.3703611232649 | etot = -16.5166109175378 -506000 ekin = 2.26393943112 | erot = 2.03997434566047 | epot = -21.3701060081751 | etot = -17.0661922313946 -507000 ekin = 3.13593335317162 | erot = 2.43613799195774 | epot = -21.4594670249601 | etot = -15.8873956798307 -508000 ekin = 2.50977944502594 | erot = 2.54754436309782 | epot = -21.6189261516985 | etot = -16.5616023435747 -509000 ekin = 2.11418702736586 | erot = 2.82587497425585 | epot = -21.7696504732974 | etot = -16.8295884716757 -510000 ekin = 2.14979144320026 | erot = 1.42702348952371 | epot = -21.8372692973069 | etot = -18.2604543645829 -511000 ekin = 2.52507885024672 | erot = 2.75237930607404 | epot = -21.9038675932379 | etot = -16.6264094369171 -512000 ekin = 2.30816398580866 | erot = 2.74440410404474 | epot = -21.9049605915963 | etot = -16.8523925017429 -513000 ekin = 2.48929206456089 | erot = 2.14820879347373 | epot = -21.8691788664222 | etot = -17.2316780083876 -514000 ekin = 2.80085464362196 | erot = 2.54503473578109 | epot = -22.0226541110001 | etot = -16.6767647315971 -515000 ekin = 2.54939499554986 | erot = 1.81858738302198 | epot = -22.114703586072 | etot = -17.7467212075001 -516000 ekin = 2.82421125785514 | erot = 2.22239822832894 | epot = -22.1991501131327 | etot = -17.1525406269486 -517000 ekin = 2.04384407501393 | erot = 2.05286256711726 | epot = -22.223660515307 | etot = -18.1269538731759 -518000 ekin = 2.19097977809323 | erot = 2.75238147912107 | epot = -22.2176385899556 | etot = -17.2742773327413 -519000 ekin = 2.24039331018443 | erot = 2.22517425402749 | epot = -22.3147614078005 | etot = -17.8491938435885 -520000 ekin = 1.89059175672112 | erot = 2.20041051856069 | epot = -22.3991443907322 | etot = -18.3081421154504 -521000 ekin = 2.59226785962331 | erot = 1.8787186288573 | epot = -22.558855864031 | etot = -18.0878693755504 -522000 ekin = 3.47620702193973 | erot = 1.77094959979111 | epot = -22.6529022954593 | etot = -17.4057456737285 -523000 ekin = 2.86949346153076 | erot = 2.45905269319727 | epot = -22.6983641285372 | etot = -17.3698179738092 -524000 ekin = 2.43223643727573 | erot = 2.35710345393931 | epot = -22.6347622840061 | etot = -17.8454223927911 -525000 ekin = 1.58633727726026 | erot = 2.6771932767998 | epot = -22.5981477078776 | etot = -18.3346171538175 -526000 ekin = 1.68956829163897 | erot = 1.56381447059437 | epot = -22.5455188933618 | etot = -19.2921361311285 -527000 ekin = 2.25335664013444 | erot = 1.91897798598234 | epot = -22.438285347212 | etot = -18.2659507210952 -528000 ekin = 2.66417770052522 | erot = 2.81695730712898 | epot = -22.4214392419194 | etot = -16.9403042342652 -529000 ekin = 2.68388271083098 | erot = 3.01210908187864 | epot = -22.4261041670352 | etot = -16.7301123743256 -530000 ekin = 2.58091136149224 | erot = 2.12874327798812 | epot = -22.2849687345625 | etot = -17.5753140950821 -531000 ekin = 2.96791741143998 | erot = 2.35396590663619 | epot = -22.1825114215506 | etot = -16.8606281034744 -532000 ekin = 2.56040610657616 | erot = 2.30869688210952 | epot = -22.1966779750303 | etot = -17.3275749863446 -533000 ekin = 2.47127792277395 | erot = 2.96337405559089 | epot = -22.2034167916881 | etot = -16.7687648133233 -534000 ekin = 2.10109006711395 | erot = 2.06160691104878 | epot = -22.2334884486858 | etot = -18.0707914705231 -535000 ekin = 3.76901503112188 | erot = 2.6463468036932 | epot = -22.2244389422279 | etot = -15.8090771074128 -536000 ekin = 2.76978499488531 | erot = 1.95801212091677 | epot = -22.1621143741426 | etot = -17.4343172583406 -537000 ekin = 2.84173849615256 | erot = 2.62706904536459 | epot = -22.0817906214053 | etot = -16.6129830798882 -538000 ekin = 2.68461551572766 | erot = 2.11438749606247 | epot = -22.0095123737601 | etot = -17.21050936197 -539000 ekin = 2.71441959372568 | erot = 2.40909357772199 | epot = -22.1283805595379 | etot = -17.0048673880902 -540000 ekin = 2.43554469514557 | erot = 2.49366634622684 | epot = -22.2721085965986 | etot = -17.3428975552261 -541000 ekin = 3.40478335851234 | erot = 2.79351301825373 | epot = -22.3438323146239 | etot = -16.1455359378578 -542000 ekin = 2.43305477389315 | erot = 2.89262463310066 | epot = -22.3528484076625 | etot = -17.0271690006687 -543000 ekin = 2.33384318243661 | erot = 2.87812814268662 | epot = -22.3517509549719 | etot = -17.1397796298486 -544000 ekin = 2.20405054763978 | erot = 1.45974147181057 | epot = -22.3200355678433 | etot = -18.656243548393 -545000 ekin = 2.44190363474283 | erot = 2.14425712944393 | epot = -22.3037584455754 | etot = -17.7175976813886 -546000 ekin = 1.97349236865067 | erot = 2.22849747468303 | epot = -22.2610854898172 | etot = -18.0590956464835 -547000 ekin = 2.54002964967593 | erot = 1.88937782138629 | epot = -22.2132220899932 | etot = -17.783814618931 -548000 ekin = 1.68504847096503 | erot = 1.6504983981354 | epot = -22.1188297609737 | etot = -18.7832828918733 -549000 ekin = 1.8698904826159 | erot = 2.68379586673466 | epot = -22.3014742550974 | etot = -17.7477879057469 -550000 ekin = 1.81227590400771 | erot = 1.59168663528122 | epot = -22.4534648123994 | etot = -19.0495022731104 -551000 ekin = 2.18778306678591 | erot = 2.27083852152173 | epot = -22.5132391469467 | etot = -18.0546175586391 -552000 ekin = 2.0524867508114 | erot = 2.50762393323791 | epot = -22.5694064381206 | etot = -18.0092957540712 -553000 ekin = 2.95456875477793 | erot = 2.14561779139538 | epot = -22.6592693777082 | etot = -17.5590828315349 -554000 ekin = 2.82905646744367 | erot = 1.93590782360605 | epot = -22.8091725556775 | etot = -18.0442082646278 -555000 ekin = 2.39158205650881 | erot = 2.26907880603287 | epot = -22.8586370928634 | etot = -18.1979762303218 -556000 ekin = 2.29372548723881 | erot = 2.58079244425137 | epot = -22.9103117359013 | etot = -18.0357938044111 -557000 ekin = 2.83941059371958 | erot = 1.46630907998336 | epot = -22.9934681858733 | etot = -18.6877485121704 -558000 ekin = 2.74456573812684 | erot = 2.01705053511004 | epot = -23.0249165386548 | etot = -18.263300265418 -559000 ekin = 3.32001639007045 | erot = 2.33065957496589 | epot = -23.0702860514081 | etot = -17.4196100863717 -560000 ekin = 3.06548847901962 | erot = 2.32403726670831 | epot = -23.0562195399467 | etot = -17.6666937942187 -561000 ekin = 2.86648091511123 | erot = 2.08496682915783 | epot = -22.9734465855435 | etot = -18.0219988412745 -562000 ekin = 3.27266742525966 | erot = 2.5148755055394 | epot = -22.8741285027176 | etot = -17.0865855719185 -563000 ekin = 2.66038974520286 | erot = 1.64110018949295 | epot = -22.8474543828021 | etot = -18.5459644481063 -564000 ekin = 2.80468636683463 | erot = 2.52664241131886 | epot = -22.8018617517494 | etot = -17.4705329735959 -565000 ekin = 2.64616861412633 | erot = 2.04566022999095 | epot = -22.7506810734506 | etot = -18.0588522293334 -566000 ekin = 2.31863979249599 | erot = 2.17936618392302 | epot = -22.753817383677 | etot = -18.255811407258 -567000 ekin = 1.93243531435252 | erot = 2.8201914219892 | epot = -22.7091974553673 | etot = -17.9565707190256 -568000 ekin = 2.20145087944368 | erot = 2.21735208955968 | epot = -22.7289431019428 | etot = -18.3101401329394 -569000 ekin = 2.47195478734592 | erot = 2.65975337798175 | epot = -22.6704691958401 | etot = -17.5387610305124 -570000 ekin = 2.43702231300343 | erot = 1.88676767986218 | epot = -22.6634145438588 | etot = -18.3396245509932 -571000 ekin = 2.89036429172333 | erot = 2.95615513706037 | epot = -22.6566784173206 | etot = -16.8101589885369 -572000 ekin = 1.93616423502164 | erot = 3.77280866215609 | epot = -22.6161904936583 | etot = -16.9072175964806 -573000 ekin = 2.40449703945409 | erot = 2.31309419006005 | epot = -22.592333216152 | etot = -17.8747419866379 -574000 ekin = 1.69163306749095 | erot = 2.32935369197413 | epot = -22.6465956635078 | etot = -18.6256089040427 -575000 ekin = 1.84139068594293 | erot = 1.86447317795677 | epot = -22.7237799324543 | etot = -19.0179160685546 -576000 ekin = 3.22131124370819 | erot = 2.95816228283025 | epot = -22.6715615977237 | etot = -16.4920880711853 -577000 ekin = 2.86651980816624 | erot = 2.88003300402859 | epot = -22.6040632784101 | etot = -16.8575104662152 -578000 ekin = 2.38036632496091 | erot = 2.76701770395377 | epot = -22.3994142750986 | etot = -17.2520302461839 -579000 ekin = 2.40092915325622 | erot = 1.9941192489901 | epot = -22.2419585433873 | etot = -17.846910141141 -580000 ekin = 2.62012657675686 | erot = 1.97778552777916 | epot = -22.0959374453144 | etot = -17.4980253407783 -581000 ekin = 2.04604501901225 | erot = 3.02029740769394 | epot = -21.969203567202 | etot = -16.9028611404958 -582000 ekin = 2.17538959702762 | erot = 3.10891247706868 | epot = -21.8431272977465 | etot = -16.5588252236502 -583000 ekin = 2.1277994052252 | erot = 2.71423548986473 | epot = -21.8070587526078 | etot = -16.9650238575179 -584000 ekin = 2.99172160795183 | erot = 2.61848378659144 | epot = -21.79936869936 | etot = -16.1891633048167 -585000 ekin = 2.41567815843635 | erot = 2.49971455295247 | epot = -21.7559519530568 | etot = -16.840559241668 -586000 ekin = 3.5784340003808 | erot = 1.99027982649426 | epot = -21.7770294519877 | etot = -16.2083156251126 -587000 ekin = 3.53538631245293 | erot = 1.96660128703793 | epot = -21.754918588089 | etot = -16.2529309885981 -588000 ekin = 2.80370665446806 | erot = 1.58935491344442 | epot = -21.7265541827784 | etot = -17.3334926148659 -589000 ekin = 2.31177964330664 | erot = 2.19607744710081 | epot = -21.7746975125222 | etot = -17.2668404221147 -590000 ekin = 2.5714466329988 | erot = 1.71442868035276 | epot = -21.7777302960456 | etot = -17.491854982694 -591000 ekin = 1.90022629380971 | erot = 3.80795912333789 | epot = -21.8668982157977 | etot = -16.1587127986501 -592000 ekin = 2.10279882895952 | erot = 2.85583901759444 | epot = -21.9108757117546 | etot = -16.9522378652007 -593000 ekin = 1.66307844177278 | erot = 2.45945798543616 | epot = -21.9477120734663 | etot = -17.8251756462574 -594000 ekin = 1.85147702439684 | erot = 2.37601059124117 | epot = -22.0726279896574 | etot = -17.8451403740194 -595000 ekin = 1.62809593102861 | erot = 2.1376140673132 | epot = -22.2629667751952 | etot = -18.4972567768534 -596000 ekin = 1.85098827042652 | erot = 1.55279926082377 | epot = -22.3598865590345 | etot = -18.9560990277842 -597000 ekin = 2.21895198056269 | erot = 2.31253848766694 | epot = -22.4199578312546 | etot = -17.8884673630249 -598000 ekin = 1.87160565114506 | erot = 3.0277507704973 | epot = -22.4911453410919 | etot = -17.5917889194496 -599000 ekin = 2.84158802287444 | erot = 2.1920185610572 | epot = -22.5193833279106 | etot = -17.4857767439789 -600000 ekin = 2.63818657196383 | erot = 2.13278760870029 | epot = -22.4344536662284 | etot = -17.6634794855643 -601000 ekin = 2.95993107274926 | erot = 3.20885509956692 | epot = -22.3072696496284 | etot = -16.1384834773122 -602000 ekin = 2.94299398558342 | erot = 2.68013224377472 | epot = -22.2188520758353 | etot = -16.5957258464772 -603000 ekin = 2.59660369946999 | erot = 2.70989416331592 | epot = -22.1609733489959 | etot = -16.85447548621 -604000 ekin = 1.79240933557438 | erot = 2.1163931677418 | epot = -22.191830604205 | etot = -18.2830281008888 -605000 ekin = 1.83069958852698 | erot = 2.27958589555072 | epot = -22.223893707794 | etot = -18.1136082237163 -606000 ekin = 2.33186424204054 | erot = 2.19630763210353 | epot = -22.1677269529972 | etot = -17.6395550788531 -607000 ekin = 2.71182931402141 | erot = 2.97109858003922 | epot = -22.1521845558164 | etot = -16.4692566617558 -608000 ekin = 2.41997749037237 | erot = 2.41608876723459 | epot = -22.1090787304487 | etot = -17.2730124728417 -609000 ekin = 1.88827272588068 | erot = 2.63293672960969 | epot = -21.998471393382 | etot = -17.4772619378917 -610000 ekin = 3.00352553825308 | erot = 2.17715232945663 | epot = -21.921125149498 | etot = -16.7404472817883 -611000 ekin = 2.45802371980552 | erot = 2.74758446810105 | epot = -21.9175611897393 | etot = -16.7119530018327 -612000 ekin = 2.52205492882348 | erot = 2.13390999483971 | epot = -21.952922358004 | etot = -17.2969574343408 -613000 ekin = 3.0366403087624 | erot = 2.11840093313595 | epot = -22.0002186117394 | etot = -16.8451773698411 -614000 ekin = 2.28547905389303 | erot = 3.00549626246339 | epot = -22.0746950370029 | etot = -16.7837197206465 -615000 ekin = 1.68496895203681 | erot = 2.6238974067784 | epot = -22.0312524650619 | etot = -17.7223861062467 -616000 ekin = 1.93869933628639 | erot = 2.84243572789263 | epot = -22.0598022720905 | etot = -17.2786672079115 -617000 ekin = 2.16688154116712 | erot = 2.51660309412659 | epot = -22.0580971291184 | etot = -17.3746124938247 -618000 ekin = 3.09921969264655 | erot = 2.74549226450141 | epot = -22.0155339259629 | etot = -16.1708219688149 -619000 ekin = 3.43177694169698 | erot = 2.12198343059748 | epot = -21.986089674814 | etot = -16.4323293025195 -620000 ekin = 4.28772375093259 | erot = 2.22706390062221 | epot = -21.9590250230057 | etot = -15.4442373714509 -621000 ekin = 3.0817377949309 | erot = 2.5715302712226 | epot = -21.9009729000649 | etot = -16.2477048339114 -622000 ekin = 2.73165859080048 | erot = 2.62811367428178 | epot = -21.8396158670716 | etot = -16.4798436019893 -623000 ekin = 2.85443766883212 | erot = 2.89934248449797 | epot = -21.6835451183467 | etot = -15.9297649650166 -624000 ekin = 2.03264036935949 | erot = 3.41736745424461 | epot = -21.5163207310271 | etot = -16.066312907423 -625000 ekin = 2.93853121772536 | erot = 2.67773115439888 | epot = -21.3838363274969 | etot = -15.7675739553726 -626000 ekin = 2.62777924734508 | erot = 2.18162282576041 | epot = -21.3730333234904 | etot = -16.5636312503849 -627000 ekin = 2.31990667522995 | erot = 2.39482401666938 | epot = -21.4354987061654 | etot = -16.7207680142661 -628000 ekin = 2.22203953187498 | erot = 2.76412791129531 | epot = -21.5952632825804 | etot = -16.6090958394101 -629000 ekin = 2.21775645889425 | erot = 1.98065436363089 | epot = -21.7562971185524 | etot = -17.5578862960273 -630000 ekin = 2.47359866092386 | erot = 2.13925319586019 | epot = -21.7758191809316 | etot = -17.1629673241476 -631000 ekin = 2.05051856532003 | erot = 1.79291928253663 | epot = -21.7853759251476 | etot = -17.9419380772909 -632000 ekin = 1.64850143430096 | erot = 3.28395498862858 | epot = -21.8317536045469 | etot = -16.8992971816173 -633000 ekin = 2.35005689695082 | erot = 2.3390788040001 | epot = -21.9523909247055 | etot = -17.2632552237546 -634000 ekin = 2.35693540441333 | erot = 2.46483135146881 | epot = -22.0188246134313 | etot = -17.1970578575491 -635000 ekin = 1.98898390231468 | erot = 3.3707265296603 | epot = -22.0674825033302 | etot = -16.7077720713553 -636000 ekin = 2.50980012291046 | erot = 2.48689559173921 | epot = -22.0698487955046 | etot = -17.073153080855 -637000 ekin = 2.77498878878958 | erot = 2.80713853773056 | epot = -21.9907400151913 | etot = -16.4086126886711 -638000 ekin = 2.43806293105884 | erot = 2.79004417520011 | epot = -22.0575076323657 | etot = -16.8294005261068 -639000 ekin = 1.88083948877533 | erot = 2.09676394462429 | epot = -22.048310763883 | etot = -18.0707073304834 -640000 ekin = 2.08188388766029 | erot = 3.35897660071801 | epot = -21.9960574959824 | etot = -16.5551970076041 -641000 ekin = 2.09182696029806 | erot = 2.24096762672331 | epot = -22.0953763111483 | etot = -17.7625817241269 -642000 ekin = 2.29622874060124 | erot = 2.6949832870016 | epot = -22.151409557085 | etot = -17.1601975294822 -643000 ekin = 2.73569648066616 | erot = 2.20073493313118 | epot = -22.0949564882595 | etot = -17.1585250744621 -644000 ekin = 2.8774767032651 | erot = 3.41751476954418 | epot = -22.1298161092011 | etot = -15.8348246363918 -645000 ekin = 2.4290925856966 | erot = 2.10618409243776 | epot = -22.0667334414767 | etot = -17.5314567633423 -646000 ekin = 2.69467422761642 | erot = 1.80008229703286 | epot = -21.8974158987303 | etot = -17.402659374081 -647000 ekin = 2.50876501618975 | erot = 2.02696268329777 | epot = -21.7872910341098 | etot = -17.2515633346223 -648000 ekin = 2.30426131969587 | erot = 1.6458501532655 | epot = -21.8921456933826 | etot = -17.9420342204213 -649000 ekin = 2.59259139367702 | erot = 1.74799625276216 | epot = -22.0338111702567 | etot = -17.6932235238175 -650000 ekin = 2.70418822875775 | erot = 2.18747773876972 | epot = -22.1379356884042 | etot = -17.2462697208768 -651000 ekin = 2.13264787236381 | erot = 3.27713220231 | epot = -22.2140357553834 | etot = -16.8042556807096 -652000 ekin = 2.3441787788075 | erot = 2.31061064519192 | epot = -22.2512463247192 | etot = -17.5964569007197 -653000 ekin = 2.0783895005922 | erot = 2.15412898001082 | epot = -22.2780657745064 | etot = -18.0455472939034 -654000 ekin = 2.30897991961162 | erot = 1.85124051868153 | epot = -22.3104418685982 | etot = -18.150221430305 -655000 ekin = 2.12106061544383 | erot = 1.78500189152084 | epot = -22.2852988882964 | etot = -18.3792363813318 -656000 ekin = 2.4735695444961 | erot = 2.3420013127236 | epot = -22.2660003992253 | etot = -17.4504295420056 -657000 ekin = 2.49468968638545 | erot = 2.86409627910532 | epot = -22.2925124601966 | etot = -16.9337264947059 -658000 ekin = 2.49656210866705 | erot = 2.87057420343463 | epot = -22.2700281258802 | etot = -16.9028918137786 -659000 ekin = 3.4002230119036 | erot = 2.78079262685479 | epot = -22.1392014132181 | etot = -15.9581857744598 -660000 ekin = 2.71468183951524 | erot = 2.00084154317764 | epot = -22.0088760160501 | etot = -17.2933526333572 -661000 ekin = 2.22564214621743 | erot = 2.53966313147986 | epot = -21.8739603827229 | etot = -17.1086551050257 -662000 ekin = 2.02829181839209 | erot = 2.53975139691216 | epot = -21.8209028819505 | etot = -17.2528596666463 -663000 ekin = 2.23525378228906 | erot = 2.31366678132105 | epot = -21.7767349910666 | etot = -17.2278144274565 -664000 ekin = 2.34360790891041 | erot = 1.86434304281456 | epot = -21.6752271215873 | etot = -17.4672761698624 -665000 ekin = 2.6131782266455 | erot = 2.2942197715156 | epot = -21.6042046109401 | etot = -16.696806612779 -666000 ekin = 1.62393527088755 | erot = 2.31134155882296 | epot = -21.5004119311113 | etot = -17.5651351014008 -667000 ekin = 1.67276637494452 | erot = 2.8234547562148 | epot = -21.4092484100762 | etot = -16.9130272789169 -668000 ekin = 2.49690543622955 | erot = 3.27659348221062 | epot = -21.2758920536656 | etot = -15.5023931352255 -669000 ekin = 1.62806554113038 | erot = 2.65931770046313 | epot = -21.2000245357891 | etot = -16.9126412941955 -670000 ekin = 2.23977376187302 | erot = 2.6095972175341 | epot = -21.1325862484852 | etot = -16.2832152690781 -671000 ekin = 2.28188801168356 | erot = 2.16305917244004 | epot = -21.0881674881013 | etot = -16.6432203039777 -672000 ekin = 1.98109020838353 | erot = 1.6545553737063 | epot = -21.0064866117102 | etot = -17.3708410296204 -673000 ekin = 1.94244230895293 | erot = 2.07625571526623 | epot = -20.9829498347911 | etot = -16.964251810572 -674000 ekin = 2.13730353222164 | erot = 2.16737069376511 | epot = -21.0214974795938 | etot = -16.716823253607 -675000 ekin = 2.0738264400087 | erot = 2.48606196350775 | epot = -21.0590224845651 | etot = -16.4991340810486 -676000 ekin = 2.45892166960283 | erot = 2.79866228976047 | epot = -21.091647649138 | etot = -15.8340636897747 -677000 ekin = 2.20625727487218 | erot = 2.63108770232727 | epot = -21.1176354388896 | etot = -16.2802904616901 -678000 ekin = 2.15213590782194 | erot = 2.79904006113487 | epot = -21.0140734470396 | etot = -16.0628974780828 -679000 ekin = 2.18343356480304 | erot = 2.18490396550911 | epot = -20.9181838430532 | etot = -16.549846312741 -680000 ekin = 2.10821203830737 | erot = 2.68505727915271 | epot = -20.9461225832237 | etot = -16.1528532657636 -681000 ekin = 2.19096880009954 | erot = 1.84583521880628 | epot = -21.049747832921 | etot = -17.0129438140152 -682000 ekin = 3.05384884549289 | erot = 2.40296404987894 | epot = -21.0557501140049 | etot = -15.5989372186331 -683000 ekin = 2.86746710745163 | erot = 2.09710011404619 | epot = -21.0757665962385 | etot = -16.1111993747407 -684000 ekin = 1.99137037242252 | erot = 2.9957171615915 | epot = -21.113690638146 | etot = -16.126603104132 -685000 ekin = 1.5741328626647 | erot = 2.03056483786644 | epot = -21.1261282639781 | etot = -17.5214305634469 -686000 ekin = 2.37471898314499 | erot = 2.54238213977475 | epot = -21.1270745420036 | etot = -16.2099734190839 -687000 ekin = 1.90729058124661 | erot = 2.87801884923459 | epot = -21.1165743035804 | etot = -16.3312648730992 -688000 ekin = 2.62048299874671 | erot = 2.25003931366163 | epot = -21.0986223733053 | etot = -16.228100060897 -689000 ekin = 2.68144410783034 | erot = 2.65050786826928 | epot = -21.2128570731653 | etot = -15.8809050970657 -690000 ekin = 2.57020917801037 | erot = 2.48157927371166 | epot = -21.3777687615583 | etot = -16.3259803098363 -691000 ekin = 2.19847693909567 | erot = 2.52609380111695 | epot = -21.4850476477408 | etot = -16.7604769075282 -692000 ekin = 2.34330258125554 | erot = 3.25002655945746 | epot = -21.4986374232228 | etot = -15.9053082825098 -693000 ekin = 2.29392126490893 | erot = 3.00689891870992 | epot = -21.5194889284254 | etot = -16.2186687448065 -694000 ekin = 2.65812969336117 | erot = 2.58735606777937 | epot = -21.7321648892945 | etot = -16.4866791281539 -695000 ekin = 2.4316162204446 | erot = 1.19791474341253 | epot = -21.9242547697609 | etot = -18.2947238059037 -696000 ekin = 1.81693709897036 | erot = 1.47023542418153 | epot = -21.8934819532786 | etot = -18.6063094301267 -697000 ekin = 2.39493869239631 | erot = 2.11395689699314 | epot = -21.9285847092192 | etot = -17.4196891198297 -698000 ekin = 2.35958906151814 | erot = 1.92876427029827 | epot = -22.0159711481531 | etot = -17.7276178163367 -699000 ekin = 2.48368136666702 | erot = 2.56159396613047 | epot = -22.0103910104183 | etot = -16.9651156776208 -700000 ekin = 2.1450801922911 | erot = 2.29917908979014 | epot = -21.922109394496 | etot = -17.4778501124148 -701000 ekin = 2.1745638313557 | erot = 2.20111278634863 | epot = -21.8156387421437 | etot = -17.4399621244394 -702000 ekin = 1.56478756336654 | erot = 2.01119937519508 | epot = -21.7778672436792 | etot = -18.2018803051176 -703000 ekin = 2.06132778292139 | erot = 2.17314611223241 | epot = -21.7930054701539 | etot = -17.5585315750001 -704000 ekin = 2.81983493340982 | erot = 1.94305987211435 | epot = -21.8114535861206 | etot = -17.0485587805964 -705000 ekin = 2.82055978010065 | erot = 2.18251946343581 | epot = -21.766252843205 | etot = -16.7631735996685 -706000 ekin = 1.98110988281637 | erot = 2.32695112193058 | epot = -21.78040819482 | etot = -17.4723471900731 -707000 ekin = 1.91160206821925 | erot = 2.05897248195774 | epot = -21.833053672666 | etot = -17.862479122489 -708000 ekin = 2.49797260430835 | erot = 2.18514664814829 | epot = -21.8432772467022 | etot = -17.1601579942456 -709000 ekin = 2.86869907833219 | erot = 2.56795355151628 | epot = -21.8927607091555 | etot = -16.456108079307 -710000 ekin = 2.19600917748735 | erot = 2.26596247481176 | epot = -21.8688086872618 | etot = -17.4068370349627 -711000 ekin = 2.34017154985874 | erot = 1.44618662245857 | epot = -21.9060063017349 | etot = -18.1196481294176 -712000 ekin = 2.571626566146 | erot = 2.28694259963336 | epot = -22.0214699153591 | etot = -17.1629007495797 -713000 ekin = 1.98520968446438 | erot = 2.33486849904896 | epot = -22.1149578958933 | etot = -17.7948797123799 -714000 ekin = 2.59962138344223 | erot = 2.10724318046303 | epot = -22.1786558411969 | etot = -17.4717912772916 -715000 ekin = 2.4195410390622 | erot = 3.74883662346075 | epot = -22.1475942949397 | etot = -15.9792166324167 -716000 ekin = 2.84279313896907 | erot = 2.86022834631577 | epot = -22.0565535101519 | etot = -16.3535320248671 -717000 ekin = 3.44629592734909 | erot = 3.22665808286196 | epot = -21.9609198250287 | etot = -15.2879658148176 -718000 ekin = 3.10244803746594 | erot = 3.95040927490044 | epot = -21.8593081248118 | etot = -14.8064508124454 -719000 ekin = 2.37775253377205 | erot = 2.95612290233182 | epot = -21.8454876437379 | etot = -16.511612207634 -720000 ekin = 2.21232762300396 | erot = 3.13525351489473 | epot = -21.8232438423991 | etot = -16.4756627045004 -721000 ekin = 1.69400550933915 | erot = 2.23173955948197 | epot = -21.7326772937498 | etot = -17.8069322249286 -722000 ekin = 1.90042078179571 | erot = 2.80431814967802 | epot = -21.7394766818033 | etot = -17.0347377503296 -723000 ekin = 2.36468467929204 | erot = 2.56344225093691 | epot = -21.6720290892733 | etot = -16.7439021590444 -724000 ekin = 1.73517505640396 | erot = 2.45263100900798 | epot = -21.6468054707964 | etot = -17.4589994053844 -725000 ekin = 2.29142999435738 | erot = 2.94537439813943 | epot = -21.7063452187228 | etot = -16.4695408262259 -726000 ekin = 1.63432825555556 | erot = 2.30396244675118 | epot = -21.7456114234691 | etot = -17.8073207211624 -727000 ekin = 2.48133238220639 | erot = 3.20400739682796 | epot = -21.7806560741677 | etot = -16.0953162951334 -728000 ekin = 2.22757813298303 | erot = 2.16464177499475 | epot = -21.7790073705306 | etot = -17.3867874625529 -729000 ekin = 1.89754664123238 | erot = 1.65708384447828 | epot = -21.818793017262 | etot = -18.2641625315513 -730000 ekin = 1.81104622151894 | erot = 2.15772480190845 | epot = -21.8166979693399 | etot = -17.8479269459125 -731000 ekin = 2.20035848812534 | erot = 2.984094437949 | epot = -21.7770198662085 | etot = -16.5925669401341 -732000 ekin = 2.43533262071618 | erot = 2.2714682081237 | epot = -21.6795793034593 | etot = -16.9727784746194 -733000 ekin = 3.07400414774412 | erot = 2.56794551470528 | epot = -21.7282232978635 | etot = -16.0862736354141 -734000 ekin = 2.38495425977383 | erot = 2.02723577856807 | epot = -21.7862523639798 | etot = -17.3740623256379 -735000 ekin = 2.14308578867868 | erot = 1.55617115431814 | epot = -21.8355194712534 | etot = -18.1362625282566 -736000 ekin = 2.14719637814141 | erot = 3.43682718130883 | epot = -21.9432003809582 | etot = -16.359176821508 -737000 ekin = 1.74871923076117 | erot = 3.58265582775873 | epot = -21.961923642904 | etot = -16.6305485843841 -738000 ekin = 2.04024583543123 | erot = 2.50826561687817 | epot = -21.9946639190404 | etot = -17.446152466731 -739000 ekin = 1.85177899677126 | erot = 2.20064138018375 | epot = -22.0123052281368 | etot = -17.9598848511818 -740000 ekin = 2.83857272073312 | erot = 2.79134975714448 | epot = -22.0279140396377 | etot = -16.39799156176 -741000 ekin = 2.46635495152007 | erot = 2.9103294596823 | epot = -22.0794124202159 | etot = -16.7027280090136 -742000 ekin = 2.71465468895042 | erot = 3.27392339093581 | epot = -22.2079531631203 | etot = -16.2193750832341 -743000 ekin = 2.22475007867544 | erot = 3.21169489639582 | epot = -22.3366771138424 | etot = -16.9002321387711 -744000 ekin = 2.01249089419451 | erot = 3.77628990094158 | epot = -22.4195693816618 | etot = -16.6307885865257 -745000 ekin = 3.1550015757828 | erot = 2.315867165247 | epot = -22.4039856366928 | etot = -16.933116895663 -746000 ekin = 2.9760064146713 | erot = 2.63068823711827 | epot = -22.3618535919292 | etot = -16.7551589401397 -747000 ekin = 2.34106182302225 | erot = 2.04664398645464 | epot = -22.354695038859 | etot = -17.9669892293821 -748000 ekin = 2.37138666208783 | erot = 2.40542984904221 | epot = -22.3895155133383 | etot = -17.6126990022083 -749000 ekin = 2.06138370471239 | erot = 2.76626854206187 | epot = -22.3750763140021 | etot = -17.5474240672278 -750000 ekin = 1.64672066604894 | erot = 2.38347386235118 | epot = -22.4369940886927 | etot = -18.4067995602926 -751000 ekin = 1.78177119419735 | erot = 2.81833680350818 | epot = -22.5257071681888 | etot = -17.9255991704833 -752000 ekin = 1.34818171721257 | erot = 1.45846043808637 | epot = -22.6018348796366 | etot = -19.7951927243377 -753000 ekin = 1.87655795218726 | erot = 2.45353295142028 | epot = -22.5520612881159 | etot = -18.2219703845083 -754000 ekin = 1.74975840903648 | erot = 2.74283699647828 | epot = -22.4634749655138 | etot = -17.9708795599991 -755000 ekin = 2.42034607898545 | erot = 2.41190491839854 | epot = -22.3898060492349 | etot = -17.5575550518509 -756000 ekin = 1.85451473741877 | erot = 2.78171703843177 | epot = -22.3128363094556 | etot = -17.6766045336051 -757000 ekin = 1.97510746852342 | erot = 2.51748911462571 | epot = -22.1174762043225 | etot = -17.6248796211734 -758000 ekin = 1.22903408000892 | erot = 2.60716879638028 | epot = -21.9785553297124 | etot = -18.1423524533232 -759000 ekin = 2.21600197663295 | erot = 1.43977874856212 | epot = -22.1451816653321 | etot = -18.4894009401371 -760000 ekin = 2.68031518877979 | erot = 2.41730519207617 | epot = -22.2523665710424 | etot = -17.1547461901865 -761000 ekin = 2.17596592269854 | erot = 2.27182574078646 | epot = -22.3278934724238 | etot = -17.8801018089388 -762000 ekin = 2.18672258558963 | erot = 1.66841951917867 | epot = -22.3560817096941 | etot = -18.5009396049258 -763000 ekin = 2.45624456911328 | erot = 3.353199087397 | epot = -22.4226856635722 | etot = -16.6132420070619 -764000 ekin = 2.82991156680043 | erot = 2.78772749955354 | epot = -22.4168769890428 | etot = -16.7992379226888 -765000 ekin = 1.82695315748762 | erot = 2.76260899367527 | epot = -22.3180874182918 | etot = -17.7285252671289 -766000 ekin = 2.64718727066684 | erot = 2.30809984362825 | epot = -22.1747973384657 | etot = -17.2195102241706 -767000 ekin = 2.57546948652102 | erot = 2.85622460559127 | epot = -22.0792338208857 | etot = -16.6475397287734 -768000 ekin = 1.86461408985655 | erot = 2.77026783876655 | epot = -22.0997460179139 | etot = -17.4648640892908 -769000 ekin = 2.39719072886598 | erot = 2.30714111472591 | epot = -22.1774105238745 | etot = -17.4730786802827 -770000 ekin = 2.47072108127125 | erot = 3.23258521636165 | epot = -22.2814001434105 | etot = -16.5780938457776 -771000 ekin = 2.33036519398503 | erot = 2.29089498051982 | epot = -22.3195270405423 | etot = -17.6982668660374 -772000 ekin = 2.26183241289834 | erot = 3.00933524584073 | epot = -22.4177530473637 | etot = -17.1465853886246 -773000 ekin = 2.23430073882848 | erot = 1.82006063686398 | epot = -22.4857511691573 | etot = -18.4313897934648 -774000 ekin = 2.82253641499965 | erot = 2.20426049452907 | epot = -22.4768371725758 | etot = -17.4500402630471 -775000 ekin = 1.80826097265228 | erot = 1.8594330353803 | epot = -22.4067702410985 | etot = -18.7390762330659 -776000 ekin = 1.40036201749763 | erot = 3.15425759738852 | epot = -22.3648422416548 | etot = -17.8102226267687 -777000 ekin = 1.64191168277988 | erot = 2.80572311301618 | epot = -22.2758078856404 | etot = -17.8281730898443 -778000 ekin = 1.48568750761886 | erot = 2.23411617896699 | epot = -22.2807840878112 | etot = -18.5609804012253 -779000 ekin = 1.86180462326533 | erot = 1.89442532300483 | epot = -22.3101851282869 | etot = -18.5539551820167 -780000 ekin = 1.70083326144506 | erot = 2.31232836878966 | epot = -22.368088335214 | etot = -18.3549267049793 -781000 ekin = 2.10015890171884 | erot = 2.56021799860011 | epot = -22.4467515624801 | etot = -17.7863746621612 -782000 ekin = 2.56555999292579 | erot = 1.95862112685967 | epot = -22.3484071481452 | etot = -17.8242260283597 -783000 ekin = 2.16519753597492 | erot = 2.88346819560595 | epot = -22.2452576468217 | etot = -17.1965919152409 -784000 ekin = 2.82020985681265 | erot = 2.22817695283317 | epot = -22.2217547403593 | etot = -17.1733679307135 -785000 ekin = 3.11754466459225 | erot = 2.90955325829367 | epot = -22.2354545908828 | etot = -16.2083566679969 -786000 ekin = 2.79942218761003 | erot = 3.42875764975157 | epot = -22.250592498505 | etot = -16.0224126611434 -787000 ekin = 2.38458676493535 | erot = 3.01099796177293 | epot = -22.1654452152169 | etot = -16.7698604885087 -788000 ekin = 1.98626456977422 | erot = 2.00275328811937 | epot = -22.1112200648967 | etot = -18.1222022070031 -789000 ekin = 2.44233063979376 | erot = 2.28313889802901 | epot = -22.0447230803812 | etot = -17.3192535425585 -790000 ekin = 3.54880462493947 | erot = 2.80770271341156 | epot = -21.9679846446661 | etot = -15.6114773063151 -791000 ekin = 3.07908349792595 | erot = 2.4183569461896 | epot = -21.9560607901314 | etot = -16.4586203460158 -792000 ekin = 3.91821329297348 | erot = 1.97340936537895 | epot = -21.8852423103708 | etot = -15.9936196520184 -793000 ekin = 2.24372361561433 | erot = 2.58378808209984 | epot = -21.7746367758897 | etot = -16.9471250781755 -794000 ekin = 2.14759663301018 | erot = 2.45362282428674 | epot = -21.6057162069285 | etot = -17.0044967496316 -795000 ekin = 1.62843452575834 | erot = 2.41204885281414 | epot = -21.4428571758252 | etot = -17.4023737972527 -796000 ekin = 2.20611316383669 | erot = 2.13895899282881 | epot = -21.3315860267741 | etot = -16.9865138701086 -797000 ekin = 1.8301274808806 | erot = 1.99903093547351 | epot = -21.3391948873385 | etot = -17.5100364709844 -798000 ekin = 2.25726523935456 | erot = 2.51247281070767 | epot = -21.3769575532967 | etot = -16.6072195032345 -799000 ekin = 1.90933563327017 | erot = 2.87396619489344 | epot = -21.3621013619625 | etot = -16.5787995337988 -800000 ekin = 2.16791860235721 | erot = 2.34759279016547 | epot = -21.2767357657464 | etot = -16.7612243732237 -801000 ekin = 1.87657888051436 | erot = 1.64443435892708 | epot = -21.1205442749523 | etot = -17.5995310355109 -802000 ekin = 2.22680112501959 | erot = 2.21115076271302 | epot = -21.0075202165858 | etot = -16.5695683288532 -803000 ekin = 2.68720281674732 | erot = 1.9055828700456 | epot = -20.9783230569545 | etot = -16.3855373701615 -804000 ekin = 2.34742553306287 | erot = 2.89589931482196 | epot = -20.9208915085851 | etot = -15.6775666607002 -805000 ekin = 1.76090854918944 | erot = 2.71265295620197 | epot = -20.7896819578332 | etot = -16.3161204524417 -806000 ekin = 1.7462870636756 | erot = 2.0675335773069 | epot = -20.7361496593739 | etot = -16.9223290183914 -807000 ekin = 1.56796585063504 | erot = 1.70424554994442 | epot = -20.7915009374418 | etot = -17.5192895368624 -808000 ekin = 2.1089079867654 | erot = 2.39841171836652 | epot = -20.8718914314634 | etot = -16.3645717263314 -809000 ekin = 2.64205233751098 | erot = 1.51708231521757 | epot = -20.860658338686 | etot = -16.7015236859574 -810000 ekin = 3.09559784865049 | erot = 2.66400816236668 | epot = -20.7931361339113 | etot = -15.0335301228942 -811000 ekin = 3.04444079406036 | erot = 3.63356452868707 | epot = -20.8528361945454 | etot = -14.174830871798 -812000 ekin = 2.15160129632237 | erot = 2.79692069084717 | epot = -20.9401885998277 | etot = -15.9916666126582 -813000 ekin = 2.1866812847642 | erot = 3.17352337049868 | epot = -21.140046139319 | etot = -15.7798414840561 -814000 ekin = 1.72120340413861 | erot = 2.99586512288056 | epot = -21.2431304413524 | etot = -16.5260619143332 -815000 ekin = 2.15308486059066 | erot = 2.27039729778303 | epot = -21.2454651427287 | etot = -16.821982984355 -816000 ekin = 2.70853368688568 | erot = 1.52116799452424 | epot = -21.261293152511 | etot = -17.0315914711011 -817000 ekin = 2.58931303514761 | erot = 2.58517904286731 | epot = -21.3952446820623 | etot = -16.2207526040474 -818000 ekin = 2.27857909894085 | erot = 2.24637345033467 | epot = -21.4314613483393 | etot = -16.9065087990638 -819000 ekin = 2.10638790580901 | erot = 3.01120037058918 | epot = -21.4323015928675 | etot = -16.3147133164693 -820000 ekin = 2.45664566148736 | erot = 2.7075790370773 | epot = -21.3792192523262 | etot = -16.2149945537616 -821000 ekin = 2.56775447201567 | erot = 2.5492984098592 | epot = -21.3164894306539 | etot = -16.199436548779 -822000 ekin = 3.57289533285904 | erot = 2.21052116492673 | epot = -21.2854519181088 | etot = -15.502035420323 -823000 ekin = 3.55319917858674 | erot = 2.72446531740647 | epot = -21.2720447371835 | etot = -14.9943802411903 -824000 ekin = 4.11549879731445 | erot = 3.29143140978184 | epot = -21.2030896509282 | etot = -13.7961594438319 -825000 ekin = 2.91512457403517 | erot = 3.47068683775168 | epot = -21.0609871292213 | etot = -14.6751757174345 -826000 ekin = 1.7163898925254 | erot = 1.97834164539342 | epot = -20.8767355772593 | etot = -17.1820040393405 -827000 ekin = 1.87677701795696 | erot = 2.56463384104522 | epot = -20.7854029227346 | etot = -16.3439920637325 -828000 ekin = 2.38062360557162 | erot = 2.54648236886784 | epot = -20.7050759849485 | etot = -15.7779700105091 -829000 ekin = 2.23108302894327 | erot = 1.78470720624501 | epot = -20.6073113475481 | etot = -16.5915211123598 -830000 ekin = 2.54725147866706 | erot = 2.32441333820119 | epot = -20.4877024469931 | etot = -15.6160376301249 -831000 ekin = 2.68575093093387 | erot = 2.09843530086498 | epot = -20.3759551828171 | etot = -15.5917689510182 -832000 ekin = 2.59940424582709 | erot = 2.00750749806411 | epot = -20.1908446114452 | etot = -15.583932867554 -833000 ekin = 2.42127651950715 | erot = 2.60529540830756 | epot = -20.078944485857 | etot = -15.0523725580422 -834000 ekin = 2.84384893680911 | erot = 2.32747318035689 | epot = -20.0706360897591 | etot = -14.8993139725931 -835000 ekin = 2.7678557540129 | erot = 2.75945454275209 | epot = -20.196580890927 | etot = -14.669270594162 -836000 ekin = 2.53473695255286 | erot = 2.86392788167815 | epot = -20.358210381663 | etot = -14.9595455474319 -837000 ekin = 1.73656397849906 | erot = 1.97461102829179 | epot = -20.4142699072864 | etot = -16.7030949004955 -838000 ekin = 1.97190242589771 | erot = 2.78134736415134 | epot = -20.4306923978834 | etot = -15.6774426078343 -839000 ekin = 1.96899626495587 | erot = 2.72126775666989 | epot = -20.4229760480712 | etot = -15.7327120264454 -840000 ekin = 1.7171072647053 | erot = 2.97405496575738 | epot = -20.5310188981682 | etot = -15.8398566677055 -841000 ekin = 2.84263223284519 | erot = 2.84805882649256 | epot = -20.7029997187952 | etot = -15.0123086594574 -842000 ekin = 2.60852389795254 | erot = 2.84079273136912 | epot = -20.7559161264561 | etot = -15.3065994971344 -843000 ekin = 2.05482516428399 | erot = 2.60168054731321 | epot = -20.7398205878817 | etot = -16.0833148762845 -844000 ekin = 1.55484491564895 | erot = 1.93946122833937 | epot = -20.793873895268 | etot = -17.2995677512796 -845000 ekin = 2.34415562398594 | erot = 2.33054915402977 | epot = -20.9292293378503 | etot = -16.2545245598346 -846000 ekin = 2.10828138543307 | erot = 2.31084128804075 | epot = -21.0208568932193 | etot = -16.6017342197455 -847000 ekin = 2.49792342883821 | erot = 2.62762350266534 | epot = -20.9870443583388 | etot = -15.8614974268353 -848000 ekin = 2.16881569142256 | erot = 1.47414765167355 | epot = -21.0272780430065 | etot = -17.3843146999104 -849000 ekin = 2.02577069067687 | erot = 2.48073789957305 | epot = -21.0548829559118 | etot = -16.5483743656619 -850000 ekin = 2.56121323608232 | erot = 2.68216361525941 | epot = -21.0531120198317 | etot = -15.80973516849 -851000 ekin = 2.18318825014005 | erot = 2.93699487251027 | epot = -21.072057934595 | etot = -15.9518748119447 -852000 ekin = 2.47242228011125 | erot = 2.47093974244847 | epot = -21.1036036708141 | etot = -16.1602416482544 -853000 ekin = 2.39779726435527 | erot = 2.98937612414091 | epot = -21.0464025867825 | etot = -15.6592291982864 -854000 ekin = 2.33702117267764 | erot = 2.85284252822427 | epot = -20.9556796853364 | etot = -15.7658159844345 -855000 ekin = 2.34760752254692 | erot = 2.06775496176188 | epot = -20.9732459823191 | etot = -16.5578834980103 -856000 ekin = 2.50439922073455 | erot = 2.74747347867824 | epot = -20.8640767421381 | etot = -15.6122040427253 -857000 ekin = 2.54554426380173 | erot = 3.02043559253138 | epot = -20.7373381265487 | etot = -15.1713582702156 -858000 ekin = 3.06972052097933 | erot = 2.1533020939209 | epot = -20.6779613423402 | etot = -15.45493872744 -859000 ekin = 2.85296234704364 | erot = 2.24390648873861 | epot = -20.6722067614218 | etot = -15.5753379256396 -860000 ekin = 2.81550228271929 | erot = 1.51851082884538 | epot = -20.6725383213113 | etot = -16.3385252097467 -861000 ekin = 2.27514176030031 | erot = 2.84648353799519 | epot = -20.6420712292961 | etot = -15.5204459310006 -862000 ekin = 2.9987675929355 | erot = 1.87057008174782 | epot = -20.6660164836296 | etot = -15.7966788089463 -863000 ekin = 2.82347853622627 | erot = 1.77874439342615 | epot = -20.7576165207476 | etot = -16.1553935910952 -864000 ekin = 2.92188345840032 | erot = 2.64334274850666 | epot = -20.9261206064404 | etot = -15.3608943995334 -865000 ekin = 3.33407052864803 | erot = 2.25520565932836 | epot = -21.0515135151698 | etot = -15.4622373271934 -866000 ekin = 2.86068791662345 | erot = 3.16201991362392 | epot = -21.1397264169455 | etot = -15.1170185866981 -867000 ekin = 2.74707401666422 | erot = 3.06797998358081 | epot = -21.1320468209182 | etot = -15.3169928206732 -868000 ekin = 2.19562503546865 | erot = 2.22513352423332 | epot = -21.0678608919895 | etot = -16.6471023322876 -869000 ekin = 2.92239622436426 | erot = 2.5008962182639 | epot = -21.0133576609085 | etot = -15.5900652182804 -870000 ekin = 2.48942591106965 | erot = 2.13034723792471 | epot = -20.996084603173 | etot = -16.3763114541786 -871000 ekin = 2.19159342044105 | erot = 2.37819238438806 | epot = -20.874805817807 | etot = -16.3050200129778 -872000 ekin = 1.55149762269136 | erot = 2.09773965219071 | epot = -20.8507483226038 | etot = -17.2015110477217 -873000 ekin = 1.39031919518734 | erot = 2.27780516445362 | epot = -20.9245661591995 | etot = -17.2564417995585 -874000 ekin = 1.41307234618125 | erot = 2.76889585749685 | epot = -21.0893130528338 | etot = -16.9073448491557 -875000 ekin = 1.1903759815938 | erot = 2.71897418399016 | epot = -21.2265810734678 | etot = -17.3172309078839 -876000 ekin = 1.81153308354558 | erot = 2.98976206981359 | epot = -21.2471086207564 | etot = -16.4458134673973 -877000 ekin = 2.36285714663855 | erot = 2.036005929661 | epot = -21.3279144058001 | etot = -16.9290513295006 -878000 ekin = 2.12543608141368 | erot = 1.75442210002794 | epot = -21.3225487572348 | etot = -17.4426905757932 -879000 ekin = 2.27283239224876 | erot = 2.70186511894803 | epot = -21.3124243745064 | etot = -16.3377268633096 -880000 ekin = 2.68477293779859 | erot = 2.77341018951834 | epot = -21.3544902274222 | etot = -15.8963071001053 -881000 ekin = 2.87581138753759 | erot = 2.33631707903057 | epot = -21.330399862467 | etot = -16.1182713958988 -882000 ekin = 2.3286795198909 | erot = 2.16799605433164 | epot = -21.25964008372 | etot = -16.7629645094974 -883000 ekin = 2.36016075059912 | erot = 1.97853915282771 | epot = -21.0668204006881 | etot = -16.7281204972613 -884000 ekin = 2.52365942577107 | erot = 2.24976084040446 | epot = -20.9653280828805 | etot = -16.191907816705 -885000 ekin = 2.84734342605207 | erot = 2.26485201008783 | epot = -20.9652017220512 | etot = -15.8530062859113 -886000 ekin = 3.18250292594555 | erot = 1.73451408298307 | epot = -21.0018071240468 | etot = -16.0847901151182 -887000 ekin = 2.68810301741898 | erot = 2.50208813779432 | epot = -21.0684744202113 | etot = -15.878283264998 -888000 ekin = 2.15240565341107 | erot = 2.83219210215604 | epot = -21.1767699295518 | etot = -16.1921721739847 -889000 ekin = 2.16923637104046 | erot = 2.20209706465088 | epot = -21.1021053306932 | etot = -16.7307718950019 -890000 ekin = 1.7855023510616 | erot = 2.98359580087557 | epot = -21.1862135178402 | etot = -16.4171153659031 -891000 ekin = 1.64893562703222 | erot = 2.27727861261825 | epot = -21.3185718288916 | etot = -17.3923575892411 -892000 ekin = 1.96573403811713 | erot = 2.36272783048894 | epot = -21.459073017988 | etot = -17.1306111493819 -893000 ekin = 1.79366158034469 | erot = 1.8414245936827 | epot = -21.5466572595161 | etot = -17.9115710854887 -894000 ekin = 2.81388625610773 | erot = 2.80751276121754 | epot = -21.653645549411 | etot = -16.0322465320857 -895000 ekin = 2.00720208466152 | erot = 2.75365533683677 | epot = -21.7495268499499 | etot = -16.9886694284516 -896000 ekin = 1.6504129469732 | erot = 2.56279209882525 | epot = -21.8921291347682 | etot = -17.6789240889697 -897000 ekin = 1.78028626356388 | erot = 2.35359760186793 | epot = -22.0277295687316 | etot = -17.8938457032998 -898000 ekin = 1.85084740655105 | erot = 2.39311858936893 | epot = -22.0484278013109 | etot = -17.804461805391 -899000 ekin = 1.66159541585127 | erot = 3.04237586636532 | epot = -21.9567167335553 | etot = -17.2527454513387 -900000 ekin = 2.15147578839776 | erot = 2.62380976965387 | epot = -21.9142539059027 | etot = -17.1389683478511 -901000 ekin = 2.41284637562283 | erot = 2.69705294858772 | epot = -21.9824283113928 | etot = -16.8725289871823 -902000 ekin = 2.57612159273654 | erot = 2.40607700278042 | epot = -21.9951115024172 | etot = -17.0129129069002 -903000 ekin = 2.40399270595578 | erot = 2.40563977691886 | epot = -22.0217108129385 | etot = -17.2120783300639 -904000 ekin = 1.99424328949364 | erot = 3.12247316074079 | epot = -22.0941051678023 | etot = -16.9773887175679 -905000 ekin = 2.45187750521127 | erot = 2.11892854013094 | epot = -22.0607781456761 | etot = -17.4899721003339 -906000 ekin = 2.69425177422441 | erot = 1.66991173750643 | epot = -22.0544281667485 | etot = -17.6902646550177 -907000 ekin = 2.57312994796075 | erot = 2.16897016056236 | epot = -22.0362779601713 | etot = -17.2941778516482 -908000 ekin = 2.96409406517859 | erot = 2.4024711800449 | epot = -22.0175634304182 | etot = -16.6509981851947 -909000 ekin = 3.12776536145526 | erot = 2.11994277048498 | epot = -22.0594136296836 | etot = -16.8117054977433 -910000 ekin = 2.92235459450191 | erot = 3.50321314826196 | epot = -22.1261319680945 | etot = -15.7005642253306 -911000 ekin = 1.85367265839013 | erot = 2.7340677155879 | epot = -22.1669720947937 | etot = -17.5792317208157 -912000 ekin = 2.6441002333698 | erot = 1.86322369928707 | epot = -22.1988213519214 | etot = -17.6914974192646 -913000 ekin = 2.46819903214737 | erot = 2.03086240531084 | epot = -22.3188294931139 | etot = -17.8197680556557 -914000 ekin = 2.0189364132938 | erot = 2.94279285834543 | epot = -22.3498562089308 | etot = -17.3881269372916 -915000 ekin = 2.82747738433327 | erot = 2.11633807308138 | epot = -22.3626846124428 | etot = -17.4188691550282 -916000 ekin = 2.54297245214782 | erot = 3.23310309863579 | epot = -22.4639551563544 | etot = -16.6878796055708 -917000 ekin = 2.317284459617 | erot = 2.24259984965456 | epot = -22.4622375561737 | etot = -17.9023532469021 -918000 ekin = 2.08741226822699 | erot = 2.05691148612588 | epot = -22.3736961837371 | etot = -18.2293724293842 -919000 ekin = 2.60375298745589 | erot = 2.38992198070848 | epot = -22.381600437649 | etot = -17.3879254694846 -920000 ekin = 3.21906968424263 | erot = 2.75034755110955 | epot = -22.4644247832706 | etot = -16.4950075479185 -921000 ekin = 2.67870624565115 | erot = 1.98396423697626 | epot = -22.5250790361652 | etot = -17.8624085535378 -922000 ekin = 1.43278887121421 | erot = 1.5212533647767 | epot = -22.5927230801778 | etot = -19.6386808441869 -923000 ekin = 1.69060624417004 | erot = 1.88306141910809 | epot = -22.6640058777009 | etot = -19.0903382144228 -924000 ekin = 2.14344220825837 | erot = 1.52268950055615 | epot = -22.6406273602344 | etot = -18.9744956514199 -925000 ekin = 2.26099137202492 | erot = 1.33050593263702 | epot = -22.5231436368656 | etot = -18.9316463322036 -926000 ekin = 2.00910763305932 | erot = 2.07375747532886 | epot = -22.4432067940419 | etot = -18.3603416856537 -927000 ekin = 2.53244780866363 | erot = 1.99782770480987 | epot = -22.5729932869624 | etot = -18.0427177734889 -928000 ekin = 2.57222338912656 | erot = 2.50502398255852 | epot = -22.7398443943546 | etot = -17.6625970226695 -929000 ekin = 2.6604125156482 | erot = 1.82856993040844 | epot = -22.7887212302343 | etot = -18.2997387841776 -930000 ekin = 2.41305450735431 | erot = 2.00588068310628 | epot = -22.8018421191433 | etot = -18.3829069286827 -931000 ekin = 3.02564328504603 | erot = 2.11587474765859 | epot = -22.7554011904621 | etot = -17.6138831577575 -932000 ekin = 2.345493847807 | erot = 1.88252953078422 | epot = -22.8017329710419 | etot = -18.5737095924506 -933000 ekin = 2.1694502869689 | erot = 2.85662500627744 | epot = -22.8226969360083 | etot = -17.796621642762 -934000 ekin = 2.17146721978253 | erot = 2.11951749144879 | epot = -22.863822849274 | etot = -18.5728381380427 -935000 ekin = 2.34458616912959 | erot = 2.23416576036772 | epot = -22.8574077017674 | etot = -18.2786557722701 -936000 ekin = 2.28175701976408 | erot = 2.53013652057632 | epot = -22.9767476232764 | etot = -18.164854082936 -937000 ekin = 2.30615675948239 | erot = 2.82847988543263 | epot = -23.0701138758201 | etot = -17.9354772309051 -938000 ekin = 2.44231188769576 | erot = 2.0074347584303 | epot = -23.1347662810948 | etot = -18.6850196349687 -939000 ekin = 2.97733385945386 | erot = 2.10203628017719 | epot = -23.1190097237646 | etot = -18.0396395841336 -940000 ekin = 3.7421677147709 | erot = 2.68152697601896 | epot = -23.0475806158046 | etot = -16.6238859250147 -941000 ekin = 3.11295236744588 | erot = 2.28688684379554 | epot = -22.9429748609955 | etot = -17.5431356497541 -942000 ekin = 3.46623937507365 | erot = 1.87520710821393 | epot = -22.9025531718167 | etot = -17.5611066885292 -943000 ekin = 3.79173660111055 | erot = 2.70947594186532 | epot = -22.8673682470227 | etot = -16.3661557040469 -944000 ekin = 2.65981718352589 | erot = 2.74921677045581 | epot = -22.8292657284419 | etot = -17.4202317744602 -945000 ekin = 2.54666185018866 | erot = 2.02257137114126 | epot = -22.723461570169 | etot = -18.154228348839 -946000 ekin = 2.4639439434652 | erot = 1.67047296565225 | epot = -22.5521488157529 | etot = -18.4177319066355 -947000 ekin = 2.40802147360554 | erot = 1.99436728079209 | epot = -22.4558507483505 | etot = -18.0534619939529 -948000 ekin = 3.53638943439814 | erot = 2.58008822568542 | epot = -22.320526737886 | etot = -16.2040490778025 -949000 ekin = 2.98836642878581 | erot = 2.43483192716865 | epot = -22.1062186298424 | etot = -16.6830202738879 -950000 ekin = 1.8506029036585 | erot = 3.01144415000371 | epot = -21.9461665434677 | etot = -17.0841194898055 -951000 ekin = 2.24126333899115 | erot = 2.360964782598 | epot = -21.903362150983 | etot = -17.3011340293938 -952000 ekin = 2.17635665089897 | erot = 1.66171020386367 | epot = -21.8837115918785 | etot = -18.0456447371159 -953000 ekin = 2.32438986511484 | erot = 1.96772774373572 | epot = -21.8620448131731 | etot = -17.5699272043226 -954000 ekin = 1.49063234940533 | erot = 3.34928565739799 | epot = -21.7945452107542 | etot = -16.9546272039509 -955000 ekin = 1.88418951039555 | erot = 2.69014814861619 | epot = -21.7200686498238 | etot = -17.1457309908121 -956000 ekin = 1.69291601426871 | erot = 2.1645662569751 | epot = -21.67000557149 | etot = -17.8125233002462 -957000 ekin = 1.73501465937615 | erot = 1.64299266035092 | epot = -21.6537546166965 | etot = -18.2757472969694 -958000 ekin = 1.60433119962989 | erot = 2.19178936617743 | epot = -21.6456701616229 | etot = -17.8495495958156 -959000 ekin = 2.59325237116392 | erot = 2.48228488776355 | epot = -21.6578286055141 | etot = -16.5822913465866 -960000 ekin = 2.55452313966818 | erot = 2.05772019404723 | epot = -21.6609487080123 | etot = -17.0487053742969 -961000 ekin = 2.2782724554851 | erot = 2.17961583407472 | epot = -21.6530067200073 | etot = -17.1951184304475 -962000 ekin = 1.6603646541701 | erot = 3.50991264012086 | epot = -21.6636215038227 | etot = -16.4933442095318 -963000 ekin = 1.98983107474213 | erot = 1.50487996807377 | epot = -21.607445249844 | etot = -18.1127342070281 -964000 ekin = 2.1801653377091 | erot = 2.29029841094579 | epot = -21.5573031984776 | etot = -17.0868394498227 -965000 ekin = 2.10786877123582 | erot = 2.32216595776003 | epot = -21.5484811250514 | etot = -17.1184463960556 -966000 ekin = 3.14104688246034 | erot = 3.41837947669167 | epot = -21.5824220489405 | etot = -15.0229956897885 -967000 ekin = 3.05692240987348 | erot = 2.17321453760644 | epot = -21.5249732131507 | etot = -16.2948362656708 -968000 ekin = 2.05076027636617 | erot = 2.141245653077 | epot = -21.4468841606018 | etot = -17.2548782311586 -969000 ekin = 2.21533565656662 | erot = 2.21730696558968 | epot = -21.3811315205225 | etot = -16.9484888983662 -970000 ekin = 2.44655838306382 | erot = 2.63914635686249 | epot = -21.3181700854761 | etot = -16.2324653455498 -971000 ekin = 2.47235597423318 | erot = 2.68612281916571 | epot = -21.3025617859469 | etot = -16.1440829925481 -972000 ekin = 3.18960516897918 | erot = 2.4589698172248 | epot = -21.2512287640521 | etot = -15.6026537778481 -973000 ekin = 3.35448615918215 | erot = 2.61012714046349 | epot = -21.181846043468 | etot = -15.2172327438223 -974000 ekin = 2.7109696336397 | erot = 2.1297885006349 | epot = -21.0805156487717 | etot = -16.2397575144971 -975000 ekin = 1.81281242624849 | erot = 2.07588193669119 | epot = -20.9951812472117 | etot = -17.106486884272 -976000 ekin = 2.37607937449446 | erot = 1.37987096361839 | epot = -20.8918377653923 | etot = -17.1358874272794 -977000 ekin = 2.85561145367248 | erot = 3.03617871388547 | epot = -21.0084630734088 | etot = -15.1166729058509 -978000 ekin = 3.13898187042855 | erot = 3.01123432026038 | epot = -21.0722585106273 | etot = -14.9220423199384 -979000 ekin = 3.64209617929686 | erot = 2.4613128172747 | epot = -20.9585875203481 | etot = -14.8551785237765 -980000 ekin = 3.43702129901554 | erot = 3.27336305014796 | epot = -20.899855999005 | etot = -14.1894716498415 -981000 ekin = 2.95818777403214 | erot = 2.46809133944498 | epot = -20.986328819352 | etot = -15.5600497058749 -982000 ekin = 2.05833121455625 | erot = 2.23576836357638 | epot = -21.0416114809553 | etot = -16.7475119028227 -983000 ekin = 2.55525912528627 | erot = 1.97278253435511 | epot = -21.0429704338791 | etot = -16.5149287742377 -984000 ekin = 2.32118186028681 | erot = 2.58283774029526 | epot = -21.0821921217354 | etot = -16.1781725211533 -985000 ekin = 2.30313916872571 | erot = 3.01566259403689 | epot = -21.1725352249725 | etot = -15.8537334622099 -986000 ekin = 2.02463184559008 | erot = 2.17884306421032 | epot = -21.2738965581199 | etot = -17.0704216483195 -987000 ekin = 2.38600679522579 | erot = 1.60423682215952 | epot = -21.2561563051098 | etot = -17.2659126877245 -988000 ekin = 2.73915294843957 | erot = 2.71140680891282 | epot = -21.1542786885715 | etot = -15.7037189312192 -989000 ekin = 2.26683184377889 | erot = 2.87747329962287 | epot = -21.0926545062066 | etot = -15.9483493628049 -990000 ekin = 2.20939931770178 | erot = 2.59683743799389 | epot = -21.0191461353302 | etot = -16.2129093796345 -991000 ekin = 2.18257135988803 | erot = 2.54653688104725 | epot = -20.9118811472645 | etot = -16.1827729063292 -992000 ekin = 1.69790066377666 | erot = 2.49595921156529 | epot = -20.9746634507321 | etot = -16.7808035753901 -993000 ekin = 1.37402706728143 | erot = 1.97741928391721 | epot = -21.0641158581349 | etot = -17.7126695069363 -994000 ekin = 1.46483900547317 | erot = 2.95778549110336 | epot = -21.1249692907517 | etot = -16.7023447941752 -995000 ekin = 2.31288950128446 | erot = 1.68061050856792 | epot = -21.1893866548865 | etot = -17.1958866450341 -996000 ekin = 2.91614737481324 | erot = 2.86807519675625 | epot = -21.1735004751445 | etot = -15.389277903575 -997000 ekin = 3.14120073227004 | erot = 2.13892252916595 | epot = -21.1699471293629 | etot = -15.8898238679269 -998000 ekin = 2.24295362120275 | erot = 3.02318042682039 | epot = -21.1015606373099 | etot = -15.8354265892868 -999000 ekin = 2.61556215485409 | erot = 1.7387146959943 | epot = -21.020005228283 | etot = -16.6657283774346 -1000000 ekin = 2.3401430299422 | erot = 2.86437072240568 | epot = -21.0184376568778 | etot = -15.8139239045299 - 1000000 0.10400636 -1.3745197 0.060867347 -1.1673934 0.00013768636 -Loop time of 34.1939 on 4 procs for 1000000 steps with 16 atoms - -Performance: 25267.628 tau/day, 29244.940 timesteps/s -99.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 | 0.63601 | 12.258 | 23.186 | 288.0 | 35.85 -Bond | 0.0885 | 0.40672 | 0.6818 | 42.6 | 1.19 -Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 2.65 | 2.786 | 2.9058 | 5.7 | 8.15 -Output | 1.9e-05 | 2.575e-05 | 2.8e-05 | 0.0 | 0.00 -Modify | 0.21592 | 2.7491 | 5.2145 | 132.7 | 8.04 -Other | | 15.99 | | | 46.78 - -Nlocal: 4.0 ave 8.0 max 0.0 min -Histogram: 1 1 0 0 0 0 0 0 1 1 -Nghost: 11.0 ave 14.0 max 8.0 min -Histogram: 1 1 0 0 0 0 0 0 1 1 -Neighs: 41.75 ave 81.0 max 0.0 min -Histogram: 1 1 0 0 0 0 0 0 0 2 - -Total # of neighbors = 167 -Ave neighs/atom = 10.4375 -Ave special neighs/atom = 3.75 -Neighbor list builds = 0 -Dangerous builds = 0 - -#write_restart config.${number}.* -Total wall time: 0:00:34 diff --git a/examples/PACKAGES/cgdna/examples/oxDNA2/duplex3/data.duplex3 b/examples/PACKAGES/cgdna/examples/oxDNA2/duplex3/data.duplex3 index bbd584163b..d2556f87e9 100644 --- a/examples/PACKAGES/cgdna/examples/oxDNA2/duplex3/data.duplex3 +++ b/examples/PACKAGES/cgdna/examples/oxDNA2/duplex3/data.duplex3 @@ -1,73 +1,68 @@ -# LAMMPS data file +LAMMPS data file via write_data, version 27 May 2021 + 10 atoms -10 ellipsoids -8 bonds - 4 atom types +8 bonds 1 bond types +10 ellipsoids -# System size --20.000000 20.000000 xlo xhi --20.000000 20.000000 ylo yhi --20.000000 20.000000 zlo zhi +-20 20 xlo xhi +-20 20 ylo yhi +-20 20 zlo zhi Masses -1 1.0 -2 1.0 -3 1.0 -4 1.0 +1 1 +2 1 +3 1 +4 1 -# Atom-ID, type, position, molecule-ID, ellipsoid flag, density -Atoms +Atoms # hybrid -1 1 -6.000000000000001e-01 0.000000000000000e+00 0.000000000000000e+00 1 1 1 -2 2 -4.860249842674776e-01 -3.518234140414736e-01 3.897628551303122e-01 1 1 1 -3 3 -1.874009511073395e-01 -5.699832309147915e-01 7.795257102606244e-01 1 1 1 -4 4 1.824198365552941e-01 -5.715968887521518e-01 1.169288565390937e+00 1 1 1 -5 1 4.829362784135484e-01 -3.560513319622209e-01 1.559051420521249e+00 1 1 1 -6 4 -4.829362784135484e-01 3.560513319622209e-01 1.559051420521249e+00 2 1 1 -7 1 -1.824198365552941e-01 5.715968887521516e-01 1.169288565390937e+00 2 1 1 -8 2 1.874009511073395e-01 5.699832309147913e-01 7.795257102606243e-01 2 1 1 -9 3 4.860249842674775e-01 3.518234140414733e-01 3.897628551303121e-01 2 1 1 -10 4 5.999999999999996e-01 -1.332267629550188e-16 -1.110223024625157e-16 2 1 1 +1 1 -0.11270997503399371 -0.7862611620723637 1.3165400870544903 1 1 0.060395054525384434 0 0 0 +2 2 -0.16100240482903602 -1.0148422652606093 1.7725173088171975 1 1 0.060395054525384434 0 0 0 +3 3 -0.07298109176865208 -1.2058352049378398 2.2155374630046025 1 1 0.060395054525384434 0 0 0 +4 4 0.20885923193243378 -1.2688318677749852 2.7293157091426354 1 1 0.060395054525384434 0 0 0 +5 1 0.4977080746488808 -1.1877183116613397 3.1217952838980874 1 1 0.060395054525384434 0 0 0 +6 4 -0.2268968274787041 -0.189603020612256 3.1084583050105072 2 1 0.060395054525384434 0 0 0 +7 1 -0.0350302960648884 -0.11245734514413211 2.7014501755341493 2 1 0.060395054525384434 0 0 0 +8 2 0.25244681036675387 -0.03694235704351071 2.3220950502861553 2 1 0.060395054525384434 0 0 0 +9 3 0.6676541258850296 -0.19471246409842435 2.0340464261767104 2 1 0.060395054525384434 0 0 0 +10 4 0.934602266948905 -0.5194117909409754 1.8612193115349325 2 1 0.060395054525384434 0 0 0 -# Atom-ID, translational velocity, angular momentum Velocities -1 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -2 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -3 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -4 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -5 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -6 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -7 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -8 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -9 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -10 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 +1 0.7350861197179651 -0.21340767305489933 0.039697389523131524 0.514970941606362 -0.5778402699166201 0.41643574848945447 +2 0.45886825731636693 0.15479323180826426 0.45998155912439004 -0.09532046111956156 -0.028811462065931184 0.1672428695820793 +3 -0.10009582230026307 -0.1356043155573722 -0.1357102030132947 0.512435093836635 0.8794667047362844 -0.4062045597142004 +4 -0.030407148345627223 -0.009119685021467273 0.2894674569635424 -0.22197357320787495 0.46474035192627294 -0.07166539037437039 +5 0.021807141873185235 -0.3544326055489752 0.4440408124043861 -0.019877710182688496 0.008454084203717545 -0.16574323908949498 +6 0.058814594979770644 -0.23964725458291067 0.09430081861001074 -0.16841516333125345 -0.27499692207835863 0.49231682345951117 +7 -0.004278840261670186 0.011171100752661912 -0.10686407869958243 0.3533956051874728 -0.5781793964284943 0.171273466705473 +8 -0.5678723978567293 -0.05635280062816237 -0.12337612014269532 -0.06293014166900977 -0.5548255617488771 -0.3948679676680598 +9 0.07493146865794496 0.37868089841113717 0.11143666048372917 -0.35561925325917687 -0.3453461570214745 -0.5277976799082732 +10 -0.48819053761319386 -0.11027061946453155 0.19465531836187655 0.10340969323917759 0.3809806548307742 0.25623918588602335 -# Atom-ID, shape, quaternion -Ellipsoids - -1 3.1622776601683795+00 3.1622776601683795+00 3.1622776601683795+00 1.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -2 3.1622776601683795+00 3.1622776601683795+00 3.1622776601683795+00 9.513258223252946e-01 0.000000000000000e+00 0.000000000000000e+00 3.081869234362515e-01 -3 3.1622776601683795+00 3.1622776601683795+00 3.1622776601683795+00 8.100416404457962e-01 0.000000000000000e+00 0.000000000000000e+00 5.863723567357894e-01 -4 3.1622776601683795+00 3.1622776601683795+00 3.1622776601683795+00 5.899012371043606e-01 0.000000000000000e+00 0.000000000000000e+00 8.074754054847398e-01 -5 3.1622776601683795+00 3.1622776601683795+00 3.1622776601683795+00 3.123349185122326e-01 0.000000000000000e+00 0.000000000000000e+00 9.499720515246527e-01 -6 3.1622776601683795+00 3.1622776601683795+00 3.1622776601683795+00 0.000000000000000e+00 9.499720515246527e-01 -3.123349185122326e-01 -0.000000000000000e+00 -7 3.1622776601683795+00 3.1622776601683795+00 3.1622776601683795+00 0.000000000000000e+00 8.074754054847401e-01 -5.899012371043604e-01 0.000000000000000e+00 -8 3.1622776601683795+00 3.1622776601683795+00 3.1622776601683795+00 0.000000000000000e+00 5.863723567357896e-01 -8.100416404457959e-01 0.000000000000000e+00 -9 3.1622776601683795+00 3.1622776601683795+00 3.1622776601683795+00 -0.000000000000000e+00 -3.081869234362514e-01 9.513258223252947e-01 0.000000000000000e+00 -10 3.1622776601683795+00 3.1622776601683795+00 3.1622776601683795+00 -0.000000000000000e+00 1.110223024625157e-16 1.000000000000000e+00 -0.000000000000000e+00 - -# Bond topology Bonds -1 1 1 2 -2 1 2 3 -3 1 3 4 -4 1 4 5 -5 1 6 7 -6 1 7 8 -7 1 8 9 -8 1 9 10 +1 1 1 2 +2 1 2 3 +3 1 3 4 +4 1 4 5 +5 1 6 7 +6 1 7 8 +7 1 8 9 +8 1 9 10 + +Ellipsoids + +1 3.1622776601683795 3.1622776601683795 3.1622776601683795 0.9824438652148015 -0.023183015026523597 -0.18238525095550406 0.031657854475291056 +2 3.1622776601683795 3.1622776601683795 3.1622776601683795 0.9303156820429525 0.02962373336578937 -0.07607439157272995 0.3575581814380256 +3 3.1622776601683795 3.1622776601683795 3.1622776601683795 0.7912072782182723 -0.043679545103099016 -0.05996218100443608 0.6070318583758278 +4 3.1622776601683795 3.1622776601683795 3.1622776601683795 0.6531869542452552 -0.03659000162837596 0.004181596561545229 0.7563005281201641 +5 3.1622776601683795 3.1622776601683795 3.1622776601683795 0.3249781771672557 0.06207197535108856 0.03689277251937633 0.9429608568635791 +6 3.1622776601683795 3.1622776601683795 3.1622776601683795 0.08029535222204207 0.8726095530830543 -0.46831094470633033 -0.11309325067392484 +7 3.1622776601683795 3.1622776601683795 3.1622776601683795 -0.1303991484205687 0.7764383491760718 -0.6081660772848121 0.10135864274905797 +8 3.1622776601683795 3.1622776601683795 3.1622776601683795 -0.14971034142173664 0.5769499085020084 -0.7973230447846137 0.09482393688465168 +9 3.1622776601683795 3.1622776601683795 3.1622776601683795 0.21130729744233523 -0.37917864508185584 0.8946270178621702 -0.10590221939385809 +10 3.1622776601683795 3.1622776601683795 3.1622776601683795 0.34278400171414436 0.15185237372800306 0.9252984668160771 0.05712032974191834 diff --git a/examples/PACKAGES/cgdna/examples/oxDNA2/duplex3/in.duplex3 b/examples/PACKAGES/cgdna/examples/oxDNA2/duplex3/in.duplex3 index 8c917321c7..0dba271f98 100644 --- a/examples/PACKAGES/cgdna/examples/oxDNA2/duplex3/in.duplex3 +++ b/examples/PACKAGES/cgdna/examples/oxDNA2/duplex3/in.duplex3 @@ -2,6 +2,7 @@ variable number equal 3 variable ofreq equal 1000 variable efreq equal 1000 variable T equal 0.1 +variable rhos equal 0.2 units lj @@ -11,11 +12,11 @@ newton off boundary p p p -atom_style hybrid bond ellipsoid +atom_style hybrid bond ellipsoid oxdna atom_modify sort 0 1.0 # Pair interactions require lists of neighbours to be calculated -neighbor 1.0 bin +neighbor 2.0 bin neigh_modify every 1 delay 0 check yes read_data data.duplex3 @@ -38,30 +39,19 @@ pair_coeff 1 4 oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 pair_coeff 2 3 oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 pair_coeff * * oxdna2/xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68 pair_coeff * * oxdna2/coaxstk 58.5 0.4 0.6 0.22 0.58 2.0 2.891592653589793 0.65 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 40.0 3.116592653589793 -pair_coeff * * oxdna2/dh ${T} 1.0 0.815 +pair_coeff * * oxdna2/dh ${T} ${rhos} 0.815 # NVE ensemble -fix 1 all nve/dot -#fix 1 all nve/dotc/langevin ${T} ${T} 0.03 457145 angmom 10 -#fix 1 all nve/asphere -#fix 2 all langevin ${T} ${T} 0.03 457145 angmom 10 +fix 1 all nve/asphere +#fix 2 all langevin ${T} ${T} 2.5 457145 angmom 10 timestep 1e-5 #comm_style tiled -#fix 3 all balance 10000 1.1 rcb -comm_modify cutoff 2.5 +fix 3 all balance 1000 1.03 shift xyz 10 1.03 +comm_modify cutoff 3.8 -#compute mol all chunk/atom molecule -#compute mychunk all vcm/chunk mol -#fix 4 all ave/time 10000 1 10000 c_mychunk[1] c_mychunk[2] c_mychunk[3] file vcm.txt mode vector - -#dump pos all xyz ${ofreq} traj.${number}.xyz - -#compute quat all property/atom quatw quati quatj quatk -#dump quat all custom ${ofreq} quat.${number}.txt id c_quat[1] c_quat[2] c_quat[3] c_quat[4] -#dump_modify quat sort id -#dump_modify quat format line "%d %13.6le %13.6le %13.6le %13.6le" +compute quat all property/atom quatw quati quatj quatk compute erot all erotate/asphere compute ekin all ke @@ -72,10 +62,10 @@ variable epot equal c_epot variable etot equal c_erot+c_ekin+c_epot fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes -#dump out all custom ${ofreq} out.${number}.txt id x y z vx vy vz fx fy fz tqx tqy tqz -#dump_modify out sort id -#dump_modify out format line "%d %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le" +dump out all custom ${ofreq} out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump_modify out sort id +dump_modify out format line "%d %d %d %22.15le %22.15le %22.15le %d %d %d %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le" run 1000000 -#write_restart config.${number}.* +write_data last_config.${number}.* nocoeff diff --git a/examples/PACKAGES/cgdna/examples/oxDNA2/duplex3/log.27May21.duplex3.g++.1 b/examples/PACKAGES/cgdna/examples/oxDNA2/duplex3/log.27May21.duplex3.g++.1 new file mode 100644 index 0000000000..ac55cbd994 --- /dev/null +++ b/examples/PACKAGES/cgdna/examples/oxDNA2/duplex3/log.27May21.duplex3.g++.1 @@ -0,0 +1,1181 @@ +LAMMPS (27 May 2021) +variable number equal 3 +variable ofreq equal 1000 +variable efreq equal 1000 +variable T equal 0.1 +variable rhos equal 0.2 + +units lj + +dimension 3 + +newton off + +boundary p p p + +atom_style hybrid bond ellipsoid oxdna +WARNING: Atom style hybrid defines both, per-type and per-atom masses; both must be set, but only per-atom masses will be used (../atom_vec_hybrid.cpp:157) +atom_modify sort 0 1.0 + +# Pair interactions require lists of neighbours to be calculated +neighbor 2.0 bin +neigh_modify every 1 delay 0 check yes + +read_data data.duplex3 +Reading data file ... + orthogonal box = (-20.000000 -20.000000 -20.000000) to (20.000000 20.000000 20.000000) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 10 atoms + reading velocities ... + 10 velocities + scanning bonds ... + 2 = max bonds/atom + 10 ellipsoids + reading bonds ... +Setting oxDNA 3'->5' bond directionality ... + 8 bonds +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 + 2 = max # of 1-3 neighbors + 2 = max # of 1-4 neighbors + 4 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.003 seconds + +set atom * mass 1.0 +Setting atom values ... + 10 settings made for mass + +group all type 1 4 +10 atoms in group all + +# oxDNA2 bond interactions - FENE backbone +bond_style oxdna2/fene +bond_coeff * 2.0 0.25 0.7564 +special_bonds lj 0 1 1 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 1 1 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 2 = max # of 1-3 neighbors + 2 = max # of 1-4 neighbors + 4 = max # of special neighbors + special bonds CPU = 0.000 seconds + +# oxDNA2 pair interactions +pair_style hybrid/overlay oxdna2/excv oxdna2/stk oxdna2/hbond oxdna2/xstk oxdna2/coaxstk oxdna2/dh +pair_coeff * * oxdna2/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32 +pair_coeff * * oxdna2/stk seqdep ${T} 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 +pair_coeff * * oxdna2/stk seqdep 0.1 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 +pair_coeff * * oxdna2/hbond seqdep 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 1 4 oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 2 3 oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff * * oxdna2/xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68 +pair_coeff * * oxdna2/coaxstk 58.5 0.4 0.6 0.22 0.58 2.0 2.891592653589793 0.65 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 40.0 3.116592653589793 +pair_coeff * * oxdna2/dh ${T} ${rhos} 0.815 +pair_coeff * * oxdna2/dh 0.1 ${rhos} 0.815 +pair_coeff * * oxdna2/dh 0.1 0.2 0.815 + +# NVE ensemble +fix 1 all nve/asphere +#fix 2 all langevin ${T} ${T} 2.5 457145 angmom 10 + +timestep 1e-5 + +#comm_style tiled +fix 3 all balance 1000 1.03 shift xyz 10 1.03 +comm_modify cutoff 3.8 + +compute quat all property/atom quatw quati quatj quatk + +compute erot all erotate/asphere +compute ekin all ke +compute epot all pe +variable erot equal c_erot +variable ekin equal c_ekin +variable epot equal c_epot +variable etot equal c_erot+c_ekin+c_epot +fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes +fix 5 all print 1000 "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes + +dump out all custom ${ofreq} out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump out all custom 1000 out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump out all custom 1000 out.3.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump_modify out sort id +dump_modify out format line "%d %d %d %22.15le %22.15le %22.15le %d %d %d %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le" + +run 1000000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 5.6389877 + ghost atom cutoff = 5.6389877 + binsize = 2.8194939, bins = 15 15 15 + 5 neighbor lists, perpetual/occasional/extra = 5 0 0 + (1) pair oxdna2/excv, perpetual + attributes: half, newton off + pair build: half/bin/newtoff + stencil: full/bin/3d + bin: standard + (2) pair oxdna2/hbond, perpetual, copy from (1) + attributes: half, newton off + pair build: copy + stencil: none + bin: none + (3) pair oxdna2/xstk, perpetual, copy from (1) + attributes: half, newton off + pair build: copy + stencil: none + bin: none + (4) pair oxdna2/coaxstk, perpetual, copy from (1) + attributes: half, newton off + pair build: copy + stencil: none + bin: none + (5) pair oxdna2/dh, perpetual, copy from (1) + attributes: half, newton off + pair build: copy + stencil: none + bin: none +WARNING: Communication cutoff adjusted to 5.638987723814632 (../comm.cpp:739) +0 ekin = 1.18025158324274 | erot = 2.17908479136507 | epot = -11.4931199991265 | etot = -8.13378362451864 +Per MPI rank memory allocation (min/avg/max) = 9.448 | 9.448 | 9.448 Mbytes +Step Temp E_pair E_mol TotEng Press Volume + 0 0.087426043 -1.2259004 0.076588446 -1.0312868 -7.7802026e-06 64000 +1000 ekin = 1.08696491147664 | erot = 2.23197650714075 | epot = -11.4527250425129 | etot = -8.13378362389549 +2000 ekin = 1.01265115460252 | erot = 2.29132031278141 | epot = -11.4377550908151 | etot = -8.13378362343119 +3000 ekin = 0.964951920610361 | erot = 2.35614244814783 | epot = -11.4548779921653 | etot = -8.13378362340706 +4000 ekin = 0.945861179227109 | erot = 2.42482489276794 | epot = -11.504469695762 | etot = -8.13378362376699 +5000 ekin = 0.952186940161594 | erot = 2.49508744948287 | epot = -11.5810580140496 | etot = -8.13378362440513 +6000 ekin = 0.976836955567338 | erot = 2.56435791368456 | epot = -11.6749784943528 | etot = -8.1337836251009 +7000 ekin = 1.01151727363105 | erot = 2.63034980765842 | epot = -11.7756507069156 | etot = -8.13378362562613 +8000 ekin = 1.04963768886897 | erot = 2.69159648304405 | epot = -11.8750177977506 | etot = -8.13378362583758 +9000 ekin = 1.08831406483925 | erot = 2.74768757650641 | epot = -11.9697852671577 | etot = -8.133783625812 +10000 ekin = 1.12769894654433 | erot = 2.79881902231422 | epot = -12.0603015945014 | etot = -8.13378362564289 +11000 ekin = 1.16997706279096 | erot = 2.84539220453504 | epot = -12.1491528928086 | etot = -8.13378362548262 +12000 ekin = 1.21772825403563 | erot = 2.88753582693543 | epot = -12.2390477064186 | etot = -8.13378362544753 +13000 ekin = 1.2724727764863 | erot = 2.92478423931379 | epot = -12.3310406413901 | etot = -8.13378362559001 +14000 ekin = 1.33384628320073 | erot = 2.95599632290764 | epot = -12.4236262320191 | etot = -8.13378362591071 +15000 ekin = 1.39936071611664 | erot = 2.97947113417335 | epot = -12.512615476685 | etot = -8.13378362639499 +16000 ekin = 1.46443870928024 | erot = 2.99312358077433 | epot = -12.5913459174139 | etot = -8.13378362735931 +17000 ekin = 1.52113741921509 | erot = 2.9943026010584 | epot = -12.6492236482456 | etot = -8.13378362797207 +18000 ekin = 1.56143918576787 | erot = 2.98098620608849 | epot = -12.6762090203242 | etot = -8.13378362846781 +19000 ekin = 1.57873438318794 | erot = 2.95206674454563 | epot = -12.6645847564923 | etot = -8.13378362875874 +20000 ekin = 1.56841348053791 | erot = 2.90735147312963 | epot = -12.6095485824455 | etot = -8.133783628778 +21000 ekin = 1.52886464109308 | erot = 2.84765291368983 | epot = -12.5103011832753 | etot = -8.13378362849243 +22000 ekin = 1.46209217703488 | erot = 2.77478397647202 | epot = -12.3706597813886 | etot = -8.13378362788172 +23000 ekin = 1.37376733102673 | erot = 2.6915572831373 | epot = -12.1991082412398 | etot = -8.13378362707573 +24000 ekin = 1.27262109890791 | erot = 2.60118350194759 | epot = -12.0075882269997 | etot = -8.13378362614423 +25000 ekin = 1.16926502294375 | erot = 2.50703692695192 | epot = -11.8100855751042 | etot = -8.13378362520853 +26000 ekin = 1.0747148994514 | erot = 2.41235840152815 | epot = -11.6208569253572 | etot = -8.13378362437762 +27000 ekin = 0.998982995755809 | erot = 2.31997753232677 | epot = -11.4527441518066 | etot = -8.13378362372405 +28000 ekin = 0.950065052892319 | erot = 2.23215621537589 | epot = -11.3160048915417 | etot = -8.13378362327347 +29000 ekin = 0.933483801722587 | erot = 2.15056100102976 | epot = -11.2178284257646 | etot = -8.13378362301223 +30000 ekin = 0.95233516433604 | erot = 2.07633501131224 | epot = -11.1624537985557 | etot = -8.13378362290739 +31000 ekin = 1.00761822011315 | erot = 2.01025995539434 | epot = -11.1516617984317 | etot = -8.13378362292424 +32000 ekin = 1.09859027316477 | erot = 1.95287201474931 | epot = -11.1852459109706 | etot = -8.13378362305649 +33000 ekin = 1.2229634825769 | erot = 1.90442653272443 | epot = -11.2611736386122 | etot = -8.13378362331086 +34000 ekin = 1.37683793249577 | erot = 1.8649833610543 | epot = -11.3756049172808 | etot = -8.13378362373071 +35000 ekin = 1.55422271443449 | erot = 1.83436013830191 | epot = -11.5223664771471 | etot = -8.13378362441069 +36000 ekin = 1.74589607048132 | erot = 1.81205442227464 | epot = -11.6917341182485 | etot = -8.13378362549252 +37000 ekin = 1.93777565280851 | erot = 1.79705197600549 | epot = -11.8686112558399 | etot = -8.13378362702594 +38000 ekin = 2.11051089015034 | erot = 1.78782890330234 | epot = -12.0321234221666 | etot = -8.13378362871392 +39000 ekin = 2.24321482588503 | erot = 1.78271510837231 | epot = -12.1597135641243 | etot = -8.133783629867 +40000 ekin = 2.32146151921639 | erot = 1.78073283005123 | epot = -12.2359779791646 | etot = -8.13378362989703 +41000 ekin = 2.34386750101386 | erot = 1.78241563043111 | epot = -12.2600667603297 | etot = -8.13378362888477 +42000 ekin = 2.32118218527095 | erot = 1.78979050959074 | epot = -12.2447563223397 | etot = -8.133783627478 +43000 ekin = 2.26309111555158 | erot = 1.80539262076469 | epot = -12.2022673943963 | etot = -8.13378365808002 +44000 ekin = 2.15856242114831 | erot = 1.84609032619602 | epot = -12.1384363880306 | etot = -8.13378364068628 +45000 ekin = 2.08936731003525 | erot = 1.88904724563036 | epot = -12.1121981822921 | etot = -8.13378362662651 +46000 ekin = 1.9964611597006 | erot = 1.93503982400423 | epot = -12.0652846104764 | etot = -8.13378362677155 +47000 ekin = 1.89712577412051 | erot = 1.98806984898582 | epot = -12.0189792501525 | etot = -8.13378362704613 +48000 ekin = 1.79036864863104 | erot = 2.04496273496233 | epot = -11.9691150108767 | etot = -8.13378362728334 +49000 ekin = 1.67630116263937 | erot = 2.10216327906907 | epot = -11.9122480690704 | etot = -8.13378362736196 +50000 ekin = 1.55727015247065 | erot = 2.15637892895979 | epot = -11.8474327086503 | etot = -8.13378362721984 +51000 ekin = 1.43817433709145 | erot = 2.20514040032694 | epot = -11.7770983642843 | etot = -8.13378362686593 +52000 ekin = 1.32596547232174 | erot = 2.24710946475006 | epot = -11.7068585634503 | etot = -8.13378362637853 +53000 ekin = 1.22848082922914 | erot = 2.2820475921038 | epot = -11.6443120472107 | etot = -8.13378362587772 +54000 ekin = 1.15295119316271 | erot = 2.31049933939888 | epot = -11.5972341580451 | etot = -8.13378362548352 +55000 ekin = 1.10463170766328 | erot = 2.33334681406839 | epot = -11.5717621470129 | etot = -8.13378362528126 +56000 ekin = 1.08590799517335 | erot = 2.35139880092329 | epot = -11.5710904214036 | etot = -8.133783625307 +57000 ekin = 1.09599893485501 | erot = 2.36511154450529 | epot = -11.5948941049137 | etot = -8.13378362555341 +58000 ekin = 1.13119803471017 | erot = 2.37445830578815 | epot = -11.6394399664723 | etot = -8.13378362597402 +59000 ekin = 1.18549837183919 | erot = 2.37891691863231 | epot = -11.6981989169902 | etot = -8.13378362651871 +60000 ekin = 1.25136230662771 | erot = 2.37755306615247 | epot = -11.7626989998987 | etot = -8.1337836271185 +61000 ekin = 1.32065657328812 | erot = 2.3691782337931 | epot = -11.8236184347914 | etot = -8.13378362771016 +62000 ekin = 1.38555350991078 | erot = 2.35258911579052 | epot = -11.871926253894 | etot = -8.13378362819273 +63000 ekin = 1.43966787267656 | erot = 2.32682848519596 | epot = -11.900279986355 | etot = -8.13378362848243 +64000 ekin = 1.47909503438177 | erot = 2.29144993715397 | epot = -11.904328600069 | etot = -8.13378362853329 +65000 ekin = 1.50288049774097 | erot = 2.24670960905114 | epot = -11.8833737351501 | etot = -8.13378362835798 +66000 ekin = 1.5127450759902 | erot = 2.19359684183 | epot = -11.8401255458509 | etot = -8.13378362803075 +67000 ekin = 1.51208659633015 | erot = 2.13371356874813 | epot = -11.7795837927184 | etot = -8.13378362764017 +68000 ekin = 1.50462166617945 | erot = 2.06904733139784 | epot = -11.7074526249093 | etot = -8.13378362733203 +69000 ekin = 1.49293889166151 | erot = 2.00167765430527 | epot = -11.6284001731037 | etot = -8.13378362713692 +70000 ekin = 1.47793621174634 | erot = 1.93361210060374 | epot = -11.5453319394055 | etot = -8.13378362705547 +71000 ekin = 1.45891349102838 | erot = 1.86670994694699 | epot = -11.4594070650146 | etot = -8.13378362703923 +72000 ekin = 1.43427842101615 | erot = 1.80270883809022 | epot = -11.3707708861216 | etot = -8.13378362701521 +73000 ekin = 1.40258583891021 | erot = 1.74331039193092 | epot = -11.2796798577521 | etot = -8.13378362691097 +74000 ekin = 1.36359371155269 | erot = 1.69025647754919 | epot = -11.1876338157821 | etot = -8.13378362668024 +75000 ekin = 1.31886252565201 | erot = 1.64533820718028 | epot = -11.0979843591716 | etot = -8.13378362633934 +76000 ekin = 1.27181692773741 | erot = 1.61030043593592 | epot = -11.0159009896013 | etot = -8.13378362592798 +77000 ekin = 1.22767338921994 | erot = 1.58670952555608 | epot = -10.9481665402833 | etot = -8.1337836255073 +78000 ekin = 1.19187425881965 | erot = 1.57555521121131 | epot = -10.9012130952116 | etot = -8.13378362518063 +79000 ekin = 1.16922470588817 | erot = 1.5771660153409 | epot = -10.8801743462041 | etot = -8.133783624975 +80000 ekin = 1.16351312193735 | erot = 1.59112852775418 | epot = -10.8884252746035 | etot = -8.13378362491193 +81000 ekin = 1.17709123428941 | erot = 1.61633850893096 | epot = -10.9272133682121 | etot = -8.1337836249917 +82000 ekin = 1.21064005584025 | erot = 1.65118762576695 | epot = -10.9956113068161 | etot = -8.13378362520889 +83000 ekin = 1.26297331742732 | erot = 1.69382675572848 | epot = -11.0905836987108 | etot = -8.13378362555503 +84000 ekin = 1.33092648687658 | erot = 1.74243133123673 | epot = -11.2071414441142 | etot = -8.13378362600085 +85000 ekin = 1.40961218427362 | erot = 1.7954064033782 | epot = -11.3388022141303 | etot = -8.13378362647843 +86000 ekin = 1.49330005467921 | erot = 1.85150064414008 | epot = -11.478584325705 | etot = -8.13378362688575 +87000 ekin = 1.57653380716702 | erot = 1.90982169886824 | epot = -11.6201391333936 | etot = -8.13378362735836 +88000 ekin = 1.65416408678856 | erot = 1.96971725895481 | epot = -11.7576649732582 | etot = -8.13378362751481 +89000 ekin = 1.72360216634181 | erot = 2.03055934337529 | epot = -11.8879451373045 | etot = -8.1337836275874 +90000 ekin = 1.785009845894 | erot = 2.09126219979601 | epot = -12.0100556734362 | etot = -8.13378362774622 +91000 ekin = 1.83789001415892 | erot = 2.15001837237356 | epot = -12.1216920145417 | etot = -8.13378362800922 +92000 ekin = 1.87517809322897 | erot = 2.20985483887517 | epot = -12.21881656028 | etot = -8.1337836281759 +93000 ekin = 1.90356384535099 | erot = 2.26204903047949 | epot = -12.2993965046575 | etot = -8.13378362882701 +94000 ekin = 1.91566641673062 | erot = 2.30892488078268 | epot = -12.3583749263608 | etot = -8.13378362884745 +95000 ekin = 1.9109576938402 | erot = 2.34997522029996 | epot = -12.3947165431007 | etot = -8.13378362896051 +96000 ekin = 1.88948402498914 | erot = 2.38411475951057 | epot = -12.4073824132803 | etot = -8.13378362878061 +97000 ekin = 1.85343811133912 | erot = 2.4113304629222 | epot = -12.3985522027163 | etot = -8.13378362845495 +98000 ekin = 1.8068427523029 | erot = 2.43203206054824 | epot = -12.3726584408911 | etot = -8.13378362803995 +99000 ekin = 1.75478641123191 | erot = 2.44692977736841 | epot = -12.3354998162068 | etot = -8.13378362760648 +100000 ekin = 1.69590911435714 | erot = 2.45386958409525 | epot = -12.2835623848859 | etot = -8.1337836864335 +101000 ekin = 1.68113249375248 | erot = 2.36572534112453 | epot = -12.1806414642139 | etot = -8.13378362933689 +102000 ekin = 1.7267856590017 | erot = 2.35051337712499 | epot = -12.2110826965905 | etot = -8.13378366046378 +103000 ekin = 1.68338599487705 | erot = 2.35411811039604 | epot = -12.1712877656948 | etot = -8.13378366042173 +104000 ekin = 1.64323586412853 | erot = 2.35701648102718 | epot = -12.1340360056519 | etot = -8.13378366049622 +105000 ekin = 1.60584113472054 | erot = 2.35932964102246 | epot = -12.0989544363531 | etot = -8.1337836606101 +106000 ekin = 1.57044138011807 | erot = 2.36092776943221 | epot = -12.0651528102264 | etot = -8.13378366067613 +107000 ekin = 1.53705400250973 | erot = 2.36166253248191 | epot = -12.0325001956581 | etot = -8.13378366066648 +108000 ekin = 1.50696391591126 | erot = 2.3612855734919 | epot = -12.0020331499846 | etot = -8.13378366058145 +109000 ekin = 1.48244426546657 | erot = 2.35938088270994 | epot = -11.9756088087053 | etot = -8.13378366052874 +110000 ekin = 1.46539913148075 | erot = 2.35530683146149 | epot = -11.9544896235796 | etot = -8.13378366063734 +111000 ekin = 1.45548748017616 | erot = 2.34818065606081 | epot = -11.9374517972408 | etot = -8.13378366100382 +112000 ekin = 1.44872729612952 | erot = 2.3369554826694 | epot = -11.9194664403751 | etot = -8.13378366157621 +113000 ekin = 1.43805495586496 | erot = 2.32068695509389 | epot = -11.8925255730876 | etot = -8.13378366212871 +114000 ekin = 1.41640788690877 | erot = 2.29883886662103 | epot = -11.8490304158909 | etot = -8.13378366236113 +115000 ekin = 1.3806378182208 | erot = 2.27153218573294 | epot = -11.7859536655159 | etot = -8.13378366156219 +116000 ekin = 1.3363054030841 | erot = 2.23942220246119 | epot = -11.7095112666475 | etot = -8.13378366110222 +117000 ekin = 1.29001229198302 | erot = 2.20380811829898 | epot = -11.6276040708683 | etot = -8.13378366058632 +118000 ekin = 1.2471154883471 | erot = 2.16635124019895 | epot = -11.5472503887776 | etot = -8.13378366023153 +119000 ekin = 1.21073685469415 | erot = 2.12872161390258 | epot = -11.4732421286711 | etot = -8.13378366007441 +120000 ekin = 1.18115748419429 | erot = 2.09256534610061 | epot = -11.40750649033 | etot = -8.13378366003514 +121000 ekin = 1.15688642101082 | erot = 2.05947511288391 | epot = -11.3501451939309 | etot = -8.13378366003619 +122000 ekin = 1.13593168276749 | erot = 2.03084061403901 | epot = -11.3005559568652 | etot = -8.13378366005868 +123000 ekin = 1.11638811965923 | erot = 2.00761097209058 | epot = -11.2577827519199 | etot = -8.13378366017012 +124000 ekin = 1.09616325371727 | erot = 1.99019695902073 | epot = -11.2201438730112 | etot = -8.13378366027324 +125000 ekin = 1.07358508996122 | erot = 1.97820026039366 | epot = -11.1855690107827 | etot = -8.13378366042782 +126000 ekin = 1.04712198978498 | erot = 1.9703093700724 | epot = -11.1512150205173 | etot = -8.1337836606599 +127000 ekin = 1.01560359550538 | erot = 1.96476336054353 | epot = -11.1141506168026 | etot = -8.13378366075366 +128000 ekin = 0.979281846652461 | erot = 1.95990906194967 | epot = -11.0729745693076 | etot = -8.13378366070543 +129000 ekin = 0.940294043230153 | erot = 1.95428772921574 | epot = -11.0283654329015 | etot = -8.1337836604556 +130000 ekin = 0.902735823607613 | erot = 1.94710047764783 | epot = -10.9836199613556 | etot = -8.13378366010013 +131000 ekin = 0.872329759140091 | erot = 1.93820575526851 | epot = -10.9443191739575 | etot = -8.13378365954893 +132000 ekin = 0.855045600562661 | erot = 1.92803271303708 | epot = -10.91686197287 | etot = -8.13378365927029 +133000 ekin = 0.854775562822957 | erot = 1.91694878880986 | epot = -10.9055080107091 | etot = -8.13378365907624 +134000 ekin = 0.873981086379292 | erot = 1.90549522489472 | epot = -10.9132599702538 | etot = -8.13378365897974 +135000 ekin = 0.913690181742145 | erot = 1.89429118508536 | epot = -10.9417650257947 | etot = -8.13378365896716 +136000 ekin = 0.973734451665867 | erot = 1.88395321784255 | epot = -10.9914713285358 | etot = -8.13378365902736 +137000 ekin = 1.05255313135959 | erot = 1.87488800080386 | epot = -11.061224792006 | etot = -8.13378365984251 +138000 ekin = 1.14435249948545 | erot = 1.8662689721206 | epot = -11.1444051316855 | etot = -8.13378366007948 +139000 ekin = 1.24448357091338 | erot = 1.8582143500676 | epot = -11.2364815813236 | etot = -8.13378366034262 +140000 ekin = 1.34860347563747 | erot = 1.85113522079124 | epot = -11.3335223570932 | etot = -8.1337836606645 +141000 ekin = 1.45162669266304 | erot = 1.84534635451925 | epot = -11.430756708267 | etot = -8.13378366108474 +142000 ekin = 1.54663919844502 | erot = 1.84103156950906 | epot = -11.5214544297491 | etot = -8.13378366179501 +143000 ekin = 1.62470110239408 | erot = 1.83813053702609 | epot = -11.5966153018864 | etot = -8.13378366246618 +144000 ekin = 1.67710589256287 | erot = 1.83622813336409 | epot = -11.6471176890259 | etot = -8.13378366309898 +145000 ekin = 1.69650852159047 | erot = 1.83477115527449 | epot = -11.6650633403349 | etot = -8.13378366346991 +146000 ekin = 1.6799825027065 | erot = 1.83334306418678 | epot = -11.6471092301924 | etot = -8.13378366329909 +147000 ekin = 1.63255928725504 | erot = 1.83204496822992 | epot = -11.5983879178782 | etot = -8.13378366239327 +148000 ekin = 1.56926257377443 | erot = 1.83182914755782 | epot = -11.5348753821883 | etot = -8.13378366085607 +149000 ekin = 1.5130082497773 | erot = 1.8345272799431 | epot = -11.4813191889253 | etot = -8.13378365920492 +150000 ekin = 1.4872496378471 | erot = 1.84235837448555 | epot = -11.4633916705174 | etot = -8.1337836581848 +151000 ekin = 1.50619323822985 | erot = 1.85697474829955 | epot = -11.4969516448356 | etot = -8.13378365830622 +152000 ekin = 1.56855992602591 | erot = 1.8784728263849 | epot = -11.5808164119014 | etot = -8.1337836594906 +153000 ekin = 1.659144896466 | erot = 1.90493735115907 | epot = -11.6978659087716 | etot = -8.13378366114655 +154000 ekin = 1.75680978950758 | erot = 1.93282846213553 | epot = -11.8234219142217 | etot = -8.1337836625786 +155000 ekin = 1.84344901658449 | erot = 1.95802697046832 | epot = -11.9352596504334 | etot = -8.13378366338056 +156000 ekin = 1.90893795388443 | erot = 1.97697594926066 | epot = -12.0196975667215 | etot = -8.13378366357642 +157000 ekin = 1.95061494385923 | erot = 1.98738512433497 | epot = -12.0717837316312 | etot = -8.13378366343705 +158000 ekin = 1.96976178337713 | erot = 1.98837447181473 | epot = -12.0919199183611 | etot = -8.13378366316927 +159000 ekin = 1.96892634677231 | erot = 1.98033790354813 | epot = -12.0830479131017 | etot = -8.13378366278126 +160000 ekin = 1.9516760180595 | erot = 1.96478101829957 | epot = -12.050240698581 | etot = -8.13378366222189 +161000 ekin = 1.92323849263791 | erot = 1.94408396543495 | epot = -12.001106119617 | etot = -8.13378366154412 +162000 ekin = 1.89012785139911 | erot = 1.92106669306923 | epot = -11.9449782053599 | etot = -8.13378366089159 +163000 ekin = 1.85873206626373 | erot = 1.89844726529898 | epot = -11.8909629919524 | etot = -8.13378366038965 +164000 ekin = 1.83396756863943 | erot = 1.87841814938186 | epot = -11.8461693781076 | etot = -8.13378366008633 +165000 ekin = 1.81873657814088 | erot = 1.86247026312249 | epot = -11.8149905012201 | etot = -8.13378365995669 +166000 ekin = 1.81415764355322 | erot = 1.85144128795253 | epot = -11.7993825914514 | etot = -8.1337836599456 +167000 ekin = 1.82014338462818 | erot = 1.84569577974688 | epot = -11.7996228243663 | etot = -8.1337836599912 +168000 ekin = 1.83604973591334 | erot = 1.84534918673525 | epot = -11.8151825826932 | etot = -8.13378366004457 +169000 ekin = 1.86118807804032 | erot = 1.85047766429904 | epot = -11.8454494024153 | etot = -8.13378366007595 +170000 ekin = 1.89508209492126 | erot = 1.86127600745024 | epot = -11.8901417624553 | etot = -8.13378366008384 +171000 ekin = 1.93739070093814 | erot = 1.87813927221141 | epot = -11.9493136332464 | etot = -8.13378366009684 +172000 ekin = 1.98746465492706 | erot = 1.90165699566163 | epot = -12.0229053107602 | etot = -8.13378366017153 +173000 ekin = 2.04358732260736 | erot = 1.93252470914458 | epot = -12.1098956921179 | etot = -8.13378366036599 +174000 ekin = 2.10212586880692 | erot = 1.9713911136612 | epot = -12.2073006432561 | etot = -8.13378366078798 +175000 ekin = 2.15653164019911 | erot = 2.01868623997432 | epot = -12.3090015416377 | etot = -8.13378366146426 +176000 ekin = 2.19700590631317 | erot = 2.07444517694542 | epot = -12.4052347456347 | etot = -8.13378366237607 +177000 ekin = 2.21275117726748 | erot = 2.13809655452265 | epot = -12.4846313951108 | etot = -8.13378366332064 +178000 ekin = 2.19103084137816 | erot = 2.20849637361836 | epot = -12.5333108794522 | etot = -8.13378366445569 +179000 ekin = 2.0500295875572 | erot = 2.27647492405869 | epot = -12.4602881626278 | etot = -8.13378365101191 +180000 ekin = 2.00100366281084 | erot = 2.36086155180544 | epot = -12.49564888609 | etot = -8.13378367147368 +181000 ekin = 1.82885344502819 | erot = 2.44444025932702 | epot = -12.4070773745337 | etot = -8.13378367017847 +182000 ekin = 1.62724610560594 | erot = 2.53221325513872 | epot = -12.2932430288217 | etot = -8.13378366807706 +183000 ekin = 1.42880501135671 | erot = 2.62540058534349 | epot = -12.1879892625419 | etot = -8.13378366584172 +184000 ekin = 1.26714962832124 | erot = 2.72561981850446 | epot = -12.1265531111181 | etot = -8.13378366429242 +185000 ekin = 1.16606552757969 | erot = 2.83366450732262 | epot = -12.1335136988422 | etot = -8.13378366393991 +186000 ekin = 1.13327188784896 | erot = 2.94811459460546 | epot = -12.2151701472116 | etot = -8.13378366475722 +187000 ekin = 1.16127663962576 | erot = 3.06454091657731 | epot = -12.3596012225475 | etot = -8.13378366634445 +188000 ekin = 1.23275799228642 | erot = 3.17578119614188 | epot = -12.5423228566629 | etot = -8.13378366823461 +189000 ekin = 1.32637276316072 | erot = 3.27316596760526 | epot = -12.7333224008237 | etot = -8.13378367005767 +190000 ekin = 1.42100795808807 | erot = 3.34817980173637 | epot = -12.9029714313702 | etot = -8.13378367154575 +191000 ekin = 1.49794111549843 | erot = 3.39410379075346 | epot = -13.0258285788618 | etot = -8.13378367260988 +192000 ekin = 1.54262156679656 | erot = 3.4072016542923 | epot = -13.0836068940668 | etot = -8.13378367297795 +193000 ekin = 1.54797240883502 | erot = 3.38715231466146 | epot = -13.0689083961198 | etot = -8.13378367262328 +194000 ekin = 1.51467582661458 | erot = 3.33705387754744 | epot = -12.9855133757564 | etot = -8.13378367159443 +195000 ekin = 1.45101621748247 | erot = 3.2626931288523 | epot = -12.8474930164474 | etot = -8.13378367011261 +196000 ekin = 1.37083042970781 | erot = 3.17132041678911 | epot = -12.6759345150009 | etot = -8.13378366850402 +197000 ekin = 1.29009120536726 | erot = 3.070362659358 | epot = -12.4942375317752 | etot = -8.13378366704997 +198000 ekin = 1.22364196643961 | erot = 2.96652382643999 | epot = -12.3239494587833 | etot = -8.13378366590366 +199000 ekin = 1.18307710083256 | erot = 2.86542144217758 | epot = -12.1822822081301 | etot = -8.13378366511998 +200000 ekin = 1.17564340951927 | erot = 2.77158698378744 | epot = -12.0810140580301 | etot = -8.13378366472343 +201000 ekin = 1.20359619391753 | erot = 2.68856918537176 | epot = -12.0259490440297 | etot = -8.13378366474036 +202000 ekin = 1.26374726413799 | erot = 2.61894189740052 | epot = -12.0164728267167 | etot = -8.13378366517818 +203000 ekin = 1.34751597563128 | erot = 2.56419616426444 | epot = -12.0454958058709 | etot = -8.13378366597521 +204000 ekin = 1.44203337890014 | erot = 2.52468734318922 | epot = -12.1005043890645 | etot = -8.13378366697514 +205000 ekin = 1.53246038205369 | erot = 2.49972903140502 | epot = -12.1659730814068 | etot = -8.13378366794806 +206000 ekin = 1.60510558525686 | erot = 2.48793425280268 | epot = -12.226823506722 | etot = -8.13378366866246 +207000 ekin = 1.6503955672318 | erot = 2.48771410987726 | epot = -12.2718933460774 | etot = -8.13378366896831 +208000 ekin = 1.6647192426388 | erot = 2.49772662877186 | epot = -12.2962295402584 | etot = -8.13378366884771 +209000 ekin = 1.65060780281985 | erot = 2.51706178773876 | epot = -12.3014532589741 | etot = -8.13378366841553 +210000 ekin = 1.6152961353015 | erot = 2.54506818372093 | epot = -12.2941479869023 | etot = -8.13378366787986 +211000 ekin = 1.56815998339941 | erot = 2.58088870847273 | epot = -12.2828323593492 | etot = -8.1337836674771 +212000 ekin = 1.51779769211966 | erot = 2.62289115839993 | epot = -12.2744725179132 | etot = -8.13378366739362 +213000 ekin = 1.46970697786411 | erot = 2.66822787294319 | epot = -12.2717185184984 | etot = -8.13378366769114 +214000 ekin = 1.42551121611936 | erot = 2.71271314915558 | epot = -12.2720080334461 | etot = -8.1337836681712 +215000 ekin = 1.38449526701769 | erot = 2.75113858809828 | epot = -12.2694175238335 | etot = -8.13378366871751 +216000 ekin = 1.34611450510656 | erot = 2.77818905444611 | epot = -12.2580872284511 | etot = -8.13378366889838 +217000 ekin = 1.31348152811926 | erot = 2.7896405318765 | epot = -12.2369057285547 | etot = -8.13378366855898 +218000 ekin = 1.29458639919466 | erot = 2.78319145109127 | epot = -12.2115615182389 | etot = -8.13378366795296 +219000 ekin = 1.29978448123113 | erot = 2.75785865494217 | epot = -12.1914268036072 | etot = -8.13378366743386 +220000 ekin = 1.33694784981763 | erot = 2.7136363430195 | epot = -12.1843678601775 | etot = -8.13378366734035 +221000 ekin = 1.40745643921106 | erot = 2.65092088134252 | epot = -12.1921609882712 | etot = -8.13378366771763 +222000 ekin = 1.50572252625996 | erot = 2.57029476952272 | epot = -12.2098009641037 | etot = -8.13378366832102 +223000 ekin = 1.62210843375796 | erot = 2.47289007334085 | epot = -12.2287821759282 | etot = -8.13378366882936 +224000 ekin = 1.74679393022953 | erot = 2.36097135919324 | epot = -12.2415489584554 | etot = -8.1337836690326 +225000 ekin = 1.87205636329989 | erot = 2.23842454190504 | epot = -12.2442645742133 | etot = -8.13378366900838 +226000 ekin = 1.99134598106712 | erot = 2.11064622098391 | epot = -12.2357758711293 | etot = -8.13378366907824 +227000 ekin = 2.09586639151718 | erot = 1.9836470405116 | epot = -12.2132971015581 | etot = -8.1337836695293 +228000 ekin = 2.17197666667466 | erot = 1.86293503717766 | epot = -12.1686953741912 | etot = -8.13378367033886 +229000 ekin = 2.20263173192656 | erot = 1.75265294154698 | epot = -12.0890683445905 | etot = -8.133783671117 +230000 ekin = 2.17321554606928 | erot = 1.65532359970842 | epot = -11.9623228171293 | etot = -8.13378367135164 +231000 ekin = 2.07854920573229 | erot = 1.57213281486697 | epot = -11.7844656913359 | etot = -8.13378367073669 +232000 ekin = 1.92671195021964 | erot = 1.50340464294821 | epot = -11.5639002625321 | etot = -8.13378366936424 +233000 ekin = 1.73729705956061 | erot = 1.44896834770241 | epot = -11.320049074932 | etot = -8.13378366766899 +234000 ekin = 1.53556953354815 | erot = 1.40834045937497 | epot = -11.0776936590029 | etot = -8.13378366607974 +235000 ekin = 1.34558700580172 | erot = 1.38078818073889 | epot = -10.8601588514745 | etot = -8.13378366493391 +236000 ekin = 1.18525206422618 | erot = 1.36570263210385 | epot = -10.6847383605463 | etot = -8.13378366421624 +237000 ekin = 1.06637029724371 | erot = 1.36251012102833 | epot = -10.5626640820865 | etot = -8.13378366381442 +238000 ekin = 0.995491212021415 | erot = 1.37070429771399 | epot = -10.4999791733994 | etot = -8.13378366366397 +239000 ekin = 0.975031518632071 | erot = 1.38971384126899 | epot = -10.49852902367 | etot = -8.13378366376892 +240000 ekin = 1.00352423904758 | erot = 1.4186603402425 | epot = -10.5559682434632 | etot = -8.13378366417311 +241000 ekin = 1.07556704774244 | erot = 1.45612900246834 | epot = -10.6654797151283 | etot = -8.13378366491751 +242000 ekin = 1.18122375067339 | erot = 1.49994629855496 | epot = -10.8149537152528 | etot = -8.13378366602447 +243000 ekin = 1.30634294707463 | erot = 1.54703331020089 | epot = -10.9871599246161 | etot = -8.13378366734062 +244000 ekin = 1.43466609576172 | erot = 1.59374373480244 | epot = -11.1621934990192 | etot = -8.13378366845507 +245000 ekin = 1.55091944171262 | erot = 1.63606515904662 | epot = -11.3207682704728 | etot = -8.13378366971357 +246000 ekin = 1.63963426714594 | erot = 1.67091688012747 | epot = -11.44433481791 | etot = -8.13378367063654 +247000 ekin = 1.68912292676109 | erot = 1.69643192578617 | epot = -11.5193385235868 | etot = -8.13378367103955 +248000 ekin = 1.69418623366497 | erot = 1.71223298155038 | epot = -11.5402028860522 | etot = -8.13378367083691 +249000 ekin = 1.65708464249967 | erot = 1.71943097162633 | epot = -11.5102992843205 | etot = -8.13378367019453 +250000 ekin = 1.58639864685292 | erot = 1.72015982289402 | epot = -11.4403421388607 | etot = -8.13378366911377 +251000 ekin = 1.4955593640773 | erot = 1.71716072440084 | epot = -11.3465037564424 | etot = -8.13378366796425 +252000 ekin = 1.39930346630793 | erot = 1.71298107622663 | epot = -11.2460682095263 | etot = -8.13378366699178 +253000 ekin = 1.31034898359465 | erot = 1.70949093459542 | epot = -11.1536235845406 | etot = -8.13378366635058 +254000 ekin = 1.23716194123275 | erot = 1.70776552340113 | epot = -11.0787111307323 | etot = -8.1337836660984 +255000 ekin = 1.1830573384521 | erot = 1.70821467485075 | epot = -11.0250556794499 | etot = -8.13378366614706 +256000 ekin = 1.14729363432733 | erot = 1.71063275158168 | epot = -10.9917100522905 | etot = -8.13378366638151 +257000 ekin = 1.12650460108618 | erot = 1.71454195552784 | epot = -10.9748302232638 | etot = -8.13378366664974 +258000 ekin = 1.11669715917854 | erot = 1.71938873503291 | epot = -10.9698695610653 | etot = -8.13378366685386 +259000 ekin = 1.11461746403823 | erot = 1.72463904931068 | epot = -10.973040180336 | etot = -8.13378366698711 +260000 ekin = 1.11796213299236 | erot = 1.72976096813939 | epot = -10.981506768234 | etot = -8.13378366710223 +261000 ekin = 1.12495929560755 | erot = 1.73429797646801 | epot = -10.9930409392085 | etot = -8.1337836671329 +262000 ekin = 1.13415334886775 | erot = 1.73799782227182 | epot = -11.0059348383752 | etot = -8.13378366723562 +263000 ekin = 1.14419248657758 | erot = 1.74014341283967 | epot = -11.0181195666639 | etot = -8.13378366724668 +264000 ekin = 1.15486713033053 | erot = 1.7401404967673 | epot = -11.0287912942166 | etot = -8.13378366711881 +265000 ekin = 1.16757148072449 | erot = 1.73774643956173 | epot = -11.0391015871626 | etot = -8.1337836668764 +266000 ekin = 1.18492523334689 | erot = 1.73313774545392 | epot = -11.0518466454007 | etot = -8.13378366659988 +267000 ekin = 1.20976553808707 | erot = 1.72682085390381 | epot = -11.0703700583714 | etot = -8.13378366638055 +268000 ekin = 1.24403111905802 | erot = 1.71946869065433 | epot = -11.0972834759964 | etot = -8.13378366628403 +269000 ekin = 1.28796807043146 | erot = 1.71176934564053 | epot = -11.1335210824081 | etot = -8.13378366633612 +270000 ekin = 1.33984072253416 | erot = 1.70434119615581 | epot = -11.1779655852127 | etot = -8.13378366652273 +271000 ekin = 1.39615730896201 | erot = 1.69774776464813 | epot = -11.227688740386 | etot = -8.13378366677587 +272000 ekin = 1.45234426470507 | erot = 1.69276715684496 | epot = -11.2788950886237 | etot = -8.13378366707369 +273000 ekin = 1.50368133069818 | erot = 1.68992546991268 | epot = -11.3273904679252 | etot = -8.13378366731432 +274000 ekin = 1.54639996325692 | erot = 1.68983337628906 | epot = -11.370017006958 | etot = -8.13378366741207 +275000 ekin = 1.57877490148782 | erot = 1.69332235277359 | epot = -11.405880921593 | etot = -8.13378366733158 +276000 ekin = 1.60168052283352 | erot = 1.70138855155485 | epot = -11.4368527414861 | etot = -8.1337836670977 +277000 ekin = 1.61832490283022 | erot = 1.71502642603267 | epot = -11.4671349956655 | etot = -8.13378366680262 +278000 ekin = 1.63311060675218 | erot = 1.73495415768089 | epot = -11.501848431012 | etot = -8.1337836665789 +279000 ekin = 1.64995273994814 | erot = 1.76130541527939 | epot = -11.5450418217722 | etot = -8.1337836665447 +280000 ekin = 1.67073877093319 | erot = 1.79339849893235 | epot = -11.5979209366104 | etot = -8.1337836667449 +281000 ekin = 1.69438407984855 | erot = 1.82970064438583 | epot = -11.6578683914556 | etot = -8.13378366722118 +282000 ekin = 1.71376506080659 | erot = 1.86795891950317 | epot = -11.7155076481287 | etot = -8.13378366781891 +283000 ekin = 1.72224450525134 | erot = 1.90529068548182 | epot = -11.7613188590736 | etot = -8.13378366834043 +284000 ekin = 1.71505262177091 | erot = 1.93881515489562 | epot = -11.7876514453522 | etot = -8.13378366868565 +285000 ekin = 1.68954869056389 | erot = 1.96608819497543 | epot = -11.7894205543611 | etot = -8.1337836688218 +286000 ekin = 1.6455513774762 | erot = 1.98537597121296 | epot = -11.7647110174623 | etot = -8.13378366877313 +287000 ekin = 1.58495470813084 | erot = 1.99578989882447 | epot = -11.7145282755466 | etot = -8.13378366859128 +288000 ekin = 1.51101761585498 | erot = 1.997297767928 | epot = -11.6420990521125 | etot = -8.13378366832957 +289000 ekin = 1.42766231980924 | erot = 1.99063899576454 | epot = -11.5520849836069 | etot = -8.13378366803313 +290000 ekin = 1.33894501486224 | erot = 1.97716758999151 | epot = -11.4498962725851 | etot = -8.13378366773135 +291000 ekin = 1.24881721188078 | erot = 1.95864649302987 | epot = -11.3412473723324 | etot = -8.1337836674218 +292000 ekin = 1.16137515575752 | erot = 1.9370295819175 | epot = -11.2321884047302 | etot = -8.13378366705515 +293000 ekin = 1.08169833470813 | erot = 1.91427738455251 | epot = -11.1297593858174 | etot = -8.13378366655679 +294000 ekin = 1.01689863826428 | erot = 1.89223243581134 | epot = -11.0429147399724 | etot = -8.13378366589681 +295000 ekin = 0.976377352950436 | erot = 1.87253324956362 | epot = -10.9826942676921 | etot = -8.13378366517802 +296000 ekin = 0.970182395978853 | erot = 1.85650679550316 | epot = -10.9604728561383 | etot = -8.13378366465628 +297000 ekin = 1.00537151816994 | erot = 1.84499118418623 | epot = -10.9841463669816 | etot = -8.1337836646254 +298000 ekin = 1.08200534146755 | erot = 1.83812417715671 | epot = -11.0539131838581 | etot = -8.13378366523386 +299000 ekin = 1.19125189129762 | erot = 1.83519410294265 | epot = -11.1602296606164 | etot = -8.13378366637616 +300000 ekin = 1.31698721061339 | erot = 1.83465168975443 | epot = -11.2854225681148 | etot = -8.13378366774697 +301000 ekin = 1.44008784809306 | erot = 1.83433803115556 | epot = -11.4082095482411 | etot = -8.13378366899252 +302000 ekin = 1.54329548540286 | erot = 1.83190000196868 | epot = -11.5089791572108 | etot = -8.13378366983924 +303000 ekin = 1.61484992407284 | erot = 1.82529439832888 | epot = -11.5739279925558 | etot = -8.13378367015409 +304000 ekin = 1.65011047810433 | erot = 1.81324433416773 | epot = -11.5971384822047 | etot = -8.13378366993262 +305000 ekin = 1.65140814366736 | erot = 1.79549497030326 | epot = -11.5806867832608 | etot = -8.13378366929013 +306000 ekin = 1.62643416627377 | erot = 1.77280218913901 | epot = -11.533020023822 | etot = -8.13378366840924 +307000 ekin = 1.58577500467182 | erot = 1.74668500708233 | epot = -11.4662436792488 | etot = -8.13378366749463 +308000 ekin = 1.54030424866681 | erot = 1.71903801624656 | epot = -11.3931259316282 | etot = -8.13378366671483 +309000 ekin = 1.49900091050482 | erot = 1.69173690591874 | epot = -11.3245214826124 | etot = -8.13378366618884 +310000 ekin = 1.46747597212437 | erot = 1.66636932779528 | epot = -11.2676289658614 | etot = -8.13378366594171 +311000 ekin = 1.44771419446156 | erot = 1.6441044887676 | epot = -11.2256023491818 | etot = -8.13378366595262 +312000 ekin = 1.43839141863275 | erot = 1.62568199896143 | epot = -11.1978570837366 | etot = -8.13378366614239 +313000 ekin = 1.43594352565088 | erot = 1.61150443049421 | epot = -11.1812316225552 | etot = -8.1337836664101 +314000 ekin = 1.43595255617279 | erot = 1.60177116104702 | epot = -11.1715073838761 | etot = -8.13378366665631 +315000 ekin = 1.43500742740862 | erot = 1.59648896098777 | epot = -11.1652800551048 | etot = -8.13378366670845 +316000 ekin = 1.43108473245696 | erot = 1.59565804393669 | epot = -11.1605264431174 | etot = -8.13378366672371 +317000 ekin = 1.42390336283974 | erot = 1.59957952106222 | epot = -11.1572665504315 | etot = -8.13378366652955 +318000 ekin = 1.41631295378698 | erot = 1.60866819207144 | epot = -11.1587648120198 | etot = -8.13378366616138 +319000 ekin = 1.41381426232924 | erot = 1.62334142232199 | epot = -11.1709393503737 | etot = -8.13378366572251 +320000 ekin = 1.42315030252084 | erot = 1.64384116840171 | epot = -11.2007751362867 | etot = -8.13378366536418 +321000 ekin = 1.45024845494019 | erot = 1.67003325939975 | epot = -11.254065379577 | etot = -8.13378366523704 +322000 ekin = 1.49815500536719 | erot = 1.70123818171236 | epot = -11.3331768525215 | etot = -8.13378366544195 +323000 ekin = 1.5656935250191 | erot = 1.73609284126415 | epot = -11.4355700322998 | etot = -8.13378366601658 +324000 ekin = 1.64679224021207 | erot = 1.77264010659864 | epot = -11.5532160138045 | etot = -8.13378366699375 +325000 ekin = 1.73163775630944 | erot = 1.80818795205414 | epot = -11.6736093764064 | etot = -8.13378366804283 +326000 ekin = 1.80750329208306 | erot = 1.83980749295526 | epot = -11.7810944543854 | etot = -8.13378366934709 +327000 ekin = 1.85797659456583 | erot = 1.86537346541973 | epot = -11.8571337303115 | etot = -8.13378367032595 +328000 ekin = 1.87027520748892 | erot = 1.88392315073226 | epot = -11.8879820288801 | etot = -8.13378367065894 +329000 ekin = 1.83949589054753 | erot = 1.89597309718836 | epot = -11.8692526579141 | etot = -8.13378367017824 +330000 ekin = 1.77117100868916 | erot = 1.90323589019464 | epot = -11.8081905678794 | etot = -8.13378366899564 +331000 ekin = 1.68023517873261 | erot = 1.90771959425499 | epot = -11.7217384405322 | etot = -8.13378366754461 +332000 ekin = 1.58599656571375 | erot = 1.91066851347188 | epot = -11.6304487455355 | etot = -8.13378366634985 +333000 ekin = 1.50566649891541 | erot = 1.91203797343775 | epot = -11.5514881380513 | etot = -8.13378366569817 +334000 ekin = 1.44997196058942 | erot = 1.91073772769977 | epot = -11.4944933538496 | etot = -8.13378366556045 +335000 ekin = 1.42175053140811 | erot = 1.90515605629062 | epot = -11.4606902539324 | etot = -8.13378366623365 +336000 ekin = 1.41662531058447 | erot = 1.89330033651394 | epot = -11.443709313723 | etot = -8.13378366662462 +337000 ekin = 1.42902342419931 | erot = 1.87459660541457 | epot = -11.4374036965604 | etot = -8.13378366694656 +338000 ekin = 1.45347553474132 | erot = 1.84924982279079 | epot = -11.436509024704 | etot = -8.13378366717192 +339000 ekin = 1.48532648332251 | erot = 1.81789825388619 | epot = -11.437008404542 | etot = -8.13378366733331 +340000 ekin = 1.52068113212483 | erot = 1.7813105429029 | epot = -11.4357753425016 | etot = -8.13378366747389 +341000 ekin = 1.55606070128828 | erot = 1.74019406298435 | epot = -11.4300384318866 | etot = -8.13378366761401 +342000 ekin = 1.58819693536375 | erot = 1.69515176482855 | epot = -11.4171323679322 | etot = -8.13378366773992 +343000 ekin = 1.61415529814652 | erot = 1.64675903935083 | epot = -11.3946980053116 | etot = -8.13378366781428 +344000 ekin = 1.63171879307199 | erot = 1.5956931979438 | epot = -11.3611956588164 | etot = -8.13378366780064 +345000 ekin = 1.63976605961451 | erot = 1.54282704209179 | epot = -11.3163767694008 | etot = -8.13378366769452 +346000 ekin = 1.63837200138269 | erot = 1.48918714016891 | epot = -11.261342809072 | etot = -8.13378366752041 +347000 ekin = 1.62852754177371 | erot = 1.43587351565002 | epot = -11.1981847247542 | etot = -8.13378366733049 +348000 ekin = 1.61158889283558 | erot = 1.383925469405 | epot = -11.1292980294128 | etot = -8.1337836671722 +349000 ekin = 1.5887355743944 | erot = 1.33422850520572 | epot = -11.0567477466733 | etot = -8.13378366707318 +350000 ekin = 1.56064786721382 | erot = 1.28749851959908 | epot = -10.9819300538446 | etot = -8.13378366703172 +351000 ekin = 1.5275419119129 | erot = 1.24434620359442 | epot = -10.9056717825208 | etot = -8.13378366701344 +352000 ekin = 1.48960299203902 | erot = 1.20538641998081 | epot = -10.8287730789796 | etot = -8.13378366695982 +353000 ekin = 1.44778264502937 | erot = 1.17134399709156 | epot = -10.7529103089083 | etot = -8.13378366678739 +354000 ekin = 1.40533100953332 | erot = 1.1432484492258 | epot = -10.6823631252447 | etot = -8.13378366648562 +355000 ekin = 1.36869095863465 | erot = 1.1225024206929 | epot = -10.624977045382 | etot = -8.13378366605446 +356000 ekin = 1.34490175995569 | erot = 1.10992990778131 | epot = -10.5886153331834 | etot = -8.13378366544639 +357000 ekin = 1.34315796276069 | erot = 1.10621719879611 | epot = -10.5831588263828 | etot = -8.13378366482595 +358000 ekin = 1.37283801207955 | erot = 1.11171347587719 | epot = -10.6183351524124 | etot = -8.13378366445567 +359000 ekin = 1.43996759058378 | erot = 1.12612871057391 | epot = -10.6998799657445 | etot = -8.13378366458682 +360000 ekin = 1.5438844591409 | erot = 1.14830381564085 | epot = -10.8259719400993 | etot = -8.13378366531752 +361000 ekin = 1.6758653150916 | erot = 1.1761890541914 | epot = -10.9858380358532 | etot = -8.13378366657025 +362000 ekin = 1.82005627455488 | erot = 1.20703160753363 | epot = -11.1608715500439 | etot = -8.13378366795535 +363000 ekin = 1.9585058393723 | erot = 1.23798141777755 | epot = -11.3302709261634 | etot = -8.13378366901354 +364000 ekin = 2.07580017664351 | erot = 1.26672677095187 | epot = -11.4763106177171 | etot = -8.13378367012168 +365000 ekin = 2.15891662517396 | erot = 1.29173621495671 | epot = -11.584436510601 | etot = -8.13378367047035 +366000 ekin = 2.20238380195759 | erot = 1.31262064914767 | epot = -11.648788121337 | etot = -8.13378367023179 +367000 ekin = 2.20851727275297 | erot = 1.33022857587875 | epot = -11.6725295182418 | etot = -8.13378366961006 +368000 ekin = 2.18513118770515 | erot = 1.34632721320016 | epot = -11.6652420696031 | etot = -8.13378366869782 +369000 ekin = 2.14321144646592 | erot = 1.36315448463329 | epot = -11.6401495989026 | etot = -8.13378366780341 +370000 ekin = 2.0938828241329 | erot = 1.3829685872043 | epot = -11.6106350785139 | etot = -8.13378366717668 +371000 ekin = 2.04539161606643 | erot = 1.40758201280279 | epot = -11.5867572956931 | etot = -8.13378366682384 +372000 ekin = 2.00261126514667 | erot = 1.43827057512733 | epot = -11.5746655069399 | etot = -8.13378366666586 +373000 ekin = 1.96798302472881 | erot = 1.47584503943877 | epot = -11.5776117307477 | etot = -8.13378366658016 +374000 ekin = 1.9427642201498 | erot = 1.52074221163615 | epot = -11.597290098334 | etot = -8.13378366654806 +375000 ekin = 1.92741631545116 | erot = 1.57302624843808 | epot = -11.6342262305069 | etot = -8.13378366661764 +376000 ekin = 1.92110841836679 | erot = 1.63232320681306 | epot = -11.6872152920288 | etot = -8.13378366684891 +377000 ekin = 1.92083197489726 | erot = 1.69770894533778 | epot = -11.7523245875375 | etot = -8.13378366730242 +378000 ekin = 1.92097158012141 | erot = 1.7676305565423 | epot = -11.8223858045367 | etot = -8.13378366787296 +379000 ekin = 1.9143805691691 | erot = 1.83964318712979 | epot = -11.8878074249498 | etot = -8.13378366865087 +380000 ekin = 1.89241520119535 | erot = 1.91106138176889 | epot = -11.937260252322 | etot = -8.13378366935773 +381000 ekin = 1.84711843121381 | erot = 1.97933543814508 | epot = -11.9602375392247 | etot = -8.13378366986585 +382000 ekin = 1.77364821788772 | erot = 2.04210934440012 | epot = -11.9495412323447 | etot = -8.13378367005691 +383000 ekin = 1.67178472399728 | erot = 2.09754562136732 | epot = -11.9031140151878 | etot = -8.13378366982318 +384000 ekin = 1.54709556481459 | erot = 2.14438708234362 | epot = -11.8252663163777 | etot = -8.13378366921949 +385000 ekin = 1.41093432867779 | erot = 2.18184182145105 | epot = -11.7265598182848 | etot = -8.13378366815593 +386000 ekin = 1.27958936994579 | erot = 2.21051340231035 | epot = -11.6238864391451 | etot = -8.13378366688898 +387000 ekin = 1.17137861198561 | erot = 2.23163165239764 | epot = -11.5367939301736 | etot = -8.13378366579032 +388000 ekin = 1.10179780402574 | erot = 2.2463475452751 | epot = -11.4819290145282 | etot = -8.13378366522735 +389000 ekin = 1.07882148968846 | erot = 2.25505587957373 | epot = -11.4676610376626 | etot = -8.13378366840039 +390000 ekin = 1.07051570135838 | erot = 2.26936424220882 | epot = -11.4736636037163 | etot = -8.13378366014913 +391000 ekin = 1.12513305991642 | erot = 2.28557987987656 | epot = -11.5444966077453 | etot = -8.1337836679523 +392000 ekin = 1.21295440172366 | erot = 2.2706367034028 | epot = -11.6173747716316 | etot = -8.13378366650518 +393000 ekin = 1.30924312365442 | erot = 2.24076930893579 | epot = -11.6837960997181 | etot = -8.13378366712787 +394000 ekin = 1.40561895760616 | erot = 2.19794335034461 | epot = -11.737345975341 | etot = -8.13378366739023 +395000 ekin = 1.49662707239319 | erot = 2.14293675801978 | epot = -11.7733474977479 | etot = -8.13378366733488 +396000 ekin = 1.5807772799153 | erot = 2.07761988891138 | epot = -11.7921808358758 | etot = -8.13378366704916 +397000 ekin = 1.65955042581882 | erot = 2.00469837191084 | epot = -11.798032464358 | etot = -8.13378366662836 +398000 ekin = 1.73622447988647 | erot = 1.92743077252919 | epot = -11.7974389185614 | etot = -8.13378366614571 +399000 ekin = 1.81471876942244 | erot = 1.84941455049526 | epot = -11.7979169856369 | etot = -8.13378366571923 +400000 ekin = 1.89831345083278 | erot = 1.77428869309233 | epot = -11.8063858093355 | etot = -8.13378366541043 +401000 ekin = 1.98857882165089 | erot = 1.70555701947636 | epot = -11.8279195064046 | etot = -8.13378366527734 +402000 ekin = 2.08469272454778 | erot = 1.64640053761285 | epot = -11.8648769274935 | etot = -8.13378366533283 +403000 ekin = 2.18333492883602 | erot = 1.59947809827672 | epot = -11.9165966926831 | etot = -8.1337836655704 +404000 ekin = 2.27899469657512 | erot = 1.56671457666659 | epot = -11.9794929390995 | etot = -8.13378366585775 +405000 ekin = 2.36506409046644 | erot = 1.54904572147253 | epot = -12.0478934783876 | etot = -8.1337836664486 +406000 ekin = 2.43306193249797 | erot = 1.54630434412229 | epot = -12.1131499437779 | etot = -8.13378366715766 +407000 ekin = 2.47364186380494 | erot = 1.55689186413063 | epot = -12.1643173959541 | etot = -8.13378366801855 +408000 ekin = 2.47760299472499 | erot = 1.5781064138446 | epot = -12.1894930773328 | etot = -8.13378366876325 +409000 ekin = 2.43822850842607 | erot = 1.60664113475467 | epot = -12.1786533122588 | etot = -8.13378366907809 +410000 ekin = 2.35516301280273 | erot = 1.63934184028366 | epot = -12.1282885218163 | etot = -8.1337836687299 +411000 ekin = 2.23661952277215 | erot = 1.67408087730624 | epot = -12.0444840678237 | etot = -8.13378366774526 +412000 ekin = 2.09851267461913 | erot = 1.71012170017578 | epot = -11.9424180412146 | etot = -8.1337836664197 +413000 ekin = 1.96056484793908 | erot = 1.7477880401112 | epot = -11.8421365532043 | etot = -8.13378366515403 +414000 ekin = 1.84128090481493 | erot = 1.78771082122122 | epot = -11.7627753903064 | etot = -8.13378366427029 +415000 ekin = 1.7539044233613 | erot = 1.83009103154469 | epot = -11.7177791188321 | etot = -8.13378366392606 +416000 ekin = 1.70439570487831 | erot = 1.87425008285661 | epot = -11.7124294518623 | etot = -8.13378366412735 +417000 ekin = 1.69131554252948 | erot = 1.918501478837 | epot = -11.7436006861831 | etot = -8.13378366481665 +418000 ekin = 1.7068949003181 | erot = 1.96025799788764 | epot = -11.8009365639631 | etot = -8.13378366575732 +419000 ekin = 1.73962222230371 | erot = 1.99637255840703 | epot = -11.8697784474997 | etot = -8.13378366678895 +420000 ekin = 1.77669286262483 | erot = 2.02357619714979 | epot = -11.9340527274781 | etot = -8.13378366770344 +421000 ekin = 1.8065782408294 | erot = 2.03903049555701 | epot = -11.9793924047138 | etot = -8.13378366832744 +422000 ekin = 1.82111290085909 | erot = 2.04088419799601 | epot = -11.9957807674282 | etot = -8.13378366857305 +423000 ekin = 1.81648584568676 | erot = 2.02865244729856 | epot = -11.9789219614447 | etot = -8.13378366845938 +424000 ekin = 1.79301691785087 | erot = 2.00326876348606 | epot = -11.9300693494109 | etot = -8.13378366807394 +425000 ekin = 1.75424046968078 | erot = 1.96680784722196 | epot = -11.854831984411 | etot = -8.13378366750822 +426000 ekin = 1.70601392329189 | erot = 1.92202692837053 | epot = -11.7618245184899 | etot = -8.1337836668275 +427000 ekin = 1.65580906012917 | erot = 1.87186985441136 | epot = -11.6614625806787 | etot = -8.13378366613817 +428000 ekin = 1.61207963969401 | erot = 1.81905558542235 | epot = -11.5649188905524 | etot = -8.13378366543605 +429000 ekin = 1.5833999942279 | erot = 1.7657989317176 | epot = -11.4829825908563 | etot = -8.13378366491079 +430000 ekin = 1.57646033947372 | erot = 1.71346152699375 | epot = -11.4237055311687 | etot = -8.13378366470128 +431000 ekin = 1.59418488210765 | erot = 1.66239892772925 | epot = -11.3903674747264 | etot = -8.13378366488948 +432000 ekin = 1.63452809771756 | erot = 1.6120557480409 | epot = -11.3803675111914 | etot = -8.13378366543294 +433000 ekin = 1.69077410977045 | erot = 1.56136635610619 | epot = -11.3859241320172 | etot = -8.13378366614059 +434000 ekin = 1.75368500742851 | erot = 1.50939558466423 | epot = -11.3968642588277 | etot = -8.13378366673501 +435000 ekin = 1.81477188941446 | erot = 1.45598133799928 | epot = -11.4045368944161 | etot = -8.13378366700231 +436000 ekin = 1.86895151228373 | erot = 1.40204530898049 | epot = -11.4047804881002 | etot = -8.13378366683597 +437000 ekin = 1.91551323813672 | erot = 1.34941425923527 | epot = -11.3987111639605 | etot = -8.1337836665885 +438000 ekin = 1.95545357706279 | erot = 1.30011080733717 | epot = -11.3893480508802 | etot = -8.13378366648026 +439000 ekin = 1.98811153075646 | erot = 1.25557284833876 | epot = -11.3774680457415 | etot = -8.13378366664625 +440000 ekin = 2.00986623436097 | erot = 1.2163020416111 | epot = -11.3599519429673 | etot = -8.13378366699526 +441000 ekin = 2.0153035076586 | erot = 1.18202297032889 | epot = -11.3311101452758 | etot = -8.13378366728832 +442000 ekin = 1.99936349679035 | erot = 1.15207873138256 | epot = -11.2852258960272 | etot = -8.13378366785425 +443000 ekin = 1.95696749681663 | erot = 1.12547607064077 | epot = -11.216227234986 | etot = -8.13378366752865 +444000 ekin = 1.89166490098974 | erot = 1.10194461447989 | epot = -11.1273931823301 | etot = -8.13378366686045 +445000 ekin = 1.81328868644751 | erot = 1.08168732032588 | epot = -11.0287596725674 | etot = -8.13378366579406 +446000 ekin = 1.73577899474701 | erot = 1.06505071492863 | epot = -10.934613374722 | etot = -8.13378366504638 +447000 ekin = 1.67093185588831 | erot = 1.05239705126931 | epot = -10.8571125714695 | etot = -8.13378366431192 +448000 ekin = 1.6291185681957 | erot = 1.04409603312635 | epot = -10.8069982651693 | etot = -8.13378366384729 +449000 ekin = 1.61731626297075 | erot = 1.04041489697141 | epot = -10.7915148237036 | etot = -8.1337836637614 +450000 ekin = 1.63711697605715 | erot = 1.04135992229639 | epot = -10.8122605626986 | etot = -8.13378366434503 +451000 ekin = 1.68320258142166 | erot = 1.04620824656513 | epot = -10.8631944930204 | etot = -8.13378366503363 +452000 ekin = 1.74581668011681 | erot = 1.05391169410103 | epot = -10.9335120399974 | etot = -8.13378366577957 +453000 ekin = 1.81457146100472 | erot = 1.06335165863441 | epot = -11.0117067861179 | etot = -8.1337836664788 +454000 ekin = 1.87975957938335 | erot = 1.07317402238505 | epot = -11.0867172689043 | etot = -8.13378366713586 +455000 ekin = 1.93251877587776 | erot = 1.08171623325473 | epot = -11.1480186769427 | etot = -8.1337836678102 +456000 ekin = 1.96415416826711 | erot = 1.08704156958797 | epot = -11.1849794063562 | etot = -8.13378366850113 +457000 ekin = 1.96605348077107 | erot = 1.0872339429417 | epot = -11.1870710927834 | etot = -8.13378366907065 +458000 ekin = 1.93127523761038 | erot = 1.08096076790399 | epot = -11.146019674778 | etot = -8.13378366926365 +459000 ekin = 1.85771594839341 | erot = 1.06809531780711 | epot = -11.0595949350253 | etot = -8.13378366882483 +460000 ekin = 1.75147188083719 | erot = 1.05009293158359 | epot = -10.9353484800662 | etot = -8.13378366764541 +461000 ekin = 1.62834142733938 | erot = 1.02990811326467 | epot = -10.7920332065062 | etot = -8.13378366590216 +462000 ekin = 1.51195360647934 | erot = 1.01153881174451 | epot = -10.6572760812002 | etot = -8.13378366297633 +463000 ekin = 1.43011910143845 | erot = 1.00022578453823 | epot = -10.5641285481517 | etot = -8.13378366217503 +464000 ekin = 1.39582910827496 | erot = 0.998198432077561 | epot = -10.5278112022032 | etot = -8.13378366185073 +465000 ekin = 1.41007554850175 | erot = 1.0059200900327 | epot = -10.5497793012377 | etot = -8.13378366270329 +466000 ekin = 1.46251969360673 | erot = 1.02219738030602 | epot = -10.6185007378636 | etot = -8.13378366395089 +467000 ekin = 1.49627186628377 | erot = 1.05472101821887 | epot = -10.684776548826 | etot = -8.13378366432334 +468000 ekin = 1.51725853676448 | erot = 1.12479885662203 | epot = -10.7758410579224 | etot = -8.1337836645359 +469000 ekin = 1.58140637755478 | erot = 1.16828828958825 | epot = -10.883478331625 | etot = -8.13378366448195 +470000 ekin = 1.60068578299443 | erot = 1.18114141021191 | epot = -10.9156108575561 | etot = -8.13378366434975 +471000 ekin = 1.59076368327275 | erot = 1.18707237247091 | epot = -10.9116197194443 | etot = -8.1337836637006 +472000 ekin = 1.56124060600587 | erot = 1.18572143101271 | epot = -10.880745699812 | etot = -8.13378366279344 +473000 ekin = 1.52502097411989 | erot = 1.17792025681201 | epot = -10.8367248927673 | etot = -8.13378366183537 +474000 ekin = 1.49533177226198 | erot = 1.16544446213558 | epot = -10.794559895353 | etot = -8.13378366095545 +475000 ekin = 1.48386630176111 | erot = 1.15068540215573 | epot = -10.7683353641552 | etot = -8.13378366023836 +476000 ekin = 1.49971334632826 | erot = 1.13623821677978 | epot = -10.7697352228517 | etot = -8.13378365974365 +477000 ekin = 1.54871118769558 | erot = 1.1244843335277 | epot = -10.8069791813352 | etot = -8.13378366011192 +478000 ekin = 1.62953491120423 | erot = 1.11764268903608 | epot = -10.8809612604802 | etot = -8.13378366023986 +479000 ekin = 1.73735741643918 | erot = 1.11700620811327 | epot = -10.9881472852187 | etot = -8.13378366066626 +480000 ekin = 1.86556210288033 | erot = 1.12262064775157 | epot = -11.1219664120646 | etot = -8.13378366143269 +481000 ekin = 2.00121026337205 | erot = 1.13364860021322 | epot = -11.2686425499513 | etot = -8.133783686366 +482000 ekin = 2.04617329758791 | erot = 1.16256926170154 | epot = -11.3425262237766 | etot = -8.13378366448714 +483000 ekin = 2.14335261834806 | erot = 1.21476273130068 | epot = -11.4918990325578 | etot = -8.13378368290904 +484000 ekin = 2.2027099535623 | erot = 1.23147381806936 | epot = -11.5679674446503 | etot = -8.13378367301867 +485000 ekin = 2.20682939440963 | erot = 1.23835798982089 | epot = -11.5789710574828 | etot = -8.13378367325232 +486000 ekin = 2.16589682794253 | erot = 1.24300370551841 | epot = -11.5426842062897 | etot = -8.13378367282871 +487000 ekin = 2.08668888864966 | erot = 1.24625551752124 | epot = -11.4667280780175 | etot = -8.1337836718466 +488000 ekin = 1.98386509125085 | erot = 1.24977318046638 | epot = -11.3674219422406 | etot = -8.13378367052335 +489000 ekin = 1.87707931030754 | erot = 1.25547012773704 | epot = -11.2663331072054 | etot = -8.13378366916079 +490000 ekin = 1.78677596317084 | erot = 1.26490338721995 | epot = -11.1854630185179 | etot = -8.13378366812706 +491000 ekin = 1.72903831214138 | erot = 1.27867004038139 | epot = -11.1414920203219 | etot = -8.13378366779911 +492000 ekin = 1.71039979057821 | erot = 1.29591768107264 | epot = -11.1401011400708 | etot = -8.13378366841992 +493000 ekin = 1.72454317156128 | erot = 1.31423280426762 | epot = -11.1725596457329 | etot = -8.13378366990395 +494000 ekin = 1.75332785015452 | erot = 1.33022406246675 | epot = -11.2173355843439 | etot = -8.13378367172259 +495000 ekin = 1.77349565825588 | erot = 1.34086561473228 | epot = -11.2481449460261 | etot = -8.13378367303795 +496000 ekin = 1.76725059667724 | erot = 1.34512484286663 | epot = -11.2461591126952 | etot = -8.13378367315135 +497000 ekin = 1.7312763798942 | erot = 1.34494708212178 | epot = -11.2100071339786 | etot = -8.1337836719626 +498000 ekin = 1.6785500090819 | erot = 1.34489121264458 | epot = -11.1572248917632 | etot = -8.13378367003671 +499000 ekin = 1.63191747119711 | erot = 1.35056727533229 | epot = -11.1162684147433 | etot = -8.13378366821386 +500000 ekin = 1.61378359990016 | erot = 1.3667636468144 | epot = -11.1143309138658 | etot = -8.1337836671512 +501000 ekin = 1.63758101988153 | erot = 1.39609850676614 | epot = -11.1674631937492 | etot = -8.13378366710158 +502000 ekin = 1.70413807541162 | erot = 1.43847493669148 | epot = -11.2763966800707 | etot = -8.13378366796759 +503000 ekin = 1.80268297747421 | erot = 1.49115460253747 | epot = -11.4276212495037 | etot = -8.13378366949198 +504000 ekin = 1.91419549778944 | erot = 1.54914693963942 | epot = -11.5971261088563 | etot = -8.13378367142744 +505000 ekin = 2.01490443998012 | erot = 1.60576406504308 | epot = -11.7544521785637 | etot = -8.13378367354047 +506000 ekin = 2.07966541471014 | erot = 1.65345439354067 | epot = -11.8669034836903 | etot = -8.13378367543949 +507000 ekin = 2.0870035389711 | erot = 1.68517460629498 | epot = -11.9059618217443 | etot = -8.13378367647819 +508000 ekin = 2.02663352663423 | erot = 1.69625747623648 | epot = -11.8566746789393 | etot = -8.1337836760686 +509000 ekin = 1.90589064134063 | erot = 1.68599529702703 | epot = -11.7256696125548 | etot = -8.13378367418714 +510000 ekin = 1.74959091232253 | erot = 1.6578768825328 | epot = -11.5412514663215 | etot = -8.13378367146617 +511000 ekin = 1.59231955658714 | erot = 1.61826266731548 | epot = -11.3443658926793 | etot = -8.1337836687767 +512000 ekin = 1.4675585606025 | erot = 1.57434662380356 | epot = -11.1756888512879 | etot = -8.13378366688181 +513000 ekin = 1.39839916093078 | erot = 1.53234768377589 | epot = -11.0645305108162 | etot = -8.1337836661095 +514000 ekin = 1.39338903686576 | erot = 1.49706258344478 | epot = -11.024235286466 | etot = -8.13378366615549 +515000 ekin = 1.44495159062055 | erot = 1.47110271002976 | epot = -11.0498379682116 | etot = -8.13378366756126 +516000 ekin = 1.53288312821577 | erot = 1.45357064724467 | epot = -11.1202374448468 | etot = -8.13378366938636 +517000 ekin = 1.63159033312452 | erot = 1.44224294472879 | epot = -11.2076169492315 | etot = -8.13378367137819 +518000 ekin = 1.71409401455657 | erot = 1.4340839943587 | epot = -11.2819616821534 | etot = -8.13378367323809 +519000 ekin = 1.75665192756545 | erot = 1.42579002916916 | epot = -11.3162256317321 | etot = -8.13378367499745 +520000 ekin = 1.7418734594754 | erot = 1.41504839774918 | epot = -11.2907055324296 | etot = -8.13378367520502 +521000 ekin = 1.66871703040513 | erot = 1.40071550595816 | epot = -11.2032162101125 | etot = -8.13378367374925 +522000 ekin = 1.55952182856079 | erot = 1.38339983650052 | epot = -11.0767053362008 | etot = -8.13378367113947 +523000 ekin = 1.45114556551557 | erot = 1.3656830806487 | epot = -10.9506123146215 | etot = -8.13378366845718 +524000 ekin = 1.38091842212804 | erot = 1.35134919390869 | epot = -10.8660512824825 | etot = -8.13378366644579 +525000 ekin = 1.37601425591404 | erot = 1.34456662955946 | epot = -10.8543645508839 | etot = -8.13378366541038 +526000 ekin = 1.44870428485067 | erot = 1.34909740179289 | epot = -10.9315853521545 | etot = -8.13378366551097 +527000 ekin = 1.59459863547139 | erot = 1.36714947552062 | epot = -11.0955317779062 | etot = -8.13378366691416 +528000 ekin = 1.79183405481955 | erot = 1.39841904593302 | epot = -11.3240367701712 | etot = -8.13378366941866 +529000 ekin = 2.00478978697981 | erot = 1.43972835787733 | epot = -11.5783018172282 | etot = -8.13378367237111 +530000 ekin = 2.19333795601797 | erot = 1.48552207657973 | epot = -11.8126437074869 | etot = -8.13378367488922 +531000 ekin = 2.32431476965854 | erot = 1.52928747155543 | epot = -11.9873859175034 | etot = -8.13378367628947 +532000 ekin = 2.37971447238515 | erot = 1.56539257217842 | epot = -12.0788907210183 | etot = -8.13378367645474 +533000 ekin = 2.35771666715934 | erot = 1.59048999440141 | epot = -12.0819903372246 | etot = -8.13378367566386 +534000 ekin = 2.26899715449254 | erot = 1.60407394358798 | epot = -12.0068547722132 | etot = -8.13378367413272 +535000 ekin = 2.13365177459914 | erot = 1.60831072461823 | epot = -11.8757461712403 | etot = -8.13378367202297 +536000 ekin = 1.97886376167499 | erot = 1.60719127867242 | epot = -11.7198387100764 | etot = -8.13378366972895 +537000 ekin = 1.83421887315024 | erot = 1.60523898301454 | epot = -11.5732415239291 | etot = -8.13378366776436 +538000 ekin = 1.72531720892644 | erot = 1.6063251928936 | epot = -11.4654260683311 | etot = -8.13378366651106 +539000 ekin = 1.66856519905571 | erot = 1.6130147293037 | epot = -11.4153635944826 | etot = -8.13378366612323 +540000 ekin = 1.66907056567834 | erot = 1.62662968765102 | epot = -11.4294839194914 | etot = -8.13378366616205 +541000 ekin = 1.72153495927027 | erot = 1.64788745986125 | epot = -11.5032060864798 | etot = -8.13378366734831 +542000 ekin = 1.80903650496826 | erot = 1.6754786968006 | epot = -11.6182988706809 | etot = -8.13378366891207 +543000 ekin = 1.90894616835527 | erot = 1.70734508947704 | epot = -11.7500749283668 | etot = -8.13378367053448 +544000 ekin = 1.99777842839545 | erot = 1.74125357780754 | epot = -11.8728156781218 | etot = -8.13378367191885 +545000 ekin = 2.05546409374589 | erot = 1.77521000036354 | epot = -11.9644577669439 | etot = -8.13378367283447 +546000 ekin = 2.0686759531372 | erot = 1.80779483608995 | epot = -12.010254462383 | etot = -8.13378367315581 +547000 ekin = 2.03267806245649 | erot = 1.83838588998092 | epot = -12.0048476253046 | etot = -8.13378367286718 +548000 ekin = 1.95148731421225 | erot = 1.86718390882578 | epot = -11.9524548951405 | etot = -8.13378367210244 +549000 ekin = 1.8364504233007 | erot = 1.89487456520005 | epot = -11.8651086595368 | etot = -8.13378367103609 +550000 ekin = 1.70373130495423 | erot = 1.92233248820751 | epot = -11.759847463038 | etot = -8.13378366987622 +551000 ekin = 1.57139422781184 | erot = 1.95024291868203 | epot = -11.6554208153043 | etot = -8.13378366881045 +552000 ekin = 1.45663332557803 | erot = 1.97878558863039 | epot = -11.5692025822013 | etot = -8.13378366799288 +553000 ekin = 1.37337409019781 | erot = 2.00744335365785 | epot = -11.514601111401 | etot = -8.13378366754535 +554000 ekin = 1.33029485862609 | erot = 2.03496657145449 | epot = -11.4990450976237 | etot = -8.13378366754314 +555000 ekin = 1.32945359625969 | erot = 2.05953157376214 | epot = -11.5227688380181 | etot = -8.13378366799624 +556000 ekin = 1.36589068757554 | erot = 2.07909837609474 | epot = -11.5787727324803 | etot = -8.13378366881005 +557000 ekin = 1.42857577084349 | erot = 2.09193210847118 | epot = -11.6542915491153 | etot = -8.13378366980064 +558000 ekin = 1.50275359964642 | erot = 2.0971531414025 | epot = -11.7336904117795 | etot = -8.13378367073055 +559000 ekin = 1.5732183090821 | erot = 2.09511862189602 | epot = -11.8021206023728 | etot = -8.13378367139464 +560000 ekin = 1.62740172364156 | erot = 2.08745496893393 | epot = -11.8486403643022 | etot = -8.13378367172671 +561000 ekin = 1.65692416188639 | erot = 2.07666092047554 | epot = -11.8673687541686 | etot = -8.1337836718067 +562000 ekin = 1.65737426356301 | erot = 2.06544534214492 | epot = -11.8566032774398 | etot = -8.13378367173188 +563000 ekin = 1.62727808428054 | erot = 2.05615555038101 | epot = -11.8172173064481 | etot = -8.13378367178653 +564000 ekin = 1.56679933056227 | erot = 2.05047511799567 | epot = -11.7510581199095 | etot = -8.13378367135161 +565000 ekin = 1.48206055329241 | erot = 2.04917576858623 | epot = -11.6650199925243 | etot = -8.13378367064571 +566000 ekin = 1.38423866544633 | erot = 2.05221850150355 | epot = -11.5702408367324 | etot = -8.13378366978251 +567000 ekin = 1.28749391779739 | erot = 2.05873429505507 | epot = -11.4800118818374 | etot = -8.1337836689849 +568000 ekin = 1.20570431103048 | erot = 2.06705692034106 | epot = -11.4065448998275 | etot = -8.13378366845593 +569000 ekin = 1.14918558023023 | erot = 2.07495244466236 | epot = -11.3579216931806 | etot = -8.13378366828806 +570000 ekin = 1.12276449646133 | erot = 2.0800727296248 | epot = -11.3366208945299 | etot = -8.13378366844375 +571000 ekin = 1.12567595872038 | erot = 2.08050218013808 | epot = -11.3399618076578 | etot = -8.13378366879936 +572000 ekin = 1.15294903410684 | erot = 2.07519259345207 | epot = -11.3619252967597 | etot = -8.1337836692008 +573000 ekin = 1.19838854918916 | erot = 2.06451015558718 | epot = -11.3966823740033 | etot = -8.13378366922693 +574000 ekin = 1.25460427389363 | erot = 2.04968889738792 | epot = -11.4380768408067 | etot = -8.13378366952511 +575000 ekin = 1.31454735695641 | erot = 2.03199549862925 | epot = -11.4803265251173 | etot = -8.1337836695316 +576000 ekin = 1.37512583611565 | erot = 2.01319845741347 | epot = -11.5221079628331 | etot = -8.13378366930401 +577000 ekin = 1.43682760503374 | erot = 1.99528982934824 | epot = -11.5659011033457 | etot = -8.13378366896374 +578000 ekin = 1.50235588202076 | erot = 1.98017269182895 | epot = -11.6163122424743 | etot = -8.13378366862455 +579000 ekin = 1.57520818416944 | erot = 1.96938672247359 | epot = -11.6783785750011 | etot = -8.13378366835812 +580000 ekin = 1.65868462493027 | erot = 1.96390249857606 | epot = -11.7563707921455 | etot = -8.13378366863916 +581000 ekin = 1.75247311826583 | erot = 1.964193085348 | epot = -11.8504498724769 | etot = -8.1337836688631 +582000 ekin = 1.85283782857648 | erot = 1.96967477641674 | epot = -11.9562962743711 | etot = -8.13378366937788 +583000 ekin = 1.95429754597291 | erot = 1.97826405495591 | epot = -12.066345271253 | etot = -8.13378367032418 +584000 ekin = 2.04662916571901 | erot = 1.98631443704582 | epot = -12.1667272745352 | etot = -8.13378367177041 +585000 ekin = 2.11419694671166 | erot = 1.98862566442593 | epot = -12.2366062846758 | etot = -8.13378367353824 +586000 ekin = 2.13871236987807 | erot = 1.97915340581891 | epot = -12.2516494507778 | etot = -8.13378367508081 +587000 ekin = 2.10465783247187 | erot = 1.95256271523672 | epot = -12.1910042235991 | etot = -8.13378367589049 +588000 ekin = 2.00543191748367 | erot = 1.90599988278188 | epot = -12.0452154755429 | etot = -8.13378367527739 +589000 ekin = 1.85115446103193 | erot = 1.84021509336813 | epot = -11.8251532276766 | etot = -8.13378367327653 +590000 ekin = 1.66921622806881 | erot = 1.7593335110468 | epot = -11.5623334095075 | etot = -8.13378367039186 +591000 ekin = 1.4977485483699 | erot = 1.66961531493353 | epot = -11.301147530791 | etot = -8.13378366748759 +592000 ekin = 1.3741820859932 | erot = 1.57786762200031 | epot = -11.0858333735134 | etot = -8.13378366551992 +593000 ekin = 1.32230765433201 | erot = 1.49017042368006 | epot = -10.9462617430894 | etot = -8.13378366507729 +594000 ekin = 1.34433584581037 | erot = 1.41110289037398 | epot = -10.8892224022201 | etot = -8.13378366603572 +595000 ekin = 1.42313762141316 | erot = 1.34352894995369 | epot = -10.9004502389494 | etot = -8.13378366758259 +596000 ekin = 1.53140640357297 | erot = 1.2890571416378 | epot = -10.954247214935 | etot = -8.13378366972426 +597000 ekin = 1.63793776665428 | erot = 1.24822708399061 | epot = -11.0199485217856 | etot = -8.13378367114073 +598000 ekin = 1.71853369497769 | erot = 1.2204230558525 | epot = -11.0727404229811 | etot = -8.13378367215094 +599000 ekin = 1.75676579673027 | erot = 1.20417119499066 | epot = -11.0947206644564 | etot = -8.1337836727355 +600000 ekin = 1.74415562351976 | erot = 1.19748501258577 | epot = -11.0754243089205 | etot = -8.13378367281501 +601000 ekin = 1.68078686628586 | erot = 1.19842786468434 | epot = -11.0129984032571 | etot = -8.13378367228694 +602000 ekin = 1.57592768465231 | erot = 1.20571835984157 | epot = -10.9154297156343 | etot = -8.13378367114043 +603000 ekin = 1.44736021988517 | erot = 1.21906556666636 | epot = -10.8002094561225 | etot = -8.13378366957098 +604000 ekin = 1.31829530123861 | erot = 1.23900632721026 | epot = -10.6910852964334 | etot = -8.13378366798455 +605000 ekin = 1.21203583246857 | erot = 1.26625018196504 | epot = -10.6120696811956 | etot = -8.13378366676199 +606000 ekin = 1.14717881943141 | erot = 1.30114918573908 | epot = -10.5821116711541 | etot = -8.13378366598363 +607000 ekin = 1.13493137969479 | erot = 1.34344256501772 | epot = -10.6121576106247 | etot = -8.13378366591218 +608000 ekin = 1.17769398074636 | erot = 1.39211398656162 | epot = -10.7035916336137 | etot = -8.13378366630573 +609000 ekin = 1.27083042497278 | erot = 1.44572829443333 | epot = -10.8503423864876 | etot = -8.13378366708152 +610000 ekin = 1.40359308953523 | erot = 1.50241692808371 | epot = -11.0397936861299 | etot = -8.13378366851095 +611000 ekin = 1.55996607947085 | erot = 1.55982171139623 | epot = -11.253571460636 | etot = -8.13378366976893 +612000 ekin = 1.72323074885771 | erot = 1.61567444068065 | epot = -11.4726888606333 | etot = -8.13378367109498 +613000 ekin = 1.87623356286519 | erot = 1.6673223462411 | epot = -11.6773395814989 | etot = -8.13378367239258 +614000 ekin = 2.00332542687796 | erot = 1.7118578677057 | epot = -11.848966967905 | etot = -8.13378367332138 +615000 ekin = 2.0938447106915 | erot = 1.74706892485491 | epot = -11.9746973091449 | etot = -8.13378367359853 +616000 ekin = 2.14582652012112 | erot = 1.77208418550434 | epot = -12.051694378647 | etot = -8.13378367302157 +617000 ekin = 2.16764032551907 | erot = 1.787864761544 | epot = -12.0892887588653 | etot = -8.13378367180225 +618000 ekin = 2.17543321836212 | erot = 1.79702594193842 | epot = -12.1062428306546 | etot = -8.1337836703541 +619000 ekin = 2.1876501512488 | erot = 1.8030963157551 | epot = -12.124530136227 | etot = -8.13378366922312 +620000 ekin = 2.21827388575881 | erot = 1.80941579610169 | epot = -12.1614733506214 | etot = -8.13378366876093 +621000 ekin = 2.27256724286288 | erot = 1.81817906105508 | epot = -12.2245299729512 | etot = -8.13378366903325 +622000 ekin = 2.34686215368936 | erot = 1.82980019933667 | epot = -12.3104460229147 | etot = -8.13378366988869 +623000 ekin = 2.4307948396215 | erot = 1.84272954678992 | epot = -12.4073080575094 | etot = -8.13378367109801 +624000 ekin = 2.51074859399526 | erot = 1.85365912854803 | epot = -12.4981913948869 | etot = -8.1337836723436 +625000 ekin = 2.57376014758728 | erot = 1.85839628629478 | epot = -12.5659401070749 | etot = -8.13378367319283 +626000 ekin = 2.61178608744766 | erot = 1.85335246050013 | epot = -12.5989222212804 | etot = -8.13378367333261 +627000 ekin = 2.6243966691599 | erot = 1.83675929860226 | epot = -12.5949396406032 | etot = -8.13378367284104 +628000 ekin = 2.61715143116715 | erot = 1.80883297814718 | epot = -12.5597680815357 | etot = -8.1337836722214 +629000 ekin = 2.59614002780091 | erot = 1.77076928021921 | epot = -12.5006929799575 | etot = -8.1337836719374 +630000 ekin = 2.56316564608668 | erot = 1.723688622724 | epot = -12.4206379408549 | etot = -8.13378367204425 +631000 ekin = 2.51545670840082 | erot = 1.66841938704622 | epot = -12.3176597676969 | etot = -8.13378367224985 +632000 ekin = 2.4489810628424 | erot = 1.60594586085273 | epot = -12.1887105959476 | etot = -8.13378367225249 +633000 ekin = 2.36287257797967 | erot = 1.53782426737418 | epot = -12.0344805167116 | etot = -8.1337836713577 +634000 ekin = 2.26405242524487 | erot = 1.46623278030137 | epot = -11.8640688761309 | etot = -8.13378367058465 +635000 ekin = 2.16101755721023 | erot = 1.39475566087719 | epot = -11.6895568877986 | etot = -8.13378366971122 +636000 ekin = 2.06475253332371 | erot = 1.32686506233873 | epot = -11.5254012642579 | etot = -8.13378366859544 +637000 ekin = 1.98973271037489 | erot = 1.26596624428898 | epot = -11.3894826221215 | etot = -8.1337836674576 +638000 ekin = 1.95146778322825 | erot = 1.21514985243662 | epot = -11.3004013022987 | etot = -8.13378366663381 +639000 ekin = 1.96182069136293 | erot = 1.17695161175979 | epot = -11.272555969308 | etot = -8.13378366618532 +640000 ekin = 2.02679898932639 | erot = 1.15239183903012 | epot = -11.3129744949322 | etot = -8.13378366657568 +641000 ekin = 2.14199910312227 | erot = 1.14071086556531 | epot = -11.4164936363349 | etot = -8.13378366764727 +642000 ekin = 2.29285046318152 | erot = 1.13915186811449 | epot = -11.5657860007545 | etot = -8.13378366945849 +643000 ekin = 2.45552552112392 | erot = 1.14338828233112 | epot = -11.7326974750702 | etot = -8.13378367161514 +644000 ekin = 2.60133752583305 | erot = 1.14835367490429 | epot = -11.8834748743272 | etot = -8.1337836735899 +645000 ekin = 2.70371430392415 | erot = 1.14938437136379 | epot = -11.9868823501667 | etot = -8.1337836748788 +646000 ekin = 2.744636075582 | erot = 1.14332224209664 | epot = -12.0217419928935 | etot = -8.13378367521483 +647000 ekin = 2.71817787236065 | erot = 1.12915792946784 | epot = -11.9811194764621 | etot = -8.13378367463366 +648000 ekin = 2.63028246065005 | erot = 1.10798613625818 | epot = -11.872052270303 | etot = -8.13378367339473 +649000 ekin = 2.49559189346646 | erot = 1.08245328244387 | epot = -11.7118288477749 | etot = -8.13378367186454 +650000 ekin = 2.33293161554164 | erot = 1.05592857135036 | epot = -11.5226438572628 | etot = -8.13378367037085 +651000 ekin = 2.16312160403298 | erot = 1.03179243268154 | epot = -11.3286977053646 | etot = -8.13378366865011 +652000 ekin = 2.00437764472146 | erot = 1.01263346474868 | epot = -11.1507947776017 | etot = -8.13378366813157 +653000 ekin = 1.86320148187803 | erot = 0.999771298662386 | epot = -10.9967564484983 | etot = -8.13378366795787 +654000 ekin = 1.74159938814689 | erot = 0.993638993393247 | epot = -10.8690220495596 | etot = -8.13378366801952 +655000 ekin = 1.63877614369039 | erot = 0.99396111060154 | epot = -10.7665209224779 | etot = -8.13378366818596 +656000 ekin = 1.55293696393068 | erot = 0.999977751464522 | epot = -10.6866983837236 | etot = -8.1337836683284 +657000 ekin = 1.4830110556397 | erot = 1.01069155837519 | epot = -10.6274862823631 | etot = -8.13378366834819 +658000 ekin = 1.42991653831793 | erot = 1.02511295990871 | epot = -10.5888131664256 | etot = -8.13378366819894 +659000 ekin = 1.39703562132026 | erot = 1.04246417552511 | epot = -10.5732834647551 | etot = -8.13378366790973 +660000 ekin = 1.38964145709929 | erot = 1.06228082947049 | epot = -10.5857059541379 | etot = -8.13378366756814 +661000 ekin = 1.41337783438477 | erot = 1.08434723256929 | epot = -10.6315087343526 | etot = -8.13378366739853 +662000 ekin = 1.47169034616437 | erot = 1.10850483082505 | epot = -10.7139788445443 | etot = -8.13378366755489 +663000 ekin = 1.56097330111961 | erot = 1.13389735843563 | epot = -10.828654328347 | etot = -8.13378366879182 +664000 ekin = 1.66624490138187 | erot = 1.15850228666744 | epot = -10.9585308577766 | etot = -8.13378366972733 +665000 ekin = 1.77303863682182 | erot = 1.18152952432618 | epot = -11.0883518319651 | etot = -8.13378367081709 +666000 ekin = 1.86640057268967 | erot = 1.20258304574751 | epot = -11.2027672900294 | etot = -8.13378367159224 +667000 ekin = 1.93466412848224 | erot = 1.22193419207504 | epot = -11.2903819923641 | etot = -8.13378367180684 +668000 ekin = 1.97306030167035 | erot = 1.24062017116845 | epot = -11.3474641442683 | etot = -8.13378367142951 +669000 ekin = 1.98443783023637 | erot = 1.26004202124033 | epot = -11.378263522163 | etot = -8.13378367068634 +670000 ekin = 1.9765286197099 | erot = 1.28134194904741 | epot = -11.3916542389414 | etot = -8.13378367018408 +671000 ekin = 1.9564957951922 | erot = 1.30490078083266 | epot = -11.3951802458008 | etot = -8.13378366977592 +672000 ekin = 1.92875532537167 | erot = 1.33065660863054 | epot = -11.393195603566 | etot = -8.13378366956377 +673000 ekin = 1.89553670247147 | erot = 1.35854540535517 | epot = -11.3878657772974 | etot = -8.13378366947073 +674000 ekin = 1.85764904382712 | erot = 1.38884570045576 | epot = -11.3802784136313 | etot = -8.13378366934839 +675000 ekin = 1.81704545026849 | erot = 1.42228413605197 | epot = -11.3731132555849 | etot = -8.13378366926441 +676000 ekin = 1.7750503131025 | erot = 1.45971003523414 | epot = -11.3685440174361 | etot = -8.13378366909944 +677000 ekin = 1.73347451743517 | erot = 1.50191216833304 | epot = -11.3691703547236 | etot = -8.13378366895543 +678000 ekin = 1.69449339360511 | erot = 1.54922606358681 | epot = -11.3775031261123 | etot = -8.13378366892035 +679000 ekin = 1.65969071094794 | erot = 1.60118456838311 | epot = -11.3946589483665 | etot = -8.13378366903543 +680000 ekin = 1.62957005382932 | erot = 1.65634116858653 | epot = -11.4196948917059 | etot = -8.13378366929006 +681000 ekin = 1.60362252577982 | erot = 1.71228358652976 | epot = -11.4496897819403 | etot = -8.13378366963076 +682000 ekin = 1.58083074253738 | erot = 1.7658282644008 | epot = -11.4804426769224 | etot = -8.13378366998426 +683000 ekin = 1.56032431136392 | erot = 1.8133847914997 | epot = -11.5074927731469 | etot = -8.13378367028329 +684000 ekin = 1.54183455725445 | erot = 1.85142632174186 | epot = -11.5270445498266 | etot = -8.13378367083033 +685000 ekin = 1.52410759949766 | erot = 1.87642082988534 | epot = -11.5343121005203 | etot = -8.13378367113729 +686000 ekin = 1.50494379430242 | erot = 1.88570070119914 | epot = -11.5244281669065 | etot = -8.13378367140491 +687000 ekin = 1.48208036602769 | erot = 1.87831367884654 | epot = -11.4941777164845 | etot = -8.13378367161027 +688000 ekin = 1.45289287171996 | erot = 1.85497856866512 | epot = -11.4416551120323 | etot = -8.13378367164724 +689000 ekin = 1.41601907826432 | erot = 1.8181143734901 | epot = -11.3679171230975 | etot = -8.1337836713431 +690000 ekin = 1.37394775598182 | erot = 1.77166312492028 | epot = -11.2793945514636 | etot = -8.13378367056153 +691000 ekin = 1.33508615019417 | erot = 1.72071496355898 | epot = -11.1895847830891 | etot = -8.13378366933599 +692000 ekin = 1.31344376450669 | erot = 1.67094159749672 | epot = -11.1181690299549 | etot = -8.13378366795151 +693000 ekin = 1.32488046337475 | erot = 1.62783697437785 | epot = -11.0865011046416 | etot = -8.13378366688899 +694000 ekin = 1.38078608497536 | erot = 1.59583179973088 | epot = -11.1104015513359 | etot = -8.13378366662966 +695000 ekin = 1.48192861174078 | erot = 1.57745304982384 | epot = -11.1931653289766 | etot = -8.13378366741196 +696000 ekin = 1.61569966760638 | erot = 1.57278041423419 | epot = -11.3222637509355 | etot = -8.13378366909492 +697000 ekin = 1.75843097203778 | erot = 1.57943520716472 | epot = -11.4716498504213 | etot = -8.13378367121885 +698000 ekin = 1.88185215222092 | erot = 1.59316882058948 | epot = -11.6088046459987 | etot = -8.13378367318828 +699000 ekin = 1.96106579204364 | erot = 1.6089630633681 | epot = -11.7038125298792 | etot = -8.13378367446748 +700000 ekin = 1.98131680913957 | erot = 1.62236339276214 | epot = -11.7374638766332 | etot = -8.13378367473148 +701000 ekin = 1.94164145669884 | erot = 1.6306282568673 | epot = -11.7060533875213 | etot = -8.13378367395514 +702000 ekin = 1.85450233235272 | erot = 1.63328569355592 | epot = -11.6215716983308 | etot = -8.13378367242212 +703000 ekin = 1.7418140490781 | erot = 1.63189519933292 | epot = -11.5074929188567 | etot = -8.13378367044569 +704000 ekin = 1.62890053404882 | erot = 1.6293262484493 | epot = -11.3920104513919 | etot = -8.13378366889381 +705000 ekin = 1.53704055738389 | erot = 1.6282829775182 | epot = -11.299107202664 | etot = -8.13378366776194 +706000 ekin = 1.48137553865796 | erot = 1.63090498235445 | epot = -11.2460641881485 | etot = -8.13378366713611 +707000 ekin = 1.47012654301194 | erot = 1.63856880545727 | epot = -11.2424790154184 | etot = -8.13378366694916 +708000 ekin = 1.50545482973272 | erot = 1.65189802615415 | epot = -11.2911365229591 | etot = -8.1337836670722 +709000 ekin = 1.58434919626737 | erot = 1.67079586465923 | epot = -11.3889287286485 | etot = -8.13378366772192 +710000 ekin = 1.69830399771202 | erot = 1.6942063928158 | epot = -11.5262940590363 | etot = -8.13378366850847 +711000 ekin = 1.83638650826424 | erot = 1.72024670598225 | epot = -11.6904168837644 | etot = -8.13378366951786 +712000 ekin = 1.98510691897145 | erot = 1.74609277613641 | epot = -11.8649833659246 | etot = -8.13378367081678 +713000 ekin = 2.12899307618644 | erot = 1.7680461105034 | epot = -12.0308228587421 | etot = -8.13378367205223 +714000 ekin = 2.25375007879498 | erot = 1.7824326423488 | epot = -12.1699663939697 | etot = -8.13378367282589 +715000 ekin = 2.34975342441665 | erot = 1.78632122215087 | epot = -12.2698583198712 | etot = -8.13378367330363 +716000 ekin = 2.41256025262349 | erot = 1.77808812755726 | epot = -12.3244320533565 | etot = -8.13378367317575 +717000 ekin = 2.444747705476 | erot = 1.75804788175171 | epot = -12.3365792597721 | etot = -8.13378367254438 +718000 ekin = 2.45412216709769 | erot = 1.72831089168567 | epot = -12.3162167308183 | etot = -8.13378367203498 +719000 ekin = 2.44845378811745 | erot = 1.69204638293305 | epot = -12.2742838422258 | etot = -8.13378367117532 +720000 ekin = 2.43656682430699 | erot = 1.653290129109 | epot = -12.2236406239898 | etot = -8.13378367057385 +721000 ekin = 2.42365620512495 | erot = 1.61605001928987 | epot = -12.1734898947957 | etot = -8.13378367038088 +722000 ekin = 2.40904119938158 | erot = 1.58378410659312 | epot = -12.1266089765732 | etot = -8.13378367059853 +723000 ekin = 2.3864714698943 | erot = 1.55915433553323 | epot = -12.0794094764985 | etot = -8.13378367107095 +724000 ekin = 2.34659230996706 | erot = 1.54397640928961 | epot = -12.0243523907976 | etot = -8.13378367154094 +725000 ekin = 2.28077035574305 | erot = 1.53931973020303 | epot = -11.9538737576909 | etot = -8.13378367174481 +726000 ekin = 2.18489434266674 | erot = 1.54571264604936 | epot = -11.8643906602243 | etot = -8.13378367150821 +727000 ekin = 2.06179491770445 | erot = 1.56339646494477 | epot = -11.7589750534567 | etot = -8.13378367080751 +728000 ekin = 1.92142302763715 | erot = 1.59252552388938 | epot = -11.6477322213166 | etot = -8.13378366979011 +729000 ekin = 1.77863161459794 | erot = 1.63318133799263 | epot = -11.5455966213271 | etot = -8.13378366873648 +730000 ekin = 1.64935549787291 | erot = 1.68520345518385 | epot = -11.4683426210401 | etot = -8.13378366798338 +731000 ekin = 1.54617340799689 | erot = 1.74777370763628 | epot = -11.4277307834043 | etot = -8.13378366777111 +732000 ekin = 1.47444012325245 | erot = 1.81876025838851 | epot = -11.4269840497906 | etot = -8.13378366814959 +733000 ekin = 1.43189319813654 | erot = 1.89484027034483 | epot = -11.4605171374844 | etot = -8.13378366900304 +734000 ekin = 1.41017780820787 | erot = 1.9717467742621 | epot = -11.5157082525372 | etot = -8.13378367006727 +735000 ekin = 1.39820849324681 | erot = 2.04483940824086 | epot = -11.5768315724998 | etot = -8.13378367101211 +736000 ekin = 1.38628872342963 | erot = 2.1098536340319 | epot = -11.629926029011 | etot = -8.13378367154951 +737000 ekin = 1.36961596692138 | erot = 2.16355925928473 | epot = -11.666958897757 | etot = -8.13378367155092 +738000 ekin = 1.34981044643678 | erot = 2.20404797657756 | epot = -11.6876420941275 | etot = -8.13378367111314 +739000 ekin = 1.33372653200929 | erot = 2.23055395776276 | epot = -11.6980641602756 | etot = -8.13378367050359 +740000 ekin = 1.3301641929815 | erot = 2.24303198933214 | epot = -11.7069798523032 | etot = -8.13378366998951 +741000 ekin = 1.34641052650463 | erot = 2.2418933687733 | epot = -11.7220875649558 | etot = -8.13378366967791 +742000 ekin = 1.38645577649994 | erot = 2.22809836951193 | epot = -11.7483378155421 | etot = -8.13378366953023 +743000 ekin = 1.45103879195972 | erot = 2.20332817129236 | epot = -11.78815063276 | etot = -8.13378366950794 +744000 ekin = 1.53803120218704 | erot = 2.16985299830389 | epot = -11.8416678701947 | etot = -8.13378366970373 +745000 ekin = 1.64150939164163 | erot = 2.12988595975433 | epot = -11.9051790216537 | etot = -8.13378367025773 +746000 ekin = 1.75074962764797 | erot = 2.084703178296 | epot = -11.9692364772113 | etot = -8.1337836712673 +747000 ekin = 1.84985303111399 | erot = 2.03398729131739 | epot = -12.0176239950727 | etot = -8.13378367264135 +748000 ekin = 1.91944439124215 | erot = 1.97579729236821 | epot = -12.0290253576846 | etot = -8.13378367407423 +749000 ekin = 1.94080211587345 | erot = 1.90728805389936 | epot = -11.9818738448716 | etot = -8.13378367509876 +750000 ekin = 1.90175708676013 | erot = 1.82602227398459 | epot = -11.8615630358879 | etot = -8.13378367514313 +751000 ekin = 1.80442251329281 | erot = 1.73210123664164 | epot = -11.6703074242648 | etot = -8.1337836743303 +752000 ekin = 1.66438096328043 | erot = 1.62791173823168 | epot = -11.4260763737933 | etot = -8.13378367228118 +753000 ekin = 1.50959112394011 | erot = 1.51791168435355 | epot = -11.1612864778764 | etot = -8.13378366958272 +754000 ekin = 1.37530205555393 | erot = 1.40846180207067 | epot = -10.9175475248678 | etot = -8.13378366724317 +755000 ekin = 1.29223158174511 | erot = 1.30628357856271 | epot = -10.7322988261904 | etot = -8.13378366588257 +756000 ekin = 1.27251368864282 | erot = 1.21592403401268 | epot = -10.6222213891157 | etot = -8.13378366646025 +757000 ekin = 1.30634776760893 | erot = 1.13861892039767 | epot = -10.5787503559391 | etot = -8.13378366793255 +758000 ekin = 1.37185376254112 | erot = 1.07351073769267 | epot = -10.5791481697238 | etot = -8.13378366949005 +759000 ekin = 1.44617278830652 | erot = 1.01897341841095 | epot = -10.5989298771961 | etot = -8.13378367047867 +760000 ekin = 1.51270256478521 | erot = 0.973207034201279 | epot = -10.6196932701063 | etot = -8.13378367111983 +761000 ekin = 1.56039612701659 | erot = 0.934439072310183 | epot = -10.6286188703599 | etot = -8.13378367103315 +762000 ekin = 1.58948756763392 | erot = 0.901622731963786 | epot = -10.6248939700571 | etot = -8.13378367045936 +763000 ekin = 1.6081000860162 | erot = 0.874391507873671 | epot = -10.6162752635655 | etot = -8.13378366967559 +764000 ekin = 1.62768531422658 | erot = 0.85268931978755 | epot = -10.6141583029787 | etot = -8.13378366896457 +765000 ekin = 1.65693698084451 | erot = 0.836745239155022 | epot = -10.6274658895786 | etot = -8.13378366957904 +766000 ekin = 1.70304081024591 | erot = 0.827639758108534 | epot = -10.6644642391042 | etot = -8.13378367074981 +767000 ekin = 1.76603010804118 | erot = 0.819745786937045 | epot = -10.719559566307 | etot = -8.13378367132874 +768000 ekin = 1.83976621727053 | erot = 0.813915606764605 | epot = -10.7874654957395 | etot = -8.13378367170441 +769000 ekin = 1.91953928655326 | erot = 0.809315266601798 | epot = -10.8626382251549 | etot = -8.13378367199988 +770000 ekin = 2.00068337351142 | erot = 0.805269377200869 | epot = -10.9397364229424 | etot = -8.13378367223007 +771000 ekin = 2.0793260708754 | erot = 0.801470015544521 | epot = -11.0145797587906 | etot = -8.1337836723707 +772000 ekin = 2.15218258758158 | erot = 0.797728511847476 | epot = -11.0836947720041 | etot = -8.13378367257508 +773000 ekin = 2.215163463711 | erot = 0.793769932168822 | epot = -11.1427170688048 | etot = -8.13378367292501 +774000 ekin = 2.26234547299599 | erot = 0.789120208329084 | epot = -11.1852493547345 | etot = -8.13378367340947 +775000 ekin = 2.2874744000011 | erot = 0.782940858124726 | epot = -11.2041989316363 | etot = -8.13378367351048 +776000 ekin = 2.28487294056893 | erot = 0.774236455836067 | epot = -11.1928930694771 | etot = -8.13378367307206 +777000 ekin = 2.25459623259119 | erot = 0.763986238603041 | epot = -11.1523661447046 | etot = -8.13378367351038 +778000 ekin = 2.19483848049885 | erot = 0.752926118481735 | epot = -11.0815482726377 | etot = -8.13378367365716 +779000 ekin = 2.10207554487688 | erot = 0.741428699342712 | epot = -10.977287917918 | etot = -8.13378367369838 +780000 ekin = 1.97507844669044 | erot = 0.730439747664591 | epot = -10.8393018678568 | etot = -8.13378367350181 +781000 ekin = 1.81624237984421 | erot = 0.720681720728676 | epot = -10.6707077731406 | etot = -8.1337836725677 +782000 ekin = 1.63737679986566 | erot = 0.713965531361904 | epot = -10.4851260026997 | etot = -8.13378367147211 +783000 ekin = 1.45327094387194 | erot = 0.712334775531163 | epot = -10.2993893897495 | etot = -8.13378367034642 +784000 ekin = 1.27931304177932 | erot = 0.717795316544328 | epot = -10.1308920276493 | etot = -8.1337836693256 +785000 ekin = 1.12953341818588 | erot = 0.732133377036545 | epot = -9.99545046375494 | etot = -8.13378366853252 +786000 ekin = 1.01482431807516 | erot = 0.75676028119027 | epot = -9.90536826732165 | etot = -8.13378366805622 +787000 ekin = 0.941643963861821 | erot = 0.792599099777889 | epot = -9.86802673157384 | etot = -8.13378366793413 +788000 ekin = 0.911510796364499 | erot = 0.840020856535235 | epot = -9.88531532103858 | etot = -8.13378366813885 +789000 ekin = 0.921376349366559 | erot = 0.898827357285067 | epot = -9.95398737525229 | etot = -8.13378366860067 +790000 ekin = 0.964654482908816 | erot = 0.968273092073714 | epot = -10.0667112442091 | etot = -8.13378366922659 +791000 ekin = 1.03261133424169 | erot = 1.04710148108381 | epot = -10.2134964852509 | etot = -8.13378366992542 +792000 ekin = 1.11580285054382 | erot = 1.1335694535575 | epot = -10.3831559747086 | etot = -8.13378367060725 +793000 ekin = 1.20528065134038 | erot = 1.22546277764693 | epot = -10.564527100244 | etot = -8.13378367125664 +794000 ekin = 1.29310700795432 | erot = 1.32020213138516 | epot = -10.7470928111702 | etot = -8.13378367183071 +795000 ekin = 1.37238467366043 | erot = 1.41513363975781 | epot = -10.9213019889647 | etot = -8.13378367554646 +796000 ekin = 1.40835913071784 | erot = 1.52971390350303 | epot = -11.0718567048725 | etot = -8.13378367065163 +797000 ekin = 1.45167190325032 | erot = 1.62512604237268 | epot = -11.2105816179767 | etot = -8.13378367235371 +798000 ekin = 1.48145722831594 | erot = 1.70064689495524 | epot = -11.315887795752 | etot = -8.13378367248079 +799000 ekin = 1.49559633326826 | erot = 1.76394329939591 | epot = -11.3933233050887 | etot = -8.13378367242451 +800000 ekin = 1.49744893756744 | erot = 1.81327291257992 | epot = -11.4445055223208 | etot = -8.1337836721734 +801000 ekin = 1.49251279282898 | erot = 1.84780559274824 | epot = -11.474102057282 | etot = -8.13378367170478 +802000 ekin = 1.48820480029175 | erot = 1.86779013866172 | epot = -11.4897786100697 | etot = -8.13378367111621 +803000 ekin = 1.49253566042202 | erot = 1.87451451169702 | epot = -11.5008338427093 | etot = -8.13378367059025 +804000 ekin = 1.51166035431581 | erot = 1.86997050314966 | epot = -11.5154145278029 | etot = -8.1337836703374 +805000 ekin = 1.54725262775303 | erot = 1.85635941634672 | epot = -11.5373957145955 | etot = -8.13378367049578 +806000 ekin = 1.59533620639011 | erot = 1.83572111155612 | epot = -11.564840988593 | etot = -8.13378367064673 +807000 ekin = 1.64925672169128 | erot = 1.81037056530018 | epot = -11.5934109583748 | etot = -8.13378367138333 +808000 ekin = 1.69787116914676 | erot = 1.78132459589074 | epot = -11.6129794371364 | etot = -8.13378367209885 +809000 ekin = 1.73004744232766 | erot = 1.74897468678329 | epot = -11.6128058016954 | etot = -8.1337836725845 +810000 ekin = 1.73831051801208 | erot = 1.71353607858786 | epot = -11.5856302703687 | etot = -8.13378367376877 +811000 ekin = 1.71623548897176 | erot = 1.67428462341833 | epot = -11.5243037859089 | etot = -8.1337836735188 +812000 ekin = 1.66416936451911 | erot = 1.6311516443523 | epot = -11.4291046817249 | etot = -8.1337836728535 +813000 ekin = 1.59176171307477 | erot = 1.58513406243779 | epot = -11.310679447357 | etot = -8.13378367184445 +814000 ekin = 1.51369575692981 | erot = 1.53752063411804 | epot = -11.1850000616811 | etot = -8.13378367063321 +815000 ekin = 1.44735421380952 | erot = 1.48989097525174 | epot = -11.071028858495 | etot = -8.13378366943376 +816000 ekin = 1.40949972398155 | erot = 1.44406671642419 | epot = -10.9873501088976 | etot = -8.13378366849187 +817000 ekin = 1.41268037621161 | erot = 1.40200084694727 | epot = -10.9484648911793 | etot = -8.13378366802041 +818000 ekin = 1.46212175579676 | erot = 1.36558649857796 | epot = -10.9614919225081 | etot = -8.13378366813336 +819000 ekin = 1.55434977585278 | erot = 1.336454660745 | epot = -11.0245881053256 | etot = -8.13378366872777 +820000 ekin = 1.67879137036297 | erot = 1.31590146922143 | epot = -11.1284765091675 | etot = -8.13378366958314 +821000 ekin = 1.82107935884616 | erot = 1.30489182432771 | epot = -11.2597548536193 | etot = -8.13378367044544 +822000 ekin = 1.9529446672913 | erot = 1.31620699209334 | epot = -11.4029353289519 | etot = -8.13378366956727 +823000 ekin = 2.07449183310668 | erot = 1.34466437793314 | epot = -11.5529398817822 | etot = -8.13378367074238 +824000 ekin = 2.19907919113028 | erot = 1.36469015638506 | epot = -11.6975530185003 | etot = -8.13378367098496 +825000 ekin = 2.30563380742784 | erot = 1.39476757368218 | epot = -11.8341850523186 | etot = -8.13378367120861 +826000 ekin = 2.39103700944343 | erot = 1.43354131849664 | epot = -11.9583619997604 | etot = -8.13378367182035 +827000 ekin = 2.44908730441079 | erot = 1.47824975100237 | epot = -12.0611207278221 | etot = -8.13378367240897 +828000 ekin = 2.47400495198267 | erot = 1.52536858867821 | epot = -12.1331572137293 | etot = -8.13378367306841 +829000 ekin = 2.46026919533199 | erot = 1.57083290047245 | epot = -12.1648857694072 | etot = -8.13378367360277 +830000 ekin = 2.40417117554425 | erot = 1.61070673365405 | epot = -12.1486615829917 | etot = -8.13378367379336 +831000 ekin = 2.30626797389012 | erot = 1.64206892762421 | epot = -12.0821205749624 | etot = -8.13378367344809 +832000 ekin = 2.17314973465443 | erot = 1.66378895326424 | epot = -11.970722360519 | etot = -8.13378367260036 +833000 ekin = 2.0166788300711 | erot = 1.67684011585974 | epot = -11.8273026173371 | etot = -8.13378367140623 +834000 ekin = 1.85232718449021 | erot = 1.68370832890753 | epot = -11.6698191834907 | etot = -8.13378367009299 +835000 ekin = 1.6961628249867 | erot = 1.68768571762743 | epot = -11.5176322117046 | etot = -8.13378366909043 +836000 ekin = 1.56059049298033 | erot = 1.69176136007029 | epot = -11.3861355304923 | etot = -8.13378367744166 +837000 ekin = 1.46494691496556 | erot = 1.67922598580687 | epot = -11.2779565658808 | etot = -8.13378366510835 +838000 ekin = 1.41623376459279 | erot = 1.68359587929023 | epot = -11.2336133181403 | etot = -8.13378367425731 +839000 ekin = 1.38164226014501 | erot = 1.69827238735174 | epot = -11.2136983221133 | etot = -8.13378367461659 +840000 ekin = 1.37281419718589 | erot = 1.71791872249748 | epot = -11.2245165947878 | etot = -8.13378367510438 +841000 ekin = 1.38251849199312 | erot = 1.74222357843919 | epot = -11.2585257460257 | etot = -8.1337836755934 +842000 ekin = 1.40440815950989 | erot = 1.77053653194949 | epot = -11.3087283675096 | etot = -8.1337836760502 +843000 ekin = 1.43288889939346 | erot = 1.80208713639206 | epot = -11.36875971227 | etot = -8.13378367648447 +844000 ekin = 1.46337505833392 | erot = 1.83581425241861 | epot = -11.4329729876798 | etot = -8.13378367692722 +845000 ekin = 1.49225138986042 | erot = 1.87011931161695 | epot = -11.4961543788775 | etot = -8.13378367740011 +846000 ekin = 1.51675477488435 | erot = 1.90271354937653 | epot = -11.5532520021354 | etot = -8.13378367787456 +847000 ekin = 1.53514567596946 | erot = 1.93076451186911 | epot = -11.5996938660634 | etot = -8.13378367822481 +848000 ekin = 1.5475881716074 | erot = 1.9514972978589 | epot = -11.632869147723 | etot = -8.1337836782567 +849000 ekin = 1.55740275322743 | erot = 1.9631393326447 | epot = -11.6543257637317 | etot = -8.13378367785955 +850000 ekin = 1.57132389425342 | erot = 1.96572299080043 | epot = -11.6708305622391 | etot = -8.13378367718525 +851000 ekin = 1.59707563447322 | erot = 1.96110149884602 | epot = -11.6919608099609 | etot = -8.13378367664163 +852000 ekin = 1.63865350802047 | erot = 1.95197424600859 | epot = -11.7244114307046 | etot = -8.1337836766755 +853000 ekin = 1.69191652794579 | erot = 1.94037118794228 | epot = -11.76607139336 | etot = -8.13378367747194 +854000 ekin = 1.74370784126291 | erot = 1.92645693876828 | epot = -11.8039484587425 | etot = -8.13378367871129 +855000 ekin = 1.77620146931273 | erot = 1.90847432072674 | epot = -11.818459469993 | etot = -8.13378367995357 +856000 ekin = 1.77433273173135 | erot = 1.88315818040523 | epot = -11.7912745926414 | etot = -8.13378368050482 +857000 ekin = 1.73346273143704 | erot = 1.84735528760624 | epot = -11.7146016990445 | etot = -8.13378368000122 +858000 ekin = 1.66317903320086 | erot = 1.79946643714417 | epot = -11.5964291488827 | etot = -8.13378367853766 +859000 ekin = 1.58513293484139 | erot = 1.74007953892668 | epot = -11.458996150389 | etot = -8.13378367662096 +860000 ekin = 1.52581941755169 | erot = 1.67168470790424 | epot = -11.331287800361 | etot = -8.1337836749051 +861000 ekin = 1.50775028697231 | erot = 1.59782760957668 | epot = -11.2393615704181 | etot = -8.1337836738691 +862000 ekin = 1.54306866341494 | erot = 1.52225954455881 | epot = -11.1991118816238 | etot = -8.13378367365005 +863000 ekin = 1.63171594645684 | erot = 1.4484512777512 | epot = -11.2139508982985 | etot = -8.13378367409045 +864000 ekin = 1.76367870734132 | erot = 1.37946094103656 | epot = -11.2769233232937 | etot = -8.13378367491581 +865000 ekin = 1.92306453000344 | erot = 1.31796433803999 | epot = -11.374812543916 | etot = -8.13378367587256 +866000 ekin = 2.09215456398996 | erot = 1.26628926074898 | epot = -11.4922275013027 | etot = -8.13378367656379 +867000 ekin = 2.25558706658228 | erot = 1.22649711213513 | epot = -11.6158678560148 | etot = -8.13378367729736 +868000 ekin = 2.40057443601768 | erot = 1.20017706609103 | epot = -11.7345351799089 | etot = -8.13378367780019 +869000 ekin = 2.51819395230402 | erot = 1.18842551997292 | epot = -11.8404031503536 | etot = -8.13378367807667 +870000 ekin = 2.60380767640006 | erot = 1.19178595733222 | epot = -11.9293773119552 | etot = -8.13378367822295 +871000 ekin = 2.65597330550025 | erot = 1.2100890019769 | epot = -11.9998459858056 | etot = -8.13378367832845 +872000 ekin = 2.67413391804158 | erot = 1.24223617488104 | epot = -12.0501537716578 | etot = -8.13378367873519 +873000 ekin = 2.65523813357981 | erot = 1.28590823790636 | epot = -12.0749300508519 | etot = -8.13378367936569 +874000 ekin = 2.59426343770237 | erot = 1.33769628220084 | epot = -12.0657433999318 | etot = -8.13378368002863 +875000 ekin = 2.48661885037869 | erot = 1.39359938802698 | epot = -12.0140019187687 | etot = -8.13378368036305 +876000 ekin = 2.3325716344682 | erot = 1.44985984558333 | epot = -11.9162151600516 | etot = -8.13378368000003 +877000 ekin = 2.14151731726319 | erot = 1.50380376851767 | epot = -11.7791047646106 | etot = -8.13378367882977 +878000 ekin = 1.9328320049617 | erot = 1.55419737766281 | epot = -11.6208130598149 | etot = -8.13378367719035 +879000 ekin = 1.7311757375338 | erot = 1.60084517557068 | epot = -11.4658045888545 | etot = -8.13378367575007 +880000 ekin = 1.55787151453529 | erot = 1.64373016650857 | epot = -11.3353853561002 | etot = -8.13378367505636 +881000 ekin = 1.42384142286017 | erot = 1.68244604710334 | epot = -11.2400711450968 | etot = -8.13378367513324 +882000 ekin = 1.32893688630863 | erot = 1.71640874325353 | epot = -11.1791293051203 | etot = -8.13378367555812 +883000 ekin = 1.26714280246917 | erot = 1.74554143071219 | epot = -11.1464679089137 | etot = -8.13378367573232 +884000 ekin = 1.23268823978927 | erot = 1.77071758428828 | epot = -11.1371895000291 | etot = -8.13378367595158 +885000 ekin = 1.22008849612494 | erot = 1.7931216686051 | epot = -11.1469938408411 | etot = -8.13378367611103 +886000 ekin = 1.2253247993799 | erot = 1.81382116066767 | epot = -11.1729296362917 | etot = -8.13378367624409 +887000 ekin = 1.24494548115686 | erot = 1.8333603965884 | epot = -11.2120895542136 | etot = -8.13378367646834 +888000 ekin = 1.27500212875267 | erot = 1.85168867131358 | epot = -11.2604744768214 | etot = -8.13378367675513 +889000 ekin = 1.31152735197782 | erot = 1.86844690158133 | epot = -11.3137579306675 | etot = -8.13378367710839 +890000 ekin = 1.34986317506705 | erot = 1.88304641086648 | epot = -11.366693263463 | etot = -8.13378367752949 +891000 ekin = 1.38390530402723 | erot = 1.89468392941472 | epot = -11.4123729115327 | etot = -8.13378367809074 +892000 ekin = 1.4056939593949 | erot = 1.90226748680413 | epot = -11.4417451252141 | etot = -8.13378367901505 +893000 ekin = 1.40448288905364 | erot = 1.90432470807527 | epot = -11.4425912768364 | etot = -8.13378367970753 +894000 ekin = 1.37144289320793 | erot = 1.89954369080315 | epot = -11.4047702640041 | etot = -8.13378367999306 +895000 ekin = 1.30348485852156 | erot = 1.88750423015747 | epot = -11.3247727648586 | etot = -8.13378367617955 +896000 ekin = 1.22187336955615 | erot = 1.87071061704799 | epot = -11.2263676621213 | etot = -8.13378367551712 +897000 ekin = 1.14754845755141 | erot = 1.85263803873205 | epot = -11.1339701707916 | etot = -8.13378367450818 +898000 ekin = 1.08944016629691 | erot = 1.83653761360572 | epot = -11.0597614538287 | etot = -8.13378367392606 +899000 ekin = 1.05403951151006 | erot = 1.82413022658184 | epot = -11.0119534116858 | etot = -8.13378367359388 +900000 ekin = 1.04500203344446 | erot = 1.81619426344812 | epot = -10.994979970496 | etot = -8.13378367360344 +901000 ekin = 1.06222206934733 | erot = 1.8123440310837 | epot = -11.0083497743595 | etot = -8.13378367392844 +902000 ekin = 1.10209713935283 | erot = 1.81111462916561 | epot = -11.0469954429736 | etot = -8.13378367445512 +903000 ekin = 1.15876030908375 | erot = 1.81037876576567 | epot = -11.1029227498814 | etot = -8.133783675032 +904000 ekin = 1.22532881863849 | erot = 1.80797942318881 | epot = -11.1670919177971 | etot = -8.13378367596983 +905000 ekin = 1.29206809096935 | erot = 1.80250391199268 | epot = -11.2283556794293 | etot = -8.13378367646727 +906000 ekin = 1.35183435815479 | erot = 1.79300035919243 | epot = -11.2786183941064 | etot = -8.13378367675922 +907000 ekin = 1.3997999182264 | erot = 1.77946415971456 | epot = -11.3130477549044 | etot = -8.13378367696348 +908000 ekin = 1.43268044790834 | erot = 1.76253539555357 | epot = -11.3289995204751 | etot = -8.13378367701317 +909000 ekin = 1.44897967363112 | erot = 1.74341748034194 | epot = -11.3261808308616 | etot = -8.13378367688856 +910000 ekin = 1.44937912475448 | erot = 1.72390580409483 | epot = -11.3070686054089 | etot = -8.13378367655958 +911000 ekin = 1.43727653989154 | erot = 1.70617572380865 | epot = -11.2772359397525 | etot = -8.13378367605232 +912000 ekin = 1.41843448636244 | erot = 1.69263823222815 | epot = -11.2448563940395 | etot = -8.13378367544888 +913000 ekin = 1.40006194548143 | erot = 1.68549440970377 | epot = -11.2193400300544 | etot = -8.13378367486918 +914000 ekin = 1.38958826580783 | erot = 1.68634774644355 | epot = -11.2097196867265 | etot = -8.13378367447512 +915000 ekin = 1.39244841973003 | erot = 1.69595180427737 | epot = -11.2221838984246 | etot = -8.13378367441721 +916000 ekin = 1.41015014804868 | erot = 1.71401831960836 | epot = -11.2579521424291 | etot = -8.13378367477205 +917000 ekin = 1.4392962972226 | erot = 1.73916764012751 | epot = -11.3122476128452 | etot = -8.13378367549508 +918000 ekin = 1.47227942866918 | erot = 1.76903078857887 | epot = -11.3750938936502 | etot = -8.13378367640215 +919000 ekin = 1.49986621796558 | erot = 1.80052098861358 | epot = -11.4341708837671 | etot = -8.13378367718791 +920000 ekin = 1.51501277126177 | erot = 1.83027923256497 | epot = -11.47907568142 | etot = -8.13378367759328 +921000 ekin = 1.50567012556585 | erot = 1.85806253127122 | epot = -11.4975163336852 | etot = -8.13378367684813 +922000 ekin = 1.50530570224327 | erot = 1.88405749197312 | epot = -11.5231468708389 | etot = -8.13378367662252 +923000 ekin = 1.51005072191376 | erot = 1.89398296774265 | epot = -11.5378173655129 | etot = -8.13378367585645 +924000 ekin = 1.52928061141758 | erot = 1.89561779711381 | epot = -11.5586820839691 | etot = -8.13378367543768 +925000 ekin = 1.56873673267864 | erot = 1.88910082656719 | epot = -11.5916212349651 | etot = -8.13378367571927 +926000 ekin = 1.62371911818097 | erot = 1.87429650776439 | epot = -11.6317993026299 | etot = -8.13378367668451 +927000 ekin = 1.67952368644808 | erot = 1.85068760938675 | epot = -11.6639949737938 | etot = -8.13378367795893 +928000 ekin = 1.71651231901818 | erot = 1.81783745876575 | epot = -11.6681334568181 | etot = -8.13378367903418 +929000 ekin = 1.71702542960752 | erot = 1.77614095786796 | epot = -11.6269500669844 | etot = -8.13378367950894 +930000 ekin = 1.67099557211838 | erot = 1.7274288922438 | epot = -11.5322081435662 | etot = -8.13378367920398 +931000 ekin = 1.57874461917618 | erot = 1.67513458289526 | epot = -11.3876628802403 | etot = -8.13378367816882 +932000 ekin = 1.4507920768008 | erot = 1.62392798760098 | epot = -11.2085037410289 | etot = -8.13378367662711 +933000 ekin = 1.30531755494448 | erot = 1.57894109498966 | epot = -11.018042324831 | etot = -8.1337836748969 +934000 ekin = 1.16422088167371 | erot = 1.54485802656028 | epot = -10.8428625815313 | etot = -8.13378367329727 +935000 ekin = 1.04864497283229 | erot = 1.52509209112999 | epot = -10.7075207361246 | etot = -8.13378367216232 +936000 ekin = 0.974709276492776 | erot = 1.52116328044459 | epot = -10.6296562286223 | etot = -8.13378367168494 +937000 ekin = 0.950462282016656 | erot = 1.53244919686212 | epot = -10.6166951508385 | etot = -8.13378367195971 +938000 ekin = 0.974421294284288 | erot = 1.55616007219735 | epot = -10.6643650394247 | etot = -8.13378367294306 +939000 ekin = 1.03606886900089 | erot = 1.58755449752601 | epot = -10.7574070409824 | etot = -8.13378367445547 +940000 ekin = 1.1182684113919 | erot = 1.62042989204406 | epot = -10.8724819796331 | etot = -8.13378367619717 +941000 ekin = 1.20122028724958 | erot = 1.64794232232013 | epot = -10.9829462873571 | etot = -8.13378367778742 +942000 ekin = 1.26717763839312 | erot = 1.66371923985981 | epot = -11.0646805571373 | etot = -8.13378367888438 +943000 ekin = 1.30509212601128 | erot = 1.66314531309206 | epot = -11.1020211182277 | etot = -8.13378367912435 +944000 ekin = 1.31392377996911 | erot = 1.64449670956111 | epot = -11.0922041680488 | etot = -8.13378367851861 +945000 ekin = 1.30237464540686 | erot = 1.60929976269543 | epot = -11.0454580854524 | etot = -8.13378367735008 +946000 ekin = 1.28506402585559 | erot = 1.56181036928443 | epot = -10.9806580712548 | etot = -8.13378367611474 +947000 ekin = 1.27634123306472 | erot = 1.50774431584928 | epot = -10.9178692241958 | etot = -8.13378367528185 +948000 ekin = 1.28467886384667 | erot = 1.45281196796929 | epot = -10.8712745068834 | etot = -8.13378367506747 +949000 ekin = 1.31037739966444 | erot = 1.4015724009042 | epot = -10.845733475945 | etot = -8.13378367537636 +950000 ekin = 1.34722619730445 | erot = 1.3568868930793 | epot = -10.8378967663129 | etot = -8.13378367592918 +951000 ekin = 1.38650860378931 | erot = 1.31991932975183 | epot = -10.8402116099744 | etot = -8.13378367643326 +952000 ekin = 1.42144708624314 | erot = 1.29081153328224 | epot = -10.8460422961592 | etot = -8.13378367663378 +953000 ekin = 1.44882630067214 | erot = 1.26905801004898 | epot = -10.8516679874738 | etot = -8.13378367675266 +954000 ekin = 1.46839021307718 | erot = 1.25288009019966 | epot = -10.8550539798531 | etot = -8.13378367657631 +955000 ekin = 1.48389177785595 | erot = 1.24071488980735 | epot = -10.8583903439438 | etot = -8.13378367628045 +956000 ekin = 1.50041047950534 | erot = 1.23152279455205 | epot = -10.8657169501392 | etot = -8.1337836760818 +957000 ekin = 1.52124213092013 | erot = 1.2248104773485 | epot = -10.879836284368 | etot = -8.13378367609941 +958000 ekin = 1.54632228820822 | erot = 1.22051885655829 | epot = -10.9006248210289 | etot = -8.13378367626243 +959000 ekin = 1.57324295712668 | erot = 1.21891909920002 | epot = -10.9259457327015 | etot = -8.13378367637477 +960000 ekin = 1.59969207344602 | erot = 1.22060655525412 | epot = -10.9540823050919 | etot = -8.13378367639174 +961000 ekin = 1.62253441996171 | erot = 1.22677322915566 | epot = -10.9830913253843 | etot = -8.13378367626691 +962000 ekin = 1.64127230147935 | erot = 1.23851880603448 | epot = -11.0135747836412 | etot = -8.13378367612736 +963000 ekin = 1.65616191466682 | erot = 1.25678968602508 | epot = -11.0467352768412 | etot = -8.13378367614927 +964000 ekin = 1.66566514854511 | erot = 1.28218253503938 | epot = -11.0816313598357 | etot = -8.13378367625117 +965000 ekin = 1.66770285430116 | erot = 1.31455464298714 | epot = -11.1160411738658 | etot = -8.13378367657753 +966000 ekin = 1.65810694854125 | erot = 1.35314679644672 | epot = -11.1450374218014 | etot = -8.13378367681348 +967000 ekin = 1.63401913508899 | erot = 1.39653020178946 | epot = -11.1643330138152 | etot = -8.13378367693677 +968000 ekin = 1.59493850092154 | erot = 1.44254096564059 | epot = -11.1712631436315 | etot = -8.13378367706939 +969000 ekin = 1.54116623552017 | erot = 1.48830566532219 | epot = -11.1632555781849 | etot = -8.13378367734257 +970000 ekin = 1.47195250632947 | erot = 1.53048571049902 | epot = -11.1362218945415 | etot = -8.13378367771304 +971000 ekin = 1.38571362597403 | erot = 1.56593199201498 | epot = -11.0854292956026 | etot = -8.13378367761359 +972000 ekin = 1.2844612417634 | erot = 1.5927702433258 | epot = -11.0110151625437 | etot = -8.13378367745447 +973000 ekin = 1.17320808893134 | erot = 1.61049478745248 | epot = -10.9174865530745 | etot = -8.13378367669067 +974000 ekin = 1.063134217545 | erot = 1.62023440891558 | epot = -10.8171523018864 | etot = -8.13378367542583 +975000 ekin = 0.970987628511461 | erot = 1.62445058186299 | epot = -10.729221884475 | etot = -8.13378367410056 +976000 ekin = 0.913517833540499 | erot = 1.62592321100425 | epot = -10.6732247178428 | etot = -8.13378367329807 +977000 ekin = 0.900210296810119 | erot = 1.62660680819932 | epot = -10.6606007783876 | etot = -8.13378367337816 +978000 ekin = 0.928774958127715 | erot = 1.62702792958257 | epot = -10.689586561963 | etot = -8.1337836742527 +979000 ekin = 0.986309688868686 | erot = 1.62661906217909 | epot = -10.7467124264037 | etot = -8.13378367535593 +980000 ekin = 1.05604184520662 | erot = 1.62477777714318 | epot = -10.8146032984793 | etot = -8.13378367612947 +981000 ekin = 1.1246974517273 | erot = 1.62193499902994 | epot = -10.8804161270463 | etot = -8.13378367628903 +982000 ekin = 1.18655422477308 | erot = 1.61989865458109 | epot = -10.9402365552591 | etot = -8.13378367590495 +983000 ekin = 1.2432339331173 | erot = 1.62138932845409 | epot = -10.9984069368238 | etot = -8.13378367525236 +984000 ekin = 1.3007289232663 | erot = 1.62917854668228 | epot = -11.0636911445781 | etot = -8.13378367462955 +985000 ekin = 1.36575798905031 | erot = 1.64530549608379 | epot = -11.1448471593989 | etot = -8.13378367426479 +986000 ekin = 1.44269014496135 | erot = 1.67060135311584 | epot = -11.2470751723821 | etot = -8.13378367430487 +987000 ekin = 1.53139017712842 | erot = 1.70450616306297 | epot = -11.3696800150103 | etot = -8.1337836748189 +988000 ekin = 1.62542516993083 | erot = 1.74490462825212 | epot = -11.5041134740412 | etot = -8.13378367585821 +989000 ekin = 1.70973314356223 | erot = 1.78758053837793 | epot = -11.6310973591265 | etot = -8.13378367718631 +990000 ekin = 1.76834990596683 | erot = 1.82854800940128 | epot = -11.7306815937548 | etot = -8.13378367838671 +991000 ekin = 1.78717585114204 | erot = 1.86445265633072 | epot = -11.7854121865501 | etot = -8.13378367907737 +992000 ekin = 1.75808068877046 | erot = 1.89344947238099 | epot = -11.785313840188 | etot = -8.13378367903651 +993000 ekin = 1.68149922524843 | erot = 1.91587779016308 | epot = -11.7311606936924 | etot = -8.13378367828091 +994000 ekin = 1.56634005404157 | erot = 1.93428820638793 | epot = -11.6344119374165 | etot = -8.13378367698701 +995000 ekin = 1.42807354955332 | erot = 1.95281321310297 | epot = -11.5146704380736 | etot = -8.13378367541727 +996000 ekin = 1.28578074304376 | erot = 1.97614374534339 | epot = -11.3957081622749 | etot = -8.13378367388774 +997000 ekin = 1.15849050556427 | erot = 2.00849321106801 | epot = -11.3007673893125 | etot = -8.1337836726802 +998000 ekin = 1.06172554858003 | erot = 2.05288173951555 | epot = -11.2483909600472 | etot = -8.13378367195161 +999000 ekin = 1.00534863971574 | erot = 2.11083351411326 | epot = -11.2499658255692 | etot = -8.13378367174015 +1000000 ekin = 0.992888354298654 | erot = 2.182321071549 | epot = -11.3089930978744 | etot = -8.13378367202676 + 1000000 0.073547286 -1.1520387 0.021139403 -1.0316105 -4.7686302e-05 64000 +Loop time of 17.4426 on 1 procs for 1000000 steps with 10 atoms + +Performance: 49534.033 tau/day, 57331.057 timesteps/s +99.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 | 14.806 | 14.806 | 14.806 | 0.0 | 84.88 +Bond | 0.62301 | 0.62301 | 0.62301 | 0.0 | 3.57 +Neigh | 0.008078 | 0.008078 | 0.008078 | 0.0 | 0.05 +Comm | 0.18244 | 0.18244 | 0.18244 | 0.0 | 1.05 +Output | 0.099253 | 0.099253 | 0.099253 | 0.0 | 0.57 +Modify | 1.4674 | 1.4674 | 1.4674 | 0.0 | 8.41 +Other | | 0.2565 | | | 1.47 + +Nlocal: 10.0000 ave 10 max 10 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 0.00000 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 37.0000 ave 37 max 37 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 37 +Ave neighs/atom = 3.7000000 +Ave special neighs/atom = 3.6000000 +Neighbor list builds = 1000 +Dangerous builds = 0 + +write_data last_config.${number}.* nocoeff +write_data last_config.3.* nocoeff +System init for write_data ... +Total wall time: 0:00:17 diff --git a/examples/PACKAGES/cgdna/examples/oxDNA2/duplex3/log.27May21.duplex3.g++.4 b/examples/PACKAGES/cgdna/examples/oxDNA2/duplex3/log.27May21.duplex3.g++.4 new file mode 100644 index 0000000000..735559c643 --- /dev/null +++ b/examples/PACKAGES/cgdna/examples/oxDNA2/duplex3/log.27May21.duplex3.g++.4 @@ -0,0 +1,1181 @@ +LAMMPS (27 May 2021) +variable number equal 3 +variable ofreq equal 1000 +variable efreq equal 1000 +variable T equal 0.1 +variable rhos equal 0.2 + +units lj + +dimension 3 + +newton off + +boundary p p p + +atom_style hybrid bond ellipsoid oxdna +WARNING: Atom style hybrid defines both, per-type and per-atom masses; both must be set, but only per-atom masses will be used (../atom_vec_hybrid.cpp:157) +atom_modify sort 0 1.0 + +# Pair interactions require lists of neighbours to be calculated +neighbor 2.0 bin +neigh_modify every 1 delay 0 check yes + +read_data data.duplex3 +Reading data file ... + orthogonal box = (-20.000000 -20.000000 -20.000000) to (20.000000 20.000000 20.000000) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 10 atoms + reading velocities ... + 10 velocities + scanning bonds ... + 2 = max bonds/atom + 10 ellipsoids + reading bonds ... +Setting oxDNA 3'->5' bond directionality ... + 8 bonds +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 + 2 = max # of 1-3 neighbors + 2 = max # of 1-4 neighbors + 4 = max # of special neighbors + special bonds CPU = 0.001 seconds + read_data CPU = 0.005 seconds + +set atom * mass 1.0 +Setting atom values ... + 10 settings made for mass + +group all type 1 4 +10 atoms in group all + +# oxDNA2 bond interactions - FENE backbone +bond_style oxdna2/fene +bond_coeff * 2.0 0.25 0.7564 +special_bonds lj 0 1 1 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 1 1 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 2 = max # of 1-3 neighbors + 2 = max # of 1-4 neighbors + 4 = max # of special neighbors + special bonds CPU = 0.000 seconds + +# oxDNA2 pair interactions +pair_style hybrid/overlay oxdna2/excv oxdna2/stk oxdna2/hbond oxdna2/xstk oxdna2/coaxstk oxdna2/dh +pair_coeff * * oxdna2/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32 +pair_coeff * * oxdna2/stk seqdep ${T} 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 +pair_coeff * * oxdna2/stk seqdep 0.1 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 +pair_coeff * * oxdna2/hbond seqdep 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 1 4 oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 2 3 oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff * * oxdna2/xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68 +pair_coeff * * oxdna2/coaxstk 58.5 0.4 0.6 0.22 0.58 2.0 2.891592653589793 0.65 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 40.0 3.116592653589793 +pair_coeff * * oxdna2/dh ${T} ${rhos} 0.815 +pair_coeff * * oxdna2/dh 0.1 ${rhos} 0.815 +pair_coeff * * oxdna2/dh 0.1 0.2 0.815 + +# NVE ensemble +fix 1 all nve/asphere +#fix 2 all langevin ${T} ${T} 2.5 457145 angmom 10 + +timestep 1e-5 + +#comm_style tiled +fix 3 all balance 1000 1.03 shift xyz 10 1.03 +comm_modify cutoff 3.8 + +compute quat all property/atom quatw quati quatj quatk + +compute erot all erotate/asphere +compute ekin all ke +compute epot all pe +variable erot equal c_erot +variable ekin equal c_ekin +variable epot equal c_epot +variable etot equal c_erot+c_ekin+c_epot +fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes +fix 5 all print 1000 "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes + +dump out all custom ${ofreq} out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump out all custom 1000 out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump out all custom 1000 out.3.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump_modify out sort id +dump_modify out format line "%d %d %d %22.15le %22.15le %22.15le %d %d %d %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le" + +run 1000000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 5.6389877 + ghost atom cutoff = 5.6389877 + binsize = 2.8194939, bins = 15 15 15 + 5 neighbor lists, perpetual/occasional/extra = 5 0 0 + (1) pair oxdna2/excv, perpetual + attributes: half, newton off + pair build: half/bin/newtoff + stencil: full/bin/3d + bin: standard + (2) pair oxdna2/hbond, perpetual, copy from (1) + attributes: half, newton off + pair build: copy + stencil: none + bin: none + (3) pair oxdna2/xstk, perpetual, copy from (1) + attributes: half, newton off + pair build: copy + stencil: none + bin: none + (4) pair oxdna2/coaxstk, perpetual, copy from (1) + attributes: half, newton off + pair build: copy + stencil: none + bin: none + (5) pair oxdna2/dh, perpetual, copy from (1) + attributes: half, newton off + pair build: copy + stencil: none + bin: none +WARNING: Communication cutoff adjusted to 5.638987723814632 (../comm.cpp:739) +0 ekin = 1.18025158324274 | erot = 2.17908479136507 | epot = -11.4931199991265 | etot = -8.13378362451868 +Per MPI rank memory allocation (min/avg/max) = 9.444 | 9.445 | 9.446 Mbytes +Step Temp E_pair E_mol TotEng Press Volume + 0 0.087426043 -1.2259004 0.076588446 -1.0312868 -7.7802026e-06 64000 +1000 ekin = 1.08696491147664 | erot = 2.23197650714075 | epot = -11.452725042513 | etot = -8.13378362389561 +2000 ekin = 1.01265115460251 | erot = 2.29132031278141 | epot = -11.4377550908153 | etot = -8.13378362343136 +3000 ekin = 0.964951920610343 | erot = 2.35614244814783 | epot = -11.4548779921654 | etot = -8.13378362340727 +4000 ekin = 0.94586117922706 | erot = 2.42482489276794 | epot = -11.5044696957622 | etot = -8.13378362376716 +5000 ekin = 0.952186940161506 | erot = 2.49508744948286 | epot = -11.5810580140497 | etot = -8.13378362440531 +6000 ekin = 0.976836955567213 | erot = 2.56435791368455 | epot = -11.6749784943528 | etot = -8.133783625101 +7000 ekin = 1.01151727363089 | erot = 2.63034980765842 | epot = -11.7756507069156 | etot = -8.13378362562625 +8000 ekin = 1.04963768886881 | erot = 2.69159648304405 | epot = -11.8750177977505 | etot = -8.13378362583768 +9000 ekin = 1.0883140648391 | erot = 2.74768757650643 | epot = -11.9697852671577 | etot = -8.13378362581213 +10000 ekin = 1.12769894654421 | erot = 2.79881902231424 | epot = -12.0603015945015 | etot = -8.13378362564302 +11000 ekin = 1.16997706279088 | erot = 2.84539220453508 | epot = -12.1491528928088 | etot = -8.13378362548282 +12000 ekin = 1.2177282540356 | erot = 2.88753582693548 | epot = -12.2390477064188 | etot = -8.13378362544771 +13000 ekin = 1.27247277648631 | erot = 2.92478423931383 | epot = -12.3310406413903 | etot = -8.13378362559016 +14000 ekin = 1.33384628320076 | erot = 2.95599632290769 | epot = -12.4236262320193 | etot = -8.13378362591087 +15000 ekin = 1.39936071611667 | erot = 2.97947113417339 | epot = -12.5126154766851 | etot = -8.13378362639509 +16000 ekin = 1.46443870928025 | erot = 2.99312358077437 | epot = -12.591345917414 | etot = -8.13378362735941 +17000 ekin = 1.52113741921508 | erot = 2.99430260105844 | epot = -12.6492236482456 | etot = -8.13378362797211 +18000 ekin = 1.56143918576785 | erot = 2.98098620608853 | epot = -12.6762090203242 | etot = -8.13378362846786 +19000 ekin = 1.57873438318792 | erot = 2.95206674454566 | epot = -12.6645847564924 | etot = -8.13378362875883 +20000 ekin = 1.56841348053788 | erot = 2.90735147312967 | epot = -12.6095485824457 | etot = -8.13378362877816 +21000 ekin = 1.52886464109305 | erot = 2.84765291368988 | epot = -12.5103011832755 | etot = -8.13378362849259 +22000 ekin = 1.46209217703487 | erot = 2.77478397647209 | epot = -12.3706597813888 | etot = -8.13378362788186 +23000 ekin = 1.37376733102673 | erot = 2.69155728313737 | epot = -12.19910824124 | etot = -8.13378362707587 +24000 ekin = 1.27262109890793 | erot = 2.60118350194767 | epot = -12.007588227 | etot = -8.13378362614441 +25000 ekin = 1.16926502294377 | erot = 2.507036926952 | epot = -11.8100855751045 | etot = -8.13378362520874 +26000 ekin = 1.0747148994514 | erot = 2.41235840152823 | epot = -11.6208569253575 | etot = -8.13378362437787 +27000 ekin = 0.998982995755794 | erot = 2.31997753232684 | epot = -11.4527441518069 | etot = -8.13378362372431 +28000 ekin = 0.950065052892259 | erot = 2.23215621537595 | epot = -11.3160048915419 | etot = -8.13378362327374 +29000 ekin = 0.933483801722481 | erot = 2.1505610010298 | epot = -11.2178284257647 | etot = -8.13378362301241 +30000 ekin = 0.952335164335886 | erot = 2.07633501131226 | epot = -11.1624537985557 | etot = -8.13378362290756 +31000 ekin = 1.00761822011295 | erot = 2.01025995539436 | epot = -11.1516617984317 | etot = -8.13378362292441 +32000 ekin = 1.09859027316454 | erot = 1.95287201474932 | epot = -11.1852459109705 | etot = -8.13378362305664 +33000 ekin = 1.22296348257667 | erot = 1.90442653272443 | epot = -11.2611736386121 | etot = -8.13378362331101 +34000 ekin = 1.37683793249556 | erot = 1.8649833610543 | epot = -11.3756049172808 | etot = -8.13378362373091 +35000 ekin = 1.55422271443431 | erot = 1.83436013830192 | epot = -11.522366477147 | etot = -8.13378362441081 +36000 ekin = 1.7458960704812 | erot = 1.81205442227466 | epot = -11.6917341182486 | etot = -8.13378362549271 +37000 ekin = 1.93777565280843 | erot = 1.79705197600553 | epot = -11.8686112558401 | etot = -8.13378362702609 +38000 ekin = 2.11051089015029 | erot = 1.78782890330241 | epot = -12.0321234221669 | etot = -8.13378362871416 +39000 ekin = 2.243214825885 | erot = 1.78271510837239 | epot = -12.1597135641246 | etot = -8.13378362986721 +40000 ekin = 2.32146151921635 | erot = 1.78073283005133 | epot = -12.2359779791649 | etot = -8.13378362989725 +41000 ekin = 2.34386750101379 | erot = 1.78241563043122 | epot = -12.2600667603299 | etot = -8.13378362888491 +42000 ekin = 2.32118218527084 | erot = 1.78979050959086 | epot = -12.2447563223398 | etot = -8.13378362747809 +43000 ekin = 2.26309111555131 | erot = 1.80539262076481 | epot = -12.2022673943962 | etot = -8.13378365808009 +44000 ekin = 2.15856242114827 | erot = 1.84609032619616 | epot = -12.1384363880308 | etot = -8.13378364068641 +45000 ekin = 2.08936731003506 | erot = 1.88904724563044 | epot = -12.1121981822921 | etot = -8.13378362662662 +46000 ekin = 1.99646115970042 | erot = 1.9350398240043 | epot = -12.0652846104763 | etot = -8.13378362677161 +47000 ekin = 1.89712577412036 | erot = 1.98806984898587 | epot = -12.0189792501524 | etot = -8.13378362704618 +48000 ekin = 1.79036864863095 | erot = 2.04496273496238 | epot = -11.9691150108767 | etot = -8.13378362728336 +49000 ekin = 1.67630116263936 | erot = 2.10216327906911 | epot = -11.9122480690704 | etot = -8.13378362736194 +50000 ekin = 1.55727015247074 | erot = 2.15637892895983 | epot = -11.8474327086504 | etot = -8.13378362721979 +51000 ekin = 1.4381743370916 | erot = 2.20514040032699 | epot = -11.7770983642845 | etot = -8.13378362686595 +52000 ekin = 1.32596547232191 | erot = 2.24710946475012 | epot = -11.7068585634506 | etot = -8.13378362637853 +53000 ekin = 1.22848082922928 | erot = 2.28204759210387 | epot = -11.6443120472109 | etot = -8.1337836258777 +54000 ekin = 1.15295119316279 | erot = 2.31049933939895 | epot = -11.5972341580453 | etot = -8.13378362548353 +55000 ekin = 1.10463170766326 | erot = 2.33334681406847 | epot = -11.571762147013 | etot = -8.13378362528126 +56000 ekin = 1.0859079951732 | erot = 2.35139880092338 | epot = -11.5710904214036 | etot = -8.13378362530697 +57000 ekin = 1.09599893485474 | erot = 2.36511154450539 | epot = -11.5948941049135 | etot = -8.13378362555341 +58000 ekin = 1.1311980347098 | erot = 2.37445830578825 | epot = -11.639439966472 | etot = -8.13378362597399 +59000 ekin = 1.18549837183877 | erot = 2.37891691863242 | epot = -11.6981989169899 | etot = -8.13378362651871 +60000 ekin = 1.25136230662726 | erot = 2.37755306615259 | epot = -11.7626989998984 | etot = -8.13378362711854 +61000 ekin = 1.32065657328768 | erot = 2.36917823379323 | epot = -11.8236184347911 | etot = -8.13378362771015 +62000 ekin = 1.38555350991039 | erot = 2.35258911579065 | epot = -11.8719262538937 | etot = -8.1337836281927 +63000 ekin = 1.43966787267624 | erot = 2.32682848519609 | epot = -11.9002799863547 | etot = -8.13378362848239 +64000 ekin = 1.47909503438153 | erot = 2.2914499371541 | epot = -11.9043286000689 | etot = -8.13378362853327 +65000 ekin = 1.50288049774081 | erot = 2.24670960905127 | epot = -11.88337373515 | etot = -8.13378362835796 +66000 ekin = 1.5127450759901 | erot = 2.1935968418301 | epot = -11.840125545851 | etot = -8.13378362803079 +67000 ekin = 1.5120865963301 | erot = 2.13371356874821 | epot = -11.7795837927185 | etot = -8.13378362764022 +68000 ekin = 1.50462166617942 | erot = 2.06904733139788 | epot = -11.7074526249093 | etot = -8.13378362733198 +69000 ekin = 1.49293889166151 | erot = 2.00167765430528 | epot = -11.6284001731037 | etot = -8.13378362713687 +70000 ekin = 1.47793621174635 | erot = 1.93361210060372 | epot = -11.5453319394055 | etot = -8.13378362705546 +71000 ekin = 1.45891349102844 | erot = 1.86670994694695 | epot = -11.4594070650146 | etot = -8.1337836270392 +72000 ekin = 1.43427842101627 | erot = 1.80270883809017 | epot = -11.3707708861216 | etot = -8.13378362701516 +73000 ekin = 1.40258583891037 | erot = 1.74331039193086 | epot = -11.2796798577521 | etot = -8.13378362691083 +74000 ekin = 1.36359371155289 | erot = 1.69025647754913 | epot = -11.1876338157821 | etot = -8.13378362668012 +75000 ekin = 1.31886252565222 | erot = 1.64533820718021 | epot = -11.0979843591717 | etot = -8.13378362633925 +76000 ekin = 1.27181692773762 | erot = 1.61030043593585 | epot = -11.0159009896014 | etot = -8.13378362592789 +77000 ekin = 1.2276733892201 | erot = 1.586709525556 | epot = -10.9481665402834 | etot = -8.1337836255073 +78000 ekin = 1.19187425881975 | erot = 1.57555521121122 | epot = -10.9012130952116 | etot = -8.1337836251806 +79000 ekin = 1.16922470588819 | erot = 1.57716601534079 | epot = -10.880174346204 | etot = -8.13378362497497 +80000 ekin = 1.16351312193731 | erot = 1.59112852775407 | epot = -10.8884252746032 | etot = -8.13378362491183 +81000 ekin = 1.17709123428935 | erot = 1.61633850893085 | epot = -10.9272133682118 | etot = -8.13378362499165 +82000 ekin = 1.21064005584018 | erot = 1.65118762576684 | epot = -10.9956113068159 | etot = -8.13378362520884 +83000 ekin = 1.26297331742729 | erot = 1.69382675572838 | epot = -11.0905836987107 | etot = -8.13378362555501 +84000 ekin = 1.33092648687661 | erot = 1.74243133123666 | epot = -11.207141444114 | etot = -8.13378362600077 +85000 ekin = 1.4096121842737 | erot = 1.79540640337815 | epot = -11.3388022141302 | etot = -8.13378362647838 +86000 ekin = 1.49330005467931 | erot = 1.85150064414006 | epot = -11.4785843257051 | etot = -8.13378362688569 +87000 ekin = 1.57653380716712 | erot = 1.90982169886825 | epot = -11.6201391333937 | etot = -8.13378362735829 +88000 ekin = 1.65416408678862 | erot = 1.96971725895487 | epot = -11.7576649732583 | etot = -8.13378362751478 +89000 ekin = 1.72360216634183 | erot = 2.03055934337538 | epot = -11.8879451373047 | etot = -8.13378362758746 +90000 ekin = 1.78500984589396 | erot = 2.09126219979616 | epot = -12.0100556734365 | etot = -8.13378362774636 +91000 ekin = 1.83789001415883 | erot = 2.15001837237375 | epot = -12.121692014542 | etot = -8.13378362800938 +92000 ekin = 1.8751780932285 | erot = 2.20985483887587 | epot = -12.2188165602804 | etot = -8.13378362817606 +93000 ekin = 1.90356384535079 | erot = 2.26204903048023 | epot = -12.2993965046582 | etot = -8.13378362882718 +94000 ekin = 1.91566641673066 | erot = 2.30892488078343 | epot = -12.3583749263618 | etot = -8.13378362884772 +95000 ekin = 1.91095769384044 | erot = 2.34997522030068 | epot = -12.3947165431019 | etot = -8.13378362896078 +96000 ekin = 1.88948402498952 | erot = 2.38411475951123 | epot = -12.4073824132816 | etot = -8.13378362878085 +97000 ekin = 1.8534381113396 | erot = 2.41133046292278 | epot = -12.3985522027176 | etot = -8.13378362845527 +98000 ekin = 1.80684275230345 | erot = 2.43203206054872 | epot = -12.3726584408924 | etot = -8.13378362804021 +99000 ekin = 1.7547864112325 | erot = 2.4469297773688 | epot = -12.3354998162081 | etot = -8.13378362760676 +100000 ekin = 1.69590911435722 | erot = 2.45386958409528 | epot = -12.2835623848863 | etot = -8.13378368643375 +101000 ekin = 1.68113249375524 | erot = 2.36572534112416 | epot = -12.1806414642163 | etot = -8.13378362933686 +102000 ekin = 1.72678565900262 | erot = 2.35051337712511 | epot = -12.2110826965915 | etot = -8.13378366046378 +103000 ekin = 1.68338599487791 | erot = 2.35411811039612 | epot = -12.1712877656958 | etot = -8.13378366042172 +104000 ekin = 1.6432358641293 | erot = 2.35701648102723 | epot = -12.1340360056527 | etot = -8.1337836604962 +105000 ekin = 1.6058411347212 | erot = 2.35932964102249 | epot = -12.0989544363537 | etot = -8.13378366061004 +106000 ekin = 1.57044138011859 | erot = 2.36092776943221 | epot = -12.0651528102267 | etot = -8.13378366067593 +107000 ekin = 1.5370540025101 | erot = 2.36166253248189 | epot = -12.0325001956583 | etot = -8.13378366066631 +108000 ekin = 1.50696391591148 | erot = 2.36128557349189 | epot = -12.0020331499846 | etot = -8.13378366058128 +109000 ekin = 1.48244426546661 | erot = 2.35938088270993 | epot = -11.9756088087051 | etot = -8.13378366052851 +110000 ekin = 1.46539913148061 | erot = 2.35530683146147 | epot = -11.9544896235792 | etot = -8.13378366063714 +111000 ekin = 1.45548748017583 | erot = 2.34818065606079 | epot = -11.9374517972402 | etot = -8.13378366100358 +112000 ekin = 1.44872729612902 | erot = 2.33695548266938 | epot = -11.9194664403743 | etot = -8.13378366157592 +113000 ekin = 1.43805495586433 | erot = 2.32068695509387 | epot = -11.8925255730866 | etot = -8.13378366212841 +114000 ekin = 1.41640788690808 | erot = 2.29883886662102 | epot = -11.8490304158899 | etot = -8.13378366236083 +115000 ekin = 1.38063781822016 | erot = 2.27153218573294 | epot = -11.7859536655149 | etot = -8.13378366156184 +116000 ekin = 1.33630540308359 | erot = 2.23942220246119 | epot = -11.7095112666467 | etot = -8.13378366110188 +117000 ekin = 1.29001229198269 | erot = 2.20380811829898 | epot = -11.6276040708676 | etot = -8.13378366058597 +118000 ekin = 1.24711548834697 | erot = 2.16635124019897 | epot = -11.5472503887772 | etot = -8.13378366023123 +119000 ekin = 1.21073685469419 | erot = 2.12872161390261 | epot = -11.4732421286709 | etot = -8.13378366007414 +120000 ekin = 1.18115748419447 | erot = 2.09256534610066 | epot = -11.40750649033 | etot = -8.13378366003488 +121000 ekin = 1.15688642101108 | erot = 2.05947511288399 | epot = -11.350145193931 | etot = -8.1337836600359 +122000 ekin = 1.13593168276781 | erot = 2.03084061403911 | epot = -11.3005559568653 | etot = -8.1337836600584 +123000 ekin = 1.11638811965957 | erot = 2.00761097209071 | epot = -11.2577827519201 | etot = -8.13378366016986 +124000 ekin = 1.09616325371759 | erot = 1.99019695902089 | epot = -11.2201438730114 | etot = -8.13378366027295 +125000 ekin = 1.07358508996147 | erot = 1.97820026039384 | epot = -11.1855690107828 | etot = -8.13378366042751 +126000 ekin = 1.04712198978511 | erot = 1.97030937007256 | epot = -11.1512150205173 | etot = -8.13378366065958 +127000 ekin = 1.01560359550535 | erot = 1.96476336054367 | epot = -11.1141506168024 | etot = -8.13378366075333 +128000 ekin = 0.979281846652257 | erot = 1.95990906194977 | epot = -11.0729745693072 | etot = -8.1337836607052 +129000 ekin = 0.940294043229777 | erot = 1.9542877292158 | epot = -11.028365432901 | etot = -8.13378366045539 +130000 ekin = 0.902735823607082 | erot = 1.94710047764785 | epot = -10.9836199613548 | etot = -8.13378366009992 +131000 ekin = 0.87232975913947 | erot = 1.9382057552685 | epot = -10.9443191739567 | etot = -8.13378365954875 +132000 ekin = 0.855045600562003 | erot = 1.92803271303706 | epot = -10.9168619728692 | etot = -8.1337836592701 +133000 ekin = 0.854775562822287 | erot = 1.91694878880983 | epot = -10.9055080107082 | etot = -8.13378365907605 +134000 ekin = 0.873981086378638 | erot = 1.9054952248947 | epot = -10.9132599702529 | etot = -8.13378365897953 +135000 ekin = 0.913690181741534 | erot = 1.89429118508535 | epot = -10.9417650257939 | etot = -8.13378365896698 +136000 ekin = 0.973734451665314 | erot = 1.88395321784257 | epot = -10.991471328535 | etot = -8.13378365902709 +137000 ekin = 1.05255313135912 | erot = 1.8748880008039 | epot = -11.0612247920053 | etot = -8.13378365984223 +138000 ekin = 1.1443524994851 | erot = 1.8662689721207 | epot = -11.1444051316849 | etot = -8.1337836600791 +139000 ekin = 1.24448357091316 | erot = 1.85821435006776 | epot = -11.2364815813232 | etot = -8.13378366034227 +140000 ekin = 1.34860347563737 | erot = 1.85113522079146 | epot = -11.333522357093 | etot = -8.13378366066415 +141000 ekin = 1.45162669266307 | erot = 1.84534635451955 | epot = -11.430756708267 | etot = -8.13378366108439 +142000 ekin = 1.54663919844515 | erot = 1.84103156950942 | epot = -11.5214544297492 | etot = -8.13378366179463 +143000 ekin = 1.6247011023943 | erot = 1.83813053702651 | epot = -11.5966153018866 | etot = -8.13378366246583 +144000 ekin = 1.67710589256313 | erot = 1.83622813336458 | epot = -11.6471176890263 | etot = -8.13378366309863 +145000 ekin = 1.69650852159075 | erot = 1.83477115527506 | epot = -11.6650633403353 | etot = -8.13378366346953 +146000 ekin = 1.6799825027068 | erot = 1.83334306418742 | epot = -11.6471092301929 | etot = -8.13378366329869 +147000 ekin = 1.63255928725536 | erot = 1.83204496823063 | epot = -11.5983879178788 | etot = -8.13378366239283 +148000 ekin = 1.56926257377477 | erot = 1.83182914755862 | epot = -11.534875382189 | etot = -8.13378366085557 +149000 ekin = 1.51300824977771 | erot = 1.83452727994399 | epot = -11.4813191889261 | etot = -8.13378365920442 +150000 ekin = 1.48724963784764 | erot = 1.84235837448654 | epot = -11.4633916705185 | etot = -8.13378365818431 +151000 ekin = 1.50619323823056 | erot = 1.85697474830062 | epot = -11.4969516448368 | etot = -8.13378365830567 +152000 ekin = 1.5685599260268 | erot = 1.87847282638604 | epot = -11.5808164119028 | etot = -8.13378365948999 +153000 ekin = 1.65914489646706 | erot = 1.90493735116026 | epot = -11.6978659087732 | etot = -8.13378366114592 +154000 ekin = 1.75680978950874 | erot = 1.93282846213674 | epot = -11.8234219142234 | etot = -8.13378366257792 +155000 ekin = 1.84344901658567 | erot = 1.95802697046954 | epot = -11.9352596504351 | etot = -8.13378366337988 +156000 ekin = 1.90893795388549 | erot = 1.97697594926185 | epot = -12.019697566723 | etot = -8.1337836635757 +157000 ekin = 1.95061494386007 | erot = 1.98738512433609 | epot = -12.0717837316326 | etot = -8.13378366343647 +158000 ekin = 1.96976178337765 | erot = 1.98837447181577 | epot = -12.0919199183621 | etot = -8.13378366316872 +159000 ekin = 1.96892634677244 | erot = 1.98033790354907 | epot = -12.0830479131022 | etot = -8.13378366278067 +160000 ekin = 1.95167601805922 | erot = 1.96478101830043 | epot = -12.0502406985809 | etot = -8.13378366222127 +161000 ekin = 1.92323849263725 | erot = 1.94408396543573 | epot = -12.0011061196165 | etot = -8.13378366154349 +162000 ekin = 1.89012785139811 | erot = 1.92106669306998 | epot = -11.944978205359 | etot = -8.1337836608909 +163000 ekin = 1.85873206626248 | erot = 1.89844726529971 | epot = -11.8909629919512 | etot = -8.13378366038902 +164000 ekin = 1.83396756863798 | erot = 1.87841814938259 | epot = -11.8461693781064 | etot = -8.13378366008578 +165000 ekin = 1.81873657813931 | erot = 1.86247026312324 | epot = -11.8149905012188 | etot = -8.1337836599562 +166000 ekin = 1.81415764355162 | erot = 1.8514412879533 | epot = -11.79938259145 | etot = -8.13378365994511 +167000 ekin = 1.82014338462659 | erot = 1.84569577974767 | epot = -11.799622824365 | etot = -8.13378365999075 +168000 ekin = 1.83604973591181 | erot = 1.84534918673609 | epot = -11.815182582692 | etot = -8.1337836600441 +169000 ekin = 1.86118807803888 | erot = 1.85047766429992 | epot = -11.8454494024144 | etot = -8.13378366007557 +170000 ekin = 1.89508209491993 | erot = 1.86127600745116 | epot = -11.8901417624546 | etot = -8.13378366008347 +171000 ekin = 1.93739070093696 | erot = 1.87813927221236 | epot = -11.9493136332457 | etot = -8.13378366009642 +172000 ekin = 1.98746465492602 | erot = 1.9016569956626 | epot = -12.0229053107598 | etot = -8.13378366017114 +173000 ekin = 2.04358732260644 | erot = 1.93252470914556 | epot = -12.1098956921176 | etot = -8.13378366036558 +174000 ekin = 2.10212586880609 | erot = 1.97139111366216 | epot = -12.2073006432558 | etot = -8.13378366078754 +175000 ekin = 2.15653164019835 | erot = 2.01868623997525 | epot = -12.3090015416374 | etot = -8.13378366146383 +176000 ekin = 2.19700590631248 | erot = 2.07444517694631 | epot = -12.4052347456345 | etot = -8.13378366237571 +177000 ekin = 2.21275117726687 | erot = 2.13809655452346 | epot = -12.4846313951107 | etot = -8.13378366332033 +178000 ekin = 2.1910308413777 | erot = 2.20849637361908 | epot = -12.533310879452 | etot = -8.13378366445528 +179000 ekin = 2.05002958755748 | erot = 2.27647492405926 | epot = -12.4602881626281 | etot = -8.1337836510114 +180000 ekin = 2.00100366281097 | erot = 2.36086155180617 | epot = -12.4956488860904 | etot = -8.13378367147329 +181000 ekin = 1.8288534450285 | erot = 2.44444025932766 | epot = -12.4070773745343 | etot = -8.1337836701781 +182000 ekin = 1.62724610560642 | erot = 2.53221325513927 | epot = -12.2932430288224 | etot = -8.13378366807668 +183000 ekin = 1.42880501135731 | erot = 2.62540058534394 | epot = -12.1879892625426 | etot = -8.13378366584134 +184000 ekin = 1.26714962832189 | erot = 2.7256198185048 | epot = -12.1265531111187 | etot = -8.133783664292 +185000 ekin = 1.16606552758033 | erot = 2.83366450732284 | epot = -12.1335136988427 | etot = -8.13378366393954 +186000 ekin = 1.13327188784956 | erot = 2.94811459460555 | epot = -12.215170147212 | etot = -8.13378366475687 +187000 ekin = 1.16127663962627 | erot = 3.06454091657723 | epot = -12.3596012225476 | etot = -8.13378366634412 +188000 ekin = 1.23275799228683 | erot = 3.17578119614163 | epot = -12.5423228566627 | etot = -8.13378366823427 +189000 ekin = 1.32637276316102 | erot = 3.27316596760488 | epot = -12.7333224008233 | etot = -8.13378367005736 +190000 ekin = 1.42100795808828 | erot = 3.34817980173588 | epot = -12.9029714313696 | etot = -8.13378367154549 +191000 ekin = 1.49794111549855 | erot = 3.39410379075288 | epot = -13.025828578861 | etot = -8.13378367260959 +192000 ekin = 1.54262156679657 | erot = 3.40720165429168 | epot = -13.0836068940659 | etot = -8.13378367297767 +193000 ekin = 1.54797240883491 | erot = 3.3871523146608 | epot = -13.0689083961187 | etot = -8.133783672623 +194000 ekin = 1.51467582661431 | erot = 3.33705387754678 | epot = -12.9855133757553 | etot = -8.13378367159417 +195000 ekin = 1.45101621748205 | erot = 3.26269312885163 | epot = -12.847493016446 | etot = -8.13378367011236 +196000 ekin = 1.37083042970726 | erot = 3.17132041678842 | epot = -12.6759345149995 | etot = -8.1337836685038 +197000 ekin = 1.29009120536666 | erot = 3.07036265935732 | epot = -12.4942375317737 | etot = -8.13378366704976 +198000 ekin = 1.223641966439 | erot = 2.9665238264393 | epot = -12.3239494587818 | etot = -8.1337836659035 +199000 ekin = 1.18307710083203 | erot = 2.86542144217683 | epot = -12.1822822081286 | etot = -8.13378366511975 +200000 ekin = 1.17564340951886 | erot = 2.77158698378664 | epot = -12.0810140580287 | etot = -8.13378366472323 +201000 ekin = 1.2035961939173 | erot = 2.68856918537094 | epot = -12.0259490440284 | etot = -8.13378366474019 +202000 ekin = 1.26374726413794 | erot = 2.61894189739966 | epot = -12.0164728267157 | etot = -8.13378366517807 +203000 ekin = 1.34751597563135 | erot = 2.56419616426354 | epot = -12.0454958058701 | etot = -8.13378366597518 +204000 ekin = 1.44203337890026 | erot = 2.52468734318829 | epot = -12.1005043890636 | etot = -8.13378366697502 +205000 ekin = 1.53246038205374 | erot = 2.49972903140407 | epot = -12.1659730814057 | etot = -8.13378366794789 +206000 ekin = 1.60510558525676 | erot = 2.48793425280172 | epot = -12.2268235067207 | etot = -8.13378366866227 +207000 ekin = 1.65039556723151 | erot = 2.48771410987631 | epot = -12.271893346076 | etot = -8.13378366896816 +208000 ekin = 1.66471924263836 | erot = 2.49772662877094 | epot = -12.2962295402568 | etot = -8.1337836688475 +209000 ekin = 1.65060780281935 | erot = 2.5170617877379 | epot = -12.3014532589726 | etot = -8.13378366841534 +210000 ekin = 1.6152961353011 | erot = 2.54506818372014 | epot = -12.294147986901 | etot = -8.13378366787973 +211000 ekin = 1.56815998339925 | erot = 2.58088870847204 | epot = -12.2828323593483 | etot = -8.13378366747702 +212000 ekin = 1.51779769211988 | erot = 2.62289115839936 | epot = -12.2744725179128 | etot = -8.13378366739357 +213000 ekin = 1.4697069778648 | erot = 2.66822787294276 | epot = -12.2717185184987 | etot = -8.13378366769114 +214000 ekin = 1.42551121612053 | erot = 2.71271314915528 | epot = -12.272008033447 | etot = -8.13378366817117 +215000 ekin = 1.38449526701928 | erot = 2.75113858809809 | epot = -12.2694175238349 | etot = -8.13378366871753 +216000 ekin = 1.34611450510848 | erot = 2.778189054446 | epot = -12.2580872284529 | etot = -8.13378366889846 +217000 ekin = 1.31348152812132 | erot = 2.78964053187646 | epot = -12.2369057285569 | etot = -8.13378366855912 +218000 ekin = 1.29458639919669 | erot = 2.78319145109128 | epot = -12.211561518241 | etot = -8.13378366795307 +219000 ekin = 1.29978448123297 | erot = 2.75785865494222 | epot = -12.1914268036092 | etot = -8.133783667434 +220000 ekin = 1.33694784981916 | erot = 2.71363634301958 | epot = -12.1843678601791 | etot = -8.13378366734038 +221000 ekin = 1.40745643921217 | erot = 2.65092088134261 | epot = -12.1921609882724 | etot = -8.13378366771768 +222000 ekin = 1.50572252626058 | erot = 2.5702947695228 | epot = -12.2098009641044 | etot = -8.13378366832106 +223000 ekin = 1.622108433758 | erot = 2.4728900733409 | epot = -12.2287821759283 | etot = -8.13378366882938 +224000 ekin = 1.74679393022895 | erot = 2.36097135919323 | epot = -12.2415489584549 | etot = -8.13378366903269 +225000 ekin = 1.87205636329869 | erot = 2.23842454190499 | epot = -12.2442645742122 | etot = -8.13378366900852 +226000 ekin = 1.99134598106539 | erot = 2.11064622098381 | epot = -12.2357758711276 | etot = -8.13378366907843 +227000 ekin = 2.09586639151506 | erot = 1.98364704051147 | epot = -12.2132971015561 | etot = -8.13378366952953 +228000 ekin = 2.17197666667235 | erot = 1.86293503717753 | epot = -12.168695374189 | etot = -8.13378367033911 +229000 ekin = 2.20263173192425 | erot = 1.75265294154687 | epot = -12.0890683445883 | etot = -8.13378367111721 +230000 ekin = 2.17321554606717 | erot = 1.65532359970834 | epot = -11.9623228171274 | etot = -8.13378367135191 +231000 ekin = 2.0785492057305 | erot = 1.57213281486692 | epot = -11.7844656913344 | etot = -8.13378367073699 +232000 ekin = 1.9267119502183 | erot = 1.50340464294821 | epot = -11.5639002625312 | etot = -8.13378366936465 +233000 ekin = 1.73729705955979 | erot = 1.44896834770243 | epot = -11.3200490749316 | etot = -8.13378366766943 +234000 ekin = 1.5355695335478 | erot = 1.408340459375 | epot = -11.077693659003 | etot = -8.13378366608018 +235000 ekin = 1.34558700580171 | erot = 1.38078818073892 | epot = -10.860158851475 | etot = -8.13378366493441 +236000 ekin = 1.18525206422635 | erot = 1.36570263210389 | epot = -10.684738360547 | etot = -8.13378366421678 +237000 ekin = 1.06637029724387 | erot = 1.36251012102835 | epot = -10.5626640820872 | etot = -8.13378366381498 +238000 ekin = 0.995491212021447 | erot = 1.370704297714 | epot = -10.4999791733999 | etot = -8.13378366366447 +239000 ekin = 0.975031518631871 | erot = 1.38971384126898 | epot = -10.4985290236702 | etot = -8.13378366376935 +240000 ekin = 1.00352423904712 | erot = 1.41866034024249 | epot = -10.5559682434632 | etot = -8.13378366417361 +241000 ekin = 1.07556704774174 | erot = 1.45612900246833 | epot = -10.6654797151281 | etot = -8.133783664918 +242000 ekin = 1.18122375067251 | erot = 1.49994629855497 | epot = -10.8149537152524 | etot = -8.13378366602495 +243000 ekin = 1.30634294707366 | erot = 1.54703331020094 | epot = -10.9871599246158 | etot = -8.13378366734116 +244000 ekin = 1.43466609576071 | erot = 1.59374373480257 | epot = -11.1621934990188 | etot = -8.13378366845551 +245000 ekin = 1.5509194417116 | erot = 1.63606515904686 | epot = -11.3207682704725 | etot = -8.13378366971408 +246000 ekin = 1.63963426714502 | erot = 1.67091688012785 | epot = -11.4443348179099 | etot = -8.13378367063702 +247000 ekin = 1.68912292676034 | erot = 1.69643192578669 | epot = -11.519338523587 | etot = -8.13378367104001 +248000 ekin = 1.6941862336644 | erot = 1.71223298155104 | epot = -11.5402028860527 | etot = -8.13378367083729 +249000 ekin = 1.65708464249924 | erot = 1.71943097162712 | epot = -11.5102992843213 | etot = -8.13378367019498 +250000 ekin = 1.58639864685249 | erot = 1.72015982289489 | epot = -11.4403421388616 | etot = -8.13378366911425 +251000 ekin = 1.49555936407676 | erot = 1.71716072440176 | epot = -11.3465037564433 | etot = -8.13378366796475 +252000 ekin = 1.39930346630719 | erot = 1.71298107622756 | epot = -11.246068209527 | etot = -8.13378366699228 +253000 ekin = 1.3103489835937 | erot = 1.70949093459635 | epot = -11.1536235845411 | etot = -8.13378366635106 +254000 ekin = 1.23716194123169 | erot = 1.70776552340202 | epot = -11.0787111307326 | etot = -8.13378366609892 +255000 ekin = 1.18305733845105 | erot = 1.70821467485162 | epot = -11.0250556794503 | etot = -8.13378366614759 +256000 ekin = 1.14729363432645 | erot = 1.71063275158254 | epot = -10.9917100522912 | etot = -8.13378366638218 +257000 ekin = 1.12650460108559 | erot = 1.71454195552869 | epot = -10.9748302232647 | etot = -8.13378366665042 +258000 ekin = 1.11669715917833 | erot = 1.71938873503377 | epot = -10.9698695610666 | etot = -8.1337836668545 +259000 ekin = 1.11461746403845 | erot = 1.72463904931154 | epot = -10.9730401803378 | etot = -8.13378366698779 +260000 ekin = 1.11796213299299 | erot = 1.72976096814025 | epot = -10.9815067682361 | etot = -8.13378366710283 +261000 ekin = 1.12495929560849 | erot = 1.73429797646884 | epot = -10.9930409392109 | etot = -8.13378366713357 +262000 ekin = 1.13415334886889 | erot = 1.73799782227262 | epot = -11.0059348383777 | etot = -8.13378366723624 +263000 ekin = 1.14419248657879 | erot = 1.74014341284042 | epot = -11.0181195666665 | etot = -8.13378366724733 +264000 ekin = 1.15486713033172 | erot = 1.74014049676802 | epot = -11.0287912942192 | etot = -8.13378366711944 +265000 ekin = 1.16757148072562 | erot = 1.73774643956244 | epot = -11.039101587165 | etot = -8.13378366687698 +266000 ekin = 1.18492523334795 | erot = 1.73313774545462 | epot = -11.0518466454031 | etot = -8.13378366660057 +267000 ekin = 1.20976553808811 | erot = 1.72682085390455 | epot = -11.0703700583738 | etot = -8.13378366638118 +268000 ekin = 1.24403111905913 | erot = 1.71946869065513 | epot = -11.0972834759989 | etot = -8.13378366628467 +269000 ekin = 1.28796807043274 | erot = 1.71176934564142 | epot = -11.1335210824109 | etot = -8.1337836663367 +270000 ekin = 1.33984072253569 | erot = 1.70434119615681 | epot = -11.1779655852158 | etot = -8.13378366652329 +271000 ekin = 1.39615730896389 | erot = 1.69774776464927 | epot = -11.2276887403894 | etot = -8.13378366677628 +272000 ekin = 1.45234426470736 | erot = 1.69276715684625 | epot = -11.2788950886277 | etot = -8.13378366707408 +273000 ekin = 1.50368133070088 | erot = 1.6899254699141 | epot = -11.3273904679296 | etot = -8.13378366731462 +274000 ekin = 1.54639996326 | erot = 1.68983337629059 | epot = -11.370017006963 | etot = -8.13378366741239 +275000 ekin = 1.57877490149118 | erot = 1.69332235277519 | epot = -11.4058809215982 | etot = -8.13378366733188 +276000 ekin = 1.60168052283697 | erot = 1.70138855155645 | epot = -11.4368527414914 | etot = -8.13378366709803 +277000 ekin = 1.61832490283356 | erot = 1.71502642603421 | epot = -11.4671349956708 | etot = -8.13378366680302 +278000 ekin = 1.63311060675523 | erot = 1.73495415768231 | epot = -11.5018484310168 | etot = -8.13378366657925 +279000 ekin = 1.64995273995076 | erot = 1.76130541528063 | epot = -11.5450418217764 | etot = -8.13378366654497 +280000 ekin = 1.67073877093535 | erot = 1.79339849893338 | epot = -11.5979209366138 | etot = -8.13378366674507 +281000 ekin = 1.69438407985013 | erot = 1.82970064438665 | epot = -11.6578683914582 | etot = -8.13378366722143 +282000 ekin = 1.71376506080739 | erot = 1.86795891950377 | epot = -11.7155076481303 | etot = -8.13378366781918 +283000 ekin = 1.72224450525141 | erot = 1.90529068548223 | epot = -11.7613188590744 | etot = -8.13378366834076 +284000 ekin = 1.71505262177035 | erot = 1.93881515489586 | epot = -11.7876514453522 | etot = -8.13378366868602 +285000 ekin = 1.68954869056281 | erot = 1.96608819497556 | epot = -11.7894205543605 | etot = -8.13378366882217 +286000 ekin = 1.6455513774747 | erot = 1.98537597121301 | epot = -11.7647110174613 | etot = -8.13378366877358 +287000 ekin = 1.58495470812897 | erot = 1.9957898988245 | epot = -11.7145282755451 | etot = -8.13378366859164 +288000 ekin = 1.51101761585275 | erot = 1.99729776792806 | epot = -11.6420990521107 | etot = -8.13378366832988 +289000 ekin = 1.42766231980656 | erot = 1.99063899576466 | epot = -11.5520849836047 | etot = -8.13378366803348 +290000 ekin = 1.338945014859 | erot = 1.97716758999172 | epot = -11.4498962725825 | etot = -8.13378366773178 +291000 ekin = 1.24881721187693 | erot = 1.95864649303019 | epot = -11.3412473723294 | etot = -8.13378366742226 +292000 ekin = 1.16137515575313 | erot = 1.93702958191795 | epot = -11.2321884047267 | etot = -8.13378366705556 +293000 ekin = 1.08169833470348 | erot = 1.9142773845531 | epot = -11.1297593858137 | etot = -8.13378366655716 +294000 ekin = 1.01689863825985 | erot = 1.89223243581211 | epot = -11.0429147399692 | etot = -8.13378366589725 +295000 ekin = 0.976377352946778 | erot = 1.87253324956461 | epot = -10.9826942676899 | etot = -8.13378366517849 +296000 ekin = 0.970182395976462 | erot = 1.85650679550437 | epot = -10.9604728561375 | etot = -8.13378366465669 +297000 ekin = 1.00537151816906 | erot = 1.84499118418766 | epot = -10.9841463669825 | etot = -8.13378366462574 +298000 ekin = 1.0820053414681 | erot = 1.83812417715831 | epot = -11.0539131838607 | etot = -8.13378366523425 +299000 ekin = 1.19125189129924 | erot = 1.83519410294432 | epot = -11.1602296606202 | etot = -8.1337836663766 +300000 ekin = 1.31698721061554 | erot = 1.83465168975606 | epot = -11.2854225681191 | etot = -8.13378366774752 +301000 ekin = 1.44008784809517 | erot = 1.83433803115701 | epot = -11.4082095482453 | etot = -8.13378366899308 +302000 ekin = 1.54329548540448 | erot = 1.8319000019698 | epot = -11.5089791572141 | etot = -8.13378366983984 +303000 ekin = 1.61484992407372 | erot = 1.82529439832958 | epot = -11.5739279925579 | etot = -8.13378367015465 +304000 ekin = 1.6501104781044 | erot = 1.81324433416795 | epot = -11.5971384822055 | etot = -8.1337836699332 +305000 ekin = 1.65140814366674 | erot = 1.79549497030301 | epot = -11.5806867832603 | etot = -8.13378366929059 +306000 ekin = 1.62643416627266 | erot = 1.77280218913836 | epot = -11.5330200238207 | etot = -8.13378366840971 +307000 ekin = 1.58577500467047 | erot = 1.7466850070814 | epot = -11.466243679247 | etot = -8.13378366749516 +308000 ekin = 1.54030424866547 | erot = 1.7190380162455 | epot = -11.3931259316263 | etot = -8.13378366671535 +309000 ekin = 1.49900091050368 | erot = 1.69173690591768 | epot = -11.3245214826107 | etot = -8.13378366618935 +310000 ekin = 1.46747597212359 | erot = 1.66636932779436 | epot = -11.2676289658602 | etot = -8.13378366594223 +311000 ekin = 1.44771419446125 | erot = 1.6441044887669 | epot = -11.2256023491812 | etot = -8.13378366595302 +312000 ekin = 1.43839141863299 | erot = 1.62568199896102 | epot = -11.1978570837369 | etot = -8.13378366614285 +313000 ekin = 1.43594352565172 | erot = 1.61150443049414 | epot = -11.1812316225564 | etot = -8.13378366641055 +314000 ekin = 1.43595255617426 | erot = 1.60177116104733 | epot = -11.1715073838784 | etot = -8.13378366665676 +315000 ekin = 1.43500742741075 | erot = 1.59648896098848 | epot = -11.1652800551081 | etot = -8.13378366670885 +316000 ekin = 1.43108473245964 | erot = 1.59565804393782 | epot = -11.1605264431215 | etot = -8.13378366672408 +317000 ekin = 1.42390336284279 | erot = 1.59957952106374 | epot = -11.1572665504365 | etot = -8.13378366652995 +318000 ekin = 1.41631295379013 | erot = 1.60866819207335 | epot = -11.1587648120253 | etot = -8.1337836661618 +319000 ekin = 1.41381426233217 | erot = 1.62334142232427 | epot = -11.1709393503794 | etot = -8.13378366572294 +320000 ekin = 1.42315030252318 | erot = 1.64384116840432 | epot = -11.2007751362921 | etot = -8.13378366536455 +321000 ekin = 1.4502484549416 | erot = 1.67003325940262 | epot = -11.2540653795816 | etot = -8.13378366523739 +322000 ekin = 1.49815500536739 | erot = 1.70123818171541 | epot = -11.333176852525 | etot = -8.13378366544223 +323000 ekin = 1.56569352501793 | erot = 1.73609284126728 | epot = -11.435570032302 | etot = -8.13378366601681 +324000 ekin = 1.64679224020953 | erot = 1.77264010660174 | epot = -11.5532160138053 | etot = -8.13378366699399 +325000 ekin = 1.73163775630582 | erot = 1.80818795205706 | epot = -11.673609376406 | etot = -8.13378366804313 +326000 ekin = 1.80750329207855 | erot = 1.83980749295788 | epot = -11.7810944543838 | etot = -8.1337836693474 +327000 ekin = 1.85797659456065 | erot = 1.86537346542197 | epot = -11.8571337303088 | etot = -8.13378367032619 +328000 ekin = 1.87027520748334 | erot = 1.88392315073408 | epot = -11.8879820288766 | etot = -8.1337836706592 +329000 ekin = 1.83949589054195 | erot = 1.89597309718977 | epot = -11.8692526579103 | etot = -8.13378367017855 +330000 ekin = 1.77117100868406 | erot = 1.90323589019568 | epot = -11.8081905678758 | etot = -8.13378366899602 +331000 ekin = 1.68023517872834 | erot = 1.90771959425569 | epot = -11.7217384405291 | etot = -8.13378366754505 +332000 ekin = 1.58599656571047 | erot = 1.91066851347226 | epot = -11.630448745533 | etot = -8.13378366635028 +333000 ekin = 1.50566649891299 | erot = 1.91203797343779 | epot = -11.5514881380494 | etot = -8.13378366569858 +334000 ekin = 1.44997196058755 | erot = 1.91073772769942 | epot = -11.4944933538478 | etot = -8.13378366556085 +335000 ekin = 1.42175053140652 | erot = 1.9051560562899 | epot = -11.4606902539305 | etot = -8.13378366623405 +336000 ekin = 1.41662531058297 | erot = 1.89330033651289 | epot = -11.4437093137209 | etot = -8.13378366662504 +337000 ekin = 1.42902342419778 | erot = 1.87459660541321 | epot = -11.437403696558 | etot = -8.13378366694704 +338000 ekin = 1.45347553473981 | erot = 1.84924982278916 | epot = -11.4365090247012 | etot = -8.13378366717226 +339000 ekin = 1.48532648332114 | erot = 1.81789825388429 | epot = -11.4370084045391 | etot = -8.13378366733368 +340000 ekin = 1.52068113212375 | erot = 1.78131054290074 | epot = -11.4357753424987 | etot = -8.13378366747424 +341000 ekin = 1.55606070128761 | erot = 1.74019406298195 | epot = -11.4300384318839 | etot = -8.13378366761432 +342000 ekin = 1.58819693536347 | erot = 1.69515176482589 | epot = -11.4171323679297 | etot = -8.1337836677403 +343000 ekin = 1.61415529814656 | erot = 1.64675903934792 | epot = -11.3946980053091 | etot = -8.13378366781461 +344000 ekin = 1.63171879307223 | erot = 1.59569319794067 | epot = -11.3611956588139 | etot = -8.13378366780101 +345000 ekin = 1.63976605961484 | erot = 1.54282704208847 | epot = -11.3163767693982 | etot = -8.13378366769487 +346000 ekin = 1.63837200138306 | erot = 1.48918714016547 | epot = -11.2613428090693 | etot = -8.13378366752076 +347000 ekin = 1.62852754177416 | erot = 1.43587351564653 | epot = -11.1981847247515 | etot = -8.13378366733081 +348000 ekin = 1.61158889283619 | erot = 1.38392546940151 | epot = -11.1292980294103 | etot = -8.13378366717258 +349000 ekin = 1.58873557439522 | erot = 1.3342285052023 | epot = -11.056747746671 | etot = -8.13378366707351 +350000 ekin = 1.56064786721489 | erot = 1.28749851959581 | epot = -10.9819300538427 | etot = -8.13378366703198 +351000 ekin = 1.52754191191417 | erot = 1.24434620359135 | epot = -10.9056717825192 | etot = -8.13378366701369 +352000 ekin = 1.48960299204036 | erot = 1.20538641997798 | epot = -10.8287730789784 | etot = -8.13378366696006 +353000 ekin = 1.44778264503061 | erot = 1.171343997089 | epot = -10.7529103089073 | etot = -8.13378366678773 +354000 ekin = 1.40533100953429 | erot = 1.14324844922355 | epot = -10.6823631252439 | etot = -8.13378366648608 +355000 ekin = 1.36869095863523 | erot = 1.12250242069097 | epot = -10.624977045381 | etot = -8.1337836660548 +356000 ekin = 1.34490175995588 | erot = 1.10992990777971 | epot = -10.5886153331823 | etot = -8.13378366544672 +357000 ekin = 1.34315796276068 | erot = 1.10621719879485 | epot = -10.583158826382 | etot = -8.13378366482642 +358000 ekin = 1.37283801207963 | erot = 1.11171347587629 | epot = -10.618335152412 | etot = -8.13378366445607 +359000 ekin = 1.43996759058429 | erot = 1.12612871057334 | epot = -10.6998799657449 | etot = -8.13378366458728 +360000 ekin = 1.54388445914205 | erot = 1.14830381564056 | epot = -10.8259719401007 | etot = -8.13378366531803 +361000 ekin = 1.67586531509345 | erot = 1.17618905419133 | epot = -10.9858380358555 | etot = -8.13378366657067 +362000 ekin = 1.82005627455731 | erot = 1.20703160753369 | epot = -11.1608715500468 | etot = -8.13378366795576 +363000 ekin = 1.95850583937509 | erot = 1.23798141777763 | epot = -11.3302709261667 | etot = -8.13378366901394 +364000 ekin = 2.07580017664631 | erot = 1.26672677095189 | epot = -11.4763106177203 | etot = -8.13378367012209 +365000 ekin = 2.15891662517649 | erot = 1.2917362149566 | epot = -11.5844365106038 | etot = -8.13378367047072 +366000 ekin = 2.20238380195972 | erot = 1.31262064914741 | epot = -11.6487881213393 | etot = -8.13378367023221 +367000 ekin = 2.20851727275469 | erot = 1.33022857587836 | epot = -11.6725295182434 | etot = -8.13378366961035 +368000 ekin = 2.18513118770655 | erot = 1.34632721319968 | epot = -11.6652420696044 | etot = -8.13378366869816 +369000 ekin = 2.14321144646706 | erot = 1.36315448463277 | epot = -11.6401495989035 | etot = -8.13378366780372 +370000 ekin = 2.09388282413385 | erot = 1.3829685872038 | epot = -11.6106350785146 | etot = -8.13378366717694 +371000 ekin = 2.04539161606724 | erot = 1.40758201280237 | epot = -11.5867572956937 | etot = -8.13378366682407 +372000 ekin = 2.00261126514749 | erot = 1.43827057512703 | epot = -11.5746655069406 | etot = -8.13378366666604 +373000 ekin = 1.96798302472978 | erot = 1.47584503943867 | epot = -11.5776117307488 | etot = -8.13378366658035 +374000 ekin = 1.94276422015114 | erot = 1.52074221163633 | epot = -11.5972900983356 | etot = -8.13378366654817 +375000 ekin = 1.92741631545308 | erot = 1.57302624843858 | epot = -11.6342262305094 | etot = -8.13378366661773 +376000 ekin = 1.92110841836944 | erot = 1.63232320681393 | epot = -11.6872152920323 | etot = -8.13378366684892 +377000 ekin = 1.92083197490068 | erot = 1.69770894533905 | epot = -11.7523245875422 | etot = -8.13378366730247 +378000 ekin = 1.92097158012548 | erot = 1.76763055654398 | epot = -11.8223858045424 | etot = -8.13378366787295 +379000 ekin = 1.91438056917346 | erot = 1.8396431871319 | epot = -11.8878074249562 | etot = -8.13378366865082 +380000 ekin = 1.89241520119971 | erot = 1.91106138177138 | epot = -11.9372602523288 | etot = -8.13378366935769 +381000 ekin = 1.84711843121782 | erot = 1.97933543814791 | epot = -11.9602375392315 | etot = -8.13378366986578 +382000 ekin = 1.77364821789102 | erot = 2.04210934440318 | epot = -11.9495412323511 | etot = -8.13378367005693 +383000 ekin = 1.67178472399957 | erot = 2.09754562137053 | epot = -11.9031140151933 | etot = -8.1337836698232 +384000 ekin = 1.5470955648157 | erot = 2.14438708234687 | epot = -11.8252663163821 | etot = -8.1337836692195 +385000 ekin = 1.41093432867773 | erot = 2.18184182145426 | epot = -11.7265598182878 | etot = -8.13378366815581 +386000 ekin = 1.27958936994476 | erot = 2.2105134023135 | epot = -11.6238864391471 | etot = -8.13378366688884 +387000 ekin = 1.17137861198395 | erot = 2.23163165240068 | epot = -11.5367939301748 | etot = -8.13378366579022 +388000 ekin = 1.10179780402381 | erot = 2.24634754527801 | epot = -11.4819290145291 | etot = -8.13378366522729 +389000 ekin = 1.0788214896871 | erot = 2.25505587957633 | epot = -11.4676610376637 | etot = -8.13378366840031 +390000 ekin = 1.0705157013643 | erot = 2.26936424220645 | epot = -11.4736636037199 | etot = -8.13378366014919 +391000 ekin = 1.12513305991339 | erot = 2.2855798798748 | epot = -11.5444966077406 | etot = -8.13378366795243 +392000 ekin = 1.21295440172158 | erot = 2.27063670340333 | epot = -11.6173747716302 | etot = -8.13378366650531 +393000 ekin = 1.30924312365224 | erot = 2.24076930893604 | epot = -11.6837960997163 | etot = -8.13378366712804 +394000 ekin = 1.40561895760406 | erot = 2.19794335034459 | epot = -11.7373459753389 | etot = -8.13378366739026 +395000 ekin = 1.49662707239142 | erot = 2.14293675801952 | epot = -11.7733474977458 | etot = -8.1337836673349 +396000 ekin = 1.58077727991405 | erot = 2.07761988891095 | epot = -11.7921808358742 | etot = -8.13378366704919 +397000 ekin = 1.65955042581825 | erot = 2.0046983719103 | epot = -11.7980324643568 | etot = -8.13378366662829 +398000 ekin = 1.73622447988656 | erot = 1.9274307725286 | epot = -11.7974389185606 | etot = -8.13378366614548 +399000 ekin = 1.81471876942306 | erot = 1.84941455049466 | epot = -11.7979169856368 | etot = -8.13378366571907 +400000 ekin = 1.8983134508337 | erot = 1.77428869309176 | epot = -11.8063858093358 | etot = -8.1337836654103 +401000 ekin = 1.98857882165182 | erot = 1.70555701947582 | epot = -11.8279195064049 | etot = -8.13378366527722 +402000 ekin = 2.08469272454841 | erot = 1.64640053761235 | epot = -11.8648769274935 | etot = -8.13378366533273 +403000 ekin = 2.18333492883605 | erot = 1.59947809827627 | epot = -11.9165966926826 | etot = -8.13378366557027 +404000 ekin = 2.27899469657427 | erot = 1.56671457666619 | epot = -11.9794929390981 | etot = -8.13378366585767 +405000 ekin = 2.36506409046445 | erot = 1.54904572147219 | epot = -12.0478934783852 | etot = -8.13378366644859 +406000 ekin = 2.43306193249475 | erot = 1.546304344122 | epot = -12.1131499437743 | etot = -8.13378366715758 +407000 ekin = 2.4736418638006 | erot = 1.55689186413037 | epot = -12.1643173959494 | etot = -8.13378366801846 +408000 ekin = 2.47760299471968 | erot = 1.57810641384436 | epot = -12.1894930773271 | etot = -8.13378366876308 +409000 ekin = 2.43822850842007 | erot = 1.60664113475445 | epot = -12.1786533122524 | etot = -8.1337836690779 +410000 ekin = 2.35516301279646 | erot = 1.63934184028347 | epot = -12.1282885218097 | etot = -8.13378366872976 +411000 ekin = 2.23661952276616 | erot = 1.67408087730609 | epot = -12.0444840678173 | etot = -8.13378366774505 +412000 ekin = 2.09851267461395 | erot = 1.71012170017572 | epot = -11.9424180412093 | etot = -8.1337836664196 +413000 ekin = 1.96056484793519 | erot = 1.74778804011123 | epot = -11.8421365532004 | etot = -8.13378366515394 +414000 ekin = 1.84128090481262 | erot = 1.78771082122138 | epot = -11.7627753903042 | etot = -8.13378366427025 +415000 ekin = 1.75390442336068 | erot = 1.83009103154498 | epot = -11.7177791188318 | etot = -8.1337836639261 +416000 ekin = 1.70439570487926 | erot = 1.87425008285701 | epot = -11.7124294518636 | etot = -8.13378366412739 +417000 ekin = 1.69131554253175 | erot = 1.91850147883749 | epot = -11.743600686186 | etot = -8.13378366481675 +418000 ekin = 1.70689490032135 | erot = 1.96025799788817 | epot = -11.8009365639669 | etot = -8.13378366575739 +419000 ekin = 1.73962222230745 | erot = 1.99637255840753 | epot = -11.8697784475041 | etot = -8.13378366678912 +420000 ekin = 1.77669286262858 | erot = 2.02357619715018 | epot = -11.9340527274824 | etot = -8.13378366770368 +421000 ekin = 1.80657824083284 | erot = 2.0390304955572 | epot = -11.9793924047177 | etot = -8.13378366832764 +422000 ekin = 1.82111290086208 | erot = 2.04088419799593 | epot = -11.9957807674312 | etot = -8.1337836685732 +423000 ekin = 1.81648584568944 | erot = 2.02865244729818 | epot = -11.9789219614471 | etot = -8.13378366845947 +424000 ekin = 1.79301691785358 | erot = 2.00326876348541 | epot = -11.930069349413 | etot = -8.13378366807404 +425000 ekin = 1.7542404696839 | erot = 1.96680784722109 | epot = -11.8548319844133 | etot = -8.13378366750828 +426000 ekin = 1.70601392329575 | erot = 1.92202692836949 | epot = -11.7618245184928 | etot = -8.13378366682755 +427000 ekin = 1.65580906013395 | erot = 1.87186985441023 | epot = -11.6614625806825 | etot = -8.13378366613827 +428000 ekin = 1.61207963969974 | erot = 1.81905558542117 | epot = -11.5649188905573 | etot = -8.13378366543637 +429000 ekin = 1.58339999423441 | erot = 1.76579893171643 | epot = -11.4829825908618 | etot = -8.13378366491091 +430000 ekin = 1.57646033948071 | erot = 1.71346152699261 | epot = -11.4237055311749 | etot = -8.13378366470161 +431000 ekin = 1.59418488211472 | erot = 1.66239892772815 | epot = -11.3903674747328 | etot = -8.13378366488997 +432000 ekin = 1.63452809772422 | erot = 1.61205574803984 | epot = -11.3803675111975 | etot = -8.13378366543346 +433000 ekin = 1.69077410977618 | erot = 1.56136635610516 | epot = -11.3859241320224 | etot = -8.13378366614102 +434000 ekin = 1.75368500743292 | erot = 1.50939558466323 | epot = -11.3968642588314 | etot = -8.13378366673528 +435000 ekin = 1.81477188941735 | erot = 1.45598133799836 | epot = -11.4045368944183 | etot = -8.13378366700259 +436000 ekin = 1.86895151228505 | erot = 1.40204530897968 | epot = -11.404780488101 | etot = -8.13378366683627 +437000 ekin = 1.91551323813655 | erot = 1.34941425923463 | epot = -11.3987111639599 | etot = -8.13378366658874 +438000 ekin = 1.95545357706127 | erot = 1.30011080733677 | epot = -11.3893480508785 | etot = -8.13378366648046 +439000 ekin = 1.98811153075382 | erot = 1.25557284833865 | epot = -11.3774680457389 | etot = -8.13378366664641 +440000 ekin = 2.00986623435756 | erot = 1.21630204161131 | epot = -11.3599519429641 | etot = -8.13378366699526 +441000 ekin = 2.01530350765493 | erot = 1.18202297032947 | epot = -11.3311101452728 | etot = -8.13378366728836 +442000 ekin = 1.9993634967869 | erot = 1.15207873138354 | epot = -11.2852258960248 | etot = -8.13378366785433 +443000 ekin = 1.95696749681392 | erot = 1.12547607064215 | epot = -11.2162272349849 | etot = -8.1337836675288 +444000 ekin = 1.89166490098825 | erot = 1.10194461448165 | epot = -11.1273931823305 | etot = -8.13378366686056 +445000 ekin = 1.81328868644756 | erot = 1.08168732032795 | epot = -11.0287596725697 | etot = -8.13378366579416 +446000 ekin = 1.7357789947487 | erot = 1.06505071493094 | epot = -10.9346133747261 | etot = -8.1337836650465 +447000 ekin = 1.67093185589145 | erot = 1.05239705127173 | epot = -10.8571125714753 | etot = -8.13378366431213 +448000 ekin = 1.62911856820013 | erot = 1.04409603312877 | epot = -10.8069982651763 | etot = -8.13378366384744 +449000 ekin = 1.61731626297624 | erot = 1.04041489697374 | epot = -10.7915148237116 | etot = -8.13378366376162 +450000 ekin = 1.6371169760635 | erot = 1.04135992229854 | epot = -10.8122605627073 | etot = -8.13378366434522 +451000 ekin = 1.68320258142863 | erot = 1.04620824656701 | epot = -10.8631944930294 | etot = -8.13378366503374 +452000 ekin = 1.74581668012429 | erot = 1.05391169410258 | epot = -10.9335120400066 | etot = -8.13378366577969 +453000 ekin = 1.81457146101262 | erot = 1.06335165863559 | epot = -11.0117067861272 | etot = -8.13378366647896 +454000 ekin = 1.87975957939155 | erot = 1.07317402238584 | epot = -11.0867172689134 | etot = -8.13378366713605 +455000 ekin = 1.9325187758859 | erot = 1.0817162332551 | epot = -11.1480186769514 | etot = -8.13378366781045 +456000 ekin = 1.96415416827458 | erot = 1.08704156958786 | epot = -11.1849794063639 | etot = -8.13378366850143 +457000 ekin = 1.96605348077707 | erot = 1.08723394294108 | epot = -11.1870710927892 | etot = -8.13378366907104 +458000 ekin = 1.93127523761404 | erot = 1.08096076790283 | epot = -11.1460196747808 | etot = -8.13378366926398 +459000 ekin = 1.85771594839407 | erot = 1.06809531780543 | epot = -11.0595949350247 | etot = -8.13378366882522 +460000 ekin = 1.75147188083469 | erot = 1.05009293158145 | epot = -10.9353484800619 | etot = -8.13378366764577 +461000 ekin = 1.62834142733422 | erot = 1.02990811326217 | epot = -10.7920332064989 | etot = -8.13378366590246 +462000 ekin = 1.51195360647266 | erot = 1.01153881174185 | epot = -10.6572760811912 | etot = -8.13378366297672 +463000 ekin = 1.43011910143164 | erot = 1.00022578453557 | epot = -10.5641285481427 | etot = -8.13378366217548 +464000 ekin = 1.39582910826903 | erot = 0.998198432074986 | epot = -10.5278112021952 | etot = -8.1337836618512 +465000 ekin = 1.41007554849745 | erot = 1.00592009003026 | epot = -10.5497793012316 | etot = -8.13378366270389 +466000 ekin = 1.46251969360414 | erot = 1.02219738030375 | epot = -10.6185007378594 | etot = -8.13378366395154 +467000 ekin = 1.49627186619546 | erot = 1.05472101824476 | epot = -10.6847765487641 | etot = -8.13378366432389 +468000 ekin = 1.51725853676646 | erot = 1.12479885666538 | epot = -10.7758410579682 | etot = -8.13378366453633 +469000 ekin = 1.58140637754108 | erot = 1.16828828958057 | epot = -10.8834783316039 | etot = -8.13378366448221 +470000 ekin = 1.60068578297537 | erot = 1.1811414102052 | epot = -10.9156108575306 | etot = -8.13378366435 +471000 ekin = 1.59076368324978 | erot = 1.18707237246534 | epot = -10.911619719416 | etot = -8.13378366370092 +472000 ekin = 1.56124060598129 | erot = 1.18572143100842 | epot = -10.8807456997834 | etot = -8.1337836627937 +473000 ekin = 1.5250209740962 | erot = 1.17792025680898 | epot = -10.8367248927409 | etot = -8.13378366183571 +474000 ekin = 1.49533177224124 | erot = 1.16544446213364 | epot = -10.7945598953308 | etot = -8.1337836609559 +475000 ekin = 1.48386630174459 | erot = 1.15068540215452 | epot = -10.768335364138 | etot = -8.13378366023887 +476000 ekin = 1.49971334631653 | erot = 1.13623821677884 | epot = -10.7697352228395 | etot = -8.13378365974411 +477000 ekin = 1.5487111876888 | erot = 1.12448433352661 | epot = -10.8069791813277 | etot = -8.13378366011226 +478000 ekin = 1.62953491120247 | erot = 1.1176426890345 | epot = -10.8809612604774 | etot = -8.13378366024041 +479000 ekin = 1.73735741644254 | erot = 1.117006208111 | epot = -10.9881472852204 | etot = -8.13378366066682 +480000 ekin = 1.86556210288884 | erot = 1.12262064774855 | epot = -11.1219664120706 | etot = -8.13378366143325 +481000 ekin = 2.00121026336288 | erot = 1.1336486002113 | epot = -11.2686425499408 | etot = -8.13378368636666 +482000 ekin = 2.04617329753799 | erot = 1.1625692617215 | epot = -11.3425262237474 | etot = -8.1337836644879 +483000 ekin = 2.14335261837481 | erot = 1.2147627313197 | epot = -11.4918990326043 | etot = -8.13378368290979 +484000 ekin = 2.20270995355674 | erot = 1.23147381806447 | epot = -11.5679674446405 | etot = -8.13378367301928 +485000 ekin = 2.20682939440538 | erot = 1.23835798981609 | epot = -11.5789710574745 | etot = -8.13378367325297 +486000 ekin = 2.16589682793847 | erot = 1.24300370551386 | epot = -11.5426842062817 | etot = -8.13378367282935 +487000 ekin = 2.08668888864475 | erot = 1.24625551751706 | epot = -11.4667280780089 | etot = -8.13378367184709 +488000 ekin = 1.98386509124435 | erot = 1.24977318046269 | epot = -11.3674219422309 | etot = -8.1337836705239 +489000 ekin = 1.8770793102991 | erot = 1.255470127734 | epot = -11.2663331071942 | etot = -8.13378366916115 +490000 ekin = 1.78677596316064 | erot = 1.26490338721773 | epot = -11.1854630185056 | etot = -8.13378366812726 +491000 ekin = 1.72903831213024 | erot = 1.27867004038023 | epot = -11.1414920203099 | etot = -8.13378366779945 +492000 ekin = 1.71039979056745 | erot = 1.2959176810728 | epot = -11.1401011400604 | etot = -8.13378366842019 +493000 ekin = 1.72454317155255 | erot = 1.31423280426937 | epot = -11.1725596457264 | etot = -8.13378366990446 +494000 ekin = 1.75332785014951 | erot = 1.33022406247028 | epot = -11.2173355843427 | etot = -8.13378367172286 +495000 ekin = 1.77349565825601 | erot = 1.34086561473764 | epot = -11.248144946032 | etot = -8.13378367303834 +496000 ekin = 1.76725059668319 | erot = 1.34512484287368 | epot = -11.2461591127086 | etot = -8.1337836731517 +497000 ekin = 1.73127637990569 | erot = 1.34494708213011 | epot = -11.2100071339989 | etot = -8.13378367196309 +498000 ekin = 1.67855000909753 | erot = 1.34489121265361 | epot = -11.1572248917884 | etot = -8.13378367003722 +499000 ekin = 1.63191747121451 | erot = 1.35056727534129 | epot = -11.1162684147704 | etot = -8.13378366821463 +500000 ekin = 1.6137835999163 | erot = 1.36676364682263 | epot = -11.1143309138908 | etot = -8.13378366715187 +501000 ekin = 1.6375810198933 | erot = 1.39609850677296 | epot = -11.1674631937686 | etot = -8.13378366710232 +502000 ekin = 1.70413807541648 | erot = 1.43847493669639 | epot = -11.2763966800811 | etot = -8.13378366796824 +503000 ekin = 1.80268297747067 | erot = 1.49115460254022 | epot = -11.4276212495033 | etot = -8.13378366949244 +504000 ekin = 1.9141954977774 | erot = 1.54914693964006 | epot = -11.5971261088452 | etot = -8.13378367142778 +505000 ekin = 2.01490443996074 | erot = 1.6057640650419 | epot = -11.7544521785436 | etot = -8.13378367354096 +506000 ekin = 2.07966541468552 | erot = 1.65345439353817 | epot = -11.8669034836636 | etot = -8.13378367543991 +507000 ekin = 2.08700353894391 | erot = 1.68517460629184 | epot = -11.9059618217143 | etot = -8.13378367647857 +508000 ekin = 2.0266335266071 | erot = 1.69625747623332 | epot = -11.8566746789094 | etot = -8.13378367606896 +509000 ekin = 1.9058906413155 | erot = 1.68599529702425 | epot = -11.725669612527 | etot = -8.13378367418728 +510000 ekin = 1.74959091230051 | erot = 1.65787688253056 | epot = -11.5412514662974 | etot = -8.13378367146631 +511000 ekin = 1.59231955656842 | erot = 1.6182626673137 | epot = -11.3443658926589 | etot = -8.13378366877683 +512000 ekin = 1.46755856058655 | erot = 1.574346623802 | epot = -11.1756888512705 | etot = -8.13378366688192 +513000 ekin = 1.3983991609166 | erot = 1.53234768377425 | epot = -11.0645305108004 | etot = -8.13378366610958 +514000 ekin = 1.39338903685241 | erot = 1.49706258344285 | epot = -11.0242352864508 | etot = -8.13378366615559 +515000 ekin = 1.44495159060737 | erot = 1.47110271002737 | epot = -11.0498379681962 | etot = -8.13378366756146 +516000 ekin = 1.53288312820279 | erot = 1.45357064724177 | epot = -11.1202374448314 | etot = -8.1337836693868 +517000 ekin = 1.63159033311232 | erot = 1.44224294472549 | epot = -11.2076169492165 | etot = -8.13378367137872 +518000 ekin = 1.71409401454596 | erot = 1.43408399435521 | epot = -11.2819616821398 | etot = -8.13378367323862 +519000 ekin = 1.75665192755708 | erot = 1.42579002916576 | epot = -11.3162256317207 | etot = -8.13378367499789 +520000 ekin = 1.74187345946909 | erot = 1.41504839774624 | epot = -11.290705532421 | etot = -8.13378367520563 +521000 ekin = 1.66871703040042 | erot = 1.40071550595596 | epot = -11.2032162101062 | etot = -8.13378367374984 +522000 ekin = 1.55952182855679 | erot = 1.3833998364993 | epot = -11.0767053361963 | etot = -8.13378367114018 +523000 ekin = 1.45114556551102 | erot = 1.36568308064865 | epot = -10.9506123146175 | etot = -8.13378366845782 +524000 ekin = 1.38091842212155 | erot = 1.35134919390993 | epot = -10.8660512824778 | etot = -8.13378366644636 +525000 ekin = 1.37601425590438 | erot = 1.34456662956207 | epot = -10.8543645508773 | etot = -8.13378366541088 +526000 ekin = 1.44870428483712 | erot = 1.3490974017969 | epot = -10.9315853521455 | etot = -8.13378366551144 +527000 ekin = 1.5945986354535 | erot = 1.36714947552606 | epot = -11.0955317778941 | etot = -8.13378366691456 +528000 ekin = 1.7918340547974 | erot = 1.39841904593992 | epot = -11.3240367701565 | etot = -8.13378366941917 +529000 ekin = 2.00478978695404 | erot = 1.43972835788573 | epot = -11.5783018172113 | etot = -8.13378367237151 +530000 ekin = 2.19333795598997 | erot = 1.48552207658974 | epot = -11.8126437074694 | etot = -8.13378367488965 +531000 ekin = 2.32431476963038 | erot = 1.52928747156722 | epot = -11.9873859174876 | etot = -8.13378367629003 +532000 ekin = 2.37971447235942 | erot = 1.56539257219217 | epot = -12.078890721007 | etot = -8.1337836764554 +533000 ekin = 2.35771666713876 | erot = 1.59048999441718 | epot = -12.0819903372205 | etot = -8.13378367566452 +534000 ekin = 2.26899715447946 | erot = 1.60407394360566 | epot = -12.0068547722183 | etot = -8.13378367413313 +535000 ekin = 2.13365177459504 | erot = 1.60831072463745 | epot = -11.8757461712559 | etot = -8.13378367202338 +536000 ekin = 1.97886376168026 | erot = 1.60719127869265 | epot = -11.7198387101024 | etot = -8.13378366972953 +537000 ekin = 1.83421887316433 | erot = 1.6052389830352 | epot = -11.5732415239645 | etot = -8.13378366776499 +538000 ekin = 1.7253172089481 | erot = 1.60632519291408 | epot = -11.465426068374 | etot = -8.13378366651184 +539000 ekin = 1.66856519908309 | erot = 1.61301472932345 | epot = -11.4153635945303 | etot = -8.13378366612373 +540000 ekin = 1.66907056570911 | erot = 1.62662968766944 | epot = -11.429483919541 | etot = -8.13378366616247 +541000 ekin = 1.72153495930239 | erot = 1.64788745987798 | epot = -11.5032060865291 | etot = -8.13378366734877 +542000 ekin = 1.80903650499997 | erot = 1.67547869681539 | epot = -11.6182988707279 | etot = -8.13378366891259 +543000 ekin = 1.90894616838506 | erot = 1.7073450894897 | epot = -11.7500749284098 | etot = -8.13378367053506 +544000 ekin = 1.99777842842207 | erot = 1.74125357781803 | epot = -11.8728156781595 | etot = -8.13378367191943 +545000 ekin = 2.05546409376853 | erot = 1.7752100003717 | epot = -11.9644577669752 | etot = -8.13378367283499 +546000 ekin = 2.06867595315502 | erot = 1.80779483609561 | epot = -12.0102544624071 | etot = -8.13378367315649 +547000 ekin = 2.03267806246845 | erot = 1.83838588998399 | epot = -12.0048476253203 | etot = -8.13378367286789 +548000 ekin = 1.95148731421714 | erot = 1.8671839088262 | epot = -11.9524548951466 | etot = -8.13378367210323 +549000 ekin = 1.83645042329733 | erot = 1.89487456519778 | epot = -11.865108659532 | etot = -8.13378367103693 +550000 ekin = 1.7037313049418 | erot = 1.92233248820263 | epot = -11.7598474630215 | etot = -8.13378366987706 +551000 ekin = 1.57139422779038 | erot = 1.95024291867484 | epot = -11.6554208152766 | etot = -8.13378366881139 +552000 ekin = 1.45663332554879 | erot = 1.97878558862137 | epot = -11.5692025821639 | etot = -8.13378366799371 +553000 ekin = 1.37337409016338 | erot = 2.00744335364772 | epot = -11.5146011113573 | etot = -8.13378366754621 +554000 ekin = 1.33029485859016 | erot = 2.03496657144412 | epot = -11.4990450975783 | etot = -8.13378366754399 +555000 ekin = 1.32945359622626 | erot = 2.05953157375239 | epot = -11.5227688379757 | etot = -8.1337836679971 +556000 ekin = 1.36589068754812 | erot = 2.0790983760863 | epot = -11.5787727324453 | etot = -8.13378366881089 +557000 ekin = 1.42857577082434 | erot = 2.09193210846441 | epot = -11.6542915490903 | etot = -8.13378366980157 +558000 ekin = 1.50275359963621 | erot = 2.09715314139738 | epot = -11.7336904117649 | etot = -8.13378367073132 +559000 ekin = 1.57321830908012 | erot = 2.0951186218922 | epot = -11.8021206023679 | etot = -8.13378367139556 +560000 ekin = 1.62740172364614 | erot = 2.08745496893088 | epot = -11.8486403643047 | etot = -8.13378367172764 +561000 ekin = 1.65692416189542 | erot = 2.07666092047267 | epot = -11.8673687541756 | etot = -8.13378367180753 +562000 ekin = 1.65737426357432 | erot = 2.06544534214174 | epot = -11.8566032774488 | etot = -8.13378367173272 +563000 ekin = 1.62727808429362 | erot = 2.05615555037707 | epot = -11.8172173064581 | etot = -8.13378367178738 +564000 ekin = 1.56679933057649 | erot = 2.05047511799079 | epot = -11.7510581199199 | etot = -8.13378367135264 +565000 ekin = 1.48206055330475 | erot = 2.04917576858042 | epot = -11.6650199925319 | etot = -8.13378367064677 +566000 ekin = 1.38423866545304 | erot = 2.05221850149694 | epot = -11.5702408367336 | etot = -8.1337836697836 +567000 ekin = 1.28749391779484 | erot = 2.05873429504791 | epot = -11.4800118818287 | etot = -8.13378366898596 +568000 ekin = 1.20570431101636 | erot = 2.06705692033373 | epot = -11.4065448998072 | etot = -8.1337836684571 +569000 ekin = 1.14918558020451 | erot = 2.07495244465527 | epot = -11.3579216931492 | etot = -8.13378366828941 +570000 ekin = 1.12276449642623 | erot = 2.08007272961832 | epot = -11.3366208944897 | etot = -8.13378366844511 +571000 ekin = 1.12567595867963 | erot = 2.08050218013247 | epot = -11.3399618076128 | etot = -8.13378366880073 +572000 ekin = 1.15294903406445 | erot = 2.07519259344742 | epot = -11.361925296714 | etot = -8.13378366920215 +573000 ekin = 1.19838854914769 | erot = 2.06451015558314 | epot = -11.3966823739592 | etot = -8.13378366922832 +574000 ekin = 1.25460427385581 | erot = 2.04968889738443 | epot = -11.4380768407668 | etot = -8.13378366952656 +575000 ekin = 1.31454735692382 | erot = 2.03199549862628 | epot = -11.4803265250831 | etot = -8.13378366953303 +576000 ekin = 1.37512583608875 | erot = 2.01319845741096 | epot = -11.5221079628052 | etot = -8.13378366930547 +577000 ekin = 1.43682760501221 | erot = 1.99528982934614 | epot = -11.5659011033237 | etot = -8.13378366896538 +578000 ekin = 1.50235588200393 | erot = 1.98017269182714 | epot = -11.6163122424572 | etot = -8.13378366862608 +579000 ekin = 1.57520818415661 | erot = 1.96938672247192 | epot = -11.6783785749882 | etot = -8.13378366835971 +580000 ekin = 1.6586846249208 | erot = 1.96390249857434 | epot = -11.7563707921358 | etot = -8.13378366864064 +581000 ekin = 1.75247311825855 | erot = 1.96419308534606 | epot = -11.8504498724693 | etot = -8.13378366886464 +582000 ekin = 1.85283782857132 | erot = 1.96967477641428 | epot = -11.9562962743649 | etot = -8.13378366937934 +583000 ekin = 1.95429754597 | erot = 1.9782640549526 | epot = -12.0663452712483 | etot = -8.13378367032571 +584000 ekin = 2.04662916571846 | erot = 1.98631443704129 | epot = -12.1667272745317 | etot = -8.13378367177197 +585000 ekin = 2.11419694671339 | erot = 1.98862566441979 | epot = -12.2366062846731 | etot = -8.1337836735399 +586000 ekin = 2.13871236988187 | erot = 1.97915340581082 | epot = -12.2516494507752 | etot = -8.13378367508249 +587000 ekin = 2.10465783247742 | erot = 1.95256271522648 | epot = -12.191004223596 | etot = -8.13378367589215 +588000 ekin = 2.00543191749115 | erot = 1.90599988276949 | epot = -12.0452154755398 | etot = -8.13378367527917 +589000 ekin = 1.85115446104203 | erot = 1.84021509335382 | epot = -11.8251532276741 | etot = -8.13378367327826 +590000 ekin = 1.66921622808237 | erot = 1.75933351103099 | epot = -11.5623334095068 | etot = -8.13378367039345 +591000 ekin = 1.49774854838706 | erot = 1.66961531491678 | epot = -11.3011475307928 | etot = -8.13378366748897 +592000 ekin = 1.37418208601279 | erot = 1.57786762198314 | epot = -11.0858333735172 | etot = -8.13378366552125 +593000 ekin = 1.32230765435156 | erot = 1.49017042366288 | epot = -10.9462617430931 | etot = -8.1337836650787 +594000 ekin = 1.3443358458271 | erot = 1.41110289035714 | epot = -10.8892224022215 | etot = -8.13378366603731 +595000 ekin = 1.42313762142491 | erot = 1.34352894993738 | epot = -10.9004502389466 | etot = -8.13378366758431 +596000 ekin = 1.53140640357788 | erot = 1.28905714162215 | epot = -10.9542472149259 | etot = -8.13378366972589 +597000 ekin = 1.63793776665174 | erot = 1.24822708397561 | epot = -11.0199485217695 | etot = -8.13378367114217 +598000 ekin = 1.7185336949688 | erot = 1.22042305583814 | epot = -11.0727404229591 | etot = -8.13378367215213 +599000 ekin = 1.75676579671706 | erot = 1.20417119497698 | epot = -11.0947206644308 | etot = -8.1337836727368 +600000 ekin = 1.74415562350487 | erot = 1.19748501257288 | epot = -11.075424308894 | etot = -8.13378367281625 +601000 ekin = 1.68078686627226 | erot = 1.19842786467237 | epot = -11.0129984032328 | etot = -8.13378367228817 +602000 ekin = 1.5759276846428 | erot = 1.20571835983063 | epot = -10.915429715615 | etot = -8.13378367114156 +603000 ekin = 1.44736021988183 | erot = 1.2190655666565 | epot = -10.8002094561103 | etot = -8.133783669572 +604000 ekin = 1.31829530124237 | erot = 1.23900632720145 | epot = -10.6910852964292 | etot = -8.1337836679854 +605000 ekin = 1.21203583247901 | erot = 1.26625018195725 | epot = -10.6120696811993 | etot = -8.13378366676304 +606000 ekin = 1.14717881944628 | erot = 1.30114918573216 | epot = -10.5821116711632 | etot = -8.13378366598476 +607000 ekin = 1.13493137971139 | erot = 1.34344256501163 | epot = -10.6121576106362 | etot = -8.13378366591323 +608000 ekin = 1.17769398076198 | erot = 1.39211398655642 | epot = -10.7035916336253 | etot = -8.1337836663069 +609000 ekin = 1.27083042498511 | erot = 1.44572829442914 | epot = -10.8503423864968 | etot = -8.13378366708251 +610000 ekin = 1.4035930895439 | erot = 1.50241692808088 | epot = -11.0397936861368 | etot = -8.133783668512 +611000 ekin = 1.55996607947597 | erot = 1.55982171139495 | epot = -11.2535714606409 | etot = -8.13378366976994 +612000 ekin = 1.72323074886001 | erot = 1.61567444068074 | epot = -11.4726888606367 | etot = -8.13378367109591 +613000 ekin = 1.87623356286641 | erot = 1.66732234624289 | epot = -11.6773395815026 | etot = -8.1337836723933 +614000 ekin = 2.00332542688057 | erot = 1.71185786770914 | epot = -11.8489669679118 | etot = -8.13378367332208 +615000 ekin = 2.0938447106977 | erot = 1.74706892485965 | epot = -11.9746973091568 | etot = -8.13378367359943 +616000 ekin = 2.14582652013177 | erot = 1.77208418550972 | epot = -12.0516943786639 | etot = -8.13378367302244 +617000 ekin = 2.1676403255335 | erot = 1.78786476154915 | epot = -12.0892887588858 | etot = -8.1337836718031 +618000 ekin = 2.17543321837801 | erot = 1.79702594194235 | epot = -12.1062428306753 | etot = -8.13378367035489 +619000 ekin = 2.18765015126267 | erot = 1.80309631575683 | epot = -12.1245301362433 | etot = -8.13378366922382 +620000 ekin = 2.21827388576719 | erot = 1.80941579610045 | epot = -12.1614733506294 | etot = -8.13378366876175 +621000 ekin = 2.27256724286326 | erot = 1.81817906105047 | epot = -12.2245299729476 | etot = -8.13378366903384 +622000 ekin = 2.34686215368134 | erot = 1.82980019932889 | epot = -12.3104460228997 | etot = -8.13378366988947 +623000 ekin = 2.43079483960718 | erot = 1.84272954677985 | epot = -12.4073080574858 | etot = -8.13378367109877 +624000 ekin = 2.51074859397889 | erot = 1.85365912853719 | epot = -12.4981913948604 | etot = -8.13378367234431 +625000 ekin = 2.57376014757354 | erot = 1.85839628628492 | epot = -12.5659401070518 | etot = -8.13378367319335 +626000 ekin = 2.61178608743946 | erot = 1.85335246049266 | epot = -12.5989222212652 | etot = -8.13378367333303 +627000 ekin = 2.62439666915714 | erot = 1.83675929859779 | epot = -12.5949396405965 | etot = -8.13378367284157 +628000 ekin = 2.61715143116747 | erot = 1.80883297814572 | epot = -12.5597680815351 | etot = -8.13378367222192 +629000 ekin = 2.59614002780212 | erot = 1.77076928022058 | epot = -12.5006929799608 | etot = -8.13378367193806 +630000 ekin = 2.56316564608822 | erot = 1.72368862272812 | epot = -12.4206379408613 | etot = -8.13378367204495 +631000 ekin = 2.51545670840333 | erot = 1.66841938705302 | epot = -12.3176597677069 | etot = -8.13378367225056 +632000 ekin = 2.44898106284665 | erot = 1.60594586086193 | epot = -12.1887105959618 | etot = -8.13378367225321 +633000 ekin = 2.36287257798604 | erot = 1.537824267385 | epot = -12.0344805167293 | etot = -8.13378367135829 +634000 ekin = 2.26405242525212 | erot = 1.46623278031259 | epot = -11.86406887615 | etot = -8.13378367058526 +635000 ekin = 2.16101755721672 | erot = 1.39475566088742 | epot = -11.6895568878161 | etot = -8.13378366971194 +636000 ekin = 2.06475253332858 | erot = 1.32686506234682 | epot = -11.5254012642715 | etot = -8.13378366859611 +637000 ekin = 1.98973271037813 | erot = 1.26596624429403 | epot = -11.3894826221305 | etot = -8.1337836674583 +638000 ekin = 1.95146778323019 | erot = 1.21514985243814 | epot = -11.3004013023028 | etot = -8.13378366663451 +639000 ekin = 1.96182069136402 | erot = 1.17695161175762 | epot = -11.2725559693077 | etot = -8.13378366618603 +640000 ekin = 2.02679898932753 | erot = 1.15239183902456 | epot = -11.3129744949284 | etot = -8.13378366657635 +641000 ekin = 2.14199910312467 | erot = 1.14071086555715 | epot = -11.4164936363299 | etot = -8.13378366764812 +642000 ekin = 2.29285046318574 | erot = 1.13915186810496 | epot = -11.5657860007499 | etot = -8.13378366945922 +643000 ekin = 2.45552552113058 | erot = 1.14338828232168 | epot = -11.7326974750682 | etot = -8.13378367161592 +644000 ekin = 2.60133752584275 | erot = 1.1483536748964 | epot = -11.8834748743298 | etot = -8.1337836735906 +645000 ekin = 2.70371430393708 | erot = 1.14938437135862 | epot = -11.9868823501752 | etot = -8.13378367487955 +646000 ekin = 2.74463607559762 | erot = 1.14332224209485 | epot = -12.0217419929081 | etot = -8.13378367521562 +647000 ekin = 2.7181778723776 | erot = 1.12915792946955 | epot = -11.9811194764816 | etot = -8.13378367463448 +648000 ekin = 2.6302824606665 | erot = 1.10798613626309 | epot = -11.8720522703252 | etot = -8.13378367339563 +649000 ekin = 2.49559189348067 | erot = 1.08245328245142 | epot = -11.7118288477976 | etot = -8.1337836718655 +650000 ekin = 2.33293161555247 | erot = 1.05592857135991 | epot = -11.5226438572844 | etot = -8.13378367037205 +651000 ekin = 2.16312160403983 | erot = 1.03179243269255 | epot = -11.3286977053836 | etot = -8.13378366865123 +652000 ekin = 2.00437764472495 | erot = 1.01263346476082 | epot = -11.1507947776185 | etot = -8.13378366813275 +653000 ekin = 1.86320148187958 | erot = 0.999771298675487 | epot = -10.9967564485141 | etot = -8.13378366795902 +654000 ekin = 1.74159938814837 | erot = 0.993638993407277 | epot = -10.8690220495764 | etot = -8.13378366802077 +655000 ekin = 1.63877614369373 | erot = 0.993961110616547 | epot = -10.7665209224976 | etot = -8.13378366818728 +656000 ekin = 1.55293696393759 | erot = 0.999977751480608 | epot = -10.6866983837479 | etot = -8.1337836683297 +657000 ekin = 1.48301105565139 | erot = 1.01069155839246 | epot = -10.6274862823934 | etot = -8.13378366834955 +658000 ekin = 1.42991653833484 | erot = 1.02511295992719 | epot = -10.5888131664623 | etot = -8.13378366820028 +659000 ekin = 1.3970356213419 | erot = 1.04246417554468 | epot = -10.5732834647976 | etot = -8.13378366791104 +660000 ekin = 1.38964145712432 | erot = 1.06228082949086 | epot = -10.5857059541847 | etot = -8.13378366756947 +661000 ekin = 1.41337783441102 | erot = 1.08434723258998 | epot = -10.6315087344007 | etot = -8.13378366739969 +662000 ekin = 1.47169034618963 | erot = 1.10850483084535 | epot = -10.7139788445909 | etot = -8.13378366755594 +663000 ekin = 1.56097330114159 | erot = 1.13389735845462 | epot = -10.8286543283891 | etot = -8.13378366879291 +664000 ekin = 1.66624490139917 | erot = 1.15850228668423 | epot = -10.9585308578117 | etot = -8.13378366972827 +665000 ekin = 1.77303863683395 | erot = 1.18152952433998 | epot = -11.0883518319917 | etot = -8.13378367081779 +666000 ekin = 1.86640057269615 | erot = 1.20258304575748 | epot = -11.2027672900465 | etot = -8.13378367159284 +667000 ekin = 1.93466412848282 | erot = 1.22193419208053 | epot = -11.2903819923707 | etot = -8.13378367180735 +668000 ekin = 1.97306030166492 | erot = 1.24062017116914 | epot = -11.347464144264 | etot = -8.13378367142997 +669000 ekin = 1.98443783022521 | erot = 1.2600420212363 | epot = -11.3782635221481 | etot = -8.13378367068662 +670000 ekin = 1.97652861969381 | erot = 1.28134194903916 | epot = -11.3916542389172 | etot = -8.1337836701842 +671000 ekin = 1.95649579517304 | erot = 1.30490078082103 | epot = -11.3951802457702 | etot = -8.13378366977615 +672000 ekin = 1.92875532535182 | erot = 1.3306566086166 | epot = -11.3931956035327 | etot = -8.13378366956423 +673000 ekin = 1.89553670245284 | erot = 1.35854540533994 | epot = -11.3878657772639 | etot = -8.13378366947109 +674000 ekin = 1.85764904381115 | erot = 1.38884570044011 | epot = -11.3802784136 | etot = -8.13378366934874 +675000 ekin = 1.81704545025592 | erot = 1.42228413603649 | epot = -11.3731132555571 | etot = -8.13378366926472 +676000 ekin = 1.77505031309368 | erot = 1.45971003521918 | epot = -11.3685440174128 | etot = -8.13378366909995 +677000 ekin = 1.73347451742991 | erot = 1.50191216831867 | epot = -11.3691703547045 | etot = -8.13378366895589 +678000 ekin = 1.69449339360285 | erot = 1.5492260635729 | epot = -11.3775031260965 | etot = -8.1337836689207 +679000 ekin = 1.65969071094786 | erot = 1.60118456836937 | epot = -11.3946589483532 | etot = -8.13378366903597 +680000 ekin = 1.62957005383035 | erot = 1.6563411685726 | epot = -11.4196948916937 | etot = -8.1337836692907 +681000 ekin = 1.6036225257807 | erot = 1.71228358651525 | epot = -11.4496897819273 | etot = -8.1337836696313 +682000 ekin = 1.58083074253663 | erot = 1.76582826438537 | epot = -11.4804426769066 | etot = -8.13378366998463 +683000 ekin = 1.56032431136006 | erot = 1.81338479148306 | epot = -11.5074927731268 | etot = -8.13378367028371 +684000 ekin = 1.54183455724641 | erot = 1.85142632172379 | epot = -11.527044549801 | etot = -8.13378367083076 +685000 ekin = 1.52410759948571 | erot = 1.87642082986575 | epot = -11.5343121004891 | etot = -8.1337836711376 +686000 ekin = 1.50494379428818 | erot = 1.88570070117793 | epot = -11.5244281668713 | etot = -8.13378367140519 +687000 ekin = 1.48208036601428 | erot = 1.87831367882373 | epot = -11.4941777164487 | etot = -8.13378367161066 +688000 ekin = 1.45289287171131 | erot = 1.85497856864079 | epot = -11.4416551119996 | etot = -8.13378367164753 +689000 ekin = 1.41601907826408 | erot = 1.81811437346443 | epot = -11.3679171230719 | etot = -8.13378367134343 +690000 ekin = 1.3739477559924 | erot = 1.77166312489352 | epot = -11.2793945514479 | etot = -8.13378367056194 +691000 ekin = 1.33508615021621 | erot = 1.72071496353143 | epot = -11.1895847830839 | etot = -8.13378366933627 +692000 ekin = 1.31344376453929 | erot = 1.6709415974687 | epot = -11.1181690299597 | etot = -8.13378366795173 +693000 ekin = 1.32488046341621 | erot = 1.6278369743497 | epot = -11.0865011046549 | etot = -8.13378366688903 +694000 ekin = 1.38078608502381 | erot = 1.59583179970301 | epot = -11.1104015513567 | etot = -8.13378366662985 +695000 ekin = 1.48192861179444 | erot = 1.57745304979668 | epot = -11.1931653290032 | etot = -8.13378366741211 +696000 ekin = 1.61569966766342 | erot = 1.57278041420816 | epot = -11.3222637509667 | etot = -8.13378366909513 +697000 ekin = 1.75843097209587 | erot = 1.57943520714015 | epot = -11.471649850455 | etot = -8.13378367121893 +698000 ekin = 1.88185215227674 | erot = 1.59316882056648 | epot = -11.6088046460315 | etot = -8.13378367318828 +699000 ekin = 1.96106579209253 | erot = 1.60896306334644 | epot = -11.7038125299065 | etot = -8.1337836744675 +700000 ekin = 1.98131680917595 | erot = 1.62236339274118 | epot = -11.7374638766487 | etot = -8.13378367473154 +701000 ekin = 1.94164145671725 | erot = 1.63062825684615 | epot = -11.7060533875187 | etot = -8.13378367395526 +702000 ekin = 1.85450233234931 | erot = 1.63328569353363 | epot = -11.6215716983054 | etot = -8.13378367242241 +703000 ekin = 1.74181404905167 | erot = 1.63189519930867 | epot = -11.5074929188062 | etot = -8.13378367044582 +704000 ekin = 1.62890053400173 | erot = 1.62932624842263 | epot = -11.3920104513182 | etot = -8.13378366889386 +705000 ekin = 1.53704055732152 | erot = 1.62828297748911 | epot = -11.2991072025728 | etot = -8.13378366776214 +706000 ekin = 1.48137553858694 | erot = 1.63090498232315 | epot = -11.2460641880462 | etot = -8.13378366713615 +707000 ekin = 1.47012654293868 | erot = 1.63856880542399 | epot = -11.2424790153117 | etot = -8.13378366694904 +708000 ekin = 1.50545482966234 | erot = 1.65189802611907 | epot = -11.2911365228536 | etot = -8.13378366707216 +709000 ekin = 1.58434919620347 | erot = 1.67079586462247 | epot = -11.3889287285478 | etot = -8.13378366772188 +710000 ekin = 1.69830399765655 | erot = 1.69420639277746 | epot = -11.5262940589424 | etot = -8.13378366850841 +711000 ekin = 1.83638650821732 | erot = 1.72024670594232 | epot = -11.6904168836774 | etot = -8.13378366951779 +712000 ekin = 1.98510691893256 | erot = 1.74609277609515 | epot = -11.8649833658443 | etot = -8.13378367081663 +713000 ekin = 2.12899307615404 | erot = 1.76804611046095 | epot = -12.0308228586673 | etot = -8.13378367205227 +714000 ekin = 2.25375007876413 | erot = 1.78243264230489 | epot = -12.1699663938949 | etot = -8.13378367282586 +715000 ekin = 2.34975342438314 | erot = 1.7863212221056 | epot = -12.2698583197923 | etot = -8.13378367330359 +716000 ekin = 2.41256025258607 | erot = 1.77808812751119 | epot = -12.324432053273 | etot = -8.13378367317579 +717000 ekin = 2.44474770543516 | erot = 1.75804788170564 | epot = -12.3365792596854 | etot = -8.13378367254461 +718000 ekin = 2.45412216706064 | erot = 1.72831089164106 | epot = -12.3162167307368 | etot = -8.13378367203513 +719000 ekin = 2.44845378809372 | erot = 1.69204638289133 | epot = -12.2742838421606 | etot = -8.13378367117554 +720000 ekin = 2.4365668243011 | erot = 1.65329012907094 | epot = -12.2236406239461 | etot = -8.13378367057407 +721000 ekin = 2.42365620513951 | erot = 1.61605001925601 | epot = -12.1734898947767 | etot = -8.13378367038118 +722000 ekin = 2.40904119941647 | erot = 1.58378410656369 | epot = -12.126608976579 | etot = -8.13378367059884 +723000 ekin = 2.38647146994653 | erot = 1.55915433550815 | epot = -12.0794094765258 | etot = -8.13378367107115 +724000 ekin = 2.34659231003132 | erot = 1.54397640926854 | epot = -12.0243523908409 | etot = -8.13378367154106 +725000 ekin = 2.28077035581261 | erot = 1.5393197301854 | epot = -11.953873757743 | etot = -8.13378367174497 +726000 ekin = 2.18489434273461 | erot = 1.54571264603448 | epot = -11.8643906602776 | etot = -8.13378367150856 +727000 ekin = 2.06179491776454 | erot = 1.56339646493188 | epot = -11.7589750535044 | etot = -8.13378367080798 +728000 ekin = 1.92142302768548 | erot = 1.59252552387787 | epot = -11.6477322213536 | etot = -8.13378366979028 +729000 ekin = 1.7786316146333 | erot = 1.63318133798207 | epot = -11.5455966213522 | etot = -8.13378366873683 +730000 ekin = 1.64935549789658 | erot = 1.68520345517394 | epot = -11.4683426210542 | etot = -8.1337836679837 +731000 ekin = 1.54617340801248 | erot = 1.74777370762701 | epot = -11.4277307834108 | etot = -8.13378366777128 +732000 ekin = 1.47444012326489 | erot = 1.81876025838008 | epot = -11.4269840497947 | etot = -8.13378366814974 +733000 ekin = 1.43189319815119 | erot = 1.89484027033745 | epot = -11.4605171374918 | etot = -8.13378366900312 +734000 ekin = 1.41017780822952 | erot = 1.97174677425593 | epot = -11.515708252553 | etot = -8.13378367006758 +735000 ekin = 1.39820849327891 | erot = 2.04483940823585 | epot = -11.5768315725272 | etot = -8.13378367101241 +736000 ekin = 1.38628872347329 | erot = 2.10985363402772 | epot = -11.6299260290509 | etot = -8.13378367154989 +737000 ekin = 1.36961596697469 | erot = 2.16355925928076 | epot = -11.6669588978069 | etot = -8.1337836715514 +738000 ekin = 1.34981044649482 | erot = 2.20404797657308 | epot = -11.6876420941816 | etot = -8.13378367111375 +739000 ekin = 1.33372653206523 | erot = 2.23055395775731 | epot = -11.6980641603267 | etot = -8.13378367050419 +740000 ekin = 1.33016419302877 | erot = 2.24303198932584 | epot = -11.7069798523447 | etot = -8.13378366999008 +741000 ekin = 1.34641052653915 | erot = 2.24189336876696 | epot = -11.7220875649847 | etot = -8.13378366967855 +742000 ekin = 1.38645577652113 | erot = 2.22809836950686 | epot = -11.7483378155588 | etot = -8.13378366953076 +743000 ekin = 1.45103879196968 | erot = 2.20332817128998 | epot = -11.7881506327682 | etot = -8.13378366950853 +744000 ekin = 1.53803120218894 | erot = 2.16985299830534 | epot = -11.8416678701986 | etot = -8.1337836697043 +745000 ekin = 1.64150939163791 | erot = 2.12988595976026 | epot = -11.9051790216565 | etot = -8.13378367025834 +746000 ekin = 1.75074962763977 | erot = 2.08470317830661 | epot = -11.9692364772144 | etot = -8.13378367126806 +747000 ekin = 1.84985303110134 | erot = 2.03398729133258 | epot = -12.0176239950761 | etot = -8.13378367264215 +748000 ekin = 1.91944439122471 | erot = 1.97579729238774 | epot = -12.0290253576875 | etot = -8.13378367407507 +749000 ekin = 1.94080211585096 | erot = 1.90728805392296 | epot = -11.9818738448736 | etot = -8.13378367509966 +750000 ekin = 1.90175708673251 | erot = 1.8260222740119 | epot = -11.8615630358885 | etot = -8.13378367514405 +751000 ekin = 1.80442251326083 | erot = 1.7321012366723 | epot = -11.6703074242644 | etot = -8.13378367433124 +752000 ekin = 1.66438096324402 | erot = 1.62791173826492 | epot = -11.4260763737911 | etot = -8.13378367228214 +753000 ekin = 1.50959112389811 | erot = 1.51791168438835 | epot = -11.1612864778701 | etot = -8.13378366958362 +754000 ekin = 1.37530205550533 | erot = 1.40846180210589 | epot = -10.917547524855 | etot = -8.13378366724374 +755000 ekin = 1.29223158169242 | erot = 1.30628357859801 | epot = -10.7322988261735 | etot = -8.13378366588307 +756000 ekin = 1.27251368858831 | erot = 1.21592403404739 | epot = -10.6222213890963 | etot = -8.1337836664606 +757000 ekin = 1.30634776755577 | erot = 1.13861892043144 | epot = -10.5787503559206 | etot = -8.13378366793342 +758000 ekin = 1.37185376249201 | erot = 1.0735107377254 | epot = -10.5791481697082 | etot = -8.1337836694908 +759000 ekin = 1.44617278826226 | erot = 1.01897341844238 | epot = -10.5989298771843 | etot = -8.13378367047969 +760000 ekin = 1.51270256474667 | erot = 0.973207034231458 | epot = -10.6196932700991 | etot = -8.13378367112099 +761000 ekin = 1.56039612698439 | erot = 0.934439072339188 | epot = -10.6286188703577 | etot = -8.13378367103413 +762000 ekin = 1.58948756760659 | erot = 0.901622731991555 | epot = -10.6248939700583 | etot = -8.13378367046012 +763000 ekin = 1.60810008599209 | erot = 0.874391507900133 | epot = -10.6162752635686 | etot = -8.13378366967635 +764000 ekin = 1.62768531420419 | erot = 0.852689319812726 | epot = -10.6141583029822 | etot = -8.13378366896532 +765000 ekin = 1.65693698087077 | erot = 0.836745239166437 | epot = -10.6274658896172 | etot = -8.13378366957998 +766000 ekin = 1.70304081020932 | erot = 0.827639758125284 | epot = -10.6644642390852 | etot = -8.13378367075062 +767000 ekin = 1.76603010803272 | erot = 0.819745786965237 | epot = -10.7195595663275 | etot = -8.13378367132959 +768000 ekin = 1.83976621726717 | erot = 0.813915606792437 | epot = -10.7874654957648 | etot = -8.13378367170522 +769000 ekin = 1.91953928654938 | erot = 0.809315266629025 | epot = -10.8626382251792 | etot = -8.13378367200083 +770000 ekin = 2.00068337350057 | erot = 0.805269377227097 | epot = -10.9397364229589 | etot = -8.13378367223121 +771000 ekin = 2.0793260708523 | erot = 0.801470015569381 | epot = -11.0145797587935 | etot = -8.13378367237182 +772000 ekin = 2.1521825875434 | erot = 0.797728511870749 | epot = -11.0836947719903 | etot = -8.13378367257613 +773000 ekin = 2.21516346365885 | erot = 0.79376993219047 | epot = -11.1427170687754 | etot = -8.13378367292605 +774000 ekin = 2.26234547293474 | erot = 0.789120208349194 | epot = -11.1852493546944 | etot = -8.13378367341045 +775000 ekin = 2.28747439993112 | erot = 0.782940858144436 | epot = -11.2041989315872 | etot = -8.1337836735116 +776000 ekin = 2.28487294049721 | erot = 0.774236455855788 | epot = -11.1928930694262 | etot = -8.1337836730732 +777000 ekin = 2.25459623252881 | erot = 0.763986238623204 | epot = -11.1523661446638 | etot = -8.13378367351182 +778000 ekin = 2.19483848045462 | erot = 0.752926118502415 | epot = -11.0815482726156 | etot = -8.1337836736586 +779000 ekin = 2.10207554485975 | erot = 0.741428699363432 | epot = -10.977287917923 | etot = -8.13378367369983 +780000 ekin = 1.97507844670437 | erot = 0.730439747684415 | epot = -10.839301867892 | etot = -8.13378367350323 +781000 ekin = 1.81624237988655 | erot = 0.720681720747203 | epot = -10.6707077732028 | etot = -8.13378367256909 +782000 ekin = 1.63737679993151 | erot = 0.713965531378914 | epot = -10.4851260027838 | etot = -8.13378367147338 +783000 ekin = 1.45327094395388 | erot = 0.712334775546466 | epot = -10.299389389848 | etot = -8.13378367034762 +784000 ekin = 1.27931304186831 | erot = 0.717795316557748 | epot = -10.1308920277526 | etot = -8.13378366932659 +785000 ekin = 1.12953341827248 | erot = 0.732133377047915 | epot = -9.99545046385378 | etot = -8.13378366853338 +786000 ekin = 1.01482431815091 | erot = 0.756760281199438 | epot = -9.90536826740749 | etot = -8.13378366805715 +787000 ekin = 0.941643963920365 | erot = 0.792599099784704 | epot = -9.86802673163984 | etot = -8.13378366793477 +788000 ekin = 0.911510796402161 | erot = 0.840020856539554 | epot = -9.88531532108117 | etot = -8.13378366813946 +789000 ekin = 0.921376349382508 | erot = 0.898827357286732 | epot = -9.9539873752705 | etot = -8.13378366860126 +790000 ekin = 0.964654482904705 | erot = 0.968273092072525 | epot = -10.0667112442043 | etot = -8.13378366922705 +791000 ekin = 1.03261133422105 | erot = 1.04710148107955 | epot = -10.2134964852264 | etot = -8.13378366992578 +792000 ekin = 1.11580285051107 | erot = 1.13356945354994 | epot = -10.3831559746686 | etot = -8.13378367060757 +793000 ekin = 1.20528065130039 | erot = 1.22546277763586 | epot = -10.5645271001932 | etot = -8.13378367125697 +794000 ekin = 1.29310700791179 | erot = 1.32020213137025 | epot = -10.7470928111131 | etot = -8.13378367183103 +795000 ekin = 1.37238467376563 | erot = 1.41513363966636 | epot = -10.9213019889784 | etot = -8.13378367554645 +796000 ekin = 1.40835913094464 | erot = 1.52971390309507 | epot = -11.0718567046913 | etot = -8.13378367065162 +797000 ekin = 1.45167190325502 | erot = 1.62512604237465 | epot = -11.2105816179835 | etot = -8.1337836723538 +798000 ekin = 1.48145722831986 | erot = 1.70064689495533 | epot = -11.3158877957562 | etot = -8.13378367248102 +799000 ekin = 1.49559633326916 | erot = 1.76394329939395 | epot = -11.3933233050878 | etot = -8.13378367242471 +800000 ekin = 1.49744893756291 | erot = 1.81327291257607 | epot = -11.4445055223126 | etot = -8.13378367217361 +801000 ekin = 1.4925127928165 | erot = 1.84780559274298 | epot = -11.4741020572645 | etot = -8.13378367170498 +802000 ekin = 1.48820480026872 | erot = 1.86779013865565 | epot = -11.4897786100407 | etot = -8.13378367111629 +803000 ekin = 1.49253566038604 | erot = 1.87451451169078 | epot = -11.5008338426672 | etot = -8.13378367059038 +804000 ekin = 1.5116603542654 | erot = 1.86997050314383 | epot = -11.5154145277467 | etot = -8.13378367033752 +805000 ekin = 1.54725262768863 | erot = 1.85635941634179 | epot = -11.5373957145262 | etot = -8.13378367049577 +806000 ekin = 1.59533620631248 | erot = 1.83572111155184 | epot = -11.5648409885109 | etot = -8.13378367064658 +807000 ekin = 1.6492567216019 | erot = 1.81037056529609 | epot = -11.5934109582812 | etot = -8.13378367138325 +808000 ekin = 1.69787116905193 | erot = 1.78132459588751 | epot = -11.6129794370381 | etot = -8.13378367209867 +809000 ekin = 1.73004744223407 | erot = 1.74897468678149 | epot = -11.6128058015999 | etot = -8.13378367258439 +810000 ekin = 1.73831051792634 | erot = 1.71353607858809 | epot = -11.5856302702831 | etot = -8.13378367376865 +811000 ekin = 1.71623548890969 | erot = 1.67428462342296 | epot = -11.5243037858513 | etot = -8.13378367351866 +812000 ekin = 1.66416936448352 | erot = 1.63115164436062 | epot = -11.4291046816975 | etot = -8.13378367285341 +813000 ekin = 1.59176171306476 | erot = 1.5851340624486 | epot = -11.3106794473577 | etot = -8.13378367184436 +814000 ekin = 1.51369575694116 | erot = 1.53752063412976 | epot = -11.185000061704 | etot = -8.13378367063305 +815000 ekin = 1.4473542138359 | erot = 1.48989097526249 | epot = -11.071028858532 | etot = -8.13378366943365 +816000 ekin = 1.40949972401625 | erot = 1.44406671643194 | epot = -10.9873501089399 | etot = -8.13378366849166 +817000 ekin = 1.41268037624944 | erot = 1.40200084694995 | epot = -10.9484648912197 | etot = -8.13378366802026 +818000 ekin = 1.46212175583528 | erot = 1.36558649857364 | epot = -10.9614919225423 | etot = -8.13378366813339 +819000 ekin = 1.55434977589193 | erot = 1.33645466073199 | epot = -11.0245881053519 | etot = -8.13378366872802 +820000 ekin = 1.67879137040365 | erot = 1.3159014691983 | epot = -11.1284765091853 | etot = -8.13378366958337 +821000 ekin = 1.8210793588883 | erot = 1.30489182429338 | epot = -11.2597548536272 | etot = -8.13378367044556 +822000 ekin = 1.95294466894243 | erot = 1.31620699056062 | epot = -11.4029353290708 | etot = -8.13378366956775 +823000 ekin = 2.07449183352999 | erot = 1.34466437750312 | epot = -11.5529398817757 | etot = -8.13378367074255 +824000 ekin = 2.19907919152842 | erot = 1.36469015595358 | epot = -11.6975530184672 | etot = -8.13378367098524 +825000 ekin = 2.30563380779614 | erot = 1.39476757325172 | epot = -11.8341850522566 | etot = -8.13378367120878 +826000 ekin = 2.39103700978203 | erot = 1.43354131807091 | epot = -11.9583619996733 | etot = -8.13378367182033 +827000 ekin = 2.44908730472448 | erot = 1.47824975058638 | epot = -12.0611207277197 | etot = -8.1337836724088 +828000 ekin = 2.47400495228172 | erot = 1.52536858827836 | epot = -12.1331572136283 | etot = -8.13378367306817 +829000 ekin = 2.46026919562926 | erot = 1.57083290009567 | epot = -12.1648857693273 | etot = -8.13378367360242 +830000 ekin = 2.40417117584961 | erot = 1.61070673330611 | epot = -12.1486615829487 | etot = -8.13378367379299 +831000 ekin = 2.30626797420833 | erot = 1.64206892730812 | epot = -12.082120574964 | etot = -8.13378367344755 +832000 ekin = 2.17314973498884 | erot = 1.66378895298214 | epot = -11.9707223605709 | etot = -8.13378367259988 +833000 ekin = 2.01667883041885 | erot = 1.67684011561105 | epot = -11.8273026174356 | etot = -8.13378367140569 +834000 ekin = 1.85232718484326 | erot = 1.6837083286893 | epot = -11.669819183625 | etot = -8.13378367009244 +835000 ekin = 1.69616282533365 | erot = 1.68768571743463 | epot = -11.5176322118581 | etot = -8.13378366908985 +836000 ekin = 1.56059049333663 | erot = 1.6917613599148 | epot = -11.3861355306928 | etot = -8.13378367744136 +837000 ekin = 1.46494691499539 | erot = 1.67922598579464 | epot = -11.2779565658979 | etot = -8.13378366510789 +838000 ekin = 1.41623376476066 | erot = 1.68359587919538 | epot = -11.2336133182129 | etot = -8.13378367425683 +839000 ekin = 1.38164226028356 | erot = 1.69827238726399 | epot = -11.2136983221637 | etot = -8.13378367461619 +840000 ekin = 1.37281419732257 | erot = 1.71791872241606 | epot = -11.2245165948427 | etot = -8.13378367510411 +841000 ekin = 1.38251849215683 | erot = 1.74222357837012 | epot = -11.2585257461201 | etot = -8.13378367559319 +842000 ekin = 1.40440815973695 | erot = 1.77053653190186 | epot = -11.3087283676889 | etot = -8.13378367605013 +843000 ekin = 1.4328888997214 | erot = 1.80208713637578 | epot = -11.3687597125817 | etot = -8.13378367648452 +844000 ekin = 1.46337505878993 | erot = 1.83581425244069 | epot = -11.4329729881578 | etot = -8.13378367692717 +845000 ekin = 1.49225139044737 | erot = 1.87011931167681 | epot = -11.4961543795242 | etot = -8.13378367739996 +846000 ekin = 1.51675477556962 | erot = 1.90271354946231 | epot = -11.5532520029064 | etot = -8.13378367787448 +847000 ekin = 1.53514567668399 | erot = 1.93076451195713 | epot = -11.5996938668658 | etot = -8.13378367822471 +848000 ekin = 1.54758817225819 | erot = 1.95149729791815 | epot = -11.6328691484332 | etot = -8.13378367825685 +849000 ekin = 1.55740275371988 | erot = 1.96313933264541 | epot = -11.6543257642248 | etot = -8.13378367785951 +850000 ekin = 1.57132389451444 | erot = 1.9657229907227 | epot = -11.6708305624224 | etot = -8.13378367718527 +851000 ekin = 1.59707563447027 | erot = 1.96110149868453 | epot = -11.6919608097966 | etot = -8.13378367664177 +852000 ekin = 1.6386535077721 | erot = 1.95197424577221 | epot = -11.72441143022 | etot = -8.13378367667571 +853000 ekin = 1.69191652752201 | erot = 1.94037118765013 | epot = -11.7660713926443 | etot = -8.13378367747215 +854000 ekin = 1.74370784077224 | erot = 1.92645693844536 | epot = -11.803948457929 | etot = -8.13378367871136 +855000 ekin = 1.77620146887526 | erot = 1.90847432039789 | epot = -11.8184594692267 | etot = -8.13378367995357 +856000 ekin = 1.7743327314448 | erot = 1.88315818008924 | epot = -11.791274592039 | etot = -8.13378368050492 +857000 ekin = 1.73346273135248 | erot = 1.84735528731315 | epot = -11.714601698667 | etot = -8.1337836800014 +858000 ekin = 1.6631790333149 | erot = 1.79946643687439 | epot = -11.596429148727 | etot = -8.13378367853774 +859000 ekin = 1.58513293510716 | erot = 1.74007953867264 | epot = -11.4589961504007 | etot = -8.13378367662088 +860000 ekin = 1.5258194179029 | erot = 1.67168470765396 | epot = -11.3312878004617 | etot = -8.13378367490488 +861000 ekin = 1.50775028734954 | erot = 1.59782760931762 | epot = -11.239361570536 | etot = -8.13378367386888 +862000 ekin = 1.54306866378402 | erot = 1.52225954428065 | epot = -11.1991118817142 | etot = -8.13378367364952 +863000 ekin = 1.63171594681372 | erot = 1.44845127744695 | epot = -11.2139508983507 | etot = -8.13378367408998 +864000 ekin = 1.7636787077053 | erot = 1.37946094070234 | epot = -11.2769233233229 | etot = -8.1337836749153 +865000 ekin = 1.92306453040411 | erot = 1.31796433767429 | epot = -11.3748125439504 | etot = -8.13378367587202 +866000 ekin = 2.09215456445401 | erot = 1.2662892603518 | epot = -11.4922275013692 | etot = -8.13378367656337 +867000 ekin = 2.25558706712198 | erot = 1.22649711170717 | epot = -11.6158678561259 | etot = -8.13378367729673 +868000 ekin = 2.40057443662018 | erot = 1.2001770656327 | epot = -11.7345351800524 | etot = -8.1337836777995 +869000 ekin = 2.51819395293292 | erot = 1.18842551948431 | epot = -11.8404031504931 | etot = -8.13378367807583 +870000 ekin = 2.60380767700172 | erot = 1.19178595681351 | epot = -11.9293773120374 | etot = -8.13378367822217 +871000 ekin = 2.65597330603714 | erot = 1.21008900143108 | epot = -11.999845985796 | etot = -8.13378367832775 +872000 ekin = 2.67413391847168 | erot = 1.24223617431289 | epot = -12.0501537715192 | etot = -8.13378367873459 +873000 ekin = 2.65523813387417 | erot = 1.28590823732328 | epot = -12.0749300505625 | etot = -8.13378367936499 +874000 ekin = 2.59426343785597 | erot = 1.3376962816123 | epot = -12.0657433994964 | etot = -8.13378368002815 +875000 ekin = 2.48661885040575 | erot = 1.39359938744305 | epot = -12.0140019182113 | etot = -8.13378368036251 +876000 ekin = 2.33257163439157 | erot = 1.44985984501243 | epot = -11.9162151594034 | etot = -8.13378367999943 +877000 ekin = 2.14151731710631 | erot = 1.50380376796496 | epot = -11.7791047639004 | etot = -8.13378367882911 +878000 ekin = 1.93283200474647 | erot = 1.55419737713025 | epot = -11.6208130590663 | etot = -8.1337836771896 +879000 ekin = 1.73117573728214 | erot = 1.60084517505821 | epot = -11.4658045880898 | etot = -8.13378367574944 +880000 ekin = 1.55787151426872 | erot = 1.64373016601548 | epot = -11.3353853553398 | etot = -8.13378367505562 +881000 ekin = 1.42384142259606 | erot = 1.68244604662897 | epot = -11.2400711443575 | etot = -8.13378367513249 +882000 ekin = 1.32893688605674 | erot = 1.71640874279729 | epot = -11.1791293044113 | etot = -8.13378367555726 +883000 ekin = 1.26714280224094 | erot = 1.74554143027494 | epot = -11.1464679082473 | etot = -8.13378367573147 +884000 ekin = 1.23268823959077 | erot = 1.77071758387158 | epot = -11.1371894994132 | etot = -8.13378367595084 +885000 ekin = 1.2200884959747 | erot = 1.79312166820982 | epot = -11.1469938402947 | etot = -8.13378367611014 +886000 ekin = 1.2253247992956 | erot = 1.81382116029493 | epot = -11.1729296358337 | etot = -8.13378367624318 +887000 ekin = 1.24494548116712 | erot = 1.83336039623945 | epot = -11.2120895538739 | etot = -8.13378367646731 +888000 ekin = 1.27500212888999 | erot = 1.85168867098856 | epot = -11.2604744766324 | etot = -8.13378367675389 +889000 ekin = 1.31152735227747 | erot = 1.86844690127931 | epot = -11.3137579306641 | etot = -8.13378367710729 +890000 ekin = 1.34986317553329 | erot = 1.88304641058093 | epot = -11.3666932636424 | etot = -8.1337836775282 +891000 ekin = 1.3839053046424 | erot = 1.89468392913635 | epot = -11.4123729118684 | etot = -8.13378367808963 +892000 ekin = 1.40569396013053 | erot = 1.90226748652322 | epot = -11.4417451256677 | etot = -8.13378367901394 +893000 ekin = 1.40448288986801 | erot = 1.90432470778369 | epot = -11.4425912773581 | etot = -8.1337836797064 +894000 ekin = 1.37144289403929 | erot = 1.89954369049505 | epot = -11.4047702645262 | etot = -8.13378367999191 +895000 ekin = 1.30348485930664 | erot = 1.88750422983047 | epot = -11.3247727653154 | etot = -8.13378367617827 +896000 ekin = 1.22187337029835 | erot = 1.87071061670689 | epot = -11.2263676625211 | etot = -8.1337836755159 +897000 ekin = 1.14754845825448 | erot = 1.85263803839011 | epot = -11.1339701711517 | etot = -8.13378367450711 +898000 ekin = 1.08944016694904 | erot = 1.83653761327092 | epot = -11.0597614541448 | etot = -8.13378367392484 +899000 ekin = 1.05403951209273 | erot = 1.82413022625773 | epot = -11.011953411943 | etot = -8.13378367359249 +900000 ekin = 1.0450020339404 | erot = 1.81619426313996 | epot = -10.9949799706824 | etot = -8.13378367360205 +901000 ekin = 1.06222206974345 | erot = 1.8123440307995 | epot = -11.00834977447 | etot = -8.13378367392702 +902000 ekin = 1.10209713964134 | erot = 1.81111462891651 | epot = -11.0469954430113 | etot = -8.13378367445343 +903000 ekin = 1.1587603092597 | erot = 1.81037876556507 | epot = -11.1029227498551 | etot = -8.13378367503028 +904000 ekin = 1.22532881870644 | erot = 1.80797942304733 | epot = -11.167091917722 | etot = -8.13378367596823 +905000 ekin = 1.29206809093687 | erot = 1.80250391191856 | epot = -11.2283556793212 | etot = -8.13378367646575 +906000 ekin = 1.35183435800544 | erot = 1.79300035919407 | epot = -11.2786183939573 | etot = -8.13378367675781 +907000 ekin = 1.39979991792567 | erot = 1.77946415980363 | epot = -11.3130477546914 | etot = -8.13378367696207 +908000 ekin = 1.43268044740622 | erot = 1.76253539571741 | epot = -11.3289995201354 | etot = -8.13378367701179 +909000 ekin = 1.44897967288155 | erot = 1.74341748056142 | epot = -11.3261808303301 | etot = -8.1337836768871 +910000 ekin = 1.44937912369356 | erot = 1.7239058043588 | epot = -11.3070686046106 | etot = -8.1337836765582 +911000 ekin = 1.43727653845976 | erot = 1.70617572409734 | epot = -11.2772359386082 | etot = -8.13378367605113 +912000 ekin = 1.41843448457386 | erot = 1.69263823251178 | epot = -11.2448563925333 | etot = -8.13378367544766 +913000 ekin = 1.40006194335826 | erot = 1.68549440996254 | epot = -11.219340028189 | etot = -8.13378367486818 +914000 ekin = 1.38958826340962 | erot = 1.68634774665863 | epot = -11.2097196845425 | etot = -8.13378367447423 +915000 ekin = 1.39244841715371 | erot = 1.69595180443263 | epot = -11.2221838960024 | etot = -8.13378367441611 +916000 ekin = 1.41015014542681 | erot = 1.71401831969293 | epot = -11.2579521398906 | etot = -8.13378367477087 +917000 ekin = 1.43929629472159 | erot = 1.73916764013911 | epot = -11.3122476103546 | etot = -8.13378367549387 +918000 ekin = 1.47227942648434 | erot = 1.76903078852711 | epot = -11.3750938914124 | etot = -8.13378367640095 +919000 ekin = 1.49986621630205 | erot = 1.80052098852101 | epot = -11.4341708820097 | etot = -8.13378367718661 +920000 ekin = 1.51501277028694 | erot = 1.83027923246248 | epot = -11.4790756803414 | etot = -8.13378367759202 +921000 ekin = 1.50567012615991 | erot = 1.85806253090208 | epot = -11.4975163339096 | etot = -8.13378367684761 +922000 ekin = 1.50530570245739 | erot = 1.88405749181968 | epot = -11.5231468708985 | etot = -8.13378367662144 +923000 ekin = 1.51005072244233 | erot = 1.89398296760205 | epot = -11.5378173658999 | etot = -8.1337836758555 +924000 ekin = 1.52928061195711 | erot = 1.89561779694766 | epot = -11.5586820843414 | etot = -8.13378367543667 +925000 ekin = 1.56873673302537 | erot = 1.88910082632994 | epot = -11.5916212350735 | etot = -8.13378367571823 +926000 ekin = 1.62371911834086 | erot = 1.8742965074208 | epot = -11.6317993024452 | etot = -8.13378367668352 +927000 ekin = 1.6795236866305 | erot = 1.85068760891983 | epot = -11.6639949735082 | etot = -8.1337836779579 +928000 ekin = 1.71651231952588 | erot = 1.81783745817294 | epot = -11.6681334567321 | etot = -8.13378367903323 +929000 ekin = 1.71702543069574 | erot = 1.77614095715146 | epot = -11.6269500673553 | etot = -8.13378367950806 +930000 ekin = 1.67099557389431 | erot = 1.72742889140267 | epot = -11.5322081445003 | etot = -8.13378367920327 +931000 ekin = 1.57874462156784 | erot = 1.67513458192321 | epot = -11.3876628816592 | etot = -8.13378367816811 +932000 ekin = 1.45079207958407 | erot = 1.62392798648941 | epot = -11.2085037426999 | etot = -8.1337836766264 +933000 ekin = 1.30531755780527 | erot = 1.57894109373394 | epot = -11.0180423264354 | etot = -8.13378367489618 +934000 ekin = 1.16422088428368 | erot = 1.544858025167 | epot = -10.8428625827474 | etot = -8.13378367329673 +935000 ekin = 1.04864497491883 | erot = 1.52509208962212 | epot = -10.7075207367029 | etot = -8.13378367216191 +936000 ekin = 0.974709277892456 | erot = 1.52116327886444 | epot = -10.6296562284413 | etot = -8.13378367168442 +937000 ekin = 0.950462282699206 | erot = 1.53244919527065 | epot = -10.6166951499291 | etot = -8.13378367195924 +938000 ekin = 0.97442129434101 | erot = 1.55616007066893 | epot = -10.6643650379523 | etot = -8.13378367294238 +939000 ekin = 1.03606886860143 | erot = 1.5875544961391 | epot = -10.7574070391953 | etot = -8.13378367445473 +940000 ekin = 1.11826841072441 | erot = 1.62042989086924 | epot = -10.87248197779 | etot = -8.13378367619637 +941000 ekin = 1.20122028646586 | erot = 1.64794232140889 | epot = -10.9829462856615 | etot = -8.1337836777867 +942000 ekin = 1.26717763757466 | erot = 1.66371923923732 | epot = -11.0646805556957 | etot = -8.1337836788837 +943000 ekin = 1.30509212517541 | erot = 1.66314531275945 | epot = -11.1020211170585 | etot = -8.1337836791236 +944000 ekin = 1.31392377909568 | erot = 1.6444967095031 | epot = -11.0922041671166 | etot = -8.13378367851778 +945000 ekin = 1.30237464447606 | erot = 1.60929976289052 | epot = -11.0454580847159 | etot = -8.1337836773493 +946000 ekin = 1.28506402487981 | erot = 1.56181036971556 | epot = -10.9806580707093 | etot = -8.13378367611393 +947000 ekin = 1.27634123210311 | erot = 1.50774431650837 | epot = -10.9178692238925 | etot = -8.13378367528105 +948000 ekin = 1.28467886299738 | erot = 1.45281196885876 | epot = -10.8712745069228 | etot = -8.13378367506665 +949000 ekin = 1.31037739903363 | erot = 1.40157240203181 | epot = -10.8457334764408 | etot = -8.13378367537539 +950000 ekin = 1.34722619695783 | erot = 1.35688689444993 | epot = -10.8378967673358 | etot = -8.13378367592802 +951000 ekin = 1.38650860370093 | erot = 1.31991933135893 | epot = -10.840211611492 | etot = -8.13378367643213 +952000 ekin = 1.42144708622155 | erot = 1.29081153506588 | epot = -10.8460422979201 | etot = -8.13378367663271 +953000 ekin = 1.44882630051411 | erot = 1.26905801196778 | epot = -10.8516679892333 | etot = -8.13378367675142 +954000 ekin = 1.46839021254268 | erot = 1.25288009220816 | epot = -10.8550539813261 | etot = -8.13378367657522 +955000 ekin = 1.48389177673435 | erot = 1.24071489184941 | epot = -10.8583903448629 | etot = -8.13378367627912 +956000 ekin = 1.50041047770887 | erot = 1.23152279657232 | epot = -10.8657169503619 | etot = -8.1337836760807 +957000 ekin = 1.52124212852808 | erot = 1.22481047930208 | epot = -10.8798362839283 | etot = -8.13378367609813 +958000 ekin = 1.54632228543432 | erot = 1.22051885841469 | epot = -10.9006248201102 | etot = -8.13378367626118 +959000 ekin = 1.57324295423106 | erot = 1.21891910094093 | epot = -10.9259457315457 | etot = -8.13378367637367 +960000 ekin = 1.5996920706753 | erot = 1.22060655686446 | epot = -10.9540823039303 | etot = -8.13378367639055 +961000 ekin = 1.62253441756759 | erot = 1.22677323061705 | epot = -10.9830913244504 | etot = -8.13378367626578 +962000 ekin = 1.64127229965138 | erot = 1.23851880733041 | epot = -11.0135747831078 | etot = -8.13378367612602 +963000 ekin = 1.65616191357312 | erot = 1.25678968713549 | epot = -11.0467352768565 | etot = -8.13378367614791 +964000 ekin = 1.66566514829256 | erot = 1.28218253594424 | epot = -11.0816313604864 | etot = -8.13378367624964 +965000 ekin = 1.66770285490424 | erot = 1.31455464366941 | epot = -11.1160411751496 | etot = -8.13378367657597 +966000 ekin = 1.65810694994359 | erot = 1.35314679688918 | epot = -11.1450374236447 | etot = -8.13378367681196 +967000 ekin = 1.63401913713073 | erot = 1.39653020198003 | epot = -11.1643330160459 | etot = -8.13378367693513 +968000 ekin = 1.59493850339227 | erot = 1.442540965575 | epot = -11.1712631460351 | etot = -8.1337836770678 +969000 ekin = 1.54116623821902 | erot = 1.4883056650043 | epot = -11.1632555805643 | etot = -8.13378367734103 +970000 ekin = 1.47195250910058 | erot = 1.53048570994046 | epot = -11.1362218967524 | etot = -8.13378367771134 +971000 ekin = 1.38571362870499 | erot = 1.56593199123071 | epot = -11.0854292975477 | etot = -8.13378367761201 +972000 ekin = 1.28446124437413 | erot = 1.59277024233188 | epot = -11.0110151641592 | etot = -8.13378367745316 +973000 ekin = 1.17320809137327 | erot = 1.61049478627213 | epot = -10.9174865543348 | etot = -8.13378367668943 +974000 ekin = 1.06313421977885 | erot = 1.62023440757555 | epot = -10.817152302779 | etot = -8.13378367542463 +975000 ekin = 0.970987630503308 | erot = 1.62445058039491 | epot = -10.7292218849975 | etot = -8.13378367409932 +976000 ekin = 0.91351783525621 | erot = 1.62592320944562 | epot = -10.6732247179988 | etot = -8.13378367329698 +977000 ekin = 0.90021029821643 | erot = 1.62660680659273 | epot = -10.6606007781862 | etot = -8.13378367337705 +978000 ekin = 0.928774959207787 | erot = 1.62702792797415 | epot = -10.6895865614336 | etot = -8.13378367425169 +979000 ekin = 0.986309689641714 | erot = 1.62661906061945 | epot = -10.7467124256161 | etot = -8.1337836753549 +980000 ekin = 1.05604184570295 | erot = 1.62477777568304 | epot = -10.8146032975143 | etot = -8.13378367612831 +981000 ekin = 1.12469745200008 | erot = 1.62193499771681 | epot = -10.8804161260049 | etot = -8.13378367628802 +982000 ekin = 1.1865542248926 | erot = 1.61989865345784 | epot = -10.9402365542545 | etot = -8.13378367590405 +983000 ekin = 1.2432339331634 | erot = 1.62138932755866 | epot = -10.9984069359734 | etot = -8.13378367525139 +984000 ekin = 1.30072892332128 | erot = 1.62917854604782 | epot = -11.0636911439975 | etot = -8.13378367462839 +985000 ekin = 1.36575798919194 | erot = 1.64530549573791 | epot = -11.1448471591936 | etot = -8.13378367426372 +986000 ekin = 1.44269014525417 | erot = 1.67060135307792 | epot = -11.2470751726359 | etot = -8.13378367430377 +987000 ekin = 1.53139017761193 | erot = 1.70450616333784 | epot = -11.3696800157676 | etot = -8.13378367481778 +988000 ekin = 1.62542517056574 | erot = 1.74490462881329 | epot = -11.5041134752362 | etot = -8.13378367585715 +989000 ekin = 1.70973314425248 | erot = 1.78758053917274 | epot = -11.6310973606104 | etot = -8.1337836771852 +990000 ekin = 1.7683499066011 | erot = 1.82854801036223 | epot = -11.730681595349 | etot = -8.13378367838571 +991000 ekin = 1.78717585158857 | erot = 1.86445265737343 | epot = -11.7854121880384 | etot = -8.1337836790764 +992000 ekin = 1.75808068891151 | erot = 1.8934494734163 | epot = -11.7853138413634 | etot = -8.13378367903559 +993000 ekin = 1.68149922501318 | erot = 1.91587779110949 | epot = -11.7311606944026 | etot = -8.13378367827992 +994000 ekin = 1.56634005341962 | erot = 1.93428820717938 | epot = -11.6344119375849 | etot = -8.1337836769859 +995000 ekin = 1.42807354858172 | erot = 1.95281321369039 | epot = -11.5146704376883 | etot = -8.13378367541617 +996000 ekin = 1.28578074178168 | erot = 1.9761437456925 | epot = -11.3957081613606 | etot = -8.13378367388646 +997000 ekin = 1.15849050407734 | erot = 2.00849321115735 | epot = -11.3007673879136 | etot = -8.13378367267886 +998000 ekin = 1.06172554694373 | erot = 2.05288173933644 | epot = -11.2483909582305 | etot = -8.13378367195033 +999000 ekin = 1.00534863803133 | erot = 2.11083351367153 | epot = -11.2499658234416 | etot = -8.13378367173879 +1000000 ekin = 0.992888352708612 | erot = 2.18232107086661 | epot = -11.3089930956005 | etot = -8.13378367202523 + 1000000 0.073547285 -1.1520387 0.021139403 -1.0316105 -4.7686302e-05 64000 +Loop time of 13.2492 on 4 procs for 1000000 steps with 10 atoms + +Performance: 65211.686 tau/day, 75476.489 timesteps/s +99.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 | 6.234 | 7.2237 | 8.1618 | 32.7 | 54.52 +Bond | 0.27885 | 0.32412 | 0.37417 | 6.6 | 2.45 +Neigh | 0.006904 | 0.0069348 | 0.006978 | 0.0 | 0.05 +Comm | 1.795 | 1.9335 | 2.0915 | 8.3 | 14.59 +Output | 0.079751 | 0.082404 | 0.086249 | 0.8 | 0.62 +Modify | 0.58647 | 0.6283 | 0.66943 | 4.6 | 4.74 +Other | | 3.05 | | | 23.02 + +Nlocal: 2.50000 ave 3 max 2 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Nghost: 7.50000 ave 8 max 7 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Neighs: 17.5000 ave 21 max 14 min +Histogram: 1 1 0 0 0 0 0 0 1 1 + +Total # of neighbors = 70 +Ave neighs/atom = 7.0000000 +Ave special neighs/atom = 3.6000000 +Neighbor list builds = 1000 +Dangerous builds = 0 + +write_data last_config.${number}.* nocoeff +write_data last_config.3.* nocoeff +System init for write_data ... +Total wall time: 0:00:13 diff --git a/examples/PACKAGES/cgdna/examples/oxDNA2/duplex3/log.30Jun20.duplex3.g++.1 b/examples/PACKAGES/cgdna/examples/oxDNA2/duplex3/log.30Jun20.duplex3.g++.1 deleted file mode 100644 index 77a368a50b..0000000000 --- a/examples/PACKAGES/cgdna/examples/oxDNA2/duplex3/log.30Jun20.duplex3.g++.1 +++ /dev/null @@ -1,1182 +0,0 @@ -LAMMPS (30 Jun 2020) -variable number equal 3 -variable ofreq equal 1000 -variable efreq equal 1000 -variable T equal 0.1 - -units lj - -dimension 3 - -newton off - -boundary p p p - -atom_style hybrid bond ellipsoid -WARNING: Atom_style hybrid defines both pertype and peratom masses - both must be set, only peratom masses will be used (../atom_vec_hybrid.cpp:156) -atom_modify sort 0 1.0 - -# Pair interactions require lists of neighbours to be calculated -neighbor 1.0 bin -neigh_modify every 1 delay 0 check yes - -read_data data.duplex3 - orthogonal box = (-20 -20 -20) to (20 20 20) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 10 atoms - reading velocities ... - 10 velocities - 10 ellipsoids - scanning bonds ... - 2 = max bonds/atom - reading bonds ... - 8 bonds - 2 = max # of 1-2 neighbors - 2 = max # of 1-3 neighbors - 2 = max # of 1-4 neighbors - 4 = max # of special neighbors - special bonds CPU = 0.000 seconds - read_data CPU = 0.002 seconds - -set atom * mass 1.0 - 10 settings made for mass - -group all type 1 4 -10 atoms in group all - -# oxDNA2 bond interactions - FENE backbone -bond_style oxdna2/fene -bond_coeff * 2.0 0.25 0.7564 -special_bonds lj 0 1 1 - 2 = max # of 1-2 neighbors - 2 = max # of 1-3 neighbors - 2 = max # of 1-4 neighbors - 4 = max # of special neighbors - special bonds CPU = 0.000 seconds - -# oxDNA2 pair interactions -pair_style hybrid/overlay oxdna2/excv oxdna2/stk oxdna2/hbond oxdna2/xstk oxdna2/coaxstk oxdna2/dh -pair_coeff * * oxdna2/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32 -pair_coeff * * oxdna2/stk seqdep ${T} 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 -pair_coeff * * oxdna2/stk seqdep 0.1 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 -pair_coeff * * oxdna2/hbond seqdep 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 1 4 oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 2 3 oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff * * oxdna2/xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68 -pair_coeff * * oxdna2/coaxstk 58.5 0.4 0.6 0.22 0.58 2.0 2.891592653589793 0.65 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 40.0 3.116592653589793 -pair_coeff * * oxdna2/dh ${T} 1.0 0.815 -pair_coeff * * oxdna2/dh 0.1 1.0 0.815 - -# NVE ensemble -fix 1 all nve/dot -#fix 1 all nve/dotc/langevin ${T} ${T} 0.03 457145 angmom 10 -#fix 1 all nve/asphere -#fix 2 all langevin ${T} ${T} 0.03 457145 angmom 10 - -timestep 1e-5 - -#comm_style tiled -#fix 3 all balance 10000 1.1 rcb -comm_modify cutoff 2.5 - -#compute mol all chunk/atom molecule -#compute mychunk all vcm/chunk mol -#fix 4 all ave/time 10000 1 10000 c_mychunk[1] c_mychunk[2] c_mychunk[3] file vcm.txt mode vector - -#dump pos all xyz ${ofreq} traj.${number}.xyz - -#compute quat all property/atom quatw quati quatj quatk -#dump quat all custom ${ofreq} quat.${number}.txt id c_quat[1] c_quat[2] c_quat[3] c_quat[4] -#dump_modify quat sort id -#dump_modify quat format line "%d %13.6le %13.6le %13.6le %13.6le" - -compute erot all erotate/asphere -compute ekin all ke -compute epot all pe -variable erot equal c_erot -variable ekin equal c_ekin -variable epot equal c_epot -variable etot equal c_erot+c_ekin+c_epot -fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes -fix 5 all print 1000 "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes - -#dump out all custom ${ofreq} out.${number}.txt id x y z vx vy vz fx fy fz tqx tqy tqz -#dump_modify out sort id -#dump_modify out format line "%d %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le" - -run 1000000 -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.6274048 - ghost atom cutoff = 2.6274048 - binsize = 1.3137024, bins = 31 31 31 - 6 neighbor lists, perpetual/occasional/extra = 6 0 0 - (1) pair oxdna2/excv, perpetual - attributes: half, newton off - pair build: half/bin/newtoff - stencil: half/bin/3d/newtoff - bin: standard - (2) pair oxdna2/stk, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (3) pair oxdna2/hbond, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (4) pair oxdna2/xstk, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (5) pair oxdna2/coaxstk, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (6) pair oxdna2/dh, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none -WARNING: Communication cutoff adjusted to 2.627404783947349 (../comm.cpp:690) -0 ekin = 0 | erot = 0 | epot = -14.6249037416652 | etot = -14.6249037416652 -Per MPI rank memory allocation (min/avg/max) = 8.021 | 8.021 | 8.021 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 0 -1.4720158 0.009525411 -1.4624904 3.1370518e-06 -1000 ekin = 0.00366431201929618 | erot = 0.00193726360267488 | epot = -14.630505317301 | etot = -14.624903741679 -2000 ekin = 0.0144775076075466 | erot = 0.00770914672938582 | epot = -14.6470903960565 | etot = -14.6249037417196 -3000 ekin = 0.0319122186081549 | erot = 0.0171972328649101 | epot = -14.6740131932573 | etot = -14.6249037417842 -4000 ekin = 0.0551283043509704 | erot = 0.0302085305548002 | epot = -14.7102405767754 | etot = -14.6249037418696 -5000 ekin = 0.0830285165715823 | erot = 0.0464820547541705 | epot = -14.7544143132963 | etot = -14.6249037419705 -6000 ekin = 0.114331121546757 | erot = 0.0656980211282096 | epot = -14.8049328847556 | etot = -14.6249037420806 -7000 ekin = 0.147653866561892 | erot = 0.0874894888755386 | epot = -14.860047097631 | etot = -14.6249037421936 -8000 ekin = 0.181602099560207 | erot = 0.111456095727703 | epot = -14.9179619375911 | etot = -14.6249037423032 -9000 ekin = 0.214852894725919 | erot = 0.137179311245174 | epot = -14.9769359483746 | etot = -14.6249037424035 -10000 ekin = 0.246227151956033 | erot = 0.164238435218395 | epot = -15.0353693296648 | etot = -14.6249037424904 -11000 ekin = 0.274743080419051 | erot = 0.192226420003239 | epot = -15.0918732429829 | etot = -14.6249037425607 -12000 ekin = 0.2996471417657 | erot = 0.220764512146651 | epot = -15.1453153965252 | etot = -14.6249037426128 -13000 ekin = 0.320421918860966 | erot = 0.249514690530541 | epot = -15.1948403520385 | etot = -14.624903742647 -14000 ekin = 0.33677373488436 | erot = 0.27818893373049 | epot = -15.2398664112793 | etot = -14.6249037426645 -15000 ekin = 0.348605413762901 | erot = 0.306554508009418 | epot = -15.2800636644399 | etot = -14.6249037426675 -16000 ekin = 0.355980829097854 | erot = 0.334434770083744 | epot = -15.3153193418402 | etot = -14.6249037426586 -17000 ekin = 0.35908770105941 | erot = 0.361705441666512 | epot = -15.3456968853664 | etot = -14.6249037426405 -18000 ekin = 0.358203710992239 | erot = 0.388286889516313 | epot = -15.3713943431242 | etot = -14.6249037426156 -19000 ekin = 0.353668912555234 | erot = 0.414133518537107 | epot = -15.3927061736788 | etot = -14.6249037425864 -20000 ekin = 0.345865220775291 | erot = 0.439221805285432 | epot = -15.4099907686153 | etot = -14.6249037425546 -21000 ekin = 0.335201981146472 | erot = 0.463538642606515 | epot = -15.4236443662748 | etot = -14.6249037425218 -22000 ekin = 0.322105588834903 | erot = 0.487071492273063 | epot = -15.4340808235971 | etot = -14.6249037424892 -23000 ekin = 0.307010918596165 | erot = 0.509801406229371 | epot = -15.4417160672832 | etot = -14.6249037424577 -24000 ekin = 0.290352786033169 | erot = 0.531699400501692 | epot = -15.446955928963 | etot = -14.6249037424281 -25000 ekin = 0.272556500902037 | erot = 0.552726088759198 | epot = -15.4501863320622 | etot = -14.624903742401 -26000 ekin = 0.254027484079049 | erot = 0.572834017299018 | epot = -15.4517652437547 | etot = -14.6249037423766 -27000 ekin = 0.23514066521633 | erot = 0.591971851501221 | epot = -15.4520162590729 | etot = -14.6249037423553 -28000 ekin = 0.216230835846198 | erot = 0.610089455964333 | epot = -15.4512240341478 | etot = -14.6249037423373 -29000 ekin = 0.197585285158555 | erot = 0.627142960082633 | epot = -15.4496319875635 | etot = -14.6249037423223 -30000 ekin = 0.179439940173318 | erot = 0.643099062793407 | epot = -15.4474427452769 | etot = -14.6249037423102 -31000 ekin = 0.161979935826124 | erot = 0.657938056392308 | epot = -15.4448217345186 | etot = -14.6249037423001 -32000 ekin = 0.145345108983022 | erot = 0.671655297433962 | epot = -15.4419041487086 | etot = -14.6249037422916 -33000 ekin = 0.12964040034519 | erot = 0.684261083518556 | epot = -15.4388052261475 | etot = -14.6249037422838 -34000 ekin = 0.114950474500008 | erot = 0.695779112936504 | epot = -15.4356333297121 | etot = -14.6249037422756 -35000 ekin = 0.10135710346033 | erot = 0.706243888527894 | epot = -15.4325047342544 | etot = -14.6249037422662 -36000 ekin = 0.088957633457107 | erot = 0.715697403164625 | epot = -15.4295587788764 | etot = -14.6249037422546 -37000 ekin = 0.0778817390290652 | erot = 0.72418563863568 | epot = -15.4269711199052 | etot = -14.6249037422404 -38000 ekin = 0.068303709154812 | erot = 0.731755309647473 | epot = -15.4249627610255 | etot = -14.6249037422232 -39000 ekin = 0.0604476327394706 | erot = 0.738451228922909 | epot = -15.4238026038659 | etot = -14.6249037422035 -40000 ekin = 0.0545835914676979 | erot = 0.7443145576821 | epot = -15.4238018913318 | etot = -14.624903742182 -41000 ekin = 0.0510142787133839 | erot = 0.749382063190735 | epot = -15.4253000840641 | etot = -14.6249037421599 -42000 ekin = 0.0500531571157636 | erot = 0.753686350478931 | epot = -15.428643249734 | etot = -14.6249037421393 -43000 ekin = 0.0519969858278391 | erot = 0.757256889238991 | epot = -15.4341576171885 | etot = -14.6249037421217 -44000 ekin = 0.0570968352184469 | erot = 0.760121540481399 | epot = -15.4421221178085 | etot = -14.6249037421087 -45000 ekin = 0.065532155346979 | erot = 0.762308219230476 | epot = -15.4527441166789 | etot = -14.6249037421014 -46000 ekin = 0.077391880036746 | erot = 0.763846321567568 | epot = -15.4661419437049 | etot = -14.6249037421006 -47000 ekin = 0.0926650518887463 | erot = 0.764767599959976 | epot = -15.4823363939546 | etot = -14.6249037421059 -48000 ekin = 0.111241466891021 | erot = 0.76510628368957 | epot = -15.5012514926977 | etot = -14.6249037421171 -49000 ekin = 0.132920935183101 | erot = 0.764898395951945 | epot = -15.5227230732685 | etot = -14.6249037421334 -50000 ekin = 0.157428432862297 | erot = 0.764180392178817 | epot = -15.5465125671951 | etot = -14.624903742154 -51000 ekin = 0.184431879186394 | erot = 0.762987403181186 | epot = -15.5723230245453 | etot = -14.6249037421777 -52000 ekin = 0.213559336999611 | erot = 0.761351471408957 | epot = -15.5998145506125 | etot = -14.6249037422039 -53000 ekin = 0.244412677541745 | erot = 0.759300175100897 | epot = -15.6286165948748 | etot = -14.6249037422322 -54000 ekin = 0.276574826726797 | erot = 0.756855909736049 | epot = -15.6583344787255 | etot = -14.6249037422626 -55000 ekin = 0.30960770869724 | erot = 0.754035838659133 | epot = -15.6885472896526 | etot = -14.6249037422962 -56000 ekin = 0.343038597242155 | erot = 0.750852192167397 | epot = -15.7187945317444 | etot = -14.6249037423348 -57000 ekin = 0.376334705011604 | erot = 0.747312289063754 | epot = -15.7485507364561 | etot = -14.6249037423808 -58000 ekin = 0.408870193943412 | erot = 0.743417624903535 | epot = -15.7771915612832 | etot = -14.6249037424363 -59000 ekin = 0.439895666476021 | erot = 0.739161690570186 | epot = -15.803961099549 | etot = -14.6249037425028 -60000 ekin = 0.468524372325726 | erot = 0.734526514748657 | epot = -15.8279546296536 | etot = -14.6249037425792 -61000 ekin = 0.493750804630799 | erot = 0.729479048550173 | epot = -15.8481335958428 | etot = -14.6249037426618 -62000 ekin = 0.514511417905549 | erot = 0.723968952963015 | epot = -15.8633841136119 | etot = -14.6249037427433 -63000 ekin = 0.529785687820656 | erot = 0.717929490923262 | epot = -15.8726189215586 | etot = -14.6249037428146 -64000 ekin = 0.538722043349821 | erot = 0.711282639870032 | epot = -15.874908426086 | etot = -14.6249037428661 -65000 ekin = 0.540763046401741 | erot = 0.703948378732647 | epot = -15.8696151680245 | etot = -14.6249037428901 -66000 ekin = 0.535742115226795 | erot = 0.69585678068686 | epot = -15.856502638796 | etot = -14.6249037428824 -67000 ekin = 0.523930969354056 | erot = 0.686960578434575 | epot = -15.8357952906315 | etot = -14.6249037428429 -68000 ekin = 0.506029704478054 | erot = 0.677245632040232 | epot = -15.8081790792936 | etot = -14.6249037427753 -69000 ekin = 0.483104826199992 | erot = 0.666737270644537 | epot = -15.774745839531 | etot = -14.6249037426865 -70000 ekin = 0.456490218293252 | erot = 0.655501536743317 | epot = -15.7368954976212 | etot = -14.6249037425847 -71000 ekin = 0.427669918862549 | erot = 0.643641521526345 | epot = -15.6962151828672 | etot = -14.6249037424783 -72000 ekin = 0.398160338931557 | erot = 0.631289876691081 | epot = -15.654353957998 | etot = -14.6249037423754 -73000 ekin = 0.369405258276815 | erot = 0.618599034382849 | epot = -15.6129080349415 | etot = -14.6249037422819 -74000 ekin = 0.342691749042209 | erot = 0.605730669564501 | epot = -15.5733261608092 | etot = -14.6249037422025 -75000 ekin = 0.31909052680686 | erot = 0.59284563490598 | epot = -15.5368399038529 | etot = -14.62490374214 -76000 ekin = 0.299420611427412 | erot = 0.580095163563671 | epot = -15.5044195170868 | etot = -14.6249037420957 -77000 ekin = 0.284235504574989 | erot = 0.567613716752661 | epot = -15.4767529633973 | etot = -14.6249037420697 -78000 ekin = 0.273826140866561 | erot = 0.555513536864305 | epot = -15.454243419792 | etot = -14.6249037420611 -79000 ekin = 0.268234635497613 | erot = 0.54388078034572 | epot = -15.4370191579124 | etot = -14.624903742069 -80000 ekin = 0.267272602906451 | erot = 0.532773036269929 | epot = -15.4249493812687 | etot = -14.6249037420923 -81000 ekin = 0.270538934182559 | erot = 0.522218059775773 | epot = -15.4176607360884 | etot = -14.6249037421301 -82000 ekin = 0.277434574359295 | erot = 0.512213638248342 | epot = -15.4145519547894 | etot = -14.6249037421818 -83000 ekin = 0.287175732620333 | erot = 0.50272864056942 | epot = -15.414808115436 | etot = -14.6249037422462 -84000 ekin = 0.298811175848678 | erot = 0.493705451301681 | epot = -15.4174203694717 | etot = -14.6249037423214 -85000 ekin = 0.311252369949697 | erot = 0.485064122067565 | epot = -15.4212202344211 | etot = -14.6249037424038 -86000 ekin = 0.323325626375984 | erot = 0.476708618161036 | epot = -15.424937987025 | etot = -14.624903742488 -87000 ekin = 0.333851795518747 | erot = 0.468535420697862 | epot = -15.4272909587828 | etot = -14.6249037425662 -88000 ekin = 0.341751109758396 | erot = 0.460444399763919 | epot = -15.427099252152 | etot = -14.6249037426296 -89000 ekin = 0.346159825920001 | erot = 0.452351304178873 | epot = -15.4234148727693 | etot = -14.6249037426704 -90000 ekin = 0.346534667470265 | erot = 0.444200535918399 | epot = -15.4156389460718 | etot = -14.6249037426831 -91000 ekin = 0.342715665475867 | erot = 0.435976333753397 | epot = -15.4035957418967 | etot = -14.6249037426674 -92000 ekin = 0.3349227158513 | erot = 0.427710377227648 | epot = -15.3875368357071 | etot = -14.6249037426282 -93000 ekin = 0.323677844433752 | erot = 0.419484336039963 | epot = -15.3680659230484 | etot = -14.6249037425747 -94000 ekin = 0.30966978292125 | erot = 0.411426964072553 | epot = -15.3460004895119 | etot = -14.6249037425181 -95000 ekin = 0.293600014861622 | erot = 0.403706586473099 | epot = -15.3222103438021 | etot = -14.6249037424674 -96000 ekin = 0.276058284884091 | erot = 0.396520701306161 | epot = -15.2974827286175 | etot = -14.6249037424272 -97000 ekin = 0.25746445629565 | erot = 0.390084510982946 | epot = -15.2724527096753 | etot = -14.6249037423967 -98000 ekin = 0.238086767082953 | erot = 0.384619533405539 | epot = -15.2476100428595 | etot = -14.624903742371 -99000 ekin = 0.218116994125883 | erot = 0.380342481668092 | epot = -15.2233632181382 | etot = -14.6249037423442 -100000 ekin = 0.197764845956536 | erot = 0.377453964065333 | epot = -15.2001225523339 | etot = -14.624903742312 -101000 ekin = 0.177333852671335 | erot = 0.376126621697227 | epot = -15.1783642166414 | etot = -14.6249037422728 -102000 ekin = 0.157255732179445 | erot = 0.376493003927733 | epot = -15.1586524783356 | etot = -14.6249037422284 -103000 ekin = 0.138079925448889 | erot = 0.378634329970018 | epot = -15.1416179976015 | etot = -14.6249037421826 -104000 ekin = 0.120430234291316 | erot = 0.382571791335251 | epot = -15.1279057677665 | etot = -14.6249037421399 -105000 ekin = 0.10494672239352 | erot = 0.388261944551333 | epot = -15.118112409049 | etot = -14.6249037421041 -106000 ekin = 0.0922291289493497 | erot = 0.395597086392468 | epot = -15.11272995742 | etot = -14.6249037420782 -107000 ekin = 0.0827918191991084 | erot = 0.404410579138465 | epot = -15.112106140401 | etot = -14.6249037420634 -108000 ekin = 0.0770336430609741 | erot = 0.414486225075992 | epot = -15.116423610197 | etot = -14.62490374206 -109000 ekin = 0.075221312117861 | erot = 0.425570202879186 | epot = -15.1256952570646 | etot = -14.6249037420675 -110000 ekin = 0.0774826364247882 | erot = 0.437383858086522 | epot = -15.1397702365965 | etot = -14.6249037420852 -111000 ekin = 0.0838057148048547 | erot = 0.449635759436015 | epot = -15.1583452163526 | etot = -14.6249037421117 -112000 ekin = 0.0940411317710077 | erot = 0.462031808376879 | epot = -15.1809766822946 | etot = -14.6249037421467 -113000 ekin = 0.107905661684195 | erot = 0.474282718869093 | epot = -15.2070921227426 | etot = -14.6249037421893 -114000 ekin = 0.124987416380568 | erot = 0.486108767327343 | epot = -15.2359999259468 | etot = -14.6249037422389 -115000 ekin = 0.14475347442169 | erot = 0.497242253023055 | epot = -15.2668994697394 | etot = -14.6249037422947 -116000 ekin = 0.166561593123301 | erot = 0.507428522971045 | epot = -15.2988938584499 | etot = -14.6249037423555 -117000 ekin = 0.189677527330859 | erot = 0.516426638198687 | epot = -15.3310079079495 | etot = -14.6249037424199 -118000 ekin = 0.213298790897302 | erot = 0.524010758771369 | epot = -15.3622132921543 | etot = -14.6249037424857 -119000 ekin = 0.23658457696156 | erot = 0.529973112381439 | epot = -15.3914614318934 | etot = -14.6249037425504 -120000 ekin = 0.25869030185824 | erot = 0.534129034925715 | epot = -15.4177230793952 | etot = -14.6249037426113 -121000 ekin = 0.278804196532859 | erot = 0.536324108799716 | epot = -15.4400320479982 | etot = -14.6249037426656 -122000 ekin = 0.296182819519396 | erot = 0.536442962870823 | epot = -15.4575295251008 | etot = -14.6249037427106 -123000 ekin = 0.310182446405815 | erot = 0.534418915104236 | epot = -15.4695051042542 | etot = -14.6249037427442 -124000 ekin = 0.320283972930007 | erot = 0.530243389137678 | epot = -15.4754311048322 | etot = -14.6249037427645 -125000 ekin = 0.326110081462184 | erot = 0.523973945236141 | epot = -15.474987769469 | etot = -14.6249037427707 -126000 ekin = 0.327434709614433 | erot = 0.515739832556637 | epot = -15.4680782849335 | etot = -14.6249037427625 -127000 ekin = 0.324186046690112 | erot = 0.505744172152634 | epot = -15.4548339615826 | etot = -14.6249037427399 -128000 ekin = 0.316445106703942 | erot = 0.49426218578474 | epot = -15.4356110351922 | etot = -14.6249037427035 -129000 ekin = 0.304442167762443 | erot = 0.481635256753056 | epot = -15.4109811671698 | etot = -14.6249037426543 -130000 ekin = 0.288552887156219 | erot = 0.468261006625427 | epot = -15.381717636375 | etot = -14.6249037425933 -131000 ekin = 0.269294696165104 | erot = 0.454579955598623 | epot = -15.3487783942857 | etot = -14.624903742522 -132000 ekin = 0.247322351785515 | erot = 0.44105966132284 | epot = -15.3132857555502 | etot = -14.6249037424419 -133000 ekin = 0.223419723871429 | erot = 0.428177456066543 | epot = -15.276500922293 | etot = -14.6249037423551 -134000 ekin = 0.198483666316777 | erot = 0.416402982921072 | epot = -15.2397903915022 | etot = -14.6249037422644 -135000 ekin = 0.173495806295108 | erot = 0.40618164100245 | epot = -15.2045811894712 | etot = -14.6249037421736 -136000 ekin = 0.149479658252647 | erot = 0.397919790440824 | epot = -15.1723031907806 | etot = -14.6249037420871 -137000 ekin = 0.127443476996608 | erot = 0.391972186713592 | epot = -15.1443194057199 | etot = -14.6249037420097 -138000 ekin = 0.10831297052536 | erot = 0.388631700836367 | epot = -15.1218484133082 | etot = -14.6249037419464 -139000 ekin = 0.0928612988418002 | erot = 0.388121053034821 | epot = -15.1058860937783 | etot = -14.6249037419017 -140000 ekin = 0.0816456573910084 | erot = 0.390586148388801 | epot = -15.0971355476587 | etot = -14.6249037418789 -141000 ekin = 0.0749596349872437 | erot = 0.396090706683564 | epot = -15.0959540835505 | etot = -14.6249037418797 -142000 ekin = 0.0728085537690405 | erot = 0.404612196534891 | epot = -15.1023244922084 | etot = -14.6249037419044 -143000 ekin = 0.0749117535383842 | erot = 0.416039504837645 | epot = -15.1158550003269 | etot = -14.6249037419509 -144000 ekin = 0.0807320498020964 | erot = 0.43017313668478 | epot = -15.1358089285024 | etot = -14.6249037420156 -145000 ekin = 0.08952902558338 | erot = 0.446728893938156 | epot = -15.1611616616151 | etot = -14.6249037420935 -146000 ekin = 0.100429851263191 | erot = 0.465345829669622 | epot = -15.1906794231115 | etot = -14.6249037421787 -147000 ekin = 0.112509264558581 | erot = 0.485598823528122 | epot = -15.2230118303515 | etot = -14.6249037422648 -148000 ekin = 0.124869425792591 | erot = 0.507015469189552 | epot = -15.2567886373282 | etot = -14.6249037423461 -149000 ekin = 0.136710750658436 | erot = 0.529096273051187 | epot = -15.290710766127 | etot = -14.6249037424174 -150000 ekin = 0.147386480806171 | erot = 0.551336607352345 | epot = -15.323626830634 | etot = -14.6249037424755 -151000 ekin = 0.156436378416032 | erot = 0.573248570645276 | epot = -15.3545886915794 | etot = -14.6249037425181 -152000 ekin = 0.163597998371653 | erot = 0.594380933602923 | epot = -15.3828826745196 | etot = -14.624903742545 -153000 ekin = 0.168796920199611 | erot = 0.614335653334474 | epot = -15.4080363160912 | etot = -14.6249037425571 -154000 ekin = 0.172119667637745 | erot = 0.63277992909172 | epot = -15.4298033392862 | etot = -14.6249037425567 -155000 ekin = 0.173774602206285 | erot = 0.649453329865168 | epot = -15.448131674618 | etot = -14.6249037425466 -156000 ekin = 0.174046854480021 | erot = 0.664170048550552 | epot = -15.4631206455605 | etot = -14.62490374253 -157000 ekin = 0.173253451016122 | erot = 0.676816762702534 | epot = -15.4749739562284 | etot = -14.6249037425097 -158000 ekin = 0.171704281293749 | erot = 0.687346881268012 | epot = -15.48395490505 | etot = -14.6249037424883 -159000 ekin = 0.169673443699862 | erot = 0.695772131173121 | epot = -15.4903493173403 | etot = -14.6249037424673 -160000 ekin = 0.167383826014546 | erot = 0.702152502586509 | epot = -15.4944400710487 | etot = -14.6249037424476 -161000 ekin = 0.165005624031702 | erot = 0.706585545944493 | epot = -15.4964949124054 | etot = -14.6249037424292 -162000 ekin = 0.162667154471752 | erot = 0.709195914790859 | epot = -15.4967668116741 | etot = -14.6249037424115 -163000 ekin = 0.160474189581485 | erot = 0.710125892129829 | epot = -15.4955038241048 | etot = -14.6249037423935 -164000 ekin = 0.158532578972596 | erot = 0.709527441008927 | epot = -15.4929637623557 | etot = -14.6249037423742 -165000 ekin = 0.156968465370669 | erot = 0.707556101121189 | epot = -15.4894283088449 | etot = -14.624903742353 -166000 ekin = 0.155941053191124 | erot = 0.704366832058078 | epot = -15.4852116275794 | etot = -14.6249037423302 -167000 ekin = 0.155644496809548 | erot = 0.700111698658369 | epot = -15.4806599377741 | etot = -14.6249037423062 -168000 ekin = 0.156297672988182 | erot = 0.694939119112873 | epot = -15.4761405343834 | etot = -14.6249037422823 -169000 ekin = 0.158122923325456 | erot = 0.688994262094025 | epot = -15.4720209276801 | etot = -14.6249037422606 -170000 ekin = 0.161316852937676 | erot = 0.682420091513849 | epot = -15.4686406866943 | etot = -14.6249037422428 -171000 ekin = 0.166017619146822 | erot = 0.675358520304806 | epot = -15.4662798816825 | etot = -14.6249037422309 -172000 ekin = 0.172273671159511 | erot = 0.667951149520835 | epot = -15.4651285629069 | etot = -14.6249037422266 -173000 ekin = 0.180018623556049 | erot = 0.660339136127854 | epot = -15.4652615019149 | etot = -14.624903742231 -174000 ekin = 0.189056055744924 | erot = 0.65266185183192 | epot = -15.4666216498214 | etot = -14.6249037422445 -175000 ekin = 0.199056860650113 | erot = 0.645054167286172 | epot = -15.4690147702031 | etot = -14.6249037422668 -176000 ekin = 0.209570701317552 | erot = 0.637642422787005 | epot = -15.4721168664013 | etot = -14.6249037422967 -177000 ekin = 0.220052442974625 | erot = 0.630539423737628 | epot = -15.4754956090443 | etot = -14.6249037423321 -178000 ekin = 0.229904071991194 | erot = 0.623839102439311 | epot = -15.4786469168001 | etot = -14.6249037423696 -179000 ekin = 0.238532114427982 | erot = 0.617611757777875 | epot = -15.4810476146108 | etot = -14.624903742405 -180000 ekin = 0.245419064060292 | erot = 0.611900922402653 | epot = -15.4822237288957 | etot = -14.6249037424328 -181000 ekin = 0.250203926055771 | erot = 0.606722796615248 | epot = -15.4818304651186 | etot = -14.6249037424476 -182000 ekin = 0.252761402919565 | erot = 0.602068750131856 | epot = -15.4797338954959 | etot = -14.6249037424445 -183000 ekin = 0.253262634974054 | erot = 0.597910660168588 | epot = -15.4760770375641 | etot = -14.6249037424214 -184000 ekin = 0.252195762131878 | erot = 0.594208023726969 | epot = -15.4713075282387 | etot = -14.6249037423799 -185000 ekin = 0.250326113306321 | erot = 0.59091517967259 | epot = -15.4661450353052 | etot = -14.6249037423263 -186000 ekin = 0.248586758541649 | erot = 0.587986907734566 | epot = -15.4614774085478 | etot = -14.6249037422716 -187000 ekin = 0.247909630265846 | erot = 0.585381224303701 | epot = -15.4581945967982 | etot = -14.6249037422286 -188000 ekin = 0.2490290523945 | erot = 0.583059148733781 | epot = -15.4569919433378 | etot = -14.6249037422095 -189000 ekin = 0.252303803181127 | erot = 0.580982165409763 | epot = -15.4581897108128 | etot = -14.6249037422219 -190000 ekin = 0.25760376351551 | erot = 0.579108718145144 | epot = -15.4616162239281 | etot = -14.6249037422675 -191000 ekin = 0.264292655598098 | erot = 0.577391223758838 | epot = -15.4665876216975 | etot = -14.6249037423406 -192000 ekin = 0.271315385056409 | erot = 0.575774831089113 | epot = -15.4719939585751 | etot = -14.6249037424296 -193000 ekin = 0.277374539132748 | erot = 0.574198584868256 | epot = -15.4764768665202 | etot = -14.6249037425192 -194000 ekin = 0.281161076019677 | erot = 0.572598913484698 | epot = -15.478663732098 | etot = -14.6249037425936 -195000 ekin = 0.281592637347121 | erot = 0.570914645865623 | epot = -15.4774110258523 | etot = -14.6249037426396 -196000 ekin = 0.278011867235596 | erot = 0.569092314484759 | epot = -15.4720079243693 | etot = -14.624903742649 -197000 ekin = 0.270307527592762 | erot = 0.567090473639989 | epot = -15.4623017438531 | etot = -14.6249037426204 -198000 ekin = 0.258940359975855 | erot = 0.564882125458807 | epot = -15.4487262279927 | etot = -14.6249037425581 -199000 ekin = 0.244877476699234 | erot = 0.562454912721902 | epot = -15.4322361318925 | etot = -14.6249037424713 -200000 ekin = 0.229456931018641 | erot = 0.559809284042077 | epot = -15.4141699574324 | etot = -14.6249037423716 -201000 ekin = 0.214214012278847 | erot = 0.556955381706859 | epot = -15.3960731362566 | etot = -14.6249037422709 -202000 ekin = 0.200701376135036 | erot = 0.553909032488863 | epot = -15.3795141508034 | etot = -14.6249037421795 -203000 ekin = 0.190329688710817 | erot = 0.550687503827512 | epot = -15.3659209346435 | etot = -14.6249037421052 -204000 ekin = 0.184246973275337 | erot = 0.547306655840007 | epot = -15.356457371168 | etot = -14.6249037420527 -205000 ekin = 0.183262973705813 | erot = 0.543779043729278 | epot = -15.3519457594592 | etot = -14.6249037420241 -206000 ekin = 0.187816949073515 | erot = 0.540113432736619 | epot = -15.3528341238291 | etot = -14.624903742019 -207000 ekin = 0.197980929490512 | erot = 0.536315658388676 | epot = -15.3592003299145 | etot = -14.6249037420353 -208000 ekin = 0.213487612677366 | erot = 0.53239049820727 | epot = -15.3707818529549 | etot = -14.6249037420703 -209000 ekin = 0.233772362712521 | erot = 0.528344018725095 | epot = -15.3870201235584 | etot = -14.6249037421208 -210000 ekin = 0.258021408692355 | erot = 0.524185756556833 | epot = -15.4071109074329 | etot = -14.6249037421837 -211000 ekin = 0.285222208429996 | erot = 0.519930104708342 | epot = -15.4300560553942 | etot = -14.6249037422558 -212000 ekin = 0.314215813604987 | erot = 0.515596398128489 | epot = -15.454715954067 | etot = -14.6249037423335 -213000 ekin = 0.343753634043937 | erot = 0.511207450608882 | epot = -15.4798648270658 | etot = -14.624903742413 -214000 ekin = 0.372561594270316 | erot = 0.506786560075337 | epot = -15.5042518968352 | etot = -14.6249037424895 -215000 ekin = 0.399412456462858 | erot = 0.502353347158712 | epot = -15.5266695461799 | etot = -14.6249037425583 -216000 ekin = 0.423202666203616 | erot = 0.497919155944113 | epot = -15.5460255647623 | etot = -14.6249037426146 -217000 ekin = 0.443025226540025 | erot = 0.493483013679004 | epot = -15.5614119828738 | etot = -14.6249037426548 -218000 ekin = 0.458227302378849 | erot = 0.489029294856436 | epot = -15.5721603399122 | etot = -14.6249037426769 -219000 ekin = 0.46844301918404 | erot = 0.484528125251435 | epot = -15.5778748871159 | etot = -14.6249037426804 -220000 ekin = 0.473598483116685 | erot = 0.479939108990801 | epot = -15.5784413347739 | etot = -14.6249037426664 -221000 ekin = 0.473894168318713 | erot = 0.475218183432529 | epot = -15.5740160943878 | etot = -14.6249037426366 -222000 ekin = 0.46977401404952 | erot = 0.470326483973494 | epot = -15.565004240616 | etot = -14.624903742593 -223000 ekin = 0.461887320397438 | erot = 0.465239349169368 | epot = -15.552030412105 | etot = -14.6249037425382 -224000 ekin = 0.45104133642262 | erot = 0.459953336121611 | epot = -15.5358984150202 | etot = -14.624903742476 -225000 ekin = 0.438137198422833 | erot = 0.454489515561399 | epot = -15.5175304563959 | etot = -14.6249037424116 -226000 ekin = 0.424086332826247 | erot = 0.448892294163513 | epot = -15.4978823693413 | etot = -14.6249037423516 -227000 ekin = 0.409717105195145 | erot = 0.443224250669953 | epot = -15.4778450981665 | etot = -14.6249037423014 -228000 ekin = 0.395692916861505 | erot = 0.437558473222737 | epot = -15.4581551323492 | etot = -14.6249037422649 -229000 ekin = 0.382463318564619 | erot = 0.431970318931211 | epot = -15.4393373797385 | etot = -14.6249037422426 -230000 ekin = 0.370258116730603 | erot = 0.426530223272752 | epot = -15.421692082236 | etot = -14.6249037422326 -231000 ekin = 0.359118625017489 | erot = 0.421298440292615 | epot = -15.4053208075415 | etot = -14.6249037422314 -232000 ekin = 0.348949729121418 | erot = 0.416321816462733 | epot = -15.3901752878198 | etot = -14.6249037422357 -233000 ekin = 0.339575284188205 | erot = 0.411632247273789 | epot = -15.3761112737045 | etot = -14.6249037422425 -234000 ekin = 0.330784909163314 | erot = 0.407246384303571 | epot = -15.362935035717 | etot = -14.6249037422501 -235000 ekin = 0.322367248495157 | erot = 0.403166248673602 | epot = -15.350437239426 | etot = -14.6249037422572 -236000 ekin = 0.314129851889501 | erot = 0.399380677843556 | epot = -15.3384142719966 | etot = -14.6249037422635 -237000 ekin = 0.305908300164827 | erot = 0.395867600047935 | epot = -15.3266796424818 | etot = -14.624903742269 -238000 ekin = 0.297568064657773 | erot = 0.39259715720464 | epot = -15.3150689641361 | etot = -14.6249037422737 -239000 ekin = 0.289002756414808 | erot = 0.389535643317172 | epot = -15.3034421420093 | etot = -14.6249037422773 -240000 ekin = 0.280132201614557 | erot = 0.386650129641611 | epot = -15.291686073536 | etot = -14.6249037422798 -241000 ekin = 0.270903172980175 | erot = 0.383913574227223 | epot = -15.2797204894877 | etot = -14.6249037422803 -242000 ekin = 0.261294311101929 | erot = 0.381310019034114 | epot = -15.2675080724141 | etot = -14.624903742278 -243000 ekin = 0.251325265433967 | erot = 0.378839435319614 | epot = -15.255068443025 | etot = -14.6249037422714 -244000 ekin = 0.241068460184099 | erot = 0.376521662813181 | epot = -15.2424938652571 | etot = -14.6249037422598 -245000 ekin = 0.230660579660543 | erot = 0.374398842117411 | epot = -15.2299631640205 | etot = -14.6249037422425 -246000 ekin = 0.220310176855077 | erot = 0.372535772164605 | epot = -15.2177496912391 | etot = -14.6249037422194 -247000 ekin = 0.21029792040831 | erot = 0.371017759432739 | epot = -15.2062194220324 | etot = -14.6249037421913 -248000 ekin = 0.200966973970282 | erot = 0.369945779906298 | epot = -15.1958164960366 | etot = -14.62490374216 -249000 ekin = 0.19270275205643 | erot = 0.369429135338942 | epot = -15.1870356295232 | etot = -14.6249037421279 -250000 ekin = 0.18590352409262 | erot = 0.369576201101644 | epot = -15.1803834672921 | etot = -14.6249037420978 -251000 ekin = 0.180945546219597 | erot = 0.370484246994953 | epot = -15.1763335352872 | etot = -14.6249037420727 -252000 ekin = 0.178147956309677 | erot = 0.372229589272508 | epot = -15.1752812876371 | etot = -14.624903742055 -253000 ekin = 0.177743031465493 | erot = 0.374859230993345 | epot = -15.1775060045052 | etot = -14.6249037420463 -254000 ekin = 0.179856300055144 | erot = 0.378385037101541 | epot = -15.1831450792041 | etot = -14.6249037420475 -255000 ekin = 0.184498455786623 | erot = 0.382781080046676 | epot = -15.1921832778916 | etot = -14.6249037420583 -256000 ekin = 0.191568141873245 | erot = 0.387983970946509 | epot = -15.2044558548979 | etot = -14.6249037420781 -257000 ekin = 0.200862084874684 | erot = 0.39389562099413 | epot = -15.2196614479746 | etot = -14.6249037421058 -258000 ekin = 0.212087875567067 | erot = 0.400387498987617 | epot = -15.2373791166953 | etot = -14.6249037421406 -259000 ekin = 0.22487530619229 | erot = 0.407305396776974 | epot = -15.2570844451511 | etot = -14.6249037421818 -260000 ekin = 0.238784314763371 | erot = 0.414473950040919 | epot = -15.2781620070334 | etot = -14.6249037422291 -261000 ekin = 0.253310397642053 | erot = 0.42170059668304 | epot = -15.2999147366073 | etot = -14.6249037422822 -262000 ekin = 0.267890750412286 | erot = 0.428779149459046 | epot = -15.3215736422117 | etot = -14.6249037423403 -263000 ekin = 0.281915541777785 | erot = 0.435493571930371 | epot = -15.3423128561102 | etot = -14.6249037424021 -264000 ekin = 0.294748319449044 | erot = 0.441622773940652 | epot = -15.3612748358547 | etot = -14.624903742465 -265000 ekin = 0.305757851305137 | erot = 0.446947232466447 | epot = -15.3776088262971 | etot = -14.6249037425255 -266000 ekin = 0.314361275702132 | erot = 0.451257984268096 | epot = -15.3905230025497 | etot = -14.6249037425794 -267000 ekin = 0.320075758813841 | erot = 0.454368036195507 | epot = -15.3993475376314 | etot = -14.624903742622 -268000 ekin = 0.322573111285627 | erot = 0.456125517716869 | epot = -15.403602371651 | etot = -14.6249037426485 -269000 ekin = 0.321728949456794 | erot = 0.456427019949868 | epot = -15.403059712062 | etot = -14.6249037426553 -270000 ekin = 0.31765519820333 | erot = 0.45522869606994 | epot = -15.3977876369143 | etot = -14.624903742641 -271000 ekin = 0.310703151367432 | erot = 0.452552178355822 | epot = -15.3881590723309 | etot = -14.6249037426077 -272000 ekin = 0.301426233536413 | erot = 0.448482664562071 | epot = -15.3748126406594 | etot = -14.6249037425609 -273000 ekin = 0.290499502093209 | erot = 0.443158007811074 | epot = -15.3585612524138 | etot = -14.6249037425095 -274000 ekin = 0.278606962226069 | erot = 0.436750209657617 | epot = -15.3402609143468 | etot = -14.6249037424631 -275000 ekin = 0.26632348034077 | erot = 0.429443553158618 | epot = -15.3206707759287 | etot = -14.6249037424293 -276000 ekin = 0.254026977158081 | erot = 0.421415402004818 | epot = -15.3003461215739 | etot = -14.624903742411 -277000 ekin = 0.241871064453538 | erot = 0.412825312322111 | epot = -15.2796001191811 | etot = -14.6249037424054 -278000 ekin = 0.229828041579721 | erot = 0.403815416629946 | epot = -15.2585472006151 | etot = -14.6249037424054 -279000 ekin = 0.217786141146189 | erot = 0.394521119096963 | epot = -15.2372110026452 | etot = -14.624903742402 -280000 ekin = 0.205666064593732 | erot = 0.38508770303191 | epot = -15.2156575100133 | etot = -14.6249037423876 -281000 ekin = 0.19351860427424 | erot = 0.375686870762611 | epot = -15.194109217395 | etot = -14.6249037423581 -282000 ekin = 0.181576720747694 | erot = 0.366527860021383 | epot = -15.1730083230829 | etot = -14.6249037423139 -283000 ekin = 0.170254050626048 | erot = 0.357859944223912 | epot = -15.1530177371086 | etot = -14.6249037422586 -284000 ekin = 0.16009863107041 | erot = 0.349965713705531 | epot = -15.1349680869742 | etot = -14.6249037421982 -285000 ekin = 0.151720356670754 | erot = 0.343146625519695 | epot = -15.1197707243297 | etot = -14.6249037421393 -286000 ekin = 0.145712559183906 | erot = 0.337703485420487 | epot = -15.1083197866921 | etot = -14.6249037420877 -287000 ekin = 0.142584250545045 | erot = 0.33391483609244 | epot = -15.1014028286853 | etot = -14.6249037420479 -288000 ekin = 0.14271294134083 | erot = 0.33201595204223 | epot = -15.0996326354053 | etot = -14.6249037420222 -289000 ekin = 0.146320998448773 | erot = 0.332180585089635 | epot = -15.1034053255502 | etot = -14.6249037420118 -290000 ekin = 0.153472816921521 | erot = 0.334506983378674 | epot = -15.1128835423164 | etot = -14.6249037420162 -291000 ekin = 0.16408646566307 | erot = 0.339009144348004 | epot = -15.1279993520452 | etot = -14.6249037420341 -292000 ekin = 0.177952173600894 | erot = 0.345613807734655 | epot = -15.1484697233998 | etot = -14.6249037420642 -293000 ekin = 0.194750859969321 | erot = 0.354163344443058 | epot = -15.1738179465174 | etot = -14.624903742105 -294000 ekin = 0.214068309159694 | erot = 0.364424408222029 | epot = -15.2033964595369 | etot = -14.6249037421551 -295000 ekin = 0.23540371040359 | erot = 0.376101928511103 | epot = -15.2364093811279 | etot = -14.6249037422133 -296000 ekin = 0.258174229753498 | erot = 0.388857685536646 | epot = -15.2719356575678 | etot = -14.6249037422776 -297000 ekin = 0.281719360135706 | erot = 0.402332315571764 | epot = -15.3089554180538 | etot = -14.6249037423463 -298000 ekin = 0.305309684523697 | erot = 0.416169191335652 | epot = -15.3463826182759 | etot = -14.6249037424165 -299000 ekin = 0.328164426016654 | erot = 0.430038291827268 | epot = -15.3831064603292 | etot = -14.6249037424853 -300000 ekin = 0.349480947255048 | erot = 0.443657997414315 | epot = -15.4180426872181 | etot = -14.6249037425488 -301000 ekin = 0.368477349759193 | erot = 0.456812763608568 | epot = -15.4501938559701 | etot = -14.6249037426023 -302000 ekin = 0.384446573101124 | erot = 0.469364841860938 | epot = -15.4787151576043 | etot = -14.6249037426422 -303000 ekin = 0.396817065634558 | erot = 0.481258609604811 | epot = -15.5029794179039 | etot = -14.6249037426646 -304000 ekin = 0.405211709647007 | erot = 0.492516637287636 | epot = -15.5226320896017 | etot = -14.624903742667 -305000 ekin = 0.409494186865868 | erot = 0.503227368870062 | epot = -15.5376252983853 | etot = -14.6249037426493 -306000 ekin = 0.409791521882642 | erot = 0.513525227982917 | epot = -15.5482204924792 | etot = -14.6249037426137 -307000 ekin = 0.406484029567507 | erot = 0.523565033268454 | epot = -15.5549528054007 | etot = -14.6249037425647 -308000 ekin = 0.400159443093576 | erot = 0.533493670193517 | epot = -15.5585568557963 | etot = -14.6249037425092 -309000 ekin = 0.391535685673409 | erot = 0.543422788904487 | epot = -15.5598622170328 | etot = -14.6249037424549 -310000 ekin = 0.381364662749467 | erot = 0.553406603763533 | epot = -15.559675008922 | etot = -14.624903742409 -311000 ekin = 0.370335174700701 | erot = 0.563428434509133 | epot = -15.5586673515868 | etot = -14.624903742377 -312000 ekin = 0.358994462073939 | erot = 0.573398378860855 | epot = -15.5572965832959 | etot = -14.6249037423611 -313000 ekin = 0.347704062021925 | erot = 0.583162598674903 | epot = -15.5557704030573 | etot = -14.6249037423605 -314000 ekin = 0.33663740290675 | erot = 0.592522528333923 | epot = -15.5540636736116 | etot = -14.6249037423709 -315000 ekin = 0.325816357219143 | erot = 0.601260411441213 | epot = -15.5519805110473 | etot = -14.6249037423869 -316000 ekin = 0.31517501281672 | erot = 0.60916645196768 | epot = -15.5492452071863 | etot = -14.6249037424019 -317000 ekin = 0.304633856553889 | erot = 0.616062831072119 | epot = -15.5456004300365 | etot = -14.6249037424105 -318000 ekin = 0.294167456686821 | erot = 0.621820866636781 | epot = -15.5408920657325 | etot = -14.6249037424089 -319000 ekin = 0.283852816310689 | erot = 0.626369338624031 | epot = -15.5351258973307 | etot = -14.6249037423959 -320000 ekin = 0.273891844373646 | erot = 0.62969394858388 | epot = -15.5284895353295 | etot = -14.624903742372 -321000 ekin = 0.264607615830763 | erot = 0.631829520445007 | epot = -15.5213408786157 | etot = -14.6249037423399 -322000 ekin = 0.256418665980724 | erot = 0.632847556381818 | epot = -15.5141699646656 | etot = -14.6249037423031 -323000 ekin = 0.249797892887888 | erot = 0.632842055921319 | epot = -15.5075436910747 | etot = -14.6249037422655 -324000 ekin = 0.245223011939643 | erot = 0.631916211662829 | epot = -15.5020429658332 | etot = -14.6249037422308 -325000 ekin = 0.243124676660885 | erot = 0.630171930979599 | epot = -15.4982003498433 | etot = -14.6249037422029 -326000 ekin = 0.243837159968202 | erot = 0.62770331019607 | epot = -15.4964442123487 | etot = -14.6249037421844 -327000 ekin = 0.247555458534598 | erot = 0.624594349329564 | epot = -15.4970535500418 | etot = -14.6249037421777 -328000 ekin = 0.254302069317208 | erot = 0.620920422826662 | epot = -15.5001262343276 | etot = -14.6249037421837 -329000 ekin = 0.263906382978448 | erot = 0.616752378549749 | epot = -15.5055625037309 | etot = -14.6249037422027 -330000 ekin = 0.275999298196581 | erot = 0.612161709808553 | epot = -15.513064750239 | etot = -14.6249037422339 -331000 ekin = 0.290024872454518 | erot = 0.6072251384784 | epot = -15.5221537532081 | etot = -14.6249037422752 -332000 ekin = 0.305269328205317 | erot = 0.602027230533175 | epot = -15.5322003010622 | etot = -14.6249037423237 -333000 ekin = 0.32090561137506 | erot = 0.59666030333851 | epot = -15.5424696570894 | etot = -14.6249037423759 -334000 ekin = 0.336049438962957 | erot = 0.59122171045733 | epot = -15.5521748918481 | etot = -14.6249037424278 -335000 ekin = 0.349821102707528 | erot = 0.585809355783074 | epot = -15.5605342009664 | etot = -14.6249037424758 -336000 ekin = 0.361406827299004 | erot = 0.580516763971273 | epot = -15.5668273337865 | etot = -14.6249037425162 -337000 ekin = 0.370114335989199 | erot = 0.575429096256477 | epot = -15.570447174792 | etot = -14.6249037425463 -338000 ekin = 0.375418963131835 | erot = 0.570621177508979 | epot = -15.5709438832047 | etot = -14.6249037425639 -339000 ekin = 0.376998306684161 | erot = 0.566157982091391 | epot = -15.5680600313428 | etot = -14.6249037425673 -340000 ekin = 0.374754278532076 | erot = 0.562097189039027 | epot = -15.561755210127 | etot = -14.6249037425559 -341000 ekin = 0.368821588409674 | erot = 0.558493134368603 | epot = -15.5522184653082 | etot = -14.6249037425299 -342000 ekin = 0.359561251230654 | erot = 0.555400700218385 | epot = -15.5398656939398 | etot = -14.6249037424907 -343000 ekin = 0.347537853254552 | erot = 0.552877785918206 | epot = -15.5253193816135 | etot = -14.6249037424408 -344000 ekin = 0.333480374963866 | erot = 0.5509852684009 | epot = -15.5093693857484 | etot = -14.6249037423837 -345000 ekin = 0.318228359784356 | erot = 0.549783918348281 | epot = -15.4929160204566 | etot = -14.6249037423239 -346000 ekin = 0.302667555547469 | erot = 0.549328430110417 | epot = -15.4768997279243 | etot = -14.6249037422664 -347000 ekin = 0.28766105744341 | erot = 0.549659363310447 | epot = -15.4622241629696 | etot = -14.6249037422157 -348000 ekin = 0.273982878354205 | erot = 0.550794243902763 | epot = -15.4496808644331 | etot = -14.6249037421761 -349000 ekin = 0.262260631617843 | erot = 0.552719272009514 | epot = -15.439883645778 | etot = -14.6249037421507 -350000 ekin = 0.252932884528192 | erot = 0.555383042233133 | epot = -15.4332196689026 | etot = -14.6249037421413 -351000 ekin = 0.246225113234617 | erot = 0.55869341876511 | epot = -15.4298222741477 | etot = -14.624903742148 -352000 ekin = 0.242146418558379 | erot = 0.562518344425243 | epot = -15.4295685051533 | etot = -14.6249037421697 -353000 ekin = 0.240507191582831 | erot = 0.566690733134613 | epot = -15.4321016669209 | etot = -14.6249037422035 -354000 ekin = 0.240955911174275 | erot = 0.571016874087082 | epot = -15.4368765275071 | etot = -14.6249037422458 -355000 ekin = 0.243030568944454 | erot = 0.575286990707861 | epot = -15.4432213019444 | etot = -14.624903742292 -356000 ekin = 0.246218336341954 | erot = 0.579286102670435 | epot = -15.4504081813504 | etot = -14.6249037423381 -357000 ekin = 0.250015504867581 | erot = 0.58280308408374 | epot = -15.4577223313315 | etot = -14.6249037423802 -358000 ekin = 0.253980003728839 | erot = 0.585636256510467 | epot = -15.4645200026551 | etot = -14.6249037424158 -359000 ekin = 0.257771924238821 | erot = 0.587595069854197 | epot = -15.4702707365363 | etot = -14.6249037424433 -360000 ekin = 0.261178006692924 | erot = 0.588498175296143 | epot = -15.4745799244512 | etot = -14.6249037424621 -361000 ekin = 0.264121303804436 | erot = 0.588169931158563 | epot = -15.4771949774355 | etot = -14.6249037424725 -362000 ekin = 0.26665626894814 | erot = 0.586437607933123 | epot = -15.4779976193568 | etot = -14.6249037424755 -363000 ekin = 0.268947338174106 | erot = 0.583131261384995 | epot = -15.4769823420322 | etot = -14.6249037424731 -364000 ekin = 0.271226723299596 | erot = 0.578087502910441 | epot = -15.4742179686788 | etot = -14.6249037424688 -365000 ekin = 0.273728224388818 | erot = 0.571157191000725 | epot = -15.469789157857 | etot = -14.6249037424674 -366000 ekin = 0.27660157052003 | erot = 0.562216266683608 | epot = -15.4637215796777 | etot = -14.624903742474 -367000 ekin = 0.279824898676208 | erot = 0.551178529879214 | epot = -15.4559071710475 | etot = -14.6249037424921 -368000 ekin = 0.283144751011421 | erot = 0.538009090150606 | epot = -15.446057583683 | etot = -14.624903742521 -369000 ekin = 0.286073979195429 | erot = 0.522737270878628 | epot = -15.43371499263 | etot = -14.6249037425559 -370000 ekin = 0.287962637923178 | erot = 0.50546765170011 | epot = -15.4183340322108 | etot = -14.6249037425875 -371000 ekin = 0.288129562576893 | erot = 0.486387667907303 | epot = -15.3994209730894 | etot = -14.6249037426052 -372000 ekin = 0.286016270828215 | erot = 0.465769998081936 | epot = -15.3766900115109 | etot = -14.6249037426008 -373000 ekin = 0.281314492917267 | erot = 0.443968246943336 | epot = -15.3501864824312 | etot = -14.6249037425706 -374000 ekin = 0.274029637541304 | erot = 0.421405384813941 | epot = -15.3203387648723 | etot = -14.6249037425171 -375000 ekin = 0.264468317323927 | erot = 0.398555847613352 | epot = -15.2879279073837 | etot = -14.6249037424464 -376000 ekin = 0.253165169267974 | erot = 0.375923572596667 | epot = -15.2539924842319 | etot = -14.6249037423673 -377000 ekin = 0.240780733674519 | erot = 0.354018931407049 | epot = -15.2197034073693 | etot = -14.6249037422878 -378000 ekin = 0.228003530692849 | erot = 0.333337224177657 | epot = -15.1862444970844 | etot = -14.6249037422138 -379000 ekin = 0.215478669427367 | erot = 0.314340303318035 | epot = -15.1547227148943 | etot = -14.6249037421489 -380000 ekin = 0.203769466320298 | erot = 0.297441561967809 | epot = -15.1261147703827 | etot = -14.6249037420946 -381000 ekin = 0.193344913038602 | erot = 0.282993579610754 | epot = -15.1012422347007 | etot = -14.6249037420513 -382000 ekin = 0.1845790971167 | erot = 0.271277560103436 | epot = -15.0807603992401 | etot = -14.62490374202 -383000 ekin = 0.177749902922622 | erot = 0.26249431847454 | epot = -15.0651479633984 | etot = -14.6249037420012 -384000 ekin = 0.173031383434508 | erot = 0.256757595375745 | epot = -15.0546927208059 | etot = -14.6249037419956 -385000 ekin = 0.170483112154869 | erot = 0.254091341095724 | epot = -15.049478195254 | etot = -14.6249037420034 -386000 ekin = 0.170046361592442 | erot = 0.254432809989109 | epot = -15.0493829136049 | etot = -14.6249037420233 -387000 ekin = 0.171558026227206 | erot = 0.257642587604648 | epot = -15.0541043558835 | etot = -14.6249037420517 -388000 ekin = 0.174787865439128 | erot = 0.263521131370077 | epot = -15.0632127388927 | etot = -14.6249037420835 -389000 ekin = 0.179494526901848 | erot = 0.271829477565643 | epot = -15.0762277465811 | etot = -14.6249037421136 -390000 ekin = 0.185484901052496 | erot = 0.282310127810724 | epot = -15.0926987710012 | etot = -14.624903742138 -391000 ekin = 0.192654775276086 | erot = 0.294703495236184 | epot = -15.1122620126683 | etot = -14.624903742156 -392000 ekin = 0.200990711955861 | erot = 0.308756153372879 | epot = -15.1346506074993 | etot = -14.6249037421705 -393000 ekin = 0.210524629688573 | erot = 0.324219483681282 | epot = -15.1596478555577 | etot = -14.6249037421878 -394000 ekin = 0.22125039811835 | erot = 0.340840530849664 | epot = -15.1869946711827 | etot = -14.6249037422146 -395000 ekin = 0.233028912153826 | erot = 0.358349828151301 | epot = -15.2162824825616 | etot = -14.6249037422565 -396000 ekin = 0.2455168348482 | erot = 0.376452447324096 | epot = -15.2468730244869 | etot = -14.6249037423146 -397000 ekin = 0.25814964628924 | erot = 0.394827815017667 | epot = -15.2778812036919 | etot = -14.624903742385 -398000 ekin = 0.270192540270399 | erot = 0.4131410333725 | epot = -15.3082373161018 | etot = -14.6249037424589 -399000 ekin = 0.280849396853854 | erot = 0.431064534842813 | epot = -15.3368176742223 | etot = -14.6249037425256 -400000 ekin = 0.289399657315509 | erot = 0.448305349545533 | epot = -15.3626087494363 | etot = -14.6249037425752 -401000 ekin = 0.295323233787914 | erot = 0.464631356382232 | epot = -15.3848583327717 | etot = -14.6249037426015 -402000 ekin = 0.298377750401429 | erot = 0.479890206670972 | epot = -15.4031716996757 | etot = -14.6249037426033 -403000 ekin = 0.298608046776847 | erot = 0.494016844836358 | epot = -15.4175286341982 | etot = -14.624903742585 -404000 ekin = 0.296288720276099 | erot = 0.507028747324982 | epot = -15.4282212101551 | etot = -14.624903742554 -405000 ekin = 0.29181945089068 | erot = 0.519011022290344 | epot = -15.4357342157007 | etot = -14.6249037425197 -406000 ekin = 0.285604695316787 | erot = 0.530095491696252 | epot = -15.440603929503 | etot = -14.62490374249 -407000 ekin = 0.27795179501284 | erot = 0.540438449781457 | epot = -15.4432939872644 | etot = -14.6249037424701 -408000 ekin = 0.269015012492725 | erot = 0.550201084797105 | epot = -15.4441198397503 | etot = -14.6249037424605 -409000 ekin = 0.258799683406998 | erot = 0.559535019811799 | epot = -15.4432384456764 | etot = -14.6249037424576 -410000 ekin = 0.247223943172304 | erot = 0.568573648692186 | epot = -15.4407013343195 | etot = -14.624903742455 -411000 ekin = 0.234219542826644 | erot = 0.577428429926533 | epot = -15.4365517151989 | etot = -14.6249037424457 -412000 ekin = 0.219842320368382 | erot = 0.5861883861288 | epot = -15.4309344489209 | etot = -14.6249037424237 -413000 ekin = 0.204359948374925 | erot = 0.594920843620856 | epot = -15.4241845343826 | etot = -14.6249037423868 -414000 ekin = 0.188290368309528 | erot = 0.603671832826723 | epot = -15.4168659434726 | etot = -14.6249037423363 -415000 ekin = 0.17237708181679 | erot = 0.612465324291743 | epot = -15.4097461483867 | etot = -14.6249037422781 -416000 ekin = 0.157503657630917 | erot = 0.621301324615619 | epot = -15.4037087244673 | etot = -14.6249037422208 -417000 ekin = 0.144565276806003 | erot = 0.630153567596961 | epot = -15.3996225865765 | etot = -14.6249037421735 -418000 ekin = 0.134326161306162 | erot = 0.638967960411851 | epot = -15.3981978638625 | etot = -14.6249037421445 -419000 ekin = 0.127295713866961 | erot = 0.647663024756136 | epot = -15.3998624807615 | etot = -14.6249037421384 -420000 ekin = 0.123652074078926 | erot = 0.656133267678405 | epot = -15.404689083913 | etot = -14.6249037421557 -421000 ekin = 0.123230332545423 | erot = 0.664256043547052 | epot = -15.4123901182846 | etot = -14.6249037421921 -422000 ekin = 0.125576493084645 | erot = 0.671901405101299 | epot = -15.4223816404261 | etot = -14.6249037422401 -423000 ekin = 0.130051930466291 | erot = 0.678943694027994 | epot = -15.4338993667851 | etot = -14.6249037422908 -424000 ekin = 0.135961143238941 | erot = 0.68527308622734 | epot = -15.4461379718019 | etot = -14.6249037423356 -425000 ekin = 0.142671659965653 | erot = 0.690804983811737 | epot = -15.4583803861463 | etot = -14.6249037423689 -426000 ekin = 0.149699767318955 | erot = 0.69548556134855 | epot = -15.4700890710557 | etot = -14.6249037423882 -427000 ekin = 0.156747049208564 | erot = 0.699292628464386 | epot = -15.4809434200676 | etot = -14.6249037423947 -428000 ekin = 0.163686553654653 | erot = 0.702231990285693 | epot = -15.4908222863327 | etot = -14.6249037423924 -429000 ekin = 0.170509683514881 | erot = 0.704330315301697 | epot = -15.4997437412031 | etot = -14.6249037423865 -430000 ekin = 0.177252892951705 | erot = 0.705626025883602 | epot = -15.5077826612176 | etot = -14.6249037423823 -431000 ekin = 0.183925691222895 | erot = 0.706159951516283 | epot = -15.5149893851227 | etot = -14.6249037423835 -432000 ekin = 0.19045785108011 | erot = 0.705966883793978 | epot = -15.5213284772661 | etot = -14.624903742392 -433000 ekin = 0.196676887389506 | erot = 0.705069371776843 | epot = -15.5266500015735 | etot = -14.6249037424072 -434000 ekin = 0.202317433899842 | erot = 0.703474477741428 | epot = -15.5306956540681 | etot = -14.6249037424269 -435000 ekin = 0.207056046506956 | erot = 0.701173837003811 | epot = -15.5331336259585 | etot = -14.6249037424477 -436000 ekin = 0.210560164857125 | erot = 0.698146912242933 | epot = -15.5336108195661 | etot = -14.6249037424661 -437000 ekin = 0.212539330538931 | erot = 0.694366864819831 | epot = -15.5318099378377 | etot = -14.624903742479 -438000 ekin = 0.212789433625871 | erot = 0.689808070113593 | epot = -15.5275012462235 | etot = -14.624903742484 -439000 ekin = 0.211224885327214 | erot = 0.684454087056214 | epot = -15.5205827148631 | etot = -14.6249037424797 -440000 ekin = 0.207897417438809 | erot = 0.678304934040255 | epot = -15.5111060939441 | etot = -14.624903742465 -441000 ekin = 0.203002684917561 | erot = 0.671382822496918 | epot = -15.4992892498548 | etot = -14.6249037424403 -442000 ekin = 0.196876783893415 | erot = 0.66373594678721 | epot = -15.4855164730867 | etot = -14.6249037424061 -443000 ekin = 0.189984458135294 | erot = 0.655440346227568 | epot = -15.4703285467262 | etot = -14.6249037423634 -444000 ekin = 0.182899715135625 | erot = 0.646600090308741 | epot = -15.4544035477581 | etot = -14.6249037423138 -445000 ekin = 0.176278659807151 | erot = 0.637346059016373 | epot = -15.4385284610832 | etot = -14.6249037422597 -446000 ekin = 0.170824489262207 | erot = 0.627833490901199 | epot = -15.4235617223673 | etot = -14.6249037422039 -447000 ekin = 0.16724611578148 | erot = 0.618238375507256 | epot = -15.4103882334382 | etot = -14.6249037421495 -448000 ekin = 0.166214016011086 | erot = 0.608752709243579 | epot = -15.3998704673542 | etot = -14.6249037420995 -449000 ekin = 0.1683180025474 | erot = 0.599578546514547 | epot = -15.3928002911186 | etot = -14.6249037420567 -450000 ekin = 0.174030350885976 | erot = 0.590920601688637 | epot = -15.3898546945984 | etot = -14.6249037420238 -451000 ekin = 0.183674309612486 | erot = 0.582976972209394 | epot = -15.3915550238252 | etot = -14.6249037420033 -452000 ekin = 0.197394458885248 | erot = 0.575927582956616 | epot = -15.39822578384 | etot = -14.6249037419981 -453000 ekin = 0.215124290963754 | erot = 0.569920414705972 | epot = -15.4099484476811 | etot = -14.6249037420114 -454000 ekin = 0.236549344238332 | erot = 0.565056494271021 | epot = -15.4265095805559 | etot = -14.6249037420465 -455000 ekin = 0.261070666492934 | erot = 0.561375729612865 | epot = -15.4473501382115 | etot = -14.6249037421057 -456000 ekin = 0.287780783019101 | erot = 0.558846520705115 | epot = -15.4715310459133 | etot = -14.6249037421891 -457000 ekin = 0.315469350479039 | erot = 0.557362227354604 | epot = -15.4977353201268 | etot = -14.6249037422931 -458000 ekin = 0.342675461161211 | erot = 0.556746783054113 | epot = -15.5243259866255 | etot = -14.6249037424101 -459000 ekin = 0.367796771324328 | erot = 0.556770049266128 | epot = -15.5494705631189 | etot = -14.6249037425284 -460000 ekin = 0.3892528364295 | erot = 0.557171234683844 | epot = -15.5713278137471 | etot = -14.6249037426338 -461000 ekin = 0.405683830372718 | erot = 0.557686417732241 | epot = -15.5882739908163 | etot = -14.6249037427113 -462000 ekin = 0.416150509763905 | erot = 0.558074591842708 | epot = -15.5991288443566 | etot = -14.6249037427499 -463000 ekin = 0.420292029665246 | erot = 0.558136338549459 | epot = -15.6033321109587 | etot = -14.624903742744 -464000 ekin = 0.418399545178514 | erot = 0.557720582601952 | epot = -15.6010238704768 | etot = -14.6249037426963 -465000 ekin = 0.411377435968826 | erot = 0.55671776612672 | epot = -15.5929989447132 | etot = -14.6249037426177 -466000 ekin = 0.400588481170777 | erot = 0.555041504869193 | epot = -15.5805337285653 | etot = -14.6249037425253 -467000 ekin = 0.387608315925912 | erot = 0.552604267015981 | epot = -15.5651163253807 | etot = -14.6249037424389 -468000 ekin = 0.373939506071419 | erot = 0.549294716065778 | epot = -15.5481379645134 | etot = -14.6249037423762 -469000 ekin = 0.360748545285941 | erot = 0.544964338611031 | epot = -15.5306166262458 | etot = -14.6249037423488 -470000 ekin = 0.348685397522481 | erot = 0.539428754142283 | epot = -15.5130178940239 | etot = -14.6249037423591 -471000 ekin = 0.33782542530965 | erot = 0.53248528288589 | epot = -15.495214450596 | etot = -14.6249037424005 -472000 ekin = 0.327743216876187 | erot = 0.523944004295118 | epot = -15.4765909636299 | etot = -14.6249037424586 -473000 ekin = 0.317695625905249 | erot = 0.513665869846711 | epot = -15.4562652382675 | etot = -14.6249037425155 -474000 ekin = 0.306866206292903 | erot = 0.501599410558902 | epot = -15.4333693594053 | etot = -14.6249037425535 -475000 ekin = 0.294611572516014 | erot = 0.487807694339925 | epot = -15.4073230094157 | etot = -14.6249037425598 -476000 ekin = 0.280654133645735 | erot = 0.472479343853221 | epot = -15.3780372200274 | etot = -14.6249037425284 -477000 ekin = 0.265182667318346 | erot = 0.455920989277164 | epot = -15.3460073990571 | etot = -14.6249037424615 -478000 ekin = 0.248846579355896 | erot = 0.438532535944716 | epot = -15.3122828576688 | etot = -14.6249037423682 -479000 ekin = 0.232654569020801 | erot = 0.420770062233786 | epot = -15.2783283735167 | etot = -14.6249037422621 -480000 ekin = 0.217807844646274 | erot = 0.403103245642895 | epot = -15.2458148324472 | etot = -14.624903742158 -481000 ekin = 0.205508255202274 | erot = 0.385974572360121 | epot = -15.2163865696318 | etot = -14.6249037420694 -482000 ekin = 0.196781566941766 | erot = 0.36976631024765 | epot = -15.1914516191951 | etot = -14.6249037420057 -483000 ekin = 0.19234694356787 | erot = 0.354778814406374 | epot = -15.1720294999463 | etot = -14.6249037419721 -484000 ekin = 0.192548846646396 | erot = 0.341220938396507 | epot = -15.1586735270111 | etot = -14.6249037419682 -485000 ekin = 0.197351634264796 | erot = 0.329210924265182 | epot = -15.1514663005207 | etot = -14.6249037419907 -486000 ekin = 0.206384571112674 | erot = 0.318784712513058 | epot = -15.1500730256597 | etot = -14.624903742034 -487000 ekin = 0.219018661981128 | erot = 0.309908337315953 | epot = -15.1538307413883 | etot = -14.6249037420912 -488000 ekin = 0.234457053485615 | erot = 0.302491737711597 | epot = -15.1618525333532 | etot = -14.6249037421559 -489000 ekin = 0.251825722282228 | erot = 0.296402451840807 | epot = -15.1731319163449 | etot = -14.6249037422219 -490000 ekin = 0.270257579252373 | erot = 0.291478772534408 | epot = -15.1866400940707 | etot = -14.6249037422839 -491000 ekin = 0.288968023940477 | erot = 0.287542686829702 | epot = -15.2014144531066 | etot = -14.6249037423364 -492000 ekin = 0.307321746939982 | erot = 0.28441316533236 | epot = -15.2166386546473 | etot = -14.624903742375 -493000 ekin = 0.32488919226749 | erot = 0.281920128741024 | epot = -15.2317130634052 | etot = -14.6249037423967 -494000 ekin = 0.341487883386483 | erot = 0.279918789013753 | epot = -15.2463104147992 | etot = -14.624903742399 -495000 ekin = 0.35720080106069 | erot = 0.278303167954071 | epot = -15.2604077113969 | etot = -14.6249037423821 -496000 ekin = 0.372363075866133 | erot = 0.277016625443694 | epot = -15.274283443659 | etot = -14.6249037423491 -497000 ekin = 0.387510424729673 | erot = 0.276056483801325 | epot = -15.288470650837 | etot = -14.624903742306 -498000 ekin = 0.403287744735438 | erot = 0.275469725413168 | epot = -15.3036612124104 | etot = -14.6249037422618 -499000 ekin = 0.42032292393259 | erot = 0.275337682298044 | epot = -15.320564348458 | etot = -14.6249037422274 -500000 ekin = 0.43907820686993 | erot = 0.275749832423184 | epot = -15.3397317815074 | etot = -14.6249037422143 -501000 ekin = 0.459699055393576 | erot = 0.27677002458897 | epot = -15.3613728222153 | etot = -14.6249037422327 -502000 ekin = 0.481887975238202 | erot = 0.278401857022776 | epot = -15.3851935745495 | etot = -14.6249037422885 -503000 ekin = 0.504836001700849 | erot = 0.28056227342693 | epot = -15.410302017509 | etot = -14.6249037423813 -504000 ekin = 0.527242963721984 | erot = 0.283072520273731 | epot = -15.4352192264977 | etot = -14.624903742502 -505000 ekin = 0.547444055756082 | erot = 0.285672032586838 | epot = -15.458019830977 | etot = -14.6249037426341 -506000 ekin = 0.563636138784674 | erot = 0.288055811209927 | epot = -15.47659569275 | etot = -14.6249037427554 -507000 ekin = 0.574166796919909 | erot = 0.289928574131153 | epot = -15.4889991138946 | etot = -14.6249037428436 -508000 ekin = 0.577825151301095 | erot = 0.29106332686132 | epot = -15.4937922210437 | etot = -14.6249037428812 -509000 ekin = 0.574066827021787 | erot = 0.291350176078735 | epot = -15.4903207459605 | etot = -14.6249037428599 -510000 ekin = 0.563118031118052 | erot = 0.290823209378379 | epot = -15.478844983279 | etot = -14.6249037427826 -511000 ekin = 0.545937816053849 | erot = 0.289659846600108 | epot = -15.4605014053159 | etot = -14.624903742662 -512000 ekin = 0.524051924661522 | erot = 0.288153919329358 | epot = -15.4371095865082 | etot = -14.6249037425174 -513000 ekin = 0.49930007419802 | erot = 0.286670443869403 | epot = -15.4108742604374 | etot = -14.6249037423699 -514000 ekin = 0.473556830410389 | erot = 0.285593013544029 | epot = -15.3840535861934 | etot = -14.624903742239 -515000 ekin = 0.448481344234872 | erot = 0.285274677057468 | epot = -15.3586597634305 | etot = -14.6249037421382 -516000 ekin = 0.425336124988155 | erot = 0.286000471485139 | epot = -15.3362403385481 | etot = -14.6249037420748 -517000 ekin = 0.404895133580943 | erot = 0.2879658116616 | epot = -15.3177646872915 | etot = -14.6249037420489 -518000 ekin = 0.38744137195972 | erot = 0.291271247088022 | epot = -15.303616361103 | etot = -14.6249037420552 -519000 ekin = 0.372839035852851 | erot = 0.295931281214127 | epot = -15.2936740591517 | etot = -14.6249037420847 -520000 ekin = 0.360656186943069 | erot = 0.301893194868317 | epot = -15.2874531239377 | etot = -14.6249037421263 -521000 ekin = 0.350310207443456 | erot = 0.30906098360489 | epot = -15.284274933218 | etot = -14.6249037421697 -522000 ekin = 0.341208800539667 | erot = 0.3173194084493 | epot = -15.2834319511953 | etot = -14.6249037422063 -523000 ekin = 0.332862997936835 | erot = 0.326553653087588 | epot = -15.284320393256 | etot = -14.6249037422315 -524000 ekin = 0.324955020060083 | erot = 0.336661144000867 | epot = -15.2865199063051 | etot = -14.6249037422441 -525000 ekin = 0.317352570821523 | erot = 0.347553686772997 | epot = -15.2898099998415 | etot = -14.624903742247 -526000 ekin = 0.310071537936527 | erot = 0.359150063852877 | epot = -15.2941253440357 | etot = -14.6249037422463 -527000 ekin = 0.30319969763022 | erot = 0.371361343285068 | epot = -15.2994647831647 | etot = -14.6249037422494 -528000 ekin = 0.296802852838113 | erot = 0.38407297047912 | epot = -15.3057795655799 | etot = -14.6249037422627 -529000 ekin = 0.290839689447243 | erot = 0.397128838352394 | epot = -15.31287227009 | etot = -14.6249037422904 -530000 ekin = 0.285110822260533 | erot = 0.410322608856898 | epot = -15.3203371734496 | etot = -14.6249037423322 -531000 ekin = 0.279260366287321 | erot = 0.423400398731777 | epot = -15.3275645074024 | etot = -14.6249037423833 -532000 ekin = 0.2728357059054 | erot = 0.436076588369062 | epot = -15.3338160367096 | etot = -14.6249037424351 -533000 ekin = 0.265395406955423 | erot = 0.448061330488706 | epot = -15.3383604799205 | etot = -14.6249037424763 -534000 ekin = 0.25664035180014 | erot = 0.45909504502717 | epot = -15.3406391393241 | etot = -14.6249037424968 -535000 ekin = 0.24653363369425 | erot = 0.468982742180589 | epot = -15.3404201183648 | etot = -14.62490374249 -536000 ekin = 0.235373881374767 | erot = 0.477620282696299 | epot = -15.3378979065254 | etot = -14.6249037424543 -537000 ekin = 0.223795203401825 | erot = 0.485006039595742 | epot = -15.3337049853926 | etot = -14.624903742395 -538000 ekin = 0.212682661997717 | erot = 0.491234540507922 | epot = -15.32882094483 | etot = -14.6249037423243 -539000 ekin = 0.203011536568094 | erot = 0.496472671628212 | epot = -15.324387950454 | etot = -14.6249037422577 -540000 ekin = 0.195638496925756 | erot = 0.500922912276288 | epot = -15.3214651514142 | etot = -14.6249037422122 -541000 ekin = 0.191090437373868 | erot = 0.504781043299473 | epot = -15.3207752228743 | etot = -14.624903742201 -542000 ekin = 0.189407567632351 | erot = 0.508197267609666 | epot = -15.3225085774711 | etot = -14.6249037422291 -543000 ekin = 0.190094034780963 | erot = 0.511249275631094 | epot = -15.3262470527038 | etot = -14.6249037422917 -544000 ekin = 0.192205662500001 | erot = 0.513933300996131 | epot = -15.3310427058706 | etot = -14.6249037423745 -545000 ekin = 0.194562943958398 | erot = 0.516174993404786 | epot = -15.3356416798198 | etot = -14.6249037424566 -546000 ekin = 0.196033343259865 | erot = 0.517857026727595 | epot = -15.3387941125054 | etot = -14.624903742518 -547000 ekin = 0.195801439086576 | erot = 0.518856237019659 | epot = -15.3395614186507 | etot = -14.6249037425445 -548000 ekin = 0.193552178457624 | erot = 0.519081068513043 | epot = -15.3375369895016 | etot = -14.6249037425309 -549000 ekin = 0.189527872077782 | erot = 0.518500763845595 | epot = -15.3329323784042 | etot = -14.6249037424808 -550000 ekin = 0.18446469719282 | erot = 0.517160608016848 | epot = -15.326529047614 | etot = -14.6249037424043 -551000 ekin = 0.17944751961377 | erot = 0.515181377053922 | epot = -15.3195326389815 | etot = -14.6249037423138 -552000 ekin = 0.175731062295071 | erot = 0.512744588095586 | epot = -15.3133793926126 | etot = -14.6249037422219 -553000 ekin = 0.174564310046339 | erot = 0.510067400325356 | epot = -15.3095354525118 | etot = -14.6249037421401 -554000 ekin = 0.177036897101121 | erot = 0.507372062614127 | epot = -15.309312701793 | etot = -14.6249037420777 -555000 ekin = 0.183953653121541 | erot = 0.50485506124058 | epot = -15.3137124564044 | etot = -14.6249037420423 -556000 ekin = 0.195740677804154 | erot = 0.502660902828886 | epot = -15.3233053226714 | etot = -14.6249037420384 -557000 ekin = 0.212389174813395 | erot = 0.500864749566249 | epot = -15.3381576664467 | etot = -14.6249037420671 -558000 ekin = 0.233445020972978 | erot = 0.499466731744177 | epot = -15.3578154948427 | etot = -14.6249037421256 -559000 ekin = 0.258048678278145 | erot = 0.498398734229532 | epot = -15.381351154715 | etot = -14.6249037422073 -560000 ekin = 0.285022157939727 | erot = 0.497541950864641 | epot = -15.4074678511075 | etot = -14.6249037423031 -561000 ekin = 0.312990622171893 | erot = 0.496751658908829 | epot = -15.4346460234834 | etot = -14.6249037424027 -562000 ekin = 0.340519848730057 | erot = 0.495884310852853 | epot = -15.461307902079 | etot = -14.6249037424961 -563000 ekin = 0.366249237356341 | erot = 0.494821962715706 | epot = -15.4859749426471 | etot = -14.6249037425751 -564000 ekin = 0.389003340228864 | erot = 0.493490109026347 | epot = -15.5073971918896 | etot = -14.6249037426344 -565000 ekin = 0.407871381975787 | erot = 0.491866632343088 | epot = -15.5246417569901 | etot = -14.6249037426712 -566000 ekin = 0.422251605413063 | erot = 0.489981232303539 | epot = -15.537136580402 | etot = -14.6249037426854 -567000 ekin = 0.431863045464991 | erot = 0.487906470955931 | epot = -15.5446732590994 | etot = -14.6249037426785 -568000 ekin = 0.436733840918529 | erot = 0.485743252286281 | epot = -15.5473808358582 | etot = -14.6249037426534 -569000 ekin = 0.437172173179269 | erot = 0.483603786385196 | epot = -15.5456797021777 | etot = -14.6249037426133 -570000 ekin = 0.43372713864672 | erot = 0.48159597879343 | epot = -15.5402268600018 | etot = -14.6249037425617 -571000 ekin = 0.42714180814445 | erot = 0.479812578148079 | epot = -15.5318581287948 | etot = -14.6249037425023 -572000 ekin = 0.418294466662065 | erot = 0.478326721683348 | epot = -15.5215249307851 | etot = -14.6249037424397 -573000 ekin = 0.408121101336508 | erot = 0.477193277919927 | epot = -15.5102181216365 | etot = -14.6249037423801 -574000 ekin = 0.397514818218918 | erot = 0.476453234966625 | epot = -15.4988717955165 | etot = -14.624903742331 -575000 ekin = 0.387207144490505 | erot = 0.476137354469736 | epot = -15.4882482412605 | etot = -14.6249037423002 -576000 ekin = 0.377649119218454 | erot = 0.476266044932873 | epot = -15.4788189064457 | etot = -14.6249037422944 -577000 ekin = 0.368920817133122 | erot = 0.476844730976094 | epot = -15.4706692904255 | etot = -14.6249037423163 -578000 ekin = 0.360700785231361 | erot = 0.47785688313413 | epot = -15.4634614107286 | etot = -14.6249037423631 -579000 ekin = 0.352319179858645 | erot = 0.479258927576455 | epot = -15.4564818498607 | etot = -14.6249037424256 -580000 ekin = 0.342901425190256 | erot = 0.480981430412058 | epot = -15.4487865980916 | etot = -14.6249037424893 -581000 ekin = 0.331586894252413 | erot = 0.482939076923234 | epot = -15.4394297137118 | etot = -14.6249037425361 -582000 ekin = 0.317784488003658 | erot = 0.485048781538909 | epot = -15.427737012092 | etot = -14.6249037425495 -583000 ekin = 0.301409490235786 | erot = 0.487252029394123 | epot = -15.4135652621474 | etot = -14.6249037425175 -584000 ekin = 0.283039202393456 | erot = 0.489535511255409 | epot = -15.3974784560865 | etot = -14.6249037424376 -585000 ekin = 0.263933313486932 | erot = 0.491944128119358 | epot = -15.3807811839248 | etot = -14.6249037423185 -586000 ekin = 0.245890887800014 | erot = 0.494582820570716 | epot = -15.36537745055 | etot = -14.6249037421793 -587000 ekin = 0.230956405619767 | erot = 0.497607010278002 | epot = -15.3534671579441 | etot = -14.6249037420464 -588000 ekin = 0.221033841917334 | erot = 0.501205839010304 | epot = -15.3471434228726 | etot = -14.6249037419449 -589000 ekin = 0.217504428503198 | erot = 0.505584588307916 | epot = -15.3479927587054 | etot = -14.6249037418943 -590000 ekin = 0.220953423088802 | erot = 0.510952138425678 | epot = -15.3568093034149 | etot = -14.6249037419004 -591000 ekin = 0.231083134064877 | erot = 0.517515644130037 | epot = -15.3735025201503 | etot = -14.6249037419554 -592000 ekin = 0.246829245753809 | erot = 0.525479282586983 | epot = -15.3972122703829 | etot = -14.6249037420421 -593000 ekin = 0.266628949730648 | erot = 0.535039778666154 | epot = -15.4265724705373 | etot = -14.6249037421405 -594000 ekin = 0.288743434935948 | erot = 0.546371032865159 | epot = -15.4600182100359 | etot = -14.6249037422348 -595000 ekin = 0.311533695301854 | erot = 0.559594229359111 | epot = -15.4960316669784 | etot = -14.6249037423174 -596000 ekin = 0.333624348261494 | erot = 0.574736425374244 | epot = -15.5332645160249 | etot = -14.6249037423892 -597000 ekin = 0.353943370598259 | erot = 0.591686591895167 | epot = -15.5705337049495 | etot = -14.6249037424561 -598000 ekin = 0.371670846224399 | erot = 0.610160828223706 | epot = -15.6067354169733 | etot = -14.6249037425252 -599000 ekin = 0.386151688530232 | erot = 0.629687420924543 | epot = -15.6407428520551 | etot = -14.6249037426004 -600000 ekin = 0.396824670884392 | erot = 0.649618644309618 | epot = -15.6713470578743 | etot = -14.6249037426803 -601000 ekin = 0.403202067553724 | erot = 0.669171693344937 | epot = -15.6972775036568 | etot = -14.6249037427581 -602000 ekin = 0.404908528299605 | erot = 0.687495721385225 | epot = -15.7173079925077 | etot = -14.6249037428229 -603000 ekin = 0.401765041348441 | erot = 0.703757265562351 | epot = -15.7304260497729 | etot = -14.6249037428621 -604000 ekin = 0.393886240081566 | erot = 0.717231476889447 | epot = -15.7360214598369 | etot = -14.6249037428659 -605000 ekin = 0.381750384954784 | erot = 0.727382711583162 | epot = -15.7340368393681 | etot = -14.6249037428302 -606000 ekin = 0.366205114567235 | erot = 0.733917584159895 | epot = -15.725026441486 | etot = -14.6249037427589 -607000 ekin = 0.348389460815329 | erot = 0.736798185090343 | epot = -15.7100913885696 | etot = -14.624903742664 -608000 ekin = 0.329579787369629 | erot = 0.73621262347853 | epot = -15.6906961534103 | etot = -14.6249037425622 -609000 ekin = 0.310994196072014 | erot = 0.732511274794253 | epot = -15.6684092133371 | etot = -14.6249037424709 -610000 ekin = 0.29360483588481 | erot = 0.726125549058504 | epot = -15.644634127347 | etot = -14.6249037424037 -611000 ekin = 0.278004208602607 | erot = 0.717488389874772 | epot = -15.6203963408453 | etot = -14.624903742368 -612000 ekin = 0.264353214553523 | erot = 0.706972008379557 | epot = -15.5962289652967 | etot = -14.6249037423637 -613000 ekin = 0.252415280668682 | erot = 0.694851301360247 | epot = -15.5721703244136 | etot = -14.6249037423847 -614000 ekin = 0.241662201717183 | erot = 0.681294462599197 | epot = -15.5478604067366 | etot = -14.6249037424202 -615000 ekin = 0.231427318529533 | erot = 0.666377599991891 | epot = -15.5227086609789 | etot = -14.6249037424574 -616000 ekin = 0.221078258759054 | erot = 0.650117838828839 | epot = -15.496099840071 | etot = -14.6249037424831 -617000 ekin = 0.21018039046722 | erot = 0.632518274251072 | epot = -15.4676024072045 | etot = -14.6249037424862 -618000 ekin = 0.198621509656023 | erot = 0.613617132100535 | epot = -15.4371423842165 | etot = -14.6249037424599 -619000 ekin = 0.18667044221321 | erot = 0.593532504056809 | epot = -15.405106688674 | etot = -14.624903742404 -620000 ekin = 0.174951539061334 | erot = 0.572493952083576 | epot = -15.3723492334691 | etot = -14.6249037423242 -621000 ekin = 0.164335257151748 | erot = 0.550854196820334 | epot = -15.3400931962044 | etot = -14.6249037422324 -622000 ekin = 0.155768039681223 | erot = 0.529078173717901 | epot = -15.3097499555421 | etot = -14.6249037421429 -623000 ekin = 0.150083571178067 | erot = 0.507711807337581 | epot = -15.2826991205843 | etot = -14.6249037420687 -624000 ekin = 0.147843467415026 | erot = 0.487337070698877 | epot = -15.2600842801327 | etot = -14.6249037420188 -625000 ekin = 0.149245521580685 | erot = 0.468521842126521 | epot = -15.2426711057039 | etot = -14.6249037419967 -626000 ekin = 0.154116108891011 | erot = 0.451772481731706 | epot = -15.230792332623 | etot = -14.6249037420003 -627000 ekin = 0.161979086426243 | erot = 0.437494698740521 | epot = -15.2243775271906 | etot = -14.6249037420239 -628000 ekin = 0.172174902879429 | erot = 0.425965324893993 | epot = -15.2230439698331 | etot = -14.6249037420597 -629000 ekin = 0.183995029152745 | erot = 0.417314987668754 | epot = -15.2262137589225 | etot = -14.624903742101 -630000 ekin = 0.196798066695247 | erot = 0.411519917957055 | epot = -15.2332217267955 | etot = -14.6249037421432 -631000 ekin = 0.210082131922237 | erot = 0.408400457424511 | epot = -15.2433863315318 | etot = -14.6249037421851 -632000 ekin = 0.223500184826661 | erot = 0.407624312389748 | epot = -15.2560282394451 | etot = -14.6249037422287 -633000 ekin = 0.236818662197368 | erot = 0.40871410814115 | epot = -15.2704365126172 | etot = -14.6249037422787 -634000 ekin = 0.249833574953511 | erot = 0.411060882467202 | epot = -15.2857981997609 | etot = -14.6249037423402 -635000 ekin = 0.262270239999869 | erot = 0.413946987960319 | epot = -15.3011209703766 | etot = -14.6249037424164 -636000 ekin = 0.273700147362094 | erot = 0.41658241201687 | epot = -15.3151863018853 | etot = -14.6249037425063 -637000 ekin = 0.283507856899951 | erot = 0.418156955202178 | epot = -15.3265685547055 | etot = -14.6249037426034 -638000 ekin = 0.290930324554581 | erot = 0.417906927432974 | epot = -15.3337409946828 | etot = -14.6249037426952 -639000 ekin = 0.295171730169445 | erot = 0.415189912095163 | epot = -15.3352653850311 | etot = -14.6249037427665 -640000 ekin = 0.295573453214757 | erot = 0.409556450349425 | epot = -15.330033646366 | etot = -14.6249037428018 -641000 ekin = 0.291798784614159 | erot = 0.400805216305592 | epot = -15.3175077437094 | etot = -14.6249037427896 -642000 ekin = 0.283982821763191 | erot = 0.389009767281871 | epot = -15.2978963317709 | etot = -14.6249037427259 -643000 ekin = 0.272803834295014 | erot = 0.374510198235057 | epot = -15.2722177751454 | etot = -14.6249037426153 -644000 ekin = 0.259451287281783 | erot = 0.357870303235152 | epot = -15.242225332988 | etot = -14.6249037424711 -645000 ekin = 0.245490538509252 | erot = 0.339807577758131 | epot = -15.2102018585797 | etot = -14.6249037423123 -646000 ekin = 0.232646751226996 | erot = 0.321107525182603 | epot = -15.1786580185706 | etot = -14.624903742161 -647000 ekin = 0.22254581022401 | erot = 0.302534738054871 | epot = -15.1499842903174 | etot = -14.6249037420385 -648000 ekin = 0.216457466201459 | erot = 0.284752019408104 | epot = -15.1261132275716 | etot = -14.624903741962 -649000 ekin = 0.215087078764693 | erot = 0.268256849270417 | epot = -15.1082476699768 | etot = -14.6249037419417 -650000 ekin = 0.218457489209268 | erot = 0.253342374384922 | epot = -15.0967036055725 | etot = -14.6249037419783 -651000 ekin = 0.225910420497663 | erot = 0.240087663214968 | epot = -15.090901825775 | etot = -14.6249037420623 -652000 ekin = 0.236236377394858 | erot = 0.228379019530766 | epot = -15.0895191391013 | etot = -14.6249037421757 -653000 ekin = 0.247915496412395 | erot = 0.217959688822015 | epot = -15.0907789275287 | etot = -14.6249037422943 -654000 ekin = 0.259425494352476 | erot = 0.208500305716241 | epot = -15.0928295424619 | etot = -14.6249037423932 -655000 ekin = 0.26955455820855 | erot = 0.199677958220202 | epot = -15.0941362588805 | etot = -14.6249037424517 -656000 ekin = 0.277652649609351 | erot = 0.191249336850371 | epot = -15.0938057289177 | etot = -14.624903742458 -657000 ekin = 0.283765747905513 | erot = 0.183104207684416 | epot = -15.0917736980008 | etot = -14.6249037424109 -658000 ekin = 0.288620908153495 | erot = 0.175289536735997 | epot = -15.0888141872111 | etot = -14.6249037423216 -659000 ekin = 0.293459924910638 | erot = 0.168001027405567 | epot = -15.0863646945267 | etot = -14.6249037422105 -660000 ekin = 0.299750121924058 | erot = 0.16154591329551 | epot = -15.0861997773236 | etot = -14.624903742104 -661000 ekin = 0.30882794580118 | erot = 0.15628680849445 | epot = -15.0900184963236 | etot = -14.624903742028 -662000 ekin = 0.321550844182007 | erot = 0.152579955314563 | epot = -15.0990345414996 | etot = -14.624903742003 -663000 ekin = 0.338040404322879 | erot = 0.150721656676574 | epot = -15.1136658030369 | etot = -14.6249037420375 -664000 ekin = 0.357588696379433 | erot = 0.150913925254324 | epot = -15.1334063637592 | etot = -14.6249037421255 -665000 ekin = 0.378766116435926 | erot = 0.153254852725576 | epot = -15.1569247114086 | etot = -14.6249037422471 -666000 ekin = 0.399716130930416 | erot = 0.157752003176736 | epot = -15.1823718764813 | etot = -14.6249037423741 -667000 ekin = 0.418564373573455 | erot = 0.164350192887448 | epot = -15.2078183089391 | etot = -14.6249037424782 -668000 ekin = 0.433827740573898 | erot = 0.172960630436554 | epot = -15.2316921135493 | etot = -14.6249037425388 -669000 ekin = 0.444701001629873 | erot = 0.183478145302767 | epot = -15.2530828894839 | etot = -14.6249037425513 -670000 ekin = 0.451136418416049 | erot = 0.195778468141822 | epot = -15.2718186290842 | etot = -14.6249037425263 -671000 ekin = 0.453701004148981 | erot = 0.209695862328768 | epot = -15.2883006089635 | etot = -14.6249037424857 -672000 ekin = 0.453273827001077 | erot = 0.224990306458558 | epot = -15.3031678759134 | etot = -14.6249037424538 -673000 ekin = 0.450699702661522 | erot = 0.241319095058617 | epot = -15.3169225401686 | etot = -14.6249037424485 -674000 ekin = 0.446523488450417 | erot = 0.258227823778676 | epot = -15.3296550547043 | etot = -14.6249037424752 -675000 ekin = 0.44088962459253 | erot = 0.275170305159689 | epot = -15.3409636722772 | etot = -14.624903742525 -676000 ekin = 0.433624481153454 | erot = 0.291558306506453 | epot = -15.350086530239 | etot = -14.6249037425791 -677000 ekin = 0.424453634856828 | erot = 0.306833290383679 | epot = -15.3561906678562 | etot = -14.6249037426157 -678000 ekin = 0.41326517646593 | erot = 0.320546114279227 | epot = -15.3587150333616 | etot = -14.6249037426165 -679000 ekin = 0.400321537247193 | erot = 0.332428088763687 | epot = -15.3576533685842 | etot = -14.6249037425733 -680000 ekin = 0.386341988793522 | erot = 0.342437977068841 | epot = -15.3536837083529 | etot = -14.6249037424906 -681000 ekin = 0.372417408219175 | erot = 0.350774050474234 | epot = -15.3480952010788 | etot = -14.6249037423854 -682000 ekin = 0.35976964508921 | erot = 0.357847594354926 | epot = -15.342520981727 | etot = -14.6249037422829 -683000 ekin = 0.349419724484302 | erot = 0.364223142873746 | epot = -15.3385466095668 | etot = -14.6249037422088 -684000 ekin = 0.341867426589136 | erot = 0.370539083005818 | epot = -15.3373102517758 | etot = -14.6249037421809 -685000 ekin = 0.336892967752833 | erot = 0.37742728588017 | epot = -15.3392239958362 | etot = -14.6249037422032 -686000 ekin = 0.333560575456658 | erot = 0.385449795148896 | epot = -15.343914112869 | etot = -14.6249037422634 -687000 ekin = 0.330440845244727 | erot = 0.395064019974615 | epot = -15.3504086075565 | etot = -14.6249037423372 -688000 ekin = 0.325996654362847 | erot = 0.406617593545496 | epot = -15.3575179903034 | etot = -14.624903742395 -689000 ekin = 0.319023752377333 | erot = 0.420363991129467 | epot = -15.3642914859188 | etot = -14.624903742412 -690000 ekin = 0.309020969988424 | erot = 0.436483939357874 | epot = -15.3704086517213 | etot = -14.624903742375 -691000 ekin = 0.296388973948975 | erot = 0.455097572739774 | epot = -15.3763902889748 | etot = -14.6249037422861 -692000 ekin = 0.282408410636019 | erot = 0.476257707732204 | epot = -15.3835698605304 | etot = -14.6249037421622 -693000 ekin = 0.269008530851688 | erot = 0.499923033173812 | epot = -15.393835306056 | etot = -14.6249037420305 -694000 ekin = 0.258387685788622 | erot = 0.525918285140571 | epot = -15.4092097128506 | etot = -14.6249037419214 -695000 ekin = 0.25257627520821 | erot = 0.553894058809888 | epot = -15.43137407588 | etot = -14.6249037418619 -696000 ekin = 0.253038186235009 | erot = 0.583300660396584 | epot = -15.4612425885012 | etot = -14.6249037418696 -697000 ekin = 0.260392018277579 | erot = 0.613388418368988 | epot = -15.4986841785954 | etot = -14.6249037419489 -698000 ekin = 0.274304391463509 | erot = 0.64324187918294 | epot = -15.5424500127365 | etot = -14.6249037420901 -699000 ekin = 0.293570250406769 | erot = 0.671848180609457 | epot = -15.5903221732877 | etot = -14.6249037422715 -700000 ekin = 0.316355070233514 | erot = 0.698191700483047 | epot = -15.639450513181 | etot = -14.6249037424644 -701000 ekin = 0.340538337282332 | erot = 0.721359481466447 | epot = -15.6868015613885 | etot = -14.6249037426397 -702000 ekin = 0.364075443764615 | erot = 0.740637254695032 | epot = -15.7296164412337 | etot = -14.6249037427741 -703000 ekin = 0.385294321874606 | erot = 0.75557636945477 | epot = -15.7657744341848 | etot = -14.6249037428555 -704000 ekin = 0.40306671671928 | erot = 0.766018576887906 | epot = -15.7939890364911 | etot = -14.6249037428839 -705000 ekin = 0.416833588997184 | erot = 0.772075474100319 | epot = -15.8138128059668 | etot = -14.6249037428693 -706000 ekin = 0.426510451501955 | erot = 0.774072055032491 | epot = -15.8254862493611 | etot = -14.6249037428266 -707000 ekin = 0.432328070473605 | erot = 0.772470813770598 | epot = -15.8297026270152 | etot = -14.624903742771 -708000 ekin = 0.434671210546145 | erot = 0.767794279505844 | epot = -15.8273692327653 | etot = -14.6249037427133 -709000 ekin = 0.433963855683832 | erot = 0.760560754832635 | epot = -15.8194283531753 | etot = -14.6249037426588 -710000 ekin = 0.430621214402396 | erot = 0.751241421805773 | epot = -15.8067663788157 | etot = -14.6249037426076 -711000 ekin = 0.42506102881634 | erot = 0.740240555545717 | epot = -15.7902053269187 | etot = -14.6249037425567 -712000 ekin = 0.417748693286703 | erot = 0.727895913280697 | epot = -15.7705483490698 | etot = -14.6249037425024 -713000 ekin = 0.409245407745788 | erot = 0.714493617369859 | epot = -15.7486427675576 | etot = -14.624903742442 -714000 ekin = 0.400233112897398 | erot = 0.700290376394005 | epot = -15.7254272316667 | etot = -14.6249037423753 -715000 ekin = 0.391499218630518 | erot = 0.685535269234734 | epot = -15.7019382301705 | etot = -14.6249037423053 -716000 ekin = 0.383874653287396 | erot = 0.67048382480872 | epot = -15.6792622203348 | etot = -14.6249037422387 -717000 ekin = 0.378129665172728 | erot = 0.655399296057203 | epot = -15.6584327034143 | etot = -14.6249037421843 -718000 ekin = 0.374843116814185 | erot = 0.640539821856989 | epot = -15.640286680823 | etot = -14.6249037421519 -719000 ekin = 0.374271424141624 | erot = 0.626134666228549 | epot = -15.6253098325193 | etot = -14.6249037421492 -720000 ekin = 0.376249546442097 | erot = 0.612356169201246 | epot = -15.6135094578233 | etot = -14.62490374218 -721000 ekin = 0.380155783156075 | erot = 0.599295758360148 | epot = -15.6043552837583 | etot = -14.6249037422421 -722000 ekin = 0.38496276143876 | erot = 0.586951574249477 | epot = -15.5968180780148 | etot = -14.6249037423265 -723000 ekin = 0.389379823381561 | erot = 0.57523200329734 | epot = -15.5895155690971 | etot = -14.6249037424182 -724000 ekin = 0.392071125783968 | erot = 0.563975606696704 | epot = -15.5809504749797 | etot = -14.624903742499 -725000 ekin = 0.391913283458913 | erot = 0.552983740178136 | epot = -15.5698007661881 | etot = -14.624903742551 -726000 ekin = 0.388241956532947 | erot = 0.542058916015296 | epot = -15.5552046151089 | etot = -14.6249037425607 -727000 ekin = 0.381032991792247 | erot = 0.531040454531364 | epot = -15.5369771888453 | etot = -14.6249037425217 -728000 ekin = 0.370971903191936 | erot = 0.51982908237483 | epot = -15.5157047280045 | etot = -14.6249037424377 -729000 ekin = 0.359388263612697 | erot = 0.508395729808055 | epot = -15.4926877357429 | etot = -14.6249037423222 -730000 ekin = 0.348057580439693 | erot = 0.496773021024349 | epot = -15.4697343436589 | etot = -14.6249037421949 -731000 ekin = 0.338902689199426 | erot = 0.48503267140759 | epot = -15.4488391026866 | etot = -14.6249037420796 -732000 ekin = 0.333649662945475 | erot = 0.473255762296962 | epot = -15.4318091672413 | etot = -14.6249037419988 -733000 ekin = 0.333505576676606 | erot = 0.461504910073432 | epot = -15.4199142287184 | etot = -14.6249037419684 -734000 ekin = 0.338924758984327 | erot = 0.449807254483215 | epot = -15.4136357554618 | etot = -14.6249037419943 -735000 ekin = 0.349515468577354 | erot = 0.438154711902627 | epot = -15.412573922551 | etot = -14.624903742071 -736000 ekin = 0.364111355274983 | erot = 0.426523255164317 | epot = -15.4155383526214 | etot = -14.6249037421821 -737000 ekin = 0.380995719774913 | erot = 0.414906900972836 | epot = -15.4208063630518 | etot = -14.6249037423041 -738000 ekin = 0.398229414671756 | erot = 0.403356227833025 | epot = -15.4264893849167 | etot = -14.6249037424119 -739000 ekin = 0.41400586007365 | erot = 0.392007798568608 | epot = -15.4309174011284 | etot = -14.6249037424862 -740000 ekin = 0.426948743963044 | erot = 0.381091720704502 | epot = -15.4329442071847 | etot = -14.6249037425172 -741000 ekin = 0.436283647683231 | erot = 0.370910229391922 | epot = -15.4320976195822 | etot = -14.6249037425071 -742000 ekin = 0.441850001827036 | erot = 0.361789064611271 | epot = -15.4285428089074 | etot = -14.6249037424691 -743000 ekin = 0.443963491147379 | erot = 0.354012421291793 | epot = -15.4228796548618 | etot = -14.6249037424227 -744000 ekin = 0.443178108515845 | erot = 0.347758127978261 | epot = -15.4158399788819 | etot = -14.6249037423878 -745000 ekin = 0.440021184885117 | erot = 0.343050543545259 | epot = -15.4079754708099 | etot = -14.6249037423795 -746000 ekin = 0.434779146250806 | erot = 0.339744491074207 | epot = -15.3994273797282 | etot = -14.6249037424032 -747000 ekin = 0.427396883605164 | erot = 0.337545938413876 | epot = -15.3898465644715 | etot = -14.6249037424524 -748000 ekin = 0.417523045840964 | erot = 0.336066252171354 | epot = -15.378493040523 | etot = -14.6249037425106 -749000 ekin = 0.404692764111769 | erot = 0.334898725161342 | epot = -15.3644952318284 | etot = -14.6249037425553 -750000 ekin = 0.38859628761696 | erot = 0.333700338300268 | epot = -15.3472003684814 | etot = -14.6249037425641 -751000 ekin = 0.369348367994352 | erot = 0.332259621152217 | epot = -15.3265117316697 | etot = -14.6249037425232 -752000 ekin = 0.347662572337044 | erot = 0.330533807749388 | epot = -15.3031001225185 | etot = -14.6249037424321 -753000 ekin = 0.32485637347094 | erot = 0.328645172901279 | epot = -15.2784052886778 | etot = -14.6249037423055 -754000 ekin = 0.302664104351826 | erot = 0.326836116135493 | epot = -15.2544039626575 | etot = -14.6249037421702 -755000 ekin = 0.282898405306331 | erot = 0.32539267738901 | epot = -15.2331948247533 | etot = -14.6249037420579 -756000 ekin = 0.267052130149665 | erot = 0.324553861438981 | epot = -15.216509733585 | etot = -14.6249037419963 -757000 ekin = 0.255952872034765 | erot = 0.32442748097694 | epot = -15.2052840950137 | etot = -14.624903742002 -758000 ekin = 0.24956686325818 | erot = 0.324931841855881 | epot = -15.1994024471896 | etot = -14.6249037420755 -759000 ekin = 0.247007285742243 | erot = 0.325777353497121 | epot = -15.1976883814409 | etot = -14.6249037422016 -760000 ekin = 0.246749335490674 | erot = 0.326494279608963 | epot = -15.1981473574513 | etot = -14.6249037423517 -761000 ekin = 0.247004464362755 | erot = 0.32650345690093 | epot = -15.1984116637543 | etot = -14.6249037424906 -762000 ekin = 0.246168267682973 | erot = 0.325217160867496 | epot = -15.196289171135 | etot = -14.6249037425846 -763000 ekin = 0.243236270174414 | erot = 0.32214932288445 | epot = -15.1902893356681 | etot = -14.6249037426092 -764000 ekin = 0.238083572627797 | erot = 0.31701054114624 | epot = -15.1799978563308 | etot = -14.6249037425568 -765000 ekin = 0.231530329805837 | erot = 0.309765883620828 | epot = -15.1661999558649 | etot = -14.6249037424383 -766000 ekin = 0.225163449189513 | erot = 0.300642577937803 | epot = -15.1507097694085 | etot = -14.6249037422812 -767000 ekin = 0.22094703764136 | erot = 0.290087936283322 | epot = -15.1359387160482 | etot = -14.6249037421235 -768000 ekin = 0.220714417705591 | erot = 0.278690999515505 | epot = -15.1243091592243 | etot = -14.6249037420032 -769000 ekin = 0.225674230585282 | erot = 0.267090069999639 | epot = -15.1176680425329 | etot = -14.6249037419479 -770000 ekin = 0.236066860406118 | erot = 0.255889903618327 | epot = -15.1168605059916 | etot = -14.6249037419672 -771000 ekin = 0.251070223471381 | erot = 0.245606888556436 | epot = -15.1215808540782 | etot = -14.6249037420503 -772000 ekin = 0.268985032795184 | erot = 0.236650197272858 | epot = -15.130538972238 | etot = -14.6249037421699 -773000 ekin = 0.287649902236207 | erot = 0.229335047808925 | epot = -15.1418886923348 | etot = -14.6249037422896 -774000 ekin = 0.304971347443521 | erot = 0.223914516380439 | epot = -15.1537896061995 | etot = -14.6249037423755 -775000 ekin = 0.319422560281353 | erot = 0.220611402282044 | epot = -15.1649377049685 | etot = -14.6249037424051 -776000 ekin = 0.330375903029014 | erot = 0.219632840721417 | epot = -15.1749124861243 | etot = -14.6249037423739 -777000 ekin = 0.338182326481318 | erot = 0.221157252264488 | epot = -15.1842433210425 | etot = -14.6249037422967 -778000 ekin = 0.34398099350531 | erot = 0.22529363977163 | epot = -15.1941783754801 | etot = -14.6249037422031 -779000 ekin = 0.349294202147492 | erot = 0.232023926337254 | epot = -15.2062218706139 | etot = -14.6249037421291 -780000 ekin = 0.355517983707864 | erot = 0.241146781675322 | epot = -15.2215685074905 | etot = -14.6249037421074 -781000 ekin = 0.36344584750217 | erot = 0.25224414994015 | epot = -15.2405937395998 | etot = -14.6249037421575 -782000 ekin = 0.372957766808887 | erot = 0.264688770758124 | epot = -15.2625502798461 | etot = -14.6249037422791 -783000 ekin = 0.38296926774882 | erot = 0.277702579812121 | epot = -15.2855755900113 | etot = -14.6249037424504 -784000 ekin = 0.391670514066059 | erot = 0.290462881206425 | epot = -15.3070371379046 | etot = -14.6249037426321 -785000 ekin = 0.397003136152363 | erot = 0.302237882822127 | epot = -15.3241447617524 | etot = -14.6249037427779 -786000 ekin = 0.397244540913185 | erot = 0.312520082335045 | epot = -15.3346683660963 | etot = -14.6249037428481 -787000 ekin = 0.391525061079143 | erot = 0.321121025638669 | epot = -15.33754982954 | etot = -14.6249037428222 -788000 ekin = 0.380116514494114 | erot = 0.328198366844194 | epot = -15.3332186240437 | etot = -14.6249037427054 -789000 ekin = 0.364402868102804 | erot = 0.334204933643257 | epot = -15.323511544273 | etot = -14.6249037425269 -790000 ekin = 0.346547882835914 | erot = 0.339772664564402 | epot = -15.3112242897307 | etot = -14.6249037423304 -791000 ekin = 0.328969533926533 | erot = 0.345562661329726 | epot = -15.2994359374168 | etot = -14.6249037421606 -792000 ekin = 0.313783234687151 | erot = 0.352120250332853 | epot = -15.290807227072 | etot = -14.624903742052 -793000 ekin = 0.302371973145348 | erot = 0.359769001653092 | epot = -15.2870447168183 | etot = -14.6249037420198 -794000 ekin = 0.295192752069156 | erot = 0.368565036951925 | epot = -15.2886615310787 | etot = -14.6249037420576 -795000 ekin = 0.291854072001083 | erot = 0.378316728407065 | epot = -15.2950745425492 | etot = -14.624903742141 -796000 ekin = 0.291420477240231 | erot = 0.388659220599418 | epot = -15.3049834400759 | etot = -14.6249037422363 -797000 ekin = 0.292835767594049 | erot = 0.399160677915359 | epot = -15.3169001878201 | etot = -14.6249037423107 -798000 ekin = 0.295321690655136 | erot = 0.40942991973209 | epot = -15.3296553527312 | etot = -14.624903742344 -799000 ekin = 0.298615606685619 | erot = 0.419195269464138 | epot = -15.3427146184843 | etot = -14.6249037423346 -800000 ekin = 0.302963113079283 | erot = 0.428333265393292 | epot = -15.3562001207729 | etot = -14.6249037423003 -801000 ekin = 0.308869807419017 | erot = 0.436842111958073 | epot = -15.3706156616482 | etot = -14.6249037422711 -802000 ekin = 0.316711643346418 | erot = 0.444773620895252 | epot = -15.3863890065178 | etot = -14.6249037422762 -803000 ekin = 0.326365730602249 | erot = 0.452151664704984 | epot = -15.403421137639 | etot = -14.6249037423317 -804000 ekin = 0.337019280358016 | erot = 0.458909057451227 | epot = -15.4208320802433 | etot = -14.6249037424341 -805000 ekin = 0.347244531512768 | erot = 0.464865921886024 | epot = -15.4370141959588 | etot = -14.62490374256 -806000 ekin = 0.355321558015419 | erot = 0.469755825324061 | epot = -15.449981126015 | etot = -14.6249037426755 -807000 ekin = 0.359699244804511 | erot = 0.473288399899576 | epot = -15.457891387451 | etot = -14.6249037427469 -808000 ekin = 0.35944291943687 | erot = 0.475225772200724 | epot = -15.4595724343888 | etot = -14.6249037427512 -809000 ekin = 0.354532149711152 | erot = 0.475448148012716 | epot = -15.4548840404063 | etot = -14.6249037426824 -810000 ekin = 0.34592712151575 | erot = 0.473990365430488 | epot = -15.4448212294989 | etot = -14.6249037425527 -811000 ekin = 0.335391497319932 | erot = 0.47104235524006 | epot = -15.4313375949483 | etot = -14.6249037423883 -812000 ekin = 0.325122479809716 | erot = 0.466917662640269 | epot = -15.4169438846729 | etot = -14.624903742223 -813000 ekin = 0.317281832618796 | erot = 0.462001954841414 | epot = -15.4041875295496 | etot = -14.6249037420894 -814000 ekin = 0.313538689251802 | erot = 0.456696276151744 | epot = -15.3951387074161 | etot = -14.6249037420126 -815000 ekin = 0.314725301427551 | erot = 0.451368238943745 | epot = -15.3909972823755 | etot = -14.6249037420042 -816000 ekin = 0.320674745952841 | erot = 0.446320054204994 | epot = -15.3918985422197 | etot = -14.6249037420619 -817000 ekin = 0.330264402530169 | erot = 0.441777145070237 | epot = -15.3969452897705 | etot = -14.6249037421701 -818000 ekin = 0.341643112116294 | erot = 0.437896324121931 | epot = -15.4044431785426 | etot = -14.6249037423044 -819000 ekin = 0.352584467965985 | erot = 0.434788688971306 | epot = -15.4122768993744 | etot = -14.6249037424371 -820000 ekin = 0.360890006680584 | erot = 0.432549774287109 | epot = -15.4183435235104 | etot = -14.6249037425427 -821000 ekin = 0.364764924967109 | erot = 0.43128829359489 | epot = -15.420956961164 | etot = -14.624903742602 -822000 ekin = 0.363101323048021 | erot = 0.431144612410221 | epot = -15.419149678064 | etot = -14.6249037426058 -823000 ekin = 0.355627506071419 | erot = 0.43229307921143 | epot = -15.4128243278382 | etot = -14.6249037425554 -824000 ekin = 0.342909507999076 | erot = 0.434926118199362 | epot = -15.4027393686599 | etot = -14.6249037424615 -825000 ekin = 0.326218347990279 | erot = 0.439222871854997 | epot = -15.390344962187 | etot = -14.6249037423417 -826000 ekin = 0.307298067026364 | erot = 0.445309293137064 | epot = -15.3775111023799 | etot = -14.6249037422164 -827000 ekin = 0.288081469809457 | erot = 0.453218819733404 | epot = -15.3662040316486 | etot = -14.6249037421057 -828000 ekin = 0.270403517643933 | erot = 0.462862712071296 | epot = -15.358169971741 | etot = -14.6249037420258 -829000 ekin = 0.255756724313351 | erot = 0.474017347276038 | epot = -15.3546778135762 | etot = -14.6249037419868 -830000 ekin = 0.245120383539822 | erot = 0.48633201659407 | epot = -15.3563561421258 | etot = -14.624903741992 -831000 ekin = 0.238883956789673 | erot = 0.499357971990034 | epot = -15.3631456708166 | etot = -14.6249037420369 -832000 ekin = 0.236868645663221 | erot = 0.512595315427615 | epot = -15.3743677032019 | etot = -14.6249037421111 -833000 ekin = 0.238435989569064 | erot = 0.525550909042522 | epot = -15.3888906408114 | etot = -14.6249037421998 -834000 ekin = 0.242658569128244 | erot = 0.537797737790336 | epot = -15.405360049206 | etot = -14.6249037422874 -835000 ekin = 0.248518315376458 | erot = 0.549024910269567 | epot = -15.4224469680061 | etot = -14.62490374236 -836000 ekin = 0.255095050223297 | erot = 0.559068449138061 | epot = -15.4390672417691 | etot = -14.6249037424078 -837000 ekin = 0.261712817640754 | erot = 0.567916383627862 | epot = -15.4545329436951 | etot = -14.6249037424265 -838000 ekin = 0.268023056778799 | erot = 0.575686784519135 | epot = -15.468613583716 | etot = -14.6249037424181 -839000 ekin = 0.274018270323247 | erot = 0.582582979366575 | epot = -15.481504992079 | etot = -14.6249037423892 -840000 ekin = 0.279983100774044 | erot = 0.588834754839254 | epot = -15.493721597963 | etot = -14.6249037423497 -841000 ekin = 0.286398274628748 | erot = 0.594637024330571 | epot = -15.5059390412695 | etot = -14.6249037423102 -842000 ekin = 0.293816650983671 | erot = 0.600098453280244 | epot = -15.5188188465455 | etot = -14.6249037422816 -843000 ekin = 0.302726774569864 | erot = 0.605208920748267 | epot = -15.5328394375906 | etot = -14.6249037422725 -844000 ekin = 0.313421069061913 | erot = 0.609833296484503 | epot = -15.5481581078352 | etot = -14.6249037422888 -845000 ekin = 0.325887895395929 | erot = 0.613733577818103 | epot = -15.5645252155455 | etot = -14.6249037423314 -846000 ekin = 0.33975240096389 | erot = 0.616615984720062 | epot = -15.5812721280797 | etot = -14.6249037423957 -847000 ekin = 0.354292335350613 | erot = 0.618194079532099 | epot = -15.5973901573538 | etot = -14.624903742471 -848000 ekin = 0.368542667425734 | erot = 0.618254639141467 | epot = -15.6117010491094 | etot = -14.6249037425422 -849000 ekin = 0.381474241846711 | erot = 0.616711095272622 | epot = -15.6230890797133 | etot = -14.624903742594 -850000 ekin = 0.392198266664605 | erot = 0.613631554978577 | epot = -15.6307335642585 | etot = -14.6249037426153 -851000 ekin = 0.400129367739792 | erot = 0.609234588534973 | epot = -15.6342676988789 | etot = -14.6249037426041 -852000 ekin = 0.405049998800082 | erot = 0.603854451145949 | epot = -15.6338081925133 | etot = -14.6249037425673 -853000 ekin = 0.407056563943438 | erot = 0.597885334647268 | epot = -15.6298456411094 | etot = -14.6249037425187 -854000 ekin = 0.406415158940066 | erot = 0.591718979209663 | epot = -15.623037880623 | etot = -14.6249037424732 -855000 ekin = 0.403390043513582 | erot = 0.585690332508252 | epot = -15.6139841184641 | etot = -14.6249037424422 -856000 ekin = 0.398116166002876 | erot = 0.580042463524147 | epot = -15.6030623719562 | etot = -14.6249037424292 -857000 ekin = 0.39056801615961 | erot = 0.574915889724005 | epot = -15.5903876483121 | etot = -14.6249037424285 -858000 ekin = 0.380638245095305 | erot = 0.570361176879803 | epot = -15.5759031644036 | etot = -14.6249037424285 -859000 ekin = 0.368297168913566 | erot = 0.566367903414504 | epot = -15.5595688147431 | etot = -14.624903742415 -860000 ekin = 0.353771484485059 | erot = 0.56289933566622 | epot = -15.5415745625294 | etot = -14.6249037423781 -861000 ekin = 0.33766818907467 | erot = 0.559921190515333 | epot = -15.5224931219057 | etot = -14.6249037423157 -862000 ekin = 0.320982687533336 | erot = 0.557415114411014 | epot = -15.5033015441806 | etot = -14.6249037422363 -863000 ekin = 0.304965814690107 | erot = 0.555372641471618 | epot = -15.485242198319 | etot = -14.6249037421573 -864000 ekin = 0.290872653002407 | erot = 0.5537720825734 | epot = -15.4695484776756 | etot = -14.6249037420998 -865000 ekin = 0.27966077424891 | erot = 0.552546988654679 | epot = -15.4571115049861 | etot = -14.6249037420825 -866000 ekin = 0.271730646598884 | erot = 0.551558423385933 | epot = -15.4481928120997 | etot = -14.6249037421148 -867000 ekin = 0.266795961580335 | erot = 0.550582916185739 | epot = -15.442282619959 | etot = -14.6249037421929 -868000 ekin = 0.263936467175558 | erot = 0.549323573879739 | epot = -15.4381637833552 | etot = -14.6249037422999 -869000 ekin = 0.261831470221842 | erot = 0.547444696243082 | epot = -15.4341799088743 | etot = -14.6249037424094 -870000 ekin = 0.259116433169414 | erot = 0.544622620095275 | epot = -15.4286427957584 | etot = -14.6249037424937 -871000 ekin = 0.254766113418661 | erot = 0.540599894777671 | epot = -15.4202697507265 | etot = -14.6249037425302 -872000 ekin = 0.248397230691804 | erot = 0.535228153627548 | epot = -15.4085291268285 | etot = -14.6249037425092 -873000 ekin = 0.240403953826285 | erot = 0.528487826572583 | epot = -15.3937955228344 | etot = -14.6249037424355 -874000 ekin = 0.231884125783745 | erot = 0.520479317821078 | epot = -15.3772671859334 | etot = -14.6249037423285 -875000 ekin = 0.224371090313998 | erot = 0.511388489700788 | epot = -15.3606633222313 | etot = -14.6249037422165 -876000 ekin = 0.219440883380304 | erot = 0.501436812694108 | epot = -15.3457814382033 | etot = -14.6249037421289 -877000 ekin = 0.218302972736541 | erot = 0.490831150818269 | epot = -15.3340378656425 | etot = -14.6249037420877 -878000 ekin = 0.221492456263516 | erot = 0.479728387736696 | epot = -15.3261245861012 | etot = -14.624903742101 -879000 ekin = 0.228756262275047 | erot = 0.468225594693746 | epot = -15.3218855991288 | etot = -14.62490374216 -880000 ekin = 0.23916916008879 | erot = 0.456378166082174 | epot = -15.3204510684128 | etot = -14.6249037422418 -881000 ekin = 0.251443176614632 | erot = 0.444238659513065 | epot = -15.3205855784454 | etot = -14.6249037423177 -882000 ekin = 0.264330844663881 | erot = 0.43190128969608 | epot = -15.3211358767216 | etot = -14.6249037423616 -883000 ekin = 0.276992343361879 | erot = 0.419534292632584 | epot = -15.3214303783539 | etot = -14.6249037423594 -884000 ekin = 0.289210952362963 | erot = 0.407386172192775 | epot = -15.3215008668683 | etot = -14.6249037423126 -885000 ekin = 0.301394205511005 | erot = 0.395760928443894 | epot = -15.3220588761927 | etot = -14.6249037422378 -886000 ekin = 0.31436859920589 | erot = 0.384968165379889 | epot = -15.3242405067469 | etot = -14.6249037421611 -887000 ekin = 0.329038341775477 | erot = 0.375262338090619 | epot = -15.3292044219764 | etot = -14.6249037421103 -888000 ekin = 0.346015111155314 | erot = 0.366788650328168 | epot = -15.3377075035892 | etot = -14.6249037421057 -889000 ekin = 0.365329693883282 | erot = 0.35955094737734 | epot = -15.3497843834164 | etot = -14.6249037421558 -890000 ekin = 0.386310696216818 | erot = 0.353410826838142 | epot = -15.3646252653079 | etot = -14.6249037422529 -891000 ekin = 0.407668087054666 | erot = 0.348119126036796 | epot = -15.3806909554674 | etot = -14.6249037423759 -892000 ekin = 0.427761236102702 | erot = 0.343372786942168 | epot = -15.396037765541 | etot = -14.6249037424962 -893000 ekin = 0.444977236018704 | erot = 0.338883525692821 | epot = -15.4087645042964 | etot = -14.6249037425849 -894000 ekin = 0.458112158679596 | erot = 0.334441343917346 | epot = -15.4174572452184 | etot = -14.6249037426214 -895000 ekin = 0.466648008330968 | erot = 0.329956933565266 | epot = -15.4215086844955 | etot = -14.6249037425992 -896000 ekin = 0.470850232518833 | erot = 0.325472374552695 | epot = -15.421226349598 | etot = -14.6249037425264 -897000 ekin = 0.471664510487189 | erot = 0.321137893833246 | epot = -15.4177061467443 | etot = -14.6249037424239 -898000 ekin = 0.470447771985121 | erot = 0.31716128210791 | epot = -15.4125127964118 | etot = -14.6249037423187 -899000 ekin = 0.468609320535131 | erot = 0.31374324783162 | epot = -15.4072563106044 | etot = -14.6249037422377 -900000 ekin = 0.467255363896452 | erot = 0.311015004595572 | epot = -15.4031741106926 | etot = -14.6249037422006 -901000 ekin = 0.466923299456765 | erot = 0.308993431077939 | epot = -15.4008204727507 | etot = -14.624903742216 -902000 ekin = 0.467466399705909 | erot = 0.307564919774022 | epot = -15.3999350617589 | etot = -14.624903742279 -903000 ekin = 0.468112799245423 | erot = 0.30650258938551 | epot = -15.3995191310034 | etot = -14.6249037423724 -904000 ekin = 0.467682260081114 | erot = 0.305513914729626 | epot = -15.3980999172821 | etot = -14.6249037424714 -905000 ekin = 0.464906903208319 | erot = 0.304308207539406 | epot = -15.3941188532968 | etot = -14.6249037425491 -906000 ekin = 0.458775313350499 | erot = 0.302667437698498 | epot = -15.3863464936332 | etot = -14.6249037425842 -907000 ekin = 0.448811106797387 | erot = 0.300501710925559 | epot = -15.3742165602889 | etot = -14.624903742566 -908000 ekin = 0.435212888278633 | erot = 0.297873922704189 | epot = -15.3579905534804 | etot = -14.6249037424975 -909000 ekin = 0.418821166579361 | erot = 0.294986492955396 | epot = -15.3387114019291 | etot = -14.6249037423944 -910000 ekin = 0.400928155652502 | erot = 0.292134043124591 | epot = -15.3179659410567 | etot = -14.6249037422796 -911000 ekin = 0.38299073131904 | erot = 0.289635345607532 | epot = -15.2975298191036 | etot = -14.624903742177 -912000 ekin = 0.366329155570265 | erot = 0.287762457046 | epot = -15.2789953547218 | etot = -14.6249037421055 -913000 ekin = 0.351888443631644 | erot = 0.286683662572436 | epot = -15.263475848279 | etot = -14.6249037420749 -914000 ekin = 0.340111462795988 | erot = 0.286431278414276 | epot = -15.2514464832956 | etot = -14.6249037420854 -915000 ekin = 0.330936398540546 | erot = 0.286898247266849 | epot = -15.2427383879358 | etot = -14.6249037421284 -916000 ekin = 0.32389927160205 | erot = 0.287861143478129 | epot = -15.2366641572708 | etot = -14.6249037421907 -917000 ekin = 0.318302399047882 | erot = 0.289022784864801 | epot = -15.2322289261694 | etot = -14.6249037422567 -918000 ekin = 0.313403328232211 | erot = 0.290065205370544 | epot = -15.2283722759156 | etot = -14.6249037423128 -919000 ekin = 0.308582994047746 | erot = 0.290702987753655 | epot = -15.2241897241503 | etot = -14.6249037423489 -920000 ekin = 0.303462620955297 | erot = 0.290727692024701 | epot = -15.2190940553404 | etot = -14.6249037423604 -921000 ekin = 0.297952758523176 | erot = 0.290036267627134 | epot = -15.2128927684984 | etot = -14.624903742348 -922000 ekin = 0.292232329167479 | erot = 0.288639696922892 | epot = -15.2057757684081 | etot = -14.6249037423177 -923000 ekin = 0.286668877938219 | erot = 0.286652137103033 | epot = -15.1982247573198 | etot = -14.6249037422785 -924000 ekin = 0.281701868658443 | erot = 0.284264668755385 | epot = -15.1908702796542 | etot = -14.6249037422404 -925000 ekin = 0.277717553237889 | erot = 0.281710557644916 | epot = -15.1843318530949 | etot = -14.6249037422121 -926000 ekin = 0.274945509179126 | erot = 0.279230091666523 | epot = -15.1790793430443 | etot = -14.6249037421987 -927000 ekin = 0.273402631519641 | erot = 0.277042382113033 | epot = -15.1753487558335 | etot = -14.6249037422009 -928000 ekin = 0.272900230271313 | erot = 0.27532923254522 | epot = -15.1731332050308 | etot = -14.6249037422143 -929000 ekin = 0.273115271900815 | erot = 0.274232799537056 | epot = -15.1722518136686 | etot = -14.6249037422307 -930000 ekin = 0.273710515355576 | erot = 0.273865029643896 | epot = -15.1724792872395 | etot = -14.6249037422401 -931000 ekin = 0.274474107139751 | erot = 0.274323617228769 | epot = -15.1737014666023 | etot = -14.6249037422338 -932000 ekin = 0.275440857683152 | erot = 0.275707340216854 | epot = -15.176051940107 | etot = -14.624903742207 -933000 ekin = 0.276957575781874 | erot = 0.278123705988361 | epot = -15.1799850239313 | etot = -14.6249037421611 -934000 ekin = 0.279664435383878 | erot = 0.281683992543418 | epot = -15.1862521700318 | etot = -14.6249037421045 -935000 ekin = 0.284382433296915 | erot = 0.286484503522641 | epot = -15.1957706788708 | etot = -14.6249037420512 -936000 ekin = 0.291920557579979 | erot = 0.292577187598074 | epot = -15.2094014871964 | etot = -14.6249037420184 -937000 ekin = 0.302840159169775 | erot = 0.299936553990588 | epot = -15.2276804551825 | etot = -14.6249037420221 -938000 ekin = 0.317231541763407 | erot = 0.308432066638773 | epot = -15.2505673504752 | etot = -14.6249037420731 -939000 ekin = 0.334562734704664 | erot = 0.317815317270636 | epot = -15.2772817941479 | etot = -14.6249037421726 -940000 ekin = 0.353649521805238 | erot = 0.327729086105133 | epot = -15.3062823502217 | etot = -14.6249037423114 -941000 ekin = 0.372770367646981 | erot = 0.337741122003566 | epot = -15.3354152321204 | etot = -14.6249037424699 -942000 ekin = 0.389915662531947 | erot = 0.347399749799135 | epot = -15.3622191549531 | etot = -14.6249037426221 -943000 ekin = 0.403126345739486 | erot = 0.356302369934052 | epot = -15.3843324584141 | etot = -14.6249037427406 -944000 ekin = 0.410851754406517 | erot = 0.364163156178947 | epot = -15.3999186533885 | etot = -14.624903742803 -945000 ekin = 0.412247920960694 | erot = 0.370864511414574 | epot = -15.4080161751724 | etot = -14.6249037427972 -946000 ekin = 0.407348747780355 | erot = 0.376479254457633 | epot = -15.4087317449614 | etot = -14.6249037427235 -947000 ekin = 0.397071124217177 | erot = 0.381256899558804 | epot = -15.4032317663713 | etot = -14.6249037425953 -948000 ekin = 0.383053455726579 | erot = 0.385576026491136 | epot = -15.3935332246539 | etot = -14.6249037424362 -949000 ekin = 0.367364810070546 | erot = 0.389872987609663 | epot = -15.382141539954 | etot = -14.6249037422738 -950000 ekin = 0.352149150211141 | erot = 0.394562514443112 | epot = -15.371615406789 | etot = -14.6249037421348 -951000 ekin = 0.339280178143099 | erot = 0.399966938641359 | epot = -15.3641508588234 | etot = -14.6249037420389 -952000 ekin = 0.330096120379237 | erot = 0.406268489131811 | epot = -15.3612683515071 | etot = -14.6249037419961 -953000 ekin = 0.325261831669684 | erot = 0.413492937870729 | epot = -15.3636585115451 | etot = -14.6249037420047 -954000 ekin = 0.324774911929383 | erot = 0.421526046053159 | epot = -15.3712047000361 | etot = -14.6249037420535 -955000 ekin = 0.328098170459405 | erot = 0.43015685816017 | epot = -15.3831587707447 | etot = -14.6249037421252 -956000 ekin = 0.334370903123805 | erot = 0.439135698166764 | epot = -15.3984103434923 | etot = -14.6249037422018 -957000 ekin = 0.342633913360331 | erot = 0.448231239799098 | epot = -15.415768895429 | etot = -14.6249037422696 -958000 ekin = 0.352004139469646 | erot = 0.457271615167415 | epot = -15.4341794969597 | etot = -14.6249037423226 -959000 ekin = 0.361755395785228 | erot = 0.466159587643494 | epot = -15.4528187257923 | etot = -14.6249037423635 -960000 ekin = 0.371296348402955 | erot = 0.474860087932416 | epot = -15.4710601787363 | etot = -14.6249037424009 -961000 ekin = 0.380073790912418 | erot = 0.483367158174937 | epot = -15.4883446915324 | etot = -14.624903742445 -962000 ekin = 0.387455548950117 | erot = 0.491663490520803 | epot = -15.5040227819739 | etot = -14.624903742503 -963000 ekin = 0.392654097311874 | erot = 0.49968729563245 | epot = -15.5172451355191 | etot = -14.6249037425748 -964000 ekin = 0.394737939559185 | erot = 0.507318071995981 | epot = -15.5269597542072 | etot = -14.624903742652 -965000 ekin = 0.392748486467115 | erot = 0.514386334667554 | epot = -15.5320385638537 | etot = -14.6249037427191 -966000 ekin = 0.38590547325284 | erot = 0.520705106527849 | epot = -15.5315143225377 | etot = -14.624903742757 -967000 ekin = 0.373852021645421 | erot = 0.526114369234909 | epot = -15.5248701336288 | etot = -14.6249037427485 -968000 ekin = 0.356869417135994 | erot = 0.530525868585158 | epot = -15.5122990284054 | etot = -14.6249037426842 -969000 ekin = 0.335986889834556 | erot = 0.533955228284217 | epot = -15.4948458606857 | etot = -14.624903742567 -970000 ekin = 0.312927788672648 | erot = 0.536531428461786 | epot = -15.4743629595477 | etot = -14.6249037424133 -971000 ekin = 0.289872105907182 | erot = 0.538479668129509 | epot = -15.4532555162878 | etot = -14.6249037422511 -972000 ekin = 0.269070232407033 | erot = 0.540080898361602 | epot = -15.4340548728818 | etot = -14.6249037421131 -973000 ekin = 0.252397022945933 | erot = 0.54161782723094 | epot = -15.4189185922051 | etot = -14.6249037420282 -974000 ekin = 0.240964852823081 | erot = 0.543321042152107 | epot = -15.4091896369882 | etot = -14.624903742013 -975000 ekin = 0.23490216482483 | erot = 0.545328986458791 | epot = -15.4051348933517 | etot = -14.6249037420681 -976000 ekin = 0.233353466622718 | erot = 0.547671994180028 | epot = -15.4059292029808 | etot = -14.624903742178 -977000 ekin = 0.23469220109011 | erot = 0.550284513867316 | epot = -15.4098804572738 | etot = -14.6249037423163 -978000 ekin = 0.236887903181319 | erot = 0.553043053342949 | epot = -15.4148346989756 | etot = -14.6249037424513 -979000 ekin = 0.237945797132614 | erot = 0.555821040963938 | epot = -15.4186705806485 | etot = -14.624903742552 -980000 ekin = 0.236334546964098 | erot = 0.558547250125554 | epot = -15.4197855396836 | etot = -14.624903742594 -981000 ekin = 0.231322843924842 | erot = 0.561252158433111 | epot = -15.4174787449233 | etot = -14.6249037425653 -982000 ekin = 0.223154169545187 | erot = 0.564087592075058 | epot = -15.4121455040898 | etot = -14.6249037424696 -983000 ekin = 0.213008719539848 | erot = 0.567310103887051 | epot = -15.405222565754 | etot = -14.6249037423271 -984000 ekin = 0.202740628548823 | erot = 0.571227590062905 | epot = -15.3988719607832 | etot = -14.6249037421715 -985000 ekin = 0.19443566515497 | erot = 0.576119771488149 | epot = -15.395459178685 | etot = -14.6249037420419 -986000 ekin = 0.189894304519326 | erot = 0.582152858152867 | epot = -15.3969509046438 | etot = -14.6249037419716 -987000 ekin = 0.190182835425093 | erot = 0.589313613953994 | epot = -15.4044001913574 | etot = -14.6249037419783 -988000 ekin = 0.195390213187501 | erot = 0.597385005524193 | epot = -15.4176789607687 | etot = -14.624903742057 -989000 ekin = 0.204671362362471 | erot = 0.605974905403898 | epot = -15.4355500099488 | etot = -14.6249037421824 -990000 ekin = 0.216563394578787 | erot = 0.614593273597699 | epot = -15.4560604104926 | etot = -14.6249037423161 -991000 ekin = 0.229465191862139 | erot = 0.622757127490779 | epot = -15.4771260617733 | etot = -14.6249037424204 -992000 ekin = 0.242114271128949 | erot = 0.630092599917091 | epot = -15.4971106135164 | etot = -14.6249037424704 -993000 ekin = 0.253902581480084 | erot = 0.636403793831659 | epot = -15.5152101177729 | etot = -14.6249037424612 -994000 ekin = 0.264939510335902 | erot = 0.641689105048086 | epot = -15.5315323577919 | etot = -14.6249037424079 -995000 ekin = 0.275864888579236 | erot = 0.646102898208602 | epot = -15.5468715291263 | etot = -14.6249037423384 -996000 ekin = 0.287497820770256 | erot = 0.649877086441226 | epot = -15.5622786494954 | etot = -14.6249037422839 -997000 ekin = 0.300450307467438 | erot = 0.65322742357329 | epot = -15.5785814733092 | etot = -14.6249037422685 -998000 ekin = 0.314829914377602 | erot = 0.656270894957618 | epot = -15.5960045516385 | etot = -14.6249037423033 -999000 ekin = 0.330110494517114 | erot = 0.658973630822449 | epot = -15.6139878677246 | etot = -14.624903742385 -1000000 ekin = 0.345190458650495 | erot = 0.661138339466907 | epot = -15.6312325406154 | etot = -14.624903742498 - 1000000 0.025569664 -1.5839232 0.020799898 -1.5286042 -3.5789082e-06 -Loop time of 16.5683 on 1 procs for 1000000 steps with 10 atoms - -Performance: 52147.644 tau/day, 60356.069 timesteps/s -99.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 | 12.734 | 12.734 | 12.734 | 0.0 | 76.86 -Bond | 0.62259 | 0.62259 | 0.62259 | 0.0 | 3.76 -Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.18386 | 0.18386 | 0.18386 | 0.0 | 1.11 -Output | 7e-06 | 7e-06 | 7e-06 | 0.0 | 0.00 -Modify | 2.7788 | 2.7788 | 2.7788 | 0.0 | 16.77 -Other | | 0.2491 | | | 1.50 - -Nlocal: 10.0 ave 10.0 max 10.0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 0.0 ave 0.0 max 0.0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 37.0 ave 37.0 max 37.0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 37 -Ave neighs/atom = 3.7 -Ave special neighs/atom = 3.6 -Neighbor list builds = 0 -Dangerous builds = 0 - -#write_restart config.${number}.* -Total wall time: 0:00:16 diff --git a/examples/PACKAGES/cgdna/examples/oxDNA2/duplex3/log.30Jun20.duplex3.g++.4 b/examples/PACKAGES/cgdna/examples/oxDNA2/duplex3/log.30Jun20.duplex3.g++.4 deleted file mode 100644 index f798b331e4..0000000000 --- a/examples/PACKAGES/cgdna/examples/oxDNA2/duplex3/log.30Jun20.duplex3.g++.4 +++ /dev/null @@ -1,1182 +0,0 @@ -LAMMPS (30 Jun 2020) -variable number equal 3 -variable ofreq equal 1000 -variable efreq equal 1000 -variable T equal 0.1 - -units lj - -dimension 3 - -newton off - -boundary p p p - -atom_style hybrid bond ellipsoid -WARNING: Atom_style hybrid defines both pertype and peratom masses - both must be set, only peratom masses will be used (../atom_vec_hybrid.cpp:156) -atom_modify sort 0 1.0 - -# Pair interactions require lists of neighbours to be calculated -neighbor 1.0 bin -neigh_modify every 1 delay 0 check yes - -read_data data.duplex3 - orthogonal box = (-20 -20 -20) to (20 20 20) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 10 atoms - reading velocities ... - 10 velocities - 10 ellipsoids - scanning bonds ... - 2 = max bonds/atom - reading bonds ... - 8 bonds - 2 = max # of 1-2 neighbors - 2 = max # of 1-3 neighbors - 2 = max # of 1-4 neighbors - 4 = max # of special neighbors - special bonds CPU = 0.001 seconds - read_data CPU = 0.004 seconds - -set atom * mass 1.0 - 10 settings made for mass - -group all type 1 4 -10 atoms in group all - -# oxDNA2 bond interactions - FENE backbone -bond_style oxdna2/fene -bond_coeff * 2.0 0.25 0.7564 -special_bonds lj 0 1 1 - 2 = max # of 1-2 neighbors - 2 = max # of 1-3 neighbors - 2 = max # of 1-4 neighbors - 4 = max # of special neighbors - special bonds CPU = 0.000 seconds - -# oxDNA2 pair interactions -pair_style hybrid/overlay oxdna2/excv oxdna2/stk oxdna2/hbond oxdna2/xstk oxdna2/coaxstk oxdna2/dh -pair_coeff * * oxdna2/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32 -pair_coeff * * oxdna2/stk seqdep ${T} 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 -pair_coeff * * oxdna2/stk seqdep 0.1 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 -pair_coeff * * oxdna2/hbond seqdep 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 1 4 oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 2 3 oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff * * oxdna2/xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68 -pair_coeff * * oxdna2/coaxstk 58.5 0.4 0.6 0.22 0.58 2.0 2.891592653589793 0.65 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 40.0 3.116592653589793 -pair_coeff * * oxdna2/dh ${T} 1.0 0.815 -pair_coeff * * oxdna2/dh 0.1 1.0 0.815 - -# NVE ensemble -fix 1 all nve/dot -#fix 1 all nve/dotc/langevin ${T} ${T} 0.03 457145 angmom 10 -#fix 1 all nve/asphere -#fix 2 all langevin ${T} ${T} 0.03 457145 angmom 10 - -timestep 1e-5 - -#comm_style tiled -#fix 3 all balance 10000 1.1 rcb -comm_modify cutoff 2.5 - -#compute mol all chunk/atom molecule -#compute mychunk all vcm/chunk mol -#fix 4 all ave/time 10000 1 10000 c_mychunk[1] c_mychunk[2] c_mychunk[3] file vcm.txt mode vector - -#dump pos all xyz ${ofreq} traj.${number}.xyz - -#compute quat all property/atom quatw quati quatj quatk -#dump quat all custom ${ofreq} quat.${number}.txt id c_quat[1] c_quat[2] c_quat[3] c_quat[4] -#dump_modify quat sort id -#dump_modify quat format line "%d %13.6le %13.6le %13.6le %13.6le" - -compute erot all erotate/asphere -compute ekin all ke -compute epot all pe -variable erot equal c_erot -variable ekin equal c_ekin -variable epot equal c_epot -variable etot equal c_erot+c_ekin+c_epot -fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes -fix 5 all print 1000 "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes - -#dump out all custom ${ofreq} out.${number}.txt id x y z vx vy vz fx fy fz tqx tqy tqz -#dump_modify out sort id -#dump_modify out format line "%d %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le" - -run 1000000 -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.6274048 - ghost atom cutoff = 2.6274048 - binsize = 1.3137024, bins = 31 31 31 - 6 neighbor lists, perpetual/occasional/extra = 6 0 0 - (1) pair oxdna2/excv, perpetual - attributes: half, newton off - pair build: half/bin/newtoff - stencil: half/bin/3d/newtoff - bin: standard - (2) pair oxdna2/stk, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (3) pair oxdna2/hbond, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (4) pair oxdna2/xstk, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (5) pair oxdna2/coaxstk, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (6) pair oxdna2/dh, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none -WARNING: Communication cutoff adjusted to 2.627404783947349 (../comm.cpp:690) -0 ekin = 0 | erot = 0 | epot = -14.6249037416652 | etot = -14.6249037416652 -Per MPI rank memory allocation (min/avg/max) = 7.903 | 7.96 | 8.018 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 0 -1.4720158 0.009525411 -1.4624904 3.1370518e-06 -1000 ekin = 0.00366431201929595 | erot = 0.00193726360268106 | epot = -14.630505317301 | etot = -14.624903741679 -2000 ekin = 0.0144775076075461 | erot = 0.00770914672939826 | epot = -14.6470903960565 | etot = -14.6249037417196 -3000 ekin = 0.0319122186081537 | erot = 0.017197232864929 | epot = -14.6740131932573 | etot = -14.6249037417842 -4000 ekin = 0.055128304350968 | erot = 0.0302085305548261 | epot = -14.7102405767754 | etot = -14.6249037418696 -5000 ekin = 0.0830285165715777 | erot = 0.0464820547542036 | epot = -14.7544143132963 | etot = -14.6249037419705 -6000 ekin = 0.11433112154675 | erot = 0.0656980211282502 | epot = -14.8049328847556 | etot = -14.6249037420806 -7000 ekin = 0.14765386656188 | erot = 0.0874894888755877 | epot = -14.8600470976311 | etot = -14.6249037421936 -8000 ekin = 0.18160209956019 | erot = 0.111456095727761 | epot = -14.9179619375912 | etot = -14.6249037423032 -9000 ekin = 0.214852894725897 | erot = 0.137179311245239 | epot = -14.9769359483746 | etot = -14.6249037424035 -10000 ekin = 0.246227151956005 | erot = 0.164238435218469 | epot = -15.0353693296649 | etot = -14.6249037424904 -11000 ekin = 0.274743080419017 | erot = 0.192226420003323 | epot = -15.091873242983 | etot = -14.6249037425607 -12000 ekin = 0.299647141765663 | erot = 0.220764512146746 | epot = -15.1453153965252 | etot = -14.6249037426128 -13000 ekin = 0.320421918860927 | erot = 0.249514690530647 | epot = -15.1948403520386 | etot = -14.624903742647 -14000 ekin = 0.336773734884323 | erot = 0.278188933730603 | epot = -15.2398664112794 | etot = -14.6249037426645 -15000 ekin = 0.34860541376287 | erot = 0.306554508009539 | epot = -15.2800636644399 | etot = -14.6249037426675 -16000 ekin = 0.355980829097832 | erot = 0.334434770083873 | epot = -15.3153193418403 | etot = -14.6249037426586 -17000 ekin = 0.359087701059401 | erot = 0.361705441666651 | epot = -15.3456968853665 | etot = -14.6249037426405 -18000 ekin = 0.358203710992248 | erot = 0.388286889516457 | epot = -15.3713943431244 | etot = -14.6249037426157 -19000 ekin = 0.353668912555266 | erot = 0.414133518537258 | epot = -15.3927061736789 | etot = -14.6249037425864 -20000 ekin = 0.345865220775347 | erot = 0.439221805285588 | epot = -15.4099907686155 | etot = -14.6249037425546 -21000 ekin = 0.335201981146553 | erot = 0.463538642606666 | epot = -15.423644366275 | etot = -14.6249037425218 -22000 ekin = 0.322105588835009 | erot = 0.487071492273222 | epot = -15.4340808235974 | etot = -14.6249037424892 -23000 ekin = 0.307010918596293 | erot = 0.509801406229522 | epot = -15.4417160672835 | etot = -14.6249037424577 -24000 ekin = 0.290352786033317 | erot = 0.53169940050183 | epot = -15.4469559289633 | etot = -14.6249037424281 -25000 ekin = 0.272556500902201 | erot = 0.552726088759337 | epot = -15.4501863320625 | etot = -14.624903742401 -26000 ekin = 0.254027484079225 | erot = 0.572834017299149 | epot = -15.451765243755 | etot = -14.6249037423766 -27000 ekin = 0.235140665216512 | erot = 0.591971851501351 | epot = -15.4520162590732 | etot = -14.6249037423553 -28000 ekin = 0.216230835846381 | erot = 0.610089455964456 | epot = -15.4512240341482 | etot = -14.6249037423373 -29000 ekin = 0.197585285158732 | erot = 0.627142960082751 | epot = -15.4496319875638 | etot = -14.6249037423223 -30000 ekin = 0.179439940173485 | erot = 0.643099062793524 | epot = -15.4474427452772 | etot = -14.6249037423102 -31000 ekin = 0.161979935826275 | erot = 0.657938056392414 | epot = -15.4448217345188 | etot = -14.6249037423001 -32000 ekin = 0.145345108983154 | erot = 0.671655297434073 | epot = -15.4419041487088 | etot = -14.6249037422916 -33000 ekin = 0.129640400345301 | erot = 0.684261083518649 | epot = -15.4388052261477 | etot = -14.6249037422838 -34000 ekin = 0.114950474500096 | erot = 0.695779112936577 | epot = -15.4356333297123 | etot = -14.6249037422756 -35000 ekin = 0.101357103460395 | erot = 0.706243888527945 | epot = -15.4325047342545 | etot = -14.6249037422661 -36000 ekin = 0.0889576334571495 | erot = 0.715697403164658 | epot = -15.4295587788764 | etot = -14.6249037422546 -37000 ekin = 0.0778817390290869 | erot = 0.724185638635694 | epot = -15.4269711199052 | etot = -14.6249037422404 -38000 ekin = 0.0683037091548152 | erot = 0.731755309647459 | epot = -15.4249627610255 | etot = -14.6249037422232 -39000 ekin = 0.0604476327394574 | erot = 0.738451228922887 | epot = -15.4238026038658 | etot = -14.6249037422035 -40000 ekin = 0.0545835914676698 | erot = 0.744314557682062 | epot = -15.4238018913317 | etot = -14.624903742182 -41000 ekin = 0.0510142787133431 | erot = 0.749382063190686 | epot = -15.425300084064 | etot = -14.6249037421599 -42000 ekin = 0.0500531571157122 | erot = 0.753686350478873 | epot = -15.4286432497339 | etot = -14.6249037421393 -43000 ekin = 0.0519969858277791 | erot = 0.757256889238925 | epot = -15.4341576171884 | etot = -14.6249037421217 -44000 ekin = 0.0570968352183795 | erot = 0.760121540481331 | epot = -15.4421221178083 | etot = -14.6249037421086 -45000 ekin = 0.0655321553469052 | erot = 0.762308219230389 | epot = -15.4527441166787 | etot = -14.6249037421014 -46000 ekin = 0.077391880036667 | erot = 0.763846321567477 | epot = -15.4661419437046 | etot = -14.6249037421005 -47000 ekin = 0.0926650518886644 | erot = 0.764767599959881 | epot = -15.4823363939543 | etot = -14.6249037421058 -48000 ekin = 0.111241466890937 | erot = 0.765106283689481 | epot = -15.5012514926974 | etot = -14.624903742117 -49000 ekin = 0.132920935183018 | erot = 0.764898395951864 | epot = -15.5227230732682 | etot = -14.6249037421333 -50000 ekin = 0.157428432862217 | erot = 0.764180392178735 | epot = -15.5465125671948 | etot = -14.6249037421538 -51000 ekin = 0.184431879186323 | erot = 0.762987403181098 | epot = -15.572323024545 | etot = -14.6249037421776 -52000 ekin = 0.213559336999553 | erot = 0.761351471408863 | epot = -15.5998145506122 | etot = -14.6249037422038 -53000 ekin = 0.244412677541706 | erot = 0.759300175100794 | epot = -15.6286165948746 | etot = -14.6249037422321 -54000 ekin = 0.276574826726782 | erot = 0.756855909735936 | epot = -15.6583344787253 | etot = -14.6249037422625 -55000 ekin = 0.309607708697251 | erot = 0.754035838659022 | epot = -15.6885472896524 | etot = -14.6249037422961 -56000 ekin = 0.343038597242195 | erot = 0.750852192167276 | epot = -15.7187945317442 | etot = -14.6249037423347 -57000 ekin = 0.376334705011675 | erot = 0.747312289063632 | epot = -15.748550736456 | etot = -14.6249037423806 -58000 ekin = 0.408870193943514 | erot = 0.743417624903406 | epot = -15.7771915612831 | etot = -14.6249037424361 -59000 ekin = 0.439895666476151 | erot = 0.739161690570044 | epot = -15.8039610995489 | etot = -14.6249037425027 -60000 ekin = 0.468524372325882 | erot = 0.734526514748492 | epot = -15.8279546296535 | etot = -14.6249037425791 -61000 ekin = 0.493750804630977 | erot = 0.729479048549992 | epot = -15.8481335958426 | etot = -14.6249037426617 -62000 ekin = 0.514511417905742 | erot = 0.723968952962828 | epot = -15.8633841136118 | etot = -14.6249037427432 -63000 ekin = 0.529785687820863 | erot = 0.717929490923054 | epot = -15.8726189215585 | etot = -14.6249037428146 -64000 ekin = 0.538722043350041 | erot = 0.711282639869802 | epot = -15.8749084260858 | etot = -14.624903742866 -65000 ekin = 0.540763046401972 | erot = 0.703948378732391 | epot = -15.8696151680244 | etot = -14.62490374289 -66000 ekin = 0.535742115227036 | erot = 0.695856780686584 | epot = -15.8565026387959 | etot = -14.6249037428823 -67000 ekin = 0.523930969354304 | erot = 0.68696057843429 | epot = -15.8357952906313 | etot = -14.6249037428428 -68000 ekin = 0.506029704478312 | erot = 0.677245632039928 | epot = -15.8081790792934 | etot = -14.6249037427752 -69000 ekin = 0.483104826200259 | erot = 0.666737270644213 | epot = -15.7747458395309 | etot = -14.6249037426864 -70000 ekin = 0.456490218293525 | erot = 0.655501536742973 | epot = -15.7368954976211 | etot = -14.6249037425846 -71000 ekin = 0.427669918862827 | erot = 0.643641521525979 | epot = -15.696215182867 | etot = -14.6249037424782 -72000 ekin = 0.398160338931837 | erot = 0.631289876690699 | epot = -15.6543539579978 | etot = -14.6249037423753 -73000 ekin = 0.369405258277091 | erot = 0.618599034382457 | epot = -15.6129080349413 | etot = -14.6249037422818 -74000 ekin = 0.342691749042478 | erot = 0.605730669564096 | epot = -15.573326160809 | etot = -14.6249037422024 -75000 ekin = 0.319090526807116 | erot = 0.592845634905565 | epot = -15.5368399038526 | etot = -14.6249037421399 -76000 ekin = 0.299420611427649 | erot = 0.580095163563256 | epot = -15.5044195170865 | etot = -14.6249037420956 -77000 ekin = 0.284235504575202 | erot = 0.567613716752232 | epot = -15.476752963397 | etot = -14.6249037420696 -78000 ekin = 0.273826140866745 | erot = 0.555513536863883 | epot = -15.4542434197916 | etot = -14.624903742061 -79000 ekin = 0.268234635497765 | erot = 0.54388078034531 | epot = -15.437019157912 | etot = -14.6249037420689 -80000 ekin = 0.267272602906572 | erot = 0.532773036269537 | epot = -15.4249493812683 | etot = -14.6249037420922 -81000 ekin = 0.270538934182649 | erot = 0.522218059775401 | epot = -15.417660736088 | etot = -14.62490374213 -82000 ekin = 0.27743457435936 | erot = 0.512213638247992 | epot = -15.414551954789 | etot = -14.6249037421817 -83000 ekin = 0.287175732620383 | erot = 0.502728640569106 | epot = -15.4148081154356 | etot = -14.6249037422461 -84000 ekin = 0.298811175848726 | erot = 0.493705451301405 | epot = -15.4174203694714 | etot = -14.6249037423213 -85000 ekin = 0.311252369949757 | erot = 0.485064122067327 | epot = -15.4212202344208 | etot = -14.6249037424038 -86000 ekin = 0.323325626376074 | erot = 0.476708618160845 | epot = -15.4249379870248 | etot = -14.6249037424879 -87000 ekin = 0.33385179551888 | erot = 0.468535420697723 | epot = -15.4272909587828 | etot = -14.6249037425662 -88000 ekin = 0.341751109758587 | erot = 0.460444399763838 | epot = -15.427099252152 | etot = -14.6249037426296 -89000 ekin = 0.346159825920252 | erot = 0.452351304178841 | epot = -15.4234148727694 | etot = -14.6249037426704 -90000 ekin = 0.346534667470577 | erot = 0.444200535918418 | epot = -15.4156389460721 | etot = -14.6249037426831 -91000 ekin = 0.342715665476236 | erot = 0.435976333753466 | epot = -15.4035957418971 | etot = -14.6249037426674 -92000 ekin = 0.334922715851711 | erot = 0.427710377227768 | epot = -15.3875368357076 | etot = -14.6249037426281 -93000 ekin = 0.323677844434189 | erot = 0.419484336040122 | epot = -15.368065923049 | etot = -14.6249037425747 -94000 ekin = 0.309669782921695 | erot = 0.411426964072737 | epot = -15.3460004895125 | etot = -14.624903742518 -95000 ekin = 0.293600014862055 | erot = 0.403706586473305 | epot = -15.3222103438027 | etot = -14.6249037424673 -96000 ekin = 0.2760582848845 | erot = 0.396520701306389 | epot = -15.297482728618 | etot = -14.6249037424272 -97000 ekin = 0.257464456296026 | erot = 0.390084510983188 | epot = -15.2724527096758 | etot = -14.6249037423966 -98000 ekin = 0.238086767083294 | erot = 0.384619533405776 | epot = -15.24761004286 | etot = -14.6249037423709 -99000 ekin = 0.218116994126189 | erot = 0.380342481668315 | epot = -15.2233632181387 | etot = -14.6249037423442 -100000 ekin = 0.197764845956813 | erot = 0.377453964065525 | epot = -15.2001225523343 | etot = -14.6249037423119 -101000 ekin = 0.177333852671588 | erot = 0.37612662169739 | epot = -15.1783642166417 | etot = -14.6249037422727 -102000 ekin = 0.157255732179676 | erot = 0.376493003927858 | epot = -15.1586524783359 | etot = -14.6249037422283 -103000 ekin = 0.138079925449103 | erot = 0.378634329970109 | epot = -15.1416179976017 | etot = -14.6249037421825 -104000 ekin = 0.120430234291513 | erot = 0.38257179133531 | epot = -15.1279057677667 | etot = -14.6249037421398 -105000 ekin = 0.104946722393699 | erot = 0.388261944551355 | epot = -15.1181124090491 | etot = -14.6249037421041 -106000 ekin = 0.0922291289495077 | erot = 0.395597086392455 | epot = -15.1127299574201 | etot = -14.6249037420781 -107000 ekin = 0.0827918191992449 | erot = 0.404410579138415 | epot = -15.112106140401 | etot = -14.6249037420633 -108000 ekin = 0.0770336430610872 | erot = 0.414486225075909 | epot = -15.116423610197 | etot = -14.62490374206 -109000 ekin = 0.0752213121179505 | erot = 0.425570202879076 | epot = -15.1256952570645 | etot = -14.6249037420675 -110000 ekin = 0.077482636424855 | erot = 0.437383858086389 | epot = -15.1397702365963 | etot = -14.6249037420851 -111000 ekin = 0.0838057148049012 | erot = 0.449635759435866 | epot = -15.1583452163524 | etot = -14.6249037421117 -112000 ekin = 0.094041131771038 | erot = 0.462031808376727 | epot = -15.1809766822944 | etot = -14.6249037421466 -113000 ekin = 0.107905661684216 | erot = 0.47428271886895 | epot = -15.2070921227424 | etot = -14.6249037421893 -114000 ekin = 0.124987416380585 | erot = 0.486108767327206 | epot = -15.2359999259466 | etot = -14.6249037422388 -115000 ekin = 0.144753474421712 | erot = 0.497242253022929 | epot = -15.2668994697393 | etot = -14.6249037422947 -116000 ekin = 0.166561593123338 | erot = 0.507428522970937 | epot = -15.2988938584497 | etot = -14.6249037423555 -117000 ekin = 0.189677527330919 | erot = 0.516426638198595 | epot = -15.3310079079494 | etot = -14.6249037424199 -118000 ekin = 0.213298790897393 | erot = 0.524010758771299 | epot = -15.3622132921543 | etot = -14.6249037424856 -119000 ekin = 0.236584576961686 | erot = 0.529973112381402 | epot = -15.3914614318934 | etot = -14.6249037425503 -120000 ekin = 0.258690301858407 | erot = 0.5341290349257 | epot = -15.4177230793954 | etot = -14.6249037426112 -121000 ekin = 0.278804196533067 | erot = 0.536324108799723 | epot = -15.4400320479983 | etot = -14.6249037426655 -122000 ekin = 0.296182819519644 | erot = 0.536442962870851 | epot = -15.4575295251011 | etot = -14.6249037427106 -123000 ekin = 0.310182446406097 | erot = 0.534418915104283 | epot = -15.4695051042545 | etot = -14.6249037427441 -124000 ekin = 0.320283972930319 | erot = 0.530243389137748 | epot = -15.4754311048325 | etot = -14.6249037427644 -125000 ekin = 0.326110081462518 | erot = 0.523973945236228 | epot = -15.4749877694694 | etot = -14.6249037427707 -126000 ekin = 0.32743470961478 | erot = 0.515739832556742 | epot = -15.468078284934 | etot = -14.6249037427624 -127000 ekin = 0.324186046690464 | erot = 0.505744172152755 | epot = -15.4548339615831 | etot = -14.6249037427398 -128000 ekin = 0.316445106704291 | erot = 0.494262185784872 | epot = -15.4356110351926 | etot = -14.6249037427034 -129000 ekin = 0.304442167762781 | erot = 0.481635256753188 | epot = -15.4109811671702 | etot = -14.6249037426542 -130000 ekin = 0.288552887156539 | erot = 0.468261006625544 | epot = -15.3817176363753 | etot = -14.6249037425933 -131000 ekin = 0.269294696165401 | erot = 0.45457995559872 | epot = -15.3487783942861 | etot = -14.6249037425219 -132000 ekin = 0.247322351785784 | erot = 0.441059661322916 | epot = -15.3132857555505 | etot = -14.6249037424418 -133000 ekin = 0.223419723871666 | erot = 0.428177456066593 | epot = -15.2765009222933 | etot = -14.624903742355 -134000 ekin = 0.19848366631698 | erot = 0.416402982921093 | epot = -15.2397903915024 | etot = -14.6249037422643 -135000 ekin = 0.173495806295277 | erot = 0.406181641002432 | epot = -15.2045811894713 | etot = -14.6249037421736 -136000 ekin = 0.149479658252776 | erot = 0.397919790440761 | epot = -15.1723031907806 | etot = -14.6249037420871 -137000 ekin = 0.127443476996694 | erot = 0.391972186713497 | epot = -15.1443194057198 | etot = -14.6249037420096 -138000 ekin = 0.108312970525399 | erot = 0.38863170083623 | epot = -15.121848413308 | etot = -14.6249037419464 -139000 ekin = 0.0928612988417865 | erot = 0.388121053034643 | epot = -15.1058860937781 | etot = -14.6249037419017 -140000 ekin = 0.0816456573909381 | erot = 0.390586148388578 | epot = -15.0971355476584 | etot = -14.6249037418789 -141000 ekin = 0.074959634987115 | erot = 0.396090706683305 | epot = -15.0959540835502 | etot = -14.6249037418797 -142000 ekin = 0.072808553768854 | erot = 0.404612196534598 | epot = -15.1023244922079 | etot = -14.6249037419044 -143000 ekin = 0.0749117535381453 | erot = 0.416039504837322 | epot = -15.1158550003263 | etot = -14.6249037419509 -144000 ekin = 0.0807320498018154 | erot = 0.430173136684429 | epot = -15.1358089285018 | etot = -14.6249037420155 -145000 ekin = 0.0895290255830711 | erot = 0.44672889393778 | epot = -15.1611616616143 | etot = -14.6249037420935 -146000 ekin = 0.100429851262872 | erot = 0.46534582966922 | epot = -15.1906794231108 | etot = -14.6249037421787 -147000 ekin = 0.112509264558272 | erot = 0.485598823527704 | epot = -15.2230118303508 | etot = -14.6249037422648 -148000 ekin = 0.124869425792311 | erot = 0.507015469189125 | epot = -15.2567886373275 | etot = -14.6249037423461 -149000 ekin = 0.136710750658201 | erot = 0.529096273050756 | epot = -15.2907107661264 | etot = -14.6249037424174 -150000 ekin = 0.147386480805994 | erot = 0.551336607351909 | epot = -15.3236268306334 | etot = -14.6249037424755 -151000 ekin = 0.156436378415923 | erot = 0.573248570644847 | epot = -15.3545886915789 | etot = -14.6249037425181 -152000 ekin = 0.163597998371616 | erot = 0.594380933602504 | epot = -15.3828826745191 | etot = -14.624903742545 -153000 ekin = 0.168796920199645 | erot = 0.614335653334077 | epot = -15.4080363160909 | etot = -14.6249037425571 -154000 ekin = 0.172119667637843 | erot = 0.632779929091333 | epot = -15.4298033392859 | etot = -14.6249037425567 -155000 ekin = 0.173774602206439 | erot = 0.649453329864798 | epot = -15.4481316746178 | etot = -14.6249037425466 -156000 ekin = 0.174046854480218 | erot = 0.664170048550206 | epot = -15.4631206455604 | etot = -14.62490374253 -157000 ekin = 0.17325345101635 | erot = 0.67681676270221 | epot = -15.4749739562283 | etot = -14.6249037425097 -158000 ekin = 0.171704281293994 | erot = 0.687346881267705 | epot = -15.48395490505 | etot = -14.6249037424883 -159000 ekin = 0.169673443700116 | erot = 0.695772131172833 | epot = -15.4903493173403 | etot = -14.6249037424673 -160000 ekin = 0.167383826014799 | erot = 0.702152502586226 | epot = -15.4944400710487 | etot = -14.6249037424476 -161000 ekin = 0.165005624031947 | erot = 0.706585545944227 | epot = -15.4964949124054 | etot = -14.6249037424292 -162000 ekin = 0.162667154471987 | erot = 0.7091959147906 | epot = -15.4967668116741 | etot = -14.6249037424115 -163000 ekin = 0.160474189581708 | erot = 0.710125892129571 | epot = -15.4955038241048 | etot = -14.6249037423935 -164000 ekin = 0.158532578972808 | erot = 0.709527441008673 | epot = -15.4929637623557 | etot = -14.6249037423742 -165000 ekin = 0.156968465370873 | erot = 0.707556101120943 | epot = -15.4894283088449 | etot = -14.624903742353 -166000 ekin = 0.155941053191322 | erot = 0.704366832057858 | epot = -15.4852116275794 | etot = -14.6249037423302 -167000 ekin = 0.15564449680974 | erot = 0.700111698658167 | epot = -15.4806599377741 | etot = -14.6249037423062 -168000 ekin = 0.156297672988367 | erot = 0.694939119112688 | epot = -15.4761405343834 | etot = -14.6249037422823 -169000 ekin = 0.158122923325633 | erot = 0.688994262093866 | epot = -15.4720209276801 | etot = -14.6249037422606 -170000 ekin = 0.161316852937839 | erot = 0.682420091513715 | epot = -15.4686406866943 | etot = -14.6249037422428 -171000 ekin = 0.166017619146964 | erot = 0.675358520304694 | epot = -15.4662798816826 | etot = -14.6249037422309 -172000 ekin = 0.172273671159624 | erot = 0.667951149520755 | epot = -15.465128562907 | etot = -14.6249037422266 -173000 ekin = 0.180018623556126 | erot = 0.660339136127817 | epot = -15.465261501915 | etot = -14.624903742231 -174000 ekin = 0.189056055744959 | erot = 0.652661851831919 | epot = -15.4666216498214 | etot = -14.6249037422446 -175000 ekin = 0.199056860650102 | erot = 0.645054167286212 | epot = -15.4690147702031 | etot = -14.6249037422668 -176000 ekin = 0.209570701317496 | erot = 0.637642422787083 | epot = -15.4721168664013 | etot = -14.6249037422968 -177000 ekin = 0.220052442974529 | erot = 0.630539423737744 | epot = -15.4754956090444 | etot = -14.6249037423321 -178000 ekin = 0.229904071991068 | erot = 0.623839102439468 | epot = -15.4786469168001 | etot = -14.6249037423696 -179000 ekin = 0.238532114427838 | erot = 0.617611757778078 | epot = -15.4810476146109 | etot = -14.624903742405 -180000 ekin = 0.245419064060145 | erot = 0.611900922402911 | epot = -15.4822237288958 | etot = -14.6249037424328 -181000 ekin = 0.250203926055637 | erot = 0.606722796615544 | epot = -15.4818304651187 | etot = -14.6249037424476 -182000 ekin = 0.252761402919458 | erot = 0.602068750132192 | epot = -15.4797338954962 | etot = -14.6249037424445 -183000 ekin = 0.253262634973987 | erot = 0.597910660168958 | epot = -15.4760770375644 | etot = -14.6249037424214 -184000 ekin = 0.252195762131854 | erot = 0.594208023727366 | epot = -15.4713075282391 | etot = -14.6249037423799 -185000 ekin = 0.250326113306337 | erot = 0.590915179672999 | epot = -15.4661450353057 | etot = -14.6249037423263 -186000 ekin = 0.248586758541696 | erot = 0.587986907734991 | epot = -15.4614774085483 | etot = -14.6249037422716 -187000 ekin = 0.247909630265907 | erot = 0.585381224304124 | epot = -15.4581945967987 | etot = -14.6249037422287 -188000 ekin = 0.249029052394555 | erot = 0.583059148734203 | epot = -15.4569919433383 | etot = -14.6249037422095 -189000 ekin = 0.25230380318116 | erot = 0.580982165410166 | epot = -15.4581897108133 | etot = -14.624903742222 -190000 ekin = 0.257603763515512 | erot = 0.579108718145525 | epot = -15.4616162239286 | etot = -14.6249037422675 -191000 ekin = 0.264292655598072 | erot = 0.577391223759195 | epot = -15.4665876216979 | etot = -14.6249037423406 -192000 ekin = 0.271315385056371 | erot = 0.575774831089445 | epot = -15.4719939585754 | etot = -14.6249037424296 -193000 ekin = 0.277374539132726 | erot = 0.574198584868558 | epot = -15.4764768665205 | etot = -14.6249037425192 -194000 ekin = 0.281161076019698 | erot = 0.572598913484966 | epot = -15.4786637320983 | etot = -14.6249037425936 -195000 ekin = 0.28159263734721 | erot = 0.570914645865857 | epot = -15.4774110258526 | etot = -14.6249037426396 -196000 ekin = 0.278011867235767 | erot = 0.569092314484949 | epot = -15.4720079243697 | etot = -14.624903742649 -197000 ekin = 0.270307527593016 | erot = 0.567090473640134 | epot = -15.4623017438535 | etot = -14.6249037426204 -198000 ekin = 0.258940359976181 | erot = 0.564882125458909 | epot = -15.4487262279932 | etot = -14.6249037425581 -199000 ekin = 0.244877476699608 | erot = 0.562454912721969 | epot = -15.432236131893 | etot = -14.6249037424714 -200000 ekin = 0.229456931019031 | erot = 0.559809284042109 | epot = -15.4141699574328 | etot = -14.6249037423717 -201000 ekin = 0.214214012279214 | erot = 0.556955381706857 | epot = -15.396073136257 | etot = -14.6249037422709 -202000 ekin = 0.200701376135343 | erot = 0.553909032488835 | epot = -15.3795141508038 | etot = -14.6249037421796 -203000 ekin = 0.190329688711031 | erot = 0.550687503827458 | epot = -15.3659209346438 | etot = -14.6249037421053 -204000 ekin = 0.184246973275431 | erot = 0.547306655839924 | epot = -15.3564573711681 | etot = -14.6249037420528 -205000 ekin = 0.183262973705765 | erot = 0.543779043729182 | epot = -15.3519457594592 | etot = -14.6249037420242 -206000 ekin = 0.187816949073314 | erot = 0.5401134327365 | epot = -15.3528341238289 | etot = -14.6249037420191 -207000 ekin = 0.197980929490155 | erot = 0.536315658388532 | epot = -15.3592003299141 | etot = -14.6249037420354 -208000 ekin = 0.213487612676859 | erot = 0.532390498207104 | epot = -15.3707818529543 | etot = -14.6249037420704 -209000 ekin = 0.23377236271188 | erot = 0.528344018724915 | epot = -15.3870201235577 | etot = -14.6249037421209 -210000 ekin = 0.258021408691598 | erot = 0.524185756556645 | epot = -15.4071109074321 | etot = -14.6249037421838 -211000 ekin = 0.285222208429149 | erot = 0.519930104708152 | epot = -15.4300560553932 | etot = -14.6249037422559 -212000 ekin = 0.314215813604078 | erot = 0.515596398128299 | epot = -15.454715954066 | etot = -14.6249037423336 -213000 ekin = 0.343753634042999 | erot = 0.511207450608694 | epot = -15.4798648270648 | etot = -14.6249037424131 -214000 ekin = 0.372561594269383 | erot = 0.506786560075164 | epot = -15.5042518968341 | etot = -14.6249037424896 -215000 ekin = 0.399412456461965 | erot = 0.502353347158559 | epot = -15.5266695461789 | etot = -14.6249037425584 -216000 ekin = 0.423202666202795 | erot = 0.497919155943979 | epot = -15.5460255647614 | etot = -14.6249037426146 -217000 ekin = 0.443025226539309 | erot = 0.49348301367888 | epot = -15.561411982873 | etot = -14.6249037426548 -218000 ekin = 0.458227302378268 | erot = 0.48902929485633 | epot = -15.5721603399116 | etot = -14.624903742677 -219000 ekin = 0.468443019183614 | erot = 0.484528125251351 | epot = -15.5778748871154 | etot = -14.6249037426804 -220000 ekin = 0.473598483116428 | erot = 0.479939108990727 | epot = -15.5784413347736 | etot = -14.6249037426664 -221000 ekin = 0.473894168318623 | erot = 0.475218183432471 | epot = -15.5740160943877 | etot = -14.6249037426366 -222000 ekin = 0.469774014049581 | erot = 0.470326483973439 | epot = -15.5650042406161 | etot = -14.6249037425931 -223000 ekin = 0.461887320397625 | erot = 0.465239349169327 | epot = -15.5520304121052 | etot = -14.6249037425383 -224000 ekin = 0.451041336422898 | erot = 0.459953336121568 | epot = -15.5358984150205 | etot = -14.6249037424761 -225000 ekin = 0.438137198423164 | erot = 0.454489515561359 | epot = -15.5175304563962 | etot = -14.6249037424117 -226000 ekin = 0.424086332826599 | erot = 0.448892294163476 | epot = -15.4978823693417 | etot = -14.6249037423516 -227000 ekin = 0.409717105195494 | erot = 0.443224250669919 | epot = -15.4778450981669 | etot = -14.6249037423015 -228000 ekin = 0.395692916861841 | erot = 0.437558473222699 | epot = -15.4581551323495 | etot = -14.624903742265 -229000 ekin = 0.382463318564939 | erot = 0.431970318931165 | epot = -15.4393373797388 | etot = -14.6249037422427 -230000 ekin = 0.37025811673091 | erot = 0.426530223272703 | epot = -15.4216920822363 | etot = -14.6249037422326 -231000 ekin = 0.359118625017792 | erot = 0.42129844029256 | epot = -15.4053208075418 | etot = -14.6249037422314 -232000 ekin = 0.348949729121723 | erot = 0.416321816462675 | epot = -15.3901752878201 | etot = -14.6249037422357 -233000 ekin = 0.339575284188518 | erot = 0.411632247273729 | epot = -15.3761112737048 | etot = -14.6249037422426 -234000 ekin = 0.330784909163637 | erot = 0.407246384303507 | epot = -15.3629350357173 | etot = -14.6249037422502 -235000 ekin = 0.322367248495492 | erot = 0.403166248673538 | epot = -15.3504372394263 | etot = -14.6249037422572 -236000 ekin = 0.314129851889848 | erot = 0.399380677843492 | epot = -15.3384142719969 | etot = -14.6249037422636 -237000 ekin = 0.305908300165184 | erot = 0.395867600047875 | epot = -15.3266796424821 | etot = -14.624903742269 -238000 ekin = 0.297568064658136 | erot = 0.392597157204584 | epot = -15.3150689641364 | etot = -14.6249037422737 -239000 ekin = 0.289002756415172 | erot = 0.389535643317114 | epot = -15.3034421420096 | etot = -14.6249037422774 -240000 ekin = 0.280132201614914 | erot = 0.386650129641556 | epot = -15.2916860735363 | etot = -14.6249037422798 -241000 ekin = 0.270903172980511 | erot = 0.383913574227165 | epot = -15.2797204894881 | etot = -14.6249037422804 -242000 ekin = 0.261294311102232 | erot = 0.381310019034049 | epot = -15.2675080724143 | etot = -14.6249037422781 -243000 ekin = 0.251325265434219 | erot = 0.378839435319532 | epot = -15.2550684430252 | etot = -14.6249037422715 -244000 ekin = 0.241068460184283 | erot = 0.376521662813082 | epot = -15.2424938652572 | etot = -14.6249037422598 -245000 ekin = 0.230660579660644 | erot = 0.374398842117291 | epot = -15.2299631640205 | etot = -14.6249037422425 -246000 ekin = 0.220310176855083 | erot = 0.372535772164452 | epot = -15.217749691239 | etot = -14.6249037422195 -247000 ekin = 0.210297920408214 | erot = 0.371017759432552 | epot = -15.2062194220322 | etot = -14.6249037421914 -248000 ekin = 0.200966973970082 | erot = 0.36994577990608 | epot = -15.1958164960362 | etot = -14.6249037421601 -249000 ekin = 0.192702752056133 | erot = 0.369429135338683 | epot = -15.1870356295227 | etot = -14.6249037421279 -250000 ekin = 0.185903524092239 | erot = 0.369576201101353 | epot = -15.1803834672915 | etot = -14.6249037420979 -251000 ekin = 0.180945546219151 | erot = 0.370484246994623 | epot = -15.1763335352865 | etot = -14.6249037420727 -252000 ekin = 0.178147956309189 | erot = 0.372229589272153 | epot = -15.1752812876364 | etot = -14.624903742055 -253000 ekin = 0.177743031464987 | erot = 0.374859230992971 | epot = -15.1775060045044 | etot = -14.6249037420464 -254000 ekin = 0.179856300054645 | erot = 0.378385037101156 | epot = -15.1831450792033 | etot = -14.6249037420475 -255000 ekin = 0.184498455786156 | erot = 0.382781080046288 | epot = -15.1921832778908 | etot = -14.6249037420584 -256000 ekin = 0.191568141872831 | erot = 0.387983970946124 | epot = -15.2044558548971 | etot = -14.6249037420782 -257000 ekin = 0.20086208487434 | erot = 0.39389562099376 | epot = -15.2196614479739 | etot = -14.6249037421058 -258000 ekin = 0.212087875566807 | erot = 0.400387498987271 | epot = -15.2373791166947 | etot = -14.6249037421406 -259000 ekin = 0.224875306192123 | erot = 0.407305396776656 | epot = -15.2570844451507 | etot = -14.6249037421819 -260000 ekin = 0.238784314763303 | erot = 0.414473950040634 | epot = -15.2781620070332 | etot = -14.6249037422292 -261000 ekin = 0.253310397642086 | erot = 0.421700596682803 | epot = -15.2999147366071 | etot = -14.6249037422822 -262000 ekin = 0.26789075041242 | erot = 0.428779149458854 | epot = -15.3215736422117 | etot = -14.6249037423404 -263000 ekin = 0.281915541778016 | erot = 0.435493571930236 | epot = -15.3423128561104 | etot = -14.6249037424021 -264000 ekin = 0.294748319449364 | erot = 0.441622773940569 | epot = -15.3612748358549 | etot = -14.624903742465 -265000 ekin = 0.305757851305535 | erot = 0.446947232466421 | epot = -15.3776088262975 | etot = -14.6249037425255 -266000 ekin = 0.314361275702592 | erot = 0.451257984268131 | epot = -15.3905230025502 | etot = -14.6249037425794 -267000 ekin = 0.320075758814341 | erot = 0.454368036195608 | epot = -15.399347537632 | etot = -14.624903742622 -268000 ekin = 0.322573111286139 | erot = 0.456125517717021 | epot = -15.4036023716517 | etot = -14.6249037426486 -269000 ekin = 0.321728949457285 | erot = 0.456427019950081 | epot = -15.4030597120627 | etot = -14.6249037426554 -270000 ekin = 0.317655198203759 | erot = 0.455228696070215 | epot = -15.397787636915 | etot = -14.624903742641 -271000 ekin = 0.310703151367757 | erot = 0.452552178356157 | epot = -15.3881590723317 | etot = -14.6249037426077 -272000 ekin = 0.3014262335366 | erot = 0.448482664562447 | epot = -15.37481264066 | etot = -14.624903742561 -273000 ekin = 0.290499502093233 | erot = 0.443158007811504 | epot = -15.3585612524143 | etot = -14.6249037425096 -274000 ekin = 0.278606962225926 | erot = 0.436750209658098 | epot = -15.3402609143472 | etot = -14.6249037424632 -275000 ekin = 0.266323480340475 | erot = 0.429443553159133 | epot = -15.320670775929 | etot = -14.6249037424294 -276000 ekin = 0.254026977157675 | erot = 0.421415402005373 | epot = -15.3003461215741 | etot = -14.6249037424111 -277000 ekin = 0.241871064453077 | erot = 0.412825312322701 | epot = -15.2796001191813 | etot = -14.6249037424055 -278000 ekin = 0.229828041579266 | erot = 0.403815416630584 | epot = -15.2585472006154 | etot = -14.6249037424055 -279000 ekin = 0.217786141145793 | erot = 0.394521119097645 | epot = -15.2372110026455 | etot = -14.6249037424021 -280000 ekin = 0.205666064593437 | erot = 0.385087703032635 | epot = -15.2156575100138 | etot = -14.6249037423877 -281000 ekin = 0.193518604274061 | erot = 0.375686870763365 | epot = -15.1941092173957 | etot = -14.6249037423582 -282000 ekin = 0.18157672074763 | erot = 0.366527860022155 | epot = -15.1730083230837 | etot = -14.624903742314 -283000 ekin = 0.170254050626075 | erot = 0.357859944224688 | epot = -15.1530177371095 | etot = -14.6249037422587 -284000 ekin = 0.160098631070491 | erot = 0.349965713706295 | epot = -15.1349680869751 | etot = -14.6249037421983 -285000 ekin = 0.151720356670846 | erot = 0.34314662552044 | epot = -15.1197707243306 | etot = -14.6249037421394 -286000 ekin = 0.145712559183964 | erot = 0.337703485421193 | epot = -15.1083197866929 | etot = -14.6249037420878 -287000 ekin = 0.142584250545026 | erot = 0.333914836093095 | epot = -15.1014028286861 | etot = -14.624903742048 -288000 ekin = 0.1427129413407 | erot = 0.33201595204283 | epot = -15.0996326354059 | etot = -14.6249037420224 -289000 ekin = 0.146320998448507 | erot = 0.332180585090171 | epot = -15.1034053255506 | etot = -14.6249037420119 -290000 ekin = 0.153472816921105 | erot = 0.334506983379138 | epot = -15.1128835423165 | etot = -14.6249037420163 -291000 ekin = 0.164086465662505 | erot = 0.339009144348392 | epot = -15.1279993520451 | etot = -14.6249037420342 -292000 ekin = 0.177952173600193 | erot = 0.345613807734964 | epot = -15.1484697233995 | etot = -14.6249037420643 -293000 ekin = 0.194750859968512 | erot = 0.354163344443286 | epot = -15.1738179465169 | etot = -14.6249037421051 -294000 ekin = 0.214068309158811 | erot = 0.364424408222176 | epot = -15.2033964595362 | etot = -14.6249037421552 -295000 ekin = 0.235403710402673 | erot = 0.376101928511166 | epot = -15.2364093811272 | etot = -14.6249037422133 -296000 ekin = 0.258174229752594 | erot = 0.388857685536638 | epot = -15.2719356575669 | etot = -14.6249037422777 -297000 ekin = 0.28171936013486 | erot = 0.402332315571688 | epot = -15.308955418053 | etot = -14.6249037423465 -298000 ekin = 0.30530968452295 | erot = 0.416169191335505 | epot = -15.3463826182751 | etot = -14.6249037424166 -299000 ekin = 0.328164426016042 | erot = 0.430038291827055 | epot = -15.3831064603285 | etot = -14.6249037424854 -300000 ekin = 0.349480947254597 | erot = 0.443657997414049 | epot = -15.4180426872175 | etot = -14.6249037425489 -301000 ekin = 0.368477349758915 | erot = 0.456812763608253 | epot = -15.4501938559697 | etot = -14.6249037426025 -302000 ekin = 0.384446573101029 | erot = 0.469364841860584 | epot = -15.478715157604 | etot = -14.6249037426423 -303000 ekin = 0.396817065634643 | erot = 0.481258609604428 | epot = -15.5029794179037 | etot = -14.6249037426647 -304000 ekin = 0.405211709647263 | erot = 0.492516637287232 | epot = -15.5226320896016 | etot = -14.6249037426671 -305000 ekin = 0.409494186866275 | erot = 0.503227368869637 | epot = -15.5376252983854 | etot = -14.6249037426495 -306000 ekin = 0.409791521883174 | erot = 0.513525227982492 | epot = -15.5482204924795 | etot = -14.6249037426138 -307000 ekin = 0.406484029568133 | erot = 0.523565033268022 | epot = -15.554952805401 | etot = -14.6249037425649 -308000 ekin = 0.400159443094258 | erot = 0.533493670193094 | epot = -15.5585568557967 | etot = -14.6249037425093 -309000 ekin = 0.391535685674106 | erot = 0.543422788904079 | epot = -15.5598622170332 | etot = -14.624903742455 -310000 ekin = 0.381364662750139 | erot = 0.553406603763137 | epot = -15.5596750089224 | etot = -14.6249037424091 -311000 ekin = 0.370335174701307 | erot = 0.563428434508751 | epot = -15.5586673515872 | etot = -14.6249037423771 -312000 ekin = 0.358994462074446 | erot = 0.573398378860501 | epot = -15.5572965832962 | etot = -14.6249037423613 -313000 ekin = 0.347704062022306 | erot = 0.583162598674582 | epot = -15.5557704030575 | etot = -14.6249037423606 -314000 ekin = 0.336637402906986 | erot = 0.592522528333631 | epot = -15.5540636736117 | etot = -14.624903742371 -315000 ekin = 0.325816357219225 | erot = 0.601260411440956 | epot = -15.5519805110472 | etot = -14.624903742387 -316000 ekin = 0.315175012816655 | erot = 0.609166451967456 | epot = -15.5492452071862 | etot = -14.6249037424021 -317000 ekin = 0.304633856553691 | erot = 0.616062831071924 | epot = -15.5456004300362 | etot = -14.6249037424106 -318000 ekin = 0.294167456686513 | erot = 0.62182086663663 | epot = -15.5408920657322 | etot = -14.624903742409 -319000 ekin = 0.283852816310304 | erot = 0.626369338623922 | epot = -15.5351258973303 | etot = -14.624903742396 -320000 ekin = 0.273891844373217 | erot = 0.629693948583815 | epot = -15.5284895353292 | etot = -14.6249037423721 -321000 ekin = 0.264607615830326 | erot = 0.631829520444979 | epot = -15.5213408786153 | etot = -14.62490374234 -322000 ekin = 0.256418665980307 | erot = 0.632847556381831 | epot = -15.5141699646654 | etot = -14.6249037423032 -323000 ekin = 0.249797892887523 | erot = 0.632842055921361 | epot = -15.5075436910745 | etot = -14.6249037422657 -324000 ekin = 0.245223011939351 | erot = 0.631916211662891 | epot = -15.5020429658331 | etot = -14.6249037422309 -325000 ekin = 0.243124676660684 | erot = 0.630171930979688 | epot = -15.4982003498434 | etot = -14.624903742203 -326000 ekin = 0.243837159968099 | erot = 0.627703310196172 | epot = -15.4964442123488 | etot = -14.6249037421845 -327000 ekin = 0.247555458534595 | erot = 0.624594349329669 | epot = -15.4970535500421 | etot = -14.6249037421778 -328000 ekin = 0.254302069317299 | erot = 0.620920422826771 | epot = -15.5001262343279 | etot = -14.6249037421838 -329000 ekin = 0.263906382978619 | erot = 0.616752378549859 | epot = -15.5055625037313 | etot = -14.6249037422028 -330000 ekin = 0.275999298196813 | erot = 0.612161709808654 | epot = -15.5130647502395 | etot = -14.624903742234 -331000 ekin = 0.290024872454789 | erot = 0.607225138478484 | epot = -15.5221537532086 | etot = -14.6249037422753 -332000 ekin = 0.305269328205604 | erot = 0.602027230533244 | epot = -15.5322003010627 | etot = -14.6249037423238 -333000 ekin = 0.320905611375339 | erot = 0.596660303338559 | epot = -15.5424696570899 | etot = -14.624903742376 -334000 ekin = 0.33604943896321 | erot = 0.591221710457376 | epot = -15.5521748918485 | etot = -14.6249037424279 -335000 ekin = 0.349821102707738 | erot = 0.585809355783106 | epot = -15.5605342009668 | etot = -14.624903742476 -336000 ekin = 0.361406827299164 | erot = 0.580516763971287 | epot = -15.5668273337868 | etot = -14.6249037425163 -337000 ekin = 0.370114335989308 | erot = 0.575429096256479 | epot = -15.5704471747923 | etot = -14.6249037425465 -338000 ekin = 0.375418963131897 | erot = 0.570621177508977 | epot = -15.5709438832049 | etot = -14.624903742564 -339000 ekin = 0.37699830668418 | erot = 0.566157982091382 | epot = -15.568060031343 | etot = -14.6249037425674 -340000 ekin = 0.374754278532065 | erot = 0.562097189039008 | epot = -15.5617552101272 | etot = -14.6249037425561 -341000 ekin = 0.368821588409643 | erot = 0.558493134368575 | epot = -15.5522184653083 | etot = -14.62490374253 -342000 ekin = 0.359561251230613 | erot = 0.555400700218343 | epot = -15.5398656939398 | etot = -14.6249037424909 -343000 ekin = 0.34753785325451 | erot = 0.55287778591816 | epot = -15.5253193816136 | etot = -14.6249037424409 -344000 ekin = 0.33348037496383 | erot = 0.55098526840084 | epot = -15.5093693857485 | etot = -14.6249037423838 -345000 ekin = 0.318228359784329 | erot = 0.549783918348214 | epot = -15.4929160204567 | etot = -14.6249037423241 -346000 ekin = 0.302667555547452 | erot = 0.54932843011035 | epot = -15.4768997279244 | etot = -14.6249037422666 -347000 ekin = 0.287661057443402 | erot = 0.549659363310377 | epot = -15.4622241629697 | etot = -14.6249037422159 -348000 ekin = 0.273982878354199 | erot = 0.550794243902694 | epot = -15.4496808644332 | etot = -14.6249037421763 -349000 ekin = 0.262260631617831 | erot = 0.552719272009444 | epot = -15.4398836457781 | etot = -14.6249037421509 -350000 ekin = 0.252932884528162 | erot = 0.555383042233064 | epot = -15.4332196689026 | etot = -14.6249037421414 -351000 ekin = 0.246225113234554 | erot = 0.558693418765032 | epot = -15.4298222741477 | etot = -14.6249037421482 -352000 ekin = 0.242146418558272 | erot = 0.56251834442516 | epot = -15.4295685051533 | etot = -14.6249037421699 -353000 ekin = 0.240507191582667 | erot = 0.566690733134521 | epot = -15.4321016669209 | etot = -14.6249037422037 -354000 ekin = 0.240955911174045 | erot = 0.571016874086999 | epot = -15.436876527507 | etot = -14.6249037422459 -355000 ekin = 0.243030568944153 | erot = 0.575286990707781 | epot = -15.4432213019441 | etot = -14.6249037422922 -356000 ekin = 0.246218336341581 | erot = 0.579286102670368 | epot = -15.4504081813502 | etot = -14.6249037423382 -357000 ekin = 0.250015504867143 | erot = 0.582803084083675 | epot = -15.4577223313313 | etot = -14.6249037423804 -358000 ekin = 0.253980003728345 | erot = 0.585636256510411 | epot = -15.4645200026548 | etot = -14.6249037424161 -359000 ekin = 0.257771924238285 | erot = 0.587595069854159 | epot = -15.470270736536 | etot = -14.6249037424435 -360000 ekin = 0.261178006692362 | erot = 0.588498175296126 | epot = -15.4745799244509 | etot = -14.6249037424624 -361000 ekin = 0.264121303803865 | erot = 0.588169931158578 | epot = -15.4771949774352 | etot = -14.6249037424728 -362000 ekin = 0.266656268947586 | erot = 0.586437607933159 | epot = -15.4779976193564 | etot = -14.6249037424757 -363000 ekin = 0.268947338173594 | erot = 0.583131261385069 | epot = -15.4769823420319 | etot = -14.6249037424733 -364000 ekin = 0.271226723299151 | erot = 0.578087502910549 | epot = -15.4742179686787 | etot = -14.624903742469 -365000 ekin = 0.273728224388467 | erot = 0.571157191000871 | epot = -15.4697891578569 | etot = -14.6249037424676 -366000 ekin = 0.276601570519792 | erot = 0.562216266683795 | epot = -15.4637215796778 | etot = -14.6249037424742 -367000 ekin = 0.279824898676098 | erot = 0.551178529879434 | epot = -15.4559071710478 | etot = -14.6249037424923 -368000 ekin = 0.283144751011445 | erot = 0.538009090150866 | epot = -15.4460575836835 | etot = -14.6249037425212 -369000 ekin = 0.286073979195581 | erot = 0.522737270878923 | epot = -15.4337149926306 | etot = -14.6249037425561 -370000 ekin = 0.287962637923446 | erot = 0.505467651700438 | epot = -15.4183340322116 | etot = -14.6249037425877 -371000 ekin = 0.288129562577258 | erot = 0.486387667907668 | epot = -15.3994209730903 | etot = -14.6249037426054 -372000 ekin = 0.286016270828658 | erot = 0.46576999808234 | epot = -15.3766900115119 | etot = -14.6249037426009 -373000 ekin = 0.28131449291777 | erot = 0.44396824694377 | epot = -15.3501864824323 | etot = -14.6249037425708 -374000 ekin = 0.274029637541844 | erot = 0.421405384814399 | epot = -15.3203387648735 | etot = -14.6249037425173 -375000 ekin = 0.264468317324484 | erot = 0.398555847613824 | epot = -15.2879279073849 | etot = -14.6249037424466 -376000 ekin = 0.253165169268526 | erot = 0.375923572597148 | epot = -15.2539924842331 | etot = -14.6249037423675 -377000 ekin = 0.240780733675043 | erot = 0.354018931407531 | epot = -15.2197034073705 | etot = -14.6249037422879 -378000 ekin = 0.228003530693319 | erot = 0.333337224178132 | epot = -15.1862444970855 | etot = -14.624903742214 -379000 ekin = 0.215478669427759 | erot = 0.314340303318484 | epot = -15.1547227148953 | etot = -14.624903742149 -380000 ekin = 0.203769466320592 | erot = 0.297441561968215 | epot = -15.1261147703835 | etot = -14.6249037420947 -381000 ekin = 0.193344913038784 | erot = 0.28299357961111 | epot = -15.1012422347014 | etot = -14.6249037420515 -382000 ekin = 0.184579097116762 | erot = 0.271277560103732 | epot = -15.0807603992407 | etot = -14.6249037420202 -383000 ekin = 0.177749902922565 | erot = 0.262494318474771 | epot = -15.0651479633987 | etot = -14.6249037420014 -384000 ekin = 0.173031383434342 | erot = 0.256757595375907 | epot = -15.0546927208061 | etot = -14.6249037419958 -385000 ekin = 0.170483112154611 | erot = 0.254091341095815 | epot = -15.049478195254 | etot = -14.6249037420036 -386000 ekin = 0.170046361592112 | erot = 0.254432809989126 | epot = -15.0493829136047 | etot = -14.6249037420235 -387000 ekin = 0.171558026226825 | erot = 0.257642587604582 | epot = -15.0541043558832 | etot = -14.6249037420518 -388000 ekin = 0.174787865438713 | erot = 0.263521131369935 | epot = -15.0632127388923 | etot = -14.6249037420836 -389000 ekin = 0.179494526901415 | erot = 0.271829477565432 | epot = -15.0762277465806 | etot = -14.6249037421138 -390000 ekin = 0.185484901052056 | erot = 0.282310127810448 | epot = -15.0926987710007 | etot = -14.6249037421382 -391000 ekin = 0.192654775275645 | erot = 0.294703495235847 | epot = -15.1122620126676 | etot = -14.6249037421561 -392000 ekin = 0.200990711955422 | erot = 0.308756153372483 | epot = -15.1346506074986 | etot = -14.6249037421707 -393000 ekin = 0.210524629688135 | erot = 0.324219483680835 | epot = -15.1596478555569 | etot = -14.624903742188 -394000 ekin = 0.221250398117909 | erot = 0.340840530849171 | epot = -15.1869946711819 | etot = -14.6249037422148 -395000 ekin = 0.233028912153377 | erot = 0.358349828150776 | epot = -15.2162824825608 | etot = -14.6249037422566 -396000 ekin = 0.24551683484774 | erot = 0.376452447323546 | epot = -15.246873024486 | etot = -14.6249037423147 -397000 ekin = 0.258149646288765 | erot = 0.394827815017102 | epot = -15.277881203691 | etot = -14.6249037423851 -398000 ekin = 0.270192540269911 | erot = 0.413141033371924 | epot = -15.3082373161009 | etot = -14.624903742459 -399000 ekin = 0.280849396853359 | erot = 0.431064534842246 | epot = -15.3368176742213 | etot = -14.6249037425257 -400000 ekin = 0.289399657315015 | erot = 0.448305349544995 | epot = -15.3626087494354 | etot = -14.6249037425754 -401000 ekin = 0.295323233787434 | erot = 0.464631356381723 | epot = -15.3848583327708 | etot = -14.6249037426017 -402000 ekin = 0.298377750400983 | erot = 0.479890206670516 | epot = -15.403171699675 | etot = -14.6249037426035 -403000 ekin = 0.298608046776455 | erot = 0.49401684483596 | epot = -15.4175286341975 | etot = -14.6249037425851 -404000 ekin = 0.296288720275777 | erot = 0.507028747324647 | epot = -15.4282212101546 | etot = -14.6249037425541 -405000 ekin = 0.291819450890444 | erot = 0.519011022290083 | epot = -15.4357342157004 | etot = -14.6249037425198 -406000 ekin = 0.285604695316647 | erot = 0.530095491696055 | epot = -15.4406039295028 | etot = -14.6249037424901 -407000 ekin = 0.2779517950128 | erot = 0.540438449781317 | epot = -15.4432939872644 | etot = -14.6249037424703 -408000 ekin = 0.269015012492784 | erot = 0.550201084797022 | epot = -15.4441198397505 | etot = -14.6249037424607 -409000 ekin = 0.258799683407146 | erot = 0.559535019811769 | epot = -15.4432384456767 | etot = -14.6249037424578 -410000 ekin = 0.247223943172528 | erot = 0.568573648692213 | epot = -15.4407013343199 | etot = -14.6249037424552 -411000 ekin = 0.234219542826923 | erot = 0.577428429926601 | epot = -15.4365517151993 | etot = -14.6249037424458 -412000 ekin = 0.219842320368698 | erot = 0.586188386128906 | epot = -15.4309344489214 | etot = -14.6249037424238 -413000 ekin = 0.20435994837526 | erot = 0.594920843620994 | epot = -15.4241845343832 | etot = -14.6249037423869 -414000 ekin = 0.188290368309867 | erot = 0.603671832826878 | epot = -15.4168659434732 | etot = -14.6249037423364 -415000 ekin = 0.17237708181712 | erot = 0.6124653242919 | epot = -15.4097461483873 | etot = -14.6249037422783 -416000 ekin = 0.157503657631228 | erot = 0.621301324615769 | epot = -15.4037087244679 | etot = -14.6249037422209 -417000 ekin = 0.144565276806289 | erot = 0.630153567597092 | epot = -15.399622586577 | etot = -14.6249037421736 -418000 ekin = 0.134326161306418 | erot = 0.638967960411968 | epot = -15.398197863863 | etot = -14.6249037421446 -419000 ekin = 0.127295713867183 | erot = 0.647663024756225 | epot = -15.3998624807619 | etot = -14.6249037421385 -420000 ekin = 0.123652074079106 | erot = 0.656133267678458 | epot = -15.4046890839134 | etot = -14.6249037421558 -421000 ekin = 0.123230332545554 | erot = 0.664256043547071 | epot = -15.4123901182848 | etot = -14.6249037421922 -422000 ekin = 0.125576493084721 | erot = 0.671901405101286 | epot = -15.4223816404263 | etot = -14.6249037422402 -423000 ekin = 0.130051930466301 | erot = 0.678943694027942 | epot = -15.4338993667852 | etot = -14.6249037422909 -424000 ekin = 0.135961143238876 | erot = 0.685273086227244 | epot = -15.4461379718019 | etot = -14.6249037423358 -425000 ekin = 0.142671659965505 | erot = 0.69080498381162 | epot = -15.4583803861461 | etot = -14.624903742369 -426000 ekin = 0.149699767318722 | erot = 0.695485561348404 | epot = -15.4700890710554 | etot = -14.6249037423883 -427000 ekin = 0.156747049208244 | erot = 0.699292628464214 | epot = -15.4809434200673 | etot = -14.6249037423948 -428000 ekin = 0.163686553654253 | erot = 0.702231990285515 | epot = -15.4908222863323 | etot = -14.6249037423925 -429000 ekin = 0.170509683514413 | erot = 0.70433031530151 | epot = -15.4997437412025 | etot = -14.6249037423866 -430000 ekin = 0.177252892951188 | erot = 0.705626025883397 | epot = -15.507782661217 | etot = -14.6249037423824 -431000 ekin = 0.183925691222352 | erot = 0.706159951516081 | epot = -15.5149893851221 | etot = -14.6249037423836 -432000 ekin = 0.190457851079565 | erot = 0.70596688379378 | epot = -15.5213284772654 | etot = -14.6249037423921 -433000 ekin = 0.196676887388984 | erot = 0.705069371776661 | epot = -15.5266500015729 | etot = -14.6249037424073 -434000 ekin = 0.202317433899364 | erot = 0.703474477741261 | epot = -15.5306956540676 | etot = -14.624903742427 -435000 ekin = 0.207056046506538 | erot = 0.701173837003675 | epot = -15.533133625958 | etot = -14.6249037424478 -436000 ekin = 0.210560164856777 | erot = 0.698146912242834 | epot = -15.5336108195658 | etot = -14.6249037424662 -437000 ekin = 0.212539330538657 | erot = 0.69436686481977 | epot = -15.5318099378375 | etot = -14.6249037424791 -438000 ekin = 0.212789433625669 | erot = 0.689808070113577 | epot = -15.5275012462234 | etot = -14.6249037424842 -439000 ekin = 0.211224885327081 | erot = 0.684454087056256 | epot = -15.5205827148631 | etot = -14.6249037424798 -440000 ekin = 0.207897417438738 | erot = 0.678304934040362 | epot = -15.5111060939442 | etot = -14.6249037424651 -441000 ekin = 0.203002684917544 | erot = 0.671382822497087 | epot = -15.4992892498551 | etot = -14.6249037424404 -442000 ekin = 0.196876783893444 | erot = 0.663735946787442 | epot = -15.485516473087 | etot = -14.6249037424062 -443000 ekin = 0.189984458135359 | erot = 0.655440346227863 | epot = -15.4703285467267 | etot = -14.6249037423634 -444000 ekin = 0.182899715135716 | erot = 0.646600090309095 | epot = -15.4544035477587 | etot = -14.6249037423138 -445000 ekin = 0.176278659807256 | erot = 0.637346059016788 | epot = -15.4385284610839 | etot = -14.6249037422598 -446000 ekin = 0.170824489262319 | erot = 0.627833490901675 | epot = -15.4235617223679 | etot = -14.6249037422039 -447000 ekin = 0.167246115781588 | erot = 0.618238375507795 | epot = -15.4103882334389 | etot = -14.6249037421495 -448000 ekin = 0.166214016011178 | erot = 0.608752709244163 | epot = -15.3998704673549 | etot = -14.6249037420996 -449000 ekin = 0.168318002547464 | erot = 0.599578546515158 | epot = -15.3928002911194 | etot = -14.6249037420568 -450000 ekin = 0.174030350885997 | erot = 0.590920601689278 | epot = -15.3898546945991 | etot = -14.6249037420239 -451000 ekin = 0.183674309612449 | erot = 0.582976972210044 | epot = -15.3915550238259 | etot = -14.6249037420034 -452000 ekin = 0.197394458885136 | erot = 0.575927582957288 | epot = -15.3982257838406 | etot = -14.6249037419982 -453000 ekin = 0.21512429096355 | erot = 0.569920414706644 | epot = -15.4099484476817 | etot = -14.6249037420115 -454000 ekin = 0.236549344238021 | erot = 0.565056494271684 | epot = -15.4265095805563 | etot = -14.6249037420466 -455000 ekin = 0.26107066649251 | erot = 0.561375729613514 | epot = -15.4473501382118 | etot = -14.6249037421058 -456000 ekin = 0.287780783018564 | erot = 0.558846520705737 | epot = -15.4715310459135 | etot = -14.6249037421892 -457000 ekin = 0.315469350478398 | erot = 0.557362227355198 | epot = -15.4977353201268 | etot = -14.6249037422932 -458000 ekin = 0.342675461160486 | erot = 0.556746783054669 | epot = -15.5243259866254 | etot = -14.6249037424102 -459000 ekin = 0.367796771323547 | erot = 0.556770049266648 | epot = -15.5494705631187 | etot = -14.6249037425286 -460000 ekin = 0.389252836428699 | erot = 0.557171234684316 | epot = -15.5713278137469 | etot = -14.6249037426338 -461000 ekin = 0.405683830371934 | erot = 0.557686417732654 | epot = -15.588273990816 | etot = -14.6249037427114 -462000 ekin = 0.41615050976317 | erot = 0.558074591843087 | epot = -15.5991288443563 | etot = -14.62490374275 -463000 ekin = 0.420292029664587 | erot = 0.558136338549784 | epot = -15.6033321109585 | etot = -14.6249037427441 -464000 ekin = 0.418399545177946 | erot = 0.557720582602229 | epot = -15.6010238704766 | etot = -14.6249037426964 -465000 ekin = 0.411377435968348 | erot = 0.556717766126943 | epot = -15.592998944713 | etot = -14.6249037426177 -466000 ekin = 0.400588481170385 | erot = 0.555041504869352 | epot = -15.5805337285651 | etot = -14.6249037425254 -467000 ekin = 0.387608315925592 | erot = 0.552604267016079 | epot = -15.5651163253806 | etot = -14.6249037424389 -468000 ekin = 0.373939506071155 | erot = 0.549294716065804 | epot = -15.5481379645132 | etot = -14.6249037423763 -469000 ekin = 0.360748545285724 | erot = 0.544964338610985 | epot = -15.5306166262455 | etot = -14.6249037423488 -470000 ekin = 0.348685397522308 | erot = 0.539428754142175 | epot = -15.5130178940236 | etot = -14.6249037423592 -471000 ekin = 0.337825425309533 | erot = 0.532485282885717 | epot = -15.4952144505958 | etot = -14.6249037424005 -472000 ekin = 0.327743216876142 | erot = 0.523944004294882 | epot = -15.4765909636297 | etot = -14.6249037424587 -473000 ekin = 0.317695625905302 | erot = 0.513665869846428 | epot = -15.4562652382673 | etot = -14.6249037425156 -474000 ekin = 0.306866206293077 | erot = 0.501599410558585 | epot = -15.4333693594052 | etot = -14.6249037425536 -475000 ekin = 0.294611572516325 | erot = 0.487807694339578 | epot = -15.4073230094157 | etot = -14.6249037425598 -476000 ekin = 0.280654133646186 | erot = 0.472479343852861 | epot = -15.3780372200275 | etot = -14.6249037425285 -477000 ekin = 0.265182667318923 | erot = 0.45592098927681 | epot = -15.3460073990573 | etot = -14.6249037424616 -478000 ekin = 0.248846579356572 | erot = 0.438532535944384 | epot = -15.3122828576692 | etot = -14.6249037423683 -479000 ekin = 0.232654569021534 | erot = 0.420770062233477 | epot = -15.2783283735172 | etot = -14.6249037422622 -480000 ekin = 0.217807844647013 | erot = 0.403103245642619 | epot = -15.2458148324477 | etot = -14.6249037421581 -481000 ekin = 0.205508255202962 | erot = 0.385974572359883 | epot = -15.2163865696323 | etot = -14.6249037420695 -482000 ekin = 0.19678156694235 | erot = 0.369766310247464 | epot = -15.1914516191956 | etot = -14.6249037420058 -483000 ekin = 0.192346943568308 | erot = 0.354778814406232 | epot = -15.1720294999467 | etot = -14.6249037419722 -484000 ekin = 0.192548846646656 | erot = 0.341220938396417 | epot = -15.1586735270114 | etot = -14.6249037419683 -485000 ekin = 0.197351634264863 | erot = 0.329210924265139 | epot = -15.1514663005208 | etot = -14.6249037419908 -486000 ekin = 0.20638457111255 | erot = 0.318784712513067 | epot = -15.1500730256597 | etot = -14.6249037420341 -487000 ekin = 0.219018661980825 | erot = 0.30990833731601 | epot = -15.1538307413881 | etot = -14.6249037420913 -488000 ekin = 0.234457053485159 | erot = 0.302491737711703 | epot = -15.1618525333529 | etot = -14.624903742156 -489000 ekin = 0.251825722281652 | erot = 0.296402451840958 | epot = -15.1731319163445 | etot = -14.6249037422219 -490000 ekin = 0.270257579251709 | erot = 0.291478772534598 | epot = -15.1866400940702 | etot = -14.6249037422839 -491000 ekin = 0.288968023939754 | erot = 0.287542686829926 | epot = -15.2014144531061 | etot = -14.6249037423365 -492000 ekin = 0.307321746939228 | erot = 0.284413165332613 | epot = -15.2166386546469 | etot = -14.6249037423751 -493000 ekin = 0.324889192266724 | erot = 0.281920128741297 | epot = -15.2317130634048 | etot = -14.6249037423968 -494000 ekin = 0.34148788338571 | erot = 0.279918789014045 | epot = -15.2463104147988 | etot = -14.6249037423991 -495000 ekin = 0.357200801059907 | erot = 0.27830316795437 | epot = -15.2604077113965 | etot = -14.6249037423822 -496000 ekin = 0.372363075865331 | erot = 0.277016625443997 | epot = -15.2742834436586 | etot = -14.6249037423492 -497000 ekin = 0.387510424728836 | erot = 0.276056483801624 | epot = -15.2884706508366 | etot = -14.6249037423061 -498000 ekin = 0.40328774473455 | erot = 0.275469725413449 | epot = -15.3036612124099 | etot = -14.6249037422619 -499000 ekin = 0.420322923931638 | erot = 0.275337682298311 | epot = -15.3205643484574 | etot = -14.6249037422275 -500000 ekin = 0.439078206868906 | erot = 0.275749832423424 | epot = -15.3397317815068 | etot = -14.6249037422144 -501000 ekin = 0.459699055392479 | erot = 0.27677002458918 | epot = -15.3613728222145 | etot = -14.6249037422328 -502000 ekin = 0.481887975237045 | erot = 0.278401857022953 | epot = -15.3851935745487 | etot = -14.6249037422887 -503000 ekin = 0.504836001699661 | erot = 0.280562273427077 | epot = -15.4103020175081 | etot = -14.6249037423814 -504000 ekin = 0.527242963720809 | erot = 0.283072520273854 | epot = -15.4352192264968 | etot = -14.6249037425021 -505000 ekin = 0.547444055754969 | erot = 0.285672032586941 | epot = -15.4580198309761 | etot = -14.6249037426342 -506000 ekin = 0.563636138783675 | erot = 0.288055811210013 | epot = -15.4765956927492 | etot = -14.6249037427555 -507000 ekin = 0.574166796919079 | erot = 0.289928574131231 | epot = -15.488999113894 | etot = -14.6249037428437 -508000 ekin = 0.57782515130048 | erot = 0.291063326861402 | epot = -15.4937922210432 | etot = -14.6249037428813 -509000 ekin = 0.574066827021413 | erot = 0.291350176078827 | epot = -15.4903207459603 | etot = -14.6249037428601 -510000 ekin = 0.563118031117931 | erot = 0.290823209378486 | epot = -15.4788449832791 | etot = -14.6249037427827 -511000 ekin = 0.545937816053972 | erot = 0.289659846600232 | epot = -15.4605014053163 | etot = -14.6249037426621 -512000 ekin = 0.52405192466186 | erot = 0.2881539193295 | epot = -15.4371095865088 | etot = -14.6249037425175 -513000 ekin = 0.499300074198536 | erot = 0.28667044386956 | epot = -15.4108742604381 | etot = -14.62490374237 -514000 ekin = 0.473556830411034 | erot = 0.285593013544196 | epot = -15.3840535861943 | etot = -14.6249037422391 -515000 ekin = 0.448481344235602 | erot = 0.285274677057636 | epot = -15.3586597634315 | etot = -14.6249037421383 -516000 ekin = 0.425336124988924 | erot = 0.286000471485298 | epot = -15.3362403385491 | etot = -14.6249037420749 -517000 ekin = 0.404895133581714 | erot = 0.287965811661741 | epot = -15.3177646872924 | etot = -14.624903742049 -518000 ekin = 0.387441371960463 | erot = 0.29127124708814 | epot = -15.3036163611039 | etot = -14.6249037420553 -519000 ekin = 0.372839035853544 | erot = 0.295931281214217 | epot = -15.2936740591526 | etot = -14.6249037420848 -520000 ekin = 0.360656186943702 | erot = 0.301893194868378 | epot = -15.2874531239385 | etot = -14.6249037421264 -521000 ekin = 0.350310207444023 | erot = 0.30906098360492 | epot = -15.2842749332187 | etot = -14.6249037421697 -522000 ekin = 0.341208800540165 | erot = 0.317319408449295 | epot = -15.2834319511959 | etot = -14.6249037422064 -523000 ekin = 0.332862997937259 | erot = 0.326553653087547 | epot = -15.2843203932564 | etot = -14.6249037422316 -524000 ekin = 0.324955020060425 | erot = 0.336661144000779 | epot = -15.2865199063054 | etot = -14.6249037422442 -525000 ekin = 0.317352570821777 | erot = 0.347553686772866 | epot = -15.2898099998417 | etot = -14.6249037422471 -526000 ekin = 0.310071537936686 | erot = 0.359150063852697 | epot = -15.2941253440357 | etot = -14.6249037422464 -527000 ekin = 0.30319969763028 | erot = 0.371361343284829 | epot = -15.2994647831646 | etot = -14.6249037422495 -528000 ekin = 0.296802852838071 | erot = 0.384072970478812 | epot = -15.3057795655796 | etot = -14.6249037422627 -529000 ekin = 0.290839689447108 | erot = 0.397128838352017 | epot = -15.3128722700896 | etot = -14.6249037422905 -530000 ekin = 0.285110822260319 | erot = 0.410322608856454 | epot = -15.320337173449 | etot = -14.6249037423323 -531000 ekin = 0.279260366287054 | erot = 0.423400398731268 | epot = -15.3275645074017 | etot = -14.6249037423834 -532000 ekin = 0.272835705905111 | erot = 0.4360765883685 | epot = -15.3338160367088 | etot = -14.6249037424352 -533000 ekin = 0.265395406955148 | erot = 0.448061330488109 | epot = -15.3383604799197 | etot = -14.6249037424764 -534000 ekin = 0.256640351799918 | erot = 0.459095045026538 | epot = -15.3406391393234 | etot = -14.6249037424969 -535000 ekin = 0.246533633694114 | erot = 0.46898274217995 | epot = -15.3404201183641 | etot = -14.62490374249 -536000 ekin = 0.235373881374739 | erot = 0.477620282695672 | epot = -15.3378979065248 | etot = -14.6249037424544 -537000 ekin = 0.223795203401919 | erot = 0.485006039595133 | epot = -15.3337049853922 | etot = -14.6249037423951 -538000 ekin = 0.212682661997928 | erot = 0.491234540507361 | epot = -15.3288209448297 | etot = -14.6249037423244 -539000 ekin = 0.203011536568405 | erot = 0.496472671627705 | epot = -15.3243879504539 | etot = -14.6249037422578 -540000 ekin = 0.195638496926135 | erot = 0.50092291227584 | epot = -15.3214651514142 | etot = -14.6249037422123 -541000 ekin = 0.191090437374276 | erot = 0.504781043299091 | epot = -15.3207752228744 | etot = -14.624903742201 -542000 ekin = 0.189407567632742 | erot = 0.508197267609352 | epot = -15.3225085774713 | etot = -14.6249037422292 -543000 ekin = 0.190094034781292 | erot = 0.511249275630852 | epot = -15.326247052704 | etot = -14.6249037422918 -544000 ekin = 0.192205662500225 | erot = 0.513933300995961 | epot = -15.3310427058708 | etot = -14.6249037423746 -545000 ekin = 0.194562943958487 | erot = 0.516174993404676 | epot = -15.3356416798199 | etot = -14.6249037424567 -546000 ekin = 0.196033343259802 | erot = 0.517857026727554 | epot = -15.3387941125054 | etot = -14.624903742518 -547000 ekin = 0.19580143908636 | erot = 0.518856237019682 | epot = -15.3395614186506 | etot = -14.6249037425445 -548000 ekin = 0.193552178457268 | erot = 0.519081068513129 | epot = -15.3375369895014 | etot = -14.624903742531 -549000 ekin = 0.189527872077315 | erot = 0.518500763845738 | epot = -15.332932378404 | etot = -14.6249037424809 -550000 ekin = 0.184464697192282 | erot = 0.517160608017039 | epot = -15.3265290476137 | etot = -14.6249037424044 -551000 ekin = 0.179447519613205 | erot = 0.515181377054168 | epot = -15.3195326389812 | etot = -14.6249037423139 -552000 ekin = 0.175731062294521 | erot = 0.512744588095886 | epot = -15.3133793926124 | etot = -14.624903742222 -553000 ekin = 0.174564310045835 | erot = 0.510067400325703 | epot = -15.3095354525117 | etot = -14.6249037421402 -554000 ekin = 0.177036897100683 | erot = 0.507372062614515 | epot = -15.309312701793 | etot = -14.6249037420778 -555000 ekin = 0.183953653121175 | erot = 0.504855061241007 | epot = -15.3137124564046 | etot = -14.6249037420424 -556000 ekin = 0.195740677803854 | erot = 0.502660902829331 | epot = -15.3233053226717 | etot = -14.6249037420385 -557000 ekin = 0.212389174813147 | erot = 0.500864749566708 | epot = -15.338157666447 | etot = -14.6249037420672 -558000 ekin = 0.23344502097276 | erot = 0.499466731744655 | epot = -15.357815494843 | etot = -14.6249037421256 -559000 ekin = 0.258048678277938 | erot = 0.498398734230019 | epot = -15.3813511547153 | etot = -14.6249037422074 -560000 ekin = 0.285022157939512 | erot = 0.49754195086514 | epot = -15.4074678511078 | etot = -14.6249037423032 -561000 ekin = 0.312990622171654 | erot = 0.496751658909336 | epot = -15.4346460234837 | etot = -14.6249037424027 -562000 ekin = 0.340519848729776 | erot = 0.495884310853372 | epot = -15.4613079020793 | etot = -14.6249037424961 -563000 ekin = 0.366249237356 | erot = 0.494821962716246 | epot = -15.4859749426474 | etot = -14.6249037425751 -564000 ekin = 0.389003340228442 | erot = 0.493490109026911 | epot = -15.5073971918898 | etot = -14.6249037426344 -565000 ekin = 0.407871381975258 | erot = 0.491866632343677 | epot = -15.5246417569902 | etot = -14.6249037426713 -566000 ekin = 0.422251605412405 | erot = 0.489981232304148 | epot = -15.537136580402 | etot = -14.6249037426854 -567000 ekin = 0.431863045464181 | erot = 0.48790647095657 | epot = -15.5446732590993 | etot = -14.6249037426785 -568000 ekin = 0.436733840917554 | erot = 0.485743252286935 | epot = -15.5473808358579 | etot = -14.6249037426534 -569000 ekin = 0.437172173178126 | erot = 0.483603786385869 | epot = -15.5456797021773 | etot = -14.6249037426133 -570000 ekin = 0.433727138645419 | erot = 0.481595978794116 | epot = -15.5402268600013 | etot = -14.6249037425617 -571000 ekin = 0.427141808143026 | erot = 0.479812578148763 | epot = -15.5318581287941 | etot = -14.6249037425023 -572000 ekin = 0.418294466660563 | erot = 0.478326721684033 | epot = -15.5215249307844 | etot = -14.6249037424398 -573000 ekin = 0.408121101334992 | erot = 0.477193277920611 | epot = -15.5102181216358 | etot = -14.6249037423802 -574000 ekin = 0.397514818217457 | erot = 0.476453234967311 | epot = -15.4988717955158 | etot = -14.6249037423311 -575000 ekin = 0.387207144489171 | erot = 0.476137354470425 | epot = -15.4882482412599 | etot = -14.6249037423003 -576000 ekin = 0.377649119217314 | erot = 0.476266044933562 | epot = -15.4788189064453 | etot = -14.6249037422944 -577000 ekin = 0.368920817132226 | erot = 0.476844730976786 | epot = -15.4706692904254 | etot = -14.6249037423164 -578000 ekin = 0.360700785230741 | erot = 0.477856883134822 | epot = -15.4634614107288 | etot = -14.6249037423632 -579000 ekin = 0.352319179858308 | erot = 0.479258927577157 | epot = -15.4564818498611 | etot = -14.6249037424256 -580000 ekin = 0.342901425190187 | erot = 0.480981430412776 | epot = -15.4487865980922 | etot = -14.6249037424893 -581000 ekin = 0.331586894252575 | erot = 0.482939076923953 | epot = -15.4394297137127 | etot = -14.6249037425362 -582000 ekin = 0.317784488003998 | erot = 0.485048781539638 | epot = -15.4277370120932 | etot = -14.6249037425495 -583000 ekin = 0.301409490236239 | erot = 0.487252029394849 | epot = -15.4135652621486 | etot = -14.6249037425175 -584000 ekin = 0.283039202393957 | erot = 0.489535511256142 | epot = -15.3974784560878 | etot = -14.6249037424377 -585000 ekin = 0.263933313487419 | erot = 0.491944128120081 | epot = -15.380781183926 | etot = -14.6249037423185 -586000 ekin = 0.245890887800433 | erot = 0.494582820571413 | epot = -15.3653774505512 | etot = -14.6249037421793 -587000 ekin = 0.230956405620081 | erot = 0.497607010278675 | epot = -15.3534671579451 | etot = -14.6249037420464 -588000 ekin = 0.221033841917523 | erot = 0.501205839010948 | epot = -15.3471434228734 | etot = -14.624903741945 -589000 ekin = 0.21750442850326 | erot = 0.505584588308524 | epot = -15.3479927587061 | etot = -14.6249037418943 -590000 ekin = 0.220953423088753 | erot = 0.510952138426249 | epot = -15.3568093034155 | etot = -14.6249037419005 -591000 ekin = 0.231083134064746 | erot = 0.517515644130575 | epot = -15.3735025201508 | etot = -14.6249037419554 -592000 ekin = 0.246829245753635 | erot = 0.525479282587494 | epot = -15.3972122703833 | etot = -14.6249037420422 -593000 ekin = 0.26662894973047 | erot = 0.535039778666637 | epot = -15.4265724705377 | etot = -14.6249037421406 -594000 ekin = 0.288743434935807 | erot = 0.546371032865614 | epot = -15.4600182100362 | etot = -14.6249037422348 -595000 ekin = 0.311533695301779 | erot = 0.559594229359546 | epot = -15.4960316669788 | etot = -14.6249037423175 -596000 ekin = 0.3336243482615 | erot = 0.574736425374656 | epot = -15.5332645160253 | etot = -14.6249037423892 -597000 ekin = 0.353943370598348 | erot = 0.591686591895555 | epot = -15.57053370495 | etot = -14.6249037424561 -598000 ekin = 0.371670846224556 | erot = 0.610160828224063 | epot = -15.6067354169738 | etot = -14.6249037425252 -599000 ekin = 0.386151688530433 | erot = 0.629687420924883 | epot = -15.6407428520557 | etot = -14.6249037426004 -600000 ekin = 0.396824670884606 | erot = 0.649618644309941 | epot = -15.6713470578748 | etot = -14.6249037426803 -601000 ekin = 0.403202067553919 | erot = 0.669171693345246 | epot = -15.6972775036573 | etot = -14.6249037427582 -602000 ekin = 0.40490852829975 | erot = 0.687495721385519 | epot = -15.7173079925082 | etot = -14.6249037428229 -603000 ekin = 0.401765041348506 | erot = 0.703757265562631 | epot = -15.7304260497733 | etot = -14.6249037428622 -604000 ekin = 0.393886240081525 | erot = 0.717231476889702 | epot = -15.7360214598372 | etot = -14.624903742866 -605000 ekin = 0.38175038495462 | erot = 0.727382711583425 | epot = -15.7340368393683 | etot = -14.6249037428302 -606000 ekin = 0.366205114566941 | erot = 0.733917584160155 | epot = -15.725026441486 | etot = -14.6249037427589 -607000 ekin = 0.348389460814908 | erot = 0.736798185090599 | epot = -15.7100913885695 | etot = -14.624903742664 -608000 ekin = 0.329579787369096 | erot = 0.736212623478789 | epot = -15.6906961534101 | etot = -14.6249037425622 -609000 ekin = 0.310994196071395 | erot = 0.73251127479451 | epot = -15.6684092133368 | etot = -14.6249037424709 -610000 ekin = 0.293604835884145 | erot = 0.726125549058765 | epot = -15.6446341273466 | etot = -14.6249037424037 -611000 ekin = 0.278004208601941 | erot = 0.717488389875027 | epot = -15.620396340845 | etot = -14.624903742368 -612000 ekin = 0.264353214552908 | erot = 0.706972008379807 | epot = -15.5962289652964 | etot = -14.6249037423637 -613000 ekin = 0.252415280668165 | erot = 0.694851301360494 | epot = -15.5721703244133 | etot = -14.6249037423847 -614000 ekin = 0.241662201716805 | erot = 0.681294462599433 | epot = -15.5478604067365 | etot = -14.6249037424203 -615000 ekin = 0.231427318529322 | erot = 0.666377599992121 | epot = -15.5227086609789 | etot = -14.6249037424574 -616000 ekin = 0.221078258759027 | erot = 0.650117838829056 | epot = -15.4960998400712 | etot = -14.6249037424831 -617000 ekin = 0.210180390467373 | erot = 0.632518274251274 | epot = -15.4676024072048 | etot = -14.6249037424862 -618000 ekin = 0.19862150965634 | erot = 0.61361713210071 | epot = -15.437142384217 | etot = -14.6249037424599 -619000 ekin = 0.186670442213662 | erot = 0.593532504056955 | epot = -15.4051066886746 | etot = -14.6249037424039 -620000 ekin = 0.174951539061879 | erot = 0.572493952083693 | epot = -15.3723492334697 | etot = -14.6249037423241 -621000 ekin = 0.164335257152339 | erot = 0.550854196820419 | epot = -15.3400931962051 | etot = -14.6249037422323 -622000 ekin = 0.15576803968181 | erot = 0.529078173717942 | epot = -15.3097499555427 | etot = -14.6249037421429 -623000 ekin = 0.150083571178598 | erot = 0.507711807337566 | epot = -15.2826991205848 | etot = -14.6249037420687 -624000 ekin = 0.147843467415458 | erot = 0.487337070698791 | epot = -15.2600842801331 | etot = -14.6249037420188 -625000 ekin = 0.149245521580975 | erot = 0.468521842126362 | epot = -15.242671105704 | etot = -14.6249037419967 -626000 ekin = 0.154116108891131 | erot = 0.451772481731462 | epot = -15.2307923326229 | etot = -14.6249037420003 -627000 ekin = 0.161979086426179 | erot = 0.437494698740194 | epot = -15.2243775271902 | etot = -14.6249037420239 -628000 ekin = 0.172174902879175 | erot = 0.425965324893585 | epot = -15.2230439698325 | etot = -14.6249037420598 -629000 ekin = 0.183995029152314 | erot = 0.417314987668265 | epot = -15.2262137589216 | etot = -14.624903742101 -630000 ekin = 0.196798066694665 | erot = 0.411519917956496 | epot = -15.2332217267944 | etot = -14.6249037421432 -631000 ekin = 0.210082131921541 | erot = 0.408400457423892 | epot = -15.2433863315305 | etot = -14.6249037421851 -632000 ekin = 0.223500184825895 | erot = 0.407624312389087 | epot = -15.2560282394437 | etot = -14.6249037422287 -633000 ekin = 0.236818662196578 | erot = 0.408714108140466 | epot = -15.2704365126158 | etot = -14.6249037422787 -634000 ekin = 0.249833574952738 | erot = 0.411060882466515 | epot = -15.2857981997594 | etot = -14.6249037423402 -635000 ekin = 0.262270239999152 | erot = 0.413946987959646 | epot = -15.3011209703752 | etot = -14.6249037424164 -636000 ekin = 0.273700147361468 | erot = 0.416582412016232 | epot = -15.315186301884 | etot = -14.6249037425063 -637000 ekin = 0.283507856899438 | erot = 0.418156955201586 | epot = -15.3265685547044 | etot = -14.6249037426034 -638000 ekin = 0.290930324554196 | erot = 0.417906927432445 | epot = -15.3337409946819 | etot = -14.6249037426952 -639000 ekin = 0.295171730169193 | erot = 0.415189912094696 | epot = -15.3352653850304 | etot = -14.6249037427665 -640000 ekin = 0.29557345321463 | erot = 0.409556450349033 | epot = -15.3300336463655 | etot = -14.6249037428018 -641000 ekin = 0.291798784614145 | erot = 0.400805216305268 | epot = -15.3175077437091 | etot = -14.6249037427896 -642000 ekin = 0.283982821763269 | erot = 0.389009767281603 | epot = -15.2978963317707 | etot = -14.6249037427259 -643000 ekin = 0.272803834295158 | erot = 0.374510198234827 | epot = -15.2722177751453 | etot = -14.6249037426153 -644000 ekin = 0.259451287281963 | erot = 0.35787030323495 | epot = -15.242225332988 | etot = -14.6249037424711 -645000 ekin = 0.24549053850944 | erot = 0.339807577757951 | epot = -15.2102018585798 | etot = -14.6249037423124 -646000 ekin = 0.232646751227162 | erot = 0.321107525182429 | epot = -15.1786580185707 | etot = -14.6249037421611 -647000 ekin = 0.222545810224123 | erot = 0.302534738054695 | epot = -15.1499842903174 | etot = -14.6249037420386 -648000 ekin = 0.216457466201495 | erot = 0.28475201940792 | epot = -15.1261132275715 | etot = -14.624903741962 -649000 ekin = 0.215087078764636 | erot = 0.268256849270223 | epot = -15.1082476699766 | etot = -14.6249037419418 -650000 ekin = 0.218457489209105 | erot = 0.253342374384717 | epot = -15.0967036055721 | etot = -14.6249037419783 -651000 ekin = 0.225910420497396 | erot = 0.240087663214758 | epot = -15.0909018257745 | etot = -14.6249037420624 -652000 ekin = 0.236236377394498 | erot = 0.228379019530553 | epot = -15.0895191391008 | etot = -14.6249037421757 -653000 ekin = 0.247915496411967 | erot = 0.217959688821804 | epot = -15.0907789275281 | etot = -14.6249037422943 -654000 ekin = 0.259425494352017 | erot = 0.20850030571605 | epot = -15.0928295424613 | etot = -14.6249037423932 -655000 ekin = 0.269554558208103 | erot = 0.199677958220037 | epot = -15.0941362588799 | etot = -14.6249037424518 -656000 ekin = 0.277652649608963 | erot = 0.191249336850249 | epot = -15.0938057289172 | etot = -14.624903742458 -657000 ekin = 0.283765747905228 | erot = 0.183104207684344 | epot = -15.0917736980005 | etot = -14.6249037424109 -658000 ekin = 0.288620908153343 | erot = 0.175289536735983 | epot = -15.088814187211 | etot = -14.6249037423216 -659000 ekin = 0.293459924910629 | erot = 0.16800102740562 | epot = -15.0863646945268 | etot = -14.6249037422106 -660000 ekin = 0.299750121924184 | erot = 0.161545913295631 | epot = -15.0861997773238 | etot = -14.624903742104 -661000 ekin = 0.30882794580141 | erot = 0.156286808494636 | epot = -15.0900184963241 | etot = -14.624903742028 -662000 ekin = 0.321550844182293 | erot = 0.152579955314811 | epot = -15.0990345415002 | etot = -14.6249037420031 -663000 ekin = 0.338040404323162 | erot = 0.150721656676881 | epot = -15.1136658030376 | etot = -14.6249037420375 -664000 ekin = 0.35758869637966 | erot = 0.150913925254683 | epot = -15.1334063637598 | etot = -14.6249037421255 -665000 ekin = 0.378766116436051 | erot = 0.153254852725981 | epot = -15.1569247114091 | etot = -14.6249037422471 -666000 ekin = 0.399716130930405 | erot = 0.157752003177184 | epot = -15.1823718764818 | etot = -14.6249037423742 -667000 ekin = 0.418564373573293 | erot = 0.16435019288794 | epot = -15.2078183089394 | etot = -14.6249037424782 -668000 ekin = 0.433827740573583 | erot = 0.172960630437096 | epot = -15.2316921135496 | etot = -14.6249037425389 -669000 ekin = 0.444701001629416 | erot = 0.183478145303361 | epot = -15.2530828894841 | etot = -14.6249037425513 -670000 ekin = 0.451136418415458 | erot = 0.195778468142474 | epot = -15.2718186290843 | etot = -14.6249037425264 -671000 ekin = 0.453701004148267 | erot = 0.209695862329476 | epot = -15.2883006089635 | etot = -14.6249037424858 -672000 ekin = 0.453273827000247 | erot = 0.224990306459319 | epot = -15.3031678759134 | etot = -14.6249037424539 -673000 ekin = 0.450699702660583 | erot = 0.241319095059427 | epot = -15.3169225401685 | etot = -14.6249037424485 -674000 ekin = 0.446523488449384 | erot = 0.258227823779524 | epot = -15.3296550547041 | etot = -14.6249037424752 -675000 ekin = 0.440889624591433 | erot = 0.275170305160563 | epot = -15.3409636722771 | etot = -14.6249037425251 -676000 ekin = 0.43362448115233 | erot = 0.29155830650734 | epot = -15.3500865302388 | etot = -14.6249037425792 -677000 ekin = 0.424453634855728 | erot = 0.306833290384575 | epot = -15.356190667856 | etot = -14.6249037426157 -678000 ekin = 0.413265176464919 | erot = 0.320546114280114 | epot = -15.3587150333616 | etot = -14.6249037426165 -679000 ekin = 0.400321537246337 | erot = 0.33242808876456 | epot = -15.3576533685843 | etot = -14.6249037425734 -680000 ekin = 0.386341988792883 | erot = 0.342437977069693 | epot = -15.3536837083532 | etot = -14.6249037424906 -681000 ekin = 0.372417408218802 | erot = 0.350774050475061 | epot = -15.3480952010793 | etot = -14.6249037423855 -682000 ekin = 0.359769645089127 | erot = 0.357847594355724 | epot = -15.3425209817278 | etot = -14.624903742283 -683000 ekin = 0.349419724484513 | erot = 0.364223142874507 | epot = -15.3385466095678 | etot = -14.6249037422088 -684000 ekin = 0.341867426589617 | erot = 0.370539083006542 | epot = -15.3373102517771 | etot = -14.6249037421809 -685000 ekin = 0.336892967753541 | erot = 0.377427285880855 | epot = -15.3392239958376 | etot = -14.6249037422032 -686000 ekin = 0.333560575457532 | erot = 0.385449795149527 | epot = -15.3439141128706 | etot = -14.6249037422635 -687000 ekin = 0.330440845245698 | erot = 0.395064019975185 | epot = -15.3504086075581 | etot = -14.6249037423373 -688000 ekin = 0.325996654363842 | erot = 0.406617593545993 | epot = -15.3575179903049 | etot = -14.6249037423951 -689000 ekin = 0.31902375237829 | erot = 0.420363991129875 | epot = -15.3642914859202 | etot = -14.6249037424121 -690000 ekin = 0.309020969989285 | erot = 0.436483939358184 | epot = -15.3704086517225 | etot = -14.624903742375 -691000 ekin = 0.296388973949697 | erot = 0.455097572739975 | epot = -15.3763902889758 | etot = -14.6249037422861 -692000 ekin = 0.282408410636572 | erot = 0.476257707732277 | epot = -15.383569860531 | etot = -14.6249037421622 -693000 ekin = 0.26900853085206 | erot = 0.499923033173746 | epot = -15.3938353060564 | etot = -14.6249037420305 -694000 ekin = 0.258387685788816 | erot = 0.525918285140374 | epot = -15.4092097128507 | etot = -14.6249037419215 -695000 ekin = 0.252576275208241 | erot = 0.553894058809539 | epot = -15.4313740758797 | etot = -14.624903741862 -696000 ekin = 0.253038186234903 | erot = 0.583300660396082 | epot = -15.4612425885006 | etot = -14.6249037418696 -697000 ekin = 0.260392018277369 | erot = 0.613388418368354 | epot = -15.4986841785946 | etot = -14.6249037419489 -698000 ekin = 0.274304391463235 | erot = 0.643241879182175 | epot = -15.5424500127355 | etot = -14.6249037420901 -699000 ekin = 0.293570250406476 | erot = 0.671848180608583 | epot = -15.5903221732866 | etot = -14.6249037422715 -700000 ekin = 0.316355070233252 | erot = 0.698191700482076 | epot = -15.6394505131798 | etot = -14.6249037424645 -701000 ekin = 0.340538337282147 | erot = 0.721359481465404 | epot = -15.6868015613873 | etot = -14.6249037426397 -702000 ekin = 0.364075443764542 | erot = 0.740637254693957 | epot = -15.7296164412326 | etot = -14.6249037427741 -703000 ekin = 0.385294321874673 | erot = 0.755576369453691 | epot = -15.7657744341838 | etot = -14.6249037428555 -704000 ekin = 0.403066716719495 | erot = 0.766018576886853 | epot = -15.7939890364902 | etot = -14.6249037428839 -705000 ekin = 0.416833588997526 | erot = 0.772075474099313 | epot = -15.8138128059661 | etot = -14.6249037428693 -706000 ekin = 0.426510451502379 | erot = 0.774072055031553 | epot = -15.8254862493606 | etot = -14.6249037428266 -707000 ekin = 0.432328070474044 | erot = 0.772470813769757 | epot = -15.8297026270148 | etot = -14.624903742771 -708000 ekin = 0.434671210546527 | erot = 0.76779427950511 | epot = -15.827369232765 | etot = -14.6249037427133 -709000 ekin = 0.433963855684076 | erot = 0.760560754832016 | epot = -15.8194283531749 | etot = -14.6249037426588 -710000 ekin = 0.430621214402443 | erot = 0.751241421805289 | epot = -15.8067663788153 | etot = -14.6249037426076 -711000 ekin = 0.425061028816158 | erot = 0.740240555545361 | epot = -15.7902053269182 | etot = -14.6249037425567 -712000 ekin = 0.417748693286293 | erot = 0.727895913280463 | epot = -15.7705483490692 | etot = -14.6249037425024 -713000 ekin = 0.409245407745191 | erot = 0.714493617369743 | epot = -15.748642767557 | etot = -14.624903742442 -714000 ekin = 0.400233112896686 | erot = 0.700290376393996 | epot = -15.725427231666 | etot = -14.6249037423753 -715000 ekin = 0.391499218629782 | erot = 0.685535269234813 | epot = -15.7019382301699 | etot = -14.6249037423053 -716000 ekin = 0.38387465328674 | erot = 0.670483824808895 | epot = -15.6792622203343 | etot = -14.6249037422387 -717000 ekin = 0.37812966517224 | erot = 0.655399296057453 | epot = -15.6584327034141 | etot = -14.6249037421844 -718000 ekin = 0.374843116813924 | erot = 0.640539821857324 | epot = -15.6402866808232 | etot = -14.6249037421519 -719000 ekin = 0.374271424141617 | erot = 0.626134666228947 | epot = -15.6253098325198 | etot = -14.6249037421492 -720000 ekin = 0.376249546442333 | erot = 0.612356169201708 | epot = -15.6135094578241 | etot = -14.62490374218 -721000 ekin = 0.38015578315651 | erot = 0.599295758360665 | epot = -15.6043552837594 | etot = -14.6249037422422 -722000 ekin = 0.384962761439327 | erot = 0.586951574250039 | epot = -15.5968180780159 | etot = -14.6249037423266 -723000 ekin = 0.38937982338218 | erot = 0.575232003297926 | epot = -15.5895155690983 | etot = -14.6249037424182 -724000 ekin = 0.392071125784558 | erot = 0.563975606697306 | epot = -15.5809504749809 | etot = -14.6249037424991 -725000 ekin = 0.391913283459399 | erot = 0.552983740178749 | epot = -15.5698007661892 | etot = -14.6249037425511 -726000 ekin = 0.388241956533271 | erot = 0.542058916015903 | epot = -15.5552046151099 | etot = -14.6249037425608 -727000 ekin = 0.381032991792366 | erot = 0.531040454531963 | epot = -15.5369771888461 | etot = -14.6249037425218 -728000 ekin = 0.370971903191828 | erot = 0.519829082375402 | epot = -15.515704728005 | etot = -14.6249037424378 -729000 ekin = 0.359388263612358 | erot = 0.50839572980859 | epot = -15.4926877357432 | etot = -14.6249037423222 -730000 ekin = 0.348057580439132 | erot = 0.496773021024845 | epot = -15.4697343436589 | etot = -14.6249037421949 -731000 ekin = 0.338902689198661 | erot = 0.485032671408036 | epot = -15.4488391026864 | etot = -14.6249037420797 -732000 ekin = 0.333649662944534 | erot = 0.473255762297357 | epot = -15.4318091672407 | etot = -14.6249037419988 -733000 ekin = 0.333505576675517 | erot = 0.461504910073763 | epot = -15.4199142287177 | etot = -14.6249037419685 -734000 ekin = 0.338924758983124 | erot = 0.44980725448349 | epot = -15.4136357554609 | etot = -14.6249037419943 -735000 ekin = 0.34951546857607 | erot = 0.438154711902834 | epot = -15.41257392255 | etot = -14.6249037420711 -736000 ekin = 0.364111355273647 | erot = 0.426523255164468 | epot = -15.4155383526203 | etot = -14.6249037421822 -737000 ekin = 0.38099571977356 | erot = 0.414906900972945 | epot = -15.4208063630506 | etot = -14.6249037423041 -738000 ekin = 0.398229414670415 | erot = 0.403356227833102 | epot = -15.4264893849155 | etot = -14.624903742412 -739000 ekin = 0.414005860072354 | erot = 0.392007798568672 | epot = -15.4309174011272 | etot = -14.6249037424862 -740000 ekin = 0.426948743961824 | erot = 0.381091720704565 | epot = -15.4329442071836 | etot = -14.6249037425172 -741000 ekin = 0.43628364768211 | erot = 0.370910229391996 | epot = -15.4320976195812 | etot = -14.6249037425071 -742000 ekin = 0.44185000182603 | erot = 0.361789064611378 | epot = -15.4285428089066 | etot = -14.6249037424692 -743000 ekin = 0.443963491146499 | erot = 0.354012421291944 | epot = -15.4228796548611 | etot = -14.6249037424227 -744000 ekin = 0.4431781085151 | erot = 0.347758127978473 | epot = -15.4158399788814 | etot = -14.6249037423879 -745000 ekin = 0.440021184884499 | erot = 0.343050543545547 | epot = -15.4079754708096 | etot = -14.6249037423796 -746000 ekin = 0.434779146250304 | erot = 0.339744491074578 | epot = -15.3994273797281 | etot = -14.6249037424032 -747000 ekin = 0.427396883604757 | erot = 0.337545938414333 | epot = -15.3898465644716 | etot = -14.6249037424525 -748000 ekin = 0.417523045840628 | erot = 0.336066252171896 | epot = -15.3784930405232 | etot = -14.6249037425107 -749000 ekin = 0.404692764111473 | erot = 0.334898725161965 | epot = -15.3644952318288 | etot = -14.6249037425554 -750000 ekin = 0.388596287616679 | erot = 0.333700338300972 | epot = -15.3472003684819 | etot = -14.6249037425642 -751000 ekin = 0.369348367994066 | erot = 0.332259621152988 | epot = -15.3265117316703 | etot = -14.6249037425233 -752000 ekin = 0.347662572336739 | erot = 0.330533807750213 | epot = -15.3031001225191 | etot = -14.6249037424322 -753000 ekin = 0.324856373470614 | erot = 0.328645172902147 | epot = -15.2784052886784 | etot = -14.6249037423056 -754000 ekin = 0.302664104351481 | erot = 0.326836116136386 | epot = -15.2544039626582 | etot = -14.6249037421703 -755000 ekin = 0.28289840530598 | erot = 0.325392677389915 | epot = -15.2331948247539 | etot = -14.624903742058 -756000 ekin = 0.267052130149329 | erot = 0.324553861439878 | epot = -15.2165097335856 | etot = -14.6249037419964 -757000 ekin = 0.255952872034472 | erot = 0.324427480977821 | epot = -15.2052840950144 | etot = -14.6249037420021 -758000 ekin = 0.24956686325796 | erot = 0.324931841856735 | epot = -15.1994024471903 | etot = -14.6249037420756 -759000 ekin = 0.247007285742123 | erot = 0.325777353497946 | epot = -15.1976883814417 | etot = -14.6249037422016 -760000 ekin = 0.246749335490671 | erot = 0.326494279609754 | epot = -15.1981473574522 | etot = -14.6249037423518 -761000 ekin = 0.247004464362874 | erot = 0.326503456901681 | epot = -15.1984116637553 | etot = -14.6249037424907 -762000 ekin = 0.246168267683208 | erot = 0.325217160868209 | epot = -15.1962891711361 | etot = -14.6249037425847 -763000 ekin = 0.243236270174742 | erot = 0.322149322885115 | epot = -15.1902893356692 | etot = -14.6249037426093 -764000 ekin = 0.238083572628182 | erot = 0.31701054114686 | epot = -15.1799978563319 | etot = -14.6249037425569 -765000 ekin = 0.231530329806237 | erot = 0.309765883621403 | epot = -15.166199955866 | etot = -14.6249037424384 -766000 ekin = 0.225163449189886 | erot = 0.300642577938324 | epot = -15.1507097694095 | etot = -14.6249037422813 -767000 ekin = 0.220947037641663 | erot = 0.29008793628379 | epot = -15.1359387160491 | etot = -14.6249037421236 -768000 ekin = 0.220714417705789 | erot = 0.278690999515915 | epot = -15.1243091592251 | etot = -14.6249037420034 -769000 ekin = 0.225674230585351 | erot = 0.267090069999984 | epot = -15.1176680425334 | etot = -14.6249037419481 -770000 ekin = 0.23606686040605 | erot = 0.255889903618604 | epot = -15.1168605059919 | etot = -14.6249037419673 -771000 ekin = 0.251070223471186 | erot = 0.245606888556646 | epot = -15.1215808540782 | etot = -14.6249037420504 -772000 ekin = 0.268985032794879 | erot = 0.236650197272996 | epot = -15.1305389722379 | etot = -14.62490374217 -773000 ekin = 0.287649902235825 | erot = 0.229335047808992 | epot = -15.1418886923345 | etot = -14.6249037422897 -774000 ekin = 0.304971347443094 | erot = 0.223914516380436 | epot = -15.1537896061991 | etot = -14.6249037423756 -775000 ekin = 0.319422560280909 | erot = 0.220611402281974 | epot = -15.1649377049681 | etot = -14.6249037424052 -776000 ekin = 0.330375903028573 | erot = 0.21963284072128 | epot = -15.1749124861238 | etot = -14.624903742374 -777000 ekin = 0.338182326480891 | erot = 0.221157252264285 | epot = -15.184243321042 | etot = -14.6249037422968 -778000 ekin = 0.343980993504904 | erot = 0.225293639771365 | epot = -15.1941783754794 | etot = -14.6249037422032 -779000 ekin = 0.349294202147107 | erot = 0.232023926336935 | epot = -15.2062218706133 | etot = -14.6249037421292 -780000 ekin = 0.355517983707508 | erot = 0.241146781674954 | epot = -15.2215685074899 | etot = -14.6249037421074 -781000 ekin = 0.363445847501857 | erot = 0.252244149939742 | epot = -15.2405937395992 | etot = -14.6249037421576 -782000 ekin = 0.372957766808644 | erot = 0.264688770757683 | epot = -15.2625502798455 | etot = -14.6249037422792 -783000 ekin = 0.382969267748679 | erot = 0.277702579811651 | epot = -15.2855755900109 | etot = -14.6249037424505 -784000 ekin = 0.391670514066047 | erot = 0.290462881205936 | epot = -15.3070371379042 | etot = -14.6249037426322 -785000 ekin = 0.397003136152503 | erot = 0.30223788282162 | epot = -15.3241447617521 | etot = -14.624903742778 -786000 ekin = 0.397244540913489 | erot = 0.312520082334536 | epot = -15.3346683660962 | etot = -14.6249037428482 -787000 ekin = 0.391525061079608 | erot = 0.321121025638165 | epot = -15.3375498295401 | etot = -14.6249037428223 -788000 ekin = 0.380116514494719 | erot = 0.328198366843703 | epot = -15.3332186240439 | etot = -14.6249037427055 -789000 ekin = 0.364402868103514 | erot = 0.334204933642789 | epot = -15.3235115442733 | etot = -14.624903742527 -790000 ekin = 0.34654788283668 | erot = 0.339772664563971 | epot = -15.3112242897311 | etot = -14.6249037423304 -791000 ekin = 0.328969533927298 | erot = 0.345562661329334 | epot = -15.2994359374173 | etot = -14.6249037421606 -792000 ekin = 0.313783234687856 | erot = 0.352120250332508 | epot = -15.2908072270725 | etot = -14.6249037420521 -793000 ekin = 0.302371973145943 | erot = 0.359769001652795 | epot = -15.2870447168187 | etot = -14.6249037420199 -794000 ekin = 0.295192752069597 | erot = 0.368565036951676 | epot = -15.288661531079 | etot = -14.6249037420577 -795000 ekin = 0.291854072001344 | erot = 0.378316728406861 | epot = -15.2950745425493 | etot = -14.6249037421411 -796000 ekin = 0.291420477240303 | erot = 0.388659220599258 | epot = -15.3049834400759 | etot = -14.6249037422364 -797000 ekin = 0.292835767593939 | erot = 0.39916067791523 | epot = -15.3169001878199 | etot = -14.6249037423108 -798000 ekin = 0.295321690654866 | erot = 0.409429919731993 | epot = -15.329655352731 | etot = -14.6249037423441 -799000 ekin = 0.298615606685225 | erot = 0.41919526946406 | epot = -15.3427146184839 | etot = -14.6249037423347 -800000 ekin = 0.302963113078809 | erot = 0.428333265393227 | epot = -15.3562001207724 | etot = -14.6249037423004 -801000 ekin = 0.30886980741851 | erot = 0.436842111958024 | epot = -15.3706156616477 | etot = -14.6249037422712 -802000 ekin = 0.316711643345927 | erot = 0.444773620895207 | epot = -15.3863890065174 | etot = -14.6249037422763 -803000 ekin = 0.326365730601817 | erot = 0.452151664704948 | epot = -15.4034211376386 | etot = -14.6249037423318 -804000 ekin = 0.337019280357668 | erot = 0.458909057451191 | epot = -15.4208320802431 | etot = -14.6249037424342 -805000 ekin = 0.347244531512514 | erot = 0.464865921885975 | epot = -15.4370141959586 | etot = -14.6249037425601 -806000 ekin = 0.355321558015248 | erot = 0.469755825323994 | epot = -15.4499811260149 | etot = -14.6249037426756 -807000 ekin = 0.359699244804389 | erot = 0.47328839989947 | epot = -15.4578913874509 | etot = -14.624903742747 -808000 ekin = 0.359442919436746 | erot = 0.475225772200574 | epot = -15.4595724343886 | etot = -14.6249037427513 -809000 ekin = 0.354532149710961 | erot = 0.475448148012512 | epot = -15.454884040406 | etot = -14.6249037426825 -810000 ekin = 0.345927121515436 | erot = 0.473990365430211 | epot = -15.4448212294985 | etot = -14.6249037425528 -811000 ekin = 0.335391497319453 | erot = 0.471042355239708 | epot = -15.4313375949476 | etot = -14.6249037423884 -812000 ekin = 0.325122479809057 | erot = 0.466917662639856 | epot = -15.416943884672 | etot = -14.6249037422231 -813000 ekin = 0.31728183261798 | erot = 0.462001954840949 | epot = -15.4041875295485 | etot = -14.6249037420896 -814000 ekin = 0.313538689250887 | erot = 0.456696276151244 | epot = -15.3951387074148 | etot = -14.6249037420127 -815000 ekin = 0.314725301426621 | erot = 0.451368238943233 | epot = -15.3909972823742 | etot = -14.6249037420043 -816000 ekin = 0.320674745952002 | erot = 0.446320054204494 | epot = -15.3918985422185 | etot = -14.624903742062 -817000 ekin = 0.330264402529528 | erot = 0.441777145069773 | epot = -15.3969452897695 | etot = -14.6249037421702 -818000 ekin = 0.341643112115936 | erot = 0.437896324121525 | epot = -15.404443178542 | etot = -14.6249037423045 -819000 ekin = 0.352584467965967 | erot = 0.43478868897098 | epot = -15.4122768993742 | etot = -14.6249037424372 -820000 ekin = 0.360890006680921 | erot = 0.432549774286878 | epot = -15.4183435235106 | etot = -14.6249037425428 -821000 ekin = 0.364764924967774 | erot = 0.431288293594747 | epot = -15.4209569611646 | etot = -14.624903742602 -822000 ekin = 0.36310132304895 | erot = 0.431144612410167 | epot = -15.419149678065 | etot = -14.6249037426059 -823000 ekin = 0.355627506072524 | erot = 0.432293079211457 | epot = -15.4128243278395 | etot = -14.6249037425555 -824000 ekin = 0.342909508000251 | erot = 0.43492611819946 | epot = -15.4027393686613 | etot = -14.6249037424616 -825000 ekin = 0.326218347991422 | erot = 0.439222871855163 | epot = -15.3903449621884 | etot = -14.6249037423418 -826000 ekin = 0.307298067027383 | erot = 0.445309293137298 | epot = -15.3775111023813 | etot = -14.6249037422166 -827000 ekin = 0.288081469810276 | erot = 0.453218819733682 | epot = -15.3662040316499 | etot = -14.6249037421059 -828000 ekin = 0.270403517644502 | erot = 0.462862712071626 | epot = -15.358169971742 | etot = -14.6249037420259 -829000 ekin = 0.255756724313645 | erot = 0.474017347276416 | epot = -15.354677813577 | etot = -14.624903741987 -830000 ekin = 0.245120383539843 | erot = 0.486332016594477 | epot = -15.3563561421264 | etot = -14.6249037419921 -831000 ekin = 0.238883956789448 | erot = 0.499357971990473 | epot = -15.3631456708169 | etot = -14.624903742037 -832000 ekin = 0.236868645662797 | erot = 0.512595315428093 | epot = -15.3743677032021 | etot = -14.6249037421112 -833000 ekin = 0.238435989568506 | erot = 0.525550909043033 | epot = -15.3888906408115 | etot = -14.6249037421999 -834000 ekin = 0.242658569127625 | erot = 0.537797737790879 | epot = -15.405360049206 | etot = -14.6249037422875 -835000 ekin = 0.248518315375854 | erot = 0.549024910270133 | epot = -15.4224469680061 | etot = -14.6249037423601 -836000 ekin = 0.255095050222772 | erot = 0.559068449138662 | epot = -15.4390672417693 | etot = -14.6249037424078 -837000 ekin = 0.261712817640357 | erot = 0.567916383628495 | epot = -15.4545329436954 | etot = -14.6249037424265 -838000 ekin = 0.268023056778553 | erot = 0.575686784519793 | epot = -15.4686135837165 | etot = -14.6249037424181 -839000 ekin = 0.27401827032314 | erot = 0.582582979367263 | epot = -15.4815049920797 | etot = -14.6249037423893 -840000 ekin = 0.279983100774025 | erot = 0.588834754839967 | epot = -15.4937215979637 | etot = -14.6249037423497 -841000 ekin = 0.286398274628728 | erot = 0.59463702433131 | epot = -15.5059390412703 | etot = -14.6249037423103 -842000 ekin = 0.293816650983536 | erot = 0.600098453281003 | epot = -15.5188188465462 | etot = -14.6249037422817 -843000 ekin = 0.302726774569486 | erot = 0.605208920749049 | epot = -15.5328394375911 | etot = -14.6249037422726 -844000 ekin = 0.313421069061172 | erot = 0.609833296485301 | epot = -15.5481581078353 | etot = -14.6249037422889 -845000 ekin = 0.325887895394733 | erot = 0.613733577818912 | epot = -15.5645252155452 | etot = -14.6249037423315 -846000 ekin = 0.339752400962196 | erot = 0.616615984720894 | epot = -15.5812721280789 | etot = -14.6249037423958 -847000 ekin = 0.354292335348444 | erot = 0.61819407953295 | epot = -15.5973901573525 | etot = -14.6249037424711 -848000 ekin = 0.368542667423182 | erot = 0.618254639142345 | epot = -15.6117010491079 | etot = -14.6249037425423 -849000 ekin = 0.381474241843926 | erot = 0.616711095273524 | epot = -15.6230890797115 | etot = -14.6249037425941 -850000 ekin = 0.392198266661771 | erot = 0.613631554979492 | epot = -15.6307335642567 | etot = -14.6249037426155 -851000 ekin = 0.40012936773711 | erot = 0.609234588535909 | epot = -15.6342676988772 | etot = -14.6249037426042 -852000 ekin = 0.405049998797733 | erot = 0.603854451146916 | epot = -15.633808192512 | etot = -14.6249037425674 -853000 ekin = 0.407056563941561 | erot = 0.597885334648249 | epot = -15.6298456411086 | etot = -14.6249037425187 -854000 ekin = 0.406415158938748 | erot = 0.591718979210661 | epot = -15.6230378806227 | etot = -14.6249037424733 -855000 ekin = 0.403390043512858 | erot = 0.585690332509252 | epot = -15.6139841184645 | etot = -14.6249037424423 -856000 ekin = 0.398116166002726 | erot = 0.580042463525136 | epot = -15.6030623719571 | etot = -14.6249037424293 -857000 ekin = 0.390568016159967 | erot = 0.574915889724967 | epot = -15.5903876483136 | etot = -14.6249037424286 -858000 ekin = 0.380638245096081 | erot = 0.570361176880736 | epot = -15.5759031644054 | etot = -14.6249037424286 -859000 ekin = 0.368297168914653 | erot = 0.566367903415377 | epot = -15.5595688147452 | etot = -14.6249037424151 -860000 ekin = 0.353771484486348 | erot = 0.56289933566704 | epot = -15.5415745625316 | etot = -14.6249037423782 -861000 ekin = 0.337668189076058 | erot = 0.55992119051608 | epot = -15.522493121908 | etot = -14.6249037423159 -862000 ekin = 0.320982687534733 | erot = 0.55741511441171 | epot = -15.5033015441828 | etot = -14.6249037422364 -863000 ekin = 0.304965814691443 | erot = 0.555372641472256 | epot = -15.4852421983211 | etot = -14.6249037421574 -864000 ekin = 0.290872653003623 | erot = 0.553772082573975 | epot = -15.4695484776774 | etot = -14.6249037420998 -865000 ekin = 0.279660774249956 | erot = 0.552546988655193 | epot = -15.4571115049878 | etot = -14.6249037420826 -866000 ekin = 0.271730646599716 | erot = 0.551558423386406 | epot = -15.448192812101 | etot = -14.6249037421149 -867000 ekin = 0.266795961580917 | erot = 0.550582916186157 | epot = -15.44228261996 | etot = -14.624903742193 -868000 ekin = 0.263936467175858 | erot = 0.549323573880104 | epot = -15.4381637833559 | etot = -14.6249037422999 -869000 ekin = 0.261831470221839 | erot = 0.547444696243376 | epot = -15.4341799088748 | etot = -14.6249037424095 -870000 ekin = 0.259116433169107 | erot = 0.544622620095519 | epot = -15.4286427957584 | etot = -14.6249037424938 -871000 ekin = 0.25476611341807 | erot = 0.540599894777859 | epot = -15.4202697507262 | etot = -14.6249037425303 -872000 ekin = 0.248397230690975 | erot = 0.535228153627688 | epot = -15.4085291268279 | etot = -14.6249037425092 -873000 ekin = 0.240403953825284 | erot = 0.528487826572668 | epot = -15.3937955228335 | etot = -14.6249037424356 -874000 ekin = 0.23188412578265 | erot = 0.52047931782111 | epot = -15.3772671859324 | etot = -14.6249037423286 -875000 ekin = 0.224371090312889 | erot = 0.51138848970078 | epot = -15.3606633222303 | etot = -14.6249037422166 -876000 ekin = 0.219440883379249 | erot = 0.501436812694071 | epot = -15.3457814382023 | etot = -14.624903742129 -877000 ekin = 0.218302972735591 | erot = 0.490831150818216 | epot = -15.3340378656416 | etot = -14.6249037420878 -878000 ekin = 0.221492456262699 | erot = 0.479728387736622 | epot = -15.3261245861005 | etot = -14.6249037421012 -879000 ekin = 0.228756262274367 | erot = 0.468225594693664 | epot = -15.3218855991281 | etot = -14.6249037421601 -880000 ekin = 0.239169160088235 | erot = 0.456378166082075 | epot = -15.3204510684122 | etot = -14.6249037422419 -881000 ekin = 0.251443176614178 | erot = 0.444238659512956 | epot = -15.3205855784449 | etot = -14.6249037423178 -882000 ekin = 0.264330844663498 | erot = 0.431901289695958 | epot = -15.3211358767212 | etot = -14.6249037423617 -883000 ekin = 0.276992343361542 | erot = 0.419534292632451 | epot = -15.3214303783535 | etot = -14.6249037423595 -884000 ekin = 0.289210952362652 | erot = 0.407386172192625 | epot = -15.321500866868 | etot = -14.6249037423127 -885000 ekin = 0.301394205510712 | erot = 0.395760928443729 | epot = -15.3220588761924 | etot = -14.6249037422379 -886000 ekin = 0.314368599205627 | erot = 0.384968165379708 | epot = -15.3242405067466 | etot = -14.6249037421612 -887000 ekin = 0.329038341775269 | erot = 0.375262338090432 | epot = -15.3292044219761 | etot = -14.6249037421104 -888000 ekin = 0.3460151111552 | erot = 0.366788650327974 | epot = -15.337707503589 | etot = -14.6249037421058 -889000 ekin = 0.365329693883301 | erot = 0.359550947377142 | epot = -15.3497843834163 | etot = -14.6249037421559 -890000 ekin = 0.386310696217007 | erot = 0.353410826837943 | epot = -15.364625265308 | etot = -14.6249037422531 -891000 ekin = 0.40766808705505 | erot = 0.348119126036606 | epot = -15.3806909554677 | etot = -14.624903742376 -892000 ekin = 0.427761236103282 | erot = 0.343372786941987 | epot = -15.3960377655415 | etot = -14.6249037424963 -893000 ekin = 0.444977236019449 | erot = 0.33888352569265 | epot = -15.4087645042971 | etot = -14.624903742585 -894000 ekin = 0.458112158680458 | erot = 0.334441343917185 | epot = -15.4174572452192 | etot = -14.6249037426215 -895000 ekin = 0.466648008331883 | erot = 0.329956933565113 | epot = -15.4215086844963 | etot = -14.6249037425993 -896000 ekin = 0.470850232519732 | erot = 0.325472374552551 | epot = -15.4212263495988 | etot = -14.6249037425265 -897000 ekin = 0.471664510488006 | erot = 0.321137893833118 | epot = -15.4177061467451 | etot = -14.624903742424 -898000 ekin = 0.470447771985807 | erot = 0.317161282107798 | epot = -15.4125127964124 | etot = -14.6249037423188 -899000 ekin = 0.468609320535655 | erot = 0.313743247831532 | epot = -15.407256310605 | etot = -14.6249037422378 -900000 ekin = 0.467255363896805 | erot = 0.311015004595507 | epot = -15.403174110693 | etot = -14.6249037422007 -901000 ekin = 0.466923299456955 | erot = 0.308993431077898 | epot = -15.4008204727509 | etot = -14.624903742216 -902000 ekin = 0.467466399705958 | erot = 0.307564919774008 | epot = -15.3999350617591 | etot = -14.6249037422791 -903000 ekin = 0.468112799245358 | erot = 0.306502589385531 | epot = -15.3995191310034 | etot = -14.6249037423725 -904000 ekin = 0.467682260080958 | erot = 0.305513914729679 | epot = -15.398099917282 | etot = -14.6249037424714 -905000 ekin = 0.464906903208091 | erot = 0.304308207539486 | epot = -15.3941188532968 | etot = -14.6249037425492 -906000 ekin = 0.458775313350218 | erot = 0.302667437698602 | epot = -15.386346493633 | etot = -14.6249037425842 -907000 ekin = 0.448811106797068 | erot = 0.300501710925682 | epot = -15.3742165602888 | etot = -14.624903742566 -908000 ekin = 0.435212888278286 | erot = 0.297873922704326 | epot = -15.3579905534802 | etot = -14.6249037424976 -909000 ekin = 0.418821166578994 | erot = 0.294986492955548 | epot = -15.338711401929 | etot = -14.6249037423944 -910000 ekin = 0.400928155652122 | erot = 0.292134043124749 | epot = -15.3179659410565 | etot = -14.6249037422796 -911000 ekin = 0.382990731318649 | erot = 0.289635345607696 | epot = -15.2975298191034 | etot = -14.6249037421771 -912000 ekin = 0.366329155569864 | erot = 0.28776245704618 | epot = -15.2789953547216 | etot = -14.6249037421055 -913000 ekin = 0.351888443631227 | erot = 0.286683662572629 | epot = -15.2634758482788 | etot = -14.624903742075 -914000 ekin = 0.340111462795541 | erot = 0.286431278414487 | epot = -15.2514464832954 | etot = -14.6249037420854 -915000 ekin = 0.330936398540049 | erot = 0.286898247267082 | epot = -15.2427383879356 | etot = -14.6249037421284 -916000 ekin = 0.323899271601486 | erot = 0.287861143478391 | epot = -15.2366641572706 | etot = -14.6249037421907 -917000 ekin = 0.318302399047232 | erot = 0.289022784865087 | epot = -15.2322289261691 | etot = -14.6249037422568 -918000 ekin = 0.313403328231463 | erot = 0.290065205370856 | epot = -15.2283722759152 | etot = -14.6249037423129 -919000 ekin = 0.308582994046901 | erot = 0.290702987753991 | epot = -15.2241897241499 | etot = -14.624903742349 -920000 ekin = 0.303462620954368 | erot = 0.290727692025052 | epot = -15.2190940553399 | etot = -14.6249037423605 -921000 ekin = 0.297952758522196 | erot = 0.290036267627498 | epot = -15.2128927684978 | etot = -14.6249037423481 -922000 ekin = 0.29223232916649 | erot = 0.28863969692327 | epot = -15.2057757684075 | etot = -14.6249037423178 -923000 ekin = 0.286668877937277 | erot = 0.286652137103424 | epot = -15.1982247573193 | etot = -14.6249037422786 -924000 ekin = 0.28170186865761 | erot = 0.28426466875578 | epot = -15.1908702796539 | etot = -14.6249037422405 -925000 ekin = 0.277717553237222 | erot = 0.281710557645316 | epot = -15.1843318530947 | etot = -14.6249037422121 -926000 ekin = 0.274945509178671 | erot = 0.279230091666927 | epot = -15.1790793430443 | etot = -14.6249037421988 -927000 ekin = 0.273402631519431 | erot = 0.277042382113437 | epot = -15.1753487558338 | etot = -14.624903742201 -928000 ekin = 0.272900230271358 | erot = 0.275329232545622 | epot = -15.1731332050314 | etot = -14.6249037422144 -929000 ekin = 0.273115271901108 | erot = 0.274232799537457 | epot = -15.1722518136694 | etot = -14.6249037422308 -930000 ekin = 0.273710515356084 | erot = 0.273865029644295 | epot = -15.1724792872405 | etot = -14.6249037422402 -931000 ekin = 0.274474107140427 | erot = 0.274323617229163 | epot = -15.1737014666035 | etot = -14.6249037422339 -932000 ekin = 0.275440857683932 | erot = 0.275707340217243 | epot = -15.1760519401082 | etot = -14.624903742207 -933000 ekin = 0.276957575782685 | erot = 0.278123705988738 | epot = -15.1799850239326 | etot = -14.6249037421612 -934000 ekin = 0.279664435384645 | erot = 0.281683992543778 | epot = -15.186252170033 | etot = -14.6249037421046 -935000 ekin = 0.284382433297568 | erot = 0.286484503522986 | epot = -15.1957706788719 | etot = -14.6249037420513 -936000 ekin = 0.291920557580458 | erot = 0.292577187598382 | epot = -15.2094014871973 | etot = -14.6249037420184 -937000 ekin = 0.302840159170039 | erot = 0.299936553990847 | epot = -15.2276804551831 | etot = -14.6249037420222 -938000 ekin = 0.317231541763436 | erot = 0.308432066638964 | epot = -15.2505673504756 | etot = -14.6249037420732 -939000 ekin = 0.334562734704465 | erot = 0.317815317270747 | epot = -15.277281794148 | etot = -14.6249037421728 -940000 ekin = 0.35364952180483 | erot = 0.327729086105148 | epot = -15.3062823502215 | etot = -14.6249037423115 -941000 ekin = 0.372770367646405 | erot = 0.337741122003473 | epot = -15.3354152321199 | etot = -14.62490374247 -942000 ekin = 0.389915662531244 | erot = 0.34739974979893 | epot = -15.3622191549524 | etot = -14.6249037426222 -943000 ekin = 0.403126345738701 | erot = 0.356302369933728 | epot = -15.3843324584131 | etot = -14.6249037427407 -944000 ekin = 0.410851754405684 | erot = 0.364163156178504 | epot = -15.3999186533874 | etot = -14.6249037428032 -945000 ekin = 0.41224792095984 | erot = 0.370864511414023 | epot = -15.4080161751712 | etot = -14.6249037427973 -946000 ekin = 0.407348747779498 | erot = 0.376479254456982 | epot = -15.4087317449601 | etot = -14.6249037427236 -947000 ekin = 0.397071124216324 | erot = 0.381256899558077 | epot = -15.4032317663699 | etot = -14.6249037425955 -948000 ekin = 0.38305345572573 | erot = 0.385576026490354 | epot = -15.3935332246524 | etot = -14.6249037424363 -949000 ekin = 0.367364810069699 | erot = 0.389872987608877 | epot = -15.3821415399525 | etot = -14.624903742274 -950000 ekin = 0.352149150210297 | erot = 0.394562514442363 | epot = -15.3716154067876 | etot = -14.6249037421349 -951000 ekin = 0.339280178142264 | erot = 0.399966938640697 | epot = -15.364150858822 | etot = -14.6249037420391 -952000 ekin = 0.330096120378427 | erot = 0.406268489131276 | epot = -15.3612683515059 | etot = -14.6249037419962 -953000 ekin = 0.32526183166892 | erot = 0.413492937870355 | epot = -15.3636585115441 | etot = -14.6249037420048 -954000 ekin = 0.324774911928697 | erot = 0.421526046052984 | epot = -15.3712047000353 | etot = -14.6249037420537 -955000 ekin = 0.328098170458837 | erot = 0.430156858160225 | epot = -15.3831587707443 | etot = -14.6249037421253 -956000 ekin = 0.334370903123397 | erot = 0.439135698167057 | epot = -15.3984103434923 | etot = -14.6249037422019 -957000 ekin = 0.342633913360124 | erot = 0.44823123979963 | epot = -15.4157688954295 | etot = -14.6249037422697 -958000 ekin = 0.352004139469675 | erot = 0.457271615168161 | epot = -15.4341794969606 | etot = -14.6249037423228 -959000 ekin = 0.361755395785515 | erot = 0.466159587644429 | epot = -15.4528187257936 | etot = -14.6249037423637 -960000 ekin = 0.37129634840351 | erot = 0.474860087933521 | epot = -15.4710601787381 | etot = -14.624903742401 -961000 ekin = 0.380073790913227 | erot = 0.483367158176183 | epot = -15.4883446915346 | etot = -14.6249037424452 -962000 ekin = 0.387455548951145 | erot = 0.491663490522134 | epot = -15.5040227819764 | etot = -14.6249037425031 -963000 ekin = 0.392654097313064 | erot = 0.499687295633833 | epot = -15.5172451355218 | etot = -14.6249037425749 -964000 ekin = 0.394737939560465 | erot = 0.507318071997362 | epot = -15.52695975421 | etot = -14.6249037426522 -965000 ekin = 0.392748486468401 | erot = 0.514386334668901 | epot = -15.5320385638565 | etot = -14.6249037427192 -966000 ekin = 0.385905473254046 | erot = 0.520705106529118 | epot = -15.5315143225403 | etot = -14.6249037427571 -967000 ekin = 0.373852021646475 | erot = 0.526114369236053 | epot = -15.5248701336312 | etot = -14.6249037427486 -968000 ekin = 0.356869417136842 | erot = 0.530525868586128 | epot = -15.5122990284073 | etot = -14.6249037426844 -969000 ekin = 0.335986889835165 | erot = 0.533955228285004 | epot = -15.4948458606873 | etot = -14.6249037425671 -970000 ekin = 0.312927788673001 | erot = 0.536531428462375 | epot = -15.4743629595488 | etot = -14.6249037424134 -971000 ekin = 0.289872105907279 | erot = 0.538479668129898 | epot = -15.4532555162884 | etot = -14.6249037422512 -972000 ekin = 0.269070232406882 | erot = 0.5400808983618 | epot = -15.4340548728819 | etot = -14.6249037421133 -973000 ekin = 0.252397022945549 | erot = 0.54161782723096 | epot = -15.4189185922049 | etot = -14.6249037420284 -974000 ekin = 0.240964852822479 | erot = 0.543321042151966 | epot = -15.4091896369876 | etot = -14.6249037420132 -975000 ekin = 0.23490216482404 | erot = 0.545328986458525 | epot = -15.4051348933507 | etot = -14.6249037420682 -976000 ekin = 0.233353466621782 | erot = 0.547671994179659 | epot = -15.4059292029795 | etot = -14.6249037421781 -977000 ekin = 0.234692201089083 | erot = 0.550284513866881 | epot = -15.4098804572724 | etot = -14.6249037423164 -978000 ekin = 0.236887903180263 | erot = 0.553043053342472 | epot = -15.4148346989741 | etot = -14.6249037424514 -979000 ekin = 0.237945797131594 | erot = 0.555821040963433 | epot = -15.4186705806471 | etot = -14.6249037425521 -980000 ekin = 0.236334546963168 | erot = 0.558547250125055 | epot = -15.4197855396823 | etot = -14.6249037425941 -981000 ekin = 0.231322843924042 | erot = 0.561252158432646 | epot = -15.4174787449221 | etot = -14.6249037425654 -982000 ekin = 0.223154169544533 | erot = 0.564087592074629 | epot = -15.4121455040889 | etot = -14.6249037424697 -983000 ekin = 0.213008719539339 | erot = 0.567310103886669 | epot = -15.4052225657532 | etot = -14.6249037423272 -984000 ekin = 0.202740628548441 | erot = 0.571227590062575 | epot = -15.3988719607827 | etot = -14.6249037421716 -985000 ekin = 0.194435665154694 | erot = 0.576119771487871 | epot = -15.3954591786846 | etot = -14.624903742042 -986000 ekin = 0.189894304519126 | erot = 0.58215285815263 | epot = -15.3969509046435 | etot = -14.6249037419717 -987000 ekin = 0.190182835424942 | erot = 0.589313613953793 | epot = -15.4044001913571 | etot = -14.6249037419783 -988000 ekin = 0.195390213187374 | erot = 0.597385005524008 | epot = -15.4176789607685 | etot = -14.6249037420571 -989000 ekin = 0.204671362362343 | erot = 0.605974905403727 | epot = -15.4355500099486 | etot = -14.6249037421825 -990000 ekin = 0.216563394578633 | erot = 0.614593273597528 | epot = -15.4560604104923 | etot = -14.6249037423162 -991000 ekin = 0.229465191861939 | erot = 0.622757127490605 | epot = -15.477126061773 | etot = -14.6249037424204 -992000 ekin = 0.24211427112869 | erot = 0.630092599916922 | epot = -15.4971106135161 | etot = -14.6249037424704 -993000 ekin = 0.253902581479766 | erot = 0.636403793831493 | epot = -15.5152101177725 | etot = -14.6249037424612 -994000 ekin = 0.264939510335544 | erot = 0.641689105047928 | epot = -15.5315323577914 | etot = -14.6249037424079 -995000 ekin = 0.275864888578878 | erot = 0.646102898208469 | epot = -15.5468715291258 | etot = -14.6249037423384 -996000 ekin = 0.287497820769962 | erot = 0.649877086441122 | epot = -15.562278649495 | etot = -14.6249037422839 -997000 ekin = 0.300450307467282 | erot = 0.653227423573226 | epot = -15.578581473309 | etot = -14.6249037422685 -998000 ekin = 0.314829914377661 | erot = 0.656270894957595 | epot = -15.5960045516386 | etot = -14.6249037423033 -999000 ekin = 0.330110494517446 | erot = 0.658973630822486 | epot = -15.613987867725 | etot = -14.6249037423851 -1000000 ekin = 0.345190458651126 | erot = 0.66113833946702 | epot = -15.6312325406162 | etot = -14.624903742498 - 1000000 0.025569664 -1.5839232 0.020799898 -1.5286042 -3.5789082e-06 -Loop time of 17.6535 on 4 procs for 1000000 steps with 10 atoms - -Performance: 48942.073 tau/day, 56645.918 timesteps/s -99.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 | 0.58208 | 6.2309 | 11.391 | 182.5 | 35.30 -Bond | 0.087981 | 0.28429 | 0.45668 | 28.3 | 1.61 -Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 1.8415 | 2.1564 | 2.4456 | 17.3 | 12.21 -Output | 1.5e-05 | 2.275e-05 | 2.6e-05 | 0.0 | 0.00 -Modify | 0.1751 | 0.91094 | 1.6034 | 60.5 | 5.16 -Other | | 8.071 | | | 45.72 - -Nlocal: 2.5 ave 5.0 max 0.0 min -Histogram: 1 0 1 0 0 0 0 0 1 1 -Nghost: 7.5 ave 10.0 max 5.0 min -Histogram: 1 0 1 0 0 0 0 0 1 1 -Neighs: 16.0 ave 30.0 max 0.0 min -Histogram: 1 0 1 0 0 0 0 0 1 1 - -Total # of neighbors = 64 -Ave neighs/atom = 6.4 -Ave special neighs/atom = 3.6 -Neighbor list builds = 0 -Dangerous builds = 0 - -#write_restart config.${number}.* -Total wall time: 0:00:17 diff --git a/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/data.duplex4.4type b/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/data.duplex4.4type index a8412eef07..7145f65137 100644 --- a/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/data.duplex4.4type +++ b/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/data.duplex4.4type @@ -1,130 +1,132 @@ -# LAMMPS data file +LAMMPS data file via write_data, version 27 May 2021 + 26 atoms -26 ellipsoids -24 bonds - 4 atom types +24 bonds 1 bond types +26 ellipsoids -# System size --20.000000 20.000000 xlo xhi --20.000000 20.000000 ylo yhi --20.000000 20.000000 zlo zhi +-20 20 xlo xhi +-20 20 ylo yhi +-20 20 zlo zhi -# Atom-ID, type, position, molecule-ID, ellipsoid flag, density -Atoms +Masses -1 1 -6.000000000000001e-01 0.000000000000000e+00 0.000000000000000e+00 1 1 1 -2 2 -4.957432645895970e-01 -3.379920348381733e-01 3.897628551303122e-01 1 1 1 -3 3 -2.192046146198370e-01 -5.585242491865227e-01 7.795257102606244e-01 1 1 1 -4 4 1.335125603737887e-01 -5.849567473090943e-01 1.169288565390937e+00 1 1 1 -5 1 4.398311230978960e-01 -4.081036426625517e-01 1.559051420521249e+00 1 1 1 -6 2 5.932984957350773e-01 -8.942535970570469e-02 1.948814275651561e+00 1 1 1 -7 3 5.405813207414517e-01 2.603302434705350e-01 2.338577130781873e+00 1 1 1 -8 4 3.000000000000002e-01 5.196152422706634e-01 2.728339985912185e+00 1 1 1 -9 1 -4.483805615185452e-02 5.983222783087083e-01 3.118102841042497e+00 1 1 1 -10 2 -3.740938811152403e-01 4.690988894808181e-01 3.507865696172809e+00 1 1 1 -11 3 -5.733436834716847e-01 1.768531046465427e-01 3.897628551303121e+00 1 1 1 -12 4 -5.733436834716849e-01 -1.768531046465427e-01 4.287391406433434e+00 1 1 1 -13 1 -3.740938811152403e-01 -4.690988894808182e-01 4.677154261563746e+00 1 1 1 -14 4 3.740938811152403e-01 4.690988894808182e-01 4.677154261563746e+00 2 1 1 -15 1 5.733436834716849e-01 1.768531046465427e-01 4.287391406433434e+00 2 1 1 -16 2 5.733436834716849e-01 -1.768531046465426e-01 3.897628551303122e+00 2 1 1 -17 3 3.740938811152403e-01 -4.690988894808181e-01 3.507865696172810e+00 2 1 1 -18 4 4.483805615185462e-02 -5.983222783087085e-01 3.118102841042498e+00 2 1 1 -19 1 -3.000000000000003e-01 -5.196152422706636e-01 2.728339985912186e+00 2 1 1 -20 2 -5.405813207414519e-01 -2.603302434705351e-01 2.338577130781874e+00 2 1 1 -21 3 -5.932984957350776e-01 8.942535970570474e-02 1.948814275651561e+00 2 1 1 -22 4 -4.398311230978962e-01 4.081036426625520e-01 1.559051420521249e+00 2 1 1 -23 1 -1.335125603737888e-01 5.849567473090947e-01 1.169288565390937e+00 2 1 1 -24 2 2.192046146198373e-01 5.585242491865231e-01 7.795257102606246e-01 2 1 1 -25 3 4.957432645895974e-01 3.379920348381736e-01 3.897628551303123e-01 2 1 1 -26 4 6.000000000000006e-01 0.000000000000000e+00 1.110223024625157e-16 2 1 1 +1 3.1575 +2 3.1575 +3 3.1575 +4 3.1575 + +Atoms # hybrid + +1 1 -0.5974293795290144 -0.47217734566783476 0.1149860099192362 1 1 3.7269849963023267 0 0 0 +2 2 -0.3607975285447209 -0.8084200276362509 0.5005631273908187 1 1 3.7269849963023267 0 0 0 +3 3 -0.1880165420620915 -0.9339012982528754 0.9372222930006777 1 1 3.7269849963023267 0 0 0 +4 4 0.18789028377909187 -0.8807473585891459 1.3080750447260532 1 1 3.7269849963023267 0 0 0 +5 1 0.46680288593900887 -0.6314504249974493 1.6544618495816525 1 1 3.7269849963023267 0 0 0 +6 2 0.6156490001978658 -0.24344915610488765 1.9998398114466447 1 1 3.7269849963023267 0 0 0 +7 3 0.5475869309223161 0.10633006738807783 2.395688109397028 1 1 3.7269849963023267 0 0 0 +8 4 0.3964561058464781 0.33864915662119616 2.855380256681012 1 1 3.7269849963023267 0 0 0 +9 1 0.09151778690925949 0.33572177117709545 3.2793107140407853 1 1 3.7269849963023267 0 0 0 +10 2 -0.260700239272384 0.23452584272483473 3.622064753017485 1 1 3.7269849963023267 0 0 0 +11 3 -0.44049173083867876 -0.04240311520575983 4.057361772274168 1 1 3.7269849963023267 0 0 0 +12 4 -0.48111471327910416 -0.3913669550617015 4.465217350523367 1 1 3.7269849963023267 0 0 0 +13 1 -0.3029890593292223 -0.6218232516387349 4.889919411438907 1 1 3.7269849963023267 0 0 0 +14 4 0.36538593166250877 0.467104033114044 4.885957202043727 2 1 3.7269849963023267 0 0 0 +15 1 0.5837256243756591 0.1432569770282543 4.587937684834979 2 1 3.7269849963023267 0 0 0 +16 2 0.7270895848434721 -0.21648156960230241 4.19127441749994 2 1 3.7269849963023267 0 0 0 +17 3 0.5694364623788377 -0.5971020505771416 3.7905394408535833 2 1 3.7269849963023267 0 0 0 +18 4 0.32183479629572403 -0.7826674384502239 3.3981789941001397 2 1 3.7269849963023267 0 0 0 +19 1 0.027943077828669855 -0.8173952163019756 2.892497591992246 2 1 3.7269849963023267 0 0 0 +20 2 -0.34389471043742403 -0.6801076538339801 2.6010059142333977 2 1 3.7269849963023267 0 0 0 +21 3 -0.5722337592890715 -0.31543771192866543 2.2496367888009035 2 1 3.7269849963023267 0 0 0 +22 4 -0.5243059431454682 -0.018794840926191582 1.6669602274961965 2 1 3.7269849963023267 0 0 0 +23 1 -0.4467049661654279 0.15318137385858244 1.1669311078565738 2 1 3.7269849963023267 0 0 0 +24 2 -0.04279541944801792 0.24071675674438053 0.7924196804793574 2 1 3.7269849963023267 0 0 0 +25 3 0.33688934798342335 0.1390449738629785 0.42004977704361546 2 1 3.7269849963023267 0 0 0 +26 4 0.5381606093378432 -0.28366941895261566 0.04905784853961178 2 1 3.7269849963023267 0 0 0 -# Atom-ID, translational, rotational velocity Velocities -1 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -2 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -3 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -4 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -5 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -6 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -7 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -8 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -9 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -10 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -11 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -12 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -13 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -14 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -15 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -16 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -17 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -18 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -19 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -20 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -21 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -22 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -23 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -24 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -25 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -26 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 +1 -0.1420563695014878 -0.2339928257547227 0.1871716305399088 -0.046333854442252194 0.08160574816172744 0.2791824603833533 +2 0.03390382747481304 0.2912921705525512 -0.1828986721885175 0.09422531767061365 -0.044398236946770545 0.011069519340877812 +3 0.05351747745964457 -0.3700026678535097 -0.01469442373794632 0.10875858697088675 0.2373869034785703 0.15028498953263314 +4 0.1107696836820372 0.012571134739153464 0.23554381030898286 0.11411649786729211 -0.23899527406990237 0.11196343804383825 +5 0.21949033826324368 -0.4153000294565104 0.18426481814713022 0.2497206165366295 0.2505624077277829 -0.35347918243093 +6 -0.24019769428878804 -0.16423570219236758 -0.003762466815720382 0.062008045889015595 0.22340307597010978 -0.38223196779931135 +7 0.12372477399377596 0.10393016373901434 0.08008946447311854 -0.15063203100274558 0.08544129561789665 -0.3233996805084572 +8 0.03216353270652909 -0.1291938805451393 0.1736283537356162 -0.17577447248216746 0.11132849782859955 -0.13659117762014125 +9 0.016485625003622013 0.01204732455105311 0.012268845318149781 -0.10829791072979295 0.1325154323216732 0.061321711941405295 +10 -0.10017034720683878 -0.09274368063499111 0.0712704971413183 -0.08539556363371427 -0.10194584018083674 0.12395163271335013 +11 0.1553620769751766 -0.017877616757193807 -0.1679552227127468 -0.11302061465460307 0.10833285249943261 -0.29004856929349787 +12 -0.25308607960176693 0.05651778438229357 -0.28293751231512154 0.08875447438401544 -0.0424858854741496 0.4807657704475166 +13 -0.006525152792083277 0.05278468067247092 0.0923614993309851 -0.17068957621149589 -0.21396827821680875 -0.22336174340467796 +14 -0.09024428084565417 0.19407821508904713 -0.27279958154128003 0.16579397498898726 0.05605196163049078 0.18139063086724955 +15 0.2329539015603435 0.08926675461196792 0.01755751945261716 0.14895763843533014 0.05566424996653055 0.038429304115211504 +16 -0.012766107314323394 -0.05870276075293287 0.22459362070331024 -0.051898555487544795 0.11349183901118838 -0.35625338947479507 +17 -0.20400754456760709 -0.43178141581578006 -0.05213026263746946 -0.16561150375144387 -0.08257869123336893 -0.31368221607714253 +18 0.26408469209202234 0.004101215813165573 -0.11409222616552296 -0.37751548716793587 0.021230702354981583 0.23218952685038605 +19 -0.2811352347889802 0.25474603468997514 0.0038005485218010606 0.2164466860189806 -0.3924452117278991 0.22754829879548555 +20 -0.34129793271588454 0.05074672818229578 -0.03388446943745919 -0.1368254010552013 -0.1547809974693013 -0.03266259795645136 +21 -0.25700758391191114 0.04693154859703793 0.08362546455733241 -0.08661574368141227 -0.030723569920460755 -0.18740437515161282 +22 0.08529314327765061 0.10662056255177826 -0.0742729015142829 -0.4671828719407557 -0.19246067344838313 0.20137866804242557 +23 -0.09337250162399305 -0.1907111010034805 0.19278254253312255 0.017795209772695803 -0.36506106427644847 0.24972052729172167 +24 -0.16063305395742022 0.12278800901705311 0.0513923554335936 -0.09716260028970423 -0.26401680055506943 0.08202659665577536 +25 -0.14736287972598905 0.09699085150412592 -0.20751532907712478 0.05612191742480806 -0.13929212905625324 0.034890079586931765 +26 -0.060417626533246734 0.35551862988152244 -0.19673503245092067 0.014766691426271806 0.02762183997756995 -0.20597323908506235 -# Atom-ID, shape, quaternion -Ellipsoids - -1 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 1.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -2 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 9.555728057861408e-01 0.000000000000000e+00 0.000000000000000e+00 2.947551744109042e-01 -3 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 8.262387743159949e-01 0.000000000000000e+00 0.000000000000000e+00 5.633200580636221e-01 -4 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 6.234898018587335e-01 0.000000000000000e+00 0.000000000000000e+00 7.818314824680299e-01 -5 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 3.653410243663950e-01 0.000000000000000e+00 0.000000000000000e+00 9.308737486442042e-01 -6 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 7.473009358642424e-02 0.000000000000000e+00 0.000000000000000e+00 9.972037971811802e-01 -7 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 -2.225209339563144e-01 0.000000000000000e+00 0.000000000000000e+00 9.749279121818237e-01 -8 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 -5.000000000000001e-01 0.000000000000000e+00 0.000000000000000e+00 8.660254037844387e-01 -9 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 7.330518718298263e-01 -0.000000000000000e+00 0.000000000000000e+00 -6.801727377709196e-01 -10 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 9.009688679024190e-01 -0.000000000000000e+00 0.000000000000000e+00 -4.338837391175581e-01 -11 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 9.888308262251286e-01 -0.000000000000000e+00 0.000000000000000e+00 -1.490422661761745e-01 -12 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 9.888308262251286e-01 0.000000000000000e+00 0.000000000000000e+00 1.490422661761745e-01 -13 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 9.009688679024190e-01 0.000000000000000e+00 0.000000000000000e+00 4.338837391175582e-01 -14 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 0.000000000000000e+00 -4.338837391175582e-01 9.009688679024190e-01 0.000000000000000e+00 -15 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 -0.000000000000000e+00 -1.490422661761746e-01 9.888308262251286e-01 0.000000000000000e+00 -16 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 -0.000000000000000e+00 1.490422661761745e-01 9.888308262251286e-01 -0.000000000000000e+00 -17 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 -0.000000000000000e+00 4.338837391175581e-01 9.009688679024190e-01 -0.000000000000000e+00 -18 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 0.000000000000000e+00 6.801727377709192e-01 7.330518718298267e-01 0.000000000000000e+00 -19 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 0.000000000000000e+00 8.660254037844386e-01 5.000000000000001e-01 0.000000000000000e+00 -20 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 0.000000000000000e+00 9.749279121818235e-01 2.225209339563145e-01 0.000000000000000e+00 -21 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 0.000000000000000e+00 9.972037971811801e-01 -7.473009358642428e-02 0.000000000000000e+00 -22 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 0.000000000000000e+00 9.308737486442041e-01 -3.653410243663952e-01 0.000000000000000e+00 -23 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 0.000000000000000e+00 7.818314824680296e-01 -6.234898018587339e-01 0.000000000000000e+00 -24 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 0.000000000000000e+00 5.633200580636215e-01 -8.262387743159952e-01 0.000000000000000e+00 -25 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 -0.000000000000000e+00 -2.947551744109044e-01 9.555728057861407e-01 0.000000000000000e+00 -26 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 -0.000000000000000e+00 0.000000000000000e+00 1.000000000000000e+00 -0.000000000000000e+00 - -# Bond topology Bonds -1 1 1 2 -2 1 2 3 -3 1 3 4 -4 1 4 5 -5 1 5 6 -6 1 6 7 -7 1 7 8 -8 1 8 9 -9 1 9 10 -10 1 10 11 -11 1 11 12 -12 1 12 13 -13 1 14 15 -14 1 15 16 -15 1 16 17 -16 1 17 18 -17 1 18 19 -18 1 19 20 -19 1 20 21 -20 1 21 22 -21 1 22 23 -22 1 23 24 -23 1 24 25 -24 1 25 26 +1 1 1 2 +2 1 2 3 +3 1 3 4 +4 1 4 5 +5 1 5 6 +6 1 6 7 +7 1 7 8 +8 1 8 9 +9 1 9 10 +10 1 10 11 +11 1 11 12 +12 1 12 13 +13 1 14 15 +14 1 15 16 +15 1 16 17 +16 1 17 18 +17 1 18 19 +18 1 19 20 +19 1 20 21 +20 1 21 22 +21 1 22 23 +22 1 23 24 +23 1 24 25 +24 1 25 26 + +Ellipsoids + +1 1.173984503142341 1.173984503142341 1.173984503142341 0.9970278940278272 0.0014876174054512252 0.0750547523448584 0.017319055267040844 +2 1.173984503142341 1.173984503142341 1.173984503142341 0.9059171712388804 0.007913225291438054 0.04634256838354512 0.42083705406683053 +3 1.173984503142341 1.173984503142341 1.173984503142341 0.7657426991864452 0.028071560533125216 0.13224385975981257 0.6287779160305484 +4 1.173984503142341 1.173984503142341 1.173984503142341 0.5238981696613685 0.0516703526741727 0.1609645534282743 0.8348360887142046 +5 1.173984503142341 1.173984503142341 1.173984503142341 0.30973290897949424 0.0750672191209306 0.23962885621884192 0.9170651279902646 +6 1.173984503142341 1.173984503142341 1.173984503142341 -0.050269263744563454 0.08142241031464711 0.09584085715741358 0.9907865170259763 +7 1.173984503142341 1.173984503142341 1.173984503142341 -0.3805122714271814 0.08965734720629535 0.057827749665601925 0.9186010683391725 +8 1.173984503142341 1.173984503142341 1.173984503142341 -0.6066322463100545 0.015286960797006149 0.035984536832974555 0.7940206166563465 +9 1.173984503142341 1.173984503142341 1.173984503142341 0.771660293819677 0.02607541526374929 -0.08047223278265907 -0.6303845520092687 +10 1.173984503142341 1.173984503142341 1.173984503142341 0.9119628434851113 0.03686258000931541 -0.11017000132786052 -0.3934812487336936 +11 1.173984503142341 1.173984503142341 1.173984503142341 0.9917294290821066 0.05835078551401739 -0.08073737536574405 -0.08092837290732445 +12 1.173984503142341 1.173984503142341 1.173984503142341 0.9763527785523285 0.06753089597617556 0.004847281702108697 0.205307899901351 +13 1.173984503142341 1.173984503142341 1.173984503142341 0.8553397145502984 0.1399133966151149 0.07233200118835512 0.49354462388392356 +14 1.173984503142341 1.173984503142341 1.173984503142341 0.014416326682630282 -0.533642571147991 0.8442695396252617 0.04718813669228716 +15 1.173984503142341 1.173984503142341 1.173984503142341 0.14095892784917538 -0.2201285495070387 0.9406003462562982 -0.21666792788520955 +16 1.173984503142341 1.173984503142341 1.173984503142341 0.07323967796304806 0.05035907488974361 0.963136526452943 -0.2539053850556888 +17 1.173984503142341 1.173984503142341 1.173984503142341 0.030254986187638885 0.39195467212588947 0.9164794947567249 -0.07430684019611289 +18 1.173984503142341 1.173984503142341 1.173984503142341 -0.03080283760241768 0.6526511470205414 0.7481495879677094 -0.11562810865943304 +19 1.173984503142341 1.173984503142341 1.173984503142341 -0.09450197979153381 0.7469150592813072 0.6556128255138505 -0.0579576833217777 +20 1.173984503142341 1.173984503142341 1.173984503142341 -0.12903334341475137 0.9222523214328698 0.3501336268694509 -0.10103214950765672 +21 1.173984503142341 1.173984503142341 1.173984503142341 -0.0069954457806870336 0.9888131084284681 -0.09413955816471489 -0.11548785185859346 +22 1.173984503142341 1.173984503142341 1.173984503142341 0.029336230851923526 0.9805894852440379 -0.19236800606724952 -0.02404573205262194 +23 1.173984503142341 1.173984503142341 1.173984503142341 0.03080980270092377 0.872234086776475 -0.4869211139732921 0.03415088124407873 +24 1.173984503142341 1.173984503142341 1.173984503142341 0.007237815450514786 0.690265186998662 -0.7210993183911308 0.05913847022922672 +25 1.173984503142341 1.173984503142341 1.173984503142341 0.06694683426684143 -0.46894411325316443 0.8712038661029582 -0.12889283810247346 +26 1.173984503142341 1.173984503142341 1.173984503142341 0.07581973147109407 -0.10215114654759445 0.9759556607577902 -0.17699451916228467 diff --git a/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/data.duplex4.8type b/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/data.duplex4.8type index b4d622ac46..a71ba9c32f 100644 --- a/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/data.duplex4.8type +++ b/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/data.duplex4.8type @@ -1,130 +1,136 @@ -# LAMMPS data file +LAMMPS data file via write_data, version 27 May 2021 + 26 atoms -26 ellipsoids -24 bonds - 8 atom types +24 bonds 1 bond types +26 ellipsoids -# System size --20.000000 20.000000 xlo xhi --20.000000 20.000000 ylo yhi --20.000000 20.000000 zlo zhi +-20 20 xlo xhi +-20 20 ylo yhi +-20 20 zlo zhi -# Atom-ID, type, position, molecule-ID, ellipsoid flag, density -Atoms +Masses -1 1 -6.000000000000001e-01 0.000000000000000e+00 0.000000000000000e+00 1 1 1 -2 2 -4.957432645895970e-01 -3.379920348381733e-01 3.897628551303122e-01 1 1 1 -3 3 -2.192046146198370e-01 -5.585242491865227e-01 7.795257102606244e-01 1 1 1 -4 4 1.335125603737887e-01 -5.849567473090943e-01 1.169288565390937e+00 1 1 1 -5 5 4.398311230978960e-01 -4.081036426625517e-01 1.559051420521249e+00 1 1 1 -6 6 5.932984957350773e-01 -8.942535970570469e-02 1.948814275651561e+00 1 1 1 -7 7 5.405813207414517e-01 2.603302434705350e-01 2.338577130781873e+00 1 1 1 -8 8 3.000000000000002e-01 5.196152422706634e-01 2.728339985912185e+00 1 1 1 -9 1 -4.483805615185452e-02 5.983222783087083e-01 3.118102841042497e+00 1 1 1 -10 2 -3.740938811152403e-01 4.690988894808181e-01 3.507865696172809e+00 1 1 1 -11 7 -5.733436834716847e-01 1.768531046465427e-01 3.897628551303121e+00 1 1 1 -12 8 -5.733436834716849e-01 -1.768531046465427e-01 4.287391406433434e+00 1 1 1 -13 1 -3.740938811152403e-01 -4.690988894808182e-01 4.677154261563746e+00 1 1 1 -14 4 3.740938811152403e-01 4.690988894808182e-01 4.677154261563746e+00 2 1 1 -15 5 5.733436834716849e-01 1.768531046465427e-01 4.287391406433434e+00 2 1 1 -16 6 5.733436834716849e-01 -1.768531046465426e-01 3.897628551303122e+00 2 1 1 -17 3 3.740938811152403e-01 -4.690988894808181e-01 3.507865696172810e+00 2 1 1 -18 4 4.483805615185462e-02 -5.983222783087085e-01 3.118102841042498e+00 2 1 1 -19 5 -3.000000000000003e-01 -5.196152422706636e-01 2.728339985912186e+00 2 1 1 -20 6 -5.405813207414519e-01 -2.603302434705351e-01 2.338577130781874e+00 2 1 1 -21 7 -5.932984957350776e-01 8.942535970570474e-02 1.948814275651561e+00 2 1 1 -22 8 -4.398311230978962e-01 4.081036426625520e-01 1.559051420521249e+00 2 1 1 -23 1 -1.335125603737888e-01 5.849567473090947e-01 1.169288565390937e+00 2 1 1 -24 2 2.192046146198373e-01 5.585242491865231e-01 7.795257102606246e-01 2 1 1 -25 3 4.957432645895974e-01 3.379920348381736e-01 3.897628551303123e-01 2 1 1 -26 4 6.000000000000006e-01 0.000000000000000e+00 1.110223024625157e-16 2 1 1 +1 3.1575 +2 3.1575 +3 3.1575 +4 3.1575 +5 3.1575 +6 3.1575 +7 3.1575 +8 3.1575 + +Atoms # hybrid + +1 1 -0.5974293795290144 -0.47217734566783476 0.1149860099192362 1 1 3.7269849963023267 0 0 0 +2 2 -0.3607975285447209 -0.8084200276362509 0.5005631273908187 1 1 3.7269849963023267 0 0 0 +3 3 -0.1880165420620915 -0.9339012982528754 0.9372222930006777 1 1 3.7269849963023267 0 0 0 +4 4 0.18789028377909187 -0.8807473585891459 1.3080750447260532 1 1 3.7269849963023267 0 0 0 +5 5 0.46680288593900887 -0.6314504249974493 1.6544618495816525 1 1 3.7269849963023267 0 0 0 +6 6 0.6156490001978658 -0.24344915610488765 1.9998398114466447 1 1 3.7269849963023267 0 0 0 +7 7 0.5475869309223161 0.10633006738807783 2.395688109397028 1 1 3.7269849963023267 0 0 0 +8 8 0.3964561058464781 0.33864915662119616 2.855380256681012 1 1 3.7269849963023267 0 0 0 +9 1 0.09151778690925949 0.33572177117709545 3.2793107140407853 1 1 3.7269849963023267 0 0 0 +10 2 -0.260700239272384 0.23452584272483473 3.622064753017485 1 1 3.7269849963023267 0 0 0 +11 7 -0.44049173083867876 -0.04240311520575983 4.057361772274168 1 1 3.7269849963023267 0 0 0 +12 8 -0.48111471327910416 -0.3913669550617015 4.465217350523367 1 1 3.7269849963023267 0 0 0 +13 1 -0.3029890593292223 -0.6218232516387349 4.889919411438907 1 1 3.7269849963023267 0 0 0 +14 4 0.36538593166250877 0.467104033114044 4.885957202043727 2 1 3.7269849963023267 0 0 0 +15 5 0.5837256243756591 0.1432569770282543 4.587937684834979 2 1 3.7269849963023267 0 0 0 +16 6 0.7270895848434721 -0.21648156960230241 4.19127441749994 2 1 3.7269849963023267 0 0 0 +17 3 0.5694364623788377 -0.5971020505771416 3.7905394408535833 2 1 3.7269849963023267 0 0 0 +18 4 0.32183479629572403 -0.7826674384502239 3.3981789941001397 2 1 3.7269849963023267 0 0 0 +19 5 0.027943077828669855 -0.8173952163019756 2.892497591992246 2 1 3.7269849963023267 0 0 0 +20 6 -0.34389471043742403 -0.6801076538339801 2.6010059142333977 2 1 3.7269849963023267 0 0 0 +21 7 -0.5722337592890715 -0.31543771192866543 2.2496367888009035 2 1 3.7269849963023267 0 0 0 +22 8 -0.5243059431454682 -0.018794840926191582 1.6669602274961965 2 1 3.7269849963023267 0 0 0 +23 1 -0.4467049661654279 0.15318137385858244 1.1669311078565738 2 1 3.7269849963023267 0 0 0 +24 2 -0.04279541944801792 0.24071675674438053 0.7924196804793574 2 1 3.7269849963023267 0 0 0 +25 3 0.33688934798342335 0.1390449738629785 0.42004977704361546 2 1 3.7269849963023267 0 0 0 +26 4 0.5381606093378432 -0.28366941895261566 0.04905784853961178 2 1 3.7269849963023267 0 0 0 -# Atom-ID, translational, rotational velocity Velocities -1 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -2 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -3 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -4 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -5 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -6 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -7 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -8 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -9 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -10 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -11 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -12 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -13 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -14 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -15 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -16 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -17 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -18 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -19 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -20 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -21 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -22 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -23 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -24 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -25 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -26 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 +1 -0.1420563695014878 -0.2339928257547227 0.1871716305399088 -0.046333854442252194 0.08160574816172744 0.2791824603833533 +2 0.03390382747481304 0.2912921705525512 -0.1828986721885175 0.09422531767061365 -0.044398236946770545 0.011069519340877812 +3 0.05351747745964457 -0.3700026678535097 -0.01469442373794632 0.10875858697088675 0.2373869034785703 0.15028498953263314 +4 0.1107696836820372 0.012571134739153464 0.23554381030898286 0.11411649786729211 -0.23899527406990237 0.11196343804383825 +5 0.21949033826324368 -0.4153000294565104 0.18426481814713022 0.2497206165366295 0.2505624077277829 -0.35347918243093 +6 -0.24019769428878804 -0.16423570219236758 -0.003762466815720382 0.062008045889015595 0.22340307597010978 -0.38223196779931135 +7 0.12372477399377596 0.10393016373901434 0.08008946447311854 -0.15063203100274558 0.08544129561789665 -0.3233996805084572 +8 0.03216353270652909 -0.1291938805451393 0.1736283537356162 -0.17577447248216746 0.11132849782859955 -0.13659117762014125 +9 0.016485625003622013 0.01204732455105311 0.012268845318149781 -0.10829791072979295 0.1325154323216732 0.061321711941405295 +10 -0.10017034720683878 -0.09274368063499111 0.0712704971413183 -0.08539556363371427 -0.10194584018083674 0.12395163271335013 +11 0.1553620769751766 -0.017877616757193807 -0.1679552227127468 -0.11302061465460307 0.10833285249943261 -0.29004856929349787 +12 -0.25308607960176693 0.05651778438229357 -0.28293751231512154 0.08875447438401544 -0.0424858854741496 0.4807657704475166 +13 -0.006525152792083277 0.05278468067247092 0.0923614993309851 -0.17068957621149589 -0.21396827821680875 -0.22336174340467796 +14 -0.09024428084565417 0.19407821508904713 -0.27279958154128003 0.16579397498898726 0.05605196163049078 0.18139063086724955 +15 0.2329539015603435 0.08926675461196792 0.01755751945261716 0.14895763843533014 0.05566424996653055 0.038429304115211504 +16 -0.012766107314323394 -0.05870276075293287 0.22459362070331024 -0.051898555487544795 0.11349183901118838 -0.35625338947479507 +17 -0.20400754456760709 -0.43178141581578006 -0.05213026263746946 -0.16561150375144387 -0.08257869123336893 -0.31368221607714253 +18 0.26408469209202234 0.004101215813165573 -0.11409222616552296 -0.37751548716793587 0.021230702354981583 0.23218952685038605 +19 -0.2811352347889802 0.25474603468997514 0.0038005485218010606 0.2164466860189806 -0.3924452117278991 0.22754829879548555 +20 -0.34129793271588454 0.05074672818229578 -0.03388446943745919 -0.1368254010552013 -0.1547809974693013 -0.03266259795645136 +21 -0.25700758391191114 0.04693154859703793 0.08362546455733241 -0.08661574368141227 -0.030723569920460755 -0.18740437515161282 +22 0.08529314327765061 0.10662056255177826 -0.0742729015142829 -0.4671828719407557 -0.19246067344838313 0.20137866804242557 +23 -0.09337250162399305 -0.1907111010034805 0.19278254253312255 0.017795209772695803 -0.36506106427644847 0.24972052729172167 +24 -0.16063305395742022 0.12278800901705311 0.0513923554335936 -0.09716260028970423 -0.26401680055506943 0.08202659665577536 +25 -0.14736287972598905 0.09699085150412592 -0.20751532907712478 0.05612191742480806 -0.13929212905625324 0.034890079586931765 +26 -0.060417626533246734 0.35551862988152244 -0.19673503245092067 0.014766691426271806 0.02762183997756995 -0.20597323908506235 -# Atom-ID, shape, quaternion -Ellipsoids - -1 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 1.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -2 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 9.555728057861408e-01 0.000000000000000e+00 0.000000000000000e+00 2.947551744109042e-01 -3 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 8.262387743159949e-01 0.000000000000000e+00 0.000000000000000e+00 5.633200580636221e-01 -4 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 6.234898018587335e-01 0.000000000000000e+00 0.000000000000000e+00 7.818314824680299e-01 -5 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 3.653410243663950e-01 0.000000000000000e+00 0.000000000000000e+00 9.308737486442042e-01 -6 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 7.473009358642424e-02 0.000000000000000e+00 0.000000000000000e+00 9.972037971811802e-01 -7 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 -2.225209339563144e-01 0.000000000000000e+00 0.000000000000000e+00 9.749279121818237e-01 -8 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 -5.000000000000001e-01 0.000000000000000e+00 0.000000000000000e+00 8.660254037844387e-01 -9 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 7.330518718298263e-01 -0.000000000000000e+00 0.000000000000000e+00 -6.801727377709196e-01 -10 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 9.009688679024190e-01 -0.000000000000000e+00 0.000000000000000e+00 -4.338837391175581e-01 -11 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 9.888308262251286e-01 -0.000000000000000e+00 0.000000000000000e+00 -1.490422661761745e-01 -12 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 9.888308262251286e-01 0.000000000000000e+00 0.000000000000000e+00 1.490422661761745e-01 -13 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 9.009688679024190e-01 0.000000000000000e+00 0.000000000000000e+00 4.338837391175582e-01 -14 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 0.000000000000000e+00 -4.338837391175582e-01 9.009688679024190e-01 0.000000000000000e+00 -15 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 -0.000000000000000e+00 -1.490422661761746e-01 9.888308262251286e-01 0.000000000000000e+00 -16 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 -0.000000000000000e+00 1.490422661761745e-01 9.888308262251286e-01 -0.000000000000000e+00 -17 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 -0.000000000000000e+00 4.338837391175581e-01 9.009688679024190e-01 -0.000000000000000e+00 -18 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 0.000000000000000e+00 6.801727377709192e-01 7.330518718298267e-01 0.000000000000000e+00 -19 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 0.000000000000000e+00 8.660254037844386e-01 5.000000000000001e-01 0.000000000000000e+00 -20 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 0.000000000000000e+00 9.749279121818235e-01 2.225209339563145e-01 0.000000000000000e+00 -21 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 0.000000000000000e+00 9.972037971811801e-01 -7.473009358642428e-02 0.000000000000000e+00 -22 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 0.000000000000000e+00 9.308737486442041e-01 -3.653410243663952e-01 0.000000000000000e+00 -23 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 0.000000000000000e+00 7.818314824680296e-01 -6.234898018587339e-01 0.000000000000000e+00 -24 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 0.000000000000000e+00 5.633200580636215e-01 -8.262387743159952e-01 0.000000000000000e+00 -25 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 -0.000000000000000e+00 -2.947551744109044e-01 9.555728057861407e-01 0.000000000000000e+00 -26 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 -0.000000000000000e+00 0.000000000000000e+00 1.000000000000000e+00 -0.000000000000000e+00 - -# Bond topology Bonds -1 1 1 2 -2 1 2 3 -3 1 3 4 -4 1 4 5 -5 1 5 6 -6 1 6 7 -7 1 7 8 -8 1 8 9 -9 1 9 10 -10 1 10 11 -11 1 11 12 -12 1 12 13 -13 1 14 15 -14 1 15 16 -15 1 16 17 -16 1 17 18 -17 1 18 19 -18 1 19 20 -19 1 20 21 -20 1 21 22 -21 1 22 23 -22 1 23 24 -23 1 24 25 -24 1 25 26 +1 1 1 2 +2 1 2 3 +3 1 3 4 +4 1 4 5 +5 1 5 6 +6 1 6 7 +7 1 7 8 +8 1 8 9 +9 1 9 10 +10 1 10 11 +11 1 11 12 +12 1 12 13 +13 1 14 15 +14 1 15 16 +15 1 16 17 +16 1 17 18 +17 1 18 19 +18 1 19 20 +19 1 20 21 +20 1 21 22 +21 1 22 23 +22 1 23 24 +23 1 24 25 +24 1 25 26 + +Ellipsoids + +1 1.173984503142341 1.173984503142341 1.173984503142341 0.9970278940278272 0.0014876174054512252 0.0750547523448584 0.017319055267040844 +2 1.173984503142341 1.173984503142341 1.173984503142341 0.9059171712388804 0.007913225291438054 0.04634256838354512 0.42083705406683053 +3 1.173984503142341 1.173984503142341 1.173984503142341 0.7657426991864452 0.028071560533125216 0.13224385975981257 0.6287779160305484 +4 1.173984503142341 1.173984503142341 1.173984503142341 0.5238981696613685 0.0516703526741727 0.1609645534282743 0.8348360887142046 +5 1.173984503142341 1.173984503142341 1.173984503142341 0.30973290897949424 0.0750672191209306 0.23962885621884192 0.9170651279902646 +6 1.173984503142341 1.173984503142341 1.173984503142341 -0.050269263744563454 0.08142241031464711 0.09584085715741358 0.9907865170259763 +7 1.173984503142341 1.173984503142341 1.173984503142341 -0.3805122714271814 0.08965734720629535 0.057827749665601925 0.9186010683391725 +8 1.173984503142341 1.173984503142341 1.173984503142341 -0.6066322463100545 0.015286960797006149 0.035984536832974555 0.7940206166563465 +9 1.173984503142341 1.173984503142341 1.173984503142341 0.771660293819677 0.02607541526374929 -0.08047223278265907 -0.6303845520092687 +10 1.173984503142341 1.173984503142341 1.173984503142341 0.9119628434851113 0.03686258000931541 -0.11017000132786052 -0.3934812487336936 +11 1.173984503142341 1.173984503142341 1.173984503142341 0.9917294290821066 0.05835078551401739 -0.08073737536574405 -0.08092837290732445 +12 1.173984503142341 1.173984503142341 1.173984503142341 0.9763527785523285 0.06753089597617556 0.004847281702108697 0.205307899901351 +13 1.173984503142341 1.173984503142341 1.173984503142341 0.8553397145502984 0.1399133966151149 0.07233200118835512 0.49354462388392356 +14 1.173984503142341 1.173984503142341 1.173984503142341 0.014416326682630282 -0.533642571147991 0.8442695396252617 0.04718813669228716 +15 1.173984503142341 1.173984503142341 1.173984503142341 0.14095892784917538 -0.2201285495070387 0.9406003462562982 -0.21666792788520955 +16 1.173984503142341 1.173984503142341 1.173984503142341 0.07323967796304806 0.05035907488974361 0.963136526452943 -0.2539053850556888 +17 1.173984503142341 1.173984503142341 1.173984503142341 0.030254986187638885 0.39195467212588947 0.9164794947567249 -0.07430684019611289 +18 1.173984503142341 1.173984503142341 1.173984503142341 -0.03080283760241768 0.6526511470205414 0.7481495879677094 -0.11562810865943304 +19 1.173984503142341 1.173984503142341 1.173984503142341 -0.09450197979153381 0.7469150592813072 0.6556128255138505 -0.0579576833217777 +20 1.173984503142341 1.173984503142341 1.173984503142341 -0.12903334341475137 0.9222523214328698 0.3501336268694509 -0.10103214950765672 +21 1.173984503142341 1.173984503142341 1.173984503142341 -0.0069954457806870336 0.9888131084284681 -0.09413955816471489 -0.11548785185859346 +22 1.173984503142341 1.173984503142341 1.173984503142341 0.029336230851923526 0.9805894852440379 -0.19236800606724952 -0.02404573205262194 +23 1.173984503142341 1.173984503142341 1.173984503142341 0.03080980270092377 0.872234086776475 -0.4869211139732921 0.03415088124407873 +24 1.173984503142341 1.173984503142341 1.173984503142341 0.007237815450514786 0.690265186998662 -0.7210993183911308 0.05913847022922672 +25 1.173984503142341 1.173984503142341 1.173984503142341 0.06694683426684143 -0.46894411325316443 0.8712038661029582 -0.12889283810247346 +26 1.173984503142341 1.173984503142341 1.173984503142341 0.07581973147109407 -0.10215114654759445 0.9759556607577902 -0.17699451916228467 diff --git a/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/in.duplex4.4type b/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/in.duplex4.4type index eebc5c6eed..ebbd00c0e2 100644 --- a/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/in.duplex4.4type +++ b/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/in.duplex4.4type @@ -1,10 +1,11 @@ -variable number equal 1 -variable ofreq equal 10000 -variable efreq equal 10000 +variable number equal 4 +variable ofreq equal 1000 +variable efreq equal 1000 variable ntype equal 4 variable T equal 0.1 +variable rhos equal 0.2 units lj @@ -14,20 +15,21 @@ newton off boundary p p p -atom_style hybrid bond ellipsoid +atom_style hybrid bond ellipsoid oxdna atom_modify sort 0 1.0 # Pair interactions require lists of neighbours to be calculated -neighbor 1.0 bin +neighbor 2.0 bin neigh_modify every 10 delay 0 check yes read_data data.duplex4.4type + mass * 3.1575 # sets per-type mass if not in data file set atom * mass 3.1575 # sets per-atom mass group all type 1 4 -# oxDNA bond interactions - FENE backbone +# oxDNA2 bond interactions - FENE backbone bond_style oxdna2/fene bond_coeff * 2.0 0.25 0.7564 special_bonds lj 0 1 1 @@ -52,28 +54,19 @@ jump in.duplex4.4type loop pair_coeff * * oxdna2/xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68 pair_coeff * * oxdna2/coaxstk 58.5 0.4 0.6 0.22 0.58 2.0 2.891592653589793 0.65 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 40.0 3.116592653589793 -pair_coeff * * oxdna2/dh ${T} 0.2 0.815 +pair_coeff * * oxdna2/dh ${T} ${rhos} 0.815 # Langevin dynamics fix 1 all nve/asphere -fix 2 all langevin ${T} ${T} 25.0 457145 angmom 10 +fix 2 all langevin ${T} ${T} 2.5 457145 angmom 10 -timestep 1e-4 +timestep 1e-5 #comm_style tiled -#fix 3 all balance 10000 1.1 rcb -comm_modify cutoff 2.5 - -#compute mol all chunk/atom molecule -#compute mychunk all vcm/chunk mol -#fix 4 all ave/time 10000 1 10000 c_mychunk[1] c_mychunk[2] c_mychunk[3] file vcm.txt mode vector - -#dump pos all xyz ${ofreq} traj.${number}.xyz +fix 3 all balance 1000 1.03 shift xyz 10 1.03 +comm_modify cutoff 3.8 compute quat all property/atom quatw quati quatj quatk -#dump quat all custom ${ofreq} quat.${number}.txt id c_quat[1] c_quat[2] c_quat[3] c_quat[4] -#dump_modify quat sort id -#dump_modify quat format line "%d %13.6le %13.6le %13.6le %13.6le" compute erot all erotate/asphere compute ekin all ke @@ -84,14 +77,10 @@ variable epot equal c_epot variable etot equal c_erot+c_ekin+c_epot fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes -dump out all custom ${ofreq} out.${number}.txt id mol type x y z ix iy iz c_quat[1] c_quat[2] c_quat[3] c_quat[4] vx vy vz +dump out all custom ${ofreq} out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz dump_modify out sort id -dump_modify out format line "%d %d %d %13.6le %13.6le %13.6le %d %d %d %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le " - -#restart 10000 config0_restart config1_restart - -run 100000 - -#write_restart config.${number}.* +dump_modify out format line "%d %d %d %22.15le %22.15le %22.15le %d %d %d %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le" +run 1000000 +write_data last_config.${number}.* nocoeff diff --git a/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/in.duplex4.8type b/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/in.duplex4.8type index 07d3ffc423..9945dc5366 100644 --- a/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/in.duplex4.8type +++ b/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/in.duplex4.8type @@ -1,10 +1,11 @@ -variable number equal 1 -variable ofreq equal 10000 -variable efreq equal 10000 +variable number equal 8 +variable ofreq equal 1000 +variable efreq equal 1000 variable ntype equal 8 variable T equal 0.1 +variable rhos equal 0.2 units lj @@ -14,20 +15,21 @@ newton off boundary p p p -atom_style hybrid bond ellipsoid +atom_style hybrid bond ellipsoid oxdna atom_modify sort 0 1.0 # Pair interactions require lists of neighbours to be calculated -neighbor 1.0 bin +neighbor 2.0 bin neigh_modify every 10 delay 0 check yes read_data data.duplex4.8type + mass * 3.1575 # sets per-type mass if not in data file set atom * mass 3.1575 # sets per-atom mass group all type 1 8 -# oxDNA bond interactions - FENE backbone +# oxDNA2 bond interactions - FENE backbone bond_style oxdna2/fene bond_coeff * 2.0 0.25 0.7564 special_bonds lj 0 1 1 @@ -52,28 +54,19 @@ jump in.duplex4.8type loop pair_coeff * * oxdna2/xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68 pair_coeff * * oxdna2/coaxstk 58.5 0.4 0.6 0.22 0.58 2.0 2.891592653589793 0.65 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 40.0 3.116592653589793 -pair_coeff * * oxdna2/dh ${T} 0.2 0.815 +pair_coeff * * oxdna2/dh ${T} ${rhos} 0.815 # Langevin dynamics fix 1 all nve/asphere -fix 2 all langevin ${T} ${T} 25.0 457145 angmom 10 +fix 2 all langevin ${T} ${T} 2.5 457145 angmom 10 -timestep 1e-4 +timestep 1e-5 #comm_style tiled -#fix 3 all balance 10000 1.1 rcb -comm_modify cutoff 2.5 - -#compute mol all chunk/atom molecule -#compute mychunk all vcm/chunk mol -#fix 4 all ave/time 10000 1 10000 c_mychunk[1] c_mychunk[2] c_mychunk[3] file vcm.txt mode vector - -#dump pos all xyz ${ofreq} traj.${number}.xyz +fix 3 all balance 1000 1.03 shift xyz 10 1.03 +comm_modify cutoff 3.8 compute quat all property/atom quatw quati quatj quatk -#dump quat all custom ${ofreq} quat.${number}.txt id c_quat[1] c_quat[2] c_quat[3] c_quat[4] -#dump_modify quat sort id -#dump_modify quat format line "%d %13.6le %13.6le %13.6le %13.6le" compute erot all erotate/asphere compute ekin all ke @@ -84,14 +77,10 @@ variable epot equal c_epot variable etot equal c_erot+c_ekin+c_epot fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes -dump out all custom ${ofreq} out.${number}.txt id mol type x y z ix iy iz c_quat[1] c_quat[2] c_quat[3] c_quat[4] vx vy vz +dump out all custom ${ofreq} out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz dump_modify out sort id -dump_modify out format line "%d %d %d %13.6le %13.6le %13.6le %d %d %d %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le " - -#restart 10000 config0_restart config1_restart - -run 100000 - -#write_restart config.${number}.* +dump_modify out format line "%d %d %d %22.15le %22.15le %22.15le %d %d %d %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le" +run 1000000 +write_data last_config.${number}.* nocoeff diff --git a/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.27May21.duplex4.4type.g++1 b/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.27May21.duplex4.4type.g++1 new file mode 100644 index 0000000000..0193d361af --- /dev/null +++ b/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.27May21.duplex4.4type.g++1 @@ -0,0 +1,1230 @@ +LAMMPS (27 May 2021) +variable number equal 4 +variable ofreq equal 1000 +variable efreq equal 1000 + +variable ntype equal 4 + +variable T equal 0.1 +variable rhos equal 0.2 + +units lj + +dimension 3 + +newton off + +boundary p p p + +atom_style hybrid bond ellipsoid oxdna +WARNING: Atom style hybrid defines both, per-type and per-atom masses; both must be set, but only per-atom masses will be used (../atom_vec_hybrid.cpp:157) +atom_modify sort 0 1.0 + +# Pair interactions require lists of neighbours to be calculated +neighbor 2.0 bin +neigh_modify every 10 delay 0 check yes + +read_data data.duplex4.4type +Reading data file ... + orthogonal box = (-20.000000 -20.000000 -20.000000) to (20.000000 20.000000 20.000000) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 26 atoms + reading velocities ... + 26 velocities + scanning bonds ... + 2 = max bonds/atom + 26 ellipsoids + reading bonds ... +Setting oxDNA 3'->5' bond directionality ... + 24 bonds +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 + 2 = max # of 1-3 neighbors + 4 = max # of 1-4 neighbors + 6 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.003 seconds + +mass * 3.1575 # sets per-type mass if not in data file +set atom * mass 3.1575 # sets per-atom mass +Setting atom values ... + 26 settings made for mass + +group all type 1 4 +26 atoms in group all + +# oxDNA2 bond interactions - FENE backbone +bond_style oxdna2/fene +bond_coeff * 2.0 0.25 0.7564 +special_bonds lj 0 1 1 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 1 1 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 2 = max # of 1-3 neighbors + 4 = max # of 1-4 neighbors + 6 = max # of special neighbors + special bonds CPU = 0.000 seconds + +# oxDNA pair interactions +pair_style hybrid/overlay oxdna2/excv oxdna2/stk oxdna2/hbond oxdna2/xstk oxdna2/coaxstk oxdna2/dh +pair_coeff * * oxdna2/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32 +pair_coeff * * oxdna2/stk seqdep ${T} 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 +pair_coeff * * oxdna2/stk seqdep 0.1 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 +pair_coeff * * oxdna2/hbond seqdep 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 + +label loop +variable base loop ${ntype} +variable base loop 4 + variable basemod equal ${base}%4 + variable basemod equal 1%4 + if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" +variable comp equal ${base}+3 +variable comp equal 1+3 +pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 1 ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 1 4 oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 + if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" +next base +jump in.duplex4.4type loop +variable base loop ${ntype} +variable base loop 4 + variable basemod equal ${base}%4 + variable basemod equal 2%4 + if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" + if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" +variable comp equal ${base}+1 +variable comp equal 2+1 +pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 2 ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 2 3 oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +next base +jump in.duplex4.4type loop +variable base loop ${ntype} +variable base loop 4 + variable basemod equal ${base}%4 + variable basemod equal 3%4 + if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" + if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" +next base +jump in.duplex4.4type loop +variable base loop ${ntype} +variable base loop 4 + variable basemod equal ${base}%4 + variable basemod equal 4%4 + if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" + if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" +next base +jump in.duplex4.4type loop + +pair_coeff * * oxdna2/xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68 +pair_coeff * * oxdna2/coaxstk 58.5 0.4 0.6 0.22 0.58 2.0 2.891592653589793 0.65 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 40.0 3.116592653589793 +pair_coeff * * oxdna2/dh ${T} ${rhos} 0.815 +pair_coeff * * oxdna2/dh 0.1 ${rhos} 0.815 +pair_coeff * * oxdna2/dh 0.1 0.2 0.815 + +# Langevin dynamics +fix 1 all nve/asphere +fix 2 all langevin ${T} ${T} 2.5 457145 angmom 10 +fix 2 all langevin 0.1 ${T} 2.5 457145 angmom 10 +fix 2 all langevin 0.1 0.1 2.5 457145 angmom 10 + +timestep 1e-5 + +#comm_style tiled +fix 3 all balance 1000 1.03 shift xyz 10 1.03 +comm_modify cutoff 3.8 + +compute quat all property/atom quatw quati quatj quatk + +compute erot all erotate/asphere +compute ekin all ke +compute epot all pe +variable erot equal c_erot +variable ekin equal c_ekin +variable epot equal c_epot +variable etot equal c_erot+c_ekin+c_epot +fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes +fix 5 all print 1000 "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes + +dump out all custom ${ofreq} out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump out all custom 1000 out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump out all custom 1000 out.4.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump_modify out sort id +dump_modify out format line "%d %d %d %22.15le %22.15le %22.15le %d %d %d %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le" + +run 1000000 +Neighbor list info ... + update every 10 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 5.6389877 + ghost atom cutoff = 5.6389877 + binsize = 2.8194939, bins = 15 15 15 + 5 neighbor lists, perpetual/occasional/extra = 5 0 0 + (1) pair oxdna2/excv, perpetual + attributes: half, newton off + pair build: half/bin/newtoff + stencil: full/bin/3d + bin: standard + (2) pair oxdna2/hbond, perpetual, copy from (1) + attributes: half, newton off + pair build: copy + stencil: none + bin: none + (3) pair oxdna2/xstk, perpetual, copy from (1) + attributes: half, newton off + pair build: copy + stencil: none + bin: none + (4) pair oxdna2/coaxstk, perpetual, copy from (1) + attributes: half, newton off + pair build: copy + stencil: none + bin: none + (5) pair oxdna2/dh, perpetual, copy from (1) + attributes: half, newton off + pair build: copy + stencil: none + bin: none +WARNING: Communication cutoff adjusted to 5.638987723814632 (../comm.cpp:739) +0 ekin = 3.74991604702378 | erot = 3.45272678980464 | epot = -37.374200901142 | etot = -30.1715580643136 +Per MPI rank memory allocation (min/avg/max) = 9.578 | 9.578 | 9.578 Mbytes +Step Temp E_pair E_mol TotEng Press Volume + 0 0.099997761 -1.4717559 0.03428661 -1.2932417 5.6146609e-05 64000 +1000 ekin = 3.83184879800819 | erot = 3.50203401022061 | epot = -37.4730508915114 | etot = -30.1391680832826 +2000 ekin = 3.82227374831519 | erot = 3.79878100905234 | epot = -37.616191007464 | etot = -29.9951362500965 +3000 ekin = 3.90938932030971 | erot = 4.1584025695072 | epot = -37.7430329723255 | etot = -29.6752410825086 +4000 ekin = 3.82373321902577 | erot = 4.12183047279799 | epot = -37.8313543569025 | etot = -29.8857906650788 +5000 ekin = 3.7245469506492 | erot = 4.29953523687407 | epot = -37.8617217220935 | etot = -29.8376395345702 +6000 ekin = 3.75585156536887 | erot = 4.31270713695362 | epot = -37.8280629310505 | etot = -29.759504228728 +7000 ekin = 3.79326740841051 | erot = 4.16508360466874 | epot = -37.7640947397914 | etot = -29.8057437267121 +8000 ekin = 3.74746489835263 | erot = 4.25243425677965 | epot = -37.6835135449588 | etot = -29.6836143898265 +9000 ekin = 3.70802697723782 | erot = 4.00193184819408 | epot = -37.589938820096 | etot = -29.8799799946641 +10000 ekin = 3.5813559764108 | erot = 3.86411518632768 | epot = -37.5041732418664 | etot = -30.0587020791279 +11000 ekin = 3.45122934445656 | erot = 4.17035352993105 | epot = -37.485988256137 | etot = -29.8644053817494 +12000 ekin = 3.42435863038455 | erot = 4.2148747253892 | epot = -37.5307136425246 | etot = -29.8914802867509 +13000 ekin = 3.40216979362994 | erot = 4.07292918248778 | epot = -37.6378499557145 | etot = -30.1627509795968 +14000 ekin = 3.29213315521691 | erot = 4.50441987673247 | epot = -37.7761364031321 | etot = -29.9795833711827 +15000 ekin = 3.36883179726037 | erot = 4.91359031415189 | epot = -37.9357367952089 | etot = -29.6533146837967 +16000 ekin = 3.30177911852249 | erot = 5.0959341599744 | epot = -38.143737189117 | etot = -29.7460239106201 +17000 ekin = 3.27867865291038 | erot = 5.45789581601547 | epot = -38.3785999463332 | etot = -29.6420254774074 +18000 ekin = 3.36770908750654 | erot = 5.63036493519876 | epot = -38.5970397067551 | etot = -29.5989656840498 +19000 ekin = 3.29802639540141 | erot = 5.45616396083943 | epot = -38.7810833463914 | etot = -30.0268929901506 +20000 ekin = 3.28760849058064 | erot = 5.26031945979087 | epot = -38.9429500949467 | etot = -30.3950221445752 +21000 ekin = 3.32772748450134 | erot = 5.34990394778083 | epot = -39.0618181252057 | etot = -30.3841866929235 +22000 ekin = 3.34298346296243 | erot = 5.12273250375892 | epot = -39.1360899153794 | etot = -30.670373948658 +23000 ekin = 3.38280280428754 | erot = 5.14933572496704 | epot = -39.1974651493047 | etot = -30.6653266200501 +24000 ekin = 3.43991273776908 | erot = 5.03737353653106 | epot = -39.2427818934623 | etot = -30.7654956191621 +25000 ekin = 3.44382800915661 | erot = 4.56194227438371 | epot = -39.2491545805195 | etot = -31.2433842969791 +26000 ekin = 3.47220361933917 | erot = 4.88028216050144 | epot = -39.2033487475128 | etot = -30.8508629676722 +27000 ekin = 3.47824341108208 | erot = 4.79713670041817 | epot = -39.1340731989048 | etot = -30.8586930874045 +28000 ekin = 3.54835351423495 | erot = 4.6549460773945 | epot = -39.0768463918722 | etot = -30.8735468002427 +29000 ekin = 3.57491058588771 | erot = 4.31737192689198 | epot = -39.0420895500443 | etot = -31.1498070372646 +30000 ekin = 3.51438036654854 | erot = 4.50861299911588 | epot = -39.0276136699747 | etot = -31.0046203043103 +31000 ekin = 3.57650331888537 | erot = 4.40811531091205 | epot = -39.0168289246977 | etot = -31.0322102949003 +32000 ekin = 3.70658082522062 | erot = 4.15949186201365 | epot = -39.017410963825 | etot = -31.1513382765907 +33000 ekin = 3.83721022661993 | erot = 4.05055961618764 | epot = -39.0303039022728 | etot = -31.1425340594653 +34000 ekin = 3.9488588066567 | erot = 3.81495459058985 | epot = -39.0180833389346 | etot = -31.2542699416881 +35000 ekin = 3.97994525138311 | erot = 4.49904715736237 | epot = -38.9543629321031 | etot = -30.4753705233576 +36000 ekin = 3.90049506438254 | erot = 3.99723351860171 | epot = -38.8736492127443 | etot = -30.97592062976 +37000 ekin = 4.00119032736875 | erot = 4.30070706410094 | epot = -38.7576942972652 | etot = -30.4557969057955 +38000 ekin = 4.00581796835635 | erot = 3.82064458204037 | epot = -38.6053485149963 | etot = -30.7788859645996 +39000 ekin = 3.92374370666481 | erot = 3.80679256085699 | epot = -38.4357174066365 | etot = -30.7051811391147 +40000 ekin = 3.81525591020234 | erot = 3.60218215391064 | epot = -38.2889289083717 | etot = -30.8714908442588 +41000 ekin = 3.89801377589288 | erot = 3.52447171643245 | epot = -38.2033074629499 | etot = -30.7808219706246 +42000 ekin = 3.92469802136758 | erot = 3.7220708309091 | epot = -38.1843497161944 | etot = -30.5375808639177 +43000 ekin = 3.9035581905627 | erot = 3.65375269274892 | epot = -38.2197716832792 | etot = -30.6624607999676 +44000 ekin = 3.94906849382527 | erot = 3.48405507068381 | epot = -38.2852323155718 | etot = -30.8521087510627 +45000 ekin = 4.04988136986444 | erot = 3.38338492043344 | epot = -38.3792178397491 | etot = -30.9459515494513 +46000 ekin = 4.12456204511551 | erot = 3.52614566674481 | epot = -38.4473213411913 | etot = -30.796613629331 +47000 ekin = 4.05260082430176 | erot = 3.30110271195189 | epot = -38.4808326895797 | etot = -31.127129153326 +48000 ekin = 3.94672633965036 | erot = 3.3079094466035 | epot = -38.4845357728863 | etot = -31.2298999866324 +49000 ekin = 3.88681575217737 | erot = 3.7826220382333 | epot = -38.441512853504 | etot = -30.7720750630934 +50000 ekin = 3.82899985395713 | erot = 3.78573156370331 | epot = -38.3450518110651 | etot = -30.7303203934047 +51000 ekin = 3.8440574703342 | erot = 3.5318167647978 | epot = -38.2059734024446 | etot = -30.8300991673126 +52000 ekin = 3.72257170524991 | erot = 3.44233441463351 | epot = -38.0493176755068 | etot = -30.8844115556234 +53000 ekin = 3.58458805955591 | erot = 3.40175184254422 | epot = -37.8770316144348 | etot = -30.8906917123346 +54000 ekin = 3.42774104644871 | erot = 3.019334453294 | epot = -37.7242775274777 | etot = -31.277202027735 +55000 ekin = 3.30773758120279 | erot = 3.11354928843073 | epot = -37.5844277892892 | etot = -31.1631409196556 +56000 ekin = 3.30267684217519 | erot = 3.36746893036052 | epot = -37.4528615341921 | etot = -30.7827157616564 +57000 ekin = 3.19775481140565 | erot = 3.06235541109216 | epot = -37.3795633131474 | etot = -31.1194530906496 +58000 ekin = 3.11776701522974 | erot = 3.21225050262699 | epot = -37.3545495658646 | etot = -31.0245320480079 +59000 ekin = 3.02660076850685 | erot = 3.05700513362467 | epot = -37.3753385948442 | etot = -31.2917326927127 +60000 ekin = 3.05479252149933 | erot = 3.09854486170695 | epot = -37.4441725320784 | etot = -31.2908351488721 +61000 ekin = 3.0170447679161 | erot = 3.76451997765653 | epot = -37.5384296958522 | etot = -30.7568649502795 +62000 ekin = 3.04313706615767 | erot = 3.65046217125996 | epot = -37.6255736746588 | etot = -30.9319744372411 +63000 ekin = 3.01457068009159 | erot = 3.63417424777149 | epot = -37.6954625017368 | etot = -31.0467175738737 +64000 ekin = 2.98716002899792 | erot = 3.6682341307717 | epot = -37.7940816265088 | etot = -31.1386874667392 +65000 ekin = 3.02462936411614 | erot = 3.70957377344581 | epot = -37.8868266007907 | etot = -31.1526234632287 +66000 ekin = 3.04943307417966 | erot = 3.64749592963954 | epot = -37.9385532609816 | etot = -31.2416242571625 +67000 ekin = 3.1066499876682 | erot = 3.92441992350054 | epot = -37.9686488739492 | etot = -30.9375789627804 +68000 ekin = 3.10508542338566 | erot = 3.51781674899961 | epot = -37.9831132441551 | etot = -31.3602110717698 +69000 ekin = 3.12460161346405 | erot = 3.45336993587922 | epot = -38.016048039057 | etot = -31.4380764897137 +70000 ekin = 3.2758656602578 | erot = 2.9433048812549 | epot = -38.0712687269606 | etot = -31.8520981854479 +71000 ekin = 3.39211310061244 | erot = 2.74512861011507 | epot = -38.1409313278077 | etot = -32.0036896170801 +72000 ekin = 3.40645093836715 | erot = 2.75927481548162 | epot = -38.2448895790434 | etot = -32.0791638251946 +73000 ekin = 3.52971008848809 | erot = 2.59006671029947 | epot = -38.3559671032089 | etot = -32.2361903044213 +74000 ekin = 3.64539698532463 | erot = 2.94116909218571 | epot = -38.4934235930849 | etot = -31.9068575155746 +75000 ekin = 3.801696795608 | erot = 3.11004664709642 | epot = -38.6561648833572 | etot = -31.7444214406528 +76000 ekin = 3.86343004207976 | erot = 3.33165114941781 | epot = -38.7892518002905 | etot = -31.5941706087929 +77000 ekin = 3.90472352035102 | erot = 3.31177401193371 | epot = -38.8678679983232 | etot = -31.6513704660385 +78000 ekin = 3.9269153046816 | erot = 3.25784074314334 | epot = -38.8969605625463 | etot = -31.7122045147213 +79000 ekin = 3.93607959529908 | erot = 3.16472395725651 | epot = -38.8636036578362 | etot = -31.7628001052806 +80000 ekin = 3.92375596570378 | erot = 3.03932991445862 | epot = -38.7678348516125 | etot = -31.8047489714501 +81000 ekin = 3.94307777153344 | erot = 2.88134017144298 | epot = -38.6473318824763 | etot = -31.8229139394999 +82000 ekin = 3.86696228915961 | erot = 2.89149309255461 | epot = -38.5199433915521 | etot = -31.7614880098378 +83000 ekin = 3.6081427560926 | erot = 2.81572010912292 | epot = -38.3996592376439 | etot = -31.9757963724284 +84000 ekin = 3.71373301448703 | erot = 2.72793818704548 | epot = -38.3011883980017 | etot = -31.8595171964692 +85000 ekin = 3.50951070251159 | erot = 2.79348490714941 | epot = -38.2117363909516 | etot = -31.9087407812906 +86000 ekin = 3.47308524750452 | erot = 3.12141964520655 | epot = -38.1244236248809 | etot = -31.5299187321698 +87000 ekin = 3.47440394227045 | erot = 3.04160702571501 | epot = -38.0440539828501 | etot = -31.5280430148646 +88000 ekin = 3.44172477689074 | erot = 2.9990722717108 | epot = -37.985933210493 | etot = -31.5451361618915 +89000 ekin = 3.46547245050653 | erot = 3.42367325086154 | epot = -37.9432140623316 | etot = -31.0540683609635 +90000 ekin = 3.47276106924418 | erot = 3.41105238494323 | epot = -37.9009776655539 | etot = -31.0171642113665 +91000 ekin = 3.31717291023281 | erot = 4.00503611404964 | epot = -37.8509086765272 | etot = -30.5286996522448 +92000 ekin = 3.30281925189457 | erot = 3.78657692130456 | epot = -37.8308149894368 | etot = -30.7414188162377 +93000 ekin = 3.23932364656724 | erot = 3.46021357148709 | epot = -37.8328101558439 | etot = -31.1332729377896 +94000 ekin = 3.19291152023926 | erot = 3.36401906457213 | epot = -37.8297890174383 | etot = -31.2728584326269 +95000 ekin = 3.11174095364039 | erot = 3.84559531996385 | epot = -37.8285495206063 | etot = -30.871213247002 +96000 ekin = 3.08253957616711 | erot = 4.19970849347949 | epot = -37.8307056468836 | etot = -30.548457577237 +97000 ekin = 3.01019162595086 | erot = 4.79435511235201 | epot = -37.8474383063021 | etot = -30.0428915679993 +98000 ekin = 2.95004498340949 | erot = 4.45721895779629 | epot = -37.8489202082855 | etot = -30.4416562670797 +99000 ekin = 2.91563074020307 | erot = 4.14781823161594 | epot = -37.8396252499933 | etot = -30.7761762781743 +100000 ekin = 2.90648603235873 | erot = 3.81215086067846 | epot = -37.7900595351461 | etot = -31.0714226421089 +101000 ekin = 2.85218071196321 | erot = 3.48991910340801 | epot = -37.7570245236791 | etot = -31.4149247083079 +102000 ekin = 2.86052427330306 | erot = 3.57587365782281 | epot = -37.7214005697291 | etot = -31.2850026386032 +103000 ekin = 2.8891327192239 | erot = 3.41748118405775 | epot = -37.6983180369494 | etot = -31.3917041336678 +104000 ekin = 2.81650081212178 | erot = 3.64361039549593 | epot = -37.6651320682074 | etot = -31.2050208605896 +105000 ekin = 2.79823699847459 | erot = 3.35865525277727 | epot = -37.6511913094719 | etot = -31.4942990582201 +106000 ekin = 2.78255015161699 | erot = 3.64122601097051 | epot = -37.6357012767033 | etot = -31.2119251141158 +107000 ekin = 2.88530590298807 | erot = 3.80038887689837 | epot = -37.6526611371133 | etot = -30.9669663572269 +108000 ekin = 2.83844762508153 | erot = 3.95272494897021 | epot = -37.7224292501162 | etot = -30.9312566760645 +109000 ekin = 2.91484982662488 | erot = 4.34544884566574 | epot = -37.8436434051328 | etot = -30.5833447328422 +110000 ekin = 2.93667443132402 | erot = 4.67698362049716 | epot = -37.9759529936705 | etot = -30.3622949418493 +111000 ekin = 3.11047864616464 | erot = 4.30694673133238 | epot = -38.1028692919236 | etot = -30.6854439144265 +112000 ekin = 3.32630420939175 | erot = 4.07222830175948 | epot = -38.2330557688864 | etot = -30.8345232577351 +113000 ekin = 3.38238157246172 | erot = 4.25399862575992 | epot = -38.4031841501304 | etot = -30.7668039519087 +114000 ekin = 3.40165200205494 | erot = 4.30744946748784 | epot = -38.6070332241658 | etot = -30.897931754623 +115000 ekin = 3.57685598139984 | erot = 4.55740206723824 | epot = -38.8200433287838 | etot = -30.6857852801457 +116000 ekin = 3.75973031177342 | erot = 4.36157654592901 | epot = -39.0323085624547 | etot = -30.9110017047523 +117000 ekin = 4.08170792820106 | erot = 4.22817627757005 | epot = -39.2374888319018 | etot = -30.9276046261307 +118000 ekin = 4.20730049786356 | erot = 4.45363628574763 | epot = -39.4247594107618 | etot = -30.7638226271506 +119000 ekin = 4.26502745539808 | erot = 4.38707691524364 | epot = -39.5609276649307 | etot = -30.908823294289 +120000 ekin = 4.18668022830479 | erot = 4.24219249569083 | epot = -39.6276325806845 | etot = -31.1987598566889 +121000 ekin = 4.37673633947888 | erot = 4.44899930150558 | epot = -39.5989335189463 | etot = -30.7731978779618 +122000 ekin = 4.38970640566175 | erot = 4.08524736298497 | epot = -39.5011631447288 | etot = -31.0262093760821 +123000 ekin = 4.42858502015388 | erot = 3.3866674865171 | epot = -39.3700347945818 | etot = -31.5547822879108 +124000 ekin = 4.41843242629726 | erot = 3.2990259988492 | epot = -39.2496495732995 | etot = -31.5321911481531 +125000 ekin = 4.26174945235079 | erot = 3.29673673713418 | epot = -39.1012418833315 | etot = -31.5427556938465 +126000 ekin = 4.24892047563245 | erot = 3.36728042977254 | epot = -38.9439369649169 | etot = -31.3277360595119 +127000 ekin = 4.20697642244211 | erot = 3.24776092764455 | epot = -38.7860930134988 | etot = -31.3313556634122 +128000 ekin = 4.05115550712502 | erot = 3.47679598409542 | epot = -38.6330582994879 | etot = -31.1051068082675 +129000 ekin = 4.05771564566357 | erot = 3.55109790126645 | epot = -38.5073350485465 | etot = -30.8985215016165 +130000 ekin = 3.96453894213024 | erot = 3.53313522266287 | epot = -38.391565950826 | etot = -30.8938917860329 +131000 ekin = 3.98900505769185 | erot = 3.64077310068002 | epot = -38.2786451293433 | etot = -30.6488669709715 +132000 ekin = 3.73079609117297 | erot = 3.73126171283416 | epot = -38.1409399456635 | etot = -30.6788821416564 +133000 ekin = 3.65247250435604 | erot = 3.53430985836842 | epot = -38.0235035134258 | etot = -30.8367211507014 +134000 ekin = 3.69649402588234 | erot = 3.97356364722734 | epot = -37.9278485959381 | etot = -30.2577909228284 +135000 ekin = 3.57147615494151 | erot = 4.00472599145957 | epot = -37.8397002442412 | etot = -30.2634980978401 +136000 ekin = 3.54164301577371 | erot = 3.88237062104613 | epot = -37.7460882463412 | etot = -30.3220746095214 +137000 ekin = 3.41247180964225 | erot = 3.32750587829706 | epot = -37.624611292303 | etot = -30.8846336043637 +138000 ekin = 3.46206567288778 | erot = 3.47277237990371 | epot = -37.562116148782 | etot = -30.6272780959905 +139000 ekin = 3.46179863350055 | erot = 3.29345554522848 | epot = -37.5218039357363 | etot = -30.7665497570072 +140000 ekin = 3.57268233853845 | erot = 3.52021546572331 | epot = -37.4799882832129 | etot = -30.3870904789511 +141000 ekin = 3.48030321137918 | erot = 3.69147952189479 | epot = -37.4842309048151 | etot = -30.3124481715412 +142000 ekin = 3.63349703801688 | erot = 3.72222694231689 | epot = -37.5326170636814 | etot = -30.1768930833476 +143000 ekin = 3.71391772492725 | erot = 3.32855653910442 | epot = -37.5715573506383 | etot = -30.5290830866066 +144000 ekin = 3.59876610372653 | erot = 3.57133292531719 | epot = -37.6083426167156 | etot = -30.4382435876719 +145000 ekin = 3.5512989873801 | erot = 3.38442665443486 | epot = -37.645703742064 | etot = -30.709978100249 +146000 ekin = 3.57274630492877 | erot = 3.74306660671644 | epot = -37.691839929883 | etot = -30.3760270182378 +147000 ekin = 3.5117518000457 | erot = 4.0750620350483 | epot = -37.7115891932223 | etot = -30.1247753581283 +148000 ekin = 3.52194530375138 | erot = 4.22438638639834 | epot = -37.7453589028592 | etot = -29.9990272127095 +149000 ekin = 3.43829227837994 | erot = 4.25032155928027 | epot = -37.7800675049656 | etot = -30.0914536673054 +150000 ekin = 3.39573759305128 | erot = 4.12519198982267 | epot = -37.7779101405858 | etot = -30.2569805577119 +151000 ekin = 3.38494817974853 | erot = 3.91154836764821 | epot = -37.7346130185548 | etot = -30.4381164711581 +152000 ekin = 3.3392823348606 | erot = 3.82420376901226 | epot = -37.692306373128 | etot = -30.5288202692551 +153000 ekin = 3.38955645731951 | erot = 3.72251905459204 | epot = -37.6703717263954 | etot = -30.5582962144839 +154000 ekin = 3.40170171151684 | erot = 3.95270448125714 | epot = -37.678389708439 | etot = -30.323983515665 +155000 ekin = 3.44581188687109 | erot = 3.52528589615975 | epot = -37.7593041359925 | etot = -30.7882063529616 +156000 ekin = 3.55410349285978 | erot = 3.68359553101928 | epot = -37.8946612865558 | etot = -30.6569622626767 +157000 ekin = 3.67740663285557 | erot = 3.73708949692863 | epot = -38.0406477694048 | etot = -30.6261516396206 +158000 ekin = 3.70912292320975 | erot = 3.62418205239296 | epot = -38.1900046609472 | etot = -30.8566996853445 +159000 ekin = 3.68532826191219 | erot = 3.87298071798096 | epot = -38.2928836797074 | etot = -30.7345746998143 +160000 ekin = 3.72002440516707 | erot = 4.11592492943231 | epot = -38.3652902740975 | etot = -30.5293409394981 +161000 ekin = 3.73388863499049 | erot = 4.42836121024192 | epot = -38.4373191354185 | etot = -30.2750692901861 +162000 ekin = 4.02523829931051 | erot = 4.86807694190568 | epot = -38.4975346699526 | etot = -29.6042194287364 +163000 ekin = 4.03311015138293 | erot = 4.78291233450127 | epot = -38.5597523007636 | etot = -29.7437298148794 +164000 ekin = 4.13350042233596 | erot = 5.01454292769814 | epot = -38.5888368946085 | etot = -29.4407935445744 +165000 ekin = 4.25718467214142 | erot = 4.92225725319178 | epot = -38.5829201612761 | etot = -29.4034782359429 +166000 ekin = 4.11013815046467 | erot = 4.53806000830091 | epot = -38.5467907483034 | etot = -29.8985925895378 +167000 ekin = 4.08710467384557 | erot = 4.20997030650441 | epot = -38.4814936158367 | etot = -30.1844186354868 +168000 ekin = 4.03924000036824 | erot = 3.95993274976389 | epot = -38.3759188508994 | etot = -30.3767461007673 +169000 ekin = 3.94917218886625 | erot = 3.65240127094113 | epot = -38.2594355677077 | etot = -30.6578621079003 +170000 ekin = 3.90935554205295 | erot = 3.78797512477882 | epot = -38.1835201359158 | etot = -30.486189469084 +171000 ekin = 3.87732504895437 | erot = 4.28652570004447 | epot = -38.1402484566641 | etot = -29.9763977076653 +172000 ekin = 3.75957929171811 | erot = 4.02272820820135 | epot = -38.1557340618709 | etot = -30.3734265619515 +173000 ekin = 3.55030915228991 | erot = 4.03115995993289 | epot = -38.2480280629193 | etot = -30.6665589506965 +174000 ekin = 3.61281225750305 | erot = 4.30402685904732 | epot = -38.3795080285351 | etot = -30.4626689119848 +175000 ekin = 3.56741376549368 | erot = 4.24945045724327 | epot = -38.512592945838 | etot = -30.695728723101 +176000 ekin = 3.69966296688439 | erot = 4.22673264606626 | epot = -38.613145916328 | etot = -30.6867503033774 +177000 ekin = 3.72329334774794 | erot = 4.3963702174486 | epot = -38.6555013846404 | etot = -30.5358378194439 +178000 ekin = 3.79919357666777 | erot = 4.00194735045323 | epot = -38.66205820756 | etot = -30.860917280439 +179000 ekin = 3.78008346787866 | erot = 4.05267692212517 | epot = -38.6224110467894 | etot = -30.7896506567856 +180000 ekin = 3.84388711467654 | erot = 3.7091612553256 | epot = -38.5399848480518 | etot = -30.9869364780497 +181000 ekin = 3.78854199589324 | erot = 3.43025530256464 | epot = -38.4472679874806 | etot = -31.2284706890227 +182000 ekin = 3.65298336461987 | erot = 3.41446703840053 | epot = -38.3421256904841 | etot = -31.2746752874636 +183000 ekin = 3.57592466495276 | erot = 3.54000226366919 | epot = -38.2342661287445 | etot = -31.1183392001226 +184000 ekin = 3.59097293869165 | erot = 3.49764131752706 | epot = -38.1237685559037 | etot = -31.035154299685 +185000 ekin = 3.59874593561893 | erot = 3.34180949424636 | epot = -38.034561395544 | etot = -31.0940059656787 +186000 ekin = 3.55637392703386 | erot = 3.60010534755649 | epot = -37.9685691221059 | etot = -30.8120898475155 +187000 ekin = 3.30341471869178 | erot = 3.63282669533315 | epot = -37.9082034969873 | etot = -30.9719620829624 +188000 ekin = 3.25151380843724 | erot = 3.41587081506784 | epot = -37.8374520507026 | etot = -31.1700674271975 +189000 ekin = 3.09888859581596 | erot = 3.51324139411321 | epot = -37.7831379378027 | etot = -31.1710079478736 +190000 ekin = 2.93096647890479 | erot = 3.73100049541747 | epot = -37.7090579094218 | etot = -31.0470909350995 +191000 ekin = 2.78845789536297 | erot = 3.59181404756272 | epot = -37.6234731970087 | etot = -31.243201254083 +192000 ekin = 2.6870850400641 | erot = 3.91911783313644 | epot = -37.5268833853882 | etot = -30.9206805121877 +193000 ekin = 2.65091164661283 | erot = 3.82754219131909 | epot = -37.4213833049328 | etot = -30.9429294670009 +194000 ekin = 2.55372434146197 | erot = 3.81228833556049 | epot = -37.3433541779818 | etot = -30.9773415009593 +195000 ekin = 2.54515296633903 | erot = 3.77157425987469 | epot = -37.2550689450338 | etot = -30.93834171882 +196000 ekin = 2.57228739351373 | erot = 3.48448370430651 | epot = -37.1707275909679 | etot = -31.1139564931476 +197000 ekin = 2.47659034250724 | erot = 3.3178807523235 | epot = -37.1125490303325 | etot = -31.3180779355017 +198000 ekin = 2.47817611131603 | erot = 3.41593598489791 | epot = -37.0628542395746 | etot = -31.1687421433607 +199000 ekin = 2.46398696321841 | erot = 3.79330738397075 | epot = -37.0410272717133 | etot = -30.7837329245241 +200000 ekin = 2.66032750534599 | erot = 3.50045834258025 | epot = -37.0560186461539 | etot = -30.8952327982277 +201000 ekin = 2.82925423269706 | erot = 3.87280363693021 | epot = -37.1094527749142 | etot = -30.4073949052869 +202000 ekin = 2.87690134773418 | erot = 3.73724666810618 | epot = -37.1548849140445 | etot = -30.5407368982041 +203000 ekin = 3.09789929071276 | erot = 3.5468763526948 | epot = -37.1913390618664 | etot = -30.5465634184588 +204000 ekin = 3.22497830820396 | erot = 3.52082166300899 | epot = -37.2064645595877 | etot = -30.4606645883747 +205000 ekin = 3.08968228459861 | erot = 3.62768693137644 | epot = -37.2539593887054 | etot = -30.5365901727303 +206000 ekin = 3.11014150174799 | erot = 3.7385678659097 | epot = -37.3166778706671 | etot = -30.4679685030094 +207000 ekin = 3.1829453735337 | erot = 4.25652712659364 | epot = -37.3463184168163 | etot = -29.9068459166889 +208000 ekin = 3.18396090757435 | erot = 4.43896014450647 | epot = -37.3566061410103 | etot = -29.7336850889295 +209000 ekin = 3.31348354672036 | erot = 3.97662877739666 | epot = -37.3764215045059 | etot = -30.0863091803889 +210000 ekin = 3.17486958285111 | erot = 3.68714944924479 | epot = -37.3622513109276 | etot = -30.5002322788317 +211000 ekin = 3.24777381738383 | erot = 3.39112189744184 | epot = -37.3847088569506 | etot = -30.7458131421249 +212000 ekin = 3.1218235472922 | erot = 3.15133571404841 | epot = -37.4262282165351 | etot = -31.1530689551944 +213000 ekin = 3.12323090197305 | erot = 3.03298058440252 | epot = -37.4993866522037 | etot = -31.3431751658281 +214000 ekin = 3.02782055391862 | erot = 3.51893074263816 | epot = -37.6187398888692 | etot = -31.0719885923124 +215000 ekin = 3.08902625374248 | erot = 3.6205495251311 | epot = -37.8003692924877 | etot = -31.0907935136142 +216000 ekin = 3.04029181666715 | erot = 4.36545701920723 | epot = -38.008684651192 | etot = -30.6029358153176 +217000 ekin = 3.11869416684302 | erot = 4.23835788568566 | epot = -38.175518074188 | etot = -30.8184660216593 +218000 ekin = 3.12136726795469 | erot = 3.996273681316 | epot = -38.3382201370156 | etot = -31.2205791877449 +219000 ekin = 3.24749965239936 | erot = 4.03289859762057 | epot = -38.4910930976407 | etot = -31.2106948476207 +220000 ekin = 3.19731650656636 | erot = 4.16726840142139 | epot = -38.6410163306452 | etot = -31.2764314226575 +221000 ekin = 3.14591003185417 | erot = 4.47643673281146 | epot = -38.7807221211561 | etot = -31.1583753564904 +222000 ekin = 3.06194834255762 | erot = 4.40957176775777 | epot = -38.8960295960945 | etot = -31.4245094857791 +223000 ekin = 3.09392792198329 | erot = 4.36929377800849 | epot = -38.9696160320109 | etot = -31.5063943320191 +224000 ekin = 3.18434099924859 | erot = 4.67414126058087 | epot = -39.0019773177328 | etot = -31.1434950579034 +225000 ekin = 3.26887097312568 | erot = 4.32849031089059 | epot = -39.0446790784002 | etot = -31.4473177943839 +226000 ekin = 3.21195731331507 | erot = 5.11387401999727 | epot = -39.0947841174991 | etot = -30.7689527841868 +227000 ekin = 3.12036258026493 | erot = 5.06347912205035 | epot = -39.0762383614625 | etot = -30.8923966591473 +228000 ekin = 3.09996729726211 | erot = 5.29564700287474 | epot = -39.020898871325 | etot = -30.6252845711882 +229000 ekin = 3.038979337959 | erot = 5.24780237112316 | epot = -38.9575212211327 | etot = -30.6707395120505 +230000 ekin = 3.00051887289145 | erot = 4.62162674048173 | epot = -38.9098464143819 | etot = -31.2877008010087 +231000 ekin = 2.91912781370869 | erot = 4.1632154756593 | epot = -38.8503568044397 | etot = -31.7680135150717 +232000 ekin = 2.80548407611273 | erot = 4.26963451717883 | epot = -38.7971045932123 | etot = -31.7219859999207 +233000 ekin = 2.921352071703 | erot = 4.30663886521624 | epot = -38.7943069633022 | etot = -31.5663160263829 +234000 ekin = 2.89875675710069 | erot = 4.15218445741156 | epot = -38.7953536145697 | etot = -31.7444124000574 +235000 ekin = 2.99243729544443 | erot = 3.66858116296991 | epot = -38.7881689836611 | etot = -32.1271505252468 +236000 ekin = 3.05722012426339 | erot = 3.77007572255966 | epot = -38.8307946718327 | etot = -32.0034988250097 +237000 ekin = 2.9379768603675 | erot = 4.00589644921924 | epot = -38.9299465153368 | etot = -31.9860732057501 +238000 ekin = 2.94144352009249 | erot = 3.88111097233611 | epot = -39.049865747263 | etot = -32.2273112548344 +239000 ekin = 3.10382951223872 | erot = 3.96380163382862 | epot = -39.1526703213399 | etot = -32.0850391752726 +240000 ekin = 3.05998182778603 | erot = 4.32395093282876 | epot = -39.2052189603878 | etot = -31.821286199773 +241000 ekin = 3.07091800265519 | erot = 4.10063821004071 | epot = -39.2356744872186 | etot = -32.0641182745227 +242000 ekin = 2.97211136503678 | erot = 4.19271702506008 | epot = -39.2591861941866 | etot = -32.0943578040897 +243000 ekin = 2.88784895332254 | erot = 4.01063377556437 | epot = -39.2721844581365 | etot = -32.3737017292496 +244000 ekin = 2.72034159299268 | erot = 3.94970789536676 | epot = -39.2969463203695 | etot = -32.62689683201 +245000 ekin = 2.73288139378785 | erot = 4.2955252560862 | epot = -39.3467303394195 | etot = -32.3183236895454 +246000 ekin = 2.68282749729222 | erot = 4.4395870918117 | epot = -39.40368508993 | etot = -32.2812705008261 +247000 ekin = 2.73156079717722 | erot = 4.29997633507679 | epot = -39.4831744493475 | etot = -32.4516373170935 +248000 ekin = 2.71615239962783 | erot = 4.48384110145858 | epot = -39.562569036112 | etot = -32.3625755350256 +249000 ekin = 2.72571373834887 | erot = 4.53350194835673 | epot = -39.6161562336933 | etot = -32.3569405469877 +250000 ekin = 2.67302825179687 | erot = 5.17929377781993 | epot = -39.6758534551746 | etot = -31.8235314255578 +251000 ekin = 2.65073658987032 | erot = 5.39364408144152 | epot = -39.7013652486053 | etot = -31.6569845772935 +252000 ekin = 2.81604561937354 | erot = 5.50799647083818 | epot = -39.6939189845584 | etot = -31.3698768943466 +253000 ekin = 2.83629985586584 | erot = 4.91166111825353 | epot = -39.6825773475312 | etot = -31.9346163734119 +254000 ekin = 2.79908189634042 | erot = 4.88281944777358 | epot = -39.6620010988141 | etot = -31.9800997547001 +255000 ekin = 2.84238496514407 | erot = 4.79166487708071 | epot = -39.6680683880921 | etot = -32.0340185458674 +256000 ekin = 2.82611571908345 | erot = 4.38756969310689 | epot = -39.7220228798982 | etot = -32.5083374677078 +257000 ekin = 2.78077325096868 | erot = 4.56426394538529 | epot = -39.765795760232 | etot = -32.420758563878 +258000 ekin = 2.84466353932839 | erot = 4.94939241805623 | epot = -39.7743058264471 | etot = -31.9802498690625 +259000 ekin = 2.82994372921752 | erot = 4.84156348043274 | epot = -39.784508432178 | etot = -32.1130012225277 +260000 ekin = 2.84769599243485 | erot = 4.63369709433915 | epot = -39.8060470464451 | etot = -32.3246539596711 +261000 ekin = 2.87237157835355 | erot = 4.51865061212274 | epot = -39.7979847736534 | etot = -32.4069625831772 +262000 ekin = 2.96750612225969 | erot = 4.57561390426951 | epot = -39.7782660470081 | etot = -32.2351460204789 +263000 ekin = 2.99289365842386 | erot = 4.20953311292942 | epot = -39.745321167764 | etot = -32.5428943964107 +264000 ekin = 3.02610258005876 | erot = 4.41804994162533 | epot = -39.7005266944524 | etot = -32.2563741727683 +265000 ekin = 3.02210011112748 | erot = 4.29011549844086 | epot = -39.6578667285882 | etot = -32.3456511190199 +266000 ekin = 2.95526029973602 | erot = 3.97220133607363 | epot = -39.5863143733948 | etot = -32.6588527375852 +267000 ekin = 2.96306286479385 | erot = 4.39982365552045 | epot = -39.5117362736934 | etot = -32.1488497533791 +268000 ekin = 2.98837918599786 | erot = 4.59043107838108 | epot = -39.4346030266012 | etot = -31.8557927622223 +269000 ekin = 2.92733730866711 | erot = 4.81492520489309 | epot = -39.3017884762548 | etot = -31.5595259626946 +270000 ekin = 2.90335610024265 | erot = 4.98515255872077 | epot = -39.1437745457484 | etot = -31.255265886785 +271000 ekin = 2.87611923369233 | erot = 5.02631285080424 | epot = -38.9919498909518 | etot = -31.0895178064552 +272000 ekin = 2.87770260774598 | erot = 4.83651556609765 | epot = -38.840809395014 | etot = -31.1265912211704 +273000 ekin = 2.77329089721178 | erot = 4.69693225863749 | epot = -38.6610493537943 | etot = -31.190826197945 +274000 ekin = 2.68625637002662 | erot = 4.51669986790576 | epot = -38.4509728982942 | etot = -31.2480166603618 +275000 ekin = 2.60330324454304 | erot = 4.20171703621295 | epot = -38.218249935628 | etot = -31.413229654872 +276000 ekin = 2.5718307631142 | erot = 3.79152446287654 | epot = -38.0174336495133 | etot = -31.6540784235226 +277000 ekin = 2.49975386368567 | erot = 3.59614150828635 | epot = -37.8474968832235 | etot = -31.7516015112514 +278000 ekin = 2.46398069339708 | erot = 3.65098267442642 | epot = -37.6582057642293 | etot = -31.5432423964058 +279000 ekin = 2.48339824565313 | erot = 3.67548575635034 | epot = -37.5048702413578 | etot = -31.3459862393544 +280000 ekin = 2.53376634761126 | erot = 3.55656380463981 | epot = -37.3937621487776 | etot = -31.3034319965265 +281000 ekin = 2.67002406168562 | erot = 3.81689537677424 | epot = -37.3207483356567 | etot = -30.8338288971968 +282000 ekin = 2.63534042744473 | erot = 3.62617225051185 | epot = -37.2561498174831 | etot = -30.9946371395265 +283000 ekin = 2.62204960593212 | erot = 3.60063437351288 | epot = -37.1865464899413 | etot = -30.9638625104963 +284000 ekin = 2.67681575008792 | erot = 3.61566503901022 | epot = -37.1459845078296 | etot = -30.8535037187314 +285000 ekin = 2.71360352201124 | erot = 3.48822466196448 | epot = -37.1436040722676 | etot = -30.9417758882919 +286000 ekin = 2.72409949367872 | erot = 3.69046973300093 | epot = -37.1515114688671 | etot = -30.7369422421875 +287000 ekin = 2.78141221541724 | erot = 3.56169254019551 | epot = -37.1836412585712 | etot = -30.8405365029585 +288000 ekin = 2.93111949257215 | erot = 3.85252275716863 | epot = -37.2722312757955 | etot = -30.4885890260547 +289000 ekin = 3.22039073654111 | erot = 3.65796134125561 | epot = -37.4105935842029 | etot = -30.5322415064062 +290000 ekin = 3.45543672952173 | erot = 3.63587074171862 | epot = -37.5601919395408 | etot = -30.4688844683004 +291000 ekin = 3.52760878967904 | erot = 4.20430698093704 | epot = -37.7322836777774 | etot = -30.0003679071614 +292000 ekin = 3.68972381818918 | erot = 4.12076553978675 | epot = -37.9100323199299 | etot = -30.099542961954 +293000 ekin = 3.83177225674866 | erot = 4.37726484522711 | epot = -38.0821109906698 | etot = -29.873073888694 +294000 ekin = 4.06640459910184 | erot = 3.74462680595312 | epot = -38.1926156973086 | etot = -30.3815842922536 +295000 ekin = 4.21784736111051 | erot = 3.82616484716773 | epot = -38.2890286287626 | etot = -30.2450164204843 +296000 ekin = 4.26440738773642 | erot = 3.95694734709946 | epot = -38.3824567525617 | etot = -30.1611020177258 +297000 ekin = 4.04618321058694 | erot = 4.11344152769738 | epot = -38.4823151027029 | etot = -30.3226903644186 +298000 ekin = 4.04534420229638 | erot = 4.08413503201913 | epot = -38.5648464298593 | etot = -30.4353671955438 +299000 ekin = 4.05890996735844 | erot = 4.75454163668528 | epot = -38.6394632376441 | etot = -29.8260116336004 +300000 ekin = 4.0635552245577 | erot = 4.46292256841634 | epot = -38.7062117520834 | etot = -30.1797339591093 +301000 ekin = 4.01853385887666 | erot = 4.67242188374991 | epot = -38.7555551980346 | etot = -30.064599455408 +302000 ekin = 3.97170308302892 | erot = 4.62245717998414 | epot = -38.7884989680144 | etot = -30.1943387050014 +303000 ekin = 4.00670279913505 | erot = 4.89772983741924 | epot = -38.7992363136571 | etot = -29.8948036771028 +304000 ekin = 3.81374525151675 | erot = 4.65389365987343 | epot = -38.8327396351168 | etot = -30.3651007237266 +305000 ekin = 3.70792918499057 | erot = 4.53646691129898 | epot = -38.8671341843094 | etot = -30.6227380880198 +306000 ekin = 3.5851913585686 | erot = 4.40317156262038 | epot = -38.8961174826079 | etot = -30.9077545614189 +307000 ekin = 3.52830601019323 | erot = 4.12955816022915 | epot = -38.9381266871204 | etot = -31.280262516698 +308000 ekin = 3.37444573697906 | erot = 3.65266283146944 | epot = -38.9820449321947 | etot = -31.9549363637462 +309000 ekin = 3.29877896595899 | erot = 4.06788139443835 | epot = -39.036569619858 | etot = -31.6699092594607 +310000 ekin = 3.27216182566105 | erot = 3.86752279813193 | epot = -39.0649343092174 | etot = -31.9252496854244 +311000 ekin = 3.26050147382305 | erot = 3.90928978323582 | epot = -39.0580520931937 | etot = -31.8882608361348 +312000 ekin = 3.18483009089521 | erot = 3.90959546619214 | epot = -39.0257212693581 | etot = -31.9312957122708 +313000 ekin = 3.09609326591795 | erot = 3.75025646421262 | epot = -38.9535227577839 | etot = -32.1071730276533 +314000 ekin = 2.95184537018542 | erot = 4.07381717812341 | epot = -38.8888909934783 | etot = -31.8632284451695 +315000 ekin = 2.92238623527567 | erot = 3.96815066682739 | epot = -38.8370494801768 | etot = -31.9465125780737 +316000 ekin = 2.71301507861596 | erot = 3.80807978932931 | epot = -38.799834574398 | etot = -32.2787397064527 +317000 ekin = 2.71357150367647 | erot = 4.15190966526565 | epot = -38.7626719044115 | etot = -31.8971907354694 +318000 ekin = 2.62158267835359 | erot = 4.27134701113436 | epot = -38.7271070788676 | etot = -31.8341773893796 +319000 ekin = 2.55366548062862 | erot = 4.41350408683203 | epot = -38.7297464727616 | etot = -31.7625769053009 +320000 ekin = 2.43397240538545 | erot = 4.29070167476848 | epot = -38.7203908826319 | etot = -31.995716802478 +321000 ekin = 2.4091696193894 | erot = 4.08120981437134 | epot = -38.7041016741435 | etot = -32.2137222403828 +322000 ekin = 2.40921951438691 | erot = 3.84656254092884 | epot = -38.6896664254558 | etot = -32.4338843701401 +323000 ekin = 2.47763175846149 | erot = 3.74024157191534 | epot = -38.6582034756258 | etot = -32.440330145249 +324000 ekin = 2.50557286685258 | erot = 3.62726015904489 | epot = -38.6277589097223 | etot = -32.4949258838248 +325000 ekin = 2.46128003790469 | erot = 3.30955838055057 | epot = -38.6182210526501 | etot = -32.8473826341949 +326000 ekin = 2.5036042222413 | erot = 3.11309077075945 | epot = -38.6155228491478 | etot = -32.998827856147 +327000 ekin = 2.58559564340014 | erot = 3.03172964208485 | epot = -38.6235874334492 | etot = -33.0062621479642 +328000 ekin = 2.7498426607985 | erot = 3.02808338407904 | epot = -38.6550386035095 | etot = -32.8771125586319 +329000 ekin = 2.91966436364517 | erot = 2.97144348177553 | epot = -38.6820454853232 | etot = -32.7909376399025 +330000 ekin = 3.01494295487831 | erot = 3.44138384990523 | epot = -38.7383158304586 | etot = -32.2819890256751 +331000 ekin = 3.02442201542035 | erot = 3.78657407910216 | epot = -38.7939596216321 | etot = -31.9829635271096 +332000 ekin = 3.04445691127442 | erot = 3.8278890195312 | epot = -38.8517978078766 | etot = -31.979451877071 +333000 ekin = 3.03465557138406 | erot = 3.68623317701473 | epot = -38.9019287356726 | etot = -32.1810399872738 +334000 ekin = 2.98091475863421 | erot = 3.87909097065042 | epot = -38.9429458678105 | etot = -32.0829401385258 +335000 ekin = 3.18730692360931 | erot = 3.9229815323581 | epot = -38.9915367606724 | etot = -31.881248304705 +336000 ekin = 3.28082580011883 | erot = 4.25501923477972 | epot = -39.0382949038811 | etot = -31.5024498689825 +337000 ekin = 3.33075954016498 | erot = 4.58632261209064 | epot = -39.0662594017922 | etot = -31.1491772495366 +338000 ekin = 3.31328438683345 | erot = 4.17966745642974 | epot = -39.0415239975115 | etot = -31.5485721542483 +339000 ekin = 3.33917527804133 | erot = 4.28130062815462 | epot = -38.9842917012714 | etot = -31.3638157950755 +340000 ekin = 3.33492148280262 | erot = 4.35651035139101 | epot = -38.8943885223068 | etot = -31.2029566881131 +341000 ekin = 3.34614172096363 | erot = 4.05115720989153 | epot = -38.7823758155587 | etot = -31.3850768847036 +342000 ekin = 3.34251507796678 | erot = 4.42814474655728 | epot = -38.6331517957714 | etot = -30.8624919712473 +343000 ekin = 3.20631341754612 | erot = 3.78967989344564 | epot = -38.4960486393224 | etot = -31.5000553283306 +344000 ekin = 3.07148244251153 | erot = 3.87583965670226 | epot = -38.3948328820768 | etot = -31.447510782863 +345000 ekin = 3.09789874291703 | erot = 3.99460565240904 | epot = -38.3201974875894 | etot = -31.2276930922633 +346000 ekin = 3.02500081268322 | erot = 3.91508207831951 | epot = -38.27506306136 | etot = -31.3349801703573 +347000 ekin = 2.94406849477762 | erot = 3.8622967016244 | epot = -38.2289722622904 | etot = -31.4226070658884 +348000 ekin = 2.95641250006426 | erot = 3.72625853383772 | epot = -38.1919210104045 | etot = -31.5092499765026 +349000 ekin = 3.03918076184473 | erot = 3.94202050743586 | epot = -38.1810668298085 | etot = -31.1998655605279 +350000 ekin = 3.09062612520389 | erot = 3.91215331884812 | epot = -38.2023245264386 | etot = -31.1995450823866 +351000 ekin = 3.13831719496464 | erot = 3.99916602553218 | epot = -38.2111529945909 | etot = -31.0736697740941 +352000 ekin = 3.10196313130342 | erot = 3.92254342354138 | epot = -38.2543166357448 | etot = -31.2298100809 +353000 ekin = 3.17266611312433 | erot = 3.89473509639757 | epot = -38.3205511283306 | etot = -31.2531499188087 +354000 ekin = 3.20288707130886 | erot = 4.38957454856396 | epot = -38.3888699269268 | etot = -30.796408307054 +355000 ekin = 3.1596595759597 | erot = 4.27393537405652 | epot = -38.4369161779509 | etot = -31.0033212279347 +356000 ekin = 3.0196784402613 | erot = 4.46559381130417 | epot = -38.4622452099032 | etot = -30.9769729583378 +357000 ekin = 2.97836465744993 | erot = 4.24123654485003 | epot = -38.4340474220209 | etot = -31.214446219721 +358000 ekin = 2.90298621775703 | erot = 4.00214290087722 | epot = -38.3669225243923 | etot = -31.4617934057581 +359000 ekin = 2.89703951576627 | erot = 3.75540528896982 | epot = -38.2596281019022 | etot = -31.6071832971661 +360000 ekin = 2.89517468979402 | erot = 3.69844688179083 | epot = -38.1408983158931 | etot = -31.5472767443082 +361000 ekin = 2.80138616808295 | erot = 3.38323529451502 | epot = -38.0246589917391 | etot = -31.8400375291411 +362000 ekin = 2.77162168417612 | erot = 2.91331523066537 | epot = -37.9398868290149 | etot = -32.2549499141734 +363000 ekin = 2.78539815378433 | erot = 2.68460040337589 | epot = -37.8665635409938 | etot = -32.3965649838336 +364000 ekin = 2.6806781219229 | erot = 2.78677391239236 | epot = -37.7617899033784 | etot = -32.2943378690631 +365000 ekin = 2.54070043685876 | erot = 2.83653994835753 | epot = -37.6554311404474 | etot = -32.2781907552311 +366000 ekin = 2.41606481092138 | erot = 2.86609766611192 | epot = -37.5516282283376 | etot = -32.2694657513043 +367000 ekin = 2.46811866465482 | erot = 3.34221140329 | epot = -37.4475028758826 | etot = -31.6371728079378 +368000 ekin = 2.42926223365494 | erot = 3.33046663396725 | epot = -37.3674460967945 | etot = -31.6077172291723 +369000 ekin = 2.43816169312792 | erot = 3.26459431026916 | epot = -37.3019788371043 | etot = -31.5992228337072 +370000 ekin = 2.46038177337525 | erot = 3.10066469966251 | epot = -37.2626057339964 | etot = -31.7015592609586 +371000 ekin = 2.44062438526228 | erot = 2.87778487491551 | epot = -37.2539180634397 | etot = -31.9355088032619 +372000 ekin = 2.4119643832672 | erot = 3.07515188922145 | epot = -37.3089635753533 | etot = -31.8218473028647 +373000 ekin = 2.48050565170775 | erot = 3.18196875652298 | epot = -37.4397878357735 | etot = -31.7773134275428 +374000 ekin = 2.63530688061921 | erot = 3.59156982435214 | epot = -37.5884648424034 | etot = -31.3615881374321 +375000 ekin = 2.68283894448257 | erot = 3.3245108406823 | epot = -37.7715422578285 | etot = -31.7641924726636 +376000 ekin = 2.79488034579907 | erot = 3.22988532668875 | epot = -38.0009039102152 | etot = -31.9761382377273 +377000 ekin = 2.97793932778636 | erot = 3.1487944738539 | epot = -38.2360750185572 | etot = -32.1093412169169 +378000 ekin = 3.04959845592823 | erot = 3.49481966296083 | epot = -38.5013695235687 | etot = -31.9569514046797 +379000 ekin = 3.19106410727104 | erot = 3.36561045250103 | epot = -38.7688607813371 | etot = -32.2121862215651 +380000 ekin = 3.25183572215722 | erot = 3.58875776192795 | epot = -39.0288452181148 | etot = -32.1882517340297 +381000 ekin = 3.33794215221589 | erot = 3.69339177566719 | epot = -39.3017064605086 | etot = -32.2703725326255 +382000 ekin = 3.49270190624137 | erot = 3.86829998834039 | epot = -39.5268729273469 | etot = -32.1658710327651 +383000 ekin = 3.55662169084774 | erot = 3.53333329088007 | epot = -39.726779107516 | etot = -32.6368241257882 +384000 ekin = 3.69351012028544 | erot = 3.28268730044336 | epot = -39.8789874723582 | etot = -32.9027900516294 +385000 ekin = 3.68733706037504 | erot = 3.68055641648011 | epot = -39.999883925349 | etot = -32.6319904484938 +386000 ekin = 3.71694831249284 | erot = 3.79434784508062 | epot = -40.0869801892988 | etot = -32.5756840317253 +387000 ekin = 3.76861509268673 | erot = 3.88558369375086 | epot = -40.1715737743675 | etot = -32.5173749879299 +388000 ekin = 3.8301760688337 | erot = 4.20859412334347 | epot = -40.2007323597247 | etot = -32.1619621675475 +389000 ekin = 3.86768485031758 | erot = 3.99003783907099 | epot = -40.1899129305042 | etot = -32.3321902411156 +390000 ekin = 3.97485559059841 | erot = 3.73907035926306 | epot = -40.1534652302146 | etot = -32.4395392803531 +391000 ekin = 3.99255423920738 | erot = 3.459854141016 | epot = -40.0955220791989 | etot = -32.6431136989755 +392000 ekin = 4.01983776245668 | erot = 3.684257426475 | epot = -39.9999647918604 | etot = -32.2958696029287 +393000 ekin = 4.02356764424247 | erot = 3.83787437414721 | epot = -39.8549016020689 | etot = -31.9934595836793 +394000 ekin = 3.93980876114322 | erot = 3.99211744164119 | epot = -39.7011477670266 | etot = -31.7692215642422 +395000 ekin = 4.11174368478723 | erot = 3.75033473410246 | epot = -39.5451859148434 | etot = -31.6831074959538 +396000 ekin = 4.20376876107167 | erot = 3.67040632781357 | epot = -39.394880998087 | etot = -31.5207059092017 +397000 ekin = 4.13633572842997 | erot = 3.65151581957605 | epot = -39.2564297317577 | etot = -31.4685781837517 +398000 ekin = 4.13905245601627 | erot = 3.71620600673367 | epot = -39.093596770216 | etot = -31.2383383074661 +399000 ekin = 4.10332411545528 | erot = 3.71374971681591 | epot = -38.9205234935042 | etot = -31.103449661233 +400000 ekin = 4.06766016908479 | erot = 3.42139504654381 | epot = -38.7497473150009 | etot = -31.2606920993723 +401000 ekin = 3.97284164111999 | erot = 3.81120481171761 | epot = -38.6001977504163 | etot = -30.8161512975787 +402000 ekin = 3.90587383547465 | erot = 3.53418826218585 | epot = -38.4681757167877 | etot = -31.0281136191272 +403000 ekin = 3.91259869514561 | erot = 3.63738639184103 | epot = -38.3230308363684 | etot = -30.7730457493818 +404000 ekin = 3.79936006877832 | erot = 3.32641249272552 | epot = -38.2009092385689 | etot = -31.0751366770651 +405000 ekin = 3.8251759680116 | erot = 3.13064904024261 | epot = -38.1553776059004 | etot = -31.1995525976462 +406000 ekin = 3.73725599382609 | erot = 3.08306268157751 | epot = -38.1316917306566 | etot = -31.311373055253 +407000 ekin = 3.726517750459 | erot = 3.09861818078622 | epot = -38.1634910279953 | etot = -31.3383550967501 +408000 ekin = 3.79931976439459 | erot = 3.25718386016374 | epot = -38.2217683212397 | etot = -31.1652646966814 +409000 ekin = 3.95093187918724 | erot = 3.4395040977601 | epot = -38.2689453197333 | etot = -30.8785093427859 +410000 ekin = 4.07121708138889 | erot = 3.83760071106058 | epot = -38.3189798432044 | etot = -30.4101620507549 +411000 ekin = 4.23307978558165 | erot = 3.98162063698057 | epot = -38.3721329673504 | etot = -30.1574325447882 +412000 ekin = 4.241170808143 | erot = 3.99737193476948 | epot = -38.4124767699443 | etot = -30.1739340270318 +413000 ekin = 4.23580670923547 | erot = 3.8106439850279 | epot = -38.4212920990952 | etot = -30.3748414048318 +414000 ekin = 4.27445938143083 | erot = 3.9812454132049 | epot = -38.4106571527341 | etot = -30.1549523580983 +415000 ekin = 4.38899479005091 | erot = 3.80279226112388 | epot = -38.3596783722964 | etot = -30.1678913211216 +416000 ekin = 4.45628965411063 | erot = 3.63102956113277 | epot = -38.3042311126166 | etot = -30.2169118973732 +417000 ekin = 4.49028461121067 | erot = 3.62754419665983 | epot = -38.25831980893 | etot = -30.1404910010595 +418000 ekin = 4.45936601962003 | erot = 3.71144506663837 | epot = -38.1813464675297 | etot = -30.0105353812713 +419000 ekin = 4.38379837521008 | erot = 3.33513327030905 | epot = -38.0724868069419 | etot = -30.3535551614228 +420000 ekin = 4.283111933024 | erot = 3.09826419668605 | epot = -37.9370678690097 | etot = -30.5556917392996 +421000 ekin = 4.152480975106 | erot = 3.56237827808224 | epot = -37.7709210423883 | etot = -30.0560617892 +422000 ekin = 3.95490687211588 | erot = 3.47480957997332 | epot = -37.5854884820709 | etot = -30.1557720299817 +423000 ekin = 3.91714305790356 | erot = 3.4847628632339 | epot = -37.3949936437694 | etot = -29.9930877226319 +424000 ekin = 3.84213202460288 | erot = 3.52777059768033 | epot = -37.2158434462617 | etot = -29.8459408239785 +425000 ekin = 3.71924289661388 | erot = 3.33663609660611 | epot = -37.072252600123 | etot = -30.016373606903 +426000 ekin = 3.64441997260647 | erot = 3.36227935441014 | epot = -36.9667678357551 | etot = -29.9600685087385 +427000 ekin = 3.75655721345781 | erot = 3.37897054079373 | epot = -36.8611280898055 | etot = -29.7256003355539 +428000 ekin = 3.74409443646521 | erot = 3.1773287235424 | epot = -36.742715037602 | etot = -29.8212918775944 +429000 ekin = 3.6632902831786 | erot = 2.78764787478687 | epot = -36.6486255145436 | etot = -30.1976873565782 +430000 ekin = 3.62135290496445 | erot = 2.6733797516058 | epot = -36.560604151542 | etot = -30.2658714949717 +431000 ekin = 3.61616361793053 | erot = 2.69754710014203 | epot = -36.506732939117 | etot = -30.1930222210445 +432000 ekin = 3.49552617760825 | erot = 3.08491352170465 | epot = -36.485170074763 | etot = -29.9047303754501 +433000 ekin = 3.58020816083944 | erot = 2.88002256286314 | epot = -36.5217696117553 | etot = -30.0615388880528 +434000 ekin = 3.59867849318971 | erot = 3.0840797331355 | epot = -36.6202495320039 | etot = -29.9374913056787 +435000 ekin = 3.67331527289036 | erot = 3.42657552434419 | epot = -36.7488916307825 | etot = -29.6490008335479 +436000 ekin = 3.82088042289272 | erot = 3.65447442369897 | epot = -36.9085622220517 | etot = -29.43320737546 +437000 ekin = 3.86869421673766 | erot = 3.95470287079859 | epot = -37.0720316005957 | etot = -29.2486345130595 +438000 ekin = 4.11090595842083 | erot = 3.77540801446838 | epot = -37.2088542252226 | etot = -29.3225402523333 +439000 ekin = 4.12926159073602 | erot = 4.06917140325885 | epot = -37.351759051221 | etot = -29.1533260572261 +440000 ekin = 4.09029177261524 | erot = 4.14981299565281 | epot = -37.4912988817269 | etot = -29.2511941134588 +441000 ekin = 4.14485979348682 | erot = 4.37283240826395 | epot = -37.6181493098546 | etot = -29.1004571081038 +442000 ekin = 4.12304009572841 | erot = 4.39045893698217 | epot = -37.7155315750664 | etot = -29.2020325423558 +443000 ekin = 4.23471751438731 | erot = 4.14989601608928 | epot = -37.768614271265 | etot = -29.3840007407884 +444000 ekin = 4.35772646838224 | erot = 4.52232474512897 | epot = -37.7816885908053 | etot = -28.9016373772941 +445000 ekin = 4.39118784053262 | erot = 4.66570824296109 | epot = -37.7439950146598 | etot = -28.6870989311661 +446000 ekin = 4.39675921765031 | erot = 4.46936063153376 | epot = -37.6960851354907 | etot = -28.8299652863066 +447000 ekin = 4.35336664890442 | erot = 4.44173113672769 | epot = -37.6140263912413 | etot = -28.8189286056092 +448000 ekin = 4.28498441172979 | erot = 4.19781838322426 | epot = -37.5090341348627 | etot = -29.0262313399087 +449000 ekin = 4.31763982219652 | erot = 4.52832551746764 | epot = -37.4084017454329 | etot = -28.5624364057687 +450000 ekin = 4.34138928411261 | erot = 4.44258564037432 | epot = -37.3062489259438 | etot = -28.5222740014569 +451000 ekin = 4.30985185878605 | erot = 4.23825662962946 | epot = -37.1459619150061 | etot = -28.5978534265906 +452000 ekin = 4.32592045036098 | erot = 3.8660276663028 | epot = -36.9847035634508 | etot = -28.792755446787 +453000 ekin = 4.32845268851063 | erot = 3.54171363095618 | epot = -36.8340779762824 | etot = -28.9639116568156 +454000 ekin = 4.31011457813703 | erot = 3.79537837348597 | epot = -36.7199830616559 | etot = -28.6144901100328 +455000 ekin = 4.29550433639214 | erot = 3.85241036204668 | epot = -36.6489739160371 | etot = -28.5010592175982 +456000 ekin = 4.37032742709196 | erot = 4.00721124204773 | epot = -36.6190063800956 | etot = -28.2414677109559 +457000 ekin = 4.36426470286789 | erot = 3.85637152044941 | epot = -36.5969553476853 | etot = -28.376319124368 +458000 ekin = 4.32567014378617 | erot = 3.50123530464575 | epot = -36.5630453883135 | etot = -28.7361399398816 +459000 ekin = 4.3893381573867 | erot = 3.57401843708546 | epot = -36.5693343587042 | etot = -28.605977764232 +460000 ekin = 4.31317855607494 | erot = 4.09613513000612 | epot = -36.6229031356536 | etot = -28.2135894495725 +461000 ekin = 4.31811012640179 | erot = 4.38273826542215 | epot = -36.70247802377 | etot = -28.0016296319461 +462000 ekin = 4.3366863877001 | erot = 4.51374491218817 | epot = -36.8227361919449 | etot = -27.9723048920566 +463000 ekin = 4.27564269849664 | erot = 4.86202296781303 | epot = -36.9415310835084 | etot = -27.8038654171987 +464000 ekin = 4.25704856573543 | erot = 4.74085846897256 | epot = -37.0390079052471 | etot = -28.0411008705391 +465000 ekin = 4.27536374407092 | erot = 4.49932366093905 | epot = -37.1090432428533 | etot = -28.3343558378433 +466000 ekin = 4.30607368146068 | erot = 4.23786653917903 | epot = -37.1491605127936 | etot = -28.6052202921539 +467000 ekin = 4.2491978620046 | erot = 4.12771930877699 | epot = -37.1714598423964 | etot = -28.7945426716148 +468000 ekin = 4.39683218085591 | erot = 3.85228521386559 | epot = -37.2088712844973 | etot = -28.9597538897758 +469000 ekin = 4.64124419278982 | erot = 3.80754439193721 | epot = -37.276730222032 | etot = -28.8279416373049 +470000 ekin = 4.66178408905675 | erot = 3.92065938428513 | epot = -37.3876740781875 | etot = -28.8052306048457 +471000 ekin = 4.75392904131986 | erot = 4.24739494727095 | epot = -37.5007122646075 | etot = -28.4993882760167 +472000 ekin = 4.78287126449292 | erot = 4.29738258008793 | epot = -37.5977046601011 | etot = -28.5174508155202 +473000 ekin = 4.83746609770183 | erot = 4.38666527032485 | epot = -37.6671790710826 | etot = -28.4430477030559 +474000 ekin = 4.79054197671376 | erot = 4.34169424272138 | epot = -37.6856820094293 | etot = -28.5534457899942 +475000 ekin = 4.83235787688145 | erot = 4.21788406575012 | epot = -37.6508263787861 | etot = -28.6005844361546 +476000 ekin = 4.77650421806813 | erot = 4.23519664592598 | epot = -37.5559363402036 | etot = -28.5442354762095 +477000 ekin = 4.70149228687153 | erot = 3.94955206004049 | epot = -37.4316333722383 | etot = -28.7805890253263 +478000 ekin = 4.65828612344613 | erot = 3.52306589214554 | epot = -37.3056353897912 | etot = -29.1242833741995 +479000 ekin = 4.49034904671755 | erot = 3.69691237093679 | epot = -37.1645007343033 | etot = -28.977239316649 +480000 ekin = 4.42035953830873 | erot = 3.62614880736063 | epot = -36.9855336534948 | etot = -28.9390253078254 +481000 ekin = 4.29236052675552 | erot = 3.46283113670755 | epot = -36.778837676618 | etot = -29.0236460131549 +482000 ekin = 4.24695006747703 | erot = 3.64617122659715 | epot = -36.5783264764331 | etot = -28.685205182359 +483000 ekin = 4.27724439911399 | erot = 3.65906944039054 | epot = -36.4031794376627 | etot = -28.4668655981582 +484000 ekin = 4.2785974211617 | erot = 3.80998418987604 | epot = -36.2601336102694 | etot = -28.1715519992317 +485000 ekin = 4.21291837199932 | erot = 3.8427823044223 | epot = -36.141503315863 | etot = -28.0858026394413 +486000 ekin = 3.9839252640706 | erot = 3.69687119417294 | epot = -36.0420007851875 | etot = -28.3612043269439 +487000 ekin = 3.87685523954227 | erot = 3.52087214489094 | epot = -35.9790179936878 | etot = -28.5812906092545 +488000 ekin = 3.74675884240029 | erot = 3.80072807052997 | epot = -35.9652058586033 | etot = -28.417718945673 +489000 ekin = 3.61099051841834 | erot = 4.09702697313287 | epot = -35.9887686799326 | etot = -28.2807511883814 +490000 ekin = 3.72073699277815 | erot = 3.89157882585025 | epot = -36.0103724524783 | etot = -28.3980566338499 +491000 ekin = 3.72740917275115 | erot = 4.01795497893002 | epot = -36.0292354570353 | etot = -28.2838713053542 +492000 ekin = 3.67547789628858 | erot = 3.85969822517316 | epot = -36.0430681478948 | etot = -28.507892026433 +493000 ekin = 3.65198421841226 | erot = 3.75518718738361 | epot = -36.0824152706771 | etot = -28.6752438648813 +494000 ekin = 3.4852821998486 | erot = 3.8153550877854 | epot = -36.1423710455837 | etot = -28.8417337579497 +495000 ekin = 3.31359070882208 | erot = 4.11558724766118 | epot = -36.2268684383707 | etot = -28.7976904818874 +496000 ekin = 3.27798311005969 | erot = 3.88806115727323 | epot = -36.3363270902379 | etot = -29.170282822905 +497000 ekin = 3.23000081873816 | erot = 4.5315385178341 | epot = -36.481720183114 | etot = -28.7201808465418 +498000 ekin = 3.35490986062535 | erot = 4.76314991175258 | epot = -36.6514686581236 | etot = -28.5334088857457 +499000 ekin = 3.39102564180502 | erot = 4.99058516868934 | epot = -36.8025368986548 | etot = -28.4209260881604 +500000 ekin = 3.44319922277998 | erot = 4.29432196305736 | epot = -36.9177193599231 | etot = -29.1801981740858 +501000 ekin = 3.47746008955509 | erot = 4.289941738028 | epot = -37.0187053512324 | etot = -29.2513035236494 +502000 ekin = 3.58696948456752 | erot = 4.55410136617418 | epot = -37.1018103829437 | etot = -28.960739532202 +503000 ekin = 3.68317380855592 | erot = 4.60652443433648 | epot = -37.1620776601797 | etot = -28.8723794172873 +504000 ekin = 3.68852053014443 | erot = 4.67783023002264 | epot = -37.2052759454199 | etot = -28.8389251852528 +505000 ekin = 3.88723268453866 | erot = 4.53079850437663 | epot = -37.2950608294683 | etot = -28.877029640553 +506000 ekin = 3.80925396925163 | erot = 4.47086505886218 | epot = -37.3479933337838 | etot = -29.06787430567 +507000 ekin = 3.73248519551991 | erot = 4.21393839264144 | epot = -37.4256513139284 | etot = -29.4792277257671 +508000 ekin = 3.80672760184063 | erot = 3.93708079377005 | epot = -37.4951091449467 | etot = -29.751300749336 +509000 ekin = 3.80086991164608 | erot = 3.74333566662504 | epot = -37.5406480313395 | etot = -29.9964424530683 +510000 ekin = 3.89850649197978 | erot = 3.97775581109505 | epot = -37.5934385426631 | etot = -29.7171762395883 +511000 ekin = 3.81393185765464 | erot = 4.00469160928647 | epot = -37.6349932199755 | etot = -29.8163697530344 +512000 ekin = 3.7684396284637 | erot = 4.34524756747826 | epot = -37.6787808921542 | etot = -29.5650936962122 +513000 ekin = 3.70769437024747 | erot = 4.19222442242684 | epot = -37.7114576947707 | etot = -29.8115389020964 +514000 ekin = 3.65606306228176 | erot = 4.64296237641028 | epot = -37.7095823242883 | etot = -29.4105568855962 +515000 ekin = 3.5052281855745 | erot = 4.47916848114099 | epot = -37.6783049637298 | etot = -29.6939082970143 +516000 ekin = 3.59266443877101 | erot = 5.02978018029494 | epot = -37.6477009850688 | etot = -29.0252563660028 +517000 ekin = 3.53729866959058 | erot = 4.95641997732805 | epot = -37.644541266991 | etot = -29.1508226200724 +518000 ekin = 3.55341695305132 | erot = 4.57512459674255 | epot = -37.6532745224308 | etot = -29.5247329726369 +519000 ekin = 3.61605940841961 | erot = 4.59842321288953 | epot = -37.7181887221249 | etot = -29.5037061008158 +520000 ekin = 3.66003580736891 | erot = 4.52802897844102 | epot = -37.8184531846622 | etot = -29.6303883988522 +521000 ekin = 3.57990395101936 | erot = 4.58686564429493 | epot = -37.9529160430901 | etot = -29.7861464477758 +522000 ekin = 3.58721017350486 | erot = 4.78958389957763 | epot = -38.1056938634054 | etot = -29.7288997903229 +523000 ekin = 3.7455374895203 | erot = 4.82242710318161 | epot = -38.249659851946 | etot = -29.6816952592441 +524000 ekin = 3.8367296557297 | erot = 5.1780625575552 | epot = -38.3420385705452 | etot = -29.3272463572603 +525000 ekin = 3.97426514986068 | erot = 5.13820563111667 | epot = -38.4306455211977 | etot = -29.3181747402204 +526000 ekin = 4.03278131821146 | erot = 4.61480893928539 | epot = -38.4813375347266 | etot = -29.8337472772297 +527000 ekin = 4.15303805139338 | erot = 4.03339974605316 | epot = -38.4813261438674 | etot = -30.2948883464208 +528000 ekin = 4.34085606106391 | erot = 3.63416049936053 | epot = -38.4621670653444 | etot = -30.4871505049199 +529000 ekin = 4.53593485604709 | erot = 3.72087643644205 | epot = -38.417501648356 | etot = -30.1606903558668 +530000 ekin = 4.65836945322522 | erot = 3.5823370050418 | epot = -38.3861765288022 | etot = -30.1454700705352 +531000 ekin = 4.66519878740321 | erot = 3.41094947734083 | epot = -38.3363103504893 | etot = -30.2601620857452 +532000 ekin = 4.80041164317288 | erot = 3.07760528500134 | epot = -38.3151265786575 | etot = -30.4371096504833 +533000 ekin = 4.73180745168947 | erot = 3.06230961560373 | epot = -38.3468719461379 | etot = -30.5527548788447 +534000 ekin = 4.77276572097011 | erot = 3.01963113043202 | epot = -38.4024212860539 | etot = -30.6100244346518 +535000 ekin = 4.8569392849477 | erot = 2.8251632104728 | epot = -38.5360450508862 | etot = -30.8539425554657 +536000 ekin = 4.79265980947574 | erot = 2.9077544610961 | epot = -38.7196748122557 | etot = -31.0192605416839 +537000 ekin = 4.8694795576244 | erot = 3.00989555981224 | epot = -38.9076102830991 | etot = -31.0282351656625 +538000 ekin = 5.00269155741106 | erot = 2.68875189029915 | epot = -39.0473675460742 | etot = -31.355924098364 +539000 ekin = 4.98226102919721 | erot = 2.9218882996937 | epot = -39.1655668480607 | etot = -31.2614175191698 +540000 ekin = 4.99147016878216 | erot = 3.35574385805742 | epot = -39.2596960810253 | etot = -30.9124820541857 +541000 ekin = 4.92725844601428 | erot = 3.28345034188319 | epot = -39.3089899760125 | etot = -31.098281188115 +542000 ekin = 4.77242859226853 | erot = 3.31966912230266 | epot = -39.290238437105 | etot = -31.1981407225338 +543000 ekin = 4.65726157165086 | erot = 3.56099171692955 | epot = -39.1715392323124 | etot = -30.953285943732 +544000 ekin = 4.75158561074879 | erot = 2.98586301386342 | epot = -39.0000211966266 | etot = -31.2625725720144 +545000 ekin = 4.71389651780192 | erot = 3.29722166624284 | epot = -38.8124009343347 | etot = -30.8012827502899 +546000 ekin = 4.59452933616211 | erot = 3.65785900566388 | epot = -38.6597531372896 | etot = -30.4073647954636 +547000 ekin = 4.49485576841329 | erot = 3.52227156689634 | epot = -38.5261493757316 | etot = -30.509022040422 +548000 ekin = 4.49472654055115 | erot = 3.49603087938245 | epot = -38.3944216290951 | etot = -30.4036642091615 +549000 ekin = 4.39213180937533 | erot = 3.53228763855232 | epot = -38.2774675964384 | etot = -30.3530481485108 +550000 ekin = 4.36283999146784 | erot = 3.78776441036084 | epot = -38.2051317998107 | etot = -30.054527397982 +551000 ekin = 4.3226010693823 | erot = 4.01133252124201 | epot = -38.1611801425645 | etot = -29.8272465519402 +552000 ekin = 4.33183515664561 | erot = 3.98124414472576 | epot = -38.153772138803 | etot = -29.8406928374316 +553000 ekin = 4.30534974680474 | erot = 3.81209066755014 | epot = -38.1803693007097 | etot = -30.0629288863549 +554000 ekin = 4.29335219580314 | erot = 3.80213545963908 | epot = -38.2389597407399 | etot = -30.1434720852977 +555000 ekin = 4.45825549052385 | erot = 4.03672150414325 | epot = -38.3296083261046 | etot = -29.8346313314375 +556000 ekin = 4.63230188756517 | erot = 3.70797489704037 | epot = -38.4795834327921 | etot = -30.1393066481866 +557000 ekin = 4.7062229398582 | erot = 4.51036732636183 | epot = -38.6738842895281 | etot = -29.4572940233081 +558000 ekin = 4.70612532334176 | erot = 4.30314260207011 | epot = -38.9099036274272 | etot = -29.9006357020154 +559000 ekin = 4.85842132468142 | erot = 4.45569884582871 | epot = -39.1571701897087 | etot = -29.8430500191985 +560000 ekin = 4.84667483493842 | erot = 4.2909749826346 | epot = -39.3692871188964 | etot = -30.2316373013234 +561000 ekin = 4.93080663772512 | erot = 4.40964672372479 | epot = -39.5560309503474 | etot = -30.2155775888975 +562000 ekin = 5.02786763240469 | erot = 4.09895267825196 | epot = -39.6620959555469 | etot = -30.5352756448903 +563000 ekin = 4.99483060861824 | erot = 4.56393029644404 | epot = -39.7001867829015 | etot = -30.1414258778392 +564000 ekin = 5.01292656089529 | erot = 4.4655943412775 | epot = -39.6969046345991 | etot = -30.2183837324263 +565000 ekin = 4.97924499589803 | erot = 4.56764102867122 | epot = -39.6391307119519 | etot = -30.0922446873826 +566000 ekin = 4.80472039327358 | erot = 4.49618530358116 | epot = -39.532014253858 | etot = -30.2311085570032 +567000 ekin = 4.59721417192401 | erot = 4.44898156673777 | epot = -39.3835091139999 | etot = -30.3373133753381 +568000 ekin = 4.59948947791994 | erot = 4.21619266891999 | epot = -39.1697350851653 | etot = -30.3540529383253 +569000 ekin = 4.46814520025952 | erot = 4.13625120915546 | epot = -38.9496016480665 | etot = -30.3452052386516 +570000 ekin = 4.63380574109383 | erot = 3.97471689520422 | epot = -38.718728428018 | etot = -30.11020579172 +571000 ekin = 4.51646555902281 | erot = 3.77943581302556 | epot = -38.5103017941538 | etot = -30.2144004221055 +572000 ekin = 4.44329973394602 | erot = 3.7381898397106 | epot = -38.3513010282128 | etot = -30.1698114545561 +573000 ekin = 4.48138796166295 | erot = 3.67030746094246 | epot = -38.2531080005807 | etot = -30.1014125779753 +574000 ekin = 4.57372019352159 | erot = 3.64740839838101 | epot = -38.156347689767 | etot = -29.9352190978644 +575000 ekin = 4.81962720354415 | erot = 3.58128135189807 | epot = -38.0780197446127 | etot = -29.6771111891705 +576000 ekin = 4.78739960955874 | erot = 3.16941649568994 | epot = -38.0548669136925 | etot = -30.0980508084438 +577000 ekin = 4.89624137933428 | erot = 3.37301453509229 | epot = -38.0581159208699 | etot = -29.7888600064433 +578000 ekin = 4.89993171052244 | erot = 3.39468878464203 | epot = -38.0636938795354 | etot = -29.7690733843709 +579000 ekin = 4.83297661461352 | erot = 3.08572772864731 | epot = -38.0577731810634 | etot = -30.1390688378025 +580000 ekin = 4.77298411404082 | erot = 3.09603380464132 | epot = -38.0675771405193 | etot = -30.1985592218372 +581000 ekin = 4.96965435170517 | erot = 3.06610493080443 | epot = -38.0894896837321 | etot = -30.0537304012225 +582000 ekin = 4.84477580774046 | erot = 2.99273203470777 | epot = -38.1047755328766 | etot = -30.2672676904284 +583000 ekin = 4.80184612340906 | erot = 2.99121545039794 | epot = -38.0992283827671 | etot = -30.3061668089601 +584000 ekin = 4.73999729115027 | erot = 2.9582025614058 | epot = -38.1193022601923 | etot = -30.4211024076362 +585000 ekin = 4.62963491646133 | erot = 2.99096158598542 | epot = -38.1514766562945 | etot = -30.5308801538478 +586000 ekin = 4.66196804986657 | erot = 3.11428540249501 | epot = -38.1645218154685 | etot = -30.3882683631069 +587000 ekin = 4.58446438916316 | erot = 3.26198289890957 | epot = -38.1451310277746 | etot = -30.2986837397019 +588000 ekin = 4.59050554157097 | erot = 3.37267542289071 | epot = -38.0928945920966 | etot = -30.1297136276349 +589000 ekin = 4.52148456601106 | erot = 3.20426810396368 | epot = -38.0431145518049 | etot = -30.3173618818302 +590000 ekin = 4.54292012494665 | erot = 3.1746661588888 | epot = -37.9867331121618 | etot = -30.2691468283263 +591000 ekin = 4.4671534284139 | erot = 3.30654504351679 | epot = -37.9702893954325 | etot = -30.1965909235018 +592000 ekin = 4.47491098921977 | erot = 3.6999642514397 | epot = -37.96964005272 | etot = -29.7947648120605 +593000 ekin = 4.43506697623668 | erot = 3.70250326611378 | epot = -37.982672172325 | etot = -29.8451019299745 +594000 ekin = 4.36908136306916 | erot = 3.59308231950687 | epot = -38.0038521048194 | etot = -30.0416884222434 +595000 ekin = 4.30615021787055 | erot = 3.60547435881484 | epot = -38.0517692624258 | etot = -30.1401446857404 +596000 ekin = 4.27538703974133 | erot = 3.70718417029039 | epot = -38.1072020006231 | etot = -30.1246307905914 +597000 ekin = 4.09427835861054 | erot = 3.56040857145023 | epot = -38.1368054718234 | etot = -30.4821185417626 +598000 ekin = 4.06772969179115 | erot = 3.98852753231075 | epot = -38.1357675039156 | etot = -30.0795102798136 +599000 ekin = 4.05823661502991 | erot = 3.99204411848296 | epot = -38.094416622612 | etot = -30.0441358890991 +600000 ekin = 4.14000207696602 | erot = 3.69886036268676 | epot = -38.0126500071596 | etot = -30.1737875675068 +601000 ekin = 4.14331251606218 | erot = 4.02012885446818 | epot = -37.8931408419344 | etot = -29.729699471404 +602000 ekin = 4.19175322865721 | erot = 3.63789752518648 | epot = -37.7768382304761 | etot = -29.9471874766324 +603000 ekin = 4.17700109074315 | erot = 3.33190102346874 | epot = -37.6571796612342 | etot = -30.1482775470223 +604000 ekin = 4.32110078335241 | erot = 3.37359972635297 | epot = -37.5481087406157 | etot = -29.8534082309104 +605000 ekin = 4.40829637956699 | erot = 3.12232098209626 | epot = -37.4615593717344 | etot = -29.9309420100712 +606000 ekin = 4.50978571460473 | erot = 2.82903034171764 | epot = -37.4107566252709 | etot = -30.0719405689485 +607000 ekin = 4.64775510562435 | erot = 2.72855004395394 | epot = -37.3886864614939 | etot = -30.0123813119156 +608000 ekin = 4.62515883775204 | erot = 2.6927668656574 | epot = -37.3472679127842 | etot = -30.0293422093748 +609000 ekin = 4.58072072733859 | erot = 2.72618151323749 | epot = -37.3211555189931 | etot = -30.014253278417 +610000 ekin = 4.37064710749547 | erot = 2.94205446769451 | epot = -37.3313655411416 | etot = -30.0186639659516 +611000 ekin = 4.30243700562367 | erot = 2.94482669781559 | epot = -37.3282578261779 | etot = -30.0809941227387 +612000 ekin = 4.37982748485341 | erot = 2.81236690797527 | epot = -37.3366791579242 | etot = -30.1444847650955 +613000 ekin = 4.49298433908211 | erot = 2.94229499226113 | epot = -37.3617837170398 | etot = -29.9265043856965 +614000 ekin = 4.63192250195887 | erot = 2.81948937077722 | epot = -37.3623397651557 | etot = -29.9109278924196 +615000 ekin = 4.56431794922691 | erot = 3.0411203817408 | epot = -37.3360474756729 | etot = -29.7306091447052 +616000 ekin = 4.48538645093135 | erot = 2.98636794618235 | epot = -37.2843360454654 | etot = -29.8125816483517 +617000 ekin = 4.35777724185508 | erot = 3.27046740448594 | epot = -37.2149609045278 | etot = -29.5867162581867 +618000 ekin = 4.13929013645531 | erot = 3.31436963968888 | epot = -37.1380165806133 | etot = -29.6843568044691 +619000 ekin = 3.99812604761941 | erot = 3.8069721617963 | epot = -37.0480074184854 | etot = -29.2429092090697 +620000 ekin = 3.75775297824748 | erot = 3.88935078371488 | epot = -37.0016709350121 | etot = -29.3545671730497 +621000 ekin = 3.59837254942665 | erot = 3.36974253347194 | epot = -36.9571399968608 | etot = -29.9890249139622 +622000 ekin = 3.52853751549672 | erot = 3.57220920853455 | epot = -36.9826672270776 | etot = -29.8819205030464 +623000 ekin = 3.44776927445729 | erot = 3.68524482792421 | epot = -37.0520182183616 | etot = -29.9190041159801 +624000 ekin = 3.42459051153803 | erot = 4.10039189185604 | epot = -37.1561365046956 | etot = -29.6311541013015 +625000 ekin = 3.47427533928245 | erot = 4.19316198399255 | epot = -37.3128709391508 | etot = -29.6454336158758 +626000 ekin = 3.59243588690058 | erot = 4.25331544595912 | epot = -37.4538356021372 | etot = -29.6080842692775 +627000 ekin = 3.65834270574552 | erot = 3.84587709669878 | epot = -37.5560189371567 | etot = -30.0517991347124 +628000 ekin = 3.70047562334578 | erot = 3.68821102783487 | epot = -37.6346624168371 | etot = -30.2459757656565 +629000 ekin = 3.73516234913433 | erot = 3.92476956261683 | epot = -37.7008434862915 | etot = -30.0409115745404 +630000 ekin = 3.81181204861757 | erot = 3.95913149926755 | epot = -37.7335643601767 | etot = -29.9626208122916 +631000 ekin = 3.81645534702376 | erot = 3.13210702566919 | epot = -37.7706097068457 | etot = -30.8220473341528 +632000 ekin = 3.83367227377587 | erot = 3.16390787891897 | epot = -37.8179976528052 | etot = -30.8204175001103 +633000 ekin = 3.78875173101134 | erot = 3.28627876080406 | epot = -37.8551980571895 | etot = -30.7801675653741 +634000 ekin = 3.6443572434567 | erot = 3.54689069849334 | epot = -37.8771184407041 | etot = -30.685870498754 +635000 ekin = 3.74927918910692 | erot = 3.50067245026003 | epot = -37.9120332365851 | etot = -30.6620815972182 +636000 ekin = 3.89890106913058 | erot = 3.51590480850449 | epot = -37.9883703460315 | etot = -30.5735644683965 +637000 ekin = 3.98051852239103 | erot = 3.51683885701818 | epot = -38.1188954220066 | etot = -30.6215380425974 +638000 ekin = 4.18679252196735 | erot = 3.48363716100453 | epot = -38.3003898519918 | etot = -30.6299601690199 +639000 ekin = 4.29259370089823 | erot = 3.44532403016775 | epot = -38.5009165327291 | etot = -30.7629988016631 +640000 ekin = 4.33862023546748 | erot = 3.6140024868752 | epot = -38.6627935284696 | etot = -30.710170806127 +641000 ekin = 4.47895119284614 | erot = 3.60758277909088 | epot = -38.7986251266555 | etot = -30.7120911547185 +642000 ekin = 4.48471207018753 | erot = 3.75535910837188 | epot = -38.8636204148756 | etot = -30.6235492363162 +643000 ekin = 4.56445558617346 | erot = 3.81552004634158 | epot = -38.8645537025221 | etot = -30.4845780700071 +644000 ekin = 4.7332947847572 | erot = 3.55885168491642 | epot = -38.8054956282287 | etot = -30.5133491585551 +645000 ekin = 4.69129439625574 | erot = 3.28200064721723 | epot = -38.7015474297407 | etot = -30.7282523862678 +646000 ekin = 4.5858300200132 | erot = 3.40859569463286 | epot = -38.5478616511676 | etot = -30.5534359365215 +647000 ekin = 4.60741071742922 | erot = 3.38831322436686 | epot = -38.3932861693423 | etot = -30.3975622275462 +648000 ekin = 4.51463144345975 | erot = 3.24274100333129 | epot = -38.2758434893351 | etot = -30.518471042544 +649000 ekin = 4.55491099792928 | erot = 3.31738105307143 | epot = -38.2201110845426 | etot = -30.3478190335419 +650000 ekin = 4.67226589728797 | erot = 3.60950811156238 | epot = -38.2202225605506 | etot = -29.9384485517003 +651000 ekin = 4.60851815831642 | erot = 3.77278937705218 | epot = -38.253633099544 | etot = -29.8723255641754 +652000 ekin = 4.67845920019102 | erot = 3.39376240096224 | epot = -38.2868824175934 | etot = -30.2146608164401 +653000 ekin = 4.66844839257092 | erot = 3.83803199311147 | epot = -38.3235322989533 | etot = -29.8170519132709 +654000 ekin = 4.71048953319322 | erot = 3.48299287365118 | epot = -38.3580887397251 | etot = -30.1646063328807 +655000 ekin = 4.59645355598624 | erot = 3.74782025282036 | epot = -38.4145657066931 | etot = -30.0702918978865 +656000 ekin = 4.75902771581103 | erot = 3.81874385847387 | epot = -38.4693742928372 | etot = -29.8916027185523 +657000 ekin = 4.6466802059304 | erot = 3.66656001060126 | epot = -38.4843211797294 | etot = -30.1710809631977 +658000 ekin = 4.55836001875084 | erot = 3.93329833863017 | epot = -38.4803826070965 | etot = -29.9887242497155 +659000 ekin = 4.55537392119735 | erot = 3.62854716021115 | epot = -38.4363459414659 | etot = -30.2524248600574 +660000 ekin = 4.415513333681 | erot = 3.65395590072885 | epot = -38.3663969488347 | etot = -30.2969277144248 +661000 ekin = 4.32449081576482 | erot = 3.7409091571769 | epot = -38.2884247485437 | etot = -30.223024775602 +662000 ekin = 4.23823124010357 | erot = 3.58833666048794 | epot = -38.1946280661735 | etot = -30.368060165582 +663000 ekin = 4.32618520330365 | erot = 3.71369597709404 | epot = -38.0940311251123 | etot = -30.0541499447146 +664000 ekin = 4.30987713127752 | erot = 3.55193027406448 | epot = -38.0118003167728 | etot = -30.1499929114308 +665000 ekin = 4.32971268964141 | erot = 3.40416985470625 | epot = -37.9630121098135 | etot = -30.2291295654658 +666000 ekin = 4.30397058329246 | erot = 3.24563244836278 | epot = -37.9564459426243 | etot = -30.4068429109691 +667000 ekin = 4.23802718761169 | erot = 3.57923047722669 | epot = -37.9111709997968 | etot = -30.0939133349584 +668000 ekin = 4.17750835985179 | erot = 3.42921371885248 | epot = -37.8409684237743 | etot = -30.23424634507 +669000 ekin = 4.10123021238957 | erot = 3.38759831293404 | epot = -37.7732457913401 | etot = -30.2844172660165 +670000 ekin = 3.96563796265774 | erot = 3.59480187806746 | epot = -37.6965941156385 | etot = -30.1361542749133 +671000 ekin = 3.96406262528475 | erot = 3.64073126780244 | epot = -37.5753442355429 | etot = -29.9705503424557 +672000 ekin = 4.04265318678515 | erot = 3.67979591145804 | epot = -37.4296504342376 | etot = -29.7072013359944 +673000 ekin = 3.99224066234878 | erot = 3.52190422085284 | epot = -37.3047157518842 | etot = -29.7905708686826 +674000 ekin = 3.97681715793541 | erot = 3.75368024393795 | epot = -37.1885781675146 | etot = -29.4580807656412 +675000 ekin = 3.85833621087039 | erot = 3.97050815664598 | epot = -37.1417466549722 | etot = -29.3129022874559 +676000 ekin = 3.77676206895617 | erot = 3.79811590545672 | epot = -37.1253534099229 | etot = -29.55047543551 +677000 ekin = 3.78226586281959 | erot = 3.88942769355395 | epot = -37.138562963627 | etot = -29.4668694072535 +678000 ekin = 3.61579087416923 | erot = 3.83629032138265 | epot = -37.1880190743622 | etot = -29.7359378788103 +679000 ekin = 3.59940694058676 | erot = 3.92320694106409 | epot = -37.2411006365046 | etot = -29.7184867548538 +680000 ekin = 3.59936088858668 | erot = 3.59198808770724 | epot = -37.3103059663064 | etot = -30.1189569900125 +681000 ekin = 3.55068173353926 | erot = 3.62032338399716 | epot = -37.3978871586221 | etot = -30.2268820410857 +682000 ekin = 3.64312616149461 | erot = 3.63220095729225 | epot = -37.4824268307594 | etot = -30.2070997119725 +683000 ekin = 3.59147144886471 | erot = 4.00540882269656 | epot = -37.5784304648839 | etot = -29.9815501933227 +684000 ekin = 3.72558767154378 | erot = 4.43134049971583 | epot = -37.6663536443174 | etot = -29.5094254730578 +685000 ekin = 3.75700113340411 | erot = 4.4205179107468 | epot = -37.7011506850387 | etot = -29.5236316408878 +686000 ekin = 3.68716829673498 | erot = 4.29446170846275 | epot = -37.7134415714992 | etot = -29.7318115663015 +687000 ekin = 3.64818503755745 | erot = 4.53150873331275 | epot = -37.711537143075 | etot = -29.5318433722048 +688000 ekin = 3.65898677055768 | erot = 4.19517143645003 | epot = -37.717932414298 | etot = -29.8637742072903 +689000 ekin = 3.62053492938482 | erot = 4.90634872884688 | epot = -37.7254294906479 | etot = -29.1985458324162 +690000 ekin = 3.66313798116701 | erot = 4.56796147260999 | epot = -37.7316773182822 | etot = -29.5005778645052 +691000 ekin = 3.71240687811142 | erot = 4.32729443264309 | epot = -37.6986701891449 | etot = -29.6589688783904 +692000 ekin = 3.77937222983663 | erot = 4.25209713638369 | epot = -37.6463069321163 | etot = -29.614837565896 +693000 ekin = 3.82528389687004 | erot = 4.44391854020412 | epot = -37.5813521083395 | etot = -29.3121496712654 +694000 ekin = 3.77132757417721 | erot = 4.30342910423483 | epot = -37.529253149734 | etot = -29.4544964713219 +695000 ekin = 3.87816824099576 | erot = 3.61664690986643 | epot = -37.4977174174722 | etot = -30.00290226661 +696000 ekin = 4.03561630547949 | erot = 3.14881777436795 | epot = -37.5165237009965 | etot = -30.3320896211491 +697000 ekin = 4.10221303088943 | erot = 2.74688055821585 | epot = -37.6237315563432 | etot = -30.7746379672379 +698000 ekin = 4.33198843808374 | erot = 2.54448976763407 | epot = -37.8109238872742 | etot = -30.9344456815564 +699000 ekin = 4.45835519306672 | erot = 2.83727562812266 | epot = -38.0765099491825 | etot = -30.7808791279931 +700000 ekin = 4.62566765847138 | erot = 3.20413023616691 | epot = -38.366668680577 | etot = -30.5368707859387 +701000 ekin = 4.7119895804198 | erot = 3.20500762759523 | epot = -38.6531148244762 | etot = -30.7361176164611 +702000 ekin = 4.70320353975511 | erot = 3.49669921722524 | epot = -38.9020142648732 | etot = -30.7021115078929 +703000 ekin = 4.71666592176221 | erot = 3.4360587579244 | epot = -39.0983570180766 | etot = -30.94563233839 +704000 ekin = 4.81119997223628 | erot = 3.68842954975269 | epot = -39.2326154199854 | etot = -30.7329858979964 +705000 ekin = 4.76635995985857 | erot = 4.27225880905617 | epot = -39.3045830193539 | etot = -30.2659642504391 +706000 ekin = 4.61239689007865 | erot = 4.45743851438183 | epot = -39.3303553159894 | etot = -30.2605199115289 +707000 ekin = 4.4339240392442 | erot = 5.00090751066084 | epot = -39.3012148785927 | etot = -29.8663833286877 +708000 ekin = 4.49363980378809 | erot = 4.44827137132344 | epot = -39.185594508632 | etot = -30.2436833335204 +709000 ekin = 4.38087413515997 | erot = 4.33993340714001 | epot = -39.0225667156706 | etot = -30.3017591733706 +710000 ekin = 4.30084034805687 | erot = 4.18416076229502 | epot = -38.8018325665079 | etot = -30.3168314561561 +711000 ekin = 4.16061239283927 | erot = 3.75964607710248 | epot = -38.6119256895404 | etot = -30.6916672195987 +712000 ekin = 4.02785073941563 | erot = 3.9187380855626 | epot = -38.5032151267496 | etot = -30.5566263017714 +713000 ekin = 3.91042694307514 | erot = 4.02474708082432 | epot = -38.4555203424355 | etot = -30.5203463185361 +714000 ekin = 3.91972154955273 | erot = 3.86911398530045 | epot = -38.439191113934 | etot = -30.6503555790808 +715000 ekin = 3.7943288518239 | erot = 3.97493955426896 | epot = -38.464893488298 | etot = -30.6956250822051 +716000 ekin = 3.81379173421822 | erot = 4.12773796628725 | epot = -38.5344978321894 | etot = -30.592968131684 +717000 ekin = 3.81338083287865 | erot = 3.91040514076924 | epot = -38.6119475932714 | etot = -30.8881616196235 +718000 ekin = 3.98031853847212 | erot = 3.63481705596705 | epot = -38.678649410417 | etot = -31.0635138159778 +719000 ekin = 3.8566755406953 | erot = 3.54568346865612 | epot = -38.7335222105701 | etot = -31.3311632012187 +720000 ekin = 3.82130999837905 | erot = 3.12899985812948 | epot = -38.8000481793519 | etot = -31.8497383228434 +721000 ekin = 3.84625676410587 | erot = 3.33090070721984 | epot = -38.8362758074818 | etot = -31.6591183361561 +722000 ekin = 3.79224716661399 | erot = 3.20659617994805 | epot = -38.8301147634646 | etot = -31.8312714169026 +723000 ekin = 3.89270036914645 | erot = 3.09341373486911 | epot = -38.7612142662691 | etot = -31.7751001622535 +724000 ekin = 3.88950015267432 | erot = 3.37593260372107 | epot = -38.6472208331853 | etot = -31.3817880767899 +725000 ekin = 3.89253643906726 | erot = 3.36325650610821 | epot = -38.527809683643 | etot = -31.2720167384676 +726000 ekin = 3.77207579735124 | erot = 2.95762270097696 | epot = -38.4162496849588 | etot = -31.6865511866306 +727000 ekin = 3.85895083084016 | erot = 2.69741467226748 | epot = -38.3204112624909 | etot = -31.7640457593832 +728000 ekin = 3.95735248448051 | erot = 2.9120886214562 | epot = -38.2269317498774 | etot = -31.3574906439407 +729000 ekin = 3.90116579496187 | erot = 2.68023881807523 | epot = -38.1837112825913 | etot = -31.6023066695542 +730000 ekin = 3.96318220229617 | erot = 2.52640600275291 | epot = -38.1795006550048 | etot = -31.6899124499557 +731000 ekin = 4.07163559325283 | erot = 2.47524828245717 | epot = -38.2208467965997 | etot = -31.6739629208897 +732000 ekin = 4.1233129439478 | erot = 2.59059397612226 | epot = -38.2785246774241 | etot = -31.5646177573541 +733000 ekin = 4.18393032106832 | erot = 2.72580269413636 | epot = -38.392037043721 | etot = -31.4823040285164 +734000 ekin = 4.22490204001114 | erot = 2.94025387724302 | epot = -38.5577268408556 | etot = -31.3925709236014 +735000 ekin = 4.4163790638128 | erot = 3.39000978300276 | epot = -38.7520895879279 | etot = -30.9457007411124 +736000 ekin = 4.52682105512921 | erot = 3.59384799521515 | epot = -39.0007836443239 | etot = -30.8801145939796 +737000 ekin = 4.54518518822971 | erot = 3.67606395235669 | epot = -39.2431861398733 | etot = -31.0219369992869 +738000 ekin = 4.5411183131362 | erot = 3.87514152367616 | epot = -39.4689573474102 | etot = -31.0526975105979 +739000 ekin = 4.64515651334117 | erot = 3.86830954896682 | epot = -39.6580785017876 | etot = -31.1446124394797 +740000 ekin = 4.59721923359587 | erot = 3.83234514918728 | epot = -39.7800787241316 | etot = -31.3505143413485 +741000 ekin = 4.54920694202201 | erot = 4.22873772666809 | epot = -39.8001498706487 | etot = -31.0222052019586 +742000 ekin = 4.37775553859947 | erot = 4.07719515191239 | epot = -39.77291919362 | etot = -31.3179685031081 +743000 ekin = 4.3556617165814 | erot = 4.19296317409631 | epot = -39.6826493457459 | etot = -31.1340244550682 +744000 ekin = 4.35520781857197 | erot = 4.03027041959899 | epot = -39.5404877687078 | etot = -31.1550095305368 +745000 ekin = 4.22626887984311 | erot = 3.36034348052822 | epot = -39.3612863690873 | etot = -31.774674008716 +746000 ekin = 4.11995949308898 | erot = 3.27667360498754 | epot = -39.1619120183871 | etot = -31.7652789203105 +747000 ekin = 4.14400839200212 | erot = 3.30199438470027 | epot = -38.9827326721257 | etot = -31.5367298954233 +748000 ekin = 4.00468940718665 | erot = 3.14625781984354 | epot = -38.8044398216776 | etot = -31.6534925946474 +749000 ekin = 3.84115389861437 | erot = 2.95470003366606 | epot = -38.6687005011651 | etot = -31.8728465688847 +750000 ekin = 3.65410258827795 | erot = 3.15459365563751 | epot = -38.5278602215806 | etot = -31.7191639776652 +751000 ekin = 3.60281847230518 | erot = 3.24631581000329 | epot = -38.4153933025752 | etot = -31.5662590202667 +752000 ekin = 3.67731217795101 | erot = 3.63832283099237 | epot = -38.3028409880035 | etot = -30.9872059790601 +753000 ekin = 3.57605485188786 | erot = 3.26752665173283 | epot = -38.216520404161 | etot = -31.3729389005403 +754000 ekin = 3.69078656100566 | erot = 3.07077330953207 | epot = -38.2008529421059 | etot = -31.4392930715682 +755000 ekin = 3.70168225637966 | erot = 2.97263399944781 | epot = -38.2287093031121 | etot = -31.5543930472847 +756000 ekin = 3.82302121275981 | erot = 3.17826892909081 | epot = -38.3101319992817 | etot = -31.3088418574311 +757000 ekin = 3.92969183976116 | erot = 3.24398381681727 | epot = -38.4229976799529 | etot = -31.2493220233745 +758000 ekin = 4.01825553851179 | erot = 2.96087889455689 | epot = -38.5603809302419 | etot = -31.5812464971732 +759000 ekin = 4.1594567829226 | erot = 3.31368855914157 | epot = -38.7240687265499 | etot = -31.2509233844857 +760000 ekin = 4.08337495041284 | erot = 3.28527114059582 | epot = -38.8845645171708 | etot = -31.5159184261621 +761000 ekin = 4.14862342701 | erot = 3.30586771709934 | epot = -38.9896780479041 | etot = -31.5351869037948 +762000 ekin = 4.15291891523588 | erot = 3.21578962032623 | epot = -39.035237071941 | etot = -31.6665285363789 +763000 ekin = 4.13154828483799 | erot = 3.3900507889809 | epot = -39.064056495297 | etot = -31.5424574214781 +764000 ekin = 4.11445022984107 | erot = 3.78778087021378 | epot = -39.0692483990251 | etot = -31.1670172989703 +765000 ekin = 3.94937442988368 | erot = 3.99811330721235 | epot = -39.0421921917086 | etot = -31.0947044546125 +766000 ekin = 3.90772961551848 | erot = 4.01819621928476 | epot = -38.9772379154489 | etot = -31.0513120806457 +767000 ekin = 3.91865092379335 | erot = 3.66675942927309 | epot = -38.8570109636997 | etot = -31.2716006106333 +768000 ekin = 3.90455829915367 | erot = 3.57997769181359 | epot = -38.7106990781798 | etot = -31.2261630872126 +769000 ekin = 3.79614462627832 | erot = 3.72589479531036 | epot = -38.5987325117514 | etot = -31.0766930901627 +770000 ekin = 3.84943042371494 | erot = 3.41445940258821 | epot = -38.5242031402412 | etot = -31.260313313938 +771000 ekin = 3.93726861106208 | erot = 3.22573743650862 | epot = -38.4470290210347 | etot = -31.284022973464 +772000 ekin = 3.96999789478603 | erot = 3.15006319998271 | epot = -38.4433830504299 | etot = -31.3233219556611 +773000 ekin = 3.90264203603896 | erot = 3.08286085672449 | epot = -38.4596433115511 | etot = -31.4741404187877 +774000 ekin = 4.05136357587228 | erot = 3.17001936426352 | epot = -38.5137422973686 | etot = -31.2923593572328 +775000 ekin = 4.11418642080986 | erot = 3.81754399179959 | epot = -38.5927804349064 | etot = -30.661050022297 +776000 ekin = 4.11481050991311 | erot = 3.55328099460662 | epot = -38.6754580889835 | etot = -31.0073665844638 +777000 ekin = 4.23423405077874 | erot = 3.581082705526 | epot = -38.7616944176802 | etot = -30.9463776613754 +778000 ekin = 4.22244262963935 | erot = 3.64411855451435 | epot = -38.8420321429421 | etot = -30.9754709587884 +779000 ekin = 4.20492205038599 | erot = 3.89270804286641 | epot = -38.9009656289589 | etot = -30.8033355357065 +780000 ekin = 4.19457435208215 | erot = 3.98994130977104 | epot = -38.9050369874365 | etot = -30.7205213255833 +781000 ekin = 4.33837315790481 | erot = 3.45852422770952 | epot = -38.858660577552 | etot = -31.0617631919377 +782000 ekin = 4.36357496915256 | erot = 3.10010011432264 | epot = -38.7868584055569 | etot = -31.3231833220817 +783000 ekin = 4.42162598039043 | erot = 3.42028138737015 | epot = -38.7233668668894 | etot = -30.8814594991289 +784000 ekin = 4.52915280589042 | erot = 3.46746509226011 | epot = -38.6388342149203 | etot = -30.6422163167698 +785000 ekin = 4.55159402138248 | erot = 3.36141401661284 | epot = -38.5160993571772 | etot = -30.6030913191819 +786000 ekin = 4.4107707826177 | erot = 3.55728141641266 | epot = -38.3921286555455 | etot = -30.4240764565152 +787000 ekin = 4.54739828665105 | erot = 3.81681111076945 | epot = -38.2843232861691 | etot = -29.9201138887486 +788000 ekin = 4.51350891647147 | erot = 3.90594890385671 | epot = -38.2029645190102 | etot = -29.783506698682 +789000 ekin = 4.41183434492797 | erot = 4.01545730842708 | epot = -38.1545360413067 | etot = -29.7272443879517 +790000 ekin = 4.3621929679848 | erot = 4.38022337925409 | epot = -38.1642768248249 | etot = -29.4218604775861 +791000 ekin = 4.36856935453188 | erot = 4.10044084346352 | epot = -38.22190556061 | etot = -29.7528953626146 +792000 ekin = 4.15750522427246 | erot = 4.31220830506834 | epot = -38.3006248567473 | etot = -29.8309113274065 +793000 ekin = 4.04895474142999 | erot = 4.47406069249712 | epot = -38.4166817679431 | etot = -29.893666334016 +794000 ekin = 4.06782077729039 | erot = 4.5423761591342 | epot = -38.549740398153 | etot = -29.9395434617284 +795000 ekin = 4.13325369560992 | erot = 4.67664308533435 | epot = -38.7140310649861 | etot = -29.9041342840418 +796000 ekin = 4.24810673699366 | erot = 4.55090018691374 | epot = -38.8628377912584 | etot = -30.0638308673509 +797000 ekin = 4.47820483480062 | erot = 4.3710582070195 | epot = -39.0073103741375 | etot = -30.1580473323174 +798000 ekin = 4.41687882033674 | erot = 4.03192844801015 | epot = -39.1717655165837 | etot = -30.7229582482368 +799000 ekin = 4.51272621151671 | erot = 3.80275615695399 | epot = -39.326421036722 | etot = -31.0109386682513 +800000 ekin = 4.55406747540001 | erot = 3.86603589563195 | epot = -39.4550921156883 | etot = -31.0349887446563 +801000 ekin = 4.71425753043944 | erot = 4.19401636489447 | epot = -39.54550685129 | etot = -30.6372329559561 +802000 ekin = 4.73096724901053 | erot = 4.66018334519234 | epot = -39.5972922700863 | etot = -30.2061416758834 +803000 ekin = 4.62379738113316 | erot = 4.84687313016553 | epot = -39.6033097238912 | etot = -30.1326392125925 +804000 ekin = 4.73211781117971 | erot = 4.65405100631757 | epot = -39.5980929919843 | etot = -30.2119241744871 +805000 ekin = 4.74990370273775 | erot = 5.03061291222782 | epot = -39.5694988655322 | etot = -29.7889822505666 +806000 ekin = 4.71376969100982 | erot = 4.52737209746849 | epot = -39.5309941756429 | etot = -30.2898523871646 +807000 ekin = 4.86079475139436 | erot = 4.60056901312775 | epot = -39.4997078348835 | etot = -30.0383440703614 +808000 ekin = 4.80209833525355 | erot = 4.45818548395654 | epot = -39.4704788837952 | etot = -30.2101950645852 +809000 ekin = 4.63770011287829 | erot = 4.50410245159981 | epot = -39.4133092695816 | etot = -30.2715067051035 +810000 ekin = 4.5884562354768 | erot = 4.59839740206875 | epot = -39.3630399165046 | etot = -30.1761862789591 +811000 ekin = 4.49885529137743 | erot = 3.9887801293149 | epot = -39.2630135095319 | etot = -30.7753780888396 +812000 ekin = 4.26896362698773 | erot = 3.78568800845431 | epot = -39.1138584925267 | etot = -31.0592068570847 +813000 ekin = 4.13473287838125 | erot = 3.67097615600868 | epot = -38.9684769118809 | etot = -31.1627678774909 +814000 ekin = 3.94776533151707 | erot = 3.94579982777182 | epot = -38.8393181931019 | etot = -30.945753033813 +815000 ekin = 3.90824876714858 | erot = 4.04132924638676 | epot = -38.7551601823022 | etot = -30.8055821687669 +816000 ekin = 3.78701127768462 | erot = 3.90301930977965 | epot = -38.6978803550943 | etot = -31.00784976763 +817000 ekin = 3.66292511898638 | erot = 3.94682412287947 | epot = -38.6270985077426 | etot = -31.0173492658768 +818000 ekin = 3.57247131276286 | erot = 4.1784329766224 | epot = -38.5581000447573 | etot = -30.807195755372 +819000 ekin = 3.53877880324505 | erot = 4.11647252852256 | epot = -38.470998731369 | etot = -30.8157473996014 +820000 ekin = 3.50671598439872 | erot = 4.2563179936087 | epot = -38.3521077332955 | etot = -30.5890737552881 +821000 ekin = 3.53103431342872 | erot = 3.63219688182932 | epot = -38.2011634572155 | etot = -31.0379322619575 +822000 ekin = 3.51951391759943 | erot = 3.61259288561799 | epot = -38.0560993175181 | etot = -30.9239925143007 +823000 ekin = 3.57671320020567 | erot = 3.17979253207746 | epot = -37.8872361758758 | etot = -31.1307304435927 +824000 ekin = 3.52000952110933 | erot = 3.12347116703119 | epot = -37.7532307820924 | etot = -31.1097500939519 +825000 ekin = 3.58955759313317 | erot = 3.15061432333255 | epot = -37.6359982536735 | etot = -30.8958263372078 +826000 ekin = 3.67361585241127 | erot = 3.02327306669 | epot = -37.5692124634558 | etot = -30.8723235443545 +827000 ekin = 3.81109350736614 | erot = 2.85212407416514 | epot = -37.5611625241688 | etot = -30.8979449426375 +828000 ekin = 3.90531542763314 | erot = 2.81227386436725 | epot = -37.5694328663447 | etot = -30.8518435743443 +829000 ekin = 3.84587100054134 | erot = 2.81493449341339 | epot = -37.6070676030483 | etot = -30.9462621090935 +830000 ekin = 3.92673136944215 | erot = 3.15236191191148 | epot = -37.6537469157601 | etot = -30.5746536344065 +831000 ekin = 3.93921284330496 | erot = 3.06450076609936 | epot = -37.7261731649981 | etot = -30.7224595555938 +832000 ekin = 3.97197612374622 | erot = 3.05649894744995 | epot = -37.8221989970108 | etot = -30.7937239258147 +833000 ekin = 3.93725030890251 | erot = 3.02665836452882 | epot = -37.937171835506 | etot = -30.9732631620747 +834000 ekin = 3.98146697711155 | erot = 3.02136079279364 | epot = -38.0629385880238 | etot = -31.0601108181186 +835000 ekin = 4.05052897985959 | erot = 3.17273406713199 | epot = -38.1835463837721 | etot = -30.9602833367805 +836000 ekin = 4.19040397553803 | erot = 3.26946027032966 | epot = -38.300933644763 | etot = -30.8410693988953 +837000 ekin = 4.23633886579814 | erot = 3.17722972050009 | epot = -38.3895940577245 | etot = -30.9760254714262 +838000 ekin = 4.2979004072249 | erot = 3.15450479842831 | epot = -38.4727069904852 | etot = -31.020301784832 +839000 ekin = 4.1827320503791 | erot = 3.33215565016996 | epot = -38.5543306618494 | etot = -31.0394429613003 +840000 ekin = 4.10684077367706 | erot = 3.38230089969601 | epot = -38.6241675017604 | etot = -31.1350258283873 +841000 ekin = 4.23749853699732 | erot = 4.07451157411686 | epot = -38.6954306161323 | etot = -30.3834205050181 +842000 ekin = 4.21536707994271 | erot = 4.23835126074064 | epot = -38.7619078222529 | etot = -30.3081894815695 +843000 ekin = 4.22215504966707 | erot = 4.35771502414032 | epot = -38.8129398935363 | etot = -30.2330698197289 +844000 ekin = 4.30121627933579 | erot = 4.37450016715715 | epot = -38.8385476120778 | etot = -30.1628311655849 +845000 ekin = 4.21550077214613 | erot = 4.14378307005664 | epot = -38.8237568245828 | etot = -30.4644729823801 +846000 ekin = 4.02238016824688 | erot = 4.51654867802969 | epot = -38.7905889780242 | etot = -30.2516601317477 +847000 ekin = 4.01810256512938 | erot = 4.26125017170757 | epot = -38.7339575587521 | etot = -30.4546048219152 +848000 ekin = 3.96232133970733 | erot = 4.11983424179415 | epot = -38.6313622633388 | etot = -30.5492066818373 +849000 ekin = 3.80836560854392 | erot = 4.28564223418282 | epot = -38.48959631527 | etot = -30.3955884725433 +850000 ekin = 3.69578896780274 | erot = 4.39587758868534 | epot = -38.3525607889923 | etot = -30.2608942325043 +851000 ekin = 3.41959969074419 | erot = 4.26064520104068 | epot = -38.1456854690895 | etot = -30.4654405773046 +852000 ekin = 3.30829887930773 | erot = 3.71835542085462 | epot = -37.9409715149429 | etot = -30.9143172147806 +853000 ekin = 3.35508979255709 | erot = 3.37030184945615 | epot = -37.7900455534541 | etot = -31.0646539114409 +854000 ekin = 3.27022944339444 | erot = 3.34212111159848 | epot = -37.7131840806896 | etot = -31.1008335256967 +855000 ekin = 3.1986122719394 | erot = 3.88856216577092 | epot = -37.6928018165187 | etot = -30.6056273788084 +856000 ekin = 3.06768638261931 | erot = 3.9829801102148 | epot = -37.727010473156 | etot = -30.6763439803219 +857000 ekin = 3.0284945827112 | erot = 3.90128373509548 | epot = -37.7894644617561 | etot = -30.8596861439494 +858000 ekin = 3.01766394874129 | erot = 3.81481515545785 | epot = -37.864155422239 | etot = -31.0316763180398 +859000 ekin = 3.04279727315571 | erot = 3.58850792531729 | epot = -37.9147104139937 | etot = -31.2834052155206 +860000 ekin = 3.12250083122178 | erot = 3.47152341944192 | epot = -37.9805991878281 | etot = -31.3865749371644 +861000 ekin = 3.08661234486258 | erot = 3.19104504877415 | epot = -38.0455048743499 | etot = -31.7678474807132 +862000 ekin = 3.21284829409282 | erot = 3.29871938445951 | epot = -38.0992348440439 | etot = -31.5876671654916 +863000 ekin = 3.30782920492319 | erot = 3.18791577959006 | epot = -38.1747149198293 | etot = -31.6789699353161 +864000 ekin = 3.42420257195633 | erot = 2.92388402618492 | epot = -38.2365375033582 | etot = -31.8884509052169 +865000 ekin = 3.34466551527703 | erot = 3.0972998859353 | epot = -38.301208351407 | etot = -31.8592429501947 +866000 ekin = 3.36174635490682 | erot = 3.3198551234471 | epot = -38.3565233653476 | etot = -31.6749218869937 +867000 ekin = 3.421839196855 | erot = 2.79592217571863 | epot = -38.3877893327294 | etot = -32.1700279601558 +868000 ekin = 3.36274087144654 | erot = 2.53957841641307 | epot = -38.4029375195829 | etot = -32.5006182317233 +869000 ekin = 3.40964507660633 | erot = 2.56691032353925 | epot = -38.36070725069 | etot = -32.3841518505444 +870000 ekin = 3.53716918539255 | erot = 2.78671187381857 | epot = -38.3296120297664 | etot = -32.0057309705553 +871000 ekin = 3.59594316640844 | erot = 2.64188707611858 | epot = -38.2798157408161 | etot = -32.0419854982891 +872000 ekin = 3.50734679867103 | erot = 2.53533702817681 | epot = -38.2086073023315 | etot = -32.1659234754836 +873000 ekin = 3.4916725837923 | erot = 2.78144827221659 | epot = -38.1271407877643 | etot = -31.8540199317554 +874000 ekin = 3.51303146719815 | erot = 2.71312702979827 | epot = -38.0371921369836 | etot = -31.8110336399872 +875000 ekin = 3.48945347772522 | erot = 2.94850163157192 | epot = -37.9788388329101 | etot = -31.540883723613 +876000 ekin = 3.56075870692742 | erot = 3.00511197452216 | epot = -37.9138095080296 | etot = -31.34793882658 +877000 ekin = 3.47758786865161 | erot = 3.1639084633419 | epot = -37.8677942057125 | etot = -31.226297873719 +878000 ekin = 3.30311825505464 | erot = 3.03452838302456 | epot = -37.8643582436494 | etot = -31.5267116055702 +879000 ekin = 3.24374156245722 | erot = 3.40785973601244 | epot = -37.8934655456587 | etot = -31.241864247189 +880000 ekin = 3.37573093292728 | erot = 3.29280897525387 | epot = -37.94427513544 | etot = -31.2757352272588 +881000 ekin = 3.39840544569008 | erot = 3.5585281271734 | epot = -38.000888118187 | etot = -31.0439545453235 +882000 ekin = 3.58967670735277 | erot = 3.3599507497553 | epot = -38.026551897189 | etot = -31.0769244400809 +883000 ekin = 3.50982611331089 | erot = 2.96694324238043 | epot = -38.0094926569536 | etot = -31.5327233012623 +884000 ekin = 3.40446481075003 | erot = 3.29501620823909 | epot = -37.9974315131722 | etot = -31.2979504941831 +885000 ekin = 3.35965929451984 | erot = 3.11716654513079 | epot = -38.0104898466533 | etot = -31.5336640070026 +886000 ekin = 3.4398820879568 | erot = 3.03035945423277 | epot = -38.0693633346149 | etot = -31.5991217924253 +887000 ekin = 3.45628684947257 | erot = 3.13318789403751 | epot = -38.1677034351609 | etot = -31.5782286916509 +888000 ekin = 3.56219309594464 | erot = 3.51843891461384 | epot = -38.2809194479114 | etot = -31.2002874373529 +889000 ekin = 3.66415644518222 | erot = 4.27546474777851 | epot = -38.4171028829354 | etot = -30.4774816899746 +890000 ekin = 3.59199164776021 | erot = 4.54716655442229 | epot = -38.5531146541751 | etot = -30.4139564519926 +891000 ekin = 3.48698350789935 | erot = 4.75701182525661 | epot = -38.6580895919219 | etot = -30.414094258766 +892000 ekin = 3.5156285575795 | erot = 4.92508483334396 | epot = -38.7362622656564 | etot = -30.295548874733 +893000 ekin = 3.47661113338826 | erot = 5.21569244219348 | epot = -38.7939526432619 | etot = -30.1016490676802 +894000 ekin = 3.33377890272878 | erot = 5.32415823975917 | epot = -38.7809839614902 | etot = -30.1230468190022 +895000 ekin = 3.43478318369595 | erot = 5.41005154361594 | epot = -38.7354883491901 | etot = -29.8906536218782 +896000 ekin = 3.35681124753247 | erot = 5.27612600451783 | epot = -38.6441447733837 | etot = -30.0112075213334 +897000 ekin = 3.28668538949691 | erot = 5.17803324766006 | epot = -38.5248966927269 | etot = -30.0601780555699 +898000 ekin = 3.28286469703046 | erot = 5.1387437476849 | epot = -38.3749221439183 | etot = -29.9533136992029 +899000 ekin = 3.28106900834727 | erot = 5.02377463132161 | epot = -38.2159550339516 | etot = -29.9111113942827 +900000 ekin = 3.2375487758962 | erot = 4.74128859066627 | epot = -38.0678968923378 | etot = -30.0890595257754 +901000 ekin = 3.13978298302567 | erot = 4.32431292426646 | epot = -37.9137652588161 | etot = -30.449669351524 +902000 ekin = 3.14110495369396 | erot = 3.63711917032585 | epot = -37.7967183247471 | etot = -31.0184942007273 +903000 ekin = 3.11835106948985 | erot = 3.58358384011855 | epot = -37.7069569192994 | etot = -31.005022009691 +904000 ekin = 3.07376219479306 | erot = 3.52931006844845 | epot = -37.659746760624 | etot = -31.0566744973825 +905000 ekin = 3.06812362454382 | erot = 3.78913234205786 | epot = -37.6633180135035 | etot = -30.8060620469019 +906000 ekin = 3.16118254583051 | erot = 3.68210315785587 | epot = -37.7114125889236 | etot = -30.8681268852372 +907000 ekin = 3.05937736690029 | erot = 3.63166351278053 | epot = -37.8094278488434 | etot = -31.1183869691625 +908000 ekin = 3.20197665753497 | erot = 3.64411333350696 | epot = -37.8953945586469 | etot = -31.049304567605 +909000 ekin = 3.13419888287821 | erot = 3.44894287146556 | epot = -37.9553359165691 | etot = -31.3721941622254 +910000 ekin = 3.20114546563037 | erot = 3.42446813676887 | epot = -38.0249179476088 | etot = -31.3993043452096 +911000 ekin = 3.18332024249094 | erot = 3.30496399638702 | epot = -38.1090485606 | etot = -31.620764321722 +912000 ekin = 3.26276595850353 | erot = 3.24471741353574 | epot = -38.2096715613879 | etot = -31.7021881893487 +913000 ekin = 3.26815619138256 | erot = 3.26266624315757 | epot = -38.3821519588595 | etot = -31.8513295243194 +914000 ekin = 3.35412635067739 | erot = 3.33562334375849 | epot = -38.6092123987843 | etot = -31.9194627043485 +915000 ekin = 3.50776663391044 | erot = 3.60910336634357 | epot = -38.8009254120373 | etot = -31.6840554117832 +916000 ekin = 3.52773139010892 | erot = 3.4674530941274 | epot = -38.9707688836107 | etot = -31.9755843993744 +917000 ekin = 3.59076210165245 | erot = 3.4117857351299 | epot = -39.0925719913729 | etot = -32.0900241545906 +918000 ekin = 3.7045685353762 | erot = 3.18226166796498 | epot = -39.1781408185662 | etot = -32.291310615225 +919000 ekin = 3.7803778042616 | erot = 3.08638967761954 | epot = -39.2569196438482 | etot = -32.3901521619671 +920000 ekin = 3.91060781137672 | erot = 3.28711158692169 | epot = -39.3298863351684 | etot = -32.13216693687 +921000 ekin = 3.94747979949415 | erot = 3.453377720589 | epot = -39.3932618134519 | etot = -31.9924042933687 +922000 ekin = 3.94814734356937 | erot = 3.67117615571543 | epot = -39.442934644951 | etot = -31.8236111456662 +923000 ekin = 3.96148195878582 | erot = 4.16418425189008 | epot = -39.4697891977422 | etot = -31.3441229870663 +924000 ekin = 3.93156231463918 | erot = 4.23364521862781 | epot = -39.4747062603531 | etot = -31.3094987270862 +925000 ekin = 3.98364691406514 | erot = 4.37102519058194 | epot = -39.455954311955 | etot = -31.1012822073079 +926000 ekin = 3.9016583484788 | erot = 4.53983917650241 | epot = -39.3838686479858 | etot = -30.9423711230046 +927000 ekin = 3.86159556963871 | erot = 4.93409467569021 | epot = -39.300982283531 | etot = -30.505292038202 +928000 ekin = 3.88113409255633 | erot = 4.54344659797527 | epot = -39.2237313850885 | etot = -30.7991506945569 +929000 ekin = 3.73601262143401 | erot = 4.54159517313976 | epot = -39.0907845737874 | etot = -30.8131767792137 +930000 ekin = 3.62890283946134 | erot = 4.23223960576951 | epot = -38.9310668930158 | etot = -31.0699244477849 +931000 ekin = 3.51130978751943 | erot = 3.75580234575066 | epot = -38.7496742883208 | etot = -31.4825621550507 +932000 ekin = 3.4360478582471 | erot = 3.85916877458121 | epot = -38.6047820584061 | etot = -31.3095654255778 +933000 ekin = 3.34945134482961 | erot = 4.10711762351075 | epot = -38.510851150919 | etot = -31.0542821825786 +934000 ekin = 3.25407370525944 | erot = 4.02198516513935 | epot = -38.4343657155247 | etot = -31.1583068451259 +935000 ekin = 3.15706754617314 | erot = 3.94213624960975 | epot = -38.3842418910869 | etot = -31.285038095304 +936000 ekin = 3.00555649828169 | erot = 4.41385590541793 | epot = -38.3669049397814 | etot = -30.9474925360818 +937000 ekin = 2.92065396617303 | erot = 4.74523400801327 | epot = -38.3453538388337 | etot = -30.6794658646474 +938000 ekin = 2.97141948473083 | erot = 4.76974809222715 | epot = -38.3344331957964 | etot = -30.5932656188384 +939000 ekin = 2.94512706992735 | erot = 4.54496818954263 | epot = -38.3244620131105 | etot = -30.8343667536406 +940000 ekin = 2.88288211336416 | erot = 4.33037795313973 | epot = -38.3226244406597 | etot = -31.1093643741558 +941000 ekin = 3.07298949733874 | erot = 4.38312166999019 | epot = -38.3472582821343 | etot = -30.8911471148054 +942000 ekin = 3.09399973822823 | erot = 4.23262521183808 | epot = -38.3627707290365 | etot = -31.0361457789702 +943000 ekin = 3.06928348074207 | erot = 4.29810120769338 | epot = -38.3654861580835 | etot = -30.998101469648 +944000 ekin = 3.05361136554805 | erot = 4.57752136432057 | epot = -38.3891229370224 | etot = -30.7579902071538 +945000 ekin = 3.10532952733951 | erot = 4.63116672909514 | epot = -38.4481824906829 | etot = -30.7116862342482 +946000 ekin = 3.22536073155712 | erot = 4.97756078019748 | epot = -38.5304457687249 | etot = -30.3275242569703 +947000 ekin = 3.22481791886517 | erot = 4.85505897631128 | epot = -38.6306947506546 | etot = -30.5508178554781 +948000 ekin = 3.31258286730503 | erot = 4.40885070504342 | epot = -38.7111926164559 | etot = -30.9897590441074 +949000 ekin = 3.26341750645552 | erot = 4.50805562556237 | epot = -38.7582101439125 | etot = -30.9867370118946 +950000 ekin = 3.38312193033102 | erot = 4.30600402576272 | epot = -38.7909813747401 | etot = -31.1018554186463 +951000 ekin = 3.45878288324884 | erot = 3.92069079490449 | epot = -38.8089483233273 | etot = -31.429474645174 +952000 ekin = 3.42224118561199 | erot = 3.67807790241712 | epot = -38.8172186174577 | etot = -31.7168995294286 +953000 ekin = 3.53558981303889 | erot = 3.54582501818219 | epot = -38.8376037887753 | etot = -31.7561889575542 +954000 ekin = 3.74081536790968 | erot = 3.65672942044178 | epot = -38.8501623721149 | etot = -31.4526175837635 +955000 ekin = 3.7110092436565 | erot = 3.89616377536048 | epot = -38.8864415175109 | etot = -31.279268498494 +956000 ekin = 3.60593207480456 | erot = 3.60411690044688 | epot = -38.9258365620746 | etot = -31.7157875868231 +957000 ekin = 3.49530434439501 | erot = 3.8241034771156 | epot = -38.9468561104726 | etot = -31.627448288962 +958000 ekin = 3.33025913134867 | erot = 4.09361696296971 | epot = -38.956606995368 | etot = -31.5327309010496 +959000 ekin = 3.2325863398297 | erot = 4.27749630513801 | epot = -38.9400855462526 | etot = -31.4300029012849 +960000 ekin = 3.31834124707632 | erot = 4.19167538415384 | epot = -38.9006120641382 | etot = -31.3905954329081 +961000 ekin = 3.23354004257456 | erot = 4.33974592386025 | epot = -38.8709462828606 | etot = -31.2976603164258 +962000 ekin = 3.27687420354399 | erot = 4.18251799625541 | epot = -38.8399997192037 | etot = -31.3806075194043 +963000 ekin = 3.18724078299274 | erot = 4.29559449615356 | epot = -38.8215635568142 | etot = -31.3387282776679 +964000 ekin = 3.16628639784324 | erot = 4.17929146419551 | epot = -38.8033314242486 | etot = -31.4577535622098 +965000 ekin = 3.23601563824504 | erot = 4.51599223822389 | epot = -38.7801591620084 | etot = -31.0281512855395 +966000 ekin = 3.35348380272829 | erot = 3.96490873951942 | epot = -38.7593006562386 | etot = -31.4409081139909 +967000 ekin = 3.47301428118912 | erot = 3.78771221675284 | epot = -38.7263415939782 | etot = -31.4656150960363 +968000 ekin = 3.51493406845154 | erot = 3.36657292776078 | epot = -38.7364041234232 | etot = -31.8548971272109 +969000 ekin = 3.55243037222546 | erot = 3.66068265314136 | epot = -38.7529284526025 | etot = -31.5398154272357 +970000 ekin = 3.63553363347268 | erot = 3.13050605621035 | epot = -38.8016144947089 | etot = -32.0355748050258 +971000 ekin = 3.62760421034414 | erot = 3.43775684259619 | epot = -38.870763787289 | etot = -31.8054027343487 +972000 ekin = 3.66143241862989 | erot = 4.04556663388647 | epot = -38.9794799026743 | etot = -31.2724808501579 +973000 ekin = 3.7246589822928 | erot = 3.97416581320673 | epot = -39.0667487302084 | etot = -31.3679239347088 +974000 ekin = 3.99953950913791 | erot = 4.13912764019193 | epot = -39.1431741069697 | etot = -31.0045069576398 +975000 ekin = 4.00465817345131 | erot = 3.99525896460893 | epot = -39.1948973492942 | etot = -31.194980211234 +976000 ekin = 4.16803719317624 | erot = 4.27607609453618 | epot = -39.2042146461381 | etot = -30.7601013584257 +977000 ekin = 4.27763535208348 | erot = 4.3578537464676 | epot = -39.1647674598218 | etot = -30.5292783612708 +978000 ekin = 4.21509832146809 | erot = 3.96978575035229 | epot = -39.0661575270878 | etot = -30.8812734552674 +979000 ekin = 4.1121993977163 | erot = 3.86340161937279 | epot = -38.9126163242263 | etot = -30.9370153071372 +980000 ekin = 4.08548639230676 | erot = 3.71918260809163 | epot = -38.7460650378699 | etot = -30.9413960374715 +981000 ekin = 4.02033461236246 | erot = 3.54042819636898 | epot = -38.597187758635 | etot = -31.0364249499036 +982000 ekin = 4.05981657544079 | erot = 3.65178477672055 | epot = -38.4729888125583 | etot = -30.761387460397 +983000 ekin = 4.15649242216497 | erot = 3.62195027480226 | epot = -38.3342599610661 | etot = -30.5558172640988 +984000 ekin = 4.15445943144041 | erot = 3.41256983843898 | epot = -38.1946691276127 | etot = -30.6276398577333 +985000 ekin = 3.8765990108719 | erot = 3.43767805044635 | epot = -38.0505436384558 | etot = -30.7362665771376 +986000 ekin = 3.85786856381243 | erot = 3.30334700587336 | epot = -37.8996934133204 | etot = -30.7384778436346 +987000 ekin = 3.87294863787324 | erot = 3.15398232754985 | epot = -37.7929706719646 | etot = -30.7660397065415 +988000 ekin = 3.93790531951922 | erot = 3.08701498108577 | epot = -37.6532967522442 | etot = -30.6283764516392 +989000 ekin = 3.83115351568816 | erot = 3.07802242316593 | epot = -37.5101193189106 | etot = -30.6009433800565 +990000 ekin = 3.81048959043177 | erot = 3.11196082795564 | epot = -37.3832609771668 | etot = -30.4608105587794 +991000 ekin = 3.71517412131507 | erot = 3.09240412040415 | epot = -37.2833659467137 | etot = -30.4757877049945 +992000 ekin = 3.63849701384077 | erot = 2.99887074192575 | epot = -37.1786754428024 | etot = -30.5413076870359 +993000 ekin = 3.63209056043319 | erot = 3.27649085900159 | epot = -37.0906927302528 | etot = -30.182111310818 +994000 ekin = 3.59828390693157 | erot = 3.83169777268287 | epot = -37.0255816353103 | etot = -29.5955999556959 +995000 ekin = 3.75927077522085 | erot = 3.45385861701398 | epot = -36.9690811728773 | etot = -29.7559517806424 +996000 ekin = 3.7162823443018 | erot = 3.37243499359149 | epot = -36.9421300931431 | etot = -29.8534127552498 +997000 ekin = 3.60416089411945 | erot = 3.31461433836006 | epot = -36.952810875641 | etot = -30.0340356431615 +998000 ekin = 3.71457183702559 | erot = 3.42780251384754 | epot = -37.0325234658195 | etot = -29.8901491149464 +999000 ekin = 3.78703773886275 | erot = 3.63993408891199 | epot = -37.154809159371 | etot = -29.7278373315963 +1000000 ekin = 3.83883486112593 | erot = 3.47192929391939 | epot = -37.2430911050886 | etot = -29.9323269500432 + 1000000 0.10236893 -1.4701186 0.037692055 -1.2847791 5.0290761e-05 64000 +Loop time of 78.4082 on 1 procs for 1000000 steps with 26 atoms + +Performance: 11019.253 tau/day, 12753.765 timesteps/s +99.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 | 69.545 | 69.545 | 69.545 | 0.0 | 88.70 +Bond | 1.6652 | 1.6652 | 1.6652 | 0.0 | 2.12 +Neigh | 0.021387 | 0.021387 | 0.021387 | 0.0 | 0.03 +Comm | 0.20462 | 0.20462 | 0.20462 | 0.0 | 0.26 +Output | 0.23702 | 0.23702 | 0.23702 | 0.0 | 0.30 +Modify | 6.5296 | 6.5296 | 6.5296 | 0.0 | 8.33 +Other | | 0.2057 | | | 0.26 + +Nlocal: 26.0000 ave 26 max 26 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 0.00000 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 301.000 ave 301 max 301 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 301 +Ave neighs/atom = 11.576923 +Ave special neighs/atom = 5.0769231 +Neighbor list builds = 1000 +Dangerous builds = 0 + +write_data last_config.${number}.* nocoeff +write_data last_config.4.* nocoeff +System init for write_data ... +Total wall time: 0:01:18 diff --git a/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.27May21.duplex4.4type.g++4 b/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.27May21.duplex4.4type.g++4 new file mode 100644 index 0000000000..eda197670d --- /dev/null +++ b/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.27May21.duplex4.4type.g++4 @@ -0,0 +1,1230 @@ +LAMMPS (27 May 2021) +variable number equal 4 +variable ofreq equal 1000 +variable efreq equal 1000 + +variable ntype equal 4 + +variable T equal 0.1 +variable rhos equal 0.2 + +units lj + +dimension 3 + +newton off + +boundary p p p + +atom_style hybrid bond ellipsoid oxdna +WARNING: Atom style hybrid defines both, per-type and per-atom masses; both must be set, but only per-atom masses will be used (../atom_vec_hybrid.cpp:157) +atom_modify sort 0 1.0 + +# Pair interactions require lists of neighbours to be calculated +neighbor 2.0 bin +neigh_modify every 10 delay 0 check yes + +read_data data.duplex4.4type +Reading data file ... + orthogonal box = (-20.000000 -20.000000 -20.000000) to (20.000000 20.000000 20.000000) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 26 atoms + reading velocities ... + 26 velocities + scanning bonds ... + 2 = max bonds/atom + 26 ellipsoids + reading bonds ... +Setting oxDNA 3'->5' bond directionality ... + 24 bonds +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 + 2 = max # of 1-3 neighbors + 4 = max # of 1-4 neighbors + 6 = max # of special neighbors + special bonds CPU = 0.001 seconds + read_data CPU = 0.005 seconds + +mass * 3.1575 # sets per-type mass if not in data file +set atom * mass 3.1575 # sets per-atom mass +Setting atom values ... + 26 settings made for mass + +group all type 1 4 +26 atoms in group all + +# oxDNA2 bond interactions - FENE backbone +bond_style oxdna2/fene +bond_coeff * 2.0 0.25 0.7564 +special_bonds lj 0 1 1 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 1 1 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 2 = max # of 1-3 neighbors + 4 = max # of 1-4 neighbors + 6 = max # of special neighbors + special bonds CPU = 0.000 seconds + +# oxDNA pair interactions +pair_style hybrid/overlay oxdna2/excv oxdna2/stk oxdna2/hbond oxdna2/xstk oxdna2/coaxstk oxdna2/dh +pair_coeff * * oxdna2/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32 +pair_coeff * * oxdna2/stk seqdep ${T} 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 +pair_coeff * * oxdna2/stk seqdep 0.1 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 +pair_coeff * * oxdna2/hbond seqdep 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 + +label loop +variable base loop ${ntype} +variable base loop 4 + variable basemod equal ${base}%4 + variable basemod equal 1%4 + if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" +variable comp equal ${base}+3 +variable comp equal 1+3 +pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 1 ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 1 4 oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 + if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" +next base +jump in.duplex4.4type loop +variable base loop ${ntype} +variable base loop 4 + variable basemod equal ${base}%4 + variable basemod equal 2%4 + if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" + if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" +variable comp equal ${base}+1 +variable comp equal 2+1 +pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 2 ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 2 3 oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +next base +jump in.duplex4.4type loop +variable base loop ${ntype} +variable base loop 4 + variable basemod equal ${base}%4 + variable basemod equal 3%4 + if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" + if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" +next base +jump in.duplex4.4type loop +variable base loop ${ntype} +variable base loop 4 + variable basemod equal ${base}%4 + variable basemod equal 4%4 + if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" + if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" +next base +jump in.duplex4.4type loop + +pair_coeff * * oxdna2/xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68 +pair_coeff * * oxdna2/coaxstk 58.5 0.4 0.6 0.22 0.58 2.0 2.891592653589793 0.65 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 40.0 3.116592653589793 +pair_coeff * * oxdna2/dh ${T} ${rhos} 0.815 +pair_coeff * * oxdna2/dh 0.1 ${rhos} 0.815 +pair_coeff * * oxdna2/dh 0.1 0.2 0.815 + +# Langevin dynamics +fix 1 all nve/asphere +fix 2 all langevin ${T} ${T} 2.5 457145 angmom 10 +fix 2 all langevin 0.1 ${T} 2.5 457145 angmom 10 +fix 2 all langevin 0.1 0.1 2.5 457145 angmom 10 + +timestep 1e-5 + +#comm_style tiled +fix 3 all balance 1000 1.03 shift xyz 10 1.03 +comm_modify cutoff 3.8 + +compute quat all property/atom quatw quati quatj quatk + +compute erot all erotate/asphere +compute ekin all ke +compute epot all pe +variable erot equal c_erot +variable ekin equal c_ekin +variable epot equal c_epot +variable etot equal c_erot+c_ekin+c_epot +fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes +fix 5 all print 1000 "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes + +dump out all custom ${ofreq} out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump out all custom 1000 out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump out all custom 1000 out.4.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump_modify out sort id +dump_modify out format line "%d %d %d %22.15le %22.15le %22.15le %d %d %d %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le" + +run 1000000 +Neighbor list info ... + update every 10 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 5.6389877 + ghost atom cutoff = 5.6389877 + binsize = 2.8194939, bins = 15 15 15 + 5 neighbor lists, perpetual/occasional/extra = 5 0 0 + (1) pair oxdna2/excv, perpetual + attributes: half, newton off + pair build: half/bin/newtoff + stencil: full/bin/3d + bin: standard + (2) pair oxdna2/hbond, perpetual, copy from (1) + attributes: half, newton off + pair build: copy + stencil: none + bin: none + (3) pair oxdna2/xstk, perpetual, copy from (1) + attributes: half, newton off + pair build: copy + stencil: none + bin: none + (4) pair oxdna2/coaxstk, perpetual, copy from (1) + attributes: half, newton off + pair build: copy + stencil: none + bin: none + (5) pair oxdna2/dh, perpetual, copy from (1) + attributes: half, newton off + pair build: copy + stencil: none + bin: none +WARNING: Communication cutoff adjusted to 5.638987723814632 (../comm.cpp:739) +0 ekin = 3.74991604702378 | erot = 3.45272678980464 | epot = -37.3742009011421 | etot = -30.1715580643137 +Per MPI rank memory allocation (min/avg/max) = 9.571 | 9.572 | 9.573 Mbytes +Step Temp E_pair E_mol TotEng Press Volume + 0 0.099997761 -1.4717559 0.03428661 -1.2932417 5.6146609e-05 64000 +1000 ekin = 3.92430268570824 | erot = 3.29540971313705 | epot = -37.4816670091169 | etot = -30.2619546102716 +2000 ekin = 3.88644825046428 | erot = 3.58410925014822 | epot = -37.5871874286304 | etot = -30.1166299280179 +3000 ekin = 3.90603224055461 | erot = 3.78206057452861 | epot = -37.7021302921285 | etot = -30.0140374770453 +4000 ekin = 4.02636555552402 | erot = 3.91677901140303 | epot = -37.8027608694504 | etot = -29.8596163025233 +5000 ekin = 4.05442725401043 | erot = 4.07817807460239 | epot = -37.8494362833427 | etot = -29.7168309547299 +6000 ekin = 4.13499768127483 | erot = 4.03873475277247 | epot = -37.8257365098367 | etot = -29.6520040757894 +7000 ekin = 4.08584129662811 | erot = 3.98502892930338 | epot = -37.744776171106 | etot = -29.6739059451746 +8000 ekin = 4.04473728341539 | erot = 3.70461133282256 | epot = -37.6185211079512 | etot = -29.8691724917132 +9000 ekin = 3.97040375513034 | erot = 3.89171847539017 | epot = -37.4779912856655 | etot = -29.615869055145 +10000 ekin = 4.08064552796877 | erot = 4.10399273710613 | epot = -37.3378150214196 | etot = -29.1531767563447 +11000 ekin = 3.94505548567029 | erot = 4.14758664614567 | epot = -37.2085796341436 | etot = -29.1159375023277 +12000 ekin = 3.88687763742867 | erot = 4.11256727293728 | epot = -37.1168918341093 | etot = -29.1174469237433 +13000 ekin = 3.78376547312035 | erot = 3.94997258779545 | epot = -37.0636475805867 | etot = -29.3299095196709 +14000 ekin = 3.72114827358809 | erot = 3.83862755313067 | epot = -37.0539326083543 | etot = -29.4941567816355 +15000 ekin = 3.63885725366144 | erot = 3.37568559083325 | epot = -37.0775134892158 | etot = -30.0629706447211 +16000 ekin = 3.75926862366823 | erot = 3.47832285528771 | epot = -37.1763229835919 | etot = -29.938731504636 +17000 ekin = 3.80458992549718 | erot = 3.37818714949378 | epot = -37.3270848276044 | etot = -30.1443077526134 +18000 ekin = 3.81685915102048 | erot = 3.82235577807969 | epot = -37.4876996492705 | etot = -29.8484847201703 +19000 ekin = 3.80633274630077 | erot = 3.8039328333736 | epot = -37.6386270441084 | etot = -30.028361464434 +20000 ekin = 3.77027693322165 | erot = 3.97848447130841 | epot = -37.7861726918926 | etot = -30.0374112873625 +21000 ekin = 3.75594248876352 | erot = 3.90400523936658 | epot = -37.9165000666024 | etot = -30.2565523384723 +22000 ekin = 3.81729390633802 | erot = 3.70298358069274 | epot = -38.0211478246462 | etot = -30.5008703376154 +23000 ekin = 3.86462773298721 | erot = 3.52903064555341 | epot = -38.0539868057477 | etot = -30.6603284272071 +24000 ekin = 3.84611190496181 | erot = 3.47876891204866 | epot = -38.0524942369904 | etot = -30.7276134199799 +25000 ekin = 3.88431543220182 | erot = 3.80956733596667 | epot = -38.0090041212112 | etot = -30.3151213530427 +26000 ekin = 3.88520717073552 | erot = 4.04667753560866 | epot = -37.9336134642013 | etot = -30.0017287578571 +27000 ekin = 3.83553778749005 | erot = 4.18222306888362 | epot = -37.8633670830474 | etot = -29.8456062266737 +28000 ekin = 3.83638307293673 | erot = 4.13838046178307 | epot = -37.8079901228044 | etot = -29.8332265880846 +29000 ekin = 3.81360349447094 | erot = 4.16358811310864 | epot = -37.7885827024555 | etot = -29.8113910948759 +30000 ekin = 3.89572360919441 | erot = 4.04566996469674 | epot = -37.7874054211311 | etot = -29.84601184724 +31000 ekin = 3.89393888302718 | erot = 3.55790326104627 | epot = -37.8038131932178 | etot = -30.3519710491444 +32000 ekin = 3.80317271692918 | erot = 3.54273524643272 | epot = -37.8451815180301 | etot = -30.4992735546682 +33000 ekin = 3.78703980355191 | erot = 3.99364624500488 | epot = -37.9406281896734 | etot = -30.1599421411166 +34000 ekin = 3.77142087668807 | erot = 3.88594611308813 | epot = -38.097584352555 | etot = -30.4402173627788 +35000 ekin = 3.71264930628466 | erot = 3.65225843687418 | epot = -38.2835289304067 | etot = -30.9186211872479 +36000 ekin = 3.74220790707641 | erot = 3.95952222810293 | epot = -38.4596915935922 | etot = -30.7579614584129 +37000 ekin = 3.82423101226177 | erot = 4.44859396622365 | epot = -38.6538277887212 | etot = -30.3810028102358 +38000 ekin = 3.69455547696862 | erot = 4.82722829899228 | epot = -38.8348230288023 | etot = -30.3130392528414 +39000 ekin = 3.5954890965849 | erot = 5.03318978839678 | epot = -38.9632877762132 | etot = -30.3346088912316 +40000 ekin = 3.7239082672625 | erot = 4.77008246177599 | epot = -39.0432740898072 | etot = -30.5492833607687 +41000 ekin = 3.71845130286974 | erot = 4.66721188475359 | epot = -39.0678678855713 | etot = -30.6822046979479 +42000 ekin = 3.5469605515821 | erot = 4.50731751167304 | epot = -39.0616854007739 | etot = -31.0074073375187 +43000 ekin = 3.57495163768248 | erot = 4.94852093613523 | epot = -39.0169365666547 | etot = -30.493463992837 +44000 ekin = 3.52915394890506 | erot = 5.14481752350032 | epot = -38.9320102816114 | etot = -30.258038809206 +45000 ekin = 3.36103362047063 | erot = 5.30737062665206 | epot = -38.8074049309155 | etot = -30.1390006837928 +46000 ekin = 3.33204426677158 | erot = 4.63880623753679 | epot = -38.6602813061652 | etot = -30.6894308018569 +47000 ekin = 3.34546960167669 | erot = 4.072379763769 | epot = -38.5241501078281 | etot = -31.1063007423824 +48000 ekin = 3.40049787952112 | erot = 4.05251615432405 | epot = -38.3938498073687 | etot = -30.9408357735235 +49000 ekin = 3.31008896923648 | erot = 4.20737258711336 | epot = -38.2514760468933 | etot = -30.7340144905435 +50000 ekin = 3.27384446847297 | erot = 3.84861240213718 | epot = -38.0781706006623 | etot = -30.9557137300522 +51000 ekin = 3.28837845708164 | erot = 4.03176750511309 | epot = -37.9124524403703 | etot = -30.5923064781756 +52000 ekin = 3.3261261077424 | erot = 3.69449114481263 | epot = -37.7461543084426 | etot = -30.7255370558875 +53000 ekin = 3.24704253260756 | erot = 3.82351300738067 | epot = -37.5996085904181 | etot = -30.5290530504299 +54000 ekin = 3.28722266262306 | erot = 3.86366065026156 | epot = -37.4297798097104 | etot = -30.2788964968257 +55000 ekin = 3.24079189906262 | erot = 3.69908024112639 | epot = -37.2469422361789 | etot = -30.3070700959899 +56000 ekin = 3.183124569803 | erot = 3.47133297155146 | epot = -37.0860684089791 | etot = -30.4316108676246 +57000 ekin = 3.22541795737962 | erot = 3.05594699251087 | epot = -36.9568071104528 | etot = -30.6754421605623 +58000 ekin = 3.32107899021702 | erot = 2.99608132055983 | epot = -36.8451019319952 | etot = -30.5279416212183 +59000 ekin = 3.3775603338752 | erot = 3.02468556348897 | epot = -36.7527120143507 | etot = -30.3504661169865 +60000 ekin = 3.3783851820659 | erot = 2.80486585978131 | epot = -36.6500489307871 | etot = -30.4667978889399 +61000 ekin = 3.4259305825981 | erot = 2.57336693961335 | epot = -36.5598996921942 | etot = -30.5606021699827 +62000 ekin = 3.38330194206295 | erot = 2.48716523240079 | epot = -36.4917506706078 | etot = -30.6212834961441 +63000 ekin = 3.23944564751902 | erot = 2.68514269262901 | epot = -36.4581690118127 | etot = -30.5335806716646 +64000 ekin = 3.12857340842367 | erot = 2.81379000215884 | epot = -36.4694531808169 | etot = -30.5270897702344 +65000 ekin = 3.0972900172278 | erot = 2.97796742393482 | epot = -36.4999099304858 | etot = -30.4246524893232 +66000 ekin = 3.02532625214509 | erot = 2.98352661182224 | epot = -36.5477137384001 | etot = -30.5388608744328 +67000 ekin = 3.14798260660729 | erot = 3.20065089850768 | epot = -36.6320762786642 | etot = -30.2834427735492 +68000 ekin = 3.28121216444371 | erot = 3.27703862715896 | epot = -36.7797333797323 | etot = -30.2214825881296 +69000 ekin = 3.39109863872899 | erot = 3.49453676740748 | epot = -36.9477169900692 | etot = -30.0620815839328 +70000 ekin = 3.52145416968701 | erot = 3.19663795891378 | epot = -37.1459833247571 | etot = -30.4278911961563 +71000 ekin = 3.72588366820837 | erot = 3.11523594110614 | epot = -37.3394708863316 | etot = -30.4983512770171 +72000 ekin = 3.87053189634972 | erot = 3.51504753627359 | epot = -37.5837173340768 | etot = -30.1981379014535 +73000 ekin = 4.043534645073 | erot = 3.57819581965021 | epot = -37.8491002809696 | etot = -30.2273698162464 +74000 ekin = 4.21655599164747 | erot = 3.67972843708688 | epot = -38.0370200626724 | etot = -30.1407356339381 +75000 ekin = 4.2751803734558 | erot = 3.50148075250732 | epot = -38.1503543696657 | etot = -30.3736932437026 +76000 ekin = 4.39260378383777 | erot = 3.17711135808546 | epot = -38.2269779234848 | etot = -30.6572627815615 +77000 ekin = 4.46694156592454 | erot = 3.28356630286401 | epot = -38.2567512319265 | etot = -30.506243363138 +78000 ekin = 4.58031785764229 | erot = 3.27581240698066 | epot = -38.2501645622451 | etot = -30.3940342976221 +79000 ekin = 4.74132912230535 | erot = 3.40062659497661 | epot = -38.2259226034585 | etot = -30.0839668861766 +80000 ekin = 4.84478519554072 | erot = 3.56980153308286 | epot = -38.14766861013 | etot = -29.7330818815064 +81000 ekin = 4.71163727717015 | erot = 3.65201658810459 | epot = -38.0489180007765 | etot = -29.6852641355017 +82000 ekin = 4.62310894573492 | erot = 3.61128178949357 | epot = -37.9515873690417 | etot = -29.7171966338132 +83000 ekin = 4.53890753637813 | erot = 3.79707688079936 | epot = -37.8589639327863 | etot = -29.5229795156088 +84000 ekin = 4.51952558800272 | erot = 3.75897913437636 | epot = -37.8043394039473 | etot = -29.5258346815682 +85000 ekin = 4.44986224636044 | erot = 4.10169839029415 | epot = -37.7952059629819 | etot = -29.2436453263273 +86000 ekin = 4.40335859262171 | erot = 4.18303158637893 | epot = -37.840594671262 | etot = -29.2542044922614 +87000 ekin = 4.34352629789854 | erot = 4.00093225674539 | epot = -37.8981775676818 | etot = -29.5537190130379 +88000 ekin = 4.39692532206221 | erot = 3.88765396717304 | epot = -37.9120170018269 | etot = -29.6274377125917 +89000 ekin = 4.3589540780767 | erot = 4.0687705270632 | epot = -37.8812041939536 | etot = -29.4534795888137 +90000 ekin = 4.20715511673659 | erot = 3.96880041117212 | epot = -37.8268382933969 | etot = -29.6508827654882 +91000 ekin = 4.2202199323169 | erot = 4.12841045745315 | epot = -37.7475084891388 | etot = -29.3988780993687 +92000 ekin = 4.1326498688273 | erot = 3.86635436032376 | epot = -37.6428932571545 | etot = -29.6438890280035 +93000 ekin = 4.05697056146658 | erot = 3.48249980793546 | epot = -37.5034004108467 | etot = -29.9639300414447 +94000 ekin = 3.85560920909744 | erot = 3.51617278195642 | epot = -37.371684822218 | etot = -29.9999028311642 +95000 ekin = 3.7069616782419 | erot = 3.7453999268692 | epot = -37.2425364302767 | etot = -29.7901748251656 +96000 ekin = 3.64541489153227 | erot = 3.55177042583784 | epot = -37.1071295289257 | etot = -29.9099442115556 +97000 ekin = 3.59427366044239 | erot = 3.58237376190961 | epot = -36.9903312497973 | etot = -29.8136838274453 +98000 ekin = 3.36609732779817 | erot = 3.78920076230078 | epot = -36.8893462899042 | etot = -29.7340481998052 +99000 ekin = 3.24308716626432 | erot = 3.98439513504784 | epot = -36.7958275145326 | etot = -29.5683452132204 +100000 ekin = 3.10105716620438 | erot = 3.88380514198999 | epot = -36.7237148853879 | etot = -29.7388525771935 +101000 ekin = 3.05392814208233 | erot = 3.92712981026601 | epot = -36.701962452506 | etot = -29.7209045001576 +102000 ekin = 3.21793305977178 | erot = 4.11601242104532 | epot = -36.7682713932638 | etot = -29.4343259124467 +103000 ekin = 3.29518049820435 | erot = 4.13622147772539 | epot = -36.8839850328129 | etot = -29.4525830568832 +104000 ekin = 3.38349143563889 | erot = 4.1183455666037 | epot = -37.0170458924454 | etot = -29.5152088902028 +105000 ekin = 3.43063719220638 | erot = 4.19281995644327 | epot = -37.150125503217 | etot = -29.5266683545673 +106000 ekin = 3.3930587869785 | erot = 4.59139499879992 | epot = -37.2962927182996 | etot = -29.3118389325211 +107000 ekin = 3.49611625167344 | erot = 4.42190170056941 | epot = -37.4298253792172 | etot = -29.5118074269743 +108000 ekin = 3.59165643487494 | erot = 4.73333858652918 | epot = -37.482137044902 | etot = -29.1571420234978 +109000 ekin = 3.59878557010229 | erot = 5.08720641062802 | epot = -37.4454225962908 | etot = -28.7594306155605 +110000 ekin = 3.52607850054465 | erot = 4.92743402067557 | epot = -37.33464551381 | etot = -28.8811329925897 +111000 ekin = 3.52196404281882 | erot = 4.48970120472559 | epot = -37.2166378630308 | etot = -29.2049726154863 +112000 ekin = 3.64094551226758 | erot = 4.18578082474331 | epot = -37.1356107687899 | etot = -29.3088844317791 +113000 ekin = 3.59908785035488 | erot = 3.81929848767613 | epot = -37.1563156196511 | etot = -29.7379292816201 +114000 ekin = 3.73247165614552 | erot = 3.7191219132616 | epot = -37.1841072802386 | etot = -29.7325137108315 +115000 ekin = 3.81386546938849 | erot = 3.49889872890822 | epot = -37.2616543115737 | etot = -29.948890113277 +116000 ekin = 4.05829999340919 | erot = 3.58390665501405 | epot = -37.4003005682591 | etot = -29.7580939198359 +117000 ekin = 4.27550110925089 | erot = 3.79076820440125 | epot = -37.5923004712666 | etot = -29.5260311576145 +118000 ekin = 4.45490103530269 | erot = 3.77915185795812 | epot = -37.7846946186124 | etot = -29.5506417253515 +119000 ekin = 4.58790399115696 | erot = 3.86870152715706 | epot = -37.9811558924431 | etot = -29.5245503741291 +120000 ekin = 4.92259141545412 | erot = 3.84940365834982 | epot = -38.1382043293411 | etot = -29.3662092555371 +121000 ekin = 5.13183269148667 | erot = 4.03705087488496 | epot = -38.2560800244005 | etot = -29.0871964580288 +122000 ekin = 5.17140868558226 | erot = 3.61810962674133 | epot = -38.3381390234359 | etot = -29.5486207111123 +123000 ekin = 5.28384467069957 | erot = 4.14897954513993 | epot = -38.3803925391061 | etot = -28.9475683232666 +124000 ekin = 5.45144965935832 | erot = 3.74948516195925 | epot = -38.4152715166921 | etot = -29.2143366953745 +125000 ekin = 5.49907232704504 | erot = 3.62957174075197 | epot = -38.4698081948487 | etot = -29.3411641270517 +126000 ekin = 5.81275552922944 | erot = 3.50370762045612 | epot = -38.5369283444346 | etot = -29.2204651947491 +127000 ekin = 5.71810535961462 | erot = 3.50153411217264 | epot = -38.6097648991183 | etot = -29.390125427331 +128000 ekin = 5.59769610955185 | erot = 2.99726680348478 | epot = -38.6545287261786 | etot = -30.059565813142 +129000 ekin = 5.51657182067137 | erot = 3.37515224045319 | epot = -38.6909141535699 | etot = -29.7991900924454 +130000 ekin = 5.46626997343554 | erot = 3.77525421867741 | epot = -38.7059148210791 | etot = -29.4643906289662 +131000 ekin = 5.369877414402 | erot = 3.92459463488634 | epot = -38.6781199948582 | etot = -29.3836479455698 +132000 ekin = 5.13704854270014 | erot = 3.89365302265538 | epot = -38.6113331110915 | etot = -29.580631545736 +133000 ekin = 5.04851208372184 | erot = 4.17613618410306 | epot = -38.4969113589734 | etot = -29.2722630911485 +134000 ekin = 4.96335667475941 | erot = 4.28428652813741 | epot = -38.308416110038 | etot = -29.0607729071412 +135000 ekin = 4.67485522816795 | erot = 3.71485446937039 | epot = -38.0437601659662 | etot = -29.6540504684278 +136000 ekin = 4.4890629916043 | erot = 4.19015103736215 | epot = -37.7533241067258 | etot = -29.0741100777593 +137000 ekin = 4.31371561077616 | erot = 3.47925724303299 | epot = -37.4739407743081 | etot = -29.6809679204989 +138000 ekin = 3.96696543473023 | erot = 3.71675428283175 | epot = -37.2042587721437 | etot = -29.5205390545817 +139000 ekin = 3.59101315513219 | erot = 3.64278698721068 | epot = -36.9457852108051 | etot = -29.7119850684622 +140000 ekin = 3.44095423425017 | erot = 3.49830537198652 | epot = -36.7203613080872 | etot = -29.7811017018505 +141000 ekin = 3.36296546737369 | erot = 3.56983741924066 | epot = -36.4964767451357 | etot = -29.5636738585213 +142000 ekin = 3.18252441669259 | erot = 3.32935464682758 | epot = -36.3244758925308 | etot = -29.8125968290106 +143000 ekin = 3.18465930443846 | erot = 3.56170045589814 | epot = -36.2215210957505 | etot = -29.4751613354139 +144000 ekin = 3.08106725409747 | erot = 3.50261030291633 | epot = -36.1512447258049 | etot = -29.5675671687911 +145000 ekin = 3.08093776365794 | erot = 3.51948185643724 | epot = -36.0863085456317 | etot = -29.4858889255365 +146000 ekin = 3.02030159479387 | erot = 3.3739730546246 | epot = -36.0845314152703 | etot = -29.6902567658518 +147000 ekin = 3.0413907298566 | erot = 3.36603954258596 | epot = -36.1557232229402 | etot = -29.7482929504977 +148000 ekin = 3.14853067203595 | erot = 3.14562859809704 | epot = -36.2494960139439 | etot = -29.9553367438109 +149000 ekin = 3.18195150813314 | erot = 3.58071760906443 | epot = -36.3477640598882 | etot = -29.5850949426907 +150000 ekin = 3.21133048800031 | erot = 3.85389957660328 | epot = -36.4132627454733 | etot = -29.3480326808697 +151000 ekin = 3.3414410423208 | erot = 3.49391537632178 | epot = -36.47829445309 | etot = -29.6429380344474 +152000 ekin = 3.38469121090166 | erot = 3.35926284582918 | epot = -36.5578474424856 | etot = -29.8138933857547 +153000 ekin = 3.52527639525701 | erot = 3.56811727016358 | epot = -36.6674257186129 | etot = -29.5740320531923 +154000 ekin = 3.77924799771095 | erot = 3.5214579525681 | epot = -36.7622601921048 | etot = -29.4615542418258 +155000 ekin = 3.83418008764662 | erot = 3.28305394597573 | epot = -36.8282659682374 | etot = -29.7110319346151 +156000 ekin = 3.87517167307552 | erot = 2.7562101543893 | epot = -36.8507311290664 | etot = -30.2193493016016 +157000 ekin = 3.89846784481937 | erot = 3.03513966490494 | epot = -36.8490467787069 | etot = -29.9154392689826 +158000 ekin = 3.86372390524165 | erot = 3.0673314083842 | epot = -36.8143502444316 | etot = -29.8832949308058 +159000 ekin = 3.87560822586875 | erot = 2.72238394226955 | epot = -36.7720066653759 | etot = -30.1740144972376 +160000 ekin = 3.81659540649487 | erot = 2.79162883042019 | epot = -36.745609213871 | etot = -30.137384976956 +161000 ekin = 3.90364665450438 | erot = 2.85891130626961 | epot = -36.6767188031099 | etot = -29.9141608423359 +162000 ekin = 3.93432840871727 | erot = 3.23277686088047 | epot = -36.60685028113 | etot = -29.4397450115322 +163000 ekin = 3.97425577903338 | erot = 2.70754263327096 | epot = -36.5720643915924 | etot = -29.890265979288 +164000 ekin = 3.91949827572788 | erot = 3.05668804181471 | epot = -36.5812838593575 | etot = -29.6050975418149 +165000 ekin = 3.99425179561608 | erot = 3.29785069907607 | epot = -36.6379374004751 | etot = -29.345834905783 +166000 ekin = 4.02904533815474 | erot = 3.36634066781855 | epot = -36.7340868254029 | etot = -29.3387008194296 +167000 ekin = 4.03733260336922 | erot = 3.51733984448521 | epot = -36.8476519248263 | etot = -29.2929794769719 +168000 ekin = 4.01641387278262 | erot = 3.37538682559192 | epot = -36.9710980220148 | etot = -29.5792973236403 +169000 ekin = 3.94799788749928 | erot = 3.38842418926867 | epot = -37.1207420196424 | etot = -29.7843199428744 +170000 ekin = 3.98944239104452 | erot = 3.56779767670648 | epot = -37.2922600249326 | etot = -29.7350199571816 +171000 ekin = 4.04980262307219 | erot = 3.87308310464248 | epot = -37.4956434312003 | etot = -29.5727577034856 +172000 ekin = 4.10498686244998 | erot = 4.24595756362569 | epot = -37.6879527015205 | etot = -29.3370082754448 +173000 ekin = 4.12919710204796 | erot = 4.28575123018842 | epot = -37.8940672883479 | etot = -29.4791189561115 +174000 ekin = 4.04607401980617 | erot = 4.41784593637473 | epot = -38.1063274639924 | etot = -29.6424075078115 +175000 ekin = 4.13007220306847 | erot = 4.39679134693123 | epot = -38.3139522350302 | etot = -29.7870886850305 +176000 ekin = 4.14146369640392 | erot = 4.2556500250018 | epot = -38.5085743578719 | etot = -30.1114606364662 +177000 ekin = 4.33605278083781 | erot = 4.58687123058824 | epot = -38.6633454116433 | etot = -29.7404214002173 +178000 ekin = 4.32688916484258 | erot = 4.50454813785642 | epot = -38.7700089206445 | etot = -29.9385716179455 +179000 ekin = 4.39331384776139 | erot = 4.88121292734146 | epot = -38.8147888868654 | etot = -29.5402621117625 +180000 ekin = 4.36409495919737 | erot = 4.62653667682629 | epot = -38.7920356589672 | etot = -29.8014040229435 +181000 ekin = 4.40002739116585 | erot = 4.26572305349584 | epot = -38.7320900980018 | etot = -30.0663396533401 +182000 ekin = 4.38584471768771 | erot = 4.03958660380969 | epot = -38.6652721860916 | etot = -30.2398408645942 +183000 ekin = 4.38872118980224 | erot = 4.03920994265183 | epot = -38.5494953603397 | etot = -30.1215642278857 +184000 ekin = 4.58261674670921 | erot = 4.09854761999454 | epot = -38.3858248419668 | etot = -29.7046604752631 +185000 ekin = 4.61324410405521 | erot = 4.15998485211173 | epot = -38.1895073749226 | etot = -29.4162784187557 +186000 ekin = 4.58712030480558 | erot = 3.80292929559519 | epot = -37.9691363595879 | etot = -29.5790867591871 +187000 ekin = 4.49704057160045 | erot = 3.79953063209059 | epot = -37.7563677349904 | etot = -29.4597965312994 +188000 ekin = 4.67801335458777 | erot = 3.94614018085653 | epot = -37.5596730791519 | etot = -28.9355195437076 +189000 ekin = 4.7263502885126 | erot = 3.9798634268042 | epot = -37.3737961852728 | etot = -28.667582469956 +190000 ekin = 4.70422886783179 | erot = 3.76567525080944 | epot = -37.1968328742627 | etot = -28.7269287556214 +191000 ekin = 4.76615905270464 | erot = 4.11771710042017 | epot = -37.0524866708235 | etot = -28.1686105176987 +192000 ekin = 4.66334615993974 | erot = 4.32180108624847 | epot = -36.9281089002544 | etot = -27.9429616540662 +193000 ekin = 4.5422727261274 | erot = 4.37403333624765 | epot = -36.8106507982273 | etot = -27.8943447358523 +194000 ekin = 4.46258388626876 | erot = 4.57094153868298 | epot = -36.7126835627949 | etot = -27.6791581378432 +195000 ekin = 4.26009039309735 | erot = 5.10893274622639 | epot = -36.6717506302945 | etot = -27.3027274909708 +196000 ekin = 4.24016895096483 | erot = 4.95101320260763 | epot = -36.6607739952161 | etot = -27.4695918416436 +197000 ekin = 4.0755550793312 | erot = 5.33731157611758 | epot = -36.6886082622524 | etot = -27.2757416068037 +198000 ekin = 3.9809171395143 | erot = 5.37374733968369 | epot = -36.7238260637154 | etot = -27.3691615845174 +199000 ekin = 4.00067330792124 | erot = 5.3603518042305 | epot = -36.764372481588 | etot = -27.4033473694362 +200000 ekin = 3.91652525768025 | erot = 4.88675678602841 | epot = -36.7730308398536 | etot = -27.969748796145 +201000 ekin = 3.81609915882248 | erot = 4.31400854830177 | epot = -36.7481890160659 | etot = -28.6180813089416 +202000 ekin = 3.71932569397631 | erot = 4.38569878861448 | epot = -36.6956778034213 | etot = -28.5906533208305 +203000 ekin = 3.64290623072102 | erot = 4.37503789459276 | epot = -36.6304609598591 | etot = -28.6125168345453 +204000 ekin = 3.52854777039998 | erot = 4.29732321046279 | epot = -36.5744389849194 | etot = -28.7485680040566 +205000 ekin = 3.4768831982614 | erot = 4.0520539676819 | epot = -36.5314565547125 | etot = -29.0025193887692 +206000 ekin = 3.57867350058535 | erot = 4.28681914674893 | epot = -36.5152410045854 | etot = -28.6497483572511 +207000 ekin = 3.67789472949151 | erot = 4.07649115773262 | epot = -36.4807964879222 | etot = -28.7264106006981 +208000 ekin = 3.75162300302661 | erot = 3.99412890438543 | epot = -36.4719013777701 | etot = -28.7261494703581 +209000 ekin = 3.82882555477005 | erot = 4.07806686544371 | epot = -36.5274965379161 | etot = -28.6206041177023 +210000 ekin = 3.94589957381378 | erot = 4.05524037388615 | epot = -36.6356567037895 | etot = -28.6345167560895 +211000 ekin = 4.07654365300279 | erot = 3.99406586158679 | epot = -36.7715123193752 | etot = -28.7009028047856 +212000 ekin = 4.2840931333187 | erot = 4.41351434873049 | epot = -36.9240266223073 | etot = -28.2264191402581 +213000 ekin = 4.49200123946036 | erot = 4.57752549048046 | epot = -37.0744914076603 | etot = -28.0049646777194 +214000 ekin = 4.68170470060604 | erot = 4.83486386570169 | epot = -37.2372407583261 | etot = -27.7206721920184 +215000 ekin = 4.98081379617958 | erot = 4.46606343482534 | epot = -37.4068324828889 | etot = -27.959955251884 +216000 ekin = 5.16729766417706 | erot = 4.60318830168444 | epot = -37.5464555705166 | etot = -27.7759696046551 +217000 ekin = 5.38386929678608 | erot = 4.7775249437354 | epot = -37.6405601527452 | etot = -27.4791659122238 +218000 ekin = 5.7058164504659 | erot = 4.70370884810713 | epot = -37.6984019699825 | etot = -27.2888766714095 +219000 ekin = 5.88600523163654 | erot = 4.58694924042796 | epot = -37.7125786046508 | etot = -27.2396241325863 +220000 ekin = 6.15427965489048 | erot = 4.4293131697244 | epot = -37.684602076139 | etot = -27.1010092515241 +221000 ekin = 6.20955938016028 | erot = 4.5400172518757 | epot = -37.6213945439902 | etot = -26.8718179119542 +222000 ekin = 6.245684726226 | erot = 4.97311797105747 | epot = -37.5132484834202 | etot = -26.2944457861367 +223000 ekin = 6.23087495739563 | erot = 4.87026240860726 | epot = -37.4093126450279 | etot = -26.308175279025 +224000 ekin = 6.34215727178204 | erot = 4.95416073100327 | epot = -37.3138628835634 | etot = -26.0175448807781 +225000 ekin = 6.34418551658382 | erot = 4.97197547495996 | epot = -37.2296241301022 | etot = -25.9134631385584 +226000 ekin = 6.27234146176852 | erot = 4.71232076169797 | epot = -37.1649091144301 | etot = -26.1802468909636 +227000 ekin = 6.2978205054749 | erot = 4.6427999636898 | epot = -37.1521034204924 | etot = -26.2114829513277 +228000 ekin = 6.45215375342435 | erot = 4.66543105642573 | epot = -37.1176036705896 | etot = -26.0000188607395 +229000 ekin = 6.57609932445515 | erot = 4.31104294387344 | epot = -37.0319087568372 | etot = -26.1447664885086 +230000 ekin = 6.39415967649336 | erot = 4.16613500609569 | epot = -36.9020701489008 | etot = -26.3417754663118 +231000 ekin = 6.06981997767599 | erot = 4.16164382029996 | epot = -36.7672531588273 | etot = -26.5357893608513 +232000 ekin = 6.07851417086657 | erot = 3.9261416963498 | epot = -36.6287349588698 | etot = -26.6240790916534 +233000 ekin = 5.86578448983439 | erot = 3.89415959164456 | epot = -36.4650343354141 | etot = -26.7050902539352 +234000 ekin = 5.66525736866315 | erot = 3.89419060194094 | epot = -36.3317105619271 | etot = -26.772262591323 +235000 ekin = 5.45947253618461 | erot = 3.51915643493529 | epot = -36.187740376365 | etot = -27.2091114052451 +236000 ekin = 5.23839596197821 | erot = 3.35080370425694 | epot = -36.0601413821494 | etot = -27.4709417159143 +237000 ekin = 5.1101503869311 | erot = 3.41418634041018 | epot = -35.9797234474537 | etot = -27.4553867201124 +238000 ekin = 5.07705507560338 | erot = 3.55422258848856 | epot = -35.9558941013151 | etot = -27.3246164372232 +239000 ekin = 5.11036683512679 | erot = 3.60903830571299 | epot = -35.9686036709473 | etot = -27.2491985301075 +240000 ekin = 5.05273101840571 | erot = 3.85355249273444 | epot = -36.0380166955235 | etot = -27.1317331843833 +241000 ekin = 5.09369536459432 | erot = 3.64338000437258 | epot = -36.1343234897528 | etot = -27.3972481207859 +242000 ekin = 5.26488817621371 | erot = 4.01055195692819 | epot = -36.2412063129132 | etot = -26.9657661797713 +243000 ekin = 5.23195261673081 | erot = 4.46546566729792 | epot = -36.3456054296423 | etot = -26.6481871456136 +244000 ekin = 5.2263873943456 | erot = 4.31088904489877 | epot = -36.4415840114132 | etot = -26.9043075721688 +245000 ekin = 5.4485313703965 | erot = 4.1760797727831 | epot = -36.5182986507186 | etot = -26.893687507539 +246000 ekin = 5.514569703999 | erot = 3.74595442038546 | epot = -36.5760003166759 | etot = -27.3154761922915 +247000 ekin = 5.60809096900033 | erot = 4.1530771765417 | epot = -36.6102851986095 | etot = -26.8491170530675 +248000 ekin = 5.44607700345191 | erot = 4.00137483235474 | epot = -36.6173189081378 | etot = -27.1698670723311 +249000 ekin = 5.39824066997525 | erot = 4.00527284085329 | epot = -36.6178595818605 | etot = -27.214346071032 +250000 ekin = 5.40591864200742 | erot = 3.83152692098416 | epot = -36.5913298844141 | etot = -27.3538843214225 +251000 ekin = 5.42515843147862 | erot = 3.74120297831913 | epot = -36.5372880481642 | etot = -27.3709266383664 +252000 ekin = 5.47125756589202 | erot = 3.93923600749381 | epot = -36.471810314552 | etot = -27.0613167411661 +253000 ekin = 5.45280164405867 | erot = 4.07788577485892 | epot = -36.3971958399348 | etot = -26.8665084210172 +254000 ekin = 5.3513601049315 | erot = 4.05065697891602 | epot = -36.3208515747322 | etot = -26.9188344908847 +255000 ekin = 5.26929844479146 | erot = 3.99546469631083 | epot = -36.2503502909161 | etot = -26.9855871498138 +256000 ekin = 5.28023678974977 | erot = 4.22040986008186 | epot = -36.1946445254543 | etot = -26.6939978756227 +257000 ekin = 5.06048081748216 | erot = 4.23177072888008 | epot = -36.1310700373968 | etot = -26.8388184910345 +258000 ekin = 5.04266904507247 | erot = 4.32321520328045 | epot = -36.0647093578741 | etot = -26.6988251095212 +259000 ekin = 4.83091830266297 | erot = 4.34656742782648 | epot = -36.0089991272053 | etot = -26.8315133967159 +260000 ekin = 4.8366999116753 | erot = 4.25709648660373 | epot = -35.9697036974581 | etot = -26.8759072991791 +261000 ekin = 4.77396719262911 | erot = 4.09292214976309 | epot = -35.9054139064698 | etot = -27.0385245640776 +262000 ekin = 4.66601270858316 | erot = 3.73102576614686 | epot = -35.8157479345083 | etot = -27.4187094597782 +263000 ekin = 4.5802706196014 | erot = 3.74679758350907 | epot = -35.763125473781 | etot = -27.4360572706705 +264000 ekin = 4.65921569864806 | erot = 3.90501973344001 | epot = -35.7356757776833 | etot = -27.1714403455952 +265000 ekin = 4.67586149937246 | erot = 3.94654925905539 | epot = -35.7049387943745 | etot = -27.0825280359466 +266000 ekin = 4.69584694538507 | erot = 3.98055672084537 | epot = -35.6673176149256 | etot = -26.9909139486952 +267000 ekin = 4.78499421532903 | erot = 4.03648169158355 | epot = -35.6392507408887 | etot = -26.8177748339762 +268000 ekin = 4.84316914009027 | erot = 3.99860778002458 | epot = -35.6448334716846 | etot = -26.8030565515698 +269000 ekin = 4.90837806472302 | erot = 4.04652570535924 | epot = -35.649642070165 | etot = -26.6947383000828 +270000 ekin = 4.78579400655265 | erot = 4.34179455226949 | epot = -35.6115561484003 | etot = -26.4839675895782 +271000 ekin = 4.85153732395756 | erot = 3.76641259729531 | epot = -35.6137753066569 | etot = -26.9958253854041 +272000 ekin = 4.97803664593748 | erot = 4.19853764559909 | epot = -35.6642256780782 | etot = -26.4876513865416 +273000 ekin = 4.99431287425834 | erot = 4.16775756950281 | epot = -35.7125500141222 | etot = -26.550479570361 +274000 ekin = 5.02755533075287 | erot = 4.06015777810463 | epot = -35.7335253506929 | etot = -26.6458122418354 +275000 ekin = 4.96372481963251 | erot = 4.27522667590908 | epot = -35.7375976828855 | etot = -26.4986461873439 +276000 ekin = 5.07934127118672 | erot = 4.03884457577096 | epot = -35.7684807851678 | etot = -26.6502949382101 +277000 ekin = 5.11065676525152 | erot = 3.89593355388432 | epot = -35.8299825238661 | etot = -26.8233922047303 +278000 ekin = 5.1443449346496 | erot = 4.10431801630134 | epot = -35.9156424264972 | etot = -26.6669794755462 +279000 ekin = 5.13854043459778 | erot = 3.33687958464079 | epot = -35.956728093981 | etot = -27.4813080747424 +280000 ekin = 5.13698711985589 | erot = 3.1321095347808 | epot = -35.9663254349012 | etot = -27.6972287802645 +281000 ekin = 5.12014323326413 | erot = 3.01072130069925 | epot = -35.9687821467587 | etot = -27.8379176127953 +282000 ekin = 5.07487298196239 | erot = 2.78222371236679 | epot = -35.9666224009215 | etot = -28.1095257065923 +283000 ekin = 4.93728532174466 | erot = 2.51682526487924 | epot = -36.0092096947436 | etot = -28.5550991081197 +284000 ekin = 5.10799487537405 | erot = 2.3440616424374 | epot = -36.0766867016227 | etot = -28.6246301838113 +285000 ekin = 5.21438921803052 | erot = 2.42355410917329 | epot = -36.1686025783616 | etot = -28.5306592511578 +286000 ekin = 5.22674428893651 | erot = 2.43127546535983 | epot = -36.2811716154221 | etot = -28.6231518611258 +287000 ekin = 5.42842235635998 | erot = 2.80110266939557 | epot = -36.3926299688273 | etot = -28.1631049430717 +288000 ekin = 5.53841609379908 | erot = 3.04198571498586 | epot = -36.5118610231699 | etot = -27.9314592143849 +289000 ekin = 5.34670403011154 | erot = 3.09938875481729 | epot = -36.6304827875401 | etot = -28.1843900026112 +290000 ekin = 5.34231674745526 | erot = 3.31160144161424 | epot = -36.7456392368764 | etot = -28.0917210478069 +291000 ekin = 5.36188526202275 | erot = 3.45917476353447 | epot = -36.830253723617 | etot = -28.0091936980598 +292000 ekin = 5.47780509141236 | erot = 3.77906726321862 | epot = -36.8842491471661 | etot = -27.6273767925352 +293000 ekin = 5.28302000096918 | erot = 3.57818629599089 | epot = -36.8949841799428 | etot = -28.0337778829827 +294000 ekin = 5.30853543438887 | erot = 3.56263204697633 | epot = -36.882573669786 | etot = -28.0114061884208 +295000 ekin = 5.20536069491219 | erot = 3.77206495855704 | epot = -36.8703913967999 | etot = -27.8929657433306 +296000 ekin = 5.16948391824644 | erot = 3.64242202500146 | epot = -36.8524591521913 | etot = -28.0405532089434 +297000 ekin = 5.1494869829345 | erot = 3.56300071318446 | epot = -36.8077681088429 | etot = -28.0952804127239 +298000 ekin = 5.07831718808035 | erot = 3.56647326916626 | epot = -36.744195155603 | etot = -28.0994046983564 +299000 ekin = 5.07638833142117 | erot = 3.33911289208767 | epot = -36.7050879472256 | etot = -28.2895867237168 +300000 ekin = 5.03413727775456 | erot = 3.74853034027389 | epot = -36.6636621891816 | etot = -27.8809945711531 +301000 ekin = 4.97235848835814 | erot = 3.32835758650091 | epot = -36.6711630757892 | etot = -28.3704470009301 +302000 ekin = 5.00968958710056 | erot = 3.04854259478488 | epot = -36.7093256921451 | etot = -28.6510935102597 +303000 ekin = 5.1292911047111 | erot = 3.0802372254873 | epot = -36.795184172806 | etot = -28.5856558426076 +304000 ekin = 5.16690416140478 | erot = 3.34049274709003 | epot = -36.9126194047394 | etot = -28.4052224962446 +305000 ekin = 5.23349789631498 | erot = 3.46551744359711 | epot = -37.0448370009157 | etot = -28.3458216610036 +306000 ekin = 5.28860974527375 | erot = 3.56105103024499 | epot = -37.1811985422458 | etot = -28.331537766727 +307000 ekin = 5.40125295123197 | erot = 3.87520415097952 | epot = -37.305532344159 | etot = -28.0290752419475 +308000 ekin = 5.46740727789042 | erot = 3.91865002312578 | epot = -37.3892778155261 | etot = -28.0032205145099 +309000 ekin = 5.43990046762827 | erot = 4.00265425349897 | epot = -37.4336308324244 | etot = -27.9910761112972 +310000 ekin = 5.38744019614258 | erot = 3.91760045067575 | epot = -37.4766997166651 | etot = -28.1716590698468 +311000 ekin = 5.54869794564892 | erot = 3.97913763348738 | epot = -37.5380640420292 | etot = -28.0102284628929 +312000 ekin = 5.71519006739901 | erot = 4.09263126769853 | epot = -37.5745318459447 | etot = -27.7667105108472 +313000 ekin = 5.6033160766113 | erot = 3.83543196463871 | epot = -37.6101139619699 | etot = -28.1713659207199 +314000 ekin = 5.51800417081449 | erot = 3.7494474523441 | epot = -37.6279066647947 | etot = -28.3604550416361 +315000 ekin = 5.47833005901023 | erot = 4.08581993263846 | epot = -37.640612435341 | etot = -28.0764624436923 +316000 ekin = 5.33860837296314 | erot = 4.51116644302074 | epot = -37.6217312448188 | etot = -27.7719564288349 +317000 ekin = 5.23941916557637 | erot = 4.78689518832666 | epot = -37.5731600528526 | etot = -27.5468456989496 +318000 ekin = 5.11187775633096 | erot = 4.82958812680045 | epot = -37.5155006216097 | etot = -27.5740347384783 +319000 ekin = 5.22954347525673 | erot = 4.49457407004902 | epot = -37.4371163833057 | etot = -27.7129988379999 +320000 ekin = 5.30878948863381 | erot = 4.92186054084637 | epot = -37.3586788029377 | etot = -27.1280287734575 +321000 ekin = 5.25051542685381 | erot = 4.81963950413314 | epot = -37.312294527991 | etot = -27.242139597004 +322000 ekin = 5.07574443571145 | erot = 4.74007360204254 | epot = -37.2420599117425 | etot = -27.4262418739885 +323000 ekin = 5.02653253509398 | erot = 4.66604787555051 | epot = -37.1620424354781 | etot = -27.4694620248336 +324000 ekin = 5.12999279273078 | erot = 4.55456244400836 | epot = -37.1081993843437 | etot = -27.4236441476046 +325000 ekin = 5.01484863365284 | erot = 5.03270116093522 | epot = -37.0549970668846 | etot = -27.0074472722965 +326000 ekin = 5.15105125743379 | erot = 4.77726330645663 | epot = -37.0062804471441 | etot = -27.0779658832536 +327000 ekin = 5.17373663939365 | erot = 4.75720955177068 | epot = -36.9735735310227 | etot = -27.0426273398583 +328000 ekin = 5.3265809986393 | erot = 4.45847251670642 | epot = -36.9463177254327 | etot = -27.161264210087 +329000 ekin = 5.28491385975242 | erot = 4.2365002087062 | epot = -36.9151642788529 | etot = -27.3937502103943 +330000 ekin = 5.12552135481241 | erot = 4.79027984581669 | epot = -36.8863179466156 | etot = -26.9705167459865 +331000 ekin = 5.12103290586646 | erot = 5.03778117543897 | epot = -36.8413630474537 | etot = -26.6825489661482 +332000 ekin = 5.06929714597599 | erot = 4.90820597157558 | epot = -36.7488012231943 | etot = -26.7712981056427 +333000 ekin = 4.96505468499544 | erot = 5.01335794632771 | epot = -36.6271163009906 | etot = -26.6487036696675 +334000 ekin = 4.99343125906637 | erot = 5.01439694959174 | epot = -36.5036049758879 | etot = -26.4957767672298 +335000 ekin = 4.90069371729849 | erot = 4.54385275511644 | epot = -36.377759964637 | etot = -26.9332134922221 +336000 ekin = 5.07863725672843 | erot = 4.69305135725114 | epot = -36.2629152842743 | etot = -26.4912266702948 +337000 ekin = 4.94799955754099 | erot = 4.52583833193054 | epot = -36.1612360033446 | etot = -26.6873981138731 +338000 ekin = 4.85224868200247 | erot = 4.50041298245536 | epot = -36.0752991866368 | etot = -26.7226375221789 +339000 ekin = 4.72144640536392 | erot = 4.54752039051201 | epot = -35.9970632546959 | etot = -26.7280964588199 +340000 ekin = 4.80943098922142 | erot = 4.34708343509477 | epot = -35.9687361528339 | etot = -26.8122217285177 +341000 ekin = 4.70361214653912 | erot = 4.47793300498467 | epot = -35.9999322617892 | etot = -26.8183871102654 +342000 ekin = 4.760647614817 | erot = 4.66605256976235 | epot = -36.043378412271 | etot = -26.6166782276917 +343000 ekin = 4.67728032528815 | erot = 4.66100839176406 | epot = -35.9211632159817 | etot = -26.5828744989295 +344000 ekin = 4.96339724601292 | erot = 4.93823124551203 | epot = -36.221225061482 | etot = -26.3195965699571 +345000 ekin = 4.92216540601213 | erot = 5.1046016577438 | epot = -36.3841924486031 | etot = -26.3574253848472 +346000 ekin = 4.99792813974919 | erot = 4.77882820289924 | epot = -36.4406602112532 | etot = -26.6639038686048 +347000 ekin = 4.97738387739169 | erot = 4.57238123569558 | epot = -36.4353446283207 | etot = -26.8855795152334 +348000 ekin = 4.92451917191373 | erot = 4.32330547944782 | epot = -36.3741726686484 | etot = -27.1263480172868 +349000 ekin = 4.79018344488603 | erot = 4.64955099606439 | epot = -36.223205179622 | etot = -26.7834707386715 +350000 ekin = 4.74997485376182 | erot = 4.41441619332993 | epot = -36.0086530481282 | etot = -26.8442620010365 +351000 ekin = 4.65861306362181 | erot = 4.54712008187925 | epot = -35.7312651155864 | etot = -26.5255319700854 +352000 ekin = 4.64876538273227 | erot = 4.76138349321479 | epot = -35.450636936112 | etot = -26.0404880601649 +353000 ekin = 4.59253342081085 | erot = 4.29456686626191 | epot = -35.1553683981329 | etot = -26.2682681110601 +354000 ekin = 4.5381016314927 | erot = 4.43945254667789 | epot = -34.9111484982536 | etot = -25.933594320083 +355000 ekin = 4.47391617267677 | erot = 4.20275229581173 | epot = -34.7382448152821 | etot = -26.0615763467936 +356000 ekin = 4.33084740359937 | erot = 4.16589789857719 | epot = -34.645946257664 | etot = -26.1492009554875 +357000 ekin = 4.27639689643637 | erot = 4.49834201135572 | epot = -34.623409347858 | etot = -25.848670440066 +358000 ekin = 4.37058163127658 | erot = 4.62827517810171 | epot = -34.660122927085 | etot = -25.6612661177067 +359000 ekin = 4.33282658147941 | erot = 4.3585277169614 | epot = -34.7355034140379 | etot = -26.0441491155971 +360000 ekin = 4.2302574599471 | erot = 3.73692187296606 | epot = -34.8272714416459 | etot = -26.8600921087327 +361000 ekin = 4.32772510308598 | erot = 3.40799158120822 | epot = -34.9260321184263 | etot = -27.1903154341322 +362000 ekin = 4.43772207587162 | erot = 3.9282425665155 | epot = -35.0362517129443 | etot = -26.6702870705572 +363000 ekin = 4.60059512711759 | erot = 3.7852782080073 | epot = -35.1492303885082 | etot = -26.7633570533833 +364000 ekin = 4.67620778921833 | erot = 3.65656363115961 | epot = -35.2108467629343 | etot = -26.8780753425564 +365000 ekin = 4.68744796027403 | erot = 3.48647035761076 | epot = -35.2579291425392 | etot = -27.0840108246544 +366000 ekin = 4.63171694657446 | erot = 3.80732263161716 | epot = -35.3317328424945 | etot = -26.8926932643029 +367000 ekin = 4.58794520776148 | erot = 4.31664541166342 | epot = -35.411407687399 | etot = -26.5068170679741 +368000 ekin = 4.53697760644357 | erot = 4.37812449310863 | epot = -35.4654560531489 | etot = -26.5503539535967 +369000 ekin = 4.50593348762471 | erot = 4.09682529638636 | epot = -35.502904475486 | etot = -26.9001456914749 +370000 ekin = 4.51011536275126 | erot = 4.41695795738184 | epot = -35.5220659543718 | etot = -26.5949926342387 +371000 ekin = 4.53049860135433 | erot = 4.68112317413008 | epot = -35.5213297387008 | etot = -26.3097079632164 +372000 ekin = 4.42660066351885 | erot = 4.78148611859358 | epot = -35.5227844835439 | etot = -26.3146977014315 +373000 ekin = 4.28146792836402 | erot = 4.87997662616423 | epot = -35.4825501780567 | etot = -26.3211056235285 +374000 ekin = 4.13287464156697 | erot = 4.84001159820239 | epot = -35.4523011025149 | etot = -26.4794148627455 +375000 ekin = 4.1254545194713 | erot = 4.8180743382467 | epot = -35.4637375699461 | etot = -26.5202087122281 +376000 ekin = 3.87506271806603 | erot = 5.35141111797724 | epot = -35.4720072259952 | etot = -26.2455333899519 +377000 ekin = 3.7977056590801 | erot = 5.28013401771242 | epot = -35.5177354201969 | etot = -26.4398957434044 +378000 ekin = 3.64048261255653 | erot = 5.42072423796152 | epot = -35.5808236384767 | etot = -26.5196167879587 +379000 ekin = 3.52386111576647 | erot = 5.97567004606738 | epot = -35.6532146067625 | etot = -26.1536834449286 +380000 ekin = 3.32387900413189 | erot = 6.59135162244889 | epot = -35.7551331169142 | etot = -25.8399024903334 +381000 ekin = 3.31695717077463 | erot = 6.10983514346576 | epot = -35.8815158952862 | etot = -26.4547235810458 +382000 ekin = 3.19546651526133 | erot = 6.36489840256999 | epot = -35.9926058393689 | etot = -26.4322409215376 +383000 ekin = 3.24368169764623 | erot = 6.33114976953635 | epot = -36.0664601033037 | etot = -26.4916286361211 +384000 ekin = 3.20726412806439 | erot = 6.19392941274155 | epot = -36.13258109202 | etot = -26.7313875512141 +385000 ekin = 3.23885859839814 | erot = 6.31552666314694 | epot = -36.1503271354803 | etot = -26.5959418739352 +386000 ekin = 3.16874411708083 | erot = 5.94413881699879 | epot = -36.1310192334958 | etot = -27.0181362994162 +387000 ekin = 3.1549970524927 | erot = 5.48308596050834 | epot = -36.0714221491829 | etot = -27.4333391361819 +388000 ekin = 3.24907989403076 | erot = 5.58200944567837 | epot = -35.9925882356966 | etot = -27.1614988959874 +389000 ekin = 3.39871525437769 | erot = 5.14342534967113 | epot = -35.9262739307719 | etot = -27.384133326723 +390000 ekin = 3.53157771561222 | erot = 5.0660110699086 | epot = -35.908983793516 | etot = -27.3113950079952 +391000 ekin = 3.64602168736988 | erot = 4.88661504875141 | epot = -35.885482230409 | etot = -27.3528454942877 +392000 ekin = 3.79325143536366 | erot = 5.07292816992986 | epot = -35.8524207546015 | etot = -26.986241149308 +393000 ekin = 3.89148460233114 | erot = 5.02930522203665 | epot = -35.795122258631 | etot = -26.8743324342632 +394000 ekin = 3.96458882833181 | erot = 4.47630346760488 | epot = -35.7247928997471 | etot = -27.2839006038104 +395000 ekin = 4.03856036181308 | erot = 4.53784941780792 | epot = -35.6586367417738 | etot = -27.0822269621528 +396000 ekin = 3.99683646706711 | erot = 4.49727898211262 | epot = -35.5718421340357 | etot = -27.077726684856 +397000 ekin = 4.03872005304138 | erot = 4.03153022392527 | epot = -35.5101946272741 | etot = -27.4399443503075 +398000 ekin = 4.01516330520003 | erot = 4.23226303701241 | epot = -35.4578715559685 | etot = -27.2104452137561 +399000 ekin = 4.01922616565289 | erot = 3.71642260619024 | epot = -35.3548490578807 | etot = -27.6192002860376 +400000 ekin = 4.17225085372102 | erot = 4.04093039429602 | epot = -35.2265510847563 | etot = -27.0133698367392 +401000 ekin = 4.1531499643259 | erot = 3.64804961209453 | epot = -35.0943512868027 | etot = -27.2931517103823 +402000 ekin = 4.20245298417996 | erot = 3.70137380667448 | epot = -34.9745627237163 | etot = -27.0707359328619 +403000 ekin = 4.34132456228991 | erot = 3.62891618665791 | epot = -34.8718657472304 | etot = -26.9016249982826 +404000 ekin = 4.42465890243367 | erot = 3.38938035287143 | epot = -34.7967250831428 | etot = -26.9826858278377 +405000 ekin = 4.60663041953486 | erot = 3.44054758174463 | epot = -34.7925257887161 | etot = -26.7453477874366 +406000 ekin = 4.73346375173126 | erot = 3.27915256113194 | epot = -34.8343083282573 | etot = -26.8216920153941 +407000 ekin = 4.82559135473415 | erot = 3.35253133282322 | epot = -34.9059066553788 | etot = -26.7277839678214 +408000 ekin = 4.89298564336964 | erot = 3.47339817729183 | epot = -34.9848536782083 | etot = -26.6184698575468 +409000 ekin = 4.94069048180851 | erot = 3.76649967413607 | epot = -35.0728065521172 | etot = -26.3656163961726 +410000 ekin = 5.0837627829781 | erot = 3.48855890171053 | epot = -35.187607935011 | etot = -26.6152862503224 +411000 ekin = 5.10492342399056 | erot = 3.39152717909369 | epot = -35.2939784996981 | etot = -26.7975278966138 +412000 ekin = 5.2111592148929 | erot = 3.62435455589215 | epot = -35.3853247581651 | etot = -26.54981098738 +413000 ekin = 5.25687541732572 | erot = 3.76308251202569 | epot = -35.4593584594661 | etot = -26.4394005301146 +414000 ekin = 5.1324847249699 | erot = 3.31025282824723 | epot = -35.5393093363061 | etot = -27.0965717830889 +415000 ekin = 5.09217261574528 | erot = 3.59401320391361 | epot = -35.6051617924017 | etot = -26.9189759727428 +416000 ekin = 5.04807348985225 | erot = 3.48392073248423 | epot = -35.6748296719198 | etot = -27.1428354495833 +417000 ekin = 4.99138526936748 | erot = 3.46255923404135 | epot = -35.7531502554471 | etot = -27.2992057520383 +418000 ekin = 5.08999508315138 | erot = 3.44390708246943 | epot = -35.8333696081094 | etot = -27.2994674424886 +419000 ekin = 5.21842750435985 | erot = 3.38325168590963 | epot = -35.8593643490784 | etot = -27.2576851588089 +420000 ekin = 5.28947719533168 | erot = 3.50797044377656 | epot = -35.8848039905133 | etot = -27.0873563514051 +421000 ekin = 5.35268927232197 | erot = 3.36603650801233 | epot = -35.8749221051677 | etot = -27.1561963248334 +422000 ekin = 5.23695191026875 | erot = 3.5384192070691 | epot = -35.889640869454 | etot = -27.1142697521161 +423000 ekin = 5.09577504756812 | erot = 3.67923583037239 | epot = -35.9137595336543 | etot = -27.1387486557138 +424000 ekin = 5.01335188113047 | erot = 3.70110718137013 | epot = -35.9185617531989 | etot = -27.2041026906983 +425000 ekin = 5.05206155589306 | erot = 3.57652002072429 | epot = -35.9081181462489 | etot = -27.2795365696316 +426000 ekin = 4.96532396129214 | erot = 3.38938274590534 | epot = -35.8769982527922 | etot = -27.5222915455948 +427000 ekin = 4.77195218714309 | erot = 3.50252627514185 | epot = -35.7935414010628 | etot = -27.5190629387779 +428000 ekin = 4.81068646615448 | erot = 3.51825958765431 | epot = -35.6664317412178 | etot = -27.337485687409 +429000 ekin = 4.73870321335492 | erot = 3.84986931063852 | epot = -35.48737645591 | etot = -26.8988039319166 +430000 ekin = 4.60213714825158 | erot = 3.45284870606443 | epot = -35.3073410925574 | etot = -27.2523552382414 +431000 ekin = 4.57358006593925 | erot = 3.25422348182535 | epot = -35.1367594918962 | etot = -27.3089559441316 +432000 ekin = 4.5072400368044 | erot = 3.29998192315337 | epot = -35.0290425710883 | etot = -27.2218206111306 +433000 ekin = 4.30860495703181 | erot = 3.42741416873389 | epot = -34.9513402987262 | etot = -27.2153211729605 +434000 ekin = 4.18610269286835 | erot = 3.55059973000668 | epot = -34.9144648758603 | etot = -27.1777624529852 +435000 ekin = 4.12003359590273 | erot = 3.78033374370969 | epot = -34.8780591099565 | etot = -26.9776917703441 +436000 ekin = 3.97313974106111 | erot = 4.05117020636312 | epot = -34.8427841720093 | etot = -26.8184742245851 +437000 ekin = 3.88596008320741 | erot = 4.32902730056047 | epot = -34.8121331683379 | etot = -26.59714578457 +438000 ekin = 4.0300322104638 | erot = 4.35508047283467 | epot = -34.7917492531093 | etot = -26.4066365698108 +439000 ekin = 4.04655148511089 | erot = 4.17322604141044 | epot = -34.7786348227552 | etot = -26.5588572962338 +440000 ekin = 4.02801522674428 | erot = 4.13470601724877 | epot = -34.783993085415 | etot = -26.621271841422 +441000 ekin = 3.9407814794189 | erot = 4.22144190117305 | epot = -34.8185771480924 | etot = -26.6563537675004 +442000 ekin = 3.97730990695624 | erot = 4.24233406975314 | epot = -34.8718962191131 | etot = -26.6522522424037 +443000 ekin = 3.98508138243203 | erot = 4.16122580291752 | epot = -34.9266782585657 | etot = -26.7803710732162 +444000 ekin = 4.00042709081881 | erot = 4.50741850480051 | epot = -34.9630696153483 | etot = -26.455224019729 +445000 ekin = 4.02620459576009 | erot = 4.64580325300967 | epot = -34.9893039643633 | etot = -26.3172961155935 +446000 ekin = 4.01454608720561 | erot = 4.89747165518573 | epot = -34.9969089036747 | etot = -26.0848911612834 +447000 ekin = 3.9634269487331 | erot = 4.85867800390581 | epot = -34.9830933662453 | etot = -26.1609884136064 +448000 ekin = 3.74592315828131 | erot = 5.17578433357899 | epot = -34.9638816619607 | etot = -26.0421741701004 +449000 ekin = 3.73316291077397 | erot = 5.18498661281911 | epot = -34.928043894125 | etot = -26.0098943705319 +450000 ekin = 3.85313039093471 | erot = 4.86926583888851 | epot = -34.871696979835 | etot = -26.1493007500118 +451000 ekin = 4.0635928053116 | erot = 4.99817049859077 | epot = -34.8377147695102 | etot = -25.7759514656078 +452000 ekin = 4.12215980217323 | erot = 4.58488292412152 | epot = -34.8398353293668 | etot = -26.132792603072 +453000 ekin = 4.16332842884585 | erot = 4.32671008371169 | epot = -34.8570499988891 | etot = -26.3670114863315 +454000 ekin = 4.11754892618458 | erot = 4.47415692336241 | epot = -34.8913194738516 | etot = -26.2996136243046 +455000 ekin = 4.22185774995392 | erot = 4.65517828169302 | epot = -34.9334347985056 | etot = -26.0563987668587 +456000 ekin = 4.30177202276186 | erot = 4.77747798616555 | epot = -35.0188770940117 | etot = -25.9396270850843 +457000 ekin = 4.26451460758692 | erot = 4.69009499467403 | epot = -35.1021143238335 | etot = -26.1475047215725 +458000 ekin = 4.31289289804826 | erot = 4.48148846421096 | epot = -35.1135359976452 | etot = -26.319154635386 +459000 ekin = 4.40924309472913 | erot = 4.70052929057904 | epot = -35.3709113999322 | etot = -26.261139014624 +460000 ekin = 4.47691183250362 | erot = 4.50574141189091 | epot = -35.566195356935 | etot = -26.5835421125405 +461000 ekin = 4.43873436995047 | erot = 4.99077626254052 | epot = -35.6310455171601 | etot = -26.2015348846691 +462000 ekin = 4.38932525316334 | erot = 4.94989100042744 | epot = -35.7174404682251 | etot = -26.3782242146343 +463000 ekin = 4.36115268480756 | erot = 5.66229263914062 | epot = -35.7828736923833 | etot = -25.7594283684351 +464000 ekin = 4.32411863133059 | erot = 5.21874712373015 | epot = -35.831817418358 | etot = -26.2889516632972 +465000 ekin = 4.25283049437785 | erot = 4.89311928407883 | epot = -35.8307748329822 | etot = -26.6848250545255 +466000 ekin = 3.97961054012127 | erot = 4.30523919521546 | epot = -35.8019205162795 | etot = -27.5170707809428 +467000 ekin = 3.96957942645049 | erot = 4.02414635207156 | epot = -35.7935881476328 | etot = -27.7998623691107 +468000 ekin = 3.81067149059023 | erot = 3.91311573890038 | epot = -35.8192046044613 | etot = -28.0954173749707 +469000 ekin = 3.82956653035844 | erot = 3.76358708523021 | epot = -35.8554657317423 | etot = -28.2623121161536 +470000 ekin = 3.84315155222981 | erot = 3.46319185355953 | epot = -35.9283028420635 | etot = -28.6219594362741 +471000 ekin = 3.84189885920186 | erot = 3.51787257644774 | epot = -36.0370536568174 | etot = -28.6772822211678 +472000 ekin = 3.86861114122289 | erot = 3.36458500068021 | epot = -36.136832298983 | etot = -28.9036361570799 +473000 ekin = 3.73700168734163 | erot = 3.58329228877658 | epot = -36.2233655143198 | etot = -28.9030715382016 +474000 ekin = 3.82928273613466 | erot = 3.70070391401449 | epot = -36.2919855352817 | etot = -28.7619988851326 +475000 ekin = 3.89544030959981 | erot = 3.76401640046676 | epot = -36.368430738898 | etot = -28.7089740288314 +476000 ekin = 4.08932767113311 | erot = 3.7090790175484 | epot = -36.4684310716285 | etot = -28.670024382947 +477000 ekin = 4.15334136664067 | erot = 3.70899967496142 | epot = -36.5311600367317 | etot = -28.6688189951296 +478000 ekin = 4.07512882728801 | erot = 3.80913887771278 | epot = -36.5715417700018 | etot = -28.687274065001 +479000 ekin = 3.96184225144662 | erot = 3.67584263229307 | epot = -36.6049454628497 | etot = -28.96726057911 +480000 ekin = 3.86072911979592 | erot = 3.85211085064263 | epot = -36.6106292252495 | etot = -28.897789254811 +481000 ekin = 3.78563823255482 | erot = 4.02431409923187 | epot = -36.604468258428 | etot = -28.7945159266413 +482000 ekin = 3.81986353724767 | erot = 3.94457553240232 | epot = -36.555624249585 | etot = -28.791185179935 +483000 ekin = 3.91937069686989 | erot = 3.97985471481289 | epot = -36.4953515335722 | etot = -28.5961261218894 +484000 ekin = 3.90565472316258 | erot = 3.68508276016124 | epot = -36.4265142327187 | etot = -28.8357767493949 +485000 ekin = 3.97067640669119 | erot = 3.52818833629898 | epot = -36.3385351029671 | etot = -28.8396703599769 +486000 ekin = 4.08924338068637 | erot = 3.45150371793016 | epot = -36.2407040808275 | etot = -28.699956982211 +487000 ekin = 4.0776172953027 | erot = 3.69577064303949 | epot = -36.1174543397059 | etot = -28.3440664013637 +488000 ekin = 3.98120330041654 | erot = 4.01179749212316 | epot = -35.9662140009108 | etot = -27.9732132083711 +489000 ekin = 3.94304108511277 | erot = 4.09948585344473 | epot = -35.8365811443669 | etot = -27.7940542058094 +490000 ekin = 3.98200750178095 | erot = 4.1933065556559 | epot = -35.7436522395692 | etot = -27.5683381821323 +491000 ekin = 4.04453601319225 | erot = 4.06864604679556 | epot = -35.6813038605047 | etot = -27.5681218005169 +492000 ekin = 4.10478194610714 | erot = 4.27931273272371 | epot = -35.6201850620968 | etot = -27.2360903832659 +493000 ekin = 4.14218811078641 | erot = 4.30328516242947 | epot = -35.552932172172 | etot = -27.1074588989561 +494000 ekin = 4.15483197917405 | erot = 4.22087230768693 | epot = -35.5007035923698 | etot = -27.1249993055088 +495000 ekin = 4.26671892357318 | erot = 4.21745137304138 | epot = -35.4450128389798 | etot = -26.9608425423653 +496000 ekin = 4.42373869014847 | erot = 3.65535322096903 | epot = -35.3933064942827 | etot = -27.3142145831652 +497000 ekin = 4.57363309591063 | erot = 3.63766344362447 | epot = -35.3630685420949 | etot = -27.1517720025598 +498000 ekin = 4.7241733979428 | erot = 3.40665904233516 | epot = -35.3570714026385 | etot = -27.2262389623605 +499000 ekin = 4.76806375994875 | erot = 3.58204839805272 | epot = -35.3646341268585 | etot = -27.014521968857 +500000 ekin = 4.86803273232483 | erot = 3.40069391727023 | epot = -35.4199817543268 | etot = -27.1512551047318 +501000 ekin = 4.96743307602627 | erot = 3.46724128896305 | epot = -35.4970649677118 | etot = -27.0623906027225 +502000 ekin = 4.91929166862615 | erot = 3.57165212036678 | epot = -35.5889625489512 | etot = -27.0980187599583 +503000 ekin = 4.90703913138678 | erot = 3.86458875313933 | epot = -35.6771862828227 | etot = -26.9055583982966 +504000 ekin = 5.1370533506199 | erot = 3.5369546296831 | epot = -35.7347477259461 | etot = -27.0607397456431 +505000 ekin = 5.23249143944225 | erot = 3.46343104093314 | epot = -35.7820571844966 | etot = -27.0861347041212 +506000 ekin = 5.11675278315717 | erot = 3.7206718650993 | epot = -35.8198968197658 | etot = -26.9824721715093 +507000 ekin = 5.1899390138749 | erot = 4.15215085847695 | epot = -35.8269271672396 | etot = -26.4848372948877 +508000 ekin = 4.9859787822663 | erot = 4.11598571893968 | epot = -35.7826195676286 | etot = -26.6806550664226 +509000 ekin = 4.8941242567771 | erot = 4.30807642739895 | epot = -35.6890852058564 | etot = -26.4868845216804 +510000 ekin = 4.89504815269032 | erot = 4.46013837584195 | epot = -35.5893215666418 | etot = -26.2341350381096 +511000 ekin = 4.85835750083421 | erot = 4.41721118692693 | epot = -35.4748886415727 | etot = -26.1993199538116 +512000 ekin = 4.85632567302005 | erot = 4.58501467870099 | epot = -35.3170557845382 | etot = -25.8757154328171 +513000 ekin = 4.79088228903437 | erot = 4.4189824922301 | epot = -35.1398620511889 | etot = -25.9299972699244 +514000 ekin = 4.84082723167344 | erot = 4.10048582144436 | epot = -34.952894027941 | etot = -26.0115809748232 +515000 ekin = 4.66396867258937 | erot = 3.7079532547263 | epot = -34.8081323279133 | etot = -26.4362104005976 +516000 ekin = 4.4520372226043 | erot = 3.7424161749218 | epot = -34.7399422586774 | etot = -26.5454888611513 +517000 ekin = 4.39320763550332 | erot = 3.61293763489243 | epot = -34.7115969229745 | etot = -26.7054516525788 +518000 ekin = 4.3351626742312 | erot = 3.46685163663689 | epot = -34.7205591716219 | etot = -26.9185448607538 +519000 ekin = 4.32678001120832 | erot = 3.8333130859946 | epot = -34.7543932584755 | etot = -26.5943001612725 +520000 ekin = 4.16017569753314 | erot = 3.99442103376417 | epot = -34.7797387277815 | etot = -26.6251419964842 +521000 ekin = 4.01091284601602 | erot = 4.71227661622732 | epot = -34.8119764016188 | etot = -26.0887869393754 +522000 ekin = 3.9255586814989 | erot = 4.67306017627962 | epot = -34.8638412525408 | etot = -26.2652223947623 +523000 ekin = 4.10629342994203 | erot = 4.236908212199 | epot = -34.9392637364661 | etot = -26.5960620943251 +524000 ekin = 4.16964406138591 | erot = 4.51539305326744 | epot = -35.0302476439308 | etot = -26.3452105292774 +525000 ekin = 4.14574067413465 | erot = 4.59255192964589 | epot = -35.1665459803983 | etot = -26.4282533766178 +526000 ekin = 4.296358047754 | erot = 5.381812036993 | epot = -35.3702076593238 | etot = -25.6920375745768 +527000 ekin = 4.43341423246361 | erot = 5.4208701656542 | epot = -35.5881352754177 | etot = -25.7338508772999 +528000 ekin = 4.65221997264072 | erot = 5.64432261927517 | epot = -35.7907306535609 | etot = -25.494188061645 +529000 ekin = 4.75833001518924 | erot = 6.22279494556947 | epot = -35.9649272181716 | etot = -24.9838022574129 +530000 ekin = 4.85254900576415 | erot = 6.26630645813046 | epot = -36.1175112827238 | etot = -24.9986558188292 +531000 ekin = 4.88314038497982 | erot = 6.22256761998238 | epot = -36.2218727030894 | etot = -25.1161646981272 +532000 ekin = 4.89429192132463 | erot = 6.19376619305432 | epot = -36.2791850407375 | etot = -25.1911269263585 +533000 ekin = 4.98074956905521 | erot = 6.71246035574362 | epot = -36.2873072492241 | etot = -24.5940973244253 +534000 ekin = 5.05914514163862 | erot = 6.72049132345808 | epot = -36.2541186702089 | etot = -24.4744822051122 +535000 ekin = 4.98307281629264 | erot = 6.60876507020625 | epot = -36.1722591997817 | etot = -24.5804213132828 +536000 ekin = 4.92092214615494 | erot = 6.71824597922688 | epot = -36.0492643890656 | etot = -24.4100962636838 +537000 ekin = 4.73594122849286 | erot = 6.46069540815352 | epot = -35.9116294607651 | etot = -24.7149928241187 +538000 ekin = 4.79280389212849 | erot = 6.10794151385203 | epot = -35.7423046160126 | etot = -24.8415592100321 +539000 ekin = 4.77579753855575 | erot = 5.97217188520334 | epot = -35.5336009816514 | etot = -24.7856315578923 +540000 ekin = 4.5934335322059 | erot = 6.0288231594335 | epot = -35.2969540919917 | etot = -24.6746974003523 +541000 ekin = 4.56261508857232 | erot = 5.60884609986387 | epot = -35.074241498478 | etot = -24.9027803100418 +542000 ekin = 4.4230407907828 | erot = 5.24180126466482 | epot = -34.8728664426871 | etot = -25.2080243872395 +543000 ekin = 4.31458565966237 | erot = 5.3064811880571 | epot = -34.6809264080031 | etot = -25.0598595602836 +544000 ekin = 4.16990383767255 | erot = 5.09480741715239 | epot = -34.5077033118771 | etot = -25.2429920570521 +545000 ekin = 4.03506404145806 | erot = 4.95913193735205 | epot = -34.3738505570893 | etot = -25.3796545782792 +546000 ekin = 4.05283758597002 | erot = 4.62357416672456 | epot = -34.2732549004477 | etot = -25.5968431477531 +547000 ekin = 3.91892476341072 | erot = 4.42471065792704 | epot = -34.1888485564159 | etot = -25.8452131350781 +548000 ekin = 3.85923648383023 | erot = 4.18493881932583 | epot = -34.1251823218203 | etot = -26.0810070186642 +549000 ekin = 3.89277095561291 | erot = 4.20183962759824 | epot = -34.0968256559695 | etot = -26.0022150727584 +550000 ekin = 3.88489313663741 | erot = 4.0698735084027 | epot = -34.083498992554 | etot = -26.1287323475139 +551000 ekin = 3.87639970039824 | erot = 4.25043058335786 | epot = -34.0931086790785 | etot = -25.9662783953224 +552000 ekin = 3.88627319211738 | erot = 4.0010203354773 | epot = -34.163860291438 | etot = -26.2765667638433 +553000 ekin = 4.05569156373835 | erot = 3.56403629580258 | epot = -34.2474834864243 | etot = -26.6277556268834 +554000 ekin = 4.25626838001505 | erot = 3.70804766862573 | epot = -34.2954308218042 | etot = -26.3311147731634 +555000 ekin = 4.26487407035246 | erot = 3.78496110408411 | epot = -34.3412268896546 | etot = -26.291391715218 +556000 ekin = 4.24622902964942 | erot = 4.03454820388574 | epot = -34.3344093396383 | etot = -26.0536321061031 +557000 ekin = 4.0731966983783 | erot = 3.86372668854402 | epot = -34.2640157691765 | etot = -26.3270923822542 +558000 ekin = 3.9948930644697 | erot = 3.82027814531928 | epot = -34.1455461859523 | etot = -26.3303749761633 +559000 ekin = 4.00179663426005 | erot = 3.82651776959161 | epot = -33.9924674804782 | etot = -26.1641530766265 +560000 ekin = 3.90938418270034 | erot = 3.49539199637402 | epot = -33.8018928207131 | etot = -26.3971166416387 +561000 ekin = 3.70375196060258 | erot = 3.38165869548275 | epot = -33.615733164291 | etot = -26.5303225082057 +562000 ekin = 3.64392595608231 | erot = 3.67997084627181 | epot = -33.4612560313007 | etot = -26.1373592289466 +563000 ekin = 3.59769761679705 | erot = 3.74125845764523 | epot = -33.3480734777517 | etot = -26.0091174033094 +564000 ekin = 3.58725325354742 | erot = 3.35524020938125 | epot = -33.267517196837 | etot = -26.3250237339083 +565000 ekin = 3.63835964444106 | erot = 3.77402574563878 | epot = -33.240901552366 | etot = -25.8285161622862 +566000 ekin = 3.64384501808566 | erot = 3.77515123487333 | epot = -33.2503593116368 | etot = -25.8313630586779 +567000 ekin = 3.63214417671457 | erot = 3.86854489788161 | epot = -33.2603190278794 | etot = -25.7596299532833 +568000 ekin = 3.76759211619052 | erot = 3.9732101485638 | epot = -33.2947231384409 | etot = -25.5539208736866 +569000 ekin = 3.75607920629751 | erot = 3.91893504114413 | epot = -33.3766443391901 | etot = -25.7016300917484 +570000 ekin = 3.88570178164854 | erot = 3.8701337006161 | epot = -33.4676246266793 | etot = -25.7117891444146 +571000 ekin = 3.91109063039706 | erot = 4.38873366379694 | epot = -33.5301619269313 | etot = -25.2303376327373 +572000 ekin = 3.9135736753704 | erot = 4.54669425634133 | epot = -33.5613071721044 | etot = -25.1010392403927 +573000 ekin = 4.00256460246037 | erot = 4.69928602914644 | epot = -33.547965409059 | etot = -24.8461147774522 +574000 ekin = 4.04557469411573 | erot = 4.85104808888591 | epot = -33.4823141367226 | etot = -24.5856913537209 +575000 ekin = 4.01990448331334 | erot = 4.48360936846642 | epot = -33.4090682352895 | etot = -24.9055543835097 +576000 ekin = 3.8077042063495 | erot = 4.4090298473991 | epot = -33.3559765416156 | etot = -25.139242487867 +577000 ekin = 3.65176770723656 | erot = 4.69770290650885 | epot = -33.3414847753624 | etot = -24.992014161617 +578000 ekin = 3.65416507269697 | erot = 5.09984939028917 | epot = -33.3628873386868 | etot = -24.6088728757007 +579000 ekin = 3.65457514215401 | erot = 4.83085466504536 | epot = -33.4229058723706 | etot = -24.9374760651712 +580000 ekin = 3.61022362260401 | erot = 5.21507039569716 | epot = -33.5257015423967 | etot = -24.7004075240955 +581000 ekin = 3.494914275922 | erot = 5.80898315058267 | epot = -33.6374701054948 | etot = -24.3335726789901 +582000 ekin = 3.45150652331189 | erot = 5.20797294729429 | epot = -33.7413132898266 | etot = -25.0818338192204 +583000 ekin = 3.43883253778127 | erot = 4.99240818298312 | epot = -33.7992206024418 | etot = -25.3679798816774 +584000 ekin = 3.41950743993982 | erot = 5.30429667829813 | epot = -33.8273198616872 | etot = -25.1035157434492 +585000 ekin = 3.52988736379251 | erot = 5.26888625710182 | epot = -33.8562169326841 | etot = -25.0574433117897 +586000 ekin = 3.54522421505632 | erot = 5.15182886320336 | epot = -33.8748034063857 | etot = -25.177750328126 +587000 ekin = 3.64975640444305 | erot = 4.43116878398965 | epot = -33.8790223191809 | etot = -25.7980971307482 +588000 ekin = 3.85787406303013 | erot = 4.33848995606292 | epot = -33.9012642894901 | etot = -25.704900270397 +589000 ekin = 3.94871508842027 | erot = 4.36958758855398 | epot = -33.9512157067312 | etot = -25.632913029757 +590000 ekin = 4.04576150007614 | erot = 4.34777620153041 | epot = -33.9849374243125 | etot = -25.5913997227059 +591000 ekin = 4.13483818439864 | erot = 4.2847530812366 | epot = -33.997537224377 | etot = -25.5779459587418 +592000 ekin = 4.25566804148588 | erot = 4.00241438742632 | epot = -33.9905173022463 | etot = -25.7324348733341 +593000 ekin = 4.26695504286498 | erot = 3.75133860519142 | epot = -33.9824243028368 | etot = -25.9641306547804 +594000 ekin = 4.24513038558001 | erot = 3.88826331815687 | epot = -33.9597952629285 | etot = -25.8264015591916 +595000 ekin = 4.33307108334578 | erot = 3.92609577318101 | epot = -33.9197199407769 | etot = -25.6605530842501 +596000 ekin = 4.23611726585083 | erot = 3.89070717461436 | epot = -33.8740124837555 | etot = -25.7471880432903 +597000 ekin = 4.40233879096545 | erot = 3.99738130824423 | epot = -33.8902431987863 | etot = -25.4905230995766 +598000 ekin = 4.23795477390283 | erot = 4.04526003587962 | epot = -33.9155939268415 | etot = -25.632379117059 +599000 ekin = 4.13745802988963 | erot = 3.88641709707891 | epot = -33.9296772436184 | etot = -25.9058021166499 +600000 ekin = 4.21239990479373 | erot = 3.82373814742806 | epot = -33.9651236246002 | etot = -25.9289855723784 +601000 ekin = 4.31969973340156 | erot = 3.98399943561206 | epot = -34.0172721411617 | etot = -25.7135729721481 +602000 ekin = 4.27803621196591 | erot = 4.02063732656592 | epot = -34.1006984229854 | etot = -25.8020248844535 +603000 ekin = 4.31016670434105 | erot = 4.06109056998793 | epot = -34.2290225355025 | etot = -25.8577652611735 +604000 ekin = 4.35436231281015 | erot = 4.27081433433638 | epot = -34.3693989473761 | etot = -25.7442223002295 +605000 ekin = 4.29263786573535 | erot = 4.35816455016065 | epot = -34.5293522620236 | etot = -25.8785498461276 +606000 ekin = 4.23493766333219 | erot = 4.45889694601915 | epot = -34.6959569640143 | etot = -26.002122354663 +607000 ekin = 4.21589668454704 | erot = 4.35851580050846 | epot = -34.8643734064671 | etot = -26.2899609214116 +608000 ekin = 4.31617609118148 | erot = 4.37118434041818 | epot = -35.0106665625387 | etot = -26.323306130939 +609000 ekin = 4.40054829762706 | erot = 4.09556922746415 | epot = -35.1090427558584 | etot = -26.6129252307672 +610000 ekin = 4.38360179734749 | erot = 4.43080811091103 | epot = -35.1590130940805 | etot = -26.344603185822 +611000 ekin = 4.30911071720803 | erot = 4.66858603342419 | epot = -35.199774136202 | etot = -26.2220773855698 +612000 ekin = 4.38115044343898 | erot = 4.62952065066672 | epot = -35.2189008927589 | etot = -26.2082297986532 +613000 ekin = 4.49640333428286 | erot = 4.73033949191667 | epot = -35.2311946320123 | etot = -26.0044518058127 +614000 ekin = 4.42698019674728 | erot = 4.54387450238911 | epot = -35.2270245654641 | etot = -26.2561698663278 +615000 ekin = 4.3629388204899 | erot = 4.65167437175519 | epot = -35.2500098144353 | etot = -26.2353966221903 +616000 ekin = 4.25552094369014 | erot = 3.96773357990598 | epot = -35.2626465654004 | etot = -27.0393920418043 +617000 ekin = 4.02844203107081 | erot = 3.93306028038353 | epot = -35.3085438772357 | etot = -27.3470415657814 +618000 ekin = 3.91410624199523 | erot = 3.99915504239056 | epot = -35.3773572154983 | etot = -27.4640959311125 +619000 ekin = 3.9294433404095 | erot = 3.65858234543169 | epot = -35.4549579850513 | etot = -27.8669322992101 +620000 ekin = 3.94632769198393 | erot = 4.05357915876527 | epot = -35.5452298743849 | etot = -27.5453230236357 +621000 ekin = 4.00876452457071 | erot = 4.18557952361359 | epot = -35.6568787558286 | etot = -27.4625347076443 +622000 ekin = 3.97770547832547 | erot = 4.20428409244749 | epot = -35.7853832130651 | etot = -27.6033936422921 +623000 ekin = 3.87623409179537 | erot = 4.44200976918119 | epot = -35.9345595163542 | etot = -27.6163156553776 +624000 ekin = 3.81461749379546 | erot = 4.73413928443235 | epot = -36.0610458736418 | etot = -27.512289095414 +625000 ekin = 3.89702417514946 | erot = 4.5196799549034 | epot = -36.1593702506668 | etot = -27.7426661206139 +626000 ekin = 4.0528518195111 | erot = 5.12209714551147 | epot = -36.237370947802 | etot = -27.0624219827794 +627000 ekin = 4.06919694856893 | erot = 5.16853241383708 | epot = -36.2459696084307 | etot = -27.0082402460247 +628000 ekin = 3.97574634490031 | erot = 5.15377915037523 | epot = -36.1860007276678 | etot = -27.0564752323922 +629000 ekin = 3.97847076093763 | erot = 4.98743417354921 | epot = -36.084160296335 | etot = -27.1182553618481 +630000 ekin = 3.82117049554653 | erot = 4.72915936447952 | epot = -35.9627884752431 | etot = -27.4124586152171 +631000 ekin = 3.8646114143111 | erot = 4.86154549635015 | epot = -35.8061457051951 | etot = -27.0799887945339 +632000 ekin = 3.74664734149751 | erot = 4.54810894057716 | epot = -35.6214135997292 | etot = -27.3266573176545 +633000 ekin = 3.70561564688156 | erot = 3.84492477779505 | epot = -35.4366028892496 | etot = -27.886062464573 +634000 ekin = 3.59215409071566 | erot = 3.93871515972519 | epot = -35.2896538627894 | etot = -27.7587846123485 +635000 ekin = 3.50545587494281 | erot = 4.06717110382225 | epot = -35.1730596180138 | etot = -27.6004326392487 +636000 ekin = 3.33094541502758 | erot = 4.07821458070319 | epot = -35.1077038533339 | etot = -27.6985438576031 +637000 ekin = 3.1450521799885 | erot = 4.05756077132578 | epot = -35.1055524080602 | etot = -27.9029394567459 +638000 ekin = 3.09050584392124 | erot = 4.40258652090801 | epot = -35.1570633539873 | etot = -27.6639709891581 +639000 ekin = 3.07687333216972 | erot = 4.16491810908533 | epot = -35.2467836386701 | etot = -28.0049921974151 +640000 ekin = 3.00973730804964 | erot = 4.26924181333289 | epot = -35.3354522376063 | etot = -28.0564731162238 +641000 ekin = 2.94445196408731 | erot = 4.64391413205011 | epot = -35.4644644387943 | etot = -27.8760983426569 +642000 ekin = 2.98442414954527 | erot = 4.99747556124224 | epot = -35.629005703419 | etot = -27.6471059926314 +643000 ekin = 3.20556469531983 | erot = 4.80255317913171 | epot = -35.7795885297912 | etot = -27.7714706553396 +644000 ekin = 3.27488214023669 | erot = 4.64957731616528 | epot = -35.9161733239232 | etot = -27.9917138675212 +645000 ekin = 3.41323831994906 | erot = 4.71321420527498 | epot = -36.0213663956136 | etot = -27.8949138703896 +646000 ekin = 3.56963422518063 | erot = 4.46391006184168 | epot = -36.0597764611991 | etot = -28.0262321741768 +647000 ekin = 3.65146108953654 | erot = 4.34882885781815 | epot = -36.0539738525772 | etot = -28.0536839052225 +648000 ekin = 3.80589253043734 | erot = 4.22505125234539 | epot = -35.9957895068619 | etot = -27.9648457240791 +649000 ekin = 4.01844415748726 | erot = 4.19109412255692 | epot = -35.918006133173 | etot = -27.7084678531288 +650000 ekin = 4.03810277748455 | erot = 3.86362623058827 | epot = -35.8260490160414 | etot = -27.9243200079685 +651000 ekin = 4.1420394457061 | erot = 3.56888807374624 | epot = -35.7087423281368 | etot = -27.9978148086844 +652000 ekin = 4.23250261214613 | erot = 3.18710224409333 | epot = -35.6367851174003 | etot = -28.2171802611608 +653000 ekin = 4.36352642925903 | erot = 3.20148998565931 | epot = -35.6464209942524 | etot = -28.0814045793341 +654000 ekin = 4.52792032439863 | erot = 3.02237039454649 | epot = -35.6995719521279 | etot = -28.1492812331828 +655000 ekin = 4.60546960877418 | erot = 2.96007185178607 | epot = -35.8223013228776 | etot = -28.2567598623174 +656000 ekin = 4.78956137675958 | erot = 3.38896158834532 | epot = -35.9826527468522 | etot = -27.8041297817474 +657000 ekin = 4.78481247088143 | erot = 3.67040934516362 | epot = -36.1522101931014 | etot = -27.6969883770563 +658000 ekin = 4.68735602442142 | erot = 4.10635530609203 | epot = -36.3122539915035 | etot = -27.5185426609901 +659000 ekin = 4.79643464434846 | erot = 4.31091667955153 | epot = -36.4198222001284 | etot = -27.3124708762284 +660000 ekin = 4.65613606555458 | erot = 4.00182169137101 | epot = -36.5017357753368 | etot = -27.8437780184112 +661000 ekin = 4.53939481189358 | erot = 4.39327864100421 | epot = -36.552237956014 | etot = -27.6195645031162 +662000 ekin = 4.62075189021939 | erot = 4.64171304234462 | epot = -36.545875274844 | etot = -27.28341034228 +663000 ekin = 4.60627251324175 | erot = 4.44191382325611 | epot = -36.5358428119652 | etot = -27.4876564754673 +664000 ekin = 4.5322487745738 | erot = 4.69535654969877 | epot = -36.5440045788996 | etot = -27.3163992546271 +665000 ekin = 4.33791904760918 | erot = 4.79511074251709 | epot = -36.5712979957051 | etot = -27.4382682055788 +666000 ekin = 4.01034004769755 | erot = 5.144756302773 | epot = -36.6275167021822 | etot = -27.4724203517116 +667000 ekin = 3.92791037721526 | erot = 5.1180589475915 | epot = -36.7022697315157 | etot = -27.656300406709 +668000 ekin = 3.69207242860475 | erot = 4.95115852091633 | epot = -36.77482844315 | etot = -28.1315974936289 +669000 ekin = 3.52850414694741 | erot = 5.30513713121027 | epot = -36.8468924103787 | etot = -28.013251132221 +670000 ekin = 3.43685158392318 | erot = 5.67353767341462 | epot = -36.8571678878536 | etot = -27.7467786305158 +671000 ekin = 3.37237891900108 | erot = 4.81383151363229 | epot = -36.789877261468 | etot = -28.6036668288346 +672000 ekin = 3.42142864489494 | erot = 4.47410705082113 | epot = -36.6509805759882 | etot = -28.7554448802721 +673000 ekin = 3.47620696197669 | erot = 4.5346881275349 | epot = -36.4695914666357 | etot = -28.4586963771241 +674000 ekin = 3.34015467342445 | erot = 4.56003540036683 | epot = -36.2728042739957 | etot = -28.3726142002044 +675000 ekin = 3.26558121431912 | erot = 4.75716318196968 | epot = -36.081244882487 | etot = -28.0585004861982 +676000 ekin = 3.30557173090105 | erot = 4.66626180335483 | epot = -35.8858133485329 | etot = -27.9139798142771 +677000 ekin = 3.38252137148696 | erot = 4.68979222844271 | epot = -35.7238379181649 | etot = -27.6515243182352 +678000 ekin = 3.33430766992679 | erot = 4.45636421682296 | epot = -35.5898515746292 | etot = -27.7991796878794 +679000 ekin = 3.26716522041086 | erot = 4.1364314169021 | epot = -35.5282160560392 | etot = -28.1246194187263 +680000 ekin = 3.22330491222295 | erot = 4.11355311991395 | epot = -35.5522418172891 | etot = -28.2153837851522 +681000 ekin = 3.27654998707864 | erot = 4.40088508884101 | epot = -35.6343431031162 | etot = -27.9569080271965 +682000 ekin = 3.38403402083093 | erot = 4.64957783602951 | epot = -35.7255960652544 | etot = -27.6919842083939 +683000 ekin = 3.58392532059595 | erot = 4.15499488835509 | epot = -35.8541956283799 | etot = -28.1152754194289 +684000 ekin = 3.63284008875844 | erot = 4.14497212696412 | epot = -36.0448350473468 | etot = -28.2670228316243 +685000 ekin = 3.75538152185827 | erot = 3.95609692494467 | epot = -36.2462524041805 | etot = -28.5347739573775 +686000 ekin = 3.91883145536903 | erot = 3.95298902028762 | epot = -36.4771155861876 | etot = -28.605295110531 +687000 ekin = 4.05299881159346 | erot = 4.06027810523509 | epot = -36.7169526369106 | etot = -28.6036757200821 +688000 ekin = 4.13599667613487 | erot = 4.10331489254492 | epot = -36.9524101670374 | etot = -28.7130985983576 +689000 ekin = 4.25987754434331 | erot = 4.14481492316617 | epot = -37.1900775910787 | etot = -28.7853851235692 +690000 ekin = 4.43074027682691 | erot = 4.04380513304471 | epot = -37.3931354089472 | etot = -28.9185899990756 +691000 ekin = 4.53821721573907 | erot = 3.8050334589901 | epot = -37.5576014163145 | etot = -29.2143507415853 +692000 ekin = 4.64150042779563 | erot = 3.59872997928139 | epot = -37.6895260553266 | etot = -29.4492956482496 +693000 ekin = 4.69075885893268 | erot = 3.47578918601684 | epot = -37.8114874122412 | etot = -29.6449393672917 +694000 ekin = 4.7382251866288 | erot = 3.84263750148522 | epot = -37.9027003996521 | etot = -29.3218377115381 +695000 ekin = 4.75494194628237 | erot = 3.78113333862439 | epot = -37.9681336831645 | etot = -29.4320583982578 +696000 ekin = 4.697866081995 | erot = 3.78526821175916 | epot = -38.0084908312995 | etot = -29.5253565375453 +697000 ekin = 4.69854328160722 | erot = 3.62432955932709 | epot = -38.0258612384494 | etot = -29.7029883975151 +698000 ekin = 4.71023285873083 | erot = 3.64111389234168 | epot = -38.0301547340748 | etot = -29.6788079830023 +699000 ekin = 4.56773244344101 | erot = 3.71983710702471 | epot = -38.0529467082179 | etot = -29.7653771577522 +700000 ekin = 4.43155866208815 | erot = 3.5335546196022 | epot = -38.068583492112 | etot = -30.1034702104217 +701000 ekin = 4.47548631411863 | erot = 3.38963138436185 | epot = -38.0500116139802 | etot = -30.1848939154997 +702000 ekin = 4.46550513017092 | erot = 3.66852889097233 | epot = -38.0164512923389 | etot = -29.8824172711957 +703000 ekin = 4.38742906998922 | erot = 3.97599599383663 | epot = -37.9817705180933 | etot = -29.6183454542675 +704000 ekin = 4.41020682713785 | erot = 3.83147838533244 | epot = -37.9674346241353 | etot = -29.725749411665 +705000 ekin = 4.39308990786526 | erot = 3.75664217186731 | epot = -37.9282520396859 | etot = -29.7785199599533 +706000 ekin = 4.43040906703226 | erot = 4.12756254176834 | epot = -37.8939279543814 | etot = -29.3359563455808 +707000 ekin = 4.51700671633719 | erot = 3.77573523129425 | epot = -37.8444471024425 | etot = -29.5517051548111 +708000 ekin = 4.49065124304644 | erot = 3.88552877103945 | epot = -37.7744800646496 | etot = -29.3983000505637 +709000 ekin = 4.41855498291582 | erot = 3.53582586052254 | epot = -37.6656825257606 | etot = -29.7113016823223 +710000 ekin = 4.40535258977441 | erot = 3.39649502688896 | epot = -37.546693994465 | etot = -29.7448463778016 +711000 ekin = 4.32709544005412 | erot = 3.54995473847997 | epot = -37.3866324258477 | etot = -29.5095822473136 +712000 ekin = 4.40620309391045 | erot = 3.7155744253842 | epot = -37.1793914331046 | etot = -29.05761391381 +713000 ekin = 4.39226105260381 | erot = 3.64956114520254 | epot = -36.9592491146155 | etot = -28.9174269168092 +714000 ekin = 4.3945904765123 | erot = 3.58799428596503 | epot = -36.7844109062829 | etot = -28.8018261438055 +715000 ekin = 4.41458674942753 | erot = 4.01850565037344 | epot = -36.5924446920391 | etot = -28.1593522922382 +716000 ekin = 4.33665938530876 | erot = 3.50452219695681 | epot = -36.4143425377369 | etot = -28.5731609554713 +717000 ekin = 4.18088462864216 | erot = 3.21190204009032 | epot = -36.2481677379304 | etot = -28.8553810691979 +718000 ekin = 4.03231025467992 | erot = 2.91104295996765 | epot = -36.1402693367145 | etot = -29.196916122067 +719000 ekin = 3.97260579411936 | erot = 3.29783620298701 | epot = -36.0849771003507 | etot = -28.8145351032443 +720000 ekin = 3.82567789821418 | erot = 3.46218504309359 | epot = -36.1068353452668 | etot = -28.818972403959 +721000 ekin = 3.83433718059127 | erot = 4.03084036947922 | epot = -36.1868958046435 | etot = -28.321718254573 +722000 ekin = 3.7130087276568 | erot = 3.84736896155859 | epot = -36.2838656104841 | etot = -28.7234879212687 +723000 ekin = 3.74703466957696 | erot = 3.71040850656983 | epot = -36.3812410760553 | etot = -28.9237978999085 +724000 ekin = 3.75607081603443 | erot = 4.02813532874788 | epot = -36.4992818358981 | etot = -28.7150756911158 +725000 ekin = 3.77808990085885 | erot = 4.20966764087265 | epot = -36.6263500488386 | etot = -28.6385925071071 +726000 ekin = 3.99703012102755 | erot = 3.67945861038478 | epot = -36.7651398392487 | etot = -29.0886511078363 +727000 ekin = 4.01741049095273 | erot = 3.72684228835856 | epot = -36.8887239674894 | etot = -29.1444711881781 +728000 ekin = 4.05655244457389 | erot = 3.64411335656528 | epot = -36.9831032192825 | etot = -29.2824374181433 +729000 ekin = 4.15914112670555 | erot = 3.22368867517415 | epot = -37.0758214193937 | etot = -29.692991617514 +730000 ekin = 4.27496625989352 | erot = 3.03434396509935 | epot = -37.1060663359384 | etot = -29.7967561109456 +731000 ekin = 4.35621946146742 | erot = 3.31453862248463 | epot = -37.0811379025023 | etot = -29.4103798185503 +732000 ekin = 4.31460322853858 | erot = 3.19560214587386 | epot = -37.0358028654693 | etot = -29.5255974910568 +733000 ekin = 4.2295226795695 | erot = 3.20037871937962 | epot = -36.9673423522061 | etot = -29.537440953257 +734000 ekin = 4.24709820971147 | erot = 3.10598269123683 | epot = -36.8800091287772 | etot = -29.5269282278289 +735000 ekin = 4.14981162925897 | erot = 3.12549638567468 | epot = -36.7838119752116 | etot = -29.508503960278 +736000 ekin = 4.20814181481824 | erot = 2.91522500178861 | epot = -36.7063833852233 | etot = -29.5830165686164 +737000 ekin = 4.01828120268193 | erot = 2.40495812578651 | epot = -36.6589611248533 | etot = -30.2357217963848 +738000 ekin = 4.01094036028549 | erot = 2.68632566149055 | epot = -36.6548343802808 | etot = -29.9575683585048 +739000 ekin = 4.14661584174142 | erot = 2.59506078530577 | epot = -36.6780631105738 | etot = -29.9363864835266 +740000 ekin = 4.08413039710925 | erot = 2.57365823993747 | epot = -36.7021237291546 | etot = -30.0443350921079 +741000 ekin = 4.10845660619181 | erot = 2.78416335535206 | epot = -36.7754492326706 | etot = -29.8828292711267 +742000 ekin = 4.09068760907163 | erot = 3.09866824560576 | epot = -36.8187451874485 | etot = -29.6293893327711 +743000 ekin = 3.96610963094402 | erot = 3.04878673776408 | epot = -36.8535622197241 | etot = -29.838665851016 +744000 ekin = 3.97087885402719 | erot = 3.04950786237685 | epot = -36.8512621314634 | etot = -29.8308754150594 +745000 ekin = 3.78295099566376 | erot = 3.09154774657146 | epot = -36.8410165021252 | etot = -29.96651775989 +746000 ekin = 3.88442560568396 | erot = 3.15773579416763 | epot = -36.8645704531019 | etot = -29.8224090532503 +747000 ekin = 3.94794600572092 | erot = 3.04363515896551 | epot = -36.9228275975776 | etot = -29.9312464328912 +748000 ekin = 3.94186404778235 | erot = 3.24130800398347 | epot = -37.0438118681966 | etot = -29.8606398164308 +749000 ekin = 3.93262026571516 | erot = 3.71710044171151 | epot = -37.210963278996 | etot = -29.5612425715694 +750000 ekin = 3.82713052636346 | erot = 4.02486049381691 | epot = -37.385471620714 | etot = -29.5334806005336 +751000 ekin = 4.02336237199802 | erot = 4.23099342037285 | epot = -37.5518597142007 | etot = -29.2975039218298 +752000 ekin = 4.06152925020837 | erot = 3.76231639564619 | epot = -37.6809132611595 | etot = -29.8570676153049 +753000 ekin = 4.07859449790949 | erot = 3.97018598947847 | epot = -37.7593004103674 | etot = -29.7105199229794 +754000 ekin = 4.26771269586214 | erot = 4.64006960442373 | epot = -37.8141557249888 | etot = -28.9063734247029 +755000 ekin = 4.26666906965093 | erot = 4.77784474773889 | epot = -37.8576299963078 | etot = -28.8131161789179 +756000 ekin = 4.2913114700946 | erot = 5.38525988164132 | epot = -37.8917845570772 | etot = -28.2152132053412 +757000 ekin = 4.35562563894453 | erot = 5.14819699923274 | epot = -37.8935376948375 | etot = -28.3897150566602 +758000 ekin = 4.22616249374932 | erot = 5.19713356473755 | epot = -37.890171313439 | etot = -28.4668752549521 +759000 ekin = 4.24184449956944 | erot = 5.16496183591484 | epot = -37.8881235068873 | etot = -28.481317171403 +760000 ekin = 4.23424644958301 | erot = 5.47628298706072 | epot = -37.9000330984149 | etot = -28.1895036617712 +761000 ekin = 4.26448749341469 | erot = 5.45907771030503 | epot = -37.9055730645743 | etot = -28.1820078608546 +762000 ekin = 4.22061932798692 | erot = 5.04369074313446 | epot = -37.9108772679031 | etot = -28.6465671967817 +763000 ekin = 4.09989014592102 | erot = 5.10778066514902 | epot = -37.9045250455542 | etot = -28.6968542344841 +764000 ekin = 4.18374834614763 | erot = 5.46818179899514 | epot = -37.8676566747109 | etot = -28.2157265295681 +765000 ekin = 4.08761418374972 | erot = 5.8085838804908 | epot = -37.8033181876409 | etot = -27.9071201234004 +766000 ekin = 4.0399954168056 | erot = 5.48136006660783 | epot = -37.7411893537017 | etot = -28.2198338702883 +767000 ekin = 4.01701285460552 | erot = 5.31665044278829 | epot = -37.6438611160235 | etot = -28.3101978186297 +768000 ekin = 3.97951625206149 | erot = 5.25792422549898 | epot = -37.5214426737382 | etot = -28.2840021961778 +769000 ekin = 3.9904400552595 | erot = 5.21175341266091 | epot = -37.3810973556055 | etot = -28.1789038876851 +770000 ekin = 3.99199742512277 | erot = 5.21810902470249 | epot = -37.1986211065242 | etot = -27.9885146566989 +771000 ekin = 3.82567851870305 | erot = 4.95130845103932 | epot = -36.9906650314374 | etot = -28.213678061695 +772000 ekin = 3.72123202682396 | erot = 4.74084322348116 | epot = -36.7445513213713 | etot = -28.2824760710662 +773000 ekin = 3.61186619870637 | erot = 4.48764169415196 | epot = -36.4404296879 | etot = -28.3409217950417 +774000 ekin = 3.5323856332149 | erot = 4.0851560641829 | epot = -36.1430482929722 | etot = -28.5255065955744 +775000 ekin = 3.61960121968643 | erot = 4.03007080844262 | epot = -35.8636424209038 | etot = -28.2139703927748 +776000 ekin = 3.50131397859944 | erot = 3.82783005287474 | epot = -35.5938202085534 | etot = -28.2646761770792 +777000 ekin = 3.4086720204846 | erot = 3.85221546935551 | epot = -35.4006619567329 | etot = -28.1397744668928 +778000 ekin = 3.45838031028943 | erot = 3.51853820068418 | epot = -35.2979750992092 | etot = -28.3210565882356 +779000 ekin = 3.42307480042057 | erot = 3.59321040457246 | epot = -35.2809430031764 | etot = -28.2646577981833 +780000 ekin = 3.42440692402825 | erot = 3.60521054559613 | epot = -35.3411249792481 | etot = -28.3115075096237 +781000 ekin = 3.46934151467246 | erot = 3.84731508491177 | epot = -35.4518670976751 | etot = -28.1352104980909 +782000 ekin = 3.5271040668097 | erot = 4.28376670942143 | epot = -35.595026056589 | etot = -27.7841552803579 +783000 ekin = 3.61729821661169 | erot = 4.75537078140916 | epot = -35.7562125383807 | etot = -27.3835435403599 +784000 ekin = 3.5836655359854 | erot = 4.1138012313496 | epot = -35.8708728516423 | etot = -28.1734060843073 +785000 ekin = 3.63226984987313 | erot = 4.14613629449608 | epot = -35.9549809353083 | etot = -28.1765747909391 +786000 ekin = 3.55353155352361 | erot = 3.96170523540214 | epot = -36.0104316125812 | etot = -28.4951948236555 +787000 ekin = 3.65679390509628 | erot = 4.13482060006033 | epot = -36.0644977241106 | etot = -28.272883218954 +788000 ekin = 3.86757699285448 | erot = 4.10779053552829 | epot = -36.0997261456416 | etot = -28.1243586172588 +789000 ekin = 3.93645468275084 | erot = 4.27766163431728 | epot = -36.1406694170053 | etot = -27.9265530999371 +790000 ekin = 3.99051031327637 | erot = 3.95340487784933 | epot = -36.2018617372706 | etot = -28.257946546145 +791000 ekin = 4.10452718423621 | erot = 3.99235351847229 | epot = -36.2624115283487 | etot = -28.1655308256402 +792000 ekin = 4.33302884516885 | erot = 3.8304429162738 | epot = -36.335701261074 | etot = -28.1722294996313 +793000 ekin = 4.59966330091451 | erot = 3.74212535974463 | epot = -36.4314410279318 | etot = -28.0896523672727 +794000 ekin = 4.70509453522008 | erot = 3.7325457155236 | epot = -36.5039677226926 | etot = -28.0663274719489 +795000 ekin = 4.8237350135353 | erot = 3.69936645898633 | epot = -36.5467302591204 | etot = -28.0236287865987 +796000 ekin = 5.02825099690258 | erot = 3.65845895224835 | epot = -36.5441938749373 | etot = -27.8574839257863 +797000 ekin = 4.98369350470464 | erot = 3.33483563015714 | epot = -36.5302539300605 | etot = -28.2117247951988 +798000 ekin = 5.04627515833455 | erot = 3.251844315584 | epot = -36.5269098314607 | etot = -28.2287903575422 +799000 ekin = 4.96165968599494 | erot = 3.39539196017299 | epot = -36.5580084896278 | etot = -28.2009568434598 +800000 ekin = 4.96087289523802 | erot = 3.54932033291718 | epot = -36.6052154994154 | etot = -28.0950222712602 +801000 ekin = 4.96148873220024 | erot = 3.39995120227887 | epot = -36.6619752973816 | etot = -28.3005353629025 +802000 ekin = 4.86744715226323 | erot = 3.35338258088299 | epot = -36.6942224647938 | etot = -28.4733927316476 +803000 ekin = 4.75056128639553 | erot = 3.25410486957708 | epot = -36.7045390401517 | etot = -28.6998728841791 +804000 ekin = 4.78109129200108 | erot = 3.0776597288298 | epot = -36.698526519421 | etot = -28.8397754985901 +805000 ekin = 4.82892493818665 | erot = 3.27499533781798 | epot = -36.6737874267413 | etot = -28.5698671507367 +806000 ekin = 4.74542372520114 | erot = 3.18323237798552 | epot = -36.6406513076392 | etot = -28.7119952044525 +807000 ekin = 4.64766139287985 | erot = 3.38424960796022 | epot = -36.6476730883982 | etot = -28.6157620875581 +808000 ekin = 4.45707835864346 | erot = 3.35175675914227 | epot = -36.7022500935515 | etot = -28.8934149757658 +809000 ekin = 4.32670887591497 | erot = 3.3204635551547 | epot = -36.7741824114222 | etot = -29.1270099803525 +810000 ekin = 4.19642960492062 | erot = 3.20396083815671 | epot = -36.8832195227742 | etot = -29.4828290796969 +811000 ekin = 4.18603442116872 | erot = 3.54097838794675 | epot = -37.0402774324897 | etot = -29.3132646233742 +812000 ekin = 4.3319099162396 | erot = 3.67977508148913 | epot = -37.2334955671967 | etot = -29.221810569468 +813000 ekin = 4.46701990899706 | erot = 3.84749046887719 | epot = -37.4770063129616 | etot = -29.1624959350873 +814000 ekin = 4.70593563863212 | erot = 4.02074050200669 | epot = -37.7739765579907 | etot = -29.0473004173519 +815000 ekin = 4.61635561952459 | erot = 4.30893882425418 | epot = -38.0622407069025 | etot = -29.1369462631237 +816000 ekin = 4.66419241223221 | erot = 4.43348416466983 | epot = -38.3533945439932 | etot = -29.2557179670912 +817000 ekin = 4.61492034782011 | erot = 4.8589683614048 | epot = -38.6054729848476 | etot = -29.1315842756226 +818000 ekin = 4.69361355558547 | erot = 4.57560992803662 | epot = -38.8141140205618 | etot = -29.5448905369397 +819000 ekin = 4.99561997491401 | erot = 4.59057590873866 | epot = -38.986131465386 | etot = -29.3999355817333 +820000 ekin = 5.14251771001076 | erot = 4.38257454602465 | epot = -39.1119793527868 | etot = -29.5868870967514 +821000 ekin = 5.21211790510897 | erot = 3.7649363964534 | epot = -39.1791873910089 | etot = -30.2021330894465 +822000 ekin = 5.2276374734314 | erot = 3.8199393472184 | epot = -39.2257832500633 | etot = -30.1782064294135 +823000 ekin = 5.20824824630017 | erot = 3.61818509207455 | epot = -39.2577442235125 | etot = -30.4313108851377 +824000 ekin = 5.29481176258827 | erot = 3.61607107182776 | epot = -39.2930045776047 | etot = -30.3821217431886 +825000 ekin = 5.34590564278664 | erot = 3.4760580167516 | epot = -39.3020776711423 | etot = -30.4801140116041 +826000 ekin = 5.38005087585455 | erot = 3.56002985231027 | epot = -39.2878928900547 | etot = -30.3478121618899 +827000 ekin = 5.38251681844102 | erot = 3.31581026558379 | epot = -39.283897328375 | etot = -30.5855702443502 +828000 ekin = 5.30162295798549 | erot = 2.79999506814083 | epot = -39.2990437954937 | etot = -31.1974257693674 +829000 ekin = 5.34935471298301 | erot = 2.6338075385136 | epot = -39.3079384502704 | etot = -31.3247761987738 +830000 ekin = 5.15642397228145 | erot = 2.78944963382923 | epot = -39.3294203636002 | etot = -31.3835467574896 +831000 ekin = 5.04271329110473 | erot = 3.07984504895606 | epot = -39.3562191308944 | etot = -31.2336607908336 +832000 ekin = 5.04415123872855 | erot = 3.36917057661115 | epot = -39.3458026730645 | etot = -30.9324808577248 +833000 ekin = 4.97652700754261 | erot = 3.11016826810616 | epot = -39.3003589046717 | etot = -31.2136636290229 +834000 ekin = 4.66785324148471 | erot = 2.98799062968103 | epot = -39.2007615011679 | etot = -31.5449176300022 +835000 ekin = 4.4196794841071 | erot = 3.24754240638097 | epot = -39.0370935965117 | etot = -31.3698717060237 +836000 ekin = 4.1939950117267 | erot = 3.40709899396284 | epot = -38.8824429433984 | etot = -31.2813489377089 +837000 ekin = 4.05102708476636 | erot = 3.50403284169154 | epot = -38.7291298465769 | etot = -31.174069920119 +838000 ekin = 3.94991363719784 | erot = 3.82377156946596 | epot = -38.5557937558062 | etot = -30.7821085491424 +839000 ekin = 3.74326665318806 | erot = 3.97324655976055 | epot = -38.364381604374 | etot = -30.6478683914254 +840000 ekin = 3.7035157452831 | erot = 3.5124488621716 | epot = -38.1559200259235 | etot = -30.9399554184688 +841000 ekin = 3.60547887438446 | erot = 3.69151206404978 | epot = -37.9552189953856 | etot = -30.6582280569514 +842000 ekin = 3.38591284746056 | erot = 3.48115901302566 | epot = -37.7647482919521 | etot = -30.8976764314659 +843000 ekin = 3.11807787995921 | erot = 3.24962582172021 | epot = -37.5931200484574 | etot = -31.225416346778 +844000 ekin = 3.03125896851729 | erot = 3.10915311466668 | epot = -37.4053554848136 | etot = -31.2649434016296 +845000 ekin = 2.84759324027404 | erot = 3.53115382226703 | epot = -37.2260086331777 | etot = -30.8472615706367 +846000 ekin = 2.83613069836942 | erot = 3.41497522988127 | epot = -37.085320604792 | etot = -30.8342146765413 +847000 ekin = 2.82518542790909 | erot = 3.92646137605455 | epot = -36.9740965925522 | etot = -30.2224497885886 +848000 ekin = 2.8035610196741 | erot = 3.75897131812056 | epot = -36.8749675315763 | etot = -30.3124351937817 +849000 ekin = 2.84159199816875 | erot = 3.65493979263097 | epot = -36.7798908055852 | etot = -30.2833590147855 +850000 ekin = 2.91517374365839 | erot = 3.25543936029153 | epot = -36.7388454898332 | etot = -30.5682323858832 +851000 ekin = 3.08764953673805 | erot = 3.74455145978084 | epot = -36.722364218189 | etot = -29.8901632216702 +852000 ekin = 3.20356705871957 | erot = 3.86422941824788 | epot = -36.7413165099185 | etot = -29.6735200329511 +853000 ekin = 3.25796036952423 | erot = 4.25509323905633 | epot = -36.7658517979734 | etot = -29.2527981893928 +854000 ekin = 3.57244822927295 | erot = 4.1896974412388 | epot = -36.8021340521276 | etot = -29.0399883816159 +855000 ekin = 3.61706783412956 | erot = 4.16292249791868 | epot = -36.8626923862697 | etot = -29.0827020542215 +856000 ekin = 3.78538239756072 | erot = 4.11253551603666 | epot = -36.9244661414333 | etot = -29.0265482278359 +857000 ekin = 3.7817884765619 | erot = 4.13628071929874 | epot = -37.0292483027729 | etot = -29.1111791069122 +858000 ekin = 3.79767899411331 | erot = 4.25390024597203 | epot = -37.1883443366328 | etot = -29.1367650965475 +859000 ekin = 3.79646558910377 | erot = 4.39490149089977 | epot = -37.3423128301967 | etot = -29.1509457501932 +860000 ekin = 3.86711139340926 | erot = 4.91957560544857 | epot = -37.4915022932785 | etot = -28.7048152944207 +861000 ekin = 3.99177075241504 | erot = 4.92589410247942 | epot = -37.5868681074784 | etot = -28.6692032525839 +862000 ekin = 4.0977748877086 | erot = 4.85487231115065 | epot = -37.6175250863704 | etot = -28.6648778875111 +863000 ekin = 4.13925231113692 | erot = 4.50896117392355 | epot = -37.5986086016775 | etot = -28.950395116617 +864000 ekin = 4.14764866587724 | erot = 4.42487018235684 | epot = -37.5204132439163 | etot = -28.9478943956823 +865000 ekin = 4.14664914911426 | erot = 4.25648196395736 | epot = -37.3939280409738 | etot = -28.9907969279022 +866000 ekin = 4.14214320133934 | erot = 4.18089045470177 | epot = -37.217946082973 | etot = -28.8949124269318 +867000 ekin = 4.2533355578306 | erot = 3.91180056252889 | epot = -37.0368358637666 | etot = -28.8716997434071 +868000 ekin = 4.25544635673827 | erot = 4.03934502097174 | epot = -36.892523740773 | etot = -28.597732363063 +869000 ekin = 4.24112681076909 | erot = 4.01454747654454 | epot = -36.8084367274645 | etot = -28.5527624401508 +870000 ekin = 4.33478513328131 | erot = 3.78349131069572 | epot = -36.7681636745504 | etot = -28.6498872305733 +871000 ekin = 4.17502061004023 | erot = 3.95421063049773 | epot = -36.7899780247081 | etot = -28.6607467841701 +872000 ekin = 4.17603847735526 | erot = 3.83768938083062 | epot = -36.8688005631066 | etot = -28.8550727049207 +873000 ekin = 4.41693719639203 | erot = 4.07505566261082 | epot = -36.9767379853334 | etot = -28.4847451263305 +874000 ekin = 4.41295334009184 | erot = 4.18394759912804 | epot = -37.1369142438381 | etot = -28.5400133046182 +875000 ekin = 4.52955334955961 | erot = 4.19580464694757 | epot = -37.3370998777392 | etot = -28.611741881232 +876000 ekin = 4.61247068682171 | erot = 4.50897081856651 | epot = -37.5248349335733 | etot = -28.4033934281851 +877000 ekin = 4.76533246609024 | erot = 4.08201826718837 | epot = -37.6873606048119 | etot = -28.8400098715333 +878000 ekin = 4.8610970109619 | erot = 4.033155729642 | epot = -37.8092910984767 | etot = -28.9150383578728 +879000 ekin = 4.93322526419523 | erot = 3.94479688455364 | epot = -37.8433128250758 | etot = -28.965290676327 +880000 ekin = 4.91177719282767 | erot = 3.90966953329197 | epot = -37.7988935874806 | etot = -28.9774468613609 +881000 ekin = 4.87595051611486 | erot = 3.76638474532604 | epot = -37.6791282073033 | etot = -29.0367929458624 +882000 ekin = 4.80398792776863 | erot = 3.52725045146498 | epot = -37.4958553191656 | etot = -29.164616939932 +883000 ekin = 4.56372183806134 | erot = 3.17268134770781 | epot = -37.3026048485108 | etot = -29.5662016627417 +884000 ekin = 4.38408070690848 | erot = 2.95287988074379 | epot = -37.1164899885588 | etot = -29.7795294009065 +885000 ekin = 4.2140126763182 | erot = 3.28627816383894 | epot = -36.942394624606 | etot = -29.4421037844489 +886000 ekin = 3.94208450896381 | erot = 3.61827008671528 | epot = -36.8244889717495 | etot = -29.2641343760704 +887000 ekin = 3.76025689669878 | erot = 3.89282193563174 | epot = -36.7542446517018 | etot = -29.1011658193713 +888000 ekin = 3.58518173626509 | erot = 4.10918051627072 | epot = -36.7235080282654 | etot = -29.0291457757296 +889000 ekin = 3.52227905599303 | erot = 4.53948895643315 | epot = -36.7423345916829 | etot = -28.6805665792567 +890000 ekin = 3.48725850687851 | erot = 4.9165184567076 | epot = -36.8110749451072 | etot = -28.4072979815211 +891000 ekin = 3.51807183016932 | erot = 5.36785996032727 | epot = -36.9187079043847 | etot = -28.0327761138882 +892000 ekin = 3.486514414829 | erot = 5.25687644163098 | epot = -37.0005216584193 | etot = -28.2571308019593 +893000 ekin = 3.51467838155448 | erot = 5.65149044087548 | epot = -37.0594453420589 | etot = -27.8932765196289 +894000 ekin = 3.45974654612958 | erot = 5.22169711042558 | epot = -37.102064267985 | etot = -28.4206206114299 +895000 ekin = 3.57216437063937 | erot = 5.40895067977451 | epot = -37.1028729086238 | etot = -28.1217578582099 +896000 ekin = 3.56655921068659 | erot = 5.69090228219611 | epot = -37.0708217415226 | etot = -27.8133602486399 +897000 ekin = 3.57757547803441 | erot = 5.90228049359103 | epot = -36.985951453297 | etot = -27.5060954816716 +898000 ekin = 3.52295514054554 | erot = 5.8453836024045 | epot = -36.8484715408739 | etot = -27.4801327979239 +899000 ekin = 3.42191869064122 | erot = 5.47174915922149 | epot = -36.6856616378138 | etot = -27.7919937879511 +900000 ekin = 3.45720121517251 | erot = 5.5997377251197 | epot = -36.5148133918243 | etot = -27.4578744515321 +901000 ekin = 3.51607619901873 | erot = 5.88763510779633 | epot = -36.2859464010554 | etot = -26.8822350942404 +902000 ekin = 3.56087621117599 | erot = 5.17399063106631 | epot = -36.0621785767821 | etot = -27.3273117345398 +903000 ekin = 3.56470936099584 | erot = 5.07361698005476 | epot = -35.8794588183591 | etot = -27.2411324773085 +904000 ekin = 3.64294879518974 | erot = 5.28022715353087 | epot = -35.7543216612797 | etot = -26.8311457125591 +905000 ekin = 3.72447152602649 | erot = 5.02657007424407 | epot = -35.658280490972 | etot = -26.9072388907014 +906000 ekin = 3.7591413367746 | erot = 4.63070748715657 | epot = -35.6129995043961 | etot = -27.2231506804649 +907000 ekin = 4.00046169414905 | erot = 4.63743176602948 | epot = -35.6087015116484 | etot = -26.9708080514698 +908000 ekin = 3.98050966425778 | erot = 4.23795607914778 | epot = -35.6020003534093 | etot = -27.3835346100038 +909000 ekin = 4.14488755713113 | erot = 3.77771446920632 | epot = -35.5819012555779 | etot = -27.6592992292404 +910000 ekin = 4.18878899263847 | erot = 3.85878998652442 | epot = -35.5853308204837 | etot = -27.5377518413208 +911000 ekin = 4.15448454865027 | erot = 3.93063753948133 | epot = -35.6075046071671 | etot = -27.5223825190355 +912000 ekin = 4.30922033403085 | erot = 4.53644215925813 | epot = -35.6368602869792 | etot = -26.7911977936902 +913000 ekin = 4.42050627097881 | erot = 4.36559538893036 | epot = -35.6635505470016 | etot = -26.8774488870924 +914000 ekin = 4.640384167071 | erot = 4.57708989772434 | epot = -35.6621612967503 | etot = -26.4446872319549 +915000 ekin = 4.71121950508134 | erot = 4.34018648406978 | epot = -35.6015140360078 | etot = -26.5501080468567 +916000 ekin = 4.67735943326423 | erot = 4.0723772918907 | epot = -35.4903050476411 | etot = -26.7405683224862 +917000 ekin = 4.78142703706188 | erot = 4.20198791892984 | epot = -35.3917685265255 | etot = -26.4083535705337 +918000 ekin = 4.77421198697552 | erot = 4.42971373988936 | epot = -35.2582637676415 | etot = -26.0543380407766 +919000 ekin = 4.73422216253545 | erot = 4.77044814340035 | epot = -35.0931913565727 | etot = -25.5885210506369 +920000 ekin = 4.64583700130455 | erot = 4.69774436792038 | epot = -34.9395895324828 | etot = -25.5960081632579 +921000 ekin = 4.61516328270518 | erot = 4.43350879426847 | epot = -34.8128426462836 | etot = -25.7641705693099 +922000 ekin = 4.55621337364702 | erot = 4.21768777753359 | epot = -34.7312720351653 | etot = -25.9573708839847 +923000 ekin = 4.59034826680647 | erot = 4.50920703076125 | epot = -34.7044992141191 | etot = -25.6049439165514 +924000 ekin = 4.58356240196665 | erot = 4.62074320796166 | epot = -34.7126986327387 | etot = -25.5083930228104 +925000 ekin = 4.53220072801023 | erot = 4.79254817721209 | epot = -34.7588998026814 | etot = -25.4341508974591 +926000 ekin = 4.55832715206815 | erot = 5.00471911281168 | epot = -34.8080246038137 | etot = -25.2449783389339 +927000 ekin = 4.62575171089295 | erot = 4.71181044830442 | epot = -34.8667293476304 | etot = -25.529167188433 +928000 ekin = 4.68657375207003 | erot = 4.76234601746771 | epot = -34.915949836791 | etot = -25.4670300672533 +929000 ekin = 4.7061028915664 | erot = 5.07097104655604 | epot = -34.9791697926744 | etot = -25.202095854552 +930000 ekin = 4.79474071813729 | erot = 5.21915381885274 | epot = -35.0589708185177 | etot = -25.0450762815277 +931000 ekin = 4.69039359230418 | erot = 5.48593447848777 | epot = -35.1099047138343 | etot = -24.9335766430423 +932000 ekin = 4.71110094603637 | erot = 5.47204685356053 | epot = -35.1612846037812 | etot = -24.9781368041843 +933000 ekin = 4.7636965267817 | erot = 5.41370570081805 | epot = -35.2317575147297 | etot = -25.05435528713 +934000 ekin = 4.8364389439216 | erot = 5.2350863141415 | epot = -35.3109086743972 | etot = -25.2393834163341 +935000 ekin = 4.76586014730834 | erot = 5.228655408338 | epot = -35.3670038676022 | etot = -25.3724883119559 +936000 ekin = 4.7459923218976 | erot = 5.40903849081579 | epot = -35.4141584031058 | etot = -25.2591275903924 +937000 ekin = 4.7066536683933 | erot = 5.90535300927756 | epot = -35.4573569432673 | etot = -24.8453502655964 +938000 ekin = 4.73520980049429 | erot = 5.48994015212968 | epot = -35.4717259493542 | etot = -25.2465759967302 +939000 ekin = 4.66471904112943 | erot = 5.58667162801301 | epot = -35.4363389851247 | etot = -25.1849483159823 +940000 ekin = 4.73670308439586 | erot = 5.59502045341196 | epot = -35.3410735898338 | etot = -25.0093500520259 +941000 ekin = 4.56546752366747 | erot = 5.16939612930364 | epot = -35.2196425314888 | etot = -25.4847788785177 +942000 ekin = 4.36600564083038 | erot = 4.55609433699296 | epot = -35.0782455188793 | etot = -26.156145541056 +943000 ekin = 4.27680501591152 | erot = 4.77186490926151 | epot = -34.9346146494734 | etot = -25.8859447243004 +944000 ekin = 4.17576408255027 | erot = 4.64476704064174 | epot = -34.7936442239037 | etot = -25.9731131007117 +945000 ekin = 4.08165692512656 | erot = 4.64307958397957 | epot = -34.7241648822034 | etot = -25.9994283730973 +946000 ekin = 3.9823833768563 | erot = 4.33903183997624 | epot = -34.720898188062 | etot = -26.3994829712295 +947000 ekin = 4.11312487406737 | erot = 4.25698162025429 | epot = -34.8023164533845 | etot = -26.4322099590628 +948000 ekin = 4.03905965505087 | erot = 4.28038925265714 | epot = -34.928198667426 | etot = -26.608749759718 +949000 ekin = 4.12081251669323 | erot = 4.40083354096753 | epot = -35.1348098866843 | etot = -26.6131638290236 +950000 ekin = 4.19947300195308 | erot = 4.46892156641812 | epot = -35.3299547862415 | etot = -26.6615602178703 +951000 ekin = 4.28802819219167 | erot = 4.3680742443603 | epot = -35.5595339264167 | etot = -26.9034314898647 +952000 ekin = 4.44618066979822 | erot = 4.88998578447886 | epot = -35.776264591199 | etot = -26.4400981369219 +953000 ekin = 4.53022835549443 | erot = 4.90684636989333 | epot = -35.9402525430781 | etot = -26.5031778176903 +954000 ekin = 4.65793433636178 | erot = 4.95789701943152 | epot = -36.1007223995856 | etot = -26.4848910437923 +955000 ekin = 4.68472849923193 | erot = 4.84778271057121 | epot = -36.2250094081872 | etot = -26.692498198384 +956000 ekin = 4.83489144923702 | erot = 4.61252423076074 | epot = -36.2912267944626 | etot = -26.8438111144649 +957000 ekin = 4.83158754758543 | erot = 4.06427874835662 | epot = -36.3314048744461 | etot = -27.4355385785041 +958000 ekin = 4.95872508890491 | erot = 3.86764289322934 | epot = -36.3554965538449 | etot = -27.5291285717106 +959000 ekin = 4.88220034385557 | erot = 3.76501141985199 | epot = -36.3703754351835 | etot = -27.7231636714759 +960000 ekin = 4.96739750076083 | erot = 3.70143986321351 | epot = -36.3537104260526 | etot = -27.6848730620782 +961000 ekin = 5.05073619223015 | erot = 3.58723306284219 | epot = -36.3292284086185 | etot = -27.6912591535462 +962000 ekin = 5.10220917296402 | erot = 3.43365806618123 | epot = -36.292660732266 | etot = -27.7567934931207 +963000 ekin = 5.25727455724231 | erot = 3.39047088285751 | epot = -36.2233249912108 | etot = -27.5755795511109 +964000 ekin = 5.33892942752122 | erot = 3.38850636488222 | epot = -36.1631800361608 | etot = -27.4357442437574 +965000 ekin = 5.29707309584692 | erot = 3.40709075904033 | epot = -36.114647791191 | etot = -27.4104839363038 +966000 ekin = 5.27380254283779 | erot = 3.34984185029608 | epot = -36.0934598827398 | etot = -27.4698154896059 +967000 ekin = 5.19975037009087 | erot = 3.54967607074493 | epot = -36.1222651146705 | etot = -27.3728386738347 +968000 ekin = 5.22098509097161 | erot = 3.38920040678115 | epot = -36.1570868906189 | etot = -27.5469013928661 +969000 ekin = 5.01248198517091 | erot = 3.26201512253216 | epot = -36.2130447987696 | etot = -27.9385476910665 +970000 ekin = 4.97914863237121 | erot = 3.76343819077309 | epot = -36.2895058744048 | etot = -27.5469190512605 +971000 ekin = 5.04224300192755 | erot = 3.59024832311355 | epot = -36.3590409977773 | etot = -27.7265496727362 +972000 ekin = 5.05787332232144 | erot = 3.83558558676212 | epot = -36.3997125264357 | etot = -27.5062536173522 +973000 ekin = 5.01777031588903 | erot = 3.27986497682672 | epot = -36.416683733591 | etot = -28.1190484408752 +974000 ekin = 4.96186842907965 | erot = 3.23479851019082 | epot = -36.4352005399287 | etot = -28.2385336006583 +975000 ekin = 4.97224363278484 | erot = 3.35077904927885 | epot = -36.455709806026 | etot = -28.1326871239623 +976000 ekin = 5.01625531380467 | erot = 3.41837200675027 | epot = -36.4643526378165 | etot = -28.0297253172615 +977000 ekin = 5.04359880486621 | erot = 3.40669885598948 | epot = -36.4673967616861 | etot = -28.0170991008304 +978000 ekin = 4.96814116021997 | erot = 3.3988542289389 | epot = -36.4671439769023 | etot = -28.1001485877434 +979000 ekin = 4.68494120169423 | erot = 3.87226166481182 | epot = -36.4696261904956 | etot = -27.9124233239896 +980000 ekin = 4.80514576213004 | erot = 3.73614562894118 | epot = -36.4753768381447 | etot = -27.9340854470735 +981000 ekin = 4.85375109376568 | erot = 4.35522911700057 | epot = -36.4902775794649 | etot = -27.2812973686986 +982000 ekin = 4.79648806853534 | erot = 4.15595945903824 | epot = -36.5084812040043 | etot = -27.5560336764307 +983000 ekin = 4.75907969484559 | erot = 4.43556787871588 | epot = -36.5083539693089 | etot = -27.3137063957474 +984000 ekin = 4.81598118844461 | erot = 4.52957555705406 | epot = -36.5383410952792 | etot = -27.1927843497806 +985000 ekin = 4.87924474651563 | erot = 4.3163097901408 | epot = -36.5777006480737 | etot = -27.3821461114172 +986000 ekin = 4.77128314225264 | erot = 4.12408981491538 | epot = -36.5819281400493 | etot = -27.6865551828813 +987000 ekin = 4.70900566206954 | erot = 4.08922713836853 | epot = -36.5892891612702 | etot = -27.7910563608322 +988000 ekin = 4.69685644927805 | erot = 4.03217145235649 | epot = -36.6289948782911 | etot = -27.8999669766566 +989000 ekin = 4.56955203825868 | erot = 4.16364650343098 | epot = -36.6885496975511 | etot = -27.9553511558614 +990000 ekin = 4.56207337975407 | erot = 3.92865148644803 | epot = -36.7375440238769 | etot = -28.2468191576748 +991000 ekin = 4.45863269474038 | erot = 3.99370804360135 | epot = -36.8046932644695 | etot = -28.3523525261278 +992000 ekin = 4.52516169638379 | erot = 4.19036473784521 | epot = -36.90459516699 | etot = -28.189068732761 +993000 ekin = 4.26593637771868 | erot = 4.55899726308546 | epot = -37.028392229238 | etot = -28.2034585884339 +994000 ekin = 4.14968593988764 | erot = 4.67871188882305 | epot = -37.1561829580787 | etot = -28.327785129368 +995000 ekin = 4.20875361665793 | erot = 4.51127733270572 | epot = -37.2858931380942 | etot = -28.5658621887305 +996000 ekin = 4.10968366764503 | erot = 4.2587192792391 | epot = -37.3745810703572 | etot = -29.006178123473 +997000 ekin = 4.00616178452013 | erot = 4.48911641516102 | epot = -37.4314666701193 | etot = -28.9361884704382 +998000 ekin = 4.02180091280217 | erot = 4.35841167717868 | epot = -37.4443636100146 | etot = -29.0641510200337 +999000 ekin = 4.07504562976173 | erot = 4.26230873450589 | epot = -37.4098012996895 | etot = -29.0724469354219 +1000000 ekin = 3.90433765201102 | erot = 4.668818882285 | epot = -37.3063332342176 | etot = -28.7331766999216 + 1000000 0.10411567 -1.4674304 0.032571422 -1.2846921 -6.6175275e-05 64000 +Loop time of 49.5478 on 4 procs for 1000000 steps with 26 atoms + +Performance: 17437.690 tau/day, 20182.512 timesteps/s +99.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 | 23.242 | 32.434 | 41.795 | 160.6 | 65.46 +Bond | 0.49597 | 0.66041 | 0.81294 | 18.0 | 1.33 +Neigh | 0.014073 | 0.014118 | 0.014157 | 0.0 | 0.03 +Comm | 3.3957 | 12.586 | 21.586 | 253.2 | 25.40 +Output | 0.12903 | 0.14424 | 0.15087 | 2.3 | 0.29 +Modify | 1.6058 | 2.2732 | 2.9387 | 44.1 | 4.59 +Other | | 1.436 | | | 2.90 + +Nlocal: 6.50000 ave 10 max 3 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Nghost: 19.5000 ave 23 max 16 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Neighs: 131.000 ave 195 max 67 min +Histogram: 2 0 0 0 0 0 0 0 0 2 + +Total # of neighbors = 524 +Ave neighs/atom = 20.153846 +Ave special neighs/atom = 5.0769231 +Neighbor list builds = 1000 +Dangerous builds = 0 + +write_data last_config.${number}.* nocoeff +write_data last_config.4.* nocoeff +System init for write_data ... +Total wall time: 0:00:49 diff --git a/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.27May21.duplex4.8type.g++1 b/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.27May21.duplex4.8type.g++1 new file mode 100644 index 0000000000..e6c11be477 --- /dev/null +++ b/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.27May21.duplex4.8type.g++1 @@ -0,0 +1,1272 @@ +LAMMPS (27 May 2021) +variable number equal 8 +variable ofreq equal 1000 +variable efreq equal 1000 + +variable ntype equal 8 + +variable T equal 0.1 +variable rhos equal 0.2 + +units lj + +dimension 3 + +newton off + +boundary p p p + +atom_style hybrid bond ellipsoid oxdna +WARNING: Atom style hybrid defines both, per-type and per-atom masses; both must be set, but only per-atom masses will be used (../atom_vec_hybrid.cpp:157) +atom_modify sort 0 1.0 + +# Pair interactions require lists of neighbours to be calculated +neighbor 2.0 bin +neigh_modify every 10 delay 0 check yes + +read_data data.duplex4.8type +Reading data file ... + orthogonal box = (-20.000000 -20.000000 -20.000000) to (20.000000 20.000000 20.000000) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 26 atoms + reading velocities ... + 26 velocities + scanning bonds ... + 2 = max bonds/atom + 26 ellipsoids + reading bonds ... +Setting oxDNA 3'->5' bond directionality ... + 24 bonds +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 + 2 = max # of 1-3 neighbors + 4 = max # of 1-4 neighbors + 6 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.003 seconds + +mass * 3.1575 # sets per-type mass if not in data file +set atom * mass 3.1575 # sets per-atom mass +Setting atom values ... + 26 settings made for mass + +group all type 1 8 +26 atoms in group all + +# oxDNA2 bond interactions - FENE backbone +bond_style oxdna2/fene +bond_coeff * 2.0 0.25 0.7564 +special_bonds lj 0 1 1 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 1 1 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 2 = max # of 1-3 neighbors + 4 = max # of 1-4 neighbors + 6 = max # of special neighbors + special bonds CPU = 0.000 seconds + +# oxDNA pair interactions +pair_style hybrid/overlay oxdna2/excv oxdna2/stk oxdna2/hbond oxdna2/xstk oxdna2/coaxstk oxdna2/dh +pair_coeff * * oxdna2/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32 +pair_coeff * * oxdna2/stk seqdep ${T} 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 +pair_coeff * * oxdna2/stk seqdep 0.1 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 +pair_coeff * * oxdna2/hbond seqdep 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 + +label loop +variable base loop ${ntype} +variable base loop 8 + variable basemod equal ${base}%4 + variable basemod equal 1%4 + if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" +variable comp equal ${base}+3 +variable comp equal 1+3 +pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 1 ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 1 4 oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 + if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" +next base +jump in.duplex4.8type loop +variable base loop ${ntype} +variable base loop 8 + variable basemod equal ${base}%4 + variable basemod equal 2%4 + if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" + if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" +variable comp equal ${base}+1 +variable comp equal 2+1 +pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 2 ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 2 3 oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +next base +jump in.duplex4.8type loop +variable base loop ${ntype} +variable base loop 8 + variable basemod equal ${base}%4 + variable basemod equal 3%4 + if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" + if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" +next base +jump in.duplex4.8type loop +variable base loop ${ntype} +variable base loop 8 + variable basemod equal ${base}%4 + variable basemod equal 4%4 + if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" + if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" +next base +jump in.duplex4.8type loop +variable base loop ${ntype} +variable base loop 8 + variable basemod equal ${base}%4 + variable basemod equal 5%4 + if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" +variable comp equal ${base}+3 +variable comp equal 5+3 +pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 5 ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 5 8 oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 + if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" +next base +jump in.duplex4.8type loop +variable base loop ${ntype} +variable base loop 8 + variable basemod equal ${base}%4 + variable basemod equal 6%4 + if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" + if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" +variable comp equal ${base}+1 +variable comp equal 6+1 +pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 6 ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 6 7 oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +next base +jump in.duplex4.8type loop +variable base loop ${ntype} +variable base loop 8 + variable basemod equal ${base}%4 + variable basemod equal 7%4 + if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" + if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" +next base +jump in.duplex4.8type loop +variable base loop ${ntype} +variable base loop 8 + variable basemod equal ${base}%4 + variable basemod equal 8%4 + if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" + if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" +next base +jump in.duplex4.8type loop + +pair_coeff * * oxdna2/xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68 +pair_coeff * * oxdna2/coaxstk 58.5 0.4 0.6 0.22 0.58 2.0 2.891592653589793 0.65 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 40.0 3.116592653589793 +pair_coeff * * oxdna2/dh ${T} ${rhos} 0.815 +pair_coeff * * oxdna2/dh 0.1 ${rhos} 0.815 +pair_coeff * * oxdna2/dh 0.1 0.2 0.815 + +# Langevin dynamics +fix 1 all nve/asphere +fix 2 all langevin ${T} ${T} 2.5 457145 angmom 10 +fix 2 all langevin 0.1 ${T} 2.5 457145 angmom 10 +fix 2 all langevin 0.1 0.1 2.5 457145 angmom 10 + +timestep 1e-5 + +#comm_style tiled +fix 3 all balance 1000 1.03 shift xyz 10 1.03 +comm_modify cutoff 3.8 + +compute quat all property/atom quatw quati quatj quatk + +compute erot all erotate/asphere +compute ekin all ke +compute epot all pe +variable erot equal c_erot +variable ekin equal c_ekin +variable epot equal c_epot +variable etot equal c_erot+c_ekin+c_epot +fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes +fix 5 all print 1000 "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes + +dump out all custom ${ofreq} out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump out all custom 1000 out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump out all custom 1000 out.8.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump_modify out sort id +dump_modify out format line "%d %d %d %22.15le %22.15le %22.15le %d %d %d %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le" + +run 1000000 +Neighbor list info ... + update every 10 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 5.6389877 + ghost atom cutoff = 5.6389877 + binsize = 2.8194939, bins = 15 15 15 + 5 neighbor lists, perpetual/occasional/extra = 5 0 0 + (1) pair oxdna2/excv, perpetual + attributes: half, newton off + pair build: half/bin/newtoff + stencil: full/bin/3d + bin: standard + (2) pair oxdna2/hbond, perpetual, copy from (1) + attributes: half, newton off + pair build: copy + stencil: none + bin: none + (3) pair oxdna2/xstk, perpetual, copy from (1) + attributes: half, newton off + pair build: copy + stencil: none + bin: none + (4) pair oxdna2/coaxstk, perpetual, copy from (1) + attributes: half, newton off + pair build: copy + stencil: none + bin: none + (5) pair oxdna2/dh, perpetual, copy from (1) + attributes: half, newton off + pair build: copy + stencil: none + bin: none +WARNING: Communication cutoff adjusted to 5.638987723814632 (../comm.cpp:739) +0 ekin = 3.74991604702378 | erot = 3.45272678980464 | epot = -37.374200901142 | etot = -30.1715580643136 +Per MPI rank memory allocation (min/avg/max) = 9.578 | 9.578 | 9.578 Mbytes +Step Temp E_pair E_mol TotEng Press Volume + 0 0.099997761 -1.4717559 0.03428661 -1.2932417 5.6146609e-05 64000 +1000 ekin = 3.83184879800819 | erot = 3.50203401022061 | epot = -37.4730508915114 | etot = -30.1391680832826 +2000 ekin = 3.82227374831519 | erot = 3.79878100905234 | epot = -37.616191007464 | etot = -29.9951362500965 +3000 ekin = 3.90938932030971 | erot = 4.1584025695072 | epot = -37.7430329723255 | etot = -29.6752410825086 +4000 ekin = 3.82373321902577 | erot = 4.12183047279799 | epot = -37.8313543569025 | etot = -29.8857906650788 +5000 ekin = 3.7245469506492 | erot = 4.29953523687407 | epot = -37.8617217220935 | etot = -29.8376395345702 +6000 ekin = 3.75585156536887 | erot = 4.31270713695362 | epot = -37.8280629310505 | etot = -29.759504228728 +7000 ekin = 3.79326740841051 | erot = 4.16508360466874 | epot = -37.7640947397914 | etot = -29.8057437267121 +8000 ekin = 3.74746489835263 | erot = 4.25243425677965 | epot = -37.6835135449588 | etot = -29.6836143898265 +9000 ekin = 3.70802697723782 | erot = 4.00193184819408 | epot = -37.589938820096 | etot = -29.8799799946641 +10000 ekin = 3.5813559764108 | erot = 3.86411518632768 | epot = -37.5041732418664 | etot = -30.0587020791279 +11000 ekin = 3.45122934445656 | erot = 4.17035352993105 | epot = -37.485988256137 | etot = -29.8644053817494 +12000 ekin = 3.42435863038455 | erot = 4.2148747253892 | epot = -37.5307136425246 | etot = -29.8914802867509 +13000 ekin = 3.40216979362994 | erot = 4.07292918248778 | epot = -37.6378499557145 | etot = -30.1627509795968 +14000 ekin = 3.29213315521691 | erot = 4.50441987673247 | epot = -37.7761364031321 | etot = -29.9795833711827 +15000 ekin = 3.36883179726037 | erot = 4.91359031415189 | epot = -37.9357367952089 | etot = -29.6533146837967 +16000 ekin = 3.30177911852249 | erot = 5.0959341599744 | epot = -38.143737189117 | etot = -29.7460239106201 +17000 ekin = 3.27867865291038 | erot = 5.45789581601547 | epot = -38.3785999463332 | etot = -29.6420254774074 +18000 ekin = 3.36770908750654 | erot = 5.63036493519876 | epot = -38.5970397067551 | etot = -29.5989656840498 +19000 ekin = 3.29802639540141 | erot = 5.45616396083943 | epot = -38.7810833463914 | etot = -30.0268929901506 +20000 ekin = 3.28760849058064 | erot = 5.26031945979087 | epot = -38.9429500949467 | etot = -30.3950221445752 +21000 ekin = 3.32772748450134 | erot = 5.34990394778083 | epot = -39.0618181252057 | etot = -30.3841866929235 +22000 ekin = 3.34298346296243 | erot = 5.12273250375892 | epot = -39.1360899153794 | etot = -30.670373948658 +23000 ekin = 3.38280280428754 | erot = 5.14933572496704 | epot = -39.1974651493047 | etot = -30.6653266200501 +24000 ekin = 3.43991273776908 | erot = 5.03737353653106 | epot = -39.2427818934623 | etot = -30.7654956191621 +25000 ekin = 3.44382800915661 | erot = 4.56194227438371 | epot = -39.2491545805195 | etot = -31.2433842969791 +26000 ekin = 3.47220361933917 | erot = 4.88028216050144 | epot = -39.2033487475128 | etot = -30.8508629676722 +27000 ekin = 3.47824341108208 | erot = 4.79713670041817 | epot = -39.1340731989048 | etot = -30.8586930874045 +28000 ekin = 3.54835351423495 | erot = 4.6549460773945 | epot = -39.0768463918722 | etot = -30.8735468002427 +29000 ekin = 3.57491058588771 | erot = 4.31737192689198 | epot = -39.0420895500443 | etot = -31.1498070372646 +30000 ekin = 3.51438036654854 | erot = 4.50861299911588 | epot = -39.0276136699747 | etot = -31.0046203043103 +31000 ekin = 3.57650331888537 | erot = 4.40811531091205 | epot = -39.0168289246977 | etot = -31.0322102949003 +32000 ekin = 3.70658082522062 | erot = 4.15949186201365 | epot = -39.017410963825 | etot = -31.1513382765907 +33000 ekin = 3.83721022661993 | erot = 4.05055961618764 | epot = -39.0303039022728 | etot = -31.1425340594653 +34000 ekin = 3.9488588066567 | erot = 3.81495459058985 | epot = -39.0180833389346 | etot = -31.2542699416881 +35000 ekin = 3.97994525138311 | erot = 4.49904715736237 | epot = -38.9543629321031 | etot = -30.4753705233576 +36000 ekin = 3.90049506438254 | erot = 3.99723351860171 | epot = -38.8736492127443 | etot = -30.97592062976 +37000 ekin = 4.00119032736875 | erot = 4.30070706410094 | epot = -38.7576942972652 | etot = -30.4557969057955 +38000 ekin = 4.00581796835635 | erot = 3.82064458204037 | epot = -38.6053485149963 | etot = -30.7788859645996 +39000 ekin = 3.92374370666481 | erot = 3.80679256085699 | epot = -38.4357174066365 | etot = -30.7051811391147 +40000 ekin = 3.81525591020234 | erot = 3.60218215391064 | epot = -38.2889289083717 | etot = -30.8714908442588 +41000 ekin = 3.89801377589288 | erot = 3.52447171643245 | epot = -38.2033074629499 | etot = -30.7808219706246 +42000 ekin = 3.92469802136758 | erot = 3.7220708309091 | epot = -38.1843497161944 | etot = -30.5375808639177 +43000 ekin = 3.9035581905627 | erot = 3.65375269274892 | epot = -38.2197716832792 | etot = -30.6624607999676 +44000 ekin = 3.94906849382527 | erot = 3.48405507068381 | epot = -38.2852323155718 | etot = -30.8521087510627 +45000 ekin = 4.04988136986444 | erot = 3.38338492043344 | epot = -38.3792178397491 | etot = -30.9459515494513 +46000 ekin = 4.12456204511551 | erot = 3.52614566674481 | epot = -38.4473213411913 | etot = -30.796613629331 +47000 ekin = 4.05260082430176 | erot = 3.30110271195189 | epot = -38.4808326895797 | etot = -31.127129153326 +48000 ekin = 3.94672633965036 | erot = 3.3079094466035 | epot = -38.4845357728863 | etot = -31.2298999866324 +49000 ekin = 3.88681575217737 | erot = 3.7826220382333 | epot = -38.441512853504 | etot = -30.7720750630934 +50000 ekin = 3.82899985395713 | erot = 3.78573156370331 | epot = -38.3450518110651 | etot = -30.7303203934047 +51000 ekin = 3.8440574703342 | erot = 3.5318167647978 | epot = -38.2059734024446 | etot = -30.8300991673126 +52000 ekin = 3.72257170524991 | erot = 3.44233441463351 | epot = -38.0493176755068 | etot = -30.8844115556234 +53000 ekin = 3.58458805955591 | erot = 3.40175184254422 | epot = -37.8770316144348 | etot = -30.8906917123346 +54000 ekin = 3.42774104644871 | erot = 3.019334453294 | epot = -37.7242775274777 | etot = -31.277202027735 +55000 ekin = 3.30773758120279 | erot = 3.11354928843073 | epot = -37.5844277892892 | etot = -31.1631409196556 +56000 ekin = 3.30267684217519 | erot = 3.36746893036052 | epot = -37.4528615341921 | etot = -30.7827157616564 +57000 ekin = 3.19775481140565 | erot = 3.06235541109216 | epot = -37.3795633131474 | etot = -31.1194530906496 +58000 ekin = 3.11776701522974 | erot = 3.21225050262699 | epot = -37.3545495658646 | etot = -31.0245320480079 +59000 ekin = 3.02660076850685 | erot = 3.05700513362467 | epot = -37.3753385948442 | etot = -31.2917326927127 +60000 ekin = 3.05479252149933 | erot = 3.09854486170695 | epot = -37.4441725320784 | etot = -31.2908351488721 +61000 ekin = 3.0170447679161 | erot = 3.76451997765653 | epot = -37.5384296958522 | etot = -30.7568649502795 +62000 ekin = 3.04313706615767 | erot = 3.65046217125996 | epot = -37.6255736746588 | etot = -30.9319744372411 +63000 ekin = 3.01457068009159 | erot = 3.63417424777149 | epot = -37.6954625017368 | etot = -31.0467175738737 +64000 ekin = 2.98716002899792 | erot = 3.6682341307717 | epot = -37.7940816265088 | etot = -31.1386874667392 +65000 ekin = 3.02462936411614 | erot = 3.70957377344581 | epot = -37.8868266007907 | etot = -31.1526234632287 +66000 ekin = 3.04943307417966 | erot = 3.64749592963954 | epot = -37.9385532609816 | etot = -31.2416242571625 +67000 ekin = 3.1066499876682 | erot = 3.92441992350054 | epot = -37.9686488739492 | etot = -30.9375789627804 +68000 ekin = 3.10508542338566 | erot = 3.51781674899961 | epot = -37.9831132441551 | etot = -31.3602110717698 +69000 ekin = 3.12460161346405 | erot = 3.45336993587922 | epot = -38.016048039057 | etot = -31.4380764897137 +70000 ekin = 3.2758656602578 | erot = 2.9433048812549 | epot = -38.0712687269606 | etot = -31.8520981854479 +71000 ekin = 3.39211310061244 | erot = 2.74512861011507 | epot = -38.1409313278077 | etot = -32.0036896170801 +72000 ekin = 3.40645093836715 | erot = 2.75927481548162 | epot = -38.2448895790434 | etot = -32.0791638251946 +73000 ekin = 3.52971008848809 | erot = 2.59006671029947 | epot = -38.3559671032089 | etot = -32.2361903044213 +74000 ekin = 3.64539698532463 | erot = 2.94116909218571 | epot = -38.4934235930849 | etot = -31.9068575155746 +75000 ekin = 3.801696795608 | erot = 3.11004664709642 | epot = -38.6561648833572 | etot = -31.7444214406528 +76000 ekin = 3.86343004207976 | erot = 3.33165114941781 | epot = -38.7892518002905 | etot = -31.5941706087929 +77000 ekin = 3.90472352035102 | erot = 3.31177401193371 | epot = -38.8678679983232 | etot = -31.6513704660385 +78000 ekin = 3.9269153046816 | erot = 3.25784074314334 | epot = -38.8969605625463 | etot = -31.7122045147213 +79000 ekin = 3.93607959529908 | erot = 3.16472395725651 | epot = -38.8636036578362 | etot = -31.7628001052806 +80000 ekin = 3.92375596570378 | erot = 3.03932991445862 | epot = -38.7678348516125 | etot = -31.8047489714501 +81000 ekin = 3.94307777153344 | erot = 2.88134017144298 | epot = -38.6473318824763 | etot = -31.8229139394999 +82000 ekin = 3.86696228915961 | erot = 2.89149309255461 | epot = -38.5199433915521 | etot = -31.7614880098378 +83000 ekin = 3.6081427560926 | erot = 2.81572010912292 | epot = -38.3996592376439 | etot = -31.9757963724284 +84000 ekin = 3.71373301448703 | erot = 2.72793818704548 | epot = -38.3011883980017 | etot = -31.8595171964692 +85000 ekin = 3.50951070251159 | erot = 2.79348490714941 | epot = -38.2117363909516 | etot = -31.9087407812906 +86000 ekin = 3.47308524750452 | erot = 3.12141964520655 | epot = -38.1244236248809 | etot = -31.5299187321698 +87000 ekin = 3.47440394227045 | erot = 3.04160702571501 | epot = -38.0440539828501 | etot = -31.5280430148646 +88000 ekin = 3.44172477689074 | erot = 2.9990722717108 | epot = -37.985933210493 | etot = -31.5451361618915 +89000 ekin = 3.46547245050653 | erot = 3.42367325086154 | epot = -37.9432140623316 | etot = -31.0540683609635 +90000 ekin = 3.47276106924418 | erot = 3.41105238494323 | epot = -37.9009776655539 | etot = -31.0171642113665 +91000 ekin = 3.31717291023281 | erot = 4.00503611404964 | epot = -37.8509086765272 | etot = -30.5286996522448 +92000 ekin = 3.30281925189457 | erot = 3.78657692130456 | epot = -37.8308149894368 | etot = -30.7414188162377 +93000 ekin = 3.23932364656724 | erot = 3.46021357148709 | epot = -37.8328101558439 | etot = -31.1332729377896 +94000 ekin = 3.19291152023926 | erot = 3.36401906457213 | epot = -37.8297890174383 | etot = -31.2728584326269 +95000 ekin = 3.11174095364039 | erot = 3.84559531996385 | epot = -37.8285495206063 | etot = -30.871213247002 +96000 ekin = 3.08253957616711 | erot = 4.19970849347949 | epot = -37.8307056468836 | etot = -30.548457577237 +97000 ekin = 3.01019162595086 | erot = 4.79435511235201 | epot = -37.8474383063021 | etot = -30.0428915679993 +98000 ekin = 2.95004498340949 | erot = 4.45721895779629 | epot = -37.8489202082855 | etot = -30.4416562670797 +99000 ekin = 2.91563074020307 | erot = 4.14781823161594 | epot = -37.8396252499933 | etot = -30.7761762781743 +100000 ekin = 2.90648603235873 | erot = 3.81215086067846 | epot = -37.7900595351461 | etot = -31.0714226421089 +101000 ekin = 2.85218071196321 | erot = 3.48991910340801 | epot = -37.7570245236791 | etot = -31.4149247083079 +102000 ekin = 2.86052427330306 | erot = 3.57587365782281 | epot = -37.7214005697291 | etot = -31.2850026386032 +103000 ekin = 2.8891327192239 | erot = 3.41748118405775 | epot = -37.6983180369494 | etot = -31.3917041336678 +104000 ekin = 2.81650081212178 | erot = 3.64361039549593 | epot = -37.6651320682074 | etot = -31.2050208605896 +105000 ekin = 2.79823699847459 | erot = 3.35865525277727 | epot = -37.6511913094719 | etot = -31.4942990582201 +106000 ekin = 2.78255015161699 | erot = 3.64122601097051 | epot = -37.6357012767033 | etot = -31.2119251141158 +107000 ekin = 2.88530590298807 | erot = 3.80038887689837 | epot = -37.6526611371133 | etot = -30.9669663572269 +108000 ekin = 2.83844762508153 | erot = 3.95272494897021 | epot = -37.7224292501162 | etot = -30.9312566760645 +109000 ekin = 2.91484982662488 | erot = 4.34544884566574 | epot = -37.8436434051328 | etot = -30.5833447328422 +110000 ekin = 2.93667443132402 | erot = 4.67698362049716 | epot = -37.9759529936705 | etot = -30.3622949418493 +111000 ekin = 3.11047864616464 | erot = 4.30694673133238 | epot = -38.1028692919236 | etot = -30.6854439144265 +112000 ekin = 3.32630420939175 | erot = 4.07222830175948 | epot = -38.2330557688864 | etot = -30.8345232577351 +113000 ekin = 3.38238157246172 | erot = 4.25399862575992 | epot = -38.4031841501304 | etot = -30.7668039519087 +114000 ekin = 3.40165200205494 | erot = 4.30744946748784 | epot = -38.6070332241658 | etot = -30.897931754623 +115000 ekin = 3.57685598139984 | erot = 4.55740206723824 | epot = -38.8200433287838 | etot = -30.6857852801457 +116000 ekin = 3.75973031177342 | erot = 4.36157654592901 | epot = -39.0323085624547 | etot = -30.9110017047523 +117000 ekin = 4.08170792820106 | erot = 4.22817627757005 | epot = -39.2374888319018 | etot = -30.9276046261307 +118000 ekin = 4.20730049786356 | erot = 4.45363628574763 | epot = -39.4247594107618 | etot = -30.7638226271506 +119000 ekin = 4.26502745539808 | erot = 4.38707691524364 | epot = -39.5609276649307 | etot = -30.908823294289 +120000 ekin = 4.18668022830479 | erot = 4.24219249569083 | epot = -39.6276325806845 | etot = -31.1987598566889 +121000 ekin = 4.37673633947888 | erot = 4.44899930150558 | epot = -39.5989335189463 | etot = -30.7731978779618 +122000 ekin = 4.38970640566175 | erot = 4.08524736298497 | epot = -39.5011631447288 | etot = -31.0262093760821 +123000 ekin = 4.42858502015388 | erot = 3.3866674865171 | epot = -39.3700347945818 | etot = -31.5547822879108 +124000 ekin = 4.41843242629726 | erot = 3.2990259988492 | epot = -39.2496495732995 | etot = -31.5321911481531 +125000 ekin = 4.26174945235079 | erot = 3.29673673713418 | epot = -39.1012418833315 | etot = -31.5427556938465 +126000 ekin = 4.24892047563245 | erot = 3.36728042977254 | epot = -38.9439369649169 | etot = -31.3277360595119 +127000 ekin = 4.20697642244211 | erot = 3.24776092764455 | epot = -38.7860930134988 | etot = -31.3313556634122 +128000 ekin = 4.05115550712502 | erot = 3.47679598409542 | epot = -38.6330582994879 | etot = -31.1051068082675 +129000 ekin = 4.05771564566357 | erot = 3.55109790126645 | epot = -38.5073350485465 | etot = -30.8985215016165 +130000 ekin = 3.96453894213024 | erot = 3.53313522266287 | epot = -38.391565950826 | etot = -30.8938917860329 +131000 ekin = 3.98900505769185 | erot = 3.64077310068002 | epot = -38.2786451293433 | etot = -30.6488669709715 +132000 ekin = 3.73079609117297 | erot = 3.73126171283416 | epot = -38.1409399456635 | etot = -30.6788821416564 +133000 ekin = 3.65247250435604 | erot = 3.53430985836842 | epot = -38.0235035134258 | etot = -30.8367211507014 +134000 ekin = 3.69649402588234 | erot = 3.97356364722734 | epot = -37.9278485959381 | etot = -30.2577909228284 +135000 ekin = 3.57147615494151 | erot = 4.00472599145957 | epot = -37.8397002442412 | etot = -30.2634980978401 +136000 ekin = 3.54164301577371 | erot = 3.88237062104613 | epot = -37.7460882463412 | etot = -30.3220746095214 +137000 ekin = 3.41247180964225 | erot = 3.32750587829706 | epot = -37.624611292303 | etot = -30.8846336043637 +138000 ekin = 3.46206567288778 | erot = 3.47277237990371 | epot = -37.562116148782 | etot = -30.6272780959905 +139000 ekin = 3.46179863350055 | erot = 3.29345554522848 | epot = -37.5218039357363 | etot = -30.7665497570072 +140000 ekin = 3.57268233853845 | erot = 3.52021546572331 | epot = -37.4799882832129 | etot = -30.3870904789511 +141000 ekin = 3.48030321137918 | erot = 3.69147952189479 | epot = -37.4842309048151 | etot = -30.3124481715412 +142000 ekin = 3.63349703801688 | erot = 3.72222694231689 | epot = -37.5326170636814 | etot = -30.1768930833476 +143000 ekin = 3.71391772492725 | erot = 3.32855653910442 | epot = -37.5715573506383 | etot = -30.5290830866066 +144000 ekin = 3.59876610372653 | erot = 3.57133292531719 | epot = -37.6083426167156 | etot = -30.4382435876719 +145000 ekin = 3.5512989873801 | erot = 3.38442665443486 | epot = -37.645703742064 | etot = -30.709978100249 +146000 ekin = 3.57274630492877 | erot = 3.74306660671644 | epot = -37.691839929883 | etot = -30.3760270182378 +147000 ekin = 3.5117518000457 | erot = 4.0750620350483 | epot = -37.7115891932223 | etot = -30.1247753581283 +148000 ekin = 3.52194530375138 | erot = 4.22438638639834 | epot = -37.7453589028592 | etot = -29.9990272127095 +149000 ekin = 3.43829227837994 | erot = 4.25032155928027 | epot = -37.7800675049656 | etot = -30.0914536673054 +150000 ekin = 3.39573759305128 | erot = 4.12519198982267 | epot = -37.7779101405858 | etot = -30.2569805577119 +151000 ekin = 3.38494817974853 | erot = 3.91154836764821 | epot = -37.7346130185548 | etot = -30.4381164711581 +152000 ekin = 3.3392823348606 | erot = 3.82420376901226 | epot = -37.692306373128 | etot = -30.5288202692551 +153000 ekin = 3.38955645731951 | erot = 3.72251905459204 | epot = -37.6703717263954 | etot = -30.5582962144839 +154000 ekin = 3.40170171151684 | erot = 3.95270448125714 | epot = -37.678389708439 | etot = -30.323983515665 +155000 ekin = 3.44581188687109 | erot = 3.52528589615975 | epot = -37.7593041359925 | etot = -30.7882063529616 +156000 ekin = 3.55410349285978 | erot = 3.68359553101928 | epot = -37.8946612865558 | etot = -30.6569622626767 +157000 ekin = 3.67740663285557 | erot = 3.73708949692863 | epot = -38.0406477694048 | etot = -30.6261516396206 +158000 ekin = 3.70912292320975 | erot = 3.62418205239296 | epot = -38.1900046609472 | etot = -30.8566996853445 +159000 ekin = 3.68532826191219 | erot = 3.87298071798096 | epot = -38.2928836797074 | etot = -30.7345746998143 +160000 ekin = 3.72002440516707 | erot = 4.11592492943231 | epot = -38.3652902740975 | etot = -30.5293409394981 +161000 ekin = 3.73388863499049 | erot = 4.42836121024192 | epot = -38.4373191354185 | etot = -30.2750692901861 +162000 ekin = 4.02523829931051 | erot = 4.86807694190568 | epot = -38.4975346699526 | etot = -29.6042194287364 +163000 ekin = 4.03311015138293 | erot = 4.78291233450127 | epot = -38.5597523007636 | etot = -29.7437298148794 +164000 ekin = 4.13350042233596 | erot = 5.01454292769814 | epot = -38.5888368946085 | etot = -29.4407935445744 +165000 ekin = 4.25718467214142 | erot = 4.92225725319178 | epot = -38.5829201612761 | etot = -29.4034782359429 +166000 ekin = 4.11013815046467 | erot = 4.53806000830091 | epot = -38.5467907483034 | etot = -29.8985925895378 +167000 ekin = 4.08710467384557 | erot = 4.20997030650441 | epot = -38.4814936158367 | etot = -30.1844186354868 +168000 ekin = 4.03924000036824 | erot = 3.95993274976389 | epot = -38.3759188508994 | etot = -30.3767461007673 +169000 ekin = 3.94917218886625 | erot = 3.65240127094113 | epot = -38.2594355677077 | etot = -30.6578621079003 +170000 ekin = 3.90935554205295 | erot = 3.78797512477882 | epot = -38.1835201359158 | etot = -30.486189469084 +171000 ekin = 3.87732504895437 | erot = 4.28652570004447 | epot = -38.1402484566641 | etot = -29.9763977076653 +172000 ekin = 3.75957929171811 | erot = 4.02272820820135 | epot = -38.1557340618709 | etot = -30.3734265619515 +173000 ekin = 3.55030915228991 | erot = 4.03115995993289 | epot = -38.2480280629193 | etot = -30.6665589506965 +174000 ekin = 3.61281225750305 | erot = 4.30402685904732 | epot = -38.3795080285351 | etot = -30.4626689119848 +175000 ekin = 3.56741376549368 | erot = 4.24945045724327 | epot = -38.512592945838 | etot = -30.695728723101 +176000 ekin = 3.69966296688439 | erot = 4.22673264606626 | epot = -38.613145916328 | etot = -30.6867503033774 +177000 ekin = 3.72329334774794 | erot = 4.3963702174486 | epot = -38.6555013846404 | etot = -30.5358378194439 +178000 ekin = 3.79919357666777 | erot = 4.00194735045323 | epot = -38.66205820756 | etot = -30.860917280439 +179000 ekin = 3.78008346787866 | erot = 4.05267692212517 | epot = -38.6224110467894 | etot = -30.7896506567856 +180000 ekin = 3.84388711467654 | erot = 3.7091612553256 | epot = -38.5399848480518 | etot = -30.9869364780497 +181000 ekin = 3.78854199589324 | erot = 3.43025530256464 | epot = -38.4472679874806 | etot = -31.2284706890227 +182000 ekin = 3.65298336461987 | erot = 3.41446703840053 | epot = -38.3421256904841 | etot = -31.2746752874636 +183000 ekin = 3.57592466495276 | erot = 3.54000226366919 | epot = -38.2342661287445 | etot = -31.1183392001226 +184000 ekin = 3.59097293869165 | erot = 3.49764131752706 | epot = -38.1237685559037 | etot = -31.035154299685 +185000 ekin = 3.59874593561893 | erot = 3.34180949424636 | epot = -38.034561395544 | etot = -31.0940059656787 +186000 ekin = 3.55637392703386 | erot = 3.60010534755649 | epot = -37.9685691221059 | etot = -30.8120898475155 +187000 ekin = 3.30341471869178 | erot = 3.63282669533315 | epot = -37.9082034969873 | etot = -30.9719620829624 +188000 ekin = 3.25151380843724 | erot = 3.41587081506784 | epot = -37.8374520507026 | etot = -31.1700674271975 +189000 ekin = 3.09888859581596 | erot = 3.51324139411321 | epot = -37.7831379378027 | etot = -31.1710079478736 +190000 ekin = 2.93096647890479 | erot = 3.73100049541747 | epot = -37.7090579094218 | etot = -31.0470909350995 +191000 ekin = 2.78845789536297 | erot = 3.59181404756272 | epot = -37.6234731970087 | etot = -31.243201254083 +192000 ekin = 2.6870850400641 | erot = 3.91911783313644 | epot = -37.5268833853882 | etot = -30.9206805121877 +193000 ekin = 2.65091164661283 | erot = 3.82754219131909 | epot = -37.4213833049328 | etot = -30.9429294670009 +194000 ekin = 2.55372434146197 | erot = 3.81228833556049 | epot = -37.3433541779818 | etot = -30.9773415009593 +195000 ekin = 2.54515296633903 | erot = 3.77157425987469 | epot = -37.2550689450338 | etot = -30.93834171882 +196000 ekin = 2.57228739351373 | erot = 3.48448370430651 | epot = -37.1707275909679 | etot = -31.1139564931476 +197000 ekin = 2.47659034250724 | erot = 3.3178807523235 | epot = -37.1125490303325 | etot = -31.3180779355017 +198000 ekin = 2.47817611131603 | erot = 3.41593598489791 | epot = -37.0628542395746 | etot = -31.1687421433607 +199000 ekin = 2.46398696321841 | erot = 3.79330738397075 | epot = -37.0410272717133 | etot = -30.7837329245241 +200000 ekin = 2.66032750534599 | erot = 3.50045834258025 | epot = -37.0560186461539 | etot = -30.8952327982277 +201000 ekin = 2.82925423269706 | erot = 3.87280363693021 | epot = -37.1094527749142 | etot = -30.4073949052869 +202000 ekin = 2.87690134773418 | erot = 3.73724666810618 | epot = -37.1548849140445 | etot = -30.5407368982041 +203000 ekin = 3.09789929071276 | erot = 3.5468763526948 | epot = -37.1913390618664 | etot = -30.5465634184588 +204000 ekin = 3.22497830820396 | erot = 3.52082166300899 | epot = -37.2064645595877 | etot = -30.4606645883747 +205000 ekin = 3.08968228459861 | erot = 3.62768693137644 | epot = -37.2539593887054 | etot = -30.5365901727303 +206000 ekin = 3.11014150174799 | erot = 3.7385678659097 | epot = -37.3166778706671 | etot = -30.4679685030094 +207000 ekin = 3.1829453735337 | erot = 4.25652712659364 | epot = -37.3463184168163 | etot = -29.9068459166889 +208000 ekin = 3.18396090757435 | erot = 4.43896014450647 | epot = -37.3566061410103 | etot = -29.7336850889295 +209000 ekin = 3.31348354672036 | erot = 3.97662877739666 | epot = -37.3764215045059 | etot = -30.0863091803889 +210000 ekin = 3.17486958285111 | erot = 3.68714944924479 | epot = -37.3622513109276 | etot = -30.5002322788317 +211000 ekin = 3.24777381738383 | erot = 3.39112189744184 | epot = -37.3847088569506 | etot = -30.7458131421249 +212000 ekin = 3.1218235472922 | erot = 3.15133571404841 | epot = -37.4262282165351 | etot = -31.1530689551944 +213000 ekin = 3.12323090197305 | erot = 3.03298058440252 | epot = -37.4993866522037 | etot = -31.3431751658281 +214000 ekin = 3.02782055391862 | erot = 3.51893074263816 | epot = -37.6187398888692 | etot = -31.0719885923124 +215000 ekin = 3.08902625374248 | erot = 3.6205495251311 | epot = -37.8003692924877 | etot = -31.0907935136142 +216000 ekin = 3.04029181666715 | erot = 4.36545701920723 | epot = -38.008684651192 | etot = -30.6029358153176 +217000 ekin = 3.11869416684302 | erot = 4.23835788568566 | epot = -38.175518074188 | etot = -30.8184660216593 +218000 ekin = 3.12136726795469 | erot = 3.996273681316 | epot = -38.3382201370156 | etot = -31.2205791877449 +219000 ekin = 3.24749965239936 | erot = 4.03289859762057 | epot = -38.4910930976407 | etot = -31.2106948476207 +220000 ekin = 3.19731650656636 | erot = 4.16726840142139 | epot = -38.6410163306452 | etot = -31.2764314226575 +221000 ekin = 3.14591003185417 | erot = 4.47643673281146 | epot = -38.7807221211561 | etot = -31.1583753564904 +222000 ekin = 3.06194834255762 | erot = 4.40957176775777 | epot = -38.8960295960945 | etot = -31.4245094857791 +223000 ekin = 3.09392792198329 | erot = 4.36929377800849 | epot = -38.9696160320109 | etot = -31.5063943320191 +224000 ekin = 3.18434099924859 | erot = 4.67414126058087 | epot = -39.0019773177328 | etot = -31.1434950579034 +225000 ekin = 3.26887097312568 | erot = 4.32849031089059 | epot = -39.0446790784002 | etot = -31.4473177943839 +226000 ekin = 3.21195731331507 | erot = 5.11387401999727 | epot = -39.0947841174991 | etot = -30.7689527841868 +227000 ekin = 3.12036258026493 | erot = 5.06347912205035 | epot = -39.0762383614625 | etot = -30.8923966591473 +228000 ekin = 3.09996729726211 | erot = 5.29564700287474 | epot = -39.020898871325 | etot = -30.6252845711882 +229000 ekin = 3.038979337959 | erot = 5.24780237112316 | epot = -38.9575212211327 | etot = -30.6707395120505 +230000 ekin = 3.00051887289145 | erot = 4.62162674048173 | epot = -38.9098464143819 | etot = -31.2877008010087 +231000 ekin = 2.91912781370869 | erot = 4.1632154756593 | epot = -38.8503568044397 | etot = -31.7680135150717 +232000 ekin = 2.80548407611273 | erot = 4.26963451717883 | epot = -38.7971045932123 | etot = -31.7219859999207 +233000 ekin = 2.921352071703 | erot = 4.30663886521624 | epot = -38.7943069633022 | etot = -31.5663160263829 +234000 ekin = 2.89875675710069 | erot = 4.15218445741156 | epot = -38.7953536145697 | etot = -31.7444124000574 +235000 ekin = 2.99243729544443 | erot = 3.66858116296991 | epot = -38.7881689836611 | etot = -32.1271505252468 +236000 ekin = 3.05722012426339 | erot = 3.77007572255966 | epot = -38.8307946718327 | etot = -32.0034988250097 +237000 ekin = 2.9379768603675 | erot = 4.00589644921924 | epot = -38.9299465153368 | etot = -31.9860732057501 +238000 ekin = 2.94144352009249 | erot = 3.88111097233611 | epot = -39.049865747263 | etot = -32.2273112548344 +239000 ekin = 3.10382951223872 | erot = 3.96380163382862 | epot = -39.1526703213399 | etot = -32.0850391752726 +240000 ekin = 3.05998182778603 | erot = 4.32395093282876 | epot = -39.2052189603878 | etot = -31.821286199773 +241000 ekin = 3.07091800265519 | erot = 4.10063821004071 | epot = -39.2356744872186 | etot = -32.0641182745227 +242000 ekin = 2.97211136503678 | erot = 4.19271702506008 | epot = -39.2591861941866 | etot = -32.0943578040897 +243000 ekin = 2.88784895332254 | erot = 4.01063377556437 | epot = -39.2721844581365 | etot = -32.3737017292496 +244000 ekin = 2.72034159299268 | erot = 3.94970789536676 | epot = -39.2969463203695 | etot = -32.62689683201 +245000 ekin = 2.73288139378785 | erot = 4.2955252560862 | epot = -39.3467303394195 | etot = -32.3183236895454 +246000 ekin = 2.68282749729222 | erot = 4.4395870918117 | epot = -39.40368508993 | etot = -32.2812705008261 +247000 ekin = 2.73156079717722 | erot = 4.29997633507679 | epot = -39.4831744493475 | etot = -32.4516373170935 +248000 ekin = 2.71615239962783 | erot = 4.48384110145858 | epot = -39.562569036112 | etot = -32.3625755350256 +249000 ekin = 2.72571373834887 | erot = 4.53350194835673 | epot = -39.6161562336933 | etot = -32.3569405469877 +250000 ekin = 2.67302825179687 | erot = 5.17929377781993 | epot = -39.6758534551746 | etot = -31.8235314255578 +251000 ekin = 2.65073658987032 | erot = 5.39364408144152 | epot = -39.7013652486053 | etot = -31.6569845772935 +252000 ekin = 2.81604561937354 | erot = 5.50799647083818 | epot = -39.6939189845584 | etot = -31.3698768943466 +253000 ekin = 2.83629985586584 | erot = 4.91166111825353 | epot = -39.6825773475312 | etot = -31.9346163734119 +254000 ekin = 2.79908189634042 | erot = 4.88281944777358 | epot = -39.6620010988141 | etot = -31.9800997547001 +255000 ekin = 2.84238496514407 | erot = 4.79166487708071 | epot = -39.6680683880921 | etot = -32.0340185458674 +256000 ekin = 2.82611571908345 | erot = 4.38756969310689 | epot = -39.7220228798982 | etot = -32.5083374677078 +257000 ekin = 2.78077325096868 | erot = 4.56426394538529 | epot = -39.765795760232 | etot = -32.420758563878 +258000 ekin = 2.84466353932839 | erot = 4.94939241805623 | epot = -39.7743058264471 | etot = -31.9802498690625 +259000 ekin = 2.82994372921752 | erot = 4.84156348043274 | epot = -39.784508432178 | etot = -32.1130012225277 +260000 ekin = 2.84769599243485 | erot = 4.63369709433915 | epot = -39.8060470464451 | etot = -32.3246539596711 +261000 ekin = 2.87237157835355 | erot = 4.51865061212274 | epot = -39.7979847736534 | etot = -32.4069625831772 +262000 ekin = 2.96750612225969 | erot = 4.57561390426951 | epot = -39.7782660470081 | etot = -32.2351460204789 +263000 ekin = 2.99289365842386 | erot = 4.20953311292942 | epot = -39.745321167764 | etot = -32.5428943964107 +264000 ekin = 3.02610258005876 | erot = 4.41804994162533 | epot = -39.7005266944524 | etot = -32.2563741727683 +265000 ekin = 3.02210011112748 | erot = 4.29011549844086 | epot = -39.6578667285882 | etot = -32.3456511190199 +266000 ekin = 2.95526029973602 | erot = 3.97220133607363 | epot = -39.5863143733948 | etot = -32.6588527375852 +267000 ekin = 2.96306286479385 | erot = 4.39982365552045 | epot = -39.5117362736934 | etot = -32.1488497533791 +268000 ekin = 2.98837918599786 | erot = 4.59043107838108 | epot = -39.4346030266012 | etot = -31.8557927622223 +269000 ekin = 2.92733730866711 | erot = 4.81492520489309 | epot = -39.3017884762548 | etot = -31.5595259626946 +270000 ekin = 2.90335610024265 | erot = 4.98515255872077 | epot = -39.1437745457484 | etot = -31.255265886785 +271000 ekin = 2.87611923369233 | erot = 5.02631285080424 | epot = -38.9919498909518 | etot = -31.0895178064552 +272000 ekin = 2.87770260774598 | erot = 4.83651556609765 | epot = -38.840809395014 | etot = -31.1265912211704 +273000 ekin = 2.77329089721178 | erot = 4.69693225863749 | epot = -38.6610493537943 | etot = -31.190826197945 +274000 ekin = 2.68625637002662 | erot = 4.51669986790576 | epot = -38.4509728982942 | etot = -31.2480166603618 +275000 ekin = 2.60330324454304 | erot = 4.20171703621295 | epot = -38.218249935628 | etot = -31.413229654872 +276000 ekin = 2.5718307631142 | erot = 3.79152446287654 | epot = -38.0174336495133 | etot = -31.6540784235226 +277000 ekin = 2.49975386368567 | erot = 3.59614150828635 | epot = -37.8474968832235 | etot = -31.7516015112514 +278000 ekin = 2.46398069339708 | erot = 3.65098267442642 | epot = -37.6582057642293 | etot = -31.5432423964058 +279000 ekin = 2.48339824565313 | erot = 3.67548575635034 | epot = -37.5048702413578 | etot = -31.3459862393544 +280000 ekin = 2.53376634761126 | erot = 3.55656380463981 | epot = -37.3937621487776 | etot = -31.3034319965265 +281000 ekin = 2.67002406168562 | erot = 3.81689537677424 | epot = -37.3207483356567 | etot = -30.8338288971968 +282000 ekin = 2.63534042744473 | erot = 3.62617225051185 | epot = -37.2561498174831 | etot = -30.9946371395265 +283000 ekin = 2.62204960593212 | erot = 3.60063437351288 | epot = -37.1865464899413 | etot = -30.9638625104963 +284000 ekin = 2.67681575008792 | erot = 3.61566503901022 | epot = -37.1459845078296 | etot = -30.8535037187314 +285000 ekin = 2.71360352201124 | erot = 3.48822466196448 | epot = -37.1436040722676 | etot = -30.9417758882919 +286000 ekin = 2.72409949367872 | erot = 3.69046973300093 | epot = -37.1515114688671 | etot = -30.7369422421875 +287000 ekin = 2.78141221541724 | erot = 3.56169254019551 | epot = -37.1836412585712 | etot = -30.8405365029585 +288000 ekin = 2.93111949257215 | erot = 3.85252275716863 | epot = -37.2722312757955 | etot = -30.4885890260547 +289000 ekin = 3.22039073654111 | erot = 3.65796134125561 | epot = -37.4105935842029 | etot = -30.5322415064062 +290000 ekin = 3.45543672952173 | erot = 3.63587074171862 | epot = -37.5601919395408 | etot = -30.4688844683004 +291000 ekin = 3.52760878967904 | erot = 4.20430698093704 | epot = -37.7322836777774 | etot = -30.0003679071614 +292000 ekin = 3.68972381818918 | erot = 4.12076553978675 | epot = -37.9100323199299 | etot = -30.099542961954 +293000 ekin = 3.83177225674866 | erot = 4.37726484522711 | epot = -38.0821109906698 | etot = -29.873073888694 +294000 ekin = 4.06640459910184 | erot = 3.74462680595312 | epot = -38.1926156973086 | etot = -30.3815842922536 +295000 ekin = 4.21784736111051 | erot = 3.82616484716773 | epot = -38.2890286287626 | etot = -30.2450164204843 +296000 ekin = 4.26440738773642 | erot = 3.95694734709946 | epot = -38.3824567525617 | etot = -30.1611020177258 +297000 ekin = 4.04618321058694 | erot = 4.11344152769738 | epot = -38.4823151027029 | etot = -30.3226903644186 +298000 ekin = 4.04534420229638 | erot = 4.08413503201913 | epot = -38.5648464298593 | etot = -30.4353671955438 +299000 ekin = 4.05890996735844 | erot = 4.75454163668528 | epot = -38.6394632376441 | etot = -29.8260116336004 +300000 ekin = 4.0635552245577 | erot = 4.46292256841634 | epot = -38.7062117520834 | etot = -30.1797339591093 +301000 ekin = 4.01853385887666 | erot = 4.67242188374991 | epot = -38.7555551980346 | etot = -30.064599455408 +302000 ekin = 3.97170308302892 | erot = 4.62245717998414 | epot = -38.7884989680144 | etot = -30.1943387050014 +303000 ekin = 4.00670279913505 | erot = 4.89772983741924 | epot = -38.7992363136571 | etot = -29.8948036771028 +304000 ekin = 3.81374525151675 | erot = 4.65389365987343 | epot = -38.8327396351168 | etot = -30.3651007237266 +305000 ekin = 3.70792918499057 | erot = 4.53646691129898 | epot = -38.8671341843094 | etot = -30.6227380880198 +306000 ekin = 3.5851913585686 | erot = 4.40317156262038 | epot = -38.8961174826079 | etot = -30.9077545614189 +307000 ekin = 3.52830601019323 | erot = 4.12955816022915 | epot = -38.9381266871204 | etot = -31.280262516698 +308000 ekin = 3.37444573697906 | erot = 3.65266283146944 | epot = -38.9820449321947 | etot = -31.9549363637462 +309000 ekin = 3.29877896595899 | erot = 4.06788139443835 | epot = -39.036569619858 | etot = -31.6699092594607 +310000 ekin = 3.27216182566105 | erot = 3.86752279813193 | epot = -39.0649343092174 | etot = -31.9252496854244 +311000 ekin = 3.26050147382305 | erot = 3.90928978323582 | epot = -39.0580520931937 | etot = -31.8882608361348 +312000 ekin = 3.18483009089521 | erot = 3.90959546619214 | epot = -39.0257212693581 | etot = -31.9312957122708 +313000 ekin = 3.09609326591795 | erot = 3.75025646421262 | epot = -38.9535227577839 | etot = -32.1071730276533 +314000 ekin = 2.95184537018542 | erot = 4.07381717812341 | epot = -38.8888909934783 | etot = -31.8632284451695 +315000 ekin = 2.92238623527567 | erot = 3.96815066682739 | epot = -38.8370494801768 | etot = -31.9465125780737 +316000 ekin = 2.71301507861596 | erot = 3.80807978932931 | epot = -38.799834574398 | etot = -32.2787397064527 +317000 ekin = 2.71357150367647 | erot = 4.15190966526565 | epot = -38.7626719044115 | etot = -31.8971907354694 +318000 ekin = 2.62158267835359 | erot = 4.27134701113436 | epot = -38.7271070788676 | etot = -31.8341773893796 +319000 ekin = 2.55366548062862 | erot = 4.41350408683203 | epot = -38.7297464727616 | etot = -31.7625769053009 +320000 ekin = 2.43397240538545 | erot = 4.29070167476848 | epot = -38.7203908826319 | etot = -31.995716802478 +321000 ekin = 2.4091696193894 | erot = 4.08120981437134 | epot = -38.7041016741435 | etot = -32.2137222403828 +322000 ekin = 2.40921951438691 | erot = 3.84656254092884 | epot = -38.6896664254558 | etot = -32.4338843701401 +323000 ekin = 2.47763175846149 | erot = 3.74024157191534 | epot = -38.6582034756258 | etot = -32.440330145249 +324000 ekin = 2.50557286685258 | erot = 3.62726015904489 | epot = -38.6277589097223 | etot = -32.4949258838248 +325000 ekin = 2.46128003790469 | erot = 3.30955838055057 | epot = -38.6182210526501 | etot = -32.8473826341949 +326000 ekin = 2.5036042222413 | erot = 3.11309077075945 | epot = -38.6155228491478 | etot = -32.998827856147 +327000 ekin = 2.58559564340014 | erot = 3.03172964208485 | epot = -38.6235874334492 | etot = -33.0062621479642 +328000 ekin = 2.7498426607985 | erot = 3.02808338407904 | epot = -38.6550386035095 | etot = -32.8771125586319 +329000 ekin = 2.91966436364517 | erot = 2.97144348177553 | epot = -38.6820454853232 | etot = -32.7909376399025 +330000 ekin = 3.01494295487831 | erot = 3.44138384990523 | epot = -38.7383158304586 | etot = -32.2819890256751 +331000 ekin = 3.02442201542035 | erot = 3.78657407910216 | epot = -38.7939596216321 | etot = -31.9829635271096 +332000 ekin = 3.04445691127442 | erot = 3.8278890195312 | epot = -38.8517978078766 | etot = -31.979451877071 +333000 ekin = 3.03465557138406 | erot = 3.68623317701473 | epot = -38.9019287356726 | etot = -32.1810399872738 +334000 ekin = 2.98091475863421 | erot = 3.87909097065042 | epot = -38.9429458678105 | etot = -32.0829401385258 +335000 ekin = 3.18730692360931 | erot = 3.9229815323581 | epot = -38.9915367606724 | etot = -31.881248304705 +336000 ekin = 3.28082580011883 | erot = 4.25501923477972 | epot = -39.0382949038811 | etot = -31.5024498689825 +337000 ekin = 3.33075954016498 | erot = 4.58632261209064 | epot = -39.0662594017922 | etot = -31.1491772495366 +338000 ekin = 3.31328438683345 | erot = 4.17966745642974 | epot = -39.0415239975115 | etot = -31.5485721542483 +339000 ekin = 3.33917527804133 | erot = 4.28130062815462 | epot = -38.9842917012714 | etot = -31.3638157950755 +340000 ekin = 3.33492148280262 | erot = 4.35651035139101 | epot = -38.8943885223068 | etot = -31.2029566881131 +341000 ekin = 3.34614172096363 | erot = 4.05115720989153 | epot = -38.7823758155587 | etot = -31.3850768847036 +342000 ekin = 3.34251507796678 | erot = 4.42814474655728 | epot = -38.6331517957714 | etot = -30.8624919712473 +343000 ekin = 3.20631341754612 | erot = 3.78967989344564 | epot = -38.4960486393224 | etot = -31.5000553283306 +344000 ekin = 3.07148244251153 | erot = 3.87583965670226 | epot = -38.3948328820768 | etot = -31.447510782863 +345000 ekin = 3.09789874291703 | erot = 3.99460565240904 | epot = -38.3201974875894 | etot = -31.2276930922633 +346000 ekin = 3.02500081268322 | erot = 3.91508207831951 | epot = -38.27506306136 | etot = -31.3349801703573 +347000 ekin = 2.94406849477762 | erot = 3.8622967016244 | epot = -38.2289722622904 | etot = -31.4226070658884 +348000 ekin = 2.95641250006426 | erot = 3.72625853383772 | epot = -38.1919210104045 | etot = -31.5092499765026 +349000 ekin = 3.03918076184473 | erot = 3.94202050743586 | epot = -38.1810668298085 | etot = -31.1998655605279 +350000 ekin = 3.09062612520389 | erot = 3.91215331884812 | epot = -38.2023245264386 | etot = -31.1995450823866 +351000 ekin = 3.13831719496464 | erot = 3.99916602553218 | epot = -38.2111529945909 | etot = -31.0736697740941 +352000 ekin = 3.10196313130342 | erot = 3.92254342354138 | epot = -38.2543166357448 | etot = -31.2298100809 +353000 ekin = 3.17266611312433 | erot = 3.89473509639757 | epot = -38.3205511283306 | etot = -31.2531499188087 +354000 ekin = 3.20288707130886 | erot = 4.38957454856396 | epot = -38.3888699269268 | etot = -30.796408307054 +355000 ekin = 3.1596595759597 | erot = 4.27393537405652 | epot = -38.4369161779509 | etot = -31.0033212279347 +356000 ekin = 3.0196784402613 | erot = 4.46559381130417 | epot = -38.4622452099032 | etot = -30.9769729583378 +357000 ekin = 2.97836465744993 | erot = 4.24123654485003 | epot = -38.4340474220209 | etot = -31.214446219721 +358000 ekin = 2.90298621775703 | erot = 4.00214290087722 | epot = -38.3669225243923 | etot = -31.4617934057581 +359000 ekin = 2.89703951576627 | erot = 3.75540528896982 | epot = -38.2596281019022 | etot = -31.6071832971661 +360000 ekin = 2.89517468979402 | erot = 3.69844688179083 | epot = -38.1408983158931 | etot = -31.5472767443082 +361000 ekin = 2.80138616808295 | erot = 3.38323529451502 | epot = -38.0246589917391 | etot = -31.8400375291411 +362000 ekin = 2.77162168417612 | erot = 2.91331523066537 | epot = -37.9398868290149 | etot = -32.2549499141734 +363000 ekin = 2.78539815378433 | erot = 2.68460040337589 | epot = -37.8665635409938 | etot = -32.3965649838336 +364000 ekin = 2.6806781219229 | erot = 2.78677391239236 | epot = -37.7617899033784 | etot = -32.2943378690631 +365000 ekin = 2.54070043685876 | erot = 2.83653994835753 | epot = -37.6554311404474 | etot = -32.2781907552311 +366000 ekin = 2.41606481092138 | erot = 2.86609766611192 | epot = -37.5516282283376 | etot = -32.2694657513043 +367000 ekin = 2.46811866465482 | erot = 3.34221140329 | epot = -37.4475028758826 | etot = -31.6371728079378 +368000 ekin = 2.42926223365494 | erot = 3.33046663396725 | epot = -37.3674460967945 | etot = -31.6077172291723 +369000 ekin = 2.43816169312792 | erot = 3.26459431026916 | epot = -37.3019788371043 | etot = -31.5992228337072 +370000 ekin = 2.46038177337525 | erot = 3.10066469966251 | epot = -37.2626057339964 | etot = -31.7015592609586 +371000 ekin = 2.44062438526228 | erot = 2.87778487491551 | epot = -37.2539180634397 | etot = -31.9355088032619 +372000 ekin = 2.4119643832672 | erot = 3.07515188922145 | epot = -37.3089635753533 | etot = -31.8218473028647 +373000 ekin = 2.48050565170775 | erot = 3.18196875652298 | epot = -37.4397878357735 | etot = -31.7773134275428 +374000 ekin = 2.63530688061921 | erot = 3.59156982435214 | epot = -37.5884648424034 | etot = -31.3615881374321 +375000 ekin = 2.68283894448257 | erot = 3.3245108406823 | epot = -37.7715422578285 | etot = -31.7641924726636 +376000 ekin = 2.79488034579907 | erot = 3.22988532668875 | epot = -38.0009039102152 | etot = -31.9761382377273 +377000 ekin = 2.97793932778636 | erot = 3.1487944738539 | epot = -38.2360750185572 | etot = -32.1093412169169 +378000 ekin = 3.04959845592823 | erot = 3.49481966296083 | epot = -38.5013695235687 | etot = -31.9569514046797 +379000 ekin = 3.19106410727104 | erot = 3.36561045250103 | epot = -38.7688607813371 | etot = -32.2121862215651 +380000 ekin = 3.25183572215722 | erot = 3.58875776192795 | epot = -39.0288452181148 | etot = -32.1882517340297 +381000 ekin = 3.33794215221589 | erot = 3.69339177566719 | epot = -39.3017064605086 | etot = -32.2703725326255 +382000 ekin = 3.49270190624137 | erot = 3.86829998834039 | epot = -39.5268729273469 | etot = -32.1658710327651 +383000 ekin = 3.55662169084774 | erot = 3.53333329088007 | epot = -39.726779107516 | etot = -32.6368241257882 +384000 ekin = 3.69351012028544 | erot = 3.28268730044336 | epot = -39.8789874723582 | etot = -32.9027900516294 +385000 ekin = 3.68733706037504 | erot = 3.68055641648011 | epot = -39.999883925349 | etot = -32.6319904484938 +386000 ekin = 3.71694831249284 | erot = 3.79434784508062 | epot = -40.0869801892988 | etot = -32.5756840317253 +387000 ekin = 3.76861509268673 | erot = 3.88558369375086 | epot = -40.1715737743675 | etot = -32.5173749879299 +388000 ekin = 3.8301760688337 | erot = 4.20859412334347 | epot = -40.2007323597247 | etot = -32.1619621675475 +389000 ekin = 3.86768485031758 | erot = 3.99003783907099 | epot = -40.1899129305042 | etot = -32.3321902411156 +390000 ekin = 3.97485559059841 | erot = 3.73907035926306 | epot = -40.1534652302146 | etot = -32.4395392803531 +391000 ekin = 3.99255423920738 | erot = 3.459854141016 | epot = -40.0955220791989 | etot = -32.6431136989755 +392000 ekin = 4.01983776245668 | erot = 3.684257426475 | epot = -39.9999647918604 | etot = -32.2958696029287 +393000 ekin = 4.02356764424247 | erot = 3.83787437414721 | epot = -39.8549016020689 | etot = -31.9934595836793 +394000 ekin = 3.93980876114322 | erot = 3.99211744164119 | epot = -39.7011477670266 | etot = -31.7692215642422 +395000 ekin = 4.11174368478723 | erot = 3.75033473410246 | epot = -39.5451859148434 | etot = -31.6831074959538 +396000 ekin = 4.20376876107167 | erot = 3.67040632781357 | epot = -39.394880998087 | etot = -31.5207059092017 +397000 ekin = 4.13633572842997 | erot = 3.65151581957605 | epot = -39.2564297317577 | etot = -31.4685781837517 +398000 ekin = 4.13905245601627 | erot = 3.71620600673367 | epot = -39.093596770216 | etot = -31.2383383074661 +399000 ekin = 4.10332411545528 | erot = 3.71374971681591 | epot = -38.9205234935042 | etot = -31.103449661233 +400000 ekin = 4.06766016908479 | erot = 3.42139504654381 | epot = -38.7497473150009 | etot = -31.2606920993723 +401000 ekin = 3.97284164111999 | erot = 3.81120481171761 | epot = -38.6001977504163 | etot = -30.8161512975787 +402000 ekin = 3.90587383547465 | erot = 3.53418826218585 | epot = -38.4681757167877 | etot = -31.0281136191272 +403000 ekin = 3.91259869514561 | erot = 3.63738639184103 | epot = -38.3230308363684 | etot = -30.7730457493818 +404000 ekin = 3.79936006877832 | erot = 3.32641249272552 | epot = -38.2009092385689 | etot = -31.0751366770651 +405000 ekin = 3.8251759680116 | erot = 3.13064904024261 | epot = -38.1553776059004 | etot = -31.1995525976462 +406000 ekin = 3.73725599382609 | erot = 3.08306268157751 | epot = -38.1316917306566 | etot = -31.311373055253 +407000 ekin = 3.726517750459 | erot = 3.09861818078622 | epot = -38.1634910279953 | etot = -31.3383550967501 +408000 ekin = 3.79931976439459 | erot = 3.25718386016374 | epot = -38.2217683212397 | etot = -31.1652646966814 +409000 ekin = 3.95093187918724 | erot = 3.4395040977601 | epot = -38.2689453197333 | etot = -30.8785093427859 +410000 ekin = 4.07121708138889 | erot = 3.83760071106058 | epot = -38.3189798432044 | etot = -30.4101620507549 +411000 ekin = 4.23307978558165 | erot = 3.98162063698057 | epot = -38.3721329673504 | etot = -30.1574325447882 +412000 ekin = 4.241170808143 | erot = 3.99737193476948 | epot = -38.4124767699443 | etot = -30.1739340270318 +413000 ekin = 4.23580670923547 | erot = 3.8106439850279 | epot = -38.4212920990952 | etot = -30.3748414048318 +414000 ekin = 4.27445938143083 | erot = 3.9812454132049 | epot = -38.4106571527341 | etot = -30.1549523580983 +415000 ekin = 4.38899479005091 | erot = 3.80279226112388 | epot = -38.3596783722964 | etot = -30.1678913211216 +416000 ekin = 4.45628965411063 | erot = 3.63102956113277 | epot = -38.3042311126166 | etot = -30.2169118973732 +417000 ekin = 4.49028461121067 | erot = 3.62754419665983 | epot = -38.25831980893 | etot = -30.1404910010595 +418000 ekin = 4.45936601962003 | erot = 3.71144506663837 | epot = -38.1813464675297 | etot = -30.0105353812713 +419000 ekin = 4.38379837521008 | erot = 3.33513327030905 | epot = -38.0724868069419 | etot = -30.3535551614228 +420000 ekin = 4.283111933024 | erot = 3.09826419668605 | epot = -37.9370678690097 | etot = -30.5556917392996 +421000 ekin = 4.152480975106 | erot = 3.56237827808224 | epot = -37.7709210423883 | etot = -30.0560617892 +422000 ekin = 3.95490687211588 | erot = 3.47480957997332 | epot = -37.5854884820709 | etot = -30.1557720299817 +423000 ekin = 3.91714305790356 | erot = 3.4847628632339 | epot = -37.3949936437694 | etot = -29.9930877226319 +424000 ekin = 3.84213202460288 | erot = 3.52777059768033 | epot = -37.2158434462617 | etot = -29.8459408239785 +425000 ekin = 3.71924289661388 | erot = 3.33663609660611 | epot = -37.072252600123 | etot = -30.016373606903 +426000 ekin = 3.64441997260647 | erot = 3.36227935441014 | epot = -36.9667678357551 | etot = -29.9600685087385 +427000 ekin = 3.75655721345781 | erot = 3.37897054079373 | epot = -36.8611280898055 | etot = -29.7256003355539 +428000 ekin = 3.74409443646521 | erot = 3.1773287235424 | epot = -36.742715037602 | etot = -29.8212918775944 +429000 ekin = 3.6632902831786 | erot = 2.78764787478687 | epot = -36.6486255145436 | etot = -30.1976873565782 +430000 ekin = 3.62135290496445 | erot = 2.6733797516058 | epot = -36.560604151542 | etot = -30.2658714949717 +431000 ekin = 3.61616361793053 | erot = 2.69754710014203 | epot = -36.506732939117 | etot = -30.1930222210445 +432000 ekin = 3.49552617760825 | erot = 3.08491352170465 | epot = -36.485170074763 | etot = -29.9047303754501 +433000 ekin = 3.58020816083944 | erot = 2.88002256286314 | epot = -36.5217696117553 | etot = -30.0615388880528 +434000 ekin = 3.59867849318971 | erot = 3.0840797331355 | epot = -36.6202495320039 | etot = -29.9374913056787 +435000 ekin = 3.67331527289036 | erot = 3.42657552434419 | epot = -36.7488916307825 | etot = -29.6490008335479 +436000 ekin = 3.82088042289272 | erot = 3.65447442369897 | epot = -36.9085622220517 | etot = -29.43320737546 +437000 ekin = 3.86869421673766 | erot = 3.95470287079859 | epot = -37.0720316005957 | etot = -29.2486345130595 +438000 ekin = 4.11090595842083 | erot = 3.77540801446838 | epot = -37.2088542252226 | etot = -29.3225402523333 +439000 ekin = 4.12926159073602 | erot = 4.06917140325885 | epot = -37.351759051221 | etot = -29.1533260572261 +440000 ekin = 4.09029177261524 | erot = 4.14981299565281 | epot = -37.4912988817269 | etot = -29.2511941134588 +441000 ekin = 4.14485979348682 | erot = 4.37283240826395 | epot = -37.6181493098546 | etot = -29.1004571081038 +442000 ekin = 4.12304009572841 | erot = 4.39045893698217 | epot = -37.7155315750664 | etot = -29.2020325423558 +443000 ekin = 4.23471751438731 | erot = 4.14989601608928 | epot = -37.768614271265 | etot = -29.3840007407884 +444000 ekin = 4.35772646838224 | erot = 4.52232474512897 | epot = -37.7816885908053 | etot = -28.9016373772941 +445000 ekin = 4.39118784053262 | erot = 4.66570824296109 | epot = -37.7439950146598 | etot = -28.6870989311661 +446000 ekin = 4.39675921765031 | erot = 4.46936063153376 | epot = -37.6960851354907 | etot = -28.8299652863066 +447000 ekin = 4.35336664890442 | erot = 4.44173113672769 | epot = -37.6140263912413 | etot = -28.8189286056092 +448000 ekin = 4.28498441172979 | erot = 4.19781838322426 | epot = -37.5090341348627 | etot = -29.0262313399087 +449000 ekin = 4.31763982219652 | erot = 4.52832551746764 | epot = -37.4084017454329 | etot = -28.5624364057687 +450000 ekin = 4.34138928411261 | erot = 4.44258564037432 | epot = -37.3062489259438 | etot = -28.5222740014569 +451000 ekin = 4.30985185878605 | erot = 4.23825662962946 | epot = -37.1459619150061 | etot = -28.5978534265906 +452000 ekin = 4.32592045036098 | erot = 3.8660276663028 | epot = -36.9847035634508 | etot = -28.792755446787 +453000 ekin = 4.32845268851063 | erot = 3.54171363095618 | epot = -36.8340779762824 | etot = -28.9639116568156 +454000 ekin = 4.31011457813703 | erot = 3.79537837348597 | epot = -36.7199830616559 | etot = -28.6144901100328 +455000 ekin = 4.29550433639214 | erot = 3.85241036204668 | epot = -36.6489739160371 | etot = -28.5010592175982 +456000 ekin = 4.37032742709196 | erot = 4.00721124204773 | epot = -36.6190063800956 | etot = -28.2414677109559 +457000 ekin = 4.36426470286789 | erot = 3.85637152044941 | epot = -36.5969553476853 | etot = -28.376319124368 +458000 ekin = 4.32567014378617 | erot = 3.50123530464575 | epot = -36.5630453883135 | etot = -28.7361399398816 +459000 ekin = 4.3893381573867 | erot = 3.57401843708546 | epot = -36.5693343587042 | etot = -28.605977764232 +460000 ekin = 4.31317855607494 | erot = 4.09613513000612 | epot = -36.6229031356536 | etot = -28.2135894495725 +461000 ekin = 4.31811012640179 | erot = 4.38273826542215 | epot = -36.70247802377 | etot = -28.0016296319461 +462000 ekin = 4.3366863877001 | erot = 4.51374491218817 | epot = -36.8227361919449 | etot = -27.9723048920566 +463000 ekin = 4.27564269849664 | erot = 4.86202296781303 | epot = -36.9415310835084 | etot = -27.8038654171987 +464000 ekin = 4.25704856573543 | erot = 4.74085846897256 | epot = -37.0390079052471 | etot = -28.0411008705391 +465000 ekin = 4.27536374407092 | erot = 4.49932366093905 | epot = -37.1090432428533 | etot = -28.3343558378433 +466000 ekin = 4.30607368146068 | erot = 4.23786653917903 | epot = -37.1491605127936 | etot = -28.6052202921539 +467000 ekin = 4.2491978620046 | erot = 4.12771930877699 | epot = -37.1714598423964 | etot = -28.7945426716148 +468000 ekin = 4.39683218085591 | erot = 3.85228521386559 | epot = -37.2088712844973 | etot = -28.9597538897758 +469000 ekin = 4.64124419278982 | erot = 3.80754439193721 | epot = -37.276730222032 | etot = -28.8279416373049 +470000 ekin = 4.66178408905675 | erot = 3.92065938428513 | epot = -37.3876740781875 | etot = -28.8052306048457 +471000 ekin = 4.75392904131986 | erot = 4.24739494727095 | epot = -37.5007122646075 | etot = -28.4993882760167 +472000 ekin = 4.78287126449292 | erot = 4.29738258008793 | epot = -37.5977046601011 | etot = -28.5174508155202 +473000 ekin = 4.83746609770183 | erot = 4.38666527032485 | epot = -37.6671790710826 | etot = -28.4430477030559 +474000 ekin = 4.79054197671376 | erot = 4.34169424272138 | epot = -37.6856820094293 | etot = -28.5534457899942 +475000 ekin = 4.83235787688145 | erot = 4.21788406575012 | epot = -37.6508263787861 | etot = -28.6005844361546 +476000 ekin = 4.77650421806813 | erot = 4.23519664592598 | epot = -37.5559363402036 | etot = -28.5442354762095 +477000 ekin = 4.70149228687153 | erot = 3.94955206004049 | epot = -37.4316333722383 | etot = -28.7805890253263 +478000 ekin = 4.65828612344613 | erot = 3.52306589214554 | epot = -37.3056353897912 | etot = -29.1242833741995 +479000 ekin = 4.49034904671755 | erot = 3.69691237093679 | epot = -37.1645007343033 | etot = -28.977239316649 +480000 ekin = 4.42035953830873 | erot = 3.62614880736063 | epot = -36.9855336534948 | etot = -28.9390253078254 +481000 ekin = 4.29236052675552 | erot = 3.46283113670755 | epot = -36.778837676618 | etot = -29.0236460131549 +482000 ekin = 4.24695006747703 | erot = 3.64617122659715 | epot = -36.5783264764331 | etot = -28.685205182359 +483000 ekin = 4.27724439911399 | erot = 3.65906944039054 | epot = -36.4031794376627 | etot = -28.4668655981582 +484000 ekin = 4.2785974211617 | erot = 3.80998418987604 | epot = -36.2601336102694 | etot = -28.1715519992317 +485000 ekin = 4.21291837199932 | erot = 3.8427823044223 | epot = -36.141503315863 | etot = -28.0858026394413 +486000 ekin = 3.9839252640706 | erot = 3.69687119417294 | epot = -36.0420007851875 | etot = -28.3612043269439 +487000 ekin = 3.87685523954227 | erot = 3.52087214489094 | epot = -35.9790179936878 | etot = -28.5812906092545 +488000 ekin = 3.74675884240029 | erot = 3.80072807052997 | epot = -35.9652058586033 | etot = -28.417718945673 +489000 ekin = 3.61099051841834 | erot = 4.09702697313287 | epot = -35.9887686799326 | etot = -28.2807511883814 +490000 ekin = 3.72073699277815 | erot = 3.89157882585025 | epot = -36.0103724524783 | etot = -28.3980566338499 +491000 ekin = 3.72740917275115 | erot = 4.01795497893002 | epot = -36.0292354570353 | etot = -28.2838713053542 +492000 ekin = 3.67547789628858 | erot = 3.85969822517316 | epot = -36.0430681478948 | etot = -28.507892026433 +493000 ekin = 3.65198421841226 | erot = 3.75518718738361 | epot = -36.0824152706771 | etot = -28.6752438648813 +494000 ekin = 3.4852821998486 | erot = 3.8153550877854 | epot = -36.1423710455837 | etot = -28.8417337579497 +495000 ekin = 3.31359070882208 | erot = 4.11558724766118 | epot = -36.2268684383707 | etot = -28.7976904818874 +496000 ekin = 3.27798311005969 | erot = 3.88806115727323 | epot = -36.3363270902379 | etot = -29.170282822905 +497000 ekin = 3.23000081873816 | erot = 4.5315385178341 | epot = -36.481720183114 | etot = -28.7201808465418 +498000 ekin = 3.35490986062535 | erot = 4.76314991175258 | epot = -36.6514686581236 | etot = -28.5334088857457 +499000 ekin = 3.39102564180502 | erot = 4.99058516868934 | epot = -36.8025368986548 | etot = -28.4209260881604 +500000 ekin = 3.44319922277998 | erot = 4.29432196305736 | epot = -36.9177193599231 | etot = -29.1801981740858 +501000 ekin = 3.47746008955509 | erot = 4.289941738028 | epot = -37.0187053512324 | etot = -29.2513035236494 +502000 ekin = 3.58696948456752 | erot = 4.55410136617418 | epot = -37.1018103829437 | etot = -28.960739532202 +503000 ekin = 3.68317380855592 | erot = 4.60652443433648 | epot = -37.1620776601797 | etot = -28.8723794172873 +504000 ekin = 3.68852053014443 | erot = 4.67783023002264 | epot = -37.2052759454199 | etot = -28.8389251852528 +505000 ekin = 3.88723268453866 | erot = 4.53079850437663 | epot = -37.2950608294683 | etot = -28.877029640553 +506000 ekin = 3.80925396925163 | erot = 4.47086505886218 | epot = -37.3479933337838 | etot = -29.06787430567 +507000 ekin = 3.73248519551991 | erot = 4.21393839264144 | epot = -37.4256513139284 | etot = -29.4792277257671 +508000 ekin = 3.80672760184063 | erot = 3.93708079377005 | epot = -37.4951091449467 | etot = -29.751300749336 +509000 ekin = 3.80086991164608 | erot = 3.74333566662504 | epot = -37.5406480313395 | etot = -29.9964424530683 +510000 ekin = 3.89850649197978 | erot = 3.97775581109505 | epot = -37.5934385426631 | etot = -29.7171762395883 +511000 ekin = 3.81393185765464 | erot = 4.00469160928647 | epot = -37.6349932199755 | etot = -29.8163697530344 +512000 ekin = 3.7684396284637 | erot = 4.34524756747826 | epot = -37.6787808921542 | etot = -29.5650936962122 +513000 ekin = 3.70769437024747 | erot = 4.19222442242684 | epot = -37.7114576947707 | etot = -29.8115389020964 +514000 ekin = 3.65606306228176 | erot = 4.64296237641028 | epot = -37.7095823242883 | etot = -29.4105568855962 +515000 ekin = 3.5052281855745 | erot = 4.47916848114099 | epot = -37.6783049637298 | etot = -29.6939082970143 +516000 ekin = 3.59266443877101 | erot = 5.02978018029494 | epot = -37.6477009850688 | etot = -29.0252563660028 +517000 ekin = 3.53729866959058 | erot = 4.95641997732805 | epot = -37.644541266991 | etot = -29.1508226200724 +518000 ekin = 3.55341695305132 | erot = 4.57512459674255 | epot = -37.6532745224308 | etot = -29.5247329726369 +519000 ekin = 3.61605940841961 | erot = 4.59842321288953 | epot = -37.7181887221249 | etot = -29.5037061008158 +520000 ekin = 3.66003580736891 | erot = 4.52802897844102 | epot = -37.8184531846622 | etot = -29.6303883988522 +521000 ekin = 3.57990395101936 | erot = 4.58686564429493 | epot = -37.9529160430901 | etot = -29.7861464477758 +522000 ekin = 3.58721017350486 | erot = 4.78958389957763 | epot = -38.1056938634054 | etot = -29.7288997903229 +523000 ekin = 3.7455374895203 | erot = 4.82242710318161 | epot = -38.249659851946 | etot = -29.6816952592441 +524000 ekin = 3.8367296557297 | erot = 5.1780625575552 | epot = -38.3420385705452 | etot = -29.3272463572603 +525000 ekin = 3.97426514986068 | erot = 5.13820563111667 | epot = -38.4306455211977 | etot = -29.3181747402204 +526000 ekin = 4.03278131821146 | erot = 4.61480893928539 | epot = -38.4813375347266 | etot = -29.8337472772297 +527000 ekin = 4.15303805139338 | erot = 4.03339974605316 | epot = -38.4813261438674 | etot = -30.2948883464208 +528000 ekin = 4.34085606106391 | erot = 3.63416049936053 | epot = -38.4621670653444 | etot = -30.4871505049199 +529000 ekin = 4.53593485604709 | erot = 3.72087643644205 | epot = -38.417501648356 | etot = -30.1606903558668 +530000 ekin = 4.65836945322522 | erot = 3.5823370050418 | epot = -38.3861765288022 | etot = -30.1454700705352 +531000 ekin = 4.66519878740321 | erot = 3.41094947734083 | epot = -38.3363103504893 | etot = -30.2601620857452 +532000 ekin = 4.80041164317288 | erot = 3.07760528500134 | epot = -38.3151265786575 | etot = -30.4371096504833 +533000 ekin = 4.73180745168947 | erot = 3.06230961560373 | epot = -38.3468719461379 | etot = -30.5527548788447 +534000 ekin = 4.77276572097011 | erot = 3.01963113043202 | epot = -38.4024212860539 | etot = -30.6100244346518 +535000 ekin = 4.8569392849477 | erot = 2.8251632104728 | epot = -38.5360450508862 | etot = -30.8539425554657 +536000 ekin = 4.79265980947574 | erot = 2.9077544610961 | epot = -38.7196748122557 | etot = -31.0192605416839 +537000 ekin = 4.8694795576244 | erot = 3.00989555981224 | epot = -38.9076102830991 | etot = -31.0282351656625 +538000 ekin = 5.00269155741106 | erot = 2.68875189029915 | epot = -39.0473675460742 | etot = -31.355924098364 +539000 ekin = 4.98226102919721 | erot = 2.9218882996937 | epot = -39.1655668480607 | etot = -31.2614175191698 +540000 ekin = 4.99147016878216 | erot = 3.35574385805742 | epot = -39.2596960810253 | etot = -30.9124820541857 +541000 ekin = 4.92725844601428 | erot = 3.28345034188319 | epot = -39.3089899760125 | etot = -31.098281188115 +542000 ekin = 4.77242859226853 | erot = 3.31966912230266 | epot = -39.290238437105 | etot = -31.1981407225338 +543000 ekin = 4.65726157165086 | erot = 3.56099171692955 | epot = -39.1715392323124 | etot = -30.953285943732 +544000 ekin = 4.75158561074879 | erot = 2.98586301386342 | epot = -39.0000211966266 | etot = -31.2625725720144 +545000 ekin = 4.71389651780192 | erot = 3.29722166624284 | epot = -38.8124009343347 | etot = -30.8012827502899 +546000 ekin = 4.59452933616211 | erot = 3.65785900566388 | epot = -38.6597531372896 | etot = -30.4073647954636 +547000 ekin = 4.49485576841329 | erot = 3.52227156689634 | epot = -38.5261493757316 | etot = -30.509022040422 +548000 ekin = 4.49472654055115 | erot = 3.49603087938245 | epot = -38.3944216290951 | etot = -30.4036642091615 +549000 ekin = 4.39213180937533 | erot = 3.53228763855232 | epot = -38.2774675964384 | etot = -30.3530481485108 +550000 ekin = 4.36283999146784 | erot = 3.78776441036084 | epot = -38.2051317998107 | etot = -30.054527397982 +551000 ekin = 4.3226010693823 | erot = 4.01133252124201 | epot = -38.1611801425645 | etot = -29.8272465519402 +552000 ekin = 4.33183515664561 | erot = 3.98124414472576 | epot = -38.153772138803 | etot = -29.8406928374316 +553000 ekin = 4.30534974680474 | erot = 3.81209066755014 | epot = -38.1803693007097 | etot = -30.0629288863549 +554000 ekin = 4.29335219580314 | erot = 3.80213545963908 | epot = -38.2389597407399 | etot = -30.1434720852977 +555000 ekin = 4.45825549052385 | erot = 4.03672150414325 | epot = -38.3296083261046 | etot = -29.8346313314375 +556000 ekin = 4.63230188756517 | erot = 3.70797489704037 | epot = -38.4795834327921 | etot = -30.1393066481866 +557000 ekin = 4.7062229398582 | erot = 4.51036732636183 | epot = -38.6738842895281 | etot = -29.4572940233081 +558000 ekin = 4.70612532334176 | erot = 4.30314260207011 | epot = -38.9099036274272 | etot = -29.9006357020154 +559000 ekin = 4.85842132468142 | erot = 4.45569884582871 | epot = -39.1571701897087 | etot = -29.8430500191985 +560000 ekin = 4.84667483493842 | erot = 4.2909749826346 | epot = -39.3692871188964 | etot = -30.2316373013234 +561000 ekin = 4.93080663772512 | erot = 4.40964672372479 | epot = -39.5560309503474 | etot = -30.2155775888975 +562000 ekin = 5.02786763240469 | erot = 4.09895267825196 | epot = -39.6620959555469 | etot = -30.5352756448903 +563000 ekin = 4.99483060861824 | erot = 4.56393029644404 | epot = -39.7001867829015 | etot = -30.1414258778392 +564000 ekin = 5.01292656089529 | erot = 4.4655943412775 | epot = -39.6969046345991 | etot = -30.2183837324263 +565000 ekin = 4.97924499589803 | erot = 4.56764102867122 | epot = -39.6391307119519 | etot = -30.0922446873826 +566000 ekin = 4.80472039327358 | erot = 4.49618530358116 | epot = -39.532014253858 | etot = -30.2311085570032 +567000 ekin = 4.59721417192401 | erot = 4.44898156673777 | epot = -39.3835091139999 | etot = -30.3373133753381 +568000 ekin = 4.59948947791994 | erot = 4.21619266891999 | epot = -39.1697350851653 | etot = -30.3540529383253 +569000 ekin = 4.46814520025952 | erot = 4.13625120915546 | epot = -38.9496016480665 | etot = -30.3452052386516 +570000 ekin = 4.63380574109383 | erot = 3.97471689520422 | epot = -38.718728428018 | etot = -30.11020579172 +571000 ekin = 4.51646555902281 | erot = 3.77943581302556 | epot = -38.5103017941538 | etot = -30.2144004221055 +572000 ekin = 4.44329973394602 | erot = 3.7381898397106 | epot = -38.3513010282128 | etot = -30.1698114545561 +573000 ekin = 4.48138796166295 | erot = 3.67030746094246 | epot = -38.2531080005807 | etot = -30.1014125779753 +574000 ekin = 4.57372019352159 | erot = 3.64740839838101 | epot = -38.156347689767 | etot = -29.9352190978644 +575000 ekin = 4.81962720354415 | erot = 3.58128135189807 | epot = -38.0780197446127 | etot = -29.6771111891705 +576000 ekin = 4.78739960955874 | erot = 3.16941649568994 | epot = -38.0548669136925 | etot = -30.0980508084438 +577000 ekin = 4.89624137933428 | erot = 3.37301453509229 | epot = -38.0581159208699 | etot = -29.7888600064433 +578000 ekin = 4.89993171052244 | erot = 3.39468878464203 | epot = -38.0636938795354 | etot = -29.7690733843709 +579000 ekin = 4.83297661461352 | erot = 3.08572772864731 | epot = -38.0577731810634 | etot = -30.1390688378025 +580000 ekin = 4.77298411404082 | erot = 3.09603380464132 | epot = -38.0675771405193 | etot = -30.1985592218372 +581000 ekin = 4.96965435170517 | erot = 3.06610493080443 | epot = -38.0894896837321 | etot = -30.0537304012225 +582000 ekin = 4.84477580774046 | erot = 2.99273203470777 | epot = -38.1047755328766 | etot = -30.2672676904284 +583000 ekin = 4.80184612340906 | erot = 2.99121545039794 | epot = -38.0992283827671 | etot = -30.3061668089601 +584000 ekin = 4.73999729115027 | erot = 2.9582025614058 | epot = -38.1193022601923 | etot = -30.4211024076362 +585000 ekin = 4.62963491646133 | erot = 2.99096158598542 | epot = -38.1514766562945 | etot = -30.5308801538478 +586000 ekin = 4.66196804986657 | erot = 3.11428540249501 | epot = -38.1645218154685 | etot = -30.3882683631069 +587000 ekin = 4.58446438916316 | erot = 3.26198289890957 | epot = -38.1451310277746 | etot = -30.2986837397019 +588000 ekin = 4.59050554157097 | erot = 3.37267542289071 | epot = -38.0928945920966 | etot = -30.1297136276349 +589000 ekin = 4.52148456601106 | erot = 3.20426810396368 | epot = -38.0431145518049 | etot = -30.3173618818302 +590000 ekin = 4.54292012494665 | erot = 3.1746661588888 | epot = -37.9867331121618 | etot = -30.2691468283263 +591000 ekin = 4.4671534284139 | erot = 3.30654504351679 | epot = -37.9702893954325 | etot = -30.1965909235018 +592000 ekin = 4.47491098921977 | erot = 3.6999642514397 | epot = -37.96964005272 | etot = -29.7947648120605 +593000 ekin = 4.43506697623668 | erot = 3.70250326611378 | epot = -37.982672172325 | etot = -29.8451019299745 +594000 ekin = 4.36908136306916 | erot = 3.59308231950687 | epot = -38.0038521048194 | etot = -30.0416884222434 +595000 ekin = 4.30615021787055 | erot = 3.60547435881484 | epot = -38.0517692624258 | etot = -30.1401446857404 +596000 ekin = 4.27538703974133 | erot = 3.70718417029039 | epot = -38.1072020006231 | etot = -30.1246307905914 +597000 ekin = 4.09427835861054 | erot = 3.56040857145023 | epot = -38.1368054718234 | etot = -30.4821185417626 +598000 ekin = 4.06772969179115 | erot = 3.98852753231075 | epot = -38.1357675039156 | etot = -30.0795102798136 +599000 ekin = 4.05823661502991 | erot = 3.99204411848296 | epot = -38.094416622612 | etot = -30.0441358890991 +600000 ekin = 4.14000207696602 | erot = 3.69886036268676 | epot = -38.0126500071596 | etot = -30.1737875675068 +601000 ekin = 4.14331251606218 | erot = 4.02012885446818 | epot = -37.8931408419344 | etot = -29.729699471404 +602000 ekin = 4.19175322865721 | erot = 3.63789752518648 | epot = -37.7768382304761 | etot = -29.9471874766324 +603000 ekin = 4.17700109074315 | erot = 3.33190102346874 | epot = -37.6571796612342 | etot = -30.1482775470223 +604000 ekin = 4.32110078335241 | erot = 3.37359972635297 | epot = -37.5481087406157 | etot = -29.8534082309104 +605000 ekin = 4.40829637956699 | erot = 3.12232098209626 | epot = -37.4615593717344 | etot = -29.9309420100712 +606000 ekin = 4.50978571460473 | erot = 2.82903034171764 | epot = -37.4107566252709 | etot = -30.0719405689485 +607000 ekin = 4.64775510562435 | erot = 2.72855004395394 | epot = -37.3886864614939 | etot = -30.0123813119156 +608000 ekin = 4.62515883775204 | erot = 2.6927668656574 | epot = -37.3472679127842 | etot = -30.0293422093748 +609000 ekin = 4.58072072733859 | erot = 2.72618151323749 | epot = -37.3211555189931 | etot = -30.014253278417 +610000 ekin = 4.37064710749547 | erot = 2.94205446769451 | epot = -37.3313655411416 | etot = -30.0186639659516 +611000 ekin = 4.30243700562367 | erot = 2.94482669781559 | epot = -37.3282578261779 | etot = -30.0809941227387 +612000 ekin = 4.37982748485341 | erot = 2.81236690797527 | epot = -37.3366791579242 | etot = -30.1444847650955 +613000 ekin = 4.49298433908211 | erot = 2.94229499226113 | epot = -37.3617837170398 | etot = -29.9265043856965 +614000 ekin = 4.63192250195887 | erot = 2.81948937077722 | epot = -37.3623397651557 | etot = -29.9109278924196 +615000 ekin = 4.56431794922691 | erot = 3.0411203817408 | epot = -37.3360474756729 | etot = -29.7306091447052 +616000 ekin = 4.48538645093135 | erot = 2.98636794618235 | epot = -37.2843360454654 | etot = -29.8125816483517 +617000 ekin = 4.35777724185508 | erot = 3.27046740448594 | epot = -37.2149609045278 | etot = -29.5867162581867 +618000 ekin = 4.13929013645531 | erot = 3.31436963968888 | epot = -37.1380165806133 | etot = -29.6843568044691 +619000 ekin = 3.99812604761941 | erot = 3.8069721617963 | epot = -37.0480074184854 | etot = -29.2429092090697 +620000 ekin = 3.75775297824748 | erot = 3.88935078371488 | epot = -37.0016709350121 | etot = -29.3545671730497 +621000 ekin = 3.59837254942665 | erot = 3.36974253347194 | epot = -36.9571399968608 | etot = -29.9890249139622 +622000 ekin = 3.52853751549672 | erot = 3.57220920853455 | epot = -36.9826672270776 | etot = -29.8819205030464 +623000 ekin = 3.44776927445729 | erot = 3.68524482792421 | epot = -37.0520182183616 | etot = -29.9190041159801 +624000 ekin = 3.42459051153803 | erot = 4.10039189185604 | epot = -37.1561365046956 | etot = -29.6311541013015 +625000 ekin = 3.47427533928245 | erot = 4.19316198399255 | epot = -37.3128709391508 | etot = -29.6454336158758 +626000 ekin = 3.59243588690058 | erot = 4.25331544595912 | epot = -37.4538356021372 | etot = -29.6080842692775 +627000 ekin = 3.65834270574552 | erot = 3.84587709669878 | epot = -37.5560189371567 | etot = -30.0517991347124 +628000 ekin = 3.70047562334578 | erot = 3.68821102783487 | epot = -37.6346624168371 | etot = -30.2459757656565 +629000 ekin = 3.73516234913433 | erot = 3.92476956261683 | epot = -37.7008434862915 | etot = -30.0409115745404 +630000 ekin = 3.81181204861757 | erot = 3.95913149926755 | epot = -37.7335643601767 | etot = -29.9626208122916 +631000 ekin = 3.81645534702376 | erot = 3.13210702566919 | epot = -37.7706097068457 | etot = -30.8220473341528 +632000 ekin = 3.83367227377587 | erot = 3.16390787891897 | epot = -37.8179976528052 | etot = -30.8204175001103 +633000 ekin = 3.78875173101134 | erot = 3.28627876080406 | epot = -37.8551980571895 | etot = -30.7801675653741 +634000 ekin = 3.6443572434567 | erot = 3.54689069849334 | epot = -37.8771184407041 | etot = -30.685870498754 +635000 ekin = 3.74927918910692 | erot = 3.50067245026003 | epot = -37.9120332365851 | etot = -30.6620815972182 +636000 ekin = 3.89890106913058 | erot = 3.51590480850449 | epot = -37.9883703460315 | etot = -30.5735644683965 +637000 ekin = 3.98051852239103 | erot = 3.51683885701818 | epot = -38.1188954220066 | etot = -30.6215380425974 +638000 ekin = 4.18679252196735 | erot = 3.48363716100453 | epot = -38.3003898519918 | etot = -30.6299601690199 +639000 ekin = 4.29259370089823 | erot = 3.44532403016775 | epot = -38.5009165327291 | etot = -30.7629988016631 +640000 ekin = 4.33862023546748 | erot = 3.6140024868752 | epot = -38.6627935284696 | etot = -30.710170806127 +641000 ekin = 4.47895119284614 | erot = 3.60758277909088 | epot = -38.7986251266555 | etot = -30.7120911547185 +642000 ekin = 4.48471207018753 | erot = 3.75535910837188 | epot = -38.8636204148756 | etot = -30.6235492363162 +643000 ekin = 4.56445558617346 | erot = 3.81552004634158 | epot = -38.8645537025221 | etot = -30.4845780700071 +644000 ekin = 4.7332947847572 | erot = 3.55885168491642 | epot = -38.8054956282287 | etot = -30.5133491585551 +645000 ekin = 4.69129439625574 | erot = 3.28200064721723 | epot = -38.7015474297407 | etot = -30.7282523862678 +646000 ekin = 4.5858300200132 | erot = 3.40859569463286 | epot = -38.5478616511676 | etot = -30.5534359365215 +647000 ekin = 4.60741071742922 | erot = 3.38831322436686 | epot = -38.3932861693423 | etot = -30.3975622275462 +648000 ekin = 4.51463144345975 | erot = 3.24274100333129 | epot = -38.2758434893351 | etot = -30.518471042544 +649000 ekin = 4.55491099792928 | erot = 3.31738105307143 | epot = -38.2201110845426 | etot = -30.3478190335419 +650000 ekin = 4.67226589728797 | erot = 3.60950811156238 | epot = -38.2202225605506 | etot = -29.9384485517003 +651000 ekin = 4.60851815831642 | erot = 3.77278937705218 | epot = -38.253633099544 | etot = -29.8723255641754 +652000 ekin = 4.67845920019102 | erot = 3.39376240096224 | epot = -38.2868824175934 | etot = -30.2146608164401 +653000 ekin = 4.66844839257092 | erot = 3.83803199311147 | epot = -38.3235322989533 | etot = -29.8170519132709 +654000 ekin = 4.71048953319322 | erot = 3.48299287365118 | epot = -38.3580887397251 | etot = -30.1646063328807 +655000 ekin = 4.59645355598624 | erot = 3.74782025282036 | epot = -38.4145657066931 | etot = -30.0702918978865 +656000 ekin = 4.75902771581103 | erot = 3.81874385847387 | epot = -38.4693742928372 | etot = -29.8916027185523 +657000 ekin = 4.6466802059304 | erot = 3.66656001060126 | epot = -38.4843211797294 | etot = -30.1710809631977 +658000 ekin = 4.55836001875084 | erot = 3.93329833863017 | epot = -38.4803826070965 | etot = -29.9887242497155 +659000 ekin = 4.55537392119735 | erot = 3.62854716021115 | epot = -38.4363459414659 | etot = -30.2524248600574 +660000 ekin = 4.415513333681 | erot = 3.65395590072885 | epot = -38.3663969488347 | etot = -30.2969277144248 +661000 ekin = 4.32449081576482 | erot = 3.7409091571769 | epot = -38.2884247485437 | etot = -30.223024775602 +662000 ekin = 4.23823124010357 | erot = 3.58833666048794 | epot = -38.1946280661735 | etot = -30.368060165582 +663000 ekin = 4.32618520330365 | erot = 3.71369597709404 | epot = -38.0940311251123 | etot = -30.0541499447146 +664000 ekin = 4.30987713127752 | erot = 3.55193027406448 | epot = -38.0118003167728 | etot = -30.1499929114308 +665000 ekin = 4.32971268964141 | erot = 3.40416985470625 | epot = -37.9630121098135 | etot = -30.2291295654658 +666000 ekin = 4.30397058329246 | erot = 3.24563244836278 | epot = -37.9564459426243 | etot = -30.4068429109691 +667000 ekin = 4.23802718761169 | erot = 3.57923047722669 | epot = -37.9111709997968 | etot = -30.0939133349584 +668000 ekin = 4.17750835985179 | erot = 3.42921371885248 | epot = -37.8409684237743 | etot = -30.23424634507 +669000 ekin = 4.10123021238957 | erot = 3.38759831293404 | epot = -37.7732457913401 | etot = -30.2844172660165 +670000 ekin = 3.96563796265774 | erot = 3.59480187806746 | epot = -37.6965941156385 | etot = -30.1361542749133 +671000 ekin = 3.96406262528475 | erot = 3.64073126780244 | epot = -37.5753442355429 | etot = -29.9705503424557 +672000 ekin = 4.04265318678515 | erot = 3.67979591145804 | epot = -37.4296504342376 | etot = -29.7072013359944 +673000 ekin = 3.99224066234878 | erot = 3.52190422085284 | epot = -37.3047157518842 | etot = -29.7905708686826 +674000 ekin = 3.97681715793541 | erot = 3.75368024393795 | epot = -37.1885781675146 | etot = -29.4580807656412 +675000 ekin = 3.85833621087039 | erot = 3.97050815664598 | epot = -37.1417466549722 | etot = -29.3129022874559 +676000 ekin = 3.77676206895617 | erot = 3.79811590545672 | epot = -37.1253534099229 | etot = -29.55047543551 +677000 ekin = 3.78226586281959 | erot = 3.88942769355395 | epot = -37.138562963627 | etot = -29.4668694072535 +678000 ekin = 3.61579087416923 | erot = 3.83629032138265 | epot = -37.1880190743622 | etot = -29.7359378788103 +679000 ekin = 3.59940694058676 | erot = 3.92320694106409 | epot = -37.2411006365046 | etot = -29.7184867548538 +680000 ekin = 3.59936088858668 | erot = 3.59198808770724 | epot = -37.3103059663064 | etot = -30.1189569900125 +681000 ekin = 3.55068173353926 | erot = 3.62032338399716 | epot = -37.3978871586221 | etot = -30.2268820410857 +682000 ekin = 3.64312616149461 | erot = 3.63220095729225 | epot = -37.4824268307594 | etot = -30.2070997119725 +683000 ekin = 3.59147144886471 | erot = 4.00540882269656 | epot = -37.5784304648839 | etot = -29.9815501933227 +684000 ekin = 3.72558767154378 | erot = 4.43134049971583 | epot = -37.6663536443174 | etot = -29.5094254730578 +685000 ekin = 3.75700113340411 | erot = 4.4205179107468 | epot = -37.7011506850387 | etot = -29.5236316408878 +686000 ekin = 3.68716829673498 | erot = 4.29446170846275 | epot = -37.7134415714992 | etot = -29.7318115663015 +687000 ekin = 3.64818503755745 | erot = 4.53150873331275 | epot = -37.711537143075 | etot = -29.5318433722048 +688000 ekin = 3.65898677055768 | erot = 4.19517143645003 | epot = -37.717932414298 | etot = -29.8637742072903 +689000 ekin = 3.62053492938482 | erot = 4.90634872884688 | epot = -37.7254294906479 | etot = -29.1985458324162 +690000 ekin = 3.66313798116701 | erot = 4.56796147260999 | epot = -37.7316773182822 | etot = -29.5005778645052 +691000 ekin = 3.71240687811142 | erot = 4.32729443264309 | epot = -37.6986701891449 | etot = -29.6589688783904 +692000 ekin = 3.77937222983663 | erot = 4.25209713638369 | epot = -37.6463069321163 | etot = -29.614837565896 +693000 ekin = 3.82528389687004 | erot = 4.44391854020412 | epot = -37.5813521083395 | etot = -29.3121496712654 +694000 ekin = 3.77132757417721 | erot = 4.30342910423483 | epot = -37.529253149734 | etot = -29.4544964713219 +695000 ekin = 3.87816824099576 | erot = 3.61664690986643 | epot = -37.4977174174722 | etot = -30.00290226661 +696000 ekin = 4.03561630547949 | erot = 3.14881777436795 | epot = -37.5165237009965 | etot = -30.3320896211491 +697000 ekin = 4.10221303088943 | erot = 2.74688055821585 | epot = -37.6237315563432 | etot = -30.7746379672379 +698000 ekin = 4.33198843808374 | erot = 2.54448976763407 | epot = -37.8109238872742 | etot = -30.9344456815564 +699000 ekin = 4.45835519306672 | erot = 2.83727562812266 | epot = -38.0765099491825 | etot = -30.7808791279931 +700000 ekin = 4.62566765847138 | erot = 3.20413023616691 | epot = -38.366668680577 | etot = -30.5368707859387 +701000 ekin = 4.7119895804198 | erot = 3.20500762759523 | epot = -38.6531148244762 | etot = -30.7361176164611 +702000 ekin = 4.70320353975511 | erot = 3.49669921722524 | epot = -38.9020142648732 | etot = -30.7021115078929 +703000 ekin = 4.71666592176221 | erot = 3.4360587579244 | epot = -39.0983570180766 | etot = -30.94563233839 +704000 ekin = 4.81119997223628 | erot = 3.68842954975269 | epot = -39.2326154199854 | etot = -30.7329858979964 +705000 ekin = 4.76635995985857 | erot = 4.27225880905617 | epot = -39.3045830193539 | etot = -30.2659642504391 +706000 ekin = 4.61239689007865 | erot = 4.45743851438183 | epot = -39.3303553159894 | etot = -30.2605199115289 +707000 ekin = 4.4339240392442 | erot = 5.00090751066084 | epot = -39.3012148785927 | etot = -29.8663833286877 +708000 ekin = 4.49363980378809 | erot = 4.44827137132344 | epot = -39.185594508632 | etot = -30.2436833335204 +709000 ekin = 4.38087413515997 | erot = 4.33993340714001 | epot = -39.0225667156706 | etot = -30.3017591733706 +710000 ekin = 4.30084034805687 | erot = 4.18416076229502 | epot = -38.8018325665079 | etot = -30.3168314561561 +711000 ekin = 4.16061239283927 | erot = 3.75964607710248 | epot = -38.6119256895404 | etot = -30.6916672195987 +712000 ekin = 4.02785073941563 | erot = 3.9187380855626 | epot = -38.5032151267496 | etot = -30.5566263017714 +713000 ekin = 3.91042694307514 | erot = 4.02474708082432 | epot = -38.4555203424355 | etot = -30.5203463185361 +714000 ekin = 3.91972154955273 | erot = 3.86911398530045 | epot = -38.439191113934 | etot = -30.6503555790808 +715000 ekin = 3.7943288518239 | erot = 3.97493955426896 | epot = -38.464893488298 | etot = -30.6956250822051 +716000 ekin = 3.81379173421822 | erot = 4.12773796628725 | epot = -38.5344978321894 | etot = -30.592968131684 +717000 ekin = 3.81338083287865 | erot = 3.91040514076924 | epot = -38.6119475932714 | etot = -30.8881616196235 +718000 ekin = 3.98031853847212 | erot = 3.63481705596705 | epot = -38.678649410417 | etot = -31.0635138159778 +719000 ekin = 3.8566755406953 | erot = 3.54568346865612 | epot = -38.7335222105701 | etot = -31.3311632012187 +720000 ekin = 3.82130999837905 | erot = 3.12899985812948 | epot = -38.8000481793519 | etot = -31.8497383228434 +721000 ekin = 3.84625676410587 | erot = 3.33090070721984 | epot = -38.8362758074818 | etot = -31.6591183361561 +722000 ekin = 3.79224716661399 | erot = 3.20659617994805 | epot = -38.8301147634646 | etot = -31.8312714169026 +723000 ekin = 3.89270036914645 | erot = 3.09341373486911 | epot = -38.7612142662691 | etot = -31.7751001622535 +724000 ekin = 3.88950015267432 | erot = 3.37593260372107 | epot = -38.6472208331853 | etot = -31.3817880767899 +725000 ekin = 3.89253643906726 | erot = 3.36325650610821 | epot = -38.527809683643 | etot = -31.2720167384676 +726000 ekin = 3.77207579735124 | erot = 2.95762270097696 | epot = -38.4162496849588 | etot = -31.6865511866306 +727000 ekin = 3.85895083084016 | erot = 2.69741467226748 | epot = -38.3204112624909 | etot = -31.7640457593832 +728000 ekin = 3.95735248448051 | erot = 2.9120886214562 | epot = -38.2269317498774 | etot = -31.3574906439407 +729000 ekin = 3.90116579496187 | erot = 2.68023881807523 | epot = -38.1837112825913 | etot = -31.6023066695542 +730000 ekin = 3.96318220229617 | erot = 2.52640600275291 | epot = -38.1795006550048 | etot = -31.6899124499557 +731000 ekin = 4.07163559325283 | erot = 2.47524828245717 | epot = -38.2208467965997 | etot = -31.6739629208897 +732000 ekin = 4.1233129439478 | erot = 2.59059397612226 | epot = -38.2785246774241 | etot = -31.5646177573541 +733000 ekin = 4.18393032106832 | erot = 2.72580269413636 | epot = -38.392037043721 | etot = -31.4823040285164 +734000 ekin = 4.22490204001114 | erot = 2.94025387724302 | epot = -38.5577268408556 | etot = -31.3925709236014 +735000 ekin = 4.4163790638128 | erot = 3.39000978300276 | epot = -38.7520895879279 | etot = -30.9457007411124 +736000 ekin = 4.52682105512921 | erot = 3.59384799521515 | epot = -39.0007836443239 | etot = -30.8801145939796 +737000 ekin = 4.54518518822971 | erot = 3.67606395235669 | epot = -39.2431861398733 | etot = -31.0219369992869 +738000 ekin = 4.5411183131362 | erot = 3.87514152367616 | epot = -39.4689573474102 | etot = -31.0526975105979 +739000 ekin = 4.64515651334117 | erot = 3.86830954896682 | epot = -39.6580785017876 | etot = -31.1446124394797 +740000 ekin = 4.59721923359587 | erot = 3.83234514918728 | epot = -39.7800787241316 | etot = -31.3505143413485 +741000 ekin = 4.54920694202201 | erot = 4.22873772666809 | epot = -39.8001498706487 | etot = -31.0222052019586 +742000 ekin = 4.37775553859947 | erot = 4.07719515191239 | epot = -39.77291919362 | etot = -31.3179685031081 +743000 ekin = 4.3556617165814 | erot = 4.19296317409631 | epot = -39.6826493457459 | etot = -31.1340244550682 +744000 ekin = 4.35520781857197 | erot = 4.03027041959899 | epot = -39.5404877687078 | etot = -31.1550095305368 +745000 ekin = 4.22626887984311 | erot = 3.36034348052822 | epot = -39.3612863690873 | etot = -31.774674008716 +746000 ekin = 4.11995949308898 | erot = 3.27667360498754 | epot = -39.1619120183871 | etot = -31.7652789203105 +747000 ekin = 4.14400839200212 | erot = 3.30199438470027 | epot = -38.9827326721257 | etot = -31.5367298954233 +748000 ekin = 4.00468940718665 | erot = 3.14625781984354 | epot = -38.8044398216776 | etot = -31.6534925946474 +749000 ekin = 3.84115389861437 | erot = 2.95470003366606 | epot = -38.6687005011651 | etot = -31.8728465688847 +750000 ekin = 3.65410258827795 | erot = 3.15459365563751 | epot = -38.5278602215806 | etot = -31.7191639776652 +751000 ekin = 3.60281847230518 | erot = 3.24631581000329 | epot = -38.4153933025752 | etot = -31.5662590202667 +752000 ekin = 3.67731217795101 | erot = 3.63832283099237 | epot = -38.3028409880035 | etot = -30.9872059790601 +753000 ekin = 3.57605485188786 | erot = 3.26752665173283 | epot = -38.216520404161 | etot = -31.3729389005403 +754000 ekin = 3.69078656100566 | erot = 3.07077330953207 | epot = -38.2008529421059 | etot = -31.4392930715682 +755000 ekin = 3.70168225637966 | erot = 2.97263399944781 | epot = -38.2287093031121 | etot = -31.5543930472847 +756000 ekin = 3.82302121275981 | erot = 3.17826892909081 | epot = -38.3101319992817 | etot = -31.3088418574311 +757000 ekin = 3.92969183976116 | erot = 3.24398381681727 | epot = -38.4229976799529 | etot = -31.2493220233745 +758000 ekin = 4.01825553851179 | erot = 2.96087889455689 | epot = -38.5603809302419 | etot = -31.5812464971732 +759000 ekin = 4.1594567829226 | erot = 3.31368855914157 | epot = -38.7240687265499 | etot = -31.2509233844857 +760000 ekin = 4.08337495041284 | erot = 3.28527114059582 | epot = -38.8845645171708 | etot = -31.5159184261621 +761000 ekin = 4.14862342701 | erot = 3.30586771709934 | epot = -38.9896780479041 | etot = -31.5351869037948 +762000 ekin = 4.15291891523588 | erot = 3.21578962032623 | epot = -39.035237071941 | etot = -31.6665285363789 +763000 ekin = 4.13154828483799 | erot = 3.3900507889809 | epot = -39.064056495297 | etot = -31.5424574214781 +764000 ekin = 4.11445022984107 | erot = 3.78778087021378 | epot = -39.0692483990251 | etot = -31.1670172989703 +765000 ekin = 3.94937442988368 | erot = 3.99811330721235 | epot = -39.0421921917086 | etot = -31.0947044546125 +766000 ekin = 3.90772961551848 | erot = 4.01819621928476 | epot = -38.9772379154489 | etot = -31.0513120806457 +767000 ekin = 3.91865092379335 | erot = 3.66675942927309 | epot = -38.8570109636997 | etot = -31.2716006106333 +768000 ekin = 3.90455829915367 | erot = 3.57997769181359 | epot = -38.7106990781798 | etot = -31.2261630872126 +769000 ekin = 3.79614462627832 | erot = 3.72589479531036 | epot = -38.5987325117514 | etot = -31.0766930901627 +770000 ekin = 3.84943042371494 | erot = 3.41445940258821 | epot = -38.5242031402412 | etot = -31.260313313938 +771000 ekin = 3.93726861106208 | erot = 3.22573743650862 | epot = -38.4470290210347 | etot = -31.284022973464 +772000 ekin = 3.96999789478603 | erot = 3.15006319998271 | epot = -38.4433830504299 | etot = -31.3233219556611 +773000 ekin = 3.90264203603896 | erot = 3.08286085672449 | epot = -38.4596433115511 | etot = -31.4741404187877 +774000 ekin = 4.05136357587228 | erot = 3.17001936426352 | epot = -38.5137422973686 | etot = -31.2923593572328 +775000 ekin = 4.11418642080986 | erot = 3.81754399179959 | epot = -38.5927804349064 | etot = -30.661050022297 +776000 ekin = 4.11481050991311 | erot = 3.55328099460662 | epot = -38.6754580889835 | etot = -31.0073665844638 +777000 ekin = 4.23423405077874 | erot = 3.581082705526 | epot = -38.7616944176802 | etot = -30.9463776613754 +778000 ekin = 4.22244262963935 | erot = 3.64411855451435 | epot = -38.8420321429421 | etot = -30.9754709587884 +779000 ekin = 4.20492205038599 | erot = 3.89270804286641 | epot = -38.9009656289589 | etot = -30.8033355357065 +780000 ekin = 4.19457435208215 | erot = 3.98994130977104 | epot = -38.9050369874365 | etot = -30.7205213255833 +781000 ekin = 4.33837315790481 | erot = 3.45852422770952 | epot = -38.858660577552 | etot = -31.0617631919377 +782000 ekin = 4.36357496915256 | erot = 3.10010011432264 | epot = -38.7868584055569 | etot = -31.3231833220817 +783000 ekin = 4.42162598039043 | erot = 3.42028138737015 | epot = -38.7233668668894 | etot = -30.8814594991289 +784000 ekin = 4.52915280589042 | erot = 3.46746509226011 | epot = -38.6388342149203 | etot = -30.6422163167698 +785000 ekin = 4.55159402138248 | erot = 3.36141401661284 | epot = -38.5160993571772 | etot = -30.6030913191819 +786000 ekin = 4.4107707826177 | erot = 3.55728141641266 | epot = -38.3921286555455 | etot = -30.4240764565152 +787000 ekin = 4.54739828665105 | erot = 3.81681111076945 | epot = -38.2843232861691 | etot = -29.9201138887486 +788000 ekin = 4.51350891647147 | erot = 3.90594890385671 | epot = -38.2029645190102 | etot = -29.783506698682 +789000 ekin = 4.41183434492797 | erot = 4.01545730842708 | epot = -38.1545360413067 | etot = -29.7272443879517 +790000 ekin = 4.3621929679848 | erot = 4.38022337925409 | epot = -38.1642768248249 | etot = -29.4218604775861 +791000 ekin = 4.36856935453188 | erot = 4.10044084346352 | epot = -38.22190556061 | etot = -29.7528953626146 +792000 ekin = 4.15750522427246 | erot = 4.31220830506834 | epot = -38.3006248567473 | etot = -29.8309113274065 +793000 ekin = 4.04895474142999 | erot = 4.47406069249712 | epot = -38.4166817679431 | etot = -29.893666334016 +794000 ekin = 4.06782077729039 | erot = 4.5423761591342 | epot = -38.549740398153 | etot = -29.9395434617284 +795000 ekin = 4.13325369560992 | erot = 4.67664308533435 | epot = -38.7140310649861 | etot = -29.9041342840418 +796000 ekin = 4.24810673699366 | erot = 4.55090018691374 | epot = -38.8628377912584 | etot = -30.0638308673509 +797000 ekin = 4.47820483480062 | erot = 4.3710582070195 | epot = -39.0073103741375 | etot = -30.1580473323174 +798000 ekin = 4.41687882033674 | erot = 4.03192844801015 | epot = -39.1717655165837 | etot = -30.7229582482368 +799000 ekin = 4.51272621151671 | erot = 3.80275615695399 | epot = -39.326421036722 | etot = -31.0109386682513 +800000 ekin = 4.55406747540001 | erot = 3.86603589563195 | epot = -39.4550921156883 | etot = -31.0349887446563 +801000 ekin = 4.71425753043944 | erot = 4.19401636489447 | epot = -39.54550685129 | etot = -30.6372329559561 +802000 ekin = 4.73096724901053 | erot = 4.66018334519234 | epot = -39.5972922700863 | etot = -30.2061416758834 +803000 ekin = 4.62379738113316 | erot = 4.84687313016553 | epot = -39.6033097238912 | etot = -30.1326392125925 +804000 ekin = 4.73211781117971 | erot = 4.65405100631757 | epot = -39.5980929919843 | etot = -30.2119241744871 +805000 ekin = 4.74990370273775 | erot = 5.03061291222782 | epot = -39.5694988655322 | etot = -29.7889822505666 +806000 ekin = 4.71376969100982 | erot = 4.52737209746849 | epot = -39.5309941756429 | etot = -30.2898523871646 +807000 ekin = 4.86079475139436 | erot = 4.60056901312775 | epot = -39.4997078348835 | etot = -30.0383440703614 +808000 ekin = 4.80209833525355 | erot = 4.45818548395654 | epot = -39.4704788837952 | etot = -30.2101950645852 +809000 ekin = 4.63770011287829 | erot = 4.50410245159981 | epot = -39.4133092695816 | etot = -30.2715067051035 +810000 ekin = 4.5884562354768 | erot = 4.59839740206875 | epot = -39.3630399165046 | etot = -30.1761862789591 +811000 ekin = 4.49885529137743 | erot = 3.9887801293149 | epot = -39.2630135095319 | etot = -30.7753780888396 +812000 ekin = 4.26896362698773 | erot = 3.78568800845431 | epot = -39.1138584925267 | etot = -31.0592068570847 +813000 ekin = 4.13473287838125 | erot = 3.67097615600868 | epot = -38.9684769118809 | etot = -31.1627678774909 +814000 ekin = 3.94776533151707 | erot = 3.94579982777182 | epot = -38.8393181931019 | etot = -30.945753033813 +815000 ekin = 3.90824876714858 | erot = 4.04132924638676 | epot = -38.7551601823022 | etot = -30.8055821687669 +816000 ekin = 3.78701127768462 | erot = 3.90301930977965 | epot = -38.6978803550943 | etot = -31.00784976763 +817000 ekin = 3.66292511898638 | erot = 3.94682412287947 | epot = -38.6270985077426 | etot = -31.0173492658768 +818000 ekin = 3.57247131276286 | erot = 4.1784329766224 | epot = -38.5581000447573 | etot = -30.807195755372 +819000 ekin = 3.53877880324505 | erot = 4.11647252852256 | epot = -38.470998731369 | etot = -30.8157473996014 +820000 ekin = 3.50671598439872 | erot = 4.2563179936087 | epot = -38.3521077332955 | etot = -30.5890737552881 +821000 ekin = 3.53103431342872 | erot = 3.63219688182932 | epot = -38.2011634572155 | etot = -31.0379322619575 +822000 ekin = 3.51951391759943 | erot = 3.61259288561799 | epot = -38.0560993175181 | etot = -30.9239925143007 +823000 ekin = 3.57671320020567 | erot = 3.17979253207746 | epot = -37.8872361758758 | etot = -31.1307304435927 +824000 ekin = 3.52000952110933 | erot = 3.12347116703119 | epot = -37.7532307820924 | etot = -31.1097500939519 +825000 ekin = 3.58955759313317 | erot = 3.15061432333255 | epot = -37.6359982536735 | etot = -30.8958263372078 +826000 ekin = 3.67361585241127 | erot = 3.02327306669 | epot = -37.5692124634558 | etot = -30.8723235443545 +827000 ekin = 3.81109350736614 | erot = 2.85212407416514 | epot = -37.5611625241688 | etot = -30.8979449426375 +828000 ekin = 3.90531542763314 | erot = 2.81227386436725 | epot = -37.5694328663447 | etot = -30.8518435743443 +829000 ekin = 3.84587100054134 | erot = 2.81493449341339 | epot = -37.6070676030483 | etot = -30.9462621090935 +830000 ekin = 3.92673136944215 | erot = 3.15236191191148 | epot = -37.6537469157601 | etot = -30.5746536344065 +831000 ekin = 3.93921284330496 | erot = 3.06450076609936 | epot = -37.7261731649981 | etot = -30.7224595555938 +832000 ekin = 3.97197612374622 | erot = 3.05649894744995 | epot = -37.8221989970108 | etot = -30.7937239258147 +833000 ekin = 3.93725030890251 | erot = 3.02665836452882 | epot = -37.937171835506 | etot = -30.9732631620747 +834000 ekin = 3.98146697711155 | erot = 3.02136079279364 | epot = -38.0629385880238 | etot = -31.0601108181186 +835000 ekin = 4.05052897985959 | erot = 3.17273406713199 | epot = -38.1835463837721 | etot = -30.9602833367805 +836000 ekin = 4.19040397553803 | erot = 3.26946027032966 | epot = -38.300933644763 | etot = -30.8410693988953 +837000 ekin = 4.23633886579814 | erot = 3.17722972050009 | epot = -38.3895940577245 | etot = -30.9760254714262 +838000 ekin = 4.2979004072249 | erot = 3.15450479842831 | epot = -38.4727069904852 | etot = -31.020301784832 +839000 ekin = 4.1827320503791 | erot = 3.33215565016996 | epot = -38.5543306618494 | etot = -31.0394429613003 +840000 ekin = 4.10684077367706 | erot = 3.38230089969601 | epot = -38.6241675017604 | etot = -31.1350258283873 +841000 ekin = 4.23749853699732 | erot = 4.07451157411686 | epot = -38.6954306161323 | etot = -30.3834205050181 +842000 ekin = 4.21536707994271 | erot = 4.23835126074064 | epot = -38.7619078222529 | etot = -30.3081894815695 +843000 ekin = 4.22215504966707 | erot = 4.35771502414032 | epot = -38.8129398935363 | etot = -30.2330698197289 +844000 ekin = 4.30121627933579 | erot = 4.37450016715715 | epot = -38.8385476120778 | etot = -30.1628311655849 +845000 ekin = 4.21550077214613 | erot = 4.14378307005664 | epot = -38.8237568245828 | etot = -30.4644729823801 +846000 ekin = 4.02238016824688 | erot = 4.51654867802969 | epot = -38.7905889780242 | etot = -30.2516601317477 +847000 ekin = 4.01810256512938 | erot = 4.26125017170757 | epot = -38.7339575587521 | etot = -30.4546048219152 +848000 ekin = 3.96232133970733 | erot = 4.11983424179415 | epot = -38.6313622633388 | etot = -30.5492066818373 +849000 ekin = 3.80836560854392 | erot = 4.28564223418282 | epot = -38.48959631527 | etot = -30.3955884725433 +850000 ekin = 3.69578896780274 | erot = 4.39587758868534 | epot = -38.3525607889923 | etot = -30.2608942325043 +851000 ekin = 3.41959969074419 | erot = 4.26064520104068 | epot = -38.1456854690895 | etot = -30.4654405773046 +852000 ekin = 3.30829887930773 | erot = 3.71835542085462 | epot = -37.9409715149429 | etot = -30.9143172147806 +853000 ekin = 3.35508979255709 | erot = 3.37030184945615 | epot = -37.7900455534541 | etot = -31.0646539114409 +854000 ekin = 3.27022944339444 | erot = 3.34212111159848 | epot = -37.7131840806896 | etot = -31.1008335256967 +855000 ekin = 3.1986122719394 | erot = 3.88856216577092 | epot = -37.6928018165187 | etot = -30.6056273788084 +856000 ekin = 3.06768638261931 | erot = 3.9829801102148 | epot = -37.727010473156 | etot = -30.6763439803219 +857000 ekin = 3.0284945827112 | erot = 3.90128373509548 | epot = -37.7894644617561 | etot = -30.8596861439494 +858000 ekin = 3.01766394874129 | erot = 3.81481515545785 | epot = -37.864155422239 | etot = -31.0316763180398 +859000 ekin = 3.04279727315571 | erot = 3.58850792531729 | epot = -37.9147104139937 | etot = -31.2834052155206 +860000 ekin = 3.12250083122178 | erot = 3.47152341944192 | epot = -37.9805991878281 | etot = -31.3865749371644 +861000 ekin = 3.08661234486258 | erot = 3.19104504877415 | epot = -38.0455048743499 | etot = -31.7678474807132 +862000 ekin = 3.21284829409282 | erot = 3.29871938445951 | epot = -38.0992348440439 | etot = -31.5876671654916 +863000 ekin = 3.30782920492319 | erot = 3.18791577959006 | epot = -38.1747149198293 | etot = -31.6789699353161 +864000 ekin = 3.42420257195633 | erot = 2.92388402618492 | epot = -38.2365375033582 | etot = -31.8884509052169 +865000 ekin = 3.34466551527703 | erot = 3.0972998859353 | epot = -38.301208351407 | etot = -31.8592429501947 +866000 ekin = 3.36174635490682 | erot = 3.3198551234471 | epot = -38.3565233653476 | etot = -31.6749218869937 +867000 ekin = 3.421839196855 | erot = 2.79592217571863 | epot = -38.3877893327294 | etot = -32.1700279601558 +868000 ekin = 3.36274087144654 | erot = 2.53957841641307 | epot = -38.4029375195829 | etot = -32.5006182317233 +869000 ekin = 3.40964507660633 | erot = 2.56691032353925 | epot = -38.36070725069 | etot = -32.3841518505444 +870000 ekin = 3.53716918539255 | erot = 2.78671187381857 | epot = -38.3296120297664 | etot = -32.0057309705553 +871000 ekin = 3.59594316640844 | erot = 2.64188707611858 | epot = -38.2798157408161 | etot = -32.0419854982891 +872000 ekin = 3.50734679867103 | erot = 2.53533702817681 | epot = -38.2086073023315 | etot = -32.1659234754836 +873000 ekin = 3.4916725837923 | erot = 2.78144827221659 | epot = -38.1271407877643 | etot = -31.8540199317554 +874000 ekin = 3.51303146719815 | erot = 2.71312702979827 | epot = -38.0371921369836 | etot = -31.8110336399872 +875000 ekin = 3.48945347772522 | erot = 2.94850163157192 | epot = -37.9788388329101 | etot = -31.540883723613 +876000 ekin = 3.56075870692742 | erot = 3.00511197452216 | epot = -37.9138095080296 | etot = -31.34793882658 +877000 ekin = 3.47758786865161 | erot = 3.1639084633419 | epot = -37.8677942057125 | etot = -31.226297873719 +878000 ekin = 3.30311825505464 | erot = 3.03452838302456 | epot = -37.8643582436494 | etot = -31.5267116055702 +879000 ekin = 3.24374156245722 | erot = 3.40785973601244 | epot = -37.8934655456587 | etot = -31.241864247189 +880000 ekin = 3.37573093292728 | erot = 3.29280897525387 | epot = -37.94427513544 | etot = -31.2757352272588 +881000 ekin = 3.39840544569008 | erot = 3.5585281271734 | epot = -38.000888118187 | etot = -31.0439545453235 +882000 ekin = 3.58967670735277 | erot = 3.3599507497553 | epot = -38.026551897189 | etot = -31.0769244400809 +883000 ekin = 3.50982611331089 | erot = 2.96694324238043 | epot = -38.0094926569536 | etot = -31.5327233012623 +884000 ekin = 3.40446481075003 | erot = 3.29501620823909 | epot = -37.9974315131722 | etot = -31.2979504941831 +885000 ekin = 3.35965929451984 | erot = 3.11716654513079 | epot = -38.0104898466533 | etot = -31.5336640070026 +886000 ekin = 3.4398820879568 | erot = 3.03035945423277 | epot = -38.0693633346149 | etot = -31.5991217924253 +887000 ekin = 3.45628684947257 | erot = 3.13318789403751 | epot = -38.1677034351609 | etot = -31.5782286916509 +888000 ekin = 3.56219309594464 | erot = 3.51843891461384 | epot = -38.2809194479114 | etot = -31.2002874373529 +889000 ekin = 3.66415644518222 | erot = 4.27546474777851 | epot = -38.4171028829354 | etot = -30.4774816899746 +890000 ekin = 3.59199164776021 | erot = 4.54716655442229 | epot = -38.5531146541751 | etot = -30.4139564519926 +891000 ekin = 3.48698350789935 | erot = 4.75701182525661 | epot = -38.6580895919219 | etot = -30.414094258766 +892000 ekin = 3.5156285575795 | erot = 4.92508483334396 | epot = -38.7362622656564 | etot = -30.295548874733 +893000 ekin = 3.47661113338826 | erot = 5.21569244219348 | epot = -38.7939526432619 | etot = -30.1016490676802 +894000 ekin = 3.33377890272878 | erot = 5.32415823975917 | epot = -38.7809839614902 | etot = -30.1230468190022 +895000 ekin = 3.43478318369595 | erot = 5.41005154361594 | epot = -38.7354883491901 | etot = -29.8906536218782 +896000 ekin = 3.35681124753247 | erot = 5.27612600451783 | epot = -38.6441447733837 | etot = -30.0112075213334 +897000 ekin = 3.28668538949691 | erot = 5.17803324766006 | epot = -38.5248966927269 | etot = -30.0601780555699 +898000 ekin = 3.28286469703046 | erot = 5.1387437476849 | epot = -38.3749221439183 | etot = -29.9533136992029 +899000 ekin = 3.28106900834727 | erot = 5.02377463132161 | epot = -38.2159550339516 | etot = -29.9111113942827 +900000 ekin = 3.2375487758962 | erot = 4.74128859066627 | epot = -38.0678968923378 | etot = -30.0890595257754 +901000 ekin = 3.13978298302567 | erot = 4.32431292426646 | epot = -37.9137652588161 | etot = -30.449669351524 +902000 ekin = 3.14110495369396 | erot = 3.63711917032585 | epot = -37.7967183247471 | etot = -31.0184942007273 +903000 ekin = 3.11835106948985 | erot = 3.58358384011855 | epot = -37.7069569192994 | etot = -31.005022009691 +904000 ekin = 3.07376219479306 | erot = 3.52931006844845 | epot = -37.659746760624 | etot = -31.0566744973825 +905000 ekin = 3.06812362454382 | erot = 3.78913234205786 | epot = -37.6633180135035 | etot = -30.8060620469019 +906000 ekin = 3.16118254583051 | erot = 3.68210315785587 | epot = -37.7114125889236 | etot = -30.8681268852372 +907000 ekin = 3.05937736690029 | erot = 3.63166351278053 | epot = -37.8094278488434 | etot = -31.1183869691625 +908000 ekin = 3.20197665753497 | erot = 3.64411333350696 | epot = -37.8953945586469 | etot = -31.049304567605 +909000 ekin = 3.13419888287821 | erot = 3.44894287146556 | epot = -37.9553359165691 | etot = -31.3721941622254 +910000 ekin = 3.20114546563037 | erot = 3.42446813676887 | epot = -38.0249179476088 | etot = -31.3993043452096 +911000 ekin = 3.18332024249094 | erot = 3.30496399638702 | epot = -38.1090485606 | etot = -31.620764321722 +912000 ekin = 3.26276595850353 | erot = 3.24471741353574 | epot = -38.2096715613879 | etot = -31.7021881893487 +913000 ekin = 3.26815619138256 | erot = 3.26266624315757 | epot = -38.3821519588595 | etot = -31.8513295243194 +914000 ekin = 3.35412635067739 | erot = 3.33562334375849 | epot = -38.6092123987843 | etot = -31.9194627043485 +915000 ekin = 3.50776663391044 | erot = 3.60910336634357 | epot = -38.8009254120373 | etot = -31.6840554117832 +916000 ekin = 3.52773139010892 | erot = 3.4674530941274 | epot = -38.9707688836107 | etot = -31.9755843993744 +917000 ekin = 3.59076210165245 | erot = 3.4117857351299 | epot = -39.0925719913729 | etot = -32.0900241545906 +918000 ekin = 3.7045685353762 | erot = 3.18226166796498 | epot = -39.1781408185662 | etot = -32.291310615225 +919000 ekin = 3.7803778042616 | erot = 3.08638967761954 | epot = -39.2569196438482 | etot = -32.3901521619671 +920000 ekin = 3.91060781137672 | erot = 3.28711158692169 | epot = -39.3298863351684 | etot = -32.13216693687 +921000 ekin = 3.94747979949415 | erot = 3.453377720589 | epot = -39.3932618134519 | etot = -31.9924042933687 +922000 ekin = 3.94814734356937 | erot = 3.67117615571543 | epot = -39.442934644951 | etot = -31.8236111456662 +923000 ekin = 3.96148195878582 | erot = 4.16418425189008 | epot = -39.4697891977422 | etot = -31.3441229870663 +924000 ekin = 3.93156231463918 | erot = 4.23364521862781 | epot = -39.4747062603531 | etot = -31.3094987270862 +925000 ekin = 3.98364691406514 | erot = 4.37102519058194 | epot = -39.455954311955 | etot = -31.1012822073079 +926000 ekin = 3.9016583484788 | erot = 4.53983917650241 | epot = -39.3838686479858 | etot = -30.9423711230046 +927000 ekin = 3.86159556963871 | erot = 4.93409467569021 | epot = -39.300982283531 | etot = -30.505292038202 +928000 ekin = 3.88113409255633 | erot = 4.54344659797527 | epot = -39.2237313850885 | etot = -30.7991506945569 +929000 ekin = 3.73601262143401 | erot = 4.54159517313976 | epot = -39.0907845737874 | etot = -30.8131767792137 +930000 ekin = 3.62890283946134 | erot = 4.23223960576951 | epot = -38.9310668930158 | etot = -31.0699244477849 +931000 ekin = 3.51130978751943 | erot = 3.75580234575066 | epot = -38.7496742883208 | etot = -31.4825621550507 +932000 ekin = 3.4360478582471 | erot = 3.85916877458121 | epot = -38.6047820584061 | etot = -31.3095654255778 +933000 ekin = 3.34945134482961 | erot = 4.10711762351075 | epot = -38.510851150919 | etot = -31.0542821825786 +934000 ekin = 3.25407370525944 | erot = 4.02198516513935 | epot = -38.4343657155247 | etot = -31.1583068451259 +935000 ekin = 3.15706754617314 | erot = 3.94213624960975 | epot = -38.3842418910869 | etot = -31.285038095304 +936000 ekin = 3.00555649828169 | erot = 4.41385590541793 | epot = -38.3669049397814 | etot = -30.9474925360818 +937000 ekin = 2.92065396617303 | erot = 4.74523400801327 | epot = -38.3453538388337 | etot = -30.6794658646474 +938000 ekin = 2.97141948473083 | erot = 4.76974809222715 | epot = -38.3344331957964 | etot = -30.5932656188384 +939000 ekin = 2.94512706992735 | erot = 4.54496818954263 | epot = -38.3244620131105 | etot = -30.8343667536406 +940000 ekin = 2.88288211336416 | erot = 4.33037795313973 | epot = -38.3226244406597 | etot = -31.1093643741558 +941000 ekin = 3.07298949733874 | erot = 4.38312166999019 | epot = -38.3472582821343 | etot = -30.8911471148054 +942000 ekin = 3.09399973822823 | erot = 4.23262521183808 | epot = -38.3627707290365 | etot = -31.0361457789702 +943000 ekin = 3.06928348074207 | erot = 4.29810120769338 | epot = -38.3654861580835 | etot = -30.998101469648 +944000 ekin = 3.05361136554805 | erot = 4.57752136432057 | epot = -38.3891229370224 | etot = -30.7579902071538 +945000 ekin = 3.10532952733951 | erot = 4.63116672909514 | epot = -38.4481824906829 | etot = -30.7116862342482 +946000 ekin = 3.22536073155712 | erot = 4.97756078019748 | epot = -38.5304457687249 | etot = -30.3275242569703 +947000 ekin = 3.22481791886517 | erot = 4.85505897631128 | epot = -38.6306947506546 | etot = -30.5508178554781 +948000 ekin = 3.31258286730503 | erot = 4.40885070504342 | epot = -38.7111926164559 | etot = -30.9897590441074 +949000 ekin = 3.26341750645552 | erot = 4.50805562556237 | epot = -38.7582101439125 | etot = -30.9867370118946 +950000 ekin = 3.38312193033102 | erot = 4.30600402576272 | epot = -38.7909813747401 | etot = -31.1018554186463 +951000 ekin = 3.45878288324884 | erot = 3.92069079490449 | epot = -38.8089483233273 | etot = -31.429474645174 +952000 ekin = 3.42224118561199 | erot = 3.67807790241712 | epot = -38.8172186174577 | etot = -31.7168995294286 +953000 ekin = 3.53558981303889 | erot = 3.54582501818219 | epot = -38.8376037887753 | etot = -31.7561889575542 +954000 ekin = 3.74081536790968 | erot = 3.65672942044178 | epot = -38.8501623721149 | etot = -31.4526175837635 +955000 ekin = 3.7110092436565 | erot = 3.89616377536048 | epot = -38.8864415175109 | etot = -31.279268498494 +956000 ekin = 3.60593207480456 | erot = 3.60411690044688 | epot = -38.9258365620746 | etot = -31.7157875868231 +957000 ekin = 3.49530434439501 | erot = 3.8241034771156 | epot = -38.9468561104726 | etot = -31.627448288962 +958000 ekin = 3.33025913134867 | erot = 4.09361696296971 | epot = -38.956606995368 | etot = -31.5327309010496 +959000 ekin = 3.2325863398297 | erot = 4.27749630513801 | epot = -38.9400855462526 | etot = -31.4300029012849 +960000 ekin = 3.31834124707632 | erot = 4.19167538415384 | epot = -38.9006120641382 | etot = -31.3905954329081 +961000 ekin = 3.23354004257456 | erot = 4.33974592386025 | epot = -38.8709462828606 | etot = -31.2976603164258 +962000 ekin = 3.27687420354399 | erot = 4.18251799625541 | epot = -38.8399997192037 | etot = -31.3806075194043 +963000 ekin = 3.18724078299274 | erot = 4.29559449615356 | epot = -38.8215635568142 | etot = -31.3387282776679 +964000 ekin = 3.16628639784324 | erot = 4.17929146419551 | epot = -38.8033314242486 | etot = -31.4577535622098 +965000 ekin = 3.23601563824504 | erot = 4.51599223822389 | epot = -38.7801591620084 | etot = -31.0281512855395 +966000 ekin = 3.35348380272829 | erot = 3.96490873951942 | epot = -38.7593006562386 | etot = -31.4409081139909 +967000 ekin = 3.47301428118912 | erot = 3.78771221675284 | epot = -38.7263415939782 | etot = -31.4656150960363 +968000 ekin = 3.51493406845154 | erot = 3.36657292776078 | epot = -38.7364041234232 | etot = -31.8548971272109 +969000 ekin = 3.55243037222546 | erot = 3.66068265314136 | epot = -38.7529284526025 | etot = -31.5398154272357 +970000 ekin = 3.63553363347268 | erot = 3.13050605621035 | epot = -38.8016144947089 | etot = -32.0355748050258 +971000 ekin = 3.62760421034414 | erot = 3.43775684259619 | epot = -38.870763787289 | etot = -31.8054027343487 +972000 ekin = 3.66143241862989 | erot = 4.04556663388647 | epot = -38.9794799026743 | etot = -31.2724808501579 +973000 ekin = 3.7246589822928 | erot = 3.97416581320673 | epot = -39.0667487302084 | etot = -31.3679239347088 +974000 ekin = 3.99953950913791 | erot = 4.13912764019193 | epot = -39.1431741069697 | etot = -31.0045069576398 +975000 ekin = 4.00465817345131 | erot = 3.99525896460893 | epot = -39.1948973492942 | etot = -31.194980211234 +976000 ekin = 4.16803719317624 | erot = 4.27607609453618 | epot = -39.2042146461381 | etot = -30.7601013584257 +977000 ekin = 4.27763535208348 | erot = 4.3578537464676 | epot = -39.1647674598218 | etot = -30.5292783612708 +978000 ekin = 4.21509832146809 | erot = 3.96978575035229 | epot = -39.0661575270878 | etot = -30.8812734552674 +979000 ekin = 4.1121993977163 | erot = 3.86340161937279 | epot = -38.9126163242263 | etot = -30.9370153071372 +980000 ekin = 4.08548639230676 | erot = 3.71918260809163 | epot = -38.7460650378699 | etot = -30.9413960374715 +981000 ekin = 4.02033461236246 | erot = 3.54042819636898 | epot = -38.597187758635 | etot = -31.0364249499036 +982000 ekin = 4.05981657544079 | erot = 3.65178477672055 | epot = -38.4729888125583 | etot = -30.761387460397 +983000 ekin = 4.15649242216497 | erot = 3.62195027480226 | epot = -38.3342599610661 | etot = -30.5558172640988 +984000 ekin = 4.15445943144041 | erot = 3.41256983843898 | epot = -38.1946691276127 | etot = -30.6276398577333 +985000 ekin = 3.8765990108719 | erot = 3.43767805044635 | epot = -38.0505436384558 | etot = -30.7362665771376 +986000 ekin = 3.85786856381243 | erot = 3.30334700587336 | epot = -37.8996934133204 | etot = -30.7384778436346 +987000 ekin = 3.87294863787324 | erot = 3.15398232754985 | epot = -37.7929706719646 | etot = -30.7660397065415 +988000 ekin = 3.93790531951922 | erot = 3.08701498108577 | epot = -37.6532967522442 | etot = -30.6283764516392 +989000 ekin = 3.83115351568816 | erot = 3.07802242316593 | epot = -37.5101193189106 | etot = -30.6009433800565 +990000 ekin = 3.81048959043177 | erot = 3.11196082795564 | epot = -37.3832609771668 | etot = -30.4608105587794 +991000 ekin = 3.71517412131507 | erot = 3.09240412040415 | epot = -37.2833659467137 | etot = -30.4757877049945 +992000 ekin = 3.63849701384077 | erot = 2.99887074192575 | epot = -37.1786754428024 | etot = -30.5413076870359 +993000 ekin = 3.63209056043319 | erot = 3.27649085900159 | epot = -37.0906927302528 | etot = -30.182111310818 +994000 ekin = 3.59828390693157 | erot = 3.83169777268287 | epot = -37.0255816353103 | etot = -29.5955999556959 +995000 ekin = 3.75927077522085 | erot = 3.45385861701398 | epot = -36.9690811728773 | etot = -29.7559517806424 +996000 ekin = 3.7162823443018 | erot = 3.37243499359149 | epot = -36.9421300931431 | etot = -29.8534127552498 +997000 ekin = 3.60416089411945 | erot = 3.31461433836006 | epot = -36.952810875641 | etot = -30.0340356431615 +998000 ekin = 3.71457183702559 | erot = 3.42780251384754 | epot = -37.0325234658195 | etot = -29.8901491149464 +999000 ekin = 3.78703773886275 | erot = 3.63993408891199 | epot = -37.154809159371 | etot = -29.7278373315963 +1000000 ekin = 3.83883486112593 | erot = 3.47192929391939 | epot = -37.2430911050886 | etot = -29.9323269500432 + 1000000 0.10236893 -1.4701186 0.037692055 -1.2847791 5.0290761e-05 64000 +Loop time of 83.1091 on 1 procs for 1000000 steps with 26 atoms + +Performance: 10395.973 tau/day, 12032.377 timesteps/s +99.8% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 74.406 | 74.406 | 74.406 | 0.0 | 89.53 +Bond | 1.6522 | 1.6522 | 1.6522 | 0.0 | 1.99 +Neigh | 0.020569 | 0.020569 | 0.020569 | 0.0 | 0.02 +Comm | 0.20204 | 0.20204 | 0.20204 | 0.0 | 0.24 +Output | 0.23125 | 0.23125 | 0.23125 | 0.0 | 0.28 +Modify | 6.3912 | 6.3912 | 6.3912 | 0.0 | 7.69 +Other | | 0.2061 | | | 0.25 + +Nlocal: 26.0000 ave 26 max 26 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 0.00000 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 301.000 ave 301 max 301 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 301 +Ave neighs/atom = 11.576923 +Ave special neighs/atom = 5.0769231 +Neighbor list builds = 1000 +Dangerous builds = 0 + +write_data last_config.${number}.* nocoeff +write_data last_config.8.* nocoeff +System init for write_data ... +Total wall time: 0:01:23 diff --git a/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.27May21.duplex4.8type.g++4 b/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.27May21.duplex4.8type.g++4 new file mode 100644 index 0000000000..d16e7b4935 --- /dev/null +++ b/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.27May21.duplex4.8type.g++4 @@ -0,0 +1,1272 @@ +LAMMPS (27 May 2021) +variable number equal 8 +variable ofreq equal 1000 +variable efreq equal 1000 + +variable ntype equal 8 + +variable T equal 0.1 +variable rhos equal 0.2 + +units lj + +dimension 3 + +newton off + +boundary p p p + +atom_style hybrid bond ellipsoid oxdna +WARNING: Atom style hybrid defines both, per-type and per-atom masses; both must be set, but only per-atom masses will be used (../atom_vec_hybrid.cpp:157) +atom_modify sort 0 1.0 + +# Pair interactions require lists of neighbours to be calculated +neighbor 2.0 bin +neigh_modify every 10 delay 0 check yes + +read_data data.duplex4.8type +Reading data file ... + orthogonal box = (-20.000000 -20.000000 -20.000000) to (20.000000 20.000000 20.000000) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 26 atoms + reading velocities ... + 26 velocities + scanning bonds ... + 2 = max bonds/atom + 26 ellipsoids + reading bonds ... +Setting oxDNA 3'->5' bond directionality ... + 24 bonds +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 + 2 = max # of 1-3 neighbors + 4 = max # of 1-4 neighbors + 6 = max # of special neighbors + special bonds CPU = 0.001 seconds + read_data CPU = 0.005 seconds + +mass * 3.1575 # sets per-type mass if not in data file +set atom * mass 3.1575 # sets per-atom mass +Setting atom values ... + 26 settings made for mass + +group all type 1 8 +26 atoms in group all + +# oxDNA2 bond interactions - FENE backbone +bond_style oxdna2/fene +bond_coeff * 2.0 0.25 0.7564 +special_bonds lj 0 1 1 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 1 1 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 2 = max # of 1-3 neighbors + 4 = max # of 1-4 neighbors + 6 = max # of special neighbors + special bonds CPU = 0.000 seconds + +# oxDNA pair interactions +pair_style hybrid/overlay oxdna2/excv oxdna2/stk oxdna2/hbond oxdna2/xstk oxdna2/coaxstk oxdna2/dh +pair_coeff * * oxdna2/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32 +pair_coeff * * oxdna2/stk seqdep ${T} 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 +pair_coeff * * oxdna2/stk seqdep 0.1 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 +pair_coeff * * oxdna2/hbond seqdep 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 + +label loop +variable base loop ${ntype} +variable base loop 8 + variable basemod equal ${base}%4 + variable basemod equal 1%4 + if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" +variable comp equal ${base}+3 +variable comp equal 1+3 +pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 1 ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 1 4 oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 + if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" +next base +jump in.duplex4.8type loop +variable base loop ${ntype} +variable base loop 8 + variable basemod equal ${base}%4 + variable basemod equal 2%4 + if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" + if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" +variable comp equal ${base}+1 +variable comp equal 2+1 +pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 2 ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 2 3 oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +next base +jump in.duplex4.8type loop +variable base loop ${ntype} +variable base loop 8 + variable basemod equal ${base}%4 + variable basemod equal 3%4 + if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" + if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" +next base +jump in.duplex4.8type loop +variable base loop ${ntype} +variable base loop 8 + variable basemod equal ${base}%4 + variable basemod equal 4%4 + if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" + if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" +next base +jump in.duplex4.8type loop +variable base loop ${ntype} +variable base loop 8 + variable basemod equal ${base}%4 + variable basemod equal 5%4 + if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" +variable comp equal ${base}+3 +variable comp equal 5+3 +pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 5 ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 5 8 oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 + if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" +next base +jump in.duplex4.8type loop +variable base loop ${ntype} +variable base loop 8 + variable basemod equal ${base}%4 + variable basemod equal 6%4 + if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" + if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" +variable comp equal ${base}+1 +variable comp equal 6+1 +pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 6 ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 6 7 oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +next base +jump in.duplex4.8type loop +variable base loop ${ntype} +variable base loop 8 + variable basemod equal ${base}%4 + variable basemod equal 7%4 + if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" + if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" +next base +jump in.duplex4.8type loop +variable base loop ${ntype} +variable base loop 8 + variable basemod equal ${base}%4 + variable basemod equal 8%4 + if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" + if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" +next base +jump in.duplex4.8type loop + +pair_coeff * * oxdna2/xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68 +pair_coeff * * oxdna2/coaxstk 58.5 0.4 0.6 0.22 0.58 2.0 2.891592653589793 0.65 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 40.0 3.116592653589793 +pair_coeff * * oxdna2/dh ${T} ${rhos} 0.815 +pair_coeff * * oxdna2/dh 0.1 ${rhos} 0.815 +pair_coeff * * oxdna2/dh 0.1 0.2 0.815 + +# Langevin dynamics +fix 1 all nve/asphere +fix 2 all langevin ${T} ${T} 2.5 457145 angmom 10 +fix 2 all langevin 0.1 ${T} 2.5 457145 angmom 10 +fix 2 all langevin 0.1 0.1 2.5 457145 angmom 10 + +timestep 1e-5 + +#comm_style tiled +fix 3 all balance 1000 1.03 shift xyz 10 1.03 +comm_modify cutoff 3.8 + +compute quat all property/atom quatw quati quatj quatk + +compute erot all erotate/asphere +compute ekin all ke +compute epot all pe +variable erot equal c_erot +variable ekin equal c_ekin +variable epot equal c_epot +variable etot equal c_erot+c_ekin+c_epot +fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes +fix 5 all print 1000 "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes + +dump out all custom ${ofreq} out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump out all custom 1000 out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump out all custom 1000 out.8.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump_modify out sort id +dump_modify out format line "%d %d %d %22.15le %22.15le %22.15le %d %d %d %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le" + +run 1000000 +Neighbor list info ... + update every 10 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 5.6389877 + ghost atom cutoff = 5.6389877 + binsize = 2.8194939, bins = 15 15 15 + 5 neighbor lists, perpetual/occasional/extra = 5 0 0 + (1) pair oxdna2/excv, perpetual + attributes: half, newton off + pair build: half/bin/newtoff + stencil: full/bin/3d + bin: standard + (2) pair oxdna2/hbond, perpetual, copy from (1) + attributes: half, newton off + pair build: copy + stencil: none + bin: none + (3) pair oxdna2/xstk, perpetual, copy from (1) + attributes: half, newton off + pair build: copy + stencil: none + bin: none + (4) pair oxdna2/coaxstk, perpetual, copy from (1) + attributes: half, newton off + pair build: copy + stencil: none + bin: none + (5) pair oxdna2/dh, perpetual, copy from (1) + attributes: half, newton off + pair build: copy + stencil: none + bin: none +WARNING: Communication cutoff adjusted to 5.638987723814632 (../comm.cpp:739) +0 ekin = 3.74991604702378 | erot = 3.45272678980464 | epot = -37.3742009011421 | etot = -30.1715580643137 +Per MPI rank memory allocation (min/avg/max) = 9.571 | 9.572 | 9.573 Mbytes +Step Temp E_pair E_mol TotEng Press Volume + 0 0.099997761 -1.4717559 0.03428661 -1.2932417 5.6146609e-05 64000 +1000 ekin = 3.92430268570824 | erot = 3.29540971313705 | epot = -37.4816670091169 | etot = -30.2619546102716 +2000 ekin = 3.88644825046428 | erot = 3.58410925014822 | epot = -37.5871874286304 | etot = -30.1166299280179 +3000 ekin = 3.90603224055461 | erot = 3.78206057452861 | epot = -37.7021302921285 | etot = -30.0140374770453 +4000 ekin = 4.02636555552402 | erot = 3.91677901140303 | epot = -37.8027608694504 | etot = -29.8596163025233 +5000 ekin = 4.05442725401043 | erot = 4.07817807460239 | epot = -37.8494362833427 | etot = -29.7168309547299 +6000 ekin = 4.13499768127483 | erot = 4.03873475277247 | epot = -37.8257365098367 | etot = -29.6520040757894 +7000 ekin = 4.08584129662811 | erot = 3.98502892930338 | epot = -37.744776171106 | etot = -29.6739059451746 +8000 ekin = 4.04473728341539 | erot = 3.70461133282256 | epot = -37.6185211079512 | etot = -29.8691724917132 +9000 ekin = 3.97040375513034 | erot = 3.89171847539017 | epot = -37.4779912856655 | etot = -29.615869055145 +10000 ekin = 4.08064552796877 | erot = 4.10399273710613 | epot = -37.3378150214196 | etot = -29.1531767563447 +11000 ekin = 3.94505548567029 | erot = 4.14758664614567 | epot = -37.2085796341436 | etot = -29.1159375023277 +12000 ekin = 3.88687763742867 | erot = 4.11256727293728 | epot = -37.1168918341093 | etot = -29.1174469237433 +13000 ekin = 3.78376547312035 | erot = 3.94997258779545 | epot = -37.0636475805867 | etot = -29.3299095196709 +14000 ekin = 3.72114827358809 | erot = 3.83862755313067 | epot = -37.0539326083543 | etot = -29.4941567816355 +15000 ekin = 3.63885725366144 | erot = 3.37568559083325 | epot = -37.0775134892158 | etot = -30.0629706447211 +16000 ekin = 3.75926862366823 | erot = 3.47832285528771 | epot = -37.1763229835919 | etot = -29.938731504636 +17000 ekin = 3.80458992549718 | erot = 3.37818714949378 | epot = -37.3270848276044 | etot = -30.1443077526134 +18000 ekin = 3.81685915102048 | erot = 3.82235577807969 | epot = -37.4876996492705 | etot = -29.8484847201703 +19000 ekin = 3.80633274630077 | erot = 3.8039328333736 | epot = -37.6386270441084 | etot = -30.028361464434 +20000 ekin = 3.77027693322165 | erot = 3.97848447130841 | epot = -37.7861726918926 | etot = -30.0374112873625 +21000 ekin = 3.75594248876352 | erot = 3.90400523936658 | epot = -37.9165000666024 | etot = -30.2565523384723 +22000 ekin = 3.81729390633802 | erot = 3.70298358069274 | epot = -38.0211478246462 | etot = -30.5008703376154 +23000 ekin = 3.86462773298721 | erot = 3.52903064555341 | epot = -38.0539868057477 | etot = -30.6603284272071 +24000 ekin = 3.84611190496181 | erot = 3.47876891204866 | epot = -38.0524942369904 | etot = -30.7276134199799 +25000 ekin = 3.88431543220182 | erot = 3.80956733596667 | epot = -38.0090041212112 | etot = -30.3151213530427 +26000 ekin = 3.88520717073552 | erot = 4.04667753560866 | epot = -37.9336134642013 | etot = -30.0017287578571 +27000 ekin = 3.83553778749005 | erot = 4.18222306888362 | epot = -37.8633670830474 | etot = -29.8456062266737 +28000 ekin = 3.83638307293673 | erot = 4.13838046178307 | epot = -37.8079901228044 | etot = -29.8332265880846 +29000 ekin = 3.81360349447094 | erot = 4.16358811310864 | epot = -37.7885827024555 | etot = -29.8113910948759 +30000 ekin = 3.89572360919441 | erot = 4.04566996469674 | epot = -37.7874054211311 | etot = -29.84601184724 +31000 ekin = 3.89393888302718 | erot = 3.55790326104627 | epot = -37.8038131932178 | etot = -30.3519710491444 +32000 ekin = 3.80317271692918 | erot = 3.54273524643272 | epot = -37.8451815180301 | etot = -30.4992735546682 +33000 ekin = 3.78703980355191 | erot = 3.99364624500488 | epot = -37.9406281896734 | etot = -30.1599421411166 +34000 ekin = 3.77142087668807 | erot = 3.88594611308813 | epot = -38.097584352555 | etot = -30.4402173627788 +35000 ekin = 3.71264930628466 | erot = 3.65225843687418 | epot = -38.2835289304067 | etot = -30.9186211872479 +36000 ekin = 3.74220790707641 | erot = 3.95952222810293 | epot = -38.4596915935922 | etot = -30.7579614584129 +37000 ekin = 3.82423101226177 | erot = 4.44859396622365 | epot = -38.6538277887212 | etot = -30.3810028102358 +38000 ekin = 3.69455547696862 | erot = 4.82722829899228 | epot = -38.8348230288023 | etot = -30.3130392528414 +39000 ekin = 3.5954890965849 | erot = 5.03318978839678 | epot = -38.9632877762132 | etot = -30.3346088912316 +40000 ekin = 3.7239082672625 | erot = 4.77008246177599 | epot = -39.0432740898072 | etot = -30.5492833607687 +41000 ekin = 3.71845130286974 | erot = 4.66721188475359 | epot = -39.0678678855713 | etot = -30.6822046979479 +42000 ekin = 3.5469605515821 | erot = 4.50731751167304 | epot = -39.0616854007739 | etot = -31.0074073375187 +43000 ekin = 3.57495163768248 | erot = 4.94852093613523 | epot = -39.0169365666547 | etot = -30.493463992837 +44000 ekin = 3.52915394890506 | erot = 5.14481752350032 | epot = -38.9320102816114 | etot = -30.258038809206 +45000 ekin = 3.36103362047063 | erot = 5.30737062665206 | epot = -38.8074049309155 | etot = -30.1390006837928 +46000 ekin = 3.33204426677158 | erot = 4.63880623753679 | epot = -38.6602813061652 | etot = -30.6894308018569 +47000 ekin = 3.34546960167669 | erot = 4.072379763769 | epot = -38.5241501078281 | etot = -31.1063007423824 +48000 ekin = 3.40049787952112 | erot = 4.05251615432405 | epot = -38.3938498073687 | etot = -30.9408357735235 +49000 ekin = 3.31008896923648 | erot = 4.20737258711336 | epot = -38.2514760468933 | etot = -30.7340144905435 +50000 ekin = 3.27384446847297 | erot = 3.84861240213718 | epot = -38.0781706006623 | etot = -30.9557137300522 +51000 ekin = 3.28837845708164 | erot = 4.03176750511309 | epot = -37.9124524403703 | etot = -30.5923064781756 +52000 ekin = 3.3261261077424 | erot = 3.69449114481263 | epot = -37.7461543084426 | etot = -30.7255370558875 +53000 ekin = 3.24704253260756 | erot = 3.82351300738067 | epot = -37.5996085904181 | etot = -30.5290530504299 +54000 ekin = 3.28722266262306 | erot = 3.86366065026156 | epot = -37.4297798097104 | etot = -30.2788964968257 +55000 ekin = 3.24079189906262 | erot = 3.69908024112639 | epot = -37.2469422361789 | etot = -30.3070700959899 +56000 ekin = 3.183124569803 | erot = 3.47133297155146 | epot = -37.0860684089791 | etot = -30.4316108676246 +57000 ekin = 3.22541795737962 | erot = 3.05594699251087 | epot = -36.9568071104528 | etot = -30.6754421605623 +58000 ekin = 3.32107899021702 | erot = 2.99608132055983 | epot = -36.8451019319952 | etot = -30.5279416212183 +59000 ekin = 3.3775603338752 | erot = 3.02468556348897 | epot = -36.7527120143507 | etot = -30.3504661169865 +60000 ekin = 3.3783851820659 | erot = 2.80486585978131 | epot = -36.6500489307871 | etot = -30.4667978889399 +61000 ekin = 3.4259305825981 | erot = 2.57336693961335 | epot = -36.5598996921942 | etot = -30.5606021699827 +62000 ekin = 3.38330194206295 | erot = 2.48716523240079 | epot = -36.4917506706078 | etot = -30.6212834961441 +63000 ekin = 3.23944564751902 | erot = 2.68514269262901 | epot = -36.4581690118127 | etot = -30.5335806716646 +64000 ekin = 3.12857340842367 | erot = 2.81379000215884 | epot = -36.4694531808169 | etot = -30.5270897702344 +65000 ekin = 3.0972900172278 | erot = 2.97796742393482 | epot = -36.4999099304858 | etot = -30.4246524893232 +66000 ekin = 3.02532625214509 | erot = 2.98352661182224 | epot = -36.5477137384001 | etot = -30.5388608744328 +67000 ekin = 3.14798260660729 | erot = 3.20065089850768 | epot = -36.6320762786642 | etot = -30.2834427735492 +68000 ekin = 3.28121216444371 | erot = 3.27703862715896 | epot = -36.7797333797323 | etot = -30.2214825881296 +69000 ekin = 3.39109863872899 | erot = 3.49453676740748 | epot = -36.9477169900692 | etot = -30.0620815839328 +70000 ekin = 3.52145416968701 | erot = 3.19663795891378 | epot = -37.1459833247571 | etot = -30.4278911961563 +71000 ekin = 3.72588366820837 | erot = 3.11523594110614 | epot = -37.3394708863316 | etot = -30.4983512770171 +72000 ekin = 3.87053189634972 | erot = 3.51504753627359 | epot = -37.5837173340768 | etot = -30.1981379014535 +73000 ekin = 4.043534645073 | erot = 3.57819581965021 | epot = -37.8491002809696 | etot = -30.2273698162464 +74000 ekin = 4.21655599164747 | erot = 3.67972843708688 | epot = -38.0370200626724 | etot = -30.1407356339381 +75000 ekin = 4.2751803734558 | erot = 3.50148075250732 | epot = -38.1503543696657 | etot = -30.3736932437026 +76000 ekin = 4.39260378383777 | erot = 3.17711135808546 | epot = -38.2269779234848 | etot = -30.6572627815615 +77000 ekin = 4.46694156592454 | erot = 3.28356630286401 | epot = -38.2567512319265 | etot = -30.506243363138 +78000 ekin = 4.58031785764229 | erot = 3.27581240698066 | epot = -38.2501645622451 | etot = -30.3940342976221 +79000 ekin = 4.74132912230535 | erot = 3.40062659497661 | epot = -38.2259226034585 | etot = -30.0839668861766 +80000 ekin = 4.84478519554072 | erot = 3.56980153308286 | epot = -38.14766861013 | etot = -29.7330818815064 +81000 ekin = 4.71163727717015 | erot = 3.65201658810459 | epot = -38.0489180007765 | etot = -29.6852641355017 +82000 ekin = 4.62310894573492 | erot = 3.61128178949357 | epot = -37.9515873690417 | etot = -29.7171966338132 +83000 ekin = 4.53890753637813 | erot = 3.79707688079936 | epot = -37.8589639327863 | etot = -29.5229795156088 +84000 ekin = 4.51952558800272 | erot = 3.75897913437636 | epot = -37.8043394039473 | etot = -29.5258346815682 +85000 ekin = 4.44986224636044 | erot = 4.10169839029415 | epot = -37.7952059629819 | etot = -29.2436453263273 +86000 ekin = 4.40335859262171 | erot = 4.18303158637893 | epot = -37.840594671262 | etot = -29.2542044922614 +87000 ekin = 4.34352629789854 | erot = 4.00093225674539 | epot = -37.8981775676818 | etot = -29.5537190130379 +88000 ekin = 4.39692532206221 | erot = 3.88765396717304 | epot = -37.9120170018269 | etot = -29.6274377125917 +89000 ekin = 4.3589540780767 | erot = 4.0687705270632 | epot = -37.8812041939536 | etot = -29.4534795888137 +90000 ekin = 4.20715511673659 | erot = 3.96880041117212 | epot = -37.8268382933969 | etot = -29.6508827654882 +91000 ekin = 4.2202199323169 | erot = 4.12841045745315 | epot = -37.7475084891388 | etot = -29.3988780993687 +92000 ekin = 4.1326498688273 | erot = 3.86635436032376 | epot = -37.6428932571545 | etot = -29.6438890280035 +93000 ekin = 4.05697056146658 | erot = 3.48249980793546 | epot = -37.5034004108467 | etot = -29.9639300414447 +94000 ekin = 3.85560920909744 | erot = 3.51617278195642 | epot = -37.371684822218 | etot = -29.9999028311642 +95000 ekin = 3.7069616782419 | erot = 3.7453999268692 | epot = -37.2425364302767 | etot = -29.7901748251656 +96000 ekin = 3.64541489153227 | erot = 3.55177042583784 | epot = -37.1071295289257 | etot = -29.9099442115556 +97000 ekin = 3.59427366044239 | erot = 3.58237376190961 | epot = -36.9903312497973 | etot = -29.8136838274453 +98000 ekin = 3.36609732779817 | erot = 3.78920076230078 | epot = -36.8893462899042 | etot = -29.7340481998052 +99000 ekin = 3.24308716626432 | erot = 3.98439513504784 | epot = -36.7958275145326 | etot = -29.5683452132204 +100000 ekin = 3.10105716620438 | erot = 3.88380514198999 | epot = -36.7237148853879 | etot = -29.7388525771935 +101000 ekin = 3.05392814208233 | erot = 3.92712981026601 | epot = -36.701962452506 | etot = -29.7209045001576 +102000 ekin = 3.21793305977178 | erot = 4.11601242104532 | epot = -36.7682713932638 | etot = -29.4343259124467 +103000 ekin = 3.29518049820435 | erot = 4.13622147772539 | epot = -36.8839850328129 | etot = -29.4525830568832 +104000 ekin = 3.38349143563889 | erot = 4.1183455666037 | epot = -37.0170458924454 | etot = -29.5152088902028 +105000 ekin = 3.43063719220638 | erot = 4.19281995644327 | epot = -37.150125503217 | etot = -29.5266683545673 +106000 ekin = 3.3930587869785 | erot = 4.59139499879992 | epot = -37.2962927182996 | etot = -29.3118389325211 +107000 ekin = 3.49611625167344 | erot = 4.42190170056941 | epot = -37.4298253792172 | etot = -29.5118074269743 +108000 ekin = 3.59165643487494 | erot = 4.73333858652918 | epot = -37.482137044902 | etot = -29.1571420234978 +109000 ekin = 3.59878557010229 | erot = 5.08720641062802 | epot = -37.4454225962908 | etot = -28.7594306155605 +110000 ekin = 3.52607850054465 | erot = 4.92743402067557 | epot = -37.33464551381 | etot = -28.8811329925897 +111000 ekin = 3.52196404281882 | erot = 4.48970120472559 | epot = -37.2166378630308 | etot = -29.2049726154863 +112000 ekin = 3.64094551226758 | erot = 4.18578082474331 | epot = -37.1356107687899 | etot = -29.3088844317791 +113000 ekin = 3.59908785035488 | erot = 3.81929848767613 | epot = -37.1563156196511 | etot = -29.7379292816201 +114000 ekin = 3.73247165614552 | erot = 3.7191219132616 | epot = -37.1841072802386 | etot = -29.7325137108315 +115000 ekin = 3.81386546938849 | erot = 3.49889872890822 | epot = -37.2616543115737 | etot = -29.948890113277 +116000 ekin = 4.05829999340919 | erot = 3.58390665501405 | epot = -37.4003005682591 | etot = -29.7580939198359 +117000 ekin = 4.27550110925089 | erot = 3.79076820440125 | epot = -37.5923004712666 | etot = -29.5260311576145 +118000 ekin = 4.45490103530269 | erot = 3.77915185795812 | epot = -37.7846946186124 | etot = -29.5506417253515 +119000 ekin = 4.58790399115696 | erot = 3.86870152715706 | epot = -37.9811558924431 | etot = -29.5245503741291 +120000 ekin = 4.92259141545412 | erot = 3.84940365834982 | epot = -38.1382043293411 | etot = -29.3662092555371 +121000 ekin = 5.13183269148667 | erot = 4.03705087488496 | epot = -38.2560800244005 | etot = -29.0871964580288 +122000 ekin = 5.17140868558226 | erot = 3.61810962674133 | epot = -38.3381390234359 | etot = -29.5486207111123 +123000 ekin = 5.28384467069957 | erot = 4.14897954513993 | epot = -38.3803925391061 | etot = -28.9475683232666 +124000 ekin = 5.45144965935832 | erot = 3.74948516195925 | epot = -38.4152715166921 | etot = -29.2143366953745 +125000 ekin = 5.49907232704504 | erot = 3.62957174075197 | epot = -38.4698081948487 | etot = -29.3411641270517 +126000 ekin = 5.81275552922944 | erot = 3.50370762045612 | epot = -38.5369283444346 | etot = -29.2204651947491 +127000 ekin = 5.71810535961462 | erot = 3.50153411217264 | epot = -38.6097648991183 | etot = -29.390125427331 +128000 ekin = 5.59769610955185 | erot = 2.99726680348478 | epot = -38.6545287261786 | etot = -30.059565813142 +129000 ekin = 5.51657182067137 | erot = 3.37515224045319 | epot = -38.6909141535699 | etot = -29.7991900924454 +130000 ekin = 5.46626997343554 | erot = 3.77525421867741 | epot = -38.7059148210791 | etot = -29.4643906289662 +131000 ekin = 5.369877414402 | erot = 3.92459463488634 | epot = -38.6781199948582 | etot = -29.3836479455698 +132000 ekin = 5.13704854270014 | erot = 3.89365302265538 | epot = -38.6113331110915 | etot = -29.580631545736 +133000 ekin = 5.04851208372184 | erot = 4.17613618410306 | epot = -38.4969113589734 | etot = -29.2722630911485 +134000 ekin = 4.96335667475941 | erot = 4.28428652813741 | epot = -38.308416110038 | etot = -29.0607729071412 +135000 ekin = 4.67485522816795 | erot = 3.71485446937039 | epot = -38.0437601659662 | etot = -29.6540504684278 +136000 ekin = 4.4890629916043 | erot = 4.19015103736215 | epot = -37.7533241067258 | etot = -29.0741100777593 +137000 ekin = 4.31371561077616 | erot = 3.47925724303299 | epot = -37.4739407743081 | etot = -29.6809679204989 +138000 ekin = 3.96696543473023 | erot = 3.71675428283175 | epot = -37.2042587721437 | etot = -29.5205390545817 +139000 ekin = 3.59101315513219 | erot = 3.64278698721068 | epot = -36.9457852108051 | etot = -29.7119850684622 +140000 ekin = 3.44095423425017 | erot = 3.49830537198652 | epot = -36.7203613080872 | etot = -29.7811017018505 +141000 ekin = 3.36296546737369 | erot = 3.56983741924066 | epot = -36.4964767451357 | etot = -29.5636738585213 +142000 ekin = 3.18252441669259 | erot = 3.32935464682758 | epot = -36.3244758925308 | etot = -29.8125968290106 +143000 ekin = 3.18465930443846 | erot = 3.56170045589814 | epot = -36.2215210957505 | etot = -29.4751613354139 +144000 ekin = 3.08106725409747 | erot = 3.50261030291633 | epot = -36.1512447258049 | etot = -29.5675671687911 +145000 ekin = 3.08093776365794 | erot = 3.51948185643724 | epot = -36.0863085456317 | etot = -29.4858889255365 +146000 ekin = 3.02030159479387 | erot = 3.3739730546246 | epot = -36.0845314152703 | etot = -29.6902567658518 +147000 ekin = 3.0413907298566 | erot = 3.36603954258596 | epot = -36.1557232229402 | etot = -29.7482929504977 +148000 ekin = 3.14853067203595 | erot = 3.14562859809704 | epot = -36.2494960139439 | etot = -29.9553367438109 +149000 ekin = 3.18195150813314 | erot = 3.58071760906443 | epot = -36.3477640598882 | etot = -29.5850949426907 +150000 ekin = 3.21133048800031 | erot = 3.85389957660328 | epot = -36.4132627454733 | etot = -29.3480326808697 +151000 ekin = 3.3414410423208 | erot = 3.49391537632178 | epot = -36.47829445309 | etot = -29.6429380344474 +152000 ekin = 3.38469121090166 | erot = 3.35926284582918 | epot = -36.5578474424856 | etot = -29.8138933857547 +153000 ekin = 3.52527639525701 | erot = 3.56811727016358 | epot = -36.6674257186129 | etot = -29.5740320531923 +154000 ekin = 3.77924799771095 | erot = 3.5214579525681 | epot = -36.7622601921048 | etot = -29.4615542418258 +155000 ekin = 3.83418008764662 | erot = 3.28305394597573 | epot = -36.8282659682374 | etot = -29.7110319346151 +156000 ekin = 3.87517167307552 | erot = 2.7562101543893 | epot = -36.8507311290664 | etot = -30.2193493016016 +157000 ekin = 3.89846784481937 | erot = 3.03513966490494 | epot = -36.8490467787069 | etot = -29.9154392689826 +158000 ekin = 3.86372390524165 | erot = 3.0673314083842 | epot = -36.8143502444316 | etot = -29.8832949308058 +159000 ekin = 3.87560822586875 | erot = 2.72238394226955 | epot = -36.7720066653759 | etot = -30.1740144972376 +160000 ekin = 3.81659540649487 | erot = 2.79162883042019 | epot = -36.745609213871 | etot = -30.137384976956 +161000 ekin = 3.90364665450438 | erot = 2.85891130626961 | epot = -36.6767188031099 | etot = -29.9141608423359 +162000 ekin = 3.93432840871727 | erot = 3.23277686088047 | epot = -36.60685028113 | etot = -29.4397450115322 +163000 ekin = 3.97425577903338 | erot = 2.70754263327096 | epot = -36.5720643915924 | etot = -29.890265979288 +164000 ekin = 3.91949827572788 | erot = 3.05668804181471 | epot = -36.5812838593575 | etot = -29.6050975418149 +165000 ekin = 3.99425179561608 | erot = 3.29785069907607 | epot = -36.6379374004751 | etot = -29.345834905783 +166000 ekin = 4.02904533815474 | erot = 3.36634066781855 | epot = -36.7340868254029 | etot = -29.3387008194296 +167000 ekin = 4.03733260336922 | erot = 3.51733984448521 | epot = -36.8476519248263 | etot = -29.2929794769719 +168000 ekin = 4.01641387278262 | erot = 3.37538682559192 | epot = -36.9710980220148 | etot = -29.5792973236403 +169000 ekin = 3.94799788749928 | erot = 3.38842418926867 | epot = -37.1207420196424 | etot = -29.7843199428744 +170000 ekin = 3.98944239104452 | erot = 3.56779767670648 | epot = -37.2922600249326 | etot = -29.7350199571816 +171000 ekin = 4.04980262307219 | erot = 3.87308310464248 | epot = -37.4956434312003 | etot = -29.5727577034856 +172000 ekin = 4.10498686244998 | erot = 4.24595756362569 | epot = -37.6879527015205 | etot = -29.3370082754448 +173000 ekin = 4.12919710204796 | erot = 4.28575123018842 | epot = -37.8940672883479 | etot = -29.4791189561115 +174000 ekin = 4.04607401980617 | erot = 4.41784593637473 | epot = -38.1063274639924 | etot = -29.6424075078115 +175000 ekin = 4.13007220306847 | erot = 4.39679134693123 | epot = -38.3139522350302 | etot = -29.7870886850305 +176000 ekin = 4.14146369640392 | erot = 4.2556500250018 | epot = -38.5085743578719 | etot = -30.1114606364662 +177000 ekin = 4.33605278083781 | erot = 4.58687123058824 | epot = -38.6633454116433 | etot = -29.7404214002173 +178000 ekin = 4.32688916484258 | erot = 4.50454813785642 | epot = -38.7700089206445 | etot = -29.9385716179455 +179000 ekin = 4.39331384776139 | erot = 4.88121292734146 | epot = -38.8147888868654 | etot = -29.5402621117625 +180000 ekin = 4.36409495919737 | erot = 4.62653667682629 | epot = -38.7920356589672 | etot = -29.8014040229435 +181000 ekin = 4.40002739116585 | erot = 4.26572305349584 | epot = -38.7320900980018 | etot = -30.0663396533401 +182000 ekin = 4.38584471768771 | erot = 4.03958660380969 | epot = -38.6652721860916 | etot = -30.2398408645942 +183000 ekin = 4.38872118980224 | erot = 4.03920994265183 | epot = -38.5494953603397 | etot = -30.1215642278857 +184000 ekin = 4.58261674670921 | erot = 4.09854761999454 | epot = -38.3858248419668 | etot = -29.7046604752631 +185000 ekin = 4.61324410405521 | erot = 4.15998485211173 | epot = -38.1895073749226 | etot = -29.4162784187557 +186000 ekin = 4.58712030480558 | erot = 3.80292929559519 | epot = -37.9691363595879 | etot = -29.5790867591871 +187000 ekin = 4.49704057160045 | erot = 3.79953063209059 | epot = -37.7563677349904 | etot = -29.4597965312994 +188000 ekin = 4.67801335458777 | erot = 3.94614018085653 | epot = -37.5596730791519 | etot = -28.9355195437076 +189000 ekin = 4.7263502885126 | erot = 3.9798634268042 | epot = -37.3737961852728 | etot = -28.667582469956 +190000 ekin = 4.70422886783179 | erot = 3.76567525080944 | epot = -37.1968328742627 | etot = -28.7269287556214 +191000 ekin = 4.76615905270464 | erot = 4.11771710042017 | epot = -37.0524866708235 | etot = -28.1686105176987 +192000 ekin = 4.66334615993974 | erot = 4.32180108624847 | epot = -36.9281089002544 | etot = -27.9429616540662 +193000 ekin = 4.5422727261274 | erot = 4.37403333624765 | epot = -36.8106507982273 | etot = -27.8943447358523 +194000 ekin = 4.46258388626876 | erot = 4.57094153868298 | epot = -36.7126835627949 | etot = -27.6791581378432 +195000 ekin = 4.26009039309735 | erot = 5.10893274622639 | epot = -36.6717506302945 | etot = -27.3027274909708 +196000 ekin = 4.24016895096483 | erot = 4.95101320260763 | epot = -36.6607739952161 | etot = -27.4695918416436 +197000 ekin = 4.0755550793312 | erot = 5.33731157611758 | epot = -36.6886082622524 | etot = -27.2757416068037 +198000 ekin = 3.9809171395143 | erot = 5.37374733968369 | epot = -36.7238260637154 | etot = -27.3691615845174 +199000 ekin = 4.00067330792124 | erot = 5.3603518042305 | epot = -36.764372481588 | etot = -27.4033473694362 +200000 ekin = 3.91652525768025 | erot = 4.88675678602841 | epot = -36.7730308398536 | etot = -27.969748796145 +201000 ekin = 3.81609915882248 | erot = 4.31400854830177 | epot = -36.7481890160659 | etot = -28.6180813089416 +202000 ekin = 3.71932569397631 | erot = 4.38569878861448 | epot = -36.6956778034213 | etot = -28.5906533208305 +203000 ekin = 3.64290623072102 | erot = 4.37503789459276 | epot = -36.6304609598591 | etot = -28.6125168345453 +204000 ekin = 3.52854777039998 | erot = 4.29732321046279 | epot = -36.5744389849194 | etot = -28.7485680040566 +205000 ekin = 3.4768831982614 | erot = 4.0520539676819 | epot = -36.5314565547125 | etot = -29.0025193887692 +206000 ekin = 3.57867350058535 | erot = 4.28681914674893 | epot = -36.5152410045854 | etot = -28.6497483572511 +207000 ekin = 3.67789472949151 | erot = 4.07649115773262 | epot = -36.4807964879222 | etot = -28.7264106006981 +208000 ekin = 3.75162300302661 | erot = 3.99412890438543 | epot = -36.4719013777701 | etot = -28.7261494703581 +209000 ekin = 3.82882555477005 | erot = 4.07806686544371 | epot = -36.5274965379161 | etot = -28.6206041177023 +210000 ekin = 3.94589957381378 | erot = 4.05524037388615 | epot = -36.6356567037895 | etot = -28.6345167560895 +211000 ekin = 4.07654365300279 | erot = 3.99406586158679 | epot = -36.7715123193752 | etot = -28.7009028047856 +212000 ekin = 4.2840931333187 | erot = 4.41351434873049 | epot = -36.9240266223073 | etot = -28.2264191402581 +213000 ekin = 4.49200123946036 | erot = 4.57752549048046 | epot = -37.0744914076603 | etot = -28.0049646777194 +214000 ekin = 4.68170470060604 | erot = 4.83486386570169 | epot = -37.2372407583261 | etot = -27.7206721920184 +215000 ekin = 4.98081379617958 | erot = 4.46606343482534 | epot = -37.4068324828889 | etot = -27.959955251884 +216000 ekin = 5.16729766417706 | erot = 4.60318830168444 | epot = -37.5464555705166 | etot = -27.7759696046551 +217000 ekin = 5.38386929678608 | erot = 4.7775249437354 | epot = -37.6405601527452 | etot = -27.4791659122238 +218000 ekin = 5.7058164504659 | erot = 4.70370884810713 | epot = -37.6984019699825 | etot = -27.2888766714095 +219000 ekin = 5.88600523163654 | erot = 4.58694924042796 | epot = -37.7125786046508 | etot = -27.2396241325863 +220000 ekin = 6.15427965489048 | erot = 4.4293131697244 | epot = -37.684602076139 | etot = -27.1010092515241 +221000 ekin = 6.20955938016028 | erot = 4.5400172518757 | epot = -37.6213945439902 | etot = -26.8718179119542 +222000 ekin = 6.245684726226 | erot = 4.97311797105747 | epot = -37.5132484834202 | etot = -26.2944457861367 +223000 ekin = 6.23087495739563 | erot = 4.87026240860726 | epot = -37.4093126450279 | etot = -26.308175279025 +224000 ekin = 6.34215727178204 | erot = 4.95416073100327 | epot = -37.3138628835634 | etot = -26.0175448807781 +225000 ekin = 6.34418551658382 | erot = 4.97197547495996 | epot = -37.2296241301022 | etot = -25.9134631385584 +226000 ekin = 6.27234146176852 | erot = 4.71232076169797 | epot = -37.1649091144301 | etot = -26.1802468909636 +227000 ekin = 6.2978205054749 | erot = 4.6427999636898 | epot = -37.1521034204924 | etot = -26.2114829513277 +228000 ekin = 6.45215375342435 | erot = 4.66543105642573 | epot = -37.1176036705896 | etot = -26.0000188607395 +229000 ekin = 6.57609932445515 | erot = 4.31104294387344 | epot = -37.0319087568372 | etot = -26.1447664885086 +230000 ekin = 6.39415967649336 | erot = 4.16613500609569 | epot = -36.9020701489008 | etot = -26.3417754663118 +231000 ekin = 6.06981997767599 | erot = 4.16164382029996 | epot = -36.7672531588273 | etot = -26.5357893608513 +232000 ekin = 6.07851417086657 | erot = 3.9261416963498 | epot = -36.6287349588698 | etot = -26.6240790916534 +233000 ekin = 5.86578448983439 | erot = 3.89415959164456 | epot = -36.4650343354141 | etot = -26.7050902539352 +234000 ekin = 5.66525736866315 | erot = 3.89419060194094 | epot = -36.3317105619271 | etot = -26.772262591323 +235000 ekin = 5.45947253618461 | erot = 3.51915643493529 | epot = -36.187740376365 | etot = -27.2091114052451 +236000 ekin = 5.23839596197821 | erot = 3.35080370425694 | epot = -36.0601413821494 | etot = -27.4709417159143 +237000 ekin = 5.1101503869311 | erot = 3.41418634041018 | epot = -35.9797234474537 | etot = -27.4553867201124 +238000 ekin = 5.07705507560338 | erot = 3.55422258848856 | epot = -35.9558941013151 | etot = -27.3246164372232 +239000 ekin = 5.11036683512679 | erot = 3.60903830571299 | epot = -35.9686036709473 | etot = -27.2491985301075 +240000 ekin = 5.05273101840571 | erot = 3.85355249273444 | epot = -36.0380166955235 | etot = -27.1317331843833 +241000 ekin = 5.09369536459432 | erot = 3.64338000437258 | epot = -36.1343234897528 | etot = -27.3972481207859 +242000 ekin = 5.26488817621371 | erot = 4.01055195692819 | epot = -36.2412063129132 | etot = -26.9657661797713 +243000 ekin = 5.23195261673081 | erot = 4.46546566729792 | epot = -36.3456054296423 | etot = -26.6481871456136 +244000 ekin = 5.2263873943456 | erot = 4.31088904489877 | epot = -36.4415840114132 | etot = -26.9043075721688 +245000 ekin = 5.4485313703965 | erot = 4.1760797727831 | epot = -36.5182986507186 | etot = -26.893687507539 +246000 ekin = 5.514569703999 | erot = 3.74595442038546 | epot = -36.5760003166759 | etot = -27.3154761922915 +247000 ekin = 5.60809096900033 | erot = 4.1530771765417 | epot = -36.6102851986095 | etot = -26.8491170530675 +248000 ekin = 5.44607700345191 | erot = 4.00137483235474 | epot = -36.6173189081378 | etot = -27.1698670723311 +249000 ekin = 5.39824066997525 | erot = 4.00527284085329 | epot = -36.6178595818605 | etot = -27.214346071032 +250000 ekin = 5.40591864200742 | erot = 3.83152692098416 | epot = -36.5913298844141 | etot = -27.3538843214225 +251000 ekin = 5.42515843147862 | erot = 3.74120297831913 | epot = -36.5372880481642 | etot = -27.3709266383664 +252000 ekin = 5.47125756589202 | erot = 3.93923600749381 | epot = -36.471810314552 | etot = -27.0613167411661 +253000 ekin = 5.45280164405867 | erot = 4.07788577485892 | epot = -36.3971958399348 | etot = -26.8665084210172 +254000 ekin = 5.3513601049315 | erot = 4.05065697891602 | epot = -36.3208515747322 | etot = -26.9188344908847 +255000 ekin = 5.26929844479146 | erot = 3.99546469631083 | epot = -36.2503502909161 | etot = -26.9855871498138 +256000 ekin = 5.28023678974977 | erot = 4.22040986008186 | epot = -36.1946445254543 | etot = -26.6939978756227 +257000 ekin = 5.06048081748216 | erot = 4.23177072888008 | epot = -36.1310700373968 | etot = -26.8388184910345 +258000 ekin = 5.04266904507247 | erot = 4.32321520328045 | epot = -36.0647093578741 | etot = -26.6988251095212 +259000 ekin = 4.83091830266297 | erot = 4.34656742782648 | epot = -36.0089991272053 | etot = -26.8315133967159 +260000 ekin = 4.8366999116753 | erot = 4.25709648660373 | epot = -35.9697036974581 | etot = -26.8759072991791 +261000 ekin = 4.77396719262911 | erot = 4.09292214976309 | epot = -35.9054139064698 | etot = -27.0385245640776 +262000 ekin = 4.66601270858316 | erot = 3.73102576614686 | epot = -35.8157479345083 | etot = -27.4187094597782 +263000 ekin = 4.5802706196014 | erot = 3.74679758350907 | epot = -35.763125473781 | etot = -27.4360572706705 +264000 ekin = 4.65921569864806 | erot = 3.90501973344001 | epot = -35.7356757776833 | etot = -27.1714403455952 +265000 ekin = 4.67586149937246 | erot = 3.94654925905539 | epot = -35.7049387943745 | etot = -27.0825280359466 +266000 ekin = 4.69584694538507 | erot = 3.98055672084537 | epot = -35.6673176149256 | etot = -26.9909139486952 +267000 ekin = 4.78499421532903 | erot = 4.03648169158355 | epot = -35.6392507408887 | etot = -26.8177748339762 +268000 ekin = 4.84316914009027 | erot = 3.99860778002458 | epot = -35.6448334716846 | etot = -26.8030565515698 +269000 ekin = 4.90837806472302 | erot = 4.04652570535924 | epot = -35.649642070165 | etot = -26.6947383000828 +270000 ekin = 4.78579400655265 | erot = 4.34179455226949 | epot = -35.6115561484003 | etot = -26.4839675895782 +271000 ekin = 4.85153732395756 | erot = 3.76641259729531 | epot = -35.6137753066569 | etot = -26.9958253854041 +272000 ekin = 4.97803664593748 | erot = 4.19853764559909 | epot = -35.6642256780782 | etot = -26.4876513865416 +273000 ekin = 4.99431287425834 | erot = 4.16775756950281 | epot = -35.7125500141222 | etot = -26.550479570361 +274000 ekin = 5.02755533075287 | erot = 4.06015777810463 | epot = -35.7335253506929 | etot = -26.6458122418354 +275000 ekin = 4.96372481963251 | erot = 4.27522667590908 | epot = -35.7375976828855 | etot = -26.4986461873439 +276000 ekin = 5.07934127118672 | erot = 4.03884457577096 | epot = -35.7684807851678 | etot = -26.6502949382101 +277000 ekin = 5.11065676525152 | erot = 3.89593355388432 | epot = -35.8299825238661 | etot = -26.8233922047303 +278000 ekin = 5.1443449346496 | erot = 4.10431801630134 | epot = -35.9156424264972 | etot = -26.6669794755462 +279000 ekin = 5.13854043459778 | erot = 3.33687958464079 | epot = -35.956728093981 | etot = -27.4813080747424 +280000 ekin = 5.13698711985589 | erot = 3.1321095347808 | epot = -35.9663254349012 | etot = -27.6972287802645 +281000 ekin = 5.12014323326413 | erot = 3.01072130069925 | epot = -35.9687821467587 | etot = -27.8379176127953 +282000 ekin = 5.07487298196239 | erot = 2.78222371236679 | epot = -35.9666224009215 | etot = -28.1095257065923 +283000 ekin = 4.93728532174466 | erot = 2.51682526487924 | epot = -36.0092096947436 | etot = -28.5550991081197 +284000 ekin = 5.10799487537405 | erot = 2.3440616424374 | epot = -36.0766867016227 | etot = -28.6246301838113 +285000 ekin = 5.21438921803052 | erot = 2.42355410917329 | epot = -36.1686025783616 | etot = -28.5306592511578 +286000 ekin = 5.22674428893651 | erot = 2.43127546535983 | epot = -36.2811716154221 | etot = -28.6231518611258 +287000 ekin = 5.42842235635998 | erot = 2.80110266939557 | epot = -36.3926299688273 | etot = -28.1631049430717 +288000 ekin = 5.53841609379908 | erot = 3.04198571498586 | epot = -36.5118610231699 | etot = -27.9314592143849 +289000 ekin = 5.34670403011154 | erot = 3.09938875481729 | epot = -36.6304827875401 | etot = -28.1843900026112 +290000 ekin = 5.34231674745526 | erot = 3.31160144161424 | epot = -36.7456392368764 | etot = -28.0917210478069 +291000 ekin = 5.36188526202275 | erot = 3.45917476353447 | epot = -36.830253723617 | etot = -28.0091936980598 +292000 ekin = 5.47780509141236 | erot = 3.77906726321862 | epot = -36.8842491471661 | etot = -27.6273767925352 +293000 ekin = 5.28302000096918 | erot = 3.57818629599089 | epot = -36.8949841799428 | etot = -28.0337778829827 +294000 ekin = 5.30853543438887 | erot = 3.56263204697633 | epot = -36.882573669786 | etot = -28.0114061884208 +295000 ekin = 5.20536069491219 | erot = 3.77206495855704 | epot = -36.8703913967999 | etot = -27.8929657433306 +296000 ekin = 5.16948391824644 | erot = 3.64242202500146 | epot = -36.8524591521913 | etot = -28.0405532089434 +297000 ekin = 5.1494869829345 | erot = 3.56300071318446 | epot = -36.8077681088429 | etot = -28.0952804127239 +298000 ekin = 5.07831718808035 | erot = 3.56647326916626 | epot = -36.744195155603 | etot = -28.0994046983564 +299000 ekin = 5.07638833142117 | erot = 3.33911289208767 | epot = -36.7050879472256 | etot = -28.2895867237168 +300000 ekin = 5.03413727775456 | erot = 3.74853034027389 | epot = -36.6636621891816 | etot = -27.8809945711531 +301000 ekin = 4.97235848835814 | erot = 3.32835758650091 | epot = -36.6711630757892 | etot = -28.3704470009301 +302000 ekin = 5.00968958710056 | erot = 3.04854259478488 | epot = -36.7093256921451 | etot = -28.6510935102597 +303000 ekin = 5.1292911047111 | erot = 3.0802372254873 | epot = -36.795184172806 | etot = -28.5856558426076 +304000 ekin = 5.16690416140478 | erot = 3.34049274709003 | epot = -36.9126194047394 | etot = -28.4052224962446 +305000 ekin = 5.23349789631498 | erot = 3.46551744359711 | epot = -37.0448370009157 | etot = -28.3458216610036 +306000 ekin = 5.28860974527375 | erot = 3.56105103024499 | epot = -37.1811985422458 | etot = -28.331537766727 +307000 ekin = 5.40125295123197 | erot = 3.87520415097952 | epot = -37.305532344159 | etot = -28.0290752419475 +308000 ekin = 5.46740727789042 | erot = 3.91865002312578 | epot = -37.3892778155261 | etot = -28.0032205145099 +309000 ekin = 5.43990046762827 | erot = 4.00265425349897 | epot = -37.4336308324244 | etot = -27.9910761112972 +310000 ekin = 5.38744019614258 | erot = 3.91760045067575 | epot = -37.4766997166651 | etot = -28.1716590698468 +311000 ekin = 5.54869794564892 | erot = 3.97913763348738 | epot = -37.5380640420292 | etot = -28.0102284628929 +312000 ekin = 5.71519006739901 | erot = 4.09263126769853 | epot = -37.5745318459447 | etot = -27.7667105108472 +313000 ekin = 5.6033160766113 | erot = 3.83543196463871 | epot = -37.6101139619699 | etot = -28.1713659207199 +314000 ekin = 5.51800417081449 | erot = 3.7494474523441 | epot = -37.6279066647947 | etot = -28.3604550416361 +315000 ekin = 5.47833005901023 | erot = 4.08581993263846 | epot = -37.640612435341 | etot = -28.0764624436923 +316000 ekin = 5.33860837296314 | erot = 4.51116644302074 | epot = -37.6217312448188 | etot = -27.7719564288349 +317000 ekin = 5.23941916557637 | erot = 4.78689518832666 | epot = -37.5731600528526 | etot = -27.5468456989496 +318000 ekin = 5.11187775633096 | erot = 4.82958812680045 | epot = -37.5155006216097 | etot = -27.5740347384783 +319000 ekin = 5.22954347525673 | erot = 4.49457407004902 | epot = -37.4371163833057 | etot = -27.7129988379999 +320000 ekin = 5.30878948863381 | erot = 4.92186054084637 | epot = -37.3586788029377 | etot = -27.1280287734575 +321000 ekin = 5.25051542685381 | erot = 4.81963950413314 | epot = -37.312294527991 | etot = -27.242139597004 +322000 ekin = 5.07574443571145 | erot = 4.74007360204254 | epot = -37.2420599117425 | etot = -27.4262418739885 +323000 ekin = 5.02653253509398 | erot = 4.66604787555051 | epot = -37.1620424354781 | etot = -27.4694620248336 +324000 ekin = 5.12999279273078 | erot = 4.55456244400836 | epot = -37.1081993843437 | etot = -27.4236441476046 +325000 ekin = 5.01484863365284 | erot = 5.03270116093522 | epot = -37.0549970668846 | etot = -27.0074472722965 +326000 ekin = 5.15105125743379 | erot = 4.77726330645663 | epot = -37.0062804471441 | etot = -27.0779658832536 +327000 ekin = 5.17373663939365 | erot = 4.75720955177068 | epot = -36.9735735310227 | etot = -27.0426273398583 +328000 ekin = 5.3265809986393 | erot = 4.45847251670642 | epot = -36.9463177254327 | etot = -27.161264210087 +329000 ekin = 5.28491385975242 | erot = 4.2365002087062 | epot = -36.9151642788529 | etot = -27.3937502103943 +330000 ekin = 5.12552135481241 | erot = 4.79027984581669 | epot = -36.8863179466156 | etot = -26.9705167459865 +331000 ekin = 5.12103290586646 | erot = 5.03778117543897 | epot = -36.8413630474537 | etot = -26.6825489661482 +332000 ekin = 5.06929714597599 | erot = 4.90820597157558 | epot = -36.7488012231943 | etot = -26.7712981056427 +333000 ekin = 4.96505468499544 | erot = 5.01335794632771 | epot = -36.6271163009906 | etot = -26.6487036696675 +334000 ekin = 4.99343125906637 | erot = 5.01439694959174 | epot = -36.5036049758879 | etot = -26.4957767672298 +335000 ekin = 4.90069371729849 | erot = 4.54385275511644 | epot = -36.377759964637 | etot = -26.9332134922221 +336000 ekin = 5.07863725672843 | erot = 4.69305135725114 | epot = -36.2629152842743 | etot = -26.4912266702948 +337000 ekin = 4.94799955754099 | erot = 4.52583833193054 | epot = -36.1612360033446 | etot = -26.6873981138731 +338000 ekin = 4.85224868200247 | erot = 4.50041298245536 | epot = -36.0752991866368 | etot = -26.7226375221789 +339000 ekin = 4.72144640536392 | erot = 4.54752039051201 | epot = -35.9970632546959 | etot = -26.7280964588199 +340000 ekin = 4.80943098922142 | erot = 4.34708343509477 | epot = -35.9687361528339 | etot = -26.8122217285177 +341000 ekin = 4.70361214653912 | erot = 4.47793300498467 | epot = -35.9999322617892 | etot = -26.8183871102654 +342000 ekin = 4.760647614817 | erot = 4.66605256976235 | epot = -36.043378412271 | etot = -26.6166782276917 +343000 ekin = 4.67728032528815 | erot = 4.66100839176406 | epot = -35.9211632159817 | etot = -26.5828744989295 +344000 ekin = 4.96339724601292 | erot = 4.93823124551203 | epot = -36.221225061482 | etot = -26.3195965699571 +345000 ekin = 4.92216540601213 | erot = 5.1046016577438 | epot = -36.3841924486031 | etot = -26.3574253848472 +346000 ekin = 4.99792813974919 | erot = 4.77882820289924 | epot = -36.4406602112532 | etot = -26.6639038686048 +347000 ekin = 4.97738387739169 | erot = 4.57238123569558 | epot = -36.4353446283207 | etot = -26.8855795152334 +348000 ekin = 4.92451917191373 | erot = 4.32330547944782 | epot = -36.3741726686484 | etot = -27.1263480172868 +349000 ekin = 4.79018344488603 | erot = 4.64955099606439 | epot = -36.223205179622 | etot = -26.7834707386715 +350000 ekin = 4.74997485376182 | erot = 4.41441619332993 | epot = -36.0086530481282 | etot = -26.8442620010365 +351000 ekin = 4.65861306362181 | erot = 4.54712008187925 | epot = -35.7312651155864 | etot = -26.5255319700854 +352000 ekin = 4.64876538273227 | erot = 4.76138349321479 | epot = -35.450636936112 | etot = -26.0404880601649 +353000 ekin = 4.59253342081085 | erot = 4.29456686626191 | epot = -35.1553683981329 | etot = -26.2682681110601 +354000 ekin = 4.5381016314927 | erot = 4.43945254667789 | epot = -34.9111484982536 | etot = -25.933594320083 +355000 ekin = 4.47391617267677 | erot = 4.20275229581173 | epot = -34.7382448152821 | etot = -26.0615763467936 +356000 ekin = 4.33084740359937 | erot = 4.16589789857719 | epot = -34.645946257664 | etot = -26.1492009554875 +357000 ekin = 4.27639689643637 | erot = 4.49834201135572 | epot = -34.623409347858 | etot = -25.848670440066 +358000 ekin = 4.37058163127658 | erot = 4.62827517810171 | epot = -34.660122927085 | etot = -25.6612661177067 +359000 ekin = 4.33282658147941 | erot = 4.3585277169614 | epot = -34.7355034140379 | etot = -26.0441491155971 +360000 ekin = 4.2302574599471 | erot = 3.73692187296606 | epot = -34.8272714416459 | etot = -26.8600921087327 +361000 ekin = 4.32772510308598 | erot = 3.40799158120822 | epot = -34.9260321184263 | etot = -27.1903154341322 +362000 ekin = 4.43772207587162 | erot = 3.9282425665155 | epot = -35.0362517129443 | etot = -26.6702870705572 +363000 ekin = 4.60059512711759 | erot = 3.7852782080073 | epot = -35.1492303885082 | etot = -26.7633570533833 +364000 ekin = 4.67620778921833 | erot = 3.65656363115961 | epot = -35.2108467629343 | etot = -26.8780753425564 +365000 ekin = 4.68744796027403 | erot = 3.48647035761076 | epot = -35.2579291425392 | etot = -27.0840108246544 +366000 ekin = 4.63171694657446 | erot = 3.80732263161716 | epot = -35.3317328424945 | etot = -26.8926932643029 +367000 ekin = 4.58794520776148 | erot = 4.31664541166342 | epot = -35.411407687399 | etot = -26.5068170679741 +368000 ekin = 4.53697760644357 | erot = 4.37812449310863 | epot = -35.4654560531489 | etot = -26.5503539535967 +369000 ekin = 4.50593348762471 | erot = 4.09682529638636 | epot = -35.502904475486 | etot = -26.9001456914749 +370000 ekin = 4.51011536275126 | erot = 4.41695795738184 | epot = -35.5220659543718 | etot = -26.5949926342387 +371000 ekin = 4.53049860135433 | erot = 4.68112317413008 | epot = -35.5213297387008 | etot = -26.3097079632164 +372000 ekin = 4.42660066351885 | erot = 4.78148611859358 | epot = -35.5227844835439 | etot = -26.3146977014315 +373000 ekin = 4.28146792836402 | erot = 4.87997662616423 | epot = -35.4825501780567 | etot = -26.3211056235285 +374000 ekin = 4.13287464156697 | erot = 4.84001159820239 | epot = -35.4523011025149 | etot = -26.4794148627455 +375000 ekin = 4.1254545194713 | erot = 4.8180743382467 | epot = -35.4637375699461 | etot = -26.5202087122281 +376000 ekin = 3.87506271806603 | erot = 5.35141111797724 | epot = -35.4720072259952 | etot = -26.2455333899519 +377000 ekin = 3.7977056590801 | erot = 5.28013401771242 | epot = -35.5177354201969 | etot = -26.4398957434044 +378000 ekin = 3.64048261255653 | erot = 5.42072423796152 | epot = -35.5808236384767 | etot = -26.5196167879587 +379000 ekin = 3.52386111576647 | erot = 5.97567004606738 | epot = -35.6532146067625 | etot = -26.1536834449286 +380000 ekin = 3.32387900413189 | erot = 6.59135162244889 | epot = -35.7551331169142 | etot = -25.8399024903334 +381000 ekin = 3.31695717077463 | erot = 6.10983514346576 | epot = -35.8815158952862 | etot = -26.4547235810458 +382000 ekin = 3.19546651526133 | erot = 6.36489840256999 | epot = -35.9926058393689 | etot = -26.4322409215376 +383000 ekin = 3.24368169764623 | erot = 6.33114976953635 | epot = -36.0664601033037 | etot = -26.4916286361211 +384000 ekin = 3.20726412806439 | erot = 6.19392941274155 | epot = -36.13258109202 | etot = -26.7313875512141 +385000 ekin = 3.23885859839814 | erot = 6.31552666314694 | epot = -36.1503271354803 | etot = -26.5959418739352 +386000 ekin = 3.16874411708083 | erot = 5.94413881699879 | epot = -36.1310192334958 | etot = -27.0181362994162 +387000 ekin = 3.1549970524927 | erot = 5.48308596050834 | epot = -36.0714221491829 | etot = -27.4333391361819 +388000 ekin = 3.24907989403076 | erot = 5.58200944567837 | epot = -35.9925882356966 | etot = -27.1614988959874 +389000 ekin = 3.39871525437769 | erot = 5.14342534967113 | epot = -35.9262739307719 | etot = -27.384133326723 +390000 ekin = 3.53157771561222 | erot = 5.0660110699086 | epot = -35.908983793516 | etot = -27.3113950079952 +391000 ekin = 3.64602168736988 | erot = 4.88661504875141 | epot = -35.885482230409 | etot = -27.3528454942877 +392000 ekin = 3.79325143536366 | erot = 5.07292816992986 | epot = -35.8524207546015 | etot = -26.986241149308 +393000 ekin = 3.89148460233114 | erot = 5.02930522203665 | epot = -35.795122258631 | etot = -26.8743324342632 +394000 ekin = 3.96458882833181 | erot = 4.47630346760488 | epot = -35.7247928997471 | etot = -27.2839006038104 +395000 ekin = 4.03856036181308 | erot = 4.53784941780792 | epot = -35.6586367417738 | etot = -27.0822269621528 +396000 ekin = 3.99683646706711 | erot = 4.49727898211262 | epot = -35.5718421340357 | etot = -27.077726684856 +397000 ekin = 4.03872005304138 | erot = 4.03153022392527 | epot = -35.5101946272741 | etot = -27.4399443503075 +398000 ekin = 4.01516330520003 | erot = 4.23226303701241 | epot = -35.4578715559685 | etot = -27.2104452137561 +399000 ekin = 4.01922616565289 | erot = 3.71642260619024 | epot = -35.3548490578807 | etot = -27.6192002860376 +400000 ekin = 4.17225085372102 | erot = 4.04093039429602 | epot = -35.2265510847563 | etot = -27.0133698367392 +401000 ekin = 4.1531499643259 | erot = 3.64804961209453 | epot = -35.0943512868027 | etot = -27.2931517103823 +402000 ekin = 4.20245298417996 | erot = 3.70137380667448 | epot = -34.9745627237163 | etot = -27.0707359328619 +403000 ekin = 4.34132456228991 | erot = 3.62891618665791 | epot = -34.8718657472304 | etot = -26.9016249982826 +404000 ekin = 4.42465890243367 | erot = 3.38938035287143 | epot = -34.7967250831428 | etot = -26.9826858278377 +405000 ekin = 4.60663041953486 | erot = 3.44054758174463 | epot = -34.7925257887161 | etot = -26.7453477874366 +406000 ekin = 4.73346375173126 | erot = 3.27915256113194 | epot = -34.8343083282573 | etot = -26.8216920153941 +407000 ekin = 4.82559135473415 | erot = 3.35253133282322 | epot = -34.9059066553788 | etot = -26.7277839678214 +408000 ekin = 4.89298564336964 | erot = 3.47339817729183 | epot = -34.9848536782083 | etot = -26.6184698575468 +409000 ekin = 4.94069048180851 | erot = 3.76649967413607 | epot = -35.0728065521172 | etot = -26.3656163961726 +410000 ekin = 5.0837627829781 | erot = 3.48855890171053 | epot = -35.187607935011 | etot = -26.6152862503224 +411000 ekin = 5.10492342399056 | erot = 3.39152717909369 | epot = -35.2939784996981 | etot = -26.7975278966138 +412000 ekin = 5.2111592148929 | erot = 3.62435455589215 | epot = -35.3853247581651 | etot = -26.54981098738 +413000 ekin = 5.25687541732572 | erot = 3.76308251202569 | epot = -35.4593584594661 | etot = -26.4394005301146 +414000 ekin = 5.1324847249699 | erot = 3.31025282824723 | epot = -35.5393093363061 | etot = -27.0965717830889 +415000 ekin = 5.09217261574528 | erot = 3.59401320391361 | epot = -35.6051617924017 | etot = -26.9189759727428 +416000 ekin = 5.04807348985225 | erot = 3.48392073248423 | epot = -35.6748296719198 | etot = -27.1428354495833 +417000 ekin = 4.99138526936748 | erot = 3.46255923404135 | epot = -35.7531502554471 | etot = -27.2992057520383 +418000 ekin = 5.08999508315138 | erot = 3.44390708246943 | epot = -35.8333696081094 | etot = -27.2994674424886 +419000 ekin = 5.21842750435985 | erot = 3.38325168590963 | epot = -35.8593643490784 | etot = -27.2576851588089 +420000 ekin = 5.28947719533168 | erot = 3.50797044377656 | epot = -35.8848039905133 | etot = -27.0873563514051 +421000 ekin = 5.35268927232197 | erot = 3.36603650801233 | epot = -35.8749221051677 | etot = -27.1561963248334 +422000 ekin = 5.23695191026875 | erot = 3.5384192070691 | epot = -35.889640869454 | etot = -27.1142697521161 +423000 ekin = 5.09577504756812 | erot = 3.67923583037239 | epot = -35.9137595336543 | etot = -27.1387486557138 +424000 ekin = 5.01335188113047 | erot = 3.70110718137013 | epot = -35.9185617531989 | etot = -27.2041026906983 +425000 ekin = 5.05206155589306 | erot = 3.57652002072429 | epot = -35.9081181462489 | etot = -27.2795365696316 +426000 ekin = 4.96532396129214 | erot = 3.38938274590534 | epot = -35.8769982527922 | etot = -27.5222915455948 +427000 ekin = 4.77195218714309 | erot = 3.50252627514185 | epot = -35.7935414010628 | etot = -27.5190629387779 +428000 ekin = 4.81068646615448 | erot = 3.51825958765431 | epot = -35.6664317412178 | etot = -27.337485687409 +429000 ekin = 4.73870321335492 | erot = 3.84986931063852 | epot = -35.48737645591 | etot = -26.8988039319166 +430000 ekin = 4.60213714825158 | erot = 3.45284870606443 | epot = -35.3073410925574 | etot = -27.2523552382414 +431000 ekin = 4.57358006593925 | erot = 3.25422348182535 | epot = -35.1367594918962 | etot = -27.3089559441316 +432000 ekin = 4.5072400368044 | erot = 3.29998192315337 | epot = -35.0290425710883 | etot = -27.2218206111306 +433000 ekin = 4.30860495703181 | erot = 3.42741416873389 | epot = -34.9513402987262 | etot = -27.2153211729605 +434000 ekin = 4.18610269286835 | erot = 3.55059973000668 | epot = -34.9144648758603 | etot = -27.1777624529852 +435000 ekin = 4.12003359590273 | erot = 3.78033374370969 | epot = -34.8780591099565 | etot = -26.9776917703441 +436000 ekin = 3.97313974106111 | erot = 4.05117020636312 | epot = -34.8427841720093 | etot = -26.8184742245851 +437000 ekin = 3.88596008320741 | erot = 4.32902730056047 | epot = -34.8121331683379 | etot = -26.59714578457 +438000 ekin = 4.0300322104638 | erot = 4.35508047283467 | epot = -34.7917492531093 | etot = -26.4066365698108 +439000 ekin = 4.04655148511089 | erot = 4.17322604141044 | epot = -34.7786348227552 | etot = -26.5588572962338 +440000 ekin = 4.02801522674428 | erot = 4.13470601724877 | epot = -34.783993085415 | etot = -26.621271841422 +441000 ekin = 3.9407814794189 | erot = 4.22144190117305 | epot = -34.8185771480924 | etot = -26.6563537675004 +442000 ekin = 3.97730990695624 | erot = 4.24233406975314 | epot = -34.8718962191131 | etot = -26.6522522424037 +443000 ekin = 3.98508138243203 | erot = 4.16122580291752 | epot = -34.9266782585657 | etot = -26.7803710732162 +444000 ekin = 4.00042709081881 | erot = 4.50741850480051 | epot = -34.9630696153483 | etot = -26.455224019729 +445000 ekin = 4.02620459576009 | erot = 4.64580325300967 | epot = -34.9893039643633 | etot = -26.3172961155935 +446000 ekin = 4.01454608720561 | erot = 4.89747165518573 | epot = -34.9969089036747 | etot = -26.0848911612834 +447000 ekin = 3.9634269487331 | erot = 4.85867800390581 | epot = -34.9830933662453 | etot = -26.1609884136064 +448000 ekin = 3.74592315828131 | erot = 5.17578433357899 | epot = -34.9638816619607 | etot = -26.0421741701004 +449000 ekin = 3.73316291077397 | erot = 5.18498661281911 | epot = -34.928043894125 | etot = -26.0098943705319 +450000 ekin = 3.85313039093471 | erot = 4.86926583888851 | epot = -34.871696979835 | etot = -26.1493007500118 +451000 ekin = 4.0635928053116 | erot = 4.99817049859077 | epot = -34.8377147695102 | etot = -25.7759514656078 +452000 ekin = 4.12215980217323 | erot = 4.58488292412152 | epot = -34.8398353293668 | etot = -26.132792603072 +453000 ekin = 4.16332842884585 | erot = 4.32671008371169 | epot = -34.8570499988891 | etot = -26.3670114863315 +454000 ekin = 4.11754892618458 | erot = 4.47415692336241 | epot = -34.8913194738516 | etot = -26.2996136243046 +455000 ekin = 4.22185774995392 | erot = 4.65517828169302 | epot = -34.9334347985056 | etot = -26.0563987668587 +456000 ekin = 4.30177202276186 | erot = 4.77747798616555 | epot = -35.0188770940117 | etot = -25.9396270850843 +457000 ekin = 4.26451460758692 | erot = 4.69009499467403 | epot = -35.1021143238335 | etot = -26.1475047215725 +458000 ekin = 4.31289289804826 | erot = 4.48148846421096 | epot = -35.1135359976452 | etot = -26.319154635386 +459000 ekin = 4.40924309472913 | erot = 4.70052929057904 | epot = -35.3709113999322 | etot = -26.261139014624 +460000 ekin = 4.47691183250362 | erot = 4.50574141189091 | epot = -35.566195356935 | etot = -26.5835421125405 +461000 ekin = 4.43873436995047 | erot = 4.99077626254052 | epot = -35.6310455171601 | etot = -26.2015348846691 +462000 ekin = 4.38932525316334 | erot = 4.94989100042744 | epot = -35.7174404682251 | etot = -26.3782242146343 +463000 ekin = 4.36115268480756 | erot = 5.66229263914062 | epot = -35.7828736923833 | etot = -25.7594283684351 +464000 ekin = 4.32411863133059 | erot = 5.21874712373015 | epot = -35.831817418358 | etot = -26.2889516632972 +465000 ekin = 4.25283049437785 | erot = 4.89311928407883 | epot = -35.8307748329822 | etot = -26.6848250545255 +466000 ekin = 3.97961054012127 | erot = 4.30523919521546 | epot = -35.8019205162795 | etot = -27.5170707809428 +467000 ekin = 3.96957942645049 | erot = 4.02414635207156 | epot = -35.7935881476328 | etot = -27.7998623691107 +468000 ekin = 3.81067149059023 | erot = 3.91311573890038 | epot = -35.8192046044613 | etot = -28.0954173749707 +469000 ekin = 3.82956653035844 | erot = 3.76358708523021 | epot = -35.8554657317423 | etot = -28.2623121161536 +470000 ekin = 3.84315155222981 | erot = 3.46319185355953 | epot = -35.9283028420635 | etot = -28.6219594362741 +471000 ekin = 3.84189885920186 | erot = 3.51787257644774 | epot = -36.0370536568174 | etot = -28.6772822211678 +472000 ekin = 3.86861114122289 | erot = 3.36458500068021 | epot = -36.136832298983 | etot = -28.9036361570799 +473000 ekin = 3.73700168734163 | erot = 3.58329228877658 | epot = -36.2233655143198 | etot = -28.9030715382016 +474000 ekin = 3.82928273613466 | erot = 3.70070391401449 | epot = -36.2919855352817 | etot = -28.7619988851326 +475000 ekin = 3.89544030959981 | erot = 3.76401640046676 | epot = -36.368430738898 | etot = -28.7089740288314 +476000 ekin = 4.08932767113311 | erot = 3.7090790175484 | epot = -36.4684310716285 | etot = -28.670024382947 +477000 ekin = 4.15334136664067 | erot = 3.70899967496142 | epot = -36.5311600367317 | etot = -28.6688189951296 +478000 ekin = 4.07512882728801 | erot = 3.80913887771278 | epot = -36.5715417700018 | etot = -28.687274065001 +479000 ekin = 3.96184225144662 | erot = 3.67584263229307 | epot = -36.6049454628497 | etot = -28.96726057911 +480000 ekin = 3.86072911979592 | erot = 3.85211085064263 | epot = -36.6106292252495 | etot = -28.897789254811 +481000 ekin = 3.78563823255482 | erot = 4.02431409923187 | epot = -36.604468258428 | etot = -28.7945159266413 +482000 ekin = 3.81986353724767 | erot = 3.94457553240232 | epot = -36.555624249585 | etot = -28.791185179935 +483000 ekin = 3.91937069686989 | erot = 3.97985471481289 | epot = -36.4953515335722 | etot = -28.5961261218894 +484000 ekin = 3.90565472316258 | erot = 3.68508276016124 | epot = -36.4265142327187 | etot = -28.8357767493949 +485000 ekin = 3.97067640669119 | erot = 3.52818833629898 | epot = -36.3385351029671 | etot = -28.8396703599769 +486000 ekin = 4.08924338068637 | erot = 3.45150371793016 | epot = -36.2407040808275 | etot = -28.699956982211 +487000 ekin = 4.0776172953027 | erot = 3.69577064303949 | epot = -36.1174543397059 | etot = -28.3440664013637 +488000 ekin = 3.98120330041654 | erot = 4.01179749212316 | epot = -35.9662140009108 | etot = -27.9732132083711 +489000 ekin = 3.94304108511277 | erot = 4.09948585344473 | epot = -35.8365811443669 | etot = -27.7940542058094 +490000 ekin = 3.98200750178095 | erot = 4.1933065556559 | epot = -35.7436522395692 | etot = -27.5683381821323 +491000 ekin = 4.04453601319225 | erot = 4.06864604679556 | epot = -35.6813038605047 | etot = -27.5681218005169 +492000 ekin = 4.10478194610714 | erot = 4.27931273272371 | epot = -35.6201850620968 | etot = -27.2360903832659 +493000 ekin = 4.14218811078641 | erot = 4.30328516242947 | epot = -35.552932172172 | etot = -27.1074588989561 +494000 ekin = 4.15483197917405 | erot = 4.22087230768693 | epot = -35.5007035923698 | etot = -27.1249993055088 +495000 ekin = 4.26671892357318 | erot = 4.21745137304138 | epot = -35.4450128389798 | etot = -26.9608425423653 +496000 ekin = 4.42373869014847 | erot = 3.65535322096903 | epot = -35.3933064942827 | etot = -27.3142145831652 +497000 ekin = 4.57363309591063 | erot = 3.63766344362447 | epot = -35.3630685420949 | etot = -27.1517720025598 +498000 ekin = 4.7241733979428 | erot = 3.40665904233516 | epot = -35.3570714026385 | etot = -27.2262389623605 +499000 ekin = 4.76806375994875 | erot = 3.58204839805272 | epot = -35.3646341268585 | etot = -27.014521968857 +500000 ekin = 4.86803273232483 | erot = 3.40069391727023 | epot = -35.4199817543268 | etot = -27.1512551047318 +501000 ekin = 4.96743307602627 | erot = 3.46724128896305 | epot = -35.4970649677118 | etot = -27.0623906027225 +502000 ekin = 4.91929166862615 | erot = 3.57165212036678 | epot = -35.5889625489512 | etot = -27.0980187599583 +503000 ekin = 4.90703913138678 | erot = 3.86458875313933 | epot = -35.6771862828227 | etot = -26.9055583982966 +504000 ekin = 5.1370533506199 | erot = 3.5369546296831 | epot = -35.7347477259461 | etot = -27.0607397456431 +505000 ekin = 5.23249143944225 | erot = 3.46343104093314 | epot = -35.7820571844966 | etot = -27.0861347041212 +506000 ekin = 5.11675278315717 | erot = 3.7206718650993 | epot = -35.8198968197658 | etot = -26.9824721715093 +507000 ekin = 5.1899390138749 | erot = 4.15215085847695 | epot = -35.8269271672396 | etot = -26.4848372948877 +508000 ekin = 4.9859787822663 | erot = 4.11598571893968 | epot = -35.7826195676286 | etot = -26.6806550664226 +509000 ekin = 4.8941242567771 | erot = 4.30807642739895 | epot = -35.6890852058564 | etot = -26.4868845216804 +510000 ekin = 4.89504815269032 | erot = 4.46013837584195 | epot = -35.5893215666418 | etot = -26.2341350381096 +511000 ekin = 4.85835750083421 | erot = 4.41721118692693 | epot = -35.4748886415727 | etot = -26.1993199538116 +512000 ekin = 4.85632567302005 | erot = 4.58501467870099 | epot = -35.3170557845382 | etot = -25.8757154328171 +513000 ekin = 4.79088228903437 | erot = 4.4189824922301 | epot = -35.1398620511889 | etot = -25.9299972699244 +514000 ekin = 4.84082723167344 | erot = 4.10048582144436 | epot = -34.952894027941 | etot = -26.0115809748232 +515000 ekin = 4.66396867258937 | erot = 3.7079532547263 | epot = -34.8081323279133 | etot = -26.4362104005976 +516000 ekin = 4.4520372226043 | erot = 3.7424161749218 | epot = -34.7399422586774 | etot = -26.5454888611513 +517000 ekin = 4.39320763550332 | erot = 3.61293763489243 | epot = -34.7115969229745 | etot = -26.7054516525788 +518000 ekin = 4.3351626742312 | erot = 3.46685163663689 | epot = -34.7205591716219 | etot = -26.9185448607538 +519000 ekin = 4.32678001120832 | erot = 3.8333130859946 | epot = -34.7543932584755 | etot = -26.5943001612725 +520000 ekin = 4.16017569753314 | erot = 3.99442103376417 | epot = -34.7797387277815 | etot = -26.6251419964842 +521000 ekin = 4.01091284601602 | erot = 4.71227661622732 | epot = -34.8119764016188 | etot = -26.0887869393754 +522000 ekin = 3.9255586814989 | erot = 4.67306017627962 | epot = -34.8638412525408 | etot = -26.2652223947623 +523000 ekin = 4.10629342994203 | erot = 4.236908212199 | epot = -34.9392637364661 | etot = -26.5960620943251 +524000 ekin = 4.16964406138591 | erot = 4.51539305326744 | epot = -35.0302476439308 | etot = -26.3452105292774 +525000 ekin = 4.14574067413465 | erot = 4.59255192964589 | epot = -35.1665459803983 | etot = -26.4282533766178 +526000 ekin = 4.296358047754 | erot = 5.381812036993 | epot = -35.3702076593238 | etot = -25.6920375745768 +527000 ekin = 4.43341423246361 | erot = 5.4208701656542 | epot = -35.5881352754177 | etot = -25.7338508772999 +528000 ekin = 4.65221997264072 | erot = 5.64432261927517 | epot = -35.7907306535609 | etot = -25.494188061645 +529000 ekin = 4.75833001518924 | erot = 6.22279494556947 | epot = -35.9649272181716 | etot = -24.9838022574129 +530000 ekin = 4.85254900576415 | erot = 6.26630645813046 | epot = -36.1175112827238 | etot = -24.9986558188292 +531000 ekin = 4.88314038497982 | erot = 6.22256761998238 | epot = -36.2218727030894 | etot = -25.1161646981272 +532000 ekin = 4.89429192132463 | erot = 6.19376619305432 | epot = -36.2791850407375 | etot = -25.1911269263585 +533000 ekin = 4.98074956905521 | erot = 6.71246035574362 | epot = -36.2873072492241 | etot = -24.5940973244253 +534000 ekin = 5.05914514163862 | erot = 6.72049132345808 | epot = -36.2541186702089 | etot = -24.4744822051122 +535000 ekin = 4.98307281629264 | erot = 6.60876507020625 | epot = -36.1722591997817 | etot = -24.5804213132828 +536000 ekin = 4.92092214615494 | erot = 6.71824597922688 | epot = -36.0492643890656 | etot = -24.4100962636838 +537000 ekin = 4.73594122849286 | erot = 6.46069540815352 | epot = -35.9116294607651 | etot = -24.7149928241187 +538000 ekin = 4.79280389212849 | erot = 6.10794151385203 | epot = -35.7423046160126 | etot = -24.8415592100321 +539000 ekin = 4.77579753855575 | erot = 5.97217188520334 | epot = -35.5336009816514 | etot = -24.7856315578923 +540000 ekin = 4.5934335322059 | erot = 6.0288231594335 | epot = -35.2969540919917 | etot = -24.6746974003523 +541000 ekin = 4.56261508857232 | erot = 5.60884609986387 | epot = -35.074241498478 | etot = -24.9027803100418 +542000 ekin = 4.4230407907828 | erot = 5.24180126466482 | epot = -34.8728664426871 | etot = -25.2080243872395 +543000 ekin = 4.31458565966237 | erot = 5.3064811880571 | epot = -34.6809264080031 | etot = -25.0598595602836 +544000 ekin = 4.16990383767255 | erot = 5.09480741715239 | epot = -34.5077033118771 | etot = -25.2429920570521 +545000 ekin = 4.03506404145806 | erot = 4.95913193735205 | epot = -34.3738505570893 | etot = -25.3796545782792 +546000 ekin = 4.05283758597002 | erot = 4.62357416672456 | epot = -34.2732549004477 | etot = -25.5968431477531 +547000 ekin = 3.91892476341072 | erot = 4.42471065792704 | epot = -34.1888485564159 | etot = -25.8452131350781 +548000 ekin = 3.85923648383023 | erot = 4.18493881932583 | epot = -34.1251823218203 | etot = -26.0810070186642 +549000 ekin = 3.89277095561291 | erot = 4.20183962759824 | epot = -34.0968256559695 | etot = -26.0022150727584 +550000 ekin = 3.88489313663741 | erot = 4.0698735084027 | epot = -34.083498992554 | etot = -26.1287323475139 +551000 ekin = 3.87639970039824 | erot = 4.25043058335786 | epot = -34.0931086790785 | etot = -25.9662783953224 +552000 ekin = 3.88627319211738 | erot = 4.0010203354773 | epot = -34.163860291438 | etot = -26.2765667638433 +553000 ekin = 4.05569156373835 | erot = 3.56403629580258 | epot = -34.2474834864243 | etot = -26.6277556268834 +554000 ekin = 4.25626838001505 | erot = 3.70804766862573 | epot = -34.2954308218042 | etot = -26.3311147731634 +555000 ekin = 4.26487407035246 | erot = 3.78496110408411 | epot = -34.3412268896546 | etot = -26.291391715218 +556000 ekin = 4.24622902964942 | erot = 4.03454820388574 | epot = -34.3344093396383 | etot = -26.0536321061031 +557000 ekin = 4.0731966983783 | erot = 3.86372668854402 | epot = -34.2640157691765 | etot = -26.3270923822542 +558000 ekin = 3.9948930644697 | erot = 3.82027814531928 | epot = -34.1455461859523 | etot = -26.3303749761633 +559000 ekin = 4.00179663426005 | erot = 3.82651776959161 | epot = -33.9924674804782 | etot = -26.1641530766265 +560000 ekin = 3.90938418270034 | erot = 3.49539199637402 | epot = -33.8018928207131 | etot = -26.3971166416387 +561000 ekin = 3.70375196060258 | erot = 3.38165869548275 | epot = -33.615733164291 | etot = -26.5303225082057 +562000 ekin = 3.64392595608231 | erot = 3.67997084627181 | epot = -33.4612560313007 | etot = -26.1373592289466 +563000 ekin = 3.59769761679705 | erot = 3.74125845764523 | epot = -33.3480734777517 | etot = -26.0091174033094 +564000 ekin = 3.58725325354742 | erot = 3.35524020938125 | epot = -33.267517196837 | etot = -26.3250237339083 +565000 ekin = 3.63835964444106 | erot = 3.77402574563878 | epot = -33.240901552366 | etot = -25.8285161622862 +566000 ekin = 3.64384501808566 | erot = 3.77515123487333 | epot = -33.2503593116368 | etot = -25.8313630586779 +567000 ekin = 3.63214417671457 | erot = 3.86854489788161 | epot = -33.2603190278794 | etot = -25.7596299532833 +568000 ekin = 3.76759211619052 | erot = 3.9732101485638 | epot = -33.2947231384409 | etot = -25.5539208736866 +569000 ekin = 3.75607920629751 | erot = 3.91893504114413 | epot = -33.3766443391901 | etot = -25.7016300917484 +570000 ekin = 3.88570178164854 | erot = 3.8701337006161 | epot = -33.4676246266793 | etot = -25.7117891444146 +571000 ekin = 3.91109063039706 | erot = 4.38873366379694 | epot = -33.5301619269313 | etot = -25.2303376327373 +572000 ekin = 3.9135736753704 | erot = 4.54669425634133 | epot = -33.5613071721044 | etot = -25.1010392403927 +573000 ekin = 4.00256460246037 | erot = 4.69928602914644 | epot = -33.547965409059 | etot = -24.8461147774522 +574000 ekin = 4.04557469411573 | erot = 4.85104808888591 | epot = -33.4823141367226 | etot = -24.5856913537209 +575000 ekin = 4.01990448331334 | erot = 4.48360936846642 | epot = -33.4090682352895 | etot = -24.9055543835097 +576000 ekin = 3.8077042063495 | erot = 4.4090298473991 | epot = -33.3559765416156 | etot = -25.139242487867 +577000 ekin = 3.65176770723656 | erot = 4.69770290650885 | epot = -33.3414847753624 | etot = -24.992014161617 +578000 ekin = 3.65416507269697 | erot = 5.09984939028917 | epot = -33.3628873386868 | etot = -24.6088728757007 +579000 ekin = 3.65457514215401 | erot = 4.83085466504536 | epot = -33.4229058723706 | etot = -24.9374760651712 +580000 ekin = 3.61022362260401 | erot = 5.21507039569716 | epot = -33.5257015423967 | etot = -24.7004075240955 +581000 ekin = 3.494914275922 | erot = 5.80898315058267 | epot = -33.6374701054948 | etot = -24.3335726789901 +582000 ekin = 3.45150652331189 | erot = 5.20797294729429 | epot = -33.7413132898266 | etot = -25.0818338192204 +583000 ekin = 3.43883253778127 | erot = 4.99240818298312 | epot = -33.7992206024418 | etot = -25.3679798816774 +584000 ekin = 3.41950743993982 | erot = 5.30429667829813 | epot = -33.8273198616872 | etot = -25.1035157434492 +585000 ekin = 3.52988736379251 | erot = 5.26888625710182 | epot = -33.8562169326841 | etot = -25.0574433117897 +586000 ekin = 3.54522421505632 | erot = 5.15182886320336 | epot = -33.8748034063857 | etot = -25.177750328126 +587000 ekin = 3.64975640444305 | erot = 4.43116878398965 | epot = -33.8790223191809 | etot = -25.7980971307482 +588000 ekin = 3.85787406303013 | erot = 4.33848995606292 | epot = -33.9012642894901 | etot = -25.704900270397 +589000 ekin = 3.94871508842027 | erot = 4.36958758855398 | epot = -33.9512157067312 | etot = -25.632913029757 +590000 ekin = 4.04576150007614 | erot = 4.34777620153041 | epot = -33.9849374243125 | etot = -25.5913997227059 +591000 ekin = 4.13483818439864 | erot = 4.2847530812366 | epot = -33.997537224377 | etot = -25.5779459587418 +592000 ekin = 4.25566804148588 | erot = 4.00241438742632 | epot = -33.9905173022463 | etot = -25.7324348733341 +593000 ekin = 4.26695504286498 | erot = 3.75133860519142 | epot = -33.9824243028368 | etot = -25.9641306547804 +594000 ekin = 4.24513038558001 | erot = 3.88826331815687 | epot = -33.9597952629285 | etot = -25.8264015591916 +595000 ekin = 4.33307108334578 | erot = 3.92609577318101 | epot = -33.9197199407769 | etot = -25.6605530842501 +596000 ekin = 4.23611726585083 | erot = 3.89070717461436 | epot = -33.8740124837555 | etot = -25.7471880432903 +597000 ekin = 4.40233879096545 | erot = 3.99738130824423 | epot = -33.8902431987863 | etot = -25.4905230995766 +598000 ekin = 4.23795477390283 | erot = 4.04526003587962 | epot = -33.9155939268415 | etot = -25.632379117059 +599000 ekin = 4.13745802988963 | erot = 3.88641709707891 | epot = -33.9296772436184 | etot = -25.9058021166499 +600000 ekin = 4.21239990479373 | erot = 3.82373814742806 | epot = -33.9651236246002 | etot = -25.9289855723784 +601000 ekin = 4.31969973340156 | erot = 3.98399943561206 | epot = -34.0172721411617 | etot = -25.7135729721481 +602000 ekin = 4.27803621196591 | erot = 4.02063732656592 | epot = -34.1006984229854 | etot = -25.8020248844535 +603000 ekin = 4.31016670434105 | erot = 4.06109056998793 | epot = -34.2290225355025 | etot = -25.8577652611735 +604000 ekin = 4.35436231281015 | erot = 4.27081433433638 | epot = -34.3693989473761 | etot = -25.7442223002295 +605000 ekin = 4.29263786573535 | erot = 4.35816455016065 | epot = -34.5293522620236 | etot = -25.8785498461276 +606000 ekin = 4.23493766333219 | erot = 4.45889694601915 | epot = -34.6959569640143 | etot = -26.002122354663 +607000 ekin = 4.21589668454704 | erot = 4.35851580050846 | epot = -34.8643734064671 | etot = -26.2899609214116 +608000 ekin = 4.31617609118148 | erot = 4.37118434041818 | epot = -35.0106665625387 | etot = -26.323306130939 +609000 ekin = 4.40054829762706 | erot = 4.09556922746415 | epot = -35.1090427558584 | etot = -26.6129252307672 +610000 ekin = 4.38360179734749 | erot = 4.43080811091103 | epot = -35.1590130940805 | etot = -26.344603185822 +611000 ekin = 4.30911071720803 | erot = 4.66858603342419 | epot = -35.199774136202 | etot = -26.2220773855698 +612000 ekin = 4.38115044343898 | erot = 4.62952065066672 | epot = -35.2189008927589 | etot = -26.2082297986532 +613000 ekin = 4.49640333428286 | erot = 4.73033949191667 | epot = -35.2311946320123 | etot = -26.0044518058127 +614000 ekin = 4.42698019674728 | erot = 4.54387450238911 | epot = -35.2270245654641 | etot = -26.2561698663278 +615000 ekin = 4.3629388204899 | erot = 4.65167437175519 | epot = -35.2500098144353 | etot = -26.2353966221903 +616000 ekin = 4.25552094369014 | erot = 3.96773357990598 | epot = -35.2626465654004 | etot = -27.0393920418043 +617000 ekin = 4.02844203107081 | erot = 3.93306028038353 | epot = -35.3085438772357 | etot = -27.3470415657814 +618000 ekin = 3.91410624199523 | erot = 3.99915504239056 | epot = -35.3773572154983 | etot = -27.4640959311125 +619000 ekin = 3.9294433404095 | erot = 3.65858234543169 | epot = -35.4549579850513 | etot = -27.8669322992101 +620000 ekin = 3.94632769198393 | erot = 4.05357915876527 | epot = -35.5452298743849 | etot = -27.5453230236357 +621000 ekin = 4.00876452457071 | erot = 4.18557952361359 | epot = -35.6568787558286 | etot = -27.4625347076443 +622000 ekin = 3.97770547832547 | erot = 4.20428409244749 | epot = -35.7853832130651 | etot = -27.6033936422921 +623000 ekin = 3.87623409179537 | erot = 4.44200976918119 | epot = -35.9345595163542 | etot = -27.6163156553776 +624000 ekin = 3.81461749379546 | erot = 4.73413928443235 | epot = -36.0610458736418 | etot = -27.512289095414 +625000 ekin = 3.89702417514946 | erot = 4.5196799549034 | epot = -36.1593702506668 | etot = -27.7426661206139 +626000 ekin = 4.0528518195111 | erot = 5.12209714551147 | epot = -36.237370947802 | etot = -27.0624219827794 +627000 ekin = 4.06919694856893 | erot = 5.16853241383708 | epot = -36.2459696084307 | etot = -27.0082402460247 +628000 ekin = 3.97574634490031 | erot = 5.15377915037523 | epot = -36.1860007276678 | etot = -27.0564752323922 +629000 ekin = 3.97847076093763 | erot = 4.98743417354921 | epot = -36.084160296335 | etot = -27.1182553618481 +630000 ekin = 3.82117049554653 | erot = 4.72915936447952 | epot = -35.9627884752431 | etot = -27.4124586152171 +631000 ekin = 3.8646114143111 | erot = 4.86154549635015 | epot = -35.8061457051951 | etot = -27.0799887945339 +632000 ekin = 3.74664734149751 | erot = 4.54810894057716 | epot = -35.6214135997292 | etot = -27.3266573176545 +633000 ekin = 3.70561564688156 | erot = 3.84492477779505 | epot = -35.4366028892496 | etot = -27.886062464573 +634000 ekin = 3.59215409071566 | erot = 3.93871515972519 | epot = -35.2896538627894 | etot = -27.7587846123485 +635000 ekin = 3.50545587494281 | erot = 4.06717110382225 | epot = -35.1730596180138 | etot = -27.6004326392487 +636000 ekin = 3.33094541502758 | erot = 4.07821458070319 | epot = -35.1077038533339 | etot = -27.6985438576031 +637000 ekin = 3.1450521799885 | erot = 4.05756077132578 | epot = -35.1055524080602 | etot = -27.9029394567459 +638000 ekin = 3.09050584392124 | erot = 4.40258652090801 | epot = -35.1570633539873 | etot = -27.6639709891581 +639000 ekin = 3.07687333216972 | erot = 4.16491810908533 | epot = -35.2467836386701 | etot = -28.0049921974151 +640000 ekin = 3.00973730804964 | erot = 4.26924181333289 | epot = -35.3354522376063 | etot = -28.0564731162238 +641000 ekin = 2.94445196408731 | erot = 4.64391413205011 | epot = -35.4644644387943 | etot = -27.8760983426569 +642000 ekin = 2.98442414954527 | erot = 4.99747556124224 | epot = -35.629005703419 | etot = -27.6471059926314 +643000 ekin = 3.20556469531983 | erot = 4.80255317913171 | epot = -35.7795885297912 | etot = -27.7714706553396 +644000 ekin = 3.27488214023669 | erot = 4.64957731616528 | epot = -35.9161733239232 | etot = -27.9917138675212 +645000 ekin = 3.41323831994906 | erot = 4.71321420527498 | epot = -36.0213663956136 | etot = -27.8949138703896 +646000 ekin = 3.56963422518063 | erot = 4.46391006184168 | epot = -36.0597764611991 | etot = -28.0262321741768 +647000 ekin = 3.65146108953654 | erot = 4.34882885781815 | epot = -36.0539738525772 | etot = -28.0536839052225 +648000 ekin = 3.80589253043734 | erot = 4.22505125234539 | epot = -35.9957895068619 | etot = -27.9648457240791 +649000 ekin = 4.01844415748726 | erot = 4.19109412255692 | epot = -35.918006133173 | etot = -27.7084678531288 +650000 ekin = 4.03810277748455 | erot = 3.86362623058827 | epot = -35.8260490160414 | etot = -27.9243200079685 +651000 ekin = 4.1420394457061 | erot = 3.56888807374624 | epot = -35.7087423281368 | etot = -27.9978148086844 +652000 ekin = 4.23250261214613 | erot = 3.18710224409333 | epot = -35.6367851174003 | etot = -28.2171802611608 +653000 ekin = 4.36352642925903 | erot = 3.20148998565931 | epot = -35.6464209942524 | etot = -28.0814045793341 +654000 ekin = 4.52792032439863 | erot = 3.02237039454649 | epot = -35.6995719521279 | etot = -28.1492812331828 +655000 ekin = 4.60546960877418 | erot = 2.96007185178607 | epot = -35.8223013228776 | etot = -28.2567598623174 +656000 ekin = 4.78956137675958 | erot = 3.38896158834532 | epot = -35.9826527468522 | etot = -27.8041297817474 +657000 ekin = 4.78481247088143 | erot = 3.67040934516362 | epot = -36.1522101931014 | etot = -27.6969883770563 +658000 ekin = 4.68735602442142 | erot = 4.10635530609203 | epot = -36.3122539915035 | etot = -27.5185426609901 +659000 ekin = 4.79643464434846 | erot = 4.31091667955153 | epot = -36.4198222001284 | etot = -27.3124708762284 +660000 ekin = 4.65613606555458 | erot = 4.00182169137101 | epot = -36.5017357753368 | etot = -27.8437780184112 +661000 ekin = 4.53939481189358 | erot = 4.39327864100421 | epot = -36.552237956014 | etot = -27.6195645031162 +662000 ekin = 4.62075189021939 | erot = 4.64171304234462 | epot = -36.545875274844 | etot = -27.28341034228 +663000 ekin = 4.60627251324175 | erot = 4.44191382325611 | epot = -36.5358428119652 | etot = -27.4876564754673 +664000 ekin = 4.5322487745738 | erot = 4.69535654969877 | epot = -36.5440045788996 | etot = -27.3163992546271 +665000 ekin = 4.33791904760918 | erot = 4.79511074251709 | epot = -36.5712979957051 | etot = -27.4382682055788 +666000 ekin = 4.01034004769755 | erot = 5.144756302773 | epot = -36.6275167021822 | etot = -27.4724203517116 +667000 ekin = 3.92791037721526 | erot = 5.1180589475915 | epot = -36.7022697315157 | etot = -27.656300406709 +668000 ekin = 3.69207242860475 | erot = 4.95115852091633 | epot = -36.77482844315 | etot = -28.1315974936289 +669000 ekin = 3.52850414694741 | erot = 5.30513713121027 | epot = -36.8468924103787 | etot = -28.013251132221 +670000 ekin = 3.43685158392318 | erot = 5.67353767341462 | epot = -36.8571678878536 | etot = -27.7467786305158 +671000 ekin = 3.37237891900108 | erot = 4.81383151363229 | epot = -36.789877261468 | etot = -28.6036668288346 +672000 ekin = 3.42142864489494 | erot = 4.47410705082113 | epot = -36.6509805759882 | etot = -28.7554448802721 +673000 ekin = 3.47620696197669 | erot = 4.5346881275349 | epot = -36.4695914666357 | etot = -28.4586963771241 +674000 ekin = 3.34015467342445 | erot = 4.56003540036683 | epot = -36.2728042739957 | etot = -28.3726142002044 +675000 ekin = 3.26558121431912 | erot = 4.75716318196968 | epot = -36.081244882487 | etot = -28.0585004861982 +676000 ekin = 3.30557173090105 | erot = 4.66626180335483 | epot = -35.8858133485329 | etot = -27.9139798142771 +677000 ekin = 3.38252137148696 | erot = 4.68979222844271 | epot = -35.7238379181649 | etot = -27.6515243182352 +678000 ekin = 3.33430766992679 | erot = 4.45636421682296 | epot = -35.5898515746292 | etot = -27.7991796878794 +679000 ekin = 3.26716522041086 | erot = 4.1364314169021 | epot = -35.5282160560392 | etot = -28.1246194187263 +680000 ekin = 3.22330491222295 | erot = 4.11355311991395 | epot = -35.5522418172891 | etot = -28.2153837851522 +681000 ekin = 3.27654998707864 | erot = 4.40088508884101 | epot = -35.6343431031162 | etot = -27.9569080271965 +682000 ekin = 3.38403402083093 | erot = 4.64957783602951 | epot = -35.7255960652544 | etot = -27.6919842083939 +683000 ekin = 3.58392532059595 | erot = 4.15499488835509 | epot = -35.8541956283799 | etot = -28.1152754194289 +684000 ekin = 3.63284008875844 | erot = 4.14497212696412 | epot = -36.0448350473468 | etot = -28.2670228316243 +685000 ekin = 3.75538152185827 | erot = 3.95609692494467 | epot = -36.2462524041805 | etot = -28.5347739573775 +686000 ekin = 3.91883145536903 | erot = 3.95298902028762 | epot = -36.4771155861876 | etot = -28.605295110531 +687000 ekin = 4.05299881159346 | erot = 4.06027810523509 | epot = -36.7169526369106 | etot = -28.6036757200821 +688000 ekin = 4.13599667613487 | erot = 4.10331489254492 | epot = -36.9524101670374 | etot = -28.7130985983576 +689000 ekin = 4.25987754434331 | erot = 4.14481492316617 | epot = -37.1900775910787 | etot = -28.7853851235692 +690000 ekin = 4.43074027682691 | erot = 4.04380513304471 | epot = -37.3931354089472 | etot = -28.9185899990756 +691000 ekin = 4.53821721573907 | erot = 3.8050334589901 | epot = -37.5576014163145 | etot = -29.2143507415853 +692000 ekin = 4.64150042779563 | erot = 3.59872997928139 | epot = -37.6895260553266 | etot = -29.4492956482496 +693000 ekin = 4.69075885893268 | erot = 3.47578918601684 | epot = -37.8114874122412 | etot = -29.6449393672917 +694000 ekin = 4.7382251866288 | erot = 3.84263750148522 | epot = -37.9027003996521 | etot = -29.3218377115381 +695000 ekin = 4.75494194628237 | erot = 3.78113333862439 | epot = -37.9681336831645 | etot = -29.4320583982578 +696000 ekin = 4.697866081995 | erot = 3.78526821175916 | epot = -38.0084908312995 | etot = -29.5253565375453 +697000 ekin = 4.69854328160722 | erot = 3.62432955932709 | epot = -38.0258612384494 | etot = -29.7029883975151 +698000 ekin = 4.71023285873083 | erot = 3.64111389234168 | epot = -38.0301547340748 | etot = -29.6788079830023 +699000 ekin = 4.56773244344101 | erot = 3.71983710702471 | epot = -38.0529467082179 | etot = -29.7653771577522 +700000 ekin = 4.43155866208815 | erot = 3.5335546196022 | epot = -38.068583492112 | etot = -30.1034702104217 +701000 ekin = 4.47548631411863 | erot = 3.38963138436185 | epot = -38.0500116139802 | etot = -30.1848939154997 +702000 ekin = 4.46550513017092 | erot = 3.66852889097233 | epot = -38.0164512923389 | etot = -29.8824172711957 +703000 ekin = 4.38742906998922 | erot = 3.97599599383663 | epot = -37.9817705180933 | etot = -29.6183454542675 +704000 ekin = 4.41020682713785 | erot = 3.83147838533244 | epot = -37.9674346241353 | etot = -29.725749411665 +705000 ekin = 4.39308990786526 | erot = 3.75664217186731 | epot = -37.9282520396859 | etot = -29.7785199599533 +706000 ekin = 4.43040906703226 | erot = 4.12756254176834 | epot = -37.8939279543814 | etot = -29.3359563455808 +707000 ekin = 4.51700671633719 | erot = 3.77573523129425 | epot = -37.8444471024425 | etot = -29.5517051548111 +708000 ekin = 4.49065124304644 | erot = 3.88552877103945 | epot = -37.7744800646496 | etot = -29.3983000505637 +709000 ekin = 4.41855498291582 | erot = 3.53582586052254 | epot = -37.6656825257606 | etot = -29.7113016823223 +710000 ekin = 4.40535258977441 | erot = 3.39649502688896 | epot = -37.546693994465 | etot = -29.7448463778016 +711000 ekin = 4.32709544005412 | erot = 3.54995473847997 | epot = -37.3866324258477 | etot = -29.5095822473136 +712000 ekin = 4.40620309391045 | erot = 3.7155744253842 | epot = -37.1793914331046 | etot = -29.05761391381 +713000 ekin = 4.39226105260381 | erot = 3.64956114520254 | epot = -36.9592491146155 | etot = -28.9174269168092 +714000 ekin = 4.3945904765123 | erot = 3.58799428596503 | epot = -36.7844109062829 | etot = -28.8018261438055 +715000 ekin = 4.41458674942753 | erot = 4.01850565037344 | epot = -36.5924446920391 | etot = -28.1593522922382 +716000 ekin = 4.33665938530876 | erot = 3.50452219695681 | epot = -36.4143425377369 | etot = -28.5731609554713 +717000 ekin = 4.18088462864216 | erot = 3.21190204009032 | epot = -36.2481677379304 | etot = -28.8553810691979 +718000 ekin = 4.03231025467992 | erot = 2.91104295996765 | epot = -36.1402693367145 | etot = -29.196916122067 +719000 ekin = 3.97260579411936 | erot = 3.29783620298701 | epot = -36.0849771003507 | etot = -28.8145351032443 +720000 ekin = 3.82567789821418 | erot = 3.46218504309359 | epot = -36.1068353452668 | etot = -28.818972403959 +721000 ekin = 3.83433718059127 | erot = 4.03084036947922 | epot = -36.1868958046435 | etot = -28.321718254573 +722000 ekin = 3.7130087276568 | erot = 3.84736896155859 | epot = -36.2838656104841 | etot = -28.7234879212687 +723000 ekin = 3.74703466957696 | erot = 3.71040850656983 | epot = -36.3812410760553 | etot = -28.9237978999085 +724000 ekin = 3.75607081603443 | erot = 4.02813532874788 | epot = -36.4992818358981 | etot = -28.7150756911158 +725000 ekin = 3.77808990085885 | erot = 4.20966764087265 | epot = -36.6263500488386 | etot = -28.6385925071071 +726000 ekin = 3.99703012102755 | erot = 3.67945861038478 | epot = -36.7651398392487 | etot = -29.0886511078363 +727000 ekin = 4.01741049095273 | erot = 3.72684228835856 | epot = -36.8887239674894 | etot = -29.1444711881781 +728000 ekin = 4.05655244457389 | erot = 3.64411335656528 | epot = -36.9831032192825 | etot = -29.2824374181433 +729000 ekin = 4.15914112670555 | erot = 3.22368867517415 | epot = -37.0758214193937 | etot = -29.692991617514 +730000 ekin = 4.27496625989352 | erot = 3.03434396509935 | epot = -37.1060663359384 | etot = -29.7967561109456 +731000 ekin = 4.35621946146742 | erot = 3.31453862248463 | epot = -37.0811379025023 | etot = -29.4103798185503 +732000 ekin = 4.31460322853858 | erot = 3.19560214587386 | epot = -37.0358028654693 | etot = -29.5255974910568 +733000 ekin = 4.2295226795695 | erot = 3.20037871937962 | epot = -36.9673423522061 | etot = -29.537440953257 +734000 ekin = 4.24709820971147 | erot = 3.10598269123683 | epot = -36.8800091287772 | etot = -29.5269282278289 +735000 ekin = 4.14981162925897 | erot = 3.12549638567468 | epot = -36.7838119752116 | etot = -29.508503960278 +736000 ekin = 4.20814181481824 | erot = 2.91522500178861 | epot = -36.7063833852233 | etot = -29.5830165686164 +737000 ekin = 4.01828120268193 | erot = 2.40495812578651 | epot = -36.6589611248533 | etot = -30.2357217963848 +738000 ekin = 4.01094036028549 | erot = 2.68632566149055 | epot = -36.6548343802808 | etot = -29.9575683585048 +739000 ekin = 4.14661584174142 | erot = 2.59506078530577 | epot = -36.6780631105738 | etot = -29.9363864835266 +740000 ekin = 4.08413039710925 | erot = 2.57365823993747 | epot = -36.7021237291546 | etot = -30.0443350921079 +741000 ekin = 4.10845660619181 | erot = 2.78416335535206 | epot = -36.7754492326706 | etot = -29.8828292711267 +742000 ekin = 4.09068760907163 | erot = 3.09866824560576 | epot = -36.8187451874485 | etot = -29.6293893327711 +743000 ekin = 3.96610963094402 | erot = 3.04878673776408 | epot = -36.8535622197241 | etot = -29.838665851016 +744000 ekin = 3.97087885402719 | erot = 3.04950786237685 | epot = -36.8512621314634 | etot = -29.8308754150594 +745000 ekin = 3.78295099566376 | erot = 3.09154774657146 | epot = -36.8410165021252 | etot = -29.96651775989 +746000 ekin = 3.88442560568396 | erot = 3.15773579416763 | epot = -36.8645704531019 | etot = -29.8224090532503 +747000 ekin = 3.94794600572092 | erot = 3.04363515896551 | epot = -36.9228275975776 | etot = -29.9312464328912 +748000 ekin = 3.94186404778235 | erot = 3.24130800398347 | epot = -37.0438118681966 | etot = -29.8606398164308 +749000 ekin = 3.93262026571516 | erot = 3.71710044171151 | epot = -37.210963278996 | etot = -29.5612425715694 +750000 ekin = 3.82713052636346 | erot = 4.02486049381691 | epot = -37.385471620714 | etot = -29.5334806005336 +751000 ekin = 4.02336237199802 | erot = 4.23099342037285 | epot = -37.5518597142007 | etot = -29.2975039218298 +752000 ekin = 4.06152925020837 | erot = 3.76231639564619 | epot = -37.6809132611595 | etot = -29.8570676153049 +753000 ekin = 4.07859449790949 | erot = 3.97018598947847 | epot = -37.7593004103674 | etot = -29.7105199229794 +754000 ekin = 4.26771269586214 | erot = 4.64006960442373 | epot = -37.8141557249888 | etot = -28.9063734247029 +755000 ekin = 4.26666906965093 | erot = 4.77784474773889 | epot = -37.8576299963078 | etot = -28.8131161789179 +756000 ekin = 4.2913114700946 | erot = 5.38525988164132 | epot = -37.8917845570772 | etot = -28.2152132053412 +757000 ekin = 4.35562563894453 | erot = 5.14819699923274 | epot = -37.8935376948375 | etot = -28.3897150566602 +758000 ekin = 4.22616249374932 | erot = 5.19713356473755 | epot = -37.890171313439 | etot = -28.4668752549521 +759000 ekin = 4.24184449956944 | erot = 5.16496183591484 | epot = -37.8881235068873 | etot = -28.481317171403 +760000 ekin = 4.23424644958301 | erot = 5.47628298706072 | epot = -37.9000330984149 | etot = -28.1895036617712 +761000 ekin = 4.26448749341469 | erot = 5.45907771030503 | epot = -37.9055730645743 | etot = -28.1820078608546 +762000 ekin = 4.22061932798692 | erot = 5.04369074313446 | epot = -37.9108772679031 | etot = -28.6465671967817 +763000 ekin = 4.09989014592102 | erot = 5.10778066514902 | epot = -37.9045250455542 | etot = -28.6968542344841 +764000 ekin = 4.18374834614763 | erot = 5.46818179899514 | epot = -37.8676566747109 | etot = -28.2157265295681 +765000 ekin = 4.08761418374972 | erot = 5.8085838804908 | epot = -37.8033181876409 | etot = -27.9071201234004 +766000 ekin = 4.0399954168056 | erot = 5.48136006660783 | epot = -37.7411893537017 | etot = -28.2198338702883 +767000 ekin = 4.01701285460552 | erot = 5.31665044278829 | epot = -37.6438611160235 | etot = -28.3101978186297 +768000 ekin = 3.97951625206149 | erot = 5.25792422549898 | epot = -37.5214426737382 | etot = -28.2840021961778 +769000 ekin = 3.9904400552595 | erot = 5.21175341266091 | epot = -37.3810973556055 | etot = -28.1789038876851 +770000 ekin = 3.99199742512277 | erot = 5.21810902470249 | epot = -37.1986211065242 | etot = -27.9885146566989 +771000 ekin = 3.82567851870305 | erot = 4.95130845103932 | epot = -36.9906650314374 | etot = -28.213678061695 +772000 ekin = 3.72123202682396 | erot = 4.74084322348116 | epot = -36.7445513213713 | etot = -28.2824760710662 +773000 ekin = 3.61186619870637 | erot = 4.48764169415196 | epot = -36.4404296879 | etot = -28.3409217950417 +774000 ekin = 3.5323856332149 | erot = 4.0851560641829 | epot = -36.1430482929722 | etot = -28.5255065955744 +775000 ekin = 3.61960121968643 | erot = 4.03007080844262 | epot = -35.8636424209038 | etot = -28.2139703927748 +776000 ekin = 3.50131397859944 | erot = 3.82783005287474 | epot = -35.5938202085534 | etot = -28.2646761770792 +777000 ekin = 3.4086720204846 | erot = 3.85221546935551 | epot = -35.4006619567329 | etot = -28.1397744668928 +778000 ekin = 3.45838031028943 | erot = 3.51853820068418 | epot = -35.2979750992092 | etot = -28.3210565882356 +779000 ekin = 3.42307480042057 | erot = 3.59321040457246 | epot = -35.2809430031764 | etot = -28.2646577981833 +780000 ekin = 3.42440692402825 | erot = 3.60521054559613 | epot = -35.3411249792481 | etot = -28.3115075096237 +781000 ekin = 3.46934151467246 | erot = 3.84731508491177 | epot = -35.4518670976751 | etot = -28.1352104980909 +782000 ekin = 3.5271040668097 | erot = 4.28376670942143 | epot = -35.595026056589 | etot = -27.7841552803579 +783000 ekin = 3.61729821661169 | erot = 4.75537078140916 | epot = -35.7562125383807 | etot = -27.3835435403599 +784000 ekin = 3.5836655359854 | erot = 4.1138012313496 | epot = -35.8708728516423 | etot = -28.1734060843073 +785000 ekin = 3.63226984987313 | erot = 4.14613629449608 | epot = -35.9549809353083 | etot = -28.1765747909391 +786000 ekin = 3.55353155352361 | erot = 3.96170523540214 | epot = -36.0104316125812 | etot = -28.4951948236555 +787000 ekin = 3.65679390509628 | erot = 4.13482060006033 | epot = -36.0644977241106 | etot = -28.272883218954 +788000 ekin = 3.86757699285448 | erot = 4.10779053552829 | epot = -36.0997261456416 | etot = -28.1243586172588 +789000 ekin = 3.93645468275084 | erot = 4.27766163431728 | epot = -36.1406694170053 | etot = -27.9265530999371 +790000 ekin = 3.99051031327637 | erot = 3.95340487784933 | epot = -36.2018617372706 | etot = -28.257946546145 +791000 ekin = 4.10452718423621 | erot = 3.99235351847229 | epot = -36.2624115283487 | etot = -28.1655308256402 +792000 ekin = 4.33302884516885 | erot = 3.8304429162738 | epot = -36.335701261074 | etot = -28.1722294996313 +793000 ekin = 4.59966330091451 | erot = 3.74212535974463 | epot = -36.4314410279318 | etot = -28.0896523672727 +794000 ekin = 4.70509453522008 | erot = 3.7325457155236 | epot = -36.5039677226926 | etot = -28.0663274719489 +795000 ekin = 4.8237350135353 | erot = 3.69936645898633 | epot = -36.5467302591204 | etot = -28.0236287865987 +796000 ekin = 5.02825099690258 | erot = 3.65845895224835 | epot = -36.5441938749373 | etot = -27.8574839257863 +797000 ekin = 4.98369350470464 | erot = 3.33483563015714 | epot = -36.5302539300605 | etot = -28.2117247951988 +798000 ekin = 5.04627515833455 | erot = 3.251844315584 | epot = -36.5269098314607 | etot = -28.2287903575422 +799000 ekin = 4.96165968599494 | erot = 3.39539196017299 | epot = -36.5580084896278 | etot = -28.2009568434598 +800000 ekin = 4.96087289523802 | erot = 3.54932033291718 | epot = -36.6052154994154 | etot = -28.0950222712602 +801000 ekin = 4.96148873220024 | erot = 3.39995120227887 | epot = -36.6619752973816 | etot = -28.3005353629025 +802000 ekin = 4.86744715226323 | erot = 3.35338258088299 | epot = -36.6942224647938 | etot = -28.4733927316476 +803000 ekin = 4.75056128639553 | erot = 3.25410486957708 | epot = -36.7045390401517 | etot = -28.6998728841791 +804000 ekin = 4.78109129200108 | erot = 3.0776597288298 | epot = -36.698526519421 | etot = -28.8397754985901 +805000 ekin = 4.82892493818665 | erot = 3.27499533781798 | epot = -36.6737874267413 | etot = -28.5698671507367 +806000 ekin = 4.74542372520114 | erot = 3.18323237798552 | epot = -36.6406513076392 | etot = -28.7119952044525 +807000 ekin = 4.64766139287985 | erot = 3.38424960796022 | epot = -36.6476730883982 | etot = -28.6157620875581 +808000 ekin = 4.45707835864346 | erot = 3.35175675914227 | epot = -36.7022500935515 | etot = -28.8934149757658 +809000 ekin = 4.32670887591497 | erot = 3.3204635551547 | epot = -36.7741824114222 | etot = -29.1270099803525 +810000 ekin = 4.19642960492062 | erot = 3.20396083815671 | epot = -36.8832195227742 | etot = -29.4828290796969 +811000 ekin = 4.18603442116872 | erot = 3.54097838794675 | epot = -37.0402774324897 | etot = -29.3132646233742 +812000 ekin = 4.3319099162396 | erot = 3.67977508148913 | epot = -37.2334955671967 | etot = -29.221810569468 +813000 ekin = 4.46701990899706 | erot = 3.84749046887719 | epot = -37.4770063129616 | etot = -29.1624959350873 +814000 ekin = 4.70593563863212 | erot = 4.02074050200669 | epot = -37.7739765579907 | etot = -29.0473004173519 +815000 ekin = 4.61635561952459 | erot = 4.30893882425418 | epot = -38.0622407069025 | etot = -29.1369462631237 +816000 ekin = 4.66419241223221 | erot = 4.43348416466983 | epot = -38.3533945439932 | etot = -29.2557179670912 +817000 ekin = 4.61492034782011 | erot = 4.8589683614048 | epot = -38.6054729848476 | etot = -29.1315842756226 +818000 ekin = 4.69361355558547 | erot = 4.57560992803662 | epot = -38.8141140205618 | etot = -29.5448905369397 +819000 ekin = 4.99561997491401 | erot = 4.59057590873866 | epot = -38.986131465386 | etot = -29.3999355817333 +820000 ekin = 5.14251771001076 | erot = 4.38257454602465 | epot = -39.1119793527868 | etot = -29.5868870967514 +821000 ekin = 5.21211790510897 | erot = 3.7649363964534 | epot = -39.1791873910089 | etot = -30.2021330894465 +822000 ekin = 5.2276374734314 | erot = 3.8199393472184 | epot = -39.2257832500633 | etot = -30.1782064294135 +823000 ekin = 5.20824824630017 | erot = 3.61818509207455 | epot = -39.2577442235125 | etot = -30.4313108851377 +824000 ekin = 5.29481176258827 | erot = 3.61607107182776 | epot = -39.2930045776047 | etot = -30.3821217431886 +825000 ekin = 5.34590564278664 | erot = 3.4760580167516 | epot = -39.3020776711423 | etot = -30.4801140116041 +826000 ekin = 5.38005087585455 | erot = 3.56002985231027 | epot = -39.2878928900547 | etot = -30.3478121618899 +827000 ekin = 5.38251681844102 | erot = 3.31581026558379 | epot = -39.283897328375 | etot = -30.5855702443502 +828000 ekin = 5.30162295798549 | erot = 2.79999506814083 | epot = -39.2990437954937 | etot = -31.1974257693674 +829000 ekin = 5.34935471298301 | erot = 2.6338075385136 | epot = -39.3079384502704 | etot = -31.3247761987738 +830000 ekin = 5.15642397228145 | erot = 2.78944963382923 | epot = -39.3294203636002 | etot = -31.3835467574896 +831000 ekin = 5.04271329110473 | erot = 3.07984504895606 | epot = -39.3562191308944 | etot = -31.2336607908336 +832000 ekin = 5.04415123872855 | erot = 3.36917057661115 | epot = -39.3458026730645 | etot = -30.9324808577248 +833000 ekin = 4.97652700754261 | erot = 3.11016826810616 | epot = -39.3003589046717 | etot = -31.2136636290229 +834000 ekin = 4.66785324148471 | erot = 2.98799062968103 | epot = -39.2007615011679 | etot = -31.5449176300022 +835000 ekin = 4.4196794841071 | erot = 3.24754240638097 | epot = -39.0370935965117 | etot = -31.3698717060237 +836000 ekin = 4.1939950117267 | erot = 3.40709899396284 | epot = -38.8824429433984 | etot = -31.2813489377089 +837000 ekin = 4.05102708476636 | erot = 3.50403284169154 | epot = -38.7291298465769 | etot = -31.174069920119 +838000 ekin = 3.94991363719784 | erot = 3.82377156946596 | epot = -38.5557937558062 | etot = -30.7821085491424 +839000 ekin = 3.74326665318806 | erot = 3.97324655976055 | epot = -38.364381604374 | etot = -30.6478683914254 +840000 ekin = 3.7035157452831 | erot = 3.5124488621716 | epot = -38.1559200259235 | etot = -30.9399554184688 +841000 ekin = 3.60547887438446 | erot = 3.69151206404978 | epot = -37.9552189953856 | etot = -30.6582280569514 +842000 ekin = 3.38591284746056 | erot = 3.48115901302566 | epot = -37.7647482919521 | etot = -30.8976764314659 +843000 ekin = 3.11807787995921 | erot = 3.24962582172021 | epot = -37.5931200484574 | etot = -31.225416346778 +844000 ekin = 3.03125896851729 | erot = 3.10915311466668 | epot = -37.4053554848136 | etot = -31.2649434016296 +845000 ekin = 2.84759324027404 | erot = 3.53115382226703 | epot = -37.2260086331777 | etot = -30.8472615706367 +846000 ekin = 2.83613069836942 | erot = 3.41497522988127 | epot = -37.085320604792 | etot = -30.8342146765413 +847000 ekin = 2.82518542790909 | erot = 3.92646137605455 | epot = -36.9740965925522 | etot = -30.2224497885886 +848000 ekin = 2.8035610196741 | erot = 3.75897131812056 | epot = -36.8749675315763 | etot = -30.3124351937817 +849000 ekin = 2.84159199816875 | erot = 3.65493979263097 | epot = -36.7798908055852 | etot = -30.2833590147855 +850000 ekin = 2.91517374365839 | erot = 3.25543936029153 | epot = -36.7388454898332 | etot = -30.5682323858832 +851000 ekin = 3.08764953673805 | erot = 3.74455145978084 | epot = -36.722364218189 | etot = -29.8901632216702 +852000 ekin = 3.20356705871957 | erot = 3.86422941824788 | epot = -36.7413165099185 | etot = -29.6735200329511 +853000 ekin = 3.25796036952423 | erot = 4.25509323905633 | epot = -36.7658517979734 | etot = -29.2527981893928 +854000 ekin = 3.57244822927295 | erot = 4.1896974412388 | epot = -36.8021340521276 | etot = -29.0399883816159 +855000 ekin = 3.61706783412956 | erot = 4.16292249791868 | epot = -36.8626923862697 | etot = -29.0827020542215 +856000 ekin = 3.78538239756072 | erot = 4.11253551603666 | epot = -36.9244661414333 | etot = -29.0265482278359 +857000 ekin = 3.7817884765619 | erot = 4.13628071929874 | epot = -37.0292483027729 | etot = -29.1111791069122 +858000 ekin = 3.79767899411331 | erot = 4.25390024597203 | epot = -37.1883443366328 | etot = -29.1367650965475 +859000 ekin = 3.79646558910377 | erot = 4.39490149089977 | epot = -37.3423128301967 | etot = -29.1509457501932 +860000 ekin = 3.86711139340926 | erot = 4.91957560544857 | epot = -37.4915022932785 | etot = -28.7048152944207 +861000 ekin = 3.99177075241504 | erot = 4.92589410247942 | epot = -37.5868681074784 | etot = -28.6692032525839 +862000 ekin = 4.0977748877086 | erot = 4.85487231115065 | epot = -37.6175250863704 | etot = -28.6648778875111 +863000 ekin = 4.13925231113692 | erot = 4.50896117392355 | epot = -37.5986086016775 | etot = -28.950395116617 +864000 ekin = 4.14764866587724 | erot = 4.42487018235684 | epot = -37.5204132439163 | etot = -28.9478943956823 +865000 ekin = 4.14664914911426 | erot = 4.25648196395736 | epot = -37.3939280409738 | etot = -28.9907969279022 +866000 ekin = 4.14214320133934 | erot = 4.18089045470177 | epot = -37.217946082973 | etot = -28.8949124269318 +867000 ekin = 4.2533355578306 | erot = 3.91180056252889 | epot = -37.0368358637666 | etot = -28.8716997434071 +868000 ekin = 4.25544635673827 | erot = 4.03934502097174 | epot = -36.892523740773 | etot = -28.597732363063 +869000 ekin = 4.24112681076909 | erot = 4.01454747654454 | epot = -36.8084367274645 | etot = -28.5527624401508 +870000 ekin = 4.33478513328131 | erot = 3.78349131069572 | epot = -36.7681636745504 | etot = -28.6498872305733 +871000 ekin = 4.17502061004023 | erot = 3.95421063049773 | epot = -36.7899780247081 | etot = -28.6607467841701 +872000 ekin = 4.17603847735526 | erot = 3.83768938083062 | epot = -36.8688005631066 | etot = -28.8550727049207 +873000 ekin = 4.41693719639203 | erot = 4.07505566261082 | epot = -36.9767379853334 | etot = -28.4847451263305 +874000 ekin = 4.41295334009184 | erot = 4.18394759912804 | epot = -37.1369142438381 | etot = -28.5400133046182 +875000 ekin = 4.52955334955961 | erot = 4.19580464694757 | epot = -37.3370998777392 | etot = -28.611741881232 +876000 ekin = 4.61247068682171 | erot = 4.50897081856651 | epot = -37.5248349335733 | etot = -28.4033934281851 +877000 ekin = 4.76533246609024 | erot = 4.08201826718837 | epot = -37.6873606048119 | etot = -28.8400098715333 +878000 ekin = 4.8610970109619 | erot = 4.033155729642 | epot = -37.8092910984767 | etot = -28.9150383578728 +879000 ekin = 4.93322526419523 | erot = 3.94479688455364 | epot = -37.8433128250758 | etot = -28.965290676327 +880000 ekin = 4.91177719282767 | erot = 3.90966953329197 | epot = -37.7988935874806 | etot = -28.9774468613609 +881000 ekin = 4.87595051611486 | erot = 3.76638474532604 | epot = -37.6791282073033 | etot = -29.0367929458624 +882000 ekin = 4.80398792776863 | erot = 3.52725045146498 | epot = -37.4958553191656 | etot = -29.164616939932 +883000 ekin = 4.56372183806134 | erot = 3.17268134770781 | epot = -37.3026048485108 | etot = -29.5662016627417 +884000 ekin = 4.38408070690848 | erot = 2.95287988074379 | epot = -37.1164899885588 | etot = -29.7795294009065 +885000 ekin = 4.2140126763182 | erot = 3.28627816383894 | epot = -36.942394624606 | etot = -29.4421037844489 +886000 ekin = 3.94208450896381 | erot = 3.61827008671528 | epot = -36.8244889717495 | etot = -29.2641343760704 +887000 ekin = 3.76025689669878 | erot = 3.89282193563174 | epot = -36.7542446517018 | etot = -29.1011658193713 +888000 ekin = 3.58518173626509 | erot = 4.10918051627072 | epot = -36.7235080282654 | etot = -29.0291457757296 +889000 ekin = 3.52227905599303 | erot = 4.53948895643315 | epot = -36.7423345916829 | etot = -28.6805665792567 +890000 ekin = 3.48725850687851 | erot = 4.9165184567076 | epot = -36.8110749451072 | etot = -28.4072979815211 +891000 ekin = 3.51807183016932 | erot = 5.36785996032727 | epot = -36.9187079043847 | etot = -28.0327761138882 +892000 ekin = 3.486514414829 | erot = 5.25687644163098 | epot = -37.0005216584193 | etot = -28.2571308019593 +893000 ekin = 3.51467838155448 | erot = 5.65149044087548 | epot = -37.0594453420589 | etot = -27.8932765196289 +894000 ekin = 3.45974654612958 | erot = 5.22169711042558 | epot = -37.102064267985 | etot = -28.4206206114299 +895000 ekin = 3.57216437063937 | erot = 5.40895067977451 | epot = -37.1028729086238 | etot = -28.1217578582099 +896000 ekin = 3.56655921068659 | erot = 5.69090228219611 | epot = -37.0708217415226 | etot = -27.8133602486399 +897000 ekin = 3.57757547803441 | erot = 5.90228049359103 | epot = -36.985951453297 | etot = -27.5060954816716 +898000 ekin = 3.52295514054554 | erot = 5.8453836024045 | epot = -36.8484715408739 | etot = -27.4801327979239 +899000 ekin = 3.42191869064122 | erot = 5.47174915922149 | epot = -36.6856616378138 | etot = -27.7919937879511 +900000 ekin = 3.45720121517251 | erot = 5.5997377251197 | epot = -36.5148133918243 | etot = -27.4578744515321 +901000 ekin = 3.51607619901873 | erot = 5.88763510779633 | epot = -36.2859464010554 | etot = -26.8822350942404 +902000 ekin = 3.56087621117599 | erot = 5.17399063106631 | epot = -36.0621785767821 | etot = -27.3273117345398 +903000 ekin = 3.56470936099584 | erot = 5.07361698005476 | epot = -35.8794588183591 | etot = -27.2411324773085 +904000 ekin = 3.64294879518974 | erot = 5.28022715353087 | epot = -35.7543216612797 | etot = -26.8311457125591 +905000 ekin = 3.72447152602649 | erot = 5.02657007424407 | epot = -35.658280490972 | etot = -26.9072388907014 +906000 ekin = 3.7591413367746 | erot = 4.63070748715657 | epot = -35.6129995043961 | etot = -27.2231506804649 +907000 ekin = 4.00046169414905 | erot = 4.63743176602948 | epot = -35.6087015116484 | etot = -26.9708080514698 +908000 ekin = 3.98050966425778 | erot = 4.23795607914778 | epot = -35.6020003534093 | etot = -27.3835346100038 +909000 ekin = 4.14488755713113 | erot = 3.77771446920632 | epot = -35.5819012555779 | etot = -27.6592992292404 +910000 ekin = 4.18878899263847 | erot = 3.85878998652442 | epot = -35.5853308204837 | etot = -27.5377518413208 +911000 ekin = 4.15448454865027 | erot = 3.93063753948133 | epot = -35.6075046071671 | etot = -27.5223825190355 +912000 ekin = 4.30922033403085 | erot = 4.53644215925813 | epot = -35.6368602869792 | etot = -26.7911977936902 +913000 ekin = 4.42050627097881 | erot = 4.36559538893036 | epot = -35.6635505470016 | etot = -26.8774488870924 +914000 ekin = 4.640384167071 | erot = 4.57708989772434 | epot = -35.6621612967503 | etot = -26.4446872319549 +915000 ekin = 4.71121950508134 | erot = 4.34018648406978 | epot = -35.6015140360078 | etot = -26.5501080468567 +916000 ekin = 4.67735943326423 | erot = 4.0723772918907 | epot = -35.4903050476411 | etot = -26.7405683224862 +917000 ekin = 4.78142703706188 | erot = 4.20198791892984 | epot = -35.3917685265255 | etot = -26.4083535705337 +918000 ekin = 4.77421198697552 | erot = 4.42971373988936 | epot = -35.2582637676415 | etot = -26.0543380407766 +919000 ekin = 4.73422216253545 | erot = 4.77044814340035 | epot = -35.0931913565727 | etot = -25.5885210506369 +920000 ekin = 4.64583700130455 | erot = 4.69774436792038 | epot = -34.9395895324828 | etot = -25.5960081632579 +921000 ekin = 4.61516328270518 | erot = 4.43350879426847 | epot = -34.8128426462836 | etot = -25.7641705693099 +922000 ekin = 4.55621337364702 | erot = 4.21768777753359 | epot = -34.7312720351653 | etot = -25.9573708839847 +923000 ekin = 4.59034826680647 | erot = 4.50920703076125 | epot = -34.7044992141191 | etot = -25.6049439165514 +924000 ekin = 4.58356240196665 | erot = 4.62074320796166 | epot = -34.7126986327387 | etot = -25.5083930228104 +925000 ekin = 4.53220072801023 | erot = 4.79254817721209 | epot = -34.7588998026814 | etot = -25.4341508974591 +926000 ekin = 4.55832715206815 | erot = 5.00471911281168 | epot = -34.8080246038137 | etot = -25.2449783389339 +927000 ekin = 4.62575171089295 | erot = 4.71181044830442 | epot = -34.8667293476304 | etot = -25.529167188433 +928000 ekin = 4.68657375207003 | erot = 4.76234601746771 | epot = -34.915949836791 | etot = -25.4670300672533 +929000 ekin = 4.7061028915664 | erot = 5.07097104655604 | epot = -34.9791697926744 | etot = -25.202095854552 +930000 ekin = 4.79474071813729 | erot = 5.21915381885274 | epot = -35.0589708185177 | etot = -25.0450762815277 +931000 ekin = 4.69039359230418 | erot = 5.48593447848777 | epot = -35.1099047138343 | etot = -24.9335766430423 +932000 ekin = 4.71110094603637 | erot = 5.47204685356053 | epot = -35.1612846037812 | etot = -24.9781368041843 +933000 ekin = 4.7636965267817 | erot = 5.41370570081805 | epot = -35.2317575147297 | etot = -25.05435528713 +934000 ekin = 4.8364389439216 | erot = 5.2350863141415 | epot = -35.3109086743972 | etot = -25.2393834163341 +935000 ekin = 4.76586014730834 | erot = 5.228655408338 | epot = -35.3670038676022 | etot = -25.3724883119559 +936000 ekin = 4.7459923218976 | erot = 5.40903849081579 | epot = -35.4141584031058 | etot = -25.2591275903924 +937000 ekin = 4.7066536683933 | erot = 5.90535300927756 | epot = -35.4573569432673 | etot = -24.8453502655964 +938000 ekin = 4.73520980049429 | erot = 5.48994015212968 | epot = -35.4717259493542 | etot = -25.2465759967302 +939000 ekin = 4.66471904112943 | erot = 5.58667162801301 | epot = -35.4363389851247 | etot = -25.1849483159823 +940000 ekin = 4.73670308439586 | erot = 5.59502045341196 | epot = -35.3410735898338 | etot = -25.0093500520259 +941000 ekin = 4.56546752366747 | erot = 5.16939612930364 | epot = -35.2196425314888 | etot = -25.4847788785177 +942000 ekin = 4.36600564083038 | erot = 4.55609433699296 | epot = -35.0782455188793 | etot = -26.156145541056 +943000 ekin = 4.27680501591152 | erot = 4.77186490926151 | epot = -34.9346146494734 | etot = -25.8859447243004 +944000 ekin = 4.17576408255027 | erot = 4.64476704064174 | epot = -34.7936442239037 | etot = -25.9731131007117 +945000 ekin = 4.08165692512656 | erot = 4.64307958397957 | epot = -34.7241648822034 | etot = -25.9994283730973 +946000 ekin = 3.9823833768563 | erot = 4.33903183997624 | epot = -34.720898188062 | etot = -26.3994829712295 +947000 ekin = 4.11312487406737 | erot = 4.25698162025429 | epot = -34.8023164533845 | etot = -26.4322099590628 +948000 ekin = 4.03905965505087 | erot = 4.28038925265714 | epot = -34.928198667426 | etot = -26.608749759718 +949000 ekin = 4.12081251669323 | erot = 4.40083354096753 | epot = -35.1348098866843 | etot = -26.6131638290236 +950000 ekin = 4.19947300195308 | erot = 4.46892156641812 | epot = -35.3299547862415 | etot = -26.6615602178703 +951000 ekin = 4.28802819219167 | erot = 4.3680742443603 | epot = -35.5595339264167 | etot = -26.9034314898647 +952000 ekin = 4.44618066979822 | erot = 4.88998578447886 | epot = -35.776264591199 | etot = -26.4400981369219 +953000 ekin = 4.53022835549443 | erot = 4.90684636989333 | epot = -35.9402525430781 | etot = -26.5031778176903 +954000 ekin = 4.65793433636178 | erot = 4.95789701943152 | epot = -36.1007223995856 | etot = -26.4848910437923 +955000 ekin = 4.68472849923193 | erot = 4.84778271057121 | epot = -36.2250094081872 | etot = -26.692498198384 +956000 ekin = 4.83489144923702 | erot = 4.61252423076074 | epot = -36.2912267944626 | etot = -26.8438111144649 +957000 ekin = 4.83158754758543 | erot = 4.06427874835662 | epot = -36.3314048744461 | etot = -27.4355385785041 +958000 ekin = 4.95872508890491 | erot = 3.86764289322934 | epot = -36.3554965538449 | etot = -27.5291285717106 +959000 ekin = 4.88220034385557 | erot = 3.76501141985199 | epot = -36.3703754351835 | etot = -27.7231636714759 +960000 ekin = 4.96739750076083 | erot = 3.70143986321351 | epot = -36.3537104260526 | etot = -27.6848730620782 +961000 ekin = 5.05073619223015 | erot = 3.58723306284219 | epot = -36.3292284086185 | etot = -27.6912591535462 +962000 ekin = 5.10220917296402 | erot = 3.43365806618123 | epot = -36.292660732266 | etot = -27.7567934931207 +963000 ekin = 5.25727455724231 | erot = 3.39047088285751 | epot = -36.2233249912108 | etot = -27.5755795511109 +964000 ekin = 5.33892942752122 | erot = 3.38850636488222 | epot = -36.1631800361608 | etot = -27.4357442437574 +965000 ekin = 5.29707309584692 | erot = 3.40709075904033 | epot = -36.114647791191 | etot = -27.4104839363038 +966000 ekin = 5.27380254283779 | erot = 3.34984185029608 | epot = -36.0934598827398 | etot = -27.4698154896059 +967000 ekin = 5.19975037009087 | erot = 3.54967607074493 | epot = -36.1222651146705 | etot = -27.3728386738347 +968000 ekin = 5.22098509097161 | erot = 3.38920040678115 | epot = -36.1570868906189 | etot = -27.5469013928661 +969000 ekin = 5.01248198517091 | erot = 3.26201512253216 | epot = -36.2130447987696 | etot = -27.9385476910665 +970000 ekin = 4.97914863237121 | erot = 3.76343819077309 | epot = -36.2895058744048 | etot = -27.5469190512605 +971000 ekin = 5.04224300192755 | erot = 3.59024832311355 | epot = -36.3590409977773 | etot = -27.7265496727362 +972000 ekin = 5.05787332232144 | erot = 3.83558558676212 | epot = -36.3997125264357 | etot = -27.5062536173522 +973000 ekin = 5.01777031588903 | erot = 3.27986497682672 | epot = -36.416683733591 | etot = -28.1190484408752 +974000 ekin = 4.96186842907965 | erot = 3.23479851019082 | epot = -36.4352005399287 | etot = -28.2385336006583 +975000 ekin = 4.97224363278484 | erot = 3.35077904927885 | epot = -36.455709806026 | etot = -28.1326871239623 +976000 ekin = 5.01625531380467 | erot = 3.41837200675027 | epot = -36.4643526378165 | etot = -28.0297253172615 +977000 ekin = 5.04359880486621 | erot = 3.40669885598948 | epot = -36.4673967616861 | etot = -28.0170991008304 +978000 ekin = 4.96814116021997 | erot = 3.3988542289389 | epot = -36.4671439769023 | etot = -28.1001485877434 +979000 ekin = 4.68494120169423 | erot = 3.87226166481182 | epot = -36.4696261904956 | etot = -27.9124233239896 +980000 ekin = 4.80514576213004 | erot = 3.73614562894118 | epot = -36.4753768381447 | etot = -27.9340854470735 +981000 ekin = 4.85375109376568 | erot = 4.35522911700057 | epot = -36.4902775794649 | etot = -27.2812973686986 +982000 ekin = 4.79648806853534 | erot = 4.15595945903824 | epot = -36.5084812040043 | etot = -27.5560336764307 +983000 ekin = 4.75907969484559 | erot = 4.43556787871588 | epot = -36.5083539693089 | etot = -27.3137063957474 +984000 ekin = 4.81598118844461 | erot = 4.52957555705406 | epot = -36.5383410952792 | etot = -27.1927843497806 +985000 ekin = 4.87924474651563 | erot = 4.3163097901408 | epot = -36.5777006480737 | etot = -27.3821461114172 +986000 ekin = 4.77128314225264 | erot = 4.12408981491538 | epot = -36.5819281400493 | etot = -27.6865551828813 +987000 ekin = 4.70900566206954 | erot = 4.08922713836853 | epot = -36.5892891612702 | etot = -27.7910563608322 +988000 ekin = 4.69685644927805 | erot = 4.03217145235649 | epot = -36.6289948782911 | etot = -27.8999669766566 +989000 ekin = 4.56955203825868 | erot = 4.16364650343098 | epot = -36.6885496975511 | etot = -27.9553511558614 +990000 ekin = 4.56207337975407 | erot = 3.92865148644803 | epot = -36.7375440238769 | etot = -28.2468191576748 +991000 ekin = 4.45863269474038 | erot = 3.99370804360135 | epot = -36.8046932644695 | etot = -28.3523525261278 +992000 ekin = 4.52516169638379 | erot = 4.19036473784521 | epot = -36.90459516699 | etot = -28.189068732761 +993000 ekin = 4.26593637771868 | erot = 4.55899726308546 | epot = -37.028392229238 | etot = -28.2034585884339 +994000 ekin = 4.14968593988764 | erot = 4.67871188882305 | epot = -37.1561829580787 | etot = -28.327785129368 +995000 ekin = 4.20875361665793 | erot = 4.51127733270572 | epot = -37.2858931380942 | etot = -28.5658621887305 +996000 ekin = 4.10968366764503 | erot = 4.2587192792391 | epot = -37.3745810703572 | etot = -29.006178123473 +997000 ekin = 4.00616178452013 | erot = 4.48911641516102 | epot = -37.4314666701193 | etot = -28.9361884704382 +998000 ekin = 4.02180091280217 | erot = 4.35841167717868 | epot = -37.4443636100146 | etot = -29.0641510200337 +999000 ekin = 4.07504562976173 | erot = 4.26230873450589 | epot = -37.4098012996895 | etot = -29.0724469354219 +1000000 ekin = 3.90433765201102 | erot = 4.668818882285 | epot = -37.3063332342176 | etot = -28.7331766999216 + 1000000 0.10411567 -1.4674304 0.032571422 -1.2846921 -6.6175275e-05 64000 +Loop time of 50.1084 on 4 procs for 1000000 steps with 26 atoms + +Performance: 17242.621 tau/day, 19956.737 timesteps/s +99.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 | 23.546 | 32.709 | 41.497 | 153.6 | 65.28 +Bond | 0.51019 | 0.67522 | 0.82925 | 17.7 | 1.35 +Neigh | 0.014865 | 0.014889 | 0.014927 | 0.0 | 0.03 +Comm | 4.26 | 12.866 | 21.787 | 239.8 | 25.68 +Output | 0.13375 | 0.1515 | 0.15811 | 2.6 | 0.30 +Modify | 1.6128 | 2.2213 | 2.8367 | 40.6 | 4.43 +Other | | 1.47 | | | 2.93 + +Nlocal: 6.50000 ave 10 max 3 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Nghost: 19.5000 ave 23 max 16 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Neighs: 131.000 ave 195 max 67 min +Histogram: 2 0 0 0 0 0 0 0 0 2 + +Total # of neighbors = 524 +Ave neighs/atom = 20.153846 +Ave special neighs/atom = 5.0769231 +Neighbor list builds = 1000 +Dangerous builds = 0 + +write_data last_config.${number}.* nocoeff +write_data last_config.8.* nocoeff +System init for write_data ... +Total wall time: 0:00:50 diff --git a/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.30Jun20.duplex4.4type.g++1 b/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.30Jun20.duplex4.4type.g++1 deleted file mode 100644 index 8f9e9b299e..0000000000 --- a/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.30Jun20.duplex4.4type.g++1 +++ /dev/null @@ -1,244 +0,0 @@ -LAMMPS (30 Jun 2020) -variable number equal 1 -variable ofreq equal 10000 -variable efreq equal 10000 - -variable ntype equal 4 - -variable T equal 0.1 - -units lj - -dimension 3 - -newton off - -boundary p p p - -atom_style hybrid bond ellipsoid -WARNING: Atom_style hybrid defines both pertype and peratom masses - both must be set, only peratom masses will be used (../atom_vec_hybrid.cpp:156) -atom_modify sort 0 1.0 - -# Pair interactions require lists of neighbours to be calculated -neighbor 1.0 bin -neigh_modify every 10 delay 0 check yes - -read_data data.duplex4.4type - orthogonal box = (-20 -20 -20) to (20 20 20) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 26 atoms - reading velocities ... - 26 velocities - 26 ellipsoids - scanning bonds ... - 2 = max bonds/atom - reading bonds ... - 24 bonds - 2 = max # of 1-2 neighbors - 2 = max # of 1-3 neighbors - 4 = max # of 1-4 neighbors - 6 = max # of special neighbors - special bonds CPU = 0.000 seconds - read_data CPU = 0.003 seconds -mass * 3.1575 # sets per-type mass if not in data file -set atom * mass 3.1575 # sets per-atom mass - 26 settings made for mass - -group all type 1 4 -26 atoms in group all - -# oxDNA bond interactions - FENE backbone -bond_style oxdna2/fene -bond_coeff * 2.0 0.25 0.7564 -special_bonds lj 0 1 1 - 2 = max # of 1-2 neighbors - 2 = max # of 1-3 neighbors - 4 = max # of 1-4 neighbors - 6 = max # of special neighbors - special bonds CPU = 0.000 seconds - -# oxDNA pair interactions -pair_style hybrid/overlay oxdna2/excv oxdna2/stk oxdna2/hbond oxdna2/xstk oxdna2/coaxstk oxdna2/dh -pair_coeff * * oxdna2/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32 -pair_coeff * * oxdna2/stk seqdep ${T} 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 -pair_coeff * * oxdna2/stk seqdep 0.1 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 -pair_coeff * * oxdna2/hbond seqdep 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 - -label loop -variable base loop ${ntype} -variable base loop 4 - variable basemod equal ${base}%4 - variable basemod equal 1%4 - if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" -variable comp equal ${base}+3 -variable comp equal 1+3 -pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 1 ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 1 4 oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 - if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" -next base -jump in.duplex4.4type loop -variable base loop ${ntype} -variable base loop 4 - variable basemod equal ${base}%4 - variable basemod equal 2%4 - if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" - if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" -variable comp equal ${base}+1 -variable comp equal 2+1 -pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 2 ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 2 3 oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -next base -jump in.duplex4.4type loop -variable base loop ${ntype} -variable base loop 4 - variable basemod equal ${base}%4 - variable basemod equal 3%4 - if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" - if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" -next base -jump in.duplex4.4type loop -variable base loop ${ntype} -variable base loop 4 - variable basemod equal ${base}%4 - variable basemod equal 4%4 - if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" - if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" -next base -jump in.duplex4.4type loop - -pair_coeff * * oxdna2/xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68 -pair_coeff * * oxdna2/coaxstk 58.5 0.4 0.6 0.22 0.58 2.0 2.891592653589793 0.65 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 40.0 3.116592653589793 -pair_coeff * * oxdna2/dh ${T} 0.2 0.815 -pair_coeff * * oxdna2/dh 0.1 0.2 0.815 - -# Langevin dynamics -fix 1 all nve/asphere -fix 2 all langevin ${T} ${T} 25.0 457145 angmom 10 -fix 2 all langevin 0.1 ${T} 25.0 457145 angmom 10 -fix 2 all langevin 0.1 0.1 25.0 457145 angmom 10 - -timestep 1e-4 - -#comm_style tiled -#fix 3 all balance 10000 1.1 rcb -comm_modify cutoff 2.5 - -#compute mol all chunk/atom molecule -#compute mychunk all vcm/chunk mol -#fix 4 all ave/time 10000 1 10000 c_mychunk[1] c_mychunk[2] c_mychunk[3] file vcm.txt mode vector - -#dump pos all xyz ${ofreq} traj.${number}.xyz - -compute quat all property/atom quatw quati quatj quatk -#dump quat all custom ${ofreq} quat.${number}.txt id c_quat[1] c_quat[2] c_quat[3] c_quat[4] -#dump_modify quat sort id -#dump_modify quat format line "%d %13.6le %13.6le %13.6le %13.6le" - -compute erot all erotate/asphere -compute ekin all ke -compute epot all pe -variable erot equal c_erot -variable ekin equal c_ekin -variable epot equal c_epot -variable etot equal c_erot+c_ekin+c_epot -fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes -fix 5 all print 10000 "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes - -dump out all custom ${ofreq} out.${number}.txt id mol type x y z ix iy iz c_quat[1] c_quat[2] c_quat[3] c_quat[4] vx vy vz -dump out all custom 10000 out.${number}.txt id mol type x y z ix iy iz c_quat[1] c_quat[2] c_quat[3] c_quat[4] vx vy vz -dump out all custom 10000 out.1.txt id mol type x y z ix iy iz c_quat[1] c_quat[2] c_quat[3] c_quat[4] vx vy vz -dump_modify out sort id -dump_modify out format line "%d %d %d %13.6le %13.6le %13.6le %d %d %d %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le " - -#restart 10000 config0_restart config1_restart - -run 100000 -Neighbor list info ... - update every 10 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 4.6389877 - ghost atom cutoff = 4.6389877 - binsize = 2.3194939, bins = 18 18 18 - 6 neighbor lists, perpetual/occasional/extra = 6 0 0 - (1) pair oxdna2/excv, perpetual - attributes: half, newton off - pair build: half/bin/newtoff - stencil: half/bin/3d/newtoff - bin: standard - (2) pair oxdna2/stk, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (3) pair oxdna2/hbond, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (4) pair oxdna2/xstk, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (5) pair oxdna2/coaxstk, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (6) pair oxdna2/dh, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none -WARNING: Communication cutoff adjusted to 4.638987723814632 (../comm.cpp:690) -0 ekin = 0 | erot = 0 | epot = -41.6285382417448 | etot = -41.6285382417448 -Per MPI rank memory allocation (min/avg/max) = 9.771 | 9.771 | 9.771 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 0 -1.6384018 0.037304147 -1.6010976 6.7769766e-05 -10000 ekin = 0.876675896491307 | erot = 3.01631310953192 | epot = -43.6949424313443 | etot = -39.8019534253211 -20000 ekin = 1.02178060459022 | erot = 1.54107635735041 | epot = -40.2257383206528 | etot = -37.6628813587121 -30000 ekin = 1.77819697871127 | erot = 2.67180081099997 | epot = -40.9840548186678 | etot = -36.5340570289565 -40000 ekin = 2.55095642638533 | erot = 2.97955929579275 | epot = -40.0756048400153 | etot = -34.5450891178372 -50000 ekin = 2.43321388920862 | erot = 3.63137266285959 | epot = -39.3718897377946 | etot = -33.3073031857264 -60000 ekin = 2.51123200110303 | erot = 3.95693243683571 | epot = -38.8877878920178 | etot = -32.4196234540791 -70000 ekin = 3.33444097207872 | erot = 4.12593683683079 | epot = -38.7679893452499 | etot = -31.3076115363404 -80000 ekin = 3.41969296989344 | erot = 3.46589964095079 | epot = -37.5712487729465 | etot = -30.6856561621023 -90000 ekin = 3.53106755106414 | erot = 3.40955821292295 | epot = -35.9319384430368 | etot = -28.9913126790497 -100000 ekin = 3.47860763041501 | erot = 3.95117534418391 | epot = -37.6128506757402 | etot = -30.1830677011413 - 100000 0.09276287 -1.4972391 0.050590991 -1.3128555 0.00017815014 -Loop time of 7.33046 on 1 procs for 100000 steps with 26 atoms - -Performance: 117864.395 tau/day, 13641.712 timesteps/s -99.8% CPU use with 1 MPI tasks x no OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 6.4814 | 6.4814 | 6.4814 | 0.0 | 88.42 -Bond | 0.16262 | 0.16262 | 0.16262 | 0.0 | 2.22 -Neigh | 4.2e-05 | 4.2e-05 | 4.2e-05 | 0.0 | 0.00 -Comm | 0.019555 | 0.019555 | 0.019555 | 0.0 | 0.27 -Output | 0.00131 | 0.00131 | 0.00131 | 0.0 | 0.02 -Modify | 0.64596 | 0.64596 | 0.64596 | 0.0 | 8.81 -Other | | 0.01961 | | | 0.27 - -Nlocal: 26.0 ave 26.0 max 26.0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 0.0 ave 0.0 max 0.0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 299.0 ave 299.0 max 299.0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 299 -Ave neighs/atom = 11.5 -Ave special neighs/atom = 5.076923076923077 -Neighbor list builds = 2 -Dangerous builds = 0 - -#write_restart config.${number}.* - - -Total wall time: 0:00:07 diff --git a/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.30Jun20.duplex4.4type.g++4 b/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.30Jun20.duplex4.4type.g++4 deleted file mode 100644 index ae55b4c3ae..0000000000 --- a/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.30Jun20.duplex4.4type.g++4 +++ /dev/null @@ -1,244 +0,0 @@ -LAMMPS (30 Jun 2020) -variable number equal 1 -variable ofreq equal 10000 -variable efreq equal 10000 - -variable ntype equal 4 - -variable T equal 0.1 - -units lj - -dimension 3 - -newton off - -boundary p p p - -atom_style hybrid bond ellipsoid -WARNING: Atom_style hybrid defines both pertype and peratom masses - both must be set, only peratom masses will be used (../atom_vec_hybrid.cpp:156) -atom_modify sort 0 1.0 - -# Pair interactions require lists of neighbours to be calculated -neighbor 1.0 bin -neigh_modify every 10 delay 0 check yes - -read_data data.duplex4.4type - orthogonal box = (-20 -20 -20) to (20 20 20) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 26 atoms - reading velocities ... - 26 velocities - 26 ellipsoids - scanning bonds ... - 2 = max bonds/atom - reading bonds ... - 24 bonds - 2 = max # of 1-2 neighbors - 2 = max # of 1-3 neighbors - 4 = max # of 1-4 neighbors - 6 = max # of special neighbors - special bonds CPU = 0.001 seconds - read_data CPU = 0.004 seconds -mass * 3.1575 # sets per-type mass if not in data file -set atom * mass 3.1575 # sets per-atom mass - 26 settings made for mass - -group all type 1 4 -26 atoms in group all - -# oxDNA bond interactions - FENE backbone -bond_style oxdna2/fene -bond_coeff * 2.0 0.25 0.7564 -special_bonds lj 0 1 1 - 2 = max # of 1-2 neighbors - 2 = max # of 1-3 neighbors - 4 = max # of 1-4 neighbors - 6 = max # of special neighbors - special bonds CPU = 0.000 seconds - -# oxDNA pair interactions -pair_style hybrid/overlay oxdna2/excv oxdna2/stk oxdna2/hbond oxdna2/xstk oxdna2/coaxstk oxdna2/dh -pair_coeff * * oxdna2/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32 -pair_coeff * * oxdna2/stk seqdep ${T} 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 -pair_coeff * * oxdna2/stk seqdep 0.1 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 -pair_coeff * * oxdna2/hbond seqdep 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 - -label loop -variable base loop ${ntype} -variable base loop 4 - variable basemod equal ${base}%4 - variable basemod equal 1%4 - if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" -variable comp equal ${base}+3 -variable comp equal 1+3 -pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 1 ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 1 4 oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 - if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" -next base -jump in.duplex4.4type loop -variable base loop ${ntype} -variable base loop 4 - variable basemod equal ${base}%4 - variable basemod equal 2%4 - if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" - if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" -variable comp equal ${base}+1 -variable comp equal 2+1 -pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 2 ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 2 3 oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -next base -jump in.duplex4.4type loop -variable base loop ${ntype} -variable base loop 4 - variable basemod equal ${base}%4 - variable basemod equal 3%4 - if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" - if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" -next base -jump in.duplex4.4type loop -variable base loop ${ntype} -variable base loop 4 - variable basemod equal ${base}%4 - variable basemod equal 4%4 - if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" - if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" -next base -jump in.duplex4.4type loop - -pair_coeff * * oxdna2/xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68 -pair_coeff * * oxdna2/coaxstk 58.5 0.4 0.6 0.22 0.58 2.0 2.891592653589793 0.65 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 40.0 3.116592653589793 -pair_coeff * * oxdna2/dh ${T} 0.2 0.815 -pair_coeff * * oxdna2/dh 0.1 0.2 0.815 - -# Langevin dynamics -fix 1 all nve/asphere -fix 2 all langevin ${T} ${T} 25.0 457145 angmom 10 -fix 2 all langevin 0.1 ${T} 25.0 457145 angmom 10 -fix 2 all langevin 0.1 0.1 25.0 457145 angmom 10 - -timestep 1e-4 - -#comm_style tiled -#fix 3 all balance 10000 1.1 rcb -comm_modify cutoff 2.5 - -#compute mol all chunk/atom molecule -#compute mychunk all vcm/chunk mol -#fix 4 all ave/time 10000 1 10000 c_mychunk[1] c_mychunk[2] c_mychunk[3] file vcm.txt mode vector - -#dump pos all xyz ${ofreq} traj.${number}.xyz - -compute quat all property/atom quatw quati quatj quatk -#dump quat all custom ${ofreq} quat.${number}.txt id c_quat[1] c_quat[2] c_quat[3] c_quat[4] -#dump_modify quat sort id -#dump_modify quat format line "%d %13.6le %13.6le %13.6le %13.6le" - -compute erot all erotate/asphere -compute ekin all ke -compute epot all pe -variable erot equal c_erot -variable ekin equal c_ekin -variable epot equal c_epot -variable etot equal c_erot+c_ekin+c_epot -fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes -fix 5 all print 10000 "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes - -dump out all custom ${ofreq} out.${number}.txt id mol type x y z ix iy iz c_quat[1] c_quat[2] c_quat[3] c_quat[4] vx vy vz -dump out all custom 10000 out.${number}.txt id mol type x y z ix iy iz c_quat[1] c_quat[2] c_quat[3] c_quat[4] vx vy vz -dump out all custom 10000 out.1.txt id mol type x y z ix iy iz c_quat[1] c_quat[2] c_quat[3] c_quat[4] vx vy vz -dump_modify out sort id -dump_modify out format line "%d %d %d %13.6le %13.6le %13.6le %d %d %d %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le " - -#restart 10000 config0_restart config1_restart - -run 100000 -Neighbor list info ... - update every 10 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 4.6389877 - ghost atom cutoff = 4.6389877 - binsize = 2.3194939, bins = 18 18 18 - 6 neighbor lists, perpetual/occasional/extra = 6 0 0 - (1) pair oxdna2/excv, perpetual - attributes: half, newton off - pair build: half/bin/newtoff - stencil: half/bin/3d/newtoff - bin: standard - (2) pair oxdna2/stk, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (3) pair oxdna2/hbond, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (4) pair oxdna2/xstk, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (5) pair oxdna2/coaxstk, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (6) pair oxdna2/dh, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none -WARNING: Communication cutoff adjusted to 4.638987723814632 (../comm.cpp:690) -0 ekin = 0 | erot = 0 | epot = -41.6285382417448 | etot = -41.6285382417448 -Per MPI rank memory allocation (min/avg/max) = 9.756 | 9.813 | 9.871 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 0 -1.6384018 0.037304147 -1.6010976 6.7769766e-05 -10000 ekin = 0.705506935391957 | erot = 3.21864563172922 | epot = -44.0640899615318 | etot = -40.1399373944106 -20000 ekin = 1.16547426389222 | erot = 1.69259899672632 | epot = -41.827511978894 | etot = -38.9694387182755 -30000 ekin = 2.07592540045025 | erot = 2.81661265099434 | epot = -41.8258727293348 | etot = -36.9333346778902 -40000 ekin = 3.0352692177735 | erot = 2.43995587980307 | epot = -41.3155342467788 | etot = -35.8403091492022 -50000 ekin = 2.69044710203348 | erot = 2.86176633025683 | epot = -40.5544750556414 | etot = -35.0022616233511 -60000 ekin = 2.90956639769978 | erot = 2.84679944563592 | epot = -39.7474408128141 | etot = -33.9910749694784 -70000 ekin = 1.89941118514544 | erot = 3.71508585194422 | epot = -38.9575890625426 | etot = -33.3430920254529 -80000 ekin = 2.43472912058895 | erot = 3.11589280920166 | epot = -39.844809532279 | etot = -34.2941876024883 -90000 ekin = 2.3759389593227 | erot = 3.25835921096947 | epot = -38.913072246407 | etot = -33.2787740761149 -100000 ekin = 3.23901515322217 | erot = 3.3464944524431 | epot = -38.6302041314432 | etot = -32.044694525778 - 100000 0.086373737 -1.5432369 0.057459797 -1.3611996 7.7958353e-05 -Loop time of 6.09292 on 4 procs for 100000 steps with 26 atoms - -Performance: 141803.976 tau/day, 16412.497 timesteps/s -99.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 | 0.047712 | 2.5625 | 5.2874 | 157.3 | 42.06 -Bond | 0.007398 | 0.053166 | 0.10097 | 19.8 | 0.87 -Neigh | 1.8e-05 | 1.8e-05 | 1.8e-05 | 0.0 | 0.00 -Comm | 0.29205 | 2.9624 | 5.4188 | 143.0 | 48.62 -Output | 0.000866 | 0.00099325 | 0.001303 | 0.0 | 0.02 -Modify | 0.016247 | 0.18354 | 0.37524 | 39.2 | 3.01 -Other | | 0.3303 | | | 5.42 - -Nlocal: 6.5 ave 14.0 max 0.0 min -Histogram: 2 0 0 0 0 0 0 0 1 1 -Nghost: 18.5 ave 24.0 max 12.0 min -Histogram: 1 1 0 0 0 0 0 0 0 2 -Neighs: 113.75 ave 239.0 max 0.0 min -Histogram: 2 0 0 0 0 0 0 0 0 2 - -Total # of neighbors = 455 -Ave neighs/atom = 17.5 -Ave special neighs/atom = 5.076923076923077 -Neighbor list builds = 1 -Dangerous builds = 0 - -#write_restart config.${number}.* - - -Total wall time: 0:00:06 diff --git a/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.30Jun20.duplex4.8type.g++1 b/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.30Jun20.duplex4.8type.g++1 deleted file mode 100644 index 023fef7073..0000000000 --- a/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.30Jun20.duplex4.8type.g++1 +++ /dev/null @@ -1,286 +0,0 @@ -LAMMPS (30 Jun 2020) -variable number equal 1 -variable ofreq equal 10000 -variable efreq equal 10000 - -variable ntype equal 8 - -variable T equal 0.1 - -units lj - -dimension 3 - -newton off - -boundary p p p - -atom_style hybrid bond ellipsoid -WARNING: Atom_style hybrid defines both pertype and peratom masses - both must be set, only peratom masses will be used (../atom_vec_hybrid.cpp:156) -atom_modify sort 0 1.0 - -# Pair interactions require lists of neighbours to be calculated -neighbor 1.0 bin -neigh_modify every 10 delay 0 check yes - -read_data data.duplex4.8type - orthogonal box = (-20 -20 -20) to (20 20 20) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 26 atoms - reading velocities ... - 26 velocities - 26 ellipsoids - scanning bonds ... - 2 = max bonds/atom - reading bonds ... - 24 bonds - 2 = max # of 1-2 neighbors - 2 = max # of 1-3 neighbors - 4 = max # of 1-4 neighbors - 6 = max # of special neighbors - special bonds CPU = 0.000 seconds - read_data CPU = 0.002 seconds -mass * 3.1575 # sets per-type mass if not in data file -set atom * mass 3.1575 # sets per-atom mass - 26 settings made for mass - -group all type 1 8 -26 atoms in group all - -# oxDNA bond interactions - FENE backbone -bond_style oxdna2/fene -bond_coeff * 2.0 0.25 0.7564 -special_bonds lj 0 1 1 - 2 = max # of 1-2 neighbors - 2 = max # of 1-3 neighbors - 4 = max # of 1-4 neighbors - 6 = max # of special neighbors - special bonds CPU = 0.000 seconds - -# oxDNA pair interactions -pair_style hybrid/overlay oxdna2/excv oxdna2/stk oxdna2/hbond oxdna2/xstk oxdna2/coaxstk oxdna2/dh -pair_coeff * * oxdna2/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32 -pair_coeff * * oxdna2/stk seqdep ${T} 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 -pair_coeff * * oxdna2/stk seqdep 0.1 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 -pair_coeff * * oxdna2/hbond seqdep 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 - -label loop -variable base loop ${ntype} -variable base loop 8 - variable basemod equal ${base}%4 - variable basemod equal 1%4 - if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" -variable comp equal ${base}+3 -variable comp equal 1+3 -pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 1 ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 1 4 oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 - if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" -next base -jump in.duplex4.8type loop -variable base loop ${ntype} -variable base loop 8 - variable basemod equal ${base}%4 - variable basemod equal 2%4 - if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" - if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" -variable comp equal ${base}+1 -variable comp equal 2+1 -pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 2 ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 2 3 oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -next base -jump in.duplex4.8type loop -variable base loop ${ntype} -variable base loop 8 - variable basemod equal ${base}%4 - variable basemod equal 3%4 - if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" - if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" -next base -jump in.duplex4.8type loop -variable base loop ${ntype} -variable base loop 8 - variable basemod equal ${base}%4 - variable basemod equal 4%4 - if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" - if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" -next base -jump in.duplex4.8type loop -variable base loop ${ntype} -variable base loop 8 - variable basemod equal ${base}%4 - variable basemod equal 5%4 - if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" -variable comp equal ${base}+3 -variable comp equal 5+3 -pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 5 ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 5 8 oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 - if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" -next base -jump in.duplex4.8type loop -variable base loop ${ntype} -variable base loop 8 - variable basemod equal ${base}%4 - variable basemod equal 6%4 - if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" - if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" -variable comp equal ${base}+1 -variable comp equal 6+1 -pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 6 ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 6 7 oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -next base -jump in.duplex4.8type loop -variable base loop ${ntype} -variable base loop 8 - variable basemod equal ${base}%4 - variable basemod equal 7%4 - if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" - if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" -next base -jump in.duplex4.8type loop -variable base loop ${ntype} -variable base loop 8 - variable basemod equal ${base}%4 - variable basemod equal 8%4 - if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" - if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" -next base -jump in.duplex4.8type loop - -pair_coeff * * oxdna2/xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68 -pair_coeff * * oxdna2/coaxstk 58.5 0.4 0.6 0.22 0.58 2.0 2.891592653589793 0.65 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 40.0 3.116592653589793 -pair_coeff * * oxdna2/dh ${T} 0.2 0.815 -pair_coeff * * oxdna2/dh 0.1 0.2 0.815 - -# Langevin dynamics -fix 1 all nve/asphere -fix 2 all langevin ${T} ${T} 25.0 457145 angmom 10 -fix 2 all langevin 0.1 ${T} 25.0 457145 angmom 10 -fix 2 all langevin 0.1 0.1 25.0 457145 angmom 10 - -timestep 1e-4 - -#comm_style tiled -#fix 3 all balance 10000 1.1 rcb -comm_modify cutoff 2.5 - -#compute mol all chunk/atom molecule -#compute mychunk all vcm/chunk mol -#fix 4 all ave/time 10000 1 10000 c_mychunk[1] c_mychunk[2] c_mychunk[3] file vcm.txt mode vector - -#dump pos all xyz ${ofreq} traj.${number}.xyz - -compute quat all property/atom quatw quati quatj quatk -#dump quat all custom ${ofreq} quat.${number}.txt id c_quat[1] c_quat[2] c_quat[3] c_quat[4] -#dump_modify quat sort id -#dump_modify quat format line "%d %13.6le %13.6le %13.6le %13.6le" - -compute erot all erotate/asphere -compute ekin all ke -compute epot all pe -variable erot equal c_erot -variable ekin equal c_ekin -variable epot equal c_epot -variable etot equal c_erot+c_ekin+c_epot -fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes -fix 5 all print 10000 "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes - -dump out all custom ${ofreq} out.${number}.txt id mol type x y z ix iy iz c_quat[1] c_quat[2] c_quat[3] c_quat[4] vx vy vz -dump out all custom 10000 out.${number}.txt id mol type x y z ix iy iz c_quat[1] c_quat[2] c_quat[3] c_quat[4] vx vy vz -dump out all custom 10000 out.1.txt id mol type x y z ix iy iz c_quat[1] c_quat[2] c_quat[3] c_quat[4] vx vy vz -dump_modify out sort id -dump_modify out format line "%d %d %d %13.6le %13.6le %13.6le %d %d %d %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le " - -#restart 10000 config0_restart config1_restart - -run 100000 -Neighbor list info ... - update every 10 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 4.6389877 - ghost atom cutoff = 4.6389877 - binsize = 2.3194939, bins = 18 18 18 - 6 neighbor lists, perpetual/occasional/extra = 6 0 0 - (1) pair oxdna2/excv, perpetual - attributes: half, newton off - pair build: half/bin/newtoff - stencil: half/bin/3d/newtoff - bin: standard - (2) pair oxdna2/stk, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (3) pair oxdna2/hbond, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (4) pair oxdna2/xstk, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (5) pair oxdna2/coaxstk, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (6) pair oxdna2/dh, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none -WARNING: Communication cutoff adjusted to 4.638987723814632 (../comm.cpp:690) -0 ekin = 0 | erot = 0 | epot = -41.6285382417448 | etot = -41.6285382417448 -Per MPI rank memory allocation (min/avg/max) = 9.771 | 9.771 | 9.771 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 0 -1.6384018 0.037304147 -1.6010976 6.7769766e-05 -10000 ekin = 0.876675896491307 | erot = 3.01631310953192 | epot = -43.6949424313443 | etot = -39.8019534253211 -20000 ekin = 1.02178060459022 | erot = 1.54107635735041 | epot = -40.2257383206528 | etot = -37.6628813587121 -30000 ekin = 1.77819697871127 | erot = 2.67180081099997 | epot = -40.9840548186678 | etot = -36.5340570289565 -40000 ekin = 2.55095642638533 | erot = 2.97955929579275 | epot = -40.0756048400153 | etot = -34.5450891178372 -50000 ekin = 2.43321388920862 | erot = 3.63137266285959 | epot = -39.3718897377946 | etot = -33.3073031857264 -60000 ekin = 2.51123200110303 | erot = 3.95693243683571 | epot = -38.8877878920178 | etot = -32.4196234540791 -70000 ekin = 3.33444097207872 | erot = 4.12593683683079 | epot = -38.7679893452499 | etot = -31.3076115363404 -80000 ekin = 3.41969296989344 | erot = 3.46589964095079 | epot = -37.5712487729465 | etot = -30.6856561621023 -90000 ekin = 3.53106755106414 | erot = 3.40955821292295 | epot = -35.9319384430368 | etot = -28.9913126790497 -100000 ekin = 3.47860763041501 | erot = 3.95117534418391 | epot = -37.6128506757402 | etot = -30.1830677011413 - 100000 0.09276287 -1.4972391 0.050590991 -1.3128555 0.00017815014 -Loop time of 7.44606 on 1 procs for 100000 steps with 26 atoms - -Performance: 116034.458 tau/day, 13429.914 timesteps/s -99.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 | 6.5843 | 6.5843 | 6.5843 | 0.0 | 88.43 -Bond | 0.16149 | 0.16149 | 0.16149 | 0.0 | 2.17 -Neigh | 4.3e-05 | 4.3e-05 | 4.3e-05 | 0.0 | 0.00 -Comm | 0.022595 | 0.022595 | 0.022595 | 0.0 | 0.30 -Output | 0.001492 | 0.001492 | 0.001492 | 0.0 | 0.02 -Modify | 0.65313 | 0.65313 | 0.65313 | 0.0 | 8.77 -Other | | 0.02299 | | | 0.31 - -Nlocal: 26.0 ave 26.0 max 26.0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 0.0 ave 0.0 max 0.0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 299.0 ave 299.0 max 299.0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 299 -Ave neighs/atom = 11.5 -Ave special neighs/atom = 5.076923076923077 -Neighbor list builds = 2 -Dangerous builds = 0 - -#write_restart config.${number}.* - - -Total wall time: 0:00:07 diff --git a/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.30Jun20.duplex4.8type.g++4 b/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.30Jun20.duplex4.8type.g++4 deleted file mode 100644 index c8c3f748f9..0000000000 --- a/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.30Jun20.duplex4.8type.g++4 +++ /dev/null @@ -1,286 +0,0 @@ -LAMMPS (30 Jun 2020) -variable number equal 1 -variable ofreq equal 10000 -variable efreq equal 10000 - -variable ntype equal 8 - -variable T equal 0.1 - -units lj - -dimension 3 - -newton off - -boundary p p p - -atom_style hybrid bond ellipsoid -WARNING: Atom_style hybrid defines both pertype and peratom masses - both must be set, only peratom masses will be used (../atom_vec_hybrid.cpp:156) -atom_modify sort 0 1.0 - -# Pair interactions require lists of neighbours to be calculated -neighbor 1.0 bin -neigh_modify every 10 delay 0 check yes - -read_data data.duplex4.8type - orthogonal box = (-20 -20 -20) to (20 20 20) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 26 atoms - reading velocities ... - 26 velocities - 26 ellipsoids - scanning bonds ... - 2 = max bonds/atom - reading bonds ... - 24 bonds - 2 = max # of 1-2 neighbors - 2 = max # of 1-3 neighbors - 4 = max # of 1-4 neighbors - 6 = max # of special neighbors - special bonds CPU = 0.001 seconds - read_data CPU = 0.004 seconds -mass * 3.1575 # sets per-type mass if not in data file -set atom * mass 3.1575 # sets per-atom mass - 26 settings made for mass - -group all type 1 8 -26 atoms in group all - -# oxDNA bond interactions - FENE backbone -bond_style oxdna2/fene -bond_coeff * 2.0 0.25 0.7564 -special_bonds lj 0 1 1 - 2 = max # of 1-2 neighbors - 2 = max # of 1-3 neighbors - 4 = max # of 1-4 neighbors - 6 = max # of special neighbors - special bonds CPU = 0.000 seconds - -# oxDNA pair interactions -pair_style hybrid/overlay oxdna2/excv oxdna2/stk oxdna2/hbond oxdna2/xstk oxdna2/coaxstk oxdna2/dh -pair_coeff * * oxdna2/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32 -pair_coeff * * oxdna2/stk seqdep ${T} 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 -pair_coeff * * oxdna2/stk seqdep 0.1 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 -pair_coeff * * oxdna2/hbond seqdep 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 - -label loop -variable base loop ${ntype} -variable base loop 8 - variable basemod equal ${base}%4 - variable basemod equal 1%4 - if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" -variable comp equal ${base}+3 -variable comp equal 1+3 -pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 1 ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 1 4 oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 - if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" -next base -jump in.duplex4.8type loop -variable base loop ${ntype} -variable base loop 8 - variable basemod equal ${base}%4 - variable basemod equal 2%4 - if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" - if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" -variable comp equal ${base}+1 -variable comp equal 2+1 -pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 2 ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 2 3 oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -next base -jump in.duplex4.8type loop -variable base loop ${ntype} -variable base loop 8 - variable basemod equal ${base}%4 - variable basemod equal 3%4 - if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" - if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" -next base -jump in.duplex4.8type loop -variable base loop ${ntype} -variable base loop 8 - variable basemod equal ${base}%4 - variable basemod equal 4%4 - if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" - if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" -next base -jump in.duplex4.8type loop -variable base loop ${ntype} -variable base loop 8 - variable basemod equal ${base}%4 - variable basemod equal 5%4 - if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" -variable comp equal ${base}+3 -variable comp equal 5+3 -pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 5 ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 5 8 oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 - if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" -next base -jump in.duplex4.8type loop -variable base loop ${ntype} -variable base loop 8 - variable basemod equal ${base}%4 - variable basemod equal 6%4 - if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" - if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" -variable comp equal ${base}+1 -variable comp equal 6+1 -pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 6 ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 6 7 oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -next base -jump in.duplex4.8type loop -variable base loop ${ntype} -variable base loop 8 - variable basemod equal ${base}%4 - variable basemod equal 7%4 - if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" - if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" -next base -jump in.duplex4.8type loop -variable base loop ${ntype} -variable base loop 8 - variable basemod equal ${base}%4 - variable basemod equal 8%4 - if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" - if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" -next base -jump in.duplex4.8type loop - -pair_coeff * * oxdna2/xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68 -pair_coeff * * oxdna2/coaxstk 58.5 0.4 0.6 0.22 0.58 2.0 2.891592653589793 0.65 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 40.0 3.116592653589793 -pair_coeff * * oxdna2/dh ${T} 0.2 0.815 -pair_coeff * * oxdna2/dh 0.1 0.2 0.815 - -# Langevin dynamics -fix 1 all nve/asphere -fix 2 all langevin ${T} ${T} 25.0 457145 angmom 10 -fix 2 all langevin 0.1 ${T} 25.0 457145 angmom 10 -fix 2 all langevin 0.1 0.1 25.0 457145 angmom 10 - -timestep 1e-4 - -#comm_style tiled -#fix 3 all balance 10000 1.1 rcb -comm_modify cutoff 2.5 - -#compute mol all chunk/atom molecule -#compute mychunk all vcm/chunk mol -#fix 4 all ave/time 10000 1 10000 c_mychunk[1] c_mychunk[2] c_mychunk[3] file vcm.txt mode vector - -#dump pos all xyz ${ofreq} traj.${number}.xyz - -compute quat all property/atom quatw quati quatj quatk -#dump quat all custom ${ofreq} quat.${number}.txt id c_quat[1] c_quat[2] c_quat[3] c_quat[4] -#dump_modify quat sort id -#dump_modify quat format line "%d %13.6le %13.6le %13.6le %13.6le" - -compute erot all erotate/asphere -compute ekin all ke -compute epot all pe -variable erot equal c_erot -variable ekin equal c_ekin -variable epot equal c_epot -variable etot equal c_erot+c_ekin+c_epot -fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes -fix 5 all print 10000 "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes - -dump out all custom ${ofreq} out.${number}.txt id mol type x y z ix iy iz c_quat[1] c_quat[2] c_quat[3] c_quat[4] vx vy vz -dump out all custom 10000 out.${number}.txt id mol type x y z ix iy iz c_quat[1] c_quat[2] c_quat[3] c_quat[4] vx vy vz -dump out all custom 10000 out.1.txt id mol type x y z ix iy iz c_quat[1] c_quat[2] c_quat[3] c_quat[4] vx vy vz -dump_modify out sort id -dump_modify out format line "%d %d %d %13.6le %13.6le %13.6le %d %d %d %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le " - -#restart 10000 config0_restart config1_restart - -run 100000 -Neighbor list info ... - update every 10 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 4.6389877 - ghost atom cutoff = 4.6389877 - binsize = 2.3194939, bins = 18 18 18 - 6 neighbor lists, perpetual/occasional/extra = 6 0 0 - (1) pair oxdna2/excv, perpetual - attributes: half, newton off - pair build: half/bin/newtoff - stencil: half/bin/3d/newtoff - bin: standard - (2) pair oxdna2/stk, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (3) pair oxdna2/hbond, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (4) pair oxdna2/xstk, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (5) pair oxdna2/coaxstk, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (6) pair oxdna2/dh, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none -WARNING: Communication cutoff adjusted to 4.638987723814632 (../comm.cpp:690) -0 ekin = 0 | erot = 0 | epot = -41.6285382417448 | etot = -41.6285382417448 -Per MPI rank memory allocation (min/avg/max) = 9.756 | 9.813 | 9.871 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 0 -1.6384018 0.037304147 -1.6010976 6.7769766e-05 -10000 ekin = 0.705506935391957 | erot = 3.21864563172922 | epot = -44.0640899615318 | etot = -40.1399373944106 -20000 ekin = 1.16547426389222 | erot = 1.69259899672632 | epot = -41.827511978894 | etot = -38.9694387182755 -30000 ekin = 2.07592540045025 | erot = 2.81661265099434 | epot = -41.8258727293348 | etot = -36.9333346778902 -40000 ekin = 3.0352692177735 | erot = 2.43995587980307 | epot = -41.3155342467788 | etot = -35.8403091492022 -50000 ekin = 2.69044710203348 | erot = 2.86176633025683 | epot = -40.5544750556414 | etot = -35.0022616233511 -60000 ekin = 2.90956639769978 | erot = 2.84679944563592 | epot = -39.7474408128141 | etot = -33.9910749694784 -70000 ekin = 1.89941118514544 | erot = 3.71508585194422 | epot = -38.9575890625426 | etot = -33.3430920254529 -80000 ekin = 2.43472912058895 | erot = 3.11589280920166 | epot = -39.844809532279 | etot = -34.2941876024883 -90000 ekin = 2.3759389593227 | erot = 3.25835921096947 | epot = -38.913072246407 | etot = -33.2787740761149 -100000 ekin = 3.23901515322217 | erot = 3.3464944524431 | epot = -38.6302041314432 | etot = -32.044694525778 - 100000 0.086373737 -1.5432369 0.057459797 -1.3611996 7.7958353e-05 -Loop time of 6.15993 on 4 procs for 100000 steps with 26 atoms - -Performance: 140261.437 tau/day, 16233.963 timesteps/s -99.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 | 0.049533 | 2.573 | 5.3124 | 157.6 | 41.77 -Bond | 0.007709 | 0.055244 | 0.10383 | 20.2 | 0.90 -Neigh | 1.8e-05 | 1.875e-05 | 1.9e-05 | 0.0 | 0.00 -Comm | 0.32774 | 3.0114 | 5.4815 | 142.5 | 48.89 -Output | 0.000925 | 0.0010595 | 0.00137 | 0.6 | 0.02 -Modify | 0.016369 | 0.18492 | 0.37491 | 39.3 | 3.00 -Other | | 0.3343 | | | 5.43 - -Nlocal: 6.5 ave 14.0 max 0.0 min -Histogram: 2 0 0 0 0 0 0 0 1 1 -Nghost: 18.5 ave 24.0 max 12.0 min -Histogram: 1 1 0 0 0 0 0 0 0 2 -Neighs: 113.75 ave 239.0 max 0.0 min -Histogram: 2 0 0 0 0 0 0 0 0 2 - -Total # of neighbors = 455 -Ave neighs/atom = 17.5 -Ave special neighs/atom = 5.076923076923077 -Neighbor list builds = 1 -Dangerous builds = 0 - -#write_restart config.${number}.* - - -Total wall time: 0:00:06 diff --git a/examples/PACKAGES/cgdna/examples/oxRNA2/duplex2/data.duplex2 b/examples/PACKAGES/cgdna/examples/oxRNA2/duplex2/data.duplex2 new file mode 100644 index 0000000000..8c985708ca --- /dev/null +++ b/examples/PACKAGES/cgdna/examples/oxRNA2/duplex2/data.duplex2 @@ -0,0 +1,91 @@ +LAMMPS data file via write_data, version 27 May 2021 + +16 atoms +4 atom types +13 bonds +1 bond types +16 ellipsoids + +-20 20 xlo xhi +-20 20 ylo yhi +-20 20 zlo zhi + +Masses + +1 3.1575 +2 3.1575 +3 3.1575 +4 3.1575 + +Atoms # hybrid + +1 1 -0.6133472972454725 -0.657478171669766 0.36065226351201896 1 1 3.7269849963023267 0 0 0 +2 2 -0.45262764247356363 -1.0030650534345913 0.7258693379233347 1 1 3.7269849963023267 0 0 0 +3 3 -0.0988342108522641 -1.239775807128057 1.069462285786363 1 1 3.7269849963023267 0 0 0 +4 4 0.2937771854299732 -1.2579750924899842 1.4258916086606965 1 1 3.7269849963023267 0 0 0 +5 1 0.6286896795685137 -1.0183343395119744 1.7689346339672825 1 1 3.7269849963023267 0 0 0 +6 2 0.7901522619067926 -0.6766341805565266 2.1540160705495754 1 1 3.7269849963023267 0 0 0 +7 3 0.7115777184886863 -0.40195579325143455 2.569568683291525 1 1 3.7269849963023267 0 0 0 +8 4 0.46973310377005234 -0.30251697967107033 3.0668007117519216 1 1 3.7269849963023267 0 0 0 +9 1 0.4056113349449848 -1.443775499211898 3.0590726503341124 2 1 3.7269849963023267 0 0 0 +10 2 -0.032028429059287516 -1.2947520971164723 2.7201071151392187 2 1 3.7269849963023267 0 0 0 +11 3 -0.31613855112314065 -0.908414175906161 2.4125207871782006 2 1 3.7269849963023267 0 0 0 +12 4 -0.38939391251821 -0.4866605488242819 2.006177777000426 2 1 3.7269849963023267 0 0 0 +13 1 -0.06232643040853296 -0.07155965522127403 1.5593206052730733 3 1 3.7269849963023267 0 0 0 +14 2 0.17884090390913376 -0.05516721349427172 1.021273149730912 3 1 3.7269849963023267 0 0 0 +15 3 0.4513439961906 -0.23795607383274572 0.5957328539615993 3 1 3.7269849963023267 0 0 0 +16 4 0.5077649359807965 -0.5565625134533538 0.1655875784458841 3 1 3.7269849963023267 0 0 0 + +Velocities + +1 0.05386890022865587 0.02262922525602673 0.24882291144736746 0.1772010258006941 -0.29588531700001014 -0.2624137503614725 +2 -0.03995003075629463 0.26969511063701984 -0.18986454548195664 -0.030614539375968176 -0.11769518931480599 0.040074702426473215 +3 -0.20784535295201376 -0.13628722357673043 -0.06062477950201746 -0.03676034584820381 -0.06308707793373186 -0.14798601576087625 +4 -0.23969824181316998 -0.5624721730878831 0.032474422905036715 -0.16523645965016515 0.2860623077030974 0.33543519753105877 +5 -0.16114897356828353 -0.22889697470760145 -0.13553324962649563 0.07151030852881342 -0.09415592891043179 0.13422881539312292 +6 -0.04701706588477693 0.19216715585110036 0.14588242791297215 0.09218622989776322 -0.5640128930702024 0.09287105657777776 +7 0.05098438305112513 -0.038459555522009595 -0.14244196285749675 0.3479046835475834 0.4244922695910593 -0.13582882604358357 +8 0.37827971348411926 -0.04953992506010833 0.1626392045834847 0.0442887659636129 0.07868414126013584 -0.12713600444325032 +9 0.04912038408665491 0.041260647318716696 0.012223856334495234 0.03282916621721876 -0.00012670547095256 0.155978785417696 +10 0.1939216183073483 0.11075235485381942 -0.0405050516019971 -0.17008135001813812 -0.4563093565840761 -0.30318513627039506 +11 -0.351360733920646 -0.18822419067535692 0.36147938199051305 -0.3708221604627426 -0.49108381825941216 0.09435948331955418 +12 -0.1188642917357977 0.22355282456551884 0.009265586122144348 -0.28230100188858365 0.10276485660828892 0.10175233476780697 +13 -0.1446616296238799 -0.11552059909787235 0.1331477187595642 -0.25498721890374343 0.2754663721641154 0.05806416868630132 +14 0.051547120035862544 -0.36611026510775635 -0.06630782880801242 -0.11999847173316518 0.0684476892288605 0.2161595932308759 +15 -0.20214244962091388 0.23341226933559608 0.008133374252278069 -0.17013911124135248 0.01870292260510287 -0.2682954134361106 +16 -0.19202131162868008 -0.08105295741355378 -0.0469350810885074 0.017332107652647588 -0.32876588862807693 0.1085334141225924 + +Bonds + +1 1 1 2 +2 1 2 3 +3 1 3 4 +4 1 4 5 +5 1 5 6 +6 1 6 7 +7 1 7 8 +8 1 9 10 +9 1 10 11 +10 1 11 12 +11 1 13 14 +12 1 14 15 +13 1 15 16 + +Ellipsoids + +1 1.173984503142341 1.173984503142341 1.173984503142341 0.9964752158482045 -0.053253555733239796 0.011391163807102514 -0.06380787090289707 +2 1.173984503142341 1.173984503142341 1.173984503142341 0.9369923833143513 0.11220716044648564 0.06732538499716349 0.3239168400846305 +3 1.173984503142341 1.173984503142341 1.173984503142341 0.797964932091827 0.14473096354527873 0.18374142699366386 0.5554673737937029 +4 1.173984503142341 1.173984503142341 1.173984503142341 0.5660864821344559 0.14688275499481052 0.09873742533340191 0.8051226439917721 +5 1.173984503142341 1.173984503142341 1.173984503142341 0.2533023785125306 0.12062313161679827 0.08583012223905846 0.9559922359911086 +6 1.173984503142341 1.173984503142341 1.173984503142341 -0.03855807343534716 0.08405913137017908 0.02236505169306371 0.9954632800204194 +7 1.173984503142341 1.173984503142341 1.173984503142341 -0.45592844330248017 0.1004550065061007 -0.052524745294758785 0.8827679181910482 +8 1.173984503142341 1.173984503142341 1.173984503142341 0.768021221540491 -0.009582139884533599 0.03658677589040892 -0.63930665074644 +9 1.173984503142341 1.173984503142341 1.173984503142341 -0.23299975754512345 0.688686395231341 0.6747873944883376 -0.12682324016841584 +10 1.173984503142341 1.173984503142341 1.173984503142341 -0.24662061871907232 0.8744456399178389 0.39370836087823996 -0.13970261209395163 +11 1.173984503142341 1.173984503142341 1.173984503142341 -0.087475900850909 0.977367602388229 0.14493549113095577 -0.12686307572668784 +12 1.173984503142341 1.173984503142341 1.173984503142341 -0.03181169300779214 0.9634374984140112 -0.2442360692534371 -0.10547485630879185 +13 1.173984503142341 1.173984503142341 1.173984503142341 -0.032786070696572266 0.7922941528811777 -0.6084214170523915 -0.03191282109962717 +14 1.173984503142341 1.173984503142341 1.173984503142341 0.047188686288341455 0.6316396208287698 -0.7737349519945348 0.011783095844627799 +15 1.173984503142341 1.173984503142341 1.173984503142341 -0.05869980642620335 -0.34229358203414423 0.9376740835056508 0.012519965878508689 +16 1.173984503142341 1.173984503142341 1.173984503142341 -0.08582818143150042 0.0008707732197394232 0.9939540921464659 -0.0684691735853161 diff --git a/examples/PACKAGES/cgdna/examples/oxRNA2/duplex4/in.duplex4 b/examples/PACKAGES/cgdna/examples/oxRNA2/duplex2/in.duplex2 similarity index 67% rename from examples/PACKAGES/cgdna/examples/oxRNA2/duplex4/in.duplex4 rename to examples/PACKAGES/cgdna/examples/oxRNA2/duplex2/in.duplex2 index 5d5e2cd177..09061269ff 100644 --- a/examples/PACKAGES/cgdna/examples/oxRNA2/duplex4/in.duplex4 +++ b/examples/PACKAGES/cgdna/examples/oxRNA2/duplex2/in.duplex2 @@ -1,7 +1,8 @@ -variable number equal 4 +variable number equal 2 variable ofreq equal 1000 variable efreq equal 1000 variable T equal 0.1 +variable rhos equal 0.5 units lj @@ -11,14 +12,14 @@ newton off boundary p p p -atom_style hybrid bond ellipsoid +atom_style hybrid bond ellipsoid oxdna atom_modify sort 0 1.0 # Pair interactions require lists of neighbours to be calculated -neighbor 1.0 bin +neighbor 2.0 bin neigh_modify every 1 delay 0 check yes -read_data data.duplex4 +read_data data.duplex2 set atom * mass 3.1575 @@ -31,38 +32,27 @@ special_bonds lj 0 1 1 # oxRNA2 pair interactions pair_style hybrid/overlay oxrna2/excv oxrna2/stk oxrna2/hbond oxrna2/xstk oxrna2/coaxstk oxrna2/dh - pair_coeff * * oxrna2/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32 pair_coeff * * oxrna2/stk seqdep ${T} 1.40206 2.77 6.0 0.43 0.93 0.35 0.78 0.9 0 0.95 0.9 0 0.95 1.3 0 0.8 1.3 0 0.8 2.0 0.65 2.0 0.65 pair_coeff * * oxrna2/hbond seqdep 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 pair_coeff 1 4 oxrna2/hbond seqdep 0.870439 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 pair_coeff 2 3 oxrna2/hbond seqdep 0.870439 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 pair_coeff 3 4 oxrna2/hbond seqdep 0.870439 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff * * oxrna2/xstk 59.9626 0.5 0.6 0.42 0.58 2.25 0.505 0.58 1.7 1.266 0.68 1.7 1.266 0.68 1.7 0.309 0.68 1.7 0.309 0.68 +pair_coeff * * oxrna2/xstk 59.9626 0.5 0.6 0.42 0.58 2.25 0.505 0.58 1.7 1.266 0.68 1.7 1.266 0.68 1.7 0.309 0.68 1.7 0.309 0.68 pair_coeff * * oxrna2/coaxstk 80 0.5 0.6 0.42 0.58 2.0 2.592 0.65 1.3 0.151 0.8 0.9 0.685 0.95 0.9 0.685 0.95 2.0 -0.65 2.0 -0.65 -pair_coeff * * oxrna2/dh ${T} 0.5 1.02455 +pair_coeff * * oxrna2/dh ${T} ${rhos} 1.02455 # NVE ensemble -#fix 1 all nve/dotc/langevin 0.1 0.1 0.03 457145 angmom 10 -#fix 1 all nve/dot fix 1 all nve/asphere +#fix 2 all langevin ${T} ${T} 2.5 457145 angmom 10 timestep 1e-5 #comm_style tiled -#fix 3 all balance 10000 1.1 rcb -comm_modify cutoff 2.5 +fix 3 all balance 1000 1.03 shift xyz 10 1.03 +comm_modify cutoff 3.8 -#compute mol all chunk/atom molecule -#compute mychunk all vcm/chunk mol -#fix 4 all ave/time 10000 1 10000 c_mychunk[1] c_mychunk[2] c_mychunk[3] file vcm.txt mode vector - -#dump pos all xyz ${ofreq} traj.${number}.xyz - -#compute quat all property/atom quatw quati quatj quatk -#dump quat all custom ${ofreq} quat.${number}.txt id c_quat[1] c_quat[2] c_quat[3] c_quat[4] -#dump_modify quat sort id -#dump_modify quat format line "%d %13.6le %13.6le %13.6le %13.6le" +compute quat all property/atom quatw quati quatj quatk compute erot all erotate/asphere compute ekin all ke @@ -73,10 +63,10 @@ variable epot equal c_epot variable etot equal c_erot+c_ekin+c_epot fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes -#dump out all custom ${ofreq} out.${number}.txt id x y z vx vy vz fx fy fz tqx tqy tqz -#dump_modify out sort id -#dump_modify out format line "%d %13.9f %13.9f %13.9f %13.9f %13.9f %13.9f %13.9f %13.9f %13.9f %13.9f %13.9f %13.9f" +dump out all custom ${ofreq} out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump_modify out sort id +dump_modify out format line "%d %d %d %22.15le %22.15le %22.15le %d %d %d %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le" run 1000000 -#write_restart config.${number}.* +write_data last_config.${number}.* nocoeff diff --git a/examples/PACKAGES/cgdna/examples/oxRNA2/duplex2/log.27May21.duplex2.g++.1 b/examples/PACKAGES/cgdna/examples/oxRNA2/duplex2/log.27May21.duplex2.g++.1 new file mode 100644 index 0000000000..a3fe688104 --- /dev/null +++ b/examples/PACKAGES/cgdna/examples/oxRNA2/duplex2/log.27May21.duplex2.g++.1 @@ -0,0 +1,1182 @@ +LAMMPS (27 May 2021) +variable number equal 2 +variable ofreq equal 1000 +variable efreq equal 1000 +variable T equal 0.1 +variable rhos equal 0.5 + +units lj + +dimension 3 + +newton off + +boundary p p p + +atom_style hybrid bond ellipsoid oxdna +WARNING: Atom style hybrid defines both, per-type and per-atom masses; both must be set, but only per-atom masses will be used (../atom_vec_hybrid.cpp:157) +atom_modify sort 0 1.0 + +# Pair interactions require lists of neighbours to be calculated +neighbor 2.0 bin +neigh_modify every 1 delay 0 check yes + +read_data data.duplex2 +Reading data file ... + orthogonal box = (-20.000000 -20.000000 -20.000000) to (20.000000 20.000000 20.000000) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 16 atoms + reading velocities ... + 16 velocities + scanning bonds ... + 2 = max bonds/atom + 16 ellipsoids + reading bonds ... +Setting oxDNA 3'->5' bond directionality ... + 13 bonds +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 + 2 = max # of 1-3 neighbors + 4 = max # of 1-4 neighbors + 6 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.003 seconds + +set atom * mass 3.1575 +Setting atom values ... + 16 settings made for mass + +group all type 1 4 +16 atoms in group all + +# oxRNA2 bond interactions - FENE backbone +bond_style oxrna2/fene +bond_coeff * 2.0 0.25 0.761070781051 +special_bonds lj 0 1 1 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 1 1 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 2 = max # of 1-3 neighbors + 4 = max # of 1-4 neighbors + 6 = max # of special neighbors + special bonds CPU = 0.000 seconds + +# oxRNA2 pair interactions +pair_style hybrid/overlay oxrna2/excv oxrna2/stk oxrna2/hbond oxrna2/xstk oxrna2/coaxstk oxrna2/dh +pair_coeff * * oxrna2/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32 +pair_coeff * * oxrna2/stk seqdep ${T} 1.40206 2.77 6.0 0.43 0.93 0.35 0.78 0.9 0 0.95 0.9 0 0.95 1.3 0 0.8 1.3 0 0.8 2.0 0.65 2.0 0.65 +pair_coeff * * oxrna2/stk seqdep 0.1 1.40206 2.77 6.0 0.43 0.93 0.35 0.78 0.9 0 0.95 0.9 0 0.95 1.3 0 0.8 1.3 0 0.8 2.0 0.65 2.0 0.65 +pair_coeff * * oxrna2/hbond seqdep 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 1 4 oxrna2/hbond seqdep 0.870439 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 2 3 oxrna2/hbond seqdep 0.870439 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 3 4 oxrna2/hbond seqdep 0.870439 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff * * oxrna2/xstk 59.9626 0.5 0.6 0.42 0.58 2.25 0.505 0.58 1.7 1.266 0.68 1.7 1.266 0.68 1.7 0.309 0.68 1.7 0.309 0.68 +pair_coeff * * oxrna2/coaxstk 80 0.5 0.6 0.42 0.58 2.0 2.592 0.65 1.3 0.151 0.8 0.9 0.685 0.95 0.9 0.685 0.95 2.0 -0.65 2.0 -0.65 +pair_coeff * * oxrna2/dh ${T} ${rhos} 1.02455 +pair_coeff * * oxrna2/dh 0.1 ${rhos} 1.02455 +pair_coeff * * oxrna2/dh 0.1 0.5 1.02455 + +# NVE ensemble +fix 1 all nve/asphere +#fix 2 all langevin ${T} ${T} 2.5 457145 angmom 10 + +timestep 1e-5 + +#comm_style tiled +fix 3 all balance 1000 1.03 shift xyz 10 1.03 +comm_modify cutoff 3.8 + +compute quat all property/atom quatw quati quatj quatk + +compute erot all erotate/asphere +compute ekin all ke +compute epot all pe +variable erot equal c_erot +variable ekin equal c_ekin +variable epot equal c_epot +variable etot equal c_erot+c_ekin+c_epot +fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes +fix 5 all print 1000 "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes + +dump out all custom ${ofreq} out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump out all custom 1000 out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump out all custom 1000 out.2.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump_modify out sort id +dump_modify out format line "%d %d %d %22.15le %22.15le %22.15le %d %d %d %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le" + +run 1000000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 4.3014979 + ghost atom cutoff = 4.3014979 + binsize = 2.150749, bins = 19 19 19 + 5 neighbor lists, perpetual/occasional/extra = 5 0 0 + (1) pair oxrna2/excv, perpetual + attributes: half, newton off + pair build: half/bin/newtoff + stencil: full/bin/3d + bin: standard + (2) pair oxrna2/hbond, perpetual, copy from (1) + attributes: half, newton off + pair build: copy + stencil: none + bin: none + (3) pair oxrna2/xstk, perpetual, copy from (1) + attributes: half, newton off + pair build: copy + stencil: none + bin: none + (4) pair oxrna2/coaxstk, perpetual, copy from (1) + attributes: half, newton off + pair build: copy + stencil: none + bin: none + (5) pair oxrna2/dh, perpetual, copy from (1) + attributes: half, newton off + pair build: copy + stencil: none + bin: none +WARNING: Communication cutoff adjusted to 4.301497916929199 (../comm.cpp:739) +0 ekin = 2.70475393009871 | erot = 2.80172072918779 | epot = -11.1349465280231 | etot = -5.62847186873664 +Per MPI rank memory allocation (min/avg/max) = 9.597 | 9.597 | 9.597 Mbytes +Step Temp E_pair E_mol TotEng Press Volume + 0 0.12021129 -0.7299505 0.034016337 -0.52688704 5.1214421e-05 64000 +1000 ekin = 2.74425239815418 | erot = 2.79065458610894 | epot = -11.163378852689 | etot = -5.62847186842592 +2000 ekin = 2.78841691867037 | erot = 2.77992540099535 | epot = -11.1968141877249 | etot = -5.62847186805919 +3000 ekin = 2.83938215410024 | erot = 2.77185117591642 | epot = -11.2397051978033 | etot = -5.62847186778665 +4000 ekin = 2.89876217830266 | erot = 2.76816783884241 | epot = -11.295401884792 | etot = -5.62847186764698 +5000 ekin = 2.96742170720772 | erot = 2.76919345829433 | epot = -11.3650870331989 | etot = -5.62847186769686 +6000 ekin = 3.04563007371043 | erot = 2.77376672268246 | epot = -11.4478686641706 | etot = -5.6284718677777 +7000 ekin = 3.13407886898542 | erot = 2.78065913591454 | epot = -11.5432098726293 | etot = -5.62847186772937 +8000 ekin = 3.23400863287747 | erot = 2.78938863934855 | epot = -11.651869139893 | etot = -5.628471867667 +9000 ekin = 3.34625998930262 | erot = 2.80019523753782 | epot = -11.7749270943235 | etot = -5.62847186748305 +10000 ekin = 3.47220350616338 | erot = 2.81464622815281 | epot = -11.9153216015116 | etot = -5.62847186719543 +11000 ekin = 3.61341090096022 | erot = 2.83541090219848 | epot = -12.0772936703878 | etot = -5.62847186722912 +12000 ekin = 3.76971728921065 | erot = 2.8651661044909 | epot = -12.2633552607298 | etot = -5.62847186702824 +13000 ekin = 3.9410557771447 | erot = 2.90597306806356 | epot = -12.4755007121564 | etot = -5.62847186694816 +14000 ekin = 4.1273074489676 | erot = 2.95952862137382 | epot = -12.7153079373022 | etot = -5.62847186696076 +15000 ekin = 4.32776706381553 | erot = 3.02701108512253 | epot = -12.9832500158852 | etot = -5.62847186694718 +16000 ekin = 4.54139695680688 | erot = 3.10924468066181 | epot = -13.2791135046204 | etot = -5.62847186715173 +17000 ekin = 4.76575661763827 | erot = 3.20604355373095 | epot = -13.60027203892 | etot = -5.62847186755078 +18000 ekin = 4.99700491214688 | erot = 3.31611869568271 | epot = -13.9415954758898 | etot = -5.62847186806021 +19000 ekin = 5.23048108112194 | erot = 3.43700077146765 | epot = -14.2959537213472 | etot = -5.62847186875764 +20000 ekin = 5.46074742513061 | erot = 3.56463156086408 | epot = -14.6538508556014 | etot = -5.62847186960667 +21000 ekin = 5.68087058007138 | erot = 3.6925677668172 | epot = -15.0019102179231 | etot = -5.62847187103448 +22000 ekin = 5.88327619983881 | erot = 3.81252322503562 | epot = -15.3242712967755 | etot = -5.62847187190108 +23000 ekin = 6.06249979951993 | erot = 3.91720950057677 | epot = -15.6081811728147 | etot = -5.62847187271797 +24000 ekin = 6.21449712377439 | erot = 4.00104081543187 | epot = -15.8440098121104 | etot = -5.62847187290417 +25000 ekin = 6.33853277809256 | erot = 4.06184542619888 | epot = -16.0288500769828 | etot = -5.62847187269139 +26000 ekin = 6.43627737187013 | erot = 4.10076278430851 | epot = -16.1655120283938 | etot = -5.62847187221521 +27000 ekin = 6.51092447972029 | erot = 4.12134483746817 | epot = -16.2607411888241 | etot = -5.62847187163564 +28000 ekin = 6.56622100976686 | erot = 4.12827111510824 | epot = -16.3229639959506 | etot = -5.6284718710755 +29000 ekin = 6.60587340002397 | erot = 4.12622173833907 | epot = -16.3605670089492 | etot = -5.62847187058613 +30000 ekin = 6.63335580501832 | erot = 4.11921545444659 | epot = -16.3810431296794 | etot = -5.62847187021445 +31000 ekin = 6.65211888589275 | erot = 4.10999678317537 | epot = -16.3905875389834 | etot = -5.6284718699153 +32000 ekin = 6.66584763664878 | erot = 4.10024297795107 | epot = -16.3945624842072 | etot = -5.6284718696074 +33000 ekin = 6.67923227191034 | erot = 4.09129207413372 | epot = -16.398996215263 | etot = -5.62847186921898 +34000 ekin = 6.69756137216837 | erot = 4.08414768607671 | epot = -16.4101809271347 | etot = -5.62847186888963 +35000 ekin = 6.72589628312087 | erot = 4.07950228497955 | epot = -16.4338704366878 | etot = -5.62847186858736 +36000 ekin = 6.76908557113719 | erot = 4.07778615492117 | epot = -16.4753435944361 | etot = -5.62847186837779 +37000 ekin = 6.83097506213407 | erot = 4.07899014040672 | epot = -16.5384370708783 | etot = -5.62847186833747 +38000 ekin = 6.91354703253175 | erot = 4.08242106390425 | epot = -16.6244399649597 | etot = -5.62847186852366 +39000 ekin = 7.01626065739836 | erot = 4.08652171942794 | epot = -16.7312542457771 | etot = -5.62847186895078 +40000 ekin = 7.13573792258332 | erot = 4.08884404540015 | epot = -16.8530538375758 | etot = -5.62847186959231 +41000 ekin = 7.26614194134516 | erot = 4.08627042537781 | epot = -16.9808842370343 | etot = -5.62847187031131 +42000 ekin = 7.40051154120589 | erot = 4.07546023443119 | epot = -17.1044436466277 | etot = -5.6284718709906 +43000 ekin = 7.5315743714369 | erot = 4.05344655359662 | epot = -17.2134927965849 | etot = -5.62847187155142 +44000 ekin = 7.65268317567644 | erot = 4.01819177227261 | epot = -17.2993468198234 | etot = -5.62847187187434 +45000 ekin = 7.75845343306886 | erot = 3.96898510895805 | epot = -17.3559104142066 | etot = -5.62847187217966 +46000 ekin = 7.84504377034637 | erot = 3.9045490306483 | epot = -17.3780646733318 | etot = -5.62847187233708 +47000 ekin = 7.91002390820626 | erot = 3.82478596555235 | epot = -17.3632817459108 | etot = -5.62847187215216 +48000 ekin = 7.95195705456502 | erot = 3.73154439390043 | epot = -17.3119733204129 | etot = -5.62847187194745 +49000 ekin = 7.97001825706863 | erot = 3.62752007295082 | epot = -17.2260102016185 | etot = -5.62847187159907 +50000 ekin = 7.96375756700425 | erot = 3.51726958365141 | epot = -17.1094990215452 | etot = -5.62847187088955 +51000 ekin = 7.93280761300434 | erot = 3.40827188497866 | epot = -16.9695513688031 | etot = -5.62847187082008 +52000 ekin = 7.87656811744185 | erot = 3.30207418532559 | epot = -16.8071141735586 | etot = -5.62847187079121 +53000 ekin = 7.795310125419 | erot = 3.1983998481543 | epot = -16.6221818441147 | etot = -5.62847187054139 +54000 ekin = 7.68952609570327 | erot = 3.09980185481832 | epot = -16.4177998208245 | etot = -5.62847187030293 +55000 ekin = 7.55966222141087 | erot = 3.00897426989542 | epot = -16.1971083614499 | etot = -5.62847187014361 +56000 ekin = 7.4059412450799 | erot = 2.92802865182262 | epot = -15.9624417669772 | etot = -5.62847187007467 +57000 ekin = 7.22816598141979 | erot = 2.85836584281792 | epot = -15.7150036943479 | etot = -5.62847187011019 +58000 ekin = 7.02573051397593 | erot = 2.80066522322033 | epot = -15.4548676074193 | etot = -5.62847187022304 +59000 ekin = 6.80455077165106 | erot = 2.75651944712028 | epot = -15.1895420860964 | etot = -5.62847186732507 +60000 ekin = 6.57760251691499 | erot = 2.72731501678731 | epot = -14.9333893991692 | etot = -5.62847186546688 +61000 ekin = 5.9988405319001 | erot = 2.65010269791697 | epot = -14.2774150331152 | etot = -5.62847180329812 +62000 ekin = 5.82217958652213 | erot = 2.65058478195178 | epot = -14.1012361774604 | etot = -5.62847180898654 +63000 ekin = 6.00993174210244 | erot = 2.71143483466418 | epot = -14.3498384845184 | etot = -5.62847190775179 +64000 ekin = 5.85096985050363 | erot = 2.71173917624734 | epot = -14.1911809366075 | etot = -5.6284719098565 +65000 ekin = 5.6795980144273 | erot = 2.70731630130173 | epot = -14.0153862253963 | etot = -5.62847190966731 +66000 ekin = 5.49812382731701 | erot = 2.69646895132523 | epot = -13.8230646880631 | etot = -5.6284719094209 +67000 ekin = 5.31011188753142 | erot = 2.67901331172422 | epot = -13.6175971082583 | etot = -5.62847190900269 +68000 ekin = 5.11964229582584 | erot = 2.6562219727344 | epot = -13.4043361770527 | etot = -5.62847190849249 +69000 ekin = 4.93067975207848 | erot = 2.63014135225734 | epot = -13.189293012493 | etot = -5.62847190815717 +70000 ekin = 4.7469738661748 | erot = 2.60347312706346 | epot = -12.9789189008751 | etot = -5.6284719076368 +71000 ekin = 4.57222133259563 | erot = 2.5797158979897 | epot = -12.7804091377444 | etot = -5.62847190715907 +72000 ekin = 4.40959648507777 | erot = 2.5622829592253 | epot = -12.6003513510616 | etot = -5.62847190675855 +73000 ekin = 4.261700095739 | erot = 2.55406076080147 | epot = -12.4442327629949 | etot = -5.62847190645442 +74000 ekin = 4.13052949790815 | erot = 2.55713155841199 | epot = -12.3161329625866 | etot = -5.62847190626649 +75000 ekin = 4.0158819282887 | erot = 2.56608801434103 | epot = -12.2104419139898 | etot = -5.62847197136009 +76000 ekin = 3.95904625854752 | erot = 2.44184942386052 | epot = -12.0293675901711 | etot = -5.62847190776301 +77000 ekin = 4.02755960266358 | erot = 2.46007159499075 | epot = -12.1161031098039 | etot = -5.6284719121496 +78000 ekin = 3.9878543994381 | erot = 2.49596945534626 | epot = -12.1122957670966 | etot = -5.62847191231222 +79000 ekin = 3.96575767721423 | erot = 2.54200842335473 | epot = -12.1362380131154 | etot = -5.62847191254644 +80000 ekin = 3.95961954869549 | erot = 2.59604589435614 | epot = -12.1841373558849 | etot = -5.62847191283329 +81000 ekin = 3.96734100032337 | erot = 2.65577062232368 | epot = -12.2515835357817 | etot = -5.62847191313468 +82000 ekin = 3.98651997822116 | erot = 2.71892569307098 | epot = -12.333917584723 | etot = -5.62847191343086 +83000 ekin = 4.01459300302737 | erot = 2.78352190390212 | epot = -12.4265868206359 | etot = -5.62847191370646 +84000 ekin = 4.04956210608545 | erot = 2.84796629664432 | epot = -12.5260003165345 | etot = -5.62847191380469 +85000 ekin = 4.09049341026859 | erot = 2.91104365381114 | epot = -12.630008978118 | etot = -5.62847191403825 +86000 ekin = 4.13484812560041 | erot = 2.97201165419102 | epot = -12.7353316940204 | etot = -5.62847191422894 +87000 ekin = 4.18003829184646 | erot = 3.03078479878299 | epot = -12.8392950049954 | etot = -5.6284719143659 +88000 ekin = 4.22360704724732 | erot = 3.08796574000335 | epot = -12.9400447017002 | etot = -5.62847191444958 +89000 ekin = 4.26326024607322 | erot = 3.14481288279498 | epot = -13.0365450433359 | etot = -5.62847191446774 +90000 ekin = 4.29588111790616 | erot = 3.20341713777027 | epot = -13.1277701703301 | etot = -5.62847191465365 +91000 ekin = 4.31697784577813 | erot = 3.26736040230169 | epot = -13.2128101626458 | etot = -5.62847191456593 +92000 ekin = 4.32507837347579 | erot = 3.33931601944573 | epot = -13.2928663075902 | etot = -5.62847191466873 +93000 ekin = 4.31872212432196 | erot = 3.4203654191679 | epot = -13.367559458178 | etot = -5.62847191468809 +94000 ekin = 4.29660005793293 | erot = 3.51205694754416 | epot = -13.4371289201541 | etot = -5.628471914677 +95000 ekin = 4.25789021838842 | erot = 3.61606475666855 | epot = -13.502426889667 | etot = -5.62847191461008 +96000 ekin = 4.202536619265 | erot = 3.73412422729675 | epot = -13.5651327610313 | etot = -5.62847191446956 +97000 ekin = 4.13146529060015 | erot = 3.86803037439311 | epot = -13.6279675793419 | etot = -5.62847191434862 +98000 ekin = 4.04669071975352 | erot = 4.01885670334744 | epot = -13.6940193371953 | etot = -5.62847191409434 +99000 ekin = 3.95128630061895 | erot = 4.18772840013478 | epot = -13.7674866145626 | etot = -5.62847191380887 +100000 ekin = 3.84921784883058 | erot = 4.37558821791295 | epot = -13.8532779802874 | etot = -5.6284719135439 +101000 ekin = 3.74501223923284 | erot = 4.58258429231803 | epot = -13.9560684449145 | etot = -5.62847191336366 +102000 ekin = 3.64330024870551 | erot = 4.80764134110135 | epot = -14.0794135031373 | etot = -5.62847191333048 +103000 ekin = 3.54831662006251 | erot = 5.04811575607568 | epot = -14.2249042896175 | etot = -5.62847191347927 +104000 ekin = 3.46349772064904 | erot = 5.29960820358518 | epot = -14.3915778382037 | etot = -5.62847191396945 +105000 ekin = 3.39136254536234 | erot = 5.55507704360061 | epot = -14.5749115034251 | etot = -5.62847191446211 +106000 ekin = 3.33356403744371 | erot = 5.80718759325009 | epot = -14.769223545484 | etot = -5.62847191479015 +107000 ekin = 3.29209861353664 | erot = 6.0490668738683 | epot = -14.9696374027455 | etot = -5.62847191534052 +108000 ekin = 3.26748487341077 | erot = 6.27418243659792 | epot = -15.170139225863 | etot = -5.62847191585429 +109000 ekin = 3.25930506886577 | erot = 6.4758541724441 | epot = -15.3636311580692 | etot = -5.62847191675935 +110000 ekin = 3.26568272829079 | erot = 6.64602097208024 | epot = -15.5401756176986 | etot = -5.62847191732761 +111000 ekin = 3.28520059172608 | erot = 6.77857539600436 | epot = -15.6922479055269 | etot = -5.62847191779651 +112000 ekin = 3.31659315707429 | erot = 6.86862760564071 | epot = -15.8136926809252 | etot = -5.62847191821021 +113000 ekin = 3.35860144230931 | erot = 6.91335224014943 | epot = -15.9004256006577 | etot = -5.62847191819896 +114000 ekin = 3.41073468124679 | erot = 6.91406610981318 | epot = -15.9532727088343 | etot = -5.62847191777429 +115000 ekin = 3.47381531534282 | erot = 6.87643065686506 | epot = -15.9787178894078 | etot = -5.6284719171999 +116000 ekin = 3.54886437558777 | erot = 6.80711139529212 | epot = -15.9844476879582 | etot = -5.62847191707831 +117000 ekin = 3.63467409204953 | erot = 6.71320827683675 | epot = -15.9763542854632 | etot = -5.62847191657691 +118000 ekin = 3.72815555523563 | erot = 6.60276001485649 | epot = -15.9593874864267 | etot = -5.62847191633455 +119000 ekin = 3.82420980363922 | erot = 6.48288858478337 | epot = -15.9355703049694 | etot = -5.6284719165468 +120000 ekin = 3.9179774835722 | erot = 6.35662792089898 | epot = -15.903077321228 | etot = -5.62847191675683 +121000 ekin = 4.00591742044035 | erot = 6.22468993027099 | epot = -15.8590792676431 | etot = -5.62847191693177 +122000 ekin = 4.08550270322369 | erot = 6.08676575288901 | epot = -15.8007403736371 | etot = -5.62847191752443 +123000 ekin = 4.15433540908377 | erot = 5.94071572290345 | epot = -15.7235230494646 | etot = -5.62847191747738 +124000 ekin = 4.21272085203604 | erot = 5.78590733869432 | epot = -15.6271001078552 | etot = -5.62847191712487 +125000 ekin = 4.26325970413188 | erot = 5.62467373686564 | epot = -15.5164053575234 | etot = -5.62847191652588 +126000 ekin = 4.30880597980511 | erot = 5.46113290467099 | epot = -15.3984108007452 | etot = -5.62847191626906 +127000 ekin = 4.35136313111028 | erot = 5.29960307371338 | epot = -15.2794381205813 | etot = -5.62847191575761 +128000 ekin = 4.39391383900504 | erot = 5.14386269106645 | epot = -15.1662484454473 | etot = -5.62847191537579 +129000 ekin = 4.43858036063655 | erot = 4.99693296064707 | epot = -15.0639852363964 | etot = -5.62847191511278 +130000 ekin = 4.48619887382534 | erot = 4.86092637377901 | epot = -14.9755971627246 | etot = -5.62847191512025 +131000 ekin = 4.53629967746113 | erot = 4.73552279955471 | epot = -14.9002943921703 | etot = -5.62847191515449 +132000 ekin = 4.58794392436761 | erot = 4.62012473201883 | epot = -14.8365405715611 | etot = -5.62847191517469 +133000 ekin = 4.63977927970873 | erot = 4.51475331813956 | epot = -14.7830045130166 | etot = -5.62847191516832 +134000 ekin = 4.69096227444649 | erot = 4.41936571520108 | epot = -14.7387999047824 | etot = -5.62847191513484 +135000 ekin = 4.74083332632074 | erot = 4.33399770983627 | epot = -14.7033029512379 | etot = -5.62847191508091 +136000 ekin = 4.78901374177409 | erot = 4.25873574864794 | epot = -14.6762214054334 | etot = -5.62847191501132 +137000 ekin = 4.83519033966281 | erot = 4.19345584709283 | epot = -14.657118101864 | etot = -5.6284719151084 +138000 ekin = 4.87857190019259 | erot = 4.13759960010467 | epot = -14.644643415365 | etot = -5.62847191506772 +139000 ekin = 4.9193390426864 | erot = 4.09041841408124 | epot = -14.6382293717807 | etot = -5.6284719150131 +140000 ekin = 4.95802132610715 | erot = 4.05108530565741 | epot = -14.637578546733 | etot = -5.62847191496842 +141000 ekin = 4.99519923255351 | erot = 4.01864210163599 | epot = -14.6423132491265 | etot = -5.628471914937 +142000 ekin = 5.0313403186539 | erot = 3.99210960072426 | epot = -14.6519218343063 | etot = -5.62847191492815 +143000 ekin = 5.06663282814611 | erot = 3.97056100872215 | epot = -14.6656657518145 | etot = -5.62847191494626 +144000 ekin = 5.10088003253975 | erot = 3.95318385936622 | epot = -14.6825358068963 | etot = -5.62847191499035 +145000 ekin = 5.13347728619419 | erot = 3.9393331843263 | epot = -14.7012823855752 | etot = -5.62847191505467 +146000 ekin = 5.16346418937039 | erot = 3.92856945833553 | epot = -14.7205055628366 | etot = -5.62847191513069 +147000 ekin = 5.18962884502116 | erot = 3.92067778970093 | epot = -14.7387785499314 | etot = -5.62847191520936 +148000 ekin = 5.2106363010504 | erot = 3.91566839447777 | epot = -14.7547766108106 | etot = -5.62847191528238 +149000 ekin = 5.22515818277311 | erot = 3.91376203384939 | epot = -14.7673921319653 | etot = -5.62847191534284 +150000 ekin = 5.23199081771441 | erot = 3.91536756918858 | epot = -14.7758303022875 | etot = -5.62847191538449 +151000 ekin = 5.23025857434895 | erot = 3.92102977399556 | epot = -14.7797602637297 | etot = -5.62847191538523 +152000 ekin = 5.21970456277633 | erot = 3.93136599417313 | epot = -14.7795424723193 | etot = -5.6284719153698 +153000 ekin = 5.20020715643948 | erot = 3.94729684643011 | epot = -14.7759759181577 | etot = -5.6284719152881 +154000 ekin = 5.17219962280906 | erot = 3.96989664945426 | epot = -14.7705681875103 | etot = -5.62847191524698 +155000 ekin = 5.13597939415209 | erot = 4.00025654377895 | epot = -14.7647078530831 | etot = -5.6284719151521 +156000 ekin = 5.09227456538809 | erot = 4.03969792967878 | epot = -14.7604444100931 | etot = -5.62847191502624 +157000 ekin = 5.04214374655822 | erot = 4.08965648366389 | epot = -14.7602721451221 | etot = -5.62847191489998 +158000 ekin = 4.98664076893724 | erot = 4.15175637520643 | epot = -14.766869058914 | etot = -5.62847191477032 +159000 ekin = 4.92656708226378 | erot = 4.22693785976717 | epot = -14.7819768568016 | etot = -5.62847191477063 +160000 ekin = 4.86235166664991 | erot = 4.31524574981774 | epot = -14.8060693313531 | etot = -5.6284719148854 +161000 ekin = 4.79340744408421 | erot = 4.41634192155712 | epot = -14.8382212806378 | etot = -5.6284719149965 +162000 ekin = 4.71931679137199 | erot = 4.52911647420319 | epot = -14.8769051807429 | etot = -5.62847191516769 +163000 ekin = 4.63965178837921 | erot = 4.65170333188739 | epot = -14.9198270356117 | etot = -5.62847191534509 +164000 ekin = 4.55406399624322 | erot = 4.78166301740344 | epot = -14.9641989292966 | etot = -5.62847191564991 +165000 ekin = 4.46213996067444 | erot = 4.91530272158902 | epot = -15.0059145982048 | etot = -5.62847191594139 +166000 ekin = 4.36388109534855 | erot = 5.04805357548587 | epot = -15.0404065870407 | etot = -5.62847191620628 +167000 ekin = 4.2599504684242 | erot = 5.17511068522257 | epot = -15.0635330700694 | etot = -5.62847191642261 +168000 ekin = 4.15154354282108 | erot = 5.29182746831898 | epot = -15.071842927712 | etot = -5.62847191657198 +169000 ekin = 4.04026084727468 | erot = 5.3941174772808 | epot = -15.0628502412099 | etot = -5.62847191665442 +170000 ekin = 3.92797723838317 | erot = 5.47890367159895 | epot = -15.0353528265939 | etot = -5.62847191661181 +171000 ekin = 3.81680551395809 | erot = 5.54460219961126 | epot = -14.989879630019 | etot = -5.62847191644964 +172000 ekin = 3.70912194360867 | erot = 5.59119877272675 | epot = -14.9287926324949 | etot = -5.62847191615949 +173000 ekin = 3.60767008609974 | erot = 5.62020496675997 | epot = -14.8563469686161 | etot = -5.62847191575636 +174000 ekin = 3.51593123142685 | erot = 5.63484613588073 | epot = -14.7792492818557 | etot = -5.62847191454812 +175000 ekin = 3.43946966413873 | erot = 5.64148825119093 | epot = -14.7094298295813 | etot = -5.62847191425169 +176000 ekin = 3.38149964340019 | erot = 5.64304584979603 | epot = -14.653017407222 | etot = -5.62847191402579 +177000 ekin = 3.3442630428033 | erot = 5.64075589500549 | epot = -14.6134908517392 | etot = -5.62847191393037 +178000 ekin = 3.32907821318129 | erot = 5.63429171925337 | epot = -14.5918418466206 | etot = -5.62847191418592 +179000 ekin = 3.33553286829347 | erot = 5.6208870874151 | epot = -14.5848918700472 | etot = -5.62847191433866 +180000 ekin = 3.36333384277243 | erot = 5.59827011329198 | epot = -14.5900758706826 | etot = -5.6284719146182 +181000 ekin = 3.41118322744684 | erot = 5.56369949232846 | epot = -14.6033546347478 | etot = -5.62847191497248 +182000 ekin = 3.47666657813912 | erot = 5.51442909119383 | epot = -14.6195675846747 | etot = -5.62847191534179 +183000 ekin = 3.55646627297106 | erot = 5.44847615754748 | epot = -14.633414346125 | etot = -5.62847191560643 +184000 ekin = 3.64671110623883 | erot = 5.36528131962498 | epot = -14.6404643416898 | etot = -5.62847191582594 +185000 ekin = 3.74294243854229 | erot = 5.26596644090118 | epot = -14.637380795357 | etot = -5.62847191591353 +186000 ekin = 3.84064021177402 | erot = 5.15359326678923 | epot = -14.6227053944195 | etot = -5.62847191585629 +187000 ekin = 3.93563840594996 | erot = 5.03296537332422 | epot = -14.5970756949477 | etot = -5.62847191567352 +188000 ekin = 4.02444308409284 | erot = 4.91004205202591 | epot = -14.5629570515398 | etot = -5.62847191542107 +189000 ekin = 4.10437481570296 | erot = 4.79101157925947 | epot = -14.5238583101447 | etot = -5.6284719151823 +190000 ekin = 4.17348832619979 | erot = 4.68117061833031 | epot = -14.4831308595833 | etot = -5.62847191505317 +191000 ekin = 4.2302884539443 | erot = 4.58386192798786 | epot = -14.4426222970223 | etot = -5.62847191509015 +192000 ekin = 4.27358054060644 | erot = 4.49984530057507 | epot = -14.401897756479 | etot = -5.62847191529753 +193000 ekin = 4.24592911993984 | erot = 4.46741799187496 | epot = -14.341819022691 | etot = -5.62847191087621 +194000 ekin = 4.19994174150951 | erot = 4.47173701960618 | epot = -14.3001506793668 | etot = -5.62847191825108 +195000 ekin = 4.19981139522192 | erot = 4.40365513590342 | epot = -14.2319384423487 | etot = -5.6284719112234 +196000 ekin = 4.18831859749961 | erot = 4.32821378408543 | epot = -14.1450042928948 | etot = -5.62847191130971 +197000 ekin = 4.16445522600507 | erot = 4.24686919663374 | epot = -14.0397963337823 | etot = -5.62847191114348 +198000 ekin = 4.13074920372974 | erot = 4.15919636754571 | epot = -13.9184174820235 | etot = -5.62847191074804 +199000 ekin = 4.0906207473621 | erot = 4.06700829109831 | epot = -13.7861009486908 | etot = -5.62847191023037 +200000 ekin = 4.04792338687241 | erot = 3.97356549445347 | epot = -13.6499607909698 | etot = -5.62847190964388 +201000 ekin = 4.00668244919815 | erot = 3.88277215508982 | epot = -13.5179265133902 | etot = -5.62847190910223 +202000 ekin = 3.97063392471763 | erot = 3.79828207702091 | epot = -13.39738791041 | etot = -5.62847190867151 +203000 ekin = 3.94283665189413 | erot = 3.72290259923763 | epot = -13.2942111595175 | etot = -5.62847190838577 +204000 ekin = 3.9254074337218 | erot = 3.65835216262356 | epot = -13.2122315045955 | etot = -5.62847190825009 +205000 ekin = 3.91946432177319 | erot = 3.60562062220884 | epot = -13.1535568521707 | etot = -5.62847190818863 +206000 ekin = 3.92515912499438 | erot = 3.56510062726531 | epot = -13.1187316605142 | etot = -5.62847190825449 +207000 ekin = 3.94166066189579 | erot = 3.53643554885013 | epot = -13.106568119127 | etot = -5.62847190838106 +208000 ekin = 3.96741904659629 | erot = 3.51909285318893 | epot = -13.1149838083206 | etot = -5.62847190853536 +209000 ekin = 3.99456273872661 | erot = 3.50083315850366 | epot = -13.1238678065897 | etot = -5.62847190935947 +210000 ekin = 4.04796401860243 | erot = 3.4916895489081 | epot = -13.1681254815361 | etot = -5.62847191402561 +211000 ekin = 4.09773342715978 | erot = 3.49304812012827 | epot = -13.2192534546331 | etot = -5.62847190734504 +212000 ekin = 4.14205596974334 | erot = 3.50221111647769 | epot = -13.2727389936869 | etot = -5.6284719074659 +213000 ekin = 4.18461227969207 | erot = 3.51992604962334 | epot = -13.3330102373213 | etot = -5.62847190800588 +214000 ekin = 4.22291801220966 | erot = 3.54318058637875 | epot = -13.3945705067373 | etot = -5.62847190814888 +215000 ekin = 4.25639069943993 | erot = 3.57018634832855 | epot = -13.4550489560043 | etot = -5.62847190823587 +216000 ekin = 4.2851705613071 | erot = 3.59920416165292 | epot = -13.5128466312779 | etot = -5.62847190831789 +217000 ekin = 4.3095145789128 | erot = 3.62862634730473 | epot = -13.5666128346059 | etot = -5.62847190838833 +218000 ekin = 4.33022749097504 | erot = 3.65639118247524 | epot = -13.615090581929 | etot = -5.62847190847876 +219000 ekin = 4.34822739188717 | erot = 3.68015661121684 | epot = -13.6568559116869 | etot = -5.62847190858288 +220000 ekin = 4.36437280258302 | erot = 3.69755509928667 | epot = -13.6903998105148 | etot = -5.62847190864514 +221000 ekin = 4.37954317243381 | erot = 3.70660976824472 | epot = -13.7146248493703 | etot = -5.62847190869173 +222000 ekin = 4.39451292717047 | erot = 3.70596363375557 | epot = -13.7289484695947 | etot = -5.62847190866862 +223000 ekin = 4.41008213188947 | erot = 3.69513355487642 | epot = -13.7336875953398 | etot = -5.62847190857388 +224000 ekin = 4.42678943726192 | erot = 3.67466536393742 | epot = -13.7299267097393 | etot = -5.62847190853996 +225000 ekin = 4.44460701700921 | erot = 3.64600909388212 | epot = -13.7190880192605 | etot = -5.62847190836919 +226000 ekin = 4.47380092381823 | erot = 3.58830814099014 | epot = -13.6905809780385 | etot = -5.62847191323016 +227000 ekin = 4.56056009802773 | erot = 3.47269306832678 | epot = -13.6617250773524 | etot = -5.62847191099789 +228000 ekin = 4.61083327531156 | erot = 3.40803816011208 | epot = -13.6473433475474 | etot = -5.62847191212373 +229000 ekin = 4.63150013168063 | erot = 3.35898149000683 | epot = -13.6189535337045 | etot = -5.628471912017 +230000 ekin = 4.65431068144105 | erot = 3.31343017818392 | epot = -13.5962127716262 | etot = -5.6284719120012 +231000 ekin = 4.67934821404914 | erot = 3.27332737527072 | epot = -13.5811475014857 | etot = -5.62847191216587 +232000 ekin = 4.70592354946384 | erot = 3.23944506667453 | epot = -13.5738405284603 | etot = -5.62847191232193 +233000 ekin = 4.73271416122613 | erot = 3.21144788525716 | epot = -13.5726339590425 | etot = -5.62847191255921 +234000 ekin = 4.75943444985121 | erot = 3.19078729233493 | epot = -13.5786936545781 | etot = -5.62847191239191 +235000 ekin = 4.7864224181817 | erot = 3.1802119397668 | epot = -13.5951062703947 | etot = -5.62847191244615 +236000 ekin = 4.81315037988305 | erot = 3.18017325334793 | epot = -13.6217955456975 | etot = -5.62847191246647 +237000 ekin = 4.83923297185637 | erot = 3.19145400453311 | epot = -13.6591588888804 | etot = -5.62847191249091 +238000 ekin = 4.8648758593188 | erot = 3.21481908800212 | epot = -13.7081668597345 | etot = -5.62847191241355 +239000 ekin = 4.89063931715006 | erot = 3.25114955281917 | epot = -13.7702607826829 | etot = -5.62847191271366 +240000 ekin = 4.91656145052602 | erot = 3.29901781218761 | epot = -13.8440511754903 | etot = -5.62847191277668 +241000 ekin = 4.94245255089395 | erot = 3.35699698381439 | epot = -13.9279214477111 | etot = -5.62847191300273 +242000 ekin = 4.96767380346174 | erot = 3.42365009425844 | epot = -14.0197958109202 | etot = -5.62847191320004 +243000 ekin = 5.00573446223425 | erot = 3.47030260471584 | epot = -14.1045089792095 | etot = -5.62847191225937 +244000 ekin = 5.06987350319776 | erot = 3.50985787352901 | epot = -14.2082032932938 | etot = -5.62847191656705 +245000 ekin = 5.08405115957742 | erot = 3.57323736718779 | epot = -14.2857604930736 | etot = -5.62847196630843 +246000 ekin = 5.13867281568721 | erot = 3.53022410786793 | epot = -14.2973688418941 | etot = -5.62847191833901 +247000 ekin = 5.24446071734879 | erot = 3.63707192639566 | epot = -14.5100045566461 | etot = -5.62847191290161 +248000 ekin = 5.23528120841798 | erot = 3.74023330973858 | epot = -14.6039864311642 | etot = -5.62847191300765 +249000 ekin = 5.21260078435232 | erot = 3.83729795660013 | epot = -14.6783706538235 | etot = -5.62847191287108 +250000 ekin = 5.17839081250377 | erot = 3.9274900033362 | epot = -14.7343527284458 | etot = -5.62847191260579 +251000 ekin = 5.13586036334033 | erot = 4.0110834535743 | epot = -14.7754157290643 | etot = -5.6284719121497 +252000 ekin = 5.08918292106526 | erot = 4.09018694184289 | epot = -14.8078417745573 | etot = -5.62847191164914 +253000 ekin = 5.04264218495503 | erot = 4.16759058211673 | epot = -14.8387046782788 | etot = -5.62847191120704 +254000 ekin = 4.99116344078943 | erot = 4.24248912287616 | epot = -14.8621245493479 | etot = -5.62847198568228 +255000 ekin = 4.72637462799754 | erot = 4.24407837663792 | epot = -14.5989249326008 | etot = -5.62847192796534 +256000 ekin = 4.59834109997962 | erot = 4.36369782209853 | epot = -14.5905108364853 | etot = -5.62847191440716 +257000 ekin = 4.77089539877238 | erot = 4.60066315314524 | epot = -15.0000305289775 | etot = -5.62847197705984 +258000 ekin = 4.8570424299005 | erot = 4.66807324376092 | epot = -15.1535875814136 | etot = -5.62847190775215 +259000 ekin = 4.89901811472201 | erot = 4.72718635920946 | epot = -15.2546763808543 | etot = -5.6284719069228 +260000 ekin = 4.94107094739232 | erot = 4.79406863685795 | epot = -15.3636114914084 | etot = -5.62847190715817 +261000 ekin = 4.98242309074786 | erot = 4.86508628581133 | epot = -15.4759812846185 | etot = -5.62847190805928 +262000 ekin = 5.01659840998387 | erot = 4.93871137847814 | epot = -15.5837816973619 | etot = -5.62847190889992 +263000 ekin = 5.03982661194348 | erot = 5.00983839411822 | epot = -15.6781369155683 | etot = -5.62847190950662 +264000 ekin = 5.0473269634971 | erot = 5.07389667598774 | epot = -15.7496955495902 | etot = -5.62847191010535 +265000 ekin = 5.03448807084938 | erot = 5.12688367713197 | epot = -15.7898436586188 | etot = -5.6284719106374 +266000 ekin = 4.9977343895948 | erot = 5.16480683531726 | epot = -15.7910131359604 | etot = -5.62847191104839 +267000 ekin = 4.9350849740613 | erot = 5.18388050750233 | epot = -15.7474373928655 | etot = -5.6284719113019 +268000 ekin = 4.84654531470769 | erot = 5.18063468558991 | epot = -15.6556519116805 | etot = -5.62847191138294 +269000 ekin = 4.73423214274556 | erot = 5.15198859731975 | epot = -15.5146926513545 | etot = -5.62847191128923 +270000 ekin = 4.60224202248444 | erot = 5.09540688817063 | epot = -15.3261208188922 | etot = -5.62847190823709 +271000 ekin = 4.45636876654843 | erot = 5.00923317388348 | epot = -15.0940738481978 | etot = -5.62847190776587 +272000 ekin = 4.30375505735369 | erot = 4.89315778304375 | epot = -14.8253847474932 | etot = -5.62847190709576 +273000 ekin = 4.15244061479806 | erot = 4.74862648123472 | epot = -14.5295390022931 | etot = -5.62847190626036 +274000 ekin = 4.01137482334333 | erot = 4.57896672456557 | epot = -14.2188134532218 | etot = -5.62847190531292 +275000 ekin = 3.87388872892464 | erot = 4.38950805795244 | epot = -13.8918687169895 | etot = -5.6284719301124 +276000 ekin = 3.7082814835016 | erot = 4.18975567950172 | epot = -13.5265090654672 | etot = -5.62847190246385 +277000 ekin = 3.7402518794014 | erot = 3.98894405210621 | epot = -13.3576678645653 | etot = -5.6284719330577 +278000 ekin = 3.74221760775357 | erot = 3.7703854369202 | epot = -13.1410749479138 | etot = -5.62847190324001 +279000 ekin = 3.75220115766677 | erot = 3.5579033181483 | epot = -12.938576379456 | etot = -5.6284719036409 +280000 ekin = 3.77561814014463 | erot = 3.3578165449272 | epot = -12.7619065883795 | etot = -5.62847190330772 +281000 ekin = 3.81272927484692 | erot = 3.17409695196483 | epot = -12.6152981298176 | etot = -5.62847190300587 +282000 ekin = 3.86501988036713 | erot = 3.00952640155182 | epot = -12.503018184206 | etot = -5.62847190228705 +283000 ekin = 3.9362890040686 | erot = 2.86613168182077 | epot = -12.4308925881252 | etot = -5.62847190223582 +284000 ekin = 4.02702703050248 | erot = 2.74480306500238 | epot = -12.4003019979014 | etot = -5.62847190239652 +285000 ekin = 4.14139706639939 | erot = 2.64599110157981 | epot = -12.4158600691656 | etot = -5.62847190118639 +286000 ekin = 4.28525774918125 | erot = 2.56950762489294 | epot = -12.4832372763209 | etot = -5.62847190224672 +287000 ekin = 4.44987555795525 | erot = 2.5149381006836 | epot = -12.5932855609563 | etot = -5.62847190231741 +288000 ekin = 4.63520922264803 | erot = 2.48100112555659 | epot = -12.744682251547 | etot = -5.62847190334237 +289000 ekin = 4.83125797005639 | erot = 2.46527241539591 | epot = -12.9250022896872 | etot = -5.62847190423491 +290000 ekin = 5.02763799219549 | erot = 2.46542435681899 | epot = -13.1215342541 | etot = -5.6284719050855 +291000 ekin = 5.21465468575924 | erot = 2.47913524144599 | epot = -13.3222618329691 | etot = -5.62847190576391 +292000 ekin = 5.3847234879029 | erot = 2.50416430329084 | epot = -13.517359697432 | etot = -5.62847190623821 +293000 ekin = 5.53302487062993 | erot = 2.53823701976372 | epot = -13.6997337969552 | etot = -5.6284719065615 +294000 ekin = 5.65718701899563 | erot = 2.57877496353037 | epot = -13.8644338893367 | etot = -5.62847190681068 +295000 ekin = 5.75652780496736 | erot = 2.62269919784114 | epot = -14.0076989098374 | etot = -5.62847190702888 +296000 ekin = 5.83139499491576 | erot = 2.66652171228997 | epot = -14.1263886144134 | etot = -5.62847190720766 +297000 ekin = 5.88282356332315 | erot = 2.70675614330105 | epot = -14.2180516139345 | etot = -5.62847190731032 +298000 ekin = 5.91239748765354 | erot = 2.74048494300751 | epot = -14.28135433797 | etot = -5.62847190730891 +299000 ekin = 5.92208198046629 | erot = 2.7658529930204 | epot = -14.316406880692 | etot = -5.62847190720535 +300000 ekin = 5.91390942018959 | erot = 2.78233336188536 | epot = -14.3247146891001 | etot = -5.62847190702514 +301000 ekin = 5.88962133511467 | erot = 2.79074353675826 | epot = -14.3088367786671 | etot = -5.62847190679412 +302000 ekin = 5.85048781421153 | erot = 2.79307875791624 | epot = -14.2720384786503 | etot = -5.62847190652251 +303000 ekin = 5.79743517877201 | erot = 2.79223225552499 | epot = -14.2181393405065 | etot = -5.62847190620952 +304000 ekin = 5.73124340760714 | erot = 2.79262915089218 | epot = -14.1523444641626 | etot = -5.6284719056633 +305000 ekin = 5.65258268469942 | erot = 2.79940899091102 | epot = -14.0804635809916 | etot = -5.6284719053812 +306000 ekin = 5.56254653523126 | erot = 2.81503734235127 | epot = -14.0060557827405 | etot = -5.62847190515797 +307000 ekin = 5.46251129680734 | erot = 2.84075892386061 | epot = -13.9317421257017 | etot = -5.6284719050337 +308000 ekin = 5.35391293499779 | erot = 2.87633235164085 | epot = -13.8587171916706 | etot = -5.62847190503193 +309000 ekin = 5.2380500741146 | erot = 2.9199694072312 | epot = -13.7864913863811 | etot = -5.6284719050353 +310000 ekin = 5.11613875822227 | erot = 2.96880482959777 | epot = -13.7134154931058 | etot = -5.62847190528572 +311000 ekin = 4.98925852659027 | erot = 3.01839769775414 | epot = -13.6361281298119 | etot = -5.62847190546746 +312000 ekin = 4.85867326621938 | erot = 3.06421411593107 | epot = -13.5513592877722 | etot = -5.62847190562172 +313000 ekin = 4.7258511266702 | erot = 3.1023659032956 | epot = -13.4566889356293 | etot = -5.62847190566349 +314000 ekin = 4.59293421045906 | erot = 3.13002199528668 | epot = -13.3514281113023 | etot = -5.62847190555656 +315000 ekin = 4.4627066997121 | erot = 3.1458895038724 | epot = -13.2370681089019 | etot = -5.62847190531736 +316000 ekin = 4.33845457033799 | erot = 3.1501698931791 | epot = -13.1170963685019 | etot = -5.62847190498479 +317000 ekin = 4.22370149066824 | erot = 3.14429402986985 | epot = -12.9964674251447 | etot = -5.62847190460657 +318000 ekin = 4.12188681800263 | erot = 3.13056754977998 | epot = -12.8809262720081 | etot = -5.62847190422546 +319000 ekin = 4.03607214171397 | erot = 3.11184182787036 | epot = -12.7763858734547 | etot = -5.62847190387036 +320000 ekin = 3.96873641008349 | erot = 3.09128048611739 | epot = -12.6884887997534 | etot = -5.62847190355248 +321000 ekin = 3.92167797368866 | erot = 3.07226107993941 | epot = -12.6224109568985 | etot = -5.6284719032704 +322000 ekin = 3.89600971422094 | erot = 3.05833648374314 | epot = -12.5828181009917 | etot = -5.62847190302759 +323000 ekin = 3.89216326551481 | erot = 3.05323078719935 | epot = -12.5738659555504 | etot = -5.62847190283626 +324000 ekin = 3.90971752720339 | erot = 3.06065920136955 | epot = -12.5988486315721 | etot = -5.62847190299919 +325000 ekin = 3.94474197766764 | erot = 3.08325557841874 | epot = -12.6564694593348 | etot = -5.62847190324846 +326000 ekin = 3.99225791211204 | erot = 3.12131666195002 | epot = -12.7420464778336 | etot = -5.62847190377152 +327000 ekin = 4.04715751818241 | erot = 3.17277573872173 | epot = -12.8484051614778 | etot = -5.62847190457363 +328000 ekin = 4.10306827948992 | erot = 3.23289809100065 | epot = -12.9644382760915 | etot = -5.6284719056009 +329000 ekin = 4.15294077796389 | erot = 3.29460254685397 | epot = -13.0760152314918 | etot = -5.62847190667399 +330000 ekin = 4.19046086377944 | erot = 3.34957314357915 | epot = -13.1685059148607 | etot = -5.62847190750214 +331000 ekin = 4.2118793670419 | erot = 3.38989153265597 | epot = -13.2302428076658 | etot = -5.62847190796793 +332000 ekin = 4.21589857653174 | erot = 3.41075094374202 | epot = -13.2551214281287 | etot = -5.62847190785492 +333000 ekin = 4.20485265999827 | erot = 3.41174399824639 | epot = -13.2450685654392 | etot = -5.62847190719455 +334000 ekin = 4.1843536827594 | erot = 3.39692225044426 | epot = -13.2097478393623 | etot = -5.6284719061587 +335000 ekin = 4.16205455861251 | erot = 3.37367623594548 | epot = -13.1642026995451 | etot = -5.62847190498714 +336000 ekin = 4.1460949142031 | erot = 3.3509330966684 | epot = -13.1254999147759 | etot = -5.62847190390443 +337000 ekin = 4.14364358930878 | erot = 3.33736964606301 | epot = -13.1094851384434 | etot = -5.62847190307165 +338000 ekin = 4.15982493122452 | erot = 3.33968220643248 | epot = -13.1279790403876 | etot = -5.6284719027306 +339000 ekin = 4.19714166715088 | erot = 3.36120406394892 | epot = -13.1868176337066 | etot = -5.62847190260677 +340000 ekin = 4.25518474380122 | erot = 3.4039445653472 | epot = -13.2876012119478 | etot = -5.62847190279942 +341000 ekin = 4.33079125359022 | erot = 3.46797257818314 | epot = -13.4272357350123 | etot = -5.62847190323897 +342000 ekin = 4.41854745257256 | erot = 3.55173943759823 | epot = -13.5987587940178 | etot = -5.62847190384704 +343000 ekin = 4.51153864836906 | erot = 3.65250494550473 | epot = -13.7925154984214 | etot = -5.62847190454758 +344000 ekin = 4.60219231316278 | erot = 3.76671918647694 | epot = -13.997383404895 | etot = -5.62847190525523 +345000 ekin = 4.68312343518434 | erot = 3.89042211424212 | epot = -14.2020174553304 | etot = -5.62847190590392 +346000 ekin = 4.74786790538395 | erot = 4.01955036383398 | epot = -14.3958901756605 | etot = -5.62847190644256 +347000 ekin = 4.79150376885031 | erot = 4.15019529883626 | epot = -14.570170974482 | etot = -5.62847190679546 +348000 ekin = 4.81117855584605 | erot = 4.27877359763711 | epot = -14.7184240605328 | etot = -5.62847190704966 +349000 ekin = 4.80564918858633 | erot = 4.40205662691615 | epot = -14.8361777226707 | etot = -5.62847190716826 +350000 ekin = 4.77545945328664 | erot = 4.51714564004611 | epot = -14.9210770005263 | etot = -5.62847190719351 +351000 ekin = 4.72262273321912 | erot = 4.62116010887816 | epot = -14.9722547493018 | etot = -5.62847190720455 +352000 ekin = 4.65007958814178 | erot = 4.71078593020453 | epot = -14.9893374256266 | etot = -5.62847190728032 +353000 ekin = 4.56109157465487 | erot = 4.78180335583479 | epot = -14.9713668379528 | etot = -5.62847190746318 +354000 ekin = 4.45876151246763 | erot = 4.82895979647041 | epot = -14.9161932166616 | etot = -5.62847190772354 +355000 ekin = 4.34584612945812 | erot = 4.84663553108592 | epot = -14.8209535684691 | etot = -5.62847190792508 +356000 ekin = 4.22495470321296 | erot = 4.83038190908695 | epot = -14.6838085201897 | etot = -5.62847190788983 +357000 ekin = 4.09903296595125 | erot = 4.77873075093683 | epot = -14.5062356243708 | etot = -5.62847190748272 +358000 ekin = 3.97178667556286 | erot = 4.69444561049642 | epot = -14.2947041927689 | etot = -5.62847190670957 +359000 ekin = 3.8476729892966 | erot = 4.58431182213742 | epot = -14.0604567171869 | etot = -5.6284719057529 +360000 ekin = 3.73136439808726 | erot = 4.45746613157886 | epot = -13.8173024344245 | etot = -5.6284719047584 +361000 ekin = 3.62758093165404 | erot = 4.32379064505613 | epot = -13.5798434807421 | etot = -5.62847190403191 +362000 ekin = 3.54294892306447 | erot = 4.19358097114755 | epot = -13.3650017978897 | etot = -5.62847190367769 +363000 ekin = 3.47837311691063 | erot = 4.07207692082534 | epot = -13.1789219412937 | etot = -5.62847190355768 +364000 ekin = 3.43225009805705 | erot = 3.96193194141938 | epot = -13.0226539430639 | etot = -5.62847190358748 +365000 ekin = 3.40198388463041 | erot = 3.86460642705461 | epot = -12.8950622153704 | etot = -5.62847190368535 +366000 ekin = 3.38451833851882 | erot = 3.78104622244732 | epot = -12.7940364647476 | etot = -5.62847190378146 +367000 ekin = 3.37682483157754 | erot = 3.71218000857372 | epot = -12.7174767439928 | etot = -5.62847190384158 +368000 ekin = 3.37625204138126 | erot = 3.65912147822725 | epot = -12.6638454234616 | etot = -5.62847190385309 +369000 ekin = 3.38074636726359 | erot = 3.62312680344336 | epot = -12.6323450745323 | etot = -5.62847190382536 +370000 ekin = 3.38894636698295 | erot = 3.60538856636925 | epot = -12.6228068371721 | etot = -5.62847190381985 +371000 ekin = 3.40011634059559 | erot = 3.6067233363779 | epot = -12.6353115807203 | etot = -5.62847190374679 +372000 ekin = 3.41430323562447 | erot = 3.62748920223736 | epot = -12.6702643415601 | etot = -5.62847190369825 +373000 ekin = 3.43217624795184 | erot = 3.66740997408352 | epot = -12.7280581255783 | etot = -5.62847190354296 +374000 ekin = 3.45538314685729 | erot = 3.72532070766163 | epot = -12.8091757581464 | etot = -5.62847190362742 +375000 ekin = 3.48458983102994 | erot = 3.79950576965856 | epot = -12.9125675044443 | etot = -5.62847190375577 +376000 ekin = 3.51994630863055 | erot = 3.88772077541103 | epot = -13.0361389879669 | etot = -5.62847190392536 +377000 ekin = 3.56162263238966 | erot = 3.98718032086514 | epot = -13.1772748573483 | etot = -5.62847190409348 +378000 ekin = 3.61009229018706 | erot = 4.09470007581098 | epot = -13.3332642703023 | etot = -5.62847190430421 +379000 ekin = 3.66621939251756 | erot = 4.20668278515704 | epot = -13.5013740821171 | etot = -5.6284719044425 +380000 ekin = 3.73222313434711 | erot = 4.31893025305218 | epot = -13.6796252922782 | etot = -5.6284719048789 +381000 ekin = 3.80656943723105 | erot = 4.42661769094334 | epot = -13.8616590336251 | etot = -5.62847190545074 +382000 ekin = 3.88594558525596 | erot = 4.52459411505487 | epot = -14.0390116063945 | etot = -5.62847190608362 +383000 ekin = 3.96695089999006 | erot = 4.6074743389479 | epot = -14.2028971456622 | etot = -5.6284719067242 +384000 ekin = 4.04619645067071 | erot = 4.66967915257488 | epot = -14.3443475105423 | etot = -5.62847190729674 +385000 ekin = 4.12092029136871 | erot = 4.70599192062502 | epot = -14.4553841196635 | etot = -5.62847190766981 +386000 ekin = 4.18945537162048 | erot = 4.71237691681024 | epot = -14.5303041965371 | etot = -5.6284719081064 +387000 ekin = 4.24770733744385 | erot = 4.68531871644071 | epot = -14.5614979619391 | etot = -5.62847190805457 +388000 ekin = 4.29400518231676 | erot = 4.62433064765631 | epot = -14.5468077376841 | etot = -5.62847190771105 +389000 ekin = 4.32973751034707 | erot = 4.53230747815749 | epot = -14.4905168956691 | etot = -5.62847190716457 +390000 ekin = 4.35696496431921 | erot = 4.41432356915973 | epot = -14.3997604400478 | etot = -5.62847190656889 +391000 ekin = 4.37768888460159 | erot = 4.27672755001584 | epot = -14.2828883405545 | etot = -5.62847190593708 +392000 ekin = 4.39398588700028 | erot = 4.12625191225844 | epot = -14.1487097046389 | etot = -5.62847190538021 +393000 ekin = 4.40738241117469 | erot = 3.96936593196301 | epot = -14.0052202479613 | etot = -5.62847190482363 +394000 ekin = 4.41937568154892 | erot = 3.81285278687849 | epot = -13.8607003730906 | etot = -5.62847190466318 +395000 ekin = 4.42988768163888 | erot = 3.66065946576215 | epot = -13.7190190519324 | etot = -5.62847190453133 +396000 ekin = 4.43847476588974 | erot = 3.51525603215528 | epot = -13.5822027024369 | etot = -5.62847190439185 +397000 ekin = 4.44517728396978 | erot = 3.3789151277788 | epot = -13.4525643159655 | etot = -5.62847190421697 +398000 ekin = 4.45064950026053 | erot = 3.25392386318775 | epot = -13.333045267445 | etot = -5.62847190399669 +399000 ekin = 4.45613851377508 | erot = 3.1426965188145 | epot = -13.2273069363885 | etot = -5.62847190379889 +400000 ekin = 4.46297608305882 | erot = 3.04745583064984 | epot = -13.1389038172541 | etot = -5.62847190354543 +401000 ekin = 4.4727554600185 | erot = 2.97053701410719 | epot = -13.0717643774856 | etot = -5.62847190335986 +402000 ekin = 4.48672336701126 | erot = 2.91396522579777 | epot = -13.0291604961498 | etot = -5.62847190334076 +403000 ekin = 4.50482841072425 | erot = 2.87870251809156 | epot = -13.0120028324313 | etot = -5.62847190361552 +404000 ekin = 4.52484325730512 | erot = 2.86379686214208 | epot = -13.0171120236989 | etot = -5.62847190425173 +405000 ekin = 4.54178669953347 | erot = 2.865351205685 | epot = -13.0356098106956 | etot = -5.62847190547714 +406000 ekin = 4.54812186977296 | erot = 2.87565623453583 | epot = -13.0522500109057 | etot = -5.62847190659687 +407000 ekin = 4.53567765662224 | erot = 2.88781666333792 | epot = -13.0519662273823 | etot = -5.6284719074221 +408000 ekin = 4.4980683987241 | erot = 2.89717319275447 | epot = -13.0237134991285 | etot = -5.62847190764996 +409000 ekin = 4.43289041825228 | erot = 2.90293173430014 | epot = -12.9642940598285 | etot = -5.62847190727608 +410000 ekin = 4.34222243511571 | erot = 2.907845717641 | epot = -12.8785400593029 | etot = -5.62847190654618 +411000 ekin = 4.23122328981815 | erot = 2.91632332330752 | epot = -12.7760185189212 | etot = -5.62847190579552 +412000 ekin = 4.10591302468899 | erot = 2.93234263226303 | epot = -12.6667275621878 | etot = -5.62847190523582 +413000 ekin = 3.97147909136044 | erot = 2.95826875338062 | epot = -12.5582197496474 | etot = -5.62847190490633 +414000 ekin = 3.83169645328768 | erot = 2.9948721544054 | epot = -12.4550405124367 | etot = -5.62847190474364 +415000 ekin = 3.6891555688651 | erot = 3.04191716153679 | epot = -12.3595446350677 | etot = -5.62847190466582 +416000 ekin = 3.54575553257446 | erot = 3.09878213613395 | epot = -12.273009573321 | etot = -5.62847190461262 +417000 ekin = 3.4031527114646 | erot = 3.16484246791805 | epot = -12.1964670839352 | etot = -5.62847190455257 +418000 ekin = 3.2630625387357 | erot = 3.23960054554213 | epot = -12.1311349887514 | etot = -5.62847190447353 +419000 ekin = 3.12743539446411 | erot = 3.32265867811468 | epot = -12.0785659769522 | etot = -5.62847190437341 +420000 ekin = 2.99854685248433 | erot = 3.41362396345561 | epot = -12.0406427201965 | etot = -5.62847190425657 +421000 ekin = 2.8790171249261 | erot = 3.51197880379119 | epot = -12.0194678328541 | etot = -5.62847190413685 +422000 ekin = 2.77174596052497 | erot = 3.61690112203241 | epot = -12.0171189865995 | etot = -5.6284719040421 +423000 ekin = 2.67973794664943 | erot = 3.72700827485983 | epot = -12.0352181255247 | etot = -5.62847190401542 +424000 ekin = 2.60579870928978 | erot = 3.84002717527953 | epot = -12.0742977886825 | etot = -5.62847190411323 +425000 ekin = 2.55208954527813 | erot = 3.95244167892761 | epot = -12.1330031286051 | etot = -5.62847190439931 +426000 ekin = 2.51954653045088 | erot = 4.05920212806556 | epot = -12.2072205634469 | etot = -5.62847190493043 +427000 ekin = 2.50725893891138 | erot = 4.15363681829288 | epot = -12.2893676629198 | etot = -5.62847190571556 +428000 ekin = 2.51210485175689 | erot = 4.22782399613665 | epot = -12.3684007545436 | etot = -5.62847190665006 +429000 ekin = 2.52911833233697 | erot = 4.2737736907183 | epot = -12.4313639305362 | etot = -5.6284719074809 +430000 ekin = 2.55284926701683 | erot = 4.28551618826417 | epot = -12.4668373631705 | etot = -5.62847190788946 +431000 ekin = 2.57924139420927 | erot = 4.26142412036794 | epot = -12.4691374222607 | etot = -5.6284719076835 +432000 ekin = 2.60692475467972 | erot = 4.20541068246265 | epot = -12.44080734408 | etot = -5.62847190693765 +433000 ekin = 2.63712842983791 | erot = 4.12604912501302 | epot = -12.3916494607872 | etot = -5.62847190593631 +434000 ekin = 2.67245542242985 | erot = 4.03405948921243 | epot = -12.3349868166314 | etot = -5.6284719049891 +435000 ekin = 2.71543854641989 | erot = 3.93961255970565 | epot = -12.2835230104102 | etot = -5.62847190428466 +436000 ekin = 2.76760991343227 | erot = 3.85063248522813 | epot = -12.2467143025376 | etot = -5.62847190387721 +437000 ekin = 2.8292051567323 | erot = 3.77223859649821 | epot = -12.2299156569577 | etot = -5.62847190372722 +438000 ekin = 2.89929820060249 | erot = 3.7070750997431 | epot = -12.2348452041141 | etot = -5.62847190376851 +439000 ekin = 2.97609334156584 | erot = 3.6559037238806 | epot = -12.2604689693874 | etot = -5.62847190394097 +440000 ekin = 3.05720906613854 | erot = 3.61815200782747 | epot = -12.303832978167 | etot = -5.62847190420102 +441000 ekin = 3.1398967282964 | erot = 3.59232302398487 | epot = -12.3606916567996 | etot = -5.62847190451835 +442000 ekin = 3.22119927519208 | erot = 3.57626892518812 | epot = -12.4259401052542 | etot = -5.62847190487397 +443000 ekin = 3.29807867302421 | erot = 3.5673797299487 | epot = -12.4939303082205 | etot = -5.6284719052476 +444000 ekin = 3.36753883944261 | erot = 3.56276348926376 | epot = -12.5587742343254 | etot = -5.62847190561903 +445000 ekin = 3.42676046581308 | erot = 3.55942025918125 | epot = -12.6146526309603 | etot = -5.62847190596595 +446000 ekin = 3.47324383647127 | erot = 3.55443462308419 | epot = -12.6561503658249 | etot = -5.62847190626945 +447000 ekin = 3.50497354376538 | erot = 3.54511419619435 | epot = -12.6785596464668 | etot = -5.62847190650708 +448000 ekin = 3.5205621308358 | erot = 3.52974100710101 | epot = -12.6787750444576 | etot = -5.6284719065208 +449000 ekin = 3.51939696591144 | erot = 3.50705904511163 | epot = -12.654927917629 | etot = -5.62847190660589 +450000 ekin = 3.50164536053703 | erot = 3.47565071066306 | epot = -12.6057679778004 | etot = -5.62847190660035 +451000 ekin = 3.4682479070786 | erot = 3.43472151203002 | epot = -12.5314413256108 | etot = -5.62847190650218 +452000 ekin = 3.42090312736728 | erot = 3.38414558729872 | epot = -12.4335206209786 | etot = -5.62847190631264 +453000 ekin = 3.36201791828429 | erot = 3.32449206046017 | epot = -12.3149818847815 | etot = -5.62847190603699 +454000 ekin = 3.29463316060487 | erot = 3.25701739819663 | epot = -12.1801224644864 | etot = -5.6284719056849 +455000 ekin = 3.2223327489859 | erot = 3.18360703277374 | epot = -12.0344116870298 | etot = -5.62847190527019 +456000 ekin = 3.14914248628389 | erot = 3.1066699219853 | epot = -11.8842843130808 | etot = -5.62847190481165 +457000 ekin = 3.0793973717258 | erot = 3.02894564058875 | epot = -11.7368149166548 | etot = -5.62847190434023 +458000 ekin = 3.01756413267452 | erot = 2.95322108562799 | epot = -11.5992571221551 | etot = -5.62847190385259 +459000 ekin = 2.96810632523009 | erot = 2.88249754736279 | epot = -11.4790757759985 | etot = -5.62847190340562 +460000 ekin = 2.93513889002095 | erot = 2.81955267520888 | epot = -11.3831634682652 | etot = -5.6284719030354 +461000 ekin = 2.92205746387525 | erot = 2.7666923490783 | epot = -11.3172217157336 | etot = -5.62847190278005 +462000 ekin = 2.93114290149457 | erot = 2.72556812595561 | epot = -11.2851829301233 | etot = -5.6284719026731 +463000 ekin = 2.96319319679395 | erot = 2.69703193761103 | epot = -11.288697037142 | etot = -5.62847190273704 +464000 ekin = 3.01726238568113 | erot = 2.68105615129806 | epot = -11.3267904399551 | etot = -5.62847190297594 +465000 ekin = 3.09058398931695 | erot = 2.67674994758621 | epot = -11.3958058402738 | etot = -5.62847190337063 +466000 ekin = 3.17872270899957 | erot = 2.68248866699804 | epot = -11.489683279879 | etot = -5.62847190388135 +467000 ekin = 3.27594114495932 | erot = 2.69614045585002 | epot = -11.6005535052649 | etot = -5.6284719044556 +468000 ekin = 3.37571282133761 | erot = 2.71534026239567 | epot = -11.7195249887735 | etot = -5.6284719050402 +469000 ekin = 3.47128178262778 | erot = 2.7377467976262 | epot = -11.8375004858446 | etot = -5.62847190559065 +470000 ekin = 3.55617737699106 | erot = 2.76123628660843 | epot = -11.9458855696743 | etot = -5.62847190607478 +471000 ekin = 3.62463309399701 | erot = 2.78402790003451 | epot = -12.0371329005012 | etot = -5.62847190646968 +472000 ekin = 3.67190559892461 | erot = 2.80477124778385 | epot = -12.1051487534659 | etot = -5.62847190675745 +473000 ekin = 3.69451868440951 | erot = 2.82263116140768 | epot = -12.145621752738 | etot = -5.62847190692085 +474000 ekin = 3.69045746331418 | erot = 2.83737882568526 | epot = -12.1563081959457 | etot = -5.62847190694629 +475000 ekin = 3.65932116350768 | erot = 2.84946541726958 | epot = -12.1372584876029 | etot = -5.62847190682564 +476000 ekin = 3.60242486138673 | erot = 2.8600401649875 | epot = -12.0909369329348 | etot = -5.62847190656053 +477000 ekin = 3.52282746240149 | erot = 2.87088465735749 | epot = -12.0221840259214 | etot = -5.62847190616243 +478000 ekin = 3.42525452630285 | erot = 2.88424967270373 | epot = -11.9379761046732 | etot = -5.62847190566661 +479000 ekin = 3.31588349739548 | erot = 2.90254646896433 | epot = -11.8469018714766 | etot = -5.62847190511681 +480000 ekin = 3.2019294924653 | erot = 2.92801081390987 | epot = -11.7584122109543 | etot = -5.62847190457915 +481000 ekin = 3.0910210684156 | erot = 2.96227510040754 | epot = -11.6817680729574 | etot = -5.62847190413424 +482000 ekin = 2.99039932402286 | erot = 3.0059083936905 | epot = -11.6247796215779 | etot = -5.62847190386453 +483000 ekin = 2.90605693345808 | erot = 3.05799802963961 | epot = -11.592526866934 | etot = -5.62847190383634 +484000 ekin = 2.84200171525942 | erot = 3.11586840863149 | epot = -11.5863420279703 | etot = -5.62847190407938 +485000 ekin = 2.81072036470051 | erot = 3.03665546467488 | epot = -11.4758477219126 | etot = -5.62847189253722 +486000 ekin = 2.99172671788758 | erot = 2.89028588608681 | epot = -11.5104845147026 | etot = -5.62847191072822 +487000 ekin = 3.04661020884121 | erot = 2.89516257154487 | epot = -11.570244686021 | etot = -5.62847190563488 +488000 ekin = 3.02813445463 | erot = 2.9175581417469 | epot = -11.5741645019129 | etot = -5.62847190553598 +489000 ekin = 3.02918173190651 | erot = 2.94703274341716 | epot = -11.6046863809266 | etot = -5.62847190560288 +490000 ekin = 3.04920929976127 | erot = 2.98299921438025 | epot = -11.6606804199631 | etot = -5.62847190582156 +491000 ekin = 3.08564623422967 | erot = 3.02458607701 | epot = -11.7387042173596 | etot = -5.62847190611991 +492000 ekin = 3.13426650215683 | erot = 3.07113014036604 | epot = -11.8338685489617 | etot = -5.62847190643878 +493000 ekin = 3.19024782356761 | erot = 3.12246736374655 | epot = -11.9411870939609 | etot = -5.62847190664674 +494000 ekin = 3.24418110402754 | erot = 3.17757093524548 | epot = -12.0502240477908 | etot = -5.62847200851778 +495000 ekin = 3.12930691885668 | erot = 3.12025770002207 | epot = -11.8780365337095 | etot = -5.62847191483072 +496000 ekin = 3.38154400854628 | erot = 3.12702216680309 | epot = -12.1370381395603 | etot = -5.6284719642109 +497000 ekin = 3.53796334303899 | erot = 3.21345240183637 | epot = -12.3798876661138 | etot = -5.62847192123843 +498000 ekin = 3.54725242244754 | erot = 3.3127481569391 | epot = -12.4884725006426 | etot = -5.62847192125599 +499000 ekin = 3.54686752392577 | erot = 3.42936350670757 | epot = -12.6047029519806 | etot = -5.6284719213473 +500000 ekin = 3.53611629144012 | erot = 3.5621447184836 | epot = -12.7267329314377 | etot = -5.62847192151396 +501000 ekin = 3.51474019583912 | erot = 3.70831240062115 | epot = -12.8515245182196 | etot = -5.62847192175937 +502000 ekin = 3.48291543616965 | erot = 3.86351597857756 | epot = -12.9749033367392 | etot = -5.62847192199196 +503000 ekin = 3.44167367984362 | erot = 4.02200657194786 | epot = -13.0921521741401 | etot = -5.62847192234864 +504000 ekin = 3.39166561938215 | erot = 4.17733332041883 | epot = -13.1974708625427 | etot = -5.62847192274173 +505000 ekin = 3.33344269451075 | erot = 4.32266370126612 | epot = -13.2845783189097 | etot = -5.62847192313282 +506000 ekin = 3.26726906279832 | erot = 4.45157764163063 | epot = -13.3473186278291 | etot = -5.62847192340013 +507000 ekin = 3.19388361649876 | erot = 4.55898983228577 | epot = -13.3813453722705 | etot = -5.62847192348593 +508000 ekin = 3.11462724049333 | erot = 4.64207406471296 | epot = -13.3851732285416 | etot = -5.62847192333527 +509000 ekin = 3.03154551890378 | erot = 4.7008320264318 | epot = -13.3608494682921 | etot = -5.62847192295648 +510000 ekin = 2.94513058611812 | erot = 4.73730594221542 | epot = -13.3109084508205 | etot = -5.62847192248693 +511000 ekin = 2.85640718494606 | erot = 4.75516581382221 | epot = -13.2400449206904 | etot = -5.62847192192215 +512000 ekin = 2.76854482525136 | erot = 4.75962991523102 | epot = -13.1566466618477 | etot = -5.62847192136531 +513000 ekin = 2.68465921483057 | erot = 4.75599513194296 | epot = -13.0691262676726 | etot = -5.6284719208991 +514000 ekin = 2.60745568314055 | erot = 4.74870168659942 | epot = -12.9846292903236 | etot = -5.62847192058367 +515000 ekin = 2.53899080263876 | erot = 4.74082869238932 | epot = -12.9082914154344 | etot = -5.62847192040632 +516000 ekin = 2.48057862896529 | erot = 4.73416754063632 | epot = -12.8432180899589 | etot = -5.62847192035728 +517000 ekin = 2.43281299020053 | erot = 4.72933651073047 | epot = -12.7906214213348 | etot = -5.62847192040378 +518000 ekin = 2.39567246200523 | erot = 4.72611868195825 | epot = -12.7502630644689 | etot = -5.62847192050539 +519000 ekin = 2.36868008077252 | erot = 4.72386163460167 | epot = -12.7210136359953 | etot = -5.62847192062108 +520000 ekin = 2.35109068031693 | erot = 4.72186744279644 | epot = -12.7014300438287 | etot = -5.6284719207153 +521000 ekin = 2.34207426124088 | erot = 4.71970227703855 | epot = -12.6902484590462 | etot = -5.62847192076676 +522000 ekin = 2.34085858396855 | erot = 4.71735113731658 | epot = -12.6866816420588 | etot = -5.62847192077371 +523000 ekin = 2.34541603965411 | erot = 4.65571671269724 | epot = -12.6296046828338 | etot = -5.62847193048247 +524000 ekin = 2.39460269540065 | erot = 4.54409239676948 | epot = -12.5671670124494 | etot = -5.62847192027929 +525000 ekin = 2.51755565348139 | erot = 4.49060445326918 | epot = -12.6366320324754 | etot = -5.62847192572488 +526000 ekin = 2.63891940339899 | erot = 4.49670026132054 | epot = -12.7640916025052 | etot = -5.62847193778565 +527000 ekin = 2.6813055707917 | erot = 4.50503337381134 | epot = -12.8148108746973 | etot = -5.62847193009429 +528000 ekin = 2.71450795011646 | erot = 4.51098798634719 | epot = -12.8539678666578 | etot = -5.62847193019411 +529000 ekin = 2.74727192395392 | erot = 4.51402301147703 | epot = -12.8897668656952 | etot = -5.62847193026422 +530000 ekin = 2.77952118315639 | erot = 4.51256666257021 | epot = -12.9205597760171 | etot = -5.62847193029047 +531000 ekin = 2.81130699780534 | erot = 4.50555264770546 | epot = -12.94533157578 | etot = -5.62847193026921 +532000 ekin = 2.8427455322915 | erot = 4.49253106983453 | epot = -12.9637485323352 | etot = -5.62847193020913 +533000 ekin = 2.8739331377113 | erot = 4.47361780236023 | epot = -12.9760228702018 | etot = -5.62847193013024 +534000 ekin = 2.90486933808867 | erot = 4.44928844618011 | epot = -12.9826297143247 | etot = -5.62847193005592 +535000 ekin = 2.93541519866179 | erot = 4.42010482066211 | epot = -12.9839919493258 | etot = -5.62847193000187 +536000 ekin = 2.96529830148253 | erot = 4.38649798396238 | epot = -12.9802682154175 | etot = -5.62847192997261 +537000 ekin = 2.99415467151137 | erot = 4.34867665836684 | epot = -12.9713032598312 | etot = -5.62847192995302 +538000 ekin = 3.02158801649141 | erot = 4.30669342609836 | epot = -12.9567533725424 | etot = -5.62847192995266 +539000 ekin = 3.04722844372971 | erot = 4.26048951905113 | epot = -12.9361898927295 | etot = -5.6284719299487 +540000 ekin = 3.07077963643188 | erot = 4.21000980478769 | epot = -12.9092613711513 | etot = -5.62847192993171 +541000 ekin = 3.09204730615951 | erot = 4.1553506158546 | epot = -12.8758698519111 | etot = -5.62847192989701 +542000 ekin = 3.11094831332664 | erot = 4.09682671838313 | epot = -12.8362469615538 | etot = -5.62847192984404 +543000 ekin = 3.12750284881959 | erot = 4.03499383130505 | epot = -12.7909686099003 | etot = -5.62847192977567 +544000 ekin = 3.14181233917185 | erot = 3.97062692619834 | epot = -12.740911195071 | etot = -5.6284719297008 +545000 ekin = 3.15402369277451 | erot = 3.90462208415743 | epot = -12.6871177065597 | etot = -5.62847192962772 +546000 ekin = 3.16427777376711 | erot = 3.83809465726173 | epot = -12.6308443605884 | etot = -5.62847192955952 +547000 ekin = 3.17263245314557 | erot = 3.77248542235981 | epot = -12.5735898050378 | etot = -5.62847192953238 +548000 ekin = 3.17905114127096 | erot = 3.70842416473845 | epot = -12.5159472355489 | etot = -5.62847192953947 +549000 ekin = 3.18335924851634 | erot = 3.64619443421479 | epot = -12.4580256122707 | etot = -5.6284719295396 +550000 ekin = 3.18506506659006 | erot = 3.58603484426971 | epot = -12.3995718405133 | etot = -5.62847192965355 +551000 ekin = 3.18354118865114 | erot = 3.52751972612761 | epot = -12.339532844571 | etot = -5.62847192979223 +552000 ekin = 3.17814056098796 | erot = 3.46973317227236 | epot = -12.2763456631941 | etot = -5.62847192993373 +553000 ekin = 3.16816249046617 | erot = 3.41187716291749 | epot = -12.2085115834286 | etot = -5.62847193004495 +554000 ekin = 3.15297464055059 | erot = 3.3536338689097 | epot = -12.1350804395488 | etot = -5.62847193008849 +555000 ekin = 3.13218065540938 | erot = 3.29554931590078 | epot = -12.0562019013401 | etot = -5.62847193002996 +556000 ekin = 3.10581995741923 | erot = 3.239328904532 | epot = -11.973620791798 | etot = -5.62847192984672 +557000 ekin = 3.07457883896461 | erot = 3.18795403306403 | epot = -11.8910048015599 | etot = -5.62847192953126 +558000 ekin = 3.03998262652355 | erot = 3.14553707334849 | epot = -11.813991628982 | etot = -5.62847192910991 +559000 ekin = 3.00450378984156 | erot = 3.11693712835965 | epot = -11.7499128467833 | etot = -5.62847192858208 +560000 ekin = 2.97145203622217 | erot = 3.1075818198538 | epot = -11.7075057840995 | etot = -5.62847192802354 +561000 ekin = 2.94451934101954 | erot = 3.1226726975339 | epot = -11.6956639661186 | etot = -5.62847192756517 +562000 ekin = 2.92714140957828 | erot = 3.16633554921903 | epot = -11.7219488860465 | etot = -5.62847192724921 +563000 ekin = 2.92206147626411 | erot = 3.24077054353436 | epot = -11.791303946999 | etot = -5.62847192720053 +564000 ekin = 2.93031627655366 | erot = 3.3456341095489 | epot = -11.9044223136038 | etot = -5.62847192750128 +565000 ekin = 2.9506871229223 | erot = 3.47751232962104 | epot = -12.0566713806986 | etot = -5.6284719281553 +566000 ekin = 2.97962685521271 | erot = 3.62985521355648 | epot = -12.2379539978956 | etot = -5.6284719291264 +567000 ekin = 3.01171593575608 | erot = 3.79324477337326 | epot = -12.4334326394462 | etot = -5.62847193031686 +568000 ekin = 3.04054477447765 | erot = 3.95610049173114 | epot = -12.6251171977979 | etot = -5.6284719315891 +569000 ekin = 3.05981811079938 | erot = 4.10576505734827 | epot = -12.7940551009318 | etot = -5.62847193278418 +570000 ekin = 3.06446758298878 | erot = 4.22987220710644 | epot = -12.9228117238377 | etot = -5.62847193374246 +571000 ekin = 3.05159191042571 | erot = 4.31782950107407 | epot = -12.9978933458268 | etot = -5.62847193432701 +572000 ekin = 3.02108996841121 | erot = 4.36217384041968 | epot = -13.0117357432802 | etot = -5.62847193444927 +573000 ekin = 2.97589592648261 | erot = 4.35953364446362 | epot = -12.963901505034 | etot = -5.62847193408773 +574000 ekin = 2.92177260949754 | erot = 4.31098813646067 | epot = -12.8612326792579 | etot = -5.6284719332997 +575000 ekin = 2.86675845148244 | erot = 4.22206447601528 | epot = -12.717294857537 | etot = -5.62847193003927 +576000 ekin = 2.82238695047027 | erot = 4.11002108697591 | epot = -12.5608799669646 | etot = -5.62847192951847 +577000 ekin = 2.79586021291389 | erot = 3.98405314230884 | epot = -12.4083852843111 | etot = -5.62847192908835 +578000 ekin = 2.79062678653061 | erot = 3.84816173897011 | epot = -12.2672604543497 | etot = -5.62847192884899 +579000 ekin = 2.8072787676975 | erot = 3.70630768394865 | epot = -12.1420583804789 | etot = -5.62847192883276 +580000 ekin = 2.84308800289758 | erot = 3.56147502219919 | epot = -12.0330349543963 | etot = -5.62847192929951 +581000 ekin = 2.89275945174485 | erot = 3.41677708034905 | epot = -11.9380084614678 | etot = -5.62847192937395 +582000 ekin = 2.94948274103835 | erot = 3.27852635627925 | epot = -11.8564810267612 | etot = -5.62847192944361 +583000 ekin = 3.00600312785704 | erot = 3.1533950786452 | epot = -11.7878701359294 | etot = -5.62847192942714 +584000 ekin = 3.0561587030715 | erot = 3.04800743030949 | epot = -11.7326380626837 | etot = -5.62847192930273 +585000 ekin = 3.09596263912471 | erot = 2.96828908151033 | epot = -11.6927236497277 | etot = -5.62847192909268 +586000 ekin = 3.12407298202873 | erot = 2.91878541588222 | epot = -11.6713303267394 | etot = -5.62847192882846 +587000 ekin = 3.1417461422428 | erot = 2.90225430092797 | epot = -11.6724723717095 | etot = -5.62847192853876 +588000 ekin = 3.15240031625394 | erot = 2.91960613643246 | epot = -11.7004783809487 | etot = -5.62847192826232 +589000 ekin = 3.16081808259797 | erot = 2.97006448175089 | epot = -11.7593544923902 | etot = -5.62847192804131 +590000 ekin = 3.17204827388439 | erot = 3.05134069929102 | epot = -11.8518609010921 | etot = -5.62847192791673 +591000 ekin = 3.19150299842536 | erot = 3.16015018734832 | epot = -11.9801251137674 | etot = -5.6284719279937 +592000 ekin = 3.22264872306185 | erot = 3.29204057519177 | epot = -12.1431612265723 | etot = -5.62847192831868 +593000 ekin = 3.26585695466981 | erot = 3.44092346941487 | epot = -12.3352523529449 | etot = -5.6284719288602 +594000 ekin = 3.31918005198706 | erot = 3.59965335604983 | epot = -12.5473053376027 | etot = -5.62847192956579 +595000 ekin = 3.37897127085281 | erot = 3.76045843945238 | epot = -12.7679016405963 | etot = -5.62847193029108 +596000 ekin = 3.43824068580398 | erot = 3.91359738328686 | epot = -12.980310001717 | etot = -5.62847193262616 +597000 ekin = 3.48744876799044 | erot = 4.04782437863043 | epot = -13.1637450798808 | etot = -5.62847193325989 +598000 ekin = 3.52187002170255 | erot = 4.15698580426831 | epot = -13.307327759585 | etot = -5.62847193361412 +599000 ekin = 3.53831455071624 | erot = 4.23767846711066 | epot = -13.4044649515128 | etot = -5.62847193368587 +600000 ekin = 3.53510970428707 | erot = 4.28920847103936 | epot = -13.4527901088444 | etot = -5.62847193351797 +601000 ekin = 3.51191041815786 | erot = 4.31320178192802 | epot = -13.4535841332659 | etot = -5.62847193318003 +602000 ekin = 3.46937521143574 | erot = 4.31295152736691 | epot = -13.4107986715493 | etot = -5.62847193274661 +603000 ekin = 3.40882221238013 | erot = 4.29270411924618 | epot = -13.3299982639056 | etot = -5.62847193227927 +604000 ekin = 3.33194570978559 | erot = 4.2570524585947 | epot = -13.2174701001989 | etot = -5.62847193181861 +605000 ekin = 3.24062643783893 | erot = 4.21052248032778 | epot = -13.0796208495513 | etot = -5.62847193138458 +606000 ekin = 3.13683319322064 | erot = 4.15735875790268 | epot = -12.9226638821045 | etot = -5.62847193098114 +607000 ekin = 3.02259481106322 | erot = 4.1014670376604 | epot = -12.752533779326 | etot = -5.62847193060236 +608000 ekin = 2.90001652257406 | erot = 4.04645475149492 | epot = -12.5749432043072 | etot = -5.62847193023822 +609000 ekin = 2.7713172880563 | erot = 3.99571460773251 | epot = -12.3955038256672 | etot = -5.62847192987839 +610000 ekin = 2.63886938888094 | erot = 3.95250622983135 | epot = -12.219847548229 | etot = -5.6284719295167 +611000 ekin = 2.50524882248118 | erot = 3.92003293769894 | epot = -12.0537536890432 | etot = -5.6284719288631 +612000 ekin = 2.3738208727921 | erot = 3.90218869845917 | epot = -11.9044814997854 | etot = -5.62847192853414 +613000 ekin = 2.24769613360649 | erot = 3.9018678874184 | epot = -11.77803594925 | etot = -5.6284719282251 +614000 ekin = 2.12975142860158 | erot = 3.92103062107246 | epot = -11.6792539776525 | etot = -5.62847192797845 +615000 ekin = 2.02283676460709 | erot = 3.9608005682159 | epot = -11.6121092606515 | etot = -5.62847192782847 +616000 ekin = 1.92967019040109 | erot = 4.02099162177929 | epot = -11.579133739989 | etot = -5.62847192780864 +617000 ekin = 1.85273791854346 | erot = 4.09974474399252 | epot = -11.5809545904839 | etot = -5.62847192794792 +618000 ekin = 1.79420296287054 | erot = 4.19322703618216 | epot = -11.6159019273126 | etot = -5.62847192825989 +619000 ekin = 1.75583197419359 | erot = 4.29552606643173 | epot = -11.6798299693548 | etot = -5.62847192872946 +620000 ekin = 1.73895870088423 | erot = 4.39891672371453 | epot = -11.7663473539013 | etot = -5.6284719293025 +621000 ekin = 1.74449834705652 | erot = 4.49462250663369 | epot = -11.867592783578 | etot = -5.62847192988775 +622000 ekin = 1.77300875716763 | erot = 4.57403518090684 | epot = -11.9755158684539 | etot = -5.62847193037939 +623000 ekin = 1.82476626655654 | erot = 4.63011744395741 | epot = -12.0833556412062 | etot = -5.62847193069226 +624000 ekin = 1.89980556085527 | erot = 4.65854151395705 | epot = -12.1868190056079 | etot = -5.62847193079563 +625000 ekin = 1.99788930996706 | erot = 4.658170601646 | epot = -12.2845318423309 | etot = -5.62847193071786 +626000 ekin = 2.11841938996678 | erot = 4.63077870088668 | epot = -12.3776700213792 | etot = -5.62847193052572 +627000 ekin = 2.26034340488758 | erot = 4.58024268392336 | epot = -12.4690580190999 | etot = -5.62847193028892 +628000 ekin = 2.42211143970931 | erot = 4.51161612048185 | epot = -12.5621994902529 | etot = -5.62847193006177 +629000 ekin = 2.60047669400347 | erot = 4.43316974503215 | epot = -12.6621183684369 | etot = -5.62847192940126 +630000 ekin = 2.75035748991735 | erot = 4.31003905744608 | epot = -12.6888685130675 | etot = -5.62847196570411 +631000 ekin = 2.81471524132015 | erot = 4.11774535986825 | epot = -12.5609325369493 | etot = -5.62847193576088 +632000 ekin = 2.9586755220506 | erot = 4.07926707201668 | epot = -12.6664145269351 | etot = -5.62847193286781 +633000 ekin = 3.21010693581923 | erot = 4.20581326814194 | epot = -13.0443921660353 | etot = -5.62847196207413 +634000 ekin = 3.41641131487995 | erot = 4.25928215924009 | epot = -13.304165410488 | etot = -5.62847193636795 +635000 ekin = 3.57385274065781 | erot = 4.24018711595442 | epot = -13.4425117937506 | etot = -5.62847193713836 +636000 ekin = 3.71894531185721 | erot = 4.21896102697364 | epot = -13.5663782768054 | etot = -5.62847193797452 +637000 ekin = 3.84555962844625 | erot = 4.19009538986558 | epot = -13.6641269569819 | etot = -5.62847193867003 +638000 ekin = 3.94874232724621 | erot = 4.14881281920061 | epot = -13.7260270854857 | etot = -5.6284719390389 +639000 ekin = 4.02564653206276 | erot = 4.09271382113576 | epot = -13.7468322922034 | etot = -5.62847193900491 +640000 ekin = 4.07582551377061 | erot = 4.02260436112642 | epot = -13.7269018135144 | etot = -5.62847193861737 +641000 ekin = 4.10019063778084 | erot = 3.94203419560204 | epot = -13.6706967718469 | etot = -5.62847193846401 +642000 ekin = 4.0992358601055 | erot = 3.85569636504571 | epot = -13.5834041630362 | etot = -5.62847193788503 +643000 ekin = 4.07616079997735 | erot = 3.76850329627695 | epot = -13.473136033615 | etot = -5.62847193736071 +644000 ekin = 4.03483546325761 | erot = 3.6842853840609 | epot = -13.3475927842648 | etot = -5.62847193694628 +645000 ekin = 3.97939693555572 | erot = 3.60521279241213 | epot = -13.2130816645928 | etot = -5.62847193662499 +646000 ekin = 3.914241574152 | erot = 3.53197746510563 | epot = -13.0746909755998 | etot = -5.62847193634215 +647000 ekin = 3.84412108375504 | erot = 3.46430751170712 | epot = -12.9369005316455 | etot = -5.62847193618331 +648000 ekin = 3.77442093470216 | erot = 3.40030625094633 | epot = -12.8031991215143 | etot = -5.62847193586579 +649000 ekin = 3.71064844421026 | erot = 3.33902116856895 | epot = -12.6781415483232 | etot = -5.62847193554397 +650000 ekin = 3.65777288978035 | erot = 3.28036981757215 | epot = -12.566614642624 | etot = -5.62847193527149 +651000 ekin = 3.61962254765 | erot = 3.22458240430774 | epot = -12.4726768870525 | etot = -5.62847193509476 +652000 ekin = 3.59838866990065 | erot = 3.17201593040562 | epot = -12.3988765353386 | etot = -5.62847193503232 +653000 ekin = 3.59447660065128 | erot = 3.12302902485726 | epot = -12.3459775605759 | etot = -5.62847193506737 +654000 ekin = 3.60674141924375 | erot = 3.07797678369351 | epot = -12.313190138097 | etot = -5.62847193515974 +655000 ekin = 3.6329884131546 | erot = 3.03728497078528 | epot = -12.2987453192105 | etot = -5.62847193527063 +656000 ekin = 3.67052655532243 | erot = 3.00147990300574 | epot = -12.3004783937154 | etot = -5.62847193538727 +657000 ekin = 3.71734630707259 | erot = 2.97084073554712 | epot = -12.3166589780138 | etot = -5.62847193539409 +658000 ekin = 3.75778663170118 | erot = 2.94872940849709 | epot = -12.3349879989872 | etot = -5.62847195878893 +659000 ekin = 3.70128994164513 | erot = 2.99267200652722 | epot = -12.3224338839004 | etot = -5.62847193572804 +660000 ekin = 3.77980484677394 | erot = 3.05081678593039 | epot = -12.4590935967804 | etot = -5.62847196407602 +661000 ekin = 3.87674047130434 | erot = 3.02043722447083 | epot = -12.5256496411378 | etot = -5.62847194536264 +662000 ekin = 3.96189665312228 | erot = 2.9729451066035 | epot = -12.5633137060314 | etot = -5.62847194630559 +663000 ekin = 4.03233992124012 | erot = 2.90724728967908 | epot = -12.5680591572493 | etot = -5.62847194633005 +664000 ekin = 4.08703350789502 | erot = 2.82371074128155 | epot = -12.5392161949875 | etot = -5.62847194581096 +665000 ekin = 4.13016908284495 | erot = 2.72591755767246 | epot = -12.4845585855709 | etot = -5.62847194505346 +666000 ekin = 4.16485763703889 | erot = 2.62158318065064 | epot = -12.4149127617649 | etot = -5.62847194407538 +667000 ekin = 4.19388444244747 | erot = 2.5204804655618 | epot = -12.3428368513263 | etot = -5.62847194331707 +668000 ekin = 4.21970111376775 | erot = 2.43117566536091 | epot = -12.2793487218942 | etot = -5.62847194276556 +669000 ekin = 4.24419480075555 | erot = 2.35970998750672 | epot = -12.2323767306686 | etot = -5.62847194240629 +670000 ekin = 4.26650932853713 | erot = 2.31009212975349 | epot = -12.2050734005681 | etot = -5.62847194227748 +671000 ekin = 4.28028750593881 | erot = 2.28394068948421 | epot = -12.192700137648 | etot = -5.62847194222501 +672000 ekin = 4.28604953828195 | erot = 2.2808770094442 | epot = -12.1953984899153 | etot = -5.62847194218917 +673000 ekin = 4.28538320994761 | erot = 2.29981058114364 | epot = -12.2136657332365 | etot = -5.62847194214521 +674000 ekin = 4.28032637899501 | erot = 2.33931519995972 | epot = -12.2481135210592 | etot = -5.62847194210451 +675000 ekin = 4.27310613156474 | erot = 2.39770546337526 | epot = -12.2992835370552 | etot = -5.62847194211517 +676000 ekin = 4.26563141856059 | erot = 2.47283047860335 | epot = -12.3669338394392 | etot = -5.62847194227529 +677000 ekin = 4.25873601035467 | erot = 2.56159475141872 | epot = -12.448802704407 | etot = -5.62847194263361 +678000 ekin = 4.2515438341777 | erot = 2.65951246668713 | epot = -12.5395282441051 | etot = -5.62847194324031 +679000 ekin = 4.24120573471807 | erot = 2.76057514757248 | epot = -12.6302528263307 | etot = -5.62847194404019 +680000 ekin = 4.22320051186228 | erot = 2.85770689110643 | epot = -12.7093793478391 | etot = -5.62847194487038 +681000 ekin = 4.19242845455841 | erot = 2.94400272552496 | epot = -12.7649031255833 | etot = -5.62847194549996 +682000 ekin = 4.14477706340556 | erot = 3.01435956391996 | epot = -12.7876085730722 | etot = -5.62847194574666 +683000 ekin = 4.07850194581341 | erot = 3.06669689312527 | epot = -12.7736707845003 | etot = -5.6284719455616 +684000 ekin = 3.98766788583267 | erot = 3.09062770660156 | epot = -12.706767542821 | etot = -5.62847195038674 +685000 ekin = 3.8760997603181 | erot = 3.07213118865403 | epot = -12.5767028926492 | etot = -5.62847194367705 +686000 ekin = 3.78865422790986 | erot = 3.05379982538352 | epot = -12.4709259956439 | etot = -5.62847194235048 +687000 ekin = 3.7288563812245 | erot = 3.05128310405213 | epot = -12.408611432508 | etot = -5.62847194723138 +688000 ekin = 3.65488085466451 | erot = 3.04382149773097 | epot = -12.3271742987358 | etot = -5.62847194634028 +689000 ekin = 3.57606770149366 | erot = 3.03834252507491 | epot = -12.2428821722026 | etot = -5.62847194563407 +690000 ekin = 3.51634425567094 | erot = 3.04775260797855 | epot = -12.1925688087709 | etot = -5.62847194512142 +691000 ekin = 3.47971445752948 | erot = 3.07622358479915 | epot = -12.1844099871964 | etot = -5.62847194486774 +692000 ekin = 3.46765181268596 | erot = 3.12642449717242 | epot = -12.2225482547928 | etot = -5.62847194493445 +693000 ekin = 3.47854301565517 | erot = 3.19918358097393 | epot = -12.3061985419641 | etot = -5.62847194533503 +694000 ekin = 3.50760869812599 | erot = 3.2934044104255 | epot = -12.4294850545637 | etot = -5.6284719460122 +695000 ekin = 3.54747029174784 | erot = 3.40637947899957 | epot = -12.5823217175954 | etot = -5.62847194684794 +696000 ekin = 3.58927155174932 | erot = 3.53441505478472 | epot = -12.7521585542382 | etot = -5.6284719477042 +697000 ekin = 3.62399868532267 | erot = 3.67347767287036 | epot = -12.9259483066525 | etot = -5.62847194845942 +698000 ekin = 3.64429609765447 | erot = 3.81929275578106 | epot = -13.0920608025405 | etot = -5.62847194910502 +699000 ekin = 3.64411727660344 | erot = 3.96826912270823 | epot = -13.2408583488323 | etot = -5.62847194952066 +700000 ekin = 3.61972386486613 | erot = 4.11779628896031 | epot = -13.3659921035143 | etot = -5.62847194968783 +701000 ekin = 3.57045543141783 | erot = 4.26605645103649 | epot = -13.4649838321906 | etot = -5.6284719497363 +702000 ekin = 3.49917622959634 | erot = 4.41037029478515 | epot = -13.5380184739931 | etot = -5.62847194961158 +703000 ekin = 3.41079978159128 | erot = 4.54773448459995 | epot = -13.5870062155707 | etot = -5.62847194937949 +704000 ekin = 3.31149657263073 | erot = 4.67560464070122 | epot = -13.6155731624158 | etot = -5.62847194908389 +705000 ekin = 3.208079030569 | erot = 4.79162132869341 | epot = -13.6281723080447 | etot = -5.62847194878226 +706000 ekin = 3.10702043908273 | erot = 4.89365607485804 | epot = -13.6291484624854 | etot = -5.62847194854463 +707000 ekin = 3.01353531424254 | erot = 4.97967086400049 | epot = -13.6216781266835 | etot = -5.62847194844046 +708000 ekin = 2.93091332961603 | erot = 5.04739802040938 | epot = -13.6067832985419 | etot = -5.62847194851649 +709000 ekin = 2.86026033891818 | erot = 5.09399325378486 | epot = -13.5827255414769 | etot = -5.62847194877389 +710000 ekin = 2.80069789554938 | erot = 5.11589857280283 | epot = -13.5450684175111 | etot = -5.6284719491589 +711000 ekin = 2.74994326422268 | erot = 5.10911210216224 | epot = -13.4875273159535 | etot = -5.62847194956863 +712000 ekin = 2.70509857042167 | erot = 5.06990681741588 | epot = -13.4034773377164 | etot = -5.6284719498788 +713000 ekin = 2.66343594258145 | erot = 4.99582282577925 | epot = -13.2877307183444 | etot = -5.6284719499837 +714000 ekin = 2.62297982883473 | erot = 4.88658411822028 | epot = -13.1380358968879 | etot = -5.62847194983286 +715000 ekin = 2.58275404776271 | erot = 4.74456650518315 | epot = -12.9557925023948 | etot = -5.62847194944894 +716000 ekin = 2.54267933996016 | erot = 4.57461726476494 | epot = -12.7457685536363 | etot = -5.62847194891119 +717000 ekin = 2.5033469203234 | erot = 4.38348005467583 | epot = -12.5152989229978 | etot = -5.62847194799853 +718000 ekin = 2.46867182063301 | erot = 4.18280619312982 | epot = -12.2799499615047 | etot = -5.62847194774182 +719000 ekin = 2.44027484673925 | erot = 3.97913844296029 | epot = -12.0478852371905 | etot = -5.628471947491 +720000 ekin = 2.41790751040199 | erot = 3.77617089319515 | epot = -11.8225503508476 | etot = -5.6284719472505 +721000 ekin = 2.40130900330153 | erot = 3.57751641390117 | epot = -11.6072973642256 | etot = -5.62847194702291 +722000 ekin = 2.39001969448122 | erot = 3.3862093336106 | epot = -11.4047009751078 | etot = -5.62847194701602 +723000 ekin = 2.38288808222113 | erot = 3.20447847619705 | epot = -11.2158385051369 | etot = -5.62847194671873 +724000 ekin = 2.38038137261199 | erot = 3.03585463105936 | epot = -11.0447079501193 | etot = -5.62847194644795 +725000 ekin = 2.38334904386777 | erot = 2.88343528888341 | epot = -10.8952562789589 | etot = -5.62847194620774 +726000 ekin = 2.39277988819888 | erot = 2.74974572537002 | epot = -10.770997559572 | etot = -5.62847194600309 +727000 ekin = 2.40968215743344 | erot = 2.63676770312689 | epot = -10.6749218064005 | etot = -5.62847194584012 +728000 ekin = 2.42515138002469 | erot = 2.54412147907801 | epot = -10.5977448184551 | etot = -5.62847195935242 +729000 ekin = 2.40297855344215 | erot = 2.51475999952154 | epot = -10.5462104923917 | etot = -5.62847193942804 +730000 ekin = 2.46310039286495 | erot = 2.54088838271553 | epot = -10.6324607145563 | etot = -5.62847193897584 +731000 ekin = 2.53308642096613 | erot = 2.54954386947211 | epot = -10.711102229505 | etot = -5.62847193906673 +732000 ekin = 2.61398262093143 | erot = 2.5802487460585 | epot = -10.822703306265 | etot = -5.62847193927504 +733000 ekin = 2.70404858445948 | erot = 2.63167940201831 | epot = -10.9641999261219 | etot = -5.62847193964411 +734000 ekin = 2.80051950065896 | erot = 2.7013292984616 | epot = -11.130320739341 | etot = -5.62847194022042 +735000 ekin = 2.89941283715917 | erot = 2.78510796769434 | epot = -11.312992745887 | etot = -5.62847194103353 +736000 ekin = 2.99560133056514 | erot = 2.87741009023047 | epot = -11.5014833618905 | etot = -5.62847194109488 +737000 ekin = 3.08481605479911 | erot = 2.97524489366734 | epot = -11.6885328904478 | etot = -5.62847194198136 +738000 ekin = 3.16217862812249 | erot = 3.07317374875599 | epot = -11.8638243196778 | etot = -5.62847194279929 +739000 ekin = 3.22336037209491 | erot = 3.16493875126528 | epot = -12.0167710667071 | etot = -5.62847194334687 +740000 ekin = 3.26585131613638 | erot = 3.24522139632786 | epot = -12.1395446568944 | etot = -5.62847194443018 +741000 ekin = 3.28375382499279 | erot = 3.29991441187171 | epot = -12.2121401812924 | etot = -5.62847194442793 +742000 ekin = 3.27631313143846 | erot = 3.3240861171076 | epot = -12.2288711924857 | etot = -5.6284719439396 +743000 ekin = 3.24737724800463 | erot = 3.32046927276587 | epot = -12.1963184639691 | etot = -5.62847194319862 +744000 ekin = 3.20210603611902 | erot = 3.29401551194478 | epot = -12.1245934904807 | etot = -5.62847194241693 +745000 ekin = 3.14567705897692 | erot = 3.25033567018705 | epot = -12.0244846708759 | etot = -5.62847194171191 +746000 ekin = 3.08279906283019 | erot = 3.19521988704382 | epot = -11.9064908907384 | etot = -5.62847194086443 +747000 ekin = 3.01768881746883 | erot = 3.13473855330661 | epot = -11.7808993111576 | etot = -5.62847194038213 +748000 ekin = 2.95302867441137 | erot = 3.07321432162006 | epot = -11.6547149359761 | etot = -5.62847193994465 +749000 ekin = 2.89104396144326 | erot = 3.01469856715425 | epot = -11.5342144681276 | etot = -5.62847193953008 +750000 ekin = 2.83379417430614 | erot = 2.96315742665335 | epot = -11.4254235400924 | etot = -5.62847193913296 +751000 ekin = 2.78329891283332 | erot = 2.92241777463976 | epot = -11.3341886262355 | etot = -5.62847193876246 +752000 ekin = 2.74156846320063 | erot = 2.89600799331209 | epot = -11.266048394949 | etot = -5.62847193843623 +753000 ekin = 2.71056677633252 | erot = 2.88693753461072 | epot = -11.2259762491218 | etot = -5.62847193817852 +754000 ekin = 2.69212502656379 | erot = 2.8974312596522 | epot = -11.2180282242366 | etot = -5.62847193802059 +755000 ekin = 2.68776538359871 | erot = 2.92849871106126 | epot = -11.2447360327333 | etot = -5.62847193807333 +756000 ekin = 2.69845743031605 | erot = 2.97938409378998 | epot = -11.3063134623401 | etot = -5.62847193823404 +757000 ekin = 2.72458496411422 | erot = 3.04788425640591 | epot = -11.4009411591564 | etot = -5.62847193863626 +758000 ekin = 2.76540921277961 | erot = 3.12962823298844 | epot = -11.523509385085 | etot = -5.62847193931699 +759000 ekin = 2.8186834205773 | erot = 3.21794575410196 | epot = -11.6651011149394 | etot = -5.62847194026013 +760000 ekin = 2.88053746469875 | erot = 3.30429272414901 | epot = -11.8133021301939 | etot = -5.62847194134618 +761000 ekin = 2.94600007662043 | erot = 3.37947250565271 | epot = -11.9539445245983 | etot = -5.62847194232513 +762000 ekin = 3.01037281069867 | erot = 3.43568700389847 | epot = -12.0745317574868 | etot = -5.6284719428897 +763000 ekin = 3.07103775518422 | erot = 3.46881600092524 | epot = -12.1683256989529 | etot = -5.62847194284345 +764000 ekin = 3.12866395060911 | erot = 3.47975039715677 | epot = -12.2368862900023 | etot = -5.62847194223643 +765000 ekin = 3.18696433111185 | erot = 3.47390232181757 | epot = -12.2893385942623 | etot = -5.62847194133286 +766000 ekin = 3.25112146438474 | erot = 3.45917589095791 | epot = -12.3387692957924 | etot = -5.62847194044976 +767000 ekin = 3.32577328188977 | erot = 3.44357056043203 | epot = -12.3978157821425 | etot = -5.62847193982066 +768000 ekin = 3.4134183336462 | erot = 3.43342634965397 | epot = -12.4753166228542 | etot = -5.62847193955402 +769000 ekin = 3.51361597928388 | erot = 3.43258837720667 | epot = -12.5746762961495 | etot = -5.628471939659 +770000 ekin = 3.62296220584402 | erot = 3.44225950948084 | epot = -12.6936936554077 | etot = -5.62847194008282 +771000 ekin = 3.67754209849416 | erot = 3.42051682715851 | epot = -12.7265308934616 | etot = -5.62847196780898 +772000 ekin = 3.59351734054848 | erot = 3.35849685486605 | epot = -12.5804861289567 | etot = -5.62847193354221 +773000 ekin = 3.58504863443413 | erot = 3.48413941929281 | epot = -12.6976599869986 | etot = -5.62847193327161 +774000 ekin = 3.6955624666272 | erot = 3.75600381554418 | epot = -13.0800382509718 | etot = -5.62847196880046 +775000 ekin = 3.75799646994502 | erot = 3.87395641002164 | epot = -13.2604248525124 | etot = -5.6284719725457 +776000 ekin = 3.76514931014297 | erot = 3.89275295601426 | epot = -13.2863742388756 | etot = -5.62847197271834 +777000 ekin = 3.74852837941783 | erot = 3.88975944389829 | epot = -13.2667597956642 | etot = -5.6284719723481 +778000 ekin = 3.71300754026198 | erot = 3.86527182184886 | epot = -13.2067513337439 | etot = -5.62847197163307 +779000 ekin = 3.66665793080371 | erot = 3.82295167554327 | epot = -13.1180815768782 | etot = -5.62847197053126 +780000 ekin = 3.6197277314815 | erot = 3.76957330498926 | epot = -13.0177730057584 | etot = -5.62847196928763 +781000 ekin = 3.58276242526763 | erot = 3.71368279686272 | epot = -12.9249171903313 | etot = -5.62847196820099 +782000 ekin = 3.56434384287052 | erot = 3.663446216256 | epot = -12.8562620266381 | etot = -5.62847196751157 +783000 ekin = 3.569070833758 | erot = 3.62459601372342 | epot = -12.8221388149365 | etot = -5.62847196745505 +784000 ekin = 3.59655578171477 | erot = 3.59908724263203 | epot = -12.8241149921578 | etot = -5.628471967811 +785000 ekin = 3.64263842874724 | erot = 3.58559579679555 | epot = -12.8567061940348 | etot = -5.628471968492 +786000 ekin = 3.70061363559346 | erot = 3.58032714296196 | epot = -12.9094127478413 | etot = -5.62847196928587 +787000 ekin = 3.76290289520346 | erot = 3.57827846498719 | epot = -12.9696533302383 | etot = -5.62847197004765 +788000 ekin = 3.82230691235523 | erot = 3.57432079346976 | epot = -13.0250996764999 | etot = -5.62847197067496 +789000 ekin = 3.87288355994426 | erot = 3.56402750529852 | epot = -13.0653830363495 | etot = -5.62847197110668 +790000 ekin = 3.91054381107001 | erot = 3.54422213352492 | epot = -13.0832379158633 | etot = -5.62847197126834 +791000 ekin = 3.93344679983575 | erot = 3.51333982582914 | epot = -13.0752585968492 | etot = -5.62847197118435 +792000 ekin = 3.94193166979322 | erot = 3.47142235483933 | epot = -13.041825995538 | etot = -5.6284719709054 +793000 ekin = 3.93805337465015 | erot = 3.41982689853169 | epot = -12.9863522436869 | etot = -5.62847197050506 +794000 ekin = 3.92496167504177 | erot = 3.36081973487931 | epot = -12.914253379975 | etot = -5.62847197005388 +795000 ekin = 3.90631843202764 | erot = 3.29713731843621 | epot = -12.8319277200719 | etot = -5.62847196960807 +796000 ekin = 3.88587920094623 | erot = 3.2315810082019 | epot = -12.7459321783521 | etot = -5.62847196920401 +797000 ekin = 3.86724402826997 | erot = 3.16668037665964 | epot = -12.6623963737923 | etot = -5.62847196886266 +798000 ekin = 3.85371944458176 | erot = 3.10446220744812 | epot = -12.5866536206206 | etot = -5.62847196859071 +799000 ekin = 3.84821326129611 | erot = 3.04637406894326 | epot = -12.5230592986259 | etot = -5.62847196838653 +800000 ekin = 3.85308746119908 | erot = 2.99338091153568 | epot = -12.4749403409776 | etot = -5.62847196824285 +801000 ekin = 3.86994742120005 | erot = 2.94620265084506 | epot = -12.444622040199 | etot = -5.6284719681539 +802000 ekin = 3.89938743556193 | erot = 2.90559564242602 | epot = -12.4334550461071 | etot = -5.62847196811911 +803000 ekin = 3.94077451983175 | erot = 2.8725536318446 | epot = -12.441800119818 | etot = -5.62847196814163 +804000 ekin = 3.99217445543376 | erot = 2.84833794173038 | epot = -12.4689843653885 | etot = -5.62847196822432 +805000 ekin = 4.05048829026687 | erot = 2.83432176470912 | epot = -12.5132820233421 | etot = -5.62847196836608 +806000 ekin = 4.11178329751052 | erot = 2.83170980353165 | epot = -12.5719650696039 | etot = -5.62847196856174 +807000 ekin = 4.17172086390648 | erot = 2.84122318457455 | epot = -12.6414160172863 | etot = -5.62847196880528 +808000 ekin = 4.22595471214784 | erot = 2.86283161284251 | epot = -12.7172582940824 | etot = -5.62847196909201 +809000 ekin = 4.27041103455395 | erot = 2.89559061414517 | epot = -12.7944736181159 | etot = -5.62847196941681 +810000 ekin = 4.3014357915028 | erot = 2.93761851690391 | epot = -12.8675262781752 | etot = -5.62847196976853 +811000 ekin = 4.31585912480079 | erot = 2.9862278240649 | epot = -12.930558918992 | etot = -5.62847197012628 +812000 ekin = 4.31104963118775 | erot = 3.0381997476329 | epot = -12.9777213492781 | etot = -5.62847197045748 +813000 ekin = 4.28501152838114 | erot = 3.0901583710543 | epot = -13.0036418701586 | etot = -5.62847197072312 +814000 ekin = 4.23653530230676 | erot = 3.13897206756234 | epot = -13.0039793407554 | etot = -5.62847197088632 +815000 ekin = 4.16537042737931 | erot = 3.18209773865592 | epot = -12.9759401369568 | etot = -5.62847197092152 +816000 ekin = 4.07236517435923 | erot = 3.21779646432864 | epot = -12.9186336095086 | etot = -5.62847197082074 +817000 ekin = 3.95951977391364 | erot = 3.24518380278537 | epot = -12.8331755472951 | etot = -5.62847197059607 +818000 ekin = 3.82991762635876 | erot = 3.26412066883377 | epot = -12.7225102654719 | etot = -5.62847197027939 +819000 ekin = 3.68753356656504 | erot = 3.274989029105 | epot = -12.590994565573 | etot = -5.62847196990294 +820000 ekin = 3.53699106730962 | erot = 3.27842149090396 | epot = -12.4438845277236 | etot = -5.62847196950999 +821000 ekin = 3.38323613805522 | erot = 3.27505502164331 | epot = -12.2867631288311 | etot = -5.62847196913258 +822000 ekin = 3.23123737393496 | erot = 3.26537695352475 | epot = -12.1250862962494 | etot = -5.62847196878966 +823000 ekin = 3.08574116249628 | erot = 3.24970236664698 | epot = -11.9639154976287 | etot = -5.62847196848548 +824000 ekin = 2.95109919834906 | erot = 3.22828590270062 | epot = -11.8078570692609 | etot = -5.62847196821119 +825000 ekin = 2.83117167296369 | erot = 3.20152981083048 | epot = -11.6611734517467 | etot = -5.62847196795251 +826000 ekin = 2.72929448949813 | erot = 3.17021233016805 | epot = -11.5279787873624 | etot = -5.62847196769619 +827000 ekin = 2.64828540338987 | erot = 3.13564460937196 | epot = -11.4124019802009 | etot = -5.62847196743903 +828000 ekin = 2.5904526875204 | erot = 3.09968027863752 | epot = -11.3186049333498 | etot = -5.6284719671919 +829000 ekin = 2.55756748988894 | erot = 3.06454892028369 | epot = -11.2505883771529 | etot = -5.62847196698028 +830000 ekin = 2.55077388386594 | erot = 3.03254604850139 | epot = -11.2117918992051 | etot = -5.62847196683773 +831000 ekin = 2.57043726045413 | erot = 3.00566097437001 | epot = -11.2045702016212 | etot = -5.62847196679708 +832000 ekin = 2.61596871090219 | erot = 2.98524787914233 | epot = -11.229688556925 | etot = -5.6284719668805 +833000 ekin = 2.68568117813862 | erot = 2.97182255651397 | epot = -11.2859757017456 | etot = -5.62847196709305 +834000 ekin = 2.77673678084328 | erot = 2.96502424281942 | epot = -11.3702329910841 | etot = -5.62847196742142 +835000 ekin = 2.88522064267949 | erot = 2.96372965159491 | epot = -11.4774222621122 | etot = -5.62847196783783 +836000 ekin = 3.0063398455796 | erot = 2.96626860503604 | epot = -11.6010804189229 | etot = -5.62847196830727 +837000 ekin = 3.13471078894618 | erot = 2.970671332171 | epot = -11.7338540899128 | etot = -5.62847196879559 +838000 ekin = 3.26467977004394 | erot = 2.9748901905619 | epot = -11.86804192988 | etot = -5.62847196927416 +839000 ekin = 3.39062362138979 | erot = 2.97696578858225 | epot = -11.9960613796947 | etot = -5.62847196972267 +840000 ekin = 3.50719614194999 | erot = 2.97513773435446 | epot = -12.1108058464317 | etot = -5.6284719701272 +841000 ekin = 3.60951430409246 | erot = 2.96792302618422 | epot = -12.2059093007524 | etot = -5.62847197047575 +842000 ekin = 3.69330308348183 | erot = 2.95419217455893 | epot = -12.2759672287961 | etot = -5.62847197075532 +843000 ekin = 3.75502928038789 | erot = 2.93326272963042 | epot = -12.3167639809676 | etot = -5.6284719709493 +844000 ekin = 3.79205095730746 | erot = 2.90501003271159 | epot = -12.3255329610568 | etot = -5.6284719710377 +845000 ekin = 3.80278826958941 | erot = 2.86997708316237 | epot = -12.3012373237539 | etot = -5.62847197100208 +846000 ekin = 3.78689078342828 | erot = 2.82944607152358 | epot = -12.2448088257836 | etot = -5.6284719708317 +847000 ekin = 3.74534923732902 | erot = 2.78543387912981 | epot = -12.1592550869891 | etot = -5.62847197053025 +848000 ekin = 3.68048960888628 | erot = 2.74058491148344 | epot = -12.0495464904896 | etot = -5.62847197011993 +849000 ekin = 3.59580402255204 | erot = 2.69795473402186 | epot = -11.9222307262171 | etot = -5.62847196964325 +850000 ekin = 3.49561210989736 | erot = 2.66069826229511 | epot = -11.7847823413462 | etot = -5.62847196915371 +851000 ekin = 3.38460421148492 | erot = 2.63169878929639 | epot = -11.6447749694902 | etot = -5.62847196870891 +852000 ekin = 3.26735834604579 | erot = 2.61319105427311 | epot = -11.5090213686769 | etot = -5.62847196835798 +853000 ekin = 3.14792970804226 | erot = 2.60644045917402 | epot = -11.3828421353463 | etot = -5.62847196813006 +854000 ekin = 3.0296172146285 | erot = 2.61155167678953 | epot = -11.2696408594426 | etot = -5.62847196802458 +855000 ekin = 2.91497870617726 | erot = 2.62749311879696 | epot = -11.1709437929948 | etot = -5.62847196802053 +856000 ekin = 2.80592683617268 | erot = 2.65229723507084 | epot = -11.086696039322 | etot = -5.6284719680785 +857000 ekin = 2.70394323081684 | erot = 2.68342637125215 | epot = -11.015841570225 | etot = -5.62847196815598 +858000 ekin = 2.61028084993387 | erot = 2.71820874456432 | epot = -10.9569615627179 | etot = -5.62847196821974 +859000 ekin = 2.52608469656868 | erot = 2.75423459875954 | epot = -10.9087912635804 | etot = -5.6284719682522 +860000 ekin = 2.45241725307689 | erot = 2.78962480136954 | epot = -10.8705140226977 | etot = -5.62847196825129 +861000 ekin = 2.39021948293556 | erot = 2.8231315036545 | epot = -10.8418229548166 | etot = -5.62847196822653 +862000 ekin = 2.34025129519653 | erot = 2.8540794641069 | epot = -10.8228027274973 | etot = -5.62847196819388 +863000 ekin = 2.30304188808604 | erot = 2.8821927766783 | epot = -10.8137066329357 | etot = -5.62847196817133 +864000 ekin = 2.27886006044868 | erot = 2.90737073908666 | epot = -10.8147027677094 | etot = -5.62847196817405 +865000 ekin = 2.26770197216494 | erot = 2.92947677509682 | epot = -10.8256507154733 | etot = -5.62847196821149 +866000 ekin = 2.26929189271583 | erot = 2.94819404278774 | epot = -10.845957903789 | etot = -5.62847196828544 +867000 ekin = 2.28309242201064 | erot = 2.96298089342183 | epot = -10.8745452838223 | etot = -5.62847196838983 +868000 ekin = 2.30832281686981 | erot = 2.97313399123391 | epot = -10.9099287766154 | etot = -5.62847196851167 +869000 ekin = 2.34398135142967 | erot = 2.97793980556504 | epot = -10.9503931256294 | etot = -5.62847196863466 +870000 ekin = 2.38886744731908 | erot = 2.9768680983503 | epot = -10.9942075144143 | etot = -5.62847196874495 +871000 ekin = 2.44159861772528 | erot = 2.96974175433465 | epot = -11.0398123408954 | etot = -5.62847196883551 +872000 ekin = 2.50061961565798 | erot = 2.95681803701343 | epot = -11.0859096215799 | etot = -5.62847196890848 +873000 ekin = 2.56420808097439 | erot = 2.93874614067396 | epot = -11.131426190622 | etot = -5.62847196897363 +874000 ekin = 2.63049126981213 | erot = 2.91641905790467 | epot = -11.175382296758 | etot = -5.62847196904118 +875000 ekin = 2.69749664404329 | erot = 2.8907906901858 | epot = -11.2167593033423 | etot = -5.62847196911322 +876000 ekin = 2.7632574083448 | erot = 2.86275138579259 | epot = -11.254480763316 | etot = -5.62847196917864 +877000 ekin = 2.82597857024908 | erot = 2.83312911642634 | epot = -11.2875796558883 | etot = -5.62847196921292 +878000 ekin = 2.88426505992131 | erot = 2.80282960058492 | epot = -11.3155666296436 | etot = -5.62847196913737 +879000 ekin = 2.93899285456266 | erot = 2.7740255772711 | epot = -11.3414904007463 | etot = -5.62847196891249 +880000 ekin = 2.99074429445928 | erot = 2.7490446637777 | epot = -11.3682609271798 | etot = -5.62847196894281 +881000 ekin = 3.03734868933224 | erot = 2.72816458071191 | epot = -11.3939852388255 | etot = -5.62847196878133 +882000 ekin = 3.07935286284048 | erot = 2.71303253503703 | epot = -11.4208573664922 | etot = -5.62847196861465 +883000 ekin = 3.11756797041403 | erot = 2.70517731839467 | epot = -11.4512172572897 | etot = -5.62847196848101 +884000 ekin = 3.1528025280678 | erot = 2.70569769606158 | epot = -11.4869721925354 | etot = -5.62847196840606 +885000 ekin = 3.18571613165263 | erot = 2.71504911547609 | epot = -11.5292372155319 | etot = -5.62847196840319 +886000 ekin = 3.21676773348757 | erot = 2.73290580068261 | epot = -11.5781455026473 | etot = -5.62847196847712 +887000 ekin = 3.24623562385912 | erot = 2.75806669107831 | epot = -11.632774283569 | etot = -5.62847196863155 +888000 ekin = 3.27425941974037 | erot = 2.78837179675785 | epot = -11.6911031853683 | etot = -5.62847196887008 +889000 ekin = 3.3008647884799 | erot = 2.82064068491639 | epot = -11.7499774425873 | etot = -5.62847196919104 +890000 ekin = 3.32596924830188 | erot = 2.8507143996669 | epot = -11.8051556175416 | etot = -5.62847196957287 +891000 ekin = 3.34941253195838 | erot = 2.87373382366803 | epot = -11.8516183255886 | etot = -5.62847196996221 +892000 ekin = 3.37107523516432 | erot = 2.88476437049021 | epot = -11.8843115759264 | etot = -5.62847197027186 +893000 ekin = 3.39111185056978 | erot = 2.87974242668336 | epot = -11.8993262476569 | etot = -5.62847197040377 +894000 ekin = 3.41023212865337 | erot = 2.85650829435345 | epot = -11.8952123932958 | etot = -5.62847197028898 +895000 ekin = 3.42987730811632 | erot = 2.8155349942695 | epot = -11.873884272311 | etot = -5.62847196992517 +896000 ekin = 3.45214148913016 | erot = 2.7600121308566 | epot = -11.840625589371 | etot = -5.62847196938424 +897000 ekin = 3.47941735546095 | erot = 2.69521466345503 | epot = -11.803103987699 | etot = -5.628471968783 +898000 ekin = 3.51352961973772 | erot = 2.62737086718366 | epot = -11.7693724683296 | etot = -5.62847198140817 +899000 ekin = 3.48893911372815 | erot = 2.56291214058034 | epot = -11.6803232237633 | etot = -5.62847196945482 +900000 ekin = 3.45535689263727 | erot = 2.55015985129894 | epot = -11.6339887062865 | etot = -5.62847196235031 +901000 ekin = 3.50186288090734 | erot = 2.58894159238171 | epot = -11.7192764490665 | etot = -5.62847197577748 +902000 ekin = 3.56610213565302 | erot = 2.58196928643146 | epot = -11.7765433946361 | etot = -5.62847197255161 +903000 ekin = 3.62814875834234 | erot = 2.56232070352388 | epot = -11.8189414347917 | etot = -5.62847197292552 +904000 ekin = 3.6911239479288 | erot = 2.552476384214 | epot = -11.8720723055553 | etot = -5.62847197341246 +905000 ekin = 3.75091280589186 | erot = 2.54985569682935 | epot = -11.9292404766422 | etot = -5.628471973921 +906000 ekin = 3.8032250685699 | erot = 2.55191272418001 | epot = -11.9836097670979 | etot = -5.62847197434795 +907000 ekin = 3.84434229176419 | erot = 2.55683360446427 | epot = -12.029647870835 | etot = -5.62847197460657 +908000 ekin = 3.87190064590388 | erot = 2.56394104674777 | epot = -12.0643136673071 | etot = -5.62847197465545 +909000 ekin = 3.88547927778207 | erot = 2.57365301057682 | epot = -12.0876042628693 | etot = -5.6284719745104 +910000 ekin = 3.88680451384616 | erot = 2.58702435622899 | epot = -12.1023008443096 | etot = -5.62847197423442 +911000 ekin = 3.87951720733514 | erot = 2.60508796196012 | epot = -12.113077143204 | etot = -5.62847197390879 +912000 ekin = 3.86859234124604 | erot = 2.62827701247635 | epot = -12.1253413273305 | etot = -5.62847197360815 +913000 ekin = 3.85955913702666 | erot = 2.65612234800617 | epot = -12.1441534584224 | etot = -5.62847197338953 +914000 ekin = 3.85765974659174 | erot = 2.68725904635078 | epot = -12.1733907656271 | etot = -5.62847197268462 +915000 ekin = 3.86988559266746 | erot = 2.72155495790258 | epot = -12.2199125234306 | etot = -5.62847197286055 +916000 ekin = 3.89721211346838 | erot = 2.75899199543555 | epot = -12.2846760821703 | etot = -5.62847197326639 +917000 ekin = 3.93597306443113 | erot = 2.79756616404038 | epot = -12.3620112021776 | etot = -5.62847197370609 +918000 ekin = 3.98211349688365 | erot = 2.83523643659879 | epot = -12.4458219076339 | etot = -5.62847197415145 +919000 ekin = 4.03109884291744 | erot = 2.8693998294584 | epot = -12.5289706479572 | etot = -5.62847197558134 +920000 ekin = 4.07575006831304 | erot = 2.89203459093893 | epot = -12.5962566351513 | etot = -5.62847197589932 +921000 ekin = 4.11121320159991 | erot = 2.8996370575207 | epot = -12.6393222357595 | etot = -5.6284719766389 +922000 ekin = 4.12946329113093 | erot = 2.8910149125728 | epot = -12.6489501806141 | etot = -5.62847197691034 +923000 ekin = 4.12574551620118 | erot = 2.86656720003828 | epot = -12.6207846931349 | etot = -5.62847197689544 +924000 ekin = 4.0980625569279 | erot = 2.82817436939836 | epot = -12.5547089029588 | etot = -5.62847197663253 +925000 ekin = 4.04683813061977 | erot = 2.77889166025841 | epot = -12.4542017670983 | etot = -5.6284719762201 +926000 ekin = 3.97415980827213 | erot = 2.7224048551034 | epot = -12.3250366391405 | etot = -5.62847197576501 +927000 ekin = 3.88290109597355 | erot = 2.66247239441167 | epot = -12.1738454657142 | etot = -5.628471975329 +928000 ekin = 3.7761917261226 | erot = 2.60258197161579 | epot = -12.0072456726475 | etot = -5.62847197490908 +929000 ekin = 3.65741733985558 | erot = 2.54590496225226 | epot = -11.8317942765687 | etot = -5.62847197446088 +930000 ekin = 3.53056331439201 | erot = 2.49545263409286 | epot = -11.6544879224273 | etot = -5.62847197394242 +931000 ekin = 3.40054525982254 | erot = 2.45429284840673 | epot = -11.4833100812613 | etot = -5.62847197303199 +932000 ekin = 3.27351307385926 | erot = 2.4281214285064 | epot = -11.3301064749993 | etot = -5.62847197263363 +933000 ekin = 3.1547941288807 | erot = 2.42017428768359 | epot = -11.2034403887959 | etot = -5.6284719722316 +934000 ekin = 3.04934557269559 | erot = 2.43124949800217 | epot = -11.1090670425772 | etot = -5.62847197187946 +935000 ekin = 2.96178382764498 | erot = 2.46165171578676 | epot = -11.0519075150532 | etot = -5.62847197162141 +936000 ekin = 2.89581269402263 | erot = 2.51113391191419 | epot = -11.03541857742 | etot = -5.62847197148319 +937000 ekin = 2.85385879505556 | erot = 2.5788978601622 | epot = -11.0612286266873 | etot = -5.62847197146952 +938000 ekin = 2.83694342970363 | erot = 2.66364816115637 | epot = -11.1290635624289 | etot = -5.62847197156892 +939000 ekin = 2.8447669620069 | erot = 2.76369076607099 | epot = -11.2369296998344 | etot = -5.62847197175653 +940000 ekin = 2.87595320433365 | erot = 2.87707537754526 | epot = -11.3815005538769 | etot = -5.62847197199802 +941000 ekin = 2.92838858110334 | erot = 3.00178159602945 | epot = -11.5586421493877 | etot = -5.62847197225486 +942000 ekin = 2.99958691451742 | erot = 3.13593595373153 | epot = -11.7639948407407 | etot = -5.62847197249174 +943000 ekin = 3.08701486062517 | erot = 3.27802583948734 | epot = -11.9935126727952 | etot = -5.62847197268272 +944000 ekin = 3.18658687194688 | erot = 3.42629435655057 | epot = -12.2413532023889 | etot = -5.62847197389142 +945000 ekin = 3.29120912163075 | erot = 3.57701253366733 | epot = -12.4966936297096 | etot = -5.62847197441153 +946000 ekin = 3.39621217450377 | erot = 3.72637389338014 | epot = -12.7510580428887 | etot = -5.62847197500476 +947000 ekin = 3.49687303161659 | erot = 3.86977321150428 | epot = -12.995118218816 | etot = -5.62847197569508 +948000 ekin = 3.58827211310905 | erot = 4.00151346913667 | epot = -13.2182575587303 | etot = -5.62847197648454 +949000 ekin = 3.66536645558403 | erot = 4.11475106184004 | epot = -13.4085894947607 | etot = -5.62847197733668 +950000 ekin = 3.72323942075286 | erot = 4.20180191863669 | epot = -13.5535133175596 | etot = -5.62847197817002 +951000 ekin = 3.75754185745605 | erot = 4.25489778335397 | epot = -13.640911619673 | etot = -5.62847197886299 +952000 ekin = 3.76507381729662 | erot = 4.26734583679003 | epot = -13.660891633365 | etot = -5.62847197927839 +953000 ekin = 3.74438822435714 | erot = 4.23487585516235 | epot = -13.6077360588184 | etot = -5.62847197929889 +954000 ekin = 3.69625243000309 | erot = 4.15681815360206 | epot = -13.4815425624724 | etot = -5.62847197886724 +955000 ekin = 3.62380420284723 | erot = 4.03673171691482 | epot = -13.2890078977725 | etot = -5.62847197801043 +956000 ekin = 3.52555336700899 | erot = 3.8807380512619 | epot = -13.0347633979112 | etot = -5.62847197964028 +957000 ekin = 3.39894638986493 | erot = 3.70474137723537 | epot = -12.7321597416831 | etot = -5.62847197458277 +958000 ekin = 3.27782879423858 | erot = 3.53760737373846 | epot = -12.4439081409366 | etot = -5.62847197295959 +959000 ekin = 3.17835028686343 | erot = 3.38602207781495 | epot = -12.192844339492 | etot = -5.62847197481363 +960000 ekin = 3.09019087928103 | erot = 3.23509493538441 | epot = -11.9537577911203 | etot = -5.62847197645485 +961000 ekin = 3.00426259316327 | erot = 3.08248133569913 | epot = -11.7152159044103 | etot = -5.62847197554792 +962000 ekin = 2.92693479924967 | erot = 2.94805480855373 | epot = -11.5034615831379 | etot = -5.62847197533446 +963000 ekin = 2.85972055591546 | erot = 2.83488454517476 | epot = -11.323077076119 | etot = -5.62847197502879 +964000 ekin = 2.80427359411467 | erot = 2.74583973121403 | epot = -11.1785853001788 | etot = -5.62847197485006 +965000 ekin = 2.76170821973113 | erot = 2.68249826104574 | epot = -11.0726784555729 | etot = -5.62847197479599 +966000 ekin = 2.73254763820473 | erot = 2.64503832973914 | epot = -11.0060579428183 | etot = -5.62847197487444 +967000 ekin = 2.71665522014275 | erot = 2.63218922323769 | epot = -10.9773164184706 | etot = -5.62847197509013 +968000 ekin = 2.71315992358637 | erot = 2.64124364135887 | epot = -10.9828755403748 | etot = -5.6284719754296 +969000 ekin = 2.72046614525188 | erot = 2.66825860579762 | epot = -11.0171967269043 | etot = -5.62847197585485 +970000 ekin = 2.7363957888058 | erot = 2.70848274056211 | epot = -11.0733505056801 | etot = -5.62847197631217 +971000 ekin = 2.75849383087266 | erot = 2.75695664100323 | epot = -11.1439224485372 | etot = -5.62847197666126 +972000 ekin = 2.78540546217067 | erot = 2.80984083649779 | epot = -11.2237182756023 | etot = -5.62847197693383 +973000 ekin = 2.81581408813093 | erot = 2.86412704650895 | epot = -11.3084131117582 | etot = -5.62847197711836 +974000 ekin = 2.84847995007392 | erot = 2.91762904174479 | epot = -11.3945809690272 | etot = -5.62847197720854 +975000 ekin = 2.88260770675907 | erot = 2.96920774094647 | epot = -11.480287424912 | etot = -5.62847197720644 +976000 ekin = 2.90702474308763 | erot = 3.01964918949845 | epot = -11.555145934177 | etot = -5.62847200159089 +977000 ekin = 2.82994037303446 | erot = 3.10467594931735 | epot = -11.5630883002056 | etot = -5.6284719778538 +978000 ekin = 2.82908361995948 | erot = 3.22546638766101 | epot = -11.6830220113422 | etot = -5.62847200372169 +979000 ekin = 2.83706100078567 | erot = 3.25481873071872 | epot = -11.7203517215879 | etot = -5.62847199008348 +980000 ekin = 2.83601345096319 | erot = 3.27042511585167 | epot = -11.7349105569336 | etot = -5.62847199011874 +981000 ekin = 2.82679467472268 | erot = 3.27908746102754 | epot = -11.7343541259104 | etot = -5.62847199016015 +982000 ekin = 2.80889457046917 | erot = 3.28090658381986 | epot = -11.7182731444936 | etot = -5.62847199020456 +983000 ekin = 2.78208898618241 | erot = 3.27578647185869 | epot = -11.6863474482718 | etot = -5.62847199023068 +984000 ekin = 2.74660136864529 | erot = 3.26353952423134 | epot = -11.6386128830805 | etot = -5.62847199020383 +985000 ekin = 2.70333214411892 | erot = 3.24411391026867 | epot = -11.5759180444744 | etot = -5.62847199008681 +986000 ekin = 2.65408912736903 | erot = 3.21786526493321 | epot = -11.500426382155 | etot = -5.62847198985273 +987000 ekin = 2.57871632039566 | erot = 3.1724727902318 | epot = -11.3796611049636 | etot = -5.62847199433612 +988000 ekin = 2.53018926295006 | erot = 3.15315340607823 | epot = -11.3118146709826 | etot = -5.62847200195436 +989000 ekin = 2.49566278163332 | erot = 3.12952117396304 | epot = -11.2536559475413 | etot = -5.6284719919449 +990000 ekin = 2.46227182454259 | erot = 3.09741757789058 | epot = -11.1881613938229 | etot = -5.62847199138973 +991000 ekin = 2.44592299191521 | erot = 3.07158095018047 | epot = -11.1459759332225 | etot = -5.6284719911268 +992000 ekin = 2.4517428150834 | erot = 3.05611048477739 | epot = -11.1363252907874 | etot = -5.62847199092665 +993000 ekin = 2.48099671630818 | erot = 3.05281518173765 | epot = -11.1622838888188 | etot = -5.62847199077294 +994000 ekin = 2.53415670191708 | erot = 3.0635915442888 | epot = -11.2262202368932 | etot = -5.62847199068736 +995000 ekin = 2.61088853279327 | erot = 3.09015398608656 | epot = -11.3295145095591 | etot = -5.62847199067929 +996000 ekin = 2.71011819684934 | erot = 3.13378298765858 | epot = -11.4723731752586 | etot = -5.62847199075068 +997000 ekin = 2.83015603301196 | erot = 3.19515267788909 | epot = -11.6537807018024 | etot = -5.62847199090133 +998000 ekin = 2.96878571674253 | erot = 3.27423191440698 | epot = -11.8714896222901 | etot = -5.62847199114063 +999000 ekin = 3.12322522735956 | erot = 3.37022004814537 | epot = -12.1219172669997 | etot = -5.62847199149473 +1000000 ekin = 3.28990650652431 | erot = 3.48146010808984 | epot = -12.3998386066208 | etot = -5.62847199200668 + 1000000 0.14621807 -0.83009398 0.055104069 -0.56937076 4.8223734e-05 64000 +Loop time of 29.9827 on 1 procs for 1000000 steps with 16 atoms + +Performance: 28816.629 tau/day, 33352.580 timesteps/s +99.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 | 26.195 | 26.195 | 26.195 | 0.0 | 87.37 +Bond | 0.93416 | 0.93416 | 0.93416 | 0.0 | 3.12 +Neigh | 0.013798 | 0.013798 | 0.013798 | 0.0 | 0.05 +Comm | 0.18361 | 0.18361 | 0.18361 | 0.0 | 0.61 +Output | 0.14593 | 0.14593 | 0.14593 | 0.0 | 0.49 +Modify | 2.2241 | 2.2241 | 2.2241 | 0.0 | 7.42 +Other | | 0.2862 | | | 0.95 + +Nlocal: 16.0000 ave 16 max 16 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 0.00000 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 106.000 ave 106 max 106 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 106 +Ave neighs/atom = 6.6250000 +Ave special neighs/atom = 3.7500000 +Neighbor list builds = 1000 +Dangerous builds = 0 + +write_data last_config.${number}.* nocoeff +write_data last_config.2.* nocoeff +System init for write_data ... +Total wall time: 0:00:29 diff --git a/examples/PACKAGES/cgdna/examples/oxRNA2/duplex2/log.27May21.duplex2.g++.4 b/examples/PACKAGES/cgdna/examples/oxRNA2/duplex2/log.27May21.duplex2.g++.4 new file mode 100644 index 0000000000..bbca5e3594 --- /dev/null +++ b/examples/PACKAGES/cgdna/examples/oxRNA2/duplex2/log.27May21.duplex2.g++.4 @@ -0,0 +1,1182 @@ +LAMMPS (27 May 2021) +variable number equal 2 +variable ofreq equal 1000 +variable efreq equal 1000 +variable T equal 0.1 +variable rhos equal 0.5 + +units lj + +dimension 3 + +newton off + +boundary p p p + +atom_style hybrid bond ellipsoid oxdna +WARNING: Atom style hybrid defines both, per-type and per-atom masses; both must be set, but only per-atom masses will be used (../atom_vec_hybrid.cpp:157) +atom_modify sort 0 1.0 + +# Pair interactions require lists of neighbours to be calculated +neighbor 2.0 bin +neigh_modify every 1 delay 0 check yes + +read_data data.duplex2 +Reading data file ... + orthogonal box = (-20.000000 -20.000000 -20.000000) to (20.000000 20.000000 20.000000) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 16 atoms + reading velocities ... + 16 velocities + scanning bonds ... + 2 = max bonds/atom + 16 ellipsoids + reading bonds ... +Setting oxDNA 3'->5' bond directionality ... + 13 bonds +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 + 2 = max # of 1-3 neighbors + 4 = max # of 1-4 neighbors + 6 = max # of special neighbors + special bonds CPU = 0.001 seconds + read_data CPU = 0.005 seconds + +set atom * mass 3.1575 +Setting atom values ... + 16 settings made for mass + +group all type 1 4 +16 atoms in group all + +# oxRNA2 bond interactions - FENE backbone +bond_style oxrna2/fene +bond_coeff * 2.0 0.25 0.761070781051 +special_bonds lj 0 1 1 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 1 1 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 2 = max # of 1-3 neighbors + 4 = max # of 1-4 neighbors + 6 = max # of special neighbors + special bonds CPU = 0.000 seconds + +# oxRNA2 pair interactions +pair_style hybrid/overlay oxrna2/excv oxrna2/stk oxrna2/hbond oxrna2/xstk oxrna2/coaxstk oxrna2/dh +pair_coeff * * oxrna2/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32 +pair_coeff * * oxrna2/stk seqdep ${T} 1.40206 2.77 6.0 0.43 0.93 0.35 0.78 0.9 0 0.95 0.9 0 0.95 1.3 0 0.8 1.3 0 0.8 2.0 0.65 2.0 0.65 +pair_coeff * * oxrna2/stk seqdep 0.1 1.40206 2.77 6.0 0.43 0.93 0.35 0.78 0.9 0 0.95 0.9 0 0.95 1.3 0 0.8 1.3 0 0.8 2.0 0.65 2.0 0.65 +pair_coeff * * oxrna2/hbond seqdep 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 1 4 oxrna2/hbond seqdep 0.870439 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 2 3 oxrna2/hbond seqdep 0.870439 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 3 4 oxrna2/hbond seqdep 0.870439 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff * * oxrna2/xstk 59.9626 0.5 0.6 0.42 0.58 2.25 0.505 0.58 1.7 1.266 0.68 1.7 1.266 0.68 1.7 0.309 0.68 1.7 0.309 0.68 +pair_coeff * * oxrna2/coaxstk 80 0.5 0.6 0.42 0.58 2.0 2.592 0.65 1.3 0.151 0.8 0.9 0.685 0.95 0.9 0.685 0.95 2.0 -0.65 2.0 -0.65 +pair_coeff * * oxrna2/dh ${T} ${rhos} 1.02455 +pair_coeff * * oxrna2/dh 0.1 ${rhos} 1.02455 +pair_coeff * * oxrna2/dh 0.1 0.5 1.02455 + +# NVE ensemble +fix 1 all nve/asphere +#fix 2 all langevin ${T} ${T} 2.5 457145 angmom 10 + +timestep 1e-5 + +#comm_style tiled +fix 3 all balance 1000 1.03 shift xyz 10 1.03 +comm_modify cutoff 3.8 + +compute quat all property/atom quatw quati quatj quatk + +compute erot all erotate/asphere +compute ekin all ke +compute epot all pe +variable erot equal c_erot +variable ekin equal c_ekin +variable epot equal c_epot +variable etot equal c_erot+c_ekin+c_epot +fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes +fix 5 all print 1000 "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes + +dump out all custom ${ofreq} out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump out all custom 1000 out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump out all custom 1000 out.2.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump_modify out sort id +dump_modify out format line "%d %d %d %22.15le %22.15le %22.15le %d %d %d %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le" + +run 1000000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 4.3014979 + ghost atom cutoff = 4.3014979 + binsize = 2.150749, bins = 19 19 19 + 5 neighbor lists, perpetual/occasional/extra = 5 0 0 + (1) pair oxrna2/excv, perpetual + attributes: half, newton off + pair build: half/bin/newtoff + stencil: full/bin/3d + bin: standard + (2) pair oxrna2/hbond, perpetual, copy from (1) + attributes: half, newton off + pair build: copy + stencil: none + bin: none + (3) pair oxrna2/xstk, perpetual, copy from (1) + attributes: half, newton off + pair build: copy + stencil: none + bin: none + (4) pair oxrna2/coaxstk, perpetual, copy from (1) + attributes: half, newton off + pair build: copy + stencil: none + bin: none + (5) pair oxrna2/dh, perpetual, copy from (1) + attributes: half, newton off + pair build: copy + stencil: none + bin: none +WARNING: Communication cutoff adjusted to 4.301497916929199 (../comm.cpp:739) +0 ekin = 2.70475393009871 | erot = 2.80172072918779 | epot = -11.1349465280232 | etot = -5.62847186873667 +Per MPI rank memory allocation (min/avg/max) = 9.578 | 9.607 | 9.692 Mbytes +Step Temp E_pair E_mol TotEng Press Volume + 0 0.12021129 -0.7299505 0.034016337 -0.52688704 5.1214421e-05 64000 +1000 ekin = 2.74425239815417 | erot = 2.79065458610893 | epot = -11.1633788526891 | etot = -5.62847186842597 +2000 ekin = 2.78841691867035 | erot = 2.77992540099535 | epot = -11.196814187725 | etot = -5.62847186805934 +3000 ekin = 2.83938215410022 | erot = 2.77185117591643 | epot = -11.2397051978034 | etot = -5.62847186778672 +4000 ekin = 2.89876217830263 | erot = 2.76816783884241 | epot = -11.295401884792 | etot = -5.62847186764698 +5000 ekin = 2.96742170720769 | erot = 2.76919345829434 | epot = -11.3650870331989 | etot = -5.6284718676969 +6000 ekin = 3.0456300737104 | erot = 2.77376672268247 | epot = -11.4478686641706 | etot = -5.62847186777774 +7000 ekin = 3.13407886898538 | erot = 2.78065913591456 | epot = -11.5432098726293 | etot = -5.6284718677294 +8000 ekin = 3.23400863287743 | erot = 2.78938863934857 | epot = -11.651869139893 | etot = -5.628471867667 +9000 ekin = 3.34625998930257 | erot = 2.80019523753784 | epot = -11.7749270943234 | etot = -5.62847186748303 +10000 ekin = 3.47220350616334 | erot = 2.81464622815281 | epot = -11.9153216015116 | etot = -5.62847186719543 +11000 ekin = 3.61341090096017 | erot = 2.83541090219849 | epot = -12.0772936703878 | etot = -5.62847186722916 +12000 ekin = 3.76971728921061 | erot = 2.8651661044909 | epot = -12.2633552607299 | etot = -5.62847186702835 +13000 ekin = 3.94105577714466 | erot = 2.90597306806357 | epot = -12.4755007121565 | etot = -5.62847186694831 +14000 ekin = 4.12730744896755 | erot = 2.95952862137382 | epot = -12.7153079373023 | etot = -5.62847186696097 +15000 ekin = 4.32776706381547 | erot = 3.02701108512254 | epot = -12.9832500158854 | etot = -5.62847186694737 +16000 ekin = 4.5413969568068 | erot = 3.10924468066181 | epot = -13.2791135046205 | etot = -5.62847186715189 +17000 ekin = 4.76575661763817 | erot = 3.20604355373095 | epot = -13.60027203892 | etot = -5.62847186755086 +18000 ekin = 4.99700491214677 | erot = 3.31611869568271 | epot = -13.9415954758897 | etot = -5.62847186806025 +19000 ekin = 5.23048108112183 | erot = 3.43700077146766 | epot = -14.2959537213472 | etot = -5.62847186875769 +20000 ekin = 5.46074742513047 | erot = 3.56463156086409 | epot = -14.6538508556014 | etot = -5.6284718696068 +21000 ekin = 5.68087058007123 | erot = 3.6925677668172 | epot = -15.0019102179231 | etot = -5.62847187103462 +22000 ekin = 5.88327619983863 | erot = 3.81252322503562 | epot = -15.3242712967755 | etot = -5.62847187190124 +23000 ekin = 6.06249979951972 | erot = 3.91720950057676 | epot = -15.6081811728146 | etot = -5.62847187271808 +24000 ekin = 6.21449712377417 | erot = 4.00104081543186 | epot = -15.8440098121103 | etot = -5.62847187290429 +25000 ekin = 6.33853277809233 | erot = 4.06184542619887 | epot = -16.0288500769827 | etot = -5.62847187269152 +26000 ekin = 6.43627737186988 | erot = 4.1007627843085 | epot = -16.1655120283937 | etot = -5.62847187221534 +27000 ekin = 6.51092447972002 | erot = 4.12134483746818 | epot = -16.260741188824 | etot = -5.6284718716358 +28000 ekin = 6.56622100976658 | erot = 4.12827111510827 | epot = -16.3229639959506 | etot = -5.62847187107576 +29000 ekin = 6.60587340002369 | erot = 4.12622173833913 | epot = -16.3605670089492 | etot = -5.62847187058634 +30000 ekin = 6.63335580501806 | erot = 4.11921545444668 | epot = -16.3810431296794 | etot = -5.62847187021464 +31000 ekin = 6.6521188858925 | erot = 4.10999678317548 | epot = -16.3905875389833 | etot = -5.62847186991534 +32000 ekin = 6.66584763664854 | erot = 4.10024297795119 | epot = -16.3945624842073 | etot = -5.62847186960755 +33000 ekin = 6.67923227191012 | erot = 4.09129207413386 | epot = -16.3989962152632 | etot = -5.62847186921922 +34000 ekin = 6.69756137216817 | erot = 4.08414768607684 | epot = -16.4101809271348 | etot = -5.62847186888979 +35000 ekin = 6.72589628312068 | erot = 4.07950228497966 | epot = -16.4338704366879 | etot = -5.62847186858753 +36000 ekin = 6.76908557113702 | erot = 4.07778615492126 | epot = -16.4753435944364 | etot = -5.62847186837807 +37000 ekin = 6.83097506213393 | erot = 4.07899014040679 | epot = -16.5384370708785 | etot = -5.62847186833777 +38000 ekin = 6.91354703253162 | erot = 4.08242106390429 | epot = -16.6244399649598 | etot = -5.62847186852385 +39000 ekin = 7.01626065739823 | erot = 4.08652171942795 | epot = -16.7312542457771 | etot = -5.62847186895093 +40000 ekin = 7.13573792258319 | erot = 4.08884404540012 | epot = -16.8530538375758 | etot = -5.62847186959248 +41000 ekin = 7.26614194134504 | erot = 4.08627042537772 | epot = -16.9808842370342 | etot = -5.62847187031142 +42000 ekin = 7.40051154120578 | erot = 4.07546023443106 | epot = -17.1044436466274 | etot = -5.62847187099058 +43000 ekin = 7.53157437143681 | erot = 4.05344655359643 | epot = -17.2134927965845 | etot = -5.62847187155127 +44000 ekin = 7.65268317567638 | erot = 4.01819177227237 | epot = -17.299346819823 | etot = -5.62847187187422 +45000 ekin = 7.75845343306884 | erot = 3.96898510895776 | epot = -17.3559104142062 | etot = -5.62847187217958 +46000 ekin = 7.84504377034639 | erot = 3.90454903064797 | epot = -17.3780646733313 | etot = -5.62847187233698 +47000 ekin = 7.91002390820631 | erot = 3.824785965552 | epot = -17.3632817459103 | etot = -5.62847187215201 +48000 ekin = 7.95195705456511 | erot = 3.73154439390009 | epot = -17.3119733204125 | etot = -5.62847187194732 +49000 ekin = 7.97001825706877 | erot = 3.6275200729505 | epot = -17.2260102016182 | etot = -5.62847187159896 +50000 ekin = 7.96375756700445 | erot = 3.51726958365113 | epot = -17.109499021545 | etot = -5.62847187088944 +51000 ekin = 7.9328076130046 | erot = 3.40827188497842 | epot = -16.969551368803 | etot = -5.62847187081996 +52000 ekin = 7.87656811744218 | erot = 3.30207418532543 | epot = -16.8071141735587 | etot = -5.62847187079108 +53000 ekin = 7.79531012541938 | erot = 3.19839984815422 | epot = -16.6221818441149 | etot = -5.62847187054131 +54000 ekin = 7.6895260957037 | erot = 3.09980185481832 | epot = -16.4177998208249 | etot = -5.62847187030289 +55000 ekin = 7.55966222141136 | erot = 3.00897426989547 | epot = -16.1971083614504 | etot = -5.62847187014361 +56000 ekin = 7.40594124508043 | erot = 2.92802865182272 | epot = -15.9624417669779 | etot = -5.62847187007474 +57000 ekin = 7.22816598142035 | erot = 2.85836584281806 | epot = -15.7150036943487 | etot = -5.62847187011032 +58000 ekin = 7.0257305139765 | erot = 2.80066522322048 | epot = -15.4548676074202 | etot = -5.62847187022325 +59000 ekin = 6.80455077165163 | erot = 2.75651944712042 | epot = -15.1895420860973 | etot = -5.62847186732528 +60000 ekin = 6.57760251691554 | erot = 2.72731501678744 | epot = -14.9333893991701 | etot = -5.62847186546714 +61000 ekin = 5.99884053190202 | erot = 2.6501026979173 | epot = -14.2774150331173 | etot = -5.628471803298 +62000 ekin = 5.82217958652088 | erot = 2.65058478195153 | epot = -14.1012361774594 | etot = -5.62847180898695 +63000 ekin = 6.00993174210254 | erot = 2.7114348346641 | epot = -14.3498384845188 | etot = -5.62847190775213 +64000 ekin = 5.8509698505037 | erot = 2.71173917624717 | epot = -14.1911809366077 | etot = -5.62847190985684 +65000 ekin = 5.67959801442735 | erot = 2.70731630130145 | epot = -14.0153862253965 | etot = -5.62847190966768 +66000 ekin = 5.49812382731704 | erot = 2.69646895132486 | epot = -13.8230646880631 | etot = -5.62847190942121 +67000 ekin = 5.31011188753145 | erot = 2.67901331172376 | epot = -13.6175971082583 | etot = -5.62847190900305 +68000 ekin = 5.11964229582587 | erot = 2.65622197273386 | epot = -13.4043361770526 | etot = -5.62847190849287 +69000 ekin = 4.93067975207852 | erot = 2.63014135225674 | epot = -13.1892930124928 | etot = -5.62847190815752 +70000 ekin = 4.74697386617485 | erot = 2.60347312706283 | epot = -12.9789189008748 | etot = -5.62847190763715 +71000 ekin = 4.57222133259569 | erot = 2.57971589798906 | epot = -12.7804091377443 | etot = -5.62847190715951 +72000 ekin = 4.40959648507785 | erot = 2.56228295922467 | epot = -12.6003513510615 | etot = -5.62847190675897 +73000 ekin = 4.26170009573909 | erot = 2.55406076080087 | epot = -12.4442327629948 | etot = -5.62847190645487 +74000 ekin = 4.13052949790825 | erot = 2.55713155841143 | epot = -12.3161329625866 | etot = -5.62847190626696 +75000 ekin = 4.01588192828881 | erot = 2.56608801434057 | epot = -12.2104419139901 | etot = -5.62847197136067 +76000 ekin = 3.95904625854741 | erot = 2.44184942386022 | epot = -12.0293675901711 | etot = -5.62847190776351 +77000 ekin = 4.02755960266361 | erot = 2.46007159499036 | epot = -12.116103109804 | etot = -5.62847191215006 +78000 ekin = 3.98785439943812 | erot = 2.49596945534594 | epot = -12.1122957670967 | etot = -5.62847191231265 +79000 ekin = 3.96575767721423 | erot = 2.54200842335447 | epot = -12.1362380131155 | etot = -5.62847191254684 +80000 ekin = 3.95961954869548 | erot = 2.59604589435592 | epot = -12.1841373558852 | etot = -5.62847191283377 +81000 ekin = 3.96734100032333 | erot = 2.65577062232351 | epot = -12.2515835357819 | etot = -5.6284719131351 +82000 ekin = 3.98651997822109 | erot = 2.71892569307084 | epot = -12.3339175847232 | etot = -5.62847191343124 +83000 ekin = 4.01459300302727 | erot = 2.78352190390199 | epot = -12.4265868206361 | etot = -5.62847191370683 +84000 ekin = 4.04956210608531 | erot = 2.8479662966442 | epot = -12.5260003165345 | etot = -5.62847191380503 +85000 ekin = 4.09049341026842 | erot = 2.91104365381102 | epot = -12.6300089781181 | etot = -5.62847191403861 +86000 ekin = 4.13484812560019 | erot = 2.9720116541909 | epot = -12.7353316940204 | etot = -5.62847191422934 +87000 ekin = 4.1800382918462 | erot = 3.03078479878285 | epot = -12.8392950049954 | etot = -5.62847191436634 +88000 ekin = 4.22360704724701 | erot = 3.0879657400032 | epot = -12.9400447017002 | etot = -5.62847191445002 +89000 ekin = 4.26326024607288 | erot = 3.14481288279481 | epot = -13.036545043336 | etot = -5.62847191446827 +90000 ekin = 4.29588111790582 | erot = 3.20341713777007 | epot = -13.12777017033 | etot = -5.62847191465414 +91000 ekin = 4.3169778457778 | erot = 3.26736040230148 | epot = -13.2128101626457 | etot = -5.62847191456645 +92000 ekin = 4.32507837347549 | erot = 3.3393160194455 | epot = -13.2928663075901 | etot = -5.62847191466915 +93000 ekin = 4.31872212432171 | erot = 3.42036541916765 | epot = -13.3675594581779 | etot = -5.62847191468857 +94000 ekin = 4.29660005793273 | erot = 3.51205694754388 | epot = -13.4371289201541 | etot = -5.62847191467748 +95000 ekin = 4.25789021838828 | erot = 3.61606475666823 | epot = -13.5024268896672 | etot = -5.62847191461066 +96000 ekin = 4.20253661926493 | erot = 3.73412422729639 | epot = -13.5651327610314 | etot = -5.6284719144701 +97000 ekin = 4.13146529060017 | erot = 3.8680303743927 | epot = -13.627967579342 | etot = -5.62847191434911 +98000 ekin = 4.04669071975362 | erot = 4.01885670334698 | epot = -13.6940193371954 | etot = -5.62847191409479 +99000 ekin = 3.95128630061912 | erot = 4.18772840013427 | epot = -13.7674866145627 | etot = -5.62847191380928 +100000 ekin = 3.84921784883081 | erot = 4.37558821791238 | epot = -13.8532779802875 | etot = -5.62847191354432 +101000 ekin = 3.74501223923312 | erot = 4.58258429231741 | epot = -13.9560684449146 | etot = -5.62847191336403 +102000 ekin = 3.64330024870582 | erot = 4.80764134110067 | epot = -14.0794135031374 | etot = -5.62847191333087 +103000 ekin = 3.54831662006285 | erot = 5.04811575607496 | epot = -14.2249042896175 | etot = -5.62847191347966 +104000 ekin = 3.4634977206494 | erot = 5.29960820358444 | epot = -14.3915778382037 | etot = -5.62847191396988 +105000 ekin = 3.39136254536271 | erot = 5.55507704359984 | epot = -14.5749115034251 | etot = -5.62847191446257 +106000 ekin = 3.33356403744409 | erot = 5.80718759324928 | epot = -14.7692235454839 | etot = -5.62847191479058 +107000 ekin = 3.29209861353699 | erot = 6.0490668738674 | epot = -14.9696374027453 | etot = -5.62847191534095 +108000 ekin = 3.26748487341106 | erot = 6.2741824365969 | epot = -15.1701392258627 | etot = -5.62847191585477 +109000 ekin = 3.25930506886601 | erot = 6.47585417244292 | epot = -15.3636311580687 | etot = -5.62847191675981 +110000 ekin = 3.26568272829098 | erot = 6.64602097207883 | epot = -15.5401756176979 | etot = -5.62847191732811 +111000 ekin = 3.28520059172619 | erot = 6.77857539600267 | epot = -15.692247905526 | etot = -5.62847191779711 +112000 ekin = 3.31659315707433 | erot = 6.86862760563874 | epot = -15.8136926809238 | etot = -5.6284719182107 +113000 ekin = 3.3586014423093 | erot = 6.91335224014723 | epot = -15.900425600656 | etot = -5.6284719181995 +114000 ekin = 3.41073468124676 | erot = 6.91406610981085 | epot = -15.9532727088324 | etot = -5.62847191777475 +115000 ekin = 3.47381531534278 | erot = 6.87643065686273 | epot = -15.9787178894058 | etot = -5.62847191720034 +116000 ekin = 3.54886437558773 | erot = 6.8071113952899 | epot = -15.9844476879565 | etot = -5.62847191707888 +117000 ekin = 3.6346740920495 | erot = 6.71320827683473 | epot = -15.9763542854618 | etot = -5.62847191657758 +118000 ekin = 3.72815555523563 | erot = 6.60276001485475 | epot = -15.9593874864256 | etot = -5.62847191633521 +119000 ekin = 3.82420980363925 | erot = 6.48288858478196 | epot = -15.9355703049686 | etot = -5.62847191654741 +120000 ekin = 3.91797748357223 | erot = 6.35662792089788 | epot = -15.9030773212275 | etot = -5.62847191675741 +121000 ekin = 4.00591742044039 | erot = 6.22468993027016 | epot = -15.8590792676428 | etot = -5.62847191693228 +122000 ekin = 4.08550270322373 | erot = 6.08676575288842 | epot = -15.8007403736371 | etot = -5.62847191752491 +123000 ekin = 4.15433540908383 | erot = 5.9407157229031 | epot = -15.7235230494648 | etot = -5.6284719174779 +124000 ekin = 4.21272085203612 | erot = 5.78590733869413 | epot = -15.6271001078557 | etot = -5.62847191712543 +125000 ekin = 4.26325970413196 | erot = 5.6246737368656 | epot = -15.5164053575241 | etot = -5.6284719165265 +126000 ekin = 4.3088059798051 | erot = 5.46113290467105 | epot = -15.3984108007459 | etot = -5.62847191626975 +127000 ekin = 4.35136313111014 | erot = 5.29960307371348 | epot = -15.279438120582 | etot = -5.62847191575839 +128000 ekin = 4.39391383900474 | erot = 5.14386269106651 | epot = -15.1662484454477 | etot = -5.62847191537649 +129000 ekin = 4.43858036063608 | erot = 4.99693296064701 | epot = -15.0639852363966 | etot = -5.62847191511354 +130000 ekin = 4.48619887382468 | erot = 4.86092637377882 | epot = -14.9755971627245 | etot = -5.62847191512104 +131000 ekin = 4.53629967746032 | erot = 4.73552279955439 | epot = -14.90029439217 | etot = -5.62847191515529 +132000 ekin = 4.58794392436667 | erot = 4.62012473201844 | epot = -14.8365405715605 | etot = -5.62847191517544 +133000 ekin = 4.63977927970769 | erot = 4.51475331813915 | epot = -14.7830045130158 | etot = -5.628471915169 +134000 ekin = 4.69096227444539 | erot = 4.41936571520071 | epot = -14.7387999047816 | etot = -5.62847191513551 +135000 ekin = 4.74083332631961 | erot = 4.33399770983601 | epot = -14.7033029512372 | etot = -5.62847191508159 +136000 ekin = 4.78901374177297 | erot = 4.25873574864783 | epot = -14.6762214054327 | etot = -5.62847191501192 +137000 ekin = 4.83519033966169 | erot = 4.1934558470929 | epot = -14.6571181018635 | etot = -5.62847191510893 +138000 ekin = 4.87857190019151 | erot = 4.13759960010494 | epot = -14.6446434153646 | etot = -5.62847191506818 +139000 ekin = 4.91933904268535 | erot = 4.0904184140817 | epot = -14.6382293717806 | etot = -5.62847191501353 +140000 ekin = 4.95802132610616 | erot = 4.05108530565804 | epot = -14.6375785467331 | etot = -5.62847191496892 +141000 ekin = 4.99519923255259 | erot = 4.01864210163677 | epot = -14.6423132491268 | etot = -5.62847191493745 +142000 ekin = 5.03134031865305 | erot = 3.99210960072515 | epot = -14.6519218343068 | etot = -5.62847191492855 +143000 ekin = 5.06663282814537 | erot = 3.97056100872312 | epot = -14.6656657518152 | etot = -5.6284719149467 +144000 ekin = 5.10088003253911 | erot = 3.95318385936722 | epot = -14.6825358068971 | etot = -5.62847191499075 +145000 ekin = 5.13347728619368 | erot = 3.93933318432728 | epot = -14.701282385576 | etot = -5.62847191505505 +146000 ekin = 5.16346418936999 | erot = 3.92856945833647 | epot = -14.7205055628375 | etot = -5.62847191513103 +147000 ekin = 5.18962884502086 | erot = 3.92067778970179 | epot = -14.7387785499324 | etot = -5.62847191520974 +148000 ekin = 5.21063630105021 | erot = 3.91566839447851 | epot = -14.7547766108115 | etot = -5.62847191528273 +149000 ekin = 5.22515818277301 | erot = 3.91376203384998 | epot = -14.7673921319662 | etot = -5.62847191534317 +150000 ekin = 5.23199081771441 | erot = 3.91536756918901 | epot = -14.7758303022882 | etot = -5.6284719153848 +151000 ekin = 5.23025857434906 | erot = 3.92102977399581 | epot = -14.7797602637304 | etot = -5.62847191538551 +152000 ekin = 5.21970456277655 | erot = 3.93136599417317 | epot = -14.7795424723198 | etot = -5.62847191537006 +153000 ekin = 5.20020715643981 | erot = 3.94729684642996 | epot = -14.7759759181581 | etot = -5.62847191528838 +154000 ekin = 5.17219962280951 | erot = 3.96989664945392 | epot = -14.7705681875107 | etot = -5.62847191524726 +155000 ekin = 5.13597939415266 | erot = 4.00025654377844 | epot = -14.7647078530835 | etot = -5.62847191515243 +156000 ekin = 5.0922745653888 | erot = 4.03969792967814 | epot = -14.7604444100935 | etot = -5.62847191502654 +157000 ekin = 5.04214374655907 | erot = 4.08965648366315 | epot = -14.7602721451224 | etot = -5.62847191490022 +158000 ekin = 4.9866407689382 | erot = 4.15175637520563 | epot = -14.7668690589144 | etot = -5.62847191477059 +159000 ekin = 4.92656708226485 | erot = 4.22693785976636 | epot = -14.7819768568022 | etot = -5.62847191477095 +160000 ekin = 4.86235166665109 | erot = 4.31524574981695 | epot = -14.8060693313538 | etot = -5.62847191488572 +161000 ekin = 4.79340744408544 | erot = 4.4163419215564 | epot = -14.8382212806386 | etot = -5.62847191499671 +162000 ekin = 4.71931679137324 | erot = 4.52911647420256 | epot = -14.8769051807437 | etot = -5.62847191516795 +163000 ekin = 4.63965178838042 | erot = 4.65170333188688 | epot = -14.9198270356127 | etot = -5.62847191534538 +164000 ekin = 4.55406399624433 | erot = 4.78166301740306 | epot = -14.9641989292976 | etot = -5.62847191565024 +165000 ekin = 4.46213996067538 | erot = 4.91530272158872 | epot = -15.0059145982058 | etot = -5.62847191594168 +166000 ekin = 4.36388109534925 | erot = 5.04805357548563 | epot = -15.0404065870414 | etot = -5.62847191620655 +167000 ekin = 4.25995046842461 | erot = 5.17511068522234 | epot = -15.0635330700698 | etot = -5.62847191642284 +168000 ekin = 4.15154354282116 | erot = 5.29182746831874 | epot = -15.0718429277121 | etot = -5.62847191657216 +169000 ekin = 4.04026084727443 | erot = 5.39411747728052 | epot = -15.0628502412095 | etot = -5.62847191665458 +170000 ekin = 3.92797723838258 | erot = 5.47890367159862 | epot = -15.0353528265931 | etot = -5.62847191661195 +171000 ekin = 3.81680551395717 | erot = 5.54460219961085 | epot = -14.9898796300178 | etot = -5.62847191644981 +172000 ekin = 3.70912194360747 | erot = 5.59119877272625 | epot = -14.9287926324934 | etot = -5.62847191615965 +173000 ekin = 3.60767008609829 | erot = 5.62020496675939 | epot = -14.8563469686142 | etot = -5.62847191575651 +174000 ekin = 3.51593123142523 | erot = 5.63484613588012 | epot = -14.7792492818537 | etot = -5.62847191454837 +175000 ekin = 3.43946966413698 | erot = 5.64148825119033 | epot = -14.7094298295793 | etot = -5.62847191425196 +176000 ekin = 3.38149964339841 | erot = 5.64304584979551 | epot = -14.6530174072201 | etot = -5.62847191402616 +177000 ekin = 3.34426304280155 | erot = 5.6407558950051 | epot = -14.6134908517374 | etot = -5.62847191393072 +178000 ekin = 3.32907821317965 | erot = 5.63429171925317 | epot = -14.5918418466191 | etot = -5.62847191418632 +179000 ekin = 3.335532868292 | erot = 5.62088708741513 | epot = -14.5848918700463 | etot = -5.62847191433917 +180000 ekin = 3.36333384277115 | erot = 5.59827011329225 | epot = -14.5900758706821 | etot = -5.62847191461865 +181000 ekin = 3.4111832274458 | erot = 5.56369949232898 | epot = -14.6033546347477 | etot = -5.6284719149729 +182000 ekin = 3.47666657813831 | erot = 5.51442909119458 | epot = -14.6195675846751 | etot = -5.62847191534219 +183000 ekin = 3.55646627297047 | erot = 5.44847615754844 | epot = -14.6334143461259 | etot = -5.62847191560695 +184000 ekin = 3.64671110623843 | erot = 5.36528131962605 | epot = -14.6404643416911 | etot = -5.62847191582664 +185000 ekin = 3.74294243854203 | erot = 5.26596644090231 | epot = -14.6373807953587 | etot = -5.62847191591432 +186000 ekin = 3.84064021177386 | erot = 5.15359326679041 | epot = -14.6227053944214 | etot = -5.62847191585716 +187000 ekin = 3.93563840594985 | erot = 5.03296537332542 | epot = -14.5970756949497 | etot = -5.62847191567439 +188000 ekin = 4.02444308409274 | erot = 4.91004205202712 | epot = -14.5629570515419 | etot = -5.62847191542199 +189000 ekin = 4.10437481570285 | erot = 4.79101157926071 | epot = -14.5238583101468 | etot = -5.62847191518322 +190000 ekin = 4.17348832619967 | erot = 4.68117061833162 | epot = -14.4831308595854 | etot = -5.62847191505416 +191000 ekin = 4.23028845394417 | erot = 4.58386192798927 | epot = -14.4426222970246 | etot = -5.62847191509118 +192000 ekin = 4.2735805406063 | erot = 4.49984530057659 | epot = -14.4018977564815 | etot = -5.62847191529862 +193000 ekin = 4.2459291199379 | erot = 4.46741799187819 | epot = -14.3418190226935 | etot = -5.62847191087741 +194000 ekin = 4.19994174150901 | erot = 4.47173701960833 | epot = -14.3001506793695 | etot = -5.62847191825219 +195000 ekin = 4.19981139522181 | erot = 4.40365513590497 | epot = -14.2319384423513 | etot = -5.6284719112245 +196000 ekin = 4.18831859749951 | erot = 4.328213784087 | epot = -14.1450042928974 | etot = -5.62847191131092 +197000 ekin = 4.16445522600501 | erot = 4.2468691966353 | epot = -14.0397963337849 | etot = -5.62847191114461 +198000 ekin = 4.1307492037297 | erot = 4.15919636754727 | epot = -13.918417482026 | etot = -5.62847191074906 +199000 ekin = 4.09062074736211 | erot = 4.06700829109988 | epot = -13.7861009486933 | etot = -5.62847191023133 +200000 ekin = 4.04792338687249 | erot = 3.97356549445504 | epot = -13.6499607909724 | etot = -5.62847190964484 +201000 ekin = 4.00668244919831 | erot = 3.88277215509139 | epot = -13.5179265133929 | etot = -5.62847190910321 +202000 ekin = 3.9706339247179 | erot = 3.79828207702256 | epot = -13.397387910413 | etot = -5.62847190867254 +203000 ekin = 3.94283665189453 | erot = 3.72290259923935 | epot = -13.2942111595207 | etot = -5.62847190838679 +204000 ekin = 3.92540743372236 | erot = 3.65835216262537 | epot = -13.2122315045988 | etot = -5.62847190825109 +205000 ekin = 3.91946432177392 | erot = 3.60562062221077 | epot = -13.1535568521744 | etot = -5.62847190818971 +206000 ekin = 3.92515912499527 | erot = 3.56510062726736 | epot = -13.1187316605182 | etot = -5.6284719082556 +207000 ekin = 3.94166066189686 | erot = 3.53643554885231 | epot = -13.1065681191313 | etot = -5.62847190838215 +208000 ekin = 3.96741904659752 | erot = 3.51909285319121 | epot = -13.1149838083252 | etot = -5.62847190853646 +209000 ekin = 3.99456273872773 | erot = 3.5008331585052 | epot = -13.1238678065935 | etot = -5.62847190936053 +210000 ekin = 4.04796401860463 | erot = 3.49168954891055 | epot = -13.1681254815419 | etot = -5.62847191402673 +211000 ekin = 4.09773342716127 | erot = 3.49304812013042 | epot = -13.2192534546379 | etot = -5.62847190734618 +212000 ekin = 4.14205596974498 | erot = 3.50221111647982 | epot = -13.2727389936918 | etot = -5.62847190746705 +213000 ekin = 4.18461227969386 | erot = 3.51992604962542 | epot = -13.3330102373263 | etot = -5.628471908007 +214000 ekin = 4.2229180122116 | erot = 3.54318058638071 | epot = -13.3945705067423 | etot = -5.62847190814997 +215000 ekin = 4.25639069944202 | erot = 3.57018634833031 | epot = -13.4550489560092 | etot = -5.62847190823688 +216000 ekin = 4.28517056130931 | erot = 3.59920416165437 | epot = -13.5128466312826 | etot = -5.62847190831891 +217000 ekin = 4.30951457891511 | erot = 3.62862634730577 | epot = -13.5666128346102 | etot = -5.62847190838931 +218000 ekin = 4.3302274909774 | erot = 3.65639118247571 | epot = -13.6150905819329 | etot = -5.62847190847977 +219000 ekin = 4.34822739188957 | erot = 3.68015661121664 | epot = -13.6568559116901 | etot = -5.62847190858389 +220000 ekin = 4.36437280258544 | erot = 3.69755509928573 | epot = -13.6903998105173 | etot = -5.62847190864617 +221000 ekin = 4.37954317243622 | erot = 3.70660976824299 | epot = -13.714624849372 | etot = -5.62847190869276 +222000 ekin = 4.39451292717286 | erot = 3.70596363375308 | epot = -13.7289484695955 | etot = -5.62847190866958 +223000 ekin = 4.41008213189184 | erot = 3.69513355487323 | epot = -13.7336875953399 | etot = -5.62847190857482 +224000 ekin = 4.42678943726429 | erot = 3.67466536393368 | epot = -13.7299267097388 | etot = -5.62847190854085 +225000 ekin = 4.4446070170116 | erot = 3.64600909387798 | epot = -13.7190880192597 | etot = -5.62847190837011 +226000 ekin = 4.47380092382402 | erot = 3.58830814097906 | epot = -13.6905809780341 | etot = -5.62847191323106 +227000 ekin = 4.56056009803676 | erot = 3.4726930683181 | epot = -13.6617250773541 | etot = -5.62847191099925 +228000 ekin = 4.6108332753125 | erot = 3.40803816010796 | epot = -13.6473433475456 | etot = -5.62847191212517 +229000 ekin = 4.63150013168171 | erot = 3.35898149000328 | epot = -13.6189535337034 | etot = -5.62847191201845 +230000 ekin = 4.65431068144226 | erot = 3.31343017818105 | epot = -13.596212771626 | etot = -5.62847191200268 +231000 ekin = 4.67934821405043 | erot = 3.27332737526856 | epot = -13.5811475014864 | etot = -5.62847191216743 +232000 ekin = 4.70592354946518 | erot = 3.23944506667318 | epot = -13.5738405284619 | etot = -5.6284719123235 +233000 ekin = 4.73271416122752 | erot = 3.21144788525661 | epot = -13.5726339590448 | etot = -5.62847191256071 +234000 ekin = 4.75943444985266 | erot = 3.19078729233522 | epot = -13.5786936545813 | etot = -5.62847191239342 +235000 ekin = 4.78642241818323 | erot = 3.1802119397679 | epot = -13.5951062703988 | etot = -5.62847191244764 +236000 ekin = 4.81315037988461 | erot = 3.18017325334985 | epot = -13.6217955457024 | etot = -5.62847191246799 +237000 ekin = 4.83923297185794 | erot = 3.19145400453578 | epot = -13.6591588888862 | etot = -5.62847191249251 +238000 ekin = 4.86487585932032 | erot = 3.21481908800548 | epot = -13.708166859741 | etot = -5.62847191241519 +239000 ekin = 4.89063931715144 | erot = 3.25114955282307 | epot = -13.7702607826898 | etot = -5.62847191271528 +240000 ekin = 4.91656145052717 | erot = 3.29901781219184 | epot = -13.8440511754972 | etot = -5.62847191277818 +241000 ekin = 4.94245255089475 | erot = 3.35699698381876 | epot = -13.9279214477177 | etot = -5.62847191300422 +242000 ekin = 4.96767380346211 | erot = 3.42365009426279 | epot = -14.0197958109264 | etot = -5.62847191320152 +243000 ekin = 5.0057344622477 | erot = 3.47030260470028 | epot = -14.1045089792089 | etot = -5.62847191226096 +244000 ekin = 5.06987350320887 | erot = 3.50985787352608 | epot = -14.2082032933033 | etot = -5.6284719165684 +245000 ekin = 5.08405115957487 | erot = 3.57323736718718 | epot = -14.2857604930717 | etot = -5.62847196630966 +246000 ekin = 5.13867281568981 | erot = 3.5302241078692 | epot = -14.2973688418991 | etot = -5.62847191834013 +247000 ekin = 5.24446071734626 | erot = 3.6370719263987 | epot = -14.5100045566477 | etot = -5.62847191290278 +248000 ekin = 5.23528120841493 | erot = 3.74023330974172 | epot = -14.6039864311655 | etot = -5.62847191300886 +249000 ekin = 5.21260078434886 | erot = 3.83729795660351 | epot = -14.6783706538247 | etot = -5.62847191287231 +250000 ekin = 5.17839081250001 | erot = 3.92749000333999 | epot = -14.734352728447 | etot = -5.62847191260704 +251000 ekin = 5.13586036333638 | erot = 4.01108345357868 | epot = -14.7754157290661 | etot = -5.628471912151 +252000 ekin = 5.0891829210612 | erot = 4.09018694184797 | epot = -14.8078417745596 | etot = -5.62847191165043 +253000 ekin = 5.04264218495095 | erot = 4.16759058212263 | epot = -14.838704678282 | etot = -5.62847191120844 +254000 ekin = 4.99116344078048 | erot = 4.24248912288112 | epot = -14.8621245493453 | etot = -5.62847198568369 +255000 ekin = 4.72637462797871 | erot = 4.24407837664264 | epot = -14.5989249325882 | etot = -5.6284719279668 +256000 ekin = 4.5983410999774 | erot = 4.36369782211666 | epot = -14.5905108365033 | etot = -5.62847191440919 +257000 ekin = 4.77089539877151 | erot = 4.60066315316504 | epot = -15.0000305289983 | etot = -5.62847197706171 +258000 ekin = 4.85704242989419 | erot = 4.66807324377228 | epot = -15.1535875814204 | etot = -5.62847190775396 +259000 ekin = 4.89901811471739 | erot = 4.72718635922047 | epot = -15.2546763808625 | etot = -5.62847190692464 +260000 ekin = 4.94107094738747 | erot = 4.79406863686981 | epot = -15.3636114914173 | etot = -5.62847190716002 +261000 ekin = 4.98242309074267 | erot = 4.86508628582396 | epot = -15.4759812846277 | etot = -5.6284719080611 +262000 ekin = 5.01659840997846 | erot = 4.93871137849118 | epot = -15.5837816973714 | etot = -5.62847190890171 +263000 ekin = 5.03982661193798 | erot = 5.00983839413087 | epot = -15.6781369155771 | etot = -5.62847190950828 +264000 ekin = 5.04732696349148 | erot = 5.07389667599964 | epot = -15.7496955495982 | etot = -5.62847191010705 +265000 ekin = 5.03448807084358 | erot = 5.12688367714283 | epot = -15.7898436586255 | etot = -5.62847191063912 +266000 ekin = 4.99773438958879 | erot = 5.16480683532682 | epot = -15.7910131359658 | etot = -5.62847191105018 +267000 ekin = 4.93508497405503 | erot = 5.18388050751039 | epot = -15.7474373928691 | etot = -5.62847191130366 +268000 ekin = 4.84654531470116 | erot = 5.18063468559632 | epot = -15.6556519116821 | etot = -5.62847191138465 +269000 ekin = 4.7342321427388 | erot = 5.15198859732445 | epot = -15.5146926513542 | etot = -5.62847191129093 +270000 ekin = 4.60224202247752 | erot = 5.09540688817357 | epot = -15.3261208188898 | etot = -5.62847190823866 +271000 ekin = 4.45636876654147 | erot = 5.0092331738847 | epot = -15.0940738481936 | etot = -5.62847190776746 +272000 ekin = 4.30375505734686 | erot = 4.89315778304338 | epot = -14.8253847474875 | etot = -5.62847190709727 +273000 ekin = 4.15244061479158 | erot = 4.74862648123289 | epot = -14.5295390022864 | etot = -5.62847190626192 +274000 ekin = 4.01137482333751 | erot = 4.57896672456254 | epot = -14.2188134532144 | etot = -5.62847190531435 +275000 ekin = 3.87388872891805 | erot = 4.38950805794852 | epot = -13.8918687169804 | etot = -5.62847193011386 +276000 ekin = 3.70828148349795 | erot = 4.18975567949746 | epot = -13.5265090654603 | etot = -5.62847190246493 +277000 ekin = 3.74025187940053 | erot = 3.98894405210149 | epot = -13.3576678645607 | etot = -5.62847193305864 +278000 ekin = 3.74221760775279 | erot = 3.77038543691523 | epot = -13.1410749479091 | etot = -5.62847190324104 +279000 ekin = 3.75220115766707 | erot = 3.55790331814348 | epot = -12.9385763794525 | etot = -5.62847190364194 +280000 ekin = 3.77561814014602 | erot = 3.35781654492272 | epot = -12.7619065883775 | etot = -5.6284719033088 +281000 ekin = 3.81272927484946 | erot = 3.17409695196084 | epot = -12.6152981298173 | etot = -5.62847190300698 +282000 ekin = 3.8650198803709 | erot = 3.00952640154842 | epot = -12.5030181842075 | etot = -5.62847190228818 +283000 ekin = 3.93628900407371 | erot = 2.86613168181802 | epot = -12.4308925881286 | etot = -5.62847190223686 +284000 ekin = 4.02702703050937 | erot = 2.74480306500037 | epot = -12.4003019979073 | etot = -5.62847190239756 +285000 ekin = 4.14139706640688 | erot = 2.64599110157868 | epot = -12.415860069173 | etot = -5.62847190118749 +286000 ekin = 4.28525774918737 | erot = 2.56950762489262 | epot = -12.4832372763276 | etot = -5.62847190224757 +287000 ekin = 4.44987555796033 | erot = 2.51493810068412 | epot = -12.5932855609626 | etot = -5.62847190231813 +288000 ekin = 4.63520922265196 | erot = 2.48100112555789 | epot = -12.744682251553 | etot = -5.62847190334311 +289000 ekin = 4.83125797005919 | erot = 2.46527241539785 | epot = -12.9250022896926 | etot = -5.6284719042356 +290000 ekin = 5.02763799219706 | erot = 2.46542435682136 | epot = -13.1215342541046 | etot = -5.62847190508614 +291000 ekin = 5.21465468575957 | erot = 2.47913524144863 | epot = -13.3222618329728 | etot = -5.62847190576458 +292000 ekin = 5.38472348790202 | erot = 2.5041643032936 | epot = -13.5173596974345 | etot = -5.62847190623886 +293000 ekin = 5.53302487062802 | erot = 2.53823701976651 | epot = -13.6997337969567 | etot = -5.6284719065622 +294000 ekin = 5.65718701899293 | erot = 2.57877496353312 | epot = -13.8644338893377 | etot = -5.62847190681162 +295000 ekin = 5.75652780496415 | erot = 2.62269919784384 | epot = -14.0076989098378 | etot = -5.62847190702984 +296000 ekin = 5.83139499491232 | erot = 2.66652171229258 | epot = -14.1263886144137 | etot = -5.62847190720875 +297000 ekin = 5.88282356331969 | erot = 2.70675614330348 | epot = -14.2180516139344 | etot = -5.62847190731125 +298000 ekin = 5.91239748765017 | erot = 2.74048494300967 | epot = -14.2813543379696 | etot = -5.62847190730976 +299000 ekin = 5.92208198046302 | erot = 2.7658529930222 | epot = -14.3164068806914 | etot = -5.62847190720614 +300000 ekin = 5.91390942018638 | erot = 2.78233336188674 | epot = -14.324714689099 | etot = -5.62847190702586 +301000 ekin = 5.88962133511142 | erot = 2.7907435367592 | epot = -14.3088367786656 | etot = -5.62847190679494 +302000 ekin = 5.85048781420819 | erot = 2.79307875791685 | epot = -14.2720384786482 | etot = -5.62847190652318 +303000 ekin = 5.79743517876854 | erot = 2.79223225552545 | epot = -14.2181393405041 | etot = -5.62847190621011 +304000 ekin = 5.73124340760361 | erot = 2.79262915089269 | epot = -14.1523444641601 | etot = -5.62847190566384 +305000 ekin = 5.6525826846959 | erot = 2.79940899091188 | epot = -14.0804635809897 | etot = -5.62847190538192 +306000 ekin = 5.56254653522781 | erot = 2.81503734235279 | epot = -14.0060557827393 | etot = -5.62847190515871 +307000 ekin = 5.46251129680399 | erot = 2.84075892386306 | epot = -13.9317421257015 | etot = -5.62847190503446 +308000 ekin = 5.35391293499449 | erot = 2.87633235164438 | epot = -13.8587171916715 | etot = -5.62847190503264 +309000 ekin = 5.2380500741113 | erot = 2.91996940723583 | epot = -13.7864913863831 | etot = -5.62847190503601 +310000 ekin = 5.11613875821884 | erot = 2.96880482960341 | epot = -13.7134154931087 | etot = -5.62847190528648 +311000 ekin = 4.98925852658652 | erot = 3.01839769776058 | epot = -13.6361281298153 | etot = -5.62847190546825 +312000 ekin = 4.85867326621518 | erot = 3.06421411593807 | epot = -13.5513592877758 | etot = -5.62847190562251 +313000 ekin = 4.72585112666549 | erot = 3.10236590330291 | epot = -13.4566889356326 | etot = -5.62847190566415 +314000 ekin = 4.59293421045381 | erot = 3.13002199529404 | epot = -13.3514281113052 | etot = -5.62847190555729 +315000 ekin = 4.4627066997064 | erot = 3.14588950387965 | epot = -13.2370681089042 | etot = -5.62847190531813 +316000 ekin = 4.33845457033203 | erot = 3.15016989318611 | epot = -13.1170963685038 | etot = -5.62847190498567 +317000 ekin = 4.22370149066224 | erot = 3.14429402987658 | epot = -12.9964674251464 | etot = -5.62847190460756 +318000 ekin = 4.12188681799686 | erot = 3.13056754978643 | epot = -12.8809262720098 | etot = -5.62847190422654 +319000 ekin = 4.03607214170871 | erot = 3.11184182787653 | epot = -12.7763858734568 | etot = -5.62847190387152 +320000 ekin = 3.96873641007907 | erot = 3.09128048612339 | epot = -12.688488799756 | etot = -5.62847190355351 +321000 ekin = 3.92167797368546 | erot = 3.07226107994542 | epot = -12.6224109569023 | etot = -5.62847190327139 +322000 ekin = 3.8960097142194 | erot = 3.05833648374953 | epot = -12.5828181009975 | etot = -5.62847190302861 +323000 ekin = 3.89216326551543 | erot = 3.0532307872066 | epot = -12.5738659555595 | etot = -5.62847190283749 +324000 ekin = 3.90971752720657 | erot = 3.06065920137825 | epot = -12.5988486315853 | etot = -5.62847190300047 +325000 ekin = 3.94474197767268 | erot = 3.08325557842916 | epot = -12.6564694593518 | etot = -5.62847190324995 +326000 ekin = 3.99225791211897 | erot = 3.12131666196214 | epot = -12.742046477854 | etot = -5.62847190377287 +327000 ekin = 4.047157518191 | erot = 3.17277573873514 | epot = -12.8484051615009 | etot = -5.62847190457475 +328000 ekin = 4.10306827949969 | erot = 3.2328980910145 | epot = -12.964438276116 | etot = -5.62847190560186 +329000 ekin = 4.15294077797405 | erot = 3.29460254686706 | epot = -13.076015231516 | etot = -5.62847190667492 +330000 ekin = 4.1904608637893 | erot = 3.34957314359003 | epot = -13.1685059148823 | etot = -5.62847190750294 +331000 ekin = 4.21187936705087 | erot = 3.38989153266343 | epot = -13.2302428076831 | etot = -5.62847190796882 +332000 ekin = 4.21589857653964 | erot = 3.41075094374536 | epot = -13.2551214281407 | etot = -5.62847190785568 +333000 ekin = 4.20485266000532 | erot = 3.41174399824562 | epot = -13.2450685654464 | etot = -5.62847190719542 +334000 ekin = 4.18435368276617 | erot = 3.39692225044008 | epot = -13.2097478393658 | etot = -5.62847190615951 +335000 ekin = 4.16205455861975 | erot = 3.37367623593909 | epot = -13.1642026995469 | etot = -5.62847190498801 +336000 ekin = 4.14609491421151 | erot = 3.35093309666115 | epot = -13.1254999147779 | etot = -5.62847190390525 +337000 ekin = 4.14364358931889 | erot = 3.3373696460562 | epot = -13.1094851384478 | etot = -5.62847190307275 +338000 ekin = 4.15982493123665 | erot = 3.33968220642664 | epot = -13.1279790403949 | etot = -5.62847190273164 +339000 ekin = 4.19714166716502 | erot = 3.36120406394443 | epot = -13.1868176337171 | etot = -5.6284719026077 +340000 ekin = 4.25518474381703 | erot = 3.40394456534442 | epot = -13.2876012119618 | etot = -5.62847190280037 +341000 ekin = 4.33079125360721 | erot = 3.46797257818222 | epot = -13.4272357350295 | etot = -5.62847190324003 +342000 ekin = 4.41854745259014 | erot = 3.55173943759921 | epot = -13.5987587940374 | etot = -5.62847190384803 +343000 ekin = 4.51153864838651 | erot = 3.65250494550752 | epot = -13.7925154984427 | etot = -5.62847190454867 +344000 ekin = 4.60219231317934 | erot = 3.76671918648138 | epot = -13.9973834049171 | etot = -5.6284719052564 +345000 ekin = 4.68312343519931 | erot = 3.89042211424799 | epot = -14.2020174553524 | etot = -5.62847190590513 +346000 ekin = 4.74786790539669 | erot = 4.01955036384103 | epot = -14.3958901756814 | etot = -5.62847190644372 +347000 ekin = 4.79150376886026 | erot = 4.15019529884424 | epot = -14.5701709745013 | etot = -5.62847190679678 +348000 ekin = 4.81117855585283 | erot = 4.27877359764576 | epot = -14.7184240605496 | etot = -5.62847190705096 +349000 ekin = 4.80564918858973 | erot = 4.40205662692522 | epot = -14.8361777226847 | etot = -5.62847190716974 +350000 ekin = 4.77545945328669 | erot = 4.51714564005536 | epot = -14.9210770005372 | etot = -5.62847190719515 +351000 ekin = 4.72262273321602 | erot = 4.62116010888737 | epot = -14.9722547493095 | etot = -5.62847190720615 +352000 ekin = 4.65007958813589 | erot = 4.71078593021341 | epot = -14.9893374256312 | etot = -5.62847190728187 +353000 ekin = 4.56109157464666 | erot = 4.78180335584297 | epot = -14.9713668379544 | etot = -5.62847190746476 +354000 ekin = 4.45876151245766 | erot = 4.82895979647749 | epot = -14.9161932166601 | etot = -5.62847190772498 +355000 ekin = 4.34584612944697 | erot = 4.84663553109143 | epot = -14.8209535684649 | etot = -5.62847190792654 +356000 ekin = 4.22495470320128 | erot = 4.83038190909052 | epot = -14.6838085201832 | etot = -5.62847190789137 +357000 ekin = 4.09903296593978 | erot = 4.77873075093834 | epot = -14.5062356243625 | etot = -5.62847190748435 +358000 ekin = 3.97178667555237 | erot = 4.694445610496 | epot = -14.2947041927595 | etot = -5.62847190671115 +359000 ekin = 3.84767298928786 | erot = 4.58431182213549 | epot = -14.0604567171777 | etot = -5.6284719057544 +360000 ekin = 3.73136439808096 | erot = 4.45746613157599 | epot = -13.817302434417 | etot = -5.62847190476002 +361000 ekin = 3.62758093165083 | erot = 4.32379064505304 | epot = -13.5798434807374 | etot = -5.62847190403352 +362000 ekin = 3.54294892306474 | erot = 4.19358097114481 | epot = -13.3650017978889 | etot = -5.62847190367933 +363000 ekin = 3.47837311691428 | erot = 4.07207692082325 | epot = -13.1789219412969 | etot = -5.62847190355939 +364000 ekin = 3.43225009806373 | erot = 3.961931941418 | epot = -13.0226539430709 | etot = -5.62847190358919 +365000 ekin = 3.40198388463965 | erot = 3.86460642705396 | epot = -12.8950622153806 | etot = -5.62847190368699 +366000 ekin = 3.38451833853004 | erot = 3.78104622244734 | epot = -12.7940364647605 | etot = -5.62847190378312 +367000 ekin = 3.37682483159018 | erot = 3.71218000857436 | epot = -12.7174767440077 | etot = -5.62847190384314 +368000 ekin = 3.37625204139483 | erot = 3.65912147822851 | epot = -12.663845423478 | etot = -5.62847190385467 +369000 ekin = 3.38074636727773 | erot = 3.62312680344527 | epot = -12.6323450745499 | etot = -5.62847190382689 +370000 ekin = 3.38894636699741 | erot = 3.6053885663719 | epot = -12.6228068371906 | etot = -5.62847190382132 +371000 ekin = 3.40011634061024 | erot = 3.60672333638143 | epot = -12.6353115807398 | etot = -5.62847190374812 +372000 ekin = 3.41430323563923 | erot = 3.62748920224192 | epot = -12.6702643415807 | etot = -5.62847190369956 +373000 ekin = 3.43217624796659 | erot = 3.66740997408926 | epot = -12.7280581256002 | etot = -5.62847190354439 +374000 ekin = 3.45538314687178 | erot = 3.7253207076687 | epot = -12.8091757581692 | etot = -5.62847190362873 +375000 ekin = 3.48458983104435 | erot = 3.79950576966702 | epot = -12.9125675044683 | etot = -5.62847190375694 +376000 ekin = 3.51994630864513 | erot = 3.88772077542083 | epot = -13.0361389879923 | etot = -5.62847190392634 +377000 ekin = 3.56162263240472 | erot = 3.9871803208762 | epot = -13.1772748573754 | etot = -5.62847190409448 +378000 ekin = 3.61009229020311 | erot = 4.09470007582312 | epot = -13.3332642703315 | etot = -5.62847190430525 +379000 ekin = 3.6662193925352 | erot = 4.20668278517003 | epot = -13.5013740821488 | etot = -5.62847190444354 +380000 ekin = 3.73222313436681 | erot = 4.31893025306561 | epot = -13.6796252923123 | etot = -5.6284719048799 +381000 ekin = 3.80656943725205 | erot = 4.42661769095661 | epot = -13.8616590336604 | etot = -5.6284719054517 +382000 ekin = 3.88594558527767 | erot = 4.52459411506728 | epot = -14.0390116064294 | etot = -5.62847190608449 +383000 ekin = 3.96695090001183 | erot = 4.60747433895868 | epot = -14.2028971456956 | etot = -5.62847190672509 +384000 ekin = 4.04619645069185 | erot = 4.66967915258317 | epot = -14.3443475105725 | etot = -5.6284719072975 +385000 ekin = 4.12092029138874 | erot = 4.70599192062998 | epot = -14.4553841196892 | etot = -5.62847190767044 +386000 ekin = 4.18945537163874 | erot = 4.71237691681113 | epot = -14.5303041965569 | etot = -5.628471908107 +387000 ekin = 4.24770733745816 | erot = 4.6853187164366 | epot = -14.5614979619499 | etot = -5.62847190805516 +388000 ekin = 4.29400518232716 | erot = 4.62433064764756 | epot = -14.5468077376865 | etot = -5.62847190771175 +389000 ekin = 4.3297375103539 | erot = 4.53230747814506 | epot = -14.4905168956645 | etot = -5.62847190716558 +390000 ekin = 4.35696496432295 | erot = 4.41432356914497 | epot = -14.3997604400378 | etot = -5.62847190656983 +391000 ekin = 4.37768888460278 | erot = 4.27672755000021 | epot = -14.282888340541 | etot = -5.62847190593804 +392000 ekin = 4.39398588699936 | erot = 4.12625191224331 | epot = -14.1487097046239 | etot = -5.62847190538126 +393000 ekin = 4.40738241117201 | erot = 3.96936593194957 | epot = -14.0052202479462 | etot = -5.62847190482465 +394000 ekin = 4.41937568154471 | erot = 3.81285278686775 | epot = -13.8607003730767 | etot = -5.62847190466425 +395000 ekin = 4.42988768163289 | erot = 3.6606594657542 | epot = -13.7190190519195 | etot = -5.62847190453239 +396000 ekin = 4.4384747658818 | erot = 3.51525603215002 | epot = -13.582202702425 | etot = -5.62847190439317 +397000 ekin = 4.44517728395988 | erot = 3.37891512777609 | epot = -13.4525643159543 | etot = -5.62847190421834 +398000 ekin = 4.45064950024889 | erot = 3.25392386318741 | epot = -13.3330452674345 | etot = -5.62847190399817 +399000 ekin = 4.45613851376204 | erot = 3.14269651881636 | epot = -13.2273069363788 | etot = -5.62847190380041 +400000 ekin = 4.46297608304487 | erot = 3.04745583065375 | epot = -13.1389038172455 | etot = -5.6284719035469 +401000 ekin = 4.47275546000428 | erot = 2.97053701411307 | epot = -13.0717643774785 | etot = -5.6284719033612 +402000 ekin = 4.4867233669973 | erot = 2.91396522580546 | epot = -13.0291604961449 | etot = -5.62847190334216 +403000 ekin = 4.50482841071081 | erot = 2.8787025181007 | epot = -13.0120028324284 | etot = -5.62847190361687 +404000 ekin = 4.52484325729189 | erot = 2.86379686215192 | epot = -13.017112023697 | etot = -5.62847190425317 +405000 ekin = 4.54178669951965 | erot = 2.86535120569479 | epot = -13.035609810693 | etot = -5.62847190547854 +406000 ekin = 4.54812186975737 | erot = 2.87565623454465 | epot = -13.0522500109003 | etot = -5.62847190659829 +407000 ekin = 4.53567765660364 | erot = 2.88781666334504 | epot = -13.0519662273722 | etot = -5.62847190742353 +408000 ekin = 4.49806839870186 | erot = 2.89717319275991 | epot = -13.0237134991132 | etot = -5.62847190765146 +409000 ekin = 4.43289041822661 | erot = 2.90293173430488 | epot = -12.964294059809 | etot = -5.62847190727752 +410000 ekin = 4.34222243508758 | erot = 2.90784571764664 | epot = -12.8785400592817 | etot = -5.62847190654747 +411000 ekin = 4.23122328978881 | erot = 2.91632332331574 | epot = -12.7760185189013 | etot = -5.62847190579679 +412000 ekin = 4.10591302465951 | erot = 2.93234263227515 | epot = -12.6667275621717 | etot = -5.628471905237 +413000 ekin = 3.97147909133151 | erot = 2.9582687533974 | epot = -12.5582197496364 | etot = -5.62847190490748 +414000 ekin = 3.83169645325956 | erot = 2.9948721544271 | epot = -12.4550405124313 | etot = -5.6284719047446 +415000 ekin = 3.68915556883775 | erot = 3.04191716156322 | epot = -12.3595446350678 | etot = -5.62847190466682 +416000 ekin = 3.54575553254762 | erot = 3.09878213616461 | epot = -12.2730095733257 | etot = -5.62847190461351 +417000 ekin = 3.40315271143793 | erot = 3.16484246795223 | epot = -12.1964670839435 | etot = -5.62847190455339 +418000 ekin = 3.26306253870884 | erot = 3.23960054557895 | epot = -12.1311349887621 | etot = -5.62847190447429 +419000 ekin = 3.12743539443673 | erot = 3.32265867815324 | epot = -12.078565976964 | etot = -5.62847190437406 +420000 ekin = 2.99854685245618 | erot = 3.413623963495 | epot = -12.0406427202084 | etot = -5.62847190425726 +421000 ekin = 2.87901712489708 | erot = 3.51197880383063 | epot = -12.0194678328653 | etot = -5.62847190413762 +422000 ekin = 2.7717459604952 | erot = 3.61690112207128 | epot = -12.0171189866093 | etot = -5.62847190404282 +423000 ekin = 2.67973794661924 | erot = 3.72700827489768 | epot = -12.0352181255331 | etot = -5.62847190401615 +424000 ekin = 2.60579870925969 | erot = 3.84002717531602 | epot = -12.0742977886897 | etot = -5.62847190411396 +425000 ekin = 2.55208954524874 | erot = 3.95244167896246 | epot = -12.1330031286114 | etot = -5.62847190440024 +426000 ekin = 2.5195465304227 | erot = 4.05920212809832 | epot = -12.2072205634524 | etot = -5.62847190493139 +427000 ekin = 2.50725893888466 | erot = 4.15363681832286 | epot = -12.2893676629242 | etot = -5.62847190571666 +428000 ekin = 2.5121048517315 | erot = 4.2278239961629 | epot = -12.3684007545458 | etot = -5.62847190665139 +429000 ekin = 2.52911833231243 | erot = 4.27377369073984 | epot = -12.4313639305347 | etot = -5.62847190748239 +430000 ekin = 2.55284926699264 | erot = 4.28551618828037 | epot = -12.4668373631639 | etot = -5.62847190789086 +431000 ekin = 2.57924139418519 | erot = 4.2614241203789 | epot = -12.4691374222491 | etot = -5.62847190768504 +432000 ekin = 2.60692475465593 | erot = 4.20541068246933 | epot = -12.4408073440645 | etot = -5.62847190693923 +433000 ekin = 2.63712842981491 | erot = 4.12604912501693 | epot = -12.3916494607697 | etot = -5.62847190593788 +434000 ekin = 2.67245542240816 | erot = 4.03405948921518 | epot = -12.334986816614 | etot = -5.6284719049907 +435000 ekin = 2.71543854639996 | erot = 3.93961255970856 | epot = -12.2835230103947 | etot = -5.62847190428618 +436000 ekin = 2.7676099134144 | erot = 3.85063248523209 | epot = -12.2467143025251 | etot = -5.62847190387865 +437000 ekin = 2.82920515671658 | erot = 3.77223859650373 | epot = -12.229915656949 | etot = -5.62847190372866 +438000 ekin = 2.89929820058893 | erot = 3.7070750997503 | epot = -12.2348452041092 | etot = -5.62847190376996 +439000 ekin = 2.9760933415543 | erot = 3.65590372388935 | epot = -12.2604689693862 | etot = -5.62847190394252 +440000 ekin = 3.05720906612876 | erot = 3.6181520078374 | epot = -12.3038329781688 | etot = -5.62847190420265 +441000 ekin = 3.13989672828805 | erot = 3.59232302399544 | epot = -12.3606916568035 | etot = -5.62847190452001 +442000 ekin = 3.22119927518473 | erot = 3.57626892519867 | epot = -12.425940105259 | etot = -5.62847190487565 +443000 ekin = 3.29807867301736 | erot = 3.56737972995847 | epot = -12.493930308225 | etot = -5.62847190524917 +444000 ekin = 3.3675388394357 | erot = 3.56276348927201 | epot = -12.5587742343283 | etot = -5.62847190562061 +445000 ekin = 3.42676046580554 | erot = 3.55942025918735 | epot = -12.6146526309605 | etot = -5.62847190596761 +446000 ekin = 3.47324383646255 | erot = 3.55443462308767 | epot = -12.6561503658212 | etot = -5.62847190627101 +447000 ekin = 3.50497354375501 | erot = 3.54511419619497 | epot = -12.6785596464587 | etot = -5.6284719065087 +448000 ekin = 3.52056213082342 | erot = 3.52974100709899 | epot = -12.678775044445 | etot = -5.62847190652254 +449000 ekin = 3.51939696589681 | erot = 3.50705904510715 | epot = -12.6549279176116 | etot = -5.6284719066076 +450000 ekin = 3.50164536052004 | erot = 3.47565071065649 | epot = -12.6057679777786 | etot = -5.62847190660206 +451000 ekin = 3.46824790705928 | erot = 3.43472151202187 | epot = -12.531441325585 | etot = -5.6284719065038 +452000 ekin = 3.42090312734581 | erot = 3.38414558728953 | epot = -12.4335206209496 | etot = -5.62847190631427 +453000 ekin = 3.36201791826099 | erot = 3.32449206045047 | epot = -12.31498188475 | etot = -5.62847190603854 +454000 ekin = 3.29463316058018 | erot = 3.25701739818687 | epot = -12.1801224644535 | etot = -5.62847190568649 +455000 ekin = 3.22233274896039 | erot = 3.18360703276426 | epot = -12.0344116869964 | etot = -5.62847190527174 +456000 ekin = 3.14914248625823 | erot = 3.10666992197635 | epot = -11.8842843130478 | etot = -5.62847190481318 +457000 ekin = 3.07939737170073 | erot = 3.02894564058048 | epot = -11.736814916623 | etot = -5.62847190434179 +458000 ekin = 3.01756413265085 | erot = 2.95322108562052 | epot = -11.5992571221255 | etot = -5.62847190385414 +459000 ekin = 2.96810632520863 | erot = 2.88249754735619 | epot = -11.479075775972 | etot = -5.62847190340717 +460000 ekin = 2.93513889000246 | erot = 2.8195526752032 | epot = -11.3831634682429 | etot = -5.62847190303722 +461000 ekin = 2.92205746386031 | erot = 2.76669234907353 | epot = -11.3172217157159 | etot = -5.62847190278208 +462000 ekin = 2.93114290148357 | erot = 2.72556812595166 | epot = -11.2851829301103 | etot = -5.62847190267507 +463000 ekin = 2.96319319678696 | erot = 2.69703193760775 | epot = -11.2886970371337 | etot = -5.62847190273899 +464000 ekin = 3.01726238567789 | erot = 2.68105615129522 | epot = -11.3267904399509 | etot = -5.62847190297782 +465000 ekin = 3.0905839893169 | erot = 2.67674994758358 | epot = -11.395805840273 | etot = -5.62847190337253 +466000 ekin = 3.17872270900187 | erot = 2.68248866699541 | epot = -11.4896832798804 | etot = -5.62847190388315 +467000 ekin = 3.27594114496298 | erot = 2.69614045584725 | epot = -11.6005535052675 | etot = -5.62847190445725 +468000 ekin = 3.37571282134157 | erot = 2.71534026239274 | epot = -11.7195249887762 | etot = -5.62847190504193 +469000 ekin = 3.47128178263097 | erot = 2.73774679762323 | epot = -11.8375004858465 | etot = -5.62847190559228 +470000 ekin = 3.55617737699251 | erot = 2.76123628660567 | epot = -11.9458855696746 | etot = -5.62847190607642 +471000 ekin = 3.62463309399585 | erot = 2.78402790003228 | epot = -12.0371329004995 | etot = -5.62847190647142 +472000 ekin = 3.67190559892006 | erot = 2.80477124778249 | epot = -12.1051487534616 | etot = -5.6284719067591 +473000 ekin = 3.69451868440089 | erot = 2.82263116140754 | epot = -12.1456217527309 | etot = -5.62847190692251 +474000 ekin = 3.69045746330095 | erot = 2.83737882568667 | epot = -12.1563081959356 | etot = -5.62847190694794 +475000 ekin = 3.6593211634895 | erot = 2.84946541727286 | epot = -12.1372584875897 | etot = -5.62847190682734 +476000 ekin = 3.60242486136352 | erot = 2.86004016499292 | epot = -12.0909369329187 | etot = -5.62847190656224 +477000 ekin = 3.52282746237348 | erot = 2.87088465736541 | epot = -12.022184025903 | etot = -5.62847190616409 +478000 ekin = 3.42525452627072 | erot = 2.88424967271448 | epot = -11.9379761046535 | etot = -5.62847190566833 +479000 ekin = 3.31588349736032 | erot = 2.90254646897832 | epot = -11.8469018714573 | etot = -5.62847190511867 +480000 ekin = 3.20192949242862 | erot = 2.92801081392743 | epot = -11.7584122109371 | etot = -5.62847190458104 +481000 ekin = 3.09102106837914 | erot = 2.96227510042882 | epot = -11.6817680729442 | etot = -5.62847190413626 +482000 ekin = 2.99039932398843 | erot = 3.00590839371542 | epot = -11.6247796215703 | etot = -5.62847190386642 +483000 ekin = 2.90605693342726 | erot = 3.05799802966767 | epot = -11.5925268669332 | etot = -5.62847190383822 +484000 ekin = 2.84200171523337 | erot = 3.11586840866181 | epot = -11.5863420279766 | etot = -5.62847190408139 +485000 ekin = 2.81072036470602 | erot = 3.03665546459291 | epot = -11.4758477218386 | etot = -5.6284718925397 +486000 ekin = 2.99172671796881 | erot = 2.89028588607158 | epot = -11.5104845147713 | etot = -5.62847191073092 +487000 ekin = 3.04661020882536 | erot = 2.89516257155047 | epot = -11.570244686013 | etot = -5.62847190563722 +488000 ekin = 3.02813445462026 | erot = 2.91755814175518 | epot = -11.5741645019136 | etot = -5.62847190553817 +489000 ekin = 3.02918173190443 | erot = 2.94703274342909 | epot = -11.6046863809385 | etot = -5.62847190560502 +490000 ekin = 3.04920929976752 | erot = 2.9829992143963 | epot = -11.6606804199874 | etot = -5.62847190582359 +491000 ekin = 3.08564623424383 | erot = 3.02458607703026 | epot = -11.7387042173963 | etot = -5.62847190612219 +492000 ekin = 3.13426650217752 | erot = 3.07113014038979 | epot = -11.8338685490083 | etot = -5.62847190644095 +493000 ekin = 3.19024782359286 | erot = 3.12246736377248 | epot = -11.9411870940141 | etot = -5.62847190664877 +494000 ekin = 3.24418110407867 | erot = 3.17757093528454 | epot = -12.0502240478831 | etot = -5.62847200851984 +495000 ekin = 3.12930691891059 | erot = 3.12025770009336 | epot = -11.8780365338362 | etot = -5.62847191483222 +496000 ekin = 3.38154400846385 | erot = 3.12702216682413 | epot = -12.1370381395015 | etot = -5.6284719642135 +497000 ekin = 3.53796334307627 | erot = 3.21345240185485 | epot = -12.3798876661722 | etot = -5.62847192124111 +498000 ekin = 3.54725242247929 | erot = 3.31274815695536 | epot = -12.4884725006935 | etot = -5.62847192125882 +499000 ekin = 3.54686752395102 | erot = 3.42936350672183 | epot = -12.604702952023 | etot = -5.6284719213501 +500000 ekin = 3.53611629145842 | erot = 3.56214471849631 | epot = -12.7267329314715 | etot = -5.62847192151679 +501000 ekin = 3.51474019585048 | erot = 3.70831240063284 | epot = -12.8515245182456 | etot = -5.62847192176227 +502000 ekin = 3.48291543617475 | erot = 3.86351597858863 | epot = -12.9749033367585 | etot = -5.62847192199508 +503000 ekin = 3.44167367984357 | erot = 4.02200657195861 | epot = -13.0921521741542 | etot = -5.62847192235202 +504000 ekin = 3.39166561937802 | erot = 4.17733332042956 | epot = -13.1974708625528 | etot = -5.62847192274522 +505000 ekin = 3.33344269450369 | erot = 4.32266370127691 | epot = -13.2845783189171 | etot = -5.62847192313649 +506000 ekin = 3.26726906278953 | erot = 4.45157764164142 | epot = -13.3473186278349 | etot = -5.62847192340397 +507000 ekin = 3.19388361648963 | erot = 4.55898983229643 | epot = -13.3813453722758 | etot = -5.62847192348974 +508000 ekin = 3.11462724048527 | erot = 4.64207406472335 | epot = -13.3851732285476 | etot = -5.62847192333896 +509000 ekin = 3.03154551889806 | erot = 4.70083202644182 | epot = -13.3608494683002 | etot = -5.62847192296028 +510000 ekin = 2.94513058611301 | erot = 4.73730594222395 | epot = -13.3109084508275 | etot = -5.62847192249055 +511000 ekin = 2.85640718494208 | erot = 4.75516581382858 | epot = -13.2400449206964 | etot = -5.62847192192573 +512000 ekin = 2.76854482524886 | erot = 4.75962991523446 | epot = -13.1566466618523 | etot = -5.62847192136897 +513000 ekin = 2.68465921482974 | erot = 4.75599513194259 | epot = -13.0691262676749 | etot = -5.62847192090256 +514000 ekin = 2.60745568314133 | erot = 4.7487016865945 | epot = -12.9846292903229 | etot = -5.6284719205871 +515000 ekin = 2.53899080264093 | erot = 4.74082869237892 | epot = -12.9082914154295 | etot = -5.62847192040964 +516000 ekin = 2.4805786289685 | erot = 4.73416754061948 | epot = -12.8432180899488 | etot = -5.62847192036078 +517000 ekin = 2.43281299020428 | erot = 4.72933651070645 | epot = -12.7906214213182 | etot = -5.62847192040746 +518000 ekin = 2.39567246200902 | erot = 4.72611868192658 | epot = -12.7502630644448 | etot = -5.62847192050918 +519000 ekin = 2.36868008077583 | erot = 4.72386163456227 | epot = -12.7210136359631 | etot = -5.62847192062505 +520000 ekin = 2.3510906803193 | erot = 4.72186744274965 | epot = -12.7014300437884 | etot = -5.62847192071945 +521000 ekin = 2.34207426124194 | erot = 4.71970227698523 | epot = -12.6902484589981 | etot = -5.62847192077095 +522000 ekin = 2.340858583968 | erot = 4.71735113725796 | epot = -12.6866816420039 | etot = -5.62847192077794 +523000 ekin = 2.34541603965324 | erot = 4.65571671259031 | epot = -12.6296046827302 | etot = -5.62847193048665 +524000 ekin = 2.39460269542338 | erot = 4.54409239666456 | epot = -12.5671670123716 | etot = -5.62847192028367 +525000 ekin = 2.51755565352142 | erot = 4.49060445319741 | epot = -12.6366320324481 | etot = -5.62847192572927 +526000 ekin = 2.63891940341078 | erot = 4.49670026126345 | epot = -12.7640916024644 | etot = -5.62847193779014 +527000 ekin = 2.68130557078061 | erot = 4.50503337375483 | epot = -12.8148108746342 | etot = -5.6284719300988 +528000 ekin = 2.71450795010167 | erot = 4.51098798629419 | epot = -12.8539678665943 | etot = -5.62847193019847 +529000 ekin = 2.74727192393578 | erot = 4.51402301142804 | epot = -12.8897668656323 | etot = -5.62847193026851 +530000 ekin = 2.77952118313533 | erot = 4.51256666252574 | epot = -12.9205597759558 | etot = -5.62847193029471 +531000 ekin = 2.81130699778189 | erot = 4.50555264766606 | epot = -12.9453315757214 | etot = -5.62847193027343 +532000 ekin = 2.84274553226625 | erot = 4.49253106980067 | epot = -12.9637485322803 | etot = -5.62847193021333 +533000 ekin = 2.87393313768489 | erot = 4.47361780233235 | epot = -12.9760228701517 | etot = -5.62847193013447 +534000 ekin = 2.9048693380618 | erot = 4.44928844615846 | epot = -12.9826297142804 | etot = -5.62847193006009 +535000 ekin = 2.93541519863514 | erot = 4.42010482064679 | epot = -12.9839919492879 | etot = -5.62847193000594 +536000 ekin = 2.96529830145678 | erot = 4.38649798395329 | epot = -12.9802682153867 | etot = -5.62847192997666 +537000 ekin = 2.99415467148711 | erot = 4.34867665836371 | epot = -12.9713032598077 | etot = -5.62847192995683 +538000 ekin = 3.02158801646915 | erot = 4.30669342610079 | epot = -12.9567533725263 | etot = -5.62847192995632 +539000 ekin = 3.04722844370983 | erot = 4.26048951905857 | epot = -12.9361898927207 | etot = -5.6284719299523 +540000 ekin = 3.07077963641468 | erot = 4.21000980479945 | epot = -12.9092613711494 | etot = -5.62847192993531 +541000 ekin = 3.09204730614512 | erot = 4.15535061586997 | epot = -12.8758698519159 | etot = -5.62847192990077 +542000 ekin = 3.11094831331516 | erot = 4.09682671840137 | epot = -12.8362469615643 | etot = -5.62847192984778 +543000 ekin = 3.12750284881097 | erot = 4.03499383132543 | epot = -12.7909686099158 | etot = -5.6284719297794 +544000 ekin = 3.14181233916593 | erot = 3.97062692622017 | epot = -12.7409111950905 | etot = -5.62847192970443 +545000 ekin = 3.15402369277102 | erot = 3.90462208418003 | epot = -12.6871177065823 | etot = -5.62847192963125 +546000 ekin = 3.16427777376567 | erot = 3.83809465728464 | epot = -12.6308443606135 | etot = -5.62847192956321 +547000 ekin = 3.17263245314568 | erot = 3.77248542238257 | epot = -12.5735898050643 | etot = -5.62847192953605 +548000 ekin = 3.179051141272 | erot = 3.70842416476057 | epot = -12.5159472355757 | etot = -5.6284719295431 +549000 ekin = 3.18335924851754 | erot = 3.64619443423589 | epot = -12.4580256122966 | etot = -5.62847192954316 +550000 ekin = 3.18506506659047 | erot = 3.58603484428966 | epot = -12.3995718405372 | etot = -5.62847192965712 +551000 ekin = 3.18354118864977 | erot = 3.52751972614617 | epot = -12.3395328445918 | etot = -5.62847192979591 +552000 ekin = 3.17814056098378 | erot = 3.4697331722894 | epot = -12.2763456632104 | etot = -5.62847192993727 +553000 ekin = 3.16816249045812 | erot = 3.41187716293306 | epot = -12.2085115834396 | etot = -5.62847193004847 +554000 ekin = 3.15297464053773 | erot = 3.35363386892402 | epot = -12.1350804395537 | etot = -5.6284719300919 +555000 ekin = 3.13218065539089 | erot = 3.29554931591432 | epot = -12.0562019013385 | etot = -5.62847193003333 +556000 ekin = 3.10581995739448 | erot = 3.23932890454546 | epot = -11.97362079179 | etot = -5.62847192985007 +557000 ekin = 3.0745788389332 | erot = 3.1879540330783 | epot = -11.8910048015461 | etot = -5.62847192953461 +558000 ekin = 3.03998262648526 | erot = 3.1455370733645 | epot = -11.8139916289626 | etot = -5.62847192911286 +559000 ekin = 3.00450378979627 | erot = 3.11693712837836 | epot = -11.7499128467596 | etot = -5.62847192858498 +560000 ekin = 2.97145203616973 | erot = 3.10758181987614 | epot = -11.7075057840726 | etot = -5.62847192802673 +561000 ekin = 2.94451934096015 | erot = 3.12267269756051 | epot = -11.695663966089 | etot = -5.62847192756838 +562000 ekin = 2.92714140951177 | erot = 3.16633554925042 | epot = -11.7219488860146 | etot = -5.62847192725238 +563000 ekin = 2.92206147619018 | erot = 3.24077054357084 | epot = -11.7913039469645 | etot = -5.62847192720349 +564000 ekin = 2.93031627647214 | erot = 3.34563410959066 | epot = -11.904422313567 | etot = -5.62847192750415 +565000 ekin = 2.95068712283333 | erot = 3.47751232966821 | epot = -12.0566713806597 | etot = -5.62847192815818 +566000 ekin = 2.97962685511686 | erot = 3.62985521360919 | epot = -12.2379539978553 | etot = -5.62847192912925 +567000 ekin = 3.01171593565445 | erot = 3.79324477343165 | epot = -12.4334326394058 | etot = -5.62847193031967 +568000 ekin = 3.0405447743718 | erot = 3.95610049179515 | epot = -12.6251171977589 | etot = -5.62847193159194 +569000 ekin = 3.05981811069109 | erot = 4.10576505741751 | epot = -12.7940551008957 | etot = -5.62847193278708 +570000 ekin = 3.06446758287987 | erot = 4.22987220717996 | epot = -12.9228117238052 | etot = -5.62847193374534 +571000 ekin = 3.05159191031777 | erot = 4.31782950115015 | epot = -12.9978933457979 | etot = -5.62847193433 +572000 ekin = 3.02108996830544 | erot = 4.36217384049608 | epot = -13.0117357432537 | etot = -5.62847193445217 +573000 ekin = 2.97589592637986 | erot = 4.35953364453791 | epot = -12.9639015050083 | etot = -5.6284719340905 +574000 ekin = 2.92177260939836 | erot = 4.31098813653063 | epot = -12.8612326792314 | etot = -5.6284719333024 +575000 ekin = 2.86675845138713 | erot = 4.22206447607902 | epot = -12.717294857508 | etot = -5.62847193004183 +576000 ekin = 2.8223869503789 | erot = 4.11002108703159 | epot = -12.5608799669315 | etot = -5.62847192952098 +577000 ekin = 2.79586021282698 | erot = 3.98405314235611 | epot = -12.4083852842739 | etot = -5.62847192909081 +578000 ekin = 2.79062678644879 | erot = 3.84816173900883 | epot = -12.2672604543092 | etot = -5.62847192885153 +579000 ekin = 2.80727876762157 | erot = 3.7063076839788 | epot = -12.1420583804356 | etot = -5.62847192883522 +580000 ekin = 2.84308800282857 | erot = 3.56147502222138 | epot = -12.033034954352 | etot = -5.62847192930204 +581000 ekin = 2.89275945168389 | erot = 3.41677708036392 | epot = -11.9380084614241 | etot = -5.62847192937627 +582000 ekin = 2.94948274098648 | erot = 3.27852635628754 | epot = -11.8564810267198 | etot = -5.62847192944578 +583000 ekin = 3.0060031278149 | erot = 3.15339507864773 | epot = -11.7878701358921 | etot = -5.62847192942947 +584000 ekin = 3.05615870303891 | erot = 3.04800743030686 | epot = -11.7326380626508 | etot = -5.62847192930502 +585000 ekin = 3.09596263910058 | erot = 2.96828908150272 | epot = -11.6927236496984 | etot = -5.62847192909508 +586000 ekin = 3.1240729820111 | erot = 2.91878541586934 | epot = -11.6713303267112 | etot = -5.6284719288308 +587000 ekin = 3.14174614222906 | erot = 2.90225430090919 | epot = -11.6724723716795 | etot = -5.62847192854131 +588000 ekin = 3.15240031624116 | erot = 2.91960613640703 | epot = -11.700478380913 | etot = -5.62847192826478 +589000 ekin = 3.16081808258331 | erot = 2.97006448171823 | epot = -11.7593544923455 | etot = -5.62847192804401 +590000 ekin = 3.17204827386564 | erot = 3.05134069925118 | epot = -11.8518609010364 | etot = -5.62847192791959 +591000 ekin = 3.19150299840181 | erot = 3.16015018730255 | epot = -11.9801251137005 | etot = -5.62847192799616 +592000 ekin = 3.22264872303336 | erot = 3.29204057514201 | epot = -12.1431612264965 | etot = -5.62847192832117 +593000 ekin = 3.26585695463724 | erot = 3.44092346936372 | epot = -12.3352523528637 | etot = -5.62847192886271 +594000 ekin = 3.31918005195198 | erot = 3.59965335600014 | epot = -12.5473053375205 | etot = -5.62847192956837 +595000 ekin = 3.37897127081708 | erot = 3.76045843940704 | epot = -12.7679016405175 | etot = -5.62847193029343 +596000 ekin = 3.43824068576764 | erot = 3.91359738324664 | epot = -12.9803100016429 | etot = -5.6284719326286 +597000 ekin = 3.4874487679544 | erot = 4.04782437859589 | epot = -13.1637450798126 | etot = -5.62847193326233 +598000 ekin = 3.52187002166768 | erot = 4.15698580423951 | epot = -13.3073277595236 | etot = -5.62847193361645 +599000 ekin = 3.53831455068313 | erot = 4.23767846708707 | epot = -13.4044649514583 | etot = -5.6284719336881 +600000 ekin = 3.53510970425615 | erot = 4.28920847102017 | epot = -13.4527901087965 | etot = -5.62847193352019 +601000 ekin = 3.51191041812962 | erot = 4.31320178191252 | epot = -13.4535841332244 | etot = -5.62847193318225 +602000 ekin = 3.46937521141073 | erot = 4.3129515273547 | epot = -13.4107986715144 | etot = -5.62847193274896 +603000 ekin = 3.40882221235898 | erot = 4.29270411923729 | epot = -13.3299982638779 | etot = -5.62847193228164 +604000 ekin = 3.33194570976897 | erot = 4.25705245858959 | epot = -13.2174701001796 | etot = -5.62847193182099 +605000 ekin = 3.24062643782743 | erot = 4.21052248032723 | epot = -13.0796208495416 | etot = -5.62847193138697 +606000 ekin = 3.13683319321467 | erot = 4.15735875790752 | epot = -12.9226638821055 | etot = -5.62847193098336 +607000 ekin = 3.02259481106295 | erot = 4.10146703767137 | epot = -12.752533779339 | etot = -5.62847193060464 +608000 ekin = 2.90001652257939 | erot = 4.04645475151246 | epot = -12.5749432043324 | etot = -5.62847193024057 +609000 ekin = 2.77131728806686 | erot = 3.9957146077566 | epot = -12.3955038257043 | etot = -5.62847192988082 +610000 ekin = 2.63886938889611 | erot = 3.95250622986135 | epot = -12.2198475482764 | etot = -5.62847192951889 +611000 ekin = 2.50524882249988 | erot = 3.92003293773325 | epot = -12.0537536890984 | etot = -5.62847192886525 +612000 ekin = 2.37382087281222 | erot = 3.90218869849447 | epot = -11.9044814998431 | etot = -5.62847192853644 +613000 ekin = 2.24769613362685 | erot = 3.9018678874526 | epot = -11.7780359493068 | etot = -5.62847192822737 +614000 ekin = 2.12975142862109 | erot = 3.92103062110346 | epot = -11.6792539777051 | etot = -5.62847192798058 +615000 ekin = 2.02283676462475 | erot = 3.96080056824183 | epot = -11.6121092606972 | etot = -5.62847192783064 +616000 ekin = 1.92967019041608 | erot = 4.02099162179926 | epot = -11.5791337400261 | etot = -5.6284719278108 +617000 ekin = 1.8527379185552 | erot = 4.09974474400672 | epot = -11.5809545905121 | etot = -5.62847192795013 +618000 ekin = 1.79420296287865 | erot = 4.19322703619206 | epot = -11.6159019273328 | etot = -5.62847192826212 +619000 ekin = 1.75583197419788 | erot = 4.29552606644023 | epot = -11.6798299693697 | etot = -5.62847192873157 +620000 ekin = 1.7389587008847 | erot = 4.39891672372568 | epot = -11.7663473539151 | etot = -5.62847192930469 +621000 ekin = 1.74449834705323 | erot = 4.4946225066521 | epot = -11.8675927835954 | etot = -5.6284719298901 +622000 ekin = 1.77300875716063 | erot = 4.57403518093684 | epot = -11.9755158684793 | etot = -5.6284719303818 +623000 ekin = 1.82476626654578 | erot = 4.63011744400213 | epot = -12.0833556412428 | etot = -5.62847193069493 +624000 ekin = 1.89980556084052 | erot = 4.65854151401777 | epot = -12.1868190056567 | etot = -5.62847193079843 +625000 ekin = 1.99788930994803 | erot = 4.65817060172211 | epot = -12.2845318423909 | etot = -5.62847193072074 +626000 ekin = 2.11841938994316 | erot = 4.63077870097587 | epot = -12.3776700214476 | etot = -5.62847193052855 +627000 ekin = 2.26034340485921 | erot = 4.58024268402232 | epot = -12.4690580191734 | etot = -5.62847193029191 +628000 ekin = 2.42211143967629 | erot = 4.51161612058694 | epot = -12.5621994903281 | etot = -5.62847193006486 +629000 ekin = 2.60047669396776 | erot = 4.43316974513653 | epot = -12.6621183685087 | etot = -5.62847192940437 +630000 ekin = 2.75035748986435 | erot = 4.31003905752691 | epot = -12.6888685130984 | etot = -5.62847196570711 +631000 ekin = 2.81471524126653 | erot = 4.11774535993883 | epot = -12.560932536969 | etot = -5.62847193576361 +632000 ekin = 2.95867552202343 | erot = 4.07926707210706 | epot = -12.6664145270012 | etot = -5.62847193287073 +633000 ekin = 3.21010693580782 | erot = 4.20581326824112 | epot = -13.0443921661263 | etot = -5.62847196207735 +634000 ekin = 3.41641131485967 | erot = 4.25928215932152 | epot = -13.3041654105523 | etot = -5.62847193637112 +635000 ekin = 3.57385274064017 | erot = 4.24018711604243 | epot = -13.4425117938242 | etot = -5.62847193714155 +636000 ekin = 3.71894531184374 | erot = 4.21896102707095 | epot = -13.5663782768924 | etot = -5.62847193797771 +637000 ekin = 3.84555962843745 | erot = 4.19009538997421 | epot = -13.664126957085 | etot = -5.62847193867337 +638000 ekin = 3.94874232724131 | erot = 4.14881281932144 | epot = -13.7260270856049 | etot = -5.62847193904211 +639000 ekin = 4.02564653205978 | erot = 4.09271382126824 | epot = -13.7468322923361 | etot = -5.62847193900805 +640000 ekin = 4.07582551376673 | erot = 4.02260436126851 | epot = -13.7269018136558 | etot = -5.62847193862055 +641000 ekin = 4.10019063777134 | erot = 3.94203419575025 | epot = -13.6706967719888 | etot = -5.62847193846719 +642000 ekin = 4.09923586008661 | erot = 3.85569636519573 | epot = -13.5834041631703 | etot = -5.62847193788798 +643000 ekin = 4.07616079994664 | erot = 3.76850329642401 | epot = -13.4731360337343 | etot = -5.62847193736366 +644000 ekin = 4.03483546321403 | erot = 3.68428538420007 | epot = -13.3475927843633 | etot = -5.6284719369492 +645000 ekin = 3.97939693549996 | erot = 3.60521279253874 | epot = -13.2130816646665 | etot = -5.62847193662782 +646000 ekin = 3.91424157408672 | erot = 3.5319774652156 | epot = -13.0746909756475 | etot = -5.6284719363452 +647000 ekin = 3.84412108368419 | erot = 3.46430751179901 | epot = -12.9369005316694 | etot = -5.62847193618623 +648000 ekin = 3.77442093462977 | erot = 3.40030625102239 | epot = -12.8031991215208 | etot = -5.6284719358686 +649000 ekin = 3.71064844414069 | erot = 3.33902116862802 | epot = -12.6781415483154 | etot = -5.62847193554669 +650000 ekin = 3.65777288971661 | erot = 3.28036981761337 | epot = -12.5666146426042 | etot = -5.6284719352742 +651000 ekin = 3.61962254759293 | erot = 3.22458240433025 | epot = -12.4726768870207 | etot = -5.62847193509757 +652000 ekin = 3.5983886698485 | erot = 3.17201593040843 | epot = -12.3988765352917 | etot = -5.62847193503482 +653000 ekin = 3.59447660059994 | erot = 3.12302902483937 | epot = -12.3459775605093 | etot = -5.62847193506997 +654000 ekin = 3.60674141918748 | erot = 3.07797678365425 | epot = -12.3131901380042 | etot = -5.62847193516246 +655000 ekin = 3.63298841308731 | erot = 3.03728497072474 | epot = -12.2987453190854 | etot = -5.62847193527339 +656000 ekin = 3.67052655523893 | erot = 3.00147990292547 | epot = -12.3004783935545 | etot = -5.62847193539005 +657000 ekin = 3.71734630697157 | erot = 2.97084073545016 | epot = -12.3166589778187 | etot = -5.62847193539701 +658000 ekin = 3.75778663153076 | erot = 2.94872940840489 | epot = -12.3349879987274 | etot = -5.62847195879179 +659000 ekin = 3.70128994146784 | erot = 2.99267200647991 | epot = -12.3224338836791 | etot = -5.62847193573132 +660000 ekin = 3.77980484663485 | erot = 3.0508167858632 | epot = -12.4590935965774 | etot = -5.62847196407936 +661000 ekin = 3.87674047114964 | erot = 3.02043722440496 | epot = -12.5256496409205 | etot = -5.62847194536593 +662000 ekin = 3.96189665296545 | erot = 2.97294510656965 | epot = -12.5633137058439 | etot = -5.62847194630885 +663000 ekin = 4.03233992108651 | erot = 2.90724728968627 | epot = -12.5680591571061 | etot = -5.6284719463333 +664000 ekin = 4.08703350774854 | erot = 2.82371074133269 | epot = -12.5392161948955 | etot = -5.62847194581425 +665000 ekin = 4.13016908270567 | erot = 2.72591755776349 | epot = -12.4845585855259 | etot = -5.62847194505672 +666000 ekin = 4.16485763690331 | erot = 2.62158318077271 | epot = -12.4149127617545 | etot = -5.62847194407844 +667000 ekin = 4.19388444231057 | erot = 2.52048046570678 | epot = -12.3428368513375 | etot = -5.62847194332015 +668000 ekin = 4.21970111362512 | erot = 2.4311756655168 | epot = -12.2793487219105 | etot = -5.6284719427686 +669000 ekin = 4.24419480060344 | erot = 2.35970998766334 | epot = -12.2323767306761 | etot = -5.62847194240935 +670000 ekin = 4.26650932837758 | erot = 2.31009212990318 | epot = -12.2050734005613 | etot = -5.62847194228056 +671000 ekin = 4.28028750577367 | erot = 2.2839406896226 | epot = -12.1927001376243 | etot = -5.62847194222801 +672000 ekin = 4.286049538111 | erot = 2.28087700956881 | epot = -12.1953984898719 | etot = -5.62847194219211 +673000 ekin = 4.28538320977093 | erot = 2.29981058125325 | epot = -12.2136657331723 | etot = -5.62847194214809 +674000 ekin = 4.28032637881323 | erot = 2.33931520005416 | epot = -12.2481135209748 | etot = -5.62847194210737 +675000 ekin = 4.27310613137932 | erot = 2.39770546345542 | epot = -12.2992835369528 | etot = -5.62847194211806 +676000 ekin = 4.26563141837423 | erot = 2.47283047867151 | epot = -12.3669338393238 | etot = -5.62847194227809 +677000 ekin = 4.25873601017197 | erot = 2.56159475147911 | epot = -12.4488027042873 | etot = -5.62847194263624 +678000 ekin = 4.25154383400404 | erot = 2.65951246674531 | epot = -12.5395282439923 | etot = -5.62847194324292 +679000 ekin = 4.24120573455929 | erot = 2.76057514763493 | epot = -12.6302528262372 | etot = -5.628471944043 +680000 ekin = 4.2232005117233 | erot = 2.8577068911792 | epot = -12.7093793477757 | etot = -5.62847194487315 +681000 ekin = 4.19242845444176 | erot = 2.94400272561177 | epot = -12.7649031255562 | etot = -5.62847194550269 +682000 ekin = 4.14477706331028 | erot = 3.01435956402087 | epot = -12.7876085730806 | etot = -5.62847194574946 +683000 ekin = 4.07850194573498 | erot = 3.0666968932365 | epot = -12.7736707845359 | etot = -5.6284719455644 +684000 ekin = 3.98766788576626 | erot = 3.0906277067226 | epot = -12.7067675428786 | etot = -5.62847195038972 +685000 ekin = 3.87609976025144 | erot = 3.0721311887794 | epot = -12.5767028927108 | etot = -5.62847194367995 +686000 ekin = 3.78865422783082 | erot = 3.05379982550292 | epot = -12.4709259956873 | etot = -5.62847194235354 +687000 ekin = 3.72885638113158 | erot = 3.05128310415992 | epot = -12.408611432526 | etot = -5.62847194723451 +688000 ekin = 3.65488085456385 | erot = 3.04382149782401 | epot = -12.3271742987313 | etot = -5.62847194634345 +689000 ekin = 3.57606770138192 | erot = 3.03834252514909 | epot = -12.2428821721681 | etot = -5.62847194563711 +690000 ekin = 3.51634425554767 | erot = 3.04775260803385 | epot = -12.1925688087058 | etot = -5.6284719451243 +691000 ekin = 3.47971445739509 | erot = 3.07622358483667 | epot = -12.1844099871023 | etot = -5.62847194487056 +692000 ekin = 3.46765181254146 | erot = 3.12642449719425 | epot = -12.2225482546729 | etot = -5.62847194493722 +693000 ekin = 3.47854301550202 | erot = 3.19918358098304 | epot = -12.3061985418229 | etot = -5.62847194533786 +694000 ekin = 3.50760869796604 | erot = 3.2934044104258 | epot = -12.4294850544069 | etot = -5.62847194601503 +695000 ekin = 3.54747029158324 | erot = 3.40637947899577 | epot = -12.5823217174297 | etot = -5.6284719468507 +696000 ekin = 3.58927155158232 | erot = 3.53441505478202 | epot = -12.7521585540714 | etot = -5.62847194770705 +697000 ekin = 3.62399868515567 | erot = 3.67347767287419 | epot = -12.9259483064922 | etot = -5.62847194846231 +698000 ekin = 3.64429609748856 | erot = 3.81929275579794 | epot = -13.0920608023944 | etot = -5.62847194910787 +699000 ekin = 3.64411727644142 | erot = 3.96826912274322 | epot = -13.2408583487081 | etot = -5.62847194952344 +700000 ekin = 3.61972386471004 | erot = 4.11779628901722 | epot = -13.3659921034179 | etot = -5.62847194969066 +701000 ekin = 3.57045543126867 | erot = 4.26605645111758 | epot = -13.4649838321254 | etot = -5.62847194973912 +702000 ekin = 3.49917622945371 | erot = 4.41037029489176 | epot = -13.5380184739597 | etot = -5.62847194961422 +703000 ekin = 3.41079978145369 | erot = 4.54773448473206 | epot = -13.5870062155679 | etot = -5.62847194938218 +704000 ekin = 3.31149657249576 | erot = 4.67560464085735 | epot = -13.6155731624397 | etot = -5.62847194908665 +705000 ekin = 3.2080790304337 | erot = 4.79162132887101 | epot = -13.6281723080898 | etot = -5.62847194878512 +706000 ekin = 3.10702043894422 | erot = 4.89365607505418 | epot = -13.629148462546 | etot = -5.62847194854759 +707000 ekin = 3.01353531409874 | erot = 4.97967086421267 | epot = -13.6216781267545 | etot = -5.62847194844312 +708000 ekin = 2.93091332946626 | erot = 5.04739802063624 | epot = -13.6067832986217 | etot = -5.62847194851923 +709000 ekin = 2.86026033876341 | erot = 5.09399325402639 | epot = -13.5827255415665 | etot = -5.62847194877667 +710000 ekin = 2.80069789539212 | erot = 5.11589857306006 | epot = -13.5450684176139 | etot = -5.62847194916176 +711000 ekin = 2.74994326406642 | erot = 5.10911210243646 | epot = -13.4875273160742 | etot = -5.62847194957137 +712000 ekin = 2.70509857027021 | erot = 5.06990681770748 | epot = -13.4034773378593 | etot = -5.62847194988164 +713000 ekin = 2.66343594243819 | erot = 4.99582282608673 | epot = -13.2877307185112 | etot = -5.62847194998628 +714000 ekin = 2.62297982870224 | erot = 4.88658411853972 | epot = -13.1380358970775 | etot = -5.62847194983555 +715000 ekin = 2.58275404764254 | erot = 4.74456650550822 | epot = -12.9557925026026 | etot = -5.6284719494518 +716000 ekin = 2.54267933985284 | erot = 4.57461726508771 | epot = -12.7457685538544 | etot = -5.62847194891384 +717000 ekin = 2.50334692022862 | erot = 4.38348005498769 | epot = -12.5152989232176 | etot = -5.6284719480013 +718000 ekin = 2.46867182055041 | erot = 4.1828061934235 | epot = -12.2799499617185 | etot = -5.62847194774463 +719000 ekin = 2.44027484666831 | erot = 3.97913844322971 | epot = -12.0478852373921 | etot = -5.62847194749405 +720000 ekin = 2.41790751034177 | erot = 3.77617089343529 | epot = -11.8225503510303 | etot = -5.62847194725326 +721000 ekin = 2.40130900325092 | erot = 3.57751641410833 | epot = -11.6072973643847 | etot = -5.62847194702549 +722000 ekin = 2.39001969443857 | erot = 3.38620933378187 | epot = -11.404700975239 | etot = -5.62847194701852 +723000 ekin = 2.38288808218479 | erot = 3.20447847633104 | epot = -11.215838505237 | etot = -5.62847194672118 +724000 ekin = 2.38038137258082 | erot = 3.03585463115629 | epot = -11.0447079501875 | etot = -5.62847194645035 +725000 ekin = 2.38334904384078 | erot = 2.88343528894459 | epot = -10.8952562789953 | etot = -5.62847194620992 +726000 ekin = 2.3927798881752 | erot = 2.74974572539751 | epot = -10.7709975595779 | etot = -5.62847194600517 +727000 ekin = 2.40968215741221 | erot = 2.63676770312337 | epot = -10.6749218063778 | etot = -5.62847194584219 +728000 ekin = 2.42515137987946 | erot = 2.54412147902473 | epot = -10.597744818259 | etot = -5.6284719593548 +729000 ekin = 2.40297855337031 | erot = 2.51475999965194 | epot = -10.5462104924533 | etot = -5.62847193943108 +730000 ekin = 2.46310039286674 | erot = 2.540888382744 | epot = -10.6324607145899 | etot = -5.62847193897912 +731000 ekin = 2.53308642098023 | erot = 2.54954386950276 | epot = -10.711102229553 | etot = -5.62847193907001 +732000 ekin = 2.61398262095739 | erot = 2.5802487460936 | epot = -10.8227033063293 | etot = -5.62847193927826 +733000 ekin = 2.70404858449563 | erot = 2.63167940205859 | epot = -10.9641999262015 | etot = -5.62847193964733 +734000 ekin = 2.80051950070181 | erot = 2.70132929850524 | epot = -11.1303207394307 | etot = -5.62847194022367 +735000 ekin = 2.89941283720295 | erot = 2.78510796773607 | epot = -11.3129927459757 | etot = -5.62847194103669 +736000 ekin = 2.99560133060437 | erot = 2.87741009026776 | epot = -11.5014833619701 | etot = -5.62847194109798 +737000 ekin = 3.08481605483226 | erot = 2.9752448937055 | epot = -11.6885328905221 | etot = -5.62847194198435 +738000 ekin = 3.16217862814496 | erot = 3.07317374879029 | epot = -11.8638243197375 | etot = -5.62847194280226 +739000 ekin = 3.22336037210457 | erot = 3.16493875129292 | epot = -12.0167710667472 | etot = -5.62847194334973 +740000 ekin = 3.26585131612671 | erot = 3.2452213963337 | epot = -12.1395446568933 | etot = -5.62847194443293 +741000 ekin = 3.28375382494221 | erot = 3.29991441181407 | epot = -12.212140181187 | etot = -5.62847194443076 +742000 ekin = 3.27631313134865 | erot = 3.32408611699032 | epot = -12.2288711922813 | etot = -5.62847194394237 +743000 ekin = 3.24737724788096 | erot = 3.32046927259928 | epot = -12.1963184636816 | etot = -5.6284719432014 +744000 ekin = 3.20210603596794 | erot = 3.29401551174191 | epot = -12.1245934901295 | etot = -5.62847194241966 +745000 ekin = 3.14567705880421 | erot = 3.25033566996093 | epot = -12.0244846704798 | etot = -5.62847194171465 +746000 ekin = 3.08279906264057 | erot = 3.19521988680648 | epot = -11.9064908903141 | etot = -5.62847194086707 +747000 ekin = 3.01768881726563 | erot = 3.13473855306841 | epot = -11.7808993107186 | etot = -5.62847194038452 +748000 ekin = 2.95302867419745 | erot = 3.07321432138934 | epot = -11.6547149355341 | etot = -5.62847193994729 +749000 ekin = 2.89104396122167 | erot = 3.01469856693791 | epot = -11.5342144676923 | etot = -5.6284719395327 +750000 ekin = 2.83379417408033 | erot = 2.96315742645669 | epot = -11.4254235396726 | etot = -5.62847193913556 +751000 ekin = 2.78329891260719 | erot = 2.92241777446644 | epot = -11.3341886258388 | etot = -5.62847193876517 +752000 ekin = 2.74156846297845 | erot = 2.89600799316408 | epot = -11.2660483945816 | etot = -5.62847193843909 +753000 ekin = 2.71056677611893 | erot = 2.8869375344884 | epot = -11.2259762487886 | etot = -5.62847193818127 +754000 ekin = 2.69212502636381 | erot = 2.89743125955444 | epot = -11.2180282239416 | etot = -5.62847193802339 +755000 ekin = 2.68776538341817 | erot = 2.92849871098632 | epot = -11.2447360324805 | etot = -5.62847193807603 +756000 ekin = 2.69845743016129 | erot = 2.97938409373429 | epot = -11.3063134621321 | etot = -5.62847193823654 +757000 ekin = 2.72458496399214 | erot = 3.04788425636374 | epot = -11.4009411589946 | etot = -5.62847193863874 +758000 ekin = 2.76540921269775 | erot = 3.12962823295245 | epot = -11.5235093849696 | etot = -5.62847193931939 +759000 ekin = 2.81868342054339 | erot = 3.21794575406346 | epot = -11.6651011148695 | etot = -5.62847194026269 +760000 ekin = 2.88053746471945 | erot = 3.30429272409835 | epot = -11.8133021301665 | etot = -5.62847194134869 +761000 ekin = 2.94600007669967 | erot = 3.37947250557982 | epot = -11.9539445246072 | etot = -5.62847194232772 +762000 ekin = 3.0103728108363 | erot = 3.43568700379387 | epot = -12.0745317575224 | etot = -5.62847194289219 +763000 ekin = 3.07103775537587 | erot = 3.46881600078167 | epot = -12.1683256990032 | etot = -5.62847194284569 +764000 ekin = 3.12866395084712 | erot = 3.47975039697106 | epot = -12.2368862900568 | etot = -5.62847194223863 +765000 ekin = 3.18696433138653 | erot = 3.47390232159169 | epot = -12.2893385943131 | etot = -5.62847194133492 +766000 ekin = 3.25112146468525 | erot = 3.45917589069875 | epot = -12.3387692958358 | etot = -5.62847194045182 +767000 ekin = 3.32577328220466 | erot = 3.44357056015004 | epot = -12.3978157821775 | etot = -5.62847193982283 +768000 ekin = 3.41341833396391 | erot = 3.4334263493615 | epot = -12.4753166228815 | etot = -5.62847193955611 +769000 ekin = 3.51361597959336 | erot = 3.4325883769163 | epot = -12.5746762961707 | etot = -5.62847193966108 +770000 ekin = 3.62296220613534 | erot = 3.44225950920416 | epot = -12.6936936554243 | etot = -5.62847194008485 +771000 ekin = 3.67754209930849 | erot = 3.42051682729324 | epot = -12.726530894413 | etot = -5.62847196781123 +772000 ekin = 3.59351734139873 | erot = 3.35849685484742 | epot = -12.5804861297902 | etot = -5.62847193354401 +773000 ekin = 3.58504863458809 | erot = 3.48413941856385 | epot = -12.697659986425 | etot = -5.62847193327303 +774000 ekin = 3.69556246641496 | erot = 3.75600381486114 | epot = -13.080038250078 | etot = -5.62847196880192 +775000 ekin = 3.75799646991679 | erot = 3.873956410094 | epot = -13.2604248525586 | etot = -5.62847197254785 +776000 ekin = 3.76514931008122 | erot = 3.89275295614278 | epot = -13.2863742389445 | etot = -5.62847197272045 +777000 ekin = 3.74852837933054 | erot = 3.88975944407747 | epot = -13.2667597957584 | etot = -5.62847197235036 +778000 ekin = 3.71300754015998 | erot = 3.86527182207406 | epot = -13.2067513338695 | etot = -5.62847197163544 +779000 ekin = 3.66665793069796 | erot = 3.82295167580669 | epot = -13.1180815770381 | etot = -5.62847197053349 +780000 ekin = 3.61972773138243 | erot = 3.76957330528294 | epot = -13.0177730059552 | etot = -5.62847196928983 +781000 ekin = 3.5827624251825 | erot = 3.71368279717706 | epot = -12.9249171905627 | etot = -5.62847196820313 +782000 ekin = 3.56434384280159 | erot = 3.66344621657883 | epot = -12.8562620268944 | etot = -5.62847196751401 +783000 ekin = 3.56907083370159 | erot = 3.62459601403967 | epot = -12.8221388151988 | etot = -5.62847196745757 +784000 ekin = 3.59655578166301 | erot = 3.59908724292537 | epot = -12.8241149924018 | etot = -5.62847196781346 +785000 ekin = 3.64263842869095 | erot = 3.58559579705149 | epot = -12.856706194237 | etot = -5.62847196849456 +786000 ekin = 3.70061363552459 | erot = 3.58032714317056 | epot = -12.9094127479833 | etot = -5.6284719692882 +787000 ekin = 3.76290289511577 | erot = 3.57827846514429 | epot = -12.9696533303101 | etot = -5.62847197005003 +788000 ekin = 3.82230691224393 | erot = 3.57432079357667 | epot = -13.0250996764978 | etot = -5.62847197067724 +789000 ekin = 3.87288355980582 | erot = 3.5640275053608 | epot = -13.0653830362756 | etot = -5.62847197110898 +790000 ekin = 3.91054381090259 | erot = 3.54422213355097 | epot = -13.0832379157242 | etot = -5.62847197127067 +791000 ekin = 3.93344679963981 | erot = 3.513339825829 | epot = -13.0752585966554 | etot = -5.62847197118663 +792000 ekin = 3.94193166957115 | erot = 3.47142235482322 | epot = -13.041825995302 | etot = -5.62847197090762 +793000 ekin = 3.93805337440561 | erot = 3.41982689850894 | epot = -12.9863522434218 | etot = -5.62847197050723 +794000 ekin = 3.92496167477878 | erot = 3.360819734858 | epot = -12.9142533796931 | etot = -5.62847197005634 +795000 ekin = 3.90631843175017 | erot = 3.29713731842303 | epot = -12.8319277197836 | etot = -5.62847196961038 +796000 ekin = 3.8858792006581 | erot = 3.23158100820237 | epot = -12.7459321780665 | etot = -5.62847196920608 +797000 ekin = 3.86724402797514 | erot = 3.16668037667839 | epot = -12.6623963735179 | etot = -5.62847196886439 +798000 ekin = 3.85371944428472 | erot = 3.10446220748905 | epot = -12.5866536203663 | etot = -5.62847196859256 +799000 ekin = 3.84821326100227 | erot = 3.04637406900957 | epot = -12.5230592984002 | etot = -5.62847196838834 +800000 ekin = 3.85308746091494 | erot = 2.99338091162984 | epot = -12.4749403407895 | etot = -5.62847196824468 +801000 ekin = 3.86994742093311 | erot = 2.94620265096875 | epot = -12.4446220400576 | etot = -5.62847196815571 +802000 ekin = 3.89938743532043 | erot = 2.90559564258017 | epot = -12.4334550460216 | etot = -5.62847196812102 +803000 ekin = 3.94077451962402 | erot = 2.87255363202934 | epot = -12.441800119797 | etot = -5.62847196814361 +804000 ekin = 3.99217445526748 | erot = 2.84833794194511 | epot = -12.468984365439 | etot = -5.62847196822644 +805000 ekin = 4.05048829014821 | erot = 2.83432176495251 | epot = -12.5132820234689 | etot = -5.62847196836816 +806000 ekin = 4.11178329744327 | erot = 2.83170980380164 | epot = -12.5719650698088 | etot = -5.62847196856388 +807000 ekin = 4.17172086389146 | erot = 2.84122318486818 | epot = -12.6414160175669 | etot = -5.62847196880729 +808000 ekin = 4.22595471218244 | erot = 2.86283161315583 | epot = -12.7172582944323 | etot = -5.62847196909407 +809000 ekin = 4.27041103463199 | erot = 2.89559061447317 | epot = -12.7944736185239 | etot = -5.62847196941877 +810000 ekin = 4.30143579161472 | erot = 2.93761851724059 | epot = -12.867526278626 | etot = -5.62847196977065 +811000 ekin = 4.3158591249341 | erot = 2.98622782440343 | epot = -12.9305589194658 | etot = -5.62847197012825 +812000 ekin = 4.31104963132775 | erot = 3.03819974796596 | epot = -12.9777213497531 | etot = -5.62847197045938 +813000 ekin = 4.28501152851198 | erot = 3.09015837137455 | epot = -13.0036418706117 | etot = -5.62847197072517 +814000 ekin = 4.23653530241262 | erot = 3.13897206786273 | epot = -13.0039793411637 | etot = -5.6284719708883 +815000 ekin = 4.16537042744585 | erot = 3.18209773892999 | epot = -12.9759401372993 | etot = -5.62847197092346 +816000 ekin = 4.07236517437489 | erot = 3.21779646457061 | epot = -12.9186336097681 | etot = -5.62847197082257 +817000 ekin = 3.95951977387102 | erot = 3.24518380299012 | epot = -12.833175547459 | etot = -5.62847197059791 +818000 ekin = 3.82991762625571 | erot = 3.26412066899673 | epot = -12.7225102655335 | etot = -5.62847197028107 +819000 ekin = 3.68753356640539 | erot = 3.2749890292221 | epot = -12.5909945655321 | etot = -5.62847196990462 +820000 ekin = 3.53699106710322 | erot = 3.27842149097166 | epot = -12.4438845275865 | etot = -5.62847196951165 +821000 ekin = 3.38323613781718 | erot = 3.27505502165856 | epot = -12.2867631286099 | etot = -5.62847196913417 +822000 ekin = 3.23123737368411 | erot = 3.26537695348515 | epot = -12.1250862959605 | etot = -5.62847196879128 +823000 ekin = 3.08574116225304 | erot = 3.24970236655088 | epot = -11.9639154972909 | etot = -5.62847196848693 +824000 ekin = 2.9510991981331 | erot = 3.22828590254736 | epot = -11.8078570688933 | etot = -5.62847196821286 +825000 ekin = 2.83117167279191 | erot = 3.20152981062071 | epot = -11.6611734513667 | etot = -5.62847196795409 +826000 ekin = 2.72929448938322 | erot = 3.170212329904 | epot = -11.527978786985 | etot = -5.62847196769779 +827000 ekin = 2.64828540333971 | erot = 3.13564460905767 | epot = -11.4124019798381 | etot = -5.62847196744072 +828000 ekin = 2.59045268753837 | erot = 3.09968027827888 | epot = -11.3186049330108 | etot = -5.62847196719354 +829000 ekin = 2.5575674899745 | erot = 3.06454891988821 | epot = -11.2505883768447 | etot = -5.62847196698198 +830000 ekin = 2.55077388401548 | erot = 3.03254604807767 | epot = -11.2117918989325 | etot = -5.6284719668394 +831000 ekin = 2.57043726066164 | erot = 3.00566097392708 | epot = -11.2045702013875 | etot = -5.62847196679876 +832000 ekin = 2.61596871115982 | erot = 2.98524787868899 | epot = -11.2296885567312 | etot = -5.62847196688238 +833000 ekin = 2.68568117843713 | erot = 2.97182255605824 | epot = -11.2859757015904 | etot = -5.62847196709497 +834000 ekin = 2.77673678117253 | erot = 2.96502424236813 | epot = -11.370232990964 | etot = -5.62847196742337 +835000 ekin = 2.885220643029 | erot = 2.96372965115359 | epot = -11.4774222620224 | etot = -5.62847196783982 +836000 ekin = 3.00633984593918 | erot = 2.96626860460898 | epot = -11.6010804188574 | etot = -5.62847196830924 +837000 ekin = 3.13471078930649 | erot = 2.97067133176137 | epot = -11.7338540898654 | etot = -5.62847196879752 +838000 ekin = 3.26467977039692 | erot = 2.97489019017183 | epot = -11.868041929845 | etot = -5.62847196927627 +839000 ekin = 3.39062362172885 | erot = 2.97696578821289 | epot = -11.9960613796666 | etot = -5.62847196972483 +840000 ekin = 3.50719614226998 | erot = 2.9751377340059 | epot = -12.1108058464052 | etot = -5.6284719701293 +841000 ekin = 3.60951430438935 | erot = 2.96792302585542 | epot = -12.2059093007227 | etot = -5.62847197047788 +842000 ekin = 3.69330308375243 | erot = 2.95419217424765 | epot = -12.2759672287577 | etot = -5.62847197075763 +843000 ekin = 3.75502928062943 | erot = 2.93326272933342 | epot = -12.3167639809143 | etot = -5.62847197095144 +844000 ekin = 3.79205095751741 | erot = 2.905010032425 | epot = -12.3255329609822 | etot = -5.62847197103983 +845000 ekin = 3.8027882697654 | erot = 2.86997708288216 | epot = -12.3012373236517 | etot = -5.62847197100412 +846000 ekin = 3.78689078356818 | erot = 2.82944607124618 | epot = -12.2448088256482 | etot = -5.62847197083381 +847000 ekin = 3.7453492374313 | erot = 2.78543387885269 | epot = -12.1592550868164 | etot = -5.62847197053239 +848000 ekin = 3.68048960895024 | erot = 2.74058491120546 | epot = -12.0495464902778 | etot = -5.62847197012212 +849000 ekin = 3.59580402257809 | erot = 2.69795473374334 | epot = -11.9222307259669 | etot = -5.62847196964545 +850000 ekin = 3.49561210988706 | erot = 2.6606982620177 | epot = -11.7847823410607 | etot = -5.62847196915597 +851000 ekin = 3.38460421144088 | erot = 2.63169878902263 | epot = -11.6447749691747 | etot = -5.62847196871119 +852000 ekin = 3.26735834597144 | erot = 2.61319105400609 | epot = -11.5090213683379 | etot = -5.62847196836037 +853000 ekin = 3.14792970794091 | erot = 2.60644045891664 | epot = -11.3828421349899 | etot = -5.62847196813238 +854000 ekin = 3.02961721450397 | erot = 2.61155167654438 | epot = -11.2696408590751 | etot = -5.62847196802677 +855000 ekin = 2.91497870603335 | erot = 2.62749311856603 | epot = -11.1709437926219 | etot = -5.62847196802253 +856000 ekin = 2.80592683601258 | erot = 2.65229723485518 | epot = -11.0866960389482 | etot = -5.62847196808045 +857000 ekin = 2.70394323064281 | erot = 2.68342637105178 | epot = -11.0158415698526 | etot = -5.62847196815805 +858000 ekin = 2.6102808497471 | erot = 2.71820874437837 | epot = -10.9569615623474 | etot = -5.62847196822195 +859000 ekin = 2.52608469636932 | erot = 2.75423459858654 | epot = -10.9087912632103 | etot = -5.62847196825448 +860000 ekin = 2.45241725286413 | erot = 2.78962480120777 | epot = -10.8705140223255 | etot = -5.62847196825358 +861000 ekin = 2.39021948270796 | erot = 2.8231315035024 | epot = -10.8418229544392 | etot = -5.62847196822881 +862000 ekin = 2.34025129495234 | erot = 2.85407946396319 | epot = -10.8228027271118 | etot = -5.62847196819627 +863000 ekin = 2.30304188782341 | erot = 2.88219277654192 | epot = -10.8137066325389 | etot = -5.62847196817353 +864000 ekin = 2.27886006016584 | erot = 2.90737073895635 | epot = -10.8147027672985 | etot = -5.6284719681763 +865000 ekin = 2.26770197186021 | erot = 2.9294767749707 | epot = -10.8256507150445 | etot = -5.62847196821362 +866000 ekin = 2.26929189238761 | erot = 2.94819404266293 | epot = -10.8459579033382 | etot = -5.6284719682877 +867000 ekin = 2.28309242165747 | erot = 2.9629808932943 | epot = -10.8745452833439 | etot = -5.62847196839215 +868000 ekin = 2.30832281649049 | erot = 2.97313399109876 | epot = -10.9099287761031 | etot = -5.62847196851388 +869000 ekin = 2.34398135102351 | erot = 2.97793980541721 | epot = -10.9503931250775 | etot = -5.62847196863683 +870000 ekin = 2.38886744688628 | erot = 2.97686809818554 | epot = -10.9942075138189 | etot = -5.62847196874705 +871000 ekin = 2.44159861726723 | erot = 2.96974175415068 | epot = -11.0398123402555 | etot = -5.62847196883764 +872000 ekin = 2.5006196151775 | erot = 2.95681803681079 | epot = -11.0859096208989 | etot = -5.62847196891058 +873000 ekin = 2.56420808047572 | erot = 2.93874614045633 | epot = -11.131426189908 | etot = -5.62847196897592 +874000 ekin = 2.63049126930056 | erot = 2.91641905767842 | epot = -11.1753822960225 | etot = -5.62847196904347 +875000 ekin = 2.69749664352447 | erot = 2.89079068995882 | epot = -11.2167593025987 | etot = -5.62847196911544 +876000 ekin = 2.7632574078238 | erot = 2.86275138557266 | epot = -11.2544807625772 | etot = -5.62847196918073 +877000 ekin = 2.82597856972948 | erot = 2.83312911621945 | epot = -11.2875796551638 | etot = -5.62847196921485 +878000 ekin = 2.88426505940501 | erot = 2.80282960039437 | epot = -11.3155666289385 | etot = -5.62847196913916 +879000 ekin = 2.93899285403075 | erot = 2.77402557708719 | epot = -11.341490400032 | etot = -5.62847196891407 +880000 ekin = 2.99074429392039 | erot = 2.74904466360361 | epot = -11.3682609264686 | etot = -5.62847196894464 +881000 ekin = 3.03734868878526 | erot = 2.72816458054467 | epot = -11.3939852381131 | etot = -5.62847196878313 +882000 ekin = 3.07935286228137 | erot = 2.71303253487197 | epot = -11.4208573657697 | etot = -5.62847196861634 +883000 ekin = 3.11756796983936 | erot = 2.70517731822857 | epot = -11.4512172565507 | etot = -5.62847196848273 +884000 ekin = 3.15280252747556 | erot = 2.70569769589384 | epot = -11.4869721917774 | etot = -5.62847196840798 +885000 ekin = 3.1857161310425 | erot = 2.71504911530919 | epot = -11.5292372147568 | etot = -5.6284719684051 +886000 ekin = 3.21676773286079 | erot = 2.73290580052215 | epot = -11.5781455018622 | etot = -5.62847196847926 +887000 ekin = 3.24623562321836 | erot = 2.75806669093292 | epot = -11.6327742827852 | etot = -5.62847196863393 +888000 ekin = 3.27425941908945 | erot = 2.78837179663876 | epot = -11.6911031846009 | etot = -5.62847196887267 +889000 ekin = 3.30086478782363 | erot = 2.82064068483657 | epot = -11.7499774418536 | etot = -5.62847196919337 +890000 ekin = 3.32596924764569 | erot = 2.85071439963934 | epot = -11.8051556168602 | etot = -5.62847196957518 +891000 ekin = 3.34941253130769 | erot = 2.87373382370284 | epot = -11.8516183249749 | etot = -5.62847196996437 +892000 ekin = 3.37107523452355 | erot = 2.88476437059098 | epot = -11.8843115753886 | etot = -5.62847197027407 +893000 ekin = 3.39111184994124 | erot = 2.87974242684367 | epot = -11.8993262471909 | etot = -5.62847197040598 +894000 ekin = 3.41023212803652 | erot = 2.8565082945549 | epot = -11.8952123928825 | etot = -5.62847197029109 +895000 ekin = 3.42987730750782 | erot = 2.81553499448249 | epot = -11.8738842719177 | etot = -5.62847196992743 +896000 ekin = 3.45214148852512 | erot = 2.76001213104415 | epot = -11.8406255889559 | etot = -5.6284719693866 +897000 ekin = 3.47941735485478 | erot = 2.69521466357856 | epot = -11.8031039872188 | etot = -5.6284719687855 +898000 ekin = 3.51352961908184 | erot = 2.62737086720505 | epot = -11.7693724676977 | etot = -5.62847198141077 +899000 ekin = 3.48893911266076 | erot = 2.56291214053403 | epot = -11.680323222652 | etot = -5.62847196945724 +900000 ekin = 3.45535689186671 | erot = 2.55015985141027 | epot = -11.6339887056296 | etot = -5.62847196235264 +901000 ekin = 3.50186288044185 | erot = 2.58894159232131 | epot = -11.719276448543 | etot = -5.62847197577986 +902000 ekin = 3.56610213518761 | erot = 2.58196928593651 | epot = -11.7765433936784 | etot = -5.62847197255431 +903000 ekin = 3.62814875800469 | erot = 2.56232070296314 | epot = -11.8189414338963 | etot = -5.62847197292843 +904000 ekin = 3.69112394778049 | erot = 2.55247638362847 | epot = -11.8720723048244 | etot = -5.62847197341544 +905000 ekin = 3.75091280599787 | erot = 2.54985569625826 | epot = -11.9292404761802 | etot = -5.62847197392409 +906000 ekin = 3.80322506898643 | erot = 2.5519127236511 | epot = -11.9836097669886 | etot = -5.62847197435104 +907000 ekin = 3.84434229252392 | erot = 2.55683360398672 | epot = -12.0296478711203 | etot = -5.62847197460963 +908000 ekin = 3.87190064700258 | erot = 2.56394104631182 | epot = -12.0643136679727 | etot = -5.62847197465829 +909000 ekin = 3.88547927917161 | erot = 2.57365301016132 | epot = -12.0876042638463 | etot = -5.62847197451341 +910000 ekin = 3.88680451543638 | erot = 2.58702435581385 | epot = -12.1023008454879 | etot = -5.62847197423765 +911000 ekin = 3.87951720900323 | erot = 2.60508796153765 | epot = -12.1130771444529 | etot = -5.62847197391203 +912000 ekin = 3.86859234285051 | erot = 2.6282770120564 | epot = -12.1253413285184 | etot = -5.62847197361153 +913000 ekin = 3.85955913842215 | erot = 2.6561223476136 | epot = -12.1441534594285 | etot = -5.62847197339272 +914000 ekin = 3.85765974763148 | erot = 2.68725904601826 | epot = -12.1733907663377 | etot = -5.62847197268799 +915000 ekin = 3.86988559311568 | erot = 2.7215549575076 | epot = -12.2199125234873 | etot = -5.62847197286399 +916000 ekin = 3.89721211337583 | erot = 2.75899199497945 | epot = -12.2846760816252 | etot = -5.62847197326989 +917000 ekin = 3.93597306382139 | erot = 2.79756616351325 | epot = -12.3620112010443 | etot = -5.62847197370963 +918000 ekin = 3.98211349575359 | erot = 2.83523643597917 | epot = -12.4458219058878 | etot = -5.62847197415502 +919000 ekin = 4.0310988413113 | erot = 2.86939982884348 | epot = -12.5289706457395 | etot = -5.62847197558473 +920000 ekin = 4.07575006630221 | erot = 2.8920345905181 | epot = -12.5962566327231 | etot = -5.62847197590279 +921000 ekin = 4.11121319932131 | erot = 2.89963705731785 | epot = -12.6393222332815 | etot = -5.6284719766423 +922000 ekin = 4.12946328880359 | erot = 2.89101491261155 | epot = -12.6489501783288 | etot = -5.62847197691366 +923000 ekin = 4.12574551399895 | erot = 2.86656720034022 | epot = -12.6207846912381 | etot = -5.62847197689889 +924000 ekin = 4.09806255499934 | erot = 2.82817436998195 | epot = -12.5547089016171 | etot = -5.62847197663584 +925000 ekin = 4.04683812907195 | erot = 2.77889166113215 | epot = -12.4542017664276 | etot = -5.62847197622352 +926000 ekin = 3.9741598071628 | erot = 2.72240485625824 | epot = -12.3250366391895 | etot = -5.62847197576843 +927000 ekin = 3.88290109531157 | erot = 2.66247239581552 | epot = -12.1738454664594 | etot = -5.62847197533235 +928000 ekin = 3.77619172587496 | erot = 2.60258197321272 | epot = -12.007245674 | etot = -5.62847197491228 +929000 ekin = 3.65741733995828 | erot = 2.54590496396654 | epot = -11.8317942783889 | etot = -5.62847197446407 +930000 ekin = 3.53056331476223 | erot = 2.49545263583675 | epot = -11.6544879245446 | etot = -5.62847197394562 +931000 ekin = 3.40054526036958 | erot = 2.454292850088 | epot = -11.4833100834926 | etot = -5.62847197303497 +932000 ekin = 3.27351307449314 | erot = 2.42812143003077 | epot = -11.3301064771605 | etot = -5.62847197263661 +933000 ekin = 3.15479412952287 | erot = 2.42017428897891 | epot = -11.2034403907363 | etot = -5.6284719722345 +934000 ekin = 3.04934557327986 | erot = 2.43124949901271 | epot = -11.1090670441748 | etot = -5.6284719718822 +935000 ekin = 2.96178382811955 | erot = 2.46165171647534 | epot = -11.0519075162191 | etot = -5.6284719716242 +936000 ekin = 2.89581269435064 | erot = 2.51113391226312 | epot = -11.0354185780997 | etot = -5.62847197148598 +937000 ekin = 2.85385879521477 | erot = 2.5788978601731 | epot = -11.0612286268601 | etot = -5.62847197147222 +938000 ekin = 2.83694342968555 | erot = 2.66364816084931 | epot = -11.1290635621066 | etot = -5.62847197157179 +939000 ekin = 2.8447669618157 | erot = 2.76369076548276 | epot = -11.2369296990579 | etot = -5.6284719717594 +940000 ekin = 2.87595320398489 | erot = 2.87707537672681 | epot = -11.3815005527126 | etot = -5.62847197200085 +941000 ekin = 2.92838858062242 | erot = 3.00178159504245 | epot = -11.5586421479226 | etot = -5.62847197225776 +942000 ekin = 2.99958691393785 | erot = 3.13593595264418 | epot = -11.763994839077 | etot = -5.62847197249495 +943000 ekin = 3.08701485998667 | erot = 3.27802583837004 | epot = -11.9935126710428 | etot = -5.62847197268611 +944000 ekin = 3.18658687127494 | erot = 3.42629435546356 | epot = -12.2413532006333 | etot = -5.62847197389484 +945000 ekin = 3.29120912096008 | erot = 3.57701253266348 | epot = -12.4966936280386 | etot = -5.62847197441502 +946000 ekin = 3.39621217387283 | erot = 3.72637389250492 | epot = -12.7510580413859 | etot = -5.62847197500814 +947000 ekin = 3.49687303106183 | erot = 3.86977321079429 | epot = -12.9951182175547 | etot = -5.62847197569856 +948000 ekin = 3.5882721126636 | erot = 4.00151346862098 | epot = -13.2182575577724 | etot = -5.62847197648783 +949000 ekin = 3.6653664552767 | erot = 4.11475106154221 | epot = -13.4085894941589 | etot = -5.62847197733996 +950000 ekin = 3.72323942060722 | erot = 4.20180191857631 | epot = -13.5535133173567 | etot = -5.62847197817321 +951000 ekin = 3.75754185748942 | erot = 4.25489778354693 | epot = -13.6409116199026 | etot = -5.62847197886623 +952000 ekin = 3.76507381751897 | erot = 4.26734583724678 | epot = -13.6608916340473 | etot = -5.62847197928153 +953000 ekin = 3.74438822476976 | erot = 4.23487585588452 | epot = -13.6077360599562 | etot = -5.62847197930195 +954000 ekin = 3.69625243059747 | erot = 4.15681815457844 | epot = -13.4815425640462 | etot = -5.62847197887032 +955000 ekin = 3.62380420360442 | erot = 4.03673171811831 | epot = -13.2890078997362 | etot = -5.62847197801344 +956000 ekin = 3.52555336959638 | erot = 3.88073805299061 | epot = -13.0347634022312 | etot = -5.62847197964419 +957000 ekin = 3.39894639330823 | erot = 3.70474137854761 | epot = -12.7321597464425 | etot = -5.62847197458665 +958000 ekin = 3.2778287962513 | erot = 3.53760737359561 | epot = -12.4439081428104 | etot = -5.62847197296348 +959000 ekin = 3.17835028752465 | erot = 3.38602207731699 | epot = -12.192844339659 | etot = -5.62847197481739 +960000 ekin = 3.09019088023733 | erot = 3.23509493662461 | epot = -11.9537577933203 | etot = -5.62847197645838 +961000 ekin = 3.00426259422371 | erot = 3.08248133730568 | epot = -11.7152159070792 | etot = -5.62847197554984 +962000 ekin = 2.92693480018163 | erot = 2.94805481000622 | epot = -11.5034615855242 | etot = -5.62847197533634 +963000 ekin = 2.85972055666779 | erot = 2.83488454642881 | epot = -11.3230770781276 | etot = -5.62847197503098 +964000 ekin = 2.80427359464354 | erot = 2.74583973223602 | epot = -11.1785853017319 | etot = -5.62847197485232 +965000 ekin = 2.76170822000418 | erot = 2.6824982618152 | epot = -11.0726784566179 | etot = -5.62847197479852 +966000 ekin = 2.73254763820421 | erot = 2.64503833024941 | epot = -11.0060579433305 | etot = -5.62847197487692 +967000 ekin = 2.71665521986808 | erot = 2.63218922349628 | epot = -10.9773164184569 | etot = -5.62847197509256 +968000 ekin = 2.71315992305503 | erot = 2.64124364138656 | epot = -10.9828755398736 | etot = -5.628471975432 +969000 ekin = 2.72046614449804 | erot = 2.66825860562603 | epot = -11.0171967259813 | etot = -5.62847197585726 +970000 ekin = 2.73639578787687 | erot = 2.70848274022997 | epot = -11.0733505044214 | etot = -5.62847197631454 +971000 ekin = 2.75849382982785 | erot = 2.75695664055477 | epot = -11.1439224470463 | etot = -5.62847197666365 +972000 ekin = 2.78540546107908 | erot = 2.80984083598288 | epot = -11.2237182739984 | etot = -5.62847197693641 +973000 ekin = 2.81581408705481 | erot = 2.8641270459728 | epot = -11.3084131101486 | etot = -5.62847197712097 +974000 ekin = 2.84847994907229 | erot = 2.91762904123098 | epot = -11.3945809675143 | etot = -5.62847197721108 +975000 ekin = 2.88260770588557 | erot = 2.96920774049662 | epot = -11.4802874235912 | etot = -5.628471977209 +976000 ekin = 2.90702474670332 | erot = 3.01964918873866 | epot = -11.5551459370364 | etot = -5.62847200159446 +977000 ekin = 2.82994037756718 | erot = 3.10467594425335 | epot = -11.5630882996782 | etot = -5.62847197785768 +978000 ekin = 2.82908361957399 | erot = 3.22546638560003 | epot = -11.6830220089 | etot = -5.62847200372599 +979000 ekin = 2.83706100119285 | erot = 3.25481873167595 | epot = -11.7203517229612 | etot = -5.62847199009245 +980000 ekin = 2.83601345146519 | erot = 3.27042511685006 | epot = -11.734910558443 | etot = -5.62847199012775 +981000 ekin = 2.8267946753128 | erot = 3.27908746205001 | epot = -11.734354127532 | etot = -5.62847199016915 +982000 ekin = 2.80889457113572 | erot = 3.28090658484328 | epot = -11.7182731461926 | etot = -5.62847199021359 +983000 ekin = 2.78208898690996 | erot = 3.27578647285559 | epot = -11.6863474500053 | etot = -5.62847199023975 +984000 ekin = 2.74660136941676 | erot = 3.26353952517299 | epot = -11.6386128848025 | etot = -5.62847199021277 +985000 ekin = 2.70333214491802 | erot = 3.24411391112877 | epot = -11.5759180461426 | etot = -5.62847199009581 +986000 ekin = 2.65408912818262 | erot = 3.21786526569146 | epot = -11.5004263837359 | etot = -5.62847198986182 +987000 ekin = 2.57871631806181 | erot = 3.17247278925066 | epot = -11.379661101659 | etot = -5.6284719943465 +988000 ekin = 2.53018926628772 | erot = 3.15315340922985 | epot = -11.3118146774823 | etot = -5.62847200196471 +989000 ekin = 2.49566278276619 | erot = 3.12952117455027 | epot = -11.2536559492687 | etot = -5.62847199195226 +990000 ekin = 2.46227182566735 | erot = 3.09741757842189 | epot = -11.1881613954863 | etot = -5.62847199139711 +991000 ekin = 2.44592299301859 | erot = 3.07158095066895 | epot = -11.145975934822 | etot = -5.62847199113442 +992000 ekin = 2.45174281613824 | erot = 3.05611048522941 | epot = -11.136325292302 | etot = -5.62847199093431 +993000 ekin = 2.48099671727936 | erot = 3.05281518215591 | epot = -11.162283890216 | etot = -5.62847199078072 +994000 ekin = 2.53415670276316 | erot = 3.0635915446707 | epot = -11.2262202381289 | etot = -5.62847199069507 +995000 ekin = 2.61088853346932 | erot = 3.09015398642358 | epot = -11.3295145105799 | etot = -5.628471990687 +996000 ekin = 2.71011819731123 | erot = 3.1337829879375 | epot = -11.4723731760072 | etot = -5.62847199075848 +997000 ekin = 2.83015603322162 | erot = 3.1951526780947 | epot = -11.6537807022256 | etot = -5.62847199090924 +998000 ekin = 2.96878571667283 | erot = 3.27423191452594 | epot = -11.8714896223473 | etot = -5.62847199114848 +999000 ekin = 3.12322522699825 | erot = 3.37022004817017 | epot = -12.121917266671 | etot = -5.62847199150257 +1000000 ekin = 3.28990650587599 | erot = 3.48146010802176 | epot = -12.3998386059123 | etot = -5.6284719920145 + 1000000 0.14621807 -0.83009398 0.055104069 -0.56937076 4.8223734e-05 64000 +Loop time of 19.2323 on 4 procs for 1000000 steps with 16 atoms + +Performance: 44924.345 tau/day, 51995.770 timesteps/s +99.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 | 9.9775 | 11.825 | 13.857 | 45.0 | 61.49 +Bond | 0.34359 | 0.40765 | 0.52939 | 11.3 | 2.12 +Neigh | 0.009519 | 0.0095805 | 0.00962 | 0.0 | 0.05 +Comm | 2.1953 | 2.2903 | 2.3673 | 5.1 | 11.91 +Output | 0.098605 | 0.10311 | 0.11259 | 1.7 | 0.54 +Modify | 0.73813 | 0.826 | 0.91112 | 9.1 | 4.29 +Other | | 3.771 | | | 19.61 + +Nlocal: 4.00000 ave 4 max 4 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Nghost: 12.0000 ave 12 max 12 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Neighs: 49.5000 ave 50 max 48 min +Histogram: 1 0 0 0 0 0 0 0 0 3 + +Total # of neighbors = 198 +Ave neighs/atom = 12.375000 +Ave special neighs/atom = 3.7500000 +Neighbor list builds = 1000 +Dangerous builds = 0 + +write_data last_config.${number}.* nocoeff +write_data last_config.2.* nocoeff +System init for write_data ... +Total wall time: 0:00:19 diff --git a/examples/PACKAGES/cgdna/examples/oxRNA2/duplex4/data.duplex4 b/examples/PACKAGES/cgdna/examples/oxRNA2/duplex4/data.duplex4 deleted file mode 100644 index 72872d431a..0000000000 --- a/examples/PACKAGES/cgdna/examples/oxRNA2/duplex4/data.duplex4 +++ /dev/null @@ -1,96 +0,0 @@ -# LAMMPS data file -16 atoms -16 ellipsoids -13 bonds - -4 atom types -1 bond types - -# System size --20.000000 20.000000 xlo xhi --20.000000 20.000000 ylo yhi --20.000000 20.000000 zlo zhi - -Masses - -1 3.1575 -2 3.1575 -3 3.1575 -4 3.1575 - -# Atom-ID, type, position, molecule-ID, ellipsoid flag, density -Atoms - -1 1 -6.000000000000001e-01 0.000000000000000e+00 0.000000000000000e+00 1 1 1 -2 2 -4.860249842674776e-01 -3.518234140414736e-01 3.897628551303122e-01 1 1 1 -3 3 -1.874009511073395e-01 -5.699832309147915e-01 7.795257102606244e-01 1 1 1 -4 4 1.824198365552941e-01 -5.715968887521518e-01 1.169288565390937e+00 1 1 1 -5 1 4.829362784135484e-01 -3.560513319622209e-01 1.559051420521249e+00 1 1 1 -6 2 5.999771538385027e-01 -5.235921299024461e-03 1.948814275651561e+00 1 1 1 -7 3 4.890766774371325e-01 3.475687034056071e-01 2.338577130781873e+00 1 1 1 -8 4 1.923677943514057e-01 5.683261666476170e-01 2.728339985912185e+00 1 1 1 -9 1 -1.923677943514057e-01 -5.683261666476170e-01 2.728339985912185e+00 2 1 1 -10 2 -4.890766774371324e-01 -3.475687034056071e-01 2.338577130781873e+00 2 1 1 -11 3 -5.999771538385025e-01 5.235921299024461e-03 1.948814275651561e+00 2 1 1 -12 4 -4.829362784135481e-01 3.560513319622207e-01 1.559051420521249e+00 2 1 1 -13 1 -1.824198365552940e-01 5.715968887521514e-01 1.169288565390936e+00 2 1 1 -14 2 1.874009511073395e-01 5.699832309147912e-01 7.795257102606241e-01 2 1 1 -15 3 4.860249842674773e-01 3.518234140414733e-01 3.897628551303119e-01 2 1 1 -16 4 5.999999999999995e-01 -3.330669073875470e-17 -3.330669073875470e-16 2 1 1 - -# Atom-ID, translational velocity, angular momentum -Velocities - -1 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -2 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -3 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -4 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -5 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -6 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -7 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -8 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -9 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -10 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -11 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -12 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -13 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -14 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -15 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -16 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 - -# Atom-ID, shape, quaternion -Ellipsoids - -1 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 1.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 -2 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 9.513258223252946e-01 0.000000000000000e+00 0.000000000000000e+00 3.081869234362515e-01 -3 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 8.100416404457962e-01 0.000000000000000e+00 0.000000000000000e+00 5.863723567357894e-01 -4 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 5.899012371043606e-01 0.000000000000000e+00 0.000000000000000e+00 8.074754054847398e-01 -5 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 3.123349185122326e-01 0.000000000000000e+00 0.000000000000000e+00 9.499720515246527e-01 -6 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 4.363309284746654e-03 0.000000000000000e+00 0.000000000000000e+00 9.999904807207346e-01 -7 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 -3.040330609254902e-01 0.000000000000000e+00 0.000000000000000e+00 9.526614812535865e-01 -8 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 5.828323126827837e-01 0.000000000000000e+00 0.000000000000000e+00 -8.125924533816677e-01 -9 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 0.000000000000000e+00 8.125924533816681e-01 5.828323126827832e-01 -0.000000000000000e+00 -10 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 0.000000000000000e+00 9.526614812535864e-01 3.040330609254902e-01 0.000000000000000e+00 -11 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 0.000000000000000e+00 9.999904807207346e-01 -4.363309284746654e-03 0.000000000000000e+00 -12 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 0.000000000000000e+00 9.499720515246526e-01 -3.123349185122325e-01 0.000000000000000e+00 -13 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 0.000000000000000e+00 8.074754054847402e-01 -5.899012371043603e-01 0.000000000000000e+00 -14 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 0.000000000000000e+00 5.863723567357898e-01 -8.100416404457959e-01 0.000000000000000e+00 -15 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 -0.000000000000000e+00 -3.081869234362514e-01 9.513258223252948e-01 0.000000000000000e+00 -16 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 -0.000000000000000e+00 2.775557561562893e-17 1.000000000000000e+00 -0.000000000000000e+00 - -# Bond topology -Bonds - -1 1 1 2 -2 1 2 3 -3 1 3 4 -4 1 4 5 -5 1 5 6 -6 1 6 7 -7 1 7 8 -8 1 9 10 -9 1 10 11 -10 1 11 12 -11 1 13 14 -12 1 14 15 -13 1 15 16 diff --git a/examples/PACKAGES/cgdna/examples/oxRNA2/duplex4/log.30Jun20.duplex4.g++.1 b/examples/PACKAGES/cgdna/examples/oxRNA2/duplex4/log.30Jun20.duplex4.g++.1 deleted file mode 100644 index 02c9ec0d52..0000000000 --- a/examples/PACKAGES/cgdna/examples/oxRNA2/duplex4/log.30Jun20.duplex4.g++.1 +++ /dev/null @@ -1,1183 +0,0 @@ -LAMMPS (30 Jun 2020) -variable number equal 4 -variable ofreq equal 1000 -variable efreq equal 1000 -variable T equal 0.1 - -units lj - -dimension 3 - -newton off - -boundary p p p - -atom_style hybrid bond ellipsoid -WARNING: Atom_style hybrid defines both pertype and peratom masses - both must be set, only peratom masses will be used (../atom_vec_hybrid.cpp:156) -atom_modify sort 0 1.0 - -# Pair interactions require lists of neighbours to be calculated -neighbor 1.0 bin -neigh_modify every 1 delay 0 check yes - -read_data data.duplex4 - orthogonal box = (-20 -20 -20) to (20 20 20) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 16 atoms - reading velocities ... - 16 velocities - 16 ellipsoids - scanning bonds ... - 2 = max bonds/atom - reading bonds ... - 13 bonds - 2 = max # of 1-2 neighbors - 2 = max # of 1-3 neighbors - 4 = max # of 1-4 neighbors - 6 = max # of special neighbors - special bonds CPU = 0.000 seconds - read_data CPU = 0.002 seconds - -set atom * mass 3.1575 - 16 settings made for mass - -group all type 1 4 -16 atoms in group all - -# oxRNA2 bond interactions - FENE backbone -bond_style oxrna2/fene -bond_coeff * 2.0 0.25 0.761070781051 -special_bonds lj 0 1 1 - 2 = max # of 1-2 neighbors - 2 = max # of 1-3 neighbors - 4 = max # of 1-4 neighbors - 6 = max # of special neighbors - special bonds CPU = 0.000 seconds - -# oxRNA2 pair interactions -pair_style hybrid/overlay oxrna2/excv oxrna2/stk oxrna2/hbond oxrna2/xstk oxrna2/coaxstk oxrna2/dh - -pair_coeff * * oxrna2/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32 -pair_coeff * * oxrna2/stk seqdep ${T} 1.40206 2.77 6.0 0.43 0.93 0.35 0.78 0.9 0 0.95 0.9 0 0.95 1.3 0 0.8 1.3 0 0.8 2.0 0.65 2.0 0.65 -pair_coeff * * oxrna2/stk seqdep 0.1 1.40206 2.77 6.0 0.43 0.93 0.35 0.78 0.9 0 0.95 0.9 0 0.95 1.3 0 0.8 1.3 0 0.8 2.0 0.65 2.0 0.65 -pair_coeff * * oxrna2/hbond seqdep 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 1 4 oxrna2/hbond seqdep 0.870439 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 2 3 oxrna2/hbond seqdep 0.870439 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 3 4 oxrna2/hbond seqdep 0.870439 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff * * oxrna2/xstk 59.9626 0.5 0.6 0.42 0.58 2.25 0.505 0.58 1.7 1.266 0.68 1.7 1.266 0.68 1.7 0.309 0.68 1.7 0.309 0.68 -pair_coeff * * oxrna2/coaxstk 80 0.5 0.6 0.42 0.58 2.0 2.592 0.65 1.3 0.151 0.8 0.9 0.685 0.95 0.9 0.685 0.95 2.0 -0.65 2.0 -0.65 -pair_coeff * * oxrna2/dh ${T} 0.5 1.02455 -pair_coeff * * oxrna2/dh 0.1 0.5 1.02455 - -# NVE ensemble -#fix 1 all nve/dotc/langevin 0.1 0.1 0.03 457145 angmom 10 -#fix 1 all nve/dot -fix 1 all nve/asphere - -timestep 1e-5 - -#comm_style tiled -#fix 3 all balance 10000 1.1 rcb -comm_modify cutoff 2.5 - -#compute mol all chunk/atom molecule -#compute mychunk all vcm/chunk mol -#fix 4 all ave/time 10000 1 10000 c_mychunk[1] c_mychunk[2] c_mychunk[3] file vcm.txt mode vector - -#dump pos all xyz ${ofreq} traj.${number}.xyz - -#compute quat all property/atom quatw quati quatj quatk -#dump quat all custom ${ofreq} quat.${number}.txt id c_quat[1] c_quat[2] c_quat[3] c_quat[4] -#dump_modify quat sort id -#dump_modify quat format line "%d %13.6le %13.6le %13.6le %13.6le" - -compute erot all erotate/asphere -compute ekin all ke -compute epot all pe -variable erot equal c_erot -variable ekin equal c_ekin -variable epot equal c_epot -variable etot equal c_erot+c_ekin+c_epot -fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes -fix 5 all print 1000 "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes - -#dump out all custom ${ofreq} out.${number}.txt id x y z vx vy vz fx fy fz tqx tqy tqz -#dump_modify out sort id -#dump_modify out format line "%d %13.9f %13.9f %13.9f %13.9f %13.9f %13.9f %13.9f %13.9f %13.9f %13.9f %13.9f %13.9f" - -run 1000000 -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 3.3014979 - ghost atom cutoff = 3.3014979 - binsize = 1.650749, bins = 25 25 25 - 6 neighbor lists, perpetual/occasional/extra = 6 0 0 - (1) pair oxrna2/excv, perpetual - attributes: half, newton off - pair build: half/bin/newtoff - stencil: half/bin/3d/newtoff - bin: standard - (2) pair oxrna2/stk, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (3) pair oxrna2/hbond, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (4) pair oxrna2/xstk, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (5) pair oxrna2/coaxstk, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (6) pair oxrna2/dh, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none -WARNING: Communication cutoff adjusted to 3.3014979169291987 (../comm.cpp:690) -0 ekin = 0 | erot = 0 | epot = -13.282537590974 | etot = -13.282537590974 -Per MPI rank memory allocation (min/avg/max) = 8.071 | 8.071 | 8.071 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 0 -0.84341458 0.013255977 -0.8301586 -2.0169485e-05 -1000 ekin = 0.00448503054656468 | erot = 0.00825381229611384 | epot = -13.2952764343122 | etot = -13.2825375914695 -2000 ekin = 0.0179027901180511 | erot = 0.0327684151335467 | epot = -13.3332087967732 | etot = -13.2825375915216 -3000 ekin = 0.0401478317723584 | erot = 0.0728240143066062 | epot = -13.3955094376815 | etot = -13.2825375916026 -4000 ekin = 0.0710654348932282 | erot = 0.127292706283096 | epot = -13.4808957328808 | etot = -13.2825375917044 -5000 ekin = 0.110480309743662 | erot = 0.194739074279834 | epot = -13.5877569758405 | etot = -13.282537591817 -6000 ekin = 0.158231230694432 | erot = 0.273546913858903 | epot = -13.7143157364827 | etot = -13.2825375919294 -7000 ekin = 0.214206450831754 | erot = 0.362058396901232 | epot = -13.8588024397642 | etot = -13.2825375920312 -8000 ekin = 0.278374111850069 | erot = 0.458709556672181 | epot = -14.0196212606361 | etot = -13.2825375921138 -9000 ekin = 0.35080209403022 | erot = 0.562145629088178 | epot = -14.1954853152903 | etot = -13.2825375921719 -10000 ekin = 0.431663021447766 | erot = 0.671302139462136 | epot = -14.385502753114 | etot = -13.2825375922041 -11000 ekin = 0.521222365620265 | erot = 0.78544264622411 | epot = -14.5892026040572 | etot = -13.2825375922128 -12000 ekin = 0.61981039873542 | erot = 0.904150888366026 | epot = -14.8064988793055 | etot = -13.2825375922041 -13000 ekin = 0.72778153179885 | erot = 1.02728222251243 | epot = -15.0376013464974 | etot = -13.2825375921861 -14000 ekin = 0.845466747659446 | erot = 1.154885201864 | epot = -15.2828895416915 | etot = -13.2825375921681 -15000 ekin = 0.973515286429446 | erot = 1.28640002432487 | epot = -15.5424529041413 | etot = -13.2825375933869 -16000 ekin = 1.12323013751098 | erot = 1.40387495398598 | epot = -15.8096426839256 | etot = -13.2825375924286 -17000 ekin = 1.2976927283263 | erot = 1.51347784068661 | epot = -16.0937081607397 | etot = -13.2825375917268 -18000 ekin = 1.48565191084531 | erot = 1.63592970999661 | epot = -16.4041192134347 | etot = -13.2825375925928 -19000 ekin = 1.66750911163348 | erot = 1.77940241938721 | epot = -16.7294491246368 | etot = -13.2825375936161 -20000 ekin = 1.84148924290423 | erot = 1.93695511183687 | epot = -17.0609819484057 | etot = -13.2825375936646 -21000 ekin = 2.02307741366163 | erot = 2.09844265792961 | epot = -17.4040576653939 | etot = -13.2825375938027 -22000 ekin = 2.21183606977224 | erot = 2.26260708947302 | epot = -17.7569807531587 | etot = -13.2825375939134 -23000 ekin = 2.40735468792977 | erot = 2.42817202047308 | epot = -18.1180643024997 | etot = -13.2825375940968 -24000 ekin = 2.60896890448861 | erot = 2.59357882573853 | epot = -18.485085324508 | etot = -13.2825375942809 -25000 ekin = 2.81580135477345 | erot = 2.75706655667055 | epot = -18.855405505957 | etot = -13.282537594513 -26000 ekin = 3.02680083558485 | erot = 2.91667946897257 | epot = -19.2260178993271 | etot = -13.2825375947697 -27000 ekin = 3.24067707260308 | erot = 3.07027299756498 | epot = -19.5934876652175 | etot = -13.2825375950495 -28000 ekin = 3.45601412953572 | erot = 3.21560615188039 | epot = -19.9541578767293 | etot = -13.2825375953132 -29000 ekin = 3.6713683081319 | erot = 3.35037905822946 | epot = -20.304284961999 | etot = -13.2825375956376 -30000 ekin = 3.88476027224393 | erot = 3.47208481891837 | epot = -20.639382687185 | etot = -13.2825375960227 -31000 ekin = 4.09387957878895 | erot = 3.57821385032035 | epot = -20.9546310254509 | etot = -13.2825375963416 -32000 ekin = 4.29662185345806 | erot = 3.66648606531138 | epot = -21.2456455154186 | etot = -13.2825375966492 -33000 ekin = 4.49089153394062 | erot = 3.73482555362569 | epot = -21.5082546845018 | etot = -13.2825375969355 -34000 ekin = 4.67464118182276 | erot = 3.78142516888995 | epot = -21.738603947901 | etot = -13.2825375971883 -35000 ekin = 4.84586411782047 | erot = 3.80480460777895 | epot = -21.9332063229962 | etot = -13.2825375973967 -36000 ekin = 5.00270940487365 | erot = 3.8039453503275 | epot = -22.0891923527593 | etot = -13.2825375975582 -37000 ekin = 5.14355281474259 | erot = 3.7783370953036 | epot = -22.204427507712 | etot = -13.2825375976658 -38000 ekin = 5.26699752588855 | erot = 3.72801268545693 | epot = -22.2775478090594 | etot = -13.2825375977139 -39000 ekin = 5.37191151713863 | erot = 3.65359747923659 | epot = -22.3080465940736 | etot = -13.2825375976984 -40000 ekin = 5.45746010972423 | erot = 3.55633701588595 | epot = -22.2963347232305 | etot = -13.2825375976203 -41000 ekin = 5.52312188621308 | erot = 3.43809872369854 | epot = -22.2437582073842 | etot = -13.2825375974726 -42000 ekin = 5.56872044211992 | erot = 3.30135279333163 | epot = -22.1526108327155 | etot = -13.2825375972639 -43000 ekin = 5.59443660082917 | erot = 3.14910305123731 | epot = -22.0260772490691 | etot = -13.2825375970026 -44000 ekin = 5.60078634437692 | erot = 2.98477133565124 | epot = -21.8680952767294 | etot = -13.2825375967012 -45000 ekin = 5.58859564323333 | erot = 2.81204277265316 | epot = -21.6831760122617 | etot = -13.2825375963752 -46000 ekin = 5.55896198288794 | erot = 2.63469562167501 | epot = -21.4761952006007 | etot = -13.2825375960378 -47000 ekin = 5.51320424221946 | erot = 2.45646420183046 | epot = -21.2522060397483 | etot = -13.2825375956984 -48000 ekin = 5.45280176988517 | erot = 2.28095947573118 | epot = -21.0162988409769 | etot = -13.2825375953605 -49000 ekin = 5.37933239946638 | erot = 2.11161440403257 | epot = -20.7734843985446 | etot = -13.2825375950457 -50000 ekin = 5.29440598595185 | erot = 1.95156309993188 | epot = -20.5285066806346 | etot = -13.2825375947508 -51000 ekin = 5.19960275040233 | erot = 1.8036634398305 | epot = -20.2858037847152 | etot = -13.2825375944824 -52000 ekin = 5.0964231996195 | erot = 1.67046877096987 | epot = -20.0494295648281 | etot = -13.2825375942387 -53000 ekin = 4.9862463955433 | erot = 1.55427111116831 | epot = -19.8230551007329 | etot = -13.2825375940213 -54000 ekin = 4.87030445561499 | erot = 1.45710469956877 | epot = -19.6099467490156 | etot = -13.2825375938318 -55000 ekin = 4.74966978520139 | erot = 1.38074642902068 | epot = -19.4129538078748 | etot = -13.2825375936527 -56000 ekin = 4.62525646670949 | erot = 1.32681969001207 | epot = -19.234613750249 | etot = -13.2825375935274 -57000 ekin = 4.49783496228224 | erot = 1.29648861711347 | epot = -19.0768611728237 | etot = -13.282537593428 -58000 ekin = 4.36805832461578 | erot = 1.29057331365797 | epot = -18.9411692316276 | etot = -13.2825375933539 -59000 ekin = 4.2364904586051 | erot = 1.30961007130951 | epot = -18.8286381232177 | etot = -13.2825375933031 -60000 ekin = 4.10363649615144 | erot = 1.35385055377169 | epot = -18.7400246431963 | etot = -13.2825375932731 -61000 ekin = 3.96997203629753 | erot = 1.42326526715546 | epot = -18.6757748967158 | etot = -13.2825375932628 -62000 ekin = 3.83612285735248 | erot = 1.51750909475431 | epot = -18.63616954536 | etot = -13.2825375932532 -63000 ekin = 3.70275913153266 | erot = 1.63593500305368 | epot = -18.6212317278745 | etot = -13.2825375932882 -64000 ekin = 3.57028395426058 | erot = 1.77765695762491 | epot = -18.6304785052259 | etot = -13.2825375933404 -65000 ekin = 3.43939724701796 | erot = 1.94136642645393 | epot = -18.6633012668467 | etot = -13.2825375933748 -66000 ekin = 3.31090885650418 | erot = 2.12543845180125 | epot = -18.7188849017627 | etot = -13.2825375934573 -67000 ekin = 3.18539537800071 | erot = 2.32812634152943 | epot = -18.7960593130806 | etot = -13.2825375935505 -68000 ekin = 3.0635338653798 | erot = 2.54742667497606 | epot = -18.8934981340101 | etot = -13.2825375936542 -69000 ekin = 2.94609585152078 | erot = 2.78109018587171 | epot = -19.0097236311617 | etot = -13.2825375937692 -70000 ekin = 2.83393040716448 | erot = 3.02662959649683 | epot = -19.1430975975577 | etot = -13.2825375938964 -71000 ekin = 2.72793726696335 | erot = 3.2813399428617 | epot = -19.2918148038566 | etot = -13.2825375940315 -72000 ekin = 2.62902971043607 | erot = 3.54239819983169 | epot = -19.4539655044244 | etot = -13.2825375941566 -73000 ekin = 2.53808722042867 | erot = 3.80701983458538 | epot = -19.6276446493623 | etot = -13.2825375943483 -74000 ekin = 2.455928655269 | erot = 4.07171344127425 | epot = -19.8101796911565 | etot = -13.2825375946133 -75000 ekin = 2.3833072864543 | erot = 4.33220600221137 | epot = -19.9980508835341 | etot = -13.2825375948685 -76000 ekin = 2.32085819246822 | erot = 4.58430888321152 | epot = -20.1877046708087 | etot = -13.2825375951289 -77000 ekin = 2.26905284041982 | erot = 4.82394209159272 | epot = -20.3755325274045 | etot = -13.2825375953919 -78000 ekin = 2.2281821557978 | erot = 5.04720004762901 | epot = -20.5579197990814 | etot = -13.2825375956545 -79000 ekin = 2.19835990746566 | erot = 5.25044819004335 | epot = -20.731345693396 | etot = -13.282537595887 -80000 ekin = 2.17954213158759 | erot = 5.43056087724128 | epot = -20.892640604912 | etot = -13.2825375960832 -81000 ekin = 2.17154912845093 | erot = 5.58515654974166 | epot = -21.0392432744259 | etot = -13.2825375962333 -82000 ekin = 2.17396051633407 | erot = 5.7125507021892 | epot = -21.1690488148909 | etot = -13.2825375963676 -83000 ekin = 2.18608268543525 | erot = 5.81159389139857 | epot = -21.2802141733998 | etot = -13.282537596566 -84000 ekin = 2.2069405579712 | erot = 5.88143457462831 | epot = -21.3709127292228 | etot = -13.2825375966233 -85000 ekin = 2.2355007346892 | erot = 5.92248473361667 | epot = -21.440523064944 | etot = -13.2825375966382 -86000 ekin = 2.27071025957252 | erot = 5.93583657914492 | epot = -21.4890844353356 | etot = -13.2825375966181 -87000 ekin = 2.31151705668581 | erot = 5.92306118835155 | epot = -21.5171158416081 | etot = -13.2825375965708 -88000 ekin = 2.35689880582412 | erot = 5.88606517856673 | epot = -21.525501580893 | etot = -13.2825375965021 -89000 ekin = 2.40589192121148 | erot = 5.82697176767419 | epot = -21.5154012853016 | etot = -13.2825375964159 -90000 ekin = 2.45762089189535 | erot = 5.74803678246179 | epot = -21.4881952706708 | etot = -13.2825375963137 -91000 ekin = 2.51132727735695 | erot = 5.65159908896414 | epot = -21.4454639625169 | etot = -13.2825375961958 -92000 ekin = 2.56639616299259 | erot = 5.54005576567966 | epot = -21.3889895247342 | etot = -13.282537596062 -93000 ekin = 2.62237587147962 | erot = 5.41584923925671 | epot = -21.3207627066499 | etot = -13.2825375959136 -94000 ekin = 2.67898536287491 | erot = 5.28145076624188 | epot = -21.2429737248702 | etot = -13.2825375957534 -95000 ekin = 2.73610698777088 | erot = 5.13933222478715 | epot = -21.1579768081439 | etot = -13.2825375955858 -96000 ekin = 2.79376736409348 | erot = 4.991923519611 | epot = -21.0682284791224 | etot = -13.2825375954179 -97000 ekin = 2.8520975917789 | erot = 4.84155102931962 | epot = -20.9761862163567 | etot = -13.2825375952582 -98000 ekin = 2.91128043087791 | erot = 4.69036811429532 | epot = -20.8841861402883 | etot = -13.2825375951151 -99000 ekin = 2.97148865716348 | erot = 4.54028690688379 | epot = -20.7943131590444 | etot = -13.2825375949971 -100000 ekin = 3.03281936548472 | erot = 4.39291958377954 | epot = -20.7082765441749 | etot = -13.2825375949107 -101000 ekin = 3.09523162855504 | erot = 4.24953761553679 | epot = -20.6273068389522 | etot = -13.2825375948604 -102000 ekin = 3.15849350649721 | erot = 4.11105261279871 | epot = -20.5520837141442 | etot = -13.2825375948483 -103000 ekin = 3.22212928739638 | erot = 3.97803233781106 | epot = -20.4826992200828 | etot = -13.2825375948753 -104000 ekin = 3.28539028419999 | erot = 3.85073569994574 | epot = -20.4186635790808 | etot = -13.2825375949351 -105000 ekin = 3.34731475817757 | erot = 3.72912316717803 | epot = -20.3589755203793 | etot = -13.2825375950237 -106000 ekin = 3.4067279473086 | erot = 3.61292637549551 | epot = -20.3021919179394 | etot = -13.2825375951353 -107000 ekin = 3.46228544964883 | erot = 3.5017039548605 | epot = -20.246526999772 | etot = -13.2825375952626 -108000 ekin = 3.51253156080077 | erot = 3.39489824023761 | epot = -20.1899673964364 | etot = -13.2825375953981 -109000 ekin = 3.55597480315873 | erot = 3.29187299703765 | epot = -20.1303853957321 | etot = -13.2825375955357 -110000 ekin = 3.59118238705146 | erot = 3.19193918351245 | epot = -20.0656591662303 | etot = -13.2825375956664 -111000 ekin = 3.61687343778638 | erot = 3.09439958031605 | epot = -19.9938106138842 | etot = -13.2825375957818 -112000 ekin = 3.63202144077084 | erot = 2.99858073408885 | epot = -19.9131397707328 | etot = -13.2825375958731 -113000 ekin = 3.63595677604976 | erot = 2.9038679642207 | epot = -19.8223623362017 | etot = -13.2825375959313 -114000 ekin = 3.62846110509018 | erot = 2.80974594394126 | epot = -19.7207446449798 | etot = -13.2825375959483 -115000 ekin = 3.60984333606122 | erot = 2.71584476484558 | epot = -19.6082256968244 | etot = -13.2825375959176 -116000 ekin = 3.58098592946299 | erot = 2.62198860618916 | epot = -19.4855121314887 | etot = -13.2825375958366 -117000 ekin = 3.54334240221404 | erot = 2.52827901424375 | epot = -19.3541590121477 | etot = -13.2825375956899 -118000 ekin = 3.49891828359516 | erot = 2.43512420844403 | epot = -19.216580087547 | etot = -13.2825375955078 -119000 ekin = 3.45018316481891 | erot = 2.34313144179019 | epot = -19.0758522018958 | etot = -13.2825375952867 -120000 ekin = 3.39991853306434 | erot = 2.25319419875649 | epot = -18.9356503268596 | etot = -13.2825375950388 -121000 ekin = 3.3510515204902 | erot = 2.16646597387207 | epot = -18.800055089141 | etot = -13.2825375947787 -122000 ekin = 3.30648176977496 | erot = 2.08430580540005 | epot = -18.6733251696956 | etot = -13.2825375945206 -123000 ekin = 3.26892966156092 | erot = 2.00820635396395 | epot = -18.5596736098009 | etot = -13.282537594276 -124000 ekin = 3.24083330103916 | erot = 1.93971532774634 | epot = -18.4630862228367 | etot = -13.2825375940512 -125000 ekin = 3.22476145827508 | erot = 1.88029581293259 | epot = -18.3875948633982 | etot = -13.2825375921906 -126000 ekin = 3.14878052704874 | erot = 1.84062475589788 | epot = -18.2719429098057 | etot = -13.282537626859 -127000 ekin = 2.94943277103419 | erot = 1.886595427589 | epot = -18.1185657735804 | etot = -13.2825375749572 -128000 ekin = 3.16220879321477 | erot = 1.96338946783263 | epot = -18.4081359062158 | etot = -13.2825376451684 -129000 ekin = 3.31015030132664 | erot = 1.94720836362437 | epot = -18.5398963214834 | etot = -13.2825376565324 -130000 ekin = 3.4497203872454 | erot = 1.9263351056887 | epot = -18.6585931496325 | etot = -13.2825376566984 -131000 ekin = 3.58872168957069 | erot = 1.90769906106666 | epot = -18.7789584074301 | etot = -13.2825376567928 -132000 ekin = 3.72319125317242 | erot = 1.89293715413342 | epot = -18.8986660641589 | etot = -13.2825376568531 -133000 ekin = 3.84978251755378 | erot = 1.88373597103185 | epot = -19.0160561454729 | etot = -13.2825376568873 -134000 ekin = 3.96557984951709 | erot = 1.88171908502832 | epot = -19.1298365915084 | etot = -13.282537656963 -135000 ekin = 4.06807957718157 | erot = 1.88790714285761 | epot = -19.2385243770752 | etot = -13.282537657036 -136000 ekin = 4.15531911327293 | erot = 1.90286269173109 | epot = -19.340719462101 | etot = -13.282537657097 -137000 ekin = 4.22592766896957 | erot = 1.92681130724409 | epot = -19.4352766333493 | etot = -13.2825376571357 -138000 ekin = 4.27918313097991 | erot = 1.95973390207695 | epot = -19.5214546902016 | etot = -13.2825376571448 -139000 ekin = 4.31500256681567 | erot = 2.00154238231131 | epot = -19.59908260621 | etot = -13.2825376570831 -140000 ekin = 4.33403278412092 | erot = 2.05223040229202 | epot = -19.6688008434056 | etot = -13.2825376569926 -141000 ekin = 4.33751047770786 | erot = 2.11180924821132 | epot = -19.7318573827854 | etot = -13.2825376568662 -142000 ekin = 4.32708478663564 | erot = 2.18042096416689 | epot = -19.7900434075179 | etot = -13.2825376567154 -143000 ekin = 4.30467959787724 | erot = 2.25833701673724 | epot = -19.8455542711563 | etot = -13.2825376565418 -144000 ekin = 4.27235382259247 | erot = 2.34595165411789 | epot = -19.9008431331009 | etot = -13.2825376563906 -145000 ekin = 4.23214636981244 | erot = 2.44344334214718 | epot = -19.9581273682268 | etot = -13.2825376562672 -146000 ekin = 4.18594231916929 | erot = 2.55071340549331 | epot = -20.0191933808486 | etot = -13.2825376561861 -147000 ekin = 4.13537962661592 | erot = 2.66728850163241 | epot = -20.0852057844046 | etot = -13.2825376561563 -148000 ekin = 4.08179900889712 | erot = 2.79223549069442 | epot = -20.1565721557729 | etot = -13.2825376561813 -149000 ekin = 4.02623498472322 | erot = 2.9241198689985 | epot = -20.232892509982 | etot = -13.2825376562603 -150000 ekin = 3.96943958307703 | erot = 3.06100347347629 | epot = -20.3129807129424 | etot = -13.2825376563891 -151000 ekin = 3.91192645323282 | erot = 3.20047132483819 | epot = -20.3949354346329 | etot = -13.2825376565619 -152000 ekin = 3.85402372610883 | erot = 3.33967877480172 | epot = -20.4762401576828 | etot = -13.2825376567723 -153000 ekin = 3.79592773401783 | erot = 3.47541715770412 | epot = -20.5538825487337 | etot = -13.2825376570117 -154000 ekin = 3.73775530704034 | erot = 3.60420547216072 | epot = -20.6244984364701 | etot = -13.282537657269 -155000 ekin = 3.6795979102985 | erot = 3.7224221778291 | epot = -20.6845577456561 | etot = -13.2825376575285 -156000 ekin = 3.62158147939218 | erot = 3.82649073830497 | epot = -20.7306098754663 | etot = -13.2825376577691 -157000 ekin = 3.5639362554113 | erot = 3.91312084630063 | epot = -20.7595947596784 | etot = -13.2825376579665 -158000 ekin = 3.50707329925225 | erot = 3.9795873650006 | epot = -20.7691983223484 | etot = -13.2825376580955 -159000 ekin = 3.45165682738659 | erot = 4.02400734849606 | epot = -20.7582018340186 | etot = -13.282537658136 -160000 ekin = 3.39865532558911 | erot = 4.04555903021673 | epot = -20.7267520138832 | etot = -13.2825376580774 -161000 ekin = 3.34935406486443 | erot = 4.04458967179415 | epot = -20.6764813945808 | etot = -13.2825376579222 -162000 ekin = 3.30532015421541 | erot = 4.02258247379577 | epot = -20.6104402856967 | etot = -13.2825376576855 -163000 ekin = 3.26831809803593 | erot = 3.9819866935813 | epot = -20.5328424490087 | etot = -13.2825376573915 -164000 ekin = 3.24018500158399 | erot = 3.92594872656713 | epot = -20.4486713852208 | etot = -13.2825376570696 -165000 ekin = 3.22267663501631 | erot = 3.85799639398367 | epot = -20.3632106857524 | etot = -13.2825376567524 -166000 ekin = 3.21735668268678 | erot = 3.78179957337381 | epot = -20.2816939123395 | etot = -13.2825376562789 -167000 ekin = 3.22508554133862 | erot = 3.70216421851936 | epot = -20.2097874159612 | etot = -13.2825376561032 -168000 ekin = 3.24596106315348 | erot = 3.62279974210031 | epot = -20.1512984612673 | etot = -13.2825376560135 -169000 ekin = 3.27955383501624 | erot = 3.54538235194483 | epot = -20.1074738429831 | etot = -13.282537656022 -170000 ekin = 3.32466734771662 | erot = 3.47077759716888 | epot = -20.0779826010138 | etot = -13.2825376561283 -171000 ekin = 3.37937800793516 | erot = 3.39904334979718 | epot = -20.0609590140454 | etot = -13.282537656313 -172000 ekin = 3.44119436380901 | erot = 3.32956363469228 | epot = -20.0532956550473 | etot = -13.282537656546 -173000 ekin = 3.50731985302141 | erot = 3.26128359452907 | epot = -20.0511411043353 | etot = -13.2825376567848 -174000 ekin = 3.57497712060583 | erot = 3.19303082809352 | epot = -20.050545605684 | etot = -13.2825376569846 -175000 ekin = 3.64173116724552 | erot = 3.12386956099455 | epot = -20.0481383853484 | etot = -13.2825376571083 -176000 ekin = 3.70574771913082 | erot = 3.05341479574277 | epot = -20.0417001720058 | etot = -13.2825376571322 -177000 ekin = 3.7659388805688 | erot = 2.98204284338451 | epot = -20.0305193810053 | etot = -13.282537657052 -178000 ekin = 3.82196164475694 | erot = 2.91094638159342 | epot = -20.015445683236 | etot = -13.2825376568857 -179000 ekin = 3.87411507697524 | erot = 2.84204110116973 | epot = -19.9986938347994 | etot = -13.2825376566544 -180000 ekin = 3.92317967933193 | erot = 2.7777395342816 | epot = -19.9834568700068 | etot = -13.2825376563932 -181000 ekin = 3.97015764234382 | erot = 2.72070235461324 | epot = -19.9733976530853 | etot = -13.2825376561282 -182000 ekin = 4.01610171617511 | erot = 2.6734984016926 | epot = -19.9721377738014 | etot = -13.2825376559337 -183000 ekin = 4.06177363427731 | erot = 2.63812245871493 | epot = -19.9824337488135 | etot = -13.2825376558213 -184000 ekin = 4.10756653677024 | erot = 2.61575603465066 | epot = -20.0058602272097 | etot = -13.2825376557888 -185000 ekin = 4.15354652964132 | erot = 2.60670565064911 | epot = -20.042789836128 | etot = -13.2825376558376 -186000 ekin = 4.19945391072101 | erot = 2.61036353554316 | epot = -20.0923551022269 | etot = -13.2825376559628 -187000 ekin = 4.24473107430636 | erot = 2.62524898284916 | epot = -20.1525177133095 | etot = -13.282537656154 -188000 ekin = 4.28856799818784 | erot = 2.6491184592848 | epot = -20.2202241138693 | etot = -13.2825376563966 -189000 ekin = 4.33007364399125 | erot = 2.67919947077837 | epot = -20.291810771393 | etot = -13.2825376566233 -190000 ekin = 4.36845326745518 | erot = 2.71241964780781 | epot = -20.3634105721979 | etot = -13.282537656935 -191000 ekin = 4.40242074847429 | erot = 2.74530093921263 | epot = -20.4302593449101 | etot = -13.2825376572232 -192000 ekin = 4.43037880288296 | erot = 2.7745540103848 | epot = -20.4874704712234 | etot = -13.2825376579557 -193000 ekin = 4.44834510305263 | erot = 2.79692081275968 | epot = -20.5278035740366 | etot = -13.2825376582243 -194000 ekin = 4.45438337861284 | erot = 2.80974801333328 | epot = -20.5466690503491 | etot = -13.282537658403 -195000 ekin = 4.44752201417202 | erot = 2.81136444003046 | epot = -20.5414241126779 | etot = -13.2825376584754 -196000 ekin = 4.42737187905048 | erot = 2.80121240437724 | epot = -20.5111219418607 | etot = -13.282537658433 -197000 ekin = 4.39418615090619 | erot = 2.77991547931436 | epot = -20.4566392884965 | etot = -13.282537658276 -198000 ekin = 4.3488852650834 | erot = 2.74924294053029 | epot = -20.3806658636271 | etot = -13.2825376580134 -199000 ekin = 4.29304006378848 | erot = 2.71196807404358 | epot = -20.2875457954965 | etot = -13.2825376576645 -200000 ekin = 4.22880362118172 | erot = 2.67162662745845 | epot = -20.1829679058976 | etot = -13.2825376572574 -201000 ekin = 4.15878346301308 | erot = 2.6321913339107 | epot = -20.0735124537522 | etot = -13.2825376568284 -202000 ekin = 4.08585235174777 | erot = 2.59768848811556 | epot = -19.9660784962823 | etot = -13.2825376564189 -203000 ekin = 4.01290418154392 | erot = 2.5717916467484 | epot = -19.8672334843641 | etot = -13.2825376560718 -204000 ekin = 3.94257872967226 | erot = 2.55743320243961 | epot = -19.7825495879379 | etot = -13.282537655826 -205000 ekin = 3.87698859849794 | erot = 2.55647506167819 | epot = -19.7160013158883 | etot = -13.2825376557122 -206000 ekin = 3.81748743469197 | erot = 2.56947517652852 | epot = -19.6695002669682 | etot = -13.2825376557477 -207000 ekin = 3.76451595610833 | erot = 2.59557970374943 | epot = -19.6426333157917 | etot = -13.2825376559339 -208000 ekin = 3.71755329412155 | erot = 2.63256413547948 | epot = -19.6326550858542 | etot = -13.2825376562531 -209000 ekin = 3.6751895684106 | erot = 2.67704133017555 | epot = -19.6347685552539 | etot = -13.2825376566678 -210000 ekin = 3.63532366958123 | erot = 2.72484401425475 | epot = -19.6427053409575 | etot = -13.2825376571215 -211000 ekin = 3.59547812025537 | erot = 2.77156531006635 | epot = -19.6495810878665 | etot = -13.2825376575447 -212000 ekin = 3.5532013388674 | erot = 2.8131934632015 | epot = -19.648932459936 | etot = -13.2825376578671 -213000 ekin = 3.5064976129211 | erot = 2.84671880107505 | epot = -19.6357540720302 | etot = -13.282537658034 -214000 ekin = 3.45419694129118 | erot = 2.87055671325296 | epot = -19.6072913125676 | etot = -13.2825376580234 -215000 ekin = 3.3961705526571 | erot = 2.8846579012024 | epot = -19.5633661117116 | etot = -13.2825376578521 -216000 ekin = 3.33333457774708 | erot = 2.89027487492533 | epot = -19.5061471102412 | etot = -13.2825376575688 -217000 ekin = 3.26237078851755 | erot = 2.88652329141154 | epot = -19.4314317899048 | etot = -13.2825377099757 -218000 ekin = 3.06041269207635 | erot = 2.81741383451267 | epot = -19.1603641969459 | etot = -13.2825376703568 -219000 ekin = 2.93316276967062 | erot = 2.8446025024716 | epot = -19.0603029343603 | etot = -13.2825376622181 -220000 ekin = 2.96128614843698 | erot = 2.98904145664669 | epot = -19.2328653086382 | etot = -13.2825377035546 -221000 ekin = 2.90913828063349 | erot = 3.0370109417033 | epot = -19.2286868797594 | etot = -13.2825376574226 -222000 ekin = 2.84227376945866 | erot = 3.05603303801694 | epot = -19.1808444650464 | etot = -13.2825376575708 -223000 ekin = 2.78062900949204 | erot = 3.0623214454287 | epot = -19.1254881126305 | etot = -13.2825376577097 -224000 ekin = 2.72480461600036 | erot = 3.05323876331587 | epot = -19.0605810371255 | etot = -13.2825376578093 -225000 ekin = 2.67532541220325 | erot = 3.02684795807176 | epot = -18.9847110281109 | etot = -13.2825376578359 -226000 ekin = 2.63276163036943 | erot = 2.98227164387593 | epot = -18.8975709320212 | etot = -13.2825376577758 -227000 ekin = 2.59776959648577 | erot = 2.91985728396334 | epot = -18.8001645380875 | etot = -13.2825376576384 -228000 ekin = 2.57104335950892 | erot = 2.84110209326691 | epot = -18.6946831102272 | etot = -13.2825376574514 -229000 ekin = 2.55319781380138 | erot = 2.74837649564534 | epot = -18.5841119666977 | etot = -13.282537657251 -230000 ekin = 2.54463522127686 | erot = 2.64454432367535 | epot = -18.4717172020198 | etot = -13.2825376570676 -231000 ekin = 2.54546021784621 | erot = 2.53260284792485 | epot = -18.3606007226861 | etot = -13.282537656915 -232000 ekin = 2.55549307881088 | erot = 2.41545023211296 | epot = -18.2534809677097 | etot = -13.2825376567859 -233000 ekin = 2.57438548648739 | erot = 2.29583418255703 | epot = -18.1527573257026 | etot = -13.2825376566582 -234000 ekin = 2.60178443029265 | erot = 2.17645519655967 | epot = -18.0607772833614 | etot = -13.2825376565091 -235000 ekin = 2.63745218021159 | erot = 2.06012244390588 | epot = -17.9801122804484 | etot = -13.2825376563309 -236000 ekin = 2.68126373962457 | erot = 1.94983176913329 | epot = -17.913633164896 | etot = -13.2825376561382 -237000 ekin = 2.73306880567091 | erot = 1.84868049785708 | epot = -17.8642869594909 | etot = -13.2825376559629 -238000 ekin = 2.79247907581072 | erot = 1.75962709169619 | epot = -17.8346438233477 | etot = -13.2825376558408 -239000 ekin = 2.8586759443782 | erot = 1.68518476454599 | epot = -17.8263983647219 | etot = -13.2825376557977 -240000 ekin = 2.93031183915977 | erot = 1.62715662270393 | epot = -17.8400061177073 | etot = -13.2825376558436 -241000 ekin = 3.00552986743725 | erot = 1.58648515289343 | epot = -17.8745526763034 | etot = -13.2825376559727 -242000 ekin = 3.0820836546572 | erot = 1.56323726723208 | epot = -17.9278585780555 | etot = -13.2825376561662 -243000 ekin = 3.15752262719342 | erot = 1.5567113441869 | epot = -17.9967716277771 | etot = -13.2825376563968 -244000 ekin = 3.22940955213828 | erot = 1.56564064462198 | epot = -18.0775878533929 | etot = -13.2825376566326 -245000 ekin = 3.29554303953914 | erot = 1.58846457359926 | epot = -18.1665452699782 | etot = -13.2825376568398 -246000 ekin = 3.35415939736843 | erot = 1.62363159705077 | epot = -18.2603286514088 | etot = -13.2825376569896 -247000 ekin = 3.40408574270612 | erot = 1.6698832561101 | epot = -18.3565066558791 | etot = -13.2825376570629 -248000 ekin = 3.44481663263181 | erot = 1.72645823945308 | epot = -18.4538125291412 | etot = -13.2825376570563 -249000 ekin = 3.4764966325555 | erot = 1.79316293261092 | epot = -18.5521972221498 | etot = -13.2825376569834 -250000 ekin = 3.4998119290067 | erot = 1.87028571125164 | epot = -18.6526352971293 | etot = -13.2825376568709 -251000 ekin = 3.51581851748171 | erot = 1.95837689015822 | epot = -18.7567330643924 | etot = -13.2825376567524 -252000 ekin = 3.52575126869464 | erot = 2.05795546201286 | epot = -18.8662443873663 | etot = -13.2825376566588 -253000 ekin = 3.53086049262785 | erot = 2.16922084359604 | epot = -18.9826189928353 | etot = -13.2825376566114 -254000 ekin = 3.53230924463609 | erot = 2.29183768672779 | epot = -19.1066845879831 | etot = -13.2825376566192 -255000 ekin = 3.53114146569382 | erot = 2.42483171779584 | epot = -19.2385108401683 | etot = -13.2825376566786 -256000 ekin = 3.5283101054313 | erot = 2.56659937924946 | epot = -19.3774471414593 | etot = -13.2825376567786 -257000 ekin = 3.52473759358279 | erot = 2.71500399460032 | epot = -19.5222792450876 | etot = -13.2825376569044 -258000 ekin = 3.52137545667859 | erot = 2.86751445186624 | epot = -19.6714275655892 | etot = -13.2825376570444 -259000 ekin = 3.51923070409532 | erot = 3.02134046698889 | epot = -19.8231088282769 | etot = -13.2825376571927 -260000 ekin = 3.51933841084553 | erot = 3.17353025732541 | epot = -19.9754063255224 | etot = -13.2825376573514 -261000 ekin = 3.52267851350856 | erot = 3.32101670247704 | epot = -20.1262328735147 | etot = -13.2825376575291 -262000 ekin = 3.53003333480896 | erot = 3.46062452427896 | epot = -20.273195516825 | etot = -13.2825376577371 -263000 ekin = 3.54180424035152 | erot = 3.58907231404775 | epot = -20.413414212382 | etot = -13.2825376579827 -264000 ekin = 3.55787447685305 | erot = 3.70301127793477 | epot = -20.5434234130524 | etot = -13.2825376582646 -265000 ekin = 3.57751330913344 | erot = 3.7991542896344 | epot = -20.659205257334 | etot = -13.2825376585661 -266000 ekin = 3.59938201293793 | erot = 3.87452595150114 | epot = -20.7564456232931 | etot = -13.2825376588541 -267000 ekin = 3.62167235822875 | erot = 3.92682901662434 | epot = -20.8310390339348 | etot = -13.2825376590817 -268000 ekin = 3.64237343768071 | erot = 3.95486700975834 | epot = -20.8797781066388 | etot = -13.2825376591998 -269000 ekin = 3.65961533754883 | erot = 3.95890941485168 | epot = -20.901062411575 | etot = -13.2825376591745 -270000 ekin = 3.67198713217814 | erot = 3.94085700806684 | epot = -20.8953817992463 | etot = -13.2825376590013 -271000 ekin = 3.67872329079258 | erot = 3.90410726329523 | epot = -20.8653682127982 | etot = -13.2825376587104 -272000 ekin = 3.67969720542176 | erot = 3.85312017496781 | epot = -20.8153550387471 | etot = -13.2825376583575 -273000 ekin = 3.67523785304564 | erot = 3.79279347421287 | epot = -20.7505689852647 | etot = -13.2825376580062 -274000 ekin = 3.66585545030596 | erot = 3.72781503527706 | epot = -20.6762081432927 | etot = -13.2825376577096 -275000 ekin = 3.65198266149159 | erot = 3.66213927987052 | epot = -20.5966595988631 | etot = -13.282537657501 -276000 ekin = 3.633806837076 | erot = 3.598661459447 | epot = -20.5150059539148 | etot = -13.2825376573918 -277000 ekin = 3.61121443635146 | erot = 3.53909052619933 | epot = -20.4328426199275 | etot = -13.2825376573767 -278000 ekin = 3.58382533557885 | erot = 3.48398196201195 | epot = -20.3503449550305 | etot = -13.2825376574397 -279000 ekin = 3.55107927466721 | erot = 3.4328876768366 | epot = -20.2665046090618 | etot = -13.282537657558 -280000 ekin = 3.51234648871563 | erot = 3.38459301004919 | epot = -20.1794771564681 | etot = -13.2825376577033 -281000 ekin = 3.46705217022193 | erot = 3.33742016501543 | epot = -20.0870099930804 | etot = -13.282537657843 -282000 ekin = 3.4148174354963 | erot = 3.28957539031067 | epot = -19.98693048375 | etot = -13.2825376579431 -283000 ekin = 3.3556172386103 | erot = 3.23950140187567 | epot = -19.877656298458 | etot = -13.282537657972 -284000 ekin = 3.28993990743714 | erot = 3.18617834963481 | epot = -19.7586559149802 | etot = -13.2825376579083 -285000 ekin = 3.21891605429293 | erot = 3.12930993710548 | epot = -19.6307636491448 | etot = -13.2825376577464 -286000 ekin = 3.14439051761724 | erot = 3.06934998331701 | epot = -19.4962781582955 | etot = -13.2825376573613 -287000 ekin = 3.06960009495595 | erot = 3.00728050107418 | epot = -19.3594182531578 | etot = -13.2825376571276 -288000 ekin = 2.99759349423582 | erot = 2.94413656453561 | epot = -19.2242677156211 | etot = -13.2825376568497 -289000 ekin = 2.9312259032696 | erot = 2.88109280424398 | epot = -19.0948563640673 | etot = -13.2825376565537 -290000 ekin = 2.87364775959538 | erot = 2.81936189019795 | epot = -18.9755473060557 | etot = -13.2825376562624 -291000 ekin = 2.82808392253236 | erot = 2.76008269212129 | epot = -18.8707042706456 | etot = -13.2825376559919 -292000 ekin = 2.79759576436007 | erot = 2.70430482357457 | epot = -18.7844382436883 | etot = -13.2825376557537 -293000 ekin = 2.78483509079594 | erot = 2.65304729582258 | epot = -18.7204200421757 | etot = -13.2825376555571 -294000 ekin = 2.79179688861819 | erot = 2.6073808528377 | epot = -18.6817153968698 | etot = -13.2825376554139 -295000 ekin = 2.81957934527721 | erot = 2.56847294066555 | epot = -18.6705899412834 | etot = -13.2825376553406 -296000 ekin = 2.8680999060561 | erot = 2.53696733690384 | epot = -18.6876048985713 | etot = -13.2825376556114 -297000 ekin = 2.93560102202648 | erot = 2.51254790532835 | epot = -18.7306865831678 | etot = -13.282537655813 -298000 ekin = 3.01880409347916 | erot = 2.49548083197819 | epot = -18.7968225815706 | etot = -13.2825376561132 -299000 ekin = 3.11317674937778 | erot = 2.48585279572497 | epot = -18.8815672015859 | etot = -13.2825376564832 -300000 ekin = 3.21328607489953 | erot = 2.48363458984354 | epot = -18.9794583216121 | etot = -13.2825376568691 -301000 ekin = 3.31333985043737 | erot = 2.48892965616517 | epot = -19.0848071638044 | etot = -13.2825376572019 -302000 ekin = 3.40783628219689 | erot = 2.50232511253499 | epot = -19.1926990521496 | etot = -13.2825376574178 -303000 ekin = 3.49218145837487 | erot = 2.52518642841966 | epot = -19.2999055442772 | etot = -13.2825376574827 -304000 ekin = 3.56312110363183 | erot = 2.55971045465174 | epot = -19.40536921569 | etot = -13.2825376574064 -305000 ekin = 3.61888774143317 | erot = 2.60863169692503 | epot = -19.5100570955986 | etot = -13.2825376572404 -306000 ekin = 3.65906113322132 | erot = 2.67462381277541 | epot = -19.6162226030555 | etot = -13.2825376570587 -307000 ekin = 3.68422703808102 | erot = 2.75956355882423 | epot = -19.7263282538406 | etot = -13.2825376569354 -308000 ekin = 3.69555713019525 | erot = 2.8638613267912 | epot = -19.8419561139128 | etot = -13.2825376569263 -309000 ekin = 3.69442216794192 | erot = 2.98601798220163 | epot = -19.9629778072027 | etot = -13.2825376570592 -310000 ekin = 3.68211177280713 | erot = 3.12248873496362 | epot = -20.0871381651019 | etot = -13.2825376573311 -311000 ekin = 3.65969154495059 | erot = 3.2678638211702 | epot = -20.2100930238326 | etot = -13.2825376577118 -312000 ekin = 3.62799191203365 | erot = 3.41533011396099 | epot = -20.3258596841441 | etot = -13.2825376581495 -313000 ekin = 3.58770577443554 | erot = 3.55735172711468 | epot = -20.4275951601301 | etot = -13.2825376585799 -314000 ekin = 3.53954680683451 | erot = 3.68647834911027 | epot = -20.5085628148818 | etot = -13.282537658937 -315000 ekin = 3.4844173114834 | erot = 3.79616777476322 | epot = -20.5631227454116 | etot = -13.282537659165 -316000 ekin = 3.42353216211074 | erot = 3.88149414080693 | epot = -20.5875639621475 | etot = -13.2825376592299 -317000 ekin = 3.35845872751502 | erot = 3.93962315500785 | epot = -20.5806195416482 | etot = -13.2825376591254 -318000 ekin = 3.2910554651844 | erot = 3.96997627515888 | epot = -20.5435693992165 | etot = -13.2825376588732 -319000 ekin = 3.223320732024 | erot = 3.97407140328373 | epot = -20.479929793824 | etot = -13.2825376585163 -320000 ekin = 3.15718962490234 | erot = 3.9550982666567 | epot = -20.3948255496666 | etot = -13.2825376581075 -321000 ekin = 3.09432530925327 | erot = 3.91739375694779 | epot = -20.2942567238311 | etot = -13.28253765763 -322000 ekin = 3.03585792728448 | erot = 3.86620572599247 | epot = -20.1846013105892 | etot = -13.2825376573123 -323000 ekin = 2.98241823057113 | erot = 3.80588679425271 | epot = -20.0708426818646 | etot = -13.2825376570408 -324000 ekin = 2.93426965651669 | erot = 3.74025042750917 | epot = -19.9570577408439 | etot = -13.2825376568181 -325000 ekin = 2.89141991680417 | erot = 3.67265058789432 | epot = -19.8466081613358 | etot = -13.2825376566373 -326000 ekin = 2.85377350486309 | erot = 3.60592095018933 | epot = -19.7422321115398 | etot = -13.2825376564874 -327000 ekin = 2.82127903352093 | erot = 3.54238718474863 | epot = -19.6462038746274 | etot = -13.2825376563578 -328000 ekin = 2.7940403019229 | erot = 3.4839107987806 | epot = -19.5604887570628 | etot = -13.2825376563592 -329000 ekin = 2.77197949436762 | erot = 3.43169110626222 | epot = -19.4862082569527 | etot = -13.2825376563229 -330000 ekin = 2.75494613632944 | erot = 3.38614869284798 | epot = -19.4236324854868 | etot = -13.2825376563094 -331000 ekin = 2.74315934445212 | erot = 3.34732307626857 | epot = -19.3730200770426 | etot = -13.2825376563219 -332000 ekin = 2.73688271481215 | erot = 3.3148484337223 | epot = -19.3342688048984 | etot = -13.282537656364 -333000 ekin = 2.73633973950942 | erot = 3.28798960596993 | epot = -19.306867001918 | etot = -13.2825376564386 -334000 ekin = 2.74163678826744 | erot = 3.26568447791269 | epot = -19.2898589227258 | etot = -13.2825376565456 -335000 ekin = 2.75270974558534 | erot = 3.24660647154451 | epot = -19.2818538738101 | etot = -13.2825376566802 -336000 ekin = 2.76930297431775 | erot = 3.22925893950186 | epot = -19.2810995706518 | etot = -13.2825376568322 -337000 ekin = 2.79098432744158 | erot = 3.21211025351894 | epot = -19.2856322379462 | etot = -13.2825376569857 -338000 ekin = 2.81719266282506 | erot = 3.19377253885645 | epot = -19.2935028588025 | etot = -13.282537657121 -339000 ekin = 2.84730801445539 | erot = 3.17321131001621 | epot = -19.3030569816891 | etot = -13.2825376572175 -340000 ekin = 2.88072770851369 | erot = 3.14995757252084 | epot = -19.3132229382919 | etot = -13.2825376572574 -341000 ekin = 2.91693042220102 | erot = 3.12427992089927 | epot = -19.3237480003323 | etot = -13.282537657232 -342000 ekin = 2.95550483676992 | erot = 3.09726362719681 | epot = -19.3353061211116 | etot = -13.2825376571449 -343000 ekin = 2.9961267955816 | erot = 3.07075651726459 | epot = -19.3494209698604 | etot = -13.2825376570142 -344000 ekin = 3.03848111852457 | erot = 3.04717169214071 | epot = -19.3681904675347 | etot = -13.2825376568694 -345000 ekin = 3.08214069495797 | erot = 3.02917600552114 | epot = -19.3938543572237 | etot = -13.2825376567446 -346000 ekin = 3.12643023842184 | erot = 3.019323916367 | epot = -19.4282918114614 | etot = -13.2825376566725 -347000 ekin = 3.17030571950563 | erot = 3.01970377197954 | epot = -19.4725471481646 | etot = -13.2825376566794 -348000 ekin = 3.21227615188227 | erot = 3.03164750475753 | epot = -19.5264613134215 | etot = -13.2825376567817 -349000 ekin = 3.25037907572045 | erot = 3.05552302028484 | epot = -19.5884397529928 | etot = -13.2825376569875 -350000 ekin = 3.28221302801698 | erot = 3.090612077422 | epot = -19.655362762734 | etot = -13.282537657295 -351000 ekin = 3.30503586845675 | erot = 3.13508039752096 | epot = -19.7226539236659 | etot = -13.2825376576882 -352000 ekin = 3.31595350171735 | erot = 3.18605925818043 | epot = -19.7845504180312 | etot = -13.2825376581334 -353000 ekin = 3.31222586318789 | erot = 3.2398547104606 | epot = -19.8346182322276 | etot = -13.2825376585791 -354000 ekin = 3.29169173965575 | erot = 3.29228360641242 | epot = -19.8665130050276 | etot = -13.2825376589594 -355000 ekin = 3.25327251248046 | erot = 3.33911881639371 | epot = -19.8749289880786 | etot = -13.2825376592044 -356000 ekin = 3.19745645460935 | erot = 3.37659336434066 | epot = -19.8565874782071 | etot = -13.2825376592571 -357000 ekin = 3.12661218039488 | erot = 3.40186563883939 | epot = -19.8110154783303 | etot = -13.282537659096 -358000 ekin = 3.04496261886749 | erot = 3.41331336007688 | epot = -19.7408136376952 | etot = -13.2825376587508 -359000 ekin = 2.95811577563389 | erot = 3.41055161315594 | epot = -19.65120504709 | etot = -13.2825376583002 -360000 ekin = 2.87219670777466 | erot = 3.39416675335385 | epot = -19.5489011189775 | etot = -13.282537657849 -361000 ekin = 2.79279437102923 | erot = 3.36527462495985 | epot = -19.4406066534821 | etot = -13.282537657493 -362000 ekin = 2.7240341162549 | erot = 3.32507906116193 | epot = -19.331650834705 | etot = -13.2825376572881 -363000 ekin = 2.6680503223993 | erot = 3.27458936074052 | epot = -19.2251773403761 | etot = -13.2825376572363 -364000 ekin = 2.62498064266483 | erot = 3.21457203232936 | epot = -19.1220903322872 | etot = -13.282537657293 -365000 ekin = 2.59341335852256 | erot = 3.14571210015879 | epot = -19.0216631160705 | etot = -13.2825376573892 -366000 ekin = 2.57108401614146 | erot = 3.06888690043657 | epot = -18.9225085740357 | etot = -13.2825376574577 -367000 ekin = 2.55558493490922 | erot = 2.98543100060401 | epot = -18.8235535929648 | etot = -13.2825376574516 -368000 ekin = 2.54491188940874 | erot = 2.89729436784111 | epot = -18.7247439146015 | etot = -13.2825376573517 -369000 ekin = 2.53777310784828 | erot = 2.80704690677514 | epot = -18.6273576717881 | etot = -13.2825376571646 -370000 ekin = 2.53338825950351 | erot = 2.71819995751228 | epot = -18.5341258738832 | etot = -13.2825376568674 -371000 ekin = 2.53146597101795 | erot = 2.63443214139539 | epot = -18.4484357690378 | etot = -13.2825376566244 -372000 ekin = 2.53305224681573 | erot = 2.55818112001752 | epot = -18.3737710231763 | etot = -13.282537656343 -373000 ekin = 2.53983164211189 | erot = 2.49190590621672 | epot = -18.314275204369 | etot = -13.2825376560404 -374000 ekin = 2.5539361342706 | erot = 2.43803861080169 | epot = -18.2745124008035 | etot = -13.2825376557312 -375000 ekin = 2.57759599288755 | erot = 2.39898190221675 | epot = -18.2591155506456 | etot = -13.2825376555413 -376000 ekin = 2.61177868596779 | erot = 2.3771002007207 | epot = -18.2714165420646 | etot = -13.2825376553761 -377000 ekin = 2.65778740675903 | erot = 2.37359397109588 | epot = -18.313919033141 | etot = -13.2825376552861 -378000 ekin = 2.71669984604403 | erot = 2.38881656768454 | epot = -18.3880540690293 | etot = -13.2825376553007 -379000 ekin = 2.78887075408053 | erot = 2.42222171828729 | epot = -18.493630127821 | etot = -13.2825376554532 -380000 ekin = 2.8735893047097 | erot = 2.47221119730624 | epot = -18.6283381577863 | etot = -13.2825376557704 -381000 ekin = 2.96878304795772 | erot = 2.53604633164126 | epot = -18.7873670358596 | etot = -13.2825376562607 -382000 ekin = 3.07087981816342 | erot = 2.60989110069439 | epot = -18.9633085757602 | etot = -13.2825376569024 -383000 ekin = 3.17493836101257 | erot = 2.68903209116691 | epot = -19.1465081098174 | etot = -13.2825376576379 -384000 ekin = 3.27511217440233 | erot = 2.76828123033647 | epot = -19.3259310631177 | etot = -13.2825376583789 -385000 ekin = 3.36541347868712 | erot = 2.84251901104278 | epot = -19.4904701487519 | etot = -13.282537659022 -386000 ekin = 3.44062041949954 | erot = 2.90728609466352 | epot = -19.6304441736393 | etot = -13.2825376594762 -387000 ekin = 3.49708416826315 | erot = 2.95929717263814 | epot = -19.7389190005894 | etot = -13.2825376596881 -388000 ekin = 3.53320899932111 | erot = 2.99676007578797 | epot = -19.8125067347609 | etot = -13.2825376596518 -389000 ekin = 3.5495047719137 | erot = 3.01944441497906 | epot = -19.8514868462961 | etot = -13.2825376594033 -390000 ekin = 3.54826504042848 | erot = 3.02852374317564 | epot = -19.8593264426069 | etot = -13.2825376590028 -391000 ekin = 3.53302701092198 | erot = 3.02626577204788 | epot = -19.8418304414875 | etot = -13.2825376585177 -392000 ekin = 3.50797457908343 | erot = 3.01564117086773 | epot = -19.8061534079638 | etot = -13.2825376580127 -393000 ekin = 3.47739262395909 | erot = 2.99988985775782 | epot = -19.7598201392632 | etot = -13.2825376575463 -394000 ekin = 3.44522282252996 | erot = 2.98206454116529 | epot = -19.7098250208642 | etot = -13.282537657169 -395000 ekin = 3.41473630917387 | erot = 2.9645789212076 | epot = -19.6618528873007 | etot = -13.2825376569193 -396000 ekin = 3.38832727675903 | erot = 2.94881280953917 | epot = -19.6196777431179 | etot = -13.2825376568196 -397000 ekin = 3.36743033117465 | erot = 2.93484808693188 | epot = -19.5848160749774 | etot = -13.2825376568709 -398000 ekin = 3.35256101408384 | erot = 2.92141113768411 | epot = -19.5565098088173 | etot = -13.2825376570493 -399000 ekin = 3.34346845310144 | erot = 2.90607029857573 | epot = -19.5320764089866 | etot = -13.2825376573094 -400000 ekin = 3.33937255609437 | erot = 2.88568094014063 | epot = -19.5075911538258 | etot = -13.2825376575908 -401000 ekin = 3.33924190395899 | erot = 2.85700017339502 | epot = -19.4787797351863 | etot = -13.2825376578323 -402000 ekin = 3.34205998353892 | erot = 2.81733492843204 | epot = -19.441932569956 | etot = -13.282537657985 -403000 ekin = 3.34703246955511 | erot = 2.76507190137545 | epot = -19.394642028952 | etot = -13.2825376580215 -404000 ekin = 3.35370775612911 | erot = 2.69997817544774 | epot = -19.3362235895154 | etot = -13.2825376579385 -405000 ekin = 3.36200495975409 | erot = 2.62323862901266 | epot = -19.2677812465193 | etot = -13.2825376577526 -406000 ekin = 3.37216882210879 | erot = 2.53727277109617 | epot = -19.1919792506971 | etot = -13.2825376574921 -407000 ekin = 3.38467286642281 | erot = 2.44541531528747 | epot = -19.1126258389005 | etot = -13.2825376571902 -408000 ekin = 3.40009251679172 | erot = 2.35154628927638 | epot = -19.0341764629477 | etot = -13.2825376568796 -409000 ekin = 3.41896361161102 | erot = 2.25973253002432 | epot = -18.9612337982252 | etot = -13.2825376565899 -410000 ekin = 3.44163818667578 | erot = 2.17391337707833 | epot = -18.8980892201011 | etot = -13.282537656347 -411000 ekin = 3.46814489278265 | erot = 2.09764003834874 | epot = -18.8483225873038 | etot = -13.2825376561724 -412000 ekin = 3.49806473021384 | erot = 2.03386747107535 | epot = -18.8144698573718 | etot = -13.2825376560826 -413000 ekin = 3.53043538014641 | erot = 1.98479597299823 | epot = -18.7977690092331 | etot = -13.2825376560885 -414000 ekin = 3.5637005865262 | erot = 1.95176512736844 | epot = -18.7980033700874 | etot = -13.2825376561927 -415000 ekin = 3.59572274043577 | erot = 1.93521132484319 | epot = -18.8134717216665 | etot = -13.2825376563875 -416000 ekin = 3.62387476619239 | erot = 1.93470676736698 | epot = -18.8411191902125 | etot = -13.2825376566531 -417000 ekin = 3.64521944272459 | erot = 1.94909657754553 | epot = -18.8768536772273 | etot = -13.2825376569572 -418000 ekin = 3.65676940727035 | erot = 1.97673635559896 | epot = -18.9160434201279 | etot = -13.2825376572586 -419000 ekin = 3.65580092830618 | erot = 2.01580487492028 | epot = -18.9541434607407 | etot = -13.2825376575142 -420000 ekin = 3.64017400050736 | erot = 2.06463212116818 | epot = -18.9873437793641 | etot = -13.2825376576886 -421000 ekin = 3.60860065288865 | erot = 2.12196023054627 | epot = -19.0130985411983 | etot = -13.2825376577633 -422000 ekin = 3.56080810554219 | erot = 2.18705814556919 | epot = -19.0304039088537 | etot = -13.2825376577423 -423000 ekin = 3.49756602992945 | erot = 2.25964754075635 | epot = -19.0397512283355 | etot = -13.2825376576497 -424000 ekin = 3.42057977942507 | erot = 2.33965549129906 | epot = -19.0427729282473 | etot = -13.2825376575231 -425000 ekin = 3.33228159149811 | erot = 2.42686463918893 | epot = -19.0416838880909 | etot = -13.2825376574039 -426000 ekin = 3.2355690960636 | erot = 2.52056283158548 | epot = -19.0386695849744 | etot = -13.2825376573253 -427000 ekin = 3.13354188401682 | erot = 2.61929302170817 | epot = -19.0353725630316 | etot = -13.2825376573066 -428000 ekin = 3.02927593448342 | erot = 2.72077464105999 | epot = -19.0325882328923 | etot = -13.2825376573489 -429000 ekin = 2.92565831326665 | erot = 2.82201873865516 | epot = -19.03021470936 | etot = -13.2825376574382 -430000 ekin = 2.82528572275416 | erot = 2.9196013800765 | epot = -19.0274247603835 | etot = -13.2825376575529 -431000 ekin = 2.73041359107529 | erot = 3.01000711728887 | epot = -19.0229583660374 | etot = -13.2825376576732 -432000 ekin = 2.64293211741183 | erot = 3.08992822754027 | epot = -19.0153980027419 | etot = -13.2825376577898 -433000 ekin = 2.5643487123274 | erot = 3.15643021828688 | epot = -19.0033165885191 | etot = -13.2825376579049 -434000 ekin = 2.49577139885486 | erot = 3.20696626802801 | epot = -18.9852753249085 | etot = -13.2825376580257 -435000 ekin = 2.43791477049345 | erot = 3.23932321271082 | epot = -18.9597756413533 | etot = -13.282537658149 -436000 ekin = 2.39117206292075 | erot = 3.25164920249633 | epot = -18.9253589236664 | etot = -13.2825376582494 -437000 ekin = 2.35579129858636 | erot = 3.24269240916056 | epot = -18.8810213660233 | etot = -13.2825376582763 -438000 ekin = 2.33215137598552 | erot = 3.2122573583515 | epot = -18.8269463925089 | etot = -13.2825376581719 -439000 ekin = 2.32106357051098 | erot = 3.16171527167181 | epot = -18.7653165000812 | etot = -13.2825376578984 -440000 ekin = 2.32396046468774 | erot = 3.09429994298168 | epot = -18.7007980651355 | etot = -13.282537657466 -441000 ekin = 2.34282585391452 | erot = 3.01497153468354 | epot = -18.640335045538 | etot = -13.2825376569399 -442000 ekin = 2.37979980925604 | erot = 2.92981680804556 | epot = -18.592154273725 | etot = -13.2825376564234 -443000 ekin = 2.43656228551105 | erot = 2.84513622245103 | epot = -18.5642361639989 | etot = -13.2825376560368 -444000 ekin = 2.51342571777136 | erot = 2.7665603961214 | epot = -18.5625237697588 | etot = -13.2825376558661 -445000 ekin = 2.60880718707288 | erot = 2.69827998895654 | epot = -18.5896248319851 | etot = -13.2825376559556 -446000 ekin = 2.71906096767751 | erot = 2.64257205052438 | epot = -18.6441706744987 | etot = -13.2825376562969 -447000 ekin = 2.83874401672896 | erot = 2.59965346897449 | epot = -18.7209351425399 | etot = -13.2825376568365 -448000 ekin = 2.96126772415897 | erot = 2.5678148089411 | epot = -18.8116201905962 | etot = -13.2825376574961 -449000 ekin = 3.07973256248984 | erot = 2.54376856118504 | epot = -18.9060387818655 | etot = -13.2825376581906 -450000 ekin = 3.18773299393897 | erot = 2.52315582293486 | epot = -18.9934264757104 | etot = -13.2825376588365 -451000 ekin = 3.28001368753319 | erot = 2.50120181208189 | epot = -19.063753158964 | etot = -13.2825376593489 -452000 ekin = 3.35296274689406 | erot = 2.47353158346045 | epot = -19.1090319899994 | etot = -13.2825376596449 -453000 ekin = 3.40494017429965 | erot = 2.43707428125779 | epot = -19.1245521152213 | etot = -13.2825376596638 -454000 ekin = 3.43637551402205 | erot = 2.39082250837186 | epot = -19.1097356817972 | etot = -13.2825376594033 -455000 ekin = 3.44952760873151 | erot = 2.33613006950087 | epot = -19.0681953371467 | etot = -13.2825376589143 -456000 ekin = 3.44799144671739 | erot = 2.27640153123032 | epot = -19.0069306362556 | etot = -13.2825376583079 -457000 ekin = 3.43601809741101 | erot = 2.21623652990966 | epot = -18.9347922850214 | etot = -13.2825376577007 -458000 ekin = 3.41788845142157 | erot = 2.1603621628938 | epot = -18.8607882715007 | etot = -13.2825376571853 -459000 ekin = 3.39749151939687 | erot = 2.11268532597155 | epot = -18.7927145021832 | etot = -13.2825376568148 -460000 ekin = 3.37812232252718 | erot = 2.07567909161626 | epot = -18.7363390707458 | etot = -13.2825376566023 -461000 ekin = 3.36231617612891 | erot = 2.05042996966763 | epot = -18.695283802365 | etot = -13.2825376565685 -462000 ekin = 3.3516010060682 | erot = 2.03669678982626 | epot = -18.6708354525534 | etot = -13.2825376566589 -463000 ekin = 3.34749626496938 | erot = 2.03201016323612 | epot = -18.6620440849644 | etot = -13.2825376567589 -464000 ekin = 3.35152548102323 | erot = 2.03372508145255 | epot = -18.6677882192986 | etot = -13.2825376568228 -465000 ekin = 3.36505604034897 | erot = 2.03980035193984 | epot = -18.6873940492544 | etot = -13.2825376569656 -466000 ekin = 3.38750814155411 | erot = 2.04917645651097 | epot = -18.7192222551879 | etot = -13.2825376571228 -467000 ekin = 3.41781846537007 | erot = 2.06078922447704 | epot = -18.7611453471536 | etot = -13.2825376573065 -468000 ekin = 3.45442517050212 | erot = 2.07383123667033 | epot = -18.8107940646966 | etot = -13.2825376575241 -469000 ekin = 3.49517146555834 | erot = 2.08763407955762 | epot = -18.8653432028907 | etot = -13.2825376577748 -470000 ekin = 3.53754304391518 | erot = 2.10145518357448 | epot = -18.9215358855326 | etot = -13.2825376580429 -471000 ekin = 3.57898487463084 | erot = 2.11439735084177 | epot = -18.9759198837659 | etot = -13.2825376582933 -472000 ekin = 3.61725786632598 | erot = 2.12555669055681 | epot = -19.0253522153561 | etot = -13.2825376584733 -473000 ekin = 3.65079380576263 | erot = 2.13440730770723 | epot = -19.0677387719965 | etot = -13.2825376585267 -474000 ekin = 3.67897471803139 | erot = 2.14127953357929 | epot = -19.1027919100348 | etot = -13.2825376584241 -475000 ekin = 3.70221628145293 | erot = 2.14765507905513 | epot = -19.1324090186972 | etot = -13.2825376581891 -476000 ekin = 3.72174790903021 | erot = 2.15602304576331 | epot = -19.1603086126937 | etot = -13.2825376579002 -477000 ekin = 3.73912018616709 | erot = 2.16928365664513 | epot = -19.1909415004644 | etot = -13.2825376576521 -478000 ekin = 3.75565100638758 | erot = 2.1899930971983 | epot = -19.2281817610922 | etot = -13.2825376575063 -479000 ekin = 3.77207488928686 | erot = 2.21984602917254 | epot = -19.2744585759276 | etot = -13.2825376574682 -480000 ekin = 3.78851866246341 | erot = 2.25959918548815 | epot = -19.3306555054526 | etot = -13.282537657501 -481000 ekin = 3.80616995061591 | erot = 2.3098465976453 | epot = -19.3985542055315 | etot = -13.2825376572703 -482000 ekin = 3.82906961959049 | erot = 2.37155747933625 | epot = -19.4831647566213 | etot = -13.2825376576945 -483000 ekin = 3.85390461343261 | erot = 2.44250735313214 | epot = -19.5789496246827 | etot = -13.2825376581179 -484000 ekin = 3.87679301499658 | erot = 2.51997841364319 | epot = -19.67930908719 | etot = -13.2825376585502 -485000 ekin = 3.89418558521177 | erot = 2.6008312618536 | epot = -19.7775545060503 | etot = -13.2825376589849 -486000 ekin = 3.90313775339899 | erot = 2.68139032002724 | epot = -19.8670657328067 | etot = -13.2825376593805 -487000 ekin = 3.90177537850701 | erot = 2.75761792311815 | epot = -19.9419309612886 | etot = -13.2825376596635 -488000 ekin = 3.889862131621 | erot = 2.82561628023752 | epot = -19.9980160716145 | etot = -13.282537659756 -489000 ekin = 3.86922231453781 | erot = 2.88229752819473 | epot = -20.0340575023524 | etot = -13.2825376596199 -490000 ekin = 3.84371636435403 | erot = 2.92590481083913 | epot = -20.0521588344865 | etot = -13.2825376592933 -491000 ekin = 3.81858290487071 | erot = 2.9560720610093 | epot = -20.0571926247727 | etot = -13.2825376588927 -492000 ekin = 3.79923632244415 | erot = 2.97333279544435 | epot = -20.0551067764556 | etot = -13.2825376585671 -493000 ekin = 3.78992062784184 | erot = 2.97831679174276 | epot = -20.0507750780124 | etot = -13.2825376584278 -494000 ekin = 3.79229313456423 | erot = 2.9705277109171 | epot = -20.0453585079524 | etot = -13.282537662471 -495000 ekin = 3.79451442394719 | erot = 2.93410724508575 | epot = -20.011159328423 | etot = -13.28253765939 -496000 ekin = 3.81062488236668 | erot = 2.88141942471639 | epot = -19.9745819636242 | etot = -13.2825376565411 -497000 ekin = 3.85788186105167 | erot = 2.8337274407664 | epot = -19.9741469603156 | etot = -13.2825376584975 -498000 ekin = 3.91884579383985 | erot = 2.78115548049834 | epot = -19.9825389376995 | etot = -13.2825376633613 -499000 ekin = 3.96315793686362 | erot = 2.70246806480193 | epot = -19.9481636596236 | etot = -13.2825376579581 -500000 ekin = 4.00272057627429 | erot = 2.6104605460005 | epot = -19.8957187797396 | etot = -13.2825376574648 -501000 ekin = 4.04216054274959 | erot = 2.51312796102747 | epot = -19.8378261606831 | etot = -13.2825376569061 -502000 ekin = 4.08330148514055 | erot = 2.41632704308052 | epot = -19.7821661846333 | etot = -13.2825376564122 -503000 ekin = 4.12765179374079 | erot = 2.32533692996321 | epot = -19.7355263797777 | etot = -13.2825376560737 -504000 ekin = 4.17571661390362 | erot = 2.24418432884543 | epot = -19.7024385986737 | etot = -13.2825376559247 -505000 ekin = 4.22673456415084 | erot = 2.17536462285507 | epot = -19.6846368429506 | etot = -13.2825376559447 -506000 ekin = 4.27886046446231 | erot = 2.11995169726186 | epot = -19.6813498177051 | etot = -13.2825376559809 -507000 ekin = 4.32989839510322 | erot = 2.07798999627042 | epot = -19.6904260476131 | etot = -13.2825376562394 -508000 ekin = 4.3768369745921 | erot = 2.0484622335072 | epot = -19.7078368645372 | etot = -13.2825376564379 -509000 ekin = 4.41701088937313 | erot = 2.0304046125134 | epot = -19.7299531584259 | etot = -13.2825376565393 -510000 ekin = 4.44869291188757 | erot = 2.0233924534456 | epot = -19.7546230218699 | etot = -13.2825376565367 -511000 ekin = 4.47114700664101 | erot = 2.02761863548855 | epot = -19.7813032985787 | etot = -13.2825376564492 -512000 ekin = 4.48448870189135 | erot = 2.04375687850346 | epot = -19.8107832368134 | etot = -13.2825376564186 -513000 ekin = 4.48914630707508 | erot = 2.07205454687262 | epot = -19.8437385103018 | etot = -13.2825376563541 -514000 ekin = 4.48557666179932 | erot = 2.11236294794912 | epot = -19.880477266066 | etot = -13.2825376563175 -515000 ekin = 4.47432723707008 | erot = 2.16436581139646 | epot = -19.9212307047954 | etot = -13.2825376563288 -516000 ekin = 4.45582679665326 | erot = 2.22719069336678 | epot = -19.9655551464159 | etot = -13.2825376563958 -517000 ekin = 4.43030463229704 | erot = 2.29935278530235 | epot = -20.0121950741138 | etot = -13.2825376565144 -518000 ekin = 4.39778184135852 | erot = 2.37880116113811 | epot = -20.0591206591697 | etot = -13.282537656673 -519000 ekin = 4.35811170485676 | erot = 2.46303435402768 | epot = -20.1036837157425 | etot = -13.2825376568581 -520000 ekin = 4.31103971552051 | erot = 2.54924277018622 | epot = -20.1428201427636 | etot = -13.2825376570569 -521000 ekin = 4.25625922128501 | erot = 2.63444730370309 | epot = -20.173244182248 | etot = -13.2825376572599 -522000 ekin = 4.19345339504261 | erot = 2.71562973710984 | epot = -20.1916207896092 | etot = -13.2825376574568 -523000 ekin = 4.12233106589696 | erot = 2.78987661785769 | epot = -20.1947453413877 | etot = -13.2825376576331 -524000 ekin = 4.04267462478795 | erot = 2.85456825314245 | epot = -20.1797805356988 | etot = -13.2825376577684 -525000 ekin = 3.95441508753717 | erot = 2.90762892529157 | epot = -20.1445816706651 | etot = -13.2825376578364 -526000 ekin = 3.85773415549755 | erot = 2.94781757723194 | epot = -20.0880893905407 | etot = -13.2825376578112 -527000 ekin = 3.75317337789126 | erot = 2.97499774805777 | epot = -20.0107087836244 | etot = -13.2825376576754 -528000 ekin = 3.6417156647281 | erot = 2.99029287548742 | epot = -19.9145462004724 | etot = -13.2825376602569 -529000 ekin = 3.5213345798146 | erot = 2.97329981123624 | epot = -19.7771720480706 | etot = -13.2825376570198 -530000 ekin = 3.40524483354961 | erot = 2.93138498576056 | epot = -19.6191674717665 | etot = -13.2825376524564 -531000 ekin = 3.31329586024631 | erot = 2.90771179337398 | epot = -19.503545306618 | etot = -13.2825376529977 -532000 ekin = 3.23028138423145 | erot = 2.91095227687854 | epot = -19.4237713182462 | etot = -13.2825376571362 -533000 ekin = 3.12254472504979 | erot = 2.92159652025145 | epot = -19.3266789030896 | etot = -13.2825376577884 -534000 ekin = 3.01044793877335 | erot = 2.93913625615111 | epot = -19.2321218524839 | etot = -13.2825376575594 -535000 ekin = 2.90665974197989 | erot = 2.96765394779521 | epot = -19.1568513472187 | etot = -13.2825376574435 -536000 ekin = 2.81267447143307 | erot = 3.00750648802701 | epot = -19.1027186169091 | etot = -13.282537657449 -537000 ekin = 2.72954271624314 | erot = 3.05761918512468 | epot = -19.0696995589408 | etot = -13.282537657573 -538000 ekin = 2.65787075123318 | erot = 3.1155333628036 | epot = -19.0559417718371 | etot = -13.2825376578003 -539000 ekin = 2.59787048049701 | erot = 3.17759265897041 | epot = -19.058000797571 | etot = -13.2825376581036 -540000 ekin = 2.54945648890533 | erot = 3.23927692411588 | epot = -19.0712710714641 | etot = -13.2825376584429 -541000 ekin = 2.51237864339879 | erot = 3.29568121874551 | epot = -19.0905975209143 | etot = -13.28253765877 -542000 ekin = 2.48636877597475 | erot = 3.34210880590418 | epot = -19.1110152409131 | etot = -13.2825376590342 -543000 ekin = 2.47126990556773 | erot = 3.37470651251081 | epot = -19.1285140772705 | etot = -13.282537659192 -544000 ekin = 2.46711428277069 | erot = 3.39103758941789 | epot = -19.1406895314063 | etot = -13.2825376592177 -545000 ekin = 2.47411735000801 | erot = 3.39046709617408 | epot = -19.1471221052938 | etot = -13.2825376591117 -546000 ekin = 2.49256786330982 | erot = 3.37425739407446 | epot = -19.1493629162877 | etot = -13.2825376589034 -547000 ekin = 2.52261985355643 | erot = 3.34533431810425 | epot = -19.1504918303061 | etot = -13.2825376586455 -548000 ekin = 2.56402294022763 | erot = 3.30777050324809 | epot = -19.1543311018765 | etot = -13.2825376584007 -549000 ekin = 2.61585467172408 | erot = 3.26610888708041 | epot = -19.1645012170318 | etot = -13.2825376582273 -550000 ekin = 2.67632806502137 | erot = 3.22468583527721 | epot = -19.1835515584625 | etot = -13.2825376581639 -551000 ekin = 2.74273542047784 | erot = 3.18709627675137 | epot = -19.212369355452 | etot = -13.2825376582228 -552000 ekin = 2.81155537633641 | erot = 3.15588528380799 | epot = -19.2499783185349 | etot = -13.2825376583905 -553000 ekin = 2.87870715456312 | erot = 3.13247774360667 | epot = -19.2937225568045 | etot = -13.2825376586348 -554000 ekin = 2.93989960588913 | erot = 3.11729757853032 | epot = -19.3397348433338 | etot = -13.2825376589144 -555000 ekin = 2.99100571713839 | erot = 3.10999728881187 | epot = -19.3835406651408 | etot = -13.2825376591905 -556000 ekin = 3.02839929469222 | erot = 3.10971957917835 | epot = -19.4206565333019 | etot = -13.2825376594313 -557000 ekin = 3.04921300214531 | erot = 3.11533545055502 | epot = -19.4470861123157 | etot = -13.2825376596154 -558000 ekin = 3.05150347330643 | erot = 3.12563190762761 | epot = -19.4596730406651 | etot = -13.282537659731 -559000 ekin = 3.03432873632176 | erot = 3.13944482423642 | epot = -19.4563112203321 | etot = -13.2825376597739 -560000 ekin = 2.99775269247934 | erot = 3.15574356338642 | epot = -19.4360339156122 | etot = -13.2825376597465 -561000 ekin = 2.942791717946 | erot = 3.17367577834175 | epot = -19.399005155943 | etot = -13.2825376596552 -562000 ekin = 2.87131567491456 | erot = 3.19257954674671 | epot = -19.3464328811715 | etot = -13.2825376595102 -563000 ekin = 2.78591370477175 | erot = 3.21196929020305 | epot = -19.280420654299 | etot = -13.2825376593242 -564000 ekin = 2.68973533676632 | erot = 3.2315030248807 | epot = -19.2037760207577 | etot = -13.2825376591107 -565000 ekin = 2.58631900803934 | erot = 3.25094003295475 | epot = -19.119796699877 | etot = -13.2825376588829 -566000 ekin = 2.47942134876985 | erot = 3.27009788588037 | epot = -19.0320568933032 | etot = -13.282537658653 -567000 ekin = 2.37285930824509 | erot = 3.28881390753205 | epot = -18.9442108742075 | etot = -13.2825376584304 -568000 ekin = 2.27037477203514 | erot = 3.30691420257913 | epot = -18.8598266328372 | etot = -13.2825376582229 -569000 ekin = 2.17552646993524 | erot = 3.32418852070849 | epot = -18.7822526486799 | etot = -13.2825376580362 -570000 ekin = 2.0916071735766 | erot = 3.34036686781736 | epot = -18.7145116992692 | etot = -13.2825376578753 -571000 ekin = 2.02157831416005 | erot = 3.35509336874294 | epot = -18.6592093406479 | etot = -13.2825376577449 -572000 ekin = 1.96800973250246 | erot = 3.36789498999432 | epot = -18.6184423801486 | etot = -13.2825376576519 -573000 ekin = 1.93301131086791 | erot = 3.37814685793653 | epot = -18.5936958264077 | etot = -13.2825376576033 -574000 ekin = 1.91814454491553 | erot = 3.38504063675326 | epot = -18.5857228392773 | etot = -13.2825376576086 -575000 ekin = 1.92430832573438 | erot = 3.38756624559585 | epot = -18.5944122290066 | etot = -13.2825376576764 -576000 ekin = 1.9516044746804 | erot = 3.38452119824724 | epot = -18.6186633307411 | etot = -13.2825376578134 -577000 ekin = 1.99920036892028 | erot = 3.37456184631277 | epot = -18.6562998732547 | etot = -13.2825376580217 -578000 ekin = 2.06522335780326 | erot = 3.3563097483278 | epot = -18.7040707644236 | etot = -13.2825376582925 -579000 ekin = 2.14673519282893 | erot = 3.32851940881583 | epot = -18.7577922602505 | etot = -13.2825376586057 -580000 ekin = 2.23983758245539 | erot = 3.29029959753275 | epot = -18.8126748389157 | etot = -13.2825376589276 -581000 ekin = 2.33993889925887 | erot = 3.2413588198074 | epot = -18.8638353782815 | etot = -13.2825376592153 -582000 ekin = 2.44216781901565 | erot = 3.18222403799831 | epot = -18.9069295164397 | etot = -13.2825376594258 -583000 ekin = 2.54186285338052 | erot = 3.1143690597616 | epot = -18.9387695726707 | etot = -13.2825376595286 -584000 ekin = 2.63514321917816 | erot = 3.04016994422167 | epot = -18.9578508227168 | etot = -13.2825376593169 -585000 ekin = 2.72038124549096 | erot = 2.96231486728252 | epot = -18.9652337720559 | etot = -13.2825376592824 -586000 ekin = 2.7952974207905 | erot = 2.88397447346059 | epot = -18.9618095534243 | etot = -13.2825376591732 -587000 ekin = 2.85803030912891 | erot = 2.80849541231913 | epot = -18.9490633804701 | etot = -13.2825376590221 -588000 ekin = 2.90761924156397 | erot = 2.73897208361712 | epot = -18.9291289840422 | etot = -13.2825376588611 -589000 ekin = 2.94382190769964 | erot = 2.67796026302752 | epot = -18.9043198294429 | etot = -13.2825376587158 -590000 ekin = 2.96693832518019 | erot = 2.6272442019698 | epot = -18.8767201857498 | etot = -13.2825376585998 -591000 ekin = 2.9776673784336 | erot = 2.58778349308244 | epot = -18.8479885300359 | etot = -13.2825376585198 -592000 ekin = 2.97699718658232 | erot = 2.55971358412153 | epot = -18.8192484291808 | etot = -13.2825376584769 -593000 ekin = 2.96611919165071 | erot = 2.54241252024637 | epot = -18.7910693703647 | etot = -13.2825376584677 -594000 ekin = 2.94635665290357 | erot = 2.53461934100801 | epot = -18.7635136523971 | etot = -13.2825376584855 -595000 ekin = 2.91908569710317 | erot = 2.53443482988756 | epot = -18.736058185673 | etot = -13.2825376586822 -596000 ekin = 2.88535047381584 | erot = 2.53857982682822 | epot = -18.706467959406 | etot = -13.2825376587619 -597000 ekin = 2.84590859895571 | erot = 2.54482361731877 | epot = -18.6732698750857 | etot = -13.2825376588112 -598000 ekin = 2.80153060629686 | erot = 2.55163242418938 | epot = -18.6357006893087 | etot = -13.2825376588225 -599000 ekin = 2.75300405718648 | erot = 2.55803363009657 | epot = -18.5935753460797 | etot = -13.2825376587966 -600000 ekin = 2.70110632480755 | erot = 2.56364667647513 | epot = -18.5472906600213 | etot = -13.2825376587386 -601000 ekin = 2.64657369870734 | erot = 2.56865533019019 | epot = -18.4977666875495 | etot = -13.282537658652 -602000 ekin = 2.59009198471546 | erot = 2.5737572619282 | epot = -18.4463869051824 | etot = -13.2825376585387 -603000 ekin = 2.532310533728 | erot = 2.58010020265793 | epot = -18.3949483947879 | etot = -13.282537658402 -604000 ekin = 2.47386381071126 | erot = 2.58919184015783 | epot = -18.3455933091172 | etot = -13.2825376582481 -605000 ekin = 2.41538802269351 | erot = 2.60277705144679 | epot = -18.3007027322262 | etot = -13.2825376580859 -606000 ekin = 2.35753010243637 | erot = 2.62269152368394 | epot = -18.2627592840459 | etot = -13.2825376579255 -607000 ekin = 2.30095094646976 | erot = 2.65066096470521 | epot = -18.2341495689621 | etot = -13.2825376577872 -608000 ekin = 2.24632550980833 | erot = 2.68812711798965 | epot = -18.2169902854651 | etot = -13.2825376576671 -609000 ekin = 2.19433984204655 | erot = 2.73619296832811 | epot = -18.2130704679535 | etot = -13.2825376575789 -610000 ekin = 2.1456873411568 | erot = 2.79546287797992 | epot = -18.2236878766662 | etot = -13.2825376575294 -611000 ekin = 2.10106577311586 | erot = 2.86594569746529 | epot = -18.2495491281048 | etot = -13.2825376575236 -612000 ekin = 2.0611756976334 | erot = 2.94698805374731 | epot = -18.2907014089446 | etot = -13.2825376575639 -613000 ekin = 2.02671979093704 | erot = 3.03724338411882 | epot = -18.3465008327059 | etot = -13.28253765765 -614000 ekin = 1.99840061160153 | erot = 3.13468327208674 | epot = -18.4156215414674 | etot = -13.2825376577792 -615000 ekin = 1.97691265350056 | erot = 3.2366575694735 | epot = -18.496107880919 | etot = -13.282537657945 -616000 ekin = 1.96292427457188 | erot = 3.34000833576675 | epot = -18.5854702684777 | etot = -13.2825376581391 -617000 ekin = 1.95704706954883 | erot = 3.44123904148788 | epot = -18.6808237693867 | etot = -13.28253765835 -618000 ekin = 1.959794260624 | erot = 3.53673433570158 | epot = -18.7790662548898 | etot = -13.2825376585642 -619000 ekin = 1.9715343673676 | erot = 3.62301686059804 | epot = -18.8770888867321 | etot = -13.2825376587665 -620000 ekin = 1.99244950084197 | erot = 3.69701656992999 | epot = -18.972003729714 | etot = -13.2825376589421 -621000 ekin = 2.02250680812395 | erot = 3.75631711882003 | epot = -19.0613615860228 | etot = -13.2825376590788 -622000 ekin = 2.06144629221926 | erot = 3.79933797526636 | epot = -19.1433219266566 | etot = -13.2825376591709 -623000 ekin = 2.10878075941396 | erot = 3.8254151393852 | epot = -19.2167335580189 | etot = -13.2825376592197 -624000 ekin = 2.16379839199852 | erot = 3.83475982185834 | epot = -19.2810958730921 | etot = -13.2825376592353 -625000 ekin = 2.22555932783782 | erot = 3.82830035124808 | epot = -19.3363973383196 | etot = -13.2825376592337 -626000 ekin = 2.29288544261924 | erot = 3.8074411034664 | epot = -19.3828642053187 | etot = -13.2825376592331 -627000 ekin = 2.36435394306741 | erot = 3.77379464740524 | epot = -19.4206862497203 | etot = -13.2825376592476 -628000 ekin = 2.4383143267512 | erot = 3.72895154256394 | epot = -19.4498035285972 | etot = -13.2825376592821 -629000 ekin = 2.51294897945051 | erot = 3.67434156157469 | epot = -19.4698282003552 | etot = -13.28253765933 -630000 ekin = 2.58638771765393 | erot = 3.61121141783299 | epot = -19.4801367948617 | etot = -13.2825376593748 -631000 ekin = 2.65686759984471 | erot = 3.54070434321331 | epot = -19.4801096088491 | etot = -13.2825376657911 -632000 ekin = 2.7229119026317 | erot = 3.46399577716167 | epot = -19.4694453501616 | etot = -13.2825376703683 -633000 ekin = 2.78348672610773 | erot = 3.38241264799394 | epot = -19.4484370443956 | etot = -13.2825376702939 -634000 ekin = 2.83810143013093 | erot = 3.29749507667659 | epot = -19.4181341769767 | etot = -13.2825376701692 -635000 ekin = 2.88683118401642 | erot = 3.21096793801023 | epot = -19.3803367920312 | etot = -13.2825376700046 -636000 ekin = 2.93026618629758 | erot = 3.12465298496329 | epot = -19.3374568410755 | etot = -13.2825376698146 -637000 ekin = 2.96941056884663 | erot = 3.04036924656817 | epot = -19.2923174850264 | etot = -13.2825376696116 -638000 ekin = 3.0055616969203 | erot = 2.95987410217464 | epot = -19.2479734684973 | etot = -13.2825376694023 -639000 ekin = 3.04019340863902 | erot = 2.88486846877173 | epot = -19.2075995465998 | etot = -13.282537669189 -640000 ekin = 3.07485121522857 | erot = 2.81704601028329 | epot = -19.1744348944859 | etot = -13.282537668974 -641000 ekin = 3.11105408027351 | erot = 2.75813097964004 | epot = -19.1517227286789 | etot = -13.2825376687654 -642000 ekin = 3.15019312326614 | erot = 2.70984405485486 | epot = -19.1425748467004 | etot = -13.2825376685794 -643000 ekin = 3.19342381263007 | erot = 2.6737639947772 | epot = -19.1497254758466 | etot = -13.2825376684393 -644000 ekin = 3.24155882074965 | erot = 2.65109893593392 | epot = -19.1751954250542 | etot = -13.2825376683706 -645000 ekin = 3.29497575522052 | erot = 2.64241916696972 | epot = -19.2199325905852 | etot = -13.282537668395 -646000 ekin = 3.35355393406662 | erot = 2.6474169032197 | epot = -19.2835085058124 | etot = -13.2825376685261 -647000 ekin = 3.41664956860753 | erot = 2.66474995394781 | epot = -19.3639371913219 | etot = -13.2825376687666 -648000 ekin = 3.48311410605676 | erot = 2.69200913896285 | epot = -19.4576609141254 | etot = -13.2825376691058 -649000 ekin = 3.55135925694157 | erot = 2.72583530733012 | epot = -19.5597322337903 | etot = -13.2825376695186 -650000 ekin = 3.61947301797256 | erot = 2.76220049491302 | epot = -19.66421118285 | etot = -13.2825376699645 -651000 ekin = 3.68538880274599 | erot = 2.7968481634757 | epot = -19.7647746366125 | etot = -13.2825376703908 -652000 ekin = 3.74709908730764 | erot = 2.82584894414338 | epot = -19.8554857021924 | etot = -13.2825376707414 -653000 ekin = 3.80288488877765 | erot = 2.84617490646512 | epot = -19.9315974662116 | etot = -13.2825376709688 -654000 ekin = 3.85151192348354 | erot = 2.8561531933117 | epot = -19.990202787845 | etot = -13.2825376710498 -655000 ekin = 3.89233743676938 | erot = 2.8556624036667 | epot = -20.0305375114281 | etot = -13.282537670992 -656000 ekin = 3.92529306043646 | erot = 2.84600373605527 | epot = -20.0538344673234 | etot = -13.2825376708317 -657000 ekin = 3.95074924371718 | erot = 2.82948452039907 | epot = -20.0627714347384 | etot = -13.2825376706221 -658000 ekin = 3.96930448524318 | erot = 2.8088410501164 | epot = -20.0606832057771 | etot = -13.2825376704176 -659000 ekin = 3.98156254977942 | erot = 2.78666073058104 | epot = -20.0507609506214 | etot = -13.282537670261 -660000 ekin = 3.98794995383628 | erot = 2.76493225942287 | epot = -20.0354198834365 | etot = -13.2825376701774 -661000 ekin = 3.98860416115366 | erot = 2.74479055428754 | epot = -20.015932385614 | etot = -13.2825376701728 -662000 ekin = 3.9833373621284 | erot = 2.72646306735558 | epot = -19.9923380997221 | etot = -13.2825376702381 -663000 ekin = 3.97166196864596 | erot = 2.70938404532092 | epot = -19.963583684321 | etot = -13.2825376703541 -664000 ekin = 3.95286211460538 | erot = 2.69242500163181 | epot = -19.9278247867315 | etot = -13.2825376704943 -665000 ekin = 3.92609780976883 | erot = 2.67418491171738 | epot = -19.8828203921176 | etot = -13.2825376706314 -666000 ekin = 3.89053574203668 | erot = 2.65328635574204 | epot = -19.8263597685171 | etot = -13.2825376707384 -667000 ekin = 3.8455051846995 | erot = 2.62863029044565 | epot = -19.7566731459372 | etot = -13.2825376707921 -668000 ekin = 3.79067534881142 | erot = 2.59957256262293 | epot = -19.6727855822096 | etot = -13.2825376707752 -669000 ekin = 3.7262419486302 | erot = 2.56600183381255 | epot = -19.5747814531206 | etot = -13.2825376706778 -670000 ekin = 3.65309967706656 | erot = 2.52832169427138 | epot = -19.4639590418358 | etot = -13.2825376704979 -671000 ekin = 3.57296811019995 | erot = 2.48736383191386 | epot = -19.342869612354 | etot = -13.2825376702402 -672000 ekin = 3.48843263532053 | erot = 2.44427271264383 | epot = -19.2152430178819 | etot = -13.2825376699176 -673000 ekin = 3.40286035230263 | erot = 2.40039617767022 | epot = -19.0857941995252 | etot = -13.2825376695524 -674000 ekin = 3.32015657281286 | erot = 2.35719425457146 | epot = -18.9598884965615 | etot = -13.2825376691772 -675000 ekin = 3.24436019808318 | erot = 2.3161584141183 | epot = -18.8430562810336 | etot = -13.2825376688321 -676000 ekin = 3.17913583606218 | erot = 2.27873161512007 | epot = -18.7404051197388 | etot = -13.2825376685566 -677000 ekin = 3.12743284478882 | erot = 2.24616920609518 | epot = -18.656139719201 | etot = -13.282537668317 -678000 ekin = 3.09116321203348 | erot = 2.21938913067101 | epot = -18.5930900109803 | etot = -13.2825376682758 -679000 ekin = 3.06996492216854 | erot = 2.19955802308236 | epot = -18.5520606135364 | etot = -13.2825376682855 -680000 ekin = 3.06282540104525 | erot = 2.1876705770889 | epot = -18.5330336464577 | etot = -13.2825376683235 -681000 ekin = 3.06856941757744 | erot = 2.18446333304044 | epot = -18.5355704189915 | etot = -13.2825376683736 -682000 ekin = 3.08614503867108 | erot = 2.19031007374487 | epot = -18.558992780881 | etot = -13.282537668465 -683000 ekin = 3.11401676516072 | erot = 2.20483123960418 | epot = -18.6013856734434 | etot = -13.2825376686785 -684000 ekin = 3.14994970495273 | erot = 2.22703766522701 | epot = -18.6595250391531 | etot = -13.2825376689733 -685000 ekin = 3.19138817293996 | erot = 2.25525783712498 | epot = -18.7291836793918 | etot = -13.2825376693269 -686000 ekin = 3.23553597362021 | erot = 2.28721755219637 | epot = -18.8052911955215 | etot = -13.2825376697049 -687000 ekin = 3.27958856788279 | erot = 2.32030038563253 | epot = -18.8824266235811 | etot = -13.2825376700658 -688000 ekin = 3.32103493723499 | erot = 2.35186996598162 | epot = -18.9554425735786 | etot = -13.282537670362 -689000 ekin = 3.35799818037969 | erot = 2.37963585731743 | epot = -19.0201717082469 | etot = -13.2825376705498 -690000 ekin = 3.38953188175939 | erot = 2.40199807237719 | epot = -19.0740676247395 | etot = -13.2825376706029 -691000 ekin = 3.4157714469421 | erot = 2.41828305274825 | epot = -19.1165921702108 | etot = -13.2825376705204 -692000 ekin = 3.43789562335505 | erot = 2.42879295704677 | epot = -19.1492262507342 | etot = -13.2825376703324 -693000 ekin = 3.45784949823239 | erot = 2.43469159317282 | epot = -19.1750787614881 | etot = -13.2825376700829 -694000 ekin = 3.47795427967203 | erot = 2.43774070867895 | epot = -19.1982326581721 | etot = -13.2825376698211 -695000 ekin = 3.50053093039304 | erot = 2.4399713160839 | epot = -19.2230399160612 | etot = -13.2825376695842 -696000 ekin = 3.52761050730482 | erot = 2.44340337549077 | epot = -19.2535515521878 | etot = -13.2825376693922 -697000 ekin = 3.56079077323185 | erot = 2.44986396553548 | epot = -19.2931924080162 | etot = -13.2825376692489 -698000 ekin = 3.60121696147781 | erot = 2.46089758485735 | epot = -19.344652215487 | etot = -13.2825376691518 -699000 ekin = 3.64961213279439 | erot = 2.47770733426397 | epot = -19.4098571361632 | etot = -13.2825376691048 -700000 ekin = 3.70626748084738 | erot = 2.50104915956855 | epot = -19.4898543095423 | etot = -13.2825376691264 -701000 ekin = 3.77093513696172 | erot = 2.53103621287676 | epot = -19.5845090190851 | etot = -13.2825376692466 -702000 ekin = 3.84262768940316 | erot = 2.56687733849248 | epot = -19.692042697393 | etot = -13.2825376694974 -703000 ekin = 3.91940034762487 | erot = 2.606641106386 | epot = -19.8085791239058 | etot = -13.2825376698949 -704000 ekin = 3.99823585473084 | erot = 2.64716826818578 | epot = -19.9279417933416 | etot = -13.282537670425 -705000 ekin = 4.07514464413388 | erot = 2.68423896185882 | epot = -20.0419212770262 | etot = -13.2825376710335 -706000 ekin = 4.14554203036204 | erot = 2.71304391275063 | epot = -20.1411236147438 | etot = -13.2825376716311 -707000 ekin = 4.20487575193296 | erot = 2.72892533730943 | epot = -20.2163387613507 | etot = -13.2825376721083 -708000 ekin = 4.24938283126103 | erot = 2.72825870748057 | epot = -20.2601792111048 | etot = -13.2825376723632 -709000 ekin = 4.27678612884219 | erot = 2.70926619646602 | epot = -20.2685899976397 | etot = -13.2825376723315 -710000 ekin = 4.28673081640694 | erot = 2.67252621891708 | epot = -20.2417947073323 | etot = -13.2825376720083 -711000 ekin = 4.28082322621957 | erot = 2.62101051796723 | epot = -20.1843714156378 | etot = -13.282537671451 -712000 ekin = 4.26225868778 | erot = 2.55962600084258 | epot = -20.1044223593835 | etot = -13.2825376707609 -713000 ekin = 4.23515498223018 | erot = 2.4944028055444 | epot = -20.0120954578277 | etot = -13.2825376700531 -714000 ekin = 4.20378550521692 | erot = 2.43156567584085 | epot = -19.917888850485 | etot = -13.2825376694272 -715000 ekin = 4.17190188733734 | erot = 2.37671476691363 | epot = -19.8311543232015 | etot = -13.2825376689505 -716000 ekin = 4.14226649349206 | erot = 2.3342523697806 | epot = -19.7590565319274 | etot = -13.2825376686548 -717000 ekin = 4.11642945244376 | erot = 2.30708700175745 | epot = -19.7060541227433 | etot = -13.2825376685421 -718000 ekin = 4.09471959165695 | erot = 2.29657561670706 | epot = -19.6738328769572 | etot = -13.2825376685932 -719000 ekin = 4.07639008592127 | erot = 2.30263774999632 | epot = -19.6615655046944 | etot = -13.2825376687768 -720000 ekin = 4.05985922916209 | erot = 2.32397934765001 | epot = -19.6663762458682 | etot = -13.2825376690561 -721000 ekin = 4.04299880693399 | erot = 2.35837721353457 | epot = -19.6839136898589 | etot = -13.2825376693903 -722000 ekin = 4.02343688315899 | erot = 2.40299878610026 | epot = -19.7089733390021 | etot = -13.2825376697429 -723000 ekin = 3.99884065343804 | erot = 2.45471133767568 | epot = -19.7360896611936 | etot = -13.2825376700799 -724000 ekin = 3.96717167902019 | erot = 2.51036796126357 | epot = -19.7600773106559 | etot = -13.2825376703722 -725000 ekin = 3.92690441967021 | erot = 2.56705586836307 | epot = -19.776497958628 | etot = -13.2825376705947 -726000 ekin = 3.877296379763 | erot = 2.62227216901836 | epot = -19.7821062194432 | etot = -13.2825376706619 -727000 ekin = 3.81909687723751 | erot = 2.67389404657874 | epot = -19.7755285945101 | etot = -13.2825376706939 -728000 ekin = 3.75316507804808 | erot = 2.7209643611948 | epot = -19.7566671098371 | etot = -13.2825376705942 -729000 ekin = 3.68121241124831 | erot = 2.76353487071471 | epot = -19.7272849523308 | etot = -13.2825376703678 -730000 ekin = 3.6059508327336 | erot = 2.8025565644494 | epot = -19.6910450672226 | etot = -13.2825376700396 -731000 ekin = 3.5308358576752 | erot = 2.83972569859104 | epot = -19.653099225923 | etot = -13.2825376696568 -732000 ekin = 3.45966885133483 | erot = 2.87715368835431 | epot = -19.6193602089727 | etot = -13.2825376692835 -733000 ekin = 3.39612153666129 | erot = 2.91688280104535 | epot = -19.5955420066942 | etot = -13.2825376689875 -734000 ekin = 3.34327992468391 | erot = 2.96033658921789 | epot = -19.586154182727 | etot = -13.2825376688252 -735000 ekin = 3.30330112894221 | erot = 3.00783596110657 | epot = -19.5936747588771 | etot = -13.2825376688283 -736000 ekin = 3.27724072963153 | erot = 3.05831043253391 | epot = -19.6180888311626 | etot = -13.2825376689972 -737000 ekin = 3.26506253896072 | erot = 3.10929392283094 | epot = -19.6568941310923 | etot = -13.2825376693006 -738000 ekin = 3.26580566526431 | erot = 3.15723003734709 | epot = -19.7055733722939 | etot = -13.2825376696825 -739000 ekin = 3.27786090585715 | erot = 3.19803615726732 | epot = -19.7584347331987 | etot = -13.2825376700742 -740000 ekin = 3.29929519802999 | erot = 3.22780296867075 | epot = -19.8096358371115 | etot = -13.2825376704108 -741000 ekin = 3.32815980265726 | erot = 3.24345768500962 | epot = -19.8541551583124 | etot = -13.2825376706455 -742000 ekin = 3.36272243968287 | erot = 3.2432241961257 | epot = -19.8884843065695 | etot = -13.282537670761 -743000 ekin = 3.40154954264288 | erot = 3.2265963503818 | epot = -19.910683563855 | etot = -13.2825376708303 -744000 ekin = 3.4435569016163 | erot = 3.19405338784973 | epot = -19.9201479602027 | etot = -13.2825376707366 -745000 ekin = 3.48810285816643 | erot = 3.1476343280298 | epot = -19.9182748567922 | etot = -13.2825376705959 -746000 ekin = 3.53467364483636 | erot = 3.09004249683477 | epot = -19.9072538121133 | etot = -13.2825376704422 -747000 ekin = 3.58273489719278 | erot = 3.02422947594395 | epot = -19.8895020434337 | etot = -13.282537670297 -748000 ekin = 3.63163431992382 | erot = 2.95313859311453 | epot = -19.8673105832095 | etot = -13.2825376701711 -749000 ekin = 3.68055410772631 | erot = 2.87956450536645 | epot = -19.8426562831615 | etot = -13.2825376700687 -750000 ekin = 3.72850264878195 | erot = 2.80607481970415 | epot = -19.8171151384803 | etot = -13.2825376699942 -751000 ekin = 3.77431992735756 | erot = 2.73492674317463 | epot = -19.7917843404902 | etot = -13.282537669958 -752000 ekin = 3.81667135032455 | erot = 2.66792933662917 | epot = -19.7671383569314 | etot = -13.2825376699777 -753000 ekin = 3.85401538818405 | erot = 2.60623951614805 | epot = -19.7427925744073 | etot = -13.2825376700752 -754000 ekin = 3.88455267934827 | erot = 2.55013273026535 | epot = -19.7172230798809 | etot = -13.2825376702673 -755000 ekin = 3.90620090059213 | erot = 2.49884999016387 | epot = -19.6875885613037 | etot = -13.2825376705477 -756000 ekin = 3.91710462659181 | erot = 2.45069600001941 | epot = -19.6503382971558 | etot = -13.2825376705446 -757000 ekin = 3.9172579202584 | erot = 2.40369183428787 | epot = -19.6034874252701 | etot = -13.2825376707238 -758000 ekin = 3.9062285486505 | erot = 2.35617894285691 | epot = -19.5449451622691 | etot = -13.2825376707616 -759000 ekin = 3.88450313649663 | erot = 2.30751185300537 | epot = -19.4745526600901 | etot = -13.2825376705881 -760000 ekin = 3.85399004377755 | erot = 2.25863561783757 | epot = -19.395163331816 | etot = -13.2825376702009 -761000 ekin = 3.81799666982571 | erot = 2.21208980046811 | epot = -19.3126241399681 | etot = -13.2825376696743 -762000 ekin = 3.78022631319321 | erot = 2.17128933430875 | epot = -19.2340533167241 | etot = -13.2825376692221 -763000 ekin = 3.7366180252016 | erot = 2.13809664147806 | epot = -19.1572523356113 | etot = -13.2825376689316 -764000 ekin = 3.68660767297656 | erot = 2.11458113784664 | epot = -19.0837264795493 | etot = -13.2825376687261 -765000 ekin = 3.63152213040596 | erot = 2.10258243850173 | epot = -19.0166422375194 | etot = -13.2825376686117 -766000 ekin = 3.57217194872735 | erot = 2.1031936475929 | epot = -18.9579032648434 | etot = -13.2825376685232 -767000 ekin = 3.50915043230658 | erot = 2.11696161070578 | epot = -18.9086497115305 | etot = -13.2825376685181 -768000 ekin = 3.44287730030143 | erot = 2.14384189418983 | epot = -18.8692568629862 | etot = -13.282537668495 -769000 ekin = 3.37407811668166 | erot = 2.18352203430368 | epot = -18.8401378194328 | etot = -13.2825376684474 -770000 ekin = 3.30402691102912 | erot = 2.23544699328996 | epot = -18.8220115727027 | etot = -13.2825376683836 -771000 ekin = 3.23454927904009 | erot = 2.29870117920768 | epot = -18.8157881266211 | etot = -13.2825376683733 -772000 ekin = 3.16778213081539 | erot = 2.37165603567085 | epot = -18.8219758348638 | etot = -13.2825376683776 -773000 ekin = 3.10585178825157 | erot = 2.45189360020701 | epot = -18.8402830568753 | etot = -13.2825376684167 -774000 ekin = 3.05132445362867 | erot = 2.53742495789882 | epot = -18.871287079784 | etot = -13.2825376682565 -775000 ekin = 3.00630147843413 | erot = 2.62609752201218 | epot = -18.9149366688656 | etot = -13.2825376684193 -776000 ekin = 2.97144443264239 | erot = 2.71477730985895 | epot = -18.9687594110712 | etot = -13.2825376685698 -777000 ekin = 2.94698171102012 | erot = 2.80100976983049 | epot = -19.0305291495212 | etot = -13.2825376686706 -778000 ekin = 2.93288277550831 | erot = 2.88339388730573 | epot = -19.098814331498 | etot = -13.282537668684 -779000 ekin = 2.92910730289328 | erot = 2.96183002798064 | epot = -19.1734749994681 | etot = -13.2825376685942 -780000 ekin = 2.93579388568063 | erot = 3.03750518021602 | epot = -19.2558367343219 | etot = -13.2825376684252 -781000 ekin = 2.95325630950229 | erot = 3.11251463627355 | epot = -19.3483086140145 | etot = -13.2825376682386 -782000 ekin = 2.98176618547997 | erot = 3.18917136100467 | epot = -19.453475214596 | etot = -13.2825376681113 -783000 ekin = 3.02122758220232 | erot = 3.26921648813326 | epot = -19.5729817384412 | etot = -13.2825376681056 -784000 ekin = 3.07089714795214 | erot = 3.35319620066784 | epot = -19.706631016868 | etot = -13.2825376682481 -785000 ekin = 3.12925653034025 | erot = 3.44018487512673 | epot = -19.8519790739953 | etot = -13.2825376685283 -786000 ekin = 3.19405797125446 | erot = 3.52788200321986 | epot = -20.0044776433832 | etot = -13.2825376689089 -787000 ekin = 3.26249776188221 | erot = 3.61297785906456 | epot = -20.1580132902899 | etot = -13.2825376693431 -788000 ekin = 3.33144967160237 | erot = 3.69161943951618 | epot = -20.3056067809067 | etot = -13.2825376697881 -789000 ekin = 3.3977055617303 | erot = 3.7598253120626 | epot = -20.4400685440047 | etot = -13.2825376702118 -790000 ekin = 3.45820395550971 | erot = 3.81377941396282 | epot = -20.5545210400606 | etot = -13.282537670588 -791000 ekin = 3.51015148124692 | erot = 3.85000835168307 | epot = -20.6426975044819 | etot = -13.2825376715519 -792000 ekin = 3.54776564943404 | erot = 3.86447708281896 | epot = -20.6947804042004 | etot = -13.2825376719474 -793000 ekin = 3.56673386234454 | erot = 3.85375177260368 | epot = -20.7030233071259 | etot = -13.2825376721777 -794000 ekin = 3.56535433495117 | erot = 3.8159958528987 | epot = -20.6638878600464 | etot = -13.2825376721966 -795000 ekin = 3.5433642377304 | erot = 3.75111846557778 | epot = -20.5770203752941 | etot = -13.2825376719859 -796000 ekin = 3.50191265631727 | erot = 3.66102926484438 | epot = -20.4454795927271 | etot = -13.2825376715655 -797000 ekin = 3.44331621140757 | erot = 3.54957138818473 | epot = -20.2754252705807 | etot = -13.2825376709884 -798000 ekin = 3.37066053438385 | erot = 3.42213246910246 | epot = -20.0753306738125 | etot = -13.2825376703262 -799000 ekin = 3.28735656783115 | erot = 3.28504268659738 | epot = -19.854936924078 | etot = -13.2825376696495 -800000 ekin = 3.19676141014365 | erot = 3.14491706729739 | epot = -19.6242161464546 | etot = -13.2825376690136 -801000 ekin = 3.1019338834663 | erot = 3.00807795311394 | epot = -19.3925495050332 | etot = -13.282537668453 -802000 ekin = 3.00553736754957 | erot = 2.88012979878413 | epot = -19.1682048343172 | etot = -13.2825376679835 -803000 ekin = 2.90985246624439 | erot = 2.76569078056438 | epot = -18.9580809144186 | etot = -13.2825376676099 -804000 ekin = 2.81683808713677 | erot = 2.66824302179126 | epot = -18.7676187762615 | etot = -13.2825376673335 -805000 ekin = 2.72818412044707 | erot = 2.59005510941686 | epot = -18.6007768970192 | etot = -13.2825376671552 -806000 ekin = 2.64532439255026 | erot = 2.53214862203847 | epot = -18.4600106816661 | etot = -13.2825376670774 -807000 ekin = 2.56941186666319 | erot = 2.49430692057274 | epot = -18.3462564543342 | etot = -13.2825376670982 -808000 ekin = 2.50128142888609 | erot = 2.47514940737337 | epot = -18.2589685034691 | etot = -13.2825376672096 -809000 ekin = 2.44144236795178 | erot = 2.47230913362798 | epot = -18.1962891689485 | etot = -13.2825376673687 -810000 ekin = 2.3901270834084 | erot = 2.48271406544476 | epot = -18.1553788164593 | etot = -13.2825376676061 -811000 ekin = 2.34728664736262 | erot = 2.50269653308012 | epot = -18.1325208483028 | etot = -13.2825376678601 -812000 ekin = 2.31275384401542 | erot = 2.52846132067668 | epot = -18.1237528327934 | etot = -13.2825376681013 -813000 ekin = 2.28637472346317 | erot = 2.55641958964496 | epot = -18.1253319814163 | etot = -13.2825376683081 -814000 ekin = 2.26809634302172 | erot = 2.58342175985524 | epot = -18.1340557713469 | etot = -13.2825376684699 -815000 ekin = 2.25799398108596 | erot = 2.60689379309751 | epot = -18.14742544277 | etot = -13.2825376685865 -816000 ekin = 2.25623692236831 | erot = 2.62489117861678 | epot = -18.1636657696475 | etot = -13.2825376686624 -817000 ekin = 2.26301448165039 | erot = 2.63611346240567 | epot = -18.1816656127584 | etot = -13.2825376687023 -818000 ekin = 2.27845464057391 | erot = 2.63992517487904 | epot = -18.2009174841599 | etot = -13.282537668707 -819000 ekin = 2.30255118255274 | erot = 2.63638076673618 | epot = -18.2214696180233 | etot = -13.2825376687344 -820000 ekin = 2.33498671690695 | erot = 2.62599567772565 | epot = -18.2435200633228 | etot = -13.2825376686902 -821000 ekin = 2.37528893738016 | erot = 2.61008048018772 | epot = -18.2679070861769 | etot = -13.282537668609 -822000 ekin = 2.42285081016729 | erot = 2.59073415646192 | epot = -18.2961226351262 | etot = -13.282537668497 -823000 ekin = 2.47691845696036 | erot = 2.57068820917611 | epot = -18.3301443345042 | etot = -13.2825376683677 -824000 ekin = 2.53658809763989 | erot = 2.55309938374537 | epot = -18.3722251496239 | etot = -13.2825376682387 -825000 ekin = 2.60079770131159 | erot = 2.54128433493742 | epot = -18.4246197043761 | etot = -13.2825376681271 -826000 ekin = 2.66832973198145 | erot = 2.53844971720025 | epot = -18.4893171172274 | etot = -13.2825376680457 -827000 ekin = 2.73783541426217 | erot = 2.54745860095133 | epot = -18.5678316832164 | etot = -13.2825376680029 -828000 ekin = 2.80787353741911 | erot = 2.57063837231064 | epot = -18.6610495777373 | etot = -13.2825376680075 -829000 ekin = 2.87694004141752 | erot = 2.60959914998359 | epot = -18.7690768594751 | etot = -13.282537668074 -830000 ekin = 2.94346318720061 | erot = 2.66502277157491 | epot = -18.8910236269993 | etot = -13.2825376682238 -831000 ekin = 3.00576095292576 | erot = 2.73641402737172 | epot = -19.024712648777 | etot = -13.2825376684795 -832000 ekin = 3.06199003539877 | erot = 2.82186650180169 | epot = -19.1663942060527 | etot = -13.2825376688522 -833000 ekin = 3.110148995619 | erot = 2.91795032491558 | epot = -19.3106369898627 | etot = -13.2825376693281 -834000 ekin = 3.1482044935896 | erot = 3.01984474732963 | epot = -19.4505869107779 | etot = -13.2825376698586 -835000 ekin = 3.17437957900523 | erot = 3.12179257978299 | epot = -19.5787098291524 | etot = -13.2825376703642 -836000 ekin = 3.18757195243324 | erot = 3.21784689829009 | epot = -19.6879565214765 | etot = -13.2825376707532 -837000 ekin = 3.18777327474487 | erot = 3.30274497123895 | epot = -19.7730559169407 | etot = -13.2825376709568 -838000 ekin = 3.17628521735482 | erot = 3.37264530226156 | epot = -19.8314681905769 | etot = -13.2825376709605 -839000 ekin = 3.15554655753644 | erot = 3.42547713956057 | epot = -19.8635613679131 | etot = -13.2825376708161 -840000 ekin = 3.12853906990003 | erot = 3.46080086775206 | epot = -19.8718776082709 | etot = -13.2825376706188 -841000 ekin = 3.09797460324615 | erot = 3.47929817821818 | epot = -19.8598104519234 | etot = -13.2825376704591 -842000 ekin = 3.06563312580165 | erot = 3.48217550738637 | epot = -19.8303463035648 | etot = -13.2825376703768 -843000 ekin = 3.03218078490834 | erot = 3.47078119393998 | epot = -19.7854996491911 | etot = -13.2825376703427 -844000 ekin = 2.99754824930944 | erot = 3.44659665122456 | epot = -19.7266825708132 | etot = -13.2825376702792 -845000 ekin = 2.96164676060981 | erot = 3.41154768665394 | epot = -19.6557321173685 | etot = -13.2825376701047 -846000 ekin = 2.92503739739786 | erot = 3.36840998775599 | epot = -19.5759850549297 | etot = -13.2825376697759 -847000 ekin = 2.88924342096714 | erot = 3.32104931095848 | epot = -19.4928304012251 | etot = -13.2825376692995 -848000 ekin = 2.8566499721658 | erot = 3.27432583403358 | epot = -19.4135134749444 | etot = -13.2825376687451 -849000 ekin = 2.83005143133688 | erot = 3.23330176451346 | epot = -19.345890864224 | etot = -13.2825376683736 -850000 ekin = 2.8120559738006 | erot = 3.20226229426142 | epot = -19.2968559356534 | etot = -13.2825376675913 -851000 ekin = 2.80444558745355 | erot = 3.18500981062576 | epot = -19.2719930659006 | etot = -13.2825376678213 -852000 ekin = 2.80546277462239 | erot = 3.18034603826089 | epot = -19.2683464810845 | etot = -13.2825376682013 -853000 ekin = 2.812441214848 | erot = 3.18510929964103 | epot = -19.280088183191 | etot = -13.282537668702 -854000 ekin = 2.82227167902831 | erot = 3.19468161890284 | epot = -19.2994909671701 | etot = -13.282537669239 -855000 ekin = 2.83221172622116 | erot = 3.20377851191435 | epot = -19.3185279077701 | etot = -13.2825376696346 -856000 ekin = 2.840300530071 | erot = 3.20718605729409 | epot = -19.3300242573945 | etot = -13.2825376700294 -857000 ekin = 2.84404786962661 | erot = 3.20080956079347 | epot = -19.3273951006411 | etot = -13.282537670221 -858000 ekin = 2.84179014641021 | erot = 3.18249842090011 | epot = -19.3068262375301 | etot = -13.2825376702198 -859000 ekin = 2.83276149965023 | erot = 3.15199731414756 | epot = -19.2672964838693 | etot = -13.2825376700715 -860000 ekin = 2.81700723540486 | erot = 3.11046780830085 | epot = -19.2100127135333 | etot = -13.2825376698276 -861000 ekin = 2.79529073709182 | erot = 3.05989039483855 | epot = -19.1377188014554 | etot = -13.282537669525 -862000 ekin = 2.76903178122151 | erot = 3.00259641980569 | epot = -19.0541658702098 | etot = -13.2825376691826 -863000 ekin = 2.74026019036715 | erot = 2.94102587737081 | epot = -18.963823736545 | etot = -13.2825376688071 -864000 ekin = 2.71154390224074 | erot = 2.87766995664925 | epot = -18.8717515272941 | etot = -13.2825376684041 -865000 ekin = 2.68585679375552 | erot = 2.81509451397853 | epot = -18.7834889757203 | etot = -13.2825376679863 -866000 ekin = 2.66591731933855 | erot = 2.75755671058339 | epot = -18.7060116974738 | etot = -13.2825376675519 -867000 ekin = 2.65369684329544 | erot = 2.7083623798959 | epot = -18.6445968906238 | etot = -13.2825376674325 -868000 ekin = 2.65132555301973 | erot = 2.66699243377824 | epot = -18.6008556541371 | etot = -13.2825376673391 -869000 ekin = 2.66041858384405 | erot = 2.63308802762824 | epot = -18.5760442787927 | etot = -13.2825376673204 -870000 ekin = 2.68169704364212 | erot = 2.60613905014957 | epot = -18.5703737612166 | etot = -13.2825376674249 -871000 ekin = 2.714675381147 | erot = 2.58511614863126 | epot = -18.5823291974597 | etot = -13.2825376676815 -872000 ekin = 2.75720487538646 | erot = 2.56766485203678 | epot = -18.6074073957568 | etot = -13.2825376683336 -873000 ekin = 2.803086198203 | erot = 2.54585820174232 | epot = -18.6314820689118 | etot = -13.2825376689665 -874000 ekin = 2.84699852608312 | erot = 2.51460161594881 | epot = -18.6441378114779 | etot = -13.282537669446 -875000 ekin = 2.88482415058241 | erot = 2.47158418781059 | epot = -18.6389460079955 | etot = -13.2825376696025 -876000 ekin = 2.91408523336093 | erot = 2.41771772911331 | epot = -18.6143406317811 | etot = -13.2825376693068 -877000 ekin = 2.93423099085002 | erot = 2.35825815691149 | epot = -18.5750268164393 | etot = -13.2825376686778 -878000 ekin = 2.9475340562781 | erot = 2.30086645375619 | epot = -18.5309381778309 | etot = -13.2825376677966 -879000 ekin = 2.95817730736049 | erot = 2.25490663308305 | epot = -18.4956216073008 | etot = -13.2825376668573 -880000 ekin = 2.97089825195544 | erot = 2.22983196329486 | epot = -18.4832678815106 | etot = -13.2825376662603 -881000 ekin = 2.98893595228507 | erot = 2.2333347502509 | epot = -18.504808368297 | etot = -13.282537665761 -882000 ekin = 3.01519221963423 | erot = 2.27015029167503 | epot = -18.567880176909 | etot = -13.2825376655997 -883000 ekin = 3.050977470883 | erot = 2.3416684229247 | epot = -18.6751835596182 | etot = -13.2825376658105 -884000 ekin = 3.0943568254625 | erot = 2.4464864171533 | epot = -18.8233809089841 | etot = -13.2825376663683 -885000 ekin = 3.14183207195904 | erot = 2.57965576029431 | epot = -19.0040254994221 | etot = -13.2825376671687 -886000 ekin = 3.18914822789967 | erot = 2.73331108133882 | epot = -19.2049969773566 | etot = -13.2825376681181 -887000 ekin = 3.23157512360419 | erot = 2.89766014760895 | epot = -19.4117729403353 | etot = -13.2825376691222 -888000 ekin = 3.26456551809744 | erot = 3.061776633054 | epot = -19.6088798212464 | etot = -13.282537670095 -889000 ekin = 3.28428902019584 | erot = 3.21442460415165 | epot = -19.7812512953062 | etot = -13.2825376709587 -890000 ekin = 3.2880122327761 | erot = 3.34493087267995 | epot = -19.9154807770949 | etot = -13.2825376716389 -891000 ekin = 3.27434561774921 | erot = 3.44412613410496 | epot = -20.0010094239182 | etot = -13.282537672064 -892000 ekin = 3.24338163760107 | erot = 3.50530517060629 | epot = -20.0312244803861 | etot = -13.2825376721787 -893000 ekin = 3.19671556304815 | erot = 3.52503469849065 | epot = -20.0042879335016 | etot = -13.2825376719628 -894000 ekin = 3.13731299174224 | erot = 3.50356986371644 | epot = -19.9234205269042 | etot = -13.2825376714456 -895000 ekin = 3.06920917356845 | erot = 3.44471943345056 | epot = -19.7964662777175 | etot = -13.2825376706985 -896000 ekin = 2.99708420339467 | erot = 3.35519757225323 | epot = -19.6348194454631 | etot = -13.2825376698152 -897000 ekin = 2.92580051783905 | erot = 3.24367712658266 | epot = -19.4520153133086 | etot = -13.2825376688869 -898000 ekin = 2.85975229197938 | erot = 3.12035510150211 | epot = -19.2626450613858 | etot = -13.2825376679043 -899000 ekin = 2.80277954780206 | erot = 2.99561467370083 | epot = -19.080931888693 | etot = -13.2825376671901 -900000 ekin = 2.75771035422124 | erot = 2.87733650110699 | epot = -18.9175845220101 | etot = -13.2825376666818 -901000 ekin = 2.72580329203606 | erot = 2.77189091312759 | epot = -18.7802318714396 | etot = -13.282537666276 -902000 ekin = 2.70770279133312 | erot = 2.68464861430094 | epot = -18.6748890716256 | etot = -13.2825376659915 -903000 ekin = 2.70344494055935 | erot = 2.61971222757332 | epot = -18.6056948339768 | etot = -13.2825376658441 -904000 ekin = 2.71249184745662 | erot = 2.57966599078369 | epot = -18.5746955043654 | etot = -13.282537666125 -905000 ekin = 2.73259472267538 | erot = 2.56420422221153 | epot = -18.5793366115826 | etot = -13.2825376666957 -906000 ekin = 2.7587438798969 | erot = 2.57016719355457 | epot = -18.6114487407342 | etot = -13.2825376672827 -907000 ekin = 2.78650456171834 | erot = 2.59279042980544 | epot = -18.6618326594225 | etot = -13.2825376678987 -908000 ekin = 2.81181709571449 | erot = 2.62665482043733 | epot = -18.7210095845851 | etot = -13.2825376684333 -909000 ekin = 2.83143463248052 | erot = 2.66677850527315 | epot = -18.7807508065458 | etot = -13.2825376687921 -910000 ekin = 2.84337824047693 | erot = 2.70952965399883 | epot = -18.8354455634031 | etot = -13.2825376689274 -911000 ekin = 2.8471370687053 | erot = 2.75311048607181 | epot = -18.8827852236336 | etot = -13.2825376688565 -912000 ekin = 2.84353295186199 | erot = 2.79744224266107 | epot = -18.9235128631783 | etot = -13.2825376686553 -913000 ekin = 2.83428813317848 | erot = 2.8435092291879 | epot = -18.960335030794 | etot = -13.2825376684276 -914000 ekin = 2.82145638452692 | erot = 2.89244132990744 | epot = -18.9964353826995 | etot = -13.2825376682651 -915000 ekin = 2.80692071975216 | erot = 2.94469332949274 | epot = -19.0341517174625 | etot = -13.2825376682176 -916000 ekin = 2.79210576380763 | erot = 2.99958827392467 | epot = -19.074231706018 | etot = -13.2825376682857 -917000 ekin = 2.77794567113789 | erot = 3.05530679534728 | epot = -19.1157901349159 | etot = -13.2825376684308 -918000 ekin = 2.76505338704383 | erot = 3.10923861037682 | epot = -19.1568296660157 | etot = -13.282537668595 -919000 ekin = 2.75398705152147 | erot = 3.15852296699156 | epot = -19.195047687236 | etot = -13.282537668723 -920000 ekin = 2.7454994548339 | erot = 3.2005917707977 | epot = -19.2286288944091 | etot = -13.2825376687775 -921000 ekin = 2.74117522185331 | erot = 3.23390288539821 | epot = -19.257615776068 | etot = -13.2825376688165 -922000 ekin = 2.74423942349208 | erot = 3.25833644681568 | epot = -19.2851135392148 | etot = -13.282537668907 -923000 ekin = 2.75519506145705 | erot = 3.27241102947033 | epot = -19.3101437598841 | etot = -13.2825376689567 -924000 ekin = 2.7739447954554 | erot = 3.27524658464716 | epot = -19.3317290491124 | etot = -13.2825376690098 -925000 ekin = 2.79984975930912 | erot = 3.26648541912473 | epot = -19.3488728475327 | etot = -13.2825376690988 -926000 ekin = 2.83154188646909 | erot = 3.24600163470344 | epot = -19.3600811904065 | etot = -13.282537669234 -927000 ekin = 2.86690921927924 | erot = 3.21375665515251 | epot = -19.3632035438309 | etot = -13.2825376693992 -928000 ekin = 2.90327996746315 | erot = 3.16982824225361 | epot = -19.355645879275 | etot = -13.2825376695582 -929000 ekin = 2.93775285768297 | erot = 3.11459709937969 | epot = -19.3348876267298 | etot = -13.2825376696671 -930000 ekin = 2.96759841379162 | erot = 3.04898886674992 | epot = -19.2991249502297 | etot = -13.2825376696882 -931000 ekin = 2.99062544127955 | erot = 2.97467062306529 | epot = -19.2478337339459 | etot = -13.2825376696011 -932000 ekin = 3.00543704340314 | erot = 2.89412065066031 | epot = -19.1820953634703 | etot = -13.2825376694069 -933000 ekin = 3.01154336745331 | erot = 2.81054368701041 | epot = -19.1046247235875 | etot = -13.2825376691237 -934000 ekin = 3.00929679360139 | erot = 2.72759799680406 | epot = -19.0194324597362 | etot = -13.2825376693307 -935000 ekin = 2.99746134196625 | erot = 2.6462580748832 | epot = -18.9262570860315 | etot = -13.282537669182 -936000 ekin = 2.97526415103787 | erot = 2.56749092791625 | epot = -18.8252927479484 | etot = -13.2825376689942 -937000 ekin = 2.94352512534142 | erot = 2.49335517907333 | epot = -18.7194179731942 | etot = -13.2825376687795 -938000 ekin = 2.90367826460953 | erot = 2.42575018416443 | epot = -18.6119661173247 | etot = -13.2825376685508 -939000 ekin = 2.85762227332947 | erot = 2.36633148508484 | epot = -18.5064914267463 | etot = -13.282537668332 -940000 ekin = 2.80750328433938 | erot = 2.31642989471101 | epot = -18.4064708471881 | etot = -13.2825376681377 -941000 ekin = 2.75550936315199 | erot = 2.27698712574217 | epot = -18.3150341568762 | etot = -13.282537667982 -942000 ekin = 2.70367879381712 | erot = 2.24846537191208 | epot = -18.2346818336126 | etot = -13.2825376678834 -943000 ekin = 2.65376367606827 | erot = 2.23082283410801 | epot = -18.1671241780099 | etot = -13.2825376678336 -944000 ekin = 2.60720594190486 | erot = 2.22360475791271 | epot = -18.1133483676354 | etot = -13.2825376678178 -945000 ekin = 2.56519856453037 | erot = 2.22610144827738 | epot = -18.0738376806168 | etot = -13.282537667809 -946000 ekin = 2.52882759913744 | erot = 2.23758213189974 | epot = -18.0489473988157 | etot = -13.2825376677785 -947000 ekin = 2.49923315497847 | erot = 2.25754573394355 | epot = -18.0393165566274 | etot = -13.2825376677054 -948000 ekin = 2.47771007490038 | erot = 2.28590689257171 | epot = -18.04615463506 | etot = -13.2825376675879 -949000 ekin = 2.46568539864087 | erot = 2.32304174073513 | epot = -18.0712648068282 | etot = -13.2825376674522 -950000 ekin = 2.46454516557792 | erot = 2.36959060782326 | epot = -18.1166734407329 | etot = -13.2825376673317 -951000 ekin = 2.47533994997988 | erot = 2.42623129981836 | epot = -18.1841089170701 | etot = -13.2825376672718 -952000 ekin = 2.49848236352815 | erot = 2.49338196896345 | epot = -18.2744019998023 | etot = -13.2825376673107 -953000 ekin = 2.53348398193916 | erot = 2.57089243328743 | epot = -18.3869140826966 | etot = -13.28253766747 -954000 ekin = 2.57882587532342 | erot = 2.65786416805845 | epot = -18.519227711132 | etot = -13.2825376677502 -955000 ekin = 2.63199527599012 | erot = 2.75261052013185 | epot = -18.6671434642546 | etot = -13.2825376681326 -956000 ekin = 2.68967924815822 | erot = 2.85274255005244 | epot = -18.8249594667971 | etot = -13.2825376685864 -957000 ekin = 2.74806771946834 | erot = 2.95533472441412 | epot = -18.9859401129583 | etot = -13.2825376690759 -958000 ekin = 2.8031986668001 | erot = 3.05711581061144 | epot = -19.1428521469807 | etot = -13.2825376695691 -959000 ekin = 2.85127801275525 | erot = 3.15464148732907 | epot = -19.2884571701257 | etot = -13.2825376700414 -960000 ekin = 2.88892608818491 | erot = 3.24442918289745 | epot = -19.4158929415587 | etot = -13.2825376704763 -961000 ekin = 2.91333465071856 | erot = 3.32306194469326 | epot = -19.5189342662741 | etot = -13.2825376708623 -962000 ekin = 2.922351418879 | erot = 3.3872858534114 | epot = -19.5921749434782 | etot = -13.2825376711878 -963000 ekin = 2.91452965717995 | erot = 3.43412743872974 | epot = -19.6311947673485 | etot = -13.2825376714389 -964000 ekin = 2.88918087862635 | erot = 3.46104482999767 | epot = -19.632763380221 | etot = -13.282537671597 -965000 ekin = 2.84645277180946 | erot = 3.46610960648151 | epot = -19.5951000499324 | etot = -13.2825376716414 -966000 ekin = 2.78809663571847 | erot = 3.44886971922285 | epot = -19.5195040264054 | etot = -13.2825376714641 -967000 ekin = 2.71967964182096 | erot = 3.41234902495006 | epot = -19.4145663381934 | etot = -13.2825376714224 -968000 ekin = 2.64387658032753 | erot = 3.35650459869427 | epot = -19.2829188502389 | etot = -13.2825376712171 -969000 ekin = 2.5636598359908 | erot = 3.28213071774803 | epot = -19.1283282245599 | etot = -13.282537670821 -970000 ekin = 2.48311062142641 | erot = 3.19174642313887 | epot = -18.9573947148006 | etot = -13.2825376702353 -971000 ekin = 2.40743965733721 | erot = 3.08950974407855 | epot = -18.7794870709146 | etot = -13.2825376694988 -972000 ekin = 2.34264905762229 | erot = 2.98071332522745 | epot = -18.6059000516929 | etot = -13.2825376688431 -973000 ekin = 2.29453827360496 | erot = 2.87084836320828 | epot = -18.4479243047972 | etot = -13.282537667984 -974000 ekin = 2.26986492523629 | erot = 2.76590322630273 | epot = -18.3183058187963 | etot = -13.2825376672573 -975000 ekin = 2.27457634340147 | erot = 2.67096736257246 | epot = -18.2280813727252 | etot = -13.2825376667513 -976000 ekin = 2.31300758345889 | erot = 2.58967385348542 | epot = -18.1852191035746 | etot = -13.2825376666303 -977000 ekin = 2.38775385248975 | erot = 2.52429198072532 | epot = -18.1945835001601 | etot = -13.282537666945 -978000 ekin = 2.49343132116534 | erot = 2.47478959071677 | epot = -18.250758581399 | etot = -13.2825376695168 -979000 ekin = 2.63194261796709 | erot = 2.43666985312452 | epot = -18.3511501394741 | etot = -13.2825376683825 -980000 ekin = 2.80143349398027 | erot = 2.41383709773151 | epot = -18.4978082614141 | etot = -13.2825376697023 -981000 ekin = 2.97613228560276 | erot = 2.40353470196688 | epot = -18.6622046578968 | etot = -13.2825376703271 -982000 ekin = 3.15493786386392 | erot = 2.40097885129711 | epot = -18.8384543865171 | etot = -13.2825376713561 -983000 ekin = 3.32895075407343 | erot = 2.40358703807687 | epot = -19.0150754641488 | etot = -13.2825376719985 -984000 ekin = 3.48942626012081 | erot = 2.40902391909424 | epot = -19.1809878517146 | etot = -13.2825376724995 -985000 ekin = 3.63060554065164 | erot = 2.41512886518655 | epot = -19.3282720786893 | etot = -13.2825376728511 -986000 ekin = 3.74861810546827 | erot = 2.42024356026037 | epot = -19.4513993386244 | etot = -13.2825376728957 -987000 ekin = 3.84212741102323 | erot = 2.42421773192364 | epot = -19.5488828158586 | etot = -13.2825376729117 -988000 ekin = 3.91118765036607 | erot = 2.42704295376118 | epot = -19.6207682769566 | etot = -13.2825376728293 -989000 ekin = 3.95686695907234 | erot = 2.42875435934639 | epot = -19.6681589910888 | etot = -13.28253767267 -990000 ekin = 3.98122336719007 | erot = 2.42964012334027 | epot = -19.6934011629788 | etot = -13.2825376724485 -991000 ekin = 3.98715071444002 | erot = 2.43015135461192 | epot = -19.6998397412253 | etot = -13.2825376721734 -992000 ekin = 3.97827672381777 | erot = 2.43082965983246 | epot = -19.6916440567119 | etot = -13.2825376730616 -993000 ekin = 3.95551199283863 | erot = 2.42901824167109 | epot = -19.667067907421 | etot = -13.2825376729113 -994000 ekin = 3.91976370648951 | erot = 2.42191618451507 | epot = -19.6242175637032 | etot = -13.2825376726986 -995000 ekin = 3.87458078794846 | erot = 2.4093277557877 | epot = -19.5664462161636 | etot = -13.2825376724274 -996000 ekin = 3.82377191573499 | erot = 2.39162261227942 | epot = -19.4979322001273 | etot = -13.2825376721129 -997000 ekin = 3.77108738620107 | erot = 2.36980944943232 | epot = -19.4234345074163 | etot = -13.282537671783 -998000 ekin = 3.71986049080444 | erot = 2.34548651217898 | epot = -19.3478846744548 | etot = -13.2825376714714 -999000 ekin = 3.67268794449355 | erot = 2.32066228967754 | epot = -19.2758879053829 | etot = -13.2825376712118 -1000000 ekin = 3.63122130708104 | erot = 2.29747929874878 | epot = -19.2112382768594 | etot = -13.2825376710296 - 1000000 0.16138761 -1.2609484 0.060246044 -0.97375106 -5.5311015e-05 -Loop time of 27.9244 on 1 procs for 1000000 steps with 16 atoms - -Performance: 30940.635 tau/day, 35810.920 timesteps/s -98.8% CPU use with 1 MPI tasks x no OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 24.096 | 24.096 | 24.096 | 0.0 | 86.29 -Bond | 0.98737 | 0.98737 | 0.98737 | 0.0 | 3.54 -Neigh | 0.000168 | 0.000168 | 0.000168 | 0.0 | 0.00 -Comm | 0.20002 | 0.20002 | 0.20002 | 0.0 | 0.72 -Output | 1e-05 | 1e-05 | 1e-05 | 0.0 | 0.00 -Modify | 2.3385 | 2.3385 | 2.3385 | 0.0 | 8.37 -Other | | 0.3022 | | | 1.08 - -Nlocal: 16.0 ave 16.0 max 16.0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 0.0 ave 0.0 max 0.0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 77.0 ave 77.0 max 77.0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 77 -Ave neighs/atom = 4.8125 -Ave special neighs/atom = 3.75 -Neighbor list builds = 7 -Dangerous builds = 0 - -#write_restart config.${number}.* -Total wall time: 0:00:27 diff --git a/examples/PACKAGES/cgdna/examples/oxRNA2/duplex4/log.30Jun20.duplex4.g++.4 b/examples/PACKAGES/cgdna/examples/oxRNA2/duplex4/log.30Jun20.duplex4.g++.4 deleted file mode 100644 index aa5a15156a..0000000000 --- a/examples/PACKAGES/cgdna/examples/oxRNA2/duplex4/log.30Jun20.duplex4.g++.4 +++ /dev/null @@ -1,1183 +0,0 @@ -LAMMPS (30 Jun 2020) -variable number equal 4 -variable ofreq equal 1000 -variable efreq equal 1000 -variable T equal 0.1 - -units lj - -dimension 3 - -newton off - -boundary p p p - -atom_style hybrid bond ellipsoid -WARNING: Atom_style hybrid defines both pertype and peratom masses - both must be set, only peratom masses will be used (../atom_vec_hybrid.cpp:156) -atom_modify sort 0 1.0 - -# Pair interactions require lists of neighbours to be calculated -neighbor 1.0 bin -neigh_modify every 1 delay 0 check yes - -read_data data.duplex4 - orthogonal box = (-20 -20 -20) to (20 20 20) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 16 atoms - reading velocities ... - 16 velocities - 16 ellipsoids - scanning bonds ... - 2 = max bonds/atom - reading bonds ... - 13 bonds - 2 = max # of 1-2 neighbors - 2 = max # of 1-3 neighbors - 4 = max # of 1-4 neighbors - 6 = max # of special neighbors - special bonds CPU = 0.001 seconds - read_data CPU = 0.004 seconds - -set atom * mass 3.1575 - 16 settings made for mass - -group all type 1 4 -16 atoms in group all - -# oxRNA2 bond interactions - FENE backbone -bond_style oxrna2/fene -bond_coeff * 2.0 0.25 0.761070781051 -special_bonds lj 0 1 1 - 2 = max # of 1-2 neighbors - 2 = max # of 1-3 neighbors - 4 = max # of 1-4 neighbors - 6 = max # of special neighbors - special bonds CPU = 0.000 seconds - -# oxRNA2 pair interactions -pair_style hybrid/overlay oxrna2/excv oxrna2/stk oxrna2/hbond oxrna2/xstk oxrna2/coaxstk oxrna2/dh - -pair_coeff * * oxrna2/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32 -pair_coeff * * oxrna2/stk seqdep ${T} 1.40206 2.77 6.0 0.43 0.93 0.35 0.78 0.9 0 0.95 0.9 0 0.95 1.3 0 0.8 1.3 0 0.8 2.0 0.65 2.0 0.65 -pair_coeff * * oxrna2/stk seqdep 0.1 1.40206 2.77 6.0 0.43 0.93 0.35 0.78 0.9 0 0.95 0.9 0 0.95 1.3 0 0.8 1.3 0 0.8 2.0 0.65 2.0 0.65 -pair_coeff * * oxrna2/hbond seqdep 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 1 4 oxrna2/hbond seqdep 0.870439 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 2 3 oxrna2/hbond seqdep 0.870439 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 3 4 oxrna2/hbond seqdep 0.870439 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff * * oxrna2/xstk 59.9626 0.5 0.6 0.42 0.58 2.25 0.505 0.58 1.7 1.266 0.68 1.7 1.266 0.68 1.7 0.309 0.68 1.7 0.309 0.68 -pair_coeff * * oxrna2/coaxstk 80 0.5 0.6 0.42 0.58 2.0 2.592 0.65 1.3 0.151 0.8 0.9 0.685 0.95 0.9 0.685 0.95 2.0 -0.65 2.0 -0.65 -pair_coeff * * oxrna2/dh ${T} 0.5 1.02455 -pair_coeff * * oxrna2/dh 0.1 0.5 1.02455 - -# NVE ensemble -#fix 1 all nve/dotc/langevin 0.1 0.1 0.03 457145 angmom 10 -#fix 1 all nve/dot -fix 1 all nve/asphere - -timestep 1e-5 - -#comm_style tiled -#fix 3 all balance 10000 1.1 rcb -comm_modify cutoff 2.5 - -#compute mol all chunk/atom molecule -#compute mychunk all vcm/chunk mol -#fix 4 all ave/time 10000 1 10000 c_mychunk[1] c_mychunk[2] c_mychunk[3] file vcm.txt mode vector - -#dump pos all xyz ${ofreq} traj.${number}.xyz - -#compute quat all property/atom quatw quati quatj quatk -#dump quat all custom ${ofreq} quat.${number}.txt id c_quat[1] c_quat[2] c_quat[3] c_quat[4] -#dump_modify quat sort id -#dump_modify quat format line "%d %13.6le %13.6le %13.6le %13.6le" - -compute erot all erotate/asphere -compute ekin all ke -compute epot all pe -variable erot equal c_erot -variable ekin equal c_ekin -variable epot equal c_epot -variable etot equal c_erot+c_ekin+c_epot -fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes -fix 5 all print 1000 "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes - -#dump out all custom ${ofreq} out.${number}.txt id x y z vx vy vz fx fy fz tqx tqy tqz -#dump_modify out sort id -#dump_modify out format line "%d %13.9f %13.9f %13.9f %13.9f %13.9f %13.9f %13.9f %13.9f %13.9f %13.9f %13.9f %13.9f" - -run 1000000 -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 3.3014979 - ghost atom cutoff = 3.3014979 - binsize = 1.650749, bins = 25 25 25 - 6 neighbor lists, perpetual/occasional/extra = 6 0 0 - (1) pair oxrna2/excv, perpetual - attributes: half, newton off - pair build: half/bin/newtoff - stencil: half/bin/3d/newtoff - bin: standard - (2) pair oxrna2/stk, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (3) pair oxrna2/hbond, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (4) pair oxrna2/xstk, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (5) pair oxrna2/coaxstk, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (6) pair oxrna2/dh, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none -WARNING: Communication cutoff adjusted to 3.3014979169291987 (../comm.cpp:690) -0 ekin = 0 | erot = 0 | epot = -13.282537590974 | etot = -13.282537590974 -Per MPI rank memory allocation (min/avg/max) = 8.005 | 8.062 | 8.119 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 0 -0.84341458 0.013255977 -0.8301586 -2.0169485e-05 -1000 ekin = 0.00448503054655829 | erot = 0.00825381229599554 | epot = -13.2952764343121 | etot = -13.2825375914696 -2000 ekin = 0.0179027901180383 | erot = 0.0327684151333158 | epot = -13.333208796773 | etot = -13.2825375915216 -3000 ekin = 0.0401478317723388 | erot = 0.0728240143062734 | epot = -13.3955094376812 | etot = -13.2825375916026 -4000 ekin = 0.0710654348932012 | erot = 0.127292706282676 | epot = -13.4808957328803 | etot = -13.2825375917044 -5000 ekin = 0.110480309743627 | erot = 0.194739074279345 | epot = -13.58775697584 | etot = -13.282537591817 -6000 ekin = 0.158231230694386 | erot = 0.273546913858364 | epot = -13.7143157364821 | etot = -13.2825375919294 -7000 ekin = 0.214206450831694 | erot = 0.362058396900661 | epot = -13.8588024397635 | etot = -13.2825375920312 -8000 ekin = 0.27837411184999 | erot = 0.458709556671591 | epot = -14.0196212606354 | etot = -13.2825375921138 -9000 ekin = 0.350802094030117 | erot = 0.562145629087582 | epot = -14.1954853152897 | etot = -13.282537592172 -10000 ekin = 0.431663021447632 | erot = 0.671302139461542 | epot = -14.3855027531133 | etot = -13.2825375922041 -11000 ekin = 0.521222365620092 | erot = 0.785442646223518 | epot = -14.5892026040564 | etot = -13.2825375922128 -12000 ekin = 0.619810398735201 | erot = 0.90415088836544 | epot = -14.8064988793047 | etot = -13.2825375922041 -13000 ekin = 0.727781531798581 | erot = 1.02728222251184 | epot = -15.0376013464965 | etot = -13.2825375921861 -14000 ekin = 0.845466747659119 | erot = 1.15488520186341 | epot = -15.2828895416906 | etot = -13.2825375921681 -15000 ekin = 0.973515286429056 | erot = 1.28640002432427 | epot = -15.5424529041403 | etot = -13.282537593387 -16000 ekin = 1.12323013751051 | erot = 1.4038749539854 | epot = -15.8096426839246 | etot = -13.2825375924286 -17000 ekin = 1.29769272832575 | erot = 1.51347784068601 | epot = -16.0937081607386 | etot = -13.2825375917268 -18000 ekin = 1.48565191084472 | erot = 1.63592970999597 | epot = -16.4041192134335 | etot = -13.2825375925929 -19000 ekin = 1.66750911163292 | erot = 1.77940241938649 | epot = -16.7294491246356 | etot = -13.2825375936162 -20000 ekin = 1.84148924290367 | erot = 1.93695511183614 | epot = -17.0609819484045 | etot = -13.2825375936647 -21000 ekin = 2.02307741366106 | erot = 2.09844265792887 | epot = -17.4040576653927 | etot = -13.2825375938028 -22000 ekin = 2.21183606977167 | erot = 2.26260708947227 | epot = -17.7569807531574 | etot = -13.2825375939135 -23000 ekin = 2.40735468792923 | erot = 2.42817202047232 | epot = -18.1180643024984 | etot = -13.2825375940969 -24000 ekin = 2.60896890448811 | erot = 2.59357882573777 | epot = -18.4850853245068 | etot = -13.2825375942809 -25000 ekin = 2.815801354773 | erot = 2.75706655666979 | epot = -18.8554055059558 | etot = -13.282537594513 -26000 ekin = 3.02680083558447 | erot = 2.91667946897181 | epot = -19.2260178993261 | etot = -13.2825375947698 -27000 ekin = 3.24067707260278 | erot = 3.07027299756425 | epot = -19.5934876652165 | etot = -13.2825375950495 -28000 ekin = 3.45601412953551 | erot = 3.21560615187967 | epot = -19.9541578767284 | etot = -13.2825375953133 -29000 ekin = 3.67136830813179 | erot = 3.35037905822876 | epot = -20.3042849619982 | etot = -13.2825375956377 -30000 ekin = 3.88476027224393 | erot = 3.47208481891771 | epot = -20.6393826871844 | etot = -13.2825375960227 -31000 ekin = 4.09387957878907 | erot = 3.57821385031972 | epot = -20.9546310254505 | etot = -13.2825375963417 -32000 ekin = 4.2966218534583 | erot = 3.6664860653108 | epot = -21.2456455154184 | etot = -13.2825375966493 -33000 ekin = 4.49089153394099 | erot = 3.73482555362516 | epot = -21.5082546845017 | etot = -13.2825375969356 -34000 ekin = 4.67464118182325 | erot = 3.78142516888949 | epot = -21.7386039479011 | etot = -13.2825375971883 -35000 ekin = 4.84586411782109 | erot = 3.80480460777856 | epot = -21.9332063229965 | etot = -13.2825375973968 -36000 ekin = 5.0027094048744 | erot = 3.80394535032719 | epot = -22.0891923527598 | etot = -13.2825375975582 -37000 ekin = 5.14355281474345 | erot = 3.77833709530338 | epot = -22.2044275077127 | etot = -13.2825375976659 -38000 ekin = 5.26699752588952 | erot = 3.72801268545681 | epot = -22.2775478090603 | etot = -13.282537597714 -39000 ekin = 5.37191151713971 | erot = 3.65359747923658 | epot = -22.3080465940747 | etot = -13.2825375976984 -40000 ekin = 5.45746010972539 | erot = 3.55633701588603 | epot = -22.2963347232318 | etot = -13.2825375976204 -41000 ekin = 5.52312188621432 | erot = 3.43809872369872 | epot = -22.2437582073857 | etot = -13.2825375974727 -42000 ekin = 5.56872044212123 | erot = 3.3013527933319 | epot = -22.1526108327172 | etot = -13.2825375972641 -43000 ekin = 5.59443660083054 | erot = 3.14910305123766 | epot = -22.0260772490709 | etot = -13.2825375970027 -44000 ekin = 5.60078634437832 | erot = 2.98477133565166 | epot = -21.8680952767313 | etot = -13.2825375967014 -45000 ekin = 5.58859564323475 | erot = 2.81204277265363 | epot = -21.6831760122637 | etot = -13.2825375963753 -46000 ekin = 5.55896198288938 | erot = 2.6346956216755 | epot = -21.4761952006028 | etot = -13.2825375960379 -47000 ekin = 5.51320424222089 | erot = 2.45646420183095 | epot = -21.2522060397504 | etot = -13.2825375956985 -48000 ekin = 5.45280176988658 | erot = 2.28095947573165 | epot = -21.0162988409789 | etot = -13.2825375953606 -49000 ekin = 5.37933239946777 | erot = 2.11161440403301 | epot = -20.7734843985466 | etot = -13.2825375950459 -50000 ekin = 5.29440598595322 | erot = 1.95156309993227 | epot = -20.5285066806364 | etot = -13.2825375947509 -51000 ekin = 5.19960275040365 | erot = 1.80366343983081 | epot = -20.2858037847169 | etot = -13.2825375944825 -52000 ekin = 5.09642319962078 | erot = 1.6704687709701 | epot = -20.0494295648296 | etot = -13.2825375942388 -53000 ekin = 4.98624639554453 | erot = 1.55427111116844 | epot = -19.8230551007342 | etot = -13.2825375940213 -54000 ekin = 4.87030445561618 | erot = 1.4571046995688 | epot = -19.6099467490168 | etot = -13.2825375938318 -55000 ekin = 4.74966978520253 | erot = 1.3807464290206 | epot = -19.4129538078759 | etot = -13.2825375936527 -56000 ekin = 4.62525646671059 | erot = 1.32681969001188 | epot = -19.2346137502498 | etot = -13.2825375935274 -57000 ekin = 4.49783496228329 | erot = 1.29648861711317 | epot = -19.0768611728244 | etot = -13.2825375934279 -58000 ekin = 4.3680583246168 | erot = 1.29057331365756 | epot = -18.9411692316282 | etot = -13.2825375933538 -59000 ekin = 4.23649045860609 | erot = 1.30961007130899 | epot = -18.828638123218 | etot = -13.2825375933029 -60000 ekin = 4.10363649615241 | erot = 1.35385055377105 | epot = -18.7400246431965 | etot = -13.2825375932731 -61000 ekin = 3.96997203629848 | erot = 1.42326526715471 | epot = -18.6757748967159 | etot = -13.2825375932627 -62000 ekin = 3.8361228573534 | erot = 1.51750909475347 | epot = -18.63616954536 | etot = -13.2825375932531 -63000 ekin = 3.70275913153356 | erot = 1.63593500305273 | epot = -18.6212317278744 | etot = -13.2825375932881 -64000 ekin = 3.57028395426148 | erot = 1.77765695762388 | epot = -18.6304785052257 | etot = -13.2825375933403 -65000 ekin = 3.43939724701883 | erot = 1.94136642645281 | epot = -18.6633012668463 | etot = -13.2825375933747 -66000 ekin = 3.31090885650503 | erot = 2.12543845180006 | epot = -18.7188849017622 | etot = -13.2825375934572 -67000 ekin = 3.18539537800154 | erot = 2.32812634152817 | epot = -18.7960593130801 | etot = -13.2825375935504 -68000 ekin = 3.0635338653806 | erot = 2.54742667497474 | epot = -18.8934981340094 | etot = -13.2825375936541 -69000 ekin = 2.94609585152155 | erot = 2.78109018587035 | epot = -19.009723631161 | etot = -13.2825375937691 -70000 ekin = 2.83393040716521 | erot = 3.02662959649543 | epot = -19.1430975975569 | etot = -13.2825375938963 -71000 ekin = 2.72793726696403 | erot = 3.28133994286028 | epot = -19.2918148038557 | etot = -13.2825375940314 -72000 ekin = 2.62902971043669 | erot = 3.54239819983024 | epot = -19.4539655044234 | etot = -13.2825375941565 -73000 ekin = 2.53808722042923 | erot = 3.80701983458394 | epot = -19.6276446493613 | etot = -13.2825375943481 -74000 ekin = 2.45592865526949 | erot = 4.07171344127284 | epot = -19.8101796911555 | etot = -13.2825375946132 -75000 ekin = 2.3833072864547 | erot = 4.33220600221002 | epot = -19.9980508835331 | etot = -13.2825375948683 -76000 ekin = 2.32085819246852 | erot = 4.58430888321027 | epot = -20.1877046708076 | etot = -13.2825375951288 -77000 ekin = 2.26905284042002 | erot = 4.82394209159159 | epot = -20.3755325274035 | etot = -13.2825375953919 -78000 ekin = 2.22818215579792 | erot = 5.04720004762804 | epot = -20.5579197990804 | etot = -13.2825375956544 -79000 ekin = 2.19835990746569 | erot = 5.25044819004257 | epot = -20.7313456933952 | etot = -13.2825375958869 -80000 ekin = 2.17954213158754 | erot = 5.43056087724072 | epot = -20.8926406049113 | etot = -13.2825375960831 -81000 ekin = 2.17154912845079 | erot = 5.58515654974133 | epot = -21.0392432744253 | etot = -13.2825375962332 -82000 ekin = 2.17396051633385 | erot = 5.71255070218911 | epot = -21.1690488148905 | etot = -13.2825375963675 -83000 ekin = 2.18608268543497 | erot = 5.8115938913987 | epot = -21.2802141733995 | etot = -13.2825375965659 -84000 ekin = 2.20694055797086 | erot = 5.88143457462865 | epot = -21.3709127292227 | etot = -13.2825375966232 -85000 ekin = 2.2355007346888 | erot = 5.9224847336172 | epot = -21.440523064944 | etot = -13.282537596638 -86000 ekin = 2.27071025957208 | erot = 5.93583657914561 | epot = -21.4890844353357 | etot = -13.282537596618 -87000 ekin = 2.31151705668532 | erot = 5.92306118835237 | epot = -21.5171158416083 | etot = -13.2825375965707 -88000 ekin = 2.35689880582359 | erot = 5.88606517856767 | epot = -21.5255015808933 | etot = -13.282537596502 -89000 ekin = 2.40589192121093 | erot = 5.82697176767523 | epot = -21.515401285302 | etot = -13.2825375964158 -90000 ekin = 2.45762089189478 | erot = 5.74803678246289 | epot = -21.4881952706713 | etot = -13.2825375963137 -91000 ekin = 2.51132727735637 | erot = 5.65159908896529 | epot = -21.4454639625174 | etot = -13.2825375961958 -92000 ekin = 2.56639616299203 | erot = 5.54005576568085 | epot = -21.3889895247349 | etot = -13.282537596062 -93000 ekin = 2.62237587147907 | erot = 5.41584923925793 | epot = -21.3207627066506 | etot = -13.2825375959136 -94000 ekin = 2.6789853628744 | erot = 5.28145076624312 | epot = -21.242973724871 | etot = -13.2825375957535 -95000 ekin = 2.73610698777042 | erot = 5.1393322247884 | epot = -21.1579768081446 | etot = -13.2825375955858 -96000 ekin = 2.79376736409308 | erot = 4.99192351961226 | epot = -21.0682284791232 | etot = -13.2825375954179 -97000 ekin = 2.85209759177855 | erot = 4.84155102932086 | epot = -20.9761862163575 | etot = -13.2825375952581 -98000 ekin = 2.91128043087762 | erot = 4.69036811429654 | epot = -20.8841861402892 | etot = -13.2825375951151 -99000 ekin = 2.97148865716326 | erot = 4.54028690688497 | epot = -20.7943131590452 | etot = -13.282537594997 -100000 ekin = 3.03281936548454 | erot = 4.39291958378067 | epot = -20.7082765441758 | etot = -13.2825375949106 -101000 ekin = 3.09523162855491 | erot = 4.24953761553784 | epot = -20.6273068389531 | etot = -13.2825375948603 -102000 ekin = 3.15849350649712 | erot = 4.11105261279967 | epot = -20.552083714145 | etot = -13.2825375948482 -103000 ekin = 3.22212928739632 | erot = 3.97803233781191 | epot = -20.4826992200835 | etot = -13.2825375948753 -104000 ekin = 3.28539028419995 | erot = 3.85073569994647 | epot = -20.4186635790814 | etot = -13.282537594935 -105000 ekin = 3.34731475817756 | erot = 3.72912316717864 | epot = -20.3589755203797 | etot = -13.2825375950235 -106000 ekin = 3.40672794730861 | erot = 3.61292637549597 | epot = -20.3021919179397 | etot = -13.2825375951351 -107000 ekin = 3.46228544964886 | erot = 3.50170395486082 | epot = -20.2465269997722 | etot = -13.2825375952625 -108000 ekin = 3.51253156080083 | erot = 3.39489824023779 | epot = -20.1899673964366 | etot = -13.282537595398 -109000 ekin = 3.55597480315881 | erot = 3.2918729970377 | epot = -20.1303853957321 | etot = -13.2825375955356 -110000 ekin = 3.59118238705156 | erot = 3.19193918351237 | epot = -20.0656591662303 | etot = -13.2825375956664 -111000 ekin = 3.6168734377865 | erot = 3.09439958031586 | epot = -19.993810613884 | etot = -13.2825375957817 -112000 ekin = 3.63202144077097 | erot = 2.99858073408855 | epot = -19.9131397707325 | etot = -13.282537595873 -113000 ekin = 3.6359567760499 | erot = 2.90386796422028 | epot = -19.8223623362014 | etot = -13.2825375959312 -114000 ekin = 3.62846110509032 | erot = 2.80974594394075 | epot = -19.7207446449794 | etot = -13.2825375959483 -115000 ekin = 3.60984333606135 | erot = 2.71584476484498 | epot = -19.6082256968239 | etot = -13.2825375959176 -116000 ekin = 3.5809859294631 | erot = 2.62198860618847 | epot = -19.4855121314881 | etot = -13.2825375958365 -117000 ekin = 3.54334240221411 | erot = 2.52827901424299 | epot = -19.354159012147 | etot = -13.2825375956899 -118000 ekin = 3.49891828359518 | erot = 2.43512420844321 | epot = -19.2165800875462 | etot = -13.2825375955078 -119000 ekin = 3.45018316481888 | erot = 2.3431314417893 | epot = -19.0758522018948 | etot = -13.2825375952866 -120000 ekin = 3.39991853306425 | erot = 2.25319419875556 | epot = -18.9356503268585 | etot = -13.2825375950387 -121000 ekin = 3.35105152049006 | erot = 2.1664659738711 | epot = -18.8000550891398 | etot = -13.2825375947787 -122000 ekin = 3.30648176977477 | erot = 2.08430580539905 | epot = -18.6733251696944 | etot = -13.2825375945206 -123000 ekin = 3.2689296615607 | erot = 2.00820635396295 | epot = -18.5596736097996 | etot = -13.282537594276 -124000 ekin = 3.24083330103893 | erot = 1.93971532774534 | epot = -18.4630862228354 | etot = -13.2825375940511 -125000 ekin = 3.22476145827485 | erot = 1.8802958129316 | epot = -18.387594863397 | etot = -13.2825375921905 -126000 ekin = 3.14878052704725 | erot = 1.84062475589711 | epot = -18.2719429098034 | etot = -13.282537626859 -127000 ekin = 2.94943277103416 | erot = 1.88659542758862 | epot = -18.11856577358 | etot = -13.2825375749572 -128000 ekin = 3.16220879321558 | erot = 1.96338946783192 | epot = -18.4081359062159 | etot = -13.2825376451684 -129000 ekin = 3.31015030132692 | erot = 1.94720836362345 | epot = -18.5398963214827 | etot = -13.2825376565323 -130000 ekin = 3.44972038724563 | erot = 1.92633510568783 | epot = -18.6585931496318 | etot = -13.2825376566984 -131000 ekin = 3.58872168957087 | erot = 1.90769906106584 | epot = -18.7789584074295 | etot = -13.2825376567928 -132000 ekin = 3.72319125317256 | erot = 1.89293715413269 | epot = -18.8986660641582 | etot = -13.282537656853 -133000 ekin = 3.8497825175539 | erot = 1.88373597103122 | epot = -19.0160561454723 | etot = -13.2825376568872 -134000 ekin = 3.9655798495172 | erot = 1.8817190850278 | epot = -19.1298365915079 | etot = -13.2825376569629 -135000 ekin = 4.06807957718167 | erot = 1.88790714285721 | epot = -19.2385243770747 | etot = -13.2825376570358 -136000 ekin = 4.15531911327304 | erot = 1.90286269173082 | epot = -19.3407194621007 | etot = -13.2825376570969 -137000 ekin = 4.22592766896971 | erot = 1.92681130724396 | epot = -19.4352766333492 | etot = -13.2825376571355 -138000 ekin = 4.27918313098009 | erot = 1.95973390207694 | epot = -19.5214546902017 | etot = -13.2825376571446 -139000 ekin = 4.31500256681588 | erot = 2.00154238231142 | epot = -19.5990826062102 | etot = -13.2825376570829 -140000 ekin = 4.33403278412117 | erot = 2.05223040229225 | epot = -19.6688008434059 | etot = -13.2825376569925 -141000 ekin = 4.33751047770814 | erot = 2.11180924821164 | epot = -19.7318573827859 | etot = -13.2825376568661 -142000 ekin = 4.32708478663596 | erot = 2.18042096416729 | epot = -19.7900434075185 | etot = -13.2825376567153 -143000 ekin = 4.30467959787758 | erot = 2.25833701673771 | epot = -19.845554271157 | etot = -13.2825376565417 -144000 ekin = 4.27235382259283 | erot = 2.3459516541184 | epot = -19.9008431331017 | etot = -13.2825376563904 -145000 ekin = 4.23214636981281 | erot = 2.44344334214771 | epot = -19.9581273682276 | etot = -13.2825376562671 -146000 ekin = 4.18594231916965 | erot = 2.55071340549387 | epot = -20.0191933808494 | etot = -13.2825376561859 -147000 ekin = 4.13537962661628 | erot = 2.66728850163299 | epot = -20.0852057844054 | etot = -13.2825376561562 -148000 ekin = 4.08179900889746 | erot = 2.79223549069502 | epot = -20.1565721557737 | etot = -13.2825376561812 -149000 ekin = 4.02623498472355 | erot = 2.92411986899913 | epot = -20.2328925099828 | etot = -13.2825376562601 -150000 ekin = 3.96943958307735 | erot = 3.06100347347696 | epot = -20.3129807129432 | etot = -13.2825376563889 -151000 ekin = 3.91192645323312 | erot = 3.20047132483891 | epot = -20.3949354346338 | etot = -13.2825376565618 -152000 ekin = 3.85402372610912 | erot = 3.3396787748025 | epot = -20.4762401576838 | etot = -13.2825376567722 -153000 ekin = 3.79592773401811 | erot = 3.47541715770496 | epot = -20.5538825487347 | etot = -13.2825376570116 -154000 ekin = 3.7377553070406 | erot = 3.60420547216162 | epot = -20.6244984364711 | etot = -13.2825376572689 -155000 ekin = 3.67959791029876 | erot = 3.72242217783006 | epot = -20.6845577456572 | etot = -13.2825376575284 -156000 ekin = 3.62158147939242 | erot = 3.82649073830597 | epot = -20.7306098754674 | etot = -13.282537657769 -157000 ekin = 3.56393625541153 | erot = 3.91312084630165 | epot = -20.7595947596795 | etot = -13.2825376579664 -158000 ekin = 3.50707329925246 | erot = 3.97958736500162 | epot = -20.7691983223494 | etot = -13.2825376580953 -159000 ekin = 3.45165682738677 | erot = 4.02400734849703 | epot = -20.7582018340196 | etot = -13.2825376581358 -160000 ekin = 3.39865532558926 | erot = 4.04555903021762 | epot = -20.7267520138841 | etot = -13.2825376580772 -161000 ekin = 3.34935406486454 | erot = 4.04458967179496 | epot = -20.6764813945816 | etot = -13.2825376579221 -162000 ekin = 3.30532015421547 | erot = 4.02258247379647 | epot = -20.6104402856973 | etot = -13.2825376576853 -163000 ekin = 3.26831809803595 | erot = 3.98198669358187 | epot = -20.5328424490092 | etot = -13.2825376573914 -164000 ekin = 3.24018500158393 | erot = 3.92594872656758 | epot = -20.448671385221 | etot = -13.2825376570695 -165000 ekin = 3.22267663501618 | erot = 3.85799639398401 | epot = -20.3632106857525 | etot = -13.2825376567523 -166000 ekin = 3.21735668268655 | erot = 3.78179957337404 | epot = -20.2816939123394 | etot = -13.2825376562788 -167000 ekin = 3.22508554133831 | erot = 3.70216421851945 | epot = -20.2097874159608 | etot = -13.282537656103 -168000 ekin = 3.24596106315309 | erot = 3.62279974210026 | epot = -20.1512984612667 | etot = -13.2825376560133 -169000 ekin = 3.27955383501576 | erot = 3.54538235194467 | epot = -20.1074738429824 | etot = -13.282537656022 -170000 ekin = 3.32466734771607 | erot = 3.47077759716863 | epot = -20.0779826010129 | etot = -13.2825376561282 -171000 ekin = 3.37937800793454 | erot = 3.39904334979686 | epot = -20.0609590140444 | etot = -13.282537656313 -172000 ekin = 3.44119436380834 | erot = 3.32956363469193 | epot = -20.0532956550461 | etot = -13.2825376565459 -173000 ekin = 3.5073198530207 | erot = 3.2612835945287 | epot = -20.051141104334 | etot = -13.2825376567846 -174000 ekin = 3.57497712060509 | erot = 3.19303082809317 | epot = -20.0505456056827 | etot = -13.2825376569845 -175000 ekin = 3.64173116724473 | erot = 3.12386956099425 | epot = -20.0481383853471 | etot = -13.2825376571082 -176000 ekin = 3.70574771912998 | erot = 3.05341479574251 | epot = -20.0417001720045 | etot = -13.282537657132 -177000 ekin = 3.76593888056791 | erot = 2.98204284338433 | epot = -20.0305193810041 | etot = -13.2825376570519 -178000 ekin = 3.82196164475597 | erot = 2.91094638159331 | epot = -20.0154456832348 | etot = -13.2825376568855 -179000 ekin = 3.87411507697419 | erot = 2.8420411011697 | epot = -19.9986938347981 | etot = -13.2825376566543 -180000 ekin = 3.92317967933079 | erot = 2.77773953428165 | epot = -19.9834568700055 | etot = -13.2825376563931 -181000 ekin = 3.97015764234259 | erot = 2.72070235461336 | epot = -19.973397653084 | etot = -13.2825376561281 -182000 ekin = 4.01610171617377 | erot = 2.67349840169278 | epot = -19.9721377738001 | etot = -13.2825376559335 -183000 ekin = 4.06177363427588 | erot = 2.63812245871518 | epot = -19.9824337488122 | etot = -13.2825376558212 -184000 ekin = 4.10756653676875 | erot = 2.61575603465098 | epot = -20.0058602272084 | etot = -13.2825376557887 -185000 ekin = 4.1535465296398 | erot = 2.60670565064949 | epot = -20.0427898361268 | etot = -13.2825376558375 -186000 ekin = 4.19945391071947 | erot = 2.61036353554361 | epot = -20.0923551022258 | etot = -13.2825376559627 -187000 ekin = 4.24473107430486 | erot = 2.62524898284968 | epot = -20.1525177133085 | etot = -13.282537656154 -188000 ekin = 4.28856799818638 | erot = 2.64911845928539 | epot = -20.2202241138684 | etot = -13.2825376563966 -189000 ekin = 4.33007364398987 | erot = 2.67919947077904 | epot = -20.2918107713923 | etot = -13.2825376566233 -190000 ekin = 4.36845326745392 | erot = 2.71241964780855 | epot = -20.3634105721975 | etot = -13.282537656935 -191000 ekin = 4.40242074847318 | erot = 2.74530093921345 | epot = -20.4302593449098 | etot = -13.2825376572232 -192000 ekin = 4.43037880288196 | erot = 2.77455401038569 | epot = -20.4874704712234 | etot = -13.2825376579557 -193000 ekin = 4.4483451030517 | erot = 2.79692081276062 | epot = -20.5278035740367 | etot = -13.2825376582243 -194000 ekin = 4.45438337861199 | erot = 2.80974801333428 | epot = -20.5466690503493 | etot = -13.282537658403 -195000 ekin = 4.44752201417129 | erot = 2.81136444003151 | epot = -20.5414241126783 | etot = -13.2825376584755 -196000 ekin = 4.4273718790499 | erot = 2.80121240437835 | epot = -20.5111219418613 | etot = -13.2825376584331 -197000 ekin = 4.39418615090579 | erot = 2.77991547931552 | epot = -20.4566392884973 | etot = -13.282537658276 -198000 ekin = 4.3488852650832 | erot = 2.74924294053151 | epot = -20.3806658636282 | etot = -13.2825376580135 -199000 ekin = 4.2930400637885 | erot = 2.71196807404484 | epot = -20.2875457954979 | etot = -13.2825376576645 -200000 ekin = 4.228803621182 | erot = 2.67162662745973 | epot = -20.1829679058993 | etot = -13.2825376572575 -201000 ekin = 4.1587834630136 | erot = 2.63219133391197 | epot = -20.0735124537541 | etot = -13.2825376568285 -202000 ekin = 4.08585235174851 | erot = 2.59768848811678 | epot = -19.9660784962843 | etot = -13.282537656419 -203000 ekin = 4.01290418154487 | erot = 2.57179164674953 | epot = -19.8672334843662 | etot = -13.2825376560718 -204000 ekin = 3.94257872967339 | erot = 2.55743320244059 | epot = -19.7825495879401 | etot = -13.2825376558261 -205000 ekin = 3.8769885984992 | erot = 2.55647506167898 | epot = -19.7160013158905 | etot = -13.2825376557123 -206000 ekin = 3.81748743469334 | erot = 2.56947517652909 | epot = -19.6695002669703 | etot = -13.2825376557479 -207000 ekin = 3.76451595610977 | erot = 2.59557970374973 | epot = -19.6426333157935 | etot = -13.282537655934 -208000 ekin = 3.71755329412301 | erot = 2.63256413547951 | epot = -19.6326550858557 | etot = -13.2825376562532 -209000 ekin = 3.67518956841205 | erot = 2.6770413301753 | epot = -19.6347685552552 | etot = -13.2825376566678 -210000 ekin = 3.63532366958265 | erot = 2.72484401425423 | epot = -19.6427053409585 | etot = -13.2825376571216 -211000 ekin = 3.59547812025674 | erot = 2.7715653100656 | epot = -19.6495810878672 | etot = -13.2825376575449 -212000 ekin = 3.55320133886872 | erot = 2.81319346320055 | epot = -19.6489324599365 | etot = -13.2825376578672 -213000 ekin = 3.50649761292236 | erot = 2.84671880107394 | epot = -19.6357540720304 | etot = -13.2825376580341 -214000 ekin = 3.45419694129236 | erot = 2.87055671325175 | epot = -19.6072913125676 | etot = -13.2825376580235 -215000 ekin = 3.3961705526582 | erot = 2.88465790120113 | epot = -19.5633661117115 | etot = -13.2825376578522 -216000 ekin = 3.33333457774809 | erot = 2.89027487492404 | epot = -19.506147110241 | etot = -13.2825376575688 -217000 ekin = 3.26237078851854 | erot = 2.88652329141029 | epot = -19.4314317899046 | etot = -13.2825377099757 -218000 ekin = 3.0604126920775 | erot = 2.81741383451156 | epot = -19.1603641969459 | etot = -13.2825376703569 -219000 ekin = 2.93316276967125 | erot = 2.84460250247024 | epot = -19.0603029343598 | etot = -13.2825376622183 -220000 ekin = 2.96128614843719 | erot = 2.9890414566452 | epot = -19.2328653086372 | etot = -13.2825377035548 -221000 ekin = 2.90913828063365 | erot = 3.0370109417019 | epot = -19.2286868797585 | etot = -13.2825376574229 -222000 ekin = 2.8422737694587 | erot = 3.05603303801555 | epot = -19.1808444650453 | etot = -13.2825376575711 -223000 ekin = 2.78062900949199 | erot = 3.06232144542732 | epot = -19.1254881126293 | etot = -13.28253765771 -224000 ekin = 2.72480461600021 | erot = 3.05323876331451 | epot = -19.0605810371243 | etot = -13.2825376578096 -225000 ekin = 2.67532541220304 | erot = 3.02684795807043 | epot = -18.9847110281097 | etot = -13.2825376578362 -226000 ekin = 2.63276163036917 | erot = 2.98227164387466 | epot = -18.8975709320199 | etot = -13.2825376577761 -227000 ekin = 2.59776959648546 | erot = 2.91985728396212 | epot = -18.8001645380861 | etot = -13.2825376576386 -228000 ekin = 2.57104335950858 | erot = 2.84110209326577 | epot = -18.694683110226 | etot = -13.2825376574516 -229000 ekin = 2.55319781380102 | erot = 2.74837649564429 | epot = -18.5841119666965 | etot = -13.2825376572512 -230000 ekin = 2.54463522127649 | erot = 2.64454432367442 | epot = -18.4717172020187 | etot = -13.2825376570678 -231000 ekin = 2.54546021784584 | erot = 2.53260284792404 | epot = -18.3606007226851 | etot = -13.2825376569152 -232000 ekin = 2.55549307881052 | erot = 2.41545023211231 | epot = -18.2534809677089 | etot = -13.2825376567861 -233000 ekin = 2.57438548648707 | erot = 2.29583418255659 | epot = -18.1527573257021 | etot = -13.2825376566584 -234000 ekin = 2.60178443029238 | erot = 2.17645519655946 | epot = -18.0607772833611 | etot = -13.2825376565093 -235000 ekin = 2.63745218021138 | erot = 2.06012244390592 | epot = -17.9801122804485 | etot = -13.2825376563312 -236000 ekin = 2.68126373962444 | erot = 1.94983176913362 | epot = -17.9136331648965 | etot = -13.2825376561384 -237000 ekin = 2.73306880567087 | erot = 1.84868049785769 | epot = -17.8642869594917 | etot = -13.2825376559632 -238000 ekin = 2.79247907581076 | erot = 1.75962709169706 | epot = -17.8346438233489 | etot = -13.2825376558411 -239000 ekin = 2.85867594437833 | erot = 1.68518476454709 | epot = -17.8263983647234 | etot = -13.282537655798 -240000 ekin = 2.93031183915998 | erot = 1.62715662270522 | epot = -17.840006117709 | etot = -13.2825376558438 -241000 ekin = 3.00552986743756 | erot = 1.58648515289486 | epot = -17.8745526763053 | etot = -13.2825376559729 -242000 ekin = 3.0820836546576 | erot = 1.5632372672336 | epot = -17.9278585780576 | etot = -13.2825376561664 -243000 ekin = 3.15752262719394 | erot = 1.55671134418848 | epot = -17.9967716277795 | etot = -13.282537656397 -244000 ekin = 3.22940955213892 | erot = 1.56564064462356 | epot = -18.0775878533954 | etot = -13.2825376566329 -245000 ekin = 3.29554303953992 | erot = 1.58846457360084 | epot = -18.1665452699808 | etot = -13.28253765684 -246000 ekin = 3.35415939736937 | erot = 1.6236315970523 | epot = -18.2603286514115 | etot = -13.2825376569898 -247000 ekin = 3.40408574270723 | erot = 1.66988325611156 | epot = -18.3565066558819 | etot = -13.2825376570631 -248000 ekin = 3.4448166326331 | erot = 1.72645823945448 | epot = -18.4538125291441 | etot = -13.2825376570566 -249000 ekin = 3.47649663255696 | erot = 1.79316293261223 | epot = -18.5521972221528 | etot = -13.2825376569836 -250000 ekin = 3.49981192900835 | erot = 1.87028571125288 | epot = -18.6526352971325 | etot = -13.2825376568713 -251000 ekin = 3.51581851748353 | erot = 1.95837689015936 | epot = -18.7567330643956 | etot = -13.2825376567528 -252000 ekin = 3.52575126869662 | erot = 2.05795546201388 | epot = -18.8662443873696 | etot = -13.2825376566591 -253000 ekin = 3.53086049262996 | erot = 2.16922084359695 | epot = -18.9826189928386 | etot = -13.2825376566117 -254000 ekin = 3.5323092446383 | erot = 2.29183768672856 | epot = -19.1066845879863 | etot = -13.2825376566194 -255000 ekin = 3.53114146569609 | erot = 2.42483171779644 | epot = -19.2385108401714 | etot = -13.2825376566788 -256000 ekin = 3.5283101054336 | erot = 2.56659937924988 | epot = -19.3774471414622 | etot = -13.2825376567787 -257000 ekin = 3.52473759358505 | erot = 2.71500399460053 | epot = -19.5222792450903 | etot = -13.2825376569047 -258000 ekin = 3.52137545668075 | erot = 2.86751445186622 | epot = -19.6714275655916 | etot = -13.2825376570446 -259000 ekin = 3.51923070409731 | erot = 3.02134046698861 | epot = -19.8231088282789 | etot = -13.282537657193 -260000 ekin = 3.51933841084731 | erot = 3.17353025732487 | epot = -19.9754063255239 | etot = -13.2825376573517 -261000 ekin = 3.52267851351005 | erot = 3.32101670247621 | epot = -20.1262328735157 | etot = -13.2825376575294 -262000 ekin = 3.53003333481016 | erot = 3.46062452427784 | epot = -20.2731955168254 | etot = -13.2825376577374 -263000 ekin = 3.54180424035237 | erot = 3.58907231404639 | epot = -20.4134142123818 | etot = -13.282537657983 -264000 ekin = 3.55787447685355 | erot = 3.7030112779332 | epot = -20.5434234130516 | etot = -13.2825376582649 -265000 ekin = 3.57751330913366 | erot = 3.7991542896327 | epot = -20.6592052573327 | etot = -13.2825376585664 -266000 ekin = 3.59938201293792 | erot = 3.87452595149942 | epot = -20.7564456232916 | etot = -13.2825376588543 -267000 ekin = 3.62167235822857 | erot = 3.92682901662269 | epot = -20.8310390339333 | etot = -13.282537659082 -268000 ekin = 3.64237343768047 | erot = 3.95486700975685 | epot = -20.8797781066375 | etot = -13.2825376592002 -269000 ekin = 3.6596153375486 | erot = 3.95890941485044 | epot = -20.901062411574 | etot = -13.2825376591749 -270000 ekin = 3.67198713217804 | erot = 3.9408570080659 | epot = -20.8953817992456 | etot = -13.2825376590016 -271000 ekin = 3.67872329079266 | erot = 3.9041072632946 | epot = -20.865368212798 | etot = -13.2825376587107 -272000 ekin = 3.67969720542205 | erot = 3.85312017496749 | epot = -20.8153550387474 | etot = -13.2825376583578 -273000 ekin = 3.67523785304609 | erot = 3.79279347421283 | epot = -20.7505689852654 | etot = -13.2825376580065 -274000 ekin = 3.66585545030655 | erot = 3.72781503527724 | epot = -20.6762081432937 | etot = -13.28253765771 -275000 ekin = 3.65198266149228 | erot = 3.66213927987085 | epot = -20.5966595988644 | etot = -13.2825376575013 -276000 ekin = 3.63380683707674 | erot = 3.59866145944742 | epot = -20.5150059539162 | etot = -13.282537657392 -277000 ekin = 3.61121443635218 | erot = 3.53909052619982 | epot = -20.4328426199289 | etot = -13.2825376573769 -278000 ekin = 3.58382533557949 | erot = 3.48398196201246 | epot = -20.3503449550318 | etot = -13.2825376574399 -279000 ekin = 3.55107927466775 | erot = 3.43288767683711 | epot = -20.266504609063 | etot = -13.2825376575582 -280000 ekin = 3.512346488716 | erot = 3.38459301004971 | epot = -20.1794771564691 | etot = -13.2825376577034 -281000 ekin = 3.46705217022212 | erot = 3.33742016501593 | epot = -20.0870099930813 | etot = -13.2825376578432 -282000 ekin = 3.4148174354963 | erot = 3.28957539031116 | epot = -19.9869304837506 | etot = -13.2825376579432 -283000 ekin = 3.35561723861012 | erot = 3.23950140187618 | epot = -19.8776562984585 | etot = -13.2825376579722 -284000 ekin = 3.28993990743678 | erot = 3.18617834963535 | epot = -19.7586559149806 | etot = -13.2825376579084 -285000 ekin = 3.21891605429242 | erot = 3.12930993710604 | epot = -19.630763649145 | etot = -13.2825376577465 -286000 ekin = 3.14439051761661 | erot = 3.06934998331757 | epot = -19.4962781582957 | etot = -13.2825376573615 -287000 ekin = 3.06960009495524 | erot = 3.00728050107473 | epot = -19.3594182531579 | etot = -13.2825376571279 -288000 ekin = 2.99759349423509 | erot = 2.9441365645361 | epot = -19.2242677156211 | etot = -13.2825376568499 -289000 ekin = 2.93122590326888 | erot = 2.88109280424439 | epot = -19.0948563640672 | etot = -13.2825376565539 -290000 ekin = 2.87364775959469 | erot = 2.81936189019821 | epot = -18.9755473060555 | etot = -13.2825376562626 -291000 ekin = 2.82808392253171 | erot = 2.76008269212137 | epot = -18.8707042706452 | etot = -13.2825376559921 -292000 ekin = 2.79759576435947 | erot = 2.70430482357441 | epot = -18.7844382436877 | etot = -13.2825376557538 -293000 ekin = 2.78483509079536 | erot = 2.65304729582213 | epot = -18.7204200421748 | etot = -13.2825376555573 -294000 ekin = 2.79179688861761 | erot = 2.60738085283692 | epot = -18.6817153968686 | etot = -13.282537655414 -295000 ekin = 2.8195793452766 | erot = 2.56847294066441 | epot = -18.6705899412817 | etot = -13.2825376553407 -296000 ekin = 2.86809990605543 | erot = 2.53696733690238 | epot = -18.6876048985693 | etot = -13.2825376556115 -297000 ekin = 2.93560102202575 | erot = 2.51254790532664 | epot = -18.7306865831654 | etot = -13.2825376558131 -298000 ekin = 3.01880409347839 | erot = 2.49548083197626 | epot = -18.7968225815679 | etot = -13.2825376561133 -299000 ekin = 3.11317674937697 | erot = 2.4858527957229 | epot = -18.8815672015831 | etot = -13.2825376564832 -300000 ekin = 3.21328607489871 | erot = 2.4836345898414 | epot = -18.9794583216092 | etot = -13.2825376568691 -301000 ekin = 3.31333985043658 | erot = 2.48892965616305 | epot = -19.0848071638015 | etot = -13.2825376572019 -302000 ekin = 3.40783628219617 | erot = 2.50232511253297 | epot = -19.192699052147 | etot = -13.2825376574178 -303000 ekin = 3.49218145837423 | erot = 2.52518642841781 | epot = -19.2999055442748 | etot = -13.2825376574828 -304000 ekin = 3.56312110363128 | erot = 2.55971045465009 | epot = -19.4053692156879 | etot = -13.2825376574065 -305000 ekin = 3.6188877414327 | erot = 2.6086316969236 | epot = -19.5100570955968 | etot = -13.2825376572405 -306000 ekin = 3.65906113322095 | erot = 2.67462381277421 | epot = -19.616222603054 | etot = -13.2825376570589 -307000 ekin = 3.68422703808074 | erot = 2.75956355882326 | epot = -19.7263282538395 | etot = -13.2825376569355 -308000 ekin = 3.69555713019506 | erot = 2.86386132679045 | epot = -19.841956113912 | etot = -13.2825376569265 -309000 ekin = 3.6944221679418 | erot = 2.98601798220111 | epot = -19.9629778072023 | etot = -13.2825376570594 -310000 ekin = 3.68211177280709 | erot = 3.12248873496333 | epot = -20.0871381651018 | etot = -13.2825376573313 -311000 ekin = 3.65969154495063 | erot = 3.26786382117018 | epot = -20.2100930238327 | etot = -13.2825376577119 -312000 ekin = 3.62799191203377 | erot = 3.41533011396127 | epot = -20.3258596841446 | etot = -13.2825376581496 -313000 ekin = 3.5877057744357 | erot = 3.5573517271153 | epot = -20.4275951601311 | etot = -13.2825376585801 -314000 ekin = 3.53954680683471 | erot = 3.68647834911128 | epot = -20.5085628148833 | etot = -13.2825376589373 -315000 ekin = 3.48441731148361 | erot = 3.79616777476463 | epot = -20.5631227454135 | etot = -13.2825376591653 -316000 ekin = 3.42353216211093 | erot = 3.88149414080879 | epot = -20.5875639621498 | etot = -13.2825376592301 -317000 ekin = 3.35845872751516 | erot = 3.93962315501014 | epot = -20.5806195416508 | etot = -13.2825376591255 -318000 ekin = 3.29105546518444 | erot = 3.96997627516161 | epot = -20.5435693992194 | etot = -13.2825376588734 -319000 ekin = 3.22332073202391 | erot = 3.97407140328684 | epot = -20.4799297938271 | etot = -13.2825376585164 -320000 ekin = 3.15718962490207 | erot = 3.95509826666012 | epot = -20.3948255496699 | etot = -13.2825376581077 -321000 ekin = 3.09432530925279 | erot = 3.91739375695147 | epot = -20.2942567238344 | etot = -13.2825376576302 -322000 ekin = 3.03585792728377 | erot = 3.86620572599634 | epot = -20.1846013105925 | etot = -13.2825376573124 -323000 ekin = 2.98241823057018 | erot = 3.80588679425669 | epot = -20.0708426818679 | etot = -13.282537657041 -324000 ekin = 2.93426965651548 | erot = 3.74025042751319 | epot = -19.9570577408469 | etot = -13.2825376568183 -325000 ekin = 2.89141991680272 | erot = 3.6726505878983 | epot = -19.8466081613385 | etot = -13.2825376566375 -326000 ekin = 2.85377350486142 | erot = 3.60592095019319 | epot = -19.7422321115423 | etot = -13.2825376564876 -327000 ekin = 2.82127903351907 | erot = 3.54238718475229 | epot = -19.6462038746294 | etot = -13.2825376563581 -328000 ekin = 2.79404030192089 | erot = 3.483910798784 | epot = -19.5604887570644 | etot = -13.2825376563595 -329000 ekin = 2.77197949436551 | erot = 3.43169110626534 | epot = -19.486208256954 | etot = -13.2825376563232 -330000 ekin = 2.75494613632729 | erot = 3.38614869285078 | epot = -19.4236324854878 | etot = -13.2825376563097 -331000 ekin = 2.74315934444998 | erot = 3.34732307627103 | epot = -19.3730200770432 | etot = -13.2825376563222 -332000 ekin = 2.73688271481008 | erot = 3.31484843372441 | epot = -19.3342688048987 | etot = -13.2825376563643 -333000 ekin = 2.73633973950745 | erot = 3.28798960597169 | epot = -19.3068670019181 | etot = -13.282537656439 -334000 ekin = 2.74163678826561 | erot = 3.26568447791409 | epot = -19.2898589227256 | etot = -13.2825376565459 -335000 ekin = 2.75270974558365 | erot = 3.24660647154557 | epot = -19.2818538738098 | etot = -13.2825376566806 -336000 ekin = 2.76930297431622 | erot = 3.22925893950259 | epot = -19.2810995706514 | etot = -13.2825376568326 -337000 ekin = 2.79098432744022 | erot = 3.21211025351937 | epot = -19.2856322379457 | etot = -13.2825376569861 -338000 ekin = 2.81719266282387 | erot = 3.19377253885662 | epot = -19.2935028588019 | etot = -13.2825376571214 -339000 ekin = 2.84730801445438 | erot = 3.17321131001618 | epot = -19.3030569816885 | etot = -13.2825376572179 -340000 ekin = 2.88072770851284 | erot = 3.14995757252068 | epot = -19.3132229382912 | etot = -13.2825376572577 -341000 ekin = 2.91693042220033 | erot = 3.12427992089905 | epot = -19.3237480003317 | etot = -13.2825376572323 -342000 ekin = 2.95550483676937 | erot = 3.09726362719658 | epot = -19.3353061211112 | etot = -13.2825376571453 -343000 ekin = 2.99612679558118 | erot = 3.07075651726445 | epot = -19.3494209698602 | etot = -13.2825376570146 -344000 ekin = 3.03848111852428 | erot = 3.0471716921407 | epot = -19.3681904675347 | etot = -13.2825376568698 -345000 ekin = 3.08214069495779 | erot = 3.02917600552132 | epot = -19.393854357224 | etot = -13.2825376567449 -346000 ekin = 3.12643023842175 | erot = 3.01932391636737 | epot = -19.428291811462 | etot = -13.2825376566729 -347000 ekin = 3.1703057195056 | erot = 3.01970377198013 | epot = -19.4725471481654 | etot = -13.2825376566797 -348000 ekin = 3.21227615188226 | erot = 3.03164750475832 | epot = -19.5264613134225 | etot = -13.282537656782 -349000 ekin = 3.25037907572041 | erot = 3.05552302028579 | epot = -19.588439752994 | etot = -13.2825376569878 -350000 ekin = 3.28221302801688 | erot = 3.09061207742305 | epot = -19.6553627627352 | etot = -13.2825376572953 -351000 ekin = 3.30503586845653 | erot = 3.13508039752205 | epot = -19.722653923667 | etot = -13.2825376576884 -352000 ekin = 3.31595350171697 | erot = 3.1860592581815 | epot = -19.7845504180322 | etot = -13.2825376581337 -353000 ekin = 3.31222586318731 | erot = 3.23985471046157 | epot = -19.8346182322283 | etot = -13.2825376585794 -354000 ekin = 3.29169173965498 | erot = 3.29228360641323 | epot = -19.8665130050279 | etot = -13.2825376589597 -355000 ekin = 3.25327251247953 | erot = 3.33911881639432 | epot = -19.8749289880785 | etot = -13.2825376592046 -356000 ekin = 3.19745645460831 | erot = 3.37659336434106 | epot = -19.8565874782066 | etot = -13.2825376592572 -357000 ekin = 3.12661218039379 | erot = 3.40186563883957 | epot = -19.8110154783295 | etot = -13.2825376590961 -358000 ekin = 3.04496261886646 | erot = 3.41331336007688 | epot = -19.7408136376943 | etot = -13.2825376587509 -359000 ekin = 2.95811577563298 | erot = 3.41055161315579 | epot = -19.651205047089 | etot = -13.2825376583003 -360000 ekin = 2.87219670777394 | erot = 3.39416675335358 | epot = -19.5489011189766 | etot = -13.2825376578491 -361000 ekin = 2.79279437102874 | erot = 3.36527462495952 | epot = -19.4406066534814 | etot = -13.2825376574932 -362000 ekin = 2.72403411625464 | erot = 3.32507906116156 | epot = -19.3316508347044 | etot = -13.2825376572882 -363000 ekin = 2.66805032239925 | erot = 3.27458936074012 | epot = -19.2251773403758 | etot = -13.2825376572364 -364000 ekin = 2.62498064266495 | erot = 3.21457203232894 | epot = -19.1220903322869 | etot = -13.2825376572931 -365000 ekin = 2.5934133585228 | erot = 3.14571210015836 | epot = -19.0216631160704 | etot = -13.2825376573892 -366000 ekin = 2.5710840161418 | erot = 3.06888690043612 | epot = -18.9225085740357 | etot = -13.2825376574577 -367000 ekin = 2.55558493490964 | erot = 2.98543100060352 | epot = -18.8235535929648 | etot = -13.2825376574517 -368000 ekin = 2.54491188940922 | erot = 2.89729436784059 | epot = -18.7247439146015 | etot = -13.2825376573517 -369000 ekin = 2.53777310784879 | erot = 2.80704690677456 | epot = -18.6273576717881 | etot = -13.2825376571647 -370000 ekin = 2.53338825950404 | erot = 2.71819995751166 | epot = -18.5341258738832 | etot = -13.2825376568675 -371000 ekin = 2.53146597101848 | erot = 2.63443214139472 | epot = -18.4484357690377 | etot = -13.2825376566245 -372000 ekin = 2.53305224681624 | erot = 2.55818112001678 | epot = -18.3737710231761 | etot = -13.2825376563431 -373000 ekin = 2.53983164211236 | erot = 2.49190590621591 | epot = -18.3142752043687 | etot = -13.2825376560405 -374000 ekin = 2.55393613427103 | erot = 2.43803861080081 | epot = -18.2745124008031 | etot = -13.2825376557312 -375000 ekin = 2.57759599288795 | erot = 2.39898190221581 | epot = -18.2591155506451 | etot = -13.2825376555413 -376000 ekin = 2.61177868596817 | erot = 2.37710020071972 | epot = -18.2714165420641 | etot = -13.2825376553762 -377000 ekin = 2.6577874067594 | erot = 2.3735939710949 | epot = -18.3139190331406 | etot = -13.2825376552863 -378000 ekin = 2.71669984604439 | erot = 2.38881656768362 | epot = -18.388054069029 | etot = -13.2825376553009 -379000 ekin = 2.78887075408087 | erot = 2.42222171828648 | epot = -18.4936301278208 | etot = -13.2825376554534 -380000 ekin = 2.87358930471002 | erot = 2.47221119730558 | epot = -18.6283381577863 | etot = -13.2825376557707 -381000 ekin = 2.96878304795802 | erot = 2.53604633164079 | epot = -18.7873670358597 | etot = -13.2825376562609 -382000 ekin = 3.07087981816367 | erot = 2.60989110069411 | epot = -18.9633085757604 | etot = -13.2825376569026 -383000 ekin = 3.17493836101278 | erot = 2.68903209116685 | epot = -19.1465081098178 | etot = -13.2825376576382 -384000 ekin = 3.2751121744025 | erot = 2.76828123033664 | epot = -19.3259310631183 | etot = -13.2825376583791 -385000 ekin = 3.36541347868724 | erot = 2.84251901104316 | epot = -19.4904701487526 | etot = -13.2825376590222 -386000 ekin = 3.44062041949959 | erot = 2.90728609466406 | epot = -19.63044417364 | etot = -13.2825376594764 -387000 ekin = 3.49708416826313 | erot = 2.95929717263878 | epot = -19.7389190005902 | etot = -13.2825376596883 -388000 ekin = 3.533208999321 | erot = 2.99676007578866 | epot = -19.8125067347616 | etot = -13.2825376596519 -389000 ekin = 3.54950477191345 | erot = 3.01944441497972 | epot = -19.8514868462967 | etot = -13.2825376594035 -390000 ekin = 3.54826504042807 | erot = 3.0285237431762 | epot = -19.8593264426073 | etot = -13.282537659003 -391000 ekin = 3.53302701092141 | erot = 3.02626577204824 | epot = -19.8418304414874 | etot = -13.2825376585178 -392000 ekin = 3.50797457908268 | erot = 3.01564117086781 | epot = -19.8061534079633 | etot = -13.2825376580128 -393000 ekin = 3.47739262395814 | erot = 2.99988985775754 | epot = -19.7598201392621 | etot = -13.2825376575465 -394000 ekin = 3.44522282252884 | erot = 2.98206454116459 | epot = -19.7098250208625 | etot = -13.2825376571691 -395000 ekin = 3.41473630917259 | erot = 2.96457892120641 | epot = -19.6618528872984 | etot = -13.2825376569194 -396000 ekin = 3.38832727675762 | erot = 2.94881280953746 | epot = -19.6196777431148 | etot = -13.2825376568197 -397000 ekin = 3.36743033117316 | erot = 2.93484808692962 | epot = -19.5848160749737 | etot = -13.2825376568709 -398000 ekin = 3.35256101408232 | erot = 2.92141113768133 | epot = -19.5565098088131 | etot = -13.2825376570494 -399000 ekin = 3.34346845309996 | erot = 2.90607029857247 | epot = -19.5320764089819 | etot = -13.2825376573095 -400000 ekin = 3.33937255609299 | erot = 2.885680940137 | epot = -19.5075911538209 | etot = -13.2825376575909 -401000 ekin = 3.33924190395778 | erot = 2.85700017339113 | epot = -19.4787797351814 | etot = -13.2825376578325 -402000 ekin = 3.34205998353793 | erot = 2.81733492842804 | epot = -19.4419325699511 | etot = -13.2825376579852 -403000 ekin = 3.34703246955441 | erot = 2.76507190137147 | epot = -19.3946420289475 | etot = -13.2825376580217 -404000 ekin = 3.35370775612875 | erot = 2.69997817544394 | epot = -19.3362235895114 | etot = -13.2825376579387 -405000 ekin = 3.36200495975411 | erot = 2.62323862900913 | epot = -19.267781246516 | etot = -13.2825376577527 -406000 ekin = 3.37216882210917 | erot = 2.53727277109297 | epot = -19.1919792506945 | etot = -13.2825376574923 -407000 ekin = 3.38467286642355 | erot = 2.44541531528468 | epot = -19.1126258388987 | etot = -13.2825376571904 -408000 ekin = 3.40009251679279 | erot = 2.351546289274 | epot = -19.0341764629466 | etot = -13.2825376568798 -409000 ekin = 3.41896361161237 | erot = 2.25973253002234 | epot = -18.9612337982248 | etot = -13.2825376565901 -410000 ekin = 3.44163818667736 | erot = 2.17391337707674 | epot = -18.8980892201012 | etot = -13.2825376563471 -411000 ekin = 3.46814489278439 | erot = 2.0976400383475 | epot = -18.8483225873044 | etot = -13.2825376561725 -412000 ekin = 3.49806473021567 | erot = 2.03386747107442 | epot = -18.8144698573729 | etot = -13.2825376560828 -413000 ekin = 3.53043538014826 | erot = 1.98479597299758 | epot = -18.7977690092345 | etot = -13.2825376560887 -414000 ekin = 3.56370058652801 | erot = 1.95176512736805 | epot = -18.7980033700889 | etot = -13.2825376561928 -415000 ekin = 3.59572274043747 | erot = 1.93521132484302 | epot = -18.8134717216681 | etot = -13.2825376563876 -416000 ekin = 3.62387476619394 | erot = 1.93470676736702 | epot = -18.8411191902142 | etot = -13.2825376566532 -417000 ekin = 3.64521944272596 | erot = 1.94909657754577 | epot = -18.876853677229 | etot = -13.2825376569573 -418000 ekin = 3.65676940727155 | erot = 1.97673635559937 | epot = -18.9160434201296 | etot = -13.2825376572587 -419000 ekin = 3.65580092830723 | erot = 2.01580487492087 | epot = -18.9541434607423 | etot = -13.2825376575142 -420000 ekin = 3.64017400050826 | erot = 2.06463212116893 | epot = -18.9873437793658 | etot = -13.2825376576886 -421000 ekin = 3.60860065288942 | erot = 2.12196023054716 | epot = -19.0130985412 | etot = -13.2825376577634 -422000 ekin = 3.56080810554285 | erot = 2.18705814557018 | epot = -19.0304039088553 | etot = -13.2825376577423 -423000 ekin = 3.49756602993001 | erot = 2.2596475407574 | epot = -19.039751228337 | etot = -13.2825376576496 -424000 ekin = 3.42057977942553 | erot = 2.33965549130008 | epot = -19.0427729282486 | etot = -13.282537657523 -425000 ekin = 3.33228159149848 | erot = 2.42686463918984 | epot = -19.041683888092 | etot = -13.2825376574037 -426000 ekin = 3.23556909606388 | erot = 2.52056283158619 | epot = -19.0386695849753 | etot = -13.2825376573252 -427000 ekin = 3.13354188401699 | erot = 2.61929302170861 | epot = -19.0353725630321 | etot = -13.2825376573065 -428000 ekin = 3.0292759344835 | erot = 2.72077464106008 | epot = -19.0325882328924 | etot = -13.2825376573488 -429000 ekin = 2.92565831326667 | erot = 2.82201873865485 | epot = -19.0302147093596 | etot = -13.2825376574381 -430000 ekin = 2.82528572275417 | erot = 2.91960138007576 | epot = -19.0274247603827 | etot = -13.2825376575528 -431000 ekin = 2.73041359107532 | erot = 3.01000711728769 | epot = -19.022958366036 | etot = -13.282537657673 -432000 ekin = 2.64293211741192 | erot = 3.08992822753868 | epot = -19.0153980027402 | etot = -13.2825376577896 -433000 ekin = 2.5643487123276 | erot = 3.15643021828492 | epot = -19.0033165885172 | etot = -13.2825376579047 -434000 ekin = 2.49577139885518 | erot = 3.20696626802576 | epot = -18.9852753249064 | etot = -13.2825376580255 -435000 ekin = 2.43791477049391 | erot = 3.23932321270836 | epot = -18.9597756413512 | etot = -13.2825376581489 -436000 ekin = 2.39117206292133 | erot = 3.25164920249376 | epot = -18.9253589236643 | etot = -13.2825376582492 -437000 ekin = 2.35579129858705 | erot = 3.242692409158 | epot = -18.8810213660213 | etot = -13.2825376582762 -438000 ekin = 2.33215137598627 | erot = 3.2122573583491 | epot = -18.826946392507 | etot = -13.2825376581716 -439000 ekin = 2.32106357051175 | erot = 3.16171527166972 | epot = -18.7653165000796 | etot = -13.2825376578981 -440000 ekin = 2.32396046468846 | erot = 3.09429994298005 | epot = -18.7007980651343 | etot = -13.2825376574658 -441000 ekin = 2.34282585391516 | erot = 3.01497153468249 | epot = -18.6403350455373 | etot = -13.2825376569397 -442000 ekin = 2.37979980925652 | erot = 2.92981680804517 | epot = -18.5921542737248 | etot = -13.2825376564231 -443000 ekin = 2.4365622855113 | erot = 2.84513622245133 | epot = -18.5642361639992 | etot = -13.2825376560366 -444000 ekin = 2.51342571777129 | erot = 2.76656039612237 | epot = -18.5625237697596 | etot = -13.2825376558659 -445000 ekin = 2.60880718707236 | erot = 2.6982799889581 | epot = -18.5896248319859 | etot = -13.2825376559555 -446000 ekin = 2.71906096767643 | erot = 2.64257205052642 | epot = -18.6441706744995 | etot = -13.2825376562967 -447000 ekin = 2.83874401672722 | erot = 2.59965346897689 | epot = -18.7209351425404 | etot = -13.2825376568363 -448000 ekin = 2.9612677241565 | erot = 2.56781480894371 | epot = -18.8116201905961 | etot = -13.2825376574959 -449000 ekin = 3.07973256248662 | erot = 2.54376856118776 | epot = -18.9060387818648 | etot = -13.2825376581905 -450000 ekin = 3.18773299393503 | erot = 2.52315582293758 | epot = -18.9934264757091 | etot = -13.2825376588364 -451000 ekin = 3.28001368752861 | erot = 2.50120181208454 | epot = -19.063753158962 | etot = -13.2825376593488 -452000 ekin = 3.35296274688896 | erot = 2.47353158346301 | epot = -19.1090319899968 | etot = -13.2825376596448 -453000 ekin = 3.40494017429419 | erot = 2.43707428126018 | epot = -19.1245521152182 | etot = -13.2825376596639 -454000 ekin = 3.4363755140164 | erot = 2.39082250837405 | epot = -19.1097356817938 | etot = -13.2825376594033 -455000 ekin = 3.44952760872581 | erot = 2.33613006950283 | epot = -19.068195337143 | etot = -13.2825376589143 -456000 ekin = 3.44799144671178 | erot = 2.27640153123202 | epot = -19.0069306362517 | etot = -13.2825376583079 -457000 ekin = 3.43601809740561 | erot = 2.21623652991106 | epot = -18.9347922850174 | etot = -13.2825376577007 -458000 ekin = 3.41788845141646 | erot = 2.16036216289489 | epot = -18.8607882714966 | etot = -13.2825376571853 -459000 ekin = 3.3974915193921 | erot = 2.1126853259723 | epot = -18.7927145021792 | etot = -13.2825376568148 -460000 ekin = 3.37812232252278 | erot = 2.07567909161665 | epot = -18.7363390707418 | etot = -13.2825376566024 -461000 ekin = 3.36231617612483 | erot = 2.05042996966781 | epot = -18.6952838023611 | etot = -13.2825376565685 -462000 ekin = 3.3516010060643 | erot = 2.03669678982629 | epot = -18.6708354525495 | etot = -13.2825376566589 -463000 ekin = 3.34749626496556 | erot = 2.03201016323594 | epot = -18.6620440849604 | etot = -13.2825376567589 -464000 ekin = 3.35152548101934 | erot = 2.0337250814521 | epot = -18.6677882192943 | etot = -13.2825376568228 -465000 ekin = 3.36505604034505 | erot = 2.03980035193901 | epot = -18.6873940492497 | etot = -13.2825376569656 -466000 ekin = 3.38750814155039 | erot = 2.04917645650973 | epot = -18.719222255183 | etot = -13.2825376571229 -467000 ekin = 3.4178184653666 | erot = 2.06078922447546 | epot = -18.7611453471486 | etot = -13.2825376573065 -468000 ekin = 3.45442517049901 | erot = 2.07383123666845 | epot = -18.8107940646916 | etot = -13.2825376575242 -469000 ekin = 3.49517146555562 | erot = 2.08763407955549 | epot = -18.865343202886 | etot = -13.2825376577749 -470000 ekin = 3.5375430439129 | erot = 2.10145518357207 | epot = -18.9215358855281 | etot = -13.2825376580432 -471000 ekin = 3.578984874629 | erot = 2.11439735083904 | epot = -18.9759198837616 | etot = -13.2825376582935 -472000 ekin = 3.61725786632456 | erot = 2.12555669055365 | epot = -19.0253522153517 | etot = -13.2825376584735 -473000 ekin = 3.65079380576158 | erot = 2.13440730770354 | epot = -19.067738771992 | etot = -13.2825376585269 -474000 ekin = 3.67897471803071 | erot = 2.14127953357501 | epot = -19.1027919100301 | etot = -13.2825376584244 -475000 ekin = 3.70221628145261 | erot = 2.14765507905023 | epot = -19.1324090186923 | etot = -13.2825376581894 -476000 ekin = 3.72174790903032 | erot = 2.15602304575789 | epot = -19.1603086126886 | etot = -13.2825376579004 -477000 ekin = 3.73912018616774 | erot = 2.16928365663934 | epot = -19.1909415004594 | etot = -13.2825376576523 -478000 ekin = 3.7556510063889 | erot = 2.18999309719236 | epot = -19.2281817610876 | etot = -13.2825376575064 -479000 ekin = 3.77207488928898 | erot = 2.21984602916671 | epot = -19.2744585759238 | etot = -13.2825376574681 -480000 ekin = 3.78851866246641 | erot = 2.25959918548264 | epot = -19.33065550545 | etot = -13.2825376575009 -481000 ekin = 3.80616995061892 | erot = 2.30984659763992 | epot = -19.3985542055291 | etot = -13.2825376572702 -482000 ekin = 3.82906961959312 | erot = 2.37155747933105 | epot = -19.4831647566187 | etot = -13.2825376576945 -483000 ekin = 3.85390461343509 | erot = 2.44250735312729 | epot = -19.5789496246803 | etot = -13.2825376581179 -484000 ekin = 3.87679301499903 | erot = 2.51997841363885 | epot = -19.6793090871881 | etot = -13.2825376585502 -485000 ekin = 3.8941855852142 | erot = 2.60083126184978 | epot = -19.7775545060489 | etot = -13.2825376589849 -486000 ekin = 3.9031377534013 | erot = 2.6813903200239 | epot = -19.8670657328057 | etot = -13.2825376593805 -487000 ekin = 3.90177537850899 | erot = 2.75761792311516 | epot = -19.9419309612876 | etot = -13.2825376596634 -488000 ekin = 3.88986213162243 | erot = 2.82561628023474 | epot = -19.9980160716132 | etot = -13.282537659756 -489000 ekin = 3.86922231453849 | erot = 2.88229752819206 | epot = -20.0340575023505 | etot = -13.2825376596199 -490000 ekin = 3.84371636435388 | erot = 2.92590481083659 | epot = -20.0521588344839 | etot = -13.2825376592934 -491000 ekin = 3.8185829048698 | erot = 2.95607206100703 | epot = -20.0571926247696 | etot = -13.2825376588928 -492000 ekin = 3.79923632244268 | erot = 2.97333279544265 | epot = -20.0551067764526 | etot = -13.2825376585672 -493000 ekin = 3.78992062784017 | erot = 2.97831679174203 | epot = -20.0507750780101 | etot = -13.2825376584279 -494000 ekin = 3.7922931345625 | erot = 2.97052771091745 | epot = -20.0453585079511 | etot = -13.2825376624711 -495000 ekin = 3.79451442394532 | erot = 2.9341072450869 | epot = -20.0111593284224 | etot = -13.2825376593901 -496000 ekin = 3.8106248823664 | erot = 2.88141942472008 | epot = -19.9745819636276 | etot = -13.2825376565411 -497000 ekin = 3.85788186105348 | erot = 2.83372744077321 | epot = -19.9741469603241 | etot = -13.2825376584974 -498000 ekin = 3.9188457938421 | erot = 2.78115548050691 | epot = -19.9825389377102 | etot = -13.2825376633612 -499000 ekin = 3.96315793686508 | erot = 2.7024680648114 | epot = -19.9481636596344 | etot = -13.2825376579579 -500000 ekin = 4.0027205762755 | erot = 2.61046054601125 | epot = -19.8957187797513 | etot = -13.2825376574646 -501000 ekin = 4.04216054275046 | erot = 2.51312796103934 | epot = -19.8378261606956 | etot = -13.2825376569058 -502000 ekin = 4.08330148514098 | erot = 2.4163270430933 | epot = -19.7821661846463 | etot = -13.282537656412 -503000 ekin = 4.12765179374065 | erot = 2.32533692997657 | epot = -19.7355263797907 | etot = -13.2825376560735 -504000 ekin = 4.17571661390275 | erot = 2.24418432885896 | epot = -19.7024385986861 | etot = -13.2825376559244 -505000 ekin = 4.22673456414904 | erot = 2.17536462286828 | epot = -19.6846368429618 | etot = -13.2825376559445 -506000 ekin = 4.27886046445946 | erot = 2.11995169727426 | epot = -19.6813498177143 | etot = -13.2825376559806 -507000 ekin = 4.32989839509928 | erot = 2.07798999628154 | epot = -19.69042604762 | etot = -13.2825376562392 -508000 ekin = 4.37683697458704 | erot = 2.04846223351658 | epot = -19.7078368645412 | etot = -13.2825376564376 -509000 ekin = 4.41701088936698 | erot = 2.03040461252071 | epot = -19.7299531584268 | etot = -13.2825376565391 -510000 ekin = 4.44869291188054 | erot = 2.0233924534507 | epot = -19.7546230218677 | etot = -13.2825376565364 -511000 ekin = 4.47114700663339 | erot = 2.02761863549144 | epot = -19.7813032985736 | etot = -13.2825376564488 -512000 ekin = 4.4844887018835 | erot = 2.0437568785043 | epot = -19.8107832368059 | etot = -13.2825376564181 -513000 ekin = 4.48914630706749 | erot = 2.07205454687191 | epot = -19.843738510293 | etot = -13.2825376563536 -514000 ekin = 4.48557666179243 | erot = 2.11236294794722 | epot = -19.8804772660566 | etot = -13.282537656317 -515000 ekin = 4.47432723706423 | erot = 2.1643658113937 | epot = -19.9212307047863 | etot = -13.2825376563284 -516000 ekin = 4.45582679664873 | erot = 2.22719069336347 | epot = -19.9655551464075 | etot = -13.2825376563953 -517000 ekin = 4.43030463229401 | erot = 2.29935278529871 | epot = -20.0121950741066 | etot = -13.2825376565139 -518000 ekin = 4.39778184135702 | erot = 2.37880116113426 | epot = -20.0591206591638 | etot = -13.2825376566725 -519000 ekin = 4.35811170485674 | erot = 2.46303435402364 | epot = -20.1036837157379 | etot = -13.2825376568575 -520000 ekin = 4.31103971552179 | erot = 2.54924277018193 | epot = -20.14282014276 | etot = -13.2825376570563 -521000 ekin = 4.25625922128732 | erot = 2.63444730369841 | epot = -20.1732441822451 | etot = -13.2825376572594 -522000 ekin = 4.19345339504562 | erot = 2.71562973710461 | epot = -20.1916207896065 | etot = -13.2825376574562 -523000 ekin = 4.12233106590031 | erot = 2.78987661785175 | epot = -20.1947453413846 | etot = -13.2825376576325 -524000 ekin = 4.04267462479128 | erot = 2.85456825313573 | epot = -20.1797805356948 | etot = -13.2825376577678 -525000 ekin = 3.95441508754014 | erot = 2.9076289252841 | epot = -20.14458167066 | etot = -13.2825376578358 -526000 ekin = 3.85773415549987 | erot = 2.94781757722392 | epot = -20.0880893905345 | etot = -13.2825376578107 -527000 ekin = 3.75317337789272 | erot = 2.97499774804953 | epot = -20.0107087836172 | etot = -13.282537657675 -528000 ekin = 3.64171566472863 | erot = 2.99029287547963 | epot = -19.9145462004646 | etot = -13.2825376602563 -529000 ekin = 3.52133457981484 | erot = 2.97329981123796 | epot = -19.777172048072 | etot = -13.2825376570192 -530000 ekin = 3.40524483354409 | erot = 2.93138498576302 | epot = -19.619167471763 | etot = -13.2825376524559 -531000 ekin = 3.31329586023445 | erot = 2.90771179337181 | epot = -19.5035453066036 | etot = -13.2825376529973 -532000 ekin = 3.23028138422137 | erot = 2.91095227687559 | epot = -19.4237713182328 | etot = -13.2825376571358 -533000 ekin = 3.12254472504549 | erot = 2.92159652025206 | epot = -19.3266789030856 | etot = -13.282537657788 -534000 ekin = 3.01044793876856 | erot = 2.93913625615421 | epot = -19.2321218524818 | etot = -13.282537657559 -535000 ekin = 2.90665974197478 | erot = 2.96765394780088 | epot = -19.1568513472188 | etot = -13.2825376574432 -536000 ekin = 2.81267447142782 | erot = 3.00750648803519 | epot = -19.1027186169117 | etot = -13.2825376574487 -537000 ekin = 2.72954271623794 | erot = 3.05761918513524 | epot = -19.0696995589458 | etot = -13.2825376575726 -538000 ekin = 2.65787075122818 | erot = 3.11553336281627 | epot = -19.0559417718444 | etot = -13.2825376577999 -539000 ekin = 2.59787048049233 | erot = 3.17759265898484 | epot = -19.0580007975803 | etot = -13.2825376581031 -540000 ekin = 2.54945648890107 | erot = 3.23927692413161 | epot = -19.0712710714752 | etot = -13.2825376584425 -541000 ekin = 2.512378643395 | erot = 3.29568121876202 | epot = -19.0905975209266 | etot = -13.2825376587696 -542000 ekin = 2.48636877597141 | erot = 3.34210880592089 | epot = -19.1110152409261 | etot = -13.2825376590338 -543000 ekin = 2.4712699055648 | erot = 3.3747065125272 | epot = -19.1285140772836 | etot = -13.2825376591916 -544000 ekin = 2.46711428276816 | erot = 3.3910375894335 | epot = -19.1406895314189 | etot = -13.2825376592173 -545000 ekin = 2.4741173500058 | erot = 3.39046709618852 | epot = -19.1471221053056 | etot = -13.2825376591113 -546000 ekin = 2.49256786330789 | erot = 3.37425739408745 | epot = -19.1493629162983 | etot = -13.282537658903 -547000 ekin = 2.52261985355472 | erot = 3.34533431811562 | epot = -19.1504918303153 | etot = -13.282537658645 -548000 ekin = 2.5640229402261 | erot = 3.30777050325775 | epot = -19.1543311018841 | etot = -13.2825376584002 -549000 ekin = 2.61585467172264 | erot = 3.26610888708834 | epot = -19.1645012170377 | etot = -13.2825376582267 -550000 ekin = 2.67632806501996 | erot = 3.22468583528343 | epot = -19.1835515584667 | etot = -13.2825376581633 -551000 ekin = 2.74273542047637 | erot = 3.18709627675594 | epot = -19.2123693554546 | etot = -13.2825376582223 -552000 ekin = 2.81155537633479 | erot = 3.155885283811 | epot = -19.2499783185357 | etot = -13.2825376583899 -553000 ekin = 2.87870715456128 | erot = 3.13247774360817 | epot = -19.2937225568035 | etot = -13.2825376586341 -554000 ekin = 2.93989960588701 | erot = 3.11729757853042 | epot = -19.3397348433313 | etot = -13.2825376589139 -555000 ekin = 2.99100571713598 | erot = 3.10999728881064 | epot = -19.3835406651366 | etot = -13.2825376591899 -556000 ekin = 3.02839929468956 | erot = 3.10971957917588 | epot = -19.4206565332962 | etot = -13.2825376594307 -557000 ekin = 3.04921300214246 | erot = 3.11533545055142 | epot = -19.4470861123087 | etot = -13.2825376596148 -558000 ekin = 3.05150347330348 | erot = 3.12563190762297 | epot = -19.4596730406569 | etot = -13.2825376597304 -559000 ekin = 3.03432873631885 | erot = 3.13944482423083 | epot = -19.456311220323 | etot = -13.2825376597733 -560000 ekin = 2.9977526924766 | erot = 3.15574356337998 | epot = -19.4360339156024 | etot = -13.2825376597459 -561000 ekin = 2.9427917179436 | erot = 3.17367577833455 | epot = -19.3990051559327 | etot = -13.2825376596546 -562000 ekin = 2.87131567491266 | erot = 3.19257954673888 | epot = -19.3464328811612 | etot = -13.2825376595096 -563000 ekin = 2.78591370477051 | erot = 3.2119692901947 | epot = -19.2804206542887 | etot = -13.2825376593235 -564000 ekin = 2.6897353367659 | erot = 3.23150302487196 | epot = -19.2037760207478 | etot = -13.28253765911 -565000 ekin = 2.58631900803989 | erot = 3.25094003294576 | epot = -19.1197966998677 | etot = -13.282537658882 -566000 ekin = 2.47942134877151 | erot = 3.27009788587128 | epot = -19.0320568932949 | etot = -13.2825376586521 -567000 ekin = 2.37285930824791 | erot = 3.28881390752303 | epot = -18.9442108742005 | etot = -13.2825376584296 -568000 ekin = 2.2703747720392 | erot = 3.30691420257032 | epot = -18.8598266328315 | etot = -13.282537658222 -569000 ekin = 2.17552646994053 | erot = 3.32418852070003 | epot = -18.7822526486758 | etot = -13.2825376580353 -570000 ekin = 2.09160717358308 | erot = 3.34036686780938 | epot = -18.7145116992668 | etot = -13.2825376578743 -571000 ekin = 2.02157831416758 | erot = 3.35509336873546 | epot = -18.659209340647 | etot = -13.282537657744 -572000 ekin = 1.96800973251089 | erot = 3.36789498998737 | epot = -18.6184423801492 | etot = -13.2825376576509 -573000 ekin = 1.93301131087701 | erot = 3.37814685793009 | epot = -18.5936958264095 | etot = -13.2825376576024 -574000 ekin = 1.91814454492506 | erot = 3.38504063674726 | epot = -18.5857228392799 | etot = -13.2825376576076 -575000 ekin = 1.92430832574408 | erot = 3.38756624559013 | epot = -18.5944122290096 | etot = -13.2825376576754 -576000 ekin = 1.95160447468999 | erot = 3.38452119824164 | epot = -18.6186633307441 | etot = -13.2825376578125 -577000 ekin = 1.99920036892949 | erot = 3.37456184630709 | epot = -18.6562998732574 | etot = -13.2825376580208 -578000 ekin = 2.06522335781187 | erot = 3.35630974832182 | epot = -18.7040707644253 | etot = -13.2825376582916 -579000 ekin = 2.14673519283674 | erot = 3.32851940880933 | epot = -18.7577922602508 | etot = -13.2825376586048 -580000 ekin = 2.23983758246226 | erot = 3.29029959752555 | epot = -18.8126748389145 | etot = -13.2825376589267 -581000 ekin = 2.33993889926474 | erot = 3.2413588197994 | epot = -18.8638353782784 | etot = -13.2825376592143 -582000 ekin = 2.44216781902051 | erot = 3.18222403798945 | epot = -18.9069295164348 | etot = -13.2825376594248 -583000 ekin = 2.54186285338444 | erot = 3.11436905975195 | epot = -18.938769572664 | etot = -13.2825376595277 -584000 ekin = 2.63514321918155 | erot = 3.04016994421133 | epot = -18.9578508227089 | etot = -13.282537659316 -585000 ekin = 2.72038124549456 | erot = 2.96231486727155 | epot = -18.9652337720477 | etot = -13.2825376592816 -586000 ekin = 2.79529742079441 | erot = 2.88397447344912 | epot = -18.9618095534158 | etot = -13.2825376591723 -587000 ekin = 2.85803030913321 | erot = 2.80849541230731 | epot = -18.9490633804616 | etot = -13.2825376590211 -588000 ekin = 2.90761924156872 | erot = 2.73897208360503 | epot = -18.9291289840339 | etot = -13.2825376588602 -589000 ekin = 2.94382190770487 | erot = 2.67796026301525 | epot = -18.9043198294349 | etot = -13.2825376587148 -590000 ekin = 2.96693832518588 | erot = 2.62724420195739 | epot = -18.8767201857421 | etot = -13.2825376585988 -591000 ekin = 2.97766737843971 | erot = 2.58778349306991 | epot = -18.8479885300284 | etot = -13.2825376585188 -592000 ekin = 2.97699718658878 | erot = 2.55971358410891 | epot = -18.8192484291735 | etot = -13.2825376584758 -593000 ekin = 2.96611919165746 | erot = 2.54241252023367 | epot = -18.7910693703577 | etot = -13.2825376584665 -594000 ekin = 2.94635665291053 | erot = 2.53461934099529 | epot = -18.7635136523902 | etot = -13.2825376584844 -595000 ekin = 2.9190856971103 | erot = 2.53443482987529 | epot = -18.7360581856667 | etot = -13.2825376586811 -596000 ekin = 2.8853504738233 | erot = 2.53857982681691 | epot = -18.706467959401 | etot = -13.2825376587608 -597000 ekin = 2.84590859896362 | erot = 2.54482361730832 | epot = -18.6732698750819 | etot = -13.28253765881 -598000 ekin = 2.80153060630531 | erot = 2.55163242417959 | epot = -18.6357006893061 | etot = -13.2825376588212 -599000 ekin = 2.75300405719548 | erot = 2.55803363008721 | epot = -18.5935753460782 | etot = -13.2825376587955 -600000 ekin = 2.70110632481711 | erot = 2.56364667646595 | epot = -18.5472906600206 | etot = -13.2825376587375 -601000 ekin = 2.64657369871742 | erot = 2.56865533018097 | epot = -18.4977666875493 | etot = -13.2825376586509 -602000 ekin = 2.59009198472601 | erot = 2.57375726191876 | epot = -18.4463869051824 | etot = -13.2825376585376 -603000 ekin = 2.53231053373895 | erot = 2.58010020264817 | epot = -18.394948394788 | etot = -13.2825376584008 -604000 ekin = 2.47386381072251 | erot = 2.58919184014772 | epot = -18.3455933091172 | etot = -13.282537658247 -605000 ekin = 2.41538802270495 | erot = 2.60277705143637 | epot = -18.300702732226 | etot = -13.2825376580847 -606000 ekin = 2.35753010244784 | erot = 2.62269152367331 | epot = -18.2627592840455 | etot = -13.2825376579243 -607000 ekin = 2.30095094648108 | erot = 2.65066096469453 | epot = -18.2341495689615 | etot = -13.2825376577859 -608000 ekin = 2.24632550981926 | erot = 2.68812711797909 | epot = -18.2169902854641 | etot = -13.2825376576658 -609000 ekin = 2.19433984205684 | erot = 2.73619296831783 | epot = -18.2130704679521 | etot = -13.2825376575774 -610000 ekin = 2.14568734116616 | erot = 2.7954628779701 | epot = -18.2236878766643 | etot = -13.2825376575281 -611000 ekin = 2.10106577312396 | erot = 2.8659456974561 | epot = -18.2495491281024 | etot = -13.2825376575223 -612000 ekin = 2.06117569763992 | erot = 2.9469880537389 | epot = -18.2907014089413 | etot = -13.2825376575624 -613000 ekin = 2.02671979094169 | erot = 3.03724338411132 | epot = -18.3465008327016 | etot = -13.2825376576486 -614000 ekin = 1.99840061160405 | erot = 3.13468327208026 | epot = -18.415621541462 | etot = -13.2825376577777 -615000 ekin = 1.97691265350076 | erot = 3.23665756946818 | epot = -18.4961078809123 | etot = -13.2825376579434 -616000 ekin = 1.96292427456966 | erot = 3.34000833576273 | epot = -18.58547026847 | etot = -13.2825376581376 -617000 ekin = 1.95704706954419 | erot = 3.4412390414853 | epot = -18.680823769378 | etot = -13.2825376583485 -618000 ekin = 1.95979426061707 | erot = 3.53673433570056 | epot = -18.7790662548804 | etot = -13.2825376585628 -619000 ekin = 1.97153436735861 | erot = 3.62301686059867 | epot = -18.8770888867224 | etot = -13.2825376587651 -620000 ekin = 1.99244950083126 | erot = 3.69701656993236 | epot = -18.9720037297043 | etot = -13.2825376589407 -621000 ekin = 2.02250680811196 | erot = 3.75631711882421 | epot = -19.0613615860136 | etot = -13.2825376590775 -622000 ekin = 2.06144629220648 | erot = 3.7993379752723 | epot = -19.1433219266483 | etot = -13.2825376591695 -623000 ekin = 2.10878075940092 | erot = 3.82541513939284 | epot = -19.216733558012 | etot = -13.2825376592183 -624000 ekin = 2.16379839198576 | erot = 3.83475982186747 | epot = -19.2810958730871 | etot = -13.2825376592339 -625000 ekin = 2.22555932782583 | erot = 3.82830035125848 | epot = -19.3363973383166 | etot = -13.2825376592323 -626000 ekin = 2.29288544260848 | erot = 3.80744110347782 | epot = -19.3828642053181 | etot = -13.2825376592318 -627000 ekin = 2.36435394305829 | erot = 3.77379464741738 | epot = -19.4206862497219 | etot = -13.2825376592462 -628000 ekin = 2.43831432674405 | erot = 3.72895154257647 | epot = -19.4498035286011 | etot = -13.2825376592806 -629000 ekin = 2.5129489794456 | erot = 3.67434156158729 | epot = -19.4698282003614 | etot = -13.2825376593285 -630000 ekin = 2.58638771765141 | erot = 3.61121141784532 | epot = -19.4801367948702 | etot = -13.2825376593735 -631000 ekin = 2.65686759984465 | erot = 3.54070434322503 | epot = -19.4801096088593 | etot = -13.2825376657897 -632000 ekin = 2.72291190263409 | erot = 3.46399577717246 | epot = -19.4694453501734 | etot = -13.2825376703668 -633000 ekin = 2.78348672611247 | erot = 3.38241264800352 | epot = -19.4484370444086 | etot = -13.2825376702926 -634000 ekin = 2.83810143013786 | erot = 3.29749507668476 | epot = -19.4181341769904 | etot = -13.2825376701678 -635000 ekin = 2.88683118402529 | erot = 3.21096793801688 | epot = -19.3803367920453 | etot = -13.2825376700031 -636000 ekin = 2.93026618630813 | erot = 3.12465298496839 | epot = -19.3374568410897 | etot = -13.2825376698132 -637000 ekin = 2.96941056885858 | erot = 3.0403692465718 | epot = -19.2923174850405 | etot = -13.2825376696101 -638000 ekin = 3.00556169693335 | erot = 2.95987410217697 | epot = -19.2479734685112 | etot = -13.2825376694009 -639000 ekin = 3.04019340865286 | erot = 2.88486846877298 | epot = -19.2075995466134 | etot = -13.2825376691875 -640000 ekin = 3.07485121524287 | erot = 2.81704601028373 | epot = -19.1744348944991 | etot = -13.2825376689725 -641000 ekin = 3.11105408028794 | erot = 2.75813097963992 | epot = -19.1517227286916 | etot = -13.2825376687637 -642000 ekin = 3.15019312328036 | erot = 2.7098440548544 | epot = -19.1425748467125 | etot = -13.2825376685778 -643000 ekin = 3.19342381264373 | erot = 2.67376399477657 | epot = -19.149725475858 | etot = -13.2825376684377 -644000 ekin = 3.2415588207624 | erot = 2.65109893593325 | epot = -19.1751954250647 | etot = -13.282537668369 -645000 ekin = 3.29497575523204 | erot = 2.64241916696914 | epot = -19.2199325905945 | etot = -13.2825376683933 -646000 ekin = 3.35355393407658 | erot = 2.64741690321924 | epot = -19.2835085058203 | etot = -13.2825376685245 -647000 ekin = 3.41664956861565 | erot = 2.66474995394752 | epot = -19.3639371913281 | etot = -13.2825376687649 -648000 ekin = 3.4831141060628 | erot = 2.69200913896267 | epot = -19.4576609141298 | etot = -13.2825376691043 -649000 ekin = 3.55135925694529 | erot = 2.72583530732997 | epot = -19.5597322337925 | etot = -13.2825376695172 -650000 ekin = 3.61947301797377 | erot = 2.76220049491276 | epot = -19.6642111828496 | etot = -13.2825376699631 -651000 ekin = 3.68538880274457 | erot = 2.79684816347516 | epot = -19.764774636609 | etot = -13.2825376703893 -652000 ekin = 3.74709908730354 | erot = 2.82584894414238 | epot = -19.8554857021858 | etot = -13.2825376707399 -653000 ekin = 3.80288488877091 | erot = 2.84617490646358 | epot = -19.9315974662018 | etot = -13.2825376709673 -654000 ekin = 3.85151192347428 | erot = 2.85615319330961 | epot = -19.9902027878321 | etot = -13.2825376710482 -655000 ekin = 3.89233743675784 | erot = 2.85566240366418 | epot = -20.0305375114124 | etot = -13.2825376709904 -656000 ekin = 3.92529306042297 | erot = 2.84600373605249 | epot = -20.0538344673054 | etot = -13.2825376708299 -657000 ekin = 3.9507492437021 | erot = 2.82948452039627 | epot = -20.0627714347188 | etot = -13.2825376706204 -658000 ekin = 3.96930448522689 | erot = 2.80884105011381 | epot = -20.0606832057567 | etot = -13.282537670416 -659000 ekin = 3.98156254976232 | erot = 2.78666073057887 | epot = -20.0507609506005 | etot = -13.2825376702593 -660000 ekin = 3.98794995381879 | erot = 2.76493225942124 | epot = -20.0354198834157 | etot = -13.2825376701757 -661000 ekin = 3.98860416113611 | erot = 2.74479055428647 | epot = -20.0159323855936 | etot = -13.282537670171 -662000 ekin = 3.98333736211109 | erot = 2.72646306735502 | epot = -19.9923380997025 | etot = -13.2825376702364 -663000 ekin = 3.9716619686291 | erot = 2.70938404532074 | epot = -19.9635836843021 | etot = -13.2825376703522 -664000 ekin = 3.95286211458908 | erot = 2.69242500163181 | epot = -19.9278247867134 | etot = -13.2825376704925 -665000 ekin = 3.92609780975317 | erot = 2.67418491171735 | epot = -19.8828203921001 | etot = -13.2825376706295 -666000 ekin = 3.89053574202168 | erot = 2.65328635574181 | epot = -19.8263597684999 | etot = -13.2825376707365 -667000 ekin = 3.84550518468516 | erot = 2.62863029044506 | epot = -19.7566731459204 | etot = -13.2825376707901 -668000 ekin = 3.79067534879777 | erot = 2.59957256262197 | epot = -19.6727855821932 | etot = -13.2825376707734 -669000 ekin = 3.72624194861737 | erot = 2.56600183381133 | epot = -19.5747814531047 | etot = -13.282537670676 -670000 ekin = 3.65309967705475 | erot = 2.52832169427011 | epot = -19.4639590418208 | etot = -13.282537670496 -671000 ekin = 3.57296811018949 | erot = 2.48736383191286 | epot = -19.3428696123407 | etot = -13.2825376702383 -672000 ekin = 3.48843263531181 | erot = 2.44427271264344 | epot = -19.2152430178709 | etot = -13.2825376699157 -673000 ekin = 3.40286035229605 | erot = 2.40039617767075 | epot = -19.0857941995173 | etot = -13.2825376695505 -674000 ekin = 3.32015657280881 | erot = 2.35719425457316 | epot = -18.9598884965573 | etot = -13.2825376691753 -675000 ekin = 3.24436019808196 | erot = 2.31615841412129 | epot = -18.8430562810334 | etot = -13.2825376688302 -676000 ekin = 3.17913583606399 | erot = 2.27873161512438 | epot = -18.740405119743 | etot = -13.2825376685547 -677000 ekin = 3.12743284479367 | erot = 2.24616920610074 | epot = -18.6561397192095 | etot = -13.2825376683151 -678000 ekin = 3.09116321204123 | erot = 2.21938913067767 | epot = -18.5930900109928 | etot = -13.2825376682739 -679000 ekin = 3.06996492217903 | erot = 2.19955802308988 | epot = -18.5520606135526 | etot = -13.2825376682837 -680000 ekin = 3.06282540105824 | erot = 2.18767057709701 | epot = -18.5330336464769 | etot = -13.2825376683217 -681000 ekin = 3.06856941759266 | erot = 2.18446333304883 | epot = -18.5355704190133 | etot = -13.2825376683718 -682000 ekin = 3.08614503868821 | erot = 2.19031007375325 | epot = -18.5589927809047 | etot = -13.2825376684632 -683000 ekin = 3.11401676517912 | erot = 2.20483123961229 | epot = -18.6013856734681 | etot = -13.2825376686767 -684000 ekin = 3.1499497049718 | erot = 2.22703766523478 | epot = -18.6595250391781 | etot = -13.2825376689715 -685000 ekin = 3.1913881729591 | erot = 2.25525783713242 | epot = -18.7291836794166 | etot = -13.2825376693251 -686000 ekin = 3.2355359736388 | erot = 2.28721755220356 | epot = -18.8052911955454 | etot = -13.282537669703 -687000 ekin = 3.27958856790023 | erot = 2.32030038563959 | epot = -18.8824266236037 | etot = -13.2825376700639 -688000 ekin = 3.32103493725068 | erot = 2.35186996598866 | epot = -18.9554425735995 | etot = -13.2825376703601 -689000 ekin = 3.35799818039315 | erot = 2.37963585732459 | epot = -19.0201717082656 | etot = -13.2825376705479 -690000 ekin = 3.38953188177024 | erot = 2.40199807238457 | epot = -19.0740676247556 | etot = -13.2825376706008 -691000 ekin = 3.41577144695012 | erot = 2.41828305275593 | epot = -19.1165921702244 | etot = -13.2825376705183 -692000 ekin = 3.43789562336026 | erot = 2.42879295705483 | epot = -19.1492262507455 | etot = -13.2825376703304 -693000 ekin = 3.45784949823494 | erot = 2.43469159318125 | epot = -19.1750787614971 | etot = -13.2825376700809 -694000 ekin = 3.47795427967228 | erot = 2.43774070868771 | epot = -19.1982326581791 | etot = -13.2825376698191 -695000 ekin = 3.50053093039143 | erot = 2.43997131609287 | epot = -19.2230399160667 | etot = -13.2825376695824 -696000 ekin = 3.52761050730188 | erot = 2.44340337549972 | epot = -19.253551552192 | etot = -13.2825376693904 -697000 ekin = 3.56079077322806 | erot = 2.44986396554409 | epot = -19.2931924080192 | etot = -13.2825376692471 -698000 ekin = 3.60121696147359 | erot = 2.46089758486526 | epot = -19.3446522154888 | etot = -13.28253766915 -699000 ekin = 3.6496121327901 | erot = 2.47770733427071 | epot = -19.4098571361639 | etot = -13.2825376691031 -700000 ekin = 3.70626748084333 | erot = 2.50104915957359 | epot = -19.4898543095415 | etot = -13.2825376691246 -701000 ekin = 3.77093513695816 | erot = 2.53103621287959 | epot = -19.5845090190825 | etot = -13.2825376692448 -702000 ekin = 3.84262768940034 | erot = 2.56687733849262 | epot = -19.6920426973887 | etot = -13.2825376694958 -703000 ekin = 3.91940034762304 | erot = 2.60664110638312 | epot = -19.8085791238994 | etot = -13.2825376698933 -704000 ekin = 3.9982358547303 | erot = 2.64716826817973 | epot = -19.9279417933333 | etot = -13.2825376704233 -705000 ekin = 4.07514464413495 | erot = 2.68423896184971 | epot = -20.0419212770165 | etot = -13.2825376710318 -706000 ekin = 4.14554203036507 | erot = 2.71304391273882 | epot = -20.1411236147333 | etot = -13.2825376716295 -707000 ekin = 4.20487575193823 | erot = 2.7289253372954 | epot = -20.2163387613403 | etot = -13.2825376721067 -708000 ekin = 4.24938283126873 | erot = 2.72825870746495 | epot = -20.2601792110953 | etot = -13.2825376723616 -709000 ekin = 4.27678612885237 | erot = 2.70926619644947 | epot = -20.2685899976319 | etot = -13.2825376723301 -710000 ekin = 4.28673081641948 | erot = 2.67252621890016 | epot = -20.2417947073265 | etot = -13.2825376720069 -711000 ekin = 4.28082322623417 | erot = 2.6210105179504 | epot = -20.1843714156341 | etot = -13.2825376714495 -712000 ekin = 4.26225868779622 | erot = 2.55962600082617 | epot = -20.104422359382 | etot = -13.2825376707596 -713000 ekin = 4.23515498224752 | erot = 2.49440280552867 | epot = -20.0120954578281 | etot = -13.2825376700519 -714000 ekin = 4.20378550523481 | erot = 2.43156567582597 | epot = -19.9178888504867 | etot = -13.282537669426 -715000 ekin = 4.17190188735528 | erot = 2.37671476689976 | epot = -19.8311543232044 | etot = -13.2825376689494 -716000 ekin = 4.14226649350958 | erot = 2.33425236976786 | epot = -19.7590565319311 | etot = -13.2825376686537 -717000 ekin = 4.11642945246045 | erot = 2.30708700174596 | epot = -19.7060541227473 | etot = -13.2825376685409 -718000 ekin = 4.09471959167245 | erot = 2.29657561669689 | epot = -19.6738328769614 | etot = -13.282537668592 -719000 ekin = 4.07639008593528 | erot = 2.30263774998752 | epot = -19.6615655046985 | etot = -13.2825376687757 -720000 ekin = 4.05985922917437 | erot = 2.32397934764256 | epot = -19.666376245872 | etot = -13.2825376690551 -721000 ekin = 4.04299880694437 | erot = 2.35837721352838 | epot = -19.6839136898621 | etot = -13.2825376693893 -722000 ekin = 4.02343688316733 | erot = 2.40299878609526 | epot = -19.7089733390043 | etot = -13.2825376697417 -723000 ekin = 3.99884065344427 | erot = 2.45471133767174 | epot = -19.7360896611947 | etot = -13.2825376700787 -724000 ekin = 3.96717167902435 | erot = 2.51036796126059 | epot = -19.7600773106559 | etot = -13.282537670371 -725000 ekin = 3.92690441967245 | erot = 2.56705586836098 | epot = -19.7764979586269 | etot = -13.2825376705935 -726000 ekin = 3.87729637976355 | erot = 2.62227216901714 | epot = -19.7821062194414 | etot = -13.2825376706607 -727000 ekin = 3.8190968772367 | erot = 2.6738940465784 | epot = -19.7755285945079 | etot = -13.2825376706928 -728000 ekin = 3.75316507804633 | erot = 2.72096436119536 | epot = -19.7566671098349 | etot = -13.2825376705932 -729000 ekin = 3.68121241124607 | erot = 2.76353487071615 | epot = -19.7272849523289 | etot = -13.2825376703667 -730000 ekin = 3.60595083273131 | erot = 2.80255656445165 | epot = -19.6910450672214 | etot = -13.2825376700385 -731000 ekin = 3.53083585767324 | erot = 2.83972569859397 | epot = -19.653099225923 | etot = -13.2825376696558 -732000 ekin = 3.45966885133349 | erot = 2.87715368835778 | epot = -19.6193602089738 | etot = -13.2825376692825 -733000 ekin = 3.39612153666075 | erot = 2.91688280104916 | epot = -19.5955420066965 | etot = -13.2825376689866 -734000 ekin = 3.34327992468431 | erot = 2.96033658922183 | epot = -19.5861541827305 | etot = -13.2825376688244 -735000 ekin = 3.3033011289436 | erot = 3.00783596111042 | epot = -19.5936747588816 | etot = -13.2825376688276 -736000 ekin = 3.27724072963395 | erot = 3.05831043253752 | epot = -19.6180888311677 | etot = -13.2825376689963 -737000 ekin = 3.26506253896415 | erot = 3.10929392283416 | epot = -19.656894131098 | etot = -13.2825376692997 -738000 ekin = 3.26580566526871 | erot = 3.15723003734976 | epot = -19.7055733723001 | etot = -13.2825376696816 -739000 ekin = 3.27786090586245 | erot = 3.19803615726929 | epot = -19.7584347332053 | etot = -13.2825376700736 -740000 ekin = 3.29929519803613 | erot = 3.22780296867189 | epot = -19.8096358371181 | etot = -13.2825376704101 -741000 ekin = 3.3281598026641 | erot = 3.2434576850098 | epot = -19.8541551583189 | etot = -13.282537670645 -742000 ekin = 3.36272243969023 | erot = 3.24322419612484 | epot = -19.8884843065754 | etot = -13.2825376707603 -743000 ekin = 3.40154954265053 | erot = 3.22659635037975 | epot = -19.91068356386 | etot = -13.2825376708298 -744000 ekin = 3.44355690162401 | erot = 3.19405338784643 | epot = -19.9201479602064 | etot = -13.282537670736 -745000 ekin = 3.48810285817397 | erot = 3.14763432802534 | epot = -19.9182748567946 | etot = -13.2825376705953 -746000 ekin = 3.53467364484348 | erot = 3.09004249682931 | epot = -19.9072538121143 | etot = -13.2825376704415 -747000 ekin = 3.58273489719928 | erot = 3.02422947593768 | epot = -19.8895020434333 | etot = -13.2825376702963 -748000 ekin = 3.63163431992952 | erot = 2.95313859310771 | epot = -19.8673105832079 | etot = -13.2825376701706 -749000 ekin = 3.68055410773111 | erot = 2.87956450535935 | epot = -19.8426562831586 | etot = -13.2825376700682 -750000 ekin = 3.7285026487858 | erot = 2.80607481969708 | epot = -19.8171151384766 | etot = -13.2825376699938 -751000 ekin = 3.77431992736046 | erot = 2.73492674316789 | epot = -19.7917843404859 | etot = -13.2825376699576 -752000 ekin = 3.81667135032658 | erot = 2.66792933662307 | epot = -19.7671383569269 | etot = -13.2825376699773 -753000 ekin = 3.85401538818531 | erot = 2.6062395161429 | epot = -19.7427925744031 | etot = -13.2825376700749 -754000 ekin = 3.88455267934887 | erot = 2.5501327302614 | epot = -19.7172230798774 | etot = -13.2825376702671 -755000 ekin = 3.90620090059213 | erot = 2.49884999016135 | epot = -19.6875885613011 | etot = -13.2825376705476 -756000 ekin = 3.91710462659123 | erot = 2.4506960000184 | epot = -19.6503382971539 | etot = -13.2825376705443 -757000 ekin = 3.91725792025721 | erot = 2.40369183428835 | epot = -19.6034874252691 | etot = -13.2825376707236 -758000 ekin = 3.90622854864869 | erot = 2.35617894285865 | epot = -19.5449451622686 | etot = -13.2825376707613 -759000 ekin = 3.88450313649421 | erot = 2.307511853008 | epot = -19.47455266009 | etot = -13.2825376705877 -760000 ekin = 3.85399004377457 | erot = 2.25863561784068 | epot = -19.3951633318159 | etot = -13.2825376702006 -761000 ekin = 3.81799666982234 | erot = 2.2120898004713 | epot = -19.3126241399677 | etot = -13.2825376696741 -762000 ekin = 3.78022631318949 | erot = 2.17128933431168 | epot = -19.2340533167231 | etot = -13.2825376692219 -763000 ekin = 3.73661802519724 | erot = 2.13809664148039 | epot = -19.157252335609 | etot = -13.2825376689313 -764000 ekin = 3.68660767297181 | erot = 2.11458113784821 | epot = -19.0837264795458 | etot = -13.2825376687258 -765000 ekin = 3.63152213040114 | erot = 2.10258243850245 | epot = -19.016642237515 | etot = -13.2825376686114 -766000 ekin = 3.57217194872271 | erot = 2.10319364759271 | epot = -18.9579032648383 | etot = -13.2825376685229 -767000 ekin = 3.50915043230235 | erot = 2.11696161070464 | epot = -18.9086497115248 | etot = -13.2825376685178 -768000 ekin = 3.44287730029771 | erot = 2.14384189418764 | epot = -18.8692568629801 | etot = -13.2825376684947 -769000 ekin = 3.3740781166784 | erot = 2.18352203430037 | epot = -18.8401378194259 | etot = -13.2825376684472 -770000 ekin = 3.3040269110262 | erot = 2.2354469932855 | epot = -18.8220115726952 | etot = -13.2825376683835 -771000 ekin = 3.23454927903731 | erot = 2.29870117920211 | epot = -18.8157881266126 | etot = -13.2825376683732 -772000 ekin = 3.16778213081256 | erot = 2.37165603566442 | epot = -18.8219758348544 | etot = -13.2825376683774 -773000 ekin = 3.10585178824851 | erot = 2.45189360020004 | epot = -18.840283056865 | etot = -13.2825376684165 -774000 ekin = 3.05132445362518 | erot = 2.53742495789156 | epot = -18.8712870797731 | etot = -13.2825376682564 -775000 ekin = 3.00630147843012 | erot = 2.62609752200496 | epot = -18.9149366688542 | etot = -13.2825376684191 -776000 ekin = 2.97144443263784 | erot = 2.71477730985204 | epot = -18.9687594110596 | etot = -13.2825376685697 -777000 ekin = 2.94698171101505 | erot = 2.80100976982407 | epot = -19.0305291495095 | etot = -13.2825376686704 -778000 ekin = 2.93288277550281 | erot = 2.8833938872999 | epot = -19.0988143314864 | etot = -13.2825376686837 -779000 ekin = 2.9291073028875 | erot = 2.9618300279754 | epot = -19.1734749994569 | etot = -13.282537668594 -780000 ekin = 2.93579388567472 | erot = 3.03750518021137 | epot = -19.2558367343112 | etot = -13.2825376684251 -781000 ekin = 2.95325630949646 | erot = 3.11251463626943 | epot = -19.3483086140044 | etot = -13.2825376682385 -782000 ekin = 2.98176618547441 | erot = 3.189171361001 | epot = -19.4534752145867 | etot = -13.2825376681113 -783000 ekin = 3.02122758219725 | erot = 3.26921648812991 | epot = -19.5729817384327 | etot = -13.2825376681056 -784000 ekin = 3.07089714794778 | erot = 3.35319620066463 | epot = -19.7066310168605 | etot = -13.2825376682481 -785000 ekin = 3.12925653033684 | erot = 3.44018487512351 | epot = -19.8519790739888 | etot = -13.2825376685285 -786000 ekin = 3.19405797125228 | erot = 3.52788200321648 | epot = -20.0044776433779 | etot = -13.2825376689092 -787000 ekin = 3.26249776188156 | erot = 3.61297785906092 | epot = -20.1580132902857 | etot = -13.2825376693433 -788000 ekin = 3.33144967160353 | erot = 3.69161943951225 | epot = -20.305606780904 | etot = -13.2825376697883 -789000 ekin = 3.39770556173349 | erot = 3.75982531205833 | epot = -20.4400685440038 | etot = -13.282537670212 -790000 ekin = 3.45820395551511 | erot = 3.81377941395818 | epot = -20.5545210400615 | etot = -13.2825376705882 -791000 ekin = 3.51015148125463 | erot = 3.85000835167799 | epot = -20.6426975044847 | etot = -13.2825376715521 -792000 ekin = 3.5477656494443 | erot = 3.86447708281342 | epot = -20.6947804042054 | etot = -13.2825376719477 -793000 ekin = 3.56673386235719 | erot = 3.85375177259752 | epot = -20.7030233071327 | etot = -13.282537672178 -794000 ekin = 3.56535433496591 | erot = 3.81599585289175 | epot = -20.6638878600545 | etot = -13.2825376721968 -795000 ekin = 3.54336423774681 | erot = 3.75111846556983 | epot = -20.5770203753028 | etot = -13.2825376719862 -796000 ekin = 3.50191265633486 | erot = 3.66102926483526 | epot = -20.445479592736 | etot = -13.2825376715658 -797000 ekin = 3.44331621142581 | erot = 3.54957138817431 | epot = -20.275425270589 | etot = -13.2825376709889 -798000 ekin = 3.37066053440221 | erot = 3.42213246909072 | epot = -20.0753306738195 | etot = -13.2825376703266 -799000 ekin = 3.28735656784917 | erot = 3.28504268658437 | epot = -19.8549369240833 | etot = -13.2825376696498 -800000 ekin = 3.1967614101609 | erot = 3.14491706728329 | epot = -19.6242161464581 | etot = -13.2825376690139 -801000 ekin = 3.10193388348241 | erot = 3.008077953099 | epot = -19.3925495050348 | etot = -13.2825376684534 -802000 ekin = 3.00553736756426 | erot = 2.88012979876869 | epot = -19.1682048343169 | etot = -13.2825376679839 -803000 ekin = 2.90985246625746 | erot = 2.76569078054883 | epot = -18.9580809144165 | etot = -13.2825376676103 -804000 ekin = 2.81683808714811 | erot = 2.66824302177604 | epot = -18.767618776258 | etot = -13.2825376673338 -805000 ekin = 2.72818412045662 | erot = 2.59005510940243 | epot = -18.6007768970147 | etot = -13.2825376671557 -806000 ekin = 2.64532439255801 | erot = 2.53214862202529 | epot = -18.460010681661 | etot = -13.2825376670777 -807000 ekin = 2.56941186666917 | erot = 2.49430692056124 | epot = -18.3462564543289 | etot = -13.2825376670985 -808000 ekin = 2.50128142889036 | erot = 2.4751494073639 | epot = -18.2589685034643 | etot = -13.2825376672101 -809000 ekin = 2.44144236795443 | erot = 2.47230913362086 | epot = -18.1962891689445 | etot = -13.2825376673692 -810000 ekin = 2.39012708340952 | erot = 2.48271406544018 | epot = -18.1553788164563 | etot = -13.2825376676066 -811000 ekin = 2.34728664736234 | erot = 2.50269653307823 | epot = -18.1325208483013 | etot = -13.2825376678607 -812000 ekin = 2.31275384401392 | erot = 2.5284613206776 | epot = -18.1237528327934 | etot = -13.2825376681019 -813000 ekin = 2.28637472346062 | erot = 2.55641958964873 | epot = -18.1253319814181 | etot = -13.2825376683087 -814000 ekin = 2.2680963430183 | erot = 2.58342175986192 | epot = -18.1340557713507 | etot = -13.2825376684705 -815000 ekin = 2.25799398108187 | erot = 2.60689379310711 | epot = -18.147425442776 | etot = -13.282537668587 -816000 ekin = 2.25623692236378 | erot = 2.6248911786293 | epot = -18.1636657696559 | etot = -13.2825376686629 -817000 ekin = 2.26301448164562 | erot = 2.63611346242108 | epot = -18.1816656127696 | etot = -13.2825376687029 -818000 ekin = 2.27845464056916 | erot = 2.63992517489727 | epot = -18.200917484174 | etot = -13.2825376687075 -819000 ekin = 2.30255118254824 | erot = 2.63638076675709 | epot = -18.2214696180403 | etot = -13.2825376687349 -820000 ekin = 2.33498671690288 | erot = 2.62599567774902 | epot = -18.2435200633427 | etot = -13.2825376686908 -821000 ekin = 2.37528893737676 | erot = 2.61008048021327 | epot = -18.2679070861996 | etot = -13.2825376686096 -822000 ekin = 2.42285081016476 | erot = 2.59073415648932 | epot = -18.2961226351515 | etot = -13.2825376684974 -823000 ekin = 2.47691845695884 | erot = 2.57068820920496 | epot = -18.330144334532 | etot = -13.2825376683682 -824000 ekin = 2.53658809763949 | erot = 2.55309938377513 | epot = -18.3722251496539 | etot = -13.2825376682393 -825000 ekin = 2.60079770131234 | erot = 2.54128433496743 | epot = -18.4246197044077 | etot = -13.2825376681279 -826000 ekin = 2.6683297319833 | erot = 2.53844971722971 | epot = -18.4893171172594 | etot = -13.2825376680464 -827000 ekin = 2.73783541426496 | erot = 2.54745860097927 | epot = -18.5678316832478 | etot = -13.2825376680036 -828000 ekin = 2.8078735374226 | erot = 2.570638372336 | epot = -18.6610495777666 | etot = -13.282537668008 -829000 ekin = 2.87694004142142 | erot = 2.6095991500053 | epot = -18.7690768595013 | etot = -13.2825376680745 -830000 ekin = 2.94346318720465 | erot = 2.66502277159192 | epot = -18.8910236270209 | etot = -13.2825376682243 -831000 ekin = 3.00576095292962 | erot = 2.73641402738311 | epot = -19.0247126487928 | etot = -13.28253766848 -832000 ekin = 3.0619900354022 | erot = 2.82186650180673 | epot = -19.1663942060617 | etot = -13.2825376688528 -833000 ekin = 3.11014899562178 | erot = 2.9179503249138 | epot = -19.3106369898642 | etot = -13.2825376693286 -834000 ekin = 3.14820449359153 | erot = 3.01984474732083 | epot = -19.4505869107716 | etot = -13.2825376698592 -835000 ekin = 3.17437957900616 | erot = 3.12179257976731 | epot = -19.5787098291384 | etot = -13.2825376703649 -836000 ekin = 3.18757195243303 | erot = 3.217846898268 | epot = -19.687956521455 | etot = -13.282537670754 -837000 ekin = 3.18777327474339 | erot = 3.30274497121124 | epot = -19.7730559169123 | etot = -13.2825376709577 -838000 ekin = 3.17628521735201 | erot = 3.37264530222933 | epot = -19.8314681905428 | etot = -13.2825376709614 -839000 ekin = 3.15554655753232 | erot = 3.42547713952516 | epot = -19.8635613678745 | etot = -13.282537670817 -840000 ekin = 3.12853906989481 | erot = 3.46080086771501 | epot = -19.8718776082294 | etot = -13.2825376706196 -841000 ekin = 3.09797460324027 | erot = 3.47929817818113 | epot = -19.8598104518813 | etot = -13.2825376704599 -842000 ekin = 3.06563312579573 | erot = 3.48217550735097 | epot = -19.8303463035245 | etot = -13.2825376703778 -843000 ekin = 3.0321807849032 | erot = 3.47078119390777 | epot = -19.7854996491548 | etot = -13.2825376703438 -844000 ekin = 2.99754824930587 | erot = 3.44659665119674 | epot = -19.7266825707828 | etot = -13.2825376702802 -845000 ekin = 2.96164676060849 | erot = 3.41154768663129 | epot = -19.6557321173456 | etot = -13.2825376701058 -846000 ekin = 2.92503739739917 | erot = 3.3684099877387 | epot = -19.5759850549147 | etot = -13.2825376697769 -847000 ekin = 2.88924342097115 | erot = 3.32104931094625 | epot = -19.4928304012178 | etot = -13.2825376693004 -848000 ekin = 2.85664997217234 | erot = 3.2743258340256 | epot = -19.413513474944 | etot = -13.282537668746 -849000 ekin = 2.83005143134554 | erot = 3.23330176450845 | epot = -19.3458908642286 | etot = -13.2825376683746 -850000 ekin = 2.81205597381057 | erot = 3.20226229425748 | epot = -19.2968559356605 | etot = -13.2825376675925 -851000 ekin = 2.80444558746427 | erot = 3.18500981062148 | epot = -19.2719930659083 | etot = -13.2825376678225 -852000 ekin = 2.80546277463363 | erot = 3.18034603825546 | epot = -19.2683464810916 | etot = -13.2825376682025 -853000 ekin = 2.81244121485968 | erot = 3.18510929963401 | epot = -19.280088183197 | etot = -13.2825376687033 -854000 ekin = 2.82227167904044 | erot = 3.19468161889413 | epot = -19.2994909671748 | etot = -13.2825376692403 -855000 ekin = 2.83221172623428 | erot = 3.20377851190415 | epot = -19.3185279077744 | etot = -13.282537669636 -856000 ekin = 2.84030053008536 | erot = 3.20718605728263 | epot = -19.3300242573987 | etot = -13.2825376700307 -857000 ekin = 2.84404786964225 | erot = 3.20080956078108 | epot = -19.3273951006455 | etot = -13.2825376702222 -858000 ekin = 2.84179014642712 | erot = 3.18249842088716 | epot = -19.3068262375353 | etot = -13.282537670221 -859000 ekin = 2.8327614996683 | erot = 3.15199731413447 | epot = -19.2672964838756 | etot = -13.2825376700728 -860000 ekin = 2.8170072354239 | erot = 3.110467808288 | epot = -19.2100127135406 | etot = -13.2825376698287 -861000 ekin = 2.79529073711156 | erot = 3.0598903948263 | epot = -19.1377188014641 | etot = -13.2825376695262 -862000 ekin = 2.76903178124154 | erot = 3.00259641979431 | epot = -19.0541658702196 | etot = -13.2825376691838 -863000 ekin = 2.740260190387 | erot = 2.94102587736042 | epot = -18.9638237365556 | etot = -13.2825376688082 -864000 ekin = 2.71154390225988 | erot = 2.8776699566398 | epot = -18.8717515273048 | etot = -13.2825376684052 -865000 ekin = 2.68585679377337 | erot = 2.81509451396977 | epot = -18.7834889757305 | etot = -13.2825376679873 -866000 ekin = 2.66591731935461 | erot = 2.75755671057519 | epot = -18.7060116974828 | etot = -13.282537667553 -867000 ekin = 2.65369684330944 | erot = 2.70836237988842 | epot = -18.6445968906315 | etot = -13.2825376674336 -868000 ekin = 2.65132555303167 | erot = 2.66699243377126 | epot = -18.6008556541432 | etot = -13.2825376673403 -869000 ekin = 2.6604185838541 | erot = 2.63308802762149 | epot = -18.5760442787973 | etot = -13.2825376673217 -870000 ekin = 2.68169704365066 | erot = 2.60613905014281 | epot = -18.5703737612197 | etot = -13.2825376674262 -871000 ekin = 2.71467538115452 | erot = 2.58511614862431 | epot = -18.5823291974616 | etot = -13.2825376676827 -872000 ekin = 2.75720487539373 | erot = 2.56766485202981 | epot = -18.6074073957583 | etot = -13.2825376683347 -873000 ekin = 2.80308619821104 | erot = 2.54585820173567 | epot = -18.6314820689143 | etot = -13.2825376689676 -874000 ekin = 2.84699852609265 | erot = 2.51460161594248 | epot = -18.6441378114824 | etot = -13.2825376694472 -875000 ekin = 2.88482415059394 | erot = 2.47158418780442 | epot = -18.638946008002 | etot = -13.2825376696036 -876000 ekin = 2.91408523337446 | erot = 2.4177177291072 | epot = -18.6143406317896 | etot = -13.2825376693079 -877000 ekin = 2.93423099086519 | erot = 2.35825815690521 | epot = -18.5750268164492 | etot = -13.2825376686788 -878000 ekin = 2.94753405629445 | erot = 2.3008664537491 | epot = -18.5309381778413 | etot = -13.2825376677977 -879000 ekin = 2.95817730737743 | erot = 2.25490663307461 | epot = -18.4956216073104 | etot = -13.2825376668584 -880000 ekin = 2.97089825197214 | erot = 2.22983196328469 | epot = -18.4832678815182 | etot = -13.2825376662614 -881000 ekin = 2.98893595230079 | erot = 2.2333347502388 | epot = -18.5048083683019 | etot = -13.2825376657623 -882000 ekin = 3.01519221964841 | erot = 2.27015029166098 | epot = -18.5678801769104 | etot = -13.282537665601 -883000 ekin = 3.05097747089527 | erot = 2.3416684229089 | epot = -18.6751835596161 | etot = -13.2825376658119 -884000 ekin = 3.09435682547256 | erot = 2.4464864171362 | epot = -18.8233809089785 | etot = -13.2825376663698 -885000 ekin = 3.14183207196681 | erot = 2.57965576027657 | epot = -19.0040254994135 | etot = -13.2825376671702 -886000 ekin = 3.1891482279053 | erot = 2.73331108132125 | epot = -19.2049969773462 | etot = -13.2825376681197 -887000 ekin = 3.23157512360801 | erot = 2.89766014759257 | epot = -19.4117729403243 | etot = -13.2825376691237 -888000 ekin = 3.2645655180999 | erot = 3.06177663304004 | epot = -19.6088798212365 | etot = -13.2825376700966 -889000 ekin = 3.28428902019744 | erot = 3.21442460414138 | epot = -19.7812512952993 | etot = -13.2825376709605 -890000 ekin = 3.28801223277735 | erot = 3.34493087267462 | epot = -19.9154807770927 | etot = -13.2825376716407 -891000 ekin = 3.27434561775047 | erot = 3.44412613410549 | epot = -20.0010094239219 | etot = -13.2825376720659 -892000 ekin = 3.24338163760246 | erot = 3.5053051706131 | epot = -20.031224480396 | etot = -13.2825376721805 -893000 ekin = 3.19671556304953 | erot = 3.52503469850342 | epot = -20.0042879335176 | etot = -13.2825376719647 -894000 ekin = 3.13731299174319 | erot = 3.50356986373413 | epot = -19.9234205269247 | etot = -13.2825376714474 -895000 ekin = 3.06920917356835 | erot = 3.44471943347162 | epot = -19.7964662777404 | etot = -13.2825376707004 -896000 ekin = 2.99708420339286 | erot = 3.35519757227584 | epot = -19.6348194454858 | etot = -13.2825376698171 -897000 ekin = 2.92580051783491 | erot = 3.24367712660513 | epot = -19.4520153133288 | etot = -13.2825376688887 -898000 ekin = 2.85975229197251 | erot = 3.12035510152301 | epot = -19.2626450614017 | etot = -13.2825376679062 -899000 ekin = 2.80277954779219 | erot = 2.9956146737193 | epot = -19.0809318887035 | etot = -13.282537667192 -900000 ekin = 2.75771035420834 | erot = 2.87733650112268 | epot = -18.9175845220148 | etot = -13.2825376666838 -901000 ekin = 2.72580329202024 | erot = 2.77189091314049 | epot = -18.7802318714387 | etot = -13.282537666278 -902000 ekin = 2.70770279131466 | erot = 2.6846486143113 | epot = -18.6748890716194 | etot = -13.2825376659935 -903000 ekin = 2.7034449405386 | erot = 2.61971222758158 | epot = -18.6056948339661 | etot = -13.282537665846 -904000 ekin = 2.712491847434 | erot = 2.57966599079039 | epot = -18.5746955043512 | etot = -13.2825376661268 -905000 ekin = 2.73259472265153 | erot = 2.56420422221706 | epot = -18.5793366115661 | etot = -13.2825376666975 -906000 ekin = 2.75874387987261 | erot = 2.57016719355954 | epot = -18.6114487407167 | etot = -13.2825376672845 -907000 ekin = 2.78650456169418 | erot = 2.5927904298105 | epot = -18.6618326594052 | etot = -13.2825376679006 -908000 ekin = 2.81181709569093 | erot = 2.62665482044298 | epot = -18.7210095845691 | etot = -13.2825376684352 -909000 ekin = 2.83143463245786 | erot = 2.66677850527972 | epot = -18.7807508065316 | etot = -13.282537668794 -910000 ekin = 2.84337824045527 | erot = 2.70952965400631 | epot = -18.8354455633909 | etot = -13.2825376689293 -911000 ekin = 2.84713706868452 | erot = 2.75311048607999 | epot = -18.882785223623 | etot = -13.2825376688585 -912000 ekin = 2.8435329518418 | erot = 2.79744224266951 | epot = -18.9235128631685 | etot = -13.2825376686572 -913000 ekin = 2.83428813315847 | erot = 2.84350922919611 | epot = -18.9603350307843 | etot = -13.2825376684297 -914000 ekin = 2.82145638450671 | erot = 2.89244132991502 | epot = -18.996435382689 | etot = -13.2825376682672 -915000 ekin = 2.80692071973142 | erot = 2.94469332949939 | epot = -19.0341517174505 | etot = -13.2825376682197 -916000 ekin = 2.79210576378607 | erot = 2.99958827393019 | epot = -19.074231706004 | etot = -13.2825376682877 -917000 ekin = 2.77794567111531 | erot = 3.05530679535158 | epot = -19.1157901348997 | etot = -13.2825376684328 -918000 ekin = 2.76505338702007 | erot = 3.1092386103798 | epot = -19.156829665997 | etot = -13.2825376685971 -919000 ekin = 2.75398705149648 | erot = 3.15852296699312 | epot = -19.1950476872148 | etot = -13.2825376687252 -920000 ekin = 2.74549945480772 | erot = 3.2005917707978 | epot = -19.2286288943852 | etot = -13.2825376687797 -921000 ekin = 2.74117522182622 | erot = 3.23390288539695 | epot = -19.2576157760415 | etot = -13.2825376688183 -922000 ekin = 2.74423942346447 | erot = 3.25833644681322 | epot = -19.2851135391865 | etot = -13.2825376689088 -923000 ekin = 2.75519506142942 | erot = 3.27241102946701 | epot = -19.310143759855 | etot = -13.2825376689586 -924000 ekin = 2.77394479542841 | erot = 3.27524658464355 | epot = -19.3317290490837 | etot = -13.2825376690117 -925000 ekin = 2.79984975928351 | erot = 3.26648541912167 | epot = -19.3488728475058 | etot = -13.2825376691007 -926000 ekin = 2.83154188644563 | erot = 3.24600163470182 | epot = -19.3600811903832 | etot = -13.2825376692358 -927000 ekin = 2.86690921925873 | erot = 3.21375665515305 | epot = -19.3632035438127 | etot = -13.2825376694009 -928000 ekin = 2.90327996744615 | erot = 3.1698282422568 | epot = -19.3556458792629 | etot = -13.28253766956 -929000 ekin = 2.9377528576698 | erot = 3.11459709938568 | epot = -19.3348876267244 | etot = -13.2825376696689 -930000 ekin = 2.96759841378242 | erot = 3.04898886675846 | epot = -19.2991249502308 | etot = -13.28253766969 -931000 ekin = 2.99062544127426 | erot = 2.97467062307573 | epot = -19.2478337339529 | etot = -13.2825376696029 -932000 ekin = 3.00543704340162 | erot = 2.89412065067177 | epot = -19.182095363482 | etot = -13.2825376694086 -933000 ekin = 3.01154336745542 | erot = 2.81054368702195 | epot = -19.1046247236028 | etot = -13.2825376691254 -934000 ekin = 3.009296793607 | erot = 2.72759799681476 | epot = -19.0194324597542 | etot = -13.2825376693324 -935000 ekin = 2.997461341975 | erot = 2.64625807489206 | epot = -18.9262570860507 | etot = -13.2825376691836 -936000 ekin = 2.97526415104969 | erot = 2.56749092792282 | epot = -18.8252927479684 | etot = -13.2825376689959 -937000 ekin = 2.94352512535629 | erot = 2.49335517907744 | epot = -18.7194179732148 | etot = -13.2825376687811 -938000 ekin = 2.90367826462751 | erot = 2.42575018416626 | epot = -18.611966117346 | etot = -13.2825376685523 -939000 ekin = 2.85762227335056 | erot = 2.36633148508481 | epot = -18.5064914267688 | etot = -13.2825376683334 -940000 ekin = 2.80750328436355 | erot = 2.31642989470971 | epot = -18.4064708472124 | etot = -13.2825376681392 -941000 ekin = 2.75550936317914 | erot = 2.27698712574035 | epot = -18.315034156903 | etot = -13.2825376679835 -942000 ekin = 2.70367879384707 | erot = 2.24846537191054 | epot = -18.2346818336424 | etot = -13.2825376678848 -943000 ekin = 2.65376367610072 | erot = 2.23082283410755 | epot = -18.1671241780433 | etot = -13.282537667835 -944000 ekin = 2.60720594193945 | erot = 2.22360475791407 | epot = -18.1133483676727 | etot = -13.2825376678192 -945000 ekin = 2.56519856456668 | erot = 2.2261014482812 | epot = -18.0738376806584 | etot = -13.2825376678105 -946000 ekin = 2.52882759917491 | erot = 2.23758213190646 | epot = -18.0489473988614 | etot = -13.28253766778 -947000 ekin = 2.49923315501652 | erot = 2.25754573395336 | epot = -18.0393165566767 | etot = -13.2825376677068 -948000 ekin = 2.47771007493837 | erot = 2.28590689258452 | epot = -18.0461546351121 | etot = -13.2825376675892 -949000 ekin = 2.46568539867815 | erot = 2.32304174075055 | epot = -18.0712648068822 | etot = -13.2825376674535 -950000 ekin = 2.46454516561394 | erot = 2.36959060784074 | epot = -18.1166734407876 | etot = -13.2825376673329 -951000 ekin = 2.47533995001422 | erot = 2.42623129983711 | epot = -18.1841089171244 | etot = -13.2825376672731 -952000 ekin = 2.49848236356054 | erot = 2.49338196898259 | epot = -18.2744019998551 | etot = -13.282537667312 -953000 ekin = 2.53348398196953 | erot = 2.57089243330607 | epot = -18.3869140827469 | etot = -13.2825376674713 -954000 ekin = 2.57882587535192 | erot = 2.65786416807577 | epot = -18.5192277111793 | etot = -13.2825376677516 -955000 ekin = 2.63199527601701 | erot = 2.75261052014717 | epot = -18.6671434642983 | etot = -13.2825376681341 -956000 ekin = 2.68967924818385 | erot = 2.85274255006523 | epot = -18.824959466837 | etot = -13.2825376685879 -957000 ekin = 2.74806771949303 | erot = 2.95533472442408 | epot = -18.9859401129945 | etot = -13.2825376690774 -958000 ekin = 2.80319866682411 | erot = 3.05711581061847 | epot = -19.1428521470133 | etot = -13.2825376695707 -959000 ekin = 2.85127801277871 | erot = 3.15464148733328 | epot = -19.2884571701549 | etot = -13.2825376700429 -960000 ekin = 2.88892608820776 | erot = 3.24442918289906 | epot = -19.4158929415847 | etot = -13.2825376704779 -961000 ekin = 2.91333465074054 | erot = 3.32306194469256 | epot = -19.5189342662969 | etot = -13.2825376708638 -962000 ekin = 2.92235141889966 | erot = 3.38728585340868 | epot = -19.5921749434977 | etot = -13.2825376711894 -963000 ekin = 2.91452965719862 | erot = 3.43412743872512 | epot = -19.631194767364 | etot = -13.2825376714403 -964000 ekin = 2.88918087864217 | erot = 3.46104482999107 | epot = -19.6327633802318 | etot = -13.2825376715986 -965000 ekin = 2.84645277182146 | erot = 3.46610960647262 | epot = -19.595100049937 | etot = -13.282537671643 -966000 ekin = 2.78809663572529 | erot = 3.4488697192109 | epot = -19.5195040264019 | etot = -13.2825376714657 -967000 ekin = 2.71967964182158 | erot = 3.41234902493455 | epot = -19.4145663381801 | etot = -13.2825376714239 -968000 ekin = 2.64387658032148 | erot = 3.35650459867512 | epot = -19.2829188502152 | etot = -13.2825376712186 -969000 ekin = 2.56365983597794 | erot = 3.2821307177253 | epot = -19.1283282245258 | etot = -13.2825376708226 -970000 ekin = 2.48311062140704 | erot = 3.19174642311281 | epot = -18.9573947147568 | etot = -13.282537670237 -971000 ekin = 2.4074396573122 | erot = 3.08950974404967 | epot = -18.7794870708623 | etot = -13.2825376695004 -972000 ekin = 2.34264905759316 | erot = 2.98071332519642 | epot = -18.6059000516343 | etot = -13.2825376688447 -973000 ekin = 2.29453827357382 | erot = 2.87084836317583 | epot = -18.4479243047352 | etot = -13.2825376679856 -974000 ekin = 2.26986492520578 | erot = 2.76590322626965 | epot = -18.3183058187343 | etot = -13.2825376672589 -975000 ekin = 2.27457634337442 | erot = 2.67096736253948 | epot = -18.2280813726668 | etot = -13.2825376667529 -976000 ekin = 2.31300758343906 | erot = 2.58967385345333 | epot = -18.1852191035243 | etot = -13.2825376666319 -977000 ekin = 2.38775385247815 | erot = 2.52429198069488 | epot = -18.1945835001196 | etot = -13.2825376669466 -978000 ekin = 2.4934313211563 | erot = 2.47478959068606 | epot = -18.2507585813607 | etot = -13.2825376695183 -979000 ekin = 2.63194261798452 | erot = 2.43666985309478 | epot = -18.3511501394633 | etot = -13.282537668384 -980000 ekin = 2.80143349399528 | erot = 2.41383709770836 | epot = -18.4978082614077 | etot = -13.282537669704 -981000 ekin = 2.97613228562078 | erot = 2.40353470194656 | epot = -18.6622046578964 | etot = -13.2825376703291 -982000 ekin = 3.15493786388404 | erot = 2.40097885128001 | epot = -18.8384543865222 | etot = -13.2825376713581 -983000 ekin = 3.32895075409049 | erot = 2.40358703806397 | epot = -19.0150754641548 | etot = -13.2825376720003 -984000 ekin = 3.48942626013249 | erot = 2.40902391908617 | epot = -19.18098785172 | etot = -13.2825376725014 -985000 ekin = 3.6306055406564 | erot = 2.41512886518398 | epot = -19.3282720786933 | etot = -13.2825376728529 -986000 ekin = 3.74861810546546 | erot = 2.42024356026412 | epot = -19.4513993386271 | etot = -13.2825376728975 -987000 ekin = 3.84212741101313 | erot = 2.42421773193476 | epot = -19.5488828158614 | etot = -13.2825376729136 -988000 ekin = 3.9111876503493 | erot = 2.42704295378038 | epot = -19.6207682769609 | etot = -13.2825376728312 -989000 ekin = 3.95686695904995 | erot = 2.42875435937409 | epot = -19.668158991096 | etot = -13.282537672672 -990000 ekin = 3.98122336716337 | erot = 2.42964012337661 | epot = -19.6934011629903 | etot = -13.2825376724504 -991000 ekin = 3.98715071441045 | erot = 2.43015135465657 | epot = -19.6998397412425 | etot = -13.2825376721755 -992000 ekin = 3.97827672378661 | erot = 2.43082965988458 | epot = -19.6916440567348 | etot = -13.2825376730636 -993000 ekin = 3.95551199280445 | erot = 2.42901824172678 | epot = -19.6670679074445 | etot = -13.2825376729133 -994000 ekin = 3.91976370645273 | erot = 2.42191618457207 | epot = -19.6242175637255 | etot = -13.2825376727007 -995000 ekin = 3.87458078790943 | erot = 2.40932775584377 | epot = -19.5664462161828 | etot = -13.2825376724296 -996000 ekin = 3.82377191569406 | erot = 2.39162261233252 | epot = -19.4979322001416 | etot = -13.282537672115 -997000 ekin = 3.77108738615857 | erot = 2.36980944948075 | epot = -19.4234345074243 | etot = -13.282537671785 -998000 ekin = 3.71986049076073 | erot = 2.34548651222161 | epot = -19.3478846744559 | etot = -13.2825376714735 -999000 ekin = 3.6726879444491 | erot = 2.32066228971374 | epot = -19.2758879053768 | etot = -13.282537671214 -1000000 ekin = 3.63122130703635 | erot = 2.29747929877849 | epot = -19.2112382768466 | etot = -13.2825376710318 - 1000000 0.16138761 -1.2609484 0.060246044 -0.97375106 -5.5311015e-05 -Loop time of 26.5666 on 4 procs for 1000000 steps with 16 atoms - -Performance: 32522.039 tau/day, 37641.249 timesteps/s -99.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 | 3.3902 | 10.546 | 19.399 | 188.7 | 39.70 -Bond | 0.18541 | 0.40208 | 0.71402 | 31.3 | 1.51 -Neigh | 0.000147 | 0.000155 | 0.000163 | 0.0 | 0.00 -Comm | 2.6792 | 2.8295 | 2.994 | 7.2 | 10.65 -Output | 3.1e-05 | 3.425e-05 | 3.6e-05 | 0.0 | 0.00 -Modify | 0.37735 | 0.81798 | 1.4614 | 45.1 | 3.08 -Other | | 11.97 | | | 45.06 - -Nlocal: 4.0 ave 8.0 max 1.0 min -Histogram: 1 1 0 0 0 1 0 0 0 1 -Nghost: 10.5 ave 12.0 max 8.0 min -Histogram: 1 0 0 0 0 0 0 2 0 1 -Neighs: 31.75 ave 55.0 max 9.0 min -Histogram: 1 1 0 0 0 0 0 0 1 1 - -Total # of neighbors = 127 -Ave neighs/atom = 7.9375 -Ave special neighs/atom = 3.75 -Neighbor list builds = 7 -Dangerous builds = 0 - -#write_restart config.${number}.* -Total wall time: 0:00:26 diff --git a/src/.gitignore b/src/.gitignore index c562f89e61..022785c00e 100644 --- a/src/.gitignore +++ b/src/.gitignore @@ -70,8 +70,8 @@ /meam*.h /meam*.cpp -/pair_meam.cpp -/pair_meam.h +/pair_meamc.cpp +/pair_meamc.h /compute_mliap.cpp /compute_mliap.h @@ -314,6 +314,8 @@ /atom_vec_granular.h /atom_vec_molecular.cpp /atom_vec_molecular.h +/atom_vec_oxdna.cpp +/atom_vec_oxdna.h /atom_vec_peri.cpp /atom_vec_peri.h /atom_vec_template.cpp @@ -386,8 +388,6 @@ /compute_erotate_rigid.h /compute_event_displace.cpp /compute_event_displace.h -/compute_fabric.cpp -/compute_fabric.h /compute_fep.cpp /compute_fep.h /compute_force_tally.cpp @@ -1431,10 +1431,6 @@ /pair_thole.h /pair_buck_mdf.cpp /pair_buck_mdf.h -/pair_dpd.cpp -/pair_dpd.h -/pair_dpd_tstat.cpp -/pair_dpd_tstat.h /pair_dpd_ext.cpp /pair_dpd_ext.h /pair_dpd_ext_tstat.cpp diff --git a/src/CG-DNA/Install.sh b/src/CG-DNA/Install.sh index 9ef10d3f62..bf74a85aef 100755 --- a/src/CG-DNA/Install.sh +++ b/src/CG-DNA/Install.sh @@ -28,6 +28,8 @@ action () { # list of files with dependcies +action atom_vec_oxdna.cpp atom_vec.h +action atom_vec_oxdna.h atom_vec.h action bond_oxdna_fene.cpp bond_fene.h action bond_oxdna2_fene.cpp bond_fene.h action bond_oxrna2_fene.cpp bond_fene.h diff --git a/src/CG-DNA/atom_vec_oxdna.cpp b/src/CG-DNA/atom_vec_oxdna.cpp new file mode 100644 index 0000000000..dc50656906 --- /dev/null +++ b/src/CG-DNA/atom_vec_oxdna.cpp @@ -0,0 +1,103 @@ +// clang-format off +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include "atom_vec_oxdna.h" +#include "atom.h" +#include "comm.h" + +using namespace LAMMPS_NS; + +/* ---------------------------------------------------------------------- */ +AtomVecOxdna::AtomVecOxdna(LAMMPS *lmp) : AtomVec(lmp) +{ + molecular = Atom::MOLECULAR; + bonds_allow = 1; + mass_type = PER_TYPE; + + atom->molecule_flag = 1; + + // strings with peratom variables to include in each AtomVec method + // strings cannot contain fields in corresponding AtomVec default strings + // order of fields in a string does not matter + // except: fields_data_atom & fields_data_vel must match data file + + fields_grow = (char *) "id5p"; + fields_copy = (char *) "id5p"; + fields_comm = (char *) ""; + fields_comm_vel = (char *) ""; + fields_reverse = (char *) ""; + fields_border = (char *) "id5p"; + fields_border_vel = (char *) ""; + fields_exchange = (char *) "id5p"; + fields_restart = (char *) "id5p"; + fields_create = (char *) ""; + fields_data_atom = (char *) "id type x"; + fields_data_vel = (char *) "id v"; + + setup_fields(); + +} + +/* ---------------------------------------------------------------------- */ +AtomVecOxdna::~AtomVecOxdna() +{ + +} + +/* ---------------------------------------------------------------------- + set local copies of all grow ptrs used by this class, except defaults + needed in replicate when 2 atom classes exist and it calls pack_restart() +------------------------------------------------------------------------- */ + +void AtomVecOxdna::grow_pointers() +{ + id5p = atom->id5p; + +} + +/* ---------------------------------------------------------------------- + process bond information as per data file + store 5' partner to inform 3'->5' bond directionality +------------------------------------------------------------------------- */ + +void AtomVecOxdna::data_bonds_post(int n, char *buf, tagint id_offset) +{ + + int m,tmp,itype,rv; + tagint atom1,atom2; + char *next; + + tagint *id5p = atom->id5p; + + if (comm->me == 0) utils::logmesg(lmp,"Setting oxDNA 3'->5' bond directionality ...\n"); + + for (int i = 0; i < n; i++) { + + next = strchr(buf,'\n'); + *next = '\0'; + rv = sscanf(buf,"%d %d " TAGINT_FORMAT " " TAGINT_FORMAT, + &tmp,&itype,&atom1,&atom2); + + if (id_offset) { + atom1 += id_offset; + atom2 += id_offset; + } + + if ((m = atom->map(atom1)) >= 0) { + id5p[m] = atom2; + } + + buf = next + 1; + } +} diff --git a/src/CG-DNA/atom_vec_oxdna.h b/src/CG-DNA/atom_vec_oxdna.h new file mode 100644 index 0000000000..b8af0305f7 --- /dev/null +++ b/src/CG-DNA/atom_vec_oxdna.h @@ -0,0 +1,48 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef ATOM_CLASS +// clang-format off +AtomStyle(oxdna,AtomVecOxdna); +// clang-format on +#else + +#ifndef LMP_ATOM_VEC_OXDNA_H +#define LMP_ATOM_VEC_OXDNA_H + +#include "atom.h" +#include "atom_vec.h" + +namespace LAMMPS_NS { + +class AtomVecOxdna : public AtomVec { + public: + AtomVecOxdna(class LAMMPS *); + ~AtomVecOxdna(); + + void grow_pointers(); + virtual void data_bonds_post(int, char *, tagint); + + private: + tagint *id5p; + +}; + +} // namespace LAMMPS_NS + +#endif +#endif + +/* ERROR/WARNING messages: + +*/ diff --git a/src/CG-DNA/pair_oxdna_stk.cpp b/src/CG-DNA/pair_oxdna_stk.cpp index 25521fd1e0..10fa0781f1 100644 --- a/src/CG-DNA/pair_oxdna_stk.cpp +++ b/src/CG-DNA/pair_oxdna_stk.cpp @@ -29,6 +29,7 @@ #include "error.h" #include "atom_vec_ellipsoid.h" +#include "atom_vec_oxdna.h" #include "math_extra.h" using namespace LAMMPS_NS; @@ -42,26 +43,26 @@ PairOxdnaStk::PairOxdnaStk(LAMMPS *lmp) : Pair(lmp) writedata = 1; // sequence-specific stacking strength - // A:0 C:1 G:2 T:3, 5'- [i][j] -3' + // A:0 C:1 G:2 T:3, 3'- [i][j] -5' eta_st[0][0] = 1.11960; - eta_st[0][1] = 1.00852; - eta_st[0][2] = 0.96950; - eta_st[0][3] = 0.99632; + eta_st[1][0] = 1.00852; + eta_st[2][0] = 0.96950; + eta_st[3][0] = 0.99632; - eta_st[1][0] = 1.01889; + eta_st[0][1] = 1.01889; eta_st[1][1] = 0.97804; - eta_st[1][2] = 1.02681; - eta_st[1][3] = 0.96950; + eta_st[2][1] = 1.02681; + eta_st[3][1] = 0.96950; - eta_st[2][0] = 0.98169; - eta_st[2][1] = 1.05913; + eta_st[0][2] = 0.98169; + eta_st[1][2] = 1.05913; eta_st[2][2] = 0.97804; - eta_st[2][3] = 1.00852; + eta_st[3][2] = 1.00852; - eta_st[3][0] = 0.94694; - eta_st[3][1] = 0.98169; - eta_st[3][2] = 1.01889; + eta_st[0][3] = 0.94694; + eta_st[1][3] = 0.98169; + eta_st[2][3] = 1.01889; eta_st[3][3] = 0.96383; } @@ -244,11 +245,13 @@ void PairOxdnaStk::compute(int eflag, int vflag) int **bondlist = neighbor->bondlist; int nbondlist = neighbor->nbondlist; + tagint *id5p = atom->id5p; + AtomVecEllipsoid *avec = (AtomVecEllipsoid *) atom->style_match("ellipsoid"); AtomVecEllipsoid::Bonus *bonus = avec->bonus; int *ellipsoid = atom->ellipsoid; - int a,b,in,atype,btype; + int a,b,btemp,in,atype,btype; double f1,f4t4,f4t5,f4t6,f5c1,f5c2; double df1,df4t4,df4t5,df4t6,df5c1,df5c2; @@ -261,8 +264,19 @@ void PairOxdnaStk::compute(int eflag, int vflag) for (in = 0; in < nbondlist; in++) { - a = bondlist[in][1]; - b = bondlist[in][0]; + a = bondlist[in][0]; + b = bondlist[in][1]; + + // directionality test: a -> b is 3' -> 5' + if(atom->tag[b] != id5p[a]) { + + btemp = b; + b = a; + a = btemp; + + } + + // a now in 3' direction, b in 5' direction qa=bonus[ellipsoid[a]].quat; MathExtra::q_to_exyz(qa,ax,ay,az); @@ -279,30 +293,11 @@ void PairOxdnaStk::compute(int eflag, int vflag) rb_cst[1] = d_cst*bx[1]; rb_cst[2] = d_cst*bx[2]; - // vector stacking site b to a - delr_st[0] = x[a][0] + ra_cst[0] - x[b][0] - rb_cst[0]; - delr_st[1] = x[a][1] + ra_cst[1] - x[b][1] - rb_cst[1]; - delr_st[2] = x[a][2] + ra_cst[2] - x[b][2] - rb_cst[2]; + // vector stacking site a to b + delr_st[0] = x[b][0] + rb_cst[0] - x[a][0] - ra_cst[0]; + delr_st[1] = x[b][1] + rb_cst[1] - x[a][1] - ra_cst[1]; + delr_st[2] = x[b][2] + rb_cst[2] - x[a][2] - ra_cst[2]; - // test for directionality of vector b to a - tptofp = MFOxdna::is_3pto5p(delr_st,bz); - - // if b to a is 5' to 3' we need to swap roles of a and b - if (tptofp == -1) { - - std::swap(a,b); - std::swap(ax,bx); - std::swap(ay,by); - std::swap(az,bz); - std::swap(ra_cst,rb_cst); - - delr_st[0] *= -1; - delr_st[1] *= -1; - delr_st[2] *= -1; - - } - - // a now in 5' direction, b in 3' direction atype = type[a]; btype = type[b]; @@ -325,9 +320,9 @@ void PairOxdnaStk::compute(int eflag, int vflag) rb_cs[2] = d_cs*bx[2]; // vector backbone site b to a - delr_ss[0] = (x[a][0] + ra_cs[0] - x[b][0] - rb_cs[0]); - delr_ss[1] = (x[a][1] + ra_cs[1] - x[b][1] - rb_cs[1]); - delr_ss[2] = (x[a][2] + ra_cs[2] - x[b][2] - rb_cs[2]); + delr_ss[0] = (x[b][0] + rb_cs[0] - x[a][0] - ra_cs[0]); + delr_ss[1] = (x[b][1] + rb_cs[1] - x[a][1] - ra_cs[1]); + delr_ss[2] = (x[b][2] + rb_cs[2] - x[a][2] - ra_cs[2]); rsq_ss = delr_ss[0]*delr_ss[0] + delr_ss[1]*delr_ss[1] + delr_ss[2]*delr_ss[2]; r_ss = sqrt(rsq_ss); @@ -345,7 +340,7 @@ void PairOxdnaStk::compute(int eflag, int vflag) if (f1) { // theta4 angle and correction - cost4 = MathExtra::dot3(az,bz); + cost4 = MathExtra::dot3(bz,az); if (cost4 > 1.0) cost4 = 1.0; if (cost4 < -1.0) cost4 = -1.0; theta4 = acos(cost4); @@ -357,7 +352,7 @@ void PairOxdnaStk::compute(int eflag, int vflag) if (f4t4) { // theta5 angle and correction - cost5p = MathExtra::dot3(delr_st_norm,az); + cost5p = MathExtra::dot3(delr_st_norm,bz); if (cost5p > 1.0) cost5p = 1.0; if (cost5p < -1.0) cost5p = -1.0; theta5p = acos(cost5p); @@ -368,16 +363,16 @@ void PairOxdnaStk::compute(int eflag, int vflag) // early rejection criterium if (f4t5) { - cost6p = MathExtra::dot3(delr_st_norm,bz); + cost6p = MathExtra::dot3(delr_st_norm,az); if (cost6p > 1.0) cost6p = 1.0; if (cost6p < -1.0) cost6p = -1.0; theta6p = acos(cost6p); - cosphi1 = MathExtra::dot3(delr_ss_norm,ay); + cosphi1 = MathExtra::dot3(delr_ss_norm,by); if (cosphi1 > 1.0) cosphi1 = 1.0; if (cosphi1 < -1.0) cosphi1 = -1.0; - cosphi2 = MathExtra::dot3(delr_ss_norm,by); + cosphi2 = MathExtra::dot3(delr_ss_norm,ay); if (cosphi2 > 1.0) cosphi2 = 1.0; if (cosphi2 < -1.0) cosphi2 = -1.0; @@ -385,11 +380,10 @@ void PairOxdnaStk::compute(int eflag, int vflag) b_st6[atype][btype], dtheta_st6_c[atype][btype]); f5c1 = F5(-cosphi1, a_st1[atype][btype], -cosphi_st1_ast[atype][btype], b_st1[atype][btype], - cosphi_st1_c[atype][btype]); + -cosphi_st1_c[atype][btype]); f5c2 = F5(-cosphi2, a_st2[atype][btype], -cosphi_st2_ast[atype][btype], b_st2[atype][btype], - cosphi_st2_c[atype][btype]); - + -cosphi_st2_c[atype][btype]); evdwl = f1 * f4t4 * f4t5 * f4t6 * f5c1 * f5c2; @@ -410,10 +404,10 @@ void PairOxdnaStk::compute(int eflag, int vflag) b_st6[atype][btype], dtheta_st6_c[atype][btype])/sin(theta6p); df5c1 = DF5(-cosphi1, a_st1[atype][btype], -cosphi_st1_ast[atype][btype], b_st1[atype][btype], - cosphi_st1_c[atype][btype]); + -cosphi_st1_c[atype][btype]); df5c2 = DF5(-cosphi2, a_st2[atype][btype], -cosphi_st2_ast[atype][btype], b_st2[atype][btype], - cosphi_st2_c[atype][btype]); + -cosphi_st2_c[atype][btype]); // force, torque and virial contribution for forces between stacking sites @@ -446,9 +440,9 @@ void PairOxdnaStk::compute(int eflag, int vflag) finc = -f1 * f4t4 * df4t5 * f4t6 * f5c1 * f5c2 * rinv_st; fpair += finc; - delf[0] += (delr_st_norm[0]*cost5p - az[0]) * finc; - delf[1] += (delr_st_norm[1]*cost5p - az[1]) * finc; - delf[2] += (delr_st_norm[2]*cost5p - az[2]) * finc; + delf[0] += (delr_st_norm[0]*cost5p - bz[0]) * finc; + delf[1] += (delr_st_norm[1]*cost5p - bz[1]) * finc; + delf[2] += (delr_st_norm[2]*cost5p - bz[2]) * finc; } @@ -458,28 +452,27 @@ void PairOxdnaStk::compute(int eflag, int vflag) finc = -f1 * f4t4 * f4t5 * df4t6 * f5c1 * f5c2 * rinv_st; fpair += finc; - delf[0] += (delr_st_norm[0]*cost6p - bz[0]) * finc; - delf[1] += (delr_st_norm[1]*cost6p - bz[1]) * finc; - delf[2] += (delr_st_norm[2]*cost6p - bz[2]) * finc; + delf[0] += (delr_st_norm[0]*cost6p - az[0]) * finc; + delf[1] += (delr_st_norm[1]*cost6p - az[1]) * finc; + delf[2] += (delr_st_norm[2]*cost6p - az[2]) * finc; } // increment forces and torques - if (newton_bond || a < nlocal) { - f[a][0] += delf[0]; - f[a][1] += delf[1]; - f[a][2] += delf[2]; + f[a][0] -= delf[0]; + f[a][1] -= delf[1]; + f[a][2] -= delf[2]; MathExtra::cross3(ra_cst,delf,delta); } if (newton_bond || b < nlocal) { - f[b][0] -= delf[0]; - f[b][1] -= delf[1]; - f[b][2] -= delf[2]; + f[b][0] += delf[0]; + f[b][1] += delf[1]; + f[b][2] += delf[2]; MathExtra::cross3(rb_cst,delf,deltb); @@ -487,16 +480,16 @@ void PairOxdnaStk::compute(int eflag, int vflag) if (newton_bond || a < nlocal) { - torque[a][0] += delta[0]; - torque[a][1] += delta[1]; - torque[a][2] += delta[2]; + torque[a][0] -= delta[0]; + torque[a][1] -= delta[1]; + torque[a][2] -= delta[2]; } if (newton_bond || b < nlocal) { - torque[b][0] -= deltb[0]; - torque[b][1] -= deltb[1]; - torque[b][2] -= deltb[2]; + torque[b][0] += deltb[0]; + torque[b][1] += deltb[1]; + torque[b][2] += deltb[2]; } @@ -505,7 +498,7 @@ void PairOxdnaStk::compute(int eflag, int vflag) // (see G. Ciccotti and J.P. Ryckaert, Comp. Phys. Rep. 4, 345-392 (1986)) if (evflag) ev_tally_xyz(a,b,nlocal,newton_bond,evdwl, - delf[0],delf[1],delf[2],x[a][0]-x[b][0],x[a][1]-x[b][1],x[a][2]-x[b][2]); + delf[0],delf[1],delf[2],x[b][0]-x[a][0],x[b][1]-x[a][1],x[b][2]-x[a][2]); // force, torque and virial contribution for forces between backbone sites @@ -529,9 +522,9 @@ void PairOxdnaStk::compute(int eflag, int vflag) finc = -f1 * f4t4 * f4t5 * f4t6 * df5c1 * f5c2 * rinv_ss; fpair += finc; - delf[0] += (delr_ss_norm[0]*cosphi1 - ay[0]) * finc; - delf[1] += (delr_ss_norm[1]*cosphi1 - ay[1]) * finc; - delf[2] += (delr_ss_norm[2]*cosphi1 - ay[2]) * finc; + delf[0] += (delr_ss_norm[0]*cosphi1 - by[0]) * finc; + delf[1] += (delr_ss_norm[1]*cosphi1 - by[1]) * finc; + delf[2] += (delr_ss_norm[2]*cosphi1 - by[2]) * finc; } @@ -541,28 +534,27 @@ void PairOxdnaStk::compute(int eflag, int vflag) finc = -f1 * f4t4 * f4t5 * f4t6 * f5c1 * df5c2 * rinv_ss; fpair += finc; - delf[0] += (delr_ss_norm[0]*cosphi2 - by[0]) * finc; - delf[1] += (delr_ss_norm[1]*cosphi2 - by[1]) * finc; - delf[2] += (delr_ss_norm[2]*cosphi2 - by[2]) * finc; + delf[0] += (delr_ss_norm[0]*cosphi2 - ay[0]) * finc; + delf[1] += (delr_ss_norm[1]*cosphi2 - ay[1]) * finc; + delf[2] += (delr_ss_norm[2]*cosphi2 - ay[2]) * finc; } // increment forces and torques - if (newton_bond || a < nlocal) { - f[a][0] += delf[0]; - f[a][1] += delf[1]; - f[a][2] += delf[2]; + f[a][0] -= delf[0]; + f[a][1] -= delf[1]; + f[a][2] -= delf[2]; MathExtra::cross3(ra_cs,delf,delta); } if (newton_bond || b < nlocal) { - f[b][0] -= delf[0]; - f[b][1] -= delf[1]; - f[b][2] -= delf[2]; + f[b][0] += delf[0]; + f[b][1] += delf[1]; + f[b][2] += delf[2]; MathExtra::cross3(rb_cs,delf,deltb); @@ -570,22 +562,22 @@ void PairOxdnaStk::compute(int eflag, int vflag) if (newton_bond || a < nlocal) { - torque[a][0] += delta[0]; - torque[a][1] += delta[1]; - torque[a][2] += delta[2]; + torque[a][0] -= delta[0]; + torque[a][1] -= delta[1]; + torque[a][2] -= delta[2]; } if (newton_bond || b < nlocal) { - torque[b][0] -= deltb[0]; - torque[b][1] -= deltb[1]; - torque[b][2] -= deltb[2]; + torque[b][0] += deltb[0]; + torque[b][1] += deltb[1]; + torque[b][2] += deltb[2]; } // increment virial only if (evflag) ev_tally_xyz(a,b,nlocal,newton_bond,0.0, - delf[0],delf[1],delf[2],x[a][0]-x[b][0],x[a][1]-x[b][1],x[a][2]-x[b][2]); + delf[0],delf[1],delf[2],x[b][0]-x[a][0],x[b][1]-x[a][1],x[b][2]-x[a][2]); // pure torques not expressible as r x f @@ -600,7 +592,7 @@ void PairOxdnaStk::compute(int eflag, int vflag) if (theta4) { tpair = -f1 * df4t4 * f4t5 * f4t6 * f5c1 * f5c2; - MathExtra::cross3(bz,az,t4dir); + MathExtra::cross3(az,bz,t4dir); delta[0] += t4dir[0]*tpair; delta[1] += t4dir[1]*tpair; @@ -616,11 +608,11 @@ void PairOxdnaStk::compute(int eflag, int vflag) if (theta5p) { tpair = -f1 * f4t4 * df4t5 * f4t6 * f5c1 * f5c2; - MathExtra::cross3(delr_st_norm,az,t5pdir); + MathExtra::cross3(delr_st_norm,bz,t5pdir); - delta[0] += t5pdir[0] * tpair; - delta[1] += t5pdir[1] * tpair; - delta[2] += t5pdir[2] * tpair; + deltb[0] += t5pdir[0] * tpair; + deltb[1] += t5pdir[1] * tpair; + deltb[2] += t5pdir[2] * tpair; } @@ -628,11 +620,11 @@ void PairOxdnaStk::compute(int eflag, int vflag) if (theta6p) { tpair = -f1 * f4t4 * f4t5 * df4t6 * f5c1 * f5c2; - MathExtra::cross3(delr_st_norm,bz,t6pdir); + MathExtra::cross3(delr_st_norm,az,t6pdir); - deltb[0] -= t6pdir[0] * tpair; - deltb[1] -= t6pdir[1] * tpair; - deltb[2] -= t6pdir[2] * tpair; + delta[0] -= t6pdir[0] * tpair; + delta[1] -= t6pdir[1] * tpair; + delta[2] -= t6pdir[2] * tpair; } @@ -640,11 +632,11 @@ void PairOxdnaStk::compute(int eflag, int vflag) if (cosphi1) { tpair = -f1 * f4t4 * f4t5 * f4t6 * df5c1 * f5c2; - MathExtra::cross3(delr_ss_norm,ay,cosphi1dir); + MathExtra::cross3(delr_ss_norm,by,cosphi1dir); - delta[0] += cosphi1dir[0] * tpair; - delta[1] += cosphi1dir[1] * tpair; - delta[2] += cosphi1dir[2] * tpair; + deltb[0] += cosphi1dir[0] * tpair; + deltb[1] += cosphi1dir[1] * tpair; + deltb[2] += cosphi1dir[2] * tpair; } @@ -652,27 +644,27 @@ void PairOxdnaStk::compute(int eflag, int vflag) if (cosphi2) { tpair = -f1 * f4t4 * f4t5 * f4t6 * f5c1 * df5c2; - MathExtra::cross3(delr_ss_norm,by,cosphi2dir); + MathExtra::cross3(delr_ss_norm,ay,cosphi2dir); - deltb[0] -= cosphi2dir[0] * tpair; - deltb[1] -= cosphi2dir[1] * tpair; - deltb[2] -= cosphi2dir[2] * tpair; + delta[0] -= cosphi2dir[0] * tpair; + delta[1] -= cosphi2dir[1] * tpair; + delta[2] -= cosphi2dir[2] * tpair; } // increment torques if (newton_bond || a < nlocal) { - torque[a][0] += delta[0]; - torque[a][1] += delta[1]; - torque[a][2] += delta[2]; + torque[a][0] -= delta[0]; + torque[a][1] -= delta[1]; + torque[a][2] -= delta[2]; } if (newton_bond || b < nlocal) { - torque[b][0] -= deltb[0]; - torque[b][1] -= deltb[1]; - torque[b][2] -= deltb[2]; + torque[b][0] += deltb[0]; + torque[b][1] += deltb[1]; + torque[b][2] += deltb[2]; } @@ -935,6 +927,17 @@ void PairOxdnaStk::coeff(int narg, char **arg) } +/* ---------------------------------------------------------------------- + atom_style hybrid bond ellipsoid oxdna required +------------------------------------------------------------------------- */ + +void PairOxdnaStk::init_style() +{ + if (!atom->style_match("oxdna")) { + error->all(FLERR,"Must use 'atom_style hybrid bond ellipsoid oxdna' with pair style oxdna/stk, oxdna2/stk or oxrna2/stk"); + } +} + /* ---------------------------------------------------------------------- neighbor callback to inform pair style of neighbor list to use regular ------------------------------------------------------------------------- */ diff --git a/src/CG-DNA/pair_oxdna_stk.h b/src/CG-DNA/pair_oxdna_stk.h index 3d6c22d909..8695f8fd36 100644 --- a/src/CG-DNA/pair_oxdna_stk.h +++ b/src/CG-DNA/pair_oxdna_stk.h @@ -32,6 +32,7 @@ class PairOxdnaStk : public Pair { virtual void compute(int, int); void settings(int, char **); void coeff(int, char **); + void init_style(); void init_list(int, class NeighList *); double init_one(int, int); void write_restart(FILE *); diff --git a/src/CG-DNA/pair_oxrna2_stk.cpp b/src/CG-DNA/pair_oxrna2_stk.cpp index 8353a22463..627f302699 100644 --- a/src/CG-DNA/pair_oxrna2_stk.cpp +++ b/src/CG-DNA/pair_oxrna2_stk.cpp @@ -19,6 +19,7 @@ #include "atom.h" #include "atom_vec_ellipsoid.h" +#include "atom_vec_oxdna.h" #include "comm.h" #include "error.h" #include "force.h" @@ -44,26 +45,26 @@ PairOxrna2Stk::PairOxrna2Stk(LAMMPS *lmp) : Pair(lmp) writedata = 1; // sequence-specific stacking strength - // A:0 C:1 G:2 U:3, 5'- [i][j] -3' + // A:0 C:1 G:2 U:3, 3'- [i][j] -5' eta_st[0][0] = 0.93851; - eta_st[0][1] = 1.12901; - eta_st[0][2] = 1.15626; - eta_st[0][3] = 0.88850; + eta_st[1][0] = 1.12901; + eta_st[2][0] = 1.15626; + eta_st[3][0] = 0.88850; - eta_st[1][0] = 0.86331; + eta_st[0][1] = 0.86331; eta_st[1][1] = 1.05060; - eta_st[1][2] = 0.90982; - eta_st[1][3] = 0.83252; + eta_st[2][1] = 0.90982; + eta_st[3][1] = 0.83252; - eta_st[2][0] = 0.99407; - eta_st[2][1] = 1.14333; + eta_st[0][2] = 0.99407; + eta_st[1][2] = 1.14333; eta_st[2][2] = 1.06573; - eta_st[2][3] = 0.91705; + eta_st[3][2] = 0.91705; - eta_st[3][0] = 0.98804; - eta_st[3][1] = 1.04949; - eta_st[3][2] = 1.12063; + eta_st[0][3] = 0.98804; + eta_st[1][3] = 1.04949; + eta_st[2][3] = 1.12063; eta_st[3][3] = 0.83818; } @@ -261,11 +262,13 @@ void PairOxrna2Stk::compute(int eflag, int vflag) int **bondlist = neighbor->bondlist; int nbondlist = neighbor->nbondlist; + tagint *id5p = atom->id5p; + AtomVecEllipsoid *avec = (AtomVecEllipsoid *) atom->style_match("ellipsoid"); AtomVecEllipsoid::Bonus *bonus = avec->bonus; int *ellipsoid = atom->ellipsoid; - int a,b,in,atype,btype; + int a,b,btemp,in,atype,btype; double f1,f4t5,f4t6,f4t9,f4t10,f5c1,f5c2; double df1,df4t5,df4t6,df4t9,df4t10,df5c1,df5c2; @@ -278,62 +281,43 @@ void PairOxrna2Stk::compute(int eflag, int vflag) for (in = 0; in < nbondlist; in++) { - a = bondlist[in][1]; - b = bondlist[in][0]; + a = bondlist[in][0]; + b = bondlist[in][1]; + + // directionality test: a -> b is 3' -> 5' + if(atom->tag[b] != id5p[a]) { + + btemp = b; + b = a; + a = btemp; + + } + + // a now in 3' direction, b in 5' direction qa=bonus[ellipsoid[a]].quat; MathExtra::q_to_exyz(qa,ax,ay,az); qb=bonus[ellipsoid[b]].quat; MathExtra::q_to_exyz(qb,bx,by,bz); - // vector COM a - 3'-stacking site a - ra_cst[0] = d_cst_x_3p*ax[0] + d_cst_y_3p*ay[0]; - ra_cst[1] = d_cst_x_3p*ax[1] + d_cst_y_3p*ay[1]; - ra_cst[2] = d_cst_x_3p*ax[2] + d_cst_y_3p*ay[2]; + // vector COM a - 5'-stacking site a + ra_cst[0] = d_cst_x_5p*ax[0] + d_cst_y_5p*ay[0]; + ra_cst[1] = d_cst_x_5p*ax[1] + d_cst_y_5p*ay[1]; + ra_cst[2] = d_cst_x_5p*ax[2] + d_cst_y_5p*ay[2]; - // vector COM b - 5'-stacking site b - rb_cst[0] = d_cst_x_5p*bx[0] + d_cst_y_5p*by[0]; - rb_cst[1] = d_cst_x_5p*bx[1] + d_cst_y_5p*by[1]; - rb_cst[2] = d_cst_x_5p*bx[2] + d_cst_y_5p*by[2]; + // vector COM b - 3'-stacking site b + rb_cst[0] = d_cst_x_3p*bx[0] + d_cst_y_3p*by[0]; + rb_cst[1] = d_cst_x_3p*bx[1] + d_cst_y_3p*by[1]; + rb_cst[2] = d_cst_x_3p*bx[2] + d_cst_y_3p*by[2]; - // vector 5'-stacking site b to 3'-stacking site a - delr_st[0] = x[a][0] + ra_cst[0] - x[b][0] - rb_cst[0]; - delr_st[1] = x[a][1] + ra_cst[1] - x[b][1] - rb_cst[1]; - delr_st[2] = x[a][2] + ra_cst[2] - x[b][2] - rb_cst[2]; + // vector 5'-stacking site a to 3'-stacking site b + delr_st[0] = x[b][0] + rb_cst[0] - x[a][0] - ra_cst[0]; + delr_st[1] = x[b][1] + rb_cst[1] - x[a][1] - ra_cst[1]; + delr_st[2] = x[b][2] + rb_cst[2] - x[a][2] - ra_cst[2]; - // test for directionality of vector b to a - tptofp = MFOxdna::is_3pto5p(delr_st,bz); - - // if b to a is 5' to 3' we need to swap roles of a and b - if (tptofp == -1) { - - std::swap(a,b); - std::swap(ax,bx); - std::swap(ay,by); - std::swap(az,bz); - - } - - // a now in 5' direction, b in 3' direction atype = type[a]; btype = type[b]; - // calculate again - // vector COM a - 3'-stacking site a - ra_cst[0] = d_cst_x_3p*ax[0] + d_cst_y_3p*ay[0]; - ra_cst[1] = d_cst_x_3p*ax[1] + d_cst_y_3p*ay[1]; - ra_cst[2] = d_cst_x_3p*ax[2] + d_cst_y_3p*ay[2]; - - // vector COM b - 5'-stacking site b - rb_cst[0] = d_cst_x_5p*bx[0] + d_cst_y_5p*by[0]; - rb_cst[1] = d_cst_x_5p*bx[1] + d_cst_y_5p*by[1]; - rb_cst[2] = d_cst_x_5p*bx[2] + d_cst_y_5p*by[2]; - - // vector 5'-stacking site b to 3'-stacking site a - delr_st[0] = x[a][0] + ra_cst[0] - x[b][0] - rb_cst[0]; - delr_st[1] = x[a][1] + ra_cst[1] - x[b][1] - rb_cst[1]; - delr_st[2] = x[a][2] + ra_cst[2] - x[b][2] - rb_cst[2]; - rsq_st = delr_st[0]*delr_st[0] + delr_st[1]*delr_st[1] + delr_st[2]*delr_st[2]; r_st = sqrt(rsq_st); rinv_st = 1.0/r_st; @@ -352,10 +336,10 @@ void PairOxrna2Stk::compute(int eflag, int vflag) rb_cs[1] = d_cs_x*bx[1] + d_cs_z*bz[1]; rb_cs[2] = d_cs_x*bx[2] + d_cs_z*bz[2]; - // vector backbone site b to a - delr_ss[0] = (x[a][0] + ra_cs[0] - x[b][0] - rb_cs[0]); - delr_ss[1] = (x[a][1] + ra_cs[1] - x[b][1] - rb_cs[1]); - delr_ss[2] = (x[a][2] + ra_cs[2] - x[b][2] - rb_cs[2]); + // vector backbone site a to b + delr_ss[0] = (x[b][0] + rb_cs[0] - x[a][0] - ra_cs[0]); + delr_ss[1] = (x[b][1] + rb_cs[1] - x[a][1] - ra_cs[1]); + delr_ss[2] = (x[b][2] + rb_cs[2] - x[a][2] - ra_cs[2]); rsq_ss = delr_ss[0]*delr_ss[0] + delr_ss[1]*delr_ss[1] + delr_ss[2]*delr_ss[2]; r_ss = sqrt(rsq_ss); @@ -373,7 +357,7 @@ void PairOxrna2Stk::compute(int eflag, int vflag) if (f1) { // theta5 angle and correction - cost5p = MathExtra::dot3(delr_st_norm,az); + cost5p = MathExtra::dot3(delr_st_norm,bz); if (cost5p > 1.0) cost5p = 1.0; if (cost5p < -1.0) cost5p = -1.0; theta5p = acos(cost5p); @@ -384,18 +368,18 @@ void PairOxrna2Stk::compute(int eflag, int vflag) // early rejection criterium if (f4t5) { - cost6p = MathExtra::dot3(delr_st_norm,bz); + cost6p = MathExtra::dot3(delr_st_norm,az); if (cost6p > 1.0) cost6p = 1.0; if (cost6p < -1.0) cost6p = -1.0; theta6p = acos(cost6p); - aux3p[0] = d3p_x * ax[0] + d3p_y * ay[0] + d3p_z * az[0]; - aux3p[1] = d3p_x * ax[1] + d3p_y * ay[1] + d3p_z * az[1]; - aux3p[2] = d3p_x * ax[2] + d3p_y * ay[2] + d3p_z * az[2]; + aux5p[0] = d5p_x * ax[0] + d5p_y * ay[0] + d5p_z * az[0]; + aux5p[1] = d5p_x * ax[1] + d5p_y * ay[1] + d5p_z * az[1]; + aux5p[2] = d5p_x * ax[2] + d5p_y * ay[2] + d5p_z * az[2]; - aux5p[0] = d5p_x * bx[0] + d5p_y * by[0] + d5p_z * bz[0]; - aux5p[1] = d5p_x * bx[1] + d5p_y * by[1] + d5p_z * bz[1]; - aux5p[2] = d5p_x * bx[2] + d5p_y * by[2] + d5p_z * bz[2]; + aux3p[0] = d3p_x * bx[0] + d3p_y * by[0] + d3p_z * bz[0]; + aux3p[1] = d3p_x * bx[1] + d3p_y * by[1] + d3p_z * bz[1]; + aux3p[2] = d3p_x * bx[2] + d3p_y * by[2] + d3p_z * bz[2]; cost9 = MathExtra::dot3(delr_ss_norm,aux3p); if (cost9 > 1.0) cost9 = 1.0; @@ -407,11 +391,11 @@ void PairOxrna2Stk::compute(int eflag, int vflag) if (cost10 < -1.0) cost10 = -1.0; theta10 = acos(cost10); - cosphi1 = MathExtra::dot3(delr_ss_norm,ay); + cosphi1 = MathExtra::dot3(delr_ss_norm,by); if (cosphi1 > 1.0) cosphi1 = 1.0; if (cosphi1 < -1.0) cosphi1 = -1.0; - cosphi2 = MathExtra::dot3(delr_ss_norm,by); + cosphi2 = MathExtra::dot3(delr_ss_norm,ay); if (cosphi2 > 1.0) cosphi2 = 1.0; if (cosphi2 < -1.0) cosphi2 = -1.0; @@ -425,10 +409,10 @@ void PairOxrna2Stk::compute(int eflag, int vflag) b_st10[atype][btype], dtheta_st10_c[atype][btype]); f5c1 = F5(-cosphi1, a_st1[atype][btype], -cosphi_st1_ast[atype][btype], b_st1[atype][btype], - cosphi_st1_c[atype][btype]); + -cosphi_st1_c[atype][btype]); f5c2 = F5(-cosphi2, a_st2[atype][btype], -cosphi_st2_ast[atype][btype], b_st2[atype][btype], - cosphi_st2_c[atype][btype]); + -cosphi_st2_c[atype][btype]); evdwl = f1 * f4t5 * f4t6 * f4t9 * f4t10 * f5c1 * f5c2; @@ -453,10 +437,10 @@ void PairOxrna2Stk::compute(int eflag, int vflag) b_st10[atype][btype], dtheta_st10_c[atype][btype])/sin(theta10); df5c1 = DF5(-cosphi1, a_st1[atype][btype], -cosphi_st1_ast[atype][btype], b_st1[atype][btype], - cosphi_st1_c[atype][btype]); + -cosphi_st1_c[atype][btype]); df5c2 = DF5(-cosphi2, a_st2[atype][btype], -cosphi_st2_ast[atype][btype], b_st2[atype][btype], - cosphi_st2_c[atype][btype]); + -cosphi_st2_c[atype][btype]); // force, torque and virial contribution for forces between stacking sites @@ -489,9 +473,9 @@ void PairOxrna2Stk::compute(int eflag, int vflag) finc = -f1 * df4t5 * f4t6 * f4t9 * f4t10 * f5c1 * f5c2 * rinv_st; fpair += finc; - delf[0] += (delr_st_norm[0]*cost5p - az[0]) * finc; - delf[1] += (delr_st_norm[1]*cost5p - az[1]) * finc; - delf[2] += (delr_st_norm[2]*cost5p - az[2]) * finc; + delf[0] += (delr_st_norm[0]*cost5p - bz[0]) * finc; + delf[1] += (delr_st_norm[1]*cost5p - bz[1]) * finc; + delf[2] += (delr_st_norm[2]*cost5p - bz[2]) * finc; } @@ -501,28 +485,27 @@ void PairOxrna2Stk::compute(int eflag, int vflag) finc = -f1 * f4t5 * df4t6 * f4t9 * f4t10 * f5c1 * f5c2 * rinv_st; fpair += finc; - delf[0] += (delr_st_norm[0]*cost6p - bz[0]) * finc; - delf[1] += (delr_st_norm[1]*cost6p - bz[1]) * finc; - delf[2] += (delr_st_norm[2]*cost6p - bz[2]) * finc; + delf[0] += (delr_st_norm[0]*cost6p - az[0]) * finc; + delf[1] += (delr_st_norm[1]*cost6p - az[1]) * finc; + delf[2] += (delr_st_norm[2]*cost6p - az[2]) * finc; } // increment forces and torques - if (newton_bond || a < nlocal) { - f[a][0] += delf[0]; - f[a][1] += delf[1]; - f[a][2] += delf[2]; + f[a][0] -= delf[0]; + f[a][1] -= delf[1]; + f[a][2] -= delf[2]; MathExtra::cross3(ra_cst,delf,delta); } if (newton_bond || b < nlocal) { - f[b][0] -= delf[0]; - f[b][1] -= delf[1]; - f[b][2] -= delf[2]; + f[b][0] += delf[0]; + f[b][1] += delf[1]; + f[b][2] += delf[2]; MathExtra::cross3(rb_cst,delf,deltb); @@ -530,16 +513,16 @@ void PairOxrna2Stk::compute(int eflag, int vflag) if (newton_bond || a < nlocal) { - torque[a][0] += delta[0]; - torque[a][1] += delta[1]; - torque[a][2] += delta[2]; + torque[a][0] -= delta[0]; + torque[a][1] -= delta[1]; + torque[a][2] -= delta[2]; } if (newton_bond || b < nlocal) { - torque[b][0] -= deltb[0]; - torque[b][1] -= deltb[1]; - torque[b][2] -= deltb[2]; + torque[b][0] += deltb[0]; + torque[b][1] += deltb[1]; + torque[b][2] += deltb[2]; } @@ -547,8 +530,8 @@ void PairOxrna2Stk::compute(int eflag, int vflag) // NOTE: The virial is calculated on the 'molecular' basis. // (see G. Ciccotti and J.P. Ryckaert, Comp. Phys. Rep. 4, 345-392 (1986)) - if (evflag) ev_tally_xyz(a,b,nlocal,newton_bond,evdwl, - delf[0],delf[1],delf[2],x[a][0]-x[b][0],x[a][1]-x[b][1],x[a][2]-x[b][2]); + if (evflag) ev_tally_xyz(b,a,nlocal,newton_bond,evdwl, + delf[0],delf[1],delf[2],x[b][0]-x[a][0],x[b][1]-x[a][1],x[b][2]-x[a][2]); // force, torque and virial contribution for forces between backbone sites @@ -596,9 +579,9 @@ void PairOxrna2Stk::compute(int eflag, int vflag) finc = -f1 * f4t5 * f4t6 * f4t9 * f4t10 * df5c1 * f5c2 * rinv_ss; fpair += finc; - delf[0] += (delr_ss_norm[0]*cosphi1 - ay[0]) * finc; - delf[1] += (delr_ss_norm[1]*cosphi1 - ay[1]) * finc; - delf[2] += (delr_ss_norm[2]*cosphi1 - ay[2]) * finc; + delf[0] += (delr_ss_norm[0]*cosphi1 - by[0]) * finc; + delf[1] += (delr_ss_norm[1]*cosphi1 - by[1]) * finc; + delf[2] += (delr_ss_norm[2]*cosphi1 - by[2]) * finc; } @@ -608,28 +591,27 @@ void PairOxrna2Stk::compute(int eflag, int vflag) finc = -f1 * f4t5 * f4t6 * f4t9 * f4t10 * f5c1 * df5c2 * rinv_ss; fpair += finc; - delf[0] += (delr_ss_norm[0]*cosphi2 - by[0]) * finc; - delf[1] += (delr_ss_norm[1]*cosphi2 - by[1]) * finc; - delf[2] += (delr_ss_norm[2]*cosphi2 - by[2]) * finc; + delf[0] += (delr_ss_norm[0]*cosphi2 - ay[0]) * finc; + delf[1] += (delr_ss_norm[1]*cosphi2 - ay[1]) * finc; + delf[2] += (delr_ss_norm[2]*cosphi2 - ay[2]) * finc; } // increment forces and torques - if (newton_bond || a < nlocal) { - f[a][0] += delf[0]; - f[a][1] += delf[1]; - f[a][2] += delf[2]; + f[a][0] -= delf[0]; + f[a][1] -= delf[1]; + f[a][2] -= delf[2]; MathExtra::cross3(ra_cs,delf,delta); } if (newton_bond || b < nlocal) { - f[b][0] -= delf[0]; - f[b][1] -= delf[1]; - f[b][2] -= delf[2]; + f[b][0] += delf[0]; + f[b][1] += delf[1]; + f[b][2] += delf[2]; MathExtra::cross3(rb_cs,delf,deltb); @@ -637,22 +619,22 @@ void PairOxrna2Stk::compute(int eflag, int vflag) if (newton_bond || a < nlocal) { - torque[a][0] += delta[0]; - torque[a][1] += delta[1]; - torque[a][2] += delta[2]; + torque[a][0] -= delta[0]; + torque[a][1] -= delta[1]; + torque[a][2] -= delta[2]; } if (newton_bond || b < nlocal) { - torque[b][0] -= deltb[0]; - torque[b][1] -= deltb[1]; - torque[b][2] -= deltb[2]; + torque[b][0] += deltb[0]; + torque[b][1] += deltb[1]; + torque[b][2] += deltb[2]; } // increment virial only - if (evflag) ev_tally_xyz(a,b,nlocal,newton_bond,0.0, - delf[0],delf[1],delf[2],x[a][0]-x[b][0],x[a][1]-x[b][1],x[a][2]-x[b][2]); + if (evflag) ev_tally_xyz(b,a,nlocal,newton_bond,0.0, + delf[0],delf[1],delf[2],x[b][0]-x[a][0],x[b][1]-x[a][1],x[b][2]-x[a][2]); // pure torques not expressible as r x f @@ -667,11 +649,11 @@ void PairOxrna2Stk::compute(int eflag, int vflag) if (theta5p) { tpair = -f1 * df4t5 * f4t6 * f4t9 * f4t10 * f5c1 * f5c2; - MathExtra::cross3(delr_st_norm,az,t5pdir); + MathExtra::cross3(delr_st_norm,bz,t5pdir); - delta[0] += t5pdir[0] * tpair; - delta[1] += t5pdir[1] * tpair; - delta[2] += t5pdir[2] * tpair; + deltb[0] += t5pdir[0] * tpair; + deltb[1] += t5pdir[1] * tpair; + deltb[2] += t5pdir[2] * tpair; } @@ -679,11 +661,11 @@ void PairOxrna2Stk::compute(int eflag, int vflag) if (theta6p) { tpair = -f1 * f4t5 * df4t6 * f4t9 * f4t10 * f5c1 * f5c2; - MathExtra::cross3(delr_st_norm,bz,t6pdir); + MathExtra::cross3(delr_st_norm,az,t6pdir); - deltb[0] -= t6pdir[0] * tpair; - deltb[1] -= t6pdir[1] * tpair; - deltb[2] -= t6pdir[2] * tpair; + delta[0] -= t6pdir[0] * tpair; + delta[1] -= t6pdir[1] * tpair; + delta[2] -= t6pdir[2] * tpair; } @@ -693,9 +675,9 @@ void PairOxrna2Stk::compute(int eflag, int vflag) tpair = -f1 * f4t5 * f4t6 * df4t9 * f4t10 * f5c1 * f5c2; MathExtra::cross3(delr_ss_norm,aux3p,t9dir); - delta[0] += t9dir[0] * tpair; - delta[1] += t9dir[1] * tpair; - delta[2] += t9dir[2] * tpair; + deltb[0] += t9dir[0] * tpair; + deltb[1] += t9dir[1] * tpair; + deltb[2] += t9dir[2] * tpair; } @@ -705,9 +687,9 @@ void PairOxrna2Stk::compute(int eflag, int vflag) tpair = -f1 * f4t5 * f4t6 * f4t9 * df4t10 * f5c1 * f5c2; MathExtra::cross3(delr_ss_norm,aux5p,t10dir); - deltb[0] -= t10dir[0] * tpair; - deltb[1] -= t10dir[1] * tpair; - deltb[2] -= t10dir[2] * tpair; + delta[0] -= t10dir[0] * tpair; + delta[1] -= t10dir[1] * tpair; + delta[2] -= t10dir[2] * tpair; } @@ -715,11 +697,11 @@ void PairOxrna2Stk::compute(int eflag, int vflag) if (cosphi1) { tpair = -f1 * f4t5 * f4t6 * f4t9 * f4t10 * df5c1 * f5c2; - MathExtra::cross3(delr_ss_norm,ay,cosphi1dir); + MathExtra::cross3(delr_ss_norm,by,cosphi1dir); - delta[0] += cosphi1dir[0] * tpair; - delta[1] += cosphi1dir[1] * tpair; - delta[2] += cosphi1dir[2] * tpair; + deltb[0] += cosphi1dir[0] * tpair; + deltb[1] += cosphi1dir[1] * tpair; + deltb[2] += cosphi1dir[2] * tpair; } @@ -727,27 +709,27 @@ void PairOxrna2Stk::compute(int eflag, int vflag) if (cosphi2) { tpair = -f1 * f4t5 * f4t6 * f4t9 * f4t10 * f5c1 * df5c2; - MathExtra::cross3(delr_ss_norm,by,cosphi2dir); + MathExtra::cross3(delr_ss_norm,ay,cosphi2dir); - deltb[0] -= cosphi2dir[0] * tpair; - deltb[1] -= cosphi2dir[1] * tpair; - deltb[2] -= cosphi2dir[2] * tpair; + delta[0] -= cosphi2dir[0] * tpair; + delta[1] -= cosphi2dir[1] * tpair; + delta[2] -= cosphi2dir[2] * tpair; } // increment torques if (newton_bond || a < nlocal) { - torque[a][0] += delta[0]; - torque[a][1] += delta[1]; - torque[a][2] += delta[2]; + torque[a][0] -= delta[0]; + torque[a][1] -= delta[1]; + torque[a][2] -= delta[2]; } if (newton_bond || b < nlocal) { - torque[b][0] -= deltb[0]; - torque[b][1] -= deltb[1]; - torque[b][2] -= deltb[2]; + torque[b][0] += deltb[0]; + torque[b][1] += deltb[1]; + torque[b][2] += deltb[2]; } @@ -1027,6 +1009,17 @@ void PairOxrna2Stk::coeff(int narg, char **arg) } +/* ---------------------------------------------------------------------- + atom_style hybrid bond ellipsoid oxdna required +------------------------------------------------------------------------- */ + +void PairOxrna2Stk::init_style() +{ + if (!atom->style_match("oxdna")) { + error->all(FLERR,"Must use 'atom_style hybrid bond ellipsoid oxdna' with pair style oxdna/stk, oxdna2/stk or oxrna2/stk"); + } +} + /* ---------------------------------------------------------------------- neighbor callback to inform pair style of neighbor list to use regular ------------------------------------------------------------------------- */ diff --git a/src/CG-DNA/pair_oxrna2_stk.h b/src/CG-DNA/pair_oxrna2_stk.h index 7648dd207d..23650c98b5 100644 --- a/src/CG-DNA/pair_oxrna2_stk.h +++ b/src/CG-DNA/pair_oxrna2_stk.h @@ -31,6 +31,7 @@ class PairOxrna2Stk : public Pair { virtual void compute(int, int); void settings(int, char **); void coeff(int, char **); + void init_style(); void init_list(int, class NeighList *); double init_one(int, int); void write_restart(FILE *); diff --git a/src/atom.cpp b/src/atom.cpp index 6c93161dfd..f32489f148 100644 --- a/src/atom.cpp +++ b/src/atom.cpp @@ -161,7 +161,7 @@ Atom::Atom(LAMMPS *lmp) : Pointers(lmp) sp = fm = fm_long = nullptr; - // EFF and AWPMD packages + // USER-EFF and USER-AWPMD packages spin = nullptr; eradius = ervel = erforce = nullptr; @@ -169,23 +169,27 @@ Atom::Atom(LAMMPS *lmp) : Pointers(lmp) cs = csforce = vforce = nullptr; etag = nullptr; - // DPD-REACT package + // USER-CGDNA package + + id5p = nullptr; + + // USER-DPD package uCond = uMech = uChem = uCG = uCGnew = nullptr; duChem = dpdTheta = nullptr; - // MESO package + // USER-MESO package cc = cc_flux = nullptr; edpd_temp = edpd_flux = edpd_cv = nullptr; - // MESONT package + // USER-MESONT package length = nullptr; buckling = nullptr; bond_nt = nullptr; - // MACHDYN package + // USER-SMD package contact_radius = nullptr; smd_data_9 = nullptr; @@ -194,12 +198,12 @@ Atom::Atom(LAMMPS *lmp) : Pointers(lmp) eff_plastic_strain_rate = nullptr; damage = nullptr; - // SPH package + // USER-SPH package rho = drho = esph = desph = cv = nullptr; vest = nullptr; - // DIELECTRIC package + // USER-DIELECTRIC package area = ed = em = epsilon = curvature = q_unscaled = nullptr; @@ -457,14 +461,14 @@ void Atom::peratom_create() add_peratom("fm",&fm,DOUBLE,3,1); add_peratom("fm_long",&fm_long,DOUBLE,3,1); - // EFF package + // USER-EFF package add_peratom("spin",&spin,INT,0); add_peratom("eradius",&eradius,DOUBLE,0); add_peratom("ervel",&ervel,DOUBLE,0); add_peratom("erforce",&erforce,DOUBLE,0,1); // set per-thread flag - // AWPMD package + // USER-AWPMD package add_peratom("cs",&cs,DOUBLE,2); add_peratom("csforce",&csforce,DOUBLE,2); @@ -472,7 +476,11 @@ void Atom::peratom_create() add_peratom("ervelforce",&ervelforce,DOUBLE,0); add_peratom("etag",&etag,INT,0); - // DPD-REACT package + // USER-CGDNA package + + add_peratom("id5p",&id5p,tagintsize,0); + + // USER-DPD package add_peratom("dpdTheta",&dpdTheta,DOUBLE,0); add_peratom("uCond",&uCond,DOUBLE,0); @@ -482,7 +490,7 @@ void Atom::peratom_create() add_peratom("uCGnew",&uCGnew,DOUBLE,0); add_peratom("duChem",&duChem,DOUBLE,0); - // MESO package + // USER-MESO package add_peratom("edpd_cv",&edpd_cv,DOUBLE,0); add_peratom("edpd_temp",&edpd_temp,DOUBLE,0); @@ -491,13 +499,13 @@ void Atom::peratom_create() add_peratom("cc",&cc,DOUBLE,1); add_peratom("cc_flux",&cc_flux,DOUBLE,1,1); // set per-thread flag - // MESONT package + // USER-MESONT package add_peratom("length",&length,DOUBLE,0); add_peratom("buckling",&buckling,INT,0); add_peratom("bond_nt",&bond_nt,tagintsize,2); - // SPH package + // USER-SPH package add_peratom("rho",&rho,DOUBLE,0); add_peratom("drho",&drho,DOUBLE,0,1); // set per-thread flag @@ -506,7 +514,7 @@ void Atom::peratom_create() add_peratom("vest",&vest,DOUBLE,3); add_peratom("cv",&cv,DOUBLE,0); - // MACHDYN package + // USER-SMD package add_peratom("contact_radius",&contact_radius,DOUBLE,0); add_peratom("smd_data_9",&smd_data_9,DOUBLE,1); @@ -515,7 +523,7 @@ void Atom::peratom_create() add_peratom("eff_plastic_strain_rate",&eff_plastic_strain_rate,DOUBLE,0); add_peratom("damage",&damage,DOUBLE,0); - // DIELECTRIC package + // USER-DIELECTRIC package add_peratom("area",&area,DOUBLE,0); add_peratom("ed",&ed,DOUBLE,0); @@ -1292,6 +1300,7 @@ void Atom::data_bonds(int n, char *buf, int *count, tagint id_offset, } } } + buf = next + 1; } } @@ -2646,7 +2655,7 @@ void *Atom::extract(const char *name) if (strcmp(name,"cv") == 0) return (void *) cv; if (strcmp(name,"vest") == 0) return (void *) vest; - // MESONT package + // USER-MESONT package if (strcmp(name,"length") == 0) return (void *) length; if (strcmp(name,"buckling") == 0) return (void *) buckling; if (strcmp(name,"bond_nt") == 0) return (void *) bond_nt; @@ -2663,7 +2672,7 @@ void *Atom::extract(const char *name) if (strcmp(name,"dpdTheta") == 0) return (void *) dpdTheta; if (strcmp(name,"edpd_temp") == 0) return (void *) edpd_temp; - // DIELECTRIC + // USER-DIELECTRIC if (strcmp(name,"area") == 0) return (void *) area; if (strcmp(name,"ed") == 0) return (void *) ed; if (strcmp(name,"em") == 0) return (void *) em; @@ -2739,7 +2748,7 @@ int Atom::extract_datatype(const char *name) if (strcmp(name,"cv") == 0) return LAMMPS_DOUBLE; if (strcmp(name,"vest") == 0) return LAMMPS_DOUBLE_2D; - // MESONT package + // USER-MESONT package if (strcmp(name,"length") == 0) return LAMMPS_DOUBLE; if (strcmp(name,"buckling") == 0) return LAMMPS_INT; if (strcmp(name,"bond_nt") == 0) return LAMMPS_TAGINT_2D; @@ -2754,7 +2763,7 @@ int Atom::extract_datatype(const char *name) if (strcmp(name,"dpdTheta") == 0) return LAMMPS_DOUBLE; if (strcmp(name,"edpd_temp") == 0) return LAMMPS_DOUBLE; - // DIELECTRIC + // USER-DIELECTRIC if (strcmp(name,"area") == 0) return LAMMPS_DOUBLE; if (strcmp(name,"ed") == 0) return LAMMPS_DOUBLE; if (strcmp(name,"em") == 0) return LAMMPS_DOUBLE; diff --git a/src/atom.h b/src/atom.h index c881490b8e..115c9601ce 100644 --- a/src/atom.h +++ b/src/atom.h @@ -114,7 +114,7 @@ class Atom : protected Pointers { double **sp, **fm, **fm_long; - // EFF and AWPMD packages + // USER_EFF and USER-AWPMD packages int *spin; double *eradius, *ervel, *erforce; @@ -122,14 +122,18 @@ class Atom : protected Pointers { double **cs, **csforce, **vforce; int *etag; - // DPD-REACT package + // USER-CGDNA package + + tagint *id5p; + + // USER-DPD package double *uCond, *uMech, *uChem, *uCGnew, *uCG; double *duChem; double *dpdTheta; int nspecies_dpd; - // MESO package + // USER-MESO package double **cc, **cc_flux; // cc = chemical concentration double *edpd_temp, *edpd_flux; // temperature and heat flux @@ -137,13 +141,13 @@ class Atom : protected Pointers { double *edpd_cv; // heat capacity int cc_species; - // MESONT package + // USER-MESONT package double *length; int *buckling; tagint **bond_nt; - // MACHDYN package + // USER-SMD package double *contact_radius; double **smd_data_9; @@ -152,12 +156,12 @@ class Atom : protected Pointers { double *eff_plastic_strain_rate; double *damage; - // SPH package + // USER-SPH package double *rho, *drho, *esph, *desph, *cv; double **vest; - // DIELECTRIC package + // USER-DIELECTRIC package double *area,*ed,*em,*epsilon,*curvature,*q_unscaled; @@ -187,7 +191,7 @@ class Atom : protected Pointers { int sp_flag; - // MACHDYN package + // USER-SMD package int x0_flag; int smd_flag, damage_flag; diff --git a/src/atom_vec.h b/src/atom_vec.h index a65fd17dcd..ff811c39bc 100644 --- a/src/atom_vec.h +++ b/src/atom_vec.h @@ -129,6 +129,8 @@ class AtomVec : protected Pointers { virtual void data_atom_bonus(int, char **) {} virtual void data_body(int, int, int, int *, double *) {} + virtual void data_bonds_post(int, char *, tagint) {} + virtual void pack_data(double **); virtual void write_data(FILE *, int, double **); virtual void pack_data_pre(int) {} diff --git a/src/read_data.cpp b/src/read_data.cpp index 12ad6c3b8c..af200d3af6 100644 --- a/src/read_data.cpp +++ b/src/read_data.cpp @@ -71,6 +71,7 @@ ReadData::ReadData(LAMMPS *lmp) : Command(lmp) keyword = new char[MAXLINE]; style = new char[MAXLINE]; buffer = new char[CHUNK*MAXLINE]; + buffer_post = new char[CHUNK*MAXLINE]; ncoeffarg = maxcoeffarg = 0; coeffarg = nullptr; fp = nullptr; @@ -86,6 +87,11 @@ ReadData::ReadData(LAMMPS *lmp) : Command(lmp) avec_tri = (AtomVecTri *) atom->style_match("tri"); nbodies = 0; avec_body = (AtomVecBody *) atom->style_match("body"); + + if (atom->style_match("oxdna")) + avec = (AtomVec *) atom->style_match("oxdna"); + else + avec = atom->avec; } /* ---------------------------------------------------------------------- */ @@ -96,6 +102,7 @@ ReadData::~ReadData() delete [] keyword; delete [] style; delete [] buffer; + delete [] buffer_post; memory->sfree(coeffarg); for (int i = 0; i < nfix; i++) { @@ -1333,7 +1340,9 @@ void ReadData::bonds(int firstpass) nchunk = MIN(nbonds-nread,CHUNK); eof = utils::read_lines_from_file(fp,nchunk,MAXLINE,buffer,me,world); if (eof) error->all(FLERR,"Unexpected end of data file"); + strcpy(buffer_post,buffer); atom->data_bonds(nchunk,buffer,count,id_offset,boffset); + if (!firstpass) avec->data_bonds_post(nchunk,buffer_post,id_offset); nread += nchunk; } diff --git a/src/read_data.h b/src/read_data.h index 482c45e6e6..1f240a18bc 100644 --- a/src/read_data.h +++ b/src/read_data.h @@ -32,7 +32,7 @@ class ReadData : public Command { private: int me, compressed; - char *line, *keyword, *buffer, *style; + char *line, *keyword, *buffer, *buffer_post, *style; FILE *fp; char **coeffarg; int ncoeffarg, maxcoeffarg; @@ -54,6 +54,7 @@ class ReadData : public Command { class AtomVecTri *avec_tri; bigint nbodies; class AtomVecBody *avec_body; + class AtomVec *avec; // box info From 65e2d8fd5e869fb8fb6280fd5d22799577e13956 Mon Sep 17 00:00:00 2001 From: Oliver Henrich Date: Mon, 5 Jul 2021 17:29:11 +0100 Subject: [PATCH 353/726] Added data_bonds_post2() method for testing purposes --- src/CG-DNA/atom_vec_oxdna.cpp | 12 ++++++++++++ src/CG-DNA/atom_vec_oxdna.h | 1 + src/atom.cpp | 1 + src/atom_vec.h | 1 + src/atom_vec_hybrid.cpp | 11 +++++++++++ src/atom_vec_hybrid.h | 3 +++ 6 files changed, 29 insertions(+) diff --git a/src/CG-DNA/atom_vec_oxdna.cpp b/src/CG-DNA/atom_vec_oxdna.cpp index dc50656906..0a1fd0684e 100644 --- a/src/CG-DNA/atom_vec_oxdna.cpp +++ b/src/CG-DNA/atom_vec_oxdna.cpp @@ -101,3 +101,15 @@ void AtomVecOxdna::data_bonds_post(int n, char *buf, tagint id_offset) buf = next + 1; } } + +/* ---------------------------------------------------------------------- + process bond information as per data file + store 5' partner to inform 3'->5' bond directionality +------------------------------------------------------------------------- */ + +void AtomVecOxdna::data_bonds_post2(int m, int num_bond, tagint atom1, tagint atom2, tagint id_offset) +{ + +printf("CALLED FROM ATOM_VEC_OXDNA\n"); + +} diff --git a/src/CG-DNA/atom_vec_oxdna.h b/src/CG-DNA/atom_vec_oxdna.h index b8af0305f7..e4485a3152 100644 --- a/src/CG-DNA/atom_vec_oxdna.h +++ b/src/CG-DNA/atom_vec_oxdna.h @@ -32,6 +32,7 @@ class AtomVecOxdna : public AtomVec { void grow_pointers(); virtual void data_bonds_post(int, char *, tagint); + virtual void data_bonds_post2(int, int, tagint, tagint, tagint); private: tagint *id5p; diff --git a/src/atom.cpp b/src/atom.cpp index f32489f148..fbc930dca1 100644 --- a/src/atom.cpp +++ b/src/atom.cpp @@ -1288,6 +1288,7 @@ void Atom::data_bonds(int n, char *buf, int *count, tagint id_offset, bond_type[m][num_bond[m]] = itype; bond_atom[m][num_bond[m]] = atom2; num_bond[m]++; + avec->data_bonds_post2(m, num_bond[m], atom1, atom2, id_offset); } } if (newton_bond == 0) { diff --git a/src/atom_vec.h b/src/atom_vec.h index ff811c39bc..d65f1f3345 100644 --- a/src/atom_vec.h +++ b/src/atom_vec.h @@ -130,6 +130,7 @@ class AtomVec : protected Pointers { virtual void data_body(int, int, int, int *, double *) {} virtual void data_bonds_post(int, char *, tagint) {} + virtual void data_bonds_post2(int, int , tagint, tagint, tagint) {} virtual void pack_data(double **); virtual void write_data(FILE *, int, double **); diff --git a/src/atom_vec_hybrid.cpp b/src/atom_vec_hybrid.cpp index 4327420cee..6df260801c 100644 --- a/src/atom_vec_hybrid.cpp +++ b/src/atom_vec_hybrid.cpp @@ -438,6 +438,17 @@ void AtomVecHybrid::data_atom_post(int ilocal) styles[k]->data_atom_post(ilocal); } +/* ---------------------------------------------------------------------- + modify what AtomVec::data_bonds() just unpacked + or initialize other bond quantities +------------------------------------------------------------------------- */ +void AtomVecHybrid::data_bonds_post2(int m, int num_bond, tagint atom1, tagint atom2, tagint id_offset) +{ + +printf("CALLED FROM ATOM_VEC_HYBRID\n"); + +} + /* ---------------------------------------------------------------------- modify values for AtomVec::pack_data() to pack ------------------------------------------------------------------------- */ diff --git a/src/atom_vec_hybrid.h b/src/atom_vec_hybrid.h index 3c804a462c..317dc86338 100644 --- a/src/atom_vec_hybrid.h +++ b/src/atom_vec_hybrid.h @@ -55,6 +55,9 @@ class AtomVecHybrid : public AtomVec { void unpack_restart_init(int); void create_atom_post(int); void data_atom_post(int); + + virtual void data_bonds_post2(int, int, tagint, tagint, tagint); + void pack_data_pre(int); void pack_data_post(int); From ee751cf040f78ccdc2b7ef180b67b85c5e97c86c Mon Sep 17 00:00:00 2001 From: tomswinburne Date: Tue, 6 Jul 2021 10:33:28 +0200 Subject: [PATCH 354/726] remove whitespace --- src/SNAP/pair_snap.cpp | 33 +++++++++++---------------------- 1 file changed, 11 insertions(+), 22 deletions(-) diff --git a/src/SNAP/pair_snap.cpp b/src/SNAP/pair_snap.cpp index c9a6747fe4..1fc4112fdb 100644 --- a/src/SNAP/pair_snap.cpp +++ b/src/SNAP/pair_snap.cpp @@ -65,7 +65,6 @@ PairSNAP::~PairSNAP() memory->destroy(beta); memory->destroy(bispectrum); - delete snaptr; if (allocated) { @@ -180,21 +179,15 @@ void PairSNAP::compute(int eflag, int vflag) snaptr->compute_deidrj(fij); - // scaling - fij[0] *= scale[itype][itype]; - fij[1] *= scale[itype][itype]; - fij[2] *= scale[itype][itype]; - - f[i][0] += fij[0]; - f[i][1] += fij[1]; - f[i][2] += fij[2]; - f[j][0] -= fij[0]; - f[j][1] -= fij[1]; - f[j][2] -= fij[2]; + f[i][0] += fij[0] * scale[itype][itype]; + f[i][1] += fij[1] * scale[itype][itype]; + f[i][2] += fij[2] * scale[itype][itype]; + f[j][0] -= fij[0] * scale[itype][itype]; + f[j][1] -= fij[1] * scale[itype][itype]; + f[j][2] -= fij[2] * scale[itype][itype]; // tally per-atom virial contribution - if (vflag) ev_tally_xyz(i,j,nlocal,newton_pair,0.0,0.0, fij[0],fij[1],fij[2], @@ -209,7 +202,7 @@ void PairSNAP::compute(int eflag, int vflag) // evdwl = energy of atom I, sum over coeffs_k * Bi_k double* coeffi = coeffelem[ielem]; - evdwl = coeffi[0] ; + evdwl = coeffi[0]; // snaptr->copy_bi2bvec(); // E = beta.B + 0.5*B^t.alpha.B @@ -257,18 +250,18 @@ void PairSNAP::compute_beta() double* coeffi = coeffelem[ielem]; for (int icoeff = 0; icoeff < ncoeff; icoeff++) - beta[ii][icoeff] = coeffi[icoeff+1] ; + beta[ii][icoeff] = coeffi[icoeff+1]; if (quadraticflag) { int k = ncoeff+1; for (int icoeff = 0; icoeff < ncoeff; icoeff++) { double bveci = bispectrum[ii][icoeff]; - beta[ii][icoeff] += coeffi[k] * bveci ; + beta[ii][icoeff] += coeffi[k]*bveci; k++; for (int jcoeff = icoeff+1; jcoeff < ncoeff; jcoeff++) { double bvecj = bispectrum[ii][jcoeff]; - beta[ii][icoeff] += coeffi[k] * bvecj ; - beta[ii][jcoeff] += coeffi[k] * bveci ; + beta[ii][icoeff] += coeffi[k]*bvecj; + beta[ii][jcoeff] += coeffi[k]*bveci; k++; } } @@ -385,7 +378,6 @@ void PairSNAP::settings(int narg, char ** /* arg */) void PairSNAP::coeff(int narg, char **arg) { if (!allocated) allocate(); - if (narg != 4 + atom->ntypes) error->all(FLERR,"Incorrect args for pair coefficients"); map_element2type(narg-4,arg+4); @@ -394,8 +386,6 @@ void PairSNAP::coeff(int narg, char **arg) read_files(arg[2],arg[3]); - - if (!quadraticflag) ncoeff = ncoeffall - 1; else { @@ -741,7 +731,6 @@ double PairSNAP::memory_usage() return bytes; } - void *PairSNAP::extract(const char *str, int &dim) { dim = 2; From edf623bc822defc9e36c3f14c226d628709e9cb9 Mon Sep 17 00:00:00 2001 From: tomswinburne Date: Tue, 6 Jul 2021 10:33:46 +0200 Subject: [PATCH 355/726] remove whitespace --- src/SNAP/pair_snap.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/SNAP/pair_snap.cpp b/src/SNAP/pair_snap.cpp index 1fc4112fdb..7221c956c8 100644 --- a/src/SNAP/pair_snap.cpp +++ b/src/SNAP/pair_snap.cpp @@ -179,12 +179,12 @@ void PairSNAP::compute(int eflag, int vflag) snaptr->compute_deidrj(fij); - f[i][0] += fij[0] * scale[itype][itype]; - f[i][1] += fij[1] * scale[itype][itype]; - f[i][2] += fij[2] * scale[itype][itype]; - f[j][0] -= fij[0] * scale[itype][itype]; - f[j][1] -= fij[1] * scale[itype][itype]; - f[j][2] -= fij[2] * scale[itype][itype]; + f[i][0] += fij[0]*scale[itype][itype]; + f[i][1] += fij[1]*scale[itype][itype]; + f[i][2] += fij[2]*scale[itype][itype]; + f[j][0] -= fij[0]*scale[itype][itype]; + f[j][1] -= fij[1]*scale[itype][itype]; + f[j][2] -= fij[2]*scale[itype][itype]; // tally per-atom virial contribution From 2c0b87573fa6b52c89ec0ad73e07436b3b79af3c Mon Sep 17 00:00:00 2001 From: tomswinburne Date: Tue, 6 Jul 2021 10:34:59 +0200 Subject: [PATCH 356/726] remove whitespace --- src/SNAP/pair_snap.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/SNAP/pair_snap.cpp b/src/SNAP/pair_snap.cpp index 7221c956c8..b14f1244c6 100644 --- a/src/SNAP/pair_snap.cpp +++ b/src/SNAP/pair_snap.cpp @@ -353,12 +353,10 @@ void PairSNAP::allocate() { allocated = 1; int n = atom->ntypes; - memory->create(setflag,n+1,n+1,"pair:setflag"); memory->create(cutsq,n+1,n+1,"pair:cutsq"); memory->create(scale,n+1,n+1,"pair:scale"); map = new int[n+1]; - } /* ---------------------------------------------------------------------- From 3675bef2b0380cfb0ce3ff500654cf1c3048b6cc Mon Sep 17 00:00:00 2001 From: tomswinburne Date: Tue, 6 Jul 2021 14:06:27 +0200 Subject: [PATCH 357/726] doc --- doc/src/fix_adapt.rst | 2 + doc/src/fix_adapt_fep.rst | 4 +- .../snap/Ni_Zuo_JPCA2020.quadratic.snapcoeff | 1 + .../snap/Ni_Zuo_JPCA2020.quadratic.snapparam | 1 + examples/snap/Ni_Zuo_JPCA2020.snapcoeff | 1 + examples/snap/Ni_Zuo_JPCA2020.snapparam | 1 + examples/snap/in.snap.scale.Ni_Zuo_JCPA2020 | 53 +++++++++++++++++++ src/SNAP/pair_snap.cpp | 1 + 8 files changed, 63 insertions(+), 1 deletion(-) create mode 120000 examples/snap/Ni_Zuo_JPCA2020.quadratic.snapcoeff create mode 120000 examples/snap/Ni_Zuo_JPCA2020.quadratic.snapparam create mode 120000 examples/snap/Ni_Zuo_JPCA2020.snapcoeff create mode 120000 examples/snap/Ni_Zuo_JPCA2020.snapparam create mode 100644 examples/snap/in.snap.scale.Ni_Zuo_JCPA2020 diff --git a/doc/src/fix_adapt.rst b/doc/src/fix_adapt.rst index aa34516d52..a110d93a8d 100644 --- a/doc/src/fix_adapt.rst +++ b/doc/src/fix_adapt.rst @@ -188,6 +188,8 @@ formulas for the meaning of these parameters: +------------------------------------------------------------------------------+--------------------------------------------------+-------------+ | :doc:`reax/c ` | chi, eta, gamma | type global | +------------------------------------------------------------------------------+--------------------------------------------------+-------------+ +| :doc:`snap ` | scale | type pairs | ++------------------------------------------------------------------------------+--------------------------------------------------+-------------+ | :doc:`spin/dmi ` | coulombic_cutoff | type global | +------------------------------------------------------------------------------+--------------------------------------------------+-------------+ | :doc:`spin/exchange ` | coulombic_cutoff | type global | diff --git a/doc/src/fix_adapt_fep.rst b/doc/src/fix_adapt_fep.rst index 81a34ab75e..ce374a29cb 100644 --- a/doc/src/fix_adapt_fep.rst +++ b/doc/src/fix_adapt_fep.rst @@ -173,10 +173,12 @@ styles and their energy formulas for the meaning of these parameters: +------------------------------------------------------------------------------+-------------------------+------------+ | :doc:`nm/cut/coul/cut, nm/cut/coul/long ` | e0,r0,nn,mm | type pairs | +------------------------------------------------------------------------------+-------------------------+------------+ -| :doc:`ufm ` | epsilon,sigma,scale | type pairs | +| :doc:`snap ` | scale | type pairs | +------------------------------------------------------------------------------+-------------------------+------------+ | :doc:`soft ` | a | type pairs | +------------------------------------------------------------------------------+-------------------------+------------+ +| :doc:`ufm ` | epsilon,sigma,scale | type pairs | ++------------------------------------------------------------------------------+-------------------------+------------+ .. note:: diff --git a/examples/snap/Ni_Zuo_JPCA2020.quadratic.snapcoeff b/examples/snap/Ni_Zuo_JPCA2020.quadratic.snapcoeff new file mode 120000 index 0000000000..9401393007 --- /dev/null +++ b/examples/snap/Ni_Zuo_JPCA2020.quadratic.snapcoeff @@ -0,0 +1 @@ +../../potentials/Ni_Zuo_JPCA2020.quadratic.snapcoeff \ No newline at end of file diff --git a/examples/snap/Ni_Zuo_JPCA2020.quadratic.snapparam b/examples/snap/Ni_Zuo_JPCA2020.quadratic.snapparam new file mode 120000 index 0000000000..a47ada019b --- /dev/null +++ b/examples/snap/Ni_Zuo_JPCA2020.quadratic.snapparam @@ -0,0 +1 @@ +../../potentials/Ni_Zuo_JPCA2020.quadratic.snapparam \ No newline at end of file diff --git a/examples/snap/Ni_Zuo_JPCA2020.snapcoeff b/examples/snap/Ni_Zuo_JPCA2020.snapcoeff new file mode 120000 index 0000000000..7211856b43 --- /dev/null +++ b/examples/snap/Ni_Zuo_JPCA2020.snapcoeff @@ -0,0 +1 @@ +../../potentials/Ni_Zuo_JPCA2020.snapcoeff \ No newline at end of file diff --git a/examples/snap/Ni_Zuo_JPCA2020.snapparam b/examples/snap/Ni_Zuo_JPCA2020.snapparam new file mode 120000 index 0000000000..b7fc095fab --- /dev/null +++ b/examples/snap/Ni_Zuo_JPCA2020.snapparam @@ -0,0 +1 @@ +../../potentials/Ni_Zuo_JPCA2020.snapparam \ No newline at end of file diff --git a/examples/snap/in.snap.scale.Ni_Zuo_JCPA2020 b/examples/snap/in.snap.scale.Ni_Zuo_JCPA2020 new file mode 100644 index 0000000000..ee195c11f3 --- /dev/null +++ b/examples/snap/in.snap.scale.Ni_Zuo_JCPA2020 @@ -0,0 +1,53 @@ +# Toy demonstration of SNAP "scale" parameter, using fix/adapt and hybrid/overlay +# Mixing linear and quadratic SNAP Ni potentials by Zuo et al. JCPA 2020 + +# mixing parameter + +variable lambda equal 0.2 + + +# Initialize simulation + +variable nsteps index 100 +variable nrep equal 3 +variable a equal 3.52 +units metal + +# generate the box and atom positions using a FCC lattice +variable nx equal ${nrep} +variable ny equal ${nrep} +variable nz equal ${nrep} + +boundary p p p + +lattice fcc $a +region box block 0 ${nx} 0 ${ny} 0 ${nz} +create_box 1 box +create_atoms 1 box + +mass 1 34. + +# choose bundled SNAP Ni potential from Zuo et al. JCPA 2020 +pair_style hybrid/overlay snap snap +pair_coeff * * snap 1 Ni_Zuo_JPCA2020.snapcoeff Ni_Zuo_JPCA2020.snapparam Ni +pair_coeff * * snap 2 Ni_Zuo_JPCA2020.quadratic.snapcoeff Ni_Zuo_JPCA2020.quadratic.snapparam Ni + +# scale according to mixing parameter +variable l1 equal ${lambda} +variable l2 equal 1.0-${lambda} +fix scale1 all adapt 1 pair snap:1 scale * * v_l1 +fix scale2 all adapt 1 pair snap:2 scale * * v_l2 + +# Setup output +thermo 1 +thermo_modify norm yes + +# Set up NVE run +timestep 0.5e-3 +neighbor 1.0 bin +neigh_modify every 1 delay 0 check yes + +# Run MD +velocity all create 300.0 4928459 loop geom +fix 1 all nve +run ${nsteps} diff --git a/src/SNAP/pair_snap.cpp b/src/SNAP/pair_snap.cpp index b14f1244c6..dd023e096c 100644 --- a/src/SNAP/pair_snap.cpp +++ b/src/SNAP/pair_snap.cpp @@ -165,6 +165,7 @@ void PairSNAP::compute(int eflag, int vflag) // for neighbors of I within cutoff: // compute Fij = dEi/dRj = -dEi/dRi // add to Fi, subtract from Fj + // scaling is that for type I snaptr->compute_yi(beta[ii]); From 40e83088b0c3e2865cda9735807318090751337d Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 6 Jul 2021 11:11:35 -0400 Subject: [PATCH 358/726] update SNAP unit tests for added extract keyword --- unittest/force-styles/tests/manybody-pair-snap.yaml | 3 ++- unittest/force-styles/tests/manybody-pair-snap_chem.yaml | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/unittest/force-styles/tests/manybody-pair-snap.yaml b/unittest/force-styles/tests/manybody-pair-snap.yaml index 139d1b94d0..57e0e9d599 100644 --- a/unittest/force-styles/tests/manybody-pair-snap.yaml +++ b/unittest/force-styles/tests/manybody-pair-snap.yaml @@ -14,7 +14,8 @@ pair_style: hybrid/overlay zbl 4.0 4.8 snap pair_coeff: ! | 1*8 1*8 zbl 73 73 * * snap Ta06A.snapcoeff Ta06A.snapparam Ta Ta Ta Ta Ta Ta Ta Ta -extract: ! "" +extract: ! | + scale 2 natoms: 64 init_vdwl: -473.569864629026 init_coul: 0 diff --git a/unittest/force-styles/tests/manybody-pair-snap_chem.yaml b/unittest/force-styles/tests/manybody-pair-snap_chem.yaml index 39d2abd804..b97709863e 100644 --- a/unittest/force-styles/tests/manybody-pair-snap_chem.yaml +++ b/unittest/force-styles/tests/manybody-pair-snap_chem.yaml @@ -16,7 +16,8 @@ pair_coeff: ! | 1*4 5*8 zbl 49 15 5*8 5*8 zbl 15 15 * * snap InP_JCPA2020.snapcoeff InP_JCPA2020.snapparam In In In In P P P P -extract: ! "" +extract: ! | + scale 2 natoms: 64 init_vdwl: -185.3871232982 init_coul: 0 From 0614cb16bbf106838567ab9ff472c5f163b8c3e6 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 6 Jul 2021 13:07:08 -0400 Subject: [PATCH 359/726] add missing dependency --- src/Depend.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Depend.sh b/src/Depend.sh index 6dbfed903c..4700b6f5f0 100755 --- a/src/Depend.sh +++ b/src/Depend.sh @@ -78,6 +78,7 @@ if (test $1 = "GRANULAR") then fi if (test $1 = "KSPACE") then + depend CG-SDK depend CORESHELL depend DIELECTRIC depend GPU From c805040e1448f55cdcf45bdf424e75788ea5ca6b Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 6 Jul 2021 13:10:40 -0400 Subject: [PATCH 360/726] two more uses of temporary variable --- src/ML-IAP/mliap_so3.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ML-IAP/mliap_so3.cpp b/src/ML-IAP/mliap_so3.cpp index 925faa6324..b600b29ebd 100644 --- a/src/ML-IAP/mliap_so3.cpp +++ b/src/ML-IAP/mliap_so3.cpp @@ -740,7 +740,7 @@ void MLIAP_SO3::get_sbes_array(int nlocal, int *numneighs, double **rij, int lma m_sbes_array[gindex + i1mindex + j] = m_sbes_array[gindex + i1mindex + j - 2] - (2 * j - 1) / rb * m_sbes_array[gindex + i1mindex + j - 1]; - exts = m_sbes_array[gindex + (i - 1) * mindex + j - 2] - + exts = m_sbes_array[gindex + i1mindex + j - 2] - (2 * j - 1) / rb * m_sbes_array[gindex + i1mindex + j - 1]; m_sbes_darray[gindex + i1mindex + 0] = sb; @@ -751,7 +751,7 @@ void MLIAP_SO3::get_sbes_array(int nlocal, int *numneighs, double **rij, int lma (j + 1) * m_sbes_array[gindex + i1mindex + j + 1]) / (2 * j + 1); - m_sbes_darray[gindex + (i - 1) * mindex + j] = + m_sbes_darray[gindex + i1mindex + j] = xi * (j * m_sbes_array[gindex + i1mindex + j - 1] + (j + 1) * exts) / (2 * j + 1); m_sbes_darray[gindex + i1mindex + 0] = xi * sb; } From d041e5cba0f4b78d1af5d6863ad9320550b31dbe Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 6 Jul 2021 13:39:07 -0400 Subject: [PATCH 361/726] we require at least zstd API version 1.4 --- doc/src/Build_extras.rst | 3 ++- src/COMPRESS/zstd_file_writer.h | 5 +++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/doc/src/Build_extras.rst b/doc/src/Build_extras.rst index a78b798636..7c6bb7a878 100644 --- a/doc/src/Build_extras.rst +++ b/doc/src/Build_extras.rst @@ -74,7 +74,8 @@ To build with this package you must have the `zlib compression library `_ available on your system to build dump styles with a '/gz' suffix. There are also styles using the `Zstandard `_ library which have a -'/zstd' suffix. +'/zstd' suffix. The zstd library version must be at least 1.4. Older +versions use an incompatible API and thus LAMMPS will fail to compile. .. tabs:: diff --git a/src/COMPRESS/zstd_file_writer.h b/src/COMPRESS/zstd_file_writer.h index 9161e3f902..3789d52122 100644 --- a/src/COMPRESS/zstd_file_writer.h +++ b/src/COMPRESS/zstd_file_writer.h @@ -25,6 +25,11 @@ #include #include +#if ZSTD_VERSION_NUMBER < 10400 +#error must have at least zstd version 1.4 to compile with -DLAMMPS_ZSTD +#endif + + namespace LAMMPS_NS { class ZstdFileWriter : public FileWriter { From 4f6e28a0d8fd757d28f98ef25f8a8d56f98ce6d7 Mon Sep 17 00:00:00 2001 From: Stan Gerald Moore Date: Tue, 6 Jul 2021 13:49:12 -0600 Subject: [PATCH 362/726] Refactor use of Kokkos::UnorderedMap to fix Cuda issue --- src/KOKKOS/atom_kokkos.h | 10 ++--- src/KOKKOS/atom_map_kokkos.cpp | 72 ++++++++++++-------------------- src/KOKKOS/fix_shake_kokkos.cpp | 3 -- src/KOKKOS/fix_shake_kokkos.h | 2 - src/KOKKOS/kokkos_type.h | 19 +++++++++ src/KOKKOS/neigh_bond_kokkos.cpp | 1 - src/KOKKOS/neigh_bond_kokkos.h | 2 - src/KOKKOS/neighbor_kokkos.h | 3 +- 8 files changed, 50 insertions(+), 62 deletions(-) diff --git a/src/KOKKOS/atom_kokkos.h b/src/KOKKOS/atom_kokkos.h index d2629b4441..bf2d74f511 100644 --- a/src/KOKKOS/atom_kokkos.h +++ b/src/KOKKOS/atom_kokkos.h @@ -14,7 +14,6 @@ #include "atom.h" // IWYU pragma: export #include "kokkos_type.h" -#include #ifndef LMP_ATOM_KOKKOS_H #define LMP_ATOM_KOKKOS_H @@ -71,25 +70,22 @@ class AtomKokkos : public Atom { ~AtomKokkos(); void map_init(int check = 1); - void map_clear(); void map_set(); void map_delete(); DAT::tdual_int_1d k_sametag; DAT::tdual_int_1d k_map_array; DAT::tdual_int_scalar k_error_flag; - - typedef Kokkos::UnorderedMap hash_type; - typedef Kokkos::DualView dual_hash_type; - typedef dual_hash_type::t_host::data_type host_hash_type; dual_hash_type k_map_hash; + hash_type d_map_hash; + host_hash_type h_map_hash; template KOKKOS_INLINE_FUNCTION static int map_find_hash_kokkos(tagint global, dual_hash_type k_map_hash) { int local = -1; - auto d_map_hash = k_map_hash.view()(); + auto d_map_hash = k_map_hash.view(); auto index = d_map_hash.find(global); if (d_map_hash.valid_at(index)) local = d_map_hash.value_at(index); diff --git a/src/KOKKOS/atom_map_kokkos.cpp b/src/KOKKOS/atom_map_kokkos.cpp index 4c3d5cd1e9..486594e182 100644 --- a/src/KOKKOS/atom_map_kokkos.cpp +++ b/src/KOKKOS/atom_map_kokkos.cpp @@ -13,8 +13,11 @@ ------------------------------------------------------------------------- */ #include "atom_kokkos.h" +#include "neighbor_kokkos.h" #include "comm.h" #include "error.h" +#include "modify.h" +#include "fix.h" #include "memory_kokkos.h" #include "atom_masks.h" @@ -61,8 +64,6 @@ void AtomKokkos::map_init(int check) map_free = 0; for (int i = 0; i < map_nhash; i++) map_hash[i].next = i+1; if (map_nhash > 0) map_hash[map_nhash-1].next = -1; - - k_map_hash.h_view().clear(); } // recreating: delete old map and create new one for array or hash @@ -106,34 +107,9 @@ void AtomKokkos::map_init(int check) for (int i = 0; i < map_nhash; i++) map_hash[i].next = i+1; map_hash[map_nhash-1].next = -1; - k_map_hash = dual_hash_type("atom:map_hash"); - k_map_hash.h_view() = host_hash_type(map_nhash); + h_map_hash = host_hash_type(map_nhash); } } - - if (map_style == Atom::MAP_ARRAY) - k_map_array.modify_host(); - else if (map_style == Atom::MAP_HASH) - k_map_hash.modify_host(); -} - -/* ---------------------------------------------------------------------- - clear global -> local map for all of my own and ghost atoms - for hash table option: - global ID may not be in table if image atom was already cleared -------------------------------------------------------------------------- */ - -void AtomKokkos::map_clear() -{ - Atom::map_clear(); - - if (map_style == MAP_ARRAY) { - k_map_array.modify_host(); - } else { - k_map_hash.h_view().clear(); - k_map_hash.modify_host(); - } - k_sametag.modify_host(); } /* ---------------------------------------------------------------------- @@ -225,8 +201,7 @@ void AtomKokkos::map_set() // Copy to Kokkos hash - k_map_hash.h_view().clear(); - auto h_map_hash = k_map_hash.h_view(); + h_map_hash.clear(); for (int i = nall-1; i >= 0 ; i--) { @@ -252,13 +227,24 @@ void AtomKokkos::map_set() } } - k_sametag.modify_host(); - if (map_style == Atom::MAP_ARRAY) - k_map_array.modify_host(); - else if (map_style == Atom::MAP_HASH) - k_map_hash.modify_host(); -} + // check if fix shake or neigh bond needs a device hash + int device_hash_flag = 0; + + auto neighborKK = (NeighborKokkos*) neighbor; + if (neighborKK->device_flag) device_hash_flag = 1; + + for (int n = 0; n < modify->nfix; n++) + if (utils::strmatch(modify->fix[n]->style,"^shake")) + if (modify->fix[n]->execution_space == Device) + device_hash_flag = 1; + + if (device_hash_flag) + Kokkos::deep_copy(d_map_hash,h_map_hash); + + k_map_hash.h_view = h_map_hash; + k_map_hash.d_view = d_map_hash; +} /* ---------------------------------------------------------------------- free the array or hash table for global to local mapping @@ -268,20 +254,14 @@ void AtomKokkos::map_delete() { memoryKK->destroy_kokkos(k_sametag,sametag); sametag = nullptr; - max_same = 0; if (map_style == MAP_ARRAY) { memoryKK->destroy_kokkos(k_map_array,map_array); map_array = nullptr; } else { - if (map_nhash) { - delete [] map_bucket; - delete [] map_hash; - map_bucket = nullptr; - map_hash = nullptr; - k_map_hash = dual_hash_type(); - } - map_nhash = map_nbucket = 0; + h_map_hash = host_hash_type(); + d_map_hash = hash_type(); } -} + Atom::map_delete(); +} diff --git a/src/KOKKOS/fix_shake_kokkos.cpp b/src/KOKKOS/fix_shake_kokkos.cpp index 594c9c60db..a50ec573b4 100644 --- a/src/KOKKOS/fix_shake_kokkos.cpp +++ b/src/KOKKOS/fix_shake_kokkos.cpp @@ -207,7 +207,6 @@ void FixShakeKokkos::pre_neighbor() k_map_array.template sync(); } else if (map_style == Atom::MAP_HASH) { k_map_hash = atomKK->k_map_hash; - k_map_hash.template sync(); } k_shake_flag.sync(); @@ -231,7 +230,6 @@ void FixShakeKokkos::pre_neighbor() k_map_array.template sync(); } else if (map_style == Atom::MAP_HASH) { k_map_hash = atomKK->k_map_hash; - k_map_hash.template sync(); } // build list of SHAKE clusters I compute @@ -320,7 +318,6 @@ void FixShakeKokkos::post_force(int vflag) k_map_array.template sync(); } else if (map_style == Atom::MAP_HASH) { k_map_hash = atomKK->k_map_hash; - k_map_hash.template sync(); } if (d_rmass.data()) diff --git a/src/KOKKOS/fix_shake_kokkos.h b/src/KOKKOS/fix_shake_kokkos.h index fbf6e1de88..698298c65d 100644 --- a/src/KOKKOS/fix_shake_kokkos.h +++ b/src/KOKKOS/fix_shake_kokkos.h @@ -187,8 +187,6 @@ class FixShakeKokkos : public FixShake, public KokkosBase { DAT::tdual_int_1d k_map_array; - typedef Kokkos::UnorderedMap hash_type; - typedef Kokkos::DualView dual_hash_type; dual_hash_type k_map_hash; KOKKOS_INLINE_FUNCTION diff --git a/src/KOKKOS/kokkos_type.h b/src/KOKKOS/kokkos_type.h index c9e5736410..7a27e3f20f 100644 --- a/src/KOKKOS/kokkos_type.h +++ b/src/KOKKOS/kokkos_type.h @@ -23,6 +23,7 @@ #include #include #include +#include enum{FULL=1u,HALFTHREAD=2u,HALF=4u}; @@ -551,6 +552,20 @@ typedef int T_INT; // LAMMPS types +typedef Kokkos::UnorderedMap hash_type; +typedef hash_type::HostMirror host_hash_type; + +struct dual_hash_type { + hash_type d_view; + host_hash_type h_view; + + template + std::enable_if_t::value,hash_type> view() {return d_view;} + template + std::enable_if_t::value,host_hash_type> view() {return h_view;} + +}; + template struct ArrayTypes; @@ -837,6 +852,8 @@ typedef tdual_neighbors_2d::t_dev_um t_neighbors_2d_um; typedef tdual_neighbors_2d::t_dev_const_um t_neighbors_2d_const_um; typedef tdual_neighbors_2d::t_dev_const_randomread t_neighbors_2d_randomread; +typedef hash_type t_hash; + }; #ifdef LMP_KOKKOS_GPU @@ -1098,6 +1115,8 @@ typedef tdual_neighbors_2d::t_host_um t_neighbors_2d_um; typedef tdual_neighbors_2d::t_host_const_um t_neighbors_2d_const_um; typedef tdual_neighbors_2d::t_host_const_randomread t_neighbors_2d_randomread; +typedef host_hash_type t_hash; + }; #endif //default LAMMPS Types diff --git a/src/KOKKOS/neigh_bond_kokkos.cpp b/src/KOKKOS/neigh_bond_kokkos.cpp index c427d18216..228d521fdd 100644 --- a/src/KOKKOS/neigh_bond_kokkos.cpp +++ b/src/KOKKOS/neigh_bond_kokkos.cpp @@ -1241,7 +1241,6 @@ void NeighBondKokkos::update_class_variables() k_map_array.template sync(); } else if (map_style == Atom::MAP_HASH) { k_map_hash = atomKK->k_map_hash; - k_map_hash.template sync(); } } diff --git a/src/KOKKOS/neigh_bond_kokkos.h b/src/KOKKOS/neigh_bond_kokkos.h index 9bf508ec7a..d60ad2f1aa 100644 --- a/src/KOKKOS/neigh_bond_kokkos.h +++ b/src/KOKKOS/neigh_bond_kokkos.h @@ -89,8 +89,6 @@ class NeighBondKokkos : protected Pointers { DAT::tdual_int_1d k_map_array; - typedef Kokkos::UnorderedMap hash_type; - typedef Kokkos::DualView dual_hash_type; dual_hash_type k_map_hash; KOKKOS_INLINE_FUNCTION diff --git a/src/KOKKOS/neighbor_kokkos.h b/src/KOKKOS/neighbor_kokkos.h index 1a560e2129..ef885535ed 100644 --- a/src/KOKKOS/neighbor_kokkos.h +++ b/src/KOKKOS/neighbor_kokkos.h @@ -64,13 +64,14 @@ class NeighborKokkos : public Neighbor { DAT::tdual_int_2d k_dihedrallist; DAT::tdual_int_2d k_improperlist; + int device_flag; + private: DAT::tdual_x_array x; DAT::tdual_x_array xhold; X_FLOAT deltasq; - int device_flag; void init_cutneighsq_kokkos(int); void create_kokkos_list(int); From 91790e8586c6ea3924c7cda7fb8c966fecdd3cad Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Tue, 6 Jul 2021 20:21:34 -0400 Subject: [PATCH 363/726] Update Commands_kspace.rst --- doc/src/Commands_kspace.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/src/Commands_kspace.rst b/doc/src/Commands_kspace.rst index 47188d1172..553bfc845f 100644 --- a/doc/src/Commands_kspace.rst +++ b/doc/src/Commands_kspace.rst @@ -33,8 +33,10 @@ OPT. * :doc:`pppm/cg (o) ` * :doc:`pppm/dipole ` * :doc:`pppm/dipole/spin ` + * :doc:`pppm/dielectric ` * :doc:`pppm/disp (io) ` * :doc:`pppm/disp/tip4p (o) ` + * :doc:`pppm/disp/dielectric ` * :doc:`pppm/stagger ` * :doc:`pppm/tip4p (o) ` * :doc:`pppm/dielectric ` From d190ef09c2b0f1c873ef7b50545f042409de8384 Mon Sep 17 00:00:00 2001 From: Oliver Henrich Date: Wed, 7 Jul 2021 09:58:53 +0100 Subject: [PATCH 364/726] Initialised id5p atom quantity --- src/CG-DNA/atom_vec_oxdna.cpp | 9 +++++++++ src/CG-DNA/atom_vec_oxdna.h | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/CG-DNA/atom_vec_oxdna.cpp b/src/CG-DNA/atom_vec_oxdna.cpp index 0a1fd0684e..150e9e6d1d 100644 --- a/src/CG-DNA/atom_vec_oxdna.cpp +++ b/src/CG-DNA/atom_vec_oxdna.cpp @@ -63,7 +63,16 @@ AtomVecOxdna::~AtomVecOxdna() void AtomVecOxdna::grow_pointers() { id5p = atom->id5p; +} +/* ---------------------------------------------------------------------- + initialize atom quantity +------------------------------------------------------------------------- */ + +void AtomVecOxdna::data_atom_post(int ilocal) +{ + tagint *id5p = atom->id5p; + id5p[ilocal] = -1; } /* ---------------------------------------------------------------------- diff --git a/src/CG-DNA/atom_vec_oxdna.h b/src/CG-DNA/atom_vec_oxdna.h index e4485a3152..bb8f9a457d 100644 --- a/src/CG-DNA/atom_vec_oxdna.h +++ b/src/CG-DNA/atom_vec_oxdna.h @@ -20,7 +20,6 @@ AtomStyle(oxdna,AtomVecOxdna); #ifndef LMP_ATOM_VEC_OXDNA_H #define LMP_ATOM_VEC_OXDNA_H -#include "atom.h" #include "atom_vec.h" namespace LAMMPS_NS { @@ -33,6 +32,7 @@ class AtomVecOxdna : public AtomVec { void grow_pointers(); virtual void data_bonds_post(int, char *, tagint); virtual void data_bonds_post2(int, int, tagint, tagint, tagint); + void data_atom_post(int); private: tagint *id5p; From 46d5d9724aae6e2f3dd39e05acc5e1456f5d0a6a Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 7 Jul 2021 15:52:53 -0400 Subject: [PATCH 365/726] move interlayer potentials to their own package --- cmake/presets/all_off.cmake | 1 + cmake/presets/all_on.cmake | 1 + cmake/presets/mingw-cross.cmake | 1 + cmake/presets/most.cmake | 1 + doc/src/Packages_details.rst | 19 +++++++++++++++++++ doc/src/Packages_list.rst | 5 +++++ doc/src/pair_coul_shield.rst | 5 +++-- doc/src/pair_drip.rst | 16 ++++++++-------- doc/src/pair_ilp_graphene_hbn.rst | 7 ++++--- doc/src/pair_kolmogorov_crespi_full.rst | 9 +++++---- doc/src/pair_kolmogorov_crespi_z.rst | 5 +++-- doc/src/pair_lebedeva_z.rst | 5 +++-- .../interlayer}/drip/C.drip | 0 .../interlayer}/drip/CH.rebo | 0 .../interlayer}/drip/README.txt | 0 .../interlayer}/drip/data.C | 0 .../interlayer}/drip/data.CH | 0 .../interlayer}/drip/in.CH_drip | 0 .../interlayer}/drip/in.C_drip | 0 .../drip/log.30Apr19.CH_drip.g++.1 | 0 .../drip/log.30Apr19.CH_drip.g++.4 | 0 .../interlayer}/drip/log.30Apr19.C_drip.g++.1 | 0 .../interlayer}/drip/log.30Apr19.C_drip.g++.4 | 0 .../interlayer}/ilp_graphene_hbn/BNC.tersoff | 0 .../interlayer}/ilp_graphene_hbn/BNCH-old.ILP | 0 .../Bi_gr_AB_stack_2L_noH.data | 0 .../gr_hBN_Cstack_2L_noH.data | 0 .../hBN_AA_prime_stack_2L_noH.data | 0 .../hBN_AB_stack_2L_noH_equi_300K.data | 0 .../ilp_graphene_hbn/in.bilayer-graphene | 0 .../ilp_graphene_hbn/in.bilayer-hBN | 0 .../interlayer}/ilp_graphene_hbn/in.grhBN | 0 .../ilp_graphene_hbn/in.ilp_graphene_hbn | 0 .../log.31Jul19.bilayer-graphene.g++.1 | 0 .../log.31Jul19.bilayer-graphene.g++.4 | 0 .../log.31Jul19.bilayer-hBN.g++.1 | 0 .../log.31Jul19.bilayer-hBN.g++.4 | 0 .../ilp_graphene_hbn/log.31Jul19.grhBN.g++.1 | 0 .../ilp_graphene_hbn/log.31Jul19.grhBN.g++.4 | 0 .../log.31Jul19.ilp_graphene_hbn.g++.1 | 0 .../log.31Jul19.ilp_graphene_hbn.g++.4 | 0 .../Bi_gr_AB_stack_2L_noH.data | 0 .../Bi_gr_AB_stack_2L_noH_300K.data | 0 .../kolmogorov_crespi_full/CC.KC-full | 0 .../interlayer}/kolmogorov_crespi_full/CH.KC | 0 .../kolmogorov_crespi_full/CH.rebo | 0 .../kolmogorov_crespi_full/CH_taper.KC | 0 .../in.bilayer-graphene | 0 .../log.5Jun19.bilayer-graphene.g++.1 | 0 .../log.5Jun19.bilayer-graphene.g++.4 | 0 .../log.5Jun19.bilayer-graphene.icc.1 | 0 .../log.5Jun19.bilayer-graphene.icc.4 | 0 .../interlayer}/kolmogorov_crespi_z/CC.KC | 0 .../interlayer}/kolmogorov_crespi_z/CH.rebo | 0 .../kolmogorov_crespi_z/data.bilayer-graphene | 0 .../data.graphene-adsorbant | 0 .../kolmogorov_crespi_z/in.atom-diffusion | 0 .../kolmogorov_crespi_z/in.bilayer-graphene | 0 .../log.16Mar18.atom-diffusion.g++.1 | 0 .../log.16Mar18.atom-diffusion.g++.4 | 0 .../log.30Apr19.bilayer-graphene.g++.1 | 0 .../log.30Apr19.bilayer-graphene.g++.4 | 0 .../interlayer}/lebedeva/2particles.dat | 0 .../interlayer}/lebedeva/2particles.in | 0 .../interlayer}/lebedeva/CC.Lebedeva | 0 .../interlayer}/lebedeva/LammpsResult.dat | 0 .../interlayer}/lebedeva/LebDer.pl | 0 .../interlayer}/lebedeva/lebedeva00.plot | 0 .../pair_coul_shield.cpp | 0 .../pair_coul_shield.h | 0 src/{USER-MISC => INTERLAYER}/pair_drip.cpp | 0 src/{USER-MISC => INTERLAYER}/pair_drip.h | 0 .../pair_ilp_graphene_hbn.cpp | 0 .../pair_ilp_graphene_hbn.h | 0 .../pair_kolmogorov_crespi_full.cpp | 0 .../pair_kolmogorov_crespi_full.h | 0 .../pair_kolmogorov_crespi_z.cpp | 0 .../pair_kolmogorov_crespi_z.h | 0 .../pair_lebedeva_z.cpp | 0 .../pair_lebedeva_z.h | 0 src/Makefile | 4 +++- 81 files changed, 57 insertions(+), 22 deletions(-) rename examples/{USER-MISC => PACKAGES/interlayer}/drip/C.drip (100%) rename examples/{USER-MISC => PACKAGES/interlayer}/drip/CH.rebo (100%) rename examples/{USER-MISC => PACKAGES/interlayer}/drip/README.txt (100%) rename examples/{USER-MISC => PACKAGES/interlayer}/drip/data.C (100%) rename examples/{USER-MISC => PACKAGES/interlayer}/drip/data.CH (100%) rename examples/{USER-MISC => PACKAGES/interlayer}/drip/in.CH_drip (100%) rename examples/{USER-MISC => PACKAGES/interlayer}/drip/in.C_drip (100%) rename examples/{USER-MISC => PACKAGES/interlayer}/drip/log.30Apr19.CH_drip.g++.1 (100%) rename examples/{USER-MISC => PACKAGES/interlayer}/drip/log.30Apr19.CH_drip.g++.4 (100%) rename examples/{USER-MISC => PACKAGES/interlayer}/drip/log.30Apr19.C_drip.g++.1 (100%) rename examples/{USER-MISC => PACKAGES/interlayer}/drip/log.30Apr19.C_drip.g++.4 (100%) rename examples/{USER-MISC => PACKAGES/interlayer}/ilp_graphene_hbn/BNC.tersoff (100%) rename examples/{USER-MISC => PACKAGES/interlayer}/ilp_graphene_hbn/BNCH-old.ILP (100%) rename examples/{USER-MISC => PACKAGES/interlayer}/ilp_graphene_hbn/Bi_gr_AB_stack_2L_noH.data (100%) rename examples/{USER-MISC => PACKAGES/interlayer}/ilp_graphene_hbn/gr_hBN_Cstack_2L_noH.data (100%) rename examples/{USER-MISC => PACKAGES/interlayer}/ilp_graphene_hbn/hBN_AA_prime_stack_2L_noH.data (100%) rename examples/{USER-MISC => PACKAGES/interlayer}/ilp_graphene_hbn/hBN_AB_stack_2L_noH_equi_300K.data (100%) rename examples/{USER-MISC => PACKAGES/interlayer}/ilp_graphene_hbn/in.bilayer-graphene (100%) rename examples/{USER-MISC => PACKAGES/interlayer}/ilp_graphene_hbn/in.bilayer-hBN (100%) rename examples/{USER-MISC => PACKAGES/interlayer}/ilp_graphene_hbn/in.grhBN (100%) rename examples/{USER-MISC => PACKAGES/interlayer}/ilp_graphene_hbn/in.ilp_graphene_hbn (100%) rename examples/{USER-MISC => PACKAGES/interlayer}/ilp_graphene_hbn/log.31Jul19.bilayer-graphene.g++.1 (100%) rename examples/{USER-MISC => PACKAGES/interlayer}/ilp_graphene_hbn/log.31Jul19.bilayer-graphene.g++.4 (100%) rename examples/{USER-MISC => PACKAGES/interlayer}/ilp_graphene_hbn/log.31Jul19.bilayer-hBN.g++.1 (100%) rename examples/{USER-MISC => PACKAGES/interlayer}/ilp_graphene_hbn/log.31Jul19.bilayer-hBN.g++.4 (100%) rename examples/{USER-MISC => PACKAGES/interlayer}/ilp_graphene_hbn/log.31Jul19.grhBN.g++.1 (100%) rename examples/{USER-MISC => PACKAGES/interlayer}/ilp_graphene_hbn/log.31Jul19.grhBN.g++.4 (100%) rename examples/{USER-MISC => PACKAGES/interlayer}/ilp_graphene_hbn/log.31Jul19.ilp_graphene_hbn.g++.1 (100%) rename examples/{USER-MISC => PACKAGES/interlayer}/ilp_graphene_hbn/log.31Jul19.ilp_graphene_hbn.g++.4 (100%) rename examples/{USER-MISC => PACKAGES/interlayer}/kolmogorov_crespi_full/Bi_gr_AB_stack_2L_noH.data (100%) rename examples/{USER-MISC => PACKAGES/interlayer}/kolmogorov_crespi_full/Bi_gr_AB_stack_2L_noH_300K.data (100%) rename examples/{USER-MISC => PACKAGES/interlayer}/kolmogorov_crespi_full/CC.KC-full (100%) rename examples/{USER-MISC => PACKAGES/interlayer}/kolmogorov_crespi_full/CH.KC (100%) rename examples/{USER-MISC => PACKAGES/interlayer}/kolmogorov_crespi_full/CH.rebo (100%) rename examples/{USER-MISC => PACKAGES/interlayer}/kolmogorov_crespi_full/CH_taper.KC (100%) rename examples/{USER-MISC => PACKAGES/interlayer}/kolmogorov_crespi_full/in.bilayer-graphene (100%) rename examples/{USER-MISC => PACKAGES/interlayer}/kolmogorov_crespi_full/log.5Jun19.bilayer-graphene.g++.1 (100%) rename examples/{USER-MISC => PACKAGES/interlayer}/kolmogorov_crespi_full/log.5Jun19.bilayer-graphene.g++.4 (100%) rename examples/{USER-MISC => PACKAGES/interlayer}/kolmogorov_crespi_full/log.5Jun19.bilayer-graphene.icc.1 (100%) rename examples/{USER-MISC => PACKAGES/interlayer}/kolmogorov_crespi_full/log.5Jun19.bilayer-graphene.icc.4 (100%) rename examples/{USER-MISC => PACKAGES/interlayer}/kolmogorov_crespi_z/CC.KC (100%) rename examples/{USER-MISC => PACKAGES/interlayer}/kolmogorov_crespi_z/CH.rebo (100%) rename examples/{USER-MISC => PACKAGES/interlayer}/kolmogorov_crespi_z/data.bilayer-graphene (100%) rename examples/{USER-MISC => PACKAGES/interlayer}/kolmogorov_crespi_z/data.graphene-adsorbant (100%) rename examples/{USER-MISC => PACKAGES/interlayer}/kolmogorov_crespi_z/in.atom-diffusion (100%) rename examples/{USER-MISC => PACKAGES/interlayer}/kolmogorov_crespi_z/in.bilayer-graphene (100%) rename examples/{USER-MISC => PACKAGES/interlayer}/kolmogorov_crespi_z/log.16Mar18.atom-diffusion.g++.1 (100%) rename examples/{USER-MISC => PACKAGES/interlayer}/kolmogorov_crespi_z/log.16Mar18.atom-diffusion.g++.4 (100%) rename examples/{USER-MISC => PACKAGES/interlayer}/kolmogorov_crespi_z/log.30Apr19.bilayer-graphene.g++.1 (100%) rename examples/{USER-MISC => PACKAGES/interlayer}/kolmogorov_crespi_z/log.30Apr19.bilayer-graphene.g++.4 (100%) rename examples/{USER-MISC => PACKAGES/interlayer}/lebedeva/2particles.dat (100%) rename examples/{USER-MISC => PACKAGES/interlayer}/lebedeva/2particles.in (100%) rename examples/{USER-MISC => PACKAGES/interlayer}/lebedeva/CC.Lebedeva (100%) rename examples/{USER-MISC => PACKAGES/interlayer}/lebedeva/LammpsResult.dat (100%) rename examples/{USER-MISC => PACKAGES/interlayer}/lebedeva/LebDer.pl (100%) rename examples/{USER-MISC => PACKAGES/interlayer}/lebedeva/lebedeva00.plot (100%) rename src/{USER-MISC => INTERLAYER}/pair_coul_shield.cpp (100%) rename src/{USER-MISC => INTERLAYER}/pair_coul_shield.h (100%) rename src/{USER-MISC => INTERLAYER}/pair_drip.cpp (100%) rename src/{USER-MISC => INTERLAYER}/pair_drip.h (100%) rename src/{USER-MISC => INTERLAYER}/pair_ilp_graphene_hbn.cpp (100%) rename src/{USER-MISC => INTERLAYER}/pair_ilp_graphene_hbn.h (100%) rename src/{USER-MISC => INTERLAYER}/pair_kolmogorov_crespi_full.cpp (100%) rename src/{USER-MISC => INTERLAYER}/pair_kolmogorov_crespi_full.h (100%) rename src/{USER-MISC => INTERLAYER}/pair_kolmogorov_crespi_z.cpp (100%) rename src/{USER-MISC => INTERLAYER}/pair_kolmogorov_crespi_z.h (100%) rename src/{USER-MISC => INTERLAYER}/pair_lebedeva_z.cpp (100%) rename src/{USER-MISC => INTERLAYER}/pair_lebedeva_z.h (100%) diff --git a/cmake/presets/all_off.cmake b/cmake/presets/all_off.cmake index c95d3e8463..b873965fe4 100644 --- a/cmake/presets/all_off.cmake +++ b/cmake/presets/all_off.cmake @@ -30,6 +30,7 @@ set(ALL_PACKAGES GRANULAR H5MD INTEL + INTERLAYER KIM KOKKOS KSPACE diff --git a/cmake/presets/all_on.cmake b/cmake/presets/all_on.cmake index bc7ae553db..b4fe8e5303 100644 --- a/cmake/presets/all_on.cmake +++ b/cmake/presets/all_on.cmake @@ -32,6 +32,7 @@ set(ALL_PACKAGES GRANULAR H5MD INTEL + INTERLAYER KIM KOKKOS KSPACE diff --git a/cmake/presets/mingw-cross.cmake b/cmake/presets/mingw-cross.cmake index b07d1a707b..71675ba9d7 100644 --- a/cmake/presets/mingw-cross.cmake +++ b/cmake/presets/mingw-cross.cmake @@ -25,6 +25,7 @@ set(WIN_PACKAGES GPU GRANULAR INTEL + INTERLAYER KSPACE LATTE MACHDYN diff --git a/cmake/presets/most.cmake b/cmake/presets/most.cmake index ae65cc75bb..8ad6ff31dc 100644 --- a/cmake/presets/most.cmake +++ b/cmake/presets/most.cmake @@ -25,6 +25,7 @@ set(ALL_PACKAGES EFF FEP GRANULAR + INTERLAYER KSPACE MACHDYN MANYBODY diff --git a/doc/src/Packages_details.rst b/doc/src/Packages_details.rst index cf70be0d4b..d5bc72de75 100644 --- a/doc/src/Packages_details.rst +++ b/doc/src/Packages_details.rst @@ -54,6 +54,7 @@ page gives those details. * :ref:`GRANULAR ` * :ref:`H5MD ` * :ref:`INTEL ` + * :ref:`INTERLAYER ` * :ref:`KIM ` * :ref:`KOKKOS ` * :ref:`KSPACE ` @@ -933,6 +934,24 @@ This package has :ref:`specific installation instructions ` on the :doc:` ---------- +.. _PKG-INTERLAYER: + +INTERLAYER package +------------------ + +**Contents:** + +A collection of pair styles specifically to be used for modeling layered +materials, most commonly graphene sheets (or equivalents). + +**Supporting info:** + +* src/INTERLAYER: filenames -> commands +* :doc:`Pair style ` page +* examples/PACKAGES/interlayer + +---------- + .. _PKG-KIM: KIM package diff --git a/doc/src/Packages_list.rst b/doc/src/Packages_list.rst index 44c05f8a39..0724c7ab44 100644 --- a/doc/src/Packages_list.rst +++ b/doc/src/Packages_list.rst @@ -168,6 +168,11 @@ whether an extra library is needed to build and use the package: - :doc:`Speed intel ` - `Benchmarks `_ - no + * - :ref:`INTERLAYER ` + - Inter-layer pair potentials + - :doc:`several pair styles ` + - PACKAGES/interlayer + - no * - :ref:`KIM ` - OpenKIM wrapper - :doc:`pair_style kim ` diff --git a/doc/src/pair_coul_shield.rst b/doc/src/pair_coul_shield.rst index 31e1bcc176..0ca656092e 100644 --- a/doc/src/pair_coul_shield.rst +++ b/doc/src/pair_coul_shield.rst @@ -82,8 +82,9 @@ This pair style can only be used via the *pair* keyword of the Restrictions """""""""""" -This style is part of the USER-MISC package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +This pair style is part of the INTERLAYER package. It is only enabled +if LAMMPS was built with that package. See the :doc:`Build package +` doc page for more info. Related commands """""""""""""""" diff --git a/doc/src/pair_drip.rst b/doc/src/pair_drip.rst index e3b986615e..39a5e8bbef 100644 --- a/doc/src/pair_drip.rst +++ b/doc/src/pair_drip.rst @@ -117,18 +117,18 @@ pair_coeff commands in an input script that reads a restart file. Restrictions """""""""""" -This pair style is part of the USER-MISC package. It is only enabled if LAMMPS -was built with that package. See the :doc:`Build package ` doc -page for more info. +This pair style is part of the INTERLAYER package. It is only enabled if +LAMMPS was built with that package. See the :doc:`Build package +` doc page for more info. -This pair potential requires the :doc:`newton ` setting to be "on" for +This pair style requires the :doc:`newton ` setting to be "on" for pair interactions. The *C.drip* parameter file provided with LAMMPS (see the "potentials" -directory) is parameterized for metal :doc:`units `. You can use the DRIP -potential with any LAMMPS units, but you would need to create your own custom -parameter file with coefficients listed in the appropriate units, if your -simulation does not use "metal" units. +directory) is parameterized for metal :doc:`units `. You can use +the DRIP potential with any LAMMPS units, but you would need to create +your own custom parameter file with coefficients listed in the +appropriate units, if your simulation does not use "metal" units. Related commands """""""""""""""" diff --git a/doc/src/pair_ilp_graphene_hbn.rst b/doc/src/pair_ilp_graphene_hbn.rst index bc460c58a2..63357dc926 100644 --- a/doc/src/pair_ilp_graphene_hbn.rst +++ b/doc/src/pair_ilp_graphene_hbn.rst @@ -139,10 +139,11 @@ that reads a restart file. Restrictions """""""""""" -This fix is part of the USER-MISC package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +This pair style is part of the INTERLAYER package. It is only enabled +if LAMMPS was built with that package. See the :doc:`Build package +` doc page for more info. -This pair potential requires the newton setting to be *on* for pair +This pair style requires the newton setting to be *on* for pair interactions. The BNCH.ILP potential file provided with LAMMPS (see the potentials diff --git a/doc/src/pair_kolmogorov_crespi_full.rst b/doc/src/pair_kolmogorov_crespi_full.rst index 858b0eb984..265299cfdd 100644 --- a/doc/src/pair_kolmogorov_crespi_full.rst +++ b/doc/src/pair_kolmogorov_crespi_full.rst @@ -119,14 +119,15 @@ that reads a restart file. Restrictions """""""""""" -This fix is part of the USER-MISC package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +This pair style is part of the USER-MISCt package. It is only enabled +if LAMMPS was built with that package. See the :doc:`Build package +` doc page for more info. -This pair potential requires the newton setting to be *on* for pair +This pair style requires the newton setting to be *on* for pair interactions. The CH.KC potential file provided with LAMMPS (see the potentials -folder) are parameterized for metal units. You can use this potential +folder) is parameterized for metal units. You can use this pair style with any LAMMPS units, but you would need to create your own custom CC.KC potential file with all coefficients converted to the appropriate units. diff --git a/doc/src/pair_kolmogorov_crespi_z.rst b/doc/src/pair_kolmogorov_crespi_z.rst index bd02221074..60c012c47c 100644 --- a/doc/src/pair_kolmogorov_crespi_z.rst +++ b/doc/src/pair_kolmogorov_crespi_z.rst @@ -58,8 +58,9 @@ Other interactions can be set to zero using pair_style *none*\ . Restrictions """""""""""" -This fix is part of the USER-MISC package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +This fix is part of the INTERLAYER package. It is only enabled if +LAMMPS was built with that package. See the :doc:`Build package +` doc page for more info. Related commands """""""""""""""" diff --git a/doc/src/pair_lebedeva_z.rst b/doc/src/pair_lebedeva_z.rst index 22b3114bf6..369828784c 100644 --- a/doc/src/pair_lebedeva_z.rst +++ b/doc/src/pair_lebedeva_z.rst @@ -53,8 +53,9 @@ Other interactions can be set to zero using pair_style *none*\ . Restrictions """""""""""" -This fix is part of the USER-MISC package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +This pair style is part of the INTERLAYER package. It is only enabled +if LAMMPS was built with that package. See the :doc:`Build package +` doc page for more info. Related commands """""""""""""""" diff --git a/examples/USER-MISC/drip/C.drip b/examples/PACKAGES/interlayer/drip/C.drip similarity index 100% rename from examples/USER-MISC/drip/C.drip rename to examples/PACKAGES/interlayer/drip/C.drip diff --git a/examples/USER-MISC/drip/CH.rebo b/examples/PACKAGES/interlayer/drip/CH.rebo similarity index 100% rename from examples/USER-MISC/drip/CH.rebo rename to examples/PACKAGES/interlayer/drip/CH.rebo diff --git a/examples/USER-MISC/drip/README.txt b/examples/PACKAGES/interlayer/drip/README.txt similarity index 100% rename from examples/USER-MISC/drip/README.txt rename to examples/PACKAGES/interlayer/drip/README.txt diff --git a/examples/USER-MISC/drip/data.C b/examples/PACKAGES/interlayer/drip/data.C similarity index 100% rename from examples/USER-MISC/drip/data.C rename to examples/PACKAGES/interlayer/drip/data.C diff --git a/examples/USER-MISC/drip/data.CH b/examples/PACKAGES/interlayer/drip/data.CH similarity index 100% rename from examples/USER-MISC/drip/data.CH rename to examples/PACKAGES/interlayer/drip/data.CH diff --git a/examples/USER-MISC/drip/in.CH_drip b/examples/PACKAGES/interlayer/drip/in.CH_drip similarity index 100% rename from examples/USER-MISC/drip/in.CH_drip rename to examples/PACKAGES/interlayer/drip/in.CH_drip diff --git a/examples/USER-MISC/drip/in.C_drip b/examples/PACKAGES/interlayer/drip/in.C_drip similarity index 100% rename from examples/USER-MISC/drip/in.C_drip rename to examples/PACKAGES/interlayer/drip/in.C_drip diff --git a/examples/USER-MISC/drip/log.30Apr19.CH_drip.g++.1 b/examples/PACKAGES/interlayer/drip/log.30Apr19.CH_drip.g++.1 similarity index 100% rename from examples/USER-MISC/drip/log.30Apr19.CH_drip.g++.1 rename to examples/PACKAGES/interlayer/drip/log.30Apr19.CH_drip.g++.1 diff --git a/examples/USER-MISC/drip/log.30Apr19.CH_drip.g++.4 b/examples/PACKAGES/interlayer/drip/log.30Apr19.CH_drip.g++.4 similarity index 100% rename from examples/USER-MISC/drip/log.30Apr19.CH_drip.g++.4 rename to examples/PACKAGES/interlayer/drip/log.30Apr19.CH_drip.g++.4 diff --git a/examples/USER-MISC/drip/log.30Apr19.C_drip.g++.1 b/examples/PACKAGES/interlayer/drip/log.30Apr19.C_drip.g++.1 similarity index 100% rename from examples/USER-MISC/drip/log.30Apr19.C_drip.g++.1 rename to examples/PACKAGES/interlayer/drip/log.30Apr19.C_drip.g++.1 diff --git a/examples/USER-MISC/drip/log.30Apr19.C_drip.g++.4 b/examples/PACKAGES/interlayer/drip/log.30Apr19.C_drip.g++.4 similarity index 100% rename from examples/USER-MISC/drip/log.30Apr19.C_drip.g++.4 rename to examples/PACKAGES/interlayer/drip/log.30Apr19.C_drip.g++.4 diff --git a/examples/USER-MISC/ilp_graphene_hbn/BNC.tersoff b/examples/PACKAGES/interlayer/ilp_graphene_hbn/BNC.tersoff similarity index 100% rename from examples/USER-MISC/ilp_graphene_hbn/BNC.tersoff rename to examples/PACKAGES/interlayer/ilp_graphene_hbn/BNC.tersoff diff --git a/examples/USER-MISC/ilp_graphene_hbn/BNCH-old.ILP b/examples/PACKAGES/interlayer/ilp_graphene_hbn/BNCH-old.ILP similarity index 100% rename from examples/USER-MISC/ilp_graphene_hbn/BNCH-old.ILP rename to examples/PACKAGES/interlayer/ilp_graphene_hbn/BNCH-old.ILP diff --git a/examples/USER-MISC/ilp_graphene_hbn/Bi_gr_AB_stack_2L_noH.data b/examples/PACKAGES/interlayer/ilp_graphene_hbn/Bi_gr_AB_stack_2L_noH.data similarity index 100% rename from examples/USER-MISC/ilp_graphene_hbn/Bi_gr_AB_stack_2L_noH.data rename to examples/PACKAGES/interlayer/ilp_graphene_hbn/Bi_gr_AB_stack_2L_noH.data diff --git a/examples/USER-MISC/ilp_graphene_hbn/gr_hBN_Cstack_2L_noH.data b/examples/PACKAGES/interlayer/ilp_graphene_hbn/gr_hBN_Cstack_2L_noH.data similarity index 100% rename from examples/USER-MISC/ilp_graphene_hbn/gr_hBN_Cstack_2L_noH.data rename to examples/PACKAGES/interlayer/ilp_graphene_hbn/gr_hBN_Cstack_2L_noH.data diff --git a/examples/USER-MISC/ilp_graphene_hbn/hBN_AA_prime_stack_2L_noH.data b/examples/PACKAGES/interlayer/ilp_graphene_hbn/hBN_AA_prime_stack_2L_noH.data similarity index 100% rename from examples/USER-MISC/ilp_graphene_hbn/hBN_AA_prime_stack_2L_noH.data rename to examples/PACKAGES/interlayer/ilp_graphene_hbn/hBN_AA_prime_stack_2L_noH.data diff --git a/examples/USER-MISC/ilp_graphene_hbn/hBN_AB_stack_2L_noH_equi_300K.data b/examples/PACKAGES/interlayer/ilp_graphene_hbn/hBN_AB_stack_2L_noH_equi_300K.data similarity index 100% rename from examples/USER-MISC/ilp_graphene_hbn/hBN_AB_stack_2L_noH_equi_300K.data rename to examples/PACKAGES/interlayer/ilp_graphene_hbn/hBN_AB_stack_2L_noH_equi_300K.data diff --git a/examples/USER-MISC/ilp_graphene_hbn/in.bilayer-graphene b/examples/PACKAGES/interlayer/ilp_graphene_hbn/in.bilayer-graphene similarity index 100% rename from examples/USER-MISC/ilp_graphene_hbn/in.bilayer-graphene rename to examples/PACKAGES/interlayer/ilp_graphene_hbn/in.bilayer-graphene diff --git a/examples/USER-MISC/ilp_graphene_hbn/in.bilayer-hBN b/examples/PACKAGES/interlayer/ilp_graphene_hbn/in.bilayer-hBN similarity index 100% rename from examples/USER-MISC/ilp_graphene_hbn/in.bilayer-hBN rename to examples/PACKAGES/interlayer/ilp_graphene_hbn/in.bilayer-hBN diff --git a/examples/USER-MISC/ilp_graphene_hbn/in.grhBN b/examples/PACKAGES/interlayer/ilp_graphene_hbn/in.grhBN similarity index 100% rename from examples/USER-MISC/ilp_graphene_hbn/in.grhBN rename to examples/PACKAGES/interlayer/ilp_graphene_hbn/in.grhBN diff --git a/examples/USER-MISC/ilp_graphene_hbn/in.ilp_graphene_hbn b/examples/PACKAGES/interlayer/ilp_graphene_hbn/in.ilp_graphene_hbn similarity index 100% rename from examples/USER-MISC/ilp_graphene_hbn/in.ilp_graphene_hbn rename to examples/PACKAGES/interlayer/ilp_graphene_hbn/in.ilp_graphene_hbn diff --git a/examples/USER-MISC/ilp_graphene_hbn/log.31Jul19.bilayer-graphene.g++.1 b/examples/PACKAGES/interlayer/ilp_graphene_hbn/log.31Jul19.bilayer-graphene.g++.1 similarity index 100% rename from examples/USER-MISC/ilp_graphene_hbn/log.31Jul19.bilayer-graphene.g++.1 rename to examples/PACKAGES/interlayer/ilp_graphene_hbn/log.31Jul19.bilayer-graphene.g++.1 diff --git a/examples/USER-MISC/ilp_graphene_hbn/log.31Jul19.bilayer-graphene.g++.4 b/examples/PACKAGES/interlayer/ilp_graphene_hbn/log.31Jul19.bilayer-graphene.g++.4 similarity index 100% rename from examples/USER-MISC/ilp_graphene_hbn/log.31Jul19.bilayer-graphene.g++.4 rename to examples/PACKAGES/interlayer/ilp_graphene_hbn/log.31Jul19.bilayer-graphene.g++.4 diff --git a/examples/USER-MISC/ilp_graphene_hbn/log.31Jul19.bilayer-hBN.g++.1 b/examples/PACKAGES/interlayer/ilp_graphene_hbn/log.31Jul19.bilayer-hBN.g++.1 similarity index 100% rename from examples/USER-MISC/ilp_graphene_hbn/log.31Jul19.bilayer-hBN.g++.1 rename to examples/PACKAGES/interlayer/ilp_graphene_hbn/log.31Jul19.bilayer-hBN.g++.1 diff --git a/examples/USER-MISC/ilp_graphene_hbn/log.31Jul19.bilayer-hBN.g++.4 b/examples/PACKAGES/interlayer/ilp_graphene_hbn/log.31Jul19.bilayer-hBN.g++.4 similarity index 100% rename from examples/USER-MISC/ilp_graphene_hbn/log.31Jul19.bilayer-hBN.g++.4 rename to examples/PACKAGES/interlayer/ilp_graphene_hbn/log.31Jul19.bilayer-hBN.g++.4 diff --git a/examples/USER-MISC/ilp_graphene_hbn/log.31Jul19.grhBN.g++.1 b/examples/PACKAGES/interlayer/ilp_graphene_hbn/log.31Jul19.grhBN.g++.1 similarity index 100% rename from examples/USER-MISC/ilp_graphene_hbn/log.31Jul19.grhBN.g++.1 rename to examples/PACKAGES/interlayer/ilp_graphene_hbn/log.31Jul19.grhBN.g++.1 diff --git a/examples/USER-MISC/ilp_graphene_hbn/log.31Jul19.grhBN.g++.4 b/examples/PACKAGES/interlayer/ilp_graphene_hbn/log.31Jul19.grhBN.g++.4 similarity index 100% rename from examples/USER-MISC/ilp_graphene_hbn/log.31Jul19.grhBN.g++.4 rename to examples/PACKAGES/interlayer/ilp_graphene_hbn/log.31Jul19.grhBN.g++.4 diff --git a/examples/USER-MISC/ilp_graphene_hbn/log.31Jul19.ilp_graphene_hbn.g++.1 b/examples/PACKAGES/interlayer/ilp_graphene_hbn/log.31Jul19.ilp_graphene_hbn.g++.1 similarity index 100% rename from examples/USER-MISC/ilp_graphene_hbn/log.31Jul19.ilp_graphene_hbn.g++.1 rename to examples/PACKAGES/interlayer/ilp_graphene_hbn/log.31Jul19.ilp_graphene_hbn.g++.1 diff --git a/examples/USER-MISC/ilp_graphene_hbn/log.31Jul19.ilp_graphene_hbn.g++.4 b/examples/PACKAGES/interlayer/ilp_graphene_hbn/log.31Jul19.ilp_graphene_hbn.g++.4 similarity index 100% rename from examples/USER-MISC/ilp_graphene_hbn/log.31Jul19.ilp_graphene_hbn.g++.4 rename to examples/PACKAGES/interlayer/ilp_graphene_hbn/log.31Jul19.ilp_graphene_hbn.g++.4 diff --git a/examples/USER-MISC/kolmogorov_crespi_full/Bi_gr_AB_stack_2L_noH.data b/examples/PACKAGES/interlayer/kolmogorov_crespi_full/Bi_gr_AB_stack_2L_noH.data similarity index 100% rename from examples/USER-MISC/kolmogorov_crespi_full/Bi_gr_AB_stack_2L_noH.data rename to examples/PACKAGES/interlayer/kolmogorov_crespi_full/Bi_gr_AB_stack_2L_noH.data diff --git a/examples/USER-MISC/kolmogorov_crespi_full/Bi_gr_AB_stack_2L_noH_300K.data b/examples/PACKAGES/interlayer/kolmogorov_crespi_full/Bi_gr_AB_stack_2L_noH_300K.data similarity index 100% rename from examples/USER-MISC/kolmogorov_crespi_full/Bi_gr_AB_stack_2L_noH_300K.data rename to examples/PACKAGES/interlayer/kolmogorov_crespi_full/Bi_gr_AB_stack_2L_noH_300K.data diff --git a/examples/USER-MISC/kolmogorov_crespi_full/CC.KC-full b/examples/PACKAGES/interlayer/kolmogorov_crespi_full/CC.KC-full similarity index 100% rename from examples/USER-MISC/kolmogorov_crespi_full/CC.KC-full rename to examples/PACKAGES/interlayer/kolmogorov_crespi_full/CC.KC-full diff --git a/examples/USER-MISC/kolmogorov_crespi_full/CH.KC b/examples/PACKAGES/interlayer/kolmogorov_crespi_full/CH.KC similarity index 100% rename from examples/USER-MISC/kolmogorov_crespi_full/CH.KC rename to examples/PACKAGES/interlayer/kolmogorov_crespi_full/CH.KC diff --git a/examples/USER-MISC/kolmogorov_crespi_full/CH.rebo b/examples/PACKAGES/interlayer/kolmogorov_crespi_full/CH.rebo similarity index 100% rename from examples/USER-MISC/kolmogorov_crespi_full/CH.rebo rename to examples/PACKAGES/interlayer/kolmogorov_crespi_full/CH.rebo diff --git a/examples/USER-MISC/kolmogorov_crespi_full/CH_taper.KC b/examples/PACKAGES/interlayer/kolmogorov_crespi_full/CH_taper.KC similarity index 100% rename from examples/USER-MISC/kolmogorov_crespi_full/CH_taper.KC rename to examples/PACKAGES/interlayer/kolmogorov_crespi_full/CH_taper.KC diff --git a/examples/USER-MISC/kolmogorov_crespi_full/in.bilayer-graphene b/examples/PACKAGES/interlayer/kolmogorov_crespi_full/in.bilayer-graphene similarity index 100% rename from examples/USER-MISC/kolmogorov_crespi_full/in.bilayer-graphene rename to examples/PACKAGES/interlayer/kolmogorov_crespi_full/in.bilayer-graphene diff --git a/examples/USER-MISC/kolmogorov_crespi_full/log.5Jun19.bilayer-graphene.g++.1 b/examples/PACKAGES/interlayer/kolmogorov_crespi_full/log.5Jun19.bilayer-graphene.g++.1 similarity index 100% rename from examples/USER-MISC/kolmogorov_crespi_full/log.5Jun19.bilayer-graphene.g++.1 rename to examples/PACKAGES/interlayer/kolmogorov_crespi_full/log.5Jun19.bilayer-graphene.g++.1 diff --git a/examples/USER-MISC/kolmogorov_crespi_full/log.5Jun19.bilayer-graphene.g++.4 b/examples/PACKAGES/interlayer/kolmogorov_crespi_full/log.5Jun19.bilayer-graphene.g++.4 similarity index 100% rename from examples/USER-MISC/kolmogorov_crespi_full/log.5Jun19.bilayer-graphene.g++.4 rename to examples/PACKAGES/interlayer/kolmogorov_crespi_full/log.5Jun19.bilayer-graphene.g++.4 diff --git a/examples/USER-MISC/kolmogorov_crespi_full/log.5Jun19.bilayer-graphene.icc.1 b/examples/PACKAGES/interlayer/kolmogorov_crespi_full/log.5Jun19.bilayer-graphene.icc.1 similarity index 100% rename from examples/USER-MISC/kolmogorov_crespi_full/log.5Jun19.bilayer-graphene.icc.1 rename to examples/PACKAGES/interlayer/kolmogorov_crespi_full/log.5Jun19.bilayer-graphene.icc.1 diff --git a/examples/USER-MISC/kolmogorov_crespi_full/log.5Jun19.bilayer-graphene.icc.4 b/examples/PACKAGES/interlayer/kolmogorov_crespi_full/log.5Jun19.bilayer-graphene.icc.4 similarity index 100% rename from examples/USER-MISC/kolmogorov_crespi_full/log.5Jun19.bilayer-graphene.icc.4 rename to examples/PACKAGES/interlayer/kolmogorov_crespi_full/log.5Jun19.bilayer-graphene.icc.4 diff --git a/examples/USER-MISC/kolmogorov_crespi_z/CC.KC b/examples/PACKAGES/interlayer/kolmogorov_crespi_z/CC.KC similarity index 100% rename from examples/USER-MISC/kolmogorov_crespi_z/CC.KC rename to examples/PACKAGES/interlayer/kolmogorov_crespi_z/CC.KC diff --git a/examples/USER-MISC/kolmogorov_crespi_z/CH.rebo b/examples/PACKAGES/interlayer/kolmogorov_crespi_z/CH.rebo similarity index 100% rename from examples/USER-MISC/kolmogorov_crespi_z/CH.rebo rename to examples/PACKAGES/interlayer/kolmogorov_crespi_z/CH.rebo diff --git a/examples/USER-MISC/kolmogorov_crespi_z/data.bilayer-graphene b/examples/PACKAGES/interlayer/kolmogorov_crespi_z/data.bilayer-graphene similarity index 100% rename from examples/USER-MISC/kolmogorov_crespi_z/data.bilayer-graphene rename to examples/PACKAGES/interlayer/kolmogorov_crespi_z/data.bilayer-graphene diff --git a/examples/USER-MISC/kolmogorov_crespi_z/data.graphene-adsorbant b/examples/PACKAGES/interlayer/kolmogorov_crespi_z/data.graphene-adsorbant similarity index 100% rename from examples/USER-MISC/kolmogorov_crespi_z/data.graphene-adsorbant rename to examples/PACKAGES/interlayer/kolmogorov_crespi_z/data.graphene-adsorbant diff --git a/examples/USER-MISC/kolmogorov_crespi_z/in.atom-diffusion b/examples/PACKAGES/interlayer/kolmogorov_crespi_z/in.atom-diffusion similarity index 100% rename from examples/USER-MISC/kolmogorov_crespi_z/in.atom-diffusion rename to examples/PACKAGES/interlayer/kolmogorov_crespi_z/in.atom-diffusion diff --git a/examples/USER-MISC/kolmogorov_crespi_z/in.bilayer-graphene b/examples/PACKAGES/interlayer/kolmogorov_crespi_z/in.bilayer-graphene similarity index 100% rename from examples/USER-MISC/kolmogorov_crespi_z/in.bilayer-graphene rename to examples/PACKAGES/interlayer/kolmogorov_crespi_z/in.bilayer-graphene diff --git a/examples/USER-MISC/kolmogorov_crespi_z/log.16Mar18.atom-diffusion.g++.1 b/examples/PACKAGES/interlayer/kolmogorov_crespi_z/log.16Mar18.atom-diffusion.g++.1 similarity index 100% rename from examples/USER-MISC/kolmogorov_crespi_z/log.16Mar18.atom-diffusion.g++.1 rename to examples/PACKAGES/interlayer/kolmogorov_crespi_z/log.16Mar18.atom-diffusion.g++.1 diff --git a/examples/USER-MISC/kolmogorov_crespi_z/log.16Mar18.atom-diffusion.g++.4 b/examples/PACKAGES/interlayer/kolmogorov_crespi_z/log.16Mar18.atom-diffusion.g++.4 similarity index 100% rename from examples/USER-MISC/kolmogorov_crespi_z/log.16Mar18.atom-diffusion.g++.4 rename to examples/PACKAGES/interlayer/kolmogorov_crespi_z/log.16Mar18.atom-diffusion.g++.4 diff --git a/examples/USER-MISC/kolmogorov_crespi_z/log.30Apr19.bilayer-graphene.g++.1 b/examples/PACKAGES/interlayer/kolmogorov_crespi_z/log.30Apr19.bilayer-graphene.g++.1 similarity index 100% rename from examples/USER-MISC/kolmogorov_crespi_z/log.30Apr19.bilayer-graphene.g++.1 rename to examples/PACKAGES/interlayer/kolmogorov_crespi_z/log.30Apr19.bilayer-graphene.g++.1 diff --git a/examples/USER-MISC/kolmogorov_crespi_z/log.30Apr19.bilayer-graphene.g++.4 b/examples/PACKAGES/interlayer/kolmogorov_crespi_z/log.30Apr19.bilayer-graphene.g++.4 similarity index 100% rename from examples/USER-MISC/kolmogorov_crespi_z/log.30Apr19.bilayer-graphene.g++.4 rename to examples/PACKAGES/interlayer/kolmogorov_crespi_z/log.30Apr19.bilayer-graphene.g++.4 diff --git a/examples/USER-MISC/lebedeva/2particles.dat b/examples/PACKAGES/interlayer/lebedeva/2particles.dat similarity index 100% rename from examples/USER-MISC/lebedeva/2particles.dat rename to examples/PACKAGES/interlayer/lebedeva/2particles.dat diff --git a/examples/USER-MISC/lebedeva/2particles.in b/examples/PACKAGES/interlayer/lebedeva/2particles.in similarity index 100% rename from examples/USER-MISC/lebedeva/2particles.in rename to examples/PACKAGES/interlayer/lebedeva/2particles.in diff --git a/examples/USER-MISC/lebedeva/CC.Lebedeva b/examples/PACKAGES/interlayer/lebedeva/CC.Lebedeva similarity index 100% rename from examples/USER-MISC/lebedeva/CC.Lebedeva rename to examples/PACKAGES/interlayer/lebedeva/CC.Lebedeva diff --git a/examples/USER-MISC/lebedeva/LammpsResult.dat b/examples/PACKAGES/interlayer/lebedeva/LammpsResult.dat similarity index 100% rename from examples/USER-MISC/lebedeva/LammpsResult.dat rename to examples/PACKAGES/interlayer/lebedeva/LammpsResult.dat diff --git a/examples/USER-MISC/lebedeva/LebDer.pl b/examples/PACKAGES/interlayer/lebedeva/LebDer.pl similarity index 100% rename from examples/USER-MISC/lebedeva/LebDer.pl rename to examples/PACKAGES/interlayer/lebedeva/LebDer.pl diff --git a/examples/USER-MISC/lebedeva/lebedeva00.plot b/examples/PACKAGES/interlayer/lebedeva/lebedeva00.plot similarity index 100% rename from examples/USER-MISC/lebedeva/lebedeva00.plot rename to examples/PACKAGES/interlayer/lebedeva/lebedeva00.plot diff --git a/src/USER-MISC/pair_coul_shield.cpp b/src/INTERLAYER/pair_coul_shield.cpp similarity index 100% rename from src/USER-MISC/pair_coul_shield.cpp rename to src/INTERLAYER/pair_coul_shield.cpp diff --git a/src/USER-MISC/pair_coul_shield.h b/src/INTERLAYER/pair_coul_shield.h similarity index 100% rename from src/USER-MISC/pair_coul_shield.h rename to src/INTERLAYER/pair_coul_shield.h diff --git a/src/USER-MISC/pair_drip.cpp b/src/INTERLAYER/pair_drip.cpp similarity index 100% rename from src/USER-MISC/pair_drip.cpp rename to src/INTERLAYER/pair_drip.cpp diff --git a/src/USER-MISC/pair_drip.h b/src/INTERLAYER/pair_drip.h similarity index 100% rename from src/USER-MISC/pair_drip.h rename to src/INTERLAYER/pair_drip.h diff --git a/src/USER-MISC/pair_ilp_graphene_hbn.cpp b/src/INTERLAYER/pair_ilp_graphene_hbn.cpp similarity index 100% rename from src/USER-MISC/pair_ilp_graphene_hbn.cpp rename to src/INTERLAYER/pair_ilp_graphene_hbn.cpp diff --git a/src/USER-MISC/pair_ilp_graphene_hbn.h b/src/INTERLAYER/pair_ilp_graphene_hbn.h similarity index 100% rename from src/USER-MISC/pair_ilp_graphene_hbn.h rename to src/INTERLAYER/pair_ilp_graphene_hbn.h diff --git a/src/USER-MISC/pair_kolmogorov_crespi_full.cpp b/src/INTERLAYER/pair_kolmogorov_crespi_full.cpp similarity index 100% rename from src/USER-MISC/pair_kolmogorov_crespi_full.cpp rename to src/INTERLAYER/pair_kolmogorov_crespi_full.cpp diff --git a/src/USER-MISC/pair_kolmogorov_crespi_full.h b/src/INTERLAYER/pair_kolmogorov_crespi_full.h similarity index 100% rename from src/USER-MISC/pair_kolmogorov_crespi_full.h rename to src/INTERLAYER/pair_kolmogorov_crespi_full.h diff --git a/src/USER-MISC/pair_kolmogorov_crespi_z.cpp b/src/INTERLAYER/pair_kolmogorov_crespi_z.cpp similarity index 100% rename from src/USER-MISC/pair_kolmogorov_crespi_z.cpp rename to src/INTERLAYER/pair_kolmogorov_crespi_z.cpp diff --git a/src/USER-MISC/pair_kolmogorov_crespi_z.h b/src/INTERLAYER/pair_kolmogorov_crespi_z.h similarity index 100% rename from src/USER-MISC/pair_kolmogorov_crespi_z.h rename to src/INTERLAYER/pair_kolmogorov_crespi_z.h diff --git a/src/USER-MISC/pair_lebedeva_z.cpp b/src/INTERLAYER/pair_lebedeva_z.cpp similarity index 100% rename from src/USER-MISC/pair_lebedeva_z.cpp rename to src/INTERLAYER/pair_lebedeva_z.cpp diff --git a/src/USER-MISC/pair_lebedeva_z.h b/src/INTERLAYER/pair_lebedeva_z.h similarity index 100% rename from src/USER-MISC/pair_lebedeva_z.h rename to src/INTERLAYER/pair_lebedeva_z.h diff --git a/src/Makefile b/src/Makefile index 52dff05148..5e26de47ce 100644 --- a/src/Makefile +++ b/src/Makefile @@ -74,6 +74,7 @@ PACKAGE = \ granular \ h5md \ intel \ + interlayer \ kim \ kokkos \ kspace \ @@ -157,6 +158,7 @@ PACKMOST = \ eff \ fep \ granular \ + interlayer \ kspace \ manybody \ mc \ @@ -186,7 +188,7 @@ PACKMOST = \ ml-iap \ phonon -# NOTE: the last three packages must remain at the end since +# NOTE ^^^^^: the last three packages must remain at the end since # they depend on other packages to be installed first. PACKLIB = \ From ab11482d7e5e7d0423d616ee331eafafb2edb186 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 8 Jul 2021 09:30:18 -0400 Subject: [PATCH 366/726] add INTERLAYER package to CMake list of known packages --- cmake/CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index a64d18a6da..c48d329998 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -164,6 +164,7 @@ set(STANDARD_PACKAGES FEP GRANULAR H5MD + INTERLAYER KIM KSPACE LATBOLTZ From 8323b402fb129e30e854d0f2bbe5254c91b65852 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 8 Jul 2021 14:49:54 -0400 Subject: [PATCH 367/726] update OpenCL ICD loader and headers to latest spec (3.0.8) from 2021-06-30 --- cmake/Modules/OpenCLLoader.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cmake/Modules/OpenCLLoader.cmake b/cmake/Modules/OpenCLLoader.cmake index ea83f8e447..239fba5ba9 100644 --- a/cmake/Modules/OpenCLLoader.cmake +++ b/cmake/Modules/OpenCLLoader.cmake @@ -1,6 +1,6 @@ message(STATUS "Downloading and building OpenCL loader library") -set(OPENCL_LOADER_URL "${LAMMPS_THIRDPARTY_URL}/opencl-loader-2021.05.02.tar.gz" CACHE STRING "URL for OpenCL loader tarball") -set(OPENCL_LOADER_MD5 "29180b05056578afda92f0d394c3a373" CACHE STRING "MD5 checksum of OpenCL loader tarball") +set(OPENCL_LOADER_URL "${LAMMPS_THIRDPARTY_URL}/opencl-loader-2021.06.30.tar.gz" CACHE STRING "URL for OpenCL loader tarball") +set(OPENCL_LOADER_MD5 "f9e55dd550cfbf77f46507adf7cb8fd2" CACHE STRING "MD5 checksum of OpenCL loader tarball") mark_as_advanced(OPENCL_LOADER_URL) mark_as_advanced(OPENCL_LOADER_MD5) From 33ac10df7ab87e10b8bdc64fcbd639748657701e Mon Sep 17 00:00:00 2001 From: Stan Moore Date: Fri, 9 Jul 2021 14:00:19 -0600 Subject: [PATCH 368/726] Missed one instance of SUCCESS --- src/OPENMP/reaxc_init_md_omp.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/OPENMP/reaxc_init_md_omp.cpp b/src/OPENMP/reaxc_init_md_omp.cpp index 226bfaf53c..4a0cf6b926 100644 --- a/src/OPENMP/reaxc_init_md_omp.cpp +++ b/src/OPENMP/reaxc_init_md_omp.cpp @@ -111,7 +111,7 @@ int Init_ListsOMP(reax_system *system, control_params *control, free(hb_top); free(bond_top); - return SUCCESS; + return REAXC_SUCCES; } /* ---------------------------------------------------------------------- */ From 6c088b97ac1d1e7c5fa115b47a7eb4af218198ff Mon Sep 17 00:00:00 2001 From: Stan Moore Date: Fri, 9 Jul 2021 14:08:32 -0600 Subject: [PATCH 369/726] Add missing data transfer for map_array --- src/KOKKOS/atom_map_kokkos.cpp | 34 ++++++++++++++++++++++------------ 1 file changed, 22 insertions(+), 12 deletions(-) diff --git a/src/KOKKOS/atom_map_kokkos.cpp b/src/KOKKOS/atom_map_kokkos.cpp index 486594e182..2cdbe36d91 100644 --- a/src/KOKKOS/atom_map_kokkos.cpp +++ b/src/KOKKOS/atom_map_kokkos.cpp @@ -110,6 +110,10 @@ void AtomKokkos::map_init(int check) h_map_hash = host_hash_type(map_nhash); } } + + k_sametag.modify_host(); + if (map_style == Atom::MAP_ARRAY) + k_map_array.modify_host(); } /* ---------------------------------------------------------------------- @@ -227,23 +231,29 @@ void AtomKokkos::map_set() } } - // check if fix shake or neigh bond needs a device hash + k_sametag.modify_host(); + if (map_style == Atom::MAP_ARRAY) + k_map_array.modify_host(); + else if (map_style == Atom::MAP_ARRAY) { - int device_hash_flag = 0; + // check if fix shake or neigh bond needs a device hash - auto neighborKK = (NeighborKokkos*) neighbor; - if (neighborKK->device_flag) device_hash_flag = 1; + int device_hash_flag = 0; - for (int n = 0; n < modify->nfix; n++) - if (utils::strmatch(modify->fix[n]->style,"^shake")) - if (modify->fix[n]->execution_space == Device) - device_hash_flag = 1; + auto neighborKK = (NeighborKokkos*) neighbor; + if (neighborKK->device_flag) device_hash_flag = 1; - if (device_hash_flag) - Kokkos::deep_copy(d_map_hash,h_map_hash); + for (int n = 0; n < modify->nfix; n++) + if (utils::strmatch(modify->fix[n]->style,"^shake")) + if (modify->fix[n]->execution_space == Device) + device_hash_flag = 1; - k_map_hash.h_view = h_map_hash; - k_map_hash.d_view = d_map_hash; + if (device_hash_flag) + Kokkos::deep_copy(d_map_hash,h_map_hash); + + k_map_hash.h_view = h_map_hash; + k_map_hash.d_view = d_map_hash; + } } /* ---------------------------------------------------------------------- From be3c0ce5a0a2bec9399a1226c4bea62243a2d330 Mon Sep 17 00:00:00 2001 From: Stan Moore Date: Fri, 9 Jul 2021 14:13:24 -0600 Subject: [PATCH 370/726] Fix typo --- src/OPENMP/reaxc_init_md_omp.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/OPENMP/reaxc_init_md_omp.cpp b/src/OPENMP/reaxc_init_md_omp.cpp index 4a0cf6b926..b1c6b5e3c6 100644 --- a/src/OPENMP/reaxc_init_md_omp.cpp +++ b/src/OPENMP/reaxc_init_md_omp.cpp @@ -111,7 +111,7 @@ int Init_ListsOMP(reax_system *system, control_params *control, free(hb_top); free(bond_top); - return REAXC_SUCCES; + return REAXC_SUCCESS; } /* ---------------------------------------------------------------------- */ From 0eaacea67d25e918403aa618104a4ff9b951b721 Mon Sep 17 00:00:00 2001 From: Stan Moore Date: Fri, 9 Jul 2021 14:17:06 -0600 Subject: [PATCH 371/726] Whitespace --- src/KOKKOS/atom_map_kokkos.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/KOKKOS/atom_map_kokkos.cpp b/src/KOKKOS/atom_map_kokkos.cpp index 2cdbe36d91..90cebd17b4 100644 --- a/src/KOKKOS/atom_map_kokkos.cpp +++ b/src/KOKKOS/atom_map_kokkos.cpp @@ -112,7 +112,7 @@ void AtomKokkos::map_init(int check) } k_sametag.modify_host(); - if (map_style == Atom::MAP_ARRAY) + if (map_style == Atom::MAP_ARRAY) k_map_array.modify_host(); } From 6571a84884961377c28329c827ad4e23fb080c25 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 9 Jul 2021 16:54:00 -0400 Subject: [PATCH 372/726] move some styles around --- doc/src/Packages_details.rst | 7 ++++ doc/src/angle_cosine_shift.rst | 2 +- doc/src/angle_cosine_shift_exp.rst | 2 +- doc/src/angle_dipole.rst | 6 ++- doc/src/angle_fourier.rst | 2 +- doc/src/angle_fourier_simple.rst | 2 +- doc/src/angle_gaussian.rst | 2 +- doc/src/angle_quartic.rst | 2 +- doc/src/bond_gaussian.rst | 2 +- doc/src/bond_harmonic_shift.rst | 2 +- doc/src/bond_harmonic_shift_cut.rst | 2 +- doc/src/bond_special.rst | 2 +- doc/src/dihedral_cosine_shift_exp.rst | 2 +- doc/src/dihedral_fourier.rst | 2 +- doc/src/dihedral_nharmonic.rst | 2 +- doc/src/dihedral_quadratic.rst | 2 +- doc/src/dihedral_spherical.rst | 2 +- doc/src/dihedral_table.rst | 2 +- doc/src/fix_addtorque.rst | 2 +- doc/src/fix_grem.rst | 4 +- doc/src/fix_smd.rst | 2 +- doc/src/improper_cossq.rst | 2 +- doc/src/improper_distance.rst | 2 +- doc/src/improper_fourier.rst | 2 +- doc/src/improper_ring.rst | 2 +- doc/src/improper_sqdistharm.rst | 2 +- doc/src/pair_list.rst | 2 +- doc/src/temper_grem.rst | 2 +- doc/src/temper_npt.rst | 2 +- .../addtorque/in.addtorque | 0 .../addtorque/log.9Nov16.addtorque.g++.1 | 0 .../addtorque/log.9Nov16.addtorque.g++.4 | 0 .../gle/data.h2o-quantum | 0 .../gle/data.h2o-smart | 0 .../gle/in.h2o-quantum | 0 .../{USER-MISC => PACKAGES}/gle/in.h2o-smart | 0 .../gle/log.h2o-quantum | 0 .../{USER-MISC => PACKAGES}/gle/log.h2o-smart | 0 .../{USER-MISC => PACKAGES}/gle/qt-300k.A | 0 .../{USER-MISC => PACKAGES}/gle/qt-300k.C | 0 examples/{USER-MISC => PACKAGES}/gle/smart.A | 0 examples/{USER-MISC => PACKAGES}/grem/README | 0 .../grem/lj-6rep/400/restart.init | 0 .../grem/lj-6rep/405/restart.init | 0 .../grem/lj-6rep/410/restart.init | 0 .../grem/lj-6rep/415/restart.init | 0 .../grem/lj-6rep/420/restart.init | 0 .../grem/lj-6rep/425/restart.init | 0 .../grem/lj-6rep/clean.sh | 0 .../grem/lj-6rep/double-re-short.py | 0 .../grem/lj-6rep/in.gREM | 0 .../grem/lj-6rep/run.sh | 0 .../grem/lj-6rep/walker.bkp | 0 .../grem/lj-single/in.gREM-npt | 0 .../grem/lj-single/in.gREM-nvt | 0 .../grem/lj-single/lj.data | 0 .../grem/lj-single/log.gREM-npt.9Nov16.g++.1 | 0 .../grem/lj-single/log.gREM-npt.9Nov16.g++.4 | 0 .../grem/lj-single/log.gREM-nvt.9Nov16.g++.1 | 0 .../grem/lj-single/log.gREM-nvt.9Nov16.g++.4 | 0 .../grem/lj-temper/0/lj.data | 0 .../grem/lj-temper/0/log.lammps.0 | 0 .../grem/lj-temper/1/lj.data | 0 .../grem/lj-temper/1/log.lammps.1 | 0 .../grem/lj-temper/2/lj.data | 0 .../grem/lj-temper/2/log.lammps.2 | 0 .../grem/lj-temper/3/lj.data | 0 .../grem/lj-temper/3/log.lammps.3 | 0 .../grem/lj-temper/in.gREM-temper | 0 examples/{USER-MISC => PACKAGES}/imd/README | 0 .../imd/bucky-plus-cnt-mol.psf | 0 .../imd/bucky_cnt_imd.vmd | 0 .../imd/data.bucky-plus-cnt | 0 .../imd/data.deca-ala-solv | 0 .../imd/deca-ala-solv.psf | 0 .../imd/deca-ala-solv_imd-demo.vmd | 0 .../{USER-MISC => PACKAGES}/imd/deca-ala.psf | 0 .../imd/deca-ala_imd-demo.vmd | 0 .../{USER-MISC => PACKAGES}/imd/falcon.tcl | 0 .../imd/in.bucky-plus-cnt | 0 .../imd/in.bucky-plus-cnt-gpu | 0 .../imd/in.deca-ala-solv-filter_imd | 0 .../imd/in.deca-ala-solv_imd | 0 .../imd/in.deca-ala_imd | 0 .../imd/in.deca-ala_imd-gpu | 0 .../{USER-MISC => PACKAGES}/imd/in.melt_imd | 0 .../imd/in.melt_imd-gpu | 0 examples/{USER-MISC => PACKAGES}/imd/melt.psf | 0 .../imd/melt_imd-demo.vmd | 0 .../{USER-MISC => PACKAGES}/srp/data.chain | 0 examples/{USER-MISC => PACKAGES}/srp/in.srp | 0 src/{USER-MISC => DIPOLE}/angle_dipole.cpp | 0 src/{USER-MISC => DIPOLE}/angle_dipole.h | 0 src/{USER-MISC => MISC}/bond_special.cpp | 0 src/{USER-MISC => MISC}/bond_special.h | 0 src/{USER-MISC => MISC}/fix_addtorque.cpp | 0 src/{USER-MISC => MISC}/fix_addtorque.h | 0 src/{USER-MISC => MISC}/fix_smd.cpp | 0 src/{USER-MISC => MISC}/fix_smd.h | 0 src/{USER-MISC => MISC}/pair_list.cpp | 0 src/{USER-MISC => MISC}/pair_list.h | 0 src/{USER-MISC => MISC}/pair_srp.cpp | 0 src/{USER-MISC => MISC}/pair_srp.h | 0 .../angle_cosine_shift.cpp | 0 .../angle_cosine_shift.h | 0 .../angle_cosine_shift_exp.cpp | 0 .../angle_cosine_shift_exp.h | 0 src/{USER-MISC => MOLECULE}/angle_fourier.cpp | 0 src/{USER-MISC => MOLECULE}/angle_fourier.h | 0 .../angle_fourier_simple.cpp | 0 .../angle_fourier_simple.h | 0 .../angle_gaussian.cpp | 0 src/{USER-MISC => MOLECULE}/angle_gaussian.h | 0 src/{USER-MISC => MOLECULE}/angle_quartic.cpp | 0 src/{USER-MISC => MOLECULE}/angle_quartic.h | 0 src/{USER-MISC => MOLECULE}/bond_gaussian.cpp | 0 src/{USER-MISC => MOLECULE}/bond_gaussian.h | 0 .../bond_harmonic_shift.cpp | 0 .../bond_harmonic_shift.h | 0 .../bond_harmonic_shift_cut.cpp | 0 .../bond_harmonic_shift_cut.h | 0 .../dihedral_cosine_shift_exp.cpp | 0 .../dihedral_cosine_shift_exp.h | 0 .../dihedral_fourier.cpp | 0 .../dihedral_fourier.h | 0 .../dihedral_nharmonic.cpp | 0 .../dihedral_nharmonic.h | 0 .../dihedral_quadratic.cpp | 0 .../dihedral_quadratic.h | 0 .../dihedral_spherical.cpp | 0 .../dihedral_spherical.h | 0 .../dihedral_table.cpp | 0 src/{USER-MISC => MOLECULE}/dihedral_table.h | 0 .../dihedral_table_cut.cpp | 0 .../dihedral_table_cut.h | 0 .../improper_cossq.cpp | 0 src/{USER-MISC => MOLECULE}/improper_cossq.h | 0 .../improper_distance.cpp | 0 .../improper_distance.h | 0 .../improper_fourier.cpp | 0 .../improper_fourier.h | 0 src/{USER-MISC => MOLECULE}/improper_ring.cpp | 0 src/{USER-MISC => MOLECULE}/improper_ring.h | 0 .../compute_pressure_grem.cpp | 0 .../compute_pressure_grem.h | 0 src/{USER-MISC => REPLICA}/fix_grem.cpp | 0 src/{USER-MISC => REPLICA}/fix_grem.h | 0 src/{USER-MISC => REPLICA}/temper_grem.cpp | 0 src/{USER-MISC => REPLICA}/temper_grem.h | 0 src/{USER-MISC => REPLICA}/temper_npt.cpp | 0 src/{USER-MISC => REPLICA}/temper_npt.h | 0 src/USER-MISC/README | 37 ------------------- 152 files changed, 39 insertions(+), 67 deletions(-) rename examples/{USER-MISC => PACKAGES}/addtorque/in.addtorque (100%) rename examples/{USER-MISC => PACKAGES}/addtorque/log.9Nov16.addtorque.g++.1 (100%) rename examples/{USER-MISC => PACKAGES}/addtorque/log.9Nov16.addtorque.g++.4 (100%) rename examples/{USER-MISC => PACKAGES}/gle/data.h2o-quantum (100%) rename examples/{USER-MISC => PACKAGES}/gle/data.h2o-smart (100%) rename examples/{USER-MISC => PACKAGES}/gle/in.h2o-quantum (100%) rename examples/{USER-MISC => PACKAGES}/gle/in.h2o-smart (100%) rename examples/{USER-MISC => PACKAGES}/gle/log.h2o-quantum (100%) rename examples/{USER-MISC => PACKAGES}/gle/log.h2o-smart (100%) rename examples/{USER-MISC => PACKAGES}/gle/qt-300k.A (100%) rename examples/{USER-MISC => PACKAGES}/gle/qt-300k.C (100%) rename examples/{USER-MISC => PACKAGES}/gle/smart.A (100%) rename examples/{USER-MISC => PACKAGES}/grem/README (100%) rename examples/{USER-MISC => PACKAGES}/grem/lj-6rep/400/restart.init (100%) rename examples/{USER-MISC => PACKAGES}/grem/lj-6rep/405/restart.init (100%) rename examples/{USER-MISC => PACKAGES}/grem/lj-6rep/410/restart.init (100%) rename examples/{USER-MISC => PACKAGES}/grem/lj-6rep/415/restart.init (100%) rename examples/{USER-MISC => PACKAGES}/grem/lj-6rep/420/restart.init (100%) rename examples/{USER-MISC => PACKAGES}/grem/lj-6rep/425/restart.init (100%) rename examples/{USER-MISC => PACKAGES}/grem/lj-6rep/clean.sh (100%) rename examples/{USER-MISC => PACKAGES}/grem/lj-6rep/double-re-short.py (100%) rename examples/{USER-MISC => PACKAGES}/grem/lj-6rep/in.gREM (100%) rename examples/{USER-MISC => PACKAGES}/grem/lj-6rep/run.sh (100%) rename examples/{USER-MISC => PACKAGES}/grem/lj-6rep/walker.bkp (100%) rename examples/{USER-MISC => PACKAGES}/grem/lj-single/in.gREM-npt (100%) rename examples/{USER-MISC => PACKAGES}/grem/lj-single/in.gREM-nvt (100%) rename examples/{USER-MISC => PACKAGES}/grem/lj-single/lj.data (100%) rename examples/{USER-MISC => PACKAGES}/grem/lj-single/log.gREM-npt.9Nov16.g++.1 (100%) rename examples/{USER-MISC => PACKAGES}/grem/lj-single/log.gREM-npt.9Nov16.g++.4 (100%) rename examples/{USER-MISC => PACKAGES}/grem/lj-single/log.gREM-nvt.9Nov16.g++.1 (100%) rename examples/{USER-MISC => PACKAGES}/grem/lj-single/log.gREM-nvt.9Nov16.g++.4 (100%) rename examples/{USER-MISC => PACKAGES}/grem/lj-temper/0/lj.data (100%) rename examples/{USER-MISC => PACKAGES}/grem/lj-temper/0/log.lammps.0 (100%) rename examples/{USER-MISC => PACKAGES}/grem/lj-temper/1/lj.data (100%) rename examples/{USER-MISC => PACKAGES}/grem/lj-temper/1/log.lammps.1 (100%) rename examples/{USER-MISC => PACKAGES}/grem/lj-temper/2/lj.data (100%) rename examples/{USER-MISC => PACKAGES}/grem/lj-temper/2/log.lammps.2 (100%) rename examples/{USER-MISC => PACKAGES}/grem/lj-temper/3/lj.data (100%) rename examples/{USER-MISC => PACKAGES}/grem/lj-temper/3/log.lammps.3 (100%) rename examples/{USER-MISC => PACKAGES}/grem/lj-temper/in.gREM-temper (100%) rename examples/{USER-MISC => PACKAGES}/imd/README (100%) rename examples/{USER-MISC => PACKAGES}/imd/bucky-plus-cnt-mol.psf (100%) rename examples/{USER-MISC => PACKAGES}/imd/bucky_cnt_imd.vmd (100%) rename examples/{USER-MISC => PACKAGES}/imd/data.bucky-plus-cnt (100%) rename examples/{USER-MISC => PACKAGES}/imd/data.deca-ala-solv (100%) rename examples/{USER-MISC => PACKAGES}/imd/deca-ala-solv.psf (100%) rename examples/{USER-MISC => PACKAGES}/imd/deca-ala-solv_imd-demo.vmd (100%) rename examples/{USER-MISC => PACKAGES}/imd/deca-ala.psf (100%) rename examples/{USER-MISC => PACKAGES}/imd/deca-ala_imd-demo.vmd (100%) rename examples/{USER-MISC => PACKAGES}/imd/falcon.tcl (100%) rename examples/{USER-MISC => PACKAGES}/imd/in.bucky-plus-cnt (100%) rename examples/{USER-MISC => PACKAGES}/imd/in.bucky-plus-cnt-gpu (100%) rename examples/{USER-MISC => PACKAGES}/imd/in.deca-ala-solv-filter_imd (100%) rename examples/{USER-MISC => PACKAGES}/imd/in.deca-ala-solv_imd (100%) rename examples/{USER-MISC => PACKAGES}/imd/in.deca-ala_imd (100%) rename examples/{USER-MISC => PACKAGES}/imd/in.deca-ala_imd-gpu (100%) rename examples/{USER-MISC => PACKAGES}/imd/in.melt_imd (100%) rename examples/{USER-MISC => PACKAGES}/imd/in.melt_imd-gpu (100%) rename examples/{USER-MISC => PACKAGES}/imd/melt.psf (100%) rename examples/{USER-MISC => PACKAGES}/imd/melt_imd-demo.vmd (100%) rename examples/{USER-MISC => PACKAGES}/srp/data.chain (100%) rename examples/{USER-MISC => PACKAGES}/srp/in.srp (100%) rename src/{USER-MISC => DIPOLE}/angle_dipole.cpp (100%) rename src/{USER-MISC => DIPOLE}/angle_dipole.h (100%) rename src/{USER-MISC => MISC}/bond_special.cpp (100%) rename src/{USER-MISC => MISC}/bond_special.h (100%) rename src/{USER-MISC => MISC}/fix_addtorque.cpp (100%) rename src/{USER-MISC => MISC}/fix_addtorque.h (100%) rename src/{USER-MISC => MISC}/fix_smd.cpp (100%) rename src/{USER-MISC => MISC}/fix_smd.h (100%) rename src/{USER-MISC => MISC}/pair_list.cpp (100%) rename src/{USER-MISC => MISC}/pair_list.h (100%) rename src/{USER-MISC => MISC}/pair_srp.cpp (100%) rename src/{USER-MISC => MISC}/pair_srp.h (100%) rename src/{USER-MISC => MOLECULE}/angle_cosine_shift.cpp (100%) rename src/{USER-MISC => MOLECULE}/angle_cosine_shift.h (100%) rename src/{USER-MISC => MOLECULE}/angle_cosine_shift_exp.cpp (100%) rename src/{USER-MISC => MOLECULE}/angle_cosine_shift_exp.h (100%) rename src/{USER-MISC => MOLECULE}/angle_fourier.cpp (100%) rename src/{USER-MISC => MOLECULE}/angle_fourier.h (100%) rename src/{USER-MISC => MOLECULE}/angle_fourier_simple.cpp (100%) rename src/{USER-MISC => MOLECULE}/angle_fourier_simple.h (100%) rename src/{USER-MISC => MOLECULE}/angle_gaussian.cpp (100%) rename src/{USER-MISC => MOLECULE}/angle_gaussian.h (100%) rename src/{USER-MISC => MOLECULE}/angle_quartic.cpp (100%) rename src/{USER-MISC => MOLECULE}/angle_quartic.h (100%) rename src/{USER-MISC => MOLECULE}/bond_gaussian.cpp (100%) rename src/{USER-MISC => MOLECULE}/bond_gaussian.h (100%) rename src/{USER-MISC => MOLECULE}/bond_harmonic_shift.cpp (100%) rename src/{USER-MISC => MOLECULE}/bond_harmonic_shift.h (100%) rename src/{USER-MISC => MOLECULE}/bond_harmonic_shift_cut.cpp (100%) rename src/{USER-MISC => MOLECULE}/bond_harmonic_shift_cut.h (100%) rename src/{USER-MISC => MOLECULE}/dihedral_cosine_shift_exp.cpp (100%) rename src/{USER-MISC => MOLECULE}/dihedral_cosine_shift_exp.h (100%) rename src/{USER-MISC => MOLECULE}/dihedral_fourier.cpp (100%) rename src/{USER-MISC => MOLECULE}/dihedral_fourier.h (100%) rename src/{USER-MISC => MOLECULE}/dihedral_nharmonic.cpp (100%) rename src/{USER-MISC => MOLECULE}/dihedral_nharmonic.h (100%) rename src/{USER-MISC => MOLECULE}/dihedral_quadratic.cpp (100%) rename src/{USER-MISC => MOLECULE}/dihedral_quadratic.h (100%) rename src/{USER-MISC => MOLECULE}/dihedral_spherical.cpp (100%) rename src/{USER-MISC => MOLECULE}/dihedral_spherical.h (100%) rename src/{USER-MISC => MOLECULE}/dihedral_table.cpp (100%) rename src/{USER-MISC => MOLECULE}/dihedral_table.h (100%) rename src/{USER-MISC => MOLECULE}/dihedral_table_cut.cpp (100%) rename src/{USER-MISC => MOLECULE}/dihedral_table_cut.h (100%) rename src/{USER-MISC => MOLECULE}/improper_cossq.cpp (100%) rename src/{USER-MISC => MOLECULE}/improper_cossq.h (100%) rename src/{USER-MISC => MOLECULE}/improper_distance.cpp (100%) rename src/{USER-MISC => MOLECULE}/improper_distance.h (100%) rename src/{USER-MISC => MOLECULE}/improper_fourier.cpp (100%) rename src/{USER-MISC => MOLECULE}/improper_fourier.h (100%) rename src/{USER-MISC => MOLECULE}/improper_ring.cpp (100%) rename src/{USER-MISC => MOLECULE}/improper_ring.h (100%) rename src/{USER-MISC => REPLICA}/compute_pressure_grem.cpp (100%) rename src/{USER-MISC => REPLICA}/compute_pressure_grem.h (100%) rename src/{USER-MISC => REPLICA}/fix_grem.cpp (100%) rename src/{USER-MISC => REPLICA}/fix_grem.h (100%) rename src/{USER-MISC => REPLICA}/temper_grem.cpp (100%) rename src/{USER-MISC => REPLICA}/temper_grem.h (100%) rename src/{USER-MISC => REPLICA}/temper_npt.cpp (100%) rename src/{USER-MISC => REPLICA}/temper_npt.h (100%) diff --git a/doc/src/Packages_details.rst b/doc/src/Packages_details.rst index d5bc72de75..5be013da4b 100644 --- a/doc/src/Packages_details.rst +++ b/doc/src/Packages_details.rst @@ -558,6 +558,7 @@ short-range or long-range interactions. * :doc:`pair_style lj/cut/dipole/cut ` * :doc:`pair_style lj/cut/dipole/long ` * :doc:`pair_style lj/long/dipole/long ` +* :doc: `angle_style dipole ` * examples/dipole ---------- @@ -1454,7 +1455,9 @@ listing, "ls src/MISC", to see the list of commands. **Supporting info:** * src/MISC: filenames -> commands +* :doc:`bond_style special ` * :doc:`compute ti ` +* :doc:`fix deposit ` * :doc:`fix evaporate ` * :doc:`fix imd ` * :doc:`fix oneway ` @@ -1462,6 +1465,7 @@ listing, "ls src/MISC", to see the list of commands. * :doc:`fix ttm ` * :doc:`fix thermal/conductivity ` * :doc:`fix viscosity ` +* :doc:`pair_style list ` * examples/KAPPA * examples/VISCOSITY * https://www.lammps.org/pictures.html#ttm @@ -2319,10 +2323,13 @@ another set. * :doc:`prd ` * :doc:`tad ` * :doc:`temper `, +* :doc:`temper/npt `, +* :doc:`temper/grem `, * :doc:`run_style verlet/split ` * examples/neb * examples/prd * examples/tad +* examples/PACKAGES/grem ---------- diff --git a/doc/src/angle_cosine_shift.rst b/doc/src/angle_cosine_shift.rst index 71bda194c7..a22f93b1d0 100644 --- a/doc/src/angle_cosine_shift.rst +++ b/doc/src/angle_cosine_shift.rst @@ -53,7 +53,7 @@ Restrictions """""""""""" This angle style can only be used if LAMMPS was built with the -USER-MISC package. +MOLECULE package. Related commands """""""""""""""" diff --git a/doc/src/angle_cosine_shift_exp.rst b/doc/src/angle_cosine_shift_exp.rst index 4ae4928751..72962abc1c 100644 --- a/doc/src/angle_cosine_shift_exp.rst +++ b/doc/src/angle_cosine_shift_exp.rst @@ -64,7 +64,7 @@ Restrictions """""""""""" This angle style can only be used if LAMMPS was built with the -USER-MISC package. See the :doc:`Build package ` doc +MOLECULE package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/angle_dipole.rst b/doc/src/angle_dipole.rst index 4dd8aadfb8..8aaed55132 100644 --- a/doc/src/angle_dipole.rst +++ b/doc/src/angle_dipole.rst @@ -88,7 +88,7 @@ Restrictions """""""""""" This angle style can only be used if LAMMPS was built with the -USER-MISC package. See the :doc:`Build package ` doc +DIPOLE package. See the :doc:`Build package ` doc page for more info. .. note:: @@ -106,7 +106,9 @@ page for more info. The :doc:`newton ` command for intramolecular interactions must be "on" (which is the default except when using some accelerator packages). -This angle style should not be used with SHAKE. +.. note:: + + This angle style should **NOT** be used with fix shake. Related commands """""""""""""""" diff --git a/doc/src/angle_fourier.rst b/doc/src/angle_fourier.rst index ff9c42b79c..780ecd510c 100644 --- a/doc/src/angle_fourier.rst +++ b/doc/src/angle_fourier.rst @@ -50,7 +50,7 @@ Restrictions """""""""""" This angle style can only be used if LAMMPS was built with the -USER-MISC package. See the :doc:`Build package ` doc +MOLECULE package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/angle_fourier_simple.rst b/doc/src/angle_fourier_simple.rst index 8d367ff118..29a493a442 100644 --- a/doc/src/angle_fourier_simple.rst +++ b/doc/src/angle_fourier_simple.rst @@ -49,7 +49,7 @@ Restrictions """""""""""" This angle style can only be used if LAMMPS was built with the -USER-MISC package. See the :doc:`Build package ` doc +MOLECULE package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/angle_gaussian.rst b/doc/src/angle_gaussian.rst index 1caae3b20c..9f2964f5f7 100644 --- a/doc/src/angle_gaussian.rst +++ b/doc/src/angle_gaussian.rst @@ -49,7 +49,7 @@ Restrictions """""""""""" This angle style can only be used if LAMMPS was built with the -USER-MISC package. See the :doc:`Build package ` doc +MOLECULE package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/angle_quartic.rst b/doc/src/angle_quartic.rst index 6a163db396..e153faee73 100644 --- a/doc/src/angle_quartic.rst +++ b/doc/src/angle_quartic.rst @@ -57,7 +57,7 @@ Restrictions """""""""""" This angle style can only be used if LAMMPS was built with the -USER-MISC package. See the :doc:`Build package ` doc +MOLECULE package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/bond_gaussian.rst b/doc/src/bond_gaussian.rst index dc9bea1cce..369b9eac26 100644 --- a/doc/src/bond_gaussian.rst +++ b/doc/src/bond_gaussian.rst @@ -50,7 +50,7 @@ Restrictions """""""""""" This bond style can only be used if LAMMPS was built with the -USER-MISC package. See the :doc:`Build package ` doc +MOLECULE package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/bond_harmonic_shift.rst b/doc/src/bond_harmonic_shift.rst index 469c370969..24bbc98b83 100644 --- a/doc/src/bond_harmonic_shift.rst +++ b/doc/src/bond_harmonic_shift.rst @@ -56,7 +56,7 @@ Restrictions """""""""""" This bond style can only be used if LAMMPS was built with the -USER-MISC package. See the :doc:`Build package ` doc +MOLECULE package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/bond_harmonic_shift_cut.rst b/doc/src/bond_harmonic_shift_cut.rst index d0f44740b3..05fb245727 100644 --- a/doc/src/bond_harmonic_shift_cut.rst +++ b/doc/src/bond_harmonic_shift_cut.rst @@ -54,7 +54,7 @@ Restrictions """""""""""" This bond style can only be used if LAMMPS was built with the -USER-MISC package. See the :doc:`Build package ` doc +MOLECULE package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/bond_special.rst b/doc/src/bond_special.rst index d2423c9e23..cc11c41f11 100644 --- a/doc/src/bond_special.rst +++ b/doc/src/bond_special.rst @@ -86,7 +86,7 @@ Restrictions """""""""""" This bond style can only be used if LAMMPS was built with the -USER-MISC package. See the :doc:`Build package ` doc +MISC package. See the :doc:`Build package ` doc page for more info. This bond style requires the use of a :doc:`pair_style ` which diff --git a/doc/src/dihedral_cosine_shift_exp.rst b/doc/src/dihedral_cosine_shift_exp.rst index 1f0195df83..0bd0a8fa2f 100644 --- a/doc/src/dihedral_cosine_shift_exp.rst +++ b/doc/src/dihedral_cosine_shift_exp.rst @@ -64,7 +64,7 @@ Restrictions """""""""""" This dihedral style can only be used if LAMMPS was built with the -USER-MISC package. See the :doc:`Build package ` doc +MOLECULE package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/dihedral_fourier.rst b/doc/src/dihedral_fourier.rst index 31ec043ebe..7889b3c58f 100644 --- a/doc/src/dihedral_fourier.rst +++ b/doc/src/dihedral_fourier.rst @@ -55,7 +55,7 @@ Restrictions """""""""""" This angle style can only be used if LAMMPS was built with the -USER-MISC package. See the :doc:`Build package ` doc +MOLECULE package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/dihedral_nharmonic.rst b/doc/src/dihedral_nharmonic.rst index 85762ee6f2..06ae8be8a0 100644 --- a/doc/src/dihedral_nharmonic.rst +++ b/doc/src/dihedral_nharmonic.rst @@ -51,7 +51,7 @@ Restrictions """""""""""" This angle style can only be used if LAMMPS was built with the -USER-MISC package. See the :doc:`Build package ` doc +MOLECULE package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/dihedral_quadratic.rst b/doc/src/dihedral_quadratic.rst index 262a9c50b6..a776c953c1 100644 --- a/doc/src/dihedral_quadratic.rst +++ b/doc/src/dihedral_quadratic.rst @@ -56,7 +56,7 @@ Restrictions """""""""""" This angle style can only be used if LAMMPS was built with the -USER-MISC package. See the :doc:`Build package ` doc +MOLECULE package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/dihedral_spherical.rst b/doc/src/dihedral_spherical.rst index bba9f20289..9704bff1a8 100644 --- a/doc/src/dihedral_spherical.rst +++ b/doc/src/dihedral_spherical.rst @@ -89,7 +89,7 @@ Restrictions """""""""""" This dihedral style can only be used if LAMMPS was built with the -USER-MISC package. See the :doc:`Build package ` doc +MOLECULE package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/dihedral_table.rst b/doc/src/dihedral_table.rst index a456fecebd..7c08241458 100644 --- a/doc/src/dihedral_table.rst +++ b/doc/src/dihedral_table.rst @@ -245,7 +245,7 @@ Restrictions """""""""""" These dihedral styles can only be used if LAMMPS was built with the -USER-MISC package. See the :doc:`Build package ` doc +MOLECULE package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/fix_addtorque.rst b/doc/src/fix_addtorque.rst index fbb957e547..e03ed2b160 100644 --- a/doc/src/fix_addtorque.rst +++ b/doc/src/fix_addtorque.rst @@ -99,7 +99,7 @@ invoked by the :doc:`minimize ` command. Restrictions """""""""""" -This fix is part of the USER-MISC package. It is only enabled if +This fix is part of the MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. diff --git a/doc/src/fix_grem.rst b/doc/src/fix_grem.rst index 0dedda1e2e..8716fc8cd5 100644 --- a/doc/src/fix_grem.rst +++ b/doc/src/fix_grem.rst @@ -66,7 +66,7 @@ processors be on the order of the number of desired replicas. A 100-replica simulation would require at least 100 processors (1 per world at minimum). If many replicas are needed on a small number of processors, multi-replica runs can be run outside of LAMMPS. An -example of this can be found in examples/USER-MISC/grem and has no +example of this can be found in examples/PACKAGES/grem and has no limit on the number of replicas per processor. However, this is very inefficient and error prone and should be avoided if possible. @@ -100,7 +100,7 @@ fix is "intensive". Restrictions """""""""""" -This fix is part of the USER-MISC package. It is only enabled if +This fix is part of the REPLICA package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/fix_smd.rst b/doc/src/fix_smd.rst index 8bf7c25478..f59a852be6 100644 --- a/doc/src/fix_smd.rst +++ b/doc/src/fix_smd.rst @@ -144,7 +144,7 @@ the :doc:`run ` command. This fix is not invoked during Restrictions """""""""""" -This fix is part of the USER-MISC package. It is only enabled if +This fix is part of the MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/improper_cossq.rst b/doc/src/improper_cossq.rst index a6281bc260..27cb6e5538 100644 --- a/doc/src/improper_cossq.rst +++ b/doc/src/improper_cossq.rst @@ -64,7 +64,7 @@ Restrictions """""""""""" This improper style can only be used if LAMMPS was built with the -USER-MISC package. See the :doc:`Build package ` doc +MOLECULE package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/improper_distance.rst b/doc/src/improper_distance.rst index 1486550c9f..545222e0a3 100644 --- a/doc/src/improper_distance.rst +++ b/doc/src/improper_distance.rst @@ -54,7 +54,7 @@ Restrictions """""""""""" This improper style can only be used if LAMMPS was built with the -USER-MISC package. See the :doc:`Build package ` doc +MOLECULE package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/improper_fourier.rst b/doc/src/improper_fourier.rst index 3c5b45ed69..5852a57038 100644 --- a/doc/src/improper_fourier.rst +++ b/doc/src/improper_fourier.rst @@ -60,7 +60,7 @@ Restrictions """""""""""" This angle style can only be used if LAMMPS was built with the -USER-MISC package. See the :doc:`Build package ` doc +MOLECULE package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/improper_ring.rst b/doc/src/improper_ring.rst index d67c999714..99eed00b90 100644 --- a/doc/src/improper_ring.rst +++ b/doc/src/improper_ring.rst @@ -72,7 +72,7 @@ Restrictions """""""""""" This improper style can only be used if LAMMPS was built with the -USER-MISC package. See the :doc:`Build package ` doc +MOLECULE package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/improper_sqdistharm.rst b/doc/src/improper_sqdistharm.rst index 09a661700f..43f824733e 100644 --- a/doc/src/improper_sqdistharm.rst +++ b/doc/src/improper_sqdistharm.rst @@ -49,7 +49,7 @@ Restrictions """""""""""" This improper style can only be used if LAMMPS was built with the -USER-MISC package. See the :doc:`Build package ` doc +MOLECULE package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/pair_list.rst b/doc/src/pair_list.rst index caa1506994..ea0ac282da 100644 --- a/doc/src/pair_list.rst +++ b/doc/src/pair_list.rst @@ -142,7 +142,7 @@ styles in LAMMPS, an atom I will not interact with multiple images of atom J (assuming the images are within the cutoff distance), but only with the nearest image. -This style is part of the USER-MISC package. It is only enabled if +This style is part of the MISC package. It is only enabled if LAMMPS is build with that package. See the :doc:`Build package ` doc page on for more info. Related commands diff --git a/doc/src/temper_grem.rst b/doc/src/temper_grem.rst index c270c1a450..f45755da50 100644 --- a/doc/src/temper_grem.rst +++ b/doc/src/temper_grem.rst @@ -101,7 +101,7 @@ identical to :doc:`temper `. Restrictions """""""""""" -This command can only be used if LAMMPS was built with the USER-MISC +This command can only be used if LAMMPS was built with the REPLICA package. See the :doc:`Build package ` doc page for more info. diff --git a/doc/src/temper_npt.rst b/doc/src/temper_npt.rst index 8eaea05701..9c5ba242e9 100644 --- a/doc/src/temper_npt.rst +++ b/doc/src/temper_npt.rst @@ -51,7 +51,7 @@ on how the parallel tempering is handled in general. Restrictions """""""""""" -This command can only be used if LAMMPS was built with the USER-MISC +This command can only be used if LAMMPS was built with the REPLICA package. See the :doc:`Build package ` doc page for more info. diff --git a/examples/USER-MISC/addtorque/in.addtorque b/examples/PACKAGES/addtorque/in.addtorque similarity index 100% rename from examples/USER-MISC/addtorque/in.addtorque rename to examples/PACKAGES/addtorque/in.addtorque diff --git a/examples/USER-MISC/addtorque/log.9Nov16.addtorque.g++.1 b/examples/PACKAGES/addtorque/log.9Nov16.addtorque.g++.1 similarity index 100% rename from examples/USER-MISC/addtorque/log.9Nov16.addtorque.g++.1 rename to examples/PACKAGES/addtorque/log.9Nov16.addtorque.g++.1 diff --git a/examples/USER-MISC/addtorque/log.9Nov16.addtorque.g++.4 b/examples/PACKAGES/addtorque/log.9Nov16.addtorque.g++.4 similarity index 100% rename from examples/USER-MISC/addtorque/log.9Nov16.addtorque.g++.4 rename to examples/PACKAGES/addtorque/log.9Nov16.addtorque.g++.4 diff --git a/examples/USER-MISC/gle/data.h2o-quantum b/examples/PACKAGES/gle/data.h2o-quantum similarity index 100% rename from examples/USER-MISC/gle/data.h2o-quantum rename to examples/PACKAGES/gle/data.h2o-quantum diff --git a/examples/USER-MISC/gle/data.h2o-smart b/examples/PACKAGES/gle/data.h2o-smart similarity index 100% rename from examples/USER-MISC/gle/data.h2o-smart rename to examples/PACKAGES/gle/data.h2o-smart diff --git a/examples/USER-MISC/gle/in.h2o-quantum b/examples/PACKAGES/gle/in.h2o-quantum similarity index 100% rename from examples/USER-MISC/gle/in.h2o-quantum rename to examples/PACKAGES/gle/in.h2o-quantum diff --git a/examples/USER-MISC/gle/in.h2o-smart b/examples/PACKAGES/gle/in.h2o-smart similarity index 100% rename from examples/USER-MISC/gle/in.h2o-smart rename to examples/PACKAGES/gle/in.h2o-smart diff --git a/examples/USER-MISC/gle/log.h2o-quantum b/examples/PACKAGES/gle/log.h2o-quantum similarity index 100% rename from examples/USER-MISC/gle/log.h2o-quantum rename to examples/PACKAGES/gle/log.h2o-quantum diff --git a/examples/USER-MISC/gle/log.h2o-smart b/examples/PACKAGES/gle/log.h2o-smart similarity index 100% rename from examples/USER-MISC/gle/log.h2o-smart rename to examples/PACKAGES/gle/log.h2o-smart diff --git a/examples/USER-MISC/gle/qt-300k.A b/examples/PACKAGES/gle/qt-300k.A similarity index 100% rename from examples/USER-MISC/gle/qt-300k.A rename to examples/PACKAGES/gle/qt-300k.A diff --git a/examples/USER-MISC/gle/qt-300k.C b/examples/PACKAGES/gle/qt-300k.C similarity index 100% rename from examples/USER-MISC/gle/qt-300k.C rename to examples/PACKAGES/gle/qt-300k.C diff --git a/examples/USER-MISC/gle/smart.A b/examples/PACKAGES/gle/smart.A similarity index 100% rename from examples/USER-MISC/gle/smart.A rename to examples/PACKAGES/gle/smart.A diff --git a/examples/USER-MISC/grem/README b/examples/PACKAGES/grem/README similarity index 100% rename from examples/USER-MISC/grem/README rename to examples/PACKAGES/grem/README diff --git a/examples/USER-MISC/grem/lj-6rep/400/restart.init b/examples/PACKAGES/grem/lj-6rep/400/restart.init similarity index 100% rename from examples/USER-MISC/grem/lj-6rep/400/restart.init rename to examples/PACKAGES/grem/lj-6rep/400/restart.init diff --git a/examples/USER-MISC/grem/lj-6rep/405/restart.init b/examples/PACKAGES/grem/lj-6rep/405/restart.init similarity index 100% rename from examples/USER-MISC/grem/lj-6rep/405/restart.init rename to examples/PACKAGES/grem/lj-6rep/405/restart.init diff --git a/examples/USER-MISC/grem/lj-6rep/410/restart.init b/examples/PACKAGES/grem/lj-6rep/410/restart.init similarity index 100% rename from examples/USER-MISC/grem/lj-6rep/410/restart.init rename to examples/PACKAGES/grem/lj-6rep/410/restart.init diff --git a/examples/USER-MISC/grem/lj-6rep/415/restart.init b/examples/PACKAGES/grem/lj-6rep/415/restart.init similarity index 100% rename from examples/USER-MISC/grem/lj-6rep/415/restart.init rename to examples/PACKAGES/grem/lj-6rep/415/restart.init diff --git a/examples/USER-MISC/grem/lj-6rep/420/restart.init b/examples/PACKAGES/grem/lj-6rep/420/restart.init similarity index 100% rename from examples/USER-MISC/grem/lj-6rep/420/restart.init rename to examples/PACKAGES/grem/lj-6rep/420/restart.init diff --git a/examples/USER-MISC/grem/lj-6rep/425/restart.init b/examples/PACKAGES/grem/lj-6rep/425/restart.init similarity index 100% rename from examples/USER-MISC/grem/lj-6rep/425/restart.init rename to examples/PACKAGES/grem/lj-6rep/425/restart.init diff --git a/examples/USER-MISC/grem/lj-6rep/clean.sh b/examples/PACKAGES/grem/lj-6rep/clean.sh similarity index 100% rename from examples/USER-MISC/grem/lj-6rep/clean.sh rename to examples/PACKAGES/grem/lj-6rep/clean.sh diff --git a/examples/USER-MISC/grem/lj-6rep/double-re-short.py b/examples/PACKAGES/grem/lj-6rep/double-re-short.py similarity index 100% rename from examples/USER-MISC/grem/lj-6rep/double-re-short.py rename to examples/PACKAGES/grem/lj-6rep/double-re-short.py diff --git a/examples/USER-MISC/grem/lj-6rep/in.gREM b/examples/PACKAGES/grem/lj-6rep/in.gREM similarity index 100% rename from examples/USER-MISC/grem/lj-6rep/in.gREM rename to examples/PACKAGES/grem/lj-6rep/in.gREM diff --git a/examples/USER-MISC/grem/lj-6rep/run.sh b/examples/PACKAGES/grem/lj-6rep/run.sh similarity index 100% rename from examples/USER-MISC/grem/lj-6rep/run.sh rename to examples/PACKAGES/grem/lj-6rep/run.sh diff --git a/examples/USER-MISC/grem/lj-6rep/walker.bkp b/examples/PACKAGES/grem/lj-6rep/walker.bkp similarity index 100% rename from examples/USER-MISC/grem/lj-6rep/walker.bkp rename to examples/PACKAGES/grem/lj-6rep/walker.bkp diff --git a/examples/USER-MISC/grem/lj-single/in.gREM-npt b/examples/PACKAGES/grem/lj-single/in.gREM-npt similarity index 100% rename from examples/USER-MISC/grem/lj-single/in.gREM-npt rename to examples/PACKAGES/grem/lj-single/in.gREM-npt diff --git a/examples/USER-MISC/grem/lj-single/in.gREM-nvt b/examples/PACKAGES/grem/lj-single/in.gREM-nvt similarity index 100% rename from examples/USER-MISC/grem/lj-single/in.gREM-nvt rename to examples/PACKAGES/grem/lj-single/in.gREM-nvt diff --git a/examples/USER-MISC/grem/lj-single/lj.data b/examples/PACKAGES/grem/lj-single/lj.data similarity index 100% rename from examples/USER-MISC/grem/lj-single/lj.data rename to examples/PACKAGES/grem/lj-single/lj.data diff --git a/examples/USER-MISC/grem/lj-single/log.gREM-npt.9Nov16.g++.1 b/examples/PACKAGES/grem/lj-single/log.gREM-npt.9Nov16.g++.1 similarity index 100% rename from examples/USER-MISC/grem/lj-single/log.gREM-npt.9Nov16.g++.1 rename to examples/PACKAGES/grem/lj-single/log.gREM-npt.9Nov16.g++.1 diff --git a/examples/USER-MISC/grem/lj-single/log.gREM-npt.9Nov16.g++.4 b/examples/PACKAGES/grem/lj-single/log.gREM-npt.9Nov16.g++.4 similarity index 100% rename from examples/USER-MISC/grem/lj-single/log.gREM-npt.9Nov16.g++.4 rename to examples/PACKAGES/grem/lj-single/log.gREM-npt.9Nov16.g++.4 diff --git a/examples/USER-MISC/grem/lj-single/log.gREM-nvt.9Nov16.g++.1 b/examples/PACKAGES/grem/lj-single/log.gREM-nvt.9Nov16.g++.1 similarity index 100% rename from examples/USER-MISC/grem/lj-single/log.gREM-nvt.9Nov16.g++.1 rename to examples/PACKAGES/grem/lj-single/log.gREM-nvt.9Nov16.g++.1 diff --git a/examples/USER-MISC/grem/lj-single/log.gREM-nvt.9Nov16.g++.4 b/examples/PACKAGES/grem/lj-single/log.gREM-nvt.9Nov16.g++.4 similarity index 100% rename from examples/USER-MISC/grem/lj-single/log.gREM-nvt.9Nov16.g++.4 rename to examples/PACKAGES/grem/lj-single/log.gREM-nvt.9Nov16.g++.4 diff --git a/examples/USER-MISC/grem/lj-temper/0/lj.data b/examples/PACKAGES/grem/lj-temper/0/lj.data similarity index 100% rename from examples/USER-MISC/grem/lj-temper/0/lj.data rename to examples/PACKAGES/grem/lj-temper/0/lj.data diff --git a/examples/USER-MISC/grem/lj-temper/0/log.lammps.0 b/examples/PACKAGES/grem/lj-temper/0/log.lammps.0 similarity index 100% rename from examples/USER-MISC/grem/lj-temper/0/log.lammps.0 rename to examples/PACKAGES/grem/lj-temper/0/log.lammps.0 diff --git a/examples/USER-MISC/grem/lj-temper/1/lj.data b/examples/PACKAGES/grem/lj-temper/1/lj.data similarity index 100% rename from examples/USER-MISC/grem/lj-temper/1/lj.data rename to examples/PACKAGES/grem/lj-temper/1/lj.data diff --git a/examples/USER-MISC/grem/lj-temper/1/log.lammps.1 b/examples/PACKAGES/grem/lj-temper/1/log.lammps.1 similarity index 100% rename from examples/USER-MISC/grem/lj-temper/1/log.lammps.1 rename to examples/PACKAGES/grem/lj-temper/1/log.lammps.1 diff --git a/examples/USER-MISC/grem/lj-temper/2/lj.data b/examples/PACKAGES/grem/lj-temper/2/lj.data similarity index 100% rename from examples/USER-MISC/grem/lj-temper/2/lj.data rename to examples/PACKAGES/grem/lj-temper/2/lj.data diff --git a/examples/USER-MISC/grem/lj-temper/2/log.lammps.2 b/examples/PACKAGES/grem/lj-temper/2/log.lammps.2 similarity index 100% rename from examples/USER-MISC/grem/lj-temper/2/log.lammps.2 rename to examples/PACKAGES/grem/lj-temper/2/log.lammps.2 diff --git a/examples/USER-MISC/grem/lj-temper/3/lj.data b/examples/PACKAGES/grem/lj-temper/3/lj.data similarity index 100% rename from examples/USER-MISC/grem/lj-temper/3/lj.data rename to examples/PACKAGES/grem/lj-temper/3/lj.data diff --git a/examples/USER-MISC/grem/lj-temper/3/log.lammps.3 b/examples/PACKAGES/grem/lj-temper/3/log.lammps.3 similarity index 100% rename from examples/USER-MISC/grem/lj-temper/3/log.lammps.3 rename to examples/PACKAGES/grem/lj-temper/3/log.lammps.3 diff --git a/examples/USER-MISC/grem/lj-temper/in.gREM-temper b/examples/PACKAGES/grem/lj-temper/in.gREM-temper similarity index 100% rename from examples/USER-MISC/grem/lj-temper/in.gREM-temper rename to examples/PACKAGES/grem/lj-temper/in.gREM-temper diff --git a/examples/USER-MISC/imd/README b/examples/PACKAGES/imd/README similarity index 100% rename from examples/USER-MISC/imd/README rename to examples/PACKAGES/imd/README diff --git a/examples/USER-MISC/imd/bucky-plus-cnt-mol.psf b/examples/PACKAGES/imd/bucky-plus-cnt-mol.psf similarity index 100% rename from examples/USER-MISC/imd/bucky-plus-cnt-mol.psf rename to examples/PACKAGES/imd/bucky-plus-cnt-mol.psf diff --git a/examples/USER-MISC/imd/bucky_cnt_imd.vmd b/examples/PACKAGES/imd/bucky_cnt_imd.vmd similarity index 100% rename from examples/USER-MISC/imd/bucky_cnt_imd.vmd rename to examples/PACKAGES/imd/bucky_cnt_imd.vmd diff --git a/examples/USER-MISC/imd/data.bucky-plus-cnt b/examples/PACKAGES/imd/data.bucky-plus-cnt similarity index 100% rename from examples/USER-MISC/imd/data.bucky-plus-cnt rename to examples/PACKAGES/imd/data.bucky-plus-cnt diff --git a/examples/USER-MISC/imd/data.deca-ala-solv b/examples/PACKAGES/imd/data.deca-ala-solv similarity index 100% rename from examples/USER-MISC/imd/data.deca-ala-solv rename to examples/PACKAGES/imd/data.deca-ala-solv diff --git a/examples/USER-MISC/imd/deca-ala-solv.psf b/examples/PACKAGES/imd/deca-ala-solv.psf similarity index 100% rename from examples/USER-MISC/imd/deca-ala-solv.psf rename to examples/PACKAGES/imd/deca-ala-solv.psf diff --git a/examples/USER-MISC/imd/deca-ala-solv_imd-demo.vmd b/examples/PACKAGES/imd/deca-ala-solv_imd-demo.vmd similarity index 100% rename from examples/USER-MISC/imd/deca-ala-solv_imd-demo.vmd rename to examples/PACKAGES/imd/deca-ala-solv_imd-demo.vmd diff --git a/examples/USER-MISC/imd/deca-ala.psf b/examples/PACKAGES/imd/deca-ala.psf similarity index 100% rename from examples/USER-MISC/imd/deca-ala.psf rename to examples/PACKAGES/imd/deca-ala.psf diff --git a/examples/USER-MISC/imd/deca-ala_imd-demo.vmd b/examples/PACKAGES/imd/deca-ala_imd-demo.vmd similarity index 100% rename from examples/USER-MISC/imd/deca-ala_imd-demo.vmd rename to examples/PACKAGES/imd/deca-ala_imd-demo.vmd diff --git a/examples/USER-MISC/imd/falcon.tcl b/examples/PACKAGES/imd/falcon.tcl similarity index 100% rename from examples/USER-MISC/imd/falcon.tcl rename to examples/PACKAGES/imd/falcon.tcl diff --git a/examples/USER-MISC/imd/in.bucky-plus-cnt b/examples/PACKAGES/imd/in.bucky-plus-cnt similarity index 100% rename from examples/USER-MISC/imd/in.bucky-plus-cnt rename to examples/PACKAGES/imd/in.bucky-plus-cnt diff --git a/examples/USER-MISC/imd/in.bucky-plus-cnt-gpu b/examples/PACKAGES/imd/in.bucky-plus-cnt-gpu similarity index 100% rename from examples/USER-MISC/imd/in.bucky-plus-cnt-gpu rename to examples/PACKAGES/imd/in.bucky-plus-cnt-gpu diff --git a/examples/USER-MISC/imd/in.deca-ala-solv-filter_imd b/examples/PACKAGES/imd/in.deca-ala-solv-filter_imd similarity index 100% rename from examples/USER-MISC/imd/in.deca-ala-solv-filter_imd rename to examples/PACKAGES/imd/in.deca-ala-solv-filter_imd diff --git a/examples/USER-MISC/imd/in.deca-ala-solv_imd b/examples/PACKAGES/imd/in.deca-ala-solv_imd similarity index 100% rename from examples/USER-MISC/imd/in.deca-ala-solv_imd rename to examples/PACKAGES/imd/in.deca-ala-solv_imd diff --git a/examples/USER-MISC/imd/in.deca-ala_imd b/examples/PACKAGES/imd/in.deca-ala_imd similarity index 100% rename from examples/USER-MISC/imd/in.deca-ala_imd rename to examples/PACKAGES/imd/in.deca-ala_imd diff --git a/examples/USER-MISC/imd/in.deca-ala_imd-gpu b/examples/PACKAGES/imd/in.deca-ala_imd-gpu similarity index 100% rename from examples/USER-MISC/imd/in.deca-ala_imd-gpu rename to examples/PACKAGES/imd/in.deca-ala_imd-gpu diff --git a/examples/USER-MISC/imd/in.melt_imd b/examples/PACKAGES/imd/in.melt_imd similarity index 100% rename from examples/USER-MISC/imd/in.melt_imd rename to examples/PACKAGES/imd/in.melt_imd diff --git a/examples/USER-MISC/imd/in.melt_imd-gpu b/examples/PACKAGES/imd/in.melt_imd-gpu similarity index 100% rename from examples/USER-MISC/imd/in.melt_imd-gpu rename to examples/PACKAGES/imd/in.melt_imd-gpu diff --git a/examples/USER-MISC/imd/melt.psf b/examples/PACKAGES/imd/melt.psf similarity index 100% rename from examples/USER-MISC/imd/melt.psf rename to examples/PACKAGES/imd/melt.psf diff --git a/examples/USER-MISC/imd/melt_imd-demo.vmd b/examples/PACKAGES/imd/melt_imd-demo.vmd similarity index 100% rename from examples/USER-MISC/imd/melt_imd-demo.vmd rename to examples/PACKAGES/imd/melt_imd-demo.vmd diff --git a/examples/USER-MISC/srp/data.chain b/examples/PACKAGES/srp/data.chain similarity index 100% rename from examples/USER-MISC/srp/data.chain rename to examples/PACKAGES/srp/data.chain diff --git a/examples/USER-MISC/srp/in.srp b/examples/PACKAGES/srp/in.srp similarity index 100% rename from examples/USER-MISC/srp/in.srp rename to examples/PACKAGES/srp/in.srp diff --git a/src/USER-MISC/angle_dipole.cpp b/src/DIPOLE/angle_dipole.cpp similarity index 100% rename from src/USER-MISC/angle_dipole.cpp rename to src/DIPOLE/angle_dipole.cpp diff --git a/src/USER-MISC/angle_dipole.h b/src/DIPOLE/angle_dipole.h similarity index 100% rename from src/USER-MISC/angle_dipole.h rename to src/DIPOLE/angle_dipole.h diff --git a/src/USER-MISC/bond_special.cpp b/src/MISC/bond_special.cpp similarity index 100% rename from src/USER-MISC/bond_special.cpp rename to src/MISC/bond_special.cpp diff --git a/src/USER-MISC/bond_special.h b/src/MISC/bond_special.h similarity index 100% rename from src/USER-MISC/bond_special.h rename to src/MISC/bond_special.h diff --git a/src/USER-MISC/fix_addtorque.cpp b/src/MISC/fix_addtorque.cpp similarity index 100% rename from src/USER-MISC/fix_addtorque.cpp rename to src/MISC/fix_addtorque.cpp diff --git a/src/USER-MISC/fix_addtorque.h b/src/MISC/fix_addtorque.h similarity index 100% rename from src/USER-MISC/fix_addtorque.h rename to src/MISC/fix_addtorque.h diff --git a/src/USER-MISC/fix_smd.cpp b/src/MISC/fix_smd.cpp similarity index 100% rename from src/USER-MISC/fix_smd.cpp rename to src/MISC/fix_smd.cpp diff --git a/src/USER-MISC/fix_smd.h b/src/MISC/fix_smd.h similarity index 100% rename from src/USER-MISC/fix_smd.h rename to src/MISC/fix_smd.h diff --git a/src/USER-MISC/pair_list.cpp b/src/MISC/pair_list.cpp similarity index 100% rename from src/USER-MISC/pair_list.cpp rename to src/MISC/pair_list.cpp diff --git a/src/USER-MISC/pair_list.h b/src/MISC/pair_list.h similarity index 100% rename from src/USER-MISC/pair_list.h rename to src/MISC/pair_list.h diff --git a/src/USER-MISC/pair_srp.cpp b/src/MISC/pair_srp.cpp similarity index 100% rename from src/USER-MISC/pair_srp.cpp rename to src/MISC/pair_srp.cpp diff --git a/src/USER-MISC/pair_srp.h b/src/MISC/pair_srp.h similarity index 100% rename from src/USER-MISC/pair_srp.h rename to src/MISC/pair_srp.h diff --git a/src/USER-MISC/angle_cosine_shift.cpp b/src/MOLECULE/angle_cosine_shift.cpp similarity index 100% rename from src/USER-MISC/angle_cosine_shift.cpp rename to src/MOLECULE/angle_cosine_shift.cpp diff --git a/src/USER-MISC/angle_cosine_shift.h b/src/MOLECULE/angle_cosine_shift.h similarity index 100% rename from src/USER-MISC/angle_cosine_shift.h rename to src/MOLECULE/angle_cosine_shift.h diff --git a/src/USER-MISC/angle_cosine_shift_exp.cpp b/src/MOLECULE/angle_cosine_shift_exp.cpp similarity index 100% rename from src/USER-MISC/angle_cosine_shift_exp.cpp rename to src/MOLECULE/angle_cosine_shift_exp.cpp diff --git a/src/USER-MISC/angle_cosine_shift_exp.h b/src/MOLECULE/angle_cosine_shift_exp.h similarity index 100% rename from src/USER-MISC/angle_cosine_shift_exp.h rename to src/MOLECULE/angle_cosine_shift_exp.h diff --git a/src/USER-MISC/angle_fourier.cpp b/src/MOLECULE/angle_fourier.cpp similarity index 100% rename from src/USER-MISC/angle_fourier.cpp rename to src/MOLECULE/angle_fourier.cpp diff --git a/src/USER-MISC/angle_fourier.h b/src/MOLECULE/angle_fourier.h similarity index 100% rename from src/USER-MISC/angle_fourier.h rename to src/MOLECULE/angle_fourier.h diff --git a/src/USER-MISC/angle_fourier_simple.cpp b/src/MOLECULE/angle_fourier_simple.cpp similarity index 100% rename from src/USER-MISC/angle_fourier_simple.cpp rename to src/MOLECULE/angle_fourier_simple.cpp diff --git a/src/USER-MISC/angle_fourier_simple.h b/src/MOLECULE/angle_fourier_simple.h similarity index 100% rename from src/USER-MISC/angle_fourier_simple.h rename to src/MOLECULE/angle_fourier_simple.h diff --git a/src/USER-MISC/angle_gaussian.cpp b/src/MOLECULE/angle_gaussian.cpp similarity index 100% rename from src/USER-MISC/angle_gaussian.cpp rename to src/MOLECULE/angle_gaussian.cpp diff --git a/src/USER-MISC/angle_gaussian.h b/src/MOLECULE/angle_gaussian.h similarity index 100% rename from src/USER-MISC/angle_gaussian.h rename to src/MOLECULE/angle_gaussian.h diff --git a/src/USER-MISC/angle_quartic.cpp b/src/MOLECULE/angle_quartic.cpp similarity index 100% rename from src/USER-MISC/angle_quartic.cpp rename to src/MOLECULE/angle_quartic.cpp diff --git a/src/USER-MISC/angle_quartic.h b/src/MOLECULE/angle_quartic.h similarity index 100% rename from src/USER-MISC/angle_quartic.h rename to src/MOLECULE/angle_quartic.h diff --git a/src/USER-MISC/bond_gaussian.cpp b/src/MOLECULE/bond_gaussian.cpp similarity index 100% rename from src/USER-MISC/bond_gaussian.cpp rename to src/MOLECULE/bond_gaussian.cpp diff --git a/src/USER-MISC/bond_gaussian.h b/src/MOLECULE/bond_gaussian.h similarity index 100% rename from src/USER-MISC/bond_gaussian.h rename to src/MOLECULE/bond_gaussian.h diff --git a/src/USER-MISC/bond_harmonic_shift.cpp b/src/MOLECULE/bond_harmonic_shift.cpp similarity index 100% rename from src/USER-MISC/bond_harmonic_shift.cpp rename to src/MOLECULE/bond_harmonic_shift.cpp diff --git a/src/USER-MISC/bond_harmonic_shift.h b/src/MOLECULE/bond_harmonic_shift.h similarity index 100% rename from src/USER-MISC/bond_harmonic_shift.h rename to src/MOLECULE/bond_harmonic_shift.h diff --git a/src/USER-MISC/bond_harmonic_shift_cut.cpp b/src/MOLECULE/bond_harmonic_shift_cut.cpp similarity index 100% rename from src/USER-MISC/bond_harmonic_shift_cut.cpp rename to src/MOLECULE/bond_harmonic_shift_cut.cpp diff --git a/src/USER-MISC/bond_harmonic_shift_cut.h b/src/MOLECULE/bond_harmonic_shift_cut.h similarity index 100% rename from src/USER-MISC/bond_harmonic_shift_cut.h rename to src/MOLECULE/bond_harmonic_shift_cut.h diff --git a/src/USER-MISC/dihedral_cosine_shift_exp.cpp b/src/MOLECULE/dihedral_cosine_shift_exp.cpp similarity index 100% rename from src/USER-MISC/dihedral_cosine_shift_exp.cpp rename to src/MOLECULE/dihedral_cosine_shift_exp.cpp diff --git a/src/USER-MISC/dihedral_cosine_shift_exp.h b/src/MOLECULE/dihedral_cosine_shift_exp.h similarity index 100% rename from src/USER-MISC/dihedral_cosine_shift_exp.h rename to src/MOLECULE/dihedral_cosine_shift_exp.h diff --git a/src/USER-MISC/dihedral_fourier.cpp b/src/MOLECULE/dihedral_fourier.cpp similarity index 100% rename from src/USER-MISC/dihedral_fourier.cpp rename to src/MOLECULE/dihedral_fourier.cpp diff --git a/src/USER-MISC/dihedral_fourier.h b/src/MOLECULE/dihedral_fourier.h similarity index 100% rename from src/USER-MISC/dihedral_fourier.h rename to src/MOLECULE/dihedral_fourier.h diff --git a/src/USER-MISC/dihedral_nharmonic.cpp b/src/MOLECULE/dihedral_nharmonic.cpp similarity index 100% rename from src/USER-MISC/dihedral_nharmonic.cpp rename to src/MOLECULE/dihedral_nharmonic.cpp diff --git a/src/USER-MISC/dihedral_nharmonic.h b/src/MOLECULE/dihedral_nharmonic.h similarity index 100% rename from src/USER-MISC/dihedral_nharmonic.h rename to src/MOLECULE/dihedral_nharmonic.h diff --git a/src/USER-MISC/dihedral_quadratic.cpp b/src/MOLECULE/dihedral_quadratic.cpp similarity index 100% rename from src/USER-MISC/dihedral_quadratic.cpp rename to src/MOLECULE/dihedral_quadratic.cpp diff --git a/src/USER-MISC/dihedral_quadratic.h b/src/MOLECULE/dihedral_quadratic.h similarity index 100% rename from src/USER-MISC/dihedral_quadratic.h rename to src/MOLECULE/dihedral_quadratic.h diff --git a/src/USER-MISC/dihedral_spherical.cpp b/src/MOLECULE/dihedral_spherical.cpp similarity index 100% rename from src/USER-MISC/dihedral_spherical.cpp rename to src/MOLECULE/dihedral_spherical.cpp diff --git a/src/USER-MISC/dihedral_spherical.h b/src/MOLECULE/dihedral_spherical.h similarity index 100% rename from src/USER-MISC/dihedral_spherical.h rename to src/MOLECULE/dihedral_spherical.h diff --git a/src/USER-MISC/dihedral_table.cpp b/src/MOLECULE/dihedral_table.cpp similarity index 100% rename from src/USER-MISC/dihedral_table.cpp rename to src/MOLECULE/dihedral_table.cpp diff --git a/src/USER-MISC/dihedral_table.h b/src/MOLECULE/dihedral_table.h similarity index 100% rename from src/USER-MISC/dihedral_table.h rename to src/MOLECULE/dihedral_table.h diff --git a/src/USER-MISC/dihedral_table_cut.cpp b/src/MOLECULE/dihedral_table_cut.cpp similarity index 100% rename from src/USER-MISC/dihedral_table_cut.cpp rename to src/MOLECULE/dihedral_table_cut.cpp diff --git a/src/USER-MISC/dihedral_table_cut.h b/src/MOLECULE/dihedral_table_cut.h similarity index 100% rename from src/USER-MISC/dihedral_table_cut.h rename to src/MOLECULE/dihedral_table_cut.h diff --git a/src/USER-MISC/improper_cossq.cpp b/src/MOLECULE/improper_cossq.cpp similarity index 100% rename from src/USER-MISC/improper_cossq.cpp rename to src/MOLECULE/improper_cossq.cpp diff --git a/src/USER-MISC/improper_cossq.h b/src/MOLECULE/improper_cossq.h similarity index 100% rename from src/USER-MISC/improper_cossq.h rename to src/MOLECULE/improper_cossq.h diff --git a/src/USER-MISC/improper_distance.cpp b/src/MOLECULE/improper_distance.cpp similarity index 100% rename from src/USER-MISC/improper_distance.cpp rename to src/MOLECULE/improper_distance.cpp diff --git a/src/USER-MISC/improper_distance.h b/src/MOLECULE/improper_distance.h similarity index 100% rename from src/USER-MISC/improper_distance.h rename to src/MOLECULE/improper_distance.h diff --git a/src/USER-MISC/improper_fourier.cpp b/src/MOLECULE/improper_fourier.cpp similarity index 100% rename from src/USER-MISC/improper_fourier.cpp rename to src/MOLECULE/improper_fourier.cpp diff --git a/src/USER-MISC/improper_fourier.h b/src/MOLECULE/improper_fourier.h similarity index 100% rename from src/USER-MISC/improper_fourier.h rename to src/MOLECULE/improper_fourier.h diff --git a/src/USER-MISC/improper_ring.cpp b/src/MOLECULE/improper_ring.cpp similarity index 100% rename from src/USER-MISC/improper_ring.cpp rename to src/MOLECULE/improper_ring.cpp diff --git a/src/USER-MISC/improper_ring.h b/src/MOLECULE/improper_ring.h similarity index 100% rename from src/USER-MISC/improper_ring.h rename to src/MOLECULE/improper_ring.h diff --git a/src/USER-MISC/compute_pressure_grem.cpp b/src/REPLICA/compute_pressure_grem.cpp similarity index 100% rename from src/USER-MISC/compute_pressure_grem.cpp rename to src/REPLICA/compute_pressure_grem.cpp diff --git a/src/USER-MISC/compute_pressure_grem.h b/src/REPLICA/compute_pressure_grem.h similarity index 100% rename from src/USER-MISC/compute_pressure_grem.h rename to src/REPLICA/compute_pressure_grem.h diff --git a/src/USER-MISC/fix_grem.cpp b/src/REPLICA/fix_grem.cpp similarity index 100% rename from src/USER-MISC/fix_grem.cpp rename to src/REPLICA/fix_grem.cpp diff --git a/src/USER-MISC/fix_grem.h b/src/REPLICA/fix_grem.h similarity index 100% rename from src/USER-MISC/fix_grem.h rename to src/REPLICA/fix_grem.h diff --git a/src/USER-MISC/temper_grem.cpp b/src/REPLICA/temper_grem.cpp similarity index 100% rename from src/USER-MISC/temper_grem.cpp rename to src/REPLICA/temper_grem.cpp diff --git a/src/USER-MISC/temper_grem.h b/src/REPLICA/temper_grem.h similarity index 100% rename from src/USER-MISC/temper_grem.h rename to src/REPLICA/temper_grem.h diff --git a/src/USER-MISC/temper_npt.cpp b/src/REPLICA/temper_npt.cpp similarity index 100% rename from src/USER-MISC/temper_npt.cpp rename to src/REPLICA/temper_npt.cpp diff --git a/src/USER-MISC/temper_npt.h b/src/REPLICA/temper_npt.h similarity index 100% rename from src/USER-MISC/temper_npt.h rename to src/REPLICA/temper_npt.h diff --git a/src/USER-MISC/README b/src/USER-MISC/README index ea5910203c..a5416c6804 100644 --- a/src/USER-MISC/README +++ b/src/USER-MISC/README @@ -18,17 +18,6 @@ about the feature or its coding. ------------------------------------------------------------ -angle_style cosine/shift, Carsten Svaneborg, science at zqex.dk, 8 Aug 11 -angle_style cosine/shift/exp, Carsten Svaneborg, science at zqex.dk, 8 Aug 11 -angle_style fourier, Loukas Peristeras, loukas.peristeras at scienomics.com, 27 Oct 12 -angle_style fourier/simple, Loukas Peristeras, loukas.peristeras at scienomics.com, 27 Oct 12 -angle_style gaussian, Evangelos Voyiatzis, evoyiatzis at gmail.com, 25 Nov 2020 -angle_style dipole, Mario Orsi, orsimario at gmail.com, 10 Jan 12 -angle_style quartic, Loukas Peristeras, loukas.peristeras at scienomics.com, 27 Oct 12 -bond_style harmonic/shift, Carsten Svaneborg, science at zqex.dk, 8 Aug 11 -bond_style harmonic/shift/cut, Carsten Svaneborg, science at zqex.dk, 8 Aug 11 -bond_style gaussian, Evangelos Voyiatzis, evoyiatzis at gmail.com, 25 Nov 2020 -bond_style special, David Nicholson, davidanich at gmail.com, 31 Jan 2020 compute ackland/atom, Gerolf Ziegenhain, gerolf at ziegenhain.com, 4 Oct 2007 compute basal/atom, Christopher Barrett, cdb333 at cavs.msstate.edu, 3 Mar 2013 compute cnp/atom, Paulo Branicio (USC), branicio at usc.edu, 31 May 2017 @@ -42,24 +31,13 @@ compute stress/mop, Romain Vermorel (U Pau) & Laurent Joly (U Lyon), romain.verm compute stress/mop/profile, Romain Vermorel (U Pau) & Laurent Joly (U Lyon), romain.vermorel at univ-pau.fr & ljoly.ulyon at gmail.com, 5 Sep 18 compute temp/rotate, Laurent Joly (U Lyon), ljoly.ulyon at gmail.com, 8 Aug 11 compute viscosity/cos, Zheng Gong (ENS de Lyon), z.gong@outlook.com, 24 Apr 20 -compute PRESSURE/GREM, David Stelter, dstelter@bu.edu, 22 Nov 16 -dihedral_style cosine/shift/exp, Carsten Svaneborg, science at zqex.dk, 8 Aug 11 -dihedral_style fourier, Loukas Peristeras, loukas.peristeras at scienomics.com, 27 Oct 12 -dihedral_style nharmonic, Loukas Peristeras, loukas.peristeras at scienomics.com, 27 Oct 12 -dihedral_style quadratic, Loukas Peristeras, loukas.peristeras at scienomics.com, 27 Oct 12 -dihedral_style spherical, Andrew Jewett, jewett.aij@gmail.com, 15 Jul 16 -dihedral_style table, Andrew Jewett, jewett.aij@gmail.com, 10 Jan 12 -dihedral_style table/cut, Mike Salerno, ksalerno@pha.jhu.edu, 11 May 18 fix accelerate/cos, Zheng Gong (ENS de Lyon), z.gong@outlook.com, 24 Apr 20 -fix addtorque, Laurent Joly (U Lyon), ljoly.ulyon at gmail.com, 8 Aug 11 fix ave/correlate/long, Jorge Ramirez (UPM Madrid), jorge.ramirez at upm.es, 21 Oct 2015 fix electron/stopping/fit, James Stewart (SNL), jstewa .at. sandia.gov, 23 Sep 2020 fix electron/stopping, Konstantin Avchaciov, k.avchachov at gmail.com, 26 Feb 2019 fix ffl, David Wilkins (EPFL Lausanne), david.wilkins @ epfl.ch, 28 Sep 2018 fix filter/corotate, Lukas Fath (KIT), lukas.fath at kit.edu, 15 Mar 2017 fix flow/gauss, Joel Eaves (CU Boulder), Joel.Eaves@Colorado.edu, 23 Aug 2016 -fix gle, Michele Ceriotti (EPFL Lausanne), michele.ceriotti at gmail.com, 24 Nov 2014 -fix grem, David Stelter, dstelter@bu.edu, 22 Nov 16 fix ipi, Michele Ceriotti (EPFL Lausanne), michele.ceriotti at gmail.com, 24 Nov 2014 fix momentum/chunk, Jiang Xiao (Hong Kong Polytechnic University), polyu-xiao.jiang at connect.polyu.hk, 19 Aug 2020 fix npt/cauchy, R. E. Miller (Carleton University), F. Pavia and S. Pattamatta, 12 Jan 2020 @@ -68,43 +46,28 @@ fix orient/eco Adrian A. Schratt and Volker Mohles (Ruhr-Uni Bochum), volker.moh fix pafi, Thomas Swinburne (CNRS), swinburne at cinam.univ-mrs.fr, 1st Sep 2020 fix pimd, Yuxing Peng (U Chicago), yuxing at uchicago.edu, 24 Nov 2014 fix rhok, Ulf Pedersen (Roskilde U), ulf at urp.dk, 25 Sep 2017 -fix smd, Axel Kohlmeyer, akohlmey at gmail.com, 19 May 2008 fix ti/spring, Rodrigo Freitas (Unicamp/Brazil), rodrigohb at gmail.com, 7 Nov 2013 fix ttm/mod, Sergey Starikov and Vasily Pisarev (JIHT), pisarevvv at gmail.com, 2 Feb 2015 fix wall/ees, Abdoreza Ershadinia, a.ershadinia at gmail.com, Jul 2017 fix wall/reflect/stochastic, Quy-Dong To (U Gustave Eiffel), toquydong at gmail.com, Jan 2020 fix wall/region/ees, Abdoreza Ershadinia, a.ershadinia at gmail.com, Jul 2017 -improper_style cossq, Georgios Vogiatzis, gvog at chemeng.ntua.gr, 25 May 12 -improper_style fourier, Loukas Peristeras, loukas.peristeras at scienomics.com, 27 Oct 12 -improper_style ring, Georgios Vogiatzis, gvog at chemeng.ntua.gr, 25 May 12 -improper_style distance, Paolo Raiteri, p.raiteri at curtin.edu.au, 2 Dec 15 pair_style agni, Axel Kohlmeyer, akohlmey at gmail.com, 9 Nov 16 pair_style buck/mdf, Paolo Raiteri, p.raiteri at curtin.edu.au, 2 Dec 15 pair_style cosine/squared, Eugen Rozic, eugen.rozic.17 at ucl.ac.uk, 9 Aug 19 pair_style coul/diel, Axel Kohlmeyer, akohlmey at gmail.com, 1 Dec 11 -pair_style coul/shield, Wengen Ouyang (Tel Aviv University), w.g.ouyang at gmail dot com, 30 Mar 18 pair_style coul/slater/cut, Evangelos Voyiatzis, evoyiatzis at gmail.com, 26 February 2020 pair_style coul/slater/long, Evangelos Voyiatzis, evoyiatzis at gmail.com, 26 February 2020 pair_style dipole/sf, Mario Orsi, orsimario at gmail.com, 8 Aug 11 pair_style e3b, Steven Strong (U Chicago), stevene.strong at gmail dot com, 16 Apr 19 -pair_style drip, Mingjian Wen, University of Minnesota, wenxx151 at umn.edu, 17 Apr 19 pair_style edip, Luca Ferraro, luca.ferraro at caspur.it, 15 Sep 11 pair_style extep, Jaap Kroes (Radboud U), jaapkroes at gmail dot com, 28 Nov 17 pair_style gauss/cut, Axel Kohlmeyer, akohlmey at gmail.com, 1 Dec 11 -pair_style ilp/graphene/hbn, Wengen Ouyang (Tel Aviv University), w.g.ouyang at gmail dot com, 30 Mar 18 -pair_style lebedeva/z, Zbigniew Koziol (National Center for Nuclear Research), softquake at gmail dot com, 4 Jan 19 pair_style lennard/mdf, Paolo Raiteri, p.raiteri at curtin.edu.au, 2 Dec 15 -pair_style list, Axel Kohlmeyer (Temple U), akohlmey at gmail.com, 1 Jun 13 pair_style lj/mdf, Paolo Raiteri, p.raiteri at curtin.edu.au, 2 Dec 15 pair_style local/density, Tanmoy Sanyal (tanmoy dot 7989 at gmail.com) and M. Scott Shell (UCSB), and David Rosenberger (TU Darmstadt), 9 Sept 19 -pair_style kolmogorov/crespi/full, Wengen Ouyang (Tel Aviv University), w.g.ouyang at gmail dot com, 30 Mar 18 -pair_style kolmogorov/crespi/z, Jaap Kroes (Radboud U), jaapkroes at gmail dot com, 28 Feb 17 pair_style meam/spline, Alexander Stukowski (LLNL), alex at stukowski.com, 1 Feb 12 pair_style meam/sw/spline, Robert Rudd (LLNL), robert.rudd at llnl.gov, 1 Oct 12 pair_style morse/smooth/linear, Stefan Paquay (TU Eindhoven), stefanpaquay at gmail.com, 29 Feb 16 -pair_style srp, Tim Sirk, tim.sirk at us.army.mil, 21 Nov 14 pair_style tersoff/table, Luca Ferraro, luca.ferraro@caspur.it, 1 Dec 11 pair_style momb, Kristen Fichthorn, Tonnam Balankura, Ya Zhou, fichthorn@psu.edu, 18 Mar 17 pair_style wf_cut, Simon Ramirez-Hinestrosa, Xipeng Wang, sr802 at cam.ac.uk, 4 Nov 20 -temper/grem, David Stelter, dstelter@bu.edu, 22 Nov 16 -temper/npt, Amulya K. Pervaje, Cody K. Addington, amulyapervaje@gmail.com , 31 Aug 17 From 2e0ed643e406b5f9cd2cb7200975958faaad79db Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 9 Jul 2021 16:54:18 -0400 Subject: [PATCH 373/726] update and reformat --- src/DIPOLE/angle_dipole.cpp | 117 +++++++++++++++++++----------------- src/DIPOLE/angle_dipole.h | 13 ++-- 2 files changed, 69 insertions(+), 61 deletions(-) diff --git a/src/DIPOLE/angle_dipole.cpp b/src/DIPOLE/angle_dipole.cpp index 38f13a47bd..f7724e2b56 100644 --- a/src/DIPOLE/angle_dipole.cpp +++ b/src/DIPOLE/angle_dipole.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -18,16 +17,16 @@ #include "angle_dipole.h" -#include #include "atom.h" -#include "neighbor.h" -#include "domain.h" #include "comm.h" +#include "domain.h" +#include "error.h" #include "force.h" #include "math_const.h" #include "memory.h" -#include "error.h" +#include "neighbor.h" +#include using namespace LAMMPS_NS; using namespace MathConst; @@ -55,16 +54,16 @@ AngleDipole::~AngleDipole() void AngleDipole::compute(int eflag, int vflag) { - int iRef,iDip,iDummy,n,type; - double delx,dely,delz; - double eangle,tangle,fi[3],fj[3]; - double r,cosGamma,deltaGamma,kdg,rmu; + int iRef, iDip, iDummy, n, type; + double delx, dely, delz; + double eangle, tangle, fi[3], fj[3]; + double r, cosGamma, deltaGamma, kdg, rmu; eangle = 0.0; - ev_init(eflag,vflag); + ev_init(eflag, vflag); - double **x = atom->x; // position vector - double **mu = atom->mu; // point-dipole components and moment magnitude + double **x = atom->x; // position vector + double **mu = atom->mu; // point-dipole components and moment magnitude double **torque = atom->torque; int **anglelist = neighbor->anglelist; int nanglelist = neighbor->nanglelist; @@ -75,45 +74,44 @@ void AngleDipole::compute(int eflag, int vflag) double delTx, delTy, delTz; double fx, fy, fz, fmod, fmod_sqrtff; - if (!newton_bond) - error->all(FLERR,"'newton' flag for bonded interactions must be 'on'"); + if (!newton_bond) error->all(FLERR, "'newton' flag for bonded interactions must be 'on'"); for (n = 0; n < nanglelist; n++) { - iDip = anglelist[n][0]; // dipole whose orientation is to be restrained - iRef = anglelist[n][1]; // reference atom toward which dipole will point - iDummy = anglelist[n][2]; // dummy atom - irrelevant to the interaction + iDip = anglelist[n][0]; // dipole whose orientation is to be restrained + iRef = anglelist[n][1]; // reference atom toward which dipole will point + iDummy = anglelist[n][2]; // dummy atom - irrelevant to the interaction type = anglelist[n][3]; delx = x[iRef][0] - x[iDip][0]; dely = x[iRef][1] - x[iDip][1]; delz = x[iRef][2] - x[iDip][2]; - r = sqrt(delx*delx + dely*dely + delz*delz); + r = sqrt(delx * delx + dely * dely + delz * delz); rmu = r * mu[iDip][3]; - cosGamma = (mu[iDip][0]*delx+mu[iDip][1]*dely+mu[iDip][2]*delz) / rmu; + cosGamma = (mu[iDip][0] * delx + mu[iDip][1] * dely + mu[iDip][2] * delz) / rmu; deltaGamma = cosGamma - cos(gamma0[type]); kdg = k[type] * deltaGamma; - if (eflag) eangle = kdg * deltaGamma; // energy + if (eflag) eangle = kdg * deltaGamma; // energy tangle = 2.0 * kdg / rmu; - delTx = tangle * (dely*mu[iDip][2] - delz*mu[iDip][1]); - delTy = tangle * (delz*mu[iDip][0] - delx*mu[iDip][2]); - delTz = tangle * (delx*mu[iDip][1] - dely*mu[iDip][0]); + delTx = tangle * (dely * mu[iDip][2] - delz * mu[iDip][1]); + delTy = tangle * (delz * mu[iDip][0] - delx * mu[iDip][2]); + delTz = tangle * (delx * mu[iDip][1] - dely * mu[iDip][0]); torque[iDip][0] += delTx; torque[iDip][1] += delTy; torque[iDip][2] += delTz; // Force couple that counterbalances dipolar torque - fx = dely*delTz - delz*delTy; // direction (fi): - r x (-T) - fy = delz*delTx - delx*delTz; - fz = delx*delTy - dely*delTx; + fx = dely * delTz - delz * delTy; // direction (fi): - r x (-T) + fy = delz * delTx - delx * delTz; + fz = delx * delTy - dely * delTx; - fmod = sqrt(delTx*delTx + delTy*delTy + delTz*delTz) / r; // magnitude - fmod_sqrtff = fmod / sqrt(fx*fx + fy*fy + fz*fz); + fmod = sqrt(delTx * delTx + delTy * delTy + delTz * delTz) / r; // magnitude + fmod_sqrtff = fmod / sqrt(fx * fx + fy * fy + fz * fz); fi[0] = fx * fmod_sqrtff; fi[1] = fy * fmod_sqrtff; @@ -131,9 +129,9 @@ void AngleDipole::compute(int eflag, int vflag) f[iRef][1] += fi[1]; f[iRef][2] += fi[2]; - if (evflag) // virial = rij.fi = 0 (fj = -fi & fk = 0) - ev_tally(iRef,iDip,iDummy,nlocal,newton_bond,eangle,fj,fi, - 0.0,0.0,0.0,0.0,0.0,0.0); + if (evflag) // virial = rij.fi = 0 (fj = -fi & fk = 0) + ev_tally(iRef, iDip, iDummy, nlocal, newton_bond, eangle, fj, fi, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0); } } @@ -144,10 +142,10 @@ void AngleDipole::allocate() allocated = 1; int n = atom->nangletypes; - memory->create(k,n+1,"angle:k"); - memory->create(gamma0,n+1,"angle:gamma0"); + memory->create(k, n + 1, "angle:k"); + memory->create(gamma0, n + 1, "angle:gamma0"); - memory->create(setflag,n+1,"angle:setflag"); + memory->create(setflag, n + 1, "angle:setflag"); for (int i = 1; i <= n; i++) setflag[i] = 0; } @@ -157,26 +155,36 @@ void AngleDipole::allocate() void AngleDipole::coeff(int narg, char **arg) { - if (narg != 3) error->all(FLERR,"Incorrect args for angle coefficients"); + if (narg != 3) error->all(FLERR, "Incorrect args for angle coefficients"); if (!allocated) allocate(); - int ilo,ihi; - utils::bounds(FLERR,arg[0],1,atom->nangletypes,ilo,ihi,error); + int ilo, ihi; + utils::bounds(FLERR, arg[0], 1, atom->nangletypes, ilo, ihi, error); - double k_one = utils::numeric(FLERR,arg[1],false,lmp); - double gamma0_one = utils::numeric(FLERR,arg[2],false,lmp); + double k_one = utils::numeric(FLERR, arg[1], false, lmp); + double gamma0_one = utils::numeric(FLERR, arg[2], false, lmp); // convert gamma0 from degrees to radians int count = 0; for (int i = ilo; i <= ihi; i++) { k[i] = k_one; - gamma0[i] = gamma0_one/180.0 * MY_PI; + gamma0[i] = gamma0_one / 180.0 * MY_PI; setflag[i] = 1; count++; } - if (count == 0) error->all(FLERR,"Incorrect args for angle coefficients"); + if (count == 0) error->all(FLERR, "Incorrect args for angle coefficients"); +} + +/* ---------------------------------------------------------------------- + set coeffs for one or more types +------------------------------------------------------------------------- */ + +void AngleDipole::init_style() +{ + if (!atom->mu_flag || !atom->torque_flag) + error->all(FLERR,"Angle style dipole requires atom attributes mu and torque"); } /* ---------------------------------------------------------------------- @@ -194,8 +202,8 @@ double AngleDipole::equilibrium_angle(int i) void AngleDipole::write_restart(FILE *fp) { - fwrite(&k[1],sizeof(double),atom->nangletypes,fp); - fwrite(&gamma0[1],sizeof(double),atom->nangletypes,fp); + fwrite(&k[1], sizeof(double), atom->nangletypes, fp); + fwrite(&gamma0[1], sizeof(double), atom->nangletypes, fp); } /* ---------------------------------------------------------------------- @@ -207,11 +215,11 @@ void AngleDipole::read_restart(FILE *fp) allocate(); if (comm->me == 0) { - utils::sfread(FLERR,&k[1],sizeof(double),atom->nangletypes,fp,nullptr,error); - utils::sfread(FLERR,&gamma0[1],sizeof(double),atom->nangletypes,fp,nullptr,error); + utils::sfread(FLERR, &k[1], sizeof(double), atom->nangletypes, fp, nullptr, error); + utils::sfread(FLERR, &gamma0[1], sizeof(double), atom->nangletypes, fp, nullptr, error); } - MPI_Bcast(&k[1],atom->nangletypes,MPI_DOUBLE,0,world); - MPI_Bcast(&gamma0[1],atom->nangletypes,MPI_DOUBLE,0,world); + MPI_Bcast(&k[1], atom->nangletypes, MPI_DOUBLE, 0, world); + MPI_Bcast(&gamma0[1], atom->nangletypes, MPI_DOUBLE, 0, world); for (int i = 1; i <= atom->nangletypes; i++) setflag[i] = 1; } @@ -222,8 +230,7 @@ void AngleDipole::read_restart(FILE *fp) void AngleDipole::write_data(FILE *fp) { - for (int i = 1; i <= atom->nangletypes; i++) - fprintf(fp,"%d %g %g\n",i,k[i],gamma0[i]); + for (int i = 1; i <= atom->nangletypes; i++) fprintf(fp, "%d %g %g\n", i, k[i], gamma0[i]); } /* ---------------------------------------------------------------------- @@ -232,20 +239,20 @@ void AngleDipole::write_data(FILE *fp) double AngleDipole::single(int type, int iRef, int iDip, int /*iDummy*/) { - double **x = atom->x; // position vector - double **mu = atom->mu; // point-dipole components and moment magnitude + double **x = atom->x; // position vector + double **mu = atom->mu; // point-dipole components and moment magnitude double delx = x[iRef][0] - x[iDip][0]; double dely = x[iRef][1] - x[iDip][1]; double delz = x[iRef][2] - x[iDip][2]; - domain->minimum_image(delx,dely,delz); + domain->minimum_image(delx, dely, delz); - double r = sqrt(delx*delx + dely*dely + delz*delz); + double r = sqrt(delx * delx + dely * dely + delz * delz); double rmu = r * mu[iDip][3]; - double cosGamma = (mu[iDip][0]*delx+mu[iDip][1]*dely+mu[iDip][2]*delz) / rmu; + double cosGamma = (mu[iDip][0] * delx + mu[iDip][1] * dely + mu[iDip][2] * delz) / rmu; double deltaGamma = cosGamma - cos(gamma0[type]); double kdg = k[type] * deltaGamma; - return kdg * deltaGamma; // energy + return kdg * deltaGamma; // energy } diff --git a/src/DIPOLE/angle_dipole.h b/src/DIPOLE/angle_dipole.h index e74947da9e..d94315c5aa 100644 --- a/src/DIPOLE/angle_dipole.h +++ b/src/DIPOLE/angle_dipole.h @@ -29,12 +29,13 @@ class AngleDipole : public Angle { AngleDipole(class LAMMPS *); virtual ~AngleDipole(); virtual void compute(int, int); - void coeff(int, char **); - double equilibrium_angle(int); - void write_restart(FILE *); - void read_restart(FILE *); - void write_data(FILE *); - double single(int, int, int, int); + virtual void init_style(); + virtual void coeff(int, char **); + virtual double equilibrium_angle(int); + virtual void write_restart(FILE *); + virtual void read_restart(FILE *); + virtual void write_data(FILE *); + virtual double single(int, int, int, int); protected: double *k, *gamma0; From e8aa3823d310668df2e53c47c50e352fb9b8fb3c Mon Sep 17 00:00:00 2001 From: Stan Gerald Moore Date: Fri, 9 Jul 2021 15:48:44 -0600 Subject: [PATCH 374/726] Add virtual keyword to AtomKokkos destructor --- src/KOKKOS/atom_kokkos.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/KOKKOS/atom_kokkos.h b/src/KOKKOS/atom_kokkos.h index 7798c60321..a88c6b3ad8 100644 --- a/src/KOKKOS/atom_kokkos.h +++ b/src/KOKKOS/atom_kokkos.h @@ -67,7 +67,7 @@ class AtomKokkos : public Atom { AtomKokkos(class LAMMPS *); - ~AtomKokkos(); + virtual ~AtomKokkos(); void map_init(int check = 1); void map_set(); From 89d7e34540e16bd4ae7fddb56521e1e5fe3c8adc Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 10 Jul 2021 10:53:36 -0400 Subject: [PATCH 375/726] destructor in polymorph base class should be virtual --- src/atom.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/atom.h b/src/atom.h index 5d96be67bf..c7273e1ff5 100644 --- a/src/atom.h +++ b/src/atom.h @@ -275,7 +275,7 @@ class Atom : protected Pointers { // functions Atom(class LAMMPS *); - ~Atom(); + virtual ~Atom(); void settings(class Atom *); void peratom_create(); From 4456e8151f3d4c026f01ed5d0447a9cf043fde3c Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 10 Jul 2021 10:54:02 -0400 Subject: [PATCH 376/726] use explicit scoping in destructor of polymorph class --- src/KOKKOS/atom_kokkos.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/KOKKOS/atom_kokkos.cpp b/src/KOKKOS/atom_kokkos.cpp index 40db94311b..84419984b8 100644 --- a/src/KOKKOS/atom_kokkos.cpp +++ b/src/KOKKOS/atom_kokkos.cpp @@ -79,7 +79,7 @@ AtomKokkos::~AtomKokkos() memoryKK->destroy_kokkos(k_improper_atom3, improper_atom3); memoryKK->destroy_kokkos(k_improper_atom4, improper_atom4); - map_delete(); + AtomKokkos::map_delete(); // SPIN package From ac903ec291d14a5fc9ea3812e58e4fda2bfda26e Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 10 Jul 2021 10:55:07 -0400 Subject: [PATCH 377/726] update list of non-style KOKKOS package sources with newly added file --- cmake/Modules/Packages/KOKKOS.cmake | 1 + 1 file changed, 1 insertion(+) diff --git a/cmake/Modules/Packages/KOKKOS.cmake b/cmake/Modules/Packages/KOKKOS.cmake index e97f5546cd..aea766b79c 100644 --- a/cmake/Modules/Packages/KOKKOS.cmake +++ b/cmake/Modules/Packages/KOKKOS.cmake @@ -79,6 +79,7 @@ target_compile_definitions(lammps PRIVATE -DLMP_KOKKOS) set(KOKKOS_PKG_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/KOKKOS) set(KOKKOS_PKG_SOURCES ${KOKKOS_PKG_SOURCES_DIR}/kokkos.cpp ${KOKKOS_PKG_SOURCES_DIR}/atom_kokkos.cpp + ${KOKKOS_PKG_SOURCES_DIR}/atom_map_kokkos.cpp ${KOKKOS_PKG_SOURCES_DIR}/atom_vec_kokkos.cpp ${KOKKOS_PKG_SOURCES_DIR}/comm_kokkos.cpp ${KOKKOS_PKG_SOURCES_DIR}/comm_tiled_kokkos.cpp From 8f8dff758e07bb4f0101321a3684bfa3855da232 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 10 Jul 2021 14:39:25 -0400 Subject: [PATCH 378/726] reformat --- src/KOKKOS/atom_kokkos.cpp | 129 +++++++++++++--------------- src/KOKKOS/atom_map_kokkos.cpp | 81 +++++++++-------- src/KOKKOS/atom_vec_dpd_kokkos.cpp | 10 +-- src/KOKKOS/atom_vec_full_kokkos.cpp | 10 +-- 4 files changed, 110 insertions(+), 120 deletions(-) diff --git a/src/KOKKOS/atom_kokkos.cpp b/src/KOKKOS/atom_kokkos.cpp index 84419984b8..02cd4ea708 100644 --- a/src/KOKKOS/atom_kokkos.cpp +++ b/src/KOKKOS/atom_kokkos.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -13,23 +12,23 @@ ------------------------------------------------------------------------- */ #include "atom_kokkos.h" -#include + +#include "atom_masks.h" #include "atom_vec.h" #include "atom_vec_kokkos.h" #include "comm_kokkos.h" -#include "update.h" #include "domain.h" -#include "atom_masks.h" -#include "memory_kokkos.h" #include "error.h" #include "kokkos.h" -#include "atom_masks.h" +#include "memory_kokkos.h" +#include "update.h" using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -AtomKokkos::AtomKokkos(LAMMPS *lmp) : Atom(lmp) { +AtomKokkos::AtomKokkos(LAMMPS *lmp) : Atom(lmp) +{ k_error_flag = DAT::tdual_int_scalar("atom:error_flag"); } @@ -88,16 +87,16 @@ AtomKokkos::~AtomKokkos() memoryKK->destroy_kokkos(k_fm_long, fm_long); // DPD-REACT package - memoryKK->destroy_kokkos(k_uCond,uCond); - memoryKK->destroy_kokkos(k_uMech,uMech); - memoryKK->destroy_kokkos(k_uChem,uChem); - memoryKK->destroy_kokkos(k_uCG,uCG); - memoryKK->destroy_kokkos(k_uCGnew,uCGnew); - memoryKK->destroy_kokkos(k_rho,rho); - memoryKK->destroy_kokkos(k_dpdTheta,dpdTheta); - memoryKK->destroy_kokkos(k_duChem,duChem); + memoryKK->destroy_kokkos(k_uCond, uCond); + memoryKK->destroy_kokkos(k_uMech, uMech); + memoryKK->destroy_kokkos(k_uChem, uChem); + memoryKK->destroy_kokkos(k_uCG, uCG); + memoryKK->destroy_kokkos(k_uCGnew, uCGnew); + memoryKK->destroy_kokkos(k_rho, rho); + memoryKK->destroy_kokkos(k_dpdTheta, dpdTheta); + memoryKK->destroy_kokkos(k_duChem, duChem); - memoryKK->destroy_kokkos(k_dvector,dvector); + memoryKK->destroy_kokkos(k_dvector, dvector); dvector = nullptr; } @@ -105,34 +104,32 @@ AtomKokkos::~AtomKokkos() void AtomKokkos::sync(const ExecutionSpace space, unsigned int mask) { - if (space == Device && lmp->kokkos->auto_sync) - ((AtomVecKokkos *) avec)->modified(Host,mask); + if (space == Device && lmp->kokkos->auto_sync) ((AtomVecKokkos *) avec)->modified(Host, mask); - ((AtomVecKokkos *) avec)->sync(space,mask); + ((AtomVecKokkos *) avec)->sync(space, mask); } /* ---------------------------------------------------------------------- */ void AtomKokkos::modified(const ExecutionSpace space, unsigned int mask) { - ((AtomVecKokkos *) avec)->modified(space,mask); + ((AtomVecKokkos *) avec)->modified(space, mask); - if (space == Device && lmp->kokkos->auto_sync) - ((AtomVecKokkos *) avec)->sync(Host,mask); + if (space == Device && lmp->kokkos->auto_sync) ((AtomVecKokkos *) avec)->sync(Host, mask); } void AtomKokkos::sync_overlapping_device(const ExecutionSpace space, unsigned int mask) { - ((AtomVecKokkos *) avec)->sync_overlapping_device(space,mask); + ((AtomVecKokkos *) avec)->sync_overlapping_device(space, mask); } /* ---------------------------------------------------------------------- */ void AtomKokkos::allocate_type_arrays() { if (avec->mass_type == AtomVec::PER_TYPE) { - k_mass = DAT::tdual_float_1d("Mass",ntypes+1); + k_mass = DAT::tdual_float_1d("Mass", ntypes + 1); mass = k_mass.h_view.data(); - mass_setflag = new int[ntypes+1]; + mass_setflag = new int[ntypes + 1]; for (int itype = 1; itype <= ntypes; itype++) mass_setflag[itype] = 0; k_mass.modify(); } @@ -142,11 +139,11 @@ void AtomKokkos::allocate_type_arrays() void AtomKokkos::sort() { - int i,m,n,ix,iy,iz,ibin,empty; + int i, m, n, ix, iy, iz, ibin, empty; // set next timestep for sorting to take place - nextsort = (update->ntimestep/sortfreq)*sortfreq + sortfreq; + nextsort = (update->ntimestep / sortfreq) * sortfreq + sortfreq; // re-setup sort bins if needed @@ -159,33 +156,33 @@ void AtomKokkos::sort() memory->destroy(next); memory->destroy(permute); maxnext = atom->nmax; - memory->create(next,maxnext,"atom:next"); - memory->create(permute,maxnext,"atom:permute"); + memory->create(next, maxnext, "atom:next"); + memory->create(permute, maxnext, "atom:permute"); } // insure there is one extra atom location at end of arrays for swaps if (nlocal == nmax) avec->grow(0); - sync(Host,ALL_MASK); - modified(Host,ALL_MASK); + sync(Host, ALL_MASK); + modified(Host, ALL_MASK); // bin atoms in reverse order so linked list will be in forward order for (i = 0; i < nbins; i++) binhead[i] = -1; HAT::t_x_array_const h_x = k_x.view(); - for (i = nlocal-1; i >= 0; i--) { - ix = static_cast ((h_x(i,0)-bboxlo[0])*bininvx); - iy = static_cast ((h_x(i,1)-bboxlo[1])*bininvy); - iz = static_cast ((h_x(i,2)-bboxlo[2])*bininvz); - ix = MAX(ix,0); - iy = MAX(iy,0); - iz = MAX(iz,0); - ix = MIN(ix,nbinx-1); - iy = MIN(iy,nbiny-1); - iz = MIN(iz,nbinz-1); - ibin = iz*nbiny*nbinx + iy*nbinx + ix; + for (i = nlocal - 1; i >= 0; i--) { + ix = static_cast((h_x(i, 0) - bboxlo[0]) * bininvx); + iy = static_cast((h_x(i, 1) - bboxlo[1]) * bininvy); + iz = static_cast((h_x(i, 2) - bboxlo[2]) * bininvz); + ix = MAX(ix, 0); + iy = MAX(iy, 0); + iz = MAX(iz, 0); + ix = MIN(ix, nbinx - 1); + iy = MIN(iy, nbiny - 1); + iz = MIN(iz, nbinz - 1); + ibin = iz * nbiny * nbinx + iy * nbinx + ix; next[i] = binhead[ibin]; binhead[ibin] = i; } @@ -217,13 +214,13 @@ void AtomKokkos::sort() for (i = 0; i < nlocal; i++) { if (current[i] == permute[i]) continue; - avec->copy(i,nlocal,0); + avec->copy(i, nlocal, 0); empty = i; while (permute[empty] != i) { - avec->copy(permute[empty],empty,0); + avec->copy(permute[empty], empty, 0); empty = current[empty] = permute[empty]; } - avec->copy(nlocal,empty,0); + avec->copy(nlocal, empty, 0); current[empty] = permute[empty]; } @@ -241,13 +238,14 @@ void AtomKokkos::sort() reallocate memory to the pointer selected by the mask ------------------------------------------------------------------------- */ -void AtomKokkos::grow(unsigned int mask) { +void AtomKokkos::grow(unsigned int mask) +{ if (mask & SPECIAL_MASK) { memoryKK->destroy_kokkos(k_special, special); sync(Device, mask); modified(Device, mask); - memoryKK->grow_kokkos(k_special,special,nmax,maxspecial,"atom:special"); + memoryKK->grow_kokkos(k_special, special, nmax, maxspecial, "atom:special"); avec->grow_pointers(); sync(Host, mask); } @@ -266,22 +264,18 @@ int AtomKokkos::add_custom(const char *name, int flag) if (flag == 0) { index = nivector; nivector++; - iname = (char **) memory->srealloc(iname,nivector*sizeof(char *), - "atom:iname"); + iname = (char **) memory->srealloc(iname, nivector * sizeof(char *), "atom:iname"); iname[index] = utils::strdup(name); - ivector = (int **) memory->srealloc(ivector,nivector*sizeof(int *), - "atom:ivector"); - memory->create(ivector[index],nmax,"atom:ivector"); + ivector = (int **) memory->srealloc(ivector, nivector * sizeof(int *), "atom:ivector"); + memory->create(ivector[index], nmax, "atom:ivector"); } else { index = ndvector; ndvector++; - dname = (char **) memory->srealloc(dname,ndvector*sizeof(char *), - "atom:dname"); + dname = (char **) memory->srealloc(dname, ndvector * sizeof(char *), "atom:dname"); dname[index] = utils::strdup(name); - this->sync(Device,DVECTOR_MASK); - memoryKK->grow_kokkos(k_dvector,dvector,ndvector,nmax, - "atom:dvector"); - this->modified(Device,DVECTOR_MASK); + this->sync(Device, DVECTOR_MASK); + memoryKK->grow_kokkos(k_dvector, dvector, ndvector, nmax, "atom:dvector"); + this->modified(Device, DVECTOR_MASK); } return index; @@ -298,12 +292,12 @@ void AtomKokkos::remove_custom(int flag, int index) if (flag == 0) { memory->destroy(ivector[index]); ivector[index] = nullptr; - delete [] iname[index]; + delete[] iname[index]; iname[index] = nullptr; } else { //memoryKK->destroy_kokkos(dvector); dvector[index] = nullptr; - delete [] dname[index]; + delete[] dname[index]; dname[index] = nullptr; } } @@ -339,19 +333,16 @@ void AtomKokkos::deallocate_topology() done at higher levels (Verlet,Modify,etc) ------------------------------------------------------------------------- */ -void AtomKokkos::sync_modify(ExecutionSpace execution_space, - unsigned int datamask_read, +void AtomKokkos::sync_modify(ExecutionSpace execution_space, unsigned int datamask_read, unsigned int datamask_modify) { - sync(execution_space,datamask_read); - modified(execution_space,datamask_modify); + sync(execution_space, datamask_read); + modified(execution_space, datamask_modify); } -AtomVec *AtomKokkos::new_avec(const std::string &style, - int trysuffix, int &sflag) +AtomVec *AtomKokkos::new_avec(const std::string &style, int trysuffix, int &sflag) { - AtomVec* avec = Atom::new_avec(style,trysuffix,sflag); - if (!avec->kokkosable) - error->all(FLERR,"KOKKOS package requires a kokkos enabled atom_style"); + AtomVec *avec = Atom::new_avec(style, trysuffix, sflag); + if (!avec->kokkosable) error->all(FLERR, "KOKKOS package requires a kokkos enabled atom_style"); return avec; } diff --git a/src/KOKKOS/atom_map_kokkos.cpp b/src/KOKKOS/atom_map_kokkos.cpp index 90cebd17b4..d7f91c04e2 100644 --- a/src/KOKKOS/atom_map_kokkos.cpp +++ b/src/KOKKOS/atom_map_kokkos.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -13,13 +12,14 @@ ------------------------------------------------------------------------- */ #include "atom_kokkos.h" -#include "neighbor_kokkos.h" + +#include "atom_masks.h" #include "comm.h" #include "error.h" -#include "modify.h" #include "fix.h" #include "memory_kokkos.h" -#include "atom_masks.h" +#include "modify.h" +#include "neighbor_kokkos.h" #include @@ -48,8 +48,10 @@ void AtomKokkos::map_init(int check) int recreate = 0; if (check) recreate = map_style_set(); - if (map_style == MAP_ARRAY && map_tag_max > map_maxarray) recreate = 1; - else if (map_style == MAP_HASH && nlocal+nghost > map_nhash) recreate = 1; + if (map_style == MAP_ARRAY && map_tag_max > map_maxarray) + recreate = 1; + else if (map_style == MAP_HASH && nlocal + nghost > map_nhash) + recreate = 1; // if not recreating: // for array, initialize current map_tag_max values @@ -62,18 +64,18 @@ void AtomKokkos::map_init(int check) for (int i = 0; i < map_nbucket; i++) map_bucket[i] = -1; map_nused = 0; map_free = 0; - for (int i = 0; i < map_nhash; i++) map_hash[i].next = i+1; - if (map_nhash > 0) map_hash[map_nhash-1].next = -1; + for (int i = 0; i < map_nhash; i++) map_hash[i].next = i + 1; + if (map_nhash > 0) map_hash[map_nhash - 1].next = -1; } - // recreating: delete old map and create new one for array or hash + // recreating: delete old map and create new one for array or hash } else { map_delete(); if (map_style == MAP_ARRAY) { map_maxarray = map_tag_max; - memoryKK->create_kokkos(k_map_array,map_array,map_maxarray+1,"atom:map_array"); + memoryKK->create_kokkos(k_map_array, map_array, map_maxarray + 1, "atom:map_array"); for (int i = 0; i <= map_tag_max; i++) map_array[i] = -1; } else { @@ -83,10 +85,10 @@ void AtomKokkos::map_init(int check) // multiply by 2, require at least 1000 // doubling means hash table will need to be re-init only rarely - int nper = static_cast (natoms/comm->nprocs); - map_nhash = MAX(nper,nmax); + int nper = static_cast(natoms / comm->nprocs); + map_nhash = MAX(nper, nmax); map_nhash *= 2; - map_nhash = MAX(map_nhash,1000); + map_nhash = MAX(map_nhash, 1000); // map_nbucket = prime just larger than map_nhash // next_prime() should be fast enough, @@ -104,16 +106,15 @@ void AtomKokkos::map_init(int check) map_hash = new HashElem[map_nhash]; map_nused = 0; map_free = 0; - for (int i = 0; i < map_nhash; i++) map_hash[i].next = i+1; - map_hash[map_nhash-1].next = -1; + for (int i = 0; i < map_nhash; i++) map_hash[i].next = i + 1; + map_hash[map_nhash - 1].next = -1; h_map_hash = host_hash_type(map_nhash); } } k_sametag.modify_host(); - if (map_style == Atom::MAP_ARRAY) - k_map_array.modify_host(); + if (map_style == Atom::MAP_ARRAY) k_map_array.modify_host(); } /* ---------------------------------------------------------------------- @@ -130,11 +131,10 @@ void AtomKokkos::map_set() { int nall = nlocal + nghost; - atomKK->sync(Host,TAG_MASK); + atomKK->sync(Host, TAG_MASK); k_sametag.sync_host(); - if (map_style == Atom::MAP_ARRAY) - k_map_array.sync_host(); + if (map_style == Atom::MAP_ARRAY) k_map_array.sync_host(); if (map_style == MAP_ARRAY) { @@ -143,11 +143,11 @@ void AtomKokkos::map_set() if (nall > max_same) { max_same = nall + EXTRA; - memoryKK->destroy_kokkos(k_sametag,sametag); - memoryKK->create_kokkos(k_sametag,sametag,max_same,"atom:sametag"); + memoryKK->destroy_kokkos(k_sametag, sametag); + memoryKK->create_kokkos(k_sametag, sametag, max_same, "atom:sametag"); } - for (int i = nall-1; i >= 0 ; i--) { + for (int i = nall - 1; i >= 0; i--) { sametag[i] = map_array[tag[i]]; map_array[tag[i]] = i; } @@ -162,14 +162,14 @@ void AtomKokkos::map_set() if (nall > map_nhash) map_init(0); if (nall > max_same) { max_same = nall + EXTRA; - memoryKK->destroy_kokkos(k_sametag,sametag); - memoryKK->create_kokkos(k_sametag,sametag,max_same,"atom:sametag"); + memoryKK->destroy_kokkos(k_sametag, sametag); + memoryKK->create_kokkos(k_sametag, sametag, max_same, "atom:sametag"); } - int previous,ibucket,index; + int previous, ibucket, index; tagint global; - for (int i = nall-1; i >= 0 ; i--) { + for (int i = nall - 1; i >= 0; i--) { sametag[i] = map_find_hash(tag[i]); // search for key @@ -195,8 +195,10 @@ void AtomKokkos::map_set() index = map_free; map_free = map_hash[map_free].next; - if (previous == -1) map_bucket[ibucket] = index; - else map_hash[previous].next = index; + if (previous == -1) + map_bucket[ibucket] = index; + else + map_hash[previous].next = index; map_hash[index].global = global; map_hash[index].local = i; map_hash[index].next = -1; @@ -207,7 +209,7 @@ void AtomKokkos::map_set() h_map_hash.clear(); - for (int i = nall-1; i >= 0 ; i--) { + for (int i = nall - 1; i >= 0; i--) { // search for key // if don't find it, done @@ -225,9 +227,8 @@ void AtomKokkos::map_set() int local = map_hash[index].local; - auto insert_result = h_map_hash.insert(global,local); - if (insert_result.failed()) - error->one(FLERR, "Kokkos::UnorderedMap insertion failed"); + auto insert_result = h_map_hash.insert(global, local); + if (insert_result.failed()) error->one(FLERR, "Kokkos::UnorderedMap insertion failed"); } } @@ -240,16 +241,14 @@ void AtomKokkos::map_set() int device_hash_flag = 0; - auto neighborKK = (NeighborKokkos*) neighbor; + auto neighborKK = (NeighborKokkos *) neighbor; if (neighborKK->device_flag) device_hash_flag = 1; for (int n = 0; n < modify->nfix; n++) - if (utils::strmatch(modify->fix[n]->style,"^shake")) - if (modify->fix[n]->execution_space == Device) - device_hash_flag = 1; + if (utils::strmatch(modify->fix[n]->style, "^shake")) + if (modify->fix[n]->execution_space == Device) device_hash_flag = 1; - if (device_hash_flag) - Kokkos::deep_copy(d_map_hash,h_map_hash); + if (device_hash_flag) Kokkos::deep_copy(d_map_hash, h_map_hash); k_map_hash.h_view = h_map_hash; k_map_hash.d_view = d_map_hash; @@ -262,11 +261,11 @@ void AtomKokkos::map_set() void AtomKokkos::map_delete() { - memoryKK->destroy_kokkos(k_sametag,sametag); + memoryKK->destroy_kokkos(k_sametag, sametag); sametag = nullptr; if (map_style == MAP_ARRAY) { - memoryKK->destroy_kokkos(k_map_array,map_array); + memoryKK->destroy_kokkos(k_map_array, map_array); map_array = nullptr; } else { h_map_hash = host_hash_type(); diff --git a/src/KOKKOS/atom_vec_dpd_kokkos.cpp b/src/KOKKOS/atom_vec_dpd_kokkos.cpp index 4358a49358..e02631f89e 100644 --- a/src/KOKKOS/atom_vec_dpd_kokkos.cpp +++ b/src/KOKKOS/atom_vec_dpd_kokkos.cpp @@ -13,15 +13,15 @@ ------------------------------------------------------------------------- */ #include "atom_vec_dpd_kokkos.h" + #include "atom_kokkos.h" +#include "atom_masks.h" #include "comm_kokkos.h" #include "domain.h" -#include "modify.h" -#include "fix.h" -#include "atom_masks.h" -#include "memory_kokkos.h" #include "error.h" - +#include "fix.h" +#include "memory_kokkos.h" +#include "modify.h" using namespace LAMMPS_NS; diff --git a/src/KOKKOS/atom_vec_full_kokkos.cpp b/src/KOKKOS/atom_vec_full_kokkos.cpp index 45ce316d3f..cd5316cc73 100644 --- a/src/KOKKOS/atom_vec_full_kokkos.cpp +++ b/src/KOKKOS/atom_vec_full_kokkos.cpp @@ -13,15 +13,15 @@ ------------------------------------------------------------------------- */ #include "atom_vec_full_kokkos.h" + #include "atom_kokkos.h" +#include "atom_masks.h" #include "comm_kokkos.h" #include "domain.h" -#include "modify.h" -#include "fix.h" -#include "atom_masks.h" -#include "memory_kokkos.h" #include "error.h" - +#include "fix.h" +#include "memory_kokkos.h" +#include "modify.h" using namespace LAMMPS_NS; From 2d9ea81b948d427e871e7acd6a6720d0ac4c9143 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 10 Jul 2021 23:18:27 -0400 Subject: [PATCH 379/726] fix bug with virial tally in edip/omp --- src/OPENMP/pair_edip_omp.cpp | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/OPENMP/pair_edip_omp.cpp b/src/OPENMP/pair_edip_omp.cpp index a23764f959..49245846cb 100644 --- a/src/OPENMP/pair_edip_omp.cpp +++ b/src/OPENMP/pair_edip_omp.cpp @@ -438,7 +438,7 @@ void PairEDIPOMP::eval(int iifrom, int iito, ThrData * const thr) evdwl = (exp3B_ij * exp3B_ik * potentia3B_factor); - if (evflag) ev_tally3_thr(this,i,j,k,evdwl,0.0,f_ij,f_ik,dr_ij,dr_ik,thr); + if (EVFLAG) ev_tally3_thr(this,i,j,k,evdwl,0.0,f_ij,f_ik,dr_ij,dr_ik,thr); } } @@ -468,11 +468,8 @@ void PairEDIPOMP::eval(int iifrom, int iito, ThrData * const thr) f[j].y += f_ij[1]; f[j].z += f_ij[2]; - // potential energy - - evdwl = 0.0; - if (EVFLAG) ev_tally_thr(this,i, j, nlocal, /* newton_pair */ 1, 0.0, 0.0, - forceModCoord_ij, dr_ij[0], dr_ij[1], dr_ij[2],thr); + if (EVFLAG) ev_tally_thr(this, i, j, nlocal, /* newton_pair */ 1, 0.0, 0.0, + -forceModCoord_ij, dr_ij[0], dr_ij[1], dr_ij[2],thr); } } } From eff03f14935cf409db68252a4e8042151a170da9 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 10 Jul 2021 23:40:30 -0400 Subject: [PATCH 380/726] reformat and use std::numeric_limits::min() instead of DBL_MIN (Posix-only) --- src/OPENMP/pair_edip_omp.cpp | 353 ++++++++++----------- src/USER-MISC/pair_edip.cpp | 581 ++++++++++++++++------------------- 2 files changed, 436 insertions(+), 498 deletions(-) diff --git a/src/OPENMP/pair_edip_omp.cpp b/src/OPENMP/pair_edip_omp.cpp index 49245846cb..da025d75d5 100644 --- a/src/OPENMP/pair_edip_omp.cpp +++ b/src/OPENMP/pair_edip_omp.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -19,22 +18,22 @@ #include "comm.h" #include "neigh_list.h" #include "suffix.h" -using namespace LAMMPS_NS; #include #include "omp_compat.h" -#define GRIDDENSITY 8000 -#define GRIDSTART 0.1 +using namespace LAMMPS_NS; // max number of interaction per atom for f(Z) environment potential static constexpr int leadDimInteractionList = 64; +#define GRIDDENSITY 8000 +#define GRIDSTART 0.1 + /* ---------------------------------------------------------------------- */ -PairEDIPOMP::PairEDIPOMP(LAMMPS *lmp) : - PairEDIP(lmp), ThrOMP(lmp, THR_PAIR) +PairEDIPOMP::PairEDIPOMP(LAMMPS *lmp) : PairEDIP(lmp), ThrOMP(lmp, THR_PAIR) { suffix_flag |= Suffix::OMP; respa_enable = 0; @@ -44,14 +43,14 @@ PairEDIPOMP::PairEDIPOMP(LAMMPS *lmp) : void PairEDIPOMP::compute(int eflag, int vflag) { - ev_init(eflag,vflag); + ev_init(eflag, vflag); const int nall = atom->nlocal + atom->nghost; const int nthreads = comm->nthreads; const int inum = list->inum; #if defined(_OPENMP) -#pragma omp parallel LMP_DEFAULT_NONE LMP_SHARED(eflag,vflag) +#pragma omp parallel LMP_DEFAULT_NONE LMP_SHARED(eflag, vflag) #endif { int ifrom, ito, tid; @@ -63,26 +62,31 @@ void PairEDIPOMP::compute(int eflag, int vflag) if (evflag) { if (eflag) { - if (vflag_atom) eval<1,1,1>(ifrom, ito, thr); - else eval<1,1,0>(ifrom, ito, thr); + if (vflag_atom) + eval<1, 1, 1>(ifrom, ito, thr); + else + eval<1, 1, 0>(ifrom, ito, thr); } else { - if (vflag_atom) eval<1,0,1>(ifrom, ito, thr); - else eval<1,0,0>(ifrom, ito, thr); + if (vflag_atom) + eval<1, 0, 1>(ifrom, ito, thr); + else + eval<1, 0, 0>(ifrom, ito, thr); } - } else eval<0,0,0>(ifrom, ito, thr); + } else + eval<0, 0, 0>(ifrom, ito, thr); thr->timer(Timer::PAIR); reduce_thr(this, eflag, vflag, thr); - } // end of omp parallel region + } // end of omp parallel region } template -void PairEDIPOMP::eval(int iifrom, int iito, ThrData * const thr) +void PairEDIPOMP::eval(int iifrom, int iito, ThrData *const thr) { - int i,j,k,ii,jnum; - int itype,jtype,ktype,ijparam,ikparam; - double xtmp,ytmp,ztmp,evdwl; - int *ilist,*jlist,*numneigh,**firstneigh; + int i, j, k, ii, jnum; + int itype, jtype, ktype, ijparam, ikparam; + double xtmp, ytmp, ztmp, evdwl; + int *ilist, *jlist, *numneigh, **firstneigh; int preForceCoord_counter; double invR_ij; @@ -147,9 +151,9 @@ void PairEDIPOMP::eval(int iifrom, int iito, ThrData * const thr) double *pre_thrPow2B_ij = prePow2B_ij + tid * leadDimInteractionList; double *pre_thrForceCoord = preForceCoord + tid * leadDimInteractionList; - const dbl3_t * _noalias const x = (dbl3_t *) atom->x[0]; - dbl3_t * _noalias const f = (dbl3_t *) thr->get_f()[0]; - const int * _noalias const type = atom->type; + const dbl3_t *_noalias const x = (dbl3_t *) atom->x[0]; + dbl3_t *_noalias const f = (dbl3_t *) thr->get_f()[0]; + const int *_noalias const type = atom->type; const int nlocal = atom->nlocal; ilist = list->ilist; @@ -174,86 +178,82 @@ void PairEDIPOMP::eval(int iifrom, int iito, ThrData * const thr) // pre-loop to compute environment coordination f(Z) for (int neighbor_j = 0; neighbor_j < jnum; neighbor_j++) { - j = jlist[neighbor_j]; - j &= NEIGHMASK; + j = jlist[neighbor_j]; + j &= NEIGHMASK; - double dr_ij[3], r_ij; + double dr_ij[3], r_ij; - dr_ij[0] = xtmp - x[j].x; - dr_ij[1] = ytmp - x[j].y; - dr_ij[2] = ztmp - x[j].z; - r_ij = dr_ij[0]*dr_ij[0] + dr_ij[1]*dr_ij[1] + dr_ij[2]*dr_ij[2]; + dr_ij[0] = xtmp - x[j].x; + dr_ij[1] = ytmp - x[j].y; + dr_ij[2] = ztmp - x[j].z; + r_ij = dr_ij[0] * dr_ij[0] + dr_ij[1] * dr_ij[1] + dr_ij[2] * dr_ij[2]; - jtype = map[type[j]]; - ijparam = elem3param[itype][jtype][jtype]; - if (r_ij > params[ijparam].cutsq) continue; + jtype = map[type[j]]; + ijparam = elem3param[itype][jtype][jtype]; + if (r_ij > params[ijparam].cutsq) continue; - r_ij = sqrt(r_ij); + r_ij = sqrt(r_ij); - invR_ij = 1.0 / r_ij; - pre_thrInvR_ij[neighbor_j] = invR_ij; + invR_ij = 1.0 / r_ij; + pre_thrInvR_ij[neighbor_j] = invR_ij; - invRMinusCutoffA = 1.0 / (r_ij - cutoffA); - sigmaInvRMinusCutoffA = sigma * invRMinusCutoffA; - gammInvRMinusCutoffA = gamm * invRMinusCutoffA; + invRMinusCutoffA = 1.0 / (r_ij - cutoffA); + sigmaInvRMinusCutoffA = sigma * invRMinusCutoffA; + gammInvRMinusCutoffA = gamm * invRMinusCutoffA; - interpolDeltaX = r_ij - GRIDSTART; - interpolTMP = (interpolDeltaX * GRIDDENSITY); - interpolIDX = (int) interpolTMP; + interpolDeltaX = r_ij - GRIDSTART; + interpolTMP = (interpolDeltaX * GRIDDENSITY); + interpolIDX = (int) interpolTMP; - interpolY1 = exp3B[interpolIDX]; - interpolY2 = exp3B[interpolIDX+1]; - exp3B_ij = interpolY1 + (interpolY2 - interpolY1) * - (interpolTMP-interpolIDX); + interpolY1 = exp3B[interpolIDX]; + interpolY2 = exp3B[interpolIDX + 1]; + exp3B_ij = interpolY1 + (interpolY2 - interpolY1) * (interpolTMP - interpolIDX); - exp3BDerived_ij = - exp3B_ij * gammInvRMinusCutoffA * invRMinusCutoffA; + exp3BDerived_ij = -exp3B_ij * gammInvRMinusCutoffA * invRMinusCutoffA; - pre_thrExp3B_ij[neighbor_j] = exp3B_ij; - pre_thrExp3BDerived_ij[neighbor_j] = exp3BDerived_ij; + pre_thrExp3B_ij[neighbor_j] = exp3B_ij; + pre_thrExp3BDerived_ij[neighbor_j] = exp3BDerived_ij; - interpolY1 = exp2B[interpolIDX]; - interpolY2 = exp2B[interpolIDX+1]; - exp2B_ij = interpolY1 + (interpolY2 - interpolY1) * - (interpolTMP-interpolIDX); + interpolY1 = exp2B[interpolIDX]; + interpolY2 = exp2B[interpolIDX + 1]; + exp2B_ij = interpolY1 + (interpolY2 - interpolY1) * (interpolTMP - interpolIDX); - exp2BDerived_ij = - exp2B_ij * sigmaInvRMinusCutoffA * invRMinusCutoffA; + exp2BDerived_ij = -exp2B_ij * sigmaInvRMinusCutoffA * invRMinusCutoffA; - pre_thrExp2B_ij[neighbor_j] = exp2B_ij; - pre_thrExp2BDerived_ij[neighbor_j] = exp2BDerived_ij; + pre_thrExp2B_ij[neighbor_j] = exp2B_ij; + pre_thrExp2BDerived_ij[neighbor_j] = exp2BDerived_ij; - interpolY1 = pow2B[interpolIDX]; - interpolY2 = pow2B[interpolIDX+1]; - pow2B_ij = interpolY1 + (interpolY2 - interpolY1) * - (interpolTMP-interpolIDX); + interpolY1 = pow2B[interpolIDX]; + interpolY2 = pow2B[interpolIDX + 1]; + pow2B_ij = interpolY1 + (interpolY2 - interpolY1) * (interpolTMP - interpolIDX); - pre_thrPow2B_ij[neighbor_j] = pow2B_ij; + pre_thrPow2B_ij[neighbor_j] = pow2B_ij; - // zeta and its derivative + // zeta and its derivative - if (r_ij < cutoffC) zeta_i += 1.0; - else { - interpolY1 = cutoffFunction[interpolIDX]; - interpolY2 = cutoffFunction[interpolIDX+1]; - cutoffFunction_ij = interpolY1 + (interpolY2 - interpolY1) * - (interpolTMP-interpolIDX); + if (r_ij < cutoffC) + zeta_i += 1.0; + else { + interpolY1 = cutoffFunction[interpolIDX]; + interpolY2 = cutoffFunction[interpolIDX + 1]; + cutoffFunction_ij = interpolY1 + (interpolY2 - interpolY1) * (interpolTMP - interpolIDX); - zeta_i += cutoffFunction_ij; + zeta_i += cutoffFunction_ij; - interpolY1 = cutoffFunctionDerived[interpolIDX]; - interpolY2 = cutoffFunctionDerived[interpolIDX+1]; - zeta_iDerived = interpolY1 + (interpolY2 - interpolY1) * - (interpolTMP-interpolIDX); + interpolY1 = cutoffFunctionDerived[interpolIDX]; + interpolY2 = cutoffFunctionDerived[interpolIDX + 1]; + zeta_iDerived = interpolY1 + (interpolY2 - interpolY1) * (interpolTMP - interpolIDX); - zeta_iDerivedInvR_ij = zeta_iDerived * invR_ij; + zeta_iDerivedInvR_ij = zeta_iDerived * invR_ij; - preForceCoord_counter=numForceCoordPairs*5; - pre_thrForceCoord[preForceCoord_counter+0]=zeta_iDerivedInvR_ij; - pre_thrForceCoord[preForceCoord_counter+1]=dr_ij[0]; - pre_thrForceCoord[preForceCoord_counter+2]=dr_ij[1]; - pre_thrForceCoord[preForceCoord_counter+3]=dr_ij[2]; - pre_thrForceCoord[preForceCoord_counter+4]=j; - numForceCoordPairs++; - } + preForceCoord_counter = numForceCoordPairs * 5; + pre_thrForceCoord[preForceCoord_counter + 0] = zeta_iDerivedInvR_ij; + pre_thrForceCoord[preForceCoord_counter + 1] = dr_ij[0]; + pre_thrForceCoord[preForceCoord_counter + 2] = dr_ij[1]; + pre_thrForceCoord[preForceCoord_counter + 3] = dr_ij[2]; + pre_thrForceCoord[preForceCoord_counter + 4] = j; + numForceCoordPairs++; + } } // quantities depending on zeta_i @@ -263,24 +263,20 @@ void PairEDIPOMP::eval(int iifrom, int iito, ThrData * const thr) interpolIDX = (int) interpolTMP; interpolY1 = expMinusBetaZeta_iZeta_iGrid[interpolIDX]; - interpolY2 = expMinusBetaZeta_iZeta_iGrid[interpolIDX+1]; - expMinusBetaZeta_iZeta_i = interpolY1 + (interpolY2 - interpolY1) * - (interpolTMP-interpolIDX); + interpolY2 = expMinusBetaZeta_iZeta_iGrid[interpolIDX + 1]; + expMinusBetaZeta_iZeta_i = interpolY1 + (interpolY2 - interpolY1) * (interpolTMP - interpolIDX); interpolY1 = qFunctionGrid[interpolIDX]; - interpolY2 = qFunctionGrid[interpolIDX+1]; - qFunction = interpolY1 + (interpolY2 - interpolY1) * - (interpolTMP-interpolIDX); + interpolY2 = qFunctionGrid[interpolIDX + 1]; + qFunction = interpolY1 + (interpolY2 - interpolY1) * (interpolTMP - interpolIDX); interpolY1 = tauFunctionGrid[interpolIDX]; - interpolY2 = tauFunctionGrid[interpolIDX+1]; - tauFunction = interpolY1 + (interpolY2 - interpolY1) * - (interpolTMP-interpolIDX); + interpolY2 = tauFunctionGrid[interpolIDX + 1]; + tauFunction = interpolY1 + (interpolY2 - interpolY1) * (interpolTMP - interpolIDX); interpolY1 = tauFunctionDerivedGrid[interpolIDX]; - interpolY2 = tauFunctionDerivedGrid[interpolIDX+1]; - tauFunctionDerived = interpolY1 + (interpolY2 - interpolY1) * - (interpolTMP-interpolIDX); + interpolY2 = tauFunctionDerivedGrid[interpolIDX + 1]; + tauFunctionDerived = interpolY1 + (interpolY2 - interpolY1) * (interpolTMP - interpolIDX); forceModCoord_factor = 2.0 * beta * zeta_i * expMinusBetaZeta_iZeta_i; @@ -297,7 +293,7 @@ void PairEDIPOMP::eval(int iifrom, int iito, ThrData * const thr) dr_ij[0] = x[j].x - xtmp; dr_ij[1] = x[j].y - ytmp; dr_ij[2] = x[j].z - ztmp; - r_ij = dr_ij[0]*dr_ij[0] + dr_ij[1]*dr_ij[1] + dr_ij[2]*dr_ij[2]; + r_ij = dr_ij[0] * dr_ij[0] + dr_ij[1] * dr_ij[1] + dr_ij[2] * dr_ij[2]; jtype = map[type[j]]; ijparam = elem3param[itype][jtype][jtype]; @@ -312,13 +308,12 @@ void PairEDIPOMP::eval(int iifrom, int iito, ThrData * const thr) exp2B_ij = pre_thrExp2B_ij[neighbor_j]; - pow2BDerived_ij = - rho * invR_ij * pow2B_ij; + pow2BDerived_ij = -rho * invR_ij * pow2B_ij; - forceModCoord += (forceModCoord_factor*exp2B_ij); + forceModCoord += (forceModCoord_factor * exp2B_ij); exp2BDerived_ij = pre_thrExp2BDerived_ij[neighbor_j]; - forceMod2B = exp2BDerived_ij * potential2B_factor + - exp2B_ij * pow2BDerived_ij; + forceMod2B = exp2BDerived_ij * potential2B_factor + exp2B_ij * pow2BDerived_ij; directorCos_ij_x = invR_ij * dr_ij[0]; directorCos_ij_y = invR_ij * dr_ij[1]; @@ -343,133 +338,123 @@ void PairEDIPOMP::eval(int iifrom, int iito, ThrData * const thr) evdwl = (exp2B_ij * potential2B_factor); - if (EVFLAG) ev_tally_thr(this,i, j, nlocal, /* newton_pair */ 1, evdwl, 0.0, - -forceMod2B*invR_ij, dr_ij[0], dr_ij[1], dr_ij[2],thr); + if (EVFLAG) + ev_tally_thr(this, i, j, nlocal, /* newton_pair */ 1, evdwl, 0.0, -forceMod2B * invR_ij, + dr_ij[0], dr_ij[1], dr_ij[2], thr); // three-body Forces for (int neighbor_k = neighbor_j + 1; neighbor_k < jnum; neighbor_k++) { - double dr_ik[3], r_ik, f_ik[3]; + double dr_ik[3], r_ik, f_ik[3]; - k = jlist[neighbor_k]; - k &= NEIGHMASK; - ktype = map[type[k]]; - ikparam = elem3param[itype][ktype][ktype]; + k = jlist[neighbor_k]; + k &= NEIGHMASK; + ktype = map[type[k]]; + ikparam = elem3param[itype][ktype][ktype]; - dr_ik[0] = x[k].x - xtmp; - dr_ik[1] = x[k].y - ytmp; - dr_ik[2] = x[k].z - ztmp; - r_ik = dr_ik[0]*dr_ik[0] + dr_ik[1]*dr_ik[1] + dr_ik[2]*dr_ik[2]; + dr_ik[0] = x[k].x - xtmp; + dr_ik[1] = x[k].y - ytmp; + dr_ik[2] = x[k].z - ztmp; + r_ik = dr_ik[0] * dr_ik[0] + dr_ik[1] * dr_ik[1] + dr_ik[2] * dr_ik[2]; - if (r_ik > params[ikparam].cutsq) continue; + if (r_ik > params[ikparam].cutsq) continue; - r_ik = sqrt(r_ik); + r_ik = sqrt(r_ik); - invR_ik = pre_thrInvR_ij[neighbor_k]; + invR_ik = pre_thrInvR_ij[neighbor_k]; - directorCos_ik_x = invR_ik * dr_ik[0]; - directorCos_ik_y = invR_ik * dr_ik[1]; - directorCos_ik_z = invR_ik * dr_ik[2]; + directorCos_ik_x = invR_ik * dr_ik[0]; + directorCos_ik_y = invR_ik * dr_ik[1]; + directorCos_ik_z = invR_ik * dr_ik[2]; - cosTeta = directorCos_ij_x * directorCos_ik_x + - directorCos_ij_y * directorCos_ik_y + + cosTeta = directorCos_ij_x * directorCos_ik_x + directorCos_ij_y * directorCos_ik_y + directorCos_ij_z * directorCos_ik_z; - cosTetaDiff = cosTeta + tauFunction; - cosTetaDiffCosTetaDiff = cosTetaDiff * cosTetaDiff; - qFunctionCosTetaDiffCosTetaDiff = cosTetaDiffCosTetaDiff * qFunction; - expMinusQFunctionCosTetaDiffCosTetaDiff = - exp(-qFunctionCosTetaDiffCosTetaDiff); + cosTetaDiff = cosTeta + tauFunction; + cosTetaDiffCosTetaDiff = cosTetaDiff * cosTetaDiff; + qFunctionCosTetaDiffCosTetaDiff = cosTetaDiffCosTetaDiff * qFunction; + expMinusQFunctionCosTetaDiffCosTetaDiff = exp(-qFunctionCosTetaDiffCosTetaDiff); - potentia3B_factor = lambda * + potentia3B_factor = lambda * ((1.0 - expMinusQFunctionCosTetaDiffCosTetaDiff) + eta * qFunctionCosTetaDiffCosTetaDiff); - exp3B_ik = pre_thrExp3B_ij[neighbor_k]; - exp3BDerived_ik = pre_thrExp3BDerived_ij[neighbor_k]; + exp3B_ik = pre_thrExp3B_ij[neighbor_k]; + exp3BDerived_ik = pre_thrExp3BDerived_ij[neighbor_k]; - forceMod3B_factor1_ij = - exp3BDerived_ij * exp3B_ik * - potentia3B_factor; - forceMod3B_factor2 = 2.0 * lambda * exp3B_ij * exp3B_ik * - qFunction * cosTetaDiff * + forceMod3B_factor1_ij = -exp3BDerived_ij * exp3B_ik * potentia3B_factor; + forceMod3B_factor2 = 2.0 * lambda * exp3B_ij * exp3B_ik * qFunction * cosTetaDiff * (eta + expMinusQFunctionCosTetaDiffCosTetaDiff); - forceMod3B_factor2_ij = forceMod3B_factor2 * invR_ij; + forceMod3B_factor2_ij = forceMod3B_factor2 * invR_ij; - f_ij[0] = forceMod3B_factor1_ij * directorCos_ij_x + - forceMod3B_factor2_ij * - (cosTeta * directorCos_ij_x - directorCos_ik_x); - f_ij[1] = forceMod3B_factor1_ij * directorCos_ij_y + - forceMod3B_factor2_ij * - (cosTeta * directorCos_ij_y - directorCos_ik_y); - f_ij[2] = forceMod3B_factor1_ij * directorCos_ij_z + - forceMod3B_factor2_ij * - (cosTeta * directorCos_ij_z - directorCos_ik_z); + f_ij[0] = forceMod3B_factor1_ij * directorCos_ij_x + + forceMod3B_factor2_ij * (cosTeta * directorCos_ij_x - directorCos_ik_x); + f_ij[1] = forceMod3B_factor1_ij * directorCos_ij_y + + forceMod3B_factor2_ij * (cosTeta * directorCos_ij_y - directorCos_ik_y); + f_ij[2] = forceMod3B_factor1_ij * directorCos_ij_z + + forceMod3B_factor2_ij * (cosTeta * directorCos_ij_z - directorCos_ik_z); - forceMod3B_factor1_ik = - exp3BDerived_ik * exp3B_ij * - potentia3B_factor; - forceMod3B_factor2_ik = forceMod3B_factor2 * invR_ik; + forceMod3B_factor1_ik = -exp3BDerived_ik * exp3B_ij * potentia3B_factor; + forceMod3B_factor2_ik = forceMod3B_factor2 * invR_ik; - f_ik[0] = forceMod3B_factor1_ik * directorCos_ik_x + - forceMod3B_factor2_ik * - (cosTeta * directorCos_ik_x - directorCos_ij_x); - f_ik[1] = forceMod3B_factor1_ik * directorCos_ik_y + - forceMod3B_factor2_ik * - (cosTeta * directorCos_ik_y - directorCos_ij_y); - f_ik[2] = forceMod3B_factor1_ik * directorCos_ik_z + - forceMod3B_factor2_ik * - (cosTeta * directorCos_ik_z - directorCos_ij_z); + f_ik[0] = forceMod3B_factor1_ik * directorCos_ik_x + + forceMod3B_factor2_ik * (cosTeta * directorCos_ik_x - directorCos_ij_x); + f_ik[1] = forceMod3B_factor1_ik * directorCos_ik_y + + forceMod3B_factor2_ik * (cosTeta * directorCos_ik_y - directorCos_ij_y); + f_ik[2] = forceMod3B_factor1_ik * directorCos_ik_z + + forceMod3B_factor2_ik * (cosTeta * directorCos_ik_z - directorCos_ij_z); - forceModCoord += (forceMod3B_factor2 * - (tauFunctionDerived - 0.5 * mu * cosTetaDiff)); + forceModCoord += (forceMod3B_factor2 * (tauFunctionDerived - 0.5 * mu * cosTetaDiff)); - f[j].x += f_ij[0]; - f[j].y += f_ij[1]; - f[j].z += f_ij[2]; + f[j].x += f_ij[0]; + f[j].y += f_ij[1]; + f[j].z += f_ij[2]; - f[k].x += f_ik[0]; - f[k].y += f_ik[1]; - f[k].z += f_ik[2]; + f[k].x += f_ik[0]; + f[k].y += f_ik[1]; + f[k].z += f_ik[2]; - f[i].x -= f_ij[0] + f_ik[0]; - f[i].y -= f_ij[1] + f_ik[1]; - f[i].z -= f_ij[2] + f_ik[2]; + f[i].x -= f_ij[0] + f_ik[0]; + f[i].y -= f_ij[1] + f_ik[1]; + f[i].z -= f_ij[2] + f_ik[2]; - // potential energy + // potential energy - evdwl = (exp3B_ij * exp3B_ik * potentia3B_factor); + evdwl = (exp3B_ij * exp3B_ik * potentia3B_factor); - if (EVFLAG) ev_tally3_thr(this,i,j,k,evdwl,0.0,f_ij,f_ik,dr_ij,dr_ik,thr); + if (EVFLAG) ev_tally3_thr(this, i, j, k, evdwl, 0.0, f_ij, f_ik, dr_ij, dr_ik, thr); } } // forces due to environment coordination f(Z) for (int idx = 0; idx < numForceCoordPairs; idx++) { - double dr_ij[3], f_ij[3]; + double dr_ij[3], f_ij[3]; - preForceCoord_counter = idx * 5; - zeta_iDerivedInvR_ij=pre_thrForceCoord[preForceCoord_counter+0]; - dr_ij[0]=pre_thrForceCoord[preForceCoord_counter+1]; - dr_ij[1]=pre_thrForceCoord[preForceCoord_counter+2]; - dr_ij[2]=pre_thrForceCoord[preForceCoord_counter+3]; - j = static_cast (pre_thrForceCoord[preForceCoord_counter+4]); + preForceCoord_counter = idx * 5; + zeta_iDerivedInvR_ij = pre_thrForceCoord[preForceCoord_counter + 0]; + dr_ij[0] = pre_thrForceCoord[preForceCoord_counter + 1]; + dr_ij[1] = pre_thrForceCoord[preForceCoord_counter + 2]; + dr_ij[2] = pre_thrForceCoord[preForceCoord_counter + 3]; + j = static_cast(pre_thrForceCoord[preForceCoord_counter + 4]); - forceModCoord_ij = forceModCoord * zeta_iDerivedInvR_ij; + forceModCoord_ij = forceModCoord * zeta_iDerivedInvR_ij; - f_ij[0] = forceModCoord_ij * dr_ij[0]; - f_ij[1] = forceModCoord_ij * dr_ij[1]; - f_ij[2] = forceModCoord_ij * dr_ij[2]; + f_ij[0] = forceModCoord_ij * dr_ij[0]; + f_ij[1] = forceModCoord_ij * dr_ij[1]; + f_ij[2] = forceModCoord_ij * dr_ij[2]; - f[i].x -= f_ij[0]; - f[i].y -= f_ij[1]; - f[i].z -= f_ij[2]; + f[i].x -= f_ij[0]; + f[i].y -= f_ij[1]; + f[i].z -= f_ij[2]; - f[j].x += f_ij[0]; - f[j].y += f_ij[1]; - f[j].z += f_ij[2]; + f[j].x += f_ij[0]; + f[j].y += f_ij[1]; + f[j].z += f_ij[2]; - if (EVFLAG) ev_tally_thr(this, i, j, nlocal, /* newton_pair */ 1, 0.0, 0.0, - -forceModCoord_ij, dr_ij[0], dr_ij[1], dr_ij[2],thr); + if (EVFLAG) + ev_tally_thr(this, i, j, nlocal, /* newton_pair */ 1, 0.0, 0.0, -forceModCoord_ij, dr_ij[0], + dr_ij[1], dr_ij[2], thr); } } } diff --git a/src/USER-MISC/pair_edip.cpp b/src/USER-MISC/pair_edip.cpp index 3f80609853..1624d7c908 100644 --- a/src/USER-MISC/pair_edip.cpp +++ b/src/USER-MISC/pair_edip.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -34,8 +33,8 @@ #include "neighbor.h" #include -#include #include +#include using namespace LAMMPS_NS; @@ -52,12 +51,11 @@ static constexpr int leadDimInteractionList = 64; /* ---------------------------------------------------------------------- */ PairEDIP::PairEDIP(LAMMPS *lmp) : - Pair(lmp), preInvR_ij(nullptr), preExp3B_ij(nullptr), preExp3BDerived_ij(nullptr), - preExp2B_ij(nullptr), preExp2BDerived_ij(nullptr), prePow2B_ij(nullptr), - preForceCoord(nullptr), cutoffFunction(nullptr), cutoffFunctionDerived(nullptr), - pow2B(nullptr), exp2B(nullptr), exp3B(nullptr), qFunctionGrid(nullptr), - expMinusBetaZeta_iZeta_iGrid(nullptr), tauFunctionGrid(nullptr), - tauFunctionDerivedGrid(nullptr) + Pair(lmp), preInvR_ij(nullptr), preExp3B_ij(nullptr), preExp3BDerived_ij(nullptr), + preExp2B_ij(nullptr), preExp2BDerived_ij(nullptr), prePow2B_ij(nullptr), preForceCoord(nullptr), + cutoffFunction(nullptr), cutoffFunctionDerived(nullptr), pow2B(nullptr), exp2B(nullptr), + exp3B(nullptr), qFunctionGrid(nullptr), expMinusBetaZeta_iZeta_iGrid(nullptr), + tauFunctionGrid(nullptr), tauFunctionDerivedGrid(nullptr) { single_enable = 0; restartinfo = 0; @@ -90,10 +88,10 @@ PairEDIP::~PairEDIP() void PairEDIP::compute(int eflag, int vflag) { - int i,j,k,ii,inum,jnum; - int itype,jtype,ktype,ijparam,ikparam; - double xtmp,ytmp,ztmp,evdwl; - int *ilist,*jlist,*numneigh,**firstneigh; + int i, j, k, ii, inum, jnum; + int itype, jtype, ktype, ijparam, ikparam; + double xtmp, ytmp, ztmp, evdwl; + int *ilist, *jlist, *numneigh, **firstneigh; int preForceCoord_counter; double invR_ij; @@ -149,7 +147,7 @@ void PairEDIP::compute(int eflag, int vflag) double potential2B_factor; evdwl = 0.0; - ev_init(eflag,vflag); + ev_init(eflag, vflag); double **x = atom->x; double **f = atom->f; @@ -180,86 +178,82 @@ void PairEDIP::compute(int eflag, int vflag) // pre-loop to compute environment coordination f(Z) for (int neighbor_j = 0; neighbor_j < jnum; neighbor_j++) { - j = jlist[neighbor_j]; - j &= NEIGHMASK; + j = jlist[neighbor_j]; + j &= NEIGHMASK; - double dr_ij[3], r_ij; + double dr_ij[3], r_ij; - dr_ij[0] = xtmp - x[j][0]; - dr_ij[1] = ytmp - x[j][1]; - dr_ij[2] = ztmp - x[j][2]; - r_ij = dr_ij[0]*dr_ij[0] + dr_ij[1]*dr_ij[1] + dr_ij[2]*dr_ij[2]; + dr_ij[0] = xtmp - x[j][0]; + dr_ij[1] = ytmp - x[j][1]; + dr_ij[2] = ztmp - x[j][2]; + r_ij = dr_ij[0] * dr_ij[0] + dr_ij[1] * dr_ij[1] + dr_ij[2] * dr_ij[2]; - jtype = map[type[j]]; - ijparam = elem3param[itype][jtype][jtype]; - if (r_ij > params[ijparam].cutsq) continue; + jtype = map[type[j]]; + ijparam = elem3param[itype][jtype][jtype]; + if (r_ij > params[ijparam].cutsq) continue; - r_ij = sqrt(r_ij); + r_ij = sqrt(r_ij); - invR_ij = 1.0 / r_ij; - preInvR_ij[neighbor_j] = invR_ij; + invR_ij = 1.0 / r_ij; + preInvR_ij[neighbor_j] = invR_ij; - invRMinusCutoffA = 1.0 / (r_ij - cutoffA); - sigmaInvRMinusCutoffA = sigma * invRMinusCutoffA; - gammInvRMinusCutoffA = gamm * invRMinusCutoffA; + invRMinusCutoffA = 1.0 / (r_ij - cutoffA); + sigmaInvRMinusCutoffA = sigma * invRMinusCutoffA; + gammInvRMinusCutoffA = gamm * invRMinusCutoffA; - interpolDeltaX = r_ij - GRIDSTART; - interpolTMP = (interpolDeltaX * GRIDDENSITY); - interpolIDX = (int) interpolTMP; + interpolDeltaX = r_ij - GRIDSTART; + interpolTMP = (interpolDeltaX * GRIDDENSITY); + interpolIDX = (int) interpolTMP; - interpolY1 = exp3B[interpolIDX]; - interpolY2 = exp3B[interpolIDX+1]; - exp3B_ij = interpolY1 + (interpolY2 - interpolY1) * - (interpolTMP-interpolIDX); + interpolY1 = exp3B[interpolIDX]; + interpolY2 = exp3B[interpolIDX + 1]; + exp3B_ij = interpolY1 + (interpolY2 - interpolY1) * (interpolTMP - interpolIDX); - exp3BDerived_ij = - exp3B_ij * gammInvRMinusCutoffA * invRMinusCutoffA; + exp3BDerived_ij = -exp3B_ij * gammInvRMinusCutoffA * invRMinusCutoffA; - preExp3B_ij[neighbor_j] = exp3B_ij; - preExp3BDerived_ij[neighbor_j] = exp3BDerived_ij; + preExp3B_ij[neighbor_j] = exp3B_ij; + preExp3BDerived_ij[neighbor_j] = exp3BDerived_ij; - interpolY1 = exp2B[interpolIDX]; - interpolY2 = exp2B[interpolIDX+1]; - exp2B_ij = interpolY1 + (interpolY2 - interpolY1) * - (interpolTMP-interpolIDX); + interpolY1 = exp2B[interpolIDX]; + interpolY2 = exp2B[interpolIDX + 1]; + exp2B_ij = interpolY1 + (interpolY2 - interpolY1) * (interpolTMP - interpolIDX); - exp2BDerived_ij = - exp2B_ij * sigmaInvRMinusCutoffA * invRMinusCutoffA; + exp2BDerived_ij = -exp2B_ij * sigmaInvRMinusCutoffA * invRMinusCutoffA; - preExp2B_ij[neighbor_j] = exp2B_ij; - preExp2BDerived_ij[neighbor_j] = exp2BDerived_ij; + preExp2B_ij[neighbor_j] = exp2B_ij; + preExp2BDerived_ij[neighbor_j] = exp2BDerived_ij; - interpolY1 = pow2B[interpolIDX]; - interpolY2 = pow2B[interpolIDX+1]; - pow2B_ij = interpolY1 + (interpolY2 - interpolY1) * - (interpolTMP-interpolIDX); + interpolY1 = pow2B[interpolIDX]; + interpolY2 = pow2B[interpolIDX + 1]; + pow2B_ij = interpolY1 + (interpolY2 - interpolY1) * (interpolTMP - interpolIDX); - prePow2B_ij[neighbor_j] = pow2B_ij; + prePow2B_ij[neighbor_j] = pow2B_ij; - // zeta and its derivative + // zeta and its derivative - if (r_ij < cutoffC) zeta_i += 1.0; - else { - interpolY1 = cutoffFunction[interpolIDX]; - interpolY2 = cutoffFunction[interpolIDX+1]; - cutoffFunction_ij = interpolY1 + (interpolY2 - interpolY1) * - (interpolTMP-interpolIDX); + if (r_ij < cutoffC) + zeta_i += 1.0; + else { + interpolY1 = cutoffFunction[interpolIDX]; + interpolY2 = cutoffFunction[interpolIDX + 1]; + cutoffFunction_ij = interpolY1 + (interpolY2 - interpolY1) * (interpolTMP - interpolIDX); - zeta_i += cutoffFunction_ij; + zeta_i += cutoffFunction_ij; - interpolY1 = cutoffFunctionDerived[interpolIDX]; - interpolY2 = cutoffFunctionDerived[interpolIDX+1]; - zeta_iDerived = interpolY1 + (interpolY2 - interpolY1) * - (interpolTMP-interpolIDX); + interpolY1 = cutoffFunctionDerived[interpolIDX]; + interpolY2 = cutoffFunctionDerived[interpolIDX + 1]; + zeta_iDerived = interpolY1 + (interpolY2 - interpolY1) * (interpolTMP - interpolIDX); - zeta_iDerivedInvR_ij = zeta_iDerived * invR_ij; + zeta_iDerivedInvR_ij = zeta_iDerived * invR_ij; - preForceCoord_counter=numForceCoordPairs*5; - preForceCoord[preForceCoord_counter+0]=zeta_iDerivedInvR_ij; - preForceCoord[preForceCoord_counter+1]=dr_ij[0]; - preForceCoord[preForceCoord_counter+2]=dr_ij[1]; - preForceCoord[preForceCoord_counter+3]=dr_ij[2]; - preForceCoord[preForceCoord_counter+4]=j; - numForceCoordPairs++; - } + preForceCoord_counter = numForceCoordPairs * 5; + preForceCoord[preForceCoord_counter + 0] = zeta_iDerivedInvR_ij; + preForceCoord[preForceCoord_counter + 1] = dr_ij[0]; + preForceCoord[preForceCoord_counter + 2] = dr_ij[1]; + preForceCoord[preForceCoord_counter + 3] = dr_ij[2]; + preForceCoord[preForceCoord_counter + 4] = j; + numForceCoordPairs++; + } } // quantities depending on zeta_i @@ -269,24 +263,20 @@ void PairEDIP::compute(int eflag, int vflag) interpolIDX = (int) interpolTMP; interpolY1 = expMinusBetaZeta_iZeta_iGrid[interpolIDX]; - interpolY2 = expMinusBetaZeta_iZeta_iGrid[interpolIDX+1]; - expMinusBetaZeta_iZeta_i = interpolY1 + (interpolY2 - interpolY1) * - (interpolTMP-interpolIDX); + interpolY2 = expMinusBetaZeta_iZeta_iGrid[interpolIDX + 1]; + expMinusBetaZeta_iZeta_i = interpolY1 + (interpolY2 - interpolY1) * (interpolTMP - interpolIDX); interpolY1 = qFunctionGrid[interpolIDX]; - interpolY2 = qFunctionGrid[interpolIDX+1]; - qFunction = interpolY1 + (interpolY2 - interpolY1) * - (interpolTMP-interpolIDX); + interpolY2 = qFunctionGrid[interpolIDX + 1]; + qFunction = interpolY1 + (interpolY2 - interpolY1) * (interpolTMP - interpolIDX); interpolY1 = tauFunctionGrid[interpolIDX]; - interpolY2 = tauFunctionGrid[interpolIDX+1]; - tauFunction = interpolY1 + (interpolY2 - interpolY1) * - (interpolTMP-interpolIDX); + interpolY2 = tauFunctionGrid[interpolIDX + 1]; + tauFunction = interpolY1 + (interpolY2 - interpolY1) * (interpolTMP - interpolIDX); interpolY1 = tauFunctionDerivedGrid[interpolIDX]; - interpolY2 = tauFunctionDerivedGrid[interpolIDX+1]; - tauFunctionDerived = interpolY1 + (interpolY2 - interpolY1) * - (interpolTMP-interpolIDX); + interpolY2 = tauFunctionDerivedGrid[interpolIDX + 1]; + tauFunctionDerived = interpolY1 + (interpolY2 - interpolY1) * (interpolTMP - interpolIDX); forceModCoord_factor = 2.0 * beta * zeta_i * expMinusBetaZeta_iZeta_i; @@ -303,7 +293,7 @@ void PairEDIP::compute(int eflag, int vflag) dr_ij[0] = x[j][0] - xtmp; dr_ij[1] = x[j][1] - ytmp; dr_ij[2] = x[j][2] - ztmp; - r_ij = dr_ij[0]*dr_ij[0] + dr_ij[1]*dr_ij[1] + dr_ij[2]*dr_ij[2]; + r_ij = dr_ij[0] * dr_ij[0] + dr_ij[1] * dr_ij[1] + dr_ij[2] * dr_ij[2]; jtype = map[type[j]]; ijparam = elem3param[itype][jtype][jtype]; @@ -318,13 +308,12 @@ void PairEDIP::compute(int eflag, int vflag) exp2B_ij = preExp2B_ij[neighbor_j]; - pow2BDerived_ij = - rho * invR_ij * pow2B_ij; + pow2BDerived_ij = -rho * invR_ij * pow2B_ij; - forceModCoord += (forceModCoord_factor*exp2B_ij); + forceModCoord += (forceModCoord_factor * exp2B_ij); exp2BDerived_ij = preExp2BDerived_ij[neighbor_j]; - forceMod2B = exp2BDerived_ij * potential2B_factor + - exp2B_ij * pow2BDerived_ij; + forceMod2B = exp2BDerived_ij * potential2B_factor + exp2B_ij * pow2BDerived_ij; directorCos_ij_x = invR_ij * dr_ij[0]; directorCos_ij_y = invR_ij * dr_ij[1]; @@ -349,136 +338,123 @@ void PairEDIP::compute(int eflag, int vflag) evdwl = (exp2B_ij * potential2B_factor); - if (evflag) ev_tally(i, j, nlocal, newton_pair, evdwl, 0.0, - -forceMod2B*invR_ij, dr_ij[0], dr_ij[1], dr_ij[2]); + if (evflag) + ev_tally(i, j, nlocal, newton_pair, evdwl, 0.0, -forceMod2B * invR_ij, dr_ij[0], dr_ij[1], + dr_ij[2]); // three-body Forces for (int neighbor_k = neighbor_j + 1; neighbor_k < jnum; neighbor_k++) { - double dr_ik[3], r_ik, f_ik[3]; + double dr_ik[3], r_ik, f_ik[3]; - k = jlist[neighbor_k]; - k &= NEIGHMASK; - ktype = map[type[k]]; - ikparam = elem3param[itype][ktype][ktype]; + k = jlist[neighbor_k]; + k &= NEIGHMASK; + ktype = map[type[k]]; + ikparam = elem3param[itype][ktype][ktype]; - dr_ik[0] = x[k][0] - xtmp; - dr_ik[1] = x[k][1] - ytmp; - dr_ik[2] = x[k][2] - ztmp; - r_ik = dr_ik[0]*dr_ik[0] + dr_ik[1]*dr_ik[1] + dr_ik[2]*dr_ik[2]; + dr_ik[0] = x[k][0] - xtmp; + dr_ik[1] = x[k][1] - ytmp; + dr_ik[2] = x[k][2] - ztmp; + r_ik = dr_ik[0] * dr_ik[0] + dr_ik[1] * dr_ik[1] + dr_ik[2] * dr_ik[2]; - if (r_ik > params[ikparam].cutsq) continue; + if (r_ik > params[ikparam].cutsq) continue; - r_ik = sqrt(r_ik); + r_ik = sqrt(r_ik); - invR_ik = preInvR_ij[neighbor_k]; + invR_ik = preInvR_ij[neighbor_k]; - directorCos_ik_x = invR_ik * dr_ik[0]; - directorCos_ik_y = invR_ik * dr_ik[1]; - directorCos_ik_z = invR_ik * dr_ik[2]; + directorCos_ik_x = invR_ik * dr_ik[0]; + directorCos_ik_y = invR_ik * dr_ik[1]; + directorCos_ik_z = invR_ik * dr_ik[2]; - cosTeta = directorCos_ij_x * directorCos_ik_x + - directorCos_ij_y * directorCos_ik_y + + cosTeta = directorCos_ij_x * directorCos_ik_x + directorCos_ij_y * directorCos_ik_y + directorCos_ij_z * directorCos_ik_z; - cosTetaDiff = cosTeta + tauFunction; - cosTetaDiffCosTetaDiff = cosTetaDiff * cosTetaDiff; - qFunctionCosTetaDiffCosTetaDiff = cosTetaDiffCosTetaDiff * qFunction; - expMinusQFunctionCosTetaDiffCosTetaDiff = - exp(-qFunctionCosTetaDiffCosTetaDiff); + cosTetaDiff = cosTeta + tauFunction; + cosTetaDiffCosTetaDiff = cosTetaDiff * cosTetaDiff; + qFunctionCosTetaDiffCosTetaDiff = cosTetaDiffCosTetaDiff * qFunction; + expMinusQFunctionCosTetaDiffCosTetaDiff = exp(-qFunctionCosTetaDiffCosTetaDiff); - potentia3B_factor = lambda * + potentia3B_factor = lambda * ((1.0 - expMinusQFunctionCosTetaDiffCosTetaDiff) + eta * qFunctionCosTetaDiffCosTetaDiff); - exp3B_ik = preExp3B_ij[neighbor_k]; - exp3BDerived_ik = preExp3BDerived_ij[neighbor_k]; + exp3B_ik = preExp3B_ij[neighbor_k]; + exp3BDerived_ik = preExp3BDerived_ij[neighbor_k]; - forceMod3B_factor1_ij = - exp3BDerived_ij * exp3B_ik * - potentia3B_factor; - forceMod3B_factor2 = 2.0 * lambda * exp3B_ij * exp3B_ik * - qFunction * cosTetaDiff * + forceMod3B_factor1_ij = -exp3BDerived_ij * exp3B_ik * potentia3B_factor; + forceMod3B_factor2 = 2.0 * lambda * exp3B_ij * exp3B_ik * qFunction * cosTetaDiff * (eta + expMinusQFunctionCosTetaDiffCosTetaDiff); - forceMod3B_factor2_ij = forceMod3B_factor2 * invR_ij; + forceMod3B_factor2_ij = forceMod3B_factor2 * invR_ij; - f_ij[0] = forceMod3B_factor1_ij * directorCos_ij_x + - forceMod3B_factor2_ij * - (cosTeta * directorCos_ij_x - directorCos_ik_x); - f_ij[1] = forceMod3B_factor1_ij * directorCos_ij_y + - forceMod3B_factor2_ij * - (cosTeta * directorCos_ij_y - directorCos_ik_y); - f_ij[2] = forceMod3B_factor1_ij * directorCos_ij_z + - forceMod3B_factor2_ij * - (cosTeta * directorCos_ij_z - directorCos_ik_z); + f_ij[0] = forceMod3B_factor1_ij * directorCos_ij_x + + forceMod3B_factor2_ij * (cosTeta * directorCos_ij_x - directorCos_ik_x); + f_ij[1] = forceMod3B_factor1_ij * directorCos_ij_y + + forceMod3B_factor2_ij * (cosTeta * directorCos_ij_y - directorCos_ik_y); + f_ij[2] = forceMod3B_factor1_ij * directorCos_ij_z + + forceMod3B_factor2_ij * (cosTeta * directorCos_ij_z - directorCos_ik_z); - forceMod3B_factor1_ik = - exp3BDerived_ik * exp3B_ij * - potentia3B_factor; - forceMod3B_factor2_ik = forceMod3B_factor2 * invR_ik; + forceMod3B_factor1_ik = -exp3BDerived_ik * exp3B_ij * potentia3B_factor; + forceMod3B_factor2_ik = forceMod3B_factor2 * invR_ik; - f_ik[0] = forceMod3B_factor1_ik * directorCos_ik_x + - forceMod3B_factor2_ik * - (cosTeta * directorCos_ik_x - directorCos_ij_x); - f_ik[1] = forceMod3B_factor1_ik * directorCos_ik_y + - forceMod3B_factor2_ik * - (cosTeta * directorCos_ik_y - directorCos_ij_y); - f_ik[2] = forceMod3B_factor1_ik * directorCos_ik_z + - forceMod3B_factor2_ik * - (cosTeta * directorCos_ik_z - directorCos_ij_z); + f_ik[0] = forceMod3B_factor1_ik * directorCos_ik_x + + forceMod3B_factor2_ik * (cosTeta * directorCos_ik_x - directorCos_ij_x); + f_ik[1] = forceMod3B_factor1_ik * directorCos_ik_y + + forceMod3B_factor2_ik * (cosTeta * directorCos_ik_y - directorCos_ij_y); + f_ik[2] = forceMod3B_factor1_ik * directorCos_ik_z + + forceMod3B_factor2_ik * (cosTeta * directorCos_ik_z - directorCos_ij_z); - forceModCoord += (forceMod3B_factor2 * - (tauFunctionDerived - 0.5 * mu * cosTetaDiff)); + forceModCoord += (forceMod3B_factor2 * (tauFunctionDerived - 0.5 * mu * cosTetaDiff)); - f[j][0] += f_ij[0]; - f[j][1] += f_ij[1]; - f[j][2] += f_ij[2]; + f[j][0] += f_ij[0]; + f[j][1] += f_ij[1]; + f[j][2] += f_ij[2]; - f[k][0] += f_ik[0]; - f[k][1] += f_ik[1]; - f[k][2] += f_ik[2]; + f[k][0] += f_ik[0]; + f[k][1] += f_ik[1]; + f[k][2] += f_ik[2]; - f[i][0] -= f_ij[0] + f_ik[0]; - f[i][1] -= f_ij[1] + f_ik[1]; - f[i][2] -= f_ij[2] + f_ik[2]; + f[i][0] -= f_ij[0] + f_ik[0]; + f[i][1] -= f_ij[1] + f_ik[1]; + f[i][2] -= f_ij[2] + f_ik[2]; - // potential energy + // potential energy - evdwl = (exp3B_ij * exp3B_ik * potentia3B_factor); + evdwl = (exp3B_ij * exp3B_ik * potentia3B_factor); - if (evflag) ev_tally3(i,j,k,evdwl,0.0,f_ij,f_ik,dr_ij,dr_ik); + if (evflag) ev_tally3(i, j, k, evdwl, 0.0, f_ij, f_ik, dr_ij, dr_ik); } } // forces due to environment coordination f(Z) for (int idx = 0; idx < numForceCoordPairs; idx++) { - double dr_ij[3],f_ij[3]; + double dr_ij[3], f_ij[3]; - preForceCoord_counter = idx * 5; - zeta_iDerivedInvR_ij=preForceCoord[preForceCoord_counter+0]; - dr_ij[0]=preForceCoord[preForceCoord_counter+1]; - dr_ij[1]=preForceCoord[preForceCoord_counter+2]; - dr_ij[2]=preForceCoord[preForceCoord_counter+3]; - j = static_cast (preForceCoord[preForceCoord_counter+4]); + preForceCoord_counter = idx * 5; + zeta_iDerivedInvR_ij = preForceCoord[preForceCoord_counter + 0]; + dr_ij[0] = preForceCoord[preForceCoord_counter + 1]; + dr_ij[1] = preForceCoord[preForceCoord_counter + 2]; + dr_ij[2] = preForceCoord[preForceCoord_counter + 3]; + j = static_cast(preForceCoord[preForceCoord_counter + 4]); - forceModCoord_ij = forceModCoord * zeta_iDerivedInvR_ij; + forceModCoord_ij = forceModCoord * zeta_iDerivedInvR_ij; - f_ij[0] = forceModCoord_ij * dr_ij[0]; - f_ij[1] = forceModCoord_ij * dr_ij[1]; - f_ij[2] = forceModCoord_ij * dr_ij[2]; + f_ij[0] = forceModCoord_ij * dr_ij[0]; + f_ij[1] = forceModCoord_ij * dr_ij[1]; + f_ij[2] = forceModCoord_ij * dr_ij[2]; - f[i][0] -= f_ij[0]; - f[i][1] -= f_ij[1]; - f[i][2] -= f_ij[2]; + f[i][0] -= f_ij[0]; + f[i][1] -= f_ij[1]; + f[i][2] -= f_ij[2]; - f[j][0] += f_ij[0]; - f[j][1] += f_ij[1]; - f[j][2] += f_ij[2]; + f[j][0] += f_ij[0]; + f[j][1] += f_ij[1]; + f[j][2] += f_ij[2]; - // potential energy - - evdwl = 0.0; - if (evflag) ev_tally(i, j, nlocal, newton_pair, evdwl, 0.0, - -forceModCoord_ij, dr_ij[0], dr_ij[1], dr_ij[2]); + if (evflag) + ev_tally(i, j, nlocal, newton_pair, 0.0, 0.0, -forceModCoord_ij, dr_ij[0], dr_ij[1], + dr_ij[2]); } } @@ -500,58 +476,51 @@ void PairEDIP::allocateGrids(void) double maxArgumentTauFunctionGrid; double maxArgumentQFunctionGrid; double maxArgumentExpMinusBetaZeta_iZeta_i; - double const leftLimitToZero = -DBL_MIN * 1000.0; + double const leftLimitToZero = -std::numeric_limits::min() * 1000.0; deallocateGrids(); // tauFunctionGrid maxArgumentTauFunctionGrid = leadDimInteractionList; - numGridPointsTauFunctionGrid = (int) - ((maxArgumentTauFunctionGrid) * GRIDDENSITY) + 2; + numGridPointsTauFunctionGrid = (int) ((maxArgumentTauFunctionGrid) *GRIDDENSITY) + 2; - memory->create(tauFunctionGrid,numGridPointsTauFunctionGrid, - "edip:tauFunctionGrid"); - memory->create(tauFunctionDerivedGrid,numGridPointsTauFunctionGrid, + memory->create(tauFunctionGrid, numGridPointsTauFunctionGrid, "edip:tauFunctionGrid"); + memory->create(tauFunctionDerivedGrid, numGridPointsTauFunctionGrid, "edip:tauFunctionDerivedGrid"); // expMinusBetaZeta_iZeta_iGrid maxArgumentExpMinusBetaZeta_iZeta_i = leadDimInteractionList; - numGridPointsExpMinusBetaZeta_iZeta_i = (int) - ((maxArgumentExpMinusBetaZeta_iZeta_i) * GRIDDENSITY) + 2; - memory->create(expMinusBetaZeta_iZeta_iGrid, - numGridPointsExpMinusBetaZeta_iZeta_i, + numGridPointsExpMinusBetaZeta_iZeta_i = + (int) ((maxArgumentExpMinusBetaZeta_iZeta_i) *GRIDDENSITY) + 2; + memory->create(expMinusBetaZeta_iZeta_iGrid, numGridPointsExpMinusBetaZeta_iZeta_i, "edip:expMinusBetaZeta_iZeta_iGrid"); // qFunctionGrid maxArgumentQFunctionGrid = leadDimInteractionList; - numGridPointsQFunctionGrid = (int) - ((maxArgumentQFunctionGrid) * GRIDDENSITY) + 2; - memory->create(qFunctionGrid,numGridPointsQFunctionGrid,"edip:qFunctionGrid"); + numGridPointsQFunctionGrid = (int) ((maxArgumentQFunctionGrid) *GRIDDENSITY) + 2; + memory->create(qFunctionGrid, numGridPointsQFunctionGrid, "edip:qFunctionGrid"); // cutoffFunction numGridPointsOneCutoffFunction = (int) ((cutoffC - GRIDSTART) * GRIDDENSITY); - numGridPointsNotOneCutoffFunction = (int) ((cutoffA-cutoffC) * GRIDDENSITY); - numGridPointsCutoffFunction = numGridPointsOneCutoffFunction + - numGridPointsNotOneCutoffFunction+2; + numGridPointsNotOneCutoffFunction = (int) ((cutoffA - cutoffC) * GRIDDENSITY); + numGridPointsCutoffFunction = + numGridPointsOneCutoffFunction + numGridPointsNotOneCutoffFunction + 2; - memory->create(cutoffFunction,numGridPointsCutoffFunction, - "edip:cutoffFunction"); - memory->create(cutoffFunctionDerived,numGridPointsCutoffFunction, - "edip:cutoffFunctionDerived"); + memory->create(cutoffFunction, numGridPointsCutoffFunction, "edip:cutoffFunction"); + memory->create(cutoffFunctionDerived, numGridPointsCutoffFunction, "edip:cutoffFunctionDerived"); // pow2B - numGridPointsR = (int) - ((cutoffA + leftLimitToZero - GRIDSTART) * GRIDDENSITY); + numGridPointsR = (int) ((cutoffA + leftLimitToZero - GRIDSTART) * GRIDDENSITY); numGridPointsRTotal = numGridPointsR + 2; - memory->create(pow2B,numGridPointsRTotal,"edip:pow2B"); - memory->create(exp2B,numGridPointsRTotal,"edip:exp2B"); - memory->create(exp3B,numGridPointsRTotal,"edip:exp3B"); + memory->create(pow2B, numGridPointsRTotal, "edip:pow2B"); + memory->create(exp2B, numGridPointsRTotal, "edip:exp2B"); + memory->create(exp3B, numGridPointsRTotal, "edip:exp3B"); } /* ---------------------------------------------------------------------- @@ -563,15 +532,13 @@ void PairEDIP::allocatePreLoops(void) int nthreads = comm->nthreads; deallocatePreLoops(); - memory->create(preInvR_ij,nthreads*leadDimInteractionList,"edip:preInvR_ij"); - memory->create(preExp3B_ij,nthreads*leadDimInteractionList,"edip:preExp3B_ij"); - memory->create(preExp3BDerived_ij,nthreads*leadDimInteractionList, - "edip:preExp3BDerived_ij"); - memory->create(preExp2B_ij,nthreads*leadDimInteractionList,"edip:preExp2B_ij"); - memory->create(preExp2BDerived_ij,nthreads*leadDimInteractionList, - "edip:preExp2BDerived_ij"); - memory->create(prePow2B_ij,nthreads*leadDimInteractionList,"edip:prePow2B_ij"); - memory->create(preForceCoord,5*nthreads*leadDimInteractionList,"edip:preForceCoord"); + memory->create(preInvR_ij, nthreads * leadDimInteractionList, "edip:preInvR_ij"); + memory->create(preExp3B_ij, nthreads * leadDimInteractionList, "edip:preExp3B_ij"); + memory->create(preExp3BDerived_ij, nthreads * leadDimInteractionList, "edip:preExp3BDerived_ij"); + memory->create(preExp2B_ij, nthreads * leadDimInteractionList, "edip:preExp2B_ij"); + memory->create(preExp2BDerived_ij, nthreads * leadDimInteractionList, "edip:preExp2BDerived_ij"); + memory->create(prePow2B_ij, nthreads * leadDimInteractionList, "edip:prePow2B_ij"); + memory->create(preForceCoord, 5 * nthreads * leadDimInteractionList, "edip:preForceCoord"); } /* ---------------------------------------------------------------------- @@ -613,19 +580,19 @@ void PairEDIP::allocate() allocated = 1; int n = atom->ntypes; - memory->create(setflag,n+1,n+1,"pair:setflag"); - memory->create(cutsq,n+1,n+1,"pair:cutsq"); + memory->create(setflag, n + 1, n + 1, "pair:setflag"); + memory->create(cutsq, n + 1, n + 1, "pair:cutsq"); - map = new int[n+1]; + map = new int[n + 1]; } /* ---------------------------------------------------------------------- global settings ------------------------------------------------------------------------- */ -void PairEDIP::settings(int narg, char **/*arg*/) +void PairEDIP::settings(int narg, char ** /*arg*/) { - if (narg != 0) error->all(FLERR,"Illegal pair_style command"); + if (narg != 0) error->all(FLERR, "Illegal pair_style command"); } /* ---------------------------------------------------------------------- */ @@ -652,105 +619,97 @@ void PairEDIP::initGrids(void) double deltaArgumentQFunctionGrid; double deltaArgumentTauFunctionGrid; double deltaArgumentExpMinusBetaZeta_iZeta_i; - double const leftLimitToZero = -DBL_MIN * 1000.0; + double const leftLimitToZero = -std::numeric_limits::min() * 1000.0; // tauFunctionGrid maxArgumentTauFunctionGrid = leadDimInteractionList; - numGridPointsTauFunctionGrid = (int) - ((maxArgumentTauFunctionGrid) * GRIDDENSITY) + 2; + numGridPointsTauFunctionGrid = (int) ((maxArgumentTauFunctionGrid) *GRIDDENSITY) + 2; r = 0.0; deltaArgumentTauFunctionGrid = 1.0 / GRIDDENSITY; for (l = 0; l < numGridPointsTauFunctionGrid; l++) { - tauFunctionGrid[l] = u1 + u2 * u3 * exp(-u4 * r) - - u2 * exp(-2.0 * u4 * r); - tauFunctionDerivedGrid[l] = - u2 * u3 * u4 * exp(-u4 * r) + - 2.0 * u2 * u4 * exp(-2.0 * u4 * r); - r += deltaArgumentTauFunctionGrid; + tauFunctionGrid[l] = u1 + u2 * u3 * exp(-u4 * r) - u2 * exp(-2.0 * u4 * r); + tauFunctionDerivedGrid[l] = -u2 * u3 * u4 * exp(-u4 * r) + 2.0 * u2 * u4 * exp(-2.0 * u4 * r); + r += deltaArgumentTauFunctionGrid; } // expMinusBetaZeta_iZeta_iGrid maxArgumentExpMinusBetaZeta_iZeta_i = leadDimInteractionList; - numGridPointsExpMinusBetaZeta_iZeta_i = (int) - ((maxArgumentExpMinusBetaZeta_iZeta_i) * GRIDDENSITY) + 2; + numGridPointsExpMinusBetaZeta_iZeta_i = + (int) ((maxArgumentExpMinusBetaZeta_iZeta_i) *GRIDDENSITY) + 2; r = 0.0; deltaArgumentExpMinusBetaZeta_iZeta_i = 1.0 / GRIDDENSITY; for (l = 0; l < numGridPointsExpMinusBetaZeta_iZeta_i; l++) { - expMinusBetaZeta_iZeta_iGrid[l] = exp(-beta * r * r); - r += deltaArgumentExpMinusBetaZeta_iZeta_i; + expMinusBetaZeta_iZeta_iGrid[l] = exp(-beta * r * r); + r += deltaArgumentExpMinusBetaZeta_iZeta_i; } // qFunctionGrid maxArgumentQFunctionGrid = leadDimInteractionList; - numGridPointsQFunctionGrid = - (int) ((maxArgumentQFunctionGrid) * GRIDDENSITY) + 2; + numGridPointsQFunctionGrid = (int) ((maxArgumentQFunctionGrid) *GRIDDENSITY) + 2; r = 0.0; deltaArgumentQFunctionGrid = 1.0 / GRIDDENSITY; for (l = 0; l < numGridPointsQFunctionGrid; l++) { - qFunctionGrid[l] = Q0 * exp(-mu * r); - r += deltaArgumentQFunctionGrid; + qFunctionGrid[l] = Q0 * exp(-mu * r); + r += deltaArgumentQFunctionGrid; } // cutoffFunction - numGridPointsOneCutoffFunction = - (int) ((cutoffC - GRIDSTART) * GRIDDENSITY); - numGridPointsNotOneCutoffFunction = - (int) ((cutoffA-cutoffC) * GRIDDENSITY); + numGridPointsOneCutoffFunction = (int) ((cutoffC - GRIDSTART) * GRIDDENSITY); + numGridPointsNotOneCutoffFunction = (int) ((cutoffA - cutoffC) * GRIDDENSITY); numGridPointsCutoffFunction = - numGridPointsOneCutoffFunction+numGridPointsNotOneCutoffFunction+2; + numGridPointsOneCutoffFunction + numGridPointsNotOneCutoffFunction + 2; r = GRIDSTART; deltaArgumentCutoffFunction = 1.0 / GRIDDENSITY; for (l = 0; l < numGridPointsOneCutoffFunction; l++) { - cutoffFunction[l] = 1.0; - cutoffFunctionDerived[l] = 0.0; - r += deltaArgumentCutoffFunction; + cutoffFunction[l] = 1.0; + cutoffFunctionDerived[l] = 0.0; + r += deltaArgumentCutoffFunction; } - for (l = numGridPointsOneCutoffFunction; - l < numGridPointsCutoffFunction; l++) { - temp = (cutoffA - cutoffC)/(r - cutoffC); - temp3 = temp * temp * temp; - temp4 = temp3 * temp; - cutoffFunction[l] = exp(alpha/(1.0-temp3)); - cutoffFunctionDerived[l] = (-3*alpha/(cutoffA-cutoffC)) * - (temp4/((1-temp3)*(1-temp3)))*exp(alpha/(1.0-temp3)); - r += deltaArgumentCutoffFunction; + for (l = numGridPointsOneCutoffFunction; l < numGridPointsCutoffFunction; l++) { + temp = (cutoffA - cutoffC) / (r - cutoffC); + temp3 = temp * temp * temp; + temp4 = temp3 * temp; + cutoffFunction[l] = exp(alpha / (1.0 - temp3)); + cutoffFunctionDerived[l] = (-3 * alpha / (cutoffA - cutoffC)) * + (temp4 / ((1 - temp3) * (1 - temp3))) * exp(alpha / (1.0 - temp3)); + r += deltaArgumentCutoffFunction; } // pow2B - numGridPointsR = (int) - ((cutoffA + leftLimitToZero - GRIDSTART) * GRIDDENSITY); + numGridPointsR = (int) ((cutoffA + leftLimitToZero - GRIDSTART) * GRIDDENSITY); r = GRIDSTART; deltaArgumentR = 1.0 / GRIDDENSITY; for (l = 0; l < numGridPointsR; l++) { - pow2B[l] = pow((B/r),rho); - exp2B[l] = A * exp(sigma/(r-cutoffA)); - exp3B[l] = exp(gamm/(r-cutoffA)); - r += deltaArgumentR; + pow2B[l] = pow((B / r), rho); + exp2B[l] = A * exp(sigma / (r - cutoffA)); + exp3B[l] = exp(gamm / (r - cutoffA)); + r += deltaArgumentR; } - pow2B[numGridPointsR] = pow((B/r),rho); - exp2B[numGridPointsR]=0; - exp3B[numGridPointsR]=0; + pow2B[numGridPointsR] = pow((B / r), rho); + exp2B[numGridPointsR] = 0; + exp3B[numGridPointsR] = 0; r += deltaArgumentR; - pow2B[numGridPointsR+1] = pow((B/r),rho); - exp2B[numGridPointsR+1]=0; - exp3B[numGridPointsR+1]=0; + pow2B[numGridPointsR + 1] = pow((B / r), rho); + exp2B[numGridPointsR + 1] = 0; + exp3B[numGridPointsR + 1] = 0; } /* ---------------------------------------------------------------------- @@ -761,9 +720,8 @@ void PairEDIP::coeff(int narg, char **arg) { if (!allocated) allocate(); - map_element2type(narg-3,arg+3); - if (nelements != 1) - error->all(FLERR,"Pair style edip only supports single element potentials"); + map_element2type(narg - 3, arg + 3); + if (nelements != 1) error->all(FLERR, "Pair style edip only supports single element potentials"); // read potential file and initialize potential parameters @@ -783,12 +741,11 @@ void PairEDIP::coeff(int narg, char **arg) void PairEDIP::init_style() { - if (force->newton_pair == 0) - error->all(FLERR,"Pair style edip requires newton pair on"); + if (force->newton_pair == 0) error->all(FLERR, "Pair style edip requires newton pair on"); // need a full neighbor list - int irequest = neighbor->request(this,instance_me); + int irequest = neighbor->request(this, instance_me); neighbor->requests[irequest]->half = 0; neighbor->requests[irequest]->full = 1; } @@ -799,7 +756,7 @@ void PairEDIP::init_style() double PairEDIP::init_one(int i, int j) { - if (setflag[i][j] == 0) error->all(FLERR,"All pair coeffs are not set"); + if (setflag[i][j] == 0) error->all(FLERR, "All pair coeffs are not set"); return cutmax; } @@ -809,7 +766,7 @@ double PairEDIP::init_one(int i, int j) void PairEDIP::read_file(char *file) { int params_per_line = 20; - char **words = new char*[params_per_line+1]; + char **words = new char *[params_per_line + 1]; memory->sfree(params); params = nullptr; @@ -819,11 +776,11 @@ void PairEDIP::read_file(char *file) FILE *fp; if (comm->me == 0) { - fp = utils::open_potential(file,lmp,nullptr); + fp = utils::open_potential(file, lmp, nullptr); if (fp == nullptr) { char str[128]; - snprintf(str,128,"Cannot open EDIP potential file %s",file); - error->one(FLERR,str); + snprintf(str, 128, "Cannot open EDIP potential file %s", file); + error->one(FLERR, str); } } @@ -831,26 +788,27 @@ void PairEDIP::read_file(char *file) // one set of params can span multiple lines // store params if all 3 element tags are in element list - int n,nwords,ielement,jelement,kelement; - char line[MAXLINE],*ptr; + int n, nwords, ielement, jelement, kelement; + char line[MAXLINE], *ptr; int eof = 0; while (1) { if (comm->me == 0) { - ptr = fgets(line,MAXLINE,fp); + ptr = fgets(line, MAXLINE, fp); if (ptr == nullptr) { eof = 1; fclose(fp); - } else n = strlen(line) + 1; + } else + n = strlen(line) + 1; } - MPI_Bcast(&eof,1,MPI_INT,0,world); + MPI_Bcast(&eof, 1, MPI_INT, 0, world); if (eof) break; - MPI_Bcast(&n,1,MPI_INT,0,world); - MPI_Bcast(line,n,MPI_CHAR,0,world); + MPI_Bcast(&n, 1, MPI_INT, 0, world); + MPI_Bcast(line, n, MPI_CHAR, 0, world); // strip comment, skip line if blank - if ((ptr = strchr(line,'#'))) *ptr = '\0'; + if ((ptr = strchr(line, '#'))) *ptr = '\0'; nwords = utils::count_words(line); if (nwords == 0) continue; @@ -859,54 +817,53 @@ void PairEDIP::read_file(char *file) while (nwords < params_per_line) { n = strlen(line); if (comm->me == 0) { - ptr = fgets(&line[n],MAXLINE-n,fp); + ptr = fgets(&line[n], MAXLINE - n, fp); if (ptr == nullptr) { eof = 1; fclose(fp); - } else n = strlen(line) + 1; + } else + n = strlen(line) + 1; } - MPI_Bcast(&eof,1,MPI_INT,0,world); + MPI_Bcast(&eof, 1, MPI_INT, 0, world); if (eof) break; - MPI_Bcast(&n,1,MPI_INT,0,world); - MPI_Bcast(line,n,MPI_CHAR,0,world); - if ((ptr = strchr(line,'#'))) *ptr = '\0'; + MPI_Bcast(&n, 1, MPI_INT, 0, world); + MPI_Bcast(line, n, MPI_CHAR, 0, world); + if ((ptr = strchr(line, '#'))) *ptr = '\0'; nwords = utils::count_words(line); } - if (nwords != params_per_line) - error->all(FLERR,"Incorrect format in EDIP potential file"); + if (nwords != params_per_line) error->all(FLERR, "Incorrect format in EDIP potential file"); // words = ptrs to all words in line nwords = 0; - words[nwords++] = strtok(line," \t\n\r\f"); - while ((words[nwords++] = strtok(nullptr," \t\n\r\f"))) continue; + words[nwords++] = strtok(line, " \t\n\r\f"); + while ((words[nwords++] = strtok(nullptr, " \t\n\r\f"))) continue; // ielement,jelement,kelement = 1st args // if all 3 args are in element list, then parse this line // else skip to next entry in file for (ielement = 0; ielement < nelements; ielement++) - if (strcmp(words[0],elements[ielement]) == 0) break; + if (strcmp(words[0], elements[ielement]) == 0) break; if (ielement == nelements) continue; for (jelement = 0; jelement < nelements; jelement++) - if (strcmp(words[1],elements[jelement]) == 0) break; + if (strcmp(words[1], elements[jelement]) == 0) break; if (jelement == nelements) continue; for (kelement = 0; kelement < nelements; kelement++) - if (strcmp(words[2],elements[kelement]) == 0) break; + if (strcmp(words[2], elements[kelement]) == 0) break; if (kelement == nelements) continue; // load up parameter settings and error check their values if (nparams == maxparam) { maxparam += DELTA; - params = (Param *) memory->srealloc(params,maxparam*sizeof(Param), - "pair:params"); + params = (Param *) memory->srealloc(params, maxparam * sizeof(Param), "pair:params"); // make certain all addional allocated storage is initialized // to avoid false positives when checking with valgrind - memset(params + nparams, 0, DELTA*sizeof(Param)); + memset(params + nparams, 0, DELTA * sizeof(Param)); } params[nparams].ielement = ielement; @@ -930,25 +887,24 @@ void PairEDIP::read_file(char *file) params[nparams].u3 = atof(words[18]); params[nparams].u4 = atof(words[19]); - if (params[nparams].A < 0.0 || params[nparams].B < 0.0 || - params[nparams].cutoffA < 0.0 || params[nparams].cutoffC < 0.0 || - params[nparams].alpha < 0.0 || params[nparams].beta < 0.0 || - params[nparams].eta < 0.0 || params[nparams].gamm < 0.0 || - params[nparams].lambda < 0.0 || params[nparams].mu < 0.0 || - params[nparams].rho < 0.0 || params[nparams].sigma < 0.0) - error->all(FLERR,"Illegal EDIP parameter"); + if (params[nparams].A < 0.0 || params[nparams].B < 0.0 || params[nparams].cutoffA < 0.0 || + params[nparams].cutoffC < 0.0 || params[nparams].alpha < 0.0 || + params[nparams].beta < 0.0 || params[nparams].eta < 0.0 || params[nparams].gamm < 0.0 || + params[nparams].lambda < 0.0 || params[nparams].mu < 0.0 || params[nparams].rho < 0.0 || + params[nparams].sigma < 0.0) + error->all(FLERR, "Illegal EDIP parameter"); nparams++; } - delete [] words; + delete[] words; } /* ---------------------------------------------------------------------- */ void PairEDIP::setup_params() { - int i,j,k,m,n; + int i, j, k, m, n; double rtmp; // set elem3param for all triplet combinations @@ -956,28 +912,25 @@ void PairEDIP::setup_params() // do not allow for ACB in place of ABC memory->destroy(elem3param); - memory->create(elem3param,nelements,nelements,nelements,"pair:elem3param"); + memory->create(elem3param, nelements, nelements, nelements, "pair:elem3param"); for (i = 0; i < nelements; i++) for (j = 0; j < nelements; j++) for (k = 0; k < nelements; k++) { n = -1; for (m = 0; m < nparams; m++) { - if (i == params[m].ielement && j == params[m].jelement && - k == params[m].kelement) { - if (n >= 0) error->all(FLERR,"Potential file has duplicate entry"); + if (i == params[m].ielement && j == params[m].jelement && k == params[m].kelement) { + if (n >= 0) error->all(FLERR, "Potential file has duplicate entry"); n = m; } } - if (n < 0) error->all(FLERR,"Potential file is missing an entry"); + if (n < 0) error->all(FLERR, "Potential file is missing an entry"); elem3param[i][j][k] = n; } // set cutoff square - for (m = 0; m < nparams; m++) { - params[m].cutsq = params[m].cutoffA*params[m].cutoffA; - } + for (m = 0; m < nparams; m++) { params[m].cutsq = params[m].cutoffA * params[m].cutoffA; } // set cutmax to max of all params From bfc9df1302e89bce8a54204f59bea8c4dfec3a1e Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 11 Jul 2021 00:53:26 -0400 Subject: [PATCH 381/726] exclude tersoff/intel. fix newton off instantiation. --- unittest/force-styles/test_pair_style.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/unittest/force-styles/test_pair_style.cpp b/unittest/force-styles/test_pair_style.cpp index b98398cb31..9f70a22daf 100644 --- a/unittest/force-styles/test_pair_style.cpp +++ b/unittest/force-styles/test_pair_style.cpp @@ -740,14 +740,14 @@ TEST(PairStyle, omp) EXPECT_FP_LE_WITH_EPS((pair->eng_vdwl + pair->eng_coul), energy, epsilon); if (print_stats) std::cerr << "run_energy stats, newton on: " << stats << std::endl; - if (!verbose) ::testing::internal::CaptureStdout(); - cleanup_lammps(lmp, test_config); - lmp = init_lammps(argc, argv, test_config, false); - if (!verbose) ::testing::internal::GetCapturedStdout(); - // skip over these tests if newton pair is forced to be on if (lmp->force->newton_pair == 0) { + if (!verbose) ::testing::internal::CaptureStdout(); + cleanup_lammps(lmp, test_config); + lmp = init_lammps(argc, argv, test_config, false); + if (!verbose) ::testing::internal::GetCapturedStdout(); + f = lmp->atom->f; tag = lmp->atom->tag; stats.reset(); @@ -983,7 +983,7 @@ TEST(PairStyle, intel) int argc = sizeof(args) / sizeof(char *); ::testing::internal::CaptureStdout(); - LAMMPS *lmp = init_lammps(argc, argv, test_config); + LAMMPS *lmp = init_lammps(argc, argv, test_config, true); std::string output = ::testing::internal::GetCapturedStdout(); if (verbose) std::cout << output; @@ -1089,9 +1089,9 @@ TEST(PairStyle, intel) EXPECT_FP_LE_WITH_EPS((pair->eng_vdwl + pair->eng_coul), energy, epsilon); if (print_stats) std::cerr << "run_energy stats:" << stats << std::endl; - // pair style sw requires newton on, but that also requires fdotr for /intel + // pair styles sw and tersoff require newton on, but that also requires fdotr for /intel std::cerr << "pair style : " << test_config.pair_style << "\n"; - if (test_config.pair_style != "sw") { + if ((test_config.pair_style != "sw") && (test_config.pair_style != "tersoff")) { if (!verbose) ::testing::internal::CaptureStdout(); restart_lammps(lmp, test_config, true, false); From f82096c46ccf7e284c6f3d1c3b8af2eaa2bd4e1d Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 11 Jul 2021 00:55:22 -0400 Subject: [PATCH 382/726] correct nofdotr handling for tersoff styles --- src/MANYBODY/pair_tersoff.cpp | 12 +++++------ src/OPENMP/pair_tersoff_mod_c_omp.cpp | 12 +++++------ src/OPENMP/pair_tersoff_mod_omp.cpp | 12 +++++------ src/OPENMP/pair_tersoff_omp.cpp | 12 +++++------ src/OPENMP/pair_tersoff_table_omp.cpp | 8 +++---- src/OPENMP/thr_omp.cpp | 31 ++++++++++++++++++--------- src/OPENMP/thr_omp.h | 4 ++-- src/pair.cpp | 23 ++++++++++++++------ 8 files changed, 68 insertions(+), 46 deletions(-) diff --git a/src/MANYBODY/pair_tersoff.cpp b/src/MANYBODY/pair_tersoff.cpp index 33682ce3fa..f21c3bffca 100644 --- a/src/MANYBODY/pair_tersoff.cpp +++ b/src/MANYBODY/pair_tersoff.cpp @@ -88,10 +88,10 @@ void PairTersoff::compute(int eflag, int vflag) if (shift_flag) { if (evflag) { if (eflag) { - if (vflag_atom) eval<1,1,1,1>(); + if (vflag_either) eval<1,1,1,1>(); else eval<1,1,1,0>(); } else { - if (vflag_atom) eval<1,1,0,1>(); + if (vflag_either) eval<1,1,0,1>(); else eval<1,1,0,0>(); } } else eval<1,0,0,0>(); @@ -100,17 +100,17 @@ void PairTersoff::compute(int eflag, int vflag) if (evflag) { if (eflag) { - if (vflag_atom) eval<0,1,1,1>(); + if (vflag_either) eval<0,1,1,1>(); else eval<0,1,1,0>(); } else { - if (vflag_atom) eval<0,1,0,1>(); + if (vflag_either) eval<0,1,0,1>(); else eval<0,1,0,0>(); } } else eval<0,0,0,0>(); } } -template +template void PairTersoff::eval() { int i,j,k,ii,jj,kk,inum,jnum; @@ -315,7 +315,7 @@ void PairTersoff::eval() f[k][1] += fk[1]; f[k][2] += fk[2]; - if (VFLAG_ATOM) v_tally3(i,j,k,fj,fk,delr1,delr2); + if (VFLAG_EITHER) v_tally3(i,j,k,fj,fk,delr1,delr2); } f[j][0] += fjxtmp; f[j][1] += fjytmp; diff --git a/src/OPENMP/pair_tersoff_mod_c_omp.cpp b/src/OPENMP/pair_tersoff_mod_c_omp.cpp index 0d66e83b00..cd59e06673 100644 --- a/src/OPENMP/pair_tersoff_mod_c_omp.cpp +++ b/src/OPENMP/pair_tersoff_mod_c_omp.cpp @@ -60,20 +60,20 @@ void PairTersoffMODCOMP::compute(int eflag, int vflag) if (shift_flag) { if (evflag) { if (eflag) { - if (vflag_atom) eval<1,1,1,1>(ifrom, ito, thr); + if (vflag_either) eval<1,1,1,1>(ifrom, ito, thr); else eval<1,1,1,0>(ifrom, ito, thr); } else { - if (vflag_atom) eval<1,1,0,1>(ifrom, ito, thr); + if (vflag_either) eval<1,1,0,1>(ifrom, ito, thr); else eval<1,1,0,0>(ifrom, ito, thr); } } else eval<1,0,0,0>(ifrom, ito, thr); } else { if (evflag) { if (eflag) { - if (vflag_atom) eval<0,1,1,1>(ifrom, ito, thr); + if (vflag_either) eval<0,1,1,1>(ifrom, ito, thr); else eval<0,1,1,0>(ifrom, ito, thr); } else { - if (vflag_atom) eval<0,1,0,1>(ifrom, ito, thr); + if (vflag_either) eval<0,1,0,1>(ifrom, ito, thr); else eval<0,1,0,0>(ifrom, ito, thr); } } else eval<0,0,0,0>(ifrom, ito, thr); @@ -84,7 +84,7 @@ void PairTersoffMODCOMP::compute(int eflag, int vflag) } // end of omp parallel region } -template +template void PairTersoffMODCOMP::eval(int iifrom, int iito, ThrData * const thr) { int i,j,k,ii,jj,kk,jnum; @@ -282,7 +282,7 @@ void PairTersoffMODCOMP::eval(int iifrom, int iito, ThrData * const thr) f[k].y += fk[1]; f[k].z += fk[2]; - if (VFLAG_ATOM) v_tally3_thr(i,j,k,fj,fk,delr1,delr2,thr); + if (VFLAG_EITHER) v_tally3_thr(this,i,j,k,fj,fk,delr1,delr2,thr); } f[j].x += fjxtmp; f[j].y += fjytmp; diff --git a/src/OPENMP/pair_tersoff_mod_omp.cpp b/src/OPENMP/pair_tersoff_mod_omp.cpp index b3e3b89283..de19aa3872 100644 --- a/src/OPENMP/pair_tersoff_mod_omp.cpp +++ b/src/OPENMP/pair_tersoff_mod_omp.cpp @@ -60,20 +60,20 @@ void PairTersoffMODOMP::compute(int eflag, int vflag) if (shift_flag) { if (evflag) { if (eflag) { - if (vflag_atom) eval<1,1,1,1>(ifrom, ito, thr); + if (vflag_either) eval<1,1,1,1>(ifrom, ito, thr); else eval<1,1,1,0>(ifrom, ito, thr); } else { - if (vflag_atom) eval<1,1,0,1>(ifrom, ito, thr); + if (vflag_either) eval<1,1,0,1>(ifrom, ito, thr); else eval<1,1,0,0>(ifrom, ito, thr); } } else eval<1,0,0,0>(ifrom, ito, thr); } else { if (evflag) { if (eflag) { - if (vflag_atom) eval<0,1,1,1>(ifrom, ito, thr); + if (vflag_either) eval<0,1,1,1>(ifrom, ito, thr); else eval<0,1,1,0>(ifrom, ito, thr); } else { - if (vflag_atom) eval<0,1,0,1>(ifrom, ito, thr); + if (vflag_either) eval<0,1,0,1>(ifrom, ito, thr); else eval<0,1,0,0>(ifrom, ito, thr); } } else eval<0,0,0,0>(ifrom, ito, thr); @@ -84,7 +84,7 @@ void PairTersoffMODOMP::compute(int eflag, int vflag) } // end of omp parallel region } -template +template void PairTersoffMODOMP::eval(int iifrom, int iito, ThrData * const thr) { int i,j,k,ii,jj,kk,jnum; @@ -282,7 +282,7 @@ void PairTersoffMODOMP::eval(int iifrom, int iito, ThrData * const thr) f[k].y += fk[1]; f[k].z += fk[2]; - if (VFLAG_ATOM) v_tally3_thr(i,j,k,fj,fk,delr1,delr2,thr); + if (VFLAG_EITHER) v_tally3_thr(this,i,j,k,fj,fk,delr1,delr2,thr); } f[j].x += fjxtmp; f[j].y += fjytmp; diff --git a/src/OPENMP/pair_tersoff_omp.cpp b/src/OPENMP/pair_tersoff_omp.cpp index 6bf48792eb..2a3cfb5d54 100644 --- a/src/OPENMP/pair_tersoff_omp.cpp +++ b/src/OPENMP/pair_tersoff_omp.cpp @@ -61,10 +61,10 @@ void PairTersoffOMP::compute(int eflag, int vflag) if (shift_flag) { if (evflag) { if (eflag) { - if (vflag_atom) eval<1,1,1,1>(ifrom, ito, thr); + if (vflag_either) eval<1,1,1,1>(ifrom, ito, thr); else eval<1,1,1,0>(ifrom, ito, thr); } else { - if (vflag_atom) eval<1,1,0,1>(ifrom, ito, thr); + if (vflag_either) eval<1,1,0,1>(ifrom, ito, thr); else eval<1,1,0,0>(ifrom, ito, thr); } } else eval<1,0,0,0>(ifrom, ito, thr); @@ -73,10 +73,10 @@ void PairTersoffOMP::compute(int eflag, int vflag) if (evflag) { if (eflag) { - if (vflag_atom) eval<0,1,1,1>(ifrom, ito, thr); + if (vflag_either) eval<0,1,1,1>(ifrom, ito, thr); else eval<0,1,1,0>(ifrom, ito, thr); } else { - if (vflag_atom) eval<0,1,0,1>(ifrom, ito, thr); + if (vflag_either) eval<0,1,0,1>(ifrom, ito, thr); else eval<0,1,0,0>(ifrom, ito, thr); } } else eval<0,0,0,0>(ifrom, ito, thr); @@ -87,7 +87,7 @@ void PairTersoffOMP::compute(int eflag, int vflag) } // end of omp parallel region } -template +template void PairTersoffOMP::eval(int iifrom, int iito, ThrData * const thr) { int i,j,k,ii,jj,kk,jnum,maxshort_thr; @@ -293,7 +293,7 @@ void PairTersoffOMP::eval(int iifrom, int iito, ThrData * const thr) f[k].y += fk[1]; f[k].z += fk[2]; - if (VFLAG_ATOM) v_tally3_thr(i,j,k,fj,fk,delr1,delr2,thr); + if (VFLAG_EITHER) v_tally3_thr(this,i,j,k,fj,fk,delr1,delr2,thr); } f[j].x += fjxtmp; f[j].y += fjytmp; diff --git a/src/OPENMP/pair_tersoff_table_omp.cpp b/src/OPENMP/pair_tersoff_table_omp.cpp index a91f361f79..c5fc60ea90 100644 --- a/src/OPENMP/pair_tersoff_table_omp.cpp +++ b/src/OPENMP/pair_tersoff_table_omp.cpp @@ -80,7 +80,7 @@ void PairTersoffTableOMP::compute(int eflag, int vflag) ev_setup_thr(eflag, vflag, nall, eatom, vatom, nullptr, thr); if (evflag) - if (vflag_atom) eval<1,1>(ifrom, ito, thr); + if (vflag_either) eval<1,1>(ifrom, ito, thr); else eval<1,0>(ifrom, ito, thr); else eval<0,0>(ifrom, ito, thr); @@ -89,7 +89,7 @@ void PairTersoffTableOMP::compute(int eflag, int vflag) } // end of omp parallel region } -template +template void PairTersoffTableOMP::eval(int iifrom, int iito, ThrData * const thr) { int i,j,k,ii,jnum; @@ -427,7 +427,7 @@ void PairTersoffTableOMP::eval(int iifrom, int iito, ThrData * const thr) fytmp += f_ij[1] + f_ik[1]; fztmp += f_ij[2] + f_ik[2]; - if (VFLAG_ATOM) v_tally3_thr(i,j,k,f_ij,f_ik,dr_ij,dr_ik,thr); + if (VFLAG_EITHER) v_tally3_thr(this,i,j,k,f_ij,f_ik,dr_ij,dr_ik,thr); } // second loop over neighbors of atom i except j, forces and virial only - part 2/2 @@ -493,7 +493,7 @@ void PairTersoffTableOMP::eval(int iifrom, int iito, ThrData * const thr) fytmp += f_ij[1] + f_ik[1]; fztmp += f_ij[2] + f_ik[2]; - if (VFLAG_ATOM) v_tally3_thr(i,j,k,f_ij,f_ik,dr_ij,dr_ik,thr); + if (VFLAG_EITHER) v_tally3_thr(this,i,j,k,f_ij,f_ik,dr_ij,dr_ik,thr); } } // loop on J diff --git a/src/OPENMP/thr_omp.cpp b/src/OPENMP/thr_omp.cpp index 4685e116be..867623361c 100644 --- a/src/OPENMP/thr_omp.cpp +++ b/src/OPENMP/thr_omp.cpp @@ -1486,23 +1486,34 @@ void ThrOMP::v_tally2_thr(const int i, const int j, const double fpair, called by AIREBO and Tersoff potential, newton_pair is always on ------------------------------------------------------------------------- */ -void ThrOMP::v_tally3_thr(const int i, const int j, const int k, +void ThrOMP::v_tally3_thr(Pair *pair, const int i, const int j, const int k, const double * const fi, const double * const fj, const double * const drik, const double * const drjk, ThrData * const thr) { double v[6]; - v[0] = THIRD * (drik[0]*fi[0] + drjk[0]*fj[0]); - v[1] = THIRD * (drik[1]*fi[1] + drjk[1]*fj[1]); - v[2] = THIRD * (drik[2]*fi[2] + drjk[2]*fj[2]); - v[3] = THIRD * (drik[0]*fi[1] + drjk[0]*fj[1]); - v[4] = THIRD * (drik[0]*fi[2] + drjk[0]*fj[2]); - v[5] = THIRD * (drik[1]*fi[2] + drjk[1]*fj[2]); + v[0] = (drik[0]*fi[0] + drjk[0]*fj[0]); + v[1] = (drik[1]*fi[1] + drjk[1]*fj[1]); + v[2] = (drik[2]*fi[2] + drjk[2]*fj[2]); + v[3] = (drik[0]*fi[1] + drjk[0]*fj[1]); + v[4] = (drik[0]*fi[2] + drjk[0]*fj[2]); + v[5] = (drik[1]*fi[2] + drjk[1]*fj[2]); - v_tally(thr->vatom_pair[i],v); - v_tally(thr->vatom_pair[j],v); - v_tally(thr->vatom_pair[k],v); + if (pair->vflag_global) v_tally(thr->virial_pair,v); + + if (pair->vflag_atom) { + v[0] *= THIRD; + v[1] *= THIRD; + v[2] *= THIRD; + v[3] *= THIRD; + v[4] *= THIRD; + v[5] *= THIRD; + + v_tally(thr->vatom_pair[i],v); + v_tally(thr->vatom_pair[j],v); + v_tally(thr->vatom_pair[k],v); + } } /* ---------------------------------------------------------------------- diff --git a/src/OPENMP/thr_omp.h b/src/OPENMP/thr_omp.h index 77835122e0..22fdb36f38 100644 --- a/src/OPENMP/thr_omp.h +++ b/src/OPENMP/thr_omp.h @@ -138,6 +138,8 @@ class ThrOMP { void ev_tally3_thr(Pair *const, const int, const int, const int, const double, const double, const double *const, const double *const, const double *const, const double *const, ThrData *const); + void v_tally3_thr(Pair *const, const int, const int, const int, const double *const, + const double *const, const double *const, const double *const, ThrData *const); void ev_tally4_thr(Pair *const, const int, const int, const int, const int, const double, const double *const, const double *const, const double *const, const double *const, const double *const, const double *const, ThrData *const); @@ -170,8 +172,6 @@ class ThrOMP { // style independent versions void v_tally2_thr(const int, const int, const double, const double *const, ThrData *const); - void v_tally3_thr(const int, const int, const int, const double *const, const double *const, - const double *const, const double *const, ThrData *const); void v_tally4_thr(const int, const int, const int, const int, const double *const, const double *const, const double *const, const double *const, const double *const, const double *const, ThrData *const); diff --git a/src/pair.cpp b/src/pair.cpp index 5448a42e1c..f27d2ac370 100644 --- a/src/pair.cpp +++ b/src/pair.cpp @@ -1529,12 +1529,23 @@ void Pair::v_tally3(int i, int j, int k, v[4] = THIRD * (drik[0]*fi[2] + drjk[0]*fj[2]); v[5] = THIRD * (drik[1]*fi[2] + drjk[1]*fj[2]); - vatom[i][0] += v[0]; vatom[i][1] += v[1]; vatom[i][2] += v[2]; - vatom[i][3] += v[3]; vatom[i][4] += v[4]; vatom[i][5] += v[5]; - vatom[j][0] += v[0]; vatom[j][1] += v[1]; vatom[j][2] += v[2]; - vatom[j][3] += v[3]; vatom[j][4] += v[4]; vatom[j][5] += v[5]; - vatom[k][0] += v[0]; vatom[k][1] += v[1]; vatom[k][2] += v[2]; - vatom[k][3] += v[3]; vatom[k][4] += v[4]; vatom[k][5] += v[5]; + if (vflag_global) { + virial[0] += 3.0*v[0]; + virial[1] += 3.0*v[1]; + virial[2] += 3.0*v[2]; + virial[3] += 3.0*v[3]; + virial[4] += 3.0*v[4]; + virial[5] += 3.0*v[5]; + } + + if (vflag_atom) { + vatom[i][0] += v[0]; vatom[i][1] += v[1]; vatom[i][2] += v[2]; + vatom[i][3] += v[3]; vatom[i][4] += v[4]; vatom[i][5] += v[5]; + vatom[j][0] += v[0]; vatom[j][1] += v[1]; vatom[j][2] += v[2]; + vatom[j][3] += v[3]; vatom[j][4] += v[4]; vatom[j][5] += v[5]; + vatom[k][0] += v[0]; vatom[k][1] += v[1]; vatom[k][2] += v[2]; + vatom[k][3] += v[3]; vatom[k][4] += v[4]; vatom[k][5] += v[5]; + } } /* ---------------------------------------------------------------------- From 467410d93429324bc6c829742d2b245bc9a677d4 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 11 Jul 2021 00:55:45 -0400 Subject: [PATCH 383/726] recover compilation due to changes in utility functions. still needs fixing --- src/OPENMP/pair_airebo_omp.cpp | 20 ++++++++++---------- src/OPENMP/pair_comb_omp.cpp | 8 ++++---- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/src/OPENMP/pair_airebo_omp.cpp b/src/OPENMP/pair_airebo_omp.cpp index 2e3b35b799..2fff486343 100644 --- a/src/OPENMP/pair_airebo_omp.cpp +++ b/src/OPENMP/pair_airebo_omp.cpp @@ -598,8 +598,8 @@ void PairAIREBOOMP::FLJ_thr(int ifrom, int ito, int evflag, int eflag, f[atomk][1] -= fi[1] + fj[1]; f[atomk][2] -= fi[2] + fj[2]; - if (vflag_atom) - v_tally3_thr(atomi,atomj,atomk,fi,fj,delikS,deljkS,thr); + if (vflag_either) + v_tally3_thr(this,atomi,atomj,atomk,fi,fj,delikS,deljkS,thr); } else if (npath == 4) { fpair1 = dC*dwikS*wkmS*wmjS / rikS; @@ -1197,10 +1197,10 @@ double PairAIREBOOMP::bondorder_thr(int i, int j, double rij[3], double rijmag, f[atomj][0] += fj[0]; f[atomj][1] += fj[1]; f[atomj][2] += fj[2]; f[atomk][0] += fk[0]; f[atomk][1] += fk[1]; f[atomk][2] += fk[2]; - if (vflag_atom) { + if (vflag_either) { rji[0] = -rij[0]; rji[1] = -rij[1]; rji[2] = -rij[2]; rki[0] = -rik[0]; rki[1] = -rik[1]; rki[2] = -rik[2]; - v_tally3_thr(atomi,atomj,atomk,fj,fk,rji,rki,thr); + v_tally3_thr(this,atomi,atomj,atomk,fj,fk,rji,rki,thr); } } } @@ -1342,9 +1342,9 @@ double PairAIREBOOMP::bondorder_thr(int i, int j, double rij[3], double rijmag, f[atomj][0] += fj[0]; f[atomj][1] += fj[1]; f[atomj][2] += fj[2]; f[atoml][0] += fl[0]; f[atoml][1] += fl[1]; f[atoml][2] += fl[2]; - if (vflag_atom) { + if (vflag_either) { rlj[0] = -rjl[0]; rlj[1] = -rjl[1]; rlj[2] = -rjl[2]; - v_tally3_thr(atomi,atomj,atoml,fi,fl,rij,rlj,thr); + v_tally3_thr(this,atomi,atomj,atoml,fi,fl,rij,rlj,thr); } } } @@ -2196,10 +2196,10 @@ double PairAIREBOOMP::bondorderLJ_thr(int i, int j, double /* rij_mod */[3], dou f[atomj][0] += fj[0]; f[atomj][1] += fj[1]; f[atomj][2] += fj[2]; f[atomk][0] += fk[0]; f[atomk][1] += fk[1]; f[atomk][2] += fk[2]; - if (vflag_atom) { + if (vflag_either) { rji[0] = -rij[0]; rji[1] = -rij[1]; rji[2] = -rij[2]; rki[0] = -rik[0]; rki[1] = -rik[1]; rki[2] = -rik[2]; - v_tally3_thr(atomi,atomj,atomk,fj,fk,rji,rki,thr); + v_tally3_thr(this,atomi,atomj,atomk,fj,fk,rji,rki,thr); } } } @@ -2300,9 +2300,9 @@ double PairAIREBOOMP::bondorderLJ_thr(int i, int j, double /* rij_mod */[3], dou f[atomj][0] += fj[0]; f[atomj][1] += fj[1]; f[atomj][2] += fj[2]; f[atoml][0] += fl[0]; f[atoml][1] += fl[1]; f[atoml][2] += fl[2]; - if (vflag_atom) { + if (vflag_either) { rlj[0] = -rjl[0]; rlj[1] = -rjl[1]; rlj[2] = -rjl[2]; - v_tally3_thr(atomi,atomj,atoml,fi,fl,rij,rlj,thr); + v_tally3_thr(this,atomi,atomj,atoml,fi,fl,rij,rlj,thr); } } } diff --git a/src/OPENMP/pair_comb_omp.cpp b/src/OPENMP/pair_comb_omp.cpp index 7c0c14f7e5..169704b289 100644 --- a/src/OPENMP/pair_comb_omp.cpp +++ b/src/OPENMP/pair_comb_omp.cpp @@ -70,10 +70,10 @@ void PairCombOMP::compute(int eflag, int vflag) if (evflag) { if (eflag) { - if (vflag_atom) eval<1,1,1>(ifrom, ito, thr); + if (vflag_either) eval<1,1,1>(ifrom, ito, thr); else eval<1,1,0>(ifrom, ito, thr); } else { - if (vflag_atom) eval<1,0,1>(ifrom, ito, thr); + if (vflag_either) eval<1,0,1>(ifrom, ito, thr); else eval<1,0,0>(ifrom, ito, thr); } } else eval<0,0,0>(ifrom, ito, thr); @@ -83,7 +83,7 @@ void PairCombOMP::compute(int eflag, int vflag) } // end of omp parallel region } -template +template void PairCombOMP::eval(int iifrom, int iito, ThrData * const thr) { int i,j,k,ii,jj,kk,jnum,iparam_i; @@ -365,7 +365,7 @@ void PairCombOMP::eval(int iifrom, int iito, ThrData * const thr) if (EVFLAG) ev_tally_thr(this,i,j,nlocal,/* newton_pair */ 1, elp_ij,0.0,0.0,0.0,0.0,0.0, thr); - if (VFLAG_ATOM) v_tally3_thr(i,j,k,fj,fk,delr1,delr2,thr); + if (VFLAG_EITHER) v_tally3_thr(this,i,j,k,fj,fk,delr1,delr2,thr); } f[j][0] += fjxtmp; f[j][1] += fjytmp; From 0e440f9a42a3049ea7f493a7d86d6869a3e37629 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 11 Jul 2021 00:56:14 -0400 Subject: [PATCH 384/726] more general mapping of tersoff/intel to tersoff when non-Intel compiler is used --- src/INTEL/pair_tersoff_intel.cpp | 35 ++++++++------------------------ src/INTEL/pair_tersoff_intel.h | 7 +++++++ 2 files changed, 15 insertions(+), 27 deletions(-) diff --git a/src/INTEL/pair_tersoff_intel.cpp b/src/INTEL/pair_tersoff_intel.cpp index 707e8404ff..ad78e920b5 100644 --- a/src/INTEL/pair_tersoff_intel.cpp +++ b/src/INTEL/pair_tersoff_intel.cpp @@ -16,11 +16,8 @@ Contributing author: Markus Höhnerbach (RWTH) ------------------------------------------------------------------------- */ -#include -#include - -#include #include "pair_tersoff_intel.h" + #include "atom.h" #include "neighbor.h" #include "neigh_list.h" @@ -30,30 +27,14 @@ #include "memory.h" #include "error.h" -// Currently Intel compiler is required for this pair style. -// For convenience, base class routines are called if not using Intel compiler. -#ifndef __INTEL_COMPILER +#include +#include + using namespace LAMMPS_NS; -PairTersoffIntel::PairTersoffIntel(LAMMPS *lmp) : PairTersoff(lmp) -{ -} - -void PairTersoffIntel::compute(int eflag, int vflag) -{ - PairTersoff::compute(eflag, vflag); -} - -void PairTersoffIntel::init_style() -{ - if (comm->me == 0) { - error->warning(FLERR, "Tersoff/intel currently requires intel compiler. " - "Using MANYBODY version."); - } - PairTersoff::init_style(); -} - -#else +// Currently the Intel compiler is required for this pair style. +// For convenience, the style is mapped to the base class for other compilers +#ifdef __INTEL_COMPILER #ifdef _LMP_INTEL_OFFLOAD #pragma offload_attribute(push,target(mic)) @@ -1439,4 +1420,4 @@ void IntelKernelTersoff::attractive_vector( #pragma offload_attribute(pop) #endif -#endif +#endif // __INTEL_COMPILER diff --git a/src/INTEL/pair_tersoff_intel.h b/src/INTEL/pair_tersoff_intel.h index b613a00194..0bf32c7556 100644 --- a/src/INTEL/pair_tersoff_intel.h +++ b/src/INTEL/pair_tersoff_intel.h @@ -14,7 +14,14 @@ #ifdef PAIR_CLASS // clang-format off +// Currently the Intel compilers are required for this pair style. +// For convenience, we are mapping the style to the base class. + +#ifdef __INTEL_COMPILER PairStyle(tersoff/intel,PairTersoffIntel); +#else +PairStyle(tersoff/intel,PairTersoff); +#endif // clang-format on #else From 03c55c14bc5159e85c820ab0ad9a3790de204242 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 11 Jul 2021 01:07:31 -0400 Subject: [PATCH 385/726] avoid unneeded computations/tallying, small cleanups --- src/OPENMP/pair_tersoff_table_omp.cpp | 1 - src/USER-MISC/pair_tersoff_table.cpp | 27 ++++++++------------------- 2 files changed, 8 insertions(+), 20 deletions(-) diff --git a/src/OPENMP/pair_tersoff_table_omp.cpp b/src/OPENMP/pair_tersoff_table_omp.cpp index c5fc60ea90..47ee2feca8 100644 --- a/src/OPENMP/pair_tersoff_table_omp.cpp +++ b/src/OPENMP/pair_tersoff_table_omp.cpp @@ -494,7 +494,6 @@ void PairTersoffTableOMP::eval(int iifrom, int iito, ThrData * const thr) fztmp += f_ij[2] + f_ik[2]; if (VFLAG_EITHER) v_tally3_thr(this,i,j,k,f_ij,f_ik,dr_ij,dr_ik,thr); - } } // loop on J f[i].x += fxtmp; diff --git a/src/USER-MISC/pair_tersoff_table.cpp b/src/USER-MISC/pair_tersoff_table.cpp index 016213e505..e64e5bce02 100644 --- a/src/USER-MISC/pair_tersoff_table.cpp +++ b/src/USER-MISC/pair_tersoff_table.cpp @@ -145,13 +145,10 @@ void PairTersoffTable::compute(int eflag, int vflag) jlist = firstneigh[i]; jnum = numneigh[i]; - if (jnum > leadingDimensionInteractionList) { - char errmsg[256]; - sprintf(errmsg,"Too many neighbors for interaction list: %d vs %d.\n" - "Check your system or increase 'leadingDimensionInteractionList'", - jnum, leadingDimensionInteractionList); - error->one(FLERR,errmsg); - } + if (jnum > leadingDimensionInteractionList) + error->one(FLERR,"Too many neighbors for interaction list: {} vs {}.\n" + "Check your system or increase 'leadingDimensionInteractionList'", + jnum, leadingDimensionInteractionList); // Pre-calculate gteta and cutoff function for (int neighbor_j = 0; neighbor_j < jnum; neighbor_j++) { @@ -434,10 +431,7 @@ void PairTersoffTable::compute(int eflag, int vflag) fytmp += f_ij[1] + f_ik[1]; fztmp += f_ij[2] + f_ik[2]; - // potential energy - evdwl = 0.0; - - if (evflag) ev_tally3(i,j,k,evdwl,0.0,f_ij,f_ik,dr_ij,dr_ik); + if (vflag_either) v_tally3(i,j,k,f_ij,f_ik,dr_ij,dr_ik); } // second loop over neighbors of atom i except j, forces and virial only - part 2/2 @@ -499,11 +493,7 @@ void PairTersoffTable::compute(int eflag, int vflag) fytmp += f_ij[1] + f_ik[1]; fztmp += f_ij[2] + f_ik[2]; - // potential energy - evdwl = 0.0; - - if (evflag) ev_tally3(i,j,k,evdwl,0.0,f_ij,f_ik,dr_ij,dr_ik); - + if (vflag_either) v_tally3(i,j,k,f_ij,f_ik,dr_ij,dr_ik); } } // loop on J f[i][0] += fxtmp; @@ -755,7 +745,7 @@ void PairTersoffTable::coeff(int narg, char **arg) void PairTersoffTable::init_style() { if (force->newton_pair == 0) - error->all(FLERR,"Pair style Tersoff requires newton pair on"); + error->all(FLERR,"Pair style tersoff/table requires newton pair on"); // need a full neighbor list @@ -888,9 +878,8 @@ void PairTersoffTable::read_file(char *file) MPI_Bcast(&nparams, 1, MPI_INT, 0, world); MPI_Bcast(&maxparam, 1, MPI_INT, 0, world); - if (comm->me != 0) { + if (comm->me != 0) params = (Param *) memory->srealloc(params,maxparam*sizeof(Param), "pair:params"); - } MPI_Bcast(params, maxparam*sizeof(Param), MPI_BYTE, 0, world); } From 9898941169d6952edfec1ac558e1a36df4f04c10 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 11 Jul 2021 07:59:50 -0400 Subject: [PATCH 386/726] update tersoff docs about tersoff/intel requiring intel compilers --- doc/src/pair_tersoff.rst | 6 +++--- src/INTEL/pair_tersoff_intel.cpp | 1 - src/INTEL/pair_tersoff_intel.h | 9 +++------ 3 files changed, 6 insertions(+), 10 deletions(-) diff --git a/doc/src/pair_tersoff.rst b/doc/src/pair_tersoff.rst index 0f0750e9df..4fa77fc032 100644 --- a/doc/src/pair_tersoff.rst +++ b/doc/src/pair_tersoff.rst @@ -16,9 +16,6 @@ pair_style tersoff/table command Accelerator Variants: *tersoff/table/omp* -pair_style tersoff/shift command -================================ - Syntax """""" @@ -309,6 +306,9 @@ The *shift* keyword is not supported by the *tersoff/gpu*, *tersoff/intel*, *tersoff/kk*, *tersoff/table* or *tersoff/table/omp* variants. +The *tersoff/intel* pair style is only available when compiling LAMMPS +with the Intel compilers. + The Tersoff potential files provided with LAMMPS (see the potentials directory) are parameterized for :doc:`"metal" units `. In addition the pair style supports converting potential parameters on-the-fly between diff --git a/src/INTEL/pair_tersoff_intel.cpp b/src/INTEL/pair_tersoff_intel.cpp index ad78e920b5..b6de446397 100644 --- a/src/INTEL/pair_tersoff_intel.cpp +++ b/src/INTEL/pair_tersoff_intel.cpp @@ -33,7 +33,6 @@ using namespace LAMMPS_NS; // Currently the Intel compiler is required for this pair style. -// For convenience, the style is mapped to the base class for other compilers #ifdef __INTEL_COMPILER #ifdef _LMP_INTEL_OFFLOAD diff --git a/src/INTEL/pair_tersoff_intel.h b/src/INTEL/pair_tersoff_intel.h index 0bf32c7556..0a40844622 100644 --- a/src/INTEL/pair_tersoff_intel.h +++ b/src/INTEL/pair_tersoff_intel.h @@ -15,12 +15,8 @@ #ifdef PAIR_CLASS // clang-format off // Currently the Intel compilers are required for this pair style. -// For convenience, we are mapping the style to the base class. - #ifdef __INTEL_COMPILER PairStyle(tersoff/intel,PairTersoffIntel); -#else -PairStyle(tersoff/intel,PairTersoff); #endif // clang-format on #else @@ -28,6 +24,8 @@ PairStyle(tersoff/intel,PairTersoff); #ifndef LMP_PAIR_TERSOFF_INTEL_H #define LMP_PAIR_TERSOFF_INTEL_H +#ifdef __INTEL_COMPILER + #include "pair.h" #include "fix_intel.h" #include "pair_tersoff.h" @@ -40,7 +38,6 @@ class PairTersoffIntel : public PairTersoff { virtual void compute(int, int); void init_style(); -#ifdef __INTEL_COMPILER protected: typedef struct { float x,y,z; int w; } sng4_t; @@ -95,10 +92,10 @@ class PairTersoffIntel : public PairTersoff { template void pack_force_const(ForceConst &fc, IntelBuffers *buffers); -#endif // __INTEL_COMPILER }; } +#endif // __INTEL_COMPILER #endif #endif From a4748b4c28d00a0df37d512f3b2eb6e7ff66fd8f Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 11 Jul 2021 08:20:20 -0400 Subject: [PATCH 387/726] update several MANYBODY potentials for pair_modify nofdotr --- src/MANYBODY/pair_gw.cpp | 2 +- src/MANYBODY/pair_lcbop.cpp | 57 ++++++++++++++++-------------------- src/MANYBODY/pair_lcbop.h | 8 ++--- src/USER-MISC/pair_extep.cpp | 2 +- 4 files changed, 31 insertions(+), 38 deletions(-) diff --git a/src/MANYBODY/pair_gw.cpp b/src/MANYBODY/pair_gw.cpp index 71a0038bb6..98826f98f6 100644 --- a/src/MANYBODY/pair_gw.cpp +++ b/src/MANYBODY/pair_gw.cpp @@ -227,7 +227,7 @@ void PairGW::compute(int eflag, int vflag) f[k][1] += fk[1]; f[k][2] += fk[2]; - if (vflag_atom) v_tally3(i,j,k,fj,fk,delr1,delr2); + if (vflag_either) v_tally3(i,j,k,fj,fk,delr1,delr2); } // kk } // jj } // ii diff --git a/src/MANYBODY/pair_lcbop.cpp b/src/MANYBODY/pair_lcbop.cpp index 1af884d814..f1223e1eba 100644 --- a/src/MANYBODY/pair_lcbop.cpp +++ b/src/MANYBODY/pair_lcbop.cpp @@ -67,7 +67,7 @@ PairLCBOP::~PairLCBOP() { memory->destroy(SR_numneigh); memory->sfree(SR_firstneigh); - delete [] ipage; + delete[] ipage; memory->destroy(N); memory->destroy(M); @@ -167,7 +167,7 @@ void PairLCBOP::init_style() if (oneatom != neighbor->oneatom) create = 1; if (create) { - delete [] ipage; + delete[] ipage; pgsize = neighbor->pgsize; oneatom = neighbor->oneatom; @@ -386,7 +386,7 @@ void PairLCBOP::FSR(int eflag, int /*vflag*/) del[0] = delx; del[1] = dely; del[2] = delz; - Bij = bondorder(i,j,del,rijmag,VA,f,vflag_atom); + Bij = bondorder(i,j,del,rijmag,VA,f); dVAdi = Bij*dVA; // F = (dVRdi+dVAdi)*(-grad rijmag) @@ -402,8 +402,7 @@ void PairLCBOP::FSR(int eflag, int /*vflag*/) double evdwl=0.0; if (eflag) evdwl = VR - Bij*VA; - if (evflag) ev_tally(i,j,nlocal,newton_pair, - evdwl,0.0,fpair,delx,dely,delz); + if (evflag) ev_tally(i,j,nlocal,newton_pair,evdwl,0.0,fpair,delx,dely,delz); } } } @@ -493,8 +492,7 @@ void PairLCBOP::FLR(int eflag, int /*vflag*/) double evdwl=0.0; if (eflag) evdwl = V; - if (evflag) ev_tally(i,j,nlocal,newton_pair, - evdwl,0.0,fpair,delx,dely,delz); + if (evflag) ev_tally(i,j,nlocal,newton_pair,evdwl,0.0,fpair,delx,dely,delz); } } } @@ -503,7 +501,7 @@ void PairLCBOP::FLR(int eflag, int /*vflag*/) forces for Nij and Mij ------------------------------------------------------------------------- */ -void PairLCBOP::FNij( int i, int j, double factor, double **f, int vflag_atom) { +void PairLCBOP::FNij( int i, int j, double factor, double **f) { int atomi = i; int atomj = j; int *SR_neighs = SR_firstneigh[i]; @@ -532,7 +530,7 @@ void PairLCBOP::FNij( int i, int j, double factor, double **f, int vflag_atom) { f[atomk][1] -= rik[1]*fpair; f[atomk][2] -= rik[2]*fpair; - if (vflag_atom) v_tally2(atomi,atomk,fpair,rik); + if (vflag_either) v_tally2(atomi,atomk,fpair,rik); } } } @@ -540,7 +538,7 @@ void PairLCBOP::FNij( int i, int j, double factor, double **f, int vflag_atom) { /* ---------------------------------------------------------------------- */ -void PairLCBOP::FMij( int i, int j, double factor, double **f, int vflag_atom) { +void PairLCBOP::FMij( int i, int j, double factor, double **f) { int atomi = i; int atomj = j; int *SR_neighs = SR_firstneigh[i]; @@ -573,12 +571,12 @@ void PairLCBOP::FMij( int i, int j, double factor, double **f, int vflag_atom) { f[atomk][0] -= rik[0]*fpair; f[atomk][1] -= rik[1]*fpair; f[atomk][2] -= rik[2]*fpair; - if (vflag_atom) v_tally2(atomi,atomk,fpair,rik); + if (vflag_either) v_tally2(atomi,atomk,fpair,rik); } if (dF > TOL) { double factor2 = factor*f_c_ik*dF; - FNij( atomk, atomi, factor2, f, vflag_atom ); + FNij(atomk, atomi, factor2, f); } } } @@ -588,17 +586,15 @@ void PairLCBOP::FMij( int i, int j, double factor, double **f, int vflag_atom) { Bij function ------------------------------------------------------------------------- */ -double PairLCBOP::bondorder(int i, int j, double rij[3], - double rijmag, double VA, - double **f, int vflag_atom) +double PairLCBOP::bondorder(int i, int j, double rij[3],double rijmag, double VA,double **f) { double bij, bji; /* bij & bji */{ double rji[3]; rji[0] = -rij[0]; rji[1] = -rij[1]; rji[2] = -rij[2]; - bij = b(i,j,rij,rijmag,VA,f,vflag_atom); - bji = b(j,i,rji,rijmag,VA,f,vflag_atom); + bij = b(i,j,rij,rijmag,VA,f); + bji = b(j,i,rji,rijmag,VA,f); } double Fij_conj; @@ -663,31 +659,30 @@ double PairLCBOP::bondorder(int i, int j, double rij[3], } double dF_dNij, dF_dNji, dF_dNconj; - Fij_conj = F_conj( Nij, Nji, Nconj, &dF_dNij, &dF_dNji, &dF_dNconj ); + Fij_conj = F_conj(Nij, Nji, Nconj, &dF_dNij, &dF_dNji, &dF_dNconj); /*forces for Nij*/ if (3-Nij > TOL) { - double factor = -VA*0.5*( dF_dNij + dF_dNconj*( dNconj_dNij + dNconj_dNel*dNij_el_dNij ) ); - FNij( i, j, factor, f, vflag_atom ); + double factor = -VA*0.5*(dF_dNij + dF_dNconj*(dNconj_dNij + dNconj_dNel*dNij_el_dNij)); + FNij(i, j, factor, f); } /*forces for Nji*/ if (3-Nji > TOL) { - double factor = -VA*0.5*( dF_dNji + dF_dNconj*( dNconj_dNji + dNconj_dNel*dNji_el_dNji ) ); - FNij( j, i, factor, f, vflag_atom ); + double factor = -VA*0.5*(dF_dNji + dF_dNconj*(dNconj_dNji + dNconj_dNel*dNji_el_dNji)); + FNij(j, i, factor, f); } /*forces for Mij*/ if (3-Mij > TOL) { - double factor = -VA*0.5*( dF_dNconj*dNconj_dNel*dNij_el_dMij ); - FMij( i, j, factor, f, vflag_atom ); + double factor = -VA*0.5*(dF_dNconj*dNconj_dNel*dNij_el_dMij); + FMij(i, j, factor, f); } if (3-Mji > TOL) { - double factor = -VA*0.5*( dF_dNconj*dNconj_dNel*dNji_el_dMji ); - FMij( j, i, factor, f, vflag_atom ); + double factor = -VA*0.5*(dF_dNconj*dNconj_dNel*dNji_el_dMji); + FMij(j,i,factor,f); } } - - double Bij = 0.5*( bij + bji + Fij_conj ); + double Bij = 0.5*(bij + bji + Fij_conj); return Bij; } @@ -695,9 +690,7 @@ double PairLCBOP::bondorder(int i, int j, double rij[3], bij function ------------------------------------------------------------------------- */ -double PairLCBOP::b(int i, int j, double rij[3], - double rijmag, double VA, - double **f, int vflag_atom) { +double PairLCBOP::b(int i, int j, double rij[3], double rijmag, double VA, double **f) { int *SR_neighs = SR_firstneigh[i]; double **x = atom->x; int atomi = i; @@ -818,7 +811,7 @@ double PairLCBOP::b(int i, int j, double rij[3], f[atomj][0] += fj[0]; f[atomj][1] += fj[1]; f[atomj][2] += fj[2]; f[atomk][0] += fk[0]; f[atomk][1] += fk[1]; f[atomk][2] += fk[2]; - if (vflag_atom) { + if (vflag_either) { double rji[3], rki[3]; rji[0] = -rij[0]; rji[1] = -rij[1]; rji[2] = -rij[2]; rki[0] = -rik[0]; rki[1] = -rik[1]; rki[2] = -rik[2]; diff --git a/src/MANYBODY/pair_lcbop.h b/src/MANYBODY/pair_lcbop.h index 9350283f18..836e66e160 100644 --- a/src/MANYBODY/pair_lcbop.h +++ b/src/MANYBODY/pair_lcbop.h @@ -76,10 +76,10 @@ class PairLCBOP : public Pair { void FSR(int, int); void FLR(int, int); - void FNij(int, int, double, double **, int); - void FMij(int, int, double, double **, int); - double bondorder(int, int, double *, double, double, double **, int); - double b(int, int, double *, double, double, double **, int); + void FNij(int, int, double, double **); + void FMij(int, int, double, double **); + double bondorder(int, int, double *, double, double, double **); + double b(int, int, double *, double, double, double **); double gSpline(double, double *); double hSpline(double, double *); diff --git a/src/USER-MISC/pair_extep.cpp b/src/USER-MISC/pair_extep.cpp index 554aafe8ee..5628185cdb 100644 --- a/src/USER-MISC/pair_extep.cpp +++ b/src/USER-MISC/pair_extep.cpp @@ -410,7 +410,7 @@ void PairExTeP::compute(int eflag, int vflag) f[k][1] += fk[1]; f[k][2] += fk[2]; - if (vflag_atom) v_tally3(i,j,k,fj,fk,delr1,delr2); + if (vflag_either) v_tally3(i,j,k,fj,fk,delr1,delr2); } } } From 50da38722a786021dd16a03e4fda3b5e0ab10fd1 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 11 Jul 2021 08:20:59 -0400 Subject: [PATCH 388/726] make airebo compatible with pair_modify nofdotr --- src/MANYBODY/pair_airebo.cpp | 98 +++++++++---------- src/MANYBODY/pair_airebo.h | 10 +- src/OPENMP/pair_airebo_omp.cpp | 87 ++++++++--------- src/OPENMP/pair_airebo_omp.h | 13 +-- src/OPENMP/thr_omp.cpp | 62 ++++++++---- src/OPENMP/thr_omp.h | 9 +- src/pair.cpp | 114 +++++++++++++++------- unittest/force-styles/test_pair_style.cpp | 10 +- 8 files changed, 228 insertions(+), 175 deletions(-) diff --git a/src/MANYBODY/pair_airebo.cpp b/src/MANYBODY/pair_airebo.cpp index b18dbfef90..67ff81d4a3 100644 --- a/src/MANYBODY/pair_airebo.cpp +++ b/src/MANYBODY/pair_airebo.cpp @@ -85,10 +85,10 @@ PairAIREBO::~PairAIREBO() { memory->destroy(REBO_numneigh); memory->sfree(REBO_firstneigh); - delete [] ipage; + delete[] ipage; memory->destroy(nC); memory->destroy(nH); - delete [] pvector; + delete[] pvector; if (allocated) { memory->destroy(setflag); @@ -100,7 +100,7 @@ PairAIREBO::~PairAIREBO() memory->destroy(lj2); memory->destroy(lj3); memory->destroy(lj4); - delete [] map; + delete[] map; } } @@ -112,9 +112,9 @@ void PairAIREBO::compute(int eflag, int vflag) pvector[0] = pvector[1] = pvector[2] = 0.0; REBO_neigh(); - FREBO(eflag,vflag); - if (ljflag) FLJ(eflag,vflag); - if (torflag) TORSION(eflag,vflag); + FREBO(eflag); + if (ljflag) FLJ(eflag); + if (torflag) TORSION(eflag); if (vflag_fdotr) virial_fdotr_compute(); } @@ -252,7 +252,7 @@ void PairAIREBO::init_style() if (oneatom != neighbor->oneatom) create = 1; if (create) { - delete [] ipage; + delete[] ipage; pgsize = neighbor->pgsize; oneatom = neighbor->oneatom; @@ -421,7 +421,7 @@ void PairAIREBO::REBO_neigh() REBO forces and energy ------------------------------------------------------------------------- */ -void PairAIREBO::FREBO(int eflag, int /*vflag*/) +void PairAIREBO::FREBO(int eflag) { int i,j,k,m,ii,inum,itype,jtype; tagint itag,jtag; @@ -497,7 +497,7 @@ void PairAIREBO::FREBO(int eflag, int /*vflag*/) del[0] = delx; del[1] = dely; del[2] = delz; - bij = bondorder(i,j,del,rij,VA,f,vflag_atom); + bij = bondorder(i,j,del,rij,VA,f); dVAdi = bij*dVA; fpair = -(dVRdi+dVAdi) / rij; @@ -520,7 +520,7 @@ void PairAIREBO::FREBO(int eflag, int /*vflag*/) find 3- and 4-step paths between atoms I,J via REBO neighbor lists ------------------------------------------------------------------------- */ -void PairAIREBO::FLJ(int eflag, int /*vflag*/) +void PairAIREBO::FLJ(int eflag) { int i,j,k,m,ii,jj,kk,mm,inum,jnum,itype,jtype,ktype,mtype; int atomi,atomj,atomk,atomm; @@ -786,8 +786,7 @@ void PairAIREBO::FLJ(int eflag, int /*vflag*/) delscale[0] = scale * delij[0]; delscale[1] = scale * delij[1]; delscale[2] = scale * delij[2]; - Stb = bondorderLJ(i,j,delscale,rcmin[itype][jtype],VA, - delij,rij,f,vflag_atom); + Stb = bondorderLJ(i,j,delscale,rcmin[itype][jtype],VA,delij,rij,f); } else Stb = 0.0; fpair = -(dStr * (Stb*cij*VLJ - cij*VLJ) + @@ -815,7 +814,7 @@ void PairAIREBO::FLJ(int eflag, int /*vflag*/) f[atomj][1] -= delij[1]*fpair; f[atomj][2] -= delij[2]*fpair; - if (vflag_atom) v_tally2(atomi,atomj,fpair,delij); + if (vflag_either) v_tally2(atomi,atomj,fpair,delij); } else if (npath == 3) { fpair1 = dC*dwikS*wkjS / rikS; @@ -837,7 +836,7 @@ void PairAIREBO::FLJ(int eflag, int /*vflag*/) f[atomk][1] -= fi[1] + fj[1]; f[atomk][2] -= fi[2] + fj[2]; - if (vflag_atom) + if (vflag_either) v_tally3(atomi,atomj,atomk,fi,fj,delikS,deljkS); } else if (npath == 4) { @@ -873,7 +872,7 @@ void PairAIREBO::FLJ(int eflag, int /*vflag*/) f[atomm][1] += fm[1]; f[atomm][2] += fm[2]; - if (vflag_atom) { + if (vflag_either) { delimS[0] = delikS[0] + delkmS[0]; delimS[1] = delikS[1] + delkmS[1]; delimS[2] = delikS[2] + delkmS[2]; @@ -889,7 +888,7 @@ void PairAIREBO::FLJ(int eflag, int /*vflag*/) torsional forces and energy ------------------------------------------------------------------------- */ -void PairAIREBO::TORSION(int eflag, int /*vflag*/) +void PairAIREBO::TORSION(int eflag) { int i,j,k,l,ii,inum; tagint itag,jtag; @@ -1249,9 +1248,7 @@ void PairAIREBO::TORSION(int eflag, int /*vflag*/) Bij function ------------------------------------------------------------------------- */ -double PairAIREBO::bondorder(int i, int j, double rij[3], - double rijmag, double VA, - double **f, int vflag_atom) +double PairAIREBO::bondorder(int i, int j, double rij[3], double rijmag, double VA, double **f) { int atomi,atomj,k,n,l,atomk,atoml,atomn,atom1,atom2,atom3,atom4; int itype,jtype,ktype,ltype,ntype; @@ -1435,7 +1432,7 @@ double PairAIREBO::bondorder(int i, int j, double rij[3], f[atomj][0] += fj[0]; f[atomj][1] += fj[1]; f[atomj][2] += fj[2]; f[atomk][0] += fk[0]; f[atomk][1] += fk[1]; f[atomk][2] += fk[2]; - if (vflag_atom) { + if (vflag_either) { rji[0] = -rij[0]; rji[1] = -rij[1]; rji[2] = -rij[2]; rki[0] = -rik[0]; rki[1] = -rik[1]; rki[2] = -rik[2]; v_tally3(atomi,atomj,atomk,fj,fk,rji,rki); @@ -1577,7 +1574,7 @@ double PairAIREBO::bondorder(int i, int j, double rij[3], f[atomj][0] += fj[0]; f[atomj][1] += fj[1]; f[atomj][2] += fj[2]; f[atoml][0] += fl[0]; f[atoml][1] += fl[1]; f[atoml][2] += fl[2]; - if (vflag_atom) { + if (vflag_either) { rlj[0] = -rjl[0]; rlj[1] = -rjl[1]; rlj[2] = -rjl[2]; v_tally3(atomi,atomj,atoml,fi,fl,rij,rlj); } @@ -1613,7 +1610,7 @@ double PairAIREBO::bondorder(int i, int j, double rij[3], f[atomk][1] += tmp2*rik[1]; f[atomk][2] += tmp2*rik[2]; - if (vflag_atom) v_tally2(atomi,atomk,-tmp2,rik); + if (vflag_either) v_tally2(atomi,atomk,-tmp2,rik); // due to kronecker(ktype, 0) term in contribution // to NconjtmpI and later Nijconj @@ -1627,7 +1624,7 @@ double PairAIREBO::bondorder(int i, int j, double rij[3], f[atomk][1] += tmp2*rik[1]; f[atomk][2] += tmp2*rik[2]; - if (vflag_atom) v_tally2(atomi,atomk,-tmp2,rik); + if (vflag_either) v_tally2(atomi,atomk,-tmp2,rik); if (fabs(dNki) > TOL) { REBO_neighs_k = REBO_firstneigh[atomk]; @@ -1649,7 +1646,7 @@ double PairAIREBO::bondorder(int i, int j, double rij[3], f[atomn][1] += tmp2*rkn[1]; f[atomn][2] += tmp2*rkn[2]; - if (vflag_atom) v_tally2(atomk,atomn,-tmp2,rkn); + if (vflag_either) v_tally2(atomk,atomn,-tmp2,rkn); } } } @@ -1680,7 +1677,7 @@ double PairAIREBO::bondorder(int i, int j, double rij[3], f[atoml][1] += tmp2*rjl[1]; f[atoml][2] += tmp2*rjl[2]; - if (vflag_atom) v_tally2(atomj,atoml,-tmp2,rjl); + if (vflag_either) v_tally2(atomj,atoml,-tmp2,rjl); // due to kronecker(ltype, 0) term in contribution // to NconjtmpJ and later Nijconj @@ -1694,7 +1691,7 @@ double PairAIREBO::bondorder(int i, int j, double rij[3], f[atoml][1] += tmp2*rjl[1]; f[atoml][2] += tmp2*rjl[2]; - if (vflag_atom) v_tally2(atomj,atoml,-tmp2,rjl); + if (vflag_either) v_tally2(atomj,atoml,-tmp2,rjl); if (fabs(dNlj) > TOL) { REBO_neighs_l = REBO_firstneigh[atoml]; @@ -1716,7 +1713,7 @@ double PairAIREBO::bondorder(int i, int j, double rij[3], f[atomn][1] += tmp2*rln[1]; f[atomn][2] += tmp2*rln[2]; - if (vflag_atom) v_tally2(atoml,atomn,-tmp2,rln); + if (vflag_either) v_tally2(atoml,atomn,-tmp2,rln); } } } @@ -1928,7 +1925,7 @@ double PairAIREBO::bondorder(int i, int j, double rij[3], f[atom4][0] += f4[0]; f[atom4][1] += f4[1]; f[atom4][2] += f4[2]; - if (vflag_atom) { + if (vflag_either) { r13[0] = -rjk[0]; r13[1] = -rjk[1]; r13[2] = -rjk[2]; r43[0] = -r34[0]; r43[1] = -r34[1]; r43[2] = -r34[2]; v_tally4(atom1,atom2,atom3,atom4,f1,f2,f4,r13,r23,r43); @@ -1964,7 +1961,7 @@ double PairAIREBO::bondorder(int i, int j, double rij[3], f[atomk][1] += tmp2*rik[1]; f[atomk][2] += tmp2*rik[2]; - if (vflag_atom) v_tally2(atomi,atomk,-tmp2,rik); + if (vflag_either) v_tally2(atomi,atomk,-tmp2,rik); // due to kronecker(ktype, 0) term in contribution // to NconjtmpI and later Nijconj @@ -1978,7 +1975,7 @@ double PairAIREBO::bondorder(int i, int j, double rij[3], f[atomk][1] += tmp2*rik[1]; f[atomk][2] += tmp2*rik[2]; - if (vflag_atom) v_tally2(atomi,atomk,-tmp2,rik); + if (vflag_either) v_tally2(atomi,atomk,-tmp2,rik); if (fabs(dNki) > TOL) { REBO_neighs_k = REBO_firstneigh[atomk]; @@ -2000,7 +1997,7 @@ double PairAIREBO::bondorder(int i, int j, double rij[3], f[atomn][1] += tmp2*rkn[1]; f[atomn][2] += tmp2*rkn[2]; - if (vflag_atom) v_tally2(atomk,atomn,-tmp2,rkn); + if (vflag_either) v_tally2(atomk,atomn,-tmp2,rkn); } } } @@ -2031,7 +2028,7 @@ double PairAIREBO::bondorder(int i, int j, double rij[3], f[atoml][1] += tmp2*rjl[1]; f[atoml][2] += tmp2*rjl[2]; - if (vflag_atom) v_tally2(atomj,atoml,-tmp2,rjl); + if (vflag_either) v_tally2(atomj,atoml,-tmp2,rjl); // due to kronecker(ltype, 0) term in contribution // to NconjtmpJ and later Nijconj @@ -2045,7 +2042,7 @@ double PairAIREBO::bondorder(int i, int j, double rij[3], f[atoml][1] += tmp2*rjl[1]; f[atoml][2] += tmp2*rjl[2]; - if (vflag_atom) v_tally2(atomj,atoml,-tmp2,rjl); + if (vflag_either) v_tally2(atomj,atoml,-tmp2,rjl); if (fabs(dNlj) > TOL) { REBO_neighs_l = REBO_firstneigh[atoml]; @@ -2067,7 +2064,7 @@ double PairAIREBO::bondorder(int i, int j, double rij[3], f[atomn][1] += tmp2*rln[1]; f[atomn][2] += tmp2*rln[2]; - if (vflag_atom) v_tally2(atoml,atomn,-tmp2,rln); + if (vflag_either) v_tally2(atoml,atomn,-tmp2,rln); } } } @@ -2113,8 +2110,7 @@ but of the vector r_ij. */ double PairAIREBO::bondorderLJ(int i, int j, double /* rij_mod */[3], double rijmag_mod, - double VA, double rij[3], double rijmag, - double **f, int vflag_atom) + double VA, double rij[3], double rijmag, double **f) { int atomi,atomj,k,n,l,atomk,atoml,atomn,atom1,atom2,atom3,atom4; int itype,jtype,ktype,ltype,ntype; @@ -2438,7 +2434,7 @@ double PairAIREBO::bondorderLJ(int i, int j, double /* rij_mod */[3], double rij f[atomj][0] += fj[0]; f[atomj][1] += fj[1]; f[atomj][2] += fj[2]; f[atomk][0] += fk[0]; f[atomk][1] += fk[1]; f[atomk][2] += fk[2]; - if (vflag_atom) { + if (vflag_either) { rji[0] = -rij[0]; rji[1] = -rij[1]; rji[2] = -rij[2]; rki[0] = -rik[0]; rki[1] = -rik[1]; rki[2] = -rik[2]; v_tally3(atomi,atomj,atomk,fj,fk,rji,rki); @@ -2542,7 +2538,7 @@ double PairAIREBO::bondorderLJ(int i, int j, double /* rij_mod */[3], double rij f[atomj][0] += fj[0]; f[atomj][1] += fj[1]; f[atomj][2] += fj[2]; f[atoml][0] += fl[0]; f[atoml][1] += fl[1]; f[atoml][2] += fl[2]; - if (vflag_atom) { + if (vflag_either) { rlj[0] = -rjl[0]; rlj[1] = -rjl[1]; rlj[2] = -rjl[2]; v_tally3(atomi,atomj,atoml,fi,fl,rij,rlj); } @@ -2577,7 +2573,7 @@ double PairAIREBO::bondorderLJ(int i, int j, double /* rij_mod */[3], double rij f[atomk][1] += tmp2*rik[1]; f[atomk][2] += tmp2*rik[2]; - if (vflag_atom) v_tally2(atomi,atomk,-tmp2,rik); + if (vflag_either) v_tally2(atomi,atomk,-tmp2,rik); // due to kronecker(ktype, 0) term in contribution // to NconjtmpI and later Nijconj @@ -2591,7 +2587,7 @@ double PairAIREBO::bondorderLJ(int i, int j, double /* rij_mod */[3], double rij f[atomk][1] += tmp2*rik[1]; f[atomk][2] += tmp2*rik[2]; - if (vflag_atom) v_tally2(atomi,atomk,-tmp2,rik); + if (vflag_either) v_tally2(atomi,atomk,-tmp2,rik); if (fabs(dNki) > TOL) { REBO_neighs_k = REBO_firstneigh[atomk]; @@ -2613,7 +2609,7 @@ double PairAIREBO::bondorderLJ(int i, int j, double /* rij_mod */[3], double rij f[atomn][1] += tmp2*rkn[1]; f[atomn][2] += tmp2*rkn[2]; - if (vflag_atom) v_tally2(atomk,atomn,-tmp2,rkn); + if (vflag_either) v_tally2(atomk,atomn,-tmp2,rkn); } } } @@ -2644,7 +2640,7 @@ double PairAIREBO::bondorderLJ(int i, int j, double /* rij_mod */[3], double rij f[atoml][1] += tmp2*rjl[1]; f[atoml][2] += tmp2*rjl[2]; - if (vflag_atom) v_tally2(atomj,atoml,-tmp2,rjl); + if (vflag_either) v_tally2(atomj,atoml,-tmp2,rjl); // due to kronecker(ltype, 0) term in contribution // to NconjtmpJ and later Nijconj @@ -2658,7 +2654,7 @@ double PairAIREBO::bondorderLJ(int i, int j, double /* rij_mod */[3], double rij f[atoml][1] += tmp2*rjl[1]; f[atoml][2] += tmp2*rjl[2]; - if (vflag_atom) v_tally2(atomj,atoml,-tmp2,rjl); + if (vflag_either) v_tally2(atomj,atoml,-tmp2,rjl); if (fabs(dNlj) > TOL) { REBO_neighs_l = REBO_firstneigh[atoml]; @@ -2680,7 +2676,7 @@ double PairAIREBO::bondorderLJ(int i, int j, double /* rij_mod */[3], double rij f[atomn][1] += tmp2*rln[1]; f[atomn][2] += tmp2*rln[2]; - if (vflag_atom) v_tally2(atoml,atomn,-tmp2,rln); + if (vflag_either) v_tally2(atoml,atomn,-tmp2,rln); } } } @@ -2885,7 +2881,7 @@ double PairAIREBO::bondorderLJ(int i, int j, double /* rij_mod */[3], double rij f[atom4][0] += f4[0]; f[atom4][1] += f4[1]; f[atom4][2] += f4[2]; - if (vflag_atom) { + if (vflag_either) { r13[0] = -rjk[0]; r13[1] = -rjk[1]; r13[2] = -rjk[2]; r43[0] = -r34[0]; r43[1] = -r34[1]; r43[2] = -r34[2]; v_tally4(atom1,atom2,atom3,atom4,f1,f2,f4,r13,r23,r43); @@ -2919,7 +2915,7 @@ double PairAIREBO::bondorderLJ(int i, int j, double /* rij_mod */[3], double rij f[atomk][1] += tmp2*rik[1]; f[atomk][2] += tmp2*rik[2]; - if (vflag_atom) v_tally2(atomi,atomk,-tmp2,rik); + if (vflag_either) v_tally2(atomi,atomk,-tmp2,rik); // due to kronecker(ktype, 0) term in contribution // to NconjtmpI and later Nijconj @@ -2933,7 +2929,7 @@ double PairAIREBO::bondorderLJ(int i, int j, double /* rij_mod */[3], double rij f[atomk][1] += tmp2*rik[1]; f[atomk][2] += tmp2*rik[2]; - if (vflag_atom) v_tally2(atomi,atomk,-tmp2,rik); + if (vflag_either) v_tally2(atomi,atomk,-tmp2,rik); if (fabs(dNki) > TOL) { REBO_neighs_k = REBO_firstneigh[atomk]; @@ -2955,7 +2951,7 @@ double PairAIREBO::bondorderLJ(int i, int j, double /* rij_mod */[3], double rij f[atomn][1] += tmp2*rkn[1]; f[atomn][2] += tmp2*rkn[2]; - if (vflag_atom) v_tally2(atomk,atomn,-tmp2,rkn); + if (vflag_either) v_tally2(atomk,atomn,-tmp2,rkn); } } } @@ -2986,7 +2982,7 @@ double PairAIREBO::bondorderLJ(int i, int j, double /* rij_mod */[3], double rij f[atoml][1] += tmp2*rjl[1]; f[atoml][2] += tmp2*rjl[2]; - if (vflag_atom) v_tally2(atomj,atoml,-tmp2,rjl); + if (vflag_either) v_tally2(atomj,atoml,-tmp2,rjl); // due to kronecker(ltype, 0) term in contribution // to NconjtmpJ and later Nijconj @@ -3000,7 +2996,7 @@ double PairAIREBO::bondorderLJ(int i, int j, double /* rij_mod */[3], double rij f[atoml][1] += tmp2*rjl[1]; f[atoml][2] += tmp2*rjl[2]; - if (vflag_atom) v_tally2(atomj,atoml,-tmp2,rjl); + if (vflag_either) v_tally2(atomj,atoml,-tmp2,rjl); if (fabs(dNlj) > TOL) { REBO_neighs_l = REBO_firstneigh[atoml]; @@ -3022,7 +3018,7 @@ double PairAIREBO::bondorderLJ(int i, int j, double /* rij_mod */[3], double rij f[atomn][1] += tmp2*rln[1]; f[atomn][2] += tmp2*rln[2]; - if (vflag_atom) v_tally2(atoml,atomn,-tmp2,rln); + if (vflag_either) v_tally2(atoml,atomn,-tmp2,rln); } } } diff --git a/src/MANYBODY/pair_airebo.h b/src/MANYBODY/pair_airebo.h index fa1572b1e4..fc511b7bb0 100644 --- a/src/MANYBODY/pair_airebo.h +++ b/src/MANYBODY/pair_airebo.h @@ -96,12 +96,12 @@ class PairAIREBO : public Pair { double Tf[5][5][10], Tdfdx[5][5][10], Tdfdy[5][5][10], Tdfdz[5][5][10]; void REBO_neigh(); - void FREBO(int, int); - void FLJ(int, int); - void TORSION(int, int); + void FREBO(int); + void FLJ(int); + void TORSION(int); - double bondorder(int, int, double *, double, double, double **, int); - double bondorderLJ(int, int, double *, double, double, double *, double, double **, int); + double bondorder(int, int, double *, double, double, double **); + double bondorderLJ(int, int, double *, double, double, double *, double, double **); double gSpline(double, double, int, double *, double *); double PijSpline(double, double, int, int, double *); diff --git a/src/OPENMP/pair_airebo_omp.cpp b/src/OPENMP/pair_airebo_omp.cpp index 2fff486343..6e7491787a 100644 --- a/src/OPENMP/pair_airebo_omp.cpp +++ b/src/OPENMP/pair_airebo_omp.cpp @@ -70,9 +70,9 @@ void PairAIREBOOMP::compute(int eflag, int vflag) thr->timer(Timer::START); ev_setup_thr(eflag, vflag, nall, eatom, vatom, nullptr, thr); - FREBO_thr(ifrom,ito,evflag,eflag,vflag_atom,&pv0,thr); - if (ljflag) FLJ_thr(ifrom,ito,evflag,eflag,vflag_atom,&pv1,thr); - if (torflag) TORSION_thr(ifrom,ito,evflag,eflag,&pv2,thr); + FREBO_thr(ifrom,ito,eflag,&pv0,thr); + if (ljflag) FLJ_thr(ifrom,ito,eflag,&pv1,thr); + if (torflag) TORSION_thr(ifrom,ito,eflag,&pv2,thr); thr->timer(Timer::PAIR); reduce_thr(this, eflag, vflag, thr); @@ -184,8 +184,7 @@ void PairAIREBOOMP::REBO_neigh_thr() REBO forces and energy ------------------------------------------------------------------------- */ -void PairAIREBOOMP::FREBO_thr(int ifrom, int ito, int evflag, int eflag, - int vflag_atom, double *pv0, ThrData * const thr) +void PairAIREBOOMP::FREBO_thr(int ifrom, int ito, int eflag, double *pv0, ThrData * const thr) { int i,j,k,m,ii,itype,jtype; tagint itag,jtag; @@ -259,7 +258,7 @@ void PairAIREBOOMP::FREBO_thr(int ifrom, int ito, int evflag, int eflag, del[0] = delx; del[1] = dely; del[2] = delz; - bij = bondorder_thr(i,j,del,rij,VA,vflag_atom,thr); + bij = bondorder_thr(i,j,del,rij,VA,thr); dVAdi = bij*dVA; fpair = -(dVRdi+dVAdi) / rij; @@ -282,8 +281,7 @@ void PairAIREBOOMP::FREBO_thr(int ifrom, int ito, int evflag, int eflag, find 3- and 4-step paths between atoms I,J via REBO neighbor lists ------------------------------------------------------------------------- */ -void PairAIREBOOMP::FLJ_thr(int ifrom, int ito, int evflag, int eflag, - int vflag_atom, double *pv1, ThrData * const thr) +void PairAIREBOOMP::FLJ_thr(int ifrom, int ito, int eflag, double *pv1, ThrData * const thr) { int i,j,k,m,ii,jj,kk,mm,jnum,itype,jtype,ktype,mtype; tagint itag,jtag; @@ -547,8 +545,7 @@ void PairAIREBOOMP::FLJ_thr(int ifrom, int ito, int evflag, int eflag, delscale[0] = scale * delij[0]; delscale[1] = scale * delij[1]; delscale[2] = scale * delij[2]; - Stb = bondorderLJ_thr(i,j,delscale,rcmin[itype][jtype],VA, - delij,rij,vflag_atom,thr); + Stb = bondorderLJ_thr(i,j,delscale,rcmin[itype][jtype],VA,delij,rij,thr); } else Stb = 0.0; fpair = -(dStr * (Stb*cij*VLJ - cij*VLJ) + @@ -576,7 +573,7 @@ void PairAIREBOOMP::FLJ_thr(int ifrom, int ito, int evflag, int eflag, f[atomj][1] -= delij[1]*fpair; f[atomj][2] -= delij[2]*fpair; - if (vflag_atom) v_tally2_thr(atomi,atomj,fpair,delij,thr); + if (vflag_either) v_tally2_thr(this,atomi,atomj,fpair,delij,thr); } else if (npath == 3) { fpair1 = dC*dwikS*wkjS / rikS; @@ -634,11 +631,11 @@ void PairAIREBOOMP::FLJ_thr(int ifrom, int ito, int evflag, int eflag, f[atomm][1] += fm[1]; f[atomm][2] += fm[2]; - if (vflag_atom) { + if (vflag_either) { delimS[0] = delikS[0] + delkmS[0]; delimS[1] = delikS[1] + delkmS[1]; delimS[2] = delikS[2] + delkmS[2]; - v_tally4_thr(atomi,atomj,atomk,atomm,fi,fj,fk,delimS,deljmS,delkmS,thr); + v_tally4_thr(this,atomi,atomj,atomk,atomm,fi,fj,fk,delimS,deljmS,delkmS,thr); } } } @@ -650,8 +647,7 @@ void PairAIREBOOMP::FLJ_thr(int ifrom, int ito, int evflag, int eflag, torsional forces and energy ------------------------------------------------------------------------- */ -void PairAIREBOOMP::TORSION_thr(int ifrom, int ito, int evflag, int eflag, - double *pv2, ThrData * const thr) +void PairAIREBOOMP::TORSION_thr(int ifrom, int ito, int eflag, double *pv2, ThrData * const thr) { int i,j,k,l,ii; tagint itag,jtag; @@ -1011,7 +1007,7 @@ void PairAIREBOOMP::TORSION_thr(int ifrom, int ito, int evflag, int eflag, ------------------------------------------------------------------------- */ double PairAIREBOOMP::bondorder_thr(int i, int j, double rij[3], double rijmag, - double VA, int vflag_atom, ThrData * const thr) + double VA, ThrData * const thr) { int atomi,atomj,k,n,l,atomk,atoml,atomn,atom1,atom2,atom3,atom4; int itype,jtype,ktype,ltype,ntype; @@ -1378,7 +1374,7 @@ double PairAIREBOOMP::bondorder_thr(int i, int j, double rij[3], double rijmag, f[atomk][1] += tmp2*rik[1]; f[atomk][2] += tmp2*rik[2]; - if (vflag_atom) v_tally2_thr(atomi,atomk,-tmp2,rik,thr); + if (vflag_either) v_tally2_thr(this,atomi,atomk,-tmp2,rik,thr); // due to kronecker(ktype, 0) term in contribution // to NconjtmpI and later Nijconj @@ -1392,7 +1388,7 @@ double PairAIREBOOMP::bondorder_thr(int i, int j, double rij[3], double rijmag, f[atomk][1] += tmp2*rik[1]; f[atomk][2] += tmp2*rik[2]; - if (vflag_atom) v_tally2_thr(atomi,atomk,-tmp2,rik,thr); + if (vflag_either) v_tally2_thr(this,atomi,atomk,-tmp2,rik,thr); if (fabs(dNki) > TOL) { REBO_neighs_k = REBO_firstneigh[atomk]; @@ -1414,7 +1410,7 @@ double PairAIREBOOMP::bondorder_thr(int i, int j, double rij[3], double rijmag, f[atomn][1] += tmp2*rkn[1]; f[atomn][2] += tmp2*rkn[2]; - if (vflag_atom) v_tally2_thr(atomk,atomn,-tmp2,rkn,thr); + if (vflag_either) v_tally2_thr(this,atomk,atomn,-tmp2,rkn,thr); } } } @@ -1445,7 +1441,7 @@ double PairAIREBOOMP::bondorder_thr(int i, int j, double rij[3], double rijmag, f[atoml][1] += tmp2*rjl[1]; f[atoml][2] += tmp2*rjl[2]; - if (vflag_atom) v_tally2_thr(atomj,atoml,-tmp2,rjl,thr); + if (vflag_either) v_tally2_thr(this,atomj,atoml,-tmp2,rjl,thr); // due to kronecker(ltype, 0) term in contribution // to NconjtmpJ and later Nijconj @@ -1459,7 +1455,7 @@ double PairAIREBOOMP::bondorder_thr(int i, int j, double rij[3], double rijmag, f[atoml][1] += tmp2*rjl[1]; f[atoml][2] += tmp2*rjl[2]; - if (vflag_atom) v_tally2_thr(atomj,atoml,-tmp2,rjl,thr); + if (vflag_either) v_tally2_thr(this,atomj,atoml,-tmp2,rjl,thr); if (fabs(dNlj) > TOL) { REBO_neighs_l = REBO_firstneigh[atoml]; @@ -1481,7 +1477,7 @@ double PairAIREBOOMP::bondorder_thr(int i, int j, double rij[3], double rijmag, f[atomn][1] += tmp2*rln[1]; f[atomn][2] += tmp2*rln[2]; - if (vflag_atom) v_tally2_thr(atoml,atomn,-tmp2,rln,thr); + if (vflag_either) v_tally2_thr(this,atoml,atomn,-tmp2,rln,thr); } } } @@ -1693,10 +1689,10 @@ double PairAIREBOOMP::bondorder_thr(int i, int j, double rij[3], double rijmag, f[atom4][0] += f4[0]; f[atom4][1] += f4[1]; f[atom4][2] += f4[2]; - if (vflag_atom) { + if (vflag_either) { r13[0] = -rjk[0]; r13[1] = -rjk[1]; r13[2] = -rjk[2]; r43[0] = -r34[0]; r43[1] = -r34[1]; r43[2] = -r34[2]; - v_tally4_thr(atom1,atom2,atom3,atom4,f1,f2,f4,r13,r23,r43,thr); + v_tally4_thr(this,atom1,atom2,atom3,atom4,f1,f2,f4,r13,r23,r43,thr); } } } @@ -1729,7 +1725,7 @@ double PairAIREBOOMP::bondorder_thr(int i, int j, double rij[3], double rijmag, f[atomk][1] += tmp2*rik[1]; f[atomk][2] += tmp2*rik[2]; - if (vflag_atom) v_tally2_thr(atomi,atomk,-tmp2,rik,thr); + if (vflag_either) v_tally2_thr(this,atomi,atomk,-tmp2,rik,thr); // due to kronecker(ktype, 0) term in contribution // to NconjtmpI and later Nijconj @@ -1743,7 +1739,7 @@ double PairAIREBOOMP::bondorder_thr(int i, int j, double rij[3], double rijmag, f[atomk][1] += tmp2*rik[1]; f[atomk][2] += tmp2*rik[2]; - if (vflag_atom) v_tally2_thr(atomi,atomk,-tmp2,rik,thr); + if (vflag_either) v_tally2_thr(this,atomi,atomk,-tmp2,rik,thr); if (fabs(dNki) > TOL) { REBO_neighs_k = REBO_firstneigh[atomk]; @@ -1765,7 +1761,7 @@ double PairAIREBOOMP::bondorder_thr(int i, int j, double rij[3], double rijmag, f[atomn][1] += tmp2*rkn[1]; f[atomn][2] += tmp2*rkn[2]; - if (vflag_atom) v_tally2_thr(atomk,atomn,-tmp2,rkn,thr); + if (vflag_either) v_tally2_thr(this,atomk,atomn,-tmp2,rkn,thr); } } } @@ -1796,7 +1792,7 @@ double PairAIREBOOMP::bondorder_thr(int i, int j, double rij[3], double rijmag, f[atoml][1] += tmp2*rjl[1]; f[atoml][2] += tmp2*rjl[2]; - if (vflag_atom) v_tally2_thr(atomj,atoml,-tmp2,rjl,thr); + if (vflag_either) v_tally2_thr(this,atomj,atoml,-tmp2,rjl,thr); // due to kronecker(ltype, 0) term in contribution // to NconjtmpJ and later Nijconj @@ -1810,7 +1806,7 @@ double PairAIREBOOMP::bondorder_thr(int i, int j, double rij[3], double rijmag, f[atoml][1] += tmp2*rjl[1]; f[atoml][2] += tmp2*rjl[2]; - if (vflag_atom) v_tally2_thr(atomj,atoml,-tmp2,rjl,thr); + if (vflag_either) v_tally2_thr(this,atomj,atoml,-tmp2,rjl,thr); if (fabs(dNlj) > TOL) { REBO_neighs_l = REBO_firstneigh[atoml]; @@ -1832,7 +1828,7 @@ double PairAIREBOOMP::bondorder_thr(int i, int j, double rij[3], double rijmag, f[atomn][1] += tmp2*rln[1]; f[atomn][2] += tmp2*rln[2]; - if (vflag_atom) v_tally2_thr(atoml,atomn,-tmp2,rln,thr); + if (vflag_either) v_tally2_thr(this,atoml,atomn,-tmp2,rln,thr); } } } @@ -1870,8 +1866,7 @@ there probably also need to be performed here. */ double PairAIREBOOMP::bondorderLJ_thr(int i, int j, double /* rij_mod */[3], double rijmag_mod, - double VA, double rij[3], double rijmag, - int vflag_atom, ThrData * const thr) + double VA, double rij[3], double rijmag, ThrData * const thr) { int atomi,atomj,k,n,l,atomk,atoml,atomn,atom1,atom2,atom3,atom4; int itype,jtype,ktype,ltype,ntype; @@ -2335,7 +2330,7 @@ double PairAIREBOOMP::bondorderLJ_thr(int i, int j, double /* rij_mod */[3], dou f[atomk][1] += tmp2*rik[1]; f[atomk][2] += tmp2*rik[2]; - if (vflag_atom) v_tally2_thr(atomi,atomk,-tmp2,rik,thr); + if (vflag_either) v_tally2_thr(this,atomi,atomk,-tmp2,rik,thr); // due to kronecker(ktype, 0) term in contribution // to NconjtmpI and later Nijconj @@ -2349,7 +2344,7 @@ double PairAIREBOOMP::bondorderLJ_thr(int i, int j, double /* rij_mod */[3], dou f[atomk][1] += tmp2*rik[1]; f[atomk][2] += tmp2*rik[2]; - if (vflag_atom) v_tally2_thr(atomi,atomk,-tmp2,rik,thr); + if (vflag_either) v_tally2_thr(this,atomi,atomk,-tmp2,rik,thr); if (fabs(dNki) > TOL) { REBO_neighs_k = REBO_firstneigh[atomk]; @@ -2371,7 +2366,7 @@ double PairAIREBOOMP::bondorderLJ_thr(int i, int j, double /* rij_mod */[3], dou f[atomn][1] += tmp2*rkn[1]; f[atomn][2] += tmp2*rkn[2]; - if (vflag_atom) v_tally2_thr(atomk,atomn,-tmp2,rkn,thr); + if (vflag_either) v_tally2_thr(this,atomk,atomn,-tmp2,rkn,thr); } } } @@ -2402,7 +2397,7 @@ double PairAIREBOOMP::bondorderLJ_thr(int i, int j, double /* rij_mod */[3], dou f[atoml][1] += tmp2*rjl[1]; f[atoml][2] += tmp2*rjl[2]; - if (vflag_atom) v_tally2_thr(atomj,atoml,-tmp2,rjl,thr); + if (vflag_either) v_tally2_thr(this,atomj,atoml,-tmp2,rjl,thr); // due to kronecker(ltype, 0) term in contribution // to NconjtmpJ and later Nijconj @@ -2416,7 +2411,7 @@ double PairAIREBOOMP::bondorderLJ_thr(int i, int j, double /* rij_mod */[3], dou f[atoml][1] += tmp2*rjl[1]; f[atoml][2] += tmp2*rjl[2]; - if (vflag_atom) v_tally2_thr(atomj,atoml,-tmp2,rjl,thr); + if (vflag_either) v_tally2_thr(this,atomj,atoml,-tmp2,rjl,thr); if (fabs(dNlj) > TOL) { REBO_neighs_l = REBO_firstneigh[atoml]; @@ -2438,7 +2433,7 @@ double PairAIREBOOMP::bondorderLJ_thr(int i, int j, double /* rij_mod */[3], dou f[atomn][1] += tmp2*rln[1]; f[atomn][2] += tmp2*rln[2]; - if (vflag_atom) v_tally2_thr(atoml,atomn,-tmp2,rln,thr); + if (vflag_either) v_tally2_thr(this,atoml,atomn,-tmp2,rln,thr); } } } @@ -2643,10 +2638,10 @@ double PairAIREBOOMP::bondorderLJ_thr(int i, int j, double /* rij_mod */[3], dou f[atom4][0] += f4[0]; f[atom4][1] += f4[1]; f[atom4][2] += f4[2]; - if (vflag_atom) { + if (vflag_either) { r13[0] = -rjk[0]; r13[1] = -rjk[1]; r13[2] = -rjk[2]; r43[0] = -r34[0]; r43[1] = -r34[1]; r43[2] = -r34[2]; - v_tally4_thr(atom1,atom2,atom3,atom4,f1,f2,f4,r13,r23,r43,thr); + v_tally4_thr(this,atom1,atom2,atom3,atom4,f1,f2,f4,r13,r23,r43,thr); } } } @@ -2677,7 +2672,7 @@ double PairAIREBOOMP::bondorderLJ_thr(int i, int j, double /* rij_mod */[3], dou f[atomk][1] += tmp2*rik[1]; f[atomk][2] += tmp2*rik[2]; - if (vflag_atom) v_tally2_thr(atomi,atomk,-tmp2,rik,thr); + if (vflag_either) v_tally2_thr(this,atomi,atomk,-tmp2,rik,thr); // due to kronecker(ktype, 0) term in contribution // to NconjtmpI and later Nijconj @@ -2691,7 +2686,7 @@ double PairAIREBOOMP::bondorderLJ_thr(int i, int j, double /* rij_mod */[3], dou f[atomk][1] += tmp2*rik[1]; f[atomk][2] += tmp2*rik[2]; - if (vflag_atom) v_tally2_thr(atomi,atomk,-tmp2,rik,thr); + if (vflag_either) v_tally2_thr(this,atomi,atomk,-tmp2,rik,thr); if (fabs(dNki) > TOL) { REBO_neighs_k = REBO_firstneigh[atomk]; @@ -2713,7 +2708,7 @@ double PairAIREBOOMP::bondorderLJ_thr(int i, int j, double /* rij_mod */[3], dou f[atomn][1] += tmp2*rkn[1]; f[atomn][2] += tmp2*rkn[2]; - if (vflag_atom) v_tally2_thr(atomk,atomn,-tmp2,rkn,thr); + if (vflag_either) v_tally2_thr(this,atomk,atomn,-tmp2,rkn,thr); } } } @@ -2744,7 +2739,7 @@ double PairAIREBOOMP::bondorderLJ_thr(int i, int j, double /* rij_mod */[3], dou f[atoml][1] += tmp2*rjl[1]; f[atoml][2] += tmp2*rjl[2]; - if (vflag_atom) v_tally2_thr(atomj,atoml,-tmp2,rjl,thr); + if (vflag_either) v_tally2_thr(this,atomj,atoml,-tmp2,rjl,thr); // due to kronecker(ltype, 0) term in contribution // to NconjtmpJ and later Nijconj @@ -2758,7 +2753,7 @@ double PairAIREBOOMP::bondorderLJ_thr(int i, int j, double /* rij_mod */[3], dou f[atoml][1] += tmp2*rjl[1]; f[atoml][2] += tmp2*rjl[2]; - if (vflag_atom) v_tally2_thr(atomj,atoml,-tmp2,rjl,thr); + if (vflag_either) v_tally2_thr(this,atomj,atoml,-tmp2,rjl,thr); if (fabs(dNlj) > TOL) { REBO_neighs_l = REBO_firstneigh[atoml]; @@ -2780,7 +2775,7 @@ double PairAIREBOOMP::bondorderLJ_thr(int i, int j, double /* rij_mod */[3], dou f[atomn][1] += tmp2*rln[1]; f[atomn][2] += tmp2*rln[2]; - if (vflag_atom) v_tally2_thr(atoml,atomn,-tmp2,rln,thr); + if (vflag_either) v_tally2_thr(this,atoml,atomn,-tmp2,rln,thr); } } } diff --git a/src/OPENMP/pair_airebo_omp.h b/src/OPENMP/pair_airebo_omp.h index 9c5b29545f..355614552e 100644 --- a/src/OPENMP/pair_airebo_omp.h +++ b/src/OPENMP/pair_airebo_omp.h @@ -33,16 +33,13 @@ class PairAIREBOOMP : public PairAIREBO, public ThrOMP { virtual double memory_usage(); protected: - double bondorder_thr(int i, int j, double rij[3], double rijmag, double VA, int vflag_atom, - ThrData *const thr); + double bondorder_thr(int i, int j, double rij[3], double rijmag, double VA, ThrData *const thr); double bondorderLJ_thr(int i, int j, double rij[3], double rijmag, double VA, double rij0[3], - double rijmag0, int vflag_atom, ThrData *const thr); + double rijmag0, ThrData *const thr); - void FREBO_thr(int ifrom, int ito, int evflag, int eflag, int vflag_atom, double *pv0, - ThrData *const thr); - void FLJ_thr(int ifrom, int ito, int evflag, int eflag, int vflag_atom, double *pv1, - ThrData *const thr); - void TORSION_thr(int ifrom, int ito, int evflag, int eflag, double *pv2, ThrData *const thr); + void FREBO_thr(int ifrom, int ito, int eflag, double *pv0, ThrData *const thr); + void FLJ_thr(int ifrom, int ito, int eflag, double *pv1, ThrData *const thr); + void TORSION_thr(int ifrom, int ito, int eflag, double *pv2, ThrData *const thr); void REBO_neigh_thr(); }; diff --git a/src/OPENMP/thr_omp.cpp b/src/OPENMP/thr_omp.cpp index 867623361c..319a1f45df 100644 --- a/src/OPENMP/thr_omp.cpp +++ b/src/OPENMP/thr_omp.cpp @@ -1465,20 +1465,31 @@ void ThrOMP::ev_tally_thr(Improper * const imprp, const int i1, const int i2, fpair is magnitude of force on atom I ------------------------------------------------------------------------- */ -void ThrOMP::v_tally2_thr(const int i, const int j, const double fpair, +void ThrOMP::v_tally2_thr(Pair *const pair, const int i, const int j, const double fpair, const double * const drij, ThrData * const thr) { double v[6]; - v[0] = 0.5 * drij[0]*drij[0]*fpair; - v[1] = 0.5 * drij[1]*drij[1]*fpair; - v[2] = 0.5 * drij[2]*drij[2]*fpair; - v[3] = 0.5 * drij[0]*drij[1]*fpair; - v[4] = 0.5 * drij[0]*drij[2]*fpair; - v[5] = 0.5 * drij[1]*drij[2]*fpair; + v[0] = drij[0]*drij[0]*fpair; + v[1] = drij[1]*drij[1]*fpair; + v[2] = drij[2]*drij[2]*fpair; + v[3] = drij[0]*drij[1]*fpair; + v[4] = drij[0]*drij[2]*fpair; + v[5] = drij[1]*drij[2]*fpair; - v_tally(thr->vatom_pair[i],v); - v_tally(thr->vatom_pair[j],v); + if (pair->vflag_global) v_tally(thr->virial_pair,v); + + if (pair->vflag_atom) { + v[0] *= 0.5; + v[1] *= 0.5; + v[2] *= 0.5; + v[3] *= 0.5; + v[4] *= 0.5; + v[5] *= 0.5; + + v_tally(thr->vatom_pair[i],v); + v_tally(thr->vatom_pair[j],v); + } } /* ---------------------------------------------------------------------- @@ -1486,7 +1497,7 @@ void ThrOMP::v_tally2_thr(const int i, const int j, const double fpair, called by AIREBO and Tersoff potential, newton_pair is always on ------------------------------------------------------------------------- */ -void ThrOMP::v_tally3_thr(Pair *pair, const int i, const int j, const int k, +void ThrOMP::v_tally3_thr(Pair *const pair, const int i, const int j, const int k, const double * const fi, const double * const fj, const double * const drik, const double * const drjk, ThrData * const thr) @@ -1521,7 +1532,7 @@ void ThrOMP::v_tally3_thr(Pair *pair, const int i, const int j, const int k, called by AIREBO potential, newton_pair is always on ------------------------------------------------------------------------- */ -void ThrOMP::v_tally4_thr(const int i, const int j, const int k, const int m, +void ThrOMP::v_tally4_thr(Pair *const pair, const int i, const int j, const int k, const int m, const double * const fi, const double * const fj, const double * const fk, const double * const drim, const double * const drjm, const double * const drkm, @@ -1529,17 +1540,26 @@ void ThrOMP::v_tally4_thr(const int i, const int j, const int k, const int m, { double v[6]; - v[0] = 0.25 * (drim[0]*fi[0] + drjm[0]*fj[0] + drkm[0]*fk[0]); - v[1] = 0.25 * (drim[1]*fi[1] + drjm[1]*fj[1] + drkm[1]*fk[1]); - v[2] = 0.25 * (drim[2]*fi[2] + drjm[2]*fj[2] + drkm[2]*fk[2]); - v[3] = 0.25 * (drim[0]*fi[1] + drjm[0]*fj[1] + drkm[0]*fk[1]); - v[4] = 0.25 * (drim[0]*fi[2] + drjm[0]*fj[2] + drkm[0]*fk[2]); - v[5] = 0.25 * (drim[1]*fi[2] + drjm[1]*fj[2] + drkm[1]*fk[2]); + v[0] = (drim[0]*fi[0] + drjm[0]*fj[0] + drkm[0]*fk[0]); + v[1] = (drim[1]*fi[1] + drjm[1]*fj[1] + drkm[1]*fk[1]); + v[2] = (drim[2]*fi[2] + drjm[2]*fj[2] + drkm[2]*fk[2]); + v[3] = (drim[0]*fi[1] + drjm[0]*fj[1] + drkm[0]*fk[1]); + v[4] = (drim[0]*fi[2] + drjm[0]*fj[2] + drkm[0]*fk[2]); + v[5] = (drim[1]*fi[2] + drjm[1]*fj[2] + drkm[1]*fk[2]); + if (pair->vflag_global) v_tally(thr->virial_pair,v); - v_tally(thr->vatom_pair[i],v); - v_tally(thr->vatom_pair[j],v); - v_tally(thr->vatom_pair[k],v); - v_tally(thr->vatom_pair[m],v); + if (pair->vflag_atom) { + v[0] *= 0.25; + v[1] *= 0.25; + v[2] *= 0.25; + v[3] *= 0.25; + v[4] *= 0.25; + v[5] *= 0.25; + v_tally(thr->vatom_pair[i],v); + v_tally(thr->vatom_pair[j],v); + v_tally(thr->vatom_pair[k],v); + v_tally(thr->vatom_pair[m],v); + } } /* ---------------------------------------------------------------------- */ diff --git a/src/OPENMP/thr_omp.h b/src/OPENMP/thr_omp.h index 22fdb36f38..35cd43be5d 100644 --- a/src/OPENMP/thr_omp.h +++ b/src/OPENMP/thr_omp.h @@ -135,6 +135,8 @@ class ThrOMP { void ev_tally_xyz_full_thr(Pair *const, const int, const double, const double, const double, const double, const double, const double, const double, const double, ThrData *const); + void v_tally2_thr(Pair *const, const int, const int, const double, const double *const, + ThrData *const); void ev_tally3_thr(Pair *const, const int, const int, const int, const double, const double, const double *const, const double *const, const double *const, const double *const, ThrData *const); @@ -143,6 +145,9 @@ class ThrOMP { void ev_tally4_thr(Pair *const, const int, const int, const int, const int, const double, const double *const, const double *const, const double *const, const double *const, const double *const, const double *const, ThrData *const); + void v_tally4_thr(Pair *const, const int, const int, const int, const int, const double *const, + const double *const, const double *const, const double *const, + const double *const, const double *const, ThrData *const); // Bond void ev_tally_thr(Bond *const, const int, const int, const int, const int, const double, @@ -171,10 +176,6 @@ class ThrOMP { ThrData *const); // style independent versions - void v_tally2_thr(const int, const int, const double, const double *const, ThrData *const); - void v_tally4_thr(const int, const int, const int, const int, const double *const, - const double *const, const double *const, const double *const, - const double *const, const double *const, ThrData *const); void ev_tally_list_thr(Pair *const, const int, const int *const, const double *const, const double, const double, ThrData *const); }; diff --git a/src/pair.cpp b/src/pair.cpp index f27d2ac370..1a6a476b4f 100644 --- a/src/pair.cpp +++ b/src/pair.cpp @@ -1499,17 +1499,35 @@ void Pair::v_tally2(int i, int j, double fpair, double *drij) { double v[6]; - v[0] = 0.5 * drij[0]*drij[0]*fpair; - v[1] = 0.5 * drij[1]*drij[1]*fpair; - v[2] = 0.5 * drij[2]*drij[2]*fpair; - v[3] = 0.5 * drij[0]*drij[1]*fpair; - v[4] = 0.5 * drij[0]*drij[2]*fpair; - v[5] = 0.5 * drij[1]*drij[2]*fpair; + v[0] = drij[0]*drij[0]*fpair; + v[1] = drij[1]*drij[1]*fpair; + v[2] = drij[2]*drij[2]*fpair; + v[3] = drij[0]*drij[1]*fpair; + v[4] = drij[0]*drij[2]*fpair; + v[5] = drij[1]*drij[2]*fpair; - vatom[i][0] += v[0]; vatom[i][1] += v[1]; vatom[i][2] += v[2]; - vatom[i][3] += v[3]; vatom[i][4] += v[4]; vatom[i][5] += v[5]; - vatom[j][0] += v[0]; vatom[j][1] += v[1]; vatom[j][2] += v[2]; - vatom[j][3] += v[3]; vatom[j][4] += v[4]; vatom[j][5] += v[5]; + if (vflag_global) { + virial[0] += v[0]; + virial[1] += v[1]; + virial[2] += v[2]; + virial[3] += v[3]; + virial[4] += v[4]; + virial[5] += v[5]; + } + + if (vflag_atom) { + v[0] *= 0.5; + v[1] *= 0.5; + v[2] *= 0.5; + v[3] *= 0.5; + v[4] *= 0.5; + v[5] *= 0.5; + + vatom[i][0] += v[0]; vatom[i][1] += v[1]; vatom[i][2] += v[2]; + vatom[i][3] += v[3]; vatom[i][4] += v[4]; vatom[i][5] += v[5]; + vatom[j][0] += v[0]; vatom[j][1] += v[1]; vatom[j][2] += v[2]; + vatom[j][3] += v[3]; vatom[j][4] += v[4]; vatom[j][5] += v[5]; + } } /* ---------------------------------------------------------------------- @@ -1522,23 +1540,29 @@ void Pair::v_tally3(int i, int j, int k, { double v[6]; - v[0] = THIRD * (drik[0]*fi[0] + drjk[0]*fj[0]); - v[1] = THIRD * (drik[1]*fi[1] + drjk[1]*fj[1]); - v[2] = THIRD * (drik[2]*fi[2] + drjk[2]*fj[2]); - v[3] = THIRD * (drik[0]*fi[1] + drjk[0]*fj[1]); - v[4] = THIRD * (drik[0]*fi[2] + drjk[0]*fj[2]); - v[5] = THIRD * (drik[1]*fi[2] + drjk[1]*fj[2]); + v[0] = (drik[0]*fi[0] + drjk[0]*fj[0]); + v[1] = (drik[1]*fi[1] + drjk[1]*fj[1]); + v[2] = (drik[2]*fi[2] + drjk[2]*fj[2]); + v[3] = (drik[0]*fi[1] + drjk[0]*fj[1]); + v[4] = (drik[0]*fi[2] + drjk[0]*fj[2]); + v[5] = (drik[1]*fi[2] + drjk[1]*fj[2]); if (vflag_global) { - virial[0] += 3.0*v[0]; - virial[1] += 3.0*v[1]; - virial[2] += 3.0*v[2]; - virial[3] += 3.0*v[3]; - virial[4] += 3.0*v[4]; - virial[5] += 3.0*v[5]; + virial[0] += v[0]; + virial[1] += v[1]; + virial[2] += v[2]; + virial[3] += v[3]; + virial[4] += v[4]; + virial[5] += v[5]; } if (vflag_atom) { + v[0] *= THIRD; + v[1] *= THIRD; + v[2] *= THIRD; + v[3] *= THIRD; + v[4] *= THIRD; + v[5] *= THIRD; vatom[i][0] += v[0]; vatom[i][1] += v[1]; vatom[i][2] += v[2]; vatom[i][3] += v[3]; vatom[i][4] += v[4]; vatom[i][5] += v[5]; vatom[j][0] += v[0]; vatom[j][1] += v[1]; vatom[j][2] += v[2]; @@ -1559,21 +1583,39 @@ void Pair::v_tally4(int i, int j, int k, int m, { double v[6]; - v[0] = 0.25 * (drim[0]*fi[0] + drjm[0]*fj[0] + drkm[0]*fk[0]); - v[1] = 0.25 * (drim[1]*fi[1] + drjm[1]*fj[1] + drkm[1]*fk[1]); - v[2] = 0.25 * (drim[2]*fi[2] + drjm[2]*fj[2] + drkm[2]*fk[2]); - v[3] = 0.25 * (drim[0]*fi[1] + drjm[0]*fj[1] + drkm[0]*fk[1]); - v[4] = 0.25 * (drim[0]*fi[2] + drjm[0]*fj[2] + drkm[0]*fk[2]); - v[5] = 0.25 * (drim[1]*fi[2] + drjm[1]*fj[2] + drkm[1]*fk[2]); + v[0] = (drim[0]*fi[0] + drjm[0]*fj[0] + drkm[0]*fk[0]); + v[1] = (drim[1]*fi[1] + drjm[1]*fj[1] + drkm[1]*fk[1]); + v[2] = (drim[2]*fi[2] + drjm[2]*fj[2] + drkm[2]*fk[2]); + v[3] = (drim[0]*fi[1] + drjm[0]*fj[1] + drkm[0]*fk[1]); + v[4] = (drim[0]*fi[2] + drjm[0]*fj[2] + drkm[0]*fk[2]); + v[5] = (drim[1]*fi[2] + drjm[1]*fj[2] + drkm[1]*fk[2]); - vatom[i][0] += v[0]; vatom[i][1] += v[1]; vatom[i][2] += v[2]; - vatom[i][3] += v[3]; vatom[i][4] += v[4]; vatom[i][5] += v[5]; - vatom[j][0] += v[0]; vatom[j][1] += v[1]; vatom[j][2] += v[2]; - vatom[j][3] += v[3]; vatom[j][4] += v[4]; vatom[j][5] += v[5]; - vatom[k][0] += v[0]; vatom[k][1] += v[1]; vatom[k][2] += v[2]; - vatom[k][3] += v[3]; vatom[k][4] += v[4]; vatom[k][5] += v[5]; - vatom[m][0] += v[0]; vatom[m][1] += v[1]; vatom[m][2] += v[2]; - vatom[m][3] += v[3]; vatom[m][4] += v[4]; vatom[m][5] += v[5]; + if (vflag_global) { + virial[0] += v[0]; + virial[1] += v[1]; + virial[2] += v[2]; + virial[3] += v[3]; + virial[4] += v[4]; + virial[5] += v[5]; + } + + if (vflag_atom) { + v[0] *= 0.25; + v[1] *= 0.25; + v[2] *= 0.25; + v[3] *= 0.25; + v[4] *= 0.25; + v[5] *= 0.25; + + vatom[i][0] += v[0]; vatom[i][1] += v[1]; vatom[i][2] += v[2]; + vatom[i][3] += v[3]; vatom[i][4] += v[4]; vatom[i][5] += v[5]; + vatom[j][0] += v[0]; vatom[j][1] += v[1]; vatom[j][2] += v[2]; + vatom[j][3] += v[3]; vatom[j][4] += v[4]; vatom[j][5] += v[5]; + vatom[k][0] += v[0]; vatom[k][1] += v[1]; vatom[k][2] += v[2]; + vatom[k][3] += v[3]; vatom[k][4] += v[4]; vatom[k][5] += v[5]; + vatom[m][0] += v[0]; vatom[m][1] += v[1]; vatom[m][2] += v[2]; + vatom[m][3] += v[3]; vatom[m][4] += v[4]; vatom[m][5] += v[5]; + } } /* ---------------------------------------------------------------------- diff --git a/unittest/force-styles/test_pair_style.cpp b/unittest/force-styles/test_pair_style.cpp index 9f70a22daf..d256685659 100644 --- a/unittest/force-styles/test_pair_style.cpp +++ b/unittest/force-styles/test_pair_style.cpp @@ -1089,12 +1089,14 @@ TEST(PairStyle, intel) EXPECT_FP_LE_WITH_EPS((pair->eng_vdwl + pair->eng_coul), energy, epsilon); if (print_stats) std::cerr << "run_energy stats:" << stats << std::endl; - // pair styles sw and tersoff require newton on, but that also requires fdotr for /intel - std::cerr << "pair style : " << test_config.pair_style << "\n"; - if ((test_config.pair_style != "sw") && (test_config.pair_style != "tersoff")) { + // pair styles sw and tersoff and airebo INTEL package variants require newton on, + // but that also requires fdotr for /intel + if ((test_config.pair_style != "sw") && (test_config.pair_style != "tersoff") + && (test_config.pair_style != "rebo") && (test_config.pair_style != "airebo") + && (test_config.pair_style != "airebo/morse")) { if (!verbose) ::testing::internal::CaptureStdout(); - restart_lammps(lmp, test_config, true, false); + restart_lammps(lmp, test_config, true, true); if (!verbose) ::testing::internal::GetCapturedStdout(); f = lmp->atom->f; tag = lmp->atom->tag; From 283da2649a735cba4deaa1f98151a0b1b9dd3065 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 11 Jul 2021 09:16:47 -0400 Subject: [PATCH 389/726] fixes for pair_modify nofdotr --- src/MANYBODY/pair_comb.cpp | 2 +- src/MANYBODY/pair_comb3.cpp | 4 ++-- src/USER-MISC/pair_extep.cpp | 2 ++ 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/MANYBODY/pair_comb.cpp b/src/MANYBODY/pair_comb.cpp index fd278d1488..689ba992d8 100644 --- a/src/MANYBODY/pair_comb.cpp +++ b/src/MANYBODY/pair_comb.cpp @@ -394,7 +394,7 @@ void PairComb::compute(int eflag, int vflag) if (evflag) ev_tally(i,j,nlocal,newton_pair,elp_ij,0.0,0.0,0.0,0.0,0.0); - if (vflag_atom) v_tally3(i,j,k,fj,fk,delr1,delr2); + if (vflag_either) v_tally3(i,j,k,fj,fk,delr1,delr2); } } diff --git a/src/MANYBODY/pair_comb3.cpp b/src/MANYBODY/pair_comb3.cpp index c3d9c3043f..eee97849b9 100644 --- a/src/MANYBODY/pair_comb3.cpp +++ b/src/MANYBODY/pair_comb3.cpp @@ -1294,7 +1294,7 @@ void PairComb3::compute(int eflag, int vflag) if (evflag) ev_tally(i,j,nlocal,newton_pair,ep6p_ij,0.0,0.0,0.0,0.0,0.0); - if (vflag_atom) + if (vflag_either) v_tally3(i,j,k,fj,fk,delrj,delrk); } // k-loop @@ -1387,7 +1387,7 @@ void PairComb3::compute(int eflag, int vflag) } } - if (vflag_atom) + if (vflag_either) v_tally3(j,i,l,fi,fl,delrl,delrk); } } diff --git a/src/USER-MISC/pair_extep.cpp b/src/USER-MISC/pair_extep.cpp index 5628185cdb..efb5b0e7fb 100644 --- a/src/USER-MISC/pair_extep.cpp +++ b/src/USER-MISC/pair_extep.cpp @@ -354,6 +354,7 @@ void PairExTeP::compute(int eflag, int vflag) f[k][0] -= fc_prefac_ik * delr2[0]; f[k][1] -= fc_prefac_ik * delr2[1]; f[k][2] -= fc_prefac_ik * delr2[2]; + if (vflag_either) v_tally2(i,k,-fc_prefac_ik,delr2); if (itype != ktype) { fc_prefac_ik = dFc_dNdij * fc_prefac_ik_0; f[i][0] += fc_prefac_ik * delr2[0]; @@ -362,6 +363,7 @@ void PairExTeP::compute(int eflag, int vflag) f[k][0] -= fc_prefac_ik * delr2[0]; f[k][1] -= fc_prefac_ik * delr2[1]; f[k][2] -= fc_prefac_ik * delr2[2]; + if (vflag_either) v_tally2(i,k,-fc_prefac_ik,delr2); } /* END F_IJ (2) */ From 0dcca23cdbad54bc538a759853e78ada65745856 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 11 Jul 2021 09:22:38 -0400 Subject: [PATCH 390/726] whitespace --- src/OPENMP/thr_omp.cpp | 4 ---- src/pair.cpp | 4 +--- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/src/OPENMP/thr_omp.cpp b/src/OPENMP/thr_omp.cpp index 319a1f45df..397b70a3d0 100644 --- a/src/OPENMP/thr_omp.cpp +++ b/src/OPENMP/thr_omp.cpp @@ -1476,7 +1476,6 @@ void ThrOMP::v_tally2_thr(Pair *const pair, const int i, const int j, const doub v[3] = drij[0]*drij[1]*fpair; v[4] = drij[0]*drij[2]*fpair; v[5] = drij[1]*drij[2]*fpair; - if (pair->vflag_global) v_tally(thr->virial_pair,v); if (pair->vflag_atom) { @@ -1486,7 +1485,6 @@ void ThrOMP::v_tally2_thr(Pair *const pair, const int i, const int j, const doub v[3] *= 0.5; v[4] *= 0.5; v[5] *= 0.5; - v_tally(thr->vatom_pair[i],v); v_tally(thr->vatom_pair[j],v); } @@ -1510,7 +1508,6 @@ void ThrOMP::v_tally3_thr(Pair *const pair, const int i, const int j, const int v[3] = (drik[0]*fi[1] + drjk[0]*fj[1]); v[4] = (drik[0]*fi[2] + drjk[0]*fj[2]); v[5] = (drik[1]*fi[2] + drjk[1]*fj[2]); - if (pair->vflag_global) v_tally(thr->virial_pair,v); if (pair->vflag_atom) { @@ -1520,7 +1517,6 @@ void ThrOMP::v_tally3_thr(Pair *const pair, const int i, const int j, const int v[3] *= THIRD; v[4] *= THIRD; v[5] *= THIRD; - v_tally(thr->vatom_pair[i],v); v_tally(thr->vatom_pair[j],v); v_tally(thr->vatom_pair[k],v); diff --git a/src/pair.cpp b/src/pair.cpp index 1a6a476b4f..912b071490 100644 --- a/src/pair.cpp +++ b/src/pair.cpp @@ -1514,7 +1514,7 @@ void Pair::v_tally2(int i, int j, double fpair, double *drij) virial[4] += v[4]; virial[5] += v[5]; } - + if (vflag_atom) { v[0] *= 0.5; v[1] *= 0.5; @@ -1522,7 +1522,6 @@ void Pair::v_tally2(int i, int j, double fpair, double *drij) v[3] *= 0.5; v[4] *= 0.5; v[5] *= 0.5; - vatom[i][0] += v[0]; vatom[i][1] += v[1]; vatom[i][2] += v[2]; vatom[i][3] += v[3]; vatom[i][4] += v[4]; vatom[i][5] += v[5]; vatom[j][0] += v[0]; vatom[j][1] += v[1]; vatom[j][2] += v[2]; @@ -1606,7 +1605,6 @@ void Pair::v_tally4(int i, int j, int k, int m, v[3] *= 0.25; v[4] *= 0.25; v[5] *= 0.25; - vatom[i][0] += v[0]; vatom[i][1] += v[1]; vatom[i][2] += v[2]; vatom[i][3] += v[3]; vatom[i][4] += v[4]; vatom[i][5] += v[5]; vatom[j][0] += v[0]; vatom[j][1] += v[1]; vatom[j][2] += v[2]; From b47a212b1736bde0f1224c69c28320edd20d2d0c Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 11 Jul 2021 13:55:00 -0400 Subject: [PATCH 391/726] initialize "me" before using it. --- unittest/formats/test_file_operations.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/unittest/formats/test_file_operations.cpp b/unittest/formats/test_file_operations.cpp index eb30b69cfd..794222fe5a 100644 --- a/unittest/formats/test_file_operations.cpp +++ b/unittest/formats/test_file_operations.cpp @@ -208,11 +208,11 @@ TEST_F(FileOperationsTest, read_lines_from_file) MPI_Comm world = MPI_COMM_WORLD; int me, rv; memset(buf, 0, MAX_BUF_SIZE); + MPI_Comm_rank(world, &me); rv = utils::read_lines_from_file(nullptr, 1, MAX_BUF_SIZE, buf, me, world); ASSERT_EQ(rv, 1); - MPI_Comm_rank(world, &me); if (me == 0) { fp = fopen("safe_file_read_test.txt", "r"); ASSERT_NE(fp, nullptr); From 41a434ae1f0ae39f40495fbe19b0d15f79d1c598 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 11 Jul 2021 14:09:17 -0400 Subject: [PATCH 392/726] fix compilation issues with new/old Intel compilers --- cmake/CMakeLists.txt | 2 +- examples/plugins/CMakeLists.txt | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index a64d18a6da..371f836a36 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -77,7 +77,7 @@ check_for_autogen_files(${LAMMPS_SOURCE_DIR}) include(CheckIncludeFileCXX) # set required compiler flags and compiler/CPU arch specific optimizations -if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel") +if((CMAKE_CXX_COMPILER_ID STREQUAL "Intel") OR (CMAKE_CXX_COMPILER_ID STREQUAL "IntelLLVM")) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -restrict") if(CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 17.3 OR CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 17.4) set(CMAKE_TUNE_DEFAULT "-xCOMMON-AVX512") diff --git a/examples/plugins/CMakeLists.txt b/examples/plugins/CMakeLists.txt index 1169ab490a..59c2802b45 100644 --- a/examples/plugins/CMakeLists.txt +++ b/examples/plugins/CMakeLists.txt @@ -31,6 +31,11 @@ endif() set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD_REQUIRED ON) +# Need -restrict with Intel compilers +if((CMAKE_CXX_COMPILER_ID STREQUAL "Intel") OR (CMAKE_CXX_COMPILER_ID STREQUAL "IntelLLVM")) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -restrict") +endif() + # bail out on windows if(CMAKE_SYSTEM_NAME STREQUAL Windows) message(FATAL_ERROR "LAMMPS plugins are currently not supported on Windows") From eecc0125256516c3c3f129b9504df9bfefbf0dc2 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 11 Jul 2021 14:56:47 -0400 Subject: [PATCH 393/726] sphinx 4.1.0 failes to parse utils::logmesg(lmp,format,...) template function --- doc/utils/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/utils/requirements.txt b/doc/utils/requirements.txt index 9b8e106875..7e4563a1ec 100644 --- a/doc/utils/requirements.txt +++ b/doc/utils/requirements.txt @@ -1,4 +1,4 @@ -Sphinx +Sphinx==4.0.3 sphinxcontrib-spelling git+git://github.com/akohlmey/sphinx-fortran@parallel-read sphinx_tabs From 51d082ff2b0b7764ef4cc586ad6d4827bfab9741 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 11 Jul 2021 14:57:00 -0400 Subject: [PATCH 394/726] reformat comments --- src/utils.h | 714 ++++++++++++++++++++++++++-------------------------- 1 file changed, 358 insertions(+), 356 deletions(-) diff --git a/src/utils.h b/src/utils.h index 58b6df7725..276ae0a315 100644 --- a/src/utils.h +++ b/src/utils.h @@ -33,19 +33,19 @@ class LAMMPS; namespace utils { - /** Match text against a simplified regex pattern - * - * \param text the text to be matched against the pattern - * \param pattern the search pattern, which may contain regexp markers - * \return true if the pattern matches, false if not */ + /*! Match text against a simplified regex pattern + * + * \param text the text to be matched against the pattern + * \param pattern the search pattern, which may contain regexp markers + * \return true if the pattern matches, false if not */ bool strmatch(const std::string &text, const std::string &pattern); - /** Find sub-string that matches a simplified regex pattern - * - * \param text the text to be matched against the pattern - * \param pattern the search pattern, which may contain regexp markers - * \return the string that matches the patters or an empty one */ + /*! Find sub-string that matches a simplified regex pattern + * + * \param text the text to be matched against the pattern + * \param pattern the search pattern, which may contain regexp markers + * \return the string that matches the patters or an empty one */ std::string strfind(const std::string &text, const std::string &pattern); @@ -53,261 +53,261 @@ namespace utils { void fmtargs_logmesg(LAMMPS *lmp, fmt::string_view format, fmt::format_args args); - /** Send formatted message to screen and logfile, if available - * - * This function simplifies the repetitive task of outputting some - * message to both the screen and/or the log file. The template - * wrapper with fmtlib format and argument processing allows - * this function to work similar to ``fmt::print()``. - * - * \param lmp pointer to LAMMPS class instance - * \param format format string of message to be printed - * \param args arguments to format string */ + /*! Send formatted message to screen and logfile, if available + * + * This function simplifies the repetitive task of outputting some + * message to both the screen and/or the log file. The template + * wrapper with fmtlib format and argument processing allows + * this function to work similar to ``fmt::print()``. + * + * \param lmp pointer to LAMMPS class instance + * \param format format string of message to be printed + * \param ... arguments to format string */ template void logmesg(LAMMPS *lmp, const S &format, Args &&...args) { fmtargs_logmesg(lmp, format, fmt::make_args_checked(format, args...)); } - /** \overload - * - * \param lmp pointer to LAMMPS class instance - * \param mesg string with message to be printed */ + /*! \overload + * + * \param lmp pointer to LAMMPS class instance + * \param mesg string with message to be printed */ void logmesg(LAMMPS *lmp, const std::string &mesg); - /** Return a string representing the current system error status - * - * This is a wrapper around calling strerror(errno). - * - * \return error string */ + /*! Return a string representing the current system error status + * + * This is a wrapper around calling strerror(errno). + * + * \return error string */ std::string getsyserror(); - /** Wrapper around fgets() which reads whole lines but truncates the - * data to the buffer size and ensures a newline char at the end. - * - * This function is useful for reading line based text files with - * possible comments that should be parsed later. This applies to - * data files, potential files, atomfile variable files and so on. - * It is used instead of fgets() by utils::read_lines_from_file(). - * - * \param s buffer for storing the result of fgets() - * \param size size of buffer s (max number of bytes returned) - * \param fp file pointer used by fgets() */ + /*! Wrapper around fgets() which reads whole lines but truncates the + * data to the buffer size and ensures a newline char at the end. + * + * This function is useful for reading line based text files with + * possible comments that should be parsed later. This applies to + * data files, potential files, atomfile variable files and so on. + * It is used instead of fgets() by utils::read_lines_from_file(). + * + * \param s buffer for storing the result of fgets() + * \param size size of buffer s (max number of bytes returned) + * \param fp file pointer used by fgets() */ char *fgets_trunc(char *s, int size, FILE *fp); - /** Safe wrapper around fgets() which aborts on errors - * or EOF and prints a suitable error message to help debugging. - * - * Use nullptr as the error parameter to avoid the abort on EOF or error. - * - * \param srcname name of the calling source file (from FLERR macro) - * \param srcline line in the calling source file (from FLERR macro) - * \param s buffer for storing the result of fgets() - * \param size size of buffer s (max number of bytes read by fgets()) - * \param fp file pointer used by fgets() - * \param filename file name associated with fp (may be a null pointer; then LAMMPS will try to detect) - * \param error pointer to Error class instance (for abort) or nullptr */ + /*! Safe wrapper around fgets() which aborts on errors + * or EOF and prints a suitable error message to help debugging. + * + * Use nullptr as the error parameter to avoid the abort on EOF or error. + * + * \param srcname name of the calling source file (from FLERR macro) + * \param srcline line in the calling source file (from FLERR macro) + * \param s buffer for storing the result of fgets() + * \param size size of buffer s (max number of bytes read by fgets()) + * \param fp file pointer used by fgets() + * \param filename file name associated with fp (may be a null pointer; then LAMMPS will try to detect) + * \param error pointer to Error class instance (for abort) or nullptr */ void sfgets(const char *srcname, int srcline, char *s, int size, FILE *fp, const char *filename, Error *error); - /** Safe wrapper around fread() which aborts on errors - * or EOF and prints a suitable error message to help debugging. - * - * Use nullptr as the error parameter to avoid the abort on EOF or error. - * - * \param srcname name of the calling source file (from FLERR macro) - * \param srcline line in the calling source file (from FLERR macro) - * \param s buffer for storing the result of fread() - * \param size size of data elements read by fread() - * \param num number of data elements read by fread() - * \param fp file pointer used by fread() - * \param filename file name associated with fp (may be a null pointer; then LAMMPS will try to detect) - * \param error pointer to Error class instance (for abort) or nullptr */ + /*! Safe wrapper around fread() which aborts on errors + * or EOF and prints a suitable error message to help debugging. + * + * Use nullptr as the error parameter to avoid the abort on EOF or error. + * + * \param srcname name of the calling source file (from FLERR macro) + * \param srcline line in the calling source file (from FLERR macro) + * \param s buffer for storing the result of fread() + * \param size size of data elements read by fread() + * \param num number of data elements read by fread() + * \param fp file pointer used by fread() + * \param filename file name associated with fp (may be a null pointer; then LAMMPS will try to detect) + * \param error pointer to Error class instance (for abort) or nullptr */ void sfread(const char *srcname, int srcline, void *s, size_t size, size_t num, FILE *fp, const char *filename, Error *error); - /** Read N lines of text from file into buffer and broadcast them - * - * This function uses repeated calls to fread() to fill a buffer with - * newline terminated text. If a line does not end in a newline (e.g. - * at the end of a file), it is added. The caller has to allocate an - * nlines by nmax sized buffer for storing the text data. - * Reading is done by MPI rank 0 of the given communicator only, and - * thus only MPI rank 0 needs to provide a valid file pointer. - * - * \param fp file pointer used by fread - * \param nlines number of lines to be read - * \param nmax maximum length of a single line - * \param buffer buffer for storing the data. - * \param me MPI rank of calling process in MPI communicator - * \param comm MPI communicator for broadcast - * \return 1 if the read was short, 0 if read was successful */ + /*! Read N lines of text from file into buffer and broadcast them + * + * This function uses repeated calls to fread() to fill a buffer with + * newline terminated text. If a line does not end in a newline (e.g. + * at the end of a file), it is added. The caller has to allocate an + * nlines by nmax sized buffer for storing the text data. + * Reading is done by MPI rank 0 of the given communicator only, and + * thus only MPI rank 0 needs to provide a valid file pointer. + * + * \param fp file pointer used by fread + * \param nlines number of lines to be read + * \param nmax maximum length of a single line + * \param buffer buffer for storing the data. + * \param me MPI rank of calling process in MPI communicator + * \param comm MPI communicator for broadcast + * \return 1 if the read was short, 0 if read was successful */ int read_lines_from_file(FILE *fp, int nlines, int nmax, char *buffer, int me, MPI_Comm comm); - /** Report if a requested style is in a package or may have a typo - * - * \param style type of style that is to be checked for - * \param name name of style that was not found - * \param lmp pointer to top-level LAMMPS class instance - * \return string usable for error messages */ + /*! Report if a requested style is in a package or may have a typo + * + * \param style type of style that is to be checked for + * \param name name of style that was not found + * \param lmp pointer to top-level LAMMPS class instance + * \return string usable for error messages */ std::string check_packages_for_style(const std::string &style, const std::string &name, LAMMPS *lmp); - /** Convert a string to a floating point number while checking - * if it is a valid floating point or integer number - * - * \param file name of source file for error message - * \param line line number in source file for error message - * \param str string to be converted to number - * \param do_abort determines whether to call Error::one() or Error::all() - * \param lmp pointer to top-level LAMMPS class instance - * \return double precision floating point number - */ + /*! Convert a string to a floating point number while checking + * if it is a valid floating point or integer number + * + * \param file name of source file for error message + * \param line line number in source file for error message + * \param str string to be converted to number + * \param do_abort determines whether to call Error::one() or Error::all() + * \param lmp pointer to top-level LAMMPS class instance + * \return double precision floating point number */ + double numeric(const char *file, int line, const char *str, bool do_abort, LAMMPS *lmp); - /** Convert a string to an integer number while checking - * if it is a valid integer number (regular int) - * - * \param file name of source file for error message - * \param line line number in source file for error message - * \param str string to be converted to number - * \param do_abort determines whether to call Error::one() or Error::all() - * \param lmp pointer to top-level LAMMPS class instance - * \return integer number (regular int) */ + /*! Convert a string to an integer number while checking + * if it is a valid integer number (regular int) + * + * \param file name of source file for error message + * \param line line number in source file for error message + * \param str string to be converted to number + * \param do_abort determines whether to call Error::one() or Error::all() + * \param lmp pointer to top-level LAMMPS class instance + * \return integer number (regular int) */ int inumeric(const char *file, int line, const char *str, bool do_abort, LAMMPS *lmp); - /** Convert a string to an integer number while checking - * if it is a valid integer number (bigint) - * - * \param file name of source file for error message - * \param line line number in source file for error message - * \param str string to be converted to number - * \param do_abort determines whether to call Error::one() or Error::all() - * \param lmp pointer to top-level LAMMPS class instance - * \return integer number (bigint) */ + /*! Convert a string to an integer number while checking + * if it is a valid integer number (bigint) + * + * \param file name of source file for error message + * \param line line number in source file for error message + * \param str string to be converted to number + * \param do_abort determines whether to call Error::one() or Error::all() + * \param lmp pointer to top-level LAMMPS class instance + * \return integer number (bigint) */ bigint bnumeric(const char *file, int line, const char *str, bool do_abort, LAMMPS *lmp); - /** Convert a string to an integer number while checking - * if it is a valid integer number (tagint) - * - * \param file name of source file for error message - * \param line line number in source file for error message - * \param str string to be converted to number - * \param do_abort determines whether to call Error::one() or Error::all() - * \param lmp pointer to top-level LAMMPS class instance - * \return integer number (tagint) */ + /*! Convert a string to an integer number while checking + * if it is a valid integer number (tagint) + * + * \param file name of source file for error message + * \param line line number in source file for error message + * \param str string to be converted to number + * \param do_abort determines whether to call Error::one() or Error::all() + * \param lmp pointer to top-level LAMMPS class instance + * \return integer number (tagint) */ tagint tnumeric(const char *file, int line, const char *str, bool do_abort, LAMMPS *lmp); - /** Compute index bounds derived from a string with a possible wildcard - * - * This functions processes the string in *str* and set the values of *nlo* - * and *nhi* according to the following five cases: - * - * - a single number, i: nlo = i; nhi = i; - * - a single asterisk, \*: nlo = nmin; nhi = nmax; - * - a single number followed by an asterisk, i\*: nlo = i; nhi = nmax; - * - a single asterisk followed by a number, \*i: nlo = nmin; nhi = i; - * - two numbers with an asterisk in between. i\*j: nlo = i; nhi = j; - * - * \param file name of source file for error message - * \param line line number in source file for error message - * \param str string to be processed - * \param nmin smallest possible lower bound - * \param nmax largest allowed upper bound - * \param nlo lower bound - * \param nhi upper bound - * \param error pointer to Error class for out-of-bounds messages */ + /*! Compute index bounds derived from a string with a possible wildcard + * + * This functions processes the string in *str* and set the values of *nlo* + * and *nhi* according to the following five cases: + * + * - a single number, i: nlo = i; nhi = i; + * - a single asterisk, \*: nlo = nmin; nhi = nmax; + * - a single number followed by an asterisk, i\*: nlo = i; nhi = nmax; + * - a single asterisk followed by a number, \*i: nlo = nmin; nhi = i; + * - two numbers with an asterisk in between. i\*j: nlo = i; nhi = j; + * + * \param file name of source file for error message + * \param line line number in source file for error message + * \param str string to be processed + * \param nmin smallest possible lower bound + * \param nmax largest allowed upper bound + * \param nlo lower bound + * \param nhi upper bound + * \param error pointer to Error class for out-of-bounds messages */ template void bounds(const char *file, int line, const std::string &str, bigint nmin, bigint nmax, TYPE &nlo, TYPE &nhi, Error *error); - /** Expand list of arguments when containing fix/compute wildcards - * - * This function searches the list of arguments in *arg* for strings - * of the kind c_ID[*] or f_ID[*] referring to computes or fixes. - * Any such strings are replaced by one or more strings with the - * '*' character replaced by the corresponding possible numbers as - * determined from the fix or compute instance. Other strings are - * just copied. If the *mode* parameter is set to 0, expand global - * vectors, but not global arrays; if it is set to 1, expand global - * arrays (by column) but not global vectors. - * - * If any expansion happens, the earg list and all its - * strings are new allocations and must be freed explicitly by the - * caller. Otherwise arg and earg will point to the same address - * and no explicit de-allocation is needed by the caller. - * - * \param file name of source file for error message - * \param line line number in source file for error message - * \param narg number of arguments in current list - * \param arg argument list, possibly containing wildcards - * \param mode select between global vectors(=0) and arrays (=1) - * \param earg new argument list with wildcards expanded - * \param lmp pointer to top-level LAMMPS class instance - * \return number of arguments in expanded list */ + /*! Expand list of arguments when containing fix/compute wildcards + * + * This function searches the list of arguments in *arg* for strings + * of the kind c_ID[*] or f_ID[*] referring to computes or fixes. + * Any such strings are replaced by one or more strings with the + * '*' character replaced by the corresponding possible numbers as + * determined from the fix or compute instance. Other strings are + * just copied. If the *mode* parameter is set to 0, expand global + * vectors, but not global arrays; if it is set to 1, expand global + * arrays (by column) but not global vectors. + * + * If any expansion happens, the earg list and all its + * strings are new allocations and must be freed explicitly by the + * caller. Otherwise arg and earg will point to the same address + * and no explicit de-allocation is needed by the caller. + * + * \param file name of source file for error message + * \param line line number in source file for error message + * \param narg number of arguments in current list + * \param arg argument list, possibly containing wildcards + * \param mode select between global vectors(=0) and arrays (=1) + * \param earg new argument list with wildcards expanded + * \param lmp pointer to top-level LAMMPS class instance + * \return number of arguments in expanded list */ int expand_args(const char *file, int line, int narg, char **arg, int mode, char **&earg, LAMMPS *lmp); - /** Make C-style copy of string in new storage - * - * This allocates a storage buffer and copies the C-style or - * C++ style string into it. The buffer is allocated with "new" - * and thus needs to be deallocated with "delete[]". - * - * \param text string that should be copied - * \return new buffer with copy of string */ + /*! Make C-style copy of string in new storage + * + * This allocates a storage buffer and copies the C-style or + * C++ style string into it. The buffer is allocated with "new" + * and thus needs to be deallocated with "delete[]". + * + * \param text string that should be copied + * \return new buffer with copy of string */ char *strdup(const std::string &text); - /** Trim leading and trailing whitespace. Like TRIM() in Fortran. - * - * \param line string that should be trimmed - * \return new string without whitespace (string) */ + /*! Trim leading and trailing whitespace. Like TRIM() in Fortran. + * + * \param line string that should be trimmed + * \return new string without whitespace (string) */ std::string trim(const std::string &line); - /** Return string with anything from '#' onward removed - * - * \param line string that should be trimmed - * \return new string without comment (string) */ + /*! Return string with anything from '#' onward removed + * + * \param line string that should be trimmed + * \return new string without comment (string) */ std::string trim_comment(const std::string &line); - /** Check if a string will likely have UTF-8 encoded characters - * - * UTF-8 uses the 7-bit standard ASCII table for the first 127 characters and - * all other characters are encoded as multiple bytes. For the multi-byte - * characters the first byte has either the highest two, three, or four bits - * set followed by a zero bit and followed by one, two, or three more bytes, - * respectively, where the highest bit is set and the second highest bit set - * to 0. The remaining bits combined are the character code, which is thus - * limited to 21-bits. - * - * For the sake of efficiency this test only checks if a character in the string - * has the highest bit set and thus is very likely an UTF-8 character. It will - * not be able to tell this this is a valid UTF-8 character or whether it is a - * 2-byte, 3-byte, or 4-byte character. - * + /*! Check if a string will likely have UTF-8 encoded characters + * + * UTF-8 uses the 7-bit standard ASCII table for the first 127 characters and + * all other characters are encoded as multiple bytes. For the multi-byte + * characters the first byte has either the highest two, three, or four bits + * set followed by a zero bit and followed by one, two, or three more bytes, + * respectively, where the highest bit is set and the second highest bit set + * to 0. The remaining bits combined are the character code, which is thus + * limited to 21-bits. + * + * For the sake of efficiency this test only checks if a character in the string + * has the highest bit set and thus is very likely an UTF-8 character. It will + * not be able to tell this this is a valid UTF-8 character or whether it is a + * 2-byte, 3-byte, or 4-byte character. + * \verbatim embed:rst *See also* :cpp:func:`utils::utf8_subst` \endverbatim - * \param line string that should be checked - * \return true if string contains UTF-8 encoded characters (bool) */ + * \param line string that should be checked + * \return true if string contains UTF-8 encoded characters (bool) */ inline bool has_utf8(const std::string &line) { @@ -316,243 +316,245 @@ namespace utils { return false; } - /** Replace known UTF-8 characters with ASCII equivalents - * + /*! Replace known UTF-8 characters with ASCII equivalents + * \verbatim embed:rst *See also* :cpp:func:`utils::has_utf8` \endverbatim - * \param line string that should be converted - * \return new string with ascii replacements (string) */ + * \param line string that should be converted + * \return new string with ascii replacements (string) */ std::string utf8_subst(const std::string &line); - /** Count words in string with custom choice of separating characters - * - * \param text string that should be searched - * \param separators string containing characters that will be treated as whitespace - * \return number of words found */ + /*! Count words in string with custom choice of separating characters + * + * \param text string that should be searched + * \param separators string containing characters that will be treated as whitespace + * \return number of words found */ size_t count_words(const std::string &text, const std::string &separators); - /** Count words in string, ignore any whitespace matching " \t\r\n\f" - * - * \param text string that should be searched - * \return number of words found */ + /*! Count words in string, ignore any whitespace matching " \t\r\n\f" + * + * \param text string that should be searched + * \return number of words found */ size_t count_words(const std::string &text); - /** Count words in C-string, ignore any whitespace matching " \t\r\n\f" - * - * \param text string that should be searched - * \return number of words found */ + /*! Count words in C-string, ignore any whitespace matching " \t\r\n\f" + * + * \param text string that should be searched + * \return number of words found */ size_t count_words(const char *text); - /** Count words in a single line, trim anything from '#' onward - * - * \param text string that should be trimmed and searched - * \param separators string containing characters that will be treated as whitespace - * \return number of words found */ + /*! Count words in a single line, trim anything from '#' onward + * + * \param text string that should be trimmed and searched + * \param separators string containing characters that will be treated as whitespace + * \return number of words found */ size_t trim_and_count_words(const std::string &text, const std::string &separators = " \t\r\n\f"); - /** Take text and split into non-whitespace words. - * - * This can handle strings with single and double quotes, escaped quotes, - * and escaped codes within quotes, but due to using an STL container and - * STL strings is rather slow because of making copies. Designed for - * parsing command lines and similar text and not for time critical - * processing. Use a tokenizer class if performance matters. - * + /*! Take text and split into non-whitespace words. + * + * This can handle strings with single and double quotes, escaped quotes, + * and escaped codes within quotes, but due to using an STL container and + * STL strings is rather slow because of making copies. Designed for + * parsing command lines and similar text and not for time critical + * processing. Use a tokenizer class if performance matters. + * \verbatim embed:rst *See also* :cpp:class:`Tokenizer`, :cpp:class:`ValueTokenizer` \endverbatim - * \param text string that should be split - * \return STL vector with the words */ + * \param text string that should be split + * \return STL vector with the words */ std::vector split_words(const std::string &text); - /** Take multi-line text and split into lines - * - * \param text string that should be split - * \return STL vector with the lines */ + /*! Take multi-line text and split into lines + * + * \param text string that should be split + * \return STL vector with the lines */ std::vector split_lines(const std::string &text); - /** Check if string can be converted to valid integer - * - * \param str string that should be checked - * \return true, if string contains valid a integer, false otherwise */ + /*! Check if string can be converted to valid integer + * + * \param str string that should be checked + * \return true, if string contains valid a integer, false otherwise */ bool is_integer(const std::string &str); - /** Check if string can be converted to valid floating-point number - * - * \param str string that should be checked - * \return true, if string contains valid number, false otherwise */ + /*! Check if string can be converted to valid floating-point number + * + * \param str string that should be checked + * \return true, if string contains valid number, false otherwise */ bool is_double(const std::string &str); - /** Check if string is a valid ID - * ID strings may contain only letters, numbers, and underscores. - * - * \param str string that should be checked - * \return true, if string contains valid id, false otherwise */ + /*! Check if string is a valid ID + * ID strings may contain only letters, numbers, and underscores. + * + * \param str string that should be checked + * \return true, if string contains valid id, false otherwise */ bool is_id(const std::string &str); - /** Try to detect pathname from FILE pointer. - * - * Currently only supported on Linux, otherwise will report "(unknown)". - * - * \param buf storage buffer for pathname. output will be truncated if not large enough - * \param len size of storage buffer. output will be truncated to this length - 1 - * \param fp FILE pointer struct from STDIO library for which we want to detect the name - * \return pointer to the storage buffer, i.e. buf */ + /*! Try to detect pathname from FILE pointer. + * + * Currently only supported on Linux, otherwise will report "(unknown)". + * + * \param buf storage buffer for pathname. output will be truncated if not large enough + * \param len size of storage buffer. output will be truncated to this length - 1 + * \param fp FILE pointer struct from STDIO library for which we want to detect the name + * \return pointer to the storage buffer, i.e. buf */ const char *guesspath(char *buf, int len, FILE *fp); - /** Strip off leading part of path, return just the filename - * - * \param path file path - * \return file name */ + /*! Strip off leading part of path, return just the filename + * + * \param path file path + * \return file name */ std::string path_basename(const std::string &path); - /** Return the directory part of a path. Return "." if empty - * - * \param path file path - * \return directory name */ + /*! Return the directory part of a path. Return "." if empty + * + * \param path file path + * \return directory name */ std::string path_dirname(const std::string &path); - /** Join two pathname segments - * - * This uses the forward slash '/' character unless LAMMPS is compiled - * for Windows where it used the equivalent backward slash '\\'. - * - * \param a first path - * \param b second path - * \return combined path */ + /*! Join two pathname segments + * + * This uses the forward slash '/' character unless LAMMPS is compiled + * for Windows where it used the equivalent backward slash '\\'. + * + * \param a first path + * \param b second path + * \return combined path */ std::string path_join(const std::string &a, const std::string &b); - /** Check if file exists and is readable - * - * \param path file path - * \return true if file exists and is readable */ + /*! Check if file exists and is readable + * + * \param path file path + * \return true if file exists and is readable */ bool file_is_readable(const std::string &path); - /** Determine full path of potential file. If file is not found in current directory, - * search directories listed in LAMMPS_POTENTIALS environment variable - * - * \param path file path - * \return full path to potential file */ + /*! Determine full path of potential file. If file is not found in current directory, + * search directories listed in LAMMPS_POTENTIALS environment variable + * + * \param path file path + * \return full path to potential file */ std::string get_potential_file_path(const std::string &path); - /** Read potential file and return DATE field if it is present - * - * \param path file path - * \param potential_name name of potential that is being read - * \return DATE field if present */ + /*! Read potential file and return DATE field if it is present + * + * \param path file path + * \param potential_name name of potential that is being read + * \return DATE field if present */ std::string get_potential_date(const std::string &path, const std::string &potential_name); - /** Read potential file and return UNITS field if it is present - * - * \param path file path - * \param potential_name name of potential that is being read - * \return UNITS field if present */ + /*! Read potential file and return UNITS field if it is present + * + * \param path file path + * \param potential_name name of potential that is being read + * \return UNITS field if present */ std::string get_potential_units(const std::string &path, const std::string &potential_name); enum { NOCONVERT = 0, METAL2REAL = 1, REAL2METAL = 1 << 1 }; enum { UNKNOWN = 0, ENERGY }; - /** Return bitmask of available conversion factors for a given property - * - * \param property property to be converted - * \return bitmask indicating available conversions */ + /*! Return bitmask of available conversion factors for a given property + * + * \param property property to be converted + * \return bitmask indicating available conversions */ + int get_supported_conversions(const int property); - /** Return unit conversion factor for given property and selected from/to units - * - * \param property property to be converted - * \param conversion constant indicating the conversion - * \return conversion factor */ + /*! Return unit conversion factor for given property and selected from/to units + * + * \param property property to be converted + * \param conversion constant indicating the conversion + * \return conversion factor */ double get_conversion_factor(const int property, const int conversion); - /** Open a potential file as specified by *name* - * - * If opening the file directly fails, the function will search for - * it in the list of folder pointed to by the environment variable - * ``LAMMPS_POTENTIALS`` (if it is set). - * - * If the potential file has a ``UNITS`` tag in the first line, the - * tag's value is compared to the current unit style setting. - * The behavior of the function then depends on the value of the - * *auto_convert* parameter. If it is a null pointer, then the unit - * values must match or else the open will fail with an error. Otherwise - * the bitmask that *auto_convert* points to is used check for - * compatibility with possible automatic conversions by the calling - * function. If compatible, the bitmask is set to the required - * conversion or ``utils::NOCONVERT``. - * - * \param name file- or pathname of the potential file - * \param lmp pointer to top-level LAMMPS class instance - * \param auto_convert pointer to unit conversion bitmask or ``nullptr`` - * \return FILE pointer of the opened potential file or ``nullptr`` */ + /*! Open a potential file as specified by *name* + * + * If opening the file directly fails, the function will search for + * it in the list of folder pointed to by the environment variable + * ``LAMMPS_POTENTIALS`` (if it is set). + * + * If the potential file has a ``UNITS`` tag in the first line, the + * tag's value is compared to the current unit style setting. + * The behavior of the function then depends on the value of the + * *auto_convert* parameter. If it is a null pointer, then the unit + * values must match or else the open will fail with an error. Otherwise + * the bitmask that *auto_convert* points to is used check for + * compatibility with possible automatic conversions by the calling + * function. If compatible, the bitmask is set to the required + * conversion or ``utils::NOCONVERT``. + * + * \param name file- or pathname of the potential file + * \param lmp pointer to top-level LAMMPS class instance + * \param auto_convert pointer to unit conversion bitmask or ``nullptr`` + * \return FILE pointer of the opened potential file or ``nullptr`` */ FILE *open_potential(const std::string &name, LAMMPS *lmp, int *auto_convert); - /** Convert a time string to seconds - * - * The strings "off" and "unlimited" result in -1 - * - * \param timespec a string in the following format: ([[HH:]MM:]SS) - * \return total in seconds */ + /*! Convert a time string to seconds + * + * The strings "off" and "unlimited" result in -1 + * + * \param timespec a string in the following format: ([[HH:]MM:]SS) + * \return total in seconds */ double timespec2seconds(const std::string ×pec); - /** Convert a LAMMPS version date to a number - * - * This will generate a number YYYYMMDD from a date string - * (with or without blanks) that is suitable for numerical - * comparisons, i.e. later dates will generate a larger number. - * - * The day may or may not have a leading zero, the month - * is identified by the first 3 letters (so there may be more) - * and the year may be 2 or 4 digits (the missing 2 digits will - * be assumed as 20. That is 04 corresponds to 2004). - * - * No check is made whether the date is valid. - * - * \param date string in the format (Day Month Year) - * \return date code */ + /*! Convert a LAMMPS version date to a number + * + * This will generate a number YYYYMMDD from a date string + * (with or without blanks) that is suitable for numerical + * comparisons, i.e. later dates will generate a larger number. + * + * The day may or may not have a leading zero, the month + * is identified by the first 3 letters (so there may be more) + * and the year may be 2 or 4 digits (the missing 2 digits will + * be assumed as 20. That is 04 corresponds to 2004). + * + * No check is made whether the date is valid. + * + * \param date string in the format (Day Month Year) + * \return date code */ + int date2num(const std::string &date); - /** Custom merge sort implementation - * - * This function provides a custom upward hybrid merge sort - * implementation with support to pass an opaque pointer to - * the comparison function, e.g. for access to class members. - * This avoids having to use global variables. For improved - * performance, it uses an in-place insertion sort on initial - * chunks of up to 64 elements and switches to merge sort from - * then on. - * - * \param index Array with indices to be sorted - * \param num Length of the index array - * \param ptr Pointer to opaque object passed to comparison function - * \param comp Pointer to comparison function */ + /*! Custom merge sort implementation + * + * This function provides a custom upward hybrid merge sort + * implementation with support to pass an opaque pointer to + * the comparison function, e.g. for access to class members. + * This avoids having to use global variables. For improved + * performance, it uses an in-place insertion sort on initial + * chunks of up to 64 elements and switches to merge sort from + * then on. + * + * \param index Array with indices to be sorted + * \param num Length of the index array + * \param ptr Pointer to opaque object passed to comparison function + * \param comp Pointer to comparison function */ void merge_sort(int *index, int num, void *ptr, int (*comp)(int, int, void *)); } // namespace utils From 5e096a7f9fad6e2bc6bcc740d6c5c739b003fd49 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 11 Jul 2021 16:03:42 -0400 Subject: [PATCH 395/726] correct ev_tally4() for pair_modify nofdotr --- src/OPENMP/thr_omp.cpp | 31 ++++++++++++++++--------- src/pair.cpp | 51 ++++++++++++++++++++++++++++-------------- 2 files changed, 54 insertions(+), 28 deletions(-) diff --git a/src/OPENMP/thr_omp.cpp b/src/OPENMP/thr_omp.cpp index 397b70a3d0..545e3bbe88 100644 --- a/src/OPENMP/thr_omp.cpp +++ b/src/OPENMP/thr_omp.cpp @@ -725,18 +725,27 @@ void ThrOMP::ev_tally4_thr(Pair * const pair, const int i, const int j, } } - if (pair->vflag_atom) { - v[0] = 0.25 * (drim[0]*fi[0] + drjm[0]*fj[0] + drkm[0]*fk[0]); - v[1] = 0.25 * (drim[1]*fi[1] + drjm[1]*fj[1] + drkm[1]*fk[1]); - v[2] = 0.25 * (drim[2]*fi[2] + drjm[2]*fj[2] + drkm[2]*fk[2]); - v[3] = 0.25 * (drim[0]*fi[1] + drjm[0]*fj[1] + drkm[0]*fk[1]); - v[4] = 0.25 * (drim[0]*fi[2] + drjm[0]*fj[2] + drkm[0]*fk[2]); - v[5] = 0.25 * (drim[1]*fi[2] + drjm[1]*fj[2] + drkm[1]*fk[2]); + if (pair->vflag_either) { + v[0] = (drim[0]*fi[0] + drjm[0]*fj[0] + drkm[0]*fk[0]); + v[1] = (drim[1]*fi[1] + drjm[1]*fj[1] + drkm[1]*fk[1]); + v[2] = (drim[2]*fi[2] + drjm[2]*fj[2] + drkm[2]*fk[2]); + v[3] = (drim[0]*fi[1] + drjm[0]*fj[1] + drkm[0]*fk[1]); + v[4] = (drim[0]*fi[2] + drjm[0]*fj[2] + drkm[0]*fk[2]); + v[5] = (drim[1]*fi[2] + drjm[1]*fj[2] + drkm[1]*fk[2]); + if (pair->vflag_global) v_tally(thr->virial_pair,v); - v_tally(thr->vatom_pair[i],v); - v_tally(thr->vatom_pair[j],v); - v_tally(thr->vatom_pair[k],v); - v_tally(thr->vatom_pair[m],v); + if (pair->vflag_atom) { + v[0] *= 0.25; + v[1] *= 0.25; + v[2] *= 0.25; + v[3] *= 0.25; + v[4] *= 0.25; + v[5] *= 0.25; + v_tally(thr->vatom_pair[i],v); + v_tally(thr->vatom_pair[j],v); + v_tally(thr->vatom_pair[k],v); + v_tally(thr->vatom_pair[m],v); + } } } diff --git a/src/pair.cpp b/src/pair.cpp index 912b071490..5e8c666743 100644 --- a/src/pair.cpp +++ b/src/pair.cpp @@ -1363,22 +1363,40 @@ void Pair::ev_tally4(int i, int j, int k, int m, double evdwl, } } - if (vflag_atom) { - v[0] = 0.25 * (drim[0]*fi[0] + drjm[0]*fj[0] + drkm[0]*fk[0]); - v[1] = 0.25 * (drim[1]*fi[1] + drjm[1]*fj[1] + drkm[1]*fk[1]); - v[2] = 0.25 * (drim[2]*fi[2] + drjm[2]*fj[2] + drkm[2]*fk[2]); - v[3] = 0.25 * (drim[0]*fi[1] + drjm[0]*fj[1] + drkm[0]*fk[1]); - v[4] = 0.25 * (drim[0]*fi[2] + drjm[0]*fj[2] + drkm[0]*fk[2]); - v[5] = 0.25 * (drim[1]*fi[2] + drjm[1]*fj[2] + drkm[1]*fk[2]); + if (vflag_either) { + v[0] = (drim[0]*fi[0] + drjm[0]*fj[0] + drkm[0]*fk[0]); + v[1] = (drim[1]*fi[1] + drjm[1]*fj[1] + drkm[1]*fk[1]); + v[2] = (drim[2]*fi[2] + drjm[2]*fj[2] + drkm[2]*fk[2]); + v[3] = (drim[0]*fi[1] + drjm[0]*fj[1] + drkm[0]*fk[1]); + v[4] = (drim[0]*fi[2] + drjm[0]*fj[2] + drkm[0]*fk[2]); + v[5] = (drim[1]*fi[2] + drjm[1]*fj[2] + drkm[1]*fk[2]); - vatom[i][0] += v[0]; vatom[i][1] += v[1]; vatom[i][2] += v[2]; - vatom[i][3] += v[3]; vatom[i][4] += v[4]; vatom[i][5] += v[5]; - vatom[j][0] += v[0]; vatom[j][1] += v[1]; vatom[j][2] += v[2]; - vatom[j][3] += v[3]; vatom[j][4] += v[4]; vatom[j][5] += v[5]; - vatom[k][0] += v[0]; vatom[k][1] += v[1]; vatom[k][2] += v[2]; - vatom[k][3] += v[3]; vatom[k][4] += v[4]; vatom[k][5] += v[5]; - vatom[m][0] += v[0]; vatom[m][1] += v[1]; vatom[m][2] += v[2]; - vatom[m][3] += v[3]; vatom[m][4] += v[4]; vatom[m][5] += v[5]; + if (vflag_global) { + virial[0] += v[0]; + virial[1] += v[1]; + virial[2] += v[2]; + virial[3] += v[3]; + virial[4] += v[4]; + virial[5] += v[5]; + } + + if (vflag_atom) { + v[0] *= 0.25; + v[1] *= 0.25; + v[2] *= 0.25; + v[3] *= 0.25; + v[4] *= 0.25; + v[5] *= 0.25; + + vatom[i][0] += v[0]; vatom[i][1] += v[1]; vatom[i][2] += v[2]; + vatom[i][3] += v[3]; vatom[i][4] += v[4]; vatom[i][5] += v[5]; + vatom[j][0] += v[0]; vatom[j][1] += v[1]; vatom[j][2] += v[2]; + vatom[j][3] += v[3]; vatom[j][4] += v[4]; vatom[j][5] += v[5]; + vatom[k][0] += v[0]; vatom[k][1] += v[1]; vatom[k][2] += v[2]; + vatom[k][3] += v[3]; vatom[k][4] += v[4]; vatom[k][5] += v[5]; + vatom[m][0] += v[0]; vatom[m][1] += v[1]; vatom[m][2] += v[2]; + vatom[m][3] += v[3]; vatom[m][4] += v[4]; vatom[m][5] += v[5]; + } } } @@ -1534,8 +1552,7 @@ void Pair::v_tally2(int i, int j, double fpair, double *drij) called by AIREBO and Tersoff potential, newton_pair is always on ------------------------------------------------------------------------- */ -void Pair::v_tally3(int i, int j, int k, - double *fi, double *fj, double *drik, double *drjk) +void Pair::v_tally3(int i, int j, int k, double *fi, double *fj, double *drik, double *drjk) { double v[6]; From 90e0de8dca550c9c6dfc5072ccbbbab3980e1ba5 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 11 Jul 2021 16:32:46 -0400 Subject: [PATCH 396/726] update MEAM package to correctly handle pair_modify nofdotr --- src/MEAM/meam.h | 4 ++-- src/MEAM/meam_force.cpp | 42 +++++++++++++++++++++++++++++------------ src/MEAM/pair_meam.cpp | 13 ++++++------- 3 files changed, 38 insertions(+), 21 deletions(-) diff --git a/src/MEAM/meam.h b/src/MEAM/meam.h index d41e5f6aed..5205e01ec8 100644 --- a/src/MEAM/meam.h +++ b/src/MEAM/meam.h @@ -294,10 +294,10 @@ class MEAM { void meam_dens_final(int nlocal, int eflag_either, int eflag_global, int eflag_atom, double *eng_vdwl, double *eatom, int ntype, int *type, int *fmap, double **scale, int &errorflag); - void meam_force(int i, int eflag_either, int eflag_global, int eflag_atom, int vflag_atom, + void meam_force(int i, int eflag_global, int eflag_atom, int vflag_global, int vflag_atom, double *eng_vdwl, double *eatom, int ntype, int *type, int *fmap, double **scale, double **x, int numneigh, int *firstneigh, int numneigh_full, - int *firstneigh_full, int fnoffset, double **f, double **vatom); + int *firstneigh_full, int fnoffset, double **f, double **vatom, double *virial); }; // Functions we need for compat diff --git a/src/MEAM/meam_force.cpp b/src/MEAM/meam_force.cpp index ab72d3c6c8..88b6140f80 100644 --- a/src/MEAM/meam_force.cpp +++ b/src/MEAM/meam_force.cpp @@ -21,12 +21,15 @@ using namespace LAMMPS_NS; void -MEAM::meam_force(int i, int eflag_either, int eflag_global, int eflag_atom, int vflag_atom, double* eng_vdwl, - double* eatom, int /*ntype*/, int* type, int* fmap, double** scale, double** x, int numneigh, int* firstneigh, - int numneigh_full, int* firstneigh_full, int fnoffset, double** f, double** vatom) +MEAM::meam_force(int i, int eflag_global, int eflag_atom, int vflag_global, int vflag_atom, + double* eng_vdwl, double* eatom, int /*ntype*/, int* type, int* fmap, + double** scale, double** x, int numneigh, int* firstneigh, int numneigh_full, + int* firstneigh_full, int fnoffset, double** f, double** vatom, double *virial) { int j, jn, k, kn, kk, m, n, p, q; int nv2, nv3, elti, eltj, eltk, ind; + int eflag_either = eflag_atom || eflag_global; + int vflag_either = vflag_atom || vflag_global; double xitmp, yitmp, zitmp, delij[3], rij2, rij, rij3; double v[6], fi[3], fj[3]; double third, sixth; @@ -414,7 +417,7 @@ MEAM::meam_force(int i, int eflag_either, int eflag_global, int eflag_atom, int // Tabulate per-atom virial as symmetrized stress tensor - if (vflag_atom != 0) { + if (vflag_either) { fi[0] = delij[0] * force + dUdrijm[0]; fi[1] = delij[1] * force + dUdrijm[1]; fi[2] = delij[2] * force + dUdrijm[2]; @@ -425,9 +428,16 @@ MEAM::meam_force(int i, int eflag_either, int eflag_global, int eflag_atom, int v[4] = -0.25 * (delij[0] * fi[2] + delij[2] * fi[0]); v[5] = -0.25 * (delij[1] * fi[2] + delij[2] * fi[1]); - for (m = 0; m < 6; m++) { - vatom[i][m] = vatom[i][m] + v[m]; - vatom[j][m] = vatom[j][m] + v[m]; + if (vflag_global) { + for (m = 0; m < 6; m++) { + virial[m] += 2.0*v[m]; + } + } + if (vflag_atom) { + for (m = 0; m < 6; m++) { + vatom[i][m] += v[m]; + vatom[j][m] += v[m]; + } } } @@ -499,7 +509,7 @@ MEAM::meam_force(int i, int eflag_either, int eflag_global, int eflag_atom, int // Tabulate per-atom virial as symmetrized stress tensor - if (vflag_atom != 0) { + if (vflag_either) { fi[0] = force1 * dxik; fi[1] = force1 * dyik; fi[2] = force1 * dzik; @@ -513,10 +523,18 @@ MEAM::meam_force(int i, int eflag_either, int eflag_global, int eflag_atom, int v[4] = -sixth * (dxik * fi[2] + dxjk * fj[2] + dzik * fi[0] + dzjk * fj[0]); v[5] = -sixth * (dyik * fi[2] + dyjk * fj[2] + dzik * fi[1] + dzjk * fj[1]); - for (m = 0; m < 6; m++) { - vatom[i][m] = vatom[i][m] + v[m]; - vatom[j][m] = vatom[j][m] + v[m]; - vatom[k][m] = vatom[k][m] + v[m]; + if (vflag_global) { + for (m = 0; m < 6; m++) { + virial[m] += 3.0*v[m]; + } + } + + if (vflag_atom) { + for (m = 0; m < 6; m++) { + vatom[i][m] += v[m]; + vatom[j][m] += v[m]; + vatom[k][m] += v[m]; + } } } } diff --git a/src/MEAM/pair_meam.cpp b/src/MEAM/pair_meam.cpp index 0d607b8fb2..2acf58f738 100644 --- a/src/MEAM/pair_meam.cpp +++ b/src/MEAM/pair_meam.cpp @@ -154,17 +154,16 @@ void PairMEAM::compute(int eflag, int vflag) // vptr is first value in vatom if it will be used by meam_force() // else vatom may not exist, so pass dummy ptr - double **vptr; + double **vptr = nullptr; if (vflag_atom) vptr = vatom; - else vptr = nullptr; for (ii = 0; ii < inum_half; ii++) { i = ilist_half[ii]; - meam_inst->meam_force(i,eflag_either,eflag_global,eflag_atom, - vflag_atom,&eng_vdwl,eatom,ntype,type,map,scale,x, - numneigh_half[i],firstneigh_half[i], - numneigh_full[i],firstneigh_full[i], - offset,f,vptr); + meam_inst->meam_force(i,eflag_global,eflag_atom,vflag_global, + vflag_atom,&eng_vdwl,eatom,ntype,type,map,scale,x, + numneigh_half[i],firstneigh_half[i], + numneigh_full[i],firstneigh_full[i], + offset,f,vptr,virial); offset += numneigh_half[i]; } From 7e3e7865308fcd6b8474e7250b0de7d5d2424e3f Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 11 Jul 2021 19:19:41 -0400 Subject: [PATCH 397/726] fix up pair style polymorphic for pair_modify nofdotr --- src/MANYBODY/pair_polymorphic.cpp | 11 +++++------ .../tests/atomic-pair-polymorphic_eam.yaml | 2 +- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/src/MANYBODY/pair_polymorphic.cpp b/src/MANYBODY/pair_polymorphic.cpp index 319f0dde8f..aa269ae6ea 100644 --- a/src/MANYBODY/pair_polymorphic.cpp +++ b/src/MANYBODY/pair_polymorphic.cpp @@ -293,8 +293,7 @@ void PairPolymorphic::compute(int eflag, int vflag) f[j][1] -= dely*fpair; f[j][2] -= delz*fpair; - if (evflag) ev_tally(i,j,nlocal,newton_pair, - evdwl,0.0,fpair,delx,dely,delz); + if (evflag) ev_tally(i,j,nlocal,newton_pair,evdwl,0.0,fpair,delx,dely,delz); } if (eta == 1) { @@ -352,7 +351,7 @@ void PairPolymorphic::compute(int eflag, int vflag) f[k][1] -= delr2[1]*fpair; f[k][2] -= delr2[2]*fpair; - if (vflag_atom) v_tally2(i, k, -fpair, delr2); + if (vflag_either) v_tally2(i, k, -fpair, delr2); } } @@ -419,8 +418,8 @@ void PairPolymorphic::compute(int eflag, int vflag) f[j][1] -= delr1[1]*fpair; f[j][2] -= delr1[2]*fpair; - if (evflag) ev_tally(i,j,nlocal,newton_pair, - evdwl,0.0,-fpair,-delr1[0],-delr1[1],-delr1[2]); + if (evflag) ev_tally(i,j,nlocal,newton_pair,evdwl,0.0, + -fpair,-delr1[0],-delr1[1],-delr1[2]); // attractive term via loop over k @@ -451,7 +450,7 @@ void PairPolymorphic::compute(int eflag, int vflag) f[k][1] += fk[1]; f[k][2] += fk[2]; - if (vflag_atom) v_tally3(i,j,k,fj,fk,delr1,delr2); + if (vflag_either) v_tally3(i,j,k,fj,fk,delr1,delr2); } } } diff --git a/unittest/force-styles/tests/atomic-pair-polymorphic_eam.yaml b/unittest/force-styles/tests/atomic-pair-polymorphic_eam.yaml index f3ad72b9cd..6a2c16a80d 100644 --- a/unittest/force-styles/tests/atomic-pair-polymorphic_eam.yaml +++ b/unittest/force-styles/tests/atomic-pair-polymorphic_eam.yaml @@ -1,7 +1,7 @@ --- lammps_version: 10 Feb 2021 date_generated: Fri Feb 26 23:09:04 2021 -epsilon: 1e-14 +epsilon: 5e-14 prerequisites: ! | pair polymorphic pre_commands: ! | From d774cd5ddc0acf16b484f6eef18782338c052634 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 11 Jul 2021 19:27:49 -0400 Subject: [PATCH 398/726] fix sign errors and pair_modify nofdotr behavior for pair style bop --- src/MANYBODY/pair_bop.cpp | 30 +++++++------------ .../force-styles/tests/manybody-pair-bop.yaml | 2 +- .../tests/manybody-pair-bop_save.yaml | 2 +- 3 files changed, 12 insertions(+), 22 deletions(-) diff --git a/src/MANYBODY/pair_bop.cpp b/src/MANYBODY/pair_bop.cpp index 0dbcb1de15..e2a677c2a0 100644 --- a/src/MANYBODY/pair_bop.cpp +++ b/src/MANYBODY/pair_bop.cpp @@ -251,10 +251,8 @@ void PairBOP::compute(int eflag, int vflag) f[j][1] -= ftmp2; f[j][2] -= ftmp3; dE = pl_ij.rep - 2.0*pl_ij.betaS*sigB_0 - 2.0*pl_ij.betaP*piB_0; - if (evflag) { - ev_tally(i,j,nlocal,newton_pair, dE, 0.0, dpr1, - pl_ij.dis[0],pl_ij.dis[1],pl_ij.dis[2]); - } + if (evflag) ev_tally(i,j,nlocal,newton_pair, dE, 0.0, -dpr1, + pl_ij.dis[0],pl_ij.dis[1],pl_ij.dis[2]); } nlisti = BOP_total2[i]; for (jj = 0; jj < nlisti; jj++) { @@ -274,10 +272,8 @@ void PairBOP::compute(int eflag, int vflag) f[j][1] -= ftmp2; f[j][2] -= ftmp3; dE = -p2_ij.rep; - if (evflag) { - ev_tally(i,j,nlocal,newton_pair, dE, 0.0, dpr2, - p2_ij.dis[0],p2_ij.dis[1],p2_ij.dis[2]); - } + if (evflag) ev_tally(i,j,nlocal,newton_pair, dE, 0.0, -dpr2, + p2_ij.dis[0],p2_ij.dis[1],p2_ij.dis[2]); } } if (vflag_fdotr) virial_fdotr_compute(); @@ -1142,10 +1138,8 @@ double PairBOP::SigmaBo(int itmp, int jtmp) f[bt_i][n] -= ftmp[n]; f[bt_j][n] += ftmp[n]; } - if (evflag) { - ev_tally_xyz(bt_i,bt_j,nlocal,newton_pair,0.0,0.0, - ftmp[0],ftmp[1],ftmp[2],xtmp[0],xtmp[1],xtmp[2]); - } + if (evflag) ev_tally_xyz(bt_i,bt_j,nlocal,newton_pair,0.0,0.0, + -ftmp[0],-ftmp[1],-ftmp[2],xtmp[0],xtmp[1],xtmp[2]); } else { for (int n = 0; n < 3; n++) { bt_sg[loop].dSigB[n] = dsigB*part2*bt_sg[loop].dSigB1[n] - @@ -1157,10 +1151,8 @@ double PairBOP::SigmaBo(int itmp, int jtmp) f[bt_i][n] -= ftmp[n]; f[bt_j][n] += ftmp[n]; } - if (evflag) { - ev_tally_xyz(bt_i,bt_j,nlocal,newton_pair,0.0,0.0, - ftmp[0],ftmp[1],ftmp[2],xtmp[0],xtmp[1],xtmp[2]); - } + if (evflag) ev_tally_xyz(bt_i,bt_j,nlocal,newton_pair,0.0,0.0, + -ftmp[0],-ftmp[1],-ftmp[2],xtmp[0],xtmp[1],xtmp[2]); } } return(sigB); @@ -1841,10 +1833,8 @@ double PairBOP::PiBo(int itmp, int jtmp) f[bt_i][n] -= ftmp[n]; f[bt_j][n] += ftmp[n]; } - if (evflag) { - ev_tally_xyz(bt_i,bt_j,nlocal,newton_pair,0.0,0.0,ftmp[0],ftmp[1], - ftmp[2],xtmp[0],xtmp[1],xtmp[2]); - } + if (evflag) ev_tally_xyz(bt_i,bt_j,nlocal,newton_pair,0.0,0.0, + -ftmp[0],-ftmp[1],-ftmp[2],xtmp[0],xtmp[1],xtmp[2]); } return(piB); } diff --git a/unittest/force-styles/tests/manybody-pair-bop.yaml b/unittest/force-styles/tests/manybody-pair-bop.yaml index 3855d2d263..bc5d198aaf 100644 --- a/unittest/force-styles/tests/manybody-pair-bop.yaml +++ b/unittest/force-styles/tests/manybody-pair-bop.yaml @@ -1,7 +1,7 @@ --- lammps_version: 8 Apr 2021 date_generated: Wed May 5 11:50:15 2021 -epsilon: 1e-14 +epsilon: 2e-13 prerequisites: ! | pair bop pre_commands: ! | diff --git a/unittest/force-styles/tests/manybody-pair-bop_save.yaml b/unittest/force-styles/tests/manybody-pair-bop_save.yaml index 5f13b370a4..9c8ca13067 100644 --- a/unittest/force-styles/tests/manybody-pair-bop_save.yaml +++ b/unittest/force-styles/tests/manybody-pair-bop_save.yaml @@ -1,7 +1,7 @@ --- lammps_version: 8 Apr 2021 date_generated: Wed May 5 11:50:24 2021 -epsilon: 1e-14 +epsilon: 2e-14 prerequisites: ! | pair bop pre_commands: ! | From 6134164ad384cd1ad14984c05fb148fdbed37b95 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 11 Jul 2021 20:03:52 -0400 Subject: [PATCH 399/726] pair style rann does not support per-atom stress or pair_modify nofdotr --- doc/src/pair_rann.rst | 2 + src/ML-RANN/pair_rann.cpp | 48 ++++++++--------- src/ML-RANN/pair_rann.h | 6 +-- unittest/force-styles/test_pair_style.cpp | 65 ++++++++++++----------- 4 files changed, 62 insertions(+), 59 deletions(-) diff --git a/doc/src/pair_rann.rst b/doc/src/pair_rann.rst index b02a81e4b8..a9ad5d9236 100644 --- a/doc/src/pair_rann.rst +++ b/doc/src/pair_rann.rst @@ -382,6 +382,8 @@ Pair style *rann* is part of the ML-RANN package. It is only enabled if LAMMPS package. Additionally, if any spin fingerprint styles are used LAMMPS must be built with the SPIN package as well. +Pair style *rann* does not support computing per-atom stress or using :doc:`pair_modify nofdotr `. + Defaults """""""""""" diff --git a/src/ML-RANN/pair_rann.cpp b/src/ML-RANN/pair_rann.cpp index 2fe8f4d0c1..f0d1dec876 100644 --- a/src/ML-RANN/pair_rann.cpp +++ b/src/ML-RANN/pair_rann.cpp @@ -701,15 +701,22 @@ bool PairRANN::check_potential() { void PairRANN::compute(int eflag, int vflag) { - //perform force/energy computation_ + //perform force/energy computation_ if (dospin) { if (strcmp(update->unit_style,"metal") != 0) error->one(FLERR,"Spin pair styles require metal units"); if (!atom->sp_flag) error->one(FLERR,"Spin pair styles requires atom/spin style"); } - if (eflag || vflag) ev_setup(eflag,vflag); - else evflag = vflag_fdotr = vflag_atom = 0; + ev_init(eflag,vflag); + + // only global virial via fdotr is supported by this pair style + + if (vflag_atom) + error->all(FLERR,"Pair style rann does not support computing per-atom stress"); + if (vflag && !vflag_fdotr) + error->all(FLERR,"Pair style rann does not support 'pair_modify nofdotr'"); + int ii,i,j; int nn = 0; sims = new Simulation[1]; @@ -724,13 +731,11 @@ void PairRANN::compute(int eflag, int vflag) sims->s = atom->sp; } int itype,f,jnum,len; - if (eflag || vflag) ev_setup(eflag,vflag); - else evflag = vflag_fdotr = eflag_global = eflag_atom = 0; if (eflag_global) {eng_vdwl=0;eng_coul=0;} double energy=0; double **force = atom->f; double **fm = atom->fm; - double **virial = vatom; + //loop over atoms for (ii=0;iiinum;ii++) { i = sims->ilist[ii]; @@ -800,12 +805,8 @@ void PairRANN::compute(int eflag, int vflag) sx[j]=sy[j]=sz[j]=0; } } - if (doscreen) { - screen(ii,0,jnum-1); - } - if (allscreen) { - screen_neighbor_list(&jnum); - } + if (doscreen) screening(ii,0,jnum-1); + if (allscreen) screen_neighbor_list(&jnum); //do fingerprints for atom type len = fingerprintperelement[itype]; for (j=0;jilist; @@ -1026,8 +1026,8 @@ void PairRANN::propagateforward(double * energy,double **force,double ** /*viria sum[j] = activation[itype][i]->activation_function(sum[j]); if (i==L-1) { energy[j] = sum[j]; - if (eflag_atom)eatom[i1]=sum[j]; - if (eflag_global) {eng_vdwl +=sum[j];} + if (eflag_atom) eatom[i1]=sum[j]; + if (eflag_global) eng_vdwl +=sum[j]; } //force propagation for (jj=0;jjilist; @@ -1103,8 +1103,8 @@ void PairRANN::propagateforwardspin(double * energy,double **force,double **fm,d sum[j] = activation[itype][i]->activation_function(sum[j]); if (i==L-1) { energy[j] = sum[j]; - if (eflag_atom)eatom[i1]=sum[j]; - if (eflag_global) {eng_vdwl +=sum[j];} + if (eflag_atom) eatom[i1]=sum[j]; + if (eflag_global) eng_vdwl +=sum[j]; } //force propagation for (jj=0;jjrequest(this,instance_me); diff --git a/src/ML-RANN/pair_rann.h b/src/ML-RANN/pair_rann.h index a89e0265b6..ceaa5f445c 100644 --- a/src/ML-RANN/pair_rann.h +++ b/src/ML-RANN/pair_rann.h @@ -149,9 +149,9 @@ namespace LAMMPS_NS { void read_screening(std::vector,std::vector,char*,int); void read_mass(const std::vector &, const std::vector &,const char*,int); bool check_potential();//after finishing reading potential file - void propagateforward(double *,double **,double **,int,int);//called by compute to get force and energy - void propagateforwardspin(double *,double **,double **,double**,int,int);//called by compute to get force and energy - void screen(int,int,int); + void propagateforward(double *,double **,int,int);//called by compute to get force and energy + void propagateforwardspin(double *,double **,double**,int,int);//called by compute to get force and energy + void screening(int,int,int); void cull_neighbor_list(int *,int,int); void screen_neighbor_list(int *); }; diff --git a/unittest/force-styles/test_pair_style.cpp b/unittest/force-styles/test_pair_style.cpp index d256685659..5fb542735e 100644 --- a/unittest/force-styles/test_pair_style.cpp +++ b/unittest/force-styles/test_pair_style.cpp @@ -523,36 +523,39 @@ TEST(PairStyle, plain) EXPECT_FP_LE_WITH_EPS(pair->eng_coul, test_config.init_coul, epsilon); if (print_stats) std::cerr << "restart_energy stats:" << stats << std::endl; - if (!verbose) ::testing::internal::CaptureStdout(); - restart_lammps(lmp, test_config, true); - if (!verbose) ::testing::internal::GetCapturedStdout(); + // pair style rann does not support pair_modify nofdotr + if (test_config.pair_style != "rann") { + if (!verbose) ::testing::internal::CaptureStdout(); + restart_lammps(lmp, test_config, true); + if (!verbose) ::testing::internal::GetCapturedStdout(); - f = lmp->atom->f; - tag = lmp->atom->tag; - stats.reset(); - ASSERT_EQ(nlocal + 1, f_ref.size()); - for (int i = 0; i < nlocal; ++i) { - EXPECT_FP_LE_WITH_EPS(f[i][0], f_ref[tag[i]].x, epsilon); - EXPECT_FP_LE_WITH_EPS(f[i][1], f_ref[tag[i]].y, epsilon); - EXPECT_FP_LE_WITH_EPS(f[i][2], f_ref[tag[i]].z, epsilon); + f = lmp->atom->f; + tag = lmp->atom->tag; + stats.reset(); + ASSERT_EQ(nlocal + 1, f_ref.size()); + for (int i = 0; i < nlocal; ++i) { + EXPECT_FP_LE_WITH_EPS(f[i][0], f_ref[tag[i]].x, epsilon); + EXPECT_FP_LE_WITH_EPS(f[i][1], f_ref[tag[i]].y, epsilon); + EXPECT_FP_LE_WITH_EPS(f[i][2], f_ref[tag[i]].z, epsilon); + } + if (print_stats) std::cerr << "nofdotr_forces stats:" << stats << std::endl; + + pair = lmp->force->pair; + stress = pair->virial; + stats.reset(); + EXPECT_FP_LE_WITH_EPS(stress[0], test_config.init_stress.xx, epsilon); + EXPECT_FP_LE_WITH_EPS(stress[1], test_config.init_stress.yy, epsilon); + EXPECT_FP_LE_WITH_EPS(stress[2], test_config.init_stress.zz, epsilon); + EXPECT_FP_LE_WITH_EPS(stress[3], test_config.init_stress.xy, epsilon); + EXPECT_FP_LE_WITH_EPS(stress[4], test_config.init_stress.xz, epsilon); + EXPECT_FP_LE_WITH_EPS(stress[5], test_config.init_stress.yz, epsilon); + if (print_stats) std::cerr << "nofdotr_stress stats:" << stats << std::endl; + + stats.reset(); + EXPECT_FP_LE_WITH_EPS(pair->eng_vdwl, test_config.init_vdwl, epsilon); + EXPECT_FP_LE_WITH_EPS(pair->eng_coul, test_config.init_coul, epsilon); + if (print_stats) std::cerr << "nofdotr_energy stats:" << stats << std::endl; } - if (print_stats) std::cerr << "nofdotr_forces stats:" << stats << std::endl; - - pair = lmp->force->pair; - stress = pair->virial; - stats.reset(); - EXPECT_FP_LE_WITH_EPS(stress[0], test_config.init_stress.xx, epsilon); - EXPECT_FP_LE_WITH_EPS(stress[1], test_config.init_stress.yy, epsilon); - EXPECT_FP_LE_WITH_EPS(stress[2], test_config.init_stress.zz, epsilon); - EXPECT_FP_LE_WITH_EPS(stress[3], test_config.init_stress.xy, epsilon); - EXPECT_FP_LE_WITH_EPS(stress[4], test_config.init_stress.xz, epsilon); - EXPECT_FP_LE_WITH_EPS(stress[5], test_config.init_stress.yz, epsilon); - if (print_stats) std::cerr << "nofdotr_stress stats:" << stats << std::endl; - - stats.reset(); - EXPECT_FP_LE_WITH_EPS(pair->eng_vdwl, test_config.init_vdwl, epsilon); - EXPECT_FP_LE_WITH_EPS(pair->eng_coul, test_config.init_coul, epsilon); - if (print_stats) std::cerr << "nofdotr_energy stats:" << stats << std::endl; if (!verbose) ::testing::internal::CaptureStdout(); data_lammps(lmp, test_config); @@ -1091,9 +1094,9 @@ TEST(PairStyle, intel) // pair styles sw and tersoff and airebo INTEL package variants require newton on, // but that also requires fdotr for /intel - if ((test_config.pair_style != "sw") && (test_config.pair_style != "tersoff") - && (test_config.pair_style != "rebo") && (test_config.pair_style != "airebo") - && (test_config.pair_style != "airebo/morse")) { + if ((test_config.pair_style != "sw") && (test_config.pair_style != "tersoff") && + (test_config.pair_style != "rebo") && (test_config.pair_style != "airebo") && + (test_config.pair_style != "airebo/morse")) { if (!verbose) ::testing::internal::CaptureStdout(); restart_lammps(lmp, test_config, true, true); From bc08d9a97329d70ed96b611b65ee6bc3a73fa48c Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 11 Jul 2021 20:14:10 -0400 Subject: [PATCH 400/726] temporarily skip testing pair_modify nofdotr for reax/c until we merge PR #2708 --- unittest/force-styles/test_pair_style.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/unittest/force-styles/test_pair_style.cpp b/unittest/force-styles/test_pair_style.cpp index 5fb542735e..cc5ba66237 100644 --- a/unittest/force-styles/test_pair_style.cpp +++ b/unittest/force-styles/test_pair_style.cpp @@ -524,7 +524,8 @@ TEST(PairStyle, plain) if (print_stats) std::cerr << "restart_energy stats:" << stats << std::endl; // pair style rann does not support pair_modify nofdotr - if (test_config.pair_style != "rann") { + // temporarily disable testing pair style reax/c until we merge the other fixes + if ((test_config.pair_style != "rann") && (test_config.pair_style != "reax/c")) { if (!verbose) ::testing::internal::CaptureStdout(); restart_lammps(lmp, test_config, true); if (!verbose) ::testing::internal::GetCapturedStdout(); From bc4f2b65aeeb2ef5d7049da731e4ed2723119c47 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 12 Jul 2021 05:19:41 -0400 Subject: [PATCH 401/726] the INTEL package does not support pair_modify nofdotr - no need to test for it - add a check and report an error if the nofdotr setting is used --- src/INTEL/pair_airebo_intel.cpp | 2 ++ src/INTEL/pair_buck_coul_cut_intel.cpp | 2 ++ src/INTEL/pair_buck_coul_long_intel.cpp | 2 ++ src/INTEL/pair_buck_intel.cpp | 2 ++ src/INTEL/pair_dpd_intel.cpp | 2 ++ src/INTEL/pair_eam_intel.cpp | 2 ++ src/INTEL/pair_gayberne_intel.cpp | 2 ++ .../pair_lj_charmm_coul_charmm_intel.cpp | 2 ++ src/INTEL/pair_lj_charmm_coul_long_intel.cpp | 2 ++ src/INTEL/pair_lj_cut_coul_long_intel.cpp | 2 ++ src/INTEL/pair_lj_cut_intel.cpp | 2 ++ src/INTEL/pair_sw_intel.cpp | 2 ++ src/INTEL/pair_tersoff_intel.cpp | 2 ++ unittest/force-styles/test_pair_style.cpp | 36 ------------------- 14 files changed, 26 insertions(+), 36 deletions(-) diff --git a/src/INTEL/pair_airebo_intel.cpp b/src/INTEL/pair_airebo_intel.cpp index 45ceb6b605..94874153aa 100644 --- a/src/INTEL/pair_airebo_intel.cpp +++ b/src/INTEL/pair_airebo_intel.cpp @@ -292,6 +292,8 @@ void PairAIREBOIntel::compute( ev_init(eflag,vflag); if (vflag_atom) error->all(FLERR,"INTEL package does not support per-atom stress"); + if (vflag && !vflag_fdotr) + error->all(FLERR,"INTEL package does not support pair_modify nofdotr"); pvector[0] = pvector[1] = pvector[2] = 0.0; diff --git a/src/INTEL/pair_buck_coul_cut_intel.cpp b/src/INTEL/pair_buck_coul_cut_intel.cpp index 3826d1a111..99905bfaa0 100644 --- a/src/INTEL/pair_buck_coul_cut_intel.cpp +++ b/src/INTEL/pair_buck_coul_cut_intel.cpp @@ -77,6 +77,8 @@ void PairBuckCoulCutIntel::compute(int eflag, int vflag, ev_init(eflag,vflag); if (vflag_atom) error->all(FLERR,"INTEL package does not support per-atom stress"); + if (vflag && !vflag_fdotr) + error->all(FLERR,"INTEL package does not support pair_modify nofdotr"); const int inum = list->inum; const int nthreads = comm->nthreads; diff --git a/src/INTEL/pair_buck_coul_long_intel.cpp b/src/INTEL/pair_buck_coul_long_intel.cpp index 0ef62d4a0c..1566ec23b6 100644 --- a/src/INTEL/pair_buck_coul_long_intel.cpp +++ b/src/INTEL/pair_buck_coul_long_intel.cpp @@ -77,6 +77,8 @@ void PairBuckCoulLongIntel::compute(int eflag, int vflag, ev_init(eflag,vflag); if (vflag_atom) error->all(FLERR,"INTEL package does not support per-atom stress"); + if (vflag && !vflag_fdotr) + error->all(FLERR,"INTEL package does not support pair_modify nofdotr"); const int inum = list->inum; const int nthreads = comm->nthreads; diff --git a/src/INTEL/pair_buck_intel.cpp b/src/INTEL/pair_buck_intel.cpp index 88016c5e5e..26ef13be9a 100644 --- a/src/INTEL/pair_buck_intel.cpp +++ b/src/INTEL/pair_buck_intel.cpp @@ -70,6 +70,8 @@ void PairBuckIntel::compute(int eflag, int vflag, ev_init(eflag,vflag); if (vflag_atom) error->all(FLERR,"INTEL package does not support per-atom stress"); + if (vflag && !vflag_fdotr) + error->all(FLERR,"INTEL package does not support pair_modify nofdotr"); const int inum = list->inum; const int nthreads = comm->nthreads; diff --git a/src/INTEL/pair_dpd_intel.cpp b/src/INTEL/pair_dpd_intel.cpp index 96a2b2d029..089396afa3 100644 --- a/src/INTEL/pair_dpd_intel.cpp +++ b/src/INTEL/pair_dpd_intel.cpp @@ -89,6 +89,8 @@ void PairDPDIntel::compute(int eflag, int vflag, ev_init(eflag, vflag); if (vflag_atom) error->all(FLERR,"INTEL package does not support per-atom stress"); + if (vflag && !vflag_fdotr) + error->all(FLERR,"INTEL package does not support pair_modify nofdotr"); const int inum = list->inum; const int nthreads = comm->nthreads; diff --git a/src/INTEL/pair_eam_intel.cpp b/src/INTEL/pair_eam_intel.cpp index 7857225c6b..a86040b6b3 100644 --- a/src/INTEL/pair_eam_intel.cpp +++ b/src/INTEL/pair_eam_intel.cpp @@ -82,6 +82,8 @@ void PairEAMIntel::compute(int eflag, int vflag, ev_init(eflag, vflag); if (vflag_atom) error->all(FLERR,"INTEL package does not support per-atom stress"); + if (vflag && !vflag_fdotr) + error->all(FLERR,"INTEL package does not support pair_modify nofdotr"); const int inum = list->inum; const int nthreads = comm->nthreads; diff --git a/src/INTEL/pair_gayberne_intel.cpp b/src/INTEL/pair_gayberne_intel.cpp index b5c795ab0b..d7becc7585 100644 --- a/src/INTEL/pair_gayberne_intel.cpp +++ b/src/INTEL/pair_gayberne_intel.cpp @@ -76,6 +76,8 @@ void PairGayBerneIntel::compute(int eflag, int vflag, ev_init(eflag, vflag); if (vflag_atom) error->all(FLERR,"INTEL package does not support per-atom stress"); + if (vflag && !vflag_fdotr) + error->all(FLERR,"INTEL package does not support pair_modify nofdotr"); const int inum = list->inum; const int nall = atom->nlocal + atom->nghost; diff --git a/src/INTEL/pair_lj_charmm_coul_charmm_intel.cpp b/src/INTEL/pair_lj_charmm_coul_charmm_intel.cpp index 3b9e8f0964..ad8ef4d84f 100644 --- a/src/INTEL/pair_lj_charmm_coul_charmm_intel.cpp +++ b/src/INTEL/pair_lj_charmm_coul_charmm_intel.cpp @@ -73,6 +73,8 @@ void PairLJCharmmCoulCharmmIntel::compute(int eflag, int vflag, ev_init(eflag,vflag); if (vflag_atom) error->all(FLERR,"INTEL package does not support per-atom stress"); + if (vflag && !vflag_fdotr) + error->all(FLERR,"INTEL package does not support pair_modify nofdotr"); const int inum = list->inum; const int nthreads = comm->nthreads; diff --git a/src/INTEL/pair_lj_charmm_coul_long_intel.cpp b/src/INTEL/pair_lj_charmm_coul_long_intel.cpp index dbab14d45b..a910c74acb 100644 --- a/src/INTEL/pair_lj_charmm_coul_long_intel.cpp +++ b/src/INTEL/pair_lj_charmm_coul_long_intel.cpp @@ -77,6 +77,8 @@ void PairLJCharmmCoulLongIntel::compute(int eflag, int vflag, ev_init(eflag,vflag); if (vflag_atom) error->all(FLERR,"INTEL package does not support per-atom stress"); + if (vflag && !vflag_fdotr) + error->all(FLERR,"INTEL package does not support pair_modify nofdotr"); const int inum = list->inum; const int nthreads = comm->nthreads; diff --git a/src/INTEL/pair_lj_cut_coul_long_intel.cpp b/src/INTEL/pair_lj_cut_coul_long_intel.cpp index caad36eee6..51e208314b 100644 --- a/src/INTEL/pair_lj_cut_coul_long_intel.cpp +++ b/src/INTEL/pair_lj_cut_coul_long_intel.cpp @@ -76,6 +76,8 @@ void PairLJCutCoulLongIntel::compute(int eflag, int vflag, ev_init(eflag,vflag); if (vflag_atom) error->all(FLERR,"INTEL package does not support per-atom stress"); + if (vflag && !vflag_fdotr) + error->all(FLERR,"INTEL package does not support pair_modify nofdotr"); const int inum = list->inum; const int nthreads = comm->nthreads; diff --git a/src/INTEL/pair_lj_cut_intel.cpp b/src/INTEL/pair_lj_cut_intel.cpp index 2108cec061..eb60e0442f 100644 --- a/src/INTEL/pair_lj_cut_intel.cpp +++ b/src/INTEL/pair_lj_cut_intel.cpp @@ -68,6 +68,8 @@ void PairLJCutIntel::compute(int eflag, int vflag, ev_init(eflag, vflag); if (vflag_atom) error->all(FLERR,"INTEL package does not support per-atom stress"); + if (vflag && !vflag_fdotr) + error->all(FLERR,"INTEL package does not support pair_modify nofdotr"); const int inum = list->inum; const int nthreads = comm->nthreads; diff --git a/src/INTEL/pair_sw_intel.cpp b/src/INTEL/pair_sw_intel.cpp index 1c6cef0121..17dffa2843 100644 --- a/src/INTEL/pair_sw_intel.cpp +++ b/src/INTEL/pair_sw_intel.cpp @@ -97,6 +97,8 @@ void PairSWIntel::compute(int eflag, int vflag, ev_init(eflag, vflag); if (vflag_atom) error->all(FLERR,"INTEL package does not support per-atom stress"); + if (vflag && !vflag_fdotr) + error->all(FLERR,"INTEL package does not support pair_modify nofdotr"); const int inum = list->inum; const int nthreads = comm->nthreads; diff --git a/src/INTEL/pair_tersoff_intel.cpp b/src/INTEL/pair_tersoff_intel.cpp index b6de446397..248c3420e6 100644 --- a/src/INTEL/pair_tersoff_intel.cpp +++ b/src/INTEL/pair_tersoff_intel.cpp @@ -91,6 +91,8 @@ void PairTersoffIntel::compute(int eflag, int vflag, ev_init(eflag,vflag); if (vflag_atom) error->all(FLERR,"INTEL package does not support per-atom stress"); + if (vflag && !vflag_fdotr) + error->all(FLERR,"INTEL package does not support pair_modify nofdotr"); const int inum = list->inum; const int nthreads = comm->nthreads; diff --git a/unittest/force-styles/test_pair_style.cpp b/unittest/force-styles/test_pair_style.cpp index cc5ba66237..dae72ed8d3 100644 --- a/unittest/force-styles/test_pair_style.cpp +++ b/unittest/force-styles/test_pair_style.cpp @@ -1093,42 +1093,6 @@ TEST(PairStyle, intel) EXPECT_FP_LE_WITH_EPS((pair->eng_vdwl + pair->eng_coul), energy, epsilon); if (print_stats) std::cerr << "run_energy stats:" << stats << std::endl; - // pair styles sw and tersoff and airebo INTEL package variants require newton on, - // but that also requires fdotr for /intel - if ((test_config.pair_style != "sw") && (test_config.pair_style != "tersoff") && - (test_config.pair_style != "rebo") && (test_config.pair_style != "airebo") && - (test_config.pair_style != "airebo/morse")) { - - if (!verbose) ::testing::internal::CaptureStdout(); - restart_lammps(lmp, test_config, true, true); - if (!verbose) ::testing::internal::GetCapturedStdout(); - f = lmp->atom->f; - tag = lmp->atom->tag; - stats.reset(); - ASSERT_EQ(nlocal + 1, f_ref.size()); - for (int i = 0; i < nlocal; ++i) { - EXPECT_FP_LE_WITH_EPS(f[i][0], f_ref[tag[i]].x, 5 * epsilon); - EXPECT_FP_LE_WITH_EPS(f[i][1], f_ref[tag[i]].y, 5 * epsilon); - EXPECT_FP_LE_WITH_EPS(f[i][2], f_ref[tag[i]].z, 5 * epsilon); - } - if (print_stats) std::cerr << "nofdotr_forces stats:" << stats << std::endl; - - pair = lmp->force->pair; - stress = pair->virial; - stats.reset(); - EXPECT_FP_LE_WITH_EPS(stress[0], test_config.init_stress.xx, 10 * epsilon); - EXPECT_FP_LE_WITH_EPS(stress[1], test_config.init_stress.yy, 10 * epsilon); - EXPECT_FP_LE_WITH_EPS(stress[2], test_config.init_stress.zz, 10 * epsilon); - EXPECT_FP_LE_WITH_EPS(stress[3], test_config.init_stress.xy, 10 * epsilon); - EXPECT_FP_LE_WITH_EPS(stress[4], test_config.init_stress.xz, 10 * epsilon); - EXPECT_FP_LE_WITH_EPS(stress[5], test_config.init_stress.yz, 10 * epsilon); - if (print_stats) std::cerr << "nofdotr_stress stats:" << stats << std::endl; - - stats.reset(); - EXPECT_FP_LE_WITH_EPS(pair->eng_vdwl, test_config.init_vdwl, 5 * epsilon); - EXPECT_FP_LE_WITH_EPS(pair->eng_coul, test_config.init_coul, 5 * epsilon); - if (print_stats) std::cerr << "nofdotr_energy stats:" << stats << std::endl; - } if (!verbose) ::testing::internal::CaptureStdout(); cleanup_lammps(lmp, test_config); if (!verbose) ::testing::internal::GetCapturedStdout(); From 05f28661f21c6cb3305c545cddf8445815d2d4f5 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 12 Jul 2021 05:43:04 -0400 Subject: [PATCH 402/726] temporarily skip some tests for REAXFF until working on PR #2708 --- unittest/force-styles/test_pair_style.cpp | 2 +- unittest/force-styles/tests/atomic-pair-reax_c.yaml | 1 + unittest/force-styles/tests/atomic-pair-reax_c_lgvdw.yaml | 1 + unittest/force-styles/tests/atomic-pair-reax_c_noqeq.yaml | 1 + 4 files changed, 4 insertions(+), 1 deletion(-) diff --git a/unittest/force-styles/test_pair_style.cpp b/unittest/force-styles/test_pair_style.cpp index dae72ed8d3..b0221cf56e 100644 --- a/unittest/force-styles/test_pair_style.cpp +++ b/unittest/force-styles/test_pair_style.cpp @@ -525,7 +525,7 @@ TEST(PairStyle, plain) // pair style rann does not support pair_modify nofdotr // temporarily disable testing pair style reax/c until we merge the other fixes - if ((test_config.pair_style != "rann") && (test_config.pair_style != "reax/c")) { + if ((test_config.pair_style != "rann") && !(test_config.pair_style.find("reax") != std::string::npos)) { if (!verbose) ::testing::internal::CaptureStdout(); restart_lammps(lmp, test_config, true); if (!verbose) ::testing::internal::GetCapturedStdout(); diff --git a/unittest/force-styles/tests/atomic-pair-reax_c.yaml b/unittest/force-styles/tests/atomic-pair-reax_c.yaml index a0dabff323..ed0908beae 100644 --- a/unittest/force-styles/tests/atomic-pair-reax_c.yaml +++ b/unittest/force-styles/tests/atomic-pair-reax_c.yaml @@ -2,6 +2,7 @@ lammps_version: 24 Aug 2020 date_generated: Tue Sep 15 09:44:24 202 epsilon: 5e-11 +skip_tests: omp prerequisites: ! | pair reax/c fix qeq/reax diff --git a/unittest/force-styles/tests/atomic-pair-reax_c_lgvdw.yaml b/unittest/force-styles/tests/atomic-pair-reax_c_lgvdw.yaml index 567bddf5ce..bf71811de9 100644 --- a/unittest/force-styles/tests/atomic-pair-reax_c_lgvdw.yaml +++ b/unittest/force-styles/tests/atomic-pair-reax_c_lgvdw.yaml @@ -2,6 +2,7 @@ lammps_version: 10 Feb 2021 date_generated: Fri Feb 26 23:09:06 2021 epsilon: 2e-10 +skip_tests: omp prerequisites: ! | pair reax/c fix qeq/reax diff --git a/unittest/force-styles/tests/atomic-pair-reax_c_noqeq.yaml b/unittest/force-styles/tests/atomic-pair-reax_c_noqeq.yaml index efdf3ff5de..8f4b8b81c3 100644 --- a/unittest/force-styles/tests/atomic-pair-reax_c_noqeq.yaml +++ b/unittest/force-styles/tests/atomic-pair-reax_c_noqeq.yaml @@ -2,6 +2,7 @@ lammps_version: 10 Feb 2021 date_generated: Fri Feb 26 23:09:08 2021 epsilon: 5e-13 +skip_tests: omp prerequisites: ! | pair reax/c pre_commands: ! | From b3619922928a5465685c93ed36db29f7fc4e5275 Mon Sep 17 00:00:00 2001 From: Stan Gerald Moore Date: Mon, 12 Jul 2021 08:53:07 -0600 Subject: [PATCH 403/726] Remove deprecated Kokkos code ViewAllocateWithoutInitializing --- src/KOKKOS/kokkos_type.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/KOKKOS/kokkos_type.h b/src/KOKKOS/kokkos_type.h index c9e5736410..775462f1ff 100644 --- a/src/KOKKOS/kokkos_type.h +++ b/src/KOKKOS/kokkos_type.h @@ -45,7 +45,9 @@ enum{FULL=1u,HALFTHREAD=2u,HALF=4u}; static constexpr LAMMPS_NS::bigint LMP_KOKKOS_AV_DELTA = 10; namespace Kokkos { - using NoInit = ViewAllocateWithoutInitializing; + auto NoInit = [](std::string const& label) { + return Kokkos::view_alloc(Kokkos::WithoutInitializing, label); + }; } struct lmp_float3 { From ad966e130b586dfac0e71afe31bee9072545ee74 Mon Sep 17 00:00:00 2001 From: Stan Gerald Moore Date: Mon, 12 Jul 2021 10:41:31 -0600 Subject: [PATCH 404/726] Fix typos --- src/KOKKOS/atom_map_kokkos.cpp | 2 +- src/KOKKOS/kokkos_type.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/KOKKOS/atom_map_kokkos.cpp b/src/KOKKOS/atom_map_kokkos.cpp index d7f91c04e2..57761372c9 100644 --- a/src/KOKKOS/atom_map_kokkos.cpp +++ b/src/KOKKOS/atom_map_kokkos.cpp @@ -235,7 +235,7 @@ void AtomKokkos::map_set() k_sametag.modify_host(); if (map_style == Atom::MAP_ARRAY) k_map_array.modify_host(); - else if (map_style == Atom::MAP_ARRAY) { + else if (map_style == Atom::MAP_HASH) { // check if fix shake or neigh bond needs a device hash diff --git a/src/KOKKOS/kokkos_type.h b/src/KOKKOS/kokkos_type.h index 7a27e3f20f..7fe2130e9b 100644 --- a/src/KOKKOS/kokkos_type.h +++ b/src/KOKKOS/kokkos_type.h @@ -562,7 +562,7 @@ struct dual_hash_type { template std::enable_if_t::value,hash_type> view() {return d_view;} template - std::enable_if_t::value,host_hash_type> view() {return h_view;} + std::enable_if_t::value,host_hash_type> view() {return h_view;} }; From b752bda1b9d1c80246832dc0f9b332e886396433 Mon Sep 17 00:00:00 2001 From: Stan Moore Date: Mon, 12 Jul 2021 13:06:54 -0600 Subject: [PATCH 405/726] Fix GPU issues --- src/KOKKOS/kokkos_type.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/KOKKOS/kokkos_type.h b/src/KOKKOS/kokkos_type.h index 7fe2130e9b..2ecde3adeb 100644 --- a/src/KOKKOS/kokkos_type.h +++ b/src/KOKKOS/kokkos_type.h @@ -560,9 +560,12 @@ struct dual_hash_type { host_hash_type h_view; template + KOKKOS_INLINE_FUNCTION std::enable_if_t::value,hash_type> view() {return d_view;} + template - std::enable_if_t::value,host_hash_type> view() {return h_view;} + KOKKOS_INLINE_FUNCTION + std::enable_if_t::value,host_hash_type> view() {return h_view;} }; From f4239530bd886c636d8e6b960318f55a398f2317 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 12 Jul 2021 15:58:27 -0400 Subject: [PATCH 406/726] recover virial and nofdotr related changes by @athomps and @akohlmey --- src/ML-IAP/pair_mliap.cpp | 3 +- src/OPENMP/pair_reaxc_omp.cpp | 3 - src/OPENMP/pair_reaxc_omp.h | 28 +++-- src/OPENMP/reaxc_bond_orders_omp.cpp | 123 ++-------------------- src/OPENMP/reaxc_bonds_omp.cpp | 8 +- src/OPENMP/reaxc_forces_omp.cpp | 31 ++---- src/OPENMP/reaxc_hydrogen_bonds_omp.cpp | 60 ++++------- src/OPENMP/reaxc_multi_body_omp.cpp | 12 +-- src/OPENMP/reaxc_nonbonded_omp.cpp | 38 ++----- src/OPENMP/reaxc_torsion_angles_omp.cpp | 99 ++++++------------ src/OPENMP/reaxc_valence_angles_omp.cpp | 32 ++---- src/REAXFF/pair_reaxc.cpp | 3 - src/REAXFF/reaxc_bond_orders.cpp | 129 +++--------------------- src/REAXFF/reaxc_bonds.cpp | 11 +- src/REAXFF/reaxc_control.cpp | 1 - src/REAXFF/reaxc_forces.cpp | 14 +-- src/REAXFF/reaxc_hydrogen_bonds.cpp | 41 ++------ src/REAXFF/reaxc_multi_body.cpp | 12 +-- src/REAXFF/reaxc_nonbonded.cpp | 32 ++---- src/REAXFF/reaxc_torsion_angles.cpp | 92 ++++------------- src/REAXFF/reaxc_valence_angles.cpp | 48 +++------ src/REAXFF/reaxff_api.h | 5 +- src/REAXFF/reaxff_types.h | 1 - src/USER-MISC/pair_drip.cpp | 33 ++---- src/pair.cpp | 58 ++++++----- src/pair.h | 2 +- 26 files changed, 244 insertions(+), 675 deletions(-) diff --git a/src/ML-IAP/pair_mliap.cpp b/src/ML-IAP/pair_mliap.cpp index 0d2a80635a..64c5a547be 100644 --- a/src/ML-IAP/pair_mliap.cpp +++ b/src/ML-IAP/pair_mliap.cpp @@ -264,8 +264,7 @@ void PairMLIAP::e_tally(MLIAPData* data) add virial contribution into global and per-atom accumulators ------------------------------------------------------------------------- */ -void PairMLIAP::v_tally(int i, int j, - double *fij, double *rij) +void PairMLIAP::v_tally(int i, int j, double *fij, double *rij) { double v[6]; diff --git a/src/OPENMP/pair_reaxc_omp.cpp b/src/OPENMP/pair_reaxc_omp.cpp index 87190f5285..2596f8390b 100644 --- a/src/OPENMP/pair_reaxc_omp.cpp +++ b/src/OPENMP/pair_reaxc_omp.cpp @@ -233,9 +233,6 @@ void PairReaxCOMP::compute(int eflag, int vflag) evdwl = ecoul = 0.0; ev_init(eflag,vflag); - if (vflag_global) api->control->virial = 1; - else api->control->virial = 0; - if (vflag_atom) error->all(FLERR,"Pair style reax/c/omp does not support " "computing per-atom stress"); diff --git a/src/OPENMP/pair_reaxc_omp.h b/src/OPENMP/pair_reaxc_omp.h index 895dc646af..d8152656ff 100644 --- a/src/OPENMP/pair_reaxc_omp.h +++ b/src/OPENMP/pair_reaxc_omp.h @@ -47,33 +47,49 @@ class PairReaxCOMP : public PairReaxC, public ThrOMP { reduce_thr(styleparm, eflagparm, vflagparm, thrparm); } - inline void ev_tally_thr_proxy(Pair *const pairparm, const int iparm, const int jparm, + inline void ev_tally_thr_proxy(const int iparm, const int jparm, const int nlocalparm, const int newton_pairparm, const double evdwlparm, const double ecoulparm, const double fpairparm, const double delxparm, const double delyparm, const double delzparm, ThrData *const thrparm) { - ev_tally_thr(pairparm, iparm, jparm, nlocalparm, newton_pairparm, evdwlparm, ecoulparm, + ev_tally_thr(this, iparm, jparm, nlocalparm, newton_pairparm, evdwlparm, ecoulparm, fpairparm, delxparm, delyparm, delzparm, thrparm); } - inline void ev_tally_xyz_thr_proxy(Pair *const pairparm, const int iparm, const int jparm, + inline void ev_tally_xyz_thr_proxy(const int iparm, const int jparm, const int nlocalparm, const int newton_pairparm, const double evdwlparm, const double ecoulparm, const double fxparm, const double fyparm, const double fzparm, const double delxparm, const double delyparm, const double delzparm, ThrData *const thrparm) { - ev_tally_xyz_thr(pairparm, iparm, jparm, nlocalparm, newton_pairparm, evdwlparm, ecoulparm, + ev_tally_xyz_thr(this, iparm, jparm, nlocalparm, newton_pairparm, evdwlparm, ecoulparm, fxparm, fyparm, fzparm, delxparm, delyparm, delzparm, thrparm); } - inline void ev_tally3_thr_proxy(Pair *const pairparm, int i, int j, int k, double evdwl, + inline void ev_tally3_thr_proxy(int i, int j, int k, double evdwl, double ecoul, double *fj, double *fk, double *drji, double *drki, ThrData *const thrparm) { - ev_tally3_thr(pairparm, i, j, k, evdwl, ecoul, fj, fk, drji, drki, thrparm); + ev_tally3_thr(this, i, j, k, evdwl, ecoul, fj, fk, drji, drki, thrparm); + } + + inline void v_tally3_thr_proxy(const int i, const int j, const int k, const double *const fi, + const double *const fk, const double *const drij, + const double *const drkj, ThrData *const thrparm) + { + v_tally3_thr(this, i, j, k, fi, fk, drij, drkj, thrparm); + } + + inline void v_tally4_thr_proxy(const int i, const int j, const int k, const int l, + const double *const fi, const double *const fj, + const double *const fk, const double *const dril, + const double *const drjl, const double *const drkl, + ThrData *const thrparm) + { + v_tally4_thr(this, i, j, k, l, fi, fj, fk, dril, drjl, drkl, thrparm); } protected: diff --git a/src/OPENMP/reaxc_bond_orders_omp.cpp b/src/OPENMP/reaxc_bond_orders_omp.cpp index 22d7fe1e6e..9c026ee95c 100644 --- a/src/OPENMP/reaxc_bond_orders_omp.cpp +++ b/src/OPENMP/reaxc_bond_orders_omp.cpp @@ -37,109 +37,6 @@ using namespace LAMMPS_NS; namespace ReaxFF { - void Add_dBond_to_Forces_NPTOMP(reax_system *system, int i, int pj, - storage *workspace, reax_list **lists) { - reax_list *bonds = (*lists) + BONDS; - bond_data *nbr_j, *nbr_k; - bond_order_data *bo_ij, *bo_ji; - dbond_coefficients coef; - rvec temp; - int pk, k, j; - - int tid = get_tid(); - long reductionOffset = (system->N * tid); - - /* Initializations */ - nbr_j = &(bonds->select.bond_list[pj]); - j = nbr_j->nbr; - bo_ij = &(nbr_j->bo_data); - bo_ji = &(bonds->select.bond_list[nbr_j->sym_index].bo_data); - - coef.C1dbo = bo_ij->C1dbo * (bo_ij->Cdbo + bo_ji->Cdbo); - coef.C2dbo = bo_ij->C2dbo * (bo_ij->Cdbo + bo_ji->Cdbo); - coef.C3dbo = bo_ij->C3dbo * (bo_ij->Cdbo + bo_ji->Cdbo); - - coef.C1dbopi = bo_ij->C1dbopi * (bo_ij->Cdbopi + bo_ji->Cdbopi); - coef.C2dbopi = bo_ij->C2dbopi * (bo_ij->Cdbopi + bo_ji->Cdbopi); - coef.C3dbopi = bo_ij->C3dbopi * (bo_ij->Cdbopi + bo_ji->Cdbopi); - coef.C4dbopi = bo_ij->C4dbopi * (bo_ij->Cdbopi + bo_ji->Cdbopi); - - coef.C1dbopi2 = bo_ij->C1dbopi2 * (bo_ij->Cdbopi2 + bo_ji->Cdbopi2); - coef.C2dbopi2 = bo_ij->C2dbopi2 * (bo_ij->Cdbopi2 + bo_ji->Cdbopi2); - coef.C3dbopi2 = bo_ij->C3dbopi2 * (bo_ij->Cdbopi2 + bo_ji->Cdbopi2); - coef.C4dbopi2 = bo_ij->C4dbopi2 * (bo_ij->Cdbopi2 + bo_ji->Cdbopi2); - - coef.C1dDelta = bo_ij->C1dbo * (workspace->CdDelta[i]+workspace->CdDelta[j]); - coef.C2dDelta = bo_ij->C2dbo * (workspace->CdDelta[i]+workspace->CdDelta[j]); - coef.C3dDelta = bo_ij->C3dbo * (workspace->CdDelta[i]+workspace->CdDelta[j]); - - - /************************************ - * forces related to atom i * - * first neighbors of atom i * - ************************************/ - for (pk = Start_Index(i, bonds); pk < End_Index(i, bonds); ++pk) { - nbr_k = &(bonds->select.bond_list[pk]); - k = nbr_k->nbr; - - rvec_Scale(temp, -coef.C2dbo, nbr_k->bo_data.dBOp); /*2nd, dBO*/ - rvec_ScaledAdd(temp, -coef.C2dDelta, nbr_k->bo_data.dBOp);/*dDelta*/ - rvec_ScaledAdd(temp, -coef.C3dbopi, nbr_k->bo_data.dBOp); /*3rd, dBOpi*/ - rvec_ScaledAdd(temp, -coef.C3dbopi2, nbr_k->bo_data.dBOp);/*3rd, dBOpi2*/ - - /* force */ - rvec_Add(workspace->forceReduction[reductionOffset+k],temp); - } - - /* then atom i itself */ - rvec_Scale(temp, coef.C1dbo, bo_ij->dBOp); /*1st,dBO*/ - rvec_ScaledAdd(temp, coef.C2dbo, workspace->dDeltap_self[i]); /*2nd,dBO*/ - rvec_ScaledAdd(temp, coef.C1dDelta, bo_ij->dBOp); /*1st,dBO*/ - rvec_ScaledAdd(temp, coef.C2dDelta, workspace->dDeltap_self[i]);/*2nd,dBO*/ - rvec_ScaledAdd(temp, coef.C1dbopi, bo_ij->dln_BOp_pi); /*1st,dBOpi*/ - rvec_ScaledAdd(temp, coef.C2dbopi, bo_ij->dBOp); /*2nd,dBOpi*/ - rvec_ScaledAdd(temp, coef.C3dbopi, workspace->dDeltap_self[i]);/*3rd,dBOpi*/ - - rvec_ScaledAdd(temp, coef.C1dbopi2, bo_ij->dln_BOp_pi2); /*1st,dBO_pi2*/ - rvec_ScaledAdd(temp, coef.C2dbopi2, bo_ij->dBOp); /*2nd,dBO_pi2*/ - rvec_ScaledAdd(temp, coef.C3dbopi2, workspace->dDeltap_self[i]);/*3rd*/ - - /* force */ - rvec_Add(workspace->forceReduction[reductionOffset+i],temp); - - for (pk = Start_Index(j, bonds); pk < End_Index(j, bonds); ++pk) { - nbr_k = &(bonds->select.bond_list[pk]); - k = nbr_k->nbr; - - rvec_Scale(temp, -coef.C3dbo, nbr_k->bo_data.dBOp); /*3rd,dBO*/ - rvec_ScaledAdd(temp, -coef.C3dDelta, nbr_k->bo_data.dBOp);/*dDelta*/ - rvec_ScaledAdd(temp, -coef.C4dbopi, nbr_k->bo_data.dBOp); /*4th,dBOpi*/ - rvec_ScaledAdd(temp, -coef.C4dbopi2, nbr_k->bo_data.dBOp);/*4th,dBOpi2*/ - - /* force */ - rvec_Add(workspace->forceReduction[reductionOffset+k],temp); - } - - /* then atom j itself */ - rvec_Scale(temp, -coef.C1dbo, bo_ij->dBOp); /*1st, dBO*/ - rvec_ScaledAdd(temp, coef.C3dbo, workspace->dDeltap_self[j]); /*2nd, dBO*/ - rvec_ScaledAdd(temp, -coef.C1dDelta, bo_ij->dBOp); /*1st, dBO*/ - rvec_ScaledAdd(temp, coef.C3dDelta, workspace->dDeltap_self[j]);/*2nd, dBO*/ - - rvec_ScaledAdd(temp, -coef.C1dbopi, bo_ij->dln_BOp_pi); /*1st,dBOpi*/ - rvec_ScaledAdd(temp, -coef.C2dbopi, bo_ij->dBOp); /*2nd,dBOpi*/ - rvec_ScaledAdd(temp, coef.C4dbopi, workspace->dDeltap_self[j]);/*3rd,dBOpi*/ - - rvec_ScaledAdd(temp, -coef.C1dbopi2, bo_ij->dln_BOp_pi2); /*1st,dBOpi2*/ - rvec_ScaledAdd(temp, -coef.C2dbopi2, bo_ij->dBOp); /*2nd,dBOpi2*/ - rvec_ScaledAdd(temp,coef.C4dbopi2,workspace->dDeltap_self[j]);/*3rd,dBOpi2*/ - - /* force */ - rvec_Add(workspace->forceReduction[reductionOffset+j],temp); - } - -/* ---------------------------------------------------------------------- */ - void Add_dBond_to_ForcesOMP(reax_system *system, int i, int pj, storage *workspace, reax_list **lists) { reax_list *bonds = (*lists) + BONDS; @@ -196,11 +93,11 @@ namespace ReaxFF { rvec_Add(workspace->forceReduction[reductionOffset+i],temp); - if (system->pair_ptr->vflag_atom) { + if (system->pair_ptr->vflag_either) { rvec_Scale(fi_tmp, -1.0, temp); rvec_ScaledSum(delij, 1., system->my_atoms[i].x,-1., system->my_atoms[j].x); - pair_reax_ptr->ev_tally_xyz_thr_proxy(system->pair_ptr,i,j,system->N,0,0,0, + pair_reax_ptr->ev_tally_xyz_thr_proxy(i,j,system->N,0,0,0, fi_tmp[0],fi_tmp[1],fi_tmp[2], delij[0],delij[1],delij[2],thr); } @@ -217,11 +114,11 @@ namespace ReaxFF { rvec_Add(workspace->forceReduction[reductionOffset+j],temp); - if (system->pair_ptr->vflag_atom) { + if (system->pair_ptr->vflag_either) { rvec_Scale(fj_tmp, -1.0, temp); rvec_ScaledSum(delji, 1., system->my_atoms[j].x,-1., system->my_atoms[i].x); - pair_reax_ptr->ev_tally_xyz_thr_proxy(system->pair_ptr,j,i,system->N,0,0,0, + pair_reax_ptr->ev_tally_xyz_thr_proxy(j,i,system->N,0,0,0, fj_tmp[0],fj_tmp[1],fj_tmp[2], delji[0],delji[1],delji[2],thr); } @@ -236,16 +133,16 @@ namespace ReaxFF { rvec_Add(workspace->forceReduction[reductionOffset+k],temp); - if (system->pair_ptr->vflag_atom) { + if (system->pair_ptr->vflag_either) { rvec_Scale(fk_tmp, -1.0, temp); rvec_ScaledSum(delki,1.,system->my_atoms[k].x,-1.,system->my_atoms[i].x); - pair_reax_ptr->ev_tally_xyz_thr_proxy(system->pair_ptr,k,i,system->N,0,0,0, + pair_reax_ptr->ev_tally_xyz_thr_proxy(k,i,system->N,0,0,0, fk_tmp[0],fk_tmp[1],fk_tmp[2], delki[0],delki[1],delki[2],thr); rvec_ScaledSum(delkj,1.,system->my_atoms[k].x,-1.,system->my_atoms[j].x); - pair_reax_ptr->ev_tally_xyz_thr_proxy(system->pair_ptr,k,j,system->N,0,0,0, + pair_reax_ptr->ev_tally_xyz_thr_proxy(k,j,system->N,0,0,0, fk_tmp[0],fk_tmp[1],fk_tmp[2], delkj[0],delkj[1],delkj[2],thr); } @@ -261,17 +158,17 @@ namespace ReaxFF { rvec_Add(workspace->forceReduction[reductionOffset+k],temp); - if (system->pair_ptr->vflag_atom) { + if (system->pair_ptr->vflag_either) { rvec_Scale(fk_tmp, -1.0, temp); rvec_ScaledSum(delki,1.,system->my_atoms[k].x,-1.,system->my_atoms[i].x); - pair_reax_ptr->ev_tally_xyz_thr_proxy(system->pair_ptr,k,i,system->N,0,0,0, + pair_reax_ptr->ev_tally_xyz_thr_proxy(k,i,system->N,0,0,0, fk_tmp[0],fk_tmp[1],fk_tmp[2], delki[0],delki[1],delki[2],thr); rvec_ScaledSum(delkj,1.,system->my_atoms[k].x,-1.,system->my_atoms[j].x); - pair_reax_ptr->ev_tally_xyz_thr_proxy(system->pair_ptr,k,j,system->N,0,0,0, + pair_reax_ptr->ev_tally_xyz_thr_proxy(k,j,system->N,0,0,0, fk_tmp[0],fk_tmp[1],fk_tmp[2], delkj[0],delkj[1],delkj[2],thr); } diff --git a/src/OPENMP/reaxc_bonds_omp.cpp b/src/OPENMP/reaxc_bonds_omp.cpp index 9380aad5af..2357d20690 100644 --- a/src/OPENMP/reaxc_bonds_omp.cpp +++ b/src/OPENMP/reaxc_bonds_omp.cpp @@ -121,8 +121,8 @@ namespace ReaxFF { -twbp->De_pp * bo_ij->BO_pi2; /* tally into per-atom energy */ - if (system->pair_ptr->evflag) - pair_reax_ptr->ev_tally_thr_proxy(system->pair_ptr, i, j, natoms, 1, + if (system->pair_ptr->eflag_either) + pair_reax_ptr->ev_tally_thr_proxy( i, j, natoms, 1, ebond, 0.0, 0.0, 0.0, 0.0, 0.0, thr); /* calculate derivatives of Bond Orders */ @@ -152,8 +152,8 @@ namespace ReaxFF { (gp3*exphub1 + 25.0*gp4*exphuov*hulpov*(exphua1+exphub1)); /* tally into per-atom energy */ - if (system->pair_ptr->evflag) - pair_reax_ptr->ev_tally_thr_proxy(system->pair_ptr, i, j, natoms, 1, + if (system->pair_ptr->eflag_either) + pair_reax_ptr->ev_tally_thr_proxy( i, j, natoms, 1, estriph, 0.0, 0.0, 0.0, 0.0, 0.0, thr); bo_ij->Cdbo += decobdbo; diff --git a/src/OPENMP/reaxc_forces_omp.cpp b/src/OPENMP/reaxc_forces_omp.cpp index 18c9419723..26f36f1357 100644 --- a/src/OPENMP/reaxc_forces_omp.cpp +++ b/src/OPENMP/reaxc_forces_omp.cpp @@ -119,33 +119,16 @@ namespace ReaxFF { } } - if (control->virial == 0) { - #if defined(_OPENMP) #pragma omp for schedule(dynamic,50) #endif - for (i = 0; i < system->N; ++i) { - const int startj = Start_Index(i, bonds); - const int endj = End_Index(i, bonds); - for (pj = startj; pj < endj; ++pj) - if (i < bonds->select.bond_list[pj].nbr) - Add_dBond_to_ForcesOMP(system, i, pj, workspace, lists); - } - - } else { - -#if defined(_OPENMP) -#pragma omp for schedule(dynamic,50) -#endif - for (i = 0; i < system->N; ++i) { - const int startj = Start_Index(i, bonds); - const int endj = End_Index(i, bonds); - for (pj = startj; pj < endj; ++pj) - if (i < bonds->select.bond_list[pj].nbr) - Add_dBond_to_Forces_NPTOMP(system, i, pj, workspace, lists); - } - - } // if (virial == 0) + for (i = 0; i < system->N; ++i) { + const int startj = Start_Index(i, bonds); + const int endj = End_Index(i, bonds); + for (pj = startj; pj < endj; ++pj) + if (i < bonds->select.bond_list[pj].nbr) + Add_dBond_to_ForcesOMP(system, i, pj, workspace, lists); + } pair_reax_ptr->reduce_thr_proxy(system->pair_ptr, 0, 1, thr); diff --git a/src/OPENMP/reaxc_hydrogen_bonds_omp.cpp b/src/OPENMP/reaxc_hydrogen_bonds_omp.cpp index d3adedd5b1..1b174aef81 100644 --- a/src/OPENMP/reaxc_hydrogen_bonds_omp.cpp +++ b/src/OPENMP/reaxc_hydrogen_bonds_omp.cpp @@ -43,7 +43,7 @@ namespace ReaxFF { /* ---------------------------------------------------------------------- */ void Hydrogen_BondsOMP(reax_system *system, control_params *control, - simulation_data *data, storage *workspace, reax_list **lists) + simulation_data *data, storage *workspace, reax_list **lists) { const int nthreads = control->nthreads; @@ -58,11 +58,10 @@ namespace ReaxFF { int hblist[MAX_BONDS]; int itr, top; int num_hb_intrs = 0; - ivec rel_jk; double r_jk, theta, cos_theta, sin_xhz4, cos_xhz1, sin_theta2; double e_hb, e_hb_thr = 0.0, exp_hb2, exp_hb3, CEhb1, CEhb2, CEhb3; rvec dcos_theta_di, dcos_theta_dj, dcos_theta_dk; - rvec dvec_jk, force; + rvec dvec_jk; hbond_parameters *hbp; bond_order_data *bo_ij; bond_data *pbond_ij; @@ -119,7 +118,7 @@ namespace ReaxFF { bo_ij = &(pbond_ij->bo_data); if (system->reax_param.sbp[type_i].p_hbond == 2 && - bo_ij->BO >= HB_THRESHOLD) + bo_ij->BO >= HB_THRESHOLD) hblist[top++] = pi; } @@ -145,11 +144,11 @@ namespace ReaxFF { ++num_hb_intrs; Calculate_Theta(pbond_ij->dvec, pbond_ij->d, dvec_jk, r_jk, - &theta, &cos_theta); + &theta, &cos_theta); /* the derivative of cos(theta) */ Calculate_dCos_ThetaOMP(pbond_ij->dvec, pbond_ij->d, dvec_jk, r_jk, - &dcos_theta_di, &dcos_theta_dj, - &dcos_theta_dk); + &dcos_theta_di, &dcos_theta_dj, + &dcos_theta_dk); /* hydrogen bond energy*/ sin_theta2 = sin(theta/2.0); @@ -158,7 +157,7 @@ namespace ReaxFF { cos_xhz1 = (1.0 - cos_theta); exp_hb2 = exp(-hbp->p_hb2 * bo_ij->BO); exp_hb3 = exp(-hbp->p_hb3 * (hbp->r0_hb / r_jk + - r_jk / hbp->r0_hb - 2.0)); + r_jk / hbp->r0_hb - 2.0)); e_hb_thr += e_hb = hbp->p_hb1 * (1.0 - exp_hb2) * exp_hb3 * sin_xhz4; @@ -170,51 +169,28 @@ namespace ReaxFF { /* hydrogen bond forces */ bo_ij->Cdbo += CEhb1; // dbo term - if (control->virial == 0) { - // dcos terms - rvec_ScaledAdd(workspace->forceReduction[reductionOffset+i], +CEhb2, dcos_theta_di); - rvec_ScaledAdd(workspace->forceReduction[reductionOffset+j], +CEhb2, dcos_theta_dj); - rvec_ScaledAdd(workspace->forceReduction[reductionOffset+k], +CEhb2, dcos_theta_dk); - // dr terms - rvec_ScaledAdd(workspace->forceReduction[reductionOffset+j], -CEhb3/r_jk, dvec_jk); - rvec_ScaledAdd(workspace->forceReduction[reductionOffset+k], +CEhb3/r_jk, dvec_jk); - } - else { - /* for pressure coupling, terms that are not related to bond order - derivatives are added directly into pressure vector/tensor */ - rvec_Scale(force, +CEhb2, dcos_theta_di); // dcos terms - rvec_Add(workspace->forceReduction[reductionOffset+i], force); - - - rvec_ScaledAdd(workspace->forceReduction[reductionOffset+j], +CEhb2, dcos_theta_dj); - - ivec_Scale(rel_jk, hbond_list[pk].scl, nbr_jk->rel_box); - rvec_Scale(force, +CEhb2, dcos_theta_dk); - rvec_Add(workspace->forceReduction[reductionOffset+k], force); - // dr terms - rvec_ScaledAdd(workspace->forceReduction[reductionOffset+j],-CEhb3/r_jk, dvec_jk); - - rvec_Scale(force, CEhb3/r_jk, dvec_jk); - rvec_Add(workspace->forceReduction[reductionOffset+k], force); - } + // dcos terms + rvec_ScaledAdd(workspace->forceReduction[reductionOffset+i], +CEhb2, dcos_theta_di); + rvec_ScaledAdd(workspace->forceReduction[reductionOffset+j], +CEhb2, dcos_theta_dj); + rvec_ScaledAdd(workspace->forceReduction[reductionOffset+k], +CEhb2, dcos_theta_dk); + // dr terms + rvec_ScaledAdd(workspace->forceReduction[reductionOffset+j], -CEhb3/r_jk, dvec_jk); + rvec_ScaledAdd(workspace->forceReduction[reductionOffset+k], +CEhb3/r_jk, dvec_jk); /* tally into per-atom virials */ - if (system->pair_ptr->vflag_atom || system->pair_ptr->evflag) { - rvec_ScaledSum(delij, 1., system->my_atoms[j].x, - -1., system->my_atoms[i].x); - rvec_ScaledSum(delkj, 1., system->my_atoms[j].x, - -1., system->my_atoms[k].x); + if (system->pair_ptr->vflag_either || system->pair_ptr->eflag_either) { + rvec_ScaledSum(delij, 1., system->my_atoms[j].x, -1., system->my_atoms[i].x); + rvec_ScaledSum(delkj, 1., system->my_atoms[j].x, -1., system->my_atoms[k].x); rvec_Scale(fi_tmp, CEhb2, dcos_theta_di); rvec_Scale(fk_tmp, CEhb2, dcos_theta_dk); rvec_ScaledAdd(fk_tmp, CEhb3/r_jk, dvec_jk); - pair_reax_ptr->ev_tally3_thr_proxy(system->pair_ptr,i,j,k,e_hb,0.0,fi_tmp,fk_tmp,delij,delkj,thr); + pair_reax_ptr->ev_tally3_thr_proxy(i,j,k,e_hb,0.0,fi_tmp,fk_tmp,delij,delkj,thr); } } } } - } } #if defined(_OPENMP) diff --git a/src/OPENMP/reaxc_multi_body_omp.cpp b/src/OPENMP/reaxc_multi_body_omp.cpp index 7d338511d6..6b7a7c76f4 100644 --- a/src/OPENMP/reaxc_multi_body_omp.cpp +++ b/src/OPENMP/reaxc_multi_body_omp.cpp @@ -118,8 +118,8 @@ namespace ReaxFF { if (numbonds > 0) workspace->CdDelta[i] += CElp; // lp - 1st term /* tally into per-atom energy */ - if (system->pair_ptr->evflag) - pair_reax_ptr->ev_tally_thr_proxy(system->pair_ptr, i, i, system->n, 1, + if (system->pair_ptr->eflag_either) + pair_reax_ptr->ev_tally_thr_proxy( i, i, system->n, 1, e_lp, 0.0, 0.0, 0.0, 0.0, 0.0, thr); /* correction for C2 */ @@ -145,8 +145,8 @@ namespace ReaxFF { workspace->CdDelta[i] += deahu2dsbo; /* tally into per-atom energy */ - if (system->pair_ptr->evflag) - pair_reax_ptr->ev_tally_thr_proxy(system->pair_ptr, i, j, system->n, 1, + if (system->pair_ptr->eflag_either) + pair_reax_ptr->ev_tally_thr_proxy( i, j, system->n, 1, e_lph, 0.0, 0.0, 0.0, 0.0, 0.0, thr); } } @@ -229,10 +229,10 @@ namespace ReaxFF { p_ovun4 * exp_ovun1 * SQR(inv_exp_ovun1) + CEunder2; /* tally into per-atom energy */ - if (system->pair_ptr->evflag) { + if (system->pair_ptr->eflag_either) { eng_tmp = e_ov; if (numbonds > 0) eng_tmp+= e_un; - pair_reax_ptr->ev_tally_thr_proxy(system->pair_ptr, i, i, system->n, 1, + pair_reax_ptr->ev_tally_thr_proxy( i, i, system->n, 1, eng_tmp, 0.0, 0.0, 0.0, 0.0, 0.0, thr); } diff --git a/src/OPENMP/reaxc_nonbonded_omp.cpp b/src/OPENMP/reaxc_nonbonded_omp.cpp index e6feb0b497..595731b005 100644 --- a/src/OPENMP/reaxc_nonbonded_omp.cpp +++ b/src/OPENMP/reaxc_nonbonded_omp.cpp @@ -64,7 +64,6 @@ namespace ReaxFF { double e_ele, e_vdW, e_core; const double SMALL = 0.0001; double e_lg, de_lg, r_ij5, r_ij6, re6; - rvec temp; two_body_parameters *twbp; far_neighbor_data *nbr_pj; @@ -203,23 +202,14 @@ namespace ReaxFF { rvec_ScaledSum(delij, 1., system->my_atoms[i].x, -1., system->my_atoms[j].x); f_tmp = -(CEvd + CEclmb); - pair_reax_ptr->ev_tally_thr_proxy(system->pair_ptr, i, j, natoms, + pair_reax_ptr->ev_tally_thr_proxy( i, j, natoms, 1, pe_vdw, e_ele, f_tmp, delij[0], delij[1], delij[2], thr); } - if (control->virial == 0) { - rvec_ScaledAdd(workspace->f[i], -(CEvd + CEclmb), nbr_pj->dvec); - rvec_ScaledAdd(workspace->forceReduction[reductionOffset+j], - +(CEvd + CEclmb), nbr_pj->dvec); - } else { /* NPT, iNPT or sNPT */ - /* for pressure coupling, terms not related to bond order - derivatives are added directly into pressure vector/tensor */ - - rvec_Scale(temp, CEvd + CEclmb, nbr_pj->dvec); - rvec_ScaledAdd(workspace->f[reductionOffset+i], -1., temp); - rvec_Add(workspace->forceReduction[reductionOffset+j], temp); - } + rvec_ScaledAdd(workspace->f[i], -(CEvd + CEclmb), nbr_pj->dvec); + rvec_ScaledAdd(workspace->forceReduction[reductionOffset+j], + +(CEvd + CEclmb), nbr_pj->dvec); } } } @@ -257,7 +247,6 @@ namespace ReaxFF { double e_vdW, e_ele; double CEvd, CEclmb; double f_tmp, delij[3]; - rvec temp; far_neighbor_data *nbr_pj; LR_lookup_table *t; @@ -332,26 +321,17 @@ namespace ReaxFF { CEclmb *= system->my_atoms[i].q * system->my_atoms[j].q; /* tally into per-atom energy */ - if (system->pair_ptr->evflag || system->pair_ptr->vflag_atom) { + if (system->pair_ptr->evflag) { rvec_ScaledSum(delij, 1., system->my_atoms[i].x, -1., system->my_atoms[j].x); f_tmp = -(CEvd + CEclmb); - pair_reax_ptr->ev_tally_thr_proxy(system->pair_ptr, i, j, natoms, 1, e_vdW, e_ele, + pair_reax_ptr->ev_tally_thr_proxy( i, j, natoms, 1, e_vdW, e_ele, f_tmp, delij[0], delij[1], delij[2], thr); } - if (control->virial == 0) { - rvec_ScaledAdd(workspace->f[i], -(CEvd + CEclmb), nbr_pj->dvec); - rvec_ScaledAdd(workspace->forceReduction[froffset+j], - +(CEvd + CEclmb), nbr_pj->dvec); - } else { // NPT, iNPT or sNPT - /* for pressure coupling, terms not related to bond order derivatives - are added directly into pressure vector/tensor */ - rvec_Scale(temp, CEvd + CEclmb, nbr_pj->dvec); - - rvec_ScaledAdd(workspace->f[i], -1., temp); - rvec_Add(workspace->forceReduction[froffset+j], temp); - } + rvec_ScaledAdd(workspace->f[i], -(CEvd + CEclmb), nbr_pj->dvec); + rvec_ScaledAdd(workspace->forceReduction[froffset+j], + +(CEvd + CEclmb), nbr_pj->dvec); } } } diff --git a/src/OPENMP/reaxc_torsion_angles_omp.cpp b/src/OPENMP/reaxc_torsion_angles_omp.cpp index f3283ef93c..83f49e96de 100644 --- a/src/OPENMP/reaxc_torsion_angles_omp.cpp +++ b/src/OPENMP/reaxc_torsion_angles_omp.cpp @@ -87,8 +87,6 @@ namespace ReaxFF { double CEconj4, CEconj5, CEconj6; double e_tor, e_con; rvec dvec_li; - rvec force; - ivec rel_box_jl; four_body_header *fbh; four_body_parameters *fbp; bond_data *pbond_ij, *pbond_jk, *pbond_kl; @@ -319,72 +317,34 @@ namespace ReaxFF { //bo_kl->Cdbo += (CEtors6 + CEconj3); bo_kl->CdboReduction[tid] += (CEtors6 + CEconj3); - if (control->virial == 0) { - /* dcos_theta_ijk */ - rvec_ScaledAdd(workspace->f[j], - CEtors7 + CEconj4, p_ijk->dcos_dj); - rvec_ScaledAdd(workspace->forceReduction[reductionOffset+i], - CEtors7 + CEconj4, p_ijk->dcos_dk); - rvec_ScaledAdd(workspace->forceReduction[reductionOffset+k], - CEtors7 + CEconj4, p_ijk->dcos_di); + /* dcos_theta_ijk */ + rvec_ScaledAdd(workspace->f[j], + CEtors7 + CEconj4, p_ijk->dcos_dj); + rvec_ScaledAdd(workspace->forceReduction[reductionOffset+i], + CEtors7 + CEconj4, p_ijk->dcos_dk); + rvec_ScaledAdd(workspace->forceReduction[reductionOffset+k], + CEtors7 + CEconj4, p_ijk->dcos_di); - /* dcos_theta_jkl */ - rvec_ScaledAdd(workspace->f[j], - CEtors8 + CEconj5, p_jkl->dcos_di); - rvec_ScaledAdd(workspace->forceReduction[reductionOffset+k], - CEtors8 + CEconj5, p_jkl->dcos_dj); - rvec_ScaledAdd(workspace->forceReduction[reductionOffset+l], - CEtors8 + CEconj5, p_jkl->dcos_dk); + /* dcos_theta_jkl */ + rvec_ScaledAdd(workspace->f[j], + CEtors8 + CEconj5, p_jkl->dcos_di); + rvec_ScaledAdd(workspace->forceReduction[reductionOffset+k], + CEtors8 + CEconj5, p_jkl->dcos_dj); + rvec_ScaledAdd(workspace->forceReduction[reductionOffset+l], + CEtors8 + CEconj5, p_jkl->dcos_dk); - /* dcos_omega */ - rvec_ScaledAdd(workspace->f[j], - CEtors9 + CEconj6, dcos_omega_dj); - rvec_ScaledAdd(workspace->forceReduction[reductionOffset+i], - CEtors9 + CEconj6, dcos_omega_di); - rvec_ScaledAdd(workspace->forceReduction[reductionOffset+k], - CEtors9 + CEconj6, dcos_omega_dk); - rvec_ScaledAdd(workspace->forceReduction[reductionOffset+l], - CEtors9 + CEconj6, dcos_omega_dl); - } - else { - ivec_Sum(rel_box_jl, pbond_jk->rel_box, pbond_kl->rel_box); - - /* dcos_theta_ijk */ - rvec_Scale(force, CEtors7 + CEconj4, p_ijk->dcos_dk); - rvec_Add(workspace->forceReduction[reductionOffset+i], force); - - rvec_ScaledAdd(workspace->f[j], - CEtors7 + CEconj4, p_ijk->dcos_dj); - - rvec_Scale(force, CEtors7 + CEconj4, p_ijk->dcos_di); - rvec_Add(workspace->forceReduction[reductionOffset+k], force); - - /* dcos_theta_jkl */ - rvec_ScaledAdd(workspace->f[j], - CEtors8 + CEconj5, p_jkl->dcos_di); - - rvec_Scale(force, CEtors8 + CEconj5, p_jkl->dcos_dj); - rvec_Add(workspace->forceReduction[reductionOffset+k], force); - - rvec_Scale(force, CEtors8 + CEconj5, p_jkl->dcos_dk); - rvec_Add(workspace->forceReduction[reductionOffset+l], force); - - /* dcos_omega */ - rvec_Scale(force, CEtors9 + CEconj6, dcos_omega_di); - rvec_Add(workspace->forceReduction[reductionOffset+i], force); - - rvec_ScaledAdd(workspace->f[j], - CEtors9 + CEconj6, dcos_omega_dj); - - rvec_Scale(force, CEtors9 + CEconj6, dcos_omega_dk); - rvec_Add(workspace->forceReduction[reductionOffset+k], force); - - rvec_Scale(force, CEtors9 + CEconj6, dcos_omega_dl); - rvec_Add(workspace->forceReduction[reductionOffset+i], force); - } + /* dcos_omega */ + rvec_ScaledAdd(workspace->f[j], + CEtors9 + CEconj6, dcos_omega_dj); + rvec_ScaledAdd(workspace->forceReduction[reductionOffset+i], + CEtors9 + CEconj6, dcos_omega_di); + rvec_ScaledAdd(workspace->forceReduction[reductionOffset+k], + CEtors9 + CEconj6, dcos_omega_dk); + rvec_ScaledAdd(workspace->forceReduction[reductionOffset+l], + CEtors9 + CEconj6, dcos_omega_dl); /* tally into per-atom virials */ - if (system->pair_ptr->vflag_atom || system->pair_ptr->evflag) { + if (system->pair_ptr->evflag) { // acquire vectors rvec_ScaledSum(delil, 1., system->my_atoms[l].x, @@ -410,14 +370,13 @@ namespace ReaxFF { // tally eng_tmp = e_tor + e_con; - if (system->pair_ptr->evflag) - pair_reax_ptr->ev_tally_thr_proxy(system->pair_ptr, j, k, system->n, 1, + if (system->pair_ptr->eflag_either) + pair_reax_ptr->ev_tally_thr_proxy( j, k, system->n, 1, eng_tmp, 0.0, 0.0, 0.0, 0.0, 0.0, thr); - // NEED TO MAKE AN OMP VERSION OF THIS CALL! - if (system->pair_ptr->vflag_atom) - system->pair_ptr->v_tally4(i, j, k, l, fi_tmp, fj_tmp, fk_tmp, - delil, deljl, delkl); + if (system->pair_ptr->vflag_either) + pair_reax_ptr->v_tally4_thr_proxy(i, j, k, l, fi_tmp, fj_tmp, fk_tmp, + delil, deljl, delkl, thr); } } // pl check ends diff --git a/src/OPENMP/reaxc_valence_angles_omp.cpp b/src/OPENMP/reaxc_valence_angles_omp.cpp index 5785e3c966..ed457c96fe 100644 --- a/src/OPENMP/reaxc_valence_angles_omp.cpp +++ b/src/OPENMP/reaxc_valence_angles_omp.cpp @@ -140,7 +140,6 @@ namespace ReaxFF { double f7_ij, f7_jk, f8_Dj, f9_Dj; double Ctheta_0, theta_0, theta_00, theta, cos_theta, sin_theta; double BOA_ij, BOA_jk; - rvec force; // Tallying variables double eng_tmp, fi_tmp[3], fj_tmp[3], fk_tmp[3]; @@ -519,26 +518,12 @@ namespace ReaxFF { bo_jt->Cdbopi2 += CEval5; } - if (control->virial == 0) { - rvec_ScaledAdd(workspace->f[j], CEval8, p_ijk->dcos_dj); - rvec_ScaledAdd(workspace->forceReduction[reductionOffset+i], - CEval8, p_ijk->dcos_di); - rvec_ScaledAdd(workspace->forceReduction[reductionOffset+k], - CEval8, p_ijk->dcos_dk); - } else { - /* terms not related to bond order derivatives are - added directly into forces and pressure vector/tensor */ - rvec_Scale(force, CEval8, p_ijk->dcos_di); - rvec_Add(workspace->forceReduction[reductionOffset+i], force); - - rvec_ScaledAdd(workspace->f[j], CEval8, p_ijk->dcos_dj); - - rvec_Scale(force, CEval8, p_ijk->dcos_dk); - rvec_Add(workspace->forceReduction[reductionOffset+k], force); - } + rvec_ScaledAdd(workspace->f[j], CEval8, p_ijk->dcos_dj); + rvec_ScaledAdd(workspace->forceReduction[reductionOffset+i], CEval8, p_ijk->dcos_di); + rvec_ScaledAdd(workspace->forceReduction[reductionOffset+k], CEval8, p_ijk->dcos_dk); /* tally into per-atom virials */ - if (system->pair_ptr->vflag_atom || system->pair_ptr->evflag) { + if (system->pair_ptr->evflag) { /* Acquire vectors */ rvec_ScaledSum(delij, 1., system->my_atoms[i].x, @@ -552,12 +537,11 @@ namespace ReaxFF { eng_tmp = e_ang + e_pen + e_coa; - if (system->pair_ptr->evflag) - pair_reax_ptr->ev_tally_thr_proxy(system->pair_ptr, j, j, system->N, 1, + if (system->pair_ptr->eflag_either) + pair_reax_ptr->ev_tally_thr_proxy( j, j, system->N, 1, eng_tmp, 0.0, 0.0, 0.0, 0.0, 0.0, thr); - if (system->pair_ptr->vflag_atom) - // NEED TO MAKE AN OMP VERSION OF THIS CALL! - system->pair_ptr->v_tally3(i, j, k, fi_tmp, fk_tmp, delij, delkj); + if (system->pair_ptr->vflag_either) + pair_reax_ptr->v_tally3_thr_proxy(i, j, k, fi_tmp, fk_tmp, delij, delkj, thr); } } // if (p_val1>0.001) diff --git a/src/REAXFF/pair_reaxc.cpp b/src/REAXFF/pair_reaxc.cpp index 3b1d09a002..389b7d9e13 100644 --- a/src/REAXFF/pair_reaxc.cpp +++ b/src/REAXFF/pair_reaxc.cpp @@ -464,9 +464,6 @@ void PairReaxC::compute(int eflag, int vflag) evdwl = ecoul = 0.0; ev_init(eflag,vflag); - if (vflag_global) api->control->virial = 1; - else api->control->virial = 0; - api->system->n = atom->nlocal; // my atoms api->system->N = atom->nlocal + atom->nghost; // mine + ghosts api->system->bigN = static_cast (atom->natoms); // all atoms in the system diff --git a/src/REAXFF/reaxc_bond_orders.cpp b/src/REAXFF/reaxc_bond_orders.cpp index 3866c61110..0e4227922b 100644 --- a/src/REAXFF/reaxc_bond_orders.cpp +++ b/src/REAXFF/reaxc_bond_orders.cpp @@ -33,106 +33,7 @@ #include namespace ReaxFF { - void Add_dBond_to_Forces_NPT(int i, int pj, storage *workspace, reax_list **lists) - { - reax_list *bonds = (*lists) + BONDS; - bond_data *nbr_j, *nbr_k; - bond_order_data *bo_ij, *bo_ji; - dbond_coefficients coef; - rvec temp; - int pk, k, j; - - /* Initializations */ - nbr_j = &(bonds->select.bond_list[pj]); - j = nbr_j->nbr; - bo_ij = &(nbr_j->bo_data); - bo_ji = &(bonds->select.bond_list[nbr_j->sym_index].bo_data); - - coef.C1dbo = bo_ij->C1dbo * (bo_ij->Cdbo + bo_ji->Cdbo); - coef.C2dbo = bo_ij->C2dbo * (bo_ij->Cdbo + bo_ji->Cdbo); - coef.C3dbo = bo_ij->C3dbo * (bo_ij->Cdbo + bo_ji->Cdbo); - - coef.C1dbopi = bo_ij->C1dbopi * (bo_ij->Cdbopi + bo_ji->Cdbopi); - coef.C2dbopi = bo_ij->C2dbopi * (bo_ij->Cdbopi + bo_ji->Cdbopi); - coef.C3dbopi = bo_ij->C3dbopi * (bo_ij->Cdbopi + bo_ji->Cdbopi); - coef.C4dbopi = bo_ij->C4dbopi * (bo_ij->Cdbopi + bo_ji->Cdbopi); - - coef.C1dbopi2 = bo_ij->C1dbopi2 * (bo_ij->Cdbopi2 + bo_ji->Cdbopi2); - coef.C2dbopi2 = bo_ij->C2dbopi2 * (bo_ij->Cdbopi2 + bo_ji->Cdbopi2); - coef.C3dbopi2 = bo_ij->C3dbopi2 * (bo_ij->Cdbopi2 + bo_ji->Cdbopi2); - coef.C4dbopi2 = bo_ij->C4dbopi2 * (bo_ij->Cdbopi2 + bo_ji->Cdbopi2); - - coef.C1dDelta = bo_ij->C1dbo * (workspace->CdDelta[i]+workspace->CdDelta[j]); - coef.C2dDelta = bo_ij->C2dbo * (workspace->CdDelta[i]+workspace->CdDelta[j]); - coef.C3dDelta = bo_ij->C3dbo * (workspace->CdDelta[i]+workspace->CdDelta[j]); - - - /************************************ - * forces related to atom i * - * first neighbors of atom i * - ************************************/ - for (pk = Start_Index(i, bonds); pk < End_Index(i, bonds); ++pk) { - nbr_k = &(bonds->select.bond_list[pk]); - k = nbr_k->nbr; - - rvec_Scale(temp, -coef.C2dbo, nbr_k->bo_data.dBOp); /*2nd, dBO*/ - rvec_ScaledAdd(temp, -coef.C2dDelta, nbr_k->bo_data.dBOp);/*dDelta*/ - rvec_ScaledAdd(temp, -coef.C3dbopi, nbr_k->bo_data.dBOp); /*3rd, dBOpi*/ - rvec_ScaledAdd(temp, -coef.C3dbopi2, nbr_k->bo_data.dBOp);/*3rd, dBOpi2*/ - - /* force */ - rvec_Add(workspace->f[k], temp); - } - - /* then atom i itself */ - rvec_Scale(temp, coef.C1dbo, bo_ij->dBOp); /*1st,dBO*/ - rvec_ScaledAdd(temp, coef.C2dbo, workspace->dDeltap_self[i]); /*2nd,dBO*/ - rvec_ScaledAdd(temp, coef.C1dDelta, bo_ij->dBOp); /*1st,dBO*/ - rvec_ScaledAdd(temp, coef.C2dDelta, workspace->dDeltap_self[i]);/*2nd,dBO*/ - rvec_ScaledAdd(temp, coef.C1dbopi, bo_ij->dln_BOp_pi); /*1st,dBOpi*/ - rvec_ScaledAdd(temp, coef.C2dbopi, bo_ij->dBOp); /*2nd,dBOpi*/ - rvec_ScaledAdd(temp, coef.C3dbopi, workspace->dDeltap_self[i]);/*3rd,dBOpi*/ - - rvec_ScaledAdd(temp, coef.C1dbopi2, bo_ij->dln_BOp_pi2); /*1st,dBO_pi2*/ - rvec_ScaledAdd(temp, coef.C2dbopi2, bo_ij->dBOp); /*2nd,dBO_pi2*/ - rvec_ScaledAdd(temp, coef.C3dbopi2, workspace->dDeltap_self[i]);/*3rd*/ - - /* force */ - rvec_Add(workspace->f[i], temp); - - for (pk = Start_Index(j, bonds); pk < End_Index(j, bonds); ++pk) { - nbr_k = &(bonds->select.bond_list[pk]); - k = nbr_k->nbr; - - rvec_Scale(temp, -coef.C3dbo, nbr_k->bo_data.dBOp); /*3rd,dBO*/ - rvec_ScaledAdd(temp, -coef.C3dDelta, nbr_k->bo_data.dBOp);/*dDelta*/ - rvec_ScaledAdd(temp, -coef.C4dbopi, nbr_k->bo_data.dBOp); /*4th,dBOpi*/ - rvec_ScaledAdd(temp, -coef.C4dbopi2, nbr_k->bo_data.dBOp);/*4th,dBOpi2*/ - - /* force */ - rvec_Add(workspace->f[k], temp); - } - - /* then atom j itself */ - rvec_Scale(temp, -coef.C1dbo, bo_ij->dBOp); /*1st, dBO*/ - rvec_ScaledAdd(temp, coef.C3dbo, workspace->dDeltap_self[j]); /*2nd, dBO*/ - rvec_ScaledAdd(temp, -coef.C1dDelta, bo_ij->dBOp); /*1st, dBO*/ - rvec_ScaledAdd(temp, coef.C3dDelta, workspace->dDeltap_self[j]);/*2nd, dBO*/ - - rvec_ScaledAdd(temp, -coef.C1dbopi, bo_ij->dln_BOp_pi); /*1st,dBOpi*/ - rvec_ScaledAdd(temp, -coef.C2dbopi, bo_ij->dBOp); /*2nd,dBOpi*/ - rvec_ScaledAdd(temp, coef.C4dbopi, workspace->dDeltap_self[j]);/*3rd,dBOpi*/ - - rvec_ScaledAdd(temp, -coef.C1dbopi2, bo_ij->dln_BOp_pi2); /*1st,dBOpi2*/ - rvec_ScaledAdd(temp, -coef.C2dbopi2, bo_ij->dBOp); /*2nd,dBOpi2*/ - rvec_ScaledAdd(temp,coef.C4dbopi2,workspace->dDeltap_self[j]);/*3rd,dBOpi2*/ - - /* force */ - rvec_Add(workspace->f[j], temp); - } - - void Add_dBond_to_Forces(reax_system *system, int i, int pj, - storage *workspace, reax_list **lists) + void Add_dBond_to_Forces(reax_system *system, int i, int pj, storage *workspace, reax_list **lists) { reax_list *bonds = (*lists) + BONDS; bond_data *nbr_j, *nbr_k; @@ -180,10 +81,10 @@ namespace ReaxFF { rvec_ScaledAdd(temp, coef.C3dbopi2, workspace->dDeltap_self[i]); rvec_Add(workspace->f[i], temp); - if (system->pair_ptr->vflag_atom) { - rvec_Scale(fi_tmp, -1.0, temp); + if (system->pair_ptr->vflag_either) { + rvec_Scale(fi_tmp, -0.5, temp); rvec_ScaledSum(delij, 1., system->my_atoms[i].x,-1., system->my_atoms[j].x); - system->pair_ptr->v_tally(i,fi_tmp,delij); + system->pair_ptr->v_tally2_newton(i,fi_tmp,delij); } // forces on j @@ -199,10 +100,10 @@ namespace ReaxFF { rvec_ScaledAdd(temp, coef.C4dbopi2, workspace->dDeltap_self[j]); rvec_Add(workspace->f[j], temp); - if (system->pair_ptr->vflag_atom) { - rvec_Scale(fj_tmp, -1.0, temp); + if (system->pair_ptr->vflag_either) { + rvec_Scale(fj_tmp, -0.5, temp); rvec_ScaledSum(delji, 1., system->my_atoms[j].x,-1., system->my_atoms[i].x); - system->pair_ptr->v_tally(j,fj_tmp,delji); + system->pair_ptr->v_tally2_newton(j,fj_tmp,delji); } // forces on k: i neighbor @@ -216,12 +117,12 @@ namespace ReaxFF { rvec_ScaledAdd(temp, -coef.C3dbopi2, nbr_k->bo_data.dBOp); rvec_Add(workspace->f[k], temp); - if (system->pair_ptr->vflag_atom) { - rvec_Scale(fk_tmp, -1.0, temp); + if (system->pair_ptr->vflag_either) { + rvec_Scale(fk_tmp, -0.5, temp); rvec_ScaledSum(delki,1.,system->my_atoms[k].x,-1.,system->my_atoms[i].x); - system->pair_ptr->v_tally(k,fk_tmp,delki); + system->pair_ptr->v_tally2_newton(k,fk_tmp,delki); rvec_ScaledSum(delkj,1.,system->my_atoms[k].x,-1.,system->my_atoms[j].x); - system->pair_ptr->v_tally(k,fk_tmp,delkj); + system->pair_ptr->v_tally2_newton(k,fk_tmp,delkj); } } @@ -236,12 +137,12 @@ namespace ReaxFF { rvec_ScaledAdd(temp, -coef.C4dbopi2, nbr_k->bo_data.dBOp); rvec_Add(workspace->f[k], temp); - if (system->pair_ptr->vflag_atom) { - rvec_Scale(fk_tmp, -1.0, temp); + if (system->pair_ptr->vflag_either) { + rvec_Scale(fk_tmp, -0.5, temp); rvec_ScaledSum(delki,1.,system->my_atoms[k].x,-1.,system->my_atoms[i].x); - system->pair_ptr->v_tally(k,fk_tmp,delki); + system->pair_ptr->v_tally2_newton(k,fk_tmp,delki); rvec_ScaledSum(delkj,1.,system->my_atoms[k].x,-1.,system->my_atoms[j].x); - system->pair_ptr->v_tally(k,fk_tmp,delkj); + system->pair_ptr->v_tally2_newton(k,fk_tmp,delkj); } } } diff --git a/src/REAXFF/reaxc_bonds.cpp b/src/REAXFF/reaxc_bonds.cpp index 2c83ce8144..7feea043fa 100644 --- a/src/REAXFF/reaxc_bonds.cpp +++ b/src/REAXFF/reaxc_bonds.cpp @@ -32,8 +32,7 @@ #include namespace ReaxFF { - void Bonds(reax_system *system, simulation_data *data, - storage *workspace, reax_list **lists) + void Bonds(reax_system *system, simulation_data *data, storage *workspace, reax_list **lists) { int i, j, pj, natoms; int start_i, end_i; @@ -94,8 +93,8 @@ namespace ReaxFF { -twbp->De_p * bo_ij->BO_pi -twbp->De_pp * bo_ij->BO_pi2; - /* tally into per-atom energy */ - if (system->pair_ptr->evflag) + /* tally energy into global or per-atom energy accumulators */ + if (system->pair_ptr->eflag_either) system->pair_ptr->ev_tally(i,j,natoms,1,ebond,0.0,0.0,0.0,0.0,0.0); /* calculate derivatives of Bond Orders */ @@ -124,8 +123,8 @@ namespace ReaxFF { decobdboub = -gp10 * exphu * hulpov * (gp3*exphub1 + 25.0*gp4*exphuov*hulpov*(exphua1+exphub1)); - /* tally into per-atom energy */ - if (system->pair_ptr->evflag) + /* tally energy into global or per-atom energy accumulators */ + if (system->pair_ptr->eflag_either) system->pair_ptr->ev_tally(i,j,natoms,1,estriph,0.0,0.0,0.0,0.0,0.0); bo_ij->Cdbo += decobdbo; diff --git a/src/REAXFF/reaxc_control.cpp b/src/REAXFF/reaxc_control.cpp index 97fd65df9d..c84c3afe9d 100644 --- a/src/REAXFF/reaxc_control.cpp +++ b/src/REAXFF/reaxc_control.cpp @@ -71,7 +71,6 @@ namespace ReaxFF { /* assign default values */ control->nthreads = 1; control->tabulate = 0; - control->virial = 0; control->bond_cut = 5.0; control->bg_cut = 0.3; control->thb_cut = 0.001; diff --git a/src/REAXFF/reaxc_forces.cpp b/src/REAXFF/reaxc_forces.cpp index 5bb0dcca88..ec783102b4 100644 --- a/src/REAXFF/reaxc_forces.cpp +++ b/src/REAXFF/reaxc_forces.cpp @@ -47,7 +47,7 @@ namespace ReaxFF { Valence_Angles(system, control, data, workspace, lists); Torsion_Angles(system, control, data, workspace, lists); if (control->hbond_cut > 0) - Hydrogen_Bonds(system, control, data, workspace, lists); + Hydrogen_Bonds(system, data, workspace, lists); } static void Compute_NonBonded_Forces(reax_system *system, @@ -64,21 +64,15 @@ namespace ReaxFF { Tabulated_vdW_Coulomb_Energy(system, control, data, workspace, lists); } - static void Compute_Total_Force(reax_system *system, control_params *control, - storage *workspace, reax_list **lists) + static void Compute_Total_Force(reax_system *system, storage *workspace, reax_list **lists) { int i, pj; reax_list *bonds = (*lists) + BONDS; for (i = 0; i < system->N; ++i) for (pj = Start_Index(i, bonds); pj < End_Index(i, bonds); ++pj) - if (i < bonds->select.bond_list[pj].nbr) { - if (control->virial == 0) + if (i < bonds->select.bond_list[pj].nbr) Add_dBond_to_Forces(system, i, pj, workspace, lists); - else - Add_dBond_to_Forces_NPT(i, pj, workspace, lists); - } - } static void Validate_Lists(reax_system *system, reax_list **lists, @@ -387,6 +381,6 @@ namespace ReaxFF { Compute_NonBonded_Forces(system, control, data, workspace, lists); /*********** total force ***************/ - Compute_Total_Force(system, control, workspace, lists); + Compute_Total_Force(system, workspace, lists); } } diff --git a/src/REAXFF/reaxc_hydrogen_bonds.cpp b/src/REAXFF/reaxc_hydrogen_bonds.cpp index 3072968d58..5c7629ffb7 100644 --- a/src/REAXFF/reaxc_hydrogen_bonds.cpp +++ b/src/REAXFF/reaxc_hydrogen_bonds.cpp @@ -32,9 +32,7 @@ #include "pair.h" namespace ReaxFF { - void Hydrogen_Bonds(reax_system *system, control_params *control, - simulation_data *data, storage *workspace, - reax_list **lists) + void Hydrogen_Bonds(reax_system *system, simulation_data *data, storage *workspace, reax_list **lists) { int i, j, k, pi, pk; int type_i, type_j, type_k; @@ -42,11 +40,10 @@ namespace ReaxFF { int hblist[MAX_BONDS]; int itr, top; int num_hb_intrs = 0; - ivec rel_jk; double r_jk, theta, cos_theta, sin_xhz4, cos_xhz1, sin_theta2; double e_hb, exp_hb2, exp_hb3, CEhb1, CEhb2, CEhb3; rvec dcos_theta_di, dcos_theta_dj, dcos_theta_dk; - rvec dvec_jk, force; + rvec dvec_jk; hbond_parameters *hbp; bond_order_data *bo_ij; bond_data *pbond_ij; @@ -134,34 +131,16 @@ namespace ReaxFF { /* hydrogen bond forces */ bo_ij->Cdbo += CEhb1; // dbo term - if (control->virial == 0) { - // dcos terms - rvec_ScaledAdd(workspace->f[i], +CEhb2, dcos_theta_di); - rvec_ScaledAdd(workspace->f[j], +CEhb2, dcos_theta_dj); - rvec_ScaledAdd(workspace->f[k], +CEhb2, dcos_theta_dk); - // dr terms - rvec_ScaledAdd(workspace->f[j], -CEhb3/r_jk, dvec_jk); - rvec_ScaledAdd(workspace->f[k], +CEhb3/r_jk, dvec_jk); - } - else { - rvec_Scale(force, +CEhb2, dcos_theta_di); // dcos terms - rvec_Add(workspace->f[i], force); - - rvec_ScaledAdd(workspace->f[j], +CEhb2, dcos_theta_dj); - - ivec_Scale(rel_jk, hbond_list[pk].scl, nbr_jk->rel_box); - rvec_Scale(force, +CEhb2, dcos_theta_dk); - rvec_Add(workspace->f[k], force); - - // dr terms - rvec_ScaledAdd(workspace->f[j], -CEhb3/r_jk, dvec_jk); - - rvec_Scale(force, CEhb3/r_jk, dvec_jk); - rvec_Add(workspace->f[k], force); - } + // dcos terms + rvec_ScaledAdd(workspace->f[i], +CEhb2, dcos_theta_di); + rvec_ScaledAdd(workspace->f[j], +CEhb2, dcos_theta_dj); + rvec_ScaledAdd(workspace->f[k], +CEhb2, dcos_theta_dk); + // dr terms + rvec_ScaledAdd(workspace->f[j], -CEhb3/r_jk, dvec_jk); + rvec_ScaledAdd(workspace->f[k], +CEhb3/r_jk, dvec_jk); /* tally into per-atom virials */ - if (system->pair_ptr->vflag_atom || system->pair_ptr->evflag) { + if (system->pair_ptr->evflag) { rvec_ScaledSum(delij, 1., system->my_atoms[j].x, -1., system->my_atoms[i].x); rvec_ScaledSum(delkj, 1., system->my_atoms[j].x, diff --git a/src/REAXFF/reaxc_multi_body.cpp b/src/REAXFF/reaxc_multi_body.cpp index bd1a5ccaa6..2390b54474 100644 --- a/src/REAXFF/reaxc_multi_body.cpp +++ b/src/REAXFF/reaxc_multi_body.cpp @@ -93,8 +93,8 @@ namespace ReaxFF { if (numbonds > 0 || control->enobondsflag) workspace->CdDelta[i] += CElp; // lp - 1st term - /* tally into per-atom energy */ - if (system->pair_ptr->evflag) + /* tally energy into global or per-atom energy accumulators */ + if (system->pair_ptr->eflag_either) system->pair_ptr->ev_tally(i,i,system->n,1,e_lp,0.0,0.0,0.0,0.0,0.0); /* correction for C2 */ @@ -119,8 +119,8 @@ namespace ReaxFF { bo_ij->Cdbo += deahu2dbo; workspace->CdDelta[i] += deahu2dsbo; - /* tally into per-atom energy */ - if (system->pair_ptr->evflag) + /* tally energy into global or per-atom energy accumulators */ + if (system->pair_ptr->eflag_either) system->pair_ptr->ev_tally(i,j,system->n,1,e_lph,0.0,0.0,0.0,0.0,0.0); } @@ -202,8 +202,8 @@ namespace ReaxFF { CEunder4 = CEunder1 * (dfvl*workspace->Delta_lp_temp[i]) * p_ovun4 * exp_ovun1 * SQR(inv_exp_ovun1) + CEunder2; - /* tally into per-atom energy */ - if (system->pair_ptr->evflag) { + /* tally energy into global or per-atom energy accumulators */ + if (system->pair_ptr->eflag_either) { eng_tmp = e_ov; if (numbonds > 0 || control->enobondsflag) eng_tmp += e_un; diff --git a/src/REAXFF/reaxc_nonbonded.cpp b/src/REAXFF/reaxc_nonbonded.cpp index e86ffe3a8b..8a1e41da29 100644 --- a/src/REAXFF/reaxc_nonbonded.cpp +++ b/src/REAXFF/reaxc_nonbonded.cpp @@ -47,8 +47,8 @@ namespace ReaxFF { (system->reax_param.sbp[type_i].eta / 2.) * SQR(q)); data->my_en.e_pol += en_tmp; - /* tally into per-atom energy */ - if (system->pair_ptr->evflag) + /* tally energy into global or per-atom energy accumulators */ + if (system->pair_ptr->eflag_either) system->pair_ptr->ev_tally(i,i,system->n,1,0.0,en_tmp,0.0,0.0,0.0,0.0); } } @@ -67,7 +67,6 @@ namespace ReaxFF { double dr3gamij_1, dr3gamij_3; double e_ele, e_vdW, e_core, SMALL = 0.0001; double e_lg, de_lg, r_ij5, r_ij6, re6; - rvec temp; two_body_parameters *twbp; far_neighbor_data *nbr_pj; reax_list *far_nbrs; @@ -193,7 +192,7 @@ namespace ReaxFF { (dTap - Tap * r_ij / dr3gamij_1) / dr3gamij_3; /* tally into per-atom energy */ - if (system->pair_ptr->evflag || system->pair_ptr->vflag_atom) { + if (system->pair_ptr->evflag) { pe_vdw = Tap * (e_vdW + e_core + e_lg); rvec_ScaledSum(delij, 1., system->my_atoms[i].x, -1., system->my_atoms[j].x); @@ -202,15 +201,8 @@ namespace ReaxFF { f_tmp,delij[0],delij[1],delij[2]); } - if (control->virial == 0) { - rvec_ScaledAdd(workspace->f[i], -(CEvd + CEclmb), nbr_pj->dvec); - rvec_ScaledAdd(workspace->f[j], +(CEvd + CEclmb), nbr_pj->dvec); - } else { /* NPT, iNPT or sNPT */ - rvec_Scale(temp, CEvd + CEclmb, nbr_pj->dvec); - - rvec_ScaledAdd(workspace->f[i], -1., temp); - rvec_Add(workspace->f[j], temp); - } + rvec_ScaledAdd(workspace->f[i], -(CEvd + CEclmb), nbr_pj->dvec); + rvec_ScaledAdd(workspace->f[j], +(CEvd + CEclmb), nbr_pj->dvec); } } } @@ -231,7 +223,6 @@ namespace ReaxFF { double CEvd, CEclmb, SMALL = 0.0001; double f_tmp, delij[3]; - rvec temp; far_neighbor_data *nbr_pj; reax_list *far_nbrs; LR_lookup_table *t; @@ -301,7 +292,7 @@ namespace ReaxFF { CEclmb *= system->my_atoms[i].q * system->my_atoms[j].q; /* tally into per-atom energy */ - if (system->pair_ptr->evflag || system->pair_ptr->vflag_atom) { + if (system->pair_ptr->evflag) { rvec_ScaledSum(delij, 1., system->my_atoms[i].x, -1., system->my_atoms[j].x); f_tmp = -(CEvd + CEclmb); @@ -309,15 +300,8 @@ namespace ReaxFF { f_tmp,delij[0],delij[1],delij[2]); } - if (control->virial == 0) { - rvec_ScaledAdd(workspace->f[i], -(CEvd + CEclmb), nbr_pj->dvec); - rvec_ScaledAdd(workspace->f[j], +(CEvd + CEclmb), nbr_pj->dvec); - } else { // NPT, iNPT or sNPT - rvec_Scale(temp, CEvd + CEclmb, nbr_pj->dvec); - - rvec_ScaledAdd(workspace->f[i], -1., temp); - rvec_Add(workspace->f[j], temp); - } + rvec_ScaledAdd(workspace->f[i], -(CEvd + CEclmb), nbr_pj->dvec); + rvec_ScaledAdd(workspace->f[j], +(CEvd + CEclmb), nbr_pj->dvec); } } } diff --git a/src/REAXFF/reaxc_torsion_angles.cpp b/src/REAXFF/reaxc_torsion_angles.cpp index adbb6ffc06..329f7b8a7a 100644 --- a/src/REAXFF/reaxc_torsion_angles.cpp +++ b/src/REAXFF/reaxc_torsion_angles.cpp @@ -144,8 +144,6 @@ namespace ReaxFF { double CEconj4, CEconj5, CEconj6; double e_tor, e_con; rvec dvec_li; - rvec force; - ivec rel_box_jl; four_body_header *fbh; four_body_parameters *fbp; bond_data *pbond_ij, *pbond_jk, *pbond_kl; @@ -351,81 +349,29 @@ namespace ReaxFF { bo_jk->Cdbo += (CEtors5 + CEconj2); bo_kl->Cdbo += (CEtors6 + CEconj3); - if (control->virial == 0) { - /* dcos_theta_ijk */ - rvec_ScaledAdd(workspace->f[i], - CEtors7 + CEconj4, p_ijk->dcos_dk); - rvec_ScaledAdd(workspace->f[j], - CEtors7 + CEconj4, p_ijk->dcos_dj); - rvec_ScaledAdd(workspace->f[k], - CEtors7 + CEconj4, p_ijk->dcos_di); + /* dcos_theta_ijk */ + rvec_ScaledAdd(workspace->f[i], CEtors7 + CEconj4, p_ijk->dcos_dk); + rvec_ScaledAdd(workspace->f[j], CEtors7 + CEconj4, p_ijk->dcos_dj); + rvec_ScaledAdd(workspace->f[k], CEtors7 + CEconj4, p_ijk->dcos_di); - /* dcos_theta_jkl */ - rvec_ScaledAdd(workspace->f[j], - CEtors8 + CEconj5, p_jkl->dcos_di); - rvec_ScaledAdd(workspace->f[k], - CEtors8 + CEconj5, p_jkl->dcos_dj); - rvec_ScaledAdd(workspace->f[l], - CEtors8 + CEconj5, p_jkl->dcos_dk); + /* dcos_theta_jkl */ + rvec_ScaledAdd(workspace->f[j], CEtors8 + CEconj5, p_jkl->dcos_di); + rvec_ScaledAdd(workspace->f[k], CEtors8 + CEconj5, p_jkl->dcos_dj); + rvec_ScaledAdd(workspace->f[l], CEtors8 + CEconj5, p_jkl->dcos_dk); - /* dcos_omega */ - rvec_ScaledAdd(workspace->f[i], - CEtors9 + CEconj6, dcos_omega_di); - rvec_ScaledAdd(workspace->f[j], - CEtors9 + CEconj6, dcos_omega_dj); - rvec_ScaledAdd(workspace->f[k], - CEtors9 + CEconj6, dcos_omega_dk); - rvec_ScaledAdd(workspace->f[l], - CEtors9 + CEconj6, dcos_omega_dl); - } - else { - ivec_Sum(rel_box_jl, pbond_jk->rel_box, pbond_kl->rel_box); - - /* dcos_theta_ijk */ - rvec_Scale(force, CEtors7 + CEconj4, p_ijk->dcos_dk); - rvec_Add(workspace->f[i], force); - - rvec_ScaledAdd(workspace->f[j], - CEtors7 + CEconj4, p_ijk->dcos_dj); - - rvec_Scale(force, CEtors7 + CEconj4, p_ijk->dcos_di); - rvec_Add(workspace->f[k], force); - - /* dcos_theta_jkl */ - rvec_ScaledAdd(workspace->f[j], - CEtors8 + CEconj5, p_jkl->dcos_di); - - rvec_Scale(force, CEtors8 + CEconj5, p_jkl->dcos_dj); - rvec_Add(workspace->f[k], force); - - rvec_Scale(force, CEtors8 + CEconj5, p_jkl->dcos_dk); - rvec_Add(workspace->f[l], force); - - - /* dcos_omega */ - rvec_Scale(force, CEtors9 + CEconj6, dcos_omega_di); - rvec_Add(workspace->f[i], force); - - rvec_ScaledAdd(workspace->f[j], - CEtors9 + CEconj6, dcos_omega_dj); - - rvec_Scale(force, CEtors9 + CEconj6, dcos_omega_dk); - rvec_Add(workspace->f[k], force); - - rvec_Scale(force, CEtors9 + CEconj6, dcos_omega_dl); - rvec_Add(workspace->f[l], force); - } + /* dcos_omega */ + rvec_ScaledAdd(workspace->f[i], CEtors9 + CEconj6, dcos_omega_di); + rvec_ScaledAdd(workspace->f[j], CEtors9 + CEconj6, dcos_omega_dj); + rvec_ScaledAdd(workspace->f[k], CEtors9 + CEconj6, dcos_omega_dk); + rvec_ScaledAdd(workspace->f[l], CEtors9 + CEconj6, dcos_omega_dl); /* tally into per-atom virials */ - if (system->pair_ptr->vflag_atom || system->pair_ptr->evflag) { + if (system->pair_ptr->evflag) { // acquire vectors - rvec_ScaledSum(delil, 1., system->my_atoms[l].x, - -1., system->my_atoms[i].x); - rvec_ScaledSum(deljl, 1., system->my_atoms[l].x, - -1., system->my_atoms[j].x); - rvec_ScaledSum(delkl, 1., system->my_atoms[l].x, - -1., system->my_atoms[k].x); + rvec_ScaledSum(delil, 1., system->my_atoms[l].x, -1., system->my_atoms[i].x); + rvec_ScaledSum(deljl, 1., system->my_atoms[l].x, -1., system->my_atoms[j].x); + rvec_ScaledSum(delkl, 1., system->my_atoms[l].x, -1., system->my_atoms[k].x); // dcos_theta_ijk rvec_Scale(fi_tmp, CEtors7 + CEconj4, p_ijk->dcos_dk); rvec_Scale(fj_tmp, CEtors7 + CEconj4, p_ijk->dcos_dj); @@ -442,9 +388,9 @@ namespace ReaxFF { // tally eng_tmp = e_tor + e_con; - if (system->pair_ptr->evflag) + if (system->pair_ptr->eflag_either) system->pair_ptr->ev_tally(j,k,natoms,1,eng_tmp,0.0,0.0,0.0,0.0,0.0); - if (system->pair_ptr->vflag_atom) + if (system->pair_ptr->vflag_either) system->pair_ptr->v_tally4(i,j,k,l,fi_tmp,fj_tmp,fk_tmp,delil,deljl,delkl); } } // pl check ends diff --git a/src/REAXFF/reaxc_valence_angles.cpp b/src/REAXFF/reaxc_valence_angles.cpp index 6f609646e3..5f75b6637d 100644 --- a/src/REAXFF/reaxc_valence_angles.cpp +++ b/src/REAXFF/reaxc_valence_angles.cpp @@ -67,9 +67,8 @@ namespace ReaxFF { } - void Valence_Angles(reax_system *system, control_params *control, - simulation_data *data, storage *workspace, - reax_list **lists) + void Valence_Angles(reax_system *system, control_params *control, simulation_data *data, + storage *workspace, reax_list **lists) { int i, j, pi, k, pk, t; int type_i, type_j, type_k; @@ -92,7 +91,6 @@ namespace ReaxFF { double f7_ij, f7_jk, f8_Dj, f9_Dj; double Ctheta_0, theta_0, theta_00, theta, cos_theta, sin_theta; double BOA_ij, BOA_jk; - rvec force; // Tallying variables double eng_tmp, fi_tmp[3], fj_tmp[3], fk_tmp[3]; @@ -114,7 +112,7 @@ namespace ReaxFF { num_thb_intrs = 0; - for (j = 0; j < system->N; ++j) { // Ray: the first one with system->N + for (j = 0; j < system->N; ++j) { type_j = system->my_atoms[j].type; if (type_j < 0) continue; start_j = Start_Index(j, bonds); @@ -218,7 +216,6 @@ namespace ReaxFF { ++num_thb_intrs; - if ((j < system->n) && (BOA_jk > 0.0) && (bo_ij->BO > control->thb_cut) && (bo_jk->BO > control->thb_cut) && @@ -347,39 +344,26 @@ namespace ReaxFF { bo_jt->Cdbopi2 += CEval5; } - if (control->virial == 0) { - rvec_ScaledAdd(workspace->f[i], CEval8, p_ijk->dcos_di); - rvec_ScaledAdd(workspace->f[j], CEval8, p_ijk->dcos_dj); - rvec_ScaledAdd(workspace->f[k], CEval8, p_ijk->dcos_dk); - } else { - rvec_Scale(force, CEval8, p_ijk->dcos_di); - rvec_Add(workspace->f[i], force); + rvec_ScaledAdd(workspace->f[i], CEval8, p_ijk->dcos_di); + rvec_ScaledAdd(workspace->f[j], CEval8, p_ijk->dcos_dj); + rvec_ScaledAdd(workspace->f[k], CEval8, p_ijk->dcos_dk); - rvec_ScaledAdd(workspace->f[j], CEval8, p_ijk->dcos_dj); - - rvec_Scale(force, CEval8, p_ijk->dcos_dk); - rvec_Add(workspace->f[k], force); + /* tally energy */ + if (system->pair_ptr->eflag_either) { + eng_tmp = e_ang + e_pen + e_coa; + system->pair_ptr->ev_tally(j,j,system->N,1,eng_tmp,0.0,0.0,0.0,0.0,0.0); } - /* tally into per-atom virials */ - if (system->pair_ptr->vflag_atom || system->pair_ptr->evflag) { - + /* tally virial */ + if (system->pair_ptr->vflag_either) { + /* Acquire vectors */ - rvec_ScaledSum(delij, 1., system->my_atoms[i].x, - -1., system->my_atoms[j].x); - rvec_ScaledSum(delkj, 1., system->my_atoms[k].x, - -1., system->my_atoms[j].x); - + rvec_ScaledSum(delij, 1., system->my_atoms[i].x, -1., system->my_atoms[j].x); + rvec_ScaledSum(delkj, 1., system->my_atoms[k].x, -1., system->my_atoms[j].x); rvec_Scale(fi_tmp, -CEval8, p_ijk->dcos_di); rvec_Scale(fj_tmp, -CEval8, p_ijk->dcos_dj); rvec_Scale(fk_tmp, -CEval8, p_ijk->dcos_dk); - - eng_tmp = e_ang + e_pen + e_coa; - - if (system->pair_ptr->evflag) - system->pair_ptr->ev_tally(j,j,system->N,1,eng_tmp,0.0,0.0,0.0,0.0,0.0); - if (system->pair_ptr->vflag_atom) - system->pair_ptr->v_tally3(i,j,k,fi_tmp,fk_tmp,delij,delkj); + system->pair_ptr->v_tally3(i,j,k,fi_tmp,fk_tmp,delij,delkj); } } } diff --git a/src/REAXFF/reaxff_api.h b/src/REAXFF/reaxff_api.h index 96febe70f9..6179da9c72 100644 --- a/src/REAXFF/reaxff_api.h +++ b/src/REAXFF/reaxff_api.h @@ -54,7 +54,6 @@ namespace ReaxFF single_body_parameters *, single_body_parameters *, two_body_parameters *); extern void Add_dBond_to_Forces(reax_system*, int, int, storage*, reax_list**); - extern void Add_dBond_to_Forces_NPT(int, int, storage*, reax_list**); // bonds @@ -78,8 +77,8 @@ namespace ReaxFF // hydrogen bonds - extern void Hydrogen_Bonds(reax_system *, control_params *, - simulation_data *, storage *, reax_list **); + extern void Hydrogen_Bonds(reax_system *, simulation_data *, storage *, reax_list **); + // init md extern void Init_System(reax_system *, control_params *); diff --git a/src/REAXFF/reaxff_types.h b/src/REAXFF/reaxff_types.h index c88e0f5a6a..aec48072df 100644 --- a/src/REAXFF/reaxff_types.h +++ b/src/REAXFF/reaxff_types.h @@ -240,7 +240,6 @@ namespace ReaxFF double thb_cutsq; int tabulate; - int virial; int lgflag; int enobondsflag; diff --git a/src/USER-MISC/pair_drip.cpp b/src/USER-MISC/pair_drip.cpp index 97f5ca439e..a59d74bab9 100644 --- a/src/USER-MISC/pair_drip.cpp +++ b/src/USER-MISC/pair_drip.cpp @@ -366,10 +366,7 @@ void PairDRIP::compute(int eflag, int vflag) f[j][0] += fj[0]; f[j][1] += fj[1]; f[j][2] += fj[2]; - - // multiply 2 since v_tally has a 0.5 coeff - fj[0] *= 2; fj[1] *= 2; fj[2] *= 2; - if (vflag_atom) v_tally(j, fj, x[j]); + if (vflag_either) v_tally2_newton(j, fj, x[j]); } } //loop over jj @@ -377,10 +374,7 @@ void PairDRIP::compute(int eflag, int vflag) f[i][0] += fi[0]; f[i][1] += fi[1]; f[i][2] += fi[2]; - - // multiply 2 since v_tally has a 0.5 coeff - fi[0] *= 2; fi[1] *= 2; fi[2] *= 2; - if (vflag_atom) v_tally(i, fi, x[i]); + if (vflag_either) v_tally2_newton(i, fi, x[i]); } // loop over ii @@ -529,22 +523,13 @@ double PairDRIP::calc_repulsive(int const i, int const j, Param& p, f[nbj3][k] += fnbj3[k]; } - if (vflag_atom) { - // multiply since v_tally has a 0.5 coeff - for (int k = 0; k < DIM; k++) { - fnbi1[k] *= 2; - fnbi2[k] *= 2; - fnbi3[k] *= 2; - fnbj1[k] *= 2; - fnbj2[k] *= 2; - fnbj3[k] *= 2; - } - v_tally(nbi1, fnbi1, x[nbi1]); - v_tally(nbi2, fnbi2, x[nbi2]); - v_tally(nbi3, fnbi3, x[nbi3]); - v_tally(nbj1, fnbj1, x[nbj1]); - v_tally(nbj2, fnbj2, x[nbj2]); - v_tally(nbj3, fnbj3, x[nbj3]); + if (vflag_either) { + v_tally2_newton(nbi1, fnbi1, x[nbi1]); + v_tally2_newton(nbi2, fnbi2, x[nbi2]); + v_tally2_newton(nbi3, fnbi3, x[nbi3]); + v_tally2_newton(nbj1, fnbj1, x[nbj1]); + v_tally2_newton(nbj2, fnbj2, x[nbj2]); + v_tally2_newton(nbj3, fnbj3, x[nbj3]); } return phi; diff --git a/src/pair.cpp b/src/pair.cpp index 5e8c666743..bc8cb2ecd1 100644 --- a/src/pair.cpp +++ b/src/pair.cpp @@ -991,7 +991,7 @@ void Pair::ev_unset() } /* ---------------------------------------------------------------------- - tally eng_vdwl and virial into global and per-atom accumulators + tally eng_vdwl and virial into global or per-atom accumulators need i < nlocal test since called by bond_quartic and dihedral_charmm ------------------------------------------------------------------------- */ @@ -1092,7 +1092,7 @@ void Pair::ev_tally(int i, int j, int nlocal, int newton_pair, } /* ---------------------------------------------------------------------- - tally eng_vdwl and virial into global and per-atom accumulators + tally eng_vdwl and virial into global or per-atom accumulators can use this version with full neighbor lists ------------------------------------------------------------------------- */ @@ -1138,7 +1138,7 @@ void Pair::ev_tally_full(int i, double evdwl, double ecoul, double fpair, } /* ---------------------------------------------------------------------- - tally eng_vdwl and virial into global and per-atom accumulators + tally eng_vdwl and virial into global or per-atom accumulators for virial, have delx,dely,delz and fx,fy,fz ------------------------------------------------------------------------- */ @@ -1232,7 +1232,7 @@ void Pair::ev_tally_xyz(int i, int j, int nlocal, int newton_pair, } /* ---------------------------------------------------------------------- - tally eng_vdwl and virial into global and per-atom accumulators + tally eng_vdwl and virial into global or per-atom accumulators for virial, have delx,dely,delz and fx,fy,fz called when using full neighbor lists ------------------------------------------------------------------------- */ @@ -1285,7 +1285,7 @@ void Pair::ev_tally_xyz_full(int i, double evdwl, double ecoul, } /* ---------------------------------------------------------------------- - tally eng_vdwl and virial into global and per-atom accumulators + tally eng_vdwl and virial into global or per-atom accumulators called by SW and hbond potentials, newton_pair is always on virial = riFi + rjFj + rkFk = (rj-ri) Fj + (rk-ri) Fk = drji*fj + drki*fk ------------------------------------------------------------------------- */ @@ -1342,7 +1342,7 @@ void Pair::ev_tally3(int i, int j, int k, double evdwl, double ecoul, } /* ---------------------------------------------------------------------- - tally eng_vdwl and virial into global and per-atom accumulators + tally eng_vdwl and virial into global or per-atom accumulators called by AIREBO potential, newton_pair is always on ------------------------------------------------------------------------- */ @@ -1487,28 +1487,40 @@ void Pair::ev_tally_tip4p(int key, int *list, double *v, } /* ---------------------------------------------------------------------- - tally virial into per-atom accumulators - called by REAX/C potential, newton_pair is always on - fi is magnitude of force on atom i + tally virial into global or per-atom accumulators + called by ReaxFF potential, newton_pair is always on + fi is magnitude of force on atom i, deli is the direction + note that the other atom (j) is not updated, due to newton on ------------------------------------------------------------------------- */ -void Pair::v_tally(int i, double *fi, double *deli) +void Pair::v_tally2_newton(int i, double *fi, double *deli) { double v[6]; - v[0] = 0.5*deli[0]*fi[0]; - v[1] = 0.5*deli[1]*fi[1]; - v[2] = 0.5*deli[2]*fi[2]; - v[3] = 0.5*deli[0]*fi[1]; - v[4] = 0.5*deli[0]*fi[2]; - v[5] = 0.5*deli[1]*fi[2]; + v[0] = deli[0]*fi[0]; + v[1] = deli[1]*fi[1]; + v[2] = deli[2]*fi[2]; + v[3] = deli[0]*fi[1]; + v[4] = deli[0]*fi[2]; + v[5] = deli[1]*fi[2]; - vatom[i][0] += v[0]; vatom[i][1] += v[1]; vatom[i][2] += v[2]; - vatom[i][3] += v[3]; vatom[i][4] += v[4]; vatom[i][5] += v[5]; + if (vflag_global) { + virial[0] += v[0]; + virial[1] += v[1]; + virial[2] += v[2]; + virial[3] += v[3]; + virial[4] += v[4]; + virial[5] += v[5]; + } + + if (vflag_atom) { + vatom[i][0] += v[0]; vatom[i][1] += v[1]; vatom[i][2] += v[2]; + vatom[i][3] += v[3]; vatom[i][4] += v[4]; vatom[i][5] += v[5]; + } } /* ---------------------------------------------------------------------- - tally virial into per-atom accumulators + tally virial into global or per-atom accumulators called by AIREBO potential, newton_pair is always on fpair is magnitude of force on atom I ------------------------------------------------------------------------- */ @@ -1549,7 +1561,7 @@ void Pair::v_tally2(int i, int j, double fpair, double *drij) /* ---------------------------------------------------------------------- tally virial into per-atom accumulators - called by AIREBO and Tersoff potential, newton_pair is always on + called by AIREBO and Tersoff potentials, newton_pair is always on ------------------------------------------------------------------------- */ void Pair::v_tally3(int i, int j, int k, double *fi, double *fj, double *drik, double *drjk) @@ -1589,8 +1601,8 @@ void Pair::v_tally3(int i, int j, int k, double *fi, double *fj, double *drik, d } /* ---------------------------------------------------------------------- - tally virial into per-atom accumulators - called by AIREBO potential, newton_pair is always on + tally virial into global or per-atom accumulators + called by AIREBO potential, Tersoff, ReaxFF potentials, newton_pair is always on ------------------------------------------------------------------------- */ void Pair::v_tally4(int i, int j, int k, int m, @@ -1634,7 +1646,7 @@ void Pair::v_tally4(int i, int j, int k, int m, } /* ---------------------------------------------------------------------- - tally virial into global and per-atom accumulators + tally virial into global or per-atom accumulators called by pair lubricate potential with 6 tensor components ------------------------------------------------------------------------- */ diff --git a/src/pair.h b/src/pair.h index ad158bba9e..c4a5d3678c 100644 --- a/src/pair.h +++ b/src/pair.h @@ -137,9 +137,9 @@ class Pair : protected Pointers { // need to be public, so can be called by pair_style reaxc - void v_tally(int, double *, double *); void ev_tally(int, int, int, int, double, double, double, double, double, double); void ev_tally3(int, int, int, double, double, double *, double *, double *, double *); + void v_tally2_newton(int, double *, double *); void v_tally3(int, int, int, double *, double *, double *, double *); void v_tally4(int, int, int, int, double *, double *, double *, double *, double *, double *); void ev_tally_xyz(int, int, int, int, double, double, double, double, double, double, double, From b4d3dbe0af9d793123b91d614e12bc5b18e6038d Mon Sep 17 00:00:00 2001 From: Stan Gerald Moore Date: Mon, 12 Jul 2021 14:11:53 -0600 Subject: [PATCH 407/726] Avoid unnecessary deep_copy when only a single memory space --- bench/in.rhodo | 1 + src/KOKKOS/atom_kokkos.h | 2 -- src/KOKKOS/atom_map_kokkos.cpp | 22 +++++++++++++++------- src/KOKKOS/kokkos_type.h | 6 ++---- 4 files changed, 18 insertions(+), 13 deletions(-) diff --git a/bench/in.rhodo b/bench/in.rhodo index bd7e3df7f5..1607e3ddd1 100644 --- a/bench/in.rhodo +++ b/bench/in.rhodo @@ -4,6 +4,7 @@ units real neigh_modify delay 5 every 1 atom_style full +atom_modify map array bond_style harmonic angle_style charmm dihedral_style charmm diff --git a/src/KOKKOS/atom_kokkos.h b/src/KOKKOS/atom_kokkos.h index a88c6b3ad8..00b8e53578 100644 --- a/src/KOKKOS/atom_kokkos.h +++ b/src/KOKKOS/atom_kokkos.h @@ -77,8 +77,6 @@ class AtomKokkos : public Atom { DAT::tdual_int_1d k_map_array; DAT::tdual_int_scalar k_error_flag; dual_hash_type k_map_hash; - hash_type d_map_hash; - host_hash_type h_map_hash; template KOKKOS_INLINE_FUNCTION diff --git a/src/KOKKOS/atom_map_kokkos.cpp b/src/KOKKOS/atom_map_kokkos.cpp index 57761372c9..d498974db2 100644 --- a/src/KOKKOS/atom_map_kokkos.cpp +++ b/src/KOKKOS/atom_map_kokkos.cpp @@ -109,7 +109,10 @@ void AtomKokkos::map_init(int check) for (int i = 0; i < map_nhash; i++) map_hash[i].next = i + 1; map_hash[map_nhash - 1].next = -1; - h_map_hash = host_hash_type(map_nhash); + // use "view" template method to avoid unnecessary deep_copy + + auto h_map_hash = k_map_hash.view(); + h_map_hash = decltype(h_map_hash)(map_nhash); } } @@ -207,6 +210,9 @@ void AtomKokkos::map_set() // Copy to Kokkos hash + // use "view" template method to avoid unnecessary deep_copy + + auto h_map_hash = k_map_hash.view(); h_map_hash.clear(); for (int i = nall - 1; i >= 0; i--) { @@ -237,6 +243,11 @@ void AtomKokkos::map_set() k_map_array.modify_host(); else if (map_style == Atom::MAP_HASH) { + // use "view" template method to avoid unnecessary deep_copy + + auto h_map_hash = k_map_hash.view(); + auto d_map_hash = k_map_hash.view(); + // check if fix shake or neigh bond needs a device hash int device_hash_flag = 0; @@ -248,10 +259,7 @@ void AtomKokkos::map_set() if (utils::strmatch(modify->fix[n]->style, "^shake")) if (modify->fix[n]->execution_space == Device) device_hash_flag = 1; - if (device_hash_flag) Kokkos::deep_copy(d_map_hash, h_map_hash); - - k_map_hash.h_view = h_map_hash; - k_map_hash.d_view = d_map_hash; + if (device_hash_flag) Kokkos::deep_copy(d_map_hash,h_map_hash); } } @@ -268,8 +276,8 @@ void AtomKokkos::map_delete() memoryKK->destroy_kokkos(k_map_array, map_array); map_array = nullptr; } else { - h_map_hash = host_hash_type(); - d_map_hash = hash_type(); + k_map_hash.h_view = host_hash_type(); + k_map_hash.d_view = hash_type(); } Atom::map_delete(); diff --git a/src/KOKKOS/kokkos_type.h b/src/KOKKOS/kokkos_type.h index 2ecde3adeb..1992024ba0 100644 --- a/src/KOKKOS/kokkos_type.h +++ b/src/KOKKOS/kokkos_type.h @@ -560,12 +560,10 @@ struct dual_hash_type { host_hash_type h_view; template - KOKKOS_INLINE_FUNCTION - std::enable_if_t::value,hash_type> view() {return d_view;} + std::enable_if_t<(std::is_same::value || Kokkos::SpaceAccessibility::accessible),hash_type> view() {return d_view;} template - KOKKOS_INLINE_FUNCTION - std::enable_if_t::value,host_hash_type> view() {return h_view;} + std::enable_if_t::value || Kokkos::SpaceAccessibility::accessible),host_hash_type> view() {return h_view;} }; From e0ba11fbf0e75e2a437c2d973cc1c016e9d5d66c Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 12 Jul 2021 16:19:31 -0400 Subject: [PATCH 408/726] update LAMMPS homepage URL --- src/OPENMP/reaxff_omp.h | 2 +- src/REAXFF/reaxff_api.h | 2 +- src/REAXFF/reaxff_defs.h | 2 +- src/REAXFF/reaxff_inline.h | 2 +- src/REAXFF/reaxff_types.h | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/OPENMP/reaxff_omp.h b/src/OPENMP/reaxff_omp.h index 4188ac9bf7..252e5f0e9d 100644 --- a/src/OPENMP/reaxff_omp.h +++ b/src/OPENMP/reaxff_omp.h @@ -1,6 +1,6 @@ /* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories + https://www.lammps.org/ Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract diff --git a/src/REAXFF/reaxff_api.h b/src/REAXFF/reaxff_api.h index 6179da9c72..ae3b013541 100644 --- a/src/REAXFF/reaxff_api.h +++ b/src/REAXFF/reaxff_api.h @@ -1,6 +1,6 @@ /* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories + https://www.lammps.org/ Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract diff --git a/src/REAXFF/reaxff_defs.h b/src/REAXFF/reaxff_defs.h index df31d41d4c..868f6e22c2 100644 --- a/src/REAXFF/reaxff_defs.h +++ b/src/REAXFF/reaxff_defs.h @@ -1,6 +1,6 @@ /* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories + https://www.lammps.org/ Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract diff --git a/src/REAXFF/reaxff_inline.h b/src/REAXFF/reaxff_inline.h index ba9927e5d3..a53ab4bb05 100644 --- a/src/REAXFF/reaxff_inline.h +++ b/src/REAXFF/reaxff_inline.h @@ -1,6 +1,6 @@ /* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories + https://www.lammps.org/ Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract diff --git a/src/REAXFF/reaxff_types.h b/src/REAXFF/reaxff_types.h index aec48072df..e57244c66b 100644 --- a/src/REAXFF/reaxff_types.h +++ b/src/REAXFF/reaxff_types.h @@ -1,6 +1,6 @@ /* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories + https://www.lammps.org/ Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract From 65e2a8f0700001c6ea8df11fa309dba19f5d4149 Mon Sep 17 00:00:00 2001 From: Stan Gerald Moore Date: Mon, 12 Jul 2021 14:21:05 -0600 Subject: [PATCH 409/726] Avoid unnecessary deep_copy when only a single memory space --- src/KOKKOS/atom_kokkos.h | 2 -- src/KOKKOS/atom_map_kokkos.cpp | 22 +++++++++++++++------- src/KOKKOS/kokkos_type.h | 6 ++---- 3 files changed, 17 insertions(+), 13 deletions(-) diff --git a/src/KOKKOS/atom_kokkos.h b/src/KOKKOS/atom_kokkos.h index a88c6b3ad8..00b8e53578 100644 --- a/src/KOKKOS/atom_kokkos.h +++ b/src/KOKKOS/atom_kokkos.h @@ -77,8 +77,6 @@ class AtomKokkos : public Atom { DAT::tdual_int_1d k_map_array; DAT::tdual_int_scalar k_error_flag; dual_hash_type k_map_hash; - hash_type d_map_hash; - host_hash_type h_map_hash; template KOKKOS_INLINE_FUNCTION diff --git a/src/KOKKOS/atom_map_kokkos.cpp b/src/KOKKOS/atom_map_kokkos.cpp index 57761372c9..d498974db2 100644 --- a/src/KOKKOS/atom_map_kokkos.cpp +++ b/src/KOKKOS/atom_map_kokkos.cpp @@ -109,7 +109,10 @@ void AtomKokkos::map_init(int check) for (int i = 0; i < map_nhash; i++) map_hash[i].next = i + 1; map_hash[map_nhash - 1].next = -1; - h_map_hash = host_hash_type(map_nhash); + // use "view" template method to avoid unnecessary deep_copy + + auto h_map_hash = k_map_hash.view(); + h_map_hash = decltype(h_map_hash)(map_nhash); } } @@ -207,6 +210,9 @@ void AtomKokkos::map_set() // Copy to Kokkos hash + // use "view" template method to avoid unnecessary deep_copy + + auto h_map_hash = k_map_hash.view(); h_map_hash.clear(); for (int i = nall - 1; i >= 0; i--) { @@ -237,6 +243,11 @@ void AtomKokkos::map_set() k_map_array.modify_host(); else if (map_style == Atom::MAP_HASH) { + // use "view" template method to avoid unnecessary deep_copy + + auto h_map_hash = k_map_hash.view(); + auto d_map_hash = k_map_hash.view(); + // check if fix shake or neigh bond needs a device hash int device_hash_flag = 0; @@ -248,10 +259,7 @@ void AtomKokkos::map_set() if (utils::strmatch(modify->fix[n]->style, "^shake")) if (modify->fix[n]->execution_space == Device) device_hash_flag = 1; - if (device_hash_flag) Kokkos::deep_copy(d_map_hash, h_map_hash); - - k_map_hash.h_view = h_map_hash; - k_map_hash.d_view = d_map_hash; + if (device_hash_flag) Kokkos::deep_copy(d_map_hash,h_map_hash); } } @@ -268,8 +276,8 @@ void AtomKokkos::map_delete() memoryKK->destroy_kokkos(k_map_array, map_array); map_array = nullptr; } else { - h_map_hash = host_hash_type(); - d_map_hash = hash_type(); + k_map_hash.h_view = host_hash_type(); + k_map_hash.d_view = hash_type(); } Atom::map_delete(); diff --git a/src/KOKKOS/kokkos_type.h b/src/KOKKOS/kokkos_type.h index 2ecde3adeb..1992024ba0 100644 --- a/src/KOKKOS/kokkos_type.h +++ b/src/KOKKOS/kokkos_type.h @@ -560,12 +560,10 @@ struct dual_hash_type { host_hash_type h_view; template - KOKKOS_INLINE_FUNCTION - std::enable_if_t::value,hash_type> view() {return d_view;} + std::enable_if_t<(std::is_same::value || Kokkos::SpaceAccessibility::accessible),hash_type> view() {return d_view;} template - KOKKOS_INLINE_FUNCTION - std::enable_if_t::value,host_hash_type> view() {return h_view;} + std::enable_if_t::value || Kokkos::SpaceAccessibility::accessible),host_hash_type> view() {return h_view;} }; From e29577634dc7888adfe4c499d4c800c51600640c Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 12 Jul 2021 16:23:45 -0400 Subject: [PATCH 410/726] fix whitespace --- src/REAXFF/reaxc_valence_angles.cpp | 2 +- src/pair.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/REAXFF/reaxc_valence_angles.cpp b/src/REAXFF/reaxc_valence_angles.cpp index 5f75b6637d..ac3e2dbd1e 100644 --- a/src/REAXFF/reaxc_valence_angles.cpp +++ b/src/REAXFF/reaxc_valence_angles.cpp @@ -356,7 +356,7 @@ namespace ReaxFF { /* tally virial */ if (system->pair_ptr->vflag_either) { - + /* Acquire vectors */ rvec_ScaledSum(delij, 1., system->my_atoms[i].x, -1., system->my_atoms[j].x); rvec_ScaledSum(delkj, 1., system->my_atoms[k].x, -1., system->my_atoms[j].x); diff --git a/src/pair.cpp b/src/pair.cpp index bc8cb2ecd1..38c7922c17 100644 --- a/src/pair.cpp +++ b/src/pair.cpp @@ -1490,7 +1490,7 @@ void Pair::ev_tally_tip4p(int key, int *list, double *v, tally virial into global or per-atom accumulators called by ReaxFF potential, newton_pair is always on fi is magnitude of force on atom i, deli is the direction - note that the other atom (j) is not updated, due to newton on + note that the other atom (j) is not updated, due to newton on ------------------------------------------------------------------------- */ void Pair::v_tally2_newton(int i, double *fi, double *deli) From 01d7afdaa4299d692f31eb312697136779d6e7bb Mon Sep 17 00:00:00 2001 From: Stan Moore Date: Mon, 12 Jul 2021 15:54:02 -0600 Subject: [PATCH 411/726] Small refactor --- src/KOKKOS/atom_kokkos.h | 17 +++++++- src/KOKKOS/atom_map_kokkos.cpp | 3 +- src/KOKKOS/fix_shake_kokkos.cpp | 60 ++++++++++------------------ src/KOKKOS/fix_shake_kokkos.h | 5 --- src/KOKKOS/kokkos_type.h | 6 ++- src/KOKKOS/neigh_bond_kokkos.cpp | 68 +++++++++++--------------------- src/KOKKOS/neigh_bond_kokkos.h | 6 --- 7 files changed, 67 insertions(+), 98 deletions(-) diff --git a/src/KOKKOS/atom_kokkos.h b/src/KOKKOS/atom_kokkos.h index 00b8e53578..6cf91a5ddc 100644 --- a/src/KOKKOS/atom_kokkos.h +++ b/src/KOKKOS/atom_kokkos.h @@ -78,9 +78,24 @@ class AtomKokkos : public Atom { DAT::tdual_int_scalar k_error_flag; dual_hash_type k_map_hash; + // map lookup function inlined for efficiency + // return -1 if no map defined + template KOKKOS_INLINE_FUNCTION - static int map_find_hash_kokkos(tagint global, dual_hash_type k_map_hash) + static int map_kokkos(tagint global, int map_style, DAT::tdual_int_1d k_map_array, dual_hash_type k_map_hash) + { + if (map_style == 1) + return k_map_array.view()(global); + else if (map_style == 2) + return AtomKokkos::map_find_hash_kokkos(global,k_map_hash); + else + return -1; + } + + template + KOKKOS_INLINE_FUNCTION + static int map_find_hash_kokkos(tagint global, dual_hash_type &k_map_hash) { int local = -1; auto d_map_hash = k_map_hash.view(); diff --git a/src/KOKKOS/atom_map_kokkos.cpp b/src/KOKKOS/atom_map_kokkos.cpp index d498974db2..9ca361e963 100644 --- a/src/KOKKOS/atom_map_kokkos.cpp +++ b/src/KOKKOS/atom_map_kokkos.cpp @@ -111,8 +111,9 @@ void AtomKokkos::map_init(int check) // use "view" template method to avoid unnecessary deep_copy - auto h_map_hash = k_map_hash.view(); + auto h_map_hash = k_map_hash.view(); // get type h_map_hash = decltype(h_map_hash)(map_nhash); + k_map_hash.view() = h_map_hash; } } diff --git a/src/KOKKOS/fix_shake_kokkos.cpp b/src/KOKKOS/fix_shake_kokkos.cpp index a50ec573b4..91d8458d21 100644 --- a/src/KOKKOS/fix_shake_kokkos.cpp +++ b/src/KOKKOS/fix_shake_kokkos.cpp @@ -252,8 +252,8 @@ void FixShakeKokkos::pre_neighbor() LAMMPS_LAMBDA(const int& i) { if (d_shake_flag[i]) { if (d_shake_flag[i] == 2) { - const int atom1 = map_kokkos(d_shake_atom(i,0),map_style,k_map_array,k_map_hash); - const int atom2 = map_kokkos(d_shake_atom(i,1),map_style,k_map_array,k_map_hash); + const int atom1 = AtomKokkos::map_kokkos(d_shake_atom(i,0),map_style,k_map_array,k_map_hash); + const int atom2 = AtomKokkos::map_kokkos(d_shake_atom(i,1),map_style,k_map_array,k_map_hash); if (atom1 == -1 || atom2 == -1) { d_error_flag() = 1; } @@ -262,9 +262,9 @@ void FixShakeKokkos::pre_neighbor() d_list[nlist] = i; } } else if (d_shake_flag[i] % 2 == 1) { - const int atom1 = map_kokkos(d_shake_atom(i,0),map_style,k_map_array,k_map_hash); - const int atom2 = map_kokkos(d_shake_atom(i,1),map_style,k_map_array,k_map_hash); - const int atom3 = map_kokkos(d_shake_atom(i,2),map_style,k_map_array,k_map_hash); + const int atom1 = AtomKokkos::map_kokkos(d_shake_atom(i,0),map_style,k_map_array,k_map_hash); + const int atom2 = AtomKokkos::map_kokkos(d_shake_atom(i,1),map_style,k_map_array,k_map_hash); + const int atom3 = AtomKokkos::map_kokkos(d_shake_atom(i,2),map_style,k_map_array,k_map_hash); if (atom1 == -1 || atom2 == -1 || atom3 == -1) d_error_flag() = 1; if (i <= atom1 && i <= atom2 && i <= atom3) { @@ -272,10 +272,10 @@ void FixShakeKokkos::pre_neighbor() d_list[nlist] = i; } } else { - const int atom1 = map_kokkos(d_shake_atom(i,0),map_style,k_map_array,k_map_hash); - const int atom2 = map_kokkos(d_shake_atom(i,1),map_style,k_map_array,k_map_hash); - const int atom3 = map_kokkos(d_shake_atom(i,2),map_style,k_map_array,k_map_hash); - const int atom4 = map_kokkos(d_shake_atom(i,3),map_style,k_map_array,k_map_hash); + const int atom1 = AtomKokkos::map_kokkos(d_shake_atom(i,0),map_style,k_map_array,k_map_hash); + const int atom2 = AtomKokkos::map_kokkos(d_shake_atom(i,1),map_style,k_map_array,k_map_hash); + const int atom3 = AtomKokkos::map_kokkos(d_shake_atom(i,2),map_style,k_map_array,k_map_hash); + const int atom4 = AtomKokkos::map_kokkos(d_shake_atom(i,3),map_style,k_map_array,k_map_hash); if (atom1 == -1 || atom2 == -1 || atom3 == -1 || atom4 == -1) d_error_flag() = 1; if (i <= atom1 && i <= atom2 && i <= atom3 && i <= atom4) { @@ -599,8 +599,8 @@ void FixShakeKokkos::shake(int m, EV_FLOAT& ev) const // local atom IDs and constraint distances - int i0 = map_kokkos(d_shake_atom(m,0),map_style,k_map_array,k_map_hash); - int i1 = map_kokkos(d_shake_atom(m,1),map_style,k_map_array,k_map_hash); + int i0 = AtomKokkos::map_kokkos(d_shake_atom(m,0),map_style,k_map_array,k_map_hash); + int i1 = AtomKokkos::map_kokkos(d_shake_atom(m,1),map_style,k_map_array,k_map_hash); double bond1 = d_bond_distance[d_shake_type(m,0)]; // r01 = distance vec between atoms, with PBC @@ -710,9 +710,9 @@ void FixShakeKokkos::shake3(int m, EV_FLOAT& ev) const // local atom IDs and constraint distances - int i0 = map_kokkos(d_shake_atom(m,0),map_style,k_map_array,k_map_hash); - int i1 = map_kokkos(d_shake_atom(m,1),map_style,k_map_array,k_map_hash); - int i2 = map_kokkos(d_shake_atom(m,2),map_style,k_map_array,k_map_hash); + int i0 = AtomKokkos::map_kokkos(d_shake_atom(m,0),map_style,k_map_array,k_map_hash); + int i1 = AtomKokkos::map_kokkos(d_shake_atom(m,1),map_style,k_map_array,k_map_hash); + int i2 = AtomKokkos::map_kokkos(d_shake_atom(m,2),map_style,k_map_array,k_map_hash); double bond1 = d_bond_distance[d_shake_type(m,0)]; double bond2 = d_bond_distance[d_shake_type(m,1)]; @@ -893,10 +893,10 @@ void FixShakeKokkos::shake4(int m, EV_FLOAT& ev) const // local atom IDs and constraint distances - int i0 = map_kokkos(d_shake_atom(m,0),map_style,k_map_array,k_map_hash); - int i1 = map_kokkos(d_shake_atom(m,1),map_style,k_map_array,k_map_hash); - int i2 = map_kokkos(d_shake_atom(m,2),map_style,k_map_array,k_map_hash); - int i3 = map_kokkos(d_shake_atom(m,3),map_style,k_map_array,k_map_hash); + int i0 = AtomKokkos::map_kokkos(d_shake_atom(m,0),map_style,k_map_array,k_map_hash); + int i1 = AtomKokkos::map_kokkos(d_shake_atom(m,1),map_style,k_map_array,k_map_hash); + int i2 = AtomKokkos::map_kokkos(d_shake_atom(m,2),map_style,k_map_array,k_map_hash); + int i3 = AtomKokkos::map_kokkos(d_shake_atom(m,3),map_style,k_map_array,k_map_hash); double bond1 = d_bond_distance[d_shake_type(m,0)]; double bond2 = d_bond_distance[d_shake_type(m,1)]; double bond3 = d_bond_distance[d_shake_type(m,2)]; @@ -1155,9 +1155,9 @@ void FixShakeKokkos::shake3angle(int m, EV_FLOAT& ev) const // local atom IDs and constraint distances - int i0 = map_kokkos(d_shake_atom(m,0),map_style,k_map_array,k_map_hash); - int i1 = map_kokkos(d_shake_atom(m,1),map_style,k_map_array,k_map_hash); - int i2 = map_kokkos(d_shake_atom(m,2),map_style,k_map_array,k_map_hash); + int i0 = AtomKokkos::map_kokkos(d_shake_atom(m,0),map_style,k_map_array,k_map_hash); + int i1 = AtomKokkos::map_kokkos(d_shake_atom(m,1),map_style,k_map_array,k_map_hash); + int i2 = AtomKokkos::map_kokkos(d_shake_atom(m,2),map_style,k_map_array,k_map_hash); double bond1 = d_bond_distance[d_shake_type(m,0)]; double bond2 = d_bond_distance[d_shake_type(m,1)]; double bond12 = d_angle_distance[d_shake_type(m,2)]; @@ -1918,24 +1918,6 @@ void FixShakeKokkos::minimum_image_once(double *delta) const /* ---------------------------------------------------------------------- */ -// functions for global to local ID mapping -// map lookup function inlined for efficiency -// return -1 if no map defined - -template -KOKKOS_INLINE_FUNCTION -int FixShakeKokkos::map_kokkos(tagint global, int map_style, DAT::tdual_int_1d k_map_array, dual_hash_type k_map_hash) -{ - if (map_style == 1) - return k_map_array.view()(global); - else if (map_style == 2) - return AtomKokkos::map_find_hash_kokkos(global,k_map_hash); - else - return -1; -} - -/* ---------------------------------------------------------------------- */ - namespace LAMMPS_NS { template class FixShakeKokkos; #ifdef LMP_KOKKOS_GPU diff --git a/src/KOKKOS/fix_shake_kokkos.h b/src/KOKKOS/fix_shake_kokkos.h index 698298c65d..12e082a903 100644 --- a/src/KOKKOS/fix_shake_kokkos.h +++ b/src/KOKKOS/fix_shake_kokkos.h @@ -184,14 +184,9 @@ class FixShakeKokkos : public FixShake, public KokkosBase { int **shake_type_tmp; int map_style; - DAT::tdual_int_1d k_map_array; - dual_hash_type k_map_hash; - KOKKOS_INLINE_FUNCTION - static int map_kokkos(tagint, int, DAT::tdual_int_1d, dual_hash_type); - // copied from Domain KOKKOS_INLINE_FUNCTION diff --git a/src/KOKKOS/kokkos_type.h b/src/KOKKOS/kokkos_type.h index 1992024ba0..1a52571260 100644 --- a/src/KOKKOS/kokkos_type.h +++ b/src/KOKKOS/kokkos_type.h @@ -560,10 +560,12 @@ struct dual_hash_type { host_hash_type h_view; template - std::enable_if_t<(std::is_same::value || Kokkos::SpaceAccessibility::accessible),hash_type> view() {return d_view;} + KOKKOS_INLINE_FUNCTION + std::enable_if_t<(std::is_same::value || Kokkos::SpaceAccessibility::accessible),hash_type> view() {printf("Yes device\n"); return d_view;} template - std::enable_if_t::value || Kokkos::SpaceAccessibility::accessible),host_hash_type> view() {return h_view;} + KOKKOS_INLINE_FUNCTION + std::enable_if_t::value || Kokkos::SpaceAccessibility::accessible),host_hash_type> view() {printf("Yes host\n"); return h_view;} }; diff --git a/src/KOKKOS/neigh_bond_kokkos.cpp b/src/KOKKOS/neigh_bond_kokkos.cpp index e3e24801ae..a4cb6e7d40 100644 --- a/src/KOKKOS/neigh_bond_kokkos.cpp +++ b/src/KOKKOS/neigh_bond_kokkos.cpp @@ -197,8 +197,6 @@ template void NeighBondKokkos::build_topology_kk() { atomKK->sync(execution_space, X_MASK | TAG_MASK); - int nall = atom->nlocal + atom->nghost; - int nmax = atom->nmax; nlocal = atom->nlocal; x = atomKK->k_x.view(); @@ -283,7 +281,7 @@ template KOKKOS_INLINE_FUNCTION void NeighBondKokkos::operator()(TagNeighBondBondAll, const int &i, int &nmissing) const { for (int m = 0; m < num_bond[i]; m++) { - int atom1 = map_kokkos(bond_atom(i,m)); + int atom1 = AtomKokkos::map_kokkos(bond_atom(i,m),map_style,k_map_array,k_map_hash); if (atom1 == -1) { nmissing++; if (lostbond == Thermo::ERROR) return; @@ -371,7 +369,7 @@ KOKKOS_INLINE_FUNCTION void NeighBondKokkos::operator()(TagNeighBondBondPartial, const int &i, int &nmissing) const { for (int m = 0; m < num_bond[i]; m++) { if (bond_type(i,m) <= 0) continue; - int atom1 = map_kokkos(bond_atom(i,m)); + int atom1 = AtomKokkos::map_kokkos(bond_atom(i,m),map_style,k_map_array,k_map_hash); if (atom1 == -1) { nmissing++; if (lostbond == Thermo::ERROR) return; @@ -483,9 +481,9 @@ template KOKKOS_INLINE_FUNCTION void NeighBondKokkos::operator()(TagNeighBondAngleAll, const int &i, int &nmissing) const { for (int m = 0; m < num_angle[i]; m++) { - int atom1 = map_kokkos(angle_atom1(i,m)); - int atom2 = map_kokkos(angle_atom2(i,m)); - int atom3 = map_kokkos(angle_atom3(i,m)); + int atom1 = AtomKokkos::map_kokkos(angle_atom1(i,m),map_style,k_map_array,k_map_hash); + int atom2 = AtomKokkos::map_kokkos(angle_atom2(i,m),map_style,k_map_array,k_map_hash); + int atom3 = AtomKokkos::map_kokkos(angle_atom3(i,m),map_style,k_map_array,k_map_hash); if (atom1 == -1 || atom2 == -1 || atom3 == -1) { nmissing++; if (lostbond == Thermo::ERROR) return; @@ -578,9 +576,9 @@ KOKKOS_INLINE_FUNCTION void NeighBondKokkos::operator()(TagNeighBondAnglePartial, const int &i, int &nmissing) const { for (int m = 0; m < num_angle[i]; m++) { if (angle_type(i,m) <= 0) continue; - int atom1 = map_kokkos(angle_atom1(i,m)); - int atom2 = map_kokkos(angle_atom2(i,m)); - int atom3 = map_kokkos(angle_atom3(i,m)); + int atom1 = AtomKokkos::map_kokkos(angle_atom1(i,m),map_style,k_map_array,k_map_hash); + int atom2 = AtomKokkos::map_kokkos(angle_atom2(i,m),map_style,k_map_array,k_map_hash); + int atom3 = AtomKokkos::map_kokkos(angle_atom3(i,m),map_style,k_map_array,k_map_hash); if (atom1 == -1 || atom2 == -1 || atom3 == -1) { nmissing++; if (lostbond == Thermo::ERROR) return; @@ -710,10 +708,10 @@ template KOKKOS_INLINE_FUNCTION void NeighBondKokkos::operator()(TagNeighBondDihedralAll, const int &i, int &nmissing) const { for (int m = 0; m < num_dihedral[i]; m++) { - int atom1 = map_kokkos(dihedral_atom1(i,m)); - int atom2 = map_kokkos(dihedral_atom2(i,m)); - int atom3 = map_kokkos(dihedral_atom3(i,m)); - int atom4 = map_kokkos(dihedral_atom4(i,m)); + int atom1 = AtomKokkos::map_kokkos(dihedral_atom1(i,m),map_style,k_map_array,k_map_hash); + int atom2 = AtomKokkos::map_kokkos(dihedral_atom2(i,m),map_style,k_map_array,k_map_hash); + int atom3 = AtomKokkos::map_kokkos(dihedral_atom3(i,m),map_style,k_map_array,k_map_hash); + int atom4 = AtomKokkos::map_kokkos(dihedral_atom4(i,m),map_style,k_map_array,k_map_hash); if (atom1 == -1 || atom2 == -1 || atom3 == -1 || atom4 == -1) { nmissing++; if (lostbond == Thermo::ERROR) return; @@ -810,10 +808,10 @@ KOKKOS_INLINE_FUNCTION void NeighBondKokkos::operator()(TagNeighBondDihedralPartial, const int &i, int &nmissing) const { for (int m = 0; m < num_dihedral[i]; m++) { if (dihedral_type(i,m) <= 0) continue; - int atom1 = map_kokkos(dihedral_atom1(i,m)); - int atom2 = map_kokkos(dihedral_atom2(i,m)); - int atom3 = map_kokkos(dihedral_atom3(i,m)); - int atom4 = map_kokkos(dihedral_atom4(i,m)); + int atom1 = AtomKokkos::map_kokkos(dihedral_atom1(i,m),map_style,k_map_array,k_map_hash); + int atom2 = AtomKokkos::map_kokkos(dihedral_atom2(i,m),map_style,k_map_array,k_map_hash); + int atom3 = AtomKokkos::map_kokkos(dihedral_atom3(i,m),map_style,k_map_array,k_map_hash); + int atom4 = AtomKokkos::map_kokkos(dihedral_atom4(i,m),map_style,k_map_array,k_map_hash); if (atom1 == -1 || atom2 == -1 || atom3 == -1 || atom4 == -1) { nmissing++; if (lostbond == Thermo::ERROR) return; @@ -964,10 +962,10 @@ template KOKKOS_INLINE_FUNCTION void NeighBondKokkos::operator()(TagNeighBondImproperAll, const int &i, int &nmissing) const { for (int m = 0; m < num_improper[i]; m++) { - int atom1 = map_kokkos(improper_atom1(i,m)); - int atom2 = map_kokkos(improper_atom2(i,m)); - int atom3 = map_kokkos(improper_atom3(i,m)); - int atom4 = map_kokkos(improper_atom4(i,m)); + int atom1 = AtomKokkos::map_kokkos(improper_atom1(i,m),map_style,k_map_array,k_map_hash); + int atom2 = AtomKokkos::map_kokkos(improper_atom2(i,m),map_style,k_map_array,k_map_hash); + int atom3 = AtomKokkos::map_kokkos(improper_atom3(i,m),map_style,k_map_array,k_map_hash); + int atom4 = AtomKokkos::map_kokkos(improper_atom4(i,m),map_style,k_map_array,k_map_hash); if (atom1 == -1 || atom2 == -1 || atom3 == -1 || atom4 == -1) { nmissing++; if (lostbond == Thermo::ERROR) return; @@ -1064,10 +1062,10 @@ KOKKOS_INLINE_FUNCTION void NeighBondKokkos::operator()(TagNeighBondImproperPartial, const int &i, int &nmissing) const { for (int m = 0; m < num_improper[i]; m++) { if (improper_type(i,m) <= 0) continue; - int atom1 = map_kokkos(improper_atom1(i,m)); - int atom2 = map_kokkos(improper_atom2(i,m)); - int atom3 = map_kokkos(improper_atom3(i,m)); - int atom4 = map_kokkos(improper_atom4(i,m)); + int atom1 = AtomKokkos::map_kokkos(improper_atom1(i,m),map_style,k_map_array,k_map_hash); + int atom2 = AtomKokkos::map_kokkos(improper_atom2(i,m),map_style,k_map_array,k_map_hash); + int atom3 = AtomKokkos::map_kokkos(improper_atom3(i,m),map_style,k_map_array,k_map_hash); + int atom4 = AtomKokkos::map_kokkos(improper_atom4(i,m),map_style,k_map_array,k_map_hash); if (atom1 == -1 || atom2 == -1 || atom3 == -1 || atom4 == -1) { nmissing++; if (lostbond == Thermo::ERROR) return; @@ -1191,24 +1189,6 @@ void NeighBondKokkos::minimum_image(X_FLOAT &dx, X_FLOAT &dy, X_FLOA /* ---------------------------------------------------------------------- */ -// functions for global to local ID mapping -// map lookup function inlined for efficiency -// return -1 if no map defined - -template -KOKKOS_INLINE_FUNCTION -int NeighBondKokkos::map_kokkos(tagint global) const -{ - if (map_style == 1) - return k_map_array.view()(global); - else if (map_style == 2) - return AtomKokkos::map_find_hash_kokkos(global,k_map_hash); - else - return -1; -} - -/* ---------------------------------------------------------------------- */ - template void NeighBondKokkos::update_class_variables() { diff --git a/src/KOKKOS/neigh_bond_kokkos.h b/src/KOKKOS/neigh_bond_kokkos.h index d60ad2f1aa..d2e5d0fc62 100644 --- a/src/KOKKOS/neigh_bond_kokkos.h +++ b/src/KOKKOS/neigh_bond_kokkos.h @@ -83,17 +83,11 @@ class NeighBondKokkos : protected Pointers { private: int map_style; - DAT::tdual_int_1d k_sametag; typename AT::t_int_1d d_sametag; - DAT::tdual_int_1d k_map_array; - dual_hash_type k_map_hash; - KOKKOS_INLINE_FUNCTION - int map_kokkos(tagint) const; - typename AT::t_int_2d v_bondlist; typename AT::t_int_2d v_anglelist; typename AT::t_int_2d v_dihedrallist; From d412a4c9335dbdc06f12e5948f793300ef77247d Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 12 Jul 2021 21:03:10 -0400 Subject: [PATCH 412/726] re-enable OpenMP testing for ReaxFF --- unittest/force-styles/test_pair_style.cpp | 3 +- .../tests/atomic-pair-reax_c.yaml | 171 +++++++++--------- .../tests/atomic-pair-reax_c_lgvdw.yaml | 5 +- .../tests/atomic-pair-reax_c_noqeq.yaml | 5 +- .../tests/atomic-pair-reax_c_tabulate.yaml | 5 +- .../tests/atomic-pair-yukawa_colloid.yaml | 1 + 6 files changed, 93 insertions(+), 97 deletions(-) diff --git a/unittest/force-styles/test_pair_style.cpp b/unittest/force-styles/test_pair_style.cpp index a3f16eee17..23858f93b9 100644 --- a/unittest/force-styles/test_pair_style.cpp +++ b/unittest/force-styles/test_pair_style.cpp @@ -524,8 +524,7 @@ TEST(PairStyle, plain) if (print_stats) std::cerr << "restart_energy stats:" << stats << std::endl; // pair style rann does not support pair_modify nofdotr - // temporarily disable testing pair style reax/c until we merge the other fixes - if ((test_config.pair_style != "rann") && !(test_config.pair_style.find("reax") != std::string::npos)) { + if (test_config.pair_style != "rann") { if (!verbose) ::testing::internal::CaptureStdout(); restart_lammps(lmp, test_config, true); if (!verbose) ::testing::internal::GetCapturedStdout(); diff --git a/unittest/force-styles/tests/atomic-pair-reax_c.yaml b/unittest/force-styles/tests/atomic-pair-reax_c.yaml index c65b49e83c..630f3b1d17 100644 --- a/unittest/force-styles/tests/atomic-pair-reax_c.yaml +++ b/unittest/force-styles/tests/atomic-pair-reax_c.yaml @@ -1,8 +1,7 @@ --- -lammps_version: 8 Apr 2021 -date_generated: Wed Apr 21 09:14:10 2021 +lammps_version: 2 Jul 2021 +date_generated: Mon Jul 12 20:56:37 2021 epsilon: 1e-11 -skip_tests: omp prerequisites: ! | pair reax/c fix qeq/reax @@ -37,140 +36,140 @@ extract: ! "" natoms: 64 init_vdwl: -3296.3503506624793 init_coul: -327.06551252279587 -init_stress: ! |2- - 3.0523786192092821e+03 3.0876898599834703e+03 3.2008340933315003e+03 -9.2310133390813661e+01 -2.9719470139173262e+02 -8.6006991065711546e+01 +init_stress: ! |- + -1.0522112314759645e+03 -1.2629480788292406e+03 -8.6765541430728683e+02 -2.5149818635822589e+02 2.0624598409299679e+02 -6.4309968343216531e+02 init_forces: ! |2 1 -8.8484559491557889e+01 -2.5824737864578637e+01 1.0916228789487674e+02 - 2 -1.1227736122976223e+02 -1.8092349731667611e+02 -2.2420586526896261e+02 + 2 -1.1227736122976223e+02 -1.8092349731667616e+02 -2.2420586526896261e+02 3 -1.7210817575849026e+02 1.8292439782308702e+02 1.3552618819720569e+01 - 4 3.2997500231085198e+01 -5.1076027616185407e+01 9.0475628837095513e+01 - 5 1.8144778146274791e+02 1.6797701000587452e+01 -8.1725507301127038e+01 - 6 1.3634094180728110e+02 -3.0056789474000180e+02 2.9661495129805971e+01 + 4 3.2997500231085269e+01 -5.1076027616185407e+01 9.0475628837095513e+01 + 5 1.8144778146274791e+02 1.6797701000587466e+01 -8.1725507301127038e+01 + 6 1.3634094180728110e+02 -3.0056789474000180e+02 2.9661495129805957e+01 7 -5.3287158661291762e+01 -1.2872927610192625e+02 -1.6347871108897493e+02 8 -1.5334883257588757e+02 4.0171483324130726e+01 1.5317461163040997e+02 9 1.8364155867634079e+01 8.1986572088186804e+01 2.8272397798081524e+01 10 8.4246730110712534e+01 1.4177487113456962e+02 1.2330079878579957e+02 11 -4.3218423112520902e+01 6.5551082199289709e+01 1.3464882148706636e+02 12 -9.7317470492933836e+01 -2.6234999414154014e+01 7.2277941881646539e+00 - 13 -6.3183329836753863e+01 -4.7368101002971272e+01 -3.7592654029315028e+01 - 14 7.8642975316486172e+01 -6.7997612991897427e+01 -9.9044775614596048e+01 + 13 -6.3183329836753863e+01 -4.7368101002971272e+01 -3.7592654029315021e+01 + 14 7.8642975316486172e+01 -6.7997612991897455e+01 -9.9044775614596048e+01 15 -6.6373732796038979e+01 2.1787558547532143e+02 8.0103149369093387e+01 - 16 1.9216166082224373e+02 5.3228015320734826e+01 6.6260214054210593e+01 + 16 1.9216166082224373e+02 5.3228015320734819e+01 6.6260214054210593e+01 17 1.4496007689503062e+02 -3.9700923044583718e+01 -9.7503851828130053e+01 18 -4.4989550233790240e+01 -1.9360605894359739e+02 1.1274792197022482e+02 - 19 2.6657528138945770e+02 3.7189510796650950e+02 -3.3847307488287697e+02 + 19 2.6657528138945770e+02 3.7189510796650950e+02 -3.3847307488287703e+02 20 -7.6341040242469418e+01 -8.8478925962203348e+01 1.3557778212060649e+00 21 -7.1188591900926752e+01 -5.1591439985136624e+01 -1.2279442803769274e+02 22 1.5504836733039957e+02 -1.3094504458746073e+02 8.1474408030760628e+01 - 23 7.8015302036861655e+01 -1.3272310040521637e+01 -2.2771427736544169e+01 + 23 7.8015302036861655e+01 -1.3272310040521637e+01 -2.2771427736544183e+01 24 -2.0546718065741098e+02 2.1611071031053456e+02 -1.2423208053538966e+02 25 -1.1402686646199034e+02 1.9100238121128132e+02 -8.3504908417580012e+01 - 26 2.8663576552098777e+02 -2.1773884754170604e+02 2.3144300100087472e+02 - 27 -6.3247409025611177e+01 6.9122196748087063e+01 1.8606936744368775e+02 - 28 -3.5426011055935223e+00 3.8764809029451868e+01 3.2874001946768942e+01 - 29 -7.1069178571876577e+01 3.5485903180427719e+01 2.7311648896320207e+01 - 30 -1.7036987830119904e+02 -1.9851827590031277e+02 -1.1511401829123538e+02 - 31 -1.3970409889743334e+02 1.6660943915628047e+02 -1.2913930522474701e+02 - 32 2.7179130444112268e+01 -6.0169059447629913e+01 -1.7669495182022038e+02 + 26 2.8663576552098772e+02 -2.1773884754170604e+02 2.3144300100087472e+02 + 27 -6.3247409025611177e+01 6.9122196748087077e+01 1.8606936744368778e+02 + 28 -3.5426011055935240e+00 3.8764809029451875e+01 3.2874001946768900e+01 + 29 -7.1069178571876577e+01 3.5485903180427719e+01 2.7311648896320204e+01 + 30 -1.7036987830119904e+02 -1.9851827590031277e+02 -1.1511401829123537e+02 + 31 -1.3970409889743331e+02 1.6660943915628047e+02 -1.2913930522474698e+02 + 32 2.7179130444112271e+01 -6.0169059447629905e+01 -1.7669495182022038e+02 33 -6.2659679124099597e+01 -6.4422131921795355e+01 6.4150928205326579e+01 34 -2.2119065265693539e+01 1.0450386886830508e+02 -7.3998379587547845e+01 - 35 2.6982987783286296e+02 -2.1519317040003412e+02 1.3051628460669610e+02 - 36 1.0368628874516664e+02 1.8817377639779619e+02 -1.9748944223870336e+02 - 37 -1.8009522406836993e+02 1.2993653092243849e+02 -6.3523043394051776e+01 - 38 -2.9571205878459978e+02 1.0441609933482223e+02 1.5582204859042619e+02 - 39 8.7398805727029284e+01 -6.0025559644669258e+01 2.2209742009837157e+01 + 35 2.6982987783286291e+02 -2.1519317040003412e+02 1.3051628460669610e+02 + 36 1.0368628874516659e+02 1.8817377639779619e+02 -1.9748944223870336e+02 + 37 -1.8009522406836990e+02 1.2993653092243849e+02 -6.3523043394051804e+01 + 38 -2.9571205878459978e+02 1.0441609933482222e+02 1.5582204859042619e+02 + 39 8.7398805727029270e+01 -6.0025559644669258e+01 2.2209742009837157e+01 40 2.0540672579010824e+01 -1.0735874009092363e+02 5.8655918369892206e+01 41 -5.8895846271372314e+01 1.1852345624639781e+01 -6.6147257724570267e+01 - 42 -9.6895512314642531e+01 3.8928741136688728e+01 -7.5791929957116224e+01 + 42 -9.6895512314642531e+01 3.8928741136688721e+01 -7.5791929957116210e+01 43 2.2476051812062417e+02 9.5505204283237461e+01 1.2309042240718740e+02 - 44 8.9817373579488645e+01 -1.0616333580628948e+02 -8.6321519086255435e+01 - 45 1.7202629662584396e+01 1.2890307246697839e+02 5.2916171301068474e+01 - 46 1.3547783972601877e+01 -2.9276223331260056e+01 2.2187412696867373e+01 - 47 3.3389762514712238e+01 -1.9217585014965047e+02 -6.9956213241088250e+01 - 48 7.3631720332112678e+01 -2.0953007324688525e+02 -2.3183566221404714e+01 - 49 -3.7589944473227274e+02 -2.4083165714763936e+01 1.0770339502610540e+02 + 44 8.9817373579488660e+01 -1.0616333580628948e+02 -8.6321519086255435e+01 + 45 1.7202629662584396e+01 1.2890307246697841e+02 5.2916171301068466e+01 + 46 1.3547783972601877e+01 -2.9276223331260049e+01 2.2187412696867376e+01 + 47 3.3389762514712210e+01 -1.9217585014965047e+02 -6.9956213241088250e+01 + 48 7.3631720332112650e+01 -2.0953007324688525e+02 -2.3183566221404728e+01 + 49 -3.7589944473227274e+02 -2.4083165714763936e+01 1.0770339502610545e+02 50 3.8603083564823841e+01 -7.3616481568799330e+01 9.0414065019644596e+01 51 1.3736420686706188e+02 -1.0204157331506994e+02 1.5813725581150808e+02 - 52 -1.0797257051087823e+02 1.1876975735151167e+02 -1.3295758126486243e+02 - 53 -5.3807540206295343e+01 3.3259462625854701e+02 -3.8426833263045523e-03 - 54 -1.0690184616186750e+01 6.2820270853646399e+01 1.8343158343321130e+02 - 55 1.1231900459987581e+02 -1.7906654831317169e+02 7.6533681064340868e+01 - 56 -4.1027190034916586e+01 -1.4085413191133767e+02 3.7483064289953241e+01 + 52 -1.0797257051087824e+02 1.1876975735151170e+02 -1.3295758126486243e+02 + 53 -5.3807540206295350e+01 3.3259462625854701e+02 -3.8426833263187632e-03 + 54 -1.0690184616186752e+01 6.2820270853646427e+01 1.8343158343321130e+02 + 55 1.1231900459987581e+02 -1.7906654831317167e+02 7.6533681064340854e+01 + 56 -4.1027190034916586e+01 -1.4085413191133770e+02 3.7483064289953241e+01 57 9.9904315214040494e+01 7.0938939080461637e+01 -6.8654961257661526e+01 - 58 -2.7563642882026745e+01 -6.7445498717142405e+00 -1.8442640542823220e+01 - 59 -6.6628933617875404e+01 1.0613066354110040e+02 8.7736153919831665e+01 - 60 -1.7748415247439002e+01 6.3757605316872542e+01 -1.5086907478326543e+02 - 61 -3.3560907195791366e+01 -1.0076987083174089e+02 -7.4536106106935804e+01 - 62 1.5883428926665005e+01 -5.8433760297908881e+00 2.8392494016034949e+01 - 63 1.3294494001298790e+02 -1.2724568063770238e+02 -6.4886848316806251e+01 - 64 1.0738157273930990e+02 1.2062173788161539e+02 7.4541400611710785e+01 + 58 -2.7563642882026748e+01 -6.7445498717142405e+00 -1.8442640542823220e+01 + 59 -6.6628933617875418e+01 1.0613066354110040e+02 8.7736153919831665e+01 + 60 -1.7748415247438995e+01 6.3757605316872542e+01 -1.5086907478326543e+02 + 61 -3.3560907195791366e+01 -1.0076987083174090e+02 -7.4536106106935819e+01 + 62 1.5883428926665005e+01 -5.8433760297908881e+00 2.8392494016034941e+01 + 63 1.3294494001298787e+02 -1.2724568063770238e+02 -6.4886848316806251e+01 + 64 1.0738157273930993e+02 1.2062173788161539e+02 7.4541400611710785e+01 run_vdwl: -3296.346882377749 run_coul: -327.0653995073912 -run_stress: ! |2- - 3.0523824138350801e+03 3.0876910136734191e+03 3.2008348843495064e+03 -9.2310681174629309e+01 -2.9719286551009412e+02 -8.6004906282204530e+01 +run_stress: ! |- + -1.0521225462925122e+03 -1.2628780139889509e+03 -8.6757617693085899e+02 -2.5158592653603847e+02 2.0619472152426923e+02 -6.4312943979323541e+02 run_forces: ! |2 1 -8.8486129396001530e+01 -2.5824483374473200e+01 1.0916517213634106e+02 - 2 -1.1227648453173390e+02 -1.8093214754186130e+02 -2.2420118533940351e+02 - 3 -1.7210894875994978e+02 1.8292263268451674e+02 1.3551979435686128e+01 - 4 3.2999405001009400e+01 -5.1077312719545837e+01 9.0478579144069556e+01 + 2 -1.1227648453173390e+02 -1.8093214754186130e+02 -2.2420118533940354e+02 + 3 -1.7210894875994978e+02 1.8292263268451674e+02 1.3551979435686139e+01 + 4 3.2999405001009407e+01 -5.1077312719545837e+01 9.0478579144069556e+01 5 1.8144963583123214e+02 1.6798391906831810e+01 -8.1723378082075570e+01 6 1.3640835897739447e+02 -3.0059507544862095e+02 2.9594750460783345e+01 - 7 -5.3287619129789434e+01 -1.2872953167026759e+02 -1.6348317368624129e+02 + 7 -5.3287619129789434e+01 -1.2872953167026756e+02 -1.6348317368624129e+02 8 -1.5334990952322434e+02 4.0171746946780843e+01 1.5317542403106131e+02 - 9 1.8362961213927143e+01 8.1984428717784240e+01 2.8273598253027259e+01 + 9 1.8362961213927139e+01 8.1984428717784255e+01 2.8273598253027259e+01 10 8.4245458094789043e+01 1.4177227430519346e+02 1.2329899933660965e+02 11 -4.3217035356344425e+01 6.5547850976510759e+01 1.3463983671946417e+02 12 -9.7319343004573113e+01 -2.6236499899232278e+01 7.2232061905742402e+00 13 -6.3184735475530402e+01 -4.7368090836538087e+01 -3.7590268076036111e+01 - 14 7.8642680121803949e+01 -6.7994653297646451e+01 -9.9042134233434069e+01 - 15 -6.6371195967082812e+01 2.1787700653339664e+02 8.0102624694807375e+01 - 16 1.9215832443892597e+02 5.3231888618093969e+01 6.6253846562695060e+01 - 17 1.4496126989603110e+02 -3.9700366098757236e+01 -9.7506725874209394e+01 + 14 7.8642680121803977e+01 -6.7994653297646451e+01 -9.9042134233434012e+01 + 15 -6.6371195967082826e+01 2.1787700653339664e+02 8.0102624694807375e+01 + 16 1.9215832443892597e+02 5.3231888618093983e+01 6.6253846562695074e+01 + 17 1.4496126989603110e+02 -3.9700366098757222e+01 -9.7506725874209380e+01 18 -4.4989211400008614e+01 -1.9360716191976445e+02 1.1274798810455862e+02 - 19 2.6657546213782740e+02 3.7189369483257695e+02 -3.3847202166068041e+02 + 19 2.6657546213782740e+02 3.7189369483257695e+02 -3.3847202166068035e+02 20 -7.6352829159880940e+01 -8.8469178952301604e+01 1.3384778817072185e+00 - 21 -7.1188597560667418e+01 -5.1592404200740091e+01 -1.2279357314243519e+02 + 21 -7.1188597560667432e+01 -5.1592404200740106e+01 -1.2279357314243519e+02 22 1.5504965184741241e+02 -1.3094582932680530e+02 8.1473922626938005e+01 23 7.8017376001392932e+01 -1.3263023728607561e+01 -2.2771654676273968e+01 - 24 -2.0547634460482246e+02 2.1612342044348730e+02 -1.2423651650061706e+02 + 24 -2.0547634460482251e+02 2.1612342044348730e+02 -1.2423651650061706e+02 25 -1.1402944116091903e+02 1.9100648219391277e+02 -8.3505645569845370e+01 26 2.8664542299410533e+02 -2.1774609219880716e+02 2.3144720166994406e+02 - 27 -6.3243843868043058e+01 6.9123801262965287e+01 1.8607035157681673e+02 - 28 -3.5444604841998397e+00 3.8760531647714473e+01 3.2869123667281691e+01 + 27 -6.3243843868043029e+01 6.9123801262965273e+01 1.8607035157681673e+02 + 28 -3.5444604841998415e+00 3.8760531647714480e+01 3.2869123667281706e+01 29 -7.1069494158179211e+01 3.5486459158760582e+01 2.7311657876181052e+01 30 -1.7037059987992399e+02 -1.9851840131669357e+02 -1.1511410156295636e+02 - 31 -1.3970663440086005e+02 1.6660841802305004e+02 -1.2914070628112796e+02 - 32 2.7179939937138421e+01 -6.0162678551485520e+01 -1.7668459764117443e+02 - 33 -6.2659124615698168e+01 -6.4421915847941506e+01 6.4151176691093482e+01 + 31 -1.3970663440086005e+02 1.6660841802305001e+02 -1.2914070628112796e+02 + 32 2.7179939937138432e+01 -6.0162678551485513e+01 -1.7668459764117441e+02 + 33 -6.2659124615698168e+01 -6.4421915847941520e+01 6.4151176691093482e+01 34 -2.2118740875419455e+01 1.0450303589341144e+02 -7.3997370482692972e+01 35 2.6987081482968875e+02 -2.1523754104000355e+02 1.3052736086179604e+02 - 36 1.0368798521815546e+02 1.8816694370725344e+02 -1.9748485159172904e+02 - 37 -1.8012152564003850e+02 1.2997662140302853e+02 -6.3547259053587844e+01 - 38 -2.9571525697590829e+02 1.0441941743734590e+02 1.5582112543442358e+02 - 39 8.7399620724575271e+01 -6.0025787992411296e+01 2.2209357601282150e+01 - 40 2.0541458171950978e+01 -1.0735817059033016e+02 5.8656280350524312e+01 - 41 -5.8893965304899972e+01 1.1850504754314887e+01 -6.6138932259022468e+01 - 42 -9.6894702780992375e+01 3.8926449644174816e+01 -7.5794133002764795e+01 + 36 1.0368798521815543e+02 1.8816694370725344e+02 -1.9748485159172907e+02 + 37 -1.8012152564003850e+02 1.2997662140302859e+02 -6.3547259053587872e+01 + 38 -2.9571525697590829e+02 1.0441941743734588e+02 1.5582112543442358e+02 + 39 8.7399620724575271e+01 -6.0025787992411310e+01 2.2209357601282150e+01 + 40 2.0541458171950978e+01 -1.0735817059033018e+02 5.8656280350524320e+01 + 41 -5.8893965304899986e+01 1.1850504754314887e+01 -6.6138932259022468e+01 + 42 -9.6894702780992361e+01 3.8926449644174809e+01 -7.5794133002764795e+01 43 2.2475651760389383e+02 9.5503072846836503e+01 1.2308683766845400e+02 44 8.9821846939843113e+01 -1.0615882525757857e+02 -8.6326896770189890e+01 - 45 1.7193681344342288e+01 1.2889564928820627e+02 5.2922372841252404e+01 - 46 1.3549091739280335e+01 -2.9276447091757490e+01 2.2187152043656496e+01 - 47 3.3389460345593179e+01 -1.9217121673024420e+02 -6.9954603582952544e+01 - 48 7.3644268618852777e+01 -2.0953201921822830e+02 -2.3192562071413263e+01 + 45 1.7193681344342288e+01 1.2889564928820624e+02 5.2922372841252404e+01 + 46 1.3549091739280335e+01 -2.9276447091757493e+01 2.2187152043656500e+01 + 47 3.3389460345593150e+01 -1.9217121673024420e+02 -6.9954603582952544e+01 + 48 7.3644268618852763e+01 -2.0953201921822830e+02 -2.3192562071413278e+01 49 -3.7593958318941031e+02 -2.4028439106859878e+01 1.0779151134441000e+02 50 3.8603926624328551e+01 -7.3615255297989435e+01 9.0412505212292402e+01 51 1.3736689552214156e+02 -1.0204490780187869e+02 1.5814099219652564e+02 - 52 -1.0797151154267746e+02 1.1876989597626186e+02 -1.3296150756377074e+02 - 53 -5.3843453069456601e+01 3.3257024143956789e+02 -2.3416395383762278e-02 - 54 -1.0678049522667429e+01 6.2807424617056625e+01 1.8344969045860523e+02 + 52 -1.0797151154267745e+02 1.1876989597626186e+02 -1.3296150756377074e+02 + 53 -5.3843453069456601e+01 3.3257024143956778e+02 -2.3416395383797806e-02 + 54 -1.0678049522667429e+01 6.2807424617056597e+01 1.8344969045860523e+02 55 1.1232135576105661e+02 -1.7906994470561881e+02 7.6534265234548187e+01 - 56 -4.1035945990527679e+01 -1.4084577238065071e+02 3.7489705598247994e+01 - 57 9.9903872061946174e+01 7.0936213558024505e+01 -6.8656338416452527e+01 + 56 -4.1035945990527679e+01 -1.4084577238065074e+02 3.7489705598247994e+01 + 57 9.9903872061946146e+01 7.0936213558024505e+01 -6.8656338416452527e+01 58 -2.7563844572724122e+01 -6.7426705471926862e+00 -1.8442803060445037e+01 - 59 -6.6637290503389451e+01 1.0613630918459926e+02 8.7741455199772943e+01 - 60 -1.7749706497437369e+01 6.3756413885635943e+01 -1.5086911682892705e+02 - 61 -3.3559889608749941e+01 -1.0076809277084803e+02 -7.4536003122046253e+01 - 62 1.5883833834736409e+01 -5.8439916924703503e+00 2.8393403991146936e+01 - 63 1.3294237052896716e+02 -1.2724619636183070e+02 -6.4882384014219085e+01 - 64 1.0738250214938944e+02 1.2062290362868877e+02 7.4541927445529211e+01 + 59 -6.6637290503389465e+01 1.0613630918459926e+02 8.7741455199772943e+01 + 60 -1.7749706497437362e+01 6.3756413885635943e+01 -1.5086911682892702e+02 + 61 -3.3559889608749941e+01 -1.0076809277084801e+02 -7.4536003122046239e+01 + 62 1.5883833834736409e+01 -5.8439916924703503e+00 2.8393403991146943e+01 + 63 1.3294237052896716e+02 -1.2724619636183067e+02 -6.4882384014219042e+01 + 64 1.0738250214938945e+02 1.2062290362868877e+02 7.4541927445529197e+01 ... diff --git a/unittest/force-styles/tests/atomic-pair-reax_c_lgvdw.yaml b/unittest/force-styles/tests/atomic-pair-reax_c_lgvdw.yaml index 3e12ad726d..c67cffdbba 100644 --- a/unittest/force-styles/tests/atomic-pair-reax_c_lgvdw.yaml +++ b/unittest/force-styles/tests/atomic-pair-reax_c_lgvdw.yaml @@ -1,8 +1,7 @@ --- -lammps_version: 8 Apr 2021 -date_generated: Wed Apr 21 08:52:02 2021 +lammps_version: 2 Jul 2021 +date_generated: Mon Jul 12 20:56:38 2021 epsilon: 1e-12 -skip_tests: omp prerequisites: ! | pair reax/c fix qeq/reax diff --git a/unittest/force-styles/tests/atomic-pair-reax_c_noqeq.yaml b/unittest/force-styles/tests/atomic-pair-reax_c_noqeq.yaml index d0f59749fd..5927f854d6 100644 --- a/unittest/force-styles/tests/atomic-pair-reax_c_noqeq.yaml +++ b/unittest/force-styles/tests/atomic-pair-reax_c_noqeq.yaml @@ -1,8 +1,7 @@ --- -lammps_version: 8 Apr 2021 -date_generated: Wed Apr 21 08:52:00 2021 +lammps_version: 2 Jul 2021 +date_generated: Mon Jul 12 20:56:38 2021 epsilon: 5e-13 -skip_tests: omp prerequisites: ! | pair reax/c pre_commands: ! | diff --git a/unittest/force-styles/tests/atomic-pair-reax_c_tabulate.yaml b/unittest/force-styles/tests/atomic-pair-reax_c_tabulate.yaml index 12136d7a27..2434dfdcbc 100644 --- a/unittest/force-styles/tests/atomic-pair-reax_c_tabulate.yaml +++ b/unittest/force-styles/tests/atomic-pair-reax_c_tabulate.yaml @@ -1,8 +1,7 @@ --- -lammps_version: 8 Apr 2021 -date_generated: Wed Apr 21 08:52:02 2021 +lammps_version: 2 Jul 2021 +date_generated: Mon Jul 12 20:56:39 2021 epsilon: 1e-12 -skip_tests: omp prerequisites: ! | pair reax/c fix qeq/reax diff --git a/unittest/force-styles/tests/atomic-pair-yukawa_colloid.yaml b/unittest/force-styles/tests/atomic-pair-yukawa_colloid.yaml index 1c5c24832d..d807696e63 100644 --- a/unittest/force-styles/tests/atomic-pair-yukawa_colloid.yaml +++ b/unittest/force-styles/tests/atomic-pair-yukawa_colloid.yaml @@ -2,6 +2,7 @@ lammps_version: 10 Feb 2021 date_generated: Fri Feb 26 23:09:10 2021 epsilon: 2e-13 +skip_tests: single prerequisites: ! | atom sphere pair yukawa/colloid From ac07253ed6e2546d89a3557fb7751c68a0ac6425 Mon Sep 17 00:00:00 2001 From: Stan Moore Date: Tue, 13 Jul 2021 10:29:37 -0600 Subject: [PATCH 413/726] Fix GPU issues --- src/KOKKOS/atom_map_kokkos.cpp | 5 ++++- src/KOKKOS/kokkos_type.h | 8 ++------ 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/src/KOKKOS/atom_map_kokkos.cpp b/src/KOKKOS/atom_map_kokkos.cpp index 9ca361e963..8d0d1243ac 100644 --- a/src/KOKKOS/atom_map_kokkos.cpp +++ b/src/KOKKOS/atom_map_kokkos.cpp @@ -260,7 +260,10 @@ void AtomKokkos::map_set() if (utils::strmatch(modify->fix[n]->style, "^shake")) if (modify->fix[n]->execution_space == Device) device_hash_flag = 1; - if (device_hash_flag) Kokkos::deep_copy(d_map_hash,h_map_hash); + if (device_hash_flag) { + Kokkos::deep_copy(d_map_hash,h_map_hash); + k_map_hash.view() = d_map_hash; + } } } diff --git a/src/KOKKOS/kokkos_type.h b/src/KOKKOS/kokkos_type.h index 1a52571260..9de2a80375 100644 --- a/src/KOKKOS/kokkos_type.h +++ b/src/KOKKOS/kokkos_type.h @@ -561,11 +561,11 @@ struct dual_hash_type { template KOKKOS_INLINE_FUNCTION - std::enable_if_t<(std::is_same::value || Kokkos::SpaceAccessibility::accessible),hash_type> view() {printf("Yes device\n"); return d_view;} + std::enable_if_t<(std::is_same::value || Kokkos::SpaceAccessibility::accessible),hash_type&> view() {return d_view;} template KOKKOS_INLINE_FUNCTION - std::enable_if_t::value || Kokkos::SpaceAccessibility::accessible),host_hash_type> view() {printf("Yes host\n"); return h_view;} + std::enable_if_t::value || Kokkos::SpaceAccessibility::accessible),host_hash_type&> view() {return h_view;} }; @@ -855,8 +855,6 @@ typedef tdual_neighbors_2d::t_dev_um t_neighbors_2d_um; typedef tdual_neighbors_2d::t_dev_const_um t_neighbors_2d_const_um; typedef tdual_neighbors_2d::t_dev_const_randomread t_neighbors_2d_randomread; -typedef hash_type t_hash; - }; #ifdef LMP_KOKKOS_GPU @@ -1118,8 +1116,6 @@ typedef tdual_neighbors_2d::t_host_um t_neighbors_2d_um; typedef tdual_neighbors_2d::t_host_const_um t_neighbors_2d_const_um; typedef tdual_neighbors_2d::t_host_const_randomread t_neighbors_2d_randomread; -typedef host_hash_type t_hash; - }; #endif //default LAMMPS Types From fc5f91b44c70a1d2cdf1b79161afaf21663f480e Mon Sep 17 00:00:00 2001 From: Stan Moore Date: Tue, 13 Jul 2021 10:34:50 -0600 Subject: [PATCH 414/726] Revert accidental change --- bench/in.rhodo | 1 - 1 file changed, 1 deletion(-) diff --git a/bench/in.rhodo b/bench/in.rhodo index 1607e3ddd1..bd7e3df7f5 100644 --- a/bench/in.rhodo +++ b/bench/in.rhodo @@ -4,7 +4,6 @@ units real neigh_modify delay 5 every 1 atom_style full -atom_modify map array bond_style harmonic angle_style charmm dihedral_style charmm From 3895ae194d1a3e3e60037d15251916bb74884e1f Mon Sep 17 00:00:00 2001 From: Stan Gerald Moore Date: Tue, 13 Jul 2021 12:17:24 -0600 Subject: [PATCH 415/726] Make function static --- src/KOKKOS/kokkos_type.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/KOKKOS/kokkos_type.h b/src/KOKKOS/kokkos_type.h index 775462f1ff..4a764a38af 100644 --- a/src/KOKKOS/kokkos_type.h +++ b/src/KOKKOS/kokkos_type.h @@ -45,7 +45,7 @@ enum{FULL=1u,HALFTHREAD=2u,HALF=4u}; static constexpr LAMMPS_NS::bigint LMP_KOKKOS_AV_DELTA = 10; namespace Kokkos { - auto NoInit = [](std::string const& label) { + static auto NoInit = [](std::string const& label) { return Kokkos::view_alloc(Kokkos::WithoutInitializing, label); }; } From 38b156a08a24e8a2146ec04336e91b06790da84e Mon Sep 17 00:00:00 2001 From: Aidan Thompson Date: Wed, 14 Jul 2021 11:07:10 -0600 Subject: [PATCH 416/726] Resolved bogus merge conflict and added change to last molecule deletion --- src/MC/fix_gcmc.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/MC/fix_gcmc.cpp b/src/MC/fix_gcmc.cpp index 6598890ea4..fc1b1c03db 100644 --- a/src/MC/fix_gcmc.cpp +++ b/src/MC/fix_gcmc.cpp @@ -1230,7 +1230,7 @@ void FixGCMC::attempt_molecule_deletion() // work-around to avoid n=0 problem with fix rigid/nvt/small - if (ngas == natoms_per_molecule) return; + if (rigidflag && ngas == natoms_per_molecule) return; tagint deletion_molecule = pick_random_gas_molecule(); if (deletion_molecule == -1) return; @@ -1900,7 +1900,7 @@ void FixGCMC::attempt_molecule_deletion_full() // work-around to avoid n=0 problem with fix rigid/nvt/small - if (ngas == natoms_per_molecule) return; + if (rigidflag && ngas == natoms_per_molecule) return; tagint deletion_molecule = pick_random_gas_molecule(); if (deletion_molecule == -1) return; From fb73382c9471648e19a9780c33197c7d27b8fb22 Mon Sep 17 00:00:00 2001 From: Aidan Thompson Date: Wed, 14 Jul 2021 11:13:54 -0600 Subject: [PATCH 417/726] Documented restriction on molecular count >= 1 for fix rigid --- doc/src/fix_gcmc.rst | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/doc/src/fix_gcmc.rst b/doc/src/fix_gcmc.rst index 894e4ec4b1..c65dace601 100644 --- a/doc/src/fix_gcmc.rst +++ b/doc/src/fix_gcmc.rst @@ -451,6 +451,11 @@ When using fix gcmc in combination with fix shake or fix rigid, only GCMC exchange moves are supported, so the argument *M* must be zero. +When using fix gcmc in combination with fix rigid, deletion +of the last remaining molecule is not allowed for technical reasons, +and so the molecule count will never drop below 1, regardless of the +specified chemical potential. + Note that very lengthy simulations involving insertions/deletions of billions of gas molecules may run out of atom or molecule IDs and trigger an error, so it is better to run multiple shorter-duration From 22957453180977a6c20f1d68158b01071325d68e Mon Sep 17 00:00:00 2001 From: Stan Gerald Moore Date: Wed, 14 Jul 2021 11:21:12 -0600 Subject: [PATCH 418/726] Revert to original SNAP code for Kokkos CPU --- src/KOKKOS/pair_snap_kokkos_impl.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/KOKKOS/pair_snap_kokkos_impl.h b/src/KOKKOS/pair_snap_kokkos_impl.h index 34dffacca8..296d9cc83f 100644 --- a/src/KOKKOS/pair_snap_kokkos_impl.h +++ b/src/KOKKOS/pair_snap_kokkos_impl.h @@ -86,6 +86,11 @@ PairSNAPKokkos::~PairSNAPKokkos() template void PairSNAPKokkos::init_style() { + if (host_flag) { + PairSNAP::init_style(); + return; + } + if (force->newton_pair == 0) error->all(FLERR,"Pair style SNAP requires newton pair on"); @@ -133,6 +138,13 @@ struct FindMaxNumNeighs { template void PairSNAPKokkos::compute(int eflag_in, int vflag_in) { + if (host_flag) { + atomKK->sync(Host,X_MASK|TYPE_MASK); + PairSNAP::compute(eflag_in,vflag_in); + atomKK->modified(Host,F_MASK); + return; + } + eflag = eflag_in; vflag = vflag_in; From e87fae5c923e6fc7425b9a225eb23b012747cbe1 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 14 Jul 2021 14:38:29 -0400 Subject: [PATCH 419/726] remove unused variable --- src/GRANULAR/compute_fabric.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/GRANULAR/compute_fabric.cpp b/src/GRANULAR/compute_fabric.cpp index 61d3b632a5..e800e0f130 100644 --- a/src/GRANULAR/compute_fabric.cpp +++ b/src/GRANULAR/compute_fabric.cpp @@ -194,7 +194,7 @@ void ComputeFabric::compute_vector() int i, j, ii, jj, inum, jnum, itype, jtype; tagint itag, jtag; double xtmp, ytmp, ztmp, delx, dely, delz; - double r, rinv, rsq, radsum, eng, fpair; + double r, rinv, rsq, radsum, fpair; double nx, ny, nz; double ncinv, denom, fn, ft, prefactor; From 5f302b9035247028e2ed2105ffd016c81d26b58d Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 14 Jul 2021 17:42:46 -0400 Subject: [PATCH 420/726] temporarily skip testing REAXFF with OpenMP --- unittest/force-styles/tests/atomic-pair-reax_c.yaml | 1 + unittest/force-styles/tests/atomic-pair-reax_c_lgvdw.yaml | 1 + unittest/force-styles/tests/atomic-pair-reax_c_noqeq.yaml | 1 + unittest/force-styles/tests/atomic-pair-reax_c_tabulate.yaml | 1 + 4 files changed, 4 insertions(+) diff --git a/unittest/force-styles/tests/atomic-pair-reax_c.yaml b/unittest/force-styles/tests/atomic-pair-reax_c.yaml index 630f3b1d17..22cc182b30 100644 --- a/unittest/force-styles/tests/atomic-pair-reax_c.yaml +++ b/unittest/force-styles/tests/atomic-pair-reax_c.yaml @@ -2,6 +2,7 @@ lammps_version: 2 Jul 2021 date_generated: Mon Jul 12 20:56:37 2021 epsilon: 1e-11 +skip_tests: omp prerequisites: ! | pair reax/c fix qeq/reax diff --git a/unittest/force-styles/tests/atomic-pair-reax_c_lgvdw.yaml b/unittest/force-styles/tests/atomic-pair-reax_c_lgvdw.yaml index c67cffdbba..d91caa277c 100644 --- a/unittest/force-styles/tests/atomic-pair-reax_c_lgvdw.yaml +++ b/unittest/force-styles/tests/atomic-pair-reax_c_lgvdw.yaml @@ -2,6 +2,7 @@ lammps_version: 2 Jul 2021 date_generated: Mon Jul 12 20:56:38 2021 epsilon: 1e-12 +skip_tests: omp prerequisites: ! | pair reax/c fix qeq/reax diff --git a/unittest/force-styles/tests/atomic-pair-reax_c_noqeq.yaml b/unittest/force-styles/tests/atomic-pair-reax_c_noqeq.yaml index 5927f854d6..9cfaaf4625 100644 --- a/unittest/force-styles/tests/atomic-pair-reax_c_noqeq.yaml +++ b/unittest/force-styles/tests/atomic-pair-reax_c_noqeq.yaml @@ -2,6 +2,7 @@ lammps_version: 2 Jul 2021 date_generated: Mon Jul 12 20:56:38 2021 epsilon: 5e-13 +skip_tests: omp prerequisites: ! | pair reax/c pre_commands: ! | diff --git a/unittest/force-styles/tests/atomic-pair-reax_c_tabulate.yaml b/unittest/force-styles/tests/atomic-pair-reax_c_tabulate.yaml index 2434dfdcbc..8afebb059b 100644 --- a/unittest/force-styles/tests/atomic-pair-reax_c_tabulate.yaml +++ b/unittest/force-styles/tests/atomic-pair-reax_c_tabulate.yaml @@ -2,6 +2,7 @@ lammps_version: 2 Jul 2021 date_generated: Mon Jul 12 20:56:39 2021 epsilon: 1e-12 +skip_tests: omp prerequisites: ! | pair reax/c fix qeq/reax From 54cf985280b18b535cff8633528d4a9db2100a99 Mon Sep 17 00:00:00 2001 From: Stan Gerald Moore Date: Wed, 14 Jul 2021 20:54:50 -0600 Subject: [PATCH 421/726] Add message so no unexpected behavior --- src/KOKKOS/pair_snap_kokkos_impl.h | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/KOKKOS/pair_snap_kokkos_impl.h b/src/KOKKOS/pair_snap_kokkos_impl.h index 296d9cc83f..30a4082711 100644 --- a/src/KOKKOS/pair_snap_kokkos_impl.h +++ b/src/KOKKOS/pair_snap_kokkos_impl.h @@ -30,6 +30,7 @@ #include "neighbor_kokkos.h" #include "kokkos.h" #include "sna.h" +#include "comm.h" #define MAXLINE 1024 #define MAXWORD 3 @@ -87,7 +88,12 @@ template void PairSNAPKokkos::init_style() { if (host_flag) { - PairSNAP::init_style(); + if (lmp->kokkos->nthreads > 1) + if (comm->me == 0) + utils::logmesg(lmp,"Pair style snap/kk currently only runs on a single " + "CPU thread, even if more threads are requested\n"); + + PairSNAP::init_style(); return; } From 0f0059269d0666ce6a7f7d16b53f4660111fd5ba Mon Sep 17 00:00:00 2001 From: Oliver Henrich Date: Thu, 15 Jul 2021 13:36:40 +0100 Subject: [PATCH 422/726] Modified data_bonds_post() and calling structure --- .../oxDNA/duplex1/log.27May21.duplex1.g++.1 | 1 - .../oxDNA/duplex1/log.27May21.duplex1.g++.4 | 1 - .../oxDNA/duplex2/log.27May21.duplex2.g++.1 | 1 - .../oxDNA/duplex2/log.27May21.duplex2.g++.4 | 1 - .../oxDNA2/duplex1/log.27May21.duplex1.g++.1 | 1 - .../oxDNA2/duplex1/log.27May21.duplex1.g++.4 | 1 - .../oxDNA2/duplex2/log.27May21.duplex2.g++.1 | 1 - .../oxDNA2/duplex2/log.27May21.duplex2.g++.4 | 1 - .../oxDNA2/duplex3/log.27May21.duplex3.g++.1 | 1 - .../oxDNA2/duplex3/log.27May21.duplex3.g++.4 | 1 - .../unique_bp/log.27May21.duplex4.4type.g++1 | 1 - .../unique_bp/log.27May21.duplex4.4type.g++4 | 1 - .../unique_bp/log.27May21.duplex4.8type.g++1 | 1 - .../unique_bp/log.27May21.duplex4.8type.g++4 | 1 - .../oxRNA2/duplex2/log.27May21.duplex2.g++.1 | 1 - .../oxRNA2/duplex2/log.27May21.duplex2.g++.4 | 1 - src/CG-DNA/atom_vec_oxdna.cpp | 46 ++++--------------- src/CG-DNA/atom_vec_oxdna.h | 3 +- src/atom.cpp | 3 +- src/atom_vec.h | 3 +- src/atom_vec_hybrid.cpp | 8 ++-- src/atom_vec_hybrid.h | 2 +- src/read_data.cpp | 1 - 23 files changed, 18 insertions(+), 64 deletions(-) diff --git a/examples/PACKAGES/cgdna/examples/oxDNA/duplex1/log.27May21.duplex1.g++.1 b/examples/PACKAGES/cgdna/examples/oxDNA/duplex1/log.27May21.duplex1.g++.1 index 6433d417de..7d5af6aec3 100644 --- a/examples/PACKAGES/cgdna/examples/oxDNA/duplex1/log.27May21.duplex1.g++.1 +++ b/examples/PACKAGES/cgdna/examples/oxDNA/duplex1/log.27May21.duplex1.g++.1 @@ -32,7 +32,6 @@ Reading data file ... 2 = max bonds/atom 10 ellipsoids reading bonds ... -Setting oxDNA 3'->5' bond directionality ... 8 bonds Finding 1-2 1-3 1-4 neighbors ... special bond factors lj: 0 0 0 diff --git a/examples/PACKAGES/cgdna/examples/oxDNA/duplex1/log.27May21.duplex1.g++.4 b/examples/PACKAGES/cgdna/examples/oxDNA/duplex1/log.27May21.duplex1.g++.4 index cf52039af3..da1a98817b 100644 --- a/examples/PACKAGES/cgdna/examples/oxDNA/duplex1/log.27May21.duplex1.g++.4 +++ b/examples/PACKAGES/cgdna/examples/oxDNA/duplex1/log.27May21.duplex1.g++.4 @@ -32,7 +32,6 @@ Reading data file ... 2 = max bonds/atom 10 ellipsoids reading bonds ... -Setting oxDNA 3'->5' bond directionality ... 8 bonds Finding 1-2 1-3 1-4 neighbors ... special bond factors lj: 0 0 0 diff --git a/examples/PACKAGES/cgdna/examples/oxDNA/duplex2/log.27May21.duplex2.g++.1 b/examples/PACKAGES/cgdna/examples/oxDNA/duplex2/log.27May21.duplex2.g++.1 index f69905aa0c..f9b5a909eb 100644 --- a/examples/PACKAGES/cgdna/examples/oxDNA/duplex2/log.27May21.duplex2.g++.1 +++ b/examples/PACKAGES/cgdna/examples/oxDNA/duplex2/log.27May21.duplex2.g++.1 @@ -32,7 +32,6 @@ Reading data file ... 2 = max bonds/atom 16 ellipsoids reading bonds ... -Setting oxDNA 3'->5' bond directionality ... 13 bonds Finding 1-2 1-3 1-4 neighbors ... special bond factors lj: 0 0 0 diff --git a/examples/PACKAGES/cgdna/examples/oxDNA/duplex2/log.27May21.duplex2.g++.4 b/examples/PACKAGES/cgdna/examples/oxDNA/duplex2/log.27May21.duplex2.g++.4 index 7ded7eec79..8744f7b4cd 100644 --- a/examples/PACKAGES/cgdna/examples/oxDNA/duplex2/log.27May21.duplex2.g++.4 +++ b/examples/PACKAGES/cgdna/examples/oxDNA/duplex2/log.27May21.duplex2.g++.4 @@ -32,7 +32,6 @@ Reading data file ... 2 = max bonds/atom 16 ellipsoids reading bonds ... -Setting oxDNA 3'->5' bond directionality ... 13 bonds Finding 1-2 1-3 1-4 neighbors ... special bond factors lj: 0 0 0 diff --git a/examples/PACKAGES/cgdna/examples/oxDNA2/duplex1/log.27May21.duplex1.g++.1 b/examples/PACKAGES/cgdna/examples/oxDNA2/duplex1/log.27May21.duplex1.g++.1 index 0c27e603c8..40a6f32d18 100644 --- a/examples/PACKAGES/cgdna/examples/oxDNA2/duplex1/log.27May21.duplex1.g++.1 +++ b/examples/PACKAGES/cgdna/examples/oxDNA2/duplex1/log.27May21.duplex1.g++.1 @@ -33,7 +33,6 @@ Reading data file ... 2 = max bonds/atom 10 ellipsoids reading bonds ... -Setting oxDNA 3'->5' bond directionality ... 8 bonds Finding 1-2 1-3 1-4 neighbors ... special bond factors lj: 0 0 0 diff --git a/examples/PACKAGES/cgdna/examples/oxDNA2/duplex1/log.27May21.duplex1.g++.4 b/examples/PACKAGES/cgdna/examples/oxDNA2/duplex1/log.27May21.duplex1.g++.4 index e787299257..0ab77a2d50 100644 --- a/examples/PACKAGES/cgdna/examples/oxDNA2/duplex1/log.27May21.duplex1.g++.4 +++ b/examples/PACKAGES/cgdna/examples/oxDNA2/duplex1/log.27May21.duplex1.g++.4 @@ -33,7 +33,6 @@ Reading data file ... 2 = max bonds/atom 10 ellipsoids reading bonds ... -Setting oxDNA 3'->5' bond directionality ... 8 bonds Finding 1-2 1-3 1-4 neighbors ... special bond factors lj: 0 0 0 diff --git a/examples/PACKAGES/cgdna/examples/oxDNA2/duplex2/log.27May21.duplex2.g++.1 b/examples/PACKAGES/cgdna/examples/oxDNA2/duplex2/log.27May21.duplex2.g++.1 index 6379401f02..6ad31311d6 100644 --- a/examples/PACKAGES/cgdna/examples/oxDNA2/duplex2/log.27May21.duplex2.g++.1 +++ b/examples/PACKAGES/cgdna/examples/oxDNA2/duplex2/log.27May21.duplex2.g++.1 @@ -33,7 +33,6 @@ Reading data file ... 2 = max bonds/atom 16 ellipsoids reading bonds ... -Setting oxDNA 3'->5' bond directionality ... 13 bonds Finding 1-2 1-3 1-4 neighbors ... special bond factors lj: 0 0 0 diff --git a/examples/PACKAGES/cgdna/examples/oxDNA2/duplex2/log.27May21.duplex2.g++.4 b/examples/PACKAGES/cgdna/examples/oxDNA2/duplex2/log.27May21.duplex2.g++.4 index 5db1bd47b3..0cd4417b42 100644 --- a/examples/PACKAGES/cgdna/examples/oxDNA2/duplex2/log.27May21.duplex2.g++.4 +++ b/examples/PACKAGES/cgdna/examples/oxDNA2/duplex2/log.27May21.duplex2.g++.4 @@ -33,7 +33,6 @@ Reading data file ... 2 = max bonds/atom 16 ellipsoids reading bonds ... -Setting oxDNA 3'->5' bond directionality ... 13 bonds Finding 1-2 1-3 1-4 neighbors ... special bond factors lj: 0 0 0 diff --git a/examples/PACKAGES/cgdna/examples/oxDNA2/duplex3/log.27May21.duplex3.g++.1 b/examples/PACKAGES/cgdna/examples/oxDNA2/duplex3/log.27May21.duplex3.g++.1 index ac55cbd994..965502247e 100644 --- a/examples/PACKAGES/cgdna/examples/oxDNA2/duplex3/log.27May21.duplex3.g++.1 +++ b/examples/PACKAGES/cgdna/examples/oxDNA2/duplex3/log.27May21.duplex3.g++.1 @@ -33,7 +33,6 @@ Reading data file ... 2 = max bonds/atom 10 ellipsoids reading bonds ... -Setting oxDNA 3'->5' bond directionality ... 8 bonds Finding 1-2 1-3 1-4 neighbors ... special bond factors lj: 0 0 0 diff --git a/examples/PACKAGES/cgdna/examples/oxDNA2/duplex3/log.27May21.duplex3.g++.4 b/examples/PACKAGES/cgdna/examples/oxDNA2/duplex3/log.27May21.duplex3.g++.4 index 735559c643..6d5e7669bb 100644 --- a/examples/PACKAGES/cgdna/examples/oxDNA2/duplex3/log.27May21.duplex3.g++.4 +++ b/examples/PACKAGES/cgdna/examples/oxDNA2/duplex3/log.27May21.duplex3.g++.4 @@ -33,7 +33,6 @@ Reading data file ... 2 = max bonds/atom 10 ellipsoids reading bonds ... -Setting oxDNA 3'->5' bond directionality ... 8 bonds Finding 1-2 1-3 1-4 neighbors ... special bond factors lj: 0 0 0 diff --git a/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.27May21.duplex4.4type.g++1 b/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.27May21.duplex4.4type.g++1 index 0193d361af..080db1e84f 100644 --- a/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.27May21.duplex4.4type.g++1 +++ b/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.27May21.duplex4.4type.g++1 @@ -36,7 +36,6 @@ Reading data file ... 2 = max bonds/atom 26 ellipsoids reading bonds ... -Setting oxDNA 3'->5' bond directionality ... 24 bonds Finding 1-2 1-3 1-4 neighbors ... special bond factors lj: 0 0 0 diff --git a/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.27May21.duplex4.4type.g++4 b/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.27May21.duplex4.4type.g++4 index eda197670d..e04e7ab623 100644 --- a/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.27May21.duplex4.4type.g++4 +++ b/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.27May21.duplex4.4type.g++4 @@ -36,7 +36,6 @@ Reading data file ... 2 = max bonds/atom 26 ellipsoids reading bonds ... -Setting oxDNA 3'->5' bond directionality ... 24 bonds Finding 1-2 1-3 1-4 neighbors ... special bond factors lj: 0 0 0 diff --git a/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.27May21.duplex4.8type.g++1 b/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.27May21.duplex4.8type.g++1 index e6c11be477..64807e1037 100644 --- a/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.27May21.duplex4.8type.g++1 +++ b/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.27May21.duplex4.8type.g++1 @@ -36,7 +36,6 @@ Reading data file ... 2 = max bonds/atom 26 ellipsoids reading bonds ... -Setting oxDNA 3'->5' bond directionality ... 24 bonds Finding 1-2 1-3 1-4 neighbors ... special bond factors lj: 0 0 0 diff --git a/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.27May21.duplex4.8type.g++4 b/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.27May21.duplex4.8type.g++4 index d16e7b4935..2a7b689c6c 100644 --- a/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.27May21.duplex4.8type.g++4 +++ b/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.27May21.duplex4.8type.g++4 @@ -36,7 +36,6 @@ Reading data file ... 2 = max bonds/atom 26 ellipsoids reading bonds ... -Setting oxDNA 3'->5' bond directionality ... 24 bonds Finding 1-2 1-3 1-4 neighbors ... special bond factors lj: 0 0 0 diff --git a/examples/PACKAGES/cgdna/examples/oxRNA2/duplex2/log.27May21.duplex2.g++.1 b/examples/PACKAGES/cgdna/examples/oxRNA2/duplex2/log.27May21.duplex2.g++.1 index a3fe688104..9e047a580d 100644 --- a/examples/PACKAGES/cgdna/examples/oxRNA2/duplex2/log.27May21.duplex2.g++.1 +++ b/examples/PACKAGES/cgdna/examples/oxRNA2/duplex2/log.27May21.duplex2.g++.1 @@ -33,7 +33,6 @@ Reading data file ... 2 = max bonds/atom 16 ellipsoids reading bonds ... -Setting oxDNA 3'->5' bond directionality ... 13 bonds Finding 1-2 1-3 1-4 neighbors ... special bond factors lj: 0 0 0 diff --git a/examples/PACKAGES/cgdna/examples/oxRNA2/duplex2/log.27May21.duplex2.g++.4 b/examples/PACKAGES/cgdna/examples/oxRNA2/duplex2/log.27May21.duplex2.g++.4 index bbca5e3594..94b722f1da 100644 --- a/examples/PACKAGES/cgdna/examples/oxRNA2/duplex2/log.27May21.duplex2.g++.4 +++ b/examples/PACKAGES/cgdna/examples/oxRNA2/duplex2/log.27May21.duplex2.g++.4 @@ -33,7 +33,6 @@ Reading data file ... 2 = max bonds/atom 16 ellipsoids reading bonds ... -Setting oxDNA 3'->5' bond directionality ... 13 bonds Finding 1-2 1-3 1-4 neighbors ... special bond factors lj: 0 0 0 diff --git a/src/CG-DNA/atom_vec_oxdna.cpp b/src/CG-DNA/atom_vec_oxdna.cpp index 150e9e6d1d..240a38709b 100644 --- a/src/CG-DNA/atom_vec_oxdna.cpp +++ b/src/CG-DNA/atom_vec_oxdna.cpp @@ -66,7 +66,7 @@ void AtomVecOxdna::grow_pointers() } /* ---------------------------------------------------------------------- - initialize atom quantity + initialize atom quantity 5' partner ------------------------------------------------------------------------- */ void AtomVecOxdna::data_atom_post(int ilocal) @@ -80,45 +80,17 @@ void AtomVecOxdna::data_atom_post(int ilocal) store 5' partner to inform 3'->5' bond directionality ------------------------------------------------------------------------- */ -void AtomVecOxdna::data_bonds_post(int n, char *buf, tagint id_offset) +void AtomVecOxdna::data_bonds_post(int m, int num_bond, tagint atom1, + tagint atom2, tagint id_offset) { - - int m,tmp,itype,rv; - tagint atom1,atom2; - char *next; - tagint *id5p = atom->id5p; - if (comm->me == 0) utils::logmesg(lmp,"Setting oxDNA 3'->5' bond directionality ...\n"); + if (id_offset) { + atom1 += id_offset; + atom2 += id_offset; + } - for (int i = 0; i < n; i++) { - - next = strchr(buf,'\n'); - *next = '\0'; - rv = sscanf(buf,"%d %d " TAGINT_FORMAT " " TAGINT_FORMAT, - &tmp,&itype,&atom1,&atom2); - - if (id_offset) { - atom1 += id_offset; - atom2 += id_offset; - } - - if ((m = atom->map(atom1)) >= 0) { - id5p[m] = atom2; - } - - buf = next + 1; + if ((m = atom->map(atom1)) >= 0) { + id5p[m] = atom2; } } - -/* ---------------------------------------------------------------------- - process bond information as per data file - store 5' partner to inform 3'->5' bond directionality -------------------------------------------------------------------------- */ - -void AtomVecOxdna::data_bonds_post2(int m, int num_bond, tagint atom1, tagint atom2, tagint id_offset) -{ - -printf("CALLED FROM ATOM_VEC_OXDNA\n"); - -} diff --git a/src/CG-DNA/atom_vec_oxdna.h b/src/CG-DNA/atom_vec_oxdna.h index bb8f9a457d..e3297a0482 100644 --- a/src/CG-DNA/atom_vec_oxdna.h +++ b/src/CG-DNA/atom_vec_oxdna.h @@ -30,8 +30,7 @@ class AtomVecOxdna : public AtomVec { ~AtomVecOxdna(); void grow_pointers(); - virtual void data_bonds_post(int, char *, tagint); - virtual void data_bonds_post2(int, int, tagint, tagint, tagint); + virtual void data_bonds_post(int, int, tagint, tagint, tagint); void data_atom_post(int); private: diff --git a/src/atom.cpp b/src/atom.cpp index fbc930dca1..323f88719a 100644 --- a/src/atom.cpp +++ b/src/atom.cpp @@ -1288,7 +1288,7 @@ void Atom::data_bonds(int n, char *buf, int *count, tagint id_offset, bond_type[m][num_bond[m]] = itype; bond_atom[m][num_bond[m]] = atom2; num_bond[m]++; - avec->data_bonds_post2(m, num_bond[m], atom1, atom2, id_offset); + avec->data_bonds_post(m, num_bond[m], atom1, atom2, id_offset); } } if (newton_bond == 0) { @@ -1298,6 +1298,7 @@ void Atom::data_bonds(int n, char *buf, int *count, tagint id_offset, bond_type[m][num_bond[m]] = itype; bond_atom[m][num_bond[m]] = atom1; num_bond[m]++; + avec->data_bonds_post(m, num_bond[m], atom1, atom2, id_offset); } } } diff --git a/src/atom_vec.h b/src/atom_vec.h index d65f1f3345..ad3b4c6626 100644 --- a/src/atom_vec.h +++ b/src/atom_vec.h @@ -129,8 +129,7 @@ class AtomVec : protected Pointers { virtual void data_atom_bonus(int, char **) {} virtual void data_body(int, int, int, int *, double *) {} - virtual void data_bonds_post(int, char *, tagint) {} - virtual void data_bonds_post2(int, int , tagint, tagint, tagint) {} + virtual void data_bonds_post(int, int , tagint, tagint, tagint) {} virtual void pack_data(double **); virtual void write_data(FILE *, int, double **); diff --git a/src/atom_vec_hybrid.cpp b/src/atom_vec_hybrid.cpp index 6df260801c..aa19f14bc8 100644 --- a/src/atom_vec_hybrid.cpp +++ b/src/atom_vec_hybrid.cpp @@ -442,11 +442,11 @@ void AtomVecHybrid::data_atom_post(int ilocal) modify what AtomVec::data_bonds() just unpacked or initialize other bond quantities ------------------------------------------------------------------------- */ -void AtomVecHybrid::data_bonds_post2(int m, int num_bond, tagint atom1, tagint atom2, tagint id_offset) +void AtomVecHybrid::data_bonds_post(int m, int num_bond, tagint atom1, + tagint atom2, tagint id_offset) { - -printf("CALLED FROM ATOM_VEC_HYBRID\n"); - + for (int k = 0; k < nstyles; k++) + styles[k]->data_bonds_post(m, num_bond, atom1, atom2, id_offset); } /* ---------------------------------------------------------------------- diff --git a/src/atom_vec_hybrid.h b/src/atom_vec_hybrid.h index 317dc86338..e596754fb3 100644 --- a/src/atom_vec_hybrid.h +++ b/src/atom_vec_hybrid.h @@ -56,7 +56,7 @@ class AtomVecHybrid : public AtomVec { void create_atom_post(int); void data_atom_post(int); - virtual void data_bonds_post2(int, int, tagint, tagint, tagint); + virtual void data_bonds_post(int, int, tagint, tagint, tagint); void pack_data_pre(int); void pack_data_post(int); diff --git a/src/read_data.cpp b/src/read_data.cpp index af200d3af6..183ef30648 100644 --- a/src/read_data.cpp +++ b/src/read_data.cpp @@ -1342,7 +1342,6 @@ void ReadData::bonds(int firstpass) if (eof) error->all(FLERR,"Unexpected end of data file"); strcpy(buffer_post,buffer); atom->data_bonds(nchunk,buffer,count,id_offset,boffset); - if (!firstpass) avec->data_bonds_post(nchunk,buffer_post,id_offset); nread += nchunk; } From e6181d14d711858c26141fdcd9416da54a2e6a89 Mon Sep 17 00:00:00 2001 From: Oliver Henrich Date: Thu, 15 Jul 2021 13:53:15 +0100 Subject: [PATCH 423/726] Use latest versions in master branch --- src/atom.cpp | 43 +++++++++++++++++++++---------------------- src/atom.h | 18 +++++++++--------- src/read_data.cpp | 8 -------- src/read_data.h | 3 +-- 4 files changed, 31 insertions(+), 41 deletions(-) diff --git a/src/atom.cpp b/src/atom.cpp index 323f88719a..6063398f40 100644 --- a/src/atom.cpp +++ b/src/atom.cpp @@ -161,7 +161,7 @@ Atom::Atom(LAMMPS *lmp) : Pointers(lmp) sp = fm = fm_long = nullptr; - // USER-EFF and USER-AWPMD packages + // EFF and AWPMD packages spin = nullptr; eradius = ervel = erforce = nullptr; @@ -169,27 +169,27 @@ Atom::Atom(LAMMPS *lmp) : Pointers(lmp) cs = csforce = vforce = nullptr; etag = nullptr; - // USER-CGDNA package + // CG-DNA package id5p = nullptr; - // USER-DPD package + // DPD-REACT package uCond = uMech = uChem = uCG = uCGnew = nullptr; duChem = dpdTheta = nullptr; - // USER-MESO package + // MESO package cc = cc_flux = nullptr; edpd_temp = edpd_flux = edpd_cv = nullptr; - // USER-MESONT package + // MESONT package length = nullptr; buckling = nullptr; bond_nt = nullptr; - // USER-SMD package + // MACHDYN package contact_radius = nullptr; smd_data_9 = nullptr; @@ -198,12 +198,12 @@ Atom::Atom(LAMMPS *lmp) : Pointers(lmp) eff_plastic_strain_rate = nullptr; damage = nullptr; - // USER-SPH package + // SPH package rho = drho = esph = desph = cv = nullptr; vest = nullptr; - // USER-DIELECTRIC package + // DIELECTRIC package area = ed = em = epsilon = curvature = q_unscaled = nullptr; @@ -461,14 +461,14 @@ void Atom::peratom_create() add_peratom("fm",&fm,DOUBLE,3,1); add_peratom("fm_long",&fm_long,DOUBLE,3,1); - // USER-EFF package + // EFF package add_peratom("spin",&spin,INT,0); add_peratom("eradius",&eradius,DOUBLE,0); add_peratom("ervel",&ervel,DOUBLE,0); add_peratom("erforce",&erforce,DOUBLE,0,1); // set per-thread flag - // USER-AWPMD package + // AWPMD package add_peratom("cs",&cs,DOUBLE,2); add_peratom("csforce",&csforce,DOUBLE,2); @@ -476,11 +476,11 @@ void Atom::peratom_create() add_peratom("ervelforce",&ervelforce,DOUBLE,0); add_peratom("etag",&etag,INT,0); - // USER-CGDNA package + // CG-DNA package add_peratom("id5p",&id5p,tagintsize,0); - // USER-DPD package + // DPD-REACT package add_peratom("dpdTheta",&dpdTheta,DOUBLE,0); add_peratom("uCond",&uCond,DOUBLE,0); @@ -490,7 +490,7 @@ void Atom::peratom_create() add_peratom("uCGnew",&uCGnew,DOUBLE,0); add_peratom("duChem",&duChem,DOUBLE,0); - // USER-MESO package + // MESO package add_peratom("edpd_cv",&edpd_cv,DOUBLE,0); add_peratom("edpd_temp",&edpd_temp,DOUBLE,0); @@ -499,13 +499,13 @@ void Atom::peratom_create() add_peratom("cc",&cc,DOUBLE,1); add_peratom("cc_flux",&cc_flux,DOUBLE,1,1); // set per-thread flag - // USER-MESONT package + // MESONT package add_peratom("length",&length,DOUBLE,0); add_peratom("buckling",&buckling,INT,0); add_peratom("bond_nt",&bond_nt,tagintsize,2); - // USER-SPH package + // SPH package add_peratom("rho",&rho,DOUBLE,0); add_peratom("drho",&drho,DOUBLE,0,1); // set per-thread flag @@ -514,7 +514,7 @@ void Atom::peratom_create() add_peratom("vest",&vest,DOUBLE,3); add_peratom("cv",&cv,DOUBLE,0); - // USER-SMD package + // MACHDYN package add_peratom("contact_radius",&contact_radius,DOUBLE,0); add_peratom("smd_data_9",&smd_data_9,DOUBLE,1); @@ -523,7 +523,7 @@ void Atom::peratom_create() add_peratom("eff_plastic_strain_rate",&eff_plastic_strain_rate,DOUBLE,0); add_peratom("damage",&damage,DOUBLE,0); - // USER-DIELECTRIC package + // DIELECTRIC package add_peratom("area",&area,DOUBLE,0); add_peratom("ed",&ed,DOUBLE,0); @@ -1302,7 +1302,6 @@ void Atom::data_bonds(int n, char *buf, int *count, tagint id_offset, } } } - buf = next + 1; } } @@ -2657,7 +2656,7 @@ void *Atom::extract(const char *name) if (strcmp(name,"cv") == 0) return (void *) cv; if (strcmp(name,"vest") == 0) return (void *) vest; - // USER-MESONT package + // MESONT package if (strcmp(name,"length") == 0) return (void *) length; if (strcmp(name,"buckling") == 0) return (void *) buckling; if (strcmp(name,"bond_nt") == 0) return (void *) bond_nt; @@ -2674,7 +2673,7 @@ void *Atom::extract(const char *name) if (strcmp(name,"dpdTheta") == 0) return (void *) dpdTheta; if (strcmp(name,"edpd_temp") == 0) return (void *) edpd_temp; - // USER-DIELECTRIC + // DIELECTRIC if (strcmp(name,"area") == 0) return (void *) area; if (strcmp(name,"ed") == 0) return (void *) ed; if (strcmp(name,"em") == 0) return (void *) em; @@ -2750,7 +2749,7 @@ int Atom::extract_datatype(const char *name) if (strcmp(name,"cv") == 0) return LAMMPS_DOUBLE; if (strcmp(name,"vest") == 0) return LAMMPS_DOUBLE_2D; - // USER-MESONT package + // MESONT package if (strcmp(name,"length") == 0) return LAMMPS_DOUBLE; if (strcmp(name,"buckling") == 0) return LAMMPS_INT; if (strcmp(name,"bond_nt") == 0) return LAMMPS_TAGINT_2D; @@ -2765,7 +2764,7 @@ int Atom::extract_datatype(const char *name) if (strcmp(name,"dpdTheta") == 0) return LAMMPS_DOUBLE; if (strcmp(name,"edpd_temp") == 0) return LAMMPS_DOUBLE; - // USER-DIELECTRIC + // DIELECTRIC if (strcmp(name,"area") == 0) return LAMMPS_DOUBLE; if (strcmp(name,"ed") == 0) return LAMMPS_DOUBLE; if (strcmp(name,"em") == 0) return LAMMPS_DOUBLE; diff --git a/src/atom.h b/src/atom.h index 22165fa053..daf2f04f8a 100644 --- a/src/atom.h +++ b/src/atom.h @@ -114,7 +114,7 @@ class Atom : protected Pointers { double **sp, **fm, **fm_long; - // USER_EFF and USER-AWPMD packages + // EFF and AWPMD packages int *spin; double *eradius, *ervel, *erforce; @@ -122,18 +122,18 @@ class Atom : protected Pointers { double **cs, **csforce, **vforce; int *etag; - // USER-CGDNA package + // CG-DNA package tagint *id5p; - // USER-DPD package + // DPD-REACT package double *uCond, *uMech, *uChem, *uCGnew, *uCG; double *duChem; double *dpdTheta; int nspecies_dpd; - // USER-MESO package + // MESO package double **cc, **cc_flux; // cc = chemical concentration double *edpd_temp, *edpd_flux; // temperature and heat flux @@ -141,13 +141,13 @@ class Atom : protected Pointers { double *edpd_cv; // heat capacity int cc_species; - // USER-MESONT package + // MESONT package double *length; int *buckling; tagint **bond_nt; - // USER-SMD package + // MACHDYN package double *contact_radius; double **smd_data_9; @@ -156,12 +156,12 @@ class Atom : protected Pointers { double *eff_plastic_strain_rate; double *damage; - // USER-SPH package + // SPH package double *rho, *drho, *esph, *desph, *cv; double **vest; - // USER-DIELECTRIC package + // DIELECTRIC package double *area,*ed,*em,*epsilon,*curvature,*q_unscaled; @@ -191,7 +191,7 @@ class Atom : protected Pointers { int sp_flag; - // USER-SMD package + // MACHDYN package int x0_flag; int smd_flag, damage_flag; diff --git a/src/read_data.cpp b/src/read_data.cpp index 183ef30648..12ad6c3b8c 100644 --- a/src/read_data.cpp +++ b/src/read_data.cpp @@ -71,7 +71,6 @@ ReadData::ReadData(LAMMPS *lmp) : Command(lmp) keyword = new char[MAXLINE]; style = new char[MAXLINE]; buffer = new char[CHUNK*MAXLINE]; - buffer_post = new char[CHUNK*MAXLINE]; ncoeffarg = maxcoeffarg = 0; coeffarg = nullptr; fp = nullptr; @@ -87,11 +86,6 @@ ReadData::ReadData(LAMMPS *lmp) : Command(lmp) avec_tri = (AtomVecTri *) atom->style_match("tri"); nbodies = 0; avec_body = (AtomVecBody *) atom->style_match("body"); - - if (atom->style_match("oxdna")) - avec = (AtomVec *) atom->style_match("oxdna"); - else - avec = atom->avec; } /* ---------------------------------------------------------------------- */ @@ -102,7 +96,6 @@ ReadData::~ReadData() delete [] keyword; delete [] style; delete [] buffer; - delete [] buffer_post; memory->sfree(coeffarg); for (int i = 0; i < nfix; i++) { @@ -1340,7 +1333,6 @@ void ReadData::bonds(int firstpass) nchunk = MIN(nbonds-nread,CHUNK); eof = utils::read_lines_from_file(fp,nchunk,MAXLINE,buffer,me,world); if (eof) error->all(FLERR,"Unexpected end of data file"); - strcpy(buffer_post,buffer); atom->data_bonds(nchunk,buffer,count,id_offset,boffset); nread += nchunk; } diff --git a/src/read_data.h b/src/read_data.h index 1f240a18bc..482c45e6e6 100644 --- a/src/read_data.h +++ b/src/read_data.h @@ -32,7 +32,7 @@ class ReadData : public Command { private: int me, compressed; - char *line, *keyword, *buffer, *buffer_post, *style; + char *line, *keyword, *buffer, *style; FILE *fp; char **coeffarg; int ncoeffarg, maxcoeffarg; @@ -54,7 +54,6 @@ class ReadData : public Command { class AtomVecTri *avec_tri; bigint nbodies; class AtomVecBody *avec_body; - class AtomVec *avec; // box info From a7619b8daec465d1a6ab367e1a137ee6f64cf5c9 Mon Sep 17 00:00:00 2001 From: Oliver Henrich Date: Thu, 15 Jul 2021 17:32:19 +0100 Subject: [PATCH 424/726] Removed virtual keyword, defined internal variable --- src/CG-DNA/atom_vec_oxdna.cpp | 5 +++-- src/CG-DNA/atom_vec_oxdna.h | 2 +- src/atom_vec_hybrid.h | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/CG-DNA/atom_vec_oxdna.cpp b/src/CG-DNA/atom_vec_oxdna.cpp index 240a38709b..ed37fd0877 100644 --- a/src/CG-DNA/atom_vec_oxdna.cpp +++ b/src/CG-DNA/atom_vec_oxdna.cpp @@ -83,6 +83,7 @@ void AtomVecOxdna::data_atom_post(int ilocal) void AtomVecOxdna::data_bonds_post(int m, int num_bond, tagint atom1, tagint atom2, tagint id_offset) { + int n; tagint *id5p = atom->id5p; if (id_offset) { @@ -90,7 +91,7 @@ void AtomVecOxdna::data_bonds_post(int m, int num_bond, tagint atom1, atom2 += id_offset; } - if ((m = atom->map(atom1)) >= 0) { - id5p[m] = atom2; + if ((n = atom->map(atom1)) >= 0) { + id5p[n] = atom2; } } diff --git a/src/CG-DNA/atom_vec_oxdna.h b/src/CG-DNA/atom_vec_oxdna.h index e3297a0482..eb167e6859 100644 --- a/src/CG-DNA/atom_vec_oxdna.h +++ b/src/CG-DNA/atom_vec_oxdna.h @@ -30,8 +30,8 @@ class AtomVecOxdna : public AtomVec { ~AtomVecOxdna(); void grow_pointers(); - virtual void data_bonds_post(int, int, tagint, tagint, tagint); void data_atom_post(int); + void data_bonds_post(int, int, tagint, tagint, tagint); private: tagint *id5p; diff --git a/src/atom_vec_hybrid.h b/src/atom_vec_hybrid.h index e596754fb3..949ae37319 100644 --- a/src/atom_vec_hybrid.h +++ b/src/atom_vec_hybrid.h @@ -56,7 +56,7 @@ class AtomVecHybrid : public AtomVec { void create_atom_post(int); void data_atom_post(int); - virtual void data_bonds_post(int, int, tagint, tagint, tagint); + void data_bonds_post(int, int, tagint, tagint, tagint); void pack_data_pre(int); void pack_data_post(int); From d024dc0e098cb2f0c641fde3f73ea4ced722cec5 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 15 Jul 2021 15:12:04 -0400 Subject: [PATCH 425/726] whitespace fixes --- src/CG-DNA/atom_vec_oxdna.cpp | 2 +- src/CG-DNA/pair_oxrna2_stk.cpp | 2 +- src/atom_vec_hybrid.cpp | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/CG-DNA/atom_vec_oxdna.cpp b/src/CG-DNA/atom_vec_oxdna.cpp index ed37fd0877..5990fa5dfc 100644 --- a/src/CG-DNA/atom_vec_oxdna.cpp +++ b/src/CG-DNA/atom_vec_oxdna.cpp @@ -77,7 +77,7 @@ void AtomVecOxdna::data_atom_post(int ilocal) /* ---------------------------------------------------------------------- process bond information as per data file - store 5' partner to inform 3'->5' bond directionality + store 5' partner to inform 3'->5' bond directionality ------------------------------------------------------------------------- */ void AtomVecOxdna::data_bonds_post(int m, int num_bond, tagint atom1, diff --git a/src/CG-DNA/pair_oxrna2_stk.cpp b/src/CG-DNA/pair_oxrna2_stk.cpp index 627f302699..b6b68662d5 100644 --- a/src/CG-DNA/pair_oxrna2_stk.cpp +++ b/src/CG-DNA/pair_oxrna2_stk.cpp @@ -1014,7 +1014,7 @@ void PairOxrna2Stk::coeff(int narg, char **arg) ------------------------------------------------------------------------- */ void PairOxrna2Stk::init_style() -{ +{ if (!atom->style_match("oxdna")) { error->all(FLERR,"Must use 'atom_style hybrid bond ellipsoid oxdna' with pair style oxdna/stk, oxdna2/stk or oxrna2/stk"); } diff --git a/src/atom_vec_hybrid.cpp b/src/atom_vec_hybrid.cpp index aa19f14bc8..0bffde2129 100644 --- a/src/atom_vec_hybrid.cpp +++ b/src/atom_vec_hybrid.cpp @@ -444,7 +444,7 @@ void AtomVecHybrid::data_atom_post(int ilocal) ------------------------------------------------------------------------- */ void AtomVecHybrid::data_bonds_post(int m, int num_bond, tagint atom1, tagint atom2, tagint id_offset) -{ +{ for (int k = 0; k < nstyles; k++) styles[k]->data_bonds_post(m, num_bond, atom1, atom2, id_offset); } From d97ea4ebf6d32ae8269dc3e2e689f1ba43037266 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 15 Jul 2021 15:42:50 -0400 Subject: [PATCH 426/726] make dependency of CG-DNA on ASPHERE and MOLECULE a hard dependency --- cmake/CMakeLists.txt | 2 ++ doc/src/Packages_details.rst | 5 +++++ src/CG-DNA/Install.sh | 19 +++++++++++++++++-- 3 files changed, 24 insertions(+), 2 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 371f836a36..a5861ab885 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -305,6 +305,8 @@ pkg_depends(LATBOLTZ MPI) pkg_depends(PHONON KSPACE) pkg_depends(SCAFACOS MPI) pkg_depends(DIELECTRIC KSPACE) +pkg_depends(CG-DNA MOLECULE) +pkg_depends(CG-DNA ASPHERE) # detect if we may enable OpenMP support by default set(BUILD_OMP_DEFAULT OFF) diff --git a/doc/src/Packages_details.rst b/doc/src/Packages_details.rst index cf70be0d4b..5a4327dad6 100644 --- a/doc/src/Packages_details.rst +++ b/doc/src/Packages_details.rst @@ -311,6 +311,11 @@ rigid-body integrators with improved stability. **Author:** Oliver Henrich (University of Strathclyde, Glasgow). +**Install:** + +The CG-DNA package requires that also the `MOLECULE `_ and +`ASPHERE `_ packages are installed. + **Supporting info:** * src/CG-DNA: filenames -> commands diff --git a/src/CG-DNA/Install.sh b/src/CG-DNA/Install.sh index bf74a85aef..3c65fac787 100755 --- a/src/CG-DNA/Install.sh +++ b/src/CG-DNA/Install.sh @@ -26,10 +26,25 @@ action () { fi } +# the CG-DNA package cannot be used without +# the MOLECULE and ASPHERE packages installed. + +if (test $1 = 1) then + if (test ! -e ../bond_harmonic.cpp) then + echo "Must install MOLECULE package with CG-DNA" + exit 1 + fi + if (test ! -e ../fix_nve_asphere.cpp) then + echo "Must install ASPHERE package with CG-DNA" + exit 1 + fi +fi + + # list of files with dependcies -action atom_vec_oxdna.cpp atom_vec.h -action atom_vec_oxdna.h atom_vec.h +action atom_vec_oxdna.cpp +action atom_vec_oxdna.h action bond_oxdna_fene.cpp bond_fene.h action bond_oxdna2_fene.cpp bond_fene.h action bond_oxrna2_fene.cpp bond_fene.h From dc70f97ad48742c7891cc1375c7ffb454815be58 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 15 Jul 2021 15:44:35 -0400 Subject: [PATCH 427/726] restore changes from upstream that were undone by incorrectly resolving merge conflicts --- doc/src/atom_style.rst | 27 ++++++++++++--------- doc/src/bond_oxdna.rst | 8 +++--- doc/src/pair_oxdna.rst | 8 +++--- doc/src/pair_oxdna2.rst | 8 +++--- doc/src/pair_oxrna2.rst | 8 +++--- doc/utils/sphinx-config/false_positives.txt | 11 ++++++--- src/.gitignore | 12 ++++++--- 7 files changed, 48 insertions(+), 34 deletions(-) diff --git a/doc/src/atom_style.rst b/doc/src/atom_style.rst index 4689895007..4d880077d1 100644 --- a/doc/src/atom_style.rst +++ b/doc/src/atom_style.rst @@ -199,10 +199,10 @@ The *oxdna* style is for coarse-grained nucleotides and stores the 3'-to-5' polarity of the nucleotide strand, which is set through the bond topology in the data file. The first (second) atom in a bond definition is understood to point towards the 3'-end (5'-end) -of the strand. Note that this style is part of the USER-CGDNA package. +of the strand. Note that this style is part of the CG-DNA package. The *dpd* style is for dissipative particle dynamics (DPD) particles. -Note that it is part of the USER-DPD package, and is not for use with +Note that it is part of the DPD-REACT package, and is not for use with the :doc:`pair_style dpd or dpd/stat ` commands, which can simply use atom_style atomic. Atom_style dpd extends DPD particle properties with internal temperature (dpdTheta), internal conductive @@ -327,14 +327,16 @@ styles take the same arguments and should produce the same results, except for round-off and precision issues. Note that other acceleration packages in LAMMPS, specifically the GPU, -USER-INTEL, USER-OMP, and OPT packages do not use accelerated atom +INTEL, OPENMP, and OPT packages do not use accelerated atom styles. The accelerated styles are part of the KOKKOS package. They are only -enabled if LAMMPS was built with those packages. See the :doc:`Build package ` doc page for more info. +enabled if LAMMPS was built with those packages. See the :doc:`Build +package ` doc page for more info. You can specify the accelerated styles explicitly in your input script -by including their suffix, or you can use the :doc:`-suffix command-line switch ` when you invoke LAMMPS, or you can use the +by including their suffix, or you can use the :doc:`-suffix command-line +switch ` when you invoke LAMMPS, or you can use the :doc:`suffix ` command in your input script. See the :doc:`Speed packages ` doc page for more @@ -347,7 +349,8 @@ This command cannot be used after the simulation box is defined by a :doc:`read_data ` or :doc:`create_box ` command. Many of the styles listed above are only enabled if LAMMPS was built -with a specific package, as listed below. See the :doc:`Build package ` doc page for more info. +with a specific package, as listed below. See the :doc:`Build package +` doc page for more info. The *angle*\ , *bond*\ , *full*\ , *molecular*\ , and *template* styles are part of the MOLECULE package. @@ -360,14 +363,14 @@ The *dipole* style is part of the DIPOLE package. The *peri* style is part of the PERI package for Peridynamics. -The *oxdna* style is part of the USER-CGDNA package for coarse-grained simulation of DNA and RNA. +The *oxdna* style is part of the CG-DNA package for coarse-grained simulation of DNA and RNA. -The *electron* style is part of the USER-EFF package for :doc:`electronic force fields `. +The *electron* style is part of the EFF package for :doc:`electronic force fields `. -The *dpd* style is part of the USER-DPD package for dissipative +The *dpd* style is part of the DPD-REACT package for dissipative particle dynamics (DPD). -The *edpd*\ , *mdpd*\ , and *tdpd* styles are part of the USER-MESODPD package +The *edpd*\ , *mdpd*\ , and *tdpd* styles are part of the DPD-MESO package for energy-conserving dissipative particle dynamics (eDPD), many-body dissipative particle dynamics (mDPD), and transport dissipative particle dynamics (tDPD), respectively. @@ -375,11 +378,11 @@ dynamics (tDPD), respectively. The *sph* style is part of the SPH package for smoothed particle hydrodynamics (SPH). See `this PDF guide `_ to using SPH in LAMMPS. -The *mesont* style is part of the USER-MESONT package. +The *mesont* style is part of the MESONT package. The *spin* style is part of the SPIN package. -The *wavepacket* style is part of the USER-AWPMD package for the +The *wavepacket* style is part of the AWPMD package for the :doc:`antisymmetrized wave packet MD method `. Related commands diff --git a/doc/src/bond_oxdna.rst b/doc/src/bond_oxdna.rst index 4f87393aec..80153d52b9 100644 --- a/doc/src/bond_oxdna.rst +++ b/doc/src/bond_oxdna.rst @@ -86,16 +86,16 @@ commands: Example input and data files for DNA and RNA duplexes can be found in -examples/USER/cgdna/examples/oxDNA/ , /oxDNA2/ and /oxRNA2/. A simple python +examples/PACKAGES/cgdna/examples/oxDNA/ , /oxDNA2/ and /oxRNA2/. A simple python setup tool which creates single straight or helical DNA strands, DNA/RNA duplexes or arrays of DNA/RNA duplexes can be found in -examples/USER/cgdna/util/. +examples/PACKAGES/cgdna/util/. Please cite :ref:`(Henrich) ` in any publication that uses this implementation. The article contains general information on the model, its implementation and performance as well as the structure of the data and input file. The preprint version of the article can be found -`here `_. +`here `_. Please cite also the relevant oxDNA/oxRNA publications. These are :ref:`(Ouldridge) ` and :ref:`(Ouldridge-DPhil) ` for oxDNA, @@ -110,7 +110,7 @@ Restrictions """""""""""" This bond style can only be used if LAMMPS was built with the -USER-CGDNA package and the MOLECULE and ASPHERE package. See the +CG-DNA package and the MOLECULE and ASPHERE package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/pair_oxdna.rst b/doc/src/pair_oxdna.rst index 26479bccc6..38fb19a8b0 100644 --- a/doc/src/pair_oxdna.rst +++ b/doc/src/pair_oxdna.rst @@ -99,15 +99,15 @@ for a detailed description of the oxDNA force field. the bond topology in the data file. The first (second) atom in a bond definition is understood to point towards the 3'-end (5'-end) of the strand. -Example input and data files for DNA duplexes can be found in examples/USER/cgdna/examples/oxDNA/ and /oxDNA2/. +Example input and data files for DNA duplexes can be found in examples/PACKAGES/cgdna/examples/oxDNA/ and /oxDNA2/. A simple python setup tool which creates single straight or helical DNA strands, -DNA duplexes or arrays of DNA duplexes can be found in examples/USER/cgdna/util/. +DNA duplexes or arrays of DNA duplexes can be found in examples/PACKAGES/cgdna/util/. Please cite :ref:`(Henrich) ` in any publication that uses this implementation. The article contains general information on the model, its implementation and performance as well as the structure of the data and input file. The preprint version of the article can be found -`here `_. +`here `_. Please cite also the relevant oxDNA publications :ref:`(Ouldridge) `, :ref:`(Ouldridge-DPhil) ` @@ -119,7 +119,7 @@ Restrictions """""""""""" These pair styles can only be used if LAMMPS was built with the -USER-CGDNA package and the MOLECULE and ASPHERE package. See the +CG-DNA package and the MOLECULE and ASPHERE package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/pair_oxdna2.rst b/doc/src/pair_oxdna2.rst index 7f5a2642eb..3dce3c2d1b 100644 --- a/doc/src/pair_oxdna2.rst +++ b/doc/src/pair_oxdna2.rst @@ -108,15 +108,15 @@ and :ref:`(Ouldridge) ` for a detailed description of the oxDNA2 fo the bond topology in the data file. The first (second) atom in a bond definition is understood to point towards the 3'-end (5'-end) of the strand. -Example input and data files for DNA duplexes can be found in examples/USER/cgdna/examples/oxDNA/ and /oxDNA2/. +Example input and data files for DNA duplexes can be found in examples/PACKAGES/cgdna/examples/oxDNA/ and /oxDNA2/. A simple python setup tool which creates single straight or helical DNA strands, -DNA duplexes or arrays of DNA duplexes can be found in examples/USER/cgdna/util/. +DNA duplexes or arrays of DNA duplexes can be found in examples/PACKAGES/cgdna/util/. Please cite :ref:`(Henrich) ` in any publication that uses this implementation. The article contains general information on the model, its implementation and performance as well as the structure of the data and input file. The preprint version of the article can be found -`here `_. +`here `_. Please cite also the relevant oxDNA2 publications :ref:`(Snodin) ` and :ref:`(Sulc) `. @@ -126,7 +126,7 @@ Restrictions """""""""""" These pair styles can only be used if LAMMPS was built with the -USER-CGDNA package and the MOLECULE and ASPHERE package. See the +CG-DNA package and the MOLECULE and ASPHERE package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/pair_oxrna2.rst b/doc/src/pair_oxrna2.rst index 81c5562489..63a5c9308b 100644 --- a/doc/src/pair_oxrna2.rst +++ b/doc/src/pair_oxrna2.rst @@ -109,15 +109,15 @@ and :ref:`(Ouldridge) ` for a detailed description of the oxRNA2 fo the bond topology in the data file. The first (second) atom in a bond definition is understood to point towards the 3'-end (5'-end) of the strand. -Example input and data files for DNA duplexes can be found in examples/USER/cgdna/examples/oxDNA/ and /oxDNA2/. +Example input and data files for DNA duplexes can be found in examples/PACKAGES/cgdna/examples/oxDNA/ and /oxDNA2/. A simple python setup tool which creates single straight or helical DNA strands, -DNA duplexes or arrays of DNA duplexes can be found in examples/USER/cgdna/util/. +DNA duplexes or arrays of DNA duplexes can be found in examples/PACKAGES/cgdna/util/. Please cite :ref:`(Henrich) ` in any publication that uses this implementation. The article contains general information on the model, its implementation and performance as well as the structure of the data and input file. The preprint version of the article can be found -`here `_. +`here `_. Please cite also the relevant oxRNA2 publications :ref:`(Sulc1) ` and :ref:`(Sulc2) `. @@ -127,7 +127,7 @@ Restrictions """""""""""" These pair styles can only be used if LAMMPS was built with the -USER-CGDNA package and the MOLECULE and ASPHERE package. See the +CG-DNA package and the MOLECULE and ASPHERE package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/utils/sphinx-config/false_positives.txt b/doc/utils/sphinx-config/false_positives.txt index 906ac54a42..846e08f501 100644 --- a/doc/utils/sphinx-config/false_positives.txt +++ b/doc/utils/sphinx-config/false_positives.txt @@ -1325,6 +1325,7 @@ hyperradius hyperspherical hysteretic hz +IAP Ibanez iatom ibar @@ -1647,6 +1648,8 @@ larentzos Larentzos Laroche lars +LATBOLTZ +latboltz latencies Latour latourr @@ -1797,6 +1800,8 @@ Lysogorskiy Lyulin lz Maaravi +MACHDYN +machdyn Mackay Mackrodt Macromolecules @@ -1891,8 +1896,7 @@ mdi mdpd mDPD meam -meamc -MEAMC +MEAM meamf meanDist mech @@ -2737,7 +2741,7 @@ README realtime reamin reax -REAXC +REAXFF ReaxFF rebo recursing @@ -2859,6 +2863,7 @@ Rossky rosybrown rotationally Rotenberg +Rothenburg Rovigatti royalblue rozero diff --git a/src/.gitignore b/src/.gitignore index 022785c00e..53d4f63276 100644 --- a/src/.gitignore +++ b/src/.gitignore @@ -52,7 +52,7 @@ /*_dielectric.cpp /*_dielectric.h /compute_efield_atom.cpp -/compute_efield_atom.j +/compute_efield_atom.h /superpose3d.h @@ -70,8 +70,8 @@ /meam*.h /meam*.cpp -/pair_meamc.cpp -/pair_meamc.h +/pair_meam.cpp +/pair_meam.h /compute_mliap.cpp /compute_mliap.h @@ -388,6 +388,8 @@ /compute_erotate_rigid.h /compute_event_displace.cpp /compute_event_displace.h +/compute_fabric.cpp +/compute_fabric.h /compute_fep.cpp /compute_fep.h /compute_force_tally.cpp @@ -1431,6 +1433,10 @@ /pair_thole.h /pair_buck_mdf.cpp /pair_buck_mdf.h +/pair_dpd.cpp +/pair_dpd.h +/pair_dpd_tstat.cpp +/pair_dpd_tstat.h /pair_dpd_ext.cpp /pair_dpd_ext.h /pair_dpd_ext_tstat.cpp From 637eef51b97a650177f020391690bb1c965ec79b Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 15 Jul 2021 15:45:01 -0400 Subject: [PATCH 428/726] reformat --- src/CG-DNA/atom_vec_oxdna.cpp | 16 +++++---------- src/CG-DNA/atom_vec_oxdna.h | 1 - src/CG-DNA/pair_oxdna2_excv.cpp | 34 +++++++++----------------------- src/CG-DNA/pair_oxdna2_excv.h | 5 +++-- src/CG-DNA/pair_oxdna_stk.cpp | 22 ++++++++++----------- src/CG-DNA/pair_oxrna2_dh.cpp | 28 ++++++-------------------- src/CG-DNA/pair_oxrna2_dh.h | 4 ++-- src/CG-DNA/pair_oxrna2_excv.cpp | 14 ------------- src/CG-DNA/pair_oxrna2_excv.h | 4 ++-- src/CG-DNA/pair_oxrna2_hbond.cpp | 9 --------- src/CG-DNA/pair_oxrna2_hbond.h | 2 +- 11 files changed, 39 insertions(+), 100 deletions(-) diff --git a/src/CG-DNA/atom_vec_oxdna.cpp b/src/CG-DNA/atom_vec_oxdna.cpp index 5990fa5dfc..65787a0d98 100644 --- a/src/CG-DNA/atom_vec_oxdna.cpp +++ b/src/CG-DNA/atom_vec_oxdna.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -13,6 +12,7 @@ ------------------------------------------------------------------------- */ #include "atom_vec_oxdna.h" + #include "atom.h" #include "comm.h" @@ -46,14 +46,10 @@ AtomVecOxdna::AtomVecOxdna(LAMMPS *lmp) : AtomVec(lmp) fields_data_vel = (char *) "id v"; setup_fields(); - } /* ---------------------------------------------------------------------- */ -AtomVecOxdna::~AtomVecOxdna() -{ - -} +AtomVecOxdna::~AtomVecOxdna() {} /* ---------------------------------------------------------------------- set local copies of all grow ptrs used by this class, except defaults @@ -80,8 +76,8 @@ void AtomVecOxdna::data_atom_post(int ilocal) store 5' partner to inform 3'->5' bond directionality ------------------------------------------------------------------------- */ -void AtomVecOxdna::data_bonds_post(int m, int num_bond, tagint atom1, - tagint atom2, tagint id_offset) +void AtomVecOxdna::data_bonds_post(int m, int num_bond, tagint atom1, tagint atom2, + tagint id_offset) { int n; tagint *id5p = atom->id5p; @@ -91,7 +87,5 @@ void AtomVecOxdna::data_bonds_post(int m, int num_bond, tagint atom1, atom2 += id_offset; } - if ((n = atom->map(atom1)) >= 0) { - id5p[n] = atom2; - } + if ((n = atom->map(atom1)) >= 0) { id5p[n] = atom2; } } diff --git a/src/CG-DNA/atom_vec_oxdna.h b/src/CG-DNA/atom_vec_oxdna.h index eb167e6859..f05f6d2013 100644 --- a/src/CG-DNA/atom_vec_oxdna.h +++ b/src/CG-DNA/atom_vec_oxdna.h @@ -35,7 +35,6 @@ class AtomVecOxdna : public AtomVec { private: tagint *id5p; - }; } // namespace LAMMPS_NS diff --git a/src/CG-DNA/pair_oxdna2_excv.cpp b/src/CG-DNA/pair_oxdna2_excv.cpp index 2197fceb76..cde2af65da 100644 --- a/src/CG-DNA/pair_oxdna2_excv.cpp +++ b/src/CG-DNA/pair_oxdna2_excv.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -19,34 +18,19 @@ using namespace LAMMPS_NS; -/* ---------------------------------------------------------------------- */ - -PairOxdna2Excv::PairOxdna2Excv(LAMMPS *lmp) : PairOxdnaExcv(lmp) -{ - -} - -/* ---------------------------------------------------------------------- */ - -PairOxdna2Excv::~PairOxdna2Excv() -{ - -} - /* ---------------------------------------------------------------------- compute vector COM-excluded volume interaction sites in oxDNA2 ------------------------------------------------------------------------- */ -void PairOxdna2Excv::compute_interaction_sites(double e1[3], double e2[3], - double /*e3*/[3], double rs[3], double rb[3]) +void PairOxdna2Excv::compute_interaction_sites(double e1[3], double e2[3], double /*e3*/[3], + double rs[3], double rb[3]) { - double d_cs_x=-0.34, d_cs_y=+0.3408, d_cb=+0.4; + double d_cs_x = -0.34, d_cs_y = +0.3408, d_cb = +0.4; - rs[0] = d_cs_x*e1[0] + d_cs_y*e2[0]; - rs[1] = d_cs_x*e1[1] + d_cs_y*e2[1]; - rs[2] = d_cs_x*e1[2] + d_cs_y*e2[2]; - - rb[0] = d_cb*e1[0]; - rb[1] = d_cb*e1[1]; - rb[2] = d_cb*e1[2]; + rs[0] = d_cs_x * e1[0] + d_cs_y * e2[0]; + rs[1] = d_cs_x * e1[1] + d_cs_y * e2[1]; + rs[2] = d_cs_x * e1[2] + d_cs_y * e2[2]; + rb[0] = d_cb * e1[0]; + rb[1] = d_cb * e1[1]; + rb[2] = d_cb * e1[2]; } diff --git a/src/CG-DNA/pair_oxdna2_excv.h b/src/CG-DNA/pair_oxdna2_excv.h index e5fc3a3a26..bc016534f0 100644 --- a/src/CG-DNA/pair_oxdna2_excv.h +++ b/src/CG-DNA/pair_oxdna2_excv.h @@ -26,8 +26,9 @@ namespace LAMMPS_NS { class PairOxdna2Excv : public PairOxdnaExcv { public: - PairOxdna2Excv(class LAMMPS *); - virtual ~PairOxdna2Excv(); + PairOxdna2Excv(class LAMMPS *lmp) : PairOxdnaExcv(lmp) {} + virtual ~PairOxdna2Excv() {} + virtual void compute_interaction_sites(double *, double *, double *, double *, double *); }; diff --git a/src/CG-DNA/pair_oxdna_stk.cpp b/src/CG-DNA/pair_oxdna_stk.cpp index 10fa0781f1..63439e3ac4 100644 --- a/src/CG-DNA/pair_oxdna_stk.cpp +++ b/src/CG-DNA/pair_oxdna_stk.cpp @@ -17,20 +17,20 @@ #include "pair_oxdna_stk.h" +#include "atom.h" +#include "atom_vec_ellipsoid.h" +#include "atom_vec_oxdna.h" +#include "comm.h" +#include "error.h" +#include "force.h" +#include "math_extra.h" +#include "memory.h" +#include "mf_oxdna.h" +#include "neighbor.h" + #include #include #include -#include "mf_oxdna.h" -#include "atom.h" -#include "comm.h" -#include "force.h" -#include "neighbor.h" -#include "memory.h" -#include "error.h" - -#include "atom_vec_ellipsoid.h" -#include "atom_vec_oxdna.h" -#include "math_extra.h" using namespace LAMMPS_NS; using namespace MFOxdna; diff --git a/src/CG-DNA/pair_oxrna2_dh.cpp b/src/CG-DNA/pair_oxrna2_dh.cpp index 9ebbabbd1a..f19dbb249b 100644 --- a/src/CG-DNA/pair_oxrna2_dh.cpp +++ b/src/CG-DNA/pair_oxrna2_dh.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -19,30 +18,15 @@ using namespace LAMMPS_NS; -/* ---------------------------------------------------------------------- */ - -PairOxrna2Dh::PairOxrna2Dh(LAMMPS *lmp) : PairOxdna2Dh(lmp) -{ - -} - -/* ---------------------------------------------------------------------- */ - -PairOxrna2Dh::~PairOxrna2Dh() -{ - -} - /* ---------------------------------------------------------------------- compute vector COM-sugar-phosphate backbone interaction site in oxRNA2 ------------------------------------------------------------------------- */ -void PairOxrna2Dh::compute_interaction_sites(double e1[3], double /*e2*/[3], - double e3[3], double r[3]) +void PairOxrna2Dh::compute_interaction_sites(double e1[3], double /*e2*/[3], double e3[3], + double r[3]) { - double d_cs_x=-0.4, d_cs_z=+0.2; - - r[0] = d_cs_x*e1[0] + d_cs_z*e3[0]; - r[1] = d_cs_x*e1[1] + d_cs_z*e3[1]; - r[2] = d_cs_x*e1[2] + d_cs_z*e3[2]; + double d_cs_x = -0.4, d_cs_z = +0.2; + r[0] = d_cs_x * e1[0] + d_cs_z * e3[0]; + r[1] = d_cs_x * e1[1] + d_cs_z * e3[1]; + r[2] = d_cs_x * e1[2] + d_cs_z * e3[2]; } diff --git a/src/CG-DNA/pair_oxrna2_dh.h b/src/CG-DNA/pair_oxrna2_dh.h index 1b66cd82ca..016eb5378b 100644 --- a/src/CG-DNA/pair_oxrna2_dh.h +++ b/src/CG-DNA/pair_oxrna2_dh.h @@ -26,8 +26,8 @@ namespace LAMMPS_NS { class PairOxrna2Dh : public PairOxdna2Dh { public: - PairOxrna2Dh(class LAMMPS *); - virtual ~PairOxrna2Dh(); + PairOxrna2Dh(class LAMMPS *) : PairOxdna2Dh(lmp) {} + virtual ~PairOxrna2Dh() {} virtual void compute_interaction_sites(double *, double *, double *, double *); }; diff --git a/src/CG-DNA/pair_oxrna2_excv.cpp b/src/CG-DNA/pair_oxrna2_excv.cpp index 0e0535f0a0..2c1e4ca89f 100644 --- a/src/CG-DNA/pair_oxrna2_excv.cpp +++ b/src/CG-DNA/pair_oxrna2_excv.cpp @@ -21,20 +21,6 @@ using namespace LAMMPS_NS; -/* ---------------------------------------------------------------------- */ - -PairOxrna2Excv::PairOxrna2Excv(LAMMPS *lmp) : PairOxdnaExcv(lmp) -{ - -} - -/* ---------------------------------------------------------------------- */ - -PairOxrna2Excv::~PairOxrna2Excv() -{ - -} - /* ---------------------------------------------------------------------- compute vector COM-excluded volume interaction sites in oxRNA2 ------------------------------------------------------------------------- */ diff --git a/src/CG-DNA/pair_oxrna2_excv.h b/src/CG-DNA/pair_oxrna2_excv.h index 90537f865e..8e671f0b7a 100644 --- a/src/CG-DNA/pair_oxrna2_excv.h +++ b/src/CG-DNA/pair_oxrna2_excv.h @@ -26,8 +26,8 @@ namespace LAMMPS_NS { class PairOxrna2Excv : public PairOxdnaExcv { public: - PairOxrna2Excv(class LAMMPS *); - virtual ~PairOxrna2Excv(); + PairOxrna2Excv(class LAMMPS *) : PairOxdnaExcv(lmp) {} + virtual ~PairOxrna2Excv() {} virtual void compute_interaction_sites(double *, double *, double *, double *, double *); }; diff --git a/src/CG-DNA/pair_oxrna2_hbond.cpp b/src/CG-DNA/pair_oxrna2_hbond.cpp index 31f50816aa..dfa9997af3 100644 --- a/src/CG-DNA/pair_oxrna2_hbond.cpp +++ b/src/CG-DNA/pair_oxrna2_hbond.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -48,12 +47,4 @@ PairOxrna2Hbond::PairOxrna2Hbond(LAMMPS *lmp) : PairOxdnaHbond(lmp) alpha_hb[3][1] = 1.00000; alpha_hb[3][2] = 0.58655; alpha_hb[3][3] = 1.00000; - -} - -/* ---------------------------------------------------------------------- */ - -PairOxrna2Hbond::~PairOxrna2Hbond() -{ - } diff --git a/src/CG-DNA/pair_oxrna2_hbond.h b/src/CG-DNA/pair_oxrna2_hbond.h index ed96bda744..fe213c5615 100644 --- a/src/CG-DNA/pair_oxrna2_hbond.h +++ b/src/CG-DNA/pair_oxrna2_hbond.h @@ -27,7 +27,7 @@ namespace LAMMPS_NS { class PairOxrna2Hbond : public PairOxdnaHbond { public: PairOxrna2Hbond(class LAMMPS *); - virtual ~PairOxrna2Hbond(); + virtual ~PairOxrna2Hbond() {} }; } // namespace LAMMPS_NS From 5be930fa760afe0b7163e1902fe04c7b4d017858 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 15 Jul 2021 16:40:15 -0400 Subject: [PATCH 429/726] cleanup --- src/USER-MISC/pair_e3b.cpp | 59 ++++++++++++++------------------------ 1 file changed, 21 insertions(+), 38 deletions(-) diff --git a/src/USER-MISC/pair_e3b.cpp b/src/USER-MISC/pair_e3b.cpp index e6d5935d86..3052356e1d 100644 --- a/src/USER-MISC/pair_e3b.cpp +++ b/src/USER-MISC/pair_e3b.cpp @@ -17,20 +17,22 @@ #include "pair_e3b.h" +#include "atom.h" +#include "citeme.h" +#include "comm.h" +#include "domain.h" +#include "error.h" +#include "force.h" +#include "memory.h" +#include "neigh_list.h" +#include "neighbor.h" +#include "update.h" + #include #include #include - -#include "atom.h" -#include "neighbor.h" -#include "neigh_list.h" -#include "force.h" -#include "comm.h" -#include "memory.h" -#include "error.h" -#include "update.h" -#include "domain.h" -#include "citeme.h" +#include +#include //these are defined here to avoid confusing hardcoded indices, but //they do not allow flexibility. If they are changed the code will break @@ -396,10 +398,6 @@ void PairE3B::coeff(int narg, char **arg) if (narg < 4) error->all(FLERR,"There must be at least one keyword given to pair_coeff"); - // ensure I,J args are * * - if (strcmp(arg[0],"*") != 0 || strcmp(arg[1],"*") != 0) - error->all(FLERR,"Incorrect args for pair coefficients"); - // clear setflag since coeff() called once with I,J = * * int n = atom->ntypes; for (int i = 1; i <= n; i++) @@ -411,7 +409,6 @@ void PairE3B::coeff(int narg, char **arg) //parse keyword/value pairs double bondL=0.0; //OH bond length bool repeatFlag=false; - int presetFlag; //clear parameters e2=ea=eb=ec=k3=k2=NAN; @@ -443,13 +440,9 @@ void PairE3B::coeff(int narg, char **arg) else if (checkKeyword(keyword,"neigh",1,narg-iarg)) pairPerAtom=utils::inumeric(FLERR,arg[iarg++],false,lmp); else if (checkKeyword(keyword,"preset",1,narg-iarg)) { - presetFlag=utils::inumeric(FLERR,arg[iarg++],false,lmp); + int presetFlag=utils::inumeric(FLERR,arg[iarg++],false,lmp); presetParam(presetFlag,repeatFlag,bondL); - } else { - char str[256]; - snprintf(str,256,"Keyword %s is unknown",keyword); - error->all(FLERR,str); - } + } else error->all(FLERR,"Keyword {} is unknown",keyword); } checkInputs(bondL); @@ -528,10 +521,8 @@ static const char cite_E3B3[] = "}\n\n"; void PairE3B::presetParam(const int flag,bool &repeatFlag,double &bondL) { - if (repeatFlag) { - error->all(FLERR, - "Cannot request two different sets of preset parameters"); - } + if (repeatFlag) + error->all(FLERR,"Cannot request two different sets of preset parameters"); repeatFlag=true; if (!std::isnan(ea) || !std::isnan(eb) || !std::isnan(ec) || @@ -552,18 +543,14 @@ void PairE3B::presetParam(const int flag,bool &repeatFlag,double &bondL) { } else if (strcmp(update->unit_style,"cgs") == 0) { econv=1.660578e-14; lconv=1e-8; - } else { - char str[256]; - snprintf(str,256, - "Pre-defined E3B parameters have not been set for %s units.", + } else error->all(FLERR, "Pre-defined E3B parameters have not been set for {} units.", update->unit_style); - error->all(FLERR,str); - } //here parameters are defined in kJ/mol and A //they will be converted to the lammps units after if (flag==2008) { - error->all(FLERR,"\"preset 2008\" is not yet supported, because this would require distinct k3 coefficients, use \"preset 2011\" or \"preset 2015\""); + error->all(FLERR,"\"preset 2008\" is not yet supported, because this would require distinct k3 coefficients, " + "use \"preset 2011\" or \"preset 2015\""); if (lmp->citeme) lmp->citeme->add(cite_E3B1); ea = 4699.6; eb =-2152.9; @@ -630,11 +617,7 @@ double PairE3B::init_one(int i, int j) bool PairE3B::checkKeyword(const char *thiskey,const char *test,const int nVal, const int nRem) { if (strcmp(thiskey,test) == 0) { - if (nRemall(FLERR,str); - } + if (nRemall(FLERR,"Too few arguments to '{}' keyword.",test); return true; } return false; From b00a281708aa16e5db6d96b58df0a91a97828b17 Mon Sep 17 00:00:00 2001 From: Donatas Surblys Date: Fri, 16 Jul 2021 14:29:07 +0900 Subject: [PATCH 430/726] a tally compute to obtain virial heat flux into group 1 due to group 2 --- src/TALLY/compute_heat_flux_virial_tally.cpp | 245 +++++++++++++++++++ src/TALLY/compute_heat_flux_virial_tally.h | 64 +++++ 2 files changed, 309 insertions(+) create mode 100644 src/TALLY/compute_heat_flux_virial_tally.cpp create mode 100644 src/TALLY/compute_heat_flux_virial_tally.h diff --git a/src/TALLY/compute_heat_flux_virial_tally.cpp b/src/TALLY/compute_heat_flux_virial_tally.cpp new file mode 100644 index 0000000000..0ac3607da6 --- /dev/null +++ b/src/TALLY/compute_heat_flux_virial_tally.cpp @@ -0,0 +1,245 @@ +// clang-format off +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include "compute_heat_flux_virial_tally.h" + +#include +#include "atom.h" +#include "group.h" +#include "pair.h" +#include "update.h" +#include "memory.h" +#include "error.h" +#include "force.h" +#include "comm.h" + +using namespace LAMMPS_NS; + +/* ---------------------------------------------------------------------- */ + +ComputeHeatFluxVirialTally::ComputeHeatFluxVirialTally(LAMMPS *lmp, int narg, char **arg) : + Compute(lmp, narg, arg) +{ + if (narg < 4) error->all(FLERR,"Illegal compute heat/flux/virial/tally command"); + + igroup2 = group->find(arg[3]); + if (igroup2 == -1) + error->all(FLERR,"Could not find compute heat/flux/virial/tally second group ID"); + groupbit2 = group->bitmask[igroup2]; + + scalar_flag = 1; + vector_flag = 0; + peratom_flag = 1; + timeflag = 1; + dynamic_group_allow = 0; + + comm_reverse = size_peratom_cols = 3; + extscalar = 1; + peflag = 1; // we need Pair::ev_tally() to be run + + did_setup = invoked_peratom = invoked_scalar = -1; + nmax = -1; + fatom = nullptr; +} + +/* ---------------------------------------------------------------------- */ + +ComputeHeatFluxVirialTally::~ComputeHeatFluxVirialTally() +{ + if (force && force->pair) force->pair->del_tally_callback(this); + memory->destroy(fatom); +} + +/* ---------------------------------------------------------------------- */ + +void ComputeHeatFluxVirialTally::init() +{ + if (force->pair == nullptr) + error->all(FLERR,"Trying to use compute heat/flux/virial/tally without pair style"); + else + force->pair->add_tally_callback(this); + + if (comm->me == 0) { + if (force->pair->single_enable == 0 || force->pair->manybody_flag) + error->warning(FLERR,"Compute heat/flux/virial/tally used with incompatible pair style"); + + if (force->bond || force->angle || force->dihedral + || force->improper || force->kspace) + error->warning(FLERR,"Compute heat/flux/virial/tally only called from pair style"); + } + + // error out if any atoms are in both groups + for (int i = 0; i < atom->nlocal; i++) + { + if ((atom->mask[i] & groupbit) && (atom->mask[i] & groupbit2)) { + if (atom->tag_enable) { + error->all(FLERR,"Atom {} belonging to both groups is not allowed" + " with compute heat/flux/virial/tally", atom->tag[i]); + } else { + error->all(FLERR,"Atom belonging to both groups is not allowed" + " with compute heat/flux/virial/tally"); + } + } + } + + did_setup = -1; +} + +/* ---------------------------------------------------------------------- */ + +void ComputeHeatFluxVirialTally::pair_setup_callback(int, int) +{ + // run setup only once per time step. + // we may be called from multiple pair styles + + if (did_setup == update->ntimestep) return; + + const int ntotal = atom->nlocal + atom->nghost; + + // grow per-atom storage, if needed + + if (atom->nmax > nmax) { + memory->destroy(fatom); + nmax = atom->nmax; + memory->create(fatom,nmax,size_peratom_cols,"heat/flux/virial/tally:fatom"); + array_atom = fatom; + } + + // clear storage + + for (int i=0; i < ntotal; ++i) + for (int j=0; j < size_peratom_cols; ++j) + fatom[i][j] = 0.0; + + did_setup = update->ntimestep; +} + +/* ---------------------------------------------------------------------- */ +void ComputeHeatFluxVirialTally::pair_tally_callback(int i, int j, int nlocal, int newton, + double, double, double fpair, + double dx, double dy, double dz) +{ + const int * const mask = atom->mask; + + const bool ingroup1 = (mask[i] & groupbit); + if ( (ingroup1 && (mask[j] & groupbit2)) + || ((mask[i] & groupbit2) && (mask[j] & groupbit)) ) { + + // signs set to calculate heat flux from group2 into group1 + const double fx = (ingroup1?0.5:-0.5)*dx*fpair; + const double fy = (ingroup1?0.5:-0.5)*dy*fpair; + const double fz = (ingroup1?0.5:-0.5)*dz*fpair; + + if (newton || i < nlocal) { + fatom[i][0] += fx; + fatom[i][1] += fy; + fatom[i][2] += fz; + } + if (newton || j < nlocal) { + fatom[j][0] += fx; + fatom[j][1] += fy; + fatom[j][2] += fz; + } + } +} + +/* ---------------------------------------------------------------------- */ + +int ComputeHeatFluxVirialTally::pack_reverse_comm(int n, int first, double *buf) +{ + int i,m,last; + + m = 0; + last = first + n; + for (i = first; i < last; i++) { + buf[m++] = fatom[i][0]; + buf[m++] = fatom[i][1]; + buf[m++] = fatom[i][2]; + } + return m; +} + +/* ---------------------------------------------------------------------- */ + +void ComputeHeatFluxVirialTally::unpack_reverse_comm(int n, int *list, double *buf) +{ + int i,j,m; + + m = 0; + for (i = 0; i < n; i++) { + j = list[i]; + fatom[j][0] += buf[m++]; + fatom[j][1] += buf[m++]; + fatom[j][2] += buf[m++]; + } +} + +/* ---------------------------------------------------------------------- */ + +double ComputeHeatFluxVirialTally::compute_scalar() +{ + // need to collect contributions from ghost atoms + // because we need to use local velocities to compute heat flux + if (invoked_peratom != update->ntimestep) + compute_peratom(); + + invoked_scalar = update->ntimestep; + if ((did_setup != invoked_scalar) + || (update->eflag_global != invoked_scalar)) + error->all(FLERR,"Energy was not tallied on needed timestep"); + + // sum heat flux across procs + double hflux = 0.0; + for (int i = 0; i < atom->nlocal; i++) + hflux += fatom[i][0]*atom->v[i][0] + + fatom[i][1]*atom->v[i][1] + + fatom[i][2]*atom->v[i][2]; + + MPI_Allreduce(&hflux,&scalar,1,MPI_DOUBLE,MPI_SUM,world); + + return scalar; +} + +/* ---------------------------------------------------------------------- */ + +void ComputeHeatFluxVirialTally::compute_peratom() +{ + invoked_peratom = update->ntimestep; + if ((did_setup != invoked_peratom) + || (update->eflag_global != invoked_peratom)) + error->all(FLERR,"Energy was not tallied on needed timestep"); + + // collect contributions from ghost atoms + + if (force->newton_pair) { + comm->reverse_comm_compute(this); + + // clear out ghost atom data after it has been collected to local atoms + const int nall = atom->nlocal + atom->nghost; + for (int i = atom->nlocal; i < nall; ++i) + for (int j = 0; j < size_peratom_cols; ++j) + fatom[i][j] = 0.0; + } +} + +/* ---------------------------------------------------------------------- + memory usage of local atom-based array +------------------------------------------------------------------------- */ + +double ComputeHeatFluxVirialTally::memory_usage() +{ + double bytes = (nmax < 0) ? 0 : nmax*size_peratom_cols * sizeof(double); + return bytes; +} + diff --git a/src/TALLY/compute_heat_flux_virial_tally.h b/src/TALLY/compute_heat_flux_virial_tally.h new file mode 100644 index 0000000000..d2a3d39a7d --- /dev/null +++ b/src/TALLY/compute_heat_flux_virial_tally.h @@ -0,0 +1,64 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef COMPUTE_CLASS +// clang-format off +ComputeStyle(heat/flux/virial/tally,ComputeHeatFluxVirialTally); +// clang-format on +#else + +#ifndef LMP_COMPUTE_HEAT_FLUX_VIRIAL_TALLY_H +#define LMP_COMPUTE_HEAT_FLUX_VIRIAL_TALLY_H + +#include "compute.h" + +namespace LAMMPS_NS { + +class ComputeHeatFluxVirialTally : public Compute { + + public: + ComputeHeatFluxVirialTally(class LAMMPS *, int, char **); + virtual ~ComputeHeatFluxVirialTally(); + + void init(); + + double compute_scalar(); + void compute_peratom(); + + int pack_reverse_comm(int, int, double *); + void unpack_reverse_comm(int, int *, double *); + double memory_usage(); + + void pair_setup_callback(int, int); + void pair_tally_callback(int, int, int, int, double, double, double, double, double, double); + + private: + bigint did_setup; + int nmax, igroup2, groupbit2; + double **fatom; +}; + +} // namespace LAMMPS_NS + +#endif +#endif + +/* ERROR/WARNING messages: + +E: Illegal ... command + +Self-explanatory. Check the input script syntax and compare to the +documentation for the command. You can use -echo screen as a +command-line option when running LAMMPS to see the offending line. + +*/ From b7a17dc25d23b5d51384fcdf245c5fe4c429cac6 Mon Sep 17 00:00:00 2001 From: Oliver Henrich Date: Fri, 16 Jul 2021 12:57:21 +0100 Subject: [PATCH 431/726] Added warning message in documentation and dsDNA ring test in examples --- doc/src/bond_oxdna.rst | 8 + .../cgdna/examples/oxDNA2/dsring/data.dsring | 622 ++++++++++++++++++ .../cgdna/examples/oxDNA2/dsring/in.dsring | 72 ++ .../oxDNA2/dsring/log.2Jul21.dsring.g++.1 | 279 ++++++++ .../oxDNA2/dsring/log.2Jul21.dsring.g++.4 | 279 ++++++++ 5 files changed, 1260 insertions(+) create mode 100644 examples/PACKAGES/cgdna/examples/oxDNA2/dsring/data.dsring create mode 100644 examples/PACKAGES/cgdna/examples/oxDNA2/dsring/in.dsring create mode 100644 examples/PACKAGES/cgdna/examples/oxDNA2/dsring/log.2Jul21.dsring.g++.1 create mode 100644 examples/PACKAGES/cgdna/examples/oxDNA2/dsring/log.2Jul21.dsring.g++.4 diff --git a/doc/src/bond_oxdna.rst b/doc/src/bond_oxdna.rst index 80153d52b9..d11a0e54b9 100644 --- a/doc/src/bond_oxdna.rst +++ b/doc/src/bond_oxdna.rst @@ -84,6 +84,14 @@ commands: the bond topology in the data file. The first (second) atom in a bond definition is understood to point towards the 3'-end (5'-end) of the strand. +.. warning:: + + LAMMPS has per se no concept of bond directionality. This means the bond definition + (i.e. the sequence of atom IDs) in data files produced with :doc:`write_data ` + can be different from the one provided in your initial data file. If this is the case, + then the correct 3' to 5' polarity needs to be restored before using the data file. + This limitation does not apply to binary restart files produced with + :doc:`write_restart `. Example input and data files for DNA and RNA duplexes can be found in examples/PACKAGES/cgdna/examples/oxDNA/ , /oxDNA2/ and /oxRNA2/. A simple python diff --git a/examples/PACKAGES/cgdna/examples/oxDNA2/dsring/data.dsring b/examples/PACKAGES/cgdna/examples/oxDNA2/dsring/data.dsring new file mode 100644 index 0000000000..bc30aad2e4 --- /dev/null +++ b/examples/PACKAGES/cgdna/examples/oxDNA2/dsring/data.dsring @@ -0,0 +1,622 @@ +LAMMPS data file via write_data, version 2 Jul 2021 + +148 atoms +4 atom types +148 bonds +1 bond types +148 ellipsoids + +0 100 xlo xhi +0 100 ylo yhi +0 100 zlo zhi + +Masses + +1 3.1575 +2 3.1575 +3 3.1575 +4 3.1575 + +Atoms # hybrid + +1 1 24.4563103076585 24.545468489552267 25.008405986404544 1 1 3.7269849963023267 0 0 0 +2 4 24.529799925849524 24.236299729034574 25.438869726984304 1 1 3.7269849963023267 0 0 0 +3 3 24.837268545282573 23.98498105692614 25.841653825869834 1 1 3.7269849963023267 0 0 0 +4 2 25.160243408748546 23.990448143707216 26.252262907702004 1 1 3.7269849963023267 0 0 0 +5 1 25.511800888983288 24.20297091581725 26.46953407064928 1 1 3.7269849963023267 0 0 0 +6 2 25.746069731378416 24.53734405670471 26.70776555674676 1 1 3.7269849963023267 0 0 0 +7 3 25.808044471759384 24.911661509909727 27.06389642784591 1 1 3.7269849963023267 0 0 0 +8 2 25.702150220414598 25.16021735315657 27.552609445175545 1 1 3.7269849963023267 0 0 0 +9 4 25.86583558481563 25.223272838133713 28.134182300485513 1 1 3.7269849963023267 0 0 0 +10 2 25.80332921740182 25.045832983472046 28.610009845867623 1 1 3.7269849963023267 0 0 0 +11 3 25.910927625439783 24.67877553909445 29.01481046441401 1 1 3.7269849963023267 0 0 0 +12 2 26.258738827371122 24.424202368909146 29.31202041427481 1 1 3.7269849963023267 0 0 0 +13 2 26.685861178879446 24.203670648569435 29.53932592988526 1 1 3.7269849963023267 0 0 0 +14 1 27.213655907159712 24.05889335581843 29.529355686667273 1 1 3.7269849963023267 0 0 0 +15 2 27.732458381354213 24.12301887416258 29.465296878682626 1 1 3.7269849963023267 0 0 0 +16 3 28.176435469098767 24.39188111290902 29.295132944313664 1 1 3.7269849963023267 0 0 0 +17 1 28.526140016035093 24.71780561439453 29.306758099194106 1 1 3.7269849963023267 0 0 0 +18 4 28.81297070371788 25.156085631242032 29.41241337896862 1 1 3.7269849963023267 0 0 0 +19 2 29.207268942683253 25.464359514737925 29.764217600427827 1 1 3.7269849963023267 0 0 0 +20 4 29.513927400101824 25.6118524234793 30.245210919346164 1 1 3.7269849963023267 0 0 0 +21 2 30.003254698861596 25.548164315889366 30.532777142800704 1 1 3.7269849963023267 0 0 0 +22 3 30.48018822794972 25.262106981177638 30.605441832922853 1 1 3.7269849963023267 0 0 0 +23 1 30.892907579242564 24.96400488333011 30.400187079758883 1 1 3.7269849963023267 0 0 0 +24 1 31.272921417837917 24.75606240152481 30.084591571801752 1 1 3.7269849963023267 0 0 0 +25 2 31.45980735195335 24.678047303787324 29.516918385152074 1 1 3.7269849963023267 0 0 0 +26 3 31.706752399918585 24.760376327238674 29.084205170613252 1 1 3.7269849963023267 0 0 0 +27 1 31.825883349902693 25.019554534293842 28.71228151368503 1 1 3.7269849963023267 0 0 0 +28 4 32.03386829513462 25.369633243002873 28.451125390816088 1 1 3.7269849963023267 0 0 0 +29 3 32.53689331378325 25.61089652717825 28.295900822185594 1 1 3.7269849963023267 0 0 0 +30 2 33.06271263659326 25.774152791508687 28.273746725064125 1 1 3.7269849963023267 0 0 0 +31 4 33.52142887694454 25.601797466727078 28.11055235018921 1 1 3.7269849963023267 0 0 0 +32 2 33.91568709239206 25.283711279253097 27.8909943443993 1 1 3.7269849963023267 0 0 0 +33 1 34.177641179115845 25.004593725832265 27.451561879204412 1 1 3.7269849963023267 0 0 0 +34 4 34.208626385427706 24.707495330231843 27.048442321724874 1 1 3.7269849963023267 0 0 0 +35 2 34.082012453158825 24.505795567094143 26.61473051581215 1 1 3.7269849963023267 0 0 0 +36 4 33.949520365838396 24.526137035750864 26.16790391788176 1 1 3.7269849963023267 0 0 0 +37 2 33.92476566121366 24.592689183725792 25.626516502507826 1 1 3.7269849963023267 0 0 0 +38 4 33.85225391322309 24.960947839094587 25.26017383231366 1 1 3.7269849963023267 0 0 0 +39 3 34.11228837744851 25.35347319831364 24.942278784477317 1 1 3.7269849963023267 0 0 0 +40 1 34.36033208544573 25.757747127699123 24.601914493641434 1 1 3.7269849963023267 0 0 0 +41 4 34.68447265108969 25.75281386419404 24.241508437854133 1 1 3.7269849963023267 0 0 0 +42 2 34.79269490735618 25.623672790695387 23.678538924804666 1 1 3.7269849963023267 0 0 0 +43 1 34.753741466077045 25.337233303593457 23.16601298167167 1 1 3.7269849963023267 0 0 0 +44 4 34.59181548863591 24.986079417371133 22.755301708206787 1 1 3.7269849963023267 0 0 0 +45 4 34.40879419362997 24.630898502963813 22.55999758905835 1 1 3.7269849963023267 0 0 0 +46 2 33.90877081260677 24.454255308291586 22.480370414000724 1 1 3.7269849963023267 0 0 0 +47 3 33.389994748568355 24.448033629140625 22.400237534903862 1 1 3.7269849963023267 0 0 0 +48 3 32.92270356937016 24.68336387187774 22.32934654102368 1 1 3.7269849963023267 0 0 0 +49 1 32.45576642621448 24.99545345297995 22.22583331074809 1 1 3.7269849963023267 0 0 0 +50 4 32.18015654347581 25.250534381556076 21.872483225748145 1 1 3.7269849963023267 0 0 0 +51 2 31.963112737103277 25.40181159513097 21.39874463404153 1 1 3.7269849963023267 0 0 0 +52 2 31.677804642093392 25.364851924896104 20.875873168885278 1 1 3.7269849963023267 0 0 0 +53 3 31.39441653928761 25.115305865863796 20.473551707902534 1 1 3.7269849963023267 0 0 0 +54 2 30.920751116009413 24.90955329317796 20.247774626492223 1 1 3.7269849963023267 0 0 0 +55 2 30.433930757552503 24.49259165599716 20.285516091786025 1 1 3.7269849963023267 0 0 0 +56 1 29.927593328854318 24.417379016374497 20.44729306614509 1 1 3.7269849963023267 0 0 0 +57 1 29.468689211209185 24.356983174590244 20.73481874763059 1 1 3.7269849963023267 0 0 0 +58 4 29.05647892922904 24.518592766825268 21.008770793972737 1 1 3.7269849963023267 0 0 0 +59 3 28.71710307148458 24.823751059656175 21.267189817160382 1 1 3.7269849963023267 0 0 0 +60 2 28.475966743694585 25.270452656180346 21.345694213935065 1 1 3.7269849963023267 0 0 0 +61 3 28.13628879031047 25.66658729399272 21.21785093681449 1 1 3.7269849963023267 0 0 0 +62 2 27.601021447013018 25.768855335649704 21.03779448055474 1 1 3.7269849963023267 0 0 0 +63 2 27.00931772523695 25.617172753906647 20.911648911662837 1 1 3.7269849963023267 0 0 0 +64 1 26.55519195243888 25.359523630164194 20.975378082063024 1 1 3.7269849963023267 0 0 0 +65 4 26.273989173217412 24.94557093741794 21.304033513543096 1 1 3.7269849963023267 0 0 0 +66 2 26.221914749013006 24.585776360115993 21.63789003190145 1 1 3.7269849963023267 0 0 0 +67 4 26.193438361250763 24.376750813571793 22.050097162808477 1 1 3.7269849963023267 0 0 0 +68 3 26.201324065482883 24.325450386461092 22.606452770336915 1 1 3.7269849963023267 0 0 0 +69 4 26.17471898214314 24.575749724802375 23.091585548564353 1 1 3.7269849963023267 0 0 0 +70 2 26.02335082849493 24.908257401252587 23.529107108416536 1 1 3.7269849963023267 0 0 0 +71 3 25.651267664730547 25.192079918693462 23.831752862227333 1 1 3.7269849963023267 0 0 0 +72 2 25.217003840349953 25.339279875756237 24.059449373495085 1 1 3.7269849963023267 0 0 0 +73 3 24.821858366366477 25.32373878201269 24.349325228837248 1 1 3.7269849963023267 0 0 0 +74 2 24.52371941046921 25.002103481686692 24.640726114051727 1 1 3.7269849963023267 0 0 0 +75 3 25.598009016668964 24.518873693595243 24.91882101447603 2 1 3.7269849963023267 0 0 0 +76 2 25.427238756513358 24.301007582224713 24.44316375014865 2 1 3.7269849963023267 0 0 0 +77 3 25.064917226893478 24.1744996693387 24.04114053737127 2 1 3.7269849963023267 0 0 0 +78 2 24.935835560058162 24.310630170294576 23.497873361870962 2 1 3.7269849963023267 0 0 0 +79 3 24.947052458805103 24.604993171264848 23.080111757564428 2 1 3.7269849963023267 0 0 0 +80 1 25.108221368921303 24.93987851339803 22.78466627575098 2 1 3.7269849963023267 0 0 0 +81 2 25.567029051298007 25.336883558925546 22.613483665009124 2 1 3.7269849963023267 0 0 0 +82 1 25.977933802261195 25.494884341698153 22.361177765359677 2 1 3.7269849963023267 0 0 0 +83 3 26.51585409198948 25.56882274198199 22.270702612866675 2 1 3.7269849963023267 0 0 0 +84 1 26.898094042158256 25.43126923497678 22.136142593902736 2 1 3.7269849963023267 0 0 0 +85 4 27.2282338544016 25.03939058206712 21.975004266020655 2 1 3.7269849963023267 0 0 0 +86 3 27.45312307645279 24.76234771560634 21.573973110116803 2 1 3.7269849963023267 0 0 0 +87 3 27.601433385556053 24.56156448386474 21.121284432422822 2 1 3.7269849963023267 0 0 0 +88 2 27.887087703479907 24.639659406696175 20.647423041744478 2 1 3.7269849963023267 0 0 0 +89 3 28.261596261597024 24.878830990697377 20.262074903970543 2 1 3.7269849963023267 0 0 0 +90 2 28.669247681666896 25.241598582808898 20.13595769437227 2 1 3.7269849963023267 0 0 0 +91 1 29.162947101827424 25.46126020981763 20.29119476534042 2 1 3.7269849963023267 0 0 0 +92 4 29.626827720432082 25.569578560516256 20.521043387351114 2 1 3.7269849963023267 0 0 0 +93 4 29.94106479726571 25.46437861463676 20.945812440078498 2 1 3.7269849963023267 0 0 0 +94 3 30.29025124351676 25.13135267765501 21.293123410503096 2 1 3.7269849963023267 0 0 0 +95 3 30.69726706273153 24.79296975393911 21.37843871066455 2 1 3.7269849963023267 0 0 0 +96 2 31.065205835301647 24.466654538309413 21.38217937265794 2 1 3.7269849963023267 0 0 0 +97 3 31.47949349145455 24.235044344783937 21.207303357880345 2 1 3.7269849963023267 0 0 0 +98 3 32.0141851785801 24.199047010891896 21.144063603619387 2 1 3.7269849963023267 0 0 0 +99 1 32.531553756690144 24.430680075450717 21.057107964598707 2 1 3.7269849963023267 0 0 0 +100 4 32.98962179526399 24.778596160926984 21.144383998305358 2 1 3.7269849963023267 0 0 0 +101 2 33.412089437390414 25.16978981992855 21.366097445928173 2 1 3.7269849963023267 0 0 0 +102 2 33.64688673923798 25.416880152326826 21.80823145369244 2 1 3.7269849963023267 0 0 0 +103 3 33.73260009980956 25.581799927882354 22.284949811529895 2 1 3.7269849963023267 0 0 0 +104 1 33.71190505788351 25.621797401531534 22.839310166247465 2 1 3.7269849963023267 0 0 0 +105 1 33.57308722698115 25.405379008714707 23.245158668130212 2 1 3.7269849963023267 0 0 0 +106 4 33.690827355981554 25.10089414752484 23.595216498164593 2 1 3.7269849963023267 0 0 0 +107 3 34.01115578964591 24.78647396522056 23.89598110848665 2 1 3.7269849963023267 0 0 0 +108 1 34.484013716732484 24.626220866364136 24.174215444712242 2 1 3.7269849963023267 0 0 0 +109 4 34.990266640570965 24.69448985833302 24.562811124280305 2 1 3.7269849963023267 0 0 0 +110 2 35.145896903493316 24.793241326024813 25.04385957026009 2 1 3.7269849963023267 0 0 0 +111 1 35.06860532892695 25.048723590439906 25.570332580544218 2 1 3.7269849963023267 0 0 0 +112 3 34.935175985993084 25.335540132080055 26.006545003503096 2 1 3.7269849963023267 0 0 0 +113 1 34.49657428034769 25.607489233067064 26.123731584378923 2 1 3.7269849963023267 0 0 0 +114 3 34.0132432396664 25.732289222865404 26.321416792125166 2 1 3.7269849963023267 0 0 0 +115 1 33.58776734894964 25.62064953889948 26.688539619472973 2 1 3.7269849963023267 0 0 0 +116 4 33.15654425248354 25.338672553764333 26.826329665315537 2 1 3.7269849963023267 0 0 0 +117 3 32.9076504056509 24.991331214323903 27.228446976881234 2 1 3.7269849963023267 0 0 0 +118 1 32.9297689116334 24.632517190191024 27.681355827816688 2 1 3.7269849963023267 0 0 0 +119 3 33.00216450637092 24.55541285047072 28.22302417752094 2 1 3.7269849963023267 0 0 0 +120 2 32.9420586075282 24.60559201752168 28.777865869642905 2 1 3.7269849963023267 0 0 0 +121 1 32.83738319038634 24.94702033575836 29.307330619456266 2 1 3.7269849963023267 0 0 0 +122 4 32.57977335421255 25.328020610731436 29.570214128887336 2 1 3.7269849963023267 0 0 0 +123 2 32.17061122190304 25.708023527353955 29.63983317809503 2 1 3.7269849963023267 0 0 0 +124 3 31.636567367502767 25.872024842140746 29.617831484163407 2 1 3.7269849963023267 0 0 0 +125 4 31.132545834345493 25.788771465761464 29.473140927527755 2 1 3.7269849963023267 0 0 0 +126 4 30.66416343932506 25.546908667108468 29.387529102708452 2 1 3.7269849963023267 0 0 0 +127 2 30.33924138958816 25.185314142044398 29.432101524801457 2 1 3.7269849963023267 0 0 0 +128 3 30.21851533734297 24.75102015597501 29.680917821332173 2 1 3.7269849963023267 0 0 0 +129 1 29.83055401261429 24.475918281129495 29.97162814225401 2 1 3.7269849963023267 0 0 0 +130 3 29.249485560956284 24.357720612933235 30.18837063610894 2 1 3.7269849963023267 0 0 0 +131 1 28.781676718751342 24.49568907629974 30.44184869682069 2 1 3.7269849963023267 0 0 0 +132 4 28.36450096738524 24.685434120589196 30.49743020497358 2 1 3.7269849963023267 0 0 0 +133 2 27.894551946623423 24.837727188738235 30.34711720087607 2 1 3.7269849963023267 0 0 0 +134 3 27.508292857728566 25.088322909380263 30.133245922971607 2 1 3.7269849963023267 0 0 0 +135 4 27.241346180997713 25.267053075592756 29.64178369349919 2 1 3.7269849963023267 0 0 0 +136 3 27.218818800921397 25.215081113349864 29.159907670904147 2 1 3.7269849963023267 0 0 0 +137 3 27.02933155098957 25.112497188942573 28.675346059869035 2 1 3.7269849963023267 0 0 0 +138 2 26.851977504610755 24.71938899539783 28.28526582883007 2 1 3.7269849963023267 0 0 0 +139 3 26.59180773435854 24.392121015039574 28.0315153318485 2 1 3.7269849963023267 0 0 0 +140 1 26.144076290879692 24.12025957614224 27.88788013894524 2 1 3.7269849963023267 0 0 0 +141 3 25.563811431446247 24.027906044413065 27.791736909825648 2 1 3.7269849963023267 0 0 0 +142 2 25.048444082139802 24.144918544702442 27.595417884995534 2 1 3.7269849963023267 0 0 0 +143 3 24.69600398710859 24.44583357467624 27.405053085397356 2 1 3.7269849963023267 0 0 0 +144 4 24.59744299188776 24.858825457742554 26.955781464492944 2 1 3.7269849963023267 0 0 0 +145 3 24.65773864962153 25.059994502648383 26.46669248676088 2 1 3.7269849963023267 0 0 0 +146 2 24.90063749440873 25.167665448384763 26.07330419183128 2 1 3.7269849963023267 0 0 0 +147 1 25.21727161694257 25.10782115845074 25.724713610577954 2 1 3.7269849963023267 0 0 0 +148 4 25.488411823654253 24.90982270275774 25.296797991603025 2 1 3.7269849963023267 0 0 0 + +Velocities + +1 0.08300068618267588 -0.08831129011166566 -0.05545809946732253 0.10981673333707669 -0.10652089222623992 0.007086521419025317 +2 -0.15788612600490118 0.05171811236444691 -0.031622138456419494 -0.23463557994913956 0.21229724181245807 -0.10490900742719046 +3 -0.06587335505805957 0.0429690329809904 0.1319591121961097 0.3962326828713534 0.03720611306637009 -0.06621220610944002 +4 0.12470367675845166 -0.09652440338338303 0.23120161980405238 0.18125982926429665 0.22723978306964554 0.12670206942936166 +5 0.16912220721562124 0.12552950168210777 0.18519329769586 -0.2347627519845649 0.09084332667313402 -0.18098704545405125 +6 0.19553851200587521 -0.07830790816686874 -0.18269444234102383 0.17315340729298617 -0.23634103788918537 0.17562939013579246 +7 -0.07940793995706148 -0.08358329699344363 -0.14132309643521343 0.014226233827109903 -0.0700123896985558 0.17199453144507781 +8 0.007419895490764708 -0.05449044761784256 -0.06932534306432905 0.04854974296258545 -0.13164978845688044 -0.17734867278191113 +9 -0.14038356802962443 0.3118349815074341 0.2438155136055713 -0.08905273911200458 0.09902649906722337 0.1660081774304181 +10 -0.32007349894495213 0.09261497929755574 0.126786869147107 0.21478276963497908 -0.002285496937987813 -0.36718559789942506 +11 -0.12280636121442713 -0.05682629830777783 -0.11939999477195598 -0.03775300676530123 -0.34512553646189037 0.39088564821114535 +12 0.2826796628826206 0.2686743331203736 -0.07589019161858215 0.06093595738503681 0.19509857946445014 0.22128466509389333 +13 0.1516211205630381 0.1607435814417579 -0.015968371103384497 -0.04019408469550471 0.0008267589449252365 0.1401333557036912 +14 -0.0926491015960836 -0.1805250096024025 -0.05108460129986559 -0.20663162530253257 0.14519779845059655 0.013710903233454308 +15 0.35523218790426714 -0.04333977325236339 0.21761491180918205 -0.03088534495262574 0.20273369935061386 -0.002594341231371922 +16 0.018184284921292204 0.13621104567087988 -0.09338890254253479 0.187520140685715 0.20183166462503915 0.12617647805561477 +17 0.06651062734524887 0.009970438595327594 -0.20471642786720282 -0.15145571700563062 -0.02669782747532206 0.19982866127642462 +18 -0.25511880354884964 0.23638332254022915 0.06952917244826137 0.27006655473451385 -0.13187416826486636 0.12327382498640965 +19 -0.40982657052769783 -0.1618497558684851 0.08643869952072784 -0.25614373382926536 -0.07630944092040806 -0.1707900734219223 +20 -0.017856714238243605 0.07726955838081953 -0.09318414674830092 0.21384021224865168 0.13488474603685277 -0.30337708291192766 +21 0.28349803604734897 0.08142828644990636 -0.022009087708225836 -0.27199514163240446 0.005538468918735965 -0.053201778091885775 +22 -0.17031020415834175 0.005622802161220184 0.39782588324389573 -0.10428452566174556 0.17359359895209767 0.36643314960561374 +23 0.24299336550903505 0.12641956311885563 0.05895762646020824 0.14806075854731052 0.48242281297381234 -0.14553957768713705 +24 -0.054966252196581376 -0.2241510202234215 -0.1416060046298988 -0.02146206124776412 0.15892405731943135 0.2432792666383497 +25 0.193302595056254 -0.22343146559616195 0.15112725015779532 -0.2945916874182198 0.07647653582886763 -0.13857980155118438 +26 0.27076802751829965 -0.07215080843316872 0.008128109776454836 0.08985724380644568 0.020518675004785044 0.09743894686576914 +27 -0.33352947322900894 -0.15433482219688568 0.10051297379005304 0.26643236767398293 0.4507564326752171 0.023938687334874437 +28 0.3480308433822986 0.0016458805612120013 -0.16122122514647033 -0.17574707013576274 0.5242720572651276 -0.25764260990443105 +29 0.23712716422180144 0.1561137761293018 0.2317770814348783 -0.20513212571884665 0.23880099794365356 -0.09831638853020264 +30 0.04507568680224582 0.1601668169343078 -0.1504404850491829 0.19069503829696485 -0.013877632684239857 0.14648464556895752 +31 -0.17719148684837127 -0.07119679520271896 -0.18686023519771305 0.13035273061240518 -0.07021638139053202 0.020925924944080604 +32 -0.22562612818385097 0.0793513289737349 -0.24954069766606327 0.339843318129252 -0.01619555693560631 -0.052476846111563426 +33 0.04775872412797385 0.09010169873126496 0.001862596262032444 0.16854982234281646 0.11715253583405669 0.09914480950407666 +34 0.01667377726761321 0.04330718099325233 0.057765637593271565 -0.17063761332563518 0.13519987664024352 -0.0868362425703879 +35 -0.08384021505080447 -0.04184061689335992 -0.07682193833208445 -0.0102409602950028 0.11352938932369303 -0.18496936801388547 +36 -0.4268163181527214 0.10607280697410457 -0.003677926701070881 -0.3882845349497634 0.27131351243616186 -0.2021556633917241 +37 0.06973675290207063 0.10569526274869374 -0.15802700598162442 0.01622360970624983 -0.2517695375506107 -0.21164242604389114 +38 -0.08625916678389474 0.1418803306273376 0.010816466160951685 -0.06974343625625562 0.22415211946277833 0.30720086434603183 +39 -0.06556190858616102 0.001086885879755609 0.07045604075184787 0.10537798867421218 0.060772295432363364 -0.3513860426490666 +40 0.08531220986420884 0.09746239705139806 -0.06560094952353977 0.3183585461085769 -0.40834323841668296 -0.12663924494541173 +41 -0.06232999827395835 -0.11163868096785891 0.09176333386537722 -0.05788438197614193 0.1774521102730899 0.35762887697572193 +42 0.12293883860616782 -0.2955626265855382 0.1388519847587554 -0.10058619691853944 0.07398656876125896 0.11630229379448807 +43 -0.06589539372497384 0.41823675475805716 0.0008026475297472151 0.19534081988420837 -0.47773592462946735 0.24319561314894397 +44 -0.0743064163331904 -0.12918774971318053 -0.19864476978636375 0.39441451130430943 0.24341817917705041 -0.3104587540680757 +45 -0.28070952753116973 -0.24472276073952454 -0.0768351199773794 0.05040141149595214 0.2360903589791636 -0.0497515970823143 +46 -0.08876453546070637 0.048636558745682366 -0.1395670979439679 0.004581129287964173 0.11927429076819837 0.07706341785718857 +47 0.05086554744356743 0.026164151737788355 -0.11258490688380106 0.26536509964358607 -0.10194028515819602 -0.3389184078790059 +48 0.09811180443247224 0.15076841995387966 0.03543329968960754 -0.00941626872204756 -0.08792386869984349 -0.3679996636142601 +49 0.03132563413870336 0.27837529462148586 0.4279240378618721 -0.20913960462502776 -0.06110723275609456 0.03411314137805762 +50 0.20772897837481802 -0.07176726043920854 -0.0743910622730496 0.06966902410765992 -0.0934959634348976 -0.1435206175958738 +51 0.1966887543673296 0.14620766884009678 0.02894988186758179 -0.18169248485928147 0.05523836754320024 -0.1163256962520709 +52 -0.10930328426627 -0.12296492459104573 0.02557316592015575 -0.30134241266324585 -0.21207676759366942 0.12195297618007685 +53 -0.26958511036654836 -0.12108892847738102 0.19488788241289437 -0.131733781110882 0.1479695143365824 0.07262051285203575 +54 0.32595774817833195 -0.06855291524390025 -0.06633357993342752 0.1993106534348727 0.3002186317676102 0.12261839481610334 +55 -0.09682154145774985 -0.040995206458949884 0.10730398079793069 0.13511766314397444 0.19565213187178326 0.08276346524189493 +56 0.08023908048206185 0.08680121510877062 -0.060032609358149 0.050807801827622144 -0.047514271961560856 0.28870210594396506 +57 0.03692413561573409 0.3034604960416721 -0.16808034841432054 -0.32387995374464174 -0.02008305483480861 -0.309541422879541 +58 -0.053738776261293746 0.09846797262419232 -0.06943290419579674 -0.45305676833893554 0.21442365102080058 0.15692081889927542 +59 -0.12535015349986442 0.2598900291130079 -0.1771389375416444 0.0778328626021456 0.18765769534982918 0.2649284402746124 +60 -0.036136867342220234 0.0031416867664012097 0.0004900872351313562 0.143355366145617 0.01579538100812741 -0.14635148436340817 +61 0.13359167413268314 0.18763914823813235 -0.1309164263221498 -0.019381496193392418 -0.031187296379238068 0.017399479676025932 +62 0.05001394873446554 -0.045119479426626724 0.20664489016025483 -0.22513473816663132 -0.10943752021370265 0.12676520826563548 +63 -0.07985667608771806 0.2232502946916894 -0.09346065001758118 0.13197340156013002 -0.008642309932002115 0.21718438223912614 +64 -0.044920413919148736 -0.24219977994285874 0.07992759148083965 -0.3147236280584971 0.11749535354972557 0.23693340780698402 +65 -0.09534055411373117 -0.22391605772298784 -0.3788115256289578 -0.001121048125626753 0.04422988797572019 0.19900234912998874 +66 -0.11408144020892855 0.27367946867440057 0.23803755293162393 -0.30235445951326556 -0.4055532254252237 0.057834976346687134 +67 -0.166306802625511 -0.009366271722571453 0.027115941668540693 0.10581139143095335 -0.36577859669777824 0.1162053729597003 +68 -0.08344701300388403 0.14859705282857621 0.32847515165343816 0.20025022029536554 0.18273252242613502 0.02375854215968393 +69 0.143211347100323 -0.1571355116701895 0.022374010924880897 0.33200952652727905 0.1582669554506368 -0.30907627832219087 +70 0.05807365339226411 0.19230578480060553 -0.002477446223151882 -0.07747315429581776 -0.515866068414703 -0.003290021113576715 +71 -0.1571409534321301 -0.15513453762058038 -0.3124161335217244 -0.07324668657900713 0.038597300048682344 -0.38726710047447904 +72 -0.24252946677809537 -0.20548491766574475 0.4023665085583848 0.22248411987463254 -0.09031684034763693 -0.026770397708221177 +73 -0.11557568193092868 0.2795938954703391 -0.19199820613823443 -0.517389314296746 -0.1190479157517304 0.374045312846886 +74 0.09192431141178713 -0.07152563085468541 0.027951655007556767 0.08615968263143642 0.1821903200516966 0.5365426445770833 +75 -0.15293089397443577 0.1832797402381307 0.07254183259887934 0.1770866398454595 -0.008720004201126277 -0.3537310479589927 +76 -0.3561550823288748 -0.02848286363846629 0.006546489251954451 0.25308509013997 0.053486576210159696 0.33130185694942427 +77 -0.19917286729554637 -0.005444788483051025 0.07197281049334404 -0.14690257925189779 0.006200163811348182 -0.12213921994881691 +78 0.29091019449783023 -0.05277925227043353 0.05900918974049584 -0.2508482628243189 -0.03338059974534062 -0.19018399180486756 +79 -0.03481521840376228 -0.15936362678581187 0.14121892090892557 0.23310112604757457 0.11169618200590406 0.12192682963938048 +80 0.0411784876968824 -0.04765624730387498 0.019043194633614556 -0.06477236349004867 -0.019541071985135185 0.0408257127632226 +81 0.1594336231374396 0.03932777888003818 -0.05276287093749646 0.025840593310084904 0.06981667192454707 -0.09257476720268304 +82 -0.12896444934974302 0.1475716543352601 -0.04157387027099884 0.10927762275485634 -0.21401106677564052 -0.1875189852440686 +83 -0.3279405242027113 -0.1609113480650034 -0.12968664163207738 -0.24985805062718924 0.07685223634118567 -0.08966257835404672 +84 -0.01872609931158614 -0.25710982063770355 -0.13847088972427862 0.0012627750458420637 -0.12672039628165294 -0.06529036356964409 +85 0.014372188534847202 -0.01639936229532097 0.04960569181697547 -0.1008944484175044 0.1991382846448013 -0.32419614420590037 +86 -0.3877655729450763 0.1658602352671496 0.24805447528616634 0.09490934623994209 -0.06096631356119527 -0.04196527838539162 +87 0.2673856998711079 0.3365887326642041 -0.0238376402581637 0.14929775436746526 0.20932553130538414 0.15911529870401006 +88 -0.13138147291693658 0.21409439153739804 0.01239984074619237 0.1820166552460691 -0.13249621680963417 0.20722283870222913 +89 -0.14629683972442448 -0.3899393709936492 0.06865544203984926 -0.1576142314001741 0.15822690646355145 0.025865337812969985 +90 0.10377313032779464 -0.012540989355630278 -0.24131142712047132 -0.3800399610827047 -0.03275425226168607 0.09172727712366359 +91 0.13946144755112216 -0.015589262428713363 0.023296288489968252 -0.07606465794250777 0.05889585543828826 -0.03030240043247539 +92 0.23500445515112153 0.25183271179900446 -0.22345988460479385 0.4818439349856969 -0.04982158771822558 0.3634596422146747 +93 0.060329217984221674 0.31143183559926757 -0.03835533085342826 -0.3235487484857347 -0.16853638878529112 -0.08923659936360206 +94 -0.21458456880910542 -0.09074546478187064 0.13558146166630813 0.010109469795366819 0.1014488205544976 -0.3881624031540198 +95 -0.006933900672093962 -0.14703356927802283 0.15521893140762924 -0.004305022451245717 0.15166779684740783 0.13243663204552092 +96 0.03386471590240012 0.13783124409315414 -0.019347847848365563 0.17642375074710992 0.08566985459377241 -0.27012606168441894 +97 -0.2148457891076012 -0.056184553717636206 0.1882089257728973 -0.14900937009404872 0.2500730736600479 0.11555254623155481 +98 0.018307762519986476 -0.023688793266034857 -0.03547718954585445 0.35015754482321687 0.1705876978921578 -0.16349378490774444 +99 -0.10674610762031415 -0.044335254580783294 -0.13781217400551052 0.31061767589359063 -0.12387003518772778 -0.13921103048412126 +100 -0.055734099524711214 0.09962483188528479 -0.20234430296963996 -0.21339771063633795 -0.12591284907523032 0.06264343231634638 +101 0.14160508793683182 -0.1813301557567768 -0.11351573955006118 -0.162283228509038 0.020990670312396577 0.2104656524877436 +102 -0.10519258072645903 0.3243684510904009 -0.12253589945357302 0.13876732772244166 0.23405912749258906 0.5382818449684141 +103 0.11043342858138605 -0.13525409288469914 0.17465325902480908 -0.4345173804669885 -0.12798055896378213 -0.011619252054735234 +104 -0.1194347818351322 0.3738176099887111 -0.012266175119074832 -0.409018651314492 -0.21000334293137296 0.3119446543390844 +105 0.037943040714916304 -0.08527869311177688 -0.046572122141667185 -0.048966090623210376 -0.07510507821371278 0.04081489516127686 +106 -0.23348213574753862 0.04274253793837019 -0.321186706992024 -0.2009124793045829 -0.04754793577516722 -0.06077716783190084 +107 -0.028182975754433636 0.008749667737930254 0.11843203916938111 0.062040375243544964 0.12031662426440884 -0.04614498266056866 +108 0.17076730223445344 -0.14114088619886633 -0.06686742266786802 -0.20399122633635752 0.11218284278732024 -0.2814229469502568 +109 -0.022027014868877696 -0.2565302330524684 -0.03872135889101711 0.08348624824969499 0.11313052418355501 -0.13741661216687975 +110 0.2641659121509712 -0.07261481571180649 0.0823228962812241 0.18485113827252142 0.11908895311596591 0.053277144861866285 +111 -0.02671139784138693 0.031436334822142746 0.058127904925035966 0.0819750464290929 0.36815238025323893 0.08876647885031949 +112 0.4332419708894291 0.02068405360858892 0.0726778807439601 -0.03514435626669747 -0.016901371038309108 -0.3030268367138423 +113 -0.13742922994069504 -0.11485604110246839 0.11949727970917344 -0.0947241567679369 -0.20406323898403075 0.14319694909746394 +114 -0.0886363447364988 0.01837212939111841 0.20267624872875553 -0.20036156685284706 -0.04943291263275229 0.1692939670552358 +115 -0.48712445417608485 0.0256926782273663 -0.024542520151768693 -0.015188586505152004 -0.16090766817222676 0.0867651858162793 +116 -0.1506577211769498 -0.22722826317031072 -0.28525625355772616 -0.1845757522485398 -0.16089981693738162 0.3106320810696583 +117 -0.3267268822575336 -0.11257404342073865 0.10540298874440346 -0.1517804918780289 0.244775993844997 -0.3655299003085974 +118 0.1360155980108208 0.21692693563435178 -0.06342054822530084 0.0335457035173448 0.04380446309545473 -0.16134651025863447 +119 -0.11212383405016707 -0.10907279108454358 0.03689265941678787 0.04371129615834985 0.10395042233801043 -0.04159499691129526 +120 0.26123830246062335 0.037090403157279794 -0.2558513257776569 -0.14375487469109474 0.021039559366653127 -0.07780156822243188 +121 -0.1838836984616318 -0.008234016064665919 0.16886518180858465 0.0784382920845553 -0.006083408773891336 -0.1072606571067589 +122 0.015562779408345995 -0.016231905737977642 -0.4257445430267252 -0.2698678948771958 0.03651262425099296 -0.1662999128433127 +123 0.23810161605704377 -0.11946357658421103 0.0053425918702379 -0.26507085311347767 -0.005060520073985519 -0.028794675468980298 +124 0.3312048487900394 0.26189741666863997 -0.10964110515509969 0.1544616897402785 -0.23337971316705755 0.10244776357671773 +125 -0.20606377334048767 -0.2480013884660967 0.0503364492363312 -0.2245111582587185 -0.21456054582014408 0.2050630976792822 +126 -0.03552739269815303 0.1691039422819466 -0.07802319703580368 -0.4323743483104413 0.18256530801905368 0.18628686436697428 +127 -0.20029656593994563 0.32983545343079457 -0.2070512488410065 0.019326899103251225 0.027644495282593218 0.442626348526685 +128 0.08491008750400077 0.1035215229851968 -0.1739408713288041 0.27470989108566846 -0.24402446279772083 0.07443846420743241 +129 -0.08830853934911108 -0.26734530364104053 -0.1988201363520286 -0.06923156954944658 -0.02189796001542307 -0.1338797245794809 +130 0.20981215982263213 0.13488162846156487 -0.03943887942626307 -0.011593722599637339 -0.6890299572253064 0.1790251091910087 +131 0.07652601338116555 -0.19283772018282666 -0.2776397161982535 0.24663050117341062 0.044069318144154775 0.2747329718398644 +132 0.06005147641503129 0.2830757435240006 0.44875979576568403 0.13517880915103314 0.11908709936381356 0.5021295927265543 +133 -0.023103333857207493 -0.20854066459336754 0.12433937928122553 0.07532809593947921 0.006567418488669447 0.005099910874471501 +134 -0.19768408467989063 0.07010969542764198 -0.20904359061206418 0.3500450579217665 0.2621319675031076 0.05700557921808894 +135 -0.15495059768685077 -0.19368431486198104 -0.12813393686867544 -0.005681639055833594 0.36877138324218484 -0.11103137477367178 +136 0.14611337822004258 0.07560160260606268 0.09033752786956158 0.45086630093824887 -0.0540905457830462 0.35712304127420874 +137 -0.006832587008219201 0.10626881118619334 0.23727231793522738 -0.23670719085338437 0.15102882182810315 -0.18569984864833494 +138 0.0367287542741905 0.2260961629741195 0.061837966953977974 0.24931042513512916 0.21197461409518875 -0.33336511048900325 +139 -0.07349205704521018 -0.05634613320016501 -0.504982154096888 0.1436392338796232 0.15906028117556678 -0.019355526701785235 +140 -0.3030520336145537 -0.09599950732226913 0.06438387924367373 -0.14946707336004578 -0.3965545748060501 -0.18379582563170568 +141 -0.24908521126941452 -0.19982821516723162 0.0074328635453094405 -0.14962181978906317 -0.07272114881413824 0.16246832274161657 +142 0.17835016534905518 -0.013889886430521995 -0.03882561392387829 0.09373150575976509 0.027511161845731512 -0.09158102178193173 +143 -0.018236845831437268 0.10323283487519967 0.3004315866605606 -0.2507354481152932 0.05050127009326096 -0.2300087204030466 +144 -0.044410313090765555 -0.4573359137793594 0.09495183962234632 0.09635470152905644 0.09803237993644494 -0.34402426898911387 +145 0.2821400944928483 0.11836361011832264 0.1696408065684072 0.33048216564352206 -0.29139537671087906 -0.037084369809477505 +146 -0.18244194711837852 0.08624974326226817 -0.006779741723387931 -0.0687522501302224 0.03106090508494657 0.035844399389801454 +147 0.1794175506420554 -0.0852079364441406 0.21416128313592545 0.1329441722287453 -0.0010388729930562906 0.05954056910834935 +148 -0.24523838476169282 0.07566025581718214 -0.10739416751806342 0.46725839193497026 0.04242428905379958 0.1432137106005151 + +Bonds + +1 1 1 2 +2 1 74 1 +3 1 2 3 +4 1 3 4 +5 1 4 5 +6 1 5 6 +7 1 6 7 +8 1 7 8 +9 1 8 9 +10 1 9 10 +11 1 10 11 +12 1 11 12 +13 1 12 13 +14 1 13 14 +15 1 14 15 +16 1 15 16 +17 1 16 17 +18 1 17 18 +19 1 18 19 +20 1 19 20 +21 1 20 21 +22 1 21 22 +23 1 22 23 +24 1 23 24 +25 1 24 25 +26 1 25 26 +27 1 26 27 +28 1 27 28 +29 1 28 29 +30 1 29 30 +31 1 30 31 +32 1 31 32 +33 1 32 33 +34 1 33 34 +35 1 34 35 +36 1 35 36 +37 1 36 37 +38 1 37 38 +39 1 38 39 +40 1 39 40 +41 1 40 41 +42 1 41 42 +43 1 42 43 +44 1 43 44 +45 1 44 45 +46 1 45 46 +47 1 46 47 +48 1 47 48 +49 1 48 49 +50 1 49 50 +51 1 50 51 +52 1 51 52 +53 1 52 53 +54 1 53 54 +55 1 54 55 +56 1 55 56 +57 1 56 57 +58 1 57 58 +59 1 58 59 +60 1 59 60 +61 1 60 61 +62 1 61 62 +63 1 62 63 +64 1 63 64 +65 1 64 65 +66 1 65 66 +67 1 66 67 +68 1 67 68 +69 1 68 69 +70 1 69 70 +71 1 70 71 +72 1 71 72 +73 1 72 73 +74 1 73 74 +75 1 75 76 +76 1 148 75 +77 1 76 77 +78 1 77 78 +79 1 78 79 +80 1 79 80 +81 1 80 81 +82 1 81 82 +83 1 82 83 +84 1 83 84 +85 1 84 85 +86 1 85 86 +87 1 86 87 +88 1 87 88 +89 1 88 89 +90 1 89 90 +91 1 90 91 +92 1 91 92 +93 1 92 93 +94 1 93 94 +95 1 94 95 +96 1 95 96 +97 1 96 97 +98 1 97 98 +99 1 98 99 +100 1 99 100 +101 1 100 101 +102 1 101 102 +103 1 102 103 +104 1 103 104 +105 1 104 105 +106 1 105 106 +107 1 106 107 +108 1 107 108 +109 1 108 109 +110 1 109 110 +111 1 110 111 +112 1 111 112 +113 1 112 113 +114 1 113 114 +115 1 114 115 +116 1 115 116 +117 1 116 117 +118 1 117 118 +119 1 118 119 +120 1 119 120 +121 1 120 121 +122 1 121 122 +123 1 122 123 +124 1 123 124 +125 1 124 125 +126 1 125 126 +127 1 126 127 +128 1 127 128 +129 1 128 129 +130 1 129 130 +131 1 130 131 +132 1 131 132 +133 1 132 133 +134 1 133 134 +135 1 134 135 +136 1 135 136 +137 1 136 137 +138 1 137 138 +139 1 138 139 +140 1 139 140 +141 1 140 141 +142 1 141 142 +143 1 142 143 +144 1 143 144 +145 1 144 145 +146 1 145 146 +147 1 146 147 +148 1 147 148 + +Ellipsoids + +1 1.173984503142341 1.173984503142341 1.173984503142341 0.9828541875306525 0.12879706731240614 -0.10093645894201106 0.08497524793392826 +2 1.173984503142341 1.173984503142341 1.173984503142341 0.9076319099077714 0.14371009860279324 -0.0061127301821370696 0.3943530882425885 +3 1.173984503142341 1.173984503142341 1.173984503142341 0.7156666230136304 0.13639947227633528 0.03941894579775276 0.6838586223622523 +4 1.173984503142341 1.173984503142341 1.173984503142341 0.551483876992997 0.0945081114480617 0.05507676463033448 0.826982648116119 +5 1.173984503142341 1.173984503142341 1.173984503142341 0.24878195093628586 0.25477295141293216 0.17560035853168876 0.9178032459085236 +6 1.173984503142341 1.173984503142341 1.173984503142341 -0.09814576590180418 0.2630252745002951 0.0750862666667879 0.9568422890777962 +7 1.173984503142341 1.173984503142341 1.173984503142341 -0.36099905322484027 0.20576958877633506 0.05427501922331751 0.9079607822994866 +8 1.173984503142341 1.173984503142341 1.173984503142341 -0.7222470672351088 0.18134561062508855 -0.07603445152283007 0.6630925316718025 +9 1.173984503142341 1.173984503142341 1.173984503142341 0.7207213859113211 -0.081618921713485 0.2444656792207328 -0.6435336566113217 +10 1.173984503142341 1.173984503142341 1.173984503142341 0.9121007124750514 -0.01217119606138896 0.2913039145765659 -0.2882120428457281 +11 1.173984503142341 1.173984503142341 1.173984503142341 0.953249593652999 0.05081512321641071 0.29695596119287027 -0.0234561839375449 +12 1.173984503142341 1.173984503142341 1.173984503142341 0.893216854716605 0.19782387032700505 0.32197381347668597 0.2436436541638224 +13 1.173984503142341 1.173984503142341 1.173984503142341 0.7804220903358083 0.3075288797089802 0.40715287039611386 0.3613777652111879 +14 1.173984503142341 1.173984503142341 1.173984503142341 0.6203605365073518 0.3741569541553062 0.35408302093722205 0.5914258978819795 +15 1.173984503142341 1.173984503142341 1.173984503142341 0.3960444020645081 0.5102735688288697 0.4358052977828721 0.6267722544691949 +16 1.173984503142341 1.173984503142341 1.173984503142341 0.13777757932263526 0.6041124653901045 0.23900745590897193 0.7476235040554876 +17 1.173984503142341 1.173984503142341 1.173984503142341 -0.14487300744864823 0.6140449381421356 0.15150134965763856 0.7609257300858729 +18 1.173984503142341 1.173984503142341 1.173984503142341 -0.3344250731601342 0.6010892081702673 -0.017846433649279014 0.7256260325188738 +19 1.173984503142341 1.173984503142341 1.173984503142341 -0.5074640025256208 0.5175428589716987 -0.22947810189520476 0.6495917764401355 +20 1.173984503142341 1.173984503142341 1.173984503142341 0.6927772486705646 -0.40626836540518185 0.4423107744840648 -0.3992078127626656 +21 1.173984503142341 1.173984503142341 1.173984503142341 0.6829206576647326 -0.27522098535816325 0.6168603801346256 -0.27812956688100604 +22 1.173984503142341 1.173984503142341 1.173984503142341 0.6788549938954256 0.033964180979933575 0.7308067787169422 -0.06264011378478199 +23 1.173984503142341 1.173984503142341 1.173984503142341 0.5999805514844269 0.2793954015736318 0.7386615340865574 0.12783069068438008 +24 1.173984503142341 1.173984503142341 1.173984503142341 0.4418314756383255 0.5057611588638139 0.7228215888566917 0.16284823610552174 +25 1.173984503142341 1.173984503142341 1.173984503142341 0.3141779374831782 0.7142758691047312 0.539765722838384 0.31584041993110096 +26 1.173984503142341 1.173984503142341 1.173984503142341 0.13009402904433304 0.8026224209437359 0.4188011593597563 0.40432459970221063 +27 1.173984503142341 1.173984503142341 1.173984503142341 0.015395939306808548 0.9125609417624169 0.11793521250895517 0.3912630550831749 +28 1.173984503142341 1.173984503142341 1.173984503142341 0.020389821926513313 0.8930600411816652 -0.2308403071738297 0.3856692502524667 +29 1.173984503142341 1.173984503142341 1.173984503142341 -0.19829980450156168 0.789544960878009 -0.45297996531610585 0.3634626436224299 +30 1.173984503142341 1.173984503142341 1.173984503142341 -0.29878991597718874 0.6265110900381559 -0.6619230912649768 0.28295982297804007 +31 1.173984503142341 1.173984503142341 1.173984503142341 0.3240360642338418 -0.36827828790860756 0.8343565738846102 -0.2514375456181544 +32 1.173984503142341 1.173984503142341 1.173984503142341 0.32014650617553997 -0.05971181117410955 0.9438400245399936 -0.05573797867026355 +33 1.173984503142341 1.173984503142341 1.173984503142341 0.24982350857997523 0.1590081591159326 0.9549704885538687 -0.01832991779955874 +34 1.173984503142341 1.173984503142341 1.173984503142341 0.16999266129422064 0.3749550480019231 0.9099327896340427 -0.05033413784692161 +35 1.173984503142341 1.173984503142341 1.173984503142341 0.19340334476340248 0.6890998585251199 0.6972337573677242 0.040020229907810456 +36 1.173984503142341 1.173984503142341 1.173984503142341 0.1612116171856501 0.859720290458655 0.48091314403740787 0.06011975174706676 +37 1.173984503142341 1.173984503142341 1.173984503142341 0.009261495255550381 0.9402304673687385 0.3245385528799807 0.10274055008497525 +38 1.173984503142341 1.173984503142341 1.173984503142341 -0.178489162453817 0.9806521854786103 0.005310303981292909 0.08021664836046656 +39 1.173984503142341 1.173984503142341 1.173984503142341 -0.1288029405461015 0.9602840555925231 -0.21902557887358792 0.11529150393911712 +40 1.173984503142341 1.173984503142341 1.173984503142341 -0.04731791323035676 0.8474709401996229 -0.5273646012711862 0.037955209534064525 +41 1.173984503142341 1.173984503142341 1.173984503142341 -0.022651622917573347 0.5565011565487459 -0.8295791934725275 -0.03989647223225978 +42 1.173984503142341 1.173984503142341 1.173984503142341 -0.13596774829773478 -0.40509299019424533 0.9040951590175422 0.004938031933284807 +43 1.173984503142341 1.173984503142341 1.173984503142341 -0.23079724764482035 -0.14600108158768343 0.957686102648897 -0.09084956492998986 +44 1.173984503142341 1.173984503142341 1.173984503142341 -0.24753675871742536 0.17224891940889686 0.9383869011016502 -0.16877762495953091 +45 1.173984503142341 1.173984503142341 1.173984503142341 -0.2811167754571826 0.35162969585761844 0.8297679896375197 -0.32987118534443655 +46 1.173984503142341 1.173984503142341 1.173984503142341 -0.26615049812015845 0.5992229988318759 0.625822287547174 -0.422424164117712 +47 1.173984503142341 1.173984503142341 1.173984503142341 -0.26520515010155843 0.7417880533852412 0.3692915113072771 -0.49299137101062096 +48 1.173984503142341 1.173984503142341 1.173984503142341 -0.16226711788695447 0.8323801954647086 0.1174686480853541 -0.5167336928900556 +49 1.173984503142341 1.173984503142341 1.173984503142341 -0.04572661296718043 0.8408693531665875 -0.11047316886003926 -0.5278669214241181 +50 1.173984503142341 1.173984503142341 1.173984503142341 0.19411685314820926 0.7587839226558699 -0.3585937241690634 -0.5079135231802451 +51 1.173984503142341 1.173984503142341 1.173984503142341 0.2884389061686524 0.6577064384331197 -0.5877305498173151 -0.3725560884796933 +52 1.173984503142341 1.173984503142341 1.173984503142341 -0.40417504294512524 -0.5007922981141542 0.722387900683145 0.2529927464502668 +53 1.173984503142341 1.173984503142341 1.173984503142341 0.487705221455796 0.2123778745642691 -0.8387806766732518 -0.11613023637226708 +54 1.173984503142341 1.173984503142341 1.173984503142341 0.6413097692721371 -0.008544696549571698 -0.7672266752769908 0.0034636311017504627 +55 1.173984503142341 1.173984503142341 1.173984503142341 0.6030429100152689 -0.25373110064689114 -0.7459977158111821 0.12428670584311194 +56 1.173984503142341 1.173984503142341 1.173984503142341 0.5864519496083405 -0.372875091537276 -0.6178931881796406 0.36775846001532553 +57 1.173984503142341 1.173984503142341 1.173984503142341 -0.48911574896863785 0.5441144354000708 0.4276113192775303 -0.5308990722593522 +58 1.173984503142341 1.173984503142341 1.173984503142341 -0.4417465957365199 0.6181565224178451 0.16076362948117487 -0.6299980272854125 +59 1.173984503142341 1.173984503142341 1.173984503142341 -0.28308904114546696 0.6664475020761871 -0.017606380786631723 -0.6894913611607815 +60 1.173984503142341 1.173984503142341 1.173984503142341 -0.04343392830476409 0.6249932397866798 -0.2350918967721212 -0.7431209485440797 +61 1.173984503142341 1.173984503142341 1.173984503142341 0.3001051086276221 0.5396150277384395 -0.35255590439280615 -0.7031762793867672 +62 1.173984503142341 1.173984503142341 1.173984503142341 0.556986262583898 0.4368102678055262 -0.5133240400778073 -0.4852437769932583 +63 1.173984503142341 1.173984503142341 1.173984503142341 0.795279938190695 0.19986687104396691 -0.4327075609483636 -0.3746294442093639 +64 1.173984503142341 1.173984503142341 1.173984503142341 0.8774746414896595 0.14848167889587988 -0.4429894517950587 -0.10840567408197696 +65 1.173984503142341 1.173984503142341 1.173984503142341 0.9026256675673767 0.09862023274988396 -0.3935312309258709 0.14378499305169315 +66 1.173984503142341 1.173984503142341 1.173984503142341 0.7992966483039178 0.0008565776883433751 -0.3722117248777941 0.4717865684271695 +67 1.173984503142341 1.173984503142341 1.173984503142341 0.5936072962961377 -0.03652051284490529 -0.2825637892972656 0.7526316063676206 +68 1.173984503142341 1.173984503142341 1.173984503142341 0.43644057731838104 -0.13786664664361545 -0.15590190259912107 0.8753325122370452 +69 1.173984503142341 1.173984503142341 1.173984503142341 0.14188152802643034 -0.12788407699426005 0.012864675110957144 0.9815038435943596 +70 1.173984503142341 1.173984503142341 1.173984503142341 -0.17011699210314196 -0.1964455848932923 0.08682166929707971 0.9617335072223387 +71 1.173984503142341 1.173984503142341 1.173984503142341 -0.38329053167753524 -0.1996467474595419 0.09852206601835616 0.8963944148992972 +72 1.173984503142341 1.173984503142341 1.173984503142341 0.6594122085000511 0.160793297137392 -0.16758115116995345 -0.7150088199800926 +73 1.173984503142341 1.173984503142341 1.173984503142341 0.8512883171626583 0.18060232735097068 -0.17245589356555377 -0.4614650205511664 +74 1.173984503142341 1.173984503142341 1.173984503142341 0.9616314641817232 0.12709468738918034 -0.12391907222748418 -0.20917918412557554 +75 1.173984503142341 1.173984503142341 1.173984503142341 0.11151873278872049 0.1669724888151189 0.9775349714635312 -0.06410257234991716 +76 1.173984503142341 1.173984503142341 1.173984503142341 0.002211126817898623 0.5521186363105357 0.8337434054774612 0.0056618176970950045 +77 1.173984503142341 1.173984503142341 1.173984503142341 0.07044943717430134 0.7729866626831493 0.6298061627604926 0.029541385625851832 +78 1.173984503142341 1.173984503142341 1.173984503142341 -0.010806653246459833 0.9027252443710524 0.411417996086784 0.1253219131547623 +79 1.173984503142341 1.173984503142341 1.173984503142341 -0.06940131778729772 0.9746360030066041 0.11360573819677272 0.17989401041019523 +80 1.173984503142341 1.173984503142341 1.173984503142341 -0.20000556212707324 0.9595560965524266 -0.15823100448109342 0.11921754027075034 +81 1.173984503142341 1.173984503142341 1.173984503142341 -0.26251769804085484 0.8226181738157728 -0.4903553171765896 0.11804855458657725 +82 1.173984503142341 1.173984503142341 1.173984503142341 -0.3837234853374367 0.6543399037804607 -0.6234720263018537 0.1894154416623109 +83 1.173984503142341 1.173984503142341 1.173984503142341 0.3855852781915845 -0.47229630772423525 0.7839693435947087 -0.11684288277706342 +84 1.173984503142341 1.173984503142341 1.173984503142341 0.46002037442553534 -0.1407678919113547 0.866403276034954 -0.1338320551890411 +85 1.173984503142341 1.173984503142341 1.173984503142341 0.48887603366012683 0.1731127982177676 0.8530376609375365 0.05795629239499309 +86 1.173984503142341 1.173984503142341 1.173984503142341 0.43899101160689896 0.3758967470065976 0.8089928976311329 0.1073266923956608 +87 1.173984503142341 1.173984503142341 1.173984503142341 0.3553143558383719 0.6425723574078863 0.5903209324805503 0.33522182313466425 +88 1.173984503142341 1.173984503142341 1.173984503142341 0.2536540111199051 0.7421214888111948 0.45155240831127663 0.42545947049716176 +89 1.173984503142341 1.173984503142341 1.173984503142341 0.15382396432141013 0.7505310904822217 0.14263847154124493 0.6266542401168209 +90 1.173984503142341 1.173984503142341 1.173984503142341 -0.16810175118036055 0.7288374808427736 -0.10080598156099228 0.6560303970475613 +91 1.173984503142341 1.173984503142341 1.173984503142341 -0.2831885739735942 0.643948067209743 -0.26839675685463915 0.6581020431646983 +92 1.173984503142341 1.173984503142341 1.173984503142341 -0.4831024117054533 0.453267716115057 -0.42739397992663336 0.6152193293896797 +93 1.173984503142341 1.173984503142341 1.173984503142341 0.6770118192914993 -0.21059755897505428 0.4910911741276808 -0.5060959626269103 +94 1.173984503142341 1.173984503142341 1.173984503142341 0.7442670171743097 -0.08947621534664056 0.6143775419962679 -0.2461723987865454 +95 1.173984503142341 1.173984503142341 1.173984503142341 0.7666665318729418 0.12269014310665635 0.6290675727017766 -0.03799403460385277 +96 1.173984503142341 1.173984503142341 1.173984503142341 0.7171919647397696 0.27392119614493066 0.6165739462155079 0.17446900258634976 +97 1.173984503142341 1.173984503142341 1.173984503142341 0.6242311603419127 0.43977982483754113 0.46478542263682826 0.4482227961944326 +98 1.173984503142341 1.173984503142341 1.173984503142341 0.42790222650129595 0.5250655697375166 0.4214312365282337 0.6029938183014272 +99 1.173984503142341 1.173984503142341 1.173984503142341 0.2468582232791126 0.49224626821105333 0.30309532857077576 0.7777453637472519 +100 1.173984503142341 1.173984503142341 1.173984503142341 -0.03380456035420594 0.5634460183047242 0.08545990308043122 0.8210252378101995 +101 1.173984503142341 1.173984503142341 1.173984503142341 -0.26750916515001516 0.4857064004847054 0.009320517332115886 0.8321305588942125 +102 1.173984503142341 1.173984503142341 1.173984503142341 -0.543656333310932 0.3668193234682623 -0.09381801460790738 0.7490524382953638 +103 1.173984503142341 1.173984503142341 1.173984503142341 0.7108784431095552 -0.3004632412363646 0.2190205688208185 -0.5969955361820375 +104 1.173984503142341 1.173984503142341 1.173984503142341 0.8734231811131953 -0.14399683070372168 0.19737468070828412 -0.4212363883340244 +105 1.173984503142341 1.173984503142341 1.173984503142341 0.9684624161954964 -0.105190045875246 0.17391545136610614 -0.14411460176424984 +106 1.173984503142341 1.173984503142341 1.173984503142341 0.9799304485597246 0.037984124779449666 0.14105544742949488 0.13563510976418097 +107 1.173984503142341 1.173984503142341 1.173984503142341 0.8816175546504624 0.20405639480623733 0.14071717244217888 0.40163435168159917 +108 1.173984503142341 1.173984503142341 1.173984503142341 0.6668815181201708 0.2184913756962591 0.13935946384415568 0.6986483374152993 +109 1.173984503142341 1.173984503142341 1.173984503142341 0.49523667831069 0.06959764035843413 0.04878276823652622 0.8645906791282876 +110 1.173984503142341 1.173984503142341 1.173984503142341 0.2207732329238526 -0.06373893139772668 0.037699540120053256 0.9725097803741426 +111 1.173984503142341 1.173984503142341 1.173984503142341 -0.032729617987676665 -0.18237738709355036 0.08976233597699147 0.9785754870337106 +112 1.173984503142341 1.173984503142341 1.173984503142341 -0.15032793635914565 -0.23367266896015637 0.20496632388946223 0.9385027444830824 +113 1.173984503142341 1.173984503142341 1.173984503142341 0.5098818708103572 0.17022830741237596 -0.2655328085989286 -0.8003343855739379 +114 1.173984503142341 1.173984503142341 1.173984503142341 0.7386002630722802 0.13150233806957554 -0.2899184849443961 -0.5942424240655826 +115 1.173984503142341 1.173984503142341 1.173984503142341 0.8183885516845668 0.21176889551544467 -0.29030250974778893 -0.44846244680902864 +116 1.173984503142341 1.173984503142341 1.173984503142341 0.9430612626489262 0.10580295822334976 -0.2990836107868347 -0.09995090135116472 +117 1.173984503142341 1.173984503142341 1.173984503142341 0.9613379941508746 0.03141943836189481 -0.22153618567675704 0.16051105360936818 +118 1.173984503142341 1.173984503142341 1.173984503142341 0.8625667911488177 0.009442517727487543 -0.19942173035959687 0.46488745210704746 +119 1.173984503142341 1.173984503142341 1.173984503142341 0.7259073589630057 -0.13376476050843852 -0.17209740381142 0.6523403855740064 +120 1.173984503142341 1.173984503142341 1.173984503142341 0.5281310594886722 -0.2846679630342966 -0.07506778574311505 0.7964964296021063 +121 1.173984503142341 1.173984503142341 1.173984503142341 0.24241907358145395 -0.3683073657243024 0.039055584363879806 0.8966924436210727 +122 1.173984503142341 1.173984503142341 1.173984503142341 -0.044981165612273756 -0.40529534424684105 0.1971478516389492 0.8915408589998233 +123 1.173984503142341 1.173984503142341 1.173984503142341 -0.3495232584251298 -0.40209106895373176 0.34714827984449365 0.7717799789373487 +124 1.173984503142341 1.173984503142341 1.173984503142341 0.5344020410886484 0.3826673897545711 -0.38492167218812157 -0.6479316581080214 +125 1.173984503142341 1.173984503142341 1.173984503142341 0.7053269695515239 0.29260497262472956 -0.500965349977395 -0.40734495718073077 +126 1.173984503142341 1.173984503142341 1.173984503142341 0.7696439701870998 0.21424045744249637 -0.5824916559487316 -0.1498421045620125 +127 1.173984503142341 1.173984503142341 1.173984503142341 0.7423816103336222 0.1139330316098165 -0.6216492250908265 0.22235343462746351 +128 1.173984503142341 1.173984503142341 1.173984503142341 0.5887700508646756 -0.08843642096111673 -0.6840133892265956 0.4214908184185525 +129 1.173984503142341 1.173984503142341 1.173984503142341 0.453096146271983 -0.38728607571982976 -0.6241259420947486 0.5051536263270361 +130 1.173984503142341 1.173984503142341 1.173984503142341 -0.4409693358675804 0.53279196704852 0.4417418096721996 -0.5714393565905346 +131 1.173984503142341 1.173984503142341 1.173984503142341 -0.18566644236274712 0.6770317752573873 0.25184635469644123 -0.6661301382600142 +132 1.173984503142341 1.173984503142341 1.173984503142341 0.015608637060561658 0.7425789407541207 -0.020406929491472138 -0.6692656008090734 +133 1.173984503142341 1.173984503142341 1.173984503142341 0.08018393872270876 0.7828265827838332 -0.23834222384166942 -0.5691625967964753 +134 1.173984503142341 1.173984503142341 1.173984503142341 0.13194668226893702 0.7589329168513657 -0.46681103776605365 -0.43439424003717964 +135 1.173984503142341 1.173984503142341 1.173984503142341 0.23078479216727615 0.7124321296591045 -0.5847273355040361 -0.31188585002858094 +136 1.173984503142341 1.173984503142341 1.173984503142341 -0.25136284638005546 -0.45701375225575186 0.841389844073701 0.14148597103058816 +137 1.173984503142341 1.173984503142341 1.173984503142341 -0.33882629405552384 -0.365928882584538 0.8652581637618377 0.05119673222505744 +138 1.173984503142341 1.173984503142341 1.173984503142341 -0.3901032217728516 -0.04271905647523107 0.919195929073709 -0.03276282269018462 +139 1.173984503142341 1.173984503142341 1.173984503142341 -0.3503464321192356 0.2164507057056595 0.8846466649907219 -0.21864754199770353 +140 1.173984503142341 1.173984503142341 1.173984503142341 -0.2714234139641493 0.5100075547669219 0.7525252671110235 -0.3161128703362045 +141 1.173984503142341 1.173984503142341 1.173984503142341 -0.18623801902606954 0.7425995746707363 0.5393607888180064 -0.35064399531961904 +142 1.173984503142341 1.173984503142341 1.173984503142341 -0.20986530401416495 0.8687694482447833 0.31310815046609125 -0.3211845047308489 +143 1.173984503142341 1.173984503142341 1.173984503142341 -0.1354858154681459 0.9418151150282347 0.014007263864675714 -0.3072973795370049 +144 1.173984503142341 1.173984503142341 1.173984503142341 -0.09121534676964865 0.942226022288734 -0.27543028841845296 -0.16741576884323378 +145 1.173984503142341 1.173984503142341 1.173984503142341 -0.07761809459687324 0.8625267258049417 -0.49537475942792236 -0.06802151413402847 +146 1.173984503142341 1.173984503142341 1.173984503142341 -0.07853628249634757 0.6763776292711046 -0.7295609015799718 -0.06392375019562685 +147 1.173984503142341 1.173984503142341 1.173984503142341 0.18414802295685903 -0.34920401662445405 0.9187682994180332 0.0032973320918147885 +148 1.173984503142341 1.173984503142341 1.173984503142341 0.13019081328575915 -0.1370605858009623 0.9781659097238085 -0.08634929652338917 diff --git a/examples/PACKAGES/cgdna/examples/oxDNA2/dsring/in.dsring b/examples/PACKAGES/cgdna/examples/oxDNA2/dsring/in.dsring new file mode 100644 index 0000000000..68b77de981 --- /dev/null +++ b/examples/PACKAGES/cgdna/examples/oxDNA2/dsring/in.dsring @@ -0,0 +1,72 @@ +variable number equal 5 +variable ofreq equal 1000 +variable efreq equal 1000 +variable T equal 0.1 +variable rhos equal 0.2 + +units lj + +dimension 3 + +newton off + +boundary p p p + +atom_style hybrid bond ellipsoid oxdna +atom_modify sort 0 1.0 + +# Pair interactions require lists of neighbours to be calculated +neighbor 2.0 bin +neigh_modify every 1 delay 0 check yes + +read_data data.dsring + +set atom * mass 3.1575 + +group all type 1 4 + +# oxDNA2 bond interactions - FENE backbone +bond_style oxdna2/fene +bond_coeff * 2.0 0.25 0.7564 +special_bonds lj 0 1 1 + +# oxDNA2 pair interactions +pair_style hybrid/overlay oxdna2/excv oxdna2/stk oxdna2/hbond oxdna2/xstk oxdna2/coaxstk oxdna2/dh +pair_coeff * * oxdna2/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32 +pair_coeff * * oxdna2/stk seqdep ${T} 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 +pair_coeff * * oxdna2/hbond seqdep 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 1 4 oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 2 3 oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff * * oxdna2/xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68 +pair_coeff * * oxdna2/coaxstk 58.5 0.4 0.6 0.22 0.58 2.0 2.891592653589793 0.65 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 40.0 3.116592653589793 +pair_coeff * * oxdna2/dh ${T} ${rhos} 0.815 + +# NVE ensemble +fix 1 all nve/asphere +#fix 2 all langevin ${T} ${T} 2.5 457145 angmom 10 + +timestep 1e-5 + +#comm_style tiled +fix 3 all balance 1000 1.03 shift xyz 10 1.03 +comm_modify cutoff 3.8 + +compute quat all property/atom quatw quati quatj quatk + +compute erot all erotate/asphere +compute ekin all ke +compute epot all pe +variable erot equal c_erot +variable ekin equal c_ekin +variable epot equal c_epot +variable etot equal c_erot+c_ekin+c_epot +fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes + +dump out all custom ${ofreq} out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump_modify out sort id +dump_modify out format line "%d %d %d %22.15le %22.15le %22.15le %d %d %d %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le" + +run 100000 + +#write_data last_config.${number}.* nocoeff +#write_restart last_config.${number}.* diff --git a/examples/PACKAGES/cgdna/examples/oxDNA2/dsring/log.2Jul21.dsring.g++.1 b/examples/PACKAGES/cgdna/examples/oxDNA2/dsring/log.2Jul21.dsring.g++.1 new file mode 100644 index 0000000000..f1870c13e6 --- /dev/null +++ b/examples/PACKAGES/cgdna/examples/oxDNA2/dsring/log.2Jul21.dsring.g++.1 @@ -0,0 +1,279 @@ +LAMMPS (2 Jul 2021) +variable number equal 5 +variable ofreq equal 1000 +variable efreq equal 1000 +variable T equal 0.1 +variable rhos equal 0.2 + +units lj + +dimension 3 + +newton off + +boundary p p p + +atom_style hybrid bond ellipsoid oxdna +WARNING: Atom style hybrid defines both, per-type and per-atom masses; both must be set, but only per-atom masses will be used (../atom_vec_hybrid.cpp:157) +atom_modify sort 0 1.0 + +# Pair interactions require lists of neighbours to be calculated +neighbor 2.0 bin +neigh_modify every 1 delay 0 check yes + +read_data data.dsring +Reading data file ... + orthogonal box = (0.0000000 0.0000000 0.0000000) to (100.00000 100.00000 100.00000) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 148 atoms + reading velocities ... + 148 velocities + scanning bonds ... + 2 = max bonds/atom + 148 ellipsoids + reading bonds ... + 148 bonds +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 + 2 = max # of 1-3 neighbors + 4 = max # of 1-4 neighbors + 6 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.004 seconds + +set atom * mass 3.1575 +Setting atom values ... + 148 settings made for mass + +group all type 1 4 +148 atoms in group all + +# oxDNA2 bond interactions - FENE backbone +bond_style oxdna2/fene +bond_coeff * 2.0 0.25 0.7564 +special_bonds lj 0 1 1 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 1 1 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 2 = max # of 1-3 neighbors + 4 = max # of 1-4 neighbors + 6 = max # of special neighbors + special bonds CPU = 0.000 seconds + +# oxDNA2 pair interactions +pair_style hybrid/overlay oxdna2/excv oxdna2/stk oxdna2/hbond oxdna2/xstk oxdna2/coaxstk oxdna2/dh +pair_coeff * * oxdna2/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32 +pair_coeff * * oxdna2/stk seqdep ${T} 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 +pair_coeff * * oxdna2/stk seqdep 0.1 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 +pair_coeff * * oxdna2/hbond seqdep 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 1 4 oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 2 3 oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff * * oxdna2/xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68 +pair_coeff * * oxdna2/coaxstk 58.5 0.4 0.6 0.22 0.58 2.0 2.891592653589793 0.65 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 40.0 3.116592653589793 +pair_coeff * * oxdna2/dh ${T} ${rhos} 0.815 +pair_coeff * * oxdna2/dh 0.1 ${rhos} 0.815 +pair_coeff * * oxdna2/dh 0.1 0.2 0.815 + +# NVE ensemble +fix 1 all nve/asphere +#fix 2 all langevin ${T} ${T} 2.5 457145 angmom 10 + +timestep 1e-5 + +#comm_style tiled +fix 3 all balance 1000 1.03 shift xyz 10 1.03 +comm_modify cutoff 3.8 + +compute quat all property/atom quatw quati quatj quatk + +compute erot all erotate/asphere +compute ekin all ke +compute epot all pe +variable erot equal c_erot +variable ekin equal c_ekin +variable epot equal c_epot +variable etot equal c_erot+c_ekin+c_epot +fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes +fix 5 all print 1000 "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes + +dump out all custom ${ofreq} out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump out all custom 1000 out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump out all custom 1000 out.5.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump_modify out sort id +dump_modify out format line "%d %d %d %22.15le %22.15le %22.15le %d %d %d %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le" + +run 100000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 5.6389877 + ghost atom cutoff = 5.6389877 + binsize = 2.8194939, bins = 36 36 36 + 5 neighbor lists, perpetual/occasional/extra = 5 0 0 + (1) pair oxdna2/excv, perpetual + attributes: half, newton off + pair build: half/bin/newtoff + stencil: full/bin/3d + bin: standard + (2) pair oxdna2/hbond, perpetual, copy from (1) + attributes: half, newton off + pair build: copy + stencil: none + bin: none + (3) pair oxdna2/xstk, perpetual, copy from (1) + attributes: half, newton off + pair build: copy + stencil: none + bin: none + (4) pair oxdna2/coaxstk, perpetual, copy from (1) + attributes: half, newton off + pair build: copy + stencil: none + bin: none + (5) pair oxdna2/dh, perpetual, copy from (1) + attributes: half, newton off + pair build: copy + stencil: none + bin: none +WARNING: Communication cutoff adjusted to 5.638987723814632 (../comm.cpp:739) +0 ekin = 20.4724634226502 | erot = 21.0406985312466 | epot = -222.283862600785 | etot = -180.770700646889 +Per MPI rank memory allocation (min/avg/max) = 9.726 | 9.726 | 9.726 Mbytes +Step Temp E_pair E_mol TotEng Press Volume + 0 0.092845639 -1.5501211 0.04820308 -1.3635905 -9.0052368e-06 1000000 +1000 ekin = 20.531989141805 | erot = 21.2158633183735 | epot = -222.518553109361 | etot = -180.770700649183 +2000 ekin = 20.585620972069 | erot = 21.3918594352261 | epot = -222.748181058335 | etot = -180.77070065104 +3000 ekin = 20.6239332104642 | erot = 21.5529389082728 | epot = -222.947572771312 | etot = -180.770700652575 +4000 ekin = 20.6395549184482 | erot = 21.6854113323895 | epot = -223.095666904229 | etot = -180.770700653391 +5000 ekin = 20.6295551742564 | erot = 21.7809539301805 | epot = -223.181209757876 | etot = -180.770700653439 +6000 ekin = 20.5959625511846 | erot = 21.8369756530727 | epot = -223.203638857302 | etot = -180.770700653045 +7000 ekin = 20.5431034482068 | erot = 21.8556844173875 | epot = -223.169488517717 | etot = -180.770700652122 +8000 ekin = 20.4774701419091 | erot = 21.8437134145374 | epot = -223.091884207389 | etot = -180.770700650943 +9000 ekin = 20.4074566554237 | erot = 21.8097283692398 | epot = -222.98788567426 | etot = -180.770700649597 +10000 ekin = 20.3427303660295 | erot = 21.7629575866663 | epot = -222.876388600949 | etot = -180.770700648253 +11000 ekin = 20.2927407149576 | erot = 21.7112100845349 | epot = -222.774651446682 | etot = -180.770700647189 +12000 ekin = 20.2665977502212 | erot = 21.6594999867139 | epot = -222.696798383221 | etot = -180.770700646286 +13000 ekin = 20.2733920359445 | erot = 21.6092715397933 | epot = -222.653364221616 | etot = -180.770700645878 +14000 ekin = 20.3196524789068 | erot = 21.5586630974992 | epot = -222.649016222075 | etot = -180.770700645669 +15000 ekin = 20.4104009374289 | erot = 21.5031572556306 | epot = -222.684258838857 | etot = -180.770700645798 +16000 ekin = 20.5472869005792 | erot = 21.4346177247041 | epot = -222.752605272036 | etot = -180.770700646753 +17000 ekin = 20.7266657908773 | erot = 21.3426631585217 | epot = -222.840029597232 | etot = -180.770700647833 +18000 ekin = 20.9417612759979 | erot = 21.2178611180927 | epot = -222.930323042997 | etot = -180.770700648907 +19000 ekin = 21.1819308659397 | erot = 21.0532289630294 | epot = -223.00586047892 | etot = -180.770700649951 +20000 ekin = 21.4358169889474 | erot = 20.8473069564707 | epot = -223.053824595387 | etot = -180.770700649969 +21000 ekin = 21.6968513750997 | erot = 20.6066744652586 | epot = -223.074226489837 | etot = -180.770700649479 +22000 ekin = 21.9614458442782 | erot = 20.3429420444511 | epot = -223.07508853737 | etot = -180.770700648641 +23000 ekin = 22.22760997557 | erot = 20.0703385165243 | epot = -223.068649139875 | etot = -180.770700647781 +24000 ekin = 22.4935893196671 | erot = 19.8020671721666 | epot = -223.066357139276 | etot = -180.770700647443 +25000 ekin = 22.7566064548224 | erot = 19.5464828008842 | epot = -223.073789902976 | etot = -180.770700647269 +26000 ekin = 23.0126717548395 | erot = 19.3065017718468 | epot = -223.089874174572 | etot = -180.770700647886 +27000 ekin = 23.255041706059 | erot = 19.0797753474573 | epot = -223.105517701933 | etot = -180.770700648417 +28000 ekin = 23.4774329734801 | erot = 18.864619729958 | epot = -223.112753352067 | etot = -180.770700648629 +29000 ekin = 23.674792772066 | erot = 18.662865341183 | epot = -223.108358761694 | etot = -180.770700648445 +30000 ekin = 23.8432321400243 | erot = 18.481221698364 | epot = -223.095154486375 | etot = -180.770700647987 +31000 ekin = 23.9793041752225 | erot = 18.3307845334023 | epot = -223.08078935577 | etot = -180.770700647145 +32000 ekin = 24.0810246040231 | erot = 18.2261577056005 | epot = -223.07788295592 | etot = -180.770700646296 +33000 ekin = 24.1468986449394 | erot = 18.1820705445407 | epot = -223.09966983514 | etot = -180.77070064566 +34000 ekin = 24.175661513286 | erot = 18.2103812210173 | epot = -223.156743379607 | etot = -180.770700645304 +35000 ekin = 24.1663193894648 | erot = 18.3185351073568 | epot = -223.25555514209 | etot = -180.770700645268 +36000 ekin = 24.1167205812961 | erot = 18.5091649894186 | epot = -223.396586216222 | etot = -180.770700645508 +37000 ekin = 24.0274860006133 | erot = 18.7785134320987 | epot = -223.576700078937 | etot = -180.770700646225 +38000 ekin = 23.8991479078982 | erot = 19.1166063146994 | epot = -223.78645486989 | etot = -180.770700647292 +39000 ekin = 23.7326911853235 | erot = 19.5069160952492 | epot = -224.010307929336 | etot = -180.770700648763 +40000 ekin = 23.529422307212 | erot = 19.9254673141826 | epot = -224.225590272293 | etot = -180.770700650898 +41000 ekin = 23.2899396141392 | erot = 20.340809778056 | epot = -224.401450045566 | etot = -180.770700653371 +42000 ekin = 23.0154529235023 | erot = 20.7165619564846 | epot = -224.502715535761 | etot = -180.770700655775 +43000 ekin = 22.7111536814278 | erot = 21.0163895622229 | epot = -224.498243901358 | etot = -180.770700657707 +44000 ekin = 22.3710575806355 | erot = 21.2060371289781 | epot = -224.347795365753 | etot = -180.770700656139 +45000 ekin = 22.0515843162891 | erot = 21.2588026881768 | epot = -224.081087646891 | etot = -180.770700642425 +46000 ekin = 21.7855632553136 | erot = 21.2036013766602 | epot = -223.759865260062 | etot = -180.770700628088 +47000 ekin = 21.5167766971458 | erot = 21.065636702367 | epot = -223.353114011015 | etot = -180.770700611502 +48000 ekin = 21.4540196107337 | erot = 20.8430832424325 | epot = -223.067803499525 | etot = -180.770700646359 +49000 ekin = 21.3647564765278 | erot = 20.5521507191688 | epot = -222.687607816921 | etot = -180.770700621224 +50000 ekin = 21.3125768184621 | erot = 20.2526464671332 | epot = -222.335923904309 | etot = -180.770700618714 +51000 ekin = 21.2949924810838 | erot = 19.9798421626043 | epot = -222.045535260404 | etot = -180.770700616716 +52000 ekin = 21.3137144249685 | erot = 19.7627691343687 | epot = -221.847184173962 | etot = -180.770700614625 +53000 ekin = 21.3664076685105 | erot = 19.6202359856899 | epot = -221.757344279694 | etot = -180.770700625493 +54000 ekin = 21.421424552406 | erot = 19.55882323195 | epot = -221.750948393747 | etot = -180.770700609391 +55000 ekin = 21.5995673396093 | erot = 19.5805214885678 | epot = -221.950789453583 | etot = -180.770700625406 +56000 ekin = 21.7643125668307 | erot = 19.6816042107778 | epot = -222.216617401429 | etot = -180.77070062382 +57000 ekin = 21.9221309084445 | erot = 19.8499880475953 | epot = -222.542819582064 | etot = -180.770700626024 +58000 ekin = 22.0666093644392 | erot = 20.0713856445716 | epot = -222.908695636277 | etot = -180.770700627266 +59000 ekin = 22.1910921687949 | erot = 20.328402409601 | epot = -223.290195207095 | etot = -180.770700628699 +60000 ekin = 22.2920682490237 | erot = 20.600331953154 | epot = -223.663100832376 | etot = -180.770700630198 +61000 ekin = 22.3680528265789 | erot = 20.864561419886 | epot = -224.003314878046 | etot = -180.770700631581 +62000 ekin = 22.4198570332632 | erot = 21.0983714926627 | epot = -224.288929158678 | etot = -180.770700632752 +63000 ekin = 22.4500800739919 | erot = 21.2815521440893 | epot = -224.502332851296 | etot = -180.770700633215 +64000 ekin = 22.4634052763981 | erot = 21.3990470998276 | epot = -224.633153009903 | etot = -180.770700633677 +65000 ekin = 22.4639885390962 | erot = 21.4413332838522 | epot = -224.676022456447 | etot = -180.770700633499 +66000 ekin = 22.4559522488541 | erot = 21.4074154510862 | epot = -224.634068332758 | etot = -180.770700632817 +67000 ekin = 22.4417384097823 | erot = 21.3051580893559 | epot = -224.517597130738 | etot = -180.770700631599 +68000 ekin = 22.4218785446456 | erot = 21.1490017805238 | epot = -224.341580956059 | etot = -180.77070063089 +69000 ekin = 22.3954651199574 | erot = 20.9555571676353 | epot = -224.121722917262 | etot = -180.77070062967 +70000 ekin = 22.3613349801191 | erot = 20.7433545871753 | epot = -223.875390195706 | etot = -180.770700628411 +71000 ekin = 22.3171019087139 | erot = 20.5301141425045 | epot = -223.617916679046 | etot = -180.770700627827 +72000 ekin = 22.2595195485148 | erot = 20.329630938296 | epot = -223.359851114099 | etot = -180.770700627288 +73000 ekin = 22.1869461213879 | erot = 20.1521902584585 | epot = -223.109837006429 | etot = -180.770700626583 +74000 ekin = 22.0990935565687 | erot = 20.0059494138148 | epot = -222.875743596757 | etot = -180.770700626373 +75000 ekin = 21.9959491639287 | erot = 19.8965902063256 | epot = -222.663239996049 | etot = -180.770700625795 +76000 ekin = 21.8806005890451 | erot = 19.8284243363261 | epot = -222.47972555068 | etot = -180.770700625309 +77000 ekin = 21.7590261899816 | erot = 19.8043252195866 | epot = -222.334052034218 | etot = -180.77070062465 +78000 ekin = 21.639241983951 | erot = 19.8262630279238 | epot = -222.236205635988 | etot = -180.770700624113 +79000 ekin = 21.5302317519724 | erot = 19.8938812521579 | epot = -222.19481362777 | etot = -180.77070062364 +80000 ekin = 21.4402276725665 | erot = 20.0060100278945 | epot = -222.216938324075 | etot = -180.770700623614 +81000 ekin = 21.3741486759864 | erot = 20.1585144791611 | epot = -222.30336377944 | etot = -180.770700624292 +82000 ekin = 21.3325013763512 | erot = 20.3431413542723 | epot = -222.446343355881 | etot = -180.770700625258 +83000 ekin = 21.3128808684044 | erot = 20.5483309907718 | epot = -222.63191248578 | etot = -180.770700626604 +84000 ekin = 21.3107661707936 | erot = 20.760791978517 | epot = -222.842258777119 | etot = -180.770700627809 +85000 ekin = 21.3216301567282 | erot = 20.967841853924 | epot = -223.060172639486 | etot = -180.770700628834 +86000 ekin = 21.3400295156728 | erot = 21.1566564817949 | epot = -223.267386627524 | etot = -180.770700630056 +87000 ekin = 21.3617783036996 | erot = 21.3170902458385 | epot = -223.449569179882 | etot = -180.770700630344 +88000 ekin = 21.3873913218412 | erot = 21.4454439910409 | epot = -223.603535942848 | etot = -180.770700629966 +89000 ekin = 21.4215740693991 | erot = 21.5439953706444 | epot = -223.736270068948 | etot = -180.770700628904 +90000 ekin = 21.4723781618092 | erot = 21.6216769093334 | epot = -223.864755698469 | etot = -180.770700627326 +91000 ekin = 21.5494066254721 | erot = 21.6927202486451 | epot = -224.012827499722 | etot = -180.770700625605 +92000 ekin = 21.6619209347598 | erot = 21.7730744492999 | epot = -224.205696008348 | etot = -180.770700624289 +93000 ekin = 21.8158778641473 | erot = 21.8756732628035 | epot = -224.462251750825 | etot = -180.770700623875 +94000 ekin = 22.0110275730999 | erot = 22.0060799403011 | epot = -224.787808138196 | etot = -180.770700624795 +95000 ekin = 22.2387555838385 | erot = 22.1596167137182 | epot = -225.16907292429 | etot = -180.770700626734 +96000 ekin = 22.4832444899363 | erot = 22.3220202374392 | epot = -225.575965356876 | etot = -180.7707006295 +97000 ekin = 22.7237276202696 | erot = 22.4720556690115 | epot = -225.966483921719 | etot = -180.770700632438 +98000 ekin = 22.9377647716045 | erot = 22.5858660312272 | epot = -226.294331437119 | etot = -180.770700634287 +99000 ekin = 23.1071231637242 | erot = 22.6457411046182 | epot = -226.523564904806 | etot = -180.770700636464 +100000 ekin = 23.2156001924317 | erot = 22.6390310936005 | epot = -226.625331923823 | etot = -180.770700637791 + 100000 0.10528617 -1.5761124 0.044860201 -1.3743901 -1.9205819e-05 1000000 +Loop time of 81.8713 on 1 procs for 100000 steps with 148 atoms + +Performance: 1055.315 tau/day, 1221.430 timesteps/s +99.8% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 78.718 | 78.718 | 78.718 | 0.0 | 96.15 +Bond | 0.97064 | 0.97064 | 0.97064 | 0.0 | 1.19 +Neigh | 0.016915 | 0.016915 | 0.016915 | 0.0 | 0.02 +Comm | 0.027127 | 0.027127 | 0.027127 | 0.0 | 0.03 +Output | 0.12162 | 0.12162 | 0.12162 | 0.0 | 0.15 +Modify | 1.9185 | 1.9185 | 1.9185 | 0.0 | 2.34 +Other | | 0.09845 | | | 0.12 + +Nlocal: 148.000 ave 148 max 148 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 0.00000 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 4199.00 ave 4199 max 4199 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 4199 +Ave neighs/atom = 28.371622 +Ave special neighs/atom = 6.0000000 +Neighbor list builds = 100 +Dangerous builds = 0 + +#write_data last_config.${number}.* nocoeff +#write_restart last_config.${number}.* +Total wall time: 0:01:21 diff --git a/examples/PACKAGES/cgdna/examples/oxDNA2/dsring/log.2Jul21.dsring.g++.4 b/examples/PACKAGES/cgdna/examples/oxDNA2/dsring/log.2Jul21.dsring.g++.4 new file mode 100644 index 0000000000..1b2e2b23dc --- /dev/null +++ b/examples/PACKAGES/cgdna/examples/oxDNA2/dsring/log.2Jul21.dsring.g++.4 @@ -0,0 +1,279 @@ +LAMMPS (2 Jul 2021) +variable number equal 5 +variable ofreq equal 1000 +variable efreq equal 1000 +variable T equal 0.1 +variable rhos equal 0.2 + +units lj + +dimension 3 + +newton off + +boundary p p p + +atom_style hybrid bond ellipsoid oxdna +WARNING: Atom style hybrid defines both, per-type and per-atom masses; both must be set, but only per-atom masses will be used (../atom_vec_hybrid.cpp:157) +atom_modify sort 0 1.0 + +# Pair interactions require lists of neighbours to be calculated +neighbor 2.0 bin +neigh_modify every 1 delay 0 check yes + +read_data data.dsring +Reading data file ... + orthogonal box = (0.0000000 0.0000000 0.0000000) to (100.00000 100.00000 100.00000) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 148 atoms + reading velocities ... + 148 velocities + scanning bonds ... + 2 = max bonds/atom + 148 ellipsoids + reading bonds ... + 148 bonds +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 + 2 = max # of 1-3 neighbors + 4 = max # of 1-4 neighbors + 6 = max # of special neighbors + special bonds CPU = 0.001 seconds + read_data CPU = 0.008 seconds + +set atom * mass 3.1575 +Setting atom values ... + 148 settings made for mass + +group all type 1 4 +148 atoms in group all + +# oxDNA2 bond interactions - FENE backbone +bond_style oxdna2/fene +bond_coeff * 2.0 0.25 0.7564 +special_bonds lj 0 1 1 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 1 1 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 2 = max # of 1-3 neighbors + 4 = max # of 1-4 neighbors + 6 = max # of special neighbors + special bonds CPU = 0.000 seconds + +# oxDNA2 pair interactions +pair_style hybrid/overlay oxdna2/excv oxdna2/stk oxdna2/hbond oxdna2/xstk oxdna2/coaxstk oxdna2/dh +pair_coeff * * oxdna2/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32 +pair_coeff * * oxdna2/stk seqdep ${T} 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 +pair_coeff * * oxdna2/stk seqdep 0.1 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 +pair_coeff * * oxdna2/hbond seqdep 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 1 4 oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 2 3 oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff * * oxdna2/xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68 +pair_coeff * * oxdna2/coaxstk 58.5 0.4 0.6 0.22 0.58 2.0 2.891592653589793 0.65 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 40.0 3.116592653589793 +pair_coeff * * oxdna2/dh ${T} ${rhos} 0.815 +pair_coeff * * oxdna2/dh 0.1 ${rhos} 0.815 +pair_coeff * * oxdna2/dh 0.1 0.2 0.815 + +# NVE ensemble +fix 1 all nve/asphere +#fix 2 all langevin ${T} ${T} 2.5 457145 angmom 10 + +timestep 1e-5 + +#comm_style tiled +fix 3 all balance 1000 1.03 shift xyz 10 1.03 +comm_modify cutoff 3.8 + +compute quat all property/atom quatw quati quatj quatk + +compute erot all erotate/asphere +compute ekin all ke +compute epot all pe +variable erot equal c_erot +variable ekin equal c_ekin +variable epot equal c_epot +variable etot equal c_erot+c_ekin+c_epot +fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes +fix 5 all print 1000 "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes + +dump out all custom ${ofreq} out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump out all custom 1000 out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump out all custom 1000 out.5.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump_modify out sort id +dump_modify out format line "%d %d %d %22.15le %22.15le %22.15le %d %d %d %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le" + +run 100000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 5.6389877 + ghost atom cutoff = 5.6389877 + binsize = 2.8194939, bins = 36 36 36 + 5 neighbor lists, perpetual/occasional/extra = 5 0 0 + (1) pair oxdna2/excv, perpetual + attributes: half, newton off + pair build: half/bin/newtoff + stencil: full/bin/3d + bin: standard + (2) pair oxdna2/hbond, perpetual, copy from (1) + attributes: half, newton off + pair build: copy + stencil: none + bin: none + (3) pair oxdna2/xstk, perpetual, copy from (1) + attributes: half, newton off + pair build: copy + stencil: none + bin: none + (4) pair oxdna2/coaxstk, perpetual, copy from (1) + attributes: half, newton off + pair build: copy + stencil: none + bin: none + (5) pair oxdna2/dh, perpetual, copy from (1) + attributes: half, newton off + pair build: copy + stencil: none + bin: none +WARNING: Communication cutoff adjusted to 5.638987723814632 (../comm.cpp:739) +0 ekin = 20.4724634226502 | erot = 21.0406985312466 | epot = -222.283862600785 | etot = -180.770700646889 +Per MPI rank memory allocation (min/avg/max) = 9.508 | 9.558 | 9.632 Mbytes +Step Temp E_pair E_mol TotEng Press Volume + 0 0.092845639 -1.5501211 0.04820308 -1.3635905 -9.0052368e-06 1000000 +1000 ekin = 20.531989141805 | erot = 21.2158633183735 | epot = -222.518553109361 | etot = -180.770700649183 +2000 ekin = 20.585620972069 | erot = 21.391859435226 | epot = -222.748181058335 | etot = -180.77070065104 +3000 ekin = 20.6239332104643 | erot = 21.5529389082727 | epot = -222.947572771312 | etot = -180.770700652575 +4000 ekin = 20.6395549184482 | erot = 21.6854113323894 | epot = -223.095666904229 | etot = -180.770700653391 +5000 ekin = 20.6295551742564 | erot = 21.7809539301804 | epot = -223.181209757876 | etot = -180.770700653439 +6000 ekin = 20.5959625511847 | erot = 21.8369756530726 | epot = -223.203638857302 | etot = -180.770700653045 +7000 ekin = 20.5431034482068 | erot = 21.8556844173874 | epot = -223.169488517717 | etot = -180.770700652122 +8000 ekin = 20.4774701419092 | erot = 21.8437134145373 | epot = -223.091884207389 | etot = -180.770700650943 +9000 ekin = 20.4074566554239 | erot = 21.8097283692397 | epot = -222.987885674261 | etot = -180.770700649597 +10000 ekin = 20.3427303660297 | erot = 21.7629575866662 | epot = -222.876388600948 | etot = -180.770700648253 +11000 ekin = 20.2927407149578 | erot = 21.7112100845349 | epot = -222.774651446682 | etot = -180.77070064719 +12000 ekin = 20.2665977502213 | erot = 21.6594999867139 | epot = -222.696798383222 | etot = -180.770700646287 +13000 ekin = 20.2733920359447 | erot = 21.6092715397934 | epot = -222.653364221616 | etot = -180.770700645878 +14000 ekin = 20.3196524789069 | erot = 21.5586630974992 | epot = -222.649016222076 | etot = -180.770700645669 +15000 ekin = 20.410400937429 | erot = 21.5031572556308 | epot = -222.684258838858 | etot = -180.770700645798 +16000 ekin = 20.5472869005792 | erot = 21.4346177247042 | epot = -222.752605272036 | etot = -180.770700646753 +17000 ekin = 20.7266657908773 | erot = 21.3426631585219 | epot = -222.840029597232 | etot = -180.770700647833 +18000 ekin = 20.9417612759978 | erot = 21.2178611180929 | epot = -222.930323042998 | etot = -180.770700648907 +19000 ekin = 21.1819308659395 | erot = 21.0532289630295 | epot = -223.005860478921 | etot = -180.770700649952 +20000 ekin = 21.4358169889472 | erot = 20.8473069564709 | epot = -223.053824595387 | etot = -180.770700649969 +21000 ekin = 21.6968513750994 | erot = 20.6066744652587 | epot = -223.074226489837 | etot = -180.770700649479 +22000 ekin = 21.9614458442779 | erot = 20.3429420444511 | epot = -223.07508853737 | etot = -180.770700648641 +23000 ekin = 22.2276099755697 | erot = 20.0703385165243 | epot = -223.068649139875 | etot = -180.770700647781 +24000 ekin = 22.4935893196667 | erot = 19.8020671721665 | epot = -223.066357139277 | etot = -180.770700647443 +25000 ekin = 22.756606454822 | erot = 19.5464828008841 | epot = -223.073789902976 | etot = -180.77070064727 +26000 ekin = 23.0126717548392 | erot = 19.3065017718467 | epot = -223.089874174572 | etot = -180.770700647886 +27000 ekin = 23.2550417060587 | erot = 19.0797753474572 | epot = -223.105517701932 | etot = -180.770700648417 +28000 ekin = 23.4774329734798 | erot = 18.8646197299578 | epot = -223.112753352067 | etot = -180.770700648629 +29000 ekin = 23.6747927720656 | erot = 18.6628653411828 | epot = -223.108358761693 | etot = -180.770700648445 +30000 ekin = 23.843232140024 | erot = 18.4812216983639 | epot = -223.095154486375 | etot = -180.770700647987 +31000 ekin = 23.9793041752223 | erot = 18.330784533402 | epot = -223.08078935577 | etot = -180.770700647146 +32000 ekin = 24.081024604023 | erot = 18.2261577056003 | epot = -223.077882955919 | etot = -180.770700646296 +33000 ekin = 24.1468986449394 | erot = 18.1820705445404 | epot = -223.09966983514 | etot = -180.77070064566 +34000 ekin = 24.175661513286 | erot = 18.2103812210168 | epot = -223.156743379607 | etot = -180.770700645304 +35000 ekin = 24.166319389465 | erot = 18.3185351073562 | epot = -223.255555142089 | etot = -180.770700645268 +36000 ekin = 24.1167205812963 | erot = 18.509164989418 | epot = -223.396586216223 | etot = -180.770700645508 +37000 ekin = 24.0274860006135 | erot = 18.778513432098 | epot = -223.576700078937 | etot = -180.770700646225 +38000 ekin = 23.8991479078985 | erot = 19.1166063146986 | epot = -223.78645486989 | etot = -180.770700647293 +39000 ekin = 23.7326911853237 | erot = 19.5069160952483 | epot = -224.010307929335 | etot = -180.770700648763 +40000 ekin = 23.5294223072123 | erot = 19.9254673141817 | epot = -224.225590272292 | etot = -180.770700650898 +41000 ekin = 23.2899396141395 | erot = 20.3408097780551 | epot = -224.401450045567 | etot = -180.770700653372 +42000 ekin = 23.0154529235027 | erot = 20.7165619564837 | epot = -224.502715535762 | etot = -180.770700655775 +43000 ekin = 22.7111536814281 | erot = 21.0163895622221 | epot = -224.498243901358 | etot = -180.770700657708 +44000 ekin = 22.3710575806358 | erot = 21.2060371289775 | epot = -224.347795365753 | etot = -180.77070065614 +45000 ekin = 22.0515843162892 | erot = 21.2588026881763 | epot = -224.081087646891 | etot = -180.770700642425 +46000 ekin = 21.7855632553138 | erot = 21.2036013766598 | epot = -223.759865260062 | etot = -180.770700628088 +47000 ekin = 21.5167766971457 | erot = 21.0656367023666 | epot = -223.353114011016 | etot = -180.770700611503 +48000 ekin = 21.454019610733 | erot = 20.8430832424322 | epot = -223.067803499525 | etot = -180.77070064636 +49000 ekin = 21.3647564765269 | erot = 20.5521507191685 | epot = -222.687607816921 | etot = -180.770700621226 +50000 ekin = 21.312576818461 | erot = 20.252646467133 | epot = -222.335923904309 | etot = -180.770700618715 +51000 ekin = 21.2949924810824 | erot = 19.9798421626041 | epot = -222.045535260404 | etot = -180.770700616717 +52000 ekin = 21.3137144249669 | erot = 19.7627691343685 | epot = -221.847184173962 | etot = -180.770700614627 +53000 ekin = 21.3664076685088 | erot = 19.6202359856897 | epot = -221.757344279693 | etot = -180.770700625495 +54000 ekin = 21.4214245524042 | erot = 19.5588232319498 | epot = -221.750948393746 | etot = -180.770700609392 +55000 ekin = 21.5995673396072 | erot = 19.5805214885676 | epot = -221.950789453582 | etot = -180.770700625407 +56000 ekin = 21.7643125668285 | erot = 19.6816042107776 | epot = -222.216617401428 | etot = -180.770700623822 +57000 ekin = 21.9221309084424 | erot = 19.8499880475952 | epot = -222.542819582063 | etot = -180.770700626025 +58000 ekin = 22.0666093644371 | erot = 20.0713856445716 | epot = -222.908695636277 | etot = -180.770700627268 +59000 ekin = 22.191092168793 | erot = 20.3284024096011 | epot = -223.290195207095 | etot = -180.7707006287 +60000 ekin = 22.292068249022 | erot = 20.6003319531543 | epot = -223.663100832376 | etot = -180.7707006302 +61000 ekin = 22.3680528265774 | erot = 20.8645614198865 | epot = -224.003314878046 | etot = -180.770700631582 +62000 ekin = 22.4198570332621 | erot = 21.0983714926634 | epot = -224.288929158679 | etot = -180.770700632754 +63000 ekin = 22.450080073991 | erot = 21.2815521440901 | epot = -224.502332851297 | etot = -180.770700633216 +64000 ekin = 22.4634052763974 | erot = 21.3990470998285 | epot = -224.633153009904 | etot = -180.770700633678 +65000 ekin = 22.4639885390957 | erot = 21.4413332838532 | epot = -224.676022456449 | etot = -180.7707006335 +66000 ekin = 22.4559522488539 | erot = 21.4074154510872 | epot = -224.634068332759 | etot = -180.770700632818 +67000 ekin = 22.4417384097822 | erot = 21.3051580893569 | epot = -224.517597130739 | etot = -180.7707006316 +68000 ekin = 22.4218785446457 | erot = 21.1490017805248 | epot = -224.341580956061 | etot = -180.770700630891 +69000 ekin = 22.3954651199575 | erot = 20.9555571676363 | epot = -224.121722917264 | etot = -180.77070062967 +70000 ekin = 22.3613349801193 | erot = 20.7433545871763 | epot = -223.875390195707 | etot = -180.770700628412 +71000 ekin = 22.317101908714 | erot = 20.5301141425054 | epot = -223.617916679047 | etot = -180.770700627827 +72000 ekin = 22.2595195485149 | erot = 20.3296309382967 | epot = -223.3598511141 | etot = -180.770700627289 +73000 ekin = 22.186946121388 | erot = 20.1521902584591 | epot = -223.109837006431 | etot = -180.770700626584 +74000 ekin = 22.0990935565685 | erot = 20.0059494138152 | epot = -222.875743596758 | etot = -180.770700626374 +75000 ekin = 21.9959491639285 | erot = 19.8965902063258 | epot = -222.66323999605 | etot = -180.770700625796 +76000 ekin = 21.8806005890447 | erot = 19.8284243363262 | epot = -222.47972555068 | etot = -180.770700625309 +77000 ekin = 21.7590261899811 | erot = 19.8043252195865 | epot = -222.334052034218 | etot = -180.77070062465 +78000 ekin = 21.6392419839504 | erot = 19.8262630279235 | epot = -222.236205635988 | etot = -180.770700624114 +79000 ekin = 21.5302317519716 | erot = 19.8938812521573 | epot = -222.19481362777 | etot = -180.770700623641 +80000 ekin = 21.4402276725656 | erot = 20.0060100278937 | epot = -222.216938324074 | etot = -180.770700623615 +81000 ekin = 21.3741486759853 | erot = 20.1585144791602 | epot = -222.303363779439 | etot = -180.770700624293 +82000 ekin = 21.3325013763501 | erot = 20.3431413542714 | epot = -222.44634335588 | etot = -180.770700625258 +83000 ekin = 21.3128808684032 | erot = 20.5483309907707 | epot = -222.631912485778 | etot = -180.770700626604 +84000 ekin = 21.3107661707924 | erot = 20.7607919785161 | epot = -222.842258777118 | etot = -180.77070062781 +85000 ekin = 21.3216301567271 | erot = 20.9678418539233 | epot = -223.060172639485 | etot = -180.770700628834 +86000 ekin = 21.3400295156717 | erot = 21.1566564817944 | epot = -223.267386627523 | etot = -180.770700630057 +87000 ekin = 21.3617783036987 | erot = 21.3170902458384 | epot = -223.449569179882 | etot = -180.770700630345 +88000 ekin = 21.3873913218405 | erot = 21.4454439910411 | epot = -223.603535942848 | etot = -180.770700629967 +89000 ekin = 21.4215740693986 | erot = 21.5439953706449 | epot = -223.736270068949 | etot = -180.770700628906 +90000 ekin = 21.4723781618088 | erot = 21.6216769093341 | epot = -223.864755698471 | etot = -180.770700627328 +91000 ekin = 21.5494066254718 | erot = 21.6927202486458 | epot = -224.012827499724 | etot = -180.770700625606 +92000 ekin = 21.6619209347595 | erot = 21.7730744493006 | epot = -224.20569600835 | etot = -180.77070062429 +93000 ekin = 21.815877864147 | erot = 21.8756732628043 | epot = -224.462251750826 | etot = -180.770700623875 +94000 ekin = 22.0110275730996 | erot = 22.0060799403017 | epot = -224.787808138197 | etot = -180.770700624796 +95000 ekin = 22.2387555838383 | erot = 22.1596167137187 | epot = -225.169072924291 | etot = -180.770700626735 +96000 ekin = 22.483244489936 | erot = 22.3220202374395 | epot = -225.575965356877 | etot = -180.770700629501 +97000 ekin = 22.7237276202693 | erot = 22.4720556690117 | epot = -225.96648392172 | etot = -180.770700632439 +98000 ekin = 22.937764771604 | erot = 22.5858660312272 | epot = -226.29433143712 | etot = -180.770700634289 +99000 ekin = 23.1071231637235 | erot = 22.645741104618 | epot = -226.523564904807 | etot = -180.770700636466 +100000 ekin = 23.2156001924308 | erot = 22.6390310936003 | epot = -226.625331923823 | etot = -180.770700637792 + 100000 0.10528617 -1.5761124 0.044860201 -1.3743901 -1.9205819e-05 1000000 +Loop time of 39.1 on 4 procs for 100000 steps with 148 atoms + +Performance: 2209.721 tau/day, 2557.548 timesteps/s +99.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 | 33.685 | 34.998 | 35.676 | 13.1 | 89.51 +Bond | 0.30808 | 0.31468 | 0.31829 | 0.7 | 0.80 +Neigh | 0.008861 | 0.0089438 | 0.009012 | 0.1 | 0.02 +Comm | 0.79376 | 0.80216 | 0.8131 | 0.9 | 2.05 +Output | 0.054153 | 0.056983 | 0.058706 | 0.8 | 0.15 +Modify | 0.55623 | 0.5647 | 0.57239 | 0.9 | 1.44 +Other | | 2.354 | | | 6.02 + +Nlocal: 37.0000 ave 38 max 36 min +Histogram: 1 0 0 0 0 2 0 0 0 1 +Nghost: 111.000 ave 112 max 110 min +Histogram: 1 0 0 0 0 2 0 0 0 1 +Neighs: 1693.75 ave 1737 max 1653 min +Histogram: 1 1 0 0 0 0 0 1 0 1 + +Total # of neighbors = 6775 +Ave neighs/atom = 45.777027 +Ave special neighs/atom = 6.0000000 +Neighbor list builds = 100 +Dangerous builds = 0 + +#write_data last_config.${number}.* nocoeff +#write_restart last_config.${number}.* +Total wall time: 0:00:39 From a4d58462dfd3b3ee9dd3a1cc7694f241c03d57f0 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 16 Jul 2021 10:54:59 -0400 Subject: [PATCH 432/726] simplify and avoid failure with -ffast-math where NaN signaling doesn't work reliably --- src/USER-MISC/pair_e3b.cpp | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/src/USER-MISC/pair_e3b.cpp b/src/USER-MISC/pair_e3b.cpp index 3052356e1d..1f7e9fa3bb 100644 --- a/src/USER-MISC/pair_e3b.cpp +++ b/src/USER-MISC/pair_e3b.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -30,9 +29,6 @@ #include #include -#include -#include -#include //these are defined here to avoid confusing hardcoded indices, but //they do not allow flexibility. If they are changed the code will break @@ -41,6 +37,8 @@ #define NUMO 2 //number of oxygen atoms per pair of water molecules #define BOND_DELTA 1.01 //buffer for OH bonds that aren't perfectly rigid +static constexpr double NOT_SET=1.024e300; + using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ @@ -411,7 +409,7 @@ void PairE3B::coeff(int narg, char **arg) bool repeatFlag=false; //clear parameters - e2=ea=eb=ec=k3=k2=NAN; + e2=ea=eb=ec=k3=k2=NOT_SET; rs=rc3=rc2=0.0; int iarg = 2; //beginning of keyword/value pairs @@ -448,7 +446,7 @@ void PairE3B::coeff(int narg, char **arg) checkInputs(bondL); //cutmax for neighbor listing - cutmax = std::max(rc2,rc3); + cutmax = MAX(rc2,rc3); rc2sq = rc2*rc2; rc3sq = rc3*rc3; rc3deltaSq = (rc3+bondL)*(rc3+bondL); @@ -525,8 +523,8 @@ void PairE3B::presetParam(const int flag,bool &repeatFlag,double &bondL) { error->all(FLERR,"Cannot request two different sets of preset parameters"); repeatFlag=true; - if (!std::isnan(ea) || !std::isnan(eb) || !std::isnan(ec) || - !std::isnan(e2) || !std::isnan(k3) || !std::isnan(k2) || + if (ea!=NOT_SET || eb!=NOT_SET || ec!=NOT_SET || + e2!=NOT_SET || k3!=NOT_SET || k2!=NOT_SET || bondL!=0.0 || rs!=0.0 || rc3!=0.0 || rc2!=0.0 ) error->all(FLERR,"Preset keyword will overwrite another keyword setting"); @@ -648,17 +646,17 @@ void PairE3B::checkInputs(const double &bondL) { error->all(FLERR,"Rc3 keyword missing"); if (bondL==0.0) error->all(FLERR,"bondL keyword missing"); - if (std::isnan(ea)) + if (ea==NOT_SET) error->all(FLERR,"Ea keyword missing"); - if (std::isnan(eb)) + if (eb==NOT_SET) error->all(FLERR,"Eb keyword missing"); - if (std::isnan(ec)) + if (ec==NOT_SET) error->all(FLERR,"Ec keyword missing"); - if (std::isnan(k3)) + if (k3==NOT_SET) error->all(FLERR,"K3 keyword missing"); - if (std::isnan(e2)) + if (e2==NOT_SET) error->all(FLERR,"E2 keyword missing"); - if (std::isnan(k2)) + if (k2==NOT_SET) error->all(FLERR,"K2 keyword missing"); //now test that values are within acceptable ranges From ef2e5dbb731f16d0bdfada4457429bf2526cdb05 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 16 Jul 2021 10:56:54 -0400 Subject: [PATCH 433/726] reformat --- src/USER-MISC/pair_e3b.cpp | 584 ++++++++++++++++++------------------- 1 file changed, 282 insertions(+), 302 deletions(-) diff --git a/src/USER-MISC/pair_e3b.cpp b/src/USER-MISC/pair_e3b.cpp index 1f7e9fa3bb..a904939e42 100644 --- a/src/USER-MISC/pair_e3b.cpp +++ b/src/USER-MISC/pair_e3b.cpp @@ -33,28 +33,28 @@ //these are defined here to avoid confusing hardcoded indices, but //they do not allow flexibility. If they are changed the code will break #define DIM 3 -#define NUMH 2 //number of hydrogen atoms per water molecule -#define NUMO 2 //number of oxygen atoms per pair of water molecules -#define BOND_DELTA 1.01 //buffer for OH bonds that aren't perfectly rigid +#define NUMH 2 //number of hydrogen atoms per water molecule +#define NUMO 2 //number of oxygen atoms per pair of water molecules +#define BOND_DELTA 1.01 //buffer for OH bonds that aren't perfectly rigid -static constexpr double NOT_SET=1.024e300; +static constexpr double NOT_SET = 1.024e300; using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -PairE3B::PairE3B(LAMMPS *lmp) : Pair(lmp),pairPerAtom(10) +PairE3B::PairE3B(LAMMPS *lmp) : Pair(lmp), pairPerAtom(10) { single_enable = 0; restartinfo = 0; one_coeff = 1; - nextra=4; //store and tally pot energy terms eA, eB, eC, and e2 + nextra = 4; //store and tally pot energy terms eA, eB, eC, and e2 pvector = new double[nextra]; allocatedE3B = false; - pairO = nullptr; - pairH = nullptr; - exps = nullptr; - del3 = nullptr; + pairO = nullptr; + pairH = nullptr; + exps = nullptr; + del3 = nullptr; fpair3 = nullptr; sumExp = nullptr; } @@ -87,23 +87,22 @@ PairE3B::~PairE3B() void PairE3B::compute(int eflag, int vflag) { - int i,j,k,h,ii,jj,hh,kk,inum,jnum,otherO; - double xtmp,ytmp,ztmp,delx,dely,delz,evdwl,fpair,rsq,tmpexp; - double fxtmp,fytmp,fztmp,fix,fiy,fiz; - double delxh,delyh,delzh,rsqh,tmpr; - double scFact1,scFact2,scEng,scDer; - int *ilist,*jlist,*numneigh,**firstneigh; + int i, j, k, h, ii, jj, hh, kk, inum, jnum, otherO; + double xtmp, ytmp, ztmp, delx, dely, delz, evdwl, fpair, rsq, tmpexp; + double fxtmp, fytmp, fztmp, fix, fiy, fiz; + double delxh, delyh, delzh, rsqh, tmpr; + double scFact1, scFact2, scEng, scDer; + int *ilist, *jlist, *numneigh, **firstneigh; bool addedH; - if (natoms != atom->natoms) - error->all(FLERR,"pair E3B requires a fixed number of atoms"); + if (natoms != atom->natoms) error->all(FLERR, "pair E3B requires a fixed number of atoms"); - ev_init(eflag,vflag); + ev_init(eflag, vflag); //clear sumExp array - memset(sumExp,0.0,nbytes); + memset(sumExp, 0.0, nbytes); evdwl = 0.0; - pvector[0]=pvector[1]=pvector[2]=pvector[3]=0.0; + pvector[0] = pvector[1] = pvector[2] = pvector[3] = 0.0; double **x = atom->x; double **f = atom->f; @@ -120,8 +119,7 @@ void PairE3B::compute(int eflag, int vflag) // loop over half neighbor list of my atoms for (ii = 0; ii < inum; ii++) { i = ilist[ii]; - if (type[i]!=typeO) - continue; + if (type[i] != typeO) continue; xtmp = x[i][0]; ytmp = x[i][1]; @@ -130,42 +128,41 @@ void PairE3B::compute(int eflag, int vflag) // two-body interactions jlist = firstneigh[i]; - jnum = numneigh[i]; + jnum = numneigh[i]; for (jj = 0; jj < jnum; jj++) { j = jlist[jj]; j &= NEIGHMASK; //skip unless O-O interaction - if (type[j]!=typeO) - continue; + if (type[j] != typeO) continue; delx = xtmp - x[j][0]; dely = ytmp - x[j][1]; delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; //OO distance + rsq = delx * delx + dely * dely + delz * delz; //OO distance //two body interaction //not shifted b/c k2=4.87/A, so at cutoff (5.2A) e^(-kr) = 1e-11 if (rsq < rc2sq) { - tmpr = sqrt(rsq); - tmpexp = e2 * exp(-k2*tmpr); - fpair = k2 * tmpexp / tmpr; + tmpr = sqrt(rsq); + tmpexp = e2 * exp(-k2 * tmpr); + fpair = k2 * tmpexp / tmpr; - fxtmp = delx*fpair; - fytmp = dely*fpair; - fztmp = delz*fpair; - fix += fxtmp; - fiy += fytmp; - fiz += fztmp; + fxtmp = delx * fpair; + fytmp = dely * fpair; + fztmp = delz * fpair; + fix += fxtmp; + fiy += fytmp; + fiz += fztmp; f[j][0] -= fxtmp; f[j][1] -= fytmp; f[j][2] -= fztmp; if (evflag) { - ev_tally(i,j,nlocal,newton_pair,tmpexp,0.0,fpair,delx,dely,delz); + ev_tally(i, j, nlocal, newton_pair, tmpexp, 0.0, fpair, delx, dely, delz); pvector[0] += tmpexp; } - } //end if rsqmap(tag[otherO]+hh+1); + for (kk = 0; kk < NUMO; kk++) { + k = pairO[npair][kk]; + otherO = pairO[npair][(kk + 1) % 2]; + for (hh = 0; hh < NUMH; hh++) { + h = atom->map(tag[otherO] + hh + 1); //if hydrogen atom is missing, bond potential or shake will //catch this, so don't need to check here //if (h<0) // error->one(FLERR,"hydrogen atom missing"); - h = domain->closest_image(otherO,h); + h = domain->closest_image(otherO, h); pairH[npair][kk][hh] = h; delxh = x[k][0] - x[h][0]; delyh = x[k][1] - x[h][1]; delzh = x[k][2] - x[h][2]; - rsqh = delxh*delxh + delyh*delyh + delzh*delzh; + rsqh = delxh * delxh + delyh * delyh + delzh * delzh; if (rsqh < rc3sq) { - tmpr = sqrt(rsqh); - tmpexp = exp(-k3*tmpr); + tmpr = sqrt(rsqh); + tmpexp = exp(-k3 * tmpr); if (tmpr > rs) { - scFact1 = rc3-tmpr; - scFact2 = sc_num + 2*tmpr; - scEng = scFact1*scFact1*scFact2*sc_denom; - scDer = k3*scEng - 6*scFact1*(rs-tmpr)*sc_denom; - } else { + scFact1 = rc3 - tmpr; + scFact2 = sc_num + 2 * tmpr; + scEng = scFact1 * scFact1 * scFact2 * sc_denom; + scDer = k3 * scEng - 6 * scFact1 * (rs - tmpr) * sc_denom; + } else { scDer = k3; scEng = 1.0; } //need to keep fpair3 separate from del3 for virial - fpair3[npair][kk][hh] = scDer*tmpexp/tmpr; - tmpexp *= scEng; - exps[npair][kk][hh] = tmpexp; + fpair3[npair][kk][hh] = scDer * tmpexp / tmpr; + tmpexp *= scEng; + exps[npair][kk][hh] = tmpexp; del3[npair][kk][hh][0] = delxh; del3[npair][kk][hh][1] = delyh; del3[npair][kk][hh][2] = delzh; //accumulate global vector of sum(e^kr) //tags start at 1, so subtract one to index sumExp - sumExp[tag[k]-1] += tmpexp; - sumExp[tag[h]-1] += tmpexp; + sumExp[tag[k] - 1] += tmpexp; + sumExp[tag[h] - 1] += tmpexp; addedH = true; } else { - exps [npair][kk][hh] = 0.0; + exps[npair][kk][hh] = 0.0; fpair3[npair][kk][hh] = 0.0; - } //if < rc3sq - } //end loop through 2 Hs - } //end for kk in NUMO + } //if < rc3sq + } //end loop through 2 Hs + } //end for kk in NUMO //if added a pair, check if array is too small and grow if (addedH) { npair++; - if (npair >= pairmax) - error->one(FLERR,"neigh is too small"); + if (npair >= pairmax) error->one(FLERR, "neigh is too small"); } - } //end if < rc3deltaSq - } //end for jj neigh + } //end if < rc3deltaSq + } //end for jj neigh //add 2-body forces on i f[i][0] += fix; f[i][1] += fiy; f[i][2] += fiz; - } //end for ii + } //end for ii //communicate sumExp array //tested that no change in speed with MPI_IN_PLACE - MPI_Allreduce(MPI_IN_PLACE,sumExp,maxID,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(MPI_IN_PLACE, sumExp, maxID, MPI_DOUBLE, MPI_SUM, world); //now loop through list of pairs, calculating 3body forces - int j2,otherH; - double partA,partB,partC; + int j2, otherH; + double partA, partB, partC; for (ii = 0; ii < npair; ii++) { - for (kk=0; kkntypes; - memory->create(setflag,n+1,n+1,"pair:setflag"); - memory->create(cutsq,n+1,n+1,"pair:cutsq"); + memory->create(setflag, n + 1, n + 1, "pair:setflag"); + memory->create(cutsq, n + 1, n + 1, "pair:cutsq"); } void PairE3B::allocateE3B() @@ -349,28 +344,26 @@ void PairE3B::allocateE3B() allocatedE3B = true; //TODO: get memory->grow working for 4d arrays - pairmax = atom->nlocal*pairPerAtom; //initial guess for size of pair lists - memory->create(pairO ,pairmax,NUMO ,"pair:pairO"); - memory->create(pairH ,pairmax,NUMO,NUMH ,"pair:pairH"); - memory->create(exps ,pairmax,NUMO,NUMH ,"pair:exps"); - memory->create(fpair3,pairmax,NUMO,NUMH ,"pair:fpair3"); - memory->create(del3 ,pairmax,NUMO,NUMH,DIM,"pair:del3"); + pairmax = atom->nlocal * pairPerAtom; //initial guess for size of pair lists + memory->create(pairO, pairmax, NUMO, "pair:pairO"); + memory->create(pairH, pairmax, NUMO, NUMH, "pair:pairH"); + memory->create(exps, pairmax, NUMO, NUMH, "pair:exps"); + memory->create(fpair3, pairmax, NUMO, NUMH, "pair:fpair3"); + memory->create(del3, pairmax, NUMO, NUMH, DIM, "pair:del3"); //set del3 to zero to silence valgrind memcheck errors //don't need to do this in every call to compute() because we set //exps and fpair3 to zero, and all uses of del3 are multiplied by one of those - int ii,jj,kk,ll; - for (ii=0; iinatoms; - maxID=find_maxID(); - if (!natoms) - error->all(FLERR,"No atoms found"); - memory->create(sumExp,maxID,"pair:sumExp"); + natoms = atom->natoms; + maxID = find_maxID(); + if (!natoms) error->all(FLERR, "No atoms found"); + memory->create(sumExp, maxID, "pair:sumExp"); nbytes = sizeof(double) * maxID; } @@ -380,8 +373,8 @@ void PairE3B::allocateE3B() void PairE3B::settings(int narg, char **arg) { - if (narg != 1) error->all(FLERR,"Illegal pair_style command"); - typeO=utils::inumeric(FLERR,arg[0],false,lmp); + if (narg != 1) error->all(FLERR, "Illegal pair_style command"); + typeO = utils::inumeric(FLERR, arg[0], false, lmp); } /* ---------------------------------------------------------------------- @@ -393,67 +386,66 @@ void PairE3B::coeff(int narg, char **arg) if (!allocated) allocate(); //1=* 2=* 3/4=1st keyword/value - if (narg < 4) - error->all(FLERR,"There must be at least one keyword given to pair_coeff"); + if (narg < 4) error->all(FLERR, "There must be at least one keyword given to pair_coeff"); - // clear setflag since coeff() called once with I,J = * * + // clear setflag since coeff() called once with I,J = * * int n = atom->ntypes; for (int i = 1; i <= n; i++) - for (int j = i; j <= n; j++) - setflag[i][j] = 0; + for (int j = i; j <= n; j++) setflag[i][j] = 0; - setflag[typeO][typeO]=1; + setflag[typeO][typeO] = 1; //parse keyword/value pairs - double bondL=0.0; //OH bond length - bool repeatFlag=false; + double bondL = 0.0; //OH bond length + bool repeatFlag = false; //clear parameters - e2=ea=eb=ec=k3=k2=NOT_SET; - rs=rc3=rc2=0.0; + e2 = ea = eb = ec = k3 = k2 = NOT_SET; + rs = rc3 = rc2 = 0.0; - int iarg = 2; //beginning of keyword/value pairs + int iarg = 2; //beginning of keyword/value pairs while (iarg < narg) { char *keyword = arg[iarg++]; - if (checkKeyword(keyword,"Ea",1,narg-iarg)) - ea=utils::numeric(FLERR,arg[iarg++],false,lmp); - else if (checkKeyword(keyword,"Eb",1,narg-iarg)) - eb=utils::numeric(FLERR,arg[iarg++],false,lmp); - else if (checkKeyword(keyword,"Ec",1,narg-iarg)) - ec=utils::numeric(FLERR,arg[iarg++],false,lmp); - else if (checkKeyword(keyword,"K3",1,narg-iarg)) - k3=utils::numeric(FLERR,arg[iarg++],false,lmp); - else if (checkKeyword(keyword,"Rs",1,narg-iarg)) - rs=utils::numeric(FLERR,arg[iarg++],false,lmp); - else if (checkKeyword(keyword,"Rc3",1,narg-iarg)) - rc3=utils::numeric(FLERR,arg[iarg++],false,lmp); - else if (checkKeyword(keyword,"Rc2",1,narg-iarg)) - rc2=utils::numeric(FLERR,arg[iarg++],false,lmp); - else if (checkKeyword(keyword,"bondL",1,narg-iarg)) - bondL=utils::numeric(FLERR,arg[iarg++],false,lmp); - else if (checkKeyword(keyword,"E2",1,narg-iarg)) - e2=utils::numeric(FLERR,arg[iarg++],false,lmp); - else if (checkKeyword(keyword,"K2",1,narg-iarg)) - k2=utils::numeric(FLERR,arg[iarg++],false,lmp); - else if (checkKeyword(keyword,"neigh",1,narg-iarg)) - pairPerAtom=utils::inumeric(FLERR,arg[iarg++],false,lmp); - else if (checkKeyword(keyword,"preset",1,narg-iarg)) { - int presetFlag=utils::inumeric(FLERR,arg[iarg++],false,lmp); - presetParam(presetFlag,repeatFlag,bondL); - } else error->all(FLERR,"Keyword {} is unknown",keyword); + if (checkKeyword(keyword, "Ea", 1, narg - iarg)) + ea = utils::numeric(FLERR, arg[iarg++], false, lmp); + else if (checkKeyword(keyword, "Eb", 1, narg - iarg)) + eb = utils::numeric(FLERR, arg[iarg++], false, lmp); + else if (checkKeyword(keyword, "Ec", 1, narg - iarg)) + ec = utils::numeric(FLERR, arg[iarg++], false, lmp); + else if (checkKeyword(keyword, "K3", 1, narg - iarg)) + k3 = utils::numeric(FLERR, arg[iarg++], false, lmp); + else if (checkKeyword(keyword, "Rs", 1, narg - iarg)) + rs = utils::numeric(FLERR, arg[iarg++], false, lmp); + else if (checkKeyword(keyword, "Rc3", 1, narg - iarg)) + rc3 = utils::numeric(FLERR, arg[iarg++], false, lmp); + else if (checkKeyword(keyword, "Rc2", 1, narg - iarg)) + rc2 = utils::numeric(FLERR, arg[iarg++], false, lmp); + else if (checkKeyword(keyword, "bondL", 1, narg - iarg)) + bondL = utils::numeric(FLERR, arg[iarg++], false, lmp); + else if (checkKeyword(keyword, "E2", 1, narg - iarg)) + e2 = utils::numeric(FLERR, arg[iarg++], false, lmp); + else if (checkKeyword(keyword, "K2", 1, narg - iarg)) + k2 = utils::numeric(FLERR, arg[iarg++], false, lmp); + else if (checkKeyword(keyword, "neigh", 1, narg - iarg)) + pairPerAtom = utils::inumeric(FLERR, arg[iarg++], false, lmp); + else if (checkKeyword(keyword, "preset", 1, narg - iarg)) { + int presetFlag = utils::inumeric(FLERR, arg[iarg++], false, lmp); + presetParam(presetFlag, repeatFlag, bondL); + } else + error->all(FLERR, "Keyword {} is unknown", keyword); } checkInputs(bondL); //cutmax for neighbor listing - cutmax = MAX(rc2,rc3); - rc2sq = rc2*rc2; - rc3sq = rc3*rc3; - rc3deltaSq = (rc3+bondL)*(rc3+bondL); + cutmax = MAX(rc2, rc3); + rc2sq = rc2 * rc2; + rc3sq = rc3 * rc3; + rc3deltaSq = (rc3 + bondL) * (rc3 + bondL); - double tmpfact=1.0/(rc3-rs); - sc_denom=tmpfact*tmpfact*tmpfact; - sc_num=rc3-3*rs; + double tmpfact = 1.0 / (rc3 - rs); + sc_denom = tmpfact * tmpfact * tmpfact; + sc_num = rc3 - 3 * rs; } /* ---------------------------------------------------------------------- @@ -462,132 +454,131 @@ void PairE3B::coeff(int narg, char **arg) void PairE3B::init_style() { - if (atom->tag_enable == 0) - error->all(FLERR,"Pair style E3B requires atom IDs"); - if (force->newton_pair == 0) - error->all(FLERR,"Pair style E3B requires newton pair on"); - if (typeO<1 || typeO>atom->ntypes) - error->all(FLERR,"Invalid Otype: out of bounds"); + if (atom->tag_enable == 0) error->all(FLERR, "Pair style E3B requires atom IDs"); + if (force->newton_pair == 0) error->all(FLERR, "Pair style E3B requires newton pair on"); + if (typeO < 1 || typeO > atom->ntypes) error->all(FLERR, "Invalid Otype: out of bounds"); // need a half neighbor list - neighbor->request(this,instance_me); + neighbor->request(this, instance_me); - if (!force->pair_match("tip4p",false,0)) - if (comm->me==0) error->warning(FLERR,"E3B pair_style is designed for use with hybrid/overlay tip4p style"); + if (!force->pair_match("tip4p", false, 0)) + if (comm->me == 0) + error->warning(FLERR, "E3B pair_style is designed for use with hybrid/overlay tip4p style"); if (!allocatedE3B) allocateE3B(); } - static const char cite_E3B1[] = - "Explicit Three-Body (E3B) potential for water:\n\n" - "@article{kumar_water_2008,\n" - "title = {Water Simulation Model with Explicit Three-Molecule Interactions},\n" - "volume = {112},\n" - "doi = {10.1021/jp8009468},\n" - "number = {28},\n" - "journal = {J Phys. Chem. B},\n" - "author = {Kumar, R. and Skinner, J. L.},\n" - "year = {2008},\n" - "pages = {8311--8318}\n" - "}\n\n"; + "Explicit Three-Body (E3B) potential for water:\n\n" + "@article{kumar_water_2008,\n" + "title = {Water Simulation Model with Explicit Three-Molecule Interactions},\n" + "volume = {112},\n" + "doi = {10.1021/jp8009468},\n" + "number = {28},\n" + "journal = {J Phys. Chem. B},\n" + "author = {Kumar, R. and Skinner, J. L.},\n" + "year = {2008},\n" + "pages = {8311--8318}\n" + "}\n\n"; static const char cite_E3B2[] = - "Explicit Three-Body (E3B) potential for water:\n\n" - "@article{tainter_robust_2011,\n" - "title = {Robust three-body water simulation model},\n" - "volume = {134},\n" - "doi = {10.1063/1.3587053},\n" - "number = {18},\n" - "journal = {J. Chem. Phys},\n" - "author = {Tainter, C. J. and Pieniazek, P. A. and Lin, Y.-S. and Skinner, J. L.},\n" - "year = {2011},\n" - "pages = {184501}\n" - "}\n\n"; + "Explicit Three-Body (E3B) potential for water:\n\n" + "@article{tainter_robust_2011,\n" + "title = {Robust three-body water simulation model},\n" + "volume = {134},\n" + "doi = {10.1063/1.3587053},\n" + "number = {18},\n" + "journal = {J. Chem. Phys},\n" + "author = {Tainter, C. J. and Pieniazek, P. A. and Lin, Y.-S. and Skinner, J. L.},\n" + "year = {2011},\n" + "pages = {184501}\n" + "}\n\n"; static const char cite_E3B3[] = - "Explicit Three-Body (E3B) potential for water:\n\n" - "@article{tainter_reparametrized_2015,\n" - "title = {Reparametrized {E3B} (Explicit Three-Body) Water Model Using the {TIP4P/2005} Model as a Reference},\n" - "volume = {11},\n" - "doi = {10.1021/acs.jctc.5b00117},\n" - "number = {5},\n" - "journal = {J. Chem. Theory Comput.},\n" - "author = {Tainter, Craig J. and Shi, Liang and Skinner, James L.},\n" - "year = {2015},\n" - "pages = {2268--2277}\n" - "}\n\n"; + "Explicit Three-Body (E3B) potential for water:\n\n" + "@article{tainter_reparametrized_2015,\n" + "title = {Reparametrized {E3B} (Explicit Three-Body) Water Model Using the {TIP4P/2005} Model " + "as a Reference},\n" + "volume = {11},\n" + "doi = {10.1021/acs.jctc.5b00117},\n" + "number = {5},\n" + "journal = {J. Chem. Theory Comput.},\n" + "author = {Tainter, Craig J. and Shi, Liang and Skinner, James L.},\n" + "year = {2015},\n" + "pages = {2268--2277}\n" + "}\n\n"; -void PairE3B::presetParam(const int flag,bool &repeatFlag,double &bondL) { - if (repeatFlag) - error->all(FLERR,"Cannot request two different sets of preset parameters"); - repeatFlag=true; +void PairE3B::presetParam(const int flag, bool &repeatFlag, double &bondL) +{ + if (repeatFlag) error->all(FLERR, "Cannot request two different sets of preset parameters"); + repeatFlag = true; - if (ea!=NOT_SET || eb!=NOT_SET || ec!=NOT_SET || - e2!=NOT_SET || k3!=NOT_SET || k2!=NOT_SET || - bondL!=0.0 || rs!=0.0 || rc3!=0.0 || rc2!=0.0 ) - error->all(FLERR,"Preset keyword will overwrite another keyword setting"); + if (ea != NOT_SET || eb != NOT_SET || ec != NOT_SET || e2 != NOT_SET || k3 != NOT_SET || + k2 != NOT_SET || bondL != 0.0 || rs != 0.0 || rc3 != 0.0 || rc2 != 0.0) + error->all(FLERR, "Preset keyword will overwrite another keyword setting"); - double econv=1.0,lconv=1.0; - if (strcmp(update->unit_style,"real") == 0) { - econv=1.0/4.184; - lconv=1.0; - } else if (strcmp(update->unit_style,"metal") == 0) { - econv=0.103653271; - lconv=1.0; - } else if (strcmp(update->unit_style,"si") == 0) { - econv=1.660578e-21; - lconv=1e-10; - } else if (strcmp(update->unit_style,"cgs") == 0) { - econv=1.660578e-14; - lconv=1e-8; - } else error->all(FLERR, "Pre-defined E3B parameters have not been set for {} units.", - update->unit_style); + double econv = 1.0, lconv = 1.0; + if (strcmp(update->unit_style, "real") == 0) { + econv = 1.0 / 4.184; + lconv = 1.0; + } else if (strcmp(update->unit_style, "metal") == 0) { + econv = 0.103653271; + lconv = 1.0; + } else if (strcmp(update->unit_style, "si") == 0) { + econv = 1.660578e-21; + lconv = 1e-10; + } else if (strcmp(update->unit_style, "cgs") == 0) { + econv = 1.660578e-14; + lconv = 1e-8; + } else + error->all(FLERR, "Pre-defined E3B parameters have not been set for {} units.", + update->unit_style); //here parameters are defined in kJ/mol and A //they will be converted to the lammps units after - if (flag==2008) { - error->all(FLERR,"\"preset 2008\" is not yet supported, because this would require distinct k3 coefficients, " - "use \"preset 2011\" or \"preset 2015\""); + if (flag == 2008) { + error->all(FLERR, + "'preset 2008' is not yet supported, because this would require distinct k3 " + "coefficients, use 'preset 2011' or 'preset 2015'"); if (lmp->citeme) lmp->citeme->add(cite_E3B1); - ea = 4699.6; - eb =-2152.9; - ec = 1312.7; + ea = 4699.6; + eb = -2152.9; + ec = 1312.7; //ka = 1.0/1.88; //kb = 1.0/1.71; //kc = 1.0/1.56; - e2 = 1.925e6; - k2 = 4.67; - rs = 5.0; + e2 = 1.925e6; + k2 = 4.67; + rs = 5.0; rc3 = 5.2; rc2 = 5.2; bondL = 0.9572; - } else if (flag==2011) { + } else if (flag == 2011) { if (lmp->citeme) lmp->citeme->add(cite_E3B2); - ea = 1745.7; - eb =-4565.0; - ec = 7606.8; - k3 = 1.907; - e2 = 2.349e6; - k2 = 4.872; - rs = 5.0; + ea = 1745.7; + eb = -4565.0; + ec = 7606.8; + k3 = 1.907; + e2 = 2.349e6; + k2 = 4.872; + rs = 5.0; rc3 = 5.2; rc2 = 5.2; bondL = 0.9572; - } else if (flag==2015) { + } else if (flag == 2015) { if (lmp->citeme) lmp->citeme->add(cite_E3B3); - ea = 150.0; - eb =-1005.0; - ec = 1880.0; - k3 = 1.907; - e2 = 0.453e6; - k2 = 4.872; - rs = 5.0; + ea = 150.0; + eb = -1005.0; + ec = 1880.0; + k3 = 1.907; + e2 = 0.453e6; + k2 = 4.872; + rs = 5.0; rc3 = 5.2; rc2 = 5.2; bondL = 0.9572; } else - error->all(FLERR,"Unknown argument: preset only takes 2011 or 2015 as arguments"); + error->all(FLERR, "Unknown argument: preset only takes 2011 or 2015 as arguments"); //convert units ea *= econv; @@ -599,7 +590,7 @@ void PairE3B::presetParam(const int flag,bool &repeatFlag,double &bondL) { rs *= lconv; rc2 *= lconv; rc3 *= lconv; - bondL *= lconv*BOND_DELTA; + bondL *= lconv * BOND_DELTA; } /* ---------------------------------------------------------------------- @@ -608,14 +599,15 @@ void PairE3B::presetParam(const int flag,bool &repeatFlag,double &bondL) { //pair.cpp::init uses this to set cutsq array, used for neighboring, etc double PairE3B::init_one(int i, int j) { - if (setflag[i][j] == 0) error->all(FLERR,"All pair coeffs are not set"); + if (setflag[i][j] == 0) error->all(FLERR, "All pair coeffs are not set"); return cutmax; } -bool PairE3B::checkKeyword(const char *thiskey,const char *test,const int nVal, const int nRem) { - if (strcmp(thiskey,test) == 0) { - if (nRemall(FLERR,"Too few arguments to '{}' keyword.",test); +bool PairE3B::checkKeyword(const char *thiskey, const char *test, const int nVal, const int nRem) +{ + if (strcmp(thiskey, test) == 0) { + if (nRem < nVal) error->all(FLERR, "Too few arguments to '{}' keyword.", test); return true; } return false; @@ -630,46 +622,34 @@ tagint PairE3B::find_maxID() tagint max = 0; tagint maxID; - for (int i = 0; i < nlocal; i++) max = MAX(max,tag[i]); - MPI_Allreduce(&max,&maxID,1,MPI_LMP_TAGINT,MPI_MAX,world); + for (int i = 0; i < nlocal; i++) max = MAX(max, tag[i]); + MPI_Allreduce(&max, &maxID, 1, MPI_LMP_TAGINT, MPI_MAX, world); return maxID; } -void PairE3B::checkInputs(const double &bondL) { +void PairE3B::checkInputs(const double &bondL) +{ //first check that all necessary values were set - if (rc2==0.0) - error->all(FLERR,"rc2 keyword missing"); - if (rs==0.0) - error->all(FLERR,"Rs keyword missing"); - if (rc3==0.0) - error->all(FLERR,"Rc3 keyword missing"); - if (bondL==0.0) - error->all(FLERR,"bondL keyword missing"); - if (ea==NOT_SET) - error->all(FLERR,"Ea keyword missing"); - if (eb==NOT_SET) - error->all(FLERR,"Eb keyword missing"); - if (ec==NOT_SET) - error->all(FLERR,"Ec keyword missing"); - if (k3==NOT_SET) - error->all(FLERR,"K3 keyword missing"); - if (e2==NOT_SET) - error->all(FLERR,"E2 keyword missing"); - if (k2==NOT_SET) - error->all(FLERR,"K2 keyword missing"); + if (rc2 == 0.0) error->all(FLERR, "rc2 keyword missing"); + if (rs == 0.0) error->all(FLERR, "Rs keyword missing"); + if (rc3 == 0.0) error->all(FLERR, "Rc3 keyword missing"); + if (bondL == 0.0) error->all(FLERR, "bondL keyword missing"); + if (ea == NOT_SET) error->all(FLERR, "Ea keyword missing"); + if (eb == NOT_SET) error->all(FLERR, "Eb keyword missing"); + if (ec == NOT_SET) error->all(FLERR, "Ec keyword missing"); + if (k3 == NOT_SET) error->all(FLERR, "K3 keyword missing"); + if (e2 == NOT_SET) error->all(FLERR, "E2 keyword missing"); + if (k2 == NOT_SET) error->all(FLERR, "K2 keyword missing"); //now test that values are within acceptable ranges - if (k2 < 0.0 or k3 < 0.0) - error->all(FLERR,"exponential decay is negative"); - if (bondL<0.0) - error->all(FLERR,"OH bond length is negative"); - if (rc2 < 0.0 || rc3 < 0.0 || rs < 0.0) - error->all(FLERR,"potential cutoff is negative"); - if (rs > rc3) - error->all(FLERR,"potential switching distance is larger than cutoff"); - if (rs==rc3) - error->warning(FLERR,"potential switching distance is equal to cutoff: this is untested and not conserve energy"); - if (pairPerAtom<0) - error->all(FLERR,"neigh is negative"); + if (k2 < 0.0 or k3 < 0.0) error->all(FLERR, "exponential decay is negative"); + if (bondL < 0.0) error->all(FLERR, "OH bond length is negative"); + if (rc2 < 0.0 || rc3 < 0.0 || rs < 0.0) error->all(FLERR, "potential cutoff is negative"); + if (rs > rc3) error->all(FLERR, "potential switching distance is larger than cutoff"); + if (rs == rc3) + error->warning(FLERR, + "potential switching distance is equal to cutoff: this is untested and not " + "conserve energy"); + if (pairPerAtom < 0) error->all(FLERR, "neigh is negative"); } From 034c337aaf1d23b08755586538613e933eeae7e1 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 16 Jul 2021 12:05:45 -0400 Subject: [PATCH 434/726] reformat --- src/input.cpp | 30 +++++++++++++++--------------- src/library.cpp | 2 +- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/src/input.cpp b/src/input.cpp index 2c2c55f4c4..50e0d45aa0 100644 --- a/src/input.cpp +++ b/src/input.cpp @@ -163,9 +163,9 @@ Input::~Input() memory->sfree(line); memory->sfree(copy); memory->sfree(work); - if (labelstr) delete [] labelstr; + if (labelstr) delete[] labelstr; memory->sfree(arg); - delete [] infiles; + delete[] infiles; delete variable; delete command_map; @@ -897,9 +897,9 @@ void Input::ifthenelse() for (int i = 0; i < ncommands; i++) { one(commands[i]); - delete [] commands[i]; + delete[] commands[i]; } - delete [] commands; + delete[] commands; return; } @@ -952,9 +952,9 @@ void Input::ifthenelse() for (int i = 0; i < ncommands; i++) { one(commands[i]); - delete [] commands[i]; + delete[] commands[i]; } - delete [] commands; + delete[] commands; return; } @@ -1015,7 +1015,7 @@ void Input::jump() if (narg == 2) { label_active = 1; - if (labelstr) delete [] labelstr; + if (labelstr) delete[] labelstr; labelstr = utils::strdup(arg[1]); } } @@ -1197,7 +1197,7 @@ void Input::shell() if (me == 0 && err != 0) { char *message = shell_failed_message("cd",err); error->warning(FLERR,message); - delete [] message; + delete[] message; } } else if (strcmp(arg[0],"mkdir") == 0) { @@ -1212,7 +1212,7 @@ void Input::shell() if (rv < 0) { char *message = shell_failed_message("mkdir",errno); error->warning(FLERR,message); - delete [] message; + delete[] message; } } @@ -1223,7 +1223,7 @@ void Input::shell() if (me == 0 && err != 0) { char *message = shell_failed_message("mv",err); error->warning(FLERR,message); - delete [] message; + delete[] message; } } else if (strcmp(arg[0],"rm") == 0) { @@ -1233,7 +1233,7 @@ void Input::shell() if (unlink(arg[i]) < 0) { char *message = shell_failed_message("rm",errno); error->warning(FLERR,message); - delete [] message; + delete[] message; } } @@ -1244,7 +1244,7 @@ void Input::shell() if (rmdir(arg[i]) < 0) { char *message = shell_failed_message("rmdir",errno); error->warning(FLERR,message); - delete [] message; + delete[] message; } } @@ -1271,7 +1271,7 @@ void Input::shell() if (me == 0 && err != 0) { char *message = shell_failed_message("putenv",err); error->warning(FLERR,message); - delete [] message; + delete[] message; } } @@ -1847,8 +1847,8 @@ void Input::suffix() } else { lmp->suffix_enable = 1; - delete [] lmp->suffix; - delete [] lmp->suffix2; + delete[] lmp->suffix; + delete[] lmp->suffix2; lmp->suffix = lmp->suffix2 = nullptr; if (strcmp(arg[0],"hybrid") == 0) { diff --git a/src/library.cpp b/src/library.cpp index c0dcb4f328..d4a82489f0 100644 --- a/src/library.cpp +++ b/src/library.cpp @@ -546,7 +546,7 @@ void lammps_commands_string(void *handle, const char *str) } END_CAPTURE - delete [] copy; + delete[] copy; } // ----------------------------------------------------------------------- From 88e363c0bbf4bc46c1465034dd3d900f6142b149 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 16 Jul 2021 14:51:04 -0400 Subject: [PATCH 435/726] document and add unit tests for lammps_set_fix_external_callback() --- src/library.cpp | 47 +++++++++---- src/library.h | 2 +- unittest/c-library/CMakeLists.txt | 4 ++ unittest/c-library/test_library_external.cpp | 73 ++++++++++++++++++++ unittest/python/CMakeLists.txt | 5 ++ unittest/python/python-fix-external.py | 42 +++++++++++ 6 files changed, 159 insertions(+), 14 deletions(-) create mode 100644 unittest/c-library/test_library_external.cpp create mode 100644 unittest/python/python-fix-external.py diff --git a/src/library.cpp b/src/library.cpp index c0dcb4f328..f0d747f258 100644 --- a/src/library.cpp +++ b/src/library.cpp @@ -4804,15 +4804,38 @@ void lammps_decode_image_flags(imageint image, int *flags) flags[2] = (image >> IMG2BITS) - IMGMAX; } -/* ---------------------------------------------------------------------- - find fix external with given ID and set the callback function - and caller pointer -------------------------------------------------------------------------- */ +/* ---------------------------------------------------------------------- */ -void lammps_set_fix_external_callback(void *handle, char *id, FixExternalFnPtr callback_ptr, void * caller) +/** Set the callback function for a fix external instance with given ID. + Optionally also set the pointer to the calling object. +\verbatim embed:rst + +Fix :doc:`external ` allows programs that are running LAMMPS through +its library interface to modify certain LAMMPS properties on specific +timesteps, similar to the way other fixes do. + +This function sets the callback function which has to have C language +bindings with the prototype: + +.. code-block:: c + + void func(void *ptr, bigint timestep, int nlocal, tagint *ids, double **x, double **fexternal); + +Please see the documentation for :doc:`fix external ` for +more information about how to use the fix and how to couple it with an +external code. + +\endverbatim + * + * \param handle pointer to a previously created LAMMPS instance cast to ``void *``. + * \param id fix ID of fix external instance + * \param funcptr pointer to callback function + * \param ptr pointer to object in calling code, passed to callback function as first argument */ + +void lammps_set_fix_external_callback(void *handle, char *id, FixExternalFnPtr funcptr, void *ptr) { LAMMPS *lmp = (LAMMPS *) handle; - FixExternal::FnPtr callback = (FixExternal::FnPtr) callback_ptr; + FixExternal::FnPtr callback = (FixExternal::FnPtr) funcptr; BEGIN_CAPTURE { @@ -4823,18 +4846,16 @@ void lammps_set_fix_external_callback(void *handle, char *id, FixExternalFnPtr c Fix *fix = lmp->modify->fix[ifix]; if (strcmp("external",fix->style) != 0) - lmp->error->all(FLERR,"Fix '{}' is not of style " - "external!", id); + lmp->error->all(FLERR,"Fix '{}' is not of style 'external'", id); - FixExternal * fext = (FixExternal*) fix; - fext->set_callback(callback, caller); + FixExternal *fext = (FixExternal *) fix; + fext->set_callback(callback, ptr); } END_CAPTURE } /* set global energy contribution from fix external */ -void lammps_fix_external_set_energy_global(void *handle, char *id, - double energy) +void lammps_fix_external_set_energy_global(void *handle, char *id, double energy) { LAMMPS *lmp = (LAMMPS *) handle; @@ -4849,7 +4870,7 @@ void lammps_fix_external_set_energy_global(void *handle, char *id, if (strcmp("external",fix->style) != 0) lmp->error->all(FLERR,"Fix '{}' is not of style external!", id); - FixExternal * fext = (FixExternal*) fix; + FixExternal *fext = (FixExternal*) fix; fext->set_energy_global(energy); } END_CAPTURE diff --git a/src/library.h b/src/library.h index a337d7b510..2732314771 100644 --- a/src/library.h +++ b/src/library.h @@ -226,7 +226,7 @@ void lammps_decode_image_flags(int64_t image, int *flags); #if defined(LAMMPS_BIGBIG) typedef void (*FixExternalFnPtr)(void *, int64_t, int, int64_t *, double **, double **); -void lammps_set_fix_external_callback(void *, char *, FixExternalFnPtr, void *); +void lammps_set_fix_external_callback(void *handle, char *id, FixExternalFnPtr funcptr, void *ptr); #elif defined(LAMMPS_SMALLBIG) typedef void (*FixExternalFnPtr)(void *, int64_t, int, int *, double **, double **); void lammps_set_fix_external_callback(void *, char *, FixExternalFnPtr, void *); diff --git a/unittest/c-library/CMakeLists.txt b/unittest/c-library/CMakeLists.txt index 3c24cdcff4..b01cd64677 100644 --- a/unittest/c-library/CMakeLists.txt +++ b/unittest/c-library/CMakeLists.txt @@ -7,6 +7,10 @@ add_executable(test_library_commands test_library_commands.cpp test_main.cpp) target_link_libraries(test_library_commands PRIVATE lammps GTest::GTest GTest::GMock) add_test(LibraryCommands test_library_commands) +add_executable(test_library_external test_library_external.cpp test_main.cpp) +target_link_libraries(test_library_external PRIVATE lammps GTest::GTest GTest::GMock) +add_test(LibraryExternal test_library_external) + add_executable(test_library_properties test_library_properties.cpp test_main.cpp) target_link_libraries(test_library_properties PRIVATE lammps GTest::GTest GTest::GMock) target_compile_definitions(test_library_properties PRIVATE -DTEST_INPUT_FOLDER=${CMAKE_CURRENT_SOURCE_DIR}) diff --git a/unittest/c-library/test_library_external.cpp b/unittest/c-library/test_library_external.cpp new file mode 100644 index 0000000000..78ed91195c --- /dev/null +++ b/unittest/c-library/test_library_external.cpp @@ -0,0 +1,73 @@ +// unit tests creating LAMMPS instances via the library interface + +#include "library.h" + +#include +#include + +#include "gmock/gmock.h" +#include "gtest/gtest.h" + +#include "test_main.h" + +using ::testing::HasSubstr; +using ::testing::StartsWith; + +extern "C" { +#ifdef LAMMPS_SMALLSMALL +typedef int32_t step_t; +typedef int32_t tag_t; +#elif LAMMPS_SMALLBIG +typedef int64_t step_t; +typedef int32_t tag_t; +#else +typedef int64_t step_t; +typedef int64_t tag_t; +#endif +static void callback_one(void *lmp, step_t timestep, int nlocal, tag_t *ids, double **x, double **f) +{ + for (int i = 0; i < nlocal; ++i) + f[i][0] = f[i][1] = f[i][2] = (double)timestep; +} +} + +TEST(lammps_external_pf, null_args) +{ + const char *args[] = {"liblammps", "-log", "none", "-nocite"}; + char **argv = (char **)args; + int argc = sizeof(args) / sizeof(char *); + + ::testing::internal::CaptureStdout(); + void *handle = lammps_open_no_mpi(argc, argv, NULL); + std::string output = ::testing::internal::GetCapturedStdout(); + if (verbose) std::cout << output; + + ::testing::internal::CaptureStdout(); + lammps_commands_string(handle, "lattice sc 1.0\n" + "region box block -1 1 -1 1 -1 1\n" + "create_box 1 box\n" + "create_atoms 1 box\n" + "mass 1 1.0\n" + "pair_style zero 0.1\n" + "pair_coeff 1 1\n" + "velocity all set 0.1 0.0 -0.1\n" + "thermo 5\n" + "fix 1 all nve\n" + "fix ext all external pf/callback 5 1\n"); + + output = ::testing::internal::GetCapturedStdout(); + if (verbose) std::cout << output; + + ::testing::internal::CaptureStdout(); + lammps_set_fix_external_callback(handle, (char *)"ext", &callback_one, handle); + lammps_command(handle, "run 10 post no"); + double temp = lammps_get_thermo(handle,"temp"); + output = ::testing::internal::GetCapturedStdout(); + if (verbose) std::cout << output; + EXPECT_DOUBLE_EQ(temp,1.0/30.0); + + ::testing::internal::CaptureStdout(); + lammps_close(handle); + output = ::testing::internal::GetCapturedStdout(); + if (verbose) std::cout << output; +} diff --git a/unittest/python/CMakeLists.txt b/unittest/python/CMakeLists.txt index b51d6e340a..9c9b7832ad 100644 --- a/unittest/python/CMakeLists.txt +++ b/unittest/python/CMakeLists.txt @@ -85,6 +85,11 @@ if(Python_EXECUTABLE) COMMAND ${PYTHON_TEST_RUNNER} ${CMAKE_CURRENT_SOURCE_DIR}/python-formats.py -v WORKING_DIRECTORY ${EXECUTABLE_OUTPUT_PATH}) set_tests_properties(PythonFormats PROPERTIES ENVIRONMENT "${PYTHON_TEST_ENVIRONMENT}") + + add_test(NAME PythonFixExternal + COMMAND ${PYTHON_TEST_RUNNER} ${CMAKE_CURRENT_SOURCE_DIR}/python-fix-external.py -v + WORKING_DIRECTORY ${EXECUTABLE_OUTPUT_PATH}) + set_tests_properties(PythonFixExternal PROPERTIES ENVIRONMENT "${PYTHON_TEST_ENVIRONMENT}") else() message(STATUS "Skipping Tests for the LAMMPS Python Module: no suitable Python interpreter") endif() diff --git a/unittest/python/python-fix-external.py b/unittest/python/python-fix-external.py new file mode 100644 index 0000000000..badc9e5731 --- /dev/null +++ b/unittest/python/python-fix-external.py @@ -0,0 +1,42 @@ +import sys,os,unittest +from ctypes import * +from lammps import lammps + +# add timestep dependent force +def callback_one(lmp, ntimestep, nlocal, tag, x, f): + for i in range(nlocal): + f[i][0] = float(ntimestep) + f[i][1] = float(ntimestep) + f[i][2] = float(ntimestep) + +class PythonExternal(unittest.TestCase): + def testExternalCallback(self): + """Test fix external from Python with pf/callback""" + + machine=None + if 'LAMMPS_MACHINE_NAME' in os.environ: + machine=os.environ['LAMMPS_MACHINE_NAME'] + lmp=lammps(name=machine, cmdargs=['-nocite', '-log','none', '-echo', 'screen']) + + # a few commands to set up simple system + basic_system="""lattice sc 1.0 + region box block -1 1 -1 1 -1 1 + create_box 1 box + create_atoms 1 box + mass 1 1.0 + pair_style zero 0.1 + pair_coeff 1 1 + velocity all set 0.1 0.0 -0.1 + thermo 5 + fix 1 all nve + fix ext all external pf/callback 5 1 +""" + lmp.commands_string(basic_system) + lmp.set_fix_external_callback("ext",callback_one,lmp) + lmp.command("run 10 post no") + self.assertAlmostEqual(lmp.get_thermo("temp"),1.0/30.0,14) + +############################## +if __name__ == "__main__": + unittest.main() + From 6d292b1bf247c6585fb9ff51a123277d799ae6fd Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 16 Jul 2021 14:51:27 -0400 Subject: [PATCH 436/726] small tweaks --- python/lammps/pylammps.py | 8 ++++---- src/utils.h | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/python/lammps/pylammps.py b/python/lammps/pylammps.py index f9bdd1720a..a89791a02e 100644 --- a/python/lammps/pylammps.py +++ b/python/lammps/pylammps.py @@ -240,7 +240,8 @@ class Atom2D(Atom): @property def position(self): - """ + """Access to coordinates of an atom + :getter: Return position of atom :setter: Set position of atom :type: tuple (float, float) @@ -255,7 +256,7 @@ class Atom2D(Atom): @property def velocity(self): - """ + """Access to velocity of an atom :getter: Return velocity of atom :setter: Set velocity of atom :type: tuple (float, float) @@ -270,8 +271,7 @@ class Atom2D(Atom): @property def force(self): - """ - Return the total force acting on the atom + """Access to force of an atom :type: tuple (float, float) """ diff --git a/src/utils.h b/src/utils.h index 276ae0a315..7df9368b4d 100644 --- a/src/utils.h +++ b/src/utils.h @@ -62,7 +62,7 @@ namespace utils { * * \param lmp pointer to LAMMPS class instance * \param format format string of message to be printed - * \param ... arguments to format string */ + * \param args arguments to format string */ template void logmesg(LAMMPS *lmp, const S &format, Args &&...args) { From 8b1dedf04a3c16a6d21673734c64fb1ce9e90c79 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 16 Jul 2021 17:21:57 -0400 Subject: [PATCH 437/726] add extract method to fix external --- src/fix_external.cpp | 15 ++++++++++++++- src/fix_external.h | 2 ++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/fix_external.cpp b/src/fix_external.cpp index 8bede4ee19..4bc1e7eebc 100644 --- a/src/fix_external.cpp +++ b/src/fix_external.cpp @@ -238,7 +238,7 @@ void FixExternal::set_virial_peratom(double **caller_virial) void FixExternal::set_vector_length(int n) { - delete [] caller_vector; + delete[] caller_vector; vector_flag = 1; size_vector = n; @@ -342,3 +342,16 @@ void FixExternal::set_callback(FnPtr caller_callback, void *caller_ptr) callback = caller_callback; ptr_caller = caller_ptr; } + +/* ---------------------------------------------------------------------- + get access to internal data structures +------------------------------------------------------------------------- */ + +void *FixExternal::extract(const char *str, int &dim) +{ + if (strcmp(str, "fexternal") == 0) { + dim = 2; + return (void *) fexternal; + } + return nullptr; +} diff --git a/src/fix_external.h b/src/fix_external.h index 0ace978f99..f0f46cd4c5 100644 --- a/src/fix_external.h +++ b/src/fix_external.h @@ -57,6 +57,8 @@ class FixExternal : public Fix { typedef void (*FnPtr)(void *, bigint, int, tagint *, double **, double **); void set_callback(FnPtr, void *); + void *extract(const char *, int &); + private: int mode, ncall, napply, eflag_caller; FnPtr callback; From f3dc13c9dd72960daa80b4738697de71c4fa0ef0 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 16 Jul 2021 17:25:47 -0400 Subject: [PATCH 438/726] expand library interface for fix external functionality --- doc/src/Library_utility.rst | 2 +- python/lammps/core.py | 59 +++++- src/library.cpp | 185 ++++++++++++++++++- src/library.h | 15 +- unittest/c-library/test_library_external.cpp | 77 +++++++- unittest/python/python-fix-external.py | 41 ++++ 6 files changed, 350 insertions(+), 29 deletions(-) diff --git a/doc/src/Library_utility.rst b/doc/src/Library_utility.rst index b2f3666f88..2748d418b6 100644 --- a/doc/src/Library_utility.rst +++ b/doc/src/Library_utility.rst @@ -33,7 +33,7 @@ where such memory buffers were allocated that require the use of ----------------------- -.. doxygenfunction:: lammps_set_fix_external_callback(void *, char *, FixExternalFnPtr, void*) +.. doxygenfunction:: lammps_set_fix_external_callback(void *, const char *, FixExternalFnPtr, void*) :project: progguide ----------------------- diff --git a/python/lammps/core.py b/python/lammps/core.py index 2f101f4eab..5079828ba8 100644 --- a/python/lammps/core.py +++ b/python/lammps/core.py @@ -295,9 +295,13 @@ class lammps(object): self.lib.lammps_extract_variable.argtypes = [c_void_p, c_char_p, c_char_p] - # TODO: NOT IMPLEMENTED IN PYTHON WRAPPER - self.lib.lammps_fix_external_set_energy_global = [c_void_p, c_char_p, c_double] - self.lib.lammps_fix_external_set_virial_global = [c_void_p, c_char_p, POINTER(c_double)] + self.lib.lammps_fix_external_get_force.argtypes = [c_void_p, c_char_p] + self.lib.lammps_fix_external_get_force.restype = POINTER(POINTER(c_double)) + + self.lib.lammps_fix_external_set_energy_global.argtypes = [c_void_p, c_char_p, c_double] + self.lib.lammps_fix_external_set_virial_global.argtypes = [c_void_p, c_char_p, POINTER(c_double)] + self.lib.lammps_fix_external_set_energy_peratom.argtypes = [c_void_p, c_char_p, POINTER(c_double)] + self.lib.lammps_fix_external_set_virial_peratom.argtypes = [c_void_p, c_char_p, POINTER(POINTER(c_double))] # detect if Python is using a version of mpi4py that can pass communicators # only needed if LAMMPS has been compiled with MPI support. @@ -1725,7 +1729,33 @@ class lammps(object): # ------------------------------------------------------------------------- - def set_fix_external_callback(self, fix_name, callback, caller=None): + def set_fix_external_callback(self, fix_id, callback, caller=None): + """Set the callback function for a fix external instance with a given fix ID. + + Optionally also set a reference to the calling object. + + This is a wrapper around the :cpp:func:`lammps_set_fix_external_callback` function + of the C-library interface. However this is set up to call a Python function with + the following arguments. + + .. code-block: python + + def func(object, ntimestep, nlocal, tag, x, f): + + - object is the value of the "caller" argument + - ntimestep is the current timestep + - nlocal is the number of local atoms on the current MPI process + - tag is a 1d NumPy array of integers representing the atom IDs of the local atoms + - x is a 2d NumPy array of floating point numbers of the coordinates of the local atoms + - f is a 2d NumPy array of floating point numbers of the forces on the local atoms that will be added + + :param fix_id: Fix-ID of a fix external instance + :type: string + :param callback: Python function that will be called from fix external + :type: function + :param caller: reference to some object passed to the callback function + :type: object, optional + """ import numpy as np def callback_wrapper(caller, ntimestep, nlocal, tag_ptr, x_ptr, fext_ptr): @@ -1737,10 +1767,27 @@ class lammps(object): cFunc = self.FIX_EXTERNAL_CALLBACK_FUNC(callback_wrapper) cCaller = caller - self.callback[fix_name] = { 'function': cFunc, 'caller': caller } + self.callback[fix_id] = { 'function': cFunc, 'caller': caller } with ExceptionCheck(self): - self.lib.lammps_set_fix_external_callback(self.lmp, fix_name.encode(), cFunc, cCaller) + self.lib.lammps_set_fix_external_callback(self.lmp, fix_id.encode(), cFunc, cCaller) + # ------------------------------------------------------------------------- + + def fix_external_get_force(self, fix_id): + """Get access to that array with per-atom forces of a fix external instance with a given fix ID. + + This is a wrapper around the :cpp:func:`lammps_fix_external_get_force` function + of the C-library interface. + + :param fix_id: Fix-ID of a fix external instance + :type: string + :return: requested data + :rtype: ctypes.POINTER(ctypes.POINTER(ctypes.double)) + """ + + with ExceptionCheck(self): + return self.lib.lammps_fix_external_get_force(self.lmp, fix_id.encode()) + return None # ------------------------------------------------------------------------- diff --git a/src/library.cpp b/src/library.cpp index f0d747f258..4488114579 100644 --- a/src/library.cpp +++ b/src/library.cpp @@ -4806,7 +4806,7 @@ void lammps_decode_image_flags(imageint image, int *flags) /* ---------------------------------------------------------------------- */ -/** Set the callback function for a fix external instance with given ID. +/** Set the callback function for a fix external instance with the given ID. Optionally also set the pointer to the calling object. \verbatim embed:rst @@ -4814,13 +4814,15 @@ Fix :doc:`external ` allows programs that are running LAMMPS throu its library interface to modify certain LAMMPS properties on specific timesteps, similar to the way other fixes do. -This function sets the callback function which has to have C language -bindings with the prototype: +This function sets the callback function for use with the "pf/callback" +mode. The function has to have C language bindings with the prototype: .. code-block:: c void func(void *ptr, bigint timestep, int nlocal, tagint *ids, double **x, double **fexternal); +This is an alternative to the array mechanism set up by :cpp:func:`lammps_fix_external_set_force`. + Please see the documentation for :doc:`fix external ` for more information about how to use the fix and how to couple it with an external code. @@ -4832,7 +4834,7 @@ external code. * \param funcptr pointer to callback function * \param ptr pointer to object in calling code, passed to callback function as first argument */ -void lammps_set_fix_external_callback(void *handle, char *id, FixExternalFnPtr funcptr, void *ptr) +void lammps_set_fix_external_callback(void *handle, const char *id, FixExternalFnPtr funcptr, void *ptr) { LAMMPS *lmp = (LAMMPS *) handle; FixExternal::FnPtr callback = (FixExternal::FnPtr) funcptr; @@ -4854,8 +4856,77 @@ void lammps_set_fix_external_callback(void *handle, char *id, FixExternalFnPtr f END_CAPTURE } -/* set global energy contribution from fix external */ -void lammps_fix_external_set_energy_global(void *handle, char *id, double energy) +/** Get pointer to the force array storage in a fix external instance with the given ID. + +\verbatim embed:rst + +Fix :doc:`external ` allows programs that are running LAMMPS through +its library interface to add or modify certain LAMMPS properties on specific +timesteps, similar to the way other fixes do. + +This function provides access to the per-atom force storage in the fix +to be added to the individual atoms when using the "pf/array" mode. The +*fexternal* array can be accessed similar to the "native" per-atom +*arrays accessible via the :cpp:func:`lammps_extract_atom` function. +Because the underlying data structures can change as atoms migrate +between MPI processes, this function should be always called immediately +before the forces are going to be set. + +This is an alternative to the callback mechanism set up by +:cpp:func:`lammps_set_fix_external_callback` with out using the callback +mechanism to call out to the external program. + +Please see the documentation for :doc:`fix external ` for +more information about how to use the fix and how to couple it with an +external code. + +\endverbatim + * + * \param handle pointer to a previously created LAMMPS instance cast to ``void *``. + * \param id fix ID of fix external instance + * \return a pointer to the per-atom force array allocated by the fix */ + +double **lammps_fix_external_get_force(void *handle, const char *id) +{ + LAMMPS *lmp = (LAMMPS *) handle; + double **fexternal = nullptr; + + BEGIN_CAPTURE + { + int ifix = lmp->modify->find_fix(id); + if (ifix < 0) + lmp->error->all(FLERR,"Can not find fix with ID '{}'!", id); + + Fix *fix = lmp->modify->fix[ifix]; + + if (strcmp("external",fix->style) != 0) + lmp->error->all(FLERR,"Fix '{}' is not of style external!", id); + + fexternal = (double **)fix->extract("fexternal",ifix); + } + END_CAPTURE + return fexternal; +} + +/** Set the global energy contribution for a fix external instance with the given ID. + +\verbatim embed:rst + +This is a companion function to :cpp:func:`lammps_set_fix_external_callback` and +:cpp:func:`lammps_fix_external_set_force` to also set the contribution +to the global energy from the external code. + +Please see the documentation for :doc:`fix external ` for +more information about how to use the fix and how to couple it with an +external code. + +\endverbatim + * + * \param handle pointer to a previously created LAMMPS instance cast to ``void *``. + * \param id fix ID of fix external instance + * \param eng energy to be added to the global energy */ + +void lammps_fix_external_set_energy_global(void *handle, const char *id, double eng) { LAMMPS *lmp = (LAMMPS *) handle; @@ -4871,14 +4942,30 @@ void lammps_fix_external_set_energy_global(void *handle, char *id, double energy lmp->error->all(FLERR,"Fix '{}' is not of style external!", id); FixExternal *fext = (FixExternal*) fix; - fext->set_energy_global(energy); + fext->set_energy_global(eng); } END_CAPTURE } -/* set global virial contribution from fix external */ -void lammps_fix_external_set_virial_global(void *handle, char *id, - double *virial) +/** Set the global virial contribution for a fix external instance with the given ID. + +\verbatim embed:rst + +This is a companion function to :cpp:func:`lammps_set_fix_external_callback` and +:cpp:func:`lammps_fix_external_set_force` to also set the contribution +to the global virial from the external code. + +Please see the documentation for :doc:`fix external ` for +more information about how to use the fix and how to couple it with an +external code. + +\endverbatim + * + * \param handle pointer to a previously created LAMMPS instance cast to ``void *``. + * \param id fix ID of fix external instance + * \param virial the 6 global stress tensor components to be added to the global virial */ + +void lammps_fix_external_set_virial_global(void *handle, const char *id, double *virial) { LAMMPS *lmp = (LAMMPS *) handle; @@ -4899,6 +4986,84 @@ void lammps_fix_external_set_virial_global(void *handle, char *id, END_CAPTURE } +/** Set the per-atom energy contribution for a fix external instance with the given ID. + +\verbatim embed:rst + +This is a companion function to :cpp:func:`lammps_set_fix_external_callback` and +:cpp:func:`lammps_fix_external_set_force` to also set the contribution +to the per-atom energy from the external code. + +Please see the documentation for :doc:`fix external ` for +more information about how to use the fix and how to couple it with an +external code. + +\endverbatim + * + * \param handle pointer to a previously created LAMMPS instance cast to ``void *``. + * \param id fix ID of fix external instance + * \param eng energy to be added to the per-atom energy */ + +void lammps_fix_external_set_energy_peratom(void *handle, const char *id, double *eng) +{ + LAMMPS *lmp = (LAMMPS *) handle; + + BEGIN_CAPTURE + { + int ifix = lmp->modify->find_fix(id); + if (ifix < 0) + lmp->error->all(FLERR,"Can not find fix with ID '{}'!", id); + + Fix *fix = lmp->modify->fix[ifix]; + + if (strcmp("external",fix->style) != 0) + lmp->error->all(FLERR,"Fix '{}' is not of style external!", id); + + FixExternal *fext = (FixExternal*) fix; + fext->set_energy_peratom(eng); + } + END_CAPTURE +} + +/** Set the per-atom virial contribution for a fix external instance with the given ID. + +\verbatim embed:rst + +This is a companion function to :cpp:func:`lammps_set_fix_external_callback` and +:cpp:func:`lammps_fix_external_set_force` to also set the contribution +to the per-atom virial from the external code. + +Please see the documentation for :doc:`fix external ` for +more information about how to use the fix and how to couple it with an +external code. + +\endverbatim + * + * \param handle pointer to a previously created LAMMPS instance cast to ``void *``. + * \param id fix ID of fix external instance + * \param virial the 6 per-atom stress tensor components to be added to the per-atom virial */ + +void lammps_fix_external_set_virial_peratom(void *handle, const char *id, double **virial) +{ + LAMMPS *lmp = (LAMMPS *) handle; + + BEGIN_CAPTURE + { + int ifix = lmp->modify->find_fix(id); + if (ifix < 0) + lmp->error->all(FLERR,"Can not find fix with ID '{}'!", id); + + Fix *fix = lmp->modify->fix[ifix]; + + if (strcmp("external",fix->style) != 0) + lmp->error->all(FLERR,"Fix '{}' is not of style external!", id); + + FixExternal * fext = (FixExternal*) fix; + fext->set_virial_peratom(virial); + } + END_CAPTURE +} + /* ---------------------------------------------------------------------- */ /** Free memory buffer allocated by LAMMPS. diff --git a/src/library.h b/src/library.h index 2732314771..25b5199dc7 100644 --- a/src/library.h +++ b/src/library.h @@ -226,16 +226,21 @@ void lammps_decode_image_flags(int64_t image, int *flags); #if defined(LAMMPS_BIGBIG) typedef void (*FixExternalFnPtr)(void *, int64_t, int, int64_t *, double **, double **); -void lammps_set_fix_external_callback(void *handle, char *id, FixExternalFnPtr funcptr, void *ptr); +void lammps_set_fix_external_callback(void *handle, const char *id, FixExternalFnPtr funcptr, void *ptr); #elif defined(LAMMPS_SMALLBIG) typedef void (*FixExternalFnPtr)(void *, int64_t, int, int *, double **, double **); -void lammps_set_fix_external_callback(void *, char *, FixExternalFnPtr, void *); +void lammps_set_fix_external_callback(void *, const char *, FixExternalFnPtr, void *); #else typedef void (*FixExternalFnPtr)(void *, int, int, int *, double **, double **); -void lammps_set_fix_external_callback(void *, char *, FixExternalFnPtr, void *); +void lammps_set_fix_external_callback(void *, const char *, FixExternalFnPtr, void *); #endif -void lammps_fix_external_set_energy_global(void *, char *, double); -void lammps_fix_external_set_virial_global(void *, char *, double *); +double **lammps_fix_external_get_force(void *handle, const char *id); +void lammps_fix_external_set_energy_global(void *handle, const char *id, double eng); +void lammps_fix_external_set_energy_peratom(void *handle, const char *id, double *eng); +void lammps_fix_external_set_virial_global(void *handle, const char *id, double *virial); +void lammps_fix_external_set_virial_peratom(void *handle, const char *id, double **virial); +void lammps_fix_external_set_vector_length(void *handle, const char *id, int len); +void lammps_fix_external_set_virial_peratom(void *handle, const char *id, double **val); void lammps_free(void *ptr); diff --git a/unittest/c-library/test_library_external.cpp b/unittest/c-library/test_library_external.cpp index 78ed91195c..f6f126c2b8 100644 --- a/unittest/c-library/test_library_external.cpp +++ b/unittest/c-library/test_library_external.cpp @@ -24,14 +24,17 @@ typedef int32_t tag_t; typedef int64_t step_t; typedef int64_t tag_t; #endif -static void callback_one(void *lmp, step_t timestep, int nlocal, tag_t *ids, double **x, double **f) +static void callback_one(void *handle, step_t timestep, int nlocal, tag_t *, double **, double **f) { for (int i = 0; i < nlocal; ++i) f[i][0] = f[i][1] = f[i][2] = (double)timestep; + lammps_fix_external_set_energy_global(handle, "ext", 1.0); + double v[6] = {1.0,1.0,1.0,0.0,0.0,0.0 }; + lammps_fix_external_set_virial_global(handle, "ext", v); } } -TEST(lammps_external_pf, null_args) +TEST(lammps_external, callback) { const char *args[] = {"liblammps", "-log", "none", "-nocite"}; char **argv = (char **)args; @@ -53,18 +56,78 @@ TEST(lammps_external_pf, null_args) "velocity all set 0.1 0.0 -0.1\n" "thermo 5\n" "fix 1 all nve\n" - "fix ext all external pf/callback 5 1\n"); + "fix ext all external pf/callback 5 1\n" + "fix_modify ext energy yes virial yes\n"); output = ::testing::internal::GetCapturedStdout(); if (verbose) std::cout << output; ::testing::internal::CaptureStdout(); - lammps_set_fix_external_callback(handle, (char *)"ext", &callback_one, handle); + lammps_set_fix_external_callback(handle, "ext", &callback_one, handle); lammps_command(handle, "run 10 post no"); - double temp = lammps_get_thermo(handle,"temp"); - output = ::testing::internal::GetCapturedStdout(); + double temp = lammps_get_thermo(handle, "temp"); + double pe = lammps_get_thermo(handle, "pe"); + double press = lammps_get_thermo(handle, "press"); + output = ::testing::internal::GetCapturedStdout(); if (verbose) std::cout << output; - EXPECT_DOUBLE_EQ(temp,1.0/30.0); + EXPECT_DOUBLE_EQ(temp, 1.0 / 30.0); + EXPECT_DOUBLE_EQ(pe, 1.0 / 8.0); + EXPECT_DOUBLE_EQ(press, 0.15416666666666667); + + ::testing::internal::CaptureStdout(); + lammps_close(handle); + output = ::testing::internal::GetCapturedStdout(); + if (verbose) std::cout << output; +} + +TEST(lammps_external, array) +{ + const char *args[] = {"liblammps", "-log", "none", "-nocite"}; + char **argv = (char **)args; + int argc = sizeof(args) / sizeof(char *); + + ::testing::internal::CaptureStdout(); + void *handle = lammps_open_no_mpi(argc, argv, NULL); + std::string output = ::testing::internal::GetCapturedStdout(); + if (verbose) std::cout << output; + + ::testing::internal::CaptureStdout(); + lammps_commands_string(handle, "lattice sc 1.0\n" + "region box block -1 1 -1 1 -1 1\n" + "create_box 1 box\n" + "create_atoms 1 box\n" + "mass 1 1.0\n" + "pair_style zero 0.1\n" + "pair_coeff 1 1\n" + "velocity all set 0.1 0.0 -0.1\n" + "thermo 5\n" + "fix 1 all nve\n" + "fix ext all external pf/array 1\n"); + + output = ::testing::internal::GetCapturedStdout(); + if (verbose) std::cout << output; + + ::testing::internal::CaptureStdout(); + double **force = lammps_fix_external_get_force(handle, "ext"); + int nlocal = lammps_extract_setting(handle, "nlocal"); + for (int i = 0; i < nlocal; ++i) + force[i][0] = force[i][1] = force[i][2] = 0.0; + lammps_command(handle, "run 5 post no"); + double temp = lammps_get_thermo(handle, "temp"); + output = ::testing::internal::GetCapturedStdout(); + if (verbose) std::cout << output; + EXPECT_DOUBLE_EQ(temp, 4.0 / 525.0); + + ::testing::internal::CaptureStdout(); + nlocal = lammps_extract_setting(handle, "nlocal"); + force = lammps_fix_external_get_force(handle, "ext"); + for (int i = 0; i < nlocal; ++i) + force[i][0] = force[i][1] = force[i][2] = 6.0; + lammps_command(handle, "run 5 post no"); + temp = lammps_get_thermo(handle, "temp"); + output = ::testing::internal::GetCapturedStdout(); + if (verbose) std::cout << output; + EXPECT_DOUBLE_EQ(temp, 1.0 / 30.0); ::testing::internal::CaptureStdout(); lammps_close(handle); diff --git a/unittest/python/python-fix-external.py b/unittest/python/python-fix-external.py index badc9e5731..4f589bb5f6 100644 --- a/unittest/python/python-fix-external.py +++ b/unittest/python/python-fix-external.py @@ -36,6 +36,47 @@ class PythonExternal(unittest.TestCase): lmp.command("run 10 post no") self.assertAlmostEqual(lmp.get_thermo("temp"),1.0/30.0,14) + def testExternalArray(self): + """Test fix external from Python with pf/array""" + + machine=None + if 'LAMMPS_MACHINE_NAME' in os.environ: + machine=os.environ['LAMMPS_MACHINE_NAME'] + lmp=lammps(name=machine, cmdargs=['-nocite', '-log','none', '-echo', 'screen']) + + # a few commands to set up simple system + basic_system="""lattice sc 1.0 + region box block -1 1 -1 1 -1 1 + create_box 1 box + create_atoms 1 box + mass 1 1.0 + pair_style zero 0.1 + pair_coeff 1 1 + velocity all set 0.1 0.0 -0.1 + thermo 5 + fix 1 all nve + fix ext all external pf/array 1 +""" + lmp.commands_string(basic_system) + force = lmp.fix_external_get_force("ext"); + nlocal = lmp.extract_setting("nlocal"); + for i in range(nlocal): + force[i][0] = 0.0 + force[i][1] = 0.0 + force[i][2] = 0.0 + + lmp.command("run 5 post no") + self.assertAlmostEqual(lmp.get_thermo("temp"),4.0/525.0,14) + + force = lmp.fix_external_get_force("ext"); + nlocal = lmp.extract_setting("nlocal"); + for i in range(nlocal): + force[i][0] = 6.0 + force[i][1] = 6.0 + force[i][2] = 6.0 + lmp.command("run 5 post no") + self.assertAlmostEqual(lmp.get_thermo("temp"),1.0/30.0,14) + ############################## if __name__ == "__main__": unittest.main() From 5912d0a1c2d86333478aea3399488a3cb11051ab Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 16 Jul 2021 17:43:44 -0400 Subject: [PATCH 439/726] add support for setting global energy for fix external to python module --- python/lammps/core.py | 17 +++++++++++++++++ unittest/c-library/test_library_external.cpp | 13 ++++++++----- unittest/python/python-fix-external.py | 5 +++++ 3 files changed, 30 insertions(+), 5 deletions(-) diff --git a/python/lammps/core.py b/python/lammps/core.py index 5079828ba8..44cd51bb33 100644 --- a/python/lammps/core.py +++ b/python/lammps/core.py @@ -1791,6 +1791,23 @@ class lammps(object): # ------------------------------------------------------------------------- + def fix_external_set_energy_global(self, fix_id, eng): + """Get access to that array with per-atom forces of a fix external instance with a given fix ID. + + This is a wrapper around the :cpp:func:`lammps_fix_external_get_force` function + of the C-library interface. + + :param fix_id: Fix-ID of a fix external instance + :type: string + :param eng: potential energy to be added by fix external + :type: float + """ + + with ExceptionCheck(self): + return self.lib.lammps_fix_external_set_energy_global(self.lmp, fix_id.encode(), eng) + + # ------------------------------------------------------------------------- + def get_neighlist(self, idx): """Returns an instance of :class:`NeighList` which wraps access to the neighbor list with the given index diff --git a/unittest/c-library/test_library_external.cpp b/unittest/c-library/test_library_external.cpp index f6f126c2b8..7c53daaef7 100644 --- a/unittest/c-library/test_library_external.cpp +++ b/unittest/c-library/test_library_external.cpp @@ -28,8 +28,11 @@ static void callback_one(void *handle, step_t timestep, int nlocal, tag_t *, dou { for (int i = 0; i < nlocal; ++i) f[i][0] = f[i][1] = f[i][2] = (double)timestep; - lammps_fix_external_set_energy_global(handle, "ext", 1.0); - double v[6] = {1.0,1.0,1.0,0.0,0.0,0.0 }; + if (timestep < 10) + lammps_fix_external_set_energy_global(handle, "ext", 0.0); + else + lammps_fix_external_set_energy_global(handle, "ext", 1.0); + double v[6] = {1.0, 1.0, 1.0, 0.0, 0.0, 0.0}; lammps_fix_external_set_virial_global(handle, "ext", v); } } @@ -65,10 +68,10 @@ TEST(lammps_external, callback) ::testing::internal::CaptureStdout(); lammps_set_fix_external_callback(handle, "ext", &callback_one, handle); lammps_command(handle, "run 10 post no"); - double temp = lammps_get_thermo(handle, "temp"); - double pe = lammps_get_thermo(handle, "pe"); + double temp = lammps_get_thermo(handle, "temp"); + double pe = lammps_get_thermo(handle, "pe"); double press = lammps_get_thermo(handle, "press"); - output = ::testing::internal::GetCapturedStdout(); + output = ::testing::internal::GetCapturedStdout(); if (verbose) std::cout << output; EXPECT_DOUBLE_EQ(temp, 1.0 / 30.0); EXPECT_DOUBLE_EQ(pe, 1.0 / 8.0); diff --git a/unittest/python/python-fix-external.py b/unittest/python/python-fix-external.py index 4f589bb5f6..02fe805626 100644 --- a/unittest/python/python-fix-external.py +++ b/unittest/python/python-fix-external.py @@ -8,6 +8,10 @@ def callback_one(lmp, ntimestep, nlocal, tag, x, f): f[i][0] = float(ntimestep) f[i][1] = float(ntimestep) f[i][2] = float(ntimestep) + if ntimestep < 10: + lmp.fix_external_set_energy_global("ext",0.5) + else: + lmp.fix_external_set_energy_global("ext",1.0) class PythonExternal(unittest.TestCase): def testExternalCallback(self): @@ -35,6 +39,7 @@ class PythonExternal(unittest.TestCase): lmp.set_fix_external_callback("ext",callback_one,lmp) lmp.command("run 10 post no") self.assertAlmostEqual(lmp.get_thermo("temp"),1.0/30.0,14) + self.assertAlmostEqual(lmp.get_thermo("pe"),1.0/8.0,14) def testExternalArray(self): """Test fix external from Python with pf/array""" From ba5bf0fb775c5acaa5f29f2738f95c88daff699e Mon Sep 17 00:00:00 2001 From: kipbarrett Date: Fri, 16 Jul 2021 17:37:06 -0500 Subject: [PATCH 440/726] plugged memory leaks. Resolves [2811] --- src/ML-RANN/pair_rann.cpp | 23 ++++++++++++++----- src/ML-RANN/rann_fingerprint_bond.cpp | 1 + src/ML-RANN/rann_fingerprint_bondscreened.cpp | 1 + .../rann_fingerprint_bondscreenedspin.cpp | 1 + src/ML-RANN/rann_fingerprint_bondspin.cpp | 1 + 5 files changed, 21 insertions(+), 6 deletions(-) diff --git a/src/ML-RANN/pair_rann.cpp b/src/ML-RANN/pair_rann.cpp index f0d1dec876..7b1a5a4317 100644 --- a/src/ML-RANN/pair_rann.cpp +++ b/src/ML-RANN/pair_rann.cpp @@ -110,22 +110,30 @@ PairRANN::~PairRANN() for (int j=0;j0) { + for (int j=0;jdestroy(dssumy); memory->destroy(dssumz); } + memory->destroy(setflag); + memory->destroy(cutsq); } void PairRANN::allocate(const std::vector &elementwords) @@ -305,6 +315,7 @@ void PairRANN::read_file(char *filename) ptr=fgets(linetemp,longline,fp); linenum++; if (ptr == nullptr) { + fclose(fp); if (check_potential()) { error->one(FLERR,"Invalid syntax in potential file, values are inconsistent or missing"); } @@ -478,10 +489,8 @@ void PairRANN::read_network_layers(std::vector line,std::vector line,std::vector line,std::vector line1,FILE* fp,char *filename,int *linenum) { int i,j,l; - char linetemp[MAXLINE]; + char linetemp[MAXLINE],*ptr; for (l=0;lone(filename,*linenum-1,"networklayers must be defined before biases."); @@ -558,7 +567,8 @@ void PairRANN::read_bias(std::vector line,std::vector net[l].Biases[i] = new double [net[l].dimensions[i+1]]; net[l].Biases[i][0] = utils::numeric(filename,*linenum,line1[0].c_str(),1,lmp); for (j=1;jone(filename,*linenum,"unexpected end of potential file!"); (*linenum)++; Tokenizer values1 = Tokenizer(linetemp,": ,\t_\n"); line1 = values1.as_vector(); @@ -832,6 +842,7 @@ void PairRANN::compute(int eflag, int vflag) } } if (vflag_fdotr) virial_fdotr_compute(); + delete [] sims; } void PairRANN::cull_neighbor_list(int* jnum,int i,int sn) { diff --git a/src/ML-RANN/rann_fingerprint_bond.cpp b/src/ML-RANN/rann_fingerprint_bond.cpp index bf14828a7b..88291921a0 100644 --- a/src/ML-RANN/rann_fingerprint_bond.cpp +++ b/src/ML-RANN/rann_fingerprint_bond.cpp @@ -282,6 +282,7 @@ void Fingerprint_bond::generate_coefficients() { //calculates multinomial c coeff[p1][p] = pair->factorial(p)/pair->factorial(coeffx[p1][p])/pair->factorial(coeffy[p1][p])/pair->factorial(coeffz[p1][p]); } } + delete [] M; } diff --git a/src/ML-RANN/rann_fingerprint_bondscreened.cpp b/src/ML-RANN/rann_fingerprint_bondscreened.cpp index 59fed322a3..c26e9cd18e 100644 --- a/src/ML-RANN/rann_fingerprint_bondscreened.cpp +++ b/src/ML-RANN/rann_fingerprint_bondscreened.cpp @@ -283,6 +283,7 @@ void Fingerprint_bondscreened::generate_coefficients() { //calculates multi coeff[p1][p] = pair->factorial(p)/pair->factorial(coeffx[p1][p])/pair->factorial(coeffy[p1][p])/pair->factorial(coeffz[p1][p]); } } + delete [] M; } diff --git a/src/ML-RANN/rann_fingerprint_bondscreenedspin.cpp b/src/ML-RANN/rann_fingerprint_bondscreenedspin.cpp index 0728b6a295..b30865a96d 100644 --- a/src/ML-RANN/rann_fingerprint_bondscreenedspin.cpp +++ b/src/ML-RANN/rann_fingerprint_bondscreenedspin.cpp @@ -285,6 +285,7 @@ void Fingerprint_bondscreenedspin::generate_coefficients() { //calculates m coeff[p1][p] = pair->factorial(p)/pair->factorial(coeffx[p1][p])/pair->factorial(coeffy[p1][p])/pair->factorial(coeffz[p1][p]); } } + delete [] M; } diff --git a/src/ML-RANN/rann_fingerprint_bondspin.cpp b/src/ML-RANN/rann_fingerprint_bondspin.cpp index 1005818217..990bf12d78 100644 --- a/src/ML-RANN/rann_fingerprint_bondspin.cpp +++ b/src/ML-RANN/rann_fingerprint_bondspin.cpp @@ -283,6 +283,7 @@ void Fingerprint_bondspin::generate_coefficients() { //calculates multinomi coeff[p1][p] = pair->factorial(p)/pair->factorial(coeffx[p1][p])/pair->factorial(coeffy[p1][p])/pair->factorial(coeffz[p1][p]); } } + delete [] M; } From 626b93cfbb5d3fd4d7c91a2670971128717defd5 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 16 Jul 2021 21:44:53 -0400 Subject: [PATCH 441/726] plug memory leak for alpha/alpha_k parameter --- src/ML-RANN/rann_fingerprint_bond.cpp | 1 + src/ML-RANN/rann_fingerprint_bondscreened.cpp | 1 + src/ML-RANN/rann_fingerprint_bondscreenedspin.cpp | 1 + src/ML-RANN/rann_fingerprint_bondspin.cpp | 1 + 4 files changed, 4 insertions(+) diff --git a/src/ML-RANN/rann_fingerprint_bond.cpp b/src/ML-RANN/rann_fingerprint_bond.cpp index 88291921a0..1adcb5da19 100644 --- a/src/ML-RANN/rann_fingerprint_bond.cpp +++ b/src/ML-RANN/rann_fingerprint_bond.cpp @@ -156,6 +156,7 @@ void Fingerprint_bond::init(int *i,int _id) { rc = 0; mlength = 0; kmax = 0; + delete[] alpha_k; alpha_k = new double [1]; alpha_k[0]=-1; empty = false; diff --git a/src/ML-RANN/rann_fingerprint_bondscreened.cpp b/src/ML-RANN/rann_fingerprint_bondscreened.cpp index c26e9cd18e..e4c50cd1d0 100644 --- a/src/ML-RANN/rann_fingerprint_bondscreened.cpp +++ b/src/ML-RANN/rann_fingerprint_bondscreened.cpp @@ -156,6 +156,7 @@ void Fingerprint_bondscreened::init(int *i,int _id) { rc = 0; mlength = 0; kmax = 0; + delete[] alpha_k; alpha_k = new double [1]; alpha_k[0]=-1; empty = false; diff --git a/src/ML-RANN/rann_fingerprint_bondscreenedspin.cpp b/src/ML-RANN/rann_fingerprint_bondscreenedspin.cpp index b30865a96d..123e91439e 100644 --- a/src/ML-RANN/rann_fingerprint_bondscreenedspin.cpp +++ b/src/ML-RANN/rann_fingerprint_bondscreenedspin.cpp @@ -158,6 +158,7 @@ void Fingerprint_bondscreenedspin::init(int *i,int _id) { rc = 0; mlength = 0; kmax = 0; + delete[] alpha_k; alpha_k = new double [1]; alpha_k[0]=-1; empty = false; diff --git a/src/ML-RANN/rann_fingerprint_bondspin.cpp b/src/ML-RANN/rann_fingerprint_bondspin.cpp index 990bf12d78..7dfeb2d44c 100644 --- a/src/ML-RANN/rann_fingerprint_bondspin.cpp +++ b/src/ML-RANN/rann_fingerprint_bondspin.cpp @@ -157,6 +157,7 @@ void Fingerprint_bondspin::init(int *i,int _id) { rc = 0; mlength = 0; kmax = 0; + delete[] alpha_k; alpha_k = new double [1]; alpha_k[0]=-1; empty = false; From 0ddd90fe0ff341c7763b11f515c67f91cfaa67ad Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 16 Jul 2021 21:50:56 -0400 Subject: [PATCH 442/726] reformat allocations and deallocations --- src/ML-RANN/pair_rann.cpp | 64 +++++++++---------- src/ML-RANN/rann_fingerprint_bond.cpp | 46 ++++++------- src/ML-RANN/rann_fingerprint_bondscreened.cpp | 46 ++++++------- .../rann_fingerprint_bondscreenedspin.cpp | 46 ++++++------- src/ML-RANN/rann_fingerprint_bondspin.cpp | 46 ++++++------- src/ML-RANN/rann_fingerprint_radial.cpp | 22 +++---- .../rann_fingerprint_radialscreened.cpp | 22 +++---- .../rann_fingerprint_radialscreenedspin.cpp | 22 +++---- src/ML-RANN/rann_fingerprint_radialspin.cpp | 22 +++---- 9 files changed, 168 insertions(+), 168 deletions(-) diff --git a/src/ML-RANN/pair_rann.cpp b/src/ML-RANN/pair_rann.cpp index 7b1a5a4317..95e4d1af58 100644 --- a/src/ML-RANN/pair_rann.cpp +++ b/src/ML-RANN/pair_rann.cpp @@ -100,45 +100,45 @@ PairRANN::PairRANN(LAMMPS *lmp) : Pair(lmp) PairRANN::~PairRANN() { //clear memory - delete [] mass; + delete[] mass; for (int i=0;i0) { for (int j=0;j0) { for (int j=0;jdestroy(xn); memory->destroy(yn); memory->destroy(zn); @@ -207,10 +207,10 @@ void PairRANN::allocate(const std::vector &elementwords) activation = new RANN::Activation**[nelementsp]; fingerprints = new RANN::Fingerprint**[nelementsp]; fingerprintlength = new int[nelementsp]; - fingerprintperelement = new int [nelementsp]; + fingerprintperelement = new int[nelementsp]; fingerprintcount = new int[nelementsp]; - screening_min = new double [nelements*nelements*nelements]; - screening_max = new double [nelements*nelements*nelements]; + screening_min = new double[nelements*nelements*nelements]; + screening_max = new double[nelements*nelements*nelements]; for (i=0;intypes+1]; + map = new int[atom->ntypes+1]; if (narg != 3 + atom->ntypes) error->one(FLERR,"Incorrect args for pair coefficients"); if (strcmp(arg[0],"*") != 0 || strcmp(arg[1],"*") != 0) error->one(FLERR,"Incorrect args for pair coefficients"); nelements = -1; @@ -483,10 +483,10 @@ void PairRANN::read_network_layers(std::vector line,std::vectorone(filename,linenum,"invalid number of network layers"); - delete [] net[i].dimensions; + delete[] net[i].dimensions; weightdefined[i] = new bool [net[i].layers]; biasdefined[i] = new bool [net[i].layers]; - net[i].dimensions = new int [net[i].layers]; + net[i].dimensions = new int[net[i].layers]; net[i].Weights = new double * [net[i].layers-1]; net[i].Biases = new double * [net[i].layers-1]; for (j=0;j line,std::vector=net[l].layers || i<0)error->one(filename,*linenum-1,"invalid weight layer"); if (net[l].dimensions[i]==0 || net[l].dimensions[i+1]==0) error->one(filename,*linenum-1,"network layer sizes must be defined before corresponding weight"); - net[l].Weights[i] = new double [net[l].dimensions[i]*net[l].dimensions[i+1]]; + net[l].Weights[i] = new double[net[l].dimensions[i]*net[l].dimensions[i+1]]; weightdefined[l][i] = true; nwords = line1.size(); if (nwords != net[l].dimensions[i])error->one(filename,*linenum,"invalid weights per line"); @@ -564,7 +564,7 @@ void PairRANN::read_bias(std::vector line,std::vector if (i>=net[l].layers || i<0)error->one(filename,*linenum-1,"invalid bias layer"); if (net[l].dimensions[i]==0) error->one(filename,*linenum-1,"network layer sizes must be defined before corresponding bias"); biasdefined[l][i] = true; - net[l].Biases[i] = new double [net[l].dimensions[i+1]]; + net[l].Biases[i] = new double[net[l].dimensions[i+1]]; net[l].Biases[i][0] = utils::numeric(filename,*linenum,line1[0].c_str(),1,lmp); for (j=1;jallscreen = false; } Fingerprint_bond::~Fingerprint_bond() { - delete [] alpha_k; - delete [] atomtypes; - delete [] expcuttable; - delete [] dfctable; + delete[] alpha_k; + delete[] atomtypes; + delete[] expcuttable; + delete[] dfctable; for (int i=0;i<(mlength*(mlength+1))>>1;i++) { - delete [] coeff[i]; - delete [] coeffx[i]; - delete [] coeffy[i]; - delete [] coeffz[i]; - delete [] Mf[i]; + delete[] coeff[i]; + delete[] coeffx[i]; + delete[] coeffy[i]; + delete[] coeffz[i]; + delete[] Mf[i]; } - delete [] coeff; - delete [] coeffx; - delete [] coeffy; - delete [] coeffz; - delete [] Mf; - delete [] rinvsqrttable; + delete[] coeff; + delete[] coeffx; + delete[] coeffy; + delete[] coeffz; + delete[] Mf; + delete[] rinvsqrttable; } bool Fingerprint_bond::parse_values(std::string constant,std::vector line1) { @@ -81,8 +81,8 @@ bool Fingerprint_bond::parse_values(std::string constant,std::vectorres; double cutmax = pair->cutmax; - expcuttable = new double [(res+buf)*(kmax)]; - dfctable = new double [res+buf]; + expcuttable = new double[(res+buf)*(kmax)]; + dfctable = new double[res+buf]; for (m=0;m<(res+buf);m++) { r1 = cutmax*cutmax*(double)(m)/(double)(res); for (n=0;n<(kmax);n++) { @@ -283,7 +283,7 @@ void Fingerprint_bond::generate_coefficients() { //calculates multinomial c coeff[p1][p] = pair->factorial(p)/pair->factorial(coeffx[p1][p])/pair->factorial(coeffy[p1][p])/pair->factorial(coeffz[p1][p]); } } - delete [] M; + delete[] M; } diff --git a/src/ML-RANN/rann_fingerprint_bondscreened.cpp b/src/ML-RANN/rann_fingerprint_bondscreened.cpp index e4c50cd1d0..2ed63a3655 100644 --- a/src/ML-RANN/rann_fingerprint_bondscreened.cpp +++ b/src/ML-RANN/rann_fingerprint_bondscreened.cpp @@ -39,36 +39,36 @@ Fingerprint_bondscreened::Fingerprint_bondscreened(PairRANN *_pair) : Fingerprin dr = 0; re = 0; rc = 0; - alpha_k = new double [1]; + alpha_k = new double[1]; alpha_k[0] = -1; kmax = 0; mlength = 0; id = -1; style = "bondscreened"; - atomtypes = new int [n_body_type]; + atomtypes = new int[n_body_type]; empty = true; _pair->doscreen = true; screen = true; } Fingerprint_bondscreened::~Fingerprint_bondscreened() { - delete [] alpha_k; - delete [] atomtypes; - delete [] expcuttable; - delete [] dfctable; + delete[] alpha_k; + delete[] atomtypes; + delete[] expcuttable; + delete[] dfctable; for (int i=0;i<(mlength*(mlength+1))>>1;i++) { - delete [] coeff[i]; - delete [] coeffx[i]; - delete [] coeffy[i]; - delete [] coeffz[i]; - delete [] Mf[i]; + delete[] coeff[i]; + delete[] coeffx[i]; + delete[] coeffy[i]; + delete[] coeffz[i]; + delete[] Mf[i]; } - delete [] coeff; - delete [] coeffx; - delete [] coeffy; - delete [] coeffz; - delete [] Mf; - delete [] rinvsqrttable; + delete[] coeff; + delete[] coeffx; + delete[] coeffy; + delete[] coeffz; + delete[] Mf; + delete[] rinvsqrttable; } bool Fingerprint_bondscreened::parse_values(std::string constant,std::vector line1) { @@ -81,8 +81,8 @@ bool Fingerprint_bondscreened::parse_values(std::string constant,std::vectorres; double cutmax = pair->cutmax; - expcuttable = new double [(res+buf)*(kmax)]; - dfctable = new double [res+buf]; + expcuttable = new double[(res+buf)*(kmax)]; + dfctable = new double[res+buf]; for (m=0;m<(res+buf);m++) { r1 = cutmax*cutmax*(double)(m)/(double)(res); for (n=0;n<(kmax);n++) { @@ -284,7 +284,7 @@ void Fingerprint_bondscreened::generate_coefficients() { //calculates multi coeff[p1][p] = pair->factorial(p)/pair->factorial(coeffx[p1][p])/pair->factorial(coeffy[p1][p])/pair->factorial(coeffz[p1][p]); } } - delete [] M; + delete[] M; } diff --git a/src/ML-RANN/rann_fingerprint_bondscreenedspin.cpp b/src/ML-RANN/rann_fingerprint_bondscreenedspin.cpp index 123e91439e..49829b41a1 100644 --- a/src/ML-RANN/rann_fingerprint_bondscreenedspin.cpp +++ b/src/ML-RANN/rann_fingerprint_bondscreenedspin.cpp @@ -39,13 +39,13 @@ Fingerprint_bondscreenedspin::Fingerprint_bondscreenedspin(PairRANN *_pair) : Fi dr = 0; re = 0; rc = 0; - alpha_k = new double [1]; + alpha_k = new double[1]; alpha_k[0] = -1; kmax = 0; mlength = 0; id = -1; style = "bondscreenedspin"; - atomtypes = new int [n_body_type]; + atomtypes = new int[n_body_type]; empty = true; _pair->doscreen = true; screen = true; @@ -54,23 +54,23 @@ Fingerprint_bondscreenedspin::Fingerprint_bondscreenedspin(PairRANN *_pair) : Fi } Fingerprint_bondscreenedspin::~Fingerprint_bondscreenedspin() { - delete [] alpha_k; - delete [] atomtypes; - delete [] expcuttable; - delete [] dfctable; + delete[] alpha_k; + delete[] atomtypes; + delete[] expcuttable; + delete[] dfctable; for (int i=0;i<(mlength*(mlength+1))>>1;i++) { - delete [] coeff[i]; - delete [] coeffx[i]; - delete [] coeffy[i]; - delete [] coeffz[i]; - delete [] Mf[i]; + delete[] coeff[i]; + delete[] coeffx[i]; + delete[] coeffy[i]; + delete[] coeffz[i]; + delete[] Mf[i]; } - delete [] coeff; - delete [] coeffx; - delete [] coeffy; - delete [] coeffz; - delete [] Mf; - delete [] rinvsqrttable; + delete[] coeff; + delete[] coeffx; + delete[] coeffy; + delete[] coeffz; + delete[] Mf; + delete[] rinvsqrttable; } bool Fingerprint_bondscreenedspin::parse_values(std::string constant,std::vector line1) { @@ -83,8 +83,8 @@ bool Fingerprint_bondscreenedspin::parse_values(std::string constant,std::vector rc = strtod(line1[0].c_str(),NULL); } else if (constant.compare("alphak")==0) { - delete [] alpha_k; - alpha_k = new double [nwords]; + delete[] alpha_k; + alpha_k = new double[nwords]; for (l=0;lres; double cutmax = pair->cutmax; - expcuttable = new double [(res+buf)*(kmax)]; - dfctable = new double [res+buf]; + expcuttable = new double[(res+buf)*(kmax)]; + dfctable = new double[res+buf]; for (m=0;m<(res+buf);m++) { r1 = cutmax*cutmax*(double)(m)/(double)(res); for (n=0;n<(kmax);n++) { @@ -286,7 +286,7 @@ void Fingerprint_bondscreenedspin::generate_coefficients() { //calculates m coeff[p1][p] = pair->factorial(p)/pair->factorial(coeffx[p1][p])/pair->factorial(coeffy[p1][p])/pair->factorial(coeffz[p1][p]); } } - delete [] M; + delete[] M; } diff --git a/src/ML-RANN/rann_fingerprint_bondspin.cpp b/src/ML-RANN/rann_fingerprint_bondspin.cpp index 7dfeb2d44c..452846cfb1 100644 --- a/src/ML-RANN/rann_fingerprint_bondspin.cpp +++ b/src/ML-RANN/rann_fingerprint_bondspin.cpp @@ -39,13 +39,13 @@ Fingerprint_bondspin::Fingerprint_bondspin(PairRANN *_pair) : Fingerprint(_pair) dr = 0; re = 0; rc = 0; - alpha_k = new double [1]; + alpha_k = new double[1]; alpha_k[0] = -1; kmax = 0; mlength = 0; id = -1; style = "bondspin"; - atomtypes = new int [n_body_type]; + atomtypes = new int[n_body_type]; empty = true; _pair->allscreen = false; _pair->dospin = true; @@ -53,23 +53,23 @@ Fingerprint_bondspin::Fingerprint_bondspin(PairRANN *_pair) : Fingerprint(_pair) } Fingerprint_bondspin::~Fingerprint_bondspin() { - delete [] alpha_k; - delete [] atomtypes; - delete [] expcuttable; - delete [] dfctable; + delete[] alpha_k; + delete[] atomtypes; + delete[] expcuttable; + delete[] dfctable; for (int i=0;i<(mlength*(mlength+1))>>1;i++) { - delete [] coeff[i]; - delete [] coeffx[i]; - delete [] coeffy[i]; - delete [] coeffz[i]; - delete [] Mf[i]; + delete[] coeff[i]; + delete[] coeffx[i]; + delete[] coeffy[i]; + delete[] coeffz[i]; + delete[] Mf[i]; } - delete [] coeff; - delete [] coeffx; - delete [] coeffy; - delete [] coeffz; - delete [] Mf; - delete [] rinvsqrttable; + delete[] coeff; + delete[] coeffx; + delete[] coeffy; + delete[] coeffz; + delete[] Mf; + delete[] rinvsqrttable; } bool Fingerprint_bondspin::parse_values(std::string constant,std::vector line1) { @@ -82,8 +82,8 @@ bool Fingerprint_bondspin::parse_values(std::string constant,std::vectorres; double cutmax = pair->cutmax; - expcuttable = new double [(res+buf)*(kmax)]; - dfctable = new double [res+buf]; + expcuttable = new double[(res+buf)*(kmax)]; + dfctable = new double[res+buf]; for (m=0;m<(res+buf);m++) { r1 = cutmax*cutmax*(double)(m)/(double)(res); for (n=0;n<(kmax);n++) { @@ -284,7 +284,7 @@ void Fingerprint_bondspin::generate_coefficients() { //calculates multinomi coeff[p1][p] = pair->factorial(p)/pair->factorial(coeffx[p1][p])/pair->factorial(coeffy[p1][p])/pair->factorial(coeffz[p1][p]); } } - delete [] M; + delete[] M; } diff --git a/src/ML-RANN/rann_fingerprint_radial.cpp b/src/ML-RANN/rann_fingerprint_radial.cpp index f468ee2f6c..93cab2f363 100644 --- a/src/ML-RANN/rann_fingerprint_radial.cpp +++ b/src/ML-RANN/rann_fingerprint_radial.cpp @@ -41,13 +41,13 @@ Fingerprint_radial::Fingerprint_radial(PairRANN *_pair) : Fingerprint(_pair) dr = 0; re = 0; rc = 0; - alpha = new double [1]; + alpha = new double[1]; alpha[0] = -1; nmax = 0; omin = 0; id = -1; style = "radial"; - atomtypes = new int [n_body_type]; + atomtypes = new int[n_body_type]; empty = true; fullydefined = false; _pair->allscreen = false; @@ -55,11 +55,11 @@ Fingerprint_radial::Fingerprint_radial(PairRANN *_pair) : Fingerprint(_pair) Fingerprint_radial::~Fingerprint_radial() { - delete [] atomtypes; - delete [] radialtable; - delete [] alpha; - delete [] dfctable; - delete [] rinvsqrttable; + delete[] atomtypes; + delete[] radialtable; + delete[] alpha; + delete[] dfctable; + delete[] rinvsqrttable; } bool Fingerprint_radial::parse_values(std::string constant,std::vector line1) { @@ -72,8 +72,8 @@ bool Fingerprint_radial::parse_values(std::string constant,std::vectorres; double cutmax = pair->cutmax; - radialtable = new double [(res+buf)*get_length()]; - dfctable = new double [res+buf]; + radialtable = new double[(res+buf)*get_length()]; + dfctable = new double[res+buf]; for (k=0;k<(res+buf);k++) { r1 = cutmax*cutmax*(double)(k)/(double)(res); for (m=0;m<=(nmax-omin);m++) { diff --git a/src/ML-RANN/rann_fingerprint_radialscreened.cpp b/src/ML-RANN/rann_fingerprint_radialscreened.cpp index 126b83fc51..a933703db8 100644 --- a/src/ML-RANN/rann_fingerprint_radialscreened.cpp +++ b/src/ML-RANN/rann_fingerprint_radialscreened.cpp @@ -41,13 +41,13 @@ Fingerprint_radialscreened::Fingerprint_radialscreened(PairRANN *_pair) : Finger dr = 0; re = 0; rc = 0; - alpha = new double [1]; + alpha = new double[1]; alpha[0] = -1; nmax = 0; omin = 0; id = -1; style = "radialscreened"; - atomtypes = new int [n_body_type]; + atomtypes = new int[n_body_type]; empty = true; fullydefined = false; _pair->doscreen = true; @@ -56,11 +56,11 @@ Fingerprint_radialscreened::Fingerprint_radialscreened(PairRANN *_pair) : Finger Fingerprint_radialscreened::~Fingerprint_radialscreened() { - delete [] atomtypes; - delete [] radialtable; - delete [] alpha; - delete [] dfctable; - delete [] rinvsqrttable; + delete[] atomtypes; + delete[] radialtable; + delete[] alpha; + delete[] dfctable; + delete[] rinvsqrttable; } bool Fingerprint_radialscreened::parse_values(std::string constant,std::vector line1) { @@ -73,8 +73,8 @@ bool Fingerprint_radialscreened::parse_values(std::string constant,std::vectorres; double cutmax = pair->cutmax; - radialtable = new double [(res+buf)*get_length()]; - dfctable = new double [res+buf]; + radialtable = new double[(res+buf)*get_length()]; + dfctable = new double[res+buf]; for (k=0;k<(res+buf);k++) { r1 = cutmax*cutmax*(double)(k)/(double)(res); for (m=0;m<=(nmax-omin);m++) { diff --git a/src/ML-RANN/rann_fingerprint_radialscreenedspin.cpp b/src/ML-RANN/rann_fingerprint_radialscreenedspin.cpp index 11674190fb..ecd0e4a2f0 100644 --- a/src/ML-RANN/rann_fingerprint_radialscreenedspin.cpp +++ b/src/ML-RANN/rann_fingerprint_radialscreenedspin.cpp @@ -40,13 +40,13 @@ Fingerprint_radialscreenedspin::Fingerprint_radialscreenedspin(PairRANN *_pair) dr = 0; re = 0; rc = 0; - alpha = new double [1]; + alpha = new double[1]; alpha[0] = -1; nmax = 0; omin = 0; id = -1; style = "radialscreenedspin"; - atomtypes = new int [n_body_type]; + atomtypes = new int[n_body_type]; empty = true; fullydefined = false; _pair->doscreen = true; @@ -57,11 +57,11 @@ Fingerprint_radialscreenedspin::Fingerprint_radialscreenedspin(PairRANN *_pair) Fingerprint_radialscreenedspin::~Fingerprint_radialscreenedspin() { - delete [] atomtypes; - delete [] radialtable; - delete [] alpha; - delete [] dfctable; - delete [] rinvsqrttable; + delete[] atomtypes; + delete[] radialtable; + delete[] alpha; + delete[] dfctable; + delete[] rinvsqrttable; } bool Fingerprint_radialscreenedspin::parse_values(std::string constant,std::vector line1) { @@ -74,8 +74,8 @@ bool Fingerprint_radialscreenedspin::parse_values(std::string constant,std::vect rc = strtod(line1[0].c_str(),NULL); } else if (constant.compare("alpha")==0) { - delete [] alpha; - alpha = new double [nwords]; + delete[] alpha; + alpha = new double[nwords]; for (l=0;lres; double cutmax = pair->cutmax; - radialtable = new double [(res+buf)*get_length()]; - dfctable = new double [res+buf]; + radialtable = new double[(res+buf)*get_length()]; + dfctable = new double[res+buf]; for (k=0;k<(res+buf);k++) { r1 = cutmax*cutmax*(double)(k)/(double)(res); for (m=0;m<=(nmax-omin);m++) { diff --git a/src/ML-RANN/rann_fingerprint_radialspin.cpp b/src/ML-RANN/rann_fingerprint_radialspin.cpp index 2d0a2f68f1..137f7ac162 100644 --- a/src/ML-RANN/rann_fingerprint_radialspin.cpp +++ b/src/ML-RANN/rann_fingerprint_radialspin.cpp @@ -40,13 +40,13 @@ Fingerprint_radialspin::Fingerprint_radialspin(PairRANN *_pair) : Fingerprint(_p dr = 0; re = 0; rc = 0; - alpha = new double [1]; + alpha = new double[1]; alpha[0] = -1; nmax = 0; omin = 0; id = -1; style = "radialspin"; - atomtypes = new int [n_body_type]; + atomtypes = new int[n_body_type]; empty = true; fullydefined = false; _pair->allscreen = false; @@ -56,11 +56,11 @@ Fingerprint_radialspin::Fingerprint_radialspin(PairRANN *_pair) : Fingerprint(_p Fingerprint_radialspin::~Fingerprint_radialspin() { - delete [] atomtypes; - delete [] radialtable; - delete [] alpha; - delete [] dfctable; - delete [] rinvsqrttable; + delete[] atomtypes; + delete[] radialtable; + delete[] alpha; + delete[] dfctable; + delete[] rinvsqrttable; } bool Fingerprint_radialspin::parse_values(std::string constant,std::vector line1) { @@ -73,8 +73,8 @@ bool Fingerprint_radialspin::parse_values(std::string constant,std::vectorres; double cutmax = pair->cutmax; - radialtable = new double [(res+buf)*get_length()]; - dfctable = new double [res+buf]; + radialtable = new double[(res+buf)*get_length()]; + dfctable = new double[res+buf]; for (k=0;k<(res+buf);k++) { r1 = cutmax*cutmax*(double)(k)/(double)(res); for (m=0;m<=(nmax-omin);m++) { From 504b756a9a6195074ddb6fd2cf863bafc6940af9 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 16 Jul 2021 22:06:39 -0400 Subject: [PATCH 443/726] recover compilation. we don't use the energy, only the force --- src/GRANULAR/compute_fabric.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/GRANULAR/compute_fabric.cpp b/src/GRANULAR/compute_fabric.cpp index e800e0f130..a09327e2d5 100644 --- a/src/GRANULAR/compute_fabric.cpp +++ b/src/GRANULAR/compute_fabric.cpp @@ -374,7 +374,7 @@ void ComputeFabric::compute_vector() if (rsq >= radsum * radsum) continue; } - if (fn_flag || ft_flag) eng = pair->single(i, j, itype, jtype, rsq, 1.0, 1.0, fpair); + if (fn_flag || ft_flag) pair->single(i, j, itype, jtype, rsq, 1.0, 1.0, fpair); r = sqrt(rsq); rinv = 1.0 / r; From d462bb3131c70172ef61f3d07a86a6f4ae9dc46d Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 16 Jul 2021 22:44:04 -0400 Subject: [PATCH 444/726] fix off-by-one bug --- src/fix_external.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/fix_external.cpp b/src/fix_external.cpp index 4bc1e7eebc..26c852fbd0 100644 --- a/src/fix_external.cpp +++ b/src/fix_external.cpp @@ -254,7 +254,7 @@ void FixExternal::set_vector_length(int n) void FixExternal::set_vector(int index, double value) { - if (index >= size_vector) + if (index > size_vector) error->all(FLERR,"Invalid set_vector index in fix external"); caller_vector[index-1] = value; } From fa654f2270233fac4b586afa5c95d8363ce14917 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 16 Jul 2021 23:41:25 -0400 Subject: [PATCH 445/726] add support for set_vector for fix external in c-library, python and unittest --- .gitignore | 1 + doc/src/Library_utility.rst | 24 ++++++ python/lammps/core.py | 37 ++++++++ src/library.cpp | 90 ++++++++++++++++++-- src/library.h | 2 +- unittest/c-library/test_library_external.cpp | 31 +++++-- unittest/python/python-fix-external.py | 19 ++++- 7 files changed, 188 insertions(+), 16 deletions(-) diff --git a/.gitignore b/.gitignore index 14d9dbebc9..b71a750c7d 100644 --- a/.gitignore +++ b/.gitignore @@ -44,6 +44,7 @@ Thumbs.db /build* /CMakeCache.txt /CMakeFiles/ +/Testing /Makefile /cmake_install.cmake /lmp diff --git a/doc/src/Library_utility.rst b/doc/src/Library_utility.rst index 2748d418b6..32fac6bcc8 100644 --- a/doc/src/Library_utility.rst +++ b/doc/src/Library_utility.rst @@ -8,7 +8,11 @@ functions. They do not directly call the LAMMPS library. - :cpp:func:`lammps_decode_image_flags` - :cpp:func:`lammps_set_fix_external_callback` - :cpp:func:`lammps_fix_external_set_energy_global` +- :cpp:func:`lammps_fix_external_set_energy_peratom` - :cpp:func:`lammps_fix_external_set_virial_global` +- :cpp:func:`lammps_fix_external_set_virial_peratom` +- :cpp:func:`lammps_fix_external_set_vector_length` +- :cpp:func:`lammps_fix_external_set_vector` - :cpp:func:`lammps_free` - :cpp:func:`lammps_is_running` - :cpp:func:`lammps_force_timeout` @@ -43,11 +47,31 @@ where such memory buffers were allocated that require the use of ----------------------- +.. doxygenfunction:: lammps_fix_external_set_energy_peratom + :project: progguide + +----------------------- + .. doxygenfunction:: lammps_fix_external_set_virial_global :project: progguide ----------------------- +.. doxygenfunction:: lammps_fix_external_set_virial_peratom + :project: progguide + +----------------------- + +.. doxygenfunction:: lammps_fix_external_set_vector_length + :project: progguide + +----------------------- + +.. doxygenfunction:: lammps_fix_external_set_vector + :project: progguide + +----------------------- + .. doxygenfunction:: lammps_free :project: progguide diff --git a/python/lammps/core.py b/python/lammps/core.py index 44cd51bb33..05192b5f6e 100644 --- a/python/lammps/core.py +++ b/python/lammps/core.py @@ -303,6 +303,9 @@ class lammps(object): self.lib.lammps_fix_external_set_energy_peratom.argtypes = [c_void_p, c_char_p, POINTER(c_double)] self.lib.lammps_fix_external_set_virial_peratom.argtypes = [c_void_p, c_char_p, POINTER(POINTER(c_double))] + self.lib.lammps_fix_external_set_vector_length.argtypes = [c_void_p, c_char_p, c_int] + self.lib.lammps_fix_external_set_vector.argtypes = [c_void_p, c_char_p, c_int, c_double] + # detect if Python is using a version of mpi4py that can pass communicators # only needed if LAMMPS has been compiled with MPI support. self.has_mpi4py = False @@ -1806,6 +1809,40 @@ class lammps(object): with ExceptionCheck(self): return self.lib.lammps_fix_external_set_energy_global(self.lmp, fix_id.encode(), eng) + # ------------------------------------------------------------------------- + def fix_external_set_vector_length(self, fix_id, length): + """Set the vector length for a global vector stored with fix external for analysis + + This is a wrapper around the :cpp:func:`lammps_fix_external_set_vector_length` function + of the C-library interface. + + :param fix_id: Fix-ID of a fix external instance + :type: string + :param length: length of the global vector + :type: int + """ + + with ExceptionCheck(self): + return self.lib.lammps_fix_external_set_vector_length(self.lmp, fix_id.encode(), length) + + # ------------------------------------------------------------------------- + def fix_external_set_vector(self, fix_id, idx, val): + """Store a global vector value for a fix external instance with the given ID. + + This is a wrapper around the :cpp:func:`lammps_fix_external_set_vector` function + of the C-library interface. + + :param fix_id: Fix-ID of a fix external instance + :type: string + :param idx: 1-based index of the value in the global vector + :type: int + :param val: value to be stored in the global vector + :type: float + """ + + with ExceptionCheck(self): + return self.lib.lammps_fix_external_set_vector(self.lmp, fix_id.encode(), idx, val) + # ------------------------------------------------------------------------- def get_neighlist(self, idx): diff --git a/src/library.cpp b/src/library.cpp index 4488114579..2c75657447 100644 --- a/src/library.cpp +++ b/src/library.cpp @@ -4821,7 +4821,7 @@ mode. The function has to have C language bindings with the prototype: void func(void *ptr, bigint timestep, int nlocal, tagint *ids, double **x, double **fexternal); -This is an alternative to the array mechanism set up by :cpp:func:`lammps_fix_external_set_force`. +This is an alternative to the array mechanism set up by :cpp:func:`lammps_fix_external_get_force`. Please see the documentation for :doc:`fix external ` for more information about how to use the fix and how to couple it with an @@ -4913,7 +4913,7 @@ double **lammps_fix_external_get_force(void *handle, const char *id) \verbatim embed:rst This is a companion function to :cpp:func:`lammps_set_fix_external_callback` and -:cpp:func:`lammps_fix_external_set_force` to also set the contribution +:cpp:func:`lammps_fix_external_get_force` to also set the contribution to the global energy from the external code. Please see the documentation for :doc:`fix external ` for @@ -4952,7 +4952,7 @@ void lammps_fix_external_set_energy_global(void *handle, const char *id, double \verbatim embed:rst This is a companion function to :cpp:func:`lammps_set_fix_external_callback` and -:cpp:func:`lammps_fix_external_set_force` to also set the contribution +:cpp:func:`lammps_fix_external_get_force` to also set the contribution to the global virial from the external code. Please see the documentation for :doc:`fix external ` for @@ -4991,7 +4991,7 @@ void lammps_fix_external_set_virial_global(void *handle, const char *id, double \verbatim embed:rst This is a companion function to :cpp:func:`lammps_set_fix_external_callback` and -:cpp:func:`lammps_fix_external_set_force` to also set the contribution +:cpp:func:`lammps_fix_external_get_force` to also set the contribution to the per-atom energy from the external code. Please see the documentation for :doc:`fix external ` for @@ -5030,7 +5030,7 @@ void lammps_fix_external_set_energy_peratom(void *handle, const char *id, double \verbatim embed:rst This is a companion function to :cpp:func:`lammps_set_fix_external_callback` and -:cpp:func:`lammps_fix_external_set_force` to also set the contribution +:cpp:func:`lammps_fix_external_get_force` to also set the contribution to the per-atom virial from the external code. Please see the documentation for :doc:`fix external ` for @@ -5064,6 +5064,86 @@ void lammps_fix_external_set_virial_peratom(void *handle, const char *id, double END_CAPTURE } +/** Set the vector length for a global vector stored with fix external for analysis + +\verbatim embed:rst + +This is a companion function to :cpp:func:`lammps_set_fix_external_callback` and +:cpp:func:`lammps_fix_external_get_force` to set the length of a global vector of +properties that will be stored with the fix via :cpp:func:`lammps_fix_external_set_vector`. + +Please see the documentation for :doc:`fix external ` for +more information about how to use the fix and how to couple it with an +external code. + +\endverbatim + * + * \param handle pointer to a previously created LAMMPS instance cast to ``void *``. + * \param id fix ID of fix external instance + * \param len length of the global vector to be stored with the fix */ + +void lammps_fix_external_set_vector_length(void *handle, const char *id, int len) +{ + LAMMPS *lmp = (LAMMPS *) handle; + + BEGIN_CAPTURE + { + int ifix = lmp->modify->find_fix(id); + if (ifix < 0) + lmp->error->all(FLERR,"Can not find fix with ID '{}'!", id); + + Fix *fix = lmp->modify->fix[ifix]; + + if (strcmp("external",fix->style) != 0) + lmp->error->all(FLERR,"Fix '{}' is not of style external!", id); + + FixExternal *fext = (FixExternal*) fix; + fext->set_vector_length(len); + } + END_CAPTURE +} + +/** Store global vector for a fix external instance with the given ID. + +\verbatim embed:rst + +This is a companion function to :cpp:func:`lammps_set_fix_external_callback` and +:cpp:func:`lammps_fix_external_get_force` to set the values of a global vector of +properties that will be stored with the fix. The length of the vector +must be set beforehand with :cpp:func:`lammps_fix_external_set_vector_length`. + +Please see the documentation for :doc:`fix external ` for +more information about how to use the fix and how to couple it with an +external code. + +\endverbatim + * + * \param handle pointer to a previously created LAMMPS instance cast to ``void *``. + * \param id fix ID of fix external instance + * \param idx 1 based index of in global vector + * \param val value to be stored in global vector */ + +void lammps_fix_external_set_vector(void *handle, const char *id, int idx, double val) +{ + LAMMPS *lmp = (LAMMPS *) handle; + + BEGIN_CAPTURE + { + int ifix = lmp->modify->find_fix(id); + if (ifix < 0) + lmp->error->all(FLERR,"Can not find fix with ID '{}'!", id); + + Fix *fix = lmp->modify->fix[ifix]; + + if (strcmp("external",fix->style) != 0) + lmp->error->all(FLERR,"Fix '{}' is not of style external!", id); + + FixExternal * fext = (FixExternal*) fix; + fext->set_vector(idx, val); + } + END_CAPTURE +} + /* ---------------------------------------------------------------------- */ /** Free memory buffer allocated by LAMMPS. diff --git a/src/library.h b/src/library.h index 25b5199dc7..654eda38fa 100644 --- a/src/library.h +++ b/src/library.h @@ -240,7 +240,7 @@ void lammps_fix_external_set_energy_peratom(void *handle, const char *id, double void lammps_fix_external_set_virial_global(void *handle, const char *id, double *virial); void lammps_fix_external_set_virial_peratom(void *handle, const char *id, double **virial); void lammps_fix_external_set_vector_length(void *handle, const char *id, int len); -void lammps_fix_external_set_virial_peratom(void *handle, const char *id, double **val); +void lammps_fix_external_set_vector(void *handle, const char *id, int idx, double val); void lammps_free(void *ptr); diff --git a/unittest/c-library/test_library_external.cpp b/unittest/c-library/test_library_external.cpp index 7c53daaef7..d44f3ff2ee 100644 --- a/unittest/c-library/test_library_external.cpp +++ b/unittest/c-library/test_library_external.cpp @@ -28,12 +28,20 @@ static void callback_one(void *handle, step_t timestep, int nlocal, tag_t *, dou { for (int i = 0; i < nlocal; ++i) f[i][0] = f[i][1] = f[i][2] = (double)timestep; - if (timestep < 10) - lammps_fix_external_set_energy_global(handle, "ext", 0.0); - else - lammps_fix_external_set_energy_global(handle, "ext", 1.0); + double v[6] = {1.0, 1.0, 1.0, 0.0, 0.0, 0.0}; lammps_fix_external_set_virial_global(handle, "ext", v); + if (timestep < 10) { + lammps_fix_external_set_energy_global(handle, "ext", 0.5); + lammps_fix_external_set_vector(handle, "ext", 1, timestep); + lammps_fix_external_set_vector(handle, "ext", 3, 1.0); + lammps_fix_external_set_vector(handle, "ext", 4, -0.25); + } else { + lammps_fix_external_set_energy_global(handle, "ext", 1.0); + lammps_fix_external_set_vector(handle, "ext", 2, timestep); + lammps_fix_external_set_vector(handle, "ext", 5, -1.0); + lammps_fix_external_set_vector(handle, "ext", 6, 0.25); + } } } @@ -57,11 +65,12 @@ TEST(lammps_external, callback) "pair_style zero 0.1\n" "pair_coeff 1 1\n" "velocity all set 0.1 0.0 -0.1\n" - "thermo 5\n" "fix 1 all nve\n" "fix ext all external pf/callback 5 1\n" + "thermo_style custom step temp pe ke etotal press\n" + "thermo 5\n" "fix_modify ext energy yes virial yes\n"); - + lammps_fix_external_set_vector_length(handle, "ext", 6); output = ::testing::internal::GetCapturedStdout(); if (verbose) std::cout << output; @@ -71,11 +80,19 @@ TEST(lammps_external, callback) double temp = lammps_get_thermo(handle, "temp"); double pe = lammps_get_thermo(handle, "pe"); double press = lammps_get_thermo(handle, "press"); - output = ::testing::internal::GetCapturedStdout(); + double val = 0.0; + double *valp; + for (int i = 0; i < 6; ++i) { + valp = (double *)lammps_extract_fix(handle, "ext", LMP_STYLE_GLOBAL, LMP_TYPE_VECTOR, i, 0); + val += *valp; + lammps_free(valp); + } + output = ::testing::internal::GetCapturedStdout(); if (verbose) std::cout << output; EXPECT_DOUBLE_EQ(temp, 1.0 / 30.0); EXPECT_DOUBLE_EQ(pe, 1.0 / 8.0); EXPECT_DOUBLE_EQ(press, 0.15416666666666667); + EXPECT_DOUBLE_EQ(val, 15); ::testing::internal::CaptureStdout(); lammps_close(handle); diff --git a/unittest/python/python-fix-external.py b/unittest/python/python-fix-external.py index 02fe805626..eab4687e2b 100644 --- a/unittest/python/python-fix-external.py +++ b/unittest/python/python-fix-external.py @@ -1,6 +1,6 @@ import sys,os,unittest from ctypes import * -from lammps import lammps +from lammps import lammps, LMP_STYLE_GLOBAL, LMP_TYPE_VECTOR # add timestep dependent force def callback_one(lmp, ntimestep, nlocal, tag, x, f): @@ -9,9 +9,15 @@ def callback_one(lmp, ntimestep, nlocal, tag, x, f): f[i][1] = float(ntimestep) f[i][2] = float(ntimestep) if ntimestep < 10: - lmp.fix_external_set_energy_global("ext",0.5) + lmp.fix_external_set_energy_global("ext", 0.5) + lmp.fix_external_set_vector("ext", 1, ntimestep) + lmp.fix_external_set_vector("ext", 3, 1.0) + lmp.fix_external_set_vector("ext", 4, -0.25) else: - lmp.fix_external_set_energy_global("ext",1.0) + lmp.fix_external_set_energy_global("ext", 1.0) + lmp.fix_external_set_vector("ext", 2, ntimestep) + lmp.fix_external_set_vector("ext", 5, -1.0) + lmp.fix_external_set_vector("ext", 6, 0.25) class PythonExternal(unittest.TestCase): def testExternalCallback(self): @@ -31,15 +37,22 @@ class PythonExternal(unittest.TestCase): pair_style zero 0.1 pair_coeff 1 1 velocity all set 0.1 0.0 -0.1 + thermo_style custom step temp pe ke etotal press thermo 5 fix 1 all nve fix ext all external pf/callback 5 1 + fix_modify ext energy yes virial yes """ lmp.commands_string(basic_system) + lmp.fix_external_set_vector_length("ext",6); lmp.set_fix_external_callback("ext",callback_one,lmp) lmp.command("run 10 post no") self.assertAlmostEqual(lmp.get_thermo("temp"),1.0/30.0,14) self.assertAlmostEqual(lmp.get_thermo("pe"),1.0/8.0,14) + val = 0.0 + for i in range(0,6): + val += lmp.extract_fix("ext",LMP_STYLE_GLOBAL,LMP_TYPE_VECTOR,nrow=i) + self.assertAlmostEqual(val,15.0,14) def testExternalArray(self): """Test fix external from Python with pf/array""" From f251bc544f90758a85819b9ecb6e4f4c31e58024 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 17 Jul 2021 07:38:53 -0400 Subject: [PATCH 446/726] support setting global virial for fix external from python --- python/lammps/core.py | 24 +++++++++++++++++++++--- src/library.cpp | 2 +- unittest/python/python-fix-external.py | 3 +++ 3 files changed, 25 insertions(+), 4 deletions(-) diff --git a/python/lammps/core.py b/python/lammps/core.py index 05192b5f6e..9ea2530cdc 100644 --- a/python/lammps/core.py +++ b/python/lammps/core.py @@ -1795,20 +1795,38 @@ class lammps(object): # ------------------------------------------------------------------------- def fix_external_set_energy_global(self, fix_id, eng): - """Get access to that array with per-atom forces of a fix external instance with a given fix ID. + """Set the global energy contribution for a fix external instance with the given ID. - This is a wrapper around the :cpp:func:`lammps_fix_external_get_force` function + This is a wrapper around the :cpp:func:`lammps_fix_external_set_energy_global` function of the C-library interface. :param fix_id: Fix-ID of a fix external instance :type: string - :param eng: potential energy to be added by fix external + :param eng: potential energy value to be added by fix external :type: float """ with ExceptionCheck(self): return self.lib.lammps_fix_external_set_energy_global(self.lmp, fix_id.encode(), eng) + # ------------------------------------------------------------------------- + + def fix_external_set_virial_global(self, fix_id, virial): + """Set the global virial contribution for a fix external instance with the given ID. + + This is a wrapper around the :cpp:func:`lammps_fix_external_set_virial_global` function + of the C-library interface. + + :param fix_id: Fix-ID of a fix external instance + :type: string + :param eng: list of 6 floating point numbers with the virial to be added by fix external + :type: float + """ + + cvirial = (6*c_double)(*virial) + with ExceptionCheck(self): + return self.lib.lammps_fix_external_set_virial_global(self.lmp, fix_id.encode(), cvirial) + # ------------------------------------------------------------------------- def fix_external_set_vector_length(self, fix_id, length): """Set the vector length for a global vector stored with fix external for analysis diff --git a/src/library.cpp b/src/library.cpp index 2c75657447..167c0c39b5 100644 --- a/src/library.cpp +++ b/src/library.cpp @@ -5103,7 +5103,7 @@ void lammps_fix_external_set_vector_length(void *handle, const char *id, int len END_CAPTURE } -/** Store global vector for a fix external instance with the given ID. +/** Store a global vector value for a fix external instance with the given ID. \verbatim embed:rst diff --git a/unittest/python/python-fix-external.py b/unittest/python/python-fix-external.py index eab4687e2b..1b46943b5a 100644 --- a/unittest/python/python-fix-external.py +++ b/unittest/python/python-fix-external.py @@ -4,6 +4,8 @@ from lammps import lammps, LMP_STYLE_GLOBAL, LMP_TYPE_VECTOR # add timestep dependent force def callback_one(lmp, ntimestep, nlocal, tag, x, f): + virial = [1.0, 1.0, 1.0, 0.0, 0.0, 0.0] + lmp.fix_external_set_virial_global("ext",virial) for i in range(nlocal): f[i][0] = float(ntimestep) f[i][1] = float(ntimestep) @@ -49,6 +51,7 @@ class PythonExternal(unittest.TestCase): lmp.command("run 10 post no") self.assertAlmostEqual(lmp.get_thermo("temp"),1.0/30.0,14) self.assertAlmostEqual(lmp.get_thermo("pe"),1.0/8.0,14) + self.assertAlmostEqual(lmp.get_thermo("press"),0.15416666666666667,14) val = 0.0 for i in range(0,6): val += lmp.extract_fix("ext",LMP_STYLE_GLOBAL,LMP_TYPE_VECTOR,nrow=i) From 1ff90a9e8c1b5daa4a0ee68226ec80278961d554 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 17 Jul 2021 07:45:38 -0400 Subject: [PATCH 447/726] ignore Testing folder in root dir (created when running "ctest --test-dir build") --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 14d9dbebc9..29648886a7 100644 --- a/.gitignore +++ b/.gitignore @@ -45,5 +45,6 @@ Thumbs.db /CMakeCache.txt /CMakeFiles/ /Makefile +/Testing /cmake_install.cmake /lmp From 57df89157292a728a1a771651eca317c47dbc41b Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 17 Jul 2021 07:49:41 -0400 Subject: [PATCH 448/726] avoid duplicate label --- doc/src/fix_plumed.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/src/fix_plumed.rst b/doc/src/fix_plumed.rst index 5c32ccee99..fda37ff64e 100644 --- a/doc/src/fix_plumed.rst +++ b/doc/src/fix_plumed.rst @@ -41,7 +41,7 @@ and when PLUMED is used as a stand alone code for analysis. The full `documentation for PLUMED `_ is available online and included in the PLUMED source code. The PLUMED library development is hosted at `https://github.com/plumed/plumed2 `_ -A detailed discussion of the code can be found in :ref:`(PLUMED) `. +A detailed discussion of the code can be found in :ref:`(Tribello) `. There is an example input for using this package with LAMMPS in the examples/PACKAGES/plumed directory. @@ -132,9 +132,9 @@ The default options are plumedfile = NULL and outfile = NULL ---------- -.. _PLUMED: +.. _Tribello: -**(PLUMED)** G.A. Tribello, M. Bonomi, D. Branduardi, C. Camilloni and G. Bussi, Comp. Phys. Comm 185, 604 (2014) +**(Tribello)** G.A. Tribello, M. Bonomi, D. Branduardi, C. Camilloni and G. Bussi, Comp. Phys. Comm 185, 604 (2014) .. _plumeddocs: https://www.plumed.org/doc.html From fa7ae9951118a781eb9790313a7a22ac0931f045 Mon Sep 17 00:00:00 2001 From: Charlles Abreu Date: Sun, 18 Jul 2021 12:48:05 -0300 Subject: [PATCH 449/726] Fixed bug in fix np[ht] with runstyle respa --- src/fix_nh.cpp | 6 ++++++ src/fix_nh.h | 1 + 2 files changed, 7 insertions(+) diff --git a/src/fix_nh.cpp b/src/fix_nh.cpp index 40940977a6..c906000ec5 100644 --- a/src/fix_nh.cpp +++ b/src/fix_nh.cpp @@ -635,6 +635,7 @@ int FixNH::setmask() mask |= FINAL_INTEGRATE; mask |= INITIAL_INTEGRATE_RESPA; mask |= FINAL_INTEGRATE_RESPA; + mask |= PRE_FORCE_RESPA; if (pre_exchange_flag) mask |= PRE_EXCHANGE; return mask; } @@ -1006,7 +1007,12 @@ void FixNH::initial_integrate_respa(int /*vflag*/, int ilevel, int /*iloop*/) nve_x(); if (pstat_flag) remap(); } +} +/* ---------------------------------------------------------------------- */ + +void FixNH::pre_force_respa(int /*vflag*/, int ilevel, int /*iloop*/) +{ // if barostat, redo KSpace coeffs at outermost level, // since volume has changed diff --git a/src/fix_nh.h b/src/fix_nh.h index ef541a0e05..1ec6bec2f8 100644 --- a/src/fix_nh.h +++ b/src/fix_nh.h @@ -28,6 +28,7 @@ class FixNH : public Fix { virtual void initial_integrate(int); virtual void final_integrate(); void initial_integrate_respa(int, int, int); + void pre_force_respa(int, int, int); void final_integrate_respa(int, int); virtual void pre_exchange(); double compute_scalar(); From 8ed608abbfbfc5aa192b3bc6ab268c7862f6a802 Mon Sep 17 00:00:00 2001 From: Charlles Abreu Date: Sun, 18 Jul 2021 16:22:25 -0300 Subject: [PATCH 450/726] Fixed RESPA/kspace/barostat bug in BOCS, DRUDE, and USER-MISC --- src/BOCS/fix_bocs.cpp | 5 +++++ src/BOCS/fix_bocs.h | 1 + src/DRUDE/fix_tgnh_drude.cpp | 6 ++++++ src/DRUDE/fix_tgnh_drude.h | 1 + src/USER-MISC/fix_npt_cauchy.cpp | 6 ++++++ src/USER-MISC/fix_npt_cauchy.h | 1 + 6 files changed, 20 insertions(+) diff --git a/src/BOCS/fix_bocs.cpp b/src/BOCS/fix_bocs.cpp index d372d607e8..89ff3d8e4e 100644 --- a/src/BOCS/fix_bocs.cpp +++ b/src/BOCS/fix_bocs.cpp @@ -1100,7 +1100,12 @@ void FixBocs::initial_integrate_respa(int /*vflag*/, int ilevel, int /*iloop*/) nve_x(); if (pstat_flag) remap(); } +} +/* ---------------------------------------------------------------------- */ + +void FixBocs::pre_force_respa(int /*vflag*/, int ilevel, int /*iloop*/) +{ // if barostat, redo KSpace coeffs at outermost level, // since volume has changed diff --git a/src/BOCS/fix_bocs.h b/src/BOCS/fix_bocs.h index 4edf670fa5..69b32d4cd0 100644 --- a/src/BOCS/fix_bocs.h +++ b/src/BOCS/fix_bocs.h @@ -37,6 +37,7 @@ class FixBocs : public Fix { virtual void initial_integrate(int); virtual void final_integrate(); void initial_integrate_respa(int, int, int); + void pre_force_respa(int, int, int); void final_integrate_respa(int, int); virtual void pre_exchange(); double compute_scalar(); diff --git a/src/DRUDE/fix_tgnh_drude.cpp b/src/DRUDE/fix_tgnh_drude.cpp index 9f9bcada78..475a81e843 100644 --- a/src/DRUDE/fix_tgnh_drude.cpp +++ b/src/DRUDE/fix_tgnh_drude.cpp @@ -589,6 +589,7 @@ int FixTGNHDrude::setmask() mask |= INITIAL_INTEGRATE; mask |= FINAL_INTEGRATE; mask |= INITIAL_INTEGRATE_RESPA; + mask |= PRE_FORCE_RESPA; mask |= FINAL_INTEGRATE_RESPA; if (pre_exchange_flag) mask |= PRE_EXCHANGE; return mask; @@ -1023,7 +1024,12 @@ void FixTGNHDrude::initial_integrate_respa(int /*vflag*/, int ilevel, int /*iloo nve_x(); if (pstat_flag) remap(); } +} +/* ---------------------------------------------------------------------- */ + +void FixTGNHDrude::pre_force_respa(int /*vflag*/, int ilevel, int /*iloop*/) +{ // if barostat, redo KSpace coeffs at outermost level, // since volume has changed diff --git a/src/DRUDE/fix_tgnh_drude.h b/src/DRUDE/fix_tgnh_drude.h index 3549317655..617a99f856 100644 --- a/src/DRUDE/fix_tgnh_drude.h +++ b/src/DRUDE/fix_tgnh_drude.h @@ -28,6 +28,7 @@ class FixTGNHDrude : public Fix { virtual void setup(int); virtual void initial_integrate(int); virtual void final_integrate(); + void pre_force_respa(int, int, int); void initial_integrate_respa(int, int, int); void final_integrate_respa(int, int); virtual void pre_exchange(); diff --git a/src/USER-MISC/fix_npt_cauchy.cpp b/src/USER-MISC/fix_npt_cauchy.cpp index 2390872631..e58632635f 100644 --- a/src/USER-MISC/fix_npt_cauchy.cpp +++ b/src/USER-MISC/fix_npt_cauchy.cpp @@ -671,6 +671,7 @@ int FixNPTCauchy::setmask() mask |= INITIAL_INTEGRATE; mask |= FINAL_INTEGRATE; mask |= INITIAL_INTEGRATE_RESPA; + mask |= PRE_FORCE_RESPA; mask |= FINAL_INTEGRATE_RESPA; if (pre_exchange_flag) mask |= PRE_EXCHANGE; return mask; @@ -1032,7 +1033,12 @@ void FixNPTCauchy::initial_integrate_respa(int /*vflag*/, int ilevel, int /*iloo nve_x(); if (pstat_flag) remap(); } +} +/* ---------------------------------------------------------------------- */ + +void FixNPTCauchy::pre_force_respa(int /*vflag*/, int ilevel, int /*iloop*/) +{ // if barostat, redo KSpace coeffs at outermost level, // since volume has changed diff --git a/src/USER-MISC/fix_npt_cauchy.h b/src/USER-MISC/fix_npt_cauchy.h index 1348b1bce4..80122ad0ac 100644 --- a/src/USER-MISC/fix_npt_cauchy.h +++ b/src/USER-MISC/fix_npt_cauchy.h @@ -35,6 +35,7 @@ class FixNPTCauchy : public Fix { virtual void initial_integrate(int); virtual void final_integrate(); void initial_integrate_respa(int, int, int); + void pre_force_respa(int, int, int); void final_integrate_respa(int, int); virtual void pre_exchange(); double compute_scalar(); From 3c0a2345ccf7b5ba1b6dda46b56e4357f1f4ed3d Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 18 Jul 2021 16:42:43 -0400 Subject: [PATCH 451/726] simplify, reformat, and better error messages --- src/dump_custom.cpp | 191 +++++++++++++++++++++----------------------- 1 file changed, 92 insertions(+), 99 deletions(-) diff --git a/src/dump_custom.cpp b/src/dump_custom.cpp index 5f2acfda57..6c417026ca 100644 --- a/src/dump_custom.cpp +++ b/src/dump_custom.cpp @@ -193,16 +193,16 @@ DumpCustom::~DumpCustom() // could not do in constructor, b/c some derived classes process earg if (expand) { - for (int i = 0; i < nargnew; i++) delete [] earg[i]; + for (int i = 0; i < nargnew; i++) delete[] earg[i]; memory->sfree(earg); } - delete [] pack_choice; - delete [] vtype; + delete[] pack_choice; + delete[] vtype; memory->destroy(field2index); memory->destroy(argindex); - delete [] idregion; + delete[] idregion; memory->destroy(thresh_array); memory->destroy(thresh_op); memory->destroy(thresh_value); @@ -212,27 +212,27 @@ DumpCustom::~DumpCustom() for (int i = 0; i < nthreshlast; i++) { if (modify->nfix) modify->delete_fix(thresh_fixID[i]); - delete [] thresh_fixID[i]; + delete[] thresh_fixID[i]; } memory->sfree(thresh_fix); memory->sfree(thresh_fixID); memory->destroy(thresh_first); - for (int i = 0; i < ncompute; i++) delete [] id_compute[i]; + for (int i = 0; i < ncompute; i++) delete[] id_compute[i]; memory->sfree(id_compute); - delete [] compute; + delete[] compute; - for (int i = 0; i < nfix; i++) delete [] id_fix[i]; + for (int i = 0; i < nfix; i++) delete[] id_fix[i]; memory->sfree(id_fix); - delete [] fix; + delete[] fix; - for (int i = 0; i < nvariable; i++) delete [] id_variable[i]; + for (int i = 0; i < nvariable; i++) delete[] id_variable[i]; memory->sfree(id_variable); - delete [] variable; + delete[] variable; for (int i = 0; i < nvariable; i++) memory->destroy(vbuf[i]); - delete [] vbuf; + delete[] vbuf; - for (int i = 0; i < ncustom; i++) delete [] id_custom[i]; + for (int i = 0; i < ncustom; i++) delete[] id_custom[i]; memory->sfree(id_custom); memory->sfree(flag_custom); @@ -240,20 +240,20 @@ DumpCustom::~DumpCustom() memory->destroy(dchoose); memory->destroy(clist); - for (int i = 1; i <= ntypes; i++) delete [] typenames[i]; - delete [] typenames; + for (int i = 1; i <= ntypes; i++) delete[] typenames[i]; + delete[] typenames; if (vformat) { - for (int i = 0; i < nfield; i++) delete [] vformat[i]; - delete [] vformat; + for (int i = 0; i < nfield; i++) delete[] vformat[i]; + delete[] vformat; } if (format_column_user) { - for (int i = 0; i < nfield; i++) delete [] format_column_user[i]; - delete [] format_column_user; + for (int i = 0; i < nfield; i++) delete[] format_column_user[i]; + delete[] format_column_user; } - delete [] columns; + delete[] columns; } /* ---------------------------------------------------------------------- */ @@ -262,7 +262,7 @@ void DumpCustom::init_style() { // format = copy of default or user-specified line format - delete [] format; + delete[] format; if (format_line_user) format = utils::strdup(format_line_user); else format = utils::strdup(format_default); @@ -277,7 +277,7 @@ void DumpCustom::init_style() int i=0; for (auto word : words) { - delete [] vformat[i]; + delete[] vformat[i]; if (format_column_user[i]) vformat[i] = utils::strdup(std::string(format_column_user[i]) + " "); @@ -1429,6 +1429,7 @@ int DumpCustom::parse_fields(int narg, char **arg) ArgInfo argi(arg[iarg],ArgInfo::COMPUTE|ArgInfo::FIX|ArgInfo::VARIABLE |ArgInfo::DNAME|ArgInfo::INAME); argindex[iarg] = argi.get_index1(); + auto name = argi.get_name(); switch (argi.get_type()) { @@ -1443,21 +1444,19 @@ int DumpCustom::parse_fields(int narg, char **arg) pack_choice[iarg] = &DumpCustom::pack_compute; vtype[iarg] = Dump::DOUBLE; - n = modify->find_compute(argi.get_name()); - if (n < 0) error->all(FLERR,"Could not find dump custom compute ID"); + n = modify->find_compute(name); + if (n < 0) error->all(FLERR,"Could not find dump custom compute ID: {}",name); if (modify->compute[n]->peratom_flag == 0) - error->all(FLERR,"Dump custom compute does not compute per-atom info"); + error->all(FLERR,"Dump custom compute {} does not compute per-atom info",name); if (argi.get_dim() == 0 && modify->compute[n]->size_peratom_cols > 0) - error->all(FLERR, - "Dump custom compute does not calculate per-atom vector"); + error->all(FLERR,"Dump custom compute {} does not calculate per-atom vector",name); if (argi.get_dim() > 0 && modify->compute[n]->size_peratom_cols == 0) - error->all(FLERR, - "Dump custom compute does not calculate per-atom array"); + error->all(FLERR,"Dump custom compute {} does not calculate per-atom array",name); if (argi.get_dim() > 0 && argi.get_index1() > modify->compute[n]->size_peratom_cols) - error->all(FLERR,"Dump custom compute vector is accessed out-of-range"); + error->all(FLERR,"Dump custom compute {} vector is accessed out-of-range",name); - field2index[iarg] = add_compute(argi.get_name()); + field2index[iarg] = add_compute(name); break; // fix value = f_ID @@ -1467,19 +1466,19 @@ int DumpCustom::parse_fields(int narg, char **arg) pack_choice[iarg] = &DumpCustom::pack_fix; vtype[iarg] = Dump::DOUBLE; - n = modify->find_fix(argi.get_name()); - if (n < 0) error->all(FLERR,"Could not find dump custom fix ID"); + n = modify->find_fix(name); + if (n < 0) error->all(FLERR,"Could not find dump custom fix ID: {}",name); if (modify->fix[n]->peratom_flag == 0) - error->all(FLERR,"Dump custom fix does not compute per-atom info"); + error->all(FLERR,"Dump custom fix {} does not compute per-atom info",name); if (argi.get_dim() == 0 && modify->fix[n]->size_peratom_cols > 0) - error->all(FLERR,"Dump custom fix does not compute per-atom vector"); + error->all(FLERR,"Dump custom fix {} does not compute per-atom vector",name); if (argi.get_dim() > 0 && modify->fix[n]->size_peratom_cols == 0) - error->all(FLERR,"Dump custom fix does not compute per-atom array"); + error->all(FLERR,"Dump custom fix {} does not compute per-atom array",name); if (argi.get_dim() > 0 && argi.get_index1() > modify->fix[n]->size_peratom_cols) - error->all(FLERR,"Dump custom fix vector is accessed out-of-range"); + error->all(FLERR,"Dump custom fix {} vector is accessed out-of-range",name); - field2index[iarg] = add_fix(argi.get_name()); + field2index[iarg] = add_fix(name); break; // variable value = v_name @@ -1488,12 +1487,12 @@ int DumpCustom::parse_fields(int narg, char **arg) pack_choice[iarg] = &DumpCustom::pack_variable; vtype[iarg] = Dump::DOUBLE; - n = input->variable->find(argi.get_name()); - if (n < 0) error->all(FLERR,"Could not find dump custom variable name"); + n = input->variable->find(name); + if (n < 0) error->all(FLERR,"Could not find dump custom variable name {}",name); if (input->variable->atomstyle(n) == 0) - error->all(FLERR,"Dump custom variable is not atom-style variable"); + error->all(FLERR,"Dump custom variable {} is not atom-style variable",name); - field2index[iarg] = add_variable(argi.get_name()); + field2index[iarg] = add_variable(name); break; // custom per-atom floating point value = d_ID @@ -1503,14 +1502,14 @@ int DumpCustom::parse_fields(int narg, char **arg) vtype[iarg] = Dump::DOUBLE; tmp = -1; - n = atom->find_custom(argi.get_name(),tmp); + n = atom->find_custom(name,tmp); if (n < 0) - error->all(FLERR,"Could not find custom per-atom property ID"); + error->all(FLERR,"Could not find custom per-atom property ID: {}", name); if (tmp != 1) - error->all(FLERR,"Custom per-atom property ID is not floating point"); + error->all(FLERR,"Custom per-atom property ID {} is not floating point", name); - field2index[iarg] = add_custom(argi.get_name(),1); + field2index[iarg] = add_custom(name,1); break; // custom per-atom integer value = i_ID @@ -1520,14 +1519,14 @@ int DumpCustom::parse_fields(int narg, char **arg) vtype[iarg] = Dump::INT; tmp = -1; - n = atom->find_custom(argi.get_name(),tmp); + n = atom->find_custom(name,tmp); if (n < 0) - error->all(FLERR,"Could not find custom per-atom property ID"); + error->all(FLERR,"Could not find custom per-atom property ID: {}", name); if (tmp != 0) - error->all(FLERR,"Custom per-atom property ID is not integer"); + error->all(FLERR,"Custom per-atom property ID {} is not integer", name); - field2index[iarg] = add_custom(argi.get_name(),0); + field2index[iarg] = add_custom(name,0); break; default: @@ -1554,7 +1553,7 @@ int DumpCustom::add_compute(const char *id) id_compute = (char **) memory->srealloc(id_compute,(ncompute+1)*sizeof(char *),"dump:id_compute"); - delete [] compute; + delete[] compute; compute = new Compute*[ncompute+1]; id_compute[ncompute] = utils::strdup(id); @@ -1577,7 +1576,7 @@ int DumpCustom::add_fix(const char *id) id_fix = (char **) memory->srealloc(id_fix,(nfix+1)*sizeof(char *),"dump:id_fix"); - delete [] fix; + delete[] fix; fix = new Fix*[nfix+1]; id_fix[nfix] = utils::strdup(id); @@ -1601,9 +1600,9 @@ int DumpCustom::add_variable(const char *id) id_variable = (char **) memory->srealloc(id_variable,(nvariable+1)*sizeof(char *), "dump:id_variable"); - delete [] variable; + delete[] variable; variable = new int[nvariable+1]; - delete [] vbuf; + delete[] vbuf; vbuf = new double*[nvariable+1]; for (int i = 0; i <= nvariable; i++) vbuf[i] = nullptr; @@ -1648,8 +1647,8 @@ int DumpCustom::modify_param(int narg, char **arg) else { iregion = domain->find_region(arg[1]); if (iregion == -1) - error->all(FLERR,"Dump_modify region ID does not exist"); - delete [] idregion; + error->all(FLERR,"Dump_modify region ID {} does not exist",arg[1]); + delete[] idregion; idregion = utils::strdup(arg[1]); } return 2; @@ -1661,7 +1660,7 @@ int DumpCustom::modify_param(int narg, char **arg) if (strcmp(arg[1],"none") == 0) { // just clear format_column_user allocated by this dump child class for (int i = 0; i < nfield; i++) { - delete [] format_column_user[i]; + delete[] format_column_user[i]; format_column_user[i] = nullptr; } return 2; @@ -1670,17 +1669,16 @@ int DumpCustom::modify_param(int narg, char **arg) if (narg < 3) error->all(FLERR,"Illegal dump_modify command"); if (strcmp(arg[1],"int") == 0) { - delete [] format_int_user; + delete[] format_int_user; format_int_user = utils::strdup(arg[2]); - delete [] format_bigint_user; + delete[] format_bigint_user; int n = strlen(format_int_user) + 8; format_bigint_user = new char[n]; // replace "d" in format_int_user with bigint format specifier // use of &str[1] removes leading '%' from BIGINT_FORMAT string char *ptr = strchr(format_int_user,'d'); if (ptr == nullptr) - error->all(FLERR, - "Dump_modify int format does not contain d character"); + error->all(FLERR,"Dump_modify int format does not contain d character"); char str[8]; sprintf(str,"%s",BIGINT_FORMAT); *ptr = '\0'; @@ -1688,14 +1686,14 @@ int DumpCustom::modify_param(int narg, char **arg) *ptr = 'd'; } else if (strcmp(arg[1],"float") == 0) { - delete [] format_float_user; + delete[] format_float_user; format_float_user = utils::strdup(arg[2]); } else { int i = utils::inumeric(FLERR,arg[1],false,lmp) - 1; if (i < 0 || i >= nfield) error->all(FLERR,"Illegal dump_modify command"); - if (format_column_user[i]) delete [] format_column_user[i]; + if (format_column_user[i]) delete[] format_column_user[i]; format_column_user[i] = utils::strdup(arg[2]); } return 3; @@ -1703,10 +1701,10 @@ int DumpCustom::modify_param(int narg, char **arg) if (strcmp(arg[0],"element") == 0) { if (narg < ntypes+1) - error->all(FLERR,"Dump_modify element names do not match atom types"); + error->all(FLERR,"Number of dump_modify element names does not match number of atom types"); - for (int i = 1; i <= ntypes; i++) delete [] typenames[i]; - delete [] typenames; + for (int i = 1; i <= ntypes; i++) delete[] typenames[i]; + delete[] typenames; typenames = new char*[ntypes+1]; for (int itype = 1; itype <= ntypes; itype++) { typenames[itype] = utils::strdup(arg[itype]); @@ -1739,7 +1737,7 @@ int DumpCustom::modify_param(int narg, char **arg) thresh_last = nullptr; for (int i = 0; i < nthreshlast; i++) { modify->delete_fix(thresh_fixID[i]); - delete [] thresh_fixID[i]; + delete[] thresh_fixID[i]; } thresh_fix = nullptr; thresh_fixID = nullptr; @@ -1850,6 +1848,7 @@ int DumpCustom::modify_param(int narg, char **arg) ArgInfo argi(arg[1],ArgInfo::COMPUTE|ArgInfo::FIX|ArgInfo::VARIABLE |ArgInfo::DNAME|ArgInfo::INAME); argindex[nfield+nthresh] = argi.get_index1(); + auto name = argi.get_name(); switch (argi.get_type()) { @@ -1862,23 +1861,20 @@ int DumpCustom::modify_param(int narg, char **arg) case ArgInfo::COMPUTE: thresh_array[nthresh] = COMPUTE; - n = modify->find_compute(argi.get_name()); - if (n < 0) error->all(FLERR,"Could not find dump modify compute ID"); + n = modify->find_compute(name); + if (n < 0) error->all(FLERR,"Could not find dump modify compute ID: {}",name); if (modify->compute[n]->peratom_flag == 0) - error->all(FLERR, - "Dump modify compute ID does not compute per-atom info"); + error->all(FLERR,"Dump modify compute ID {} does not compute per-atom info",name); if (argi.get_dim() == 0 && modify->compute[n]->size_peratom_cols > 0) - error->all(FLERR, - "Dump modify compute ID does not compute per-atom vector"); + error->all(FLERR,"Dump modify compute ID {} does not compute per-atom vector",name); if (argi.get_index1() > 0 && modify->compute[n]->size_peratom_cols == 0) - error->all(FLERR, - "Dump modify compute ID does not compute per-atom array"); + error->all(FLERR,"Dump modify compute ID {} does not compute per-atom array",name); if (argi.get_index1() > 0 && argi.get_index1() > modify->compute[n]->size_peratom_cols) - error->all(FLERR,"Dump modify compute ID vector is not large enough"); + error->all(FLERR,"Dump modify compute ID {} vector is not large enough",name); - field2index[nfield+nthresh] = add_compute(argi.get_name()); + field2index[nfield+nthresh] = add_compute(name); break; // fix value = f_ID @@ -1886,20 +1882,19 @@ int DumpCustom::modify_param(int narg, char **arg) case ArgInfo::FIX: thresh_array[nthresh] = FIX; - n = modify->find_fix(argi.get_name()); - if (n < 0) error->all(FLERR,"Could not find dump modify fix ID"); + n = modify->find_fix(name); + if (n < 0) error->all(FLERR,"Could not find dump modify fix ID: {}",name); if (modify->fix[n]->peratom_flag == 0) - error->all(FLERR,"Dump modify fix ID does not compute per-atom info"); + error->all(FLERR,"Dump modify fix ID {} does not compute per-atom info",name); if (argi.get_dim() == 0 && modify->fix[n]->size_peratom_cols > 0) - error->all(FLERR,"Dump modify fix ID does not compute per-atom vector"); + error->all(FLERR,"Dump modify fix ID {} does not compute per-atom vector",name); if (argi.get_index1() > 0 && modify->fix[n]->size_peratom_cols == 0) - error->all(FLERR,"Dump modify fix ID does not compute per-atom array"); - if (argi.get_index1() > 0 && - argi.get_index1() > modify->fix[n]->size_peratom_cols) - error->all(FLERR,"Dump modify fix ID vector is not large enough"); + error->all(FLERR,"Dump modify fix ID {} does not compute per-atom array",name); + if (argi.get_index1() > 0 && argi.get_index1() > modify->fix[n]->size_peratom_cols) + error->all(FLERR,"Dump modify fix ID {} vector is not large enough",name); - field2index[nfield+nthresh] = add_fix(argi.get_name()); + field2index[nfield+nthresh] = add_fix(name); break; // variable value = v_ID @@ -1907,12 +1902,12 @@ int DumpCustom::modify_param(int narg, char **arg) case ArgInfo::VARIABLE: thresh_array[nthresh] = VARIABLE; - n = input->variable->find(argi.get_name()); - if (n < 0) error->all(FLERR,"Could not find dump modify variable name"); + n = input->variable->find(name); + if (n < 0) error->all(FLERR,"Could not find dump modify variable name: {}",name); if (input->variable->atomstyle(n) == 0) - error->all(FLERR,"Dump modify variable is not atom-style variable"); + error->all(FLERR,"Dump modify variable {} is not atom-style variable",name); - field2index[nfield+nthresh] = add_variable(argi.get_name()); + field2index[nfield+nthresh] = add_variable(name); break; // custom per atom floating point value = d_ID @@ -1920,12 +1915,11 @@ int DumpCustom::modify_param(int narg, char **arg) case ArgInfo::DNAME: thresh_array[nthresh] = DNAME; tmp = -1; - n = atom->find_custom(argi.get_name(),tmp); + n = atom->find_custom(name,tmp); if ((n < 0) || (tmp != 1)) - error->all(FLERR,"Could not find dump modify " - "custom atom floating point property ID"); + error->all(FLERR,"Could not find dump modify custom atom floating point property ID: {}",name); - field2index[nfield+nthresh] = add_custom(argi.get_name(),1); + field2index[nfield+nthresh] = add_custom(name,1); break; // custom per atom integer value = i_ID @@ -1933,16 +1927,15 @@ int DumpCustom::modify_param(int narg, char **arg) case ArgInfo::INAME: thresh_array[nthresh] = INAME; tmp = -1; - n = atom->find_custom(argi.get_name(),tmp); + n = atom->find_custom(name,tmp); if ((n < 0) || (tmp != 0)) - error->all(FLERR,"Could not find dump modify " - "custom atom integer property ID"); + error->all(FLERR,"Could not find dump modify custom atom integer property ID: {}",name); - field2index[nfield+nthresh] = add_custom(argi.get_name(),0); + field2index[nfield+nthresh] = add_custom(name,0); break; default: - error->all(FLERR,"Invalid dump_modify thresh attribute"); + error->all(FLERR,"Invalid dump_modify thresh attribute: {}",name); break; } } From 418acea54301970166c49087a71d2964b903e0a8 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 18 Jul 2021 16:59:58 -0400 Subject: [PATCH 452/726] support wildcard dump keywords, simplify, modernize, reformat --- src/NETCDF/dump_netcdf.cpp | 338 ++++++++++++++----------------------- 1 file changed, 128 insertions(+), 210 deletions(-) diff --git a/src/NETCDF/dump_netcdf.cpp b/src/NETCDF/dump_netcdf.cpp index e13bea910f..0a9734b59b 100644 --- a/src/NETCDF/dump_netcdf.cpp +++ b/src/NETCDF/dump_netcdf.cpp @@ -18,26 +18,28 @@ #if defined(LMP_HAS_NETCDF) -#include -#include #include "dump_netcdf.h" + #include "atom.h" #include "comm.h" #include "compute.h" #include "domain.h" #include "error.h" #include "fix.h" +#include "force.h" #include "group.h" #include "input.h" #include "math_const.h" #include "memory.h" #include "modify.h" -#include "update.h" -#include "universe.h" -#include "variable.h" -#include "force.h" #include "output.h" #include "thermo.h" +#include "universe.h" +#include "update.h" +#include "variable.h" + +#include +#include using namespace LAMMPS_NS; using namespace MathConst; @@ -45,26 +47,26 @@ using namespace MathConst; enum{THERMO_INT,THERMO_FLOAT,THERMO_BIGINT}; // same as in thermo.cpp enum{DUMP_INT,DUMP_DOUBLE,DUMP_STRING,DUMP_BIGINT}; // same as in DumpCFG -const char NC_FRAME_STR[] = "frame"; -const char NC_SPATIAL_STR[] = "spatial"; -const char NC_VOIGT_STR[] = "Voigt"; -const char NC_ATOM_STR[] = "atom"; -const char NC_CELL_SPATIAL_STR[] = "cell_spatial"; -const char NC_CELL_ANGULAR_STR[] = "cell_angular"; -const char NC_LABEL_STR[] = "label"; +static const char NC_FRAME_STR[] = "frame"; +static const char NC_SPATIAL_STR[] = "spatial"; +static const char NC_VOIGT_STR[] = "Voigt"; +static const char NC_ATOM_STR[] = "atom"; +static const char NC_CELL_SPATIAL_STR[] = "cell_spatial"; +static const char NC_CELL_ANGULAR_STR[] = "cell_angular"; +static const char NC_LABEL_STR[] = "label"; -const char NC_TIME_STR[] = "time"; -const char NC_CELL_ORIGIN_STR[] = "cell_origin"; -const char NC_CELL_LENGTHS_STR[] = "cell_lengths"; -const char NC_CELL_ANGLES_STR[] = "cell_angles"; +static const char NC_TIME_STR[] = "time"; +static const char NC_CELL_ORIGIN_STR[] = "cell_origin"; +static const char NC_CELL_LENGTHS_STR[] = "cell_lengths"; +static const char NC_CELL_ANGLES_STR[] = "cell_angles"; const char NC_UNITS_STR[] = "units"; const char NC_SCALE_FACTOR_STR[] = "scale_factor"; -const int THIS_IS_A_FIX = -1; -const int THIS_IS_A_COMPUTE = -2; -const int THIS_IS_A_VARIABLE = -3; -const int THIS_IS_A_BIGINT = -4; +static constexpr int THIS_IS_A_FIX = -1; +static constexpr int THIS_IS_A_COMPUTE = -2; +static constexpr int THIS_IS_A_VARIABLE = -3; +static constexpr int THIS_IS_A_BIGINT = -4; /* ---------------------------------------------------------------------- */ @@ -98,70 +100,54 @@ DumpNetCDF::DumpNetCDF(LAMMPS *lmp, int narg, char **arg) : } n_perat = 0; - for (int iarg = 5; iarg < narg; iarg++) { - int i = iarg-5; + for (int i = 0; i < nfield; i++) { int idim = 0; int ndims = 1; - char mangled[1024]; + std::string mangled = earg[i]; bool constant = false; - strcpy(mangled, arg[iarg]); - // name mangling // in the AMBER specification - if (!strcmp(mangled, "x") || !strcmp(mangled, "y") || - !strcmp(mangled, "z")) { + if ((mangled == "x") || (mangled == "y") || (mangled == "z")) { idim = mangled[0] - 'x'; ndims = 3; - strcpy(mangled, "coordinates"); - } - else if (!strcmp(mangled, "vx") || !strcmp(mangled, "vy") || - !strcmp(mangled, "vz")) { + mangled = "coordinates"; + } else if ((mangled == "vx") || (mangled == "vy") || (mangled == "vz")) { idim = mangled[1] - 'x'; ndims = 3; - strcpy(mangled, "velocities"); - } - else if (!strcmp(mangled, "xs") || !strcmp(mangled, "ys") || - !strcmp(mangled, "zs")) { + mangled = "velocities"; + } else if ((mangled == "xs") || (mangled == "ys") || (mangled == "zs")) { idim = mangled[0] - 'x'; ndims = 3; - strcpy(mangled, "scaled_coordinates"); - } - else if (!strcmp(mangled, "xu") || !strcmp(mangled, "yu") || - !strcmp(mangled, "zu")) { + mangled = "scaled_coordinates"; + } else if ((mangled == "xu") || (mangled == "yu") || (mangled == "zu")) { idim = mangled[0] - 'x'; ndims = 3; - strcpy(mangled, "unwrapped_coordinates"); - } - else if (!strcmp(mangled, "fx") || !strcmp(mangled, "fy") || - !strcmp(mangled, "fz")) { + mangled = "unwrapped_coordinates"; + } else if ((mangled == "fx") || (mangled == "fy") || (mangled == "fz")) { idim = mangled[1] - 'x'; ndims = 3; - strcpy(mangled, "forces"); - } - else if (!strcmp(mangled, "mux") || !strcmp(mangled, "muy") || - !strcmp(mangled, "muz")) { + mangled = "forces"; + } else if ((mangled == "mux") || (mangled == "muy") || (mangled == "muz")) { idim = mangled[2] - 'x'; ndims = 3; - strcpy(mangled, "mu"); - } - else if (!strncmp(mangled, "c_", 2)) { - char *ptr = strchr(mangled, '['); - if (ptr) { - if (mangled[strlen(mangled)-1] != ']') + mangled = "mu"; + } else if (utils::strmatch(mangled, "^c_")) { + std::size_t found = mangled.find('['); + if (found != std::string::npos) { + if (mangled.find(']',found) == std::string::npos) error->all(FLERR,"Missing ']' in dump command"); - *ptr = '\0'; - idim = ptr[1] - '1'; + idim = mangled[found+1] - '1'; + mangled = mangled.substr(0,found); ndims = THIS_IS_A_COMPUTE; } - } - else if (!strncmp(mangled, "f_", 2)) { - char *ptr = strchr(mangled, '['); - if (ptr) { - if (mangled[strlen(mangled)-1] != ']') + } else if (utils::strmatch(mangled, "^f_")) { + std::size_t found = mangled.find('['); + if (found != std::string::npos) { + if (mangled.find(']',found) == std::string::npos) error->all(FLERR,"Missing ']' in dump command"); - *ptr = '\0'; - idim = ptr[1] - '1'; + idim = mangled[found+1] - '1'; + mangled = mangled.substr(0,found); ndims = THIS_IS_A_FIX; } } @@ -169,7 +155,7 @@ DumpNetCDF::DumpNetCDF(LAMMPS *lmp, int narg, char **arg) : // find mangled name int inc = -1; for (int j = 0; j < n_perat && inc < 0; j++) { - if (!strcmp(perat[j].name, mangled)) { + if (mangled == perat[j].name) { inc = j; } } @@ -182,7 +168,7 @@ DumpNetCDF::DumpNetCDF(LAMMPS *lmp, int narg, char **arg) : for (int j = 0; j < DUMP_NC_MAX_DIMS; j++) { perat[inc].field[j] = -1; } - strncpy(perat[inc].name, mangled, NC_FIELD_NAME_MAX); + strncpy(perat[inc].name, mangled.c_str(), NC_FIELD_NAME_MAX); n_perat++; } @@ -209,8 +195,8 @@ DumpNetCDF::~DumpNetCDF() { closefile(); - delete [] perat; - if (thermovar) delete [] thermovar; + delete[] perat; + if (thermovar) delete[] thermovar; if (int_buffer) memory->sfree(int_buffer); if (double_buffer) memory->sfree(double_buffer); @@ -239,7 +225,7 @@ void DumpNetCDF::openfile() } if (thermo && !singlefile_opened) { - if (thermovar) delete [] thermovar; + if (thermovar) delete[] thermovar; thermovar = new int[output->thermo->nfield]; } @@ -260,8 +246,7 @@ void DumpNetCDF::openfile() perat[i].dims = compute[j]->size_peratom_cols; if (perat[i].dims > DUMP_NC_MAX_DIMS) error->all(FLERR,"perat[i].dims > DUMP_NC_MAX_DIMS"); - } - else if (perat[i].dims == THIS_IS_A_FIX) { + } else if (perat[i].dims == THIS_IS_A_FIX) { int j = -1; for (int k = 0; k < DUMP_NC_MAX_DIMS; k++) { if (perat[i].field[k] >= 0) { @@ -300,10 +285,8 @@ void DumpNetCDF::openfile() // dimensions NCERRX( nc_inq_dimid(ncid, NC_FRAME_STR, &frame_dim), NC_FRAME_STR ); NCERRX( nc_inq_dimid(ncid, NC_ATOM_STR, &atom_dim), NC_ATOM_STR ); - NCERRX( nc_inq_dimid(ncid, NC_CELL_SPATIAL_STR, &cell_spatial_dim), - NC_CELL_SPATIAL_STR ); - NCERRX( nc_inq_dimid(ncid, NC_CELL_ANGULAR_STR, &cell_angular_dim), - NC_CELL_ANGULAR_STR ); + NCERRX( nc_inq_dimid(ncid, NC_CELL_SPATIAL_STR, &cell_spatial_dim), NC_CELL_SPATIAL_STR ); + NCERRX( nc_inq_dimid(ncid, NC_CELL_ANGULAR_STR, &cell_angular_dim), NC_CELL_ANGULAR_STR ); NCERRX( nc_inq_dimid(ncid, NC_LABEL_STR, &label_dim), NC_LABEL_STR ); for (int i = 0; i < n_perat; i++) { @@ -312,11 +295,9 @@ void DumpNetCDF::openfile() char dimstr[1024]; if (dims == 3) { strcpy(dimstr, NC_SPATIAL_STR); - } - else if (dims == 6) { + } else if (dims == 6) { strcpy(dimstr, NC_VOIGT_STR); - } - else { + } else { sprintf(dimstr, "vec%i", dims); } if (dims != 1) { @@ -327,32 +308,24 @@ void DumpNetCDF::openfile() } // default variables - NCERRX( nc_inq_varid(ncid, NC_SPATIAL_STR, &spatial_var), - NC_SPATIAL_STR ); - NCERRX( nc_inq_varid(ncid, NC_CELL_SPATIAL_STR, &cell_spatial_var), - NC_CELL_SPATIAL_STR); - NCERRX( nc_inq_varid(ncid, NC_CELL_ANGULAR_STR, &cell_angular_var), - NC_CELL_ANGULAR_STR); + NCERRX( nc_inq_varid(ncid, NC_SPATIAL_STR, &spatial_var), NC_SPATIAL_STR ); + NCERRX( nc_inq_varid(ncid, NC_CELL_SPATIAL_STR, &cell_spatial_var), NC_CELL_SPATIAL_STR); + NCERRX( nc_inq_varid(ncid, NC_CELL_ANGULAR_STR, &cell_angular_var), NC_CELL_ANGULAR_STR); NCERRX( nc_inq_varid(ncid, NC_TIME_STR, &time_var), NC_TIME_STR ); - NCERRX( nc_inq_varid(ncid, NC_CELL_ORIGIN_STR, &cell_origin_var), - NC_CELL_ORIGIN_STR ); - NCERRX( nc_inq_varid(ncid, NC_CELL_LENGTHS_STR, &cell_lengths_var), - NC_CELL_LENGTHS_STR); - NCERRX( nc_inq_varid(ncid, NC_CELL_ANGLES_STR, &cell_angles_var), - NC_CELL_ANGLES_STR); + NCERRX( nc_inq_varid(ncid, NC_CELL_ORIGIN_STR, &cell_origin_var), NC_CELL_ORIGIN_STR ); + NCERRX( nc_inq_varid(ncid, NC_CELL_LENGTHS_STR, &cell_lengths_var), NC_CELL_LENGTHS_STR); + NCERRX( nc_inq_varid(ncid, NC_CELL_ANGLES_STR, &cell_angles_var), NC_CELL_ANGLES_STR); for (int i = 0; i < n_perat; i++) { - NCERRX( nc_inq_varid(ncid, perat[i].name, &perat[i].var), - perat[i].name ); + NCERRX( nc_inq_varid(ncid, perat[i].name, &perat[i].var), perat[i].name ); } // perframe variables if (thermo) { Thermo *th = output->thermo; for (int i = 0; i < th->nfield; i++) { - NCERRX( nc_inq_varid(ncid, th->keyword[i], &thermovar[i]), - th->keyword[i] ); + NCERRX( nc_inq_varid(ncid, th->keyword[i], &thermovar[i]), th->keyword[i] ); } } @@ -374,70 +347,54 @@ void DumpNetCDF::openfile() if (singlefile_opened) return; singlefile_opened = 1; - NCERRX( nc_create(filecurrent, NC_64BIT_DATA, &ncid), - filecurrent ); + NCERRX( nc_create(filecurrent, NC_64BIT_DATA, &ncid), filecurrent ); // dimensions - NCERRX( nc_def_dim(ncid, NC_FRAME_STR, NC_UNLIMITED, &frame_dim), - NC_FRAME_STR ); - NCERRX( nc_def_dim(ncid, NC_ATOM_STR, ntotalgr, &atom_dim), - NC_ATOM_STR ); - NCERRX( nc_def_dim(ncid, NC_CELL_SPATIAL_STR, 3, &cell_spatial_dim), - NC_CELL_SPATIAL_STR ); - NCERRX( nc_def_dim(ncid, NC_CELL_ANGULAR_STR, 3, &cell_angular_dim), - NC_CELL_ANGULAR_STR ); - NCERRX( nc_def_dim(ncid, NC_LABEL_STR, 10, &label_dim), - NC_LABEL_STR ); + NCERRX( nc_def_dim(ncid, NC_FRAME_STR, NC_UNLIMITED, &frame_dim), NC_FRAME_STR ); + NCERRX( nc_def_dim(ncid, NC_ATOM_STR, ntotalgr, &atom_dim), NC_ATOM_STR ); + NCERRX( nc_def_dim(ncid, NC_CELL_SPATIAL_STR, 3, &cell_spatial_dim), NC_CELL_SPATIAL_STR ); + NCERRX( nc_def_dim(ncid, NC_CELL_ANGULAR_STR, 3, &cell_angular_dim), NC_CELL_ANGULAR_STR ); + NCERRX( nc_def_dim(ncid, NC_LABEL_STR, 10, &label_dim), NC_LABEL_STR ); for (int i = 0; i < n_perat; i++) { - int dims = perat[i].dims; - if (vector_dim[dims] < 0) { + int dim = perat[i].dims; + if (vector_dim[dim] < 0) { char dimstr[1024]; - if (dims == 3) { + if (dim == 3) { strcpy(dimstr, NC_SPATIAL_STR); - } - else if (dims == 6) { + } else if (dim == 6) { strcpy(dimstr, NC_VOIGT_STR); + } else { + sprintf(dimstr, "vec%i", dim); } - else { - sprintf(dimstr, "vec%i", dims); - } - if (dims != 1) { - NCERRX( nc_def_dim(ncid, dimstr, dims, &vector_dim[dims]), - dimstr ); + if (dim != 1) { + NCERRX( nc_def_dim(ncid, dimstr, dim, &vector_dim[dim]), dimstr ); } } } // default variables - dims[0] = vector_dim[3]; - NCERRX( nc_def_var(ncid, NC_SPATIAL_STR, NC_CHAR, 1, dims, &spatial_var), - NC_SPATIAL_STR ); - NCERRX( nc_def_var(ncid, NC_CELL_SPATIAL_STR, NC_CHAR, 1, dims, - &cell_spatial_var), NC_CELL_SPATIAL_STR ); - dims[0] = vector_dim[3]; + dims[0] = 0; + NCERRX( nc_def_var(ncid, NC_SPATIAL_STR, NC_CHAR, 1, dims, &spatial_var), NC_SPATIAL_STR ); + NCERRX( nc_def_var(ncid, NC_CELL_SPATIAL_STR, NC_CHAR, 1, dims, &cell_spatial_var), NC_CELL_SPATIAL_STR ); + dims[0] = 0; dims[1] = label_dim; - NCERRX( nc_def_var(ncid, NC_CELL_ANGULAR_STR, NC_CHAR, 2, dims, - &cell_angular_var), NC_CELL_ANGULAR_STR ); + NCERRX( nc_def_var(ncid, NC_CELL_ANGULAR_STR, NC_CHAR, 2, dims, &cell_angular_var), NC_CELL_ANGULAR_STR ); dims[0] = frame_dim; - NCERRX( nc_def_var(ncid, NC_TIME_STR, NC_DOUBLE, 1, dims, &time_var), - NC_TIME_STR); + NCERRX( nc_def_var(ncid, NC_TIME_STR, NC_DOUBLE, 1, dims, &time_var), NC_TIME_STR); dims[0] = frame_dim; dims[1] = cell_spatial_dim; - NCERRX( nc_def_var(ncid, NC_CELL_ORIGIN_STR, NC_DOUBLE, 2, dims, - &cell_origin_var), NC_CELL_ORIGIN_STR ); - NCERRX( nc_def_var(ncid, NC_CELL_LENGTHS_STR, NC_DOUBLE, 2, dims, - &cell_lengths_var), NC_CELL_LENGTHS_STR ); + NCERRX( nc_def_var(ncid, NC_CELL_ORIGIN_STR, NC_DOUBLE, 2, dims, &cell_origin_var), NC_CELL_ORIGIN_STR ); + NCERRX( nc_def_var(ncid, NC_CELL_LENGTHS_STR, NC_DOUBLE, 2, dims, &cell_lengths_var), NC_CELL_LENGTHS_STR ); dims[0] = frame_dim; dims[1] = cell_angular_dim; - NCERRX( nc_def_var(ncid, NC_CELL_ANGLES_STR, NC_DOUBLE, 2, dims, - &cell_angles_var), NC_CELL_ANGLES_STR ); + NCERRX( nc_def_var(ncid, NC_CELL_ANGLES_STR, NC_DOUBLE, 2, dims, &cell_angles_var), NC_CELL_ANGLES_STR ); // variables specified in the input file dims[0] = frame_dim; dims[1] = atom_dim; - dims[2] = vector_dim[3]; + dims[2] = 0; for (int i = 0; i < n_perat; i++) { nc_type xtype; @@ -457,26 +414,19 @@ void DumpNetCDF::openfile() if (perat[i].constant) { // this quantity will only be written once if (perat[i].dims == 1) { - NCERRX( nc_def_var(ncid, perat[i].name, xtype, 1, dims+1, - &perat[i].var), perat[i].name ); - } - else { + NCERRX( nc_def_var(ncid, perat[i].name, xtype, 1, dims+1, &perat[i].var), perat[i].name ); + } else { // this is a vector dims[1] = vector_dim[perat[i].dims]; - NCERRX( nc_def_var(ncid, perat[i].name, xtype, 2, dims+1, - &perat[i].var), perat[i].name ); + NCERRX( nc_def_var(ncid, perat[i].name, xtype, 2, dims+1, &perat[i].var), perat[i].name ); } - } - else { + } else { if (perat[i].dims == 1) { - NCERRX( nc_def_var(ncid, perat[i].name, xtype, 2, dims, - &perat[i].var), perat[i].name ); - } - else { + NCERRX( nc_def_var(ncid, perat[i].name, xtype, 2, dims, &perat[i].var), perat[i].name ); + } else { // this is a vector dims[2] = vector_dim[perat[i].dims]; - NCERRX( nc_def_var(ncid, perat[i].name, xtype, 3, dims, - &perat[i].var), perat[i].name ); + NCERRX( nc_def_var(ncid, perat[i].name, xtype, 3, dims, &perat[i].var), perat[i].name ); } } } @@ -488,12 +438,10 @@ void DumpNetCDF::openfile() if (th->vtype[i] == THERMO_FLOAT) { NCERRX( nc_def_var(ncid, th->keyword[i], NC_DOUBLE, 1, dims, &thermovar[i]), th->keyword[i] ); - } - else if (th->vtype[i] == THERMO_INT) { + } else if (th->vtype[i] == THERMO_INT) { NCERRX( nc_def_var(ncid, th->keyword[i], NC_INT, 1, dims, &thermovar[i]), th->keyword[i] ); - } - else if (th->vtype[i] == THERMO_BIGINT) { + } else if (th->vtype[i] == THERMO_BIGINT) { #if defined(LAMMPS_SMALLBIG) || defined(LAMMPS_BIGBIG) NCERRX( nc_def_var(ncid, th->keyword[i], NC_INT64, 1, dims, &thermovar[i]), th->keyword[i] ); @@ -524,48 +472,42 @@ void DumpNetCDF::openfile() 2, "lj") ); NCERR( nc_put_att_text(ncid, cell_lengths_var, NC_UNITS_STR, 2, "lj") ); - } - else if (!strcmp(update->unit_style, "real")) { + } else if (!strcmp(update->unit_style, "real")) { NCERR( nc_put_att_text(ncid, time_var, NC_UNITS_STR, 11, "femtosecond") ); NCERR( nc_put_att_text(ncid, cell_origin_var, NC_UNITS_STR, 8, "Angstrom") ); NCERR( nc_put_att_text(ncid, cell_lengths_var, NC_UNITS_STR, 8, "Angstrom") ); - } - else if (!strcmp(update->unit_style, "metal")) { + } else if (!strcmp(update->unit_style, "metal")) { NCERR( nc_put_att_text(ncid, time_var, NC_UNITS_STR, 10, "picosecond") ); NCERR( nc_put_att_text(ncid, cell_origin_var, NC_UNITS_STR, 8, "Angstrom") ); NCERR( nc_put_att_text(ncid, cell_lengths_var, NC_UNITS_STR, 8, "Angstrom") ); - } - else if (!strcmp(update->unit_style, "si")) { + } else if (!strcmp(update->unit_style, "si")) { NCERR( nc_put_att_text(ncid, time_var, NC_UNITS_STR, 6, "second") ); NCERR( nc_put_att_text(ncid, cell_origin_var, NC_UNITS_STR, 5, "meter") ); NCERR( nc_put_att_text(ncid, cell_lengths_var, NC_UNITS_STR, 5, "meter") ); - } - else if (!strcmp(update->unit_style, "cgs")) { + } else if (!strcmp(update->unit_style, "cgs")) { NCERR( nc_put_att_text(ncid, time_var, NC_UNITS_STR, 6, "second") ); NCERR( nc_put_att_text(ncid, cell_origin_var, NC_UNITS_STR, 10, "centimeter") ); NCERR( nc_put_att_text(ncid, cell_lengths_var, NC_UNITS_STR, 10, "centimeter") ); - } - else if (!strcmp(update->unit_style, "electron")) { + } else if (!strcmp(update->unit_style, "electron")) { NCERR( nc_put_att_text(ncid, time_var, NC_UNITS_STR, 11, "femtosecond") ); NCERR( nc_put_att_text(ncid, cell_origin_var, NC_UNITS_STR, 4, "Bohr") ); NCERR( nc_put_att_text(ncid, cell_lengths_var, NC_UNITS_STR, 4, "Bohr") ); - } - else { + } else { char errstr[1024]; sprintf(errstr, "Unsupported unit style '%s'", update->unit_style); error->all(FLERR,errstr); @@ -725,12 +667,10 @@ void DumpNetCDF::write() NCERRX( nc_put_var1_double(ncid, thermovar[i], start, &th->dvalue), th->keyword[i] ); - } - else if (th->vtype[i] == THERMO_INT) { + } else if (th->vtype[i] == THERMO_INT) { NCERRX( nc_put_var1_int(ncid, thermovar[i], start, &th->ivalue), th->keyword[i] ); - } - else if (th->vtype[i] == THERMO_BIGINT) { + } else if (th->vtype[i] == THERMO_BIGINT) { NCERRX( nc_put_var1_bigint(ncid, thermovar[i], start, &th->bivalue), th->keyword[i] ); } @@ -773,8 +713,7 @@ void DumpNetCDF::write_header(bigint n) cell_angles[0] = 90; cell_angles[1] = 90; cell_angles[2] = 90; - } - else { + } else { double cosalpha, cosbeta, cosgamma; double *h = domain->h; @@ -872,8 +811,7 @@ void DumpNetCDF::write_data(int n, double *mybuf) for (int j = 0; j < n; j++, iaux+=size_one) { int_buffer[j] = static_cast(mybuf[iaux]); } - } - else { // DUMP_BIGINT + } else { // DUMP_BIGINT for (int j = 0; j < n; j++, iaux+=size_one) { int_buffer[j] = static_cast(mybuf[iaux]); } @@ -888,20 +826,17 @@ void DumpNetCDF::write_data(int n, double *mybuf) int_buffer) ); perat[i].ndumped += n; } - } - else + } else NCERR( nc_put_vars_bigint(ncid, perat[i].var, start, count, stride, int_buffer) ); } } - } - else { + } else { if (vtype[iaux] == DUMP_INT) { for (int j = 0; j < n; j++, iaux+=size_one) { int_buffer[j] = static_cast(mybuf[iaux]); } - } - else { // DUMP_BIGINT + } else { // DUMP_BIGINT for (int j = 0; j < n; j++, iaux+=size_one) { int_buffer[j] = static_cast(mybuf[iaux]); } @@ -913,13 +848,11 @@ void DumpNetCDF::write_data(int n, double *mybuf) int_buffer) ); perat[i].ndumped += n; } - } - else + } else NCERR( nc_put_vara_bigint(ncid, perat[i].var, start, count, int_buffer) ); } - } - else { + } else { // doubles if (perat[i].dims > 1) { @@ -940,14 +873,12 @@ void DumpNetCDF::write_data(int n, double *mybuf) double_buffer) ); perat[i].ndumped += n; } - } - else + } else NCERR( nc_put_vars_double(ncid, perat[i].var, start, count, stride, double_buffer) ); } } - } - else { + } else { for (int j = 0; j < n; j++, iaux+=size_one) { double_buffer[j] = mybuf[iaux]; } @@ -958,8 +889,7 @@ void DumpNetCDF::write_data(int n, double *mybuf) double_buffer) ); perat[i].ndumped += n; } - } - else + } else NCERR( nc_put_vara_double(ncid, perat[i].var, start, count, double_buffer) ); } @@ -980,15 +910,12 @@ int DumpNetCDF::modify_param(int narg, char **arg) error->all(FLERR,"expected 'yes' or 'no' after 'double' keyword."); if (strcmp(arg[iarg],"yes") == 0) { double_precision = true; - } - else if (strcmp(arg[iarg],"no") == 0) { + } else if (strcmp(arg[iarg],"no") == 0) { double_precision = false; - } - else error->all(FLERR,"expected 'yes' or 'no' after 'double' keyword."); + } else error->all(FLERR,"expected 'yes' or 'no' after 'double' keyword."); iarg++; return 2; - } - else if (strcmp(arg[iarg],"at") == 0) { + } else if (strcmp(arg[iarg],"at") == 0) { iarg++; if (iarg >= narg) error->all(FLERR,"expected additional arg after 'at' keyword."); @@ -997,18 +924,15 @@ int DumpNetCDF::modify_param(int narg, char **arg) else if (framei < 0) framei--; iarg++; return 2; - } - else if (strcmp(arg[iarg],"thermo") == 0) { + } else if (strcmp(arg[iarg],"thermo") == 0) { iarg++; if (iarg >= narg) error->all(FLERR,"expected 'yes' or 'no' after 'thermo' keyword."); if (strcmp(arg[iarg],"yes") == 0) { thermo = true; - } - else if (strcmp(arg[iarg],"no") == 0) { + } else if (strcmp(arg[iarg],"no") == 0) { thermo = false; - } - else error->all(FLERR,"expected 'yes' or 'no' after 'thermo' keyword."); + } else error->all(FLERR,"expected 'yes' or 'no' after 'thermo' keyword."); iarg++; return 2; } else return 0; @@ -1019,16 +943,10 @@ int DumpNetCDF::modify_param(int narg, char **arg) void DumpNetCDF::ncerr(int err, const char *descr, int line) { if (err != NC_NOERR) { - char errstr[1024]; - if (descr) { - sprintf(errstr, "NetCDF failed with error '%s' (while accessing '%s') " - " in line %i of %s.", nc_strerror(err), descr, line, __FILE__); - } - else { - sprintf(errstr, "NetCDF failed with error '%s' in line %i of %s.", - nc_strerror(err), line, __FILE__); - } - error->one(FLERR,errstr); + if (descr) error->one(FLERR,"NetCDF failed with error '{}' (while accessing '{}') " + " in line {} of {}.", nc_strerror(err), descr, line, __FILE__); + else error->one(FLERR,"NetCDF failed with error '{}' in line {} of {}.", + nc_strerror(err), line, __FILE__); } } From 2eff15d1e66ed14ebced8ed6633721d36392c09f Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 18 Jul 2021 17:41:14 -0400 Subject: [PATCH 453/726] move data type enum to header so it can be used in dump netcdf --- src/thermo.cpp | 1 - src/thermo.h | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/src/thermo.cpp b/src/thermo.cpp index 1fa6f18d2c..6e326e6891 100644 --- a/src/thermo.cpp +++ b/src/thermo.cpp @@ -73,7 +73,6 @@ using namespace MathConst; #define MULTI "etotal ke temp pe ebond eangle edihed eimp evdwl ecoul elong press" enum{ONELINE,MULTILINE}; -enum{INT,FLOAT,BIGINT}; enum{SCALAR,VECTOR,ARRAY}; diff --git a/src/thermo.h b/src/thermo.h index 9439b0ef53..89678614a7 100644 --- a/src/thermo.h +++ b/src/thermo.h @@ -31,6 +31,7 @@ class Thermo : protected Pointers { int lostbond; // ditto for atoms in bonds enum { IGNORE, WARN, ERROR }; + enum { INT, FLOAT, BIGINT }; Thermo(class LAMMPS *, int, char **); ~Thermo(); From ce7cca2ae47a1762223682695b6cd47c81a4067d Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 18 Jul 2021 17:44:06 -0400 Subject: [PATCH 454/726] use scoped enums from Dump and Thermo classes instead of replicating them, reformat --- src/NETCDF/dump_netcdf.cpp | 127 ++++++++++++++----------------------- 1 file changed, 46 insertions(+), 81 deletions(-) diff --git a/src/NETCDF/dump_netcdf.cpp b/src/NETCDF/dump_netcdf.cpp index 0a9734b59b..28d9e35387 100644 --- a/src/NETCDF/dump_netcdf.cpp +++ b/src/NETCDF/dump_netcdf.cpp @@ -44,9 +44,6 @@ using namespace LAMMPS_NS; using namespace MathConst; -enum{THERMO_INT,THERMO_FLOAT,THERMO_BIGINT}; // same as in thermo.cpp -enum{DUMP_INT,DUMP_DOUBLE,DUMP_STRING,DUMP_BIGINT}; // same as in DumpCFG - static const char NC_FRAME_STR[] = "frame"; static const char NC_SPATIAL_STR[] = "spatial"; static const char NC_VOIGT_STR[] = "Voigt"; @@ -60,8 +57,8 @@ static const char NC_CELL_ORIGIN_STR[] = "cell_origin"; static const char NC_CELL_LENGTHS_STR[] = "cell_lengths"; static const char NC_CELL_ANGLES_STR[] = "cell_angles"; -const char NC_UNITS_STR[] = "units"; -const char NC_SCALE_FACTOR_STR[] = "scale_factor"; +static const char NC_UNITS_STR[] = "units"; +static const char NC_SCALE_FACTOR_STR[] = "scale_factor"; static constexpr int THIS_IS_A_FIX = -1; static constexpr int THIS_IS_A_COMPUTE = -2; @@ -400,9 +397,9 @@ void DumpNetCDF::openfile() nc_type xtype; // Type mangling - if (vtype[perat[i].field[0]] == DUMP_INT) { + if (vtype[perat[i].field[0]] == Dump::INT) { xtype = NC_INT; - } else if (vtype[perat[i].field[0]] == DUMP_BIGINT) { + } else if (vtype[perat[i].field[0]] == Dump::BIGINT) { xtype = NC_INT64; } else { if (double_precision) @@ -435,13 +432,13 @@ void DumpNetCDF::openfile() if (thermo) { Thermo *th = output->thermo; for (int i = 0; i < th->nfield; i++) { - if (th->vtype[i] == THERMO_FLOAT) { + if (th->vtype[i] == Thermo::FLOAT) { NCERRX( nc_def_var(ncid, th->keyword[i], NC_DOUBLE, 1, dims, &thermovar[i]), th->keyword[i] ); - } else if (th->vtype[i] == THERMO_INT) { + } else if (th->vtype[i] == Thermo::INT) { NCERRX( nc_def_var(ncid, th->keyword[i], NC_INT, 1, dims, &thermovar[i]), th->keyword[i] ); - } else if (th->vtype[i] == THERMO_BIGINT) { + } else if (th->vtype[i] == Thermo::BIGINT) { #if defined(LAMMPS_SMALLBIG) || defined(LAMMPS_BIGBIG) NCERRX( nc_def_var(ncid, th->keyword[i], NC_INT64, 1, dims, &thermovar[i]), th->keyword[i] ); @@ -454,77 +451,50 @@ void DumpNetCDF::openfile() } // attributes - NCERR( nc_put_att_text(ncid, NC_GLOBAL, "Conventions", - 5, "AMBER") ); - NCERR( nc_put_att_text(ncid, NC_GLOBAL, "ConventionVersion", - 3, "1.0") ); + NCERR( nc_put_att_text(ncid, NC_GLOBAL, "Conventions",5, "AMBER") ); + NCERR( nc_put_att_text(ncid, NC_GLOBAL, "ConventionVersion",3, "1.0") ); - NCERR( nc_put_att_text(ncid, NC_GLOBAL, "program", - 6, "LAMMPS") ); - NCERR( nc_put_att_text(ncid, NC_GLOBAL, "programVersion", - strlen(lmp->version), lmp->version) ); + NCERR( nc_put_att_text(ncid, NC_GLOBAL, "program",6, "LAMMPS") ); + NCERR( nc_put_att_text(ncid, NC_GLOBAL, "programVersion",strlen(lmp->version), lmp->version) ); // units if (!strcmp(update->unit_style, "lj")) { - NCERR( nc_put_att_text(ncid, time_var, NC_UNITS_STR, - 2, "lj") ); - NCERR( nc_put_att_text(ncid, cell_origin_var, NC_UNITS_STR, - 2, "lj") ); - NCERR( nc_put_att_text(ncid, cell_lengths_var, NC_UNITS_STR, - 2, "lj") ); + NCERR( nc_put_att_text(ncid, time_var, NC_UNITS_STR,2, "lj") ); + NCERR( nc_put_att_text(ncid, cell_origin_var, NC_UNITS_STR,2, "lj") ); + NCERR( nc_put_att_text(ncid, cell_lengths_var, NC_UNITS_STR,2, "lj") ); } else if (!strcmp(update->unit_style, "real")) { - NCERR( nc_put_att_text(ncid, time_var, NC_UNITS_STR, - 11, "femtosecond") ); - NCERR( nc_put_att_text(ncid, cell_origin_var, NC_UNITS_STR, - 8, "Angstrom") ); - NCERR( nc_put_att_text(ncid, cell_lengths_var, NC_UNITS_STR, - 8, "Angstrom") ); + NCERR( nc_put_att_text(ncid, time_var, NC_UNITS_STR,11, "femtosecond") ); + NCERR( nc_put_att_text(ncid, cell_origin_var, NC_UNITS_STR,8, "Angstrom") ); + NCERR( nc_put_att_text(ncid, cell_lengths_var, NC_UNITS_STR,8, "Angstrom") ); } else if (!strcmp(update->unit_style, "metal")) { - NCERR( nc_put_att_text(ncid, time_var, NC_UNITS_STR, - 10, "picosecond") ); - NCERR( nc_put_att_text(ncid, cell_origin_var, NC_UNITS_STR, - 8, "Angstrom") ); - NCERR( nc_put_att_text(ncid, cell_lengths_var, NC_UNITS_STR, - 8, "Angstrom") ); + NCERR( nc_put_att_text(ncid, time_var, NC_UNITS_STR,10, "picosecond") ); + NCERR( nc_put_att_text(ncid, cell_origin_var, NC_UNITS_STR,8, "Angstrom") ); + NCERR( nc_put_att_text(ncid, cell_lengths_var, NC_UNITS_STR,8, "Angstrom") ); } else if (!strcmp(update->unit_style, "si")) { - NCERR( nc_put_att_text(ncid, time_var, NC_UNITS_STR, - 6, "second") ); - NCERR( nc_put_att_text(ncid, cell_origin_var, NC_UNITS_STR, - 5, "meter") ); - NCERR( nc_put_att_text(ncid, cell_lengths_var, NC_UNITS_STR, - 5, "meter") ); + NCERR( nc_put_att_text(ncid, time_var, NC_UNITS_STR,6, "second") ); + NCERR( nc_put_att_text(ncid, cell_origin_var, NC_UNITS_STR,5, "meter") ); + NCERR( nc_put_att_text(ncid, cell_lengths_var, NC_UNITS_STR,5, "meter") ); } else if (!strcmp(update->unit_style, "cgs")) { - NCERR( nc_put_att_text(ncid, time_var, NC_UNITS_STR, - 6, "second") ); - NCERR( nc_put_att_text(ncid, cell_origin_var, NC_UNITS_STR, - 10, "centimeter") ); - NCERR( nc_put_att_text(ncid, cell_lengths_var, NC_UNITS_STR, - 10, "centimeter") ); + NCERR( nc_put_att_text(ncid, time_var, NC_UNITS_STR,6, "second") ); + NCERR( nc_put_att_text(ncid, cell_origin_var, NC_UNITS_STR,10, "centimeter") ); + NCERR( nc_put_att_text(ncid, cell_lengths_var, NC_UNITS_STR,10, "centimeter") ); } else if (!strcmp(update->unit_style, "electron")) { - NCERR( nc_put_att_text(ncid, time_var, NC_UNITS_STR, - 11, "femtosecond") ); - NCERR( nc_put_att_text(ncid, cell_origin_var, NC_UNITS_STR, - 4, "Bohr") ); - NCERR( nc_put_att_text(ncid, cell_lengths_var, NC_UNITS_STR, - 4, "Bohr") ); + NCERR( nc_put_att_text(ncid, time_var, NC_UNITS_STR,11, "femtosecond") ); + NCERR( nc_put_att_text(ncid, cell_origin_var, NC_UNITS_STR,4, "Bohr") ); + NCERR( nc_put_att_text(ncid, cell_lengths_var, NC_UNITS_STR,4, "Bohr") ); } else { char errstr[1024]; - sprintf(errstr, "Unsupported unit style '%s'", update->unit_style); - error->all(FLERR,errstr); + error->all(FLERR,"Unsupported unit style '{}", update->unit_style); } - NCERR( nc_put_att_text(ncid, cell_angles_var, NC_UNITS_STR, - 6, "degree") ); + NCERR( nc_put_att_text(ncid, cell_angles_var, NC_UNITS_STR,6, "degree") ); d[0] = update->dt; - NCERR( nc_put_att_double(ncid, time_var, NC_SCALE_FACTOR_STR, - NC_DOUBLE, 1, d) ); + NCERR( nc_put_att_double(ncid, time_var, NC_SCALE_FACTOR_STR,NC_DOUBLE, 1, d) ); d[0] = 1.0; - NCERR( nc_put_att_double(ncid, cell_origin_var, NC_SCALE_FACTOR_STR, - NC_DOUBLE, 1, d) ); + NCERR( nc_put_att_double(ncid, cell_origin_var, NC_SCALE_FACTOR_STR,NC_DOUBLE, 1, d) ); d[0] = 1.0; - NCERR( nc_put_att_double(ncid, cell_lengths_var, NC_SCALE_FACTOR_STR, - NC_DOUBLE, 1, d) ); + NCERR( nc_put_att_double(ncid, cell_lengths_var, NC_SCALE_FACTOR_STR,NC_DOUBLE, 1, d) ); /* * Finished with definition @@ -663,14 +633,14 @@ void DumpNetCDF::write() for (int i = 0; i < th->nfield; i++) { th->call_vfunc(i); if (filewriter) { - if (th->vtype[i] == THERMO_FLOAT) { + if (th->vtype[i] == Thermo::FLOAT) { NCERRX( nc_put_var1_double(ncid, thermovar[i], start, &th->dvalue), th->keyword[i] ); - } else if (th->vtype[i] == THERMO_INT) { + } else if (th->vtype[i] == Thermo::INT) { NCERRX( nc_put_var1_int(ncid, thermovar[i], start, &th->ivalue), th->keyword[i] ); - } else if (th->vtype[i] == THERMO_BIGINT) { + } else if (th->vtype[i] == Thermo::BIGINT) { NCERRX( nc_put_var1_bigint(ncid, thermovar[i], start, &th->bivalue), th->keyword[i] ); } @@ -799,7 +769,7 @@ void DumpNetCDF::write_data(int n, double *mybuf) for (int i = 0; i < n_perat; i++) { int iaux = perat[i].field[0]; - if (vtype[iaux] == DUMP_INT || vtype[iaux] == DUMP_BIGINT) { + if (vtype[iaux] == Dump::INT || vtype[iaux] == Dump::BIGINT) { // integers if (perat[i].dims > 1) { @@ -807,11 +777,11 @@ void DumpNetCDF::write_data(int n, double *mybuf) iaux = perat[i].field[idim]; if (iaux >= 0) { - if (vtype[iaux] == DUMP_INT) { + if (vtype[iaux] == Dump::INT) { for (int j = 0; j < n; j++, iaux+=size_one) { int_buffer[j] = static_cast(mybuf[iaux]); } - } else { // DUMP_BIGINT + } else { // Dump::BIGINT for (int j = 0; j < n; j++, iaux+=size_one) { int_buffer[j] = static_cast(mybuf[iaux]); } @@ -821,22 +791,19 @@ void DumpNetCDF::write_data(int n, double *mybuf) if (perat[i].constant) { if (perat[i].ndumped < ntotalgr) { - NCERR( nc_put_vars_bigint(ncid, perat[i].var, - start+1, count+1, stride+1, - int_buffer) ); + NCERR( nc_put_vars_bigint(ncid, perat[i].var,start+1, count+1, stride+1,int_buffer) ); perat[i].ndumped += n; } } else - NCERR( nc_put_vars_bigint(ncid, perat[i].var, start, count, stride, - int_buffer) ); + NCERR( nc_put_vars_bigint(ncid, perat[i].var, start, count, stride,int_buffer) ); } } } else { - if (vtype[iaux] == DUMP_INT) { + if (vtype[iaux] == Dump::INT) { for (int j = 0; j < n; j++, iaux+=size_one) { int_buffer[j] = static_cast(mybuf[iaux]); } - } else { // DUMP_BIGINT + } else { // Dump::BIGINT for (int j = 0; j < n; j++, iaux+=size_one) { int_buffer[j] = static_cast(mybuf[iaux]); } @@ -844,13 +811,11 @@ void DumpNetCDF::write_data(int n, double *mybuf) if (perat[i].constant) { if (perat[i].ndumped < ntotalgr) { - NCERR( nc_put_vara_bigint(ncid, perat[i].var, start+1, count+1, - int_buffer) ); + NCERR( nc_put_vara_bigint(ncid, perat[i].var, start+1, count+1,int_buffer) ); perat[i].ndumped += n; } } else - NCERR( nc_put_vara_bigint(ncid, perat[i].var, start, count, - int_buffer) ); + NCERR( nc_put_vara_bigint(ncid, perat[i].var, start, count,int_buffer) ); } } else { // doubles From 536ba492fbf98f146a2b39b5b7ad9687c49d57d5 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 18 Jul 2021 17:47:01 -0400 Subject: [PATCH 455/726] error out on trying to dump strings or variables --- doc/src/dump_netcdf.rst | 3 +++ src/NETCDF/dump_netcdf.cpp | 7 +++++++ 2 files changed, 10 insertions(+) diff --git a/doc/src/dump_netcdf.rst b/doc/src/dump_netcdf.rst index 9fac10dc99..c14ec02871 100644 --- a/doc/src/dump_netcdf.rst +++ b/doc/src/dump_netcdf.rst @@ -73,6 +73,9 @@ NETCDF package. They are only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +The *netcdf* and *netcdf/mpiio* dump styles currently cannot dump +string properties or properties from variables. + ---------- Related commands diff --git a/src/NETCDF/dump_netcdf.cpp b/src/NETCDF/dump_netcdf.cpp index 28d9e35387..83e7d29f5f 100644 --- a/src/NETCDF/dump_netcdf.cpp +++ b/src/NETCDF/dump_netcdf.cpp @@ -147,6 +147,9 @@ DumpNetCDF::DumpNetCDF(LAMMPS *lmp, int narg, char **arg) : mangled = mangled.substr(0,found); ndims = THIS_IS_A_FIX; } + } else if (utils::strmatch(mangled, "^v_")) { + idim = 0; + ndims = THIS_IS_A_VARIABLE; } // find mangled name @@ -257,6 +260,8 @@ void DumpNetCDF::openfile() perat[i].dims = fix[j]->size_peratom_cols; if (perat[i].dims > DUMP_NC_MAX_DIMS) error->all(FLERR,"perat[i].dims > DUMP_NC_MAX_DIMS"); + } else if (perat[i].dims == THIS_IS_A_VARIABLE) { + error->all(FLERR,"Dump netcdf currently does not support dumping variables"); } } @@ -401,6 +406,8 @@ void DumpNetCDF::openfile() xtype = NC_INT; } else if (vtype[perat[i].field[0]] == Dump::BIGINT) { xtype = NC_INT64; + } else if (vtype[perat[i].field[0]] == Dump::STRING) { + error->all(FLERR,"Dump netcdf currently does not support dumping string properties"); } else { if (double_precision) xtype = NC_DOUBLE; From 1f9e0adfe9687c43302640da2f7aa5cc0ac036e7 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 18 Jul 2021 18:37:27 -0400 Subject: [PATCH 456/726] more reformatting --- src/NETCDF/dump_netcdf.cpp | 65 +++++++++++++++++--------------------- 1 file changed, 29 insertions(+), 36 deletions(-) diff --git a/src/NETCDF/dump_netcdf.cpp b/src/NETCDF/dump_netcdf.cpp index 83e7d29f5f..cd7783a0aa 100644 --- a/src/NETCDF/dump_netcdf.cpp +++ b/src/NETCDF/dump_netcdf.cpp @@ -196,7 +196,7 @@ DumpNetCDF::~DumpNetCDF() closefile(); delete[] perat; - if (thermovar) delete[] thermovar; + if (thermovar) delete[] thermovar; if (int_buffer) memory->sfree(int_buffer); if (double_buffer) memory->sfree(double_buffer); @@ -213,8 +213,7 @@ void DumpNetCDF::openfile() char *ptr = strchr(filestar,'*'); *ptr = '\0'; if (padflag == 0) - sprintf(filecurrent,"%s" BIGINT_FORMAT "%s", - filestar,update->ntimestep,ptr+1); + sprintf(filecurrent,"%s" BIGINT_FORMAT "%s", filestar,update->ntimestep,ptr+1); else { char bif[8],pad[16]; strcpy(bif,BIGINT_FORMAT); @@ -276,8 +275,7 @@ void DumpNetCDF::openfile() // Fixme! Perform checks if dimensions and variables conform with // data structure standard. if (not utils::file_is_readable(filecurrent)) - error->all(FLERR, "cannot append to non-existent file {}", - filecurrent); + error->all(FLERR, "cannot append to non-existent file {}",filecurrent); if (singlefile_opened) return; singlefile_opened = 1; @@ -303,8 +301,7 @@ void DumpNetCDF::openfile() sprintf(dimstr, "vec%i", dims); } if (dims != 1) { - NCERRX( nc_inq_dimid(ncid, dimstr, &vector_dim[dims]), - dimstr ); + NCERRX( nc_inq_dimid(ncid, dimstr, &vector_dim[dims]), dimstr ); } } } @@ -458,40 +455,39 @@ void DumpNetCDF::openfile() } // attributes - NCERR( nc_put_att_text(ncid, NC_GLOBAL, "Conventions",5, "AMBER") ); - NCERR( nc_put_att_text(ncid, NC_GLOBAL, "ConventionVersion",3, "1.0") ); + NCERR( nc_put_att_text(ncid, NC_GLOBAL, "Conventions", 5, "AMBER") ); + NCERR( nc_put_att_text(ncid, NC_GLOBAL, "ConventionVersion", 3, "1.0") ); - NCERR( nc_put_att_text(ncid, NC_GLOBAL, "program",6, "LAMMPS") ); + NCERR( nc_put_att_text(ncid, NC_GLOBAL, "program", 6, "LAMMPS") ); NCERR( nc_put_att_text(ncid, NC_GLOBAL, "programVersion",strlen(lmp->version), lmp->version) ); // units if (!strcmp(update->unit_style, "lj")) { - NCERR( nc_put_att_text(ncid, time_var, NC_UNITS_STR,2, "lj") ); - NCERR( nc_put_att_text(ncid, cell_origin_var, NC_UNITS_STR,2, "lj") ); - NCERR( nc_put_att_text(ncid, cell_lengths_var, NC_UNITS_STR,2, "lj") ); + NCERR( nc_put_att_text(ncid, time_var, NC_UNITS_STR, 2, "lj") ); + NCERR( nc_put_att_text(ncid, cell_origin_var, NC_UNITS_STR, 2, "lj") ); + NCERR( nc_put_att_text(ncid, cell_lengths_var, NC_UNITS_STR, 2, "lj") ); } else if (!strcmp(update->unit_style, "real")) { - NCERR( nc_put_att_text(ncid, time_var, NC_UNITS_STR,11, "femtosecond") ); - NCERR( nc_put_att_text(ncid, cell_origin_var, NC_UNITS_STR,8, "Angstrom") ); - NCERR( nc_put_att_text(ncid, cell_lengths_var, NC_UNITS_STR,8, "Angstrom") ); + NCERR( nc_put_att_text(ncid, time_var, NC_UNITS_STR, 11, "femtosecond") ); + NCERR( nc_put_att_text(ncid, cell_origin_var, NC_UNITS_STR, 8, "Angstrom") ); + NCERR( nc_put_att_text(ncid, cell_lengths_var, NC_UNITS_STR, 8, "Angstrom") ); } else if (!strcmp(update->unit_style, "metal")) { - NCERR( nc_put_att_text(ncid, time_var, NC_UNITS_STR,10, "picosecond") ); - NCERR( nc_put_att_text(ncid, cell_origin_var, NC_UNITS_STR,8, "Angstrom") ); - NCERR( nc_put_att_text(ncid, cell_lengths_var, NC_UNITS_STR,8, "Angstrom") ); + NCERR( nc_put_att_text(ncid, time_var, NC_UNITS_STR, 10, "picosecond") ); + NCERR( nc_put_att_text(ncid, cell_origin_var, NC_UNITS_STR, 8, "Angstrom") ); + NCERR( nc_put_att_text(ncid, cell_lengths_var, NC_UNITS_STR, 8, "Angstrom") ); } else if (!strcmp(update->unit_style, "si")) { - NCERR( nc_put_att_text(ncid, time_var, NC_UNITS_STR,6, "second") ); - NCERR( nc_put_att_text(ncid, cell_origin_var, NC_UNITS_STR,5, "meter") ); - NCERR( nc_put_att_text(ncid, cell_lengths_var, NC_UNITS_STR,5, "meter") ); + NCERR( nc_put_att_text(ncid, time_var, NC_UNITS_STR, 6, "second") ); + NCERR( nc_put_att_text(ncid, cell_origin_var, NC_UNITS_STR, 5, "meter") ); + NCERR( nc_put_att_text(ncid, cell_lengths_var, NC_UNITS_STR, 5, "meter") ); } else if (!strcmp(update->unit_style, "cgs")) { - NCERR( nc_put_att_text(ncid, time_var, NC_UNITS_STR,6, "second") ); - NCERR( nc_put_att_text(ncid, cell_origin_var, NC_UNITS_STR,10, "centimeter") ); - NCERR( nc_put_att_text(ncid, cell_lengths_var, NC_UNITS_STR,10, "centimeter") ); + NCERR( nc_put_att_text(ncid, time_var, NC_UNITS_STR, 6, "second") ); + NCERR( nc_put_att_text(ncid, cell_origin_var, NC_UNITS_STR, 10, "centimeter") ); + NCERR( nc_put_att_text(ncid, cell_lengths_var, NC_UNITS_STR, 10, "centimeter") ); } else if (!strcmp(update->unit_style, "electron")) { - NCERR( nc_put_att_text(ncid, time_var, NC_UNITS_STR,11, "femtosecond") ); - NCERR( nc_put_att_text(ncid, cell_origin_var, NC_UNITS_STR,4, "Bohr") ); - NCERR( nc_put_att_text(ncid, cell_lengths_var, NC_UNITS_STR,4, "Bohr") ); + NCERR( nc_put_att_text(ncid, time_var, NC_UNITS_STR, 11, "femtosecond") ); + NCERR( nc_put_att_text(ncid, cell_origin_var, NC_UNITS_STR, 4, "Bohr") ); + NCERR( nc_put_att_text(ncid, cell_lengths_var, NC_UNITS_STR, 4, "Bohr") ); } else { - char errstr[1024]; - error->all(FLERR,"Unsupported unit style '{}", update->unit_style); + error->all(FLERR,"Unsupported unit style: {}", update->unit_style); } NCERR( nc_put_att_text(ncid, cell_angles_var, NC_UNITS_STR,6, "degree") ); @@ -722,12 +718,9 @@ void DumpNetCDF::write_header(bigint n) count[0] = 1; count[1] = 3; NCERR( nc_put_var1_double(ncid, time_var, start, &time) ); - NCERR( nc_put_vara_double(ncid, cell_origin_var, start, count, - cell_origin) ); - NCERR( nc_put_vara_double(ncid, cell_lengths_var, start, count, - cell_lengths) ); - NCERR( nc_put_vara_double(ncid, cell_angles_var, start, count, - cell_angles) ); + NCERR( nc_put_vara_double(ncid, cell_origin_var, start, count, cell_origin) ); + NCERR( nc_put_vara_double(ncid, cell_lengths_var, start, count, cell_lengths) ); + NCERR( nc_put_vara_double(ncid, cell_angles_var, start, count, cell_angles) ); } ndata = n; From 76ec9b86166f75519ea61b8e659781998e060a0b Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 18 Jul 2021 19:04:08 -0400 Subject: [PATCH 457/726] port changes from dump netcdf to dump netcdf/mpiio --- src/NETCDF/dump_netcdf_mpiio.cpp | 501 +++++++++++-------------------- 1 file changed, 183 insertions(+), 318 deletions(-) diff --git a/src/NETCDF/dump_netcdf_mpiio.cpp b/src/NETCDF/dump_netcdf_mpiio.cpp index bf5b1a26ca..4179b362c8 100644 --- a/src/NETCDF/dump_netcdf_mpiio.cpp +++ b/src/NETCDF/dump_netcdf_mpiio.cpp @@ -18,53 +18,52 @@ #if defined(LMP_HAS_PNETCDF) -#include -#include #include "dump_netcdf_mpiio.h" + #include "atom.h" #include "comm.h" #include "compute.h" #include "domain.h" #include "error.h" #include "fix.h" +#include "force.h" #include "group.h" #include "input.h" #include "math_const.h" #include "memory.h" #include "modify.h" -#include "update.h" -#include "universe.h" -#include "variable.h" -#include "force.h" #include "output.h" #include "thermo.h" +#include "universe.h" +#include "update.h" +#include "variable.h" + +#include +#include using namespace LAMMPS_NS; using namespace MathConst; -enum{THERMO_INT,THERMO_FLOAT,THERMO_BIGINT}; // same as in thermo.cpp -enum{DUMP_INT,DUMP_DOUBLE,DUMP_STRING,DUMP_BIGINT}; // same as in DumpCFG +static const char NC_FRAME_STR[] = "frame"; +static const char NC_SPATIAL_STR[] = "spatial"; +static const char NC_VOIGT_STR[] = "Voigt"; +static const char NC_ATOM_STR[] = "atom"; +static const char NC_CELL_SPATIAL_STR[] = "cell_spatial"; +static const char NC_CELL_ANGULAR_STR[] = "cell_angular"; +static const char NC_LABEL_STR[] = "label"; -const char NC_FRAME_STR[] = "frame"; -const char NC_SPATIAL_STR[] = "spatial"; -const char NC_VOIGT_STR[] = "Voigt"; -const char NC_ATOM_STR[] = "atom"; -const char NC_CELL_SPATIAL_STR[] = "cell_spatial"; -const char NC_CELL_ANGULAR_STR[] = "cell_angular"; -const char NC_LABEL_STR[] = "label"; +static const char NC_TIME_STR[] = "time"; +static const char NC_CELL_ORIGIN_STR[] = "cell_origin"; +static const char NC_CELL_LENGTHS_STR[] = "cell_lengths"; +static const char NC_CELL_ANGLES_STR[] = "cell_angles"; -const char NC_TIME_STR[] = "time"; -const char NC_CELL_ORIGIN_STR[] = "cell_origin"; -const char NC_CELL_LENGTHS_STR[] = "cell_lengths"; -const char NC_CELL_ANGLES_STR[] = "cell_angles"; +static const char NC_UNITS_STR[] = "units"; +static const char NC_SCALE_FACTOR_STR[] = "scale_factor"; -const char NC_UNITS_STR[] = "units"; -const char NC_SCALE_FACTOR_STR[] = "scale_factor"; - -const int THIS_IS_A_FIX = -1; -const int THIS_IS_A_COMPUTE = -2; -const int THIS_IS_A_VARIABLE = -3; -const int THIS_IS_A_BIGINT = -4; +static constexpr int THIS_IS_A_FIX = -1; +static constexpr int THIS_IS_A_COMPUTE = -2; +static constexpr int THIS_IS_A_VARIABLE = -3; +static constexpr int THIS_IS_A_BIGINT = -4; /* ---------------------------------------------------------------------- */ @@ -98,77 +97,65 @@ DumpNetCDFMPIIO::DumpNetCDFMPIIO(LAMMPS *lmp, int narg, char **arg) : } n_perat = 0; - for (int iarg = 5; iarg < narg; iarg++) { - int i = iarg-5; + for (int i = 0; i < nfield; i++) { int idim = 0; int ndims = 1; - char mangled[1024]; - - strcpy(mangled, arg[iarg]); + std::string mangled = earg[i]; + bool constant = false; // name mangling // in the AMBER specification - if (!strcmp(mangled, "x") || !strcmp(mangled, "y") || - !strcmp(mangled, "z")) { + if ((mangled == "x") || (mangled == "y") || (mangled == "z")) { idim = mangled[0] - 'x'; ndims = 3; - strcpy(mangled, "coordinates"); - } - else if (!strcmp(mangled, "vx") || !strcmp(mangled, "vy") || - !strcmp(mangled, "vz")) { + mangled = "coordinates"; + } else if ((mangled == "vx") || (mangled == "vy") || (mangled == "vz")) { idim = mangled[1] - 'x'; ndims = 3; - strcpy(mangled, "velocities"); - } - else if (!strcmp(mangled, "xs") || !strcmp(mangled, "ys") || - !strcmp(mangled, "zs")) { + mangled = "velocities"; + } else if ((mangled == "xs") || (mangled == "ys") || (mangled == "zs")) { idim = mangled[0] - 'x'; ndims = 3; - strcpy(mangled, "scaled_coordinates"); - } - else if (!strcmp(mangled, "xu") || !strcmp(mangled, "yu") || - !strcmp(mangled, "zu")) { + mangled = "scaled_coordinates"; + } else if ((mangled == "xu") || (mangled == "yu") || (mangled == "zu")) { idim = mangled[0] - 'x'; ndims = 3; - strcpy(mangled, "unwrapped_coordinates"); - } - else if (!strcmp(mangled, "fx") || !strcmp(mangled, "fy") || - !strcmp(mangled, "fz")) { + mangled = "unwrapped_coordinates"; + } else if ((mangled == "fx") || (mangled == "fy") || (mangled == "fz")) { idim = mangled[1] - 'x'; ndims = 3; - strcpy(mangled, "forces"); - } - else if (!strcmp(mangled, "mux") || !strcmp(mangled, "muy") || - !strcmp(mangled, "muz")) { + mangled = "forces"; + } else if ((mangled == "mux") || (mangled == "muy") || (mangled == "muz")) { idim = mangled[2] - 'x'; ndims = 3; - strcpy(mangled, "mu"); - } - else if (!strncmp(mangled, "c_", 2)) { - char *ptr = strchr(mangled, '['); - if (ptr) { - if (mangled[strlen(mangled)-1] != ']') + mangled = "mu"; + } else if (utils::strmatch(mangled, "^c_")) { + std::size_t found = mangled.find('['); + if (found != std::string::npos) { + if (mangled.find(']',found) == std::string::npos) error->all(FLERR,"Missing ']' in dump command"); - *ptr = '\0'; - idim = ptr[1] - '1'; + idim = mangled[found+1] - '1'; + mangled = mangled.substr(0,found); ndims = THIS_IS_A_COMPUTE; } - } - else if (!strncmp(mangled, "f_", 2)) { - char *ptr = strchr(mangled, '['); - if (ptr) { - if (mangled[strlen(mangled)-1] != ']') + } else if (utils::strmatch(mangled, "^f_")) { + std::size_t found = mangled.find('['); + if (found != std::string::npos) { + if (mangled.find(']',found) == std::string::npos) error->all(FLERR,"Missing ']' in dump command"); - *ptr = '\0'; - idim = ptr[1] - '1'; + idim = mangled[found+1] - '1'; + mangled = mangled.substr(0,found); ndims = THIS_IS_A_FIX; } + } else if (utils::strmatch(mangled, "^v_")) { + idim = 0; + ndims = THIS_IS_A_VARIABLE; } // find mangled name int inc = -1; for (int j = 0; j < n_perat && inc < 0; j++) { - if (!strcmp(perat[j].name, mangled)) { + if (mangled == perat[j].name) { inc = j; } } @@ -181,7 +168,7 @@ DumpNetCDFMPIIO::DumpNetCDFMPIIO(LAMMPS *lmp, int narg, char **arg) : for (int j = 0; j < DUMP_NC_MPIIO_MAX_DIMS; j++) { perat[inc].field[j] = -1; } - strcpy(perat[inc].name, mangled); + strncpy(perat[inc].name, mangled.c_str(), NC_MPIIO_FIELD_NAME_MAX); n_perat++; } @@ -206,8 +193,8 @@ DumpNetCDFMPIIO::~DumpNetCDFMPIIO() { closefile(); - delete [] perat; - if (thermovar) delete [] thermovar; + delete[] perat; + if (thermovar) delete[] thermovar; if (int_buffer) memory->sfree(int_buffer); if (double_buffer) memory->sfree(double_buffer); @@ -236,7 +223,7 @@ void DumpNetCDFMPIIO::openfile() } if (thermo && !singlefile_opened) { - if (thermovar) delete [] thermovar; + if (thermovar) delete[] thermovar; thermovar = new int[output->thermo->nfield]; } @@ -257,8 +244,7 @@ void DumpNetCDFMPIIO::openfile() perat[i].dims = compute[j]->size_peratom_cols; if (perat[i].dims > DUMP_NC_MPIIO_MAX_DIMS) error->all(FLERR,"perat[i].dims > DUMP_NC_MPIIO_MAX_DIMS"); - } - else if (perat[i].dims == THIS_IS_A_FIX) { + } else if (perat[i].dims == THIS_IS_A_FIX) { int j = -1; for (int k = 0; k < DUMP_NC_MPIIO_MAX_DIMS; k++) { if (perat[i].field[k] >= 0) { @@ -272,6 +258,8 @@ void DumpNetCDFMPIIO::openfile() perat[i].dims = fix[j]->size_peratom_cols; if (perat[i].dims > DUMP_NC_MPIIO_MAX_DIMS) error->all(FLERR,"perat[i].dims > DUMP_NC_MPIIO_MAX_DIMS"); + } else if (perat[i].dims == THIS_IS_A_VARIABLE) { + error->all(FLERR,"Dump netcdf/mpiio currently does not support dumping variables"); } } @@ -285,8 +273,7 @@ void DumpNetCDFMPIIO::openfile() // Fixme! Perform checks if dimensions and variables conform with // data structure standard. if (not utils::file_is_readable(filecurrent)) - error->all(FLERR, "cannot append to non-existent file {}", - filecurrent); + error->all(FLERR, "cannot append to non-existent file {}", filecurrent); MPI_Offset index[NC_MAX_VAR_DIMS], count[NC_MAX_VAR_DIMS]; double d[1]; @@ -294,16 +281,13 @@ void DumpNetCDFMPIIO::openfile() if (singlefile_opened) return; singlefile_opened = 1; - NCERRX( ncmpi_open(world, filecurrent, NC_WRITE, MPI_INFO_NULL, - &ncid), filecurrent ); + NCERRX( ncmpi_open(world, filecurrent, NC_WRITE, MPI_INFO_NULL, &ncid), filecurrent ); // dimensions NCERRX( ncmpi_inq_dimid(ncid, NC_FRAME_STR, &frame_dim), NC_FRAME_STR ); NCERRX( ncmpi_inq_dimid(ncid, NC_ATOM_STR, &atom_dim), NC_ATOM_STR ); - NCERRX( ncmpi_inq_dimid(ncid, NC_CELL_SPATIAL_STR, &cell_spatial_dim), - NC_CELL_SPATIAL_STR ); - NCERRX( ncmpi_inq_dimid(ncid, NC_CELL_ANGULAR_STR, &cell_angular_dim), - NC_CELL_ANGULAR_STR ); + NCERRX( ncmpi_inq_dimid(ncid, NC_CELL_SPATIAL_STR, &cell_spatial_dim), NC_CELL_SPATIAL_STR ); + NCERRX( ncmpi_inq_dimid(ncid, NC_CELL_ANGULAR_STR, &cell_angular_dim), NC_CELL_ANGULAR_STR ); NCERRX( ncmpi_inq_dimid(ncid, NC_LABEL_STR, &label_dim), NC_LABEL_STR ); for (int i = 0; i < n_perat; i++) { @@ -312,48 +296,37 @@ void DumpNetCDFMPIIO::openfile() char dimstr[1024]; if (dims == 3) { strcpy(dimstr, NC_SPATIAL_STR); - } - else if (dims == 6) { + } else if (dims == 6) { strcpy(dimstr, NC_VOIGT_STR); - } - else { + } else { sprintf(dimstr, "vec%i", dims); } if (dims != 1) { - NCERRX( ncmpi_inq_dimid(ncid, dimstr, &vector_dim[dims]), - dimstr ); + NCERRX( ncmpi_inq_dimid(ncid, dimstr, &vector_dim[dims]), dimstr ); } } } // default variables - NCERRX( ncmpi_inq_varid(ncid, NC_SPATIAL_STR, &spatial_var), - NC_SPATIAL_STR ); - NCERRX( ncmpi_inq_varid(ncid, NC_CELL_SPATIAL_STR, &cell_spatial_var), - NC_CELL_SPATIAL_STR); - NCERRX( ncmpi_inq_varid(ncid, NC_CELL_ANGULAR_STR, &cell_angular_var), - NC_CELL_ANGULAR_STR); + NCERRX( ncmpi_inq_varid(ncid, NC_SPATIAL_STR, &spatial_var), NC_SPATIAL_STR ); + NCERRX( ncmpi_inq_varid(ncid, NC_CELL_SPATIAL_STR, &cell_spatial_var), NC_CELL_SPATIAL_STR); + NCERRX( ncmpi_inq_varid(ncid, NC_CELL_ANGULAR_STR, &cell_angular_var), NC_CELL_ANGULAR_STR); NCERRX( ncmpi_inq_varid(ncid, NC_TIME_STR, &time_var), NC_TIME_STR ); - NCERRX( ncmpi_inq_varid(ncid, NC_CELL_ORIGIN_STR, &cell_origin_var), - NC_CELL_ORIGIN_STR ); - NCERRX( ncmpi_inq_varid(ncid, NC_CELL_LENGTHS_STR, &cell_lengths_var), - NC_CELL_LENGTHS_STR); - NCERRX( ncmpi_inq_varid(ncid, NC_CELL_ANGLES_STR, &cell_angles_var), - NC_CELL_ANGLES_STR); + NCERRX( ncmpi_inq_varid(ncid, NC_CELL_ORIGIN_STR, &cell_origin_var), NC_CELL_ORIGIN_STR ); + NCERRX( ncmpi_inq_varid(ncid, NC_CELL_LENGTHS_STR, &cell_lengths_var), NC_CELL_LENGTHS_STR); + NCERRX( ncmpi_inq_varid(ncid, NC_CELL_ANGLES_STR, &cell_angles_var), NC_CELL_ANGLES_STR); // variables specified in the input file for (int i = 0; i < n_perat; i++) { - NCERRX( ncmpi_inq_varid(ncid, perat[i].name, &perat[i].var), - perat[i].name ); + NCERRX( ncmpi_inq_varid(ncid, perat[i].name, &perat[i].var), perat[i].name ); } // perframe variables if (thermo) { Thermo *th = output->thermo; for (int i = 0; i < th->nfield; i++) { - NCERRX( ncmpi_inq_varid(ncid, th->keyword[i], &thermovar[i]), - th->keyword[i] ); + NCERRX( ncmpi_inq_varid(ncid, th->keyword[i], &thermovar[i]), th->keyword[i] ); } } @@ -374,20 +347,14 @@ void DumpNetCDFMPIIO::openfile() if (singlefile_opened) return; singlefile_opened = 1; - NCERRX( ncmpi_create(world, filecurrent, NC_64BIT_DATA, - MPI_INFO_NULL, &ncid), filecurrent ); + NCERRX( ncmpi_create(world, filecurrent, NC_64BIT_DATA, MPI_INFO_NULL, &ncid), filecurrent ); // dimensions - NCERRX( ncmpi_def_dim(ncid, NC_FRAME_STR, NC_UNLIMITED, &frame_dim), - NC_FRAME_STR ); - NCERRX( ncmpi_def_dim(ncid, NC_ATOM_STR, ntotalgr, &atom_dim), - NC_ATOM_STR ); - NCERRX( ncmpi_def_dim(ncid, NC_CELL_SPATIAL_STR, 3, &cell_spatial_dim), - NC_CELL_SPATIAL_STR ); - NCERRX( ncmpi_def_dim(ncid, NC_CELL_ANGULAR_STR, 3, &cell_angular_dim), - NC_CELL_ANGULAR_STR ); - NCERRX( ncmpi_def_dim(ncid, NC_LABEL_STR, 10, &label_dim), - NC_LABEL_STR ); + NCERRX( ncmpi_def_dim(ncid, NC_FRAME_STR, NC_UNLIMITED, &frame_dim), NC_FRAME_STR ); + NCERRX( ncmpi_def_dim(ncid, NC_ATOM_STR, ntotalgr, &atom_dim), NC_ATOM_STR ); + NCERRX( ncmpi_def_dim(ncid, NC_CELL_SPATIAL_STR, 3, &cell_spatial_dim), NC_CELL_SPATIAL_STR ); + NCERRX( ncmpi_def_dim(ncid, NC_CELL_ANGULAR_STR, 3, &cell_angular_dim), NC_CELL_ANGULAR_STR ); + NCERRX( ncmpi_def_dim(ncid, NC_LABEL_STR, 10, &label_dim), NC_LABEL_STR ); for (int i = 0; i < n_perat; i++) { int dims = perat[i].dims; @@ -395,44 +362,34 @@ void DumpNetCDFMPIIO::openfile() char dimstr[1024]; if (dims == 3) { strcpy(dimstr, NC_SPATIAL_STR); - } - else if (dims == 6) { + } else if (dims == 6) { strcpy(dimstr, NC_VOIGT_STR); - } - else { + } else { sprintf(dimstr, "vec%i", dims); } if (dims != 1) { - NCERRX( ncmpi_def_dim(ncid, dimstr, dims, &vector_dim[dims]), - dimstr ); + NCERRX( ncmpi_def_dim(ncid, dimstr, dims, &vector_dim[dims]), dimstr ); } } } // default variables dims[0] = vector_dim[3]; - NCERRX( ncmpi_def_var(ncid, NC_SPATIAL_STR, NC_CHAR, 1, dims, &spatial_var), - NC_SPATIAL_STR ); - NCERRX( ncmpi_def_var(ncid, NC_CELL_SPATIAL_STR, NC_CHAR, 1, dims, - &cell_spatial_var), NC_CELL_SPATIAL_STR ); + NCERRX( ncmpi_def_var(ncid, NC_SPATIAL_STR, NC_CHAR, 1, dims, &spatial_var), NC_SPATIAL_STR ); + NCERRX( ncmpi_def_var(ncid, NC_CELL_SPATIAL_STR, NC_CHAR, 1, dims, &cell_spatial_var), NC_CELL_SPATIAL_STR ); dims[0] = vector_dim[3]; dims[1] = label_dim; - NCERRX( ncmpi_def_var(ncid, NC_CELL_ANGULAR_STR, NC_CHAR, 2, dims, - &cell_angular_var), NC_CELL_ANGULAR_STR ); + NCERRX( ncmpi_def_var(ncid, NC_CELL_ANGULAR_STR, NC_CHAR, 2, dims, &cell_angular_var), NC_CELL_ANGULAR_STR ); dims[0] = frame_dim; - NCERRX( ncmpi_def_var(ncid, NC_TIME_STR, NC_DOUBLE, 1, dims, &time_var), - NC_TIME_STR); + NCERRX( ncmpi_def_var(ncid, NC_TIME_STR, NC_DOUBLE, 1, dims, &time_var), NC_TIME_STR); dims[0] = frame_dim; dims[1] = cell_spatial_dim; - NCERRX( ncmpi_def_var(ncid, NC_CELL_ORIGIN_STR, NC_DOUBLE, 2, dims, - &cell_origin_var), NC_CELL_ORIGIN_STR ); - NCERRX( ncmpi_def_var(ncid, NC_CELL_LENGTHS_STR, NC_DOUBLE, 2, dims, - &cell_lengths_var), NC_CELL_LENGTHS_STR ); + NCERRX( ncmpi_def_var(ncid, NC_CELL_ORIGIN_STR, NC_DOUBLE, 2, dims, &cell_origin_var), NC_CELL_ORIGIN_STR ); + NCERRX( ncmpi_def_var(ncid, NC_CELL_LENGTHS_STR, NC_DOUBLE, 2, dims, &cell_lengths_var), NC_CELL_LENGTHS_STR ); dims[0] = frame_dim; dims[1] = cell_angular_dim; - NCERRX( ncmpi_def_var(ncid, NC_CELL_ANGLES_STR, NC_DOUBLE, 2, dims, - &cell_angles_var), NC_CELL_ANGLES_STR ); + NCERRX( ncmpi_def_var(ncid, NC_CELL_ANGLES_STR, NC_DOUBLE, 2, dims, &cell_angles_var), NC_CELL_ANGLES_STR ); // variables specified in the input file dims[0] = frame_dim; @@ -443,9 +400,9 @@ void DumpNetCDFMPIIO::openfile() nc_type xtype; // Type mangling - if (vtype[perat[i].field[0]] == DUMP_INT) { + if (vtype[perat[i].field[0]] == Dump::INT) { xtype = NC_INT; - } else if (vtype[perat[i].field[0]] == DUMP_BIGINT) { + } else if (vtype[perat[i].field[0]] == Dump::BIGINT) { xtype = NC_INT64; } else { if (double_precision) @@ -455,14 +412,11 @@ void DumpNetCDFMPIIO::openfile() } if (perat[i].dims == 1) { - NCERRX( ncmpi_def_var(ncid, perat[i].name, xtype, 2, dims, - &perat[i].var), perat[i].name ); - } - else { + NCERRX( ncmpi_def_var(ncid, perat[i].name, xtype, 2, dims, &perat[i].var), perat[i].name ); + } else { // this is a vector dims[2] = vector_dim[perat[i].dims]; - NCERRX( ncmpi_def_var(ncid, perat[i].name, xtype, 3, dims, - &perat[i].var), perat[i].name ); + NCERRX( ncmpi_def_var(ncid, perat[i].name, xtype, 3, dims, &perat[i].var), perat[i].name ); } } @@ -470,104 +424,64 @@ void DumpNetCDFMPIIO::openfile() if (thermo) { Thermo *th = output->thermo; for (int i = 0; i < th->nfield; i++) { - if (th->vtype[i] == THERMO_FLOAT) { - NCERRX( ncmpi_def_var(ncid, th->keyword[i], NC_DOUBLE, 1, dims, - &thermovar[i]), th->keyword[i] ); - } - else if (th->vtype[i] == THERMO_INT) { - NCERRX( ncmpi_def_var(ncid, th->keyword[i], NC_INT, 1, dims, - &thermovar[i]), th->keyword[i] ); - } - else if (th->vtype[i] == THERMO_BIGINT) { + if (th->vtype[i] == Thermo::FLOAT) { + NCERRX( ncmpi_def_var(ncid, th->keyword[i], NC_DOUBLE, 1, dims, &thermovar[i]), th->keyword[i] ); + } else if (th->vtype[i] == Thermo::INT) { + NCERRX( ncmpi_def_var(ncid, th->keyword[i], NC_INT, 1, dims, &thermovar[i]), th->keyword[i] ); + } else if (th->vtype[i] == Thermo::BIGINT) { #if defined(LAMMPS_SMALLBIG) || defined(LAMMPS_BIGBIG) - NCERRX( ncmpi_def_var(ncid, th->keyword[i], NC_INT64, 1, dims, - &thermovar[i]), th->keyword[i] ); + NCERRX( ncmpi_def_var(ncid, th->keyword[i], NC_INT64, 1, dims, &thermovar[i]), th->keyword[i] ); #else - NCERRX( ncmpi_def_var(ncid, th->keyword[i], NC_LONG, 1, dims, - &thermovar[i]), th->keyword[i] ); + NCERRX( ncmpi_def_var(ncid, th->keyword[i], NC_LONG, 1, dims, &thermovar[i]), th->keyword[i] ); #endif } } } // attributes - NCERR( ncmpi_put_att_text(ncid, NC_GLOBAL, "Conventions", - 5, "AMBER") ); - NCERR( ncmpi_put_att_text(ncid, NC_GLOBAL, "ConventionVersion", - 3, "1.0") ); + NCERR( ncmpi_put_att_text(ncid, NC_GLOBAL, "Conventions", 5, "AMBER") ); + NCERR( ncmpi_put_att_text(ncid, NC_GLOBAL, "ConventionVersion", 3, "1.0") ); - NCERR( ncmpi_put_att_text(ncid, NC_GLOBAL, "program", - 6, "LAMMPS") ); - NCERR( ncmpi_put_att_text(ncid, NC_GLOBAL, "programVersion", - strlen(lmp->version), lmp->version) ); + NCERR( ncmpi_put_att_text(ncid, NC_GLOBAL, "program", 6, "LAMMPS") ); + NCERR( ncmpi_put_att_text(ncid, NC_GLOBAL, "programVersion", strlen(lmp->version), lmp->version) ); // units if (!strcmp(update->unit_style, "lj")) { - NCERR( ncmpi_put_att_text(ncid, time_var, NC_UNITS_STR, - 2, "lj") ); - NCERR( ncmpi_put_att_text(ncid, cell_origin_var, NC_UNITS_STR, - 2, "lj") ); - NCERR( ncmpi_put_att_text(ncid, cell_lengths_var, NC_UNITS_STR, - 2, "lj") ); - } - else if (!strcmp(update->unit_style, "real")) { - NCERR( ncmpi_put_att_text(ncid, time_var, NC_UNITS_STR, - 11, "femtosecond") ); - NCERR( ncmpi_put_att_text(ncid, cell_origin_var, NC_UNITS_STR, - 8, "Angstrom") ); - NCERR( ncmpi_put_att_text(ncid, cell_lengths_var, NC_UNITS_STR, - 8, "Angstrom") ); - } - else if (!strcmp(update->unit_style, "metal")) { - NCERR( ncmpi_put_att_text(ncid, time_var, NC_UNITS_STR, - 10, "picosecond") ); - NCERR( ncmpi_put_att_text(ncid, cell_origin_var, NC_UNITS_STR, - 8, "Angstrom") ); - NCERR( ncmpi_put_att_text(ncid, cell_lengths_var, NC_UNITS_STR, - 8, "Angstrom") ); - } - else if (!strcmp(update->unit_style, "si")) { - NCERR( ncmpi_put_att_text(ncid, time_var, NC_UNITS_STR, - 6, "second") ); - NCERR( ncmpi_put_att_text(ncid, cell_origin_var, NC_UNITS_STR, - 5, "meter") ); - NCERR( ncmpi_put_att_text(ncid, cell_lengths_var, NC_UNITS_STR, - 5, "meter") ); - } - else if (!strcmp(update->unit_style, "cgs")) { - NCERR( ncmpi_put_att_text(ncid, time_var, NC_UNITS_STR, - 6, "second") ); - NCERR( ncmpi_put_att_text(ncid, cell_origin_var, NC_UNITS_STR, - 10, "centimeter") ); - NCERR( ncmpi_put_att_text(ncid, cell_lengths_var, NC_UNITS_STR, - 10, "centimeter") ); - } - else if (!strcmp(update->unit_style, "electron")) { - NCERR( ncmpi_put_att_text(ncid, time_var, NC_UNITS_STR, - 11, "femtosecond") ); - NCERR( ncmpi_put_att_text(ncid, cell_origin_var, NC_UNITS_STR, - 4, "Bohr") ); - NCERR( ncmpi_put_att_text(ncid, cell_lengths_var, NC_UNITS_STR, - 4, "Bohr") ); - } - else { - char errstr[1024]; - sprintf(errstr, "Unsupported unit style '%s'", update->unit_style); - error->all(FLERR,errstr); + NCERR( ncmpi_put_att_text(ncid, time_var, NC_UNITS_STR, 2, "lj") ); + NCERR( ncmpi_put_att_text(ncid, cell_origin_var, NC_UNITS_STR, 2, "lj") ); + NCERR( ncmpi_put_att_text(ncid, cell_lengths_var, NC_UNITS_STR, 2, "lj") ); + } else if (!strcmp(update->unit_style, "real")) { + NCERR( ncmpi_put_att_text(ncid, time_var, NC_UNITS_STR, 11, "femtosecond") ); + NCERR( ncmpi_put_att_text(ncid, cell_origin_var, NC_UNITS_STR, 8, "Angstrom") ); + NCERR( ncmpi_put_att_text(ncid, cell_lengths_var, NC_UNITS_STR, 8, "Angstrom") ); + } else if (!strcmp(update->unit_style, "metal")) { + NCERR( ncmpi_put_att_text(ncid, time_var, NC_UNITS_STR, 10, "picosecond") ); + NCERR( ncmpi_put_att_text(ncid, cell_origin_var, NC_UNITS_STR, 8, "Angstrom") ); + NCERR( ncmpi_put_att_text(ncid, cell_lengths_var, NC_UNITS_STR, 8, "Angstrom") ); + } else if (!strcmp(update->unit_style, "si")) { + NCERR( ncmpi_put_att_text(ncid, time_var, NC_UNITS_STR, 6, "second") ); + NCERR( ncmpi_put_att_text(ncid, cell_origin_var, NC_UNITS_STR, 5, "meter") ); + NCERR( ncmpi_put_att_text(ncid, cell_lengths_var, NC_UNITS_STR, 5, "meter") ); + } else if (!strcmp(update->unit_style, "cgs")) { + NCERR( ncmpi_put_att_text(ncid, time_var, NC_UNITS_STR, 6, "second") ); + NCERR( ncmpi_put_att_text(ncid, cell_origin_var, NC_UNITS_STR, 10, "centimeter") ); + NCERR( ncmpi_put_att_text(ncid, cell_lengths_var, NC_UNITS_STR, 10, "centimeter") ); + } else if (!strcmp(update->unit_style, "electron")) { + NCERR( ncmpi_put_att_text(ncid, time_var, NC_UNITS_STR, 11, "femtosecond") ); + NCERR( ncmpi_put_att_text(ncid, cell_origin_var, NC_UNITS_STR, 4, "Bohr") ); + NCERR( ncmpi_put_att_text(ncid, cell_lengths_var, NC_UNITS_STR, 4, "Bohr") ); + } else { + error->all(FLERR,"Unsupported unit style: {}", update->unit_style); } - NCERR( ncmpi_put_att_text(ncid, cell_angles_var, NC_UNITS_STR, - 6, "degree") ); + NCERR( ncmpi_put_att_text(ncid, cell_angles_var, NC_UNITS_STR, 6, "degree") ); d[0] = update->dt; - NCERR( ncmpi_put_att_double(ncid, time_var, NC_SCALE_FACTOR_STR, - NC_DOUBLE, 1, d) ); + NCERR( ncmpi_put_att_double(ncid, time_var, NC_SCALE_FACTOR_STR, NC_DOUBLE, 1, d) ); d[0] = 1.0; - NCERR( ncmpi_put_att_double(ncid, cell_origin_var, NC_SCALE_FACTOR_STR, - NC_DOUBLE, 1, d) ); + NCERR( ncmpi_put_att_double(ncid, cell_origin_var, NC_SCALE_FACTOR_STR, NC_DOUBLE, 1, d) ); d[0] = 1.0; - NCERR( ncmpi_put_att_double(ncid, cell_lengths_var, NC_SCALE_FACTOR_STR, - NC_DOUBLE, 1, d) ); + NCERR( ncmpi_put_att_double(ncid, cell_lengths_var, NC_SCALE_FACTOR_STR, NC_DOUBLE, 1, d) ); /* * Finished with definition @@ -628,23 +542,21 @@ void DumpNetCDFMPIIO::closefile() /* ---------------------------------------------------------------------- */ template -int ncmpi_put_var1_bigint(int ncid, int varid, const MPI_Offset index[], - const T* tp) +int ncmpi_put_var1_bigint(int ncid, int varid, const MPI_Offset index[], const T* tp) { return ncmpi_put_var1_int(ncid, varid, index, tp); } template <> -int ncmpi_put_var1_bigint(int ncid, int varid, const MPI_Offset index[], - const long* tp) +int ncmpi_put_var1_bigint(int ncid, int varid, + const MPI_Offset index[], const long* tp) { return ncmpi_put_var1_long(ncid, varid, index, tp); } template <> int ncmpi_put_var1_bigint(int ncid, int varid, - const MPI_Offset index[], - const long long* tp) + const MPI_Offset index[], const long long* tp) { return ncmpi_put_var1_longlong(ncid, varid, index, tp); } @@ -657,45 +569,36 @@ int ncmpi_put_vara_bigint_all(int ncid, int varid, const MPI_Offset start[], } template <> -int ncmpi_put_vara_bigint_all(int ncid, int varid, - const MPI_Offset start[], +int ncmpi_put_vara_bigint_all(int ncid, int varid, const MPI_Offset start[], const MPI_Offset count[], const long* tp) { return ncmpi_put_vara_long_all(ncid, varid, start, count, tp); } template <> -int ncmpi_put_vara_bigint_all(int ncid, int varid, - const MPI_Offset start[], - const MPI_Offset count[], - const long long* tp) +int ncmpi_put_vara_bigint_all(int ncid, int varid, const MPI_Offset start[], + const MPI_Offset count[], const long long* tp) { return ncmpi_put_vara_longlong_all(ncid, varid, start, count, tp); } template int ncmpi_put_vars_bigint_all(int ncid, int varid, const MPI_Offset start[], - const MPI_Offset count[], - const MPI_Offset stride[], const T* tp) + const MPI_Offset count[], const MPI_Offset stride[], const T* tp) { return ncmpi_put_vars_int_all(ncid, varid, start, count, stride, tp); } template <> -int ncmpi_put_vars_bigint_all(int ncid, int varid, - const MPI_Offset start[], - const MPI_Offset count[], +int ncmpi_put_vars_bigint_all(int ncid, int varid, const MPI_Offset start[], const MPI_Offset count[], const MPI_Offset stride[], const long* tp) { return ncmpi_put_vars_long_all(ncid, varid, start, count, stride, tp); } template <> -int ncmpi_put_vars_bigint_all(int ncid, int varid, - const MPI_Offset start[], - const MPI_Offset count[], - const MPI_Offset stride[], - const long long* tp) +int ncmpi_put_vars_bigint_all(int ncid, int varid, const MPI_Offset start[], const MPI_Offset count[], + const MPI_Offset stride[], const long long* tp) { return ncmpi_put_vars_longlong_all(ncid, varid, start, count, stride, tp); } @@ -723,16 +626,14 @@ void DumpNetCDFMPIIO::write() for (int i = 0; i < th->nfield; i++) { th->call_vfunc(i); if (filewriter) { - if (th->vtype[i] == THERMO_FLOAT) { + if (th->vtype[i] == Thermo::FLOAT) { NCERRX( ncmpi_put_var1_double(ncid, thermovar[i], start, &th->dvalue), th->keyword[i] ); - } - else if (th->vtype[i] == THERMO_INT) { + } else if (th->vtype[i] == Thermo::INT) { NCERRX( ncmpi_put_var1_int(ncid, thermovar[i], start, &th->ivalue), th->keyword[i] ); - } - else if (th->vtype[i] == THERMO_BIGINT) { + } else if (th->vtype[i] == Thermo::BIGINT) { NCERRX( ncmpi_put_var1_bigint(ncid, thermovar[i], start, &th->bivalue), th->keyword[i] ); } @@ -753,7 +654,7 @@ void DumpNetCDFMPIIO::write() MPI_Allgather(&nme, 1, MPI_INT, block_sizes, 1, MPI_INT, world); blocki = 0; for (int i = 0; i < comm->me; i++) blocki += block_sizes[i]; - delete [] block_sizes; + delete[] block_sizes; // insure buf is sized for packing and communicating // use nme to insure filewriter proc can receive info from others @@ -805,8 +706,7 @@ void DumpNetCDFMPIIO::write_time_and_cell() cell_angles[0] = 90; cell_angles[1] = 90; cell_angles[2] = 90; - } - else { + } else { double cosalpha, cosbeta, cosgamma; double *h = domain->h; @@ -839,12 +739,9 @@ void DumpNetCDFMPIIO::write_time_and_cell() count[1] = 3; if (filewriter) { NCERR( ncmpi_put_var1_double(ncid, time_var, start, &time) ); - NCERR( ncmpi_put_vara_double(ncid, cell_origin_var, start, count, - cell_origin) ); - NCERR( ncmpi_put_vara_double(ncid, cell_lengths_var, start, count, - cell_lengths) ); - NCERR( ncmpi_put_vara_double(ncid, cell_angles_var, start, count, - cell_angles) ); + NCERR( ncmpi_put_vara_double(ncid, cell_origin_var, start, count, cell_origin) ); + NCERR( ncmpi_put_vara_double(ncid, cell_lengths_var, start, count, cell_lengths) ); + NCERR( ncmpi_put_vara_double(ncid, cell_angles_var, start, count, cell_angles) ); } } @@ -872,8 +769,7 @@ void DumpNetCDFMPIIO::write_data(int n, double *mybuf) int_buffer = (bigint *) memory->srealloc(int_buffer, n_buffer*sizeof(bigint),"dump::int_buffer"); double_buffer = (double *) - memory->srealloc(double_buffer, n_buffer*sizeof(double), - "dump::double_buffer"); + memory->srealloc(double_buffer, n_buffer*sizeof(double), "dump::double_buffer"); } start[0] = framei-1; @@ -896,14 +792,10 @@ void DumpNetCDFMPIIO::write_data(int n, double *mybuf) for (int i = 0; i < n_perat; i++) { int iaux = perat[i].field[0]; - if (iaux < 0 || iaux >= size_one) { - char errmsg[1024]; - sprintf(errmsg, "Internal error: name = %s, iaux = %i, " - "size_one = %i", perat[i].name, iaux, size_one); - error->one(FLERR,errmsg); - } + if (iaux < 0 || iaux >= size_one) + error->one(FLERR, "Internal error: name = {}, iaux = {}, size_one = {}", perat[i].name, iaux, size_one); - if (vtype[iaux] == DUMP_INT || vtype[iaux] == DUMP_BIGINT) { + if (vtype[iaux] == Dump::INT || vtype[iaux] == Dump::BIGINT) { // integers if (perat[i].dims > 1) { @@ -911,41 +803,31 @@ void DumpNetCDFMPIIO::write_data(int n, double *mybuf) iaux = perat[i].field[idim]; if (iaux >= 0) { - if (iaux >= size_one) { - char errmsg[1024]; - sprintf(errmsg, "Internal error: name = %s, iaux = %i, " - "size_one = %i", perat[i].name, iaux, size_one); - error->one(FLERR,errmsg); - } + if (iaux >= size_one) + error->one(FLERR, "Internal error: name = {}, iaux = {}, size_one = {}", perat[i].name, iaux, size_one); - if (vtype[iaux] == DUMP_INT) { + if (vtype[iaux] == Dump::INT) { for (int j = 0; j < n; j++, iaux+=size_one) { int_buffer[j] = static_cast(mybuf[iaux]); } - } - else { // DUMP_BIGINT + } else { // Dump::BIGINT for (int j = 0; j < n; j++, iaux+=size_one) { int_buffer[j] = static_cast(mybuf[iaux]); } } start[2] = idim; - NCERRX( ncmpi_put_vars_bigint_all(ncid, perat[i].var, start, count, - stride, int_buffer), - perat[i].name ); + NCERRX( ncmpi_put_vars_bigint_all(ncid, perat[i].var, start, count,stride, int_buffer), perat[i].name ); } } - } - else { + } else { for (int j = 0; j < n; j++, iaux+=size_one) { int_buffer[j] = mybuf[iaux]; } - NCERRX( ncmpi_put_vara_bigint_all(ncid, perat[i].var, start, count, - int_buffer), perat[i].name ); + NCERRX( ncmpi_put_vara_bigint_all(ncid, perat[i].var, start, count, int_buffer), perat[i].name ); } - } - else { + } else { // doubles if (perat[i].dims > 1) { @@ -953,12 +835,8 @@ void DumpNetCDFMPIIO::write_data(int n, double *mybuf) iaux = perat[i].field[idim]; if (iaux >= 0) { - if (iaux >= size_one) { - char errmsg[1024]; - sprintf(errmsg, "Internal error: name = %s, iaux = %i, " - "size_one = %i", perat[i].name, iaux, size_one); - error->one(FLERR,errmsg); - } + if (iaux >= size_one) + error->one(FLERR, "Internal error: name = {}, iaux = {}, size_one = {}", perat[i].name, iaux, size_one); for (int j = 0; j < n; j++, iaux+=size_one) { double_buffer[j] = mybuf[iaux]; @@ -969,8 +847,7 @@ void DumpNetCDFMPIIO::write_data(int n, double *mybuf) stride, double_buffer), perat[i].name ); } } - } - else { + } else { for (int j = 0; j < n; j++, iaux+=size_one) { double_buffer[j] = mybuf[iaux]; } @@ -993,15 +870,12 @@ int DumpNetCDFMPIIO::modify_param(int narg, char **arg) error->all(FLERR,"expected 'yes' or 'no' after 'double' keyword."); if (strcmp(arg[iarg],"yes") == 0) { double_precision = true; - } - else if (strcmp(arg[iarg],"no") == 0) { + } else if (strcmp(arg[iarg],"no") == 0) { double_precision = false; - } - else error->all(FLERR,"expected 'yes' or 'no' after 'double' keyword."); + } else error->all(FLERR,"expected 'yes' or 'no' after 'double' keyword."); iarg++; return 2; - } - else if (strcmp(arg[iarg],"at") == 0) { + } else if (strcmp(arg[iarg],"at") == 0) { iarg++; if (iarg >= narg) error->all(FLERR,"expected additional arg after 'at' keyword."); @@ -1010,18 +884,15 @@ int DumpNetCDFMPIIO::modify_param(int narg, char **arg) else if (framei < 0) framei--; iarg++; return 2; - } - else if (strcmp(arg[iarg],"thermo") == 0) { + } else if (strcmp(arg[iarg],"thermo") == 0) { iarg++; if (iarg >= narg) error->all(FLERR,"expected 'yes' or 'no' after 'thermo' keyword."); if (strcmp(arg[iarg],"yes") == 0) { thermo = true; - } - else if (strcmp(arg[iarg],"no") == 0) { + } else if (strcmp(arg[iarg],"no") == 0) { thermo = false; - } - else error->all(FLERR,"expected 'yes' or 'no' after 'thermo' keyword."); + } else error->all(FLERR,"expected 'yes' or 'no' after 'thermo' keyword."); iarg++; return 2; } else return 0; @@ -1032,16 +903,10 @@ int DumpNetCDFMPIIO::modify_param(int narg, char **arg) void DumpNetCDFMPIIO::ncerr(int err, const char *descr, int line) { if (err != NC_NOERR) { - char errstr[1024]; - if (descr) { - sprintf(errstr, "NetCDF failed with error '%s' (while accessing '%s') " - " in line %i of %s.", ncmpi_strerror(err), descr, line, __FILE__); - } - else { - sprintf(errstr, "NetCDF failed with error '%s' in line %i of %s.", - ncmpi_strerror(err), line, __FILE__); - } - error->one(FLERR,errstr); + if (descr) error->one(FLERR,"NetCDF failed with error '{}' (while accessing '{}') " + " in line {} of {}.", ncmpi_strerror(err), descr, line, __FILE__); + else error->one(FLERR,"NetCDF failed with error '{}' in line {} of {}.", + ncmpi_strerror(err), line, __FILE__); } } From 8460d67eb200cb26ab335a85c84e557952cf3c6c Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 19 Jul 2021 00:25:00 -0400 Subject: [PATCH 458/726] update embedded documentation to correctly describe the functionality --- src/library.cpp | 30 ++++++++++++++++++++---------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/src/library.cpp b/src/library.cpp index 167c0c39b5..a6e4509c56 100644 --- a/src/library.cpp +++ b/src/library.cpp @@ -4914,7 +4914,9 @@ double **lammps_fix_external_get_force(void *handle, const char *id) This is a companion function to :cpp:func:`lammps_set_fix_external_callback` and :cpp:func:`lammps_fix_external_get_force` to also set the contribution -to the global energy from the external code. +to the global energy from the external code. The value of the *eng* +argument will be stored in the fix and applied on the current and all +following timesteps until changed. Please see the documentation for :doc:`fix external ` for more information about how to use the fix and how to couple it with an @@ -4951,9 +4953,11 @@ void lammps_fix_external_set_energy_global(void *handle, const char *id, double \verbatim embed:rst -This is a companion function to :cpp:func:`lammps_set_fix_external_callback` and -:cpp:func:`lammps_fix_external_get_force` to also set the contribution -to the global virial from the external code. +This is a companion function to :cpp:func:`lammps_set_fix_external_callback` +to set the contribution to the global virial from the external code +as part of the callback function. For this to work, the handle to the +LAMMPS object must be passed as the *ptr* argument when registering the +callback function. Please see the documentation for :doc:`fix external ` for more information about how to use the fix and how to couple it with an @@ -4990,9 +4994,12 @@ void lammps_fix_external_set_virial_global(void *handle, const char *id, double \verbatim embed:rst -This is a companion function to :cpp:func:`lammps_set_fix_external_callback` and -:cpp:func:`lammps_fix_external_get_force` to also set the contribution -to the per-atom energy from the external code. +This is a companion function to :cpp:func:`lammps_set_fix_external_callback` +to set the per-atom energy contribution due to the fix from the external code +as part of the callback function. For this to work, the handle to the +LAMMPS object must be passed as the *ptr* argument when registering the +callback function. No check is made whether the sum of the +contributions are consistent with any global added energy. Please see the documentation for :doc:`fix external ` for more information about how to use the fix and how to couple it with an @@ -5029,9 +5036,12 @@ void lammps_fix_external_set_energy_peratom(void *handle, const char *id, double \verbatim embed:rst -This is a companion function to :cpp:func:`lammps_set_fix_external_callback` and -:cpp:func:`lammps_fix_external_get_force` to also set the contribution -to the per-atom virial from the external code. +This is a companion function to :cpp:func:`lammps_set_fix_external_callback` +to set the per-atom virial contribution due to the fix from the external code +as part of the callback function. For this to work, the handle to the +LAMMPS object must be passed as the *ptr* argument when registering the +callback function. No check is made whether the sum of the +contributions are consistent with any globally added virial components. Please see the documentation for :doc:`fix external ` for more information about how to use the fix and how to couple it with an From 1c4e8aba122e5d792788464bf5f88988aa91f348 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 19 Jul 2021 00:29:27 -0400 Subject: [PATCH 459/726] add tests for per-atom values, global energy with pf/array mode --- unittest/c-library/test_library_external.cpp | 45 +++++++++++++++++--- unittest/python/python-fix-external.py | 10 +++-- 2 files changed, 47 insertions(+), 8 deletions(-) diff --git a/unittest/c-library/test_library_external.cpp b/unittest/c-library/test_library_external.cpp index d44f3ff2ee..8acb7a43f4 100644 --- a/unittest/c-library/test_library_external.cpp +++ b/unittest/c-library/test_library_external.cpp @@ -24,7 +24,7 @@ typedef int32_t tag_t; typedef int64_t step_t; typedef int64_t tag_t; #endif -static void callback_one(void *handle, step_t timestep, int nlocal, tag_t *, double **, double **f) +static void callback(void *handle, step_t timestep, int nlocal, tag_t *, double **, double **f) { for (int i = 0; i < nlocal; ++i) f[i][0] = f[i][1] = f[i][2] = (double)timestep; @@ -42,6 +42,23 @@ static void callback_one(void *handle, step_t timestep, int nlocal, tag_t *, dou lammps_fix_external_set_vector(handle, "ext", 5, -1.0); lammps_fix_external_set_vector(handle, "ext", 6, 0.25); } + double *eatom = new double[nlocal]; + double **vatom = new double *[nlocal]; + vatom[0] = new double[nlocal * 6]; + eatom[0] = 0.0; + vatom[0][0] = vatom[0][1] = vatom[0][2] = vatom[0][3] = vatom[0][4] = vatom[0][5] = 0.0; + + for (int i = 1; i < nlocal; ++i) { + eatom[i] = 0.1 * i; + vatom[i] = vatom[0] + 6 * i; + vatom[i][0] = vatom[i][1] = vatom[i][2] = 0.1; + vatom[i][3] = vatom[i][4] = vatom[i][5] = -0.2; + } + lammps_fix_external_set_energy_peratom(handle, "ext", eatom); + lammps_fix_external_set_virial_peratom(handle, "ext", vatom); + delete[] eatom; + delete[] vatom[0]; + delete[] vatom; } } @@ -67,7 +84,10 @@ TEST(lammps_external, callback) "velocity all set 0.1 0.0 -0.1\n" "fix 1 all nve\n" "fix ext all external pf/callback 5 1\n" - "thermo_style custom step temp pe ke etotal press\n" + "compute eatm all pe/atom fix\n" + "compute vatm all stress/atom NULL fix\n" + "compute sum all reduce sum c_eatm c_vatm[*]\n" + "thermo_style custom step temp pe ke etotal press c_sum[*]\n" "thermo 5\n" "fix_modify ext energy yes virial yes\n"); lammps_fix_external_set_vector_length(handle, "ext", 6); @@ -75,7 +95,7 @@ TEST(lammps_external, callback) if (verbose) std::cout << output; ::testing::internal::CaptureStdout(); - lammps_set_fix_external_callback(handle, "ext", &callback_one, handle); + lammps_set_fix_external_callback(handle, "ext", &callback, handle); lammps_command(handle, "run 10 post no"); double temp = lammps_get_thermo(handle, "temp"); double pe = lammps_get_thermo(handle, "pe"); @@ -87,12 +107,21 @@ TEST(lammps_external, callback) val += *valp; lammps_free(valp); } + double *reduce = + (double *)lammps_extract_compute(handle, "sum", LMP_STYLE_GLOBAL, LMP_TYPE_VECTOR); output = ::testing::internal::GetCapturedStdout(); if (verbose) std::cout << output; EXPECT_DOUBLE_EQ(temp, 1.0 / 30.0); EXPECT_DOUBLE_EQ(pe, 1.0 / 8.0); EXPECT_DOUBLE_EQ(press, 0.15416666666666667); EXPECT_DOUBLE_EQ(val, 15); + EXPECT_DOUBLE_EQ(reduce[0], 2.8); + EXPECT_DOUBLE_EQ(reduce[1], -0.7); + EXPECT_DOUBLE_EQ(reduce[2], -0.7); + EXPECT_DOUBLE_EQ(reduce[3], -0.7); + EXPECT_DOUBLE_EQ(reduce[4], 1.4); + EXPECT_DOUBLE_EQ(reduce[5], 1.4); + EXPECT_DOUBLE_EQ(reduce[6], 1.4); ::testing::internal::CaptureStdout(); lammps_close(handle); @@ -120,9 +149,9 @@ TEST(lammps_external, array) "pair_style zero 0.1\n" "pair_coeff 1 1\n" "velocity all set 0.1 0.0 -0.1\n" - "thermo 5\n" "fix 1 all nve\n" - "fix ext all external pf/array 1\n"); + "fix ext all external pf/array 1\n" + "thermo 5\n"); output = ::testing::internal::GetCapturedStdout(); if (verbose) std::cout << output; @@ -132,22 +161,28 @@ TEST(lammps_external, array) int nlocal = lammps_extract_setting(handle, "nlocal"); for (int i = 0; i < nlocal; ++i) force[i][0] = force[i][1] = force[i][2] = 0.0; + lammps_fix_external_set_energy_global(handle, "ext", 0.5); lammps_command(handle, "run 5 post no"); double temp = lammps_get_thermo(handle, "temp"); + double pe = lammps_get_thermo(handle, "pe"); output = ::testing::internal::GetCapturedStdout(); if (verbose) std::cout << output; EXPECT_DOUBLE_EQ(temp, 4.0 / 525.0); + EXPECT_DOUBLE_EQ(pe, 1.0 / 16.0); ::testing::internal::CaptureStdout(); nlocal = lammps_extract_setting(handle, "nlocal"); force = lammps_fix_external_get_force(handle, "ext"); for (int i = 0; i < nlocal; ++i) force[i][0] = force[i][1] = force[i][2] = 6.0; + lammps_fix_external_set_energy_global(handle, "ext", 1.0); lammps_command(handle, "run 5 post no"); temp = lammps_get_thermo(handle, "temp"); + pe = lammps_get_thermo(handle, "pe"); output = ::testing::internal::GetCapturedStdout(); if (verbose) std::cout << output; EXPECT_DOUBLE_EQ(temp, 1.0 / 30.0); + EXPECT_DOUBLE_EQ(pe, 1.0 / 8.0); ::testing::internal::CaptureStdout(); lammps_close(handle); diff --git a/unittest/python/python-fix-external.py b/unittest/python/python-fix-external.py index 1b46943b5a..e1c511d480 100644 --- a/unittest/python/python-fix-external.py +++ b/unittest/python/python-fix-external.py @@ -4,8 +4,7 @@ from lammps import lammps, LMP_STYLE_GLOBAL, LMP_TYPE_VECTOR # add timestep dependent force def callback_one(lmp, ntimestep, nlocal, tag, x, f): - virial = [1.0, 1.0, 1.0, 0.0, 0.0, 0.0] - lmp.fix_external_set_virial_global("ext",virial) + lmp.fix_external_set_virial_global("ext",[1.0, 1.0, 1.0, 0.0, 0.0, 0.0]) for i in range(nlocal): f[i][0] = float(ntimestep) f[i][1] = float(ntimestep) @@ -74,9 +73,10 @@ class PythonExternal(unittest.TestCase): pair_style zero 0.1 pair_coeff 1 1 velocity all set 0.1 0.0 -0.1 - thermo 5 fix 1 all nve fix ext all external pf/array 1 + thermo_style custom step temp pe ke + thermo 5 """ lmp.commands_string(basic_system) force = lmp.fix_external_get_force("ext"); @@ -85,9 +85,11 @@ class PythonExternal(unittest.TestCase): force[i][0] = 0.0 force[i][1] = 0.0 force[i][2] = 0.0 + lmp.fix_external_set_energy_global("ext", 0.5) lmp.command("run 5 post no") self.assertAlmostEqual(lmp.get_thermo("temp"),4.0/525.0,14) + self.assertAlmostEqual(lmp.get_thermo("pe"),1.0/16.0,14) force = lmp.fix_external_get_force("ext"); nlocal = lmp.extract_setting("nlocal"); @@ -95,8 +97,10 @@ class PythonExternal(unittest.TestCase): force[i][0] = 6.0 force[i][1] = 6.0 force[i][2] = 6.0 + lmp.fix_external_set_energy_global("ext", 1.0) lmp.command("run 5 post no") self.assertAlmostEqual(lmp.get_thermo("temp"),1.0/30.0,14) + self.assertAlmostEqual(lmp.get_thermo("pe"),1.0/8.0,14) ############################## if __name__ == "__main__": From b03f25a6504575089de7a496eb0c89af341ea777 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 19 Jul 2021 01:02:06 -0400 Subject: [PATCH 460/726] simplify --- src/write_restart.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/write_restart.cpp b/src/write_restart.cpp index 3624bf0332..ddae269933 100644 --- a/src/write_restart.cpp +++ b/src/write_restart.cpp @@ -610,8 +610,8 @@ void WriteRestart::file_layout(int send_size) void WriteRestart::magic_string() { - std::string magic = MAGIC_STRING; - fwrite(magic.c_str(),sizeof(char),magic.size()+1,fp); + const char magic[] = MAGIC_STRING; + fwrite(magic,sizeof(char),strlen(magic)+1,fp); } /* ---------------------------------------------------------------------- */ From 0cb09786b6291b983bccb40af78c485e204fbc9b Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 19 Jul 2021 01:02:52 -0400 Subject: [PATCH 461/726] need to make this functions virtual since they are overridded by morse/soft --- src/pair_morse.h | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/src/pair_morse.h b/src/pair_morse.h index 56854b020e..a85c47df8c 100644 --- a/src/pair_morse.h +++ b/src/pair_morse.h @@ -30,17 +30,17 @@ class PairMorse : public Pair { virtual ~PairMorse(); virtual void compute(int, int); - void settings(int, char **); - void coeff(int, char **); - double init_one(int, int); - void write_restart(FILE *); - void read_restart(FILE *); - void write_restart_settings(FILE *); - void read_restart_settings(FILE *); - void write_data(FILE *); - void write_data_all(FILE *); - double single(int, int, int, int, double, double, double, double &); - void *extract(const char *, int &); + virtual void settings(int, char **); + virtual void coeff(int, char **); + virtual double init_one(int, int); + virtual void write_restart(FILE *); + virtual void read_restart(FILE *); + virtual void write_restart_settings(FILE *); + virtual void read_restart_settings(FILE *); + virtual void write_data(FILE *); + virtual void write_data_all(FILE *); + virtual double single(int, int, int, int, double, double, double, double &); + virtual void *extract(const char *, int &); protected: double cut_global; From f247a2aedfa66ab65b2c14471e71ed32b59c1740 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 19 Jul 2021 01:04:35 -0400 Subject: [PATCH 462/726] fix issues with pair style more/soft and reformat --- src/FEP/pair_morse_soft.cpp | 13 +++++++------ src/FEP/pair_morse_soft.h | 11 ++++++----- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/src/FEP/pair_morse_soft.cpp b/src/FEP/pair_morse_soft.cpp index 2e228ef2ca..db7c4eca6c 100644 --- a/src/FEP/pair_morse_soft.cpp +++ b/src/FEP/pair_morse_soft.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -14,8 +13,6 @@ #include "pair_morse_soft.h" -#include -#include #include "atom.h" #include "comm.h" #include "force.h" @@ -24,6 +21,8 @@ #include "math_special.h" #include "error.h" +#include +#include using namespace LAMMPS_NS; using namespace MathSpecial; @@ -165,7 +164,6 @@ void PairMorseSoft::allocate() PairMorse::allocate(); int n = atom->ntypes; memory->create(lambda,n+1,n+1,"pair:lambda"); - } /* ---------------------------------------------------------------------- @@ -344,6 +342,7 @@ void PairMorseSoft::write_restart_settings(FILE *fp) fwrite(&shift_range,sizeof(double),1,fp); fwrite(&cut_global,sizeof(double),1,fp); fwrite(&offset_flag,sizeof(int),1,fp); + fwrite(&mix_flag,sizeof(int),1,fp); } /* ---------------------------------------------------------------------- @@ -358,11 +357,13 @@ void PairMorseSoft::read_restart_settings(FILE *fp) utils::sfread(FLERR,&shift_range,sizeof(double),1,fp,nullptr,error); utils::sfread(FLERR,&cut_global,sizeof(double),1,fp,nullptr,error); utils::sfread(FLERR,&offset_flag,sizeof(int),1,fp,nullptr,error); + utils::sfread(FLERR,&mix_flag,sizeof(int),1,fp,nullptr,error); } MPI_Bcast(&nlambda,1,MPI_DOUBLE,0,world); MPI_Bcast(&shift_range,1,MPI_DOUBLE,0,world); MPI_Bcast(&cut_global,1,MPI_DOUBLE,0,world); MPI_Bcast(&offset_flag,1,MPI_INT,0,world); + MPI_Bcast(&mix_flag,1,MPI_INT,0,world); } @@ -385,8 +386,8 @@ void PairMorseSoft::write_data_all(FILE *fp) { for (int i = 1; i <= atom->ntypes; i++) for (int j = i; j <= atom->ntypes; j++) - fprintf(fp,"%d %g %g %g %g\n",i,d0[i][j],alpha[i][j],r0[i][j], - lambda[i][j]); + fprintf(fp,"%d %d %g %g %g %g %g\n",i,j,d0[i][j],alpha[i][j],r0[i][j], + lambda[i][j],cut[i][j]); } /* ---------------------------------------------------------------------- */ diff --git a/src/FEP/pair_morse_soft.h b/src/FEP/pair_morse_soft.h index e15658bfc0..f6ec254a44 100644 --- a/src/FEP/pair_morse_soft.h +++ b/src/FEP/pair_morse_soft.h @@ -29,7 +29,8 @@ namespace LAMMPS_NS { class PairMorseSoft : public PairMorse { public: - PairMorseSoft(class LAMMPS *lmp) : PairMorse(lmp), lambda(nullptr){}; + PairMorseSoft(class LAMMPS *lmp) : + PairMorse(lmp), lambda(nullptr), nlambda(0), shift_range(1.0){}; virtual ~PairMorseSoft(); virtual void compute(int, int); @@ -41,10 +42,10 @@ class PairMorseSoft : public PairMorse { virtual void write_restart_settings(FILE *); virtual void read_restart_settings(FILE *); - void write_data(FILE *); - void write_data_all(FILE *); + virtual void write_data(FILE *); + virtual void write_data_all(FILE *); virtual double single(int, int, int, int, double, double, double, double &); - void *extract(const char *, int &); + virtual void *extract(const char *, int &); protected: double **lambda; @@ -52,7 +53,7 @@ class PairMorseSoft : public PairMorse { int nlambda; double shift_range; - void allocate(); + virtual void allocate(); }; } // namespace LAMMPS_NS From 15b3b6445ea76be55149de79b7a05a01c6e41dd6 Mon Sep 17 00:00:00 2001 From: Oliver Henrich Date: Mon, 19 Jul 2021 11:22:06 +0100 Subject: [PATCH 463/726] Updated tests and documentation, added warning message --- doc/src/bond_oxdna.rst | 11 +- examples/PACKAGES/cgdna/README | 8 + .../cgdna/examples/oxDNA/duplex1/in.duplex1 | 3 +- .../oxDNA/duplex1/log.27May21.duplex1.g++.1 | 1170 --------------- .../oxDNA/duplex1/log.27May21.duplex1.g++.4 | 1170 --------------- .../oxDNA/duplex1/log.2Jul21.duplex1.g++.1 | 1171 +++++++++++++++ .../oxDNA/duplex1/log.2Jul21.duplex1.g++.4 | 1171 +++++++++++++++ .../cgdna/examples/oxDNA/duplex2/in.duplex2 | 3 +- .../oxDNA/duplex2/log.27May21.duplex2.g++.1 | 1172 --------------- .../oxDNA/duplex2/log.27May21.duplex2.g++.4 | 1172 --------------- .../oxDNA/duplex2/log.2Jul21.duplex2.g++.1 | 1173 +++++++++++++++ .../oxDNA/duplex2/log.2Jul21.duplex2.g++.4 | 1173 +++++++++++++++ .../cgdna/examples/oxDNA2/dsring/in.dsring | 4 +- .../oxDNA2/dsring/log.2Jul21.dsring.g++.1 | 238 +-- .../oxDNA2/dsring/log.2Jul21.dsring.g++.4 | 238 +-- .../cgdna/examples/oxDNA2/duplex1/in.duplex1 | 3 +- .../oxDNA2/duplex1/log.27May21.duplex1.g++.1 | 1180 --------------- .../oxDNA2/duplex1/log.27May21.duplex1.g++.4 | 1180 --------------- .../oxDNA2/duplex1/log.2Jul21.duplex1.g++.1 | 1181 +++++++++++++++ .../oxDNA2/duplex1/log.2Jul21.duplex1.g++.4 | 1181 +++++++++++++++ .../cgdna/examples/oxDNA2/duplex2/in.duplex2 | 3 +- .../oxDNA2/duplex2/log.27May21.duplex2.g++.1 | 1182 --------------- .../oxDNA2/duplex2/log.27May21.duplex2.g++.4 | 1182 --------------- .../oxDNA2/duplex2/log.2Jul21.duplex2.g++.1 | 1183 +++++++++++++++ .../oxDNA2/duplex2/log.2Jul21.duplex2.g++.4 | 1183 +++++++++++++++ .../cgdna/examples/oxDNA2/duplex3/in.duplex3 | 3 +- .../oxDNA2/duplex3/log.27May21.duplex3.g++.1 | 1180 --------------- .../oxDNA2/duplex3/log.27May21.duplex3.g++.4 | 1180 --------------- .../oxDNA2/duplex3/log.2Jul21.duplex3.g++.1 | 1181 +++++++++++++++ .../oxDNA2/duplex3/log.2Jul21.duplex3.g++.4 | 1181 +++++++++++++++ .../oxDNA2/unique_bp/in.duplex4.4type | 3 +- .../oxDNA2/unique_bp/in.duplex4.8type | 3 +- .../unique_bp/log.27May21.duplex4.4type.g++1 | 1229 ---------------- .../unique_bp/log.27May21.duplex4.4type.g++4 | 1229 ---------------- .../unique_bp/log.27May21.duplex4.8type.g++1 | 1271 ---------------- .../unique_bp/log.27May21.duplex4.8type.g++4 | 1271 ---------------- .../unique_bp/log.2Jul21.duplex4.4type.g++.1 | 1230 ++++++++++++++++ .../unique_bp/log.2Jul21.duplex4.4type.g++.4 | 1230 ++++++++++++++++ .../unique_bp/log.2Jul21.duplex4.8type.g++.1 | 1272 +++++++++++++++++ .../unique_bp/log.2Jul21.duplex4.8type.g++.4 | 1272 +++++++++++++++++ .../cgdna/examples/oxRNA2/duplex2/in.duplex2 | 3 +- .../oxRNA2/duplex2/log.27May21.duplex2.g++.1 | 1181 --------------- .../oxRNA2/duplex2/log.27May21.duplex2.g++.4 | 1181 --------------- .../oxRNA2/duplex2/log.2Jul21.duplex2.g++.1 | 1182 +++++++++++++++ .../oxRNA2/duplex2/log.2Jul21.duplex2.g++.4 | 1182 +++++++++++++++ examples/PACKAGES/cgdna/examples/test.sh | 232 +++ src/CG-DNA/atom_vec_oxdna.cpp | 7 + 47 files changed, 19656 insertions(+), 19382 deletions(-) delete mode 100644 examples/PACKAGES/cgdna/examples/oxDNA/duplex1/log.27May21.duplex1.g++.1 delete mode 100644 examples/PACKAGES/cgdna/examples/oxDNA/duplex1/log.27May21.duplex1.g++.4 create mode 100644 examples/PACKAGES/cgdna/examples/oxDNA/duplex1/log.2Jul21.duplex1.g++.1 create mode 100644 examples/PACKAGES/cgdna/examples/oxDNA/duplex1/log.2Jul21.duplex1.g++.4 delete mode 100644 examples/PACKAGES/cgdna/examples/oxDNA/duplex2/log.27May21.duplex2.g++.1 delete mode 100644 examples/PACKAGES/cgdna/examples/oxDNA/duplex2/log.27May21.duplex2.g++.4 create mode 100644 examples/PACKAGES/cgdna/examples/oxDNA/duplex2/log.2Jul21.duplex2.g++.1 create mode 100644 examples/PACKAGES/cgdna/examples/oxDNA/duplex2/log.2Jul21.duplex2.g++.4 delete mode 100644 examples/PACKAGES/cgdna/examples/oxDNA2/duplex1/log.27May21.duplex1.g++.1 delete mode 100644 examples/PACKAGES/cgdna/examples/oxDNA2/duplex1/log.27May21.duplex1.g++.4 create mode 100644 examples/PACKAGES/cgdna/examples/oxDNA2/duplex1/log.2Jul21.duplex1.g++.1 create mode 100644 examples/PACKAGES/cgdna/examples/oxDNA2/duplex1/log.2Jul21.duplex1.g++.4 delete mode 100644 examples/PACKAGES/cgdna/examples/oxDNA2/duplex2/log.27May21.duplex2.g++.1 delete mode 100644 examples/PACKAGES/cgdna/examples/oxDNA2/duplex2/log.27May21.duplex2.g++.4 create mode 100644 examples/PACKAGES/cgdna/examples/oxDNA2/duplex2/log.2Jul21.duplex2.g++.1 create mode 100644 examples/PACKAGES/cgdna/examples/oxDNA2/duplex2/log.2Jul21.duplex2.g++.4 delete mode 100644 examples/PACKAGES/cgdna/examples/oxDNA2/duplex3/log.27May21.duplex3.g++.1 delete mode 100644 examples/PACKAGES/cgdna/examples/oxDNA2/duplex3/log.27May21.duplex3.g++.4 create mode 100644 examples/PACKAGES/cgdna/examples/oxDNA2/duplex3/log.2Jul21.duplex3.g++.1 create mode 100644 examples/PACKAGES/cgdna/examples/oxDNA2/duplex3/log.2Jul21.duplex3.g++.4 delete mode 100644 examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.27May21.duplex4.4type.g++1 delete mode 100644 examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.27May21.duplex4.4type.g++4 delete mode 100644 examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.27May21.duplex4.8type.g++1 delete mode 100644 examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.27May21.duplex4.8type.g++4 create mode 100644 examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.2Jul21.duplex4.4type.g++.1 create mode 100644 examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.2Jul21.duplex4.4type.g++.4 create mode 100644 examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.2Jul21.duplex4.8type.g++.1 create mode 100644 examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.2Jul21.duplex4.8type.g++.4 delete mode 100644 examples/PACKAGES/cgdna/examples/oxRNA2/duplex2/log.27May21.duplex2.g++.1 delete mode 100644 examples/PACKAGES/cgdna/examples/oxRNA2/duplex2/log.27May21.duplex2.g++.4 create mode 100644 examples/PACKAGES/cgdna/examples/oxRNA2/duplex2/log.2Jul21.duplex2.g++.1 create mode 100644 examples/PACKAGES/cgdna/examples/oxRNA2/duplex2/log.2Jul21.duplex2.g++.4 create mode 100755 examples/PACKAGES/cgdna/examples/test.sh diff --git a/doc/src/bond_oxdna.rst b/doc/src/bond_oxdna.rst index d11a0e54b9..f218b24ff0 100644 --- a/doc/src/bond_oxdna.rst +++ b/doc/src/bond_oxdna.rst @@ -86,12 +86,11 @@ commands: .. warning:: - LAMMPS has per se no concept of bond directionality. This means the bond definition - (i.e. the sequence of atom IDs) in data files produced with :doc:`write_data ` - can be different from the one provided in your initial data file. If this is the case, - then the correct 3' to 5' polarity needs to be restored before using the data file. - This limitation does not apply to binary restart files produced with - :doc:`write_restart `. + If data files are produced with :doc:`write_data `, then the + :doc:`newton ` command should be set to *newton on* or *newton off on*. + Otherwise the data files will not have the same 3' to 5' polarity as the + initial data file. This limitation does not apply to binary restart files + produced with :doc:`write_restart `. Example input and data files for DNA and RNA duplexes can be found in examples/PACKAGES/cgdna/examples/oxDNA/ , /oxDNA2/ and /oxRNA2/. A simple python diff --git a/examples/PACKAGES/cgdna/README b/examples/PACKAGES/cgdna/README index 9ad170b639..949dda91af 100644 --- a/examples/PACKAGES/cgdna/README +++ b/examples/PACKAGES/cgdna/README @@ -72,6 +72,14 @@ between two individual nucleotides can be established. /******************************************************************************/ +/examples/oxDNA2/dsring: + +This example uses a dsDNA ring of 74 base pairs. The bonds which close the ring +are (in 3' to 5' direction) between nucleotide 74 and 1 and between nucleotide +148 and 75, respectively. + +/******************************************************************************/ + /examples/oxRNA2/duplex2 This example uses the duplex2 with the oxRNA2 force field instead of oxDNA or diff --git a/examples/PACKAGES/cgdna/examples/oxDNA/duplex1/in.duplex1 b/examples/PACKAGES/cgdna/examples/oxDNA/duplex1/in.duplex1 index fcddbf51ba..f0ca98c59f 100644 --- a/examples/PACKAGES/cgdna/examples/oxDNA/duplex1/in.duplex1 +++ b/examples/PACKAGES/cgdna/examples/oxDNA/duplex1/in.duplex1 @@ -7,7 +7,7 @@ units lj dimension 3 -newton off +newton on boundary p p p @@ -67,3 +67,4 @@ dump_modify out format line "%d %d %d %22.15le %22.15le %22.15le %d %d %d %22 run 1000000 write_data last_config.${number}.* nocoeff +#write_restart last_config.${number}.* diff --git a/examples/PACKAGES/cgdna/examples/oxDNA/duplex1/log.27May21.duplex1.g++.1 b/examples/PACKAGES/cgdna/examples/oxDNA/duplex1/log.27May21.duplex1.g++.1 deleted file mode 100644 index 7d5af6aec3..0000000000 --- a/examples/PACKAGES/cgdna/examples/oxDNA/duplex1/log.27May21.duplex1.g++.1 +++ /dev/null @@ -1,1170 +0,0 @@ -LAMMPS (27 May 2021) -variable number equal 1 -variable ofreq equal 1000 -variable efreq equal 1000 -variable T equal 0.1 - -units lj - -dimension 3 - -newton off - -boundary p p p - -atom_style hybrid bond ellipsoid oxdna -WARNING: Atom style hybrid defines both, per-type and per-atom masses; both must be set, but only per-atom masses will be used (../atom_vec_hybrid.cpp:157) -atom_modify sort 0 1.0 - -# Pair interactions require lists of neighbours to be calculated -neighbor 2.0 bin -neigh_modify every 1 delay 0 check yes - -read_data data.duplex1 -Reading data file ... - orthogonal box = (-20.000000 -20.000000 -20.000000) to (20.000000 20.000000 20.000000) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 10 atoms - reading velocities ... - 10 velocities - scanning bonds ... - 2 = max bonds/atom - 10 ellipsoids - reading bonds ... - 8 bonds -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 - 2 = max # of 1-3 neighbors - 2 = max # of 1-4 neighbors - 4 = max # of special neighbors - special bonds CPU = 0.000 seconds - read_data CPU = 0.002 seconds - -set atom * mass 3.1575 -Setting atom values ... - 10 settings made for mass - -group all type 1 4 -10 atoms in group all - -# oxDNA bond interactions - FENE backbone -bond_style oxdna/fene -bond_coeff * 2.0 0.25 0.7525 -special_bonds lj 0 1 1 -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 1 1 - special bond factors coul: 0 0 0 - 2 = max # of 1-2 neighbors - 2 = max # of 1-3 neighbors - 2 = max # of 1-4 neighbors - 4 = max # of special neighbors - special bonds CPU = 0.000 seconds - -# oxDNA pair interactions -pair_style hybrid/overlay oxdna/excv oxdna/stk oxdna/hbond oxdna/xstk oxdna/coaxstk -pair_coeff * * oxdna/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32 -pair_coeff * * oxdna/stk seqav ${T} 1.3448 2.6568 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 -pair_coeff * * oxdna/stk seqav 0.1 1.3448 2.6568 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 -pair_coeff * * oxdna/hbond seqav 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 1 4 oxdna/hbond seqav 1.077 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 2 3 oxdna/hbond seqav 1.077 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff * * oxdna/xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68 -pair_coeff * * oxdna/coaxstk 46.0 0.4 0.6 0.22 0.58 2.0 2.541592653589793 0.65 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 -0.65 2.0 -0.65 - -# NVE ensemble -fix 1 all nve/asphere -#fix 2 all langevin ${T} ${T} 2.5 457145 angmom 10 - -timestep 1e-5 - -#comm_style tiled -fix 3 all balance 1000 1.03 shift xyz 10 1.03 -comm_modify cutoff 3.8 - -compute quat all property/atom quatw quati quatj quatk - -compute erot all erotate/asphere -compute ekin all ke -compute epot all pe -variable erot equal c_erot -variable ekin equal c_ekin -variable epot equal c_epot -variable etot equal c_erot+c_ekin+c_epot -fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes -fix 5 all print 1000 "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes - -dump out all custom ${ofreq} out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz -dump out all custom 1000 out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz -dump out all custom 1000 out.1.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz -dump_modify out sort id -dump_modify out format line "%d %d %d %22.15le %22.15le %22.15le %d %d %d %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le" - -run 1000000 -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.9560004 - ghost atom cutoff = 3.8 - binsize = 1.4780002, bins = 28 28 28 - 4 neighbor lists, perpetual/occasional/extra = 4 0 0 - (1) pair oxdna/excv, perpetual - attributes: half, newton off - pair build: half/bin/newtoff - stencil: full/bin/3d - bin: standard - (2) pair oxdna/hbond, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (3) pair oxdna/xstk, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (4) pair oxdna/coaxstk, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none -0 ekin = 1.10853632272819 | erot = 2.81573649976629 | epot = -13.0576219534369 | etot = -9.13334913094246 -Per MPI rank memory allocation (min/avg/max) = 9.199 | 9.199 | 9.199 Mbytes -Step Temp E_pair E_mol TotEng Press Volume - 0 0.082113802 -1.3488546 0.043092397 -1.1949086 -4.6816211e-05 64000 -1000 ekin = 1.08024346604046 | erot = 2.90873406534668 | epot = -13.1223266626202 | etot = -9.13334913123307 -2000 ekin = 1.05028450914437 | erot = 2.98006324808558 | epot = -13.1636968886591 | etot = -9.13334913142915 -3000 ekin = 1.01964458529397 | erot = 3.02592193798632 | epot = -13.1789156547658 | etot = -9.13334913148547 -4000 ekin = 0.989515033089539 | erot = 3.04428486059471 | epot = -13.1671490250724 | etot = -9.13334913138813 -5000 ekin = 0.961283929687833 | erot = 3.03510855539557 | epot = -13.1297416162282 | etot = -9.13334913114481 -6000 ekin = 0.936412193404256 | erot = 3.00022299571975 | epot = -13.0699843199583 | etot = -9.13334913083425 -7000 ekin = 0.916233699107968 | erot = 2.9427713444016 | epot = -12.9923541739966 | etot = -9.13334913048708 -8000 ekin = 0.901760662506268 | erot = 2.86671228744165 | epot = -12.9018220800865 | etot = -9.13334913013859 -9000 ekin = 0.893571390067879 | erot = 2.77649686780605 | epot = -12.8034173876806 | etot = -9.13334912980667 -10000 ekin = 0.891805685056846 | erot = 2.67686855006734 | epot = -12.7020233645916 | etot = -9.13334912946739 -11000 ekin = 0.896243557993589 | erot = 2.57266042063119 | epot = -12.6022531078194 | etot = -9.13334912919466 -12000 ekin = 0.906416039154817 | erot = 2.46827537271556 | epot = -12.5080405408347 | etot = -9.13334912896435 -13000 ekin = 0.921704091778491 | erot = 2.36760645470833 | epot = -12.4226596752787 | etot = -9.13334912879189 -14000 ekin = 0.941405275130078 | erot = 2.27374941641176 | epot = -12.3485038202328 | etot = -9.13334912869101 -15000 ekin = 0.964770892951775 | erot = 2.18876720165113 | epot = -12.2868872232635 | etot = -9.13334912866062 -16000 ekin = 0.991029016801086 | erot = 2.11380018376645 | epot = -12.2381783292304 | etot = -9.13334912866289 -17000 ekin = 1.01940907375712 | erot = 2.04893605182118 | epot = -12.2016942543555 | etot = -9.13334912877717 -18000 ekin = 1.04917923728265 | erot = 1.99335017578101 | epot = -12.1758785419805 | etot = -9.1333491289168 -19000 ekin = 1.07969247848165 | erot = 1.9456993336297 | epot = -12.158740941176 | etot = -9.1333491290647 -20000 ekin = 1.11043268152286 | erot = 1.90411175657083 | epot = -12.1478935672812 | etot = -9.13334912918749 -21000 ekin = 1.14104909735583 | erot = 1.8669588297925 | epot = -12.1413570564146 | etot = -9.13334912926631 -22000 ekin = 1.17136821848099 | erot = 1.83313674901904 | epot = -12.137854096792 | etot = -9.13334912929197 -23000 ekin = 1.20137634097693 | erot = 1.80222523558985 | epot = -12.1369507058331 | etot = -9.13334912926636 -24000 ekin = 1.23117249622899 | erot = 1.77451266102195 | epot = -12.1390342864515 | etot = -9.13334912920057 -25000 ekin = 1.26089526640644 | erot = 1.75088411697598 | epot = -12.1451285124969 | etot = -9.13334912911446 -26000 ekin = 1.29063712254632 | erot = 1.73259428379509 | epot = -12.1565805353676 | etot = -9.13334912902614 -27000 ekin = 1.32035987087029 | erot = 1.72114061671178 | epot = -12.174849616541 | etot = -9.13334912895896 -28000 ekin = 1.34980460658797 | erot = 1.71795709927858 | epot = -12.2011108348018 | etot = -9.13334912893528 -29000 ekin = 1.37841624051162 | erot = 1.72414013785742 | epot = -12.2359055073442 | etot = -9.13334912897515 -30000 ekin = 1.40529015727354 | erot = 1.7401965663967 | epot = -12.2788358527639 | etot = -9.13334912909364 -31000 ekin = 1.42915801743398 | erot = 1.76583252336952 | epot = -12.3283396701001 | etot = -9.13334912929657 -32000 ekin = 1.44843712560542 | erot = 1.79982181745343 | epot = -12.381608072634 | etot = -9.13334912957512 -33000 ekin = 1.4613690466868 | erot = 1.84000474140075 | epot = -12.4347229179884 | etot = -9.13334912990085 -34000 ekin = 1.46625940785515 | erot = 1.8834645985662 | epot = -12.4830731366474 | etot = -9.13334913022609 -35000 ekin = 1.46179739484306 | erot = 1.92688889524941 | epot = -12.5220354205852 | etot = -9.1333491304927 -36000 ekin = 1.44738855724075 | erot = 1.96705754746497 | epot = -12.5477952353504 | etot = -9.13334913064463 -37000 ekin = 1.42340054468548 | erot = 2.00129614949928 | epot = -12.5580458249024 | etot = -9.13334913071763 -38000 ekin = 1.39122781542979 | erot = 2.02761655303766 | epot = -12.5521934990546 | etot = -9.13334913058718 -39000 ekin = 1.35313842096815 | erot = 2.04547852103605 | epot = -12.5319660723435 | etot = -9.13334913033932 -40000 ekin = 1.3119358769936 | erot = 2.05554364627561 | epot = -12.5008286533154 | etot = -9.13334913004622 -41000 ekin = 1.27054093924541 | erot = 2.05894429581373 | epot = -12.4628343648331 | etot = -9.13334912977395 -42000 ekin = 1.23161000992325 | erot = 2.0569489325571 | epot = -12.4219080720068 | etot = -9.13334912952641 -43000 ekin = 1.19723969759492 | erot = 2.0508575807566 | epot = -12.3814464076994 | etot = -9.13334912934792 -44000 ekin = 1.16880185863997 | erot = 2.0417223836063 | epot = -12.3438733714903 | etot = -9.13334912924402 -45000 ekin = 1.14690787175718 | erot = 2.03029950061776 | epot = -12.3105565015798 | etot = -9.13334912920486 -46000 ekin = 1.13147919636051 | erot = 2.01712256175378 | epot = -12.2819508873242 | etot = -9.13334912920993 -47000 ekin = 1.12189300492721 | erot = 2.00264798837262 | epot = -12.2578901225351 | etot = -9.13334912923523 -48000 ekin = 1.11716788112728 | erot = 1.98739120721199 | epot = -12.2379082176346 | etot = -9.13334912929533 -49000 ekin = 1.1161579479525 | erot = 1.9718736810838 | epot = -12.2213807583349 | etot = -9.13334912929863 -50000 ekin = 1.11772326336401 | erot = 1.95708534394633 | epot = -12.2081577365826 | etot = -9.13334912927228 -51000 ekin = 1.12084924497878 | erot = 1.94437394210225 | epot = -12.1985723162997 | etot = -9.1333491292187 -52000 ekin = 1.12470549785255 | erot = 1.93529800314878 | epot = -12.193352630151 | etot = -9.13334912914964 -53000 ekin = 1.12864556674978 | erot = 1.93145365271669 | epot = -12.1934483485498 | etot = -9.13334912908328 -54000 ekin = 1.13216113523089 | erot = 1.93430274875511 | epot = -12.1998130130121 | etot = -9.13334912902615 -55000 ekin = 1.13481106600234 | erot = 1.94490436967246 | epot = -12.2130645647022 | etot = -9.13334912902743 -56000 ekin = 1.13614343535815 | erot = 1.96361884590791 | epot = -12.2331114103531 | etot = -9.13334912908709 -57000 ekin = 1.1356317831128 | erot = 1.99002978527249 | epot = -12.2590106975985 | etot = -9.13334912921326 -58000 ekin = 1.13263976908242 | erot = 2.02286978616499 | epot = -12.2888586846526 | etot = -9.1333491294052 -59000 ekin = 1.1264242611343 | erot = 2.0600441344171 | epot = -12.3198175252029 | etot = -9.13334912965145 -60000 ekin = 1.11618536041532 | erot = 2.09876774945548 | epot = -12.3483022398005 | etot = -9.13334912992969 -61000 ekin = 1.10116810417865 | erot = 2.13581434618271 | epot = -12.3703315805684 | etot = -9.13334913020702 -62000 ekin = 1.08081637521803 | erot = 2.16786879318304 | epot = -12.3820342988433 | etot = -9.13334913044225 -63000 ekin = 1.0549701442815 | erot = 2.19194503254439 | epot = -12.3802643074576 | etot = -9.13334913063172 -64000 ekin = 1.02408601603158 | erot = 2.20562384873134 | epot = -12.363058995418 | etot = -9.13334913065512 -65000 ekin = 0.989434415807708 | erot = 2.20769180278661 | epot = -12.3304753491252 | etot = -9.13334913053086 -66000 ekin = 0.953195593563862 | erot = 2.19842250482632 | epot = -12.2849672286539 | etot = -9.13334913026373 -67000 ekin = 0.918366365968225 | erot = 2.17942400884185 | epot = -12.2311395047049 | etot = -9.1333491298948 -68000 ekin = 0.888467814666231 | erot = 2.15321364358203 | epot = -12.1750305877201 | etot = -9.13334912947183 -69000 ekin = 0.867150037001581 | erot = 2.12288633704373 | epot = -12.1233855031208 | etot = -9.13334912907546 -70000 ekin = 0.857579951604692 | erot = 2.09151913845149 | epot = -12.082448218843 | etot = -9.13334912878685 -71000 ekin = 0.861815425267398 | erot = 2.06157004239557 | epot = -12.0567345963619 | etot = -9.1333491286989 -72000 ekin = 0.880191815685381 | erot = 2.03435275439358 | epot = -12.0478936988731 | etot = -9.13334912879414 -73000 ekin = 0.911201453876584 | erot = 2.00982694750394 | epot = -12.0543775304379 | etot = -9.13334912905734 -74000 ekin = 0.951849895585041 | erot = 1.9868541827262 | epot = -12.0720532077345 | etot = -9.13334912942327 -75000 ekin = 0.99815100864117 | erot = 1.96362530027599 | epot = -12.0951254387264 | etot = -9.13334912980919 -76000 ekin = 1.04581734271588 | erot = 1.93821700241353 | epot = -12.117383475267 | etot = -9.13334913013757 -77000 ekin = 1.09091996835703 | erot = 1.90910715282285 | epot = -12.1333762515352 | etot = -9.13334913035536 -78000 ekin = 1.1303763192792 | erot = 1.87551578135385 | epot = -12.1392412310751 | etot = -9.13334913044201 -79000 ekin = 1.16219588597788 | erot = 1.83750580183261 | epot = -12.1330508182184 | etot = -9.13334913040788 -80000 ekin = 1.18548972632236 | erot = 1.7958594266999 | epot = -12.1146982833063 | etot = -9.13334913028402 -81000 ekin = 1.2003060571896 | erot = 1.7518136593975 | epot = -12.0854688466957 | etot = -9.13334913010857 -82000 ekin = 1.20737786492201 | erot = 1.70676694760222 | epot = -12.047493942439 | etot = -9.13334912991478 -83000 ekin = 1.20786051402077 | erot = 1.66205278152633 | epot = -12.0032624252717 | etot = -9.13334912972465 -84000 ekin = 1.2031099157248 | erot = 1.61882913247322 | epot = -11.9552881777461 | etot = -9.13334912954807 -85000 ekin = 1.19452073297168 | erot = 1.57808043002419 | epot = -11.905950292382 | etot = -9.13334912938609 -86000 ekin = 1.1834210068256 | erot = 1.54069268896236 | epot = -11.8574628250235 | etot = -9.13334912923555 -87000 ekin = 1.17100858957346 | erot = 1.50755090689516 | epot = -11.8119086255617 | etot = -9.13334912909308 -88000 ekin = 1.15831377551682 | erot = 1.47961680456717 | epot = -11.7712797090416 | etot = -9.13334912895765 -89000 ekin = 1.14617682817399 | erot = 1.45796378128887 | epot = -11.7374897382937 | etot = -9.13334912883082 -90000 ekin = 1.1352344796942 | erot = 1.44376438030019 | epot = -11.7123479887108 | etot = -9.13334912871639 -91000 ekin = 1.12591345720549 | erot = 1.4382377250094 | epot = -11.6975003108345 | etot = -9.13334912861963 -92000 ekin = 1.11843099489285 | erot = 1.44256930748509 | epot = -11.6943494309244 | etot = -9.13334912854647 -93000 ekin = 1.11280329634815 | erot = 1.45781524814476 | epot = -11.7039676729951 | etot = -9.13334912850217 -94000 ekin = 1.1088620912734 | erot = 1.48480045701867 | epot = -11.7270116767841 | etot = -9.13334912849204 -95000 ekin = 1.10627886010341 | erot = 1.52396220647534 | epot = -11.7635901951105 | etot = -9.1333491285317 -96000 ekin = 1.10459509814424 | erot = 1.57519859223417 | epot = -11.8131428189843 | etot = -9.13334912860592 -97000 ekin = 1.10325943769906 | erot = 1.63800664193794 | epot = -11.8746152083616 | etot = -9.13334912872458 -98000 ekin = 1.10166959581646 | erot = 1.71130689804965 | epot = -11.9463256227537 | etot = -9.13334912888763 -99000 ekin = 1.09921849385163 | erot = 1.79339905630357 | epot = -12.025966679247 | etot = -9.13334912909177 -100000 ekin = 1.09534596880106 | erot = 1.88196872528567 | epot = -12.110663823416 | etot = -9.13334912932925 -101000 ekin = 1.08959720755117 | erot = 1.9741561693145 | epot = -12.1971025064518 | etot = -9.13334912958617 -102000 ekin = 1.08168751154815 | erot = 2.06670282185174 | epot = -12.2817394632424 | etot = -9.13334912984251 -103000 ekin = 1.07156932342314 | erot = 2.1561819250806 | epot = -12.3611003785771 | etot = -9.13334913007335 -104000 ekin = 1.05949237996071 | erot = 2.23930158373566 | epot = -12.4321430939484 | etot = -9.13334913025202 -105000 ekin = 1.04604342224876 | erot = 2.31323902285848 | epot = -12.4926315754929 | etot = -9.13334913038569 -106000 ekin = 1.03224316318559 | erot = 2.37579242095986 | epot = -12.5413847145642 | etot = -9.13334913041873 -107000 ekin = 1.01951120148931 | erot = 2.4258560374057 | epot = -12.5787163692801 | etot = -9.13334913038512 -108000 ekin = 1.00875017477207 | erot = 2.46348952984498 | epot = -12.6055888348734 | etot = -9.13334913025635 -109000 ekin = 1.00109573552394 | erot = 2.48980806114977 | epot = -12.6242529267277 | etot = -9.13334913005403 -110000 ekin = 0.997931591358088 | erot = 2.5067391861081 | epot = -12.6380199072774 | etot = -9.13334912981123 -111000 ekin = 1.00076792351317 | erot = 2.51665915373057 | epot = -12.6507762068075 | etot = -9.13334912956375 -112000 ekin = 1.01109610479921 | erot = 2.52200701599672 | epot = -12.666452250139 | etot = -9.13334912934309 -113000 ekin = 1.03019016817876 | erot = 2.52496101252908 | epot = -12.6885003099862 | etot = -9.13334912927831 -114000 ekin = 1.05821017520619 | erot = 2.52722573627543 | epot = -12.7187850407016 | etot = -9.13334912922002 -115000 ekin = 1.09472530400134 | erot = 2.53003930448858 | epot = -12.7581137377194 | etot = -9.13334912922944 -116000 ekin = 1.13884650903324 | erot = 2.5341483243048 | epot = -12.806343962644 | etot = -9.13334912930592 -117000 ekin = 1.18909444999475 | erot = 2.53980839277165 | epot = -12.862251972215 | etot = -9.13334912944864 -118000 ekin = 1.24341490970464 | erot = 2.54678348242668 | epot = -12.923547521787 | etot = -9.13334912965564 -119000 ekin = 1.29923662064181 | erot = 2.55432909401041 | epot = -12.9869148445731 | etot = -9.13334912992093 -120000 ekin = 1.35358959215635 | erot = 2.56118615921826 | epot = -13.0481248816038 | etot = -9.13334913022922 -121000 ekin = 1.40329803815439 | erot = 2.56563135861683 | epot = -13.1022785273255 | etot = -9.1333491305543 -122000 ekin = 1.445246921966 | erot = 2.56562448409245 | epot = -13.1442205369173 | etot = -9.1333491308589 -123000 ekin = 1.47669540804816 | erot = 2.55906317998218 | epot = -13.169107719131 | etot = -9.13334913110063 -124000 ekin = 1.49558302658146 | erot = 2.5441110594373 | epot = -13.1730432172611 | etot = -9.13334913124231 -125000 ekin = 1.50076122489725 | erot = 2.51952798471315 | epot = -13.1536383408711 | etot = -9.13334913126073 -126000 ekin = 1.492147286847 | erot = 2.48515933103523 | epot = -13.1106557490372 | etot = -9.13334913115495 -127000 ekin = 1.47053410713945 | erot = 2.4417448007513 | epot = -13.0456280388473 | etot = -9.13334913095659 -128000 ekin = 1.43743445323496 | erot = 2.39059049317552 | epot = -12.9613740770757 | etot = -9.13334913066523 -129000 ekin = 1.39501109707047 | erot = 2.33380120125823 | epot = -12.8621614286434 | etot = -9.13334913031469 -130000 ekin = 1.34584042016749 | erot = 2.27401545397179 | epot = -12.7532050040791 | etot = -9.13334912993986 -131000 ekin = 1.2926893078659 | erot = 2.21410134111226 | epot = -12.6401397785506 | etot = -9.13334912957246 -132000 ekin = 1.23832315616827 | erot = 2.15686384200888 | epot = -12.5285361274153 | etot = -9.13334912923812 -133000 ekin = 1.18535267681206 | erot = 2.10479906741761 | epot = -12.4235008731851 | etot = -9.13334912895546 -134000 ekin = 1.13612155562826 | erot = 2.05991346428631 | epot = -12.3293841486505 | etot = -9.13334912873589 -135000 ekin = 1.0926326232607 | erot = 2.02360952444368 | epot = -12.2495912762905 | etot = -9.13334912858609 -136000 ekin = 1.05650575788368 | erot = 1.99662030668685 | epot = -12.1864751930781 | etot = -9.13334912850755 -137000 ekin = 1.02895878679479 | erot = 1.97899212834889 | epot = -12.1413000436434 | etot = -9.13334912849973 -138000 ekin = 1.01080388995871 | erot = 1.97013512172236 | epot = -12.1142881402333 | etot = -9.13334912855227 -139000 ekin = 1.0024545939537 | erot = 1.96888144460879 | epot = -12.1046851672404 | etot = -9.13334912867795 -140000 ekin = 1.00393780740642 | erot = 1.97333010973457 | epot = -12.1106170460029 | etot = -9.13334912886192 -141000 ekin = 1.01490973367055 | erot = 1.981045309448 | epot = -12.1293041722138 | etot = -9.1333491290952 -142000 ekin = 1.03468044934438 | erot = 1.98917872502441 | epot = -12.1572083037337 | etot = -9.13334912936491 -143000 ekin = 1.06225104646194 | erot = 1.99463134790794 | epot = -12.1902315240233 | etot = -9.13334912965338 -144000 ekin = 1.09636709127268 | erot = 1.99441220318412 | epot = -12.2241284243805 | etot = -9.13334912992373 -145000 ekin = 1.13559045362138 | erot = 1.98572590466025 | epot = -12.2546654884644 | etot = -9.13334913018274 -146000 ekin = 1.17838854122105 | erot = 1.96612892354279 | epot = -12.2778665951536 | etot = -9.1333491303898 -147000 ekin = 1.22300699749193 | erot = 1.93405129395002 | epot = -12.290407421963 | etot = -9.1333491305211 -148000 ekin = 1.2678567786303 | erot = 1.8889162135087 | epot = -12.2901221226999 | etot = -9.13334913056086 -149000 ekin = 1.3117055148731 | erot = 1.83123494690898 | epot = -12.2762895922886 | etot = -9.13334913050653 -150000 ekin = 1.35361858091208 | erot = 1.76263607509641 | epot = -12.2496037863729 | etot = -9.1333491303644 -151000 ekin = 1.39299848911435 | erot = 1.68572491420636 | epot = -12.2120725334744 | etot = -9.13334913015369 -152000 ekin = 1.42958376961917 | erot = 1.60381549112361 | epot = -12.1667483906421 | etot = -9.13334912989933 -153000 ekin = 1.46340801747597 | erot = 1.52060159601932 | epot = -12.1173587431246 | etot = -9.13334912962934 -154000 ekin = 1.49472650224563 | erot = 1.43981503875286 | epot = -12.0678906703689 | etot = -9.13334912937042 -155000 ekin = 1.52392161825078 | erot = 1.36491657683223 | epot = -12.0221873242284 | etot = -9.13334912914537 -156000 ekin = 1.55140022159552 | erot = 1.29884972381827 | epot = -11.9835990743854 | etot = -9.13334912897165 -157000 ekin = 1.57749707056581 | erot = 1.24387068637226 | epot = -11.9547168857972 | etot = -9.13334912885911 -158000 ekin = 1.60239506185774 | erot = 1.20145363967813 | epot = -11.9371978303523 | etot = -9.13334912881643 -159000 ekin = 1.62604462003774 | erot = 1.17226436760495 | epot = -11.9316581164847 | etot = -9.13334912884197 -160000 ekin = 1.64813303486531 | erot = 1.15619534708311 | epot = -11.9376775108796 | etot = -9.1333491289312 -161000 ekin = 1.66807327612962 | erot = 1.15245312716187 | epot = -11.9538755323658 | etot = -9.1333491290743 -162000 ekin = 1.68501875283037 | erot = 1.159694715128 | epot = -11.9780625972156 | etot = -9.13334912925725 -163000 ekin = 1.69790620824652 | erot = 1.17620989126099 | epot = -12.0074652289689 | etot = -9.13334912946138 -164000 ekin = 1.70552711798371 | erot = 1.20014309389824 | epot = -12.0390193415463 | etot = -9.13334912966436 -165000 ekin = 1.70662691809321 | erot = 1.22974121417715 | epot = -12.0697172621122 | etot = -9.13334912984189 -166000 ekin = 1.70002908026819 | erot = 1.26360423252405 | epot = -12.0969824427627 | etot = -9.13334912997049 -167000 ekin = 1.68477683955853 | erot = 1.30090518403758 | epot = -12.1190311536263 | etot = -9.13334913003015 -168000 ekin = 1.66027923283156 | erot = 1.34154370359067 | epot = -12.1351720664304 | etot = -9.13334913000821 -169000 ekin = 1.62644124957699 | erot = 1.38619810991388 | epot = -12.1459884893937 | etot = -9.13334912990282 -170000 ekin = 1.58375251890748 | erot = 1.43625221626181 | epot = -12.1533538648945 | etot = -9.13334912972517 -171000 ekin = 1.53331003043903 | erot = 1.49359459893396 | epot = -12.1602537588719 | etot = -9.13334912949887 -172000 ekin = 1.47676106161383 | erot = 1.56031583407029 | epot = -12.1704260249397 | etot = -9.13334912925555 -173000 ekin = 1.41695754705511 | erot = 1.63848249765397 | epot = -12.1887891730442 | etot = -9.13334912833508 -174000 ekin = 1.35937684304471 | erot = 1.72968793645222 | epot = -12.2224139078249 | etot = -9.13334912832797 -175000 ekin = 1.30537540818802 | erot = 1.83369980102243 | epot = -12.2724243375749 | etot = -9.13334912836449 -176000 ekin = 1.25571357800298 | erot = 1.94952726339927 | epot = -12.3385899698485 | etot = -9.13334912844629 -177000 ekin = 1.21104692225309 | erot = 2.07558802224364 | epot = -12.4199840730636 | etot = -9.1333491285669 -178000 ekin = 1.17189512057036 | erot = 2.2097607957462 | epot = -12.5150050450636 | etot = -9.13334912874707 -179000 ekin = 1.13864315857374 | erot = 2.34949890132865 | epot = -12.6214911888111 | etot = -9.13334912890866 -180000 ekin = 1.11156621835598 | erot = 2.4923400853998 | epot = -12.7372554328242 | etot = -9.13334912906842 -181000 ekin = 1.0908716761359 | erot = 2.63567357536115 | epot = -12.8598943807494 | etot = -9.13334912925236 -182000 ekin = 1.07675226579844 | erot = 2.77693577183306 | epot = -12.9870371670188 | etot = -9.13334912938731 -183000 ekin = 1.06942294234155 | erot = 2.91405263083415 | epot = -13.1168247026758 | etot = -9.13334912950007 -184000 ekin = 1.0691348870584 | erot = 3.04520163111632 | epot = -13.2476856477696 | etot = -9.13334912959489 -185000 ekin = 1.0761434592279 | erot = 3.16875772929896 | epot = -13.378250318212 | etot = -9.13334912968513 -186000 ekin = 1.09060563376748 | erot = 3.28317984154828 | epot = -13.5071346051097 | etot = -9.13334912979392 -187000 ekin = 1.11239929858147 | erot = 3.38683780589062 | epot = -13.6325862344239 | etot = -9.13334912995184 -188000 ekin = 1.1408883756264 | erot = 3.47780595660488 | epot = -13.7520434624192 | etot = -9.13334913018788 -189000 ekin = 1.17469755695846 | erot = 3.55369218298226 | epot = -13.8617388704564 | etot = -9.13334913051572 -190000 ekin = 1.21158961983337 | erot = 3.61161008256056 | epot = -13.9565488333127 | etot = -9.13334913091872 -191000 ekin = 1.24837558083726 | erot = 3.64780345127543 | epot = -14.0295281634881 | etot = -9.13334913137539 -192000 ekin = 1.28102311682962 | erot = 3.65810395428988 | epot = -14.0724762027871 | etot = -9.13334913166757 -193000 ekin = 1.30598320816986 | erot = 3.64139295006496 | epot = -14.0807252900249 | etot = -9.13334913179008 -194000 ekin = 1.32049648836633 | erot = 3.59844552363043 | epot = -14.0522911436922 | etot = -9.13334913169544 -195000 ekin = 1.32298604774291 | erot = 3.53212928134959 | epot = -13.9884644604293 | etot = -9.1333491313368 -196000 ekin = 1.31323645162591 | erot = 3.44751612705322 | epot = -13.8941017095235 | etot = -9.13334913084437 -197000 ekin = 1.2922893469817 | erot = 3.35072340322515 | epot = -13.7763618804991 | etot = -9.13334913029223 -198000 ekin = 1.2621263378666 | erot = 3.24789114382012 | epot = -13.6433666114233 | etot = -9.13334912973653 -199000 ekin = 1.22527047461745 | erot = 3.14483705467225 | epot = -13.5034566585633 | etot = -9.13334912927362 -200000 ekin = 1.18441799207266 | erot = 3.0459424596301 | epot = -13.3637095806219 | etot = -9.13334912891918 -201000 ekin = 1.14216630511974 | erot = 2.95390025492367 | epot = -13.2294156887273 | etot = -9.13334912868395 -202000 ekin = 1.10084220211772 | erot = 2.86987712396355 | epot = -13.1040684546435 | etot = -9.13334912856227 -203000 ekin = 1.06240856569037 | erot = 2.79366067226837 | epot = -12.9894183664998 | etot = -9.13334912854109 -204000 ekin = 1.02841768821243 | erot = 2.72389144275518 | epot = -12.885658259572 | etot = -9.1333491286044 -205000 ekin = 0.999988405220968 | erot = 2.65832732458324 | epot = -12.791664858539 | etot = -9.13334912873479 -206000 ekin = 0.97779962122531 | erot = 2.59412391514203 | epot = -12.7052726652799 | etot = -9.13334912891257 -207000 ekin = 0.962105653965551 | erot = 2.52813792126136 | epot = -12.6235927043399 | etot = -9.13334912911301 -208000 ekin = 0.952783648018979 | erot = 2.45726642892335 | epot = -12.5433992062488 | etot = -9.13334912930652 -209000 ekin = 0.949416945748643 | erot = 2.37882137049751 | epot = -12.4615874457068 | etot = -9.13334912946065 -210000 ekin = 0.951402263215311 | erot = 2.29090939419261 | epot = -12.3756607869545 | etot = -9.1333491295466 -211000 ekin = 0.95805195207769 | erot = 2.19275562021934 | epot = -12.284156701844 | etot = -9.13334912954697 -212000 ekin = 0.96865966770056 | erot = 2.08489619855888 | epot = -12.1869049957201 | etot = -9.13334912946064 -213000 ekin = 0.982515908120043 | erot = 1.96918422281076 | epot = -12.0850492602329 | etot = -9.13334912930206 -214000 ekin = 0.998888701919842 | erot = 1.84860041862008 | epot = -11.980838249636 | etot = -9.1333491290961 -215000 ekin = 1.01700134912577 | erot = 1.7269089749226 | epot = -11.8772594529197 | etot = -9.13334912887134 -216000 ekin = 1.03603050122463 | erot = 1.60822693577909 | epot = -11.777606565659 | etot = -9.13334912865524 -217000 ekin = 1.05512477228481 | erot = 1.49657917533873 | epot = -11.6850530760954 | etot = -9.13334912847187 -218000 ekin = 1.07342860744196 | erot = 1.39550092670247 | epot = -11.602278662484 | etot = -9.13334912833954 -219000 ekin = 1.09009860355589 | erot = 1.3077352195161 | epot = -11.5311829513411 | etot = -9.13334912826914 -220000 ekin = 1.10431207607363 | erot = 1.23505496062928 | epot = -11.4727161649659 | etot = -9.133349128263 -221000 ekin = 1.11527717993061 | erot = 1.17821867809278 | epot = -11.4268449863379 | etot = -9.13334912831453 -222000 ekin = 1.12225437592987 | erot = 1.13704823944161 | epot = -11.3926517437815 | etot = -9.13334912841006 -223000 ekin = 1.12459297621425 | erot = 1.11060060825111 | epot = -11.3685427129972 | etot = -9.13334912853179 -224000 ekin = 1.12177911879631 | erot = 1.0973962554392 | epot = -11.352524502896 | etot = -9.13334912866047 -225000 ekin = 1.11348637905768 | erot = 1.09566402531922 | epot = -11.3424995331557 | etot = -9.13334912877881 -226000 ekin = 1.09961800000719 | erot = 1.10360909760931 | epot = -11.336576226485 | etot = -9.13334912886849 -227000 ekin = 1.08033165066233 | erot = 1.11952730043393 | epot = -11.3332080800317 | etot = -9.13334912893547 -228000 ekin = 1.05604602872796 | erot = 1.14187865421847 | epot = -11.3312738119169 | etot = -9.13334912897043 -229000 ekin = 1.02742418663523 | erot = 1.16938489301661 | epot = -11.3301582086283 | etot = -9.13334912897648 -230000 ekin = 0.995339184991744 | erot = 1.20102048198601 | epot = -11.3297087959367 | etot = -9.1333491289589 -231000 ekin = 0.960829492708849 | erot = 1.23597735762291 | epot = -11.3301559792542 | etot = -9.13334912892242 -232000 ekin = 0.925050432735381 | erot = 1.27360958612375 | epot = -11.3320091477352 | etot = -9.13334912887609 -233000 ekin = 0.889225435959855 | erot = 1.31337910210623 | epot = -11.3359536668891 | etot = -9.13334912882302 -234000 ekin = 0.854600006628786 | erot = 1.35483402381913 | epot = -11.3427831592146 | etot = -9.13334912876667 -235000 ekin = 0.822390924845215 | erot = 1.3975743001583 | epot = -11.3533143537191 | etot = -9.13334912871561 -236000 ekin = 0.793732848711805 | erot = 1.44121433399063 | epot = -11.3682963113761 | etot = -9.13334912867363 -237000 ekin = 0.769632191219349 | erot = 1.48535644446062 | epot = -11.3883377643262 | etot = -9.13334912864621 -238000 ekin = 0.750918993365892 | erot = 1.52956143549207 | epot = -11.4138295574954 | etot = -9.13334912863744 -239000 ekin = 0.738206267496996 | erot = 1.57333361162144 | epot = -11.4448890077674 | etot = -9.13334912864894 -240000 ekin = 0.731862193743759 | erot = 1.61613149974219 | epot = -11.4813428221651 | etot = -9.13334912867916 -241000 ekin = 0.731999328001761 | erot = 1.65741090456851 | epot = -11.522759361293 | etot = -9.13334912872275 -242000 ekin = 0.738482620157007 | erot = 1.69669130986299 | epot = -11.5685230587937 | etot = -9.13334912877373 -243000 ekin = 0.750955042325049 | erot = 1.73364929482313 | epot = -11.6179534659678 | etot = -9.13334912881964 -244000 ekin = 0.768877080466256 | erot = 1.7682236027561 | epot = -11.6704498120765 | etot = -9.13334912885413 -245000 ekin = 0.791573929294277 | erot = 1.8006804512131 | epot = -11.7256035093788 | etot = -9.13334912887145 -246000 ekin = 0.818282914271192 | erot = 1.83164107445171 | epot = -11.7832731175935 | etot = -9.13334912887059 -247000 ekin = 0.848193621601337 | erot = 1.86205096555236 | epot = -11.8435937160095 | etot = -9.13334912885584 -248000 ekin = 0.880474358635153 | erot = 1.89308546777788 | epot = -11.9069089552495 | etot = -9.13334912883646 -249000 ekin = 0.914280881218948 | erot = 1.92599713223883 | epot = -11.9736271422837 | etot = -9.13334912882589 -250000 ekin = 0.948746730716193 | erot = 1.96192054843726 | epot = -12.0440164079936 | etot = -9.13334912884018 -251000 ekin = 0.982959063854097 | erot = 2.00165977259901 | epot = -12.117967965348 | etot = -9.13334912889492 -252000 ekin = 1.01592948249834 | erot = 2.04549252396365 | epot = -12.1947711354631 | etot = -9.13334912900107 -253000 ekin = 1.04657777483967 | erot = 2.09303441305961 | epot = -12.2729613170592 | etot = -9.13334912915988 -254000 ekin = 1.07373541755064 | erot = 2.14319803018447 | epot = -12.3502825770981 | etot = -9.13334912936302 -255000 ekin = 1.09620163163021 | erot = 2.19430966720544 | epot = -12.4238604284173 | etot = -9.13334912958161 -256000 ekin = 1.11287206428147 | erot = 2.24438579427432 | epot = -12.4906069883386 | etot = -9.13334912978282 -257000 ekin = 1.12287782510627 | erot = 2.29146665865402 | epot = -12.5476936136917 | etot = -9.13334912993145 -258000 ekin = 1.1257229350027 | erot = 2.33396623628263 | epot = -12.5930383012894 | etot = -9.13334913000407 -259000 ekin = 1.12139026023651 | erot = 2.37095948468542 | epot = -12.6256988749108 | etot = -9.13334912998886 -260000 ekin = 1.11036122819336 | erot = 2.40229658115378 | epot = -12.6460069392473 | etot = -9.13334912990019 -261000 ekin = 1.09354805445089 | erot = 2.42847877902912 | epot = -12.6553759632423 | etot = -9.13334912976232 -262000 ekin = 1.07216031825802 | erot = 2.45046938603017 | epot = -12.6559788338922 | etot = -9.13334912960406 -263000 ekin = 1.0475436871831 | erot = 2.46943297797184 | epot = -12.6503257946118 | etot = -9.13334912945687 -264000 ekin = 1.02102495133846 | erot = 2.48647844637136 | epot = -12.6408525270502 | etot = -9.13334912934037 -265000 ekin = 0.993788783443776 | erot = 2.50247063136386 | epot = -12.6296085440766 | etot = -9.133349129269 -266000 ekin = 0.966800247930049 | erot = 2.51790683905006 | epot = -12.6180562162301 | etot = -9.13334912924995 -267000 ekin = 0.940784249459332 | erot = 2.53283827184806 | epot = -12.6069716505893 | etot = -9.13334912928195 -268000 ekin = 0.916272152394485 | erot = 2.54684612152499 | epot = -12.5964674032728 | etot = -9.13334912935337 -269000 ekin = 0.893722172477293 | erot = 2.55907244306945 | epot = -12.5861437450343 | etot = -9.13334912948759 -270000 ekin = 0.873709285128899 | erot = 2.56799722891213 | epot = -12.5750556436016 | etot = -9.13334912956054 -271000 ekin = 0.857156433251465 | erot = 2.57226369508347 | epot = -12.5627692579077 | etot = -9.13334912957277 -272000 ekin = 0.845541083723895 | erot = 2.57096110909448 | epot = -12.5498513223266 | etot = -9.13334912950826 -273000 ekin = 0.840983736969595 | erot = 2.56364270819374 | epot = -12.5379755745175 | etot = -9.13334912935415 -274000 ekin = 0.846103061110329 | erot = 2.5505449718359 | epot = -12.5299971620895 | etot = -9.13334912914328 -275000 ekin = 0.8635707412448 | erot = 2.53260377851052 | epot = -12.5295236486813 | etot = -9.13334912892599 -276000 ekin = 0.895419299415128 | erot = 2.51114645014782 | epot = -12.5399148783706 | etot = -9.13334912880768 -277000 ekin = 0.942302359418684 | erot = 2.48734970425694 | epot = -12.5630011925123 | etot = -9.13334912883671 -278000 ekin = 1.00299069941579 | erot = 2.46199112036428 | epot = -12.59833094881 | etot = -9.13334912902996 -279000 ekin = 1.07434561589251 | erot = 2.43529774590787 | epot = -12.6429924911401 | etot = -9.13334912933968 -280000 ekin = 1.15182340984025 | erot = 2.40711596365544 | epot = -12.6922885031805 | etot = -9.1333491296848 -281000 ekin = 1.23030856581814 | erot = 2.3772696475126 | epot = -12.7409273433241 | etot = -9.13334912999334 -282000 ekin = 1.3048397487977 | erot = 2.34551973870795 | epot = -12.783708617699 | etot = -9.13334913019334 -283000 ekin = 1.37151257999445 | erot = 2.31231452819901 | epot = -12.8171762384384 | etot = -9.13334913024492 -284000 ekin = 1.42789685319388 | erot = 2.27901843146217 | epot = -12.8402644148118 | etot = -9.13334913015571 -285000 ekin = 1.47299679574469 | erot = 2.24762833985829 | epot = -12.8539742655641 | etot = -9.13334912996108 -286000 ekin = 1.50701906587704 | erot = 2.22050056283338 | epot = -12.8608687584217 | etot = -9.13334912971131 -287000 ekin = 1.53099472144769 | erot = 2.19999584806509 | epot = -12.8643396989723 | etot = -9.13334912945952 -288000 ekin = 1.5463644976888 | erot = 2.18811490987502 | epot = -12.867828536815 | etot = -9.13334912925118 -289000 ekin = 1.55461163491209 | erot = 2.18618804174359 | epot = -12.8741488057736 | etot = -9.1333491291179 -290000 ekin = 1.55699428674678 | erot = 2.19466879450596 | epot = -12.8850122103268 | etot = -9.13334912907411 -291000 ekin = 1.55439775255655 | erot = 2.21306131817982 | epot = -12.9008081998535 | etot = -9.13334912911716 -292000 ekin = 1.54729960240269 | erot = 2.23998314421976 | epot = -12.920631875854 | etot = -9.13334912923156 -293000 ekin = 1.53582108608416 | erot = 2.27333490842362 | epot = -12.9425051239026 | etot = -9.13334912939478 -294000 ekin = 1.51982864506192 | erot = 2.31049721096853 | epot = -12.9636749856261 | etot = -9.13334912959569 -295000 ekin = 1.4990515421335 | erot = 2.34851873983924 | epot = -12.9809194117666 | etot = -9.13334912979385 -296000 ekin = 1.47319364802825 | erot = 2.38443281021054 | epot = -12.990975588222 | etot = -9.13334912998318 -297000 ekin = 1.44203124546003 | erot = 2.41536854589925 | epot = -12.9907489215098 | etot = -9.13334913015052 -298000 ekin = 1.40549976702121 | erot = 2.43867409046074 | epot = -12.9775229877651 | etot = -9.13334913028317 -299000 ekin = 1.36377241662837 | erot = 2.45204871800424 | epot = -12.9491702650002 | etot = -9.13334913036758 -300000 ekin = 1.31732711912191 | erot = 2.45368408092553 | epot = -12.9043603304389 | etot = -9.13334913039146 -301000 ekin = 1.26699022414752 | erot = 2.44240353914579 | epot = -12.84274289364 | etot = -9.13334913034668 -302000 ekin = 1.21394210637188 | erot = 2.4177727859295 | epot = -12.7650640225334 | etot = -9.13334913023199 -303000 ekin = 1.15967414429359 | erot = 2.38015189683651 | epot = -12.6731751711848 | etot = -9.13334913005473 -304000 ekin = 1.10589726251319 | erot = 2.3306693961817 | epot = -12.5699157885247 | etot = -9.1333491298298 -305000 ekin = 1.05441504199283 | erot = 2.27111808933723 | epot = -12.4588822609067 | etot = -9.13334912957668 -306000 ekin = 1.00698421397173 | erot = 2.2037921851408 | epot = -12.3441255284281 | etot = -9.13334912931559 -307000 ekin = 0.965188337627791 | erot = 2.13129764385447 | epot = -12.229835110546 | etot = -9.13334912906376 -308000 ekin = 0.930345631944718 | erot = 2.05636814615618 | epot = -12.1200629069343 | etot = -9.13334912883336 -309000 ekin = 0.903461768093194 | erot = 1.98167791132931 | epot = -12.0184888080555 | etot = -9.13334912863296 -310000 ekin = 0.885228515008207 | erot = 1.9096787021164 | epot = -11.9282563455899 | etot = -9.13334912846534 -311000 ekin = 0.876047647700639 | erot = 1.84263812610115 | epot = -11.8520349021347 | etot = -9.1333491283329 -312000 ekin = 0.876068182199122 | erot = 1.78248869456952 | epot = -11.7919060050077 | etot = -9.13334912823909 -313000 ekin = 0.885223985969969 | erot = 1.7307289288228 | epot = -11.7493020429826 | etot = -9.13334912818982 -314000 ekin = 0.903258342515117 | erot = 1.68832066988407 | epot = -11.7249281405914 | etot = -9.13334912819223 -315000 ekin = 0.92973139171837 | erot = 1.65558558099762 | epot = -11.7186661009697 | etot = -9.13334912825367 -316000 ekin = 0.964013828970545 | erot = 1.63211973509071 | epot = -11.7294826924401 | etot = -9.13334912837886 -317000 ekin = 1.00527629211658 | erot = 1.61675326466501 | epot = -11.7553786853486 | etot = -9.133349128567 -318000 ekin = 1.05248736450112 | erot = 1.60758570940595 | epot = -11.7934222027158 | etot = -9.13334912880877 -319000 ekin = 1.10443332868111 | erot = 1.60212494474541 | epot = -11.8399074025113 | etot = -9.13334912908479 -320000 ekin = 1.15976924920803 | erot = 1.59754526105434 | epot = -11.8906636396275 | etot = -9.13334912936512 -321000 ekin = 1.21710352305647 | erot = 1.59105554518199 | epot = -11.9415081978524 | etot = -9.1333491296139 -322000 ekin = 1.27510751189443 | erot = 1.58033324923121 | epot = -11.9887898909205 | etot = -9.13334912979485 -323000 ekin = 1.33263084645681 | erot = 1.56394390937376 | epot = -12.0299238857109 | etot = -9.13334912988034 -324000 ekin = 1.38879590712182 | erot = 1.54164678485274 | epot = -12.0637918218341 | etot = -9.13334912985956 -325000 ekin = 1.44304623679676 | erot = 1.51450056885298 | epot = -12.0908959353913 | etot = -9.13334912974154 -326000 ekin = 1.49513435445649 | erot = 1.48473073066082 | epot = -12.1132142146708 | etot = -9.13334912955353 -327000 ekin = 1.54505065938314 | erot = 1.45538400860374 | epot = -12.1337837973217 | etot = -9.13334912933481 -328000 ekin = 1.59290981434222 | erot = 1.42984788209372 | epot = -12.1561068255641 | etot = -9.13334912912813 -329000 ekin = 1.63881860975595 | erot = 1.41133335467821 | epot = -12.1835010934066 | etot = -9.13334912897247 -330000 ekin = 1.68274896183067 | erot = 1.40240729591368 | epot = -12.2185053866423 | etot = -9.13334912889792 -331000 ekin = 1.72443467169541 | erot = 1.40463116342043 | epot = -12.2624149640398 | etot = -9.13334912892392 -332000 ekin = 1.76330533674306 | erot = 1.41833479327466 | epot = -12.3149892590748 | etot = -9.13334912905709 -333000 ekin = 1.79846823309272 | erot = 1.44253834966228 | epot = -12.3743557120448 | etot = -9.13334912928976 -334000 ekin = 1.82874900591091 | erot = 1.47503277033851 | epot = -12.4371309058479 | etot = -9.13334912959843 -335000 ekin = 1.85279616115815 | erot = 1.51263570197495 | epot = -12.4987809930766 | etot = -9.13334912994346 -336000 ekin = 1.86927630558769 | erot = 1.55160162438146 | epot = -12.5542270602388 | etot = -9.13334913026965 -337000 ekin = 1.87711735413928 | erot = 1.58820049773309 | epot = -12.5986669823879 | etot = -9.13334913051552 -338000 ekin = 1.8757484092316 | erot = 1.6193886872291 | epot = -12.6284862270853 | etot = -9.13334913062456 -339000 ekin = 1.86534866362714 | erot = 1.64338736517832 | epot = -12.6420851593669 | etot = -9.13334913056142 -340000 ekin = 1.84695798886988 | erot = 1.66009075059751 | epot = -12.6403978697905 | etot = -9.13334913032312 -341000 ekin = 1.82243969076644 | erot = 1.67114820362586 | epot = -12.6269370243339 | etot = -9.13334912994157 -342000 ekin = 1.79428655955874 | erot = 1.67969211618902 | epot = -12.6073278052238 | etot = -9.133349129476 -343000 ekin = 1.76531632972536 | erot = 1.68978090506872 | epot = -12.5884463637908 | etot = -9.1333491289967 -344000 ekin = 1.73833039739277 | erot = 1.70570000747006 | epot = -12.5773795334332 | etot = -9.13334912857035 -345000 ekin = 1.71580589060262 | erot = 1.73127559556322 | epot = -12.580430614415 | etot = -9.13334912824918 -346000 ekin = 1.69966353097581 | erot = 1.7693123493474 | epot = -12.6023250083908 | etot = -9.13334912806759 -347000 ekin = 1.69112042623267 | erot = 1.82120184302259 | epot = -12.6456713972998 | etot = -9.13334912804452 -348000 ekin = 1.69061396982738 | erot = 1.88669704033596 | epot = -12.7106601383503 | etot = -9.13334912818693 -349000 ekin = 1.69777681788179 | erot = 1.96382926866177 | epot = -12.7949552150348 | etot = -9.13334912849127 -350000 ekin = 1.71145115010227 | erot = 2.04895591402528 | epot = -12.8937561930704 | etot = -9.13334912894289 -351000 ekin = 1.72974629646146 | erot = 2.1369563691048 | epot = -13.0000517950767 | etot = -9.13334912951043 -352000 ekin = 1.75015893903906 | erot = 2.22162008456579 | epot = -13.1051281537452 | etot = -9.13334913014033 -353000 ekin = 1.76978034905526 | erot = 2.29627029645936 | epot = -13.1993997762715 | etot = -9.13334913075683 -354000 ekin = 1.78560210911934 | erot = 2.35462017023363 | epot = -13.2735714106202 | etot = -9.13334913126719 -355000 ekin = 1.79489785472827 | erot = 2.39176336004102 | epot = -13.3200103463511 | etot = -9.13334913158185 -356000 ekin = 1.79561393246587 | erot = 2.40509186859446 | epot = -13.3340549326997 | etot = -9.13334913163939 -357000 ekin = 1.78667091072642 | erot = 2.39487614134841 | epot = -13.3148961835033 | etot = -9.13334913142845 -358000 ekin = 1.76810167230534 | erot = 2.36429897994076 | epot = -13.2657497831712 | etot = -9.13334913092509 -359000 ekin = 1.74170569044722 | erot = 2.31907684809554 | epot = -13.1941316689282 | etot = -9.13334913038545 -360000 ekin = 1.70943632676221 | erot = 2.26611368397208 | epot = -13.1088991405415 | etot = -9.13334912980724 -361000 ekin = 1.6731500596548 | erot = 2.21234166615765 | epot = -13.0188408550993 | etot = -9.13334912928682 -362000 ekin = 1.634809940016 | erot = 2.16376887379865 | epot = -12.9319279427069 | etot = -9.13334912889222 -363000 ekin = 1.59622606057565 | erot = 2.12469986683786 | epot = -12.8542750560711 | etot = -9.13334912865763 -364000 ekin = 1.55890205833807 | erot = 2.09734631559797 | epot = -12.7895975025222 | etot = -9.13334912858612 -365000 ekin = 1.52397421076796 | erot = 2.08181308416692 | epot = -12.739136423592 | etot = -9.13334912865715 -366000 ekin = 1.49221260734036 | erot = 2.07639009796169 | epot = -12.7019518341359 | etot = -9.13334912883381 -367000 ekin = 1.46405952364985 | erot = 2.07805510122118 | epot = -12.6754637539441 | etot = -9.13334912907312 -368000 ekin = 1.43967726932424 | erot = 2.08307216057543 | epot = -12.656098559234 | etot = -9.13334912933437 -369000 ekin = 1.41899010811527 | erot = 2.08756917147217 | epot = -12.6399084091733 | etot = -9.13334912958585 -370000 ekin = 1.40171557356816 | erot = 2.08800173652823 | epot = -12.6230664399027 | etot = -9.1333491298063 -371000 ekin = 1.38739280854927 | erot = 2.08146226240579 | epot = -12.6022042009378 | etot = -9.1333491299827 -372000 ekin = 1.37542340308652 | erot = 2.0658519370229 | epot = -12.5746244702144 | etot = -9.133349130105 -373000 ekin = 1.36513752357975 | erot = 2.03996886737111 | epot = -12.5384555211137 | etot = -9.13334913016288 -374000 ekin = 1.35583949105233 | erot = 2.00351975772433 | epot = -12.492708378947 | etot = -9.13334913017032 -375000 ekin = 1.34694157711505 | erot = 1.9571603826854 | epot = -12.4374510898693 | etot = -9.13334913006881 -376000 ekin = 1.33814968105308 | erot = 1.90258032253329 | epot = -12.3740791334843 | etot = -9.13334912989794 -377000 ekin = 1.32936261120845 | erot = 1.84227265725227 | epot = -12.3049843981382 | etot = -9.13334912967749 -378000 ekin = 1.32063159991379 | erot = 1.77926043319037 | epot = -12.2332411625439 | etot = -9.1333491294397 -379000 ekin = 1.3120834036888 | erot = 1.71672941783635 | epot = -12.1621619507418 | etot = -9.13334912921662 -380000 ekin = 1.30384179784224 | erot = 1.65764204155785 | epot = -12.0948329684342 | etot = -9.13334912903407 -381000 ekin = 1.29657917475835 | erot = 1.60487100826682 | epot = -12.0347993118456 | etot = -9.13334912882041 -382000 ekin = 1.29092190134688 | erot = 1.56061067707075 | epot = -11.9848817072435 | etot = -9.13334912882587 -383000 ekin = 1.28620909068414 | erot = 1.52536833769996 | epot = -11.9449265572234 | etot = -9.13334912883934 -384000 ekin = 1.28205683099616 | erot = 1.49922806168814 | epot = -11.9146340215165 | etot = -9.13334912883216 -385000 ekin = 1.27850478017852 | erot = 1.48216189144812 | epot = -11.8940158004146 | etot = -9.13334912878801 -386000 ekin = 1.27603762173976 | erot = 1.47423730493005 | epot = -11.8836240553806 | etot = -9.13334912871082 -387000 ekin = 1.27548287271889 | erot = 1.47565716104732 | epot = -11.8844891623906 | etot = -9.1333491286244 -388000 ekin = 1.27780044585764 | erot = 1.4866096409742 | epot = -11.8977592153989 | etot = -9.13334912856707 -389000 ekin = 1.28381262703554 | erot = 1.50697425852406 | epot = -11.9241360141389 | etot = -9.13334912857925 -390000 ekin = 1.29393930260835 | erot = 1.53598035068249 | epot = -11.9632687819863 | etot = -9.1333491286955 -391000 ekin = 1.30800074456092 | erot = 1.57190984924451 | epot = -12.0132597227351 | etot = -9.13334912892964 -392000 ekin = 1.32513099179442 | erot = 1.6119758486771 | epot = -12.0704559697441 | etot = -9.13334912927258 -393000 ekin = 1.34382543000144 | erot = 1.65241448883384 | epot = -12.1295890485257 | etot = -9.13334912969045 -394000 ekin = 1.36212102398638 | erot = 1.6888101262474 | epot = -12.1842802803632 | etot = -9.13334913012946 -395000 ekin = 1.37788072140313 | erot = 1.71661593054037 | epot = -12.2278457824682 | etot = -9.13334913052473 -396000 ekin = 1.38913154512396 | erot = 1.73181112618336 | epot = -12.2542918021054 | etot = -9.13334913079804 -397000 ekin = 1.39439357479726 | erot = 1.73153617599066 | epot = -12.259278881721 | etot = -9.13334913093312 -398000 ekin = 1.39293904659167 | erot = 1.71441550438762 | epot = -12.2407036818559 | etot = -9.13334913087659 -399000 ekin = 1.38493174777411 | erot = 1.68094766350892 | epot = -12.1992285419456 | etot = -9.13334913066253 -400000 ekin = 1.37142116074065 | erot = 1.63330764197891 | epot = -12.1380779330258 | etot = -9.13334913030619 -401000 ekin = 1.3541299125241 | erot = 1.57501044311702 | epot = -12.0624894855341 | etot = -9.13334912989297 -402000 ekin = 1.33517991856866 | erot = 1.5104836498003 | epot = -11.9790126977741 | etot = -9.13334912940515 -403000 ekin = 1.31709653187235 | erot = 1.44458891478892 | epot = -11.8950345756004 | etot = -9.13334912893911 -404000 ekin = 1.30234590493843 | erot = 1.38198365576714 | epot = -11.8176786892413 | etot = -9.13334912853574 -405000 ekin = 1.29301391716244 | erot = 1.32673455588816 | epot = -11.7530976012891 | etot = -9.1333491282385 -406000 ekin = 1.29065467462766 | erot = 1.28204116436335 | epot = -11.7060449670173 | etot = -9.13334912802629 -407000 ekin = 1.29643237294776 | erot = 1.25006436588379 | epot = -11.6798458667512 | etot = -9.13334912791969 -408000 ekin = 1.31094700615233 | erot = 1.23190986721494 | epot = -11.6762060012839 | etot = -9.13334912791662 -409000 ekin = 1.3342243830335 | erot = 1.22763489752233 | epot = -11.6952084085713 | etot = -9.13334912801545 -410000 ekin = 1.36572014154938 | erot = 1.23628017302484 | epot = -11.7353494427869 | etot = -9.13334912821272 -411000 ekin = 1.4043266876074 | erot = 1.25592548503562 | epot = -11.7936013011448 | etot = -9.13334912850182 -412000 ekin = 1.44839088645834 | erot = 1.28379672627847 | epot = -11.8655367416051 | etot = -9.13334912886833 -413000 ekin = 1.49576795241815 | erot = 1.31646032748924 | epot = -11.9455774091914 | etot = -9.13334912928402 -414000 ekin = 1.5439492088942 | erot = 1.35014055217855 | epot = -12.027438890777 | etot = -9.13334912970421 -415000 ekin = 1.59029421705112 | erot = 1.38116660571169 | epot = -12.1048099528338 | etot = -9.13334913007095 -416000 ekin = 1.63235973909058 | erot = 1.40649922749285 | epot = -12.1722080969091 | etot = -9.13334913032568 -417000 ekin = 1.66825800489166 | erot = 1.42422016761161 | epot = -12.2258273029358 | etot = -9.13334913043252 -418000 ekin = 1.69693219837184 | erot = 1.43381449957472 | epot = -12.2640958283215 | etot = -9.13334913037492 -419000 ekin = 1.71824951894736 | erot = 1.43620625779617 | epot = -12.2878049069281 | etot = -9.13334913018453 -420000 ekin = 1.73288337430514 | erot = 1.43350825350777 | epot = -12.2997407577244 | etot = -9.1333491299115 -421000 ekin = 1.74204129532326 | erot = 1.4285602867495 | epot = -12.3039507116833 | etot = -9.13334912961054 -422000 ekin = 1.74713701807662 | erot = 1.42445618730831 | epot = -12.3049423347128 | etot = -9.13334912932785 -423000 ekin = 1.74949063384663 | erot = 1.42413436044403 | epot = -12.3069741233953 | etot = -9.13334912910463 -424000 ekin = 1.7500975464296 | erot = 1.43005641925169 | epot = -12.3135030946284 | etot = -9.13334912894713 -425000 ekin = 1.74947257256678 | erot = 1.44412400802352 | epot = -12.3269457094746 | etot = -9.1333491288843 -426000 ekin = 1.69664946387399 | erot = 1.40011304962673 | epot = -12.2301116346004 | etot = -9.13334912109972 -427000 ekin = 1.76448154345933 | erot = 1.46695774970221 | epot = -12.364788469981 | etot = -9.13334917681948 -428000 ekin = 1.77864040382709 | erot = 1.51204937412293 | epot = -12.4240389057583 | etot = -9.13334912780824 -429000 ekin = 1.77744254090633 | erot = 1.55645173379942 | epot = -12.4672434028106 | etot = -9.13334912810484 -430000 ekin = 1.76864481713901 | erot = 1.60567169371236 | epot = -12.5076656392895 | etot = -9.13334912843816 -431000 ekin = 1.75041443993041 | erot = 1.65655638514198 | epot = -12.5403199538344 | etot = -9.13334912876204 -432000 ekin = 1.72143753020921 | erot = 1.70559294341375 | epot = -12.5603796026449 | etot = -9.13334912902196 -433000 ekin = 1.68129756274196 | erot = 1.74934007551163 | epot = -12.5639867674191 | etot = -9.13334912916547 -434000 ekin = 1.6307765097995 | erot = 1.78490039303317 | epot = -12.5490260319879 | etot = -9.13334912915522 -435000 ekin = 1.57198882084473 | erot = 1.81033246556209 | epot = -12.5156704153878 | etot = -9.13334912898102 -436000 ekin = 1.50828072851458 | erot = 1.82489908961108 | epot = -12.4665289467911 | etot = -9.13334912866549 -437000 ekin = 1.44388315301215 | erot = 1.82908776308002 | epot = -12.4063200443511 | etot = -9.13334912825894 -438000 ekin = 1.38337900429706 | erot = 1.82441107452533 | epot = -12.3411392066478 | etot = -9.13334912782545 -439000 ekin = 1.33110407576216 | erot = 1.81306694504084 | epot = -12.2775201482282 | etot = -9.13334912742516 -440000 ekin = 1.29061754888996 | erot = 1.79757475508363 | epot = -12.2215414310742 | etot = -9.13334912710057 -441000 ekin = 1.26434687832154 | erot = 1.78048600607395 | epot = -12.1781820112662 | etot = -9.13334912687068 -442000 ekin = 1.25344985037923 | erot = 1.76421040799427 | epot = -12.1510093851079 | etot = -9.13334912673437 -443000 ekin = 1.25787308938408 | erot = 1.7509340047669 | epot = -12.1421562208304 | etot = -9.13334912667946 -444000 ekin = 1.27654491138799 | erot = 1.74256727852004 | epot = -12.1524613166018 | etot = -9.13334912669374 -445000 ekin = 1.30762960642476 | erot = 1.74066161517015 | epot = -12.1816403483645 | etot = -9.13334912676961 -446000 ekin = 1.3487848533523 | erot = 1.74626611357075 | epot = -12.2284000938277 | etot = -9.13334912690466 -447000 ekin = 1.39739993763746 | erot = 1.75974793458065 | epot = -12.2904969993185 | etot = -9.13334912710037 -448000 ekin = 1.45076649190917 | erot = 1.7806071793413 | epot = -12.364722798603 | etot = -9.13334912735256 -449000 ekin = 1.50623999605376 | erot = 1.80738848344697 | epot = -12.4469776071506 | etot = -9.13334912764992 -450000 ekin = 1.56138908054617 | erot = 1.83773497344343 | epot = -12.5324731819609 | etot = -9.1333491279713 -451000 ekin = 1.61412412964542 | erot = 1.86859865234422 | epot = -12.6160719102768 | etot = -9.13334912828714 -452000 ekin = 1.6628093163013 | erot = 1.89658548036375 | epot = -12.6927439252283 | etot = -9.1333491285633 -453000 ekin = 1.70634971637105 | erot = 1.91837476586798 | epot = -12.7580736110109 | etot = -9.1333491287719 -454000 ekin = 1.74423056750383 | erot = 1.93111374790632 | epot = -12.8086934443058 | etot = -9.13334912889565 -455000 ekin = 1.77648988409902 | erot = 1.93270291378172 | epot = -12.8425419268138 | etot = -9.13334912893303 -456000 ekin = 1.80361911556758 | erot = 1.92192628287797 | epot = -12.8588945273422 | etot = -9.13334912889667 -457000 ekin = 1.82640016706239 | erot = 1.89842961389939 | epot = -12.8581789097705 | etot = -9.13334912880868 -458000 ekin = 1.84570455025963 | erot = 1.86259298695739 | epot = -12.8416466659125 | etot = -9.13334912869546 -459000 ekin = 1.86229070170975 | erot = 1.8153534231514 | epot = -12.8109932534393 | etot = -9.13334912857818 -460000 ekin = 1.87663848085893 | erot = 1.75803306182783 | epot = -12.7680206711608 | etot = -9.13334912847404 -461000 ekin = 1.88883864523215 | erot = 1.69219746384297 | epot = -12.7143852374647 | etot = -9.13334912838955 -462000 ekin = 1.89856203652326 | erot = 1.6195667802744 | epot = -12.6514779451227 | etot = -9.133349128325 -463000 ekin = 1.90510221764502 | erot = 1.54196437877849 | epot = -12.5804157247001 | etot = -9.1333491282766 -464000 ekin = 1.90747686786683 | erot = 1.46127993198489 | epot = -12.502105928087 | etot = -9.13334912823527 -465000 ekin = 1.90457977356189 | erot = 1.37946070091747 | epot = -12.4173896026655 | etot = -9.13334912818618 -466000 ekin = 1.89536572152358 | erot = 1.29851485172168 | epot = -12.3272297013671 | etot = -9.13334912812186 -467000 ekin = 1.87901831710009 | erot = 1.22048659414398 | epot = -12.2328540392803 | etot = -9.13334912803627 -468000 ekin = 1.85509917792091 | erot = 1.1473912628406 | epot = -12.13583956869 | etot = -9.13334912792853 -469000 ekin = 1.82366605107355 | erot = 1.08110787535096 | epot = -12.0381230542272 | etot = -9.13334912780273 -470000 ekin = 1.78535216075648 | erot = 1.02324127043684 | epot = -11.9419425588579 | etot = -9.13334912766458 -471000 ekin = 1.74141051513421 | erot = 0.974982090043725 | epot = -11.8497417326974 | etot = -9.13334912751951 -472000 ekin = 1.69372019705975 | erot = 0.937000644455065 | epot = -11.7640699688868 | etot = -9.13334912737203 -473000 ekin = 1.64473632771015 | erot = 0.909402534931994 | epot = -11.6874879898697 | etot = -9.13334912722754 -474000 ekin = 1.59734995177404 | erot = 0.891755018431719 | epot = -11.6224540973016 | etot = -9.13334912709589 -475000 ekin = 1.55462885495293 | erot = 0.883174765260449 | epot = -11.5711527472053 | etot = -9.13334912699189 -476000 ekin = 1.51944866261199 | erot = 0.882459888569853 | epot = -11.5352576781139 | etot = -9.13334912693209 -477000 ekin = 1.49408243529063 | erot = 0.888250161717153 | epot = -11.515681723936 | etot = -9.13334912692819 -478000 ekin = 1.4798562258565 | erot = 0.899197335533059 | epot = -11.5124026883719 | etot = -9.13334912698235 -479000 ekin = 1.47695373952859 | erot = 0.914115348457697 | epot = -11.5244182150805 | etot = -9.13334912709421 -480000 ekin = 1.48439477575451 | erot = 0.932072516621074 | epot = -11.5498164196183 | etot = -9.13334912724273 -481000 ekin = 1.50022741217501 | erot = 0.952423999184349 | epot = -11.5860005387821 | etot = -9.13334912742275 -482000 ekin = 1.52172985963404 | erot = 0.974754211846627 | epot = -11.6298331991075 | etot = -9.13334912762685 -483000 ekin = 1.54567018241475 | erot = 0.998770450814902 | epot = -11.6777897610758 | etot = -9.13334912784619 -484000 ekin = 1.56858614723056 | erot = 1.02419763510876 | epot = -11.7261329104084 | etot = -9.1333491280691 -485000 ekin = 1.5870734695504 | erot = 1.05070585623167 | epot = -11.771128454062 | etot = -9.1333491282799 -486000 ekin = 1.59807103603055 | erot = 1.07788995424718 | epot = -11.809310118738 | etot = -9.13334912846031 -487000 ekin = 1.59911980804395 | erot = 1.10529931942213 | epot = -11.8377682560594 | etot = -9.13334912859333 -488000 ekin = 1.58856342116616 | erot = 1.13249736396264 | epot = -11.8544099137962 | etot = -9.13334912866743 -489000 ekin = 1.56566142904661 | erot = 1.15911683125844 | epot = -11.8581273889842 | etot = -9.13334912867911 -490000 ekin = 1.5306026855461 | erot = 1.18488502427377 | epot = -11.8488368384537 | etot = -9.13334912863386 -491000 ekin = 1.4844342706942 | erot = 1.20959914016026 | epot = -11.8273825393274 | etot = -9.13334912847297 -492000 ekin = 1.42930345354388 | erot = 1.23291829593372 | epot = -11.7955708778621 | etot = -9.13334912838453 -493000 ekin = 1.3674956414507 | erot = 1.2543854460511 | epot = -11.7552302157779 | etot = -9.13334912827613 -494000 ekin = 1.30137262987975 | erot = 1.27348228002552 | epot = -11.708204038061 | etot = -9.13334912815568 -495000 ekin = 1.23360970816894 | erot = 1.28954660636143 | epot = -11.6565054425584 | etot = -9.13334912802799 -496000 ekin = 1.16375548640691 | erot = 1.3002319560856 | epot = -11.5973366205377 | etot = -9.13334917804515 -497000 ekin = 1.02574644939778 | erot = 1.24927230426217 | epot = -11.4083678755021 | etot = -9.13334912184212 -498000 ekin = 1.13339044616663 | erot = 1.24939677704446 | epot = -11.5161363891186 | etot = -9.13334916590748 -499000 ekin = 1.1643476239328 | erot = 1.2586467315497 | epot = -11.5563434800384 | etot = -9.13334912455595 -500000 ekin = 1.16768486506805 | erot = 1.25769344443913 | epot = -11.5587274345818 | etot = -9.13334912507467 -501000 ekin = 1.17559895497574 | erot = 1.25038915442602 | epot = -11.5593372343045 | etot = -9.13334912490274 -502000 ekin = 1.18926606273964 | erot = 1.23784323633042 | epot = -11.5604584237508 | etot = -9.13334912468077 -503000 ekin = 1.20982408114982 | erot = 1.22204157664332 | epot = -11.5652147822326 | etot = -9.1333491244395 -504000 ekin = 1.23811782737094 | erot = 1.20572865378445 | epot = -11.5771956053593 | etot = -9.13334912420395 -505000 ekin = 1.27460966228848 | erot = 1.19199209322162 | epot = -11.599950879511 | etot = -9.13334912400085 -506000 ekin = 1.31928047819669 | erot = 1.18393687677918 | epot = -11.6365664788306 | etot = -9.13334912385476 -507000 ekin = 1.37157700900589 | erot = 1.18435118386637 | epot = -11.6892773166552 | etot = -9.13334912378295 -508000 ekin = 1.43042502721634 | erot = 1.19541187481652 | epot = -11.759186025826 | etot = -9.13334912379309 -509000 ekin = 1.49431413372954 | erot = 1.21846596295747 | epot = -11.84612922057 | etot = -9.13334912388303 -510000 ekin = 1.56143815900091 | erot = 1.25390781315509 | epot = -11.9486950961993 | etot = -9.13334912404329 -511000 ekin = 1.62985405359645 | erot = 1.30115550674131 | epot = -12.0643586845984 | etot = -9.13334912426069 -512000 ekin = 1.69760948238553 | erot = 1.35871536004462 | epot = -12.1896739669537 | etot = -9.13334912452353 -513000 ekin = 1.76279412854899 | erot = 1.42431355746946 | epot = -12.3204568108429 | etot = -9.13334912482448 -514000 ekin = 1.82349978434328 | erot = 1.49507387317972 | epot = -12.4519227826811 | etot = -9.13334912515808 -515000 ekin = 1.87772649131842 | erot = 1.56773414236326 | epot = -12.5788097591951 | etot = -9.13334912551346 -516000 ekin = 1.92332299298634 | erot = 1.63891274676095 | epot = -12.6955848656127 | etot = -9.13334912586538 -517000 ekin = 1.95805681102191 | erot = 1.70543998934226 | epot = -12.7968459265369 | etot = -9.13334912617277 -518000 ekin = 1.97984991947131 | erot = 1.76473849815428 | epot = -12.8779375440131 | etot = -9.13334912638746 -519000 ekin = 1.98711819296806 | erot = 1.81518192785056 | epot = -12.9356492472892 | etot = -9.13334912647053 -520000 ekin = 1.97908911077307 | erot = 1.85632478175216 | epot = -12.9687630189372 | etot = -9.13334912641193 -521000 ekin = 1.95594858056491 | erot = 1.88892760796818 | epot = -12.9782253147591 | etot = -9.13334912622604 -522000 ekin = 1.91881161738275 | erot = 1.91475582237592 | epot = -12.9669165657094 | etot = -9.13334912595078 -523000 ekin = 1.86954045343384 | erot = 1.93620351350401 | epot = -12.9390930925734 | etot = -9.13334912563555 -524000 ekin = 1.81047332181796 | erot = 1.95582271022227 | epot = -12.8996451573717 | etot = -9.1333491253315 -525000 ekin = 1.74413482435803 | erot = 1.97582576721665 | epot = -12.853309716661 | etot = -9.13334912508635 -526000 ekin = 1.67297434025033 | erot = 1.99761678040497 | epot = -12.8039402455932 | etot = -9.1333491249379 -527000 ekin = 1.5991686561631 | erot = 2.02141684187647 | epot = -12.753934622946 | etot = -9.13334912490644 -528000 ekin = 1.52452149634769 | erot = 2.046058779126 | epot = -12.7039294004621 | etot = -9.1333491249884 -529000 ekin = 1.4504814163815 | erot = 2.06903286947805 | epot = -12.6528634110116 | etot = -9.13334912515203 -530000 ekin = 1.37827485203473 | erot = 2.0868382112308 | epot = -12.5984621886064 | etot = -9.13334912534092 -531000 ekin = 1.3091154482528 | erot = 2.09562136598182 | epot = -12.5380859397209 | etot = -9.1333491254863 -532000 ekin = 1.24441932207011 | erot = 2.09198653946293 | epot = -12.4697549870592 | etot = -9.13334912552613 -533000 ekin = 1.18594679653286 | erot = 2.07377924595502 | epot = -12.3930751679117 | etot = -9.13334912542376 -534000 ekin = 1.1358131246152 | erot = 2.04062941960225 | epot = -12.3097916693957 | etot = -9.13334912517824 -535000 ekin = 1.09635528031573 | erot = 1.99411201499638 | epot = -12.2238164201347 | etot = -9.13334912482263 -536000 ekin = 1.06988655695763 | erot = 1.93750945181547 | epot = -12.1407451331865 | etot = -9.13334912441337 -537000 ekin = 1.05839509271428 | erot = 1.87547351818765 | epot = -12.067217734895 | etot = -9.13334912399308 -538000 ekin = 1.0632389138569 | erot = 1.81331424698671 | epot = -12.0099022845221 | etot = -9.13334912367847 -539000 ekin = 1.08487929970153 | erot = 1.75562392314899 | epot = -11.9738523463437 | etot = -9.1333491234932 -540000 ekin = 1.12268189023152 | erot = 1.70611667318676 | epot = -11.9621476868923 | etot = -9.13334912347407 -541000 ekin = 1.17481105396039 | erot = 1.66717481231005 | epot = -11.9753349899086 | etot = -9.13334912363814 -542000 ekin = 1.23824417791102 | erot = 1.63956314455323 | epot = -12.0111564464434 | etot = -9.13334912397912 -543000 ekin = 1.30892832432196 | erot = 1.62236761446703 | epot = -12.0646450632514 | etot = -9.13334912446245 -544000 ekin = 1.38208514507633 | erot = 1.61318872881496 | epot = -12.1286229989214 | etot = -9.13334912503009 -545000 ekin = 1.45263801176139 | erot = 1.60857948401433 | epot = -12.194566621382 | etot = -9.13334912560626 -546000 ekin = 1.51570974605577 | erot = 1.60467377472423 | epot = -12.2537326468904 | etot = -9.13334912611039 -547000 ekin = 1.56711452712077 | erot = 1.5978880038112 | epot = -12.2983516574063 | etot = -9.13334912647434 -548000 ekin = 1.60376221827811 | erot = 1.58554162816014 | epot = -12.3226529730938 | etot = -9.13334912665559 -549000 ekin = 1.6239104162595 | erot = 1.56625626420505 | epot = -12.3235158071101 | etot = -9.13334912664558 -550000 ekin = 1.62723358008672 | erot = 1.54012357327806 | epot = -12.30070627981 | etot = -9.13334912644519 -551000 ekin = 1.61471889891336 | erot = 1.50851459569879 | epot = -12.2565826207564 | etot = -9.13334912614428 -552000 ekin = 1.58843016682055 | erot = 1.4734893638341 | epot = -12.1952686564244 | etot = -9.13334912576979 -553000 ekin = 1.55120098109625 | erot = 1.43753302718273 | epot = -12.1220831336482 | etot = -9.1333491253692 -554000 ekin = 1.50631636212865 | erot = 1.40318755322487 | epot = -12.0428530403314 | etot = -9.1333491249779 -555000 ekin = 1.45722878986198 | erot = 1.3727969819938 | epot = -11.9633748964754 | etot = -9.13334912461958 -556000 ekin = 1.40732293284862 | erot = 1.34837590638604 | epot = -11.8890479635409 | etot = -9.13334912430622 -557000 ekin = 1.35973750772558 | erot = 1.33157707038633 | epot = -11.8246637021546 | etot = -9.1333491240427 -558000 ekin = 1.3172359073265 | erot = 1.3237162803257 | epot = -11.7743013114838 | etot = -9.13334912383159 -559000 ekin = 1.2821102830885 | erot = 1.32580526483737 | epot = -11.7412646716021 | etot = -9.13334912367621 -560000 ekin = 1.25610590404606 | erot = 1.33855626266036 | epot = -11.7280112902894 | etot = -9.133349123583 -561000 ekin = 1.24035844263076 | erot = 1.36234138770616 | epot = -11.7360489538972 | etot = -9.13334912356032 -562000 ekin = 1.23534624012456 | erot = 1.39711468447884 | epot = -11.7658100482193 | etot = -9.1333491236159 -563000 ekin = 1.24087113988293 | erot = 1.4423315029889 | epot = -11.8165517666224 | etot = -9.13334912375058 -564000 ekin = 1.25609129142967 | erot = 1.49691875868316 | epot = -11.8863591740662 | etot = -9.13334912395332 -565000 ekin = 1.27963015842585 | erot = 1.55937933471928 | epot = -11.9723586173333 | etot = -9.13334912418822 -566000 ekin = 1.30976945418509 | erot = 1.62795664726991 | epot = -12.071075225903 | etot = -9.13334912444796 -567000 ekin = 1.34469873511446 | erot = 1.70073738337955 | epot = -12.1787852431846 | etot = -9.13334912469059 -568000 ekin = 1.3827577993095 | erot = 1.77591787231153 | epot = -12.2920247965257 | etot = -9.13334912490467 -569000 ekin = 1.42260294142512 | erot = 1.85183127902824 | epot = -12.4077833455478 | etot = -9.13334912509444 -570000 ekin = 1.46311433096258 | erot = 1.92670412005392 | epot = -12.5231675763841 | etot = -9.13334912536755 -571000 ekin = 1.50327753329096 | erot = 1.99853100880983 | epot = -12.6351576677818 | etot = -9.13334912568103 -572000 ekin = 1.54192966726804 | erot = 2.0649761373004 | epot = -12.7402549304433 | etot = -9.13334912587482 -573000 ekin = 1.57823855407033 | erot = 2.12427016696493 | epot = -12.8358578469925 | etot = -9.13334912595728 -574000 ekin = 1.61207502224245 | erot = 2.17570201380688 | epot = -12.9211261619195 | etot = -9.13334912587019 -575000 ekin = 1.64402582173614 | erot = 2.22028441014118 | epot = -12.9976593575029 | etot = -9.13334912562555 -576000 ekin = 1.67538587678149 | erot = 2.26042238856294 | epot = -13.0691573906352 | etot = -9.13334912529081 -577000 ekin = 1.7078920937872 | erot = 2.29915883242306 | epot = -13.1404000511779 | etot = -9.13334912496764 -578000 ekin = 1.74326819508177 | erot = 2.33909725076169 | epot = -13.2157145705919 | etot = -9.13334912474848 -579000 ekin = 1.78272231838101 | erot = 2.38182643842008 | epot = -13.2978978814957 | etot = -9.13334912469457 -580000 ekin = 1.82652189372822 | erot = 2.42751679139619 | epot = -13.3873878099572 | etot = -9.13334912483282 -581000 ekin = 1.87370675175303 | erot = 2.47480205693856 | epot = -13.4818579338654 | etot = -9.13334912517378 -582000 ekin = 1.92197052578468 | erot = 2.5209271515326 | epot = -13.576246802977 | etot = -9.13334912565971 -583000 ekin = 1.96774925896929 | erot = 2.5622766080168 | epot = -13.6633749932262 | etot = -9.13334912624012 -584000 ekin = 2.00657374540297 | erot = 2.59498886542894 | epot = -13.7349117376518 | etot = -9.1333491268199 -585000 ekin = 2.03371871575794 | erot = 2.6156627420042 | epot = -13.7827305850441 | etot = -9.13334912728194 -586000 ekin = 2.04507827703381 | erot = 2.62214006251515 | epot = -13.8005674670651 | etot = -9.13334912751611 -587000 ekin = 2.03806243485746 | erot = 2.61411994889086 | epot = -13.7855315112076 | etot = -9.13334912745932 -588000 ekin = 2.01223115184444 | erot = 2.59335030112075 | epot = -13.7389305800901 | etot = -9.13334912712496 -589000 ekin = 1.96942837554651 | erot = 2.56324673362772 | epot = -13.6660242357781 | etot = -9.13334912660385 -590000 ekin = 1.91334419959089 | erot = 2.52801524733256 | epot = -13.574708572955 | etot = -9.13334912603151 -591000 ekin = 1.84865383330884 | erot = 2.4915831336859 | epot = -13.4735860925299 | etot = -9.13334912553512 -592000 ekin = 1.78006004419929 | erot = 2.45674050607992 | epot = -13.3701496754639 | etot = -9.13334912518467 -593000 ekin = 1.71159279762526 | erot = 2.42478693108587 | epot = -13.2697288536894 | etot = -9.13334912497825 -594000 ekin = 1.64634946405755 | erot = 2.39569805900575 | epot = -13.1753966479338 | etot = -9.13334912487046 -595000 ekin = 1.5865947994934 | erot = 2.36854432556366 | epot = -13.0884882498757 | etot = -9.13334912481863 -596000 ekin = 1.53398103551819 | erot = 2.34182175784585 | epot = -13.0091519181739 | etot = -9.13334912480987 -597000 ekin = 1.48969441622987 | erot = 2.31355286209804 | epot = -12.9365964031787 | etot = -9.13334912485079 -598000 ekin = 1.45449014890813 | erot = 2.28129539495166 | epot = -12.8691346688017 | etot = -9.13334912494188 -599000 ekin = 1.4286828360633 | erot = 2.24230571379077 | epot = -12.8043376749144 | etot = -9.13334912506028 -600000 ekin = 1.41215819513153 | erot = 2.19421771508645 | epot = -12.7397250351149 | etot = -9.13334912489694 -601000 ekin = 1.40437980063996 | erot = 2.13675092847909 | epot = -12.6744798541792 | etot = -9.13334912506017 -602000 ekin = 1.40442466853487 | erot = 2.0686359576415 | epot = -12.6064097512942 | etot = -9.13334912511782 -603000 ekin = 1.41112302449782 | erot = 1.98998056957469 | epot = -12.5344527191434 | etot = -9.13334912507092 -604000 ekin = 1.42310135152322 | erot = 1.9027452432284 | epot = -12.4591957196956 | etot = -9.13334912494394 -605000 ekin = 1.43883447822635 | erot = 1.81030632011162 | epot = -12.382489923109 | etot = -9.13334912477107 -606000 ekin = 1.45673760095324 | erot = 1.71684240504965 | epot = -12.3069291305862 | etot = -9.13334912458332 -607000 ekin = 1.47529863713266 | erot = 1.62672298753197 | epot = -12.2353707490669 | etot = -9.13334912440231 -608000 ekin = 1.49323166610448 | erot = 1.54399943869277 | epot = -12.1705802290369 | etot = -9.13334912423965 -609000 ekin = 1.50961256615827 | erot = 1.47208306434152 | epot = -12.1150447546089 | etot = -9.13334912410907 -610000 ekin = 1.52396039431393 | erot = 1.41350705715352 | epot = -12.0708165754616 | etot = -9.13334912399415 -611000 ekin = 1.53622860047132 | erot = 1.36992443741477 | epot = -12.0395021618094 | etot = -9.13334912392332 -612000 ekin = 1.54668536626219 | erot = 1.34205362873306 | epot = -12.0220881189051 | etot = -9.13334912390986 -613000 ekin = 1.55571309695651 | erot = 1.32960894336309 | epot = -12.0186711642903 | etot = -9.13334912397073 -614000 ekin = 1.56356369221671 | erot = 1.33131277562909 | epot = -12.028225591966 | etot = -9.13334912412021 -615000 ekin = 1.57013881826616 | erot = 1.34494539762102 | epot = -12.0484333402241 | etot = -9.13334912433694 -616000 ekin = 1.5748568190386 | erot = 1.36757312206584 | epot = -12.0757790657621 | etot = -9.13334912465767 -617000 ekin = 1.57672646781163 | erot = 1.39546251367079 | epot = -12.1055381065046 | etot = -9.13334912502222 -618000 ekin = 1.57456346737768 | erot = 1.42448013453851 | epot = -12.1323927272936 | etot = -9.13334912537746 -619000 ekin = 1.56732946470101 | erot = 1.45059208153023 | epot = -12.1512706718931 | etot = -9.13334912566186 -620000 ekin = 1.55451321753897 | erot = 1.47039334455765 | epot = -12.1582556879159 | etot = -9.13334912581928 -621000 ekin = 1.53644782338436 | erot = 1.48161304591079 | epot = -12.1514099951079 | etot = -9.13334912581271 -622000 ekin = 1.51447783518453 | erot = 1.48347710481977 | epot = -12.1313040656388 | etot = -9.13334912563447 -623000 ekin = 1.49092960733185 | erot = 1.47683215248873 | epot = -12.101110885129 | etot = -9.13334912530837 -624000 ekin = 1.46886130170239 | erot = 1.46422198591474 | epot = -12.0664324125275 | etot = -9.13334912491036 -625000 ekin = 1.45155188812906 | erot = 1.44918251594133 | epot = -12.034083528554 | etot = -9.13334912448364 -626000 ekin = 1.44224748158227 | erot = 1.43533399591538 | epot = -12.0109306015702 | etot = -9.13334912407255 -627000 ekin = 1.44381530880348 | erot = 1.42638005354494 | epot = -12.0035444860842 | etot = -9.13334912373574 -628000 ekin = 1.4583308162053 | erot = 1.4256082487489 | epot = -12.0172881884918 | etot = -9.13334912353762 -629000 ekin = 1.48676985537521 | erot = 1.43535417576745 | epot = -12.0554731546307 | etot = -9.13334912348804 -630000 ekin = 1.52866417049647 | erot = 1.45689184513091 | epot = -12.1189051392532 | etot = -9.13334912362577 -631000 ekin = 1.58193413339469 | erot = 1.49015054897199 | epot = -12.2054338063848 | etot = -9.13334912401817 -632000 ekin = 1.6423485105623 | erot = 1.53357750658553 | epot = -12.3092751416905 | etot = -9.13334912454265 -633000 ekin = 1.70466841197628 | erot = 1.58426390209731 | epot = -12.4222814392234 | etot = -9.13334912514981 -634000 ekin = 1.76318354699949 | erot = 1.63860587790227 | epot = -12.5351385506363 | etot = -9.13334912573451 -635000 ekin = 1.81242625035339 | erot = 1.69306627320296 | epot = -12.6388416497417 | etot = -9.13334912618538 -636000 ekin = 1.84805557838623 | erot = 1.74492785469711 | epot = -12.7263325594983 | etot = -9.13334912641493 -637000 ekin = 1.86755595285165 | erot = 1.79286465558875 | epot = -12.7937697348511 | etot = -9.13334912641071 -638000 ekin = 1.8704735746913 | erot = 1.83697965057034 | epot = -12.840802351469 | etot = -9.13334912620734 -639000 ekin = 1.85817220593526 | erot = 1.87849437006229 | epot = -12.8700157018793 | etot = -9.13334912588174 -640000 ekin = 1.83325502875059 | erot = 1.91930247136211 | epot = -12.8859066256261 | etot = -9.13334912551343 -641000 ekin = 1.79889805051579 | erot = 1.96149522931869 | epot = -12.8937424049928 | etot = -9.1333491251583 -642000 ekin = 1.75833330344831 | erot = 2.00701454516796 | epot = -12.8986969734715 | etot = -9.13334912485521 -643000 ekin = 1.71452400738503 | erot = 2.05742054584748 | epot = -12.9052936778285 | etot = -9.13334912459598 -644000 ekin = 1.67006045206469 | erot = 2.11379950766342 | epot = -12.9172090841588 | etot = -9.13334912443064 -645000 ekin = 1.62710169193507 | erot = 2.17652829047503 | epot = -12.9369791067681 | etot = -9.13334912435798 -646000 ekin = 1.58731920570871 | erot = 2.24499987972099 | epot = -12.9656682098005 | etot = -9.13334912437076 -647000 ekin = 1.5519287984978 | erot = 2.31774723145552 | epot = -13.0030251544465 | etot = -9.13334912449313 -648000 ekin = 1.52155547404241 | erot = 2.3921684940498 | epot = -13.0470730928209 | etot = -9.1333491247287 -649000 ekin = 1.49615701172334 | erot = 2.46459269466401 | epot = -13.0940988314631 | etot = -9.13334912507576 -650000 ekin = 1.4749582040793 | erot = 2.53042613107505 | epot = -13.1387334606739 | etot = -9.13334912551956 -651000 ekin = 1.45644758275727 | erot = 2.58442104122277 | epot = -13.1742177500083 | etot = -9.13334912602828 -652000 ekin = 1.43848054669938 | erot = 2.62109720355956 | epot = -13.1929268768061 | etot = -9.13334912654716 -653000 ekin = 1.418535386466 | erot = 2.63533318879061 | epot = -13.1872177022545 | etot = -9.13334912699785 -654000 ekin = 1.39414099594557 | erot = 2.62311445987521 | epot = -13.1506045831126 | etot = -9.13334912729179 -655000 ekin = 1.36342278664424 | erot = 2.58232798191531 | epot = -13.0790998958907 | etot = -9.13334912733113 -656000 ekin = 1.32754554559858 | erot = 2.51343997306615 | epot = -12.9743346448082 | etot = -9.1333491261435 -657000 ekin = 1.07738759792772 | erot = 2.44669612963399 | epot = -12.6574327807952 | etot = -9.13334905323347 -658000 ekin = 1.00652014230032 | erot = 2.49084781647026 | epot = -12.6307170433285 | etot = -9.13334908455789 -659000 ekin = 1.07240085017734 | erot = 2.42929901831529 | epot = -12.635048983779 | etot = -9.13334911528638 -660000 ekin = 1.09381648980785 | erot = 2.30102308261602 | epot = -12.5281886879193 | etot = -9.13334911549543 -661000 ekin = 1.11701334337999 | erot = 2.16959631554143 | epot = -12.4199587738156 | etot = -9.13334911489422 -662000 ekin = 1.14263894057994 | erot = 2.04231481245697 | epot = -12.3183028674859 | etot = -9.13334911444903 -663000 ekin = 1.17093665277096 | erot = 1.92510458369648 | epot = -12.2293903506437 | etot = -9.13334911417622 -664000 ekin = 1.20146324496831 | erot = 1.82207009510825 | epot = -12.1568824541654 | etot = -9.13334911408881 -665000 ekin = 1.23289032447975 | erot = 1.735648364276 | epot = -12.1018878027968 | etot = -9.13334911404106 -666000 ekin = 1.26340464455218 | erot = 1.667025926681 | epot = -12.0637796854968 | etot = -9.13334911426366 -667000 ekin = 1.29102574814593 | erot = 1.61488086820421 | epot = -12.0392557309133 | etot = -9.13334911456314 -668000 ekin = 1.31376054134927 | erot = 1.5764971277367 | epot = -12.0236067839923 | etot = -9.13334911490633 -669000 ekin = 1.32989404565464 | erot = 1.54828621181587 | epot = -12.0115293726992 | etot = -9.13334911522865 -670000 ekin = 1.33826340890754 | erot = 1.52640844797489 | epot = -11.9980209723676 | etot = -9.13334911548521 -671000 ekin = 1.33847461323346 | erot = 1.50724764864856 | epot = -11.9790713775232 | etot = -9.13334911564113 -672000 ekin = 1.33101969554678 | erot = 1.48781306139283 | epot = -11.9521818726182 | etot = -9.13334911567861 -673000 ekin = 1.31737035051176 | erot = 1.4661022805312 | epot = -11.9168217466047 | etot = -9.13334911556173 -674000 ekin = 1.29992521798198 | erot = 1.4413124176082 | epot = -11.8745867509663 | etot = -9.13334911537614 -675000 ekin = 1.28129254582524 | erot = 1.41347048294566 | epot = -11.8281121439067 | etot = -9.13334911513581 -676000 ekin = 1.26413925333757 | erot = 1.38336835396576 | epot = -11.780856722189 | etot = -9.13334911488567 -677000 ekin = 1.25080949630036 | erot = 1.35227525692409 | epot = -11.7364338679154 | etot = -9.13334911469091 -678000 ekin = 1.24240325883958 | erot = 1.3212224636356 | epot = -11.6969748370327 | etot = -9.13334911455754 -679000 ekin = 1.2393516412486 | erot = 1.29124446460956 | epot = -11.6639452203567 | etot = -9.13334911449854 -680000 ekin = 1.24151057851822 | erot = 1.26358348831142 | epot = -11.6384431811751 | etot = -9.13334911434545 -681000 ekin = 1.2481079198548 | erot = 1.23998966300245 | epot = -11.6214466973225 | etot = -9.13334911446523 -682000 ekin = 1.25738088472655 | erot = 1.22073219170507 | epot = -11.6114621910609 | etot = -9.13334911462931 -683000 ekin = 1.26715254864191 | erot = 1.2055490969485 | epot = -11.6060507604 | etot = -9.13334911480957 -684000 ekin = 1.27521936884399 | erot = 1.1939299525654 | epot = -11.6024984363875 | etot = -9.13334911497808 -685000 ekin = 1.27965818658062 | erot = 1.18525667281043 | epot = -11.5982639744944 | etot = -9.13334911510335 -686000 ekin = 1.27906445706628 | erot = 1.17887846190797 | epot = -11.5912920341647 | etot = -9.13334911519041 -687000 ekin = 1.27268261754012 | erot = 1.17407129022145 | epot = -11.5801030230213 | etot = -9.13334911525974 -688000 ekin = 1.26041914406642 | erot = 1.1700760478346 | epot = -11.5638443071288 | etot = -9.13334911522773 -689000 ekin = 1.2428793849551 | erot = 1.16656725574329 | epot = -11.5427957558554 | etot = -9.13334911515697 -690000 ekin = 1.22118240404883 | erot = 1.16336387131168 | epot = -11.5178953904198 | etot = -9.13334911505928 -691000 ekin = 1.19679867225268 | erot = 1.16037339233088 | epot = -11.4905211795297 | etot = -9.13334911494617 -692000 ekin = 1.17139142555539 | erot = 1.15758648593064 | epot = -11.4623270263136 | etot = -9.1333491148276 -693000 ekin = 1.14685376597371 | erot = 1.15519232867376 | epot = -11.4353952091881 | etot = -9.1333491145406 -694000 ekin = 1.12537035278852 | erot = 1.15368599836277 | epot = -11.412405465604 | etot = -9.13334911445274 -695000 ekin = 1.10824764597662 | erot = 1.15324052660538 | epot = -11.3948372869643 | etot = -9.1333491143823 -696000 ekin = 1.09641524899341 | erot = 1.15407441364682 | epot = -11.383838776975 | etot = -9.13334911433473 -697000 ekin = 1.09040706960007 | erot = 1.15645735234472 | epot = -11.3802135362623 | etot = -9.13334911431747 -698000 ekin = 1.09030542376481 | erot = 1.16063392710713 | epot = -11.3842884652006 | etot = -9.13334911432863 -699000 ekin = 1.0955253614223 | erot = 1.16669639941862 | epot = -11.3955708752032 | etot = -9.13334911436229 -700000 ekin = 1.10527379803485 | erot = 1.17478862115944 | epot = -11.4134115336302 | etot = -9.13334911443592 -701000 ekin = 1.11851271408444 | erot = 1.18492470948241 | epot = -11.4367865380912 | etot = -9.13334911452438 -702000 ekin = 1.1339554937307 | erot = 1.19694667251745 | epot = -11.4642512808782 | etot = -9.13334911463 -703000 ekin = 1.15018285433623 | erot = 1.2105705597141 | epot = -11.4941025287948 | etot = -9.13334911474445 -704000 ekin = 1.1657667345821 | erot = 1.22535908060157 | epot = -11.5244749300411 | etot = -9.13334911485743 -705000 ekin = 1.17938915503837 | erot = 1.24076765314074 | epot = -11.553505923137 | etot = -9.1333491149579 -706000 ekin = 1.18994261306683 | erot = 1.25622348494622 | epot = -11.5795152130485 | etot = -9.13334911503546 -707000 ekin = 1.19660107195869 | erot = 1.27122780267335 | epot = -11.6011779897132 | etot = -9.13334911508118 -708000 ekin = 1.19885615187048 | erot = 1.28546332267694 | epot = -11.6176685896373 | etot = -9.13334911508987 -709000 ekin = 1.19651981509827 | erot = 1.29888532038517 | epot = -11.6287542505434 | etot = -9.13334911506 -710000 ekin = 1.18969957497472 | erot = 1.31177606554499 | epot = -11.6348247555143 | etot = -9.13334911499455 -711000 ekin = 1.1787538760317 | erot = 1.3247479148329 | epot = -11.6368509057657 | etot = -9.13334911490108 -712000 ekin = 1.16423391784202 | erot = 1.33868945229471 | epot = -11.6362724849272 | etot = -9.13334911479043 -713000 ekin = 1.14681758773388 | erot = 1.35466305351125 | epot = -11.634829755923 | etot = -9.13334911467782 -714000 ekin = 1.12724173590936 | erot = 1.37373509014309 | epot = -11.6343259406299 | etot = -9.13334911457743 -715000 ekin = 1.10624050750221 | erot = 1.39681075798059 | epot = -11.636400379986 | etot = -9.13334911450316 -716000 ekin = 1.08449847089202 | erot = 1.42446438144908 | epot = -11.6423119668073 | etot = -9.13334911446624 -717000 ekin = 1.06262586730476 | erot = 1.45678801963507 | epot = -11.6527630014134 | etot = -9.13334911447358 -718000 ekin = 1.04116056517941 | erot = 1.49328580499488 | epot = -11.6677954846997 | etot = -9.13334911452541 -719000 ekin = 1.02059756446808 | erot = 1.53283565407152 | epot = -11.6867823331548 | etot = -9.1333491146152 -720000 ekin = 1.0014427609145 | erot = 1.57373478108394 | epot = -11.7085266567279 | etot = -9.13334911472945 -721000 ekin = 0.984282698240367 | erot = 1.61383653731675 | epot = -11.7314683504059 | etot = -9.13334911484873 -722000 ekin = 0.969856334574407 | erot = 1.65076935459341 | epot = -11.7539748041227 | etot = -9.13334911495492 -723000 ekin = 0.959109074095759 | erot = 1.68219090541347 | epot = -11.7746490945311 | etot = -9.13334911502187 -724000 ekin = 0.953206498551804 | erot = 1.70610525280783 | epot = -11.7926608663973 | etot = -9.13334911503771 -725000 ekin = 0.953487871458015 | erot = 1.72112406445722 | epot = -11.8079610509135 | etot = -9.13334911499828 -726000 ekin = 0.961348420448175 | erot = 1.7266421875677 | epot = -11.8213397229277 | etot = -9.13334911491184 -727000 ekin = 0.978055186999046 | erot = 1.72290320033124 | epot = -11.8343075021266 | etot = -9.13334911479628 -728000 ekin = 1.00452582497673 | erot = 1.71095374107487 | epot = -11.8488286807248 | etot = -9.13334911467315 -729000 ekin = 1.04110137579934 | erot = 1.69252215341149 | epot = -11.8669726437798 | etot = -9.13334911456893 -730000 ekin = 1.08735958690386 | erot = 1.66981008958264 | epot = -11.890518790993 | etot = -9.13334911450653 -731000 ekin = 1.1420041837516 | erot = 1.64524141706267 | epot = -11.920594715318 | etot = -9.1333491145037 -732000 ekin = 1.20285318014365 | erot = 1.62119095713356 | epot = -11.9573932518487 | etot = -9.13334911457145 -733000 ekin = 1.26692596391617 | erot = 1.5997652891012 | epot = -12.0000403677204 | etot = -9.13334911470305 -734000 ekin = 1.33064406418141 | erot = 1.58254289880734 | epot = -12.0465360778975 | etot = -9.13334911490875 -735000 ekin = 1.39013484388619 | erot = 1.57032898633438 | epot = -12.0938129453804 | etot = -9.13334911515982 -736000 ekin = 1.44157509139699 | erot = 1.56317476788781 | epot = -12.1380989747131 | etot = -9.13334911542835 -737000 ekin = 1.48157845589818 | erot = 1.56044545881657 | epot = -12.1753730303924 | etot = -9.13334911567769 -738000 ekin = 1.50757504378139 | erot = 1.56100911667208 | epot = -12.2019332763223 | etot = -9.13334911586887 -739000 ekin = 1.51813561812423 | erot = 1.56352092529645 | epot = -12.2150056593871 | etot = -9.13334911596644 -740000 ekin = 1.5131891484932 | erot = 1.56675183785207 | epot = -12.2132901022912 | etot = -9.13334911594598 -741000 ekin = 1.49408865830106 | erot = 1.56989906104169 | epot = -12.1973368351425 | etot = -9.13334911579973 -742000 ekin = 1.46350061535612 | erot = 1.57280025700805 | epot = -12.1696499879058 | etot = -9.13334911554164 -743000 ekin = 1.42512524133835 | erot = 1.5759331060082 | epot = -12.1344074625141 | etot = -9.13334911516755 -744000 ekin = 1.38338487585248 | erot = 1.58054361278335 | epot = -12.0972776034333 | etot = -9.13334911479746 -745000 ekin = 1.34281951273925 | erot = 1.58823582840579 | epot = -12.0644044556005 | etot = -9.13334911445543 -746000 ekin = 1.3074733476531 | erot = 1.60047096980707 | epot = -12.041293431658 | etot = -9.13334911419779 -747000 ekin = 1.28046646005374 | erot = 1.61821768665581 | epot = -12.0320332608023 | etot = -9.13334911409271 -748000 ekin = 1.26367955923549 | erot = 1.64132893143149 | epot = -12.0383576048368 | etot = -9.13334911416977 -749000 ekin = 1.25742934419916 | erot = 1.66831440024107 | epot = -12.0590928588777 | etot = -9.1333491144375 -750000 ekin = 1.26047795507714 | erot = 1.69628448614349 | epot = -12.0901115560711 | etot = -9.13334911485048 -751000 ekin = 1.27026186447005 | erot = 1.72133386885556 | epot = -12.1249448486651 | etot = -9.13334911533951 -752000 ekin = 1.28339547086213 | erot = 1.7391907550537 | epot = -12.1559353417243 | etot = -9.13334911580849 -753000 ekin = 1.29635957466465 | erot = 1.74596876191514 | epot = -12.1756774527986 | etot = -9.1333491162188 -754000 ekin = 1.30599158740738 | erot = 1.73885024062937 | epot = -12.1781909444246 | etot = -9.13334911638781 -755000 ekin = 1.31024888115925 | erot = 1.71683511467824 | epot = -12.1604331121785 | etot = -9.13334911634098 -756000 ekin = 1.30846938321297 | erot = 1.68097972249326 | epot = -12.1227982217976 | etot = -9.13334911609136 -757000 ekin = 1.30124985041155 | erot = 1.63419006476318 | epot = -12.0687890308635 | etot = -9.13334911568874 -758000 ekin = 1.29019641090291 | erot = 1.58073563388876 | epot = -12.0042811599956 | etot = -9.13334911520392 -759000 ekin = 1.27761222227388 | erot = 1.52554636406421 | epot = -11.9365077010364 | etot = -9.13334911469834 -760000 ekin = 1.26609069506515 | erot = 1.47348693038562 | epot = -11.8729267397093 | etot = -9.13334911425857 -761000 ekin = 1.25808964011373 | erot = 1.42869550462559 | epot = -11.8201342586628 | etot = -9.13334911392351 -762000 ekin = 1.2557222220027 | erot = 1.39407442311413 | epot = -11.7831457588655 | etot = -9.13334911374866 -763000 ekin = 1.26054534569423 | erot = 1.37090045944292 | epot = -11.7647949188326 | etot = -9.13334911369551 -764000 ekin = 1.27353435439597 | erot = 1.35887199086497 | epot = -11.7657554590525 | etot = -9.13334911379152 -765000 ekin = 1.29496682599499 | erot = 1.35616457698383 | epot = -11.7844805169715 | etot = -9.13334911399271 -766000 ekin = 1.32454629041756 | erot = 1.35977679503123 | epot = -11.8176721997117 | etot = -9.13334911426287 -767000 ekin = 1.36163954271379 | erot = 1.36618632224179 | epot = -11.8611749795103 | etot = -9.13334911455469 -768000 ekin = 1.40531019892094 | erot = 1.37181010083784 | epot = -11.9104694145876 | etot = -9.13334911482879 -769000 ekin = 1.45446512868536 | erot = 1.37353498051673 | epot = -11.9613492242422 | etot = -9.13334911504015 -770000 ekin = 1.50793050151783 | erot = 1.36921125650349 | epot = -12.0104908732572 | etot = -9.13334911523587 -771000 ekin = 1.56389616692798 | erot = 1.35775090661774 | epot = -12.0549961888034 | etot = -9.13334911525767 -772000 ekin = 1.62113703503969 | erot = 1.33970323505823 | epot = -12.0941893852864 | etot = -9.13334911518849 -773000 ekin = 1.67872851568979 | erot = 1.3170298298989 | epot = -12.1291074606507 | etot = -9.13334911506197 -774000 ekin = 1.73569257108243 | erot = 1.29264163251396 | epot = -12.1616833185185 | etot = -9.13334911492206 -775000 ekin = 1.79085656132941 | erot = 1.26988000053024 | epot = -12.1940856766708 | etot = -9.13334911481117 -776000 ekin = 1.84276100467541 | erot = 1.25197534039084 | epot = -12.2280854598246 | etot = -9.13334911475839 -777000 ekin = 1.88967118603039 | erot = 1.24159765892512 | epot = -12.2646179597273 | etot = -9.1333491147718 -778000 ekin = 1.9297162225995 | erot = 1.24057583215499 | epot = -12.303641169595 | etot = -9.13334911484054 -779000 ekin = 1.9611316425415 | erot = 1.24980912494295 | epot = -12.3442898824248 | etot = -9.13334911494038 -780000 ekin = 1.98254203385539 | erot = 1.26932045667715 | epot = -12.3852116055761 | etot = -9.13334911504356 -781000 ekin = 1.9932140640502 | erot = 1.29840823519191 | epot = -12.4249714143716 | etot = -9.13334911512951 -782000 ekin = 1.99321095940136 | erot = 1.33580885492537 | epot = -12.4623689295147 | etot = -9.13334911518796 -783000 ekin = 1.98342491292877 | erot = 1.37983642298654 | epot = -12.4966104511329 | etot = -9.13334911521759 -784000 ekin = 1.96551238429458 | erot = 1.42849371621366 | epot = -12.5273552156782 | etot = -9.13334911516994 -785000 ekin = 1.94195910111536 | erot = 1.4796134882178 | epot = -12.5549217044944 | etot = -9.13334911516124 -786000 ekin = 1.91549982325668 | erot = 1.53087711626571 | epot = -12.5797260546585 | etot = -9.13334911513609 -787000 ekin = 1.88902915932762 | erot = 1.57997565975501 | epot = -12.6023539341757 | etot = -9.13334911509307 -788000 ekin = 1.8655374655374 | erot = 1.62478646024939 | epot = -12.6236730408243 | etot = -9.13334911503753 -789000 ekin = 1.84793067283938 | erot = 1.66350572426187 | epot = -12.6447855120654 | etot = -9.13334911496417 -790000 ekin = 1.83884831411928 | erot = 1.69477325871393 | epot = -12.6669706877276 | etot = -9.13334911489441 -791000 ekin = 1.84038435201287 | erot = 1.717681278482 | epot = -12.6914147453501 | etot = -9.1333491148552 -792000 ekin = 1.85374621231071 | erot = 1.73169683790039 | epot = -12.7187921650887 | etot = -9.13334911487764 -793000 ekin = 1.87892178729581 | erot = 1.7365357692381 | epot = -12.7488066715196 | etot = -9.13334911498573 -794000 ekin = 1.9144051004538 | erot = 1.73204169927541 | epot = -12.7797959149079 | etot = -9.13334911517866 -795000 ekin = 1.95726697872445 | erot = 1.7181897621696 | epot = -12.8088058563145 | etot = -9.13334911542047 -796000 ekin = 2.00360851779741 | erot = 1.69525335458669 | epot = -12.8322109880317 | etot = -9.13334911564764 -797000 ekin = 2.04914358120541 | erot = 1.66405946741293 | epot = -12.8465521644082 | etot = -9.13334911578984 -798000 ekin = 2.08995546227646 | erot = 1.62623745951928 | epot = -12.8495420375983 | etot = -9.13334911580259 -799000 ekin = 2.12309292251455 | erot = 1.58427028115591 | epot = -12.8407123193571 | etot = -9.13334911568662 -800000 ekin = 2.14682990847798 | erot = 1.54126138558611 | epot = -12.8214404095459 | etot = -9.13334911548182 -801000 ekin = 2.16058282773072 | erot = 1.50048202046291 | epot = -12.7944139634394 | etot = -9.13334911524581 -802000 ekin = 2.16461511109769 | erot = 1.46486615502033 | epot = -12.7628303811484 | etot = -9.13334911503038 -803000 ekin = 2.15969104316893 | erot = 1.43661335441228 | epot = -12.7296535124497 | etot = -9.13334911486855 -804000 ekin = 2.14679128688362 | erot = 1.41698988507324 | epot = -12.697130286716 | etot = -9.13334911475917 -805000 ekin = 2.12692065944467 | erot = 1.40638520513925 | epot = -12.6666549793083 | etot = -9.13334911472434 -806000 ekin = 2.10099028264049 | erot = 1.40422932574232 | epot = -12.6385687231435 | etot = -9.13334911476072 -807000 ekin = 2.0698276384243 | erot = 1.40909451157967 | epot = -12.6122712648421 | etot = -9.1333491148381 -808000 ekin = 2.03419092298425 | erot = 1.41919422166235 | epot = -12.5867342595753 | etot = -9.13334911492871 -809000 ekin = 1.99478586656647 | erot = 1.4323885834066 | epot = -12.5605235650258 | etot = -9.13334911505277 -810000 ekin = 1.95230744547314 | erot = 1.44625258192792 | epot = -12.5319091425763 | etot = -9.13334911517529 -811000 ekin = 1.90747094189393 | erot = 1.45847148723586 | epot = -12.4992915444127 | etot = -9.13334911528296 -812000 ekin = 1.86102893103176 | erot = 1.4670396354885 | epot = -12.4614176818835 | etot = -9.13334911536329 -813000 ekin = 1.81416432243969 | erot = 1.47049868907969 | epot = -12.4180121266556 | etot = -9.13334911513622 -814000 ekin = 1.7690292616789 | erot = 1.46826739311699 | epot = -12.3706457700814 | etot = -9.13334911528547 -815000 ekin = 1.71533069952221 | erot = 1.45797598424745 | epot = -12.3066557947942 | etot = -9.13334911102453 -816000 ekin = 1.68468183703207 | erot = 1.43935942019696 | epot = -12.257390367637 | etot = -9.13334911040796 -817000 ekin = 1.67569540451596 | erot = 1.42022759193342 | epot = -12.2292721045984 | etot = -9.13334910814902 -818000 ekin = 1.65431804078292 | erot = 1.40071144600214 | epot = -12.1883785945463 | etot = -9.13334910776125 -819000 ekin = 1.63740188371185 | erot = 1.3825693171682 | epot = -12.1533203082661 | etot = -9.13334910738609 -820000 ekin = 1.62512170450201 | erot = 1.36928168852872 | epot = -12.127752500055 | etot = -9.13334910702429 -821000 ekin = 1.61915909097238 | erot = 1.36404110715767 | epot = -12.116549304838 | etot = -9.13334910670795 -822000 ekin = 1.62172343975997 | erot = 1.36925913747531 | epot = -12.1243316837534 | etot = -9.13334910651813 -823000 ekin = 1.63427494812674 | erot = 1.38616632190425 | epot = -12.1537903765404 | etot = -9.13334910650937 -824000 ekin = 1.65698382618117 | erot = 1.41459711184826 | epot = -12.2049300447226 | etot = -9.13334910669317 -825000 ekin = 1.68854753273754 | erot = 1.4530163184112 | epot = -12.2749129581874 | etot = -9.13334910703868 -826000 ekin = 1.72638863496182 | erot = 1.49875661578855 | epot = -12.3584943582387 | etot = -9.13334910748834 -827000 ekin = 1.76710423380894 | erot = 1.5483943923347 | epot = -12.4488477341201 | etot = -9.13334910797649 -828000 ekin = 1.80698482334212 | erot = 1.59818184900584 | epot = -12.5385157807928 | etot = -9.13334910844479 -829000 ekin = 1.84246939970371 | erot = 1.64447465717353 | epot = -12.6202931657229 | etot = -9.13334910884565 -830000 ekin = 1.87048980343784 | erot = 1.68412933438467 | epot = -12.6879682469633 | etot = -9.13334910914077 -831000 ekin = 1.88871335828315 | erot = 1.71486645417632 | epot = -12.7369289217598 | etot = -9.13334910930037 -832000 ekin = 1.89569916792215 | erot = 1.73558694751606 | epot = -12.7646352247433 | etot = -9.13334910930512 -833000 ekin = 1.89096344935919 | erot = 1.74659447551767 | epot = -12.7709070340313 | etot = -9.13334910915446 -834000 ekin = 1.87493429545044 | erot = 1.74964392180392 | epot = -12.7579273261441 | etot = -9.13334910888973 -835000 ekin = 1.84878280514188 | erot = 1.74762027308111 | epot = -12.7297521867477 | etot = -9.13334910852467 -836000 ekin = 1.81414476909458 | erot = 1.74421722088821 | epot = -12.6917110981233 | etot = -9.13334910814055 -837000 ekin = 1.77277875467178 | erot = 1.74335285139621 | epot = -12.6494807138721 | etot = -9.13334910780415 -838000 ekin = 1.72624445531291 | erot = 1.74841404792742 | epot = -12.6080076108072 | etot = -9.13334910756691 -839000 ekin = 1.67568816110695 | erot = 1.76165550554617 | epot = -12.5706927741087 | etot = -9.13334910745559 -840000 ekin = 1.62179135099361 | erot = 1.78387657046074 | epot = -12.5390170289109 | etot = -9.13334910745657 -841000 ekin = 1.56488441151228 | erot = 1.81456573943011 | epot = -12.5127992584808 | etot = -9.13334910753844 -842000 ekin = 1.50517399563012 | erot = 1.85205645865189 | epot = -12.4905795619798 | etot = -9.13334910769775 -843000 ekin = 1.44300548284013 | erot = 1.89358112522623 | epot = -12.4699357158733 | etot = -9.1333491078069 -844000 ekin = 1.37906620630961 | erot = 1.9363968518669 | epot = -12.4488121660479 | etot = -9.13334910787136 -845000 ekin = 1.31446352833253 | erot = 1.97812996436854 | epot = -12.4259426005726 | etot = -9.13334910787156 -846000 ekin = 1.2506869232932 | erot = 2.01700234954142 | epot = -12.4010383806382 | etot = -9.13334910780356 -847000 ekin = 1.18947724707827 | erot = 2.05204320492274 | epot = -12.3748695596767 | etot = -9.13334910767568 -848000 ekin = 1.13265732504563 | erot = 2.08314733278718 | epot = -12.3491537653375 | etot = -9.13334910750474 -849000 ekin = 1.08197657769804 | erot = 2.11099249695246 | epot = -12.3263181819604 | etot = -9.1333491073099 -850000 ekin = 1.03899924537826 | erot = 2.13684654285134 | epot = -12.3091948953427 | etot = -9.13334910711305 -851000 ekin = 1.00503792489466 | erot = 2.16230618699749 | epot = -12.3006932188269 | etot = -9.13334910693474 -852000 ekin = 0.981116857869625 | erot = 2.18901371773925 | epot = -12.3034796824018 | etot = -9.13334910679296 -853000 ekin = 0.967947652220943 | erot = 2.21839549972771 | epot = -12.3196922586521 | etot = -9.13334910670346 -854000 ekin = 0.965908910686514 | erot = 2.25145766401094 | epot = -12.3507156813713 | etot = -9.13334910667388 -855000 ekin = 0.975031148290714 | erot = 2.28866143868334 | epot = -12.3970416936804 | etot = -9.13334910670631 -856000 ekin = 0.994993726116716 | erot = 2.32988587266416 | epot = -12.4582287055777 | etot = -9.13334910679682 -857000 ekin = 1.02514000045904 | erot = 2.37447147764261 | epot = -12.5329605850375 | etot = -9.13334910693581 -858000 ekin = 1.06451194043056 | erot = 2.42132581263801 | epot = -12.619186860179 | etot = -9.13334910711044 -859000 ekin = 1.11189872921113 | erot = 2.46906217646869 | epot = -12.7143100129879 | etot = -9.13334910730811 -860000 ekin = 1.1658880043274 | erot = 2.51613734357253 | epot = -12.8153744554191 | etot = -9.13334910751921 -861000 ekin = 1.22490604809786 | erot = 2.56095681693251 | epot = -12.9192119727698 | etot = -9.13334910773946 -862000 ekin = 1.2872363258061 | erot = 2.60192847235973 | epot = -13.0225139061362 | etot = -9.1333491079704 -863000 ekin = 1.35101431938244 | erot = 2.63746581474711 | epot = -13.1218292423458 | etot = -9.13334910821624 -864000 ekin = 1.41420820518659 | erot = 2.66596355874005 | epot = -13.2135208724068 | etot = -9.13334910848016 -865000 ekin = 1.47460562928785 | erot = 2.6857819546387 | epot = -13.2937366926867 | etot = -9.13334910876018 -866000 ekin = 1.52983303720772 | erot = 2.69527584727129 | epot = -13.3584579935244 | etot = -9.13334910904542 -867000 ekin = 1.57743376516812 | erot = 2.6928893309621 | epot = -13.4036722054452 | etot = -9.13334910931502 -868000 ekin = 1.61502389037303 | erot = 2.67731200500682 | epot = -13.4256850049196 | etot = -9.13334910953978 -869000 ekin = 1.64053051308163 | erot = 2.6476662552779 | epot = -13.4215458780457 | etot = -9.13334910968619 -870000 ekin = 1.65249590024982 | erot = 2.60367561916209 | epot = -13.3895206291353 | etot = -9.13334910972337 -871000 ekin = 1.65040511753768 | erot = 2.54576053414292 | epot = -13.3295147613111 | etot = -9.1333491096305 -872000 ekin = 1.63497077370826 | erot = 2.47502461263164 | epot = -13.2433444957426 | etot = -9.13334910940269 -873000 ekin = 1.60829551086271 | erot = 2.39312864670762 | epot = -13.1347732666248 | etot = -9.1333491090545 -874000 ekin = 1.57383856497694 | erot = 2.30208675135929 | epot = -13.0092744249551 | etot = -9.13334910861885 -875000 ekin = 1.53613967512438 | erot = 2.20404109164597 | epot = -12.8735298749149 | etot = -9.1333491081445 -876000 ekin = 1.50030007471464 | erot = 2.10106901468353 | epot = -12.7347181970869 | etot = -9.13334910768869 -877000 ekin = 1.47128183650108 | erot = 1.99505592486885 | epot = -12.5996868686778 | etot = -9.13334910730782 -878000 ekin = 1.45315269235 | erot = 1.88764504253699 | epot = -12.4741468419323 | etot = -9.13334910704534 -879000 ekin = 1.4484500959266 | erot = 1.78026193724842 | epot = -12.3620611400946 | etot = -9.13334910691957 -880000 ekin = 1.45783397194386 | erot = 1.67420503622016 | epot = -12.2653881150821 | etot = -9.13334910691806 -881000 ekin = 1.48012455416753 | erot = 1.57078382964449 | epot = -12.1842574908138 | etot = -9.13334910700176 -882000 ekin = 1.51270015737059 | erot = 1.47147015192501 | epot = -12.1175194164142 | etot = -9.13334910711862 -883000 ekin = 1.55211568291773 | erot = 1.37801244883105 | epot = -12.0634772389701 | etot = -9.13334910722133 -884000 ekin = 1.59475301549695 | erot = 1.29246300163005 | epot = -12.0205651244067 | etot = -9.13334910727973 -885000 ekin = 1.63734681492245 | erot = 1.21709221485168 | epot = -11.9877881370588 | etot = -9.13334910728466 -886000 ekin = 1.6773121130015 | erot = 1.15420415260407 | epot = -11.9648653728497 | etot = -9.13334910724412 -887000 ekin = 1.71288068345535 | erot = 1.10590165063719 | epot = -11.9521314412674 | etot = -9.13334910717484 -888000 ekin = 1.74309500656915 | erot = 1.07385834530941 | epot = -11.950302458975 | etot = -9.13334910709643 -889000 ekin = 1.76770969091231 | erot = 1.05913784424334 | epot = -11.9601966421835 | etot = -9.13334910702782 -890000 ekin = 1.78703240996185 | erot = 1.06207375035186 | epot = -11.9824552673014 | etot = -9.13334910698768 -891000 ekin = 1.80172329224763 | erot = 1.08220747466305 | epot = -12.0172798739035 | etot = -9.13334910699285 -892000 ekin = 1.81257293682635 | erot = 1.11828058018264 | epot = -12.0642026240649 | etot = -9.13334910705593 -893000 ekin = 1.82028982711442 | erot = 1.16828769625092 | epot = -12.1219266305462 | etot = -9.13334910718089 -894000 ekin = 1.82533649728179 | erot = 1.22960280171653 | epot = -12.1882884063592 | etot = -9.13334910736086 -895000 ekin = 1.82785071659427 | erot = 1.2991877547128 | epot = -12.2603875788832 | etot = -9.13334910757614 -896000 ekin = 1.82766966747743 | erot = 1.37387583336524 | epot = -12.3348946086395 | etot = -9.13334910779684 -897000 ekin = 1.82444603807961 | erot = 1.45069893544394 | epot = -12.4084940815133 | etot = -9.13334910798977 -898000 ekin = 1.81781661005541 | erot = 1.52720356356609 | epot = -12.4783692817485 | etot = -9.13334910812701 -899000 ekin = 1.80756915109155 | erot = 1.60168843028858 | epot = -12.5426066895729 | etot = -9.13334910819277 -900000 ekin = 1.79375843955379 | erot = 1.67330364931526 | epot = -12.6004111970576 | etot = -9.13334910818851 -901000 ekin = 1.77674318475336 | erot = 1.74197941465947 | epot = -12.6520717075445 | etot = -9.13334910813171 -902000 ekin = 1.75714245727909 | erot = 1.80819394408805 | epot = -12.6986855094183 | etot = -9.13334910805119 -903000 ekin = 1.7357334444054 | erot = 1.87263325992122 | epot = -12.7417158123058 | etot = -9.13334910797918 -904000 ekin = 1.71332625907535 | erot = 1.93582474193924 | epot = -12.782500108957 | etot = -9.13334910794242 -905000 ekin = 1.69065428569354 | erot = 1.99783248441353 | epot = -12.8218358780628 | etot = -9.1333491079557 -906000 ekin = 1.66831072855137 | erot = 2.05808381419499 | epot = -12.8597436507661 | etot = -9.13334910801975 -907000 ekin = 1.64674588303028 | erot = 2.11535919823548 | epot = -12.8954541893857 | etot = -9.13334910811994 -908000 ekin = 1.62631907113306 | erot = 2.16793324012268 | epot = -12.9276014194903 | etot = -9.13334910823454 -909000 ekin = 1.60738004099874 | erot = 2.21381581983028 | epot = -12.9545449691698 | etot = -9.13334910834077 -910000 ekin = 1.59034402491101 | erot = 2.25102295600898 | epot = -12.9747160893416 | etot = -9.13334910842156 -911000 ekin = 1.57572782710831 | erot = 2.27781488082938 | epot = -12.9868918164058 | etot = -9.13334910846814 -912000 ekin = 1.5641305468329 | erot = 2.29287003004535 | epot = -12.9903496853576 | etot = -9.13334910847936 -913000 ekin = 1.5561639873769 | erot = 2.29539983334633 | epot = -12.9849129291808 | etot = -9.13334910845755 -914000 ekin = 1.55235379274342 | erot = 2.2852276038725 | epot = -12.970930505022 | etot = -9.13334910840612 -915000 ekin = 1.55303636075847 | erot = 2.26284508697262 | epot = -12.94923055606 | etot = -9.13334910832891 -916000 ekin = 1.5582700337321 | erot = 2.22943339360812 | epot = -12.9210525355727 | etot = -9.13334910823245 -917000 ekin = 1.567769240557 | erot = 2.18681551598724 | epot = -12.8879338646715 | etot = -9.13334910812723 -918000 ekin = 1.58086450735443 | erot = 2.13731406706596 | epot = -12.8515276824492 | etot = -9.1333491080288 -919000 ekin = 1.5964919092129 | erot = 2.08351907893934 | epot = -12.8133600961054 | etot = -9.13334910795319 -920000 ekin = 1.613218928833 | erot = 2.02800735916595 | epot = -12.7745753959116 | etot = -9.13334910791269 -921000 ekin = 1.62931395437424 | erot = 1.97307497750711 | epot = -12.7357380397945 | etot = -9.13334910791311 -922000 ekin = 1.64286104746403 | erot = 1.9205387034094 | epot = -12.6967488588242 | etot = -9.13334910795072 -923000 ekin = 1.65191234390798 | erot = 1.87163759208079 | epot = -12.6568990440028 | etot = -9.13334910801399 -924000 ekin = 1.65466206201181 | erot = 1.82703710613301 | epot = -12.6150482762312 | etot = -9.1333491080864 -925000 ekin = 1.64962158356019 | erot = 1.7869168012849 | epot = -12.5698874929949 | etot = -9.13334910814982 -926000 ekin = 1.63577435705856 | erot = 1.75111283230762 | epot = -12.5202362975531 | etot = -9.13334910818689 -927000 ekin = 1.61269412580932 | erot = 1.71928618607917 | epot = -12.4653294200718 | etot = -9.13334910818336 -928000 ekin = 1.58061327338363 | erot = 1.69109387512973 | epot = -12.4050562566428 | etot = -9.13334910812944 -929000 ekin = 1.54043465718537 | erot = 1.66634444993708 | epot = -12.3401282151431 | etot = -9.1333491080206 -930000 ekin = 1.49368612296874 | erot = 1.64511875929371 | epot = -12.272153990122 | etot = -9.13334910785959 -931000 ekin = 1.44242020035585 | erot = 1.62783092394188 | epot = -12.2036002319551 | etot = -9.13334910765736 -932000 ekin = 1.38906420477755 | erot = 1.6152004876811 | epot = -12.1376137998939 | etot = -9.13334910743527 -933000 ekin = 1.33622958395961 | erot = 1.60811568410308 | epot = -12.0776943752853 | etot = -9.13334910722259 -934000 ekin = 1.2864948698278 | erot = 1.60739378972964 | epot = -12.0272377666119 | etot = -9.13334910705443 -935000 ekin = 1.24218246525189 | erot = 1.61347919083567 | epot = -11.9890107630518 | etot = -9.13334910696425 -936000 ekin = 1.20515312897568 | erot = 1.62614770366198 | epot = -11.9646499396149 | etot = -9.13334910697722 -937000 ekin = 1.17664231216342 | erot = 1.64429583354988 | epot = -11.954287252818 | etot = -9.13334910710468 -938000 ekin = 1.15716006420355 | erot = 1.66588444175493 | epot = -11.956393613298 | etot = -9.13334910733952 -939000 ekin = 1.1464717171079 | erot = 1.68810326831979 | epot = -11.9679240930744 | etot = -9.13334910764671 -940000 ekin = 1.14367004080966 | erot = 1.70771457433986 | epot = -11.9847337231458 | etot = -9.13334910799624 -941000 ekin = 1.14733884563068 | erot = 1.72149292700232 | epot = -12.0021808809547 | etot = -9.13334910832172 -942000 ekin = 1.15580134680235 | erot = 1.72687300440463 | epot = -12.0160234597692 | etot = -9.13334910856219 -943000 ekin = 1.1674372951318 | erot = 1.72249936625656 | epot = -12.0232857700532 | etot = -9.13334910866488 -944000 ekin = 1.18103106474372 | erot = 1.70858712464011 | epot = -12.022967297985 | etot = -9.13334910860112 -945000 ekin = 1.19606804453646 | erot = 1.68696892706896 | epot = -12.0163860799882 | etot = -9.13334910838277 -946000 ekin = 1.21284058109418 | erot = 1.66075870249184 | epot = -12.006948391658 | etot = -9.13334910807199 -947000 ekin = 1.23222210572278 | erot = 1.6336701113943 | epot = -11.9992413248879 | etot = -9.13334910777082 -948000 ekin = 1.25509690715209 | erot = 1.60916358071798 | epot = -11.9976095954562 | etot = -9.13334910758614 -949000 ekin = 1.28167104220565 | erot = 1.58969080393768 | epot = -12.0047109537229 | etot = -9.13334910757956 -950000 ekin = 1.31105510038024 | erot = 1.57628415674479 | epot = -12.0206883648626 | etot = -9.13334910773754 -951000 ekin = 1.34140314928621 | erot = 1.56859135849714 | epot = -12.0433436157658 | etot = -9.13334910798244 -952000 ekin = 1.37054117668943 | erot = 1.56526000759068 | epot = -12.0691502925011 | etot = -9.13334910822102 -953000 ekin = 1.39670348101787 | erot = 1.56444621742151 | epot = -12.0944988068312 | etot = -9.13334910839178 -954000 ekin = 1.418975292381 | erot = 1.56423287014588 | epot = -12.1165572710088 | etot = -9.13334910848189 -955000 ekin = 1.43729048070642 | erot = 1.56287479952712 | epot = -12.1335143887448 | etot = -9.13334910851126 -956000 ekin = 1.4521106633277 | erot = 1.5589293854746 | epot = -12.1443891573079 | etot = -9.13334910850558 -957000 ekin = 1.46402190623311 | erot = 1.55132217595963 | epot = -12.1486931906758 | etot = -9.1333491084831 -958000 ekin = 1.47342593725724 | erot = 1.53954965711569 | epot = -12.1463247028086 | etot = -9.13334910843571 -959000 ekin = 1.48038578494991 | erot = 1.52394133601144 | epot = -12.1376762293203 | etot = -9.1333491083589 -960000 ekin = 1.48460604034119 | erot = 1.50575363436951 | epot = -12.123708782956 | etot = -9.13334910824526 -961000 ekin = 1.48549975936096 | erot = 1.48721075412105 | epot = -12.1060596215745 | etot = -9.1333491080925 -962000 ekin = 1.48229853496308 | erot = 1.47141202583098 | epot = -12.0870596687005 | etot = -9.13334910790645 -963000 ekin = 1.4741760327198 | erot = 1.46210240867199 | epot = -12.0696275490933 | etot = -9.13334910770152 -964000 ekin = 1.46036644524797 | erot = 1.46332191688881 | epot = -12.0570374696332 | etot = -9.13334910749639 -965000 ekin = 1.44026662181698 | erot = 1.47896324786388 | epot = -12.0525789769985 | etot = -9.13334910731761 -966000 ekin = 1.41351583400278 | erot = 1.51227943251815 | epot = -12.0591443737115 | etot = -9.13334910719058 -967000 ekin = 1.38005134111899 | erot = 1.56539665062779 | epot = -12.0787970988869 | etot = -9.13334910714008 -968000 ekin = 1.34025482724314 | erot = 1.6388568627753 | epot = -12.1124607971947 | etot = -9.13334910717624 -969000 ekin = 1.29476921981363 | erot = 1.73132793710989 | epot = -12.1594462642464 | etot = -9.13334910732287 -970000 ekin = 1.24442005392726 | erot = 1.83972520712881 | epot = -12.217494368596 | etot = -9.1333491075399 -971000 ekin = 1.19046696427247 | erot = 1.95943091409806 | epot = -12.2832469861666 | etot = -9.13334910779604 -972000 ekin = 1.13463097113647 | erot = 2.08475088502996 | epot = -12.3527309642158 | etot = -9.13334910804932 -973000 ekin = 1.07911059567858 | erot = 2.20953944502461 | epot = -12.4219991489609 | etot = -9.13334910825774 -974000 ekin = 1.02657367041557 | erot = 2.32774347840719 | epot = -12.4876662572468 | etot = -9.13334910842406 -975000 ekin = 0.979977932768277 | erot = 2.43392801404807 | epot = -12.5472550553029 | etot = -9.13334910848655 -976000 ekin = 0.942304887100931 | erot = 2.52399013956154 | epot = -12.5996441351357 | etot = -9.13334910847322 -977000 ekin = 0.916335295707905 | erot = 2.59517570124579 | epot = -12.6448601053641 | etot = -9.13334910841037 -978000 ekin = 0.90431642289399 | erot = 2.64601698758131 | epot = -12.6836825188069 | etot = -9.13334910833155 -979000 ekin = 0.907654941511536 | erot = 2.67612704045953 | epot = -12.7171310902397 | etot = -9.13334910826865 -980000 ekin = 0.926700183439006 | erot = 2.68592744664022 | epot = -12.7459767383234 | etot = -9.1333491082442 -981000 ekin = 0.960659745242456 | erot = 2.67638285527366 | epot = -12.7703917087825 | etot = -9.13334910826642 -982000 ekin = 1.00766017971475 | erot = 2.64879736700748 | epot = -12.7898066550524 | etot = -9.13334910833016 -983000 ekin = 1.06493892794398 | erot = 2.60470505315865 | epot = -12.8029930895196 | etot = -9.13334910841693 -984000 ekin = 1.12913508942297 | erot = 2.54586103455185 | epot = -12.8083452324744 | etot = -9.13334910849963 -985000 ekin = 1.19663599745843 | erot = 2.47431116851685 | epot = -12.804296274524 | etot = -9.13334910854871 -986000 ekin = 1.26393164267929 | erot = 2.3924915963827 | epot = -12.7897723476014 | etot = -9.13334910853942 -987000 ekin = 1.32792910236552 | erot = 2.30329384117171 | epot = -12.764572051996 | etot = -9.13334910845872 -988000 ekin = 1.38618594051916 | erot = 2.21003704541292 | epot = -12.7295720942411 | etot = -9.133349108309 -989000 ekin = 1.43703663165432 | erot = 2.1163177663603 | epot = -12.6867035061219 | etot = -9.13334910810728 -990000 ekin = 1.47960743026485 | erot = 2.02574976476465 | epot = -12.6387063029103 | etot = -9.13334910788076 -991000 ekin = 1.51373724652975 | erot = 1.94164272477107 | epot = -12.5887290789609 | etot = -9.13334910766011 -992000 ekin = 1.53983818593236 | erot = 1.86668512516266 | epot = -12.539872418568 | etot = -9.13334910747295 -993000 ekin = 1.55873490674598 | erot = 1.8026898200528 | epot = -12.4947738341376 | etot = -9.13334910733883 -994000 ekin = 1.57151651515921 | erot = 1.75043914206067 | epot = -12.4553047644873 | etot = -9.13334910726744 -995000 ekin = 1.57942173437226 | erot = 1.70964079469052 | epot = -12.4224116363224 | etot = -9.13334910725962 -996000 ekin = 1.58376261673973 | erot = 1.67898574512825 | epot = -12.3960974691761 | etot = -9.1333491073081 -997000 ekin = 1.58587878576943 | erot = 1.65629050260393 | epot = -12.3755183957746 | etot = -9.1333491074012 -998000 ekin = 1.58710748473035 | erot = 1.63870906510968 | epot = -12.3591656573628 | etot = -9.13334910752281 -999000 ekin = 1.58875603201178 | erot = 1.62299637538288 | epot = -12.3451015150516 | etot = -9.13334910765698 -1000000 ekin = 1.59207001216863 | erot = 1.60581739807408 | epot = -12.3312365180243 | etot = -9.13334910778154 - 1000000 0.11793111 -1.2674127 0.034288999 -1.0739167 -1.3883882e-05 64000 -Loop time of 14.6434 on 1 procs for 1000000 steps with 10 atoms - -Performance: 59002.538 tau/day, 68289.974 timesteps/s -99.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 | 12.032 | 12.032 | 12.032 | 0.0 | 82.17 -Bond | 0.59079 | 0.59079 | 0.59079 | 0.0 | 4.03 -Neigh | 0.018165 | 0.018165 | 0.018165 | 0.0 | 0.12 -Comm | 0.18074 | 0.18074 | 0.18074 | 0.0 | 1.23 -Output | 0.097602 | 0.097602 | 0.097602 | 0.0 | 0.67 -Modify | 1.47 | 1.47 | 1.47 | 0.0 | 10.04 -Other | | 0.2538 | | | 1.73 - -Nlocal: 10.0000 ave 10 max 10 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 0.00000 ave 0 max 0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 37.0000 ave 37 max 37 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 37 -Ave neighs/atom = 3.7000000 -Ave special neighs/atom = 3.6000000 -Neighbor list builds = 1000 -Dangerous builds = 0 - -write_data last_config.${number}.* nocoeff -write_data last_config.1.* nocoeff -System init for write_data ... -Total wall time: 0:00:14 diff --git a/examples/PACKAGES/cgdna/examples/oxDNA/duplex1/log.27May21.duplex1.g++.4 b/examples/PACKAGES/cgdna/examples/oxDNA/duplex1/log.27May21.duplex1.g++.4 deleted file mode 100644 index da1a98817b..0000000000 --- a/examples/PACKAGES/cgdna/examples/oxDNA/duplex1/log.27May21.duplex1.g++.4 +++ /dev/null @@ -1,1170 +0,0 @@ -LAMMPS (27 May 2021) -variable number equal 1 -variable ofreq equal 1000 -variable efreq equal 1000 -variable T equal 0.1 - -units lj - -dimension 3 - -newton off - -boundary p p p - -atom_style hybrid bond ellipsoid oxdna -WARNING: Atom style hybrid defines both, per-type and per-atom masses; both must be set, but only per-atom masses will be used (../atom_vec_hybrid.cpp:157) -atom_modify sort 0 1.0 - -# Pair interactions require lists of neighbours to be calculated -neighbor 2.0 bin -neigh_modify every 1 delay 0 check yes - -read_data data.duplex1 -Reading data file ... - orthogonal box = (-20.000000 -20.000000 -20.000000) to (20.000000 20.000000 20.000000) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 10 atoms - reading velocities ... - 10 velocities - scanning bonds ... - 2 = max bonds/atom - 10 ellipsoids - reading bonds ... - 8 bonds -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 - 2 = max # of 1-3 neighbors - 2 = max # of 1-4 neighbors - 4 = max # of special neighbors - special bonds CPU = 0.001 seconds - read_data CPU = 0.005 seconds - -set atom * mass 3.1575 -Setting atom values ... - 10 settings made for mass - -group all type 1 4 -10 atoms in group all - -# oxDNA bond interactions - FENE backbone -bond_style oxdna/fene -bond_coeff * 2.0 0.25 0.7525 -special_bonds lj 0 1 1 -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 1 1 - special bond factors coul: 0 0 0 - 2 = max # of 1-2 neighbors - 2 = max # of 1-3 neighbors - 2 = max # of 1-4 neighbors - 4 = max # of special neighbors - special bonds CPU = 0.000 seconds - -# oxDNA pair interactions -pair_style hybrid/overlay oxdna/excv oxdna/stk oxdna/hbond oxdna/xstk oxdna/coaxstk -pair_coeff * * oxdna/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32 -pair_coeff * * oxdna/stk seqav ${T} 1.3448 2.6568 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 -pair_coeff * * oxdna/stk seqav 0.1 1.3448 2.6568 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 -pair_coeff * * oxdna/hbond seqav 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 1 4 oxdna/hbond seqav 1.077 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 2 3 oxdna/hbond seqav 1.077 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff * * oxdna/xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68 -pair_coeff * * oxdna/coaxstk 46.0 0.4 0.6 0.22 0.58 2.0 2.541592653589793 0.65 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 -0.65 2.0 -0.65 - -# NVE ensemble -fix 1 all nve/asphere -#fix 2 all langevin ${T} ${T} 2.5 457145 angmom 10 - -timestep 1e-5 - -#comm_style tiled -fix 3 all balance 1000 1.03 shift xyz 10 1.03 -comm_modify cutoff 3.8 - -compute quat all property/atom quatw quati quatj quatk - -compute erot all erotate/asphere -compute ekin all ke -compute epot all pe -variable erot equal c_erot -variable ekin equal c_ekin -variable epot equal c_epot -variable etot equal c_erot+c_ekin+c_epot -fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes -fix 5 all print 1000 "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes - -dump out all custom ${ofreq} out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz -dump out all custom 1000 out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz -dump out all custom 1000 out.1.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz -dump_modify out sort id -dump_modify out format line "%d %d %d %22.15le %22.15le %22.15le %d %d %d %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le" - -run 1000000 -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.9560004 - ghost atom cutoff = 3.8 - binsize = 1.4780002, bins = 28 28 28 - 4 neighbor lists, perpetual/occasional/extra = 4 0 0 - (1) pair oxdna/excv, perpetual - attributes: half, newton off - pair build: half/bin/newtoff - stencil: full/bin/3d - bin: standard - (2) pair oxdna/hbond, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (3) pair oxdna/xstk, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (4) pair oxdna/coaxstk, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none -0 ekin = 1.10853632272819 | erot = 2.81573649976629 | epot = -13.057621953437 | etot = -9.13334913094248 -Per MPI rank memory allocation (min/avg/max) = 9.105 | 9.111 | 9.117 Mbytes -Step Temp E_pair E_mol TotEng Press Volume - 0 0.082113802 -1.3488546 0.043092397 -1.1949086 -4.6816211e-05 64000 -1000 ekin = 1.08024346604046 | erot = 2.90873406534668 | epot = -13.1223266626202 | etot = -9.1333491312331 -2000 ekin = 1.05028450914436 | erot = 2.98006324808558 | epot = -13.1636968886591 | etot = -9.13334913142917 -3000 ekin = 1.01964458529397 | erot = 3.02592193798632 | epot = -13.1789156547658 | etot = -9.13334913148548 -4000 ekin = 0.989515033089525 | erot = 3.04428486059471 | epot = -13.1671490250723 | etot = -9.1333491313881 -5000 ekin = 0.961283929687808 | erot = 3.03510855539557 | epot = -13.1297416162282 | etot = -9.13334913114479 -6000 ekin = 0.936412193404227 | erot = 3.00022299571976 | epot = -13.0699843199583 | etot = -9.13334913083429 -7000 ekin = 0.916233699107936 | erot = 2.94277134440162 | epot = -12.9923541739966 | etot = -9.13334913048706 -8000 ekin = 0.901760662506231 | erot = 2.86671228744167 | epot = -12.9018220800865 | etot = -9.13334913013858 -9000 ekin = 0.893571390067841 | erot = 2.77649686780609 | epot = -12.8034173876806 | etot = -9.13334912980669 -10000 ekin = 0.891805685056811 | erot = 2.67686855006738 | epot = -12.7020233645916 | etot = -9.13334912946736 -11000 ekin = 0.89624355799356 | erot = 2.57266042063124 | epot = -12.6022531078195 | etot = -9.13334912919468 -12000 ekin = 0.906416039154793 | erot = 2.46827537271561 | epot = -12.5080405408348 | etot = -9.13334912896439 -13000 ekin = 0.921704091778473 | erot = 2.36760645470838 | epot = -12.4226596752788 | etot = -9.13334912879192 -14000 ekin = 0.941405275130068 | erot = 2.2737494164118 | epot = -12.3485038202329 | etot = -9.13334912869106 -15000 ekin = 0.964770892951775 | erot = 2.18876720165115 | epot = -12.2868872232636 | etot = -9.13334912866066 -16000 ekin = 0.991029016801094 | erot = 2.11380018376644 | epot = -12.2381783292305 | etot = -9.13334912866301 -17000 ekin = 1.01940907375713 | erot = 2.04893605182115 | epot = -12.2016942543556 | etot = -9.13334912877728 -18000 ekin = 1.04917923728266 | erot = 1.99335017578094 | epot = -12.1758785419806 | etot = -9.13334912891698 -19000 ekin = 1.07969247848165 | erot = 1.9456993336296 | epot = -12.1587409411761 | etot = -9.1333491290649 -20000 ekin = 1.11043268152285 | erot = 1.90411175657071 | epot = -12.1478935672812 | etot = -9.13334912918769 -21000 ekin = 1.14104909735582 | erot = 1.86695882979236 | epot = -12.1413570564147 | etot = -9.13334912926648 -22000 ekin = 1.17136821848096 | erot = 1.83313674901888 | epot = -12.137854096792 | etot = -9.13334912929214 -23000 ekin = 1.2013763409769 | erot = 1.80222523558969 | epot = -12.1369507058331 | etot = -9.13334912926655 -24000 ekin = 1.23117249622896 | erot = 1.77451266102179 | epot = -12.1390342864515 | etot = -9.13334912920078 -25000 ekin = 1.26089526640641 | erot = 1.75088411697583 | epot = -12.1451285124969 | etot = -9.13334912911465 -26000 ekin = 1.29063712254627 | erot = 1.73259428379496 | epot = -12.1565805353675 | etot = -9.1333491290263 -27000 ekin = 1.32035987087024 | erot = 1.72114061671166 | epot = -12.174849616541 | etot = -9.1333491289591 -28000 ekin = 1.34980460658793 | erot = 1.71795709927849 | epot = -12.2011108348018 | etot = -9.13334912893538 -29000 ekin = 1.37841624051158 | erot = 1.72414013785736 | epot = -12.2359055073442 | etot = -9.13334912897524 -30000 ekin = 1.4052901572735 | erot = 1.74019656639666 | epot = -12.2788358527639 | etot = -9.13334912909376 -31000 ekin = 1.42915801743395 | erot = 1.76583252336951 | epot = -12.3283396701002 | etot = -9.13334912929672 -32000 ekin = 1.44843712560541 | erot = 1.79982181745344 | epot = -12.3816080726341 | etot = -9.13334912957528 -33000 ekin = 1.46136904668681 | erot = 1.84000474140078 | epot = -12.4347229179886 | etot = -9.13334912990105 -34000 ekin = 1.46625940785516 | erot = 1.88346459856623 | epot = -12.4830731366477 | etot = -9.13334913022626 -35000 ekin = 1.46179739484309 | erot = 1.92688889524945 | epot = -12.5220354205854 | etot = -9.13334913049288 -36000 ekin = 1.44738855724078 | erot = 1.96705754746501 | epot = -12.5477952353506 | etot = -9.13334913064481 -37000 ekin = 1.4234005446855 | erot = 2.00129614949931 | epot = -12.5580458249026 | etot = -9.13334913071783 -38000 ekin = 1.3912278154298 | erot = 2.02761655303769 | epot = -12.5521934990549 | etot = -9.13334913058744 -39000 ekin = 1.35313842096816 | erot = 2.04547852103606 | epot = -12.5319660723438 | etot = -9.1333491303396 -40000 ekin = 1.3119358769936 | erot = 2.05554364627562 | epot = -12.5008286533157 | etot = -9.13334913004646 -41000 ekin = 1.27054093924539 | erot = 2.05894429581373 | epot = -12.4628343648333 | etot = -9.13334912977422 -42000 ekin = 1.23161000992321 | erot = 2.05694893255708 | epot = -12.4219080720069 | etot = -9.13334912952666 -43000 ekin = 1.19723969759484 | erot = 2.05085758075657 | epot = -12.3814464076996 | etot = -9.13334912934817 -44000 ekin = 1.16880185863986 | erot = 2.04172238360625 | epot = -12.3438733714904 | etot = -9.13334912924427 -45000 ekin = 1.14690787175704 | erot = 2.03029950061769 | epot = -12.3105565015799 | etot = -9.13334912920516 -46000 ekin = 1.13147919636032 | erot = 2.0171225617537 | epot = -12.2819508873243 | etot = -9.13334912921024 -47000 ekin = 1.12189300492699 | erot = 2.00264798837252 | epot = -12.257890122535 | etot = -9.13334912923549 -48000 ekin = 1.11716788112702 | erot = 1.98739120721189 | epot = -12.2379082176346 | etot = -9.13334912929565 -49000 ekin = 1.11615794795221 | erot = 1.9718736810837 | epot = -12.2213807583348 | etot = -9.13334912929892 -50000 ekin = 1.1177232633637 | erot = 1.95708534394624 | epot = -12.2081577365825 | etot = -9.13334912927258 -51000 ekin = 1.12084924497845 | erot = 1.94437394210216 | epot = -12.1985723162997 | etot = -9.13334912921905 -52000 ekin = 1.12470549785223 | erot = 1.93529800314872 | epot = -12.1933526301509 | etot = -9.13334912914997 -53000 ekin = 1.12864556674947 | erot = 1.93145365271665 | epot = -12.1934483485497 | etot = -9.13334912908361 -54000 ekin = 1.1321611352306 | erot = 1.93430274875508 | epot = -12.1998130130121 | etot = -9.13334912902645 -55000 ekin = 1.13481106600208 | erot = 1.94490436967246 | epot = -12.2130645647023 | etot = -9.13334912902776 -56000 ekin = 1.13614343535792 | erot = 1.96361884590792 | epot = -12.2331114103532 | etot = -9.13334912908741 -57000 ekin = 1.1356317831126 | erot = 1.99002978527251 | epot = -12.2590106975987 | etot = -9.13334912921363 -58000 ekin = 1.13263976908227 | erot = 2.02286978616502 | epot = -12.2888586846528 | etot = -9.13334912940555 -59000 ekin = 1.1264242611342 | erot = 2.06004413441711 | epot = -12.3198175252031 | etot = -9.13334912965183 -60000 ekin = 1.11618536041525 | erot = 2.09876774945547 | epot = -12.3483022398008 | etot = -9.13334912993007 -61000 ekin = 1.10116810417863 | erot = 2.13581434618268 | epot = -12.3703315805686 | etot = -9.13334913020732 -62000 ekin = 1.08081637521804 | erot = 2.16786879318297 | epot = -12.3820342988436 | etot = -9.13334913044258 -63000 ekin = 1.05497014428154 | erot = 2.19194503254427 | epot = -12.3802643074579 | etot = -9.13334913063206 -64000 ekin = 1.02408601603167 | erot = 2.20562384873119 | epot = -12.3630589954182 | etot = -9.13334913065535 -65000 ekin = 0.989434415807826 | erot = 2.20769180278645 | epot = -12.3304753491253 | etot = -9.13334913053107 -66000 ekin = 0.953195593564014 | erot = 2.19842250482616 | epot = -12.2849672286541 | etot = -9.13334913026396 -67000 ekin = 0.918366365968406 | erot = 2.1794240088417 | epot = -12.2311395047052 | etot = -9.13334912989506 -68000 ekin = 0.888467814666429 | erot = 2.1532136435819 | epot = -12.1750305877205 | etot = -9.13334912947212 -69000 ekin = 0.867150037001785 | erot = 2.12288633704363 | epot = -12.1233855031212 | etot = -9.13334912907574 -70000 ekin = 0.85757995160489 | erot = 2.09151913845141 | epot = -12.0824482188435 | etot = -9.13334912878716 -71000 ekin = 0.861815425267566 | erot = 2.06157004239551 | epot = -12.0567345963622 | etot = -9.13334912869916 -72000 ekin = 0.880191815685505 | erot = 2.03435275439352 | epot = -12.0478936988734 | etot = -9.13334912879438 -73000 ekin = 0.91120145387665 | erot = 2.00982694750387 | epot = -12.0543775304381 | etot = -9.13334912905755 -74000 ekin = 0.951849895585045 | erot = 1.9868541827261 | epot = -12.0720532077347 | etot = -9.13334912942354 -75000 ekin = 0.998151008641101 | erot = 1.96362530027586 | epot = -12.0951254387265 | etot = -9.13334912980952 -76000 ekin = 1.04581734271574 | erot = 1.93821700241337 | epot = -12.1173834752671 | etot = -9.13334913013795 -77000 ekin = 1.09091996835682 | erot = 1.90910715282265 | epot = -12.1333762515352 | etot = -9.13334913035578 -78000 ekin = 1.13037631927892 | erot = 1.87551578135363 | epot = -12.139241231075 | etot = -9.1333491304424 -79000 ekin = 1.16219588597756 | erot = 1.83750580183238 | epot = -12.1330508182181 | etot = -9.1333491304082 -80000 ekin = 1.18548972632201 | erot = 1.79585942669966 | epot = -12.114698283306 | etot = -9.13334913028433 -81000 ekin = 1.20030605718923 | erot = 1.75181365939726 | epot = -12.0854688466954 | etot = -9.13334913010891 -82000 ekin = 1.20737786492164 | erot = 1.70676694760199 | epot = -12.0474939424388 | etot = -9.13334912991512 -83000 ekin = 1.20786051402042 | erot = 1.66205278152611 | epot = -12.0032624252715 | etot = -9.13334912972499 -84000 ekin = 1.20310991572446 | erot = 1.618829132473 | epot = -11.9552881777459 | etot = -9.13334912954841 -85000 ekin = 1.19452073297137 | erot = 1.57808043002399 | epot = -11.9059502923818 | etot = -9.13334912938643 -86000 ekin = 1.18342100682531 | erot = 1.54069268896217 | epot = -11.8574628250234 | etot = -9.13334912923592 -87000 ekin = 1.17100858957319 | erot = 1.50755090689499 | epot = -11.8119086255617 | etot = -9.13334912909349 -88000 ekin = 1.15831377551658 | erot = 1.47961680456701 | epot = -11.7712797090417 | etot = -9.13334912895806 -89000 ekin = 1.14617682817377 | erot = 1.45796378128875 | epot = -11.7374897382938 | etot = -9.13334912883123 -90000 ekin = 1.13523447969399 | erot = 1.4437643803001 | epot = -11.712347988711 | etot = -9.13334912871686 -91000 ekin = 1.12591345720529 | erot = 1.43823772500936 | epot = -11.6975003108348 | etot = -9.13334912862016 -92000 ekin = 1.11843099489266 | erot = 1.44256930748509 | epot = -11.6943494309247 | etot = -9.13334912854699 -93000 ekin = 1.11280329634796 | erot = 1.4578152481448 | epot = -11.7039676729955 | etot = -9.1333491285027 -94000 ekin = 1.10886209127321 | erot = 1.48480045701876 | epot = -11.7270116767845 | etot = -9.13334912849256 -95000 ekin = 1.10627886010321 | erot = 1.52396220647548 | epot = -11.7635901951109 | etot = -9.13334912853226 -96000 ekin = 1.10459509814404 | erot = 1.57519859223434 | epot = -11.8131428189848 | etot = -9.13334912860644 -97000 ekin = 1.10325943769886 | erot = 1.63800664193814 | epot = -11.8746152083621 | etot = -9.13334912872509 -98000 ekin = 1.10166959581627 | erot = 1.71130689804987 | epot = -11.9463256227543 | etot = -9.13334912888813 -99000 ekin = 1.09921849385146 | erot = 1.7933990563038 | epot = -12.0259666792475 | etot = -9.13334912909226 -100000 ekin = 1.09534596880091 | erot = 1.88196872528591 | epot = -12.1106638234166 | etot = -9.13334912932976 -101000 ekin = 1.08959720755104 | erot = 1.97415616931472 | epot = -12.1971025064524 | etot = -9.13334912958667 -102000 ekin = 1.08168751154804 | erot = 2.06670282185194 | epot = -12.281739463243 | etot = -9.133349129843 -103000 ekin = 1.07156932342305 | erot = 2.15618192508077 | epot = -12.3611003785777 | etot = -9.13334913007386 -104000 ekin = 1.05949237996066 | erot = 2.2393015837358 | epot = -12.4321430939489 | etot = -9.13334913025249 -105000 ekin = 1.04604342224874 | erot = 2.31323902285858 | epot = -12.4926315754935 | etot = -9.1333491303862 -106000 ekin = 1.03224316318559 | erot = 2.37579242095991 | epot = -12.5413847145648 | etot = -9.13334913041925 -107000 ekin = 1.01951120148935 | erot = 2.42585603740572 | epot = -12.5787163692807 | etot = -9.1333491303856 -108000 ekin = 1.00875017477213 | erot = 2.46348952984495 | epot = -12.6055888348739 | etot = -9.13334913025687 -109000 ekin = 1.00109573552403 | erot = 2.48980806114969 | epot = -12.6242529267284 | etot = -9.13334913005465 -110000 ekin = 0.997931591358209 | erot = 2.50673918610797 | epot = -12.6380199072781 | etot = -9.1333491298119 -111000 ekin = 1.00076792351332 | erot = 2.51665915373038 | epot = -12.6507762068081 | etot = -9.13334912956442 -112000 ekin = 1.01109610479939 | erot = 2.52200701599649 | epot = -12.6664522501395 | etot = -9.13334912934366 -113000 ekin = 1.03019016817897 | erot = 2.52496101252879 | epot = -12.6885003099866 | etot = -9.13334912927888 -114000 ekin = 1.05821017520641 | erot = 2.52722573627505 | epot = -12.718785040702 | etot = -9.13334912922054 -115000 ekin = 1.09472530400156 | erot = 2.53003930448813 | epot = -12.7581137377196 | etot = -9.13334912922996 -116000 ekin = 1.13884650903347 | erot = 2.53414832430427 | epot = -12.8063439626442 | etot = -9.13334912930642 -117000 ekin = 1.18909444999498 | erot = 2.53980839277107 | epot = -12.8622519722151 | etot = -9.13334912944908 -118000 ekin = 1.24341490970488 | erot = 2.54678348242605 | epot = -12.923547521787 | etot = -9.13334912965603 -119000 ekin = 1.29923662064205 | erot = 2.55432909400977 | epot = -12.9869148445731 | etot = -9.1333491299213 -120000 ekin = 1.3535895921566 | erot = 2.56118615921763 | epot = -13.0481248816038 | etot = -9.13334913022958 -121000 ekin = 1.40329803815465 | erot = 2.56563135861624 | epot = -13.1022785273256 | etot = -9.13334913055468 -122000 ekin = 1.44524692196627 | erot = 2.56562448409192 | epot = -13.1442205369174 | etot = -9.13334913085923 -123000 ekin = 1.47669540804843 | erot = 2.55906317998174 | epot = -13.1691077191311 | etot = -9.13334913110098 -124000 ekin = 1.49558302658173 | erot = 2.54411105943694 | epot = -13.1730432172614 | etot = -9.1333491312427 -125000 ekin = 1.50076122489751 | erot = 2.51952798471286 | epot = -13.1536383408715 | etot = -9.13334913126112 -126000 ekin = 1.49214728684725 | erot = 2.48515933103502 | epot = -13.1106557490377 | etot = -9.13334913115539 -127000 ekin = 1.47053410713968 | erot = 2.44174480075115 | epot = -13.0456280388479 | etot = -9.13334913095708 -128000 ekin = 1.43743445323518 | erot = 2.39059049317542 | epot = -12.9613740770764 | etot = -9.13334913066578 -129000 ekin = 1.39501109707066 | erot = 2.33380120125817 | epot = -12.8621614286441 | etot = -9.1333491303153 -130000 ekin = 1.34584042016766 | erot = 2.27401545397176 | epot = -12.7532050040799 | etot = -9.13334912994046 -131000 ekin = 1.29268930786602 | erot = 2.21410134111226 | epot = -12.6401397785514 | etot = -9.13334912957311 -132000 ekin = 1.23832315616835 | erot = 2.15686384200887 | epot = -12.528536127416 | etot = -9.13334912923874 -133000 ekin = 1.18535267681209 | erot = 2.10479906741759 | epot = -12.4235008731857 | etot = -9.13334912895606 -134000 ekin = 1.13612155562824 | erot = 2.05991346428628 | epot = -12.329384148651 | etot = -9.13334912873644 -135000 ekin = 1.09263262326063 | erot = 2.02360952444363 | epot = -12.2495912762909 | etot = -9.13334912858664 -136000 ekin = 1.05650575788357 | erot = 1.99662030668678 | epot = -12.1864751930785 | etot = -9.13334912850817 -137000 ekin = 1.02895878679464 | erot = 1.9789921283488 | epot = -12.1413000436437 | etot = -9.13334912850029 -138000 ekin = 1.01080388995852 | erot = 1.97013512172225 | epot = -12.1142881402336 | etot = -9.13334912855282 -139000 ekin = 1.00245459395347 | erot = 1.96888144460865 | epot = -12.1046851672407 | etot = -9.13334912867858 -140000 ekin = 1.00393780740617 | erot = 1.9733301097344 | epot = -12.1106170460032 | etot = -9.13334912886262 -141000 ekin = 1.01490973367029 | erot = 1.9810453094478 | epot = -12.129304172214 | etot = -9.13334912909595 -142000 ekin = 1.03468044934412 | erot = 1.98917872502417 | epot = -12.157208303734 | etot = -9.13334912936574 -143000 ekin = 1.06225104646169 | erot = 1.99463134790766 | epot = -12.1902315240236 | etot = -9.13334912965421 -144000 ekin = 1.09636709127244 | erot = 1.99441220318379 | epot = -12.2241284243807 | etot = -9.1333491299245 -145000 ekin = 1.13559045362115 | erot = 1.98572590465988 | epot = -12.2546654884646 | etot = -9.13334913018355 -146000 ekin = 1.17838854122085 | erot = 1.96612892354236 | epot = -12.2778665951537 | etot = -9.13334913039054 -147000 ekin = 1.22300699749175 | erot = 1.93405129394955 | epot = -12.2904074219631 | etot = -9.13334913052184 -148000 ekin = 1.26785677863015 | erot = 1.88891621350819 | epot = -12.2901221226999 | etot = -9.13334913056158 -149000 ekin = 1.31170551487297 | erot = 1.83123494690843 | epot = -12.2762895922886 | etot = -9.13334913050724 -150000 ekin = 1.35361858091197 | erot = 1.76263607509584 | epot = -12.2496037863729 | etot = -9.13334913036511 -151000 ekin = 1.39299848911427 | erot = 1.68572491420578 | epot = -12.2120725334745 | etot = -9.13334913015443 -152000 ekin = 1.42958376961909 | erot = 1.60381549112304 | epot = -12.1667483906422 | etot = -9.13334912990011 -153000 ekin = 1.46340801747592 | erot = 1.52060159601877 | epot = -12.1173587431249 | etot = -9.13334912963019 -154000 ekin = 1.49472650224559 | erot = 1.43981503875235 | epot = -12.0678906703692 | etot = -9.13334912937122 -155000 ekin = 1.52392161825077 | erot = 1.36491657683176 | epot = -12.0221873242286 | etot = -9.13334912914611 -156000 ekin = 1.55140022159552 | erot = 1.29884972381787 | epot = -11.9835990743858 | etot = -9.13334912897239 -157000 ekin = 1.57749707056582 | erot = 1.24387068637192 | epot = -11.9547168857975 | etot = -9.13334912885979 -158000 ekin = 1.60239506185775 | erot = 1.20145363967788 | epot = -11.9371978303528 | etot = -9.13334912881713 -159000 ekin = 1.62604462003778 | erot = 1.17226436760477 | epot = -11.9316581164852 | etot = -9.13334912884267 -160000 ekin = 1.64813303486537 | erot = 1.15619534708302 | epot = -11.9376775108803 | etot = -9.13334912893192 -161000 ekin = 1.6680732761297 | erot = 1.15245312716186 | epot = -11.9538755323666 | etot = -9.13334912907501 -162000 ekin = 1.68501875283048 | erot = 1.15969471512808 | epot = -11.9780625972165 | etot = -9.13334912925795 -163000 ekin = 1.69790620824667 | erot = 1.17620989126115 | epot = -12.0074652289698 | etot = -9.13334912946203 -164000 ekin = 1.70552711798388 | erot = 1.20014309389848 | epot = -12.0390193415473 | etot = -9.13334912966499 -165000 ekin = 1.70662691809342 | erot = 1.22974121417746 | epot = -12.0697172621134 | etot = -9.13334912984253 -166000 ekin = 1.70002908026843 | erot = 1.26360423252443 | epot = -12.096982442764 | etot = -9.13334912997113 -167000 ekin = 1.68477683955878 | erot = 1.30090518403802 | epot = -12.1190311536275 | etot = -9.13334913003072 -168000 ekin = 1.66027923283182 | erot = 1.34154370359116 | epot = -12.1351720664317 | etot = -9.13334913000876 -169000 ekin = 1.62644124957724 | erot = 1.38619810991441 | epot = -12.1459884893951 | etot = -9.13334912990346 -170000 ekin = 1.58375251890772 | erot = 1.43625221626238 | epot = -12.1533538648959 | etot = -9.13334912972576 -171000 ekin = 1.53331003043923 | erot = 1.49359459893455 | epot = -12.1602537588732 | etot = -9.13334912949943 -172000 ekin = 1.47676106161397 | erot = 1.56031583407089 | epot = -12.170426024941 | etot = -9.13334912925612 -173000 ekin = 1.41695754705518 | erot = 1.63848249765459 | epot = -12.1887891730454 | etot = -9.13334912833566 -174000 ekin = 1.35937684304471 | erot = 1.72968793645282 | epot = -12.2224139078261 | etot = -9.13334912832854 -175000 ekin = 1.30537540818795 | erot = 1.83369980102301 | epot = -12.2724243375761 | etot = -9.1333491283651 -176000 ekin = 1.25571357800282 | erot = 1.94952726339983 | epot = -12.3385899698495 | etot = -9.13334912844688 -177000 ekin = 1.21104692225286 | erot = 2.07558802224418 | epot = -12.4199840730645 | etot = -9.1333491285675 -178000 ekin = 1.17189512057006 | erot = 2.2097607957467 | epot = -12.5150050450644 | etot = -9.13334912874763 -179000 ekin = 1.13864315857337 | erot = 2.34949890132912 | epot = -12.6214911888117 | etot = -9.13334912890923 -180000 ekin = 1.11156621835557 | erot = 2.49234008540025 | epot = -12.7372554328249 | etot = -9.13334912906903 -181000 ekin = 1.09087167613546 | erot = 2.6356735753616 | epot = -12.8598943807501 | etot = -9.13334912925305 -182000 ekin = 1.076752265798 | erot = 2.77693577183354 | epot = -12.9870371670196 | etot = -9.13334912938803 -183000 ekin = 1.0694229423411 | erot = 2.91405263083468 | epot = -13.1168247026766 | etot = -9.13334912950083 -184000 ekin = 1.06913488705798 | erot = 3.04520163111691 | epot = -13.2476856477706 | etot = -9.13334912959569 -185000 ekin = 1.07614345922752 | erot = 3.16875772929962 | epot = -13.378250318213 | etot = -9.13334912968585 -186000 ekin = 1.09060563376715 | erot = 3.283179841549 | epot = -13.5071346051107 | etot = -9.1333491297946 -187000 ekin = 1.11239929858119 | erot = 3.38683780589135 | epot = -13.6325862344251 | etot = -9.13334912995254 -188000 ekin = 1.14088837562617 | erot = 3.47780595660562 | epot = -13.7520434624204 | etot = -9.13334913018863 -189000 ekin = 1.17469755695826 | erot = 3.55369218298297 | epot = -13.8617388704576 | etot = -9.13334913051635 -190000 ekin = 1.21158961983318 | erot = 3.61161008256116 | epot = -13.9565488333137 | etot = -9.13334913091936 -191000 ekin = 1.24837558083706 | erot = 3.64780345127586 | epot = -14.029528163489 | etot = -9.13334913137609 -192000 ekin = 1.28102311682938 | erot = 3.65810395429009 | epot = -14.0724762027878 | etot = -9.13334913166834 -193000 ekin = 1.30598320816956 | erot = 3.6413929500649 | epot = -14.0807252900253 | etot = -9.13334913179085 -194000 ekin = 1.32049648836596 | erot = 3.5984455236301 | epot = -14.0522911436923 | etot = -9.13334913169622 -195000 ekin = 1.32298604774247 | erot = 3.53212928134902 | epot = -13.9884644604291 | etot = -9.13334913133759 -196000 ekin = 1.31323645162542 | erot = 3.44751612705246 | epot = -13.894101709523 | etot = -9.13334913084515 -197000 ekin = 1.29228934698117 | erot = 3.35072340322429 | epot = -13.7763618804985 | etot = -9.13334913029301 -198000 ekin = 1.26212633786607 | erot = 3.24789114381922 | epot = -13.6433666114226 | etot = -9.13334912973732 -199000 ekin = 1.22527047461696 | erot = 3.14483705467137 | epot = -13.5034566585627 | etot = -9.13334912927433 -200000 ekin = 1.18441799207221 | erot = 3.04594245962928 | epot = -13.3637095806213 | etot = -9.13334912891985 -201000 ekin = 1.14216630511935 | erot = 2.95390025492293 | epot = -13.2294156887269 | etot = -9.13334912868461 -202000 ekin = 1.10084220211739 | erot = 2.86987712396292 | epot = -13.1040684546433 | etot = -9.13334912856296 -203000 ekin = 1.06240856569008 | erot = 2.79366067226783 | epot = -12.9894183664997 | etot = -9.13334912854175 -204000 ekin = 1.02841768821218 | erot = 2.7238914427547 | epot = -12.885658259572 | etot = -9.13334912860517 -205000 ekin = 0.999988405220756 | erot = 2.65832732458277 | epot = -12.7916648585391 | etot = -9.13334912873555 -206000 ekin = 0.977799621225127 | erot = 2.59412391514154 | epot = -12.70527266528 | etot = -9.13334912891328 -207000 ekin = 0.962105653965382 | erot = 2.52813792126081 | epot = -12.6235927043399 | etot = -9.13334912911372 -208000 ekin = 0.952783648018805 | erot = 2.4572664289227 | epot = -12.5433992062487 | etot = -9.13334912930716 -209000 ekin = 0.949416945748458 | erot = 2.37882137049673 | epot = -12.4615874457065 | etot = -9.13334912946133 -210000 ekin = 0.951402263215111 | erot = 2.29090939419168 | epot = -12.375660786954 | etot = -9.13334912954725 -211000 ekin = 0.958051952077477 | erot = 2.19275562021825 | epot = -12.2841567018434 | etot = -9.13334912954766 -212000 ekin = 0.968659667700339 | erot = 2.08489619855764 | epot = -12.1869049957193 | etot = -9.13334912946129 -213000 ekin = 0.982515908119824 | erot = 1.96918422280939 | epot = -12.0850492602319 | etot = -9.13334912930273 -214000 ekin = 0.998888701919625 | erot = 1.84860041861863 | epot = -11.980838249635 | etot = -9.13334912909677 -215000 ekin = 1.01700134912557 | erot = 1.72690897492111 | epot = -11.8772594529187 | etot = -9.13334912887207 -216000 ekin = 1.03603050122443 | erot = 1.60822693577763 | epot = -11.777606565658 | etot = -9.13334912865598 -217000 ekin = 1.05512477228462 | erot = 1.49657917533736 | epot = -11.6850530760946 | etot = -9.13334912847261 -218000 ekin = 1.07342860744178 | erot = 1.39550092670122 | epot = -11.6022786624833 | etot = -9.13334912834026 -219000 ekin = 1.09009860355571 | erot = 1.30773521951501 | epot = -11.5311829513406 | etot = -9.13334912826989 -220000 ekin = 1.10431207607347 | erot = 1.23505496062837 | epot = -11.4727161649656 | etot = -9.13334912826375 -221000 ekin = 1.11527717993044 | erot = 1.17821867809205 | epot = -11.4268449863377 | etot = -9.13334912831525 -222000 ekin = 1.12225437592971 | erot = 1.13704823944105 | epot = -11.3926517437815 | etot = -9.13334912841074 -223000 ekin = 1.1245929762141 | erot = 1.11060060825072 | epot = -11.3685427129973 | etot = -9.13334912853248 -224000 ekin = 1.12177911879615 | erot = 1.09739625543894 | epot = -11.3525245028962 | etot = -9.13334912866115 -225000 ekin = 1.11348637905752 | erot = 1.09566402531907 | epot = -11.3424995331561 | etot = -9.13334912877947 -226000 ekin = 1.09961800000704 | erot = 1.10360909760923 | epot = -11.3365762264854 | etot = -9.13334912886916 -227000 ekin = 1.08033165066218 | erot = 1.11952730043391 | epot = -11.3332080800322 | etot = -9.13334912893613 -228000 ekin = 1.05604602872783 | erot = 1.14187865421846 | epot = -11.3312738119174 | etot = -9.13334912897114 -229000 ekin = 1.02742418663512 | erot = 1.16938489301659 | epot = -11.3301582086289 | etot = -9.13334912897717 -230000 ekin = 0.995339184991671 | erot = 1.20102048198595 | epot = -11.3297087959372 | etot = -9.13334912895961 -231000 ekin = 0.960829492708811 | erot = 1.2359773576228 | epot = -11.3301559792548 | etot = -9.13334912892318 -232000 ekin = 0.92505043273539 | erot = 1.27360958612358 | epot = -11.3320091477358 | etot = -9.13334912887685 -233000 ekin = 0.889225435959919 | erot = 1.31337910210598 | epot = -11.3359536668897 | etot = -9.13334912882377 -234000 ekin = 0.854600006628912 | erot = 1.35483402381882 | epot = -11.3427831592152 | etot = -9.13334912876742 -235000 ekin = 0.822390924845405 | erot = 1.39757430015793 | epot = -11.3533143537197 | etot = -9.13334912871641 -236000 ekin = 0.793732848712064 | erot = 1.44121433399019 | epot = -11.3682963113767 | etot = -9.13334912867447 -237000 ekin = 0.769632191219681 | erot = 1.48535644446014 | epot = -11.3883377643268 | etot = -9.13334912864699 -238000 ekin = 0.750918993366291 | erot = 1.52956143549159 | epot = -11.4138295574961 | etot = -9.1333491286382 -239000 ekin = 0.738206267497456 | erot = 1.57333361162098 | epot = -11.4448890077681 | etot = -9.13334912864969 -240000 ekin = 0.731862193744267 | erot = 1.61613149974176 | epot = -11.4813428221659 | etot = -9.13334912867991 -241000 ekin = 0.731999328002306 | erot = 1.65741090456815 | epot = -11.5227593612939 | etot = -9.13334912872343 -242000 ekin = 0.738482620157578 | erot = 1.69669130986271 | epot = -11.5685230587946 | etot = -9.13334912877436 -243000 ekin = 0.75095504232563 | erot = 1.73364929482296 | epot = -11.6179534659688 | etot = -9.13334912882023 -244000 ekin = 0.76887708046684 | erot = 1.76822360275604 | epot = -11.6704498120776 | etot = -9.13334912885467 -245000 ekin = 0.791573929294853 | erot = 1.80068045121316 | epot = -11.72560350938 | etot = -9.13334912887203 -246000 ekin = 0.818282914271752 | erot = 1.8316410744519 | epot = -11.7832731175948 | etot = -9.13334912887118 -247000 ekin = 0.848193621601871 | erot = 1.86205096555267 | epot = -11.8435937160109 | etot = -9.13334912885635 -248000 ekin = 0.880474358635652 | erot = 1.89308546777831 | epot = -11.9069089552509 | etot = -9.1333491288369 -249000 ekin = 0.914280881219407 | erot = 1.92599713223939 | epot = -11.9736271422852 | etot = -9.13334912882638 -250000 ekin = 0.948746730716592 | erot = 1.96192054843792 | epot = -12.0440164079952 | etot = -9.13334912884067 -251000 ekin = 0.982959063854421 | erot = 2.00165977259976 | epot = -12.1179679653496 | etot = -9.13334912889544 -252000 ekin = 1.01592948249857 | erot = 2.04549252396446 | epot = -12.1947711354647 | etot = -9.13334912900165 -253000 ekin = 1.04657777483978 | erot = 2.09303441306042 | epot = -12.2729613170607 | etot = -9.13334912916053 -254000 ekin = 1.07373541755064 | erot = 2.14319803018524 | epot = -12.3502825770996 | etot = -9.13334912936369 -255000 ekin = 1.09620163163007 | erot = 2.1943096672061 | epot = -12.4238604284185 | etot = -9.13334912958234 -256000 ekin = 1.1128720642812 | erot = 2.24438579427484 | epot = -12.4906069883395 | etot = -9.13334912978351 -257000 ekin = 1.12287782510587 | erot = 2.29146665865438 | epot = -12.5476936136924 | etot = -9.13334912993218 -258000 ekin = 1.12572293500218 | erot = 2.33396623628282 | epot = -12.5930383012898 | etot = -9.1333491300048 -259000 ekin = 1.12139026023591 | erot = 2.37095948468545 | epot = -12.625698874911 | etot = -9.13334912998962 -260000 ekin = 1.11036122819271 | erot = 2.4022965811537 | epot = -12.6460069392473 | etot = -9.13334912990093 -261000 ekin = 1.09354805445024 | erot = 2.42847877902899 | epot = -12.6553759632423 | etot = -9.13334912976304 -262000 ekin = 1.07216031825739 | erot = 2.45046938603003 | epot = -12.6559788338922 | etot = -9.13334912960477 -263000 ekin = 1.04754368718255 | erot = 2.4694329779717 | epot = -12.6503257946119 | etot = -9.13334912945761 -264000 ekin = 1.02102495133799 | erot = 2.48647844637127 | epot = -12.6408525270504 | etot = -9.13334912934109 -265000 ekin = 0.993788783443426 | erot = 2.50247063136383 | epot = -12.629608544077 | etot = -9.13334912926975 -266000 ekin = 0.966800247929825 | erot = 2.51790683905008 | epot = -12.6180562162306 | etot = -9.1333491292507 -267000 ekin = 0.940784249459232 | erot = 2.53283827184812 | epot = -12.6069716505901 | etot = -9.13334912928275 -268000 ekin = 0.916272152394501 | erot = 2.54684612152506 | epot = -12.5964674032737 | etot = -9.13334912935417 -269000 ekin = 0.893722172477421 | erot = 2.55907244306951 | epot = -12.5861437450353 | etot = -9.13334912948841 -270000 ekin = 0.873709285129123 | erot = 2.56799722891213 | epot = -12.5750556436025 | etot = -9.1333491295613 -271000 ekin = 0.857156433251772 | erot = 2.57226369508336 | epot = -12.5627692579086 | etot = -9.13334912957348 -272000 ekin = 0.845541083724271 | erot = 2.57096110909421 | epot = -12.5498513223275 | etot = -9.13334912950897 -273000 ekin = 0.840983736970027 | erot = 2.56364270819324 | epot = -12.5379755745181 | etot = -9.13334912935485 -274000 ekin = 0.846103061110809 | erot = 2.55054497183512 | epot = -12.5299971620899 | etot = -9.13334912914396 -275000 ekin = 0.863570741245335 | erot = 2.53260377850945 | epot = -12.5295236486815 | etot = -9.13334912892668 -276000 ekin = 0.895419299415727 | erot = 2.51114645014648 | epot = -12.5399148783706 | etot = -9.13334912880838 -277000 ekin = 0.942302359419358 | erot = 2.48734970425542 | epot = -12.5630011925123 | etot = -9.13334912883751 -278000 ekin = 1.00299069941656 | erot = 2.46199112036264 | epot = -12.5983309488099 | etot = -9.13334912903073 -279000 ekin = 1.07434561589337 | erot = 2.43529774590622 | epot = -12.6429924911401 | etot = -9.13334912934047 -280000 ekin = 1.1518234098412 | erot = 2.40711596365387 | epot = -12.6922885031807 | etot = -9.13334912968566 -281000 ekin = 1.23030856581916 | erot = 2.37726964751121 | epot = -12.7409273433246 | etot = -9.13334912999419 -282000 ekin = 1.30483974879876 | erot = 2.34551973870678 | epot = -12.7837086176998 | etot = -9.13334913019425 -283000 ekin = 1.37151257999554 | erot = 2.31231452819811 | epot = -12.8171762384395 | etot = -9.13334913024583 -284000 ekin = 1.42789685319497 | erot = 2.27901843146156 | epot = -12.8402644148132 | etot = -9.13334913015666 -285000 ekin = 1.47299679574576 | erot = 2.24762833985798 | epot = -12.8539742655657 | etot = -9.13334912996199 -286000 ekin = 1.50701906587807 | erot = 2.22050056283333 | epot = -12.8608687584236 | etot = -9.1333491297122 -287000 ekin = 1.53099472144866 | erot = 2.19999584806528 | epot = -12.8643396989743 | etot = -9.13334912946032 -288000 ekin = 1.54636449768968 | erot = 2.18811490987538 | epot = -12.8678285368172 | etot = -9.13334912925209 -289000 ekin = 1.55461163491285 | erot = 2.18618804174405 | epot = -12.8741488057757 | etot = -9.1333491291188 -290000 ekin = 1.55699428674741 | erot = 2.19466879450645 | epot = -12.8850122103288 | etot = -9.13334912907495 -291000 ekin = 1.55439775255703 | erot = 2.21306131818027 | epot = -12.9008081998553 | etot = -9.13334912911797 -292000 ekin = 1.54729960240303 | erot = 2.23998314422011 | epot = -12.9206318758555 | etot = -9.13334912923236 -293000 ekin = 1.53582108608436 | erot = 2.27333490842382 | epot = -12.9425051239038 | etot = -9.1333491293956 -294000 ekin = 1.51982864506198 | erot = 2.31049721096855 | epot = -12.9636749856271 | etot = -9.13334912959652 -295000 ekin = 1.49905154213345 | erot = 2.34851873983909 | epot = -12.9809194117672 | etot = -9.13334912979465 -296000 ekin = 1.4731936480281 | erot = 2.38443281021024 | epot = -12.9909755882223 | etot = -9.13334912998395 -297000 ekin = 1.44203124545982 | erot = 2.41536854589882 | epot = -12.99074892151 | etot = -9.13334913015133 -298000 ekin = 1.40549976702096 | erot = 2.4386740904602 | epot = -12.9775229877651 | etot = -9.13334913028399 -299000 ekin = 1.36377241662811 | erot = 2.45204871800361 | epot = -12.9491702650001 | etot = -9.13334913036838 -300000 ekin = 1.31732711912166 | erot = 2.45368408092481 | epot = -12.9043603304387 | etot = -9.13334913039221 -301000 ekin = 1.26699022414728 | erot = 2.44240353914498 | epot = -12.8427428936397 | etot = -9.13334913034745 -302000 ekin = 1.21394210637167 | erot = 2.41777278592862 | epot = -12.765064022533 | etot = -9.13334913023274 -303000 ekin = 1.1596741442934 | erot = 2.38015189683557 | epot = -12.6731751711844 | etot = -9.13334913005544 -304000 ekin = 1.10589726251302 | erot = 2.33066939618069 | epot = -12.5699157885241 | etot = -9.13334912983043 -305000 ekin = 1.05441504199268 | erot = 2.27111808933615 | epot = -12.4588822609062 | etot = -9.13334912957738 -306000 ekin = 1.00698421397159 | erot = 2.20379218513968 | epot = -12.3441255284276 | etot = -9.13334912931634 -307000 ekin = 0.965188337627658 | erot = 2.13129764385332 | epot = -12.2298351105454 | etot = -9.13334912906444 -308000 ekin = 0.930345631944601 | erot = 2.056368146155 | epot = -12.1200629069337 | etot = -9.13334912883408 -309000 ekin = 0.903461768093092 | erot = 1.98167791132811 | epot = -12.0184888080548 | etot = -9.13334912863359 -310000 ekin = 0.885228515008126 | erot = 1.90967870211519 | epot = -11.9282563455893 | etot = -9.13334912846596 -311000 ekin = 0.876047647700586 | erot = 1.84263812609996 | epot = -11.852034902134 | etot = -9.13334912833348 -312000 ekin = 0.876068182199105 | erot = 1.78248869456835 | epot = -11.7919060050072 | etot = -9.13334912823976 -313000 ekin = 0.885223985970005 | erot = 1.73072892882167 | epot = -11.7493020429822 | etot = -9.13334912819049 -314000 ekin = 0.903258342515217 | erot = 1.68832066988298 | epot = -11.7249281405911 | etot = -9.13334912819286 -315000 ekin = 0.929731391718549 | erot = 1.65558558099657 | epot = -11.7186661009695 | etot = -9.13334912825433 -316000 ekin = 0.964013828970821 | erot = 1.6321197350897 | epot = -11.72948269244 | etot = -9.13334912837943 -317000 ekin = 1.00527629211697 | erot = 1.61675326466403 | epot = -11.7553786853486 | etot = -9.13334912856759 -318000 ekin = 1.05248736450164 | erot = 1.60758570940499 | epot = -11.7934222027159 | etot = -9.13334912880928 -319000 ekin = 1.10443332868175 | erot = 1.60212494474445 | epot = -11.8399074025115 | etot = -9.13334912908528 -320000 ekin = 1.15976924920879 | erot = 1.59754526105337 | epot = -11.8906636396278 | etot = -9.13334912936562 -321000 ekin = 1.21710352305735 | erot = 1.591055545181 | epot = -11.9415081978527 | etot = -9.13334912961438 -322000 ekin = 1.27510751189543 | erot = 1.58033324923022 | epot = -11.9887898909209 | etot = -9.1333491297953 -323000 ekin = 1.33263084645792 | erot = 1.56394390937281 | epot = -12.0299238857116 | etot = -9.13334912988083 -324000 ekin = 1.38879590712306 | erot = 1.5416467848519 | epot = -12.0637918218349 | etot = -9.13334912985997 -325000 ekin = 1.44304623679811 | erot = 1.51450056885231 | epot = -12.0908959353924 | etot = -9.13334912974197 -326000 ekin = 1.49513435445796 | erot = 1.48473073066039 | epot = -12.1132142146722 | etot = -9.1333491295539 -327000 ekin = 1.54505065938471 | erot = 1.45538400860359 | epot = -12.1337837973235 | etot = -9.13334912933516 -328000 ekin = 1.59290981434387 | erot = 1.42984788209389 | epot = -12.1561068255661 | etot = -9.13334912912838 -329000 ekin = 1.63881860975765 | erot = 1.41133335467872 | epot = -12.1835010934091 | etot = -9.13334912897275 -330000 ekin = 1.68274896183239 | erot = 1.4024072959145 | epot = -12.2185053866451 | etot = -9.13334912889826 -331000 ekin = 1.72443467169707 | erot = 1.4046311634215 | epot = -12.2624149640428 | etot = -9.13334912892422 -332000 ekin = 1.76330533674463 | erot = 1.41833479327589 | epot = -12.3149892590779 | etot = -9.13334912905735 -333000 ekin = 1.79846823309411 | erot = 1.44253834966357 | epot = -12.3743557120476 | etot = -9.13334912928995 -334000 ekin = 1.82874900591204 | erot = 1.47503277033971 | epot = -12.4371309058505 | etot = -9.1333491295987 -335000 ekin = 1.85279616115898 | erot = 1.5126357019759 | epot = -12.4987809930786 | etot = -9.13334912994371 -336000 ekin = 1.86927630558816 | erot = 1.55160162438203 | epot = -12.5542270602401 | etot = -9.13334913026992 -337000 ekin = 1.87711735413937 | erot = 1.5882004977332 | epot = -12.5986669823884 | etot = -9.13334913051582 -338000 ekin = 1.8757484092313 | erot = 1.61938868722871 | epot = -12.6284862270849 | etot = -9.13334913062489 -339000 ekin = 1.86534866362648 | erot = 1.64338736517746 | epot = -12.6420851593657 | etot = -9.13334913056172 -340000 ekin = 1.84695798886891 | erot = 1.66009075059628 | epot = -12.6403978697887 | etot = -9.13334913032349 -341000 ekin = 1.82243969076525 | erot = 1.67114820362438 | epot = -12.6269370243315 | etot = -9.13334912994192 -342000 ekin = 1.79428655955741 | erot = 1.67969211618746 | epot = -12.6073278052212 | etot = -9.13334912947637 -343000 ekin = 1.76531632972398 | erot = 1.68978090506725 | epot = -12.5884463637883 | etot = -9.13334912899707 -344000 ekin = 1.73833039739143 | erot = 1.70570000746884 | epot = -12.5773795334311 | etot = -9.13334912857087 -345000 ekin = 1.71580589060137 | erot = 1.73127559556237 | epot = -12.5804306144134 | etot = -9.13334912824962 -346000 ekin = 1.6996635309747 | erot = 1.76931234934698 | epot = -12.6023250083897 | etot = -9.13334912806806 -347000 ekin = 1.69112042623171 | erot = 1.82120184302266 | epot = -12.6456713972995 | etot = -9.13334912804509 -348000 ekin = 1.69061396982658 | erot = 1.88669704033649 | epot = -12.7106601383506 | etot = -9.13334912818748 -349000 ekin = 1.69777681788112 | erot = 1.96382926866272 | epot = -12.7949552150357 | etot = -9.13334912849182 -350000 ekin = 1.7114511501017 | erot = 2.04895591402652 | epot = -12.8937561930717 | etot = -9.13334912894347 -351000 ekin = 1.72974629646096 | erot = 2.13695636910622 | epot = -13.0000517950781 | etot = -9.13334912951097 -352000 ekin = 1.75015893903857 | erot = 2.22162008456721 | epot = -13.1051281537467 | etot = -9.13334913014092 -353000 ekin = 1.76978034905472 | erot = 2.29627029646064 | epot = -13.1993997762728 | etot = -9.13334913075749 -354000 ekin = 1.7856021091187 | erot = 2.35462017023462 | epot = -13.2735714106211 | etot = -9.13334913126782 -355000 ekin = 1.7948978547275 | erot = 2.39176336004161 | epot = -13.3200103463516 | etot = -9.13334913158252 -356000 ekin = 1.79561393246494 | erot = 2.4050918685946 | epot = -13.3340549326996 | etot = -9.13334913164005 -357000 ekin = 1.78667091072534 | erot = 2.39487614134816 | epot = -13.3148961835026 | etot = -9.13334913142907 -358000 ekin = 1.76810167230416 | erot = 2.3642989799402 | epot = -13.26574978317 | etot = -9.13334913092568 -359000 ekin = 1.74170569044599 | erot = 2.31907684809484 | epot = -13.1941316689269 | etot = -9.13334913038603 -360000 ekin = 1.70943632676095 | erot = 2.26611368397139 | epot = -13.1088991405402 | etot = -9.13334912980783 -361000 ekin = 1.67315005965356 | erot = 2.2123416661571 | epot = -13.0188408550981 | etot = -9.1333491292874 -362000 ekin = 1.63480994001483 | erot = 2.16376887379833 | epot = -12.931927942706 | etot = -9.13334912889285 -363000 ekin = 1.59622606057457 | erot = 2.12469986683786 | epot = -12.8542750560708 | etot = -9.13334912865833 -364000 ekin = 1.55890205833708 | erot = 2.0973463155983 | epot = -12.7895975025221 | etot = -9.13334912858677 -365000 ekin = 1.52397421076707 | erot = 2.08181308416756 | epot = -12.7391364235924 | etot = -9.13334912865774 -366000 ekin = 1.49221260733957 | erot = 2.0763900979626 | epot = -12.7019518341366 | etot = -9.13334912883443 -367000 ekin = 1.46405952364913 | erot = 2.0780551012223 | epot = -12.6754637539451 | etot = -9.13334912907368 -368000 ekin = 1.43967726932358 | erot = 2.08307216057664 | epot = -12.6560985592352 | etot = -9.13334912933493 -369000 ekin = 1.41899010811464 | erot = 2.08756917147338 | epot = -12.6399084091744 | etot = -9.13334912958638 -370000 ekin = 1.40171557356751 | erot = 2.08800173652931 | epot = -12.6230664399037 | etot = -9.13334912980689 -371000 ekin = 1.38739280854856 | erot = 2.08146226240663 | epot = -12.6022042009385 | etot = -9.13334912998331 -372000 ekin = 1.37542340308569 | erot = 2.06585193702337 | epot = -12.5746244702146 | etot = -9.13334913010555 -373000 ekin = 1.3651375235788 | erot = 2.03996886737112 | epot = -12.5384555211133 | etot = -9.13334913016337 -374000 ekin = 1.35583949105123 | erot = 2.00351975772384 | epot = -12.4927083789459 | etot = -9.13334913017084 -375000 ekin = 1.34694157711379 | erot = 1.9571603826844 | epot = -12.4374510898675 | etot = -9.13334913006932 -376000 ekin = 1.33814968105167 | erot = 1.90258032253183 | epot = -12.374079133482 | etot = -9.13334912989844 -377000 ekin = 1.32936261120695 | erot = 1.84227265725044 | epot = -12.3049843981354 | etot = -9.133349129678 -378000 ekin = 1.32063159991224 | erot = 1.77926043318832 | epot = -12.2332411625408 | etot = -9.13334912944026 -379000 ekin = 1.31208340368726 | erot = 1.71672941783422 | epot = -12.1621619507387 | etot = -9.13334912921721 -380000 ekin = 1.30384179784077 | erot = 1.65764204155578 | epot = -12.0948329684312 | etot = -9.13334912903461 -381000 ekin = 1.29657917475703 | erot = 1.60487100826496 | epot = -12.0347993118431 | etot = -9.13334912882109 -382000 ekin = 1.29092190134574 | erot = 1.5606106770692 | epot = -11.9848817072416 | etot = -9.13334912882662 -383000 ekin = 1.2862090906832 | erot = 1.52536833769879 | epot = -11.9449265572222 | etot = -9.13334912884017 -384000 ekin = 1.28205683099545 | erot = 1.49922806168738 | epot = -11.9146340215159 | etot = -9.13334912883307 -385000 ekin = 1.27850478017806 | erot = 1.48216189144778 | epot = -11.8940158004147 | etot = -9.13334912878889 -386000 ekin = 1.27603762173955 | erot = 1.47423730493012 | epot = -11.8836240553814 | etot = -9.1333491287117 -387000 ekin = 1.27548287271892 | erot = 1.47565716104777 | epot = -11.8844891623921 | etot = -9.13334912862536 -388000 ekin = 1.27780044585788 | erot = 1.48660964097499 | epot = -11.8977592154009 | etot = -9.13334912856799 -389000 ekin = 1.28381262703596 | erot = 1.50697425852508 | epot = -11.9241360141413 | etot = -9.13334912858021 -390000 ekin = 1.29393930260888 | erot = 1.53598035068365 | epot = -11.9632687819891 | etot = -9.13334912869656 -391000 ekin = 1.30800074456151 | erot = 1.57190984924569 | epot = -12.0132597227379 | etot = -9.13334912893074 -392000 ekin = 1.325130991795 | erot = 1.61197584867816 | epot = -12.0704559697468 | etot = -9.13334912927367 -393000 ekin = 1.34382543000193 | erot = 1.65241448883467 | epot = -12.1295890485281 | etot = -9.13334912969153 -394000 ekin = 1.3621210239867 | erot = 1.68881012624785 | epot = -12.1842802803652 | etot = -9.13334913013061 -395000 ekin = 1.37788072140323 | erot = 1.71661593054036 | epot = -12.2278457824695 | etot = -9.13334913052588 -396000 ekin = 1.3891315451238 | erot = 1.73181112618284 | epot = -12.2542918021058 | etot = -9.13334913079917 -397000 ekin = 1.39439357479683 | erot = 1.73153617598965 | epot = -12.2592788817207 | etot = -9.13334913093423 -398000 ekin = 1.392939046591 | erot = 1.71441550438621 | epot = -12.2407036818549 | etot = -9.13334913087766 -399000 ekin = 1.38493174777325 | erot = 1.68094766350724 | epot = -12.1992285419441 | etot = -9.13334913066366 -400000 ekin = 1.37142116073966 | erot = 1.63330764197713 | epot = -12.1380779330241 | etot = -9.13334913030734 -401000 ekin = 1.35412991252306 | erot = 1.57501044311532 | epot = -12.0624894855325 | etot = -9.13334912989417 -402000 ekin = 1.33517991856765 | erot = 1.51048364979885 | epot = -11.9790126977729 | etot = -9.13334912940637 -403000 ekin = 1.31709653187147 | erot = 1.44458891478784 | epot = -11.8950345755996 | etot = -9.13334912894028 -404000 ekin = 1.30234590493773 | erot = 1.38198365576653 | epot = -11.8176786892413 | etot = -9.13334912853706 -405000 ekin = 1.29301391716195 | erot = 1.32673455588805 | epot = -11.7530976012898 | etot = -9.13334912823978 -406000 ekin = 1.2906546746274 | erot = 1.28204116436375 | epot = -11.7060449670187 | etot = -9.13334912802758 -407000 ekin = 1.29643237294776 | erot = 1.25006436588465 | epot = -11.6798458667535 | etot = -9.13334912792104 -408000 ekin = 1.31094700615259 | erot = 1.23190986721618 | epot = -11.6762060012866 | etot = -9.13334912791786 -409000 ekin = 1.33422438303399 | erot = 1.22763489752384 | epot = -11.6952084085746 | etot = -9.13334912801675 -410000 ekin = 1.36572014155011 | erot = 1.23628017302646 | epot = -11.7353494427907 | etot = -9.1333491282141 -411000 ekin = 1.4043266876083 | erot = 1.25592548503719 | epot = -11.7936013011487 | etot = -9.13334912850318 -412000 ekin = 1.44839088645936 | erot = 1.28379672627982 | epot = -11.8655367416088 | etot = -9.13334912886961 -413000 ekin = 1.49576795241922 | erot = 1.31646032749018 | epot = -11.9455774091946 | etot = -9.13334912928523 -414000 ekin = 1.54394920889522 | erot = 1.35014055217893 | epot = -12.0274388907797 | etot = -9.13334912970551 -415000 ekin = 1.59029421705203 | erot = 1.38116660571141 | epot = -12.1048099528357 | etot = -9.13334913007226 -416000 ekin = 1.63235973909131 | erot = 1.40649922749186 | epot = -12.1722080969101 | etot = -9.13334913032698 -417000 ekin = 1.66825800489219 | erot = 1.42422016760995 | epot = -12.225827302936 | etot = -9.13334913043386 -418000 ekin = 1.69693219837218 | erot = 1.43381449957251 | epot = -12.264095828321 | etot = -9.13334913037631 -419000 ekin = 1.71824951894753 | erot = 1.43620625779358 | epot = -12.287804906927 | etot = -9.13334913018588 -420000 ekin = 1.73288337430522 | erot = 1.433508253505 | epot = -12.299740757723 | etot = -9.13334912991281 -421000 ekin = 1.7420412953233 | erot = 1.42856028674674 | epot = -12.3039507116819 | etot = -9.13334912961185 -422000 ekin = 1.7471370180767 | erot = 1.42445618730574 | epot = -12.3049423347116 | etot = -9.13334912932917 -423000 ekin = 1.74949063384677 | erot = 1.42413436044179 | epot = -12.3069741233945 | etot = -9.13334912910593 -424000 ekin = 1.75009754642981 | erot = 1.4300564192499 | epot = -12.3135030946281 | etot = -9.13334912894843 -425000 ekin = 1.74947257256704 | erot = 1.44412400802223 | epot = -12.3269457094749 | etot = -9.13334912888562 -426000 ekin = 1.69664946387257 | erot = 1.40011304962302 | epot = -12.2301116345967 | etot = -9.1333491211011 -427000 ekin = 1.76448154346295 | erot = 1.46695774970494 | epot = -12.3647884699887 | etot = -9.13334917682078 -428000 ekin = 1.77864040382729 | erot = 1.51204937412326 | epot = -12.4240389057601 | etot = -9.13334912780956 -429000 ekin = 1.77744254090634 | erot = 1.55645173379999 | epot = -12.4672434028126 | etot = -9.13334912810625 -430000 ekin = 1.76864481713877 | erot = 1.60567169371301 | epot = -12.5076656392914 | etot = -9.1333491284396 -431000 ekin = 1.75041443992984 | erot = 1.65655638514254 | epot = -12.5403199538359 | etot = -9.1333491287635 -432000 ekin = 1.72143753020827 | erot = 1.70559294341406 | epot = -12.5603796026458 | etot = -9.13334912902348 -433000 ekin = 1.68129756274064 | erot = 1.74934007551155 | epot = -12.5639867674192 | etot = -9.13334912916702 -434000 ekin = 1.63077650979783 | erot = 1.78490039303262 | epot = -12.5490260319872 | etot = -9.13334912915677 -435000 ekin = 1.57198882084277 | erot = 1.81033246556102 | epot = -12.5156704153863 | etot = -9.1333491289825 -436000 ekin = 1.50828072851243 | erot = 1.8248990896095 | epot = -12.4665289467889 | etot = -9.13334912866695 -437000 ekin = 1.44388315300992 | erot = 1.82908776307803 | epot = -12.4063200443484 | etot = -9.13334912826041 -438000 ekin = 1.38337900429486 | erot = 1.82441107452303 | epot = -12.3411392066449 | etot = -9.13334912782701 -439000 ekin = 1.33110407576011 | erot = 1.81306694503837 | epot = -12.2775201482251 | etot = -9.13334912742665 -440000 ekin = 1.29061754888814 | erot = 1.79757475508114 | epot = -12.2215414310713 | etot = -9.13334912710203 -441000 ekin = 1.26434687831999 | erot = 1.78048600607157 | epot = -12.1781820112636 | etot = -9.13334912687206 -442000 ekin = 1.25344985037798 | erot = 1.76421040799211 | epot = -12.1510093851058 | etot = -9.13334912673572 -443000 ekin = 1.25787308938312 | erot = 1.75093400476504 | epot = -12.142156220829 | etot = -9.13334912668082 -444000 ekin = 1.27654491138731 | erot = 1.74256727851856 | epot = -12.1524613166009 | etot = -9.13334912669505 -445000 ekin = 1.30762960642434 | erot = 1.74066161516909 | epot = -12.1816403483644 | etot = -9.13334912677094 -446000 ekin = 1.34878485335211 | erot = 1.74626611357013 | epot = -12.2284000938283 | etot = -9.13334912690606 -447000 ekin = 1.39739993763745 | erot = 1.75974793458045 | epot = -12.2904969993196 | etot = -9.13334912710174 -448000 ekin = 1.45076649190932 | erot = 1.78060717934147 | epot = -12.3647227986048 | etot = -9.13334912735396 -449000 ekin = 1.50623999605402 | erot = 1.80738848344743 | epot = -12.4469776071528 | etot = -9.1333491276513 -450000 ekin = 1.5613890805465 | erot = 1.83773497344407 | epot = -12.5324731819632 | etot = -9.13334912797267 -451000 ekin = 1.61412412964578 | erot = 1.86859865234491 | epot = -12.6160719102792 | etot = -9.13334912828851 -452000 ekin = 1.66280931630166 | erot = 1.89658548036437 | epot = -12.6927439252307 | etot = -9.13334912856467 -453000 ekin = 1.7063497163714 | erot = 1.9183747658684 | epot = -12.758073611013 | etot = -9.13334912877319 -454000 ekin = 1.74423056750415 | erot = 1.93111374790646 | epot = -12.8086934443075 | etot = -9.13334912889692 -455000 ekin = 1.77648988409932 | erot = 1.93270291378152 | epot = -12.8425419268151 | etot = -9.13334912893425 -456000 ekin = 1.80361911556787 | erot = 1.9219262828774 | epot = -12.8588945273431 | etot = -9.13334912889786 -457000 ekin = 1.82640016706269 | erot = 1.89842961389848 | epot = -12.858178909771 | etot = -9.1333491288098 -458000 ekin = 1.84570455025997 | erot = 1.8625929869562 | epot = -12.8416466659128 | etot = -9.13334912869665 -459000 ekin = 1.86229070171015 | erot = 1.81535342315 | epot = -12.8109932534395 | etot = -9.13334912857936 -460000 ekin = 1.87663848085941 | erot = 1.75803306182628 | epot = -12.7680206711609 | etot = -9.1333491284752 -461000 ekin = 1.88883864523272 | erot = 1.69219746384138 | epot = -12.7143852374648 | etot = -9.13334912839074 -462000 ekin = 1.89856203652394 | erot = 1.61956678027284 | epot = -12.6514779451229 | etot = -9.13334912832615 -463000 ekin = 1.90510221764579 | erot = 1.54196437877704 | epot = -12.5804157247006 | etot = -9.13334912827778 -464000 ekin = 1.90747686786769 | erot = 1.46127993198361 | epot = -12.5021059280878 | etot = -9.13334912823649 -465000 ekin = 1.90457977356283 | erot = 1.37946070091642 | epot = -12.4173896026667 | etot = -9.13334912818744 -466000 ekin = 1.89536572152456 | erot = 1.29851485172089 | epot = -12.3272297013685 | etot = -9.13334912812307 -467000 ekin = 1.87901831710111 | erot = 1.22048659414348 | epot = -12.232854039282 | etot = -9.13334912803741 -468000 ekin = 1.85509917792192 | erot = 1.1473912628404 | epot = -12.135839568692 | etot = -9.13334912792963 -469000 ekin = 1.82366605107452 | erot = 1.08110787535108 | epot = -12.0381230542294 | etot = -9.13334912780381 -470000 ekin = 1.78535216075739 | erot = 1.02324127043727 | epot = -11.9419425588602 | etot = -9.13334912766558 -471000 ekin = 1.74141051513502 | erot = 0.974982090044474 | epot = -11.8497417327 | etot = -9.13334912752053 -472000 ekin = 1.69372019706046 | erot = 0.937000644456116 | epot = -11.7640699688896 | etot = -9.13334912737304 -473000 ekin = 1.64473632771078 | erot = 0.909402534933341 | epot = -11.6874879898728 | etot = -9.13334912722864 -474000 ekin = 1.59734995177461 | erot = 0.891755018433343 | epot = -11.622454097305 | etot = -9.13334912709702 -475000 ekin = 1.55462885495348 | erot = 0.883174765262338 | epot = -11.571152747209 | etot = -9.13334912699314 -476000 ekin = 1.51944866261258 | erot = 0.882459888572011 | epot = -11.5352576781179 | etot = -9.13334912693328 -477000 ekin = 1.49408243529128 | erot = 0.888250161719579 | epot = -11.5156817239402 | etot = -9.1333491269293 -478000 ekin = 1.47985622585725 | erot = 0.899197335535745 | epot = -11.5124026883765 | etot = -9.13334912698345 -479000 ekin = 1.47695373952945 | erot = 0.914115348460641 | epot = -11.5244182150854 | etot = -9.13334912709531 -480000 ekin = 1.48439477575547 | erot = 0.932072516624243 | epot = -11.5498164196235 | etot = -9.13334912724377 -481000 ekin = 1.50022741217604 | erot = 0.952423999187706 | epot = -11.5860005387875 | etot = -9.1333491274238 -482000 ekin = 1.52172985963508 | erot = 0.974754211850123 | epot = -11.6298331991131 | etot = -9.13334912762789 -483000 ekin = 1.54567018241573 | erot = 0.998770450818459 | epot = -11.6777897610815 | etot = -9.13334912784727 -484000 ekin = 1.5685861472314 | erot = 1.02419763511229 | epot = -11.7261329104139 | etot = -9.13334912807017 -485000 ekin = 1.58707346955103 | erot = 1.05070585623507 | epot = -11.7711284540671 | etot = -9.13334912828097 -486000 ekin = 1.5980710360309 | erot = 1.07788995425036 | epot = -11.8093101187427 | etot = -9.13334912846141 -487000 ekin = 1.59911980804398 | erot = 1.10529931942497 | epot = -11.8377682560634 | etot = -9.13334912859443 -488000 ekin = 1.58856342116581 | erot = 1.13249736396505 | epot = -11.8544099137994 | etot = -9.1333491286685 -489000 ekin = 1.56566142904586 | erot = 1.15911683126035 | epot = -11.8581273889864 | etot = -9.13334912868024 -490000 ekin = 1.53060268554494 | erot = 1.1848850242751 | epot = -11.848836838455 | etot = -9.13334912863495 -491000 ekin = 1.48443427069261 | erot = 1.20959914016099 | epot = -11.8273825393277 | etot = -9.13334912847408 -492000 ekin = 1.42930345354192 | erot = 1.23291829593384 | epot = -11.7955708778614 | etot = -9.13334912838564 -493000 ekin = 1.36749564144839 | erot = 1.25438544605061 | epot = -11.7552302157762 | etot = -9.13334912827722 -494000 ekin = 1.30137262987712 | erot = 1.27348228002446 | epot = -11.7082040380584 | etot = -9.13334912815681 -495000 ekin = 1.23360970816606 | erot = 1.28954660635986 | epot = -11.656505442555 | etot = -9.13334912802907 -496000 ekin = 1.16375548639931 | erot = 1.30023195608135 | epot = -11.597336620527 | etot = -9.13334917804638 -497000 ekin = 1.02574644939749 | erot = 1.24927230425605 | epot = -11.4083678754971 | etot = -9.1333491218436 -498000 ekin = 1.13339044618068 | erot = 1.24939677704364 | epot = -11.5161363891335 | etot = -9.13334916590914 -499000 ekin = 1.16434762393443 | erot = 1.25864673154736 | epot = -11.5563434800394 | etot = -9.13334912455761 -500000 ekin = 1.16768486506973 | erot = 1.25769344443679 | epot = -11.5587274345829 | etot = -9.13334912507638 -501000 ekin = 1.17559895497739 | erot = 1.25038915442381 | epot = -11.5593372343056 | etot = -9.13334912490443 -502000 ekin = 1.18926606274124 | erot = 1.23784323632847 | epot = -11.5604584237521 | etot = -9.13334912468242 -503000 ekin = 1.20982408115136 | erot = 1.22204157664177 | epot = -11.5652147822342 | etot = -9.13334912444111 -504000 ekin = 1.2381178273724 | erot = 1.20572865378346 | epot = -11.5771956053614 | etot = -9.13334912420554 -505000 ekin = 1.27460966228983 | erot = 1.19199209322132 | epot = -11.5999508795136 | etot = -9.13334912400249 -506000 ekin = 1.31928047819791 | erot = 1.1839368767797 | epot = -11.6365664788341 | etot = -9.13334912385644 -507000 ekin = 1.37157700900694 | erot = 1.18435118386784 | epot = -11.6892773166593 | etot = -9.13334912378454 -508000 ekin = 1.43042502721723 | erot = 1.19541187481904 | epot = -11.7591860258309 | etot = -9.13334912379462 -509000 ekin = 1.49431413373027 | erot = 1.21846596296109 | epot = -11.8461292205759 | etot = -9.13334912388451 -510000 ekin = 1.56143815900149 | erot = 1.25390781315983 | epot = -11.9486950962062 | etot = -9.13334912404484 -511000 ekin = 1.6298540535969 | erot = 1.30115550674715 | epot = -12.0643586846064 | etot = -9.13334912426233 -512000 ekin = 1.69760948238587 | erot = 1.35871536005148 | epot = -12.1896739669624 | etot = -9.13334912452507 -513000 ekin = 1.76279412854926 | erot = 1.42431355747723 | epot = -12.3204568108526 | etot = -9.1333491248261 -514000 ekin = 1.82349978434352 | erot = 1.49507387318822 | epot = -12.4519227826915 | etot = -9.13334912515979 -515000 ekin = 1.87772649131863 | erot = 1.56773414237229 | epot = -12.578809759206 | etot = -9.1333491255151 -516000 ekin = 1.92332299298654 | erot = 1.63891274677026 | epot = -12.6955848656238 | etot = -9.13334912586698 -517000 ekin = 1.95805681102207 | erot = 1.70543998935156 | epot = -12.796845926548 | etot = -9.13334912617437 -518000 ekin = 1.97984991947139 | erot = 1.76473849816332 | epot = -12.8779375440238 | etot = -9.13334912638909 -519000 ekin = 1.98711819296805 | erot = 1.81518192785907 | epot = -12.9356492472993 | etot = -9.13334912647214 -520000 ekin = 1.97908911077294 | erot = 1.85632478175992 | epot = -12.9687630189464 | etot = -9.13334912641354 -521000 ekin = 1.95594858056464 | erot = 1.88892760797505 | epot = -12.9782253147673 | etot = -9.13334912622764 -522000 ekin = 1.91881161738233 | erot = 1.91475582238184 | epot = -12.9669165657166 | etot = -9.13334912595242 -523000 ekin = 1.8695404534333 | erot = 1.93620351350896 | epot = -12.9390930925794 | etot = -9.13334912563714 -524000 ekin = 1.81047332181735 | erot = 1.95582271022629 | epot = -12.8996451573767 | etot = -9.13334912533309 -525000 ekin = 1.74413482435742 | erot = 1.97582576721985 | epot = -12.8533097166652 | etot = -9.13334912508796 -526000 ekin = 1.67297434024978 | erot = 1.99761678040749 | epot = -12.8039402455968 | etot = -9.13334912493949 -527000 ekin = 1.59916865616268 | erot = 2.02141684187848 | epot = -12.7539346229491 | etot = -9.13334912490795 -528000 ekin = 1.52452149634747 | erot = 2.04605877912766 | epot = -12.703929400465 | etot = -9.13334912498985 -529000 ekin = 1.45048141638157 | erot = 2.06903286947953 | epot = -12.6528634110146 | etot = -9.13334912515348 -530000 ekin = 1.37827485203517 | erot = 2.08683821123225 | epot = -12.5984621886097 | etot = -9.13334912534224 -531000 ekin = 1.30911544825371 | erot = 2.09562136598341 | epot = -12.5380859397248 | etot = -9.13334912548764 -532000 ekin = 1.24441932207159 | erot = 2.0919865394648 | epot = -12.4697549870638 | etot = -9.13334912552745 -533000 ekin = 1.18594679653503 | erot = 2.07377924595734 | epot = -12.3930751679176 | etot = -9.1333491254252 -534000 ekin = 1.13581312461818 | erot = 2.04062941960519 | epot = -12.3097916694029 | etot = -9.13334912517958 -535000 ekin = 1.09635528031962 | erot = 1.99411201500012 | epot = -12.2238164201439 | etot = -9.13334912482411 -536000 ekin = 1.06988655696252 | erot = 1.93750945182015 | epot = -12.1407451331975 | etot = -9.13334912441483 -537000 ekin = 1.05839509272021 | erot = 1.87547351819332 | epot = -12.067217734908 | etot = -9.13334912399445 -538000 ekin = 1.06323891386383 | erot = 1.8133142469933 | epot = -12.0099022845371 | etot = -9.13334912367997 -539000 ekin = 1.08487929970935 | erot = 1.75562392315627 | epot = -11.9738523463603 | etot = -9.1333491234947 -540000 ekin = 1.12268189024 | erot = 1.70611667319426 | epot = -11.9621476869098 | etot = -9.13334912347552 -541000 ekin = 1.17481105396921 | erot = 1.66717481231705 | epot = -11.9753349899259 | etot = -9.13334912363967 -542000 ekin = 1.23824417791975 | erot = 1.63956314455877 | epot = -12.0111564464592 | etot = -9.13334912398068 -543000 ekin = 1.30892832433008 | erot = 1.62236761446997 | epot = -12.064645063264 | etot = -9.13334912446397 -544000 ekin = 1.38208514508333 | erot = 1.61318872881414 | epot = -12.1286229989291 | etot = -9.13334912503163 -545000 ekin = 1.45263801176678 | erot = 1.60857948400874 | epot = -12.1945666213833 | etot = -9.13334912560776 -546000 ekin = 1.51570974605917 | erot = 1.6046737747132 | epot = -12.2537326468843 | etot = -9.13334912611194 -547000 ekin = 1.56711452712199 | erot = 1.5978880037946 | epot = -12.2983516573924 | etot = -9.13334912647585 -548000 ekin = 1.60376221827712 | erot = 1.58554162813844 | epot = -12.3226529730727 | etot = -9.1333491266571 -549000 ekin = 1.62391041625646 | erot = 1.56625626417929 | epot = -12.3235158070828 | etot = -9.13334912664708 -550000 ekin = 1.62723358008189 | erot = 1.54012357324966 | epot = -12.3007062797783 | etot = -9.1333491264467 -551000 ekin = 1.61471889890709 | erot = 1.50851459566941 | epot = -12.2565826207224 | etot = -9.13334912614586 -552000 ekin = 1.58843016681321 | erot = 1.4734893638054 | epot = -12.1952686563899 | etot = -9.13334912577134 -553000 ekin = 1.55120098108813 | erot = 1.43753302715615 | epot = -12.1220831336151 | etot = -9.13334912537079 -554000 ekin = 1.50631636212005 | erot = 1.40318755320161 | epot = -12.0428530403011 | etot = -9.13334912497946 -555000 ekin = 1.45722878985314 | erot = 1.37279698197473 | epot = -11.963374896449 | etot = -9.13334912462112 -556000 ekin = 1.40732293283973 | erot = 1.34837590637177 | epot = -11.8890479635191 | etot = -9.13334912430758 -557000 ekin = 1.3597375077168 | erot = 1.33157707037723 | epot = -11.8246637021381 | etot = -9.13334912404409 -558000 ekin = 1.31723590731803 | erot = 1.32371628032195 | epot = -11.774301311473 | etot = -9.13334912383299 -559000 ekin = 1.28211028308052 | erot = 1.32580526483901 | epot = -11.7412646715973 | etot = -9.13334912367774 -560000 ekin = 1.25610590403879 | erot = 1.3385562626673 | epot = -11.7280112902908 | etot = -9.13334912358467 -561000 ekin = 1.2403584426244 | erot = 1.36234138771829 | epot = -11.7360489539048 | etot = -9.13334912356214 -562000 ekin = 1.23534624011934 | erot = 1.39711468449598 | epot = -11.7658100482331 | etot = -9.13334912361783 -563000 ekin = 1.24087113987902 | erot = 1.44233150301079 | epot = -11.8165517666423 | etot = -9.13334912375254 -564000 ekin = 1.25609129142723 | erot = 1.49691875870951 | epot = -11.8863591740921 | etot = -9.13334912395532 -565000 ekin = 1.27963015842495 | erot = 1.55937933474963 | epot = -11.9723586173646 | etot = -9.13334912419005 -566000 ekin = 1.30976945418571 | erot = 1.62795664730359 | epot = -12.0710752259391 | etot = -9.13334912444983 -567000 ekin = 1.34469873511645 | erot = 1.70073738341556 | epot = -12.1787852432246 | etot = -9.13334912469256 -568000 ekin = 1.3827577993125 | erot = 1.77591787234845 | epot = -12.2920247965675 | etot = -9.13334912490654 -569000 ekin = 1.42260294142859 | erot = 1.85183127906418 | epot = -12.4077833455891 | etot = -9.13334912509629 -570000 ekin = 1.46311433096579 | erot = 1.92670412008669 | epot = -12.5231675764218 | etot = -9.13334912536935 -571000 ekin = 1.50327753329307 | erot = 1.99853100883714 | epot = -12.6351576678129 | etot = -9.13334912568273 -572000 ekin = 1.54192966726832 | erot = 2.0649761373204 | epot = -12.7402549304653 | etot = -9.13334912587657 -573000 ekin = 1.57823855406821 | erot = 2.12427016697656 | epot = -12.8358578470038 | etot = -9.13334912595906 -574000 ekin = 1.61207502223778 | erot = 2.1757020138103 | epot = -12.9211261619202 | etot = -9.13334912587208 -575000 ekin = 1.64402582172922 | erot = 2.2202844101377 | epot = -12.9976593574945 | etot = -9.13334912562756 -576000 ekin = 1.67538587677304 | erot = 2.26042238855478 | epot = -13.0691573906207 | etot = -9.13334912529285 -577000 ekin = 1.70789209377811 | erot = 2.29915883241272 | epot = -13.1404000511603 | etot = -9.13334912496951 -578000 ekin = 1.74326819507297 | erot = 2.33909725075146 | epot = -13.2157145705747 | etot = -9.13334912475026 -579000 ekin = 1.78272231837321 | erot = 2.38182643841169 | epot = -13.2978978814812 | etot = -9.13334912469626 -580000 ekin = 1.82652189372187 | erot = 2.42751679139068 | epot = -13.3873878099471 | etot = -9.13334912483456 -581000 ekin = 1.87370675174828 | erot = 2.47480205693634 | epot = -13.4818579338601 | etot = -9.1333491251755 -582000 ekin = 1.92197052578147 | erot = 2.52092715153357 | epot = -13.5762468029765 | etot = -9.13334912566144 -583000 ekin = 1.96774925896735 | erot = 2.5622766080205 | epot = -13.6633749932296 | etot = -9.13334912624179 -584000 ekin = 2.00657374540193 | erot = 2.59498886543468 | epot = -13.7349117376582 | etot = -9.13334912682161 -585000 ekin = 2.03371871575739 | erot = 2.61566274201115 | epot = -13.7827305850522 | etot = -9.13334912728366 -586000 ekin = 2.04507827703348 | erot = 2.62214006252247 | epot = -13.8005674670738 | etot = -9.13334912751786 -587000 ekin = 2.03806243485725 | erot = 2.6141199488978 | epot = -13.7855315112163 | etot = -9.13334912746122 -588000 ekin = 2.01223115184455 | erot = 2.59335030112668 | epot = -13.7389305800982 | etot = -9.13334912712697 -589000 ekin = 1.96942837554738 | erot = 2.5632467336321 | epot = -13.6660242357853 | etot = -9.13334912660584 -590000 ekin = 1.91334419959305 | erot = 2.52801524733486 | epot = -13.5747085729613 | etot = -9.13334912603339 -591000 ekin = 1.84865383331265 | erot = 2.49158313368545 | epot = -13.4735860925352 | etot = -9.13334912553709 -592000 ekin = 1.7800600442048 | erot = 2.45674050607598 | epot = -13.3701496754675 | etot = -9.13334912518674 -593000 ekin = 1.71159279763216 | erot = 2.42478693107787 | epot = -13.2697288536903 | etot = -9.13334912498026 -594000 ekin = 1.64634946406535 | erot = 2.39569805899352 | epot = -13.1753966479312 | etot = -9.13334912487234 -595000 ekin = 1.58659479950168 | erot = 2.36854432554773 | epot = -13.08848824987 | etot = -9.13334912482058 -596000 ekin = 1.53398103552672 | erot = 2.3418217578273 | epot = -13.0091519181659 | etot = -9.13334912481192 -597000 ekin = 1.48969441623861 | erot = 2.31355286207825 | epot = -12.9365964031697 | etot = -9.13334912485281 -598000 ekin = 1.45449014891718 | erot = 2.28129539493194 | epot = -12.8691346687931 | etot = -9.133349124944 -599000 ekin = 1.42868283607278 | erot = 2.24230571377212 | epot = -12.8043376749072 | etot = -9.13334912506228 -600000 ekin = 1.41215819514151 | erot = 2.19421771507013 | epot = -12.7397250351106 | etot = -9.133349124899 -601000 ekin = 1.40437980065043 | erot = 2.13675092846565 | epot = -12.6744798541783 | etot = -9.13334912506218 -602000 ekin = 1.40442466854576 | erot = 2.0686359576303 | epot = -12.6064097512959 | etot = -9.13334912511984 -603000 ekin = 1.41112302450901 | erot = 1.98998056956515 | epot = -12.5344527191469 | etot = -9.13334912507278 -604000 ekin = 1.4231013515346 | erot = 1.90274524322012 | epot = -12.4591957197004 | etot = -9.13334912494573 -605000 ekin = 1.43883447823777 | erot = 1.81030632010434 | epot = -12.3824899231149 | etot = -9.13334912477274 -606000 ekin = 1.45673760096453 | erot = 1.7168424050433 | epot = -12.3069291305928 | etot = -9.133349124585 -607000 ekin = 1.4752986371436 | erot = 1.62672298752655 | epot = -12.2353707490741 | etot = -9.13334912440396 -608000 ekin = 1.49323166611483 | erot = 1.54399943868836 | epot = -12.1705802290446 | etot = -9.13334912424139 -609000 ekin = 1.50961256616777 | erot = 1.47208306433822 | epot = -12.1150447546167 | etot = -9.13334912411072 -610000 ekin = 1.52396039432232 | erot = 1.41350705715133 | epot = -12.0708165754694 | etot = -9.13334912399578 -611000 ekin = 1.53622860047837 | erot = 1.36992443741373 | epot = -12.039502161817 | etot = -9.13334912392491 -612000 ekin = 1.54668536626771 | erot = 1.3420536287331 | epot = -12.0220881189121 | etot = -9.13334912391134 -613000 ekin = 1.55571309696042 | erot = 1.32960894336408 | epot = -12.0186711642966 | etot = -9.13334912397207 -614000 ekin = 1.563563692219 | erot = 1.33131277563083 | epot = -12.0282255919713 | etot = -9.13334912412147 -615000 ekin = 1.57013881826698 | erot = 1.34494539762326 | epot = -12.0484333402285 | etot = -9.13334912433831 -616000 ekin = 1.57485681903816 | erot = 1.36757312206826 | epot = -12.0757790657655 | etot = -9.13334912465904 -617000 ekin = 1.57672646781027 | erot = 1.39546251367309 | epot = -12.105538106507 | etot = -9.13334912502361 -618000 ekin = 1.57456346737574 | erot = 1.4244801345404 | epot = -12.132392727295 | etot = -9.13334912537887 -619000 ekin = 1.5673294646989 | erot = 1.45059208153146 | epot = -12.1512706718936 | etot = -9.13334912566327 -620000 ekin = 1.55451321753706 | erot = 1.47039334455802 | epot = -12.1582556879157 | etot = -9.13334912582065 -621000 ekin = 1.53644782338304 | erot = 1.48161304591016 | epot = -12.1514099951074 | etot = -9.13334912581417 -622000 ekin = 1.51447783518414 | erot = 1.48347710481805 | epot = -12.1313040656382 | etot = -9.13334912563599 -623000 ekin = 1.49092960733273 | erot = 1.47683215248592 | epot = -12.1011108851286 | etot = -9.13334912530997 -624000 ekin = 1.4688613017048 | erot = 1.46422198591098 | epot = -12.0664324125277 | etot = -9.13334912491195 -625000 ekin = 1.45155188813316 | erot = 1.44918251593658 | epot = -12.034083528555 | etot = -9.13334912448521 -626000 ekin = 1.44224748158819 | erot = 1.43533399590959 | epot = -12.0109306015719 | etot = -9.13334912407414 -627000 ekin = 1.44381530881133 | erot = 1.42638005353812 | epot = -12.0035444860869 | etot = -9.13334912373746 -628000 ekin = 1.45833081621508 | erot = 1.42560824874111 | epot = -12.0172881884954 | etot = -9.13334912353925 -629000 ekin = 1.48676985538685 | erot = 1.43535417575888 | epot = -12.0554731546353 | etot = -9.13334912348959 -630000 ekin = 1.52866417050986 | erot = 1.45689184512165 | epot = -12.1189051392586 | etot = -9.13334912362712 -631000 ekin = 1.58193413340953 | erot = 1.49015054896213 | epot = -12.2054338063912 | etot = -9.13334912401955 -632000 ekin = 1.64234851057805 | erot = 1.53357750657515 | epot = -12.3092751416974 | etot = -9.13334912454419 -633000 ekin = 1.70466841199232 | erot = 1.58426390208643 | epot = -12.4222814392301 | etot = -9.13334912515131 -634000 ekin = 1.76318354701509 | erot = 1.6386058778909 | epot = -12.535138550642 | etot = -9.13334912573606 -635000 ekin = 1.8124262503678 | erot = 1.69306627319109 | epot = -12.6388416497458 | etot = -9.13334912618693 -636000 ekin = 1.84805557839874 | erot = 1.74492785468478 | epot = -12.7263325594999 | etot = -9.13334912641637 -637000 ekin = 1.86755595286166 | erot = 1.7928646555761 | epot = -12.7937697348498 | etot = -9.13334912641204 -638000 ekin = 1.87047357469836 | erot = 1.83697965055749 | epot = -12.8408023514645 | etot = -9.13334912620865 -639000 ekin = 1.85817220593915 | erot = 1.87849437004942 | epot = -12.8700157018716 | etot = -9.13334912588304 -640000 ekin = 1.83325502875125 | erot = 1.91930247134942 | epot = -12.8859066256153 | etot = -9.13334912551468 -641000 ekin = 1.79889805051336 | erot = 1.96149522930644 | epot = -12.8937424049792 | etot = -9.13334912515942 -642000 ekin = 1.75833330344306 | erot = 2.0070145451564 | epot = -12.8986969734556 | etot = -9.13334912485619 -643000 ekin = 1.71452400737735 | erot = 2.05742054583686 | epot = -12.9052936778113 | etot = -9.13334912459706 -644000 ekin = 1.67006045205506 | erot = 2.11379950765405 | epot = -12.9172090841409 | etot = -9.13334912443175 -645000 ekin = 1.62710169192397 | erot = 2.17652829046706 | epot = -12.9369791067501 | etot = -9.1333491243591 -646000 ekin = 1.58731920569661 | erot = 2.24499987971455 | epot = -12.9656682097832 | etot = -9.13334912437201 -647000 ekin = 1.55192879848518 | erot = 2.31774723145065 | epot = -13.0030251544301 | etot = -9.13334912449424 -648000 ekin = 1.52155547402964 | erot = 2.39216849404641 | epot = -13.0470730928058 | etot = -9.13334912472975 -649000 ekin = 1.49615701171073 | erot = 2.46459269466187 | epot = -13.0940988314493 | etot = -9.13334912507674 -650000 ekin = 1.47495820406704 | erot = 2.53042613107379 | epot = -13.1387334606614 | etot = -9.13334912552054 -651000 ekin = 1.45644758274541 | erot = 2.58442104122196 | epot = -13.1742177499967 | etot = -9.13334912602929 -652000 ekin = 1.4384805466879 | erot = 2.62109720355865 | epot = -13.1929268767948 | etot = -9.13334912654824 -653000 ekin = 1.4185353864548 | erot = 2.63533318878906 | epot = -13.1872177022428 | etot = -9.13334912699892 -654000 ekin = 1.39414099593459 | erot = 2.6231144598725 | epot = -13.1506045830999 | etot = -9.13334912729284 -655000 ekin = 1.36342278663345 | erot = 2.58232798191103 | epot = -13.0790998958767 | etot = -9.13334912733224 -656000 ekin = 1.32754554558812 | erot = 2.51343997306009 | epot = -12.9743346447928 | etot = -9.13334912614456 -657000 ekin = 1.07738759791824 | erot = 2.44669612962647 | epot = -12.6574327807795 | etot = -9.1333490532348 -658000 ekin = 1.00652014229351 | erot = 2.49084781646048 | epot = -12.6307170433127 | etot = -9.13334908455866 -659000 ekin = 1.07240085017135 | erot = 2.4292990183042 | epot = -12.6350489837628 | etot = -9.13334911528726 -660000 ekin = 1.09381648980313 | erot = 2.3010230826046 | epot = -12.528188687904 | etot = -9.13334911549627 -661000 ekin = 1.11701334337659 | erot = 2.16959631553002 | epot = -12.4199587738017 | etot = -9.13334911489508 -662000 ekin = 1.14263894057787 | erot = 2.04231481244588 | epot = -12.3183028674738 | etot = -9.13334911445 -663000 ekin = 1.17093665277018 | erot = 1.92510458368601 | epot = -12.2293903506333 | etot = -9.13334911417715 -664000 ekin = 1.20146324496878 | erot = 1.82207009509857 | epot = -12.156882454157 | etot = -9.13334911408967 -665000 ekin = 1.2328903244818 | erot = 1.73564836426701 | epot = -12.1018878027908 | etot = -9.13334911404196 -666000 ekin = 1.26340464455561 | erot = 1.66702592667295 | epot = -12.0637796854931 | etot = -9.13334911426453 -667000 ekin = 1.29102574815048 | erot = 1.61488086819728 | epot = -12.0392557309118 | etot = -9.13334911456403 -668000 ekin = 1.31376054135466 | erot = 1.57649712773101 | epot = -12.0236067839929 | etot = -9.1333491149072 -669000 ekin = 1.32989404566059 | erot = 1.54828621181143 | epot = -12.0115293727016 | etot = -9.13334911522957 -670000 ekin = 1.33826340891376 | erot = 1.52640844797163 | epot = -11.9980209723715 | etot = -9.13334911548607 -671000 ekin = 1.33847461323971 | erot = 1.50724764864628 | epot = -11.979071377528 | etot = -9.13334911564201 -672000 ekin = 1.3310196955529 | erot = 1.48781306139119 | epot = -11.9521818726236 | etot = -9.13334911567955 -673000 ekin = 1.31737035051771 | erot = 1.46610228052978 | epot = -11.9168217466101 | etot = -9.13334911556266 -674000 ekin = 1.2999252179878 | erot = 1.44131241760654 | epot = -11.8745867509713 | etot = -9.13334911537699 -675000 ekin = 1.28129254583113 | erot = 1.41347048294326 | epot = -11.8281121439111 | etot = -9.13334911513667 -676000 ekin = 1.26413925334382 | erot = 1.38336835396219 | epot = -11.7808567221925 | etot = -9.13334911488653 -677000 ekin = 1.25080949630729 | erot = 1.35227525691902 | epot = -11.7364338679181 | etot = -9.13334911469175 -678000 ekin = 1.24240325884752 | erot = 1.32122246362882 | epot = -11.6969748370346 | etot = -9.13334911455831 -679000 ekin = 1.23935164125775 | erot = 1.29124446460097 | epot = -11.663945220358 | etot = -9.13334911449931 -680000 ekin = 1.24151057852865 | erot = 1.2635834883011 | epot = -11.638443181176 | etot = -9.13334911434626 -681000 ekin = 1.2481079198664 | erot = 1.23998966299057 | epot = -11.6214466973231 | etot = -9.13334911446618 -682000 ekin = 1.257380884739 | erot = 1.22073219169185 | epot = -11.6114621910611 | etot = -9.13334911463027 -683000 ekin = 1.26715254865479 | erot = 1.20554909693427 | epot = -11.6060507603996 | etot = -9.13334911481052 -684000 ekin = 1.27521936885684 | erot = 1.19392995255055 | epot = -11.6024984363864 | etot = -9.13334911497898 -685000 ekin = 1.27965818659302 | erot = 1.18525667279546 | epot = -11.5982639744928 | etot = -9.13334911510429 -686000 ekin = 1.27906445707785 | erot = 1.17887846189336 | epot = -11.5912920341624 | etot = -9.1333491151912 -687000 ekin = 1.27268261755062 | erot = 1.17407129020767 | epot = -11.5801030230189 | etot = -9.13334911526056 -688000 ekin = 1.2604191440757 | erot = 1.17007604782204 | epot = -11.5638443071263 | etot = -9.1333491152286 -689000 ekin = 1.24287938496311 | erot = 1.16656725573226 | epot = -11.5427957558532 | etot = -9.13334911515785 -690000 ekin = 1.2211824040556 | erot = 1.16336387130235 | epot = -11.5178953904181 | etot = -9.13334911506011 -691000 ekin = 1.19679867225831 | erot = 1.16037339232328 | epot = -11.4905211795286 | etot = -9.13334911494703 -692000 ekin = 1.17139142556005 | erot = 1.15758648592469 | epot = -11.4623270263132 | etot = -9.13334911482849 -693000 ekin = 1.14685376597763 | erot = 1.15519232866932 | epot = -11.4353952091884 | etot = -9.13334911454142 -694000 ekin = 1.12537035279197 | erot = 1.15368599835963 | epot = -11.4124054656052 | etot = -9.13334911445361 -695000 ekin = 1.10824764597993 | erot = 1.15324052660334 | epot = -11.3948372869664 | etot = -9.13334911438314 -696000 ekin = 1.0964152489969 | erot = 1.15407441364564 | epot = -11.3838387769781 | etot = -9.13334911433559 -697000 ekin = 1.09040706960405 | erot = 1.15645735234421 | epot = -11.3802135362665 | etot = -9.13334911431825 -698000 ekin = 1.09030542376955 | erot = 1.16063392710707 | epot = -11.384288465206 | etot = -9.13334911432937 -699000 ekin = 1.09552536142799 | erot = 1.16669639941878 | epot = -11.3955708752099 | etot = -9.13334911436315 -700000 ekin = 1.10527379804157 | erot = 1.17478862115957 | epot = -11.4134115336379 | etot = -9.13334911443675 -701000 ekin = 1.11851271409214 | erot = 1.18492470948231 | epot = -11.4367865380995 | etot = -9.13334911452505 -702000 ekin = 1.13395549373925 | erot = 1.19694667251692 | epot = -11.4642512808869 | etot = -9.13334911463076 -703000 ekin = 1.15018285434544 | erot = 1.21057055971299 | epot = -11.4941025288036 | etot = -9.1333491147452 -704000 ekin = 1.16576673459169 | erot = 1.22535908059982 | epot = -11.5244749300498 | etot = -9.1333491148583 -705000 ekin = 1.17938915504808 | erot = 1.24076765313842 | epot = -11.5535059231453 | etot = -9.13334911495876 -706000 ekin = 1.18994261307642 | erot = 1.25622348494356 | epot = -11.5795152130563 | etot = -9.1333491150363 -707000 ekin = 1.19660107196796 | erot = 1.27122780267074 | epot = -11.6011779897208 | etot = -9.13334911508208 -708000 ekin = 1.19885615187931 | erot = 1.2854633226749 | epot = -11.6176685896449 | etot = -9.13334911509071 -709000 ekin = 1.19651981510658 | erot = 1.29888532038428 | epot = -11.6287542505517 | etot = -9.13334911506088 -710000 ekin = 1.1896995749825 | erot = 1.31177606554588 | epot = -11.6348247555237 | etot = -9.13334911499534 -711000 ekin = 1.17875387603898 | erot = 1.32474791483616 | epot = -11.636850905777 | etot = -9.13334911490182 -712000 ekin = 1.16423391784884 | erot = 1.33868945230085 | epot = -11.6362724849409 | etot = -9.13334911479125 -713000 ekin = 1.14681758774029 | erot = 1.3546630535206 | epot = -11.6348297559395 | etot = -9.13334911467859 -714000 ekin = 1.12724173591538 | erot = 1.37373509015582 | epot = -11.6343259406492 | etot = -9.13334911457805 -715000 ekin = 1.10624050750783 | erot = 1.39681075799666 | epot = -11.6364003800083 | etot = -9.13334911450384 -716000 ekin = 1.08449847089723 | erot = 1.42446438146828 | epot = -11.6423119668325 | etot = -9.13334911446702 -717000 ekin = 1.0626258673095 | erot = 1.45678801965701 | epot = -11.6527630014408 | etot = -9.13334911447428 -718000 ekin = 1.0411605651836 | erot = 1.493285805019 | epot = -11.6677954847286 | etot = -9.13334911452601 -719000 ekin = 1.02059756447165 | erot = 1.5328356540972 | epot = -11.6867823331847 | etot = -9.13334911461582 -720000 ekin = 1.00144276091742 | erot = 1.5737347811105 | epot = -11.708526656758 | etot = -9.13334911473003 -721000 ekin = 0.984282698242622 | erot = 1.61383653734357 | epot = -11.7314683504355 | etot = -9.13334911484931 -722000 ekin = 0.969856334576067 | erot = 1.65076935461989 | epot = -11.7539748041515 | etot = -9.1333491149555 -723000 ekin = 0.959109074096986 | erot = 1.68219090543913 | epot = -11.7746490945585 | etot = -9.13334911502237 -724000 ekin = 0.953206498552839 | erot = 1.70610525283234 | epot = -11.7926608664234 | etot = -9.13334911503819 -725000 ekin = 0.953487871459188 | erot = 1.72112406448039 | epot = -11.8079610509383 | etot = -9.13334911499874 -726000 ekin = 0.96134842044988 | erot = 1.72664218758949 | epot = -11.8213397229517 | etot = -9.13334911491229 -727000 ekin = 0.978055187001709 | erot = 1.72290320035172 | epot = -11.8343075021501 | etot = -9.13334911479668 -728000 ekin = 1.00452582498075 | erot = 1.71095374109418 | epot = -11.8488286807485 | etot = -9.13334911467359 -729000 ekin = 1.041101375805 | erot = 1.6925221534298 | epot = -11.8669726438041 | etot = -9.13334911456933 -730000 ekin = 1.08735958691132 | erot = 1.66981008960002 | epot = -11.8905187910182 | etot = -9.13334911450692 -731000 ekin = 1.14200418376082 | erot = 1.64524141707914 | epot = -11.9205947153442 | etot = -9.13334911450421 -732000 ekin = 1.2028531801544 | erot = 1.6211909571491 | epot = -11.9573932518755 | etot = -9.13334911457201 -733000 ekin = 1.26692596392809 | erot = 1.59976528911575 | epot = -12.0000403677474 | etot = -9.13334911470354 -734000 ekin = 1.33064406419401 | erot = 1.58254289882086 | epot = -12.0465360779241 | etot = -9.13334911490923 -735000 ekin = 1.39013484389891 | erot = 1.57032898634687 | epot = -12.093812945406 | etot = -9.13334911516024 -736000 ekin = 1.44157509140931 | erot = 1.56317476789936 | epot = -12.1380989747374 | etot = -9.13334911542874 -737000 ekin = 1.48157845590956 | erot = 1.56044545882736 | epot = -12.175373030415 | etot = -9.13334911567811 -738000 ekin = 1.50757504379143 | erot = 1.56100911668234 | epot = -12.201933276343 | etot = -9.13334911586924 -739000 ekin = 1.51813561813258 | erot = 1.5635209253064 | epot = -12.2150056594058 | etot = -9.13334911596682 -740000 ekin = 1.51318914849964 | erot = 1.56675183786185 | epot = -12.213290102308 | etot = -9.1333491159465 -741000 ekin = 1.49408865830542 | erot = 1.56989906105133 | epot = -12.197336835157 | etot = -9.1333491158003 -742000 ekin = 1.46350061535832 | erot = 1.57280025701738 | epot = -12.1696499879178 | etot = -9.13334911554208 -743000 ekin = 1.42512524133836 | erot = 1.57593310601688 | epot = -12.1344074625233 | etot = -9.13334911516808 -744000 ekin = 1.38338487585034 | erot = 1.58054361279092 | epot = -12.0972776034393 | etot = -9.13334911479806 -745000 ekin = 1.34281951273504 | erot = 1.58823582841167 | epot = -12.0644044556028 | etot = -9.13334911445607 -746000 ekin = 1.30747334764684 | erot = 1.60047096981066 | epot = -12.0412934316558 | etot = -9.13334911419833 -747000 ekin = 1.28046646004539 | erot = 1.6182176866567 | epot = -12.0320332607954 | etot = -9.13334911409333 -748000 ekin = 1.26367955922522 | erot = 1.6413289314295 | epot = -12.0383576048251 | etot = -9.1333491141704 -749000 ekin = 1.25742934418728 | erot = 1.6683144002363 | epot = -12.0590928588618 | etot = -9.13334911443821 -750000 ekin = 1.26047795506412 | erot = 1.69628448613638 | epot = -12.0901115560516 | etot = -9.13334911485111 -751000 ekin = 1.27026186445649 | erot = 1.7213338688469 | epot = -12.1249448486435 | etot = -9.13334911534013 -752000 ekin = 1.28339547084868 | erot = 1.73919075504447 | epot = -12.1559353417022 | etot = -9.13334911580908 -753000 ekin = 1.29635957465195 | erot = 1.74596876190635 | epot = -12.1756774527778 | etot = -9.13334911621948 -754000 ekin = 1.30599158739589 | erot = 1.73885024062191 | epot = -12.1781909444063 | etot = -9.13334911638853 -755000 ekin = 1.31024888114924 | erot = 1.71683511467272 | epot = -12.1604331121636 | etot = -9.13334911634163 -756000 ekin = 1.30846938320446 | erot = 1.68097972248998 | epot = -12.1227982217864 | etot = -9.13334911609197 -757000 ekin = 1.30124985040436 | erot = 1.63419006476215 | epot = -12.0687890308559 | etot = -9.13334911568938 -758000 ekin = 1.2901964108967 | erot = 1.58073563388977 | epot = -12.0042811599911 | etot = -9.13334911520461 -759000 ekin = 1.27761222226823 | erot = 1.52554636406693 | epot = -11.9365077010342 | etot = -9.13334911469902 -760000 ekin = 1.26609069505968 | erot = 1.47348693038979 | epot = -11.8729267397086 | etot = -9.13334911425916 -761000 ekin = 1.25808964010813 | erot = 1.42869550463111 | epot = -11.8201342586633 | etot = -9.13334911392401 -762000 ekin = 1.25572222199678 | erot = 1.39407442312114 | epot = -11.7831457588671 | etot = -9.13334911374923 -763000 ekin = 1.26054534568777 | erot = 1.37090045945164 | epot = -11.7647949188355 | etot = -9.13334911369611 -764000 ekin = 1.27353435438893 | erot = 1.35887199087599 | epot = -11.765755459057 | etot = -9.13334911379209 -765000 ekin = 1.29496682598708 | erot = 1.35616457699752 | epot = -11.784480516978 | etot = -9.13334911399342 -766000 ekin = 1.32454629040877 | erot = 1.35977679504827 | epot = -11.8176721997206 | etot = -9.13334911426354 -767000 ekin = 1.36163954270418 | erot = 1.36618632226284 | epot = -11.8611749795223 | etot = -9.13334911455532 -768000 ekin = 1.40531019891056 | erot = 1.37181010086345 | epot = -11.9104694146033 | etot = -9.1333491148293 -769000 ekin = 1.45446512867426 | erot = 1.3735349805472 | epot = -11.9613492242621 | etot = -9.13334911504064 -770000 ekin = 1.50793050150594 | erot = 1.36921125653879 | epot = -12.0104908732812 | etot = -9.13334911523644 -771000 ekin = 1.56389616691507 | erot = 1.35775090665738 | epot = -12.0549961888307 | etot = -9.13334911525823 -772000 ekin = 1.62113703502565 | erot = 1.3397032351014 | epot = -12.0941893853161 | etot = -9.13334911518905 -773000 ekin = 1.67872851567452 | erot = 1.31702982994443 | epot = -12.1291074606815 | etot = -9.13334911506253 -774000 ekin = 1.73569257106584 | erot = 1.29264163256045 | epot = -12.161683318549 | etot = -9.13334911492273 -775000 ekin = 1.79085656131151 | erot = 1.26988000057613 | epot = -12.1940856766996 | etot = -9.13334911481191 -776000 ekin = 1.84276100465629 | erot = 1.25197534043462 | epot = -12.22808545985 | etot = -9.1333491147591 -777000 ekin = 1.88967118601021 | erot = 1.24159765896537 | epot = -12.2646179597479 | etot = -9.13334911477235 -778000 ekin = 1.92971622257856 | erot = 1.24057583219052 | epot = -12.3036411696102 | etot = -9.13334911484109 -779000 ekin = 1.9611316425201 | erot = 1.24980912497287 | epot = -12.3442898824337 | etot = -9.13334911494076 -780000 ekin = 1.98254203383388 | erot = 1.26932045670087 | epot = -12.3852116055787 | etot = -9.13334911504397 -781000 ekin = 1.99321406402893 | erot = 1.29840823520918 | epot = -12.424971414368 | etot = -9.13334911512989 -782000 ekin = 1.99321095938066 | erot = 1.33580885493627 | epot = -12.4623689295052 | etot = -9.13334911518827 -783000 ekin = 1.98342491290893 | erot = 1.37983642299143 | epot = -12.4966104511182 | etot = -9.13334911521788 -784000 ekin = 1.9655123842759 | erot = 1.42849371621316 | epot = -12.5273552156592 | etot = -9.13334911517014 -785000 ekin = 1.94195910109809 | erot = 1.4796134882127 | epot = -12.5549217044722 | etot = -9.13334911516144 -786000 ekin = 1.91549982324098 | erot = 1.53087711625688 | epot = -12.5797260546341 | etot = -9.13334911513619 -787000 ekin = 1.88902915931362 | erot = 1.57997565974334 | epot = -12.6023539341502 | etot = -9.13334911509327 -788000 ekin = 1.86553746552517 | erot = 1.62478646023569 | epot = -12.6236730407985 | etot = -9.13334911503765 -789000 ekin = 1.84793067282888 | erot = 1.66350572424678 | epot = -12.64478551204 | etot = -9.13334911496435 -790000 ekin = 1.83884831411046 | erot = 1.69477325869788 | epot = -12.666970687703 | etot = -9.13334911489468 -791000 ekin = 1.84038435200563 | erot = 1.7176812784652 | epot = -12.6914147453263 | etot = -9.13334911485547 -792000 ekin = 1.85374621230498 | erot = 1.73169683788286 | epot = -12.7187921650658 | etot = -9.13334911487796 -793000 ekin = 1.8789217872916 | erot = 1.73653576921967 | epot = -12.7488066714975 | etot = -9.13334911498622 -794000 ekin = 1.91440510045115 | erot = 1.73204169925583 | epot = -12.7797959148858 | etot = -9.13334911517881 -795000 ekin = 1.95726697872348 | erot = 1.71818976214858 | epot = -12.8088058562927 | etot = -9.13334911542061 -796000 ekin = 2.00360851779832 | erot = 1.69525335456394 | epot = -12.83221098801 | etot = -9.13334911564777 -797000 ekin = 2.04914358120832 | erot = 1.6640594673882 | epot = -12.8465521643865 | etot = -9.13334911578995 -798000 ekin = 2.08995546228143 | erot = 1.62623745949242 | epot = -12.8495420375764 | etot = -9.13334911580254 -799000 ekin = 2.12309292252157 | erot = 1.58427028112694 | epot = -12.8407123193349 | etot = -9.13334911568641 -800000 ekin = 2.14682990848697 | erot = 1.54126138555531 | epot = -12.8214404095241 | etot = -9.1333491154818 -801000 ekin = 2.16058282774156 | erot = 1.50048202043082 | epot = -12.7944139634182 | etot = -9.13334911524585 -802000 ekin = 2.16461511111025 | erot = 1.46486615498777 | epot = -12.7628303811285 | etot = -9.13334911503043 -803000 ekin = 2.15969104318309 | erot = 1.43661335438027 | epot = -12.7296535124319 | etot = -9.13334911486852 -804000 ekin = 2.14679128689927 | erot = 1.41698988504299 | epot = -12.6971302867013 | etot = -9.133349114759 -805000 ekin = 2.12692065946171 | erot = 1.40638520511209 | epot = -12.6666549792979 | etot = -9.13334911472415 -806000 ekin = 2.10099028265881 | erot = 1.40422932571964 | epot = -12.638568723139 | etot = -9.13334911476051 -807000 ekin = 2.06982763844373 | erot = 1.40909451156273 | epot = -12.6122712648444 | etot = -9.13334911483793 -808000 ekin = 2.03419092300448 | erot = 1.4191942216523 | epot = -12.5867342595854 | etot = -9.13334911492858 -809000 ekin = 1.99478586658702 | erot = 1.43238858340406 | epot = -12.5605235650437 | etot = -9.13334911505266 -810000 ekin = 1.95230744549328 | erot = 1.44625258193298 | epot = -12.5319091426013 | etot = -9.13334911517508 -811000 ekin = 1.90747094191263 | erot = 1.45847148724801 | epot = -12.4992915444435 | etot = -9.13334911528283 -812000 ekin = 1.86102893104771 | erot = 1.4670396355065 | epot = -12.4614176819174 | etot = -9.1333491153632 -813000 ekin = 1.81416432245149 | erot = 1.47049868910168 | epot = -12.4180121266893 | etot = -9.13334911513612 -814000 ekin = 1.76902926168515 | erot = 1.46826739314062 | epot = -12.3706457701111 | etot = -9.13334911528532 -815000 ekin = 1.71533069951599 | erot = 1.45797598426857 | epot = -12.3066557948091 | etot = -9.13334911102451 -816000 ekin = 1.68468183703012 | erot = 1.43935942021377 | epot = -12.2573903676517 | etot = -9.13334911040781 -817000 ekin = 1.67569540451046 | erot = 1.42022759194491 | epot = -12.2292721046041 | etot = -9.13334910814875 -818000 ekin = 1.6543180407743 | erot = 1.40071144600671 | epot = -12.1883785945421 | etot = -9.1333491077611 -819000 ekin = 1.63740188370202 | erot = 1.3825693171654 | epot = -12.1533203082532 | etot = -9.13334910738577 -820000 ekin = 1.62512170449269 | erot = 1.36928168851892 | epot = -12.1277525000358 | etot = -9.13334910702415 -821000 ekin = 1.61915909096608 | erot = 1.36404110714174 | epot = -12.1165493048155 | etot = -9.13334910670769 -822000 ekin = 1.62172343975879 | erot = 1.36925913745439 | epot = -12.1243316837311 | etot = -9.1333491065179 -823000 ekin = 1.63427494813185 | erot = 1.38616632187947 | epot = -12.1537903765206 | etot = -9.13334910650931 -824000 ekin = 1.65698382619249 | erot = 1.41459711182067 | epot = -12.2049300447062 | etot = -9.13334910669302 -825000 ekin = 1.68854753275391 | erot = 1.45301631838177 | epot = -12.2749129581741 | etot = -9.13334910703845 -826000 ekin = 1.72638863498139 | erot = 1.49875661575832 | epot = -12.3584943582278 | etot = -9.13334910748809 -827000 ekin = 1.7671042338297 | erot = 1.54839439230476 | epot = -12.4488477341105 | etot = -9.13334910797603 -828000 ekin = 1.8069848233623 | erot = 1.59818184897738 | epot = -12.5385157807839 | etot = -9.13334910844426 -829000 ekin = 1.84246939972193 | erot = 1.64447465714772 | epot = -12.6202931657147 | etot = -9.13334910884503 -830000 ekin = 1.87048980345312 | erot = 1.68412933436257 | epot = -12.6879682469559 | etot = -9.13334910914018 -831000 ekin = 1.88871335829486 | erot = 1.71486645415863 | epot = -12.7369289217531 | etot = -9.13334910929959 -832000 ekin = 1.8956991679299 | erot = 1.73558694750314 | epot = -12.7646352247374 | etot = -9.13334910930432 -833000 ekin = 1.89096344936275 | erot = 1.74659447550954 | epot = -12.7709070340259 | etot = -9.13334910915363 -834000 ekin = 1.87493429544978 | erot = 1.74964392180032 | epot = -12.757927326139 | etot = -9.13334910888886 -835000 ekin = 1.84878280513717 | erot = 1.7476202730817 | epot = -12.7297521867426 | etot = -9.13334910852377 -836000 ekin = 1.81414476908622 | erot = 1.74421722089262 | epot = -12.6917110981184 | etot = -9.13334910813955 -837000 ekin = 1.77277875466035 | erot = 1.74335285140424 | epot = -12.649480713868 | etot = -9.13334910780345 -838000 ekin = 1.72624445529917 | erot = 1.74841404793899 | epot = -12.6080076108044 | etot = -9.1333491075663 -839000 ekin = 1.67568816109172 | erot = 1.76165550556133 | epot = -12.5706927741081 | etot = -9.13334910745503 -840000 ekin = 1.62179135097772 | erot = 1.78387657047957 | epot = -12.5390170289133 | etot = -9.13334910745602 -841000 ekin = 1.56488441149642 | erot = 1.81456573945265 | epot = -12.5127992584871 | etot = -9.13334910753799 -842000 ekin = 1.50517399561483 | erot = 1.85205645867799 | epot = -12.4905795619901 | etot = -9.1333491076973 -843000 ekin = 1.44300548282572 | erot = 1.89358112525555 | epot = -12.4699357158877 | etot = -9.13334910780638 -844000 ekin = 1.37906620629623 | erot = 1.93639685189906 | epot = -12.4488121660662 | etot = -9.1333491078709 -845000 ekin = 1.31446352832021 | erot = 1.97812996440304 | epot = -12.4259426005943 | etot = -9.13334910787105 -846000 ekin = 1.25068692328186 | erot = 2.0170023495777 | epot = -12.4010383806625 | etot = -9.13334910780295 -847000 ekin = 1.18947724706781 | erot = 2.05204320496021 | epot = -12.3748695597031 | etot = -9.13334910767511 -848000 ekin = 1.13265732503597 | erot = 2.08314733282525 | epot = -12.3491537653654 | etot = -9.13334910750421 -849000 ekin = 1.08197657768912 | erot = 2.11099249699057 | epot = -12.3263181819891 | etot = -9.13334910730939 -850000 ekin = 1.03899924536999 | erot = 2.13684654288889 | epot = -12.3091948953714 | etot = -9.13334910711252 -851000 ekin = 1.00503792488698 | erot = 2.16230618703386 | epot = -12.3006932188552 | etot = -9.13334910693433 -852000 ekin = 0.981116857862461 | erot = 2.18901371777386 | epot = -12.3034796824288 | etot = -9.13334910679252 -853000 ekin = 0.967947652214265 | erot = 2.21839549976 | epot = -12.3196922586772 | etot = -9.13334910670291 -854000 ekin = 0.965908910680345 | erot = 2.25145766404042 | epot = -12.350715681394 | etot = -9.13334910667321 -855000 ekin = 0.975031148285144 | erot = 2.28866143870958 | epot = -12.3970416937005 | etot = -9.13334910670573 -856000 ekin = 0.994993726111922 | erot = 2.32988587268686 | epot = -12.458228705595 | etot = -9.13334910679624 -857000 ekin = 1.02514000045526 | erot = 2.37447147766155 | epot = -12.5329605850519 | etot = -9.1333491069351 -858000 ekin = 1.06451194042811 | erot = 2.42132581265304 | epot = -12.6191868601907 | etot = -9.13334910710959 -859000 ekin = 1.11189872921032 | erot = 2.4690621764797 | epot = -12.7143100129972 | etot = -9.13334910730715 -860000 ekin = 1.16588800432851 | erot = 2.51613734357938 | epot = -12.8153744554262 | etot = -9.1333491075183 -861000 ekin = 1.22490604810107 | erot = 2.56095681693497 | epot = -12.9192119727746 | etot = -9.13334910773851 -862000 ekin = 1.28723632581143 | erot = 2.60192847235753 | epot = -13.0225139061385 | etot = -9.13334910796952 -863000 ekin = 1.3510143193897 | erot = 2.63746581473987 | epot = -13.1218292423449 | etot = -9.13334910821536 -864000 ekin = 1.41420820519538 | erot = 2.66596355872735 | epot = -13.213520872402 | etot = -9.13334910847929 -865000 ekin = 1.47460562929754 | erot = 2.68578195462017 | epot = -13.2937366926771 | etot = -9.13334910875935 -866000 ekin = 1.52983303721746 | erot = 2.69527584724675 | epot = -13.3584579935089 | etot = -9.13334910904468 -867000 ekin = 1.57743376517692 | erot = 2.69288933093158 | epot = -13.4036722054228 | etot = -9.1333491093143 -868000 ekin = 1.61502389037981 | erot = 2.67731200497068 | epot = -13.4256850048896 | etot = -9.13334910953911 -869000 ekin = 1.64053051308534 | erot = 2.64766625523692 | epot = -13.4215458780077 | etot = -9.13334910968546 -870000 ekin = 1.65249590024961 | erot = 2.60367561911745 | epot = -13.3895206290897 | etot = -9.13334910972266 -871000 ekin = 1.65040511753298 | erot = 2.54576053409616 | epot = -13.3295147612589 | etot = -9.13334910962978 -872000 ekin = 1.63497077369899 | erot = 2.47502461258462 | epot = -13.2433444956856 | etot = -9.133349109402 -873000 ekin = 1.60829551084935 | erot = 2.39312864666234 | epot = -13.1347732665654 | etot = -9.13334910905374 -874000 ekin = 1.57383856496055 | erot = 2.30208675131772 | epot = -13.0092744248964 | etot = -9.13334910861812 -875000 ekin = 1.53613967510654 | erot = 2.20404109160993 | epot = -12.8735298748602 | etot = -9.13334910814374 -876000 ekin = 1.50030007469727 | erot = 2.10106901465442 | epot = -12.7347181970396 | etot = -9.13334910768791 -877000 ekin = 1.47128183648615 | erot = 1.9950559248475 | epot = -12.5996868686408 | etot = -9.13334910730713 -878000 ekin = 1.45315269233919 | erot = 1.88764504252361 | epot = -12.4741468419076 | etot = -9.13334910704481 -879000 ekin = 1.44845009592096 | erot = 1.78026193724247 | epot = -12.3620611400824 | etot = -9.13334910691899 -880000 ekin = 1.45783397194371 | erot = 1.67420503622043 | epot = -12.2653881150816 | etot = -9.13334910691747 -881000 ekin = 1.48012455417244 | erot = 1.57078382964924 | epot = -12.184257490823 | etot = -9.13334910700136 -882000 ekin = 1.51270015737959 | erot = 1.47147015193218 | epot = -12.1175194164301 | etot = -9.13334910711833 -883000 ekin = 1.55211568292956 | erot = 1.3780124488386 | epot = -12.0634772389891 | etot = -9.13334910722097 -884000 ekin = 1.59475301551035 | erot = 1.29246300163619 | epot = -12.0205651244261 | etot = -9.13334910727952 -885000 ekin = 1.63734681493634 | erot = 1.21709221485511 | epot = -11.9877881370758 | etot = -9.13334910728433 -886000 ekin = 1.67731211301505 | erot = 1.15420415260406 | epot = -11.964865372863 | etot = -9.13334910724389 -887000 ekin = 1.71288068346796 | erot = 1.10590165063358 | epot = -11.9521314412762 | etot = -9.13334910717465 -888000 ekin = 1.74309500658037 | erot = 1.0738583453026 | epot = -11.950302458979 | etot = -9.13334910709607 -889000 ekin = 1.76770969092178 | erot = 1.05913784423415 | epot = -11.9601966421833 | etot = -9.13334910702742 -890000 ekin = 1.78703240996917 | erot = 1.06207375034143 | epot = -11.9824552672978 | etot = -9.1333491069872 -891000 ekin = 1.80172329225239 | erot = 1.0822074746527 | epot = -12.0172798738974 | etot = -9.13334910699232 -892000 ekin = 1.81257293682803 | erot = 1.11828058017375 | epot = -12.0642026240573 | etot = -9.13334910705554 -893000 ekin = 1.82028982711245 | erot = 1.16828769624483 | epot = -12.1219266305377 | etot = -9.13334910718043 -894000 ekin = 1.82533649727562 | erot = 1.22960280171444 | epot = -12.1882884063505 | etot = -9.13334910736046 -895000 ekin = 1.82785071658345 | erot = 1.29918775471572 | epot = -12.2603875788748 | etot = -9.13334910757561 -896000 ekin = 1.82766966746167 | erot = 1.37387583337395 | epot = -12.3348946086319 | etot = -9.13334910779625 -897000 ekin = 1.82444603805884 | erot = 1.450698935459 | epot = -12.4084940815071 | etot = -9.1333491079893 -898000 ekin = 1.81781661002986 | erot = 1.52720356358779 | epot = -12.4783692817442 | etot = -9.13334910812654 -899000 ekin = 1.80756915106169 | erot = 1.60168843031701 | epot = -12.542606689571 | etot = -9.13334910819232 -900000 ekin = 1.79375843952035 | erot = 1.67330364935026 | epot = -12.6004111970587 | etot = -9.13334910818809 -901000 ekin = 1.77674318471729 | erot = 1.74197941470073 | epot = -12.6520717075493 | etot = -9.13334910813131 -902000 ekin = 1.75714245724149 | erot = 1.80819394413506 | epot = -12.6986855094274 | etot = -9.13334910805086 -903000 ekin = 1.73573344436742 | erot = 1.87263325997332 | epot = -12.7417158123196 | etot = -9.13334910797882 -904000 ekin = 1.71332625903819 | erot = 1.93582474199559 | epot = -12.7825001089758 | etot = -9.13334910794204 -905000 ekin = 1.69065428565829 | erot = 1.99783248447312 | epot = -12.8218358780868 | etot = -9.13334910795542 -906000 ekin = 1.66831072851898 | erot = 2.0580838142567 | epot = -12.8597436507951 | etot = -9.1333491080194 -907000 ekin = 1.64674588300155 | erot = 2.11535919829805 | epot = -12.8954541894192 | etot = -9.13334910811959 -908000 ekin = 1.62631907110854 | erot = 2.16793324018485 | epot = -12.9276014195275 | etot = -9.1333491082341 -909000 ekin = 1.60738004097872 | erot = 2.21381581989075 | epot = -12.9545449692098 | etot = -9.13334910834033 -910000 ekin = 1.59034402489554 | erot = 2.25102295606656 | epot = -12.9747160893832 | etot = -9.13334910842113 -911000 ekin = 1.5757278270972 | erot = 2.27781488088298 | epot = -12.9868918164479 | etot = -9.1333491084677 -912000 ekin = 1.56413054682574 | erot = 2.29287003009408 | epot = -12.9903496853987 | etot = -9.1333491084789 -913000 ekin = 1.55616398737313 | erot = 2.29539983338945 | epot = -12.9849129292197 | etot = -9.13334910845709 -914000 ekin = 1.55235379274234 | erot = 2.28522760390945 | epot = -12.9709305050575 | etot = -9.13334910840569 -915000 ekin = 1.55303636075931 | erot = 2.26284508700303 | epot = -12.9492305560909 | etot = -9.13334910832854 -916000 ekin = 1.55827003373402 | erot = 2.22943339363176 | epot = -12.9210525355978 | etot = -9.13334910823199 -917000 ekin = 1.56776924055919 | erot = 2.18681551600403 | epot = -12.8879338646899 | etot = -9.13334910812669 -918000 ekin = 1.58086450735616 | erot = 2.13731406707604 | epot = -12.8515276824606 | etot = -9.13334910802844 -919000 ekin = 1.59649190921356 | erot = 2.08351907894305 | epot = -12.8133600961094 | etot = -9.13334910795276 -920000 ekin = 1.61321892883215 | erot = 2.02800735916391 | epot = -12.7745753959083 | etot = -9.13334910791224 -921000 ekin = 1.62931395437166 | erot = 1.97307497750016 | epot = -12.7357380397844 | etot = -9.1333491079126 -922000 ekin = 1.64286104745973 | erot = 1.92053870339868 | epot = -12.6967488588085 | etot = -9.1333491079501 -923000 ekin = 1.6519123439022 | erot = 1.87163759206758 | epot = -12.6568990439832 | etot = -9.13334910801338 -924000 ekin = 1.65466206200493 | erot = 1.82703710611869 | epot = -12.6150482762095 | etot = -9.13334910808586 -925000 ekin = 1.64962158355265 | erot = 1.78691680127086 | epot = -12.5698874929728 | etot = -9.13334910814926 -926000 ekin = 1.63577435705081 | erot = 1.75111283229508 | epot = -12.5202362975322 | etot = -9.13334910818633 -927000 ekin = 1.61269412580165 | erot = 1.71928618606909 | epot = -12.4653294200535 | etot = -9.13334910818274 -928000 ekin = 1.58061327337614 | erot = 1.69109387512271 | epot = -12.4050562566278 | etot = -9.1333491081289 -929000 ekin = 1.54043465717785 | erot = 1.66634444993334 | epot = -12.3401282151314 | etot = -9.13334910802019 -930000 ekin = 1.49368612296071 | erot = 1.64511875929312 | epot = -12.272153990113 | etot = -9.13334910785914 -931000 ekin = 1.44242020034653 | erot = 1.62783092394405 | epot = -12.2036002319477 | etot = -9.13334910765707 -932000 ekin = 1.38906420476601 | erot = 1.61520048768548 | epot = -12.1376137998864 | etot = -9.13334910743492 -933000 ekin = 1.33622958394485 | erot = 1.6081156841091 | epot = -12.0776943752761 | etot = -9.13334910722217 -934000 ekin = 1.28649486980888 | erot = 1.60739378973688 | epot = -12.0272377665998 | etot = -9.13334910705402 -935000 ekin = 1.24218246522804 | erot = 1.6134791908439 | epot = -11.9890107630357 | etot = -9.13334910696378 -936000 ekin = 1.20515312894639 | erot = 1.62614770367122 | epot = -11.9646499395944 | etot = -9.13334910697676 -937000 ekin = 1.17664231212851 | erot = 1.6442958335604 | epot = -11.9542872527933 | etot = -9.13334910710437 -938000 ekin = 1.15716006416317 | erot = 1.66588444176712 | epot = -11.9563936132696 | etot = -9.13334910733934 -939000 ekin = 1.14647171706266 | erot = 1.6881032683341 | epot = -11.9679240930434 | etot = -9.13334910764666 -940000 ekin = 1.14367004076054 | erot = 1.70771457435669 | epot = -11.9847337231134 | etot = -9.13334910799618 -941000 ekin = 1.1473388455791 | erot = 1.72149292702196 | epot = -12.0021808809227 | etot = -9.13334910832164 -942000 ekin = 1.15580134675009 | erot = 1.72687300442719 | epot = -12.0160234597396 | etot = -9.13334910856235 -943000 ekin = 1.16743729508088 | erot = 1.72249936628187 | epot = -12.0232857700279 | etot = -9.13334910866513 -944000 ekin = 1.18103106469623 | erot = 1.7085871246677 | epot = -12.0229672979652 | etot = -9.13334910860128 -945000 ekin = 1.1960680444943 | erot = 1.68696892709797 | epot = -12.0163860799751 | etot = -9.13334910838281 -946000 ekin = 1.21284058105875 | erot = 1.66075870252106 | epot = -12.0069483916519 | etot = -9.13334910807212 -947000 ekin = 1.23222210569487 | erot = 1.63367011142218 | epot = -11.9992413248878 | etot = -9.13334910777077 -948000 ekin = 1.25509690713185 | erot = 1.60916358074283 | epot = -11.9976095954608 | etot = -9.13334910758613 -949000 ekin = 1.28167104219273 | erot = 1.5896908039578 | epot = -12.0047109537303 | etot = -9.13334910757972 -950000 ekin = 1.31105510037397 | erot = 1.57628415675868 | epot = -12.0206883648703 | etot = -9.13334910773768 -951000 ekin = 1.34140314928571 | erot = 1.56859135850371 | epot = -12.0433436157719 | etot = -9.13334910798252 -952000 ekin = 1.37054117669372 | erot = 1.56526000758929 | epot = -12.069150292504 | etot = -9.13334910822102 -953000 ekin = 1.39670348102587 | erot = 1.56444621741211 | epot = -12.0944988068298 | etot = -9.13334910839183 -954000 ekin = 1.41897529239146 | erot = 1.56423287012898 | epot = -12.1165572710023 | etot = -9.13334910848183 -955000 ekin = 1.43729048071804 | erot = 1.5628747995038 | epot = -12.1335143887331 | etot = -9.13334910851122 -956000 ekin = 1.45211066333914 | erot = 1.55892938544642 | epot = -12.1443891572912 | etot = -9.13334910850569 -957000 ekin = 1.46402190624319 | erot = 1.55132217592857 | epot = -12.1486931906549 | etot = -9.13334910848318 -958000 ekin = 1.47342593726502 | erot = 1.53954965708395 | epot = -12.1463247027848 | etot = -9.13334910843584 -959000 ekin = 1.48038578495474 | erot = 1.52394133598125 | epot = -12.137676229295 | etot = -9.13334910835898 -960000 ekin = 1.4846060403427 | erot = 1.50575363434298 | epot = -12.1237087829308 | etot = -9.13334910824516 -961000 ekin = 1.48549975935911 | erot = 1.48721075409997 | epot = -12.1060596215514 | etot = -9.13334910809229 -962000 ekin = 1.48229853495805 | erot = 1.47141202581677 | epot = -12.0870596686812 | etot = -9.1333491079064 -963000 ekin = 1.47417603271195 | erot = 1.46210240866553 | epot = -12.069627549079 | etot = -9.13334910770149 -964000 ekin = 1.46036644523782 | erot = 1.46332191689043 | epot = -12.0570374696247 | etot = -9.13334910749646 -965000 ekin = 1.44026662180513 | erot = 1.4789632478734 | epot = -12.052578976996 | etot = -9.13334910731744 -966000 ekin = 1.41351583398992 | erot = 1.51227943253497 | epot = -12.0591443737153 | etot = -9.13334910719041 -967000 ekin = 1.38005134110581 | erot = 1.56539665065099 | epot = -12.0787970988967 | etot = -9.13334910713991 -968000 ekin = 1.34025482723033 | erot = 1.63885686280376 | epot = -12.1124607972101 | etot = -9.13334910717598 -969000 ekin = 1.2947692198018 | erot = 1.73132793714239 | epot = -12.1594462642669 | etot = -9.13334910732274 -970000 ekin = 1.24442005391699 | erot = 1.83972520716413 | epot = -12.2174943686209 | etot = -9.13334910753978 -971000 ekin = 1.19046696426425 | erot = 1.95943091413493 | epot = -12.2832469861951 | etot = -9.13334910779591 -972000 ekin = 1.13463097113061 | erot = 2.08475088506706 | epot = -12.3527309642468 | etot = -9.13334910804911 -973000 ekin = 1.07911059567514 | erot = 2.20953944506054 | epot = -12.4219991489933 | etot = -9.13334910825765 -974000 ekin = 1.02657367041436 | erot = 2.32774347844032 | epot = -12.4876662572788 | etot = -9.13334910842407 -975000 ekin = 0.979977932768793 | erot = 2.43392801407682 | epot = -12.5472550553323 | etot = -9.13334910848667 -976000 ekin = 0.942304887102471 | erot = 2.52399013958441 | epot = -12.5996441351603 | etot = -9.13334910847343 -977000 ekin = 0.916335295709716 | erot = 2.59517570126148 | epot = -12.6448601053816 | etot = -9.13334910841042 -978000 ekin = 0.904316422895417 | erot = 2.64601698758899 | epot = -12.6836825188159 | etot = -9.13334910833152 -979000 ekin = 0.907654941512151 | erot = 2.67612704045885 | epot = -12.7171310902396 | etot = -9.13334910826861 -980000 ekin = 0.926700183438725 | erot = 2.68592744663146 | epot = -12.7459767383145 | etot = -9.13334910824436 -981000 ekin = 0.960659745241547 | erot = 2.67638285525772 | epot = -12.770391708766 | etot = -9.13334910826674 -982000 ekin = 1.00766017971382 | erot = 2.64879736698571 | epot = -12.7898066550302 | etot = -9.13334910833062 -983000 ekin = 1.06493892794389 | erot = 2.60470505313269 | epot = -12.8029930894938 | etot = -9.13334910841725 -984000 ekin = 1.12913508942468 | erot = 2.54586103452334 | epot = -12.808345232448 | etot = -9.13334910849994 -985000 ekin = 1.19663599746289 | erot = 2.47431116848726 | epot = -12.8042962744991 | etot = -9.13334910854893 -986000 ekin = 1.2639316426873 | erot = 2.39249159635318 | epot = -12.7897723475801 | etot = -9.13334910853965 -987000 ekin = 1.32792910237771 | erot = 2.30329384114304 | epot = -12.7645720519798 | etot = -9.13334910845902 -988000 ekin = 1.38618594053593 | erot = 2.2100370453855 | epot = -12.7295720942306 | etot = -9.13334910830914 -989000 ekin = 1.43703663167589 | erot = 2.11631776633422 | epot = -12.6867035061176 | etot = -9.13334910810747 -990000 ekin = 1.47960743029125 | erot = 2.02574976473974 | epot = -12.6387063029119 | etot = -9.13334910788087 -991000 ekin = 1.51373724656088 | erot = 1.94164272474697 | epot = -12.5887290789682 | etot = -9.13334910766035 -992000 ekin = 1.53983818596799 | erot = 1.86668512513884 | epot = -12.5398724185799 | etot = -9.1333491074731 -993000 ekin = 1.55873490678584 | erot = 1.80268982002861 | epot = -12.4947738341534 | etot = -9.13334910733891 -994000 ekin = 1.57151651520304 | erot = 1.7504391420354 | epot = -12.4553047645059 | etot = -9.13334910726744 -995000 ekin = 1.57942173441972 | erot = 1.70964079466343 | epot = -12.4224116363426 | etot = -9.13334910725948 -996000 ekin = 1.58376261679052 | erot = 1.67898574509867 | epot = -12.3960974691973 | etot = -9.13334910730809 -997000 ekin = 1.58587878582325 | erot = 1.65629050257133 | epot = -12.3755183957957 | etot = -9.13334910740111 -998000 ekin = 1.58710748478689 | erot = 1.63870906507373 | epot = -12.3591656573833 | etot = -9.13334910752265 -999000 ekin = 1.58875603207076 | erot = 1.62299637534363 | epot = -12.3451015150712 | etot = -9.13334910765678 -1000000 ekin = 1.59207001222984 | erot = 1.60581739803193 | epot = -12.3312365180429 | etot = -9.13334910778118 - 1000000 0.11793111 -1.2674127 0.034288999 -1.0739167 -1.3883882e-05 64000 -Loop time of 12.2549 on 4 procs for 1000000 steps with 10 atoms - -Performance: 70502.380 tau/day, 81599.976 timesteps/s -99.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 | 4.621 | 6.1682 | 7.6888 | 57.8 | 50.33 -Bond | 0.23368 | 0.29564 | 0.38327 | 11.2 | 2.41 -Neigh | 0.01308 | 0.013114 | 0.013149 | 0.0 | 0.11 -Comm | 1.714 | 1.885 | 2.078 | 9.8 | 15.38 -Output | 0.080169 | 0.082844 | 0.086603 | 0.8 | 0.68 -Modify | 0.53188 | 0.62981 | 0.73082 | 12.3 | 5.14 -Other | | 3.18 | | | 25.95 - -Nlocal: 2.50000 ave 4 max 1 min -Histogram: 2 0 0 0 0 0 0 0 0 2 -Nghost: 7.50000 ave 9 max 6 min -Histogram: 2 0 0 0 0 0 0 0 0 2 -Neighs: 16.7500 ave 26 max 8 min -Histogram: 2 0 0 0 0 0 0 0 0 2 - -Total # of neighbors = 67 -Ave neighs/atom = 6.7000000 -Ave special neighs/atom = 3.6000000 -Neighbor list builds = 1000 -Dangerous builds = 0 - -write_data last_config.${number}.* nocoeff -write_data last_config.1.* nocoeff -System init for write_data ... -Total wall time: 0:00:12 diff --git a/examples/PACKAGES/cgdna/examples/oxDNA/duplex1/log.2Jul21.duplex1.g++.1 b/examples/PACKAGES/cgdna/examples/oxDNA/duplex1/log.2Jul21.duplex1.g++.1 new file mode 100644 index 0000000000..f1b7eb56eb --- /dev/null +++ b/examples/PACKAGES/cgdna/examples/oxDNA/duplex1/log.2Jul21.duplex1.g++.1 @@ -0,0 +1,1171 @@ +LAMMPS (2 Jul 2021) +variable number equal 1 +variable ofreq equal 1000 +variable efreq equal 1000 +variable T equal 0.1 + +units lj + +dimension 3 + +newton on + +boundary p p p + +atom_style hybrid bond ellipsoid oxdna +WARNING: Atom style hybrid defines both, per-type and per-atom masses; both must be set, but only per-atom masses will be used (../atom_vec_hybrid.cpp:157) +atom_modify sort 0 1.0 + +# Pair interactions require lists of neighbours to be calculated +neighbor 2.0 bin +neigh_modify every 1 delay 0 check yes + +read_data data.duplex1 +Reading data file ... + orthogonal box = (-20.000000 -20.000000 -20.000000) to (20.000000 20.000000 20.000000) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 10 atoms + reading velocities ... + 10 velocities + scanning bonds ... + 1 = max bonds/atom + 10 ellipsoids + reading bonds ... + 8 bonds +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 + 2 = max # of 1-3 neighbors + 2 = max # of 1-4 neighbors + 4 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.003 seconds + +set atom * mass 3.1575 +Setting atom values ... + 10 settings made for mass + +group all type 1 4 +10 atoms in group all + +# oxDNA bond interactions - FENE backbone +bond_style oxdna/fene +bond_coeff * 2.0 0.25 0.7525 +special_bonds lj 0 1 1 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 1 1 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 2 = max # of 1-3 neighbors + 2 = max # of 1-4 neighbors + 4 = max # of special neighbors + special bonds CPU = 0.000 seconds + +# oxDNA pair interactions +pair_style hybrid/overlay oxdna/excv oxdna/stk oxdna/hbond oxdna/xstk oxdna/coaxstk +pair_coeff * * oxdna/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32 +pair_coeff * * oxdna/stk seqav ${T} 1.3448 2.6568 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 +pair_coeff * * oxdna/stk seqav 0.1 1.3448 2.6568 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 +pair_coeff * * oxdna/hbond seqav 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 1 4 oxdna/hbond seqav 1.077 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 2 3 oxdna/hbond seqav 1.077 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff * * oxdna/xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68 +pair_coeff * * oxdna/coaxstk 46.0 0.4 0.6 0.22 0.58 2.0 2.541592653589793 0.65 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 -0.65 2.0 -0.65 + +# NVE ensemble +fix 1 all nve/asphere +#fix 2 all langevin ${T} ${T} 2.5 457145 angmom 10 + +timestep 1e-5 + +#comm_style tiled +fix 3 all balance 1000 1.03 shift xyz 10 1.03 +comm_modify cutoff 3.8 + +compute quat all property/atom quatw quati quatj quatk + +compute erot all erotate/asphere +compute ekin all ke +compute epot all pe +variable erot equal c_erot +variable ekin equal c_ekin +variable epot equal c_epot +variable etot equal c_erot+c_ekin+c_epot +fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes +fix 5 all print 1000 "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes + +dump out all custom ${ofreq} out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump out all custom 1000 out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump out all custom 1000 out.1.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump_modify out sort id +dump_modify out format line "%d %d %d %22.15le %22.15le %22.15le %d %d %d %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le" + +run 1000000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.9560004 + ghost atom cutoff = 3.8 + binsize = 1.4780002, bins = 28 28 28 + 4 neighbor lists, perpetual/occasional/extra = 4 0 0 + (1) pair oxdna/excv, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard + (2) pair oxdna/hbond, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none + (3) pair oxdna/xstk, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none + (4) pair oxdna/coaxstk, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none +0 ekin = 1.10853632272819 | erot = 2.81573649976629 | epot = -13.0576219534369 | etot = -9.13334913094246 +Per MPI rank memory allocation (min/avg/max) = 8.949 | 8.949 | 8.949 Mbytes +Step Temp E_pair E_mol TotEng Press Volume + 0 0.082113802 -1.3488546 0.043092397 -1.1949086 -4.6816211e-05 64000 +1000 ekin = 1.08024346604046 | erot = 2.90873406534668 | epot = -13.1223266626202 | etot = -9.13334913123308 +2000 ekin = 1.05028450914437 | erot = 2.98006324808558 | epot = -13.1636968886591 | etot = -9.13334913142915 +3000 ekin = 1.01964458529397 | erot = 3.02592193798632 | epot = -13.1789156547658 | etot = -9.13334913148547 +4000 ekin = 0.989515033089539 | erot = 3.04428486059471 | epot = -13.1671490250724 | etot = -9.13334913138813 +5000 ekin = 0.961283929687833 | erot = 3.03510855539557 | epot = -13.1297416162282 | etot = -9.13334913114481 +6000 ekin = 0.936412193404256 | erot = 3.00022299571975 | epot = -13.0699843199583 | etot = -9.13334913083425 +7000 ekin = 0.916233699107968 | erot = 2.9427713444016 | epot = -12.9923541739966 | etot = -9.13334913048708 +8000 ekin = 0.901760662506268 | erot = 2.86671228744165 | epot = -12.9018220800865 | etot = -9.13334913013859 +9000 ekin = 0.893571390067879 | erot = 2.77649686780605 | epot = -12.8034173876806 | etot = -9.13334912980667 +10000 ekin = 0.891805685056847 | erot = 2.67686855006734 | epot = -12.7020233645916 | etot = -9.13334912946739 +11000 ekin = 0.896243557993589 | erot = 2.57266042063119 | epot = -12.6022531078194 | etot = -9.13334912919467 +12000 ekin = 0.906416039154817 | erot = 2.46827537271556 | epot = -12.5080405408347 | etot = -9.13334912896436 +13000 ekin = 0.921704091778492 | erot = 2.36760645470833 | epot = -12.4226596752787 | etot = -9.1333491287919 +14000 ekin = 0.941405275130078 | erot = 2.27374941641176 | epot = -12.3485038202328 | etot = -9.13334912869101 +15000 ekin = 0.964770892951776 | erot = 2.18876720165113 | epot = -12.2868872232635 | etot = -9.13334912866063 +16000 ekin = 0.991029016801088 | erot = 2.11380018376645 | epot = -12.2381783292305 | etot = -9.13334912866292 +17000 ekin = 1.01940907375712 | erot = 2.04893605182118 | epot = -12.2016942543555 | etot = -9.13334912877719 +18000 ekin = 1.04917923728265 | erot = 1.993350175781 | epot = -12.1758785419805 | etot = -9.13334912891683 +19000 ekin = 1.07969247848165 | erot = 1.94569933362969 | epot = -12.1587409411761 | etot = -9.13334912906478 +20000 ekin = 1.11043268152286 | erot = 1.90411175657082 | epot = -12.1478935672813 | etot = -9.13334912918758 +21000 ekin = 1.14104909735583 | erot = 1.86695882979249 | epot = -12.1413570564147 | etot = -9.13334912926637 +22000 ekin = 1.17136821848099 | erot = 1.83313674901903 | epot = -12.1378540967921 | etot = -9.13334912929204 +23000 ekin = 1.20137634097693 | erot = 1.80222523558983 | epot = -12.1369507058332 | etot = -9.13334912926643 +24000 ekin = 1.231172496229 | erot = 1.77451266102193 | epot = -12.1390342864516 | etot = -9.13334912920062 +25000 ekin = 1.26089526640645 | erot = 1.75088411697597 | epot = -12.1451285124969 | etot = -9.13334912911452 +26000 ekin = 1.29063712254632 | erot = 1.73259428379508 | epot = -12.1565805353676 | etot = -9.1333491290262 +27000 ekin = 1.32035987087029 | erot = 1.72114061671176 | epot = -12.1748496165411 | etot = -9.133349128959 +28000 ekin = 1.34980460658797 | erot = 1.71795709927856 | epot = -12.2011108348018 | etot = -9.1333491289353 +29000 ekin = 1.37841624051162 | erot = 1.7241401378574 | epot = -12.2359055073442 | etot = -9.13334912897517 +30000 ekin = 1.40529015727354 | erot = 1.74019656639668 | epot = -12.2788358527639 | etot = -9.13334912909368 +31000 ekin = 1.42915801743398 | erot = 1.76583252336949 | epot = -12.3283396701001 | etot = -9.13334912929662 +32000 ekin = 1.44843712560543 | erot = 1.7998218174534 | epot = -12.381608072634 | etot = -9.13334912957516 +33000 ekin = 1.46136904668682 | erot = 1.84000474140072 | epot = -12.4347229179884 | etot = -9.13334912990089 +34000 ekin = 1.46625940785516 | erot = 1.88346459856615 | epot = -12.4830731366474 | etot = -9.13334913022613 +35000 ekin = 1.46179739484308 | erot = 1.92688889524936 | epot = -12.5220354205852 | etot = -9.13334913049271 +36000 ekin = 1.44738855724077 | erot = 1.96705754746493 | epot = -12.5477952353503 | etot = -9.13334913064463 +37000 ekin = 1.4234005446855 | erot = 2.00129614949924 | epot = -12.5580458249024 | etot = -9.13334913071767 +38000 ekin = 1.39122781542981 | erot = 2.02761655303763 | epot = -12.5521934990546 | etot = -9.13334913058721 +39000 ekin = 1.35313842096817 | erot = 2.04547852103601 | epot = -12.5319660723436 | etot = -9.13334913033938 +40000 ekin = 1.31193587699363 | erot = 2.05554364627558 | epot = -12.5008286533155 | etot = -9.13334913004627 +41000 ekin = 1.27054093924544 | erot = 2.05894429581371 | epot = -12.4628343648332 | etot = -9.13334912977403 +42000 ekin = 1.23161000992328 | erot = 2.05694893255707 | epot = -12.4219080720069 | etot = -9.1333491295265 +43000 ekin = 1.19723969759494 | erot = 2.05085758075658 | epot = -12.3814464076995 | etot = -9.13334912934802 +44000 ekin = 1.16880185863999 | erot = 2.04172238360627 | epot = -12.3438733714904 | etot = -9.13334912924412 +45000 ekin = 1.1469078717572 | erot = 2.03029950061773 | epot = -12.3105565015799 | etot = -9.13334912920493 +46000 ekin = 1.13147919636052 | erot = 2.01712256175374 | epot = -12.2819508873243 | etot = -9.13334912921 +47000 ekin = 1.12189300492722 | erot = 2.00264798837256 | epot = -12.2578901225351 | etot = -9.13334912923528 +48000 ekin = 1.11716788112728 | erot = 1.98739120721192 | epot = -12.2379082176346 | etot = -9.13334912929539 +49000 ekin = 1.1161579479525 | erot = 1.97187368108372 | epot = -12.2213807583349 | etot = -9.13334912929866 +50000 ekin = 1.11772326336401 | erot = 1.95708534394624 | epot = -12.2081577365825 | etot = -9.13334912927229 +51000 ekin = 1.12084924497878 | erot = 1.94437394210215 | epot = -12.1985723162997 | etot = -9.13334912921873 +52000 ekin = 1.12470549785255 | erot = 1.93529800314867 | epot = -12.1933526301509 | etot = -9.13334912914966 +53000 ekin = 1.12864556674979 | erot = 1.93145365271657 | epot = -12.1934483485496 | etot = -9.13334912908328 +54000 ekin = 1.1321611352309 | erot = 1.93430274875498 | epot = -12.199813013012 | etot = -9.13334912902616 +55000 ekin = 1.13481106600236 | erot = 1.94490436967234 | epot = -12.2130645647021 | etot = -9.13334912902736 +56000 ekin = 1.13614343535817 | erot = 1.96361884590778 | epot = -12.233111410353 | etot = -9.13334912908703 +57000 ekin = 1.13563178311283 | erot = 1.99002978527236 | epot = -12.2590106975984 | etot = -9.13334912921322 +58000 ekin = 1.13263976908247 | erot = 2.02286978616487 | epot = -12.2888586846524 | etot = -9.1333491294051 +59000 ekin = 1.12642426113435 | erot = 2.06004413441698 | epot = -12.3198175252027 | etot = -9.13334912965138 +60000 ekin = 1.11618536041537 | erot = 2.09876774945535 | epot = -12.3483022398003 | etot = -9.13334912992962 +61000 ekin = 1.10116810417871 | erot = 2.13581434618259 | epot = -12.3703315805682 | etot = -9.1333491302069 +62000 ekin = 1.08081637521808 | erot = 2.16786879318293 | epot = -12.3820342988431 | etot = -9.13334913044213 +63000 ekin = 1.05497014428156 | erot = 2.19194503254429 | epot = -12.3802643074575 | etot = -9.13334913063163 +64000 ekin = 1.02408601603164 | erot = 2.20562384873125 | epot = -12.3630589954179 | etot = -9.13334913065498 +65000 ekin = 0.98943441580777 | erot = 2.20769180278656 | epot = -12.330475349125 | etot = -9.13334913053072 +66000 ekin = 0.953195593563924 | erot = 2.19842250482629 | epot = -12.2849672286538 | etot = -9.13334913026361 +67000 ekin = 0.918366365968288 | erot = 2.17942400884185 | epot = -12.2311395047048 | etot = -9.13334912989465 +68000 ekin = 0.888467814666294 | erot = 2.15321364358206 | epot = -12.1750305877201 | etot = -9.13334912947173 +69000 ekin = 0.867150037001647 | erot = 2.1228863370438 | epot = -12.1233855031208 | etot = -9.13334912907536 +70000 ekin = 0.857579951604761 | erot = 2.09151913845159 | epot = -12.0824482188431 | etot = -9.13334912878671 +71000 ekin = 0.861815425267466 | erot = 2.06157004239568 | epot = -12.0567345963619 | etot = -9.13334912869875 +72000 ekin = 0.88019181568545 | erot = 2.03435275439371 | epot = -12.0478936988732 | etot = -9.13334912879399 +73000 ekin = 0.911201453876652 | erot = 2.00982694750408 | epot = -12.0543775304379 | etot = -9.13334912905718 +74000 ekin = 0.951849895585105 | erot = 1.98685418272633 | epot = -12.0720532077345 | etot = -9.1333491294231 +75000 ekin = 0.998151008641228 | erot = 1.96362530027612 | epot = -12.0951254387264 | etot = -9.13334912980904 +76000 ekin = 1.04581734271593 | erot = 1.93821700241365 | epot = -12.117383475267 | etot = -9.13334913013739 +77000 ekin = 1.09091996835707 | erot = 1.90910715282296 | epot = -12.1333762515352 | etot = -9.13334913035515 +78000 ekin = 1.13037631927924 | erot = 1.87551578135396 | epot = -12.139241231075 | etot = -9.13334913044181 +79000 ekin = 1.16219588597792 | erot = 1.83750580183272 | epot = -12.1330508182183 | etot = -9.13334913040767 +80000 ekin = 1.1854897263224 | erot = 1.79585942670001 | epot = -12.1146982833062 | etot = -9.13334913028383 +81000 ekin = 1.20030605718963 | erot = 1.75181365939761 | epot = -12.0854688466956 | etot = -9.13334913010839 +82000 ekin = 1.20737786492204 | erot = 1.70676694760234 | epot = -12.047493942439 | etot = -9.13334912991461 +83000 ekin = 1.2078605140208 | erot = 1.66205278152646 | epot = -12.0032624252717 | etot = -9.13334912972448 +84000 ekin = 1.20310991572484 | erot = 1.61882913247335 | epot = -11.9552881777461 | etot = -9.13334912954791 +85000 ekin = 1.19452073297172 | erot = 1.57808043002433 | epot = -11.9059502923819 | etot = -9.13334912938589 +86000 ekin = 1.18342100682564 | erot = 1.5406926889625 | epot = -11.8574628250235 | etot = -9.13334912923537 +87000 ekin = 1.1710085895735 | erot = 1.50755090689531 | epot = -11.8119086255617 | etot = -9.13334912909291 +88000 ekin = 1.15831377551687 | erot = 1.47961680456731 | epot = -11.7712797090417 | etot = -9.13334912895749 +89000 ekin = 1.14617682817404 | erot = 1.45796378128901 | epot = -11.7374897382937 | etot = -9.13334912883065 +90000 ekin = 1.13523447969425 | erot = 1.44376438030032 | epot = -11.7123479887108 | etot = -9.13334912871622 +91000 ekin = 1.12591345720554 | erot = 1.43823772500951 | epot = -11.6975003108346 | etot = -9.13334912861951 +92000 ekin = 1.1184309948929 | erot = 1.44256930748519 | epot = -11.6943494309244 | etot = -9.13334912854634 +93000 ekin = 1.1128032963482 | erot = 1.45781524814484 | epot = -11.7039676729951 | etot = -9.13334912850205 +94000 ekin = 1.10886209127345 | erot = 1.48480045701872 | epot = -11.7270116767841 | etot = -9.13334912849191 +95000 ekin = 1.10627886010346 | erot = 1.52396220647538 | epot = -11.7635901951104 | etot = -9.13334912853156 +96000 ekin = 1.10459509814429 | erot = 1.57519859223418 | epot = -11.8131428189842 | etot = -9.13334912860576 +97000 ekin = 1.10325943769911 | erot = 1.63800664193794 | epot = -11.8746152083615 | etot = -9.13334912872444 +98000 ekin = 1.10166959581651 | erot = 1.71130689804963 | epot = -11.9463256227536 | etot = -9.13334912888747 +99000 ekin = 1.09921849385167 | erot = 1.79339905630353 | epot = -12.0259666792468 | etot = -9.13334912909161 +100000 ekin = 1.0953459688011 | erot = 1.88196872528563 | epot = -12.1106638234158 | etot = -9.1333491293291 +101000 ekin = 1.08959720755121 | erot = 1.97415616931445 | epot = -12.1971025064517 | etot = -9.13334912958605 +102000 ekin = 1.08168751154818 | erot = 2.0667028218517 | epot = -12.2817394632422 | etot = -9.13334912984234 +103000 ekin = 1.07156932342316 | erot = 2.15618192508056 | epot = -12.3611003785769 | etot = -9.13334913007318 +104000 ekin = 1.05949237996073 | erot = 2.23930158373562 | epot = -12.4321430939482 | etot = -9.13334913025183 +105000 ekin = 1.04604342224878 | erot = 2.31323902285843 | epot = -12.4926315754928 | etot = -9.13334913038555 +106000 ekin = 1.0322431631856 | erot = 2.37579242095981 | epot = -12.541384714564 | etot = -9.13334913041858 +107000 ekin = 1.01951120148932 | erot = 2.42585603740565 | epot = -12.57871636928 | etot = -9.133349130385 +108000 ekin = 1.00875017477207 | erot = 2.46348952984492 | epot = -12.6055888348732 | etot = -9.13334913025623 +109000 ekin = 1.00109573552394 | erot = 2.48980806114969 | epot = -12.6242529267276 | etot = -9.13334913005395 +110000 ekin = 0.997931591358091 | erot = 2.50673918610801 | epot = -12.6380199072772 | etot = -9.13334912981112 +111000 ekin = 1.00076792351317 | erot = 2.51665915373046 | epot = -12.6507762068073 | etot = -9.13334912956366 +112000 ekin = 1.01109610479922 | erot = 2.5220070159966 | epot = -12.6664522501388 | etot = -9.13334912934299 +113000 ekin = 1.03019016817879 | erot = 2.52496101252896 | epot = -12.688500309986 | etot = -9.13334912927824 +114000 ekin = 1.05821017520623 | erot = 2.52722573627529 | epot = -12.7187850407015 | etot = -9.13334912921997 +115000 ekin = 1.0947253040014 | erot = 2.53003930448843 | epot = -12.7581137377192 | etot = -9.13334912922939 +116000 ekin = 1.13884650903332 | erot = 2.53414832430464 | epot = -12.8063439626439 | etot = -9.1333491293059 +117000 ekin = 1.18909444999485 | erot = 2.5398083927715 | epot = -12.862251972215 | etot = -9.13334912944861 +118000 ekin = 1.24341490970477 | erot = 2.54678348242654 | epot = -12.9235475217869 | etot = -9.13334912965561 +119000 ekin = 1.29923662064195 | erot = 2.55432909401028 | epot = -12.9869148445731 | etot = -9.13334912992089 +120000 ekin = 1.35358959215651 | erot = 2.56118615921813 | epot = -13.0481248816038 | etot = -9.13334913022921 +121000 ekin = 1.40329803815456 | erot = 2.56563135861672 | epot = -13.1022785273256 | etot = -9.13334913055428 +122000 ekin = 1.44524692196618 | erot = 2.56562448409235 | epot = -13.1442205369174 | etot = -9.13334913085884 +123000 ekin = 1.47669540804833 | erot = 2.55906317998209 | epot = -13.169107719131 | etot = -9.1333491311006 +124000 ekin = 1.49558302658162 | erot = 2.54411105943722 | epot = -13.1730432172611 | etot = -9.13334913124229 +125000 ekin = 1.50076122489739 | erot = 2.51952798471306 | epot = -13.1536383408712 | etot = -9.13334913126069 +126000 ekin = 1.49214728684713 | erot = 2.48515933103515 | epot = -13.1106557490372 | etot = -9.13334913115489 +127000 ekin = 1.47053410713955 | erot = 2.44174480075122 | epot = -13.0456280388473 | etot = -9.13334913095656 +128000 ekin = 1.43743445323503 | erot = 2.39059049317544 | epot = -12.9613740770757 | etot = -9.1333491306652 +129000 ekin = 1.39501109707052 | erot = 2.33380120125816 | epot = -12.8621614286433 | etot = -9.13334913031463 +130000 ekin = 1.34584042016751 | erot = 2.27401545397174 | epot = -12.7532050040791 | etot = -9.13334912993981 +131000 ekin = 1.2926893078659 | erot = 2.21410134111222 | epot = -12.6401397785506 | etot = -9.13334912957246 +132000 ekin = 1.23832315616825 | erot = 2.15686384200884 | epot = -12.5285361274152 | etot = -9.13334912923814 +133000 ekin = 1.18535267681203 | erot = 2.10479906741759 | epot = -12.4235008731851 | etot = -9.13334912895549 +134000 ekin = 1.13612155562822 | erot = 2.05991346428629 | epot = -12.3293841486504 | etot = -9.13334912873585 +135000 ekin = 1.09263262326065 | erot = 2.02360952444368 | epot = -12.2495912762904 | etot = -9.13334912858607 +136000 ekin = 1.05650575788363 | erot = 1.99662030668686 | epot = -12.186475193078 | etot = -9.13334912850755 +137000 ekin = 1.02895878679475 | erot = 1.9789921283489 | epot = -12.1413000436433 | etot = -9.13334912849969 +138000 ekin = 1.01080388995867 | erot = 1.97013512172238 | epot = -12.1142881402333 | etot = -9.13334912855223 +139000 ekin = 1.00245459395367 | erot = 1.96888144460881 | epot = -12.1046851672403 | etot = -9.13334912867788 +140000 ekin = 1.0039378074064 | erot = 1.97333010973459 | epot = -12.1106170460028 | etot = -9.13334912886182 +141000 ekin = 1.01490973367055 | erot = 1.98104530944802 | epot = -12.1293041722137 | etot = -9.13334912909515 +142000 ekin = 1.03468044934439 | erot = 1.98917872502442 | epot = -12.1572083037337 | etot = -9.13334912936491 +143000 ekin = 1.06225104646196 | erot = 1.99463134790795 | epot = -12.1902315240232 | etot = -9.13334912965333 +144000 ekin = 1.09636709127271 | erot = 1.99441220318412 | epot = -12.2241284243805 | etot = -9.13334912992366 +145000 ekin = 1.13559045362142 | erot = 1.98572590466024 | epot = -12.2546654884644 | etot = -9.13334913018269 +146000 ekin = 1.17838854122111 | erot = 1.96612892354277 | epot = -12.2778665951536 | etot = -9.13334913038972 +147000 ekin = 1.22300699749199 | erot = 1.93405129395 | epot = -12.290407421963 | etot = -9.13334913052099 +148000 ekin = 1.26785677863037 | erot = 1.88891621350868 | epot = -12.2901221226998 | etot = -9.13334913056074 +149000 ekin = 1.31170551487317 | erot = 1.83123494690896 | epot = -12.2762895922885 | etot = -9.13334913050637 +150000 ekin = 1.35361858091215 | erot = 1.76263607509638 | epot = -12.2496037863728 | etot = -9.13334913036431 +151000 ekin = 1.39299848911443 | erot = 1.68572491420634 | epot = -12.2120725334744 | etot = -9.13334913015361 +152000 ekin = 1.42958376961924 | erot = 1.6038154911236 | epot = -12.1667483906421 | etot = -9.13334912989928 +153000 ekin = 1.46340801747604 | erot = 1.52060159601932 | epot = -12.1173587431247 | etot = -9.1333491296293 +154000 ekin = 1.4947265022457 | erot = 1.43981503875287 | epot = -12.0678906703689 | etot = -9.13334912937036 +155000 ekin = 1.52392161825086 | erot = 1.36491657683224 | epot = -12.0221873242285 | etot = -9.13334912914535 +156000 ekin = 1.55140022159559 | erot = 1.29884972381829 | epot = -11.9835990743856 | etot = -9.13334912897169 +157000 ekin = 1.57749707056588 | erot = 1.24387068637228 | epot = -11.9547168857973 | etot = -9.13334912885916 +158000 ekin = 1.60239506185781 | erot = 1.20145363967816 | epot = -11.9371978303524 | etot = -9.13334912881648 +159000 ekin = 1.62604462003781 | erot = 1.17226436760497 | epot = -11.9316581164848 | etot = -9.13334912884202 +160000 ekin = 1.64813303486538 | erot = 1.15619534708312 | epot = -11.9376775108798 | etot = -9.13334912893126 +161000 ekin = 1.66807327612968 | erot = 1.15245312716186 | epot = -11.9538755323659 | etot = -9.13334912907436 +162000 ekin = 1.68501875283042 | erot = 1.15969471512798 | epot = -11.9780625972157 | etot = -9.13334912925727 +163000 ekin = 1.69790620824657 | erot = 1.17620989126095 | epot = -12.0074652289689 | etot = -9.13334912946134 +164000 ekin = 1.70552711798374 | erot = 1.20014309389817 | epot = -12.0390193415462 | etot = -9.13334912966433 +165000 ekin = 1.70662691809323 | erot = 1.22974121417707 | epot = -12.0697172621122 | etot = -9.13334912984189 +166000 ekin = 1.7000290802682 | erot = 1.26360423252395 | epot = -12.0969824427627 | etot = -9.13334912997052 +167000 ekin = 1.68477683955852 | erot = 1.30090518403747 | epot = -12.1190311536261 | etot = -9.13334913003012 +168000 ekin = 1.66027923283154 | erot = 1.34154370359055 | epot = -12.1351720664303 | etot = -9.1333491300082 +169000 ekin = 1.62644124957696 | erot = 1.38619810991375 | epot = -12.1459884893935 | etot = -9.13334912990279 +170000 ekin = 1.58375251890744 | erot = 1.43625221626168 | epot = -12.1533538648942 | etot = -9.1333491297251 +171000 ekin = 1.53331003043897 | erot = 1.49359459893384 | epot = -12.1602537588716 | etot = -9.13334912949884 +172000 ekin = 1.47676106161375 | erot = 1.56031583407018 | epot = -12.1704260249395 | etot = -9.13334912925553 +173000 ekin = 1.41695754705502 | erot = 1.63848249765388 | epot = -12.188789173044 | etot = -9.13334912833507 +174000 ekin = 1.3593768430446 | erot = 1.72968793645215 | epot = -12.2224139078247 | etot = -9.13334912832798 +175000 ekin = 1.30537540818791 | erot = 1.83369980102237 | epot = -12.2724243375748 | etot = -9.13334912836452 +176000 ekin = 1.25571357800286 | erot = 1.94952726339924 | epot = -12.3385899698484 | etot = -9.1333491284463 +177000 ekin = 1.21104692225297 | erot = 2.07558802224364 | epot = -12.4199840730635 | etot = -9.13334912856687 +178000 ekin = 1.17189512057024 | erot = 2.20976079574621 | epot = -12.5150050450635 | etot = -9.13334912874708 +179000 ekin = 1.13864315857362 | erot = 2.34949890132868 | epot = -12.621491188811 | etot = -9.13334912890871 +180000 ekin = 1.11156621835588 | erot = 2.49234008539985 | epot = -12.7372554328242 | etot = -9.13334912906844 +181000 ekin = 1.09087167613582 | erot = 2.6356735753612 | epot = -12.8598943807494 | etot = -9.13334912925239 +182000 ekin = 1.07675226579839 | erot = 2.77693577183312 | epot = -12.9870371670189 | etot = -9.13334912938736 +183000 ekin = 1.06942294234152 | erot = 2.91405263083421 | epot = -13.1168247026758 | etot = -9.13334912950012 +184000 ekin = 1.0691348870584 | erot = 3.04520163111638 | epot = -13.2476856477697 | etot = -9.13334912959496 +185000 ekin = 1.07614345922793 | erot = 3.16875772929902 | epot = -13.3782503182121 | etot = -9.13334912968517 +186000 ekin = 1.09060563376754 | erot = 3.28317984154833 | epot = -13.5071346051098 | etot = -9.13334912979394 +187000 ekin = 1.11239929858154 | erot = 3.38683780589066 | epot = -13.632586234424 | etot = -9.13334912995184 +188000 ekin = 1.14088837562648 | erot = 3.47780595660491 | epot = -13.7520434624193 | etot = -9.1333491301879 +189000 ekin = 1.17469755695855 | erot = 3.55369218298227 | epot = -13.8617388704565 | etot = -9.13334913051572 +190000 ekin = 1.21158961983346 | erot = 3.61161008256054 | epot = -13.9565488333127 | etot = -9.13334913091872 +191000 ekin = 1.24837558083735 | erot = 3.6478034512754 | epot = -14.0295281634881 | etot = -9.13334913137538 +192000 ekin = 1.2810231168297 | erot = 3.65810395428983 | epot = -14.0724762027871 | etot = -9.13334913166757 +193000 ekin = 1.30598320816993 | erot = 3.64139295006491 | epot = -14.0807252900249 | etot = -9.13334913179008 +194000 ekin = 1.32049648836639 | erot = 3.59844552363037 | epot = -14.0522911436922 | etot = -9.13334913169541 +195000 ekin = 1.32298604774295 | erot = 3.53212928134953 | epot = -13.9884644604292 | etot = -9.13334913133677 +196000 ekin = 1.31323645162593 | erot = 3.44751612705315 | epot = -13.8941017095234 | etot = -9.13334913084434 +197000 ekin = 1.2922893469817 | erot = 3.35072340322508 | epot = -13.776361880499 | etot = -9.13334913029222 +198000 ekin = 1.26212633786657 | erot = 3.24789114382005 | epot = -13.6433666114232 | etot = -9.13334912973654 +199000 ekin = 1.22527047461741 | erot = 3.14483705467218 | epot = -13.5034566585632 | etot = -9.13334912927362 +200000 ekin = 1.1844179920726 | erot = 3.04594245963003 | epot = -13.3637095806218 | etot = -9.13334912891917 +201000 ekin = 1.14216630511967 | erot = 2.95390025492359 | epot = -13.2294156887272 | etot = -9.13334912868389 +202000 ekin = 1.10084220211764 | erot = 2.86987712396347 | epot = -13.1040684546434 | etot = -9.13334912856225 +203000 ekin = 1.06240856569029 | erot = 2.7936606722683 | epot = -12.9894183664997 | etot = -9.13334912854108 +204000 ekin = 1.02841768821234 | erot = 2.72389144275509 | epot = -12.8856582595718 | etot = -9.13334912860439 +205000 ekin = 0.999988405220884 | erot = 2.65832732458315 | epot = -12.7916648585388 | etot = -9.13334912873479 +206000 ekin = 0.977799621225236 | erot = 2.59412391514193 | epot = -12.7052726652797 | etot = -9.13334912891252 +207000 ekin = 0.962105653965488 | erot = 2.52813792126126 | epot = -12.6235927043397 | etot = -9.13334912911293 +208000 ekin = 0.952783648018927 | erot = 2.45726642892325 | epot = -12.5433992062486 | etot = -9.13334912930642 +209000 ekin = 0.949416945748607 | erot = 2.37882137049742 | epot = -12.4615874457066 | etot = -9.1333491294606 +210000 ekin = 0.95140226321529 | erot = 2.29090939419253 | epot = -12.3756607869544 | etot = -9.13334912954655 +211000 ekin = 0.958051952077684 | erot = 2.19275562021927 | epot = -12.2841567018439 | etot = -9.13334912954696 +212000 ekin = 0.968659667700569 | erot = 2.08489619855882 | epot = -12.18690499572 | etot = -9.1333491294606 +213000 ekin = 0.982515908120069 | erot = 1.96918422281071 | epot = -12.0850492602328 | etot = -9.133349129302 +214000 ekin = 0.998888701919883 | erot = 1.84860041862004 | epot = -11.9808382496359 | etot = -9.13334912909602 +215000 ekin = 1.01700134912583 | erot = 1.72690897492257 | epot = -11.8772594529197 | etot = -9.13334912887129 +216000 ekin = 1.03603050122469 | erot = 1.60822693577908 | epot = -11.777606565659 | etot = -9.13334912865519 +217000 ekin = 1.05512477228488 | erot = 1.49657917533874 | epot = -11.6850530760954 | etot = -9.1333491284718 +218000 ekin = 1.07342860744204 | erot = 1.3955009267025 | epot = -11.602278662484 | etot = -9.13334912833946 +219000 ekin = 1.09009860355596 | erot = 1.30773521951615 | epot = -11.5311829513412 | etot = -9.1333491282691 +220000 ekin = 1.10431207607371 | erot = 1.23505496062935 | epot = -11.472716164966 | etot = -9.13334912826293 +221000 ekin = 1.11527717993067 | erot = 1.17821867809287 | epot = -11.426844986338 | etot = -9.13334912831448 +222000 ekin = 1.12225437592992 | erot = 1.1370482394417 | epot = -11.3926517437816 | etot = -9.13334912841001 +223000 ekin = 1.12459297621428 | erot = 1.11060060825122 | epot = -11.3685427129972 | etot = -9.13334912853172 +224000 ekin = 1.12177911879631 | erot = 1.09739625543932 | epot = -11.3525245028961 | etot = -9.13334912866044 +225000 ekin = 1.11348637905767 | erot = 1.09566402531935 | epot = -11.3424995331558 | etot = -9.13334912877875 +226000 ekin = 1.09961800000716 | erot = 1.10360909760944 | epot = -11.336576226485 | etot = -9.13334912886841 +227000 ekin = 1.08033165066228 | erot = 1.11952730043406 | epot = -11.3332080800317 | etot = -9.13334912893538 +228000 ekin = 1.0560460287279 | erot = 1.1418786542186 | epot = -11.3312738119169 | etot = -9.13334912897037 +229000 ekin = 1.02742418663516 | erot = 1.16938489301675 | epot = -11.3301582086283 | etot = -9.1333491289764 +230000 ekin = 0.995339184991672 | erot = 1.20102048198615 | epot = -11.3297087959367 | etot = -9.13334912895884 +231000 ekin = 0.960829492708774 | erot = 1.23597735762306 | epot = -11.3301559792542 | etot = -9.13334912892236 +232000 ekin = 0.925050432735309 | erot = 1.27360958612391 | epot = -11.3320091477352 | etot = -9.133349128876 +233000 ekin = 0.889225435959791 | erot = 1.3133791021064 | epot = -11.3359536668891 | etot = -9.13334912882295 +234000 ekin = 0.854600006628736 | erot = 1.35483402381932 | epot = -11.3427831592147 | etot = -9.1333491287666 +235000 ekin = 0.822390924845177 | erot = 1.3975743001585 | epot = -11.3533143537192 | etot = -9.13334912871557 +236000 ekin = 0.79373284871178 | erot = 1.44121433399083 | epot = -11.3682963113762 | etot = -9.13334912867361 +237000 ekin = 0.769632191219341 | erot = 1.48535644446082 | epot = -11.3883377643263 | etot = -9.13334912864614 +238000 ekin = 0.750918993365902 | erot = 1.52956143549227 | epot = -11.4138295574956 | etot = -9.1333491286374 +239000 ekin = 0.738206267497023 | erot = 1.57333361162164 | epot = -11.4448890077676 | etot = -9.13334912864891 +240000 ekin = 0.731862193743802 | erot = 1.61613149974237 | epot = -11.4813428221653 | etot = -9.13334912867911 +241000 ekin = 0.731999328001815 | erot = 1.65741090456868 | epot = -11.5227593612932 | etot = -9.1333491287227 +242000 ekin = 0.738482620157072 | erot = 1.69669130986314 | epot = -11.5685230587939 | etot = -9.13334912877369 +243000 ekin = 0.75095504232512 | erot = 1.73364929482327 | epot = -11.617953465968 | etot = -9.1333491288196 +244000 ekin = 0.768877080466331 | erot = 1.76822360275621 | epot = -11.6704498120767 | etot = -9.13334912885412 +245000 ekin = 0.791573929294351 | erot = 1.80068045121317 | epot = -11.7256035093789 | etot = -9.13334912887142 +246000 ekin = 0.818282914271264 | erot = 1.83164107445174 | epot = -11.7832731175936 | etot = -9.13334912887061 +247000 ekin = 0.848193621601397 | erot = 1.86205096555236 | epot = -11.8435937160096 | etot = -9.13334912885583 +248000 ekin = 0.880474358635198 | erot = 1.89308546777783 | epot = -11.9069089552495 | etot = -9.13334912883646 +249000 ekin = 0.914280881218976 | erot = 1.92599713223874 | epot = -11.9736271422836 | etot = -9.13334912882589 +250000 ekin = 0.948746730716201 | erot = 1.96192054843714 | epot = -12.0440164079935 | etot = -9.13334912884016 +251000 ekin = 0.982959063854084 | erot = 2.00165977259887 | epot = -12.1179679653479 | etot = -9.13334912889495 +252000 ekin = 1.01592948249831 | erot = 2.0454925239635 | epot = -12.1947711354629 | etot = -9.13334912900106 +253000 ekin = 1.04657777483961 | erot = 2.09303441305945 | epot = -12.2729613170589 | etot = -9.13334912915988 +254000 ekin = 1.07373541755056 | erot = 2.14319803018433 | epot = -12.350282577098 | etot = -9.13334912936307 +255000 ekin = 1.0962016316301 | erot = 2.19430966720531 | epot = -12.4238604284171 | etot = -9.13334912958168 +256000 ekin = 1.11287206428135 | erot = 2.24438579427423 | epot = -12.4906069883384 | etot = -9.13334912978286 +257000 ekin = 1.12287782510614 | erot = 2.29146665865398 | epot = -12.5476936136917 | etot = -9.13334912993153 +258000 ekin = 1.12572293500256 | erot = 2.33396623628263 | epot = -12.5930383012893 | etot = -9.13334913000415 +259000 ekin = 1.12139026023636 | erot = 2.37095948468546 | epot = -12.6256988749107 | etot = -9.1333491299889 +260000 ekin = 1.11036122819321 | erot = 2.40229658115387 | epot = -12.6460069392473 | etot = -9.13334912990019 +261000 ekin = 1.09354805445073 | erot = 2.42847877902924 | epot = -12.6553759632423 | etot = -9.13334912976234 +262000 ekin = 1.07216031825785 | erot = 2.45046938603033 | epot = -12.6559788338922 | etot = -9.13334912960407 +263000 ekin = 1.04754368718294 | erot = 2.46943297797202 | epot = -12.6503257946118 | etot = -9.13334912945686 +264000 ekin = 1.02102495133829 | erot = 2.48647844637155 | epot = -12.6408525270502 | etot = -9.13334912934033 +265000 ekin = 0.993788783443617 | erot = 2.50247063136407 | epot = -12.6296085440767 | etot = -9.13334912926897 +266000 ekin = 0.966800247929904 | erot = 2.51790683905028 | epot = -12.6180562162301 | etot = -9.1333491292499 +267000 ekin = 0.940784249459205 | erot = 2.53283827184828 | epot = -12.6069716505894 | etot = -9.13334912928191 +268000 ekin = 0.916272152394379 | erot = 2.54684612152521 | epot = -12.5964674032729 | etot = -9.13334912935328 +269000 ekin = 0.893722172477211 | erot = 2.55907244306967 | epot = -12.5861437450344 | etot = -9.13334912948749 +270000 ekin = 0.873709285128844 | erot = 2.56799722891236 | epot = -12.5750556436016 | etot = -9.13334912956044 +271000 ekin = 0.857156433251437 | erot = 2.57226369508371 | epot = -12.5627692579078 | etot = -9.13334912957266 +272000 ekin = 0.845541083723894 | erot = 2.57096110909472 | epot = -12.5498513223268 | etot = -9.13334912950816 +273000 ekin = 0.840983736969615 | erot = 2.56364270819397 | epot = -12.5379755745176 | etot = -9.13334912935404 +274000 ekin = 0.846103061110367 | erot = 2.5505449718361 | epot = -12.5299971620896 | etot = -9.13334912914317 +275000 ekin = 0.863570741244853 | erot = 2.53260377851069 | epot = -12.5295236486814 | etot = -9.13334912892586 +276000 ekin = 0.895419299415193 | erot = 2.51114645014795 | epot = -12.5399148783707 | etot = -9.13334912880754 +277000 ekin = 0.942302359418757 | erot = 2.48734970425704 | epot = -12.5630011925124 | etot = -9.13334912883659 +278000 ekin = 1.00299069941587 | erot = 2.46199112036433 | epot = -12.59833094881 | etot = -9.13334912902983 +279000 ekin = 1.0743456158926 | erot = 2.43529774590789 | epot = -12.64299249114 | etot = -9.13334912933949 +280000 ekin = 1.15182340984036 | erot = 2.40711596365541 | epot = -12.6922885031804 | etot = -9.1333491296846 +281000 ekin = 1.23030856581827 | erot = 2.37726964751254 | epot = -12.7409273433239 | etot = -9.13334912999313 +282000 ekin = 1.30483974879784 | erot = 2.34551973870787 | epot = -12.7837086176988 | etot = -9.13334913019314 +283000 ekin = 1.37151257999461 | erot = 2.3123145281989 | epot = -12.8171762384382 | etot = -9.13334913024467 +284000 ekin = 1.42789685319406 | erot = 2.27901843146204 | epot = -12.8402644148116 | etot = -9.13334913015548 +285000 ekin = 1.47299679574489 | erot = 2.24762833985815 | epot = -12.8539742655639 | etot = -9.13334912996081 +286000 ekin = 1.50701906587725 | erot = 2.22050056283323 | epot = -12.8608687584215 | etot = -9.13334912971103 +287000 ekin = 1.53099472144792 | erot = 2.19999584806494 | epot = -12.8643396989721 | etot = -9.13334912945926 +288000 ekin = 1.54636449768904 | erot = 2.18811490987488 | epot = -12.8678285368149 | etot = -9.13334912925098 +289000 ekin = 1.55461163491235 | erot = 2.18618804174345 | epot = -12.8741488057735 | etot = -9.1333491291177 +290000 ekin = 1.55699428674705 | erot = 2.19466879450583 | epot = -12.8850122103268 | etot = -9.1333491290739 +291000 ekin = 1.55439775255683 | erot = 2.21306131817971 | epot = -12.9008081998535 | etot = -9.13334912911697 +292000 ekin = 1.54729960240299 | erot = 2.23998314421967 | epot = -12.920631875854 | etot = -9.13334912923138 +293000 ekin = 1.53582108608446 | erot = 2.27333490842355 | epot = -12.9425051239026 | etot = -9.13334912939456 +294000 ekin = 1.51982864506222 | erot = 2.31049721096849 | epot = -12.9636749856262 | etot = -9.13334912959544 +295000 ekin = 1.4990515421338 | erot = 2.34851873983922 | epot = -12.9809194117666 | etot = -9.13334912979358 +296000 ekin = 1.47319364802853 | erot = 2.38443281021056 | epot = -12.990975588222 | etot = -9.13334912998291 +297000 ekin = 1.44203124546029 | erot = 2.4153685458993 | epot = -12.9907489215098 | etot = -9.13334913015026 +298000 ekin = 1.40549976702145 | erot = 2.43867409046083 | epot = -12.9775229877652 | etot = -9.1333491302829 +299000 ekin = 1.36377241662857 | erot = 2.45204871800437 | epot = -12.9491702650002 | etot = -9.13334913036728 +300000 ekin = 1.31732711912207 | erot = 2.45368408092568 | epot = -12.9043603304389 | etot = -9.13334913039114 +301000 ekin = 1.26699022414763 | erot = 2.44240353914598 | epot = -12.84274289364 | etot = -9.13334913034639 +302000 ekin = 1.21394210637195 | erot = 2.41777278592971 | epot = -12.7650640225334 | etot = -9.13334913023172 +303000 ekin = 1.15967414429362 | erot = 2.38015189683675 | epot = -12.6731751711848 | etot = -9.13334913005445 +304000 ekin = 1.10589726251318 | erot = 2.33066939618194 | epot = -12.5699157885246 | etot = -9.13334912982947 +305000 ekin = 1.05441504199278 | erot = 2.27111808933748 | epot = -12.4588822609066 | etot = -9.13334912957634 +306000 ekin = 1.00698421397165 | erot = 2.20379218514104 | epot = -12.3441255284279 | etot = -9.13334912931524 +307000 ekin = 0.965188337627694 | erot = 2.1312976438547 | epot = -12.2298351105458 | etot = -9.13334912906342 +308000 ekin = 0.930345631944623 | erot = 2.05636814615639 | epot = -12.120062906934 | etot = -9.13334912883299 +309000 ekin = 0.903461768093111 | erot = 1.98167791132949 | epot = -12.0184888080552 | etot = -9.13334912863261 +310000 ekin = 0.885228515008148 | erot = 1.90967870211655 | epot = -11.9282563455897 | etot = -9.13334912846497 +311000 ekin = 0.876047647700613 | erot = 1.84263812610127 | epot = -11.8520349021344 | etot = -9.1333491283325 +312000 ekin = 0.876068182199134 | erot = 1.78248869456961 | epot = -11.7919060050075 | etot = -9.13334912823871 +313000 ekin = 0.885223985970026 | erot = 1.73072892882286 | epot = -11.7493020429823 | etot = -9.1333491281894 +314000 ekin = 0.90325834251522 | erot = 1.6883206698841 | epot = -11.7249281405912 | etot = -9.13334912819187 +315000 ekin = 0.929731391718518 | erot = 1.65558558099762 | epot = -11.7186661009695 | etot = -9.13334912825333 +316000 ekin = 0.964013828970734 | erot = 1.63211973509068 | epot = -11.72948269244 | etot = -9.13334912837856 +317000 ekin = 1.0052762921168 | erot = 1.61675326466496 | epot = -11.7553786853484 | etot = -9.13334912856667 +318000 ekin = 1.05248736450138 | erot = 1.60758570940588 | epot = -11.7934222027157 | etot = -9.13334912880845 +319000 ekin = 1.10443332868138 | erot = 1.60212494474532 | epot = -11.8399074025111 | etot = -9.13334912908443 +320000 ekin = 1.15976924920831 | erot = 1.59754526105424 | epot = -11.8906636396273 | etot = -9.13334912936474 +321000 ekin = 1.21710352305675 | erot = 1.59105554518188 | epot = -11.9415081978521 | etot = -9.1333491296135 +322000 ekin = 1.2751075118947 | erot = 1.58033324923108 | epot = -11.9887898909202 | etot = -9.13334912979443 +323000 ekin = 1.33263084645705 | erot = 1.56394390937361 | epot = -12.0299238857106 | etot = -9.13334912987991 +324000 ekin = 1.38879590712203 | erot = 1.54164678485257 | epot = -12.0637918218337 | etot = -9.1333491298591 +325000 ekin = 1.44304623679693 | erot = 1.51450056885279 | epot = -12.0908959353908 | etot = -9.13334912974113 +326000 ekin = 1.49513435445661 | erot = 1.4847307306606 | epot = -12.1132142146703 | etot = -9.13334912955313 +327000 ekin = 1.5450506593832 | erot = 1.4553840086035 | epot = -12.1337837973211 | etot = -9.13334912933442 +328000 ekin = 1.59290981434222 | erot = 1.42984788209345 | epot = -12.1561068255634 | etot = -9.13334912912769 +329000 ekin = 1.6388186097559 | erot = 1.41133335467792 | epot = -12.1835010934059 | etot = -9.13334912897204 +330000 ekin = 1.68274896183058 | erot = 1.40240729591338 | epot = -12.2185053866415 | etot = -9.1333491288975 +331000 ekin = 1.72443467169528 | erot = 1.40463116342013 | epot = -12.2624149640389 | etot = -9.13334912892348 +332000 ekin = 1.76330533674292 | erot = 1.41833479327437 | epot = -12.3149892590739 | etot = -9.13334912905662 +333000 ekin = 1.79846823309258 | erot = 1.44253834966203 | epot = -12.3743557120439 | etot = -9.13334912928929 +334000 ekin = 1.82874900591076 | erot = 1.47503277033831 | epot = -12.4371309058471 | etot = -9.13334912959799 +335000 ekin = 1.85279616115802 | erot = 1.5126357019748 | epot = -12.4987809930758 | etot = -9.133349129943 +336000 ekin = 1.8692763055876 | erot = 1.55160162438138 | epot = -12.5542270602382 | etot = -9.13334913026923 +337000 ekin = 1.87711735413924 | erot = 1.58820049773308 | epot = -12.5986669823874 | etot = -9.13334913051506 +338000 ekin = 1.87574840923161 | erot = 1.61938868722915 | epot = -12.6284862270849 | etot = -9.13334913062411 +339000 ekin = 1.8653486636272 | erot = 1.64338736517843 | epot = -12.6420851593666 | etot = -9.13334913056097 +340000 ekin = 1.84695798886999 | erot = 1.66009075059765 | epot = -12.6403978697903 | etot = -9.13334913032267 +341000 ekin = 1.8224396907666 | erot = 1.67114820362601 | epot = -12.6269370243337 | etot = -9.13334912994108 +342000 ekin = 1.79428655955893 | erot = 1.67969211618916 | epot = -12.6073278052237 | etot = -9.13334912947557 +343000 ekin = 1.76531632972558 | erot = 1.68978090506883 | epot = -12.5884463637907 | etot = -9.13334912899625 +344000 ekin = 1.73833039739302 | erot = 1.70570000747012 | epot = -12.577379533433 | etot = -9.1333491285699 +345000 ekin = 1.71580589060289 | erot = 1.73127559556322 | epot = -12.5804306144148 | etot = -9.13334912824874 +346000 ekin = 1.6996635309761 | erot = 1.76931234934734 | epot = -12.6023250083906 | etot = -9.13334912806714 +347000 ekin = 1.69112042623298 | erot = 1.82120184302248 | epot = -12.6456713972995 | etot = -9.13334912804407 +348000 ekin = 1.69061396982769 | erot = 1.88669704033581 | epot = -12.71066013835 | etot = -9.13334912818651 +349000 ekin = 1.6977768178821 | erot = 1.96382926866158 | epot = -12.7949552150345 | etot = -9.13334912849085 +350000 ekin = 1.71145115010259 | erot = 2.04895591402506 | epot = -12.8937561930702 | etot = -9.13334912894252 +351000 ekin = 1.72974629646179 | erot = 2.13695636910459 | epot = -13.0000517950764 | etot = -9.13334912951007 +352000 ekin = 1.75015893903938 | erot = 2.22162008456559 | epot = -13.105128153745 | etot = -9.13334913014002 +353000 ekin = 1.76978034905558 | erot = 2.2962702964592 | epot = -13.1993997762713 | etot = -9.13334913075652 +354000 ekin = 1.78560210911966 | erot = 2.35462017023351 | epot = -13.27357141062 | etot = -9.13334913126686 +355000 ekin = 1.79489785472858 | erot = 2.39176336004096 | epot = -13.3200103463511 | etot = -9.13334913158154 +356000 ekin = 1.79561393246616 | erot = 2.40509186859444 | epot = -13.3340549326997 | etot = -9.13334913163909 +357000 ekin = 1.78667091072668 | erot = 2.39487614134844 | epot = -13.3148961835033 | etot = -9.13334913142816 +358000 ekin = 1.76810167230557 | erot = 2.36429897994081 | epot = -13.2657497831712 | etot = -9.13334913092478 +359000 ekin = 1.7417056904474 | erot = 2.31907684809561 | epot = -13.1941316689282 | etot = -9.13334913038514 +360000 ekin = 1.70943632676234 | erot = 2.26611368397217 | epot = -13.1088991405414 | etot = -9.13334912980693 +361000 ekin = 1.67315005965486 | erot = 2.21234166615777 | epot = -13.0188408550991 | etot = -9.13334912928651 +362000 ekin = 1.63480994001601 | erot = 2.16376887379877 | epot = -12.9319279427067 | etot = -9.13334912889189 +363000 ekin = 1.59622606057561 | erot = 2.12469986683801 | epot = -12.8542750560709 | etot = -9.13334912865731 +364000 ekin = 1.55890205833797 | erot = 2.09734631559815 | epot = -12.7895975025219 | etot = -9.13334912858577 +365000 ekin = 1.52397421076781 | erot = 2.08181308416714 | epot = -12.7391364235917 | etot = -9.13334912865673 +366000 ekin = 1.49221260734017 | erot = 2.07639009796196 | epot = -12.7019518341355 | etot = -9.13334912883336 +367000 ekin = 1.46405952364962 | erot = 2.07805510122151 | epot = -12.6754637539438 | etot = -9.13334912907266 +368000 ekin = 1.43967726932399 | erot = 2.08307216057582 | epot = -12.6560985592337 | etot = -9.13334912933388 +369000 ekin = 1.41899010811501 | erot = 2.08756917147262 | epot = -12.639908409173 | etot = -9.13334912958535 +370000 ekin = 1.4017155735679 | erot = 2.08800173652872 | epot = -12.6230664399024 | etot = -9.13334912980582 +371000 ekin = 1.38739280854902 | erot = 2.08146226240632 | epot = -12.6022042009375 | etot = -9.1333491299822 +372000 ekin = 1.37542340308629 | erot = 2.06585193702345 | epot = -12.5746244702142 | etot = -9.1333491301045 +373000 ekin = 1.36513752357954 | erot = 2.03996886737167 | epot = -12.5384555211136 | etot = -9.13334913016239 +374000 ekin = 1.35583949105216 | erot = 2.0035197577249 | epot = -12.4927083789469 | etot = -9.13334913016985 +375000 ekin = 1.34694157711492 | erot = 1.95716038268595 | epot = -12.4374510898692 | etot = -9.13334913006829 +376000 ekin = 1.33814968105299 | erot = 1.90258032253382 | epot = -12.3740791334842 | etot = -9.13334912989743 +377000 ekin = 1.3293626112084 | erot = 1.84227265725276 | epot = -12.3049843981381 | etot = -9.13334912967697 +378000 ekin = 1.32063159991378 | erot = 1.77926043319083 | epot = -12.2332411625438 | etot = -9.13334912943922 +379000 ekin = 1.31208340368883 | erot = 1.71672941783678 | epot = -12.1621619507418 | etot = -9.13334912921615 +380000 ekin = 1.30384179784231 | erot = 1.65764204155824 | epot = -12.0948329684342 | etot = -9.13334912903366 +381000 ekin = 1.29657917475847 | erot = 1.60487100826719 | epot = -12.0347993118457 | etot = -9.13334912882004 +382000 ekin = 1.29092190134704 | erot = 1.5606106770711 | epot = -11.9848817072436 | etot = -9.13334912882546 +383000 ekin = 1.28620909068432 | erot = 1.52536833770028 | epot = -11.9449265572235 | etot = -9.13334912883891 +384000 ekin = 1.28205683099636 | erot = 1.49922806168843 | epot = -11.9146340215165 | etot = -9.1333491288317 +385000 ekin = 1.27850478017873 | erot = 1.48216189144837 | epot = -11.8940158004146 | etot = -9.1333491287875 +386000 ekin = 1.27603762173997 | erot = 1.47423730493026 | epot = -11.8836240553805 | etot = -9.13334912871028 +387000 ekin = 1.27548287271909 | erot = 1.47565716104746 | epot = -11.8844891623904 | etot = -9.13334912862385 +388000 ekin = 1.27780044585781 | erot = 1.48660964097428 | epot = -11.8977592153986 | etot = -9.13334912856648 +389000 ekin = 1.28381262703568 | erot = 1.50697425852404 | epot = -11.9241360141384 | etot = -9.13334912857867 +390000 ekin = 1.29393930260845 | erot = 1.53598035068237 | epot = -11.9632687819857 | etot = -9.13334912869492 +391000 ekin = 1.30800074456098 | erot = 1.5719098492443 | epot = -12.0132597227343 | etot = -9.13334912892906 +392000 ekin = 1.32513099179446 | erot = 1.61197584867681 | epot = -12.0704559697433 | etot = -9.13334912927198 +393000 ekin = 1.34382543000145 | erot = 1.6524144888335 | epot = -12.1295890485248 | etot = -9.13334912968983 +394000 ekin = 1.36212102398639 | erot = 1.68881012624701 | epot = -12.1842802803622 | etot = -9.13334913012882 +395000 ekin = 1.37788072140316 | erot = 1.71661593053998 | epot = -12.2278457824672 | etot = -9.13334913052405 +396000 ekin = 1.38913154512402 | erot = 1.731811126183 | epot = -12.2542918021043 | etot = -9.13334913079732 +397000 ekin = 1.39439357479737 | erot = 1.73153617599033 | epot = -12.2592788817201 | etot = -9.13334913093241 +398000 ekin = 1.39293904659182 | erot = 1.71441550438733 | epot = -12.240703681855 | etot = -9.13334913087585 +399000 ekin = 1.3849317477743 | erot = 1.68094766350868 | epot = -12.1992285419448 | etot = -9.13334913066178 +400000 ekin = 1.37142116074087 | erot = 1.6333076419787 | epot = -12.138077933025 | etot = -9.13334913030545 +401000 ekin = 1.35412991252433 | erot = 1.57501044311684 | epot = -12.0624894855334 | etot = -9.13334912989227 +402000 ekin = 1.33517991856889 | erot = 1.51048364980015 | epot = -11.9790126977735 | etot = -9.13334912940443 +403000 ekin = 1.31709653187258 | erot = 1.44458891478878 | epot = -11.8950345755997 | etot = -9.13334912893839 +404000 ekin = 1.30234590493863 | erot = 1.38198365576701 | epot = -11.8176786892407 | etot = -9.13334912853503 +405000 ekin = 1.29301391716261 | erot = 1.32673455588803 | epot = -11.7530976012884 | etot = -9.13334912823777 +406000 ekin = 1.2906546746278 | erot = 1.28204116436322 | epot = -11.7060449670165 | etot = -9.13334912802551 +407000 ekin = 1.29643237294787 | erot = 1.25006436588367 | epot = -11.6798458667504 | etot = -9.13334912791888 +408000 ekin = 1.31094700615241 | erot = 1.23190986721484 | epot = -11.6762060012831 | etot = -9.13334912791581 +409000 ekin = 1.33422438303354 | erot = 1.22763489752227 | epot = -11.6952084085704 | etot = -9.13334912801461 +410000 ekin = 1.36572014154941 | erot = 1.23628017302481 | epot = -11.7353494427861 | etot = -9.1333491282119 +411000 ekin = 1.40432668760742 | erot = 1.25592548503564 | epot = -11.793601301144 | etot = -9.13334912850095 +412000 ekin = 1.44839088645837 | erot = 1.28379672627856 | epot = -11.8655367416044 | etot = -9.13334912886744 +413000 ekin = 1.4957679524182 | erot = 1.31646032748941 | epot = -11.9455774091906 | etot = -9.13334912928304 +414000 ekin = 1.54394920889428 | erot = 1.35014055217881 | epot = -12.0274388907764 | etot = -9.13334912970329 +415000 ekin = 1.59029421705125 | erot = 1.38116660571204 | epot = -12.1048099528333 | etot = -9.13334913007006 +416000 ekin = 1.63235973909076 | erot = 1.40649922749326 | epot = -12.1722080969088 | etot = -9.13334913032477 +417000 ekin = 1.66825800489191 | erot = 1.42422016761206 | epot = -12.2258273029356 | etot = -9.13334913043163 +418000 ekin = 1.69693219837215 | erot = 1.43381449957517 | epot = -12.2640958283214 | etot = -9.13334913037409 +419000 ekin = 1.71824951894772 | erot = 1.43620625779659 | epot = -12.287804906928 | etot = -9.13334913018368 +420000 ekin = 1.73288337430554 | erot = 1.43350825350812 | epot = -12.2997407577243 | etot = -9.13334912991064 +421000 ekin = 1.74204129532368 | erot = 1.42856028674974 | epot = -12.3039507116831 | etot = -9.1333491296097 +422000 ekin = 1.74713701807706 | erot = 1.42445618730841 | epot = -12.3049423347125 | etot = -9.13334912932706 +423000 ekin = 1.74949063384707 | erot = 1.42413436044398 | epot = -12.3069741233949 | etot = -9.13334912910383 +424000 ekin = 1.75009754643003 | erot = 1.4300564192515 | epot = -12.3135030946278 | etot = -9.1333491289463 +425000 ekin = 1.74947257256719 | erot = 1.44412400802322 | epot = -12.3269457094739 | etot = -9.13334912888348 +426000 ekin = 1.69664946387423 | erot = 1.40011304962606 | epot = -12.2301116345993 | etot = -9.13334912109897 +427000 ekin = 1.76448154345998 | erot = 1.46695774970195 | epot = -12.3647884699807 | etot = -9.1333491768188 +428000 ekin = 1.7786404038274 | erot = 1.51204937412237 | epot = -12.4240389057573 | etot = -9.13334912780751 +429000 ekin = 1.7774425409066 | erot = 1.55645173379887 | epot = -12.4672434028096 | etot = -9.13334912810414 +430000 ekin = 1.76864481713924 | erot = 1.60567169371185 | epot = -12.5076656392886 | etot = -9.13334912843749 +431000 ekin = 1.7504144399306 | erot = 1.65655638514155 | epot = -12.5403199538335 | etot = -9.13334912876136 +432000 ekin = 1.72143753020936 | erot = 1.70559294341342 | epot = -12.5603796026441 | etot = -9.13334912902131 +433000 ekin = 1.68129756274209 | erot = 1.74934007551142 | epot = -12.5639867674184 | etot = -9.13334912916485 +434000 ekin = 1.6307765097996 | erot = 1.78490039303309 | epot = -12.5490260319873 | etot = -9.13334912915464 +435000 ekin = 1.5719888208448 | erot = 1.81033246556215 | epot = -12.5156704153874 | etot = -9.13334912898044 +436000 ekin = 1.50828072851463 | erot = 1.82489908961126 | epot = -12.4665289467908 | etot = -9.13334912866491 +437000 ekin = 1.44388315301219 | erot = 1.82908776308031 | epot = -12.4063200443508 | etot = -9.13334912825832 +438000 ekin = 1.38337900429708 | erot = 1.82441107452572 | epot = -12.3411392066477 | etot = -9.13334912782489 +439000 ekin = 1.33110407576217 | erot = 1.81306694504129 | epot = -12.277520148228 | etot = -9.13334912742457 +440000 ekin = 1.29061754888996 | erot = 1.79757475508412 | epot = -12.2215414310741 | etot = -9.13334912710001 +441000 ekin = 1.26434687832154 | erot = 1.78048600607446 | epot = -12.178182011266 | etot = -9.13334912687002 +442000 ekin = 1.25344985037922 | erot = 1.76421040799477 | epot = -12.1510093851077 | etot = -9.13334912673374 +443000 ekin = 1.25787308938405 | erot = 1.75093400476739 | epot = -12.1421562208303 | etot = -9.13334912667884 +444000 ekin = 1.27654491138795 | erot = 1.7425672785205 | epot = -12.1524613166016 | etot = -9.13334912669317 +445000 ekin = 1.30762960642471 | erot = 1.74066161517058 | epot = -12.1816403483643 | etot = -9.13334912676902 +446000 ekin = 1.34878485335224 | erot = 1.74626611357115 | epot = -12.2284000938275 | etot = -9.13334912690411 +447000 ekin = 1.39739993763739 | erot = 1.75974793458101 | epot = -12.2904969993182 | etot = -9.13334912709981 +448000 ekin = 1.4507664919091 | erot = 1.78060717934162 | epot = -12.3647227986027 | etot = -9.13334912735198 +449000 ekin = 1.50623999605369 | erot = 1.80738848344727 | epot = -12.4469776071503 | etot = -9.13334912764936 +450000 ekin = 1.56138908054611 | erot = 1.83773497344371 | epot = -12.5324731819606 | etot = -9.13334912797076 +451000 ekin = 1.61412412964536 | erot = 1.86859865234449 | epot = -12.6160719102764 | etot = -9.13334912828658 +452000 ekin = 1.66280931630125 | erot = 1.89658548036403 | epot = -12.692743925228 | etot = -9.13334912856274 +453000 ekin = 1.70634971637102 | erot = 1.91837476586826 | epot = -12.7580736110106 | etot = -9.1333491287713 +454000 ekin = 1.74423056750382 | erot = 1.93111374790662 | epot = -12.8086934443055 | etot = -9.13334912889508 +455000 ekin = 1.77648988409904 | erot = 1.93270291378203 | epot = -12.8425419268135 | etot = -9.13334912893246 +456000 ekin = 1.80361911556763 | erot = 1.92192628287829 | epot = -12.858894527342 | etot = -9.13334912889608 +457000 ekin = 1.82640016706247 | erot = 1.89842961389972 | epot = -12.8581789097703 | etot = -9.13334912880812 +458000 ekin = 1.84570455025974 | erot = 1.86259298695773 | epot = -12.8416466659124 | etot = -9.13334912869491 +459000 ekin = 1.86229070170989 | erot = 1.81535342315173 | epot = -12.8109932534393 | etot = -9.13334912857765 +460000 ekin = 1.87663848085908 | erot = 1.75803306182813 | epot = -12.7680206711607 | etot = -9.1333491284735 +461000 ekin = 1.88883864523231 | erot = 1.69219746384324 | epot = -12.7143852374646 | etot = -9.13334912838905 +462000 ekin = 1.89856203652343 | erot = 1.61956678027461 | epot = -12.6514779451225 | etot = -9.1333491283245 +463000 ekin = 1.90510221764518 | erot = 1.54196437877865 | epot = -12.5804157247 | etot = -9.13334912827615 +464000 ekin = 1.90747686786698 | erot = 1.46127993198498 | epot = -12.5021059280868 | etot = -9.1333491282348 +465000 ekin = 1.90457977356204 | erot = 1.37946070091751 | epot = -12.4173896026653 | etot = -9.13334912818579 +466000 ekin = 1.89536572152371 | erot = 1.29851485172167 | epot = -12.3272297013669 | etot = -9.13334912812149 +467000 ekin = 1.87901831710021 | erot = 1.22048659414392 | epot = -12.23285403928 | etot = -9.13334912803591 +468000 ekin = 1.85509917792101 | erot = 1.1473912628405 | epot = -12.1358395686897 | etot = -9.13334912792815 +469000 ekin = 1.82366605107361 | erot = 1.08110787535082 | epot = -12.0381230542268 | etot = -9.13334912780238 +470000 ekin = 1.7853521607565 | erot = 1.02324127043668 | epot = -11.9419425588574 | etot = -9.13334912766426 +471000 ekin = 1.74141051513418 | erot = 0.974982090043544 | epot = -11.8497417326969 | etot = -9.13334912751917 +472000 ekin = 1.69372019705967 | erot = 0.937000644454867 | epot = -11.7640699688862 | etot = -9.13334912737167 +473000 ekin = 1.64473632771003 | erot = 0.909402534931779 | epot = -11.687487989869 | etot = -9.1333491272272 +474000 ekin = 1.59734995177387 | erot = 0.891755018431486 | epot = -11.6224540973009 | etot = -9.13334912709558 +475000 ekin = 1.55462885495273 | erot = 0.883174765260199 | epot = -11.5711527472045 | etot = -9.13334912699156 +476000 ekin = 1.51944866261178 | erot = 0.882459888569591 | epot = -11.5352576781131 | etot = -9.13334912693173 +477000 ekin = 1.49408243529042 | erot = 0.888250161716877 | epot = -11.5156817239351 | etot = -9.13334912692782 +478000 ekin = 1.47985622585632 | erot = 0.899197335532762 | epot = -11.5124026883711 | etot = -9.13334912698202 +479000 ekin = 1.47695373952845 | erot = 0.914115348457381 | epot = -11.5244182150797 | etot = -9.13334912709389 +480000 ekin = 1.48439477575444 | erot = 0.93207251662073 | epot = -11.5498164196176 | etot = -9.13334912724239 +481000 ekin = 1.50022741217502 | erot = 0.952423999183962 | epot = -11.5860005387814 | etot = -9.13334912742239 +482000 ekin = 1.52172985963414 | erot = 0.9747542118462 | epot = -11.6298331991069 | etot = -9.13334912762657 +483000 ekin = 1.54567018241497 | erot = 0.998770450814422 | epot = -11.6777897610753 | etot = -9.13334912784592 +484000 ekin = 1.56858614723089 | erot = 1.02419763510822 | epot = -11.7261329104079 | etot = -9.13334912806883 +485000 ekin = 1.58707346955084 | erot = 1.05070585623108 | epot = -11.7711284540615 | etot = -9.13334912827962 +486000 ekin = 1.59807103603109 | erot = 1.07788995424654 | epot = -11.8093101187376 | etot = -9.13334912845999 +487000 ekin = 1.59911980804461 | erot = 1.10529931942145 | epot = -11.837768256059 | etot = -9.13334912859298 +488000 ekin = 1.58856342116693 | erot = 1.13249736396193 | epot = -11.854409913796 | etot = -9.13334912866709 +489000 ekin = 1.5656614290475 | erot = 1.15911683125774 | epot = -11.858127388984 | etot = -9.13334912867874 +490000 ekin = 1.53060268554712 | erot = 1.1848850242731 | epot = -11.8488368384537 | etot = -9.13334912863345 +491000 ekin = 1.48443427069534 | erot = 1.20959914015965 | epot = -11.8273825393275 | etot = -9.13334912847252 +492000 ekin = 1.42930345354516 | erot = 1.2329182959332 | epot = -11.7955708778624 | etot = -9.13334912838407 +493000 ekin = 1.36749564145212 | erot = 1.25438544605068 | epot = -11.7552302157785 | etot = -9.13334912827565 +494000 ekin = 1.3013726298813 | erot = 1.27348228002522 | epot = -11.7082040380617 | etot = -9.13334912815521 +495000 ekin = 1.23360970817059 | erot = 1.28954660636125 | epot = -11.6565054425593 | etot = -9.1333491280275 +496000 ekin = 1.16375548641053 | erot = 1.30023195608647 | epot = -11.5973366205417 | etot = -9.1333491780447 +497000 ekin = 1.02574644939826 | erot = 1.24927230426371 | epot = -11.4083678755036 | etot = -9.13334912184166 +498000 ekin = 1.13339044616106 | erot = 1.24939677704367 | epot = -11.516136389112 | etot = -9.13334916590723 +499000 ekin = 1.1643476239324 | erot = 1.25864673154955 | epot = -11.5563434800377 | etot = -9.13334912455579 +500000 ekin = 1.16768486506763 | erot = 1.25769344443904 | epot = -11.5587274345812 | etot = -9.13334912507452 +501000 ekin = 1.17559895497533 | erot = 1.25038915442595 | epot = -11.5593372343039 | etot = -9.13334912490261 +502000 ekin = 1.18926606273922 | erot = 1.23784323633033 | epot = -11.5604584237502 | etot = -9.13334912468066 +503000 ekin = 1.20982408114937 | erot = 1.22204157664317 | epot = -11.565214782232 | etot = -9.13334912443942 +504000 ekin = 1.23811782737044 | erot = 1.2057286537842 | epot = -11.5771956053585 | etot = -9.13334912420385 +505000 ekin = 1.2746096622879 | erot = 1.19199209322121 | epot = -11.5999508795099 | etot = -9.13334912400081 +506000 ekin = 1.31928047819602 | erot = 1.18393687677856 | epot = -11.6365664788293 | etot = -9.13334912385472 +507000 ekin = 1.3715770090051 | erot = 1.1843511838655 | epot = -11.6892773166535 | etot = -9.13334912378287 +508000 ekin = 1.43042502721544 | erot = 1.19541187481536 | epot = -11.7591860258238 | etot = -9.13334912379299 +509000 ekin = 1.49431413372851 | erot = 1.21846596295601 | epot = -11.8461292205675 | etot = -9.13334912388301 +510000 ekin = 1.56143815899976 | erot = 1.25390781315331 | epot = -11.9486950961964 | etot = -9.13334912404328 +511000 ekin = 1.62985405359518 | erot = 1.30115550673923 | epot = -12.0643586845951 | etot = -9.13334912426069 +512000 ekin = 1.69760948238416 | erot = 1.35871536004227 | epot = -12.18967396695 | etot = -9.13334912452357 +513000 ekin = 1.76279412854755 | erot = 1.42431355746689 | epot = -12.3204568108389 | etot = -9.13334912482451 +514000 ekin = 1.82349978434179 | erot = 1.49507387317699 | epot = -12.4519227826769 | etot = -9.13334912515816 +515000 ekin = 1.87772649131692 | erot = 1.56773414236046 | epot = -12.5788097591909 | etot = -9.13334912551357 +516000 ekin = 1.92332299298487 | erot = 1.63891274675816 | epot = -12.6955848656085 | etot = -9.13334912586549 +517000 ekin = 1.9580568110205 | erot = 1.70543998933956 | epot = -12.796845926533 | etot = -9.13334912617288 +518000 ekin = 1.97984991947 | erot = 1.76473849815176 | epot = -12.8779375440093 | etot = -9.13334912638759 +519000 ekin = 1.98711819296686 | erot = 1.81518192784827 | epot = -12.9356492472857 | etot = -9.1333491264706 +520000 ekin = 1.979089110772 | erot = 1.85632478175013 | epot = -12.9687630189341 | etot = -9.13334912641202 +521000 ekin = 1.95594858056397 | erot = 1.88892760796643 | epot = -12.9782253147566 | etot = -9.13334912622617 +522000 ekin = 1.91881161738192 | erot = 1.91475582237447 | epot = -12.9669165657073 | etot = -9.13334912595088 +523000 ekin = 1.8695404534331 | erot = 1.93620351350285 | epot = -12.9390930925716 | etot = -9.1333491256356 +524000 ekin = 1.81047332181729 | erot = 1.95582271022136 | epot = -12.8996451573702 | etot = -9.13334912533158 +525000 ekin = 1.74413482435741 | erot = 1.97582576721596 | epot = -12.8533097166598 | etot = -9.13334912508643 +526000 ekin = 1.67297434024971 | erot = 1.99761678040444 | epot = -12.8039402455921 | etot = -9.13334912493798 +527000 ekin = 1.59916865616246 | erot = 2.02141684187606 | epot = -12.753934622945 | etot = -9.1333491249065 +528000 ekin = 1.52452149634699 | erot = 2.04605877912568 | epot = -12.7039294004611 | etot = -9.13334912498842 +529000 ekin = 1.45048141638071 | erot = 2.06903286947777 | epot = -12.6528634110106 | etot = -9.13334912515212 +530000 ekin = 1.37827485203383 | erot = 2.08683821123052 | epot = -12.5984621886053 | etot = -9.133349125341 +531000 ekin = 1.30911544825177 | erot = 2.09562136598152 | epot = -12.5380859397197 | etot = -9.13334912548638 +532000 ekin = 1.24441932206891 | erot = 2.09198653946257 | epot = -12.4697549870577 | etot = -9.13334912552618 +533000 ekin = 1.18594679653149 | erot = 2.07377924595455 | epot = -12.3930751679099 | etot = -9.13334912542387 +534000 ekin = 1.13581312461362 | erot = 2.0406294196016 | epot = -12.3097916693935 | etot = -9.13334912517829 +535000 ekin = 1.09635528031391 | erot = 1.99411201499553 | epot = -12.2238164201321 | etot = -9.13334912482269 +536000 ekin = 1.06988655695557 | erot = 1.93750945181437 | epot = -12.1407451331833 | etot = -9.1333491244134 +537000 ekin = 1.05839509271197 | erot = 1.87547351818625 | epot = -12.0672177348914 | etot = -9.13334912399314 +538000 ekin = 1.06323891385436 | erot = 1.81331424698503 | epot = -12.0099022845181 | etot = -9.13334912367869 +539000 ekin = 1.08487929969881 | erot = 1.7556239231471 | epot = -11.9738523463394 | etot = -9.13334912349346 +540000 ekin = 1.12268189022869 | erot = 1.70611667318478 | epot = -11.9621476868877 | etot = -9.13334912347426 +541000 ekin = 1.17481105395755 | erot = 1.6671748123082 | epot = -11.9753349899041 | etot = -9.13334912363839 +542000 ekin = 1.23824417790831 | erot = 1.63956314455178 | epot = -12.0111564464395 | etot = -9.13334912397937 +543000 ekin = 1.30892832431953 | erot = 1.62236761446633 | epot = -12.0646450632485 | etot = -9.13334912446267 +544000 ekin = 1.38208514507435 | erot = 1.61318872881536 | epot = -12.1286229989201 | etot = -9.13334912503035 +545000 ekin = 1.45263801176001 | erot = 1.60857948401617 | epot = -12.1945666213826 | etot = -9.13334912560646 +546000 ekin = 1.51570974605509 | erot = 1.6046737747277 | epot = -12.2537326468934 | etot = -9.13334912611061 +547000 ekin = 1.56711452712088 | erot = 1.59788800381636 | epot = -12.2983516574118 | etot = -9.13334912647456 +548000 ekin = 1.60376221827898 | erot = 1.58554162816685 | epot = -12.3226529731016 | etot = -9.13334912665578 +549000 ekin = 1.6239104162611 | erot = 1.566256264213 | epot = -12.3235158071199 | etot = -9.13334912664576 +550000 ekin = 1.62723358008893 | erot = 1.54012357328677 | epot = -12.3007062798211 | etot = -9.13334912644538 +551000 ekin = 1.61471889891605 | erot = 1.50851459570777 | epot = -12.2565826207683 | etot = -9.13334912614448 +552000 ekin = 1.58843016682361 | erot = 1.47348936384284 | epot = -12.1952686564364 | etot = -9.13334912576998 +553000 ekin = 1.55120098109954 | erot = 1.43753302719075 | epot = -12.1220831336597 | etot = -9.13334912536936 +554000 ekin = 1.50631636213207 | erot = 1.40318755323182 | epot = -12.042853040342 | etot = -9.13334912497809 +555000 ekin = 1.45722878986545 | erot = 1.37279698199939 | epot = -11.9633748964846 | etot = -9.13334912461971 +556000 ekin = 1.40732293285206 | erot = 1.3483759063901 | epot = -11.8890479635485 | etot = -9.13334912430635 +557000 ekin = 1.35973750772892 | erot = 1.33157707038875 | epot = -11.8246637021606 | etot = -9.13334912404289 +558000 ekin = 1.31723590732968 | erot = 1.32371628032645 | epot = -11.7743013114878 | etot = -9.1333491238317 +559000 ekin = 1.28211028309144 | erot = 1.32580526483645 | epot = -11.7412646716043 | etot = -9.13334912367643 +560000 ekin = 1.2561059040487 | erot = 1.33855626265777 | epot = -11.7280112902897 | etot = -9.13334912358324 +561000 ekin = 1.24035844263301 | erot = 1.36234138770193 | epot = -11.7360489538955 | etot = -9.13334912356059 +562000 ekin = 1.23534624012637 | erot = 1.39711468447301 | epot = -11.7658100482156 | etot = -9.13334912361619 +563000 ekin = 1.24087113988421 | erot = 1.4423315029815 | epot = -11.8165517666166 | etot = -9.13334912375085 +564000 ekin = 1.25609129143038 | erot = 1.49691875867427 | epot = -11.8863591740582 | etot = -9.13334912395359 +565000 ekin = 1.27963015842595 | erot = 1.55937933470899 | epot = -11.9723586173234 | etot = -9.13334912418842 +566000 ekin = 1.30976945418457 | erot = 1.6279566472584 | epot = -12.0710752258912 | etot = -9.13334912444824 +567000 ekin = 1.34469873511337 | erot = 1.70073738336711 | epot = -12.1787852431714 | etot = -9.13334912469093 +568000 ekin = 1.38275779930792 | erot = 1.77591787229856 | epot = -12.2920247965114 | etot = -9.13334912490494 +569000 ekin = 1.42260294142322 | erot = 1.8518312790153 | epot = -12.4077833455332 | etot = -9.13334912509465 +570000 ekin = 1.4631143309606 | erot = 1.92670412004171 | epot = -12.5231675763701 | etot = -9.13334912536776 +571000 ekin = 1.50327753328919 | erot = 1.99853100879909 | epot = -12.6351576677695 | etot = -9.13334912568126 +572000 ekin = 1.54192966726675 | erot = 2.06497613729181 | epot = -12.7402549304336 | etot = -9.133349125875 +573000 ekin = 1.57823855406974 | erot = 2.12427016695888 | epot = -12.8358578469861 | etot = -9.13334912595745 +574000 ekin = 1.61207502224264 | erot = 2.17570201380341 | epot = -12.9211261619163 | etot = -9.1333491258703 +575000 ekin = 1.64402582173703 | erot = 2.22028441013991 | epot = -12.9976593575026 | etot = -9.13334912562569 +576000 ekin = 1.67538587678288 | erot = 2.26042238856323 | epot = -13.0691573906371 | etot = -9.13334912529099 +577000 ekin = 1.7078920937888 | erot = 2.29915883242413 | epot = -13.1404000511807 | etot = -9.13334912496776 +578000 ekin = 1.74326819508329 | erot = 2.33909725076283 | epot = -13.2157145705948 | etot = -9.13334912474865 +579000 ekin = 1.78272231838223 | erot = 2.38182643842076 | epot = -13.2978978814978 | etot = -9.13334912469481 +580000 ekin = 1.82652189372901 | erot = 2.42751679139609 | epot = -13.3873878099583 | etot = -9.13334912483316 +581000 ekin = 1.87370675175335 | erot = 2.47480205693756 | epot = -13.4818579338651 | etot = -9.13334912517415 +582000 ekin = 1.92197052578458 | erot = 2.52092715153073 | epot = -13.5762468029754 | etot = -9.13334912566012 +583000 ekin = 1.96774925896891 | erot = 2.56227660801421 | epot = -13.6633749932237 | etot = -9.13334912624054 +584000 ekin = 2.00657374540248 | erot = 2.59498886542586 | epot = -13.7349117376487 | etot = -9.13334912682033 +585000 ekin = 2.03371871575753 | erot = 2.6156627420009 | epot = -13.7827305850408 | etot = -9.13334912728238 +586000 ekin = 2.04507827703364 | erot = 2.62214006251189 | epot = -13.8005674670621 | etot = -9.13334912751658 +587000 ekin = 2.03806243485761 | erot = 2.6141199488879 | epot = -13.7855315112053 | etot = -9.13334912745983 +588000 ekin = 2.0122311518449 | erot = 2.5933503011183 | epot = -13.7389305800887 | etot = -9.13334912712549 +589000 ekin = 1.96942837554717 | erot = 2.56324673362595 | epot = -13.6660242357775 | etot = -9.13334912660437 +590000 ekin = 1.91334419959158 | erot = 2.52801524733165 | epot = -13.5747085729552 | etot = -9.13334912603198 +591000 ekin = 1.84865383330942 | erot = 2.49158313368603 | epot = -13.4735860925311 | etot = -9.13334912553562 +592000 ekin = 1.78006004419971 | erot = 2.45674050608129 | epot = -13.3701496754662 | etot = -9.1333491251852 +593000 ekin = 1.71159279762554 | erot = 2.42478693108865 | epot = -13.269728853693 | etot = -9.13334912497882 +594000 ekin = 1.64634946405776 | erot = 2.39569805900991 | epot = -13.1753966479387 | etot = -9.13334912487102 +595000 ekin = 1.58659479949359 | erot = 2.36854432556902 | epot = -13.0884882498818 | etot = -9.13334912481919 +596000 ekin = 1.53398103551836 | erot = 2.34182175785199 | epot = -13.0091519181808 | etot = -9.13334912481048 +597000 ekin = 1.48969441622996 | erot = 2.31355286210448 | epot = -12.9365964031859 | etot = -9.13334912485146 +598000 ekin = 1.45449014890807 | erot = 2.28129539495794 | epot = -12.8691346688086 | etot = -9.1333491249426 +599000 ekin = 1.42868283606302 | erot = 2.24230571379656 | epot = -12.8043376749205 | etot = -9.13334912506095 +600000 ekin = 1.41215819513097 | erot = 2.19421771509131 | epot = -12.7397250351199 | etot = -9.13334912489764 +601000 ekin = 1.40437980063911 | erot = 2.13675092848281 | epot = -12.6744798541827 | etot = -9.13334912506081 +602000 ekin = 1.40442466853377 | erot = 2.06863595764429 | epot = -12.6064097512965 | etot = -9.13334912511842 +603000 ekin = 1.4111230244965 | erot = 1.98998056957671 | epot = -12.5344527191447 | etot = -9.13334912507154 +604000 ekin = 1.42310135152174 | erot = 1.9027452432298 | epot = -12.4591957196962 | etot = -9.13334912494464 +605000 ekin = 1.43883447822476 | erot = 1.81030632011248 | epot = -12.382489923109 | etot = -9.13334912477176 +606000 ekin = 1.45673760095162 | erot = 1.71684240505004 | epot = -12.3069291305857 | etot = -9.13334912458401 +607000 ekin = 1.47529863713107 | erot = 1.6267229875319 | epot = -12.235370749066 | etot = -9.13334912440305 +608000 ekin = 1.49323166610301 | erot = 1.54399943869226 | epot = -12.1705802290357 | etot = -9.13334912424047 +609000 ekin = 1.50961256615701 | erot = 1.47208306434056 | epot = -12.1150447546074 | etot = -9.13334912410979 +610000 ekin = 1.52396039431294 | erot = 1.41350705715211 | epot = -12.07081657546 | etot = -9.13334912399491 +611000 ekin = 1.53622860047066 | erot = 1.36992443741294 | epot = -12.0395021618076 | etot = -9.13334912392405 +612000 ekin = 1.5466853662619 | erot = 1.34205362873082 | epot = -12.0220881189033 | etot = -9.13334912391059 +613000 ekin = 1.5557130969566 | erot = 1.32960894336052 | epot = -12.0186711642886 | etot = -9.13334912397147 +614000 ekin = 1.56356369221714 | erot = 1.33131277562629 | epot = -12.0282255919643 | etot = -9.13334912412092 +615000 ekin = 1.57013881826686 | erot = 1.3449453976181 | epot = -12.0484333402226 | etot = -9.13334912433764 +616000 ekin = 1.57485681903945 | erot = 1.36757312206294 | epot = -12.0757790657607 | etot = -9.13334912465831 +617000 ekin = 1.57672646781253 | erot = 1.39546251366803 | epot = -12.1055381065034 | etot = -9.13334912502289 +618000 ekin = 1.57456346737848 | erot = 1.42448013453603 | epot = -12.1323927272926 | etot = -9.13334912537807 +619000 ekin = 1.56732946470158 | erot = 1.45059208152816 | epot = -12.1512706718922 | etot = -9.13334912566249 +620000 ekin = 1.55451321753919 | erot = 1.47039334455609 | epot = -12.1582556879152 | etot = -9.13334912581989 +621000 ekin = 1.53644782338414 | erot = 1.48161304590982 | epot = -12.1514099951073 | etot = -9.13334912581332 +622000 ekin = 1.51447783518378 | erot = 1.48347710481945 | epot = -12.1313040656382 | etot = -9.13334912563501 +623000 ekin = 1.49092960733049 | erot = 1.47683215248909 | epot = -12.1011108851285 | etot = -9.13334912530896 +624000 ekin = 1.46886130170039 | erot = 1.4642219859157 | epot = -12.0664324125271 | etot = -9.13334912491099 +625000 ekin = 1.45155188812642 | erot = 1.44918251594291 | epot = -12.0340835285536 | etot = -9.13334912448426 +626000 ekin = 1.44224748157898 | erot = 1.4353339959176 | epot = -12.0109306015698 | etot = -9.13334912407321 +627000 ekin = 1.44381530879958 | erot = 1.42638005354778 | epot = -12.0035444860837 | etot = -9.13334912373637 +628000 ekin = 1.45833081620082 | erot = 1.42560824875229 | epot = -12.0172881884915 | etot = -9.13334912353836 +629000 ekin = 1.4867698553702 | erot = 1.43535417577129 | epot = -12.0554731546303 | etot = -9.13334912348884 +630000 ekin = 1.52866417049099 | erot = 1.45689184513512 | epot = -12.1189051392527 | etot = -9.1333491236266 +631000 ekin = 1.58193413338882 | erot = 1.49015054897646 | epot = -12.2054338063841 | etot = -9.13334912401885 +632000 ekin = 1.64234851055621 | erot = 1.53357750659019 | epot = -12.3092751416898 | etot = -9.13334912454337 +633000 ekin = 1.70466841197014 | erot = 1.58426390210209 | epot = -12.4222814392228 | etot = -9.13334912515061 +634000 ekin = 1.7631835469935 | erot = 1.63860587790712 | epot = -12.5351385506359 | etot = -9.13334912573525 +635000 ekin = 1.8124262503478 | erot = 1.69306627320784 | epot = -12.6388416497418 | etot = -9.13334912618614 +636000 ekin = 1.84805557838125 | erot = 1.74492785470201 | epot = -12.7263325594989 | etot = -9.13334912641569 +637000 ekin = 1.86755595284743 | erot = 1.79286465559366 | epot = -12.7937697348525 | etot = -9.13334912641142 +638000 ekin = 1.87047357468798 | erot = 1.83697965057525 | epot = -12.8408023514712 | etot = -9.13334912620798 +639000 ekin = 1.85817220593296 | erot = 1.87849437006716 | epot = -12.8700157018825 | etot = -9.13334912588239 +640000 ekin = 1.83325502874934 | erot = 1.91930247136692 | epot = -12.8859066256304 | etot = -9.13334912551417 +641000 ekin = 1.79889805051557 | erot = 1.96149522932338 | epot = -12.893742404998 | etot = -9.13334912515906 +642000 ekin = 1.75833330344904 | erot = 2.00701454517244 | epot = -12.8986969734775 | etot = -9.133349124856 +643000 ekin = 1.71452400738663 | erot = 2.05742054585165 | epot = -12.9052936778351 | etot = -9.13334912459681 +644000 ekin = 1.67006045206701 | erot = 2.11379950766718 | epot = -12.9172090841657 | etot = -9.1333491244315 +645000 ekin = 1.62710169193798 | erot = 2.17652829047829 | epot = -12.936979106775 | etot = -9.13334912435878 +646000 ekin = 1.58731920571204 | erot = 2.24499987972367 | epot = -12.9656682098073 | etot = -9.13334912437156 +647000 ekin = 1.5519287985014 | erot = 2.31774723145759 | epot = -13.0030251544529 | etot = -9.13334912449392 +648000 ekin = 1.52155547404613 | erot = 2.39216849405126 | epot = -13.0470730928269 | etot = -9.13334912472954 +649000 ekin = 1.49615701172709 | erot = 2.46459269466492 | epot = -13.0940988314686 | etot = -9.13334912507659 +650000 ekin = 1.474958204083 | erot = 2.53042613107551 | epot = -13.1387334606789 | etot = -9.13334912552037 +651000 ekin = 1.45644758276087 | erot = 2.58442104122293 | epot = -13.1742177500129 | etot = -9.1333491260291 +652000 ekin = 1.43848054670287 | erot = 2.62109720355956 | epot = -13.1929268768105 | etot = -9.13334912654803 +653000 ekin = 1.41853538646939 | erot = 2.63533318879064 | epot = -13.1872177022588 | etot = -9.13334912699876 +654000 ekin = 1.39414099594885 | erot = 2.62311445987543 | epot = -13.1506045831169 | etot = -9.13334912729267 +655000 ekin = 1.36342278664737 | erot = 2.58232798191585 | epot = -13.0790998958952 | etot = -9.13334912733202 +656000 ekin = 1.32754554560149 | erot = 2.51343997306709 | epot = -12.974334644813 | etot = -9.1333491261444 +657000 ekin = 1.0773875979315 | erot = 2.44669612963509 | epot = -12.6574327808011 | etot = -9.13334905323452 +658000 ekin = 1.0065201423019 | erot = 2.49084781647133 | epot = -12.6307170433323 | etot = -9.13334908455911 +659000 ekin = 1.07240085017882 | erot = 2.42929901831716 | epot = -12.6350489837836 | etot = -9.13334911528764 +660000 ekin = 1.09381648980894 | erot = 2.30102308261805 | epot = -12.5281886879237 | etot = -9.13334911549675 +661000 ekin = 1.11701334338068 | erot = 2.16959631554352 | epot = -12.4199587738197 | etot = -9.13334911489549 +662000 ekin = 1.14263894058022 | erot = 2.04231481245904 | epot = -12.3183028674896 | etot = -9.1333491144503 +663000 ekin = 1.17093665277086 | erot = 1.92510458369842 | epot = -12.2293903506468 | etot = -9.13334911417751 +664000 ekin = 1.20146324496785 | erot = 1.82207009510998 | epot = -12.1568824541679 | etot = -9.13334911409009 +665000 ekin = 1.23289032447881 | erot = 1.73564836427755 | epot = -12.1018878027987 | etot = -9.13334911404235 +666000 ekin = 1.26340464455085 | erot = 1.66702592668226 | epot = -12.063779685498 | etot = -9.13334911426491 +667000 ekin = 1.2910257481443 | erot = 1.61488086820513 | epot = -12.0392557309138 | etot = -9.13334911456438 +668000 ekin = 1.31376054134743 | erot = 1.57649712773723 | epot = -12.0236067839922 | etot = -9.13334911490756 +669000 ekin = 1.32989404565269 | erot = 1.54828621181597 | epot = -12.0115293726986 | etot = -9.1333491152299 +670000 ekin = 1.33826340890556 | erot = 1.5264084479746 | epot = -11.9980209723666 | etot = -9.13334911548643 +671000 ekin = 1.33847461323153 | erot = 1.50724764864793 | epot = -11.9790713775219 | etot = -9.1333491156424 +672000 ekin = 1.33101969554493 | erot = 1.48781306139196 | epot = -11.9521818726168 | etot = -9.13334911567988 +673000 ekin = 1.31737035051004 | erot = 1.46610228053022 | epot = -11.9168217466032 | etot = -9.13334911556297 +674000 ekin = 1.29992521798033 | erot = 1.44131241760729 | epot = -11.8745867509649 | etot = -9.13334911537732 +675000 ekin = 1.28129254582364 | erot = 1.41347048294498 | epot = -11.8281121439057 | etot = -9.13334911513707 +676000 ekin = 1.26413925333592 | erot = 1.38336835396545 | epot = -11.7808567221882 | etot = -9.13334911488686 +677000 ekin = 1.25080949629856 | erot = 1.35227525692428 | epot = -11.7364338679149 | etot = -9.1333491146921 +678000 ekin = 1.24240325883756 | erot = 1.32122246363638 | epot = -11.6969748370326 | etot = -9.13334911455865 +679000 ekin = 1.23935164124627 | erot = 1.29124446461099 | epot = -11.663945220357 | etot = -9.1333491144997 +680000 ekin = 1.24151057851555 | erot = 1.26358348831348 | epot = -11.6384431811757 | etot = -9.13334911434665 +681000 ekin = 1.24810791985181 | erot = 1.2399896630051 | epot = -11.6214466973234 | etot = -9.1333491144665 +682000 ekin = 1.2573808847233 | erot = 1.22073219170823 | epot = -11.6114621910621 | etot = -9.13334911463059 +683000 ekin = 1.2671525486385 | erot = 1.20554909695207 | epot = -11.6060507604014 | etot = -9.13334911481088 +684000 ekin = 1.27521936884053 | erot = 1.19392995256927 | epot = -11.6024984363892 | etot = -9.13334911497939 +685000 ekin = 1.27965818657722 | erot = 1.18525667281445 | epot = -11.5982639744963 | etot = -9.13334911510462 +686000 ekin = 1.27906445706303 | erot = 1.17887846191199 | epot = -11.5912920341667 | etot = -9.13334911519169 +687000 ekin = 1.2726826175371 | erot = 1.17407129022534 | epot = -11.5801030230234 | etot = -9.13334911526098 +688000 ekin = 1.26041914406367 | erot = 1.17007604783822 | epot = -11.5638443071308 | etot = -9.13334911522896 +689000 ekin = 1.24287938495264 | erot = 1.16656725574657 | epot = -11.5427957558574 | etot = -9.1333491151582 +690000 ekin = 1.22118240404667 | erot = 1.16336387131456 | epot = -11.5178953904217 | etot = -9.13334911506044 +691000 ekin = 1.1967986722508 | erot = 1.16037339233334 | epot = -11.4905211795314 | etot = -9.1333491149473 +692000 ekin = 1.17139142555375 | erot = 1.15758648593269 | epot = -11.4623270263152 | etot = -9.13334911482871 +693000 ekin = 1.14685376597224 | erot = 1.15519232867544 | epot = -11.4353952091894 | etot = -9.13334911454167 +694000 ekin = 1.12537035278714 | erot = 1.15368599836412 | epot = -11.4124054656051 | etot = -9.13334911445381 +695000 ekin = 1.10824764597523 | erot = 1.15324052660646 | epot = -11.394837286965 | etot = -9.13334911438336 +696000 ekin = 1.09641524899192 | erot = 1.15407441364768 | epot = -11.3838387769754 | etot = -9.13334911433576 +697000 ekin = 1.09040706959839 | erot = 1.15645735234543 | epot = -11.3802135362623 | etot = -9.13334911431848 +698000 ekin = 1.09030542376286 | erot = 1.16063392710773 | epot = -11.3842884652002 | etot = -9.1333491143296 +699000 ekin = 1.09552536142002 | erot = 1.1666963994192 | epot = -11.3955708752025 | etot = -9.13334911436329 +700000 ekin = 1.1052737980322 | erot = 1.17478862116005 | epot = -11.4134115336292 | etot = -9.13334911443695 +701000 ekin = 1.11851271408142 | erot = 1.1849247094831 | epot = -11.4367865380899 | etot = -9.13334911452537 +702000 ekin = 1.13395549372733 | erot = 1.1969466725183 | epot = -11.4642512808767 | etot = -9.13334911463104 +703000 ekin = 1.15018285433259 | erot = 1.21057055971515 | epot = -11.4941025287932 | etot = -9.1333491147455 +704000 ekin = 1.16576673457825 | erot = 1.22535908060284 | epot = -11.5244749300396 | etot = -9.13334911485848 +705000 ekin = 1.17938915503441 | erot = 1.24076765314222 | epot = -11.5535059231357 | etot = -9.13334911495904 +706000 ekin = 1.18994261306284 | erot = 1.25622348494784 | epot = -11.5795152130472 | etot = -9.13334911503652 +707000 ekin = 1.19660107195477 | erot = 1.271227802675 | epot = -11.601177989712 | etot = -9.13334911508227 +708000 ekin = 1.19885615186669 | erot = 1.28546332267847 | epot = -11.617668589636 | etot = -9.13334911509088 +709000 ekin = 1.19651981509465 | erot = 1.29888532038639 | epot = -11.628754250542 | etot = -9.13334911506097 +710000 ekin = 1.1896995749713 | erot = 1.31177606554571 | epot = -11.6348247555125 | etot = -9.13334911499551 +711000 ekin = 1.1787538760285 | erot = 1.32474791483293 | epot = -11.6368509057635 | etot = -9.13334911490209 +712000 ekin = 1.16423391783903 | erot = 1.3386894522939 | epot = -11.6362724849244 | etot = -9.13334911479145 +713000 ekin = 1.14681758773111 | erot = 1.35466305350948 | epot = -11.6348297559194 | etot = -9.13334911467886 +714000 ekin = 1.1272417359068 | erot = 1.37373509014029 | epot = -11.6343259406256 | etot = -9.13334911457847 +715000 ekin = 1.10624050749987 | erot = 1.39681075797674 | epot = -11.6364003799808 | etot = -9.13334911450423 +716000 ekin = 1.08449847088991 | erot = 1.42446438144424 | epot = -11.6423119668015 | etot = -9.13334911446732 +717000 ekin = 1.06262586730289 | erot = 1.45678801962933 | epot = -11.6527630014069 | etot = -9.13334911447464 +718000 ekin = 1.04116056517779 | erot = 1.49328580498838 | epot = -11.6677954846927 | etot = -9.13334911452649 +719000 ekin = 1.02059756446672 | erot = 1.53283565406445 | epot = -11.6867823331474 | etot = -9.13334911461623 +720000 ekin = 1.00144276091342 | erot = 1.57373478107647 | epot = -11.7085266567203 | etot = -9.13334911473045 +721000 ekin = 0.984282698239534 | erot = 1.61383653730909 | epot = -11.7314683503984 | etot = -9.13334911484977 +722000 ekin = 0.969856334573777 | erot = 1.65076935458572 | epot = -11.7539748041154 | etot = -9.1333491149559 +723000 ekin = 0.959109074095258 | erot = 1.6821909054059 | epot = -11.774649094524 | etot = -9.13334911502286 +724000 ekin = 0.953206498551327 | erot = 1.70610525280051 | epot = -11.7926608663905 | etot = -9.13334911503871 +725000 ekin = 0.953487871457424 | erot = 1.72112406445021 | epot = -11.8079610509069 | etot = -9.13334911499926 +726000 ekin = 0.961348420447325 | erot = 1.72664218756103 | epot = -11.8213397229212 | etot = -9.13334911491282 +727000 ekin = 0.978055186997788 | erot = 1.7229032003249 | epot = -11.8343075021199 | etot = -9.13334911479722 +728000 ekin = 1.00452582497494 | erot = 1.71095374106883 | epot = -11.8488286807179 | etot = -9.13334911467413 +729000 ekin = 1.04110137579694 | erot = 1.69252215340574 | epot = -11.8669726437725 | etot = -9.13334911456981 +730000 ekin = 1.08735958690082 | erot = 1.66981008957716 | epot = -11.8905187909853 | etot = -9.13334911450737 +731000 ekin = 1.14200418374795 | erot = 1.64524141705747 | epot = -11.92059471531 | etot = -9.13334911450463 +732000 ekin = 1.20285318013947 | erot = 1.6211909571287 | epot = -11.9573932518406 | etot = -9.13334911457241 +733000 ekin = 1.26692596391162 | erot = 1.5997652890967 | epot = -12.0000403677124 | etot = -9.13334911470405 +734000 ekin = 1.33064406417666 | erot = 1.58254289880322 | epot = -12.0465360778896 | etot = -9.13334911490977 +735000 ekin = 1.39013484388142 | erot = 1.57032898633065 | epot = -12.0938129453729 | etot = -9.13334911516086 +736000 ekin = 1.4415750913924 | erot = 1.56317476788441 | epot = -12.1380989747062 | etot = -9.13334911542938 +737000 ekin = 1.4815784558939 | erot = 1.56044545881345 | epot = -12.1753730303861 | etot = -9.13334911567875 +738000 ekin = 1.50757504377756 | erot = 1.56100911666917 | epot = -12.2019332763167 | etot = -9.13334911586997 +739000 ekin = 1.51813561812094 | erot = 1.56352092529369 | epot = -12.2150056593822 | etot = -9.13334911596754 +740000 ekin = 1.51318914849053 | erot = 1.56675183784939 | epot = -12.213290102287 | etot = -9.13334911594711 +741000 ekin = 1.49408865829905 | erot = 1.56989906103909 | epot = -12.1973368351391 | etot = -9.13334911580091 +742000 ekin = 1.46350061535481 | erot = 1.57280025700558 | epot = -12.1696499879032 | etot = -9.13334911554281 +743000 ekin = 1.42512524133773 | erot = 1.57593310600599 | epot = -12.1344074625124 | etot = -9.13334911516871 +744000 ekin = 1.38338487585256 | erot = 1.58054361278157 | epot = -12.0972776034327 | etot = -9.13334911479862 +745000 ekin = 1.34281951274 | erot = 1.58823582840464 | epot = -12.0644044556012 | etot = -9.13334911445656 +746000 ekin = 1.30747334765452 | erot = 1.60047096980675 | epot = -12.0412934316601 | etot = -9.13334911419886 +747000 ekin = 1.28046646005585 | erot = 1.61821768665649 | epot = -12.0320332608062 | etot = -9.1333491140939 +748000 ekin = 1.26367955923824 | erot = 1.64132893143325 | epot = -12.0383576048425 | etot = -9.13334911417101 +749000 ekin = 1.25742934420247 | erot = 1.66831440024385 | epot = -12.0590928588851 | etot = -9.1333491144388 +750000 ekin = 1.26047795508088 | erot = 1.69628448614714 | epot = -12.0901115560798 | etot = -9.1333491148518 +751000 ekin = 1.27026186447405 | erot = 1.72133386885978 | epot = -12.1249448486747 | etot = -9.13334911534087 +752000 ekin = 1.28339547086619 | erot = 1.73919075505813 | epot = -12.1559353417341 | etot = -9.13334911580981 +753000 ekin = 1.29635957466858 | erot = 1.74596876191937 | epot = -12.1756774528081 | etot = -9.13334911622012 +754000 ekin = 1.305991587411 | erot = 1.73885024063304 | epot = -12.1781909444331 | etot = -9.13334911638902 +755000 ekin = 1.31024888116247 | erot = 1.71683511468109 | epot = -12.1604331121857 | etot = -9.13334911634218 +756000 ekin = 1.30846938321578 | erot = 1.68097972249515 | epot = -12.1227982218035 | etot = -9.13334911609258 +757000 ekin = 1.30124985041401 | erot = 1.63419006476408 | epot = -12.0687890308681 | etot = -9.13334911569 +758000 ekin = 1.29019641090511 | erot = 1.58073563388873 | epot = -12.004281159999 | etot = -9.13334911520514 +759000 ekin = 1.27761222227597 | erot = 1.52554636406335 | epot = -11.9365077010389 | etot = -9.13334911469955 +760000 ekin = 1.26609069506725 | erot = 1.47348693038405 | epot = -11.872926739711 | etot = -9.13334911425972 +761000 ekin = 1.25808964011594 | erot = 1.42869550462338 | epot = -11.8201342586639 | etot = -9.13334911392455 +762000 ekin = 1.25572222200511 | erot = 1.39407442311129 | epot = -11.783145758866 | etot = -9.13334911374965 +763000 ekin = 1.26054534569688 | erot = 1.37090045943945 | epot = -11.7647949188328 | etot = -9.1333491136965 +764000 ekin = 1.27353435439888 | erot = 1.35887199086076 | epot = -11.7657554590522 | etot = -9.13334911379256 +765000 ekin = 1.29496682599825 | erot = 1.35616457697877 | epot = -11.7844805169708 | etot = -9.13334911399382 +766000 ekin = 1.32454629042115 | erot = 1.35977679502513 | epot = -11.8176721997104 | etot = -9.13334911426407 +767000 ekin = 1.36163954271771 | erot = 1.36618632223442 | epot = -11.861174979508 | etot = -9.13334911455588 +768000 ekin = 1.40531019892517 | erot = 1.37181010082903 | epot = -11.9104694145842 | etot = -9.13334911482995 +769000 ekin = 1.4544651286899 | erot = 1.37353498050634 | epot = -11.9613492242376 | etot = -9.1333491150414 +770000 ekin = 1.50793050152265 | erot = 1.36921125649153 | epot = -12.0104908732514 | etot = -9.1333491152372 +771000 ekin = 1.56389616693309 | erot = 1.35775090660432 | epot = -12.0549961887964 | etot = -9.13334911525901 +772000 ekin = 1.62113703504511 | erot = 1.3397032350436 | epot = -12.0941893852785 | etot = -9.13334911518981 +773000 ekin = 1.67872851569553 | erot = 1.31702982988342 | epot = -12.1291074606422 | etot = -9.13334911506325 +774000 ekin = 1.7356925710885 | erot = 1.29264163249809 | epot = -12.1616833185099 | etot = -9.13334911492332 +775000 ekin = 1.79085656133578 | erot = 1.26988000051448 | epot = -12.1940856766627 | etot = -9.13334911481246 +776000 ekin = 1.84276100468205 | erot = 1.25197534037568 | epot = -12.2280854598173 | etot = -9.13334911475961 +777000 ekin = 1.88967118603722 | erot = 1.24159765891101 | epot = -12.2646179597212 | etot = -9.13334911477299 +778000 ekin = 1.92971622260643 | erot = 1.24057583214232 | epot = -12.3036411695905 | etot = -9.1333491148417 +779000 ekin = 1.96113164254841 | erot = 1.24980912493202 | epot = -12.3442898824219 | etot = -9.13334911494147 +780000 ekin = 1.98254203386216 | erot = 1.26932045666817 | epot = -12.385211605575 | etot = -9.13334911504462 +781000 ekin = 1.99321406405672 | erot = 1.29840823518498 | epot = -12.4249714143722 | etot = -9.13334911513049 +782000 ekin = 1.99321095940753 | erot = 1.33580885492049 | epot = -12.4623689295169 | etot = -9.13334911518889 +783000 ekin = 1.98342491293452 | erot = 1.37983642298362 | epot = -12.4966104511367 | etot = -9.13334911521853 +784000 ekin = 1.96551238429987 | erot = 1.42849371621254 | epot = -12.5273552156832 | etot = -9.1333491151708 +785000 ekin = 1.94195910112018 | erot = 1.47961348821827 | epot = -12.5549217045005 | etot = -9.1333491151621 +786000 ekin = 1.91549982326101 | erot = 1.53087711626749 | epot = -12.5797260546654 | etot = -9.13334911513693 +787000 ekin = 1.88902915933146 | erot = 1.57997565975786 | epot = -12.6023539341832 | etot = -9.13334911509392 +788000 ekin = 1.86553746554079 | erot = 1.62478646025308 | epot = -12.6236730408322 | etot = -9.13334911503829 +789000 ekin = 1.84793067284234 | erot = 1.66350572426619 | epot = -12.6447855120735 | etot = -9.13334911496502 +790000 ekin = 1.83884831412187 | erot = 1.69477325871876 | epot = -12.6669706877359 | etot = -9.13334911489531 +791000 ekin = 1.84038435201513 | erot = 1.71768127848726 | epot = -12.6914147453586 | etot = -9.13334911485621 +792000 ekin = 1.85374621231265 | erot = 1.73169683790606 | epot = -12.7187921650974 | etot = -9.13334911487869 +793000 ekin = 1.87892178729741 | erot = 1.73653576924417 | epot = -12.7488066715284 | etot = -9.13334911498679 +794000 ekin = 1.91440510045496 | erot = 1.73204169928189 | epot = -12.7797959149166 | etot = -9.13334911517973 +795000 ekin = 1.95726697872503 | erot = 1.71818976217653 | epot = -12.8088058563231 | etot = -9.13334911542157 +796000 ekin = 2.0036085177973 | erot = 1.6952533545941 | epot = -12.8322109880401 | etot = -9.13334911564871 +797000 ekin = 2.04914358120449 | erot = 1.66405946742086 | epot = -12.8465521644162 | etot = -9.13334911579087 +798000 ekin = 2.08995546227467 | erot = 1.62623745952773 | epot = -12.849542037606 | etot = -9.13334911580362 +799000 ekin = 2.12309292251187 | erot = 1.58427028116486 | epot = -12.8407123193644 | etot = -9.13334911568768 +800000 ekin = 2.14682990847441 | erot = 1.5412613855955 | epot = -12.8214404095528 | etot = -9.13334911548289 +801000 ekin = 2.16058282772631 | erot = 1.50048202047263 | epot = -12.7944139634459 | etot = -9.13334911524694 +802000 ekin = 2.16461511109248 | erot = 1.46486615503018 | epot = -12.7628303811541 | etot = -9.13334911503146 +803000 ekin = 2.15969104316299 | erot = 1.436613354422 | epot = -12.7296535124545 | etot = -9.13334911486954 +804000 ekin = 2.14679128687703 | erot = 1.41698988508254 | epot = -12.6971302867198 | etot = -9.1333491147602 +805000 ekin = 2.12692065943749 | erot = 1.40638520514779 | epot = -12.6666549793107 | etot = -9.1333491147254 +806000 ekin = 2.10099028263278 | erot = 1.40422932574972 | epot = -12.6385687231443 | etot = -9.1333491147618 +807000 ekin = 2.06982763841615 | erot = 1.40909451158558 | epot = -12.612271264841 | etot = -9.13334911483923 +808000 ekin = 2.03419092297578 | erot = 1.41919422166642 | epot = -12.5867342595721 | etot = -9.13334911492987 +809000 ekin = 1.99478586655788 | erot = 1.43238858340864 | epot = -12.5605235650204 | etot = -9.13334911505391 +810000 ekin = 1.95230744546468 | erot = 1.44625258192789 | epot = -12.531909142569 | etot = -9.13334911517639 +811000 ekin = 1.90747094188594 | erot = 1.45847148723389 | epot = -12.4992915444039 | etot = -9.13334911528412 +812000 ekin = 1.86102893102468 | erot = 1.46703963548491 | epot = -12.461417681874 | etot = -9.13334911536441 +813000 ekin = 1.81416432243396 | erot = 1.47049868907499 | epot = -12.4180121266462 | etot = -9.13334911513727 +814000 ekin = 1.76902926167497 | erot = 1.46826739311181 | epot = -12.3706457700733 | etot = -9.13334911528648 +815000 ekin = 1.71533069952261 | erot = 1.45797598424312 | epot = -12.3066557947912 | etot = -9.13334911102542 +816000 ekin = 1.68468183703031 | erot = 1.4393594201938 | epot = -12.2573903676328 | etot = -9.13334911040871 +817000 ekin = 1.67569540451555 | erot = 1.4202275919316 | epot = -12.2292721045969 | etot = -9.1333491081497 +818000 ekin = 1.65431804078353 | erot = 1.40071144600215 | epot = -12.1883785945476 | etot = -9.13334910776196 +819000 ekin = 1.63740188371294 | erot = 1.38256931717014 | epot = -12.1533203082699 | etot = -9.13334910738683 +820000 ekin = 1.62512170450313 | erot = 1.36928168853244 | epot = -12.1277525000606 | etot = -9.13334910702506 +821000 ekin = 1.61915909097285 | erot = 1.36404110716291 | epot = -12.1165493048444 | etot = -9.13334910670864 +822000 ekin = 1.6217234397592 | erot = 1.36925913748176 | epot = -12.1243316837597 | etot = -9.13334910651875 +823000 ekin = 1.63427494812447 | erot = 1.38616632191162 | epot = -12.1537903765462 | etot = -9.13334910651009 +824000 ekin = 1.6569838261775 | erot = 1.41459711185629 | epot = -12.2049300447278 | etot = -9.13334910669403 +825000 ekin = 1.68854753273286 | erot = 1.45301631841967 | epot = -12.274912958192 | etot = -9.13334910703944 +826000 ekin = 1.72638863495672 | erot = 1.49875661579725 | epot = -12.3584943582431 | etot = -9.13334910748916 +827000 ekin = 1.76710423380397 | erot = 1.54839439234335 | epot = -12.4488477341246 | etot = -9.13334910797724 +828000 ekin = 1.80698482333775 | erot = 1.59818184901415 | epot = -12.5385157807975 | etot = -9.13334910844559 +829000 ekin = 1.84246939970021 | erot = 1.64447465718115 | epot = -12.6202931657278 | etot = -9.13334910884642 +830000 ekin = 1.87048980343534 | erot = 1.6841293343913 | epot = -12.6879682469682 | etot = -9.1333491091416 +831000 ekin = 1.88871335828166 | erot = 1.71486645418171 | epot = -12.7369289217645 | etot = -9.13334910930117 +832000 ekin = 1.89569916792162 | erot = 1.73558694752007 | epot = -12.7646352247477 | etot = -9.13334910930601 +833000 ekin = 1.89096344935954 | erot = 1.74659447552026 | epot = -12.7709070340352 | etot = -9.13334910915537 +834000 ekin = 1.87493429545157 | erot = 1.74964392180517 | epot = -12.7579273261474 | etot = -9.13334910889062 +835000 ekin = 1.84878280514366 | erot = 1.74762027308112 | epot = -12.7297521867504 | etot = -9.13334910852562 +836000 ekin = 1.81414476909689 | erot = 1.74421722088709 | epot = -12.6917110981255 | etot = -9.13334910814155 +837000 ekin = 1.77277875467446 | erot = 1.74335285139409 | epot = -12.6494807138737 | etot = -9.13334910780514 +838000 ekin = 1.72624445531579 | erot = 1.74841404792436 | epot = -12.608007610808 | etot = -9.13334910756784 +839000 ekin = 1.67568816110983 | erot = 1.76165550554219 | epot = -12.5706927741085 | etot = -9.13334910745645 +840000 ekin = 1.62179135099634 | erot = 1.78387657045585 | epot = -12.5390170289096 | etot = -9.13334910745744 +841000 ekin = 1.56488441151472 | erot = 1.81456573942431 | epot = -12.5127992584783 | etot = -9.13334910753923 +842000 ekin = 1.50517399563221 | erot = 1.8520564586452 | epot = -12.490579561976 | etot = -9.13334910769857 +843000 ekin = 1.44300548284182 | erot = 1.89358112521869 | epot = -12.4699357158682 | etot = -9.1333491078077 +844000 ekin = 1.37906620631093 | erot = 1.93639685185858 | epot = -12.4488121660417 | etot = -9.13334910787217 +845000 ekin = 1.31446352833354 | erot = 1.97812996435952 | epot = -12.4259426005654 | etot = -9.13334910787236 +846000 ekin = 1.25068692329396 | erot = 2.01700234953182 | epot = -12.4010383806301 | etot = -9.13334910780431 +847000 ekin = 1.18947724707884 | erot = 2.05204320491269 | epot = -12.374869559668 | etot = -9.13334910767643 +848000 ekin = 1.13265732504607 | erot = 2.0831473327768 | epot = -12.3491537653283 | etot = -9.13334910750544 +849000 ekin = 1.0819765776984 | erot = 2.11099249694196 | epot = -12.326318181951 | etot = -9.13334910731063 +850000 ekin = 1.03899924537856 | erot = 2.13684654284089 | epot = -12.3091948953332 | etot = -9.13334910711374 +851000 ekin = 1.00503792489494 | erot = 2.16230618698725 | epot = -12.3006932188177 | etot = -9.13334910693551 +852000 ekin = 0.981116857869898 | erot = 2.18901371772944 | epot = -12.303479682393 | etot = -9.13334910679369 +853000 ekin = 0.967947652221222 | erot = 2.21839549971848 | epot = -12.3196922586439 | etot = -9.13334910670417 +854000 ekin = 0.965908910686802 | erot = 2.25145766400248 | epot = -12.3507156813638 | etot = -9.13334910667455 +855000 ekin = 0.975031148290994 | erot = 2.28866143867577 | epot = -12.3970416936738 | etot = -9.13334910670709 +856000 ekin = 0.994993726116945 | erot = 2.32988587265759 | epot = -12.4582287055722 | etot = -9.13334910679762 +857000 ekin = 1.02514000045915 | erot = 2.37447147763714 | epot = -12.5329605850328 | etot = -9.13334910693653 +858000 ekin = 1.06451194043047 | erot = 2.42132581263365 | epot = -12.6191868601752 | etot = -9.13334910711109 +859000 ekin = 1.11189872921075 | erot = 2.46906217646551 | epot = -12.714310012985 | etot = -9.1333491073087 +860000 ekin = 1.16588800432665 | erot = 2.51613734357055 | epot = -12.8153744554171 | etot = -9.13334910751989 +861000 ekin = 1.22490604809667 | erot = 2.56095681693176 | epot = -12.9192119727686 | etot = -9.13334910774017 +862000 ekin = 1.28723632580447 | erot = 2.60192847236029 | epot = -13.022513906136 | etot = -9.13334910797121 +863000 ekin = 1.35101431938041 | erot = 2.63746581474908 | epot = -13.1218292423466 | etot = -9.13334910821708 +864000 ekin = 1.41420820518429 | erot = 2.66596355874352 | epot = -13.2135208724088 | etot = -9.13334910848103 +865000 ekin = 1.47460562928546 | erot = 2.68578195464374 | epot = -13.2937366926903 | etot = -9.13334910876114 +866000 ekin = 1.5298330372055 | erot = 2.69527584727798 | epot = -13.3584579935299 | etot = -9.13334910904638 +867000 ekin = 1.57743376516636 | erot = 2.69288933097043 | epot = -13.4036722054528 | etot = -9.13334910931604 +868000 ekin = 1.61502389037206 | erot = 2.67731200501669 | epot = -13.4256850049295 | etot = -9.13334910954074 +869000 ekin = 1.64053051308178 | erot = 2.64766625528912 | epot = -13.421545878058 | etot = -9.13334910968713 +870000 ekin = 1.65249590025136 | erot = 2.60367561917437 | epot = -13.38952062915 | etot = -9.13334910972428 +871000 ekin = 1.65040511754078 | erot = 2.54576053415582 | epot = -13.329514761328 | etot = -9.1333491096314 +872000 ekin = 1.63497077371293 | erot = 2.47502461264468 | epot = -13.2433444957612 | etot = -9.13334910940362 +873000 ekin = 1.6082955108688 | erot = 2.39312864672026 | epot = -13.1347732666444 | etot = -9.13334910905533 +874000 ekin = 1.57383856498408 | erot = 2.30208675137097 | epot = -13.0092744249747 | etot = -9.13334910861963 +875000 ekin = 1.53613967513203 | erot = 2.20404109165622 | epot = -12.8735298749335 | etot = -9.13334910814528 +876000 ekin = 1.50030007472214 | erot = 2.10106901469196 | epot = -12.7347181971036 | etot = -9.13334910768948 +877000 ekin = 1.47128183650777 | erot = 1.99505592487523 | epot = -12.5996868686917 | etot = -9.13334910730873 +878000 ekin = 1.45315269235532 | erot = 1.88764504254126 | epot = -12.4741468419429 | etot = -9.13334910704632 +879000 ekin = 1.44845009593015 | erot = 1.78026193725074 | epot = -12.3620611401013 | etot = -9.13334910692044 +880000 ekin = 1.4578339719455 | erot = 1.67420503622086 | epot = -12.2653881150852 | etot = -9.13334910691887 +881000 ekin = 1.48012455416734 | erot = 1.57078382964406 | epot = -12.184257490814 | etot = -9.13334910700256 +882000 ekin = 1.51270015736882 | erot = 1.47147015192399 | epot = -12.1175194164123 | etot = -9.13334910711945 +883000 ekin = 1.5521156829147 | erot = 1.37801244882999 | epot = -12.0634772389667 | etot = -9.13334910722205 +884000 ekin = 1.59475301549298 | erot = 1.29246300162939 | epot = -12.0205651244028 | etot = -9.13334910728044 +885000 ekin = 1.63734681491783 | erot = 1.21709221485172 | epot = -11.9877881370549 | etot = -9.13334910728538 +886000 ekin = 1.67731211299644 | erot = 1.15420415260496 | epot = -11.9648653728463 | etot = -9.13334910724494 +887000 ekin = 1.71288068345002 | erot = 1.10590165063891 | epot = -11.9521314412646 | etot = -9.13334910717564 +888000 ekin = 1.74309500656368 | erot = 1.07385834531183 | epot = -11.9503024589727 | etot = -9.13334910709715 +889000 ekin = 1.76770969090686 | erot = 1.05913784424623 | epot = -11.9601966421816 | etot = -9.13334910702852 +890000 ekin = 1.7870324099566 | erot = 1.06207375035493 | epot = -11.9824552673 | etot = -9.13334910698845 +891000 ekin = 1.80172329224281 | erot = 1.08220747466598 | epot = -12.0172798739023 | etot = -9.13334910699346 +892000 ekin = 1.81257293682221 | erot = 1.1182805801851 | epot = -12.064202624064 | etot = -9.13334910705668 +893000 ekin = 1.82028982711125 | erot = 1.1682876962526 | epot = -12.1219266305453 | etot = -9.13334910718146 +894000 ekin = 1.82533649727985 | erot = 1.22960280171713 | epot = -12.1882884063585 | etot = -9.13334910736153 +895000 ekin = 1.82785071659378 | erot = 1.29918775471206 | epot = -12.2603875788826 | etot = -9.13334910757676 +896000 ekin = 1.82766966747854 | erot = 1.37387583336296 | epot = -12.334894608639 | etot = -9.13334910779752 +897000 ekin = 1.82444603808238 | erot = 1.45069893543995 | epot = -12.4084940815129 | etot = -9.13334910799056 +898000 ekin = 1.81781661005979 | erot = 1.52720356356028 | epot = -12.4783692817479 | etot = -9.1333491081278 +899000 ekin = 1.80756915109739 | erot = 1.60168843028089 | epot = -12.5426066895719 | etot = -9.1333491081936 +900000 ekin = 1.79375843956086 | erot = 1.67330364930568 | epot = -12.6004111970559 | etot = -9.13334910818937 +901000 ekin = 1.77674318476137 | erot = 1.74197941464808 | epot = -12.652071707542 | etot = -9.13334910813253 +902000 ekin = 1.75714245728773 | erot = 1.80819394407498 | epot = -12.6986855094148 | etot = -9.13334910805206 +903000 ekin = 1.73573344441431 | erot = 1.87263325990667 | epot = -12.741715812301 | etot = -9.13334910798001 +904000 ekin = 1.7133262590842 | erot = 1.93582474192346 | epot = -12.7825001089509 | etot = -9.13334910794324 +905000 ekin = 1.69065428570201 | erot = 1.9978324843968 | epot = -12.8218358780553 | etot = -9.13334910795651 +906000 ekin = 1.66831072855916 | erot = 2.05808381417767 | epot = -12.8597436507574 | etot = -9.13334910802061 +907000 ekin = 1.64674588303716 | erot = 2.11535919821792 | epot = -12.8954541893759 | etot = -9.13334910812081 +908000 ekin = 1.62631907113886 | erot = 2.16793324010528 | epot = -12.9276014194796 | etot = -9.13334910823546 +909000 ekin = 1.60738004100335 | erot = 2.2138158198134 | epot = -12.9545449691584 | etot = -9.13334910834161 +910000 ekin = 1.5903440249144 | erot = 2.25102295599297 | epot = -12.9747160893297 | etot = -9.13334910842234 +911000 ekin = 1.57572782711049 | erot = 2.27781488081455 | epot = -12.9868918163941 | etot = -9.13334910846902 +912000 ekin = 1.56413054683393 | erot = 2.29287003003197 | epot = -12.990349685346 | etot = -9.13334910848011 +913000 ekin = 1.55616398737689 | erot = 2.2953998333346 | epot = -12.9849129291698 | etot = -9.13334910845829 +914000 ekin = 1.55235379274254 | erot = 2.28522760386261 | epot = -12.970930505012 | etot = -9.13334910840683 +915000 ekin = 1.5530363607569 | erot = 2.2628450869647 | epot = -12.9492305560514 | etot = -9.13334910832976 +916000 ekin = 1.55827003373003 | erot = 2.22943339360228 | epot = -12.9210525355656 | etot = -9.13334910823328 +917000 ekin = 1.56776924055464 | erot = 2.18681551598354 | epot = -12.8879338646662 | etot = -9.13334910812807 +918000 ekin = 1.58086450735197 | erot = 2.13731406706442 | epot = -12.851527682446 | etot = -9.13334910802957 +919000 ekin = 1.59649190921053 | erot = 2.0835190789399 | epot = -12.8133600961043 | etot = -9.13334910795384 +920000 ekin = 1.61321892883084 | erot = 2.02800735916847 | epot = -12.7745753959125 | etot = -9.1333491079132 +921000 ekin = 1.62931395437238 | erot = 1.97307497751136 | epot = -12.7357380397975 | etot = -9.13334910791373 +922000 ekin = 1.6428610474625 | erot = 1.92053870341511 | epot = -12.6967488588289 | etot = -9.1333491079513 +923000 ekin = 1.65191234390675 | erot = 1.87163759208757 | epot = -12.6568990440089 | etot = -9.13334910801458 +924000 ekin = 1.65466206201082 | erot = 1.82703710614041 | epot = -12.6150482762383 | etot = -9.1333491080871 +925000 ekin = 1.64962158355934 | erot = 1.78691680129246 | epot = -12.5698874930024 | etot = -9.13334910815058 +926000 ekin = 1.63577435705778 | erot = 1.75111283231488 | epot = -12.5202362975603 | etot = -9.13334910818759 +927000 ekin = 1.61269412580857 | erot = 1.71928618608573 | epot = -12.4653294200782 | etot = -9.13334910818394 +928000 ekin = 1.58061327338292 | erot = 1.69109387513529 | epot = -12.4050562566482 | etot = -9.13334910813002 +929000 ekin = 1.54043465718479 | erot = 1.66634444994143 | epot = -12.3401282151476 | etot = -9.13334910802139 +930000 ekin = 1.49368612296849 | erot = 1.64511875929677 | epot = -12.2721539901256 | etot = -9.13334910786036 +931000 ekin = 1.44242020035617 | erot = 1.62783092394369 | epot = -12.2036002319582 | etot = -9.13334910765832 +932000 ekin = 1.38906420477875 | erot = 1.61520048768176 | epot = -12.1376137998968 | etot = -9.13334910743626 +933000 ekin = 1.33622958396202 | erot = 1.60811568410273 | epot = -12.0776943752882 | etot = -9.1333491072235 +934000 ekin = 1.28649486983171 | erot = 1.60739378972841 | epot = -12.0272377666154 | etot = -9.13334910705533 +935000 ekin = 1.24218246525754 | erot = 1.61347919083366 | epot = -11.9890107630562 | etot = -9.13334910696505 +936000 ekin = 1.20515312898325 | erot = 1.62614770365923 | epot = -11.9646499396204 | etot = -9.1333491069779 +937000 ekin = 1.17664231217296 | erot = 1.64429583354639 | epot = -11.9542872528248 | etot = -9.13334910710542 +938000 ekin = 1.15716006421498 | erot = 1.66588444175068 | epot = -11.956393613306 | etot = -9.13334910734034 +939000 ekin = 1.14647171712104 | erot = 1.68810326831473 | epot = -11.9679240930833 | etot = -9.13334910764757 +940000 ekin = 1.14367004082417 | erot = 1.70771457433394 | epot = -11.984733723155 | etot = -9.13334910799694 +941000 ekin = 1.14733884564608 | erot = 1.72149292699552 | epot = -12.0021808809642 | etot = -9.13334910832257 +942000 ekin = 1.15580134681802 | erot = 1.72687300439696 | epot = -12.016023459778 | etot = -9.133349108563 +943000 ekin = 1.16743729514705 | erot = 1.7224993662481 | epot = -12.0232857700608 | etot = -9.13334910866566 +944000 ekin = 1.18103106475781 | erot = 1.70858712463103 | epot = -12.0229672979907 | etot = -9.13334910860188 +945000 ekin = 1.19606804454874 | erot = 1.68696892705953 | epot = -12.0163860799918 | etot = -9.13334910838354 +946000 ekin = 1.21284058110413 | erot = 1.66075870248247 | epot = -12.0069483916594 | etot = -9.13334910807277 +947000 ekin = 1.23222210573009 | erot = 1.63367011138546 | epot = -11.9992413248872 | etot = -9.13334910777163 +948000 ekin = 1.25509690715666 | erot = 1.60916358071022 | epot = -11.9976095954539 | etot = -9.13334910758698 +949000 ekin = 1.28167104220759 | erot = 1.58969080393156 | epot = -12.0047109537196 | etot = -9.13334910758041 +950000 ekin = 1.31105510037976 | erot = 1.57628415674081 | epot = -12.0206883648589 | etot = -9.13334910773835 +951000 ekin = 1.34140314928361 | erot = 1.56859135849568 | epot = -12.0433436157626 | etot = -9.13334910798332 +952000 ekin = 1.37054117668508 | erot = 1.56526000759192 | epot = -12.069150292499 | etot = -9.13334910822196 +953000 ekin = 1.39670348101218 | erot = 1.56444621742546 | epot = -12.0944988068303 | etot = -9.1333491083927 +954000 ekin = 1.41897529237445 | erot = 1.56423287015234 | epot = -12.1165572710095 | etot = -9.13334910848276 +955000 ekin = 1.43729048069951 | erot = 1.56287479953571 | epot = -12.1335143887474 | etot = -9.13334910851214 +956000 ekin = 1.45211066332091 | erot = 1.55892938548475 | epot = -12.1443891573122 | etot = -9.13334910850651 +957000 ekin = 1.4640219062269 | erot = 1.55132217597068 | epot = -12.1486931906817 | etot = -9.13334910848408 +958000 ekin = 1.47342593725198 | erot = 1.53954965712689 | epot = -12.1463247028157 | etot = -9.13334910843678 +959000 ekin = 1.48038578494589 | erot = 1.52394133602205 | epot = -12.1376762293279 | etot = -9.13334910835997 +960000 ekin = 1.48460604033859 | erot = 1.50575363437883 | epot = -12.1237087829637 | etot = -9.13334910824631 +961000 ekin = 1.4854997593599 | erot = 1.48721075412849 | epot = -12.1060596215818 | etot = -9.13334910809345 +962000 ekin = 1.48229853496357 | erot = 1.47141202583616 | epot = -12.0870596687072 | etot = -9.13334910790745 +963000 ekin = 1.47417603272179 | erot = 1.46210240867471 | epot = -12.0696275490992 | etot = -9.13334910770273 +964000 ekin = 1.46036644525135 | erot = 1.46332191688904 | epot = -12.057037469638 | etot = -9.13334910749761 +965000 ekin = 1.4402666218216 | erot = 1.47896324786175 | epot = -12.0525789770021 | etot = -9.13334910731876 +966000 ekin = 1.41351583400846 | erot = 1.51227943251394 | epot = -12.0591443737143 | etot = -9.13334910719188 +967000 ekin = 1.38005134112547 | erot = 1.56539665062183 | epot = -12.0787970988885 | etot = -9.13334910714117 +968000 ekin = 1.34025482725015 | erot = 1.63885686276797 | epot = -12.1124607971955 | etot = -9.13334910717734 +969000 ekin = 1.29476921982091 | erot = 1.73132793710158 | epot = -12.1594462642466 | etot = -9.13334910732407 +970000 ekin = 1.24442005393454 | erot = 1.8397252071199 | epot = -12.2174943685955 | etot = -9.13334910754106 +971000 ekin = 1.19046696427949 | erot = 1.9594309140889 | epot = -12.2832469861657 | etot = -9.13334910779734 +972000 ekin = 1.13463097114298 | erot = 2.08475088502088 | epot = -12.3527309642144 | etot = -9.13334910805052 +973000 ekin = 1.07911059568441 | erot = 2.20953944501593 | epot = -12.4219991489594 | etot = -9.13334910825907 +974000 ekin = 1.02657367042055 | erot = 2.32774347839927 | epot = -12.4876662572453 | etot = -9.13334910842543 +975000 ekin = 0.979977932772385 | erot = 2.43392801404127 | epot = -12.5472550553015 | etot = -9.13334910848787 +976000 ekin = 0.942304887104193 | erot = 2.52399013955623 | epot = -12.5996441351349 | etot = -9.13334910847449 +977000 ekin = 0.916335295710406 | erot = 2.59517570124227 | epot = -12.6448601053644 | etot = -9.13334910841174 +978000 ekin = 0.90431642289583 | erot = 2.64601698757986 | epot = -12.6836825188087 | etot = -9.13334910833299 +979000 ekin = 0.907654941512796 | erot = 2.67612704046034 | epot = -12.7171310902433 | etot = -9.13334910827012 +980000 ekin = 0.926700183439719 | erot = 2.68592744664337 | epot = -12.7459767383288 | etot = -9.1333491082457 +981000 ekin = 0.960659745242588 | erot = 2.67638285527906 | epot = -12.7703917087896 | etot = -9.13334910826798 +982000 ekin = 1.00766017971421 | erot = 2.64879736701492 | epot = -12.7898066550609 | etot = -9.13334910833177 +983000 ekin = 1.06493892794264 | erot = 2.60470505316782 | epot = -12.802993089529 | etot = -9.13334910841856 +984000 ekin = 1.12913508942066 | erot = 2.54586103456236 | epot = -12.8083452324842 | etot = -9.13334910850118 +985000 ekin = 1.19663599745497 | erot = 2.47431116852831 | epot = -12.8042962745336 | etot = -9.13334910855034 +986000 ekin = 1.26393164267455 | erot = 2.39249159639475 | epot = -12.7897723476103 | etot = -9.13334910854103 +987000 ekin = 1.32792910235941 | erot = 2.30329384118403 | epot = -12.7645720520038 | etot = -9.13334910846032 +988000 ekin = 1.38618594051163 | erot = 2.21003704542525 | epot = -12.7295720942475 | etot = -9.13334910831058 +989000 ekin = 1.43703663164537 | erot = 2.11631776637245 | epot = -12.6867035061266 | etot = -9.13334910810878 +990000 ekin = 1.47960743025451 | erot = 2.02574976477645 | epot = -12.6387063029132 | etot = -9.1333491078822 +991000 ekin = 1.51373724651808 | erot = 1.94164272478242 | epot = -12.5887290789621 | etot = -9.13334910766159 +992000 ekin = 1.53983818591944 | erot = 1.86668512517351 | epot = -12.5398724185674 | etot = -9.13334910747449 +993000 ekin = 1.5587349067319 | erot = 1.80268982006318 | epot = -12.4947738341354 | etot = -9.13334910734036 +994000 ekin = 1.5715165151441 | erot = 1.75043914207065 | epot = -12.4553047644837 | etot = -9.13334910726898 +995000 ekin = 1.5794217343562 | erot = 1.7096407947002 | epot = -12.4224116363175 | etot = -9.13334910726107 +996000 ekin = 1.58376261672286 | erot = 1.67898574513777 | epot = -12.3960974691702 | etot = -9.13334910730955 +997000 ekin = 1.58587878575187 | erot = 1.65629050261344 | epot = -12.375518395768 | etot = -9.13334910740269 +998000 ekin = 1.58710748471221 | erot = 1.63870906511927 | epot = -12.3591656573558 | etot = -9.13334910752431 +999000 ekin = 1.58875603199319 | erot = 1.62299637539262 | epot = -12.3451015150442 | etot = -9.13334910765843 +1000000 ekin = 1.59207001214972 | erot = 1.60581739808396 | epot = -12.3312365180166 | etot = -9.13334910778296 + 1000000 0.11793111 -1.2674127 0.034288999 -1.0739167 -1.3883882e-05 64000 +Loop time of 15.7069 on 1 procs for 1000000 steps with 10 atoms + +Performance: 55007.553 tau/day, 63666.149 timesteps/s +99.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 | 12.948 | 12.948 | 12.948 | 0.0 | 82.43 +Bond | 0.58409 | 0.58409 | 0.58409 | 0.0 | 3.72 +Neigh | 0.016199 | 0.016199 | 0.016199 | 0.0 | 0.10 +Comm | 0.32752 | 0.32752 | 0.32752 | 0.0 | 2.09 +Output | 0.096494 | 0.096494 | 0.096494 | 0.0 | 0.61 +Modify | 1.4762 | 1.4762 | 1.4762 | 0.0 | 9.40 +Other | | 0.2584 | | | 1.65 + +Nlocal: 10.0000 ave 10 max 10 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 0.00000 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 37.0000 ave 37 max 37 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 37 +Ave neighs/atom = 3.7000000 +Ave special neighs/atom = 3.6000000 +Neighbor list builds = 1000 +Dangerous builds = 0 + +write_data last_config.${number}.* nocoeff +write_data last_config.1.* nocoeff +System init for write_data ... +#write_restart last_config.${number}.* +Total wall time: 0:00:15 diff --git a/examples/PACKAGES/cgdna/examples/oxDNA/duplex1/log.2Jul21.duplex1.g++.4 b/examples/PACKAGES/cgdna/examples/oxDNA/duplex1/log.2Jul21.duplex1.g++.4 new file mode 100644 index 0000000000..3a44cb7943 --- /dev/null +++ b/examples/PACKAGES/cgdna/examples/oxDNA/duplex1/log.2Jul21.duplex1.g++.4 @@ -0,0 +1,1171 @@ +LAMMPS (2 Jul 2021) +variable number equal 1 +variable ofreq equal 1000 +variable efreq equal 1000 +variable T equal 0.1 + +units lj + +dimension 3 + +newton on + +boundary p p p + +atom_style hybrid bond ellipsoid oxdna +WARNING: Atom style hybrid defines both, per-type and per-atom masses; both must be set, but only per-atom masses will be used (../atom_vec_hybrid.cpp:157) +atom_modify sort 0 1.0 + +# Pair interactions require lists of neighbours to be calculated +neighbor 2.0 bin +neigh_modify every 1 delay 0 check yes + +read_data data.duplex1 +Reading data file ... + orthogonal box = (-20.000000 -20.000000 -20.000000) to (20.000000 20.000000 20.000000) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 10 atoms + reading velocities ... + 10 velocities + scanning bonds ... + 1 = max bonds/atom + 10 ellipsoids + reading bonds ... + 8 bonds +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 + 2 = max # of 1-3 neighbors + 2 = max # of 1-4 neighbors + 4 = max # of special neighbors + special bonds CPU = 0.001 seconds + read_data CPU = 0.005 seconds + +set atom * mass 3.1575 +Setting atom values ... + 10 settings made for mass + +group all type 1 4 +10 atoms in group all + +# oxDNA bond interactions - FENE backbone +bond_style oxdna/fene +bond_coeff * 2.0 0.25 0.7525 +special_bonds lj 0 1 1 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 1 1 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 2 = max # of 1-3 neighbors + 2 = max # of 1-4 neighbors + 4 = max # of special neighbors + special bonds CPU = 0.000 seconds + +# oxDNA pair interactions +pair_style hybrid/overlay oxdna/excv oxdna/stk oxdna/hbond oxdna/xstk oxdna/coaxstk +pair_coeff * * oxdna/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32 +pair_coeff * * oxdna/stk seqav ${T} 1.3448 2.6568 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 +pair_coeff * * oxdna/stk seqav 0.1 1.3448 2.6568 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 +pair_coeff * * oxdna/hbond seqav 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 1 4 oxdna/hbond seqav 1.077 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 2 3 oxdna/hbond seqav 1.077 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff * * oxdna/xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68 +pair_coeff * * oxdna/coaxstk 46.0 0.4 0.6 0.22 0.58 2.0 2.541592653589793 0.65 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 -0.65 2.0 -0.65 + +# NVE ensemble +fix 1 all nve/asphere +#fix 2 all langevin ${T} ${T} 2.5 457145 angmom 10 + +timestep 1e-5 + +#comm_style tiled +fix 3 all balance 1000 1.03 shift xyz 10 1.03 +comm_modify cutoff 3.8 + +compute quat all property/atom quatw quati quatj quatk + +compute erot all erotate/asphere +compute ekin all ke +compute epot all pe +variable erot equal c_erot +variable ekin equal c_ekin +variable epot equal c_epot +variable etot equal c_erot+c_ekin+c_epot +fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes +fix 5 all print 1000 "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes + +dump out all custom ${ofreq} out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump out all custom 1000 out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump out all custom 1000 out.1.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump_modify out sort id +dump_modify out format line "%d %d %d %22.15le %22.15le %22.15le %d %d %d %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le" + +run 1000000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.9560004 + ghost atom cutoff = 3.8 + binsize = 1.4780002, bins = 28 28 28 + 4 neighbor lists, perpetual/occasional/extra = 4 0 0 + (1) pair oxdna/excv, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard + (2) pair oxdna/hbond, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none + (3) pair oxdna/xstk, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none + (4) pair oxdna/coaxstk, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none +0 ekin = 1.10853632272819 | erot = 2.81573649976629 | epot = -13.057621953437 | etot = -9.13334913094248 +Per MPI rank memory allocation (min/avg/max) = 8.855 | 8.861 | 8.867 Mbytes +Step Temp E_pair E_mol TotEng Press Volume + 0 0.082113802 -1.3488546 0.043092397 -1.1949086 -4.6816211e-05 64000 +1000 ekin = 1.08024346604046 | erot = 2.90873406534668 | epot = -13.1223266626202 | etot = -9.13334913123309 +2000 ekin = 1.05028450914436 | erot = 2.98006324808558 | epot = -13.1636968886591 | etot = -9.13334913142917 +3000 ekin = 1.01964458529397 | erot = 3.02592193798631 | epot = -13.1789156547658 | etot = -9.13334913148549 +4000 ekin = 0.989515033089522 | erot = 3.04428486059471 | epot = -13.1671490250723 | etot = -9.13334913138808 +5000 ekin = 0.961283929687805 | erot = 3.03510855539557 | epot = -13.1297416162282 | etot = -9.13334913114478 +6000 ekin = 0.936412193404224 | erot = 3.00022299571977 | epot = -13.0699843199583 | etot = -9.13334913083427 +7000 ekin = 0.916233699107934 | erot = 2.94277134440163 | epot = -12.9923541739966 | etot = -9.13334913048703 +8000 ekin = 0.901760662506231 | erot = 2.86671228744168 | epot = -12.9018220800865 | etot = -9.13334913013854 +9000 ekin = 0.893571390067841 | erot = 2.77649686780611 | epot = -12.8034173876806 | etot = -9.13334912980665 +10000 ekin = 0.89180568505681 | erot = 2.6768685500674 | epot = -12.7020233645916 | etot = -9.13334912946735 +11000 ekin = 0.896243557993558 | erot = 2.57266042063126 | epot = -12.6022531078195 | etot = -9.13334912919466 +12000 ekin = 0.906416039154792 | erot = 2.46827537271563 | epot = -12.5080405408348 | etot = -9.13334912896439 +13000 ekin = 0.921704091778471 | erot = 2.3676064547084 | epot = -12.4226596752788 | etot = -9.13334912879193 +14000 ekin = 0.941405275130066 | erot = 2.27374941641182 | epot = -12.3485038202329 | etot = -9.13334912869102 +15000 ekin = 0.964770892951772 | erot = 2.18876720165118 | epot = -12.2868872232636 | etot = -9.13334912866064 +16000 ekin = 0.991029016801091 | erot = 2.11380018376647 | epot = -12.2381783292305 | etot = -9.13334912866296 +17000 ekin = 1.01940907375713 | erot = 2.04893605182118 | epot = -12.2016942543555 | etot = -9.13334912877723 +18000 ekin = 1.04917923728266 | erot = 1.99335017578097 | epot = -12.1758785419805 | etot = -9.13334912891687 +19000 ekin = 1.07969247848164 | erot = 1.94569933362964 | epot = -12.1587409411761 | etot = -9.13334912906482 +20000 ekin = 1.11043268152285 | erot = 1.90411175657075 | epot = -12.1478935672812 | etot = -9.13334912918763 +21000 ekin = 1.14104909735581 | erot = 1.8669588297924 | epot = -12.1413570564147 | etot = -9.13334912926644 +22000 ekin = 1.17136821848097 | erot = 1.83313674901893 | epot = -12.137854096792 | etot = -9.13334912929212 +23000 ekin = 1.2013763409769 | erot = 1.80222523558974 | epot = -12.1369507058332 | etot = -9.13334912926651 +24000 ekin = 1.23117249622896 | erot = 1.77451266102185 | epot = -12.1390342864516 | etot = -9.13334912920075 +25000 ekin = 1.2608952664064 | erot = 1.75088411697588 | epot = -12.1451285124969 | etot = -9.13334912911462 +26000 ekin = 1.29063712254627 | erot = 1.732594283795 | epot = -12.1565805353676 | etot = -9.13334912902628 +27000 ekin = 1.32035987087023 | erot = 1.7211406167117 | epot = -12.174849616541 | etot = -9.13334912895908 +28000 ekin = 1.34980460658792 | erot = 1.71795709927852 | epot = -12.2011108348018 | etot = -9.13334912893532 +29000 ekin = 1.37841624051157 | erot = 1.72414013785738 | epot = -12.2359055073442 | etot = -9.13334912897525 +30000 ekin = 1.40529015727349 | erot = 1.74019656639667 | epot = -12.2788358527639 | etot = -9.13334912909375 +31000 ekin = 1.42915801743393 | erot = 1.7658325233695 | epot = -12.3283396701001 | etot = -9.1333491292967 +32000 ekin = 1.44843712560538 | erot = 1.79982181745342 | epot = -12.3816080726341 | etot = -9.13334912957529 +33000 ekin = 1.46136904668678 | erot = 1.84000474140074 | epot = -12.4347229179886 | etot = -9.13334912990108 +34000 ekin = 1.46625940785512 | erot = 1.88346459856618 | epot = -12.4830731366476 | etot = -9.1333491302263 +35000 ekin = 1.46179739484304 | erot = 1.92688889524938 | epot = -12.5220354205853 | etot = -9.1333491304929 +36000 ekin = 1.44738855724073 | erot = 1.96705754746494 | epot = -12.5477952353505 | etot = -9.13334913064482 +37000 ekin = 1.42340054468545 | erot = 2.00129614949923 | epot = -12.5580458249025 | etot = -9.13334913071784 +38000 ekin = 1.39122781542975 | erot = 2.02761655303761 | epot = -12.5521934990548 | etot = -9.13334913058741 +39000 ekin = 1.35313842096811 | erot = 2.04547852103599 | epot = -12.5319660723437 | etot = -9.1333491303396 +40000 ekin = 1.31193587699355 | erot = 2.05554364627555 | epot = -12.5008286533156 | etot = -9.13334913004651 +41000 ekin = 1.27054093924535 | erot = 2.05894429581367 | epot = -12.4628343648332 | etot = -9.13334912977421 +42000 ekin = 1.23161000992317 | erot = 2.05694893255704 | epot = -12.4219080720069 | etot = -9.13334912952669 +43000 ekin = 1.19723969759481 | erot = 2.05085758075655 | epot = -12.3814464076996 | etot = -9.13334912934824 +44000 ekin = 1.16880185863983 | erot = 2.04172238360625 | epot = -12.3438733714904 | etot = -9.13334912924435 +45000 ekin = 1.14690787175701 | erot = 2.03029950061771 | epot = -12.3105565015799 | etot = -9.13334912920518 +46000 ekin = 1.13147919636031 | erot = 2.01712256175374 | epot = -12.2819508873243 | etot = -9.13334912921025 +47000 ekin = 1.12189300492699 | erot = 2.00264798837259 | epot = -12.2578901225351 | etot = -9.13334912923553 +48000 ekin = 1.11716788112702 | erot = 1.98739120721197 | epot = -12.2379082176347 | etot = -9.13334912929566 +49000 ekin = 1.11615794795222 | erot = 1.9718736810838 | epot = -12.221380758335 | etot = -9.13334912929896 +50000 ekin = 1.11772326336371 | erot = 1.95708534394635 | epot = -12.2081577365827 | etot = -9.13334912927264 +51000 ekin = 1.12084924497847 | erot = 1.94437394210229 | epot = -12.1985723162998 | etot = -9.13334912921909 +52000 ekin = 1.12470549785224 | erot = 1.93529800314884 | epot = -12.1933526301511 | etot = -9.13334912915001 +53000 ekin = 1.12864556674948 | erot = 1.93145365271676 | epot = -12.1934483485499 | etot = -9.13334912908363 +54000 ekin = 1.1321611352306 | erot = 1.93430274875519 | epot = -12.1998130130122 | etot = -9.13334912902645 +55000 ekin = 1.13481106600207 | erot = 1.94490436967255 | epot = -12.2130645647024 | etot = -9.13334912902774 +56000 ekin = 1.1361434353579 | erot = 1.963618845908 | epot = -12.2331114103533 | etot = -9.13334912908738 +57000 ekin = 1.13563178311257 | erot = 1.99002978527258 | epot = -12.2590106975988 | etot = -9.13334912921363 +58000 ekin = 1.13263976908222 | erot = 2.02286978616508 | epot = -12.2888586846529 | etot = -9.13334912940556 +59000 ekin = 1.12642426113412 | erot = 2.06004413441716 | epot = -12.3198175252031 | etot = -9.13334912965185 +60000 ekin = 1.11618536041516 | erot = 2.09876774945551 | epot = -12.3483022398007 | etot = -9.13334912993006 +61000 ekin = 1.10116810417853 | erot = 2.13581434618271 | epot = -12.3703315805686 | etot = -9.13334913020733 +62000 ekin = 1.08081637521793 | erot = 2.16786879318301 | epot = -12.3820342988436 | etot = -9.13334913044262 +63000 ekin = 1.05497014428143 | erot = 2.19194503254432 | epot = -12.3802643074578 | etot = -9.13334913063208 +64000 ekin = 1.02408601603155 | erot = 2.20562384873124 | epot = -12.3630589954182 | etot = -9.13334913065538 +65000 ekin = 0.989434415807706 | erot = 2.20769180278651 | epot = -12.3304753491253 | etot = -9.13334913053111 +66000 ekin = 0.95319559356389 | erot = 2.19842250482622 | epot = -12.2849672286541 | etot = -9.13334913026396 +67000 ekin = 0.918366365968281 | erot = 2.17942400884176 | epot = -12.2311395047051 | etot = -9.13334912989503 +68000 ekin = 0.888467814666307 | erot = 2.15321364358195 | epot = -12.1750305877204 | etot = -9.13334912947213 +69000 ekin = 0.867150037001672 | erot = 2.12288633704368 | epot = -12.1233855031211 | etot = -9.13334912907575 +70000 ekin = 0.857579951604792 | erot = 2.09151913845146 | epot = -12.0824482188433 | etot = -9.13334912878707 +71000 ekin = 0.861815425267495 | erot = 2.06157004239555 | epot = -12.0567345963621 | etot = -9.13334912869911 +72000 ekin = 0.880191815685466 | erot = 2.03435275439356 | epot = -12.0478936988734 | etot = -9.13334912879439 +73000 ekin = 0.911201453876645 | erot = 2.00982694750392 | epot = -12.0543775304381 | etot = -9.13334912905759 +74000 ekin = 0.951849895585073 | erot = 1.98685418272615 | epot = -12.0720532077348 | etot = -9.13334912942353 +75000 ekin = 0.998151008641159 | erot = 1.96362530027592 | epot = -12.0951254387265 | etot = -9.13334912980946 +76000 ekin = 1.04581734271582 | erot = 1.93821700241342 | epot = -12.1173834752671 | etot = -9.13334913013786 +77000 ekin = 1.09091996835692 | erot = 1.90910715282271 | epot = -12.1333762515352 | etot = -9.1333491303556 +78000 ekin = 1.13037631927904 | erot = 1.87551578135369 | epot = -12.139241231075 | etot = -9.1333491304423 +79000 ekin = 1.16219588597769 | erot = 1.83750580183243 | epot = -12.1330508182182 | etot = -9.1333491304081 +80000 ekin = 1.18548972632214 | erot = 1.79585942669971 | epot = -12.1146982833061 | etot = -9.13334913028424 +81000 ekin = 1.20030605718935 | erot = 1.7518136593973 | epot = -12.0854688466955 | etot = -9.13334913010885 +82000 ekin = 1.20737786492175 | erot = 1.70676694760203 | epot = -12.0474939424388 | etot = -9.13334912991501 +83000 ekin = 1.2078605140205 | erot = 1.66205278152614 | epot = -12.0032624252715 | etot = -9.13334912972487 +84000 ekin = 1.20310991572453 | erot = 1.61882913247303 | epot = -11.9552881777459 | etot = -9.13334912954831 +85000 ekin = 1.19452073297141 | erot = 1.57808043002402 | epot = -11.9059502923817 | etot = -9.13334912938628 +86000 ekin = 1.18342100682534 | erot = 1.54069268896221 | epot = -11.8574628250233 | etot = -9.13334912923578 +87000 ekin = 1.17100858957321 | erot = 1.50755090689503 | epot = -11.8119086255615 | etot = -9.13334912909331 +88000 ekin = 1.1583137755166 | erot = 1.47961680456705 | epot = -11.7712797090415 | etot = -9.13334912895786 +89000 ekin = 1.1461768281738 | erot = 1.45796378128877 | epot = -11.7374897382936 | etot = -9.13334912883104 +90000 ekin = 1.13523447969403 | erot = 1.44376438030011 | epot = -11.7123479887108 | etot = -9.13334912871663 +91000 ekin = 1.12591345720535 | erot = 1.43823772500934 | epot = -11.6975003108346 | etot = -9.13334912861991 +92000 ekin = 1.11843099489273 | erot = 1.44256930748506 | epot = -11.6943494309245 | etot = -9.1333491285467 +93000 ekin = 1.11280329634805 | erot = 1.45781524814475 | epot = -11.7039676729953 | etot = -9.13334912850246 +94000 ekin = 1.10886209127331 | erot = 1.48480045701869 | epot = -11.7270116767843 | etot = -9.13334912849234 +95000 ekin = 1.10627886010333 | erot = 1.5239622064754 | epot = -11.7635901951108 | etot = -9.13334912853206 +96000 ekin = 1.10459509814417 | erot = 1.57519859223426 | epot = -11.8131428189846 | etot = -9.13334912860619 +97000 ekin = 1.10325943769899 | erot = 1.63800664193805 | epot = -11.8746152083619 | etot = -9.13334912872485 +98000 ekin = 1.1016695958164 | erot = 1.71130689804978 | epot = -11.9463256227541 | etot = -9.13334912888788 +99000 ekin = 1.09921849385157 | erot = 1.79339905630371 | epot = -12.0259666792473 | etot = -9.13334912909204 +100000 ekin = 1.09534596880101 | erot = 1.88196872528582 | epot = -12.1106638234163 | etot = -9.13334912932951 +101000 ekin = 1.08959720755113 | erot = 1.97415616931464 | epot = -12.1971025064522 | etot = -9.13334912958639 +102000 ekin = 1.08168751154811 | erot = 2.06670282185186 | epot = -12.2817394632427 | etot = -9.13334912984268 +103000 ekin = 1.0715693234231 | erot = 2.1561819250807 | epot = -12.3611003785773 | etot = -9.13334913007349 +104000 ekin = 1.0594923799607 | erot = 2.23930158373573 | epot = -12.4321430939486 | etot = -9.13334913025215 +105000 ekin = 1.04604342224877 | erot = 2.3132390228585 | epot = -12.4926315754931 | etot = -9.13334913038584 +106000 ekin = 1.03224316318561 | erot = 2.37579242095983 | epot = -12.5413847145642 | etot = -9.1333491304188 +107000 ekin = 1.01951120148936 | erot = 2.42585603740561 | epot = -12.5787163692802 | etot = -9.13334913038522 +108000 ekin = 1.00875017477215 | erot = 2.46348952984483 | epot = -12.6055888348734 | etot = -9.13334913025643 +109000 ekin = 1.00109573552405 | erot = 2.48980806114955 | epot = -12.6242529267278 | etot = -9.13334913005421 +110000 ekin = 0.997931591358236 | erot = 2.50673918610783 | epot = -12.6380199072775 | etot = -9.13334912981144 +111000 ekin = 1.00076792351335 | erot = 2.51665915373024 | epot = -12.6507762068076 | etot = -9.13334912956397 +112000 ekin = 1.01109610479944 | erot = 2.52200701599634 | epot = -12.6664522501391 | etot = -9.13334912934334 +113000 ekin = 1.03019016817903 | erot = 2.52496101252866 | epot = -12.6885003099863 | etot = -9.13334912927859 +114000 ekin = 1.05821017520648 | erot = 2.52722573627497 | epot = -12.7187850407017 | etot = -9.13334912922025 +115000 ekin = 1.09472530400165 | erot = 2.53003930448809 | epot = -12.7581137377194 | etot = -9.13334912922962 +116000 ekin = 1.13884650903356 | erot = 2.5341483243043 | epot = -12.8063439626439 | etot = -9.13334912930608 +117000 ekin = 1.18909444999508 | erot = 2.53980839277117 | epot = -12.8622519722151 | etot = -9.13334912944883 +118000 ekin = 1.24341490970497 | erot = 2.54678348242622 | epot = -12.9235475217871 | etot = -9.13334912965586 +119000 ekin = 1.29923662064213 | erot = 2.55432909400999 | epot = -12.9869148445733 | etot = -9.13334912992119 +120000 ekin = 1.35358959215664 | erot = 2.56118615921788 | epot = -13.048124881604 | etot = -9.13334913022946 +121000 ekin = 1.40329803815465 | erot = 2.56563135861651 | epot = -13.1022785273257 | etot = -9.13334913055449 +122000 ekin = 1.44524692196623 | erot = 2.5656244840922 | epot = -13.1442205369175 | etot = -9.13334913085908 +123000 ekin = 1.47669540804833 | erot = 2.559063179982 | epot = -13.1691077191312 | etot = -9.13334913110085 +124000 ekin = 1.49558302658158 | erot = 2.54411105943717 | epot = -13.1730432172613 | etot = -9.13334913124258 +125000 ekin = 1.5007612248973 | erot = 2.51952798471307 | epot = -13.1536383408714 | etot = -9.13334913126099 +126000 ekin = 1.49214728684699 | erot = 2.48515933103519 | epot = -13.1106557490374 | etot = -9.1333491311552 +127000 ekin = 1.47053410713936 | erot = 2.4417448007513 | epot = -13.0456280388476 | etot = -9.13334913095689 +128000 ekin = 1.43743445323482 | erot = 2.39059049317554 | epot = -12.9613740770759 | etot = -9.13334913066556 +129000 ekin = 1.39501109707029 | erot = 2.33380120125828 | epot = -12.8621614286436 | etot = -9.13334913031504 +130000 ekin = 1.34584042016727 | erot = 2.27401545397185 | epot = -12.7532050040794 | etot = -9.13334912994024 +131000 ekin = 1.29268930786566 | erot = 2.21410134111234 | epot = -12.6401397785509 | etot = -9.13334912957287 +132000 ekin = 1.23832315616802 | erot = 2.15686384200895 | epot = -12.5285361274155 | etot = -9.13334912923854 +133000 ekin = 1.1853526768118 | erot = 2.10479906741768 | epot = -12.4235008731854 | etot = -9.13334912895591 +134000 ekin = 1.136121555628 | erot = 2.05991346428637 | epot = -12.3293841486506 | etot = -9.13334912873626 +135000 ekin = 1.09263262326044 | erot = 2.02360952444374 | epot = -12.2495912762907 | etot = -9.13334912858652 +136000 ekin = 1.05650575788342 | erot = 1.9966203066869 | epot = -12.1864751930783 | etot = -9.13334912850799 +137000 ekin = 1.02895878679454 | erot = 1.97899212834894 | epot = -12.1413000436437 | etot = -9.13334912850018 +138000 ekin = 1.01080388995847 | erot = 1.97013512172241 | epot = -12.1142881402336 | etot = -9.13334912855268 +139000 ekin = 1.00245459395346 | erot = 1.96888144460882 | epot = -12.1046851672406 | etot = -9.13334912867834 +140000 ekin = 1.00393780740619 | erot = 1.97333010973458 | epot = -12.1106170460031 | etot = -9.13334912886233 +141000 ekin = 1.01490973367033 | erot = 1.98104530944798 | epot = -12.129304172214 | etot = -9.13334912909566 +142000 ekin = 1.03468044934417 | erot = 1.98917872502435 | epot = -12.1572083037339 | etot = -9.13334912936537 +143000 ekin = 1.06225104646174 | erot = 1.99463134790784 | epot = -12.1902315240234 | etot = -9.13334912965385 +144000 ekin = 1.09636709127249 | erot = 1.99441220318397 | epot = -12.2241284243807 | etot = -9.13334912992419 +145000 ekin = 1.13559045362119 | erot = 1.98572590466005 | epot = -12.2546654884645 | etot = -9.13334913018322 +146000 ekin = 1.17838854122087 | erot = 1.96612892354251 | epot = -12.2778665951536 | etot = -9.13334913039023 +147000 ekin = 1.22300699749175 | erot = 1.93405129394969 | epot = -12.290407421963 | etot = -9.13334913052156 +148000 ekin = 1.26785677863012 | erot = 1.88891621350833 | epot = -12.2901221226998 | etot = -9.13334913056131 +149000 ekin = 1.31170551487292 | erot = 1.83123494690858 | epot = -12.2762895922885 | etot = -9.13334913050698 +150000 ekin = 1.3536185809119 | erot = 1.762636075096 | epot = -12.2496037863728 | etot = -9.13334913036486 +151000 ekin = 1.39299848911419 | erot = 1.68572491420596 | epot = -12.2120725334743 | etot = -9.13334913015418 +152000 ekin = 1.42958376961901 | erot = 1.60381549112324 | epot = -12.1667483906421 | etot = -9.13334912989989 +153000 ekin = 1.46340801747584 | erot = 1.52060159601899 | epot = -12.1173587431247 | etot = -9.1333491296299 +154000 ekin = 1.49472650224552 | erot = 1.43981503875257 | epot = -12.067890670369 | etot = -9.13334912937093 +155000 ekin = 1.52392161825071 | erot = 1.364916576832 | epot = -12.0221873242286 | etot = -9.13334912914587 +156000 ekin = 1.55140022159549 | erot = 1.2988497238181 | epot = -11.9835990743858 | etot = -9.13334912897225 +157000 ekin = 1.57749707056582 | erot = 1.24387068637214 | epot = -11.9547168857976 | etot = -9.13334912885968 +158000 ekin = 1.60239506185778 | erot = 1.20145363967807 | epot = -11.9371978303529 | etot = -9.13334912881703 +159000 ekin = 1.62604462003782 | erot = 1.17226436760493 | epot = -11.9316581164853 | etot = -9.13334912884255 +160000 ekin = 1.64813303486544 | erot = 1.15619534708312 | epot = -11.9376775108803 | etot = -9.13334912893177 +161000 ekin = 1.66807327612978 | erot = 1.15245312716188 | epot = -11.9538755323666 | etot = -9.13334912907489 +162000 ekin = 1.68501875283056 | erot = 1.15969471512802 | epot = -11.9780625972164 | etot = -9.13334912925781 +163000 ekin = 1.69790620824675 | erot = 1.176209891261 | epot = -12.0074652289697 | etot = -9.13334912946192 +164000 ekin = 1.70552711798396 | erot = 1.20014309389824 | epot = -12.0390193415471 | etot = -9.13334912966488 +165000 ekin = 1.70662691809348 | erot = 1.22974121417714 | epot = -12.069717262113 | etot = -9.1333491298424 +166000 ekin = 1.70002908026848 | erot = 1.26360423252402 | epot = -12.0969824427635 | etot = -9.13334912997104 +167000 ekin = 1.68477683955882 | erot = 1.30090518403754 | epot = -12.119031153627 | etot = -9.13334913003062 +168000 ekin = 1.66027923283184 | erot = 1.34154370359062 | epot = -12.1351720664311 | etot = -9.13334913000864 +169000 ekin = 1.62644124957725 | erot = 1.38619810991383 | epot = -12.1459884893943 | etot = -9.13334912990326 +170000 ekin = 1.58375251890772 | erot = 1.43625221626178 | epot = -12.153353864895 | etot = -9.13334912972554 +171000 ekin = 1.53331003043924 | erot = 1.49359459893396 | epot = -12.1602537588724 | etot = -9.13334912949918 +172000 ekin = 1.476761061614 | erot = 1.56031583407033 | epot = -12.1704260249402 | etot = -9.13334912925584 +173000 ekin = 1.41695754705525 | erot = 1.63848249765407 | epot = -12.1887891730447 | etot = -9.13334912833541 +174000 ekin = 1.35937684304481 | erot = 1.72968793645238 | epot = -12.2224139078255 | etot = -9.13334912832827 +175000 ekin = 1.3053754081881 | erot = 1.83369980102265 | epot = -12.2724243375756 | etot = -9.13334912836484 +176000 ekin = 1.25571357800303 | erot = 1.94952726339955 | epot = -12.3385899698493 | etot = -9.13334912844669 +177000 ekin = 1.21104692225311 | erot = 2.07558802224398 | epot = -12.4199840730644 | etot = -9.13334912856735 +178000 ekin = 1.17189512057037 | erot = 2.20976079574657 | epot = -12.5150050450644 | etot = -9.13334912874749 +179000 ekin = 1.13864315857372 | erot = 2.34949890132906 | epot = -12.6214911888119 | etot = -9.13334912890909 +180000 ekin = 1.11156621835596 | erot = 2.49234008540024 | epot = -12.737255432825 | etot = -9.1333491290688 +181000 ekin = 1.09087167613587 | erot = 2.63567357536161 | epot = -12.8598943807503 | etot = -9.13334912925281 +182000 ekin = 1.07675226579842 | erot = 2.77693577183354 | epot = -12.9870371670197 | etot = -9.13334912938778 +183000 ekin = 1.06942294234152 | erot = 2.91405263083466 | epot = -13.1168247026767 | etot = -9.13334912950054 +184000 ekin = 1.06913488705838 | erot = 3.04520163111684 | epot = -13.2476856477707 | etot = -9.13334912959545 +185000 ekin = 1.07614345922789 | erot = 3.16875772929948 | epot = -13.378250318213 | etot = -9.13334912968562 +186000 ekin = 1.09060563376747 | erot = 3.28317984154881 | epot = -13.5071346051107 | etot = -9.13334912979441 +187000 ekin = 1.11239929858146 | erot = 3.38683780589114 | epot = -13.6325862344249 | etot = -9.13334912995233 +188000 ekin = 1.14088837562638 | erot = 3.47780595660538 | epot = -13.7520434624201 | etot = -9.13334913018836 +189000 ekin = 1.17469755695842 | erot = 3.55369218298273 | epot = -13.8617388704573 | etot = -9.13334913051617 +190000 ekin = 1.2115896198333 | erot = 3.61161008256096 | epot = -13.9565488333134 | etot = -9.13334913091917 +191000 ekin = 1.24837558083714 | erot = 3.64780345127574 | epot = -14.0295281634887 | etot = -9.13334913137586 +192000 ekin = 1.28102311682943 | erot = 3.65810395429009 | epot = -14.0724762027876 | etot = -9.13334913166806 +193000 ekin = 1.30598320816959 | erot = 3.64139295006505 | epot = -14.0807252900252 | etot = -9.13334913179052 +194000 ekin = 1.32049648836597 | erot = 3.59844552363042 | epot = -14.0522911436923 | etot = -9.13334913169586 +195000 ekin = 1.32298604774247 | erot = 3.5321292813495 | epot = -13.9884644604292 | etot = -9.1333491313372 +196000 ekin = 1.31323645162539 | erot = 3.44751612705309 | epot = -13.8941017095232 | etot = -9.13334913084476 +197000 ekin = 1.29228934698113 | erot = 3.350723403225 | epot = -13.7763618804987 | etot = -9.13334913029261 +198000 ekin = 1.26212633786599 | erot = 3.24789114381998 | epot = -13.643366611423 | etot = -9.13334912973699 +199000 ekin = 1.22527047461683 | erot = 3.14483705467214 | epot = -13.5034566585631 | etot = -9.13334912927412 +200000 ekin = 1.18441799207204 | erot = 3.04594245963003 | epot = -13.3637095806218 | etot = -9.13334912891969 +201000 ekin = 1.14216630511914 | erot = 2.95390025492363 | epot = -13.2294156887272 | etot = -9.1333491286844 +202000 ekin = 1.10084220211718 | erot = 2.86987712396353 | epot = -13.1040684546434 | etot = -9.13334912856272 +203000 ekin = 1.06240856568988 | erot = 2.79366067226835 | epot = -12.9894183664997 | etot = -9.13334912854149 +204000 ekin = 1.02841768821199 | erot = 2.72389144275511 | epot = -12.885658259572 | etot = -9.13334912860488 +205000 ekin = 0.999988405220592 | erot = 2.65832732458309 | epot = -12.7916648585389 | etot = -9.13334912873525 +206000 ekin = 0.977799621225001 | erot = 2.59412391514179 | epot = -12.7052726652798 | etot = -9.13334912891299 +207000 ekin = 0.962105653965304 | erot = 2.528137921261 | epot = -12.6235927043398 | etot = -9.1333491291135 +208000 ekin = 0.952783648018777 | erot = 2.45726642892286 | epot = -12.5433992062486 | etot = -9.133349129307 +209000 ekin = 0.949416945748481 | erot = 2.37882137049687 | epot = -12.4615874457066 | etot = -9.13334912946124 +210000 ekin = 0.951402263215182 | erot = 2.29090939419182 | epot = -12.3756607869542 | etot = -9.13334912954718 +211000 ekin = 0.958051952077585 | erot = 2.19275562021841 | epot = -12.2841567018437 | etot = -9.13334912954766 +212000 ekin = 0.968659667700472 | erot = 2.08489619855782 | epot = -12.1869049957197 | etot = -9.13334912946136 +213000 ekin = 0.982515908119962 | erot = 1.9691842228096 | epot = -12.0850492602323 | etot = -9.13334912930278 +214000 ekin = 0.998888701919759 | erot = 1.84860041861888 | epot = -11.9808382496354 | etot = -9.13334912909675 +215000 ekin = 1.01700134912568 | erot = 1.72690897492139 | epot = -11.877259452919 | etot = -9.13334912887197 +216000 ekin = 1.03603050122452 | erot = 1.60822693577792 | epot = -11.7776065656583 | etot = -9.13334912865589 +217000 ekin = 1.05512477228468 | erot = 1.49657917533765 | epot = -11.6850530760948 | etot = -9.13334912847249 +218000 ekin = 1.07342860744181 | erot = 1.39550092670151 | epot = -11.6022786624835 | etot = -9.13334912834018 +219000 ekin = 1.09009860355571 | erot = 1.30773521951529 | epot = -11.5311829513408 | etot = -9.13334912826979 +220000 ekin = 1.10431207607343 | erot = 1.23505496062862 | epot = -11.4727161649657 | etot = -9.13334912826362 +221000 ekin = 1.11527717993037 | erot = 1.17821867809227 | epot = -11.4268449863377 | etot = -9.13334912831507 +222000 ekin = 1.12225437592962 | erot = 1.13704823944124 | epot = -11.3926517437815 | etot = -9.1333491284106 +223000 ekin = 1.12459297621399 | erot = 1.11060060825087 | epot = -11.3685427129972 | etot = -9.13334912853233 +224000 ekin = 1.12177911879604 | erot = 1.09739625543906 | epot = -11.3525245028961 | etot = -9.133349128661 +225000 ekin = 1.11348637905741 | erot = 1.09566402531915 | epot = -11.3424995331559 | etot = -9.13334912877937 +226000 ekin = 1.09961800000693 | erot = 1.10360909760929 | epot = -11.3365762264852 | etot = -9.13334912886903 +227000 ekin = 1.08033165066208 | erot = 1.11952730043394 | epot = -11.333208080032 | etot = -9.13334912893602 +228000 ekin = 1.05604602872772 | erot = 1.14187865421848 | epot = -11.3312738119171 | etot = -9.13334912897095 +229000 ekin = 1.027424186635 | erot = 1.16938489301662 | epot = -11.3301582086286 | etot = -9.13334912897701 +230000 ekin = 0.995339184991533 | erot = 1.201020481986 | epot = -11.3297087959369 | etot = -9.13334912895939 +231000 ekin = 0.960829492708657 | erot = 1.23597735762286 | epot = -11.3301559792544 | etot = -9.13334912892285 +232000 ekin = 0.92505043273521 | erot = 1.27360958612367 | epot = -11.3320091477353 | etot = -9.13334912887644 +233000 ekin = 0.889225435959709 | erot = 1.31337910210612 | epot = -11.3359536668892 | etot = -9.13334912882337 +234000 ekin = 0.854600006628674 | erot = 1.35483402381901 | epot = -11.3427831592147 | etot = -9.133349128767 +235000 ekin = 0.822390924845149 | erot = 1.39757430015815 | epot = -11.3533143537193 | etot = -9.13334912871597 +236000 ekin = 0.793732848711787 | erot = 1.44121433399046 | epot = -11.3682963113762 | etot = -9.13334912867398 +237000 ekin = 0.769632191219387 | erot = 1.48535644446045 | epot = -11.3883377643264 | etot = -9.13334912864658 +238000 ekin = 0.750918993365987 | erot = 1.52956143549191 | epot = -11.4138295574957 | etot = -9.13334912863784 +239000 ekin = 0.738206267497149 | erot = 1.5733336116213 | epot = -11.4448890077678 | etot = -9.13334912864934 +240000 ekin = 0.731862193743969 | erot = 1.61613149974206 | epot = -11.4813428221655 | etot = -9.13334912867947 +241000 ekin = 0.73199932800202 | erot = 1.65741090456841 | epot = -11.5227593612935 | etot = -9.13334912872305 +242000 ekin = 0.738482620157313 | erot = 1.69669130986291 | epot = -11.5685230587942 | etot = -9.13334912877397 +243000 ekin = 0.750955042325396 | erot = 1.7336492948231 | epot = -11.6179534659684 | etot = -9.13334912881989 +244000 ekin = 0.768877080466636 | erot = 1.7682236027561 | epot = -11.6704498120772 | etot = -9.13334912885446 +245000 ekin = 0.791573929294678 | erot = 1.80068045121315 | epot = -11.7256035093796 | etot = -9.13334912887177 +246000 ekin = 0.81828291427161 | erot = 1.8316410744518 | epot = -11.7832731175944 | etot = -9.13334912887095 +247000 ekin = 0.848193621601761 | erot = 1.8620509655525 | epot = -11.8435937160104 | etot = -9.13334912885613 +248000 ekin = 0.880474358635575 | erot = 1.89308546777806 | epot = -11.9069089552504 | etot = -9.13334912883675 +249000 ekin = 0.914280881219353 | erot = 1.92599713223906 | epot = -11.9736271422846 | etot = -9.13334912882621 +250000 ekin = 0.948746730716563 | erot = 1.96192054843754 | epot = -12.0440164079946 | etot = -9.13334912884045 +251000 ekin = 0.982959063854421 | erot = 2.00165977259934 | epot = -12.117967965349 | etot = -9.13334912889524 +252000 ekin = 1.01592948249861 | erot = 2.04549252396402 | epot = -12.1947711354641 | etot = -9.13334912900142 +253000 ekin = 1.04657777483986 | erot = 2.09303441305998 | epot = -12.2729613170601 | etot = -9.13334912916028 +254000 ekin = 1.07373541755075 | erot = 2.14319803018483 | epot = -12.350282577099 | etot = -9.1333491293634 +255000 ekin = 1.09620163163022 | erot = 2.19430966720576 | epot = -12.423860428418 | etot = -9.13334912958205 +256000 ekin = 1.1128720642814 | erot = 2.24438579427459 | epot = -12.4906069883393 | etot = -9.13334912978327 +257000 ekin = 1.12287782510611 | erot = 2.29146665865421 | epot = -12.5476936136922 | etot = -9.13334912993191 +258000 ekin = 1.12572293500246 | erot = 2.33396623628273 | epot = -12.5930383012897 | etot = -9.13334913000448 +259000 ekin = 1.12139026023621 | erot = 2.37095948468543 | epot = -12.6256988749109 | etot = -9.13334912998925 +260000 ekin = 1.11036122819302 | erot = 2.40229658115372 | epot = -12.6460069392473 | etot = -9.13334912990051 +261000 ekin = 1.09354805445053 | erot = 2.42847877902901 | epot = -12.6553759632422 | etot = -9.13334912976261 +262000 ekin = 1.07216031825766 | erot = 2.45046938603004 | epot = -12.655978833892 | etot = -9.13334912960435 +263000 ekin = 1.04754368718277 | erot = 2.46943297797168 | epot = -12.6503257946116 | etot = -9.13334912945713 +264000 ekin = 1.02102495133818 | erot = 2.4864784463712 | epot = -12.64085252705 | etot = -9.1333491293406 +265000 ekin = 0.99378878344356 | erot = 2.5024706313637 | epot = -12.6296085440765 | etot = -9.13334912926926 +266000 ekin = 0.966800247929908 | erot = 2.51790683904988 | epot = -12.61805621623 | etot = -9.13334912925017 +267000 ekin = 0.940784249459268 | erot = 2.53283827184786 | epot = -12.6069716505894 | etot = -9.13334912928228 +268000 ekin = 0.916272152394494 | erot = 2.54684612152474 | epot = -12.5964674032729 | etot = -9.13334912935369 +269000 ekin = 0.89372217247737 | erot = 2.55907244306913 | epot = -12.5861437450345 | etot = -9.13334912948799 +270000 ekin = 0.87370928512903 | erot = 2.56799722891172 | epot = -12.5750556436016 | etot = -9.13334912956089 +271000 ekin = 0.857156433251639 | erot = 2.57226369508294 | epot = -12.5627692579077 | etot = -9.13334912957308 +272000 ekin = 0.845541083724111 | erot = 2.5709611090938 | epot = -12.5498513223264 | etot = -9.13334912950853 +273000 ekin = 0.840983736969857 | erot = 2.56364270819288 | epot = -12.5379755745172 | etot = -9.13334912935446 +274000 ekin = 0.846103061110646 | erot = 2.55054497183486 | epot = -12.5299971620892 | etot = -9.13334912914368 +275000 ekin = 0.863570741245198 | erot = 2.53260377850931 | epot = -12.5295236486809 | etot = -9.13334912892642 +276000 ekin = 0.895419299415623 | erot = 2.51114645014646 | epot = -12.5399148783702 | etot = -9.13334912880815 +277000 ekin = 0.942302359419293 | erot = 2.48734970425548 | epot = -12.563001192512 | etot = -9.13334912883719 +278000 ekin = 1.00299069941652 | erot = 2.46199112036275 | epot = -12.5983309488097 | etot = -9.13334912903046 +279000 ekin = 1.07434561589334 | erot = 2.43529774590631 | epot = -12.6429924911399 | etot = -9.13334912934022 +280000 ekin = 1.15182340984115 | erot = 2.40711596365384 | epot = -12.6922885031804 | etot = -9.13334912968536 +281000 ekin = 1.23030856581906 | erot = 2.37726964751099 | epot = -12.7409273433239 | etot = -9.13334912999385 +282000 ekin = 1.30483974879861 | erot = 2.34551973870636 | epot = -12.7837086176988 | etot = -9.13334913019381 +283000 ekin = 1.37151257999533 | erot = 2.31231452819746 | epot = -12.8171762384381 | etot = -9.13334913024529 +284000 ekin = 1.42789685319471 | erot = 2.27901843146069 | epot = -12.8402644148115 | etot = -9.13334913015614 +285000 ekin = 1.47299679574546 | erot = 2.24762833985691 | epot = -12.8539742655639 | etot = -9.13334912996152 +286000 ekin = 1.50701906587772 | erot = 2.22050056283213 | epot = -12.8608687584216 | etot = -9.13334912971172 +287000 ekin = 1.53099472144828 | erot = 2.19999584806399 | epot = -12.8643396989721 | etot = -9.13334912945983 +288000 ekin = 1.54636449768928 | erot = 2.18811490987408 | epot = -12.867828536815 | etot = -9.13334912925162 +289000 ekin = 1.55461163491245 | erot = 2.18618804174281 | epot = -12.8741488057737 | etot = -9.13334912911842 +290000 ekin = 1.55699428674702 | erot = 2.19466879450533 | epot = -12.885012210327 | etot = -9.13334912907464 +291000 ekin = 1.55439775255665 | erot = 2.21306131817934 | epot = -12.9008081998537 | etot = -9.13334912911775 +292000 ekin = 1.54729960240266 | erot = 2.2399831442194 | epot = -12.9206318758542 | etot = -9.13334912923217 +293000 ekin = 1.53582108608398 | erot = 2.27333490842332 | epot = -12.9425051239027 | etot = -9.13334912939539 +294000 ekin = 1.51982864506158 | erot = 2.31049721096826 | epot = -12.9636749856261 | etot = -9.1333491295963 +295000 ekin = 1.49905154213301 | erot = 2.34851873983899 | epot = -12.9809194117664 | etot = -9.13334912979436 +296000 ekin = 1.47319364802762 | erot = 2.38443281021029 | epot = -12.9909755882216 | etot = -9.1333491299837 +297000 ekin = 1.44203124545927 | erot = 2.41536854589898 | epot = -12.9907489215093 | etot = -9.13334913015106 +298000 ekin = 1.40549976702035 | erot = 2.43867409046045 | epot = -12.9775229877645 | etot = -9.1333491302837 +299000 ekin = 1.36377241662742 | erot = 2.45204871800392 | epot = -12.9491702649994 | etot = -9.13334913036807 +300000 ekin = 1.3173271191209 | erot = 2.45368408092518 | epot = -12.904360330438 | etot = -9.13334913039193 +301000 ekin = 1.26699022414646 | erot = 2.44240353914543 | epot = -12.8427428936391 | etot = -9.13334913034725 +302000 ekin = 1.21394210637081 | erot = 2.41777278592915 | epot = -12.7650640225325 | etot = -9.13334913023257 +303000 ekin = 1.15967414429252 | erot = 2.38015189683622 | epot = -12.673175171184 | etot = -9.13334913005528 +304000 ekin = 1.10589726251214 | erot = 2.33066939618148 | epot = -12.5699157885239 | etot = -9.13334912983026 +305000 ekin = 1.05441504199182 | erot = 2.27111808933713 | epot = -12.4588822609061 | etot = -9.13334912957715 +306000 ekin = 1.00698421397077 | erot = 2.20379218514084 | epot = -12.3441255284277 | etot = -9.13334912931605 +307000 ekin = 0.965188337626888 | erot = 2.13129764385469 | epot = -12.2298351105458 | etot = -9.1333491290642 +308000 ekin = 0.930345631943897 | erot = 2.05636814615661 | epot = -12.1200629069343 | etot = -9.13334912883379 +309000 ekin = 0.903461768092468 | erot = 1.98167791132994 | epot = -12.0184888080557 | etot = -9.13334912863331 +310000 ekin = 0.885228515007583 | erot = 1.90967870211724 | epot = -11.9282563455905 | etot = -9.13334912846572 +311000 ekin = 0.876047647700123 | erot = 1.84263812610218 | epot = -11.8520349021355 | etot = -9.1333491283332 +312000 ekin = 0.876068182198715 | erot = 1.78248869457073 | epot = -11.7919060050089 | etot = -9.1333491282394 +313000 ekin = 0.885223985969676 | erot = 1.73072892882416 | epot = -11.749302042984 | etot = -9.13334912819014 +314000 ekin = 0.903258342514934 | erot = 1.68832066988553 | epot = -11.724928140593 | etot = -9.13334912819258 +315000 ekin = 0.929731391718292 | erot = 1.65558558099914 | epot = -11.7186661009715 | etot = -9.13334912825407 +316000 ekin = 0.964013828970557 | erot = 1.63211973509223 | epot = -11.7294826924421 | etot = -9.13334912837931 +317000 ekin = 1.00527629211667 | erot = 1.61675326466648 | epot = -11.7553786853505 | etot = -9.13334912856736 +318000 ekin = 1.05248736450128 | erot = 1.6075857094073 | epot = -11.7934222027177 | etot = -9.13334912880913 +319000 ekin = 1.10443332868131 | erot = 1.60212494474658 | epot = -11.8399074025131 | etot = -9.13334912908516 +320000 ekin = 1.15976924920824 | erot = 1.59754526105528 | epot = -11.8906636396291 | etot = -9.13334912936554 +321000 ekin = 1.21710352305667 | erot = 1.59105554518265 | epot = -11.9415081978536 | etot = -9.1333491296143 +322000 ekin = 1.2751075118946 | erot = 1.58033324923157 | epot = -11.9887898909214 | etot = -9.13334912979523 +323000 ekin = 1.33263084645693 | erot = 1.56394390937382 | epot = -12.0299238857114 | etot = -9.13334912988067 +324000 ekin = 1.3887959071219 | erot = 1.54164678485252 | epot = -12.0637918218343 | etot = -9.13334912985991 +325000 ekin = 1.4430462367968 | erot = 1.51450056885254 | epot = -12.0908959353913 | etot = -9.13334912974193 +326000 ekin = 1.49513435445647 | erot = 1.48473073066021 | epot = -12.1132142146706 | etot = -9.13334912955392 +327000 ekin = 1.54505065938307 | erot = 1.45538400860302 | epot = -12.1337837973213 | etot = -9.13334912933518 +328000 ekin = 1.59290981434211 | erot = 1.42984788209296 | epot = -12.1561068255636 | etot = -9.13334912912848 +329000 ekin = 1.6388186097558 | erot = 1.41133335467746 | epot = -12.1835010934061 | etot = -9.1333491289728 +330000 ekin = 1.6827489618305 | erot = 1.40240729591298 | epot = -12.2185053866417 | etot = -9.13334912889822 +331000 ekin = 1.72443467169521 | erot = 1.40463116341981 | epot = -12.2624149640393 | etot = -9.13334912892428 +332000 ekin = 1.76330533674286 | erot = 1.41833479327414 | epot = -12.3149892590744 | etot = -9.13334912905745 +333000 ekin = 1.79846823309252 | erot = 1.44253834966185 | epot = -12.3743557120445 | etot = -9.13334912929011 +334000 ekin = 1.8287490059107 | erot = 1.47503277033816 | epot = -12.4371309058477 | etot = -9.13334912959887 +335000 ekin = 1.85279616115795 | erot = 1.51263570197463 | epot = -12.4987809930765 | etot = -9.13334912994388 +336000 ekin = 1.8692763055875 | erot = 1.55160162438115 | epot = -12.5542270602387 | etot = -9.13334913027 +337000 ekin = 1.87711735413911 | erot = 1.58820049773275 | epot = -12.5986669823878 | etot = -9.1333491305159 +338000 ekin = 1.87574840923148 | erot = 1.61938868722871 | epot = -12.6284862270852 | etot = -9.13334913062505 +339000 ekin = 1.86534866362706 | erot = 1.64338736517787 | epot = -12.6420851593668 | etot = -9.13334913056187 +340000 ekin = 1.84695798886985 | erot = 1.66009075059703 | epot = -12.6403978697904 | etot = -9.13334913032354 +341000 ekin = 1.82243969076648 | erot = 1.67114820362537 | epot = -12.6269370243338 | etot = -9.13334912994199 +342000 ekin = 1.79428655955884 | erot = 1.67969211618856 | epot = -12.6073278052239 | etot = -9.13334912947647 +343000 ekin = 1.76531632972554 | erot = 1.68978090506835 | epot = -12.588446363791 | etot = -9.13334912899712 +344000 ekin = 1.73833039739303 | erot = 1.70570000746982 | epot = -12.5773795334337 | etot = -9.13334912857081 +345000 ekin = 1.71580589060296 | erot = 1.73127559556315 | epot = -12.5804306144157 | etot = -9.13334912824961 +346000 ekin = 1.69966353097621 | erot = 1.76931234934753 | epot = -12.6023250083918 | etot = -9.13334912806805 +347000 ekin = 1.69112042623312 | erot = 1.82120184302293 | epot = -12.6456713973011 | etot = -9.13334912804505 +348000 ekin = 1.69061396982785 | erot = 1.88669704033651 | epot = -12.7106601383518 | etot = -9.13334912818742 +349000 ekin = 1.69777681788225 | erot = 1.9638292686625 | epot = -12.7949552150365 | etot = -9.13334912849176 +350000 ekin = 1.7114511501027 | erot = 2.04895591402613 | epot = -12.8937561930722 | etot = -9.1333491289434 +351000 ekin = 1.72974629646184 | erot = 2.13695636910572 | epot = -13.0000517950785 | etot = -9.13334912951095 +352000 ekin = 1.75015893903934 | erot = 2.2216200845667 | epot = -13.1051281537469 | etot = -9.13334913014089 +353000 ekin = 1.7697803490554 | erot = 2.29627029646019 | epot = -13.199399776273 | etot = -9.1333491307574 +354000 ekin = 1.78560210911933 | erot = 2.35462017023432 | epot = -13.2735714106214 | etot = -9.13334913126776 +355000 ekin = 1.79489785472807 | erot = 2.39176336004151 | epot = -13.320010346352 | etot = -9.13334913158243 +356000 ekin = 1.79561393246548 | erot = 2.40509186859473 | epot = -13.3340549327002 | etot = -9.13334913163996 +357000 ekin = 1.78667091072583 | erot = 2.3948761413485 | epot = -13.3148961835033 | etot = -9.13334913142896 +358000 ekin = 1.76810167230458 | erot = 2.36429897994071 | epot = -13.2657497831709 | etot = -9.13334913092556 +359000 ekin = 1.74170569044632 | erot = 2.31907684809542 | epot = -13.1941316689276 | etot = -9.13334913038585 +360000 ekin = 1.70943632676121 | erot = 2.26611368397199 | epot = -13.1088991405408 | etot = -9.13334912980763 +361000 ekin = 1.67315005965374 | erot = 2.21234166615766 | epot = -13.0188408550985 | etot = -9.13334912928712 +362000 ekin = 1.63480994001495 | erot = 2.1637688737988 | epot = -12.9319279427063 | etot = -9.13334912889251 +363000 ekin = 1.59622606057464 | erot = 2.12469986683822 | epot = -12.8542750560708 | etot = -9.13334912865792 +364000 ekin = 1.55890205833711 | erot = 2.09734631559854 | epot = -12.789597502522 | etot = -9.13334912858635 +365000 ekin = 1.52397421076708 | erot = 2.08181308416768 | epot = -12.7391364235921 | etot = -9.13334912865734 +366000 ekin = 1.49221260733957 | erot = 2.07639009796262 | epot = -12.7019518341362 | etot = -9.13334912883398 +367000 ekin = 1.46405952364913 | erot = 2.07805510122222 | epot = -12.6754637539446 | etot = -9.13334912907327 +368000 ekin = 1.4396772693236 | erot = 2.08307216057651 | epot = -12.6560985592346 | etot = -9.13334912933452 +369000 ekin = 1.4189901081147 | erot = 2.08756917147321 | epot = -12.6399084091739 | etot = -9.13334912958597 +370000 ekin = 1.40171557356763 | erot = 2.08800173652916 | epot = -12.6230664399032 | etot = -9.1333491298064 +371000 ekin = 1.38739280854876 | erot = 2.08146226240655 | epot = -12.6022042009382 | etot = -9.13334912998285 +372000 ekin = 1.37542340308599 | erot = 2.06585193702345 | epot = -12.5746244702146 | etot = -9.13334913010515 +373000 ekin = 1.36513752357922 | erot = 2.03996886737141 | epot = -12.5384555211136 | etot = -9.13334913016301 +374000 ekin = 1.35583949105178 | erot = 2.00351975772439 | epot = -12.4927083789467 | etot = -9.1333491301705 +375000 ekin = 1.34694157711448 | erot = 1.95716038268523 | epot = -12.4374510898687 | etot = -9.133349130069 +376000 ekin = 1.33814968105251 | erot = 1.90258032253295 | epot = -12.3740791334836 | etot = -9.13334912989819 +377000 ekin = 1.32936261120791 | erot = 1.8422726572518 | epot = -12.3049843981374 | etot = -9.13334912967769 +378000 ekin = 1.3206315999133 | erot = 1.77926043318984 | epot = -12.2332411625432 | etot = -9.13334912944002 +379000 ekin = 1.31208340368839 | erot = 1.71672941783581 | epot = -12.1621619507412 | etot = -9.13334912921698 +380000 ekin = 1.30384179784195 | erot = 1.65764204155733 | epot = -12.0948329684337 | etot = -9.13334912903439 +381000 ekin = 1.2965791747582 | erot = 1.60487100826636 | epot = -12.0347993118453 | etot = -9.13334912882077 +382000 ekin = 1.29092190134689 | erot = 1.56061067707034 | epot = -11.9848817072435 | etot = -9.1333491288263 +383000 ekin = 1.28620909068431 | erot = 1.52536833769959 | epot = -11.9449265572238 | etot = -9.13334912883987 +384000 ekin = 1.28205683099651 | erot = 1.4992280616878 | epot = -11.914634021517 | etot = -9.13334912883267 +385000 ekin = 1.27850478017905 | erot = 1.4821618914478 | epot = -11.8940158004154 | etot = -9.13334912878854 +386000 ekin = 1.27603762174048 | erot = 1.47423730492973 | epot = -11.8836240553815 | etot = -9.13334912871131 +387000 ekin = 1.27548287271979 | erot = 1.47565716104701 | epot = -11.8844891623916 | etot = -9.13334912862484 +388000 ekin = 1.2778004458587 | erot = 1.4866096409739 | epot = -11.8977592154001 | etot = -9.1333491285675 +389000 ekin = 1.28381262703675 | erot = 1.50697425852375 | epot = -11.9241360141402 | etot = -9.13334912857974 +390000 ekin = 1.29393930260966 | erot = 1.53598035068215 | epot = -11.9632687819878 | etot = -9.13334912869599 +391000 ekin = 1.3080007445623 | erot = 1.57190984924413 | epot = -12.0132597227366 | etot = -9.13334912893016 +392000 ekin = 1.32513099179581 | erot = 1.61197584867668 | epot = -12.0704559697456 | etot = -9.13334912927313 +393000 ekin = 1.3438254300028 | erot = 1.65241448883335 | epot = -12.1295890485272 | etot = -9.13334912969108 +394000 ekin = 1.36212102398765 | erot = 1.68881012624681 | epot = -12.1842802803645 | etot = -9.13334913013003 +395000 ekin = 1.37788072140428 | erot = 1.71661593053968 | epot = -12.2278457824692 | etot = -9.13334913052525 +396000 ekin = 1.38913154512495 | erot = 1.73181112618257 | epot = -12.2542918021061 | etot = -9.1333491307986 +397000 ekin = 1.39439357479808 | erot = 1.73153617598979 | epot = -12.2592788817216 | etot = -9.13334913093374 +398000 ekin = 1.39293904659231 | erot = 1.71441550438671 | epot = -12.2407036818562 | etot = -9.13334913087719 +399000 ekin = 1.38493174777457 | erot = 1.680947663508 | epot = -12.1992285419457 | etot = -9.1333491306631 +400000 ekin = 1.37142116074094 | erot = 1.63330764197803 | epot = -12.1380779330257 | etot = -9.13334913030669 +401000 ekin = 1.35412991252425 | erot = 1.57501044311623 | epot = -12.062489485534 | etot = -9.13334912989352 +402000 ekin = 1.3351799185687 | erot = 1.51048364979967 | epot = -11.979012697774 | etot = -9.13334912940564 +403000 ekin = 1.31709653187235 | erot = 1.44458891478846 | epot = -11.8950345756004 | etot = -9.13334912893958 +404000 ekin = 1.30234590493842 | erot = 1.38198365576689 | epot = -11.8176786892416 | etot = -9.13334912853627 +405000 ekin = 1.29301391716245 | erot = 1.32673455588811 | epot = -11.7530976012896 | etot = -9.13334912823905 +406000 ekin = 1.29065467462772 | erot = 1.2820411643635 | epot = -11.7060449670181 | etot = -9.13334912802684 +407000 ekin = 1.2964323729479 | erot = 1.25006436588412 | epot = -11.6798458667523 | etot = -9.13334912792027 +408000 ekin = 1.31094700615256 | erot = 1.2319098672154 | epot = -11.6762060012851 | etot = -9.13334912791717 +409000 ekin = 1.33422438303383 | erot = 1.22763489752287 | epot = -11.6952084085727 | etot = -9.13334912801602 +410000 ekin = 1.36572014154981 | erot = 1.23628017302536 | epot = -11.7353494427884 | etot = -9.13334912821327 +411000 ekin = 1.40432668760791 | erot = 1.25592548503606 | epot = -11.7936013011463 | etot = -9.13334912850236 +412000 ekin = 1.44839088645893 | erot = 1.28379672627876 | epot = -11.8655367416066 | etot = -9.13334912886888 +413000 ekin = 1.49576795241879 | erot = 1.3164603274893 | epot = -11.9455774091926 | etot = -9.13334912928451 +414000 ekin = 1.54394920889486 | erot = 1.35014055217834 | epot = -12.027438890778 | etot = -9.13334912970475 +415000 ekin = 1.59029421705179 | erot = 1.38116660571118 | epot = -12.1048099528345 | etot = -9.13334913007151 +416000 ekin = 1.63235973909122 | erot = 1.40649922749203 | epot = -12.1722080969095 | etot = -9.13334913032622 +417000 ekin = 1.66825800489225 | erot = 1.42422016761049 | epot = -12.2258273029358 | etot = -9.13334913043303 +418000 ekin = 1.69693219837238 | erot = 1.43381449957335 | epot = -12.2640958283212 | etot = -9.13334913037547 +419000 ekin = 1.71824951894782 | erot = 1.43620625779461 | epot = -12.2878049069275 | etot = -9.13334913018508 +420000 ekin = 1.73288337430553 | erot = 1.4335082535061 | epot = -12.2997407577237 | etot = -9.13334912991204 +421000 ekin = 1.74204129532355 | erot = 1.42856028674781 | epot = -12.3039507116824 | etot = -9.13334912961099 +422000 ekin = 1.74713701807683 | erot = 1.42445618730668 | epot = -12.3049423347118 | etot = -9.13334912932833 +423000 ekin = 1.74949063384674 | erot = 1.42413436044253 | epot = -12.3069741233944 | etot = -9.13334912910517 +424000 ekin = 1.7500975464296 | erot = 1.43005641925039 | epot = -12.3135030946277 | etot = -9.13334912894769 +425000 ekin = 1.74947257256668 | erot = 1.44412400802246 | epot = -12.3269457094741 | etot = -9.13334912888491 +426000 ekin = 1.69664946387263 | erot = 1.40011304962393 | epot = -12.230111634597 | etot = -9.13334912110046 +427000 ekin = 1.76448154346123 | erot = 1.46695774970364 | epot = -12.3647884699851 | etot = -9.13334917682027 +428000 ekin = 1.77864040382666 | erot = 1.51204937412276 | epot = -12.4240389057584 | etot = -9.13334912780898 +429000 ekin = 1.77744254090577 | erot = 1.55645173379945 | epot = -12.4672434028109 | etot = -9.13334912810564 +430000 ekin = 1.76864481713832 | erot = 1.60567169371254 | epot = -12.5076656392898 | etot = -9.13334912843893 +431000 ekin = 1.7504144399296 | erot = 1.65655638514225 | epot = -12.5403199538346 | etot = -9.13334912876274 +432000 ekin = 1.72143753020831 | erot = 1.70559294341405 | epot = -12.5603796026451 | etot = -9.13334912902271 +433000 ekin = 1.68129756274101 | erot = 1.74934007551191 | epot = -12.5639867674192 | etot = -9.13334912916631 +434000 ekin = 1.63077650979853 | erot = 1.78490039303337 | epot = -12.549026031988 | etot = -9.13334912915609 +435000 ekin = 1.57198882084381 | erot = 1.81033246556218 | epot = -12.5156704153879 | etot = -9.13334912898188 +436000 ekin = 1.50828072851379 | erot = 1.82489908961103 | epot = -12.4665289467912 | etot = -9.13334912866637 +437000 ekin = 1.44388315301155 | erot = 1.82908776307981 | epot = -12.4063200443511 | etot = -9.13334912825977 +438000 ekin = 1.38337900429669 | erot = 1.82441107452496 | epot = -12.341139206648 | etot = -9.13334912782634 +439000 ekin = 1.33110407576205 | erot = 1.8130669450403 | epot = -12.2775201482284 | etot = -9.13334912742604 +440000 ekin = 1.29061754889013 | erot = 1.79757475508295 | epot = -12.2215414310745 | etot = -9.13334912710145 +441000 ekin = 1.26434687832198 | erot = 1.78048600607314 | epot = -12.1781820112667 | etot = -9.13334912687157 +442000 ekin = 1.2534498503799 | erot = 1.76421040799336 | epot = -12.1510093851086 | etot = -9.13334912673532 +443000 ekin = 1.25787308938493 | erot = 1.75093400476591 | epot = -12.1421562208312 | etot = -9.13334912668041 +444000 ekin = 1.27654491138898 | erot = 1.74256727851903 | epot = -12.1524613166026 | etot = -9.13334912669464 +445000 ekin = 1.30762960642584 | erot = 1.74066161516913 | epot = -12.1816403483655 | etot = -9.1333491267705 +446000 ekin = 1.34878485335343 | erot = 1.74626611356976 | epot = -12.2284000938288 | etot = -9.13334912690563 +447000 ekin = 1.39739993763858 | erot = 1.7597479345797 | epot = -12.2904969993197 | etot = -9.13334912710141 +448000 ekin = 1.45076649191025 | erot = 1.78060717934041 | epot = -12.3647227986042 | etot = -9.13334912735352 +449000 ekin = 1.50623999605478 | erot = 1.80738848344613 | epot = -12.4469776071518 | etot = -9.13334912765089 +450000 ekin = 1.56138908054711 | erot = 1.83773497344263 | epot = -12.532473181962 | etot = -9.13334912797229 +451000 ekin = 1.61412412964626 | erot = 1.86859865234344 | epot = -12.6160719102778 | etot = -9.13334912828812 +452000 ekin = 1.66280931630206 | erot = 1.89658548036298 | epot = -12.6927439252293 | etot = -9.13334912856426 +453000 ekin = 1.70634971637175 | erot = 1.91837476586721 | epot = -12.7580736110117 | etot = -9.13334912877277 +454000 ekin = 1.74423056750446 | erot = 1.93111374790554 | epot = -12.8086934443065 | etot = -9.13334912889654 +455000 ekin = 1.77648988409962 | erot = 1.93270291378094 | epot = -12.8425419268145 | etot = -9.13334912893392 +456000 ekin = 1.80361911556815 | erot = 1.92192628287717 | epot = -12.8588945273429 | etot = -9.13334912889758 +457000 ekin = 1.82640016706293 | erot = 1.89842961389858 | epot = -12.8581789097711 | etot = -9.13334912880958 +458000 ekin = 1.84570455026014 | erot = 1.86259298695662 | epot = -12.8416466659131 | etot = -9.13334912869634 +459000 ekin = 1.86229070171023 | erot = 1.81535342315067 | epot = -12.81099325344 | etot = -9.13334912857905 +460000 ekin = 1.87663848085934 | erot = 1.75803306182718 | epot = -12.7680206711614 | etot = -9.1333491284749 +461000 ekin = 1.88883864523247 | erot = 1.69219746384243 | epot = -12.7143852374653 | etot = -9.13334912839042 +462000 ekin = 1.89856203652347 | erot = 1.61956678027398 | epot = -12.6514779451233 | etot = -9.13334912832583 +463000 ekin = 1.90510221764509 | erot = 1.54196437877821 | epot = -12.5804157247008 | etot = -9.13334912827746 +464000 ekin = 1.90747686786675 | erot = 1.46127993198476 | epot = -12.5021059280876 | etot = -9.13334912823606 +465000 ekin = 1.90457977356165 | erot = 1.3794607009175 | epot = -12.4173896026663 | etot = -9.13334912818713 +466000 ekin = 1.89536572152317 | erot = 1.29851485172186 | epot = -12.3272297013678 | etot = -9.13334912812279 +467000 ekin = 1.8790183170995 | erot = 1.22048659414428 | epot = -12.232854039281 | etot = -9.13334912803722 +468000 ekin = 1.85509917792015 | erot = 1.147391262841 | epot = -12.1358395686905 | etot = -9.1333491279294 +469000 ekin = 1.82366605107261 | erot = 1.08110787535143 | epot = -12.0381230542277 | etot = -9.13334912780364 +470000 ekin = 1.78535216075537 | erot = 1.02324127043735 | epot = -11.9419425588581 | etot = -9.13334912766542 +471000 ekin = 1.74141051513297 | erot = 0.974982090044234 | epot = -11.8497417326976 | etot = -9.13334912752035 +472000 ekin = 1.69372019705842 | erot = 0.937000644455532 | epot = -11.7640699688868 | etot = -9.13334912737288 +473000 ekin = 1.6447363277088 | erot = 0.909402534932388 | epot = -11.6874879898697 | etot = -9.13334912722851 +474000 ekin = 1.59734995177274 | erot = 0.89175501843202 | epot = -11.6224540973017 | etot = -9.13334912709692 +475000 ekin = 1.55462885495176 | erot = 0.883174765260651 | epot = -11.5711527472053 | etot = -9.13334912699285 +476000 ekin = 1.51944866261102 | erot = 0.88245988856996 | epot = -11.5352576781141 | etot = -9.13334912693313 +477000 ekin = 1.4940824352899 | erot = 0.888250161717166 | epot = -11.5156817239363 | etot = -9.13334912692924 +478000 ekin = 1.47985622585605 | erot = 0.899197335532983 | epot = -11.5124026883723 | etot = -9.13334912698329 +479000 ekin = 1.4769537395284 | erot = 0.914115348457546 | epot = -11.5244182150811 | etot = -9.13334912709511 +480000 ekin = 1.48439477575458 | erot = 0.932072516620843 | epot = -11.5498164196191 | etot = -9.13334912724368 +481000 ekin = 1.50022741217527 | erot = 0.952423999184045 | epot = -11.586000538783 | etot = -9.13334912742371 +482000 ekin = 1.52172985963443 | erot = 0.974754211846249 | epot = -11.6298331991085 | etot = -9.13334912762786 +483000 ekin = 1.54567018241522 | erot = 0.998770450814447 | epot = -11.6777897610768 | etot = -9.13334912784716 +484000 ekin = 1.56858614723106 | erot = 1.02419763510823 | epot = -11.7261329104093 | etot = -9.13334912807003 +485000 ekin = 1.58707346955088 | erot = 1.05070585623107 | epot = -11.7711284540628 | etot = -9.1333491282808 +486000 ekin = 1.598071036031 | erot = 1.07788995424652 | epot = -11.8093101187388 | etot = -9.13334912846124 +487000 ekin = 1.59911980804437 | erot = 1.10529931942143 | epot = -11.83776825606 | etot = -9.13334912859421 +488000 ekin = 1.58856342116656 | erot = 1.13249736396192 | epot = -11.8544099137967 | etot = -9.13334912866827 +489000 ekin = 1.56566142904702 | erot = 1.15911683125775 | epot = -11.8581273889848 | etot = -9.13334912867998 +490000 ekin = 1.53060268554657 | erot = 1.18488502427314 | epot = -11.8488368384544 | etot = -9.13334912863472 +491000 ekin = 1.48443427069478 | erot = 1.20959914015972 | epot = -11.8273825393283 | etot = -9.13334912847376 +492000 ekin = 1.4293034535446 | erot = 1.23291829593332 | epot = -11.7955708778633 | etot = -9.13334912838534 +493000 ekin = 1.36749564145159 | erot = 1.25438544605084 | epot = -11.7552302157792 | etot = -9.1333491282768 +494000 ekin = 1.30137262988081 | erot = 1.27348228002541 | epot = -11.7082040380626 | etot = -9.13334912815639 +495000 ekin = 1.23360970817014 | erot = 1.28954660636146 | epot = -11.6565054425603 | etot = -9.13334912802866 +496000 ekin = 1.1637554864094 | erot = 1.3002319560863 | epot = -11.5973366205416 | etot = -9.13334917804587 +497000 ekin = 1.02574644939812 | erot = 1.24927230426314 | epot = -11.4083678755048 | etot = -9.13334912184354 +498000 ekin = 1.13339044616265 | erot = 1.24939677704399 | epot = -11.5161363891156 | etot = -9.13334916590892 +499000 ekin = 1.16434762393176 | erot = 1.25864673154956 | epot = -11.5563434800389 | etot = -9.13334912455754 +500000 ekin = 1.16768486506669 | erot = 1.25769344443893 | epot = -11.5587274345819 | etot = -9.13334912507627 +501000 ekin = 1.1755989549741 | erot = 1.25038915442576 | epot = -11.5593372343042 | etot = -9.13334912490429 +502000 ekin = 1.18926606273772 | erot = 1.23784323633009 | epot = -11.5604584237502 | etot = -9.13334912468237 +503000 ekin = 1.20982408114765 | erot = 1.22204157664294 | epot = -11.5652147822317 | etot = -9.1333491244411 +504000 ekin = 1.23811782736855 | erot = 1.20572865378404 | epot = -11.5771956053581 | etot = -9.1333491242055 +505000 ekin = 1.27460966228592 | erot = 1.19199209322116 | epot = -11.5999508795095 | etot = -9.13334912400242 +506000 ekin = 1.319280478194 | erot = 1.18393687677866 | epot = -11.636566478829 | etot = -9.13334912385632 +507000 ekin = 1.37157700900311 | erot = 1.18435118386577 | epot = -11.6892773166534 | etot = -9.13334912378454 +508000 ekin = 1.43042502721353 | erot = 1.19541187481578 | epot = -11.7591860258239 | etot = -9.13334912379463 +509000 ekin = 1.49431413372674 | erot = 1.21846596295653 | epot = -11.846129220568 | etot = -9.13334912388472 +510000 ekin = 1.56143815899816 | erot = 1.25390781315388 | epot = -11.948695096197 | etot = -9.133349124045 +511000 ekin = 1.6298540535938 | erot = 1.30115550673976 | epot = -12.064358684596 | etot = -9.13334912426245 +512000 ekin = 1.69760948238301 | erot = 1.35871536004267 | epot = -12.189673966951 | etot = -9.13334912452536 +513000 ekin = 1.76279412854663 | erot = 1.42431355746706 | epot = -12.32045681084 | etot = -9.13334912482629 +514000 ekin = 1.8234997843411 | erot = 1.49507387317685 | epot = -12.4519227826779 | etot = -9.13334912515993 +515000 ekin = 1.87772649131639 | erot = 1.56773414235994 | epot = -12.5788097591916 | etot = -9.13334912551528 +516000 ekin = 1.92332299298445 | erot = 1.63891274675724 | epot = -12.6955848656088 | etot = -9.13334912586715 +517000 ekin = 1.95805681102012 | erot = 1.70543998933825 | epot = -12.7968459265329 | etot = -9.13334912617454 +518000 ekin = 1.9798499194696 | erot = 1.76473849815008 | epot = -12.877937544009 | etot = -9.13334912638928 +519000 ekin = 1.98711819296642 | erot = 1.81518192784633 | epot = -12.935649247285 | etot = -9.13334912647229 +520000 ekin = 1.97908911077148 | erot = 1.85632478174803 | epot = -12.9687630189332 | etot = -9.13334912641371 +521000 ekin = 1.95594858056338 | erot = 1.88892760796433 | epot = -12.9782253147555 | etot = -9.13334912622781 +522000 ekin = 1.91881161738128 | erot = 1.91475582237251 | epot = -12.9669165657063 | etot = -9.13334912595252 +523000 ekin = 1.86954045343242 | erot = 1.93620351350113 | epot = -12.9390930925708 | etot = -9.13334912563722 +524000 ekin = 1.81047332181658 | erot = 1.95582271021995 | epot = -12.8996451573697 | etot = -9.13334912533321 +525000 ekin = 1.74413482435669 | erot = 1.97582576721489 | epot = -12.8533097166597 | etot = -9.1333491250881 +526000 ekin = 1.67297434024897 | erot = 1.99761678040369 | epot = -12.8039402455923 | etot = -9.13334912493961 +527000 ekin = 1.59916865616169 | erot = 2.02141684187556 | epot = -12.7539346229454 | etot = -9.13334912490811 +528000 ekin = 1.52452149634617 | erot = 2.04605877912529 | epot = -12.7039294004615 | etot = -9.13334912499007 +529000 ekin = 1.45048141637983 | erot = 2.06903286947734 | epot = -12.6528634110109 | etot = -9.13334912515376 +530000 ekin = 1.37827485203287 | erot = 2.08683821122988 | epot = -12.5984621886054 | etot = -9.13334912534265 +531000 ekin = 1.30911544825075 | erot = 2.09562136598055 | epot = -12.5380859397193 | etot = -9.13334912548803 +532000 ekin = 1.24441932206786 | erot = 2.09198653946119 | epot = -12.4697549870569 | etot = -9.13334912552781 +533000 ekin = 1.18594679653044 | erot = 2.07377924595274 | epot = -12.3930751679086 | etot = -9.13334912542548 +534000 ekin = 1.13581312461263 | erot = 2.0406294195994 | epot = -12.3097916693919 | etot = -9.1333491251799 +535000 ekin = 1.09635528031307 | erot = 1.99411201499304 | epot = -12.2238164201304 | etot = -9.13334912482426 +536000 ekin = 1.06988655695491 | erot = 1.93750945181173 | epot = -12.1407451331816 | etot = -9.13334912441493 +537000 ekin = 1.05839509271157 | erot = 1.87547351818365 | epot = -12.0672177348899 | etot = -9.13334912399464 +538000 ekin = 1.06323891385424 | erot = 1.81331424698259 | epot = -12.0099022845169 | etot = -9.13334912368006 +539000 ekin = 1.08487929969898 | erot = 1.75562392314494 | epot = -11.9738523463387 | etot = -9.13334912349475 +540000 ekin = 1.12268189022913 | erot = 1.70611667318299 | epot = -11.9621476868877 | etot = -9.13334912347558 +541000 ekin = 1.17481105395823 | erot = 1.66717481230683 | epot = -11.9753349899048 | etot = -9.13334912363973 +542000 ekin = 1.23824417790918 | erot = 1.63956314455086 | epot = -12.0111564464407 | etot = -9.13334912398066 +543000 ekin = 1.30892832432052 | erot = 1.62236761446585 | epot = -12.0646450632503 | etot = -9.13334912446392 +544000 ekin = 1.3820851450754 | erot = 1.61318872881531 | epot = -12.1286229989223 | etot = -9.13334912503159 +545000 ekin = 1.45263801176102 | erot = 1.60857948401649 | epot = -12.1945666213852 | etot = -9.13334912560772 +546000 ekin = 1.51570974605596 | erot = 1.60467377472834 | epot = -12.2537326468962 | etot = -9.13334912611191 +547000 ekin = 1.56711452712151 | erot = 1.59788800381725 | epot = -12.2983516574146 | etot = -9.13334912647585 +548000 ekin = 1.6037622182793 | erot = 1.58554162816792 | epot = -12.3226529731044 | etot = -9.13334912665713 +549000 ekin = 1.62391041626105 | erot = 1.56625626421421 | epot = -12.3235158071224 | etot = -9.13334912664713 +550000 ekin = 1.62723358008848 | erot = 1.54012357328806 | epot = -12.3007062798233 | etot = -9.13334912644672 +551000 ekin = 1.61471889891519 | erot = 1.50851459570911 | epot = -12.2565826207701 | etot = -9.13334912614583 +552000 ekin = 1.58843016682235 | erot = 1.47348936384422 | epot = -12.1952686564379 | etot = -9.1333491257713 +553000 ekin = 1.55120098109793 | erot = 1.43753302719219 | epot = -12.1220831336608 | etot = -9.13334912537071 +554000 ekin = 1.50631636213018 | erot = 1.40318755323333 | epot = -12.0428530403429 | etot = -9.13334912497942 +555000 ekin = 1.45722878986335 | erot = 1.37279698200099 | epot = -11.9633748964853 | etot = -9.133349124621 +556000 ekin = 1.40732293284981 | erot = 1.34837590639181 | epot = -11.8890479635491 | etot = -9.13334912430749 +557000 ekin = 1.35973750772659 | erot = 1.33157707039056 | epot = -11.8246637021612 | etot = -9.13334912404406 +558000 ekin = 1.31723590732733 | erot = 1.32371628032833 | epot = -11.7743013114885 | etot = -9.13334912383284 +559000 ekin = 1.28211028308911 | erot = 1.32580526483835 | epot = -11.7412646716049 | etot = -9.13334912367748 +560000 ekin = 1.25610590404642 | erot = 1.3385562626596 | epot = -11.7280112902903 | etot = -9.13334912358425 +561000 ekin = 1.2403584426308 | erot = 1.36234138770357 | epot = -11.7360489538959 | etot = -9.13334912356153 +562000 ekin = 1.23534624012421 | erot = 1.39711468447432 | epot = -11.7658100482156 | etot = -9.1333491236171 +563000 ekin = 1.24087113988208 | erot = 1.44233150298232 | epot = -11.8165517666162 | etot = -9.13334912375181 +564000 ekin = 1.25609129142822 | erot = 1.49691875867446 | epot = -11.8863591740572 | etot = -9.13334912395452 +565000 ekin = 1.27963015842373 | erot = 1.55937933470843 | epot = -11.9723586173214 | etot = -9.13334912418923 +566000 ekin = 1.30976945418227 | erot = 1.62795664725703 | epot = -12.0710752258883 | etot = -9.13334912444901 +567000 ekin = 1.34469873511096 | erot = 1.70073738336496 | epot = -12.1787852431675 | etot = -9.13334912469163 +568000 ekin = 1.38275779930543 | erot = 1.77591787229575 | epot = -12.2920247965067 | etot = -9.13334912490556 +569000 ekin = 1.42260294142073 | erot = 1.85183127901208 | epot = -12.407783345528 | etot = -9.13334912509522 +570000 ekin = 1.46311433095821 | erot = 1.92670412003837 | epot = -12.5231675763648 | etot = -9.13334912536826 +571000 ekin = 1.503277533287 | erot = 1.998531008796 | epot = -12.6351576677647 | etot = -9.13334912568171 +572000 ekin = 1.54192966726487 | erot = 2.06497613728929 | epot = -12.7402549304297 | etot = -9.1333491258755 +573000 ekin = 1.57823855406826 | erot = 2.12427016695721 | epot = -12.8358578469833 | etot = -9.13334912595785 +574000 ekin = 1.61207502224162 | erot = 2.1757020138028 | epot = -12.9211261619152 | etot = -9.13334912587075 +575000 ekin = 1.6440258217365 | erot = 2.22028441014041 | epot = -12.9976593575031 | etot = -9.13334912562622 +576000 ekin = 1.67538587678283 | erot = 2.26042238856481 | epot = -13.0691573906392 | etot = -9.13334912529152 +577000 ekin = 1.70789209378918 | erot = 2.29915883242667 | epot = -13.1404000511839 | etot = -9.13334912496807 +578000 ekin = 1.74326819508402 | erot = 2.33909725076618 | epot = -13.2157145705993 | etot = -9.13334912474906 +579000 ekin = 1.78272231838322 | erot = 2.38182643842473 | epot = -13.2978978815032 | etot = -9.13334912469522 +580000 ekin = 1.82652189373014 | erot = 2.42751679140051 | epot = -13.3873878099642 | etot = -9.13334912483355 +581000 ekin = 1.8737067517545 | erot = 2.47480205694227 | epot = -13.4818579338712 | etot = -9.13334912517445 +582000 ekin = 1.9219705257856 | erot = 2.52092715153558 | epot = -13.5762468029815 | etot = -9.13334912566034 +583000 ekin = 1.96774925896963 | erot = 2.56227660801906 | epot = -13.6633749932294 | etot = -9.13334912624074 +584000 ekin = 2.00657374540273 | erot = 2.59498886543059 | epot = -13.7349117376539 | etot = -9.13334912682061 +585000 ekin = 2.03371871575717 | erot = 2.61566274200543 | epot = -13.7827305850452 | etot = -9.13334912728264 +586000 ekin = 2.04507827703258 | erot = 2.62214006251621 | epot = -13.8005674670656 | etot = -9.13334912751683 +587000 ekin = 2.03806243485583 | erot = 2.61411994889205 | epot = -13.7855315112079 | etot = -9.13334912746004 +588000 ekin = 2.01223115184246 | erot = 2.59335030112239 | epot = -13.7389305800906 | etot = -9.13334912712576 +589000 ekin = 1.96942837554415 | erot = 2.56324673363008 | epot = -13.6660242357789 | etot = -9.13334912660463 +590000 ekin = 1.91334419958811 | erot = 2.52801524733592 | epot = -13.5747085729562 | etot = -9.13334912603221 +591000 ekin = 1.84865383330561 | erot = 2.49158313369046 | epot = -13.4735860925319 | etot = -9.13334912553585 +592000 ekin = 1.78006004419564 | erot = 2.45674050608586 | epot = -13.3701496754669 | etot = -9.13334912518538 +593000 ekin = 1.7115927976213 | erot = 2.42478693109326 | epot = -13.2697288536935 | etot = -9.13334912497898 +594000 ekin = 1.64634946405339 | erot = 2.39569805901444 | epot = -13.175396647939 | etot = -9.13334912487118 +595000 ekin = 1.58659479948916 | erot = 2.36854432557332 | epot = -13.0884882498818 | etot = -9.13334912481927 +596000 ekin = 1.53398103551393 | erot = 2.34182175785591 | epot = -13.0091519181804 | etot = -9.13334912481053 +597000 ekin = 1.4896944162256 | erot = 2.31355286210786 | epot = -12.9365964031849 | etot = -9.13334912485144 +598000 ekin = 1.45449014890386 | erot = 2.28129539496066 | epot = -12.869134668807 | etot = -9.13334912494252 +599000 ekin = 1.42868283605903 | erot = 2.24230571379847 | epot = -12.8043376749183 | etot = -9.13334912506079 +600000 ekin = 1.41215819512729 | erot = 2.19421771509236 | epot = -12.7397250351172 | etot = -9.13334912489753 +601000 ekin = 1.40437980063583 | erot = 2.136750928483 | epot = -12.6744798541796 | etot = -9.13334912506074 +602000 ekin = 1.40442466853094 | erot = 2.06863595764367 | epot = -12.6064097512931 | etot = -9.13334912511845 +603000 ekin = 1.41112302449417 | erot = 1.98998056957542 | epot = -12.5344527191411 | etot = -9.13334912507147 +604000 ekin = 1.42310135151995 | erot = 1.902745243228 | epot = -12.4591957196925 | etot = -9.13334912494458 +605000 ekin = 1.43883447822351 | erot = 1.81030632011036 | epot = -12.3824899231056 | etot = -9.13334912477171 +606000 ekin = 1.45673760095088 | erot = 1.71684240504777 | epot = -12.3069291305825 | etot = -9.13334912458388 +607000 ekin = 1.4752986371308 | erot = 1.62672298752963 | epot = -12.2353707490633 | etot = -9.13334912440289 +608000 ekin = 1.49323166610316 | erot = 1.54399943869013 | epot = -12.1705802290336 | etot = -9.13334912424029 +609000 ekin = 1.5096125661575 | erot = 1.47208306433867 | epot = -12.1150447546059 | etot = -9.13334912410968 +610000 ekin = 1.52396039431372 | erot = 1.41350705715054 | epot = -12.0708165754589 | etot = -9.13334912399469 +611000 ekin = 1.53622860047165 | erot = 1.36992443741171 | epot = -12.0395021618072 | etot = -9.13334912392386 +612000 ekin = 1.54668536626305 | erot = 1.34205362872995 | epot = -12.0220881189034 | etot = -9.13334912391043 +613000 ekin = 1.55571309695784 | erot = 1.32960894336 | epot = -12.0186711642891 | etot = -9.13334912397129 +614000 ekin = 1.5635636922184 | erot = 1.33131277562608 | epot = -12.0282255919652 | etot = -9.13334912412073 +615000 ekin = 1.57013881826808 | erot = 1.34494539761815 | epot = -12.0484333402237 | etot = -9.13334912433747 +616000 ekin = 1.5748568190406 | erot = 1.36757312206317 | epot = -12.0757790657619 | etot = -9.13334912465813 +617000 ekin = 1.57672646781355 | erot = 1.39546251366834 | epot = -12.1055381065046 | etot = -9.13334912502268 +618000 ekin = 1.57456346737936 | erot = 1.42448013453632 | epot = -12.1323927272935 | etot = -9.13334912537785 +619000 ekin = 1.56732946470231 | erot = 1.45059208152833 | epot = -12.1512706718929 | etot = -9.13334912566224 +620000 ekin = 1.55451321753977 | erot = 1.4703933445561 | epot = -12.1582556879156 | etot = -9.13334912581974 +621000 ekin = 1.5364478233846 | erot = 1.48161304590965 | epot = -12.1514099951074 | etot = -9.13334912581318 +622000 ekin = 1.51447783518414 | erot = 1.48347710481912 | epot = -12.1313040656381 | etot = -9.13334912563484 +623000 ekin = 1.49092960733081 | erot = 1.47683215248869 | epot = -12.1011108851283 | etot = -9.13334912530885 +624000 ekin = 1.46886130170072 | erot = 1.46422198591534 | epot = -12.0664324125269 | etot = -9.13334912491083 +625000 ekin = 1.45155188812679 | erot = 1.44918251594271 | epot = -12.0340835285536 | etot = -9.13334912448408 +626000 ekin = 1.44224748157941 | erot = 1.43533399591765 | epot = -12.0109306015701 | etot = -9.13334912407301 +627000 ekin = 1.44381530880005 | erot = 1.4263800535482 | epot = -12.0035444860843 | etot = -9.1333491237361 +628000 ekin = 1.4583308162013 | erot = 1.42560824875312 | epot = -12.0172881884924 | etot = -9.13334912353797 +629000 ekin = 1.48676985537066 | erot = 1.43535417577253 | epot = -12.0554731546316 | etot = -9.13334912348845 +630000 ekin = 1.52866417049136 | erot = 1.45689184513674 | epot = -12.1189051392542 | etot = -9.13334912362608 +631000 ekin = 1.58193413338903 | erot = 1.49015054897836 | epot = -12.2054338063858 | etot = -9.13334912401841 +632000 ekin = 1.64234851055617 | erot = 1.53357750659224 | epot = -12.3092751416912 | etot = -9.13334912454282 +633000 ekin = 1.70466841196976 | erot = 1.58426390210415 | epot = -12.422281439224 | etot = -9.13334912515012 +634000 ekin = 1.76318354699271 | erot = 1.63860587790906 | epot = -12.5351385506365 | etot = -9.13334912573474 +635000 ekin = 1.81242625034656 | erot = 1.69306627320957 | epot = -12.6388416497418 | etot = -9.13334912618564 +636000 ekin = 1.84805557837959 | erot = 1.74492785470348 | epot = -12.7263325594984 | etot = -9.1333491264153 +637000 ekin = 1.86755595284548 | erot = 1.79286465559487 | epot = -12.7937697348514 | etot = -9.13334912641102 +638000 ekin = 1.87047357468591 | erot = 1.83697965057624 | epot = -12.8408023514698 | etot = -9.13334912620763 +639000 ekin = 1.85817220593092 | erot = 1.87849437006802 | epot = -12.870015701881 | etot = -9.13334912588202 +640000 ekin = 1.83325502874749 | erot = 1.9193024713677 | epot = -12.8859066256289 | etot = -9.13334912551372 +641000 ekin = 1.79889805051405 | erot = 1.96149522932417 | epot = -12.8937424049968 | etot = -9.13334912515859 +642000 ekin = 1.75833330344794 | erot = 2.00701454517332 | epot = -12.8986969734767 | etot = -9.1333491248554 +643000 ekin = 1.71452400738602 | erot = 2.05742054585266 | epot = -12.905293677835 | etot = -9.13334912459635 +644000 ekin = 1.67006045206695 | erot = 2.11379950766835 | epot = -12.9172090841664 | etot = -9.13334912443105 +645000 ekin = 1.62710169193844 | erot = 2.17652829047967 | epot = -12.9369791067766 | etot = -9.13334912435848 +646000 ekin = 1.58731920571299 | erot = 2.24499987972527 | epot = -12.9656682098095 | etot = -9.13334912437126 +647000 ekin = 1.55192879850279 | erot = 2.31774723145938 | epot = -13.0030251544558 | etot = -9.13334912449359 +648000 ekin = 1.52155547404789 | erot = 2.39216849405319 | epot = -13.0470730928303 | etot = -9.13334912472921 +649000 ekin = 1.4961570117291 | erot = 2.46459269466688 | epot = -13.0940988314722 | etot = -9.13334912507625 +650000 ekin = 1.47495820408513 | erot = 2.53042613107739 | epot = -13.1387334606825 | etot = -9.13334912552003 +651000 ekin = 1.45644758276295 | erot = 2.58442104122457 | epot = -13.1742177500163 | etot = -9.13334912602877 +652000 ekin = 1.43848054670472 | erot = 2.62109720356082 | epot = -13.1929268768132 | etot = -9.13334912654768 +653000 ekin = 1.41853538647083 | erot = 2.63533318879135 | epot = -13.1872177022606 | etot = -9.13334912699846 +654000 ekin = 1.39414099594975 | erot = 2.62311445987549 | epot = -13.1506045831176 | etot = -9.13334912729239 +655000 ekin = 1.36342278664765 | erot = 2.58232798191524 | epot = -13.0790998958947 | etot = -9.1333491273318 +656000 ekin = 1.32754554560135 | erot = 2.5134399730659 | epot = -12.9743346448114 | etot = -9.13334912614414 +657000 ekin = 1.07738759792173 | erot = 2.44669612963653 | epot = -12.6574327807928 | etot = -9.13334905323454 +658000 ekin = 1.00652014230627 | erot = 2.49084781647582 | epot = -12.6307170433399 | etot = -9.13334908455785 +659000 ekin = 1.0724008501796 | erot = 2.42929901831606 | epot = -12.6350489837819 | etot = -9.13334911528626 +660000 ekin = 1.09381648980953 | erot = 2.30102308261687 | epot = -12.5281886879217 | etot = -9.1333491154953 +661000 ekin = 1.11701334338117 | erot = 2.16959631554243 | epot = -12.4199587738177 | etot = -9.1333491148941 +662000 ekin = 1.14263894058074 | erot = 2.04231481245821 | epot = -12.3183028674878 | etot = -9.13334911444888 +663000 ekin = 1.17093665277153 | erot = 1.92510458369797 | epot = -12.2293903506455 | etot = -9.13334911417605 +664000 ekin = 1.20146324496873 | erot = 1.82207009510993 | epot = -12.1568824541672 | etot = -9.13334911408858 +665000 ekin = 1.23289032447991 | erot = 1.73564836427791 | epot = -12.1018878027987 | etot = -9.13334911404089 +666000 ekin = 1.26340464455219 | erot = 1.66702592668296 | epot = -12.0637796854985 | etot = -9.13334911426337 +667000 ekin = 1.29102574814588 | erot = 1.61488086820599 | epot = -12.0392557309147 | etot = -9.13334911456284 +668000 ekin = 1.31376054134924 | erot = 1.57649712773806 | epot = -12.0236067839933 | etot = -9.13334911490603 +669000 ekin = 1.32989404565469 | erot = 1.54828621181657 | epot = -12.0115293726996 | etot = -9.13334911522832 +670000 ekin = 1.33826340890773 | erot = 1.52640844797481 | epot = -11.9980209723674 | etot = -9.13334911548489 +671000 ekin = 1.33847461323381 | erot = 1.50724764864764 | epot = -11.9790713775224 | etot = -9.13334911564091 +672000 ekin = 1.33101969554729 | erot = 1.48781306139111 | epot = -11.9521818726168 | etot = -9.13334911567844 +673000 ekin = 1.31737035051244 | erot = 1.46610228052886 | epot = -11.9168217466028 | etot = -9.13334911556153 +674000 ekin = 1.29992521798278 | erot = 1.44131241760553 | epot = -11.8745867509642 | etot = -9.13334911537591 +675000 ekin = 1.28129254582611 | erot = 1.41347048294297 | epot = -11.8281121439047 | etot = -9.13334911513566 +676000 ekin = 1.26413925333842 | erot = 1.38336835396336 | epot = -11.7808567221873 | etot = -9.13334911488549 +677000 ekin = 1.25080949630108 | erot = 1.35227525692229 | epot = -11.7364338679141 | etot = -9.13334911469074 +678000 ekin = 1.24240325884008 | erot = 1.32122246363462 | epot = -11.696974837032 | etot = -9.1333491145573 +679000 ekin = 1.23935164124878 | erot = 1.29124446460954 | epot = -11.6639452203567 | etot = -9.1333491144984 +680000 ekin = 1.24151057851806 | erot = 1.26358348831243 | epot = -11.6384431811759 | etot = -9.13334911434536 +681000 ekin = 1.24810791985433 | erot = 1.23998966300449 | epot = -11.621446697324 | etot = -9.13334911446517 +682000 ekin = 1.25738088472581 | erot = 1.22073219170803 | epot = -11.6114621910631 | etot = -9.13334911462927 +683000 ekin = 1.26715254864098 | erot = 1.20554909695223 | epot = -11.6060507604029 | etot = -9.13334911480967 +684000 ekin = 1.27521936884296 | erot = 1.19392995256969 | epot = -11.6024984363908 | etot = -9.13334911497818 +685000 ekin = 1.27965818657957 | erot = 1.18525667281503 | epot = -11.598263974498 | etot = -9.13334911510344 +686000 ekin = 1.27906445706524 | erot = 1.17887846191262 | epot = -11.5912920341683 | etot = -9.13334911519047 +687000 ekin = 1.27268261753913 | erot = 1.17407129022592 | epot = -11.5801030230249 | etot = -9.13334911525981 +688000 ekin = 1.2604191440655 | erot = 1.17007604783868 | epot = -11.5638443071319 | etot = -9.13334911522773 +689000 ekin = 1.24287938495423 | erot = 1.16656725574682 | epot = -11.5427957558581 | etot = -9.1333491151571 +690000 ekin = 1.22118240404801 | erot = 1.16336387131456 | epot = -11.5178953904218 | etot = -9.13334911505928 +691000 ekin = 1.19679867225187 | erot = 1.16037339233307 | epot = -11.4905211795311 | etot = -9.13334911494614 +692000 ekin = 1.17139142555457 | erot = 1.15758648593215 | epot = -11.4623270263143 | etot = -9.13334911482758 +693000 ekin = 1.14685376597284 | erot = 1.15519232867469 | epot = -11.4353952091881 | etot = -9.13334911454058 +694000 ekin = 1.12537035278754 | erot = 1.15368599836321 | epot = -11.4124054656034 | etot = -9.13334911445262 +695000 ekin = 1.10824764597546 | erot = 1.15324052660546 | epot = -11.394837286963 | etot = -9.13334911438207 +696000 ekin = 1.09641524899199 | erot = 1.15407441364668 | epot = -11.3838387769731 | etot = -9.13334911433448 +697000 ekin = 1.0904070695983 | erot = 1.15645735234451 | epot = -11.38021353626 | etot = -9.13334911431723 +698000 ekin = 1.09030542376263 | erot = 1.16063392710698 | epot = -11.384288465198 | etot = -9.13334911432841 +699000 ekin = 1.09552536141965 | erot = 1.16669639941866 | epot = -11.3955708752004 | etot = -9.13334911436206 +700000 ekin = 1.10527379803171 | erot = 1.17478862115977 | epot = -11.4134115336272 | etot = -9.13334911443575 +701000 ekin = 1.11851271408081 | erot = 1.18492470948308 | epot = -11.4367865380882 | etot = -9.13334911452431 +702000 ekin = 1.13395549372662 | erot = 1.19694667251851 | epot = -11.4642512808751 | etot = -9.13334911463001 +703000 ekin = 1.15018285433177 | erot = 1.21057055971553 | epot = -11.4941025287918 | etot = -9.13334911474449 +704000 ekin = 1.16576673457734 | erot = 1.2253590806033 | epot = -11.5244749300382 | etot = -9.13334911485753 +705000 ekin = 1.17938915503343 | erot = 1.24076765314262 | epot = -11.5535059231341 | etot = -9.13334911495807 +706000 ekin = 1.18994261306182 | erot = 1.2562234849481 | epot = -11.5795152130455 | etot = -9.1333491150356 +707000 ekin = 1.19660107195375 | erot = 1.271227802675 | epot = -11.6011779897101 | etot = -9.13334911508136 +708000 ekin = 1.19885615186573 | erot = 1.28546332267813 | epot = -11.6176685896339 | etot = -9.13334911509003 +709000 ekin = 1.19651981509382 | erot = 1.29888532038566 | epot = -11.6287542505396 | etot = -9.13334911506012 +710000 ekin = 1.18969957497066 | erot = 1.31177606554459 | epot = -11.6348247555099 | etot = -9.13334911499465 +711000 ekin = 1.17875387602812 | erot = 1.32474791483144 | epot = -11.6368509057608 | etot = -9.13334911490123 +712000 ekin = 1.16423391783899 | erot = 1.3386894522921 | epot = -11.6362724849217 | etot = -9.13334911479056 +713000 ekin = 1.14681758773145 | erot = 1.35466305350745 | epot = -11.6348297559169 | etot = -9.13334911467797 +714000 ekin = 1.12724173590757 | erot = 1.37373509013814 | epot = -11.6343259406232 | etot = -9.13334911457754 +715000 ekin = 1.10624050750108 | erot = 1.39681075797456 | epot = -11.636400379979 | etot = -9.13334911450333 +716000 ekin = 1.08449847089157 | erot = 1.42446438144211 | epot = -11.6423119668 | etot = -9.13334911446637 +717000 ekin = 1.06262586730495 | erot = 1.45678801962731 | epot = -11.652763001406 | etot = -9.13334911447369 +718000 ekin = 1.04116056518022 | erot = 1.49328580498647 | epot = -11.6677954846921 | etot = -9.13334911452545 +719000 ekin = 1.02059756446943 | erot = 1.53283565406262 | epot = -11.6867823331474 | etot = -9.13334911461534 +720000 ekin = 1.00144276091631 | erot = 1.57373478107468 | epot = -11.7085266567205 | etot = -9.13334911472952 +721000 ekin = 0.984282698242522 | erot = 1.61383653730724 | epot = -11.7314683503986 | etot = -9.13334911484888 +722000 ekin = 0.96985633457677 | erot = 1.65076935458374 | epot = -11.7539748041155 | etot = -9.13334911495504 +723000 ekin = 0.959109074098182 | erot = 1.68219090540371 | epot = -11.7746490945239 | etot = -9.13334911502201 +724000 ekin = 0.953206498554131 | erot = 1.70610525279805 | epot = -11.79266086639 | etot = -9.13334911503783 +725000 ekin = 0.953487871460092 | erot = 1.72112406444749 | epot = -11.8079610509059 | etot = -9.13334911499836 +726000 ekin = 0.961348420449859 | erot = 1.72664218755813 | epot = -11.8213397229199 | etot = -9.13334911491192 +727000 ekin = 0.978055187000221 | erot = 1.72290320032193 | epot = -11.8343075021185 | etot = -9.13334911479632 +728000 ekin = 1.00452582497731 | erot = 1.71095374106594 | epot = -11.8488286807165 | etot = -9.13334911467327 +729000 ekin = 1.04110137579929 | erot = 1.6925221534031 | epot = -11.8669726437713 | etot = -9.13334911456892 +730000 ekin = 1.08735958690316 | erot = 1.66981008957492 | epot = -11.8905187909846 | etot = -9.13334911450647 +731000 ekin = 1.14200418375028 | erot = 1.64524141705574 | epot = -11.9205947153098 | etot = -9.13334911450375 +732000 ekin = 1.20285318014175 | erot = 1.62119095712754 | epot = -11.9573932518408 | etot = -9.13334911457154 +733000 ekin = 1.26692596391375 | erot = 1.59976528909609 | epot = -12.000040367713 | etot = -9.13334911470313 +734000 ekin = 1.33064406417852 | erot = 1.58254289880308 | epot = -12.0465360778903 | etot = -9.13334911490874 +735000 ekin = 1.39013484388292 | erot = 1.57032898633086 | epot = -12.0938129453736 | etot = -9.13334911515987 +736000 ekin = 1.44157509139339 | erot = 1.56317476788482 | epot = -12.1380989747065 | etot = -9.13334911542827 +737000 ekin = 1.48157845589432 | erot = 1.56044545881388 | epot = -12.1753730303859 | etot = -9.13334911567766 +738000 ekin = 1.50757504377736 | erot = 1.56100911666946 | epot = -12.2019332763157 | etot = -9.13334911586885 +739000 ekin = 1.51813561812011 | erot = 1.56352092529372 | epot = -12.2150056593802 | etot = -9.13334911596641 +740000 ekin = 1.51318914848911 | erot = 1.56675183784913 | epot = -12.2132901022842 | etot = -9.13334911594593 +741000 ekin = 1.49408865829715 | erot = 1.56989906103857 | epot = -12.1973368351355 | etot = -9.13334911579981 +742000 ekin = 1.4635006153526 | erot = 1.57280025700489 | epot = -12.1696499878992 | etot = -9.13334911554169 +743000 ekin = 1.42512524133545 | erot = 1.57593310600528 | epot = -12.1344074625083 | etot = -9.13334911516759 +744000 ekin = 1.38338487585046 | erot = 1.58054361278105 | epot = -12.097277603429 | etot = -9.13334911479754 +745000 ekin = 1.34281951273833 | erot = 1.58823582840448 | epot = -12.0644044555983 | etot = -9.13334911445548 +746000 ekin = 1.30747334765346 | erot = 1.60047096980711 | epot = -12.0412934316584 | etot = -9.1333491141978 +747000 ekin = 1.28046646005551 | erot = 1.6182176866574 | epot = -12.0320332608057 | etot = -9.13334911409281 +748000 ekin = 1.26367955923863 | erot = 1.64132893143465 | epot = -12.0383576048431 | etot = -9.13334911416987 +749000 ekin = 1.2574293442035 | erot = 1.66831440024557 | epot = -12.0590928588867 | etot = -9.13334911443761 +750000 ekin = 1.26047795508238 | erot = 1.69628448614892 | epot = -12.090111556082 | etot = -9.13334911485068 +751000 ekin = 1.27026186447581 | erot = 1.72133386886134 | epot = -12.1249448486768 | etot = -9.13334911533964 +752000 ekin = 1.283395470868 | erot = 1.73919075505919 | epot = -12.1559353417358 | etot = -9.13334911580862 +753000 ekin = 1.29635957467025 | erot = 1.74596876191974 | epot = -12.1756774528089 | etot = -9.13334911621893 +754000 ekin = 1.30599158741241 | erot = 1.73885024063265 | epot = -12.1781909444329 | etot = -9.13334911638789 +755000 ekin = 1.31024888116356 | erot = 1.71683511467995 | epot = -12.1604331121845 | etot = -9.13334911634101 +756000 ekin = 1.30846938321657 | erot = 1.68097972249338 | epot = -12.1227982218014 | etot = -9.13334911609141 +757000 ekin = 1.30124985041457 | erot = 1.6341900647619 | epot = -12.0687890308653 | etot = -9.13334911568881 +758000 ekin = 1.29019641090553 | erot = 1.5807356338864 | epot = -12.0042811599959 | etot = -9.13334911520393 +759000 ekin = 1.27761222227633 | erot = 1.52554636406109 | epot = -11.9365077010358 | etot = -9.13334911469837 +760000 ekin = 1.26609069506764 | erot = 1.47348693038205 | epot = -11.8729267397083 | etot = -9.13334911425856 +761000 ekin = 1.25808964011641 | erot = 1.42869550462177 | epot = -11.8201342586616 | etot = -9.13334911392337 +762000 ekin = 1.25572222200568 | erot = 1.39407442311013 | epot = -11.7831457588643 | etot = -9.13334911374844 +763000 ekin = 1.26054534569755 | erot = 1.37090045943873 | epot = -11.7647949188315 | etot = -9.13334911369523 +764000 ekin = 1.27353435439963 | erot = 1.3588719908604 | epot = -11.7657554590514 | etot = -9.13334911379134 +765000 ekin = 1.29496682599905 | erot = 1.35616457697868 | epot = -11.7844805169703 | etot = -9.13334911399252 +766000 ekin = 1.32454629042196 | erot = 1.35977679502517 | epot = -11.8176721997099 | etot = -9.13334911426275 +767000 ekin = 1.3616395427185 | erot = 1.36618632223445 | epot = -11.8611749795076 | etot = -9.13334911455462 +768000 ekin = 1.40531019892591 | erot = 1.37181010082889 | epot = -11.9104694145835 | etot = -9.13334911482872 +769000 ekin = 1.45446512869056 | erot = 1.37353498050594 | epot = -11.9613492242367 | etot = -9.13334911504021 +770000 ekin = 1.50793050152324 | erot = 1.3692112564908 | epot = -12.0104908732501 | etot = -9.13334911523604 +771000 ekin = 1.56389616693367 | erot = 1.35775090660325 | epot = -12.0549961887947 | etot = -9.13334911525779 +772000 ekin = 1.62113703504571 | erot = 1.33970323504223 | epot = -12.0941893852765 | etot = -9.1333491151886 +773000 ekin = 1.67872851569619 | erot = 1.31702982988185 | epot = -12.1291074606401 | etot = -9.13334911506207 +774000 ekin = 1.73569257108923 | erot = 1.29264163249645 | epot = -12.1616833185078 | etot = -9.13334911492213 +775000 ekin = 1.79085656133661 | erot = 1.26988000051291 | epot = -12.1940856766607 | etot = -9.13334911481123 +776000 ekin = 1.84276100468295 | erot = 1.25197534037432 | epot = -12.2280854598157 | etot = -9.13334911475846 +777000 ekin = 1.88967118603816 | erot = 1.24159765890997 | epot = -12.26461795972 | etot = -9.13334911477187 +778000 ekin = 1.92971622260738 | erot = 1.24057583214169 | epot = -12.3036411695895 | etot = -9.13334911484046 +779000 ekin = 1.96113164254929 | erot = 1.24980912493184 | epot = -12.3442898824215 | etot = -9.13334911494034 +780000 ekin = 1.98254203386291 | erot = 1.26932045666842 | epot = -12.3852116055749 | etot = -9.13334911504359 +781000 ekin = 1.99321406405731 | erot = 1.29840823518561 | epot = -12.4249714143724 | etot = -9.13334911512944 +782000 ekin = 1.99321095940794 | erot = 1.33580885492146 | epot = -12.4623689295173 | etot = -9.13334911518788 +783000 ekin = 1.98342491293472 | erot = 1.37983642298483 | epot = -12.4966104511371 | etot = -9.13334911521755 +784000 ekin = 1.96551238429988 | erot = 1.4284937162139 | epot = -12.5273552156836 | etot = -9.13334911516984 +785000 ekin = 1.94195910112003 | erot = 1.47961348821968 | epot = -12.5549217045009 | etot = -9.13334911516119 +786000 ekin = 1.91549982326076 | erot = 1.53087711626887 | epot = -12.5797260546657 | etot = -9.13334911513605 +787000 ekin = 1.88902915933118 | erot = 1.57997565975913 | epot = -12.6023539341834 | etot = -9.13334911509308 +788000 ekin = 1.86553746554052 | erot = 1.6247864602542 | epot = -12.6236730408322 | etot = -9.13334911503745 +789000 ekin = 1.84793067284216 | erot = 1.66350572426719 | epot = -12.6447855120736 | etot = -9.13334911496424 +790000 ekin = 1.83884831412187 | erot = 1.69477325871965 | epot = -12.666970687736 | etot = -9.1333491148945 +791000 ekin = 1.84038435201533 | erot = 1.71768127848809 | epot = -12.6914147453587 | etot = -9.13334911485525 +792000 ekin = 1.85374621231307 | erot = 1.7316968379069 | epot = -12.7187921650977 | etot = -9.1333491148777 +793000 ekin = 1.87892178729802 | erot = 1.73653576924509 | epot = -12.7488066715289 | etot = -9.13334911498578 +794000 ekin = 1.9144051004557 | erot = 1.73204169928296 | epot = -12.7797959149174 | etot = -9.1333491151787 +795000 ekin = 1.9572669787258 | erot = 1.7181897621778 | epot = -12.8088058563242 | etot = -9.13334911542062 +796000 ekin = 2.003608517798 | erot = 1.6952533545956 | epot = -12.8322109880412 | etot = -9.13334911564762 +797000 ekin = 2.04914358120503 | erot = 1.66405946742261 | epot = -12.8465521644174 | etot = -9.13334911578975 +798000 ekin = 2.08995546227498 | erot = 1.62623745952976 | epot = -12.8495420376073 | etot = -9.13334911580255 +799000 ekin = 2.12309292251192 | erot = 1.58427028116718 | epot = -12.8407123193656 | etot = -9.1333491156865 +800000 ekin = 2.14682990847424 | erot = 1.5412613855981 | epot = -12.8214404095539 | etot = -9.13334911548158 +801000 ekin = 2.16058282772595 | erot = 1.50048202047544 | epot = -12.794413963447 | etot = -9.13334911524559 +802000 ekin = 2.16461511109201 | erot = 1.46486615503312 | epot = -12.7628303811552 | etot = -9.13334911503007 +803000 ekin = 2.15969104316245 | erot = 1.43661335442493 | epot = -12.7296535124556 | etot = -9.13334911486821 +804000 ekin = 2.14679128687646 | erot = 1.41698988508528 | epot = -12.6971302867205 | etot = -9.1333491147588 +805000 ekin = 2.1269206594369 | erot = 1.40638520515014 | epot = -12.666654979311 | etot = -9.13334911472395 +806000 ekin = 2.1009902826322 | erot = 1.40422932575147 | epot = -12.6385687231441 | etot = -9.1333491147604 +807000 ekin = 2.06982763841558 | erot = 1.40909451158654 | epot = -12.6122712648399 | etot = -9.13334911483777 +808000 ekin = 2.03419092297523 | erot = 1.41919422166642 | epot = -12.5867342595701 | etot = -9.13334911492846 +809000 ekin = 1.99478586655737 | erot = 1.43238858340756 | epot = -12.5605235650175 | etot = -9.13334911505257 +810000 ekin = 1.95230744546423 | erot = 1.44625258192565 | epot = -12.5319091425649 | etot = -9.133349115175 +811000 ekin = 1.90747094188561 | erot = 1.45847148723051 | epot = -12.4992915443988 | etot = -9.13334911528272 +812000 ekin = 1.86102893102452 | erot = 1.46703963548048 | epot = -12.461417681868 | etot = -9.13334911536302 +813000 ekin = 1.81416432243416 | erot = 1.47049868906966 | epot = -12.4180121266398 | etot = -9.13334911513599 +814000 ekin = 1.76902926167563 | erot = 1.4682673931058 | epot = -12.3706457700667 | etot = -9.1333491152853 +815000 ekin = 1.71533069952301 | erot = 1.45797598423648 | epot = -12.3066557947838 | etot = -9.13334911102435 +816000 ekin = 1.68468183703368 | erot = 1.43935942018725 | epot = -12.2573903676285 | etot = -9.13334911040755 +817000 ekin = 1.67569540451894 | erot = 1.42022759192546 | epot = -12.2292721045928 | etot = -9.13334910814843 +818000 ekin = 1.65431804078757 | erot = 1.40071144599652 | epot = -12.1883785945447 | etot = -9.13334910776065 +819000 ekin = 1.63740188371742 | erot = 1.38256931716521 | epot = -12.1533203082681 | etot = -9.13334910738549 +820000 ekin = 1.62512170450766 | erot = 1.3692816885284 | epot = -12.1277525000598 | etot = -9.13334910702377 +821000 ekin = 1.61915909097708 | erot = 1.36404110715986 | epot = -12.1165493048443 | etot = -9.13334910670739 +822000 ekin = 1.62172343976281 | erot = 1.36925913747977 | epot = -12.12433168376 | etot = -9.13334910651737 +823000 ekin = 1.6342749481272 | erot = 1.38616632191067 | epot = -12.1537903765466 | etot = -9.13334910650878 +824000 ekin = 1.65698382617913 | erot = 1.41459711185634 | epot = -12.2049300447282 | etot = -9.13334910669278 +825000 ekin = 1.68854753273329 | erot = 1.4530163184206 | epot = -12.2749129581921 | etot = -9.13334910703822 +826000 ekin = 1.72638863495591 | erot = 1.49875661579891 | epot = -12.3584943582429 | etot = -9.13334910748808 +827000 ekin = 1.76710423380199 | erot = 1.54839439234558 | epot = -12.4488477341237 | etot = -9.13334910797611 +828000 ekin = 1.80698482333474 | erot = 1.59818184901675 | epot = -12.538515780796 | etot = -9.13334910844446 +829000 ekin = 1.84246939969638 | erot = 1.64447465718396 | epot = -12.6202931657257 | etot = -9.13334910884533 +830000 ekin = 1.87048980343092 | erot = 1.68412933439417 | epot = -12.6879682469655 | etot = -9.13334910914043 +831000 ekin = 1.88871335827693 | erot = 1.71486645418453 | epot = -12.7369289217614 | etot = -9.13334910929997 +832000 ekin = 1.89569916791682 | erot = 1.73558694752276 | epot = -12.7646352247443 | etot = -9.13334910930477 +833000 ekin = 1.89096344935487 | erot = 1.7465944755228 | epot = -12.7709070340317 | etot = -9.13334910915404 +834000 ekin = 1.87493429544718 | erot = 1.74964392180754 | epot = -12.757927326144 | etot = -9.13334910888933 +835000 ekin = 1.84878280513965 | erot = 1.74762027308332 | epot = -12.7297521867473 | etot = -9.13334910852438 +836000 ekin = 1.81414476909328 | erot = 1.74421722088915 | epot = -12.6917110981227 | etot = -9.1333491081403 +837000 ekin = 1.77277875467125 | erot = 1.743352851396 | epot = -12.6494807138712 | etot = -9.13334910780394 +838000 ekin = 1.72624445531295 | erot = 1.74841404792614 | epot = -12.6080076108058 | etot = -9.13334910756667 +839000 ekin = 1.67568816110731 | erot = 1.76165550554388 | epot = -12.5706927741064 | etot = -9.13334910745525 +840000 ekin = 1.62179135099408 | erot = 1.78387657045747 | epot = -12.5390170289077 | etot = -9.13334910745614 +841000 ekin = 1.56488441151269 | erot = 1.81456573942591 | epot = -12.5127992584766 | etot = -9.13334910753801 +842000 ekin = 1.5051739956304 | erot = 1.85205645864684 | epot = -12.4905795619746 | etot = -9.13334910769738 +843000 ekin = 1.44300548284026 | erot = 1.89358112522043 | epot = -12.4699357158672 | etot = -9.13334910780648 +844000 ekin = 1.37906620630966 | erot = 1.93639685186046 | epot = -12.4488121660411 | etot = -9.13334910787098 +845000 ekin = 1.3144635283326 | erot = 1.97812996436157 | epot = -12.4259426005652 | etot = -9.13334910787108 +846000 ekin = 1.25068692329337 | erot = 2.01700234953403 | epot = -12.4010383806304 | etot = -9.13334910780299 +847000 ekin = 1.18947724707863 | erot = 2.05204320491501 | epot = -12.3748695596687 | etot = -9.13334910767511 +848000 ekin = 1.13265732504622 | erot = 2.08314733277916 | epot = -12.3491537653295 | etot = -9.13334910750415 +849000 ekin = 1.0819765776989 | erot = 2.11099249694429 | epot = -12.3263181819525 | etot = -9.13334910730936 +850000 ekin = 1.03899924537938 | erot = 2.1368465428431 | epot = -12.309194895335 | etot = -9.13334910711253 +851000 ekin = 1.00503792489605 | erot = 2.1623061869893 | epot = -12.3006932188196 | etot = -9.13334910693424 +852000 ekin = 0.981116857871262 | erot = 2.18901371773129 | epot = -12.303479682395 | etot = -9.13334910679242 +853000 ekin = 0.96794765222281 | erot = 2.21839549972016 | epot = -12.3196922586459 | etot = -9.1333491067029 +854000 ekin = 0.965908910688589 | erot = 2.25145766400397 | epot = -12.3507156813657 | etot = -9.13334910667314 +855000 ekin = 0.975031148292954 | erot = 2.28866143867713 | epot = -12.3970416936757 | etot = -9.13334910670566 +856000 ekin = 0.994993726119038 | erot = 2.32988587265887 | epot = -12.4582287055741 | etot = -9.13334910679616 +857000 ekin = 1.02514000046133 | erot = 2.37447147763838 | epot = -12.5329605850348 | etot = -9.13334910693512 +858000 ekin = 1.06451194043268 | erot = 2.42132581263493 | epot = -12.6191868601774 | etot = -9.13334910710976 +859000 ekin = 1.11189872921292 | erot = 2.4690621764669 | epot = -12.7143100129873 | etot = -9.13334910730746 +860000 ekin = 1.16588800432871 | erot = 2.51613734357213 | epot = -12.8153744554195 | etot = -9.13334910751864 +861000 ekin = 1.22490604809855 | erot = 2.56095681693364 | epot = -12.9192119727711 | etot = -9.13334910773888 +862000 ekin = 1.28723632580607 | erot = 2.60192847236256 | epot = -13.0225139061386 | etot = -9.13334910796994 +863000 ekin = 1.35101431938164 | erot = 2.63746581475179 | epot = -13.1218292423493 | etot = -9.13334910821584 +864000 ekin = 1.41420820518506 | erot = 2.66596355874673 | epot = -13.2135208724115 | etot = -9.13334910847976 +865000 ekin = 1.47460562928568 | erot = 2.68578195464751 | epot = -13.293736692693 | etot = -9.13334910875978 +866000 ekin = 1.52983303720507 | erot = 2.69527584728228 | epot = -13.3584579935323 | etot = -9.13334910904496 +867000 ekin = 1.57743376516521 | erot = 2.69288933097524 | epot = -13.4036722054551 | etot = -9.13334910931467 +868000 ekin = 1.61502389037011 | erot = 2.67731200502193 | epot = -13.4256850049314 | etot = -9.13334910953937 +869000 ekin = 1.64053051307895 | erot = 2.64766625529469 | epot = -13.4215458780593 | etot = -9.13334910968571 +870000 ekin = 1.65249590024763 | erot = 2.60367561918013 | epot = -13.3895206291507 | etot = -9.13334910972294 +871000 ekin = 1.65040511753613 | erot = 2.54576053416164 | epot = -13.3295147613278 | etot = -9.13334910963006 +872000 ekin = 1.63497077370745 | erot = 2.47502461265043 | epot = -13.2433444957602 | etot = -9.13334910940236 +873000 ekin = 1.60829551086259 | erot = 2.3931286467258 | epot = -13.1347732666425 | etot = -9.13334910905411 +874000 ekin = 1.57383856497734 | erot = 2.30208675137617 | epot = -13.009274424972 | etot = -9.13334910861844 +875000 ekin = 1.53613967512497 | erot = 2.20404109166097 | epot = -12.87352987493 | etot = -9.1333491081441 +876000 ekin = 1.50030007471501 | erot = 2.10106901469611 | epot = -12.7347181970994 | etot = -9.13334910768825 +877000 ekin = 1.47128183650081 | erot = 1.99505592487866 | epot = -12.599686868687 | etot = -9.1333491073075 +878000 ekin = 1.45315269234875 | erot = 1.88764504254387 | epot = -12.4741468419377 | etot = -9.13334910704512 +879000 ekin = 1.4484500959242 | erot = 1.78026193725243 | epot = -12.3620611400957 | etot = -9.13334910691912 +880000 ekin = 1.45783397194032 | erot = 1.6742050362216 | epot = -12.2653881150795 | etot = -9.13334910691757 +881000 ekin = 1.48012455416307 | erot = 1.57078382964385 | epot = -12.1842574908083 | etot = -9.13334910700134 +882000 ekin = 1.51270015736555 | erot = 1.47147015192292 | epot = -12.1175194164069 | etot = -9.13334910711841 +883000 ekin = 1.5521156829125 | erot = 1.37801244882818 | epot = -12.0634772389616 | etot = -9.13334910722095 +884000 ekin = 1.59475301549188 | erot = 1.29246300162702 | epot = -12.0205651243982 | etot = -9.13334910727928 +885000 ekin = 1.63734681491784 | erot = 1.21709221484899 | epot = -11.987788137051 | etot = -9.13334910728419 +886000 ekin = 1.67731211299753 | erot = 1.15420415260206 | epot = -11.9648653728432 | etot = -9.13334910724361 +887000 ekin = 1.71288068345211 | erot = 1.10590165063598 | epot = -11.9521314412624 | etot = -9.13334910717432 +888000 ekin = 1.74309500656667 | erot = 1.073858345309 | epot = -11.9503024589714 | etot = -9.13334910709569 +889000 ekin = 1.76770969091059 | erot = 1.05913784424355 | epot = -11.9601966421812 | etot = -9.13334910702711 +890000 ekin = 1.78703240996087 | erot = 1.06207375035243 | epot = -11.9824552673003 | etot = -9.13334910698695 +891000 ekin = 1.80172329224743 | erot = 1.08220747466363 | epot = -12.0172798739031 | etot = -9.13334910699207 +892000 ekin = 1.81257293682698 | erot = 1.11828058018285 | epot = -12.0642026240651 | etot = -9.13334910705524 +893000 ekin = 1.82028982711598 | erot = 1.16828769625041 | epot = -12.1219266305465 | etot = -9.13334910718006 +894000 ekin = 1.82533649728439 | erot = 1.22960280171497 | epot = -12.1882884063595 | etot = -9.13334910736016 +895000 ekin = 1.82785071659798 | erot = 1.29918775470991 | epot = -12.2603875788833 | etot = -9.13334910757539 +896000 ekin = 1.82766966748232 | erot = 1.37387583336083 | epot = -12.3348946086393 | etot = -9.13334910779613 +897000 ekin = 1.82444603808568 | erot = 1.45069893543788 | epot = -12.4084940815126 | etot = -9.13334910798906 +898000 ekin = 1.81781661006261 | erot = 1.52720356355833 | epot = -12.4783692817472 | etot = -9.13334910812629 +899000 ekin = 1.80756915109973 | erot = 1.60168843027914 | epot = -12.5426066895709 | etot = -9.13334910819201 +900000 ekin = 1.79375843956275 | erot = 1.67330364930424 | epot = -12.6004111970548 | etot = -9.13334910818785 +901000 ekin = 1.77674318476286 | erot = 1.74197941464704 | epot = -12.6520717075409 | etot = -9.13334910813097 +902000 ekin = 1.75714245728886 | erot = 1.80819394407444 | epot = -12.6986855094139 | etot = -9.1333491080506 +903000 ekin = 1.73573344441515 | erot = 1.8726332599067 | epot = -12.7417158123006 | etot = -9.13334910797871 +904000 ekin = 1.71332625908481 | erot = 1.93582474192408 | epot = -12.7825001089508 | etot = -9.13334910794195 +905000 ekin = 1.69065428570243 | erot = 1.997832484398 | epot = -12.8218358780556 | etot = -9.13334910795518 +906000 ekin = 1.66831072855943 | erot = 2.05808381417934 | epot = -12.859743650758 | etot = -9.13334910801925 +907000 ekin = 1.64674588303732 | erot = 2.11535919821992 | epot = -12.8954541893767 | etot = -9.13334910811944 +908000 ekin = 1.62631907113895 | erot = 2.16793324010744 | epot = -12.9276014194806 | etot = -9.13334910823417 +909000 ekin = 1.60738004100341 | erot = 2.21381581981552 | epot = -12.9545449691592 | etot = -9.13334910834033 +910000 ekin = 1.59034402491449 | erot = 2.25102295599486 | epot = -12.9747160893305 | etot = -9.13334910842113 +911000 ekin = 1.57572782711068 | erot = 2.27781488081605 | epot = -12.9868918163945 | etot = -9.13334910846772 +912000 ekin = 1.56413054683431 | erot = 2.29287003003294 | epot = -12.9903496853461 | etot = -9.13334910847881 +913000 ekin = 1.55616398737755 | erot = 2.29539983333496 | epot = -12.9849129291696 | etot = -9.13334910845707 +914000 ekin = 1.55235379274356 | erot = 2.28522760386229 | epot = -12.9709305050114 | etot = -9.13334910840559 +915000 ekin = 1.55303636075837 | erot = 2.26284508696368 | epot = -12.9492305560505 | etot = -9.1333491083285 +916000 ekin = 1.558270033732 | erot = 2.2294333936006 | epot = -12.9210525355647 | etot = -9.13334910823207 +917000 ekin = 1.56776924055716 | erot = 2.18681551598127 | epot = -12.8879338646653 | etot = -9.13334910812686 +918000 ekin = 1.58086450735507 | erot = 2.13731406706164 | epot = -12.8515276824452 | etot = -9.13334910802845 +919000 ekin = 1.59649190921421 | erot = 2.08351907893672 | epot = -12.8133600961037 | etot = -9.13334910795277 +920000 ekin = 1.61321892883505 | erot = 2.02800735916499 | epot = -12.7745753959123 | etot = -9.13334910791221 +921000 ekin = 1.62931395437706 | erot = 1.97307497750766 | epot = -12.7357380397973 | etot = -9.13334910791261 +922000 ekin = 1.64286104746755 | erot = 1.92053870341123 | epot = -12.6967488588289 | etot = -9.1333491079501 +923000 ekin = 1.65191234391208 | erot = 1.87163759208356 | epot = -12.6568990440091 | etot = -9.13334910801345 +924000 ekin = 1.6546620620163 | erot = 1.82703710613629 | epot = -12.6150482762386 | etot = -9.13334910808597 +925000 ekin = 1.64962158356488 | erot = 1.78691680128824 | epot = -12.5698874930026 | etot = -9.13334910814945 +926000 ekin = 1.63577435706327 | erot = 1.75111283231059 | epot = -12.5202362975603 | etot = -9.13334910818647 +927000 ekin = 1.61269412581393 | erot = 1.71928618608138 | epot = -12.4653294200783 | etot = -9.13334910818301 +928000 ekin = 1.58061327338809 | erot = 1.69109387513091 | epot = -12.4050562566481 | etot = -9.13334910812912 +929000 ekin = 1.54043465718972 | erot = 1.66634444993707 | epot = -12.3401282151473 | etot = -9.13334910802047 +930000 ekin = 1.49368612297313 | erot = 1.64511875929247 | epot = -12.272153990125 | etot = -9.13334910785945 +931000 ekin = 1.44242020036052 | erot = 1.6278309239395 | epot = -12.2036002319575 | etot = -9.13334910765746 +932000 ekin = 1.38906420478282 | erot = 1.61520048767775 | epot = -12.137613799896 | etot = -9.13334910743542 +933000 ekin = 1.33622958396584 | erot = 1.60811568409894 | epot = -12.0776943752874 | etot = -9.13334910722262 +934000 ekin = 1.28649486983533 | erot = 1.60739378972487 | epot = -12.0272377666147 | etot = -9.13334910705454 +935000 ekin = 1.24218246526101 | erot = 1.6134791908304 | epot = -11.9890107630556 | etot = -9.13334910696424 +936000 ekin = 1.20515312898663 | erot = 1.62614770365626 | epot = -11.9646499396199 | etot = -9.13334910697703 +937000 ekin = 1.17664231217631 | erot = 1.64429583354369 | epot = -11.9542872528244 | etot = -9.13334910710443 +938000 ekin = 1.15716006421835 | erot = 1.66588444174823 | epot = -11.956393613306 | etot = -9.13334910733941 +939000 ekin = 1.14647171712446 | erot = 1.68810326831248 | epot = -11.9679240930837 | etot = -9.1333491076468 +940000 ekin = 1.14367004082762 | erot = 1.70771457433182 | epot = -11.9847337231556 | etot = -9.13334910799618 +941000 ekin = 1.14733884564953 | erot = 1.72149292699345 | epot = -12.0021808809647 | etot = -9.13334910832173 +942000 ekin = 1.15580134682141 | erot = 1.72687300439486 | epot = -12.0160234597784 | etot = -9.13334910856215 +943000 ekin = 1.16743729515031 | erot = 1.7224993662459 | epot = -12.0232857700611 | etot = -9.13334910866491 +944000 ekin = 1.18103106476093 | erot = 1.70858712462871 | epot = -12.0229672979909 | etot = -9.13334910860129 +945000 ekin = 1.19606804455176 | erot = 1.68696892705712 | epot = -12.0163860799919 | etot = -9.133349108383 +946000 ekin = 1.21284058110716 | erot = 1.66075870248008 | epot = -12.0069483916594 | etot = -9.13334910807221 +947000 ekin = 1.2322221057333 | erot = 1.6336701113832 | epot = -11.9992413248876 | etot = -9.1333491077711 +948000 ekin = 1.25509690716023 | erot = 1.60916358070824 | epot = -11.997609595455 | etot = -9.13334910758657 +949000 ekin = 1.28167104221162 | erot = 1.58969080392993 | epot = -12.0047109537215 | etot = -9.13334910757998 +950000 ekin = 1.31105510038426 | erot = 1.57628415673958 | epot = -12.0206883648617 | etot = -9.13334910773781 +951000 ekin = 1.34140314928851 | erot = 1.56859135849483 | epot = -12.043343615766 | etot = -9.13334910798267 +952000 ekin = 1.37054117669026 | erot = 1.56526000759141 | epot = -12.0691502925028 | etot = -9.13334910822116 +953000 ekin = 1.39670348101754 | erot = 1.5644462174252 | epot = -12.0944988068345 | etot = -9.13334910839174 +954000 ekin = 1.41897529237989 | erot = 1.56423287015224 | epot = -12.1165572710139 | etot = -9.13334910848181 +955000 ekin = 1.43729048070498 | erot = 1.56287479953566 | epot = -12.1335143887518 | etot = -9.13334910851119 +956000 ekin = 1.45211066332637 | erot = 1.55892938548462 | epot = -12.1443891573166 | etot = -9.13334910850562 +957000 ekin = 1.46402190623229 | erot = 1.55132217597032 | epot = -12.1486931906856 | etot = -9.13334910848299 +958000 ekin = 1.47342593725725 | erot = 1.53954965712618 | epot = -12.1463247028191 | etot = -9.13334910843566 +959000 ekin = 1.48038578495096 | erot = 1.52394133602091 | epot = -12.1376762293307 | etot = -9.13334910835885 +960000 ekin = 1.48460604034335 | erot = 1.50575363437721 | epot = -12.1237087829657 | etot = -9.13334910824515 +961000 ekin = 1.48549975936425 | erot = 1.48721075412639 | epot = -12.106059621583 | etot = -9.1333491080924 +962000 ekin = 1.48229853496739 | erot = 1.47141202583365 | epot = -12.0870596687075 | etot = -9.13334910790648 +963000 ekin = 1.47417603272498 | erot = 1.4621024086719 | epot = -12.0696275490985 | etot = -9.13334910770162 +964000 ekin = 1.46036644525383 | erot = 1.46332191688609 | epot = -12.0570374696365 | etot = -9.13334910749659 +965000 ekin = 1.44026662182329 | erot = 1.47896324785884 | epot = -12.052578977 | etot = -9.13334910731783 +966000 ekin = 1.4135158340093 | erot = 1.51227943251122 | epot = -12.0591443737113 | etot = -9.13334910719082 +967000 ekin = 1.38005134112541 | erot = 1.56539665061944 | epot = -12.0787970988851 | etot = -9.13334910714022 +968000 ekin = 1.34025482724918 | erot = 1.63885686276601 | epot = -12.1124607971915 | etot = -9.13334910717636 +969000 ekin = 1.29476921981899 | erot = 1.73132793710009 | epot = -12.1594462642422 | etot = -9.13334910732313 +970000 ekin = 1.24442005393169 | erot = 1.83972520711888 | epot = -12.2174943685907 | etot = -9.13334910754013 +971000 ekin = 1.19046696427576 | erot = 1.95943091408832 | epot = -12.2832469861607 | etot = -9.13334910779659 +972000 ekin = 1.13463097113848 | erot = 2.08475088502066 | epot = -12.3527309642089 | etot = -9.1333491080498 +973000 ekin = 1.07911059567929 | erot = 2.20953944501601 | epot = -12.4219991489535 | etot = -9.13334910825824 +974000 ekin = 1.02657367041509 | erot = 2.32774347839951 | epot = -12.4876662572392 | etot = -9.13334910842461 +975000 ekin = 0.979977932766863 | erot = 2.43392801404157 | epot = -12.5472550552954 | etot = -9.13334910848701 +976000 ekin = 0.94230488709895 | erot = 2.52399013955653 | epot = -12.5996441351294 | etot = -9.13334910847391 +977000 ekin = 0.91633529570579 | erot = 2.59517570124248 | epot = -12.6448601053594 | etot = -9.13334910841115 +978000 ekin = 0.90431642289214 | erot = 2.64601698757991 | epot = -12.6836825188045 | etot = -9.13334910833241 +979000 ekin = 0.907654941510261 | erot = 2.6761270404601 | epot = -12.71713109024 | etot = -9.13334910826961 +980000 ekin = 0.926700183438494 | erot = 2.68592744664267 | epot = -12.7459767383264 | etot = -9.13334910824523 +981000 ekin = 0.960659745242717 | erot = 2.67638285527776 | epot = -12.7703917087879 | etot = -9.13334910826741 +982000 ekin = 1.00766017971564 | erot = 2.64879736701281 | epot = -12.7898066550596 | etot = -9.13334910833116 +983000 ekin = 1.06493892794523 | erot = 2.60470505316476 | epot = -12.8029930895281 | etot = -9.13334910841806 +984000 ekin = 1.12913508942421 | erot = 2.54586103455826 | epot = -12.8083452324831 | etot = -9.13334910850068 +985000 ekin = 1.19663599745925 | erot = 2.47431116852314 | epot = -12.8042962745322 | etot = -9.1333491085498 +986000 ekin = 1.26393164267929 | erot = 2.39249159638855 | epot = -12.7897723476083 | etot = -9.13334910854048 +987000 ekin = 1.32792910236438 | erot = 2.30329384117695 | epot = -12.7645720520012 | etot = -9.13334910845985 +988000 ekin = 1.3861859405166 | erot = 2.21003704541747 | epot = -12.7295720942441 | etot = -9.13334910831006 +989000 ekin = 1.43703663165014 | erot = 2.11631776636421 | epot = -12.6867035061226 | etot = -9.13334910810827 +990000 ekin = 1.47960743025892 | erot = 2.02574976476802 | epot = -12.6387063029087 | etot = -9.13334910788175 +991000 ekin = 1.513737246522 | erot = 1.9416427247741 | epot = -12.5887290789572 | etot = -9.13334910766114 +992000 ekin = 1.53983818592274 | erot = 1.86668512516562 | epot = -12.5398724185622 | etot = -9.13334910747385 +993000 ekin = 1.55873490673449 | erot = 1.802689820056 | epot = -12.4947738341302 | etot = -9.13334910733969 +994000 ekin = 1.57151651514591 | erot = 1.75043914206451 | epot = -12.4553047644786 | etot = -9.1333491072682 +995000 ekin = 1.57942173435718 | erot = 1.70964079469539 | epot = -12.4224116363128 | etot = -9.1333491072602 +996000 ekin = 1.58376261672296 | erot = 1.67898574513455 | epot = -12.3960974691663 | etot = -9.13334910730874 +997000 ekin = 1.5858787857511 | erot = 1.65629050261201 | epot = -12.375518395765 | etot = -9.13334910740189 +998000 ekin = 1.58710748471057 | erot = 1.63870906511977 | epot = -12.3591656573538 | etot = -9.13334910752346 +999000 ekin = 1.5887560319907 | erot = 1.62299637539511 | epot = -12.3451015150432 | etot = -9.13334910765744 +1000000 ekin = 1.59207001214641 | erot = 1.60581739808838 | epot = -12.3312365180167 | etot = -9.13334910778188 + 1000000 0.11793111 -1.2674127 0.034288999 -1.0739167 -1.3883882e-05 64000 +Loop time of 12.7173 on 4 procs for 1000000 steps with 10 atoms + +Performance: 67939.084 tau/day, 78633.199 timesteps/s +99.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 | 2.8787 | 4.0355 | 6.8248 | 81.1 | 31.73 +Bond | 0.17702 | 0.24819 | 0.33387 | 12.1 | 1.95 +Neigh | 0.011662 | 0.011722 | 0.011792 | 0.0 | 0.09 +Comm | 3.0536 | 6.1653 | 7.5423 | 73.5 | 48.48 +Output | 0.074083 | 0.07729 | 0.082929 | 1.2 | 0.61 +Modify | 0.52866 | 0.63564 | 0.74059 | 12.0 | 5.00 +Other | | 1.544 | | | 12.14 + +Nlocal: 2.50000 ave 4 max 1 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Nghost: 7.50000 ave 9 max 6 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Neighs: 9.25000 ave 19 max 5 min +Histogram: 2 1 0 0 0 0 0 0 0 1 + +Total # of neighbors = 37 +Ave neighs/atom = 3.7000000 +Ave special neighs/atom = 3.6000000 +Neighbor list builds = 1000 +Dangerous builds = 0 + +write_data last_config.${number}.* nocoeff +write_data last_config.1.* nocoeff +System init for write_data ... +#write_restart last_config.${number}.* +Total wall time: 0:00:12 diff --git a/examples/PACKAGES/cgdna/examples/oxDNA/duplex2/in.duplex2 b/examples/PACKAGES/cgdna/examples/oxDNA/duplex2/in.duplex2 index 6a6310b7f0..de0ce851fd 100644 --- a/examples/PACKAGES/cgdna/examples/oxDNA/duplex2/in.duplex2 +++ b/examples/PACKAGES/cgdna/examples/oxDNA/duplex2/in.duplex2 @@ -7,7 +7,7 @@ units lj dimension 3 -newton off +newton on boundary p p p @@ -67,3 +67,4 @@ dump_modify out format line "%d %d %d %22.15le %22.15le %22.15le %d %d %d %22 run 1000000 write_data last_config.${number}.* nocoeff +#write_restart last_config.${number}.* diff --git a/examples/PACKAGES/cgdna/examples/oxDNA/duplex2/log.27May21.duplex2.g++.1 b/examples/PACKAGES/cgdna/examples/oxDNA/duplex2/log.27May21.duplex2.g++.1 deleted file mode 100644 index f9b5a909eb..0000000000 --- a/examples/PACKAGES/cgdna/examples/oxDNA/duplex2/log.27May21.duplex2.g++.1 +++ /dev/null @@ -1,1172 +0,0 @@ -LAMMPS (27 May 2021) -variable number equal 2 -variable ofreq equal 1000 -variable efreq equal 1000 -variable T equal 0.1 - -units lj - -dimension 3 - -newton off - -boundary p p p - -atom_style hybrid bond ellipsoid oxdna -WARNING: Atom style hybrid defines both, per-type and per-atom masses; both must be set, but only per-atom masses will be used (../atom_vec_hybrid.cpp:157) -atom_modify sort 0 1.0 - -# Pair interactions require lists of neighbours to be calculated -neighbor 2.0 bin -neigh_modify every 1 delay 0 check yes - -read_data data.duplex2 -Reading data file ... - orthogonal box = (-20.000000 -20.000000 -20.000000) to (20.000000 20.000000 20.000000) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 16 atoms - reading velocities ... - 16 velocities - scanning bonds ... - 2 = max bonds/atom - 16 ellipsoids - reading bonds ... - 13 bonds -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 - 2 = max # of 1-3 neighbors - 4 = max # of 1-4 neighbors - 6 = max # of special neighbors - special bonds CPU = 0.000 seconds - read_data CPU = 0.003 seconds - -set atom * mass 3.1575 -Setting atom values ... - 16 settings made for mass - -group all type 1 4 -16 atoms in group all - -# oxDNA bond interactions - FENE backbone -bond_style oxdna/fene -bond_coeff * 2.0 0.25 0.7525 -special_bonds lj 0 1 1 -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 1 1 - special bond factors coul: 0 0 0 - 2 = max # of 1-2 neighbors - 2 = max # of 1-3 neighbors - 4 = max # of 1-4 neighbors - 6 = max # of special neighbors - special bonds CPU = 0.000 seconds - -# oxDNA pair interactions -pair_style hybrid/overlay oxdna/excv oxdna/stk oxdna/hbond oxdna/xstk oxdna/coaxstk -pair_coeff * * oxdna/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32 -pair_coeff * * oxdna/stk seqav ${T} 1.3448 2.6568 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 -pair_coeff * * oxdna/stk seqav 0.1 1.3448 2.6568 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 -pair_coeff * * oxdna/hbond seqav 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 1 4 oxdna/hbond seqav 1.077 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 2 3 oxdna/hbond seqav 1.077 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff * * oxdna/xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68 -pair_coeff * * oxdna/coaxstk 46.0 0.4 0.6 0.22 0.58 2.0 2.541592653589793 0.65 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 -0.65 2.0 -0.65 - -# NVE ensemble -fix 1 all nve/asphere -fix 2 all langevin ${T} ${T} 2.5 457145 angmom 10 -fix 2 all langevin 0.1 ${T} 2.5 457145 angmom 10 -fix 2 all langevin 0.1 0.1 2.5 457145 angmom 10 - -timestep 1e-5 - -#comm_style tiled -fix 3 all balance 1000 1.03 shift xyz 10 1.03 -comm_modify cutoff 3.8 - -compute quat all property/atom quatw quati quatj quatk - -compute erot all erotate/asphere -compute ekin all ke -compute epot all pe -variable erot equal c_erot -variable ekin equal c_ekin -variable epot equal c_epot -variable etot equal c_erot+c_ekin+c_epot -fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes -fix 5 all print 1000 "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes - -dump out all custom ${ofreq} out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz -dump out all custom 1000 out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz -dump out all custom 1000 out.2.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz -dump_modify out sort id -dump_modify out format line "%d %d %d %22.15le %22.15le %22.15le %d %d %d %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le" - -run 1000000 -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.9560004 - ghost atom cutoff = 3.8 - binsize = 1.4780002, bins = 28 28 28 - 4 neighbor lists, perpetual/occasional/extra = 4 0 0 - (1) pair oxdna/excv, perpetual - attributes: half, newton off - pair build: half/bin/newtoff - stencil: full/bin/3d - bin: standard - (2) pair oxdna/hbond, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (3) pair oxdna/xstk, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (4) pair oxdna/coaxstk, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none -0 ekin = 2.70475393009871 | erot = 2.80172072918779 | epot = -21.9967648054699 | etot = -16.4902901461834 -Per MPI rank memory allocation (min/avg/max) = 9.326 | 9.326 | 9.326 Mbytes -Step Temp E_pair E_mol TotEng Press Volume - 0 0.12021129 -1.3914531 0.016655298 -1.2057507 5.174549e-05 64000 -1000 ekin = 2.68462004451395 | erot = 2.58605420555131 | epot = -21.8105393794712 | etot = -16.5398651294059 -2000 ekin = 2.60963739095655 | erot = 2.48175619043154 | epot = -21.6459705488588 | etot = -16.5545769674707 -3000 ekin = 2.63989588847182 | erot = 2.46363051573262 | epot = -21.5254922679992 | etot = -16.4219658637948 -4000 ekin = 2.5752038952926 | erot = 2.37178501784054 | epot = -21.4327542438291 | etot = -16.485765330696 -5000 ekin = 2.5044104280733 | erot = 2.08769632851087 | epot = -21.3521450303024 | etot = -16.7600382737182 -6000 ekin = 2.36107642071569 | erot = 2.35003179412404 | epot = -21.2782010260872 | etot = -16.5670928112474 -7000 ekin = 2.37495351372023 | erot = 2.16846238087391 | epot = -21.2534688435259 | etot = -16.7100529489317 -8000 ekin = 2.42775724176585 | erot = 2.14686490397956 | epot = -21.2553298683528 | etot = -16.6807077226074 -9000 ekin = 2.31422464867069 | erot = 1.8637862252403 | epot = -21.2852707364932 | etot = -17.1072598625822 -10000 ekin = 2.3275093348898 | erot = 1.94087852055649 | epot = -21.3429178830636 | etot = -17.0745300276173 -11000 ekin = 2.23983345215334 | erot = 2.16573111806156 | epot = -21.4294123399217 | etot = -17.0238477697068 -12000 ekin = 2.24948652666018 | erot = 2.32563449403286 | epot = -21.5368720528797 | etot = -16.9617510321867 -13000 ekin = 2.3141269026489 | erot = 2.54687184991595 | epot = -21.62467553135 | etot = -16.7636767787851 -14000 ekin = 2.30456735091101 | erot = 2.82813231901192 | epot = -21.6854822284275 | etot = -16.5527825585046 -15000 ekin = 2.41196948877884 | erot = 2.60315540839484 | epot = -21.7080540027112 | etot = -16.6929291055375 -16000 ekin = 2.32930626459584 | erot = 2.77308393740008 | epot = -21.6887196306942 | etot = -16.5863294286983 -17000 ekin = 2.39617472660391 | erot = 3.03091034756258 | epot = -21.6395184677655 | etot = -16.2124333935991 -18000 ekin = 2.3327950089553 | erot = 3.14341710049 | epot = -21.5741278170259 | etot = -16.0979157075806 -19000 ekin = 2.42845349180327 | erot = 2.98452732659579 | epot = -21.4895578941597 | etot = -16.0765770757607 -20000 ekin = 2.58234763441785 | erot = 3.33252070318004 | epot = -21.3975543217035 | etot = -15.4826859841056 -21000 ekin = 2.6449455763858 | erot = 3.32881968524127 | epot = -21.3229796202747 | etot = -15.3492143586476 -22000 ekin = 2.65030022474644 | erot = 3.26762562263436 | epot = -21.2713919939756 | etot = -15.3534661465948 -23000 ekin = 2.74232842321963 | erot = 2.85782586045795 | epot = -21.2433172110301 | etot = -15.6431629273525 -24000 ekin = 2.70913362671021 | erot = 2.5614570464177 | epot = -21.2492397215426 | etot = -15.9786490484147 -25000 ekin = 2.71785549515017 | erot = 2.45020590769023 | epot = -21.2696953560915 | etot = -16.1016339532511 -26000 ekin = 2.80969274934563 | erot = 2.57761600133559 | epot = -21.3121170333524 | etot = -15.9248082826712 -27000 ekin = 2.90228693281849 | erot = 2.52543294446069 | epot = -21.3618959826307 | etot = -15.9341761053516 -28000 ekin = 2.80577992946705 | erot = 2.42942187536901 | epot = -21.4238267965374 | etot = -16.1886249917014 -29000 ekin = 2.84024245066251 | erot = 2.37728970052671 | epot = -21.5220045306241 | etot = -16.3044723794349 -30000 ekin = 2.91820846152589 | erot = 2.5285825532428 | epot = -21.6452589795617 | etot = -16.198467964793 -31000 ekin = 3.01591597087963 | erot = 2.66934437756135 | epot = -21.7837708816784 | etot = -16.0985105332374 -32000 ekin = 3.18554066714555 | erot = 2.70126504453976 | epot = -21.9266237283442 | etot = -16.0398180166589 -33000 ekin = 3.4559109786996 | erot = 3.05486835802113 | epot = -22.0467287622724 | etot = -15.5359494255517 -34000 ekin = 3.47254829729221 | erot = 3.41663527351813 | epot = -22.1468381626759 | etot = -15.2576545918655 -35000 ekin = 3.45946416093007 | erot = 3.2177601439385 | epot = -22.2021645741413 | etot = -15.5249402692727 -36000 ekin = 3.38072119723012 | erot = 2.9889184383328 | epot = -22.202497862958 | etot = -15.8328582273951 -37000 ekin = 3.29783742910404 | erot = 2.73521555931908 | epot = -22.1657123704834 | etot = -16.1326593820603 -38000 ekin = 3.33959958296025 | erot = 2.617783203284 | epot = -22.1041970676609 | etot = -16.1468142814166 -39000 ekin = 3.23639805960126 | erot = 2.58373522106731 | epot = -22.0096421543482 | etot = -16.1895088736796 -40000 ekin = 3.11586138662875 | erot = 2.19624820863949 | epot = -21.8962581958557 | etot = -16.5841486005874 -41000 ekin = 3.04246623801461 | erot = 2.23321889509951 | epot = -21.807787363566 | etot = -16.5321022304519 -42000 ekin = 2.84983279602751 | erot = 2.80264211079703 | epot = -21.748255605817 | etot = -16.0957806989924 -43000 ekin = 2.79124232412409 | erot = 2.40517464805221 | epot = -21.704091232696 | etot = -16.5076742605197 -44000 ekin = 2.66237577064431 | erot = 2.48075679823103 | epot = -21.6865985692202 | etot = -16.5434660003448 -45000 ekin = 2.57941183432903 | erot = 2.51210561132975 | epot = -21.7100580821224 | etot = -16.6185406364637 -46000 ekin = 2.732761778313 | erot = 2.72002755015638 | epot = -21.7400457171799 | etot = -16.2872563887105 -47000 ekin = 2.64234876254598 | erot = 2.59091566156289 | epot = -21.7975985084293 | etot = -16.5643340843204 -48000 ekin = 2.59173469012523 | erot = 2.43590670780657 | epot = -21.8709604205579 | etot = -16.8433190226261 -49000 ekin = 2.72309795319076 | erot = 2.23156431391338 | epot = -21.9468429014909 | etot = -16.9921806343868 -50000 ekin = 2.84714836170718 | erot = 1.99663528516206 | epot = -22.0121784873832 | etot = -17.168394840514 -51000 ekin = 2.89884791688871 | erot = 1.91491454776677 | epot = -22.0530950349948 | etot = -17.2393325703393 -52000 ekin = 3.03617525579655 | erot = 2.19848391536796 | epot = -22.0866976985223 | etot = -16.8520385273578 -53000 ekin = 2.9917537491504 | erot = 2.39711100098148 | epot = -22.1010575333115 | etot = -16.7121927831796 -54000 ekin = 2.99574935861399 | erot = 2.32745187661848 | epot = -22.1028140124057 | etot = -16.7796127771732 -55000 ekin = 2.99570982560687 | erot = 2.49897185698991 | epot = -22.105723856857 | etot = -16.6110421742602 -56000 ekin = 2.94925439949785 | erot = 2.44012089769545 | epot = -22.0870769441157 | etot = -16.6977016469224 -57000 ekin = 2.94734500065235 | erot = 2.12984920172191 | epot = -22.0412734212001 | etot = -16.9640792188258 -58000 ekin = 2.8195513388404 | erot = 2.13458872869613 | epot = -21.9788636009448 | etot = -17.0247235334083 -59000 ekin = 2.70811531854734 | erot = 2.38980716247399 | epot = -21.8949081752973 | etot = -16.7969856942759 -60000 ekin = 2.70414157935546 | erot = 2.55940091198391 | epot = -21.7861093627115 | etot = -16.5225668713721 -61000 ekin = 2.65859389245694 | erot = 2.53396073555877 | epot = -21.6569039895118 | etot = -16.4643493614961 -62000 ekin = 2.60219558362528 | erot = 2.22515394919042 | epot = -21.5116333689022 | etot = -16.6842838360865 -63000 ekin = 2.63153399947686 | erot = 2.22422110021206 | epot = -21.3652621775789 | etot = -16.50950707789 -64000 ekin = 2.74532788694548 | erot = 2.1852310955141 | epot = -21.2714335683308 | etot = -16.3408745858712 -65000 ekin = 2.72054938384344 | erot = 2.0734388946021 | epot = -21.2024805852124 | etot = -16.4084923067669 -66000 ekin = 2.58244112846417 | erot = 2.07735193876559 | epot = -21.1764160570954 | etot = -16.5166229898656 -67000 ekin = 2.57755413160866 | erot = 2.44046690225453 | epot = -21.1906023260749 | etot = -16.1725812922117 -68000 ekin = 2.48736395314817 | erot = 2.12758461162315 | epot = -21.2185147422317 | etot = -16.6035661774604 -69000 ekin = 2.41843849956018 | erot = 2.1851511208093 | epot = -21.2498143720114 | etot = -16.6462247516419 -70000 ekin = 2.42405639999474 | erot = 1.95650329930019 | epot = -21.2748182794301 | etot = -16.8942585801352 -71000 ekin = 2.43121308276011 | erot = 1.85632548443193 | epot = -21.3045707498285 | etot = -17.0170321826365 -72000 ekin = 2.50008703688388 | erot = 1.59919455914919 | epot = -21.3493737552797 | etot = -17.2500921592466 -73000 ekin = 2.68616751062556 | erot = 1.88927937064788 | epot = -21.3998788656788 | etot = -16.8244319844054 -74000 ekin = 2.7264265029667 | erot = 1.98526997108522 | epot = -21.439395334657 | etot = -16.7276988606051 -75000 ekin = 2.82872762184215 | erot = 2.08391491924432 | epot = -21.4749344303949 | etot = -16.5622918893084 -76000 ekin = 2.90099143523702 | erot = 2.16095088121797 | epot = -21.493537150752 | etot = -16.431594834297 -77000 ekin = 3.18544250151158 | erot = 2.00037055601336 | epot = -21.4789486218772 | etot = -16.2931355643523 -78000 ekin = 3.25276485916355 | erot = 2.04037410610702 | epot = -21.4312552501158 | etot = -16.1381162848452 -79000 ekin = 3.31064968204684 | erot = 2.17606310098545 | epot = -21.3489462542885 | etot = -15.8622334712562 -80000 ekin = 3.2501731479278 | erot = 1.78411830235591 | epot = -21.2684346239655 | etot = -16.2341431736818 -81000 ekin = 3.28475664530894 | erot = 1.62694393051346 | epot = -21.2092459483416 | etot = -16.2975453725192 -82000 ekin = 3.22905109952648 | erot = 1.53744252292448 | epot = -21.2050298148134 | etot = -16.4385361923624 -83000 ekin = 3.23231520762087 | erot = 1.77352705563455 | epot = -21.2433468675554 | etot = -16.2375046043 -84000 ekin = 3.2686769392199 | erot = 1.72038623835535 | epot = -21.2969079823477 | etot = -16.3078448047725 -85000 ekin = 3.24886887492836 | erot = 1.71422228707809 | epot = -21.3487304738108 | etot = -16.3856393118043 -86000 ekin = 3.373889669088 | erot = 2.05166004106914 | epot = -21.4140353196306 | etot = -15.9884856094734 -87000 ekin = 3.32398602808484 | erot = 2.11391553019111 | epot = -21.504425162937 | etot = -16.066523604661 -88000 ekin = 3.37321522230413 | erot = 1.88481910803275 | epot = -21.6374519675633 | etot = -16.3794176372264 -89000 ekin = 3.4028784845023 | erot = 1.74012560118448 | epot = -21.7814074383675 | etot = -16.6384033526808 -90000 ekin = 3.56172892861212 | erot = 2.10522136125781 | epot = -21.9615291243627 | etot = -16.2945788344927 -91000 ekin = 3.55669957238083 | erot = 2.42086123522054 | epot = -22.1511779304613 | etot = -16.1736171228599 -92000 ekin = 3.64237791317121 | erot = 2.65970416317374 | epot = -22.3488733671942 | etot = -16.0467912908492 -93000 ekin = 3.71183685172055 | erot = 2.62133287897564 | epot = -22.5092709223126 | etot = -16.1761011916164 -94000 ekin = 3.68157545521776 | erot = 2.45531539887243 | epot = -22.6307602436275 | etot = -16.4938693895373 -95000 ekin = 3.60128502265547 | erot = 2.60141757186748 | epot = -22.7389627643835 | etot = -16.5362601698605 -96000 ekin = 3.53126429160548 | erot = 2.72315885473471 | epot = -22.8177646203461 | etot = -16.5633414740059 -97000 ekin = 3.47335877191586 | erot = 2.74980204474208 | epot = -22.859910231875 | etot = -16.6367494152171 -98000 ekin = 3.36569576671704 | erot = 2.64094316029088 | epot = -22.8536591989749 | etot = -16.847020271967 -99000 ekin = 3.17486973109326 | erot = 2.83643491109138 | epot = -22.8212456182645 | etot = -16.8099409760799 -100000 ekin = 2.98877854809339 | erot = 2.8502739133799 | epot = -22.7838710680406 | etot = -16.9448186065673 -101000 ekin = 2.80581049577987 | erot = 2.78036845929873 | epot = -22.7080420278476 | etot = -17.121863072769 -102000 ekin = 2.6114621154454 | erot = 3.14391622209056 | epot = -22.5804486115116 | etot = -16.8250702739756 -103000 ekin = 2.52473332619747 | erot = 3.13557205223547 | epot = -22.41653637854 | etot = -16.7562310001071 -104000 ekin = 2.38813618870076 | erot = 2.81177058896969 | epot = -22.2533489092942 | etot = -17.0534421316238 -105000 ekin = 2.27037902349693 | erot = 2.38822666643153 | epot = -22.0942448767488 | etot = -17.4356391868203 -106000 ekin = 2.14052224393181 | erot = 2.10858697946661 | epot = -21.9851740201844 | etot = -17.736064796786 -107000 ekin = 2.06068755794712 | erot = 2.32025367575509 | epot = -21.9181411680676 | etot = -17.5371999343654 -108000 ekin = 2.16310171427444 | erot = 2.45914268610281 | epot = -21.8972466640829 | etot = -17.2750022637057 -109000 ekin = 2.1640828140893 | erot = 2.39028083194259 | epot = -21.9223151975609 | etot = -17.367951551529 -110000 ekin = 2.27703874503424 | erot = 2.02252280342038 | epot = -21.9984748890034 | etot = -17.6989133405488 -111000 ekin = 2.42168812145141 | erot = 2.08603766327771 | epot = -22.1196725497682 | etot = -17.611946765039 -112000 ekin = 2.55041354840489 | erot = 2.05316660200929 | epot = -22.2467875616205 | etot = -17.6432074112064 -113000 ekin = 2.65118330223827 | erot = 1.8466330723311 | epot = -22.3714662854257 | etot = -17.8736499108563 -114000 ekin = 2.75066239210866 | erot = 2.06979110412732 | epot = -22.4757786127357 | etot = -17.6553251164997 -115000 ekin = 2.74969592573207 | erot = 2.2067264054263 | epot = -22.5825353241201 | etot = -17.6261129929617 -116000 ekin = 2.8331207613362 | erot = 2.23062165851058 | epot = -22.6813212117303 | etot = -17.6175787918836 -117000 ekin = 2.88175954095802 | erot = 2.38703791420885 | epot = -22.7694466083741 | etot = -17.5006491532072 -118000 ekin = 2.93568625662281 | erot = 2.26039492756772 | epot = -22.8432426400157 | etot = -17.6471614558252 -119000 ekin = 3.19523724062623 | erot = 2.22567760232914 | epot = -22.8880366342743 | etot = -17.4671217913189 -120000 ekin = 3.17008032268746 | erot = 2.25532705796801 | epot = -22.9065026704633 | etot = -17.4810952898079 -121000 ekin = 3.22925408627785 | erot = 2.4213919893106 | epot = -22.9068338710661 | etot = -17.2561877954777 -122000 ekin = 3.16756628646263 | erot = 2.29253955659867 | epot = -22.9100933328213 | etot = -17.44998748976 -123000 ekin = 3.13886988858722 | erot = 1.8737391679277 | epot = -22.9201354096178 | etot = -17.9075263531029 -124000 ekin = 3.07340133048022 | erot = 2.07486210586022 | epot = -22.9196688561523 | etot = -17.7714054198119 -125000 ekin = 3.01797638857695 | erot = 1.75538270899544 | epot = -22.9139839700498 | etot = -18.1406248724774 -126000 ekin = 2.96636842974588 | erot = 1.89046865067189 | epot = -22.9078794876244 | etot = -18.0510424072066 -127000 ekin = 2.99891017927352 | erot = 1.92488638621197 | epot = -22.8780661376738 | etot = -17.9542695721883 -128000 ekin = 3.07056715413782 | erot = 1.99149347655674 | epot = -22.8571726497158 | etot = -17.7951120190212 -129000 ekin = 3.00434595988796 | erot = 1.94814247853284 | epot = -22.8246013230694 | etot = -17.8721128846486 -130000 ekin = 2.83701493144512 | erot = 2.50342892051145 | epot = -22.760915431814 | etot = -17.4204715798574 -131000 ekin = 2.7247248423437 | erot = 2.70734329989559 | epot = -22.6636087699672 | etot = -17.2315406277279 -132000 ekin = 2.62389553593814 | erot = 2.52695276027317 | epot = -22.5087045821917 | etot = -17.3578562859804 -133000 ekin = 2.63528199515895 | erot = 2.39127524409791 | epot = -22.2966493236603 | etot = -17.2700920844034 -134000 ekin = 2.50610716876234 | erot = 2.09594811418196 | epot = -22.0718067043303 | etot = -17.469751421386 -135000 ekin = 2.48472772183192 | erot = 2.14881599404771 | epot = -21.8608678335614 | etot = -17.2273241176818 -136000 ekin = 2.5338227584519 | erot = 1.74309578227986 | epot = -21.6765558191781 | etot = -17.3996372784464 -137000 ekin = 2.57036342314514 | erot = 1.75885685985375 | epot = -21.5407454007371 | etot = -17.2115251177382 -138000 ekin = 2.52929445682248 | erot = 1.91945977351017 | epot = -21.4409011955172 | etot = -16.9921469651846 -139000 ekin = 2.57663737105064 | erot = 1.80679457632205 | epot = -21.38609742836 | etot = -17.0026654809873 -140000 ekin = 2.62053160118786 | erot = 1.51774101989578 | epot = -21.3676503668328 | etot = -17.2293777457491 -141000 ekin = 2.61189200494664 | erot = 1.55065515745556 | epot = -21.3802632860277 | etot = -17.2177161236255 -142000 ekin = 2.51798883678621 | erot = 1.67942283127788 | epot = -21.4214580445684 | etot = -17.2240463765043 -143000 ekin = 2.49892771964519 | erot = 1.52127122899841 | epot = -21.4923083558109 | etot = -17.4721094071673 -144000 ekin = 2.54740250437643 | erot = 1.82241986650816 | epot = -21.6130145049208 | etot = -17.2431921340362 -145000 ekin = 2.56862853368622 | erot = 2.1447132249399 | epot = -21.7452461002774 | etot = -17.0319043416513 -146000 ekin = 2.67329509039846 | erot = 2.25975512947158 | epot = -21.8437012603417 | etot = -16.9106510404716 -147000 ekin = 2.68893868818076 | erot = 2.5571840144698 | epot = -21.9010658016926 | etot = -16.6549430990421 -148000 ekin = 2.81386130771017 | erot = 2.59830584821738 | epot = -21.9210519662198 | etot = -16.5088848102922 -149000 ekin = 2.74990137245693 | erot = 2.32741538507083 | epot = -21.9278539711831 | etot = -16.8505372136554 -150000 ekin = 2.69038170783762 | erot = 2.42676335467437 | epot = -21.8989948167628 | etot = -16.7818497542508 -151000 ekin = 2.66678982895817 | erot = 2.39492028203052 | epot = -21.7008835367963 | etot = -16.6391734258076 -152000 ekin = 2.67029595868374 | erot = 2.53847066661996 | epot = -21.58945786599 | etot = -16.3806912406863 -153000 ekin = 2.70694158654287 | erot = 2.72265775556542 | epot = -21.7448041240556 | etot = -16.3152047819474 -154000 ekin = 2.79926075391894 | erot = 2.75974679901138 | epot = -21.8203547485968 | etot = -16.2613471956665 -155000 ekin = 2.72511299719384 | erot = 2.88818303221402 | epot = -21.7319777070927 | etot = -16.1186816776849 -156000 ekin = 2.65694010664888 | erot = 2.78004189782679 | epot = -21.6308520721291 | etot = -16.1938700676535 -157000 ekin = 2.56365508198589 | erot = 2.71035147954055 | epot = -21.5253087387144 | etot = -16.2513021771879 -158000 ekin = 2.57548107386935 | erot = 2.73764982143009 | epot = -21.4382452043716 | etot = -16.1251143090722 -159000 ekin = 2.55799392432016 | erot = 2.92697271834229 | epot = -21.3737314732345 | etot = -15.8887648305721 -160000 ekin = 2.54679486207657 | erot = 2.80531497281534 | epot = -21.3130996693774 | etot = -15.9609898344855 -161000 ekin = 2.47207886924354 | erot = 2.90722613339802 | epot = -21.2672221196592 | etot = -15.8879171170176 -162000 ekin = 2.51623650472983 | erot = 2.57045306394745 | epot = -21.2288584749409 | etot = -16.1421689062636 -163000 ekin = 2.52126404883986 | erot = 2.48352069988729 | epot = -21.2217116449117 | etot = -16.2169268961845 -164000 ekin = 2.53114565385919 | erot = 2.34165200793308 | epot = -21.2429890011701 | etot = -16.3701913393778 -165000 ekin = 2.596603432361 | erot = 2.12645014227913 | epot = -21.2869963722373 | etot = -16.5639427975971 -166000 ekin = 2.69364521809338 | erot = 2.06502693559822 | epot = -21.3443825816706 | etot = -16.585710427979 -167000 ekin = 2.72157576348883 | erot = 2.11628142912504 | epot = -21.4170430149544 | etot = -16.5791858223406 -168000 ekin = 2.74006852516301 | erot = 2.1612636068734 | epot = -21.5099197935658 | etot = -16.6085876615294 -169000 ekin = 2.84315657816748 | erot = 1.97243923170456 | epot = -21.5949265249798 | etot = -16.7793307151078 -170000 ekin = 3.06124015523346 | erot = 1.92459124184599 | epot = -21.6783552680506 | etot = -16.6925238709712 -171000 ekin = 3.21151355702384 | erot = 1.59351420769795 | epot = -21.762225949322 | etot = -16.9571981846002 -172000 ekin = 3.36544412726444 | erot = 1.67007198308074 | epot = -21.8306762430335 | etot = -16.7951601326883 -173000 ekin = 3.41001134336544 | erot = 1.87953941868176 | epot = -21.878702000715 | etot = -16.5891512386678 -174000 ekin = 3.46376447230286 | erot = 1.96688973070303 | epot = -21.9078990210446 | etot = -16.4772448180387 -175000 ekin = 3.47678931181588 | erot = 1.55890709488263 | epot = -21.88501807375 | etot = -16.8493216670515 -176000 ekin = 3.20686196070586 | erot = 1.54933373538616 | epot = -21.8330978877433 | etot = -17.0769021916513 -177000 ekin = 3.13331042952705 | erot = 1.28865733070247 | epot = -21.7390998162162 | etot = -17.3171320559867 -178000 ekin = 3.06763392821204 | erot = 1.26897291328761 | epot = -21.6342141405499 | etot = -17.2976072990502 -179000 ekin = 3.0267475315226 | erot = 1.57409428962025 | epot = -21.5270591512614 | etot = -16.9262173301185 -180000 ekin = 3.03569853606418 | erot = 1.67758058394334 | epot = -21.4169893849026 | etot = -16.7037102648951 -181000 ekin = 2.85389178964206 | erot = 1.75333728320481 | epot = -21.3395105909862 | etot = -16.7322815181393 -182000 ekin = 2.7424437130026 | erot = 1.80493411676468 | epot = -21.2869584133413 | etot = -16.739580583574 -183000 ekin = 2.76150374616111 | erot = 1.81761006388004 | epot = -21.2282765342437 | etot = -16.6491627242026 -184000 ekin = 2.69206274097713 | erot = 1.86375380676946 | epot = -21.1764923592867 | etot = -16.6206758115401 -185000 ekin = 2.62052583157023 | erot = 2.07457833425477 | epot = -21.1511718680906 | etot = -16.4560677022656 -186000 ekin = 2.54874716739377 | erot = 2.15191323422227 | epot = -21.12970319865 | etot = -16.429042797034 -187000 ekin = 2.47899352285435 | erot = 2.12131864753473 | epot = -21.1527973741677 | etot = -16.5524852037786 -188000 ekin = 2.40242843893253 | erot = 2.28274972847695 | epot = -21.2023943736364 | etot = -16.5172162062269 -189000 ekin = 2.24542511336507 | erot = 2.32237220121096 | epot = -21.2650187542766 | etot = -16.6972214397006 -190000 ekin = 2.27331885209491 | erot = 2.4610105377636 | epot = -21.3641240186242 | etot = -16.6297946287657 -191000 ekin = 2.38811474192591 | erot = 2.65597612519354 | epot = -21.4523608275388 | etot = -16.4082699604193 -192000 ekin = 2.35492395959151 | erot = 3.12866296082005 | epot = -21.5455989503755 | etot = -16.0620120299639 -193000 ekin = 2.33255266209782 | erot = 3.16650140028571 | epot = -21.6305745065443 | etot = -16.1315204441607 -194000 ekin = 2.3664165449988 | erot = 3.75512105430481 | epot = -21.7057940648226 | etot = -15.584256465519 -195000 ekin = 2.27714091943424 | erot = 4.22857583198264 | epot = -21.7506289706187 | etot = -15.2449122192018 -196000 ekin = 2.25022759887642 | erot = 4.19721047469103 | epot = -21.7392596229739 | etot = -15.2918215494065 -197000 ekin = 2.13566163028441 | erot = 3.96282097735922 | epot = -21.6861725112141 | etot = -15.5876899035705 -198000 ekin = 2.100264771743 | erot = 3.46946292854128 | epot = -21.6151658929782 | etot = -16.045438192694 -199000 ekin = 2.06841069526369 | erot = 3.02621949814231 | epot = -21.5580043865078 | etot = -16.4633741931018 -200000 ekin = 2.07457887577956 | erot = 3.1563287507984 | epot = -21.5271681184487 | etot = -16.2962604918707 -201000 ekin = 2.22865169770726 | erot = 2.68086789208483 | epot = -21.5402772694356 | etot = -16.6307576796436 -202000 ekin = 2.2134468038606 | erot = 2.70841026008599 | epot = -21.5670967607414 | etot = -16.6452396967948 -203000 ekin = 2.29378527554827 | erot = 2.48093430470295 | epot = -21.5962341727991 | etot = -16.8215145925479 -204000 ekin = 2.25828607560487 | erot = 2.50063815518558 | epot = -21.6380337966632 | etot = -16.8791095658728 -205000 ekin = 2.39913678175079 | erot = 2.62281981805075 | epot = -21.6838133695188 | etot = -16.6618567697172 -206000 ekin = 2.51393947992585 | erot = 2.55239552126186 | epot = -21.7215385309812 | etot = -16.6552035297934 -207000 ekin = 2.55579745831526 | erot = 2.31728514006586 | epot = -21.7786985680232 | etot = -16.905615969642 -208000 ekin = 2.61391306966582 | erot = 2.10777835345235 | epot = -21.7882764620354 | etot = -17.0665850389173 -209000 ekin = 2.67160585819059 | erot = 2.09388960655156 | epot = -21.8382664978829 | etot = -17.0727710331407 -210000 ekin = 2.82942438299537 | erot = 2.13327984174743 | epot = -21.9979383135577 | etot = -17.0352340888149 -211000 ekin = 2.92049266864328 | erot = 2.12124523148429 | epot = -22.2280513777038 | etot = -17.1863134775763 -212000 ekin = 3.00277061822758 | erot = 2.39488452737938 | epot = -22.4022759841391 | etot = -17.0046208385321 -213000 ekin = 3.13095859457293 | erot = 2.47163847125458 | epot = -22.5628987907077 | etot = -16.9603017248801 -214000 ekin = 3.23740343206466 | erot = 2.34793353448063 | epot = -22.7059476770017 | etot = -17.1206107104565 -215000 ekin = 3.25450904082695 | erot = 2.2622265725469 | epot = -22.8087885080489 | etot = -17.292052894675 -216000 ekin = 3.33545375500928 | erot = 2.25051135075666 | epot = -22.8910607863363 | etot = -17.3050956805704 -217000 ekin = 3.40631462781497 | erot = 2.45810884416318 | epot = -22.9502612260088 | etot = -17.0858377540307 -218000 ekin = 3.44211621843073 | erot = 2.40223178526955 | epot = -22.9724005123082 | etot = -17.128052508608 -219000 ekin = 3.35851747520084 | erot = 2.36223123268451 | epot = -22.9879332629406 | etot = -17.2671845550552 -220000 ekin = 3.2833944039116 | erot = 2.48348910158844 | epot = -22.9865937389542 | etot = -17.2197102334541 -221000 ekin = 3.19824562561904 | erot = 2.63802923468698 | epot = -22.9470020981349 | etot = -17.1107272378289 -222000 ekin = 3.05410812074653 | erot = 2.59372727399098 | epot = -22.8798801579581 | etot = -17.2320447632206 -223000 ekin = 3.01415969068795 | erot = 2.70890225393128 | epot = -22.7801464118767 | etot = -17.0570844672575 -224000 ekin = 2.97180261675446 | erot = 2.69506479286097 | epot = -22.6737182851749 | etot = -17.0068508755595 -225000 ekin = 2.90964642881874 | erot = 2.70979121573947 | epot = -22.6122851651091 | etot = -16.9928475205509 -226000 ekin = 2.79266706207817 | erot = 2.54927288052975 | epot = -22.611389662458 | etot = -17.26944971985 -227000 ekin = 2.76947170660882 | erot = 2.30328015123565 | epot = -22.6467409582568 | etot = -17.5739891004123 -228000 ekin = 2.78325047375845 | erot = 2.27271216177592 | epot = -22.7198790647036 | etot = -17.6639164291692 -229000 ekin = 2.76112130647928 | erot = 2.39217451148942 | epot = -22.800187069951 | etot = -17.6468912519823 -230000 ekin = 2.84369730914524 | erot = 2.42541769291401 | epot = -22.8608578528069 | etot = -17.5917428507477 -231000 ekin = 2.92519379372213 | erot = 2.78019508855837 | epot = -22.8903712559506 | etot = -17.1849823736701 -232000 ekin = 2.92995659411159 | erot = 2.33228808377075 | epot = -22.8760374316385 | etot = -17.6137927537562 -233000 ekin = 2.87287398890677 | erot = 2.17970441616599 | epot = -22.8206945159733 | etot = -17.7681161109006 -234000 ekin = 2.91717500618588 | erot = 2.07964949395211 | epot = -22.7337466562911 | etot = -17.7369221561531 -235000 ekin = 2.8884995634762 | erot = 1.8755917714471 | epot = -22.6649585599089 | etot = -17.9008672249856 -236000 ekin = 2.84502452090017 | erot = 1.92993964719768 | epot = -22.5730839299946 | etot = -17.7981197618968 -237000 ekin = 2.7747867075964 | erot = 2.00862555824013 | epot = -22.4470131017474 | etot = -17.6636008359109 -238000 ekin = 2.77623252972565 | erot = 1.8578135840649 | epot = -22.3442251833764 | etot = -17.7101790695858 -239000 ekin = 2.72624274520984 | erot = 1.82537539862894 | epot = -22.3075370346696 | etot = -17.7559188908308 -240000 ekin = 2.68874575599069 | erot = 2.08791431147562 | epot = -22.3178202354351 | etot = -17.5411601679688 -241000 ekin = 2.71558535720494 | erot = 2.36223789024905 | epot = -22.3776608268973 | etot = -17.2998375794433 -242000 ekin = 2.74214545076413 | erot = 2.6946745247038 | epot = -22.4730205135828 | etot = -17.0362005381149 -243000 ekin = 2.65488365755478 | erot = 3.08626659584901 | epot = -22.6054224397351 | etot = -16.8642721863313 -244000 ekin = 2.61050010484593 | erot = 3.05400040440766 | epot = -22.7622139439541 | etot = -17.0977134347005 -245000 ekin = 2.51883913658106 | erot = 3.07372030776083 | epot = -22.9307904494801 | etot = -17.3382310051382 -246000 ekin = 2.44808144989854 | erot = 2.89693270460534 | epot = -23.0903087154634 | etot = -17.7452945609595 -247000 ekin = 2.37103549600039 | erot = 2.98987101470682 | epot = -23.2167155364782 | etot = -17.8558090257709 -248000 ekin = 2.35707290060479 | erot = 2.62430509692223 | epot = -23.3107153472033 | etot = -18.3293373496762 -249000 ekin = 2.34573908311325 | erot = 2.540797635533 | epot = -23.3554639865935 | etot = -18.4689272679472 -250000 ekin = 2.19516079867449 | erot = 2.53320956727957 | epot = -23.3422435052511 | etot = -18.613873139297 -251000 ekin = 2.20157992848163 | erot = 2.54497162272741 | epot = -23.2895519821722 | etot = -18.5430004309631 -252000 ekin = 2.2945536597844 | erot = 2.27849916282306 | epot = -23.2346327540815 | etot = -18.661579931474 -253000 ekin = 2.24131781303689 | erot = 2.67744517517055 | epot = -23.1772273391452 | etot = -18.2584643509378 -254000 ekin = 2.21098192296338 | erot = 2.82095770992409 | epot = -23.1168686504973 | etot = -18.0849290176098 -255000 ekin = 2.19143060712001 | erot = 2.87369415644551 | epot = -23.0553324396616 | etot = -17.9902076760961 -256000 ekin = 2.10428673283323 | erot = 2.5284481661157 | epot = -22.989209826487 | etot = -18.3564749275381 -257000 ekin = 2.0901878769077 | erot = 2.57115406533198 | epot = -22.9241936332316 | etot = -18.262851690992 -258000 ekin = 2.19626617792815 | erot = 2.13919571497503 | epot = -22.8452199017343 | etot = -18.5097580088311 -259000 ekin = 2.21294203759051 | erot = 2.07911733890805 | epot = -22.7764097043272 | etot = -18.4843503278287 -260000 ekin = 2.22988124635537 | erot = 1.88363114769121 | epot = -22.7226746972068 | etot = -18.6091623031603 -261000 ekin = 2.23359219993357 | erot = 1.70662190809934 | epot = -22.6865933594041 | etot = -18.7463792513712 -262000 ekin = 2.41035894748686 | erot = 1.75350704630797 | epot = -22.6655731083551 | etot = -18.5017071145602 -263000 ekin = 2.54297814673108 | erot = 1.63910792627687 | epot = -22.6660944245488 | etot = -18.4840083515409 -264000 ekin = 2.6204802717585 | erot = 1.60167126997723 | epot = -22.6963818864548 | etot = -18.474230344719 -265000 ekin = 2.63395951584548 | erot = 1.61464895664043 | epot = -22.7525488508233 | etot = -18.5039403783374 -266000 ekin = 2.66249523510546 | erot = 1.90346143383775 | epot = -22.8357396370455 | etot = -18.2697829681023 -267000 ekin = 2.84840089865289 | erot = 1.96973814380149 | epot = -22.922895038939 | etot = -18.1047559964846 -268000 ekin = 2.88773992899432 | erot = 2.23404496611554 | epot = -23.0126109152364 | etot = -17.8908260201265 -269000 ekin = 2.95881152251244 | erot = 2.36308023135759 | epot = -23.0806209903755 | etot = -17.7587292365055 -270000 ekin = 3.19922667657027 | erot = 2.31987744595648 | epot = -23.0997207459547 | etot = -17.580616623428 -271000 ekin = 3.3047444353159 | erot = 2.18146213267916 | epot = -23.0923869412848 | etot = -17.6061803732897 -272000 ekin = 3.38316630950203 | erot = 2.27626381008298 | epot = -23.0565644655524 | etot = -17.3971343459674 -273000 ekin = 3.44314429393645 | erot = 2.33103394910062 | epot = -22.998686348507 | etot = -17.2245081054699 -274000 ekin = 3.29733836463975 | erot = 2.35460687412698 | epot = -22.9061895162167 | etot = -17.25424427745 -275000 ekin = 3.20483849389283 | erot = 2.17592485213268 | epot = -22.8033610976753 | etot = -17.4225977516498 -276000 ekin = 3.17952696643828 | erot = 2.53631962219392 | epot = -22.6964713302164 | etot = -16.9806247415842 -277000 ekin = 3.04779312524468 | erot = 2.63224846283753 | epot = -22.5925250147673 | etot = -16.9124834266851 -278000 ekin = 2.88882241520588 | erot = 2.44295768771974 | epot = -22.5096077221473 | etot = -17.1778276192217 -279000 ekin = 2.74458059242858 | erot = 2.34689014914025 | epot = -22.4433740610141 | etot = -17.3519033194453 -280000 ekin = 2.7554105836729 | erot = 2.40118989847531 | epot = -22.385537427078 | etot = -17.2289369449298 -281000 ekin = 2.66532300538255 | erot = 2.21704056459407 | epot = -22.3765161892643 | etot = -17.4941526192876 -282000 ekin = 2.60731940802894 | erot = 2.15906154555104 | epot = -22.3929020360192 | etot = -17.6265210824392 -283000 ekin = 2.58513425203912 | erot = 2.06481653587231 | epot = -22.408196701954 | etot = -17.7582459140426 -284000 ekin = 2.54858019457344 | erot = 2.2457247845057 | epot = -22.444591926386 | etot = -17.6502869473068 -285000 ekin = 2.55758171617785 | erot = 2.76460913859725 | epot = -22.514158659392 | etot = -17.1919678046169 -286000 ekin = 2.60821734500508 | erot = 3.16634932217223 | epot = -22.5929692498766 | etot = -16.8184025826992 -287000 ekin = 2.49254766601119 | erot = 3.15514661858264 | epot = -22.6449148716492 | etot = -16.9972205870554 -288000 ekin = 2.50066439821554 | erot = 3.49719403955153 | epot = -22.6803477105654 | etot = -16.6824892727983 -289000 ekin = 2.44598353504081 | erot = 3.34215032544747 | epot = -22.6895361095333 | etot = -16.901402249045 -290000 ekin = 2.3935982307273 | erot = 3.11268440307227 | epot = -22.6698244131813 | etot = -17.1635417793817 -291000 ekin = 2.4261701183146 | erot = 2.85487514428649 | epot = -22.6626122342503 | etot = -17.3815669716492 -292000 ekin = 2.40772687076946 | erot = 2.75801742060096 | epot = -22.6754806613924 | etot = -17.509736370022 -293000 ekin = 2.42154585346474 | erot = 2.56313321462425 | epot = -22.7028245536538 | etot = -17.7181454855648 -294000 ekin = 2.47283091667028 | erot = 2.92407822599823 | epot = -22.7233881302524 | etot = -17.3264789875839 -295000 ekin = 2.48250330737231 | erot = 2.66001264724744 | epot = -22.7516848410687 | etot = -17.6091688864489 -296000 ekin = 2.50738582337513 | erot = 2.53234484293194 | epot = -22.7873334660358 | etot = -17.7476027997287 -297000 ekin = 2.57517392062617 | erot = 2.82176475993525 | epot = -22.8071785750426 | etot = -17.4102398944812 -298000 ekin = 2.64719948459876 | erot = 2.59986611083038 | epot = -22.8000961016266 | etot = -17.5530305061974 -299000 ekin = 2.5779494927199 | erot = 2.50163391190624 | epot = -22.777423569021 | etot = -17.6978401643949 -300000 ekin = 2.54202853433729 | erot = 2.50188796046293 | epot = -22.7359935186374 | etot = -17.6920770238372 -301000 ekin = 2.53853550508124 | erot = 2.33138966267646 | epot = -22.668055568127 | etot = -17.7981304003693 -302000 ekin = 2.5416467257922 | erot = 2.35968144693469 | epot = -22.6002854710846 | etot = -17.6989572983577 -303000 ekin = 2.55152004910031 | erot = 2.25570939719572 | epot = -22.546491206588 | etot = -17.7392617602919 -304000 ekin = 2.43742201255293 | erot = 1.93302414776487 | epot = -22.4953520351471 | etot = -18.1249058748293 -305000 ekin = 2.37256740983366 | erot = 1.99906686310167 | epot = -22.4852720256445 | etot = -18.1136377527092 -306000 ekin = 2.33394239199436 | erot = 1.95361217330024 | epot = -22.4994393613202 | etot = -18.2118847960256 -307000 ekin = 2.36433385317702 | erot = 2.09819856998267 | epot = -22.5498835871989 | etot = -18.0873511640392 -308000 ekin = 2.39069887757527 | erot = 2.58247807487919 | epot = -22.6356145598506 | etot = -17.6624376073962 -309000 ekin = 2.42870516593961 | erot = 2.50601430493647 | epot = -22.7376993972852 | etot = -17.8029799264091 -310000 ekin = 2.59762961960999 | erot = 2.86657561799355 | epot = -22.8270893622473 | etot = -17.3628841246438 -311000 ekin = 2.5804504148771 | erot = 3.23112647307674 | epot = -22.8820505528211 | etot = -17.0704736648672 -312000 ekin = 2.55765290476199 | erot = 3.46227005563457 | epot = -22.8938340197387 | etot = -16.8739110593421 -313000 ekin = 2.55944192884797 | erot = 3.26655870580155 | epot = -22.8884040353445 | etot = -17.062403400695 -314000 ekin = 2.66754752507794 | erot = 3.03950571405864 | epot = -22.8258761802466 | etot = -17.11882294111 -315000 ekin = 2.73855283007325 | erot = 2.99016186621305 | epot = -22.7272216366887 | etot = -16.9985069404024 -316000 ekin = 2.80269198455225 | erot = 2.86307192976269 | epot = -22.5938909114045 | etot = -16.9281269970896 -317000 ekin = 2.93621184769342 | erot = 2.59361256238003 | epot = -22.4292070317097 | etot = -16.8993826216363 -318000 ekin = 2.8975852606956 | erot = 2.51740962219028 | epot = -22.2783865388303 | etot = -16.8633916559444 -319000 ekin = 2.91605528220967 | erot = 2.46065370098588 | epot = -22.1337044367048 | etot = -16.7569954535092 -320000 ekin = 3.07107505335126 | erot = 2.32265497319516 | epot = -21.9969159416465 | etot = -16.6031859151 -321000 ekin = 3.13741654111418 | erot = 2.10166654249781 | epot = -21.9003082194708 | etot = -16.6612251358588 -322000 ekin = 3.25007976010091 | erot = 2.45741622169982 | epot = -21.8520535793253 | etot = -16.1445575975246 -323000 ekin = 3.23909847348114 | erot = 2.53403753206016 | epot = -21.85400214387 | etot = -16.0808661383287 -324000 ekin = 3.38563358070231 | erot = 2.17311589402306 | epot = -21.900909860486 | etot = -16.3421603857606 -325000 ekin = 3.34278974993512 | erot = 2.12874487522943 | epot = -21.9500890276594 | etot = -16.4785544024948 -326000 ekin = 3.38095563952734 | erot = 1.87895018746853 | epot = -21.9795682650693 | etot = -16.7196624380734 -327000 ekin = 3.38255419804518 | erot = 2.15889018224061 | epot = -22.0134841360962 | etot = -16.4720397558104 -328000 ekin = 3.40032271527505 | erot = 2.44697536300071 | epot = -22.0234507590408 | etot = -16.176152680765 -329000 ekin = 3.42165866167045 | erot = 2.23397608707596 | epot = -21.996507984308 | etot = -16.3408732355616 -330000 ekin = 3.4049518958943 | erot = 2.16314285762149 | epot = -21.9196276290174 | etot = -16.3515328755016 -331000 ekin = 3.17548117127386 | erot = 2.09607585596631 | epot = -21.7944989890111 | etot = -16.5229419617709 -332000 ekin = 2.98417545246671 | erot = 2.49335753705494 | epot = -21.6758679740327 | etot = -16.1983349845111 -333000 ekin = 2.88789613747822 | erot = 2.25591859160928 | epot = -21.5606249971909 | etot = -16.4168102681034 -334000 ekin = 2.72802815944278 | erot = 2.34583544867019 | epot = -21.5029467999943 | etot = -16.4290831918814 -335000 ekin = 2.67984094653365 | erot = 2.55944269027805 | epot = -21.5037191469947 | etot = -16.264435510183 -336000 ekin = 2.69835695167792 | erot = 2.67075019722183 | epot = -21.5450631550405 | etot = -16.1759560061407 -337000 ekin = 2.58419106934196 | erot = 3.12853087323269 | epot = -21.6433168369331 | etot = -15.9305948943584 -338000 ekin = 2.49996061258834 | erot = 3.11218673292016 | epot = -21.7506422483336 | etot = -16.1384949028251 -339000 ekin = 2.39574216262849 | erot = 3.08063585267057 | epot = -21.8692124850348 | etot = -16.3928344697357 -340000 ekin = 2.49232794145647 | erot = 2.98019099132304 | epot = -21.9771878613075 | etot = -16.5046689285279 -341000 ekin = 2.49715634905669 | erot = 2.90079807725769 | epot = -22.0570317432504 | etot = -16.659077316936 -342000 ekin = 2.5171609306997 | erot = 2.82265055007451 | epot = -22.1164185335397 | etot = -16.7766070527655 -343000 ekin = 2.4860981088623 | erot = 2.72316461109179 | epot = -22.1874092656393 | etot = -16.9781465456852 -344000 ekin = 2.59185701101002 | erot = 2.80189377403283 | epot = -22.2240461219156 | etot = -16.8302953368728 -345000 ekin = 2.75203781955693 | erot = 2.78048504556997 | epot = -22.228777643338 | etot = -16.6962547782111 -346000 ekin = 2.81389530494876 | erot = 2.33407306131948 | epot = -22.2248537826431 | etot = -17.0768854163749 -347000 ekin = 2.93912104005356 | erot = 2.50008170041738 | epot = -22.249868336818 | etot = -16.810665596347 -348000 ekin = 2.96773185111308 | erot = 2.74343934252203 | epot = -22.2560808039813 | etot = -16.5449096103462 -349000 ekin = 3.13040986998839 | erot = 2.80190275823782 | epot = -22.2470744750917 | etot = -16.3147618468654 -350000 ekin = 3.08696501979114 | erot = 2.86847264662999 | epot = -22.2200203810507 | etot = -16.2645827146296 -351000 ekin = 3.09062650768659 | erot = 2.55040952388055 | epot = -22.2196533454769 | etot = -16.5786173139098 -352000 ekin = 3.11537871248049 | erot = 2.20508138812276 | epot = -22.2132969704675 | etot = -16.8928368698642 -353000 ekin = 3.0715606127648 | erot = 2.27110385815633 | epot = -22.1942519415341 | etot = -16.851587470613 -354000 ekin = 3.03625905361607 | erot = 2.28070870858904 | epot = -22.1756814217728 | etot = -16.8587136595677 -355000 ekin = 3.05199381136596 | erot = 2.27451340050885 | epot = -22.1583132038245 | etot = -16.8318059919496 -356000 ekin = 3.08455685206846 | erot = 2.22987943802131 | epot = -22.1433269864766 | etot = -16.8288906963869 -357000 ekin = 3.05732303271328 | erot = 2.39309407849547 | epot = -22.1193520318396 | etot = -16.6689349206308 -358000 ekin = 3.17110061451348 | erot = 2.70306029074059 | epot = -22.11823298523 | etot = -16.2440720799759 -359000 ekin = 3.16486963450215 | erot = 2.78686781955525 | epot = -22.1253692631305 | etot = -16.1736318090731 -360000 ekin = 3.13851448508919 | erot = 2.57867504445972 | epot = -22.1430585034903 | etot = -16.4258689739414 -361000 ekin = 3.10180460440794 | erot = 2.91879652221926 | epot = -22.1488150833327 | etot = -16.1282139567055 -362000 ekin = 3.05062554845321 | erot = 3.01028278746073 | epot = -22.1455190064011 | etot = -16.0846106704872 -363000 ekin = 3.05887916756222 | erot = 2.9828696644243 | epot = -22.1197448021474 | etot = -16.0779959701609 -364000 ekin = 2.97835573270404 | erot = 3.15819469882598 | epot = -22.0865889777576 | etot = -15.9500385462276 -365000 ekin = 2.91386725267312 | erot = 3.01797244564504 | epot = -22.0367345005041 | etot = -16.1048948021859 -366000 ekin = 2.84923441171891 | erot = 2.78629016923761 | epot = -21.9575039957298 | etot = -16.3219794147733 -367000 ekin = 2.68353251880636 | erot = 2.48104091468958 | epot = -21.89853718758 | etot = -16.7339637540841 -368000 ekin = 2.65983333900825 | erot = 2.52342977423081 | epot = -21.8801683018794 | etot = -16.6969051886403 -369000 ekin = 2.57098271373623 | erot = 2.1378338745132 | epot = -21.8712180667081 | etot = -17.1624014784587 -370000 ekin = 2.46719741991489 | erot = 2.19165130675154 | epot = -21.8880397158873 | etot = -17.2291909892209 -371000 ekin = 2.36101704058605 | erot = 2.37151178551908 | epot = -21.871259635484 | etot = -17.1387308093789 -372000 ekin = 2.3529234961604 | erot = 1.93814576615854 | epot = -21.8337068682175 | etot = -17.5426376058985 -373000 ekin = 2.22654652898949 | erot = 1.97312401893844 | epot = -21.7946812690266 | etot = -17.5950107210987 -374000 ekin = 2.10841533505384 | erot = 2.42321715998308 | epot = -21.7582816122237 | etot = -17.2266491171868 -375000 ekin = 2.09694600146956 | erot = 2.65841461817976 | epot = -21.7455351907437 | etot = -16.9901745710944 -376000 ekin = 2.01640282060135 | erot = 2.942674608739 | epot = -21.7585878275115 | etot = -16.7995103981711 -377000 ekin = 1.9663942011233 | erot = 3.0881995707429 | epot = -21.7692932541817 | etot = -16.7146994823155 -378000 ekin = 1.85818028079322 | erot = 2.93893488746254 | epot = -21.788829140459 | etot = -16.9917139722032 -379000 ekin = 1.80977620668718 | erot = 2.89686403333532 | epot = -21.8021607659805 | etot = -17.095520525958 -380000 ekin = 1.73240863049982 | erot = 3.31083227305493 | epot = -21.8040178365908 | etot = -16.7607769330361 -381000 ekin = 1.78593665245932 | erot = 3.00437887789568 | epot = -21.8146190159381 | etot = -17.0243034855831 -382000 ekin = 1.81833924259099 | erot = 3.29223624038112 | epot = -21.833830872214 | etot = -16.7232553892418 -383000 ekin = 1.90372822779348 | erot = 3.22237238702126 | epot = -21.8485569566827 | etot = -16.722456341868 -384000 ekin = 1.84908071228733 | erot = 3.12652639081515 | epot = -21.7977736604942 | etot = -16.8221665573917 -385000 ekin = 1.92406985540241 | erot = 2.87503823935564 | epot = -21.7109558633046 | etot = -16.9118477685465 -386000 ekin = 2.08459192251278 | erot = 2.45881013772459 | epot = -21.8127875838316 | etot = -17.2693855235942 -387000 ekin = 2.14831947455658 | erot = 2.58103233380244 | epot = -21.9657785164539 | etot = -17.2364267080948 -388000 ekin = 2.20283399392825 | erot = 2.65764672350559 | epot = -22.0644231935263 | etot = -17.2039424760924 -389000 ekin = 2.20238885724331 | erot = 2.65111850895059 | epot = -22.151623488139 | etot = -17.2981161219451 -390000 ekin = 2.24047588961193 | erot = 2.79913619901823 | epot = -22.2380523913912 | etot = -17.1984403027611 -391000 ekin = 2.27798913986011 | erot = 2.58277083989431 | epot = -22.3159667090674 | etot = -17.455206729313 -392000 ekin = 2.25449982760669 | erot = 2.37888824458213 | epot = -22.360585059292 | etot = -17.7271969871032 -393000 ekin = 2.40321868579769 | erot = 2.29619394920022 | epot = -22.4007355614942 | etot = -17.7013229264963 -394000 ekin = 2.3847224913627 | erot = 2.02605124890776 | epot = -22.4166559581037 | etot = -18.0058822178332 -395000 ekin = 2.35870737602685 | erot = 2.13809618093399 | epot = -22.4618388912501 | etot = -17.9650353342892 -396000 ekin = 2.36594751638181 | erot = 2.35329585924258 | epot = -22.4900242189753 | etot = -17.7707808433509 -397000 ekin = 2.32162964157157 | erot = 2.38815965169885 | epot = -22.5051745520066 | etot = -17.7953852587362 -398000 ekin = 2.28093171176819 | erot = 2.45784979337996 | epot = -22.4904502460559 | etot = -17.7516687409078 -399000 ekin = 2.24440009076081 | erot = 2.20375095522984 | epot = -22.4593286712299 | etot = -18.0111776252392 -400000 ekin = 2.21650351836316 | erot = 2.11035067120502 | epot = -22.4071568047283 | etot = -18.0803026151601 -401000 ekin = 2.18808947871548 | erot = 2.05046808146155 | epot = -22.3505439740507 | etot = -18.1119864138737 -402000 ekin = 2.16649391253914 | erot = 2.14799860386826 | epot = -22.2682562516522 | etot = -17.9537637352448 -403000 ekin = 2.28466204544584 | erot = 2.18910683075392 | epot = -22.2050986712121 | etot = -17.7313297950124 -404000 ekin = 2.34692059996736 | erot = 2.09828665659993 | epot = -22.153802700954 | etot = -17.7085954443867 -405000 ekin = 2.44056792098291 | erot = 1.95202235520071 | epot = -22.1290600615598 | etot = -17.7364697853762 -406000 ekin = 2.51200179837251 | erot = 1.84480550716535 | epot = -22.1228718442876 | etot = -17.7660645387497 -407000 ekin = 2.46779728542662 | erot = 1.9571557089084 | epot = -22.1207033013074 | etot = -17.6957503069724 -408000 ekin = 2.67524377663768 | erot = 2.25989223488923 | epot = -22.1391777417952 | etot = -17.2040417302683 -409000 ekin = 2.66315255700302 | erot = 2.37555491225742 | epot = -22.130319418611 | etot = -17.0916119493505 -410000 ekin = 2.65203478218391 | erot = 2.35306567100151 | epot = -22.1147712842537 | etot = -17.1096708310682 -411000 ekin = 2.66659217273954 | erot = 2.24630383870675 | epot = -22.1012745566864 | etot = -17.1883785452401 -412000 ekin = 2.71788228424459 | erot = 2.05994526098404 | epot = -22.0854752996799 | etot = -17.3076477544513 -413000 ekin = 2.91802848135381 | erot = 2.11234467836731 | epot = -22.071162406671 | etot = -17.0407892469499 -414000 ekin = 2.96559563750792 | erot = 2.00652755440291 | epot = -22.0704517319951 | etot = -17.0983285400842 -415000 ekin = 2.94033398741362 | erot = 2.15066367214138 | epot = -22.0908184253286 | etot = -16.9998207657736 -416000 ekin = 3.0130861756449 | erot = 2.30018045105556 | epot = -22.146756551793 | etot = -16.8334899250925 -417000 ekin = 2.99189829031791 | erot = 2.38541146259433 | epot = -22.2119953988621 | etot = -16.8346856459498 -418000 ekin = 2.92450258607182 | erot = 2.60659083472711 | epot = -22.2670317375585 | etot = -16.7359383167596 -419000 ekin = 3.02248435904793 | erot = 2.56863874909474 | epot = -22.3092445703346 | etot = -16.7181214621919 -420000 ekin = 3.11629989898243 | erot = 2.19357614992626 | epot = -22.352137101017 | etot = -17.0422610521083 -421000 ekin = 3.09888957739387 | erot = 2.50768144705336 | epot = -22.4424742155049 | etot = -16.8359031910576 -422000 ekin = 3.22879455450158 | erot = 2.72814664323869 | epot = -22.5663066955683 | etot = -16.609365497828 -423000 ekin = 3.30665671531863 | erot = 2.5159167760946 | epot = -22.6645305507577 | etot = -16.8419570593445 -424000 ekin = 3.37246731972729 | erot = 2.34745055602903 | epot = -22.7276426183929 | etot = -17.0077247426366 -425000 ekin = 3.43841525686886 | erot = 2.13655704811657 | epot = -22.7531787907647 | etot = -17.1782064857792 -426000 ekin = 3.39533061745577 | erot = 2.09679686908517 | epot = -22.7598072190451 | etot = -17.2676797325042 -427000 ekin = 3.39111059944182 | erot = 2.09557295936995 | epot = -22.7548111473876 | etot = -17.2681275885758 -428000 ekin = 3.31614466866163 | erot = 2.03921223078319 | epot = -22.7608817388065 | etot = -17.4055248393617 -429000 ekin = 3.32919751126102 | erot = 2.28907058183502 | epot = -22.7667239471957 | etot = -17.1484558540996 -430000 ekin = 3.209169039297 | erot = 2.24711750120356 | epot = -22.7569862329287 | etot = -17.3006996924281 -431000 ekin = 3.21784537917496 | erot = 2.11449131463102 | epot = -22.7330752234491 | etot = -17.4007385296431 -432000 ekin = 3.05825965277367 | erot = 2.12802457775881 | epot = -22.7058311036754 | etot = -17.5195468731429 -433000 ekin = 3.04999159233167 | erot = 2.12377304692499 | epot = -22.6927692042269 | etot = -17.5190045649702 -434000 ekin = 2.97281689578996 | erot = 2.06268809983415 | epot = -22.6735691335099 | etot = -17.6380641378858 -435000 ekin = 2.9408188199265 | erot = 2.27500624558159 | epot = -22.6471201429011 | etot = -17.431295077393 -436000 ekin = 2.76300260327171 | erot = 2.14872430130925 | epot = -22.6178894405037 | etot = -17.7061625359227 -437000 ekin = 2.5942981287548 | erot = 1.81211382552893 | epot = -22.5954850842172 | etot = -18.1890731299334 -438000 ekin = 2.55606503620589 | erot = 2.01798684807052 | epot = -22.5948271221483 | etot = -18.0207752378719 -439000 ekin = 2.53154376315503 | erot = 2.19299208744604 | epot = -22.6163361970743 | etot = -17.8918003464733 -440000 ekin = 2.40438990342989 | erot = 2.39730485059917 | epot = -22.6417525467575 | etot = -17.8400577927285 -441000 ekin = 2.39311316134448 | erot = 2.20887829122772 | epot = -22.6584374753818 | etot = -18.0564460228095 -442000 ekin = 2.33774628968783 | erot = 2.2792443860291 | epot = -22.6901952471933 | etot = -18.0732045714763 -443000 ekin = 2.29577071148449 | erot = 2.1368193262954 | epot = -22.7383184381275 | etot = -18.3057284003476 -444000 ekin = 2.23794629484166 | erot = 2.26441379885353 | epot = -22.7861053898433 | etot = -18.2837452961481 -445000 ekin = 2.295455262988 | erot = 2.2148355293276 | epot = -22.8258649969131 | etot = -18.3155742045975 -446000 ekin = 2.30609557124273 | erot = 2.31380080271862 | epot = -22.8648768729172 | etot = -18.2449804989559 -447000 ekin = 2.34004311197639 | erot = 2.11921527275248 | epot = -22.8964565927019 | etot = -18.437198207973 -448000 ekin = 2.31891408584105 | erot = 1.89336279102551 | epot = -22.9133862874844 | etot = -18.7011094106179 -449000 ekin = 2.50108402662094 | erot = 2.14275389718694 | epot = -22.9306330051682 | etot = -18.2867950813603 -450000 ekin = 2.56801154893259 | erot = 2.17030720110482 | epot = -22.9343126165987 | etot = -18.1959938665613 -451000 ekin = 2.56623797742055 | erot = 2.48936702406201 | epot = -22.9565813788789 | etot = -17.9009763773963 -452000 ekin = 2.58271965200722 | erot = 2.71036974079274 | epot = -22.9698927610142 | etot = -17.6768033682143 -453000 ekin = 2.57528128095344 | erot = 2.42064719168865 | epot = -22.9718770494988 | etot = -17.9759485768568 -454000 ekin = 2.67501362163764 | erot = 2.16830940597275 | epot = -22.9542828268572 | etot = -18.1109597992468 -455000 ekin = 2.56489981687939 | erot = 2.42902486734881 | epot = -22.9396963254754 | etot = -17.9457716412472 -456000 ekin = 2.70565104056165 | erot = 2.41758826939483 | epot = -22.9394278452201 | etot = -17.8161885352636 -457000 ekin = 2.67202110043049 | erot = 2.33461800850218 | epot = -22.9661541099741 | etot = -17.9595150010414 -458000 ekin = 2.80341163315565 | erot = 2.09116834812251 | epot = -22.9873787877665 | etot = -18.0927988064884 -459000 ekin = 2.88302679195822 | erot = 2.11686421326548 | epot = -22.9983193137535 | etot = -17.9984283085298 -460000 ekin = 2.80959444443693 | erot = 1.91875534890949 | epot = -22.9899489536659 | etot = -18.2615991603195 -461000 ekin = 2.74655544888572 | erot = 2.00712299964637 | epot = -22.9641927476616 | etot = -18.2105142991295 -462000 ekin = 2.69410871293393 | erot = 1.85692462055067 | epot = -22.9396822663686 | etot = -18.388648932884 -463000 ekin = 2.68405751272903 | erot = 1.72122902844388 | epot = -22.9206254454229 | etot = -18.51533890425 -464000 ekin = 2.68220436609111 | erot = 1.82183499702516 | epot = -22.9021000717157 | etot = -18.3980607085995 -465000 ekin = 2.72690747044721 | erot = 1.76672692428731 | epot = -22.883580832568 | etot = -18.3899464378335 -466000 ekin = 2.76097376291805 | erot = 1.45315546635121 | epot = -22.853232489585 | etot = -18.6391032603157 -467000 ekin = 2.70206815185864 | erot = 1.48571966445418 | epot = -22.8038556347772 | etot = -18.6160678184644 -468000 ekin = 2.54683782854452 | erot = 1.46932624584363 | epot = -22.7393489246082 | etot = -18.7231848502201 -469000 ekin = 2.57325964052953 | erot = 1.72667647792941 | epot = -22.688489550097 | etot = -18.3885534316381 -470000 ekin = 2.54097506641268 | erot = 1.3901983169653 | epot = -22.635429423222 | etot = -18.7042560398441 -471000 ekin = 2.53075144531174 | erot = 1.56973268857353 | epot = -22.5872254672433 | etot = -18.4867413333581 -472000 ekin = 2.48686143209682 | erot = 1.636086464973 | epot = -22.5386230972982 | etot = -18.4156752002283 -473000 ekin = 2.42292267545308 | erot = 1.87228271405928 | epot = -22.5112867940742 | etot = -18.2160814045618 -474000 ekin = 2.50613933288655 | erot = 2.09524169116573 | epot = -22.5009126606671 | etot = -17.8995316366149 -475000 ekin = 2.45603005290403 | erot = 1.85917779264055 | epot = -22.5137202723091 | etot = -18.1985124267645 -476000 ekin = 2.33468534022204 | erot = 2.02645602102819 | epot = -22.5553111044056 | etot = -18.1941697431554 -477000 ekin = 2.45891726578715 | erot = 2.02023615759312 | epot = -22.6158128757703 | etot = -18.13665945239 -478000 ekin = 2.41477886253639 | erot = 2.43026093865235 | epot = -22.6679361141585 | etot = -17.8228963129698 -479000 ekin = 2.32198252632123 | erot = 2.32644468281388 | epot = -22.7087553607367 | etot = -18.0603281516016 -480000 ekin = 2.3558894173607 | erot = 2.35954657100134 | epot = -22.7435251879183 | etot = -18.0280891995563 -481000 ekin = 2.28452089277901 | erot = 2.2043085242519 | epot = -22.7608284363971 | etot = -18.2719990193662 -482000 ekin = 2.32256646764215 | erot = 2.41557913055296 | epot = -22.7741831402842 | etot = -18.0360375420891 -483000 ekin = 2.27205927409901 | erot = 2.56178717087221 | epot = -22.772822499483 | etot = -17.9389760545117 -484000 ekin = 2.37993337782982 | erot = 2.66126649810807 | epot = -22.741647800889 | etot = -17.7004479249511 -485000 ekin = 2.38190748927821 | erot = 2.61854512767469 | epot = -22.711933457928 | etot = -17.7114808409751 -486000 ekin = 2.33418466506882 | erot = 2.46925253909108 | epot = -22.6824493106804 | etot = -17.8790121065205 -487000 ekin = 2.1809413341112 | erot = 2.69390883740086 | epot = -22.6720546869385 | etot = -17.7972045154264 -488000 ekin = 2.11650686044411 | erot = 2.55325406947429 | epot = -22.6638056402425 | etot = -17.9940447103241 -489000 ekin = 2.21431283780037 | erot = 2.6147077209327 | epot = -22.6573831222825 | etot = -17.8283625635494 -490000 ekin = 2.2177697789255 | erot = 2.2350033945615 | epot = -22.5741440270906 | etot = -18.1213708536035 -491000 ekin = 2.27432682857327 | erot = 1.88817054321459 | epot = -22.4373592688798 | etot = -18.2748618970919 -492000 ekin = 2.53138272091265 | erot = 1.96744277498782 | epot = -22.4175140127836 | etot = -17.9186885168831 -493000 ekin = 2.71682060136876 | erot = 2.08719543513572 | epot = -22.5173229601058 | etot = -17.7133069236013 -494000 ekin = 2.79234310962876 | erot = 1.83822122501528 | epot = -22.5447051999101 | etot = -17.9141408652661 -495000 ekin = 2.76785459319889 | erot = 1.73774545925603 | epot = -22.5287157975834 | etot = -18.0231157451285 -496000 ekin = 2.84739375420042 | erot = 1.56846128670017 | epot = -22.5241542479137 | etot = -18.1082992070132 -497000 ekin = 2.69680214844414 | erot = 1.74348040544617 | epot = -22.5144404613581 | etot = -18.0741579074678 -498000 ekin = 2.62941704239954 | erot = 1.98455622913416 | epot = -22.5178632839582 | etot = -17.9038900124245 -499000 ekin = 2.64804818916994 | erot = 2.28765209546422 | epot = -22.5255155919976 | etot = -17.5898153073635 -500000 ekin = 2.62333387127764 | erot = 2.24107414888827 | epot = -22.5402092035982 | etot = -17.6758011834323 -501000 ekin = 2.58728609470087 | erot = 2.55153168646072 | epot = -22.5581971333473 | etot = -17.4193793521857 -502000 ekin = 2.5743852966721 | erot = 2.59775936587112 | epot = -22.5744776891821 | etot = -17.4023330266389 -503000 ekin = 2.68620055951998 | erot = 2.57830069566431 | epot = -22.5848671752325 | etot = -17.3203659200482 -504000 ekin = 2.70861631349698 | erot = 2.63136597642943 | epot = -22.5422463026807 | etot = -17.2022640127542 -505000 ekin = 2.81322601719043 | erot = 2.35620405508435 | epot = -22.4713277487551 | etot = -17.3018976764803 -506000 ekin = 2.75875978790565 | erot = 2.28114200273201 | epot = -22.4152453500929 | etot = -17.3753435594552 -507000 ekin = 2.76795437715418 | erot = 2.08516805530088 | epot = -22.3599249092895 | etot = -17.5068024768344 -508000 ekin = 2.73683686247786 | erot = 2.23436615836139 | epot = -22.3104902501593 | etot = -17.33928722932 -509000 ekin = 2.78730220151829 | erot = 2.42925226467484 | epot = -22.2669837867326 | etot = -17.0504293205394 -510000 ekin = 2.70408252089224 | erot = 2.30581628327708 | epot = -22.2411716050791 | etot = -17.2312728009098 -511000 ekin = 2.61818706333857 | erot = 2.32198772005121 | epot = -22.2054755882156 | etot = -17.2653008048258 -512000 ekin = 2.62666567898698 | erot = 2.16861742931861 | epot = -22.1496493249523 | etot = -17.3543662166467 -513000 ekin = 2.62864579756442 | erot = 2.28017839888756 | epot = -22.0962074035279 | etot = -17.1873832070759 -514000 ekin = 2.62144790591354 | erot = 2.41032584829371 | epot = -22.0606978370585 | etot = -17.0289240828512 -515000 ekin = 2.41822665966335 | erot = 2.52539385006896 | epot = -22.0307261613949 | etot = -17.0871056516626 -516000 ekin = 2.50897552241959 | erot = 2.78752662759865 | epot = -21.9672371157166 | etot = -16.6707349656983 -517000 ekin = 2.49803351393466 | erot = 2.61327470143909 | epot = -21.8908910019266 | etot = -16.7795827865529 -518000 ekin = 2.40588427132944 | erot = 2.60496520247845 | epot = -21.8271402944048 | etot = -16.8162908205969 -519000 ekin = 2.30783192859357 | erot = 2.28376487382975 | epot = -21.7720265250264 | etot = -17.1804297226031 -520000 ekin = 2.27616423058181 | erot = 2.29434994860391 | epot = -21.7128184146398 | etot = -17.1423042354541 -521000 ekin = 2.24914668110671 | erot = 2.36897117879078 | epot = -21.6721321359535 | etot = -17.054014276056 -522000 ekin = 2.35364771784224 | erot = 2.36695097688788 | epot = -21.6628523798143 | etot = -16.9422536850842 -523000 ekin = 2.37618272265835 | erot = 2.13303138965068 | epot = -21.7051372318525 | etot = -17.1959231195435 -524000 ekin = 2.49723384027372 | erot = 2.24023872654157 | epot = -21.782377913726 | etot = -17.0449053469107 -525000 ekin = 2.4637574766049 | erot = 2.51521139084652 | epot = -21.8666578962014 | etot = -16.88768902875 -526000 ekin = 2.48852380798105 | erot = 2.58777847976823 | epot = -21.9290082944792 | etot = -16.85270600673 -527000 ekin = 2.56408998824219 | erot = 2.71602192536814 | epot = -21.9877682670141 | etot = -16.7076563534038 -528000 ekin = 2.56498509318797 | erot = 2.76910231594647 | epot = -22.0494190498079 | etot = -16.7153316406735 -529000 ekin = 2.49392950866822 | erot = 2.90081498188849 | epot = -22.095325939266 | etot = -16.7005814487092 -530000 ekin = 2.55943772908038 | erot = 3.45143762749468 | epot = -22.1238951653052 | etot = -16.1130198087301 -531000 ekin = 2.62008230330608 | erot = 3.41029569339047 | epot = -22.1596065217836 | etot = -16.1292285250871 -532000 ekin = 2.64345831357267 | erot = 3.25189148347886 | epot = -22.2210179597455 | etot = -16.325668162694 -533000 ekin = 2.66248857759375 | erot = 3.12130181040693 | epot = -22.2938545042492 | etot = -16.5100641162486 -534000 ekin = 2.57837832781882 | erot = 3.40672270429772 | epot = -22.3945209938967 | etot = -16.4094199617802 -535000 ekin = 2.54988429096274 | erot = 3.48601096999938 | epot = -22.4965663420718 | etot = -16.4606710811097 -536000 ekin = 2.54332535815071 | erot = 3.38741257391198 | epot = -22.5966447962839 | etot = -16.6659068642212 -537000 ekin = 2.51621672082876 | erot = 3.4954128648589 | epot = -22.722166058481 | etot = -16.7105364727933 -538000 ekin = 2.55164682489471 | erot = 3.74760630845821 | epot = -22.8591125937163 | etot = -16.5598594603634 -539000 ekin = 2.58092295425579 | erot = 3.80698168734289 | epot = -22.9765606947831 | etot = -16.5886560531845 -540000 ekin = 2.51008871731604 | erot = 3.80582456583089 | epot = -22.9798947810023 | etot = -16.6639814978554 -541000 ekin = 2.46719015763968 | erot = 3.50395862401684 | epot = -22.8431087269563 | etot = -16.8719599452998 -542000 ekin = 2.59107475639089 | erot = 3.1706666262415 | epot = -22.8744258545954 | etot = -17.112684471963 -543000 ekin = 2.6362020136149 | erot = 3.06589292292655 | epot = -23.0791931656973 | etot = -17.3770982291558 -544000 ekin = 2.76243033839971 | erot = 2.75752131636956 | epot = -23.190283999358 | etot = -17.6703323445887 -545000 ekin = 2.77751893807151 | erot = 2.90000680655544 | epot = -23.2046062023304 | etot = -17.5270804577034 -546000 ekin = 2.78059502363043 | erot = 2.54289051406663 | epot = -23.2005103103105 | etot = -17.8770247726134 -547000 ekin = 2.81545617905213 | erot = 2.47192481242818 | epot = -23.17185559686 | etot = -17.8844746053797 -548000 ekin = 2.79144209452777 | erot = 2.80250244565799 | epot = -23.1234791781376 | etot = -17.5295346379519 -549000 ekin = 2.75373348946697 | erot = 2.71813060504091 | epot = -23.0602788235302 | etot = -17.5884147290223 -550000 ekin = 2.68546541277406 | erot = 2.77855841780881 | epot = -22.9807527132682 | etot = -17.5167288826854 -551000 ekin = 2.63458963816006 | erot = 2.84363646369278 | epot = -22.8852605151349 | etot = -17.4070344132821 -552000 ekin = 2.65549146174165 | erot = 2.88006578689775 | epot = -22.7742141173518 | etot = -17.2386568687124 -553000 ekin = 2.61257263960416 | erot = 2.50580069544593 | epot = -22.6366728838901 | etot = -17.51829954884 -554000 ekin = 2.55042887500008 | erot = 2.45156308445395 | epot = -22.5169799021635 | etot = -17.5149879427094 -555000 ekin = 2.48771740920183 | erot = 2.41959978358368 | epot = -22.4015661830959 | etot = -17.4942489903104 -556000 ekin = 2.43741510652896 | erot = 2.45751361710346 | epot = -22.2928810834869 | etot = -17.3979523598545 -557000 ekin = 2.35602361024325 | erot = 2.35108817931548 | epot = -22.2068336513711 | etot = -17.4997218618124 -558000 ekin = 2.29845334881475 | erot = 2.47944197593299 | epot = -22.1269301143065 | etot = -17.3490347895588 -559000 ekin = 2.30547484128377 | erot = 2.43861674436455 | epot = -22.0431486095149 | etot = -17.2990570238666 -560000 ekin = 2.2773591477684 | erot = 2.22067768733761 | epot = -21.9730451699076 | etot = -17.4750083348016 -561000 ekin = 2.29286875562459 | erot = 2.1199168453984 | epot = -21.9034779049411 | etot = -17.4906923039181 -562000 ekin = 2.19274483675777 | erot = 2.46930771586789 | epot = -21.889396099988 | etot = -17.2273435473624 -563000 ekin = 2.2550795500483 | erot = 2.41065657987129 | epot = -21.9034392529017 | etot = -17.2377031229821 -564000 ekin = 2.40459323350315 | erot = 2.24328259671741 | epot = -21.940420807587 | etot = -17.2925449773665 -565000 ekin = 2.45683133378084 | erot = 2.27185510495033 | epot = -22.0074255927214 | etot = -17.2787391539902 -566000 ekin = 2.40141767311485 | erot = 2.21041354599854 | epot = -22.0735209036132 | etot = -17.4616896844998 -567000 ekin = 2.4457477053 | erot = 2.11328940794156 | epot = -22.1387930635642 | etot = -17.5797559503226 -568000 ekin = 2.4257005007209 | erot = 2.18749548652436 | epot = -22.1800917698727 | etot = -17.5668957826274 -569000 ekin = 2.41454722540358 | erot = 2.10107949642207 | epot = -22.2121048457969 | etot = -17.6964781239712 -570000 ekin = 2.2989763814646 | erot = 2.04752727974979 | epot = -22.2369346580048 | etot = -17.8904309967904 -571000 ekin = 2.37657622585406 | erot = 2.05748511989243 | epot = -22.2528258700713 | etot = -17.8187645243249 -572000 ekin = 2.31682251679288 | erot = 2.58991099215535 | epot = -22.2496997094434 | etot = -17.3429662004952 -573000 ekin = 2.30400671606327 | erot = 2.31011895599926 | epot = -22.2262777020444 | etot = -17.6121520299819 -574000 ekin = 2.22032912036986 | erot = 2.34605820626857 | epot = -22.1986731397126 | etot = -17.6322858130742 -575000 ekin = 2.32899896279976 | erot = 2.14115178550432 | epot = -22.1599463152595 | etot = -17.6897955669554 -576000 ekin = 2.39677965647583 | erot = 2.16319777458978 | epot = -22.1106499071578 | etot = -17.5506724760922 -577000 ekin = 2.3416506735784 | erot = 1.93700136472036 | epot = -22.0653568060899 | etot = -17.7867047677912 -578000 ekin = 2.16459341404815 | erot = 1.94455021171708 | epot = -22.0220297065976 | etot = -17.9128860808323 -579000 ekin = 2.10243284337438 | erot = 1.93292394186433 | epot = -21.9718679160589 | etot = -17.9365111308202 -580000 ekin = 1.99604497344192 | erot = 1.95521625056195 | epot = -21.9148231396272 | etot = -17.9635619156234 -581000 ekin = 1.96384176915027 | erot = 1.99100077453193 | epot = -21.8663464602613 | etot = -17.9115039165791 -582000 ekin = 1.86034078875963 | erot = 1.90507522813592 | epot = -21.8442116641844 | etot = -18.0787956472888 -583000 ekin = 1.71909602928123 | erot = 1.97209600265412 | epot = -21.8622366159148 | etot = -18.1710445839794 -584000 ekin = 1.70364742117104 | erot = 1.8409043836361 | epot = -21.9097350864251 | etot = -18.365183281618 -585000 ekin = 1.74431579790209 | erot = 2.03905704940611 | epot = -21.9890373916311 | etot = -18.2056645443229 -586000 ekin = 1.73466674324847 | erot = 1.83902306942852 | epot = -22.0843760980402 | etot = -18.5106862853632 -587000 ekin = 1.69495214035966 | erot = 2.05654584168955 | epot = -22.1748305300913 | etot = -18.4233325480421 -588000 ekin = 1.81991084277843 | erot = 2.03271452479358 | epot = -22.2619123801789 | etot = -18.4092870126069 -589000 ekin = 1.75774114592667 | erot = 2.09107160464917 | epot = -22.3245174454579 | etot = -18.475704694882 -590000 ekin = 1.72192880825666 | erot = 2.02708321623591 | epot = -22.3712739626592 | etot = -18.6222619381666 -591000 ekin = 1.76801497004168 | erot = 2.19934356351447 | epot = -22.4026553786929 | etot = -18.4352968451368 -592000 ekin = 1.73818904167478 | erot = 2.31753844822586 | epot = -22.4297727542858 | etot = -18.3740452643852 -593000 ekin = 1.74423680346885 | erot = 2.35378967969654 | epot = -22.43093631708 | etot = -18.3329098339146 -594000 ekin = 1.74360225576643 | erot = 1.98671317855341 | epot = -22.3849580162794 | etot = -18.6546425819596 -595000 ekin = 1.82597622479122 | erot = 2.13309374747926 | epot = -22.390309310767 | etot = -18.4312393384965 -596000 ekin = 1.88347190280875 | erot = 2.21700247043638 | epot = -22.4390117320808 | etot = -18.3385373588356 -597000 ekin = 1.85682865820151 | erot = 2.22335853873382 | epot = -22.4665965332847 | etot = -18.3864093363494 -598000 ekin = 1.90006820905243 | erot = 2.42053542571024 | epot = -22.4694279641808 | etot = -18.1488243294181 -599000 ekin = 1.90071729874354 | erot = 2.59878396537104 | epot = -22.4910623963926 | etot = -17.991561132278 -600000 ekin = 1.9775296369167 | erot = 2.72441502124518 | epot = -22.5477576362776 | etot = -17.8458129781158 -601000 ekin = 1.85698550625183 | erot = 2.88505630055951 | epot = -22.601413276632 | etot = -17.8593714698207 -602000 ekin = 1.85670612852394 | erot = 2.99246755772118 | epot = -22.6585474549208 | etot = -17.8093737686757 -603000 ekin = 1.86635938777731 | erot = 2.79466925677628 | epot = -22.7047123446179 | etot = -18.0436837000643 -604000 ekin = 1.85627372221488 | erot = 2.9645426732677 | epot = -22.7247435540802 | etot = -17.9039271585976 -605000 ekin = 1.90713526215439 | erot = 2.83334095597271 | epot = -22.7033988480802 | etot = -17.9629226299531 -606000 ekin = 1.97855456734149 | erot = 2.44168814330719 | epot = -22.6272048618403 | etot = -18.2069621511916 -607000 ekin = 2.01266482611072 | erot = 2.45716329068721 | epot = -22.5070850149334 | etot = -18.0372568981355 -608000 ekin = 2.12878560429552 | erot = 2.31425337484015 | epot = -22.3497088958722 | etot = -17.9066699167365 -609000 ekin = 2.06312041868314 | erot = 2.11817811077725 | epot = -22.1990535325683 | etot = -18.0177550031079 -610000 ekin = 2.16915995218538 | erot = 2.15710310478954 | epot = -22.0738713202685 | etot = -17.7476082632936 -611000 ekin = 2.2479062777386 | erot = 2.44524506443959 | epot = -21.9773927987228 | etot = -17.2842414565446 -612000 ekin = 2.33407663304696 | erot = 2.43880885419916 | epot = -21.9158194120391 | etot = -17.142933924793 -613000 ekin = 2.48627136554596 | erot = 2.04564905753185 | epot = -21.9014181358314 | etot = -17.3694977127536 -614000 ekin = 2.63092379207175 | erot = 1.78137353630872 | epot = -21.9268892251558 | etot = -17.5145918967753 -615000 ekin = 2.76847753887659 | erot = 1.747045066359 | epot = -22.0144396036922 | etot = -17.4989169984566 -616000 ekin = 2.91908707455727 | erot = 1.78290613271662 | epot = -22.118601225114 | etot = -17.4166080178401 -617000 ekin = 3.15203249393301 | erot = 1.78303328673775 | epot = -22.2256012419585 | etot = -17.2905354612877 -618000 ekin = 3.31119378517932 | erot = 1.96412968205628 | epot = -22.3133840086656 | etot = -17.03806054143 -619000 ekin = 3.47590250528844 | erot = 1.76611683746786 | epot = -22.3772219575797 | etot = -17.1352026148234 -620000 ekin = 3.48874988045416 | erot = 1.89528011242379 | epot = -22.4384551139399 | etot = -17.0544251210619 -621000 ekin = 3.61622461981386 | erot = 1.99344049296392 | epot = -22.4893103152157 | etot = -16.8796452024379 -622000 ekin = 3.58399773461898 | erot = 1.74513664213442 | epot = -22.4803416552216 | etot = -17.1512072784682 -623000 ekin = 3.63032006314562 | erot = 1.71430163919961 | epot = -22.4430926293461 | etot = -17.0984709270009 -624000 ekin = 3.65855713197035 | erot = 1.69922484729333 | epot = -22.3868122910147 | etot = -17.029030311751 -625000 ekin = 3.60887827930819 | erot = 1.53990637330185 | epot = -22.3164178534658 | etot = -17.1676332008557 -626000 ekin = 3.52660460237184 | erot = 1.50586548866506 | epot = -22.2442897351173 | etot = -17.2118196440804 -627000 ekin = 3.5034371177018 | erot = 1.65554299653922 | epot = -22.1699228898754 | etot = -17.0109427756344 -628000 ekin = 3.39027059126343 | erot = 1.75167273235764 | epot = -22.088238530203 | etot = -16.9462952065819 -629000 ekin = 3.2398815091692 | erot = 1.71907571962451 | epot = -21.9985657464089 | etot = -17.0396085176152 -630000 ekin = 3.19313977959947 | erot = 1.92181644528361 | epot = -21.9264321634454 | etot = -16.8114759385624 -631000 ekin = 3.16387923134673 | erot = 1.95916493180212 | epot = -21.8395694883599 | etot = -16.7165253252111 -632000 ekin = 3.1485947140351 | erot = 1.97621264135334 | epot = -21.7846629506647 | etot = -16.6598555952762 -633000 ekin = 3.21562845702805 | erot = 2.00714201834292 | epot = -21.7459219259819 | etot = -16.523151450611 -634000 ekin = 3.18996985450964 | erot = 2.012013115691 | epot = -21.7056771658785 | etot = -16.5036941956778 -635000 ekin = 3.09651235720973 | erot = 1.73602275759664 | epot = -21.6544424588023 | etot = -16.821907343996 -636000 ekin = 2.92860815614997 | erot = 1.85589302961915 | epot = -21.6235143680234 | etot = -16.8390131822543 -637000 ekin = 2.91450492940613 | erot = 1.98660531398783 | epot = -21.6191336665839 | etot = -16.71802342319 -638000 ekin = 2.98864643224901 | erot = 2.52300956640108 | epot = -21.6153555894524 | etot = -16.1036995908023 -639000 ekin = 2.82285402890248 | erot = 2.58031703406066 | epot = -21.5893617816822 | etot = -16.1861907187191 -640000 ekin = 2.87726879521912 | erot = 2.7163927085115 | epot = -21.5512867369313 | etot = -15.9576252332007 -641000 ekin = 2.95903007169266 | erot = 2.43559640758648 | epot = -21.5137572402012 | etot = -16.119130760922 -642000 ekin = 2.96204133827632 | erot = 2.5007390891145 | epot = -21.4303396745979 | etot = -15.9675592472071 -643000 ekin = 2.95135321760987 | erot = 2.18430881955823 | epot = -21.3830067810411 | etot = -16.247344743873 -644000 ekin = 2.89461472263122 | erot = 2.24797742659958 | epot = -21.3844502347312 | etot = -16.2418580855004 -645000 ekin = 2.95435208333517 | erot = 2.48214942109185 | epot = -21.3637410798344 | etot = -15.9272395754073 -646000 ekin = 2.90556723575754 | erot = 2.30743635404398 | epot = -21.3137753959635 | etot = -16.100771806162 -647000 ekin = 2.90760512758873 | erot = 2.34216740244848 | epot = -21.2632699171358 | etot = -16.0134973870986 -648000 ekin = 2.85798779133743 | erot = 2.18813680751415 | epot = -21.2316650481513 | etot = -16.1855404492997 -649000 ekin = 2.80110553006876 | erot = 1.9978930926835 | epot = -21.2271459685493 | etot = -16.4281473457971 -650000 ekin = 2.78705126936001 | erot = 2.05433186051914 | epot = -21.2258730978758 | etot = -16.3844899679966 -651000 ekin = 2.82981122207192 | erot = 2.24476751487047 | epot = -21.2549338926241 | etot = -16.1803551556817 -652000 ekin = 2.81187017826329 | erot = 2.46541600128351 | epot = -21.3104029656995 | etot = -16.0331167861527 -653000 ekin = 2.97461611593798 | erot = 2.32074630167006 | epot = -21.3681399998169 | etot = -16.0727775822089 -654000 ekin = 2.88164611559735 | erot = 2.38213902831396 | epot = -21.398131859391 | etot = -16.1343467154797 -655000 ekin = 2.94913378760835 | erot = 2.34812868784279 | epot = -21.4113698116753 | etot = -16.1141073362242 -656000 ekin = 2.89233729062061 | erot = 2.39374651226465 | epot = -21.4288546902071 | etot = -16.1427708873218 -657000 ekin = 2.77598738951928 | erot = 2.49755521549778 | epot = -21.4449504691839 | etot = -16.1714078641668 -658000 ekin = 2.77740080353724 | erot = 2.62230590128047 | epot = -21.4463092301612 | etot = -16.0466025253435 -659000 ekin = 2.65259875229227 | erot = 2.75527600584006 | epot = -21.4247610675881 | etot = -16.0168863094557 -660000 ekin = 2.56686955703644 | erot = 2.6203757628529 | epot = -21.398256132964 | etot = -16.2110108130746 -661000 ekin = 2.65054440121176 | erot = 2.62707264418951 | epot = -21.3903690458669 | etot = -16.1127520004656 -662000 ekin = 2.57957249167055 | erot = 2.57121547805659 | epot = -21.3759360832757 | etot = -16.2251481135485 -663000 ekin = 2.48664501783153 | erot = 2.38657187242632 | epot = -21.393438567821 | etot = -16.5202216775632 -664000 ekin = 2.5164577766111 | erot = 2.20401035947354 | epot = -21.4329380039057 | etot = -16.7124698678211 -665000 ekin = 2.44076978766911 | erot = 2.41816703577515 | epot = -21.4520134506819 | etot = -16.5930766272377 -666000 ekin = 2.35012835368459 | erot = 2.6049661600097 | epot = -21.4686085435909 | etot = -16.5135140298966 -667000 ekin = 2.32189657004522 | erot = 2.57250144791985 | epot = -21.4939818560077 | etot = -16.5995838380426 -668000 ekin = 2.36116261151341 | erot = 2.4186050787805 | epot = -21.5056838331986 | etot = -16.7259161429046 -669000 ekin = 2.31387988694876 | erot = 2.33668050703784 | epot = -21.5343548142369 | etot = -16.8837944202503 -670000 ekin = 2.39198713502033 | erot = 2.44748109573426 | epot = -21.5481637926254 | etot = -16.7086955618709 -671000 ekin = 2.4156803978936 | erot = 2.60129732112631 | epot = -21.6059621481886 | etot = -16.5889844291687 -672000 ekin = 2.5596138312128 | erot = 2.5516494198216 | epot = -21.7089264495899 | etot = -16.5976631985555 -673000 ekin = 2.60207943153894 | erot = 2.89040304008822 | epot = -21.8182919408405 | etot = -16.3258094692134 -674000 ekin = 2.7364856973748 | erot = 2.8185501663043 | epot = -21.9222017117615 | etot = -16.3671658480824 -675000 ekin = 2.91114076539504 | erot = 2.36500632401751 | epot = -22.0018822691681 | etot = -16.7257351797556 -676000 ekin = 2.93341061527256 | erot = 2.28532481615684 | epot = -22.0731286226862 | etot = -16.8543931912568 -677000 ekin = 3.01470682908092 | erot = 2.22858273949068 | epot = -22.1284745680575 | etot = -16.8851849994859 -678000 ekin = 3.14497803943646 | erot = 1.93068246054169 | epot = -22.1456906590923 | etot = -17.0700301591141 -679000 ekin = 3.29461438438603 | erot = 2.10760912118867 | epot = -22.136180621795 | etot = -16.7339571162203 -680000 ekin = 3.37176530279823 | erot = 2.01104009704006 | epot = -22.1041151314318 | etot = -16.7213097315935 -681000 ekin = 3.45483484720644 | erot = 1.90067457792177 | epot = -22.0463762684202 | etot = -16.690866843292 -682000 ekin = 3.37894348708854 | erot = 1.72137005878507 | epot = -21.9505620370442 | etot = -16.8502484911706 -683000 ekin = 3.42286368355835 | erot = 1.85126780834271 | epot = -21.8191972813592 | etot = -16.5450657894581 -684000 ekin = 3.36291962928525 | erot = 1.78272354471438 | epot = -21.6428884495561 | etot = -16.4972452755565 -685000 ekin = 3.36082871274671 | erot = 1.56476357384112 | epot = -21.4554201037061 | etot = -16.5298278171182 -686000 ekin = 3.29456600954367 | erot = 1.4526614688562 | epot = -21.2708420183486 | etot = -16.5236145399487 -687000 ekin = 3.28683183665721 | erot = 1.05147246964411 | epot = -21.0945257475368 | etot = -16.7562214412355 -688000 ekin = 3.12005734691895 | erot = 1.15864732674183 | epot = -20.9292915494191 | etot = -16.6505868757583 -689000 ekin = 2.98255457232255 | erot = 1.23350933506074 | epot = -20.7891561678794 | etot = -16.5730922604961 -690000 ekin = 2.88677394533053 | erot = 1.14959548133381 | epot = -20.6827307127442 | etot = -16.6463612860799 -691000 ekin = 2.85231691921442 | erot = 1.34938947635194 | epot = -20.6187495888218 | etot = -16.4170431932554 -692000 ekin = 2.8239953629433 | erot = 1.61591108279267 | epot = -20.5825839292405 | etot = -16.1426774835045 -693000 ekin = 2.78364237672009 | erot = 1.75822822075907 | epot = -20.5907390731059 | etot = -16.0488684756267 -694000 ekin = 2.73371563485523 | erot = 2.08537526939357 | epot = -20.6328696988297 | etot = -15.8137787945809 -695000 ekin = 2.57124739242717 | erot = 2.14630522202631 | epot = -20.6823542908161 | etot = -15.9648016763626 -696000 ekin = 2.51399296937018 | erot = 2.55867118356007 | epot = -20.7367847556426 | etot = -15.6641206027124 -697000 ekin = 2.50454809499975 | erot = 2.50215716077685 | epot = -20.7898428219569 | etot = -15.7831375661803 -698000 ekin = 2.36358142640515 | erot = 2.63892421049651 | epot = -20.814814737848 | etot = -15.8123091009464 -699000 ekin = 2.3119934072466 | erot = 2.68625065707116 | epot = -20.7956836949871 | etot = -15.7974396306693 -700000 ekin = 2.14616834772929 | erot = 2.12698342038349 | epot = -20.7725738213787 | etot = -16.4994220532659 -701000 ekin = 2.15539690119101 | erot = 2.17922309078409 | epot = -20.7552775762039 | etot = -16.4206575842288 -702000 ekin = 2.10080573596304 | erot = 2.11876313824385 | epot = -20.737552181646 | etot = -16.5179833074391 -703000 ekin = 2.11218006165615 | erot = 2.10588532277649 | epot = -20.7475858269112 | etot = -16.5295204424786 -704000 ekin = 2.12315820389575 | erot = 2.10220748203614 | epot = -20.757299853276 | etot = -16.5319341673441 -705000 ekin = 2.15166233402754 | erot = 2.14022995734117 | epot = -20.7941736502218 | etot = -16.5022813588531 -706000 ekin = 2.15163098226746 | erot = 2.26908854153834 | epot = -20.8512276988327 | etot = -16.430508175027 -707000 ekin = 2.15471286696278 | erot = 2.52657902495319 | epot = -20.9520579644167 | etot = -16.2707660725007 -708000 ekin = 2.17467467531748 | erot = 2.49469457222098 | epot = -21.0502066736915 | etot = -16.3808374261531 -709000 ekin = 2.25270875429065 | erot = 2.67362934165225 | epot = -21.1795445148272 | etot = -16.2532064188843 -710000 ekin = 2.19946540304423 | erot = 2.99965152220139 | epot = -21.3025369771195 | etot = -16.1034200518739 -711000 ekin = 2.25060849346072 | erot = 2.6945596185851 | epot = -21.3800741765592 | etot = -16.4349060645134 -712000 ekin = 2.31009709048309 | erot = 2.56904053029372 | epot = -21.4438411099721 | etot = -16.5647034891953 -713000 ekin = 2.34856712569142 | erot = 2.67010815786076 | epot = -21.4921710147997 | etot = -16.4734957312475 -714000 ekin = 2.46551783464037 | erot = 2.47127151678304 | epot = -21.4976914761194 | etot = -16.5609021246959 -715000 ekin = 2.51889281585643 | erot = 2.3942213472493 | epot = -21.4732726012164 | etot = -16.5601584381107 -716000 ekin = 2.57715724769554 | erot = 2.54742070298212 | epot = -21.4493966986361 | etot = -16.3248187479584 -717000 ekin = 2.65149378986134 | erot = 2.37788349879553 | epot = -21.4573082004001 | etot = -16.4279309117432 -718000 ekin = 2.69352880755697 | erot = 2.62278633313092 | epot = -21.4974593554869 | etot = -16.181144214799 -719000 ekin = 2.80177184525137 | erot = 2.54312012627449 | epot = -21.5233281256748 | etot = -16.178436154149 -720000 ekin = 2.69854861926931 | erot = 2.43897381701018 | epot = -21.5590218912255 | etot = -16.421499454946 -721000 ekin = 2.67018557216469 | erot = 2.50608214081759 | epot = -21.6315812717051 | etot = -16.4553135587228 -722000 ekin = 2.65282106714843 | erot = 2.66679722018778 | epot = -21.7056377642899 | etot = -16.3860194769537 -723000 ekin = 2.65361827521915 | erot = 2.97622205975865 | epot = -21.7797776559554 | etot = -16.1499373209776 -724000 ekin = 2.60569769803766 | erot = 2.76020150079788 | epot = -21.8376307834359 | etot = -16.4717315846004 -725000 ekin = 2.63127869433962 | erot = 2.69399118898667 | epot = -21.8984299962585 | etot = -16.5731601129322 -726000 ekin = 2.72545330440262 | erot = 2.64253926181369 | epot = -21.9407919115086 | etot = -16.5727993452923 -727000 ekin = 2.65040284294011 | erot = 2.78538015556012 | epot = -21.9637938172391 | etot = -16.5280108187389 -728000 ekin = 2.48179003902746 | erot = 2.97450520962362 | epot = -21.9479581531599 | etot = -16.4916629045088 -729000 ekin = 2.52972405397302 | erot = 2.9021249673657 | epot = -21.9040262067784 | etot = -16.4721771854397 -730000 ekin = 2.53115260905489 | erot = 2.84472555705245 | epot = -21.8740439587388 | etot = -16.4981657926314 -731000 ekin = 2.54145691681998 | erot = 2.59870522769011 | epot = -21.8660177522137 | etot = -16.7258556077036 -732000 ekin = 2.53248561362187 | erot = 2.72510944305618 | epot = -21.8573992551135 | etot = -16.5998041984355 -733000 ekin = 2.62625070581089 | erot = 2.51680047965277 | epot = -21.8396073656003 | etot = -16.6965561801366 -734000 ekin = 2.64998616374819 | erot = 2.7284569210359 | epot = -21.8405294812888 | etot = -16.4620863965047 -735000 ekin = 2.69306207166523 | erot = 3.07169199347549 | epot = -21.8204798153913 | etot = -16.0557257502506 -736000 ekin = 2.72260351822599 | erot = 2.73658566507879 | epot = -21.8062871121359 | etot = -16.3470979288311 -737000 ekin = 2.7587059894237 | erot = 2.61625561790474 | epot = -21.7997278882048 | etot = -16.4247662808763 -738000 ekin = 2.9718371126315 | erot = 2.24889762319009 | epot = -21.815880148502 | etot = -16.5951454126805 -739000 ekin = 3.05953080590062 | erot = 2.0925516015282 | epot = -21.860369608401 | etot = -16.7082872009721 -740000 ekin = 3.27063059251506 | erot = 2.33629691806438 | epot = -21.928358182454 | etot = -16.3214306718745 -741000 ekin = 3.35389594882473 | erot = 2.3177523792099 | epot = -21.990534815749 | etot = -16.3188864877144 -742000 ekin = 3.37765257218279 | erot = 2.24621136389772 | epot = -22.0551085268026 | etot = -16.4312445907221 -743000 ekin = 3.34761803886807 | erot = 2.11604292737055 | epot = -22.1501165805121 | etot = -16.6864556142735 -744000 ekin = 3.45014316044981 | erot = 2.26283739801091 | epot = -22.2301851995846 | etot = -16.5172046411239 -745000 ekin = 3.50577437774322 | erot = 2.18082158773838 | epot = -22.2958892423641 | etot = -16.6092932768825 -746000 ekin = 3.62379564063212 | erot = 2.29172371220084 | epot = -22.3504185189715 | etot = -16.4348991661385 -747000 ekin = 3.66042054955228 | erot = 2.20475025047744 | epot = -22.3851646701862 | etot = -16.5199938701565 -748000 ekin = 3.5097454014349 | erot = 2.406502625722 | epot = -22.4178592321322 | etot = -16.5016112049753 -749000 ekin = 3.56386965172274 | erot = 2.05758013521606 | epot = -22.4625938818873 | etot = -16.8411440949485 -750000 ekin = 3.49499037119352 | erot = 2.1170532032316 | epot = -22.5182146312758 | etot = -16.9061710568507 -751000 ekin = 3.52059041081486 | erot = 2.1645623466796 | epot = -22.570867136707 | etot = -16.8857143792125 -752000 ekin = 3.52922989091539 | erot = 2.13328496260282 | epot = -22.6142453819195 | etot = -16.9517305284013 -753000 ekin = 3.54450333705355 | erot = 1.90175527543433 | epot = -22.6772611743025 | etot = -17.2310025618146 -754000 ekin = 3.45153480837739 | erot = 1.87218797413988 | epot = -22.7422768873044 | etot = -17.4185541047872 -755000 ekin = 3.40998140310187 | erot = 1.79765011978447 | epot = -22.7840720762432 | etot = -17.5764405533568 -756000 ekin = 3.34055243015618 | erot = 1.98893101943512 | epot = -22.8015249198687 | etot = -17.4720414702774 -757000 ekin = 3.25995163881785 | erot = 2.23144065289712 | epot = -22.817973605037 | etot = -17.326581313322 -758000 ekin = 3.16254182007881 | erot = 2.33708167519886 | epot = -22.7968151839726 | etot = -17.2971916886949 -759000 ekin = 3.08959154816294 | erot = 2.90979409874057 | epot = -22.711924149132 | etot = -16.7125385022285 -760000 ekin = 3.12610940125223 | erot = 2.7438695705545 | epot = -22.5354298293442 | etot = -16.6654508575375 -761000 ekin = 3.01773123261609 | erot = 2.54441842482903 | epot = -22.287824947537 | etot = -16.7256752900918 -762000 ekin = 2.78676830407932 | erot = 2.45851569402079 | epot = -22.0050811851124 | etot = -16.7597971870123 -763000 ekin = 2.66585974802302 | erot = 2.362311357248 | epot = -21.722043030106 | etot = -16.693871924835 -764000 ekin = 2.45269004589485 | erot = 2.21799353566102 | epot = -21.4437328772763 | etot = -16.7730492957204 -765000 ekin = 2.33602063980822 | erot = 2.18630884760143 | epot = -21.2172136821333 | etot = -16.6948841947237 -766000 ekin = 2.29166126734383 | erot = 2.30483974019187 | epot = -21.0282994393447 | etot = -16.431798431809 -767000 ekin = 2.19131441806702 | erot = 2.03557115351125 | epot = -20.8759897944564 | etot = -16.6491042228781 -768000 ekin = 2.07724554805813 | erot = 2.24966311077066 | epot = -20.7557602191218 | etot = -16.4288515602931 -769000 ekin = 2.05775411195588 | erot = 2.4254243464562 | epot = -20.6955218025018 | etot = -16.2123433440898 -770000 ekin = 2.00758682747633 | erot = 2.45906745907278 | epot = -20.6929044608197 | etot = -16.2262501742706 -771000 ekin = 1.98409315586994 | erot = 2.48472564199802 | epot = -20.7734270007259 | etot = -16.3046082028579 -772000 ekin = 1.96669673892109 | erot = 2.78510583323484 | epot = -20.9254659410943 | etot = -16.1736633689383 -773000 ekin = 2.02461047276462 | erot = 2.78254769070796 | epot = -21.1083738193744 | etot = -16.3012156559018 -774000 ekin = 2.11360336305223 | erot = 2.98822109565685 | epot = -21.3029651154827 | etot = -16.2011406567736 -775000 ekin = 2.14002916093923 | erot = 3.19368392739119 | epot = -21.5172002816088 | etot = -16.1834871932784 -776000 ekin = 2.24832330955158 | erot = 3.06531971326436 | epot = -21.7038275157919 | etot = -16.390184492976 -777000 ekin = 2.26862051853018 | erot = 3.052041975564 | epot = -21.8350670013856 | etot = -16.5144045072914 -778000 ekin = 2.28742554048397 | erot = 3.14948640814728 | epot = -21.9086978776173 | etot = -16.4717859289861 -779000 ekin = 2.37679849205823 | erot = 3.25877776275542 | epot = -21.9331744453774 | etot = -16.2975981905637 -780000 ekin = 2.41113222109188 | erot = 3.41326897159812 | epot = -21.8804415437782 | etot = -16.0560403510882 -781000 ekin = 2.35841060920419 | erot = 3.41692834903725 | epot = -21.7562873535247 | etot = -15.9809483952833 -782000 ekin = 2.33104722618925 | erot = 3.31967786761421 | epot = -21.5791021588893 | etot = -15.9283770650858 -783000 ekin = 2.44468610858592 | erot = 3.39120123576657 | epot = -21.3872233744809 | etot = -15.5513360301284 -784000 ekin = 2.47031155030493 | erot = 3.16062374062837 | epot = -21.2067959255538 | etot = -15.5758606346205 -785000 ekin = 2.44425304006453 | erot = 2.93358092964967 | epot = -21.066643439753 | etot = -15.6888094700389 -786000 ekin = 2.38361530280111 | erot = 2.47008597237393 | epot = -20.9753503604675 | etot = -16.1216490852925 -787000 ekin = 2.48426374783216 | erot = 2.47298901652775 | epot = -20.8359485090504 | etot = -15.8786957446905 -788000 ekin = 2.62422129022946 | erot = 2.14521403572779 | epot = -20.7277036502885 | etot = -15.9582683243313 -789000 ekin = 2.71455119012379 | erot = 2.24597257975577 | epot = -20.9557602381699 | etot = -15.9952364682903 -790000 ekin = 2.89566287380398 | erot = 2.37559330223226 | epot = -21.3404176331993 | etot = -16.069161457163 -791000 ekin = 2.93118110717492 | erot = 2.41626490731772 | epot = -21.5892702620191 | etot = -16.2418242475265 -792000 ekin = 2.94573011047197 | erot = 2.50772398358449 | epot = -21.779447974455 | etot = -16.3259938803986 -793000 ekin = 2.88905153418616 | erot = 2.38272361409117 | epot = -21.9056315911052 | etot = -16.6338564428279 -794000 ekin = 2.80588096705402 | erot = 2.32779825823209 | epot = -21.9743818696615 | etot = -16.8407026443754 -795000 ekin = 2.70597772737626 | erot = 2.07317402356788 | epot = -22.0026881808375 | etot = -17.2235364298933 -796000 ekin = 2.61721688822854 | erot = 2.08773529507834 | epot = -21.9918041689519 | etot = -17.286851985645 -797000 ekin = 2.43136202877212 | erot = 1.9804893387745 | epot = -21.9515392836584 | etot = -17.5396879161117 -798000 ekin = 2.36116858693514 | erot = 1.82755970456288 | epot = -21.900064527295 | etot = -17.7113362357969 -799000 ekin = 2.29297525756191 | erot = 1.54383623564202 | epot = -21.829172635306 | etot = -17.9923611421021 -800000 ekin = 2.24935465151725 | erot = 1.54461847951829 | epot = -21.725975188811 | etot = -17.9320020577754 -801000 ekin = 2.14652429984749 | erot = 1.41717049108724 | epot = -21.638461811624 | etot = -18.0747670206892 -802000 ekin = 2.30260756676161 | erot = 1.51416478035546 | epot = -21.5464279977214 | etot = -17.7296556506043 -803000 ekin = 2.3453462856965 | erot = 1.4094988657911 | epot = -21.5017245308287 | etot = -17.7468793793411 -804000 ekin = 2.3175234695651 | erot = 1.5752835135108 | epot = -21.5228204134075 | etot = -17.6300134303316 -805000 ekin = 2.5190836302223 | erot = 2.02682036822104 | epot = -21.6250345942614 | etot = -17.079130595818 -806000 ekin = 2.69359804195369 | erot = 2.31785574785072 | epot = -21.7872941337149 | etot = -16.7758403439105 -807000 ekin = 2.78033847998957 | erot = 2.41121019329391 | epot = -21.9922590001467 | etot = -16.8007103268633 -808000 ekin = 2.80619611495448 | erot = 2.63792095913468 | epot = -22.2205031545377 | etot = -16.7763860804485 -809000 ekin = 2.88326450587592 | erot = 2.67886677112956 | epot = -22.4540143776033 | etot = -16.8918831005978 -810000 ekin = 2.91302007052298 | erot = 2.96339278377582 | epot = -22.6564267335957 | etot = -16.7800138792969 -811000 ekin = 3.09829332412733 | erot = 2.61119529725635 | epot = -22.8014808233362 | etot = -17.0919922019525 -812000 ekin = 3.08224679909935 | erot = 2.59515009531311 | epot = -22.8823180456431 | etot = -17.2049211512307 -813000 ekin = 3.0091695521178 | erot = 2.75135704659747 | epot = -22.9208796974764 | etot = -17.1603530987612 -814000 ekin = 2.97174307315438 | erot = 2.9052545136944 | epot = -22.9341256772718 | etot = -17.057128090423 -815000 ekin = 2.96997620608158 | erot = 3.14378750342447 | epot = -22.9208614386061 | etot = -16.8070977291 -816000 ekin = 2.92448217396056 | erot = 2.88577656649698 | epot = -22.878209439187 | etot = -17.0679506987294 -817000 ekin = 2.88310554429891 | erot = 2.61870439923339 | epot = -22.8398760621413 | etot = -17.338066118609 -818000 ekin = 2.81866856581223 | erot = 2.51624869438272 | epot = -22.7906528740449 | etot = -17.4557356138499 -819000 ekin = 2.6919079109904 | erot = 1.98944862516352 | epot = -22.7267915943543 | etot = -18.0454350582004 -820000 ekin = 2.68723603003253 | erot = 1.98686669393802 | epot = -22.684856204087 | etot = -18.0107534801164 -821000 ekin = 2.54604202399357 | erot = 2.17140584071585 | epot = -22.6462173351121 | etot = -17.9287694704027 -822000 ekin = 2.51719569260242 | erot = 2.14190227339863 | epot = -22.6036341275859 | etot = -17.9445361615849 -823000 ekin = 2.38975947310458 | erot = 2.45514339808654 | epot = -22.5714957893448 | etot = -17.7265929181537 -824000 ekin = 2.31794554366188 | erot = 2.04410509977368 | epot = -22.5460261880512 | etot = -18.1839755446156 -825000 ekin = 2.24137456885504 | erot = 2.02652245530611 | epot = -22.5316621259004 | etot = -18.2637651017393 -826000 ekin = 2.17386448676143 | erot = 1.87577926811353 | epot = -22.5563066825768 | etot = -18.5066629277018 -827000 ekin = 2.15440642655625 | erot = 2.1008390507396 | epot = -22.5878061584627 | etot = -18.3325606811669 -828000 ekin = 1.93354077156905 | erot = 1.9731822770431 | epot = -22.6117615018442 | etot = -18.7050384532321 -829000 ekin = 1.91274491416356 | erot = 2.31769032262726 | epot = -22.6065942718254 | etot = -18.3761590350346 -830000 ekin = 1.87910339968436 | erot = 2.45880670474181 | epot = -22.6125193475723 | etot = -18.2746092431461 -831000 ekin = 1.8972578167219 | erot = 2.49473420733519 | epot = -22.6167165770098 | etot = -18.2247245529527 -832000 ekin = 1.85092425352074 | erot = 2.48066273824452 | epot = -22.6085378559508 | etot = -18.2769508641856 -833000 ekin = 1.79059573863358 | erot = 2.56006070864993 | epot = -22.6126545978111 | etot = -18.2619981505276 -834000 ekin = 1.79399510293666 | erot = 2.44673113220985 | epot = -22.6154861129955 | etot = -18.374759877849 -835000 ekin = 1.80394510948937 | erot = 2.35964658964095 | epot = -22.6388182435247 | etot = -18.4752265443944 -836000 ekin = 1.69826382101385 | erot = 2.57406388654467 | epot = -22.6545723055291 | etot = -18.3822445979706 -837000 ekin = 1.57085807181329 | erot = 2.43187270748743 | epot = -22.6792499151532 | etot = -18.6765191358525 -838000 ekin = 1.48932995393538 | erot = 2.24165123204813 | epot = -22.6860468687766 | etot = -18.955065682793 -839000 ekin = 1.38743724869546 | erot = 1.79947957819574 | epot = -22.6563653509736 | etot = -19.4694485240824 -840000 ekin = 1.45337763400283 | erot = 1.96043695396497 | epot = -22.6075458233692 | etot = -19.1937312354014 -841000 ekin = 1.52590522598348 | erot = 2.22694909527648 | epot = -22.5519353417586 | etot = -18.7990810204987 -842000 ekin = 1.46532363485155 | erot = 2.10614026643253 | epot = -22.4887366967057 | etot = -18.9172727954216 -843000 ekin = 1.45281094628262 | erot = 2.17368676107335 | epot = -22.4106869099592 | etot = -18.7841892026032 -844000 ekin = 1.49761542714544 | erot = 2.37443717915479 | epot = -22.3449586551379 | etot = -18.4729060488377 -845000 ekin = 1.55104391739276 | erot = 2.37673299844034 | epot = -22.2778376071646 | etot = -18.3500606913315 -846000 ekin = 1.58963047079771 | erot = 2.33696583404067 | epot = -22.1844847216024 | etot = -18.257888416764 -847000 ekin = 1.54789432070443 | erot = 2.2193526636214 | epot = -22.0782777408753 | etot = -18.3110307565495 -848000 ekin = 1.64518981802307 | erot = 2.2554443671811 | epot = -21.9989181480495 | etot = -18.0982839628453 -849000 ekin = 1.65560014958063 | erot = 2.25710120668815 | epot = -21.9671927272682 | etot = -18.0544913709994 -850000 ekin = 1.64990114979127 | erot = 2.10882779392655 | epot = -21.9923852605675 | etot = -18.2336563168497 -851000 ekin = 1.76413935252605 | erot = 2.19132684842445 | epot = -22.0608745954441 | etot = -18.1054083944936 -852000 ekin = 1.77078332134281 | erot = 2.28186973474134 | epot = -22.1743987365006 | etot = -18.1217456804165 -853000 ekin = 1.8869100613698 | erot = 2.41685663704521 | epot = -22.315529258634 | etot = -18.011762560219 -854000 ekin = 1.9192805380625 | erot = 2.87742240655933 | epot = -22.4875387473848 | etot = -17.690835802763 -855000 ekin = 1.91817487389649 | erot = 2.76992189261558 | epot = -22.6436233810602 | etot = -17.9555266145481 -856000 ekin = 1.88635564274586 | erot = 2.93908057670003 | epot = -22.7647148292097 | etot = -17.9392786097638 -857000 ekin = 1.87890917293874 | erot = 2.80324259714543 | epot = -22.8439440601362 | etot = -18.161792290052 -858000 ekin = 1.76204051430329 | erot = 3.04908239798861 | epot = -22.8707912309192 | etot = -18.0596683186273 -859000 ekin = 1.79890243291169 | erot = 3.0063239833868 | epot = -22.8581636219632 | etot = -18.0529372056647 -860000 ekin = 1.84913198872829 | erot = 2.53687454533322 | epot = -22.8254155766946 | etot = -18.4394090426331 -861000 ekin = 1.91842166492715 | erot = 2.44106443467608 | epot = -22.7812919779287 | etot = -18.4218058783254 -862000 ekin = 2.03399415900866 | erot = 2.51630721219484 | epot = -22.7187848283725 | etot = -18.168483457169 -863000 ekin = 2.06594803165525 | erot = 2.19676104809343 | epot = -22.6494648939944 | etot = -18.3867558142457 -864000 ekin = 2.14467142649392 | erot = 2.30238631972367 | epot = -22.5816995592187 | etot = -18.1346418130012 -865000 ekin = 2.16190583025863 | erot = 2.29241108749928 | epot = -22.5280905818478 | etot = -18.0737736640899 -866000 ekin = 2.08928464919363 | erot = 2.34809191732022 | epot = -22.4600229326601 | etot = -18.0226463661463 -867000 ekin = 2.13586636899989 | erot = 2.4266752182288 | epot = -22.3898488501323 | etot = -17.8273072629036 -868000 ekin = 2.19543171663428 | erot = 2.34267445579126 | epot = -22.3416768736343 | etot = -17.8035707012087 -869000 ekin = 2.29038273021928 | erot = 1.9793531467175 | epot = -22.3115310066376 | etot = -18.0417951297008 -870000 ekin = 2.32898457121495 | erot = 2.18228869748504 | epot = -22.3276861507278 | etot = -17.8164128820278 -871000 ekin = 2.23179297801985 | erot = 2.24593328260165 | epot = -22.3623188812128 | etot = -17.8845926205913 -872000 ekin = 2.29217187589436 | erot = 1.92704010734646 | epot = -22.3920054616879 | etot = -18.172793478447 -873000 ekin = 2.32174880232948 | erot = 2.05958528502851 | epot = -22.426393234345 | etot = -18.045059146987 -874000 ekin = 2.31327351953412 | erot = 2.03208404812012 | epot = -22.4554437891481 | etot = -18.1100862214939 -875000 ekin = 2.36060633411453 | erot = 1.96315060902063 | epot = -22.4715825698369 | etot = -18.1478256267017 -876000 ekin = 2.37581414827236 | erot = 1.68685668202761 | epot = -22.5004013214878 | etot = -18.4377304911878 -877000 ekin = 2.2774275572836 | erot = 1.83322419137989 | epot = -22.5321167358422 | etot = -18.4214649871787 -878000 ekin = 2.26319377123925 | erot = 1.87116890647728 | epot = -22.5413279545501 | etot = -18.4069652768335 -879000 ekin = 2.23196066439052 | erot = 2.13914596070926 | epot = -22.5501734040973 | etot = -18.1790667789975 -880000 ekin = 2.13938297973397 | erot = 2.29330131769693 | epot = -22.5711782332529 | etot = -18.138493935822 -881000 ekin = 2.13186803837593 | erot = 2.14219424217102 | epot = -22.5804302674661 | etot = -18.3063679869192 -882000 ekin = 2.07769353958435 | erot = 2.09780809423991 | epot = -22.5758307354851 | etot = -18.4003291016608 -883000 ekin = 2.14813365127748 | erot = 2.30712986664785 | epot = -22.5610981496801 | etot = -18.1058346317548 -884000 ekin = 2.07540055241901 | erot = 2.6097121651115 | epot = -22.5339770599275 | etot = -17.8488643423969 -885000 ekin = 2.02469768265832 | erot = 2.37910004807544 | epot = -22.5100762497879 | etot = -18.1062785190541 -886000 ekin = 2.04877327926393 | erot = 2.49200684196671 | epot = -22.4892651846715 | etot = -17.9484850634409 -887000 ekin = 2.04537209931188 | erot = 2.62826263805271 | epot = -22.4798822756864 | etot = -17.8062475383219 -888000 ekin = 1.99171888431566 | erot = 2.59410846730975 | epot = -22.5006414627735 | etot = -17.9148141111481 -889000 ekin = 1.98870471402318 | erot = 2.78841340112904 | epot = -22.546872056789 | etot = -17.7697539416368 -890000 ekin = 1.96284801049735 | erot = 2.75880808828204 | epot = -22.6085064197192 | etot = -17.8868503209398 -891000 ekin = 1.98112231165085 | erot = 3.13734593344338 | epot = -22.6928710534586 | etot = -17.5744028083644 -892000 ekin = 1.98665494216688 | erot = 3.33630831317305 | epot = -22.7519184177193 | etot = -17.4289551623794 -893000 ekin = 2.01620612275753 | erot = 3.24720583677029 | epot = -22.8064098471907 | etot = -17.5429978876629 -894000 ekin = 2.02749033009506 | erot = 3.22400069534638 | epot = -22.852106892038 | etot = -17.6006158665965 -895000 ekin = 2.00160082448679 | erot = 3.17371669918424 | epot = -22.861417685562 | etot = -17.6861001618909 -896000 ekin = 1.81339236987826 | erot = 2.84276750236102 | epot = -22.8462163214755 | etot = -18.1900564492362 -897000 ekin = 1.78689182954807 | erot = 2.92738822261737 | epot = -22.8071071587288 | etot = -18.0928271065633 -898000 ekin = 1.79533619439939 | erot = 3.24658999514194 | epot = -22.7264192132142 | etot = -17.6844930236728 -899000 ekin = 1.86159788109517 | erot = 3.45052252235128 | epot = -22.6568068772929 | etot = -17.3446864738464 -900000 ekin = 1.87156534773537 | erot = 3.32747935578065 | epot = -22.6039784131469 | etot = -17.4049337096309 -901000 ekin = 1.9203223096468 | erot = 2.99424285088196 | epot = -22.5603724778789 | etot = -17.6458073173501 -902000 ekin = 1.90371430437791 | erot = 3.42499917648123 | epot = -22.5288190745227 | etot = -17.2001055936635 -903000 ekin = 1.90475417412636 | erot = 2.92419346565695 | epot = -22.4819033922515 | etot = -17.6529557524682 -904000 ekin = 1.90422508856298 | erot = 2.83212155923839 | epot = -22.4265338107446 | etot = -17.6901871629432 -905000 ekin = 2.00220741570039 | erot = 2.40991127904432 | epot = -22.3822853443984 | etot = -17.9701666496537 -906000 ekin = 2.01583988806336 | erot = 2.50889047935596 | epot = -22.3419713063767 | etot = -17.8172409389574 -907000 ekin = 2.13017652685894 | erot = 2.70022028195477 | epot = -22.294800159206 | etot = -17.4644033503923 -908000 ekin = 2.21155735897725 | erot = 2.35139718849955 | epot = -22.2413626180752 | etot = -17.6784080705984 -909000 ekin = 2.1338678778415 | erot = 2.19569541163544 | epot = -22.1827827026493 | etot = -17.8532194131724 -910000 ekin = 2.16567596172158 | erot = 2.22520003505072 | epot = -22.1149129856198 | etot = -17.7240369888475 -911000 ekin = 2.15809222107967 | erot = 2.29037173955218 | epot = -22.0462122442139 | etot = -17.597748283582 -912000 ekin = 2.22087547394991 | erot = 2.4365535062685 | epot = -21.9749682300963 | etot = -17.3175392498778 -913000 ekin = 2.19758537996087 | erot = 2.46754067556572 | epot = -21.8990451147438 | etot = -17.2339190592172 -914000 ekin = 2.14504994740392 | erot = 2.32786068060047 | epot = -21.8498156381482 | etot = -17.3769050101439 -915000 ekin = 2.15677546734588 | erot = 2.12497444036455 | epot = -21.8141432513065 | etot = -17.532393343596 -916000 ekin = 2.21600145725684 | erot = 2.25340153292624 | epot = -21.7876876242363 | etot = -17.3182846340532 -917000 ekin = 2.23364693785463 | erot = 2.35177352781202 | epot = -21.7779589013939 | etot = -17.1925384357273 -918000 ekin = 2.08464913851982 | erot = 2.61658836146586 | epot = -21.7825075848227 | etot = -17.081270084837 -919000 ekin = 2.05155719758458 | erot = 2.37138616162172 | epot = -21.8289412030739 | etot = -17.4059978438676 -920000 ekin = 1.99021755546976 | erot = 2.17794976390715 | epot = -21.8761397201459 | etot = -17.707972400769 -921000 ekin = 2.01039430381078 | erot = 2.29773189624639 | epot = -21.910848328397 | etot = -17.6027221283399 -922000 ekin = 1.92539579138483 | erot = 2.21469038539289 | epot = -21.926552818398 | etot = -17.7864666416203 -923000 ekin = 1.89135276318228 | erot = 2.48033290205709 | epot = -21.9147153156547 | etot = -17.5430296504154 -924000 ekin = 1.83373481371755 | erot = 2.30418865947073 | epot = -21.8715535507901 | etot = -17.7336300776018 -925000 ekin = 1.8038478551145 | erot = 2.4978787938512 | epot = -21.8417123497566 | etot = -17.5399857007909 -926000 ekin = 1.90546414331471 | erot = 2.28964220950093 | epot = -21.8161106439932 | etot = -17.6210042911776 -927000 ekin = 1.75800031856201 | erot = 2.26185811978912 | epot = -21.8155973506592 | etot = -17.795738912308 -928000 ekin = 1.73012385728572 | erot = 2.25745755725607 | epot = -21.8415061020344 | etot = -17.8539246874926 -929000 ekin = 1.7018110667566 | erot = 2.2450849522952 | epot = -21.9018319158868 | etot = -17.954935896835 -930000 ekin = 1.78315203550102 | erot = 2.33522003414088 | epot = -22.0077604163355 | etot = -17.8893883466936 -931000 ekin = 1.77363895925613 | erot = 2.46038215962602 | epot = -22.1457204230456 | etot = -17.9116993041634 -932000 ekin = 1.76667271586578 | erot = 2.59245568108961 | epot = -22.3144614382824 | etot = -17.955333041327 -933000 ekin = 1.78209785939051 | erot = 2.56752596800037 | epot = -22.4867886743826 | etot = -18.1371648469917 -934000 ekin = 1.8717364767945 | erot = 2.44750687382831 | epot = -22.6262337406971 | etot = -18.3069903900743 -935000 ekin = 1.89665977697882 | erot = 2.59891583987105 | epot = -22.7433040011 | etot = -18.2477283842501 -936000 ekin = 1.8992025911959 | erot = 2.87375257167802 | epot = -22.8003443005922 | etot = -18.0273891377183 -937000 ekin = 1.86426948560471 | erot = 2.64779084733975 | epot = -22.7873604341047 | etot = -18.2753001011602 -938000 ekin = 1.86665683366531 | erot = 2.42302063492635 | epot = -22.7023246368744 | etot = -18.4126471682827 -939000 ekin = 1.76698390194225 | erot = 2.40739406174085 | epot = -22.5642561328095 | etot = -18.3898781691264 -940000 ekin = 1.75137690733442 | erot = 2.24076427939137 | epot = -22.3713737329339 | etot = -18.3792325462081 -941000 ekin = 1.58963621298635 | erot = 2.27191088485085 | epot = -22.1644304701041 | etot = -18.3028833722669 -942000 ekin = 1.4623260249004 | erot = 2.08408025750063 | epot = -21.9623923454052 | etot = -18.4159860630042 -943000 ekin = 1.49840034172858 | erot = 2.09453482021837 | epot = -21.8214517267649 | etot = -18.2285165648179 -944000 ekin = 1.50566445428587 | erot = 2.08049635757391 | epot = -21.7243523603986 | etot = -18.1381915485388 -945000 ekin = 1.52481544863404 | erot = 2.24222261671401 | epot = -21.6950663303344 | etot = -17.9280282649863 -946000 ekin = 1.67052698469246 | erot = 2.20043430064328 | epot = -21.7083474408047 | etot = -17.837386155469 -947000 ekin = 1.75831919417177 | erot = 2.42832255803308 | epot = -21.7266669161356 | etot = -17.5400251639308 -948000 ekin = 1.7705217860228 | erot = 2.24375036337257 | epot = -21.7571925539254 | etot = -17.74292040453 -949000 ekin = 1.90525688107052 | erot = 2.15107670024962 | epot = -21.7910913830608 | etot = -17.7347578017406 -950000 ekin = 1.99637307838834 | erot = 2.29947036820516 | epot = -21.8702527820791 | etot = -17.5744093354856 -951000 ekin = 2.10483728892526 | erot = 2.3094085040773 | epot = -21.9629695449464 | etot = -17.5487237519438 -952000 ekin = 2.18030789934554 | erot = 2.68842229181076 | epot = -22.0513964726254 | etot = -17.1826662814691 -953000 ekin = 2.29894777100326 | erot = 2.6960381129226 | epot = -22.1773476270724 | etot = -17.1823617431465 -954000 ekin = 2.50427642784653 | erot = 2.51587062326938 | epot = -22.2938756186984 | etot = -17.2737285675825 -955000 ekin = 2.68601007094799 | erot = 2.85595708623611 | epot = -22.4136942236112 | etot = -16.8717270664271 -956000 ekin = 2.86208234199617 | erot = 2.86492575592096 | epot = -22.5276582827249 | etot = -16.8006501848078 -957000 ekin = 2.94712002857799 | erot = 3.23864127130578 | epot = -22.6062380946206 | etot = -16.4204767947369 -958000 ekin = 3.09033820658024 | erot = 3.08801001679483 | epot = -22.6118588804731 | etot = -16.433510657098 -959000 ekin = 3.12093785566042 | erot = 3.07623469356985 | epot = -22.5436503994878 | etot = -16.3464778502576 -960000 ekin = 2.90690163741526 | erot = 3.01090766604296 | epot = -22.3906223678561 | etot = -16.4728130643979 -961000 ekin = 2.88926986935791 | erot = 2.81186239490846 | epot = -22.1509889576315 | etot = -16.4498566933652 -962000 ekin = 2.71651285756912 | erot = 2.6935364005441 | epot = -21.8539054312209 | etot = -16.4438561731076 -963000 ekin = 2.60409923966682 | erot = 2.39582384415104 | epot = -21.541690670359 | etot = -16.5417675865411 -964000 ekin = 2.40781072012975 | erot = 2.16537437005373 | epot = -21.2330620721351 | etot = -16.6598769819517 -965000 ekin = 2.33775275825805 | erot = 2.03652274723791 | epot = -20.9588727103872 | etot = -16.5845972048912 -966000 ekin = 2.17944465260482 | erot = 2.02332848530763 | epot = -20.7642311299473 | etot = -16.5614579920348 -967000 ekin = 2.07498857026546 | erot = 2.11733282843236 | epot = -20.6152408895122 | etot = -16.4229194908144 -968000 ekin = 1.97751523071242 | erot = 2.25496129774339 | epot = -20.5096192481152 | etot = -16.2771427196593 -969000 ekin = 1.9943112249466 | erot = 2.15454095745161 | epot = -20.4866822650025 | etot = -16.3378300826043 -970000 ekin = 2.00624797975507 | erot = 2.31644539427633 | epot = -20.4984368720272 | etot = -16.1757434979958 -971000 ekin = 2.03726182368046 | erot = 2.5740691190952 | epot = -20.5474355193067 | etot = -15.936104576531 -972000 ekin = 2.11053299316089 | erot = 2.66924970104341 | epot = -20.5957948560722 | etot = -15.8160121618679 -973000 ekin = 2.13909953768438 | erot = 2.79309645313365 | epot = -20.6193111119716 | etot = -15.6871151211536 -974000 ekin = 2.0364255989653 | erot = 2.93377318653168 | epot = -20.614312681757 | etot = -15.6441138962601 -975000 ekin = 1.91630022907475 | erot = 2.56349308712585 | epot = -20.5694430140214 | etot = -16.0896496978208 -976000 ekin = 1.83216235810447 | erot = 2.64204586914642 | epot = -20.5231354926871 | etot = -16.0489272654362 -977000 ekin = 1.76505303121177 | erot = 2.68514846627367 | epot = -20.4500578076262 | etot = -15.9998563101408 -978000 ekin = 1.73639184783115 | erot = 2.27119801193601 | epot = -20.3949825706908 | etot = -16.3873927109236 -979000 ekin = 1.81309943455151 | erot = 2.038221796097 | epot = -20.3578721503546 | etot = -16.5065509197061 -980000 ekin = 1.79425326253118 | erot = 1.72046042714387 | epot = -20.3201056722024 | etot = -16.8053919825273 -981000 ekin = 1.84538588980103 | erot = 1.59977232807697 | epot = -20.3368599575045 | etot = -16.8917017396265 -982000 ekin = 1.93610246096158 | erot = 1.75747204616996 | epot = -20.4060032926321 | etot = -16.7124287855005 -983000 ekin = 1.99928359157526 | erot = 1.98902145591244 | epot = -20.4909781895406 | etot = -16.5026731420529 -984000 ekin = 2.19592051978294 | erot = 2.09613897173606 | epot = -20.6254618277917 | etot = -16.3334023362727 -985000 ekin = 2.31254022438582 | erot = 2.24661234767447 | epot = -20.7844444229592 | etot = -16.2252918508989 -986000 ekin = 2.45455647294213 | erot = 2.08651767106828 | epot = -20.9596902957344 | etot = -16.418616151724 -987000 ekin = 2.56068322151335 | erot = 2.27175324341651 | epot = -21.1348257089449 | etot = -16.3023892440151 -988000 ekin = 2.67201091365369 | erot = 2.31132475519915 | epot = -21.3185263075051 | etot = -16.3351906386523 -989000 ekin = 2.79950226646056 | erot = 2.4956624706702 | epot = -21.4876529502225 | etot = -16.1924882130918 -990000 ekin = 2.90927705603678 | erot = 2.70153575217296 | epot = -21.6276754302441 | etot = -16.0168626220344 -991000 ekin = 3.07684775125908 | erot = 3.08981572487662 | epot = -21.7184165043282 | etot = -15.5517530281925 -992000 ekin = 3.12051956981941 | erot = 3.14725854673635 | epot = -21.7580543270384 | etot = -15.4902762104827 -993000 ekin = 3.12062810763639 | erot = 3.10806695223028 | epot = -21.7488136709537 | etot = -15.520118611087 -994000 ekin = 3.10341951101668 | erot = 3.39574822230777 | epot = -21.7355411993575 | etot = -15.2363734660331 -995000 ekin = 3.07116945452615 | erot = 3.6179815597936 | epot = -21.7172569404679 | etot = -15.0281059261481 -996000 ekin = 3.08751007567553 | erot = 3.22587194373128 | epot = -21.7092684412537 | etot = -15.3958864218469 -997000 ekin = 3.02133326540323 | erot = 3.22966909291854 | epot = -21.7044711321526 | etot = -15.4534687738308 -998000 ekin = 3.04814833733245 | erot = 3.33574456092131 | epot = -21.671429150029 | etot = -15.2875362517752 -999000 ekin = 3.13698021613418 | erot = 3.24185323699413 | epot = -21.6125731456073 | etot = -15.233739692479 -1000000 ekin = 3.12438752705953 | erot = 2.79887049874939 | epot = -21.5300188398266 | etot = -15.6067608140177 - 1000000 0.13886167 -1.3621774 0.016551227 -1.150352 9.5441241e-05 64000 -Loop time of 32.858 on 1 procs for 1000000 steps with 16 atoms - -Performance: 26294.981 tau/day, 30434.005 timesteps/s -99.2% CPU use with 1 MPI tasks x no OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 26.906 | 26.906 | 26.906 | 0.0 | 81.89 -Bond | 0.93252 | 0.93252 | 0.93252 | 0.0 | 2.84 -Neigh | 0.029033 | 0.029033 | 0.029033 | 0.0 | 0.09 -Comm | 0.21863 | 0.21863 | 0.21863 | 0.0 | 0.67 -Output | 0.16316 | 0.16316 | 0.16316 | 0.0 | 0.50 -Modify | 4.2825 | 4.2825 | 4.2825 | 0.0 | 13.03 -Other | | 0.3263 | | | 0.99 - -Nlocal: 16.0000 ave 16 max 16 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 0.00000 ave 0 max 0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 105.000 ave 105 max 105 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 105 -Ave neighs/atom = 6.5625000 -Ave special neighs/atom = 3.7500000 -Neighbor list builds = 1000 -Dangerous builds = 0 - -write_data last_config.${number}.* nocoeff -write_data last_config.2.* nocoeff -System init for write_data ... -Total wall time: 0:00:32 diff --git a/examples/PACKAGES/cgdna/examples/oxDNA/duplex2/log.27May21.duplex2.g++.4 b/examples/PACKAGES/cgdna/examples/oxDNA/duplex2/log.27May21.duplex2.g++.4 deleted file mode 100644 index 8744f7b4cd..0000000000 --- a/examples/PACKAGES/cgdna/examples/oxDNA/duplex2/log.27May21.duplex2.g++.4 +++ /dev/null @@ -1,1172 +0,0 @@ -LAMMPS (27 May 2021) -variable number equal 2 -variable ofreq equal 1000 -variable efreq equal 1000 -variable T equal 0.1 - -units lj - -dimension 3 - -newton off - -boundary p p p - -atom_style hybrid bond ellipsoid oxdna -WARNING: Atom style hybrid defines both, per-type and per-atom masses; both must be set, but only per-atom masses will be used (../atom_vec_hybrid.cpp:157) -atom_modify sort 0 1.0 - -# Pair interactions require lists of neighbours to be calculated -neighbor 2.0 bin -neigh_modify every 1 delay 0 check yes - -read_data data.duplex2 -Reading data file ... - orthogonal box = (-20.000000 -20.000000 -20.000000) to (20.000000 20.000000 20.000000) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 16 atoms - reading velocities ... - 16 velocities - scanning bonds ... - 2 = max bonds/atom - 16 ellipsoids - reading bonds ... - 13 bonds -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 - 2 = max # of 1-3 neighbors - 4 = max # of 1-4 neighbors - 6 = max # of special neighbors - special bonds CPU = 0.001 seconds - read_data CPU = 0.005 seconds - -set atom * mass 3.1575 -Setting atom values ... - 16 settings made for mass - -group all type 1 4 -16 atoms in group all - -# oxDNA bond interactions - FENE backbone -bond_style oxdna/fene -bond_coeff * 2.0 0.25 0.7525 -special_bonds lj 0 1 1 -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 1 1 - special bond factors coul: 0 0 0 - 2 = max # of 1-2 neighbors - 2 = max # of 1-3 neighbors - 4 = max # of 1-4 neighbors - 6 = max # of special neighbors - special bonds CPU = 0.000 seconds - -# oxDNA pair interactions -pair_style hybrid/overlay oxdna/excv oxdna/stk oxdna/hbond oxdna/xstk oxdna/coaxstk -pair_coeff * * oxdna/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32 -pair_coeff * * oxdna/stk seqav ${T} 1.3448 2.6568 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 -pair_coeff * * oxdna/stk seqav 0.1 1.3448 2.6568 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 -pair_coeff * * oxdna/hbond seqav 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 1 4 oxdna/hbond seqav 1.077 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 2 3 oxdna/hbond seqav 1.077 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff * * oxdna/xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68 -pair_coeff * * oxdna/coaxstk 46.0 0.4 0.6 0.22 0.58 2.0 2.541592653589793 0.65 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 -0.65 2.0 -0.65 - -# NVE ensemble -fix 1 all nve/asphere -fix 2 all langevin ${T} ${T} 2.5 457145 angmom 10 -fix 2 all langevin 0.1 ${T} 2.5 457145 angmom 10 -fix 2 all langevin 0.1 0.1 2.5 457145 angmom 10 - -timestep 1e-5 - -#comm_style tiled -fix 3 all balance 1000 1.03 shift xyz 10 1.03 -comm_modify cutoff 3.8 - -compute quat all property/atom quatw quati quatj quatk - -compute erot all erotate/asphere -compute ekin all ke -compute epot all pe -variable erot equal c_erot -variable ekin equal c_ekin -variable epot equal c_epot -variable etot equal c_erot+c_ekin+c_epot -fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes -fix 5 all print 1000 "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes - -dump out all custom ${ofreq} out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz -dump out all custom 1000 out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz -dump out all custom 1000 out.2.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz -dump_modify out sort id -dump_modify out format line "%d %d %d %22.15le %22.15le %22.15le %d %d %d %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le" - -run 1000000 -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.9560004 - ghost atom cutoff = 3.8 - binsize = 1.4780002, bins = 28 28 28 - 4 neighbor lists, perpetual/occasional/extra = 4 0 0 - (1) pair oxdna/excv, perpetual - attributes: half, newton off - pair build: half/bin/newtoff - stencil: full/bin/3d - bin: standard - (2) pair oxdna/hbond, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (3) pair oxdna/xstk, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (4) pair oxdna/coaxstk, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none -0 ekin = 2.70475393009871 | erot = 2.80172072918779 | epot = -21.9967648054699 | etot = -16.4902901461834 -Per MPI rank memory allocation (min/avg/max) = 9.234 | 9.266 | 9.346 Mbytes -Step Temp E_pair E_mol TotEng Press Volume - 0 0.12021129 -1.3914531 0.016655298 -1.2057507 5.174549e-05 64000 -1000 ekin = 2.69992875879531 | erot = 3.03905971783101 | epot = -21.7993424099171 | etot = -16.0603539332907 -2000 ekin = 2.74236013741186 | erot = 2.48566425489664 | epot = -21.5864392778805 | etot = -16.358414885572 -3000 ekin = 2.71406239909253 | erot = 2.2379964617931 | epot = -21.4096440189505 | etot = -16.4575851580649 -4000 ekin = 2.62654210651837 | erot = 2.20187014105975 | epot = -21.2649637920051 | etot = -16.436551544427 -5000 ekin = 2.54619704507767 | erot = 2.19543579497861 | epot = -21.1625272503904 | etot = -16.4208944103341 -6000 ekin = 2.54036074498671 | erot = 2.24575383349946 | epot = -21.1026949544699 | etot = -16.3165803759837 -7000 ekin = 2.54636725719323 | erot = 2.17480262107778 | epot = -21.0944608538479 | etot = -16.3732909755769 -8000 ekin = 2.44266194745413 | erot = 1.89959276882142 | epot = -21.1290547630673 | etot = -16.7868000467917 -9000 ekin = 2.49849768578547 | erot = 1.91590827145359 | epot = -21.2010010008038 | etot = -16.7865950435648 -10000 ekin = 2.60405521154315 | erot = 2.31942457678919 | epot = -21.2714985323704 | etot = -16.3480187440381 -11000 ekin = 2.5172962682744 | erot = 2.60159361363173 | epot = -21.3305509557369 | etot = -16.2116610738307 -12000 ekin = 2.52572671978709 | erot = 2.38660744367414 | epot = -21.4045010372609 | etot = -16.4921668737997 -13000 ekin = 2.6003507735884 | erot = 2.37491144376807 | epot = -21.501501753381 | etot = -16.5262395360245 -14000 ekin = 2.66935763609377 | erot = 2.2290243859921 | epot = -21.5988036534075 | etot = -16.7004216313217 -15000 ekin = 2.71551281751846 | erot = 2.21389248221188 | epot = -21.6990132370777 | etot = -16.7696079373473 -16000 ekin = 2.84978299090937 | erot = 2.43940966993627 | epot = -21.7959192679746 | etot = -16.506726607129 -17000 ekin = 2.95072779743506 | erot = 2.38947543725573 | epot = -21.8722593940791 | etot = -16.5320561593883 -18000 ekin = 2.85884496438632 | erot = 2.37101194861282 | epot = -21.9018380946368 | etot = -16.6719811816377 -19000 ekin = 2.77343461594057 | erot = 2.33973079907437 | epot = -21.8809702826778 | etot = -16.7678048676628 -20000 ekin = 2.58401274142392 | erot = 2.55272418280185 | epot = -21.8165314333067 | etot = -16.6797945090809 -21000 ekin = 2.51192366343057 | erot = 2.51457779660485 | epot = -21.7320362651687 | etot = -16.7055348051333 -22000 ekin = 2.49083859662961 | erot = 2.52955288592737 | epot = -21.6292667596242 | etot = -16.6088752770672 -23000 ekin = 2.39128650481513 | erot = 2.2075391744556 | epot = -21.5149142799636 | etot = -16.9160886006929 -24000 ekin = 2.35988329046224 | erot = 1.90440982269664 | epot = -21.4005066979857 | etot = -17.1362135848268 -25000 ekin = 2.28215741570372 | erot = 1.96977905366573 | epot = -21.3141881001702 | etot = -17.0622516308008 -26000 ekin = 2.19749762241961 | erot = 2.27833647039548 | epot = -21.2634725733341 | etot = -16.787638480519 -27000 ekin = 2.0082587505888 | erot = 2.19976409135109 | epot = -21.2659284236731 | etot = -17.0579055817332 -28000 ekin = 1.84164368193045 | erot = 2.29604978886231 | epot = -21.2913487545158 | etot = -17.1536552837231 -29000 ekin = 1.85165645974806 | erot = 2.13163577617279 | epot = -21.3636874932622 | etot = -17.3803952573414 -30000 ekin = 1.81585331071777 | erot = 2.36969485723283 | epot = -21.467249508595 | etot = -17.2817013406444 -31000 ekin = 1.87586085382615 | erot = 2.30099083087637 | epot = -21.6118799895371 | etot = -17.4350283048345 -32000 ekin = 2.0126641738456 | erot = 2.39241064946061 | epot = -21.7843461993917 | etot = -17.3792713760855 -33000 ekin = 2.10031097060265 | erot = 2.65484725731943 | epot = -21.9744733587442 | etot = -17.2193151308221 -34000 ekin = 2.024661815622 | erot = 2.84373149584293 | epot = -22.1941262603322 | etot = -17.3257329488672 -35000 ekin = 1.97481459340815 | erot = 3.01731663707887 | epot = -22.4189097716657 | etot = -17.4267785411787 -36000 ekin = 2.01233253730946 | erot = 2.91764073203603 | epot = -22.6202547427807 | etot = -17.6902814734353 -37000 ekin = 2.0722585098004 | erot = 3.06834431569986 | epot = -22.8024087727697 | etot = -17.6618059472694 -38000 ekin = 2.05378795549781 | erot = 3.03638675352696 | epot = -22.9460226281608 | etot = -17.855847919136 -39000 ekin = 2.06863065757199 | erot = 3.09515376672991 | epot = -23.0335342083505 | etot = -17.8697497840486 -40000 ekin = 2.0001441529857 | erot = 3.04584432430145 | epot = -23.0612280460054 | etot = -18.0152395687182 -41000 ekin = 2.05172104966416 | erot = 2.77830340889752 | epot = -23.0196796418278 | etot = -18.1896551832662 -42000 ekin = 2.05229847533165 | erot = 2.8527334853463 | epot = -22.9340198298526 | etot = -18.0289878691746 -43000 ekin = 1.93755805481289 | erot = 3.04650513325785 | epot = -22.8209174452141 | etot = -17.8368542571433 -44000 ekin = 1.84663697745676 | erot = 2.93951969808346 | epot = -22.7031673178542 | etot = -17.917010642314 -45000 ekin = 1.72975781399546 | erot = 2.60801842461352 | epot = -22.6010710155898 | etot = -18.2632947769808 -46000 ekin = 1.59186632906643 | erot = 2.62841769679505 | epot = -22.5067814781869 | etot = -18.2864974523254 -47000 ekin = 1.5410922886755 | erot = 2.65380906308325 | epot = -22.41397412102 | etot = -18.2190727692612 -48000 ekin = 1.52801508900137 | erot = 2.56168528383553 | epot = -22.3146405234589 | etot = -18.224940150622 -49000 ekin = 1.4523614750721 | erot = 2.19683353122206 | epot = -22.2336496311394 | etot = -18.5844546248453 -50000 ekin = 1.37133529115918 | erot = 2.38139075376808 | epot = -22.1777849612816 | etot = -18.4250589163544 -51000 ekin = 1.37894610429121 | erot = 2.5564395559548 | epot = -22.1214711763547 | etot = -18.1860855161087 -52000 ekin = 1.37307011220265 | erot = 2.64858735385409 | epot = -22.0854715362776 | etot = -18.0638140702208 -53000 ekin = 1.45140505120431 | erot = 2.86325966198758 | epot = -22.0769774994392 | etot = -17.7623127862474 -54000 ekin = 1.49400380215143 | erot = 3.02929024277169 | epot = -22.0888809603766 | etot = -17.5655869154535 -55000 ekin = 1.5504040486075 | erot = 2.51182875106827 | epot = -22.110508190484 | etot = -18.0482753908083 -56000 ekin = 1.49109168917169 | erot = 2.54803153869041 | epot = -22.1366154026192 | etot = -18.0974921747571 -57000 ekin = 1.5005013791342 | erot = 2.41737584414207 | epot = -22.1821202184232 | etot = -18.2642429951469 -58000 ekin = 1.60635589846632 | erot = 2.23996961758236 | epot = -22.2360694135127 | etot = -18.3897438974641 -59000 ekin = 1.72952597734783 | erot = 2.32633058396655 | epot = -22.2901578024363 | etot = -18.2343012411219 -60000 ekin = 1.69244797185252 | erot = 2.4002780727951 | epot = -22.3434040927657 | etot = -18.2506780481181 -61000 ekin = 1.7262070303266 | erot = 2.11017860160475 | epot = -22.3831797154274 | etot = -18.5467940834961 -62000 ekin = 1.79594241743972 | erot = 2.2156083769556 | epot = -22.4218397438853 | etot = -18.4102889494899 -63000 ekin = 1.77262742266278 | erot = 2.30422369990038 | epot = -22.4467748467828 | etot = -18.3699237242196 -64000 ekin = 1.8552728361909 | erot = 2.31267811362978 | epot = -22.4674777591492 | etot = -18.2995268093286 -65000 ekin = 1.78989203446876 | erot = 1.94802383598257 | epot = -22.4675168623456 | etot = -18.7296009918943 -66000 ekin = 1.77252597290744 | erot = 1.82642026775557 | epot = -22.4502267764221 | etot = -18.8512805357591 -67000 ekin = 1.80939758337873 | erot = 1.93052561353104 | epot = -22.4407582644841 | etot = -18.7008350675743 -68000 ekin = 1.8990812176376 | erot = 2.02160808150966 | epot = -22.4404733275274 | etot = -18.5197840283801 -69000 ekin = 1.91605115497139 | erot = 1.99686686402569 | epot = -22.4556690038854 | etot = -18.5427509848883 -70000 ekin = 1.97266986208223 | erot = 1.99525089575643 | epot = -22.4717127742739 | etot = -18.5037920164352 -71000 ekin = 2.00234841846529 | erot = 2.03963009556284 | epot = -22.4872545087286 | etot = -18.4452759947004 -72000 ekin = 2.04989413571926 | erot = 2.25125712690087 | epot = -22.5010508598362 | etot = -18.1998995972161 -73000 ekin = 1.96796663525087 | erot = 2.56091060599057 | epot = -22.5094020746157 | etot = -17.9805248333743 -74000 ekin = 1.94071763184335 | erot = 2.25118509796053 | epot = -22.4905641504115 | etot = -18.2986614206077 -75000 ekin = 1.9046477605406 | erot = 2.1101828610624 | epot = -22.4609449840085 | etot = -18.4461143624055 -76000 ekin = 1.96940901357875 | erot = 2.01632288693257 | epot = -22.4274745611142 | etot = -18.4417426606029 -77000 ekin = 1.94486767834818 | erot = 1.90684819966053 | epot = -22.3863373806157 | etot = -18.534621502607 -78000 ekin = 1.96983919523053 | erot = 1.93099842937087 | epot = -22.3443846506838 | etot = -18.4435470260824 -79000 ekin = 1.95938649015133 | erot = 1.8681062699457 | epot = -22.2942796582417 | etot = -18.4667868981447 -80000 ekin = 2.0811750227726 | erot = 1.51004106283058 | epot = -22.2616445282531 | etot = -18.6704284426499 -81000 ekin = 2.12565876638706 | erot = 1.68774361309031 | epot = -22.2503002969457 | etot = -18.4368979174683 -82000 ekin = 2.1024876598191 | erot = 1.68162562422027 | epot = -22.2731769674722 | etot = -18.4890636834328 -83000 ekin = 2.1444849861566 | erot = 1.81975712217529 | epot = -22.3046718958779 | etot = -18.340429787546 -84000 ekin = 2.13258101148062 | erot = 2.02922410781373 | epot = -22.3428808393217 | etot = -18.1810757200273 -85000 ekin = 2.08512493333097 | erot = 2.32083438054857 | epot = -22.3826539010023 | etot = -17.9766945871228 -86000 ekin = 2.17050776391446 | erot = 1.96275338625836 | epot = -22.422434182694 | etot = -18.2891730325212 -87000 ekin = 2.23989852600904 | erot = 2.23705181642096 | epot = -22.4705294491957 | etot = -17.9935791067657 -88000 ekin = 2.27467140557798 | erot = 2.15326395377648 | epot = -22.5135609707118 | etot = -18.0856256113573 -89000 ekin = 2.2884388908289 | erot = 2.12736799131715 | epot = -22.5645528135013 | etot = -18.1487459313552 -90000 ekin = 2.3033272403237 | erot = 2.29619358357564 | epot = -22.621069415243 | etot = -18.0215485913436 -91000 ekin = 2.3138100848518 | erot = 2.07740016205563 | epot = -22.6563472804759 | etot = -18.2651370335684 -92000 ekin = 2.37378013130099 | erot = 2.23716627480822 | epot = -22.6690655261851 | etot = -18.0581191200759 -93000 ekin = 2.26456629794217 | erot = 2.65755706511364 | epot = -22.6595495475479 | etot = -17.7374261844921 -94000 ekin = 2.27111991294101 | erot = 2.70843483649348 | epot = -22.6144390606054 | etot = -17.6348843111709 -95000 ekin = 2.16051509784257 | erot = 2.76861411098527 | epot = -22.5458959635298 | etot = -17.616766754702 -96000 ekin = 2.1362268433284 | erot = 3.00618377960114 | epot = -22.4457322783083 | etot = -17.3033216553787 -97000 ekin = 2.07419989457636 | erot = 2.65264916199277 | epot = -22.3153975468029 | etot = -17.5885484902338 -98000 ekin = 2.11485220649783 | erot = 2.62887211771617 | epot = -22.2055031918166 | etot = -17.4617788676026 -99000 ekin = 2.14284693208913 | erot = 2.66222856414638 | epot = -22.1106632337977 | etot = -17.3055877375622 -100000 ekin = 2.17308341836636 | erot = 2.09482283074188 | epot = -22.0437085040349 | etot = -17.7758022549266 -101000 ekin = 2.14866231805612 | erot = 2.3881976475087 | epot = -22.0122713210887 | etot = -17.4754113555239 -102000 ekin = 2.1649362923898 | erot = 2.64896606924408 | epot = -22.0210513992314 | etot = -17.2071490375976 -103000 ekin = 2.15114511690188 | erot = 2.56525012972741 | epot = -22.0652696455725 | etot = -17.3488743989432 -104000 ekin = 2.15671515638217 | erot = 2.62706983245371 | epot = -22.142181166657 | etot = -17.3583961778211 -105000 ekin = 2.12719541152379 | erot = 2.65706885533819 | epot = -22.2143972740325 | etot = -17.4301330071705 -106000 ekin = 2.13774707721056 | erot = 2.76654607800848 | epot = -22.2775634673613 | etot = -17.3732703121422 -107000 ekin = 2.20102004108532 | erot = 2.66823836970966 | epot = -22.3043515122749 | etot = -17.4350931014799 -108000 ekin = 2.17638500145526 | erot = 2.80828381708582 | epot = -22.3097186034589 | etot = -17.3250497849178 -109000 ekin = 2.19829684637003 | erot = 2.90666104596412 | epot = -22.282790113145 | etot = -17.1778322208108 -110000 ekin = 2.17152588755631 | erot = 2.81646086297862 | epot = -22.2246380567944 | etot = -17.2366513062595 -111000 ekin = 2.15373436462637 | erot = 2.45540077609876 | epot = -22.1236900284647 | etot = -17.5145548877395 -112000 ekin = 2.13686027678985 | erot = 2.53611388444162 | epot = -21.9714471685636 | etot = -17.2984730073321 -113000 ekin = 2.14753928432329 | erot = 2.38847611973764 | epot = -21.7866419003017 | etot = -17.2506264962408 -114000 ekin = 2.12631244931889 | erot = 2.25317215555341 | epot = -21.597846256073 | etot = -17.2183616512007 -115000 ekin = 2.10651342910361 | erot = 2.32111327425019 | epot = -21.410641403265 | etot = -16.9830146999112 -116000 ekin = 2.05857214689192 | erot = 2.34273379327714 | epot = -21.2543641951759 | etot = -16.8530582550068 -117000 ekin = 2.06082171760153 | erot = 2.29311267774743 | epot = -21.1252553707804 | etot = -16.7713209754314 -118000 ekin = 2.07134223704072 | erot = 2.26440570108468 | epot = -21.0201100762215 | etot = -16.6843621380961 -119000 ekin = 2.06457225589944 | erot = 1.93952258456726 | epot = -20.9769994108551 | etot = -16.9729045703884 -120000 ekin = 2.11859853404644 | erot = 1.85164657615887 | epot = -20.9836901114861 | etot = -17.0134450012808 -121000 ekin = 2.16647853751432 | erot = 2.33645973353314 | epot = -21.0297394121119 | etot = -16.5268011410645 -122000 ekin = 2.26904266267134 | erot = 2.41049986821532 | epot = -21.1056070652399 | etot = -16.4260645343533 -123000 ekin = 2.21420535468727 | erot = 2.31638894325139 | epot = -21.1806353306487 | etot = -16.65004103271 -124000 ekin = 2.25664202990655 | erot = 2.58640626588698 | epot = -21.2735600007685 | etot = -16.430511704975 -125000 ekin = 2.28621615469871 | erot = 2.48741243437901 | epot = -21.3367034039803 | etot = -16.5630748149025 -126000 ekin = 2.35529670025454 | erot = 2.6837186250083 | epot = -21.3743088823659 | etot = -16.3352935571031 -127000 ekin = 2.31727265883063 | erot = 2.65927495810814 | epot = -21.3864411166439 | etot = -16.4098934997051 -128000 ekin = 2.43349491835552 | erot = 2.48790131465765 | epot = -21.3667639128876 | etot = -16.4453676798745 -129000 ekin = 2.39675815548546 | erot = 2.10710860946288 | epot = -21.3539228728259 | etot = -16.8500561078776 -130000 ekin = 2.41755439047179 | erot = 1.81077952884569 | epot = -21.3548853564729 | etot = -17.1265514371554 -131000 ekin = 2.40648552369042 | erot = 1.77591735253046 | epot = -21.357420397669 | etot = -17.1750175214481 -132000 ekin = 2.40897764408259 | erot = 1.73059846772819 | epot = -21.3537520189403 | etot = -17.2141759071295 -133000 ekin = 2.37448540151599 | erot = 1.85880466212908 | epot = -21.3533218886589 | etot = -17.1200318250139 -134000 ekin = 2.3579677683218 | erot = 2.06779644045359 | epot = -21.3551168402505 | etot = -16.9293526314751 -135000 ekin = 2.32265431042311 | erot = 2.18050776639558 | epot = -21.3445924581616 | etot = -16.8414303813429 -136000 ekin = 2.26143919660737 | erot = 2.06564627363215 | epot = -21.3331599119329 | etot = -17.0060744416934 -137000 ekin = 2.23396906090401 | erot = 2.26473864092839 | epot = -21.3170510126768 | etot = -16.8183433108444 -138000 ekin = 2.25323790872614 | erot = 2.21298196842978 | epot = -21.3256388087683 | etot = -16.8594189316124 -139000 ekin = 2.35354475362117 | erot = 2.11114514997112 | epot = -21.4066516687638 | etot = -16.9419617651715 -140000 ekin = 2.31521381923616 | erot = 2.26671366611819 | epot = -21.499592330951 | etot = -16.9176648455967 -141000 ekin = 2.3344689024326 | erot = 2.24585605770329 | epot = -21.5117862025252 | etot = -16.9314612423893 -142000 ekin = 2.33661695709296 | erot = 1.9937796333313 | epot = -21.5249788887692 | etot = -17.194582298345 -143000 ekin = 2.35917698394981 | erot = 1.78177229585739 | epot = -21.5633348907868 | etot = -17.4223856109796 -144000 ekin = 2.41193656560918 | erot = 1.85068539007334 | epot = -21.619056918118 | etot = -17.3564349624355 -145000 ekin = 2.50328391189512 | erot = 1.97991868781718 | epot = -21.662761532947 | etot = -17.1795589332347 -146000 ekin = 2.5250108653161 | erot = 1.94890179310183 | epot = -21.7158596570763 | etot = -17.2419469986583 -147000 ekin = 2.55047937715164 | erot = 1.85137728928148 | epot = -21.7917365034045 | etot = -17.3898798369714 -148000 ekin = 2.52990172449131 | erot = 2.00218673263755 | epot = -21.8973033212464 | etot = -17.3652148641175 -149000 ekin = 2.47322709286655 | erot = 2.00142069560524 | epot = -22.0256184185784 | etot = -17.5509706301066 -150000 ekin = 2.55997956203431 | erot = 2.04181533809328 | epot = -22.1371239984733 | etot = -17.5353290983457 -151000 ekin = 2.44470695881366 | erot = 2.34031071867532 | epot = -22.2527174105275 | etot = -17.4676997330385 -152000 ekin = 2.44475737305755 | erot = 2.26076754628983 | epot = -22.3351232248324 | etot = -17.6295983054851 -153000 ekin = 2.46166206744186 | erot = 2.1789456139199 | epot = -22.3636879590955 | etot = -17.7230802777338 -154000 ekin = 2.49242904735514 | erot = 2.18959276990457 | epot = -22.3683882355897 | etot = -17.68636641833 -155000 ekin = 2.44328722883251 | erot = 2.13628761933908 | epot = -22.3356925905993 | etot = -17.7561177424278 -156000 ekin = 2.45031007040228 | erot = 2.26271751825021 | epot = -22.2682169791441 | etot = -17.5551893904916 -157000 ekin = 2.46907480878159 | erot = 1.93271915185538 | epot = -22.2160752580763 | etot = -17.8142812974393 -158000 ekin = 2.47549100134271 | erot = 1.8913430375128 | epot = -22.1750861634873 | etot = -17.8082521246318 -159000 ekin = 2.44378132199958 | erot = 1.82517595680759 | epot = -22.1335445885752 | etot = -17.8645873097681 -160000 ekin = 2.35644874685036 | erot = 1.85678861125786 | epot = -22.1078628335995 | etot = -17.8946254754913 -161000 ekin = 2.4417535709772 | erot = 2.14888928050335 | epot = -22.103198749515 | etot = -17.5125558980345 -162000 ekin = 2.46554036240857 | erot = 2.05333880369388 | epot = -22.1046164027322 | etot = -17.5857372366298 -163000 ekin = 2.36847802529576 | erot = 2.16987713772667 | epot = -22.1331210722205 | etot = -17.5947659091981 -164000 ekin = 2.31295455944026 | erot = 2.18879772052573 | epot = -22.1887776544463 | etot = -17.6870253744803 -165000 ekin = 2.37278415235397 | erot = 2.59415671104248 | epot = -22.2691581335389 | etot = -17.3022172701424 -166000 ekin = 2.45715177025092 | erot = 2.91759661846337 | epot = -22.3489659308412 | etot = -16.9742175421269 -167000 ekin = 2.52772481698543 | erot = 2.9570776047498 | epot = -22.4233688575489 | etot = -16.9385664358137 -168000 ekin = 2.38117634975369 | erot = 2.66863240829495 | epot = -22.4863077773177 | etot = -17.4364990192691 -169000 ekin = 2.37442003008251 | erot = 3.02523535510253 | epot = -22.552454463073 | etot = -17.152799077888 -170000 ekin = 2.35912346263696 | erot = 3.26723708493098 | epot = -22.593146241002 | etot = -16.9667856934341 -171000 ekin = 2.30318527402304 | erot = 3.1461628260988 | epot = -22.6090060092427 | etot = -17.1596579091209 -172000 ekin = 2.27403162918126 | erot = 3.03566839385154 | epot = -22.5926818968564 | etot = -17.2829818738236 -173000 ekin = 2.2834164296892 | erot = 3.07205239473261 | epot = -22.5825638558609 | etot = -17.2270950314391 -174000 ekin = 2.32458116486048 | erot = 3.00979281518584 | epot = -22.5948442115046 | etot = -17.2604702314582 -175000 ekin = 2.28314539624396 | erot = 2.68632336807992 | epot = -22.6176552757189 | etot = -17.6481865113951 -176000 ekin = 2.39450710620724 | erot = 2.64107287395718 | epot = -22.666704154903 | etot = -17.6311241747386 -177000 ekin = 2.34061737024885 | erot = 2.84587683178904 | epot = -22.7367147797006 | etot = -17.5502205776627 -178000 ekin = 2.37612348031832 | erot = 3.01155432501134 | epot = -22.8363255725677 | etot = -17.4486477672381 -179000 ekin = 2.44543239233026 | erot = 2.86468226567411 | epot = -22.9489860454759 | etot = -17.6388713874715 -180000 ekin = 2.43660202081819 | erot = 2.76977637853851 | epot = -23.0553980647268 | etot = -17.8490196653701 -181000 ekin = 2.48112579799584 | erot = 2.6278391417024 | epot = -23.1486576952531 | etot = -18.0396927555549 -182000 ekin = 2.49495772650969 | erot = 2.42192837677025 | epot = -23.2214385077914 | etot = -18.3045524045115 -183000 ekin = 2.64232135835023 | erot = 2.1668960319534 | epot = -23.2638526717323 | etot = -18.4546352814286 -184000 ekin = 2.60197203740134 | erot = 2.23382360906442 | epot = -23.2818965049629 | etot = -18.4461008584971 -185000 ekin = 2.57711189972532 | erot = 2.46016697006766 | epot = -23.3003293492567 | etot = -18.2630504794637 -186000 ekin = 2.52186177988769 | erot = 2.57013836767131 | epot = -23.3067390551247 | etot = -18.2147389075657 -187000 ekin = 2.50245214010174 | erot = 2.79417927414277 | epot = -23.296163562981 | etot = -17.9995321487365 -188000 ekin = 2.46480838237784 | erot = 3.04604077517096 | epot = -23.2499789204155 | etot = -17.7391297628667 -189000 ekin = 2.30511335916365 | erot = 2.75740516208191 | epot = -23.1747970843816 | etot = -18.112278563136 -190000 ekin = 2.21392698297074 | erot = 2.71955696974834 | epot = -23.0904117080344 | etot = -18.1569277553154 -191000 ekin = 2.16967810266251 | erot = 2.75919231540811 | epot = -23.0140192997739 | etot = -18.0851488817033 -192000 ekin = 1.98382084286039 | erot = 3.03429574416023 | epot = -22.9329314753771 | etot = -17.9148148883565 -193000 ekin = 1.85970667375617 | erot = 2.92182615510931 | epot = -22.8656246963103 | etot = -18.0840918674448 -194000 ekin = 1.7929696680452 | erot = 2.88349607002168 | epot = -22.8222401649263 | etot = -18.1457744268594 -195000 ekin = 1.64582813172132 | erot = 2.50667314432813 | epot = -22.7522033865826 | etot = -18.5997021105331 -196000 ekin = 1.60167277963843 | erot = 2.38989177939812 | epot = -22.6637097277974 | etot = -18.6721451687609 -197000 ekin = 1.71167813407961 | erot = 2.09589007853646 | epot = -22.5747312796685 | etot = -18.7671630670524 -198000 ekin = 1.64776254765037 | erot = 1.92608890072777 | epot = -22.4842649258583 | etot = -18.9104134774802 -199000 ekin = 1.65621021226673 | erot = 2.21876596478776 | epot = -22.4280470542139 | etot = -18.5530708771594 -200000 ekin = 1.68396557470048 | erot = 2.18851360029564 | epot = -22.379280294039 | etot = -18.5068011190429 -201000 ekin = 1.58452256050709 | erot = 2.76907779285238 | epot = -22.3014443905324 | etot = -17.947844037173 -202000 ekin = 1.54321939213116 | erot = 2.44655962102429 | epot = -22.2136540120258 | etot = -18.2238749988704 -203000 ekin = 1.49527423056762 | erot = 2.44440846517496 | epot = -22.1231335789825 | etot = -18.1834508832399 -204000 ekin = 1.42525079936429 | erot = 2.83745592867446 | epot = -22.0409614513841 | etot = -17.7782547233454 -205000 ekin = 1.42978422295414 | erot = 2.95341773064219 | epot = -21.9571851603537 | etot = -17.5739832067574 -206000 ekin = 1.36049778309753 | erot = 2.83549996707323 | epot = -21.8974335725846 | etot = -17.7014358224139 -207000 ekin = 1.29887157812385 | erot = 3.03783363013878 | epot = -21.8430515160584 | etot = -17.5063463077957 -208000 ekin = 1.34341544648364 | erot = 3.11373358018431 | epot = -21.785603235413 | etot = -17.3284542087451 -209000 ekin = 1.37014771279219 | erot = 2.91335961336075 | epot = -21.7135808557959 | etot = -17.430073529643 -210000 ekin = 1.42476756889871 | erot = 2.89331189478046 | epot = -21.5850142544311 | etot = -17.266934790752 -211000 ekin = 1.34927361868026 | erot = 2.68288143618382 | epot = -21.4400426672499 | etot = -17.4078876123858 -212000 ekin = 1.49128069580886 | erot = 2.70604382180407 | epot = -21.2914762616263 | etot = -17.0941517440134 -213000 ekin = 1.59986466327346 | erot = 2.65822930237652 | epot = -21.1410448576725 | etot = -16.8829508920225 -214000 ekin = 1.57570953317267 | erot = 2.79629927670805 | epot = -20.9904223688205 | etot = -16.6184135589398 -215000 ekin = 1.63256105235979 | erot = 2.69597024855494 | epot = -20.8601256454146 | etot = -16.5315943444999 -216000 ekin = 1.67064385264714 | erot = 2.44739930798252 | epot = -20.7555716480124 | etot = -16.6375284873828 -217000 ekin = 1.6218880063798 | erot = 2.4330555728333 | epot = -20.722413328212 | etot = -16.6674697489989 -218000 ekin = 1.64606636901744 | erot = 2.6486981466189 | epot = -20.7502510322013 | etot = -16.4554865165649 -219000 ekin = 1.70353414409848 | erot = 2.7997221130251 | epot = -20.7845992910567 | etot = -16.2813430339331 -220000 ekin = 1.74880022179254 | erot = 2.64905074347643 | epot = -20.8396457684431 | etot = -16.4417948031742 -221000 ekin = 1.81236487768043 | erot = 2.93669133915737 | epot = -20.9499015869694 | etot = -16.2008453701316 -222000 ekin = 1.84649161859346 | erot = 2.85287175773866 | epot = -21.0927343336169 | etot = -16.3933709572848 -223000 ekin = 1.87441660338485 | erot = 2.96311764811085 | epot = -21.2564885593178 | etot = -16.4189543078221 -224000 ekin = 2.09907785839491 | erot = 2.75433402152825 | epot = -21.424818361708 | etot = -16.5714064817849 -225000 ekin = 2.30010533938626 | erot = 2.67454361218699 | epot = -21.6008171170612 | etot = -16.626168165488 -226000 ekin = 2.42689725101242 | erot = 2.70736025408607 | epot = -21.7515066872426 | etot = -16.6172491821441 -227000 ekin = 2.54895929165975 | erot = 2.79460739709118 | epot = -21.8741313055212 | etot = -16.5305646167702 -228000 ekin = 2.61677978890097 | erot = 2.79388359916086 | epot = -21.973054308316 | etot = -16.5623909202542 -229000 ekin = 2.63216772040856 | erot = 2.92346177925235 | epot = -22.0307357525402 | etot = -16.4751062528793 -230000 ekin = 2.5839048934589 | erot = 2.87686964533646 | epot = -22.0461245567339 | etot = -16.5853500179385 -231000 ekin = 2.66188078761018 | erot = 2.60162661808963 | epot = -22.018684895378 | etot = -16.7551774896782 -232000 ekin = 2.65841421937248 | erot = 2.58950084967971 | epot = -21.952644801982 | etot = -16.7047297329298 -233000 ekin = 2.67013502535659 | erot = 2.39334157985991 | epot = -21.8593772977147 | etot = -16.7959006924982 -234000 ekin = 2.55687226826836 | erot = 2.28743657262082 | epot = -21.7196048549653 | etot = -16.8752960140761 -235000 ekin = 2.40908240211927 | erot = 2.18856718834604 | epot = -21.5568246763415 | etot = -16.9591750858762 -236000 ekin = 2.45296495728484 | erot = 1.73228998399397 | epot = -21.3990016680231 | etot = -17.2137467267443 -237000 ekin = 2.45647675573889 | erot = 1.55838299475438 | epot = -21.2711453873861 | etot = -17.2562856368928 -238000 ekin = 2.45085948587454 | erot = 1.73357194764423 | epot = -21.1889221126865 | etot = -17.0044906791677 -239000 ekin = 2.46602609451848 | erot = 1.90065188676585 | epot = -21.1667563196057 | etot = -16.8000783383214 -240000 ekin = 2.33796945986663 | erot = 2.10011736609371 | epot = -21.1933792884248 | etot = -16.7552924624644 -241000 ekin = 2.44155086640152 | erot = 2.5294221893795 | epot = -21.2654521458311 | etot = -16.29447909005 -242000 ekin = 2.43726026146458 | erot = 2.56189785799922 | epot = -21.3596468217686 | etot = -16.3604887023048 -243000 ekin = 2.38527720170858 | erot = 2.92483517968789 | epot = -21.4476955876487 | etot = -16.1375832062522 -244000 ekin = 2.43305152134978 | erot = 3.13030199682037 | epot = -21.5253542662412 | etot = -15.9620007480711 -245000 ekin = 2.34248058405609 | erot = 3.39654754017994 | epot = -21.5746719384285 | etot = -15.8356438141925 -246000 ekin = 2.22203010313987 | erot = 3.24539512103698 | epot = -21.6102612139387 | etot = -16.1428359897618 -247000 ekin = 2.18161414825905 | erot = 3.17708625003437 | epot = -21.6121017617732 | etot = -16.2534013634798 -248000 ekin = 2.14786027857325 | erot = 2.93493583442535 | epot = -21.5821175301772 | etot = -16.4993214171786 -249000 ekin = 2.1154622560351 | erot = 2.65676577989616 | epot = -21.5328260462557 | etot = -16.7605980103245 -250000 ekin = 2.08258254452502 | erot = 2.51278109177547 | epot = -21.4612192152785 | etot = -16.865855578978 -251000 ekin = 1.9742489487821 | erot = 2.34806738759138 | epot = -21.3923428532783 | etot = -17.0700265169048 -252000 ekin = 1.97048808369653 | erot = 1.99115759882276 | epot = -21.3271316585964 | etot = -17.3654859760771 -253000 ekin = 2.01408243379402 | erot = 2.32755027924622 | epot = -21.2782132891156 | etot = -16.9365805760754 -254000 ekin = 2.08055003788165 | erot = 1.89671800228147 | epot = -21.2526263857113 | etot = -17.2753583455482 -255000 ekin = 2.03693196256138 | erot = 2.07777286412284 | epot = -21.2590218685809 | etot = -17.1443170418967 -256000 ekin = 2.09443852502217 | erot = 1.93072997337288 | epot = -21.2924018193625 | etot = -17.2672333209674 -257000 ekin = 2.15892268396657 | erot = 1.80542946186159 | epot = -21.3549991612159 | etot = -17.3906470153878 -258000 ekin = 2.1798553186145 | erot = 1.78899461221362 | epot = -21.4290810676498 | etot = -17.4602311368217 -259000 ekin = 2.21879481100383 | erot = 2.00042152481931 | epot = -21.5156859416456 | etot = -17.2964696058224 -260000 ekin = 2.23230781087046 | erot = 1.92469119981206 | epot = -21.5739218213471 | etot = -17.4169228106646 -261000 ekin = 2.20725422443418 | erot = 1.95063112971748 | epot = -21.6226626065193 | etot = -17.4647772523677 -262000 ekin = 2.25364220587794 | erot = 1.86806956106358 | epot = -21.6606203978347 | etot = -17.5389086308931 -263000 ekin = 2.2745191124411 | erot = 1.88576182425897 | epot = -21.6707355563004 | etot = -17.5104546196004 -264000 ekin = 2.31743274100675 | erot = 1.89043794607679 | epot = -21.6658367619932 | etot = -17.4579660749097 -265000 ekin = 2.34289229985179 | erot = 2.08595197099475 | epot = -21.6767978216757 | etot = -17.2479535508292 -266000 ekin = 2.3899300653484 | erot = 2.06541078395747 | epot = -21.7067349964001 | etot = -17.2513941470942 -267000 ekin = 2.42913514053661 | erot = 1.90515845127833 | epot = -21.753771867194 | etot = -17.419478275379 -268000 ekin = 2.56337406000812 | erot = 1.92623756183675 | epot = -21.8331768183362 | etot = -17.3435651964914 -269000 ekin = 2.61168966394753 | erot = 1.99189529087478 | epot = -21.8974804447422 | etot = -17.2938954899199 -270000 ekin = 2.53639435963122 | erot = 2.18070434963339 | epot = -21.9584187694417 | etot = -17.2413200601771 -271000 ekin = 2.4730499948757 | erot = 2.35836713203746 | epot = -21.9991923760468 | etot = -17.1677752491337 -272000 ekin = 2.47073160362048 | erot = 2.18239415020589 | epot = -22.0193810519899 | etot = -17.3662552981635 -273000 ekin = 2.4161128868233 | erot = 2.11264062363061 | epot = -22.0447361710736 | etot = -17.5159826606197 -274000 ekin = 2.33309205622036 | erot = 2.12677358473247 | epot = -22.0456863660978 | etot = -17.585820725145 -275000 ekin = 2.25325149778063 | erot = 2.19345346449468 | epot = -21.9873759762878 | etot = -17.5406710140125 -276000 ekin = 2.11579900114214 | erot = 2.01180248953933 | epot = -21.8981479929511 | etot = -17.7705465022696 -277000 ekin = 2.01204365222986 | erot = 1.98722100035167 | epot = -21.7960888645598 | etot = -17.7968242119783 -278000 ekin = 1.94141858256029 | erot = 2.28521819509401 | epot = -21.7113859217473 | etot = -17.484749144093 -279000 ekin = 1.83792081872222 | erot = 2.29363129336714 | epot = -21.6511613802402 | etot = -17.5196092681508 -280000 ekin = 1.73807918416876 | erot = 2.50531944195154 | epot = -21.648860900744 | etot = -17.4054622746237 -281000 ekin = 1.73432743109903 | erot = 2.683788200705 | epot = -21.6510875258494 | etot = -17.2329718940453 -282000 ekin = 1.707454359447 | erot = 2.4631171643996 | epot = -21.702633188471 | etot = -17.5320616646244 -283000 ekin = 1.60185741540726 | erot = 2.73972949535758 | epot = -21.788969309387 | etot = -17.4473823986222 -284000 ekin = 1.45656966763948 | erot = 3.08718988751344 | epot = -21.9109766986028 | etot = -17.3672171434499 -285000 ekin = 1.52336397324818 | erot = 3.2348904453559 | epot = -22.0771348239222 | etot = -17.3188804053181 -286000 ekin = 1.52886747117867 | erot = 3.26500488671026 | epot = -22.2419806366669 | etot = -17.4481082787779 -287000 ekin = 1.5582725813792 | erot = 3.2185398289023 | epot = -22.374580622938 | etot = -17.5977682126565 -288000 ekin = 1.62221220393018 | erot = 3.11944065317502 | epot = -22.4753647550739 | etot = -17.7337118979687 -289000 ekin = 1.67251771955046 | erot = 2.53263586427446 | epot = -22.5286401037665 | etot = -18.3234865199416 -290000 ekin = 1.79922183320689 | erot = 2.60060797838013 | epot = -22.5663935494002 | etot = -18.1665637378131 -291000 ekin = 1.83910683599856 | erot = 2.21931974991974 | epot = -22.5984502564983 | etot = -18.54002367058 -292000 ekin = 1.94895219984002 | erot = 2.13471584079355 | epot = -22.6223121384565 | etot = -18.538644097823 -293000 ekin = 2.00848212838241 | erot = 2.19116654326673 | epot = -22.6334508938888 | etot = -18.4338022222397 -294000 ekin = 2.10559198417458 | erot = 1.93202707864297 | epot = -22.6586912703106 | etot = -18.621072207493 -295000 ekin = 2.21769154753229 | erot = 1.88155097269452 | epot = -22.7095788430016 | etot = -18.6103363227748 -296000 ekin = 2.33458415024603 | erot = 2.23498610265731 | epot = -22.7640278342614 | etot = -18.194457581358 -297000 ekin = 2.42885632292099 | erot = 1.96776290060609 | epot = -22.8238447137232 | etot = -18.4272254901961 -298000 ekin = 2.55470243764224 | erot = 2.23334330823264 | epot = -22.9186285858852 | etot = -18.1305828400103 -299000 ekin = 2.66453185837133 | erot = 2.34987058034008 | epot = -23.0168248151099 | etot = -18.0024223763984 -300000 ekin = 2.72119699302726 | erot = 2.29170874462634 | epot = -23.0901056634069 | etot = -18.0771999257533 -301000 ekin = 2.81586193114734 | erot = 2.13213339022162 | epot = -23.149588375443 | etot = -18.201593054074 -302000 ekin = 2.91520994762752 | erot = 1.88276051696952 | epot = -23.1915517299788 | etot = -18.3935812653817 -303000 ekin = 3.00910392441911 | erot = 1.95969044044558 | epot = -23.2200453504935 | etot = -18.2512509856288 -304000 ekin = 3.09252107593619 | erot = 1.62524026936747 | epot = -23.2362247506591 | etot = -18.5184634053554 -305000 ekin = 3.1833332778338 | erot = 1.64710767299387 | epot = -23.239688077863 | etot = -18.4092471270354 -306000 ekin = 3.2303852450878 | erot = 1.86572791579381 | epot = -23.2226722815321 | etot = -18.1265591206505 -307000 ekin = 3.17553918919359 | erot = 2.33048974790649 | epot = -23.1930577755999 | etot = -17.6870288384998 -308000 ekin = 3.05565196722448 | erot = 2.12851261980202 | epot = -23.1373688624437 | etot = -17.9532042754172 -309000 ekin = 3.06886265684594 | erot = 2.25716457141468 | epot = -23.0626811521325 | etot = -17.7366539238719 -310000 ekin = 2.9103478785017 | erot = 2.45832048654341 | epot = -23.0039736316974 | etot = -17.6353052666523 -311000 ekin = 2.80209798482117 | erot = 2.69963602433988 | epot = -22.9644587572484 | etot = -17.4627247480874 -312000 ekin = 2.89133577486401 | erot = 2.91057311416267 | epot = -22.9280382115917 | etot = -17.126129322565 -313000 ekin = 2.85188593774383 | erot = 2.64756099113599 | epot = -22.9072517674229 | etot = -17.407804838543 -314000 ekin = 2.78595369543557 | erot = 2.70015943474038 | epot = -22.9231273154874 | etot = -17.4370141853114 -315000 ekin = 2.80274029888226 | erot = 2.58977766570975 | epot = -22.9544686180923 | etot = -17.5619506535003 -316000 ekin = 2.813169306106 | erot = 2.690980071203 | epot = -22.9778084391862 | etot = -17.4736590618772 -317000 ekin = 2.92747042873583 | erot = 2.60588706069162 | epot = -22.9662401312089 | etot = -17.4328826417815 -318000 ekin = 2.92235999955154 | erot = 2.47590791759842 | epot = -22.9395079234944 | etot = -17.5412400063444 -319000 ekin = 2.95294558428538 | erot = 2.3284695967344 | epot = -22.8862142058975 | etot = -17.6047990248777 -320000 ekin = 2.96034320260985 | erot = 1.96132462322065 | epot = -22.8325608441835 | etot = -17.910893018353 -321000 ekin = 3.0506123149284 | erot = 1.60256900115906 | epot = -22.772967562217 | etot = -18.1197862461295 -322000 ekin = 3.06917008169216 | erot = 1.78242384845949 | epot = -22.7183310735853 | etot = -17.8667371434336 -323000 ekin = 3.01773744699203 | erot = 1.54792296048673 | epot = -22.6793347879489 | etot = -18.1136743804701 -324000 ekin = 3.00480822228189 | erot = 1.41906862436133 | epot = -22.6494390826941 | etot = -18.2255622360509 -325000 ekin = 2.89783034430742 | erot = 1.53330273244741 | epot = -22.6175860707657 | etot = -18.1864529940109 -326000 ekin = 2.86411015648574 | erot = 1.46437933803489 | epot = -22.5787186521105 | etot = -18.2502291575898 -327000 ekin = 2.85311531697693 | erot = 1.58696821581913 | epot = -22.5591982819074 | etot = -18.1191147491114 -328000 ekin = 2.86747144026835 | erot = 1.74413948970463 | epot = -22.5408974569852 | etot = -17.9292865270122 -329000 ekin = 2.78611224528675 | erot = 1.59178805962542 | epot = -22.4940152398142 | etot = -18.116114934902 -330000 ekin = 2.69317692812656 | erot = 1.77728472427356 | epot = -22.4199575472595 | etot = -17.9494958948593 -331000 ekin = 2.66550770553878 | erot = 1.86897796248965 | epot = -22.3262951615913 | etot = -17.7918094935629 -332000 ekin = 2.46548011243441 | erot = 1.78639997747238 | epot = -22.2432651292252 | etot = -17.9913850393184 -333000 ekin = 2.38707429510573 | erot = 1.88540525492875 | epot = -22.1912828165259 | etot = -17.9188032664914 -334000 ekin = 2.29842323367102 | erot = 1.91569547244919 | epot = -22.1605657807781 | etot = -17.9464470746579 -335000 ekin = 2.14328705611339 | erot = 1.93351743363534 | epot = -22.1267428568705 | etot = -18.0499383671218 -336000 ekin = 2.17230386456881 | erot = 1.84213347788928 | epot = -22.0906093676853 | etot = -18.0761720252272 -337000 ekin = 2.12998408141727 | erot = 1.61504892612904 | epot = -22.0362365245474 | etot = -18.2912035170011 -338000 ekin = 2.22344100551942 | erot = 1.68131888644304 | epot = -21.9914967299633 | etot = -18.0867368380009 -339000 ekin = 2.17397763598077 | erot = 2.04937445475364 | epot = -21.9399664944352 | etot = -17.7166144037008 -340000 ekin = 2.20074652018761 | erot = 2.20161688813948 | epot = -21.9270463566988 | etot = -17.5246829483717 -341000 ekin = 2.27511078184159 | erot = 2.29314361762764 | epot = -21.9408735448824 | etot = -17.3726191454131 -342000 ekin = 2.23496832750093 | erot = 2.5650510125349 | epot = -21.9730675845141 | etot = -17.1730482444783 -343000 ekin = 2.14180809724111 | erot = 2.97675645193248 | epot = -21.9956779914414 | etot = -16.8771134422678 -344000 ekin = 2.2126707016694 | erot = 2.22143192231864 | epot = -22.0021896006045 | etot = -17.5680869766165 -345000 ekin = 2.33078283444873 | erot = 2.24242604297012 | epot = -22.0150204126161 | etot = -17.4418115351973 -346000 ekin = 2.34407159811759 | erot = 1.99201495775972 | epot = -22.0385016930848 | etot = -17.7024151372075 -347000 ekin = 2.44088137371613 | erot = 2.12531879806797 | epot = -22.0618508546084 | etot = -17.4956506828243 -348000 ekin = 2.64914602526481 | erot = 2.46233252053011 | epot = -22.0937551106248 | etot = -16.9822765648299 -349000 ekin = 2.74052569579419 | erot = 2.4858891328714 | epot = -22.1113349203141 | etot = -16.8849200916485 -350000 ekin = 2.63009093889651 | erot = 2.96194682397752 | epot = -22.1188176550615 | etot = -16.5267798921874 -351000 ekin = 2.58934992266496 | erot = 2.87704347850333 | epot = -22.1025806281002 | etot = -16.6361872269319 -352000 ekin = 2.54228487046017 | erot = 2.63361513807469 | epot = -22.065268676535 | etot = -16.8893686680001 -353000 ekin = 2.53249364323764 | erot = 2.47221948070281 | epot = -22.0318641173349 | etot = -17.0271509933945 -354000 ekin = 2.56206560144996 | erot = 2.34662515218724 | epot = -22.0126143901227 | etot = -17.1039236364855 -355000 ekin = 2.53151865050983 | erot = 2.41130529481779 | epot = -21.9989758809428 | etot = -17.0561519356152 -356000 ekin = 2.38856942051675 | erot = 2.45957154153164 | epot = -21.9929238390888 | etot = -17.1447828770405 -357000 ekin = 2.38503185044981 | erot = 2.38151023524621 | epot = -22.0040942348338 | etot = -17.2375521491378 -358000 ekin = 2.44758512950039 | erot = 2.71803579945338 | epot = -22.0072561961475 | etot = -16.8416352671937 -359000 ekin = 2.3851668843951 | erot = 2.57286490732325 | epot = -21.9670271651235 | etot = -17.0089953734051 -360000 ekin = 2.33663079544644 | erot = 2.56848564652217 | epot = -21.9181648411088 | etot = -17.0130483991401 -361000 ekin = 2.42677922379477 | erot = 2.37500774993747 | epot = -21.8672713761356 | etot = -17.0654844024033 -362000 ekin = 2.4605364062406 | erot = 2.49590481611229 | epot = -21.7779995387158 | etot = -16.8215583163629 -363000 ekin = 2.55310738370223 | erot = 2.17768318633137 | epot = -21.677682077902 | etot = -16.9468915078684 -364000 ekin = 2.5678010972577 | erot = 2.16474191665875 | epot = -21.5533633280085 | etot = -16.820820314092 -365000 ekin = 2.59901975131882 | erot = 1.7140989302114 | epot = -21.4252112523553 | etot = -17.1120925708251 -366000 ekin = 2.80245009247369 | erot = 1.4404838150693 | epot = -21.311596587106 | etot = -17.068662679563 -367000 ekin = 2.85134090040924 | erot = 1.61253537083183 | epot = -21.2054965437889 | etot = -16.7416202725478 -368000 ekin = 3.00720175661758 | erot = 1.37649145802376 | epot = -21.1143147590192 | etot = -16.7306215443779 -369000 ekin = 3.02782850583644 | erot = 1.29964512201192 | epot = -21.0456750388441 | etot = -16.7182014109957 -370000 ekin = 2.96718136039109 | erot = 1.45830059090196 | epot = -20.9956751371928 | etot = -16.5701931858997 -371000 ekin = 2.97398053523892 | erot = 1.26453322843172 | epot = -20.9819115867117 | etot = -16.743397823041 -372000 ekin = 2.93284410498 | erot = 1.41224205422984 | epot = -20.9908796563722 | etot = -16.6457934971623 -373000 ekin = 2.8879003401046 | erot = 1.42564554966125 | epot = -21.0338923993971 | etot = -16.7203465096313 -374000 ekin = 2.82344708085634 | erot = 1.62526123419932 | epot = -21.0946345683056 | etot = -16.64592625325 -375000 ekin = 2.90481916892106 | erot = 1.7464206770586 | epot = -21.2008783966461 | etot = -16.5496385506664 -376000 ekin = 2.84134799892063 | erot = 1.87675422092541 | epot = -21.3649261105941 | etot = -16.6468238907481 -377000 ekin = 2.86364799078503 | erot = 1.93393380949078 | epot = -21.5406268140671 | etot = -16.7430450137913 -378000 ekin = 2.90483004895234 | erot = 2.17252781549633 | epot = -21.7155346442898 | etot = -16.6381767798411 -379000 ekin = 2.88650755861751 | erot = 1.96118442992086 | epot = -21.8538626049789 | etot = -17.0061706164405 -380000 ekin = 2.88651329834471 | erot = 2.08410077478119 | epot = -21.9401095058162 | etot = -16.9694954326903 -381000 ekin = 2.84108364234484 | erot = 2.3660240689464 | epot = -21.98104394619 | etot = -16.7739362348987 -382000 ekin = 2.65581712933813 | erot = 2.32549072457596 | epot = -21.9604472596473 | etot = -16.9791394057332 -383000 ekin = 2.66697103963098 | erot = 2.19715446258958 | epot = -21.8997743494525 | etot = -17.035648847232 -384000 ekin = 2.71347175798896 | erot = 2.0860453579752 | epot = -21.8256490214726 | etot = -17.0261319055084 -385000 ekin = 2.58866272891295 | erot = 2.07169637253233 | epot = -21.758827765026 | etot = -17.0984686635807 -386000 ekin = 2.61416908347388 | erot = 2.1240237822152 | epot = -21.727589058865 | etot = -16.9893961931759 -387000 ekin = 2.703733725349 | erot = 2.21149248908629 | epot = -21.7114203261748 | etot = -16.7961941117395 -388000 ekin = 2.7497838323679 | erot = 2.03622128721578 | epot = -21.7171286702608 | etot = -16.9311235506772 -389000 ekin = 2.75876151313239 | erot = 2.35914494269186 | epot = -21.7195350651328 | etot = -16.6016286093086 -390000 ekin = 2.87281151326072 | erot = 2.14919283772489 | epot = -21.7092098874033 | etot = -16.6872055364177 -391000 ekin = 2.88070946214033 | erot = 2.15553640701987 | epot = -21.7308938242006 | etot = -16.6946479550404 -392000 ekin = 2.85350413424024 | erot = 1.95551148082617 | epot = -21.7800211133378 | etot = -16.9710054982714 -393000 ekin = 2.90295298668554 | erot = 2.00031478831757 | epot = -21.8483879920452 | etot = -16.9451202170421 -394000 ekin = 2.87980364418038 | erot = 2.13854428764088 | epot = -21.9278910355293 | etot = -16.9095431037081 -395000 ekin = 2.89980834808641 | erot = 2.27975081097518 | epot = -22.0016489908306 | etot = -16.822089831769 -396000 ekin = 2.9360557483404 | erot = 2.2875622150139 | epot = -22.0837193562733 | etot = -16.860101392919 -397000 ekin = 2.80779171295693 | erot = 2.19257867663261 | epot = -22.1878285992745 | etot = -17.187458209685 -398000 ekin = 2.65560496560025 | erot = 2.63286768292198 | epot = -22.2927014267369 | etot = -17.0042287782147 -399000 ekin = 2.7083129997789 | erot = 2.28957359120755 | epot = -22.4133968187077 | etot = -17.4155102277212 -400000 ekin = 2.62631472682178 | erot = 2.32258453004909 | epot = -22.5144474162181 | etot = -17.5655481593472 -401000 ekin = 2.61084599477582 | erot = 2.5915842232174 | epot = -22.6219132294947 | etot = -17.4194830115015 -402000 ekin = 2.63588590320108 | erot = 2.77714471535845 | epot = -22.726497935138 | etot = -17.3134673165785 -403000 ekin = 2.57124299169012 | erot = 2.91857224360648 | epot = -22.7998184812978 | etot = -17.3100032460012 -404000 ekin = 2.64669440558072 | erot = 2.93356467106652 | epot = -22.8394282855354 | etot = -17.2591692088882 -405000 ekin = 2.63136962603962 | erot = 3.04830494377458 | epot = -22.8811547071106 | etot = -17.2014801372964 -406000 ekin = 2.57687330940515 | erot = 2.89269043406019 | epot = -22.8904487120534 | etot = -17.420884968588 -407000 ekin = 2.56184489605048 | erot = 3.0869265673611 | epot = -22.8853592595439 | etot = -17.2365877961323 -408000 ekin = 2.54127249851751 | erot = 3.17601770471237 | epot = -22.9006717760475 | etot = -17.1833815728176 -409000 ekin = 2.53459046783756 | erot = 3.13623300199206 | epot = -22.8968640693002 | etot = -17.2260405994706 -410000 ekin = 2.51587421571662 | erot = 3.14201699757386 | epot = -22.9150990085739 | etot = -17.2572077952835 -411000 ekin = 2.42964978573949 | erot = 3.32305144355808 | epot = -22.950164108708 | etot = -17.1974628794104 -412000 ekin = 2.36687843567492 | erot = 3.32855044296013 | epot = -22.9956786711899 | etot = -17.3002497925549 -413000 ekin = 2.32867643693121 | erot = 3.02147909460693 | epot = -23.0359443059235 | etot = -17.6857887743854 -414000 ekin = 2.25152604494466 | erot = 3.14866247342447 | epot = -23.0379850078344 | etot = -17.6377964894653 -415000 ekin = 2.14860234477144 | erot = 3.14281806599387 | epot = -23.0168097112442 | etot = -17.7253893004789 -416000 ekin = 2.13327753923941 | erot = 2.78190144921923 | epot = -22.9549412646377 | etot = -18.0397622761791 -417000 ekin = 2.07867029653697 | erot = 2.63891364632696 | epot = -22.8771697337527 | etot = -18.1595857908887 -418000 ekin = 2.0150349708746 | erot = 2.48786384280144 | epot = -22.7881812529125 | etot = -18.2852824392364 -419000 ekin = 1.93436445840322 | erot = 2.56473142390303 | epot = -22.7122209786172 | etot = -18.213125096311 -420000 ekin = 1.86691051963017 | erot = 2.37316247804236 | epot = -22.6636441048361 | etot = -18.4235711071636 -421000 ekin = 1.8667725624874 | erot = 2.32313827929402 | epot = -22.6187875829574 | etot = -18.428876741176 -422000 ekin = 1.8200582415809 | erot = 2.55465763559262 | epot = -22.5903542114936 | etot = -18.2156383343201 -423000 ekin = 1.85196925130418 | erot = 2.59745988234307 | epot = -22.5868190893395 | etot = -18.1373899556923 -424000 ekin = 1.87511106269032 | erot = 2.36649086179865 | epot = -22.5883508404773 | etot = -18.3467489159883 -425000 ekin = 1.85448962199789 | erot = 2.3591233455441 | epot = -22.5825697876888 | etot = -18.3689568201468 -426000 ekin = 1.93877126287082 | erot = 2.34047239554888 | epot = -22.5855644966028 | etot = -18.3063208381831 -427000 ekin = 1.98667133587004 | erot = 2.21434059237444 | epot = -22.6165038624104 | etot = -18.4154919341659 -428000 ekin = 2.06633462219177 | erot = 2.46308595042552 | epot = -22.6536305130781 | etot = -18.1242099404608 -429000 ekin = 2.06647569478212 | erot = 2.85029146170665 | epot = -22.6734202786044 | etot = -17.7566531221156 -430000 ekin = 2.02119030876797 | erot = 3.03581181603967 | epot = -22.6592821074028 | etot = -17.6022799825951 -431000 ekin = 1.92940982496923 | erot = 3.125674796042 | epot = -22.6051004098154 | etot = -17.5500157888042 -432000 ekin = 1.98926835887576 | erot = 2.96897634192392 | epot = -22.5090519549375 | etot = -17.5508072541379 -433000 ekin = 2.04143073246114 | erot = 2.85215225860714 | epot = -22.3406443583776 | etot = -17.4470613673093 -434000 ekin = 2.05565692829913 | erot = 2.95627927317631 | epot = -22.1000056035569 | etot = -17.0880694020814 -435000 ekin = 2.08432405496736 | erot = 2.68419048003187 | epot = -21.8308353279849 | etot = -17.0623207929857 -436000 ekin = 2.12772749840182 | erot = 2.84173548840778 | epot = -21.5604223141965 | etot = -16.5909593273869 -437000 ekin = 2.04468233985804 | erot = 2.51892636169328 | epot = -21.3171953647822 | etot = -16.7535866632309 -438000 ekin = 2.04330796733059 | erot = 2.25039837644734 | epot = -21.1104661155377 | etot = -16.8167597717598 -439000 ekin = 2.1303450962371 | erot = 2.34282002521722 | epot = -20.9455910272725 | etot = -16.4724259058182 -440000 ekin = 2.19070367254264 | erot = 2.15029144838855 | epot = -20.8316849257311 | etot = -16.4906898047999 -441000 ekin = 2.18523324344632 | erot = 2.14329639955493 | epot = -20.7742603417167 | etot = -16.4457306987154 -442000 ekin = 2.35525341099367 | erot = 2.33073585925573 | epot = -20.792107801297 | etot = -16.1061185310476 -443000 ekin = 2.42381848947187 | erot = 2.29410897800853 | epot = -20.8510039080529 | etot = -16.1330764405725 -444000 ekin = 2.58327001521848 | erot = 2.2555040393805 | epot = -20.9496740359511 | etot = -16.1108999813521 -445000 ekin = 2.74914318766607 | erot = 2.36474125562136 | epot = -21.0902773104291 | etot = -15.9763928671417 -446000 ekin = 2.75866465553895 | erot = 2.51903536478372 | epot = -21.2771375903941 | etot = -15.9994375700714 -447000 ekin = 2.81341929589966 | erot = 2.61543912233437 | epot = -21.4943223583148 | etot = -16.0654639400807 -448000 ekin = 2.98791449212409 | erot = 2.68601572134495 | epot = -21.6882416455897 | etot = -16.0143114321207 -449000 ekin = 3.02989562281076 | erot = 2.59921391657428 | epot = -21.8625805167009 | etot = -16.2334709773159 -450000 ekin = 3.0758419338981 | erot = 2.74644112742609 | epot = -21.997728414517 | etot = -16.1754453531928 -451000 ekin = 3.1732510322311 | erot = 2.71318685835058 | epot = -22.0826869675359 | etot = -16.1962490769543 -452000 ekin = 3.26804429580701 | erot = 2.87778182303269 | epot = -22.0906838053159 | etot = -15.9448576864762 -453000 ekin = 3.27357354113463 | erot = 2.70771602218257 | epot = -22.009345068552 | etot = -16.0280555052348 -454000 ekin = 3.19461395199184 | erot = 2.6448969266276 | epot = -21.8896212815603 | etot = -16.0501104029409 -455000 ekin = 3.06934448991755 | erot = 2.52112023723157 | epot = -21.7581228733757 | etot = -16.1676581462265 -456000 ekin = 3.00870709873354 | erot = 2.69030125753166 | epot = -21.6192081822489 | etot = -15.9201998259837 -457000 ekin = 2.77721648981712 | erot = 2.81809494378998 | epot = -21.5044838205097 | etot = -15.9091723869026 -458000 ekin = 2.72192779143867 | erot = 2.81327589912996 | epot = -21.3991411950549 | etot = -15.8639375044863 -459000 ekin = 2.66716160346742 | erot = 2.91218722489636 | epot = -21.3056824262503 | etot = -15.7263335978865 -460000 ekin = 2.61631308900579 | erot = 2.72088150404094 | epot = -21.2125642789402 | etot = -15.8753696858935 -461000 ekin = 2.52111486337738 | erot = 2.61083643510198 | epot = -21.1320849455672 | etot = -16.0001336470878 -462000 ekin = 2.35496729961946 | erot = 2.53585610998176 | epot = -21.0535223021749 | etot = -16.1626988925736 -463000 ekin = 2.2439343318321 | erot = 2.51761943073272 | epot = -21.0230425923881 | etot = -16.2614888298233 -464000 ekin = 2.1626457562572 | erot = 2.67496242735603 | epot = -21.0323536551491 | etot = -16.1947454715359 -465000 ekin = 2.12337820037341 | erot = 2.82456556368787 | epot = -21.0880254572834 | etot = -16.1400816932221 -466000 ekin = 2.04496236125005 | erot = 2.74204868129271 | epot = -21.1490905898125 | etot = -16.3620795472697 -467000 ekin = 2.0707620645862 | erot = 2.74539024720618 | epot = -21.2150241645281 | etot = -16.3988718527357 -468000 ekin = 2.08250457485156 | erot = 2.4940100588542 | epot = -21.2895135595468 | etot = -16.712998925841 -469000 ekin = 2.11940107816891 | erot = 2.73165603901951 | epot = -21.3555553713497 | etot = -16.5044982541612 -470000 ekin = 2.27554500930735 | erot = 2.57556168280453 | epot = -21.4121284090537 | etot = -16.5610217169418 -471000 ekin = 2.21149846213409 | erot = 2.49207243095059 | epot = -21.4357320520247 | etot = -16.73216115894 -472000 ekin = 2.13757463851149 | erot = 2.31011730813796 | epot = -21.4380116997287 | etot = -16.9903197530793 -473000 ekin = 2.06821493877588 | erot = 2.26850039282583 | epot = -21.4114781960853 | etot = -17.0747628644836 -474000 ekin = 1.96490547218375 | erot = 2.35563819582063 | epot = -21.3522336688369 | etot = -17.0316900008326 -475000 ekin = 1.94558586419879 | erot = 2.10680745423894 | epot = -21.2548130597364 | etot = -17.2024197412987 -476000 ekin = 1.94190624501475 | erot = 2.16513825042938 | epot = -21.159554468915 | etot = -17.0525099734709 -477000 ekin = 1.99924367094377 | erot = 1.80803378013927 | epot = -21.0628461625389 | etot = -17.2555687114559 -478000 ekin = 1.89989927585438 | erot = 1.77183940189893 | epot = -20.9920693922243 | etot = -17.320330714471 -479000 ekin = 1.84520242098747 | erot = 1.66369715226449 | epot = -20.9431976611348 | etot = -17.4342980878828 -480000 ekin = 1.78395227007269 | erot = 1.62380842243988 | epot = -20.9116440658475 | etot = -17.503883373335 -481000 ekin = 1.80711393748078 | erot = 1.45108120724281 | epot = -20.8998091956538 | etot = -17.6416140509303 -482000 ekin = 1.83485472728802 | erot = 1.58991315613704 | epot = -20.9502956349549 | etot = -17.5255277515298 -483000 ekin = 1.74714650944526 | erot = 2.06533056940214 | epot = -21.0598264029401 | etot = -17.2473493240927 -484000 ekin = 1.8057186887513 | erot = 2.45785513658366 | epot = -21.2268132327393 | etot = -16.9632394074044 -485000 ekin = 1.97685842465673 | erot = 2.60360246547727 | epot = -21.4062901266652 | etot = -16.8258292365312 -486000 ekin = 2.06309847922677 | erot = 2.90380547812245 | epot = -21.5894655607393 | etot = -16.6225616033901 -487000 ekin = 2.19649216659994 | erot = 2.81883409927294 | epot = -21.7360008549519 | etot = -16.7206745890791 -488000 ekin = 2.27235435120772 | erot = 3.21078167833795 | epot = -21.8710028956712 | etot = -16.3878668661256 -489000 ekin = 2.3636591616528 | erot = 2.98148333833798 | epot = -21.9731809770875 | etot = -16.6280384770967 -490000 ekin = 2.4636557224321 | erot = 3.03413636977543 | epot = -22.0415730890951 | etot = -16.5437809968876 -491000 ekin = 2.48043066028413 | erot = 2.95353817719114 | epot = -22.0882801530733 | etot = -16.654311315598 -492000 ekin = 2.43187986853069 | erot = 2.81942197452466 | epot = -22.1316786946073 | etot = -16.880376851552 -493000 ekin = 2.43297707751461 | erot = 3.13501618675316 | epot = -22.1516877815832 | etot = -16.5836945173154 -494000 ekin = 2.4354773700696 | erot = 3.224943833042 | epot = -22.1277792873507 | etot = -16.4673580842391 -495000 ekin = 2.44131017621637 | erot = 3.14764944977806 | epot = -22.079810722608 | etot = -16.4908510966136 -496000 ekin = 2.44929786442212 | erot = 3.00103698197392 | epot = -22.0029286492464 | etot = -16.5525938028503 -497000 ekin = 2.4280734272358 | erot = 2.78818041326617 | epot = -21.8989958230258 | etot = -16.6827419825238 -498000 ekin = 2.43232675717266 | erot = 2.78563195522793 | epot = -21.7990677062028 | etot = -16.5811089938022 -499000 ekin = 2.39683774655007 | erot = 2.52204743265467 | epot = -21.6970829564495 | etot = -16.7781977772448 -500000 ekin = 2.39561357167997 | erot = 2.04914490208487 | epot = -21.6057727183573 | etot = -17.1610142445925 -501000 ekin = 2.49011062220811 | erot = 2.09141321522323 | epot = -21.5560066661711 | etot = -16.9744828287398 -502000 ekin = 2.50365744754297 | erot = 2.10420254833234 | epot = -21.5549657901239 | etot = -16.9471057942486 -503000 ekin = 2.50788240480049 | erot = 2.30709919674968 | epot = -21.6015443787762 | etot = -16.786562777226 -504000 ekin = 2.42370070726357 | erot = 1.84999363757419 | epot = -21.6380109735029 | etot = -17.3643166286652 -505000 ekin = 2.35874834855526 | erot = 2.14636862503864 | epot = -21.6689774661098 | etot = -17.1638604925159 -506000 ekin = 2.26228062582635 | erot = 2.45377485636132 | epot = -21.7153954382918 | etot = -16.9993399561042 -507000 ekin = 2.13919237077154 | erot = 2.50319755000149 | epot = -21.7581761618781 | etot = -17.1157862411051 -508000 ekin = 2.14831373874063 | erot = 3.06092132482214 | epot = -21.7763037427622 | etot = -16.5670686791994 -509000 ekin = 2.05180259764867 | erot = 3.39029610338365 | epot = -21.7760035853532 | etot = -16.3339048843209 -510000 ekin = 2.04381464635437 | erot = 3.61253858305498 | epot = -21.7386277737472 | etot = -16.0822745443378 -511000 ekin = 2.05816959569127 | erot = 3.102136513493 | epot = -21.6883623768063 | etot = -16.528056267622 -512000 ekin = 1.92422822548484 | erot = 2.7926385451771 | epot = -21.6550102347612 | etot = -16.9381434640992 -513000 ekin = 2.02050703596267 | erot = 2.71259548634819 | epot = -21.6549051178158 | etot = -16.921802595505 -514000 ekin = 2.07581905977924 | erot = 2.32467594776647 | epot = -21.6655568342184 | etot = -17.2650618266727 -515000 ekin = 2.08477825623489 | erot = 2.59404540183174 | epot = -21.7265307260937 | etot = -17.0477070680271 -516000 ekin = 2.15812359163726 | erot = 2.69267871008878 | epot = -21.8093937590779 | etot = -16.9585914573518 -517000 ekin = 2.13934962382501 | erot = 2.8436528571905 | epot = -21.9032983411413 | etot = -16.9202958601258 -518000 ekin = 2.20591925285869 | erot = 3.12936446615959 | epot = -22.0120787399692 | etot = -16.6767950209509 -519000 ekin = 2.26634159461371 | erot = 3.09465064893055 | epot = -22.1371864066217 | etot = -16.7761941630775 -520000 ekin = 2.33395232089093 | erot = 3.1670786380661 | epot = -22.2618368300502 | etot = -16.7608058710932 -521000 ekin = 2.37443913996459 | erot = 2.84321493552062 | epot = -22.3608681173471 | etot = -17.1432140418619 -522000 ekin = 2.38014534564443 | erot = 2.71344764130118 | epot = -22.4471285851328 | etot = -17.3535355981872 -523000 ekin = 2.43082426163801 | erot = 2.87118432179588 | epot = -22.5347499952688 | etot = -17.2327414118349 -524000 ekin = 2.56081842163085 | erot = 3.05550273097475 | epot = -22.6100687346066 | etot = -16.993747582001 -525000 ekin = 2.5595327185846 | erot = 2.67513220891039 | epot = -22.6739874644372 | etot = -17.4393225369422 -526000 ekin = 2.59958209030967 | erot = 2.95738463024345 | epot = -22.7033728209714 | etot = -17.1464061004182 -527000 ekin = 2.52409384361546 | erot = 2.89851026515111 | epot = -22.7152196639493 | etot = -17.2926155551827 -528000 ekin = 2.5793534980762 | erot = 2.86931301300845 | epot = -22.7061100878872 | etot = -17.2574435768025 -529000 ekin = 2.54499132301732 | erot = 3.03033580941359 | epot = -22.6577883790845 | etot = -17.0824612466536 -530000 ekin = 2.37583920711473 | erot = 3.07767101681233 | epot = -22.5498147001084 | etot = -17.0963044761814 -531000 ekin = 2.28423424660353 | erot = 2.99538223189526 | epot = -22.4172244060315 | etot = -17.1376079275327 -532000 ekin = 2.1109280228991 | erot = 2.62650535715256 | epot = -22.2554156639846 | etot = -17.517982283933 -533000 ekin = 2.07823067751594 | erot = 2.60462012944303 | epot = -22.0829115643989 | etot = -17.4000607574399 -534000 ekin = 2.08976309920187 | erot = 2.60045035336435 | epot = -21.9117889556571 | etot = -17.2215755030909 -535000 ekin = 2.03320809614292 | erot = 2.53673993181132 | epot = -21.7263132935396 | etot = -17.1563652655854 -536000 ekin = 1.97106365765638 | erot = 2.35170112588149 | epot = -21.571809644199 | etot = -17.2490448606611 -537000 ekin = 1.85757994043342 | erot = 2.10009393160123 | epot = -21.4673782965335 | etot = -17.5097044244988 -538000 ekin = 1.82596102898874 | erot = 2.13846192719764 | epot = -21.398373431854 | etot = -17.4339504756676 -539000 ekin = 1.73881232516788 | erot = 2.4948493136435 | epot = -21.3425267679342 | etot = -17.1088651291228 -540000 ekin = 1.67447223010825 | erot = 2.77285924634643 | epot = -21.271659054413 | etot = -16.8243275779583 -541000 ekin = 1.69990418580809 | erot = 2.88110182550566 | epot = -21.1962442587827 | etot = -16.615238247469 -542000 ekin = 1.7111365749696 | erot = 2.75900359073003 | epot = -21.1355976616677 | etot = -16.665457495968 -543000 ekin = 1.78866852977452 | erot = 2.71660471692181 | epot = -21.0866732693155 | etot = -16.5814000226192 -544000 ekin = 1.77181782019774 | erot = 2.32877176942813 | epot = -21.0413457588297 | etot = -16.9407561692039 -545000 ekin = 1.7866779339122 | erot = 2.11448637898461 | epot = -21.0004042884457 | etot = -17.0992399755488 -546000 ekin = 1.85376909065287 | erot = 1.89612518110716 | epot = -20.9731062289206 | etot = -17.2232119571606 -547000 ekin = 1.88607623839212 | erot = 1.6712325505803 | epot = -20.9706093546519 | etot = -17.4133005656795 -548000 ekin = 1.90991638455396 | erot = 1.78815489997996 | epot = -20.9683934987357 | etot = -17.2703222142018 -549000 ekin = 1.93154736700941 | erot = 1.83109029837903 | epot = -20.9876899630384 | etot = -17.22505229765 -550000 ekin = 1.99815580980645 | erot = 1.56054958425452 | epot = -21.0360042320961 | etot = -17.4772988380352 -551000 ekin = 2.06223281194893 | erot = 1.82140531055406 | epot = -21.10997931596 | etot = -17.226341193457 -552000 ekin = 2.19995559126134 | erot = 1.93328987912251 | epot = -21.1805106953399 | etot = -17.0472652249561 -553000 ekin = 2.16476612655663 | erot = 2.18848299832304 | epot = -21.2339007238649 | etot = -16.8806515989852 -554000 ekin = 2.19253395809327 | erot = 1.99269602147233 | epot = -21.3216202633274 | etot = -17.1363902837618 -555000 ekin = 2.30423346281242 | erot = 1.75126691279982 | epot = -21.4340368938555 | etot = -17.3785365182433 -556000 ekin = 2.45212673301272 | erot = 2.39109930640492 | epot = -21.5725172133448 | etot = -16.7292911739272 -557000 ekin = 2.55511582944017 | erot = 2.60632466872841 | epot = -21.7241981903448 | etot = -16.5627576921762 -558000 ekin = 2.67318624692484 | erot = 2.43046608161984 | epot = -21.8811108747503 | etot = -16.7774585462056 -559000 ekin = 2.79102973560968 | erot = 2.67538733153562 | epot = -22.037855387448 | etot = -16.5714383203027 -560000 ekin = 2.9183792158121 | erot = 2.68572428538362 | epot = -22.1492797858931 | etot = -16.5451762846974 -561000 ekin = 2.81692468047697 | erot = 2.70423444900948 | epot = -22.216487219322 | etot = -16.6953280898356 -562000 ekin = 2.76503975841347 | erot = 2.53761848613789 | epot = -22.2442970633447 | etot = -16.9416388187934 -563000 ekin = 2.65825040724883 | erot = 2.71023439088357 | epot = -22.243221823098 | etot = -16.8747370249656 -564000 ekin = 2.64808423454302 | erot = 2.7031533075073 | epot = -22.2101649946185 | etot = -16.8589274525682 -565000 ekin = 2.56520347515872 | erot = 2.51222337320364 | epot = -22.1609166692024 | etot = -17.08348982084 -566000 ekin = 2.49797853328213 | erot = 1.95572936802152 | epot = -22.1122925054564 | etot = -17.6585846041527 -567000 ekin = 2.54792607074833 | erot = 1.85729033385336 | epot = -22.0797419433029 | etot = -17.6745255387012 -568000 ekin = 2.60591444007081 | erot = 1.83755900710587 | epot = -22.0644073196267 | etot = -17.6209338724501 -569000 ekin = 2.62362305667703 | erot = 2.09101698674206 | epot = -22.0262950849346 | etot = -17.3116550415156 -570000 ekin = 2.59966130338224 | erot = 1.8528357789039 | epot = -21.9852976772882 | etot = -17.5328005950021 -571000 ekin = 2.57696065480236 | erot = 2.10053443453254 | epot = -21.9714910967201 | etot = -17.2939960073852 -572000 ekin = 2.6199221152626 | erot = 2.3592960436722 | epot = -21.9659339101478 | etot = -16.986715751213 -573000 ekin = 2.80765379250703 | erot = 2.64066236878634 | epot = -21.9992362601246 | etot = -16.5509200988312 -574000 ekin = 2.77886407527571 | erot = 2.38672398638113 | epot = -22.0653999532901 | etot = -16.8998118916333 -575000 ekin = 2.68662185812297 | erot = 2.33286464853949 | epot = -22.1404382955663 | etot = -17.1209517889038 -576000 ekin = 2.71580008212145 | erot = 2.47248086928771 | epot = -22.2173146829094 | etot = -17.0290337315003 -577000 ekin = 2.7302158927818 | erot = 2.52068341312541 | epot = -22.2907564203192 | etot = -17.039857114412 -578000 ekin = 2.73054357573016 | erot = 2.55784953441613 | epot = -22.3560478485211 | etot = -17.0676547383748 -579000 ekin = 2.66821624836572 | erot = 2.41812757787305 | epot = -22.3944025993856 | etot = -17.3080587731468 -580000 ekin = 2.67666651361969 | erot = 2.37337561149781 | epot = -22.397039042447 | etot = -17.3469969173295 -581000 ekin = 2.50777332809615 | erot = 2.18045458374933 | epot = -22.3739113390257 | etot = -17.6856834271802 -582000 ekin = 2.40279105318935 | erot = 1.89859122534185 | epot = -22.3216073421081 | etot = -18.0202250635769 -583000 ekin = 2.31269263220149 | erot = 1.73074513088278 | epot = -22.2573140454874 | etot = -18.2138762824031 -584000 ekin = 2.21239433549753 | erot = 1.75290221167389 | epot = -22.2111149411394 | etot = -18.245818393968 -585000 ekin = 2.15356855038317 | erot = 1.75180079977016 | epot = -22.229356241441 | etot = -18.3239868912877 -586000 ekin = 2.10262413841983 | erot = 1.85113983993476 | epot = -22.2792098403955 | etot = -18.3254458620409 -587000 ekin = 2.13288374468826 | erot = 2.20890667221802 | epot = -22.3055082909211 | etot = -17.9637178740148 -588000 ekin = 2.14862689118336 | erot = 2.25138259268979 | epot = -22.2976262267036 | etot = -17.8976167428305 -589000 ekin = 2.04435421027859 | erot = 2.19255127415926 | epot = -22.2575972691454 | etot = -18.0206917847075 -590000 ekin = 1.97499579795968 | erot = 2.18955821954235 | epot = -22.1946880982516 | etot = -18.0301340807496 -591000 ekin = 1.91372986676051 | erot = 2.00143608804042 | epot = -22.0969708781104 | etot = -18.1818049233094 -592000 ekin = 1.90759584087294 | erot = 1.75955547353146 | epot = -22.0003759984159 | etot = -18.3332246840115 -593000 ekin = 1.85491418079517 | erot = 1.82471441354122 | epot = -21.8971191196321 | etot = -18.2174905252957 -594000 ekin = 1.80279616325907 | erot = 1.89197043010803 | epot = -21.7918103226298 | etot = -18.0970437292627 -595000 ekin = 1.73140057218467 | erot = 1.88940188632509 | epot = -21.6714819005053 | etot = -18.0506794419956 -596000 ekin = 1.66362739557022 | erot = 2.08459374164569 | epot = -21.5484728514112 | etot = -17.8002517141953 -597000 ekin = 1.58837419642024 | erot = 2.25218931046815 | epot = -21.4300614484294 | etot = -17.589497941541 -598000 ekin = 1.51530311364937 | erot = 2.10564447814208 | epot = -21.3454884805721 | etot = -17.7245408887807 -599000 ekin = 1.51205618459762 | erot = 2.59561573346759 | epot = -21.3001794349542 | etot = -17.192507516889 -600000 ekin = 1.42420860787937 | erot = 2.66872977571286 | epot = -21.2831261175835 | etot = -17.1901877339913 -601000 ekin = 1.41614052584482 | erot = 2.71409841098203 | epot = -21.2819425817443 | etot = -17.1517036449175 -602000 ekin = 1.39716919100115 | erot = 2.88098133874131 | epot = -21.2738817162066 | etot = -16.9957311864642 -603000 ekin = 1.35362959397705 | erot = 2.47699104027329 | epot = -21.2686606294832 | etot = -17.4380399952329 -604000 ekin = 1.30109941785313 | erot = 2.37915588297075 | epot = -21.2782162294354 | etot = -17.5979609286115 -605000 ekin = 1.33474102107266 | erot = 2.45818083278442 | epot = -21.3160026412609 | etot = -17.5230807874038 -606000 ekin = 1.29920725195382 | erot = 2.42086336903897 | epot = -21.3751929493918 | etot = -17.655122328399 -607000 ekin = 1.23411371003043 | erot = 2.51322970316868 | epot = -21.4519931649193 | etot = -17.7046497517202 -608000 ekin = 1.22186321044676 | erot = 2.5311041555214 | epot = -21.5178918639285 | etot = -17.7649244979604 -609000 ekin = 1.29545020421435 | erot = 2.63039876861612 | epot = -21.5664820555065 | etot = -17.6406330826761 -610000 ekin = 1.32833269788911 | erot = 2.69742481429433 | epot = -21.6042752567674 | etot = -17.5785177445839 -611000 ekin = 1.37555485576615 | erot = 2.44250786358881 | epot = -21.6325158720208 | etot = -17.8144531526659 -612000 ekin = 1.43492266332471 | erot = 2.48338158304032 | epot = -21.6301768868774 | etot = -17.7118726405124 -613000 ekin = 1.45874940730907 | erot = 2.24888080699412 | epot = -21.6206823260948 | etot = -17.9130521117916 -614000 ekin = 1.55936377690334 | erot = 2.20987492911103 | epot = -21.5983529263265 | etot = -17.8291142203122 -615000 ekin = 1.65618793567257 | erot = 2.06571861106629 | epot = -21.5839674847187 | etot = -17.8620609379798 -616000 ekin = 1.69323202132181 | erot = 2.4207923919525 | epot = -21.5767246732272 | etot = -17.4627002599529 -617000 ekin = 1.68010177617046 | erot = 2.37299975949563 | epot = -21.5796207721198 | etot = -17.5265192364537 -618000 ekin = 1.82463445029578 | erot = 2.21376210856707 | epot = -21.5858855133937 | etot = -17.5474889545309 -619000 ekin = 1.82457061205234 | erot = 2.1371769710369 | epot = -21.608601217417 | etot = -17.6468536343277 -620000 ekin = 1.90243298129558 | erot = 2.02639928769549 | epot = -21.6453403015349 | etot = -17.7165080325438 -621000 ekin = 2.0007105481323 | erot = 2.00740169333777 | epot = -21.6932983622015 | etot = -17.6851861207314 -622000 ekin = 2.06294983283403 | erot = 2.33338027747366 | epot = -21.747610545892 | etot = -17.3512804355843 -623000 ekin = 2.16886474013683 | erot = 2.34052136367666 | epot = -21.8030581053771 | etot = -17.2936720015636 -624000 ekin = 2.27472643943783 | erot = 2.06709867004471 | epot = -21.8339575931653 | etot = -17.4921324836828 -625000 ekin = 2.44743468020662 | erot = 1.92194449605304 | epot = -21.8528539423019 | etot = -17.4834747660422 -626000 ekin = 2.6254852196294 | erot = 1.89145499927505 | epot = -21.8798709040072 | etot = -17.3629306851027 -627000 ekin = 2.68150434400643 | erot = 2.0842888332754 | epot = -21.9107134797365 | etot = -17.1449203024547 -628000 ekin = 2.74903675678073 | erot = 1.99441751232753 | epot = -21.9473456387959 | etot = -17.2038913696877 -629000 ekin = 2.86146526790743 | erot = 1.88649666651194 | epot = -21.9845526009193 | etot = -17.2365906664999 -630000 ekin = 2.97219747359781 | erot = 1.94159826713921 | epot = -21.9956245597357 | etot = -17.0818288189987 -631000 ekin = 3.02655709138838 | erot = 1.98612431446979 | epot = -21.9867324807638 | etot = -16.9740510749056 -632000 ekin = 2.89242823961396 | erot = 2.07813215947651 | epot = -21.9871217882287 | etot = -17.0165613891382 -633000 ekin = 2.89559354591988 | erot = 2.04782477805542 | epot = -21.9766614082668 | etot = -17.0332430842915 -634000 ekin = 2.83247679377595 | erot = 2.13051755362208 | epot = -21.9597388170748 | etot = -16.9967444696767 -635000 ekin = 2.63710074800464 | erot = 2.23426349035993 | epot = -21.9715274348462 | etot = -17.1001631964816 -636000 ekin = 2.58412863450159 | erot = 2.48166310505774 | epot = -21.9758376025019 | etot = -16.9100458629426 -637000 ekin = 2.48413021154122 | erot = 3.05163678747143 | epot = -21.9559270975241 | etot = -16.4201600985115 -638000 ekin = 2.41845843253208 | erot = 3.18487359706662 | epot = -21.9218182691583 | etot = -16.3184862395596 -639000 ekin = 2.41474442997057 | erot = 3.07946799577796 | epot = -21.8601538104457 | etot = -16.3659413846972 -640000 ekin = 2.43888704755838 | erot = 3.19916726587376 | epot = -21.773260571449 | etot = -16.1352062580169 -641000 ekin = 2.33318464269148 | erot = 3.52964988306967 | epot = -21.6751385521709 | etot = -15.8123040264097 -642000 ekin = 2.29269127471833 | erot = 3.21459747812113 | epot = -21.5762475219901 | etot = -16.0689587691506 -643000 ekin = 2.2000927150324 | erot = 3.27121474420553 | epot = -21.4712567460628 | etot = -15.9999492868249 -644000 ekin = 2.12761393014637 | erot = 3.26891111731326 | epot = -21.3483627077497 | etot = -15.9518376602901 -645000 ekin = 2.14283359918393 | erot = 3.15969008283745 | epot = -21.2132518657603 | etot = -15.9107281837389 -646000 ekin = 2.06396314958936 | erot = 3.0937199947276 | epot = -21.1127434027894 | etot = -15.9550602584725 -647000 ekin = 2.09494506011006 | erot = 3.01853693183347 | epot = -21.0393545332665 | etot = -15.925872541323 -648000 ekin = 2.04196638106979 | erot = 2.9235470200276 | epot = -20.9985594175429 | etot = -16.0330460164456 -649000 ekin = 2.12312778485914 | erot = 2.76395475216335 | epot = -20.9701414537495 | etot = -16.083058916727 -650000 ekin = 2.10015809243625 | erot = 2.49008137666259 | epot = -20.9856777615303 | etot = -16.3954382924315 -651000 ekin = 2.17042975668772 | erot = 2.82094735385287 | epot = -21.0172459830262 | etot = -16.0258688724856 -652000 ekin = 2.09384051310247 | erot = 2.85582968797875 | epot = -21.0193054655956 | etot = -16.0696352645143 -653000 ekin = 2.04333185286073 | erot = 2.7789078304003 | epot = -21.0137769463715 | etot = -16.1915372631105 -654000 ekin = 2.08939824491288 | erot = 2.64655974106803 | epot = -20.9895202496122 | etot = -16.2535622636313 -655000 ekin = 2.04966047424265 | erot = 2.69502096883418 | epot = -20.9377501246659 | etot = -16.1930686815891 -656000 ekin = 2.01275055755516 | erot = 2.7954688131256 | epot = -20.8915125736499 | etot = -16.0832932029691 -657000 ekin = 2.03431712568968 | erot = 2.53773887631559 | epot = -20.8578047692318 | etot = -16.2857487672265 -658000 ekin = 2.0673538576767 | erot = 2.66675755014629 | epot = -20.8663643114319 | etot = -16.1322529036089 -659000 ekin = 2.06847583306457 | erot = 2.50326478566289 | epot = -20.8825165023748 | etot = -16.3107758836473 -660000 ekin = 2.07870932959682 | erot = 2.81447557231104 | epot = -20.9216042516442 | etot = -16.0284193497364 -661000 ekin = 2.19772022528386 | erot = 2.70676732599789 | epot = -20.955272489221 | etot = -16.0507849379392 -662000 ekin = 2.25232628384276 | erot = 2.75397596508084 | epot = -20.9799482828289 | etot = -15.9736460339053 -663000 ekin = 2.34038951099369 | erot = 2.81430750752421 | epot = -21.0068651854286 | etot = -15.8521681669107 -664000 ekin = 2.44930976235134 | erot = 2.91832446463371 | epot = -21.0209243921204 | etot = -15.6532901651354 -665000 ekin = 2.62422537382033 | erot = 3.05929629192749 | epot = -21.0148549044021 | etot = -15.3313332386542 -666000 ekin = 2.67000607831501 | erot = 3.11170707620175 | epot = -20.9818079036879 | etot = -15.2000947491711 -667000 ekin = 2.646914655505 | erot = 2.74197391498658 | epot = -20.9087124741424 | etot = -15.5198239036508 -668000 ekin = 2.62658511176452 | erot = 2.52395435462692 | epot = -20.7862996323554 | etot = -15.635760165964 -669000 ekin = 2.54613084896613 | erot = 2.35938084583991 | epot = -20.6443137124924 | etot = -15.7388020176863 -670000 ekin = 2.43931260869843 | erot = 2.38690789091365 | epot = -20.4714500069456 | etot = -15.6452295073335 -671000 ekin = 2.36289981273396 | erot = 2.15959347634236 | epot = -20.2658276701866 | etot = -15.7433343811103 -672000 ekin = 2.29106022746054 | erot = 2.06640999933942 | epot = -20.0256672427845 | etot = -15.6681970159846 -673000 ekin = 2.10231422621899 | erot = 1.9981861779267 | epot = -19.7891832406051 | etot = -15.6886828364594 -674000 ekin = 1.99734939649462 | erot = 1.85664304782852 | epot = -19.5650277424018 | etot = -15.7110352980787 -675000 ekin = 1.90857669053573 | erot = 1.65889203440048 | epot = -19.3811887348954 | etot = -15.8137200099592 -676000 ekin = 1.77298099338112 | erot = 1.83094376160153 | epot = -19.2510356435192 | etot = -15.6471108885365 -677000 ekin = 1.63736904978638 | erot = 1.99281479568097 | epot = -19.1448234704469 | etot = -15.5146396249795 -678000 ekin = 1.63864208730587 | erot = 2.08161035578926 | epot = -19.1055006884084 | etot = -15.3852482453133 -679000 ekin = 1.5528275154202 | erot = 2.3521751505234 | epot = -19.1160594043142 | etot = -15.2110567383706 -680000 ekin = 1.55994958081146 | erot = 2.581332640496 | epot = -19.1875667436096 | etot = -15.0462845223021 -681000 ekin = 1.47247027591493 | erot = 2.65144156511814 | epot = -19.2708019300332 | etot = -15.1468900890001 -682000 ekin = 1.5050631291314 | erot = 2.58308917381125 | epot = -19.376855112331 | etot = -15.2887028093883 -683000 ekin = 1.58124836058866 | erot = 2.16095218888017 | epot = -19.4911476852364 | etot = -15.7489471357676 -684000 ekin = 1.60010059600002 | erot = 2.67440743177681 | epot = -19.6181338883197 | etot = -15.3436258605429 -685000 ekin = 1.74893549928195 | erot = 2.6245807347796 | epot = -19.7359660896836 | etot = -15.362449855622 -686000 ekin = 1.76162153341746 | erot = 2.25978530691208 | epot = -19.8541116154906 | etot = -15.8327047751611 -687000 ekin = 1.82619229946474 | erot = 2.29432044590946 | epot = -19.9622292318976 | etot = -15.8417164865234 -688000 ekin = 1.86359828413875 | erot = 2.16944371769556 | epot = -20.0476865748926 | etot = -16.0146445730583 -689000 ekin = 1.93393905859066 | erot = 2.35498206852848 | epot = -20.1007195797137 | etot = -15.8117984525945 -690000 ekin = 1.97584813479927 | erot = 2.24522756497964 | epot = -20.1288568750727 | etot = -15.9077811752937 -691000 ekin = 1.98048868486388 | erot = 2.14627975778132 | epot = -20.1381110985234 | etot = -16.0113426558782 -692000 ekin = 2.07313460019169 | erot = 1.9800884819351 | epot = -20.1378652364601 | etot = -16.0846421543333 -693000 ekin = 2.19190306917338 | erot = 1.58910242480116 | epot = -20.1350957523476 | etot = -16.354090258373 -694000 ekin = 2.32090880385012 | erot = 1.61295927134746 | epot = -20.1314162689194 | etot = -16.1975481937218 -695000 ekin = 2.36874640002722 | erot = 1.59056066666412 | epot = -20.1380145179387 | etot = -16.1787074512473 -696000 ekin = 2.44650937280268 | erot = 1.81535925455471 | epot = -20.1652369679569 | etot = -15.9033683405995 -697000 ekin = 2.51545709816391 | erot = 1.68826010240614 | epot = -20.2135933592978 | etot = -16.0098761587277 -698000 ekin = 2.62928708586012 | erot = 1.96628199836561 | epot = -20.2928804390014 | etot = -15.6973113547757 -699000 ekin = 2.71719696170785 | erot = 2.26885524041395 | epot = -20.3980545329773 | etot = -15.4120023308555 -700000 ekin = 2.87208259001893 | erot = 2.42835298004853 | epot = -20.5178291857199 | etot = -15.2173936156525 -701000 ekin = 2.9590025941786 | erot = 2.35931389631763 | epot = -20.6419240268714 | etot = -15.3236075363752 -702000 ekin = 3.02090269085831 | erot = 2.15074914986673 | epot = -20.7704027073323 | etot = -15.5987508666073 -703000 ekin = 2.97785017762421 | erot = 2.21426045315814 | epot = -20.8971176595447 | etot = -15.7050070287624 -704000 ekin = 2.95736377946439 | erot = 2.20998660273223 | epot = -21.0054958631765 | etot = -15.8381454809799 -705000 ekin = 2.86750561874093 | erot = 2.27820994963668 | epot = -21.0805981580102 | etot = -15.9348825896326 -706000 ekin = 2.78753231022087 | erot = 2.27865200108174 | epot = -21.1291811901197 | etot = -16.0629968788171 -707000 ekin = 2.8221544757383 | erot = 2.35221981249493 | epot = -21.1609961465456 | etot = -15.9866218583124 -708000 ekin = 2.82884823815726 | erot = 2.35861511414888 | epot = -21.1686473578681 | etot = -15.981184005562 -709000 ekin = 2.83366981825964 | erot = 2.36573692196793 | epot = -21.1360090124618 | etot = -15.9366022722343 -710000 ekin = 2.82063152616528 | erot = 2.46614987505483 | epot = -21.084135790447 | etot = -15.7973543892268 -711000 ekin = 2.86012277832215 | erot = 2.45669685378257 | epot = -21.0284124029734 | etot = -15.7115927708687 -712000 ekin = 2.8390063227991 | erot = 2.58641728570271 | epot = -20.9774953745403 | etot = -15.5520717660385 -713000 ekin = 2.81285265683925 | erot = 2.77009227835482 | epot = -20.9479708753284 | etot = -15.3650259401343 -714000 ekin = 2.79476769474643 | erot = 2.56608145301021 | epot = -20.9660227808507 | etot = -15.6051736330941 -715000 ekin = 2.88214044419472 | erot = 2.35359704421368 | epot = -21.0023890888566 | etot = -15.7666516004482 -716000 ekin = 2.80624441075242 | erot = 2.44602402366733 | epot = -21.064339930078 | etot = -15.8120714956583 -717000 ekin = 2.83593496475382 | erot = 1.92271233473076 | epot = -21.1419339045501 | etot = -16.3832866050655 -718000 ekin = 3.04347220736757 | erot = 2.09664480466669 | epot = -21.2307953497154 | etot = -16.0906783376812 -719000 ekin = 3.12566385858553 | erot = 1.94969815384692 | epot = -21.3369127599923 | etot = -16.2615507475599 -720000 ekin = 3.09860713118153 | erot = 1.90387725838985 | epot = -21.4309432046991 | etot = -16.4284588151277 -721000 ekin = 3.12993031147993 | erot = 1.75974471708504 | epot = -21.493414783552 | etot = -16.6037397549871 -722000 ekin = 3.20199415669038 | erot = 1.70619449649603 | epot = -21.5365621621193 | etot = -16.6283735089329 -723000 ekin = 3.2399616527217 | erot = 1.89914229033975 | epot = -21.5885170205206 | etot = -16.4494130774592 -724000 ekin = 3.23853046611197 | erot = 2.03882621849445 | epot = -21.6296558315722 | etot = -16.3522991469658 -725000 ekin = 3.28185949262397 | erot = 2.3703066317188 | epot = -21.6824484616651 | etot = -16.0302823373224 -726000 ekin = 3.25580607632146 | erot = 2.39086109621911 | epot = -21.717756538354 | etot = -16.0710893658134 -727000 ekin = 3.1980522899894 | erot = 2.32087178780801 | epot = -21.7371075347418 | etot = -16.2181834569444 -728000 ekin = 3.15990197080378 | erot = 2.25349819703047 | epot = -21.7242195216855 | etot = -16.3108193538513 -729000 ekin = 3.1567654024144 | erot = 2.43628064604815 | epot = -21.6874540329219 | etot = -16.0944079844593 -730000 ekin = 3.09116846008049 | erot = 2.25419507427888 | epot = -21.6463691748061 | etot = -16.3010056404467 -731000 ekin = 3.13482605258299 | erot = 2.37233499175372 | epot = -21.6178854848953 | etot = -16.1107244405586 -732000 ekin = 2.99746260909709 | erot = 2.05794797450101 | epot = -21.6100718510639 | etot = -16.5546612674658 -733000 ekin = 2.96980729498492 | erot = 2.41656769534058 | epot = -21.6212858194822 | etot = -16.2349108291567 -734000 ekin = 2.95805172881175 | erot = 2.41106090291006 | epot = -21.6442325736442 | etot = -16.2751199419224 -735000 ekin = 2.9891264560767 | erot = 2.56433748906662 | epot = -21.6552350758765 | etot = -16.1017711307332 -736000 ekin = 2.98402840956487 | erot = 2.50919943020275 | epot = -21.6382057820194 | etot = -16.1449779422518 -737000 ekin = 2.93444255324145 | erot = 2.46509691619813 | epot = -21.606907547211 | etot = -16.2073680777714 -738000 ekin = 2.92304716734017 | erot = 2.3908682646107 | epot = -21.5785523296152 | etot = -16.2646368976643 -739000 ekin = 2.87558559566485 | erot = 2.33418319756081 | epot = -21.5767003124475 | etot = -16.3669315192218 -740000 ekin = 2.83334180172253 | erot = 1.96595420169415 | epot = -21.5790601467372 | etot = -16.7797641433205 -741000 ekin = 2.90514747722405 | erot = 1.9006428025971 | epot = -21.5882717938206 | etot = -16.7824815139994 -742000 ekin = 2.94949674447573 | erot = 2.1048120766183 | epot = -21.6073581142244 | etot = -16.5530492931303 -743000 ekin = 3.04809185048074 | erot = 2.29122955891137 | epot = -21.621784420587 | etot = -16.2824630111949 -744000 ekin = 2.98636530702449 | erot = 2.18551221916311 | epot = -21.6006673772006 | etot = -16.428789851013 -745000 ekin = 2.92324621087507 | erot = 2.67370319519972 | epot = -21.5479250866168 | etot = -15.950975680542 -746000 ekin = 2.81108840832449 | erot = 2.60039332109235 | epot = -21.4880495112526 | etot = -16.0765677818358 -747000 ekin = 2.67991382739574 | erot = 2.55252994490165 | epot = -21.4304230755336 | etot = -16.1979793032362 -748000 ekin = 2.53045428101843 | erot = 2.2495073629404 | epot = -21.3737230667376 | etot = -16.5937614227788 -749000 ekin = 2.4521893183738 | erot = 2.14663919598189 | epot = -21.3068166295675 | etot = -16.7079881152118 -750000 ekin = 2.43997409031382 | erot = 2.12137765598068 | epot = -21.2605139231808 | etot = -16.6991621768863 -751000 ekin = 2.39722500832658 | erot = 1.84714049259511 | epot = -21.224520454873 | etot = -16.9801549539513 -752000 ekin = 2.37942582094574 | erot = 1.94578907645454 | epot = -21.2018614145335 | etot = -16.8766465171332 -753000 ekin = 2.28406990648596 | erot = 2.197225255846 | epot = -21.2075024607037 | etot = -16.7262072983717 -754000 ekin = 2.17408286982644 | erot = 2.09839079215051 | epot = -21.2133775747239 | etot = -16.940903912747 -755000 ekin = 2.20136426888663 | erot = 2.2406707957933 | epot = -21.2335060459118 | etot = -16.7914709812319 -756000 ekin = 2.1284426091314 | erot = 2.75005545693648 | epot = -21.2581599852216 | etot = -16.3796619191537 -757000 ekin = 2.25743819675579 | erot = 2.52018349756316 | epot = -21.2980084121414 | etot = -16.5203867178225 -758000 ekin = 2.27601870393359 | erot = 2.5755921466063 | epot = -21.3386893542482 | etot = -16.4870785037083 -759000 ekin = 2.36164379748129 | erot = 2.34149147167517 | epot = -21.3861537164023 | etot = -16.6830184472459 -760000 ekin = 2.46751181779574 | erot = 2.29440108117585 | epot = -21.4502954100428 | etot = -16.6883825110713 -761000 ekin = 2.56117979243454 | erot = 2.28528133130908 | epot = -21.5440902713619 | etot = -16.6976291476183 -762000 ekin = 2.73403817269076 | erot = 2.05037676089394 | epot = -21.6655284682356 | etot = -16.881113534651 -763000 ekin = 2.89028863280026 | erot = 1.96997057412364 | epot = -21.7985105959422 | etot = -16.9382513890183 -764000 ekin = 3.07961097461013 | erot = 1.90337686517649 | epot = -21.9231959994997 | etot = -16.9402081597131 -765000 ekin = 3.10823123780442 | erot = 1.87663540264887 | epot = -22.0019892323023 | etot = -17.017122591849 -766000 ekin = 3.06909048295622 | erot = 2.19611166095449 | epot = -22.0456827970015 | etot = -16.7804806530908 -767000 ekin = 2.95314668625032 | erot = 2.25238187251628 | epot = -22.0265415483729 | etot = -16.8210129896063 -768000 ekin = 2.82146820632435 | erot = 2.14933629194888 | epot = -21.9729916913491 | etot = -17.0021871930759 -769000 ekin = 2.77603784528996 | erot = 1.90506312419816 | epot = -21.892293283993 | etot = -17.2111923145049 -770000 ekin = 2.78938661934792 | erot = 1.68105737595288 | epot = -21.799863534568 | etot = -17.3294195392672 -771000 ekin = 2.69423677840416 | erot = 1.66016415121808 | epot = -21.7233415289995 | etot = -17.3689405993773 -772000 ekin = 2.47513570113015 | erot = 1.55323249560273 | epot = -21.6442608053663 | etot = -17.6158926086334 -773000 ekin = 2.31141180852011 | erot = 1.521177135233 | epot = -21.5669030975225 | etot = -17.7343141537694 -774000 ekin = 2.17520959919718 | erot = 1.42853024205637 | epot = -21.5199609482921 | etot = -17.9162211070385 -775000 ekin = 2.04944703670454 | erot = 1.48494648755665 | epot = -21.528093327263 | etot = -17.9936998030018 -776000 ekin = 1.92108310791733 | erot = 1.66205812928448 | epot = -21.5590874070444 | etot = -17.9759461698426 -777000 ekin = 1.71219857932787 | erot = 1.81255070842967 | epot = -21.5756405048093 | etot = -18.0508912170518 -778000 ekin = 1.64975190369133 | erot = 1.77693127539902 | epot = -21.6017623261212 | etot = -18.1750791470308 -779000 ekin = 1.48106773483733 | erot = 1.73996737730546 | epot = -21.6271500213887 | etot = -18.4061149092459 -780000 ekin = 1.421154751897 | erot = 1.92486733092772 | epot = -21.6544636605777 | etot = -18.308441577753 -781000 ekin = 1.45929388158655 | erot = 2.37782097649985 | epot = -21.6537823170126 | etot = -17.8166674589262 -782000 ekin = 1.41005089049943 | erot = 2.64330507296429 | epot = -21.6242214819651 | etot = -17.5708655185014 -783000 ekin = 1.48665806788364 | erot = 2.2551551458972 | epot = -21.6087091715117 | etot = -17.8668959577309 -784000 ekin = 1.51747380423291 | erot = 1.88850072498565 | epot = -21.5108011603796 | etot = -18.104826631161 -785000 ekin = 1.54947682048269 | erot = 1.86706119579391 | epot = -21.3875221209817 | etot = -17.9709841047051 -786000 ekin = 1.54716158992394 | erot = 1.85630977678419 | epot = -21.2539376526403 | etot = -17.8504662859322 -787000 ekin = 1.62670511458663 | erot = 1.68010954051076 | epot = -21.1236984428165 | etot = -17.8168837877191 -788000 ekin = 1.71061295763359 | erot = 1.48079461940025 | epot = -21.0260161605707 | etot = -17.8346085835368 -789000 ekin = 1.75916840317588 | erot = 1.50945935318381 | epot = -21.0009620101458 | etot = -17.7323342537861 -790000 ekin = 1.8174567271449 | erot = 1.42634706359387 | epot = -20.9943086861151 | etot = -17.7505048953764 -791000 ekin = 1.94362771134128 | erot = 1.56573593007327 | epot = -21.0261698907268 | etot = -17.5168062493123 -792000 ekin = 2.04975276454239 | erot = 1.57988802147767 | epot = -21.0770336678104 | etot = -17.4473928817903 -793000 ekin = 2.17271315800351 | erot = 1.66062406864789 | epot = -21.1162570840036 | etot = -17.2829198573522 -794000 ekin = 2.13334157803654 | erot = 1.76445873405416 | epot = -21.1513206879656 | etot = -17.2535203758749 -795000 ekin = 2.13601408983627 | erot = 1.8111607883192 | epot = -21.1807545548915 | etot = -17.233579676736 -796000 ekin = 2.17221625803756 | erot = 1.84884046113895 | epot = -21.2058704683363 | etot = -17.1848137491598 -797000 ekin = 2.14637210530451 | erot = 2.21749811105555 | epot = -21.2529195044657 | etot = -16.8890492881057 -798000 ekin = 2.1595764262584 | erot = 2.29275394485819 | epot = -21.2708923889551 | etot = -16.8185620178386 -799000 ekin = 2.08753769092936 | erot = 2.48223892350034 | epot = -21.2988770573756 | etot = -16.7291004429459 -800000 ekin = 2.10166063621261 | erot = 2.30451589147721 | epot = -21.3357063804168 | etot = -16.929529852727 -801000 ekin = 1.98982068448267 | erot = 2.31496031357917 | epot = -21.3630439256795 | etot = -17.0582629276177 -802000 ekin = 1.88852653962923 | erot = 2.53585639899759 | epot = -21.4221529007417 | etot = -16.9977699621148 -803000 ekin = 1.864948997027 | erot = 2.51258933602245 | epot = -21.5138216867267 | etot = -17.1362833536772 -804000 ekin = 1.83485043700218 | erot = 2.73777283234846 | epot = -21.6067538814712 | etot = -17.0341306121205 -805000 ekin = 1.89569263744108 | erot = 2.82042555409451 | epot = -21.7141010846681 | etot = -16.9979828931325 -806000 ekin = 2.0359895439272 | erot = 2.98358468485799 | epot = -21.8550274116345 | etot = -16.8354531828493 -807000 ekin = 2.09814069227237 | erot = 2.81323193536483 | epot = -21.982732578034 | etot = -17.0713599503968 -808000 ekin = 2.11462770272961 | erot = 2.49693470536654 | epot = -22.0688650799844 | etot = -17.4573026718882 -809000 ekin = 2.13890385092021 | erot = 2.65117639911353 | epot = -22.1082573604103 | etot = -17.3181771103766 -810000 ekin = 2.15577455258838 | erot = 2.56739189056116 | epot = -22.0870651879662 | etot = -17.3638987448167 -811000 ekin = 2.17521477004717 | erot = 2.59273676449839 | epot = -22.0068576171896 | etot = -17.2389060826441 -812000 ekin = 2.21382110826674 | erot = 2.28331903732698 | epot = -21.9221481456803 | etot = -17.4250080000866 -813000 ekin = 2.23606377538011 | erot = 2.06676286322574 | epot = -21.8452254459267 | etot = -17.5423988073208 -814000 ekin = 2.31218669650381 | erot = 2.21982956647001 | epot = -21.7734705593994 | etot = -17.2414542964256 -815000 ekin = 2.26166132057918 | erot = 2.05343829873186 | epot = -21.7104605671137 | etot = -17.3953609478027 -816000 ekin = 2.29922240841952 | erot = 1.78921729996983 | epot = -21.673177295008 | etot = -17.5847375866187 -817000 ekin = 2.2854665071831 | erot = 1.7599434175785 | epot = -21.6545632782239 | etot = -17.6091533534623 -818000 ekin = 2.21513678285481 | erot = 1.78656435337603 | epot = -21.6636032884049 | etot = -17.6619021521741 -819000 ekin = 2.27391440988989 | erot = 1.82930333148455 | epot = -21.7137466609637 | etot = -17.6105289195893 -820000 ekin = 2.24282091294454 | erot = 1.73998445300775 | epot = -21.8023021191166 | etot = -17.8194967531643 -821000 ekin = 2.19192382316403 | erot = 2.0989386313738 | epot = -21.9355239556901 | etot = -17.6446615011523 -822000 ekin = 2.231078749125 | erot = 2.41397800350102 | epot = -22.0937718271944 | etot = -17.4487150745684 -823000 ekin = 2.18728871634505 | erot = 2.89300153500215 | epot = -22.2549565567124 | etot = -17.1746663053652 -824000 ekin = 2.09269007791821 | erot = 3.32774437375283 | epot = -22.4116674984377 | etot = -16.9912330467666 -825000 ekin = 2.02686183028597 | erot = 3.16127293746735 | epot = -22.5058824787882 | etot = -17.3177477110349 -826000 ekin = 2.03054435558016 | erot = 3.10016450783391 | epot = -22.5168374475926 | etot = -17.3861285841785 -827000 ekin = 2.0145241039294 | erot = 2.84123064216301 | epot = -22.4710810828114 | etot = -17.615326336719 -828000 ekin = 1.90238312904223 | erot = 2.71042154497583 | epot = -22.3794911074955 | etot = -17.7666864334774 -829000 ekin = 1.90418220366947 | erot = 2.69477669052598 | epot = -22.2643157201658 | etot = -17.6653568259704 -830000 ekin = 1.81997341684319 | erot = 2.5447850574763 | epot = -22.1272898430371 | etot = -17.7625313687176 -831000 ekin = 1.83168283006275 | erot = 2.11677888813413 | epot = -22.0163067804204 | etot = -18.0678450622236 -832000 ekin = 1.95186197623527 | erot = 2.17410981396393 | epot = -21.9377902835798 | etot = -17.8118184933806 -833000 ekin = 2.02730820338456 | erot = 1.91567543746849 | epot = -21.8853858637296 | etot = -17.9424022228766 -834000 ekin = 2.14966587630706 | erot = 1.87948738398703 | epot = -21.8918169629541 | etot = -17.8626637026601 -835000 ekin = 2.11991706021007 | erot = 1.80545414551881 | epot = -21.9417230794068 | etot = -18.016351873678 -836000 ekin = 2.16450787990255 | erot = 1.56947066595273 | epot = -22.0176370617292 | etot = -18.2836585158739 -837000 ekin = 2.22942308740213 | erot = 1.72466381535966 | epot = -22.0834662658142 | etot = -18.1293793630524 -838000 ekin = 2.33805060269866 | erot = 2.18496998632888 | epot = -22.1577664107317 | etot = -17.6347458217042 -839000 ekin = 2.4577627051558 | erot = 2.34137207492887 | epot = -22.2345011792195 | etot = -17.4353663991348 -840000 ekin = 2.4408859701061 | erot = 2.20193516257624 | epot = -22.3102615213262 | etot = -17.6674403886438 -841000 ekin = 2.52217561151239 | erot = 2.11119786335641 | epot = -22.4106870083823 | etot = -17.7773135335135 -842000 ekin = 2.53177717032708 | erot = 2.03329546380491 | epot = -22.5051884058713 | etot = -17.9401157717393 -843000 ekin = 2.46981084627163 | erot = 2.26208096486898 | epot = -22.6073969437417 | etot = -17.8755051326011 -844000 ekin = 2.53343392638537 | erot = 2.26231111168032 | epot = -22.6930988517866 | etot = -17.8973538137209 -845000 ekin = 2.55237006837693 | erot = 2.51402635295012 | epot = -22.7449813491075 | etot = -17.6785849277805 -846000 ekin = 2.43591378572747 | erot = 2.18244993014987 | epot = -22.7598171984303 | etot = -18.1414534825529 -847000 ekin = 2.47489280739527 | erot = 2.44850012169225 | epot = -22.7352494455244 | etot = -17.8118565164369 -848000 ekin = 2.56433574545226 | erot = 2.34872816436964 | epot = -22.6736999531278 | etot = -17.7606360433059 -849000 ekin = 2.59586448024853 | erot = 2.2652949780479 | epot = -22.5710185702837 | etot = -17.7098591119873 -850000 ekin = 2.49039613324366 | erot = 2.08374957064521 | epot = -22.4628543871474 | etot = -17.8887086832586 -851000 ekin = 2.48848828005073 | erot = 2.1504397370545 | epot = -22.3616397400165 | etot = -17.7227117229112 -852000 ekin = 2.50477194373625 | erot = 2.31551148311429 | epot = -22.2794107361279 | etot = -17.4591273092774 -853000 ekin = 2.48988722576781 | erot = 2.37905944195178 | epot = -22.2174467488413 | etot = -17.3485000811217 -854000 ekin = 2.48068473577069 | erot = 2.18215338513721 | epot = -22.1954265386904 | etot = -17.5325884177825 -855000 ekin = 2.36041825080301 | erot = 2.14907471345967 | epot = -22.229814016814 | etot = -17.7203210525513 -856000 ekin = 2.41735820368112 | erot = 2.28663399372954 | epot = -22.3010603003025 | etot = -17.5970681028918 -857000 ekin = 2.30380534498035 | erot = 2.28079843394969 | epot = -22.3899957816153 | etot = -17.8053920026852 -858000 ekin = 2.32374915951128 | erot = 2.52586913415202 | epot = -22.4777730735044 | etot = -17.6281547798411 -859000 ekin = 2.36194825640362 | erot = 2.27489572175793 | epot = -22.5497050266214 | etot = -17.9128610484599 -860000 ekin = 2.29676205732791 | erot = 2.83889891466404 | epot = -22.6025698957187 | etot = -17.4669089237267 -861000 ekin = 2.2116102131386 | erot = 2.99481322410894 | epot = -22.629924563885 | etot = -17.4235011266375 -862000 ekin = 2.2183818372621 | erot = 3.2500051060616 | epot = -22.6168976032126 | etot = -17.1485106598888 -863000 ekin = 2.13571465170696 | erot = 3.00165601774444 | epot = -22.5766345837817 | etot = -17.4392639143303 -864000 ekin = 2.17821492819518 | erot = 3.24144192927487 | epot = -22.5094500698139 | etot = -17.0897932123439 -865000 ekin = 2.12870821452427 | erot = 3.22322665201242 | epot = -22.4134082795113 | etot = -17.0614734129746 -866000 ekin = 2.03423896587968 | erot = 2.41447107774416 | epot = -22.3090528921738 | etot = -17.8603428485499 -867000 ekin = 1.97183886889137 | erot = 2.48184160436842 | epot = -22.2021182647476 | etot = -17.7484377914878 -868000 ekin = 1.91308044020404 | erot = 2.24650208042639 | epot = -22.1047137256861 | etot = -17.9451312050556 -869000 ekin = 1.86185635878425 | erot = 2.19298136311335 | epot = -22.0509375705499 | etot = -17.9960998486523 -870000 ekin = 1.75992459606837 | erot = 2.27547409061146 | epot = -22.0117595888703 | etot = -17.9763609021905 -871000 ekin = 1.72178818046697 | erot = 1.96572150785531 | epot = -21.9802199744919 | etot = -18.2927102861696 -872000 ekin = 1.66903556580781 | erot = 1.93794167823874 | epot = -21.9603990023827 | etot = -18.3534217583362 -873000 ekin = 1.64894346626438 | erot = 1.88450940280994 | epot = -21.9681555430983 | etot = -18.434702674024 -874000 ekin = 1.57135406761308 | erot = 1.94741453396443 | epot = -21.9765853859781 | etot = -18.4578167844006 -875000 ekin = 1.59516741268916 | erot = 2.2315729779776 | epot = -21.9920927279222 | etot = -18.1653523372555 -876000 ekin = 1.50206798403357 | erot = 2.57780068625255 | epot = -22.0050475608075 | etot = -17.9251788905214 -877000 ekin = 1.52015373136843 | erot = 2.2843716369875 | epot = -22.0218254393279 | etot = -18.217300070972 -878000 ekin = 1.53387227783115 | erot = 2.27517376879632 | epot = -22.0464155341917 | etot = -18.2373694875642 -879000 ekin = 1.55669077534447 | erot = 2.3756587781102 | epot = -22.062973657109 | etot = -18.1306241036543 -880000 ekin = 1.60508011630073 | erot = 2.26195551636665 | epot = -22.0724613924584 | etot = -18.205425759791 -881000 ekin = 1.6255817800637 | erot = 2.31792675005685 | epot = -22.0658818657201 | etot = -18.1223733355995 -882000 ekin = 1.61449109588179 | erot = 2.44866007965501 | epot = -22.0469024278369 | etot = -17.9837512523001 -883000 ekin = 1.63091904235009 | erot = 2.18398402433298 | epot = -22.0252651066255 | etot = -18.2103620399425 -884000 ekin = 1.69681929338606 | erot = 2.21165212418229 | epot = -21.974538546393 | etot = -18.0660671288247 -885000 ekin = 1.75683241806792 | erot = 2.08331167107024 | epot = -21.8927725348209 | etot = -18.0526284456827 -886000 ekin = 1.75713708681646 | erot = 1.80115910431459 | epot = -21.826515750348 | etot = -18.268219559217 -887000 ekin = 1.84458649763984 | erot = 1.66553699702637 | epot = -21.7661815209402 | etot = -18.256058026274 -888000 ekin = 1.88680036415698 | erot = 1.72065200162268 | epot = -21.7110459690317 | etot = -18.1035936032521 -889000 ekin = 1.92232221960089 | erot = 1.56101057590113 | epot = -21.6536565424971 | etot = -18.1703237469951 -890000 ekin = 2.022841033779 | erot = 1.31029028744447 | epot = -21.5930522300752 | etot = -18.2599209088518 -891000 ekin = 2.02442701619092 | erot = 1.42067034503705 | epot = -21.5472191599557 | etot = -18.1021217987277 -892000 ekin = 2.03626775806652 | erot = 1.66316771076554 | epot = -21.5129190017506 | etot = -17.8134835329186 -893000 ekin = 2.05186124624806 | erot = 1.5752716113925 | epot = -21.4921943128918 | etot = -17.8650614552512 -894000 ekin = 2.09965074001054 | erot = 1.56560345394424 | epot = -21.4743969884815 | etot = -17.8091427945267 -895000 ekin = 2.16252772919142 | erot = 1.54647539834669 | epot = -21.4549689326413 | etot = -17.7459658051031 -896000 ekin = 2.10489706554183 | erot = 1.78263133107129 | epot = -21.4330314423343 | etot = -17.5455030457212 -897000 ekin = 2.15073147494821 | erot = 1.74536300046879 | epot = -21.4239119831847 | etot = -17.5278175077677 -898000 ekin = 2.21697995910577 | erot = 2.0697876586941 | epot = -21.4471718071731 | etot = -17.1604041893732 -899000 ekin = 2.33779396143598 | erot = 2.00733840871183 | epot = -21.4839889813096 | etot = -17.1388566111618 -900000 ekin = 2.41597591914443 | erot = 1.85133754557128 | epot = -21.5274273367608 | etot = -17.2601138720451 -901000 ekin = 2.52644082939946 | erot = 2.19280268194132 | epot = -21.5756266105074 | etot = -16.8563830991666 -902000 ekin = 2.51043073712952 | erot = 1.85686816359505 | epot = -21.6063552107204 | etot = -17.2390563099959 -903000 ekin = 2.6254801850032 | erot = 1.94554509677337 | epot = -21.6466830430368 | etot = -17.0756577612602 -904000 ekin = 2.68604865641952 | erot = 1.82230313014683 | epot = -21.7065646613497 | etot = -17.1982128747834 -905000 ekin = 2.83060251059713 | erot = 2.01697139484873 | epot = -21.7613929111655 | etot = -16.9138190057197 -906000 ekin = 2.94848642766326 | erot = 1.99957930227816 | epot = -21.7999060542926 | etot = -16.8518403243511 -907000 ekin = 2.88672419291329 | erot = 2.19624352905733 | epot = -21.8240702621865 | etot = -16.7411025402159 -908000 ekin = 2.91368680910739 | erot = 2.27525981289754 | epot = -21.8626935205284 | etot = -16.6737468985235 -909000 ekin = 3.0399311133842 | erot = 2.4181338660187 | epot = -21.8797361081397 | etot = -16.4216711287368 -910000 ekin = 3.02111394144684 | erot = 2.25653445757737 | epot = -21.8869501318906 | etot = -16.6093017328664 -911000 ekin = 2.99074440602977 | erot = 2.42571768981063 | epot = -21.8911591932149 | etot = -16.4746970973745 -912000 ekin = 2.9388350389882 | erot = 2.54048734112232 | epot = -21.8943632676177 | etot = -16.4150408875072 -913000 ekin = 2.88155815219754 | erot = 2.43333021308748 | epot = -21.8712405715108 | etot = -16.5563522062257 -914000 ekin = 2.78298688987958 | erot = 2.69976035391025 | epot = -21.8286041753386 | etot = -16.3458569315488 -915000 ekin = 2.7514400944916 | erot = 2.66679831130742 | epot = -21.7506323099744 | etot = -16.3323939041754 -916000 ekin = 2.72328856812533 | erot = 2.53216922557983 | epot = -21.6421731788437 | etot = -16.3867153851385 -917000 ekin = 2.69768821710611 | erot = 2.47439052917339 | epot = -21.5733596386745 | etot = -16.401280892395 -918000 ekin = 2.66995818672158 | erot = 2.09882686301133 | epot = -21.5521619505363 | etot = -16.7833769008034 -919000 ekin = 2.61716147205238 | erot = 2.17918504384224 | epot = -21.5346780530114 | etot = -16.7383315371168 -920000 ekin = 2.4752636050952 | erot = 2.51685127690442 | epot = -21.4991402053986 | etot = -16.507025323399 -921000 ekin = 2.47056876817998 | erot = 2.49255863309435 | epot = -21.4619591744662 | etot = -16.4988317731919 -922000 ekin = 2.58423659960655 | erot = 2.61648914398982 | epot = -21.4156116153633 | etot = -16.2148858717669 -923000 ekin = 2.49375353890865 | erot = 2.67153957254788 | epot = -21.4001146688765 | etot = -16.2348215574199 -924000 ekin = 2.44602138611864 | erot = 2.6849871570182 | epot = -21.4057397221907 | etot = -16.2747311790539 -925000 ekin = 2.40338846624006 | erot = 3.00424602709663 | epot = -21.4434811046204 | etot = -16.0358466112837 -926000 ekin = 2.47488592872435 | erot = 3.17529768125875 | epot = -21.5232565657781 | etot = -15.873072955795 -927000 ekin = 2.40301595960232 | erot = 3.17662851484981 | epot = -21.6300583966372 | etot = -16.050413922185 -928000 ekin = 2.44990005675411 | erot = 3.45632999664445 | epot = -21.7790682902906 | etot = -15.872838236892 -929000 ekin = 2.56646836803309 | erot = 3.14534753938437 | epot = -21.9043533033891 | etot = -16.1925373959717 -930000 ekin = 2.53471244466888 | erot = 3.3457187787957 | epot = -21.9769628203937 | etot = -16.0965315969291 -931000 ekin = 2.50104812028235 | erot = 3.03046410574105 | epot = -22.0056915593073 | etot = -16.4741793332839 -932000 ekin = 2.49568433462376 | erot = 2.88794958693756 | epot = -21.9962407011233 | etot = -16.612606779562 -933000 ekin = 2.38321005751951 | erot = 2.81796519585765 | epot = -21.9635224592426 | etot = -16.7623472058655 -934000 ekin = 2.46317933029144 | erot = 2.48085702084566 | epot = -21.9076116702184 | etot = -16.9635753190813 -935000 ekin = 2.494042694389 | erot = 2.26805014218364 | epot = -21.8352758876529 | etot = -17.0731830510803 -936000 ekin = 2.5430697132387 | erot = 2.27852041735828 | epot = -21.7446317199061 | etot = -16.9230415893091 -937000 ekin = 2.53788333247346 | erot = 2.23194591805574 | epot = -21.6534356613621 | etot = -16.8836064108329 -938000 ekin = 2.56958704064571 | erot = 2.22382492410293 | epot = -21.6129100017685 | etot = -16.8194980370198 -939000 ekin = 2.57422838457721 | erot = 2.07923538706594 | epot = -21.6279254714879 | etot = -16.9744616998447 -940000 ekin = 2.60491982052062 | erot = 1.98992236153729 | epot = -21.6750092612153 | etot = -17.0801670791574 -941000 ekin = 2.66373355701793 | erot = 2.32917490630082 | epot = -21.764370163331 | etot = -16.7714617000123 -942000 ekin = 2.69288932722118 | erot = 2.640619275087 | epot = -21.8851511920185 | etot = -16.5516425897103 -943000 ekin = 2.85220624426593 | erot = 2.6475855859485 | epot = -22.0439788566384 | etot = -16.544187026424 -944000 ekin = 3.0698183844293 | erot = 2.584326500339 | epot = -22.1868426785132 | etot = -16.5326977937449 -945000 ekin = 3.11977740266063 | erot = 2.7604705229242 | epot = -22.3020466458578 | etot = -16.421798720273 -946000 ekin = 3.19652619014303 | erot = 2.60532859032606 | epot = -22.3840876069666 | etot = -16.5822328264975 -947000 ekin = 3.08784085528995 | erot = 2.30512601523234 | epot = -22.4409982051653 | etot = -17.048031334643 -948000 ekin = 3.07667922739837 | erot = 2.80704322134879 | epot = -22.4646638948264 | etot = -16.5809414460792 -949000 ekin = 3.17062900635953 | erot = 2.74445638705353 | epot = -22.4206065116941 | etot = -16.505521118281 -950000 ekin = 2.99689212844042 | erot = 2.86552970257342 | epot = -22.336181645013 | etot = -16.4737598139991 -951000 ekin = 2.97085887473051 | erot = 2.98485442072158 | epot = -22.2080335641941 | etot = -16.252320268742 -952000 ekin = 2.88426317548639 | erot = 2.88099001925752 | epot = -22.0862048891001 | etot = -16.3209516943562 -953000 ekin = 2.79821947299194 | erot = 2.79125510393654 | epot = -21.9697259248555 | etot = -16.380251347927 -954000 ekin = 2.75832450886912 | erot = 2.42390666106202 | epot = -21.8712203511705 | etot = -16.6889891812394 -955000 ekin = 2.87942571582949 | erot = 2.62352115358357 | epot = -21.7827306606127 | etot = -16.2797837911997 -956000 ekin = 2.99654896256508 | erot = 2.37509995935524 | epot = -21.7003789778445 | etot = -16.3287300559242 -957000 ekin = 3.01075252014519 | erot = 2.0959903323954 | epot = -21.6228190260864 | etot = -16.5160761735458 -958000 ekin = 3.08956507051393 | erot = 2.10771389670703 | epot = -21.5884599129528 | etot = -16.3911809457318 -959000 ekin = 3.07649935611857 | erot = 2.19950747705674 | epot = -21.608299575745 | etot = -16.3322927425697 -960000 ekin = 3.10536584557336 | erot = 2.29678872673574 | epot = -21.6407886898389 | etot = -16.2386341175298 -961000 ekin = 3.15824288797258 | erot = 2.14027743718263 | epot = -21.6571494232644 | etot = -16.3586290981092 -962000 ekin = 3.14297945524716 | erot = 2.20585989326466 | epot = -21.6669948660151 | etot = -16.3181555175033 -963000 ekin = 3.09592787201201 | erot = 1.84946957131998 | epot = -21.6592309502122 | etot = -16.7138335068802 -964000 ekin = 3.09941791328147 | erot = 2.05420199745758 | epot = -21.6348571714205 | etot = -16.4812372606815 -965000 ekin = 3.0590978002562 | erot = 2.03923495471246 | epot = -21.5780802205105 | etot = -16.4797474655419 -966000 ekin = 3.14454176510568 | erot = 2.08245540621284 | epot = -21.4998250637726 | etot = -16.2728278924541 -967000 ekin = 3.03869206876045 | erot = 1.99551102271526 | epot = -21.4455121298548 | etot = -16.4113090383791 -968000 ekin = 2.91377375855351 | erot = 2.20122833628372 | epot = -21.4117922551797 | etot = -16.2967901603425 -969000 ekin = 2.99132330213163 | erot = 2.47698235897901 | epot = -21.356556122341 | etot = -15.8882504612304 -970000 ekin = 2.95925005680405 | erot = 2.48694698427801 | epot = -21.3051309670823 | etot = -15.8589339260003 -971000 ekin = 2.85605976500569 | erot = 2.1530873115416 | epot = -21.2711653081509 | etot = -16.2620182316036 -972000 ekin = 2.87454972615782 | erot = 2.2162227007048 | epot = -21.2533681597902 | etot = -16.1625957329276 -973000 ekin = 2.82721122527838 | erot = 2.35000163924771 | epot = -21.2327108232255 | etot = -16.0554979586994 -974000 ekin = 2.72683175865821 | erot = 2.83125023318122 | epot = -21.2149243536637 | etot = -15.6568423618242 -975000 ekin = 2.7058821636302 | erot = 2.49368474281296 | epot = -21.1936492280793 | etot = -15.9940823216362 -976000 ekin = 2.70041722750245 | erot = 2.45741362546316 | epot = -21.187275504801 | etot = -16.0294446518354 -977000 ekin = 2.5945783600864 | erot = 2.48585482647506 | epot = -21.1832960991299 | etot = -16.1028629125685 -978000 ekin = 2.59433384768146 | erot = 2.25685298850986 | epot = -21.1912738457586 | etot = -16.3400870095673 -979000 ekin = 2.65907339789597 | erot = 2.14939269259699 | epot = -21.2277961745875 | etot = -16.4193300840946 -980000 ekin = 2.6800258272481 | erot = 2.14623475911376 | epot = -21.2888425661003 | etot = -16.4625819797384 -981000 ekin = 2.64198792972579 | erot = 2.09278957349386 | epot = -21.3758129934798 | etot = -16.6410354902601 -982000 ekin = 2.72135605208941 | erot = 2.10484266920753 | epot = -21.469578829443 | etot = -16.6433801081461 -983000 ekin = 2.63994960139807 | erot = 2.23278066526168 | epot = -21.5361373723972 | etot = -16.6634071057375 -984000 ekin = 2.61481848524905 | erot = 2.09640066338756 | epot = -21.5563728487098 | etot = -16.8451537000732 -985000 ekin = 2.61123661404095 | erot = 2.3371171115187 | epot = -21.5280304280228 | etot = -16.5796767024632 -986000 ekin = 2.53166588529896 | erot = 2.51414944396533 | epot = -21.4598136655137 | etot = -16.4139983362494 -987000 ekin = 2.51681610277252 | erot = 2.1560100013963 | epot = -21.3682813084315 | etot = -16.6954552042626 -988000 ekin = 2.52900907479865 | erot = 1.99810184774731 | epot = -21.2423979763254 | etot = -16.7152870537794 -989000 ekin = 2.46743393431882 | erot = 2.1761264782121 | epot = -21.1081947595191 | etot = -16.4646343469882 -990000 ekin = 2.33679166273175 | erot = 2.21492463068876 | epot = -20.9584920898951 | etot = -16.4067757964745 -991000 ekin = 2.15649617938395 | erot = 2.10512589255934 | epot = -20.8223518284059 | etot = -16.5607297564626 -992000 ekin = 2.16667762000927 | erot = 2.36721990012083 | epot = -20.7043891749962 | etot = -16.1704916548661 -993000 ekin = 2.19208440550362 | erot = 2.60766896726695 | epot = -20.6167811931571 | etot = -15.8170278203865 -994000 ekin = 2.24324320799042 | erot = 2.72045204046636 | epot = -20.5394560680998 | etot = -15.5757608196431 -995000 ekin = 2.30218249346891 | erot = 2.38815652338748 | epot = -20.5055629227556 | etot = -15.8152239058992 -996000 ekin = 2.42068208522236 | erot = 2.25149887670444 | epot = -20.5308517273634 | etot = -15.8586707654366 -997000 ekin = 2.40906609277991 | erot = 2.62359663392162 | epot = -20.6100670630842 | etot = -15.5774043363827 -998000 ekin = 2.47036155438533 | erot = 2.72144206830377 | epot = -20.7420376418526 | etot = -15.5502340191635 -999000 ekin = 2.48386726649674 | erot = 3.06416174290219 | epot = -20.8948468865809 | etot = -15.346817877182 -1000000 ekin = 2.67285546610894 | erot = 3.25707361502004 | epot = -21.0717432309422 | etot = -15.1418141498132 - 1000000 0.11879358 -1.3439085 0.026924568 -1.1499305 -8.5339515e-05 64000 -Loop time of 31.185 on 4 procs for 1000000 steps with 16 atoms - -Performance: 27705.600 tau/day, 32066.666 timesteps/s -96.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 | 14.443 | 16.691 | 18.812 | 49.1 | 53.52 -Bond | 0.41614 | 0.53705 | 0.60987 | 10.2 | 1.72 -Neigh | 0.026099 | 0.026141 | 0.02616 | 0.0 | 0.08 -Comm | 3.8806 | 4.0753 | 4.3197 | 8.3 | 13.07 -Output | 0.15586 | 0.15985 | 0.16634 | 1.0 | 0.51 -Modify | 1.5962 | 1.8782 | 2.1413 | 17.6 | 6.02 -Other | | 7.818 | | | 25.07 - -Nlocal: 4.00000 ave 5 max 3 min -Histogram: 2 0 0 0 0 0 0 0 0 2 -Nghost: 12.0000 ave 13 max 11 min -Histogram: 2 0 0 0 0 0 0 0 0 2 -Neighs: 48.5000 ave 58 max 39 min -Histogram: 2 0 0 0 0 0 0 0 0 2 - -Total # of neighbors = 194 -Ave neighs/atom = 12.125000 -Ave special neighs/atom = 3.7500000 -Neighbor list builds = 1000 -Dangerous builds = 0 - -write_data last_config.${number}.* nocoeff -write_data last_config.2.* nocoeff -System init for write_data ... -Total wall time: 0:00:31 diff --git a/examples/PACKAGES/cgdna/examples/oxDNA/duplex2/log.2Jul21.duplex2.g++.1 b/examples/PACKAGES/cgdna/examples/oxDNA/duplex2/log.2Jul21.duplex2.g++.1 new file mode 100644 index 0000000000..d34e7a16b7 --- /dev/null +++ b/examples/PACKAGES/cgdna/examples/oxDNA/duplex2/log.2Jul21.duplex2.g++.1 @@ -0,0 +1,1173 @@ +LAMMPS (2 Jul 2021) +variable number equal 2 +variable ofreq equal 1000 +variable efreq equal 1000 +variable T equal 0.1 + +units lj + +dimension 3 + +newton on + +boundary p p p + +atom_style hybrid bond ellipsoid oxdna +WARNING: Atom style hybrid defines both, per-type and per-atom masses; both must be set, but only per-atom masses will be used (../atom_vec_hybrid.cpp:157) +atom_modify sort 0 1.0 + +# Pair interactions require lists of neighbours to be calculated +neighbor 2.0 bin +neigh_modify every 1 delay 0 check yes + +read_data data.duplex2 +Reading data file ... + orthogonal box = (-20.000000 -20.000000 -20.000000) to (20.000000 20.000000 20.000000) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 16 atoms + reading velocities ... + 16 velocities + scanning bonds ... + 1 = max bonds/atom + 16 ellipsoids + reading bonds ... + 13 bonds +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 + 2 = max # of 1-3 neighbors + 4 = max # of 1-4 neighbors + 6 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.003 seconds + +set atom * mass 3.1575 +Setting atom values ... + 16 settings made for mass + +group all type 1 4 +16 atoms in group all + +# oxDNA bond interactions - FENE backbone +bond_style oxdna/fene +bond_coeff * 2.0 0.25 0.7525 +special_bonds lj 0 1 1 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 1 1 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 2 = max # of 1-3 neighbors + 4 = max # of 1-4 neighbors + 6 = max # of special neighbors + special bonds CPU = 0.000 seconds + +# oxDNA pair interactions +pair_style hybrid/overlay oxdna/excv oxdna/stk oxdna/hbond oxdna/xstk oxdna/coaxstk +pair_coeff * * oxdna/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32 +pair_coeff * * oxdna/stk seqav ${T} 1.3448 2.6568 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 +pair_coeff * * oxdna/stk seqav 0.1 1.3448 2.6568 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 +pair_coeff * * oxdna/hbond seqav 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 1 4 oxdna/hbond seqav 1.077 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 2 3 oxdna/hbond seqav 1.077 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff * * oxdna/xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68 +pair_coeff * * oxdna/coaxstk 46.0 0.4 0.6 0.22 0.58 2.0 2.541592653589793 0.65 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 -0.65 2.0 -0.65 + +# NVE ensemble +fix 1 all nve/asphere +fix 2 all langevin ${T} ${T} 2.5 457145 angmom 10 +fix 2 all langevin 0.1 ${T} 2.5 457145 angmom 10 +fix 2 all langevin 0.1 0.1 2.5 457145 angmom 10 + +timestep 1e-5 + +#comm_style tiled +fix 3 all balance 1000 1.03 shift xyz 10 1.03 +comm_modify cutoff 3.8 + +compute quat all property/atom quatw quati quatj quatk + +compute erot all erotate/asphere +compute ekin all ke +compute epot all pe +variable erot equal c_erot +variable ekin equal c_ekin +variable epot equal c_epot +variable etot equal c_erot+c_ekin+c_epot +fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes +fix 5 all print 1000 "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes + +dump out all custom ${ofreq} out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump out all custom 1000 out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump out all custom 1000 out.2.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump_modify out sort id +dump_modify out format line "%d %d %d %22.15le %22.15le %22.15le %d %d %d %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le" + +run 1000000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.9560004 + ghost atom cutoff = 3.8 + binsize = 1.4780002, bins = 28 28 28 + 4 neighbor lists, perpetual/occasional/extra = 4 0 0 + (1) pair oxdna/excv, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard + (2) pair oxdna/hbond, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none + (3) pair oxdna/xstk, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none + (4) pair oxdna/coaxstk, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none +0 ekin = 2.70475393009871 | erot = 2.80172072918779 | epot = -21.9967648054699 | etot = -16.4902901461834 +Per MPI rank memory allocation (min/avg/max) = 9.076 | 9.076 | 9.076 Mbytes +Step Temp E_pair E_mol TotEng Press Volume + 0 0.12021129 -1.3914531 0.016655298 -1.2057507 5.174549e-05 64000 +1000 ekin = 2.68462004451395 | erot = 2.58605420555131 | epot = -21.8105393794712 | etot = -16.5398651294059 +2000 ekin = 2.60963739095655 | erot = 2.48175619043154 | epot = -21.6459705488588 | etot = -16.5545769674707 +3000 ekin = 2.63989588847182 | erot = 2.46363051573262 | epot = -21.5254922679992 | etot = -16.4219658637948 +4000 ekin = 2.5752038952926 | erot = 2.37178501784054 | epot = -21.4327542438291 | etot = -16.485765330696 +5000 ekin = 2.5044104280733 | erot = 2.08769632851087 | epot = -21.3521450303024 | etot = -16.7600382737182 +6000 ekin = 2.36107642071569 | erot = 2.35003179412404 | epot = -21.2782010260872 | etot = -16.5670928112475 +7000 ekin = 2.37495351372023 | erot = 2.16846238087391 | epot = -21.2534688435259 | etot = -16.7100529489318 +8000 ekin = 2.42775724176586 | erot = 2.14686490397955 | epot = -21.2553298683528 | etot = -16.6807077226074 +9000 ekin = 2.3142246486707 | erot = 1.86378622524029 | epot = -21.2852707364932 | etot = -17.1072598625822 +10000 ekin = 2.3275093348898 | erot = 1.94087852055647 | epot = -21.3429178830636 | etot = -17.0745300276174 +11000 ekin = 2.23983345215335 | erot = 2.16573111806154 | epot = -21.4294123399218 | etot = -17.0238477697069 +12000 ekin = 2.24948652666019 | erot = 2.32563449403283 | epot = -21.5368720528798 | etot = -16.9617510321868 +13000 ekin = 2.31412690264891 | erot = 2.54687184991592 | epot = -21.6246755313501 | etot = -16.7636767787852 +14000 ekin = 2.30456735091103 | erot = 2.82813231901187 | epot = -21.6854822284277 | etot = -16.5527825585048 +15000 ekin = 2.41196948877886 | erot = 2.60315540839479 | epot = -21.7080540027113 | etot = -16.6929291055377 +16000 ekin = 2.32930626459587 | erot = 2.77308393739999 | epot = -21.6887196306943 | etot = -16.5863294286984 +17000 ekin = 2.39617472660395 | erot = 3.03091034756247 | epot = -21.6395184677657 | etot = -16.2124333935992 +18000 ekin = 2.33279500895535 | erot = 3.1434171004899 | epot = -21.574127817026 | etot = -16.0979157075807 +19000 ekin = 2.42845349180333 | erot = 2.98452732659568 | epot = -21.4895578941598 | etot = -16.0765770757608 +20000 ekin = 2.58234763441792 | erot = 3.3325207031799 | epot = -21.3975543217035 | etot = -15.4826859841057 +21000 ekin = 2.64494557638589 | erot = 3.32881968524114 | epot = -21.3229796202748 | etot = -15.3492143586477 +22000 ekin = 2.65030022474653 | erot = 3.26762562263424 | epot = -21.2713919939757 | etot = -15.353466146595 +23000 ekin = 2.74232842321971 | erot = 2.85782586045784 | epot = -21.2433172110302 | etot = -15.6431629273527 +24000 ekin = 2.70913362671027 | erot = 2.56145704641761 | epot = -21.2492397215427 | etot = -15.9786490484148 +25000 ekin = 2.71785549515023 | erot = 2.45020590769015 | epot = -21.2696953560916 | etot = -16.1016339532512 +26000 ekin = 2.80969274934567 | erot = 2.57761600133553 | epot = -21.3121170333525 | etot = -15.9248082826713 +27000 ekin = 2.90228693281852 | erot = 2.52543294446064 | epot = -21.3618959826308 | etot = -15.9341761053517 +28000 ekin = 2.80577992946706 | erot = 2.42942187536898 | epot = -21.4238267965375 | etot = -16.1886249917015 +29000 ekin = 2.84024245066251 | erot = 2.37728970052668 | epot = -21.5220045306242 | etot = -16.304472379435 +30000 ekin = 2.91820846152587 | erot = 2.52858255324276 | epot = -21.6452589795617 | etot = -16.1984679647931 +31000 ekin = 3.01591597087959 | erot = 2.66934437756135 | epot = -21.7837708816785 | etot = -16.0985105332375 +32000 ekin = 3.18554066714549 | erot = 2.70126504453979 | epot = -21.9266237283442 | etot = -16.0398180166589 +33000 ekin = 3.45591097869953 | erot = 3.05486835802111 | epot = -22.0467287622724 | etot = -15.5359494255518 +34000 ekin = 3.47254829729213 | erot = 3.41663527351808 | epot = -22.1468381626759 | etot = -15.2576545918657 +35000 ekin = 3.45946416092998 | erot = 3.21776014393844 | epot = -22.2021645741413 | etot = -15.5249402692728 +36000 ekin = 3.38072119723002 | erot = 2.98891843833273 | epot = -22.2024978629579 | etot = -15.8328582273952 +37000 ekin = 3.29783742910393 | erot = 2.73521555931898 | epot = -22.1657123704833 | etot = -16.1326593820604 +38000 ekin = 3.33959958296015 | erot = 2.61778320328389 | epot = -22.1041970676607 | etot = -16.1468142814167 +39000 ekin = 3.23639805960116 | erot = 2.5837352210672 | epot = -22.009642154348 | etot = -16.1895088736797 +40000 ekin = 3.11586138662867 | erot = 2.1962482086394 | epot = -21.8962581958555 | etot = -16.5841486005874 +41000 ekin = 3.04246623801455 | erot = 2.23321889509941 | epot = -21.8077873635659 | etot = -16.5321022304519 +42000 ekin = 2.84983279602745 | erot = 2.80264211079691 | epot = -21.7482556058168 | etot = -16.0957806989925 +43000 ekin = 2.79124232412404 | erot = 2.40517464805213 | epot = -21.7040912326958 | etot = -16.5076742605196 +44000 ekin = 2.66237577064427 | erot = 2.48075679823098 | epot = -21.6865985692201 | etot = -16.5434660003448 +45000 ekin = 2.579411834329 | erot = 2.5121056113297 | epot = -21.7100580821223 | etot = -16.6185406364636 +46000 ekin = 2.73276177831298 | erot = 2.72002755015629 | epot = -21.7400457171798 | etot = -16.2872563887106 +47000 ekin = 2.64234876254597 | erot = 2.59091566156281 | epot = -21.7975985084292 | etot = -16.5643340843204 +48000 ekin = 2.59173469012523 | erot = 2.43590670780649 | epot = -21.8709604205578 | etot = -16.8433190226261 +49000 ekin = 2.72309795319077 | erot = 2.23156431391332 | epot = -21.9468429014909 | etot = -16.9921806343868 +50000 ekin = 2.84714836170722 | erot = 1.99663528516202 | epot = -22.0121784873832 | etot = -17.168394840514 +51000 ekin = 2.89884791688876 | erot = 1.91491454776672 | epot = -22.0530950349948 | etot = -17.2393325703393 +52000 ekin = 3.03617525579662 | erot = 2.19848391536797 | epot = -22.0866976985223 | etot = -16.8520385273577 +53000 ekin = 2.99175374915047 | erot = 2.39711100098153 | epot = -22.1010575333115 | etot = -16.7121927831795 +54000 ekin = 2.99574935861407 | erot = 2.32745187661854 | epot = -22.1028140124058 | etot = -16.7796127771732 +55000 ekin = 2.99570982560695 | erot = 2.49897185698994 | epot = -22.1057238568571 | etot = -16.6110421742602 +56000 ekin = 2.94925439949793 | erot = 2.44012089769549 | epot = -22.0870769441158 | etot = -16.6977016469224 +57000 ekin = 2.94734500065243 | erot = 2.12984920172195 | epot = -22.0412734212002 | etot = -16.9640792188258 +58000 ekin = 2.81955133884049 | erot = 2.13458872869615 | epot = -21.9788636009449 | etot = -17.0247235334082 +59000 ekin = 2.70811531854742 | erot = 2.38980716247399 | epot = -21.8949081752974 | etot = -16.796985694276 +60000 ekin = 2.70414157935554 | erot = 2.55940091198388 | epot = -21.7861093627117 | etot = -16.5225668713722 +61000 ekin = 2.65859389245701 | erot = 2.53396073555874 | epot = -21.6569039895119 | etot = -16.4643493614962 +62000 ekin = 2.60219558362534 | erot = 2.22515394919036 | epot = -21.5116333689023 | etot = -16.6842838360866 +63000 ekin = 2.63153399947693 | erot = 2.22422110021199 | epot = -21.3652621775791 | etot = -16.5095070778902 +64000 ekin = 2.74532788694554 | erot = 2.18523109551402 | epot = -21.2714335683309 | etot = -16.3408745858713 +65000 ekin = 2.7205493838435 | erot = 2.07343889460204 | epot = -21.2024805852124 | etot = -16.4084923067669 +66000 ekin = 2.58244112846423 | erot = 2.07735193876553 | epot = -21.1764160570954 | etot = -16.5166229898656 +67000 ekin = 2.57755413160872 | erot = 2.44046690225443 | epot = -21.1906023260749 | etot = -16.1725812922118 +68000 ekin = 2.48736395314823 | erot = 2.12758461162304 | epot = -21.2185147422317 | etot = -16.6035661774605 +69000 ekin = 2.41843849956023 | erot = 2.18515112080921 | epot = -21.2498143720114 | etot = -16.6462247516419 +70000 ekin = 2.42405639999479 | erot = 1.9565032993001 | epot = -21.2748182794301 | etot = -16.8942585801352 +71000 ekin = 2.43121308276013 | erot = 1.85632548443178 | epot = -21.3045707498284 | etot = -17.0170321826365 +72000 ekin = 2.5000870368839 | erot = 1.5991945591491 | epot = -21.3493737552796 | etot = -17.2500921592466 +73000 ekin = 2.68616751062557 | erot = 1.88927937064781 | epot = -21.3998788656788 | etot = -16.8244319844054 +74000 ekin = 2.72642650296669 | erot = 1.98526997108517 | epot = -21.439395334657 | etot = -16.7276988606051 +75000 ekin = 2.82872762184213 | erot = 2.08391491924428 | epot = -21.4749344303949 | etot = -16.5622918893085 +76000 ekin = 2.90099143523699 | erot = 2.16095088121795 | epot = -21.4935371507519 | etot = -16.431594834297 +77000 ekin = 3.18544250151153 | erot = 2.00037055601337 | epot = -21.4789486218771 | etot = -16.2931355643522 +78000 ekin = 3.25276485916348 | erot = 2.04037410610699 | epot = -21.4312552501158 | etot = -16.1381162848453 +79000 ekin = 3.31064968204676 | erot = 2.17606310098547 | epot = -21.3489462542885 | etot = -15.8622334712563 +80000 ekin = 3.25017314792773 | erot = 1.78411830235593 | epot = -21.2684346239656 | etot = -16.2341431736819 +81000 ekin = 3.28475664530889 | erot = 1.6269439305135 | epot = -21.2092459483417 | etot = -16.2975453725193 +82000 ekin = 3.22905109952644 | erot = 1.53744252292452 | epot = -21.2050298148135 | etot = -16.4385361923625 +83000 ekin = 3.23231520762086 | erot = 1.77352705563456 | epot = -21.2433468675556 | etot = -16.2375046043002 +84000 ekin = 3.26867693921993 | erot = 1.72038623835529 | epot = -21.2969079823479 | etot = -16.3078448047727 +85000 ekin = 3.24886887492843 | erot = 1.71422228707811 | epot = -21.348730473811 | etot = -16.3856393118045 +86000 ekin = 3.37388966908809 | erot = 2.05166004106914 | epot = -21.4140353196308 | etot = -15.9884856094735 +87000 ekin = 3.32398602808495 | erot = 2.11391553019111 | epot = -21.5044251629371 | etot = -16.0665236046611 +88000 ekin = 3.37321522230425 | erot = 1.88481910803278 | epot = -21.6374519675635 | etot = -16.3794176372264 +89000 ekin = 3.40287848450242 | erot = 1.74012560118449 | epot = -21.7814074383677 | etot = -16.6384033526808 +90000 ekin = 3.56172892861223 | erot = 2.10522136125784 | epot = -21.9615291243628 | etot = -16.2945788344928 +91000 ekin = 3.55669957238093 | erot = 2.42086123522057 | epot = -22.1511779304614 | etot = -16.1736171228599 +92000 ekin = 3.6423779131713 | erot = 2.65970416317374 | epot = -22.3488733671942 | etot = -16.0467912908492 +93000 ekin = 3.71183685172061 | erot = 2.62133287897562 | epot = -22.5092709223126 | etot = -16.1761011916163 +94000 ekin = 3.68157545521779 | erot = 2.4553153988724 | epot = -22.6307602436275 | etot = -16.4938693895373 +95000 ekin = 3.60128502265547 | erot = 2.60141757186749 | epot = -22.7389627643834 | etot = -16.5362601698605 +96000 ekin = 3.53126429160544 | erot = 2.72315885473469 | epot = -22.817764620346 | etot = -16.5633414740059 +97000 ekin = 3.4733587719158 | erot = 2.74980204474205 | epot = -22.8599102318749 | etot = -16.636749415217 +98000 ekin = 3.36569576671696 | erot = 2.64094316029087 | epot = -22.8536591989748 | etot = -16.8470202719669 +99000 ekin = 3.17486973109315 | erot = 2.83643491109138 | epot = -22.8212456182643 | etot = -16.8099409760798 +100000 ekin = 2.98877854809326 | erot = 2.8502739133799 | epot = -22.7838710680404 | etot = -16.9448186065672 +101000 ekin = 2.80581049577973 | erot = 2.78036845929874 | epot = -22.7080420278473 | etot = -17.1218630727688 +102000 ekin = 2.61146211544526 | erot = 3.14391622209059 | epot = -22.5804486115114 | etot = -16.8250702739755 +103000 ekin = 2.52473332619733 | erot = 3.13557205223546 | epot = -22.4165363785398 | etot = -16.756231000107 +104000 ekin = 2.38813618870064 | erot = 2.81177058896972 | epot = -22.253348909294 | etot = -17.0534421316236 +105000 ekin = 2.27037902349684 | erot = 2.38822666643154 | epot = -22.0942448767486 | etot = -17.4356391868202 +106000 ekin = 2.14052224393176 | erot = 2.10858697946665 | epot = -21.9851740201843 | etot = -17.7360647967859 +107000 ekin = 2.0606875579471 | erot = 2.32025367575515 | epot = -21.9181411680675 | etot = -17.5371999343652 +108000 ekin = 2.16310171427444 | erot = 2.45914268610289 | epot = -21.8972466640829 | etot = -17.2750022637055 +109000 ekin = 2.16408281408934 | erot = 2.39028083194269 | epot = -21.9223151975609 | etot = -17.3679515515289 +110000 ekin = 2.27703874503429 | erot = 2.02252280342046 | epot = -21.9984748890034 | etot = -17.6989133405487 +111000 ekin = 2.42168812145148 | erot = 2.08603766327776 | epot = -22.1196725497682 | etot = -17.6119467650389 +112000 ekin = 2.55041354840496 | erot = 2.05316660200933 | epot = -22.2467875616205 | etot = -17.6432074112062 +113000 ekin = 2.65118330223835 | erot = 1.84663307233114 | epot = -22.3714662854257 | etot = -17.8736499108562 +114000 ekin = 2.75066239210875 | erot = 2.06979110412731 | epot = -22.4757786127357 | etot = -17.6553251164996 +115000 ekin = 2.74969592573214 | erot = 2.20672640542628 | epot = -22.5825353241201 | etot = -17.6261129929616 +116000 ekin = 2.83312076133629 | erot = 2.23062165851058 | epot = -22.6813212117304 | etot = -17.6175787918835 +117000 ekin = 2.88175954095811 | erot = 2.38703791420887 | epot = -22.7694466083741 | etot = -17.5006491532071 +118000 ekin = 2.93568625662289 | erot = 2.26039492756773 | epot = -22.8432426400157 | etot = -17.6471614558251 +119000 ekin = 3.19523724062632 | erot = 2.22567760232918 | epot = -22.8880366342743 | etot = -17.4671217913188 +120000 ekin = 3.17008032268755 | erot = 2.25532705796806 | epot = -22.9065026704633 | etot = -17.4810952898077 +121000 ekin = 3.22925408627794 | erot = 2.42139198931066 | epot = -22.9068338710661 | etot = -17.2561877954775 +122000 ekin = 3.16756628646271 | erot = 2.29253955659868 | epot = -22.9100933328212 | etot = -17.4499874897599 +123000 ekin = 3.1388698885873 | erot = 1.87373916792771 | epot = -22.9201354096178 | etot = -17.9075263531028 +124000 ekin = 3.07340133048028 | erot = 2.07486210586024 | epot = -22.9196688561523 | etot = -17.7714054198118 +125000 ekin = 3.01797638857702 | erot = 1.75538270899542 | epot = -22.9139839700497 | etot = -18.1406248724773 +126000 ekin = 2.96636842974594 | erot = 1.89046865067191 | epot = -22.9078794876243 | etot = -18.0510424072065 +127000 ekin = 2.99891017927356 | erot = 1.92488638621193 | epot = -22.8780661376737 | etot = -17.9542695721882 +128000 ekin = 3.07056715413786 | erot = 1.99149347655671 | epot = -22.8571726497157 | etot = -17.7951120190211 +129000 ekin = 3.004345959888 | erot = 1.94814247853281 | epot = -22.8246013230693 | etot = -17.8721128846485 +130000 ekin = 2.83701493144516 | erot = 2.50342892051144 | epot = -22.760915431814 | etot = -17.4204715798574 +131000 ekin = 2.72472484234373 | erot = 2.70734329989557 | epot = -22.6636087699673 | etot = -17.231540627728 +132000 ekin = 2.62389553593816 | erot = 2.52695276027318 | epot = -22.5087045821917 | etot = -17.3578562859804 +133000 ekin = 2.63528199515899 | erot = 2.39127524409793 | epot = -22.2966493236603 | etot = -17.2700920844034 +134000 ekin = 2.50610716876237 | erot = 2.09594811418198 | epot = -22.0718067043304 | etot = -17.469751421386 +135000 ekin = 2.48472772183193 | erot = 2.14881599404776 | epot = -21.8608678335616 | etot = -17.2273241176819 +136000 ekin = 2.53382275845191 | erot = 1.74309578227989 | epot = -21.6765558191783 | etot = -17.3996372784465 +137000 ekin = 2.57036342314515 | erot = 1.7588568598538 | epot = -21.5407454007373 | etot = -17.2115251177384 +138000 ekin = 2.52929445682248 | erot = 1.9194597735102 | epot = -21.4409011955174 | etot = -16.9921469651847 +139000 ekin = 2.57663737105062 | erot = 1.80679457632207 | epot = -21.3860974283602 | etot = -17.0026654809875 +140000 ekin = 2.62053160118783 | erot = 1.51774101989576 | epot = -21.3676503668329 | etot = -17.2293777457493 +141000 ekin = 2.6118920049466 | erot = 1.5506551574555 | epot = -21.3802632860277 | etot = -17.2177161236256 +142000 ekin = 2.51798883678619 | erot = 1.67942283127776 | epot = -21.4214580445684 | etot = -17.2240463765044 +143000 ekin = 2.49892771964518 | erot = 1.52127122899831 | epot = -21.4923083558109 | etot = -17.4721094071674 +144000 ekin = 2.54740250437642 | erot = 1.82241986650803 | epot = -21.6130145049208 | etot = -17.2431921340363 +145000 ekin = 2.56862853368623 | erot = 2.14471322493978 | epot = -21.7452461002774 | etot = -17.0319043416514 +146000 ekin = 2.67329509039847 | erot = 2.25975512947148 | epot = -21.8437012603417 | etot = -16.9106510404717 +147000 ekin = 2.68893868818078 | erot = 2.55718401446969 | epot = -21.9010658016926 | etot = -16.6549430990422 +148000 ekin = 2.81386130771021 | erot = 2.5983058482173 | epot = -21.9210519662198 | etot = -16.5088848102923 +149000 ekin = 2.74990137245699 | erot = 2.32741538507081 | epot = -21.9278539711832 | etot = -16.8505372136554 +150000 ekin = 2.69038170783773 | erot = 2.42676335467449 | epot = -21.8989948167631 | etot = -16.7818497542509 +151000 ekin = 2.66678982895832 | erot = 2.39492028203076 | epot = -21.7008835367967 | etot = -16.6391734258076 +152000 ekin = 2.67029595868374 | erot = 2.53847066662008 | epot = -21.5894578659902 | etot = -16.3806912406864 +153000 ekin = 2.70694158654279 | erot = 2.72265775556547 | epot = -21.7448041240557 | etot = -16.3152047819475 +154000 ekin = 2.79926075391893 | erot = 2.75974679901157 | epot = -21.8203547485971 | etot = -16.2613471956666 +155000 ekin = 2.72511299719383 | erot = 2.88818303221421 | epot = -21.7319777070931 | etot = -16.118681677685 +156000 ekin = 2.65694010664888 | erot = 2.78004189782702 | epot = -21.6308520721295 | etot = -16.1938700676536 +157000 ekin = 2.56365508198589 | erot = 2.71035147954075 | epot = -21.5253087387148 | etot = -16.2513021771881 +158000 ekin = 2.57548107386937 | erot = 2.73764982143024 | epot = -21.438245204372 | etot = -16.1251143090724 +159000 ekin = 2.55799392432019 | erot = 2.92697271834242 | epot = -21.3737314732349 | etot = -15.8887648305723 +160000 ekin = 2.5467948620766 | erot = 2.80531497281545 | epot = -21.3130996693779 | etot = -15.9609898344858 +161000 ekin = 2.47207886924359 | erot = 2.90722613339808 | epot = -21.2672221196596 | etot = -15.8879171170179 +162000 ekin = 2.51623650472988 | erot = 2.57045306394746 | epot = -21.2288584749413 | etot = -16.1421689062639 +163000 ekin = 2.52126404883992 | erot = 2.48352069988724 | epot = -21.2217116449121 | etot = -16.2169268961849 +164000 ekin = 2.53114565385924 | erot = 2.34165200793299 | epot = -21.2429890011705 | etot = -16.3701913393782 +165000 ekin = 2.59660343236104 | erot = 2.12645014227906 | epot = -21.2869963722376 | etot = -16.5639427975975 +166000 ekin = 2.69364521809343 | erot = 2.06502693559814 | epot = -21.3443825816708 | etot = -16.5857104279792 +167000 ekin = 2.72157576348886 | erot = 2.11628142912493 | epot = -21.4170430149546 | etot = -16.5791858223408 +168000 ekin = 2.74006852516302 | erot = 2.16126360687329 | epot = -21.509919793566 | etot = -16.6085876615297 +169000 ekin = 2.84315657816746 | erot = 1.97243923170443 | epot = -21.59492652498 | etot = -16.7793307151081 +170000 ekin = 3.06124015523339 | erot = 1.92459124184589 | epot = -21.6783552680507 | etot = -16.6925238709714 +171000 ekin = 3.21151355702374 | erot = 1.59351420769781 | epot = -21.7622259493219 | etot = -16.9571981846004 +172000 ekin = 3.3654441272643 | erot = 1.67007198308062 | epot = -21.8306762430334 | etot = -16.7951601326884 +173000 ekin = 3.41001134336526 | erot = 1.87953941868167 | epot = -21.8787020007149 | etot = -16.5891512386679 +174000 ekin = 3.46376447230266 | erot = 1.96688973070297 | epot = -21.9078990210444 | etot = -16.4772448180388 +175000 ekin = 3.47678931181566 | erot = 1.55890709488258 | epot = -21.8850180737497 | etot = -16.8493216670515 +176000 ekin = 3.20686196070563 | erot = 1.54933373538606 | epot = -21.833097887743 | etot = -17.0769021916513 +177000 ekin = 3.13331042952683 | erot = 1.28865733070242 | epot = -21.7390998162159 | etot = -17.3171320559867 +178000 ekin = 3.06763392821185 | erot = 1.26897291328759 | epot = -21.6342141405497 | etot = -17.2976072990502 +179000 ekin = 3.02674753152243 | erot = 1.57409428962025 | epot = -21.5270591512612 | etot = -16.9262173301185 +180000 ekin = 3.03569853606404 | erot = 1.67758058394333 | epot = -21.4169893849025 | etot = -16.7037102648951 +181000 ekin = 2.85389178964194 | erot = 1.75333728320479 | epot = -21.3395105909861 | etot = -16.7322815181393 +182000 ekin = 2.74244371300251 | erot = 1.80493411676471 | epot = -21.2869584133412 | etot = -16.739580583574 +183000 ekin = 2.76150374616104 | erot = 1.81761006388012 | epot = -21.2282765342437 | etot = -16.6491627242026 +184000 ekin = 2.6920627409771 | erot = 1.86375380676953 | epot = -21.1764923592868 | etot = -16.6206758115401 +185000 ekin = 2.62052583157023 | erot = 2.07457833425488 | epot = -21.1511718680907 | etot = -16.4560677022656 +186000 ekin = 2.54874716739381 | erot = 2.15191323422238 | epot = -21.1297031986501 | etot = -16.4290427970339 +187000 ekin = 2.47899352285441 | erot = 2.12131864753492 | epot = -21.1527973741678 | etot = -16.5524852037784 +188000 ekin = 2.40242843893261 | erot = 2.28274972847711 | epot = -21.2023943736365 | etot = -16.5172162062268 +189000 ekin = 2.24542511336515 | erot = 2.32237220121109 | epot = -21.2650187542767 | etot = -16.6972214397005 +190000 ekin = 2.27331885209499 | erot = 2.46101053776368 | epot = -21.3641240186243 | etot = -16.6297946287656 +191000 ekin = 2.38811474192599 | erot = 2.65597612519358 | epot = -21.4523608275388 | etot = -16.4082699604192 +192000 ekin = 2.3549239595916 | erot = 3.12866296082007 | epot = -21.5455989503755 | etot = -16.0620120299638 +193000 ekin = 2.33255266209791 | erot = 3.16650140028564 | epot = -21.6305745065442 | etot = -16.1315204441607 +194000 ekin = 2.36641654499892 | erot = 3.75512105430474 | epot = -21.7057940648227 | etot = -15.584256465519 +195000 ekin = 2.27714091943438 | erot = 4.22857583198259 | epot = -21.7506289706187 | etot = -15.2449122192017 +196000 ekin = 2.25022759887657 | erot = 4.197210474691 | epot = -21.7392596229739 | etot = -15.2918215494064 +197000 ekin = 2.13566163028458 | erot = 3.96282097735918 | epot = -21.6861725112142 | etot = -15.5876899035705 +198000 ekin = 2.10026477174317 | erot = 3.46946292854126 | epot = -21.6151658929783 | etot = -16.0454381926939 +199000 ekin = 2.06841069526386 | erot = 3.0262194981423 | epot = -21.5580043865079 | etot = -16.4633741931017 +200000 ekin = 2.07457887577972 | erot = 3.15632875079837 | epot = -21.5271681184488 | etot = -16.2962604918707 +201000 ekin = 2.2286516977074 | erot = 2.68086789208479 | epot = -21.5402772694358 | etot = -16.6307576796436 +202000 ekin = 2.21344680386073 | erot = 2.70841026008594 | epot = -21.5670967607415 | etot = -16.6452396967948 +203000 ekin = 2.29378527554839 | erot = 2.48093430470292 | epot = -21.5962341727993 | etot = -16.821514592548 +204000 ekin = 2.25828607560497 | erot = 2.50063815518557 | epot = -21.6380337966634 | etot = -16.8791095658729 +205000 ekin = 2.39913678175089 | erot = 2.62281981805078 | epot = -21.683813369519 | etot = -16.6618567697173 +206000 ekin = 2.51393947992592 | erot = 2.55239552126193 | epot = -21.7215385309814 | etot = -16.6552035297935 +207000 ekin = 2.55579745831532 | erot = 2.31728514006588 | epot = -21.7786985680233 | etot = -16.9056159696421 +208000 ekin = 2.61391306966581 | erot = 2.1077783534523 | epot = -21.7882764620355 | etot = -17.0665850389174 +209000 ekin = 2.67160585819063 | erot = 2.09388960655155 | epot = -21.8382664978831 | etot = -17.0727710331409 +210000 ekin = 2.82942438299545 | erot = 2.1332798417475 | epot = -21.9979383135581 | etot = -17.0352340888151 +211000 ekin = 2.92049266864331 | erot = 2.12124523148435 | epot = -22.2280513777041 | etot = -17.1863134775764 +212000 ekin = 3.00277061822753 | erot = 2.39488452737936 | epot = -22.4022759841392 | etot = -17.0046208385323 +213000 ekin = 3.13095859457287 | erot = 2.47163847125446 | epot = -22.5628987907077 | etot = -16.9603017248804 +214000 ekin = 3.23740343206459 | erot = 2.34793353448049 | epot = -22.7059476770017 | etot = -17.1206107104567 +215000 ekin = 3.25450904082689 | erot = 2.26222657254672 | epot = -22.8087885080488 | etot = -17.2920528946752 +216000 ekin = 3.33545375500922 | erot = 2.25051135075644 | epot = -22.8910607863362 | etot = -17.3050956805706 +217000 ekin = 3.40631462781493 | erot = 2.45810884416291 | epot = -22.9502612260087 | etot = -17.0858377540309 +218000 ekin = 3.44211621843067 | erot = 2.40223178526927 | epot = -22.9724005123081 | etot = -17.1280525086081 +219000 ekin = 3.35851747520076 | erot = 2.3622312326842 | epot = -22.9879332629404 | etot = -17.2671845550554 +220000 ekin = 3.28339440391154 | erot = 2.48348910158814 | epot = -22.986593738954 | etot = -17.2197102334543 +221000 ekin = 3.198245625619 | erot = 2.63802923468672 | epot = -22.9470020981348 | etot = -17.110727237829 +222000 ekin = 3.05410812074651 | erot = 2.59372727399077 | epot = -22.8798801579579 | etot = -17.2320447632207 +223000 ekin = 3.01415969068794 | erot = 2.70890225393109 | epot = -22.7801464118766 | etot = -17.0570844672575 +224000 ekin = 2.97180261675447 | erot = 2.69506479286081 | epot = -22.6737182851748 | etot = -17.0068508755595 +225000 ekin = 2.90964642881875 | erot = 2.70979121573934 | epot = -22.612285165109 | etot = -16.9928475205509 +226000 ekin = 2.79266706207819 | erot = 2.54927288052965 | epot = -22.6113896624579 | etot = -17.2694497198501 +227000 ekin = 2.76947170660886 | erot = 2.30328015123561 | epot = -22.6467409582567 | etot = -17.5739891004122 +228000 ekin = 2.7832504737585 | erot = 2.27271216177594 | epot = -22.7198790647035 | etot = -17.6639164291691 +229000 ekin = 2.76112130647936 | erot = 2.39217451148943 | epot = -22.800187069951 | etot = -17.6468912519822 +230000 ekin = 2.84369730914533 | erot = 2.42541769291403 | epot = -22.8608578528069 | etot = -17.5917428507475 +231000 ekin = 2.92519379372223 | erot = 2.78019508855845 | epot = -22.8903712559506 | etot = -17.1849823736699 +232000 ekin = 2.92995659411171 | erot = 2.33228808377081 | epot = -22.8760374316386 | etot = -17.6137927537561 +233000 ekin = 2.87287398890689 | erot = 2.17970441616606 | epot = -22.8206945159734 | etot = -17.7681161109005 +234000 ekin = 2.91717500618601 | erot = 2.07964949395221 | epot = -22.7337466562912 | etot = -17.7369221561529 +235000 ekin = 2.88849956347635 | erot = 1.87559177144718 | epot = -22.6649585599089 | etot = -17.9008672249854 +236000 ekin = 2.84502452090031 | erot = 1.92993964719777 | epot = -22.5730839299947 | etot = -17.7981197618967 +237000 ekin = 2.77478670759652 | erot = 2.00862555824023 | epot = -22.4470131017475 | etot = -17.6636008359107 +238000 ekin = 2.77623252972575 | erot = 1.85781358406499 | epot = -22.3442251833764 | etot = -17.7101790695857 +239000 ekin = 2.72624274520992 | erot = 1.82537539862901 | epot = -22.3075370346697 | etot = -17.7559188908307 +240000 ekin = 2.68874575599075 | erot = 2.08791431147569 | epot = -22.3178202354352 | etot = -17.5411601679687 +241000 ekin = 2.71558535720495 | erot = 2.36223789024911 | epot = -22.3776608268974 | etot = -17.2998375794433 +242000 ekin = 2.74214545076415 | erot = 2.69467452470383 | epot = -22.4730205135828 | etot = -17.0362005381148 +243000 ekin = 2.65488365755478 | erot = 3.08626659584903 | epot = -22.605422439735 | etot = -16.8642721863312 +244000 ekin = 2.61050010484592 | erot = 3.05400040440767 | epot = -22.762213943954 | etot = -17.0977134347004 +245000 ekin = 2.51883913658102 | erot = 3.07372030776082 | epot = -22.93079044948 | etot = -17.3382310051381 +246000 ekin = 2.44808144989848 | erot = 2.89693270460537 | epot = -23.0903087154633 | etot = -17.7452945609595 +247000 ekin = 2.37103549600031 | erot = 2.98987101470683 | epot = -23.216715536478 | etot = -17.8558090257709 +248000 ekin = 2.35707290060468 | erot = 2.62430509692226 | epot = -23.3107153472031 | etot = -18.3293373496762 +249000 ekin = 2.34573908311314 | erot = 2.54079763553298 | epot = -23.3554639865934 | etot = -18.4689272679472 +250000 ekin = 2.19516079867438 | erot = 2.53320956727959 | epot = -23.3422435052509 | etot = -18.6138731392969 +251000 ekin = 2.2015799284815 | erot = 2.54497162272742 | epot = -23.289551982172 | etot = -18.5430004309631 +252000 ekin = 2.29455365978426 | erot = 2.27849916282306 | epot = -23.2346327540813 | etot = -18.661579931474 +253000 ekin = 2.24131781303676 | erot = 2.67744517517057 | epot = -23.177227339145 | etot = -18.2584643509377 +254000 ekin = 2.21098192296324 | erot = 2.82095770992414 | epot = -23.1168686504971 | etot = -18.0849290176097 +255000 ekin = 2.19143060711986 | erot = 2.87369415644557 | epot = -23.0553324396615 | etot = -17.990207676096 +256000 ekin = 2.10428673283309 | erot = 2.52844816611576 | epot = -22.9892098264869 | etot = -18.356474927538 +257000 ekin = 2.09018787690756 | erot = 2.57115406533208 | epot = -22.9241936332315 | etot = -18.2628516909919 +258000 ekin = 2.19626617792803 | erot = 2.13919571497513 | epot = -22.8452199017342 | etot = -18.509758008831 +259000 ekin = 2.21294203759043 | erot = 2.07911733890816 | epot = -22.7764097043272 | etot = -18.4843503278286 +260000 ekin = 2.2298812463553 | erot = 1.88363114769134 | epot = -22.7226746972068 | etot = -18.6091623031601 +261000 ekin = 2.23359219993351 | erot = 1.70662190809948 | epot = -22.686593359404 | etot = -18.746379251371 +262000 ekin = 2.41035894748682 | erot = 1.75350704630808 | epot = -22.665573108355 | etot = -18.5017071145601 +263000 ekin = 2.54297814673107 | erot = 1.63910792627695 | epot = -22.6660944245488 | etot = -18.4840083515408 +264000 ekin = 2.6204802717585 | erot = 1.60167126997731 | epot = -22.6963818864547 | etot = -18.4742303447189 +265000 ekin = 2.6339595158455 | erot = 1.61464895664045 | epot = -22.7525488508232 | etot = -18.5039403783373 +266000 ekin = 2.66249523510551 | erot = 1.90346143383776 | epot = -22.8357396370455 | etot = -18.2697829681022 +267000 ekin = 2.84840089865297 | erot = 1.9697381438014 | epot = -22.922895038939 | etot = -18.1047559964847 +268000 ekin = 2.88773992899444 | erot = 2.23404496611545 | epot = -23.0126109152364 | etot = -17.8908260201265 +269000 ekin = 2.95881152251259 | erot = 2.36308023135752 | epot = -23.0806209903755 | etot = -17.7587292365054 +270000 ekin = 3.19922667657043 | erot = 2.31987744595641 | epot = -23.0997207459548 | etot = -17.5806166234279 +271000 ekin = 3.30474443531607 | erot = 2.18146213267909 | epot = -23.0923869412848 | etot = -17.6061803732897 +272000 ekin = 3.38316630950222 | erot = 2.27626381008289 | epot = -23.0565644655524 | etot = -17.3971343459673 +273000 ekin = 3.44314429393663 | erot = 2.33103394910053 | epot = -22.998686348507 | etot = -17.2245081054698 +274000 ekin = 3.29733836463991 | erot = 2.3546068741269 | epot = -22.9061895162167 | etot = -17.2542442774499 +275000 ekin = 3.20483849389297 | erot = 2.17592485213262 | epot = -22.8033610976752 | etot = -17.4225977516496 +276000 ekin = 3.17952696643841 | erot = 2.53631962219384 | epot = -22.6964713302163 | etot = -16.980624741584 +277000 ekin = 3.04779312524477 | erot = 2.63224846283747 | epot = -22.5925250147671 | etot = -16.9124834266848 +278000 ekin = 2.88882241520594 | erot = 2.4429576877197 | epot = -22.5096077221471 | etot = -17.1778276192215 +279000 ekin = 2.7445805924286 | erot = 2.3468901491402 | epot = -22.4433740610139 | etot = -17.3519033194451 +280000 ekin = 2.7554105836729 | erot = 2.4011898984753 | epot = -22.3855374270778 | etot = -17.2289369449296 +281000 ekin = 2.66532300538253 | erot = 2.21704056459403 | epot = -22.3765161892641 | etot = -17.4941526192875 +282000 ekin = 2.60731940802889 | erot = 2.15906154555096 | epot = -22.392902036019 | etot = -17.6265210824392 +283000 ekin = 2.58513425203906 | erot = 2.06481653587231 | epot = -22.4081967019538 | etot = -17.7582459140425 +284000 ekin = 2.54858019457336 | erot = 2.24572478450568 | epot = -22.4445919263858 | etot = -17.6502869473068 +285000 ekin = 2.55758171617774 | erot = 2.76460913859724 | epot = -22.5141586593919 | etot = -17.1919678046169 +286000 ekin = 2.60821734500493 | erot = 3.16634932217225 | epot = -22.5929692498765 | etot = -16.8184025826993 +287000 ekin = 2.49254766601104 | erot = 3.15514661858268 | epot = -22.6449148716492 | etot = -16.9972205870554 +288000 ekin = 2.50066439821538 | erot = 3.4971940395516 | epot = -22.6803477105654 | etot = -16.6824892727984 +289000 ekin = 2.44598353504064 | erot = 3.34215032544757 | epot = -22.6895361095334 | etot = -16.9014022490452 +290000 ekin = 2.39359823072712 | erot = 3.1126844030724 | epot = -22.6698244131813 | etot = -17.1635417793818 +291000 ekin = 2.42617011831441 | erot = 2.85487514428664 | epot = -22.6626122342504 | etot = -17.3815669716493 +292000 ekin = 2.40772687076927 | erot = 2.75801742060114 | epot = -22.6754806613925 | etot = -17.5097363700221 +293000 ekin = 2.42154585346455 | erot = 2.56313321462444 | epot = -22.7028245536538 | etot = -17.7181454855648 +294000 ekin = 2.4728309166701 | erot = 2.92407822599839 | epot = -22.7233881302524 | etot = -17.3264789875839 +295000 ekin = 2.48250330737214 | erot = 2.66001264724756 | epot = -22.7516848410686 | etot = -17.6091688864489 +296000 ekin = 2.50738582337497 | erot = 2.53234484293205 | epot = -22.7873334660358 | etot = -17.7476027997287 +297000 ekin = 2.57517392062601 | erot = 2.82176475993532 | epot = -22.8071785750426 | etot = -17.4102398944812 +298000 ekin = 2.64719948459859 | erot = 2.59986611083047 | epot = -22.8000961016266 | etot = -17.5530305061975 +299000 ekin = 2.57794949271972 | erot = 2.50163391190629 | epot = -22.777423569021 | etot = -17.697840164395 +300000 ekin = 2.54202853433712 | erot = 2.50188796046296 | epot = -22.7359935186374 | etot = -17.6920770238373 +301000 ekin = 2.53853550508107 | erot = 2.33138966267648 | epot = -22.668055568127 | etot = -17.7981304003695 +302000 ekin = 2.54164672579203 | erot = 2.35968144693483 | epot = -22.6002854710846 | etot = -17.6989572983578 +303000 ekin = 2.55152004910016 | erot = 2.25570939719585 | epot = -22.5464912065881 | etot = -17.7392617602921 +304000 ekin = 2.43742201255282 | erot = 1.93302414776497 | epot = -22.4953520351473 | etot = -18.1249058748295 +305000 ekin = 2.37256740983357 | erot = 1.9990668631018 | epot = -22.4852720256447 | etot = -18.1136377527094 +306000 ekin = 2.33394239199429 | erot = 1.95361217330038 | epot = -22.4994393613204 | etot = -18.2118847960258 +307000 ekin = 2.36433385317698 | erot = 2.09819856998282 | epot = -22.5498835871991 | etot = -18.0873511640393 +308000 ekin = 2.39069887757527 | erot = 2.58247807487939 | epot = -22.6356145598509 | etot = -17.6624376073962 +309000 ekin = 2.42870516593962 | erot = 2.50601430493662 | epot = -22.7376993972854 | etot = -17.8029799264091 +310000 ekin = 2.59762961961 | erot = 2.86657561799367 | epot = -22.8270893622475 | etot = -17.3628841246438 +311000 ekin = 2.58045041487711 | erot = 3.2311264730769 | epot = -22.8820505528213 | etot = -17.0704736648673 +312000 ekin = 2.55765290476202 | erot = 3.46227005563475 | epot = -22.8938340197389 | etot = -16.8739110593421 +313000 ekin = 2.559441928848 | erot = 3.26655870580169 | epot = -22.8884040353447 | etot = -17.0624034006951 +314000 ekin = 2.66754752507797 | erot = 3.03950571405875 | epot = -22.8258761802468 | etot = -17.1188229411101 +315000 ekin = 2.73855283007327 | erot = 2.99016186621318 | epot = -22.7272216366889 | etot = -16.9985069404024 +316000 ekin = 2.80269198455227 | erot = 2.86307192976281 | epot = -22.5938909114046 | etot = -16.9281269970896 +317000 ekin = 2.93621184769345 | erot = 2.59361256238012 | epot = -22.4292070317099 | etot = -16.8993826216363 +318000 ekin = 2.89758526069563 | erot = 2.51740962219035 | epot = -22.2783865388305 | etot = -16.8633916559446 +319000 ekin = 2.91605528220969 | erot = 2.46065370098599 | epot = -22.133704436705 | etot = -16.7569954535093 +320000 ekin = 3.07107505335126 | erot = 2.32265497319528 | epot = -21.9969159416467 | etot = -16.6031859151001 +321000 ekin = 3.13741654111418 | erot = 2.10166654249796 | epot = -21.900308219471 | etot = -16.6612251358588 +322000 ekin = 3.25007976010091 | erot = 2.45741622170004 | epot = -21.8520535793255 | etot = -16.1445575975246 +323000 ekin = 3.23909847348115 | erot = 2.5340375320604 | epot = -21.8540021438702 | etot = -16.0808661383287 +324000 ekin = 3.38563358070232 | erot = 2.1731158940233 | epot = -21.9009098604863 | etot = -16.3421603857607 +325000 ekin = 3.34278974993512 | erot = 2.12874487522967 | epot = -21.9500890276596 | etot = -16.4785544024948 +326000 ekin = 3.38095563952734 | erot = 1.87895018746874 | epot = -21.9795682650696 | etot = -16.7196624380736 +327000 ekin = 3.38255419804517 | erot = 2.1588901822408 | epot = -22.0134841360964 | etot = -16.4720397558105 +328000 ekin = 3.40032271527504 | erot = 2.44697536300087 | epot = -22.023450759041 | etot = -16.1761526807651 +329000 ekin = 3.42165866167042 | erot = 2.23397608707607 | epot = -21.9965079843081 | etot = -16.3408732355616 +330000 ekin = 3.40495189589427 | erot = 2.16314285762156 | epot = -21.9196276290174 | etot = -16.3515328755016 +331000 ekin = 3.17548117127382 | erot = 2.09607585596633 | epot = -21.794498989011 | etot = -16.5229419617709 +332000 ekin = 2.98417545246665 | erot = 2.49335753705486 | epot = -21.6758679740327 | etot = -16.1983349845112 +333000 ekin = 2.88789613747813 | erot = 2.2559185916092 | epot = -21.5606249971909 | etot = -16.4168102681035 +334000 ekin = 2.72802815944269 | erot = 2.34583544867011 | epot = -21.5029467999943 | etot = -16.4290831918815 +335000 ekin = 2.67984094653357 | erot = 2.55944269027796 | epot = -21.5037191469947 | etot = -16.2644355101832 +336000 ekin = 2.69835695167784 | erot = 2.67075019722172 | epot = -21.5450631550404 | etot = -16.1759560061409 +337000 ekin = 2.58419106934189 | erot = 3.12853087323264 | epot = -21.643316836933 | etot = -15.9305948943585 +338000 ekin = 2.49996061258828 | erot = 3.1121867329201 | epot = -21.7506422483336 | etot = -16.1384949028252 +339000 ekin = 2.39574216262846 | erot = 3.0806358526705 | epot = -21.8692124850348 | etot = -16.3928344697358 +340000 ekin = 2.49232794145646 | erot = 2.980190991323 | epot = -21.9771878613074 | etot = -16.504668928528 +341000 ekin = 2.49715634905668 | erot = 2.90079807725765 | epot = -22.0570317432504 | etot = -16.6590773169361 +342000 ekin = 2.51716093069969 | erot = 2.82265055007444 | epot = -22.1164185335397 | etot = -16.7766070527655 +343000 ekin = 2.4860981088623 | erot = 2.72316461109174 | epot = -22.1874092656393 | etot = -16.9781465456852 +344000 ekin = 2.59185701101002 | erot = 2.80189377403278 | epot = -22.2240461219157 | etot = -16.8302953368729 +345000 ekin = 2.75203781955695 | erot = 2.78048504556998 | epot = -22.228777643338 | etot = -16.6962547782111 +346000 ekin = 2.81389530494878 | erot = 2.3340730613195 | epot = -22.2248537826432 | etot = -17.0768854163749 +347000 ekin = 2.9391210400536 | erot = 2.50008170041745 | epot = -22.249868336818 | etot = -16.810665596347 +348000 ekin = 2.96773185111312 | erot = 2.74343934252212 | epot = -22.2560808039814 | etot = -16.5449096103462 +349000 ekin = 3.13040986998843 | erot = 2.80190275823786 | epot = -22.2470744750918 | etot = -16.3147618468655 +350000 ekin = 3.08696501979119 | erot = 2.86847264663001 | epot = -22.2200203810508 | etot = -16.2645827146296 +351000 ekin = 3.09062650768665 | erot = 2.55040952388053 | epot = -22.219653345477 | etot = -16.5786173139098 +352000 ekin = 3.11537871248055 | erot = 2.20508138812274 | epot = -22.2132969704675 | etot = -16.8928368698642 +353000 ekin = 3.07156061276484 | erot = 2.27110385815633 | epot = -22.1942519415342 | etot = -16.851587470613 +354000 ekin = 3.03625905361608 | erot = 2.28070870858901 | epot = -22.1756814217729 | etot = -16.8587136595678 +355000 ekin = 3.05199381136594 | erot = 2.27451340050882 | epot = -22.1583132038245 | etot = -16.8318059919498 +356000 ekin = 3.08455685206842 | erot = 2.22987943802129 | epot = -22.1433269864766 | etot = -16.8288906963869 +357000 ekin = 3.05732303271321 | erot = 2.39309407849548 | epot = -22.1193520318396 | etot = -16.6689349206309 +358000 ekin = 3.1711006145134 | erot = 2.70306029074061 | epot = -22.11823298523 | etot = -16.244072079976 +359000 ekin = 3.16486963450204 | erot = 2.78686781955526 | epot = -22.1253692631306 | etot = -16.1736318090733 +360000 ekin = 3.13851448508906 | erot = 2.57867504445972 | epot = -22.1430585034903 | etot = -16.4258689739416 +361000 ekin = 3.1018046044078 | erot = 2.91879652221933 | epot = -22.1488150833326 | etot = -16.1282139567055 +362000 ekin = 3.05062554845306 | erot = 3.01028278746078 | epot = -22.1455190064011 | etot = -16.0846106704873 +363000 ekin = 3.05887916756207 | erot = 2.98286966442435 | epot = -22.1197448021474 | etot = -16.077995970161 +364000 ekin = 2.97835573270391 | erot = 3.15819469882605 | epot = -22.0865889777575 | etot = -15.9500385462276 +365000 ekin = 2.91386725267301 | erot = 3.01797244564511 | epot = -22.036734500504 | etot = -16.1048948021859 +366000 ekin = 2.84923441171881 | erot = 2.78629016923769 | epot = -21.9575039957298 | etot = -16.3219794147733 +367000 ekin = 2.68353251880628 | erot = 2.48104091468962 | epot = -21.89853718758 | etot = -16.7339637540841 +368000 ekin = 2.65983333900818 | erot = 2.52342977423083 | epot = -21.8801683018794 | etot = -16.6969051886404 +369000 ekin = 2.57098271373618 | erot = 2.13783387451323 | epot = -21.8712180667081 | etot = -17.1624014784587 +370000 ekin = 2.46719741991483 | erot = 2.19165130675158 | epot = -21.8880397158873 | etot = -17.2291909892209 +371000 ekin = 2.36101704058599 | erot = 2.37151178551915 | epot = -21.871259635484 | etot = -17.1387308093789 +372000 ekin = 2.35292349616034 | erot = 1.93814576615856 | epot = -21.8337068682175 | etot = -17.5426376058986 +373000 ekin = 2.22654652898943 | erot = 1.97312401893843 | epot = -21.7946812690266 | etot = -17.5950107210988 +374000 ekin = 2.10841533505376 | erot = 2.42321715998303 | epot = -21.7582816122237 | etot = -17.2266491171869 +375000 ekin = 2.09694600146948 | erot = 2.65841461817973 | epot = -21.7455351907437 | etot = -16.9901745710945 +376000 ekin = 2.01640282060124 | erot = 2.94267460873896 | epot = -21.7585878275113 | etot = -16.7995103981711 +377000 ekin = 1.96639420112318 | erot = 3.0881995707428 | epot = -21.7692932541815 | etot = -16.7146994823155 +378000 ekin = 1.8581802807931 | erot = 2.93893488746247 | epot = -21.7888291404588 | etot = -16.9917139722032 +379000 ekin = 1.80977620668707 | erot = 2.89686403333528 | epot = -21.8021607659804 | etot = -17.095520525958 +380000 ekin = 1.73240863049973 | erot = 3.31083227305488 | epot = -21.8040178365907 | etot = -16.7607769330361 +381000 ekin = 1.78593665245924 | erot = 3.0043788778956 | epot = -21.814619015938 | etot = -17.0243034855832 +382000 ekin = 1.81833924259092 | erot = 3.29223624038099 | epot = -21.8338308722139 | etot = -16.723255389242 +383000 ekin = 1.90372822779343 | erot = 3.2223723870211 | epot = -21.8485569566827 | etot = -16.7224563418682 +384000 ekin = 1.84908071228732 | erot = 3.12652639081496 | epot = -21.7977736604942 | etot = -16.8221665573919 +385000 ekin = 1.92406985540242 | erot = 2.87503823935547 | epot = -21.7109558633046 | etot = -16.9118477685467 +386000 ekin = 2.08459192251279 | erot = 2.45881013772448 | epot = -21.8127875838317 | etot = -17.2693855235944 +387000 ekin = 2.14831947455661 | erot = 2.58103233380232 | epot = -21.965778516454 | etot = -17.2364267080951 +388000 ekin = 2.20283399392827 | erot = 2.65764672350552 | epot = -22.0644231935264 | etot = -17.2039424760926 +389000 ekin = 2.20238885724334 | erot = 2.65111850895053 | epot = -22.1516234881391 | etot = -17.2981161219452 +390000 ekin = 2.24047588961197 | erot = 2.79913619901817 | epot = -22.2380523913913 | etot = -17.1984403027612 +391000 ekin = 2.27798913986017 | erot = 2.58277083989429 | epot = -22.3159667090675 | etot = -17.455206729313 +392000 ekin = 2.25449982760673 | erot = 2.37888824458204 | epot = -22.3605850592921 | etot = -17.7271969871034 +393000 ekin = 2.40321868579769 | erot = 2.29619394920021 | epot = -22.4007355614943 | etot = -17.7013229264964 +394000 ekin = 2.38472249136268 | erot = 2.02605124890775 | epot = -22.4166559581036 | etot = -18.0058822178332 +395000 ekin = 2.35870737602683 | erot = 2.13809618093391 | epot = -22.46183889125 | etot = -17.9650353342893 +396000 ekin = 2.36594751638176 | erot = 2.35329585924248 | epot = -22.4900242189752 | etot = -17.770780843351 +397000 ekin = 2.32162964157149 | erot = 2.38815965169872 | epot = -22.5051745520065 | etot = -17.7953852587363 +398000 ekin = 2.2809317117681 | erot = 2.45784979337986 | epot = -22.4904502460558 | etot = -17.7516687409078 +399000 ekin = 2.24440009076072 | erot = 2.20375095522972 | epot = -22.4593286712297 | etot = -18.0111776252393 +400000 ekin = 2.21650351836305 | erot = 2.11035067120488 | epot = -22.4071568047281 | etot = -18.0803026151602 +401000 ekin = 2.18808947871535 | erot = 2.05046808146139 | epot = -22.3505439740505 | etot = -18.1119864138738 +402000 ekin = 2.16649391253901 | erot = 2.14799860386812 | epot = -22.268256251652 | etot = -17.9537637352449 +403000 ekin = 2.28466204544573 | erot = 2.18910683075383 | epot = -22.2050986712119 | etot = -17.7313297950123 +404000 ekin = 2.34692059996724 | erot = 2.09828665659982 | epot = -22.1538027009538 | etot = -17.7085954443867 +405000 ekin = 2.4405679209828 | erot = 1.95202235520055 | epot = -22.1290600615596 | etot = -17.7364697853763 +406000 ekin = 2.51200179837241 | erot = 1.84480550716527 | epot = -22.1228718442874 | etot = -17.7660645387498 +407000 ekin = 2.46779728542654 | erot = 1.95715570890835 | epot = -22.1207033013073 | etot = -17.6957503069724 +408000 ekin = 2.67524377663759 | erot = 2.25989223488927 | epot = -22.1391777417951 | etot = -17.2040417302682 +409000 ekin = 2.66315255700294 | erot = 2.37555491225749 | epot = -22.1303194186109 | etot = -17.0916119493505 +410000 ekin = 2.65203478218384 | erot = 2.35306567100159 | epot = -22.1147712842536 | etot = -17.1096708310682 +411000 ekin = 2.6665921727395 | erot = 2.24630383870687 | epot = -22.1012745566864 | etot = -17.18837854524 +412000 ekin = 2.71788228424455 | erot = 2.0599452609842 | epot = -22.08547529968 | etot = -17.3076477544513 +413000 ekin = 2.9180284813538 | erot = 2.11234467836748 | epot = -22.0711624066711 | etot = -17.0407892469498 +414000 ekin = 2.96559563750791 | erot = 2.00652755440308 | epot = -22.0704517319952 | etot = -17.0983285400842 +415000 ekin = 2.9403339874136 | erot = 2.1506636721416 | epot = -22.0908184253288 | etot = -16.9998207657736 +416000 ekin = 3.01308617564487 | erot = 2.30018045105578 | epot = -22.1467565517931 | etot = -16.8334899250925 +417000 ekin = 2.99189829031787 | erot = 2.38541146259451 | epot = -22.2119953988622 | etot = -16.8346856459498 +418000 ekin = 2.92450258607176 | erot = 2.60659083472735 | epot = -22.2670317375586 | etot = -16.7359383167595 +419000 ekin = 3.02248435904785 | erot = 2.56863874909495 | epot = -22.3092445703347 | etot = -16.7181214621919 +420000 ekin = 3.11629989898236 | erot = 2.19357614992643 | epot = -22.3521371010171 | etot = -17.0422610521083 +421000 ekin = 3.09888957739381 | erot = 2.50768144705348 | epot = -22.4424742155049 | etot = -16.8359031910577 +422000 ekin = 3.22879455450154 | erot = 2.7281466432388 | epot = -22.5663066955684 | etot = -16.609365497828 +423000 ekin = 3.30665671531864 | erot = 2.51591677609467 | epot = -22.6645305507578 | etot = -16.8419570593445 +424000 ekin = 3.37246731972731 | erot = 2.34745055602907 | epot = -22.727642618393 | etot = -17.0077247426366 +425000 ekin = 3.43841525686891 | erot = 2.13655704811661 | epot = -22.7531787907648 | etot = -17.1782064857792 +426000 ekin = 3.39533061745582 | erot = 2.09679686908525 | epot = -22.7598072190452 | etot = -17.2676797325041 +427000 ekin = 3.39111059944188 | erot = 2.09557295937 | epot = -22.7548111473876 | etot = -17.2681275885757 +428000 ekin = 3.31614466866169 | erot = 2.03921223078323 | epot = -22.7608817388065 | etot = -17.4055248393615 +429000 ekin = 3.32919751126109 | erot = 2.28907058183506 | epot = -22.7667239471956 | etot = -17.1484558540995 +430000 ekin = 3.20916903929704 | erot = 2.24711750120359 | epot = -22.7569862329286 | etot = -17.3006996924279 +431000 ekin = 3.21784537917498 | erot = 2.11449131463102 | epot = -22.7330752234491 | etot = -17.4007385296431 +432000 ekin = 3.05825965277366 | erot = 2.1280245777588 | epot = -22.7058311036753 | etot = -17.5195468731428 +433000 ekin = 3.04999159233165 | erot = 2.12377304692495 | epot = -22.6927692042268 | etot = -17.5190045649702 +434000 ekin = 2.97281689578993 | erot = 2.06268809983407 | epot = -22.6735691335098 | etot = -17.6380641378858 +435000 ekin = 2.94081881992646 | erot = 2.27500624558154 | epot = -22.6471201429009 | etot = -17.4312950773929 +436000 ekin = 2.76300260327166 | erot = 2.14872430130916 | epot = -22.6178894405034 | etot = -17.7061625359226 +437000 ekin = 2.59429812875475 | erot = 1.81211382552894 | epot = -22.595485084217 | etot = -18.1890731299333 +438000 ekin = 2.55606503620585 | erot = 2.0179868480706 | epot = -22.5948271221481 | etot = -18.0207752378717 +439000 ekin = 2.53154376315499 | erot = 2.19299208744614 | epot = -22.6163361970742 | etot = -17.891800346473 +440000 ekin = 2.40438990342985 | erot = 2.39730485059928 | epot = -22.6417525467574 | etot = -17.8400577927283 +441000 ekin = 2.39311316134443 | erot = 2.20887829122785 | epot = -22.6584374753817 | etot = -18.0564460228094 +442000 ekin = 2.33774628968778 | erot = 2.27924438602919 | epot = -22.6901952471932 | etot = -18.0732045714763 +443000 ekin = 2.29577071148444 | erot = 2.13681932629555 | epot = -22.7383184381274 | etot = -18.3057284003474 +444000 ekin = 2.23794629484161 | erot = 2.26441379885369 | epot = -22.7861053898433 | etot = -18.2837452961479 +445000 ekin = 2.29545526298793 | erot = 2.21483552932775 | epot = -22.8258649969131 | etot = -18.3155742045974 +446000 ekin = 2.30609557124264 | erot = 2.31380080271873 | epot = -22.8648768729171 | etot = -18.2449804989557 +447000 ekin = 2.3400431119763 | erot = 2.11921527275252 | epot = -22.8964565927018 | etot = -18.437198207973 +448000 ekin = 2.31891408584095 | erot = 1.89336279102554 | epot = -22.9133862874843 | etot = -18.7011094106178 +449000 ekin = 2.50108402662084 | erot = 2.14275389718692 | epot = -22.930633005168 | etot = -18.2867950813603 +450000 ekin = 2.5680115489325 | erot = 2.1703072011048 | epot = -22.9343126165985 | etot = -18.1959938665612 +451000 ekin = 2.56623797742048 | erot = 2.48936702406197 | epot = -22.9565813788787 | etot = -17.9009763773962 +452000 ekin = 2.58271965200715 | erot = 2.71036974079266 | epot = -22.969892761014 | etot = -17.6768033682142 +453000 ekin = 2.57528128095339 | erot = 2.42064719168856 | epot = -22.9718770494986 | etot = -17.9759485768567 +454000 ekin = 2.67501362163761 | erot = 2.16830940597265 | epot = -22.954282826857 | etot = -18.1109597992467 +455000 ekin = 2.56489981687937 | erot = 2.42902486734868 | epot = -22.9396963254752 | etot = -17.9457716412471 +456000 ekin = 2.70565104056166 | erot = 2.41758826939476 | epot = -22.93942784522 | etot = -17.8161885352635 +457000 ekin = 2.6720211004305 | erot = 2.33461800850212 | epot = -22.966154109974 | etot = -17.9595150010414 +458000 ekin = 2.80341163315569 | erot = 2.09116834812238 | epot = -22.9873787877664 | etot = -18.0927988064884 +459000 ekin = 2.88302679195828 | erot = 2.11686421326537 | epot = -22.9983193137535 | etot = -17.9984283085298 +460000 ekin = 2.80959444443701 | erot = 1.91875534890938 | epot = -22.9899489536659 | etot = -18.2615991603195 +461000 ekin = 2.74655544888584 | erot = 2.00712299964627 | epot = -22.9641927476617 | etot = -18.2105142991295 +462000 ekin = 2.69410871293408 | erot = 1.85692462055059 | epot = -22.9396822663687 | etot = -18.388648932884 +463000 ekin = 2.68405751272921 | erot = 1.72122902844385 | epot = -22.920625445423 | etot = -18.51533890425 +464000 ekin = 2.68220436609129 | erot = 1.82183499702516 | epot = -22.902100071716 | etot = -18.3980607085995 +465000 ekin = 2.72690747044742 | erot = 1.76672692428737 | epot = -22.8835808325682 | etot = -18.3899464378335 +466000 ekin = 2.76097376291825 | erot = 1.45315546635129 | epot = -22.8532324895852 | etot = -18.6391032603157 +467000 ekin = 2.70206815185883 | erot = 1.48571966445427 | epot = -22.8038556347775 | etot = -18.6160678184644 +468000 ekin = 2.5468378285447 | erot = 1.46932624584375 | epot = -22.7393489246085 | etot = -18.72318485022 +469000 ekin = 2.57325964052969 | erot = 1.72667647792953 | epot = -22.6884895500973 | etot = -18.3885534316381 +470000 ekin = 2.54097506641283 | erot = 1.39019831696538 | epot = -22.6354294232224 | etot = -18.7042560398442 +471000 ekin = 2.53075144531188 | erot = 1.56973268857361 | epot = -22.5872254672437 | etot = -18.4867413333582 +472000 ekin = 2.48686143209695 | erot = 1.63608646497309 | epot = -22.5386230972985 | etot = -18.4156752002285 +473000 ekin = 2.42292267545319 | erot = 1.87228271405934 | epot = -22.5112867940746 | etot = -18.2160814045621 +474000 ekin = 2.50613933288665 | erot = 2.0952416911658 | epot = -22.5009126606675 | etot = -17.8995316366151 +475000 ekin = 2.45603005290409 | erot = 1.85917779264061 | epot = -22.5137202723094 | etot = -18.1985124267647 +476000 ekin = 2.3346853402221 | erot = 2.0264560210282 | epot = -22.5553111044059 | etot = -18.1941697431556 +477000 ekin = 2.45891726578721 | erot = 2.02023615759308 | epot = -22.6158128757705 | etot = -18.1366594523902 +478000 ekin = 2.41477886253645 | erot = 2.43026093865231 | epot = -22.6679361141587 | etot = -17.8228963129699 +479000 ekin = 2.32198252632126 | erot = 2.32644468281383 | epot = -22.7087553607369 | etot = -18.0603281516018 +480000 ekin = 2.3558894173607 | erot = 2.3595465710013 | epot = -22.7435251879185 | etot = -18.0280891995565 +481000 ekin = 2.284520892779 | erot = 2.2043085242519 | epot = -22.7608284363972 | etot = -18.2719990193663 +482000 ekin = 2.32256646764216 | erot = 2.41557913055296 | epot = -22.7741831402844 | etot = -18.0360375420892 +483000 ekin = 2.27205927409901 | erot = 2.56178717087227 | epot = -22.7728224994831 | etot = -17.9389760545118 +484000 ekin = 2.37993337782981 | erot = 2.66126649810811 | epot = -22.7416478008891 | etot = -17.7004479249512 +485000 ekin = 2.38190748927818 | erot = 2.61854512767477 | epot = -22.7119334579282 | etot = -17.7114808409752 +486000 ekin = 2.3341846650688 | erot = 2.46925253909111 | epot = -22.6824493106805 | etot = -17.8790121065206 +487000 ekin = 2.18094133411115 | erot = 2.69390883740088 | epot = -22.6720546869386 | etot = -17.7972045154266 +488000 ekin = 2.11650686044404 | erot = 2.55325406947426 | epot = -22.6638056402425 | etot = -17.9940447103242 +489000 ekin = 2.21431283780025 | erot = 2.61470772093261 | epot = -22.6573831222825 | etot = -17.8283625635497 +490000 ekin = 2.2177697789255 | erot = 2.23500339456076 | epot = -22.5741440270901 | etot = -18.1213708536038 +491000 ekin = 2.2743268285736 | erot = 1.88817054321361 | epot = -22.4373592688795 | etot = -18.2748618970923 +492000 ekin = 2.53138272091331 | erot = 1.96744277498725 | epot = -22.4175140127838 | etot = -17.9186885168832 +493000 ekin = 2.71682060136924 | erot = 2.08719543513555 | epot = -22.5173229601061 | etot = -17.7133069236013 +494000 ekin = 2.79234310962882 | erot = 1.83822122501509 | epot = -22.5447051999101 | etot = -17.9141408652662 +495000 ekin = 2.76785459319896 | erot = 1.73774545925586 | epot = -22.5287157975834 | etot = -18.0231157451285 +496000 ekin = 2.84739375420049 | erot = 1.56846128670001 | epot = -22.5241542479137 | etot = -18.1082992070132 +497000 ekin = 2.69680214844421 | erot = 1.74348040544602 | epot = -22.5144404613581 | etot = -18.0741579074679 +498000 ekin = 2.62941704239962 | erot = 1.98455622913402 | epot = -22.5178632839582 | etot = -17.9038900124246 +499000 ekin = 2.64804818917005 | erot = 2.28765209546407 | epot = -22.5255155919976 | etot = -17.5898153073635 +500000 ekin = 2.62333387127775 | erot = 2.24107414888815 | epot = -22.5402092035982 | etot = -17.6758011834323 +501000 ekin = 2.58728609470098 | erot = 2.55153168646058 | epot = -22.5581971333472 | etot = -17.4193793521857 +502000 ekin = 2.57438529667224 | erot = 2.59775936587093 | epot = -22.5744776891821 | etot = -17.4023330266389 +503000 ekin = 2.68620055952013 | erot = 2.57830069566415 | epot = -22.5848671752325 | etot = -17.3203659200482 +504000 ekin = 2.70861631349713 | erot = 2.63136597642924 | epot = -22.5422463026807 | etot = -17.2022640127543 +505000 ekin = 2.81322601719058 | erot = 2.35620405508421 | epot = -22.4713277487551 | etot = -17.3018976764803 +506000 ekin = 2.75875978790581 | erot = 2.2811420027319 | epot = -22.4152453500929 | etot = -17.3753435594552 +507000 ekin = 2.76795437715432 | erot = 2.08516805530083 | epot = -22.3599249092895 | etot = -17.5068024768344 +508000 ekin = 2.73683686247801 | erot = 2.23436615836136 | epot = -22.3104902501594 | etot = -17.33928722932 +509000 ekin = 2.78730220151846 | erot = 2.42925226467485 | epot = -22.2669837867327 | etot = -17.0504293205394 +510000 ekin = 2.70408252089242 | erot = 2.30581628327713 | epot = -22.2411716050792 | etot = -17.2312728009097 +511000 ekin = 2.61818706333878 | erot = 2.32198772005124 | epot = -22.2054755882157 | etot = -17.2653008048257 +512000 ekin = 2.6266656789872 | erot = 2.16861742931871 | epot = -22.1496493249526 | etot = -17.3543662166467 +513000 ekin = 2.62864579756464 | erot = 2.28017839888773 | epot = -22.0962074035282 | etot = -17.1873832070758 +514000 ekin = 2.62144790591378 | erot = 2.41032584829392 | epot = -22.0606978370588 | etot = -17.0289240828511 +515000 ekin = 2.4182266596636 | erot = 2.52539385006922 | epot = -22.0307261613953 | etot = -17.0871056516624 +516000 ekin = 2.50897552241983 | erot = 2.78752662759895 | epot = -21.9672371157169 | etot = -16.6707349656981 +517000 ekin = 2.49803351393489 | erot = 2.61327470143936 | epot = -21.8908910019269 | etot = -16.7795827865527 +518000 ekin = 2.40588427132963 | erot = 2.6049652024787 | epot = -21.8271402944051 | etot = -16.8162908205968 +519000 ekin = 2.30783192859372 | erot = 2.28376487382996 | epot = -21.7720265250267 | etot = -17.180429722603 +520000 ekin = 2.2761642305819 | erot = 2.29434994860407 | epot = -21.7128184146401 | etot = -17.1423042354541 +521000 ekin = 2.24914668110677 | erot = 2.36897117879091 | epot = -21.6721321359537 | etot = -17.054014276056 +522000 ekin = 2.35364771784226 | erot = 2.3669509768879 | epot = -21.6628523798145 | etot = -16.9422536850843 +523000 ekin = 2.37618272265833 | erot = 2.13303138965069 | epot = -21.7051372318526 | etot = -17.1959231195436 +524000 ekin = 2.49723384027368 | erot = 2.2402387265416 | epot = -21.782377913726 | etot = -17.0449053469107 +525000 ekin = 2.46375747660483 | erot = 2.51521139084649 | epot = -21.8666578962014 | etot = -16.8876890287501 +526000 ekin = 2.48852380798094 | erot = 2.58777847976814 | epot = -21.9290082944792 | etot = -16.8527060067301 +527000 ekin = 2.56408998824203 | erot = 2.71602192536799 | epot = -21.9877682670139 | etot = -16.7076563534039 +528000 ekin = 2.56498509318779 | erot = 2.76910231594627 | epot = -22.0494190498077 | etot = -16.7153316406737 +529000 ekin = 2.49392950866803 | erot = 2.90081498188824 | epot = -22.0953259392657 | etot = -16.7005814487095 +530000 ekin = 2.55943772908022 | erot = 3.45143762749438 | epot = -22.1238951653049 | etot = -16.1130198087303 +531000 ekin = 2.62008230330594 | erot = 3.4102956933902 | epot = -22.1596065217834 | etot = -16.1292285250873 +532000 ekin = 2.64345831357253 | erot = 3.25189148347864 | epot = -22.2210179597453 | etot = -16.3256681626941 +533000 ekin = 2.66248857759365 | erot = 3.12130181040678 | epot = -22.293854504249 | etot = -16.5100641162486 +534000 ekin = 2.57837832781878 | erot = 3.40672270429757 | epot = -22.3945209938965 | etot = -16.4094199617801 +535000 ekin = 2.54988429096273 | erot = 3.48601096999932 | epot = -22.4965663420717 | etot = -16.4606710811097 +536000 ekin = 2.54332535815076 | erot = 3.38741257391199 | epot = -22.5966447962839 | etot = -16.6659068642212 +537000 ekin = 2.51621672082883 | erot = 3.49541286485898 | epot = -22.7221660584811 | etot = -16.7105364727933 +538000 ekin = 2.55164682489481 | erot = 3.74760630845831 | epot = -22.8591125937166 | etot = -16.5598594603634 +539000 ekin = 2.58092295425592 | erot = 3.80698168734295 | epot = -22.9765606947834 | etot = -16.5886560531845 +540000 ekin = 2.51008871731657 | erot = 3.80582456583147 | epot = -22.9798947810034 | etot = -16.6639814978553 +541000 ekin = 2.46719015764005 | erot = 3.50395862401716 | epot = -22.843108726957 | etot = -16.8719599452998 +542000 ekin = 2.59107475639072 | erot = 3.17066662624118 | epot = -22.8744258545949 | etot = -17.112684471963 +543000 ekin = 2.63620201361468 | erot = 3.06589292292618 | epot = -23.0791931656966 | etot = -17.3770982291557 +544000 ekin = 2.7624303384 | erot = 2.75752131636948 | epot = -23.1902839993582 | etot = -17.6703323445887 +545000 ekin = 2.77751893807181 | erot = 2.90000680655531 | epot = -23.2046062023305 | etot = -17.5270804577034 +546000 ekin = 2.7805950236307 | erot = 2.54289051406649 | epot = -23.2005103103105 | etot = -17.8770247726133 +547000 ekin = 2.81545617905238 | erot = 2.47192481242806 | epot = -23.1718555968601 | etot = -17.8844746053796 +548000 ekin = 2.79144209452802 | erot = 2.80250244565785 | epot = -23.1234791781377 | etot = -17.5295346379518 +549000 ekin = 2.75373348946721 | erot = 2.71813060504065 | epot = -23.0602788235303 | etot = -17.5884147290224 +550000 ekin = 2.68546541277429 | erot = 2.77855841780863 | epot = -22.9807527132684 | etot = -17.5167288826854 +551000 ekin = 2.63458963816036 | erot = 2.84363646369263 | epot = -22.8852605151351 | etot = -17.4070344132821 +552000 ekin = 2.65549146174195 | erot = 2.88006578689767 | epot = -22.7742141173519 | etot = -17.2386568687123 +553000 ekin = 2.61257263960443 | erot = 2.50580069544582 | epot = -22.6366728838902 | etot = -17.5182995488399 +554000 ekin = 2.55042887500034 | erot = 2.45156308445378 | epot = -22.5169799021636 | etot = -17.5149879427095 +555000 ekin = 2.4877174092021 | erot = 2.4195997835835 | epot = -22.4015661830961 | etot = -17.4942489903105 +556000 ekin = 2.43741510652919 | erot = 2.45751361710331 | epot = -22.292881083487 | etot = -17.3979523598545 +557000 ekin = 2.35602361024345 | erot = 2.35108817931542 | epot = -22.2068336513712 | etot = -17.4997218618123 +558000 ekin = 2.29845334881496 | erot = 2.47944197593295 | epot = -22.1269301143066 | etot = -17.3490347895587 +559000 ekin = 2.30547484128393 | erot = 2.43861674436445 | epot = -22.0431486095149 | etot = -17.2990570238665 +560000 ekin = 2.27735914776848 | erot = 2.22067768733756 | epot = -21.9730451699076 | etot = -17.4750083348016 +561000 ekin = 2.29286875562462 | erot = 2.11991684539843 | epot = -21.9034779049411 | etot = -17.490692303918 +562000 ekin = 2.19274483675775 | erot = 2.46930771586795 | epot = -21.8893960999879 | etot = -17.2273435473622 +563000 ekin = 2.25507955004823 | erot = 2.41065657987137 | epot = -21.9034392529016 | etot = -17.237703122982 +564000 ekin = 2.40459323350298 | erot = 2.24328259671745 | epot = -21.9404208075869 | etot = -17.2925449773664 +565000 ekin = 2.45683133378064 | erot = 2.27185510495041 | epot = -22.0074255927212 | etot = -17.2787391539901 +566000 ekin = 2.40141767311459 | erot = 2.21041354599862 | epot = -22.0735209036129 | etot = -17.4616896844997 +567000 ekin = 2.4457477052997 | erot = 2.11328940794165 | epot = -22.1387930635638 | etot = -17.5797559503224 +568000 ekin = 2.42570050072055 | erot = 2.18749548652437 | epot = -22.1800917698723 | etot = -17.5668957826274 +569000 ekin = 2.41454722540317 | erot = 2.10107949642201 | epot = -22.2121048457964 | etot = -17.6964781239712 +570000 ekin = 2.2989763814642 | erot = 2.04752727974981 | epot = -22.2369346580044 | etot = -17.8904309967904 +571000 ekin = 2.37657622585365 | erot = 2.05748511989246 | epot = -22.2528258700709 | etot = -17.8187645243248 +572000 ekin = 2.3168225167925 | erot = 2.58991099215539 | epot = -22.2496997094431 | etot = -17.3429662004952 +573000 ekin = 2.3040067160629 | erot = 2.31011895599928 | epot = -22.2262777020441 | etot = -17.6121520299819 +574000 ekin = 2.2203291203695 | erot = 2.34605820626859 | epot = -22.1986731397123 | etot = -17.6322858130742 +575000 ekin = 2.32899896279942 | erot = 2.14115178550434 | epot = -22.1599463152592 | etot = -17.6897955669555 +576000 ekin = 2.39677965647551 | erot = 2.16319777458983 | epot = -22.1106499071576 | etot = -17.5506724760922 +577000 ekin = 2.34165067357812 | erot = 1.93700136472043 | epot = -22.0653568060897 | etot = -17.7867047677912 +578000 ekin = 2.16459341404791 | erot = 1.94455021171713 | epot = -22.0220297065974 | etot = -17.9128860808324 +579000 ekin = 2.10243284337417 | erot = 1.93292394186435 | epot = -21.9718679160588 | etot = -17.9365111308202 +580000 ekin = 1.99604497344175 | erot = 1.95521625056201 | epot = -21.9148231396271 | etot = -17.9635619156233 +581000 ekin = 1.96384176915015 | erot = 1.99100077453193 | epot = -21.8663464602612 | etot = -17.9115039165791 +582000 ekin = 1.86034078875954 | erot = 1.90507522813595 | epot = -21.8442116641843 | etot = -18.0787956472888 +583000 ekin = 1.71909602928119 | erot = 1.97209600265413 | epot = -21.8622366159147 | etot = -18.1710445839794 +584000 ekin = 1.703647421171 | erot = 1.84090438363609 | epot = -21.9097350864251 | etot = -18.365183281618 +585000 ekin = 1.74431579790209 | erot = 2.03905704940609 | epot = -21.9890373916311 | etot = -18.2056645443229 +586000 ekin = 1.73466674324848 | erot = 1.83902306942848 | epot = -22.0843760980402 | etot = -18.5106862853632 +587000 ekin = 1.69495214035969 | erot = 2.05654584168949 | epot = -22.1748305300913 | etot = -18.4233325480421 +588000 ekin = 1.81991084277846 | erot = 2.03271452479352 | epot = -22.2619123801789 | etot = -18.4092870126069 +589000 ekin = 1.7577411459267 | erot = 2.09107160464902 | epot = -22.3245174454578 | etot = -18.4757046948821 +590000 ekin = 1.72192880825669 | erot = 2.02708321623578 | epot = -22.3712739626591 | etot = -18.6222619381666 +591000 ekin = 1.7680149700417 | erot = 2.19934356351431 | epot = -22.4026553786928 | etot = -18.4352968451368 +592000 ekin = 1.73818904167481 | erot = 2.31753844822573 | epot = -22.4297727542857 | etot = -18.3740452643852 +593000 ekin = 1.74423680346919 | erot = 2.35378967969673 | epot = -22.4309363170804 | etot = -18.3329098339145 +594000 ekin = 1.74360225576695 | erot = 1.98671317855359 | epot = -22.3849580162802 | etot = -18.6546425819596 +595000 ekin = 1.8259762247913 | erot = 2.13309374747876 | epot = -22.3903093107667 | etot = -18.4312393384966 +596000 ekin = 1.88347190280853 | erot = 2.21700247043607 | epot = -22.4390117320798 | etot = -18.3385373588352 +597000 ekin = 1.85682865820145 | erot = 2.22335853873402 | epot = -22.4665965332843 | etot = -18.3864093363488 +598000 ekin = 1.90006820905248 | erot = 2.42053542571092 | epot = -22.4694279641808 | etot = -18.1488243294174 +599000 ekin = 1.90071729874358 | erot = 2.59878396537153 | epot = -22.4910623963927 | etot = -17.9915611322776 +600000 ekin = 1.97752963691671 | erot = 2.72441502124577 | epot = -22.5477576362777 | etot = -17.8458129781152 +601000 ekin = 1.85698550625183 | erot = 2.88505630055983 | epot = -22.601413276632 | etot = -17.8593714698203 +602000 ekin = 1.85670612852391 | erot = 2.9924675577216 | epot = -22.6585474549208 | etot = -17.8093737686753 +603000 ekin = 1.86635938777726 | erot = 2.7946692567766 | epot = -22.7047123446179 | etot = -18.043683700064 +604000 ekin = 1.85627372221482 | erot = 2.96454267326802 | epot = -22.7247435540802 | etot = -17.9039271585974 +605000 ekin = 1.90713526215432 | erot = 2.83334095597306 | epot = -22.7033988480802 | etot = -17.9629226299528 +606000 ekin = 1.97855456734139 | erot = 2.4416881433075 | epot = -22.6272048618402 | etot = -18.2069621511913 +607000 ekin = 2.01266482611061 | erot = 2.45716329068746 | epot = -22.5070850149334 | etot = -18.0372568981353 +608000 ekin = 2.12878560429542 | erot = 2.31425337484033 | epot = -22.3497088958721 | etot = -17.9066699167364 +609000 ekin = 2.06312041868305 | erot = 2.11817811077744 | epot = -22.1990535325682 | etot = -18.0177550031077 +610000 ekin = 2.16915995218525 | erot = 2.15710310478974 | epot = -22.0738713202684 | etot = -17.7476082632935 +611000 ekin = 2.2479062777385 | erot = 2.44524506443981 | epot = -21.9773927987227 | etot = -17.2842414565444 +612000 ekin = 2.33407663304688 | erot = 2.43880885419943 | epot = -21.915819412039 | etot = -17.1429339247927 +613000 ekin = 2.4862713655459 | erot = 2.04564905753212 | epot = -21.9014181358314 | etot = -17.3694977127534 +614000 ekin = 2.63092379207172 | erot = 1.78137353630906 | epot = -21.9268892251557 | etot = -17.514591896775 +615000 ekin = 2.76847753887656 | erot = 1.74704506635928 | epot = -22.0144396036921 | etot = -17.4989169984563 +616000 ekin = 2.91908707455724 | erot = 1.7829061327169 | epot = -22.118601225114 | etot = -17.4166080178398 +617000 ekin = 3.15203249393298 | erot = 1.78303328673794 | epot = -22.2256012419584 | etot = -17.2905354612875 +618000 ekin = 3.31119378517929 | erot = 1.96412968205649 | epot = -22.3133840086656 | etot = -17.0380605414298 +619000 ekin = 3.47590250528842 | erot = 1.76611683746803 | epot = -22.3772219575797 | etot = -17.1352026148232 +620000 ekin = 3.48874988045414 | erot = 1.89528011242398 | epot = -22.4384551139398 | etot = -17.0544251210617 +621000 ekin = 3.6162246198138 | erot = 1.99344049296405 | epot = -22.4893103152157 | etot = -16.8796452024379 +622000 ekin = 3.58399773461891 | erot = 1.74513664213456 | epot = -22.4803416552216 | etot = -17.1512072784681 +623000 ekin = 3.63032006314557 | erot = 1.71430163919976 | epot = -22.4430926293461 | etot = -17.0984709270008 +624000 ekin = 3.65855713197028 | erot = 1.69922484729345 | epot = -22.3868122910147 | etot = -17.0290303117509 +625000 ekin = 3.60887827930814 | erot = 1.53990637330195 | epot = -22.3164178534658 | etot = -17.1676332008557 +626000 ekin = 3.5266046023718 | erot = 1.50586548866505 | epot = -22.2442897351173 | etot = -17.2118196440805 +627000 ekin = 3.50343711770174 | erot = 1.65554299653921 | epot = -22.1699228898753 | etot = -17.0109427756344 +628000 ekin = 3.39027059126337 | erot = 1.7516727323576 | epot = -22.0882385302028 | etot = -16.9462952065818 +629000 ekin = 3.23988150916915 | erot = 1.71907571962443 | epot = -21.9985657464086 | etot = -17.0396085176151 +630000 ekin = 3.19313977959945 | erot = 1.92181644528356 | epot = -21.9264321634453 | etot = -16.8114759385623 +631000 ekin = 3.16387923134672 | erot = 1.95916493180211 | epot = -21.8395694883598 | etot = -16.7165253252109 +632000 ekin = 3.14859471403509 | erot = 1.97621264135338 | epot = -21.7846629506645 | etot = -16.659855595276 +633000 ekin = 3.21562845702806 | erot = 2.00714201834293 | epot = -21.7459219259817 | etot = -16.5231514506108 +634000 ekin = 3.18996985450964 | erot = 2.01201311569096 | epot = -21.7056771658783 | etot = -16.5036941956777 +635000 ekin = 3.09651235720975 | erot = 1.73602275759662 | epot = -21.6544424588022 | etot = -16.8219073439959 +636000 ekin = 2.92860815615002 | erot = 1.85589302961923 | epot = -21.6235143680234 | etot = -16.8390131822541 +637000 ekin = 2.9145049294062 | erot = 1.98660531398791 | epot = -21.619133666584 | etot = -16.7180234231899 +638000 ekin = 2.9886464322491 | erot = 2.52300956640128 | epot = -21.6153555894526 | etot = -16.1036995908022 +639000 ekin = 2.82285402890259 | erot = 2.58031703406081 | epot = -21.5893617816824 | etot = -16.186190718719 +640000 ekin = 2.87726879521924 | erot = 2.71639270851165 | epot = -21.5512867369316 | etot = -15.9576252332007 +641000 ekin = 2.95903007169291 | erot = 2.43559640758676 | epot = -21.5137572402018 | etot = -16.1191307609221 +642000 ekin = 2.9620413382774 | erot = 2.50073908911551 | epot = -21.4303396746003 | etot = -15.9675592472074 +643000 ekin = 2.95135321760972 | erot = 2.18430881955701 | epot = -21.3830067810418 | etot = -16.2473447438751 +644000 ekin = 2.8946147226303 | erot = 2.24797742659791 | epot = -21.3844502347307 | etot = -16.2418580855025 +645000 ekin = 2.95435208333424 | erot = 2.48214942109052 | epot = -21.3637410798343 | etot = -15.9272395754095 +646000 ekin = 2.9055672357566 | erot = 2.30743635404266 | epot = -21.3137753959635 | etot = -16.1007718061642 +647000 ekin = 2.90760512758757 | erot = 2.34216740244697 | epot = -21.2632699171358 | etot = -16.0134973871012 +648000 ekin = 2.85798779133643 | erot = 2.18813680751306 | epot = -21.2316650481513 | etot = -16.1855404493018 +649000 ekin = 2.8011055300675 | erot = 1.99789309268243 | epot = -21.2271459685494 | etot = -16.4281473457995 +650000 ekin = 2.78705126935857 | erot = 2.05433186051859 | epot = -21.2258730978759 | etot = -16.3844899679987 +651000 ekin = 2.82981122207047 | erot = 2.24476751486992 | epot = -21.2549338926243 | etot = -16.1803551556839 +652000 ekin = 2.81187017826173 | erot = 2.46541600128328 | epot = -21.3104029656997 | etot = -16.0331167861547 +653000 ekin = 2.97461611593627 | erot = 2.32074630167001 | epot = -21.3681399998172 | etot = -16.0727775822109 +654000 ekin = 2.88164611559566 | erot = 2.38213902831403 | epot = -21.3981318593913 | etot = -16.1343467154816 +655000 ekin = 2.94913378760669 | erot = 2.34812868784313 | epot = -21.4113698116756 | etot = -16.1141073362258 +656000 ekin = 2.89233729061902 | erot = 2.39374651226493 | epot = -21.4288546902073 | etot = -16.1427708873233 +657000 ekin = 2.77598738951759 | erot = 2.49755521549789 | epot = -21.444950469184 | etot = -16.1714078641686 +658000 ekin = 2.77740080353575 | erot = 2.62230590128066 | epot = -21.4463092301614 | etot = -16.046602525345 +659000 ekin = 2.65259875229085 | erot = 2.75527600584018 | epot = -21.4247610675882 | etot = -16.0168863094572 +660000 ekin = 2.56686955703512 | erot = 2.62037576285298 | epot = -21.3982561329642 | etot = -16.2110108130761 +661000 ekin = 2.65054440121051 | erot = 2.62707264418943 | epot = -21.3903690458673 | etot = -16.1127520004673 +662000 ekin = 2.57957249166943 | erot = 2.57121547805632 | epot = -21.3759360832761 | etot = -16.2251481135504 +663000 ekin = 2.48664501783065 | erot = 2.38657187242597 | epot = -21.3934385678216 | etot = -16.520221677565 +664000 ekin = 2.51645777661058 | erot = 2.20401035947312 | epot = -21.4329380039065 | etot = -16.7124698678228 +665000 ekin = 2.44076978766891 | erot = 2.41816703577445 | epot = -21.4520134506829 | etot = -16.5930766272395 +666000 ekin = 2.35012835368458 | erot = 2.60496616000881 | epot = -21.468608543592 | etot = -16.5135140298986 +667000 ekin = 2.32189657004542 | erot = 2.57250144791893 | epot = -21.493981856009 | etot = -16.5995838380446 +668000 ekin = 2.36116261151376 | erot = 2.41860507877956 | epot = -21.5056838332 | etot = -16.7259161429067 +669000 ekin = 2.31387988694926 | erot = 2.33668050703713 | epot = -21.5343548142385 | etot = -16.8837944202521 +670000 ekin = 2.39198713502114 | erot = 2.44748109573363 | epot = -21.5481637926271 | etot = -16.7086955618724 +671000 ekin = 2.41568039789449 | erot = 2.60129732112569 | epot = -21.6059621481904 | etot = -16.5889844291702 +672000 ekin = 2.55961383121377 | erot = 2.5516494198211 | epot = -21.7089264495916 | etot = -16.5976631985567 +673000 ekin = 2.60207943153982 | erot = 2.89040304008769 | epot = -21.8182919408422 | etot = -16.3258094692147 +674000 ekin = 2.73648569737568 | erot = 2.81855016630383 | epot = -21.9222017117631 | etot = -16.3671658480836 +675000 ekin = 2.91114076539593 | erot = 2.36500632401704 | epot = -22.0018822691695 | etot = -16.7257351797566 +676000 ekin = 2.93341061527324 | erot = 2.28532481615634 | epot = -22.0731286226875 | etot = -16.8543931912579 +677000 ekin = 3.01470682908119 | erot = 2.22858273949015 | epot = -22.1284745680586 | etot = -16.8851849994873 +678000 ekin = 3.14497803943653 | erot = 1.93068246054129 | epot = -22.1456906590932 | etot = -17.0700301591153 +679000 ekin = 3.29461438438575 | erot = 2.1076091211883 | epot = -22.1361806217957 | etot = -16.7339571162216 +680000 ekin = 3.37176530279777 | erot = 2.01104009703978 | epot = -22.1041151314324 | etot = -16.7213097315948 +681000 ekin = 3.45483484720574 | erot = 1.9006745779217 | epot = -22.0463762684206 | etot = -16.6908668432931 +682000 ekin = 3.37894348708773 | erot = 1.72137005878542 | epot = -21.9505620370445 | etot = -16.8502484911713 +683000 ekin = 3.42286368355757 | erot = 1.851267808343 | epot = -21.8191972813593 | etot = -16.5450657894587 +684000 ekin = 3.36291962928464 | erot = 1.78272354471464 | epot = -21.6428884495562 | etot = -16.4972452755569 +685000 ekin = 3.36082871274587 | erot = 1.56476357384128 | epot = -21.4554201037061 | etot = -16.5298278171189 +686000 ekin = 3.29456600954292 | erot = 1.4526614688564 | epot = -21.2708420183485 | etot = -16.5236145399492 +687000 ekin = 3.28683183665641 | erot = 1.05147246964451 | epot = -21.0945257475366 | etot = -16.7562214412357 +688000 ekin = 3.1200573469182 | erot = 1.15864732674202 | epot = -20.9292915494188 | etot = -16.6505868757585 +689000 ekin = 2.98255457232203 | erot = 1.23350933506107 | epot = -20.789156167879 | etot = -16.5730922604959 +690000 ekin = 2.88677394533012 | erot = 1.14959548133369 | epot = -20.6827307127436 | etot = -16.6463612860798 +691000 ekin = 2.85231691921405 | erot = 1.3493894763518 | epot = -20.618749588821 | etot = -16.4170431932552 +692000 ekin = 2.82399536294284 | erot = 1.61591108279221 | epot = -20.5825839292396 | etot = -16.1426774835046 +693000 ekin = 2.78364237671965 | erot = 1.75822822075852 | epot = -20.5907390731048 | etot = -16.0488684756267 +694000 ekin = 2.73371563485489 | erot = 2.0853752693929 | epot = -20.6328696988286 | etot = -15.8137787945808 +695000 ekin = 2.57124739242674 | erot = 2.14630522202577 | epot = -20.6823542908148 | etot = -15.9648016763623 +696000 ekin = 2.51399296936984 | erot = 2.5586711835596 | epot = -20.7367847556415 | etot = -15.664120602712 +697000 ekin = 2.5045480949995 | erot = 2.5021571607765 | epot = -20.7898428219557 | etot = -15.7831375661797 +698000 ekin = 2.36358142640492 | erot = 2.63892421049623 | epot = -20.814814737847 | etot = -15.8123091009459 +699000 ekin = 2.31199340724625 | erot = 2.68625065707107 | epot = -20.7956836949862 | etot = -15.7974396306689 +700000 ekin = 2.14616834772889 | erot = 2.12698342038349 | epot = -20.7725738213778 | etot = -16.4994220532654 +701000 ekin = 2.15539690119064 | erot = 2.17922309078413 | epot = -20.7552775762032 | etot = -16.4206575842285 +702000 ekin = 2.10080573596265 | erot = 2.11876313824413 | epot = -20.7375521816454 | etot = -16.5179833074386 +703000 ekin = 2.11218006165568 | erot = 2.10588532277707 | epot = -20.7475858269107 | etot = -16.529520442478 +704000 ekin = 2.12315820389529 | erot = 2.10220748203651 | epot = -20.7572998532755 | etot = -16.5319341673437 +705000 ekin = 2.15166233402701 | erot = 2.1402299573417 | epot = -20.7941736502213 | etot = -16.5022813588526 +706000 ekin = 2.15163098226693 | erot = 2.26908854153892 | epot = -20.8512276988322 | etot = -16.4305081750263 +707000 ekin = 2.15471286696234 | erot = 2.5265790249537 | epot = -20.952057964416 | etot = -16.2707660725 +708000 ekin = 2.17467467531714 | erot = 2.49469457222147 | epot = -21.0502066736907 | etot = -16.3808374261521 +709000 ekin = 2.2527087542905 | erot = 2.67362934165249 | epot = -21.1795445148264 | etot = -16.2532064188834 +710000 ekin = 2.19946540304098 | erot = 2.99965152220121 | epot = -21.3025369771158 | etot = -16.1034200518737 +711000 ekin = 2.25060849345726 | erot = 2.69455961858579 | epot = -21.3800741765573 | etot = -16.4349060645143 +712000 ekin = 2.31009709048328 | erot = 2.56904053029559 | epot = -21.4438411099749 | etot = -16.5647034891961 +713000 ekin = 2.34856712569268 | erot = 2.67010815786396 | epot = -21.4921710148015 | etot = -16.4734957312449 +714000 ekin = 2.46551783464225 | erot = 2.47127151678511 | epot = -21.4976914761202 | etot = -16.5609021246929 +715000 ekin = 2.51889281585858 | erot = 2.39422134725105 | epot = -21.4732726012175 | etot = -16.5601584381079 +716000 ekin = 2.57715724769765 | erot = 2.54742070298338 | epot = -21.4493966986374 | etot = -16.3248187479563 +717000 ekin = 2.65149378986421 | erot = 2.37788349879642 | epot = -21.4573082004016 | etot = -16.427930911741 +718000 ekin = 2.69352880756017 | erot = 2.62278633313092 | epot = -21.4974593554888 | etot = -16.1811442147977 +719000 ekin = 2.80177184525531 | erot = 2.54312012627467 | epot = -21.5233281256771 | etot = -16.1784361541471 +720000 ekin = 2.69854861927349 | erot = 2.43897381701002 | epot = -21.559021891228 | etot = -16.4214994549445 +721000 ekin = 2.67018557216916 | erot = 2.50608214081748 | epot = -21.6315812717079 | etot = -16.4553135587213 +722000 ekin = 2.6528210671532 | erot = 2.66679722018774 | epot = -21.705637764293 | etot = -16.386019476952 +723000 ekin = 2.65361827522399 | erot = 2.9762220597586 | epot = -21.7797776559588 | etot = -16.1499373209762 +724000 ekin = 2.60569769804332 | erot = 2.7602015007975 | epot = -21.8376307834395 | etot = -16.4717315845987 +725000 ekin = 2.6312786943458 | erot = 2.69399118898632 | epot = -21.8984299962621 | etot = -16.57316011293 +726000 ekin = 2.72545330440858 | erot = 2.64253926181284 | epot = -21.9407919115122 | etot = -16.5727993452907 +727000 ekin = 2.65040284294597 | erot = 2.78538015555903 | epot = -21.9637938172424 | etot = -16.5280108187374 +728000 ekin = 2.4817900390328 | erot = 2.97450520962215 | epot = -21.9479581531627 | etot = -16.4916629045077 +729000 ekin = 2.52972405397769 | erot = 2.90212496736399 | epot = -21.9040262067808 | etot = -16.4721771854391 +730000 ekin = 2.53115260905919 | erot = 2.84472555705129 | epot = -21.8740439587405 | etot = -16.49816579263 +731000 ekin = 2.54145691682368 | erot = 2.59870522768933 | epot = -21.8660177522148 | etot = -16.7258556077018 +732000 ekin = 2.53248561362455 | erot = 2.72510944305534 | epot = -21.8573992551141 | etot = -16.5998041984342 +733000 ekin = 2.62625070581274 | erot = 2.51680047965209 | epot = -21.8396073656004 | etot = -16.6965561801356 +734000 ekin = 2.64998616374939 | erot = 2.72845692103525 | epot = -21.8405294812886 | etot = -16.4620863965039 +735000 ekin = 2.6930620716659 | erot = 3.07169199347478 | epot = -21.8204798153908 | etot = -16.0557257502501 +736000 ekin = 2.7226035182261 | erot = 2.73658566507828 | epot = -21.8062871121353 | etot = -16.3470979288309 +737000 ekin = 2.75870598942315 | erot = 2.61625561790497 | epot = -21.7997278882042 | etot = -16.4247662808761 +738000 ekin = 2.97183711263039 | erot = 2.24889762319117 | epot = -21.8158801485016 | etot = -16.59514541268 +739000 ekin = 3.05953080589944 | erot = 2.09255160152925 | epot = -21.8603696084005 | etot = -16.7082872009718 +740000 ekin = 3.27063059251342 | erot = 2.33629691806491 | epot = -21.9283581824535 | etot = -16.3214306718752 +741000 ekin = 3.35389594882302 | erot = 2.3177523792101 | epot = -21.9905348157484 | etot = -16.3188864877153 +742000 ekin = 3.37765257218107 | erot = 2.24621136389748 | epot = -22.0551085268019 | etot = -16.4312445907234 +743000 ekin = 3.34761803886636 | erot = 2.11604292737006 | epot = -22.1501165805112 | etot = -16.6864556142748 +744000 ekin = 3.45014316044781 | erot = 2.2628373980103 | epot = -22.2301851995834 | etot = -16.5172046411253 +745000 ekin = 3.50577437774123 | erot = 2.18082158773737 | epot = -22.2958892423624 | etot = -16.6092932768838 +746000 ekin = 3.6237956406297 | erot = 2.29172371219975 | epot = -22.3504185189693 | etot = -16.4348991661398 +747000 ekin = 3.66042054954956 | erot = 2.2047502504764 | epot = -22.3851646701836 | etot = -16.5199938701577 +748000 ekin = 3.50974540143194 | erot = 2.40650262572102 | epot = -22.4178592321293 | etot = -16.5016112049764 +749000 ekin = 3.56386965172005 | erot = 2.05758013521468 | epot = -22.4625938818843 | etot = -16.8411440949496 +750000 ekin = 3.49499037119096 | erot = 2.11705320323023 | epot = -22.5182146312729 | etot = -16.9061710568517 +751000 ekin = 3.52059041081212 | erot = 2.16456234667844 | epot = -22.5708671367043 | etot = -16.8857143792137 +752000 ekin = 3.52922989091295 | erot = 2.13328496260202 | epot = -22.6142453819171 | etot = -16.9517305284022 +753000 ekin = 3.54450333705172 | erot = 1.90175527543418 | epot = -22.6772611743004 | etot = -17.2310025618145 +754000 ekin = 3.45153480837564 | erot = 1.87218797414039 | epot = -22.7422768873026 | etot = -17.4185541047866 +755000 ekin = 3.40998140309997 | erot = 1.7976501197847 | epot = -22.7840720762414 | etot = -17.5764405533567 +756000 ekin = 3.34055243015443 | erot = 1.98893101943502 | epot = -22.801524919867 | etot = -17.4720414702775 +757000 ekin = 3.25995163881639 | erot = 2.23144065289767 | epot = -22.8179736050352 | etot = -17.3265813133212 +758000 ekin = 3.16254182007729 | erot = 2.33708167519903 | epot = -22.7968151839708 | etot = -17.2971916886945 +759000 ekin = 3.08959154816134 | erot = 2.90979409874038 | epot = -22.7119241491299 | etot = -16.7125385022282 +760000 ekin = 3.12610940125076 | erot = 2.74386957055392 | epot = -22.5354298293418 | etot = -16.6654508575371 +761000 ekin = 3.01773123261458 | erot = 2.5444184248282 | epot = -22.2878249475343 | etot = -16.7256752900915 +762000 ekin = 2.78676830407828 | erot = 2.45851569401923 | epot = -22.0050811851095 | etot = -16.759797187012 +763000 ekin = 2.66585974802142 | erot = 2.3623113572463 | epot = -21.7220430301031 | etot = -16.6938719248354 +764000 ekin = 2.45269004589322 | erot = 2.21799353565932 | epot = -21.4437328772732 | etot = -16.7730492957207 +765000 ekin = 2.33602063980662 | erot = 2.18630884760025 | epot = -21.2172136821302 | etot = -16.6948841947233 +766000 ekin = 2.29166126734208 | erot = 2.30483974019094 | epot = -21.0282994393417 | etot = -16.4317984318087 +767000 ekin = 2.19131441806538 | erot = 2.03557115351072 | epot = -20.8759897944535 | etot = -16.6491042228774 +768000 ekin = 2.07724554805677 | erot = 2.24966311077002 | epot = -20.7557602191192 | etot = -16.4288515602924 +769000 ekin = 2.05775411195501 | erot = 2.42542434645642 | epot = -20.6955218024995 | etot = -16.212343344088 +770000 ekin = 2.00758682747571 | erot = 2.45906745907325 | epot = -20.6929044608178 | etot = -16.2262501742688 +771000 ekin = 1.98409315586931 | erot = 2.48472564199884 | epot = -20.7734270007245 | etot = -16.3046082028563 +772000 ekin = 1.96669673892092 | erot = 2.78510583323586 | epot = -20.9254659410934 | etot = -16.1736633689366 +773000 ekin = 2.0246104727649 | erot = 2.7825476907091 | epot = -21.1083738193739 | etot = -16.3012156558999 +774000 ekin = 2.11360336305321 | erot = 2.98822109565829 | epot = -21.3029651154825 | etot = -16.201140656771 +775000 ekin = 2.14002916094013 | erot = 3.19368392739269 | epot = -21.5172002816089 | etot = -16.183487193276 +776000 ekin = 2.24832330955206 | erot = 3.06531971326596 | epot = -21.7038275157922 | etot = -16.3901844929741 +777000 ekin = 2.26862051853046 | erot = 3.05204197556552 | epot = -21.8350670013861 | etot = -16.5144045072901 +778000 ekin = 2.28742554048422 | erot = 3.14948640814974 | epot = -21.908697877618 | etot = -16.471785928984 +779000 ekin = 2.3767984920586 | erot = 3.25877776275828 | epot = -21.9331744453781 | etot = -16.2975981905612 +780000 ekin = 2.41113222109191 | erot = 3.41326897160163 | epot = -21.8804415437791 | etot = -16.0560403510855 +781000 ekin = 2.35841060920441 | erot = 3.41692834904078 | epot = -21.7562873535257 | etot = -15.9809483952805 +782000 ekin = 2.33104722618949 | erot = 3.319677867618 | epot = -21.5791021588903 | etot = -15.9283770650828 +783000 ekin = 2.44468610858591 | erot = 3.39120123577045 | epot = -21.3872233744818 | etot = -15.5513360301255 +784000 ekin = 2.470311550305 | erot = 3.16062374063231 | epot = -21.2067959255547 | etot = -15.5758606346174 +785000 ekin = 2.44425304006425 | erot = 2.93358092965286 | epot = -21.066643439754 | etot = -15.6888094700369 +786000 ekin = 2.38361530280068 | erot = 2.4700859723762 | epot = -20.9753503604685 | etot = -16.1216490852916 +787000 ekin = 2.48426374783384 | erot = 2.47298901654076 | epot = -20.8359485090634 | etot = -15.8786957446888 +788000 ekin = 2.6242212902263 | erot = 2.14521403573502 | epot = -20.7277036502939 | etot = -15.9582683243326 +789000 ekin = 2.71455119011441 | erot = 2.24597257975372 | epot = -20.9557602381598 | etot = -15.9952364682917 +790000 ekin = 2.8956628737976 | erot = 2.37559330223004 | epot = -21.3404176331914 | etot = -16.0691614571637 +791000 ekin = 2.93118110717174 | erot = 2.41626490731829 | epot = -21.5892702620177 | etot = -16.2418242475277 +792000 ekin = 2.94573011046952 | erot = 2.50772398358445 | epot = -21.7794479744542 | etot = -16.3259938804002 +793000 ekin = 2.88905153418424 | erot = 2.38272361409125 | epot = -21.9056315911049 | etot = -16.6338564428295 +794000 ekin = 2.80588096705245 | erot = 2.32779825823241 | epot = -21.9743818696617 | etot = -16.8407026443769 +795000 ekin = 2.70597772737488 | erot = 2.07317402356865 | epot = -22.0026881808382 | etot = -17.2235364298946 +796000 ekin = 2.61721688822668 | erot = 2.0877352950794 | epot = -21.991804168953 | etot = -17.286851985647 +797000 ekin = 2.43136202877026 | erot = 1.98048933877632 | epot = -21.9515392836597 | etot = -17.5396879161131 +798000 ekin = 2.3611685869334 | erot = 1.82755970456493 | epot = -21.9000645272965 | etot = -17.7113362357982 +799000 ekin = 2.29297525755987 | erot = 1.5438362356442 | epot = -21.8291726353075 | etot = -17.9923611421034 +800000 ekin = 2.24935465151491 | erot = 1.5446184795202 | epot = -21.7259751888123 | etot = -17.9320020577772 +801000 ekin = 2.14652429984544 | erot = 1.41717049108859 | epot = -21.6384618116251 | etot = -18.0747670206911 +802000 ekin = 2.30260756675948 | erot = 1.51416478035656 | epot = -21.5464279977222 | etot = -17.7296556506061 +803000 ekin = 2.34534628569431 | erot = 1.40949886579115 | epot = -21.5017245308293 | etot = -17.7468793793438 +804000 ekin = 2.31752346956293 | erot = 1.57528351351064 | epot = -21.5228204134078 | etot = -17.6300134303343 +805000 ekin = 2.51908363021985 | erot = 2.02682036822049 | epot = -21.6250345942614 | etot = -17.0791305958211 +806000 ekin = 2.69359804195114 | erot = 2.31785574785011 | epot = -21.7872941337147 | etot = -16.7758403439135 +807000 ekin = 2.78033847998713 | erot = 2.41121019329285 | epot = -21.9922590001463 | etot = -16.8007103268663 +808000 ekin = 2.80619611495204 | erot = 2.63792095913363 | epot = -22.2205031545371 | etot = -16.7763860804514 +809000 ekin = 2.88326450587356 | erot = 2.67886677112831 | epot = -22.4540143776026 | etot = -16.8918831006008 +810000 ekin = 2.91302007052046 | erot = 2.96339278377446 | epot = -22.6564267335948 | etot = -16.7800138792999 +811000 ekin = 3.09829332412426 | erot = 2.61119529725562 | epot = -22.8014808233353 | etot = -17.0919922019554 +812000 ekin = 3.08224679909644 | erot = 2.59515009531282 | epot = -22.8823180456423 | etot = -17.204921151233 +813000 ekin = 3.00916955211487 | erot = 2.7513570465975 | epot = -22.9208796974757 | etot = -17.1603530987634 +814000 ekin = 2.97174307315133 | erot = 2.90525451369445 | epot = -22.9341256772712 | etot = -17.0571280904254 +815000 ekin = 2.96997620607842 | erot = 3.14378750342501 | epot = -22.9208614386057 | etot = -16.8070977291022 +816000 ekin = 2.92448217395719 | erot = 2.88577656649752 | epot = -22.8782094391867 | etot = -17.067950698732 +817000 ekin = 2.88310554429553 | erot = 2.61870439923404 | epot = -22.8398760621413 | etot = -17.3380661186117 +818000 ekin = 2.8186685658087 | erot = 2.51624869438279 | epot = -22.790652874045 | etot = -17.4557356138535 +819000 ekin = 2.69190791098675 | erot = 1.98944862516422 | epot = -22.7267915943545 | etot = -18.0454350582035 +820000 ekin = 2.68723603002879 | erot = 1.98686669393842 | epot = -22.6848562040874 | etot = -18.0107534801202 +821000 ekin = 2.54604202399002 | erot = 2.17140584071642 | epot = -22.6462173351128 | etot = -17.9287694704063 +822000 ekin = 2.51719569259881 | erot = 2.14190227340006 | epot = -22.6036341275869 | etot = -17.944536161588 +823000 ekin = 2.3897594731009 | erot = 2.45514339808758 | epot = -22.5714957893461 | etot = -17.7265929181577 +824000 ekin = 2.31794554365845 | erot = 2.04410509977472 | epot = -22.5460261880528 | etot = -18.1839755446196 +825000 ekin = 2.2413745688521 | erot = 2.02652245530707 | epot = -22.5316621259024 | etot = -18.2637651017432 +826000 ekin = 2.17386448675867 | erot = 1.87577926811458 | epot = -22.5563066825792 | etot = -18.5066629277059 +827000 ekin = 2.15440642655349 | erot = 2.100839050741 | epot = -22.5878061584655 | etot = -18.332560681171 +828000 ekin = 1.93354077156671 | erot = 1.97318227704413 | epot = -22.6117615018474 | etot = -18.7050384532365 +829000 ekin = 1.91274491416172 | erot = 2.31769032262837 | epot = -22.6065942718288 | etot = -18.3761590350387 +830000 ekin = 1.8791033996829 | erot = 2.45880670474272 | epot = -22.612519347576 | etot = -18.2746092431504 +831000 ekin = 1.89725781672108 | erot = 2.49473420733595 | epot = -22.6167165770136 | etot = -18.2247245529566 +832000 ekin = 1.85092425351987 | erot = 2.48066273824477 | epot = -22.6085378559549 | etot = -18.2769508641902 +833000 ekin = 1.79059573863287 | erot = 2.56006070865021 | epot = -22.6126545978152 | etot = -18.2619981505321 +834000 ekin = 1.79399510293591 | erot = 2.4467311322103 | epot = -22.6154861129996 | etot = -18.3747598778534 +835000 ekin = 1.80394510948908 | erot = 2.35964658964164 | epot = -22.6388182435289 | etot = -18.4752265443982 +836000 ekin = 1.69826382101383 | erot = 2.57406388654606 | epot = -22.6545723055334 | etot = -18.3822445979735 +837000 ekin = 1.57085807181323 | erot = 2.4318727074888 | epot = -22.6792499151576 | etot = -18.6765191358556 +838000 ekin = 1.48932995393548 | erot = 2.24165123204968 | epot = -22.6860468687812 | etot = -18.955065682796 +839000 ekin = 1.38743724869555 | erot = 1.7994795781969 | epot = -22.6563653509784 | etot = -19.469448524086 +840000 ekin = 1.45337763400311 | erot = 1.96043695396606 | epot = -22.6075458233742 | etot = -19.193731235405 +841000 ekin = 1.52590522598343 | erot = 2.22694909527787 | epot = -22.5519353417638 | etot = -18.7990810205025 +842000 ekin = 1.46532363485138 | erot = 2.10614026643366 | epot = -22.4887366967109 | etot = -18.9172727954258 +843000 ekin = 1.45281094628277 | erot = 2.17368676107355 | epot = -22.4106869099643 | etot = -18.784189202608 +844000 ekin = 1.49761542714547 | erot = 2.37443717915502 | epot = -22.3449586551429 | etot = -18.4729060488424 +845000 ekin = 1.55104391739263 | erot = 2.37673299844037 | epot = -22.2778376071694 | etot = -18.3500606913364 +846000 ekin = 1.58963047079772 | erot = 2.33696583404051 | epot = -22.1844847216069 | etot = -18.2578884167687 +847000 ekin = 1.54789432070425 | erot = 2.21935266362097 | epot = -22.0782777408795 | etot = -18.3110307565543 +848000 ekin = 1.64518981802254 | erot = 2.25544436718012 | epot = -21.9989181480533 | etot = -18.0982839628507 +849000 ekin = 1.65560014958027 | erot = 2.25710120668683 | epot = -21.9671927272718 | etot = -18.0544913710047 +850000 ekin = 1.64990114979118 | erot = 2.10882779392521 | epot = -21.9923852605708 | etot = -18.2336563168545 +851000 ekin = 1.76413935252599 | erot = 2.19132684842273 | epot = -22.0608745954471 | etot = -18.1054083944984 +852000 ekin = 1.77078332134233 | erot = 2.28186973473967 | epot = -22.1743987365035 | etot = -18.1217456804215 +853000 ekin = 1.88691006136919 | erot = 2.41685663704387 | epot = -22.3155292586367 | etot = -18.0117625602236 +854000 ekin = 1.91928053806185 | erot = 2.8774224065578 | epot = -22.4875387473874 | etot = -17.6908358027677 +855000 ekin = 1.91817487389611 | erot = 2.76992189261422 | epot = -22.6436233810626 | etot = -17.9555266145523 +856000 ekin = 1.88635564274518 | erot = 2.93908057669869 | epot = -22.764714829212 | etot = -17.9392786097681 +857000 ekin = 1.87890917293745 | erot = 2.80324259714404 | epot = -22.8439440601383 | etot = -18.1617922900568 +858000 ekin = 1.76204051430181 | erot = 3.04908239798752 | epot = -22.8707912309211 | etot = -18.0596683186317 +859000 ekin = 1.7989024329101 | erot = 3.00632398338588 | epot = -22.858163621965 | etot = -18.052937205669 +860000 ekin = 1.84913198872632 | erot = 2.5368745453322 | epot = -22.8254155766962 | etot = -18.4394090426377 +861000 ekin = 1.91842166492514 | erot = 2.44106443467542 | epot = -22.7812919779301 | etot = -18.4218058783295 +862000 ekin = 2.03399415900639 | erot = 2.5163072121941 | epot = -22.7187848283737 | etot = -18.1684834571732 +863000 ekin = 2.06594803165259 | erot = 2.19676104809288 | epot = -22.6494648939955 | etot = -18.38675581425 +864000 ekin = 2.14467142649092 | erot = 2.30238631972309 | epot = -22.5816995592198 | etot = -18.1346418130058 +865000 ekin = 2.16190583025574 | erot = 2.29241108749926 | epot = -22.5280905818489 | etot = -18.0737736640939 +866000 ekin = 2.08928464919086 | erot = 2.34809191732007 | epot = -22.4600229326612 | etot = -18.0226463661503 +867000 ekin = 2.13586636899732 | erot = 2.42667521822891 | epot = -22.3898488501335 | etot = -17.8273072629073 +868000 ekin = 2.1954317166317 | erot = 2.34267445579144 | epot = -22.3416768736356 | etot = -17.8035707012125 +869000 ekin = 2.29038273021708 | erot = 1.97935314671745 | epot = -22.3115310066391 | etot = -18.0417951297045 +870000 ekin = 2.32898457121283 | erot = 2.18228869748467 | epot = -22.3276861507295 | etot = -17.816412882032 +871000 ekin = 2.23179297801797 | erot = 2.2459332826014 | epot = -22.3623188812147 | etot = -17.8845926205953 +872000 ekin = 2.29217187589275 | erot = 1.92704010734607 | epot = -22.3920054616901 | etot = -18.1727934784513 +873000 ekin = 2.32174880232822 | erot = 2.05958528502834 | epot = -22.4263932343476 | etot = -18.045059146991 +874000 ekin = 2.31327351953291 | erot = 2.03208404812009 | epot = -22.455443789151 | etot = -18.110086221498 +875000 ekin = 2.36060633411365 | erot = 1.9631506090206 | epot = -22.4715825698401 | etot = -18.1478256267058 +876000 ekin = 2.37581414827156 | erot = 1.68685668202708 | epot = -22.5004013214913 | etot = -18.4377304911927 +877000 ekin = 2.27742755728299 | erot = 1.83322419137898 | epot = -22.532116735846 | etot = -18.421464987184 +878000 ekin = 2.26319377123898 | erot = 1.87116890647667 | epot = -22.5413279545541 | etot = -18.4069652768385 +879000 ekin = 2.23196066439032 | erot = 2.13914596070875 | epot = -22.5501734041016 | etot = -18.1790667790025 +880000 ekin = 2.13938297973388 | erot = 2.29330131769629 | epot = -22.5711782332574 | etot = -18.1384939358272 +881000 ekin = 2.1318680383761 | erot = 2.14219424217023 | epot = -22.5804302674708 | etot = -18.3063679869245 +882000 ekin = 2.07769353958449 | erot = 2.09780809423879 | epot = -22.5758307354899 | etot = -18.4003291016666 +883000 ekin = 2.14813365127776 | erot = 2.3071298666471 | epot = -22.561098149685 | etot = -18.1058346317601 +884000 ekin = 2.07540055241942 | erot = 2.60971216511092 | epot = -22.5339770599324 | etot = -17.8488643424021 +885000 ekin = 2.02469768265883 | erot = 2.37910004807467 | epot = -22.5100762497929 | etot = -18.1062785190594 +886000 ekin = 2.04877327926448 | erot = 2.4920068419659 | epot = -22.4892651846766 | etot = -17.9484850634462 +887000 ekin = 2.04537209931256 | erot = 2.62826263805162 | epot = -22.4798822756914 | etot = -17.8062475383273 +888000 ekin = 1.99171888431611 | erot = 2.59410846730937 | epot = -22.5006414627785 | etot = -17.914814111153 +889000 ekin = 1.98870471402342 | erot = 2.78841340112867 | epot = -22.5468720567938 | etot = -17.7697539416417 +890000 ekin = 1.96284801049735 | erot = 2.75880808828181 | epot = -22.6085064197237 | etot = -17.8868503209446 +891000 ekin = 1.98112231165057 | erot = 3.1373459334429 | epot = -22.6928710534629 | etot = -17.5744028083695 +892000 ekin = 1.98665494216616 | erot = 3.33630831317173 | epot = -22.7519184177234 | etot = -17.4289551623855 +893000 ekin = 2.01620612275651 | erot = 3.24720583676934 | epot = -22.8064098471944 | etot = -17.5429978876685 +894000 ekin = 2.02749033009361 | erot = 3.22400069534531 | epot = -22.8521068920411 | etot = -17.6006158666022 +895000 ekin = 2.00160082448535 | erot = 3.17371669918265 | epot = -22.8614176855647 | etot = -17.6861001618967 +896000 ekin = 1.81339236987639 | erot = 2.84276750235957 | epot = -22.8462163214778 | etot = -18.1900564492418 +897000 ekin = 1.78689182954606 | erot = 2.92738822261576 | epot = -22.8071071587307 | etot = -18.0928271065689 +898000 ekin = 1.79533619439721 | erot = 3.24658999514007 | epot = -22.7264192132158 | etot = -17.6844930236785 +899000 ekin = 1.86159788109296 | erot = 3.45052252234925 | epot = -22.6568068772942 | etot = -17.344686473852 +900000 ekin = 1.871565347733 | erot = 3.32747935577909 | epot = -22.603978413148 | etot = -17.4049337096359 +901000 ekin = 1.92032230964434 | erot = 2.99424285087995 | epot = -22.5603724778797 | etot = -17.6458073173554 +902000 ekin = 1.90371430437561 | erot = 3.42499917647929 | epot = -22.5288190745234 | etot = -17.2001055936685 +903000 ekin = 1.90475417412385 | erot = 2.92419346565474 | epot = -22.481903392252 | etot = -17.6529557524734 +904000 ekin = 1.9042250885605 | erot = 2.83212155923625 | epot = -22.4265338107449 | etot = -17.6901871629482 +905000 ekin = 2.00220741569793 | erot = 2.40991127904267 | epot = -22.3822853443987 | etot = -17.9701666496581 +906000 ekin = 2.01583988806087 | erot = 2.50889047935428 | epot = -22.3419713063768 | etot = -17.8172409389617 +907000 ekin = 2.13017652685615 | erot = 2.70022028195316 | epot = -22.2948001592062 | etot = -17.4644033503968 +908000 ekin = 2.21155735897479 | erot = 2.35139718849896 | epot = -22.2413626180754 | etot = -17.6784080706016 +909000 ekin = 2.1338678778393 | erot = 2.19569541163492 | epot = -22.1827827026496 | etot = -17.8532194131754 +910000 ekin = 2.16567596171951 | erot = 2.22520003505022 | epot = -22.1149129856203 | etot = -17.7240369888505 +911000 ekin = 2.15809222107774 | erot = 2.2903717395524 | epot = -22.0462122442145 | etot = -17.5977482835843 +912000 ekin = 2.22087547394806 | erot = 2.43655350626844 | epot = -21.9749682300971 | etot = -17.3175392498806 +913000 ekin = 2.19758537995934 | erot = 2.46754067556537 | epot = -21.8990451147449 | etot = -17.2339190592201 +914000 ekin = 2.14504994740269 | erot = 2.32786068060022 | epot = -21.8498156381494 | etot = -17.3769050101465 +915000 ekin = 2.15677546734478 | erot = 2.12497444036448 | epot = -21.8141432513078 | etot = -17.5323933435985 +916000 ekin = 2.2160014572559 | erot = 2.25340153292628 | epot = -21.7876876242378 | etot = -17.3182846340556 +917000 ekin = 2.23364693785389 | erot = 2.35177352781133 | epot = -21.7779589013955 | etot = -17.1925384357302 +918000 ekin = 2.08464913851938 | erot = 2.61658836146497 | epot = -21.7825075848243 | etot = -17.08127008484 +919000 ekin = 2.05155719758452 | erot = 2.37138616162095 | epot = -21.8289412030755 | etot = -17.4059978438701 +920000 ekin = 1.99021755546965 | erot = 2.17794976390656 | epot = -21.8761397201475 | etot = -17.7079724007713 +921000 ekin = 2.01039430381082 | erot = 2.29773189624593 | epot = -21.9108483283986 | etot = -17.6027221283418 +922000 ekin = 1.92539579138491 | erot = 2.21469038539231 | epot = -21.9265528183995 | etot = -17.7864666416223 +923000 ekin = 1.89135276318219 | erot = 2.48033290205602 | epot = -21.9147153156562 | etot = -17.5430296504179 +924000 ekin = 1.83373481371766 | erot = 2.30418865946995 | epot = -21.8715535507915 | etot = -17.7336300776039 +925000 ekin = 1.80384785511454 | erot = 2.49787879385034 | epot = -21.8417123497579 | etot = -17.539985700793 +926000 ekin = 1.90546414331473 | erot = 2.28964220950023 | epot = -21.8161106439945 | etot = -17.6210042911796 +927000 ekin = 1.7580003185621 | erot = 2.26185811978829 | epot = -21.8155973506605 | etot = -17.7957389123101 +928000 ekin = 1.73012385728564 | erot = 2.25745755725552 | epot = -21.8415061020356 | etot = -17.8539246874944 +929000 ekin = 1.70181106675635 | erot = 2.24508495229485 | epot = -21.9018319158879 | etot = -17.9549358968367 +930000 ekin = 1.78315203550054 | erot = 2.33522003414065 | epot = -22.0077604163365 | etot = -17.8893883466953 +931000 ekin = 1.77363895925538 | erot = 2.46038215962633 | epot = -22.1457204230464 | etot = -17.9116993041647 +932000 ekin = 1.76667271586465 | erot = 2.59245568108974 | epot = -22.3144614382831 | etot = -17.9553330413287 +933000 ekin = 1.78209785938963 | erot = 2.56752596800069 | epot = -22.4867886743831 | etot = -18.1371648469928 +934000 ekin = 1.87173647679322 | erot = 2.44750687382837 | epot = -22.6262337406975 | etot = -18.3069903900759 +935000 ekin = 1.89665977697722 | erot = 2.59891583987174 | epot = -22.7433040011002 | etot = -18.2477283842512 +936000 ekin = 1.89920259119386 | erot = 2.87375257167893 | epot = -22.8003443005922 | etot = -18.0273891377194 +937000 ekin = 1.86426948560265 | erot = 2.6477908473408 | epot = -22.7873604341046 | etot = -18.2753001011611 +938000 ekin = 1.86665683366312 | erot = 2.42302063492745 | epot = -22.7023246368742 | etot = -18.4126471682836 +939000 ekin = 1.76698390194023 | erot = 2.40739406174174 | epot = -22.5642561328094 | etot = -18.3898781691274 +940000 ekin = 1.75137690733249 | erot = 2.2407642793918 | epot = -22.3713737329341 | etot = -18.3792325462098 +941000 ekin = 1.58963621298461 | erot = 2.27191088485099 | epot = -22.1644304701045 | etot = -18.3028833722689 +942000 ekin = 1.46232602489932 | erot = 2.08408025750091 | epot = -21.9623923454062 | etot = -18.415986063006 +943000 ekin = 1.49840034172783 | erot = 2.09453482021866 | epot = -21.8214517267662 | etot = -18.2285165648197 +944000 ekin = 1.50566445428555 | erot = 2.0804963575743 | epot = -21.7243523604003 | etot = -18.1381915485405 +945000 ekin = 1.52481544863406 | erot = 2.24222261671406 | epot = -21.6950663303363 | etot = -17.9280282649882 +946000 ekin = 1.6705269846928 | erot = 2.20043430064301 | epot = -21.7083474408069 | etot = -17.837386155471 +947000 ekin = 1.75831919417236 | erot = 2.42832255803237 | epot = -21.7266669161379 | etot = -17.5400251639331 +948000 ekin = 1.77052178602355 | erot = 2.24375036337206 | epot = -21.7571925539277 | etot = -17.7429204045321 +949000 ekin = 1.90525688107151 | erot = 2.15107670024899 | epot = -21.7910913830632 | etot = -17.7347578017427 +950000 ekin = 1.99637307838944 | erot = 2.29947036820447 | epot = -21.8702527820815 | etot = -17.5744093354876 +951000 ekin = 2.10483728892661 | erot = 2.30940850407659 | epot = -21.9629695449489 | etot = -17.5487237519457 +952000 ekin = 2.18030789934715 | erot = 2.68842229181026 | epot = -22.0513964726281 | etot = -17.1826662814707 +953000 ekin = 2.29894777100509 | erot = 2.69603811292209 | epot = -22.1773476270753 | etot = -17.1823617431481 +954000 ekin = 2.50427642784842 | erot = 2.51587062326898 | epot = -22.2938756187015 | etot = -17.2737285675841 +955000 ekin = 2.68601007095003 | erot = 2.85595708623568 | epot = -22.4136942236144 | etot = -16.8717270664287 +956000 ekin = 2.86208234199811 | erot = 2.86492575592064 | epot = -22.527658282728 | etot = -16.8006501848093 +957000 ekin = 2.94712002857954 | erot = 3.23864127130547 | epot = -22.6062380946234 | etot = -16.4204767947384 +958000 ekin = 3.09033820658136 | erot = 3.08801001679431 | epot = -22.6118588804753 | etot = -16.4335106570996 +959000 ekin = 3.12093785566108 | erot = 3.07623469356954 | epot = -22.5436503994893 | etot = -16.3464778502587 +960000 ekin = 2.9069016374156 | erot = 3.01090766604238 | epot = -22.3906223678567 | etot = -16.4728130643988 +961000 ekin = 2.88926986935772 | erot = 2.81186239490758 | epot = -22.1509889576314 | etot = -16.4498566933661 +962000 ekin = 2.71651285756864 | erot = 2.69353640054316 | epot = -21.8539054312201 | etot = -16.4438561731083 +963000 ekin = 2.60409923966584 | erot = 2.39582384415016 | epot = -21.5416906703578 | etot = -16.5417675865418 +964000 ekin = 2.40781072012883 | erot = 2.16537437005288 | epot = -21.2330620721338 | etot = -16.6598769819521 +965000 ekin = 2.3377527582572 | erot = 2.03652274723743 | epot = -20.9588727103859 | etot = -16.5845972048913 +966000 ekin = 2.17944465260408 | erot = 2.02332848530725 | epot = -20.7642311299462 | etot = -16.5614579920349 +967000 ekin = 2.07498857026491 | erot = 2.11733282843234 | epot = -20.6152408895115 | etot = -16.4229194908142 +968000 ekin = 1.977515230712 | erot = 2.25496129774362 | epot = -20.5096192481148 | etot = -16.2771427196591 +969000 ekin = 1.99431122494612 | erot = 2.15454095745195 | epot = -20.4866822650025 | etot = -16.3378300826044 +970000 ekin = 2.00624797975466 | erot = 2.31644539427668 | epot = -20.4984368720275 | etot = -16.1757434979961 +971000 ekin = 2.03726182368004 | erot = 2.57406911909556 | epot = -20.5474355193071 | etot = -15.9361045765315 +972000 ekin = 2.11053299316045 | erot = 2.66924970104389 | epot = -20.5957948560729 | etot = -15.8160121618686 +973000 ekin = 2.13909953768404 | erot = 2.79309645313436 | epot = -20.6193111119725 | etot = -15.6871151211541 +974000 ekin = 2.03642559896498 | erot = 2.93377318653239 | epot = -20.614312681758 | etot = -15.6441138962606 +975000 ekin = 1.91630022907467 | erot = 2.56349308712614 | epot = -20.5694430140224 | etot = -16.0896496978216 +976000 ekin = 1.83216235810445 | erot = 2.64204586914641 | epot = -20.5231354926881 | etot = -16.0489272654372 +977000 ekin = 1.76505303121169 | erot = 2.68514846627339 | epot = -20.450057807627 | etot = -15.9998563101419 +978000 ekin = 1.73639184783128 | erot = 2.27119801193581 | epot = -20.3949825706915 | etot = -16.3873927109244 +979000 ekin = 1.81309943455166 | erot = 2.0382217960969 | epot = -20.3578721503554 | etot = -16.5065509197068 +980000 ekin = 1.79425326253144 | erot = 1.72046042714389 | epot = -20.3201056722031 | etot = -16.8053919825278 +981000 ekin = 1.84538588980124 | erot = 1.5997723280769 | epot = -20.3368599575054 | etot = -16.8917017396273 +982000 ekin = 1.9361024609619 | erot = 1.75747204617031 | epot = -20.4060032926331 | etot = -16.7124287855009 +983000 ekin = 1.99928359157551 | erot = 1.98902145591294 | epot = -20.4909781895417 | etot = -16.5026731420533 +984000 ekin = 2.19592051978336 | erot = 2.0961389717365 | epot = -20.625461827793 | etot = -16.3334023362731 +985000 ekin = 2.31254022438617 | erot = 2.24661234767528 | epot = -20.7844444229606 | etot = -16.2252918508992 +986000 ekin = 2.45455647294253 | erot = 2.08651767106892 | epot = -20.9596902957359 | etot = -16.4186161517244 +987000 ekin = 2.56068322151367 | erot = 2.27175324341725 | epot = -21.1348257089466 | etot = -16.3023892440157 +988000 ekin = 2.67201091365387 | erot = 2.31132475520005 | epot = -21.3185263075068 | etot = -16.3351906386529 +989000 ekin = 2.79950226646054 | erot = 2.49566247067108 | epot = -21.4876529502242 | etot = -16.1924882130926 +990000 ekin = 2.90927705603666 | erot = 2.70153575217409 | epot = -21.6276754302458 | etot = -16.0168626220351 +991000 ekin = 3.0768477512586 | erot = 3.08981572487771 | epot = -21.7184165043297 | etot = -15.5517530281934 +992000 ekin = 3.12051956981868 | erot = 3.14725854673712 | epot = -21.7580543270397 | etot = -15.4902762104839 +993000 ekin = 3.1206281076354 | erot = 3.10806695223056 | epot = -21.7488136709546 | etot = -15.5201186110886 +994000 ekin = 3.10341951101567 | erot = 3.39574822230794 | epot = -21.7355411993581 | etot = -15.2363734660345 +995000 ekin = 3.07116945452499 | erot = 3.61798155979366 | epot = -21.7172569404682 | etot = -15.0281059261496 +996000 ekin = 3.08751007567431 | erot = 3.2258719437312 | epot = -21.7092684412539 | etot = -15.3958864218484 +997000 ekin = 3.02133326540191 | erot = 3.2296690929186 | epot = -21.7044711321527 | etot = -15.4534687738322 +998000 ekin = 3.04814833733096 | erot = 3.33574456092159 | epot = -21.6714291500291 | etot = -15.2875362517765 +999000 ekin = 3.13698021613259 | erot = 3.24185323699451 | epot = -21.6125731456074 | etot = -15.2337396924803 +1000000 ekin = 3.12438752705776 | erot = 2.79887049874961 | epot = -21.5300188398266 | etot = -15.6067608140192 + 1000000 0.13886167 -1.3621774 0.016551227 -1.150352 9.5441241e-05 64000 +Loop time of 30.4944 on 1 procs for 1000000 steps with 16 atoms + +Performance: 28333.078 tau/day, 32792.915 timesteps/s +99.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 | 24.671 | 24.671 | 24.671 | 0.0 | 80.90 +Bond | 0.87876 | 0.87876 | 0.87876 | 0.0 | 2.88 +Neigh | 0.020568 | 0.020568 | 0.020568 | 0.0 | 0.07 +Comm | 0.3709 | 0.3709 | 0.3709 | 0.0 | 1.22 +Output | 0.15202 | 0.15202 | 0.15202 | 0.0 | 0.50 +Modify | 4.1177 | 4.1177 | 4.1177 | 0.0 | 13.50 +Other | | 0.283 | | | 0.93 + +Nlocal: 16.0000 ave 16 max 16 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 0.00000 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 105.000 ave 105 max 105 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 105 +Ave neighs/atom = 6.5625000 +Ave special neighs/atom = 3.7500000 +Neighbor list builds = 1000 +Dangerous builds = 0 + +write_data last_config.${number}.* nocoeff +write_data last_config.2.* nocoeff +System init for write_data ... +#write_restart last_config.${number}.* +Total wall time: 0:00:30 diff --git a/examples/PACKAGES/cgdna/examples/oxDNA/duplex2/log.2Jul21.duplex2.g++.4 b/examples/PACKAGES/cgdna/examples/oxDNA/duplex2/log.2Jul21.duplex2.g++.4 new file mode 100644 index 0000000000..4356b9c90d --- /dev/null +++ b/examples/PACKAGES/cgdna/examples/oxDNA/duplex2/log.2Jul21.duplex2.g++.4 @@ -0,0 +1,1173 @@ +LAMMPS (2 Jul 2021) +variable number equal 2 +variable ofreq equal 1000 +variable efreq equal 1000 +variable T equal 0.1 + +units lj + +dimension 3 + +newton on + +boundary p p p + +atom_style hybrid bond ellipsoid oxdna +WARNING: Atom style hybrid defines both, per-type and per-atom masses; both must be set, but only per-atom masses will be used (../atom_vec_hybrid.cpp:157) +atom_modify sort 0 1.0 + +# Pair interactions require lists of neighbours to be calculated +neighbor 2.0 bin +neigh_modify every 1 delay 0 check yes + +read_data data.duplex2 +Reading data file ... + orthogonal box = (-20.000000 -20.000000 -20.000000) to (20.000000 20.000000 20.000000) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 16 atoms + reading velocities ... + 16 velocities + scanning bonds ... + 1 = max bonds/atom + 16 ellipsoids + reading bonds ... + 13 bonds +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 + 2 = max # of 1-3 neighbors + 4 = max # of 1-4 neighbors + 6 = max # of special neighbors + special bonds CPU = 0.001 seconds + read_data CPU = 0.005 seconds + +set atom * mass 3.1575 +Setting atom values ... + 16 settings made for mass + +group all type 1 4 +16 atoms in group all + +# oxDNA bond interactions - FENE backbone +bond_style oxdna/fene +bond_coeff * 2.0 0.25 0.7525 +special_bonds lj 0 1 1 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 1 1 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 2 = max # of 1-3 neighbors + 4 = max # of 1-4 neighbors + 6 = max # of special neighbors + special bonds CPU = 0.000 seconds + +# oxDNA pair interactions +pair_style hybrid/overlay oxdna/excv oxdna/stk oxdna/hbond oxdna/xstk oxdna/coaxstk +pair_coeff * * oxdna/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32 +pair_coeff * * oxdna/stk seqav ${T} 1.3448 2.6568 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 +pair_coeff * * oxdna/stk seqav 0.1 1.3448 2.6568 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 +pair_coeff * * oxdna/hbond seqav 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 1 4 oxdna/hbond seqav 1.077 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 2 3 oxdna/hbond seqav 1.077 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff * * oxdna/xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68 +pair_coeff * * oxdna/coaxstk 46.0 0.4 0.6 0.22 0.58 2.0 2.541592653589793 0.65 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 -0.65 2.0 -0.65 + +# NVE ensemble +fix 1 all nve/asphere +fix 2 all langevin ${T} ${T} 2.5 457145 angmom 10 +fix 2 all langevin 0.1 ${T} 2.5 457145 angmom 10 +fix 2 all langevin 0.1 0.1 2.5 457145 angmom 10 + +timestep 1e-5 + +#comm_style tiled +fix 3 all balance 1000 1.03 shift xyz 10 1.03 +comm_modify cutoff 3.8 + +compute quat all property/atom quatw quati quatj quatk + +compute erot all erotate/asphere +compute ekin all ke +compute epot all pe +variable erot equal c_erot +variable ekin equal c_ekin +variable epot equal c_epot +variable etot equal c_erot+c_ekin+c_epot +fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes +fix 5 all print 1000 "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes + +dump out all custom ${ofreq} out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump out all custom 1000 out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump out all custom 1000 out.2.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump_modify out sort id +dump_modify out format line "%d %d %d %22.15le %22.15le %22.15le %d %d %d %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le" + +run 1000000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.9560004 + ghost atom cutoff = 3.8 + binsize = 1.4780002, bins = 28 28 28 + 4 neighbor lists, perpetual/occasional/extra = 4 0 0 + (1) pair oxdna/excv, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard + (2) pair oxdna/hbond, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none + (3) pair oxdna/xstk, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none + (4) pair oxdna/coaxstk, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none +0 ekin = 2.70475393009871 | erot = 2.80172072918779 | epot = -21.9967648054699 | etot = -16.4902901461834 +Per MPI rank memory allocation (min/avg/max) = 8.984 | 9.016 | 9.096 Mbytes +Step Temp E_pair E_mol TotEng Press Volume + 0 0.12021129 -1.3914531 0.016655298 -1.2057507 5.174549e-05 64000 +1000 ekin = 2.69992875879531 | erot = 3.03905971783101 | epot = -21.7993424099171 | etot = -16.0603539332907 +2000 ekin = 2.74236013741186 | erot = 2.48566425489664 | epot = -21.5864392778805 | etot = -16.358414885572 +3000 ekin = 2.71406239909253 | erot = 2.2379964617931 | epot = -21.4096440189505 | etot = -16.4575851580649 +4000 ekin = 2.62654210651837 | erot = 2.20187014105975 | epot = -21.2649637920051 | etot = -16.436551544427 +5000 ekin = 2.54619704507768 | erot = 2.19543579497861 | epot = -21.1625272503904 | etot = -16.4208944103341 +6000 ekin = 2.54036074498671 | erot = 2.24575383349946 | epot = -21.1026949544699 | etot = -16.3165803759837 +7000 ekin = 2.54636725719323 | erot = 2.17480262107778 | epot = -21.0944608538479 | etot = -16.3732909755769 +8000 ekin = 2.44266194745414 | erot = 1.89959276882142 | epot = -21.1290547630673 | etot = -16.7868000467917 +9000 ekin = 2.49849768578547 | erot = 1.91590827145359 | epot = -21.2010010008038 | etot = -16.7865950435647 +10000 ekin = 2.60405521154315 | erot = 2.31942457678919 | epot = -21.2714985323704 | etot = -16.3480187440381 +11000 ekin = 2.51729626827439 | erot = 2.60159361363173 | epot = -21.3305509557368 | etot = -16.2116610738307 +12000 ekin = 2.52572671978709 | erot = 2.38660744367415 | epot = -21.4045010372609 | etot = -16.4921668737996 +13000 ekin = 2.6003507735884 | erot = 2.37491144376808 | epot = -21.501501753381 | etot = -16.5262395360245 +14000 ekin = 2.66935763609378 | erot = 2.22902438599211 | epot = -21.5988036534075 | etot = -16.7004216313216 +15000 ekin = 2.71551281751847 | erot = 2.21389248221189 | epot = -21.6990132370777 | etot = -16.7696079373473 +16000 ekin = 2.84978299090939 | erot = 2.43940966993631 | epot = -21.7959192679746 | etot = -16.5067266071289 +17000 ekin = 2.95072779743509 | erot = 2.38947543725578 | epot = -21.8722593940791 | etot = -16.5320561593883 +18000 ekin = 2.85884496438636 | erot = 2.37101194861285 | epot = -21.9018380946369 | etot = -16.6719811816377 +19000 ekin = 2.77343461594062 | erot = 2.33973079907439 | epot = -21.8809702826779 | etot = -16.7678048676629 +20000 ekin = 2.58401274142397 | erot = 2.55272418280189 | epot = -21.8165314333068 | etot = -16.6797945090809 +21000 ekin = 2.51192366343062 | erot = 2.51457779660486 | epot = -21.7320362651688 | etot = -16.7055348051334 +22000 ekin = 2.49083859662966 | erot = 2.52955288592737 | epot = -21.6292667596243 | etot = -16.6088752770672 +23000 ekin = 2.39128650481518 | erot = 2.2075391744556 | epot = -21.5149142799637 | etot = -16.9160886006929 +24000 ekin = 2.35988329046228 | erot = 1.90440982269664 | epot = -21.4005066979858 | etot = -17.1362135848269 +25000 ekin = 2.28215741570376 | erot = 1.9697790536657 | epot = -21.3141881001702 | etot = -17.0622516308007 +26000 ekin = 2.19749762241965 | erot = 2.2783364703954 | epot = -21.263472573334 | etot = -16.7876384805189 +27000 ekin = 2.00825875058883 | erot = 2.19976409135101 | epot = -21.265928423673 | etot = -17.0579055817332 +28000 ekin = 1.84164368193047 | erot = 2.29604978886222 | epot = -21.2913487545157 | etot = -17.153655283723 +29000 ekin = 1.85165645974808 | erot = 2.1316357761727 | epot = -21.3636874932621 | etot = -17.3803952573413 +30000 ekin = 1.81585331071778 | erot = 2.36969485723272 | epot = -21.4672495085949 | etot = -17.2817013406444 +31000 ekin = 1.87586085382615 | erot = 2.30099083087629 | epot = -21.6118799895369 | etot = -17.4350283048345 +32000 ekin = 2.01266417384559 | erot = 2.39241064946051 | epot = -21.7843461993916 | etot = -17.3792713760855 +33000 ekin = 2.10031097060263 | erot = 2.65484725731934 | epot = -21.9744733587441 | etot = -17.2193151308221 +34000 ekin = 2.02466181562198 | erot = 2.84373149584292 | epot = -22.194126260332 | etot = -17.3257329488671 +35000 ekin = 1.97481459340813 | erot = 3.01731663707891 | epot = -22.4189097716656 | etot = -17.4267785411786 +36000 ekin = 2.01233253730944 | erot = 2.9176407320361 | epot = -22.6202547427807 | etot = -17.6902814734351 +37000 ekin = 2.07225850980039 | erot = 3.06834431569997 | epot = -22.8024087727696 | etot = -17.6618059472693 +38000 ekin = 2.05378795549781 | erot = 3.0363867535271 | epot = -22.9460226281607 | etot = -17.8558479191358 +39000 ekin = 2.06863065757201 | erot = 3.09515376673006 | epot = -23.0335342083504 | etot = -17.8697497840484 +40000 ekin = 2.00014415298571 | erot = 3.04584432430158 | epot = -23.0612280460053 | etot = -18.015239568718 +41000 ekin = 2.05172104966417 | erot = 2.77830340889767 | epot = -23.0196796418278 | etot = -18.189655183266 +42000 ekin = 2.05229847533166 | erot = 2.85273348534644 | epot = -22.9340198298525 | etot = -18.0289878691744 +43000 ekin = 1.9375580548129 | erot = 3.046505133258 | epot = -22.820917445214 | etot = -17.8368542571431 +44000 ekin = 1.84663697745675 | erot = 2.93951969808353 | epot = -22.703167317854 | etot = -17.9170106423137 +45000 ekin = 1.72975781399545 | erot = 2.60801842461352 | epot = -22.6010710155897 | etot = -18.2632947769807 +46000 ekin = 1.5918663290664 | erot = 2.62841769679508 | epot = -22.5067814781868 | etot = -18.2864974523253 +47000 ekin = 1.54109228867547 | erot = 2.65380906308329 | epot = -22.4139741210197 | etot = -18.2190727692609 +48000 ekin = 1.52801508900135 | erot = 2.56168528383555 | epot = -22.3146405234587 | etot = -18.2249401506218 +49000 ekin = 1.45236147507209 | erot = 2.19683353122211 | epot = -22.2336496311393 | etot = -18.5844546248451 +50000 ekin = 1.37133529115918 | erot = 2.38139075376814 | epot = -22.1777849612814 | etot = -18.4250589163541 +51000 ekin = 1.37894610429119 | erot = 2.55643955595488 | epot = -22.1214711763546 | etot = -18.1860855161085 +52000 ekin = 1.37307011220264 | erot = 2.64858735385417 | epot = -22.0854715362774 | etot = -18.0638140702206 +53000 ekin = 1.45140505120432 | erot = 2.86325966198773 | epot = -22.0769774994391 | etot = -17.7623127862471 +54000 ekin = 1.49400380215147 | erot = 3.02929024277184 | epot = -22.0888809603766 | etot = -17.5655869154533 +55000 ekin = 1.55040404860755 | erot = 2.51182875106841 | epot = -22.110508190484 | etot = -18.0482753908081 +56000 ekin = 1.49109168917175 | erot = 2.54803153869061 | epot = -22.1366154026192 | etot = -18.0974921747569 +57000 ekin = 1.50050137913426 | erot = 2.41737584414227 | epot = -22.1821202184231 | etot = -18.2642429951466 +58000 ekin = 1.60635589846639 | erot = 2.23996961758249 | epot = -22.2360694135128 | etot = -18.3897438974639 +59000 ekin = 1.72952597734791 | erot = 2.32633058396662 | epot = -22.2901578024364 | etot = -18.2343012411218 +60000 ekin = 1.69244797185259 | erot = 2.40027807279513 | epot = -22.3434040927657 | etot = -18.250678048118 +61000 ekin = 1.72620703032667 | erot = 2.11017860160473 | epot = -22.3831797154275 | etot = -18.5467940834961 +62000 ekin = 1.79594241743978 | erot = 2.21560837695549 | epot = -22.4218397438853 | etot = -18.41028894949 +63000 ekin = 1.77262742266283 | erot = 2.30422369990022 | epot = -22.4467748467827 | etot = -18.3699237242197 +64000 ekin = 1.85527283619093 | erot = 2.3126781136296 | epot = -22.4674777591492 | etot = -18.2995268093287 +65000 ekin = 1.78989203446879 | erot = 1.94802383598239 | epot = -22.4675168623455 | etot = -18.7296009918943 +66000 ekin = 1.77252597290745 | erot = 1.82642026775547 | epot = -22.4502267764221 | etot = -18.8512805357592 +67000 ekin = 1.80939758337874 | erot = 1.93052561353093 | epot = -22.440758264484 | etot = -18.7008350675744 +68000 ekin = 1.89908121763759 | erot = 2.02160808150964 | epot = -22.4404733275273 | etot = -18.5197840283801 +69000 ekin = 1.91605115497137 | erot = 1.99686686402571 | epot = -22.4556690038854 | etot = -18.5427509848884 +70000 ekin = 1.97266986208221 | erot = 1.99525089575647 | epot = -22.4717127742739 | etot = -18.5037920164352 +71000 ekin = 2.00234841846526 | erot = 2.03963009556294 | epot = -22.4872545087286 | etot = -18.4452759947004 +72000 ekin = 2.04989413571925 | erot = 2.251257126901 | epot = -22.5010508598365 | etot = -18.1998995972162 +73000 ekin = 1.96796663525086 | erot = 2.56091060599074 | epot = -22.5094020746161 | etot = -17.9805248333745 +74000 ekin = 1.94071763184331 | erot = 2.25118509796072 | epot = -22.4905641504119 | etot = -18.2986614206078 +75000 ekin = 1.90464776054054 | erot = 2.11018286106258 | epot = -22.4609449840088 | etot = -18.4461143624057 +76000 ekin = 1.96940901357865 | erot = 2.01632288693274 | epot = -22.4274745611146 | etot = -18.4417426606032 +77000 ekin = 1.94486767834805 | erot = 1.90684819966059 | epot = -22.3863373806159 | etot = -18.5346215026073 +78000 ekin = 1.96983919523036 | erot = 1.93099842937097 | epot = -22.344384650684 | etot = -18.4435470260826 +79000 ekin = 1.95938649015114 | erot = 1.86810626994579 | epot = -22.2942796582418 | etot = -18.4667868981449 +80000 ekin = 2.08117502277241 | erot = 1.51004106283071 | epot = -22.2616445282532 | etot = -18.6704284426501 +81000 ekin = 2.12565876638683 | erot = 1.68774361309041 | epot = -22.2503002969457 | etot = -18.4368979174685 +82000 ekin = 2.1024876598189 | erot = 1.68162562422037 | epot = -22.2731769674722 | etot = -18.4890636834329 +83000 ekin = 2.14448498615641 | erot = 1.81975712217532 | epot = -22.304671895878 | etot = -18.3404297875462 +84000 ekin = 2.13258101148045 | erot = 2.02922410781381 | epot = -22.3428808393218 | etot = -18.1810757200275 +85000 ekin = 2.08512493333083 | erot = 2.32083438054863 | epot = -22.3826539010024 | etot = -17.9766945871229 +86000 ekin = 2.17050776391433 | erot = 1.96275338625837 | epot = -22.4224341826942 | etot = -18.2891730325215 +87000 ekin = 2.2398985260089 | erot = 2.23705181642094 | epot = -22.4705294491959 | etot = -17.9935791067661 +88000 ekin = 2.27467140557785 | erot = 2.15326395377642 | epot = -22.513560970712 | etot = -18.0856256113577 +89000 ekin = 2.28843889082878 | erot = 2.12736799131705 | epot = -22.5645528135015 | etot = -18.1487459313557 +90000 ekin = 2.30332724032361 | erot = 2.29619358357547 | epot = -22.621069415243 | etot = -18.021548591344 +91000 ekin = 2.31381008485173 | erot = 2.07740016205537 | epot = -22.6563472804759 | etot = -18.2651370335688 +92000 ekin = 2.37378013130092 | erot = 2.23716627480794 | epot = -22.6690655261852 | etot = -18.0581191200763 +93000 ekin = 2.26456629794214 | erot = 2.65755706511332 | epot = -22.6595495475479 | etot = -17.7374261844924 +94000 ekin = 2.27111991294099 | erot = 2.70843483649312 | epot = -22.6144390606054 | etot = -17.6348843111713 +95000 ekin = 2.16051509784259 | erot = 2.76861411098494 | epot = -22.5458959635297 | etot = -17.6167667547022 +96000 ekin = 2.13622684332841 | erot = 3.00618377960085 | epot = -22.4457322783082 | etot = -17.3033216553789 +97000 ekin = 2.07419989457639 | erot = 2.65264916199247 | epot = -22.3153975468028 | etot = -17.588548490234 +98000 ekin = 2.11485220649791 | erot = 2.62887211771588 | epot = -22.2055031918167 | etot = -17.4617788676029 +99000 ekin = 2.14284693208925 | erot = 2.66222856414602 | epot = -22.1106632337977 | etot = -17.3055877375625 +100000 ekin = 2.1730834183665 | erot = 2.09482283074159 | epot = -22.043708504035 | etot = -17.7758022549269 +101000 ekin = 2.14866231805627 | erot = 2.38819764750835 | epot = -22.0122713210887 | etot = -17.4754113555241 +102000 ekin = 2.16493629238997 | erot = 2.64896606924374 | epot = -22.0210513992314 | etot = -17.2071490375977 +103000 ekin = 2.15114511690207 | erot = 2.56525012972715 | epot = -22.0652696455725 | etot = -17.3488743989433 +104000 ekin = 2.15671515638238 | erot = 2.62706983245359 | epot = -22.1421811666569 | etot = -17.358396177821 +105000 ekin = 2.12719541152403 | erot = 2.65706885533805 | epot = -22.2143972740324 | etot = -17.4301330071703 +106000 ekin = 2.1377470772108 | erot = 2.76654607800828 | epot = -22.2775634673612 | etot = -17.3732703121421 +107000 ekin = 2.20102004108557 | erot = 2.66823836970957 | epot = -22.3043515122748 | etot = -17.4350931014797 +108000 ekin = 2.17638500145548 | erot = 2.80828381708576 | epot = -22.3097186034589 | etot = -17.3250497849176 +109000 ekin = 2.19829684637025 | erot = 2.90666104596411 | epot = -22.282790113145 | etot = -17.1778322208107 +110000 ekin = 2.17152588755655 | erot = 2.81646086297867 | epot = -22.2246380567944 | etot = -17.2366513062592 +111000 ekin = 2.1537343646266 | erot = 2.45540077609881 | epot = -22.1236900284647 | etot = -17.5145548877393 +112000 ekin = 2.13686027679006 | erot = 2.53611388444163 | epot = -21.9714471685635 | etot = -17.2984730073318 +113000 ekin = 2.14753928432348 | erot = 2.38847611973762 | epot = -21.7866419003015 | etot = -17.2506264962404 +114000 ekin = 2.12631244931904 | erot = 2.25317215555341 | epot = -21.5978462560726 | etot = -17.2183616512002 +115000 ekin = 2.10651342910372 | erot = 2.32111327425019 | epot = -21.4106414032646 | etot = -16.9830146999107 +116000 ekin = 2.05857214689201 | erot = 2.34273379327708 | epot = -21.2543641951754 | etot = -16.8530582550063 +117000 ekin = 2.06082171760157 | erot = 2.29311267774735 | epot = -21.1252553707799 | etot = -16.771320975431 +118000 ekin = 2.07134223704075 | erot = 2.26440570108461 | epot = -21.020110076221 | etot = -16.6843621380957 +119000 ekin = 2.06457225589943 | erot = 1.93952258456715 | epot = -20.9769994108546 | etot = -16.972904570388 +120000 ekin = 2.11859853404644 | erot = 1.85164657615878 | epot = -20.9836901114857 | etot = -17.0134450012804 +121000 ekin = 2.16647853751427 | erot = 2.33645973353316 | epot = -21.0297394121115 | etot = -16.5268011410641 +122000 ekin = 2.26904266267125 | erot = 2.41049986821536 | epot = -21.1056070652395 | etot = -16.4260645343529 +123000 ekin = 2.21420535468718 | erot = 2.31638894325154 | epot = -21.1806353306483 | etot = -16.6500410327096 +124000 ekin = 2.25664202990643 | erot = 2.58640626588714 | epot = -21.2735600007682 | etot = -16.4305117049747 +125000 ekin = 2.28621615469859 | erot = 2.48741243437927 | epot = -21.33670340398 | etot = -16.5630748149022 +126000 ekin = 2.35529670025442 | erot = 2.68371862500862 | epot = -21.3743088823657 | etot = -16.3352935571027 +127000 ekin = 2.31727265883053 | erot = 2.65927495810834 | epot = -21.3864411166437 | etot = -16.4098934997048 +128000 ekin = 2.43349491835542 | erot = 2.48790131465779 | epot = -21.3667639128875 | etot = -16.4453676798743 +129000 ekin = 2.39675815548537 | erot = 2.10710860946299 | epot = -21.3539228728258 | etot = -16.8500561078775 +130000 ekin = 2.41755439047172 | erot = 1.81077952884566 | epot = -21.3548853564728 | etot = -17.1265514371554 +131000 ekin = 2.40648552369037 | erot = 1.77591735253035 | epot = -21.3574203976689 | etot = -17.1750175214481 +132000 ekin = 2.40897764408254 | erot = 1.730598467728 | epot = -21.3537520189401 | etot = -17.2141759071296 +133000 ekin = 2.37448540151596 | erot = 1.85880466212885 | epot = -21.3533218886588 | etot = -17.120031825014 +134000 ekin = 2.35796776832177 | erot = 2.06779644045339 | epot = -21.3551168402504 | etot = -16.9293526314752 +135000 ekin = 2.32265431042309 | erot = 2.18050776639534 | epot = -21.3445924581615 | etot = -16.841430381343 +136000 ekin = 2.26143919660737 | erot = 2.06564627363195 | epot = -21.3331599119328 | etot = -17.0060744416935 +137000 ekin = 2.23396906090406 | erot = 2.26473864092821 | epot = -21.3170510126767 | etot = -16.8183433108445 +138000 ekin = 2.25323790872622 | erot = 2.21298196842966 | epot = -21.3256388087684 | etot = -16.8594189316125 +139000 ekin = 2.35354475362125 | erot = 2.11114514997111 | epot = -21.4066516687639 | etot = -16.9419617651716 +140000 ekin = 2.31521381923623 | erot = 2.26671366611825 | epot = -21.4995923309512 | etot = -16.9176648455967 +141000 ekin = 2.33446890243273 | erot = 2.2458560577034 | epot = -21.5117862025255 | etot = -16.9314612423893 +142000 ekin = 2.33661695709308 | erot = 1.99377963333143 | epot = -21.5249788887696 | etot = -17.1945822983451 +143000 ekin = 2.35917698394992 | erot = 1.78177229585752 | epot = -21.5633348907872 | etot = -17.4223856109798 +144000 ekin = 2.41193656560927 | erot = 1.85068539007341 | epot = -21.6190569181184 | etot = -17.3564349624357 +145000 ekin = 2.50328391189521 | erot = 1.97991868781725 | epot = -21.6627615329474 | etot = -17.1795589332349 +146000 ekin = 2.52501086531617 | erot = 1.94890179310193 | epot = -21.7158596570766 | etot = -17.2419469986585 +147000 ekin = 2.55047937715167 | erot = 1.85137728928154 | epot = -21.7917365034049 | etot = -17.3898798369717 +148000 ekin = 2.52990172449131 | erot = 2.00218673263758 | epot = -21.8973033212467 | etot = -17.3652148641178 +149000 ekin = 2.47322709286654 | erot = 2.00142069560529 | epot = -22.0256184185787 | etot = -17.5509706301069 +150000 ekin = 2.55997956203425 | erot = 2.04181533809334 | epot = -22.1371239984736 | etot = -17.535329098346 +151000 ekin = 2.44470695881357 | erot = 2.34031071867535 | epot = -22.2527174105277 | etot = -17.4676997330388 +152000 ekin = 2.44475737305745 | erot = 2.26076754628984 | epot = -22.3351232248327 | etot = -17.6295983054854 +153000 ekin = 2.46166206744171 | erot = 2.17894561391992 | epot = -22.3636879590958 | etot = -17.7230802777341 +154000 ekin = 2.49242904735496 | erot = 2.18959276990461 | epot = -22.3683882355899 | etot = -17.6863664183303 +155000 ekin = 2.44328722883231 | erot = 2.13628761933913 | epot = -22.3356925905996 | etot = -17.7561177424282 +156000 ekin = 2.45031007040204 | erot = 2.26271751825021 | epot = -22.2682169791444 | etot = -17.5551893904921 +157000 ekin = 2.46907480878132 | erot = 1.93271915185536 | epot = -22.2160752580766 | etot = -17.8142812974399 +158000 ekin = 2.47549100134241 | erot = 1.8913430375128 | epot = -22.1750861634876 | etot = -17.8082521246323 +159000 ekin = 2.44378132199929 | erot = 1.82517595680765 | epot = -22.1335445885755 | etot = -17.8645873097686 +160000 ekin = 2.35644874685005 | erot = 1.85678861125791 | epot = -22.1078628335997 | etot = -17.8946254754918 +161000 ekin = 2.44175357097686 | erot = 2.14888928050333 | epot = -22.1031987495152 | etot = -17.512555898035 +162000 ekin = 2.46554036240822 | erot = 2.05333880369385 | epot = -22.1046164027324 | etot = -17.5857372366303 +163000 ekin = 2.36847802529543 | erot = 2.16987713772662 | epot = -22.1331210722207 | etot = -17.5947659091986 +164000 ekin = 2.31295455943998 | erot = 2.1887977205257 | epot = -22.1887776544464 | etot = -17.6870253744808 +165000 ekin = 2.37278415235371 | erot = 2.59415671104245 | epot = -22.269158133539 | etot = -17.3022172701428 +166000 ekin = 2.4571517702507 | erot = 2.91759661846332 | epot = -22.3489659308413 | etot = -16.9742175421273 +167000 ekin = 2.52772481698523 | erot = 2.95707760474977 | epot = -22.4233688575491 | etot = -16.9385664358141 +168000 ekin = 2.38117634975353 | erot = 2.66863240829489 | epot = -22.4863077773179 | etot = -17.4364990192695 +169000 ekin = 2.37442003008243 | erot = 3.02523535510244 | epot = -22.5524544630733 | etot = -17.1527990778884 +170000 ekin = 2.35912346263692 | erot = 3.26723708493091 | epot = -22.5931462410023 | etot = -16.9667856934345 +171000 ekin = 2.30318527402303 | erot = 3.14616282609875 | epot = -22.609006009243 | etot = -17.1596579091213 +172000 ekin = 2.2740316291813 | erot = 3.03566839385151 | epot = -22.5926818968567 | etot = -17.2829818738239 +173000 ekin = 2.2834164296893 | erot = 3.07205239473259 | epot = -22.5825638558613 | etot = -17.2270950314394 +174000 ekin = 2.32458116486063 | erot = 3.00979281518586 | epot = -22.5948442115049 | etot = -17.2604702314584 +175000 ekin = 2.28314539624411 | erot = 2.68632336807997 | epot = -22.6176552757194 | etot = -17.6481865113953 +176000 ekin = 2.39450710620737 | erot = 2.64107287395728 | epot = -22.6667041549035 | etot = -17.6311241747389 +177000 ekin = 2.34061737024895 | erot = 2.84587683178913 | epot = -22.7367147797011 | etot = -17.550220577663 +178000 ekin = 2.37612348031839 | erot = 3.01155432501149 | epot = -22.8363255725682 | etot = -17.4486477672383 +179000 ekin = 2.44543239233025 | erot = 2.86468226567423 | epot = -22.9489860454763 | etot = -17.6388713874718 +180000 ekin = 2.43660202081815 | erot = 2.76977637853855 | epot = -23.0553980647271 | etot = -17.8490196653704 +181000 ekin = 2.48112579799578 | erot = 2.62783914170244 | epot = -23.1486576952534 | etot = -18.0396927555552 +182000 ekin = 2.49495772650956 | erot = 2.4219283767703 | epot = -23.2214385077917 | etot = -18.3045524045118 +183000 ekin = 2.64232135835008 | erot = 2.16689603195343 | epot = -23.2638526717324 | etot = -18.4546352814289 +184000 ekin = 2.60197203740116 | erot = 2.23382360906437 | epot = -23.281896504963 | etot = -18.4461008584975 +185000 ekin = 2.57711189972515 | erot = 2.46016697006761 | epot = -23.3003293492567 | etot = -18.263050479464 +186000 ekin = 2.52186177988752 | erot = 2.57013836767114 | epot = -23.3067390551247 | etot = -18.2147389075661 +187000 ekin = 2.50245214010155 | erot = 2.79417927414254 | epot = -23.2961635629811 | etot = -17.999532148737 +188000 ekin = 2.46480838237763 | erot = 3.04604077517077 | epot = -23.2499789204155 | etot = -17.7391297628671 +189000 ekin = 2.30511335916345 | erot = 2.75740516208171 | epot = -23.1747970843814 | etot = -18.1122785631363 +190000 ekin = 2.21392698297057 | erot = 2.7195569697482 | epot = -23.0904117080343 | etot = -18.1569277553156 +191000 ekin = 2.16967810266233 | erot = 2.75919231540795 | epot = -23.0140192997739 | etot = -18.0851488817036 +192000 ekin = 1.98382084286023 | erot = 3.0342957441601 | epot = -22.932931475377 | etot = -17.9148148883567 +193000 ekin = 1.85970667375602 | erot = 2.92182615510918 | epot = -22.8656246963102 | etot = -18.0840918674449 +194000 ekin = 1.79296966804507 | erot = 2.88349607002158 | epot = -22.8222401649262 | etot = -18.1457744268595 +195000 ekin = 1.64582813172123 | erot = 2.50667314432805 | epot = -22.7522033865825 | etot = -18.5997021105332 +196000 ekin = 1.60167277963834 | erot = 2.389891779398 | epot = -22.6637097277972 | etot = -18.6721451687609 +197000 ekin = 1.71167813407953 | erot = 2.0958900785364 | epot = -22.5747312796683 | etot = -18.7671630670524 +198000 ekin = 1.6477625476503 | erot = 1.92608890072771 | epot = -22.4842649258581 | etot = -18.9104134774801 +199000 ekin = 1.65621021226667 | erot = 2.21876596478764 | epot = -22.4280470542138 | etot = -18.5530708771595 +200000 ekin = 1.68396557470043 | erot = 2.18851360029551 | epot = -22.3792802940388 | etot = -18.5068011190429 +201000 ekin = 1.58452256050707 | erot = 2.76907779285225 | epot = -22.3014443905322 | etot = -17.9478440371729 +202000 ekin = 1.54321939213116 | erot = 2.44655962102416 | epot = -22.2136540120257 | etot = -18.2238749988704 +203000 ekin = 1.49527423056762 | erot = 2.44440846517485 | epot = -22.1231335789825 | etot = -18.18345088324 +204000 ekin = 1.42525079936429 | erot = 2.83745592867434 | epot = -22.0409614513841 | etot = -17.7782547233455 +205000 ekin = 1.42978422295413 | erot = 2.95341773064209 | epot = -21.9571851603537 | etot = -17.5739832067575 +206000 ekin = 1.36049778309753 | erot = 2.83549996707315 | epot = -21.8974335725847 | etot = -17.701435822414 +207000 ekin = 1.29887157812385 | erot = 3.03783363013874 | epot = -21.8430515160585 | etot = -17.5063463077959 +208000 ekin = 1.34341544648367 | erot = 3.11373358018432 | epot = -21.7856032354132 | etot = -17.3284542087452 +209000 ekin = 1.37014771279221 | erot = 2.91335961336079 | epot = -21.7135808557961 | etot = -17.4300735296431 +210000 ekin = 1.42476756889871 | erot = 2.89331189478055 | epot = -21.5850142544314 | etot = -17.2669347907521 +211000 ekin = 1.34927361868025 | erot = 2.68288143618388 | epot = -21.4400426672502 | etot = -17.407887612386 +212000 ekin = 1.49128069580886 | erot = 2.70604382180414 | epot = -21.2914762616266 | etot = -17.0941517440136 +213000 ekin = 1.59986466327348 | erot = 2.65822930237663 | epot = -21.1410448576728 | etot = -16.8829508920227 +214000 ekin = 1.5757095331727 | erot = 2.79629927670816 | epot = -20.9904223688208 | etot = -16.6184135589399 +215000 ekin = 1.63256105235984 | erot = 2.69597024855507 | epot = -20.8601256454149 | etot = -16.5315943445 +216000 ekin = 1.6706438526472 | erot = 2.44739930798256 | epot = -20.7555716480128 | etot = -16.637528487383 +217000 ekin = 1.62188800637991 | erot = 2.43305557283328 | epot = -20.7224133282123 | etot = -16.6674697489991 +218000 ekin = 1.64606636901754 | erot = 2.64869814661889 | epot = -20.7502510322015 | etot = -16.4554865165651 +219000 ekin = 1.70353414409861 | erot = 2.79972211302508 | epot = -20.7845992910569 | etot = -16.2813430339333 +220000 ekin = 1.74880022179267 | erot = 2.64905074347642 | epot = -20.8396457684434 | etot = -16.4417948031743 +221000 ekin = 1.81236487768055 | erot = 2.93669133915729 | epot = -20.9499015869697 | etot = -16.2008453701318 +222000 ekin = 1.8464916185936 | erot = 2.8528717577386 | epot = -21.0927343336171 | etot = -16.3933709572849 +223000 ekin = 1.87441660338496 | erot = 2.96311764811079 | epot = -21.256488559318 | etot = -16.4189543078222 +224000 ekin = 2.099077858395 | erot = 2.75433402152822 | epot = -21.4248183617082 | etot = -16.5714064817849 +225000 ekin = 2.30010533938633 | erot = 2.67454361218696 | epot = -21.6008171170613 | etot = -16.626168165488 +226000 ekin = 2.42689725101247 | erot = 2.70736025408605 | epot = -21.7515066872426 | etot = -16.6172491821441 +227000 ekin = 2.5489592916598 | erot = 2.79460739709124 | epot = -21.8741313055211 | etot = -16.5305646167701 +228000 ekin = 2.61677978890101 | erot = 2.79388359916089 | epot = -21.973054308316 | etot = -16.5623909202541 +229000 ekin = 2.63216772040858 | erot = 2.92346177925241 | epot = -22.0307357525402 | etot = -16.4751062528792 +230000 ekin = 2.58390489345892 | erot = 2.87686964533661 | epot = -22.0461245567339 | etot = -16.5853500179384 +231000 ekin = 2.66188078761021 | erot = 2.60162661808981 | epot = -22.0186848953781 | etot = -16.7551774896781 +232000 ekin = 2.65841421937251 | erot = 2.5895008496799 | epot = -21.952644801982 | etot = -16.7047297329296 +233000 ekin = 2.67013502535664 | erot = 2.39334157986007 | epot = -21.8593772977148 | etot = -16.7959006924981 +234000 ekin = 2.55687226826843 | erot = 2.28743657262095 | epot = -21.7196048549654 | etot = -16.875296014076 +235000 ekin = 2.40908240211938 | erot = 2.18856718834614 | epot = -21.5568246763417 | etot = -16.9591750858761 +236000 ekin = 2.45296495728498 | erot = 1.73228998399408 | epot = -21.3990016680233 | etot = -17.2137467267443 +237000 ekin = 2.45647675573909 | erot = 1.55838299475453 | epot = -21.2711453873863 | etot = -17.2562856368927 +238000 ekin = 2.45085948587478 | erot = 1.73357194764442 | epot = -21.1889221126868 | etot = -17.0044906791676 +239000 ekin = 2.46602609451874 | erot = 1.90065188676605 | epot = -21.166756319606 | etot = -16.8000783383212 +240000 ekin = 2.33796945986692 | erot = 2.10011736609387 | epot = -21.1933792884251 | etot = -16.7552924624643 +241000 ekin = 2.44155086640189 | erot = 2.52942218937962 | epot = -21.2654521458313 | etot = -16.2944790900498 +242000 ekin = 2.43726026146497 | erot = 2.56189785799929 | epot = -21.3596468217689 | etot = -16.3604887023046 +243000 ekin = 2.38527720170892 | erot = 2.92483517968791 | epot = -21.4476955876489 | etot = -16.1375832062521 +244000 ekin = 2.43305152135009 | erot = 3.13030199682032 | epot = -21.5253542662414 | etot = -15.962000748071 +245000 ekin = 2.34248058405637 | erot = 3.39654754017984 | epot = -21.5746719384287 | etot = -15.8356438141925 +246000 ekin = 2.22203010314013 | erot = 3.24539512103687 | epot = -21.6102612139387 | etot = -16.1428359897617 +247000 ekin = 2.18161414825927 | erot = 3.17708625003423 | epot = -21.6121017617733 | etot = -16.2534013634798 +248000 ekin = 2.1478602785734 | erot = 2.93493583442515 | epot = -21.5821175301772 | etot = -16.4993214171787 +249000 ekin = 2.1154622560352 | erot = 2.65676577989598 | epot = -21.5328260462557 | etot = -16.7605980103245 +250000 ekin = 2.08258254452512 | erot = 2.5127810917753 | epot = -21.4612192152784 | etot = -16.865855578978 +251000 ekin = 1.97424894878218 | erot = 2.34806738759122 | epot = -21.3923428532782 | etot = -17.0700265169048 +252000 ekin = 1.97048808369658 | erot = 1.99115759882258 | epot = -21.3271316585962 | etot = -17.365485976077 +253000 ekin = 2.01408243379406 | erot = 2.32755027924602 | epot = -21.2782132891153 | etot = -16.9365805760753 +254000 ekin = 2.08055003788165 | erot = 1.89671800228131 | epot = -21.2526263857111 | etot = -17.2753583455481 +255000 ekin = 2.03693196256137 | erot = 2.07777286412269 | epot = -21.2590218685806 | etot = -17.1443170418966 +256000 ekin = 2.09443852502215 | erot = 1.9307299733728 | epot = -21.2924018193622 | etot = -17.2672333209673 +257000 ekin = 2.15892268396653 | erot = 1.80542946186151 | epot = -21.3549991612156 | etot = -17.3906470153876 +258000 ekin = 2.17985531861447 | erot = 1.78899461221364 | epot = -21.4290810676496 | etot = -17.4602311368214 +259000 ekin = 2.21879481100378 | erot = 2.00042152481937 | epot = -21.5156859416453 | etot = -17.2964696058222 +260000 ekin = 2.23230781087038 | erot = 1.9246911998121 | epot = -21.5739218213468 | etot = -17.4169228106643 +261000 ekin = 2.20725422443409 | erot = 1.9506311297175 | epot = -21.6226626065191 | etot = -17.4647772523675 +262000 ekin = 2.25364220587787 | erot = 1.86806956106366 | epot = -21.6606203978344 | etot = -17.5389086308929 +263000 ekin = 2.27451911244103 | erot = 1.88576182425905 | epot = -21.6707355563002 | etot = -17.5104546196001 +264000 ekin = 2.31743274100668 | erot = 1.89043794607685 | epot = -21.665836761993 | etot = -17.4579660749095 +265000 ekin = 2.34289229985172 | erot = 2.08595197099478 | epot = -21.6767978216755 | etot = -17.247953550829 +266000 ekin = 2.38993006534833 | erot = 2.06541078395749 | epot = -21.7067349963998 | etot = -17.251394147094 +267000 ekin = 2.42913514053654 | erot = 1.90515845127836 | epot = -21.7537718671937 | etot = -17.4194782753788 +268000 ekin = 2.56337406000808 | erot = 1.9262375618368 | epot = -21.8331768183359 | etot = -17.3435651964911 +269000 ekin = 2.61168966394751 | erot = 1.99189529087476 | epot = -21.8974804447419 | etot = -17.2938954899196 +270000 ekin = 2.53639435963124 | erot = 2.18070434963338 | epot = -21.9584187694415 | etot = -17.2413200601769 +271000 ekin = 2.47304999487576 | erot = 2.35836713203746 | epot = -21.9991923760467 | etot = -17.1677752491335 +272000 ekin = 2.47073160362057 | erot = 2.18239415020593 | epot = -22.0193810519898 | etot = -17.3662552981633 +273000 ekin = 2.41611288682344 | erot = 2.11264062363068 | epot = -22.0447361710735 | etot = -17.5159826606194 +274000 ekin = 2.33309205622051 | erot = 2.12677358473254 | epot = -22.0456863660977 | etot = -17.5858207251447 +275000 ekin = 2.2532514977808 | erot = 2.1934534644948 | epot = -21.9873759762877 | etot = -17.5406710140121 +276000 ekin = 2.11579900114231 | erot = 2.01180248953941 | epot = -21.898147992951 | etot = -17.7705465022692 +277000 ekin = 2.01204365223002 | erot = 1.98722100035171 | epot = -21.7960888645597 | etot = -17.796824211978 +278000 ekin = 1.94141858256043 | erot = 2.28521819509407 | epot = -21.7113859217471 | etot = -17.4847491440926 +279000 ekin = 1.83792081872233 | erot = 2.29363129336715 | epot = -21.6511613802401 | etot = -17.5196092681506 +280000 ekin = 1.73807918416884 | erot = 2.50531944195158 | epot = -21.6488609007439 | etot = -17.4054622746235 +281000 ekin = 1.7343274310991 | erot = 2.68378820070505 | epot = -21.6510875258492 | etot = -17.232971894045 +282000 ekin = 1.70745435944703 | erot = 2.46311716439966 | epot = -21.7026331884707 | etot = -17.5320616646241 +283000 ekin = 1.60185741540728 | erot = 2.73972949535769 | epot = -21.7889693093868 | etot = -17.4473823986219 +284000 ekin = 1.45656966763946 | erot = 3.08718988751354 | epot = -21.9109766986026 | etot = -17.3672171434496 +285000 ekin = 1.52336397324813 | erot = 3.23489044535602 | epot = -22.077134823922 | etot = -17.3188804053178 +286000 ekin = 1.52886747117861 | erot = 3.26500488671044 | epot = -22.2419806366666 | etot = -17.4481082787776 +287000 ekin = 1.55827258137914 | erot = 3.21853982890253 | epot = -22.3745806229378 | etot = -17.5977682126562 +288000 ekin = 1.62221220393012 | erot = 3.11944065317533 | epot = -22.4753647550738 | etot = -17.7337118979683 +289000 ekin = 1.6725177195504 | erot = 2.53263586427476 | epot = -22.5286401037665 | etot = -18.3234865199413 +290000 ekin = 1.79922183320684 | erot = 2.60060797838042 | epot = -22.5663935494001 | etot = -18.1665637378129 +291000 ekin = 1.83910683599852 | erot = 2.21931974991997 | epot = -22.5984502564983 | etot = -18.5400236705798 +292000 ekin = 1.94895219983996 | erot = 2.13471584079374 | epot = -22.6223121384565 | etot = -18.5386440978228 +293000 ekin = 2.00848212838236 | erot = 2.19116654326696 | epot = -22.6334508938888 | etot = -18.4338022222395 +294000 ekin = 2.10559198417455 | erot = 1.93202707864317 | epot = -22.6586912703105 | etot = -18.6210722074928 +295000 ekin = 2.21769154753227 | erot = 1.88155097269466 | epot = -22.7095788430015 | etot = -18.6103363227746 +296000 ekin = 2.33458415024599 | erot = 2.23498610265743 | epot = -22.7640278342613 | etot = -18.1944575813579 +297000 ekin = 2.4288563229209 | erot = 1.96776290060617 | epot = -22.8238447137231 | etot = -18.427225490196 +298000 ekin = 2.55470243764216 | erot = 2.23334330823271 | epot = -22.9186285858851 | etot = -18.1305828400102 +299000 ekin = 2.66453185837124 | erot = 2.34987058034016 | epot = -23.0168248151097 | etot = -18.0024223763983 +300000 ekin = 2.72119699302716 | erot = 2.29170874462643 | epot = -23.0901056634067 | etot = -18.0771999257531 +301000 ekin = 2.81586193114724 | erot = 2.13213339022168 | epot = -23.1495883754428 | etot = -18.2015930540739 +302000 ekin = 2.91520994762744 | erot = 1.8827605169696 | epot = -23.1915517299786 | etot = -18.3935812653816 +303000 ekin = 3.00910392441906 | erot = 1.95969044044566 | epot = -23.2200453504933 | etot = -18.2512509856286 +304000 ekin = 3.09252107593619 | erot = 1.6252402693675 | epot = -23.236224750659 | etot = -18.5184634053553 +305000 ekin = 3.18333327783383 | erot = 1.6471076729939 | epot = -23.2396880778629 | etot = -18.4092471270352 +306000 ekin = 3.23038524508787 | erot = 1.86572791579384 | epot = -23.222672281532 | etot = -18.1265591206503 +307000 ekin = 3.17553918919369 | erot = 2.33048974790651 | epot = -23.1930577755999 | etot = -17.6870288384997 +308000 ekin = 3.05565196722459 | erot = 2.12851261980203 | epot = -23.1373688624437 | etot = -17.9532042754171 +309000 ekin = 3.06886265684608 | erot = 2.25716457141466 | epot = -23.0626811521325 | etot = -17.7366539238718 +310000 ekin = 2.91034787850185 | erot = 2.45832048654338 | epot = -23.0039736316975 | etot = -17.6353052666522 +311000 ekin = 2.80209798482135 | erot = 2.69963602433984 | epot = -22.9644587572485 | etot = -17.4627247480873 +312000 ekin = 2.89133577486423 | erot = 2.91057311416264 | epot = -22.9280382115918 | etot = -17.126129322565 +313000 ekin = 2.85188593774405 | erot = 2.647560991136 | epot = -22.9072517674231 | etot = -17.407804838543 +314000 ekin = 2.78595369543581 | erot = 2.70015943474036 | epot = -22.9231273154876 | etot = -17.4370141853114 +315000 ekin = 2.80274029888255 | erot = 2.58977766570975 | epot = -22.9544686180926 | etot = -17.5619506535003 +316000 ekin = 2.8131693061063 | erot = 2.69098007120303 | epot = -22.9778084391865 | etot = -17.4736590618771 +317000 ekin = 2.92747042873615 | erot = 2.60588706069167 | epot = -22.9662401312093 | etot = -17.4328826417815 +318000 ekin = 2.92235999955187 | erot = 2.47590791759846 | epot = -22.9395079234947 | etot = -17.5412400063443 +319000 ekin = 2.95294558428569 | erot = 2.32846959673444 | epot = -22.8862142058978 | etot = -17.6047990248777 +320000 ekin = 2.96034320261015 | erot = 1.9613246232207 | epot = -22.8325608441838 | etot = -17.9108930183529 +321000 ekin = 3.0506123149287 | erot = 1.60256900115909 | epot = -22.7729675622172 | etot = -18.1197862461294 +322000 ekin = 3.06917008169242 | erot = 1.78242384845945 | epot = -22.7183310735855 | etot = -17.8667371434336 +323000 ekin = 3.01773744699225 | erot = 1.54792296048668 | epot = -22.6793347879491 | etot = -18.1136743804702 +324000 ekin = 3.00480822228207 | erot = 1.41906862436121 | epot = -22.6494390826943 | etot = -18.225562236051 +325000 ekin = 2.89783034430756 | erot = 1.53330273244729 | epot = -22.6175860707658 | etot = -18.186452994011 +326000 ekin = 2.86411015648586 | erot = 1.46437933803477 | epot = -22.5787186521105 | etot = -18.2502291575899 +327000 ekin = 2.85311531697703 | erot = 1.586968215819 | epot = -22.5591982819074 | etot = -18.1191147491114 +328000 ekin = 2.86747144026844 | erot = 1.74413948970451 | epot = -22.5408974569851 | etot = -17.9292865270122 +329000 ekin = 2.78611224528683 | erot = 1.59178805962532 | epot = -22.4940152398142 | etot = -18.116114934902 +330000 ekin = 2.69317692812664 | erot = 1.77728472427353 | epot = -22.4199575472594 | etot = -17.9494958948593 +331000 ekin = 2.66550770553886 | erot = 1.86897796248962 | epot = -22.3262951615913 | etot = -17.7918094935628 +332000 ekin = 2.46548011243449 | erot = 1.7863999774723 | epot = -22.2432651292251 | etot = -17.9913850393183 +333000 ekin = 2.38707429510581 | erot = 1.88540525492867 | epot = -22.1912828165259 | etot = -17.9188032664914 +334000 ekin = 2.2984232336711 | erot = 1.9156954724491 | epot = -22.1605657807781 | etot = -17.9464470746579 +335000 ekin = 2.14328705611348 | erot = 1.93351743363523 | epot = -22.1267428568707 | etot = -18.049938367122 +336000 ekin = 2.17230386456888 | erot = 1.84213347788919 | epot = -22.0906093676854 | etot = -18.0761720252273 +337000 ekin = 2.12998408141735 | erot = 1.61504892612894 | epot = -22.0362365245475 | etot = -18.2912035170012 +338000 ekin = 2.2234410055195 | erot = 1.68131888644295 | epot = -21.9914967299634 | etot = -18.0867368380009 +339000 ekin = 2.17397763598084 | erot = 2.04937445475351 | epot = -21.9399664944352 | etot = -17.7166144037009 +340000 ekin = 2.20074652018769 | erot = 2.20161688813931 | epot = -21.9270463566988 | etot = -17.5246829483718 +341000 ekin = 2.27511078184168 | erot = 2.29314361762742 | epot = -21.9408735448824 | etot = -17.3726191454132 +342000 ekin = 2.23496832750102 | erot = 2.56505101253473 | epot = -21.9730675845141 | etot = -17.1730482444784 +343000 ekin = 2.1418080972412 | erot = 2.97675645193228 | epot = -21.9956779914414 | etot = -16.8771134422679 +344000 ekin = 2.21267070166951 | erot = 2.2214319223185 | epot = -22.0021896006044 | etot = -17.5680869766164 +345000 ekin = 2.33078283444885 | erot = 2.24242604297002 | epot = -22.0150204126161 | etot = -17.4418115351972 +346000 ekin = 2.34407159811772 | erot = 1.99201495775964 | epot = -22.0385016930848 | etot = -17.7024151372074 +347000 ekin = 2.44088137371629 | erot = 2.12531879806791 | epot = -22.0618508546084 | etot = -17.4956506828242 +348000 ekin = 2.64914602526502 | erot = 2.46233252053005 | epot = -22.0937551106249 | etot = -16.9822765648298 +349000 ekin = 2.74052569579444 | erot = 2.48588913287134 | epot = -22.1113349203142 | etot = -16.8849200916484 +350000 ekin = 2.63009093889676 | erot = 2.96194682397746 | epot = -22.1188176550616 | etot = -16.5267798921874 +351000 ekin = 2.58934992266522 | erot = 2.8770434785033 | epot = -22.1025806281004 | etot = -16.6361872269319 +352000 ekin = 2.54228487046046 | erot = 2.63361513807466 | epot = -22.0652686765352 | etot = -16.8893686680001 +353000 ekin = 2.53249364323794 | erot = 2.47221948070279 | epot = -22.0318641173351 | etot = -17.0271509933944 +354000 ekin = 2.56206560145027 | erot = 2.34662515218716 | epot = -22.0126143901229 | etot = -17.1039236364855 +355000 ekin = 2.53151865051015 | erot = 2.4113052948177 | epot = -21.9989758809431 | etot = -17.0561519356152 +356000 ekin = 2.38856942051704 | erot = 2.45957154153151 | epot = -21.9929238390891 | etot = -17.1447828770405 +357000 ekin = 2.3850318504501 | erot = 2.38151023524606 | epot = -22.0040942348341 | etot = -17.2375521491379 +358000 ekin = 2.4475851295007 | erot = 2.71803579945329 | epot = -22.0072561961478 | etot = -16.8416352671938 +359000 ekin = 2.38516688439539 | erot = 2.57286490732318 | epot = -21.9670271651238 | etot = -17.0089953734052 +360000 ekin = 2.33663079544671 | erot = 2.56848564652214 | epot = -21.918164841109 | etot = -17.0130483991401 +361000 ekin = 2.42677922379501 | erot = 2.37500774993747 | epot = -21.8672713761358 | etot = -17.0654844024034 +362000 ekin = 2.4605364062408 | erot = 2.49590481611227 | epot = -21.7779995387161 | etot = -16.821558316363 +363000 ekin = 2.55310738370238 | erot = 2.17768318633134 | epot = -21.6776820779023 | etot = -16.9468915078686 +364000 ekin = 2.56780109725782 | erot = 2.16474191665872 | epot = -21.5533633280085 | etot = -16.820820314092 +365000 ekin = 2.59901975131891 | erot = 1.71409893021137 | epot = -21.4252112523553 | etot = -17.1120925708251 +366000 ekin = 2.80245009247375 | erot = 1.44048381506929 | epot = -21.3115965871059 | etot = -17.0686626795629 +367000 ekin = 2.85134090040929 | erot = 1.61253537083185 | epot = -21.2054965437889 | etot = -16.7416202725478 +368000 ekin = 3.00720175661763 | erot = 1.37649145802379 | epot = -21.1143147590192 | etot = -16.7306215443778 +369000 ekin = 3.02782850583648 | erot = 1.29964512201197 | epot = -21.0456750388441 | etot = -16.7182014109956 +370000 ekin = 2.96718136039117 | erot = 1.45830059090199 | epot = -20.9956751371928 | etot = -16.5701931858996 +371000 ekin = 2.97398053523901 | erot = 1.26453322843173 | epot = -20.9819115867117 | etot = -16.7433978230409 +372000 ekin = 2.93284410498009 | erot = 1.41224205422983 | epot = -20.990879656372 | etot = -16.6457934971621 +373000 ekin = 2.88790034010472 | erot = 1.42564554966123 | epot = -21.033892399397 | etot = -16.720346509631 +374000 ekin = 2.82344708085647 | erot = 1.62526123419929 | epot = -21.0946345683056 | etot = -16.6459262532498 +375000 ekin = 2.9048191689212 | erot = 1.74642067705861 | epot = -21.2008783966459 | etot = -16.5496385506661 +376000 ekin = 2.84134799892075 | erot = 1.8767542209254 | epot = -21.3649261105939 | etot = -16.6468238907477 +377000 ekin = 2.86364799078519 | erot = 1.9339338094908 | epot = -21.5406268140668 | etot = -16.7430450137908 +378000 ekin = 2.9048300489525 | erot = 2.17252781549638 | epot = -21.7155346442895 | etot = -16.6381767798406 +379000 ekin = 2.8865075586177 | erot = 1.96118442992092 | epot = -21.8538626049786 | etot = -17.00617061644 +380000 ekin = 2.88651329834493 | erot = 2.08410077478125 | epot = -21.9401095058158 | etot = -16.9694954326896 +381000 ekin = 2.84108364234509 | erot = 2.36602406894656 | epot = -21.9810439461896 | etot = -16.7739362348979 +382000 ekin = 2.65581712933844 | erot = 2.32549072457609 | epot = -21.9604472596471 | etot = -16.9791394057325 +383000 ekin = 2.66697103963134 | erot = 2.19715446258975 | epot = -21.8997743494524 | etot = -17.0356488472313 +384000 ekin = 2.71347175798932 | erot = 2.08604535797532 | epot = -21.8256490214724 | etot = -17.0261319055078 +385000 ekin = 2.5886627289133 | erot = 2.07169637253237 | epot = -21.7588277650259 | etot = -17.0984686635803 +386000 ekin = 2.61416908347419 | erot = 2.12402378221524 | epot = -21.7275890588648 | etot = -16.9893961931754 +387000 ekin = 2.70373372534934 | erot = 2.21149248908639 | epot = -21.7114203261747 | etot = -16.7961941117389 +388000 ekin = 2.74978383236821 | erot = 2.03622128721583 | epot = -21.7171286702607 | etot = -16.9311235506767 +389000 ekin = 2.7587615131327 | erot = 2.35914494269191 | epot = -21.7195350651328 | etot = -16.6016286093082 +390000 ekin = 2.87281151326102 | erot = 2.14919283772492 | epot = -21.7092098874033 | etot = -16.6872055364173 +391000 ekin = 2.88070946214061 | erot = 2.15553640701991 | epot = -21.7308938242004 | etot = -16.6946479550399 +392000 ekin = 2.85350413424044 | erot = 1.95551148082617 | epot = -21.7800211133376 | etot = -16.9710054982709 +393000 ekin = 2.90295298668572 | erot = 2.00031478831759 | epot = -21.8483879920449 | etot = -16.9451202170416 +394000 ekin = 2.87980364418051 | erot = 2.13854428764095 | epot = -21.927891035529 | etot = -16.9095431037075 +395000 ekin = 2.89980834808654 | erot = 2.27975081097515 | epot = -22.0016489908303 | etot = -16.8220898317686 +396000 ekin = 2.93605574834046 | erot = 2.28756221501388 | epot = -22.083719356273 | etot = -16.8601013929187 +397000 ekin = 2.80779171295695 | erot = 2.19257867663266 | epot = -22.1878285992743 | etot = -17.1874582096847 +398000 ekin = 2.65560496560027 | erot = 2.63286768292204 | epot = -22.2927014267366 | etot = -17.0042287782143 +399000 ekin = 2.70831299977891 | erot = 2.28957359120763 | epot = -22.4133968187074 | etot = -17.4155102277209 +400000 ekin = 2.62631472682176 | erot = 2.32258453004918 | epot = -22.5144474162178 | etot = -17.5655481593469 +401000 ekin = 2.61084599477578 | erot = 2.5915842232175 | epot = -22.6219132294945 | etot = -17.4194830115012 +402000 ekin = 2.635885903201 | erot = 2.77714471535857 | epot = -22.7264979351378 | etot = -17.3134673165782 +403000 ekin = 2.57124299169003 | erot = 2.91857224360661 | epot = -22.7998184812975 | etot = -17.3100032460009 +404000 ekin = 2.64669440558066 | erot = 2.93356467106672 | epot = -22.8394282855353 | etot = -17.2591692088879 +405000 ekin = 2.6313696260396 | erot = 3.04830494377478 | epot = -22.8811547071105 | etot = -17.2014801372961 +406000 ekin = 2.57687330940512 | erot = 2.89269043406033 | epot = -22.8904487120533 | etot = -17.4208849685879 +407000 ekin = 2.5618448960505 | erot = 3.08692656736122 | epot = -22.8853592595439 | etot = -17.2365877961322 +408000 ekin = 2.54127249851751 | erot = 3.17601770471241 | epot = -22.9006717760476 | etot = -17.1833815728177 +409000 ekin = 2.53459046783758 | erot = 3.13623300199209 | epot = -22.8968640693003 | etot = -17.2260405994706 +410000 ekin = 2.51587421571662 | erot = 3.14201699757377 | epot = -22.9150990085741 | etot = -17.2572077952837 +411000 ekin = 2.42964978573951 | erot = 3.32305144355791 | epot = -22.9501641087081 | etot = -17.1974628794107 +412000 ekin = 2.36687843567498 | erot = 3.3285504429599 | epot = -22.99567867119 | etot = -17.3002497925551 +413000 ekin = 2.32867643693125 | erot = 3.02147909460678 | epot = -23.0359443059234 | etot = -17.6857887743854 +414000 ekin = 2.2515260449447 | erot = 3.14866247342422 | epot = -23.0379850078343 | etot = -17.6377964894654 +415000 ekin = 2.14860234477144 | erot = 3.14281806599356 | epot = -23.016809711244 | etot = -17.725389300479 +416000 ekin = 2.1332775392394 | erot = 2.78190144921895 | epot = -22.9549412646377 | etot = -18.0397622761793 +417000 ekin = 2.07867029653693 | erot = 2.63891364632679 | epot = -22.8771697337526 | etot = -18.1595857908888 +418000 ekin = 2.01503497087452 | erot = 2.48786384280135 | epot = -22.7881812529124 | etot = -18.2852824392365 +419000 ekin = 1.93436445840309 | erot = 2.56473142390299 | epot = -22.7122209786171 | etot = -18.213125096311 +420000 ekin = 1.86691051962999 | erot = 2.37316247804238 | epot = -22.663644104836 | etot = -18.4235711071637 +421000 ekin = 1.86677256248723 | erot = 2.32313827929405 | epot = -22.6187875829574 | etot = -18.4288767411761 +422000 ekin = 1.82005824158071 | erot = 2.55465763559267 | epot = -22.5903542114936 | etot = -18.2156383343202 +423000 ekin = 1.85196925130395 | erot = 2.5974598823431 | epot = -22.5868190893394 | etot = -18.1373899556924 +424000 ekin = 1.87511106269006 | erot = 2.36649086179881 | epot = -22.5883508404772 | etot = -18.3467489159883 +425000 ekin = 1.85448962199763 | erot = 2.35912334554435 | epot = -22.5825697876888 | etot = -18.3689568201468 +426000 ekin = 1.93877126287049 | erot = 2.34047239554928 | epot = -22.5855644966028 | etot = -18.306320838183 +427000 ekin = 1.98667133586972 | erot = 2.21434059237477 | epot = -22.6165038624105 | etot = -18.415491934166 +428000 ekin = 2.06633462219149 | erot = 2.46308595042594 | epot = -22.6536305130782 | etot = -18.1242099404608 +429000 ekin = 2.06647569478185 | erot = 2.85029146170717 | epot = -22.6734202786045 | etot = -17.7566531221155 +430000 ekin = 2.02119030876775 | erot = 3.03581181604001 | epot = -22.659282107403 | etot = -17.6022799825952 +431000 ekin = 1.92940982496903 | erot = 3.12567479604236 | epot = -22.6051004098157 | etot = -17.5500157888043 +432000 ekin = 1.98926835887559 | erot = 2.96897634192419 | epot = -22.5090519549378 | etot = -17.550807254138 +433000 ekin = 2.041430732461 | erot = 2.85215225860737 | epot = -22.3406443583778 | etot = -17.4470613673094 +434000 ekin = 2.05565692829895 | erot = 2.95627927317659 | epot = -22.1000056035571 | etot = -17.0880694020816 +435000 ekin = 2.08432405496717 | erot = 2.68419048003212 | epot = -21.8308353279851 | etot = -17.0623207929858 +436000 ekin = 2.12772749840159 | erot = 2.84173548840799 | epot = -21.5604223141966 | etot = -16.590959327387 +437000 ekin = 2.04468233985782 | erot = 2.5189263616935 | epot = -21.3171953647823 | etot = -16.753586663231 +438000 ekin = 2.04330796733031 | erot = 2.25039837644757 | epot = -21.1104661155377 | etot = -16.8167597717598 +439000 ekin = 2.1303450962368 | erot = 2.34282002521748 | epot = -20.9455910272725 | etot = -16.4724259058182 +440000 ekin = 2.19070367254229 | erot = 2.15029144838879 | epot = -20.8316849257309 | etot = -16.4906898047998 +441000 ekin = 2.18523324344595 | erot = 2.14329639955517 | epot = -20.7742603417165 | etot = -16.4457306987154 +442000 ekin = 2.35525341099326 | erot = 2.33073585925591 | epot = -20.7921078012968 | etot = -16.1061185310476 +443000 ekin = 2.42381848947146 | erot = 2.29410897800866 | epot = -20.8510039080526 | etot = -16.1330764405725 +444000 ekin = 2.58327001521814 | erot = 2.25550403938057 | epot = -20.9496740359507 | etot = -16.110899981352 +445000 ekin = 2.74914318766584 | erot = 2.36474125562144 | epot = -21.0902773104286 | etot = -15.9763928671413 +446000 ekin = 2.75866465553884 | erot = 2.51903536478378 | epot = -21.2771375903937 | etot = -15.9994375700711 +447000 ekin = 2.81341929589966 | erot = 2.61543912233442 | epot = -21.4943223583146 | etot = -16.0654639400805 +448000 ekin = 2.98791449212417 | erot = 2.686015721345 | epot = -21.6882416455896 | etot = -16.0143114321204 +449000 ekin = 3.02989562281093 | erot = 2.59921391657433 | epot = -21.8625805167009 | etot = -16.2334709773157 +450000 ekin = 3.07584193389835 | erot = 2.74644112742619 | epot = -21.9977284145171 | etot = -16.1754453531925 +451000 ekin = 3.17325103223139 | erot = 2.71318685835069 | epot = -22.0826869675361 | etot = -16.196249076954 +452000 ekin = 3.26804429580737 | erot = 2.87778182303291 | epot = -22.0906838053162 | etot = -15.9448576864759 +453000 ekin = 3.27357354113497 | erot = 2.70771602218269 | epot = -22.0093450685523 | etot = -16.0280555052346 +454000 ekin = 3.19461395199204 | erot = 2.6448969266277 | epot = -21.8896212815607 | etot = -16.050110402941 +455000 ekin = 3.06934448991765 | erot = 2.52112023723169 | epot = -21.7581228733759 | etot = -16.1676581462266 +456000 ekin = 3.00870709873353 | erot = 2.69030125753182 | epot = -21.6192081822491 | etot = -15.9201998259837 +457000 ekin = 2.777216489817 | erot = 2.81809494379019 | epot = -21.5044838205097 | etot = -15.9091723869025 +458000 ekin = 2.72192779143847 | erot = 2.81327589913026 | epot = -21.3991411950549 | etot = -15.8639375044862 +459000 ekin = 2.66716160346718 | erot = 2.91218722489662 | epot = -21.3056824262501 | etot = -15.7263335978863 +460000 ekin = 2.61631308900554 | erot = 2.72088150404113 | epot = -21.2125642789399 | etot = -15.8753696858932 +461000 ekin = 2.52111486337713 | erot = 2.61083643510212 | epot = -21.1320849455669 | etot = -16.0001336470876 +462000 ekin = 2.35496729961921 | erot = 2.5358561099819 | epot = -21.0535223021746 | etot = -16.1626988925735 +463000 ekin = 2.24393433183191 | erot = 2.51761943073286 | epot = -21.0230425923878 | etot = -16.261488829823 +464000 ekin = 2.16264575625711 | erot = 2.67496242735613 | epot = -21.0323536551487 | etot = -16.1947454715355 +465000 ekin = 2.12337820037338 | erot = 2.82456556368798 | epot = -21.0880254572831 | etot = -16.1400816932217 +466000 ekin = 2.04496236125011 | erot = 2.74204868129277 | epot = -21.1490905898122 | etot = -16.3620795472694 +467000 ekin = 2.07076206458635 | erot = 2.74539024720616 | epot = -21.215024164528 | etot = -16.3988718527355 +468000 ekin = 2.08250457485183 | erot = 2.49401005885409 | epot = -21.2895135595468 | etot = -16.7129989258408 +469000 ekin = 2.11940107816922 | erot = 2.73165603901944 | epot = -21.3555553713497 | etot = -16.5044982541611 +470000 ekin = 2.2755450093077 | erot = 2.57556168280448 | epot = -21.4121284090538 | etot = -16.5610217169417 +471000 ekin = 2.2114984621346 | erot = 2.49207243095057 | epot = -21.435732052025 | etot = -16.7321611589398 +472000 ekin = 2.13757463851204 | erot = 2.31011730813802 | epot = -21.4380116997291 | etot = -16.9903197530791 +473000 ekin = 2.06821493877643 | erot = 2.2685003928258 | epot = -21.4114781960858 | etot = -17.0747628644836 +474000 ekin = 1.96490547218431 | erot = 2.35563819582065 | epot = -21.3522336688375 | etot = -17.0316900008326 +475000 ekin = 1.94558586419936 | erot = 2.10680745423891 | epot = -21.2548130597369 | etot = -17.2024197412986 +476000 ekin = 1.94190624501534 | erot = 2.16513825042928 | epot = -21.1595544689155 | etot = -17.0525099734709 +477000 ekin = 1.99924367094436 | erot = 1.80803378013926 | epot = -21.0628461625393 | etot = -17.2555687114557 +478000 ekin = 1.89989927585492 | erot = 1.77183940189901 | epot = -20.9920693922247 | etot = -17.3203307144707 +479000 ekin = 1.84520242098793 | erot = 1.66369715226462 | epot = -20.943197661135 | etot = -17.4342980878825 +480000 ekin = 1.78395227007313 | erot = 1.62380842244011 | epot = -20.9116440658478 | etot = -17.5038833733346 +481000 ekin = 1.80711393748116 | erot = 1.45108120724299 | epot = -20.899809195654 | etot = -17.6416140509299 +482000 ekin = 1.83485472728834 | erot = 1.5899131561371 | epot = -20.9502956349549 | etot = -17.5255277515294 +483000 ekin = 1.74714650944547 | erot = 2.06533056940213 | epot = -21.05982640294 | etot = -17.2473493240924 +484000 ekin = 1.80571868875142 | erot = 2.45785513658362 | epot = -21.2268132327391 | etot = -16.9632394074041 +485000 ekin = 1.97685842465677 | erot = 2.60360246547723 | epot = -21.4062901266649 | etot = -16.8258292365309 +486000 ekin = 2.06309847922673 | erot = 2.90380547812246 | epot = -21.5894655607388 | etot = -16.6225616033897 +487000 ekin = 2.19649216659984 | erot = 2.81883409927295 | epot = -21.7360008549514 | etot = -16.7206745890786 +488000 ekin = 2.27235435120755 | erot = 3.21078167833799 | epot = -21.8710028956708 | etot = -16.3878668661253 +489000 ekin = 2.36365916165255 | erot = 2.98148333833802 | epot = -21.9731809770869 | etot = -16.6280384770963 +490000 ekin = 2.46365572243186 | erot = 3.03413636977556 | epot = -22.0415730890945 | etot = -16.543780996887 +491000 ekin = 2.48043066028394 | erot = 2.95353817719133 | epot = -22.0882801530728 | etot = -16.6543113155975 +492000 ekin = 2.43187986853058 | erot = 2.81942197452495 | epot = -22.1316786946067 | etot = -16.8803768515512 +493000 ekin = 2.43297707751451 | erot = 3.13501618675347 | epot = -22.1516877815826 | etot = -16.5836945173146 +494000 ekin = 2.43547737006958 | erot = 3.22494383304223 | epot = -22.1277792873502 | etot = -16.4673580842384 +495000 ekin = 2.44131017621645 | erot = 3.14764944977832 | epot = -22.0798107226075 | etot = -16.4908510966128 +496000 ekin = 2.44929786442221 | erot = 3.00103698197415 | epot = -22.002928649246 | etot = -16.5525938028496 +497000 ekin = 2.42807342723594 | erot = 2.7881804132664 | epot = -21.8989958230253 | etot = -16.6827419825229 +498000 ekin = 2.43232675717284 | erot = 2.78563195522809 | epot = -21.7990677062023 | etot = -16.5811089938014 +499000 ekin = 2.39683774655034 | erot = 2.52204743265475 | epot = -21.6970829564491 | etot = -16.778197777244 +500000 ekin = 2.39561357168025 | erot = 2.04914490208484 | epot = -21.6057727183568 | etot = -17.1610142445917 +501000 ekin = 2.4901106222084 | erot = 2.09141321522318 | epot = -21.5560066661706 | etot = -16.974482828739 +502000 ekin = 2.50365744754327 | erot = 2.1042025483322 | epot = -21.5549657901232 | etot = -16.9471057942478 +503000 ekin = 2.50788240480081 | erot = 2.30709919674954 | epot = -21.6015443787755 | etot = -16.7865627772251 +504000 ekin = 2.42370070726384 | erot = 1.84999363757408 | epot = -21.6380109735021 | etot = -17.3643166286642 +505000 ekin = 2.3587483485555 | erot = 2.14636862503852 | epot = -21.6689774661088 | etot = -17.1638604925148 +506000 ekin = 2.26228062582653 | erot = 2.45377485636117 | epot = -21.7153954382909 | etot = -16.9993399561032 +507000 ekin = 2.1391923707717 | erot = 2.50319755000138 | epot = -21.7581761618772 | etot = -17.1157862411041 +508000 ekin = 2.1483137387407 | erot = 3.06092132482202 | epot = -21.7763037427611 | etot = -16.5670686791984 +509000 ekin = 2.05180259764866 | erot = 3.39029610338351 | epot = -21.776003585352 | etot = -16.3339048843198 +510000 ekin = 2.04381464635427 | erot = 3.61253858305487 | epot = -21.7386277737458 | etot = -16.0822745443367 +511000 ekin = 2.05816959569107 | erot = 3.10213651349288 | epot = -21.688362376805 | etot = -16.528056267621 +512000 ekin = 1.92422822548454 | erot = 2.79263854517701 | epot = -21.6550102347598 | etot = -16.9381434640982 +513000 ekin = 2.02050703596233 | erot = 2.71259548634818 | epot = -21.6549051178144 | etot = -16.9218025955039 +514000 ekin = 2.07581905977895 | erot = 2.32467594776646 | epot = -21.665556834217 | etot = -17.2650618266716 +515000 ekin = 2.08477825623465 | erot = 2.59404540183163 | epot = -21.7265307260922 | etot = -17.0477070680259 +516000 ekin = 2.15812359163707 | erot = 2.69267871008866 | epot = -21.8093937590764 | etot = -16.9585914573506 +517000 ekin = 2.13934962382492 | erot = 2.84365285719026 | epot = -21.9032983411399 | etot = -16.9202958601247 +518000 ekin = 2.20591925285861 | erot = 3.12936446615936 | epot = -22.0120787399678 | etot = -16.6767950209499 +519000 ekin = 2.26634159461382 | erot = 3.0946506489304 | epot = -22.1371864066205 | etot = -16.7761941630763 +520000 ekin = 2.33395232089105 | erot = 3.16707863806596 | epot = -22.2618368300492 | etot = -16.7608058710922 +521000 ekin = 2.37443913996477 | erot = 2.84321493552052 | epot = -22.3608681173461 | etot = -17.1432140418608 +522000 ekin = 2.38014534564467 | erot = 2.71344764130111 | epot = -22.4471285851319 | etot = -17.3535355981861 +523000 ekin = 2.43082426163835 | erot = 2.87118432179584 | epot = -22.5347499952681 | etot = -17.2327414118339 +524000 ekin = 2.56081842163126 | erot = 3.05550273097465 | epot = -22.6100687346061 | etot = -16.9937475820002 +525000 ekin = 2.55953271858514 | erot = 2.67513220891041 | epot = -22.6739874644368 | etot = -17.4393225369413 +526000 ekin = 2.59958209031031 | erot = 2.95738463024354 | epot = -22.7033728209711 | etot = -17.1464061004173 +527000 ekin = 2.52409384361615 | erot = 2.89851026515122 | epot = -22.7152196639491 | etot = -17.2926155551817 +528000 ekin = 2.57935349807703 | erot = 2.86931301300855 | epot = -22.7061100878871 | etot = -17.2574435768015 +529000 ekin = 2.5449913230182 | erot = 3.03033580941372 | epot = -22.6577883790845 | etot = -17.0824612466525 +530000 ekin = 2.37583920711566 | erot = 3.07767101681233 | epot = -22.5498147001086 | etot = -17.0963044761806 +531000 ekin = 2.28423424660452 | erot = 2.99538223189532 | epot = -22.4172244060317 | etot = -17.1376079275319 +532000 ekin = 2.11092802290005 | erot = 2.62650535715252 | epot = -22.2554156639849 | etot = -17.5179822839324 +533000 ekin = 2.07823067751695 | erot = 2.60462012944299 | epot = -22.0829115643991 | etot = -17.4000607574392 +534000 ekin = 2.08976309920292 | erot = 2.60045035336437 | epot = -21.9117889556573 | etot = -17.22157550309 +535000 ekin = 2.03320809614403 | erot = 2.53673993181143 | epot = -21.7263132935398 | etot = -17.1563652655844 +536000 ekin = 1.97106365765744 | erot = 2.35170112588154 | epot = -21.5718096441991 | etot = -17.2490448606601 +537000 ekin = 1.85757994043449 | erot = 2.1000939316012 | epot = -21.4673782965335 | etot = -17.5097044244978 +538000 ekin = 1.82596102898979 | erot = 2.13846192719758 | epot = -21.3983734318539 | etot = -17.4339504756666 +539000 ekin = 1.73881232516884 | erot = 2.4948493136433 | epot = -21.3425267679341 | etot = -17.1088651291219 +540000 ekin = 1.67447223010914 | erot = 2.77285924634614 | epot = -21.2716590544127 | etot = -16.8243275779574 +541000 ekin = 1.69990418580885 | erot = 2.88110182550538 | epot = -21.1962442587822 | etot = -16.6152382474679 +542000 ekin = 1.71113657497015 | erot = 2.75900359072979 | epot = -21.135597661667 | etot = -16.665457495967 +543000 ekin = 1.78866852977494 | erot = 2.71660471692161 | epot = -21.0866732693148 | etot = -16.5814000226182 +544000 ekin = 1.771817820198 | erot = 2.328771769428 | epot = -21.0413457588288 | etot = -16.9407561692028 +545000 ekin = 1.78667793391233 | erot = 2.11448637898458 | epot = -21.0004042884447 | etot = -17.0992399755478 +546000 ekin = 1.85376909065284 | erot = 1.89612518110719 | epot = -20.9731062289195 | etot = -17.2232119571595 +547000 ekin = 1.886076238392 | erot = 1.67123255058042 | epot = -20.9706093546508 | etot = -17.4133005656784 +548000 ekin = 1.90991638455373 | erot = 1.7881548999802 | epot = -20.9683934987346 | etot = -17.2703222142007 +549000 ekin = 1.93154736700912 | erot = 1.83109029837931 | epot = -20.9876899630373 | etot = -17.2250522976488 +550000 ekin = 1.99815580980597 | erot = 1.56054958425493 | epot = -21.036004232095 | etot = -17.4772988380341 +551000 ekin = 2.06223281194829 | erot = 1.82140531055443 | epot = -21.1099793159587 | etot = -17.226341193456 +552000 ekin = 2.19995559126056 | erot = 1.93328987912288 | epot = -21.1805106953385 | etot = -17.0472652249551 +553000 ekin = 2.16476612655581 | erot = 2.18848299832349 | epot = -21.2339007238634 | etot = -16.8806515989841 +554000 ekin = 2.1925339580923 | erot = 1.9926960214726 | epot = -21.3216202633258 | etot = -17.1363902837609 +555000 ekin = 2.30423346281122 | erot = 1.75126691279995 | epot = -21.4340368938537 | etot = -17.3785365182425 +556000 ekin = 2.4521267330114 | erot = 2.39109930640514 | epot = -21.572517213343 | etot = -16.7292911739264 +557000 ekin = 2.55511582943875 | erot = 2.60632466872853 | epot = -21.7241981903429 | etot = -16.5627576921756 +558000 ekin = 2.67318624692359 | erot = 2.43046608162001 | epot = -21.8811108747484 | etot = -16.7774585462048 +559000 ekin = 2.79102973560867 | erot = 2.67538733153578 | epot = -22.0378553874463 | etot = -16.5714383203018 +560000 ekin = 2.91837921581139 | erot = 2.68572428538372 | epot = -22.1492797858917 | etot = -16.5451762846966 +561000 ekin = 2.8169246804767 | erot = 2.7042344490094 | epot = -22.2164872193212 | etot = -16.6953280898351 +562000 ekin = 2.76503975841354 | erot = 2.53761848613797 | epot = -22.2442970633444 | etot = -16.9416388187929 +563000 ekin = 2.65825040724929 | erot = 2.71023439088386 | epot = -22.2432218230981 | etot = -16.874737024965 +564000 ekin = 2.64808423454385 | erot = 2.70315330750784 | epot = -22.2101649946189 | etot = -16.8589274525672 +565000 ekin = 2.56520347515975 | erot = 2.51222337320417 | epot = -22.1609166692031 | etot = -17.0834898208392 +566000 ekin = 2.49797853328337 | erot = 1.95572936802194 | epot = -22.1122925054573 | etot = -17.658584604152 +567000 ekin = 2.54792607074976 | erot = 1.85729033385369 | epot = -22.0797419433041 | etot = -17.6745255387006 +568000 ekin = 2.60591444007222 | erot = 1.83755900710613 | epot = -22.0644073196278 | etot = -17.6209338724494 +569000 ekin = 2.62362305667833 | erot = 2.09101698674231 | epot = -22.0262950849356 | etot = -17.311655041515 +570000 ekin = 2.59966130338347 | erot = 1.85283577890403 | epot = -21.985297677289 | etot = -17.5328005950015 +571000 ekin = 2.57696065480343 | erot = 2.10053443453256 | epot = -21.9714910967205 | etot = -17.2939960073845 +572000 ekin = 2.61992211526347 | erot = 2.35929604367208 | epot = -21.9659339101479 | etot = -16.9867157512124 +573000 ekin = 2.80765379250771 | erot = 2.64066236878635 | epot = -21.9992362601246 | etot = -16.5509200988305 +574000 ekin = 2.77886407527625 | erot = 2.38672398638091 | epot = -22.0653999532897 | etot = -16.8998118916326 +575000 ekin = 2.68662185812333 | erot = 2.33286464853928 | epot = -22.1404382955657 | etot = -17.120951788903 +576000 ekin = 2.71580008212167 | erot = 2.47248086928729 | epot = -22.2173146829084 | etot = -17.0290337314995 +577000 ekin = 2.73021589278203 | erot = 2.52068341312493 | epot = -22.2907564203179 | etot = -17.039857114411 +578000 ekin = 2.73054357573046 | erot = 2.5578495344155 | epot = -22.3560478485196 | etot = -17.0676547383736 +579000 ekin = 2.66821624836613 | erot = 2.41812757787236 | epot = -22.394402599384 | etot = -17.3080587731455 +580000 ekin = 2.67666651362018 | erot = 2.37337561149719 | epot = -22.3970390424453 | etot = -17.3469969173279 +581000 ekin = 2.50777332809667 | erot = 2.18045458374889 | epot = -22.3739113390241 | etot = -17.6856834271785 +582000 ekin = 2.40279105319001 | erot = 1.89859122534145 | epot = -22.3216073421066 | etot = -18.0202250635751 +583000 ekin = 2.31269263220222 | erot = 1.73074513088258 | epot = -22.257314045486 | etot = -18.2138762824012 +584000 ekin = 2.21239433549828 | erot = 1.75290221167374 | epot = -22.211114941138 | etot = -18.2458183939659 +585000 ekin = 2.15356855038405 | erot = 1.75180079977004 | epot = -22.2293562414396 | etot = -18.3239868912855 +586000 ekin = 2.10262413842075 | erot = 1.85113983993486 | epot = -22.2792098403942 | etot = -18.3254458620385 +587000 ekin = 2.1328837446892 | erot = 2.20890667221829 | epot = -22.3055082909198 | etot = -17.9637178740123 +588000 ekin = 2.14862689118427 | erot = 2.25138259269008 | epot = -22.2976262267024 | etot = -17.897616742828 +589000 ekin = 2.04435421027949 | erot = 2.19255127415941 | epot = -22.2575972691442 | etot = -18.0206917847053 +590000 ekin = 1.97499579796044 | erot = 2.1895582195425 | epot = -22.1946880982505 | etot = -18.0301340807476 +591000 ekin = 1.91372986676128 | erot = 2.00143608804063 | epot = -22.0969708781093 | etot = -18.1818049233073 +592000 ekin = 1.90759584087362 | erot = 1.75955547353167 | epot = -22.0003759984148 | etot = -18.3332246840095 +593000 ekin = 1.85491418079581 | erot = 1.82471441354141 | epot = -21.8971191196309 | etot = -18.2174905252937 +594000 ekin = 1.80279616325959 | erot = 1.89197043010806 | epot = -21.7918103226285 | etot = -18.0970437292608 +595000 ekin = 1.73140057218513 | erot = 1.88940188632514 | epot = -21.6714819005038 | etot = -18.0506794419936 +596000 ekin = 1.6636273955706 | erot = 2.08459374164565 | epot = -21.5484728514096 | etot = -17.8002517141934 +597000 ekin = 1.58837419642041 | erot = 2.25218931046814 | epot = -21.4300614484278 | etot = -17.5894979415393 +598000 ekin = 1.51530311364938 | erot = 2.10564447814212 | epot = -21.3454884805704 | etot = -17.7245408887789 +599000 ekin = 1.51205618459752 | erot = 2.59561573346752 | epot = -21.3001794349524 | etot = -17.1925075168874 +600000 ekin = 1.42420860787909 | erot = 2.66872977571287 | epot = -21.2831261175817 | etot = -17.1901877339898 +601000 ekin = 1.41614052584447 | erot = 2.71409841098224 | epot = -21.2819425817425 | etot = -17.1517036449157 +602000 ekin = 1.39716919100079 | erot = 2.88098133874153 | epot = -21.2738817162048 | etot = -16.9957311864625 +603000 ekin = 1.35362959397666 | erot = 2.47699104027353 | epot = -21.2686606294815 | etot = -17.4380399952313 +604000 ekin = 1.30109941785272 | erot = 2.37915588297089 | epot = -21.2782162294336 | etot = -17.59796092861 +605000 ekin = 1.3347410210722 | erot = 2.45818083278446 | epot = -21.3160026412592 | etot = -17.5230807874025 +606000 ekin = 1.29920725195346 | erot = 2.42086336903906 | epot = -21.37519294939 | etot = -17.6551223283975 +607000 ekin = 1.23411371002999 | erot = 2.51322970316879 | epot = -21.4519931649175 | etot = -17.7046497517188 +608000 ekin = 1.22186321044635 | erot = 2.53110415552155 | epot = -21.5178918639268 | etot = -17.7649244979589 +609000 ekin = 1.29545020421392 | erot = 2.63039876861633 | epot = -21.5664820555049 | etot = -17.6406330826747 +610000 ekin = 1.32833269788873 | erot = 2.69742481429448 | epot = -21.604275256766 | etot = -17.5785177445827 +611000 ekin = 1.37555485576576 | erot = 2.44250786358899 | epot = -21.6325158720195 | etot = -17.8144531526648 +612000 ekin = 1.43492266332439 | erot = 2.48338158304047 | epot = -21.6301768868763 | etot = -17.7118726405114 +613000 ekin = 1.45874940730883 | erot = 2.24888080699426 | epot = -21.6206823260937 | etot = -17.9130521117906 +614000 ekin = 1.55936377690317 | erot = 2.20987492911095 | epot = -21.5983529263254 | etot = -17.8291142203113 +615000 ekin = 1.65618793567238 | erot = 2.06571861106615 | epot = -21.5839674847175 | etot = -17.862060937979 +616000 ekin = 1.69323202132164 | erot = 2.42079239195229 | epot = -21.5767246732261 | etot = -17.4627002599521 +617000 ekin = 1.68010177617037 | erot = 2.37299975949536 | epot = -21.5796207721185 | etot = -17.5265192364528 +618000 ekin = 1.8246344502958 | erot = 2.21376210856673 | epot = -21.5858855133924 | etot = -17.5474889545299 +619000 ekin = 1.82457061205233 | erot = 2.13717697103627 | epot = -21.6086012174157 | etot = -17.6468536343271 +620000 ekin = 1.90243298129573 | erot = 2.026399287695 | epot = -21.6453403015338 | etot = -17.7165080325431 +621000 ekin = 2.00071054813254 | erot = 2.00740169333747 | epot = -21.6932983622006 | etot = -17.6851861207306 +622000 ekin = 2.06294983283443 | erot = 2.33338027747368 | epot = -21.7476105458916 | etot = -17.3512804355835 +623000 ekin = 2.16886474013731 | erot = 2.34052136367693 | epot = -21.8030581053771 | etot = -17.2936720015629 +624000 ekin = 2.27472643943831 | erot = 2.06709867004516 | epot = -21.8339575931657 | etot = -17.4921324836822 +625000 ekin = 2.44743468020715 | erot = 1.92194449605363 | epot = -21.8528539423024 | etot = -17.4834747660416 +626000 ekin = 2.6254852196301 | erot = 1.8914549992757 | epot = -21.8798709040079 | etot = -17.3629306851021 +627000 ekin = 2.68150434400722 | erot = 2.08428883327615 | epot = -21.9107134797374 | etot = -17.144920302454 +628000 ekin = 2.74903675678166 | erot = 1.99441751232837 | epot = -21.9473456387968 | etot = -17.2038913696868 +629000 ekin = 2.86146526790837 | erot = 1.8864966665127 | epot = -21.9845526009202 | etot = -17.2365906664991 +630000 ekin = 2.97219747359881 | erot = 1.94159826713974 | epot = -21.9956245597366 | etot = -17.081828818998 +631000 ekin = 3.02655709138913 | erot = 1.98612431447029 | epot = -21.9867324807645 | etot = -16.9740510749051 +632000 ekin = 2.8924282396145 | erot = 2.07813215947684 | epot = -21.9871217882292 | etot = -17.0165613891379 +633000 ekin = 2.89559354592024 | erot = 2.04782477805557 | epot = -21.9766614082672 | etot = -17.0332430842914 +634000 ekin = 2.83247679377603 | erot = 2.13051755362208 | epot = -21.9597388170748 | etot = -16.9967444696767 +635000 ekin = 2.6371007480047 | erot = 2.23426349035981 | epot = -21.971527434846 | etot = -17.1001631964814 +636000 ekin = 2.58412863450127 | erot = 2.48166310505742 | epot = -21.9758376025014 | etot = -16.9100458629427 +637000 ekin = 2.48413021154078 | erot = 3.05163678747107 | epot = -21.9559270975231 | etot = -16.4201600985112 +638000 ekin = 2.41845843253134 | erot = 3.18487359706622 | epot = -21.921818269157 | etot = -16.3184862395595 +639000 ekin = 2.41474442996945 | erot = 3.07946799577763 | epot = -21.8601538104442 | etot = -16.3659413846971 +640000 ekin = 2.43888704755713 | erot = 3.19916726587331 | epot = -21.7732605714474 | etot = -16.135206258017 +641000 ekin = 2.33318464269015 | erot = 3.52964988306914 | epot = -21.6751385521693 | etot = -15.81230402641 +642000 ekin = 2.2926912747172 | erot = 3.21459747812075 | epot = -21.5762475219887 | etot = -16.0689587691507 +643000 ekin = 2.20009271503132 | erot = 3.27121474420525 | epot = -21.4712567460617 | etot = -15.9999492868251 +644000 ekin = 2.12761393014547 | erot = 3.26891111731317 | epot = -21.348362707749 | etot = -15.9518376602904 +645000 ekin = 2.1428335991833 | erot = 3.15969008283743 | epot = -21.21325186576 | etot = -15.9107281837392 +646000 ekin = 2.06396314958894 | erot = 3.09371999472776 | epot = -21.1127434027894 | etot = -15.9550602584727 +647000 ekin = 2.09494506010988 | erot = 3.01853693183369 | epot = -21.0393545332666 | etot = -15.9258725413231 +648000 ekin = 2.04196638106962 | erot = 2.92354702002768 | epot = -20.9985594175433 | etot = -16.033046016446 +649000 ekin = 2.12312778485914 | erot = 2.76395475216344 | epot = -20.9701414537499 | etot = -16.0830589167274 +650000 ekin = 2.10015809243646 | erot = 2.49008137666262 | epot = -20.9856777615308 | etot = -16.3954382924317 +651000 ekin = 2.17042975668805 | erot = 2.82094735385292 | epot = -21.0172459830267 | etot = -16.0258688724858 +652000 ekin = 2.09384051310296 | erot = 2.85582968797887 | epot = -21.0193054655962 | etot = -16.0696352645143 +653000 ekin = 2.04333185286127 | erot = 2.77890783040049 | epot = -21.0137769463722 | etot = -16.1915372631104 +654000 ekin = 2.08939824491349 | erot = 2.64655974106821 | epot = -20.9895202496129 | etot = -16.2535622636312 +655000 ekin = 2.04966047424328 | erot = 2.69502096883432 | epot = -20.9377501246668 | etot = -16.1930686815892 +656000 ekin = 2.01275055755579 | erot = 2.79546881312587 | epot = -20.8915125736507 | etot = -16.083293202969 +657000 ekin = 2.03431712569043 | erot = 2.53773887631586 | epot = -20.8578047692326 | etot = -16.2857487672263 +658000 ekin = 2.06735385767747 | erot = 2.66675755014667 | epot = -20.8663643114328 | etot = -16.1322529036087 +659000 ekin = 2.06847583306533 | erot = 2.50326478566329 | epot = -20.8825165023757 | etot = -16.3107758836471 +660000 ekin = 2.07870932959752 | erot = 2.81447557231157 | epot = -20.9216042516452 | etot = -16.0284193497362 +661000 ekin = 2.19772022528447 | erot = 2.70676732599835 | epot = -20.955272489222 | etot = -16.0507849379392 +662000 ekin = 2.25232628384317 | erot = 2.75397596508144 | epot = -20.9799482828299 | etot = -15.9736460339053 +663000 ekin = 2.34038951099398 | erot = 2.814307507525 | epot = -21.0068651854295 | etot = -15.8521681669105 +664000 ekin = 2.44930976235149 | erot = 2.91832446463439 | epot = -21.020924392121 | etot = -15.6532901651351 +665000 ekin = 2.62422537382047 | erot = 3.05929629192827 | epot = -21.0148549044024 | etot = -15.3313332386536 +666000 ekin = 2.670006078315 | erot = 3.11170707620248 | epot = -20.9818079036879 | etot = -15.2000947491704 +667000 ekin = 2.64691465550483 | erot = 2.74197391498727 | epot = -20.9087124741422 | etot = -15.5198239036501 +668000 ekin = 2.62658511176402 | erot = 2.5239543546275 | epot = -20.786299632355 | etot = -15.6357601659635 +669000 ekin = 2.54613084896548 | erot = 2.35938084584039 | epot = -20.6443137124917 | etot = -15.7388020176858 +670000 ekin = 2.43931260869762 | erot = 2.38690789091417 | epot = -20.4714500069448 | etot = -15.645229507333 +671000 ekin = 2.36289981273298 | erot = 2.15959347634289 | epot = -20.2658276701857 | etot = -15.7433343811098 +672000 ekin = 2.2910602274596 | erot = 2.06640999933982 | epot = -20.0256672427834 | etot = -15.668197015984 +673000 ekin = 2.10231422621812 | erot = 1.99818617792713 | epot = -19.7891832406039 | etot = -15.6886828364586 +674000 ekin = 1.99734939649369 | erot = 1.85664304782892 | epot = -19.5650277424005 | etot = -15.7110352980778 +675000 ekin = 1.90857669053491 | erot = 1.65889203440098 | epot = -19.3811887348938 | etot = -15.8137200099579 +676000 ekin = 1.77298099338034 | erot = 1.8309437616018 | epot = -19.2510356435177 | etot = -15.6471108885356 +677000 ekin = 1.63736904978552 | erot = 1.99281479568144 | epot = -19.1448234704454 | etot = -15.5146396249784 +678000 ekin = 1.63864208730505 | erot = 2.08161035578974 | epot = -19.105500688407 | etot = -15.3852482453122 +679000 ekin = 1.55282751541948 | erot = 2.3521751505239 | epot = -19.1160594043128 | etot = -15.2110567383695 +680000 ekin = 1.55994958081089 | erot = 2.58133264049645 | epot = -19.1875667436083 | etot = -15.046284522301 +681000 ekin = 1.47247027591437 | erot = 2.65144156511845 | epot = -19.2708019300319 | etot = -15.1468900889991 +682000 ekin = 1.50506312913083 | erot = 2.58308917381129 | epot = -19.3768551123297 | etot = -15.2887028093876 +683000 ekin = 1.58124836058812 | erot = 2.16095218887994 | epot = -19.4911476852349 | etot = -15.7489471357668 +684000 ekin = 1.6001005959995 | erot = 2.67440743177637 | epot = -19.618133888318 | etot = -15.3436258605422 +685000 ekin = 1.74893549928147 | erot = 2.62458073477927 | epot = -19.7359660896817 | etot = -15.362449855621 +686000 ekin = 1.76162153341699 | erot = 2.25978530691164 | epot = -19.8541116154889 | etot = -15.8327047751602 +687000 ekin = 1.82619229946423 | erot = 2.29432044590917 | epot = -19.9622292318958 | etot = -15.8417164865223 +688000 ekin = 1.86359828413827 | erot = 2.16944371769534 | epot = -20.0476865748907 | etot = -16.0146445730571 +689000 ekin = 1.93393905859018 | erot = 2.35498206852836 | epot = -20.1007195797119 | etot = -15.8117984525933 +690000 ekin = 1.97584813479881 | erot = 2.24522756497958 | epot = -20.1288568750709 | etot = -15.9077811752926 +691000 ekin = 1.98048868486336 | erot = 2.14627975778126 | epot = -20.1381110985218 | etot = -16.0113426558772 +692000 ekin = 2.0731346001912 | erot = 1.98008848193517 | epot = -20.1378652364587 | etot = -16.0846421543323 +693000 ekin = 2.19190306917297 | erot = 1.58910242480145 | epot = -20.1350957523462 | etot = -16.3540902583718 +694000 ekin = 2.32090880384981 | erot = 1.6129592713478 | epot = -20.1314162689182 | etot = -16.1975481937205 +695000 ekin = 2.36874640002701 | erot = 1.5905606666644 | epot = -20.1380145179375 | etot = -16.1787074512461 +696000 ekin = 2.44650937280252 | erot = 1.81535925455503 | epot = -20.1652369679559 | etot = -15.9033683405983 +697000 ekin = 2.51545709816397 | erot = 1.68826010240628 | epot = -20.2135933592969 | etot = -16.0098761587266 +698000 ekin = 2.62928708586045 | erot = 1.96628199836588 | epot = -20.2928804390009 | etot = -15.6973113547745 +699000 ekin = 2.71719696170839 | erot = 2.26885524041435 | epot = -20.3980545329771 | etot = -15.4120023308544 +700000 ekin = 2.87208259001985 | erot = 2.42835298004882 | epot = -20.5178291857201 | etot = -15.2173936156514 +701000 ekin = 2.95900259417971 | erot = 2.35931389631808 | epot = -20.6419240268719 | etot = -15.3236075363741 +702000 ekin = 3.02090269085953 | erot = 2.15074914986724 | epot = -20.7704027073332 | etot = -15.5987508666064 +703000 ekin = 2.97785017762568 | erot = 2.21426045315884 | epot = -20.8971176595459 | etot = -15.7050070287614 +704000 ekin = 2.95736377946593 | erot = 2.20998660273298 | epot = -21.0054958631779 | etot = -15.838145480979 +705000 ekin = 2.86750561874265 | erot = 2.27820994963735 | epot = -21.0805981580118 | etot = -15.9348825896318 +706000 ekin = 2.78753231022251 | erot = 2.27865200108248 | epot = -21.1291811901213 | etot = -16.0629968788163 +707000 ekin = 2.82215447573998 | erot = 2.35221981249519 | epot = -21.1609961465472 | etot = -15.986621858312 +708000 ekin = 2.8288482381589 | erot = 2.35861511414917 | epot = -21.1686473578695 | etot = -15.9811840055614 +709000 ekin = 2.83366981826097 | erot = 2.36573692196813 | epot = -21.1360090124629 | etot = -15.9366022722338 +710000 ekin = 2.82063152616624 | erot = 2.46614987505496 | epot = -21.0841357904475 | etot = -15.7973543892263 +711000 ekin = 2.86012277832299 | erot = 2.45669685378256 | epot = -21.0284124029736 | etot = -15.711592770868 +712000 ekin = 2.83900632279951 | erot = 2.58641728570259 | epot = -20.97749537454 | etot = -15.5520717660379 +713000 ekin = 2.81285265683929 | erot = 2.77009227835436 | epot = -20.9479708753276 | etot = -15.365025940134 +714000 ekin = 2.79476769474608 | erot = 2.56608145300981 | epot = -20.9660227808497 | etot = -15.6051736330938 +715000 ekin = 2.88214044419436 | erot = 2.35359704421306 | epot = -21.0023890888555 | etot = -15.7666516004481 +716000 ekin = 2.8062444107519 | erot = 2.44602402366658 | epot = -21.0643399300769 | etot = -15.8120714956584 +717000 ekin = 2.83593496475333 | erot = 1.92271233473007 | epot = -21.141933904549 | etot = -16.3832866050656 +718000 ekin = 3.04347220736712 | erot = 2.09664480466605 | epot = -21.2307953497141 | etot = -16.090678337681 +719000 ekin = 3.12566385858511 | erot = 1.94969815384627 | epot = -21.3369127599911 | etot = -16.2615507475597 +720000 ekin = 3.09860713118126 | erot = 1.90387725838931 | epot = -21.430943204698 | etot = -16.4284588151275 +721000 ekin = 3.12993031147987 | erot = 1.7597447170846 | epot = -21.4934147835513 | etot = -16.6037397549868 +722000 ekin = 3.20199415669046 | erot = 1.70619449649563 | epot = -21.5365621621188 | etot = -16.6283735089327 +723000 ekin = 3.23996165272215 | erot = 1.89914229033929 | epot = -21.5885170205204 | etot = -16.4494130774589 +724000 ekin = 3.2385304661127 | erot = 2.03882621849399 | epot = -21.6296558315724 | etot = -16.3522991469657 +725000 ekin = 3.28185949262493 | erot = 2.37030663171847 | epot = -21.6824484616656 | etot = -16.0302823373222 +726000 ekin = 3.25580607632264 | erot = 2.39086109621883 | epot = -21.7177565383547 | etot = -16.0710893658133 +727000 ekin = 3.19805228999072 | erot = 2.32087178780789 | epot = -21.7371075347428 | etot = -16.2181834569442 +728000 ekin = 3.15990197080524 | erot = 2.25349819703034 | epot = -21.7242195216867 | etot = -16.3108193538511 +729000 ekin = 3.15676540241598 | erot = 2.43628064604805 | epot = -21.6874540329232 | etot = -16.0944079844592 +730000 ekin = 3.09116846008209 | erot = 2.25419507427884 | epot = -21.6463691748075 | etot = -16.3010056404465 +731000 ekin = 3.1348260525846 | erot = 2.37233499175367 | epot = -21.6178854848966 | etot = -16.1107244405583 +732000 ekin = 2.99746260909862 | erot = 2.05794797450074 | epot = -21.6100718510651 | etot = -16.5546612674658 +733000 ekin = 2.96980729498646 | erot = 2.41656769534009 | epot = -21.6212858194831 | etot = -16.2349108291565 +734000 ekin = 2.95805172881307 | erot = 2.41106090290961 | epot = -21.6442325736449 | etot = -16.2751199419222 +735000 ekin = 2.98912645607776 | erot = 2.56433748906623 | epot = -21.6552350758769 | etot = -16.1017711307329 +736000 ekin = 2.98402840956578 | erot = 2.50919943020236 | epot = -21.6382057820196 | etot = -16.1449779422515 +737000 ekin = 2.93444255324219 | erot = 2.46509691619754 | epot = -21.6069075472111 | etot = -16.2073680777713 +738000 ekin = 2.92304716734076 | erot = 2.39086826460992 | epot = -21.5785523296152 | etot = -16.2646368976646 +739000 ekin = 2.87558559566524 | erot = 2.33418319756002 | epot = -21.5767003124474 | etot = -16.3669315192221 +740000 ekin = 2.83334180172276 | erot = 1.96595420169352 | epot = -21.579060146737 | etot = -16.7797641433207 +741000 ekin = 2.90514747722426 | erot = 1.90064280259662 | epot = -21.5882717938202 | etot = -16.7824815139993 +742000 ekin = 2.94949674447586 | erot = 2.10481207661777 | epot = -21.607358114224 | etot = -16.5530492931304 +743000 ekin = 3.04809185048082 | erot = 2.29122955891096 | epot = -21.6217844205865 | etot = -16.2824630111948 +744000 ekin = 2.98636530702456 | erot = 2.18551221916275 | epot = -21.6006673772001 | etot = -16.4287898510128 +745000 ekin = 2.92324621087502 | erot = 2.67370319519931 | epot = -21.5479250866163 | etot = -15.950975680542 +746000 ekin = 2.81108840832447 | erot = 2.60039332109184 | epot = -21.4880495112522 | etot = -16.0765677818358 +747000 ekin = 2.6799138273957 | erot = 2.55252994490126 | epot = -21.4304230755331 | etot = -16.1979793032361 +748000 ekin = 2.53045428101834 | erot = 2.24950736294004 | epot = -21.3737230667369 | etot = -16.5937614227785 +749000 ekin = 2.4521893183736 | erot = 2.14663919598135 | epot = -21.3068166295668 | etot = -16.7079881152118 +750000 ekin = 2.43997409031359 | erot = 2.12137765598021 | epot = -21.26051392318 | etot = -16.6991621768862 +751000 ekin = 2.39722500832643 | erot = 1.84714049259476 | epot = -21.2245204548724 | etot = -16.9801549539512 +752000 ekin = 2.37942582094566 | erot = 1.94578907645433 | epot = -21.2018614145329 | etot = -16.8766465171329 +753000 ekin = 2.28406990648588 | erot = 2.19722525584574 | epot = -21.2075024607032 | etot = -16.7262072983716 +754000 ekin = 2.17408286982644 | erot = 2.09839079215022 | epot = -21.2133775747234 | etot = -16.9409039127468 +755000 ekin = 2.20136426888662 | erot = 2.24067079579293 | epot = -21.2335060459114 | etot = -16.7914709812319 +756000 ekin = 2.12844260913138 | erot = 2.75005545693611 | epot = -21.2581599852214 | etot = -16.3796619191539 +757000 ekin = 2.25743819675586 | erot = 2.52018349756299 | epot = -21.2980084121415 | etot = -16.5203867178226 +758000 ekin = 2.27601870393368 | erot = 2.57559214660628 | epot = -21.3386893542485 | etot = -16.4870785037085 +759000 ekin = 2.36164379748138 | erot = 2.34149147167507 | epot = -21.3861537164028 | etot = -16.6830184472464 +760000 ekin = 2.4675118177957 | erot = 2.29440108117585 | epot = -21.4502954100435 | etot = -16.6883825110719 +761000 ekin = 2.56117979243443 | erot = 2.28528133130907 | epot = -21.5440902713626 | etot = -16.6976291476191 +762000 ekin = 2.73403817269047 | erot = 2.05037676089399 | epot = -21.665528468236 | etot = -16.8811135346516 +763000 ekin = 2.89028863279996 | erot = 1.96997057412352 | epot = -21.7985105959424 | etot = -16.9382513890189 +764000 ekin = 3.07961097460984 | erot = 1.9033768651762 | epot = -21.9231959994996 | etot = -16.9402081597136 +765000 ekin = 3.10823123780416 | erot = 1.87663540264838 | epot = -22.0019892323021 | etot = -17.0171225918495 +766000 ekin = 3.06909048295609 | erot = 2.19611166095393 | epot = -22.0456827970012 | etot = -16.7804806530912 +767000 ekin = 2.95314668625034 | erot = 2.25238187251554 | epot = -22.0265415483726 | etot = -16.8210129896067 +768000 ekin = 2.82146820632443 | erot = 2.14933629194817 | epot = -21.972991691349 | etot = -17.0021871930764 +769000 ekin = 2.77603784529003 | erot = 1.90506312419755 | epot = -21.892293283993 | etot = -17.2111923145055 +770000 ekin = 2.78938661934819 | erot = 1.68105737595234 | epot = -21.7998635345682 | etot = -17.3294195392676 +771000 ekin = 2.69423677840458 | erot = 1.66016415121773 | epot = -21.7233415289997 | etot = -17.3689405993774 +772000 ekin = 2.47513570113057 | erot = 1.55323249560254 | epot = -21.6442608053664 | etot = -17.6158926086333 +773000 ekin = 2.31141180852051 | erot = 1.52117713523274 | epot = -21.5669030975226 | etot = -17.7343141537694 +774000 ekin = 2.17520959919755 | erot = 1.42853024205624 | epot = -21.5199609482922 | etot = -17.9162211070385 +775000 ekin = 2.04944703670502 | erot = 1.48494648755655 | epot = -21.5280933272633 | etot = -17.9936998030017 +776000 ekin = 1.92108310791782 | erot = 1.66205812928437 | epot = -21.5590874070445 | etot = -17.9759461698423 +777000 ekin = 1.71219857932836 | erot = 1.81255070842961 | epot = -21.5756405048094 | etot = -18.0508912170514 +778000 ekin = 1.64975190369177 | erot = 1.77693127539907 | epot = -21.6017623261212 | etot = -18.1750791470304 +779000 ekin = 1.48106773483772 | erot = 1.73996737730562 | epot = -21.6271500213885 | etot = -18.4061149092452 +780000 ekin = 1.42115475189735 | erot = 1.92486733092795 | epot = -21.6544636605774 | etot = -18.3084415777521 +781000 ekin = 1.45929388158725 | erot = 2.37782097649977 | epot = -21.6537823170126 | etot = -17.8166674589255 +782000 ekin = 1.41005089049893 | erot = 2.64330507296433 | epot = -21.6242214819641 | etot = -17.5708655185008 +783000 ekin = 1.48665806788307 | erot = 2.25515514589752 | epot = -21.6087091715109 | etot = -17.8668959577303 +784000 ekin = 1.51747380423224 | erot = 1.88850072498605 | epot = -21.5108011603788 | etot = -18.1048266311605 +785000 ekin = 1.54947682048194 | erot = 1.86706119579432 | epot = -21.3875221209808 | etot = -17.9709841047046 +786000 ekin = 1.54716158992325 | erot = 1.85630977678452 | epot = -21.2539376526395 | etot = -17.8504662859317 +787000 ekin = 1.62670511458602 | erot = 1.68010954051122 | epot = -21.1236984428158 | etot = -17.8168837877186 +788000 ekin = 1.71061295763304 | erot = 1.48079461940059 | epot = -21.0260161605701 | etot = -17.8346085835365 +789000 ekin = 1.75916840317546 | erot = 1.50945935318409 | epot = -21.0009620101452 | etot = -17.7323342537856 +790000 ekin = 1.81745672714458 | erot = 1.42634706359404 | epot = -20.9943086861146 | etot = -17.750504895376 +791000 ekin = 1.94362771134114 | erot = 1.56573593007329 | epot = -21.0261698907264 | etot = -17.516806249312 +792000 ekin = 2.04975276454245 | erot = 1.57988802147755 | epot = -21.07703366781 | etot = -17.44739288179 +793000 ekin = 2.17271315800368 | erot = 1.66062406864755 | epot = -21.1162570840033 | etot = -17.282919857352 +794000 ekin = 2.1333415780368 | erot = 1.76445873405366 | epot = -21.1513206879653 | etot = -17.2535203758748 +795000 ekin = 2.13601408983655 | erot = 1.81116078831877 | epot = -21.1807545548911 | etot = -17.2335796767358 +796000 ekin = 2.17221625803796 | erot = 1.84884046113839 | epot = -21.2058704683359 | etot = -17.1848137491596 +797000 ekin = 2.1463721053049 | erot = 2.21749811105505 | epot = -21.2529195044654 | etot = -16.8890492881055 +798000 ekin = 2.15957642625886 | erot = 2.29275394485755 | epot = -21.2708923889547 | etot = -16.8185620178383 +799000 ekin = 2.08753769092984 | erot = 2.48223892349963 | epot = -21.298877057375 | etot = -16.7291004429455 +800000 ekin = 2.10166063621306 | erot = 2.30451589147627 | epot = -21.3357063804161 | etot = -16.9295298527268 +801000 ekin = 1.98982068448309 | erot = 2.31496031357821 | epot = -21.3630439256785 | etot = -17.0582629276172 +802000 ekin = 1.88852653962954 | erot = 2.53585639899644 | epot = -21.4221529007404 | etot = -16.9977699621144 +803000 ekin = 1.86494899702717 | erot = 2.51258933602113 | epot = -21.5138216867254 | etot = -17.1362833536771 +804000 ekin = 1.83485043700229 | erot = 2.73777283234718 | epot = -21.60675388147 | etot = -17.0341306121205 +805000 ekin = 1.89569263744112 | erot = 2.82042555409346 | epot = -21.7141010846669 | etot = -16.9979828931323 +806000 ekin = 2.03598954392718 | erot = 2.98358468485725 | epot = -21.8550274116334 | etot = -16.8354531828489 +807000 ekin = 2.09814069227244 | erot = 2.8132319353642 | epot = -21.9827325780332 | etot = -17.0713599503965 +808000 ekin = 2.1146277027298 | erot = 2.49693470536621 | epot = -22.0688650799838 | etot = -17.4573026718878 +809000 ekin = 2.13890385092049 | erot = 2.65117639911355 | epot = -22.1082573604101 | etot = -17.318177110376 +810000 ekin = 2.15577455258879 | erot = 2.56739189056133 | epot = -22.0870651879663 | etot = -17.3638987448162 +811000 ekin = 2.17521477004763 | erot = 2.59273676449886 | epot = -22.0068576171901 | etot = -17.2389060826436 +812000 ekin = 2.2138211082672 | erot = 2.2833190373276 | epot = -21.9221481456809 | etot = -17.4250080000861 +813000 ekin = 2.23606377538069 | erot = 2.0667628632266 | epot = -21.8452254459276 | etot = -17.5423988073203 +814000 ekin = 2.31218669650448 | erot = 2.21982956647113 | epot = -21.7734705594004 | etot = -17.2414542964248 +815000 ekin = 2.26166132057992 | erot = 2.05343829873293 | epot = -21.7104605671149 | etot = -17.395360947802 +816000 ekin = 2.29922240842023 | erot = 1.78921729997066 | epot = -21.6731772950091 | etot = -17.5847375866182 +817000 ekin = 2.28546650718359 | erot = 1.75994341757863 | epot = -21.6545632782248 | etot = -17.6091533534626 +818000 ekin = 2.21513678285521 | erot = 1.78656435337588 | epot = -21.6636032884056 | etot = -17.6619021521746 +819000 ekin = 2.2739144098903 | erot = 1.82930333148435 | epot = -21.7137466609641 | etot = -17.6105289195894 +820000 ekin = 2.2428209129448 | erot = 1.73998445300752 | epot = -21.8023021191167 | etot = -17.8194967531644 +821000 ekin = 2.19192382316412 | erot = 2.09893863137338 | epot = -21.9355239556899 | etot = -17.6446615011524 +822000 ekin = 2.23107874912494 | erot = 2.41397800350045 | epot = -22.0937718271939 | etot = -17.4487150745685 +823000 ekin = 2.18728871634498 | erot = 2.89300153500107 | epot = -22.2549565567117 | etot = -17.1746663053656 +824000 ekin = 2.09269007791805 | erot = 3.3277443737517 | epot = -22.4116674984368 | etot = -16.991233046767 +825000 ekin = 2.02686183028574 | erot = 3.16127293746629 | epot = -22.5058824787873 | etot = -17.3177477110353 +826000 ekin = 2.03054435557985 | erot = 3.10016450783322 | epot = -22.5168374475919 | etot = -17.3861285841788 +827000 ekin = 2.01452410392906 | erot = 2.84123064216256 | epot = -22.4710810828109 | etot = -17.6153263367193 +828000 ekin = 1.90238312904183 | erot = 2.71042154497554 | epot = -22.3794911074953 | etot = -17.766686433478 +829000 ekin = 1.90418220366908 | erot = 2.69477669052601 | epot = -22.2643157201658 | etot = -17.6653568259707 +830000 ekin = 1.81997341684275 | erot = 2.54478505747627 | epot = -22.1272898430371 | etot = -17.7625313687181 +831000 ekin = 1.83168283006228 | erot = 2.1167788881342 | epot = -22.0163067804203 | etot = -18.0678450622238 +832000 ekin = 1.95186197623467 | erot = 2.17410981396376 | epot = -21.9377902835795 | etot = -17.8118184933811 +833000 ekin = 2.02730820338377 | erot = 1.91567543746809 | epot = -21.8853858637292 | etot = -17.9424022228773 +834000 ekin = 2.14966587630613 | erot = 1.87948738398654 | epot = -21.8918169629535 | etot = -17.8626637026608 +835000 ekin = 2.11991706020911 | erot = 1.8054541455182 | epot = -21.941723079406 | etot = -18.0163518736787 +836000 ekin = 2.16450787990159 | erot = 1.56947066595225 | epot = -22.0176370617284 | etot = -18.2836585158746 +837000 ekin = 2.22942308740125 | erot = 1.72466381535944 | epot = -22.0834662658134 | etot = -18.1293793630527 +838000 ekin = 2.33805060269789 | erot = 2.18496998632859 | epot = -22.1577664107309 | etot = -17.6347458217044 +839000 ekin = 2.45776270515513 | erot = 2.34137207492852 | epot = -22.2345011792188 | etot = -17.4353663991352 +840000 ekin = 2.44088597010558 | erot = 2.2019351625761 | epot = -22.3102615213255 | etot = -17.6674403886438 +841000 ekin = 2.52217561151199 | erot = 2.11119786335644 | epot = -22.4106870083819 | etot = -17.7773135335135 +842000 ekin = 2.53177717032663 | erot = 2.03329546380518 | epot = -22.5051884058711 | etot = -17.9401157717393 +843000 ekin = 2.46981084627127 | erot = 2.26208096486937 | epot = -22.6073969437417 | etot = -17.8755051326011 +844000 ekin = 2.53343392638509 | erot = 2.2623111116808 | epot = -22.6930988517867 | etot = -17.8973538137208 +845000 ekin = 2.55237006837663 | erot = 2.51402635295059 | epot = -22.7449813491078 | etot = -17.6785849277806 +846000 ekin = 2.43591378572727 | erot = 2.18244993015021 | epot = -22.7598171984306 | etot = -18.1414534825531 +847000 ekin = 2.4748928073951 | erot = 2.44850012169248 | epot = -22.7352494455247 | etot = -17.8118565164371 +848000 ekin = 2.5643357454521 | erot = 2.34872816436968 | epot = -22.6736999531278 | etot = -17.760636043306 +849000 ekin = 2.59586448024849 | erot = 2.26529497804774 | epot = -22.5710185702837 | etot = -17.7098591119875 +850000 ekin = 2.4903961332438 | erot = 2.08374957064487 | epot = -22.4628543871474 | etot = -17.8887086832587 +851000 ekin = 2.488488280051 | erot = 2.15043973705406 | epot = -22.3616397400164 | etot = -17.7227117229113 +852000 ekin = 2.50477194373655 | erot = 2.31551148311398 | epot = -22.2794107361277 | etot = -17.4591273092772 +853000 ekin = 2.48988722576821 | erot = 2.37905944195154 | epot = -22.2174467488412 | etot = -17.3485000811214 +854000 ekin = 2.48068473577124 | erot = 2.18215338513696 | epot = -22.1954265386905 | etot = -17.5325884177823 +855000 ekin = 2.36041825080372 | erot = 2.14907471345932 | epot = -22.229814016814 | etot = -17.7203210525509 +856000 ekin = 2.417358203682 | erot = 2.28663399372911 | epot = -22.3010603003025 | etot = -17.5970681028914 +857000 ekin = 2.30380534498129 | erot = 2.28079843394928 | epot = -22.3899957816153 | etot = -17.8053920026848 +858000 ekin = 2.32374915951241 | erot = 2.52586913415153 | epot = -22.4777730735045 | etot = -17.6281547798405 +859000 ekin = 2.3619482564049 | erot = 2.27489572175724 | epot = -22.5497050266214 | etot = -17.9128610484593 +860000 ekin = 2.2967620573291 | erot = 2.8388989146634 | epot = -22.6025698957187 | etot = -17.4669089237262 +861000 ekin = 2.21161021313974 | erot = 2.99481322410829 | epot = -22.6299245638849 | etot = -17.4235011266369 +862000 ekin = 2.21838183726318 | erot = 3.25000510606081 | epot = -22.6168976032125 | etot = -17.1485106598885 +863000 ekin = 2.13571465170804 | erot = 3.00165601774374 | epot = -22.5766345837815 | etot = -17.4392639143298 +864000 ekin = 2.17821492819622 | erot = 3.24144192927424 | epot = -22.5094500698137 | etot = -17.0897932123433 +865000 ekin = 2.12870821452531 | erot = 3.22322665201182 | epot = -22.4134082795112 | etot = -17.0614734129741 +866000 ekin = 2.03423896588069 | erot = 2.41447107774391 | epot = -22.3090528921738 | etot = -17.8603428485492 +867000 ekin = 1.97183886889236 | erot = 2.4818416043682 | epot = -22.2021182647478 | etot = -17.7484377914873 +868000 ekin = 1.91308044020495 | erot = 2.2465020804263 | epot = -22.1047137256864 | etot = -17.9451312050551 +869000 ekin = 1.86185635878513 | erot = 2.19298136311333 | epot = -22.0509375705501 | etot = -17.9960998486517 +870000 ekin = 1.75992459606909 | erot = 2.27547409061159 | epot = -22.0117595888705 | etot = -17.9763609021898 +871000 ekin = 1.72178818046751 | erot = 1.9657215078554 | epot = -21.980219974492 | etot = -18.2927102861691 +872000 ekin = 1.66903556580815 | erot = 1.9379416782388 | epot = -21.9603990023827 | etot = -18.3534217583358 +873000 ekin = 1.64894346626472 | erot = 1.88450940280994 | epot = -21.9681555430981 | etot = -18.4347026740234 +874000 ekin = 1.57135406761337 | erot = 1.94741453396434 | epot = -21.9765853859777 | etot = -18.4578167843999 +875000 ekin = 1.59516741268935 | erot = 2.23157297797765 | epot = -21.9920927279216 | etot = -18.1653523372546 +876000 ekin = 1.50206798403358 | erot = 2.57780068625252 | epot = -22.0050475608067 | etot = -17.9251788905206 +877000 ekin = 1.52015373136829 | erot = 2.28437163698736 | epot = -22.0218254393268 | etot = -18.2173000709712 +878000 ekin = 1.53387227783086 | erot = 2.27517376879602 | epot = -22.0464155341903 | etot = -18.2373694875634 +879000 ekin = 1.55669077534398 | erot = 2.37565877810974 | epot = -22.0629736571075 | etot = -18.1306241036537 +880000 ekin = 1.60508011630015 | erot = 2.26195551636616 | epot = -22.0724613924566 | etot = -18.2054257597903 +881000 ekin = 1.62558178006308 | erot = 2.31792675005643 | epot = -22.0658818657183 | etot = -18.1223733355988 +882000 ekin = 1.6144910958812 | erot = 2.44866007965463 | epot = -22.0469024278352 | etot = -17.9837512522994 +883000 ekin = 1.63091904234953 | erot = 2.18398402433269 | epot = -22.0252651066238 | etot = -18.2103620399416 +884000 ekin = 1.69681929338547 | erot = 2.21165212418211 | epot = -21.9745385463916 | etot = -18.066067128824 +885000 ekin = 1.75683241806753 | erot = 2.08331167107031 | epot = -21.8927725348196 | etot = -18.0526284456818 +886000 ekin = 1.75713708681619 | erot = 1.80115910431478 | epot = -21.826515750347 | etot = -18.268219559216 +887000 ekin = 1.84458649763971 | erot = 1.6655369970267 | epot = -21.7661815209394 | etot = -18.256058026273 +888000 ekin = 1.88680036415703 | erot = 1.7206520016233 | epot = -21.7110459690312 | etot = -18.1035936032509 +889000 ekin = 1.92232221960098 | erot = 1.56101057590172 | epot = -21.6536565424968 | etot = -18.1703237469941 +890000 ekin = 2.02284103377922 | erot = 1.31029028744492 | epot = -21.5930522300749 | etot = -18.2599209088507 +891000 ekin = 2.0244270161912 | erot = 1.42067034503728 | epot = -21.5472191599552 | etot = -18.1021217987267 +892000 ekin = 2.0362677580668 | erot = 1.6631677107657 | epot = -21.5129190017501 | etot = -17.8134835329176 +893000 ekin = 2.05186124624837 | erot = 1.57527161139243 | epot = -21.4921943128911 | etot = -17.8650614552503 +894000 ekin = 2.09965074001103 | erot = 1.56560345394405 | epot = -21.4743969884808 | etot = -17.8091427945257 +895000 ekin = 2.16252772919196 | erot = 1.54647539834646 | epot = -21.4549689326405 | etot = -17.7459658051021 +896000 ekin = 2.10489706554246 | erot = 1.78263133107092 | epot = -21.4330314423336 | etot = -17.5455030457202 +897000 ekin = 2.15073147494894 | erot = 1.74536300046844 | epot = -21.4239119831837 | etot = -17.5278175077664 +898000 ekin = 2.21697995910659 | erot = 2.06978765869365 | epot = -21.4471718071721 | etot = -17.1604041893719 +899000 ekin = 2.33779396143682 | erot = 2.00733840871154 | epot = -21.4839889813085 | etot = -17.1388566111601 +900000 ekin = 2.41597591914528 | erot = 1.85133754557104 | epot = -21.5274273367598 | etot = -17.2601138720435 +901000 ekin = 2.52644082940032 | erot = 2.19280268194111 | epot = -21.5756266105065 | etot = -16.8563830991651 +902000 ekin = 2.5104307371304 | erot = 1.85686816359485 | epot = -21.6063552107196 | etot = -17.2390563099944 +903000 ekin = 2.62548018500407 | erot = 1.94554509677329 | epot = -21.6466830430359 | etot = -17.0756577612585 +904000 ekin = 2.68604865642036 | erot = 1.82230313014663 | epot = -21.7065646613489 | etot = -17.1982128747819 +905000 ekin = 2.83060251059802 | erot = 2.0169713948485 | epot = -21.7613929111648 | etot = -16.9138190057183 +906000 ekin = 2.94848642766405 | erot = 1.99957930227793 | epot = -21.7999060542919 | etot = -16.8518403243499 +907000 ekin = 2.88672419291402 | erot = 2.19624352905707 | epot = -21.8240702621858 | etot = -16.7411025402147 +908000 ekin = 2.91368680910818 | erot = 2.2752598128973 | epot = -21.8626935205279 | etot = -16.6737468985224 +909000 ekin = 3.03993111338504 | erot = 2.41813386601853 | epot = -21.879736108139 | etot = -16.4216711287354 +910000 ekin = 3.02111394144764 | erot = 2.25653445757713 | epot = -21.8869501318898 | etot = -16.6093017328651 +911000 ekin = 2.99074440603055 | erot = 2.42571768981025 | epot = -21.8911591932141 | etot = -16.4746970973733 +912000 ekin = 2.93883503898899 | erot = 2.54048734112191 | epot = -21.8943632676168 | etot = -16.4150408875059 +913000 ekin = 2.88155815219829 | erot = 2.43333021308706 | epot = -21.8712405715098 | etot = -16.5563522062244 +914000 ekin = 2.78298688988037 | erot = 2.69976035390989 | epot = -21.8286041753375 | etot = -16.3458569315473 +915000 ekin = 2.75144009449231 | erot = 2.66679831130723 | epot = -21.7506323099735 | etot = -16.3323939041739 +916000 ekin = 2.7232885681261 | erot = 2.5321692255797 | epot = -21.6421731788429 | etot = -16.3867153851371 +917000 ekin = 2.69768821710692 | erot = 2.47439052917342 | epot = -21.5733596386738 | etot = -16.4012808923935 +918000 ekin = 2.66995818672244 | erot = 2.09882686301138 | epot = -21.5521619505356 | etot = -16.7833769008018 +919000 ekin = 2.61716147205333 | erot = 2.17918504384239 | epot = -21.5346780530109 | etot = -16.7383315371152 +920000 ekin = 2.4752636050963 | erot = 2.51685127690453 | epot = -21.4991402053981 | etot = -16.5070253233973 +921000 ekin = 2.47056876818124 | erot = 2.49255863309457 | epot = -21.4619591744658 | etot = -16.49883177319 +922000 ekin = 2.58423659960796 | erot = 2.61648914399003 | epot = -21.415611615363 | etot = -16.214885871765 +923000 ekin = 2.49375353891012 | erot = 2.67153957254799 | epot = -21.4001146688761 | etot = -16.2348215574179 +924000 ekin = 2.44602138612021 | erot = 2.68498715701816 | epot = -21.4057397221903 | etot = -16.274731179052 +925000 ekin = 2.4033884662416 | erot = 3.00424602709635 | epot = -21.4434811046198 | etot = -16.0358466112819 +926000 ekin = 2.47488592872591 | erot = 3.17529768125855 | epot = -21.5232565657775 | etot = -15.873072955793 +927000 ekin = 2.40301595960374 | erot = 3.1766285148493 | epot = -21.6300583966364 | etot = -16.0504139221834 +928000 ekin = 2.44990005675536 | erot = 3.45632999664383 | epot = -21.7790682902897 | etot = -15.8728382368905 +929000 ekin = 2.56646836803431 | erot = 3.14534753938374 | epot = -21.9043533033882 | etot = -16.1925373959701 +930000 ekin = 2.53471244466995 | erot = 3.34571877879509 | epot = -21.9769628203927 | etot = -16.0965315969277 +931000 ekin = 2.50104812028332 | erot = 3.03046410574044 | epot = -22.0056915593062 | etot = -16.4741793332825 +932000 ekin = 2.49568433462474 | erot = 2.88794958693699 | epot = -21.9962407011222 | etot = -16.6126067795604 +933000 ekin = 2.38321005752042 | erot = 2.8179651958572 | epot = -21.9635224592414 | etot = -16.7623472058638 +934000 ekin = 2.4631793302924 | erot = 2.48085702084528 | epot = -21.9076116702172 | etot = -16.9635753190795 +935000 ekin = 2.49404269439001 | erot = 2.2680501421832 | epot = -21.8352758876517 | etot = -17.0731830510785 +936000 ekin = 2.54306971323985 | erot = 2.27852041735781 | epot = -21.744631719905 | etot = -16.9230415893073 +937000 ekin = 2.53788333247455 | erot = 2.23194591805544 | epot = -21.6534356613612 | etot = -16.8836064108312 +938000 ekin = 2.56958704064676 | erot = 2.22382492410265 | epot = -21.6129100017677 | etot = -16.8194980370182 +939000 ekin = 2.57422838457825 | erot = 2.07923538706558 | epot = -21.627925471487 | etot = -16.9744616998432 +940000 ekin = 2.60491982052164 | erot = 1.98992236153694 | epot = -21.6750092612145 | etot = -17.0801670791559 +941000 ekin = 2.66373355701882 | erot = 2.32917490630045 | epot = -21.7643701633303 | etot = -16.771461700011 +942000 ekin = 2.69288932722208 | erot = 2.64061927508672 | epot = -21.8851511920178 | etot = -16.551642589709 +943000 ekin = 2.85220624426685 | erot = 2.64758558594824 | epot = -22.0439788566377 | etot = -16.5441870264226 +944000 ekin = 3.06981838443027 | erot = 2.58432650033874 | epot = -22.1868426785127 | etot = -16.5326977937437 +945000 ekin = 3.11977740266157 | erot = 2.76047052292399 | epot = -22.3020466458573 | etot = -16.4217987202717 +946000 ekin = 3.19652619014396 | erot = 2.60532859032593 | epot = -22.384087606966 | etot = -16.5822328264961 +947000 ekin = 3.0878408552909 | erot = 2.30512601523218 | epot = -22.4409982051648 | etot = -17.0480313346417 +948000 ekin = 3.07667922739931 | erot = 2.80704322134861 | epot = -22.4646638948259 | etot = -16.580941446078 +949000 ekin = 3.17062900636055 | erot = 2.74445638705334 | epot = -22.4206065116938 | etot = -16.5055211182799 +950000 ekin = 2.99689212844137 | erot = 2.86552970257333 | epot = -22.3361816450126 | etot = -16.4737598139979 +951000 ekin = 2.97085887473133 | erot = 2.98485442072136 | epot = -22.2080335641936 | etot = -16.252320268741 +952000 ekin = 2.8842631754872 | erot = 2.8809900192572 | epot = -22.0862048890997 | etot = -16.3209516943553 +953000 ekin = 2.7982194729927 | erot = 2.79125510393625 | epot = -21.969725924855 | etot = -16.3802513479261 +954000 ekin = 2.75832450886977 | erot = 2.42390666106181 | epot = -21.8712203511701 | etot = -16.6889891812385 +955000 ekin = 2.87942571582999 | erot = 2.62352115358359 | epot = -21.7827306606124 | etot = -16.2797837911988 +956000 ekin = 2.99654896256558 | erot = 2.37509995935517 | epot = -21.7003789778443 | etot = -16.3287300559236 +957000 ekin = 3.01075252014571 | erot = 2.0959903323952 | epot = -21.6228190260862 | etot = -16.5160761735453 +958000 ekin = 3.08956507051447 | erot = 2.10771389670693 | epot = -21.5884599129524 | etot = -16.391180945731 +959000 ekin = 3.0764993561191 | erot = 2.19950747705666 | epot = -21.6082995757446 | etot = -16.3322927425689 +960000 ekin = 3.10536584557396 | erot = 2.29678872673568 | epot = -21.6407886898385 | etot = -16.2386341175289 +961000 ekin = 3.15824288797319 | erot = 2.14027743718253 | epot = -21.657149423264 | etot = -16.3586290981083 +962000 ekin = 3.14297945524784 | erot = 2.20585989326445 | epot = -21.6669948660148 | etot = -16.3181555175025 +963000 ekin = 3.09592787201277 | erot = 1.84946957131994 | epot = -21.6592309502121 | etot = -16.7138335068794 +964000 ekin = 3.09941791328226 | erot = 2.05420199745743 | epot = -21.6348571714204 | etot = -16.4812372606807 +965000 ekin = 3.05909780025704 | erot = 2.03923495471238 | epot = -21.5780802205104 | etot = -16.479747465541 +966000 ekin = 3.14454176510646 | erot = 2.08245540621271 | epot = -21.4998250637724 | etot = -16.2728278924532 +967000 ekin = 3.03869206876124 | erot = 1.99551102271488 | epot = -21.4455121298548 | etot = -16.4113090383786 +968000 ekin = 2.91377375855432 | erot = 2.20122833628323 | epot = -21.4117922551795 | etot = -16.296790160342 +969000 ekin = 2.99132330213241 | erot = 2.47698235897834 | epot = -21.3565561223408 | etot = -15.8882504612301 +970000 ekin = 2.9592500568048 | erot = 2.48694698427739 | epot = -21.3051309670821 | etot = -15.8589339259999 +971000 ekin = 2.85605976500643 | erot = 2.15308731154091 | epot = -21.2711653081504 | etot = -16.2620182316031 +972000 ekin = 2.87454972615855 | erot = 2.21622270070414 | epot = -21.2533681597897 | etot = -16.162595732927 +973000 ekin = 2.82721122527912 | erot = 2.35000163924687 | epot = -21.2327108232249 | etot = -16.055497958699 +974000 ekin = 2.72683175865898 | erot = 2.83125023318017 | epot = -21.2149243536631 | etot = -15.656842361824 +975000 ekin = 2.70588216363101 | erot = 2.49368474281192 | epot = -21.1936492280788 | etot = -15.9940823216358 +976000 ekin = 2.70041722750338 | erot = 2.45741362546222 | epot = -21.1872755048005 | etot = -16.0294446518349 +977000 ekin = 2.59457836008745 | erot = 2.48585482647431 | epot = -21.1832960991295 | etot = -16.1028629125678 +978000 ekin = 2.59433384768261 | erot = 2.2568529885093 | epot = -21.1912738457585 | etot = -16.3400870095666 +979000 ekin = 2.65907339789715 | erot = 2.14939269259649 | epot = -21.2277961745874 | etot = -16.4193300840938 +980000 ekin = 2.68002582724941 | erot = 2.14623475911327 | epot = -21.2888425661001 | etot = -16.4625819797375 +981000 ekin = 2.64198792972712 | erot = 2.09278957349339 | epot = -21.3758129934796 | etot = -16.6410354902591 +982000 ekin = 2.72135605209082 | erot = 2.104842669207 | epot = -21.4695788294429 | etot = -16.6433801081451 +983000 ekin = 2.63994960139947 | erot = 2.23278066526111 | epot = -21.5361373723971 | etot = -16.6634071057365 +984000 ekin = 2.61481848525047 | erot = 2.09640066338693 | epot = -21.5563728487096 | etot = -16.8451537000722 +985000 ekin = 2.61123661404225 | erot = 2.33711711151793 | epot = -21.5280304280226 | etot = -16.5796767024624 +986000 ekin = 2.53166588530016 | erot = 2.51414944396451 | epot = -21.4598136655134 | etot = -16.4139983362488 +987000 ekin = 2.51681610277364 | erot = 2.15601000139561 | epot = -21.3682813084312 | etot = -16.6954552042619 +988000 ekin = 2.52900907479967 | erot = 1.99810184774674 | epot = -21.2423979763251 | etot = -16.7152870537787 +989000 ekin = 2.46743393431978 | erot = 2.17612647821162 | epot = -21.1081947595189 | etot = -16.4646343469875 +990000 ekin = 2.33679166273261 | erot = 2.21492463068834 | epot = -20.9584920898949 | etot = -16.4067757964739 +991000 ekin = 2.15649617938467 | erot = 2.10512589255922 | epot = -20.8223518284057 | etot = -16.5607297564618 +992000 ekin = 2.1666776200099 | erot = 2.36721990012104 | epot = -20.7043891749962 | etot = -16.1704916548652 +993000 ekin = 2.19208440550422 | erot = 2.60766896726736 | epot = -20.6167811931572 | etot = -15.8170278203856 +994000 ekin = 2.24324320799097 | erot = 2.72045204046688 | epot = -20.5394560681001 | etot = -15.5757608196422 +995000 ekin = 2.30218249346941 | erot = 2.38815652338815 | epot = -20.5055629227559 | etot = -15.8152239058984 +996000 ekin = 2.42068208522293 | erot = 2.25149887670527 | epot = -20.5308517273637 | etot = -15.8586707654355 +997000 ekin = 2.40906609278047 | erot = 2.62359663392259 | epot = -20.6100670630845 | etot = -15.5774043363815 +998000 ekin = 2.47036155438578 | erot = 2.72144206830481 | epot = -20.7420376418528 | etot = -15.5502340191622 +999000 ekin = 2.48386726649711 | erot = 3.06416174290322 | epot = -20.894846886581 | etot = -15.3468178771807 +1000000 ekin = 2.67285546610932 | erot = 3.25707361502085 | epot = -21.0717432309422 | etot = -15.141814149812 + 1000000 0.11879358 -1.3439085 0.026924568 -1.1499305 -8.5339515e-05 64000 +Loop time of 20.1611 on 4 procs for 1000000 steps with 16 atoms + +Performance: 42854.842 tau/day, 49600.511 timesteps/s +99.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 | 4.2835 | 7.6895 | 12.253 | 104.5 | 38.14 +Bond | 0.30149 | 0.3467 | 0.39285 | 7.1 | 1.72 +Neigh | 0.013536 | 0.013651 | 0.013755 | 0.1 | 0.07 +Comm | 4.1686 | 8.9506 | 12.543 | 102.1 | 44.40 +Output | 0.091778 | 0.096879 | 0.10816 | 2.1 | 0.48 +Modify | 1.2704 | 1.4599 | 1.6558 | 14.7 | 7.24 +Other | | 1.604 | | | 7.96 + +Nlocal: 4.00000 ave 5 max 3 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Nghost: 12.0000 ave 13 max 11 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Neighs: 26.2500 ave 54 max 9 min +Histogram: 1 1 0 0 1 0 0 0 0 1 + +Total # of neighbors = 105 +Ave neighs/atom = 6.5625000 +Ave special neighs/atom = 3.7500000 +Neighbor list builds = 1000 +Dangerous builds = 0 + +write_data last_config.${number}.* nocoeff +write_data last_config.2.* nocoeff +System init for write_data ... +#write_restart last_config.${number}.* +Total wall time: 0:00:20 diff --git a/examples/PACKAGES/cgdna/examples/oxDNA2/dsring/in.dsring b/examples/PACKAGES/cgdna/examples/oxDNA2/dsring/in.dsring index 68b77de981..8f476b9d1f 100644 --- a/examples/PACKAGES/cgdna/examples/oxDNA2/dsring/in.dsring +++ b/examples/PACKAGES/cgdna/examples/oxDNA2/dsring/in.dsring @@ -8,7 +8,7 @@ units lj dimension 3 -newton off +newton on boundary p p p @@ -68,5 +68,5 @@ dump_modify out format line "%d %d %d %22.15le %22.15le %22.15le %d %d %d %22 run 100000 -#write_data last_config.${number}.* nocoeff +write_data last_config.${number}.* nocoeff #write_restart last_config.${number}.* diff --git a/examples/PACKAGES/cgdna/examples/oxDNA2/dsring/log.2Jul21.dsring.g++.1 b/examples/PACKAGES/cgdna/examples/oxDNA2/dsring/log.2Jul21.dsring.g++.1 index f1870c13e6..0c5a623cc8 100644 --- a/examples/PACKAGES/cgdna/examples/oxDNA2/dsring/log.2Jul21.dsring.g++.1 +++ b/examples/PACKAGES/cgdna/examples/oxDNA2/dsring/log.2Jul21.dsring.g++.1 @@ -9,7 +9,7 @@ units lj dimension 3 -newton off +newton on boundary p p p @@ -30,7 +30,7 @@ Reading data file ... reading velocities ... 148 velocities scanning bonds ... - 2 = max bonds/atom + 1 = max bonds/atom 148 ellipsoids reading bonds ... 148 bonds @@ -115,151 +115,151 @@ Neighbor list info ... binsize = 2.8194939, bins = 36 36 36 5 neighbor lists, perpetual/occasional/extra = 5 0 0 (1) pair oxdna2/excv, perpetual - attributes: half, newton off - pair build: half/bin/newtoff - stencil: full/bin/3d + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d bin: standard (2) pair oxdna2/hbond, perpetual, copy from (1) - attributes: half, newton off + attributes: half, newton on pair build: copy stencil: none bin: none (3) pair oxdna2/xstk, perpetual, copy from (1) - attributes: half, newton off + attributes: half, newton on pair build: copy stencil: none bin: none (4) pair oxdna2/coaxstk, perpetual, copy from (1) - attributes: half, newton off + attributes: half, newton on pair build: copy stencil: none bin: none (5) pair oxdna2/dh, perpetual, copy from (1) - attributes: half, newton off + attributes: half, newton on pair build: copy stencil: none bin: none WARNING: Communication cutoff adjusted to 5.638987723814632 (../comm.cpp:739) 0 ekin = 20.4724634226502 | erot = 21.0406985312466 | epot = -222.283862600785 | etot = -180.770700646889 -Per MPI rank memory allocation (min/avg/max) = 9.726 | 9.726 | 9.726 Mbytes +Per MPI rank memory allocation (min/avg/max) = 9.601 | 9.601 | 9.601 Mbytes Step Temp E_pair E_mol TotEng Press Volume 0 0.092845639 -1.5501211 0.04820308 -1.3635905 -9.0052368e-06 1000000 1000 ekin = 20.531989141805 | erot = 21.2158633183735 | epot = -222.518553109361 | etot = -180.770700649183 -2000 ekin = 20.585620972069 | erot = 21.3918594352261 | epot = -222.748181058335 | etot = -180.77070065104 +2000 ekin = 20.585620972069 | erot = 21.391859435226 | epot = -222.748181058335 | etot = -180.77070065104 3000 ekin = 20.6239332104642 | erot = 21.5529389082728 | epot = -222.947572771312 | etot = -180.770700652575 4000 ekin = 20.6395549184482 | erot = 21.6854113323895 | epot = -223.095666904229 | etot = -180.770700653391 5000 ekin = 20.6295551742564 | erot = 21.7809539301805 | epot = -223.181209757876 | etot = -180.770700653439 -6000 ekin = 20.5959625511846 | erot = 21.8369756530727 | epot = -223.203638857302 | etot = -180.770700653045 -7000 ekin = 20.5431034482068 | erot = 21.8556844173875 | epot = -223.169488517717 | etot = -180.770700652122 -8000 ekin = 20.4774701419091 | erot = 21.8437134145374 | epot = -223.091884207389 | etot = -180.770700650943 -9000 ekin = 20.4074566554237 | erot = 21.8097283692398 | epot = -222.98788567426 | etot = -180.770700649597 -10000 ekin = 20.3427303660295 | erot = 21.7629575866663 | epot = -222.876388600949 | etot = -180.770700648253 -11000 ekin = 20.2927407149576 | erot = 21.7112100845349 | epot = -222.774651446682 | etot = -180.770700647189 -12000 ekin = 20.2665977502212 | erot = 21.6594999867139 | epot = -222.696798383221 | etot = -180.770700646286 -13000 ekin = 20.2733920359445 | erot = 21.6092715397933 | epot = -222.653364221616 | etot = -180.770700645878 -14000 ekin = 20.3196524789068 | erot = 21.5586630974992 | epot = -222.649016222075 | etot = -180.770700645669 -15000 ekin = 20.4104009374289 | erot = 21.5031572556306 | epot = -222.684258838857 | etot = -180.770700645798 -16000 ekin = 20.5472869005792 | erot = 21.4346177247041 | epot = -222.752605272036 | etot = -180.770700646753 -17000 ekin = 20.7266657908773 | erot = 21.3426631585217 | epot = -222.840029597232 | etot = -180.770700647833 -18000 ekin = 20.9417612759979 | erot = 21.2178611180927 | epot = -222.930323042997 | etot = -180.770700648907 -19000 ekin = 21.1819308659397 | erot = 21.0532289630294 | epot = -223.00586047892 | etot = -180.770700649951 -20000 ekin = 21.4358169889474 | erot = 20.8473069564707 | epot = -223.053824595387 | etot = -180.770700649969 -21000 ekin = 21.6968513750997 | erot = 20.6066744652586 | epot = -223.074226489837 | etot = -180.770700649479 -22000 ekin = 21.9614458442782 | erot = 20.3429420444511 | epot = -223.07508853737 | etot = -180.770700648641 -23000 ekin = 22.22760997557 | erot = 20.0703385165243 | epot = -223.068649139875 | etot = -180.770700647781 -24000 ekin = 22.4935893196671 | erot = 19.8020671721666 | epot = -223.066357139276 | etot = -180.770700647443 -25000 ekin = 22.7566064548224 | erot = 19.5464828008842 | epot = -223.073789902976 | etot = -180.770700647269 -26000 ekin = 23.0126717548395 | erot = 19.3065017718468 | epot = -223.089874174572 | etot = -180.770700647886 -27000 ekin = 23.255041706059 | erot = 19.0797753474573 | epot = -223.105517701933 | etot = -180.770700648417 -28000 ekin = 23.4774329734801 | erot = 18.864619729958 | epot = -223.112753352067 | etot = -180.770700648629 -29000 ekin = 23.674792772066 | erot = 18.662865341183 | epot = -223.108358761694 | etot = -180.770700648445 -30000 ekin = 23.8432321400243 | erot = 18.481221698364 | epot = -223.095154486375 | etot = -180.770700647987 -31000 ekin = 23.9793041752225 | erot = 18.3307845334023 | epot = -223.08078935577 | etot = -180.770700647145 -32000 ekin = 24.0810246040231 | erot = 18.2261577056005 | epot = -223.07788295592 | etot = -180.770700646296 -33000 ekin = 24.1468986449394 | erot = 18.1820705445407 | epot = -223.09966983514 | etot = -180.77070064566 -34000 ekin = 24.175661513286 | erot = 18.2103812210173 | epot = -223.156743379607 | etot = -180.770700645304 -35000 ekin = 24.1663193894648 | erot = 18.3185351073568 | epot = -223.25555514209 | etot = -180.770700645268 -36000 ekin = 24.1167205812961 | erot = 18.5091649894186 | epot = -223.396586216222 | etot = -180.770700645508 -37000 ekin = 24.0274860006133 | erot = 18.7785134320987 | epot = -223.576700078937 | etot = -180.770700646225 -38000 ekin = 23.8991479078982 | erot = 19.1166063146994 | epot = -223.78645486989 | etot = -180.770700647292 -39000 ekin = 23.7326911853235 | erot = 19.5069160952492 | epot = -224.010307929336 | etot = -180.770700648763 -40000 ekin = 23.529422307212 | erot = 19.9254673141826 | epot = -224.225590272293 | etot = -180.770700650898 -41000 ekin = 23.2899396141392 | erot = 20.340809778056 | epot = -224.401450045566 | etot = -180.770700653371 -42000 ekin = 23.0154529235023 | erot = 20.7165619564846 | epot = -224.502715535761 | etot = -180.770700655775 -43000 ekin = 22.7111536814278 | erot = 21.0163895622229 | epot = -224.498243901358 | etot = -180.770700657707 -44000 ekin = 22.3710575806355 | erot = 21.2060371289781 | epot = -224.347795365753 | etot = -180.770700656139 -45000 ekin = 22.0515843162891 | erot = 21.2588026881768 | epot = -224.081087646891 | etot = -180.770700642425 -46000 ekin = 21.7855632553136 | erot = 21.2036013766602 | epot = -223.759865260062 | etot = -180.770700628088 -47000 ekin = 21.5167766971458 | erot = 21.065636702367 | epot = -223.353114011015 | etot = -180.770700611502 -48000 ekin = 21.4540196107337 | erot = 20.8430832424325 | epot = -223.067803499525 | etot = -180.770700646359 -49000 ekin = 21.3647564765278 | erot = 20.5521507191688 | epot = -222.687607816921 | etot = -180.770700621224 -50000 ekin = 21.3125768184621 | erot = 20.2526464671332 | epot = -222.335923904309 | etot = -180.770700618714 -51000 ekin = 21.2949924810838 | erot = 19.9798421626043 | epot = -222.045535260404 | etot = -180.770700616716 -52000 ekin = 21.3137144249685 | erot = 19.7627691343687 | epot = -221.847184173962 | etot = -180.770700614625 -53000 ekin = 21.3664076685105 | erot = 19.6202359856899 | epot = -221.757344279694 | etot = -180.770700625493 -54000 ekin = 21.421424552406 | erot = 19.55882323195 | epot = -221.750948393747 | etot = -180.770700609391 -55000 ekin = 21.5995673396093 | erot = 19.5805214885678 | epot = -221.950789453583 | etot = -180.770700625406 -56000 ekin = 21.7643125668307 | erot = 19.6816042107778 | epot = -222.216617401429 | etot = -180.77070062382 -57000 ekin = 21.9221309084445 | erot = 19.8499880475953 | epot = -222.542819582064 | etot = -180.770700626024 -58000 ekin = 22.0666093644392 | erot = 20.0713856445716 | epot = -222.908695636277 | etot = -180.770700627266 -59000 ekin = 22.1910921687949 | erot = 20.328402409601 | epot = -223.290195207095 | etot = -180.770700628699 -60000 ekin = 22.2920682490237 | erot = 20.600331953154 | epot = -223.663100832376 | etot = -180.770700630198 -61000 ekin = 22.3680528265789 | erot = 20.864561419886 | epot = -224.003314878046 | etot = -180.770700631581 -62000 ekin = 22.4198570332632 | erot = 21.0983714926627 | epot = -224.288929158678 | etot = -180.770700632752 -63000 ekin = 22.4500800739919 | erot = 21.2815521440893 | epot = -224.502332851296 | etot = -180.770700633215 -64000 ekin = 22.4634052763981 | erot = 21.3990470998276 | epot = -224.633153009903 | etot = -180.770700633677 -65000 ekin = 22.4639885390962 | erot = 21.4413332838522 | epot = -224.676022456447 | etot = -180.770700633499 -66000 ekin = 22.4559522488541 | erot = 21.4074154510862 | epot = -224.634068332758 | etot = -180.770700632817 -67000 ekin = 22.4417384097823 | erot = 21.3051580893559 | epot = -224.517597130738 | etot = -180.770700631599 -68000 ekin = 22.4218785446456 | erot = 21.1490017805238 | epot = -224.341580956059 | etot = -180.77070063089 -69000 ekin = 22.3954651199574 | erot = 20.9555571676353 | epot = -224.121722917262 | etot = -180.77070062967 -70000 ekin = 22.3613349801191 | erot = 20.7433545871753 | epot = -223.875390195706 | etot = -180.770700628411 -71000 ekin = 22.3171019087139 | erot = 20.5301141425045 | epot = -223.617916679046 | etot = -180.770700627827 -72000 ekin = 22.2595195485148 | erot = 20.329630938296 | epot = -223.359851114099 | etot = -180.770700627288 -73000 ekin = 22.1869461213879 | erot = 20.1521902584585 | epot = -223.109837006429 | etot = -180.770700626583 -74000 ekin = 22.0990935565687 | erot = 20.0059494138148 | epot = -222.875743596757 | etot = -180.770700626373 -75000 ekin = 21.9959491639287 | erot = 19.8965902063256 | epot = -222.663239996049 | etot = -180.770700625795 -76000 ekin = 21.8806005890451 | erot = 19.8284243363261 | epot = -222.47972555068 | etot = -180.770700625309 -77000 ekin = 21.7590261899816 | erot = 19.8043252195866 | epot = -222.334052034218 | etot = -180.77070062465 -78000 ekin = 21.639241983951 | erot = 19.8262630279238 | epot = -222.236205635988 | etot = -180.770700624113 -79000 ekin = 21.5302317519724 | erot = 19.8938812521579 | epot = -222.19481362777 | etot = -180.77070062364 -80000 ekin = 21.4402276725665 | erot = 20.0060100278945 | epot = -222.216938324075 | etot = -180.770700623614 -81000 ekin = 21.3741486759864 | erot = 20.1585144791611 | epot = -222.30336377944 | etot = -180.770700624292 -82000 ekin = 21.3325013763512 | erot = 20.3431413542723 | epot = -222.446343355881 | etot = -180.770700625258 -83000 ekin = 21.3128808684044 | erot = 20.5483309907718 | epot = -222.63191248578 | etot = -180.770700626604 -84000 ekin = 21.3107661707936 | erot = 20.760791978517 | epot = -222.842258777119 | etot = -180.770700627809 -85000 ekin = 21.3216301567282 | erot = 20.967841853924 | epot = -223.060172639486 | etot = -180.770700628834 -86000 ekin = 21.3400295156728 | erot = 21.1566564817949 | epot = -223.267386627524 | etot = -180.770700630056 -87000 ekin = 21.3617783036996 | erot = 21.3170902458385 | epot = -223.449569179882 | etot = -180.770700630344 -88000 ekin = 21.3873913218412 | erot = 21.4454439910409 | epot = -223.603535942848 | etot = -180.770700629966 -89000 ekin = 21.4215740693991 | erot = 21.5439953706444 | epot = -223.736270068948 | etot = -180.770700628904 -90000 ekin = 21.4723781618092 | erot = 21.6216769093334 | epot = -223.864755698469 | etot = -180.770700627326 -91000 ekin = 21.5494066254721 | erot = 21.6927202486451 | epot = -224.012827499722 | etot = -180.770700625605 -92000 ekin = 21.6619209347598 | erot = 21.7730744492999 | epot = -224.205696008348 | etot = -180.770700624289 -93000 ekin = 21.8158778641473 | erot = 21.8756732628035 | epot = -224.462251750825 | etot = -180.770700623875 -94000 ekin = 22.0110275730999 | erot = 22.0060799403011 | epot = -224.787808138196 | etot = -180.770700624795 -95000 ekin = 22.2387555838385 | erot = 22.1596167137182 | epot = -225.16907292429 | etot = -180.770700626734 -96000 ekin = 22.4832444899363 | erot = 22.3220202374392 | epot = -225.575965356876 | etot = -180.7707006295 -97000 ekin = 22.7237276202696 | erot = 22.4720556690115 | epot = -225.966483921719 | etot = -180.770700632438 -98000 ekin = 22.9377647716045 | erot = 22.5858660312272 | epot = -226.294331437119 | etot = -180.770700634287 -99000 ekin = 23.1071231637242 | erot = 22.6457411046182 | epot = -226.523564904806 | etot = -180.770700636464 -100000 ekin = 23.2156001924317 | erot = 22.6390310936005 | epot = -226.625331923823 | etot = -180.770700637791 +6000 ekin = 20.5959625511847 | erot = 21.8369756530727 | epot = -223.203638857302 | etot = -180.770700653045 +7000 ekin = 20.5431034482068 | erot = 21.8556844173875 | epot = -223.169488517716 | etot = -180.770700652122 +8000 ekin = 20.4774701419092 | erot = 21.8437134145374 | epot = -223.091884207389 | etot = -180.770700650943 +9000 ekin = 20.4074566554238 | erot = 21.8097283692398 | epot = -222.987885674261 | etot = -180.770700649597 +10000 ekin = 20.3427303660296 | erot = 21.7629575866663 | epot = -222.876388600948 | etot = -180.770700648253 +11000 ekin = 20.2927407149577 | erot = 21.7112100845349 | epot = -222.774651446682 | etot = -180.770700647189 +12000 ekin = 20.2665977502213 | erot = 21.6594999867139 | epot = -222.696798383221 | etot = -180.770700646286 +13000 ekin = 20.2733920359447 | erot = 21.6092715397932 | epot = -222.653364221616 | etot = -180.770700645878 +14000 ekin = 20.319652478907 | erot = 21.558663097499 | epot = -222.649016222075 | etot = -180.770700645669 +15000 ekin = 20.4104009374291 | erot = 21.5031572556304 | epot = -222.684258838857 | etot = -180.770700645798 +16000 ekin = 20.5472869005793 | erot = 21.4346177247038 | epot = -222.752605272036 | etot = -180.770700646753 +17000 ekin = 20.7266657908775 | erot = 21.3426631585214 | epot = -222.840029597232 | etot = -180.770700647833 +18000 ekin = 20.9417612759981 | erot = 21.2178611180923 | epot = -222.930323042997 | etot = -180.770700648907 +19000 ekin = 21.1819308659399 | erot = 21.0532289630289 | epot = -223.00586047892 | etot = -180.770700649951 +20000 ekin = 21.4358169889477 | erot = 20.8473069564703 | epot = -223.053824595387 | etot = -180.770700649969 +21000 ekin = 21.6968513751 | erot = 20.6066744652581 | epot = -223.074226489837 | etot = -180.770700649478 +22000 ekin = 21.9614458442786 | erot = 20.3429420444505 | epot = -223.07508853737 | etot = -180.770700648641 +23000 ekin = 22.2276099755705 | erot = 20.0703385165238 | epot = -223.068649139875 | etot = -180.77070064778 +24000 ekin = 22.4935893196675 | erot = 19.802067172166 | epot = -223.066357139276 | etot = -180.770700647443 +25000 ekin = 22.7566064548228 | erot = 19.5464828008836 | epot = -223.073789902975 | etot = -180.770700647269 +26000 ekin = 23.0126717548399 | erot = 19.3065017718462 | epot = -223.089874174571 | etot = -180.770700647885 +27000 ekin = 23.2550417060594 | erot = 19.0797753474567 | epot = -223.105517701932 | etot = -180.770700648416 +28000 ekin = 23.4774329734805 | erot = 18.8646197299574 | epot = -223.112753352067 | etot = -180.770700648629 +29000 ekin = 23.6747927720663 | erot = 18.6628653411825 | epot = -223.108358761693 | etot = -180.770700648445 +30000 ekin = 23.8432321400247 | erot = 18.4812216983637 | epot = -223.095154486375 | etot = -180.770700647986 +31000 ekin = 23.9793041752229 | erot = 18.330784533402 | epot = -223.08078935577 | etot = -180.770700647145 +32000 ekin = 24.0810246040235 | erot = 18.2261577056003 | epot = -223.077882955919 | etot = -180.770700646295 +33000 ekin = 24.1468986449398 | erot = 18.1820705445406 | epot = -223.09966983514 | etot = -180.770700645659 +34000 ekin = 24.1756615132863 | erot = 18.2103812210172 | epot = -223.156743379607 | etot = -180.770700645303 +35000 ekin = 24.1663193894652 | erot = 18.3185351073568 | epot = -223.255555142089 | etot = -180.770700645267 +36000 ekin = 24.1167205812964 | erot = 18.5091649894187 | epot = -223.396586216223 | etot = -180.770700645508 +37000 ekin = 24.0274860006135 | erot = 18.7785134320989 | epot = -223.576700078937 | etot = -180.770700646225 +38000 ekin = 23.8991479078985 | erot = 19.1166063146995 | epot = -223.78645486989 | etot = -180.770700647292 +39000 ekin = 23.7326911853236 | erot = 19.5069160952493 | epot = -224.010307929336 | etot = -180.770700648763 +40000 ekin = 23.5294223072121 | erot = 19.9254673141826 | epot = -224.225590272292 | etot = -180.770700650897 +41000 ekin = 23.2899396141392 | erot = 20.340809778056 | epot = -224.401450045567 | etot = -180.770700653371 +42000 ekin = 23.0154529235024 | erot = 20.7165619564844 | epot = -224.502715535761 | etot = -180.770700655774 +43000 ekin = 22.7111536814278 | erot = 21.0163895622227 | epot = -224.498243901357 | etot = -180.770700657707 +44000 ekin = 22.3710575806356 | erot = 21.2060371289779 | epot = -224.347795365752 | etot = -180.770700656139 +45000 ekin = 22.0515843162889 | erot = 21.2588026881767 | epot = -224.08108764689 | etot = -180.770700642424 +46000 ekin = 21.7855632553132 | erot = 21.2036013766601 | epot = -223.75986526006 | etot = -180.770700628087 +47000 ekin = 21.5167766971454 | erot = 21.0656367023669 | epot = -223.353114011014 | etot = -180.770700611502 +48000 ekin = 21.4540196107332 | erot = 20.8430832424325 | epot = -223.067803499524 | etot = -180.770700646358 +49000 ekin = 21.3647564765273 | erot = 20.5521507191689 | epot = -222.68760781692 | etot = -180.770700621224 +50000 ekin = 21.3125768184616 | erot = 20.2526464671335 | epot = -222.335923904309 | etot = -180.770700618713 +51000 ekin = 21.2949924810833 | erot = 19.9798421626046 | epot = -222.045535260403 | etot = -180.770700616715 +52000 ekin = 21.313714424968 | erot = 19.762769134369 | epot = -221.847184173962 | etot = -180.770700614625 +53000 ekin = 21.3664076685101 | erot = 19.6202359856903 | epot = -221.757344279694 | etot = -180.770700625493 +54000 ekin = 21.4214245524056 | erot = 19.5588232319504 | epot = -221.750948393747 | etot = -180.770700609391 +55000 ekin = 21.5995673396088 | erot = 19.5805214885682 | epot = -221.950789453583 | etot = -180.770700625406 +56000 ekin = 21.7643125668302 | erot = 19.6816042107783 | epot = -222.216617401428 | etot = -180.77070062382 +57000 ekin = 21.922130908444 | erot = 19.8499880475958 | epot = -222.542819582063 | etot = -180.770700626024 +58000 ekin = 22.0666093644387 | erot = 20.0713856445721 | epot = -222.908695636277 | etot = -180.770700627266 +59000 ekin = 22.1910921687945 | erot = 20.3284024096015 | epot = -223.290195207095 | etot = -180.770700628699 +60000 ekin = 22.2920682490233 | erot = 20.6003319531545 | epot = -223.663100832376 | etot = -180.770700630198 +61000 ekin = 22.3680528265786 | erot = 20.8645614198866 | epot = -224.003314878046 | etot = -180.77070063158 +62000 ekin = 22.4198570332631 | erot = 21.0983714926633 | epot = -224.288929158679 | etot = -180.770700632752 +63000 ekin = 22.450080073992 | erot = 21.28155214409 | epot = -224.502332851296 | etot = -180.770700633215 +64000 ekin = 22.4634052763983 | erot = 21.3990470998282 | epot = -224.633153009903 | etot = -180.770700633676 +65000 ekin = 22.4639885390964 | erot = 21.4413332838528 | epot = -224.676022456447 | etot = -180.770700633498 +66000 ekin = 22.4559522488544 | erot = 21.4074154510867 | epot = -224.634068332758 | etot = -180.770700632817 +67000 ekin = 22.4417384097826 | erot = 21.3051580893564 | epot = -224.517597130738 | etot = -180.770700631599 +68000 ekin = 22.421878544646 | erot = 21.1490017805243 | epot = -224.34158095606 | etot = -180.77070063089 +69000 ekin = 22.3954651199576 | erot = 20.9555571676358 | epot = -224.121722917263 | etot = -180.770700629669 +70000 ekin = 22.3613349801193 | erot = 20.7433545871758 | epot = -223.875390195706 | etot = -180.770700628411 +71000 ekin = 22.3171019087139 | erot = 20.5301141425049 | epot = -223.617916679045 | etot = -180.770700627826 +72000 ekin = 22.2595195485147 | erot = 20.3296309382964 | epot = -223.359851114099 | etot = -180.770700627288 +73000 ekin = 22.1869461213877 | erot = 20.1521902584588 | epot = -223.109837006429 | etot = -180.770700626583 +74000 ekin = 22.0990935565683 | erot = 20.0059494138149 | epot = -222.875743596756 | etot = -180.770700626373 +75000 ekin = 21.9959491639282 | erot = 19.8965902063256 | epot = -222.663239996049 | etot = -180.770700625795 +76000 ekin = 21.8806005890445 | erot = 19.828424336326 | epot = -222.479725550679 | etot = -180.770700625308 +77000 ekin = 21.7590261899809 | erot = 19.8043252195864 | epot = -222.334052034216 | etot = -180.770700624649 +78000 ekin = 21.6392419839503 | erot = 19.8262630279236 | epot = -222.236205635986 | etot = -180.770700624113 +79000 ekin = 21.5302317519716 | erot = 19.8938812521576 | epot = -222.194813627769 | etot = -180.77070062364 +80000 ekin = 21.4402276725657 | erot = 20.0060100278943 | epot = -222.216938324074 | etot = -180.770700623614 +81000 ekin = 21.3741486759855 | erot = 20.158514479161 | epot = -222.303363779439 | etot = -180.770700624292 +82000 ekin = 21.3325013763505 | erot = 20.3431413542724 | epot = -222.44634335588 | etot = -180.770700625257 +83000 ekin = 21.3128808684037 | erot = 20.548330990772 | epot = -222.631912485779 | etot = -180.770700626604 +84000 ekin = 21.310766170793 | erot = 20.7607919785174 | epot = -222.842258777119 | etot = -180.770700627809 +85000 ekin = 21.3216301567277 | erot = 20.9678418539246 | epot = -223.060172639485 | etot = -180.770700628833 +86000 ekin = 21.3400295156723 | erot = 21.1566564817957 | epot = -223.267386627523 | etot = -180.770700630055 +87000 ekin = 21.3617783036992 | erot = 21.3170902458394 | epot = -223.449569179882 | etot = -180.770700630344 +88000 ekin = 21.3873913218409 | erot = 21.445443991042 | epot = -223.603535942848 | etot = -180.770700629965 +89000 ekin = 21.421574069399 | erot = 21.5439953706456 | epot = -223.736270068948 | etot = -180.770700628904 +90000 ekin = 21.4723781618091 | erot = 21.6216769093347 | epot = -223.86475569847 | etot = -180.770700627326 +91000 ekin = 21.549406625472 | erot = 21.6927202486463 | epot = -224.012827499723 | etot = -180.770700625604 +92000 ekin = 21.6619209347597 | erot = 21.7730744493012 | epot = -224.205696008348 | etot = -180.770700624287 +93000 ekin = 21.8158778641472 | erot = 21.8756732628048 | epot = -224.462251750825 | etot = -180.770700623873 +94000 ekin = 22.0110275730997 | erot = 22.0060799403022 | epot = -224.787808138196 | etot = -180.770700624794 +95000 ekin = 22.2387555838384 | erot = 22.1596167137192 | epot = -225.16907292429 | etot = -180.770700626733 +96000 ekin = 22.4832444899361 | erot = 22.3220202374401 | epot = -225.575965356875 | etot = -180.770700629499 +97000 ekin = 22.7237276202693 | erot = 22.4720556690122 | epot = -225.966483921719 | etot = -180.770700632437 +98000 ekin = 22.9377647716041 | erot = 22.5858660312277 | epot = -226.294331437118 | etot = -180.770700634287 +99000 ekin = 23.1071231637237 | erot = 22.6457411046184 | epot = -226.523564904806 | etot = -180.770700636464 +100000 ekin = 23.2156001924311 | erot = 22.6390310936006 | epot = -226.625331923822 | etot = -180.770700637791 100000 0.10528617 -1.5761124 0.044860201 -1.3743901 -1.9205819e-05 1000000 -Loop time of 81.8713 on 1 procs for 100000 steps with 148 atoms +Loop time of 83.9672 on 1 procs for 100000 steps with 148 atoms -Performance: 1055.315 tau/day, 1221.430 timesteps/s -99.8% CPU use with 1 MPI tasks x no OpenMP threads +Performance: 1028.974 tau/day, 1190.942 timesteps/s +99.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 | 78.718 | 78.718 | 78.718 | 0.0 | 96.15 -Bond | 0.97064 | 0.97064 | 0.97064 | 0.0 | 1.19 -Neigh | 0.016915 | 0.016915 | 0.016915 | 0.0 | 0.02 -Comm | 0.027127 | 0.027127 | 0.027127 | 0.0 | 0.03 -Output | 0.12162 | 0.12162 | 0.12162 | 0.0 | 0.15 -Modify | 1.9185 | 1.9185 | 1.9185 | 0.0 | 2.34 -Other | | 0.09845 | | | 0.12 +Pair | 80.885 | 80.885 | 80.885 | 0.0 | 96.33 +Bond | 0.94789 | 0.94789 | 0.94789 | 0.0 | 1.13 +Neigh | 0.011589 | 0.011589 | 0.011589 | 0.0 | 0.01 +Comm | 0.045979 | 0.045979 | 0.045979 | 0.0 | 0.05 +Output | 0.11973 | 0.11973 | 0.11973 | 0.0 | 0.14 +Modify | 1.8641 | 1.8641 | 1.8641 | 0.0 | 2.22 +Other | | 0.09239 | | | 0.11 Nlocal: 148.000 ave 148 max 148 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -274,6 +274,8 @@ Ave special neighs/atom = 6.0000000 Neighbor list builds = 100 Dangerous builds = 0 -#write_data last_config.${number}.* nocoeff +write_data last_config.${number}.* nocoeff +write_data last_config.5.* nocoeff +System init for write_data ... #write_restart last_config.${number}.* -Total wall time: 0:01:21 +Total wall time: 0:01:23 diff --git a/examples/PACKAGES/cgdna/examples/oxDNA2/dsring/log.2Jul21.dsring.g++.4 b/examples/PACKAGES/cgdna/examples/oxDNA2/dsring/log.2Jul21.dsring.g++.4 index 1b2e2b23dc..d2a1b84c3d 100644 --- a/examples/PACKAGES/cgdna/examples/oxDNA2/dsring/log.2Jul21.dsring.g++.4 +++ b/examples/PACKAGES/cgdna/examples/oxDNA2/dsring/log.2Jul21.dsring.g++.4 @@ -9,7 +9,7 @@ units lj dimension 3 -newton off +newton on boundary p p p @@ -30,7 +30,7 @@ Reading data file ... reading velocities ... 148 velocities scanning bonds ... - 2 = max bonds/atom + 1 = max bonds/atom 148 ellipsoids reading bonds ... 148 bonds @@ -115,33 +115,33 @@ Neighbor list info ... binsize = 2.8194939, bins = 36 36 36 5 neighbor lists, perpetual/occasional/extra = 5 0 0 (1) pair oxdna2/excv, perpetual - attributes: half, newton off - pair build: half/bin/newtoff - stencil: full/bin/3d + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d bin: standard (2) pair oxdna2/hbond, perpetual, copy from (1) - attributes: half, newton off + attributes: half, newton on pair build: copy stencil: none bin: none (3) pair oxdna2/xstk, perpetual, copy from (1) - attributes: half, newton off + attributes: half, newton on pair build: copy stencil: none bin: none (4) pair oxdna2/coaxstk, perpetual, copy from (1) - attributes: half, newton off + attributes: half, newton on pair build: copy stencil: none bin: none (5) pair oxdna2/dh, perpetual, copy from (1) - attributes: half, newton off + attributes: half, newton on pair build: copy stencil: none bin: none WARNING: Communication cutoff adjusted to 5.638987723814632 (../comm.cpp:739) 0 ekin = 20.4724634226502 | erot = 21.0406985312466 | epot = -222.283862600785 | etot = -180.770700646889 -Per MPI rank memory allocation (min/avg/max) = 9.508 | 9.558 | 9.632 Mbytes +Per MPI rank memory allocation (min/avg/max) = 9.383 | 9.432 | 9.506 Mbytes Step Temp E_pair E_mol TotEng Press Volume 0 0.092845639 -1.5501211 0.04820308 -1.3635905 -9.0052368e-06 1000000 1000 ekin = 20.531989141805 | erot = 21.2158633183735 | epot = -222.518553109361 | etot = -180.770700649183 @@ -150,130 +150,132 @@ Step Temp E_pair E_mol TotEng Press Volume 4000 ekin = 20.6395549184482 | erot = 21.6854113323894 | epot = -223.095666904229 | etot = -180.770700653391 5000 ekin = 20.6295551742564 | erot = 21.7809539301804 | epot = -223.181209757876 | etot = -180.770700653439 6000 ekin = 20.5959625511847 | erot = 21.8369756530726 | epot = -223.203638857302 | etot = -180.770700653045 -7000 ekin = 20.5431034482068 | erot = 21.8556844173874 | epot = -223.169488517717 | etot = -180.770700652122 -8000 ekin = 20.4774701419092 | erot = 21.8437134145373 | epot = -223.091884207389 | etot = -180.770700650943 -9000 ekin = 20.4074566554239 | erot = 21.8097283692397 | epot = -222.987885674261 | etot = -180.770700649597 -10000 ekin = 20.3427303660297 | erot = 21.7629575866662 | epot = -222.876388600948 | etot = -180.770700648253 +7000 ekin = 20.5431034482069 | erot = 21.8556844173874 | epot = -223.169488517717 | etot = -180.770700652123 +8000 ekin = 20.4774701419093 | erot = 21.8437134145373 | epot = -223.09188420739 | etot = -180.770700650943 +9000 ekin = 20.4074566554239 | erot = 21.8097283692397 | epot = -222.987885674261 | etot = -180.770700649598 +10000 ekin = 20.3427303660297 | erot = 21.7629575866662 | epot = -222.876388600949 | etot = -180.770700648253 11000 ekin = 20.2927407149578 | erot = 21.7112100845349 | epot = -222.774651446682 | etot = -180.77070064719 12000 ekin = 20.2665977502213 | erot = 21.6594999867139 | epot = -222.696798383222 | etot = -180.770700646287 -13000 ekin = 20.2733920359447 | erot = 21.6092715397934 | epot = -222.653364221616 | etot = -180.770700645878 -14000 ekin = 20.3196524789069 | erot = 21.5586630974992 | epot = -222.649016222076 | etot = -180.770700645669 -15000 ekin = 20.410400937429 | erot = 21.5031572556308 | epot = -222.684258838858 | etot = -180.770700645798 -16000 ekin = 20.5472869005792 | erot = 21.4346177247042 | epot = -222.752605272036 | etot = -180.770700646753 -17000 ekin = 20.7266657908773 | erot = 21.3426631585219 | epot = -222.840029597232 | etot = -180.770700647833 -18000 ekin = 20.9417612759978 | erot = 21.2178611180929 | epot = -222.930323042998 | etot = -180.770700648907 -19000 ekin = 21.1819308659395 | erot = 21.0532289630295 | epot = -223.005860478921 | etot = -180.770700649952 -20000 ekin = 21.4358169889472 | erot = 20.8473069564709 | epot = -223.053824595387 | etot = -180.770700649969 -21000 ekin = 21.6968513750994 | erot = 20.6066744652587 | epot = -223.074226489837 | etot = -180.770700649479 -22000 ekin = 21.9614458442779 | erot = 20.3429420444511 | epot = -223.07508853737 | etot = -180.770700648641 -23000 ekin = 22.2276099755697 | erot = 20.0703385165243 | epot = -223.068649139875 | etot = -180.770700647781 -24000 ekin = 22.4935893196667 | erot = 19.8020671721665 | epot = -223.066357139277 | etot = -180.770700647443 -25000 ekin = 22.756606454822 | erot = 19.5464828008841 | epot = -223.073789902976 | etot = -180.77070064727 -26000 ekin = 23.0126717548392 | erot = 19.3065017718467 | epot = -223.089874174572 | etot = -180.770700647886 -27000 ekin = 23.2550417060587 | erot = 19.0797753474572 | epot = -223.105517701932 | etot = -180.770700648417 -28000 ekin = 23.4774329734798 | erot = 18.8646197299578 | epot = -223.112753352067 | etot = -180.770700648629 -29000 ekin = 23.6747927720656 | erot = 18.6628653411828 | epot = -223.108358761693 | etot = -180.770700648445 -30000 ekin = 23.843232140024 | erot = 18.4812216983639 | epot = -223.095154486375 | etot = -180.770700647987 -31000 ekin = 23.9793041752223 | erot = 18.330784533402 | epot = -223.08078935577 | etot = -180.770700647146 -32000 ekin = 24.081024604023 | erot = 18.2261577056003 | epot = -223.077882955919 | etot = -180.770700646296 -33000 ekin = 24.1468986449394 | erot = 18.1820705445404 | epot = -223.09966983514 | etot = -180.77070064566 -34000 ekin = 24.175661513286 | erot = 18.2103812210168 | epot = -223.156743379607 | etot = -180.770700645304 -35000 ekin = 24.166319389465 | erot = 18.3185351073562 | epot = -223.255555142089 | etot = -180.770700645268 -36000 ekin = 24.1167205812963 | erot = 18.509164989418 | epot = -223.396586216223 | etot = -180.770700645508 -37000 ekin = 24.0274860006135 | erot = 18.778513432098 | epot = -223.576700078937 | etot = -180.770700646225 -38000 ekin = 23.8991479078985 | erot = 19.1166063146986 | epot = -223.78645486989 | etot = -180.770700647293 -39000 ekin = 23.7326911853237 | erot = 19.5069160952483 | epot = -224.010307929335 | etot = -180.770700648763 -40000 ekin = 23.5294223072123 | erot = 19.9254673141817 | epot = -224.225590272292 | etot = -180.770700650898 -41000 ekin = 23.2899396141395 | erot = 20.3408097780551 | epot = -224.401450045567 | etot = -180.770700653372 -42000 ekin = 23.0154529235027 | erot = 20.7165619564837 | epot = -224.502715535762 | etot = -180.770700655775 -43000 ekin = 22.7111536814281 | erot = 21.0163895622221 | epot = -224.498243901358 | etot = -180.770700657708 -44000 ekin = 22.3710575806358 | erot = 21.2060371289775 | epot = -224.347795365753 | etot = -180.77070065614 -45000 ekin = 22.0515843162892 | erot = 21.2588026881763 | epot = -224.081087646891 | etot = -180.770700642425 -46000 ekin = 21.7855632553138 | erot = 21.2036013766598 | epot = -223.759865260062 | etot = -180.770700628088 -47000 ekin = 21.5167766971457 | erot = 21.0656367023666 | epot = -223.353114011016 | etot = -180.770700611503 -48000 ekin = 21.454019610733 | erot = 20.8430832424322 | epot = -223.067803499525 | etot = -180.77070064636 -49000 ekin = 21.3647564765269 | erot = 20.5521507191685 | epot = -222.687607816921 | etot = -180.770700621226 -50000 ekin = 21.312576818461 | erot = 20.252646467133 | epot = -222.335923904309 | etot = -180.770700618715 -51000 ekin = 21.2949924810824 | erot = 19.9798421626041 | epot = -222.045535260404 | etot = -180.770700616717 -52000 ekin = 21.3137144249669 | erot = 19.7627691343685 | epot = -221.847184173962 | etot = -180.770700614627 -53000 ekin = 21.3664076685088 | erot = 19.6202359856897 | epot = -221.757344279693 | etot = -180.770700625495 -54000 ekin = 21.4214245524042 | erot = 19.5588232319498 | epot = -221.750948393746 | etot = -180.770700609392 -55000 ekin = 21.5995673396072 | erot = 19.5805214885676 | epot = -221.950789453582 | etot = -180.770700625407 -56000 ekin = 21.7643125668285 | erot = 19.6816042107776 | epot = -222.216617401428 | etot = -180.770700623822 -57000 ekin = 21.9221309084424 | erot = 19.8499880475952 | epot = -222.542819582063 | etot = -180.770700626025 -58000 ekin = 22.0666093644371 | erot = 20.0713856445716 | epot = -222.908695636277 | etot = -180.770700627268 -59000 ekin = 22.191092168793 | erot = 20.3284024096011 | epot = -223.290195207095 | etot = -180.7707006287 -60000 ekin = 22.292068249022 | erot = 20.6003319531543 | epot = -223.663100832376 | etot = -180.7707006302 -61000 ekin = 22.3680528265774 | erot = 20.8645614198865 | epot = -224.003314878046 | etot = -180.770700631582 -62000 ekin = 22.4198570332621 | erot = 21.0983714926634 | epot = -224.288929158679 | etot = -180.770700632754 -63000 ekin = 22.450080073991 | erot = 21.2815521440901 | epot = -224.502332851297 | etot = -180.770700633216 -64000 ekin = 22.4634052763974 | erot = 21.3990470998285 | epot = -224.633153009904 | etot = -180.770700633678 -65000 ekin = 22.4639885390957 | erot = 21.4413332838532 | epot = -224.676022456449 | etot = -180.7707006335 -66000 ekin = 22.4559522488539 | erot = 21.4074154510872 | epot = -224.634068332759 | etot = -180.770700632818 -67000 ekin = 22.4417384097822 | erot = 21.3051580893569 | epot = -224.517597130739 | etot = -180.7707006316 -68000 ekin = 22.4218785446457 | erot = 21.1490017805248 | epot = -224.341580956061 | etot = -180.770700630891 -69000 ekin = 22.3954651199575 | erot = 20.9555571676363 | epot = -224.121722917264 | etot = -180.77070062967 -70000 ekin = 22.3613349801193 | erot = 20.7433545871763 | epot = -223.875390195707 | etot = -180.770700628412 -71000 ekin = 22.317101908714 | erot = 20.5301141425054 | epot = -223.617916679047 | etot = -180.770700627827 -72000 ekin = 22.2595195485149 | erot = 20.3296309382967 | epot = -223.3598511141 | etot = -180.770700627289 -73000 ekin = 22.186946121388 | erot = 20.1521902584591 | epot = -223.109837006431 | etot = -180.770700626584 -74000 ekin = 22.0990935565685 | erot = 20.0059494138152 | epot = -222.875743596758 | etot = -180.770700626374 -75000 ekin = 21.9959491639285 | erot = 19.8965902063258 | epot = -222.66323999605 | etot = -180.770700625796 -76000 ekin = 21.8806005890447 | erot = 19.8284243363262 | epot = -222.47972555068 | etot = -180.770700625309 -77000 ekin = 21.7590261899811 | erot = 19.8043252195865 | epot = -222.334052034218 | etot = -180.77070062465 -78000 ekin = 21.6392419839504 | erot = 19.8262630279235 | epot = -222.236205635988 | etot = -180.770700624114 -79000 ekin = 21.5302317519716 | erot = 19.8938812521573 | epot = -222.19481362777 | etot = -180.770700623641 -80000 ekin = 21.4402276725656 | erot = 20.0060100278937 | epot = -222.216938324074 | etot = -180.770700623615 -81000 ekin = 21.3741486759853 | erot = 20.1585144791602 | epot = -222.303363779439 | etot = -180.770700624293 -82000 ekin = 21.3325013763501 | erot = 20.3431413542714 | epot = -222.44634335588 | etot = -180.770700625258 -83000 ekin = 21.3128808684032 | erot = 20.5483309907707 | epot = -222.631912485778 | etot = -180.770700626604 -84000 ekin = 21.3107661707924 | erot = 20.7607919785161 | epot = -222.842258777118 | etot = -180.77070062781 -85000 ekin = 21.3216301567271 | erot = 20.9678418539233 | epot = -223.060172639485 | etot = -180.770700628834 -86000 ekin = 21.3400295156717 | erot = 21.1566564817944 | epot = -223.267386627523 | etot = -180.770700630057 -87000 ekin = 21.3617783036987 | erot = 21.3170902458384 | epot = -223.449569179882 | etot = -180.770700630345 -88000 ekin = 21.3873913218405 | erot = 21.4454439910411 | epot = -223.603535942848 | etot = -180.770700629967 -89000 ekin = 21.4215740693986 | erot = 21.5439953706449 | epot = -223.736270068949 | etot = -180.770700628906 -90000 ekin = 21.4723781618088 | erot = 21.6216769093341 | epot = -223.864755698471 | etot = -180.770700627328 -91000 ekin = 21.5494066254718 | erot = 21.6927202486458 | epot = -224.012827499724 | etot = -180.770700625606 -92000 ekin = 21.6619209347595 | erot = 21.7730744493006 | epot = -224.20569600835 | etot = -180.77070062429 -93000 ekin = 21.815877864147 | erot = 21.8756732628043 | epot = -224.462251750826 | etot = -180.770700623875 -94000 ekin = 22.0110275730996 | erot = 22.0060799403017 | epot = -224.787808138197 | etot = -180.770700624796 -95000 ekin = 22.2387555838383 | erot = 22.1596167137187 | epot = -225.169072924291 | etot = -180.770700626735 -96000 ekin = 22.483244489936 | erot = 22.3220202374395 | epot = -225.575965356877 | etot = -180.770700629501 -97000 ekin = 22.7237276202693 | erot = 22.4720556690117 | epot = -225.96648392172 | etot = -180.770700632439 -98000 ekin = 22.937764771604 | erot = 22.5858660312272 | epot = -226.29433143712 | etot = -180.770700634289 -99000 ekin = 23.1071231637235 | erot = 22.645741104618 | epot = -226.523564904807 | etot = -180.770700636466 -100000 ekin = 23.2156001924308 | erot = 22.6390310936003 | epot = -226.625331923823 | etot = -180.770700637792 +13000 ekin = 20.2733920359447 | erot = 21.6092715397933 | epot = -222.653364221617 | etot = -180.770700645879 +14000 ekin = 20.3196524789069 | erot = 21.5586630974992 | epot = -222.649016222076 | etot = -180.77070064567 +15000 ekin = 20.410400937429 | erot = 21.5031572556307 | epot = -222.684258838858 | etot = -180.770700645799 +16000 ekin = 20.5472869005792 | erot = 21.4346177247041 | epot = -222.752605272037 | etot = -180.770700646753 +17000 ekin = 20.7266657908773 | erot = 21.3426631585218 | epot = -222.840029597232 | etot = -180.770700647833 +18000 ekin = 20.9417612759978 | erot = 21.2178611180927 | epot = -222.930323042998 | etot = -180.770700648907 +19000 ekin = 21.1819308659396 | erot = 21.0532289630294 | epot = -223.005860478921 | etot = -180.770700649952 +20000 ekin = 21.4358169889472 | erot = 20.8473069564707 | epot = -223.053824595387 | etot = -180.77070064997 +21000 ekin = 21.6968513750995 | erot = 20.6066744652585 | epot = -223.074226489837 | etot = -180.770700649479 +22000 ekin = 21.9614458442779 | erot = 20.3429420444508 | epot = -223.075088537371 | etot = -180.770700648642 +23000 ekin = 22.2276099755697 | erot = 20.070338516524 | epot = -223.068649139875 | etot = -180.770700647781 +24000 ekin = 22.4935893196667 | erot = 19.8020671721661 | epot = -223.066357139277 | etot = -180.770700647444 +25000 ekin = 22.756606454822 | erot = 19.5464828008836 | epot = -223.073789902976 | etot = -180.77070064727 +26000 ekin = 23.0126717548391 | erot = 19.3065017718461 | epot = -223.089874174572 | etot = -180.770700647887 +27000 ekin = 23.2550417060586 | erot = 19.0797753474566 | epot = -223.105517701932 | etot = -180.770700648417 +28000 ekin = 23.4774329734797 | erot = 18.8646197299572 | epot = -223.112753352067 | etot = -180.77070064863 +29000 ekin = 23.6747927720654 | erot = 18.6628653411822 | epot = -223.108358761694 | etot = -180.770700648446 +30000 ekin = 23.8432321400238 | erot = 18.4812216983633 | epot = -223.095154486375 | etot = -180.770700647988 +31000 ekin = 23.979304175222 | erot = 18.3307845334015 | epot = -223.08078935577 | etot = -180.770700647146 +32000 ekin = 24.0810246040226 | erot = 18.2261577055998 | epot = -223.077882955919 | etot = -180.770700646297 +33000 ekin = 24.1468986449389 | erot = 18.1820705445401 | epot = -223.09966983514 | etot = -180.770700645661 +34000 ekin = 24.1756615132855 | erot = 18.2103812210167 | epot = -223.156743379607 | etot = -180.770700645304 +35000 ekin = 24.1663193894644 | erot = 18.3185351073563 | epot = -223.255555142089 | etot = -180.770700645269 +36000 ekin = 24.1167205812957 | erot = 18.5091649894184 | epot = -223.396586216223 | etot = -180.770700645509 +37000 ekin = 24.0274860006128 | erot = 18.7785134320987 | epot = -223.576700078937 | etot = -180.770700646226 +38000 ekin = 23.8991479078978 | erot = 19.1166063146994 | epot = -223.786454869891 | etot = -180.770700647293 +39000 ekin = 23.7326911853231 | erot = 19.5069160952493 | epot = -224.010307929336 | etot = -180.770700648764 +40000 ekin = 23.5294223072117 | erot = 19.9254673141828 | epot = -224.225590272293 | etot = -180.770700650899 +41000 ekin = 23.289939614139 | erot = 20.3408097780563 | epot = -224.401450045568 | etot = -180.770700653372 +42000 ekin = 23.0154529235022 | erot = 20.7165619564848 | epot = -224.502715535762 | etot = -180.770700655775 +43000 ekin = 22.7111536814277 | erot = 21.0163895622231 | epot = -224.498243901359 | etot = -180.770700657708 +44000 ekin = 22.3710575806355 | erot = 21.2060371289783 | epot = -224.347795365754 | etot = -180.77070065614 +45000 ekin = 22.0515843162889 | erot = 21.2588026881768 | epot = -224.081087646891 | etot = -180.770700642425 +46000 ekin = 21.7855632553133 | erot = 21.20360137666 | epot = -223.759865260062 | etot = -180.770700628089 +47000 ekin = 21.5167766971456 | erot = 21.0656367023667 | epot = -223.353114011016 | etot = -180.770700611503 +48000 ekin = 21.4540196107333 | erot = 20.8430832424321 | epot = -223.067803499525 | etot = -180.77070064636 +49000 ekin = 21.3647564765274 | erot = 20.5521507191682 | epot = -222.687607816922 | etot = -180.770700621226 +50000 ekin = 21.3125768184617 | erot = 20.2526464671325 | epot = -222.33592390431 | etot = -180.770700618715 +51000 ekin = 21.2949924810834 | erot = 19.9798421626035 | epot = -222.045535260404 | etot = -180.770700616717 +52000 ekin = 21.3137144249679 | erot = 19.7627691343679 | epot = -221.847184173963 | etot = -180.770700614627 +53000 ekin = 21.3664076685099 | erot = 19.6202359856891 | epot = -221.757344279695 | etot = -180.770700625496 +54000 ekin = 21.4214245524052 | erot = 19.5588232319492 | epot = -221.750948393748 | etot = -180.770700609393 +55000 ekin = 21.5995673396082 | erot = 19.580521488567 | epot = -221.950789453583 | etot = -180.770700625408 +56000 ekin = 21.7643125668294 | erot = 19.681604210777 | epot = -222.216617401429 | etot = -180.770700623823 +57000 ekin = 21.922130908443 | erot = 19.8499880475945 | epot = -222.542819582064 | etot = -180.770700626026 +58000 ekin = 22.0666093644375 | erot = 20.0713856445709 | epot = -222.908695636278 | etot = -180.770700627269 +59000 ekin = 22.1910921687932 | erot = 20.3284024096003 | epot = -223.290195207095 | etot = -180.770700628702 +60000 ekin = 22.2920682490219 | erot = 20.6003319531534 | epot = -223.663100832376 | etot = -180.770700630201 +61000 ekin = 22.3680528265772 | erot = 20.8645614198856 | epot = -224.003314878046 | etot = -180.770700631583 +62000 ekin = 22.4198570332617 | erot = 21.0983714926625 | epot = -224.288929158679 | etot = -180.770700632755 +63000 ekin = 22.4500800739905 | erot = 21.2815521440892 | epot = -224.502332851297 | etot = -180.770700633217 +64000 ekin = 22.4634052763968 | erot = 21.3990470998276 | epot = -224.633153009904 | etot = -180.770700633679 +65000 ekin = 22.463988539095 | erot = 21.4413332838523 | epot = -224.676022456448 | etot = -180.770700633501 +66000 ekin = 22.4559522488531 | erot = 21.4074154510864 | epot = -224.634068332759 | etot = -180.770700632819 +67000 ekin = 22.4417384097814 | erot = 21.3051580893563 | epot = -224.517597130739 | etot = -180.770700631601 +68000 ekin = 22.4218785446449 | erot = 21.1490017805243 | epot = -224.341580956061 | etot = -180.770700630892 +69000 ekin = 22.3954651199567 | erot = 20.9555571676359 | epot = -224.121722917264 | etot = -180.770700629671 +70000 ekin = 22.3613349801186 | erot = 20.743354587176 | epot = -223.875390195707 | etot = -180.770700628413 +71000 ekin = 22.3171019087134 | erot = 20.5301141425052 | epot = -223.617916679047 | etot = -180.770700627829 +72000 ekin = 22.2595195485144 | erot = 20.3296309382966 | epot = -223.3598511141 | etot = -180.77070062729 +73000 ekin = 22.1869461213875 | erot = 20.1521902584591 | epot = -223.109837006431 | etot = -180.770700626585 +74000 ekin = 22.0990935565682 | erot = 20.0059494138151 | epot = -222.875743596758 | etot = -180.770700626375 +75000 ekin = 21.9959491639282 | erot = 19.8965902063257 | epot = -222.663239996051 | etot = -180.770700625797 +76000 ekin = 21.8806005890446 | erot = 19.8284243363261 | epot = -222.479725550681 | etot = -180.77070062531 +77000 ekin = 21.759026189981 | erot = 19.8043252195865 | epot = -222.334052034218 | etot = -180.770700624651 +78000 ekin = 21.6392419839505 | erot = 19.8262630279235 | epot = -222.236205635988 | etot = -180.770700624114 +79000 ekin = 21.5302317519718 | erot = 19.8938812521574 | epot = -222.19481362777 | etot = -180.770700623641 +80000 ekin = 21.4402276725659 | erot = 20.0060100278939 | epot = -222.216938324075 | etot = -180.770700623615 +81000 ekin = 21.3741486759857 | erot = 20.1585144791605 | epot = -222.303363779439 | etot = -180.770700624293 +82000 ekin = 21.3325013763506 | erot = 20.3431413542717 | epot = -222.446343355881 | etot = -180.770700625259 +83000 ekin = 21.3128808684039 | erot = 20.5483309907712 | epot = -222.63191248578 | etot = -180.770700626605 +84000 ekin = 21.3107661707932 | erot = 20.7607919785166 | epot = -222.842258777119 | etot = -180.77070062781 +85000 ekin = 21.3216301567279 | erot = 20.9678418539237 | epot = -223.060172639486 | etot = -180.770700628834 +86000 ekin = 21.3400295156725 | erot = 21.1566564817949 | epot = -223.267386627524 | etot = -180.770700630057 +87000 ekin = 21.3617783036995 | erot = 21.3170902458388 | epot = -223.449569179883 | etot = -180.770700630345 +88000 ekin = 21.3873913218413 | erot = 21.4454439910414 | epot = -223.603535942849 | etot = -180.770700629967 +89000 ekin = 21.4215740693994 | erot = 21.5439953706451 | epot = -223.73627006895 | etot = -180.770700628906 +90000 ekin = 21.4723781618096 | erot = 21.6216769093343 | epot = -223.864755698472 | etot = -180.770700627328 +91000 ekin = 21.5494066254725 | erot = 21.6927202486459 | epot = -224.012827499725 | etot = -180.770700625606 +92000 ekin = 21.6619209347601 | erot = 21.7730744493007 | epot = -224.20569600835 | etot = -180.77070062429 +93000 ekin = 21.8158778641474 | erot = 21.8756732628043 | epot = -224.462251750827 | etot = -180.770700623875 +94000 ekin = 22.0110275730999 | erot = 22.0060799403016 | epot = -224.787808138198 | etot = -180.770700624796 +95000 ekin = 22.2387555838384 | erot = 22.1596167137185 | epot = -225.169072924291 | etot = -180.770700626735 +96000 ekin = 22.4832444899359 | erot = 22.3220202374394 | epot = -225.575965356876 | etot = -180.770700629501 +97000 ekin = 22.7237276202691 | erot = 22.4720556690115 | epot = -225.966483921719 | etot = -180.770700632439 +98000 ekin = 22.9377647716038 | erot = 22.5858660312271 | epot = -226.294331437119 | etot = -180.770700634288 +99000 ekin = 23.1071231637233 | erot = 22.645741104618 | epot = -226.523564904806 | etot = -180.770700636465 +100000 ekin = 23.2156001924307 | erot = 22.6390310936004 | epot = -226.625331923823 | etot = -180.770700637791 100000 0.10528617 -1.5761124 0.044860201 -1.3743901 -1.9205819e-05 1000000 -Loop time of 39.1 on 4 procs for 100000 steps with 148 atoms +Loop time of 28.0802 on 4 procs for 100000 steps with 148 atoms -Performance: 2209.721 tau/day, 2557.548 timesteps/s -99.5% CPU use with 4 MPI tasks x no OpenMP threads +Performance: 3076.899 tau/day, 3561.226 timesteps/s +99.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 | 33.685 | 34.998 | 35.676 | 13.1 | 89.51 -Bond | 0.30808 | 0.31468 | 0.31829 | 0.7 | 0.80 -Neigh | 0.008861 | 0.0089438 | 0.009012 | 0.1 | 0.02 -Comm | 0.79376 | 0.80216 | 0.8131 | 0.9 | 2.05 -Output | 0.054153 | 0.056983 | 0.058706 | 0.8 | 0.15 -Modify | 0.55623 | 0.5647 | 0.57239 | 0.9 | 1.44 -Other | | 2.354 | | | 6.02 +Pair | 16.209 | 21.356 | 25.248 | 81.3 | 76.05 +Bond | 0.26072 | 0.26526 | 0.27015 | 0.9 | 0.94 +Neigh | 0.005772 | 0.0058625 | 0.005932 | 0.1 | 0.02 +Comm | 1.7227 | 5.6246 | 10.79 | 158.9 | 20.03 +Output | 0.043943 | 0.046855 | 0.048664 | 0.9 | 0.17 +Modify | 0.54715 | 0.55336 | 0.55902 | 0.7 | 1.97 +Other | | 0.2279 | | | 0.81 Nlocal: 37.0000 ave 38 max 36 min Histogram: 1 0 0 0 0 2 0 0 0 1 Nghost: 111.000 ave 112 max 110 min Histogram: 1 0 0 0 0 2 0 0 0 1 -Neighs: 1693.75 ave 1737 max 1653 min -Histogram: 1 1 0 0 0 0 0 1 0 1 +Neighs: 1049.75 ave 1270 max 757 min +Histogram: 1 0 0 1 0 0 0 0 0 2 -Total # of neighbors = 6775 -Ave neighs/atom = 45.777027 +Total # of neighbors = 4199 +Ave neighs/atom = 28.371622 Ave special neighs/atom = 6.0000000 Neighbor list builds = 100 Dangerous builds = 0 -#write_data last_config.${number}.* nocoeff +write_data last_config.${number}.* nocoeff +write_data last_config.5.* nocoeff +System init for write_data ... #write_restart last_config.${number}.* -Total wall time: 0:00:39 +Total wall time: 0:00:28 diff --git a/examples/PACKAGES/cgdna/examples/oxDNA2/duplex1/in.duplex1 b/examples/PACKAGES/cgdna/examples/oxDNA2/duplex1/in.duplex1 index 860d5bfdd5..72735fbf5f 100644 --- a/examples/PACKAGES/cgdna/examples/oxDNA2/duplex1/in.duplex1 +++ b/examples/PACKAGES/cgdna/examples/oxDNA2/duplex1/in.duplex1 @@ -8,7 +8,7 @@ units lj dimension 3 -newton off +newton on boundary p p p @@ -69,3 +69,4 @@ dump_modify out format line "%d %d %d %22.15le %22.15le %22.15le %d %d %d %22 run 1000000 write_data last_config.${number}.* nocoeff +#write_restart last_config.${number}.* diff --git a/examples/PACKAGES/cgdna/examples/oxDNA2/duplex1/log.27May21.duplex1.g++.1 b/examples/PACKAGES/cgdna/examples/oxDNA2/duplex1/log.27May21.duplex1.g++.1 deleted file mode 100644 index 40a6f32d18..0000000000 --- a/examples/PACKAGES/cgdna/examples/oxDNA2/duplex1/log.27May21.duplex1.g++.1 +++ /dev/null @@ -1,1180 +0,0 @@ -LAMMPS (27 May 2021) -variable number equal 1 -variable ofreq equal 1000 -variable efreq equal 1000 -variable T equal 0.1 -variable rhos equal 0.2 - -units lj - -dimension 3 - -newton off - -boundary p p p - -atom_style hybrid bond ellipsoid oxdna -WARNING: Atom style hybrid defines both, per-type and per-atom masses; both must be set, but only per-atom masses will be used (../atom_vec_hybrid.cpp:157) -atom_modify sort 0 1.0 - -# Pair interactions require lists of neighbours to be calculated -neighbor 2.0 bin -neigh_modify every 1 delay 0 check yes - -read_data data.duplex1 -Reading data file ... - orthogonal box = (-20.000000 -20.000000 -20.000000) to (20.000000 20.000000 20.000000) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 10 atoms - reading velocities ... - 10 velocities - scanning bonds ... - 2 = max bonds/atom - 10 ellipsoids - reading bonds ... - 8 bonds -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 - 2 = max # of 1-3 neighbors - 2 = max # of 1-4 neighbors - 4 = max # of special neighbors - special bonds CPU = 0.000 seconds - read_data CPU = 0.003 seconds - -set atom * mass 3.1575 -Setting atom values ... - 10 settings made for mass - -group all type 1 4 -10 atoms in group all - -# oxDNA2 bond interactions - FENE backbone -bond_style oxdna2/fene -bond_coeff * 2.0 0.25 0.7564 -special_bonds lj 0 1 1 -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 1 1 - special bond factors coul: 0 0 0 - 2 = max # of 1-2 neighbors - 2 = max # of 1-3 neighbors - 2 = max # of 1-4 neighbors - 4 = max # of special neighbors - special bonds CPU = 0.000 seconds - -# oxDNA2 pair interactions -pair_style hybrid/overlay oxdna2/excv oxdna2/stk oxdna2/hbond oxdna2/xstk oxdna2/coaxstk oxdna2/dh -pair_coeff * * oxdna2/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32 -pair_coeff * * oxdna2/stk seqav ${T} 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 -pair_coeff * * oxdna2/stk seqav 0.1 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 -pair_coeff * * oxdna2/hbond seqav 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 1 4 oxdna2/hbond seqav 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 2 3 oxdna2/hbond seqav 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff * * oxdna2/xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68 -pair_coeff * * oxdna2/coaxstk 58.5 0.4 0.6 0.22 0.58 2.0 2.891592653589793 0.65 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 40.0 3.116592653589793 -pair_coeff * * oxdna2/dh ${T} ${rhos} 0.815 -pair_coeff * * oxdna2/dh 0.1 ${rhos} 0.815 -pair_coeff * * oxdna2/dh 0.1 0.2 0.815 - -# NVE ensemble -fix 1 all nve/asphere -#fix 2 all langevin ${T} ${T} 2.5 457145 angmom 10 - -timestep 1e-5 - -#comm_style tiled -fix 3 all balance 1000 1.03 shift xyz 10 1.03 -comm_modify cutoff 3.8 - -compute quat all property/atom quatw quati quatj quatk - -compute erot all erotate/asphere -compute ekin all ke -compute epot all pe -variable erot equal c_erot -variable ekin equal c_ekin -variable epot equal c_epot -variable etot equal c_erot+c_ekin+c_epot -fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes -fix 5 all print 1000 "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes - -dump out all custom ${ofreq} out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz -dump out all custom 1000 out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz -dump out all custom 1000 out.1.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz -dump_modify out sort id -dump_modify out format line "%d %d %d %22.15le %22.15le %22.15le %d %d %d %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le" - -run 1000000 -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 5.6389877 - ghost atom cutoff = 5.6389877 - binsize = 2.8194939, bins = 15 15 15 - 5 neighbor lists, perpetual/occasional/extra = 5 0 0 - (1) pair oxdna2/excv, perpetual - attributes: half, newton off - pair build: half/bin/newtoff - stencil: full/bin/3d - bin: standard - (2) pair oxdna2/hbond, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (3) pair oxdna2/xstk, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (4) pair oxdna2/coaxstk, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (5) pair oxdna2/dh, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none -WARNING: Communication cutoff adjusted to 5.638987723814632 (../comm.cpp:739) -0 ekin = 1.10853632272819 | erot = 2.81573649976629 | epot = -12.298895791142 | etot = -8.37462296864751 -Per MPI rank memory allocation (min/avg/max) = 9.448 | 9.448 | 9.448 Mbytes -Step Temp E_pair E_mol TotEng Press Volume - 0 0.082113802 -1.3370157 0.10712616 -1.1190359 -6.6192825e-05 64000 -1000 ekin = 1.07640077431763 | erot = 2.90684392233817 | epot = -12.357867665527 | etot = -8.37462296887116 -2000 ekin = 1.05363107794411 | erot = 2.99414178935849 | epot = -12.4223958364622 | etot = -8.37462296915965 -3000 ekin = 1.04083382823095 | erot = 3.07274362339771 | epot = -12.4882004210899 | etot = -8.37462296946123 -4000 ekin = 1.03780093165924 | erot = 3.13815143503914 | epot = -12.550575336422 | etot = -8.37462296972364 -5000 ekin = 1.04371581655899 | erot = 3.18681185449856 | epot = -12.6051506409707 | etot = -8.37462296991314 -6000 ekin = 1.05738085799295 | erot = 3.21642353087479 | epot = -12.6484273588876 | etot = -8.37462297001983 -7000 ekin = 1.07739394884042 | erot = 3.22597832036696 | epot = -12.677995239256 | etot = -8.37462297004867 -8000 ekin = 1.10226637472087 | erot = 3.21563966301732 | epot = -12.6925290077505 | etot = -8.37462297001231 -9000 ekin = 1.13051291055326 | erot = 3.18656247631366 | epot = -12.6916983567816 | etot = -8.37462296991465 -10000 ekin = 1.16073704358063 | erot = 3.14076972913372 | epot = -12.6761297424775 | etot = -8.37462296976311 -11000 ekin = 1.19170449380505 | erot = 3.08098965164652 | epot = -12.6473171150236 | etot = -8.37462296957204 -12000 ekin = 1.22238189802729 | erot = 3.01040253468266 | epot = -12.6074074020775 | etot = -8.37462296936753 -13000 ekin = 1.25192691881487 | erot = 2.93230261872824 | epot = -12.5588525067181 | etot = -8.37462296917498 -14000 ekin = 1.27963857618757 | erot = 2.84975156813381 | epot = -12.5040131133432 | etot = -8.37462296902178 -15000 ekin = 1.30489368750123 | erot = 2.76534813925014 | epot = -12.444864795638 | etot = -8.37462296888667 -16000 ekin = 1.32709913751461 | erot = 2.6811818478553 | epot = -12.3829039541517 | etot = -8.37462296878182 -17000 ekin = 1.34568132349844 | erot = 2.5986128569079 | epot = -12.3189171492215 | etot = -8.37462296881515 -18000 ekin = 1.36011712604124 | erot = 2.51802979978579 | epot = -12.2527698947086 | etot = -8.37462296888154 -19000 ekin = 1.3700055901564 | erot = 2.43889875259719 | epot = -12.1835273117078 | etot = -8.37462296895424 -20000 ekin = 1.37516683465212 | erot = 2.36049590954913 | epot = -12.1102857132061 | etot = -8.37462296900481 -21000 ekin = 1.37575335509454 | erot = 2.28221618930094 | epot = -12.0325925134033 | etot = -8.37462296900785 -22000 ekin = 1.37235802310946 | erot = 2.20383846967473 | epot = -11.9508194617285 | etot = -8.37462296894431 -23000 ekin = 1.36610326249347 | erot = 2.12570839352804 | epot = -11.8664346248253 | etot = -8.37462296880382 -24000 ekin = 1.35869525710689 | erot = 2.04881568638621 | epot = -11.7821339120795 | etot = -8.3746229685864 -25000 ekin = 1.35242255125593 | erot = 1.97475968439782 | epot = -11.7018052039589 | etot = -8.37462296830517 -26000 ekin = 1.3500701244009 | erot = 1.90560954362746 | epot = -11.6303026360115 | etot = -8.37462296798316 -27000 ekin = 1.35474332970461 | erot = 1.843676291157 | epot = -11.573042588521 | etot = -8.37462296765941 -28000 ekin = 1.36954369410747 | erot = 1.79121252282618 | epot = -11.5353791843194 | etot = -8.37462296738577 -29000 ekin = 1.39711560919894 | erot = 1.75006009044062 | epot = -11.5217986668613 | etot = -8.37462296722172 -30000 ekin = 1.43911092490998 | erot = 1.72127833748021 | epot = -11.5350122296156 | etot = -8.37462296722543 -31000 ekin = 1.49567630461185 | erot = 1.70480588615783 | epot = -11.5751051582055 | etot = -8.37462296743583 -32000 ekin = 1.56511285114173 | erot = 1.69923538983358 | epot = -11.6389712088327 | etot = -8.37462296785736 -33000 ekin = 1.64385110263233 | erot = 1.70198396265071 | epot = -11.7204580336836 | etot = -8.37462296840058 -34000 ekin = 1.72681002365018 | erot = 1.70946314344897 | epot = -11.8108961361853 | etot = -8.37462296908617 -35000 ekin = 1.80812188596362 | erot = 1.71712980816865 | epot = -11.8998746638723 | etot = -8.37462296974008 -36000 ekin = 1.88201893971536 | erot = 1.72067857993906 | epot = -11.9773204899106 | etot = -8.37462297025618 -37000 ekin = 1.94364733336808 | erot = 1.71680208569968 | epot = -12.0350723896309 | etot = -8.37462297056312 -38000 ekin = 1.98961498615624 | erot = 1.70370907929488 | epot = -12.0679470360927 | etot = -8.37462297064162 -39000 ekin = 2.01818359901078 | erot = 1.68126711282219 | epot = -12.0740736823535 | etot = -8.37462297052053 -40000 ekin = 2.02914332282544 | erot = 1.65077260628057 | epot = -12.0545388993641 | etot = -8.37462297025811 -41000 ekin = 2.02349103018079 | erot = 1.61448262351112 | epot = -12.012596623611 | etot = -8.37462296991906 -42000 ekin = 2.00304412554487 | erot = 1.57509121259578 | epot = -11.9527583076989 | etot = -8.37462296955829 -43000 ekin = 1.97008148028931 | erot = 1.5352951062099 | epot = -11.8799995557137 | etot = -8.3746229692145 -44000 ekin = 1.92705109571046 | erot = 1.49750726070831 | epot = -11.7991813253589 | etot = -8.37462296894018 -45000 ekin = 1.87634986385838 | erot = 1.46354390598906 | epot = -11.714516738533 | etot = -8.37462296868559 -46000 ekin = 1.82016797429729 | erot = 1.43491031451222 | epot = -11.6297012572909 | etot = -8.37462296848134 -47000 ekin = 1.76039182008996 | erot = 1.41286016407003 | epot = -11.547874952484 | etot = -8.37462296832397 -48000 ekin = 1.69856949274756 | erot = 1.39838217522426 | epot = -11.4715746361766 | etot = -8.37462296820476 -49000 ekin = 1.6359395498873 | erot = 1.39228918140578 | epot = -11.4028516994048 | etot = -8.3746229681117 -50000 ekin = 1.57351801537284 | erot = 1.39530041169494 | epot = -11.3434413950981 | etot = -8.3746229680303 -51000 ekin = 1.51222872476346 | erot = 1.4081065034094 | epot = -11.2949581961199 | etot = -8.37462296794708 -52000 ekin = 1.45305245526488 | erot = 1.43140550730923 | epot = -11.2590809304256 | etot = -8.37462296785148 -53000 ekin = 1.39716366086918 | erot = 1.46589567493528 | epot = -11.2376823035411 | etot = -8.37462296773665 -54000 ekin = 1.34602153837048 | erot = 1.51222067984183 | epot = -11.2328651858297 | etot = -8.37462296761741 -55000 ekin = 1.30138436197332 | erot = 1.57077970891813 | epot = -11.2467870384006 | etot = -8.37462296750915 -56000 ekin = 1.26522647192232 | erot = 1.64151101613074 | epot = -11.2813604554939 | etot = -8.37462296744087 -57000 ekin = 1.23956119808438 | erot = 1.72363092633029 | epot = -11.3378150918591 | etot = -8.37462296744439 -58000 ekin = 1.22620283906727 | erot = 1.81539828229233 | epot = -11.4162240889033 | etot = -8.37462296754372 -59000 ekin = 1.22652758768649 | erot = 1.91400381193543 | epot = -11.5151543673676 | etot = -8.3746229677457 -60000 ekin = 1.24129579501614 | erot = 2.01564970996737 | epot = -11.6315684730213 | etot = -8.37462296803774 -61000 ekin = 1.27057003505313 | erot = 2.11581304358667 | epot = -11.7610060470473 | etot = -8.37462296840752 -62000 ekin = 1.31372115356086 | erot = 2.20955642503246 | epot = -11.897900547387 | etot = -8.37462296879367 -63000 ekin = 1.36947667734256 | erot = 2.29224896410234 | epot = -12.0363486106154 | etot = -8.37462296917045 -64000 ekin = 1.43596184816363 | erot = 2.35998108781807 | epot = -12.1705659055152 | etot = -8.37462296953351 -65000 ekin = 1.5108757081497 | erot = 2.40947275989094 | epot = -12.294971437873 | etot = -8.37462296983238 -66000 ekin = 1.59162978656338 | erot = 2.43872351537734 | epot = -12.404976271986 | etot = -8.37462297004532 -67000 ekin = 1.67546349074575 | erot = 2.44726186999253 | epot = -12.4973483309005 | etot = -8.37462297016222 -68000 ekin = 1.75953613825207 | erot = 2.43621057967594 | epot = -12.5703696881156 | etot = -8.37462297018761 -69000 ekin = 1.8409820145657 | erot = 2.40815676459641 | epot = -12.6237617493038 | etot = -8.37462297014167 -70000 ekin = 1.91692810522254 | erot = 2.36682660300832 | epot = -12.6583776782868 | etot = -8.3746229700559 -71000 ekin = 1.98449380473024 | erot = 2.31661131420487 | epot = -12.6757280888525 | etot = -8.37462296991744 -72000 ekin = 2.04081287193494 | erot = 2.2621517448767 | epot = -12.6775875867425 | etot = -8.37462296993089 -73000 ekin = 2.08263291328339 | erot = 2.20743363864179 | epot = -12.6646895218717 | etot = -8.37462296994653 -74000 ekin = 2.10698584150827 | erot = 2.1554442111836 | epot = -12.6370530226944 | etot = -8.37462297000255 -75000 ekin = 2.11136525908709 | erot = 2.10816940675056 | epot = -12.5941576359036 | etot = -8.37462297006593 -76000 ekin = 2.09405873141391 | erot = 2.06669472630755 | epot = -12.5353764278111 | etot = -8.37462297008964 -77000 ekin = 2.05455135347899 | erot = 2.03147933575638 | epot = -12.4606536592624 | etot = -8.37462297002701 -78000 ekin = 1.99386684227691 | erot = 2.00268171013299 | epot = -12.3711715222583 | etot = -8.3746229698484 -79000 ekin = 1.91474155283386 | erot = 1.98040758803641 | epot = -12.2697721104228 | etot = -8.37462296955254 -80000 ekin = 1.82155513477568 | erot = 1.96479734780215 | epot = -12.1609754517456 | etot = -8.37462296916772 -81000 ekin = 1.71999782481688 | erot = 1.95595086125337 | epot = -12.0505716548135 | etot = -8.37462296874324 -82000 ekin = 1.61651478139495 | erot = 1.95375810375255 | epot = -11.9448958534856 | etot = -8.37462296833808 -83000 ekin = 1.51761134750077 | erot = 1.95772774860624 | epot = -11.849962064116 | etot = -8.37462296800896 -84000 ekin = 1.42912416355164 | erot = 1.96688313409186 | epot = -11.7706302654422 | etot = -8.37462296779872 -85000 ekin = 1.35556895555394 | erot = 1.97976517498667 | epot = -11.7099570982742 | etot = -8.37462296773356 -86000 ekin = 1.29966988136843 | erot = 1.9945259327168 | epot = -11.6688187819008 | etot = -8.3746229678156 -87000 ekin = 1.26213747948961 | erot = 2.00910214170766 | epot = -11.6458625892977 | etot = -8.37462296810046 -88000 ekin = 1.24134500163864 | erot = 2.02122064243447 | epot = -11.6371886124844 | etot = -8.37462296841134 -89000 ekin = 1.23421644947613 | erot = 2.02900530500572 | epot = -11.6378447232195 | etot = -8.37462296873767 -90000 ekin = 1.23690604243568 | erot = 2.03136372571818 | epot = -11.6428927371715 | etot = -8.37462296901763 -91000 ekin = 1.24531053049743 | erot = 2.0281618826182 | epot = -11.6480953823211 | etot = -8.37462296920549 -92000 ekin = 1.25564394227055 | erot = 2.02032873397313 | epot = -11.6505956455252 | etot = -8.37462296928155 -93000 ekin = 1.26484018817412 | erot = 2.00975004471071 | epot = -11.6492132021396 | etot = -8.37462296925479 -94000 ekin = 1.27076152680827 | erot = 1.99896253062538 | epot = -11.6443470265802 | etot = -8.37462296914659 -95000 ekin = 1.27224696211167 | erot = 1.99076889271332 | epot = -11.6376388238183 | etot = -8.3746229689933 -96000 ekin = 1.26905385172905 | erot = 1.98776908505805 | epot = -11.6314459056162 | etot = -8.37462296882913 -97000 ekin = 1.26173398384337 | erot = 1.991961173075 | epot = -11.628318125602 | etot = -8.37462296868366 -98000 ekin = 1.25146122958134 | erot = 2.00445279489023 | epot = -11.630536993053 | etot = -8.37462296858144 -99000 ekin = 1.23981039935403 | erot = 2.02529911459901 | epot = -11.6397324824953 | etot = -8.37462296854225 -100000 ekin = 1.22848889431682 | erot = 2.05346079777977 | epot = -11.6565726606779 | etot = -8.37462296858135 -101000 ekin = 1.21904296342424 | erot = 2.08686922543206 | epot = -11.6805351575627 | etot = -8.37462296870644 -102000 ekin = 1.21258708443141 | erot = 2.1225925765274 | epot = -11.7098026298716 | etot = -8.37462296891277 -103000 ekin = 1.20962138127608 | erot = 2.15710417867626 | epot = -11.7413485291311 | etot = -8.37462296917873 -104000 ekin = 1.20999435064749 | erot = 2.18665201736564 | epot = -11.771269337479 | etot = -8.37462296946586 -105000 ekin = 1.21303379771947 | erot = 2.20771017012415 | epot = -11.795366937567 | etot = -8.37462296972338 -106000 ekin = 1.21781939160538 | erot = 2.21746426398237 | epot = -11.8099066254856 | etot = -8.37462296989788 -107000 ekin = 1.22352668485509 | erot = 2.21425769941227 | epot = -11.8124073542129 | etot = -8.37462296994552 -108000 ekin = 1.22975371616704 | erot = 2.19791821277326 | epot = -11.8022948987813 | etot = -8.37462296984097 -109000 ekin = 1.23675326669533 | erot = 2.16990174522985 | epot = -11.7812779815083 | etot = -8.37462296958308 -110000 ekin = 1.24552660594299 | erot = 2.13322593016575 | epot = -11.7533755053023 | etot = -8.37462296919352 -111000 ekin = 1.25776994928184 | erot = 2.09220325002859 | epot = -11.7245961680235 | etot = -8.37462296871311 -112000 ekin = 1.27568807280472 | erot = 2.05200951342182 | epot = -11.7023205544238 | etot = -8.37462296819728 -113000 ekin = 1.30169744977568 | erot = 2.01813224570247 | epot = -11.6944526631897 | etot = -8.37462296771155 -114000 ekin = 1.33804251858965 | erot = 1.99574344242871 | epot = -11.7084089283453 | etot = -8.37462296732691 -115000 ekin = 1.3864743192956 | erot = 1.98903581447767 | epot = -11.7501331008338 | etot = -8.3746229670605 -116000 ekin = 1.44876446583422 | erot = 2.00047074173015 | epot = -11.8238581746954 | etot = -8.37462296713099 -117000 ekin = 1.52378581535588 | erot = 2.0304433940819 | epot = -11.9288521768893 | etot = -8.37462296745153 -118000 ekin = 1.60840594184218 | erot = 2.07707436259006 | epot = -12.0601032724462 | etot = -8.37462296801394 -119000 ekin = 1.69804077960519 | erot = 2.13624566567623 | epot = -12.2089094140538 | etot = -8.37462296877234 -120000 ekin = 1.78696647862309 | erot = 2.20199105617489 | epot = -12.3635805044449 | etot = -8.37462296964695 -121000 ekin = 1.8688350853633 | erot = 2.2671883740785 | epot = -12.5106464299775 | etot = -8.37462297053566 -122000 ekin = 1.93731263285365 | erot = 2.3244608703497 | epot = -12.6363964745346 | etot = -8.37462297133129 -123000 ekin = 1.98673587945787 | erot = 2.36714489985521 | epot = -12.7285037512515 | etot = -8.37462297193848 -124000 ekin = 2.01268857483479 | erot = 2.39015976226582 | epot = -12.7774713093898 | etot = -8.37462297228923 -125000 ekin = 2.01242153120607 | erot = 2.39062925356809 | epot = -12.7776737571267 | etot = -8.37462297235253 -126000 ekin = 1.9850729032806 | erot = 2.36815351492884 | epot = -12.7278493903458 | etot = -8.37462297213636 -127000 ekin = 1.93167931643392 | erot = 2.3247037563462 | epot = -12.6310060444627 | etot = -8.37462297168258 -128000 ekin = 1.85500076916857 | erot = 2.26419178968054 | epot = -12.4938155299045 | etot = -8.37462297105536 -129000 ekin = 1.75920795598117 | erot = 2.19182812292618 | epot = -12.3256590492356 | etot = -8.37462297032824 -130000 ekin = 1.64949415840167 | erot = 2.11340935726356 | epot = -12.1375264852356 | etot = -8.37462296957032 -131000 ekin = 1.53167143066901 | erot = 2.03466319554018 | epot = -11.9409575950482 | etot = -8.37462296883903 -132000 ekin = 1.41179399813966 | erot = 1.96073697301942 | epot = -11.7471539393353 | etot = -8.37462296817617 -133000 ekin = 1.29582771791034 | erot = 1.89586175533322 | epot = -11.5663124408534 | etot = -8.37462296760984 -134000 ekin = 1.18933366770482 | erot = 1.84313053331036 | epot = -11.4070871682764 | etot = -8.3746229672612 -135000 ekin = 1.0969884576305 | erot = 1.80418246558963 | epot = -11.2757938901604 | etot = -8.37462296694027 -136000 ekin = 1.02270904454082 | erot = 1.77989195852219 | epot = -11.177223969814 | etot = -8.37462296675102 -137000 ekin = 0.969402888595132 | erot = 1.77022137974264 | epot = -11.1142472350352 | etot = -8.37462296669744 -138000 ekin = 0.938766242876429 | erot = 1.77423425797215 | epot = -11.0876234676255 | etot = -8.37462296677695 -139000 ekin = 0.931209536918654 | erot = 1.7902228440359 | epot = -11.09605534793 | etot = -8.37462296697548 -140000 ekin = 0.945902360873794 | erot = 1.81588277986748 | epot = -11.1364081080074 | etot = -8.37462296726613 -141000 ekin = 0.980951010695174 | erot = 1.84854552854051 | epot = -11.2041195068466 | etot = -8.37462296761095 -142000 ekin = 1.03368854660431 | erot = 1.8854617225894 | epot = -11.2937732371599 | etot = -8.37462296796614 -143000 ekin = 1.10102464558803 | erot = 1.92410215903311 | epot = -11.399749772913 | etot = -8.37462296829186 -144000 ekin = 1.17978371180474 | erot = 1.96241851789372 | epot = -11.5168251982595 | etot = -8.37462296856103 -145000 ekin = 1.26696389973277 | erot = 1.99907135517297 | epot = -11.6406582236462 | etot = -8.37462296874049 -146000 ekin = 1.35987698631731 | erot = 2.03338468070453 | epot = -11.767884635915 | etot = -8.37462296889316 -147000 ekin = 1.45616095202988 | erot = 2.06502561999195 | epot = -11.8958095410391 | etot = -8.37462296901725 -148000 ekin = 1.55369685491102 | erot = 2.09388144715374 | epot = -12.0222012712077 | etot = -8.37462296914293 -149000 ekin = 1.65047924324448 | erot = 2.11976671620324 | epot = -12.144868928744 | etot = -8.37462296929627 -150000 ekin = 1.74448791629856 | erot = 2.14217867903557 | epot = -12.2612895648265 | etot = -8.37462296949233 -151000 ekin = 1.83359650490156 | erot = 2.16016451670442 | epot = -12.3683839913408 | etot = -8.37462296973486 -152000 ekin = 1.91553611044675 | erot = 2.17231614291473 | epot = -12.4624752233742 | etot = -8.37462297001268 -153000 ekin = 1.98791755611551 | erot = 2.17689716712717 | epot = -12.5394376935489 | etot = -8.37462297030626 -154000 ekin = 2.04830722999057 | erot = 2.17205709329794 | epot = -12.5949872938789 | etot = -8.37462297059043 -155000 ekin = 2.09434778140682 | erot = 2.15608363214663 | epot = -12.6250543843914 | etot = -8.37462297083792 -156000 ekin = 2.12391577783707 | erot = 2.1276525103985 | epot = -12.6261912592572 | etot = -8.37462297102162 -157000 ekin = 2.13531004697546 | erot = 2.08604574913227 | epot = -12.5959787672234 | etot = -8.37462297111567 -158000 ekin = 2.12746223168591 | erot = 2.03132820631847 | epot = -12.5334134091003 | etot = -8.37462297109587 -159000 ekin = 2.10015103339202 | erot = 1.96448478928986 | epot = -12.4392587936246 | etot = -8.37462297094277 -160000 ekin = 2.05418416063666 | erot = 1.88751839461921 | epot = -12.3163255258998 | etot = -8.37462297064395 -161000 ekin = 1.9914954137128 | erot = 1.8035045715463 | epot = -12.1696229554608 | etot = -8.3746229702017 -162000 ekin = 1.91510266104691 | erot = 1.71656915682352 | epot = -12.0062947875078 | etot = -8.37462296963733 -163000 ekin = 1.82889680262221 | erot = 1.63175766791052 | epot = -11.8352774395238 | etot = -8.37462296899107 -164000 ekin = 1.73727850175354 | erot = 1.55477450557414 | epot = -11.6666759756466 | etot = -8.37462296831894 -165000 ekin = 1.64470875439862 | erot = 1.49159241029551 | epot = -11.5109241323765 | etot = -8.37462296768235 -166000 ekin = 1.55526715399592 | erot = 1.44796523954016 | epot = -11.3778553606754 | etot = -8.37462296713932 -167000 ekin = 1.47230568197329 | erot = 1.42890789301287 | epot = -11.2758365417203 | etot = -8.37462296673419 -168000 ekin = 1.39825202215306 | erot = 1.43822523216022 | epot = -11.2111002208051 | etot = -8.37462296649185 -169000 ekin = 1.33457196190122 | erot = 1.4781674025412 | epot = -11.1873623308595 | etot = -8.37462296641712 -170000 ekin = 1.28186404086284 | erot = 1.54925939136737 | epot = -11.2057463987275 | etot = -8.37462296649732 -171000 ekin = 1.2401053283702 | erot = 1.65031493319935 | epot = -11.2650432281454 | etot = -8.37462296657586 -172000 ekin = 1.20973432363881 | erot = 1.77850842430656 | epot = -11.3628657149171 | etot = -8.37462296697173 -173000 ekin = 1.18958106737809 | erot = 1.92939472681638 | epot = -11.4935987616333 | etot = -8.37462296743887 -174000 ekin = 1.17780375666769 | erot = 2.09752621801765 | epot = -11.6499529426374 | etot = -8.37462296795205 -175000 ekin = 1.172502841069 | erot = 2.27682305293083 | epot = -11.8239488624906 | etot = -8.37462296849078 -176000 ekin = 1.17177313417475 | erot = 2.4608623070369 | epot = -12.0072584102487 | etot = -8.37462296903704 -177000 ekin = 1.17372471418855 | erot = 2.64315812275369 | epot = -12.1915058065138 | etot = -8.37462296957157 -178000 ekin = 1.17649725816031 | erot = 2.81745378599554 | epot = -12.3685740142273 | etot = -8.37462297007148 -179000 ekin = 1.17828959842895 | erot = 2.978038856651 | epot = -12.5309514255901 | etot = -8.37462297051016 -180000 ekin = 1.1774168190097 | erot = 3.12008209304851 | epot = -12.6721218829182 | etot = -8.37462297085996 -181000 ekin = 1.17239479280051 | erot = 3.23994177497926 | epot = -12.7869595388776 | etot = -8.37462297109784 -182000 ekin = 1.16204161674153 | erot = 3.33528346670119 | epot = -12.8719480549258 | etot = -8.37462297148306 -183000 ekin = 1.14544700201154 | erot = 3.40346825728238 | epot = -12.9235382308526 | etot = -8.37462297155868 -184000 ekin = 1.12187454429724 | erot = 3.44382690739155 | epot = -12.9403244231943 | etot = -8.37462297150554 -185000 ekin = 1.09113819766543 | erot = 3.45752421108289 | epot = -12.9232853800831 | etot = -8.37462297133473 -186000 ekin = 1.05375177637538 | erot = 3.44681260248449 | epot = -12.875187349923 | etot = -8.37462297106316 -187000 ekin = 1.01100426926437 | erot = 3.41470705189622 | epot = -12.8003342918707 | etot = -8.37462297071008 -188000 ekin = 0.964980950088416 | erot = 3.3646710615679 | epot = -12.7042749819525 | etot = -8.37462297029614 -189000 ekin = 0.918502012520884 | erot = 3.30025095733202 | epot = -12.5933759397275 | etot = -8.37462296987457 -190000 ekin = 0.874955375625578 | erot = 3.22483721777132 | epot = -12.4744155628185 | etot = -8.37462296942164 -191000 ekin = 0.838012694189871 | erot = 3.14179385100168 | epot = -12.3544295141824 | etot = -8.37462296899086 -192000 ekin = 0.811264586710956 | erot = 3.05421641257334 | epot = -12.240103967897 | etot = -8.37462296861267 -193000 ekin = 0.797833231457478 | erot = 2.96485918306283 | epot = -12.1373153828319 | etot = -8.37462296831157 -194000 ekin = 0.8000323663007 | erot = 2.8761060823658 | epot = -12.0507614167682 | etot = -8.37462296810166 -195000 ekin = 0.819137512919949 | erot = 2.78998115247748 | epot = -11.9837416333827 | etot = -8.37462296798527 -196000 ekin = 0.855301818719506 | erot = 2.70818765526145 | epot = -11.9381124419352 | etot = -8.37462296795424 -197000 ekin = 0.907617485284835 | erot = 2.63215574475436 | epot = -11.9143961980334 | etot = -8.37462296799415 -198000 ekin = 0.974291517584437 | erot = 2.5630762301839 | epot = -11.9119907158566 | etot = -8.37462296808825 -199000 ekin = 1.05288651878785 | erot = 2.50190471363111 | epot = -11.9294142006405 | etot = -8.37462296822155 -200000 ekin = 1.14057530731235 | erot = 2.44933274089527 | epot = -11.9645310165903 | etot = -8.3746229683827 -201000 ekin = 1.23436945655788 | erot = 2.40573577404686 | epot = -12.014728199169 | etot = -8.37462296856431 -202000 ekin = 1.33129982084479 | erot = 2.37111655194145 | epot = -12.0770393415471 | etot = -8.37462296876082 -203000 ekin = 1.42854451444438 | erot = 2.34506402190557 | epot = -12.1482315053184 | etot = -8.37462296896845 -204000 ekin = 1.52351160571861 | erot = 2.32674290434256 | epot = -12.2248774792435 | etot = -8.37462296918235 -205000 ekin = 1.61388837060067 | erot = 2.31491995505467 | epot = -12.3034312950522 | etot = -8.37462296939689 -206000 ekin = 1.69766775260793 | erot = 2.30802500400467 | epot = -12.3803157262182 | etot = -8.37462296960556 -207000 ekin = 1.77315874687841 | erot = 2.304235629839 | epot = -12.4520173465215 | etot = -8.3746229698041 -208000 ekin = 1.83898325555921 | erot = 2.30156289475867 | epot = -12.5151691203033 | etot = -8.37462296998542 -209000 ekin = 1.89406065254659 | erot = 2.2979719308038 | epot = -12.5666555534953 | etot = -8.37462297014489 -210000 ekin = 1.93758171355955 | erot = 2.29149245614579 | epot = -12.6036971399835 | etot = -8.3746229702782 -211000 ekin = 1.9689749967881 | erot = 2.28032999988909 | epot = -12.6239279670585 | etot = -8.37462297038132 -212000 ekin = 1.98787057423958 | erot = 2.26297816329986 | epot = -12.6254717079901 | etot = -8.37462297045065 -213000 ekin = 1.9940661531065 | erot = 2.23834847729582 | epot = -12.6070376008835 | etot = -8.3746229704812 -214000 ekin = 1.98749971048336 | erot = 2.20579329600854 | epot = -12.567915976973 | etot = -8.3746229704811 -215000 ekin = 1.96823269345716 | erot = 2.16512069835608 | epot = -12.5079763622602 | etot = -8.37462297044691 -216000 ekin = 1.93645036858786 | erot = 2.11663233289595 | epot = -12.4277056718667 | etot = -8.37462297038284 -217000 ekin = 1.89249565101132 | erot = 2.06105227365551 | epot = -12.3281708949564 | etot = -8.37462297028959 -218000 ekin = 1.83696296100964 | erot = 1.99944931813356 | epot = -12.2110352493004 | etot = -8.3746229701572 -219000 ekin = 1.770879972 | erot = 1.93321768349748 | epot = -12.0787206254578 | etot = -8.37462296996032 -220000 ekin = 1.69598414200828 | erot = 1.86416918368603 | epot = -11.934776295355 | etot = -8.37462296966072 -221000 ekin = 1.61504938765098 | erot = 1.79472971030249 | epot = -11.7844020671756 | etot = -8.37462296922216 -222000 ekin = 1.53214607792005 | erot = 1.72813764736983 | epot = -11.6349066939257 | etot = -8.37462296863582 -223000 ekin = 1.45266240883154 | erot = 1.66846349300121 | epot = -11.4957488697767 | etot = -8.37462296794391 -224000 ekin = 1.3829329245014 | erot = 1.62027927221262 | epot = -11.3778351639602 | etot = -8.37462296724621 -225000 ekin = 1.32944348952769 | erot = 1.58793473617142 | epot = -11.2920011923817 | etot = -8.37462296668256 -226000 ekin = 1.29777350141005 | erot = 1.57457480049508 | epot = -11.2469712682749 | etot = -8.37462296636975 -227000 ekin = 1.29158711545493 | erot = 1.58136206120122 | epot = -11.2475721430406 | etot = -8.37462296638443 -228000 ekin = 1.31199160550491 | erot = 1.60705168356049 | epot = -11.2936662557523 | etot = -8.37462296668691 -229000 ekin = 1.35720775781583 | erot = 1.64872427968762 | epot = -11.3805550048113 | etot = -8.37462296730786 -230000 ekin = 1.42320705813343 | erot = 1.70117239435478 | epot = -11.4990024205431 | etot = -8.37462296805492 -231000 ekin = 1.50467169677599 | erot = 1.75808746579081 | epot = -11.63738213137 | etot = -8.37462296880323 -232000 ekin = 1.59576180204811 | erot = 1.8134544621678 | epot = -11.783839233675 | etot = -8.3746229694591 -233000 ekin = 1.69077156764799 | erot = 1.86233770608594 | epot = -11.927732243706 | etot = -8.37462296997204 -234000 ekin = 1.78453671679941 | erot = 1.90129507954642 | epot = -12.0604547666796 | etot = -8.37462297033374 -235000 ekin = 1.87261122259007 | erot = 1.92842207171149 | epot = -12.1756562648647 | etot = -8.37462297056318 -236000 ekin = 1.95129507586088 | erot = 1.94312673772435 | epot = -12.2690447842759 | etot = -8.37462297069067 -237000 ekin = 2.01688127570926 | erot = 1.94587838549599 | epot = -12.3373826321093 | etot = -8.37462297090404 -238000 ekin = 2.06554471096663 | erot = 1.93754713481337 | epot = -12.3777148167611 | etot = -8.37462297098108 -239000 ekin = 2.09498833917125 | erot = 1.91896908743882 | epot = -12.3885803976064 | etot = -8.37462297099629 -240000 ekin = 2.10387887335877 | erot = 1.89114067893424 | epot = -12.3696425232252 | etot = -8.37462297093216 -241000 ekin = 2.09205058134759 | erot = 1.8552423277367 | epot = -12.321915879852 | etot = -8.37462297076774 -242000 ekin = 2.06070692356718 | erot = 1.81270484104083 | epot = -12.248034735093 | etot = -8.37462297048499 -243000 ekin = 2.01255526288376 | erot = 1.76529169809243 | epot = -12.1524699310585 | etot = -8.37462297008235 -244000 ekin = 1.95178746173538 | erot = 1.71512317980711 | epot = -12.041533611113 | etot = -8.37462296957053 -245000 ekin = 1.88387514784689 | erot = 1.66462101119848 | epot = -11.9231191280346 | etot = -8.37462296898926 -246000 ekin = 1.81512558267767 | erot = 1.61637080971481 | epot = -11.806119360792 | etot = -8.37462296839955 -247000 ekin = 1.75197548737588 | erot = 1.57289129038633 | epot = -11.6994897456372 | etot = -8.37462296787495 -248000 ekin = 1.70016015194924 | erot = 1.53636641743642 | epot = -11.6111495368734 | etot = -8.3746229674877 -249000 ekin = 1.6640439145432 | erot = 1.50839677555173 | epot = -11.547063657254 | etot = -8.3746229671591 -250000 ekin = 1.64635032469252 | erot = 1.48977166427928 | epot = -11.5107449561771 | etot = -8.37462296720534 -251000 ekin = 1.64670868822438 | erot = 1.48021150770255 | epot = -11.5015431633554 | etot = -8.37462296742851 -252000 ekin = 1.66264181464409 | erot = 1.47871062656292 | epot = -11.5159754089798 | etot = -8.3746229677728 -253000 ekin = 1.69027564040423 | erot = 1.48380069510004 | epot = -11.5486993036762 | etot = -8.37462296817197 -254000 ekin = 1.7250530129175 | erot = 1.49382397147215 | epot = -11.5934999529557 | etot = -8.37462296856602 -255000 ekin = 1.76239471231546 | erot = 1.50720813838016 | epot = -11.6442258196114 | etot = -8.37462296891583 -256000 ekin = 1.79816893498598 | erot = 1.5225925446976 | epot = -11.6953844488857 | etot = -8.37462296920214 -257000 ekin = 1.82895095239721 | erot = 1.5388780186388 | epot = -11.7424519404555 | etot = -8.37462296941948 -258000 ekin = 1.85212386739591 | erot = 1.55528591409769 | epot = -11.7820327510622 | etot = -8.37462296956863 -259000 ekin = 1.86588413888244 | erot = 1.57137656836542 | epot = -11.8118836768989 | etot = -8.37462296965109 -260000 ekin = 1.86922537289895 | erot = 1.58707491263374 | epot = -11.8309232551855 | etot = -8.37462296965279 -261000 ekin = 1.86194745777981 | erot = 1.60277606186329 | epot = -11.8393464893229 | etot = -8.37462296967978 -262000 ekin = 1.84441202421319 | erot = 1.61874454524327 | epot = -11.8377795390076 | etot = -8.37462296955112 -263000 ekin = 1.81775632997628 | erot = 1.63584439963888 | epot = -11.8282236989394 | etot = -8.37462296932421 -264000 ekin = 1.78414336143469 | erot = 1.65581672859378 | epot = -11.8145830590338 | etot = -8.37462296900532 -265000 ekin = 1.74659811333676 | erot = 1.68088156362759 | epot = -11.8021026455962 | etot = -8.37462296863181 -266000 ekin = 1.70875551588599 | erot = 1.7133238753805 | epot = -11.7967023595409 | etot = -8.37462296827444 -267000 ekin = 1.67443624978586 | erot = 1.75501089284454 | epot = -11.8040701106185 | etot = -8.37462296798813 -268000 ekin = 1.64712713207532 | erot = 1.80695733277643 | epot = -11.8287074326929 | etot = -8.37462296784112 -269000 ekin = 1.6294902114269 | erot = 1.8688326756716 | epot = -11.8729458549709 | etot = -8.37462296787235 -270000 ekin = 1.62285159922476 | erot = 1.93872810894267 | epot = -11.9362026762885 | etot = -8.37462296812108 -271000 ekin = 1.62688631043752 | erot = 2.01317767222032 | epot = -12.0146869512058 | etot = -8.37462296854792 -272000 ekin = 1.63981668010417 | erot = 2.08746423747645 | epot = -12.101903886666 | etot = -8.37462296908541 -273000 ekin = 1.65880091169025 | erot = 2.15626799363775 | epot = -12.1896918749694 | etot = -8.37462296964141 -274000 ekin = 1.68050753849916 | erot = 2.21448722130891 | epot = -12.2696177299301 | etot = -8.37462297012202 -275000 ekin = 1.70172643739795 | erot = 2.25805265702223 | epot = -12.3344020648721 | etot = -8.37462297045196 -276000 ekin = 1.71987527696163 | erot = 2.28456562448947 | epot = -12.3790638720394 | etot = -8.37462297058833 -277000 ekin = 1.73331269261594 | erot = 2.2936490566384 | epot = -12.4015847197774 | etot = -8.37462297052306 -278000 ekin = 1.74143735013745 | erot = 2.28698125838951 | epot = -12.4030415787994 | etot = -8.3746229702724 -279000 ekin = 1.74460802870593 | erot = 2.26806682992324 | epot = -12.3872978285229 | etot = -8.37462296989376 -280000 ekin = 1.74394008412442 | erot = 2.2417131405199 | epot = -12.3602761940829 | etot = -8.37462296943857 -281000 ekin = 1.74088698058179 | erot = 2.21312908436347 | epot = -12.3286390340534 | etot = -8.37462296910814 -282000 ekin = 1.73669656458705 | erot = 2.1870420444962 | epot = -12.298361577878 | etot = -8.3746229687948 -283000 ekin = 1.73229007371595 | erot = 2.16744679622899 | epot = -12.2743598385786 | etot = -8.37462296863364 -284000 ekin = 1.72792109204532 | erot = 2.15675164213796 | epot = -12.2592957028516 | etot = -8.37462296866828 -285000 ekin = 1.72297480902855 | erot = 2.15537559427342 | epot = -12.2529733722 | etot = -8.37462296889804 -286000 ekin = 1.71598432453032 | erot = 2.16179000838427 | epot = -12.2523973021715 | etot = -8.37462296925687 -287000 ekin = 1.7049852422032 | erot = 2.17315503013756 | epot = -12.2527632419521 | etot = -8.37462296961137 -288000 ekin = 1.68823578051936 | erot = 2.18649203663189 | epot = -12.2493507869531 | etot = -8.37462296980184 -289000 ekin = 1.66510970376205 | erot = 2.19999055777972 | epot = -12.2397232312613 | etot = -8.37462296971956 -290000 ekin = 1.63674302037981 | erot = 2.2138125269939 | epot = -12.2251785167482 | etot = -8.37462296937453 -291000 ekin = 1.60601874197418 | erot = 2.22992661048372 | epot = -12.210568321354 | etot = -8.37462296889611 -292000 ekin = 1.57682389343772 | erot = 2.25107800691132 | epot = -12.202524868782 | etot = -8.37462296843301 -293000 ekin = 1.55301992418702 | erot = 2.27950943304652 | epot = -12.2071523254134 | etot = -8.37462296817987 -294000 ekin = 1.53731454048192 | erot = 2.31583078837931 | epot = -12.2277682970271 | etot = -8.37462296816589 -295000 ekin = 1.53083265562522 | erot = 2.35873605655334 | epot = -12.2641916805469 | etot = -8.3746229683683 -296000 ekin = 1.53318706455254 | erot = 2.40528084679105 | epot = -12.3130908800621 | etot = -8.37462296871854 -297000 ekin = 1.54281493583633 | erot = 2.45151931863516 | epot = -12.3689572236286 | etot = -8.3746229691571 -298000 ekin = 1.55733608765137 | erot = 2.49306411732002 | epot = -12.4250231746884 | etot = -8.37462296971699 -299000 ekin = 1.57407386288273 | erot = 2.52498633848825 | epot = -12.4736831715342 | etot = -8.37462297016317 -300000 ekin = 1.59001535760035 | erot = 2.54349315182925 | epot = -12.5081314800019 | etot = -8.37462297057228 -301000 ekin = 1.60189886822646 | erot = 2.54585083166253 | epot = -12.522372670814 | etot = -8.37462297092498 -302000 ekin = 1.60620251585633 | erot = 2.53039812867706 | epot = -12.5112236158412 | etot = -8.3746229713078 -303000 ekin = 1.59914065240609 | erot = 2.49598280993848 | epot = -12.4697464340454 | etot = -8.37462297170085 -304000 ekin = 1.57679795693774 | erot = 2.44177332378576 | epot = -12.3931942527979 | etot = -8.37462297207441 -305000 ekin = 1.5357430437406 | erot = 2.36761905414257 | epot = -12.2779850699661 | etot = -8.37462297208297 -306000 ekin = 1.47392866559623 | erot = 2.27453104047954 | epot = -12.1230826782582 | etot = -8.37462297218248 -307000 ekin = 1.39050823398579 | erot = 2.16376504506936 | epot = -11.9288962509199 | etot = -8.37462297186479 -308000 ekin = 1.28961522980587 | erot = 2.03977667258414 | epot = -11.704014870663 | etot = -8.37462296827299 -309000 ekin = 1.05782937493726 | erot = 1.83361716570663 | epot = -11.2660695010504 | etot = -8.37462296040654 -310000 ekin = 1.14450415449027 | erot = 1.58483272602461 | epot = -11.1039598386918 | etot = -8.37462295817693 -311000 ekin = 1.41922601312499 | erot = 1.45460499880737 | epot = -11.2484540448424 | etot = -8.37462303291008 -312000 ekin = 1.45261330232172 | erot = 1.37611906651663 | epot = -11.2033554015522 | etot = -8.37462303271387 -313000 ekin = 1.47884377174092 | erot = 1.31854286229483 | epot = -11.1720096664212 | etot = -8.37462303238549 -314000 ekin = 1.49756299811569 | erot = 1.28320357876914 | epot = -11.1553896088946 | etot = -8.37462303200974 -315000 ekin = 1.5133255918795 | erot = 1.27043025389343 | epot = -11.1583788774962 | etot = -8.37462303172332 -316000 ekin = 1.53080061117965 | erot = 1.27925593275776 | epot = -11.1846795755422 | etot = -8.37462303160482 -317000 ekin = 1.55378721590818 | erot = 1.30719554367529 | epot = -11.2356057912731 | etot = -8.37462303168967 -318000 ekin = 1.58370434541022 | erot = 1.34913652060418 | epot = -11.3074638985375 | etot = -8.37462303252313 -319000 ekin = 1.61943484148194 | erot = 1.39801478359267 | epot = -11.3920726581923 | etot = -8.37462303311765 -320000 ekin = 1.65864783760463 | erot = 1.4469667045907 | epot = -11.4802375759964 | etot = -8.37462303380111 -321000 ekin = 1.69766983847277 | erot = 1.48920524279054 | epot = -11.5614981157279 | etot = -8.37462303446459 -322000 ekin = 1.73222385845994 | erot = 1.51888544570707 | epot = -11.6257323391487 | etot = -8.37462303498174 -323000 ekin = 1.75834700852269 | erot = 1.5320295663078 | epot = -11.6649996100692 | etot = -8.3746230352387 -324000 ekin = 1.77324650046275 | erot = 1.527325970295 | epot = -11.6751955059261 | etot = -8.37462303516836 -325000 ekin = 1.77583924216909 | erot = 1.50655389358412 | epot = -11.6570161705536 | etot = -8.37462303480044 -326000 ekin = 1.76682929376801 | erot = 1.4743692828387 | epot = -11.6158216107552 | etot = -8.37462303414854 -327000 ekin = 1.74834602231056 | erot = 1.43794367202714 | epot = -11.5609127276985 | etot = -8.37462303336079 -328000 ekin = 1.72331109821159 | erot = 1.4057861507968 | epot = -11.5037202815765 | etot = -8.37462303256808 -329000 ekin = 1.69488797673298 | erot = 1.38635580023326 | epot = -11.4558668088437 | etot = -8.37462303187749 -330000 ekin = 1.66566513334673 | erot = 1.38702252391911 | epot = -11.4273106886487 | etot = -8.37462303138284 -331000 ekin = 1.63732185166116 | erot = 1.41331220646656 | epot = -11.4252570892342 | etot = -8.37462303110653 -332000 ekin = 1.61073968003925 | erot = 1.46826665363495 | epot = -11.4536293647312 | etot = -8.37462303105704 -333000 ekin = 1.58605232106421 | erot = 1.55220559043142 | epot = -11.5128809427296 | etot = -8.374623031234 -334000 ekin = 1.56284415922255 | erot = 1.66255678080467 | epot = -11.6000239716181 | etot = -8.3746230315909 -335000 ekin = 1.54014240613746 | erot = 1.79443783502769 | epot = -11.7092032732466 | etot = -8.37462303208149 -336000 ekin = 1.5167045521654 | erot = 1.94117931563276 | epot = -11.8325069004476 | etot = -8.37462303264939 -337000 ekin = 1.49128277555466 | erot = 2.09492414345266 | epot = -11.9608299522427 | etot = -8.37462303323541 -338000 ekin = 1.46282625482966 | erot = 2.24735936520935 | epot = -12.0848086538225 | etot = -8.37462303378349 -339000 ekin = 1.43063896798238 | erot = 2.39044100153427 | epot = -12.1957030037644 | etot = -8.37462303424774 -340000 ekin = 1.39448012483961 | erot = 2.51702660359023 | epot = -12.286129763026 | etot = -8.37462303459616 -341000 ekin = 1.35460313822188 | erot = 2.62135284037471 | epot = -12.3505790134085 | etot = -8.37462303481193 -342000 ekin = 1.31173936862989 | erot = 2.6993354674974 | epot = -12.385697871018 | etot = -8.37462303489068 -343000 ekin = 1.26704159860185 | erot = 2.74871044551789 | epot = -12.390375078956 | etot = -8.3746230348363 -344000 ekin = 1.22200654509462 | erot = 2.76906107654609 | epot = -12.3656906562964 | etot = -8.3746230346557 -345000 ekin = 1.17839357225679 | erot = 2.76177689465574 | epot = -12.3147935012701 | etot = -8.37462303435761 -346000 ekin = 1.138147305603 | erot = 2.72996678569899 | epot = -12.2427371252559 | etot = -8.37462303395393 -347000 ekin = 1.10331757839138 | erot = 2.67831421954011 | epot = -12.1562548313951 | etot = -8.37462303346366 -348000 ekin = 1.07595787263665 | erot = 2.61283600667709 | epot = -12.0634169122315 | etot = -8.3746230329178 -349000 ekin = 1.05798147191731 | erot = 2.54050407789471 | epot = -11.9731085821735 | etot = -8.37462303236147 -350000 ekin = 1.05096760963782 | erot = 2.46871550808049 | epot = -11.8943061495698 | etot = -8.37462303185146 -351000 ekin = 1.05593437429307 | erot = 2.40463774698071 | epot = -11.835195152722 | etot = -8.37462303144819 -352000 ekin = 1.07311971186488 | erot = 2.35449555191725 | epot = -11.8022382949892 | etot = -8.37462303120707 -353000 ekin = 1.10182415540794 | erot = 2.32288867128265 | epot = -11.7993358578589 | etot = -8.37462303116831 -354000 ekin = 1.14036300464667 | erot = 2.31223409502419 | epot = -11.8272201310211 | etot = -8.37462303135019 -355000 ekin = 1.18615564007855 | erot = 2.32242185962048 | epot = -11.8832005314417 | etot = -8.37462303174267 -356000 ekin = 1.23595386569893 | erot = 2.3507632696423 | epot = -11.9613401676474 | etot = -8.37462303230619 -357000 ekin = 1.28618457758663 | erot = 2.39228504524971 | epot = -12.0530926558099 | etot = -8.37462303297352 -358000 ekin = 1.33335672484066 | erot = 2.44036693764212 | epot = -12.1483466961435 | etot = -8.37462303366069 -359000 ekin = 1.37446611423542 | erot = 2.48763760748948 | epot = -12.2367267560058 | etot = -8.37462303428087 -360000 ekin = 1.40733698540127 | erot = 2.52696891747079 | epot = -12.3089289376308 | etot = -8.37462303475878 -361000 ekin = 1.4308523011713 | erot = 2.55266032656708 | epot = -12.3581356626699 | etot = -8.37462303493157 -362000 ekin = 1.44498023419552 | erot = 2.56161192448358 | epot = -12.3812151936925 | etot = -8.37462303501344 -363000 ekin = 1.45080808015495 | erot = 2.55177253018961 | epot = -12.3772036452513 | etot = -8.37462303490678 -364000 ekin = 1.45046982069976 | erot = 2.52283864584236 | epot = -12.3479315011823 | etot = -8.37462303464013 -365000 ekin = 1.44693366152058 | erot = 2.47609933176612 | epot = -12.2976560275497 | etot = -8.37462303426302 -366000 ekin = 1.44366094468076 | erot = 2.41401126337553 | epot = -12.232295241893 | etot = -8.37462303383673 -367000 ekin = 1.44416618229235 | erot = 2.33969773429608 | epot = -12.1584869500119 | etot = -8.37462303342343 -368000 ekin = 1.45154164412146 | erot = 2.25648465084956 | epot = -12.0826493280447 | etot = -8.37462303307363 -369000 ekin = 1.46802482611129 | erot = 2.16757470029718 | epot = -12.0102225592253 | etot = -8.37462303281687 -370000 ekin = 1.49468484158027 | erot = 2.07591739972967 | epot = -11.9452252739683 | etot = -8.37462303265834 -371000 ekin = 1.53128479294168 | erot = 1.98426522628747 | epot = -11.8901730518125 | etot = -8.37462303258338 -372000 ekin = 1.57634160155693 | erot = 1.8953362606447 | epot = -11.8463008947683 | etot = -8.3746230325667 -373000 ekin = 1.62736107596798 | erot = 1.81196417168749 | epot = -11.8139482802385 | etot = -8.37462303258302 -374000 ekin = 1.68119274504331 | erot = 1.73713269144043 | epot = -11.7929484690969 | etot = -8.37462303261319 -375000 ekin = 1.73444043053021 | erot = 1.6738588433462 | epot = -11.7829223065197 | etot = -8.37462303264332 -376000 ekin = 1.78387586144104 | erot = 1.62497473906303 | epot = -11.7834736331736 | etot = -8.3746230326695 -377000 ekin = 1.82648186092067 | erot = 1.59275354369137 | epot = -11.7938584374905 | etot = -8.37462303287845 -378000 ekin = 1.85889028460924 | erot = 1.57838589666601 | epot = -11.8118992141862 | etot = -8.37462303291091 -379000 ekin = 1.87974734421496 | erot = 1.58231910072796 | epot = -11.836689477891 | etot = -8.37462303294807 -380000 ekin = 1.88876618248049 | erot = 1.60397852042792 | epot = -11.8673677359264 | etot = -8.37462303301795 -381000 ekin = 1.88634387025689 | erot = 1.64162253507626 | epot = -11.9025894384718 | etot = -8.37462303313868 -382000 ekin = 1.87329602400055 | erot = 1.69239968364273 | epot = -11.9403187409512 | etot = -8.37462303330791 -383000 ekin = 1.85067766912144 | erot = 1.75260724973921 | epot = -11.9779079523646 | etot = -8.37462303350392 -384000 ekin = 1.81972884480806 | erot = 1.81808771260978 | epot = -12.012439591111 | etot = -8.37462303369321 -385000 ekin = 1.78192764777056 | erot = 1.8846313378667 | epot = -12.0411820195031 | etot = -8.37462303386585 -386000 ekin = 1.73896117301595 | erot = 1.94830024178108 | epot = -12.0618844487812 | etot = -8.37462303398414 -387000 ekin = 1.69261703956643 | erot = 2.00550933075303 | epot = -12.0727494044575 | etot = -8.37462303413803 -388000 ekin = 1.64442362565025 | erot = 2.0529026228811 | epot = -12.0719492828224 | etot = -8.3746230342911 -389000 ekin = 1.59562809726278 | erot = 2.08769097010042 | epot = -12.0579421017184 | etot = -8.37462303435517 -390000 ekin = 1.5472725807875 | erot = 2.10804034821809 | epot = -12.0299359634129 | etot = -8.37462303440729 -391000 ekin = 1.5004266868921 | erot = 2.11301685840023 | epot = -11.9880665795734 | etot = -8.37462303428111 -392000 ekin = 1.45669956782618 | erot = 2.1035261208382 | epot = -11.9348487226024 | etot = -8.37462303393806 -393000 ekin = 1.41857599109023 | erot = 2.08263213471356 | epot = -11.8758311591984 | etot = -8.37462303339458 -394000 ekin = 1.38932612627842 | erot = 2.05528425943449 | epot = -11.8192334184613 | etot = -8.37462303274838 -395000 ekin = 1.37246101478418 | erot = 2.02739319427218 | epot = -11.7744772412151 | etot = -8.37462303215879 -396000 ekin = 1.37078907987889 | erot = 2.00445159240655 | epot = -11.7498637040821 | etot = -8.37462303179663 -397000 ekin = 1.38538853999933 | erot = 1.99011302537629 | epot = -11.7501245971573 | etot = -8.37462303178166 -398000 ekin = 1.41490531161691 | erot = 1.98519641778415 | epot = -11.7747247615395 | etot = -8.37462303213847 -399000 ekin = 1.45547085036333 | erot = 1.98743025594793 | epot = -11.8175241391056 | etot = -8.37462303279433 -400000 ekin = 1.50126526406653 | erot = 1.99196444869351 | epot = -11.8678527463725 | etot = -8.37462303361247 -401000 ekin = 1.54549713891542 | erot = 1.99242148352483 | epot = -11.912541656877 | etot = -8.37462303443675 -402000 ekin = 1.58148802753443 | erot = 1.98217540610616 | epot = -11.938286468762 | etot = -8.3746230351214 -403000 ekin = 1.60364407572841 | erot = 1.95563446459467 | epot = -11.933901575864 | etot = -8.37462303554094 -404000 ekin = 1.60823718231444 | erot = 1.90940860689033 | epot = -11.8922688248047 | etot = -8.37462303559992 -405000 ekin = 1.59393186875409 | erot = 1.84321418438545 | epot = -11.8117690883972 | etot = -8.37462303525767 -406000 ekin = 1.56197926550456 | erot = 1.76026394072076 | epot = -11.6968662407814 | etot = -8.3746230345561 -407000 ekin = 1.51595319782283 | erot = 1.66689496115242 | epot = -11.557471192596 | etot = -8.37462303362073 -408000 ekin = 1.46103089399037 | erot = 1.57144700034375 | epot = -11.4071009269549 | etot = -8.37462303262082 -409000 ekin = 1.40302353808212 | erot = 1.48274963104999 | epot = -11.2603962008451 | etot = -8.37462303171302 -410000 ekin = 1.34747963365306 | erot = 1.40871679572269 | epot = -11.1308194603667 | etot = -8.37462303099099 -411000 ekin = 1.24142842928015 | erot = 1.36765891027326 | epot = -10.9837103545926 | etot = -8.37462301503915 -412000 ekin = 1.07606206466648 | erot = 1.44463891803928 | epot = -10.8953239884245 | etot = -8.37462300571878 -413000 ekin = 1.04694922469659 | erot = 1.51102600613158 | epot = -10.9325982588146 | etot = -8.37462302798646 -414000 ekin = 1.03606467090415 | erot = 1.52895884328637 | epot = -10.939646542314 | etot = -8.37462302812346 -415000 ekin = 1.03698178422045 | erot = 1.56970634086026 | epot = -10.9813111534882 | etot = -8.37462302840751 -416000 ekin = 1.04842794421751 | erot = 1.63005774223117 | epot = -11.0531087152571 | etot = -8.37462302880839 -417000 ekin = 1.06841333535707 | erot = 1.7057177047907 | epot = -11.148754069442 | etot = -8.37462302929419 -418000 ekin = 1.09444701005145 | erot = 1.7915840530624 | epot = -11.2606540929521 | etot = -8.37462302983822 -419000 ekin = 1.12371544113113 | erot = 1.88200392342396 | epot = -11.380342394971 | etot = -8.37462303041592 -420000 ekin = 1.15322596863779 | erot = 1.97103956947869 | epot = -11.4988885691126 | etot = -8.37462303099611 -421000 ekin = 1.17996638670259 | erot = 2.05281125535568 | epot = -11.6074006735889 | etot = -8.3746230315306 -422000 ekin = 1.20115062981169 | erot = 2.12197272517875 | epot = -11.697746386944 | etot = -8.37462303195353 -423000 ekin = 1.21456879342772 | erot = 2.1742992460712 | epot = -11.7634910716968 | etot = -8.37462303219783 -424000 ekin = 1.21895541018824 | erot = 2.20725430505372 | epot = -11.8008327474647 | etot = -8.37462303222279 -425000 ekin = 1.21420953470763 | erot = 2.22030001430828 | epot = -11.8091325810578 | etot = -8.37462303204189 -426000 ekin = 1.20134505265836 | erot = 2.21476142814857 | epot = -11.7907295125136 | etot = -8.37462303170663 -427000 ekin = 1.18219319315433 | erot = 2.19340434236639 | epot = -11.750220566811 | etot = -8.37462303129028 -428000 ekin = 1.1589992194094 | erot = 2.15981652249787 | epot = -11.6934387727652 | etot = -8.37462303085794 -429000 ekin = 1.13415683500818 | erot = 2.11790831243045 | epot = -11.6266881762552 | etot = -8.37462302881656 -430000 ekin = 1.11403963820984 | erot = 2.07460238347215 | epot = -11.5632650504425 | etot = -8.3746230287605 -431000 ekin = 1.10124843427963 | erot = 2.03325324116058 | epot = -11.5091247042081 | etot = -8.37462302876791 -432000 ekin = 1.09509673682057 | erot = 1.99414694703559 | epot = -11.4638667126922 | etot = -8.37462302883607 -433000 ekin = 1.09463609314626 | erot = 1.95711348582254 | epot = -11.4263726079124 | etot = -8.37462302894363 -434000 ekin = 1.09809472012948 | erot = 1.92111283569859 | epot = -11.3938305852088 | etot = -8.37462302938068 -435000 ekin = 1.10341624338786 | erot = 1.8849214283033 | epot = -11.3629607010965 | etot = -8.37462302940532 -436000 ekin = 1.11020757162794 | erot = 1.84854231975911 | epot = -11.3333729208365 | etot = -8.37462302944944 -437000 ekin = 1.11803889537716 | erot = 1.811869025112 | epot = -11.3045309499975 | etot = -8.37462302950836 -438000 ekin = 1.12642172160203 | erot = 1.77470718111898 | epot = -11.2757519322947 | etot = -8.37462302957371 -439000 ekin = 1.13485148153839 | erot = 1.73686282079475 | epot = -11.2463373319665 | etot = -8.37462302963338 -440000 ekin = 1.14287335820531 | erot = 1.69826079507209 | epot = -11.2157571829496 | etot = -8.37462302967224 -441000 ekin = 1.15016795452965 | erot = 1.65908318343038 | epot = -11.1838741676301 | etot = -8.37462302967003 -442000 ekin = 1.15664284201438 | erot = 1.61992313518235 | epot = -11.1511890068204 | etot = -8.3746230296237 -443000 ekin = 1.16253418068965 | erot = 1.58179210099491 | epot = -11.1189493112069 | etot = -8.37462302952238 -444000 ekin = 1.16846798531214 | erot = 1.54614466613328 | epot = -11.0892356808146 | etot = -8.37462302936922 -445000 ekin = 1.1754682034657 | erot = 1.51479732960997 | epot = -11.064888562255 | etot = -8.37462302917931 -446000 ekin = 1.18488743024638 | erot = 1.48973802088241 | epot = -11.0492484801092 | etot = -8.37462302898043 -447000 ekin = 1.19824347153595 | erot = 1.4728428998055 | epot = -11.0457094001514 | etot = -8.37462302880998 -448000 ekin = 1.21696535091515 | erot = 1.46554765995542 | epot = -11.0571360395813 | etot = -8.3746230287107 -449000 ekin = 1.24207954598512 | erot = 1.46851271093811 | epot = -11.0852152856434 | etot = -8.37462302872015 -450000 ekin = 1.27389445230309 | erot = 1.48136016742249 | epot = -11.1298776485961 | etot = -8.37462302887047 -451000 ekin = 1.31179903842769 | erot = 1.50255470267703 | epot = -11.1889767701153 | etot = -8.37462302901055 -452000 ekin = 1.35460859520352 | erot = 1.52989164327147 | epot = -11.2591232679078 | etot = -8.37462302943281 -453000 ekin = 1.39989469250035 | erot = 1.55983588432727 | epot = -11.334353606767 | etot = -8.37462302993942 -454000 ekin = 1.44437957549523 | erot = 1.58822152329922 | epot = -11.4072241292528 | etot = -8.37462303045837 -455000 ekin = 1.4845601587809 | erot = 1.6110361600437 | epot = -11.4702193497289 | etot = -8.37462303090433 -456000 ekin = 1.51733329615193 | erot = 1.62510652435356 | epot = -11.5170628516963 | etot = -8.37462303119078 -457000 ekin = 1.54029245797498 | erot = 1.62854015385641 | epot = -11.5434556431066 | etot = -8.3746230312752 -458000 ekin = 1.5520978706264 | erot = 1.62122255615416 | epot = -11.5479434578272 | etot = -8.3746230310466 -459000 ekin = 1.55414659187651 | erot = 1.60571991112788 | epot = -11.5344895335874 | etot = -8.374623030583 -460000 ekin = 1.54960099436756 | erot = 1.58640018749771 | epot = -11.5106242118325 | etot = -8.37462302996718 -461000 ekin = 1.5427312422487 | erot = 1.5687225226635 | epot = -11.4860767942378 | etot = -8.37462302932561 -462000 ekin = 1.53795589449098 | erot = 1.55825929919566 | epot = -11.4708382224919 | etot = -8.3746230288053 -463000 ekin = 1.53875903308003 | erot = 1.55959299575772 | epot = -11.4729750573648 | etot = -8.37462302852709 -464000 ekin = 1.54682029511914 | erot = 1.5753418689491 | epot = -11.4967851926244 | etot = -8.37462302855616 -465000 ekin = 1.56162946502592 | erot = 1.60564212072992 | epot = -11.5418946146286 | etot = -8.3746230288728 -466000 ekin = 1.58070265304453 | erot = 1.64822662156104 | epot = -11.6035523039889 | etot = -8.37462302938336 -467000 ekin = 1.60035208027453 | erot = 1.69905719078982 | epot = -11.6740323010127 | etot = -8.37462302994838 -468000 ekin = 1.61673623107485 | erot = 1.75335443246717 | epot = -11.7447136939726 | etot = -8.3746230304306 -469000 ekin = 1.6268308500725 | erot = 1.80670922025587 | epot = -11.8081631010582 | etot = -8.37462303072985 -470000 ekin = 1.62907239972834 | erot = 1.85596584023993 | epot = -11.8596612707767 | etot = -8.37462303080845 -471000 ekin = 1.6235468737331 | erot = 1.8996612917067 | epot = -11.8978311961327 | etot = -8.37462303069291 -472000 ekin = 1.61170510379542 | erot = 1.93800410341002 | epot = -11.9243322376459 | etot = -8.37462303044043 -473000 ekin = 1.59590324450968 | erot = 1.97246730641929 | epot = -11.9429935810559 | etot = -8.37462303012697 -474000 ekin = 1.57886523181254 | erot = 2.00526149881397 | epot = -11.9587497604453 | etot = -8.37462302981875 -475000 ekin = 1.5631207157897 | erot = 2.03882982960363 | epot = -11.9765735749599 | etot = -8.37462302956653 -476000 ekin = 1.55063074695144 | erot = 2.07545668637113 | epot = -12.000710462713 | etot = -8.37462302939048 -477000 ekin = 1.54263588410843 | erot = 2.11704231172457 | epot = -12.0343012251353 | etot = -8.37462302930229 -478000 ekin = 1.53956151542 | erot = 2.16493101565339 | epot = -12.0791155603797 | etot = -8.37462302930633 -479000 ekin = 1.54104337297934 | erot = 2.21977101927583 | epot = -12.1354374216603 | etot = -8.37462302940509 -480000 ekin = 1.54600976096943 | erot = 2.28138261400339 | epot = -12.2020154045693 | etot = -8.37462302959645 -481000 ekin = 1.55280606024705 | erot = 2.34867771788968 | epot = -12.276106808004 | etot = -8.37462302986726 -482000 ekin = 1.55937339634668 | erot = 2.41971772771286 | epot = -12.3537141542443 | etot = -8.37462303018471 -483000 ekin = 1.56350104452631 | erot = 2.49198464322841 | epot = -12.4301087182512 | etot = -8.37462303049648 -484000 ekin = 1.56314467772404 | erot = 2.5628002628049 | epot = -12.5005679712778 | etot = -8.37462303074887 -485000 ekin = 1.556770991892 | erot = 2.62990187864868 | epot = -12.5612959014248 | etot = -8.37462303088411 -486000 ekin = 1.54362230241326 | erot = 2.69196691951159 | epot = -12.6102122528178 | etot = -8.37462303089296 -487000 ekin = 1.52381043791502 | erot = 2.74866369544755 | epot = -12.6470971641617 | etot = -8.37462303079914 -488000 ekin = 1.4982285884388 | erot = 2.8004132279417 | epot = -12.673264847032 | etot = -8.37462303065147 -489000 ekin = 1.46832177710657 | erot = 2.84792010719116 | epot = -12.6908649148011 | etot = -8.37462303050336 -490000 ekin = 1.43580907600636 | erot = 2.89167668868161 | epot = -12.702108795082 | etot = -8.37462303039404 -491000 ekin = 1.40244626498215 | erot = 2.93162068130931 | epot = -12.7086899766309 | etot = -8.37462303033947 -492000 ekin = 1.36987596423187 | erot = 2.96703118868618 | epot = -12.7115301832525 | etot = -8.37462303033448 -493000 ekin = 1.33956200675514 | erot = 2.99664446239282 | epot = -12.7108294995104 | etot = -8.37462303036243 -494000 ekin = 1.3127681632094 | erot = 3.01889804551655 | epot = -12.7062892391336 | etot = -8.37462303040764 -495000 ekin = 1.29052832589674 | erot = 3.0321850552458 | epot = -12.6973364116069 | etot = -8.37462303046436 -496000 ekin = 1.27356858864352 | erot = 3.03502298577767 | epot = -12.6832146049608 | etot = -8.37462303053966 -497000 ekin = 1.26217859738907 | erot = 3.02610963123435 | epot = -12.6629112592685 | etot = -8.37462303064505 -498000 ekin = 1.25609176092381 | erot = 3.00437387242429 | epot = -12.6350886640707 | etot = -8.37462303072259 -499000 ekin = 1.2544843354408 | erot = 2.96925958209446 | epot = -12.598366948399 | etot = -8.37462303086377 -500000 ekin = 1.25592311954903 | erot = 2.92052794168189 | epot = -12.5510740922055 | etot = -8.37462303097461 -501000 ekin = 1.25866262015647 | erot = 2.8587785741333 | epot = -12.4920642252922 | etot = -8.37462303100237 -502000 ekin = 1.26101030104181 | erot = 2.78589367847505 | epot = -12.4215270104235 | etot = -8.37462303090669 -503000 ekin = 1.26168224098181 | erot = 2.7052568626583 | epot = -12.3415621343151 | etot = -8.37462303067498 -504000 ekin = 1.26006875272996 | erot = 2.62162663921943 | epot = -12.2563184222849 | etot = -8.37462303033546 -505000 ekin = 1.2563523063421 | erot = 2.54066101850803 | epot = -12.1716363547703 | etot = -8.37462302992017 -506000 ekin = 1.25147361583197 | erot = 2.46829686832148 | epot = -12.0943935136481 | etot = -8.37462302949467 -507000 ekin = 1.24695832252193 | erot = 2.40991559866156 | epot = -12.0314969503137 | etot = -8.37462302913025 -508000 ekin = 1.24460011261683 | erot = 2.3694758893424 | epot = -11.9886990309695 | etot = -8.37462302901031 -509000 ekin = 1.24584437164862 | erot = 2.34837731731248 | epot = -11.9688447179565 | etot = -8.37462302899536 -510000 ekin = 1.25172041123396 | erot = 2.34550382347595 | epot = -11.9718472639374 | etot = -8.37462302922752 -511000 ekin = 1.26248317250748 | erot = 2.35680066398032 | epot = -11.9939068661986 | etot = -8.37462302971083 -512000 ekin = 1.27739486770219 | erot = 2.37529788848956 | epot = -12.0273157865877 | etot = -8.37462303039595 -513000 ekin = 1.29481021505025 | erot = 2.39185405428493 | epot = -12.061287300512 | etot = -8.37462303117683 -514000 ekin = 1.31250889880472 | erot = 2.39651406027405 | epot = -12.083645990976 | etot = -8.37462303189726 -515000 ekin = 1.32825052581643 | erot = 2.38037057726039 | epot = -12.0832441354532 | etot = -8.37462303237634 -516000 ekin = 1.3404583142908 | erot = 2.3376026799452 | epot = -12.0526840266952 | etot = -8.37462303245918 -517000 ekin = 1.34883924084281 | erot = 2.2671315544432 | epot = -11.9905938273649 | etot = -8.37462303207885 -518000 ekin = 1.3546855068379 | erot = 2.17326127006699 | epot = -11.9025698082024 | etot = -8.37462303129752 -519000 ekin = 1.36067339624163 | erot = 2.06494828515272 | epot = -11.8002447116846 | etot = -8.37462303029026 -520000 ekin = 1.3701858282257 | erot = 1.95390329836254 | epot = -11.6987121558679 | etot = -8.37462302927969 -521000 ekin = 1.38639579380324 | erot = 1.85221057841152 | epot = -11.6132294006765 | etot = -8.37462302846172 -522000 ekin = 1.41141432490604 | erot = 1.77022445533572 | epot = -11.5562618082014 | etot = -8.37462302795968 -523000 ekin = 1.44572356453452 | erot = 1.71520045870416 | epot = -11.5355470510568 | etot = -8.37462302781811 -524000 ekin = 1.48798145409766 | erot = 1.6907300831751 | epot = -11.5533345652892 | etot = -8.37462302801646 -525000 ekin = 1.53517683781733 | erot = 1.69680296063377 | epot = -11.6066028269462 | etot = -8.3746230284951 -526000 ekin = 1.5830490011928 | erot = 1.7302550947518 | epot = -11.68792712512 | etot = -8.37462302917537 -527000 ekin = 1.62665879649449 | erot = 1.78540941263951 | epot = -11.7866912391066 | etot = -8.37462302997259 -528000 ekin = 1.66100783108942 | erot = 1.85480654803319 | epot = -11.8904374099231 | etot = -8.3746230308005 -529000 ekin = 1.68163863412941 | erot = 1.93001159413322 | epot = -11.9862732598311 | etot = -8.37462303156848 -530000 ekin = 1.68518623027426 | erot = 2.00252460865602 | epot = -12.0623338711119 | etot = -8.37462303218164 -531000 ekin = 1.6698605968592 | erot = 2.06478669655893 | epot = -12.1092703259684 | etot = -8.37462303255032 -532000 ekin = 1.63581226896465 | erot = 2.11116679184506 | epot = -12.1216020934215 | etot = -8.37462303261175 -533000 ekin = 1.58529617178035 | erot = 2.13870511838749 | epot = -12.0986243225214 | etot = -8.37462303235352 -534000 ekin = 1.52254564095872 | erot = 2.14737698822834 | epot = -12.0445456610118 | etot = -8.37462303182473 -535000 ekin = 1.45332420577088 | erot = 2.13977370493898 | epot = -11.9677209418336 | etot = -8.37462303112378 -536000 ekin = 1.3842169101196 | erot = 2.12031314070402 | epot = -11.8791530811934 | etot = -8.37462303036976 -537000 ekin = 1.32180342899991 | erot = 2.09425520394401 | epot = -11.7906816626149 | etot = -8.374623029671 -538000 ekin = 1.27187743420623 | erot = 2.06681107588936 | epot = -11.7133115392009 | etot = -8.37462302910533 -539000 ekin = 1.23883846279566 | erot = 2.04251647933663 | epot = -11.6559779708489 | etot = -8.37462302871661 -540000 ekin = 1.22531302703427 | erot = 2.02488499742776 | epot = -11.624821052984 | etot = -8.37462302852195 -541000 ekin = 1.23199882291178 | erot = 2.01625749304625 | epot = -11.622879344481 | etot = -8.37462302852296 -542000 ekin = 1.25769219451191 | erot = 2.0177488049515 | epot = -11.6500640281741 | etot = -8.37462302871065 -543000 ekin = 1.29945731407226 | erot = 2.02924170402388 | epot = -11.703322047163 | etot = -8.37462302906682 -544000 ekin = 1.35291512122218 | erot = 2.0494489332704 | epot = -11.7769870840481 | etot = -8.37462302955557 -545000 ekin = 1.41265384122181 | erot = 2.07611668223509 | epot = -11.8633935535748 | etot = -8.37462303011794 -546000 ekin = 1.47277167575213 | erot = 2.10644216880822 | epot = -11.95383687523 | etot = -8.37462303066964 -547000 ekin = 1.52754093319551 | erot = 2.13770468829054 | epot = -12.0398686526006 | etot = -8.37462303111457 -548000 ekin = 1.57213155238866 | erot = 2.1679823717642 | epot = -12.1147369555217 | etot = -8.37462303136882 -549000 ekin = 1.60327488859432 | erot = 2.1967176749586 | epot = -12.1746155949407 | etot = -8.37462303138776 -550000 ekin = 1.61972434376739 | erot = 2.22489244333346 | epot = -12.2192398182829 | etot = -8.37462303118202 -551000 ekin = 1.62240013870558 | erot = 2.25470593135916 | epot = -12.2517291008786 | etot = -8.37462303081384 -552000 ekin = 1.61417495562477 | erot = 2.28884205646897 | epot = -12.2776400424735 | etot = -8.37462303037974 -553000 ekin = 1.59932782091898 | erot = 2.32954987377534 | epot = -12.3035007246831 | etot = -8.37462302998878 -554000 ekin = 1.58274599066884 | erot = 2.37778817612988 | epot = -12.33515719654 | etot = -8.37462302974128 -555000 ekin = 1.56899856385218 | erot = 2.43263226771529 | epot = -12.3762538612776 | etot = -8.37462302971009 -556000 ekin = 1.56145041157792 | erot = 2.49106505511368 | epot = -12.4271384966165 | etot = -8.37462302992488 -557000 ekin = 1.56197837218861 | erot = 2.54829507223281 | epot = -12.4848964746449 | etot = -8.37462303022351 -558000 ekin = 1.57029216551905 | erot = 2.59810209182053 | epot = -12.543017288208 | etot = -8.37462303086841 -559000 ekin = 1.58339818320946 | erot = 2.63367391511157 | epot = -12.5916951298582 | etot = -8.37462303153717 -560000 ekin = 1.59712770481158 | erot = 2.64904697988329 | epot = -12.6207977168071 | etot = -8.37462303211223 -561000 ekin = 1.60698123343126 | erot = 2.64009683894197 | epot = -12.6217011048625 | etot = -8.37462303248925 -562000 ekin = 1.60896027782199 | erot = 2.6053270012055 | epot = -12.588910311621 | etot = -8.37462303259352 -563000 ekin = 1.60023696633128 | erot = 2.54649193869402 | epot = -12.5213519373447 | etot = -8.37462303231943 -564000 ekin = 1.5795577467728 | erot = 2.46891092806127 | epot = -12.4230917066634 | etot = -8.37462303182932 -565000 ekin = 1.54734561566717 | erot = 2.38031455632009 | epot = -12.302283203096 | etot = -8.37462303110877 -566000 ekin = 1.50554468554437 | erot = 2.29049479450161 | epot = -12.170662510294 | etot = -8.37462303024802 -567000 ekin = 1.45732250665205 | erot = 2.21025028826172 | epot = -12.0421958242637 | etot = -8.37462302934997 -568000 ekin = 1.40671207380879 | erot = 2.15003703753068 | epot = -11.9313721398985 | etot = -8.37462302855905 -569000 ekin = 1.35794157949176 | erot = 2.11775595086852 | epot = -11.8503205583493 | etot = -8.37462302798902 -570000 ekin = 1.31523212119345 | erot = 2.11799693943043 | epot = -11.8078520883711 | etot = -8.37462302774722 -571000 ekin = 1.28243871604929 | erot = 2.15081941192883 | epot = -11.8078811559412 | etot = -8.37462302796304 -572000 ekin = 1.26220633019189 | erot = 2.21027034249732 | epot = -11.8470997013802 | etot = -8.37462302869097 -573000 ekin = 1.25525341535048 | erot = 2.28456705415199 | epot = -11.9144434992935 | etot = -8.374623029791 -574000 ekin = 1.2603025143389 | erot = 2.35813787035989 | epot = -11.9930634156819 | etot = -8.37462303098308 -575000 ekin = 1.27473215622932 | erot = 2.41511328226624 | epot = -12.064468470432 | etot = -8.37462303193646 -576000 ekin = 1.29562562245725 | erot = 2.44294920216337 | epot = -12.1131978571111 | etot = -8.37462303249051 -577000 ekin = 1.32065634431921 | erot = 2.43438586779933 | epot = -12.1296652446954 | etot = -8.37462303257683 -578000 ekin = 1.34847271375288 | erot = 2.38804498568537 | epot = -12.1111407317135 | etot = -8.37462303227527 -579000 ekin = 1.3785964073131 | erot = 2.30759327889104 | epot = -12.060812717933 | etot = -8.37462303172883 -580000 ekin = 1.41115339286351 | erot = 2.20016188411942 | epot = -11.9859383079383 | etot = -8.37462303095539 -581000 ekin = 1.44674776515178 | erot = 2.07475133368168 | epot = -11.8961221291756 | etot = -8.37462303034215 -582000 ekin = 1.48514821810449 | erot = 1.94050793884983 | epot = -11.8002791867467 | etot = -8.37462302979241 -583000 ekin = 1.52576266955587 | erot = 1.80603709651234 | epot = -11.7064227954085 | etot = -8.37462302934027 -584000 ekin = 1.56772288057569 | erot = 1.67887072897741 | epot = -11.6212166385576 | etot = -8.37462302900448 -585000 ekin = 1.60990333959 | erot = 1.56509115871817 | epot = -11.5496175271052 | etot = -8.37462302879703 -586000 ekin = 1.65096359832004 | erot = 1.46905708282314 | epot = -11.4946437098701 | etot = -8.37462302872697 -587000 ekin = 1.68940411634557 | erot = 1.39319741551297 | epot = -11.4572245606556 | etot = -8.37462302879701 -588000 ekin = 1.72364170525932 | erot = 1.33790137442975 | epot = -11.4361661086859 | etot = -8.37462302899679 -589000 ekin = 1.75212209151179 | erot = 1.30158756259632 | epot = -11.4283326833844 | etot = -8.37462302927627 -590000 ekin = 1.77348776905955 | erot = 1.2811198772539 | epot = -11.4292306759299 | etot = -8.37462302961642 -591000 ekin = 1.78679652583224 | erot = 1.27228388602406 | epot = -11.4337034417706 | etot = -8.37462302991428 -592000 ekin = 1.79174476961382 | erot = 1.27074179820008 | epot = -11.4371095979219 | etot = -8.37462303010797 -593000 ekin = 1.78882244318645 | erot = 1.27295060806005 | epot = -11.4363960813917 | etot = -8.3746230301452 -594000 ekin = 1.77931578999229 | erot = 1.27682752829965 | epot = -11.4307663483189 | etot = -8.374623030027 -595000 ekin = 1.76511936071279 | erot = 1.28196044220562 | epot = -11.4217028327175 | etot = -8.37462302979909 -596000 ekin = 1.74839643259039 | erot = 1.28931412525829 | epot = -11.412333587381 | etot = -8.37462302953232 -597000 ekin = 1.73114837529092 | erot = 1.30076368908019 | epot = -11.4065350936671 | etot = -8.37462302929599 -598000 ekin = 1.71482586357245 | erot = 1.31808503745075 | epot = -11.4075339301725 | etot = -8.37462302914929 -599000 ekin = 1.70035612855445 | erot = 1.34256499055983 | epot = -11.4175441481819 | etot = -8.37462302906765 -600000 ekin = 1.68813838896107 | erot = 1.3751840399633 | epot = -11.4379454579702 | etot = -8.3746230290458 -601000 ekin = 1.67802155271563 | erot = 1.41656361607904 | epot = -11.469208197918 | etot = -8.37462302912332 -602000 ekin = 1.66952241262379 | erot = 1.46664302734519 | epot = -11.5107884691324 | etot = -8.37462302916341 -603000 ekin = 1.66207455080118 | erot = 1.52486246590567 | epot = -11.5615600459991 | etot = -8.37462302929223 -604000 ekin = 1.65429274424489 | erot = 1.590907167262 | epot = -11.6198229408988 | etot = -8.37462302939193 -605000 ekin = 1.64513458460594 | erot = 1.66451963176674 | epot = -11.6842772458416 | etot = -8.37462302946896 -606000 ekin = 1.63397297141739 | erot = 1.74533329764429 | epot = -11.7539292986215 | etot = -8.3746230295598 -607000 ekin = 1.62046446185725 | erot = 1.83246852419075 | epot = -11.8275560158114 | etot = -8.37462302976337 -608000 ekin = 1.60415138615021 | erot = 1.92384516554816 | epot = -11.9026195817845 | etot = -8.37462303008612 -609000 ekin = 1.58416607277142 | erot = 2.01562004721302 | epot = -11.9744091506944 | etot = -8.37462303070997 -610000 ekin = 1.55892234884514 | erot = 2.10126039812593 | epot = -12.0348057783745 | etot = -8.37462303140347 -611000 ekin = 1.52586403282323 | erot = 2.17351542350352 | epot = -12.0740024883755 | etot = -8.37462303204871 -612000 ekin = 1.48252796781533 | erot = 2.22604744671485 | epot = -12.0831984469306 | etot = -8.3746230324004 -613000 ekin = 1.42777710478014 | erot = 2.25549715886485 | epot = -12.0578972959114 | etot = -8.37462303226644 -614000 ekin = 1.36284302676326 | erot = 2.26309761368209 | epot = -12.0005636720647 | etot = -8.37462303161936 -615000 ekin = 1.29166682111759 | erot = 2.25472033316523 | epot = -11.9210101848976 | etot = -8.37462303061482 -616000 ekin = 1.22033159945968 | erot = 2.23929049960007 | epot = -11.8342451285656 | etot = -8.37462302950586 -617000 ekin = 1.155853130132 | erot = 2.22643765863302 | epot = -11.7569138172927 | etot = -8.37462302852767 -618000 ekin = 1.10482633868832 | erot = 2.22445549379434 | epot = -11.7039048603104 | etot = -8.37462302782777 -619000 ekin = 1.07233800596013 | erot = 2.23915844396385 | epot = -11.6861194773936 | etot = -8.37462302746959 -620000 ekin = 1.06133969548986 | erot = 2.2735659826601 | epot = -11.709528705565 | etot = -8.374623027415 -621000 ekin = 1.07250328126414 | erot = 2.3282764043813 | epot = -11.7754027132592 | etot = -8.37462302761374 -622000 ekin = 1.10448299244928 | erot = 2.40202886261559 | epot = -11.8811348830575 | etot = -8.37462302799263 -623000 ekin = 1.15443583440785 | erot = 2.49214268563966 | epot = -12.0212015485471 | etot = -8.3746230284996 -624000 ekin = 1.21858504498439 | erot = 2.59479979276155 | epot = -12.1880078668501 | etot = -8.37462302910414 -625000 ekin = 1.29260009293194 | erot = 2.70513041487597 | epot = -12.372353537652 | etot = -8.37462302984404 -626000 ekin = 1.37166908701498 | erot = 2.81669294847561 | epot = -12.5629850662662 | etot = -8.37462303077563 -627000 ekin = 1.45036408326115 | erot = 2.92095656625724 | epot = -12.7459436814224 | etot = -8.37462303190404 -628000 ekin = 1.52265779658279 | erot = 3.00738157699178 | epot = -12.904662406668 | etot = -8.3746230330934 -629000 ekin = 1.58251554245327 | erot = 3.06484099788163 | epot = -13.0219795743839 | etot = -8.37462303404902 -630000 ekin = 1.62514418880813 | erot = 3.0844301442172 | epot = -13.0841973674672 | etot = -8.3746230344419 -631000 ekin = 1.64954255051964 | erot = 3.06336922299513 | epot = -13.0875348072771 | etot = -8.37462303376236 -632000 ekin = 1.65761419154604 | erot = 3.00573585956961 | epot = -13.0379730840977 | etot = -8.37462303298202 -633000 ekin = 1.65174795094001 | erot = 2.91965232775879 | epot = -12.9460233106106 | etot = -8.37462303191181 -634000 ekin = 1.63566753657993 | erot = 2.81604656740854 | epot = -12.8263371348704 | etot = -8.3746230308819 -635000 ekin = 1.61303222684045 | erot = 2.70552755469892 | epot = -12.6931828116458 | etot = -8.37462303010643 -636000 ekin = 1.58646965556035 | erot = 2.59633719497752 | epot = -12.557429880173 | etot = -8.37462302963513 -637000 ekin = 1.55730595136457 | erot = 2.49385627804151 | epot = -12.4257852588047 | etot = -8.37462302939862 -638000 ekin = 1.52584911625177 | erot = 2.40123459740419 | epot = -12.3017067429393 | etot = -8.37462302928338 -639000 ekin = 1.49192497641212 | erot = 2.32043250457117 | epot = -12.1869805101701 | etot = -8.37462302918681 -640000 ekin = 1.45541378442365 | erot = 2.25314232064333 | epot = -12.0831791341094 | etot = -8.37462302904238 -641000 ekin = 1.41664919926913 | erot = 2.2013514425384 | epot = -11.9926236706313 | etot = -8.37462302882371 -642000 ekin = 1.37663135857175 | erot = 2.16751840710212 | epot = -11.9187727942127 | etot = -8.37462302853879 -643000 ekin = 1.33719601643019 | erot = 2.15436138730341 | epot = -11.8661804319142 | etot = -8.37462302818063 -644000 ekin = 1.30095460066691 | erot = 2.16433354913778 | epot = -11.8399111777142 | etot = -8.37462302790954 -645000 ekin = 1.270090477408 | erot = 2.19964354153053 | epot = -11.8443570466463 | etot = -8.37462302770774 -646000 ekin = 1.24673444984115 | erot = 2.26154821905305 | epot = -11.882905696536 | etot = -8.37462302764184 -647000 ekin = 1.23265873216139 | erot = 2.34972644270081 | epot = -11.957008202641 | etot = -8.37462302777877 -648000 ekin = 1.22854704148065 | erot = 2.4614698466935 | epot = -12.0646399168488 | etot = -8.37462302867466 -649000 ekin = 1.23123438276362 | erot = 2.58918284110115 | epot = -12.1950402535038 | etot = -8.37462302963905 -650000 ekin = 1.23733747326776 | erot = 2.72274115030041 | epot = -12.3347016542746 | etot = -8.37462303070646 -651000 ekin = 1.2428991851099 | erot = 2.85114575375234 | epot = -12.4686679705902 | etot = -8.37462303172792 -652000 ekin = 1.24424620799516 | erot = 2.96370857038795 | epot = -12.5825778108466 | etot = -8.37462303246346 -653000 ekin = 1.23918232849174 | erot = 3.05217314602512 | epot = -12.665978507275 | etot = -8.37462303275814 -654000 ekin = 1.22772861476404 | erot = 3.11212236728113 | epot = -12.7144740146641 | etot = -8.37462303261892 -655000 ekin = 1.21201905899399 | erot = 3.1430384085145 | epot = -12.7296804997016 | etot = -8.3746230321931 -656000 ekin = 1.19543744328571 | erot = 3.14720435564434 | epot = -12.7172648305997 | etot = -8.37462303166968 -657000 ekin = 1.18149305106273 | erot = 3.12826014301188 | epot = -12.6843762252587 | etot = -8.3746230311841 -658000 ekin = 1.1729637952008 | erot = 3.09016086422205 | epot = -12.637747690211 | etot = -8.37462303078811 -659000 ekin = 1.17154758057481 | erot = 3.03675236921285 | epot = -12.582922980262 | etot = -8.37462303047435 -660000 ekin = 1.17794903027434 | erot = 2.97172379744642 | epot = -12.5242958579403 | etot = -8.37462303021955 -661000 ekin = 1.19217998580428 | erot = 2.898584368483 | epot = -12.4653873843035 | etot = -8.37462303001626 -662000 ekin = 1.21385724617977 | erot = 2.82043608357939 | epot = -12.4089163596458 | etot = -8.37462302988661 -663000 ekin = 1.24235148672456 | erot = 2.73948706946805 | epot = -12.3564615860731 | etot = -8.37462302988048 -664000 ekin = 1.27672733537829 | erot = 2.65640555000379 | epot = -12.3077559154376 | etot = -8.37462303005548 -665000 ekin = 1.31551337033088 | erot = 2.56977925409993 | epot = -12.2599156548662 | etot = -8.37462303043538 -666000 ekin = 1.35644708325355 | erot = 2.47610382427411 | epot = -12.2071739384913 | etot = -8.37462303096362 -667000 ekin = 1.39640549572063 | erot = 2.37072397309945 | epot = -12.1417525003041 | etot = -8.37462303148401 -668000 ekin = 1.43167926156826 | erot = 2.24978389246305 | epot = -12.0560861858199 | etot = -8.37462303178861 -669000 ekin = 1.45855421041211 | erot = 2.11253877406498 | epot = -11.9457160162009 | etot = -8.3746230317238 -670000 ekin = 1.47395086469066 | erot = 1.96284004635377 | epot = -11.8114139423251 | etot = -8.37462303128072 -671000 ekin = 1.47583917683627 | erot = 1.80887360748426 | epot = -11.6593358149123 | etot = -8.37462303059173 -672000 ekin = 1.46334042173682 | erot = 1.66127989926104 | epot = -11.4992433508357 | etot = -8.37462302983784 -673000 ekin = 1.43665130212456 | erot = 1.53074210398851 | epot = -11.3420164352631 | etot = -8.37462302915007 -674000 ekin = 1.3969614764121 | erot = 1.4261974886013 | epot = -11.1977819935891 | etot = -8.37462302857573 -675000 ekin = 1.34640262234333 | erot = 1.35413730294469 | epot = -11.075162953394 | etot = -8.374623028106 -676000 ekin = 1.28794616800361 | erot = 1.31873912036149 | epot = -10.9813083160869 | etot = -8.37462302772179 -677000 ekin = 1.22516961115493 | erot = 1.32230065786344 | epot = -10.9220932964405 | etot = -8.37462302742212 -678000 ekin = 1.16189722958226 | erot = 1.36556643966811 | epot = -10.9020866964801 | etot = -8.37462302722973 -679000 ekin = 1.10179124612785 | erot = 1.44777635008968 | epot = -10.9241906234036 | etot = -8.37462302718603 -680000 ekin = 1.04797419612216 | erot = 1.56642353037421 | epot = -10.989020753842 | etot = -8.37462302734565 -681000 ekin = 1.00272279864156 | erot = 1.71676662170538 | epot = -11.0941124481172 | etot = -8.37462302777029 -682000 ekin = 0.967238825856131 | erot = 1.89118238727218 | epot = -11.2330442416449 | etot = -8.37462302851656 -683000 ekin = 0.941511133160557 | erot = 2.07856636781375 | epot = -11.3947005305733 | etot = -8.37462302959899 -684000 ekin = 0.924337639173406 | erot = 2.26421473260397 | epot = -11.5631754027141 | etot = -8.37462303093677 -685000 ekin = 0.913629093908953 | erot = 2.43080490187915 | epot = -11.7190570280991 | etot = -8.374623032311 -686000 ekin = 0.907072709288486 | erot = 2.56090643971714 | epot = -11.8426021824021 | etot = -8.37462303339643 -687000 ekin = 0.90302797100111 | erot = 2.64065323918482 | epot = -11.9183042440787 | etot = -8.37462303389278 -688000 ekin = 0.901265997346506 | erot = 2.66315283566604 | epot = -11.9390418666993 | etot = -8.37462303368679 -689000 ekin = 0.903127291409659 | erot = 2.6298992064109 | epot = -11.9076495307323 | etot = -8.37462303291179 -690000 ekin = 0.911003410961509 | erot = 2.54949432632235 | epot = -11.8351207691362 | etot = -8.37462303185234 -691000 ekin = 0.92748229019841 | erot = 2.43458909333036 | epot = -11.7366944143129 | etot = -8.37462303078414 -692000 ekin = 0.954629968085355 | erot = 2.29871133595474 | epot = -11.6279643338871 | etot = -8.37462302984701 -693000 ekin = 0.993689842548604 | erot = 2.15457291081388 | epot = -11.522885782578 | etot = -8.37462302921553 -694000 ekin = 1.04477766676284 | erot = 2.01224824489119 | epot = -11.4316489404321 | etot = -8.37462302877804 -695000 ekin = 1.1071797256016 | erot = 1.87902519875878 | epot = -11.3608279528676 | etot = -8.37462302850724 -696000 ekin = 1.17962988094298 | erot = 1.7602163643183 | epot = -11.3144692736445 | etot = -8.37462302838319 -697000 ekin = 1.26034508067033 | erot = 1.65939331949904 | epot = -11.2943614285653 | etot = -8.37462302839596 -698000 ekin = 1.34700634148091 | erot = 1.57856058320639 | epot = -11.3001899532268 | etot = -8.37462302853948 -699000 ekin = 1.43673776972452 | erot = 1.51829388886829 | epot = -11.3296546873971 | etot = -8.37462302880429 -700000 ekin = 1.52614311404747 | erot = 1.47788597100111 | epot = -11.3786521142188 | etot = -8.37462302917021 -701000 ekin = 1.6111317099382 | erot = 1.45542937143787 | epot = -11.4411841111664 | etot = -8.3746230297903 -702000 ekin = 1.68654811959795 | erot = 1.4477483513988 | epot = -11.5089195013103 | etot = -8.37462303031359 -703000 ekin = 1.74804176728567 | erot = 1.45137774866531 | epot = -11.5740425467016 | etot = -8.37462303075061 -704000 ekin = 1.79223863051376 | erot = 1.46326677106852 | epot = -11.630128432593 | etot = -8.37462303101073 -705000 ekin = 1.81722742450214 | erot = 1.48152907261392 | epot = -11.6733795281517 | etot = -8.37462303103566 -706000 ekin = 1.8228271741102 | erot = 1.50598222607878 | epot = -11.7034324310172 | etot = -8.37462303082821 -707000 ekin = 1.81047570465383 | erot = 1.5382073629024 | epot = -11.723306098011 | etot = -8.37462303045475 -708000 ekin = 1.78276828494797 | erot = 1.58105495038591 | epot = -11.7384462653531 | etot = -8.37462303001919 -709000 ekin = 1.74282721670359 | erot = 1.6377975230453 | epot = -11.7552477693668 | etot = -8.37462302961787 -710000 ekin = 1.69374790021906 | erot = 1.71129566719983 | epot = -11.7796665967243 | etot = -8.37462302930543 -711000 ekin = 1.63830193399443 | erot = 1.80347448194969 | epot = -11.8163994450335 | etot = -8.37462302908935 -712000 ekin = 1.57892460631277 | erot = 1.91516553832439 | epot = -11.8687131735894 | etot = -8.37462302895224 -713000 ekin = 1.51786752129919 | erot = 2.04613993381988 | epot = -11.9386304840018 | etot = -8.37462302888273 -714000 ekin = 1.45734042325113 | erot = 2.1950944154759 | epot = -12.0270578676213 | etot = -8.37462302889423 -715000 ekin = 1.39951776248606 | erot = 2.35946536295234 | epot = -12.1336061544591 | etot = -8.37462302902072 -716000 ekin = 1.34639246829252 | erot = 2.53511986598358 | epot = -12.2561353635767 | etot = -8.37462302930059 -717000 ekin = 1.29955432270148 | erot = 2.71613012099447 | epot = -12.3903074734244 | etot = -8.37462302972844 -718000 ekin = 1.25989829927604 | erot = 2.89465680807183 | epot = -12.5291781377308 | etot = -8.37462303038297 -719000 ekin = 1.22750607429995 | erot = 3.06092665842784 | epot = -12.6630557638775 | etot = -8.37462303114967 -720000 ekin = 1.20188187066595 | erot = 3.2042500666598 | epot = -12.780754969265 | etot = -8.37462303193927 -721000 ekin = 1.18220717983362 | erot = 3.31414882433049 | epot = -12.8709790367814 | etot = -8.37462303261729 -722000 ekin = 1.16774608427129 | erot = 3.38185582435828 | epot = -12.9242249417181 | etot = -8.37462303308856 -723000 ekin = 1.15807318397653 | erot = 3.40183188750504 | epot = -12.934528104623 | etot = -8.37462303314145 -724000 ekin = 1.15381445068158 | erot = 3.3732106752267 | epot = -12.9016481586627 | etot = -8.37462303275442 -725000 ekin = 1.15678266077602 | erot = 3.30036671004676 | epot = -12.8317724028186 | etot = -8.37462303199587 -726000 ekin = 1.16961978298356 | erot = 3.19222682083442 | epot = -12.7364696348445 | etot = -8.37462303102651 -727000 ekin = 1.19513165181247 | erot = 3.06063268781617 | epot = -12.6303873696651 | etot = -8.37462303003647 -728000 ekin = 1.23552066624224 | erot = 2.91835949412842 | epot = -12.5285031895556 | etot = -8.37462302918494 -729000 ekin = 1.29175272909064 | erot = 2.77740116858302 | epot = -12.4437769262429 | etot = -8.37462302856926 -730000 ekin = 1.36319675322324 | erot = 2.64784734354088 | epot = -12.3856671249866 | etot = -8.37462302822252 -731000 ekin = 1.44757535461521 | erot = 2.53736869400637 | epot = -12.3595670767507 | etot = -8.37462302812908 -732000 ekin = 1.54119076309941 | erot = 2.45114849793358 | epot = -12.3669622892793 | etot = -8.37462302824629 -733000 ekin = 1.63933166940199 | erot = 2.39205275840727 | epot = -12.4060074563349 | etot = -8.3746230285256 -734000 ekin = 1.7367368434987 | erot = 2.36087235950094 | epot = -12.4722322319253 | etot = -8.37462302892567 -735000 ekin = 1.82801503458571 | erot = 2.35655963726094 | epot = -12.5591977012579 | etot = -8.37462302941129 -736000 ekin = 1.90799093496242 | erot = 2.37647912513258 | epot = -12.65909309004 | etot = -8.37462302994503 -737000 ekin = 1.97201607373966 | erot = 2.41675065086897 | epot = -12.7633897550843 | etot = -8.37462303047565 -738000 ekin = 2.0163011118576 | erot = 2.47274745432255 | epot = -12.8636715971191 | etot = -8.37462303093893 -739000 ekin = 2.03827941487092 | erot = 2.53972508206351 | epot = -12.9526275282046 | etot = -8.37462303127016 -740000 ekin = 2.03693425612864 | erot = 2.61344505993329 | epot = -13.0250023474896 | etot = -8.3746230314277 -741000 ekin = 2.01297029115351 | erot = 2.69059268985713 | epot = -13.078186012423 | etot = -8.37462303141236 -742000 ekin = 1.96872639115115 | erot = 2.76882566302664 | epot = -13.1121750854493 | etot = -8.37462303127147 -743000 ekin = 1.90780895371444 | erot = 2.8464241150657 | epot = -13.1288560998646 | etot = -8.37462303108442 -744000 ekin = 1.83452633952109 | erot = 2.92167512844415 | epot = -13.1308244989009 | etot = -8.37462303093568 -745000 ekin = 1.75327142724934 | erot = 2.99223326161678 | epot = -13.1201277197533 | etot = -8.37462303088722 -746000 ekin = 1.66800377362302 | erot = 3.05470990305799 | epot = -13.0973367076402 | etot = -8.37462303095923 -747000 ekin = 1.58193446041807 | erot = 3.10466510764443 | epot = -13.0612225991782 | etot = -8.3746230311157 -748000 ekin = 1.49744243756476 | erot = 3.13708170332873 | epot = -13.0091471722143 | etot = -8.37462303132081 -749000 ekin = 1.4161800860188 | erot = 3.14699639332326 | epot = -12.9377995108341 | etot = -8.37462303149206 -750000 ekin = 1.33927892445964 | erot = 3.13031955346188 | epot = -12.844221509496 | etot = -8.37462303157452 -751000 ekin = 1.26755716712032 | erot = 3.08449081841548 | epot = -12.7266710170776 | etot = -8.37462303154178 -752000 ekin = 1.20166403421553 | erot = 3.00876367724781 | epot = -12.5850507428603 | etot = -8.37462303139698 -753000 ekin = 1.1421467145975 | erot = 2.90415589317439 | epot = -12.4209256389321 | etot = -8.37462303116017 -754000 ekin = 1.08946987137478 | erot = 2.77319742895343 | epot = -12.2372903311803 | etot = -8.37462303085211 -755000 ekin = 1.04403390693448 | erot = 2.61963797728167 | epot = -12.0382949147024 | etot = -8.37462303048624 -756000 ekin = 1.00622473319038 | erot = 2.44820898510083 | epot = -11.8290567483599 | etot = -8.37462303006865 -757000 ekin = 0.976498427351097 | erot = 2.26449263382633 | epot = -11.6156140907515 | etot = -8.37462302957403 -758000 ekin = 0.955485081992649 | erot = 2.07490082913346 | epot = -11.4050089401852 | etot = -8.37462302905913 -759000 ekin = 0.943970421441939 | erot = 1.88597944059412 | epot = -11.2045728906054 | etot = -8.37462302856937 -760000 ekin = 0.942943189128097 | erot = 1.70391676484962 | epot = -11.0214829820803 | etot = -8.37462302810259 -761000 ekin = 0.953636819965619 | erot = 1.53434362883715 | epot = -10.8626034764914 | etot = -8.37462302768859 -762000 ekin = 0.977439463713794 | erot = 1.38197793547176 | epot = -10.7340404265378 | etot = -8.37462302735223 -763000 ekin = 1.01575214957308 | erot = 1.25038414093978 | epot = -10.640759317625 | etot = -8.37462302711214 -764000 ekin = 1.06980632715139 | erot = 1.14186552721093 | epot = -10.5862948813436 | etot = -8.37462302698131 -765000 ekin = 1.14045321590852 | erot = 1.05746802222168 | epot = -10.5725442650993 | etot = -8.37462302696907 -766000 ekin = 1.22794009365096 | erot = 0.997057737110112 | epot = -10.5996208578433 | etot = -8.37462302708222 -767000 ekin = 1.33169356854961 | erot = 0.959438204818381 | epot = -10.665754800692 | etot = -8.37462302732404 -768000 ekin = 1.45013707581634 | erot = 0.942489485935241 | epot = -10.7672495894441 | etot = -8.37462302769252 -769000 ekin = 1.58057826605171 | erot = 0.943330765761272 | epot = -10.8985320599891 | etot = -8.37462302817614 -770000 ekin = 1.71920830316226 | erot = 0.958522817508915 | epot = -11.0523541494205 | etot = -8.37462302874933 -771000 ekin = 1.86125297318927 | erot = 0.984329269145668 | epot = -11.2202052717047 | etot = -8.37462302936978 -772000 ekin = 2.00111996073642 | erot = 1.0170654758504 | epot = -11.3928084666644 | etot = -8.37462303007761 -773000 ekin = 2.13179679392591 | erot = 1.05343215414772 | epot = -11.559851978766 | etot = -8.37462303069234 -774000 ekin = 2.24724323873705 | erot = 1.09038833141976 | epot = -11.7122546013449 | etot = -8.37462303118812 -775000 ekin = 2.34263593747183 | erot = 1.12564496608008 | epot = -11.8429039350733 | etot = -8.37462303152139 -776000 ekin = 2.41469510966369 | erot = 1.15782091195961 | epot = -11.9471390533002 | etot = -8.3746230316769 -777000 ekin = 2.46195564508498 | erot = 1.1863859033034 | epot = -12.02296458006 | etot = -8.3746230316716 -778000 ekin = 2.48471522536146 | erot = 1.21145891744711 | epot = -12.0707971743601 | etot = -8.37462303155156 -779000 ekin = 2.48466047806842 | erot = 1.23352809684235 | epot = -12.0928116062876 | etot = -8.3746230313768 -780000 ekin = 2.46428568676977 | erot = 1.25319615838812 | epot = -12.0921048763547 | etot = -8.37462303119683 -781000 ekin = 2.42632307022355 | erot = 1.27107093312904 | epot = -12.0720170343796 | etot = -8.37462303102705 -782000 ekin = 2.37341747179009 | erot = 1.28787882377656 | epot = -12.0359193264081 | etot = -8.37462303084147 -783000 ekin = 2.30815170371706 | erot = 1.304765317757 | epot = -11.9875400520679 | etot = -8.37462303059383 -784000 ekin = 2.23331824904156 | erot = 1.32360971124616 | epot = -11.9315509905402 | etot = -8.37462303025248 -785000 ekin = 2.15217666716759 | erot = 1.34711489735263 | epot = -11.8739145943547 | etot = -8.37462302983446 -786000 ekin = 2.0684394078577 | erot = 1.37850506799186 | epot = -11.8215675052584 | etot = -8.37462302940886 -787000 ekin = 1.98588342004422 | erot = 1.42085370631073 | epot = -11.7813601554306 | etot = -8.37462302907569 -788000 ekin = 1.90769396723903 | erot = 1.47626814207206 | epot = -11.7585851382337 | etot = -8.37462302892266 -789000 ekin = 1.83580155857728 | erot = 1.54525606071479 | epot = -11.7556806482808 | etot = -8.37462302898877 -790000 ekin = 1.77050160314964 | erot = 1.62653131912037 | epot = -11.7716559515175 | etot = -8.37462302924745 -791000 ekin = 1.71053482190253 | erot = 1.71731536906538 | epot = -11.8024732205882 | etot = -8.3746230296203 -792000 ekin = 1.65360852455089 | erot = 1.81397519201844 | epot = -11.8422067465796 | etot = -8.37462303001029 -793000 ekin = 1.59715988493823 | erot = 1.91273671404273 | epot = -11.884519629315 | etot = -8.37462303033406 -794000 ekin = 1.5390946976666 | erot = 2.01023412206034 | epot = -11.9239518502811 | etot = -8.37462303055418 -795000 ekin = 1.47829524950012 | erot = 2.10382941021462 | epot = -11.95674769034 | etot = -8.3746230306253 -796000 ekin = 1.41481662089854 | erot = 2.1919429199428 | epot = -11.9813825714088 | etot = -8.37462303056747 -797000 ekin = 1.34981308249921 | erot = 2.27401207106052 | epot = -11.9984481839615 | etot = -8.37462303040181 -798000 ekin = 1.28529636430919 | erot = 2.35042093010511 | epot = -12.0103403245725 | etot = -8.37462303015818 -799000 ekin = 1.22381948474171 | erot = 2.42233570221676 | epot = -12.0207782168121 | etot = -8.37462302985366 -800000 ekin = 1.16822785386523 | erot = 2.49143438534316 | epot = -12.0342852688226 | etot = -8.37462302961421 -801000 ekin = 1.12099278642861 | erot = 2.55928816630386 | epot = -12.0549039821722 | etot = -8.37462302943968 -802000 ekin = 1.08396505814378 | erot = 2.62689447862849 | epot = -12.0854825661029 | etot = -8.37462302933066 -803000 ekin = 1.05841636960107 | erot = 2.69442631110392 | epot = -12.1274657101638 | etot = -8.37462302945883 -804000 ekin = 1.04426779801405 | erot = 2.76024770980817 | epot = -12.1791385376392 | etot = -8.37462302981701 -805000 ekin = 1.03995925233873 | erot = 2.8204625423412 | epot = -12.2350448251523 | etot = -8.3746230304724 -806000 ekin = 1.04249639914782 | erot = 2.868971630615 | epot = -12.2860910609795 | etot = -8.3746230312167 -807000 ekin = 1.04816653315837 | erot = 2.89850351396173 | epot = -12.3212930790676 | etot = -8.3746230319475 -808000 ekin = 1.05329972431644 | erot = 2.90189493045809 | epot = -12.3298176872629 | etot = -8.37462303248839 -809000 ekin = 1.05511003117154 | erot = 2.87378175152195 | epot = -12.3035148153863 | etot = -8.3746230326928 -810000 ekin = 1.05231348649709 | erot = 2.81208782293652 | epot = -12.2390243420017 | etot = -8.37462303256804 -811000 ekin = 1.04519713626923 | erot = 2.71854122751894 | epot = -12.1383613957977 | etot = -8.37462303200948 -812000 ekin = 1.03556509620897 | erot = 2.59875418167699 | epot = -12.0089423091019 | etot = -8.37462303121595 -813000 ekin = 1.02617370806852 | erot = 2.46123250524441 | epot = -11.8620292436574 | etot = -8.3746230303445 -814000 ekin = 1.01993499389794 | erot = 2.31562695725887 | epot = -11.7101849806859 | etot = -8.37462302952905 -815000 ekin = 1.01938989930336 | erot = 2.17131439138434 | epot = -11.5653273195399 | etot = -8.37462302885224 -816000 ekin = 1.02641070194331 | erot = 2.03643247729264 | epot = -11.4374662075828 | etot = -8.37462302834684 -817000 ekin = 1.04210163740977 | erot = 1.91741411147667 | epot = -11.3341387768999 | etot = -8.37462302801341 -818000 ekin = 1.06685452879859 | erot = 1.81892194067948 | epot = -11.2603994972644 | etot = -8.37462302778628 -819000 ekin = 1.10044073145699 | erot = 1.74396570048553 | epot = -11.2190294597244 | etot = -8.3746230277819 -820000 ekin = 1.14169134058264 | erot = 1.69367065616339 | epot = -11.209985024664 | etot = -8.37462302791799 -821000 ekin = 1.1887755211563 | erot = 1.66758281677124 | epot = -11.2309813661147 | etot = -8.37462302818712 -822000 ekin = 1.2392739420278 | erot = 1.66378494635131 | epot = -11.2776819169559 | etot = -8.37462302857678 -823000 ekin = 1.29027861043584 | erot = 1.67905219550485 | epot = -11.3439538348895 | etot = -8.37462302894885 -824000 ekin = 1.33894050069248 | erot = 1.70948347746399 | epot = -11.4230470076203 | etot = -8.37462302946383 -825000 ekin = 1.38220508273142 | erot = 1.75044253330681 | epot = -11.5072706460139 | etot = -8.37462302997571 -826000 ekin = 1.41710294910242 | erot = 1.79708475166815 | epot = -11.5888107311813 | etot = -8.37462303041076 -827000 ekin = 1.44127249564998 | erot = 1.84518129446667 | epot = -11.6610768208149 | etot = -8.37462303069827 -828000 ekin = 1.4533540911642 | erot = 1.89178230950345 | epot = -11.7197594314557 | etot = -8.37462303078804 -829000 ekin = 1.45330184509344 | erot = 1.93565038631292 | epot = -11.7635752620719 | etot = -8.37462303066558 -830000 ekin = 1.44253588753392 | erot = 1.9773267325445 | epot = -11.794485650436 | etot = -8.37462303035756 -831000 ekin = 1.42321719807599 | erot = 2.01836652049872 | epot = -11.8162067486423 | etot = -8.37462303006758 -832000 ekin = 1.39798324787167 | erot = 2.06093497422121 | epot = -11.8335412516767 | etot = -8.37462302958378 -833000 ekin = 1.37122558103646 | erot = 2.10801499212972 | epot = -11.8538636023317 | etot = -8.37462302916548 -834000 ekin = 1.34739157346164 | erot = 2.16168408583633 | epot = -11.8836986881947 | etot = -8.37462302889676 -835000 ekin = 1.3303315913847 | erot = 2.22243990039652 | epot = -11.9273945206118 | etot = -8.37462302883053 -836000 ekin = 1.32279692350135 | erot = 2.28888168436647 | epot = -11.9863016368478 | etot = -8.37462302898003 -837000 ekin = 1.32614569945851 | erot = 2.35776552714792 | epot = -12.0585342559248 | etot = -8.37462302931836 -838000 ekin = 1.3403008431335 | erot = 2.42442328377153 | epot = -12.1393471566855 | etot = -8.37462302978049 -839000 ekin = 1.36395770572615 | erot = 2.48350186340868 | epot = -12.2220825994075 | etot = -8.3746230302727 -840000 ekin = 1.39499323416485 | erot = 2.52993036126728 | epot = -12.2995466261227 | etot = -8.3746230306906 -841000 ekin = 1.4309851952446 | erot = 2.5599379691765 | epot = -12.3655461953669 | etot = -8.37462303094583 -842000 ekin = 1.46971603973797 | erot = 2.57185321601873 | epot = -12.4161922867525 | etot = -8.37462303099583 -843000 ekin = 1.50953312203309 | erot = 2.56639824287622 | epot = -12.4505543957692 | etot = -8.3746230308599 -844000 ekin = 1.54948222757155 | erot = 2.54631968024369 | epot = -12.4704249384284 | etot = -8.37462303061319 -845000 ekin = 1.58921446589176 | erot = 2.51544731879033 | epot = -12.4792848150393 | etot = -8.3746230303572 -846000 ekin = 1.62874660073068 | erot = 2.47751369443259 | epot = -12.4808833253435 | etot = -8.3746230301802 -847000 ekin = 1.66818957254644 | erot = 2.43516936578449 | epot = -12.4779819684573 | etot = -8.37462303012634 -848000 ekin = 1.70754173431239 | erot = 2.38953851005097 | epot = -12.4717032745479 | etot = -8.37462303018459 -849000 ekin = 1.74659403306287 | erot = 2.34043091651518 | epot = -12.4616479798784 | etot = -8.37462303030032 -850000 ekin = 1.784943458661 | erot = 2.28706007038119 | epot = -12.4466265594454 | etot = -8.37462303040326 -851000 ekin = 1.82207688727397 | erot = 2.22891420063638 | epot = -12.4256141183509 | etot = -8.3746230304405 -852000 ekin = 1.85747606626724 | erot = 2.16637383866683 | epot = -12.3984729353335 | etot = -8.37462303039944 -853000 ekin = 1.8907050121563 | erot = 2.10080168939146 | epot = -12.3661297318568 | etot = -8.37462303030907 -854000 ekin = 1.92146598579636 | erot = 2.03409194239022 | epot = -12.3301809584089 | etot = -8.37462303022237 -855000 ekin = 1.94963553788698 | erot = 1.96792069995479 | epot = -12.2921792680294 | etot = -8.37462303018758 -856000 ekin = 1.97530408452552 | erot = 1.9030603456988 | epot = -12.2529874604489 | etot = -8.37462303022458 -857000 ekin = 1.99898235174316 | erot = 1.83954776717268 | epot = -12.2131531489779 | etot = -8.37462303006203 -858000 ekin = 2.02148966893765 | erot = 1.77712472342805 | epot = -12.1732374225859 | etot = -8.3746230302202 -859000 ekin = 2.0433298481464 | erot = 1.71372610059789 | epot = -12.1316789790802 | etot = -8.37462303033591 -860000 ekin = 2.06530510863403 | erot = 1.64761266618196 | epot = -12.0875408051656 | etot = -8.37462303034964 -861000 ekin = 2.0884404752292 | erot = 1.57839130430766 | epot = -12.0414548097738 | etot = -8.37462303023699 -862000 ekin = 2.1137299687717 | erot = 1.50759861505461 | epot = -11.9959516138508 | etot = -8.37462303002449 -863000 ekin = 2.14175193679679 | erot = 1.43866072802211 | epot = -11.955035694609 | etot = -8.37462302979006 -864000 ekin = 2.17225364143903 | erot = 1.37614575517373 | epot = -11.9230224262489 | etot = -8.37462302963615 -865000 ekin = 2.20389689304711 | erot = 1.32450432847425 | epot = -11.9030242511598 | etot = -8.37462302963841 -866000 ekin = 2.23438769160888 | erot = 1.2868132807046 | epot = -11.8958240017868 | etot = -8.37462302947332 -867000 ekin = 2.26151301831202 | erot = 1.26501341500185 | epot = -11.9011494630726 | etot = -8.37462302975869 -868000 ekin = 2.28295312633628 | erot = 1.2587638566978 | epot = -11.9163400130106 | etot = -8.37462302997656 -869000 ekin = 2.29713139087659 | erot = 1.26636363803292 | epot = -11.9381180589563 | etot = -8.37462303004681 -870000 ekin = 2.30388454565862 | erot = 1.28638972776915 | epot = -11.9648973034159 | etot = -8.37462302998818 -871000 ekin = 2.30409365411982 | erot = 1.31787621263386 | epot = -11.9965928971117 | etot = -8.37462303035806 -872000 ekin = 2.2971245530625 | erot = 1.35930276714358 | epot = -12.0310503505621 | etot = -8.374623030356 -873000 ekin = 2.28274539316158 | erot = 1.40846954678764 | epot = -12.0658379700601 | etot = -8.37462303011093 -874000 ekin = 2.26320703627556 | erot = 1.46277950106351 | epot = -12.1006095675627 | etot = -8.37462303022364 -875000 ekin = 2.24001634728649 | erot = 1.51889022328738 | epot = -12.1335296008657 | etot = -8.37462303029184 -876000 ekin = 2.21430830467283 | erot = 1.57348199615675 | epot = -12.1624133311096 | etot = -8.37462303028 -877000 ekin = 2.1877784857404 | erot = 1.62389020161488 | epot = -12.1862917175065 | etot = -8.37462303015121 -878000 ekin = 2.1625289754819 | erot = 1.6683879309108 | epot = -12.2055399364508 | etot = -8.37462303005814 -879000 ekin = 2.1404475372224 | erot = 1.70571411560852 | epot = -12.2207846828268 | etot = -8.37462302999592 -880000 ekin = 2.12277471003043 | erot = 1.73469967121919 | epot = -12.2320974112781 | etot = -8.3746230300285 -881000 ekin = 2.10977467360334 | erot = 1.75399371448932 | epot = -12.2383914182805 | etot = -8.37462303018783 -882000 ekin = 2.10050164322574 | erot = 1.76187019273892 | epot = -12.2369948664133 | etot = -8.37462303044862 -883000 ekin = 2.09290867712842 | erot = 1.75649694685339 | epot = -12.2240286547005 | etot = -8.37462303071871 -884000 ekin = 2.08433703645374 | erot = 1.73671500456543 | epot = -12.1956750719303 | etot = -8.37462303091116 -885000 ekin = 2.07202901572893 | erot = 1.70282592067543 | epot = -12.1494779673638 | etot = -8.37462303095943 -886000 ekin = 2.05378411491612 | erot = 1.65660476471994 | epot = -12.0850119102728 | etot = -8.37462303063678 -887000 ekin = 2.02874297420968 | erot = 1.60297409541394 | epot = -12.0063400996961 | etot = -8.37462303007244 -888000 ekin = 1.99720256583015 | erot = 1.54912086824504 | epot = -11.9209464635359 | etot = -8.37462302946075 -889000 ekin = 1.95913963735646 | erot = 1.50198702369115 | epot = -11.8357496899733 | etot = -8.37462302892571 -890000 ekin = 1.91617614841857 | erot = 1.46746689325793 | epot = -11.7582660702142 | etot = -8.37462302853769 -891000 ekin = 1.87023137415914 | erot = 1.44931992810307 | epot = -11.694174330589 | etot = -8.37462302832678 -892000 ekin = 1.82316218734495 | erot = 1.44889048228693 | epot = -11.6466756979052 | etot = -8.37462302827332 -893000 ekin = 1.77672781685354 | erot = 1.46538080246141 | epot = -11.6167316476455 | etot = -8.37462302833054 -894000 ekin = 1.73267401007763 | erot = 1.49642015526295 | epot = -11.6037171937795 | etot = -8.37462302843888 -895000 ekin = 1.69287615444225 | erot = 1.53876375542746 | epot = -11.6062629384097 | etot = -8.37462302854004 -896000 ekin = 1.65946528810639 | erot = 1.58897281258665 | epot = -11.6230611292894 | etot = -8.37462302859635 -897000 ekin = 1.63484229162876 | erot = 1.6438981268176 | epot = -11.6533634470444 | etot = -8.37462302859803 -898000 ekin = 1.62150447331762 | erot = 1.70104293751666 | epot = -11.6971704394071 | etot = -8.37462302857283 -899000 ekin = 1.62168394145959 | erot = 1.75850368946139 | epot = -11.754810659493 | etot = -8.37462302857204 -900000 ekin = 1.63689346403945 | erot = 1.81470313448007 | epot = -11.8262196271643 | etot = -8.37462302864476 -901000 ekin = 1.66753387742408 | erot = 1.86808611524248 | epot = -11.9102430214849 | etot = -8.37462302881832 -902000 ekin = 1.71269692237813 | erot = 1.91693084842045 | epot = -12.004250799887 | etot = -8.37462302908846 -903000 ekin = 1.77021838507979 | erot = 1.95934050990446 | epot = -12.1041819244131 | etot = -8.3746230294289 -904000 ekin = 1.83694819296289 | erot = 1.99341312084154 | epot = -12.2049843435883 | etot = -8.37462302978385 -905000 ekin = 1.9091464165372 | erot = 2.01754527647649 | epot = -12.3013147231267 | etot = -8.37462303011296 -906000 ekin = 1.98289589688102 | erot = 2.03065122058477 | epot = -12.3881701478513 | etot = -8.37462303038555 -907000 ekin = 2.05443877923773 | erot = 2.03228127523297 | epot = -12.4613430850611 | etot = -8.37462303059044 -908000 ekin = 2.12038320005751 | erot = 2.02259637574793 | epot = -12.517602606539 | etot = -8.37462303073359 -909000 ekin = 2.17777472065268 | erot = 2.0022386877673 | epot = -12.5546364392491 | etot = -8.37462303082911 -910000 ekin = 2.224072313876 | erot = 1.97218459089613 | epot = -12.5708799356598 | etot = -8.37462303088767 -911000 ekin = 2.25709881230455 | erot = 1.93367043925146 | epot = -12.565392282463 | etot = -8.37462303090695 -912000 ekin = 2.27504055965601 | erot = 1.88824345124061 | epot = -12.5379070417664 | etot = -8.37462303086978 -913000 ekin = 2.27654326616559 | erot = 1.83792322947571 | epot = -12.4890895263916 | etot = -8.37462303075026 -914000 ekin = 2.26395838707148 | erot = 1.78540897804183 | epot = -12.4239903947887 | etot = -8.37462302967534 -915000 ekin = 2.24045468912107 | erot = 1.73372810068477 | epot = -12.3488058193239 | etot = -8.37462302951804 -916000 ekin = 2.2052037020211 | erot = 1.68615105196725 | epot = -12.2659777833015 | etot = -8.37462302931314 -917000 ekin = 2.15800582906313 | erot = 1.64606783756059 | epot = -12.1786966957282 | etot = -8.37462302910446 -918000 ekin = 2.09921834411482 | erot = 1.61647797759965 | epot = -12.0903193506455 | etot = -8.37462302893102 -919000 ekin = 2.02966476142753 | erot = 1.59954949779934 | epot = -12.003837288032 | etot = -8.37462302880514 -920000 ekin = 1.95065755949545 | erot = 1.59642144855526 | epot = -11.9217020368486 | etot = -8.3746230287979 -921000 ekin = 1.8636620065119 | erot = 1.60750866079873 | epot = -11.8457936959436 | etot = -8.37462302863302 -922000 ekin = 1.77152243885553 | erot = 1.6326358742145 | epot = -11.7787813414979 | etot = -8.37462302842789 -923000 ekin = 1.67869484033335 | erot = 1.67111175334568 | epot = -11.7244296218677 | etot = -8.37462302818867 -924000 ekin = 1.59024537021618 | erot = 1.72202288864633 | epot = -11.6868912868269 | etot = -8.37462302796443 -925000 ekin = 1.51123937037396 | erot = 1.78411652411014 | epot = -11.66997892231 | etot = -8.37462302782593 -926000 ekin = 1.44599317765102 | erot = 1.85554834407384 | epot = -11.6761645495492 | etot = -8.37462302782433 -927000 ekin = 1.3975255860158 | erot = 1.93370661235733 | epot = -11.7058552263351 | etot = -8.37462302796194 -928000 ekin = 1.36763823809981 | erot = 2.01538770681073 | epot = -11.757648972801 | etot = -8.37462302789043 -929000 ekin = 1.36100399984301 | erot = 2.09737818238472 | epot = -11.8330052106942 | etot = -8.37462302846646 -930000 ekin = 1.35523134970657 | erot = 2.17722433884007 | epot = -11.9070787109349 | etot = -8.37462302238826 -931000 ekin = 1.39431469299154 | erot = 2.25435620438549 | epot = -12.0232939189505 | etot = -8.3746230215735 -932000 ekin = 1.49280866704974 | erot = 2.3184793019413 | epot = -12.1859109889649 | etot = -8.37462301997383 -933000 ekin = 1.58533340946677 | erot = 2.3649000005838 | epot = -12.3248564302756 | etot = -8.37462302022508 -934000 ekin = 1.68690712098785 | erot = 2.39298221169113 | epot = -12.454512355317 | etot = -8.37462302263803 -935000 ekin = 1.78473836463815 | erot = 2.39676204061141 | epot = -12.5561234284576 | etot = -8.37462302320806 -936000 ekin = 1.86987725386781 | erot = 2.37258693733634 | epot = -12.6170872147135 | etot = -8.37462302350935 -937000 ekin = 1.937204526385 | erot = 2.32043568374788 | epot = -12.6322632336416 | etot = -8.37462302350868 -938000 ekin = 1.98385208909957 | erot = 2.24266190733964 | epot = -12.601137019664 | etot = -8.37462302322478 -939000 ekin = 2.00910923706028 | erot = 2.14379034932744 | epot = -12.5275226091205 | etot = -8.37462302273282 -940000 ekin = 2.01395507290237 | erot = 2.02993348653878 | epot = -12.418511581536 | etot = -8.37462302209487 -941000 ekin = 2.00103743452198 | erot = 1.90808629517571 | epot = -12.2837467510763 | etot = -8.37462302137856 -942000 ekin = 1.97419824310806 | erot = 1.78546116622394 | epot = -12.1342824299748 | etot = -8.37462302064285 -943000 ekin = 1.93808318009578 | erot = 1.66892069893601 | epot = -11.9816268989658 | etot = -8.374623019934 -944000 ekin = 1.89777663358767 | erot = 1.56456198515281 | epot = -11.8369616380301 | etot = -8.37462301928966 -945000 ekin = 1.85843605736174 | erot = 1.4774221417758 | epot = -11.710481217882 | etot = -8.37462301874449 -946000 ekin = 1.82491092897083 | erot = 1.4112458813209 | epot = -11.6107798286275 | etot = -8.37462301833582 -947000 ekin = 1.80134221883796 | erot = 1.36826076777356 | epot = -11.544226004715 | etot = -8.37462301810345 -948000 ekin = 1.79076227753707 | erot = 1.34894522657524 | epot = -11.5143305221957 | etot = -8.3746230180834 -949000 ekin = 1.79475359820372 | erot = 1.35184135985125 | epot = -11.5212179763474 | etot = -8.37462301829246 -950000 ekin = 1.8132620204913 | erot = 1.37352812801278 | epot = -11.561413167216 | etot = -8.37462301871191 -951000 ekin = 1.84466122228562 | erot = 1.40888082073478 | epot = -11.6281650623007 | etot = -8.37462301928027 -952000 ekin = 1.88610598517568 | erot = 1.4516699630585 | epot = -11.7123989681361 | etot = -8.37462301990191 -953000 ekin = 1.93415626208246 | erot = 1.49545802208011 | epot = -11.8042373044917 | etot = -8.37462302032914 -954000 ekin = 1.98570845874446 | erot = 1.53486140750064 | epot = -11.8951928870162 | etot = -8.37462302077108 -955000 ekin = 2.03763688299778 | erot = 1.56575119866885 | epot = -11.9780111026948 | etot = -8.37462302102819 -956000 ekin = 2.08752516850072 | erot = 1.5857642599195 | epot = -12.0479124495162 | etot = -8.37462302109594 -957000 ekin = 2.13388693710405 | erot = 1.59443657078815 | epot = -12.1029465288985 | etot = -8.3746230210063 -958000 ekin = 2.1760313487577 | erot = 1.59291217741278 | epot = -12.1435665469837 | etot = -8.37462302081326 -959000 ekin = 2.21381255039136 | erot = 1.58343493106434 | epot = -12.1718705020318 | etot = -8.37462302057609 -960000 ekin = 2.24735101957822 | erot = 1.56876603527177 | epot = -12.1907400751985 | etot = -8.37462302034849 -961000 ekin = 2.27678636585073 | erot = 1.55164507323466 | epot = -12.2030544592556 | etot = -8.37462302017018 -962000 ekin = 2.3020881327992 | erot = 1.53436606871683 | epot = -12.2110772215842 | etot = -8.37462302006822 -963000 ekin = 2.32292955590092 | erot = 1.51849868398314 | epot = -12.2160512599392 | etot = -8.37462302005519 -964000 ekin = 2.33862421267352 | erot = 1.50476151876502 | epot = -12.2180087515682 | etot = -8.37462302012963 -965000 ekin = 2.34813222213387 | erot = 1.49304783092225 | epot = -12.2158030733308 | etot = -8.37462302027465 -966000 ekin = 2.35015122853473 | erot = 1.48260237418268 | epot = -12.2073766231751 | etot = -8.37462302045767 -967000 ekin = 2.34330726066535 | erot = 1.47233774696567 | epot = -12.1902680282632 | etot = -8.37462302063221 -968000 ekin = 2.32644504715905 | erot = 1.461252126306 | epot = -12.1623201942097 | etot = -8.37462302074463 -969000 ekin = 2.29898771920217 | erot = 1.44887277461907 | epot = -12.1224835145665 | etot = -8.37462302074525 -970000 ekin = 2.26130276214763 | erot = 1.43562016619329 | epot = -12.0715459489416 | etot = -8.3746230206007 -971000 ekin = 2.21499063336692 | erot = 1.42298879008823 | epot = -12.0126024437593 | etot = -8.3746230203042 -972000 ekin = 2.1630375745204 | erot = 1.41348472406784 | epot = -11.9511453183741 | etot = -8.37462301978584 -973000 ekin = 2.10950969273614 | erot = 1.41039391551626 | epot = -11.8945266278621 | etot = -8.37462301960967 -974000 ekin = 2.05703199419682 | erot = 1.41732503873327 | epot = -11.8489800520898 | etot = -8.37462301915975 -975000 ekin = 2.01010390574629 | erot = 1.43732066922395 | epot = -11.8220475937266 | etot = -8.37462301875631 -976000 ekin = 1.97340114977227 | erot = 1.47261385396416 | epot = -11.8206380222158 | etot = -8.37462301847941 -977000 ekin = 1.95082006444186 | erot = 1.52416835984572 | epot = -11.8496114426898 | etot = -8.37462301840224 -978000 ekin = 1.94472832270481 | erot = 1.59131019459445 | epot = -11.9106615358762 | etot = -8.37462301857695 -979000 ekin = 1.95538713570929 | erot = 1.67153495870638 | epot = -12.001545113434 | etot = -8.37462301901835 -980000 ekin = 1.98067723864866 | erot = 1.76051368575627 | epot = -12.1158139441912 | etot = -8.37462301978627 -981000 ekin = 2.01579571924553 | erot = 1.8520731953935 | epot = -12.2424919352903 | etot = -8.3746230206513 -982000 ekin = 2.05441082039146 | erot = 1.93952253756075 | epot = -12.3685563794549 | etot = -8.37462302150272 -983000 ekin = 2.08992138437964 | erot = 2.01671280308445 | epot = -12.4812572096481 | etot = -8.37462302218396 -984000 ekin = 2.11656909820778 | erot = 2.07910696967455 | epot = -12.5702990904592 | etot = -8.37462302257686 -985000 ekin = 2.13033501102014 | erot = 2.12464764346939 | epot = -12.6296056771267 | etot = -8.37462302263717 -986000 ekin = 2.12935596248208 | erot = 2.15403431725397 | epot = -12.6580133021399 | etot = -8.37462302240383 -987000 ekin = 2.11471923987423 | erot = 2.17104098415212 | epot = -12.6603832459131 | etot = -8.37462302188679 -988000 ekin = 2.09119735101019 | erot = 2.18228698931101 | epot = -12.6481073619503 | etot = -8.37462302162911 -989000 ekin = 2.06027968800895 | erot = 2.19075462083094 | epot = -12.6256573302391 | etot = -8.37462302139926 -990000 ekin = 2.02336255788368 | erot = 2.19843813688216 | epot = -12.5964237160071 | etot = -8.37462302124126 -991000 ekin = 1.98188077466274 | erot = 2.20638055719865 | epot = -12.5628843530195 | etot = -8.37462302115811 -992000 ekin = 1.93715749695425 | erot = 2.2147306976715 | epot = -12.5265112157503 | etot = -8.37462302112455 -993000 ekin = 1.89038311211131 | erot = 2.22307759878 | epot = -12.4880837319992 | etot = -8.37462302110785 -994000 ekin = 1.84266575140958 | erot = 2.23084817707666 | epot = -12.4481369495687 | etot = -8.37462302108249 -995000 ekin = 1.79502825849212 | erot = 2.23761065996978 | epot = -12.4072619394857 | etot = -8.37462302102385 -996000 ekin = 1.7486582035598 | erot = 2.2432323108615 | epot = -12.3665135353639 | etot = -8.37462302094261 -997000 ekin = 1.70508150016875 | erot = 2.24765365390294 | epot = -12.3273581749317 | etot = -8.37462302086002 -998000 ekin = 1.66588125244006 | erot = 2.25078611336184 | epot = -12.2912903865806 | etot = -8.37462302077868 -999000 ekin = 1.63259998370232 | erot = 2.25262768592883 | epot = -12.2598506903069 | etot = -8.37462302067575 -1000000 ekin = 1.60661879877941 | erot = 2.25373528619357 | epot = -12.234977105535 | etot = -8.37462302056203 - 1000000 0.1190088 -1.3493654 0.12586767 -1.0628358 0.00017426596 64000 -Loop time of 17.2417 on 1 procs for 1000000 steps with 10 atoms - -Performance: 50110.943 tau/day, 57998.777 timesteps/s -99.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 | 14.6 | 14.6 | 14.6 | 0.0 | 84.68 -Bond | 0.60678 | 0.60678 | 0.60678 | 0.0 | 3.52 -Neigh | 0.008055 | 0.008055 | 0.008055 | 0.0 | 0.05 -Comm | 0.18502 | 0.18502 | 0.18502 | 0.0 | 1.07 -Output | 0.09453 | 0.09453 | 0.09453 | 0.0 | 0.55 -Modify | 1.4778 | 1.4778 | 1.4778 | 0.0 | 8.57 -Other | | 0.2693 | | | 1.56 - -Nlocal: 10.0000 ave 10 max 10 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 0.00000 ave 0 max 0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 37.0000 ave 37 max 37 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 37 -Ave neighs/atom = 3.7000000 -Ave special neighs/atom = 3.6000000 -Neighbor list builds = 1000 -Dangerous builds = 0 - -write_data last_config.${number}.* nocoeff -write_data last_config.1.* nocoeff -System init for write_data ... -Total wall time: 0:00:17 diff --git a/examples/PACKAGES/cgdna/examples/oxDNA2/duplex1/log.27May21.duplex1.g++.4 b/examples/PACKAGES/cgdna/examples/oxDNA2/duplex1/log.27May21.duplex1.g++.4 deleted file mode 100644 index 0ab77a2d50..0000000000 --- a/examples/PACKAGES/cgdna/examples/oxDNA2/duplex1/log.27May21.duplex1.g++.4 +++ /dev/null @@ -1,1180 +0,0 @@ -LAMMPS (27 May 2021) -variable number equal 1 -variable ofreq equal 1000 -variable efreq equal 1000 -variable T equal 0.1 -variable rhos equal 0.2 - -units lj - -dimension 3 - -newton off - -boundary p p p - -atom_style hybrid bond ellipsoid oxdna -WARNING: Atom style hybrid defines both, per-type and per-atom masses; both must be set, but only per-atom masses will be used (../atom_vec_hybrid.cpp:157) -atom_modify sort 0 1.0 - -# Pair interactions require lists of neighbours to be calculated -neighbor 2.0 bin -neigh_modify every 1 delay 0 check yes - -read_data data.duplex1 -Reading data file ... - orthogonal box = (-20.000000 -20.000000 -20.000000) to (20.000000 20.000000 20.000000) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 10 atoms - reading velocities ... - 10 velocities - scanning bonds ... - 2 = max bonds/atom - 10 ellipsoids - reading bonds ... - 8 bonds -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 - 2 = max # of 1-3 neighbors - 2 = max # of 1-4 neighbors - 4 = max # of special neighbors - special bonds CPU = 0.001 seconds - read_data CPU = 0.005 seconds - -set atom * mass 3.1575 -Setting atom values ... - 10 settings made for mass - -group all type 1 4 -10 atoms in group all - -# oxDNA2 bond interactions - FENE backbone -bond_style oxdna2/fene -bond_coeff * 2.0 0.25 0.7564 -special_bonds lj 0 1 1 -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 1 1 - special bond factors coul: 0 0 0 - 2 = max # of 1-2 neighbors - 2 = max # of 1-3 neighbors - 2 = max # of 1-4 neighbors - 4 = max # of special neighbors - special bonds CPU = 0.000 seconds - -# oxDNA2 pair interactions -pair_style hybrid/overlay oxdna2/excv oxdna2/stk oxdna2/hbond oxdna2/xstk oxdna2/coaxstk oxdna2/dh -pair_coeff * * oxdna2/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32 -pair_coeff * * oxdna2/stk seqav ${T} 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 -pair_coeff * * oxdna2/stk seqav 0.1 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 -pair_coeff * * oxdna2/hbond seqav 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 1 4 oxdna2/hbond seqav 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 2 3 oxdna2/hbond seqav 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff * * oxdna2/xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68 -pair_coeff * * oxdna2/coaxstk 58.5 0.4 0.6 0.22 0.58 2.0 2.891592653589793 0.65 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 40.0 3.116592653589793 -pair_coeff * * oxdna2/dh ${T} ${rhos} 0.815 -pair_coeff * * oxdna2/dh 0.1 ${rhos} 0.815 -pair_coeff * * oxdna2/dh 0.1 0.2 0.815 - -# NVE ensemble -fix 1 all nve/asphere -#fix 2 all langevin ${T} ${T} 2.5 457145 angmom 10 - -timestep 1e-5 - -#comm_style tiled -fix 3 all balance 1000 1.03 shift xyz 10 1.03 -comm_modify cutoff 3.8 - -compute quat all property/atom quatw quati quatj quatk - -compute erot all erotate/asphere -compute ekin all ke -compute epot all pe -variable erot equal c_erot -variable ekin equal c_ekin -variable epot equal c_epot -variable etot equal c_erot+c_ekin+c_epot -fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes -fix 5 all print 1000 "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes - -dump out all custom ${ofreq} out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz -dump out all custom 1000 out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz -dump out all custom 1000 out.1.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz -dump_modify out sort id -dump_modify out format line "%d %d %d %22.15le %22.15le %22.15le %d %d %d %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le" - -run 1000000 -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 5.6389877 - ghost atom cutoff = 5.6389877 - binsize = 2.8194939, bins = 15 15 15 - 5 neighbor lists, perpetual/occasional/extra = 5 0 0 - (1) pair oxdna2/excv, perpetual - attributes: half, newton off - pair build: half/bin/newtoff - stencil: full/bin/3d - bin: standard - (2) pair oxdna2/hbond, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (3) pair oxdna2/xstk, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (4) pair oxdna2/coaxstk, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (5) pair oxdna2/dh, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none -WARNING: Communication cutoff adjusted to 5.638987723814632 (../comm.cpp:739) -0 ekin = 1.10853632272819 | erot = 2.81573649976629 | epot = -12.298895791142 | etot = -8.37462296864754 -Per MPI rank memory allocation (min/avg/max) = 9.444 | 9.445 | 9.446 Mbytes -Step Temp E_pair E_mol TotEng Press Volume - 0 0.082113802 -1.3370157 0.10712616 -1.1190359 -6.6192825e-05 64000 -1000 ekin = 1.07640077431763 | erot = 2.90684392233818 | epot = -12.357867665527 | etot = -8.37462296887121 -2000 ekin = 1.05363107794411 | erot = 2.99414178935848 | epot = -12.4223958364623 | etot = -8.37462296915967 -3000 ekin = 1.04083382823095 | erot = 3.07274362339768 | epot = -12.48820042109 | etot = -8.37462296946132 -4000 ekin = 1.03780093165925 | erot = 3.13815143503908 | epot = -12.550575336422 | etot = -8.37462296972371 -5000 ekin = 1.04371581655901 | erot = 3.18681185449848 | epot = -12.6051506409707 | etot = -8.37462296991322 -6000 ekin = 1.05738085799297 | erot = 3.21642353087471 | epot = -12.6484273588875 | etot = -8.37462297001986 -7000 ekin = 1.07739394884044 | erot = 3.22597832036687 | epot = -12.677995239256 | etot = -8.37462297004864 -8000 ekin = 1.10226637472089 | erot = 3.21563966301723 | epot = -12.6925290077504 | etot = -8.37462297001232 -9000 ekin = 1.13051291055329 | erot = 3.18656247631356 | epot = -12.6916983567815 | etot = -8.37462296991465 -10000 ekin = 1.16073704358066 | erot = 3.14076972913363 | epot = -12.6761297424775 | etot = -8.37462296976318 -11000 ekin = 1.19170449380508 | erot = 3.08098965164643 | epot = -12.6473171150236 | etot = -8.37462296957209 -12000 ekin = 1.22238189802732 | erot = 3.01040253468258 | epot = -12.6074074020775 | etot = -8.37462296936758 -13000 ekin = 1.2519269188149 | erot = 2.93230261872817 | epot = -12.5588525067181 | etot = -8.374622969175 -14000 ekin = 1.2796385761876 | erot = 2.84975156813376 | epot = -12.5040131133431 | etot = -8.37462296902175 -15000 ekin = 1.30489368750126 | erot = 2.76534813925011 | epot = -12.444864795638 | etot = -8.37462296888665 -16000 ekin = 1.32709913751465 | erot = 2.68118184785529 | epot = -12.3829039541517 | etot = -8.37462296878176 -17000 ekin = 1.34568132349847 | erot = 2.59861285690791 | epot = -12.3189171492215 | etot = -8.37462296881507 -18000 ekin = 1.36011712604128 | erot = 2.51802979978581 | epot = -12.2527698947085 | etot = -8.37462296888145 -19000 ekin = 1.37000559015644 | erot = 2.43889875259722 | epot = -12.1835273117078 | etot = -8.37462296895412 -20000 ekin = 1.37516683465218 | erot = 2.36049590954917 | epot = -12.1102857132061 | etot = -8.37462296900474 -21000 ekin = 1.37575335509461 | erot = 2.28221618930098 | epot = -12.0325925134033 | etot = -8.37462296900774 -22000 ekin = 1.37235802310953 | erot = 2.20383846967477 | epot = -11.9508194617284 | etot = -8.37462296894413 -23000 ekin = 1.36610326249354 | erot = 2.12570839352806 | epot = -11.8664346248252 | etot = -8.37462296880362 -24000 ekin = 1.35869525710696 | erot = 2.04881568638623 | epot = -11.7821339120794 | etot = -8.37462296858617 -25000 ekin = 1.352422551256 | erot = 1.97475968439783 | epot = -11.7018052039588 | etot = -8.37462296830496 -26000 ekin = 1.35007012440096 | erot = 1.90560954362746 | epot = -11.6303026360113 | etot = -8.3746229679829 -27000 ekin = 1.35474332970467 | erot = 1.843676291157 | epot = -11.5730425885209 | etot = -8.37462296765923 -28000 ekin = 1.36954369410754 | erot = 1.79121252282617 | epot = -11.5353791843193 | etot = -8.37462296738555 -29000 ekin = 1.39711560919902 | erot = 1.7500600904406 | epot = -11.5217986668611 | etot = -8.3746229672215 -30000 ekin = 1.43911092491007 | erot = 1.72127833748019 | epot = -11.5350122296154 | etot = -8.37462296722519 -31000 ekin = 1.49567630461196 | erot = 1.70480588615781 | epot = -11.5751051582054 | etot = -8.37462296743563 -32000 ekin = 1.56511285114185 | erot = 1.69923538983356 | epot = -11.6389712088326 | etot = -8.37462296785714 -33000 ekin = 1.64385110263248 | erot = 1.70198396265069 | epot = -11.7204580336836 | etot = -8.37462296840039 -34000 ekin = 1.72681002365036 | erot = 1.70946314344895 | epot = -11.8108961361852 | etot = -8.37462296908591 -35000 ekin = 1.80812188596384 | erot = 1.71712980816862 | epot = -11.8998746638723 | etot = -8.37462296973981 -36000 ekin = 1.88201893971561 | erot = 1.72067857993903 | epot = -11.9773204899105 | etot = -8.37462297025589 -37000 ekin = 1.94364733336837 | erot = 1.71680208569965 | epot = -12.0350723896308 | etot = -8.37462297056282 -38000 ekin = 1.98961498615656 | erot = 1.70370907929485 | epot = -12.0679470360927 | etot = -8.37462297064129 -39000 ekin = 2.01818359901114 | erot = 1.68126711282216 | epot = -12.0740736823535 | etot = -8.37462297052021 -40000 ekin = 2.02914332282583 | erot = 1.65077260628054 | epot = -12.0545388993641 | etot = -8.37462297025776 -41000 ekin = 2.0234910301812 | erot = 1.61448262351109 | epot = -12.012596623611 | etot = -8.37462296991876 -42000 ekin = 2.0030441255453 | erot = 1.57509121259574 | epot = -11.952758307699 | etot = -8.374622969558 -43000 ekin = 1.97008148028974 | erot = 1.53529510620986 | epot = -11.8799995557139 | etot = -8.37462296921426 -44000 ekin = 1.92705109571088 | erot = 1.49750726070826 | epot = -11.7991813253591 | etot = -8.37462296893995 -45000 ekin = 1.87634986385877 | erot = 1.46354390598901 | epot = -11.7145167385331 | etot = -8.37462296868532 -46000 ekin = 1.82016797429764 | erot = 1.43491031451216 | epot = -11.6297012572908 | etot = -8.37462296848104 -47000 ekin = 1.76039182009025 | erot = 1.41286016406996 | epot = -11.5478749524838 | etot = -8.37462296832359 -48000 ekin = 1.6985694927478 | erot = 1.39838217522419 | epot = -11.4715746361764 | etot = -8.37462296820438 -49000 ekin = 1.6359395498875 | erot = 1.39228918140571 | epot = -11.4028516994045 | etot = -8.37462296811134 -50000 ekin = 1.57351801537301 | erot = 1.39530041169486 | epot = -11.3434413950978 | etot = -8.37462296802991 -51000 ekin = 1.5122287247636 | erot = 1.40810650340932 | epot = -11.2949581961197 | etot = -8.37462296794678 -52000 ekin = 1.45305245526499 | erot = 1.43140550730915 | epot = -11.2590809304253 | etot = -8.37462296785115 -53000 ekin = 1.39716366086928 | erot = 1.4658956749352 | epot = -11.2376823035408 | etot = -8.37462296773631 -54000 ekin = 1.34602153837057 | erot = 1.51222067984174 | epot = -11.2328651858294 | etot = -8.37462296761708 -55000 ekin = 1.30138436197342 | erot = 1.57077970891803 | epot = -11.2467870384003 | etot = -8.37462296750883 -56000 ekin = 1.26522647192243 | erot = 1.64151101613064 | epot = -11.2813604554936 | etot = -8.37462296744053 -57000 ekin = 1.23956119808448 | erot = 1.72363092633018 | epot = -11.3378150918588 | etot = -8.37462296744415 -58000 ekin = 1.22620283906737 | erot = 1.81539828229221 | epot = -11.4162240889029 | etot = -8.37462296754335 -59000 ekin = 1.22652758768659 | erot = 1.91400381193531 | epot = -11.5151543673672 | etot = -8.37462296774531 -60000 ekin = 1.24129579501624 | erot = 2.01564970996725 | epot = -11.631568473021 | etot = -8.37462296803753 -61000 ekin = 1.27057003505322 | erot = 2.11581304358654 | epot = -11.7610060470471 | etot = -8.37462296840734 -62000 ekin = 1.31372115356093 | erot = 2.20955642503234 | epot = -11.8979005473869 | etot = -8.37462296879364 -63000 ekin = 1.36947667734261 | erot = 2.29224896410223 | epot = -12.0363486106152 | etot = -8.37462296917037 -64000 ekin = 1.43596184816366 | erot = 2.35998108781798 | epot = -12.1705659055151 | etot = -8.37462296953341 -65000 ekin = 1.5108757081497 | erot = 2.40947275989089 | epot = -12.2949714378729 | etot = -8.37462296983232 -66000 ekin = 1.59162978656335 | erot = 2.43872351537734 | epot = -12.4049762719859 | etot = -8.37462297004526 -67000 ekin = 1.6754634907457 | erot = 2.44726186999258 | epot = -12.4973483309005 | etot = -8.37462297016219 -68000 ekin = 1.75953613825201 | erot = 2.43621057967602 | epot = -12.5703696881156 | etot = -8.37462297018758 -69000 ekin = 1.84098201456563 | erot = 2.40815676459652 | epot = -12.6237617493037 | etot = -8.37462297014155 -70000 ekin = 1.91692810522248 | erot = 2.36682660300844 | epot = -12.6583776782867 | etot = -8.3746229700558 -71000 ekin = 1.98449380473018 | erot = 2.31661131420501 | epot = -12.6757280888525 | etot = -8.37462296991727 -72000 ekin = 2.0408128719349 | erot = 2.26215174487685 | epot = -12.6775875867425 | etot = -8.3746229699307 -73000 ekin = 2.08263291328337 | erot = 2.20743363864194 | epot = -12.6646895218716 | etot = -8.37462296994629 -74000 ekin = 2.10698584150827 | erot = 2.15544421118373 | epot = -12.6370530226944 | etot = -8.37462297000235 -75000 ekin = 2.11136525908713 | erot = 2.10816940675065 | epot = -12.5941576359035 | etot = -8.37462297006568 -76000 ekin = 2.09405873141398 | erot = 2.06669472630762 | epot = -12.535376427811 | etot = -8.37462297008944 -77000 ekin = 2.05455135347909 | erot = 2.0314793357564 | epot = -12.4606536592623 | etot = -8.37462297002681 -78000 ekin = 1.99386684227704 | erot = 2.00268171013297 | epot = -12.3711715222582 | etot = -8.37462296984821 -79000 ekin = 1.91474155283402 | erot = 1.98040758803635 | epot = -12.2697721104228 | etot = -8.37462296955245 -80000 ekin = 1.82155513477586 | erot = 1.96479734780205 | epot = -12.1609754517454 | etot = -8.37462296916753 -81000 ekin = 1.71999782481706 | erot = 1.95595086125324 | epot = -12.0505716548133 | etot = -8.37462296874304 -82000 ekin = 1.61651478139511 | erot = 1.95375810375241 | epot = -11.9448958534855 | etot = -8.37462296833793 -83000 ekin = 1.5176113475009 | erot = 1.9577277486061 | epot = -11.8499620641158 | etot = -8.37462296800878 -84000 ekin = 1.42912416355173 | erot = 1.96688313409173 | epot = -11.770630265442 | etot = -8.37462296779853 -85000 ekin = 1.355568955554 | erot = 1.97976517498656 | epot = -11.7099570982739 | etot = -8.37462296773334 -86000 ekin = 1.29966988136846 | erot = 1.99452593271672 | epot = -11.6688187819006 | etot = -8.37462296781538 -87000 ekin = 1.26213747948961 | erot = 2.00910214170761 | epot = -11.6458625892975 | etot = -8.37462296810029 -88000 ekin = 1.24134500163863 | erot = 2.02122064243446 | epot = -11.6371886124843 | etot = -8.3746229684112 -89000 ekin = 1.2342164494761 | erot = 2.02900530500575 | epot = -11.6378447232194 | etot = -8.37462296873752 -90000 ekin = 1.23690604243565 | erot = 2.03136372571823 | epot = -11.6428927371713 | etot = -8.37462296901745 -91000 ekin = 1.24531053049741 | erot = 2.02816188261827 | epot = -11.6480953823211 | etot = -8.37462296920539 -92000 ekin = 1.25564394227053 | erot = 2.02032873397318 | epot = -11.6505956455252 | etot = -8.37462296928144 -93000 ekin = 1.26484018817411 | erot = 2.00975004471074 | epot = -11.6492132021395 | etot = -8.37462296925471 -94000 ekin = 1.27076152680826 | erot = 1.99896253062535 | epot = -11.64434702658 | etot = -8.37462296914645 -95000 ekin = 1.27224696211167 | erot = 1.9907688927132 | epot = -11.637638823818 | etot = -8.37462296899316 -96000 ekin = 1.26905385172906 | erot = 1.98776908505786 | epot = -11.6314459056159 | etot = -8.374622968829 -97000 ekin = 1.26173398384339 | erot = 1.99196117307471 | epot = -11.6283181256016 | etot = -8.37462296868348 -98000 ekin = 1.25146122958138 | erot = 2.00445279488987 | epot = -11.6305369930525 | etot = -8.37462296858129 -99000 ekin = 1.23981039935407 | erot = 2.02529911459859 | epot = -11.6397324824948 | etot = -8.3746229685421 -100000 ekin = 1.22848889431686 | erot = 2.05346079777931 | epot = -11.6565726606774 | etot = -8.37462296858124 -101000 ekin = 1.21904296342428 | erot = 2.08686922543158 | epot = -11.6805351575621 | etot = -8.37462296870625 -102000 ekin = 1.21258708443144 | erot = 2.12259257652692 | epot = -11.709802629871 | etot = -8.37462296891261 -103000 ekin = 1.2096213812761 | erot = 2.15710417867581 | epot = -11.7413485291304 | etot = -8.37462296917851 -104000 ekin = 1.20999435064748 | erot = 2.18665201736524 | epot = -11.7712693374783 | etot = -8.37462296946559 -105000 ekin = 1.21303379771945 | erot = 2.20771017012383 | epot = -11.7953669375664 | etot = -8.37462296972313 -106000 ekin = 1.21781939160535 | erot = 2.21746426398215 | epot = -11.8099066254851 | etot = -8.37462296989764 -107000 ekin = 1.22352668485505 | erot = 2.21425769941215 | epot = -11.8124073542124 | etot = -8.37462296994524 -108000 ekin = 1.22975371616698 | erot = 2.19791821277325 | epot = -11.8022948987809 | etot = -8.37462296984067 -109000 ekin = 1.23675326669525 | erot = 2.16990174522994 | epot = -11.7812779815079 | etot = -8.37462296958276 -110000 ekin = 1.24552660594288 | erot = 2.13322593016593 | epot = -11.7533755053019 | etot = -8.37462296919314 -111000 ekin = 1.2577699492817 | erot = 2.09220325002883 | epot = -11.7245961680233 | etot = -8.37462296871273 -112000 ekin = 1.27568807280454 | erot = 2.0520095134221 | epot = -11.7023205544236 | etot = -8.37462296819701 -113000 ekin = 1.30169744977547 | erot = 2.01813224570276 | epot = -11.6944526631895 | etot = -8.37462296771131 -114000 ekin = 1.3380425185894 | erot = 1.99574344242898 | epot = -11.708408928345 | etot = -8.37462296732664 -115000 ekin = 1.38647431929533 | erot = 1.9890358144779 | epot = -11.7501331008335 | etot = -8.3746229670603 -116000 ekin = 1.44876446583391 | erot = 2.00047074173031 | epot = -11.8238581746951 | etot = -8.37462296713089 -117000 ekin = 1.52378581535556 | erot = 2.03044339408199 | epot = -11.928852176889 | etot = -8.37462296745148 -118000 ekin = 1.60840594184184 | erot = 2.07707436259007 | epot = -12.0601032724458 | etot = -8.37462296801391 -119000 ekin = 1.69804077960487 | erot = 2.13624566567617 | epot = -12.2089094140534 | etot = -8.37462296877235 -120000 ekin = 1.78696647862279 | erot = 2.20199105617477 | epot = -12.3635805044446 | etot = -8.37462296964704 -121000 ekin = 1.86883508536304 | erot = 2.26718837407833 | epot = -12.5106464299772 | etot = -8.3746229705358 -122000 ekin = 1.93731263285346 | erot = 2.3244608703495 | epot = -12.6363964745344 | etot = -8.37462297133144 -123000 ekin = 1.98673587945774 | erot = 2.36714489985499 | epot = -12.7285037512514 | etot = -8.37462297193864 -124000 ekin = 2.01268857483472 | erot = 2.39015976226559 | epot = -12.7774713093897 | etot = -8.37462297228942 -125000 ekin = 2.01242153120607 | erot = 2.39062925356786 | epot = -12.7776737571266 | etot = -8.37462297235268 -126000 ekin = 1.98507290328065 | erot = 2.36815351492862 | epot = -12.7278493903457 | etot = -8.37462297213648 -127000 ekin = 1.93167931643402 | erot = 2.32470375634598 | epot = -12.6310060444627 | etot = -8.3746229716827 -128000 ekin = 1.8550007691687 | erot = 2.26419178968032 | epot = -12.4938155299045 | etot = -8.37462297105549 -129000 ekin = 1.75920795598131 | erot = 2.19182812292597 | epot = -12.3256590492356 | etot = -8.37462297032836 -130000 ekin = 1.64949415840181 | erot = 2.11340935726336 | epot = -12.1375264852356 | etot = -8.37462296957046 -131000 ekin = 1.53167143066913 | erot = 2.03466319553997 | epot = -11.9409575950483 | etot = -8.3746229688392 -132000 ekin = 1.41179399813977 | erot = 1.96073697301923 | epot = -11.7471539393354 | etot = -8.37462296817641 -133000 ekin = 1.29582771791042 | erot = 1.89586175533303 | epot = -11.5663124408536 | etot = -8.37462296761014 -134000 ekin = 1.18933366770487 | erot = 1.84313053331017 | epot = -11.4070871682765 | etot = -8.37462296726146 -135000 ekin = 1.09698845763052 | erot = 1.80418246558945 | epot = -11.2757938901605 | etot = -8.37462296694051 -136000 ekin = 1.02270904454081 | erot = 1.77989195852201 | epot = -11.1772239698142 | etot = -8.37462296675135 -137000 ekin = 0.969402888595107 | erot = 1.77022137974247 | epot = -11.1142472350355 | etot = -8.37462296669788 -138000 ekin = 0.938766242876396 | erot = 1.77423425797198 | epot = -11.0876234676258 | etot = -8.37462296677741 -139000 ekin = 0.931209536918622 | erot = 1.79022284403572 | epot = -11.0960553479303 | etot = -8.374622966976 -140000 ekin = 0.945902360873774 | erot = 1.81588277986729 | epot = -11.1364081080077 | etot = -8.37462296726662 -141000 ekin = 0.980951010695175 | erot = 1.8485455285403 | epot = -11.204119506847 | etot = -8.37462296761153 -142000 ekin = 1.03368854660433 | erot = 1.88546172258917 | epot = -11.2937732371602 | etot = -8.37462296796669 -143000 ekin = 1.10102464558806 | erot = 1.92410215903287 | epot = -11.3997497729132 | etot = -8.37462296829229 -144000 ekin = 1.17978371180479 | erot = 1.96241851789346 | epot = -11.5168251982596 | etot = -8.37462296856134 -145000 ekin = 1.26696389973282 | erot = 1.99907135517271 | epot = -11.6406582236463 | etot = -8.37462296874076 -146000 ekin = 1.35987698631737 | erot = 2.03338468070426 | epot = -11.7678846359152 | etot = -8.37462296889355 -147000 ekin = 1.45616095202992 | erot = 2.06502561999169 | epot = -11.8958095410393 | etot = -8.37462296901766 -148000 ekin = 1.55369685491102 | erot = 2.09388144715349 | epot = -12.0222012712078 | etot = -8.37462296914327 -149000 ekin = 1.65047924324446 | erot = 2.119766716203 | epot = -12.1448689287441 | etot = -8.3746229692966 -150000 ekin = 1.7444879162985 | erot = 2.14217867903534 | epot = -12.2612895648265 | etot = -8.3746229694927 -151000 ekin = 1.83359650490146 | erot = 2.16016451670422 | epot = -12.3683839913409 | etot = -8.37462296973527 -152000 ekin = 1.91553611044662 | erot = 2.17231614291454 | epot = -12.4624752233743 | etot = -8.3746229700131 -153000 ekin = 1.98791755611535 | erot = 2.176897167127 | epot = -12.5394376935491 | etot = -8.37462297030674 -154000 ekin = 2.04830722999038 | erot = 2.17205709329779 | epot = -12.5949872938791 | etot = -8.37462297059092 -155000 ekin = 2.0943477814066 | erot = 2.1560836321465 | epot = -12.6250543843915 | etot = -8.37462297083838 -156000 ekin = 2.12391577783684 | erot = 2.12765251039836 | epot = -12.6261912592573 | etot = -8.37462297102206 -157000 ekin = 2.13531004697523 | erot = 2.08604574913212 | epot = -12.5959787672234 | etot = -8.37462297111609 -158000 ekin = 2.12746223168569 | erot = 2.0313282063183 | epot = -12.5334134091002 | etot = -8.37462297109625 -159000 ekin = 2.10015103339182 | erot = 1.96448478928966 | epot = -12.4392587936247 | etot = -8.3746229709432 -160000 ekin = 2.0541841606365 | erot = 1.88751839461899 | epot = -12.3163255258998 | etot = -8.37462297064433 -161000 ekin = 1.9914954137127 | erot = 1.80350457154603 | epot = -12.1696229554607 | etot = -8.37462297020201 -162000 ekin = 1.91510266104687 | erot = 1.71656915682321 | epot = -12.0062947875077 | etot = -8.37462296963766 -163000 ekin = 1.82889680262222 | erot = 1.63175766791017 | epot = -11.8352774395237 | etot = -8.37462296899133 -164000 ekin = 1.73727850175361 | erot = 1.55477450557376 | epot = -11.6666759756467 | etot = -8.37462296831929 -165000 ekin = 1.64470875439873 | erot = 1.4915924102951 | epot = -11.5109241323765 | etot = -8.37462296768268 -166000 ekin = 1.55526715399606 | erot = 1.44796523953972 | epot = -11.3778553606755 | etot = -8.3746229671397 -167000 ekin = 1.47230568197345 | erot = 1.42890789301241 | epot = -11.2758365417204 | etot = -8.37462296673456 -168000 ekin = 1.39825202215325 | erot = 1.43822523215975 | epot = -11.2111002208052 | etot = -8.37462296649218 -169000 ekin = 1.33457196190141 | erot = 1.47816740254075 | epot = -11.1873623308595 | etot = -8.37462296641738 -170000 ekin = 1.28186404086305 | erot = 1.54925939136695 | epot = -11.2057463987275 | etot = -8.37462296649748 -171000 ekin = 1.24010532837043 | erot = 1.650314933199 | epot = -11.2650432281454 | etot = -8.37462296657596 -172000 ekin = 1.20973432363906 | erot = 1.77850842430629 | epot = -11.3628657149172 | etot = -8.37462296697185 -173000 ekin = 1.18958106737836 | erot = 1.92939472681623 | epot = -11.4935987616336 | etot = -8.37462296743901 -174000 ekin = 1.17780375666799 | erot = 2.09752621801763 | epot = -11.6499529426377 | etot = -8.37462296795207 -175000 ekin = 1.17250284106932 | erot = 2.27682305293097 | epot = -11.823948862491 | etot = -8.37462296849073 -176000 ekin = 1.1717731341751 | erot = 2.46086230703718 | epot = -12.0072584102492 | etot = -8.37462296903695 -177000 ekin = 1.17372471418892 | erot = 2.64315812275411 | epot = -12.1915058065145 | etot = -8.37462296957145 -178000 ekin = 1.1764972581607 | erot = 2.8174537859961 | epot = -12.3685740142281 | etot = -8.37462297007134 -179000 ekin = 1.17828959842936 | erot = 2.9780388566517 | epot = -12.5309514255911 | etot = -8.37462297051003 -180000 ekin = 1.17741681901011 | erot = 3.12008209304928 | epot = -12.6721218829193 | etot = -8.37462297085987 -181000 ekin = 1.17239479280091 | erot = 3.2399417749801 | epot = -12.7869595388788 | etot = -8.3746229710978 -182000 ekin = 1.16204161674191 | erot = 3.33528346670204 | epot = -12.871948054927 | etot = -8.37462297148309 -183000 ekin = 1.14544700201189 | erot = 3.40346825728322 | epot = -12.9235382308538 | etot = -8.3746229715587 -184000 ekin = 1.12187454429755 | erot = 3.44382690739235 | epot = -12.9403244231955 | etot = -8.37462297150555 -185000 ekin = 1.09113819766571 | erot = 3.45752421108363 | epot = -12.9232853800841 | etot = -8.37462297133478 -186000 ekin = 1.0537517763756 | erot = 3.44681260248516 | epot = -12.875187349924 | etot = -8.37462297106326 -187000 ekin = 1.01100426926452 | erot = 3.41470705189681 | epot = -12.8003342918715 | etot = -8.3746229707102 -188000 ekin = 0.964980950088499 | erot = 3.36467106156843 | epot = -12.7042749819531 | etot = -8.37462297029615 -189000 ekin = 0.918502012520883 | erot = 3.30025095733249 | epot = -12.5933759397279 | etot = -8.37462296987451 -190000 ekin = 0.874955375625479 | erot = 3.22483721777176 | epot = -12.4744155628188 | etot = -8.37462296942152 -191000 ekin = 0.838012694189673 | erot = 3.14179385100208 | epot = -12.3544295141826 | etot = -8.37462296899079 -192000 ekin = 0.811264586710657 | erot = 3.05421641257372 | epot = -12.2401039678971 | etot = -8.37462296861268 -193000 ekin = 0.797833231457084 | erot = 2.96485918306321 | epot = -12.1373153828317 | etot = -8.37462296831145 -194000 ekin = 0.800032366300235 | erot = 2.87610608236619 | epot = -12.050761416768 | etot = -8.37462296810153 -195000 ekin = 0.819137512919436 | erot = 2.78998115247787 | epot = -11.9837416333826 | etot = -8.37462296798526 -196000 ekin = 0.855301818718971 | erot = 2.70818765526185 | epot = -11.9381124419351 | etot = -8.37462296795428 -197000 ekin = 0.907617485284309 | erot = 2.63215574475477 | epot = -11.9143961980333 | etot = -8.37462296799419 -198000 ekin = 0.97429151758394 | erot = 2.56307623018431 | epot = -11.9119907158566 | etot = -8.37462296808834 -199000 ekin = 1.05288651878741 | erot = 2.50190471363149 | epot = -11.9294142006404 | etot = -8.37462296822155 -200000 ekin = 1.14057530731199 | erot = 2.4493327408956 | epot = -11.9645310165904 | etot = -8.37462296838278 -201000 ekin = 1.2343694565576 | erot = 2.4057357740471 | epot = -12.014728199169 | etot = -8.37462296856431 -202000 ekin = 1.33129982084458 | erot = 2.37111655194159 | epot = -12.077039341547 | etot = -8.37462296876083 -203000 ekin = 1.42854451444423 | erot = 2.34506402190562 | epot = -12.1482315053183 | etot = -8.3746229689685 -204000 ekin = 1.52351160571851 | erot = 2.3267429043425 | epot = -12.2248774792434 | etot = -8.37462296918236 -205000 ekin = 1.6138883706006 | erot = 2.31491995505448 | epot = -12.303431295052 | etot = -8.37462296939692 -206000 ekin = 1.69766775260787 | erot = 2.30802500400437 | epot = -12.3803157262179 | etot = -8.37462296960567 -207000 ekin = 1.77315874687833 | erot = 2.30423562983859 | epot = -12.4520173465211 | etot = -8.37462296980422 -208000 ekin = 1.83898325555911 | erot = 2.30156289475817 | epot = -12.5151691203028 | etot = -8.37462296998553 -209000 ekin = 1.89406065254644 | erot = 2.29797193080324 | epot = -12.5666555534947 | etot = -8.37462297014506 -210000 ekin = 1.93758171355935 | erot = 2.29149245614518 | epot = -12.6036971399829 | etot = -8.3746229702784 -211000 ekin = 1.96897499678785 | erot = 2.28032999988847 | epot = -12.6239279670578 | etot = -8.37462297038152 -212000 ekin = 1.98787057423925 | erot = 2.26297816329926 | epot = -12.6254717079893 | etot = -8.3746229704508 -213000 ekin = 1.99406615310611 | erot = 2.2383484772953 | epot = -12.6070376008827 | etot = -8.37462297048134 -214000 ekin = 1.98749971048289 | erot = 2.20579329600811 | epot = -12.5679159769723 | etot = -8.37462297048125 -215000 ekin = 1.96823269345663 | erot = 2.16512069835577 | epot = -12.5079763622595 | etot = -8.37462297044713 -216000 ekin = 1.93645036858726 | erot = 2.11663233289577 | epot = -12.4277056718661 | etot = -8.37462297038307 -217000 ekin = 1.89249565101069 | erot = 2.06105227365545 | epot = -12.328170894956 | etot = -8.37462297028983 -218000 ekin = 1.83696296100899 | erot = 1.99944931813363 | epot = -12.2110352493001 | etot = -8.37462297015747 -219000 ekin = 1.77087997199934 | erot = 1.93321768349765 | epot = -12.0787206254576 | etot = -8.37462296996059 -220000 ekin = 1.69598414200763 | erot = 1.86416918368629 | epot = -11.9347762953549 | etot = -8.37462296966094 -221000 ekin = 1.61504938765036 | erot = 1.79472971030281 | epot = -11.7844020671756 | etot = -8.37462296922238 -222000 ekin = 1.53214607791949 | erot = 1.72813764737019 | epot = -11.6349066939257 | etot = -8.37462296863602 -223000 ekin = 1.45266240883104 | erot = 1.66846349300161 | epot = -11.4957488697767 | etot = -8.37462296794408 -224000 ekin = 1.38293292450099 | erot = 1.62027927221305 | epot = -11.3778351639604 | etot = -8.37462296724631 -225000 ekin = 1.32944348952736 | erot = 1.58793473617187 | epot = -11.2920011923819 | etot = -8.37462296668269 -226000 ekin = 1.2977735014098 | erot = 1.57457480049554 | epot = -11.2469712682751 | etot = -8.37462296636981 -227000 ekin = 1.29158711545474 | erot = 1.58136206120168 | epot = -11.247572143041 | etot = -8.37462296638459 -228000 ekin = 1.31199160550476 | erot = 1.60705168356094 | epot = -11.2936662557528 | etot = -8.37462296668715 -229000 ekin = 1.35720775781569 | erot = 1.64872427968805 | epot = -11.3805550048119 | etot = -8.37462296730815 -230000 ekin = 1.42320705813326 | erot = 1.70117239435519 | epot = -11.4990024205437 | etot = -8.37462296805528 -231000 ekin = 1.50467169677578 | erot = 1.75808746579119 | epot = -11.6373821313705 | etot = -8.37462296880356 -232000 ekin = 1.59576180204784 | erot = 1.81345446216814 | epot = -11.7838392336754 | etot = -8.37462296945945 -233000 ekin = 1.69077156764766 | erot = 1.86233770608624 | epot = -11.9277322437063 | etot = -8.37462296997237 -234000 ekin = 1.78453671679902 | erot = 1.90129507954668 | epot = -12.0604547666798 | etot = -8.37462297033406 -235000 ekin = 1.87261122258964 | erot = 1.92842207171172 | epot = -12.1756562648648 | etot = -8.37462297056343 -236000 ekin = 1.95129507586045 | erot = 1.94312673772456 | epot = -12.2690447842759 | etot = -8.37462297069089 -237000 ekin = 2.01688127570888 | erot = 1.94587838549618 | epot = -12.3373826321093 | etot = -8.37462297090424 -238000 ekin = 2.06554471096632 | erot = 1.93754713481357 | epot = -12.3777148167612 | etot = -8.37462297098128 -239000 ekin = 2.09498833917105 | erot = 1.91896908743904 | epot = -12.3885803976066 | etot = -8.37462297099647 -240000 ekin = 2.10387887335868 | erot = 1.89114067893448 | epot = -12.3696425232255 | etot = -8.37462297093239 -241000 ekin = 2.09205058134763 | erot = 1.85524232773695 | epot = -12.3219158798525 | etot = -8.37462297076792 -242000 ekin = 2.06070692356732 | erot = 1.81270484104108 | epot = -12.2480347350936 | etot = -8.3746229704852 -243000 ekin = 2.01255526288397 | erot = 1.76529169809267 | epot = -12.1524699310592 | etot = -8.3746229700826 -244000 ekin = 1.95178746173565 | erot = 1.71512317980732 | epot = -12.0415336111136 | etot = -8.37462296957065 -245000 ekin = 1.88387514784715 | erot = 1.66462101119864 | epot = -11.9231191280352 | etot = -8.37462296898941 -246000 ekin = 1.81512558267788 | erot = 1.61637080971489 | epot = -11.8061193607925 | etot = -8.37462296839969 -247000 ekin = 1.75197548737598 | erot = 1.57289129038632 | epot = -11.6994897456374 | etot = -8.37462296787513 -248000 ekin = 1.70016015194921 | erot = 1.5363664174363 | epot = -11.6111495368734 | etot = -8.37462296748788 -249000 ekin = 1.664043914543 | erot = 1.50839677555149 | epot = -11.5470636572537 | etot = -8.37462296715922 -250000 ekin = 1.64635032469218 | erot = 1.48977166427894 | epot = -11.5107449561766 | etot = -8.37462296720544 -251000 ekin = 1.64670868822392 | erot = 1.48021150770214 | epot = -11.5015431633547 | etot = -8.37462296742863 -252000 ekin = 1.66264181464355 | erot = 1.47871062656248 | epot = -11.515975408979 | etot = -8.37462296777296 -253000 ekin = 1.69027564040369 | erot = 1.48380069509961 | epot = -11.5486993036754 | etot = -8.3746229681721 -254000 ekin = 1.72505301291702 | erot = 1.49382397147177 | epot = -11.593499952955 | etot = -8.37462296856621 -255000 ekin = 1.76239471231507 | erot = 1.50720813837987 | epot = -11.6442258196111 | etot = -8.37462296891614 -256000 ekin = 1.79816893498575 | erot = 1.52259254469743 | epot = -11.6953844488857 | etot = -8.37462296920248 -257000 ekin = 1.82895095239716 | erot = 1.53887801863879 | epot = -11.7424519404558 | etot = -8.37462296941987 -258000 ekin = 1.85212386739603 | erot = 1.55528591409784 | epot = -11.7820327510629 | etot = -8.37462296956901 -259000 ekin = 1.86588413888276 | erot = 1.57137656836574 | epot = -11.8118836768999 | etot = -8.37462296965144 -260000 ekin = 1.86922537289945 | erot = 1.58707491263422 | epot = -11.8309232551869 | etot = -8.37462296965321 -261000 ekin = 1.86194745778049 | erot = 1.60277606186391 | epot = -11.8393464893246 | etot = -8.37462296968025 -262000 ekin = 1.84441202421401 | erot = 1.61874454524398 | epot = -11.8377795390096 | etot = -8.37462296955156 -263000 ekin = 1.8177563299772 | erot = 1.63584439963962 | epot = -11.8282236989416 | etot = -8.37462296932473 -264000 ekin = 1.78414336143566 | erot = 1.65581672859452 | epot = -11.8145830590359 | etot = -8.37462296900575 -265000 ekin = 1.74659811333773 | erot = 1.68088156362826 | epot = -11.8021026455982 | etot = -8.37462296863218 -266000 ekin = 1.70875551588695 | erot = 1.71332387538106 | epot = -11.7967023595427 | etot = -8.37462296827472 -267000 ekin = 1.67443624978676 | erot = 1.75501089284495 | epot = -11.8040701106202 | etot = -8.37462296798845 -268000 ekin = 1.64712713207616 | erot = 1.80695733277667 | epot = -11.8287074326943 | etot = -8.37462296784148 -269000 ekin = 1.62949021142767 | erot = 1.86883267567167 | epot = -11.8729458549721 | etot = -8.37462296787273 -270000 ekin = 1.62285159922546 | erot = 1.93872810894256 | epot = -11.9362026762895 | etot = -8.37462296812145 -271000 ekin = 1.62688631043817 | erot = 2.01317767222006 | epot = -12.0146869512065 | etot = -8.37462296854828 -272000 ekin = 1.63981668010479 | erot = 2.08746423747607 | epot = -12.1019038866666 | etot = -8.37462296908573 -273000 ekin = 1.65880091169085 | erot = 2.15626799363728 | epot = -12.1896918749698 | etot = -8.37462296964172 -274000 ekin = 1.68050753849978 | erot = 2.21448722130837 | epot = -12.2696177299305 | etot = -8.37462297012236 -275000 ekin = 1.70172643739859 | erot = 2.25805265702164 | epot = -12.3344020648726 | etot = -8.37462297045236 -276000 ekin = 1.71987527696229 | erot = 2.28456562448884 | epot = -12.3790638720398 | etot = -8.37462297058871 -277000 ekin = 1.73331269261662 | erot = 2.29364905663773 | epot = -12.4015847197778 | etot = -8.37462297052348 -278000 ekin = 1.74143735013812 | erot = 2.28698125838882 | epot = -12.4030415787998 | etot = -8.37462297027286 -279000 ekin = 1.74460802870659 | erot = 2.26806682992254 | epot = -12.3872978285234 | etot = -8.37462296989426 -280000 ekin = 1.74394008412506 | erot = 2.24171314051919 | epot = -12.3602761940833 | etot = -8.37462296943905 -281000 ekin = 1.74088698058238 | erot = 2.21312908436276 | epot = -12.3286390340538 | etot = -8.37462296910862 -282000 ekin = 1.73669656458759 | erot = 2.18704204449549 | epot = -12.2983615778783 | etot = -8.37462296879524 -283000 ekin = 1.73229007371642 | erot = 2.1674467962283 | epot = -12.2743598385788 | etot = -8.37462296863409 -284000 ekin = 1.72792109204571 | erot = 2.15675164213727 | epot = -12.2592957028517 | etot = -8.3746229686687 -285000 ekin = 1.72297480902885 | erot = 2.15537559427272 | epot = -12.2529733722 | etot = -8.37462296889847 -286000 ekin = 1.71598432453051 | erot = 2.16179000838356 | epot = -12.2523973021713 | etot = -8.37462296925726 -287000 ekin = 1.70498524220327 | erot = 2.17315503013682 | epot = -12.2527632419519 | etot = -8.3746229696118 -288000 ekin = 1.68823578051931 | erot = 2.18649203663113 | epot = -12.2493507869527 | etot = -8.37462296980222 -289000 ekin = 1.66510970376189 | erot = 2.19999055777893 | epot = -12.2397232312607 | etot = -8.37462296971986 -290000 ekin = 1.63674302037956 | erot = 2.21381252699311 | epot = -12.2251785167475 | etot = -8.37462296937484 -291000 ekin = 1.60601874197386 | erot = 2.22992661048294 | epot = -12.2105683213532 | etot = -8.37462296889641 -292000 ekin = 1.57682389343734 | erot = 2.25107800691057 | epot = -12.2025248687813 | etot = -8.37462296843336 -293000 ekin = 1.55301992418662 | erot = 2.27950943304582 | epot = -12.2071523254127 | etot = -8.37462296818025 -294000 ekin = 1.53731454048149 | erot = 2.31583078837865 | epot = -12.2277682970263 | etot = -8.37462296816618 -295000 ekin = 1.53083265562476 | erot = 2.35873605655275 | epot = -12.2641916805461 | etot = -8.37462296836864 -296000 ekin = 1.53318706455205 | erot = 2.40528084679052 | epot = -12.3130908800614 | etot = -8.37462296871883 -297000 ekin = 1.54281493583582 | erot = 2.4515193186347 | epot = -12.3689572236279 | etot = -8.3746229691574 -298000 ekin = 1.55733608765083 | erot = 2.49306411731964 | epot = -12.4250231746877 | etot = -8.3746229697172 -299000 ekin = 1.57407386288216 | erot = 2.52498633848796 | epot = -12.4736831715335 | etot = -8.37462297016341 -300000 ekin = 1.59001535759976 | erot = 2.54349315182905 | epot = -12.5081314800013 | etot = -8.37462297057251 -301000 ekin = 1.60189886822585 | erot = 2.54585083166242 | epot = -12.5223726708135 | etot = -8.37462297092524 -302000 ekin = 1.60620251585571 | erot = 2.53039812867702 | epot = -12.5112236158409 | etot = -8.37462297130815 -303000 ekin = 1.59914065240547 | erot = 2.4959828099385 | epot = -12.4697464340451 | etot = -8.37462297170116 -304000 ekin = 1.57679795693713 | erot = 2.44177332378582 | epot = -12.3931942527977 | etot = -8.37462297207474 -305000 ekin = 1.53574304374 | erot = 2.36761905414264 | epot = -12.277985069966 | etot = -8.37462297208332 -306000 ekin = 1.47392866559566 | erot = 2.27453104047961 | epot = -12.1230826782581 | etot = -8.37462297218281 -307000 ekin = 1.39050823398525 | erot = 2.16376504506943 | epot = -11.9288962509197 | etot = -8.37462297186505 -308000 ekin = 1.28961522980533 | erot = 2.03977667258418 | epot = -11.7040148706627 | etot = -8.37462296827321 -309000 ekin = 1.0578293749373 | erot = 1.83361716570716 | epot = -11.2660695010511 | etot = -8.3746229604066 -310000 ekin = 1.14450415448801 | erot = 1.58483272602465 | epot = -11.1039598386899 | etot = -8.37462295817721 -311000 ekin = 1.41922601312433 | erot = 1.45460499880699 | epot = -11.2484540448416 | etot = -8.37462303291028 -312000 ekin = 1.45261330232124 | erot = 1.37611906651625 | epot = -11.2033554015516 | etot = -8.37462303271409 -313000 ekin = 1.4788437717407 | erot = 1.31854286229449 | epot = -11.1720096664209 | etot = -8.37462303238567 -314000 ekin = 1.49756299811573 | erot = 1.28320357876888 | epot = -11.1553896088945 | etot = -8.37462303200986 -315000 ekin = 1.51332559187976 | erot = 1.27043025389328 | epot = -11.1583788774964 | etot = -8.37462303172341 -316000 ekin = 1.5308006111801 | erot = 1.27925593275775 | epot = -11.1846795755428 | etot = -8.37462303160493 -317000 ekin = 1.55378721590878 | erot = 1.30719554367543 | epot = -11.235605791274 | etot = -8.37462303168982 -318000 ekin = 1.58370434541092 | erot = 1.34913652060449 | epot = -11.3074638985388 | etot = -8.3746230325234 -319000 ekin = 1.61943484148271 | erot = 1.39801478359314 | epot = -11.3920726581939 | etot = -8.37462303311803 -320000 ekin = 1.65864783760545 | erot = 1.4469667045913 | epot = -11.4802375759983 | etot = -8.37462303380153 -321000 ekin = 1.6976698384736 | erot = 1.48920524279123 | epot = -11.5614981157299 | etot = -8.3746230344651 -322000 ekin = 1.73222385846077 | erot = 1.51888544570781 | epot = -11.6257323391508 | etot = -8.37462303498217 -323000 ekin = 1.75834700852353 | erot = 1.53202956630854 | epot = -11.6649996100711 | etot = -8.37462303523908 -324000 ekin = 1.77324650046361 | erot = 1.52732597029569 | epot = -11.675195505928 | etot = -8.37462303516871 -325000 ekin = 1.77583924216996 | erot = 1.50655389358471 | epot = -11.6570161705554 | etot = -8.37462303480068 -326000 ekin = 1.76682929376892 | erot = 1.47436928283917 | epot = -11.6158216107568 | etot = -8.37462303414873 -327000 ekin = 1.74834602231152 | erot = 1.43794367202746 | epot = -11.5609127276999 | etot = -8.37462303336097 -328000 ekin = 1.7233110982126 | erot = 1.40578615079696 | epot = -11.5037202815778 | etot = -8.37462303256828 -329000 ekin = 1.69488797673405 | erot = 1.38635580023326 | epot = -11.455866808845 | etot = -8.37462303187764 -330000 ekin = 1.66566513334786 | erot = 1.38702252391897 | epot = -11.4273106886498 | etot = -8.374623031383 -331000 ekin = 1.63732185166234 | erot = 1.41331220646627 | epot = -11.4252570892353 | etot = -8.37462303110665 -332000 ekin = 1.61073968004048 | erot = 1.46826665363454 | epot = -11.4536293647323 | etot = -8.37462303105725 -333000 ekin = 1.58605232106548 | erot = 1.55220559043093 | epot = -11.5128809427306 | etot = -8.37462303123423 -334000 ekin = 1.56284415922383 | erot = 1.66255678080412 | epot = -11.6000239716191 | etot = -8.37462303159115 -335000 ekin = 1.54014240613874 | erot = 1.79443783502712 | epot = -11.7092032732476 | etot = -8.3746230320817 -336000 ekin = 1.51670455216665 | erot = 1.94117931563221 | epot = -11.8325069004485 | etot = -8.37462303264961 -337000 ekin = 1.49128277555588 | erot = 2.09492414345214 | epot = -11.9608299522436 | etot = -8.37462303323563 -338000 ekin = 1.46282625483081 | erot = 2.24735936520887 | epot = -12.0848086538234 | etot = -8.37462303378369 -339000 ekin = 1.43063896798345 | erot = 2.39044100153381 | epot = -12.1957030037652 | etot = -8.37462303424793 -340000 ekin = 1.39448012484058 | erot = 2.51702660358978 | epot = -12.2861297630267 | etot = -8.37462303459637 -341000 ekin = 1.35460313822272 | erot = 2.62135284037423 | epot = -12.3505790134091 | etot = -8.37462303481217 -342000 ekin = 1.3117393686306 | erot = 2.69933546749687 | epot = -12.3856978710184 | etot = -8.37462303489094 -343000 ekin = 1.26704159860242 | erot = 2.74871044551728 | epot = -12.3903750789562 | etot = -8.37462303483653 -344000 ekin = 1.22200654509503 | erot = 2.76906107654538 | epot = -12.3656906562963 | etot = -8.37462303465594 -345000 ekin = 1.17839357225705 | erot = 2.76177689465492 | epot = -12.3147935012698 | etot = -8.3746230343578 -346000 ekin = 1.13814730560313 | erot = 2.72996678569807 | epot = -12.2427371252553 | etot = -8.37462303395411 -347000 ekin = 1.10331757839141 | erot = 2.6783142195391 | epot = -12.1562548313944 | etot = -8.37462303346392 -348000 ekin = 1.07595787263662 | erot = 2.61283600667603 | epot = -12.0634169122307 | etot = -8.37462303291807 -349000 ekin = 1.05798147191725 | erot = 2.54050407789364 | epot = -11.9731085821725 | etot = -8.37462303236165 -350000 ekin = 1.05096760963778 | erot = 2.46871550807945 | epot = -11.8943061495688 | etot = -8.37462303185161 -351000 ekin = 1.05593437429309 | erot = 2.40463774697973 | epot = -11.8351951527212 | etot = -8.37462303144839 -352000 ekin = 1.07311971186499 | erot = 2.35449555191637 | epot = -11.8022382949886 | etot = -8.37462303120719 -353000 ekin = 1.10182415540818 | erot = 2.32288867128187 | epot = -11.7993358578585 | etot = -8.37462303116842 -354000 ekin = 1.14036300464704 | erot = 2.31223409502352 | epot = -11.8272201310208 | etot = -8.37462303135026 -355000 ekin = 1.18615564007902 | erot = 2.3224218596199 | epot = -11.8832005314417 | etot = -8.37462303174276 -356000 ekin = 1.23595386569949 | erot = 2.35076326964177 | epot = -11.9613401676474 | etot = -8.37462303230618 -357000 ekin = 1.28618457758726 | erot = 2.39228504524919 | epot = -12.0530926558101 | etot = -8.37462303297361 -358000 ekin = 1.33335672484132 | erot = 2.44036693764159 | epot = -12.1483466961437 | etot = -8.37462303366077 -359000 ekin = 1.37446611423607 | erot = 2.48763760748889 | epot = -12.236726756006 | etot = -8.37462303428102 -360000 ekin = 1.40733698540188 | erot = 2.52696891747013 | epot = -12.3089289376309 | etot = -8.3746230347589 -361000 ekin = 1.43085230117183 | erot = 2.55266032656637 | epot = -12.3581356626699 | etot = -8.37462303493173 -362000 ekin = 1.44498023419595 | erot = 2.56161192448288 | epot = -12.3812151936925 | etot = -8.37462303501363 -363000 ekin = 1.45080808015525 | erot = 2.55177253018898 | epot = -12.3772036452512 | etot = -8.37462303490697 -364000 ekin = 1.4504698206999 | erot = 2.52283864584182 | epot = -12.347931501182 | etot = -8.37462303464031 -365000 ekin = 1.44693366152056 | erot = 2.47609933176571 | epot = -12.2976560275495 | etot = -8.3746230342632 -366000 ekin = 1.44366094468055 | erot = 2.4140112633753 | epot = -12.2322952418927 | etot = -8.37462303383685 -367000 ekin = 1.44416618229195 | erot = 2.33969773429606 | epot = -12.1584869500116 | etot = -8.3746230334236 -368000 ekin = 1.45154164412086 | erot = 2.25648465084979 | epot = -12.0826493280444 | etot = -8.37462303307378 -369000 ekin = 1.46802482611048 | erot = 2.16757470029764 | epot = -12.0102225592251 | etot = -8.374623032817 -370000 ekin = 1.49468484157928 | erot = 2.07591739973036 | epot = -11.9452252739682 | etot = -8.37462303265854 -371000 ekin = 1.53128479294051 | erot = 1.98426522628833 | epot = -11.8901730518124 | etot = -8.37462303258357 -372000 ekin = 1.57634160155561 | erot = 1.89533626064572 | epot = -11.8463008947682 | etot = -8.37462303256687 -373000 ekin = 1.62736107596654 | erot = 1.81196417168862 | epot = -11.8139482802383 | etot = -8.37462303258315 -374000 ekin = 1.68119274504178 | erot = 1.73713269144164 | epot = -11.7929484690967 | etot = -8.37462303261329 -375000 ekin = 1.73444043052866 | erot = 1.67385884334747 | epot = -11.7829223065195 | etot = -8.3746230326434 -376000 ekin = 1.7838758614395 | erot = 1.62497473906432 | epot = -11.7834736331734 | etot = -8.37462303266957 -377000 ekin = 1.8264818609192 | erot = 1.59275354369267 | epot = -11.7938584374905 | etot = -8.3746230328786 -378000 ekin = 1.85889028460788 | erot = 1.57838589666728 | epot = -11.8118992141862 | etot = -8.37462303291103 -379000 ekin = 1.87974734421377 | erot = 1.58231910072918 | epot = -11.8366894778912 | etot = -8.3746230329482 -380000 ekin = 1.88876618247951 | erot = 1.60397852042908 | epot = -11.8673677359266 | etot = -8.37462303301803 -381000 ekin = 1.88634387025611 | erot = 1.64162253507735 | epot = -11.9025894384722 | etot = -8.37462303313873 -382000 ekin = 1.87329602399998 | erot = 1.69239968364376 | epot = -11.9403187409518 | etot = -8.37462303330804 -383000 ekin = 1.85067766912106 | erot = 1.75260724974019 | epot = -11.9779079523652 | etot = -8.37462303350397 -384000 ekin = 1.81972884480784 | erot = 1.81808771261072 | epot = -12.0124395911118 | etot = -8.37462303369321 -385000 ekin = 1.78192764777047 | erot = 1.8846313378676 | epot = -12.041182019504 | etot = -8.3746230338659 -386000 ekin = 1.73896117301596 | erot = 1.94830024178193 | epot = -12.0618844487821 | etot = -8.37462303398425 -387000 ekin = 1.69261703956648 | erot = 2.00550933075379 | epot = -12.0727494044584 | etot = -8.37462303413813 -388000 ekin = 1.64442362565029 | erot = 2.05290262288177 | epot = -12.0719492828234 | etot = -8.3746230342913 -389000 ekin = 1.59562809726279 | erot = 2.08769097010093 | epot = -12.0579421017191 | etot = -8.37462303435535 -390000 ekin = 1.54727258078745 | erot = 2.10804034821841 | epot = -12.0299359634133 | etot = -8.3746230344074 -391000 ekin = 1.50042668689197 | erot = 2.11301685840032 | epot = -11.9880665795736 | etot = -8.37462303428126 -392000 ekin = 1.45669956782597 | erot = 2.10352612083801 | epot = -11.9348487226021 | etot = -8.37462303393817 -393000 ekin = 1.41857599108996 | erot = 2.0826321347131 | epot = -11.8758311591979 | etot = -8.37462303339481 -394000 ekin = 1.3893261262781 | erot = 2.05528425943378 | epot = -11.8192334184605 | etot = -8.37462303274866 -395000 ekin = 1.37246101478385 | erot = 2.02739319427127 | epot = -11.7744772412142 | etot = -8.37462303215908 -396000 ekin = 1.3707890798786 | erot = 2.00445159240551 | epot = -11.749863704081 | etot = -8.37462303179692 -397000 ekin = 1.38538853999914 | erot = 1.9901130253752 | epot = -11.7501245971563 | etot = -8.37462303178196 -398000 ekin = 1.41490531161682 | erot = 1.98519641778307 | epot = -11.7747247615386 | etot = -8.37462303213875 -399000 ekin = 1.45547085036336 | erot = 1.98743025594694 | epot = -11.8175241391048 | etot = -8.37462303279453 -400000 ekin = 1.50126526406668 | erot = 1.99196444869264 | epot = -11.8678527463719 | etot = -8.37462303361261 -401000 ekin = 1.54549713891568 | erot = 1.99242148352413 | epot = -11.9125416568766 | etot = -8.37462303443679 -402000 ekin = 1.58148802753477 | erot = 1.98217540610567 | epot = -11.9382864687619 | etot = -8.37462303512143 -403000 ekin = 1.60364407572881 | erot = 1.9556344645944 | epot = -11.9339015758642 | etot = -8.37462303554099 -404000 ekin = 1.60823718231487 | erot = 1.90940860689026 | epot = -11.8922688248051 | etot = -8.37462303559999 -405000 ekin = 1.59393186875452 | erot = 1.84321418438557 | epot = -11.8117690883978 | etot = -8.37462303525771 -406000 ekin = 1.56197926550493 | erot = 1.76026394072102 | epot = -11.696866240782 | etot = -8.37462303455608 -407000 ekin = 1.51595319782311 | erot = 1.66689496115276 | epot = -11.5574711925966 | etot = -8.37462303362071 -408000 ekin = 1.46103089399052 | erot = 1.57144700034413 | epot = -11.4071009269554 | etot = -8.37462303262075 -409000 ekin = 1.40302353808213 | erot = 1.48274963105035 | epot = -11.2603962008455 | etot = -8.37462303171298 -410000 ekin = 1.34747963365293 | erot = 1.40871679572301 | epot = -11.1308194603669 | etot = -8.37462303099097 -411000 ekin = 1.24142842928345 | erot = 1.3676589102725 | epot = -10.983710354595 | etot = -8.37462301503906 -412000 ekin = 1.07606206466684 | erot = 1.44463891803659 | epot = -10.895323988422 | etot = -8.37462300571856 -413000 ekin = 1.0469492246958 | erot = 1.51102600613229 | epot = -10.9325982588143 | etot = -8.37462302798624 -414000 ekin = 1.03606467090329 | erot = 1.52895884328701 | epot = -10.9396465423135 | etot = -8.37462302812324 -415000 ekin = 1.03698178421953 | erot = 1.56970634086083 | epot = -10.9813111534877 | etot = -8.37462302840732 -416000 ekin = 1.04842794421656 | erot = 1.63005774223169 | epot = -11.0531087152564 | etot = -8.37462302880815 -417000 ekin = 1.06841333535611 | erot = 1.70571770479117 | epot = -11.1487540694412 | etot = -8.37462302929392 -418000 ekin = 1.09444701005052 | erot = 1.79158405306285 | epot = -11.2606540929514 | etot = -8.374623029838 -419000 ekin = 1.12371544113025 | erot = 1.88200392342439 | epot = -11.3803423949703 | etot = -8.37462303041567 -420000 ekin = 1.15322596863697 | erot = 1.97103956947911 | epot = -11.4988885691119 | etot = -8.37462303099584 -421000 ekin = 1.17996638670183 | erot = 2.05281125535609 | epot = -11.6074006735882 | etot = -8.37462303153032 -422000 ekin = 1.201150629811 | erot = 2.12197272517913 | epot = -11.6977463869433 | etot = -8.37462303195322 -423000 ekin = 1.21456879342709 | erot = 2.17429924607153 | epot = -11.7634910716962 | etot = -8.37462303219755 -424000 ekin = 1.21895541018766 | erot = 2.20725430505394 | epot = -11.8008327474642 | etot = -8.37462303222256 -425000 ekin = 1.21420953470709 | erot = 2.22030001430835 | epot = -11.8091325810571 | etot = -8.37462303204169 -426000 ekin = 1.20134505265786 | erot = 2.21476142814848 | epot = -11.7907295125128 | etot = -8.37462303170646 -427000 ekin = 1.18219319315386 | erot = 2.19340434236612 | epot = -11.7502205668101 | etot = -8.37462303129015 -428000 ekin = 1.15899921940896 | erot = 2.15981652249743 | epot = -11.6934387727642 | etot = -8.37462303085781 -429000 ekin = 1.13415683500777 | erot = 2.11790831242985 | epot = -11.626688176254 | etot = -8.37462302881639 -430000 ekin = 1.11403963820945 | erot = 2.07460238347142 | epot = -11.5632650504412 | etot = -8.37462302876033 -431000 ekin = 1.10124843427927 | erot = 2.03325324115979 | epot = -11.5091247042067 | etot = -8.37462302876769 -432000 ekin = 1.09509673682025 | erot = 1.9941469470348 | epot = -11.463866712691 | etot = -8.3746230288359 -433000 ekin = 1.09463609314599 | erot = 1.9571134858218 | epot = -11.4263726079113 | etot = -8.37462302894346 -434000 ekin = 1.09809472012928 | erot = 1.92111283569796 | epot = -11.3938305852077 | etot = -8.37462302938051 -435000 ekin = 1.10341624338772 | erot = 1.8849214283028 | epot = -11.3629607010957 | etot = -8.37462302940516 -436000 ekin = 1.11020757162788 | erot = 1.84854231975879 | epot = -11.3333729208359 | etot = -8.37462302944924 -437000 ekin = 1.11803889537718 | erot = 1.81186902511188 | epot = -11.3045309499972 | etot = -8.37462302950813 -438000 ekin = 1.12642172160212 | erot = 1.77470718111906 | epot = -11.2757519322947 | etot = -8.37462302957348 -439000 ekin = 1.13485148153857 | erot = 1.73686282079504 | epot = -11.2463373319668 | etot = -8.37462302963316 -440000 ekin = 1.14287335820557 | erot = 1.69826079507258 | epot = -11.2157571829501 | etot = -8.37462302967201 -441000 ekin = 1.15016795453 | erot = 1.65908318343106 | epot = -11.1838741676308 | etot = -8.37462302966978 -442000 ekin = 1.15664284201482 | erot = 1.6199231351832 | epot = -11.1511890068214 | etot = -8.37462302962339 -443000 ekin = 1.16253418069017 | erot = 1.58179210099589 | epot = -11.1189493112081 | etot = -8.37462302952203 -444000 ekin = 1.16846798531274 | erot = 1.54614466613438 | epot = -11.0892356808159 | etot = -8.37462302936875 -445000 ekin = 1.17546820346638 | erot = 1.51479732961113 | epot = -11.0648885622563 | etot = -8.37462302917878 -446000 ekin = 1.18488743024717 | erot = 1.48973802088361 | epot = -11.0492484801107 | etot = -8.37462302897993 -447000 ekin = 1.19824347153684 | erot = 1.4728428998067 | epot = -11.045709400153 | etot = -8.37462302880946 -448000 ekin = 1.21696535091614 | erot = 1.46554765995659 | epot = -11.057136039583 | etot = -8.37462302871022 -449000 ekin = 1.24207954598622 | erot = 1.4685127109392 | epot = -11.0852152856451 | etot = -8.37462302871963 -450000 ekin = 1.27389445230429 | erot = 1.48136016742347 | epot = -11.1298776485977 | etot = -8.37462302886998 -451000 ekin = 1.31179903842897 | erot = 1.50255470267787 | epot = -11.1889767701169 | etot = -8.37462302901007 -452000 ekin = 1.35460859520486 | erot = 1.52989164327214 | epot = -11.2591232679092 | etot = -8.37462302943224 -453000 ekin = 1.39989469250173 | erot = 1.55983588432776 | epot = -11.3343536067683 | etot = -8.37462302993882 -454000 ekin = 1.44437957549661 | erot = 1.58822152329951 | epot = -11.4072241292539 | etot = -8.37462303045782 -455000 ekin = 1.48456015878224 | erot = 1.61103616004378 | epot = -11.4702193497299 | etot = -8.37462303090385 -456000 ekin = 1.51733329615318 | erot = 1.62510652435346 | epot = -11.517062851697 | etot = -8.37462303119032 -457000 ekin = 1.5402924579761 | erot = 1.62854015385613 | epot = -11.5434556431069 | etot = -8.37462303127466 -458000 ekin = 1.55209787062734 | erot = 1.62122255615373 | epot = -11.5479434578271 | etot = -8.37462303104604 -459000 ekin = 1.55414659187724 | erot = 1.60571991112735 | epot = -11.534489533587 | etot = -8.37462303058242 -460000 ekin = 1.54960099436809 | erot = 1.58640018749714 | epot = -11.5106242118318 | etot = -8.37462302996654 -461000 ekin = 1.54273124224903 | erot = 1.56872252266296 | epot = -11.4860767942369 | etot = -8.37462302932495 -462000 ekin = 1.53795589449111 | erot = 1.5582592991952 | epot = -11.4708382224909 | etot = -8.37462302880455 -463000 ekin = 1.53875903307997 | erot = 1.55959299575739 | epot = -11.4729750573638 | etot = -8.3746230285264 -464000 ekin = 1.5468202951189 | erot = 1.57534186894895 | epot = -11.4967851926234 | etot = -8.37462302855553 -465000 ekin = 1.5616294650255 | erot = 1.60564212072996 | epot = -11.5418946146276 | etot = -8.37462302887219 -466000 ekin = 1.58070265304393 | erot = 1.64822662156127 | epot = -11.603552303988 | etot = -8.37462302938276 -467000 ekin = 1.60035208027376 | erot = 1.69905719079026 | epot = -11.6740323010118 | etot = -8.37462302994776 -468000 ekin = 1.61673623107391 | erot = 1.75335443246779 | epot = -11.7447136939717 | etot = -8.37462303042997 -469000 ekin = 1.6268308500714 | erot = 1.80670922025666 | epot = -11.8081631010573 | etot = -8.37462303072922 -470000 ekin = 1.62907239972708 | erot = 1.85596584024088 | epot = -11.8596612707757 | etot = -8.37462303080778 -471000 ekin = 1.62354687373172 | erot = 1.89966129170781 | epot = -11.8978311961317 | etot = -8.37462303069216 -472000 ekin = 1.61170510379399 | erot = 1.93800410341128 | epot = -11.9243322376449 | etot = -8.37462303043963 -473000 ekin = 1.59590324450823 | erot = 1.97246730642068 | epot = -11.942993581055 | etot = -8.37462303012609 -474000 ekin = 1.57886523181115 | erot = 2.0052614988155 | epot = -11.9587497604446 | etot = -8.3746230298179 -475000 ekin = 1.56312071578843 | erot = 2.03882982960528 | epot = -11.9765735749592 | etot = -8.37462302956554 -476000 ekin = 1.55063074695033 | erot = 2.07545668637289 | epot = -12.0007104627126 | etot = -8.37462302938941 -477000 ekin = 1.54263588410755 | erot = 2.1170423117264 | epot = -12.0343012251352 | etot = -8.37462302930124 -478000 ekin = 1.53956151541937 | erot = 2.16493101565526 | epot = -12.0791155603799 | etot = -8.37462302930528 -479000 ekin = 1.54104337297899 | erot = 2.21977101927769 | epot = -12.1354374216606 | etot = -8.37462302940391 -480000 ekin = 1.54600976096935 | erot = 2.28138261400517 | epot = -12.2020154045697 | etot = -8.37462302959523 -481000 ekin = 1.5528060602472 | erot = 2.34867771789131 | epot = -12.2761068080046 | etot = -8.37462302986605 -482000 ekin = 1.55937339634702 | erot = 2.41971772771426 | epot = -12.3537141542448 | etot = -8.3746230301835 -483000 ekin = 1.56350104452675 | erot = 2.49198464322954 | epot = -12.4301087182516 | etot = -8.37462303049528 -484000 ekin = 1.56314467772452 | erot = 2.56280026280573 | epot = -12.5005679712779 | etot = -8.37462303074763 -485000 ekin = 1.55677099189244 | erot = 2.62990187864922 | epot = -12.5612959014245 | etot = -8.37462303088287 -486000 ekin = 1.54362230241359 | erot = 2.69196691951186 | epot = -12.6102122528172 | etot = -8.37462303089175 -487000 ekin = 1.5238104379152 | erot = 2.74866369544762 | epot = -12.6470971641607 | etot = -8.37462303079786 -488000 ekin = 1.49822858843879 | erot = 2.80041322794163 | epot = -12.6732648470306 | etot = -8.37462303065017 -489000 ekin = 1.46832177710635 | erot = 2.84792010719105 | epot = -12.6908649147994 | etot = -8.37462303050195 -490000 ekin = 1.43580907600596 | erot = 2.89167668868156 | epot = -12.7021087950802 | etot = -8.37462303039268 -491000 ekin = 1.40244626498158 | erot = 2.9316206813094 | epot = -12.7086899766291 | etot = -8.37462303033812 -492000 ekin = 1.36987596423118 | erot = 2.96703118868649 | epot = -12.7115301832508 | etot = -8.37462303033312 -493000 ekin = 1.33956200675437 | erot = 2.99664446239339 | epot = -12.7108294995088 | etot = -8.37462303036106 -494000 ekin = 1.3127681632086 | erot = 3.01889804551742 | epot = -12.7062892391324 | etot = -8.37462303040635 -495000 ekin = 1.29052832589597 | erot = 3.03218505524697 | epot = -12.6973364116059 | etot = -8.37462303046299 -496000 ekin = 1.27356858864283 | erot = 3.0350229857791 | epot = -12.6832146049601 | etot = -8.37462303053819 -497000 ekin = 1.26217859738849 | erot = 3.02610963123598 | epot = -12.6629112592681 | etot = -8.37462303064358 -498000 ekin = 1.25609176092335 | erot = 3.00437387242604 | epot = -12.6350886640705 | etot = -8.37462303072112 -499000 ekin = 1.25448433544045 | erot = 2.96925958209619 | epot = -12.5983669483989 | etot = -8.37462303086226 -500000 ekin = 1.25592311954879 | erot = 2.92052794168349 | epot = -12.5510740922054 | etot = -8.37462303097314 -501000 ekin = 1.25866262015632 | erot = 2.85877857413469 | epot = -12.4920642252919 | etot = -8.37462303100091 -502000 ekin = 1.2610103010417 | erot = 2.78589367847612 | epot = -12.421527010423 | etot = -8.3746230309052 -503000 ekin = 1.26168224098171 | erot = 2.70525686265903 | epot = -12.3415621343142 | etot = -8.37462303067344 -504000 ekin = 1.26006875272983 | erot = 2.62162663921981 | epot = -12.2563184222836 | etot = -8.37462303033399 -505000 ekin = 1.25635230634192 | erot = 2.5406610185081 | epot = -12.1716363547687 | etot = -8.3746230299187 -506000 ekin = 1.25147361583174 | erot = 2.46829686832129 | epot = -12.0943935136462 | etot = -8.37462302949319 -507000 ekin = 1.24695832252164 | erot = 2.40991559866122 | epot = -12.0314969503117 | etot = -8.37462302912883 -508000 ekin = 1.24460011261649 | erot = 2.36947588934202 | epot = -11.9886990309674 | etot = -8.37462302900885 -509000 ekin = 1.24584437164828 | erot = 2.34837731731217 | epot = -11.9688447179543 | etot = -8.37462302899384 -510000 ekin = 1.25172041123361 | erot = 2.34550382347579 | epot = -11.9718472639353 | etot = -8.37462302922588 -511000 ekin = 1.26248317250715 | erot = 2.35680066398031 | epot = -11.9939068661965 | etot = -8.37462302970907 -512000 ekin = 1.27739486770184 | erot = 2.3752978884897 | epot = -12.0273157865857 | etot = -8.37462303039418 -513000 ekin = 1.29481021504986 | erot = 2.39185405428514 | epot = -12.0612873005101 | etot = -8.37462303117506 -514000 ekin = 1.31250889880426 | erot = 2.39651406027419 | epot = -12.0836459909739 | etot = -8.37462303189546 -515000 ekin = 1.32825052581585 | erot = 2.38037057726031 | epot = -12.0832441354508 | etot = -8.37462303237461 -516000 ekin = 1.34045831429004 | erot = 2.33760267994477 | epot = -12.0526840266922 | etot = -8.37462303245741 -517000 ekin = 1.34883924084187 | erot = 2.26713155444233 | epot = -11.9905938273613 | etot = -8.37462303207706 -518000 ekin = 1.35468550683679 | erot = 2.17326127006567 | epot = -11.9025698081983 | etot = -8.37462303129585 -519000 ekin = 1.36067339624038 | erot = 2.06494828515103 | epot = -11.8002447116801 | etot = -8.37462303028865 -520000 ekin = 1.37018582822438 | erot = 1.95390329836061 | epot = -11.6987121558631 | etot = -8.3746230292781 -521000 ekin = 1.38639579380191 | erot = 1.85221057840952 | epot = -11.6132294006716 | etot = -8.37462302846015 -522000 ekin = 1.41141432490479 | erot = 1.77022445533383 | epot = -11.5562618081968 | etot = -8.37462302795815 -523000 ekin = 1.44572356453344 | erot = 1.71520045870257 | epot = -11.5355470510526 | etot = -8.37462302781656 -524000 ekin = 1.48798145409679 | erot = 1.69073008317396 | epot = -11.5533345652857 | etot = -8.37462302801491 -525000 ekin = 1.53517683781673 | erot = 1.6968029606332 | epot = -11.6066028269435 | etot = -8.37462302849353 -526000 ekin = 1.58304900119248 | erot = 1.73025509475185 | epot = -11.6879271251181 | etot = -8.37462302917376 -527000 ekin = 1.62665879649442 | erot = 1.78540941264019 | epot = -11.7866912391056 | etot = -8.374623029971 -528000 ekin = 1.66100783108954 | erot = 1.8548065480344 | epot = -11.890437409923 | etot = -8.37462303079904 -529000 ekin = 1.68163863412964 | erot = 1.93001159413482 | epot = -11.9862732598315 | etot = -8.37462303156707 -530000 ekin = 1.6851862302745 | erot = 2.00252460865783 | epot = -12.0623338711126 | etot = -8.37462303218029 -531000 ekin = 1.66986059685934 | erot = 2.06478669656075 | epot = -12.1092703259691 | etot = -8.374623032549 -532000 ekin = 1.63581226896463 | erot = 2.1111667918467 | epot = -12.1216020934218 | etot = -8.37462303261044 -533000 ekin = 1.58529617178013 | erot = 2.13870511838882 | epot = -12.0986243225211 | etot = -8.37462303235218 -534000 ekin = 1.52254564095829 | erot = 2.14737698822929 | epot = -12.0445456610111 | etot = -8.37462303182353 -535000 ekin = 1.45332420577031 | erot = 2.13977370493955 | epot = -11.9677209418325 | etot = -8.37462303112261 -536000 ekin = 1.38421691011895 | erot = 2.12031314070428 | epot = -11.8791530811919 | etot = -8.37462303036864 -537000 ekin = 1.32180342899929 | erot = 2.09425520394406 | epot = -11.7906816626133 | etot = -8.37462302966991 -538000 ekin = 1.27187743420573 | erot = 2.06681107588934 | epot = -11.7133115391993 | etot = -8.37462302910426 -539000 ekin = 1.23883846279537 | erot = 2.04251647933667 | epot = -11.6559779708476 | etot = -8.37462302871558 -540000 ekin = 1.22531302703425 | erot = 2.02488499742798 | epot = -11.6248210529832 | etot = -8.37462302852096 -541000 ekin = 1.23199882291205 | erot = 2.01625749304676 | epot = -11.6228793444808 | etot = -8.37462302852195 -542000 ekin = 1.25769219451248 | erot = 2.01774880495238 | epot = -11.6500640281746 | etot = -8.37462302870978 -543000 ekin = 1.29945731407308 | erot = 2.02924170402515 | epot = -11.7033220471641 | etot = -8.37462302906591 -544000 ekin = 1.35291512122318 | erot = 2.04944893327204 | epot = -11.7769870840498 | etot = -8.37462302955459 -545000 ekin = 1.41265384122289 | erot = 2.07611668223704 | epot = -11.8633935535769 | etot = -8.37462303011699 -546000 ekin = 1.47277167575315 | erot = 2.10644216881038 | epot = -11.9538368752322 | etot = -8.37462303066866 -547000 ekin = 1.52754093319635 | erot = 2.13770468829281 | epot = -12.0398686526028 | etot = -8.37462303111365 -548000 ekin = 1.57213155238919 | erot = 2.16798237176649 | epot = -12.1147369555237 | etot = -8.37462303136797 -549000 ekin = 1.60327488859445 | erot = 2.19671767496084 | epot = -12.1746155949423 | etot = -8.37462303138697 -550000 ekin = 1.61972434376709 | erot = 2.22489244333565 | epot = -12.219239818284 | etot = -8.37462303118126 -551000 ekin = 1.62240013870483 | erot = 2.25470593136133 | epot = -12.2517291008792 | etot = -8.37462303081309 -552000 ekin = 1.61417495562361 | erot = 2.28884205647118 | epot = -12.2776400424738 | etot = -8.37462303037905 -553000 ekin = 1.59932782091749 | erot = 2.32954987377768 | epot = -12.3035007246832 | etot = -8.37462302998807 -554000 ekin = 1.5827459906671 | erot = 2.3777881761324 | epot = -12.3351571965401 | etot = -8.37462302974062 -555000 ekin = 1.56899856385031 | erot = 2.43263226771804 | epot = -12.3762538612779 | etot = -8.37462302970954 -556000 ekin = 1.56145041157602 | erot = 2.49106505511668 | epot = -12.4271384966169 | etot = -8.37462302992416 -557000 ekin = 1.56197837218677 | erot = 2.54829507223601 | epot = -12.4848964746456 | etot = -8.37462303022277 -558000 ekin = 1.57029216551734 | erot = 2.59810209182387 | epot = -12.5430172882088 | etot = -8.37462303086757 -559000 ekin = 1.58339818320791 | erot = 2.63367391511495 | epot = -12.5916951298592 | etot = -8.3746230315363 -560000 ekin = 1.59712770481022 | erot = 2.64904697988658 | epot = -12.6207977168081 | etot = -8.37462303211135 -561000 ekin = 1.60698123343006 | erot = 2.64009683894503 | epot = -12.6217011048634 | etot = -8.37462303248831 -562000 ekin = 1.60896027782097 | erot = 2.60532700120818 | epot = -12.5889103116217 | etot = -8.37462303259257 -563000 ekin = 1.60023696633043 | erot = 2.54649193869621 | epot = -12.5213519373451 | etot = -8.37462303231848 -564000 ekin = 1.57955774677214 | erot = 2.46891092806291 | epot = -12.4230917066634 | etot = -8.37462303182835 -565000 ekin = 1.54734561566674 | erot = 2.38031455632116 | epot = -12.3022832030957 | etot = -8.3746230311078 -566000 ekin = 1.5055446855442 | erot = 2.29049479450215 | epot = -12.1706625102933 | etot = -8.37462303024697 -567000 ekin = 1.45732250665219 | erot = 2.21025028826183 | epot = -12.0421958242629 | etot = -8.37462302934887 -568000 ekin = 1.40671207380929 | erot = 2.15003703753047 | epot = -11.9313721398977 | etot = -8.3746230285579 -569000 ekin = 1.35794157949263 | erot = 2.11775595086814 | epot = -11.8503205583487 | etot = -8.37462302798794 -570000 ekin = 1.31523212119468 | erot = 2.11799693943003 | epot = -11.8078520883709 | etot = -8.37462302774614 -571000 ekin = 1.28243871605086 | erot = 2.15081941192853 | epot = -11.8078811559413 | etot = -8.37462302796192 -572000 ekin = 1.26220633019376 | erot = 2.2102703424972 | epot = -11.8470997013807 | etot = -8.37462302868972 -573000 ekin = 1.25525341535257 | erot = 2.28456705415208 | epot = -11.9144434992943 | etot = -8.37462302978967 -574000 ekin = 1.26030251434112 | erot = 2.35813787036021 | epot = -11.9930634156831 | etot = -8.37462303098173 -575000 ekin = 1.2747321562316 | erot = 2.41511328226678 | epot = -12.0644684704335 | etot = -8.37462303193515 -576000 ekin = 1.29562562245951 | erot = 2.44294920216406 | epot = -12.1131978571128 | etot = -8.37462303248922 -577000 ekin = 1.32065634432137 | erot = 2.4343858678001 | epot = -12.129665244697 | etot = -8.37462303257555 -578000 ekin = 1.34847271375488 | erot = 2.38804498568619 | epot = -12.1111407317151 | etot = -8.37462303227407 -579000 ekin = 1.37859640731489 | erot = 2.30759327889185 | epot = -12.0608127179344 | etot = -8.37462303172763 -580000 ekin = 1.41115339286507 | erot = 2.20016188412019 | epot = -11.9859383079394 | etot = -8.37462303095417 -581000 ekin = 1.44674776515311 | erot = 2.07475133368239 | epot = -11.8961221291764 | etot = -8.3746230303409 -582000 ekin = 1.4851482181056 | erot = 1.94050793885046 | epot = -11.8002791867472 | etot = -8.37462302979113 -583000 ekin = 1.52576266955674 | erot = 1.80603709651288 | epot = -11.7064227954087 | etot = -8.37462302933907 -584000 ekin = 1.56772288057633 | erot = 1.67887072897788 | epot = -11.6212166385574 | etot = -8.37462302900324 -585000 ekin = 1.60990333959043 | erot = 1.56509115871858 | epot = -11.5496175271048 | etot = -8.37462302879577 -586000 ekin = 1.65096359832029 | erot = 1.46905708282353 | epot = -11.4946437098695 | etot = -8.37462302872568 -587000 ekin = 1.68940411634564 | erot = 1.39319741551335 | epot = -11.4572245606547 | etot = -8.37462302879574 -588000 ekin = 1.7236417052592 | erot = 1.33790137443014 | epot = -11.4361661086849 | etot = -8.37462302899558 -589000 ekin = 1.75212209151151 | erot = 1.30158756259673 | epot = -11.4283326833832 | etot = -8.37462302927499 -590000 ekin = 1.7734877690591 | erot = 1.28111987725434 | epot = -11.4292306759286 | etot = -8.37462302961515 -591000 ekin = 1.78679652583164 | erot = 1.27228388602452 | epot = -11.4337034417691 | etot = -8.37462302991292 -592000 ekin = 1.79174476961307 | erot = 1.27074179820056 | epot = -11.4371095979203 | etot = -8.37462303010663 -593000 ekin = 1.78882244318556 | erot = 1.27295060806053 | epot = -11.4363960813899 | etot = -8.37462303014385 -594000 ekin = 1.77931578999128 | erot = 1.27682752830015 | epot = -11.4307663483171 | etot = -8.37462303002563 -595000 ekin = 1.76511936071165 | erot = 1.28196044220613 | epot = -11.4217028327155 | etot = -8.37462302979776 -596000 ekin = 1.74839643258916 | erot = 1.28931412525878 | epot = -11.4123335873789 | etot = -8.37462302953091 -597000 ekin = 1.73114837528962 | erot = 1.30076368908067 | epot = -11.4065350936649 | etot = -8.37462302929462 -598000 ekin = 1.71482586357112 | erot = 1.31808503745119 | epot = -11.4075339301702 | etot = -8.37462302914792 -599000 ekin = 1.70035612855311 | erot = 1.34256499056023 | epot = -11.4175441481798 | etot = -8.37462302906646 -600000 ekin = 1.68813838895978 | erot = 1.37518403996367 | epot = -11.4379454579681 | etot = -8.37462302904461 -601000 ekin = 1.67802155271441 | erot = 1.41656361607937 | epot = -11.4692081979158 | etot = -8.37462302912207 -602000 ekin = 1.66952241262264 | erot = 1.4666430273455 | epot = -11.5107884691303 | etot = -8.37462302916217 -603000 ekin = 1.66207455080015 | erot = 1.52486246590599 | epot = -11.5615600459972 | etot = -8.3746230292911 -604000 ekin = 1.65429274424403 | erot = 1.59090716726236 | epot = -11.6198229408972 | etot = -8.37462302939085 -605000 ekin = 1.64513458460529 | erot = 1.66451963176718 | epot = -11.6842772458403 | etot = -8.37462302946786 -606000 ekin = 1.63397297141698 | erot = 1.74533329764484 | epot = -11.7539292986205 | etot = -8.3746230295587 -607000 ekin = 1.62046446185711 | erot = 1.83246852419141 | epot = -11.8275560158107 | etot = -8.37462302976218 -608000 ekin = 1.60415138615035 | erot = 1.92384516554888 | epot = -11.9026195817841 | etot = -8.37462303008485 -609000 ekin = 1.58416607277181 | erot = 2.01562004721373 | epot = -11.9744091506942 | etot = -8.37462303070865 -610000 ekin = 1.55892234884572 | erot = 2.10126039812651 | epot = -12.0348057783744 | etot = -8.37462303140216 -611000 ekin = 1.52586403282394 | erot = 2.17351542350385 | epot = -12.0740024883752 | etot = -8.37462303204737 -612000 ekin = 1.48252796781607 | erot = 2.22604744671485 | epot = -12.08319844693 | etot = -8.37462303239904 -613000 ekin = 1.42777710478085 | erot = 2.25549715886452 | epot = -12.0578972959105 | etot = -8.37462303226511 -614000 ekin = 1.3628430267639 | erot = 2.26309761368147 | epot = -12.0005636720633 | etot = -8.3746230316179 -615000 ekin = 1.29166682111812 | erot = 2.25472033316445 | epot = -11.9210101848959 | etot = -8.37462303061333 -616000 ekin = 1.22033159946011 | erot = 2.23929049959926 | epot = -11.8342451285637 | etot = -8.37462302950437 -617000 ekin = 1.15585313013231 | erot = 2.22643765863228 | epot = -11.7569138172907 | etot = -8.3746230285261 -618000 ekin = 1.10482633868852 | erot = 2.22445549379376 | epot = -11.7039048603085 | etot = -8.37462302782626 -619000 ekin = 1.07233800596022 | erot = 2.23915844396351 | epot = -11.6861194773919 | etot = -8.37462302746814 -620000 ekin = 1.06133969548983 | erot = 2.27356598266004 | epot = -11.7095287055634 | etot = -8.37462302741356 -621000 ekin = 1.07250328126401 | erot = 2.32827640438157 | epot = -11.7754027132578 | etot = -8.37462302761218 -622000 ekin = 1.1044829924491 | erot = 2.40202886261627 | epot = -11.8811348830564 | etot = -8.374623027991 -623000 ekin = 1.15443583440766 | erot = 2.49214268564081 | epot = -12.0212015485464 | etot = -8.37462302849796 -624000 ekin = 1.21858504498424 | erot = 2.5947997927632 | epot = -12.18800786685 | etot = -8.37462302910256 -625000 ekin = 1.29260009293184 | erot = 2.70513041487812 | epot = -12.3723535376525 | etot = -8.37462302984255 -626000 ekin = 1.37166908701492 | erot = 2.81669294847818 | epot = -12.5629850662672 | etot = -8.37462303077413 -627000 ekin = 1.45036408326109 | erot = 2.92095656626005 | epot = -12.7459436814237 | etot = -8.37462303190255 -628000 ekin = 1.52265779658264 | erot = 3.00738157699458 | epot = -12.9046624066692 | etot = -8.37462303309196 -629000 ekin = 1.58251554245296 | erot = 3.06484099788415 | epot = -13.0219795743847 | etot = -8.3746230340476 -630000 ekin = 1.62514418880762 | erot = 3.08443014421921 | epot = -13.0841973674672 | etot = -8.37462303444039 -631000 ekin = 1.64954255051894 | erot = 3.06336922299649 | epot = -13.0875348072763 | etot = -8.37462303376085 -632000 ekin = 1.65761419154519 | erot = 3.00573585957028 | epot = -13.0379730840961 | etot = -8.37462303298061 -633000 ekin = 1.6517479509391 | erot = 2.91965232775885 | epot = -12.9460233106084 | etot = -8.37462303191049 -634000 ekin = 1.63566753657902 | erot = 2.81604656740808 | epot = -12.8263371348676 | etot = -8.3746230308805 -635000 ekin = 1.61303222683961 | erot = 2.70552755469806 | epot = -12.6931828116427 | etot = -8.37462303010504 -636000 ekin = 1.58646965555962 | erot = 2.5963371949764 | epot = -12.5574298801698 | etot = -8.37462302963381 -637000 ekin = 1.55730595136398 | erot = 2.49385627804023 | epot = -12.4257852588016 | etot = -8.37462302939739 -638000 ekin = 1.52584911625133 | erot = 2.40123459740287 | epot = -12.3017067429364 | etot = -8.37462302928216 -639000 ekin = 1.49192497641185 | erot = 2.32043250456993 | epot = -12.1869805101672 | etot = -8.37462302918542 -640000 ekin = 1.45541378442356 | erot = 2.25314232064229 | epot = -12.0831791341069 | etot = -8.374623029041 -641000 ekin = 1.41664919926921 | erot = 2.20135144253767 | epot = -11.9926236706291 | etot = -8.37462302882226 -642000 ekin = 1.376631358572 | erot = 2.16751840710179 | epot = -11.918772794211 | etot = -8.37462302853725 -643000 ekin = 1.33719601643057 | erot = 2.15436138730356 | epot = -11.8661804319133 | etot = -8.37462302817919 -644000 ekin = 1.30095460066741 | erot = 2.16433354913846 | epot = -11.839911177714 | etot = -8.37462302790811 -645000 ekin = 1.27009047740861 | erot = 2.19964354153175 | epot = -11.8443570466466 | etot = -8.37462302770626 -646000 ekin = 1.24673444984187 | erot = 2.26154821905476 | epot = -11.8829056965369 | etot = -8.37462302764027 -647000 ekin = 1.23265873216219 | erot = 2.34972644270293 | epot = -11.9570082026423 | etot = -8.37462302777716 -648000 ekin = 1.2285470414815 | erot = 2.46146984669589 | epot = -12.0646399168505 | etot = -8.37462302867306 -649000 ekin = 1.2312343827645 | erot = 2.5891828411036 | epot = -12.1950402535055 | etot = -8.37462302963742 -650000 ekin = 1.23733747326857 | erot = 2.72274115030274 | epot = -12.3347016542761 | etot = -8.37462303070479 -651000 ekin = 1.2428991851106 | erot = 2.85114575375435 | epot = -12.4686679705912 | etot = -8.37462303172626 -652000 ekin = 1.24424620799569 | erot = 2.96370857038951 | epot = -12.582577810847 | etot = -8.37462303246178 -653000 ekin = 1.23918232849206 | erot = 3.05217314602615 | epot = -12.6659785072747 | etot = -8.37462303275648 -654000 ekin = 1.22772861476413 | erot = 3.11212236728161 | epot = -12.7144740146629 | etot = -8.37462303261719 -655000 ekin = 1.21201905899387 | erot = 3.14303840851451 | epot = -12.7296804996997 | etot = -8.37462303219133 -656000 ekin = 1.1954374432854 | erot = 3.14720435564397 | epot = -12.7172648305973 | etot = -8.37462303166789 -657000 ekin = 1.18149305106227 | erot = 3.12826014301131 | epot = -12.6843762252558 | etot = -8.37462303118225 -658000 ekin = 1.17296379520024 | erot = 3.09016086422142 | epot = -12.6377476902079 | etot = -8.37462303078623 -659000 ekin = 1.17154758057418 | erot = 3.03675236921232 | epot = -12.582922980259 | etot = -8.37462303047247 -660000 ekin = 1.17794903027368 | erot = 2.97172379744613 | epot = -12.5242958579375 | etot = -8.37462303021774 -661000 ekin = 1.19217998580361 | erot = 2.89858436848302 | epot = -12.465387384301 | etot = -8.37462303001441 -662000 ekin = 1.21385724617909 | erot = 2.8204360835798 | epot = -12.4089163596437 | etot = -8.37462302988477 -663000 ekin = 1.24235148672387 | erot = 2.73948706946881 | epot = -12.3564615860714 | etot = -8.3746230298787 -664000 ekin = 1.27672733537756 | erot = 2.65640555000488 | epot = -12.3077559154361 | etot = -8.37462303005371 -665000 ekin = 1.3155133703301 | erot = 2.56977925410127 | epot = -12.259915654865 | etot = -8.37462303043361 -666000 ekin = 1.35644708325268 | erot = 2.47610382427562 | epot = -12.2071739384901 | etot = -8.37462303096184 -667000 ekin = 1.39640549571966 | erot = 2.37072397310103 | epot = -12.141752500303 | etot = -8.37462303148232 -668000 ekin = 1.43167926156719 | erot = 2.24978389246461 | epot = -12.0560861858188 | etot = -8.37462303178698 -669000 ekin = 1.45855421041098 | erot = 2.1125387740665 | epot = -11.9457160161998 | etot = -8.3746230317223 -670000 ekin = 1.4739508646895 | erot = 1.96284004635527 | epot = -11.811413942324 | etot = -8.37462303127918 -671000 ekin = 1.47583917683516 | erot = 1.80887360748583 | epot = -11.6593358149112 | etot = -8.37462303059023 -672000 ekin = 1.46334042173585 | erot = 1.66127989926278 | epot = -11.4992433508348 | etot = -8.37462302983621 -673000 ekin = 1.43665130212379 | erot = 1.53074210399054 | epot = -11.3420164352628 | etot = -8.37462302914845 -674000 ekin = 1.39696147641158 | erot = 1.4261974886037 | epot = -11.1977819935895 | etot = -8.37462302857419 -675000 ekin = 1.34640262234309 | erot = 1.35413730294751 | epot = -11.0751629533952 | etot = -8.37462302810457 -676000 ekin = 1.28794616800361 | erot = 1.31873912036471 | epot = -10.9813083160886 | etot = -8.3746230277203 -677000 ekin = 1.22516961115512 | erot = 1.32230065786699 | epot = -10.9220932964427 | etot = -8.3746230274206 -678000 ekin = 1.16189722958258 | erot = 1.36556643967189 | epot = -10.9020866964826 | etot = -8.3746230272281 -679000 ekin = 1.10179124612821 | erot = 1.44777635009357 | epot = -10.9241906234063 | etot = -8.37462302718452 -680000 ekin = 1.04797419612249 | erot = 1.56642353037808 | epot = -10.9890207538446 | etot = -8.37462302734408 -681000 ekin = 1.0027227986418 | erot = 1.71676662170909 | epot = -11.0941124481197 | etot = -8.37462302776882 -682000 ekin = 0.967238825856233 | erot = 1.8911823872756 | epot = -11.2330442416469 | etot = -8.37462302851509 -683000 ekin = 0.941511133160514 | erot = 2.07856636781677 | epot = -11.3947005305749 | etot = -8.37462302959759 -684000 ekin = 0.924337639173223 | erot = 2.26421473260651 | epot = -11.563175402715 | etot = -8.37462303093528 -685000 ekin = 0.913629093908647 | erot = 2.43080490188115 | epot = -11.7190570280992 | etot = -8.37462303230945 -686000 ekin = 0.907072709288103 | erot = 2.5609064397186 | epot = -11.8426021824015 | etot = -8.37462303339479 -687000 ekin = 0.903027971000719 | erot = 2.64065323918573 | epot = -11.9183042440776 | etot = -8.37462303389114 -688000 ekin = 0.901265997346188 | erot = 2.6631528356665 | epot = -11.9390418666978 | etot = -8.37462303368509 -689000 ekin = 0.903127291409492 | erot = 2.62989920641101 | epot = -11.9076495307305 | etot = -8.37462303290999 -690000 ekin = 0.911003410961571 | erot = 2.54949432632226 | epot = -11.8351207691344 | etot = -8.37462303185061 -691000 ekin = 0.927482290198771 | erot = 2.4345890933302 | epot = -11.7366944143114 | etot = -8.3746230307824 -692000 ekin = 0.954629968086057 | erot = 2.29871133595466 | epot = -11.6279643338859 | etot = -8.3746230298452 -693000 ekin = 0.993689842549661 | erot = 2.15457291081397 | epot = -11.5228857825773 | etot = -8.3746230292137 -694000 ekin = 1.04477766676423 | erot = 2.01224824489153 | epot = -11.4316489404319 | etot = -8.37462302877615 -695000 ekin = 1.10717972560328 | erot = 1.87902519875939 | epot = -11.360827952868 | etot = -8.37462302850538 -696000 ekin = 1.17962988094485 | erot = 1.76021636431916 | epot = -11.3144692736453 | etot = -8.37462302838133 -697000 ekin = 1.2603450806723 | erot = 1.6593933195001 | epot = -11.2943614285665 | etot = -8.37462302839413 -698000 ekin = 1.34700634148289 | erot = 1.57856058320758 | epot = -11.300189953228 | etot = -8.37462302853757 -699000 ekin = 1.43673776972643 | erot = 1.51829388886952 | epot = -11.3296546873983 | etot = -8.37462302880231 -700000 ekin = 1.52614311404927 | erot = 1.4778859710023 | epot = -11.3786521142197 | etot = -8.37462302916816 -701000 ekin = 1.61113170993981 | erot = 1.45542937143897 | epot = -11.441184111167 | etot = -8.37462302978825 -702000 ekin = 1.68654811959934 | erot = 1.44774835139973 | epot = -11.5089195013107 | etot = -8.37462303031159 -703000 ekin = 1.74804176728682 | erot = 1.45137774866603 | epot = -11.5740425467015 | etot = -8.37462303074865 -704000 ekin = 1.79223863051471 | erot = 1.463266771069 | epot = -11.6301284325925 | etot = -8.3746230310088 -705000 ekin = 1.81722742450292 | erot = 1.48152907261418 | epot = -11.6733795281508 | etot = -8.37462303103365 -706000 ekin = 1.82282717411087 | erot = 1.50598222607883 | epot = -11.7034324310159 | etot = -8.37462303082617 -707000 ekin = 1.81047570465443 | erot = 1.53820736290229 | epot = -11.7233060980094 | etot = -8.37462303045267 -708000 ekin = 1.78276828494856 | erot = 1.5810549503857 | epot = -11.7384462653514 | etot = -8.37462303001716 -709000 ekin = 1.74282721670422 | erot = 1.63779752304503 | epot = -11.7552477693651 | etot = -8.3746230296159 -710000 ekin = 1.69374790021974 | erot = 1.71129566719954 | epot = -11.7796665967228 | etot = -8.37462302930356 -711000 ekin = 1.63830193399518 | erot = 1.80347448194939 | epot = -11.8163994450321 | etot = -8.37462302908752 -712000 ekin = 1.57892460631358 | erot = 1.91516553832407 | epot = -11.8687131735881 | etot = -8.37462302895043 -713000 ekin = 1.51786752130003 | erot = 2.04613993381954 | epot = -11.9386304840005 | etot = -8.37462302888094 -714000 ekin = 1.45734042325197 | erot = 2.19509441547551 | epot = -12.02705786762 | etot = -8.37462302889253 -715000 ekin = 1.39951776248685 | erot = 2.35946536295189 | epot = -12.1336061544577 | etot = -8.37462302901895 -716000 ekin = 1.34639246829324 | erot = 2.53511986598303 | epot = -12.2561353635752 | etot = -8.37462302929896 -717000 ekin = 1.2995543227021 | erot = 2.71613012099382 | epot = -12.3903074734227 | etot = -8.37462302972674 -718000 ekin = 1.25989829927655 | erot = 2.89465680807112 | epot = -12.529178137729 | etot = -8.37462303038131 -719000 ekin = 1.22750607430035 | erot = 3.0609266584271 | epot = -12.6630557638755 | etot = -8.37462303114804 -720000 ekin = 1.20188187066626 | erot = 3.20425006665908 | epot = -12.7807549692629 | etot = -8.37462303193757 -721000 ekin = 1.18220717983388 | erot = 3.31414882432986 | epot = -12.8709790367794 | etot = -8.37462303261566 -722000 ekin = 1.16774608427155 | erot = 3.38185582435782 | epot = -12.9242249417163 | etot = -8.3746230330869 -723000 ekin = 1.15807318397684 | erot = 3.40183188750477 | epot = -12.9345281046215 | etot = -8.37462303313988 -724000 ekin = 1.15381445068197 | erot = 3.37321067522661 | epot = -12.9016481586615 | etot = -8.3746230327529 -725000 ekin = 1.15678266077648 | erot = 3.30036671004678 | epot = -12.8317724028176 | etot = -8.37462303199429 -726000 ekin = 1.1696197829841 | erot = 3.19222682083445 | epot = -12.7364696348434 | etot = -8.37462303102484 -727000 ekin = 1.19513165181306 | erot = 3.06063268781604 | epot = -12.6303873696639 | etot = -8.37462303003481 -728000 ekin = 1.23552066624288 | erot = 2.91835949412803 | epot = -12.528503189554 | etot = -8.37462302918309 -729000 ekin = 1.29175272909129 | erot = 2.77740116858225 | epot = -12.4437769262409 | etot = -8.37462302856741 -730000 ekin = 1.36319675322391 | erot = 2.64784734353971 | epot = -12.3856671249843 | etot = -8.37462302822068 -731000 ekin = 1.44757535461589 | erot = 2.5373686940048 | epot = -12.3595670767478 | etot = -8.37462302812714 -732000 ekin = 1.54119076310014 | erot = 2.45114849793169 | epot = -12.3669622892763 | etot = -8.37462302824445 -733000 ekin = 1.63933166940277 | erot = 2.39205275840519 | epot = -12.4060074563318 | etot = -8.37462302852384 -734000 ekin = 1.73673684349954 | erot = 2.36087235949882 | epot = -12.4722322319222 | etot = -8.37462302892382 -735000 ekin = 1.82801503458665 | erot = 2.35655963725895 | epot = -12.5591977012549 | etot = -8.37462302940934 -736000 ekin = 1.90799093496349 | erot = 2.37647912513091 | epot = -12.6590930900375 | etot = -8.37462302994312 -737000 ekin = 1.97201607374088 | erot = 2.4167506508678 | epot = -12.7633897550823 | etot = -8.37462303047367 -738000 ekin = 2.01630111185894 | erot = 2.47274745432201 | epot = -12.8636715971178 | etot = -8.3746230309369 -739000 ekin = 2.03827941487237 | erot = 2.53972508206368 | epot = -12.9526275282042 | etot = -8.37462303126812 -740000 ekin = 2.03693425613014 | erot = 2.61344505993422 | epot = -13.0250023474899 | etot = -8.37462303142556 -741000 ekin = 2.01297029115499 | erot = 2.6905926898588 | epot = -13.0781860124239 | etot = -8.37462303141013 -742000 ekin = 1.96872639115255 | erot = 2.768825663029 | epot = -13.1121750854509 | etot = -8.37462303126931 -743000 ekin = 1.90780895371572 | erot = 2.84642411506864 | epot = -13.1288560998665 | etot = -8.37462303108214 -744000 ekin = 1.8345263395222 | erot = 2.92167512844754 | epot = -13.1308244989033 | etot = -8.37462303093354 -745000 ekin = 1.75327142725026 | erot = 2.99223326162045 | epot = -13.1201277197558 | etot = -8.37462303088513 -746000 ekin = 1.66800377362375 | erot = 3.05470990306177 | epot = -13.0973367076427 | etot = -8.37462303095714 -747000 ekin = 1.58193446041863 | erot = 3.10466510764813 | epot = -13.0612225991804 | etot = -8.37462303111363 -748000 ekin = 1.49744243756517 | erot = 3.13708170333216 | epot = -13.0091471722161 | etot = -8.37462303131874 -749000 ekin = 1.41618008601908 | erot = 3.14699639332627 | epot = -12.9377995108354 | etot = -8.37462303149001 -750000 ekin = 1.33927892445982 | erot = 3.13031955346438 | epot = -12.8442215094966 | etot = -8.37462303157238 -751000 ekin = 1.26755716712042 | erot = 3.08449081841744 | epot = -12.7266710170775 | etot = -8.37462303153961 -752000 ekin = 1.20166403421557 | erot = 3.00876367724929 | epot = -12.5850507428598 | etot = -8.37462303139489 -753000 ekin = 1.14214671459751 | erot = 2.90415589317544 | epot = -12.420925638931 | etot = -8.3746230311581 -754000 ekin = 1.08946987137479 | erot = 2.77319742895417 | epot = -12.237290331179 | etot = -8.37462303085001 -755000 ekin = 1.0440339069345 | erot = 2.61963797728223 | epot = -12.0382949147008 | etot = -8.37462303048408 -756000 ekin = 1.00622473319045 | erot = 2.44820898510135 | epot = -11.8290567483582 | etot = -8.37462303006641 -757000 ekin = 0.976498427351231 | erot = 2.26449263382691 | epot = -11.61561409075 | etot = -8.37462302957185 -758000 ekin = 0.955485081992856 | erot = 2.07490082913416 | epot = -11.405008940184 | etot = -8.37462302905695 -759000 ekin = 0.943970421442231 | erot = 1.88597944059498 | epot = -11.2045728906044 | etot = -8.37462302856723 -760000 ekin = 0.94294318912847 | erot = 1.70391676485065 | epot = -11.0214829820796 | etot = -8.3746230281005 -761000 ekin = 0.953636819966077 | erot = 1.53434362883834 | epot = -10.8626034764908 | etot = -8.37462302768642 -762000 ekin = 0.977439463714333 | erot = 1.38197793547307 | epot = -10.7340404265375 | etot = -8.37462302735008 -763000 ekin = 1.01575214957369 | erot = 1.25038414094113 | epot = -10.6407593176248 | etot = -8.37462302710998 -764000 ekin = 1.06980632715205 | erot = 1.14186552721226 | epot = -10.5862948813435 | etot = -8.37462302697918 -765000 ekin = 1.14045321590921 | erot = 1.05746802222288 | epot = -10.572544265099 | etot = -8.37462302696695 -766000 ekin = 1.22794009365167 | erot = 0.997057737111095 | epot = -10.5996208578428 | etot = -8.37462302708006 -767000 ekin = 1.33169356855031 | erot = 0.959438204819042 | epot = -10.6657548006913 | etot = -8.3746230273219 -768000 ekin = 1.45013707581703 | erot = 0.942489485935499 | epot = -10.7672495894428 | etot = -8.37462302769026 -769000 ekin = 1.58057826605238 | erot = 0.943330765761073 | epot = -10.8985320599873 | etot = -8.37462302817388 -770000 ekin = 1.71920830316292 | erot = 0.958522817508245 | epot = -11.0523541494183 | etot = -8.37462302874711 -771000 ekin = 1.86125297318996 | erot = 0.984329269144567 | epot = -11.220205271702 | etot = -8.37462302936751 -772000 ekin = 2.00111996073709 | erot = 1.01706547584897 | epot = -11.3928084666614 | etot = -8.37462303007532 -773000 ekin = 2.1317967939265 | erot = 1.05343215414609 | epot = -11.5598519787626 | etot = -8.37462303068999 -774000 ekin = 2.24724323873757 | erot = 1.09038833141808 | epot = -11.7122546013415 | etot = -8.37462303118583 -775000 ekin = 2.34263593747233 | erot = 1.12564496607848 | epot = -11.8429039350699 | etot = -8.37462303151911 -776000 ekin = 2.41469510966418 | erot = 1.15782091195824 | epot = -11.947139053297 | etot = -8.37462303167463 -777000 ekin = 2.4619556450855 | erot = 1.18638590330236 | epot = -12.0229645800573 | etot = -8.37462303166939 -778000 ekin = 2.48471522536204 | erot = 1.21145891744653 | epot = -12.0707971743579 | etot = -8.3746230315493 -779000 ekin = 2.4846604780691 | erot = 1.2335280968423 | epot = -12.0928116062859 | etot = -8.37462303137446 -780000 ekin = 2.46428568677061 | erot = 1.25319615838862 | epot = -12.0921048763539 | etot = -8.37462303119463 -781000 ekin = 2.42632307022458 | erot = 1.27107093313009 | epot = -12.0720170343794 | etot = -8.37462303102472 -782000 ekin = 2.3734174717913 | erot = 1.28787882377807 | epot = -12.0359193264086 | etot = -8.37462303083922 -783000 ekin = 2.30815170371841 | erot = 1.30476531775884 | epot = -11.9875400520689 | etot = -8.37462303059164 -784000 ekin = 2.23331824904295 | erot = 1.32360971124808 | epot = -11.9315509905412 | etot = -8.37462303025017 -785000 ekin = 2.1521766671689 | erot = 1.34711489735433 | epot = -11.8739145943554 | etot = -8.37462302983219 -786000 ekin = 2.0684394078588 | erot = 1.37850506799305 | epot = -11.8215675052583 | etot = -8.37462302940647 -787000 ekin = 1.98588342004498 | erot = 1.42085370631113 | epot = -11.7813601554292 | etot = -8.37462302907311 -788000 ekin = 1.90769396723937 | erot = 1.4762681420715 | epot = -11.7585851382311 | etot = -8.37462302892024 -789000 ekin = 1.83580155857719 | erot = 1.54525606071323 | epot = -11.7556806482768 | etot = -8.37462302898641 -790000 ekin = 1.77050160314919 | erot = 1.62653131911791 | epot = -11.7716559515123 | etot = -8.37462302924516 -791000 ekin = 1.71053482190188 | erot = 1.71731536906227 | epot = -11.8024732205822 | etot = -8.37462302961806 -792000 ekin = 1.65360852455023 | erot = 1.81397519201505 | epot = -11.8422067465732 | etot = -8.37462303000797 -793000 ekin = 1.59715988493776 | erot = 1.9127367140395 | epot = -11.884519629309 | etot = -8.37462303033172 -794000 ekin = 1.53909469766649 | erot = 2.01023412205765 | epot = -11.9239518502759 | etot = -8.37462303055179 -795000 ekin = 1.47829524950051 | erot = 2.1038294102128 | epot = -11.9567476903362 | etot = -8.3746230306229 -796000 ekin = 1.41481662089948 | erot = 2.19194291994204 | epot = -11.9813825714066 | etot = -8.37462303056506 -797000 ekin = 1.3498130825007 | erot = 2.27401207106091 | epot = -11.9984481839611 | etot = -8.37462303039944 -798000 ekin = 1.28529636431119 | erot = 2.35042093010661 | epot = -12.0103403245736 | etot = -8.37462303015585 -799000 ekin = 1.22381948474414 | erot = 2.42233570221925 | epot = -12.0207782168147 | etot = -8.37462302985134 -800000 ekin = 1.16822785386793 | erot = 2.49143438534642 | epot = -12.0342852688262 | etot = -8.37462302961189 -801000 ekin = 1.12099278643146 | erot = 2.55928816630765 | epot = -12.0549039821764 | etot = -8.37462302943733 -802000 ekin = 1.08396505814664 | erot = 2.62689447863251 | epot = -12.0854825661075 | etot = -8.37462302932839 -803000 ekin = 1.05841636960378 | erot = 2.69442631110788 | epot = -12.1274657101682 | etot = -8.37462302945653 -804000 ekin = 1.04426779801641 | erot = 2.76024770981174 | epot = -12.1791385376429 | etot = -8.37462302981472 -805000 ekin = 1.03995925234054 | erot = 2.82046254234402 | epot = -12.2350448251546 | etot = -8.37462303047002 -806000 ekin = 1.0424963991489 | erot = 2.86897163061675 | epot = -12.2860910609799 | etot = -8.37462303121428 -807000 ekin = 1.04816653315864 | erot = 2.89850351396218 | epot = -12.3212930790659 | etot = -8.37462303194513 -808000 ekin = 1.05329972431587 | erot = 2.9018949304571 | epot = -12.329817687259 | etot = -8.37462303248604 -809000 ekin = 1.05511003117022 | erot = 2.87378175151955 | epot = -12.3035148153802 | etot = -8.37462303269046 -810000 ekin = 1.05231348649519 | erot = 2.81208782293289 | epot = -12.2390243419939 | etot = -8.37462303256581 -811000 ekin = 1.04519713626699 | erot = 2.71854122751437 | epot = -12.1383613957887 | etot = -8.37462303200729 -812000 ekin = 1.03556509620662 | erot = 2.59875418167188 | epot = -12.0089423090923 | etot = -8.37462303121384 -813000 ekin = 1.02617370806627 | erot = 2.46123250523916 | epot = -11.8620292436477 | etot = -8.37462303034231 -814000 ekin = 1.01993499389596 | erot = 2.31562695725385 | epot = -11.7101849806766 | etot = -8.37462302952681 -815000 ekin = 1.01938989930175 | erot = 2.17131439137989 | epot = -11.5653273195317 | etot = -8.37462302885002 -816000 ekin = 1.02641070194214 | erot = 2.036432477289 | epot = -11.4374662075757 | etot = -8.3746230283446 -817000 ekin = 1.04210163740904 | erot = 1.91741411147404 | epot = -11.3341387768941 | etot = -8.37462302801105 -818000 ekin = 1.06685452879826 | erot = 1.818921940678 | epot = -11.2603994972601 | etot = -8.37462302778386 -819000 ekin = 1.100440731457 | erot = 1.74396570048527 | epot = -11.2190294597218 | etot = -8.3746230277795 -820000 ekin = 1.14169134058291 | erot = 1.69367065616436 | epot = -11.2099850246628 | etot = -8.37462302791549 -821000 ekin = 1.18877552115673 | erot = 1.66758281677341 | epot = -11.2309813661147 | etot = -8.37462302818457 -822000 ekin = 1.23927394202831 | erot = 1.6637849463546 | epot = -11.2776819169572 | etot = -8.37462302857428 -823000 ekin = 1.29027861043636 | erot = 1.67905219550916 | epot = -11.3439538348918 | etot = -8.37462302894627 -824000 ekin = 1.33894050069293 | erot = 1.70948347746921 | epot = -11.4230470076235 | etot = -8.37462302946136 -825000 ekin = 1.38220508273179 | erot = 1.75044253331283 | epot = -11.5072706460178 | etot = -8.37462302997318 -826000 ekin = 1.4171029491027 | erot = 1.79708475167485 | epot = -11.5888107311858 | etot = -8.37462303040827 -827000 ekin = 1.44127249565024 | erot = 1.84518129447392 | epot = -11.66107682082 | etot = -8.37462303069581 -828000 ekin = 1.45335409116449 | erot = 1.8917823095111 | epot = -11.7197594314613 | etot = -8.37462303078572 -829000 ekin = 1.45330184509384 | erot = 1.93565038632077 | epot = -11.7635752620779 | etot = -8.37462303066324 -830000 ekin = 1.44253588753448 | erot = 1.97732673255233 | epot = -11.7944856504421 | etot = -8.37462303035527 -831000 ekin = 1.42321719807673 | erot = 2.01836652050623 | epot = -11.8162067486483 | etot = -8.37462303006532 -832000 ekin = 1.39798324787262 | erot = 2.06093497422807 | epot = -11.8335412516822 | etot = -8.3746230295815 -833000 ekin = 1.37122558103758 | erot = 2.10801499213557 | epot = -11.8538636023364 | etot = -8.37462302916327 -834000 ekin = 1.34739157346286 | erot = 2.16168408584085 | epot = -11.8836986881983 | etot = -8.37462302889461 -835000 ekin = 1.33033159138597 | erot = 2.22243990039942 | epot = -11.9273945206137 | etot = -8.37462302882836 -836000 ekin = 1.32279692350256 | erot = 2.28888168436755 | epot = -11.986301636848 | etot = -8.3746230289779 -837000 ekin = 1.32614569945959 | erot = 2.35776552714714 | epot = -12.058534255923 | etot = -8.3746230293163 -838000 ekin = 1.3403008431344 | erot = 2.42442328376899 | epot = -12.1393471566817 | etot = -8.37462302977832 -839000 ekin = 1.36395770572684 | erot = 2.48350186340464 | epot = -12.222082599402 | etot = -8.37462303027048 -840000 ekin = 1.39499323416537 | erot = 2.52993036126219 | epot = -12.299546626116 | etot = -8.37462303068842 -841000 ekin = 1.43098519524504 | erot = 2.5599379691709 | epot = -12.3655461953596 | etot = -8.37462303094361 -842000 ekin = 1.46971603973845 | erot = 2.57185321601318 | epot = -12.4161922867453 | etot = -8.37462303099366 -843000 ekin = 1.50953312203373 | erot = 2.56639824287125 | epot = -12.4505543957627 | etot = -8.37462303085771 -844000 ekin = 1.54948222757244 | erot = 2.54631968023969 | epot = -12.4704249384232 | etot = -8.37462303061104 -845000 ekin = 1.58921446589296 | erot = 2.5154473187876 | epot = -12.4792848150357 | etot = -8.37462303035509 -846000 ekin = 1.62874660073221 | erot = 2.4775136944313 | epot = -12.4808833253415 | etot = -8.37462303017796 -847000 ekin = 1.66818957254827 | erot = 2.43516936578467 | epot = -12.477981968457 | etot = -8.37462303012405 -848000 ekin = 1.70754173431446 | erot = 2.38953851005258 | epot = -12.4717032745492 | etot = -8.37462303018218 -849000 ekin = 1.74659403306508 | erot = 2.34043091651812 | epot = -12.4616479798811 | etot = -8.37462303029795 -850000 ekin = 1.78494345866321 | erot = 2.28706007038529 | epot = -12.4466265594494 | etot = -8.37462303040093 -851000 ekin = 1.82207688727604 | erot = 2.2289142006414 | epot = -12.4256141183555 | etot = -8.3746230304381 -852000 ekin = 1.85747606626899 | erot = 2.16637383867245 | epot = -12.3984729353385 | etot = -8.37462303039711 -853000 ekin = 1.89070501215755 | erot = 2.10080168939738 | epot = -12.3661297318617 | etot = -8.37462303030681 -854000 ekin = 1.92146598579694 | erot = 2.03409194239609 | epot = -12.3301809584131 | etot = -8.3746230302201 -855000 ekin = 1.94963553788679 | erot = 1.96792069996032 | epot = -12.2921792680323 | etot = -8.37462303018517 -856000 ekin = 1.97530408452449 | erot = 1.90306034570378 | epot = -12.2529874604504 | etot = -8.37462303022214 -857000 ekin = 1.99898235174131 | erot = 1.83954776717695 | epot = -12.2131531489779 | etot = -8.37462303005959 -858000 ekin = 2.02148966893509 | erot = 1.77712472343153 | epot = -12.1732374225842 | etot = -8.37462303021759 -859000 ekin = 2.04332984814334 | erot = 1.71372610060062 | epot = -12.1316789790773 | etot = -8.37462303033332 -860000 ekin = 2.06530510863073 | erot = 1.64761266618404 | epot = -12.0875408051618 | etot = -8.374623030347 -861000 ekin = 2.08844047522602 | erot = 1.57839130430927 | epot = -12.0414548097696 | etot = -8.37462303023435 -862000 ekin = 2.11372996876901 | erot = 1.50759861505592 | epot = -11.9959516138468 | etot = -8.37462303002184 -863000 ekin = 2.14175193679491 | erot = 1.43866072802333 | epot = -11.9550356946058 | etot = -8.3746230297876 -864000 ekin = 2.17225364143819 | erot = 1.37614575517505 | epot = -11.9230224262469 | etot = -8.37462302963362 -865000 ekin = 2.20389689304742 | erot = 1.32450432847587 | epot = -11.9030242511591 | etot = -8.37462302963585 -866000 ekin = 2.23438769161032 | erot = 1.28681328070663 | epot = -11.8958240017877 | etot = -8.3746230294708 -867000 ekin = 2.26151301831441 | erot = 1.26501341500429 | epot = -11.9011494630749 | etot = -8.37462302975622 -868000 ekin = 2.28295312633932 | erot = 1.25876385670057 | epot = -11.916340013014 | etot = -8.37462302997407 -869000 ekin = 2.29713139087991 | erot = 1.26636363803581 | epot = -11.93811805896 | etot = -8.37462303004431 -870000 ekin = 2.30388454566185 | erot = 1.28638972777185 | epot = -11.9648973034193 | etot = -8.3746230299856 -871000 ekin = 2.30409365412262 | erot = 1.3178762126361 | epot = -11.9965928971142 | etot = -8.37462303035544 -872000 ekin = 2.29712455306445 | erot = 1.35930276714503 | epot = -12.0310503505629 | etot = -8.37462303035347 -873000 ekin = 2.2827453931626 | erot = 1.40846954678818 | epot = -12.065837970059 | etot = -8.37462303010826 -874000 ekin = 2.26320703627572 | erot = 1.46277950106312 | epot = -12.1006095675599 | etot = -8.37462303022103 -875000 ekin = 2.24001634728594 | erot = 1.51889022328616 | epot = -12.1335296008613 | etot = -8.37462303028924 -876000 ekin = 2.21430830467177 | erot = 1.57348199615488 | epot = -12.1624133311039 | etot = -8.37462303027722 -877000 ekin = 2.18777848573904 | erot = 1.6238902016126 | epot = -12.1862917175001 | etot = -8.37462303014841 -878000 ekin = 2.16252897548043 | erot = 1.66838793090838 | epot = -12.2055399364441 | etot = -8.3746230300553 -879000 ekin = 2.14044753722094 | erot = 1.70571411560618 | epot = -12.2207846828201 | etot = -8.37462302999299 -880000 ekin = 2.12277471002905 | erot = 1.73469967121715 | epot = -12.2320974112717 | etot = -8.37462303002546 -881000 ekin = 2.1097746736021 | erot = 1.75399371448778 | epot = -12.2383914182746 | etot = -8.37462303018477 -882000 ekin = 2.1005016432247 | erot = 1.76187019273806 | epot = -12.2369948664083 | etot = -8.37462303044556 -883000 ekin = 2.09290867712761 | erot = 1.75649694685333 | epot = -12.2240286546966 | etot = -8.37462303071566 -884000 ekin = 2.08433703645321 | erot = 1.73671500456619 | epot = -12.1956750719276 | etot = -8.37462303090818 -885000 ekin = 2.07202901572868 | erot = 1.70282592067691 | epot = -12.149477967362 | etot = -8.37462303095645 -886000 ekin = 2.05378411491616 | erot = 1.65660476472205 | epot = -12.085011910272 | etot = -8.37462303063378 -887000 ekin = 2.02874297420998 | erot = 1.60297409541633 | epot = -12.0063400996958 | etot = -8.37462303006953 -888000 ekin = 1.99720256583061 | erot = 1.54912086824732 | epot = -11.9209464635357 | etot = -8.37462302945781 -889000 ekin = 1.95913963735699 | erot = 1.50198702369296 | epot = -11.8357496899727 | etot = -8.37462302892274 -890000 ekin = 1.91617614841913 | erot = 1.46746689325901 | epot = -11.7582660702128 | etot = -8.37462302853469 -891000 ekin = 1.87023137415973 | erot = 1.44931992810327 | epot = -11.6941743305868 | etot = -8.3746230283238 -892000 ekin = 1.8231621873456 | erot = 1.44889048228621 | epot = -11.6466756979021 | etot = -8.37462302827025 -893000 ekin = 1.77672781685429 | erot = 1.46538080245983 | epot = -11.6167316476416 | etot = -8.37462302832747 -894000 ekin = 1.73267401007855 | erot = 1.49642015526062 | epot = -11.6037171937751 | etot = -8.37462302843589 -895000 ekin = 1.69287615444341 | erot = 1.53876375542455 | epot = -11.6062629384049 | etot = -8.3746230285369 -896000 ekin = 1.65946528810789 | erot = 1.58897281258336 | epot = -11.6230611292845 | etot = -8.37462302859323 -897000 ekin = 1.63484229163068 | erot = 1.64389812681416 | epot = -11.6533634470399 | etot = -8.37462302859503 -898000 ekin = 1.62150447332005 | erot = 1.70104293751331 | epot = -11.697170439403 | etot = -8.37462302856965 -899000 ekin = 1.62168394146258 | erot = 1.75850368945834 | epot = -11.7548106594898 | etot = -8.37462302856883 -900000 ekin = 1.63689346404302 | erot = 1.81470313447753 | epot = -11.8262196271621 | etot = -8.37462302864159 -901000 ekin = 1.66753387742819 | erot = 1.86808611524062 | epot = -11.9102430214838 | etot = -8.37462302881503 -902000 ekin = 1.71269692238274 | erot = 1.91693084841939 | epot = -12.0042507998873 | etot = -8.37462302908514 -903000 ekin = 1.77021838508481 | erot = 1.95934050990426 | epot = -12.1041819244145 | etot = -8.37462302942543 -904000 ekin = 1.83694819296821 | erot = 1.99341312084221 | epot = -12.2049843435908 | etot = -8.37462302978037 -905000 ekin = 1.90914641654266 | erot = 2.01754527647795 | epot = -12.30131472313 | etot = -8.37462303010942 -906000 ekin = 1.98289589688646 | erot = 2.03065122058688 | epot = -12.3881701478555 | etot = -8.37462303038212 -907000 ekin = 2.054438779243 | erot = 2.03228127523553 | epot = -12.4613430850655 | etot = -8.37462303058698 -908000 ekin = 2.12038320006242 | erot = 2.02259637575073 | epot = -12.5176026065432 | etot = -8.37462303073002 -909000 ekin = 2.17777472065707 | erot = 2.0022386877701 | epot = -12.5546364392526 | etot = -8.37462303082542 -910000 ekin = 2.22407231387976 | erot = 1.97218459089875 | epot = -12.5708799356625 | etot = -8.37462303088398 -911000 ekin = 2.25709881230759 | erot = 1.93367043925372 | epot = -12.5653922824647 | etot = -8.37462303090339 -912000 ekin = 2.27504055965831 | erot = 1.88824345124241 | epot = -12.5379070417669 | etot = -8.37462303086623 -913000 ekin = 2.27654326616713 | erot = 1.83792322947699 | epot = -12.4890895263909 | etot = -8.37462303074678 -914000 ekin = 2.26395838707267 | erot = 1.78540897804261 | epot = -12.4239903947872 | etot = -8.37462302967189 -915000 ekin = 2.24045468912196 | erot = 1.73372810068503 | epot = -12.3488058193217 | etot = -8.37462302951466 -916000 ekin = 2.20520370202174 | erot = 1.686151051967 | epot = -12.2659777832985 | etot = -8.37462302930976 -917000 ekin = 2.15800582906352 | erot = 1.64606783755989 | epot = -12.1786966957246 | etot = -8.3746230291012 -918000 ekin = 2.09921834411498 | erot = 1.61647797759857 | epot = -12.0903193506413 | etot = -8.37462302892771 -919000 ekin = 2.02966476142743 | erot = 1.599549497798 | epot = -12.0038372880272 | etot = -8.3746230288018 -920000 ekin = 1.95065755949502 | erot = 1.59642144855376 | epot = -11.9217020368434 | etot = -8.37462302879458 -921000 ekin = 1.8636620065108 | erot = 1.60750866079726 | epot = -11.8457936959376 | etot = -8.37462302862953 -922000 ekin = 1.77152243885364 | erot = 1.63263587421313 | epot = -11.7787813414912 | etot = -8.37462302842448 -923000 ekin = 1.67869484033055 | erot = 1.67111175334441 | epot = -11.7244296218603 | etot = -8.3746230281853 -924000 ekin = 1.59024537021244 | erot = 1.72202288864506 | epot = -11.6868912868186 | etot = -8.3746230279611 -925000 ekin = 1.51123937036936 | erot = 1.78411652410876 | epot = -11.6699789223007 | etot = -8.37462302782256 -926000 ekin = 1.44599317764589 | erot = 1.85554834407226 | epot = -11.6761645495391 | etot = -8.37462302782096 -927000 ekin = 1.39752558601065 | erot = 1.9337066123555 | epot = -11.7058552263247 | etot = -8.3746230279586 -928000 ekin = 1.36763823809538 | erot = 2.01538770680855 | epot = -11.757648972791 | etot = -8.37462302788704 -929000 ekin = 1.36100399983992 | erot = 2.09737818238218 | epot = -11.8330052106852 | etot = -8.37462302846307 -930000 ekin = 1.35523134970511 | erot = 2.17722433883731 | epot = -11.9070787109271 | etot = -8.37462302238468 -931000 ekin = 1.39431469299436 | erot = 2.25435620438246 | epot = -12.0232939189468 | etot = -8.37462302156997 -932000 ekin = 1.49280866705058 | erot = 2.31847930193787 | epot = -12.1859109889588 | etot = -8.37462301997038 -933000 ekin = 1.58533340946768 | erot = 2.36490000058057 | epot = -12.32485643027 | etot = -8.37462302022171 -934000 ekin = 1.68690712098869 | erot = 2.39298221168838 | epot = -12.4545123553117 | etot = -8.37462302263461 -935000 ekin = 1.78473836463911 | erot = 2.39676204060952 | epot = -12.5561234284532 | etot = -8.37462302320454 -936000 ekin = 1.8698772538689 | erot = 2.37258693733547 | epot = -12.6170872147102 | etot = -8.37462302350582 -937000 ekin = 1.93720452638615 | erot = 2.32043568374803 | epot = -12.6322632336394 | etot = -8.37462302350518 -938000 ekin = 1.98385208910065 | erot = 2.24266190734071 | epot = -12.6011370196626 | etot = -8.37462302322125 -939000 ekin = 2.00910923706108 | erot = 2.14379034932921 | epot = -12.5275226091194 | etot = -8.37462302272916 -940000 ekin = 2.01395507290262 | erot = 2.02993348654092 | epot = -12.4185115815347 | etot = -8.37462302209116 -941000 ekin = 2.00103743452152 | erot = 1.90808629517784 | epot = -12.2837467510742 | etot = -8.37462302137486 -942000 ekin = 1.97419824310677 | erot = 1.78546116622571 | epot = -12.1342824299717 | etot = -8.37462302063921 -943000 ekin = 1.93808318009367 | erot = 1.66892069893714 | epot = -11.9816268989612 | etot = -8.37462301993037 -944000 ekin = 1.89777663358483 | erot = 1.56456198515311 | epot = -11.836961638024 | etot = -8.37462301928607 -945000 ekin = 1.85843605735837 | erot = 1.4774221417752 | epot = -11.7104812178744 | etot = -8.37462301874083 -946000 ekin = 1.82491092896719 | erot = 1.41124588131947 | epot = -11.610779828619 | etot = -8.3746230183323 -947000 ekin = 1.8013422188344 | erot = 1.36826076777147 | epot = -11.5442260047056 | etot = -8.37462301809976 -948000 ekin = 1.79076227753392 | erot = 1.34894522657274 | epot = -11.5143305221863 | etot = -8.37462301807965 -949000 ekin = 1.79475359820132 | erot = 1.35184135984867 | epot = -11.5212179763387 | etot = -8.37462301828871 -950000 ekin = 1.81326202048993 | erot = 1.37352812801048 | epot = -11.5614131672086 | etot = -8.3746230187082 -951000 ekin = 1.84466122228548 | erot = 1.40888082073311 | epot = -11.6281650622951 | etot = -8.37462301927651 -952000 ekin = 1.88610598517686 | erot = 1.45166996305775 | epot = -11.7123989681328 | etot = -8.37462301989817 -953000 ekin = 1.93415626208494 | erot = 1.49545802208046 | epot = -11.8042373044908 | etot = -8.37462302032539 -954000 ekin = 1.98570845874811 | erot = 1.53486140750217 | epot = -11.8951928870177 | etot = -8.37462302076742 -955000 ekin = 2.03763688300238 | erot = 1.56575119867149 | epot = -11.9780111026985 | etot = -8.37462302102462 -956000 ekin = 2.08752516850599 | erot = 1.58576425992308 | epot = -12.0479124495213 | etot = -8.37462302109223 -957000 ekin = 2.13388693710964 | erot = 1.59443657079239 | epot = -12.1029465289046 | etot = -8.37462302100253 -958000 ekin = 2.17603134876323 | erot = 1.59291217741732 | epot = -12.1435665469902 | etot = -8.37462302080964 -959000 ekin = 2.21381255039645 | erot = 1.58343493106879 | epot = -12.1718705020378 | etot = -8.37462302057259 -960000 ekin = 2.24735101958252 | erot = 1.56876603527579 | epot = -12.1907400752033 | etot = -8.37462302034496 -961000 ekin = 2.27678636585394 | erot = 1.55164507323792 | epot = -12.2030544592584 | etot = -8.37462302016653 -962000 ekin = 2.30208813280108 | erot = 1.53436606871911 | epot = -12.2110772215847 | etot = -8.37462302006456 -963000 ekin = 2.32292955590133 | erot = 1.51849868398433 | epot = -12.2160512599371 | etot = -8.37462302005146 -964000 ekin = 2.33862421267245 | erot = 1.50476151876516 | epot = -12.2180087515633 | etot = -8.37462302012571 -965000 ekin = 2.34813222213143 | erot = 1.49304783092148 | epot = -12.2158030733237 | etot = -8.37462302027083 -966000 ekin = 2.35015122853115 | erot = 1.48260237418126 | epot = -12.2073766231662 | etot = -8.37462302045376 -967000 ekin = 2.34330726066097 | erot = 1.47233774696392 | epot = -12.1902680282532 | etot = -8.37462302062827 -968000 ekin = 2.32644504715423 | erot = 1.46125212630425 | epot = -12.1623201941992 | etot = -8.37462302074071 -969000 ekin = 2.29898771919739 | erot = 1.44887277461759 | epot = -12.1224835145563 | etot = -8.37462302074132 -970000 ekin = 2.26130276214329 | erot = 1.43562016619225 | epot = -12.0715459489323 | etot = -8.37462302059672 -971000 ekin = 2.21499063336338 | erot = 1.42298879008765 | epot = -12.0126024437513 | etot = -8.37462302030023 -972000 ekin = 2.16303757451795 | erot = 1.41348472406763 | epot = -11.9511453183675 | etot = -8.37462301978193 -973000 ekin = 2.10950969273511 | erot = 1.41039391551614 | epot = -11.8945266278569 | etot = -8.37462301960568 -974000 ekin = 2.05703199419742 | erot = 1.41732503873297 | epot = -11.8489800520861 | etot = -8.37462301915571 -975000 ekin = 2.01010390574851 | erot = 1.43732066922317 | epot = -11.8220475937238 | etot = -8.37462301875209 -976000 ekin = 1.97340114977604 | erot = 1.47261385396266 | epot = -11.8206380222139 | etot = -8.37462301847519 -977000 ekin = 1.95082006444706 | erot = 1.52416835984337 | epot = -11.8496114426886 | etot = -8.37462301839813 -978000 ekin = 1.94472832271128 | erot = 1.59131019459127 | epot = -11.9106615358755 | etot = -8.37462301857292 -979000 ekin = 1.95538713571685 | erot = 1.67153495870254 | epot = -12.0015451134338 | etot = -8.37462301901437 -980000 ekin = 1.9806772386571 | erot = 1.76051368575205 | epot = -12.1158139441915 | etot = -8.37462301978231 -981000 ekin = 2.0157957192546 | erot = 1.85207319538924 | epot = -12.2424919352912 | etot = -8.37462302064736 -982000 ekin = 2.05441082040089 | erot = 1.93952253755685 | epot = -12.3685563794566 | etot = -8.37462302149882 -983000 ekin = 2.08992138438914 | erot = 2.01671280308128 | epot = -12.4812572096503 | etot = -8.37462302217987 -984000 ekin = 2.11656909821701 | erot = 2.0791069696724 | epot = -12.5702990904621 | etot = -8.37462302257267 -985000 ekin = 2.13033501102878 | erot = 2.12464764346843 | epot = -12.6296056771301 | etot = -8.37462302263285 -986000 ekin = 2.12935596248979 | erot = 2.15403431725422 | epot = -12.6580133021435 | etot = -8.37462302239946 -987000 ekin = 2.11471923988066 | erot = 2.17104098415337 | epot = -12.6603832459165 | etot = -8.37462302188252 -988000 ekin = 2.09119735101514 | erot = 2.18228698931312 | epot = -12.6481073619531 | etot = -8.37462302162481 -989000 ekin = 2.06027968801239 | erot = 2.19075462083379 | epot = -12.6256573302412 | etot = -8.37462302139499 -990000 ekin = 2.02336255788569 | erot = 2.19843813688565 | epot = -12.5964237160084 | etot = -8.3746230212371 -991000 ekin = 1.9818807746635 | erot = 2.20638055720266 | epot = -12.5628843530201 | etot = -8.37462302115396 -992000 ekin = 1.93715749695397 | erot = 2.21473069767593 | epot = -12.5265112157503 | etot = -8.3746230211204 -993000 ekin = 1.89038311211027 | erot = 2.22307759878468 | epot = -12.4880837319987 | etot = -8.37462302110374 -994000 ekin = 1.84266575140808 | erot = 2.23084817708143 | epot = -12.4481369495678 | etot = -8.37462302107828 -995000 ekin = 1.79502825849046 | erot = 2.23761065997445 | epot = -12.4072619394846 | etot = -8.37462302101966 -996000 ekin = 1.74865820355827 | erot = 2.24323231086594 | epot = -12.3665135353626 | etot = -8.37462302093837 -997000 ekin = 1.70508150016762 | erot = 2.24765365390706 | epot = -12.3273581749305 | etot = -8.37462302085581 -998000 ekin = 1.66588125243956 | erot = 2.25078611336562 | epot = -12.2912903865797 | etot = -8.37462302077456 -999000 ekin = 1.63259998370264 | erot = 2.25262768593231 | epot = -12.2598506903066 | etot = -8.37462302067164 -1000000 ekin = 1.60661879878063 | erot = 2.2537352861968 | epot = -12.2349771055354 | etot = -8.37462302055793 - 1000000 0.1190088 -1.3493654 0.12586767 -1.0628358 0.00017426596 64000 -Loop time of 13.9702 on 4 procs for 1000000 steps with 10 atoms - -Performance: 61846.133 tau/day, 71581.172 timesteps/s -99.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 | 5.73 | 7.4134 | 9.1286 | 56.7 | 53.07 -Bond | 0.26662 | 0.33045 | 0.41401 | 10.3 | 2.37 -Neigh | 0.006735 | 0.0067415 | 0.006755 | 0.0 | 0.05 -Comm | 1.8191 | 2.0224 | 2.2513 | 11.6 | 14.48 -Output | 0.080433 | 0.083152 | 0.087335 | 0.9 | 0.60 -Modify | 0.52945 | 0.63648 | 0.73642 | 12.3 | 4.56 -Other | | 3.477 | | | 24.89 - -Nlocal: 2.50000 ave 3 max 2 min -Histogram: 2 0 0 0 0 0 0 0 0 2 -Nghost: 7.50000 ave 8 max 7 min -Histogram: 2 0 0 0 0 0 0 0 0 2 -Neighs: 17.5000 ave 20 max 15 min -Histogram: 2 0 0 0 0 0 0 0 0 2 - -Total # of neighbors = 70 -Ave neighs/atom = 7.0000000 -Ave special neighs/atom = 3.6000000 -Neighbor list builds = 1000 -Dangerous builds = 0 - -write_data last_config.${number}.* nocoeff -write_data last_config.1.* nocoeff -System init for write_data ... -Total wall time: 0:00:13 diff --git a/examples/PACKAGES/cgdna/examples/oxDNA2/duplex1/log.2Jul21.duplex1.g++.1 b/examples/PACKAGES/cgdna/examples/oxDNA2/duplex1/log.2Jul21.duplex1.g++.1 new file mode 100644 index 0000000000..c73ab7ca61 --- /dev/null +++ b/examples/PACKAGES/cgdna/examples/oxDNA2/duplex1/log.2Jul21.duplex1.g++.1 @@ -0,0 +1,1181 @@ +LAMMPS (2 Jul 2021) +variable number equal 1 +variable ofreq equal 1000 +variable efreq equal 1000 +variable T equal 0.1 +variable rhos equal 0.2 + +units lj + +dimension 3 + +newton on + +boundary p p p + +atom_style hybrid bond ellipsoid oxdna +WARNING: Atom style hybrid defines both, per-type and per-atom masses; both must be set, but only per-atom masses will be used (../atom_vec_hybrid.cpp:157) +atom_modify sort 0 1.0 + +# Pair interactions require lists of neighbours to be calculated +neighbor 2.0 bin +neigh_modify every 1 delay 0 check yes + +read_data data.duplex1 +Reading data file ... + orthogonal box = (-20.000000 -20.000000 -20.000000) to (20.000000 20.000000 20.000000) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 10 atoms + reading velocities ... + 10 velocities + scanning bonds ... + 1 = max bonds/atom + 10 ellipsoids + reading bonds ... + 8 bonds +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 + 2 = max # of 1-3 neighbors + 2 = max # of 1-4 neighbors + 4 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.003 seconds + +set atom * mass 3.1575 +Setting atom values ... + 10 settings made for mass + +group all type 1 4 +10 atoms in group all + +# oxDNA2 bond interactions - FENE backbone +bond_style oxdna2/fene +bond_coeff * 2.0 0.25 0.7564 +special_bonds lj 0 1 1 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 1 1 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 2 = max # of 1-3 neighbors + 2 = max # of 1-4 neighbors + 4 = max # of special neighbors + special bonds CPU = 0.000 seconds + +# oxDNA2 pair interactions +pair_style hybrid/overlay oxdna2/excv oxdna2/stk oxdna2/hbond oxdna2/xstk oxdna2/coaxstk oxdna2/dh +pair_coeff * * oxdna2/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32 +pair_coeff * * oxdna2/stk seqav ${T} 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 +pair_coeff * * oxdna2/stk seqav 0.1 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 +pair_coeff * * oxdna2/hbond seqav 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 1 4 oxdna2/hbond seqav 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 2 3 oxdna2/hbond seqav 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff * * oxdna2/xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68 +pair_coeff * * oxdna2/coaxstk 58.5 0.4 0.6 0.22 0.58 2.0 2.891592653589793 0.65 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 40.0 3.116592653589793 +pair_coeff * * oxdna2/dh ${T} ${rhos} 0.815 +pair_coeff * * oxdna2/dh 0.1 ${rhos} 0.815 +pair_coeff * * oxdna2/dh 0.1 0.2 0.815 + +# NVE ensemble +fix 1 all nve/asphere +#fix 2 all langevin ${T} ${T} 2.5 457145 angmom 10 + +timestep 1e-5 + +#comm_style tiled +fix 3 all balance 1000 1.03 shift xyz 10 1.03 +comm_modify cutoff 3.8 + +compute quat all property/atom quatw quati quatj quatk + +compute erot all erotate/asphere +compute ekin all ke +compute epot all pe +variable erot equal c_erot +variable ekin equal c_ekin +variable epot equal c_epot +variable etot equal c_erot+c_ekin+c_epot +fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes +fix 5 all print 1000 "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes + +dump out all custom ${ofreq} out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump out all custom 1000 out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump out all custom 1000 out.1.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump_modify out sort id +dump_modify out format line "%d %d %d %22.15le %22.15le %22.15le %d %d %d %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le" + +run 1000000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 5.6389877 + ghost atom cutoff = 5.6389877 + binsize = 2.8194939, bins = 15 15 15 + 5 neighbor lists, perpetual/occasional/extra = 5 0 0 + (1) pair oxdna2/excv, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard + (2) pair oxdna2/hbond, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none + (3) pair oxdna2/xstk, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none + (4) pair oxdna2/coaxstk, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none + (5) pair oxdna2/dh, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none +WARNING: Communication cutoff adjusted to 5.638987723814632 (../comm.cpp:739) +0 ekin = 1.10853632272819 | erot = 2.81573649976629 | epot = -12.298895791142 | etot = -8.37462296864751 +Per MPI rank memory allocation (min/avg/max) = 9.198 | 9.198 | 9.198 Mbytes +Step Temp E_pair E_mol TotEng Press Volume + 0 0.082113802 -1.3370157 0.10712616 -1.1190359 -6.6192825e-05 64000 +1000 ekin = 1.07640077431763 | erot = 2.90684392233817 | epot = -12.357867665527 | etot = -8.37462296887116 +2000 ekin = 1.05363107794411 | erot = 2.99414178935849 | epot = -12.4223958364622 | etot = -8.37462296915965 +3000 ekin = 1.04083382823095 | erot = 3.07274362339771 | epot = -12.4882004210899 | etot = -8.37462296946123 +4000 ekin = 1.03780093165924 | erot = 3.13815143503914 | epot = -12.550575336422 | etot = -8.37462296972364 +5000 ekin = 1.04371581655899 | erot = 3.18681185449856 | epot = -12.6051506409707 | etot = -8.37462296991315 +6000 ekin = 1.05738085799295 | erot = 3.21642353087479 | epot = -12.6484273588876 | etot = -8.37462297001983 +7000 ekin = 1.07739394884042 | erot = 3.22597832036696 | epot = -12.677995239256 | etot = -8.37462297004867 +8000 ekin = 1.10226637472087 | erot = 3.21563966301732 | epot = -12.6925290077505 | etot = -8.37462297001231 +9000 ekin = 1.13051291055326 | erot = 3.18656247631366 | epot = -12.6916983567816 | etot = -8.37462296991465 +10000 ekin = 1.16073704358063 | erot = 3.14076972913372 | epot = -12.6761297424775 | etot = -8.37462296976311 +11000 ekin = 1.19170449380505 | erot = 3.08098965164652 | epot = -12.6473171150236 | etot = -8.37462296957204 +12000 ekin = 1.22238189802729 | erot = 3.01040253468266 | epot = -12.6074074020775 | etot = -8.37462296936753 +13000 ekin = 1.25192691881487 | erot = 2.93230261872824 | epot = -12.5588525067181 | etot = -8.37462296917498 +14000 ekin = 1.27963857618757 | erot = 2.84975156813381 | epot = -12.5040131133432 | etot = -8.37462296902179 +15000 ekin = 1.30489368750123 | erot = 2.76534813925014 | epot = -12.444864795638 | etot = -8.37462296888666 +16000 ekin = 1.32709913751461 | erot = 2.6811818478553 | epot = -12.3829039541517 | etot = -8.37462296878182 +17000 ekin = 1.34568132349844 | erot = 2.5986128569079 | epot = -12.3189171492215 | etot = -8.37462296881515 +18000 ekin = 1.36011712604124 | erot = 2.51802979978579 | epot = -12.2527698947086 | etot = -8.37462296888154 +19000 ekin = 1.3700055901564 | erot = 2.43889875259719 | epot = -12.1835273117078 | etot = -8.37462296895424 +20000 ekin = 1.37516683465212 | erot = 2.36049590954913 | epot = -12.1102857132061 | etot = -8.37462296900481 +21000 ekin = 1.37575335509454 | erot = 2.28221618930094 | epot = -12.0325925134033 | etot = -8.37462296900785 +22000 ekin = 1.37235802310946 | erot = 2.20383846967473 | epot = -11.9508194617285 | etot = -8.37462296894431 +23000 ekin = 1.36610326249347 | erot = 2.12570839352804 | epot = -11.8664346248253 | etot = -8.37462296880382 +24000 ekin = 1.35869525710689 | erot = 2.04881568638621 | epot = -11.7821339120795 | etot = -8.3746229685864 +25000 ekin = 1.35242255125593 | erot = 1.97475968439782 | epot = -11.7018052039589 | etot = -8.37462296830517 +26000 ekin = 1.3500701244009 | erot = 1.90560954362746 | epot = -11.6303026360115 | etot = -8.37462296798316 +27000 ekin = 1.35474332970461 | erot = 1.843676291157 | epot = -11.573042588521 | etot = -8.37462296765941 +28000 ekin = 1.36954369410747 | erot = 1.79121252282618 | epot = -11.5353791843194 | etot = -8.37462296738577 +29000 ekin = 1.39711560919894 | erot = 1.75006009044062 | epot = -11.5217986668613 | etot = -8.37462296722172 +30000 ekin = 1.43911092490998 | erot = 1.72127833748021 | epot = -11.5350122296156 | etot = -8.37462296722543 +31000 ekin = 1.49567630461185 | erot = 1.70480588615783 | epot = -11.5751051582055 | etot = -8.37462296743583 +32000 ekin = 1.56511285114173 | erot = 1.69923538983358 | epot = -11.6389712088327 | etot = -8.37462296785736 +33000 ekin = 1.64385110263233 | erot = 1.70198396265071 | epot = -11.7204580336836 | etot = -8.37462296840058 +34000 ekin = 1.72681002365018 | erot = 1.70946314344897 | epot = -11.8108961361853 | etot = -8.37462296908616 +35000 ekin = 1.80812188596362 | erot = 1.71712980816865 | epot = -11.8998746638723 | etot = -8.37462296974007 +36000 ekin = 1.88201893971536 | erot = 1.72067857993906 | epot = -11.9773204899106 | etot = -8.37462297025618 +37000 ekin = 1.94364733336808 | erot = 1.71680208569968 | epot = -12.0350723896309 | etot = -8.37462297056312 +38000 ekin = 1.98961498615624 | erot = 1.70370907929488 | epot = -12.0679470360927 | etot = -8.37462297064162 +39000 ekin = 2.01818359901078 | erot = 1.68126711282219 | epot = -12.0740736823535 | etot = -8.37462297052054 +40000 ekin = 2.02914332282544 | erot = 1.65077260628057 | epot = -12.0545388993641 | etot = -8.37462297025811 +41000 ekin = 2.02349103018079 | erot = 1.61448262351112 | epot = -12.012596623611 | etot = -8.37462296991906 +42000 ekin = 2.00304412554487 | erot = 1.57509121259578 | epot = -11.9527583076989 | etot = -8.37462296955828 +43000 ekin = 1.97008148028931 | erot = 1.5352951062099 | epot = -11.8799995557137 | etot = -8.3746229692145 +44000 ekin = 1.92705109571046 | erot = 1.49750726070831 | epot = -11.7991813253589 | etot = -8.37462296894018 +45000 ekin = 1.87634986385838 | erot = 1.46354390598906 | epot = -11.714516738533 | etot = -8.37462296868559 +46000 ekin = 1.82016797429729 | erot = 1.43491031451222 | epot = -11.6297012572909 | etot = -8.37462296848135 +47000 ekin = 1.76039182008996 | erot = 1.41286016407003 | epot = -11.5478749524839 | etot = -8.37462296832397 +48000 ekin = 1.69856949274756 | erot = 1.39838217522426 | epot = -11.4715746361766 | etot = -8.37462296820474 +49000 ekin = 1.6359395498873 | erot = 1.39228918140579 | epot = -11.4028516994048 | etot = -8.37462296811169 +50000 ekin = 1.57351801537284 | erot = 1.39530041169495 | epot = -11.3434413950981 | etot = -8.37462296803028 +51000 ekin = 1.51222872476347 | erot = 1.40810650340941 | epot = -11.2949581961199 | etot = -8.37462296794708 +52000 ekin = 1.45305245526488 | erot = 1.43140550730924 | epot = -11.2590809304256 | etot = -8.37462296785146 +53000 ekin = 1.39716366086918 | erot = 1.46589567493529 | epot = -11.2376823035411 | etot = -8.37462296773663 +54000 ekin = 1.34602153837047 | erot = 1.51222067984183 | epot = -11.2328651858297 | etot = -8.37462296761736 +55000 ekin = 1.30138436197332 | erot = 1.57077970891814 | epot = -11.2467870384005 | etot = -8.37462296750909 +56000 ekin = 1.26522647192232 | erot = 1.64151101613075 | epot = -11.2813604554938 | etot = -8.37462296744077 +57000 ekin = 1.23956119808437 | erot = 1.72363092633031 | epot = -11.337815091859 | etot = -8.37462296744431 +58000 ekin = 1.22620283906725 | erot = 1.81539828229235 | epot = -11.4162240889032 | etot = -8.3746229675436 +59000 ekin = 1.22652758768648 | erot = 1.91400381193546 | epot = -11.5151543673675 | etot = -8.37462296774558 +60000 ekin = 1.24129579501613 | erot = 2.01564970996742 | epot = -11.6315684730212 | etot = -8.37462296803768 +61000 ekin = 1.27057003505312 | erot = 2.11581304358673 | epot = -11.7610060470473 | etot = -8.37462296840743 +62000 ekin = 1.31372115356085 | erot = 2.20955642503253 | epot = -11.8979005473869 | etot = -8.37462296879357 +63000 ekin = 1.36947667734256 | erot = 2.29224896410242 | epot = -12.0363486106153 | etot = -8.37462296917035 +64000 ekin = 1.43596184816363 | erot = 2.35998108781816 | epot = -12.1705659055152 | etot = -8.37462296953339 +65000 ekin = 1.5108757081497 | erot = 2.40947275989103 | epot = -12.294971437873 | etot = -8.37462296983226 +66000 ekin = 1.59162978656338 | erot = 2.43872351537743 | epot = -12.404976271986 | etot = -8.37462297004522 +67000 ekin = 1.67546349074575 | erot = 2.4472618699926 | epot = -12.4973483309005 | etot = -8.37462297016214 +68000 ekin = 1.75953613825208 | erot = 2.43621057967599 | epot = -12.5703696881156 | etot = -8.37462297018751 +69000 ekin = 1.84098201456571 | erot = 2.40815676459644 | epot = -12.6237617493037 | etot = -8.37462297014158 +70000 ekin = 1.91692810522256 | erot = 2.36682660300834 | epot = -12.6583776782867 | etot = -8.37462297005584 +71000 ekin = 1.98449380473026 | erot = 2.31661131420489 | epot = -12.6757280888525 | etot = -8.37462296991739 +72000 ekin = 2.04081287193495 | erot = 2.26215174487671 | epot = -12.6775875867425 | etot = -8.37462296993079 +73000 ekin = 2.08263291328341 | erot = 2.2074336386418 | epot = -12.6646895218716 | etot = -8.37462296994644 +74000 ekin = 2.10698584150829 | erot = 2.15544421118361 | epot = -12.6370530226944 | etot = -8.37462297000245 +75000 ekin = 2.11136525908711 | erot = 2.10816940675056 | epot = -12.5941576359035 | etot = -8.37462297006578 +76000 ekin = 2.09405873141393 | erot = 2.06669472630755 | epot = -12.535376427811 | etot = -8.37462297008955 +77000 ekin = 2.05455135347901 | erot = 2.03147933575638 | epot = -12.4606536592623 | etot = -8.37462297002688 +78000 ekin = 1.99386684227692 | erot = 2.00268171013299 | epot = -12.3711715222582 | etot = -8.37462296984828 +79000 ekin = 1.91474155283387 | erot = 1.98040758803641 | epot = -12.2697721104227 | etot = -8.37462296955247 +80000 ekin = 1.82155513477569 | erot = 1.96479734780216 | epot = -12.1609754517455 | etot = -8.37462296916766 +81000 ekin = 1.71999782481688 | erot = 1.95595086125338 | epot = -12.0505716548134 | etot = -8.37462296874317 +82000 ekin = 1.61651478139496 | erot = 1.95375810375259 | epot = -11.9448958534856 | etot = -8.37462296833801 +83000 ekin = 1.51761134750078 | erot = 1.9577277486063 | epot = -11.8499620641159 | etot = -8.37462296800882 +84000 ekin = 1.42912416355165 | erot = 1.96688313409194 | epot = -11.7706302654422 | etot = -8.37462296779863 +85000 ekin = 1.35556895555397 | erot = 1.97976517498676 | epot = -11.7099570982742 | etot = -8.37462296773344 +86000 ekin = 1.29966988136848 | erot = 1.99452593271691 | epot = -11.6688187819009 | etot = -8.37462296781547 +87000 ekin = 1.26213747948968 | erot = 2.00910214170779 | epot = -11.6458625892978 | etot = -8.3746229681003 +88000 ekin = 1.24134500163873 | erot = 2.02122064243461 | epot = -11.6371886124846 | etot = -8.37462296841123 +89000 ekin = 1.23421644947624 | erot = 2.02900530500587 | epot = -11.6378447232196 | etot = -8.37462296873754 +90000 ekin = 1.2369060424358 | erot = 2.03136372571833 | epot = -11.6428927371716 | etot = -8.37462296901748 +91000 ekin = 1.24531053049757 | erot = 2.02816188261836 | epot = -11.6480953823213 | etot = -8.37462296920538 +92000 ekin = 1.2556439422707 | erot = 2.02032873397327 | epot = -11.6505956455254 | etot = -8.37462296928141 +93000 ekin = 1.26484018817427 | erot = 2.00975004471085 | epot = -11.6492132021398 | etot = -8.37462296925464 +94000 ekin = 1.27076152680841 | erot = 1.99896253062549 | epot = -11.6443470265804 | etot = -8.3746229691465 +95000 ekin = 1.27224696211181 | erot = 1.99076889271338 | epot = -11.6376388238184 | etot = -8.37462296899321 +96000 ekin = 1.26905385172917 | erot = 1.98776908505807 | epot = -11.6314459056163 | etot = -8.37462296882905 +97000 ekin = 1.26173398384347 | erot = 1.99196117307496 | epot = -11.628318125602 | etot = -8.37462296868355 +98000 ekin = 1.25146122958142 | erot = 2.00445279489013 | epot = -11.6305369930529 | etot = -8.37462296858135 +99000 ekin = 1.23981039935408 | erot = 2.02529911459885 | epot = -11.6397324824951 | etot = -8.37462296854214 +100000 ekin = 1.22848889431686 | erot = 2.05346079777955 | epot = -11.6565726606777 | etot = -8.37462296858124 +101000 ekin = 1.21904296342426 | erot = 2.08686922543178 | epot = -11.6805351575624 | etot = -8.37462296870635 +102000 ekin = 1.21258708443142 | erot = 2.12259257652707 | epot = -11.7098026298712 | etot = -8.37462296891269 +103000 ekin = 1.20962138127609 | erot = 2.15710417867589 | epot = -11.7413485291306 | etot = -8.37462296917863 +104000 ekin = 1.20999435064749 | erot = 2.18665201736524 | epot = -11.7712693374785 | etot = -8.37462296946577 +105000 ekin = 1.21303379771948 | erot = 2.20771017012375 | epot = -11.7953669375665 | etot = -8.37462296972326 +106000 ekin = 1.21781939160539 | erot = 2.21746426398198 | epot = -11.8099066254851 | etot = -8.37462296989777 +107000 ekin = 1.22352668485511 | erot = 2.21425769941191 | epot = -11.8124073542125 | etot = -8.37462296994543 +108000 ekin = 1.22975371616707 | erot = 2.19791821277296 | epot = -11.8022948987809 | etot = -8.37462296984092 +109000 ekin = 1.23675326669538 | erot = 2.16990174522961 | epot = -11.781277981508 | etot = -8.37462296958301 +110000 ekin = 1.24552660594304 | erot = 2.13322593016559 | epot = -11.7533755053021 | etot = -8.37462296919346 +111000 ekin = 1.2577699492819 | erot = 2.09220325002851 | epot = -11.7245961680235 | etot = -8.37462296871309 +112000 ekin = 1.27568807280479 | erot = 2.05200951342181 | epot = -11.7023205544238 | etot = -8.37462296819724 +113000 ekin = 1.30169744977575 | erot = 2.01813224570252 | epot = -11.6944526631898 | etot = -8.37462296771154 +114000 ekin = 1.33804251858973 | erot = 1.99574344242881 | epot = -11.7084089283454 | etot = -8.3746229673269 +115000 ekin = 1.3864743192957 | erot = 1.98903581447781 | epot = -11.750133100834 | etot = -8.37462296706049 +116000 ekin = 1.44876446583433 | erot = 2.00047074173032 | epot = -11.8238581746956 | etot = -8.37462296713092 +117000 ekin = 1.52378581535601 | erot = 2.03044339408209 | epot = -11.9288521768895 | etot = -8.37462296745144 +118000 ekin = 1.60840594184234 | erot = 2.07707436259026 | epot = -12.0601032724464 | etot = -8.3746229680138 +119000 ekin = 1.69804077960537 | erot = 2.13624566567642 | epot = -12.208909414054 | etot = -8.3746229687722 +120000 ekin = 1.78696647862329 | erot = 2.20199105617507 | epot = -12.3635805044452 | etot = -8.37462296964685 +121000 ekin = 1.86883508536353 | erot = 2.26718837407865 | epot = -12.5106464299777 | etot = -8.37462297053554 +122000 ekin = 1.93731263285391 | erot = 2.32446087034982 | epot = -12.6363964745349 | etot = -8.37462297133115 +123000 ekin = 1.98673587945814 | erot = 2.3671448998553 | epot = -12.7285037512518 | etot = -8.37462297193835 +124000 ekin = 2.01268857483506 | erot = 2.39015976226587 | epot = -12.77747130939 | etot = -8.37462297228912 +125000 ekin = 2.01242153120634 | erot = 2.3906292535681 | epot = -12.7776737571268 | etot = -8.37462297235236 +126000 ekin = 1.98507290328086 | erot = 2.36815351492882 | epot = -12.7278493903459 | etot = -8.37462297213621 +127000 ekin = 1.93167931643415 | erot = 2.32470375634614 | epot = -12.6310060444627 | etot = -8.37462297168245 +128000 ekin = 1.85500076916878 | erot = 2.26419178968044 | epot = -12.4938155299045 | etot = -8.37462297105528 +129000 ekin = 1.75920795598134 | erot = 2.19182812292603 | epot = -12.3256590492355 | etot = -8.37462297032817 +130000 ekin = 1.6494941584018 | erot = 2.11340935726337 | epot = -12.1375264852354 | etot = -8.37462296957026 +131000 ekin = 1.5316714306691 | erot = 2.03466319553995 | epot = -11.940957595048 | etot = -8.37462296883898 +132000 ekin = 1.41179399813973 | erot = 1.96073697301916 | epot = -11.747153939335 | etot = -8.37462296817611 +133000 ekin = 1.29582771791038 | erot = 1.89586175533292 | epot = -11.5663124408531 | etot = -8.37462296760982 +134000 ekin = 1.18933366770483 | erot = 1.84313053331003 | epot = -11.407087168276 | etot = -8.37462296726118 +135000 ekin = 1.09698845763049 | erot = 1.80418246558928 | epot = -11.27579389016 | etot = -8.37462296694027 +136000 ekin = 1.0227090445408 | erot = 1.77989195852182 | epot = -11.1772239698136 | etot = -8.37462296675101 +137000 ekin = 0.969402888595114 | erot = 1.77022137974227 | epot = -11.1142472350348 | etot = -8.3746229666974 +138000 ekin = 0.938766242876417 | erot = 1.77423425797178 | epot = -11.0876234676251 | etot = -8.37462296677689 +139000 ekin = 0.931209536918657 | erot = 1.79022284403554 | epot = -11.0960553479296 | etot = -8.37462296697544 +140000 ekin = 0.945902360873822 | erot = 1.81588277986714 | epot = -11.1364081080071 | etot = -8.37462296726611 +141000 ekin = 0.980951010695237 | erot = 1.84854552854019 | epot = -11.2041195068463 | etot = -8.37462296761087 +142000 ekin = 1.03368854660442 | erot = 1.88546172258912 | epot = -11.2937732371596 | etot = -8.37462296796605 +143000 ekin = 1.10102464558818 | erot = 1.92410215903288 | epot = -11.3997497729128 | etot = -8.37462296829172 +144000 ekin = 1.17978371180494 | erot = 1.96241851789353 | epot = -11.5168251982593 | etot = -8.37462296856084 +145000 ekin = 1.26696389973302 | erot = 1.99907135517284 | epot = -11.6406582236461 | etot = -8.37462296874025 +146000 ekin = 1.35987698631762 | erot = 2.03338468070444 | epot = -11.767884635915 | etot = -8.37462296889291 +147000 ekin = 1.45616095203023 | erot = 2.06502561999191 | epot = -11.8958095410392 | etot = -8.37462296901703 +148000 ekin = 1.5536968549114 | erot = 2.09388144715375 | epot = -12.0222012712078 | etot = -8.37462296914268 +149000 ekin = 1.65047924324489 | erot = 2.1197667162033 | epot = -12.1448689287442 | etot = -8.37462296929601 +150000 ekin = 1.74448791629898 | erot = 2.14217867903565 | epot = -12.2612895648267 | etot = -8.37462296949208 +151000 ekin = 1.83359650490197 | erot = 2.16016451670454 | epot = -12.3683839913411 | etot = -8.3746229697346 +152000 ekin = 1.91553611044715 | erot = 2.17231614291486 | epot = -12.4624752233745 | etot = -8.37462297001245 +153000 ekin = 1.98791755611589 | erot = 2.17689716712731 | epot = -12.5394376935492 | etot = -8.37462297030604 +154000 ekin = 2.0483072299909 | erot = 2.17205709329807 | epot = -12.5949872938792 | etot = -8.37462297059021 +155000 ekin = 2.09434778140709 | erot = 2.15608363214675 | epot = -12.6250543843915 | etot = -8.37462297083769 +156000 ekin = 2.12391577783728 | erot = 2.12765251039858 | epot = -12.6261912592573 | etot = -8.37462297102139 +157000 ekin = 2.13531004697561 | erot = 2.08604574913232 | epot = -12.5959787672234 | etot = -8.37462297111547 +158000 ekin = 2.12746223168599 | erot = 2.03132820631849 | epot = -12.5334134091002 | etot = -8.37462297109568 +159000 ekin = 2.10015103339202 | erot = 1.96448478928985 | epot = -12.4392587936245 | etot = -8.37462297094262 +160000 ekin = 2.0541841606366 | erot = 1.88751839461918 | epot = -12.3163255258996 | etot = -8.37462297064381 +161000 ekin = 1.99149541371268 | erot = 1.80350457154626 | epot = -12.1696229554605 | etot = -8.37462297020154 +162000 ekin = 1.91510266104675 | erot = 1.71656915682347 | epot = -12.0062947875074 | etot = -8.37462296963722 +163000 ekin = 1.82889680262201 | erot = 1.63175766791047 | epot = -11.8352774395234 | etot = -8.3746229689909 +164000 ekin = 1.73727850175332 | erot = 1.55477450557411 | epot = -11.6666759756462 | etot = -8.37462296831882 +165000 ekin = 1.64470875439839 | erot = 1.49159241029549 | epot = -11.5109241323761 | etot = -8.37462296768223 +166000 ekin = 1.55526715399568 | erot = 1.44796523954016 | epot = -11.3778553606751 | etot = -8.37462296713925 +167000 ekin = 1.47230568197306 | erot = 1.42890789301289 | epot = -11.2758365417201 | etot = -8.37462296673413 +168000 ekin = 1.39825202215286 | erot = 1.43822523216026 | epot = -11.2111002208049 | etot = -8.3746229664918 +169000 ekin = 1.33457196190104 | erot = 1.47816740254126 | epot = -11.1873623308593 | etot = -8.37462296641698 +170000 ekin = 1.28186404086271 | erot = 1.54925939136745 | epot = -11.2057463987274 | etot = -8.37462296649723 +171000 ekin = 1.24010532837011 | erot = 1.65031493319945 | epot = -11.2650432281453 | etot = -8.37462296657577 +172000 ekin = 1.20973432363878 | erot = 1.77850842430668 | epot = -11.362865714917 | etot = -8.37462296697156 +173000 ekin = 1.18958106737811 | erot = 1.9293947268165 | epot = -11.4935987616334 | etot = -8.37462296743879 +174000 ekin = 1.17780375666777 | erot = 2.09752621801777 | epot = -11.6499529426375 | etot = -8.37462296795192 +175000 ekin = 1.17250284106912 | erot = 2.27682305293096 | epot = -11.8239488624907 | etot = -8.37462296849064 +176000 ekin = 1.17177313417491 | erot = 2.46086230703702 | epot = -12.0072584102488 | etot = -8.37462296903687 +177000 ekin = 1.17372471418875 | erot = 2.64315812275379 | epot = -12.191505806514 | etot = -8.37462296957146 +178000 ekin = 1.17649725816054 | erot = 2.81745378599562 | epot = -12.3685740142275 | etot = -8.37462297007139 +179000 ekin = 1.17828959842921 | erot = 2.97803885665107 | epot = -12.5309514255904 | etot = -8.37462297051008 +180000 ekin = 1.17741681900998 | erot = 3.12008209304855 | epot = -12.6721218829184 | etot = -8.37462297085991 +181000 ekin = 1.17239479280082 | erot = 3.23994177497927 | epot = -12.7869595388779 | etot = -8.37462297109781 +182000 ekin = 1.16204161674185 | erot = 3.33528346670118 | epot = -12.8719480549261 | etot = -8.37462297148306 +183000 ekin = 1.14544700201186 | erot = 3.40346825728235 | epot = -12.9235382308529 | etot = -8.37462297155868 +184000 ekin = 1.12187454429756 | erot = 3.4438269073915 | epot = -12.9403244231946 | etot = -8.37462297150555 +185000 ekin = 1.09113819766574 | erot = 3.45752421108284 | epot = -12.9232853800834 | etot = -8.3746229713348 +186000 ekin = 1.05375177637567 | erot = 3.44681260248443 | epot = -12.8751873499234 | etot = -8.37462297106327 +187000 ekin = 1.01100426926464 | erot = 3.41470705189616 | epot = -12.800334291871 | etot = -8.37462297071016 +188000 ekin = 0.964980950088649 | erot = 3.36467106156785 | epot = -12.7042749819527 | etot = -8.37462297029619 +189000 ekin = 0.918502012521078 | erot = 3.30025095733196 | epot = -12.5933759397276 | etot = -8.3746229698746 +190000 ekin = 0.874955375625722 | erot = 3.22483721777127 | epot = -12.4744155628186 | etot = -8.37462296942164 +191000 ekin = 0.838012694189963 | erot = 3.14179385100163 | epot = -12.3544295141824 | etot = -8.37462296899082 +192000 ekin = 0.811264586710992 | erot = 3.05421641257329 | epot = -12.2401039678969 | etot = -8.37462296861265 +193000 ekin = 0.797833231457456 | erot = 2.96485918306279 | epot = -12.1373153828318 | etot = -8.37462296831155 +194000 ekin = 0.800032366300627 | erot = 2.87610608236578 | epot = -12.0507614167681 | etot = -8.37462296810165 +195000 ekin = 0.819137512919833 | erot = 2.78998115247748 | epot = -11.9837416333826 | etot = -8.37462296798529 +196000 ekin = 0.855301818719356 | erot = 2.70818765526146 | epot = -11.9381124419351 | etot = -8.37462296795424 +197000 ekin = 0.907617485284665 | erot = 2.63215574475441 | epot = -11.9143961980334 | etot = -8.37462296799427 +198000 ekin = 0.974291517584257 | erot = 2.56307623018399 | epot = -11.9119907158566 | etot = -8.37462296808839 +199000 ekin = 1.05288651878767 | erot = 2.50190471363121 | epot = -11.9294142006406 | etot = -8.37462296822169 +200000 ekin = 1.14057530731218 | erot = 2.44933274089538 | epot = -11.9645310165904 | etot = -8.37462296838287 +201000 ekin = 1.23436945655772 | erot = 2.40573577404698 | epot = -12.0147281991691 | etot = -8.37462296856442 +202000 ekin = 1.33129982084466 | erot = 2.37111655194155 | epot = -12.0770393415472 | etot = -8.37462296876096 +203000 ekin = 1.42854451444427 | erot = 2.34506402190567 | epot = -12.1482315053186 | etot = -8.37462296896862 +204000 ekin = 1.52351160571853 | erot = 2.32674290434264 | epot = -12.2248774792437 | etot = -8.37462296918254 +205000 ekin = 1.61388837060062 | erot = 2.31491995505471 | epot = -12.3034312950525 | etot = -8.37462296939715 +206000 ekin = 1.6976677526079 | erot = 2.30802500400466 | epot = -12.3803157262185 | etot = -8.37462296960589 +207000 ekin = 1.7731587468784 | erot = 2.30423562983894 | epot = -12.4520173465218 | etot = -8.37462296980448 +208000 ekin = 1.83898325555922 | erot = 2.30156289475855 | epot = -12.5151691203036 | etot = -8.37462296998581 +209000 ekin = 1.8940606525466 | erot = 2.29797193080362 | epot = -12.5666555534955 | etot = -8.37462297014531 +210000 ekin = 1.93758171355956 | erot = 2.29149245614553 | epot = -12.6036971399837 | etot = -8.37462297027863 +211000 ekin = 1.96897499678811 | erot = 2.28032999988876 | epot = -12.6239279670587 | etot = -8.37462297038181 +212000 ekin = 1.98787057423958 | erot = 2.26297816329946 | epot = -12.6254717079902 | etot = -8.37462297045112 +213000 ekin = 1.9940661531065 | erot = 2.23834847729537 | epot = -12.6070376008835 | etot = -8.37462297048167 +214000 ekin = 1.98749971048334 | erot = 2.20579329600804 | epot = -12.5679159769729 | etot = -8.37462297048154 +215000 ekin = 1.96823269345713 | erot = 2.16512069835555 | epot = -12.50797636226 | etot = -8.37462297044735 +216000 ekin = 1.93645036858781 | erot = 2.11663233289542 | epot = -12.4277056718665 | etot = -8.37462297038329 +217000 ekin = 1.89249565101126 | erot = 2.06105227365498 | epot = -12.3281708949562 | etot = -8.37462297028998 +218000 ekin = 1.83696296100957 | erot = 1.99944931813304 | epot = -12.2110352493002 | etot = -8.37462297015758 +219000 ekin = 1.77087997199992 | erot = 1.93321768349696 | epot = -12.0787206254576 | etot = -8.37462296996071 +220000 ekin = 1.69598414200819 | erot = 1.86416918368551 | epot = -11.9347762953548 | etot = -8.37462296966108 +221000 ekin = 1.61504938765088 | erot = 1.79472971030197 | epot = -11.7844020671754 | etot = -8.37462296922251 +222000 ekin = 1.53214607791996 | erot = 1.72813764736931 | epot = -11.6349066939255 | etot = -8.3746229686362 +223000 ekin = 1.45266240883145 | erot = 1.66846349300071 | epot = -11.4957488697764 | etot = -8.37462296794429 +224000 ekin = 1.38293292450132 | erot = 1.62027927221214 | epot = -11.3778351639601 | etot = -8.37462296724662 +225000 ekin = 1.32944348952763 | erot = 1.58793473617097 | epot = -11.2920011923816 | etot = -8.37462296668304 +226000 ekin = 1.29777350141001 | erot = 1.57457480049465 | epot = -11.2469712682749 | etot = -8.37462296637022 +227000 ekin = 1.2915871154549 | erot = 1.58136206120083 | epot = -11.2475721430407 | etot = -8.37462296638494 +228000 ekin = 1.3119916055049 | erot = 1.60705168356014 | epot = -11.2936662557524 | etot = -8.37462296668736 +229000 ekin = 1.35720775781584 | erot = 1.6487242796873 | epot = -11.3805550048115 | etot = -8.37462296730835 +230000 ekin = 1.42320705813345 | erot = 1.70117239435449 | epot = -11.4990024205433 | etot = -8.37462296805538 +231000 ekin = 1.50467169677602 | erot = 1.75808746579058 | epot = -11.6373821313703 | etot = -8.37462296880375 +232000 ekin = 1.59576180204816 | erot = 1.81345446216761 | epot = -11.7838392336753 | etot = -8.37462296945955 +233000 ekin = 1.69077156764805 | erot = 1.8623377060858 | epot = -11.9277322437063 | etot = -8.37462296997249 +234000 ekin = 1.78453671679948 | erot = 1.90129507954632 | epot = -12.0604547666799 | etot = -8.37462297033413 +235000 ekin = 1.87261122259015 | erot = 1.92842207171143 | epot = -12.1756562648651 | etot = -8.37462297056357 +236000 ekin = 1.95129507586097 | erot = 1.94312673772433 | epot = -12.2690447842764 | etot = -8.37462297069106 +237000 ekin = 2.01688127570934 | erot = 1.945878385496 | epot = -12.3373826321098 | etot = -8.37462297090445 +238000 ekin = 2.06554471096668 | erot = 1.93754713481341 | epot = -12.3777148167617 | etot = -8.37462297098157 +239000 ekin = 2.09498833917127 | erot = 1.91896908743888 | epot = -12.388580397607 | etot = -8.37462297099681 +240000 ekin = 2.10387887335875 | erot = 1.8911406789343 | epot = -12.3696425232258 | etot = -8.3746229709327 +241000 ekin = 2.09205058134753 | erot = 1.85524232773675 | epot = -12.3219158798526 | etot = -8.37462297076831 +242000 ekin = 2.06070692356709 | erot = 1.81270484104086 | epot = -12.2480347350935 | etot = -8.37462297048556 +243000 ekin = 2.01255526288362 | erot = 1.76529169809244 | epot = -12.152469931059 | etot = -8.37462297008292 +244000 ekin = 1.95178746173521 | erot = 1.71512317980711 | epot = -12.0415336111134 | etot = -8.37462296957109 +245000 ekin = 1.88387514784669 | erot = 1.66462101119846 | epot = -11.9231191280349 | etot = -8.37462296898979 +246000 ekin = 1.81512558267746 | erot = 1.61637080971478 | epot = -11.8061193607923 | etot = -8.37462296840006 +247000 ekin = 1.75197548737566 | erot = 1.5728912903863 | epot = -11.6994897456374 | etot = -8.37462296787547 +248000 ekin = 1.70016015194902 | erot = 1.5363664174364 | epot = -11.6111495368736 | etot = -8.37462296748817 +249000 ekin = 1.66404391454297 | erot = 1.50839677555172 | epot = -11.5470636572543 | etot = -8.3746229671596 +250000 ekin = 1.64635032469229 | erot = 1.48977166427928 | epot = -11.5107449561774 | etot = -8.37462296720584 +251000 ekin = 1.64670868822414 | erot = 1.48021150770257 | epot = -11.5015431633557 | etot = -8.37462296742897 +252000 ekin = 1.66264181464383 | erot = 1.47871062656297 | epot = -11.5159754089801 | etot = -8.37462296777332 +253000 ekin = 1.69027564040396 | erot = 1.48380069510011 | epot = -11.5486993036766 | etot = -8.37462296817249 +254000 ekin = 1.72505301291723 | erot = 1.49382397147224 | epot = -11.593499952956 | etot = -8.37462296856652 +255000 ekin = 1.76239471231517 | erot = 1.50720813838028 | epot = -11.6442258196118 | etot = -8.37462296891633 +256000 ekin = 1.79816893498569 | erot = 1.52259254469775 | epot = -11.6953844488861 | etot = -8.37462296920265 +257000 ekin = 1.82895095239692 | erot = 1.53887801863897 | epot = -11.7424519404559 | etot = -8.37462296941997 +258000 ekin = 1.85212386739561 | erot = 1.55528591409788 | epot = -11.7820327510626 | etot = -8.37462296956908 +259000 ekin = 1.86588413888215 | erot = 1.57137656836564 | epot = -11.8118836768993 | etot = -8.37462296965154 +260000 ekin = 1.86922537289867 | erot = 1.58707491263398 | epot = -11.8309232551859 | etot = -8.37462296965327 +261000 ekin = 1.86194745777955 | erot = 1.60277606186355 | epot = -11.8393464893234 | etot = -8.3746229696803 +262000 ekin = 1.84441202421295 | erot = 1.61874454524355 | epot = -11.8377795390081 | etot = -8.37462296955161 +263000 ekin = 1.81775632997606 | erot = 1.63584439963916 | epot = -11.8282236989399 | etot = -8.37462296932469 +264000 ekin = 1.78414336143448 | erot = 1.65581672859407 | epot = -11.8145830590343 | etot = -8.37462296900574 +265000 ekin = 1.74659811333657 | erot = 1.68088156362787 | epot = -11.8021026455966 | etot = -8.37462296863215 +266000 ekin = 1.70875551588584 | erot = 1.71332387538078 | epot = -11.7967023595414 | etot = -8.37462296827477 +267000 ekin = 1.67443624978574 | erot = 1.7550108928448 | epot = -11.8040701106191 | etot = -8.37462296798853 +268000 ekin = 1.64712713207523 | erot = 1.80695733277667 | epot = -11.8287074326935 | etot = -8.37462296784159 +269000 ekin = 1.62949021142684 | erot = 1.8688326756718 | epot = -11.8729458549715 | etot = -8.37462296787285 +270000 ekin = 1.62285159922472 | erot = 1.93872810894281 | epot = -11.9362026762891 | etot = -8.37462296812156 +271000 ekin = 1.6268863104375 | erot = 2.01317767222039 | epot = -12.0146869512063 | etot = -8.37462296854845 +272000 ekin = 1.63981668010415 | erot = 2.08746423747643 | epot = -12.1019038866665 | etot = -8.37462296908593 +273000 ekin = 1.65880091169022 | erot = 2.15626799363764 | epot = -12.1896918749698 | etot = -8.37462296964197 +274000 ekin = 1.68050753849913 | erot = 2.2144872213087 | epot = -12.2696177299304 | etot = -8.37462297012254 +275000 ekin = 1.70172643739792 | erot = 2.25805265702192 | epot = -12.3344020648724 | etot = -8.37462297045251 +276000 ekin = 1.71987527696161 | erot = 2.28456562448906 | epot = -12.3790638720395 | etot = -8.37462297058887 +277000 ekin = 1.73331269261593 | erot = 2.29364905663789 | epot = -12.4015847197774 | etot = -8.37462297052361 +278000 ekin = 1.74143735013745 | erot = 2.28698125838894 | epot = -12.4030415787994 | etot = -8.37462297027302 +279000 ekin = 1.74460802870594 | erot = 2.26806682992263 | epot = -12.3872978285229 | etot = -8.37462296989437 +280000 ekin = 1.74394008412444 | erot = 2.24171314051926 | epot = -12.3602761940829 | etot = -8.37462296943918 +281000 ekin = 1.74088698058183 | erot = 2.21312908436282 | epot = -12.3286390340534 | etot = -8.37462296910875 +282000 ekin = 1.7366965645871 | erot = 2.18704204449556 | epot = -12.2983615778781 | etot = -8.37462296879543 +283000 ekin = 1.732290073716 | erot = 2.16744679622838 | epot = -12.2743598385787 | etot = -8.37462296863431 +284000 ekin = 1.72792109204538 | erot = 2.15675164213738 | epot = -12.2592957028517 | etot = -8.3746229686689 +285000 ekin = 1.72297480902862 | erot = 2.15537559427286 | epot = -12.2529733722001 | etot = -8.37462296889862 +286000 ekin = 1.71598432453039 | erot = 2.16179000838375 | epot = -12.2523973021716 | etot = -8.37462296925743 +287000 ekin = 1.70498524220327 | erot = 2.17315503013707 | epot = -12.2527632419523 | etot = -8.37462296961193 +288000 ekin = 1.68823578051942 | erot = 2.18649203663142 | epot = -12.2493507869533 | etot = -8.37462296980243 +289000 ekin = 1.66510970376211 | erot = 2.19999055777926 | epot = -12.2397232312615 | etot = -8.37462296972011 +290000 ekin = 1.63674302037987 | erot = 2.21381252699345 | epot = -12.2251785167484 | etot = -8.37462296937506 +291000 ekin = 1.60601874197424 | erot = 2.22992661048329 | epot = -12.2105683213541 | etot = -8.37462296889661 +292000 ekin = 1.57682389343777 | erot = 2.25107800691089 | epot = -12.2025248687821 | etot = -8.37462296843347 +293000 ekin = 1.55301992418707 | erot = 2.27950943304611 | epot = -12.2071523254135 | etot = -8.37462296818029 +294000 ekin = 1.53731454048196 | erot = 2.31583078837889 | epot = -12.2277682970271 | etot = -8.37462296816629 +295000 ekin = 1.53083265562523 | erot = 2.35873605655292 | epot = -12.2641916805469 | etot = -8.37462296836872 +296000 ekin = 1.53318706455254 | erot = 2.4052808467906 | epot = -12.3130908800621 | etot = -8.37462296871895 +297000 ekin = 1.54281493583631 | erot = 2.45151931863468 | epot = -12.3689572236285 | etot = -8.37462296915754 +298000 ekin = 1.55733608765133 | erot = 2.49306411731949 | epot = -12.4250231746883 | etot = -8.37462296971744 +299000 ekin = 1.57407386288266 | erot = 2.52498633848769 | epot = -12.473683171534 | etot = -8.37462297016362 +300000 ekin = 1.59001535760027 | erot = 2.54349315182865 | epot = -12.5081314800016 | etot = -8.37462297057271 +301000 ekin = 1.60189886822636 | erot = 2.54585083166192 | epot = -12.5223726708137 | etot = -8.3746229709254 +302000 ekin = 1.60620251585623 | erot = 2.53039812867646 | epot = -12.5112236158409 | etot = -8.37462297130826 +303000 ekin = 1.59914065240599 | erot = 2.49598280993792 | epot = -12.4697464340452 | etot = -8.37462297170129 +304000 ekin = 1.57679795693766 | erot = 2.44177332378527 | epot = -12.3931942527977 | etot = -8.37462297207482 +305000 ekin = 1.53574304374055 | erot = 2.36761905414217 | epot = -12.2779850699661 | etot = -8.37462297208338 +306000 ekin = 1.4739286655962 | erot = 2.27453104047924 | epot = -12.1230826782583 | etot = -8.37462297218286 +307000 ekin = 1.39050823398577 | erot = 2.16376504506915 | epot = -11.9288962509201 | etot = -8.37462297186516 +308000 ekin = 1.28961522980587 | erot = 2.039776672584 | epot = -11.7040148706632 | etot = -8.37462296827334 +309000 ekin = 1.0578293749372 | erot = 1.83361716570652 | epot = -11.2660695010506 | etot = -8.37462296040685 +310000 ekin = 1.14450415449021 | erot = 1.58483272602451 | epot = -11.103959838692 | etot = -8.37462295817728 +311000 ekin = 1.41922601312504 | erot = 1.45460499880731 | epot = -11.2484540448428 | etot = -8.37462303291044 +312000 ekin = 1.45261330232178 | erot = 1.37611906651658 | epot = -11.2033554015526 | etot = -8.37462303271421 +313000 ekin = 1.47884377174098 | erot = 1.31854286229477 | epot = -11.1720096664216 | etot = -8.37462303238585 +314000 ekin = 1.49756299811574 | erot = 1.28320357876905 | epot = -11.1553896088949 | etot = -8.37462303201008 +315000 ekin = 1.51332559187953 | erot = 1.27043025389329 | epot = -11.1583788774965 | etot = -8.37462303172366 +316000 ekin = 1.53080061117969 | erot = 1.27925593275756 | epot = -11.1846795755424 | etot = -8.37462303160514 +317000 ekin = 1.55378721590823 | erot = 1.30719554367504 | epot = -11.2356057912733 | etot = -8.37462303169002 +318000 ekin = 1.58370434541029 | erot = 1.34913652060387 | epot = -11.3074638985376 | etot = -8.37462303252346 +319000 ekin = 1.61943484148203 | erot = 1.39801478359231 | epot = -11.3920726581924 | etot = -8.37462303311802 +320000 ekin = 1.65864783760474 | erot = 1.44696670459029 | epot = -11.4802375759965 | etot = -8.37462303380145 +321000 ekin = 1.69766983847289 | erot = 1.48920524279011 | epot = -11.561498115728 | etot = -8.37462303446499 +322000 ekin = 1.73222385846008 | erot = 1.51888544570663 | epot = -11.6257323391488 | etot = -8.37462303498212 +323000 ekin = 1.75834700852284 | erot = 1.53202956630737 | epot = -11.6649996100693 | etot = -8.37462303523908 +324000 ekin = 1.7732465004629 | erot = 1.5273259702946 | epot = -11.6751955059262 | etot = -8.37462303516874 +325000 ekin = 1.77583924216924 | erot = 1.50655389358375 | epot = -11.6570161705538 | etot = -8.37462303480081 +326000 ekin = 1.76682929376817 | erot = 1.47436928283839 | epot = -11.6158216107554 | etot = -8.37462303414888 +327000 ekin = 1.74834602231073 | erot = 1.4379436720269 | epot = -11.5609127276988 | etot = -8.37462303336115 +328000 ekin = 1.72331109821176 | erot = 1.40578615079664 | epot = -11.5037202815769 | etot = -8.37462303256846 +329000 ekin = 1.69488797673317 | erot = 1.3863558002332 | epot = -11.4558668088442 | etot = -8.37462303187786 +330000 ekin = 1.66566513334694 | erot = 1.38702252391914 | epot = -11.4273106886493 | etot = -8.37462303138319 +331000 ekin = 1.6373218516614 | erot = 1.41331220646666 | epot = -11.4252570892349 | etot = -8.37462303110686 +332000 ekin = 1.61073968003952 | erot = 1.46826665363511 | epot = -11.453629364732 | etot = -8.37462303105739 +333000 ekin = 1.5860523210645 | erot = 1.55220559043164 | epot = -11.5128809427305 | etot = -8.37462303123435 +334000 ekin = 1.56284415922285 | erot = 1.66255678080492 | epot = -11.600023971619 | etot = -8.37462303159123 +335000 ekin = 1.54014240613776 | erot = 1.79443783502794 | epot = -11.7092032732475 | etot = -8.37462303208181 +336000 ekin = 1.5167045521657 | erot = 1.94117931563298 | epot = -11.8325069004484 | etot = -8.3746230326497 +337000 ekin = 1.49128277555494 | erot = 2.09492414345281 | epot = -11.9608299522434 | etot = -8.37462303323563 +338000 ekin = 1.46282625482992 | erot = 2.24735936520941 | epot = -12.0848086538231 | etot = -8.37462303378375 +339000 ekin = 1.43063896798261 | erot = 2.39044100153422 | epot = -12.1957030037649 | etot = -8.37462303424805 +340000 ekin = 1.39448012483982 | erot = 2.51702660359006 | epot = -12.2861297630263 | etot = -8.3746230345964 +341000 ekin = 1.35460313822206 | erot = 2.6213528403744 | epot = -12.3505790134087 | etot = -8.37462303481223 +342000 ekin = 1.31173936863004 | erot = 2.69933546749698 | epot = -12.385697871018 | etot = -8.37462303489103 +343000 ekin = 1.26704159860198 | erot = 2.74871044551737 | epot = -12.390375078956 | etot = -8.37462303483662 +344000 ekin = 1.22200654509472 | erot = 2.76906107654549 | epot = -12.3656906562962 | etot = -8.37462303465604 +345000 ekin = 1.17839357225688 | erot = 2.7617768946551 | epot = -12.3147935012699 | etot = -8.37462303435793 +346000 ekin = 1.13814730560306 | erot = 2.72996678569835 | epot = -12.2427371252557 | etot = -8.37462303395427 +347000 ekin = 1.10331757839143 | erot = 2.67831421953948 | epot = -12.1562548313949 | etot = -8.374623033464 +348000 ekin = 1.07595787263669 | erot = 2.61283600667651 | epot = -12.0634169122313 | etot = -8.37462303291812 +349000 ekin = 1.05798147191732 | erot = 2.54050407789418 | epot = -11.9731085821733 | etot = -8.37462303236178 +350000 ekin = 1.05096760963779 | erot = 2.46871550808003 | epot = -11.8943061495696 | etot = -8.37462303185175 +351000 ekin = 1.055934374293 | erot = 2.40463774698031 | epot = -11.8351951527218 | etot = -8.37462303144848 +352000 ekin = 1.07311971186474 | erot = 2.35449555191691 | epot = -11.802238294989 | etot = -8.37462303120734 +353000 ekin = 1.10182415540774 | erot = 2.32288867128237 | epot = -11.7993358578587 | etot = -8.37462303116861 +354000 ekin = 1.14036300464639 | erot = 2.31223409502398 | epot = -11.8272201310208 | etot = -8.37462303135046 +355000 ekin = 1.18615564007818 | erot = 2.32242185962034 | epot = -11.8832005314415 | etot = -8.37462303174298 +356000 ekin = 1.23595386569849 | erot = 2.35076326964225 | epot = -11.9613401676472 | etot = -8.37462303230647 +357000 ekin = 1.28618457758612 | erot = 2.39228504524977 | epot = -12.0530926558097 | etot = -8.37462303297378 +358000 ekin = 1.33335672484009 | erot = 2.44036693764229 | epot = -12.1483466961434 | etot = -8.37462303366097 +359000 ekin = 1.3744661142348 | erot = 2.48763760748978 | epot = -12.2367267560058 | etot = -8.37462303428119 +360000 ekin = 1.40733698540061 | erot = 2.52696891747122 | epot = -12.3089289376309 | etot = -8.37462303475905 +361000 ekin = 1.4308523011706 | erot = 2.55266032656765 | epot = -12.35813566267 | etot = -8.37462303493178 +362000 ekin = 1.4449802341948 | erot = 2.56161192448427 | epot = -12.3812151936927 | etot = -8.37462303501366 +363000 ekin = 1.45080808015421 | erot = 2.55177253019042 | epot = -12.3772036452516 | etot = -8.37462303490699 +364000 ekin = 1.45046982069901 | erot = 2.52283864584328 | epot = -12.3479315011827 | etot = -8.37462303464038 +365000 ekin = 1.44693366151984 | erot = 2.47609933176712 | epot = -12.2976560275503 | etot = -8.3746230342633 +366000 ekin = 1.44366094468002 | erot = 2.41401126337658 | epot = -12.2322952418937 | etot = -8.37462303383704 +367000 ekin = 1.44416618229162 | erot = 2.33969773429716 | epot = -12.1584869500125 | etot = -8.37462303342374 +368000 ekin = 1.45154164412073 | erot = 2.25648465085064 | epot = -12.0826493280453 | etot = -8.37462303307398 +369000 ekin = 1.46802482611055 | erot = 2.16757470029821 | epot = -12.010222559226 | etot = -8.37462303281721 +370000 ekin = 1.49468484157952 | erot = 2.07591739973062 | epot = -11.9452252739688 | etot = -8.37462303265869 +371000 ekin = 1.53128479294091 | erot = 1.98426522628829 | epot = -11.8901730518129 | etot = -8.37462303258368 +372000 ekin = 1.57634160155613 | erot = 1.8953362606454 | epot = -11.8463008947685 | etot = -8.374623032567 +373000 ekin = 1.62736107596715 | erot = 1.81196417168806 | epot = -11.8139482802385 | etot = -8.37462303258332 +374000 ekin = 1.68119274504245 | erot = 1.73713269144088 | epot = -11.7929484690968 | etot = -8.37462303261351 +375000 ekin = 1.73444043052933 | erot = 1.67385884334656 | epot = -11.7829223065195 | etot = -8.37462303264361 +376000 ekin = 1.78387586144014 | erot = 1.62497473906331 | epot = -11.7834736331733 | etot = -8.37462303266983 +377000 ekin = 1.82648186091977 | erot = 1.59275354369161 | epot = -11.7938584374902 | etot = -8.37462303287884 +378000 ekin = 1.85889028460836 | erot = 1.57838589666623 | epot = -11.8118992141858 | etot = -8.37462303291125 +379000 ekin = 1.87974734421412 | erot = 1.58231910072821 | epot = -11.8366894778907 | etot = -8.37462303294839 +380000 ekin = 1.88876618247971 | erot = 1.6039785204282 | epot = -11.8673677359262 | etot = -8.37462303301827 +381000 ekin = 1.88634387025615 | erot = 1.6416225350766 | epot = -11.9025894384717 | etot = -8.37462303313899 +382000 ekin = 1.87329602399987 | erot = 1.69239968364314 | epot = -11.9403187409513 | etot = -8.37462303330827 +383000 ekin = 1.8506776691208 | erot = 1.75260724973969 | epot = -11.9779079523648 | etot = -8.37462303350427 +384000 ekin = 1.81972884480745 | erot = 1.81808771261031 | epot = -12.0124395911113 | etot = -8.37462303369356 +385000 ekin = 1.78192764776998 | erot = 1.88463133786728 | epot = -12.0411820195034 | etot = -8.37462303386617 +386000 ekin = 1.7389611730154 | erot = 1.94830024178168 | epot = -12.0618844487816 | etot = -8.37462303398448 +387000 ekin = 1.6926170395659 | erot = 2.00550933075364 | epot = -12.0727494044579 | etot = -8.37462303413835 +388000 ekin = 1.64442362564975 | erot = 2.05290262288172 | epot = -12.0719492828229 | etot = -8.3746230342914 +389000 ekin = 1.59562809726233 | erot = 2.08769097010103 | epot = -12.0579421017188 | etot = -8.37462303435545 +390000 ekin = 1.54727258078712 | erot = 2.10804034821868 | epot = -12.0299359634134 | etot = -8.37462303440755 +391000 ekin = 1.5004266868918 | erot = 2.11301685840078 | epot = -11.988066579574 | etot = -8.37462303428138 +392000 ekin = 1.45669956782597 | erot = 2.10352612083869 | epot = -11.934848722603 | etot = -8.37462303393835 +393000 ekin = 1.41857599109012 | erot = 2.08263213471398 | epot = -11.875831159199 | etot = -8.37462303339486 +394000 ekin = 1.38932612627839 | erot = 2.05528425943482 | epot = -11.8192334184618 | etot = -8.37462303274861 +395000 ekin = 1.37246101478421 | erot = 2.02739319427239 | epot = -11.7744772412156 | etot = -8.37462303215901 +396000 ekin = 1.37078907987896 | erot = 2.00445159240664 | epot = -11.7498637040825 | etot = -8.37462303179685 +397000 ekin = 1.38538853999943 | erot = 1.99011302537625 | epot = -11.7501245971575 | etot = -8.37462303178181 +398000 ekin = 1.41490531161701 | erot = 1.98519641778399 | epot = -11.7747247615396 | etot = -8.37462303213862 +399000 ekin = 1.45547085036343 | erot = 1.98743025594767 | epot = -11.8175241391056 | etot = -8.37462303279446 +400000 ekin = 1.50126526406662 | erot = 1.99196444869315 | epot = -11.8678527463724 | etot = -8.3746230336126 +401000 ekin = 1.54549713891549 | erot = 1.99242148352443 | epot = -11.9125416568768 | etot = -8.37462303443686 +402000 ekin = 1.58148802753449 | erot = 1.98217540610574 | epot = -11.9382864687617 | etot = -8.37462303512152 +403000 ekin = 1.60364407572846 | erot = 1.95563446459428 | epot = -11.9339015758638 | etot = -8.37462303554105 +404000 ekin = 1.60823718231449 | erot = 1.90940860688998 | epot = -11.8922688248045 | etot = -8.37462303560003 +405000 ekin = 1.59393186875414 | erot = 1.84321418438518 | epot = -11.8117690883971 | etot = -8.37462303525783 +406000 ekin = 1.56197926550461 | erot = 1.76026394072057 | epot = -11.6968662407814 | etot = -8.37462303455625 +407000 ekin = 1.51595319782289 | erot = 1.66689496115233 | epot = -11.5574711925961 | etot = -8.37462303362087 +408000 ekin = 1.46103089399041 | erot = 1.57144700034374 | epot = -11.4071009269552 | etot = -8.374623032621 +409000 ekin = 1.40302353808214 | erot = 1.48274963105006 | epot = -11.2603962008454 | etot = -8.37462303171318 +410000 ekin = 1.34747963365306 | erot = 1.40871679572282 | epot = -11.1308194603671 | etot = -8.37462303099118 +411000 ekin = 1.2414284292792 | erot = 1.36765891027364 | epot = -10.9837103545922 | etot = -8.37462301503931 +412000 ekin = 1.07606206466598 | erot = 1.44463891804017 | epot = -10.8953239884252 | etot = -8.37462300571905 +413000 ekin = 1.04694922469639 | erot = 1.51102600613188 | epot = -10.9325982588149 | etot = -8.37462302798667 +414000 ekin = 1.03606467090392 | erot = 1.52895884328666 | epot = -10.9396465423142 | etot = -8.37462302812358 +415000 ekin = 1.03698178422018 | erot = 1.56970634086054 | epot = -10.9813111534884 | etot = -8.3746230284077 +416000 ekin = 1.0484279442172 | erot = 1.63005774223143 | epot = -11.0531087152573 | etot = -8.37462302880862 +417000 ekin = 1.06841333535673 | erot = 1.70571770479095 | epot = -11.1487540694421 | etot = -8.37462302929443 +418000 ekin = 1.09444701005109 | erot = 1.79158405306266 | epot = -11.2606540929522 | etot = -8.37462302983849 +419000 ekin = 1.12371544113075 | erot = 1.88200392342424 | epot = -11.3803423949712 | etot = -8.37462303041625 +420000 ekin = 1.15322596863741 | erot = 1.97103956947901 | epot = -11.4988885691128 | etot = -8.37462303099641 +421000 ekin = 1.17996638670221 | erot = 2.05281125535604 | epot = -11.6074006735892 | etot = -8.37462303153091 +422000 ekin = 1.20115062981133 | erot = 2.12197272517915 | epot = -11.6977463869443 | etot = -8.37462303195381 +423000 ekin = 1.21456879342739 | erot = 2.17429924607165 | epot = -11.7634910716972 | etot = -8.37462303219813 +424000 ekin = 1.21895541018794 | erot = 2.20725430505418 | epot = -11.8008327474652 | etot = -8.37462303222309 +425000 ekin = 1.21420953470736 | erot = 2.22030001430874 | epot = -11.8091325810583 | etot = -8.37462303204219 +426000 ekin = 1.20134505265812 | erot = 2.214761428149 | epot = -11.7907295125141 | etot = -8.37462303170695 +427000 ekin = 1.18219319315412 | erot = 2.19340434236676 | epot = -11.7502205668115 | etot = -8.37462303129061 +428000 ekin = 1.15899921940922 | erot = 2.15981652249817 | epot = -11.6934387727657 | etot = -8.37462303085828 +429000 ekin = 1.13415683500802 | erot = 2.11790831243066 | epot = -11.6266881762556 | etot = -8.37462302881691 +430000 ekin = 1.11403963820971 | erot = 2.07460238347228 | epot = -11.5632650504428 | etot = -8.37462302876084 +431000 ekin = 1.10124843427953 | erot = 2.03325324116064 | epot = -11.5091247042084 | etot = -8.37462302876824 +432000 ekin = 1.09509673682051 | erot = 1.99414694703558 | epot = -11.4638667126925 | etot = -8.37462302883644 +433000 ekin = 1.09463609314624 | erot = 1.95711348582247 | epot = -11.4263726079127 | etot = -8.37462302894401 +434000 ekin = 1.0980947201295 | erot = 1.9211128356985 | epot = -11.3938305852091 | etot = -8.37462302938109 +435000 ekin = 1.10341624338792 | erot = 1.88492142830318 | epot = -11.3629607010968 | etot = -8.37462302940571 +436000 ekin = 1.11020757162805 | erot = 1.84854231975901 | epot = -11.3333729208369 | etot = -8.37462302944983 +437000 ekin = 1.11803889537731 | erot = 1.81186902511195 | epot = -11.3045309499979 | etot = -8.37462302950868 +438000 ekin = 1.12642172160223 | erot = 1.77470718111897 | epot = -11.2757519322953 | etot = -8.37462302957406 +439000 ekin = 1.13485148153866 | erot = 1.73686282079482 | epot = -11.2463373319672 | etot = -8.37462302963374 +440000 ekin = 1.14287335820563 | erot = 1.69826079507224 | epot = -11.2157571829505 | etot = -8.37462302967267 +441000 ekin = 1.15016795453003 | erot = 1.65908318343061 | epot = -11.1838741676311 | etot = -8.37462302967045 +442000 ekin = 1.15664284201482 | erot = 1.61992313518266 | epot = -11.1511890068216 | etot = -8.37462302962409 +443000 ekin = 1.16253418069013 | erot = 1.58179210099529 | epot = -11.1189493112082 | etot = -8.37462302952279 +444000 ekin = 1.16846798531266 | erot = 1.5461446661337 | epot = -11.0892356808159 | etot = -8.37462302936959 +445000 ekin = 1.17546820346624 | erot = 1.51479732961039 | epot = -11.0648885622563 | etot = -8.37462302917964 +446000 ekin = 1.18488743024694 | erot = 1.4897380208828 | epot = -11.0492484801105 | etot = -8.37462302898081 +447000 ekin = 1.19824347153649 | erot = 1.47284289980585 | epot = -11.0457094001527 | etot = -8.37462302881034 +448000 ekin = 1.21696535091566 | erot = 1.4655476599557 | epot = -11.0571360395825 | etot = -8.37462302871109 +449000 ekin = 1.24207954598559 | erot = 1.46851271093831 | epot = -11.0852152856444 | etot = -8.37462302872051 +450000 ekin = 1.27389445230352 | erot = 1.48136016742263 | epot = -11.129877648597 | etot = -8.37462302887088 +451000 ekin = 1.31179903842807 | erot = 1.50255470267712 | epot = -11.1889767701161 | etot = -8.37462302901093 +452000 ekin = 1.35460859520386 | erot = 1.52989164327156 | epot = -11.2591232679085 | etot = -8.37462302943311 +453000 ekin = 1.39989469250065 | erot = 1.55983588432741 | epot = -11.3343536067678 | etot = -8.37462302993971 +454000 ekin = 1.4443795754955 | erot = 1.58822152329946 | epot = -11.4072241292536 | etot = -8.37462303045863 +455000 ekin = 1.48456015878112 | erot = 1.6110361600441 | epot = -11.4702193497298 | etot = -8.37462303090461 +456000 ekin = 1.5173332961521 | erot = 1.62510652435415 | epot = -11.5170628516973 | etot = -8.37462303119105 +457000 ekin = 1.54029245797507 | erot = 1.62854015385721 | epot = -11.5434556431077 | etot = -8.37462303127543 +458000 ekin = 1.55209787062638 | erot = 1.62122255615519 | epot = -11.5479434578284 | etot = -8.37462303104684 +459000 ekin = 1.55414659187634 | erot = 1.6057199111291 | epot = -11.5344895335887 | etot = -8.37462303058322 +460000 ekin = 1.54960099436722 | erot = 1.58640018749909 | epot = -11.5106242118337 | etot = -8.37462302996738 +461000 ekin = 1.54273124224815 | erot = 1.56872252266498 | epot = -11.4860767942389 | etot = -8.37462302932575 +462000 ekin = 1.5379558944902 | erot = 1.55825929919717 | epot = -11.4708382224928 | etot = -8.3746230288054 +463000 ekin = 1.53875903307901 | erot = 1.55959299575919 | epot = -11.4729750573654 | etot = -8.37462302852723 +464000 ekin = 1.5468202951179 | erot = 1.5753418689505 | epot = -11.4967851926248 | etot = -8.37462302855638 +465000 ekin = 1.5616294650245 | erot = 1.60564212073123 | epot = -11.5418946146288 | etot = -8.37462302887307 +466000 ekin = 1.58070265304299 | erot = 1.64822662156225 | epot = -11.603552303989 | etot = -8.37462302938373 +467000 ekin = 1.60035208027293 | erot = 1.69905719079097 | epot = -11.6740323010126 | etot = -8.37462302994875 +468000 ekin = 1.61673623107329 | erot = 1.75335443246826 | epot = -11.7447136939725 | etot = -8.37462303043099 +469000 ekin = 1.62683085007104 | erot = 1.80670922025691 | epot = -11.8081631010581 | etot = -8.37462303073019 +470000 ekin = 1.62907239972705 | erot = 1.85596584024091 | epot = -11.8596612707768 | etot = -8.37462303080888 +471000 ekin = 1.62354687373203 | erot = 1.8996612917076 | epot = -11.897831196133 | etot = -8.37462303069334 +472000 ekin = 1.61170510379461 | erot = 1.93800410341077 | epot = -11.9243322376463 | etot = -8.37462303044088 +473000 ekin = 1.59590324450911 | erot = 1.97246730641982 | epot = -11.9429935810563 | etot = -8.37462303012741 +474000 ekin = 1.5788652318122 | erot = 2.00526149881422 | epot = -11.9587497604456 | etot = -8.37462302981915 +475000 ekin = 1.56312071578956 | erot = 2.03882982960352 | epot = -11.97657357496 | etot = -8.37462302956695 +476000 ekin = 1.55063074695145 | erot = 2.07545668637062 | epot = -12.0007104627129 | etot = -8.37462302939086 +477000 ekin = 1.54263588410857 | erot = 2.11704231172364 | epot = -12.0343012251349 | etot = -8.37462302930267 +478000 ekin = 1.53956151542023 | erot = 2.16493101565207 | epot = -12.079115560379 | etot = -8.37462302930667 +479000 ekin = 1.54104337297963 | erot = 2.21977101927418 | epot = -12.1354374216592 | etot = -8.37462302940542 +480000 ekin = 1.54600976096978 | erot = 2.28138261400151 | epot = -12.202015404568 | etot = -8.37462302959675 +481000 ekin = 1.55280606024745 | erot = 2.34867771788771 | epot = -12.2761068080027 | etot = -8.37462302986758 +482000 ekin = 1.55937339634714 | erot = 2.41971772771095 | epot = -12.3537141542431 | etot = -8.37462303018505 +483000 ekin = 1.56350104452682 | erot = 2.49198464322671 | epot = -12.4301087182504 | etot = -8.37462303049682 +484000 ekin = 1.56314467772463 | erot = 2.56280026280356 | epot = -12.5005679712774 | etot = -8.37462303074924 +485000 ekin = 1.55677099189266 | erot = 2.62990187864781 | epot = -12.561295901425 | etot = -8.37462303088452 +486000 ekin = 1.54362230241397 | erot = 2.69196691951125 | epot = -12.6102122528186 | etot = -8.37462303089336 +487000 ekin = 1.52381043791577 | erot = 2.74866369544776 | epot = -12.647097164163 | etot = -8.37462303079951 +488000 ekin = 1.49822858843954 | erot = 2.80041322794242 | epot = -12.6732648470337 | etot = -8.37462303065175 +489000 ekin = 1.46832177710726 | erot = 2.84792010719231 | epot = -12.6908649148032 | etot = -8.37462303050367 +490000 ekin = 1.43580907600697 | erot = 2.89167668868307 | epot = -12.7021087950844 | etot = -8.37462303039437 +491000 ekin = 1.40244626498263 | erot = 2.93162068131092 | epot = -12.7086899766333 | etot = -8.37462303033977 +492000 ekin = 1.36987596423218 | erot = 2.9670311886878 | epot = -12.7115301832547 | etot = -8.3746230303347 +493000 ekin = 1.33956200675526 | erot = 2.99664446239428 | epot = -12.7108294995122 | etot = -8.37462303036264 +494000 ekin = 1.31276816320931 | erot = 3.01889804551771 | epot = -12.7062892391349 | etot = -8.37462303040788 +495000 ekin = 1.29052832589647 | erot = 3.03218505524657 | epot = -12.6973364116076 | etot = -8.3746230304646 +496000 ekin = 1.27356858864311 | erot = 3.035022985778 | epot = -12.683214604961 | etot = -8.37462303053987 +497000 ekin = 1.26217859738859 | erot = 3.02610963123424 | epot = -12.6629112592681 | etot = -8.37462303064528 +498000 ekin = 1.25609176092333 | erot = 3.00437387242381 | epot = -12.63508866407 | etot = -8.37462303072284 +499000 ekin = 1.25448433544043 | erot = 2.96925958209368 | epot = -12.5983669483981 | etot = -8.37462303086403 +500000 ekin = 1.25592311954888 | erot = 2.92052794168088 | epot = -12.5510740922046 | etot = -8.37462303097485 +501000 ekin = 1.25866262015662 | erot = 2.85877857413216 | epot = -12.4920642252914 | etot = -8.37462303100262 +502000 ekin = 1.26101030104231 | erot = 2.78589367847382 | epot = -12.4215270104231 | etot = -8.37462303090696 +503000 ekin = 1.2616822409827 | erot = 2.70525686265705 | epot = -12.341562134315 | etot = -8.37462303067522 +504000 ekin = 1.26006875273123 | erot = 2.62162663921815 | epot = -12.2563184222851 | etot = -8.37462303033575 +505000 ekin = 1.25635230634372 | erot = 2.54066101850671 | epot = -12.1716363547708 | etot = -8.37462302992033 +506000 ekin = 1.25147361583387 | erot = 2.46829686832008 | epot = -12.0943935136487 | etot = -8.37462302949473 +507000 ekin = 1.24695832252401 | erot = 2.40991559866008 | epot = -12.0314969503144 | etot = -8.37462302913032 +508000 ekin = 1.24460011261898 | erot = 2.36947588934082 | epot = -11.9886990309703 | etot = -8.37462302901048 +509000 ekin = 1.24584437165075 | erot = 2.34837731731078 | epot = -11.968844717957 | etot = -8.37462302899552 +510000 ekin = 1.25172041123594 | erot = 2.34550382347416 | epot = -11.9718472639378 | etot = -8.37462302922773 +511000 ekin = 1.26248317250925 | erot = 2.35680066397849 | epot = -11.9939068661987 | etot = -8.37462302971099 +512000 ekin = 1.27739486770368 | erot = 2.37529788848781 | epot = -12.0273157865876 | etot = -8.37462303039607 +513000 ekin = 1.29481021505143 | erot = 2.39185405428337 | epot = -12.0612873005117 | etot = -8.37462303117693 +514000 ekin = 1.31250889880556 | erot = 2.39651406027282 | epot = -12.0836459909757 | etot = -8.37462303189731 +515000 ekin = 1.32825052581694 | erot = 2.38037057725958 | epot = -12.0832441354529 | etot = -8.37462303237642 +516000 ekin = 1.34045831429098 | erot = 2.33760267994488 | epot = -12.052684026695 | etot = -8.37462303245917 +517000 ekin = 1.34883924084267 | erot = 2.26713155444339 | epot = -11.9905938273649 | etot = -8.37462303207887 +518000 ekin = 1.35468550683747 | erot = 2.17326127006768 | epot = -11.9025698082027 | etot = -8.37462303129753 +519000 ekin = 1.36067339624092 | erot = 2.06494828515387 | epot = -11.8002447116851 | etot = -8.37462303029029 +520000 ekin = 1.37018582822474 | erot = 1.95390329836409 | epot = -11.6987121558686 | etot = -8.37462302927973 +521000 ekin = 1.38639579380205 | erot = 1.85221057841339 | epot = -11.6132294006773 | etot = -8.37462302846182 +522000 ekin = 1.41141432490464 | erot = 1.7702244553378 | epot = -11.5562618082023 | etot = -8.37462302795986 +523000 ekin = 1.44572356453295 | erot = 1.71520045870637 | epot = -11.5355470510576 | etot = -8.37462302781823 +524000 ekin = 1.48798145409594 | erot = 1.69073008317732 | epot = -11.5533345652898 | etot = -8.37462302801658 +525000 ekin = 1.53517683781547 | erot = 1.69680296063593 | epot = -11.6066028269467 | etot = -8.37462302849528 +526000 ekin = 1.58304900119082 | erot = 1.73025509475382 | epot = -11.6879271251201 | etot = -8.3746230291755 +527000 ekin = 1.62665879649241 | erot = 1.78540941264132 | epot = -11.7866912391065 | etot = -8.37462302997276 +528000 ekin = 1.66100783108725 | erot = 1.85480654803477 | epot = -11.8904374099227 | etot = -8.37462303080072 +529000 ekin = 1.68163863412719 | erot = 1.93001159413455 | epot = -11.9862732598304 | etot = -8.37462303156867 +530000 ekin = 1.68518623027201 | erot = 2.0025246086571 | epot = -12.0623338711111 | etot = -8.37462303218195 +531000 ekin = 1.66986059685696 | erot = 2.06478669655979 | epot = -12.1092703259673 | etot = -8.3746230325506 +532000 ekin = 1.63581226896246 | erot = 2.11116679184571 | epot = -12.1216020934203 | etot = -8.3746230326121 +533000 ekin = 1.58529617177826 | erot = 2.13870511838797 | epot = -12.0986243225201 | etot = -8.37462303235382 +534000 ekin = 1.52254564095677 | erot = 2.14737698822869 | epot = -12.0445456610105 | etot = -8.37462303182508 +535000 ekin = 1.4533242057691 | erot = 2.13977370493919 | epot = -11.9677209418325 | etot = -8.37462303112417 +536000 ekin = 1.384216910118 | erot = 2.12031314070409 | epot = -11.8791530811922 | etot = -8.37462303037013 +537000 ekin = 1.3218034289985 | erot = 2.09425520394393 | epot = -11.7906816626138 | etot = -8.37462302967138 +538000 ekin = 1.27187743420501 | erot = 2.06681107588913 | epot = -11.7133115391998 | etot = -8.37462302910564 +539000 ekin = 1.23883846279463 | erot = 2.04251647933624 | epot = -11.6559779708478 | etot = -8.3746230287169 +540000 ekin = 1.22531302703342 | erot = 2.02488499742721 | epot = -11.6248210529829 | etot = -8.37462302852225 +541000 ekin = 1.2319988229111 | erot = 2.01625749304557 | epot = -11.6228793444799 | etot = -8.37462302852322 +542000 ekin = 1.25769219451141 | erot = 2.01774880495074 | epot = -11.650064028173 | etot = -8.37462302871088 +543000 ekin = 1.29945731407194 | erot = 2.02924170402309 | epot = -11.7033220471621 | etot = -8.37462302906708 +544000 ekin = 1.35291512122203 | erot = 2.04944893326965 | epot = -11.7769870840475 | etot = -8.37462302955587 +545000 ekin = 1.41265384122183 | erot = 2.07611668223443 | epot = -11.8633935535745 | etot = -8.37462303011828 +546000 ekin = 1.47277167575229 | erot = 2.1064421688077 | epot = -11.95383687523 | etot = -8.37462303067005 +547000 ekin = 1.52754093319581 | erot = 2.13770468829022 | epot = -12.039868652601 | etot = -8.37462303111499 +548000 ekin = 1.57213155238907 | erot = 2.16798237176413 | epot = -12.1147369555225 | etot = -8.37462303136926 +549000 ekin = 1.60327488859484 | erot = 2.1967176749588 | epot = -12.1746155949418 | etot = -8.37462303138818 +550000 ekin = 1.619724343768 | erot = 2.22489244333393 | epot = -12.2192398182844 | etot = -8.37462303118247 +551000 ekin = 1.62240013870625 | erot = 2.2547059313599 | epot = -12.2517291008804 | etot = -8.37462303081428 +552000 ekin = 1.61417495562549 | erot = 2.28884205646996 | epot = -12.2776400424756 | etot = -8.37462303038012 +553000 ekin = 1.59932782091974 | erot = 2.32954987377656 | epot = -12.3035007246854 | etot = -8.37462302998911 +554000 ekin = 1.58274599066962 | erot = 2.37778817613127 | epot = -12.3351571965425 | etot = -8.37462302974158 +555000 ekin = 1.56899856385299 | erot = 2.43263226771681 | epot = -12.3762538612802 | etot = -8.37462302971037 +556000 ekin = 1.56145041157876 | erot = 2.49106505511529 | epot = -12.4271384966192 | etot = -8.37462302992514 +557000 ekin = 1.56197837218949 | erot = 2.54829507223443 | epot = -12.4848964746477 | etot = -8.37462303022382 +558000 ekin = 1.57029216551998 | erot = 2.59810209182206 | epot = -12.5430172882108 | etot = -8.37462303086871 +559000 ekin = 1.58339818321042 | erot = 2.63367391511295 | epot = -12.5916951298608 | etot = -8.37462303153745 +560000 ekin = 1.59712770481254 | erot = 2.64904697988439 | epot = -12.6207977168094 | etot = -8.37462303211248 +561000 ekin = 1.60698123343217 | erot = 2.64009683894273 | epot = -12.6217011048644 | etot = -8.37462303248948 +562000 ekin = 1.60896027782279 | erot = 2.60532700120585 | epot = -12.5889103116224 | etot = -8.37462303259375 +563000 ekin = 1.60023696633189 | erot = 2.54649193869391 | epot = -12.5213519373455 | etot = -8.37462303231966 +564000 ekin = 1.57955774677316 | erot = 2.46891092806073 | epot = -12.4230917066634 | etot = -8.37462303182948 +565000 ekin = 1.54734561566726 | erot = 2.38031455631918 | epot = -12.3022832030954 | etot = -8.37462303110898 +566000 ekin = 1.50554468554416 | erot = 2.29049479450049 | epot = -12.1706625102928 | etot = -8.37462303024818 +567000 ekin = 1.45732250665155 | erot = 2.21025028826054 | epot = -12.0421958242621 | etot = -8.37462302935005 +568000 ekin = 1.40671207380805 | erot = 2.15003703752962 | epot = -11.9313721398968 | etot = -8.37462302855915 +569000 ekin = 1.35794157949082 | erot = 2.11775595086775 | epot = -11.8503205583477 | etot = -8.37462302798917 +570000 ekin = 1.31523212119238 | erot = 2.11799693943009 | epot = -11.8078520883698 | etot = -8.37462302774737 +571000 ekin = 1.28243871604816 | erot = 2.15081941192899 | epot = -11.8078811559402 | etot = -8.37462302796308 +572000 ekin = 1.26220633019077 | erot = 2.21027034249799 | epot = -11.8470997013797 | etot = -8.37462302869095 +573000 ekin = 1.25525341534941 | erot = 2.28456705415308 | epot = -11.9144434992934 | etot = -8.37462302979094 +574000 ekin = 1.26030251433791 | erot = 2.3581378703613 | epot = -11.9930634156822 | etot = -8.37462303098301 +575000 ekin = 1.27473215622843 | erot = 2.41511328226784 | epot = -12.0644684704327 | etot = -8.37462303193643 +576000 ekin = 1.29562562245648 | erot = 2.44294920216499 | epot = -12.113197857112 | etot = -8.37462303249048 +577000 ekin = 1.32065634431855 | erot = 2.43438586780086 | epot = -12.1296652446962 | etot = -8.37462303257683 +578000 ekin = 1.34847271375233 | erot = 2.38804498568671 | epot = -12.1111407317143 | etot = -8.37462303227523 +579000 ekin = 1.37859640731264 | erot = 2.30759327889212 | epot = -12.0608127179336 | etot = -8.37462303172887 +580000 ekin = 1.41115339286314 | erot = 2.20016188412019 | epot = -11.9859383079388 | etot = -8.37462303095542 +581000 ekin = 1.44674776515146 | erot = 2.07475133368212 | epot = -11.8961221291757 | etot = -8.37462303034217 +582000 ekin = 1.4851482181042 | erot = 1.94050793884997 | epot = -11.8002791867466 | etot = -8.37462302979241 +583000 ekin = 1.52576266955557 | erot = 1.80603709651217 | epot = -11.7064227954081 | etot = -8.37462302934032 +584000 ekin = 1.56772288057535 | erot = 1.67887072897699 | epot = -11.6212166385569 | etot = -8.37462302900456 +585000 ekin = 1.60990333958961 | erot = 1.56509115871755 | epot = -11.5496175271043 | etot = -8.37462302879714 +586000 ekin = 1.65096359831956 | erot = 1.46905708282237 | epot = -11.494643709869 | etot = -8.37462302872704 +587000 ekin = 1.689404116345 | erot = 1.39319741551208 | epot = -11.4572245606542 | etot = -8.37462302879712 +588000 ekin = 1.72364170525864 | erot = 1.3379013744288 | epot = -11.4361661086844 | etot = -8.37462302899699 +589000 ekin = 1.75212209151102 | erot = 1.30158756259537 | epot = -11.4283326833828 | etot = -8.37462302927642 +590000 ekin = 1.77348776905869 | erot = 1.281119877253 | epot = -11.4292306759283 | etot = -8.37462302961656 +591000 ekin = 1.78679652583132 | erot = 1.27228388602327 | epot = -11.433703441769 | etot = -8.37462302991442 +592000 ekin = 1.79174476961286 | erot = 1.27074179819946 | epot = -11.4371095979204 | etot = -8.37462303010812 +593000 ekin = 1.78882244318549 | erot = 1.27295060805964 | epot = -11.4363960813905 | etot = -8.37462303014537 +594000 ekin = 1.77931578999136 | erot = 1.27682752829949 | epot = -11.430766348318 | etot = -8.37462303002713 +595000 ekin = 1.76511936071191 | erot = 1.28196044220573 | epot = -11.4217028327169 | etot = -8.37462302979925 +596000 ekin = 1.74839643258959 | erot = 1.28931412525866 | epot = -11.4123335873807 | etot = -8.3746230295325 +597000 ekin = 1.73114837529023 | erot = 1.30076368908084 | epot = -11.4065350936672 | etot = -8.37462302929611 +598000 ekin = 1.71482586357189 | erot = 1.31808503745165 | epot = -11.4075339301729 | etot = -8.37462302914938 +599000 ekin = 1.70035612855402 | erot = 1.34256499056094 | epot = -11.4175441481827 | etot = -8.37462302906774 +600000 ekin = 1.68813838896079 | erot = 1.37518403996459 | epot = -11.4379454579713 | etot = -8.37462302904587 +601000 ekin = 1.6780215527155 | erot = 1.41656361608045 | epot = -11.4692081979194 | etot = -8.37462302912342 +602000 ekin = 1.66952241262375 | erot = 1.46664302734669 | epot = -11.5107884691339 | etot = -8.37462302916344 +603000 ekin = 1.66207455080121 | erot = 1.52486246590722 | epot = -11.5615600460007 | etot = -8.37462302929223 +604000 ekin = 1.65429274424499 | erot = 1.59090716726355 | epot = -11.6198229409005 | etot = -8.37462302939192 +605000 ekin = 1.64513458460608 | erot = 1.66451963176825 | epot = -11.6842772458433 | etot = -8.374623029469 +606000 ekin = 1.63397297141755 | erot = 1.74533329764574 | epot = -11.7539292986231 | etot = -8.37462302955985 +607000 ekin = 1.62046446185742 | erot = 1.8324685241921 | epot = -11.827556015813 | etot = -8.37462302976344 +608000 ekin = 1.60415138615037 | erot = 1.92384516554938 | epot = -11.9026195817859 | etot = -8.37462303008618 +609000 ekin = 1.58416607277154 | erot = 2.01562004721412 | epot = -11.9744091506956 | etot = -8.37462303070992 +610000 ekin = 1.55892234884521 | erot = 2.10126039812687 | epot = -12.0348057783755 | etot = -8.37462303140342 +611000 ekin = 1.52586403282322 | erot = 2.17351542350433 | epot = -12.0740024883762 | etot = -8.37462303204869 +612000 ekin = 1.48252796781519 | erot = 2.22604744671554 | epot = -12.0831984469311 | etot = -8.37462303240035 +613000 ekin = 1.42777710477985 | erot = 2.25549715886549 | epot = -12.0578972959117 | etot = -8.3746230322664 +614000 ekin = 1.36284302676279 | erot = 2.26309761368271 | epot = -12.0005636720648 | etot = -8.3746230316193 +615000 ekin = 1.29166682111691 | erot = 2.25472033316591 | epot = -11.9210101848976 | etot = -8.37462303061475 +616000 ekin = 1.22033159945878 | erot = 2.23929049960089 | epot = -11.8342451285654 | etot = -8.37462302950574 +617000 ekin = 1.15585313013086 | erot = 2.22643765863405 | epot = -11.7569138172924 | etot = -8.37462302852749 +618000 ekin = 1.10482633868692 | erot = 2.22445549379561 | epot = -11.7039048603103 | etot = -8.37462302782772 +619000 ekin = 1.07233800595847 | erot = 2.23915844396541 | epot = -11.6861194773934 | etot = -8.37462302746957 +620000 ekin = 1.06133969548792 | erot = 2.27356598266192 | epot = -11.7095287055648 | etot = -8.37462302741493 +621000 ekin = 1.07250328126192 | erot = 2.32827640438336 | epot = -11.7754027132589 | etot = -8.37462302761364 +622000 ekin = 1.10448299244682 | erot = 2.40202886261783 | epot = -11.8811348830572 | etot = -8.37462302799258 +623000 ekin = 1.15443583440521 | erot = 2.49214268564202 | epot = -12.0212015485468 | etot = -8.37462302849954 +624000 ekin = 1.21858504498163 | erot = 2.59479979276395 | epot = -12.1880078668497 | etot = -8.37462302910413 +625000 ekin = 1.29260009292916 | erot = 2.70513041487836 | epot = -12.3723535376516 | etot = -8.37462302984411 +626000 ekin = 1.37166908701228 | erot = 2.81669294847794 | epot = -12.5629850662659 | etot = -8.37462303077572 +627000 ekin = 1.45036408325867 | erot = 2.92095656625948 | epot = -12.7459436814223 | etot = -8.37462303190418 +628000 ekin = 1.52265779658061 | erot = 3.00738157699388 | epot = -12.9046624066681 | etot = -8.37462303309358 +629000 ekin = 1.58251554245149 | erot = 3.06484099788355 | epot = -13.0219795743843 | etot = -8.37462303404925 +630000 ekin = 1.6251441888068 | erot = 3.08443014421886 | epot = -13.0841973674678 | etot = -8.3746230344421 +631000 ekin = 1.64954255051881 | erot = 3.06336922299652 | epot = -13.0875348072779 | etot = -8.37462303376256 +632000 ekin = 1.65761419154568 | erot = 3.00573585957066 | epot = -13.0379730840985 | etot = -8.37462303298212 +633000 ekin = 1.65174795094007 | erot = 2.9196523277595 | epot = -12.9460233106114 | etot = -8.37462303191187 +634000 ekin = 1.63566753658032 | erot = 2.8160465674089 | epot = -12.8263371348712 | etot = -8.37462303088198 +635000 ekin = 1.61303222684112 | erot = 2.70552755469896 | epot = -12.6931828116467 | etot = -8.37462303010658 +636000 ekin = 1.5864696555612 | erot = 2.59633719497732 | epot = -12.5574298801738 | etot = -8.37462302963529 +637000 ekin = 1.55730595136552 | erot = 2.49385627804114 | epot = -12.4257852588055 | etot = -8.37462302939879 +638000 ekin = 1.52584911625276 | erot = 2.40123459740375 | epot = -12.3017067429401 | etot = -8.37462302928359 +639000 ekin = 1.4919249764131 | erot = 2.32043250457075 | epot = -12.1869805101708 | etot = -8.37462302918699 +640000 ekin = 1.45541378442456 | erot = 2.25314232064305 | epot = -12.0831791341102 | etot = -8.37462302904262 +641000 ekin = 1.41664919926993 | erot = 2.20135144253836 | epot = -11.9926236706323 | etot = -8.37462302882401 +642000 ekin = 1.37663135857242 | erot = 2.16751840710241 | epot = -11.9187727942139 | etot = -8.37462302853903 +643000 ekin = 1.33719601643076 | erot = 2.15436138730409 | epot = -11.8661804319158 | etot = -8.37462302818095 +644000 ekin = 1.3009546006674 | erot = 2.16433354913885 | epot = -11.8399111777162 | etot = -8.37462302790992 +645000 ekin = 1.2700904774084 | erot = 2.19964354153203 | epot = -11.8443570466485 | etot = -8.37462302770811 +646000 ekin = 1.24673444984148 | erot = 2.26154821905495 | epot = -11.8829056965386 | etot = -8.3746230276422 +647000 ekin = 1.23265873216168 | erot = 2.34972644270308 | epot = -11.9570082026438 | etot = -8.37462302777908 +648000 ekin = 1.22854704148088 | erot = 2.46146984669606 | epot = -12.064639916852 | etot = -8.37462302867502 +649000 ekin = 1.23123438276377 | erot = 2.58918284110391 | epot = -12.1950402535071 | etot = -8.37462302963938 +650000 ekin = 1.23733747326785 | erot = 2.72274115030322 | epot = -12.3347016542778 | etot = -8.37462303070677 +651000 ekin = 1.24289918510996 | erot = 2.85114575375504 | epot = -12.4686679705932 | etot = -8.37462303172824 +652000 ekin = 1.24424620799518 | erot = 2.96370857039037 | epot = -12.5825778108493 | etot = -8.37462303246373 +653000 ekin = 1.23918232849171 | erot = 3.05217314602706 | epot = -12.6659785072772 | etot = -8.37462303275843 +654000 ekin = 1.22772861476395 | erot = 3.11212236728239 | epot = -12.7144740146656 | etot = -8.37462303261922 +655000 ekin = 1.21201905899384 | erot = 3.14303840851493 | epot = -12.7296804997022 | etot = -8.37462303219339 +656000 ekin = 1.19543744328548 | erot = 3.1472043556439 | epot = -12.7172648305994 | etot = -8.37462303166998 +657000 ekin = 1.18149305106241 | erot = 3.12826014301058 | epot = -12.6843762252575 | etot = -8.37462303118449 +658000 ekin = 1.17296379520039 | erot = 3.09016086421994 | epot = -12.6377476902088 | etot = -8.37462303078844 +659000 ekin = 1.1715475805743 | erot = 3.03675236921006 | epot = -12.582922980259 | etot = -8.37462303047464 +660000 ekin = 1.17794903027373 | erot = 2.9717237974431 | epot = -12.5242958579367 | etot = -8.37462303021987 +661000 ekin = 1.19217998580356 | erot = 2.89858436847931 | epot = -12.4653873842995 | etot = -8.37462303001659 +662000 ekin = 1.21385724617893 | erot = 2.82043608357553 | epot = -12.4089163596414 | etot = -8.37462302988693 +663000 ekin = 1.24235148672361 | erot = 2.73948706946421 | epot = -12.3564615860687 | etot = -8.37462302988084 +664000 ekin = 1.27672733537722 | erot = 2.65640555000017 | epot = -12.3077559154332 | etot = -8.3746230300558 +665000 ekin = 1.31551337032972 | erot = 2.56977925409673 | epot = -12.2599156548621 | etot = -8.37462303043569 +666000 ekin = 1.3564470832523 | erot = 2.4761038242715 | epot = -12.2071739384876 | etot = -8.37462303096385 +667000 ekin = 1.39640549571929 | erot = 2.37072397309753 | epot = -12.1417525003011 | etot = -8.37462303148432 +668000 ekin = 1.43167926156681 | erot = 2.24978389246185 | epot = -12.0560861858176 | etot = -8.37462303178894 +669000 ekin = 1.45855421041053 | erot = 2.11253877406444 | epot = -11.9457160161991 | etot = -8.37462303172417 +670000 ekin = 1.47395086468889 | erot = 1.96284004635376 | epot = -11.8114139423238 | etot = -8.37462303128116 +671000 ekin = 1.47583917683429 | erot = 1.80887360748459 | epot = -11.659335814911 | etot = -8.37462303059216 +672000 ekin = 1.46334042173463 | erot = 1.66127989926156 | epot = -11.4992433508344 | etot = -8.37462302983822 +673000 ekin = 1.43665130212215 | erot = 1.5307421039891 | epot = -11.3420164352618 | etot = -8.37462302915052 +674000 ekin = 1.3969614764095 | erot = 1.42619748860185 | epot = -11.1977819935876 | etot = -8.37462302857624 +675000 ekin = 1.34640262234059 | erot = 1.35413730294513 | epot = -11.0751629533923 | etot = -8.3746230281066 +676000 ekin = 1.28794616800078 | erot = 1.31873912036178 | epot = -10.9813083160849 | etot = -8.37462302772231 +677000 ekin = 1.22516961115208 | erot = 1.32230065786356 | epot = -10.9220932964383 | etot = -8.37462302742264 +678000 ekin = 1.16189722957944 | erot = 1.36556643966804 | epot = -10.9020866964777 | etot = -8.3746230272302 +679000 ekin = 1.10179124612511 | erot = 1.44777635008945 | epot = -10.924190623401 | etot = -8.37462302718647 +680000 ekin = 1.04797419611956 | erot = 1.56642353037385 | epot = -10.9890207538395 | etot = -8.37462302734611 +681000 ekin = 1.00272279863915 | erot = 1.71676662170497 | epot = -11.0941124481149 | etot = -8.37462302777081 +682000 ekin = 0.967238825853956 | erot = 1.89118238727181 | epot = -11.2330442416428 | etot = -8.37462302851702 +683000 ekin = 0.941511133158685 | erot = 2.07856636781358 | epot = -11.3947005305716 | etot = -8.37462302959932 +684000 ekin = 0.924337639171898 | erot = 2.26421473260418 | epot = -11.5631754027131 | etot = -8.37462303093706 +685000 ekin = 0.913629093907857 | erot = 2.4308049018799 | epot = -11.7190570280991 | etot = -8.37462303231132 +686000 ekin = 0.907072709287811 | erot = 2.56090643971852 | epot = -11.8426021824031 | etot = -8.37462303339673 +687000 ekin = 0.903027971000835 | erot = 2.6406532391868 | epot = -11.9183042440807 | etot = -8.37462303389309 +688000 ekin = 0.90126599734657 | erot = 2.6631528356685 | epot = -11.9390418667022 | etot = -8.37462303368708 +689000 ekin = 0.903127291409964 | erot = 2.62989920641364 | epot = -11.9076495307356 | etot = -8.374623032912 +690000 ekin = 0.911003410961955 | erot = 2.54949432632515 | epot = -11.8351207691396 | etot = -8.37462303185251 +691000 ekin = 0.927482290198902 | erot = 2.43458909333302 | epot = -11.7366944143163 | etot = -8.3746230307844 +692000 ekin = 0.954629968085803 | erot = 2.29871133595714 | epot = -11.6279643338902 | etot = -8.37462302984724 +693000 ekin = 0.993689842548928 | erot = 2.15457291081592 | epot = -11.5228857825806 | etot = -8.37462302921573 +694000 ekin = 1.04477766676298 | erot = 2.01224824489283 | epot = -11.4316489404341 | etot = -8.37462302877829 +695000 ekin = 1.10717972560152 | erot = 1.87902519875999 | epot = -11.3608279528691 | etot = -8.37462302850759 +696000 ekin = 1.17962988094267 | erot = 1.76021636431907 | epot = -11.3144692736454 | etot = -8.37462302838365 +697000 ekin = 1.26034508066981 | erot = 1.65939331949942 | epot = -11.2943614285657 | etot = -8.3746230283965 +698000 ekin = 1.34700634148022 | erot = 1.57856058320643 | epot = -11.3001899532267 | etot = -8.37462302854003 +699000 ekin = 1.43673776972376 | erot = 1.5182938888681 | epot = -11.3296546873967 | etot = -8.37462302880481 +700000 ekin = 1.52614311404677 | erot = 1.47788597100086 | epot = -11.3786521142183 | etot = -8.37462302917067 +701000 ekin = 1.61113170993768 | erot = 1.45542937143776 | epot = -11.4411841111661 | etot = -8.37462302979068 +702000 ekin = 1.68654811959775 | erot = 1.44774835139905 | epot = -11.5089195013108 | etot = -8.37462303031401 +703000 ekin = 1.74804176728588 | erot = 1.45137774866611 | epot = -11.574042546703 | etot = -8.37462303075104 +704000 ekin = 1.79223863051445 | erot = 1.46326677106997 | epot = -11.6301284325956 | etot = -8.37462303101117 +705000 ekin = 1.81722742450332 | erot = 1.48152907261607 | epot = -11.6733795281554 | etot = -8.37462303103604 +706000 ekin = 1.82282717411182 | erot = 1.50598222608154 | epot = -11.703432431022 | etot = -8.3746230308286 +707000 ekin = 1.81047570465579 | erot = 1.53820736290559 | epot = -11.7233060980165 | etot = -8.37462303045516 +708000 ekin = 1.78276828495014 | erot = 1.58105495038929 | epot = -11.738446265359 | etot = -8.3746230300196 +709000 ekin = 1.74282721670583 | erot = 1.63779752304863 | epot = -11.7552477693728 | etot = -8.37462302961834 +710000 ekin = 1.69374790022126 | erot = 1.71129566720286 | epot = -11.7796665967301 | etot = -8.37462302930597 +711000 ekin = 1.6383019339965 | erot = 1.80347448195222 | epot = -11.8163994450386 | etot = -8.37462302908989 +712000 ekin = 1.57892460631464 | erot = 1.91516553832625 | epot = -11.8687131735937 | etot = -8.37462302895278 +713000 ekin = 1.51786752130083 | erot = 2.04613993382096 | epot = -11.9386304840051 | etot = -8.37462302888328 +714000 ekin = 1.45734042325253 | erot = 2.1950944154761 | epot = -12.0270578676235 | etot = -8.37462302889484 +715000 ekin = 1.39951776248721 | erot = 2.35946536295161 | epot = -12.1336061544601 | etot = -8.3746230290213 +716000 ekin = 1.34639246829342 | erot = 2.53511986598189 | epot = -12.2561353635766 | etot = -8.37462302930131 +717000 ekin = 1.29955432270216 | erot = 2.71613012099189 | epot = -12.3903074734231 | etot = -8.3746230297291 +718000 ekin = 1.25989829927652 | erot = 2.89465680806849 | epot = -12.5291781377287 | etot = -8.37462303038367 +719000 ekin = 1.22750607430026 | erot = 3.06092665842397 | epot = -12.6630557638747 | etot = -8.37462303115044 +720000 ekin = 1.20188187066614 | erot = 3.20425006665573 | epot = -12.7807549692619 | etot = -8.37462303194004 +721000 ekin = 1.18220717983373 | erot = 3.3141488243266 | epot = -12.8709790367784 | etot = -8.3746230326181 +722000 ekin = 1.16774608427136 | erot = 3.38185582435497 | epot = -12.9242249417156 | etot = -8.37462303308926 +723000 ekin = 1.15807318397659 | erot = 3.40183188750264 | epot = -12.9345281046214 | etot = -8.37462303314213 +724000 ekin = 1.15381445068157 | erot = 3.37321067522537 | epot = -12.901648158662 | etot = -8.3746230327551 +725000 ekin = 1.15678266077584 | erot = 3.30036671004652 | epot = -12.8317724028189 | etot = -8.37462303199649 +726000 ekin = 1.1696197829831 | erot = 3.19222682083512 | epot = -12.7364696348452 | etot = -8.37462303102701 +727000 ekin = 1.19513165181162 | erot = 3.06063268781758 | epot = -12.6303873696662 | etot = -8.37462303003699 +728000 ekin = 1.23552066624092 | erot = 2.91835949413033 | epot = -12.5285031895567 | etot = -8.37462302918541 +729000 ekin = 1.29175272908879 | erot = 2.77740116858521 | epot = -12.4437769262438 | etot = -8.37462302856975 +730000 ekin = 1.3631967532209 | erot = 2.6478473435432 | epot = -12.3856671249871 | etot = -8.37462302822298 +731000 ekin = 1.44757535461241 | erot = 2.53736869400872 | epot = -12.3595670767507 | etot = -8.37462302812953 +732000 ekin = 1.54119076309627 | erot = 2.4511484979359 | epot = -12.3669622892787 | etot = -8.37462302824654 +733000 ekin = 1.63933166939861 | erot = 2.39205275840952 | epot = -12.406007456334 | etot = -8.37462302852592 +734000 ekin = 1.73673684349519 | erot = 2.3608723595031 | epot = -12.4722322319241 | etot = -8.37462302892585 +735000 ekin = 1.82801503458218 | erot = 2.356559637263 | epot = -12.5591977012566 | etot = -8.37462302941146 +736000 ekin = 1.90799093495898 | erot = 2.37647912513455 | epot = -12.6590930900387 | etot = -8.37462302994521 +737000 ekin = 1.97201607373641 | erot = 2.41675065087087 | epot = -12.7633897550831 | etot = -8.37462303047585 +738000 ekin = 2.01630111185462 | erot = 2.47274745432439 | epot = -12.8636715971181 | etot = -8.37462303093912 +739000 ekin = 2.03827941486831 | erot = 2.53972508206532 | epot = -12.952627528204 | etot = -8.37462303127039 +740000 ekin = 2.03693425612647 | erot = 2.61344505993508 | epot = -13.0250023474894 | etot = -8.37462303142788 +741000 ekin = 2.01297029115182 | erot = 2.69059268985891 | epot = -13.0781860124231 | etot = -8.37462303141239 +742000 ekin = 1.96872639114995 | erot = 2.7688256630284 | epot = -13.1121750854499 | etot = -8.37462303127155 +743000 ekin = 1.90780895371371 | erot = 2.84642411506738 | epot = -13.1288560998655 | etot = -8.37462303108443 +744000 ekin = 1.83452633952077 | erot = 2.92167512844567 | epot = -13.1308244989022 | etot = -8.37462303093574 +745000 ekin = 1.75327142724935 | erot = 2.99223326161803 | epot = -13.1201277197547 | etot = -8.3746230308873 +746000 ekin = 1.66800377362325 | erot = 3.05470990305885 | epot = -13.0973367076415 | etot = -8.37462303095935 +747000 ekin = 1.58193446041842 | erot = 3.10466510764481 | epot = -13.061222599179 | etot = -8.37462303111576 +748000 ekin = 1.49744243756514 | erot = 3.13708170332859 | epot = -13.0091471722146 | etot = -8.37462303132086 +749000 ekin = 1.4161800860191 | erot = 3.14699639332258 | epot = -12.9377995108339 | etot = -8.37462303149226 +750000 ekin = 1.33927892445981 | erot = 3.1303195534607 | epot = -12.8442215094952 | etot = -8.37462303157471 +751000 ekin = 1.26755716712031 | erot = 3.08449081841388 | epot = -12.7266710170761 | etot = -8.37462303154187 +752000 ekin = 1.20166403421531 | erot = 3.00876367724594 | epot = -12.5850507428583 | etot = -8.37462303139709 +753000 ekin = 1.14214671459707 | erot = 2.90415589317233 | epot = -12.4209256389297 | etot = -8.37462303116025 +754000 ekin = 1.08946987137415 | erot = 2.77319742895129 | epot = -12.2372903311776 | etot = -8.37462303085218 +755000 ekin = 1.04403390693365 | erot = 2.61963797727954 | epot = -12.0382949146995 | etot = -8.37462303048628 +756000 ekin = 1.00622473318939 | erot = 2.44820898509878 | epot = -11.8290567483568 | etot = -8.37462303006868 +757000 ekin = 0.976498427349965 | erot = 2.26449263382439 | epot = -11.6156140907484 | etot = -8.37462302957404 +758000 ekin = 0.955485081991406 | erot = 2.07490082913166 | epot = -11.4050089401822 | etot = -8.37462302905912 +759000 ekin = 0.943970421440628 | erot = 1.88597944059249 | epot = -11.2045728906025 | etot = -8.37462302856939 +760000 ekin = 0.942943189126763 | erot = 1.70391676484818 | epot = -11.0214829820775 | etot = -8.3746230281026 +761000 ekin = 0.953636819964326 | erot = 1.53434362883594 | epot = -10.8626034764889 | etot = -8.37462302768861 +762000 ekin = 0.9774394637126 | erot = 1.3819779354708 | epot = -10.7340404265357 | etot = -8.37462302735234 +763000 ekin = 1.01575214957204 | erot = 1.25038414093908 | epot = -10.6407593176234 | etot = -8.37462302711231 +764000 ekin = 1.06980632715056 | erot = 1.14186552721051 | epot = -10.5862948813426 | etot = -8.37462302698152 +765000 ekin = 1.14045321590795 | erot = 1.05746802222152 | epot = -10.5725442650988 | etot = -8.37462302696934 +766000 ekin = 1.22794009365067 | erot = 0.997057737110214 | epot = -10.5996208578434 | etot = -8.37462302708247 +767000 ekin = 1.33169356854964 | erot = 0.959438204818728 | epot = -10.6657548006927 | etot = -8.37462302732435 +768000 ekin = 1.4501370758167 | erot = 0.942489485935825 | epot = -10.7672495894454 | etot = -8.37462302769287 +769000 ekin = 1.58057826605241 | erot = 0.943330765762085 | epot = -10.898532059991 | etot = -8.37462302817651 +770000 ekin = 1.71920830316327 | erot = 0.958522817509944 | epot = -11.052354149423 | etot = -8.37462302874977 +771000 ekin = 1.86125297319058 | erot = 0.984329269146892 | epot = -11.2202052717077 | etot = -8.37462302937024 +772000 ekin = 2.00111996073798 | erot = 1.01706547585179 | epot = -11.3928084666678 | etot = -8.37462303007807 +773000 ekin = 2.13179679392768 | erot = 1.05343215414926 | epot = -11.5598519787697 | etot = -8.3746230306928 +774000 ekin = 2.24724323873895 | erot = 1.09038833142141 | epot = -11.7122546013489 | etot = -8.37462303118857 +775000 ekin = 2.3426359374738 | erot = 1.12564496608179 | epot = -11.8429039350775 | etot = -8.37462303152187 +776000 ekin = 2.41469510966563 | erot = 1.15782091196134 | epot = -11.9471390533043 | etot = -8.37462303167731 +777000 ekin = 2.46195564508681 | erot = 1.1863859033051 | epot = -12.022964580064 | etot = -8.37462303167205 +778000 ekin = 2.48471522536309 | erot = 1.21145891744878 | epot = -12.0707971743639 | etot = -8.37462303155203 +779000 ekin = 2.48466047806976 | erot = 1.23352809684396 | epot = -12.092811606291 | etot = -8.37462303137732 +780000 ekin = 2.46428568677078 | erot = 1.25319615838965 | epot = -12.0921048763578 | etot = -8.37462303119734 +781000 ekin = 2.42632307022413 | erot = 1.27107093313049 | epot = -12.0720170343822 | etot = -8.37462303102754 +782000 ekin = 2.37341747179021 | erot = 1.28787882377792 | epot = -12.0359193264101 | etot = -8.37462303084194 +783000 ekin = 2.30815170371668 | erot = 1.30476531775826 | epot = -11.9875400520692 | etot = -8.37462303059425 +784000 ekin = 2.23331824904064 | erot = 1.32360971124727 | epot = -11.9315509905407 | etot = -8.37462303025285 +785000 ekin = 2.15217666716612 | erot = 1.34711489735354 | epot = -11.8739145943546 | etot = -8.37462302983493 +786000 ekin = 2.06843940785569 | erot = 1.37850506799254 | epot = -11.8215675052575 | etot = -8.37462302940932 +787000 ekin = 1.9858834200417 | erot = 1.42085370631113 | epot = -11.7813601554289 | etot = -8.37462302907609 +788000 ekin = 1.90769396723605 | erot = 1.47626814207218 | epot = -11.7585851382313 | etot = -8.37462302892309 +789000 ekin = 1.83580155857396 | erot = 1.54525606071467 | epot = -11.7556806482778 | etot = -8.3746230289892 +790000 ekin = 1.77050160314611 | erot = 1.62653131912008 | epot = -11.7716559515141 | etot = -8.37462302924791 +791000 ekin = 1.71053482189894 | erot = 1.717315369065 | epot = -11.8024732205846 | etot = -8.37462302962068 +792000 ekin = 1.65360852454738 | erot = 1.81397519201809 | epot = -11.8422067465761 | etot = -8.37462303001059 +793000 ekin = 1.59715988493495 | erot = 1.91273671404254 | epot = -11.8845196293118 | etot = -8.37462303033427 +794000 ekin = 1.53909469766365 | erot = 2.01023412206039 | epot = -11.9239518502785 | etot = -8.37462303055444 +795000 ekin = 1.47829524949757 | erot = 2.103829410215 | epot = -11.9567476903381 | etot = -8.37462303062554 +796000 ekin = 1.41481662089641 | erot = 2.19194291994355 | epot = -11.9813825714076 | etot = -8.37462303056767 +797000 ekin = 1.3498130824975 | erot = 2.27401207106169 | epot = -11.9984481839612 | etot = -8.37462303040201 +798000 ekin = 1.28529636430788 | erot = 2.35042093010669 | epot = -12.010340324573 | etot = -8.37462303015844 +799000 ekin = 1.22381948474078 | erot = 2.42233570221871 | epot = -12.0207782168134 | etot = -8.37462302985392 +800000 ekin = 1.16822785386461 | erot = 2.4914343853454 | epot = -12.0342852688245 | etot = -8.37462302961449 +801000 ekin = 1.12099278642821 | erot = 2.55928816630625 | epot = -12.0549039821744 | etot = -8.37462302943995 +802000 ekin = 1.08396505814352 | erot = 2.62689447863089 | epot = -12.0854825661053 | etot = -8.37462302933093 +803000 ekin = 1.0584163696009 | erot = 2.69442631110622 | epot = -12.1274657101663 | etot = -8.37462302945918 +804000 ekin = 1.04426779801393 | erot = 2.76024770981027 | epot = -12.1791385376415 | etot = -8.37462302981732 +805000 ekin = 1.03995925233861 | erot = 2.820462542343 | epot = -12.2350448251542 | etot = -8.3746230304726 +806000 ekin = 1.04249639914768 | erot = 2.86897163061644 | epot = -12.286091060981 | etot = -8.37462303121685 +807000 ekin = 1.04816653315824 | erot = 2.8985035139628 | epot = -12.3212930790687 | etot = -8.37462303194768 +808000 ekin = 1.05329972431633 | erot = 2.90189493045883 | epot = -12.3298176872637 | etot = -8.37462303248858 +809000 ekin = 1.0551100311715 | erot = 2.87378175152242 | epot = -12.3035148153869 | etot = -8.37462303269303 +810000 ekin = 1.05231348649716 | erot = 2.81208782293683 | epot = -12.2390243420022 | etot = -8.37462303256824 +811000 ekin = 1.04519713626945 | erot = 2.7185412275192 | epot = -12.1383613957983 | etot = -8.37462303200969 +812000 ekin = 1.03556509620936 | erot = 2.59875418167731 | epot = -12.0089423091028 | etot = -8.37462303121614 +813000 ekin = 1.0261737080691 | erot = 2.46123250524489 | epot = -11.8620292436587 | etot = -8.37462303034468 +814000 ekin = 1.0199349938987 | erot = 2.31562695725955 | epot = -11.7101849806875 | etot = -8.37462302952927 +815000 ekin = 1.01938989930425 | erot = 2.17131439138523 | epot = -11.565327319542 | etot = -8.37462302885251 +816000 ekin = 1.02641070194428 | erot = 2.0364324772937 | epot = -11.437466207585 | etot = -8.37462302834705 +817000 ekin = 1.04210163741074 | erot = 1.91741411147782 | epot = -11.3341387769021 | etot = -8.37462302801356 +818000 ekin = 1.06685452879948 | erot = 1.81892194068062 | epot = -11.2603994972665 | etot = -8.37462302778642 +819000 ekin = 1.10044073145771 | erot = 1.74396570048653 | epot = -11.2190294597264 | etot = -8.37462302778212 +820000 ekin = 1.14169134058308 | erot = 1.69367065616412 | epot = -11.2099850246654 | etot = -8.37462302791824 +821000 ekin = 1.18877552115635 | erot = 1.66758281677157 | epot = -11.2309813661153 | etot = -8.3746230281874 +822000 ekin = 1.23927394202738 | erot = 1.66378494635111 | epot = -11.2776819169556 | etot = -8.37462302857712 +823000 ekin = 1.29027861043491 | erot = 1.67905219550407 | epot = -11.3439538348882 | etot = -8.37462302894924 +824000 ekin = 1.33894050069103 | erot = 1.70948347746263 | epot = -11.4230470076179 | etot = -8.37462302946421 +825000 ekin = 1.38220508272949 | erot = 1.7504425333049 | epot = -11.5072706460105 | etot = -8.37462302997613 +826000 ekin = 1.41710294910005 | erot = 1.79708475166576 | epot = -11.588810731177 | etot = -8.37462303041121 +827000 ekin = 1.44127249564728 | erot = 1.84518129446393 | epot = -11.66107682081 | etot = -8.37462303069882 +828000 ekin = 1.45335409116131 | erot = 1.89178230950048 | epot = -11.7197594314505 | etot = -8.37462303078868 +829000 ekin = 1.45330184509051 | erot = 1.93565038630986 | epot = -11.7635752620665 | etot = -8.37462303066615 +830000 ekin = 1.4425358875311 | erot = 1.9773267325415 | epot = -11.7944856504307 | etot = -8.3746230303581 +831000 ekin = 1.42321719807346 | erot = 2.01836652049591 | epot = -11.8162067486375 | etot = -8.37462303006811 +832000 ekin = 1.39798324786963 | erot = 2.06093497421873 | epot = -11.8335412516727 | etot = -8.37462302958432 +833000 ekin = 1.37122558103505 | erot = 2.10801499212763 | epot = -11.8538636023288 | etot = -8.37462302916612 +834000 ekin = 1.34739157346096 | erot = 2.16168408583467 | epot = -11.8836986881931 | etot = -8.37462302889746 +835000 ekin = 1.33033159138483 | erot = 2.22243990039529 | epot = -11.9273945206114 | etot = -8.37462302883124 +836000 ekin = 1.32279692350228 | erot = 2.28888168436561 | epot = -11.9863016368487 | etot = -8.37462302898085 +837000 ekin = 1.32614569946022 | erot = 2.35776552714737 | epot = -12.0585342559267 | etot = -8.37462302931913 +838000 ekin = 1.3403008431359 | erot = 2.42442328377117 | epot = -12.1393471566882 | etot = -8.37462302978115 +839000 ekin = 1.3639577057291 | erot = 2.48350186340837 | epot = -12.2220825994109 | etot = -8.37462303027338 +840000 ekin = 1.39499323416822 | erot = 2.52993036126689 | epot = -12.2995466261263 | etot = -8.37462303069118 +841000 ekin = 1.43098519524823 | erot = 2.55993796917592 | epot = -12.3655461953706 | etot = -8.37462303094641 +842000 ekin = 1.4697160397417 | erot = 2.57185321601787 | epot = -12.416192286756 | etot = -8.37462303099641 +843000 ekin = 1.50953312203678 | erot = 2.56639824287505 | epot = -12.4505543957724 | etot = -8.37462303086053 +844000 ekin = 1.5494822275751 | erot = 2.54631968024221 | epot = -12.4704249384311 | etot = -8.3746230306138 +845000 ekin = 1.58921446589507 | erot = 2.51544731878856 | epot = -12.4792848150415 | etot = -8.3746230303579 +846000 ekin = 1.62874660073367 | erot = 2.47751369443054 | epot = -12.4808833253451 | etot = -8.37462303018089 +847000 ekin = 1.66818957254906 | erot = 2.43516936578216 | epot = -12.4779819684582 | etot = -8.37462303012693 +848000 ekin = 1.70754173431461 | erot = 2.38953851004836 | epot = -12.4717032745481 | etot = -8.37462303018513 +849000 ekin = 1.74659403306467 | erot = 2.34043091651226 | epot = -12.4616479798778 | etot = -8.37462303030089 +850000 ekin = 1.78494345866239 | erot = 2.28706007037795 | epot = -12.4466265594442 | etot = -8.37462303040389 +851000 ekin = 1.82207688727501 | erot = 2.22891420063281 | epot = -12.425614118349 | etot = -8.37462303044114 +852000 ekin = 1.85747606626799 | erot = 2.16637383866296 | epot = -12.398472935331 | etot = -8.37462303040009 +853000 ekin = 1.89070501215685 | erot = 2.10080168938735 | epot = -12.366129731854 | etot = -8.37462303030978 +854000 ekin = 1.9214659857968 | erot = 2.03409194238599 | epot = -12.330180958406 | etot = -8.37462303022316 +855000 ekin = 1.94963553788746 | erot = 1.96792069995055 | epot = -12.2921792680263 | etot = -8.37462303018833 +856000 ekin = 1.97530408452615 | erot = 1.90306034569468 | epot = -12.2529874604462 | etot = -8.37462303022541 +857000 ekin = 1.99898235174409 | erot = 1.83954776716887 | epot = -12.2131531489759 | etot = -8.3746230300629 +858000 ekin = 2.021489668939 | erot = 1.77712472342471 | epot = -12.1732374225848 | etot = -8.37462303022108 +859000 ekin = 2.04332984814827 | erot = 1.71372610059514 | epot = -12.1316789790801 | etot = -8.37462303033664 +860000 ekin = 2.06530510863647 | erot = 1.64761266617994 | epot = -12.0875408051668 | etot = -8.37462303035041 +861000 ekin = 2.08844047523226 | erot = 1.57839130430651 | epot = -12.0414548097765 | etot = -8.37462303023775 +862000 ekin = 2.11372996877535 | erot = 1.50759861505441 | epot = -11.995951613855 | etot = -8.37462303002523 +863000 ekin = 2.14175193680092 | erot = 1.43866072802287 | epot = -11.9550356946146 | etot = -8.37462302979079 +864000 ekin = 2.17225364144349 | erot = 1.37614575517537 | epot = -11.9230224262557 | etot = -8.37462302963687 +865000 ekin = 2.20389689305164 | erot = 1.32450432847655 | epot = -11.9030242511673 | etot = -8.37462302963908 +866000 ekin = 2.23438769161315 | erot = 1.28681328070723 | epot = -11.8958240017944 | etot = -8.37462302947399 +867000 ekin = 2.26151301831573 | erot = 1.26501341500445 | epot = -11.9011494630794 | etot = -8.37462302975918 +868000 ekin = 2.28295312633917 | erot = 1.2587638567001 | epot = -11.9163400130163 | etot = -8.37462302997703 +869000 ekin = 2.2971313908785 | erot = 1.26636363803473 | epot = -11.9381180589604 | etot = -8.37462303004718 +870000 ekin = 2.30388454565948 | erot = 1.28638972777041 | epot = -11.9648973034185 | etot = -8.37462302998857 +871000 ekin = 2.30409365411964 | erot = 1.31787621263464 | epot = -11.9965928971127 | etot = -8.37462303035837 +872000 ekin = 2.29712455306151 | erot = 1.35930276714402 | epot = -12.0310503505619 | etot = -8.37462303035639 +873000 ekin = 2.2827453931599 | erot = 1.40846954678789 | epot = -12.065837970059 | etot = -8.37462303011121 +874000 ekin = 2.26320703627333 | erot = 1.46277950106371 | epot = -12.1006095675609 | etot = -8.3746230302239 +875000 ekin = 2.2400163472838 | erot = 1.51889022328766 | epot = -12.1335296008637 | etot = -8.37462303029222 +876000 ekin = 2.21430830466978 | erot = 1.57348199615719 | epot = -12.1624133311073 | etot = -8.37462303028036 +877000 ekin = 2.18777848573709 | erot = 1.62389020161555 | epot = -12.1862917175042 | etot = -8.3746230301516 +878000 ekin = 2.16252897547841 | erot = 1.66838793091172 | epot = -12.2055399364486 | etot = -8.37462303005844 +879000 ekin = 2.14044753721882 | erot = 1.70571411560968 | epot = -12.2207846828247 | etot = -8.37462302999622 +880000 ekin = 2.12277471002682 | erot = 1.73469967122049 | epot = -12.2320974112761 | etot = -8.37462303002882 +881000 ekin = 2.10977467359972 | erot = 1.75399371449064 | epot = -12.2383914182785 | etot = -8.37462303018811 +882000 ekin = 2.10050164322213 | erot = 1.7618701927401 | epot = -12.2369948664112 | etot = -8.37462303044894 +883000 ekin = 2.0929086771248 | erot = 1.75649694685427 | epot = -12.2240286546981 | etot = -8.37462303071903 +884000 ekin = 2.0843370364501 | erot = 1.7367150045659 | epot = -12.1956750719275 | etot = -8.37462303091147 +885000 ekin = 2.0720290157253 | erot = 1.70282592067542 | epot = -12.1494779673605 | etot = -8.37462303095973 +886000 ekin = 2.05378411491253 | erot = 1.65660476471949 | epot = -12.085011910269 | etot = -8.374623030637 +887000 ekin = 2.02874297420615 | erot = 1.60297409541309 | epot = -12.0063400996919 | etot = -8.37462303007265 +888000 ekin = 1.99720256582679 | erot = 1.54912086824386 | epot = -11.9209464635316 | etot = -8.3746230294609 +889000 ekin = 1.95913963735338 | erot = 1.50198702368973 | epot = -11.8357496899689 | etot = -8.37462302892583 +890000 ekin = 1.91617614841582 | erot = 1.46746689325636 | epot = -11.75826607021 | etot = -8.37462302853783 +891000 ekin = 1.87023137415679 | erot = 1.44931992810141 | epot = -11.694174330585 | etot = -8.37462302832684 +892000 ekin = 1.82316218734301 | erot = 1.44889048228522 | epot = -11.6466756979017 | etot = -8.37462302827347 +893000 ekin = 1.77672781685204 | erot = 1.46538080245969 | epot = -11.6167316476425 | etot = -8.3746230283308 +894000 ekin = 1.73267401007656 | erot = 1.49642015526123 | epot = -11.603717193777 | etot = -8.37462302843919 +895000 ekin = 1.69287615444159 | erot = 1.53876375542575 | epot = -11.6062629384076 | etot = -8.37462302854029 +896000 ekin = 1.6594652881061 | erot = 1.58897281258496 | epot = -11.6230611292876 | etot = -8.37462302859657 +897000 ekin = 1.63484229162877 | erot = 1.64389812681594 | epot = -11.6533634470428 | etot = -8.37462302859813 +898000 ekin = 1.62150447331787 | erot = 1.70104293751506 | epot = -11.6971704394058 | etot = -8.37462302857288 +899000 ekin = 1.62168394146005 | erot = 1.75850368945989 | epot = -11.754810659492 | etot = -8.37462302857205 +900000 ekin = 1.63689346404005 | erot = 1.81470313447866 | epot = -11.8262196271634 | etot = -8.37462302864474 +901000 ekin = 1.66753387742474 | erot = 1.86808611524118 | epot = -11.9102430214842 | etot = -8.37462302881828 +902000 ekin = 1.71269692237879 | erot = 1.91693084841925 | epot = -12.0042507998865 | etot = -8.37462302908844 +903000 ekin = 1.77021838508038 | erot = 1.95934050990336 | epot = -12.1041819244126 | etot = -8.37462302942886 +904000 ekin = 1.83694819296334 | erot = 1.99341312084054 | epot = -12.2049843435877 | etot = -8.37462302978381 +905000 ekin = 1.90914641653746 | erot = 2.0175452764756 | epot = -12.301314723126 | etot = -8.37462303011296 +906000 ekin = 1.98289589688105 | erot = 2.03065122058404 | epot = -12.3881701478506 | etot = -8.37462303038552 +907000 ekin = 2.05443877923752 | erot = 2.03228127523247 | epot = -12.4613430850605 | etot = -8.37462303059052 +908000 ekin = 2.12038320005706 | erot = 2.02259637574775 | epot = -12.5176026065384 | etot = -8.37462303073356 +909000 ekin = 2.17777472065196 | erot = 2.00223868776754 | epot = -12.5546364392486 | etot = -8.37462303082908 +910000 ekin = 2.22407231387502 | erot = 1.97218459089689 | epot = -12.5708799356595 | etot = -8.37462303088757 +911000 ekin = 2.2570988123033 | erot = 1.93367043925279 | epot = -12.565392282463 | etot = -8.37462303090695 +912000 ekin = 2.27504055965447 | erot = 1.88824345124255 | epot = -12.5379070417669 | etot = -8.37462303086985 +913000 ekin = 2.27654326616373 | erot = 1.83792322947823 | epot = -12.4890895263923 | etot = -8.37462303075033 +914000 ekin = 2.26395838706936 | erot = 1.78540897804491 | epot = -12.4239903947897 | etot = -8.37462302967546 +915000 ekin = 2.24045468911864 | erot = 1.7337281006883 | epot = -12.3488058193252 | etot = -8.37462302951822 +916000 ekin = 2.20520370201831 | erot = 1.68615105197114 | epot = -12.2659777833028 | etot = -8.37462302931332 +917000 ekin = 2.15800582905993 | erot = 1.64606783756472 | epot = -12.1786966957294 | etot = -8.37462302910471 +918000 ekin = 2.09921834411119 | erot = 1.61647797760392 | epot = -12.0903193506463 | etot = -8.37462302893123 +919000 ekin = 2.02966476142347 | erot = 1.59954949780366 | epot = -12.0038372880325 | etot = -8.37462302880535 +920000 ekin = 1.95065755949099 | erot = 1.59642144855954 | epot = -11.9217020368486 | etot = -8.37462302879802 +921000 ekin = 1.86366200650715 | erot = 1.6075086608029 | epot = -11.8457936959431 | etot = -8.37462302863303 +922000 ekin = 1.77152243885063 | erot = 1.63263587421854 | epot = -11.7787813414971 | etot = -8.37462302842796 +923000 ekin = 1.67869484032847 | erot = 1.67111175334959 | epot = -11.7244296218669 | etot = -8.3746230281888 +924000 ekin = 1.59024537021156 | erot = 1.72202288865011 | epot = -11.6868912868262 | etot = -8.37462302796453 +925000 ekin = 1.5112393703698 | erot = 1.78411652411382 | epot = -11.6699789223096 | etot = -8.37462302782603 +926000 ekin = 1.44599317764753 | erot = 1.85554834407746 | epot = -11.6761645495494 | etot = -8.37462302782441 +927000 ekin = 1.39752558601309 | erot = 1.93370661236091 | epot = -11.705855226336 | etot = -8.37462302796202 +928000 ekin = 1.36763823809792 | erot = 2.01538770681432 | epot = -11.7576489728028 | etot = -8.37462302789054 +929000 ekin = 1.36100399984171 | erot = 2.09737818238835 | epot = -11.8330052106967 | etot = -8.3746230284666 +930000 ekin = 1.35523134970901 | erot = 2.17722433884352 | epot = -11.9070787109409 | etot = -8.37462302238835 +931000 ekin = 1.39431469298964 | erot = 2.2543562043887 | epot = -12.0232939189524 | etot = -8.37462302157402 +932000 ekin = 1.49280866704539 | erot = 2.31847930194453 | epot = -12.1859109889642 | etot = -8.37462301997426 +933000 ekin = 1.58533340946056 | erot = 2.36490000058681 | epot = -12.3248564302729 | etot = -8.37462302022553 +934000 ekin = 1.68690712098002 | erot = 2.39298221169384 | epot = -12.4545123553122 | etot = -8.37462302263839 +935000 ekin = 1.78473836462927 | erot = 2.39676204061381 | epot = -12.5561234284514 | etot = -8.37462302320833 +936000 ekin = 1.86987725385837 | erot = 2.3725869373384 | epot = -12.6170872147064 | etot = -8.37462302350959 +937000 ekin = 1.93720452637544 | erot = 2.32043568374953 | epot = -12.6322632336339 | etot = -8.37462302350895 +938000 ekin = 1.9838520890903 | erot = 2.24266190734083 | epot = -12.6011370196561 | etot = -8.37462302322501 +939000 ekin = 2.00910923705166 | erot = 2.14379034932815 | epot = -12.5275226091129 | etot = -8.37462302273308 +940000 ekin = 2.01395507289469 | erot = 2.02993348653905 | epot = -12.4185115815289 | etot = -8.37462302209514 +941000 ekin = 2.00103743451551 | erot = 1.90808629517564 | epot = -12.2837467510699 | etot = -8.37462302137876 +942000 ekin = 1.97419824310303 | erot = 1.78546116622366 | epot = -12.1342824299697 | etot = -8.37462302064297 +943000 ekin = 1.93808318009234 | erot = 1.66892069893568 | epot = -11.9816268989622 | etot = -8.37462301993414 +944000 ekin = 1.8977766335859 | erot = 1.5645619851526 | epot = -11.8369616380283 | etot = -8.37462301928981 +945000 ekin = 1.85843605736167 | erot = 1.47742214177585 | epot = -11.7104812178821 | etot = -8.37462301874459 +946000 ekin = 1.82491092897238 | erot = 1.4112458813213 | epot = -11.6107798286296 | etot = -8.37462301833593 +947000 ekin = 1.80134221884099 | erot = 1.36826076777436 | epot = -11.5442260047188 | etot = -8.3746230181035 +948000 ekin = 1.79076227754137 | erot = 1.34894522657638 | epot = -11.5143305222011 | etot = -8.37462301808336 +949000 ekin = 1.79475359820903 | erot = 1.35184135985263 | epot = -11.5212179763541 | etot = -8.3746230182924 +950000 ekin = 1.81326202049733 | erot = 1.37352812801424 | epot = -11.5614131672234 | etot = -8.37462301871185 +951000 ekin = 1.8446612222921 | erot = 1.40888082073615 | epot = -11.6281650623084 | etot = -8.37462301928016 +952000 ekin = 1.88610598518233 | erot = 1.4516699630596 | epot = -11.7123989681437 | etot = -8.37462301990175 +953000 ekin = 1.93415626208905 | erot = 1.49545802208077 | epot = -11.8042373044988 | etot = -8.37462302032895 +954000 ekin = 1.98570845875077 | erot = 1.53486140750072 | epot = -11.8951928870223 | etot = -8.37462302077084 +955000 ekin = 2.03763688300367 | erot = 1.56575119866826 | epot = -11.9780111026998 | etot = -8.37462302102783 +956000 ekin = 2.08752516850609 | erot = 1.58576425991822 | epot = -12.0479124495199 | etot = -8.37462302109557 +957000 ekin = 2.13388693710885 | erot = 1.59443657078623 | epot = -12.1029465289009 | etot = -8.37462302100585 +958000 ekin = 2.17603134876192 | erot = 1.59291217741034 | epot = -12.1435665469851 | etot = -8.37462302081279 +959000 ekin = 2.21381255039506 | erot = 1.58343493106153 | epot = -12.1718705020323 | etot = -8.3746230205757 +960000 ekin = 2.24735101958149 | erot = 1.56876603526881 | epot = -12.1907400751984 | etot = -8.37462302034813 +961000 ekin = 2.27678636585367 | erot = 1.55164507323174 | epot = -12.2030544592552 | etot = -8.37462302016982 +962000 ekin = 2.30208813280194 | erot = 1.53436606871416 | epot = -12.2110772215839 | etot = -8.37462302006782 +963000 ekin = 2.32292955590359 | erot = 1.51849868398086 | epot = -12.2160512599392 | etot = -8.37462302005478 +964000 ekin = 2.33862421267619 | erot = 1.5047615187632 | epot = -12.2180087515685 | etot = -8.37462302012906 +965000 ekin = 2.34813222213658 | erot = 1.49304783092089 | epot = -12.2158030733316 | etot = -8.37462302027411 +966000 ekin = 2.35015122853745 | erot = 1.48260237418168 | epot = -12.2073766231763 | etot = -8.37462302045712 +967000 ekin = 2.34330726066801 | erot = 1.47233774696489 | epot = -12.1902680282645 | etot = -8.37462302063163 +968000 ekin = 2.32644504716153 | erot = 1.46125212630528 | epot = -12.1623201942108 | etot = -8.37462302074401 +969000 ekin = 2.29898771920432 | erot = 1.44887277461825 | epot = -12.1224835145672 | etot = -8.37462302074465 +970000 ekin = 2.26130276214926 | erot = 1.43562016619226 | epot = -12.0715459489416 | etot = -8.37462302060004 +971000 ekin = 2.21499063336789 | erot = 1.42298879008693 | epot = -12.0126024437583 | etot = -8.37462302030352 +972000 ekin = 2.16303757452058 | erot = 1.41348472406632 | epot = -11.951145318372 | etot = -8.37462301978514 +973000 ekin = 2.10950969273521 | erot = 1.41039391551463 | epot = -11.8945266278588 | etot = -8.37462301960897 +974000 ekin = 2.05703199419465 | erot = 1.41732503873172 | epot = -11.8489800520854 | etot = -8.37462301915903 +975000 ekin = 2.01010390574292 | erot = 1.43732066922268 | epot = -11.8220475937212 | etot = -8.37462301875562 +976000 ekin = 1.97340114976778 | erot = 1.47261385396339 | epot = -11.8206380222098 | etot = -8.37462301847868 +977000 ekin = 1.95082006443637 | erot = 1.52416835984564 | epot = -11.8496114426837 | etot = -8.37462301840164 +978000 ekin = 1.9447283226985 | erot = 1.5913101945952 | epot = -11.9106615358701 | etot = -8.3746230185764 +979000 ekin = 1.95538713570238 | erot = 1.67153495870807 | epot = -12.0015451134282 | etot = -8.37462301901775 +980000 ekin = 1.9806772386414 | erot = 1.76051368575892 | epot = -12.115813944186 | etot = -8.37462301978569 +981000 ekin = 2.01579571923818 | erot = 1.852073195397 | epot = -12.242491935286 | etot = -8.3746230206508 +982000 ekin = 2.05441082038431 | erot = 1.93952253756493 | epot = -12.3685563794515 | etot = -8.37462302150224 +983000 ekin = 2.08992138437299 | erot = 2.01671280308907 | epot = -12.4812572096455 | etot = -8.37462302218342 +984000 ekin = 2.11656909820189 | erot = 2.07910696967932 | epot = -12.5702990904574 | etot = -8.37462302257622 +985000 ekin = 2.13033501101521 | erot = 2.12464764347404 | epot = -12.6296056771257 | etot = -8.37462302263646 +986000 ekin = 2.12935596247826 | erot = 2.15403431725829 | epot = -12.6580133021397 | etot = -8.37462302240314 +987000 ekin = 2.11471923987147 | erot = 2.17104098415582 | epot = -12.6603832459134 | etot = -8.37462302188615 +988000 ekin = 2.09119735100847 | erot = 2.18228698931407 | epot = -12.6481073619509 | etot = -8.37462302162839 +989000 ekin = 2.06027968800836 | erot = 2.19075462083354 | epot = -12.6256573302404 | etot = -8.37462302139855 +990000 ekin = 2.02336255788427 | erot = 2.19843813688459 | epot = -12.5964237160094 | etot = -8.37462302124054 +991000 ekin = 1.98188077466453 | erot = 2.2063805572012 | epot = -12.562884353023 | etot = -8.37462302115728 +992000 ekin = 1.93715749695718 | erot = 2.21473069767444 | epot = -12.5265112157552 | etot = -8.3746230211236 +993000 ekin = 1.89038311211529 | erot = 2.2230775987835 | epot = -12.4880837320058 | etot = -8.37462302110698 +994000 ekin = 1.84266575141443 | erot = 2.23084817708077 | epot = -12.4481369495769 | etot = -8.37462302108169 +995000 ekin = 1.79502825849762 | erot = 2.23761065997439 | epot = -12.4072619394952 | etot = -8.37462302102315 +996000 ekin = 1.74865820356561 | erot = 2.24323231086636 | epot = -12.3665135353738 | etot = -8.37462302094188 +997000 ekin = 1.70508150017444 | erot = 2.24765365390765 | epot = -12.3273581749414 | etot = -8.37462302085929 +998000 ekin = 1.66588125244514 | erot = 2.25078611336597 | epot = -12.291290386589 | etot = -8.37462302077789 +999000 ekin = 1.63259998370637 | erot = 2.25262768593191 | epot = -12.2598506903133 | etot = -8.37462302067497 +1000000 ekin = 1.60661879878209 | erot = 2.25373528619522 | epot = -12.2349771055384 | etot = -8.37462302056112 + 1000000 0.1190088 -1.3493654 0.12586767 -1.0628358 0.00017426596 64000 +Loop time of 17.562 on 1 procs for 1000000 steps with 10 atoms + +Performance: 49197.105 tau/day, 56941.094 timesteps/s +99.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 | 14.789 | 14.789 | 14.789 | 0.0 | 84.21 +Bond | 0.61289 | 0.61289 | 0.61289 | 0.0 | 3.49 +Neigh | 0.006141 | 0.006141 | 0.006141 | 0.0 | 0.03 +Comm | 0.32905 | 0.32905 | 0.32905 | 0.0 | 1.87 +Output | 0.098357 | 0.098357 | 0.098357 | 0.0 | 0.56 +Modify | 1.4688 | 1.4688 | 1.4688 | 0.0 | 8.36 +Other | | 0.2577 | | | 1.47 + +Nlocal: 10.0000 ave 10 max 10 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 0.00000 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 37.0000 ave 37 max 37 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 37 +Ave neighs/atom = 3.7000000 +Ave special neighs/atom = 3.6000000 +Neighbor list builds = 1000 +Dangerous builds = 0 + +write_data last_config.${number}.* nocoeff +write_data last_config.1.* nocoeff +System init for write_data ... +#write_restart last_config.${number}.* +Total wall time: 0:00:17 diff --git a/examples/PACKAGES/cgdna/examples/oxDNA2/duplex1/log.2Jul21.duplex1.g++.4 b/examples/PACKAGES/cgdna/examples/oxDNA2/duplex1/log.2Jul21.duplex1.g++.4 new file mode 100644 index 0000000000..ed20d4c455 --- /dev/null +++ b/examples/PACKAGES/cgdna/examples/oxDNA2/duplex1/log.2Jul21.duplex1.g++.4 @@ -0,0 +1,1181 @@ +LAMMPS (2 Jul 2021) +variable number equal 1 +variable ofreq equal 1000 +variable efreq equal 1000 +variable T equal 0.1 +variable rhos equal 0.2 + +units lj + +dimension 3 + +newton on + +boundary p p p + +atom_style hybrid bond ellipsoid oxdna +WARNING: Atom style hybrid defines both, per-type and per-atom masses; both must be set, but only per-atom masses will be used (../atom_vec_hybrid.cpp:157) +atom_modify sort 0 1.0 + +# Pair interactions require lists of neighbours to be calculated +neighbor 2.0 bin +neigh_modify every 1 delay 0 check yes + +read_data data.duplex1 +Reading data file ... + orthogonal box = (-20.000000 -20.000000 -20.000000) to (20.000000 20.000000 20.000000) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 10 atoms + reading velocities ... + 10 velocities + scanning bonds ... + 1 = max bonds/atom + 10 ellipsoids + reading bonds ... + 8 bonds +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 + 2 = max # of 1-3 neighbors + 2 = max # of 1-4 neighbors + 4 = max # of special neighbors + special bonds CPU = 0.001 seconds + read_data CPU = 0.005 seconds + +set atom * mass 3.1575 +Setting atom values ... + 10 settings made for mass + +group all type 1 4 +10 atoms in group all + +# oxDNA2 bond interactions - FENE backbone +bond_style oxdna2/fene +bond_coeff * 2.0 0.25 0.7564 +special_bonds lj 0 1 1 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 1 1 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 2 = max # of 1-3 neighbors + 2 = max # of 1-4 neighbors + 4 = max # of special neighbors + special bonds CPU = 0.000 seconds + +# oxDNA2 pair interactions +pair_style hybrid/overlay oxdna2/excv oxdna2/stk oxdna2/hbond oxdna2/xstk oxdna2/coaxstk oxdna2/dh +pair_coeff * * oxdna2/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32 +pair_coeff * * oxdna2/stk seqav ${T} 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 +pair_coeff * * oxdna2/stk seqav 0.1 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 +pair_coeff * * oxdna2/hbond seqav 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 1 4 oxdna2/hbond seqav 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 2 3 oxdna2/hbond seqav 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff * * oxdna2/xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68 +pair_coeff * * oxdna2/coaxstk 58.5 0.4 0.6 0.22 0.58 2.0 2.891592653589793 0.65 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 40.0 3.116592653589793 +pair_coeff * * oxdna2/dh ${T} ${rhos} 0.815 +pair_coeff * * oxdna2/dh 0.1 ${rhos} 0.815 +pair_coeff * * oxdna2/dh 0.1 0.2 0.815 + +# NVE ensemble +fix 1 all nve/asphere +#fix 2 all langevin ${T} ${T} 2.5 457145 angmom 10 + +timestep 1e-5 + +#comm_style tiled +fix 3 all balance 1000 1.03 shift xyz 10 1.03 +comm_modify cutoff 3.8 + +compute quat all property/atom quatw quati quatj quatk + +compute erot all erotate/asphere +compute ekin all ke +compute epot all pe +variable erot equal c_erot +variable ekin equal c_ekin +variable epot equal c_epot +variable etot equal c_erot+c_ekin+c_epot +fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes +fix 5 all print 1000 "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes + +dump out all custom ${ofreq} out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump out all custom 1000 out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump out all custom 1000 out.1.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump_modify out sort id +dump_modify out format line "%d %d %d %22.15le %22.15le %22.15le %d %d %d %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le" + +run 1000000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 5.6389877 + ghost atom cutoff = 5.6389877 + binsize = 2.8194939, bins = 15 15 15 + 5 neighbor lists, perpetual/occasional/extra = 5 0 0 + (1) pair oxdna2/excv, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard + (2) pair oxdna2/hbond, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none + (3) pair oxdna2/xstk, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none + (4) pair oxdna2/coaxstk, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none + (5) pair oxdna2/dh, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none +WARNING: Communication cutoff adjusted to 5.638987723814632 (../comm.cpp:739) +0 ekin = 1.10853632272819 | erot = 2.81573649976629 | epot = -12.298895791142 | etot = -8.37462296864754 +Per MPI rank memory allocation (min/avg/max) = 9.194 | 9.195 | 9.196 Mbytes +Step Temp E_pair E_mol TotEng Press Volume + 0 0.082113802 -1.3370157 0.10712616 -1.1190359 -6.6192825e-05 64000 +1000 ekin = 1.07640077431763 | erot = 2.90684392233818 | epot = -12.357867665527 | etot = -8.37462296887121 +2000 ekin = 1.05363107794411 | erot = 2.99414178935848 | epot = -12.4223958364623 | etot = -8.37462296915967 +3000 ekin = 1.04083382823095 | erot = 3.07274362339768 | epot = -12.4882004210899 | etot = -8.37462296946131 +4000 ekin = 1.03780093165925 | erot = 3.13815143503908 | epot = -12.5505753364221 | etot = -8.37462296972372 +5000 ekin = 1.04371581655901 | erot = 3.18681185449848 | epot = -12.6051506409707 | etot = -8.37462296991324 +6000 ekin = 1.05738085799297 | erot = 3.21642353087471 | epot = -12.6484273588875 | etot = -8.37462297001986 +7000 ekin = 1.07739394884044 | erot = 3.22597832036687 | epot = -12.6779952392559 | etot = -8.37462297004859 +8000 ekin = 1.1022663747209 | erot = 3.21563966301724 | epot = -12.6925290077504 | etot = -8.37462297001224 +9000 ekin = 1.13051291055329 | erot = 3.18656247631357 | epot = -12.6916983567815 | etot = -8.37462296991463 +10000 ekin = 1.16073704358066 | erot = 3.14076972913364 | epot = -12.6761297424774 | etot = -8.37462296976313 +11000 ekin = 1.19170449380508 | erot = 3.08098965164645 | epot = -12.6473171150236 | etot = -8.37462296957207 +12000 ekin = 1.22238189802732 | erot = 3.0104025346826 | epot = -12.6074074020774 | etot = -8.37462296936752 +13000 ekin = 1.25192691881491 | erot = 2.9323026187282 | epot = -12.558852506718 | etot = -8.37462296917493 +14000 ekin = 1.27963857618761 | erot = 2.84975156813378 | epot = -12.5040131133431 | etot = -8.37462296902168 +15000 ekin = 1.30489368750127 | erot = 2.76534813925013 | epot = -12.444864795638 | etot = -8.37462296888657 +16000 ekin = 1.32709913751465 | erot = 2.6811818478553 | epot = -12.3829039541517 | etot = -8.3746229687817 +17000 ekin = 1.34568132349848 | erot = 2.59861285690791 | epot = -12.3189171492214 | etot = -8.37462296881501 +18000 ekin = 1.36011712604128 | erot = 2.51802979978581 | epot = -12.2527698947085 | etot = -8.37462296888139 +19000 ekin = 1.37000559015645 | erot = 2.43889875259721 | epot = -12.1835273117077 | etot = -8.37462296895404 +20000 ekin = 1.37516683465218 | erot = 2.36049590954916 | epot = -12.110285713206 | etot = -8.37462296900469 +21000 ekin = 1.37575335509461 | erot = 2.28221618930097 | epot = -12.0325925134032 | etot = -8.37462296900766 +22000 ekin = 1.37235802310954 | erot = 2.20383846967476 | epot = -11.9508194617284 | etot = -8.37462296894406 +23000 ekin = 1.36610326249355 | erot = 2.12570839352806 | epot = -11.8664346248251 | etot = -8.37462296880354 +24000 ekin = 1.35869525710697 | erot = 2.04881568638623 | epot = -11.7821339120793 | etot = -8.37462296858607 +25000 ekin = 1.35242255125602 | erot = 1.97475968439783 | epot = -11.7018052039588 | etot = -8.3746229683049 +26000 ekin = 1.35007012440099 | erot = 1.90560954362747 | epot = -11.6303026360114 | etot = -8.37462296798292 +27000 ekin = 1.3547433297047 | erot = 1.84367629115701 | epot = -11.5730425885209 | etot = -8.37462296765922 +28000 ekin = 1.36954369410757 | erot = 1.79121252282619 | epot = -11.5353791843193 | etot = -8.37462296738557 +29000 ekin = 1.39711560919905 | erot = 1.75006009044063 | epot = -11.5217986668611 | etot = -8.37462296722143 +30000 ekin = 1.4391109249101 | erot = 1.72127833748022 | epot = -11.5350122296155 | etot = -8.37462296722517 +31000 ekin = 1.49567630461198 | erot = 1.70480588615784 | epot = -11.5751051582053 | etot = -8.37462296743552 +32000 ekin = 1.56511285114187 | erot = 1.6992353898336 | epot = -11.6389712088326 | etot = -8.37462296785708 +33000 ekin = 1.64385110263249 | erot = 1.70198396265073 | epot = -11.7204580336835 | etot = -8.37462296840027 +34000 ekin = 1.72681002365037 | erot = 1.709463143449 | epot = -11.8108961361852 | etot = -8.37462296908579 +35000 ekin = 1.80812188596385 | erot = 1.71712980816868 | epot = -11.8998746638723 | etot = -8.37462296973973 +36000 ekin = 1.88201893971562 | erot = 1.72067857993909 | epot = -11.9773204899105 | etot = -8.37462297025577 +37000 ekin = 1.94364733336839 | erot = 1.71680208569971 | epot = -12.0350723896308 | etot = -8.37462297056268 +38000 ekin = 1.98961498615658 | erot = 1.7037090792949 | epot = -12.0679470360926 | etot = -8.37462297064112 +39000 ekin = 2.01818359901117 | erot = 1.6812671128222 | epot = -12.0740736823534 | etot = -8.37462297052003 +40000 ekin = 2.02914332282587 | erot = 1.65077260628056 | epot = -12.054538899364 | etot = -8.37462297025758 +41000 ekin = 2.02349103018124 | erot = 1.6144826235111 | epot = -12.0125966236109 | etot = -8.37462296991857 +42000 ekin = 2.00304412554535 | erot = 1.57509121259575 | epot = -11.9527583076989 | etot = -8.3746229695578 +43000 ekin = 1.97008148028979 | erot = 1.53529510620986 | epot = -11.8799995557137 | etot = -8.37462296921407 +44000 ekin = 1.92705109571092 | erot = 1.49750726070826 | epot = -11.7991813253589 | etot = -8.37462296893973 +45000 ekin = 1.87634986385881 | erot = 1.46354390598901 | epot = -11.714516738533 | etot = -8.37462296868513 +46000 ekin = 1.82016797429767 | erot = 1.43491031451218 | epot = -11.6297012572907 | etot = -8.37462296848089 +47000 ekin = 1.76039182009028 | erot = 1.41286016407 | epot = -11.5478749524838 | etot = -8.37462296832354 +48000 ekin = 1.69856949274782 | erot = 1.39838217522424 | epot = -11.4715746361764 | etot = -8.37462296820431 +49000 ekin = 1.63593954988751 | erot = 1.39228918140577 | epot = -11.4028516994045 | etot = -8.37462296811125 +50000 ekin = 1.573518015373 | erot = 1.39530041169494 | epot = -11.3434413950978 | etot = -8.37462296802981 +51000 ekin = 1.51222872476358 | erot = 1.4081065034094 | epot = -11.2949581961197 | etot = -8.37462296794667 +52000 ekin = 1.45305245526496 | erot = 1.43140550730924 | epot = -11.2590809304253 | etot = -8.37462296785112 +53000 ekin = 1.39716366086923 | erot = 1.4658956749353 | epot = -11.2376823035407 | etot = -8.37462296773616 +54000 ekin = 1.34602153837051 | erot = 1.51222067984185 | epot = -11.2328651858293 | etot = -8.37462296761691 +55000 ekin = 1.30138436197336 | erot = 1.57077970891815 | epot = -11.2467870384001 | etot = -8.37462296750862 +56000 ekin = 1.26522647192236 | erot = 1.64151101613076 | epot = -11.2813604554934 | etot = -8.37462296744032 +57000 ekin = 1.23956119808443 | erot = 1.7236309263303 | epot = -11.3378150918587 | etot = -8.37462296744395 +58000 ekin = 1.22620283906733 | erot = 1.81539828229232 | epot = -11.4162240889028 | etot = -8.37462296754315 +59000 ekin = 1.22652758768657 | erot = 1.9140038119354 | epot = -11.5151543673671 | etot = -8.37462296774508 +60000 ekin = 1.24129579501625 | erot = 2.01564970996732 | epot = -11.6315684730208 | etot = -8.3746229680372 +61000 ekin = 1.27057003505326 | erot = 2.11581304358659 | epot = -11.7610060470469 | etot = -8.374622968407 +62000 ekin = 1.31372115356101 | erot = 2.20955642503236 | epot = -11.8979005473865 | etot = -8.37462296879312 +63000 ekin = 1.36947667734272 | erot = 2.29224896410223 | epot = -12.0363486106148 | etot = -8.37462296916984 +64000 ekin = 1.43596184816382 | erot = 2.35998108781796 | epot = -12.1705659055146 | etot = -8.37462296953284 +65000 ekin = 1.5108757081499 | erot = 2.40947275989084 | epot = -12.2949714378725 | etot = -8.37462296983178 +66000 ekin = 1.59162978656359 | erot = 2.43872351537726 | epot = -12.4049762719856 | etot = -8.37462297004473 +67000 ekin = 1.67546349074597 | erot = 2.44726186999247 | epot = -12.4973483309001 | etot = -8.3746229701617 +68000 ekin = 1.75953613825231 | erot = 2.43621057967589 | epot = -12.5703696881153 | etot = -8.37462297018708 +69000 ekin = 1.84098201456594 | erot = 2.40815676459637 | epot = -12.6237617493034 | etot = -8.37462297014108 +70000 ekin = 1.9169281052228 | erot = 2.36682660300827 | epot = -12.6583776782864 | etot = -8.37462297005529 +71000 ekin = 1.9844938047305 | erot = 2.31661131420484 | epot = -12.6757280888521 | etot = -8.37462296991679 +72000 ekin = 2.04081287193519 | erot = 2.26215174487669 | epot = -12.6775875867421 | etot = -8.37462296993018 +73000 ekin = 2.08263291328363 | erot = 2.2074336386418 | epot = -12.6646895218712 | etot = -8.3746229699458 +74000 ekin = 2.1069858415085 | erot = 2.15544421118363 | epot = -12.6370530226939 | etot = -8.3746229700018 +75000 ekin = 2.11136525908731 | erot = 2.1081694067506 | epot = -12.5941576359031 | etot = -8.37462297006514 +76000 ekin = 2.09405873141411 | erot = 2.06669472630762 | epot = -12.5353764278106 | etot = -8.37462297008889 +77000 ekin = 2.05455135347917 | erot = 2.03147933575646 | epot = -12.4606536592619 | etot = -8.37462297002628 +78000 ekin = 1.99386684227705 | erot = 2.0026817101331 | epot = -12.3711715222579 | etot = -8.37462296984776 +79000 ekin = 1.91474155283397 | erot = 1.98040758803654 | epot = -12.2697721104225 | etot = -8.37462296955195 +80000 ekin = 1.82155513477577 | erot = 1.9647973478023 | epot = -12.1609754517452 | etot = -8.3746229691671 +81000 ekin = 1.71999782481694 | erot = 1.95595086125355 | epot = -12.050571654813 | etot = -8.37462296874256 +82000 ekin = 1.61651478139498 | erot = 1.95375810375277 | epot = -11.9448958534852 | etot = -8.37462296833741 +83000 ekin = 1.51761134750079 | erot = 1.9577277486065 | epot = -11.8499620641155 | etot = -8.37462296800824 +84000 ekin = 1.42912416355166 | erot = 1.96688313409217 | epot = -11.7706302654419 | etot = -8.37462296779805 +85000 ekin = 1.35556895555397 | erot = 1.97976517498703 | epot = -11.7099570982739 | etot = -8.37462296773285 +86000 ekin = 1.29966988136848 | erot = 1.99452593271721 | epot = -11.6688187819006 | etot = -8.37462296781488 +87000 ekin = 1.26213747948969 | erot = 2.00910214170812 | epot = -11.6458625892977 | etot = -8.37462296809987 +88000 ekin = 1.24134500163876 | erot = 2.02122064243495 | epot = -11.6371886124845 | etot = -8.37462296841076 +89000 ekin = 1.23421644947628 | erot = 2.02900530500622 | epot = -11.6378447232196 | etot = -8.37462296873706 +90000 ekin = 1.23690604243587 | erot = 2.03136372571867 | epot = -11.6428927371715 | etot = -8.374622969017 +91000 ekin = 1.24531053049766 | erot = 2.02816188261866 | epot = -11.6480953823212 | etot = -8.37462296920492 +92000 ekin = 1.25564394227081 | erot = 2.02032873397354 | epot = -11.6505956455253 | etot = -8.37462296928095 +93000 ekin = 1.2648401881744 | erot = 2.00975004471106 | epot = -11.6492132021397 | etot = -8.3746229692542 +94000 ekin = 1.27076152680855 | erot = 1.99896253062564 | epot = -11.6443470265802 | etot = -8.374622969146 +95000 ekin = 1.27224696211196 | erot = 1.99076889271348 | epot = -11.6376388238182 | etot = -8.37462296899275 +96000 ekin = 1.26905385172933 | erot = 1.9877690850581 | epot = -11.6314459056159 | etot = -8.3746229688285 +97000 ekin = 1.26173398384364 | erot = 1.99196117307494 | epot = -11.6283181256016 | etot = -8.37462296868301 +98000 ekin = 1.25146122958159 | erot = 2.00445279489008 | epot = -11.6305369930525 | etot = -8.37462296858079 +99000 ekin = 1.23981039935426 | erot = 2.02529911459878 | epot = -11.6397324824947 | etot = -8.37462296854163 +100000 ekin = 1.22848889431703 | erot = 2.05346079777948 | epot = -11.6565726606772 | etot = -8.37462296858067 +101000 ekin = 1.21904296342442 | erot = 2.08686922543173 | epot = -11.6805351575619 | etot = -8.37462296870573 +102000 ekin = 1.21258708443156 | erot = 2.12259257652706 | epot = -11.7098026298707 | etot = -8.37462296891212 +103000 ekin = 1.20962138127621 | erot = 2.15710417867594 | epot = -11.7413485291302 | etot = -8.37462296917809 +104000 ekin = 1.2099943506476 | erot = 2.18665201736537 | epot = -11.7712693374782 | etot = -8.37462296946522 +105000 ekin = 1.21303379771957 | erot = 2.20771017012394 | epot = -11.7953669375663 | etot = -8.37462296972275 +106000 ekin = 1.21781939160547 | erot = 2.21746426398226 | epot = -11.809906625485 | etot = -8.37462296989724 +107000 ekin = 1.22352668485517 | erot = 2.21425769941226 | epot = -11.8124073542123 | etot = -8.37462296994488 +108000 ekin = 1.2297537161671 | erot = 2.19791821277335 | epot = -11.8022948987808 | etot = -8.37462296984036 +109000 ekin = 1.23675326669537 | erot = 2.16990174523003 | epot = -11.7812779815078 | etot = -8.37462296958244 +110000 ekin = 1.24552660594299 | erot = 2.13322593016602 | epot = -11.7533755053018 | etot = -8.37462296919279 +111000 ekin = 1.2577699492818 | erot = 2.09220325002891 | epot = -11.7245961680231 | etot = -8.37462296871236 +112000 ekin = 1.27568807280463 | erot = 2.05200951342218 | epot = -11.7023205544233 | etot = -8.37462296819652 +113000 ekin = 1.30169744977554 | erot = 2.01813224570283 | epot = -11.6944526631891 | etot = -8.37462296771077 +114000 ekin = 1.33804251858946 | erot = 1.99574344242906 | epot = -11.7084089283445 | etot = -8.37462296732602 +115000 ekin = 1.38647431929538 | erot = 1.98903581447797 | epot = -11.7501331008331 | etot = -8.37462296705971 +116000 ekin = 1.44876446583397 | erot = 2.00047074173041 | epot = -11.8238581746945 | etot = -8.37462296713016 +117000 ekin = 1.52378581535561 | erot = 2.03044339408211 | epot = -11.9288521768883 | etot = -8.37462296745063 +118000 ekin = 1.6084059418419 | erot = 2.07707436259023 | epot = -12.0601032724452 | etot = -8.37462296801304 +119000 ekin = 1.69804077960493 | erot = 2.13624566567636 | epot = -12.2089094140527 | etot = -8.37462296877144 +120000 ekin = 1.78696647862287 | erot = 2.20199105617499 | epot = -12.363580504444 | etot = -8.37462296964609 +121000 ekin = 1.86883508536314 | erot = 2.2671883740786 | epot = -12.5106464299765 | etot = -8.37462297053475 +122000 ekin = 1.93731263285359 | erot = 2.32446087034981 | epot = -12.6363964745337 | etot = -8.3746229713303 +123000 ekin = 1.9867358794579 | erot = 2.36714489985536 | epot = -12.7285037512507 | etot = -8.37462297193745 +124000 ekin = 2.01268857483492 | erot = 2.39015976226602 | epot = -12.7774713093892 | etot = -8.37462297228827 +125000 ekin = 2.01242153120629 | erot = 2.39062925356834 | epot = -12.7776737571262 | etot = -8.37462297235156 +126000 ekin = 1.9850729032809 | erot = 2.36815351492914 | epot = -12.7278493903454 | etot = -8.37462297213533 +127000 ekin = 1.93167931643428 | erot = 2.32470375634654 | epot = -12.6310060444623 | etot = -8.37462297168151 +128000 ekin = 1.85500076916896 | erot = 2.26419178968088 | epot = -12.4938155299042 | etot = -8.37462297105431 +129000 ekin = 1.75920795598156 | erot = 2.19182812292651 | epot = -12.3256590492353 | etot = -8.37462297032725 +130000 ekin = 1.64949415840205 | erot = 2.11340935726388 | epot = -12.1375264852353 | etot = -8.37462296956937 +131000 ekin = 1.53167143066935 | erot = 2.03466319554045 | epot = -11.9409575950479 | etot = -8.37462296883812 +132000 ekin = 1.41179399813997 | erot = 1.96073697301965 | epot = -11.7471539393349 | etot = -8.37462296817531 +133000 ekin = 1.29582771791057 | erot = 1.89586175533339 | epot = -11.5663124408529 | etot = -8.37462296760899 +134000 ekin = 1.18933366770496 | erot = 1.84313053331046 | epot = -11.4070871682759 | etot = -8.37462296726045 +135000 ekin = 1.09698845763054 | erot = 1.80418246558968 | epot = -11.2757938901597 | etot = -8.37462296693951 +136000 ekin = 1.02270904454078 | erot = 1.7798919585222 | epot = -11.1772239698133 | etot = -8.37462296675035 +137000 ekin = 0.969402888595009 | erot = 1.77022137974263 | epot = -11.1142472350344 | etot = -8.37462296669672 +138000 ekin = 0.938766242876245 | erot = 1.77423425797214 | epot = -11.0876234676246 | etot = -8.37462296677622 +139000 ekin = 0.931209536918429 | erot = 1.79022284403589 | epot = -11.0960553479291 | etot = -8.37462296697477 +140000 ekin = 0.945902360873547 | erot = 1.81588277986749 | epot = -11.1364081080066 | etot = -8.37462296726554 +141000 ekin = 0.980951010694929 | erot = 1.84854552854054 | epot = -11.2041195068457 | etot = -8.37462296761028 +142000 ekin = 1.03368854660408 | erot = 1.88546172258946 | epot = -11.2937732371591 | etot = -8.37462296796555 +143000 ekin = 1.10102464558782 | erot = 1.92410215903321 | epot = -11.3997497729122 | etot = -8.37462296829122 +144000 ekin = 1.17978371180456 | erot = 1.96241851789384 | epot = -11.5168251982587 | etot = -8.37462296856033 +145000 ekin = 1.26696389973261 | erot = 1.99907135517311 | epot = -11.6406582236455 | etot = -8.37462296873974 +146000 ekin = 1.35987698631718 | erot = 2.03338468070467 | epot = -11.7678846359143 | etot = -8.37462296889242 +147000 ekin = 1.45616095202976 | erot = 2.06502561999209 | epot = -11.8958095410383 | etot = -8.3746229690165 +148000 ekin = 1.5536968549109 | erot = 2.09388144715385 | epot = -12.022201271207 | etot = -8.37462296914221 +149000 ekin = 1.65047924324436 | erot = 2.11976671620332 | epot = -12.1448689287432 | etot = -8.37462296929551 +150000 ekin = 1.74448791629845 | erot = 2.1421786790356 | epot = -12.2612895648256 | etot = -8.37462296949154 +151000 ekin = 1.83359650490145 | erot = 2.16016451670444 | epot = -12.3683839913399 | etot = -8.37462296973401 +152000 ekin = 1.91553611044667 | erot = 2.17231614291472 | epot = -12.4624752233732 | etot = -8.37462297001185 +153000 ekin = 1.98791755611547 | erot = 2.17689716712716 | epot = -12.539437693548 | etot = -8.37462297030538 +154000 ekin = 2.04830722999057 | erot = 2.17205709329794 | epot = -12.5949872938781 | etot = -8.37462297058956 +155000 ekin = 2.09434778140688 | erot = 2.15608363214667 | epot = -12.6250543843906 | etot = -8.37462297083706 +156000 ekin = 2.12391577783721 | erot = 2.12765251039857 | epot = -12.6261912592565 | etot = -8.37462297102076 +157000 ekin = 2.1353100469757 | erot = 2.0860457491324 | epot = -12.5959787672229 | etot = -8.37462297111477 +158000 ekin = 2.12746223168626 | erot = 2.03132820631866 | epot = -12.5334134090999 | etot = -8.37462297109495 +159000 ekin = 2.10015103339247 | erot = 1.96448478929011 | epot = -12.4392587936244 | etot = -8.37462297094182 +160000 ekin = 2.05418416063722 | erot = 1.88751839461952 | epot = -12.3163255258997 | etot = -8.37462297064294 +161000 ekin = 1.99149541371344 | erot = 1.80350457154665 | epot = -12.1696229554607 | etot = -8.37462297020065 +162000 ekin = 1.91510266104762 | erot = 1.71656915682389 | epot = -12.0062947875077 | etot = -8.37462296963622 +163000 ekin = 1.82889680262297 | erot = 1.63175766791089 | epot = -11.8352774395238 | etot = -8.37462296898997 +164000 ekin = 1.73727850175433 | erot = 1.5547745055745 | epot = -11.6666759756467 | etot = -8.37462296831787 +165000 ekin = 1.6447087543994 | erot = 1.49159241029582 | epot = -11.5109241323764 | etot = -8.3746229676812 +166000 ekin = 1.55526715399666 | erot = 1.44796523954041 | epot = -11.3778553606752 | etot = -8.3746229671381 +167000 ekin = 1.47230568197398 | erot = 1.42890789301304 | epot = -11.27583654172 | etot = -8.374622966733 +168000 ekin = 1.39825202215371 | erot = 1.4382252321603 | epot = -11.2111002208047 | etot = -8.37462296649065 +169000 ekin = 1.3345719619018 | erot = 1.4781674025412 | epot = -11.187362330859 | etot = -8.37462296641595 +170000 ekin = 1.28186404086337 | erot = 1.5492593913673 | epot = -11.2057463987267 | etot = -8.37462296649605 +171000 ekin = 1.24010532837069 | erot = 1.65031493319924 | epot = -11.2650432281445 | etot = -8.37462296657455 +172000 ekin = 1.20973432363927 | erot = 1.77850842430643 | epot = -11.3628657149161 | etot = -8.37462296697039 +173000 ekin = 1.18958106737854 | erot = 1.92939472681626 | epot = -11.4935987616323 | etot = -8.37462296743751 +174000 ekin = 1.17780375666815 | erot = 2.09752621801757 | epot = -11.6499529426364 | etot = -8.37462296795064 +175000 ekin = 1.17250284106946 | erot = 2.27682305293081 | epot = -11.8239488624896 | etot = -8.37462296848935 +176000 ekin = 1.17177313417523 | erot = 2.46086230703696 | epot = -12.0072584102478 | etot = -8.37462296903563 +177000 ekin = 1.17372471418906 | erot = 2.64315812275385 | epot = -12.1915058065132 | etot = -8.37462296957025 +178000 ekin = 1.17649725816085 | erot = 2.81745378599582 | epot = -12.3685740142269 | etot = -8.37462297007019 +179000 ekin = 1.17828959842952 | erot = 2.97803885665143 | epot = -12.5309514255899 | etot = -8.37462297050891 +180000 ekin = 1.17741681901028 | erot = 3.12008209304906 | epot = -12.6721218829181 | etot = -8.37462297085878 +181000 ekin = 1.1723947928011 | erot = 3.23994177497995 | epot = -12.7869595388777 | etot = -8.37462297109667 +182000 ekin = 1.1620416167421 | erot = 3.33528346670201 | epot = -12.871948054926 | etot = -8.37462297148189 +183000 ekin = 1.14544700201208 | erot = 3.40346825728336 | epot = -12.9235382308529 | etot = -8.37462297155747 +184000 ekin = 1.12187454429775 | erot = 3.44382690739269 | epot = -12.9403244231948 | etot = -8.3746229715044 +185000 ekin = 1.09113819766591 | erot = 3.45752421108418 | epot = -12.9232853800837 | etot = -8.37462297133365 +186000 ekin = 1.05375177637583 | erot = 3.4468126024859 | epot = -12.8751873499238 | etot = -8.37462297106209 +187000 ekin = 1.01100426926478 | erot = 3.41470705189775 | epot = -12.8003342918715 | etot = -8.37462297070899 +188000 ekin = 0.964980950088774 | erot = 3.36467106156949 | epot = -12.7042749819532 | etot = -8.37462297029496 +189000 ekin = 0.918502012521176 | erot = 3.30025095733366 | epot = -12.5933759397282 | etot = -8.37462296987338 +190000 ekin = 0.874955375625786 | erot = 3.22483721777298 | epot = -12.4744155628192 | etot = -8.37462296942041 +191000 ekin = 0.838012694189986 | erot = 3.14179385100332 | epot = -12.3544295141829 | etot = -8.37462296898962 +192000 ekin = 0.811264586710963 | erot = 3.05421641257493 | epot = -12.2401039678973 | etot = -8.37462296861143 +193000 ekin = 0.797833231457362 | erot = 2.96485918306436 | epot = -12.1373153828321 | etot = -8.37462296831036 +194000 ekin = 0.800032366300468 | erot = 2.87610608236725 | epot = -12.0507614167682 | etot = -8.37462296810044 +195000 ekin = 0.819137512919597 | erot = 2.78998115247884 | epot = -11.9837416333826 | etot = -8.37462296798416 +196000 ekin = 0.855301818719039 | erot = 2.7081876552627 | epot = -11.9381124419349 | etot = -8.37462296795316 +197000 ekin = 0.907617485284263 | erot = 2.6321557447555 | epot = -11.9143961980329 | etot = -8.37462296799313 +198000 ekin = 0.974291517583769 | erot = 2.56307623018493 | epot = -11.911990715856 | etot = -8.37462296808732 +199000 ekin = 1.0528865187871 | erot = 2.50190471363201 | epot = -11.9294142006398 | etot = -8.3746229682207 +200000 ekin = 1.14057530731152 | erot = 2.44933274089605 | epot = -11.9645310165894 | etot = -8.37462296838183 +201000 ekin = 1.23436945655699 | erot = 2.4057357740475 | epot = -12.0147281991679 | etot = -8.37462296856337 +202000 ekin = 1.33129982084388 | erot = 2.37111655194196 | epot = -12.0770393415457 | etot = -8.37462296875989 +203000 ekin = 1.42854451444347 | erot = 2.34506402190598 | epot = -12.148231505317 | etot = -8.37462296896754 +204000 ekin = 1.52351160571773 | erot = 2.32674290434286 | epot = -12.224877479242 | etot = -8.37462296918144 +205000 ekin = 1.61388837059984 | erot = 2.31491995505487 | epot = -12.3034312950507 | etot = -8.37462296939603 +206000 ekin = 1.69766775260718 | erot = 2.3080250040048 | epot = -12.3803157262167 | etot = -8.37462296960474 +207000 ekin = 1.77315874687775 | erot = 2.30423562983907 | epot = -12.4520173465201 | etot = -8.3746229698033 +208000 ekin = 1.83898325555867 | erot = 2.30156289475869 | epot = -12.515169120302 | etot = -8.37462296998464 +209000 ekin = 1.89406065254616 | erot = 2.29797193080379 | epot = -12.5666555534941 | etot = -8.37462297014415 +210000 ekin = 1.93758171355925 | erot = 2.29149245614576 | epot = -12.6036971399825 | etot = -8.37462297027751 +211000 ekin = 1.96897499678795 | erot = 2.28032999988906 | epot = -12.6239279670577 | etot = -8.37462297038067 +212000 ekin = 1.98787057423956 | erot = 2.26297816329984 | epot = -12.6254717079894 | etot = -8.37462297044996 +213000 ekin = 1.99406615310661 | erot = 2.23834847729583 | epot = -12.6070376008829 | etot = -8.3746229704805 +214000 ekin = 1.98749971048357 | erot = 2.20579329600858 | epot = -12.5679159769726 | etot = -8.37462297048041 +215000 ekin = 1.96823269345748 | erot = 2.16512069835616 | epot = -12.5079763622598 | etot = -8.37462297044615 +216000 ekin = 1.93645036858827 | erot = 2.11663233289607 | epot = -12.4277056718664 | etot = -8.37462297038201 +217000 ekin = 1.89249565101184 | erot = 2.06105227365565 | epot = -12.3281708949563 | etot = -8.37462297028879 +218000 ekin = 1.83696296101026 | erot = 1.99944931813373 | epot = -12.2110352493004 | etot = -8.37462297015639 +219000 ekin = 1.77087997200072 | erot = 1.93321768349764 | epot = -12.0787206254579 | etot = -8.37462296995955 +220000 ekin = 1.69598414200906 | erot = 1.86416918368618 | epot = -11.9347762953552 | etot = -8.37462296965996 +221000 ekin = 1.61504938765182 | erot = 1.79472971030261 | epot = -11.7844020671758 | etot = -8.37462296922139 +222000 ekin = 1.53214607792093 | erot = 1.72813764736988 | epot = -11.6349066939258 | etot = -8.37462296863498 +223000 ekin = 1.4526624088324 | erot = 1.66846349300119 | epot = -11.4957488697767 | etot = -8.37462296794309 +224000 ekin = 1.38293292450221 | erot = 1.6202792722125 | epot = -11.3778351639601 | etot = -8.37462296724537 +225000 ekin = 1.32944348952842 | erot = 1.58793473617121 | epot = -11.2920011923814 | etot = -8.37462296668181 +226000 ekin = 1.29777350141066 | erot = 1.57457480049478 | epot = -11.2469712682745 | etot = -8.3746229663691 +227000 ekin = 1.29158711545539 | erot = 1.58136206120086 | epot = -11.24757214304 | etot = -8.37462296638379 +228000 ekin = 1.31199160550521 | erot = 1.60705168356011 | epot = -11.2936662557515 | etot = -8.37462296668622 +229000 ekin = 1.35720775781596 | erot = 1.64872427968725 | epot = -11.3805550048103 | etot = -8.37462296730712 +230000 ekin = 1.42320705813339 | erot = 1.70117239435445 | epot = -11.499002420542 | etot = -8.37462296805411 +231000 ekin = 1.50467169677581 | erot = 1.75808746579057 | epot = -11.6373821313689 | etot = -8.37462296880256 +232000 ekin = 1.59576180204782 | erot = 1.81345446216766 | epot = -11.7838392336738 | etot = -8.37462296945837 +233000 ekin = 1.69077156764762 | erot = 1.86233770608592 | epot = -11.9277322437048 | etot = -8.3746229699713 +234000 ekin = 1.78453671679902 | erot = 1.90129507954651 | epot = -12.0604547666786 | etot = -8.37462297033305 +235000 ekin = 1.87261122258967 | erot = 1.9284220717117 | epot = -12.1756562648638 | etot = -8.37462297056238 +236000 ekin = 1.95129507586051 | erot = 1.94312673772466 | epot = -12.269044784275 | etot = -8.37462297068982 +237000 ekin = 2.01688127570893 | erot = 1.94587838549638 | epot = -12.3373826321085 | etot = -8.37462297090321 +238000 ekin = 2.06554471096635 | erot = 1.93754713481384 | epot = -12.3777148167605 | etot = -8.37462297098031 +239000 ekin = 2.09498833917104 | erot = 1.91896908743933 | epot = -12.3885803976059 | etot = -8.37462297099549 +240000 ekin = 2.10387887335863 | erot = 1.89114067893478 | epot = -12.3696425232248 | etot = -8.37462297093134 +241000 ekin = 2.09205058134751 | erot = 1.85524232773722 | epot = -12.3219158798517 | etot = -8.37462297076695 +242000 ekin = 2.06070692356717 | erot = 1.81270484104131 | epot = -12.2480347350926 | etot = -8.37462297048416 +243000 ekin = 2.01255526288379 | erot = 1.76529169809285 | epot = -12.1524699310582 | etot = -8.37462297008152 +244000 ekin = 1.95178746173543 | erot = 1.71512317980746 | epot = -12.0415336111125 | etot = -8.37462296956963 +245000 ekin = 1.88387514784693 | erot = 1.66462101119872 | epot = -11.923119128034 | etot = -8.37462296898834 +246000 ekin = 1.81512558267768 | erot = 1.61637080971493 | epot = -11.8061193607913 | etot = -8.37462296839864 +247000 ekin = 1.75197548737583 | erot = 1.57289129038632 | epot = -11.6994897456361 | etot = -8.37462296787399 +248000 ekin = 1.70016015194915 | erot = 1.53636641743628 | epot = -11.6111495368723 | etot = -8.37462296748684 +249000 ekin = 1.66404391454307 | erot = 1.50839677555145 | epot = -11.5470636572528 | etot = -8.37462296715831 +250000 ekin = 1.64635032469237 | erot = 1.48977166427888 | epot = -11.5107449561759 | etot = -8.37462296720461 +251000 ekin = 1.64670868822424 | erot = 1.48021150770204 | epot = -11.501543163354 | etot = -8.37462296742773 +252000 ekin = 1.66264181464398 | erot = 1.47871062656233 | epot = -11.5159754089783 | etot = -8.37462296777201 +253000 ekin = 1.69027564040418 | erot = 1.4838006950994 | epot = -11.5486993036748 | etot = -8.37462296817121 +254000 ekin = 1.72505301291753 | erot = 1.49382397147149 | epot = -11.5934999529542 | etot = -8.37462296856521 +255000 ekin = 1.76239471231559 | erot = 1.50720813837951 | epot = -11.6442258196102 | etot = -8.3746229689151 +256000 ekin = 1.79816893498624 | erot = 1.52259254469701 | epot = -11.6953844488847 | etot = -8.37462296920143 +257000 ekin = 1.8289509523976 | erot = 1.53887801863831 | epot = -11.7424519404547 | etot = -8.37462296941884 +258000 ekin = 1.85212386739641 | erot = 1.55528591409732 | epot = -11.7820327510617 | etot = -8.374622969568 +259000 ekin = 1.86588413888306 | erot = 1.57137656836521 | epot = -11.8118836768987 | etot = -8.3746229696504 +260000 ekin = 1.86922537289967 | erot = 1.58707491263371 | epot = -11.8309232551855 | etot = -8.3746229696521 +261000 ekin = 1.8619474577806 | erot = 1.60277606186344 | epot = -11.8393464893232 | etot = -8.37462296967919 +262000 ekin = 1.84441202421402 | erot = 1.61874454524364 | epot = -11.8377795390081 | etot = -8.37462296955045 +263000 ekin = 1.81775632997711 | erot = 1.63584439963944 | epot = -11.8282236989401 | etot = -8.37462296932356 +264000 ekin = 1.78414336143547 | erot = 1.65581672859451 | epot = -11.8145830590346 | etot = -8.37462296900464 +265000 ekin = 1.74659811333744 | erot = 1.68088156362845 | epot = -11.802102645597 | etot = -8.37462296863111 +266000 ekin = 1.70875551588653 | erot = 1.71332387538146 | epot = -11.7967023595417 | etot = -8.37462296827373 +267000 ekin = 1.67443624978621 | erot = 1.75501089284554 | epot = -11.8040701106192 | etot = -8.37462296798742 +268000 ekin = 1.64712713207545 | erot = 1.80695733277743 | epot = -11.8287074326934 | etot = -8.37462296784051 +269000 ekin = 1.62949021142679 | erot = 1.86883267567257 | epot = -11.872945854971 | etot = -8.37462296787168 +270000 ekin = 1.6228515992244 | erot = 1.9387281089436 | epot = -11.9362026762884 | etot = -8.37462296812045 +271000 ekin = 1.62688631043695 | erot = 2.01317767222122 | epot = -12.0146869512055 | etot = -8.37462296854733 +272000 ekin = 1.63981668010343 | erot = 2.08746423747733 | epot = -12.1019038866655 | etot = -8.37462296908471 +273000 ekin = 1.6588009116894 | erot = 2.15626799363862 | epot = -12.1896918749687 | etot = -8.37462296964073 +274000 ekin = 1.68050753849828 | erot = 2.21448722130979 | epot = -12.2696177299294 | etot = -8.3746229701213 +275000 ekin = 1.70172643739711 | erot = 2.25805265702313 | epot = -12.3344020648714 | etot = -8.3746229704512 +276000 ekin = 1.71987527696088 | erot = 2.28456562449038 | epot = -12.3790638720389 | etot = -8.37462297058762 +277000 ekin = 1.73331269261531 | erot = 2.2936490566393 | epot = -12.401584719777 | etot = -8.37462297052239 +278000 ekin = 1.74143735013694 | erot = 2.28698125839038 | epot = -12.403041578799 | etot = -8.37462297027172 +279000 ekin = 1.74460802870554 | erot = 2.26806682992404 | epot = -12.3872978285227 | etot = -8.37462296989315 +280000 ekin = 1.74394008412412 | erot = 2.24171314052056 | epot = -12.3602761940827 | etot = -8.37462296943797 +281000 ekin = 1.74088698058156 | erot = 2.21312908436397 | epot = -12.328639034053 | etot = -8.37462296910752 +282000 ekin = 1.73669656458684 | erot = 2.18704204449651 | epot = -12.2983615778776 | etot = -8.3746229687942 +283000 ekin = 1.73229007371573 | erot = 2.1674467962291 | epot = -12.2743598385779 | etot = -8.37462296863304 +284000 ekin = 1.72792109204508 | erot = 2.15675164213785 | epot = -12.2592957028506 | etot = -8.37462296866769 +285000 ekin = 1.72297480902827 | erot = 2.15537559427311 | epot = -12.2529733721988 | etot = -8.37462296889743 +286000 ekin = 1.71598432453 | erot = 2.16179000838381 | epot = -12.25239730217 | etot = -8.37462296925621 +287000 ekin = 1.70498524220286 | erot = 2.173155030137 | epot = -12.2527632419506 | etot = -8.37462296961069 +288000 ekin = 1.68823578051903 | erot = 2.18649203663127 | epot = -12.2493507869514 | etot = -8.37462296980111 +289000 ekin = 1.66510970376174 | erot = 2.19999055777909 | epot = -12.2397232312596 | etot = -8.37462296971872 +290000 ekin = 1.63674302037954 | erot = 2.21381252699327 | epot = -12.2251785167465 | etot = -8.37462296937372 +291000 ekin = 1.60601874197395 | erot = 2.22992661048312 | epot = -12.2105683213523 | etot = -8.3746229688952 +292000 ekin = 1.57682389343752 | erot = 2.25107800691073 | epot = -12.2025248687803 | etot = -8.37462296843205 +293000 ekin = 1.55301992418683 | erot = 2.27950943304591 | epot = -12.2071523254116 | etot = -8.37462296817889 +294000 ekin = 1.53731454048174 | erot = 2.31583078837865 | epot = -12.2277682970254 | etot = -8.37462296816498 +295000 ekin = 1.53083265562504 | erot = 2.35873605655261 | epot = -12.264191680545 | etot = -8.37462296836736 +296000 ekin = 1.53318706455239 | erot = 2.40528084679021 | epot = -12.3130908800601 | etot = -8.37462296871754 +297000 ekin = 1.54281493583623 | erot = 2.45151931863421 | epot = -12.3689572236265 | etot = -8.37462296915609 +298000 ekin = 1.55733608765135 | erot = 2.49306411731896 | epot = -12.4250231746863 | etot = -8.37462296971601 +299000 ekin = 1.5740738628828 | erot = 2.52498633848713 | epot = -12.473683171532 | etot = -8.37462297016211 +300000 ekin = 1.59001535760057 | erot = 2.5434931518281 | epot = -12.5081314799999 | etot = -8.37462297057123 +301000 ekin = 1.60189886822687 | erot = 2.54585083166139 | epot = -12.5223726708122 | etot = -8.37462297092397 +302000 ekin = 1.606202515857 | erot = 2.53039812867599 | epot = -12.5112236158398 | etot = -8.37462297130681 +303000 ekin = 1.59914065240708 | erot = 2.49598280993758 | epot = -12.4697464340445 | etot = -8.37462297169981 +304000 ekin = 1.57679795693913 | erot = 2.44177332378513 | epot = -12.3931942527976 | etot = -8.37462297207338 +305000 ekin = 1.53574304374243 | erot = 2.3676190541423 | epot = -12.2779850699667 | etot = -8.37462297208197 +306000 ekin = 1.47392866559851 | erot = 2.27453104047969 | epot = -12.1230826782598 | etot = -8.37462297218158 +307000 ekin = 1.39050823398847 | erot = 2.16376504506994 | epot = -11.9288962509223 | etot = -8.37462297186389 +308000 ekin = 1.2896152298086 | erot = 2.03977667258498 | epot = -11.7040148706656 | etot = -8.37462296827207 +309000 ekin = 1.05782937494292 | erot = 1.83361716571104 | epot = -11.2660695010602 | etot = -8.37462296040623 +310000 ekin = 1.14450415447965 | erot = 1.58483272602664 | epot = -11.1039598386832 | etot = -8.37462295817687 +311000 ekin = 1.41922601312442 | erot = 1.45460499880715 | epot = -11.2484540448415 | etot = -8.37462303290993 +312000 ekin = 1.45261330232121 | erot = 1.37611906651637 | epot = -11.2033554015513 | etot = -8.37462303271372 +313000 ekin = 1.4788437717408 | erot = 1.31854286229449 | epot = -11.1720096664207 | etot = -8.37462303238537 +314000 ekin = 1.49756299811591 | erot = 1.28320357876867 | epot = -11.1553896088943 | etot = -8.37462303200971 +315000 ekin = 1.51332559187995 | erot = 1.27043025389279 | epot = -11.158378877496 | etot = -8.37462303172327 +316000 ekin = 1.53080061118026 | erot = 1.27925593275691 | epot = -11.1846795755419 | etot = -8.37462303160469 +317000 ekin = 1.55378721590892 | erot = 1.30719554367425 | epot = -11.2356057912727 | etot = -8.37462303168955 +318000 ekin = 1.58370434541109 | erot = 1.34913652060297 | epot = -11.3074638985371 | etot = -8.374623032523 +319000 ekin = 1.61943484148295 | erot = 1.39801478359137 | epot = -11.3920726581918 | etot = -8.37462303311752 +320000 ekin = 1.65864783760583 | erot = 1.44696670458938 | epot = -11.4802375759962 | etot = -8.37462303380101 +321000 ekin = 1.6976698384742 | erot = 1.48920524278932 | epot = -11.561498115728 | etot = -8.37462303446449 +322000 ekin = 1.73222385846161 | erot = 1.51888544570603 | epot = -11.6257323391493 | etot = -8.37462303498166 +323000 ekin = 1.75834700852462 | erot = 1.53202956630704 | epot = -11.6649996100703 | etot = -8.37462303523864 +324000 ekin = 1.77324650046493 | erot = 1.52732597029455 | epot = -11.6751955059278 | etot = -8.37462303516831 +325000 ekin = 1.77583924217148 | erot = 1.50655389358397 | epot = -11.6570161705558 | etot = -8.37462303480038 +326000 ekin = 1.76682929377058 | erot = 1.47436928283883 | epot = -11.6158216107578 | etot = -8.37462303414843 +327000 ekin = 1.74834602231326 | erot = 1.43794367202746 | epot = -11.5609127277015 | etot = -8.37462303336073 +328000 ekin = 1.72331109821437 | erot = 1.40578615079726 | epot = -11.5037202815796 | etot = -8.37462303256798 +329000 ekin = 1.69488797673583 | erot = 1.38635580023373 | epot = -11.4558668088469 | etot = -8.3746230318773 +330000 ekin = 1.6656651333496 | erot = 1.38702252391951 | epot = -11.4273106886518 | etot = -8.37462303138264 +331000 ekin = 1.63732185166402 | erot = 1.41331220646683 | epot = -11.4252570892371 | etot = -8.37462303110628 +332000 ekin = 1.61073968004208 | erot = 1.46826665363504 | epot = -11.453629364734 | etot = -8.37462303105687 +333000 ekin = 1.58605232106696 | erot = 1.5522055904313 | epot = -11.5128809427321 | etot = -8.37462303123381 +334000 ekin = 1.5628441592252 | erot = 1.66255678080433 | epot = -11.6000239716202 | etot = -8.3746230315907 +335000 ekin = 1.54014240613999 | erot = 1.79443783502711 | epot = -11.7092032732483 | etot = -8.37462303208118 +336000 ekin = 1.51670455216779 | erot = 1.94117931563194 | epot = -11.8325069004488 | etot = -8.37462303264909 +337000 ekin = 1.49128277555691 | erot = 2.0949241434516 | epot = -11.9608299522436 | etot = -8.37462303323505 +338000 ekin = 1.46282625483174 | erot = 2.24735936520808 | epot = -12.084808653823 | etot = -8.37462303378314 +339000 ekin = 1.43063896798429 | erot = 2.39044100153282 | epot = -12.1957030037644 | etot = -8.37462303424733 +340000 ekin = 1.39448012484134 | erot = 2.51702660358864 | epot = -12.2861297630257 | etot = -8.37462303459572 +341000 ekin = 1.35460313822342 | erot = 2.62135284037302 | epot = -12.3505790134079 | etot = -8.37462303481151 +342000 ekin = 1.31173936863123 | erot = 2.69933546749565 | epot = -12.3856978710171 | etot = -8.37462303489026 +343000 ekin = 1.26704159860301 | erot = 2.74871044551612 | epot = -12.390375078955 | etot = -8.3746230348359 +344000 ekin = 1.2220065450956 | erot = 2.76906107654435 | epot = -12.3656906562953 | etot = -8.37462303465534 +345000 ekin = 1.17839357225762 | erot = 2.76177689465409 | epot = -12.314793501269 | etot = -8.37462303435724 +346000 ekin = 1.13814730560366 | erot = 2.72996678569744 | epot = -12.2427371252546 | etot = -8.37462303395354 +347000 ekin = 1.10331757839189 | erot = 2.67831421953866 | epot = -12.1562548313937 | etot = -8.37462303346319 +348000 ekin = 1.07595787263701 | erot = 2.61283600667575 | epot = -12.0634169122301 | etot = -8.37462303291736 +349000 ekin = 1.0579814719175 | erot = 2.54050407789345 | epot = -11.9731085821719 | etot = -8.37462303236099 +350000 ekin = 1.05096760963783 | erot = 2.46871550807927 | epot = -11.8943061495681 | etot = -8.37462303185096 +351000 ekin = 1.05593437429287 | erot = 2.40463774697948 | epot = -11.8351951527201 | etot = -8.3746230314477 +352000 ekin = 1.07311971186445 | erot = 2.35449555191596 | epot = -11.8022382949869 | etot = -8.3746230312065 +353000 ekin = 1.10182415540729 | erot = 2.32288867128129 | epot = -11.7993358578563 | etot = -8.37462303116775 +354000 ekin = 1.1403630046458 | erot = 2.31223409502276 | epot = -11.8272201310181 | etot = -8.37462303134955 +355000 ekin = 1.18615564007747 | erot = 2.32242185961901 | epot = -11.8832005314386 | etot = -8.37462303174213 +356000 ekin = 1.23595386569768 | erot = 2.35076326964089 | epot = -11.9613401676441 | etot = -8.37462303230557 +357000 ekin = 1.28618457758527 | erot = 2.39228504524844 | epot = -12.0530926558067 | etot = -8.37462303297295 +358000 ekin = 1.33335672483922 | erot = 2.44036693764112 | epot = -12.1483466961405 | etot = -8.37462303366018 +359000 ekin = 1.37446611423394 | erot = 2.48763760748888 | epot = -12.2367267560032 | etot = -8.37462303428037 +360000 ekin = 1.4073369853998 | erot = 2.52696891747068 | epot = -12.3089289376288 | etot = -8.3746230347583 +361000 ekin = 1.43085230116985 | erot = 2.55266032656752 | epot = -12.3581356626684 | etot = -8.37462303493106 +362000 ekin = 1.44498023419411 | erot = 2.5616119244846 | epot = -12.3812151936916 | etot = -8.37462303501293 +363000 ekin = 1.45080808015357 | erot = 2.55177253019121 | epot = -12.3772036452511 | etot = -8.37462303490632 +364000 ekin = 1.4504698206984 | erot = 2.52283864584446 | epot = -12.3479315011825 | etot = -8.3746230346396 +365000 ekin = 1.44693366151922 | erot = 2.47609933176865 | epot = -12.2976560275504 | etot = -8.37462303426257 +366000 ekin = 1.44366094467937 | erot = 2.41401126337839 | epot = -12.232295241894 | etot = -8.37462303383623 +367000 ekin = 1.44416618229089 | erot = 2.33969773429917 | epot = -12.158486950013 | etot = -8.37462303342294 +368000 ekin = 1.45154164411989 | erot = 2.25648465085276 | epot = -12.0826493280459 | etot = -8.37462303307324 +369000 ekin = 1.46802482610957 | erot = 2.16757470030039 | epot = -12.0102225592264 | etot = -8.3746230328164 +370000 ekin = 1.4946848415784 | erot = 2.07591739973278 | epot = -11.9452252739691 | etot = -8.3746230326579 +371000 ekin = 1.53128479293964 | erot = 1.9842652262904 | epot = -11.8901730518131 | etot = -8.37462303258308 +372000 ekin = 1.57634160155475 | erot = 1.89533626064742 | epot = -11.8463008947684 | etot = -8.37462303256626 +373000 ekin = 1.62736107596568 | erot = 1.81196417168995 | epot = -11.8139482802383 | etot = -8.37462303258269 +374000 ekin = 1.68119274504092 | erot = 1.73713269144262 | epot = -11.7929484690964 | etot = -8.37462303261285 +375000 ekin = 1.73444043052779 | erot = 1.67385884334812 | epot = -11.7829223065189 | etot = -8.37462303264297 +376000 ekin = 1.78387586143861 | erot = 1.62497473906467 | epot = -11.7834736331725 | etot = -8.37462303266922 +377000 ekin = 1.8264818609183 | erot = 1.59275354369276 | epot = -11.7938584374893 | etot = -8.37462303287821 +378000 ekin = 1.85889028460699 | erot = 1.57838589666717 | epot = -11.8118992141847 | etot = -8.37462303291055 +379000 ekin = 1.87974734421288 | erot = 1.58231910072895 | epot = -11.8366894778896 | etot = -8.37462303294772 +380000 ekin = 1.88876618247863 | erot = 1.60397852042879 | epot = -11.867367735925 | etot = -8.37462303301755 +381000 ekin = 1.88634387025526 | erot = 1.64162253507708 | epot = -11.9025894384705 | etot = -8.3746230331382 +382000 ekin = 1.87329602399917 | erot = 1.69239968364358 | epot = -11.9403187409501 | etot = -8.37462303330739 +383000 ekin = 1.85067766912035 | erot = 1.75260724974017 | epot = -11.9779079523639 | etot = -8.37462303350337 +384000 ekin = 1.81972884480726 | erot = 1.81808771261089 | epot = -12.0124395911108 | etot = -8.37462303369263 +385000 ekin = 1.78192764777005 | erot = 1.88463133786802 | epot = -12.0411820195034 | etot = -8.37462303386534 +386000 ekin = 1.73896117301569 | erot = 1.94830024178261 | epot = -12.061884448782 | etot = -8.37462303398369 +387000 ekin = 1.69261703956642 | erot = 2.00550933075481 | epot = -12.0727494044588 | etot = -8.37462303413753 +388000 ekin = 1.64442362565048 | erot = 2.05290262288317 | epot = -12.0719492828242 | etot = -8.37462303429059 +389000 ekin = 1.59562809726325 | erot = 2.08769097010279 | epot = -12.0579421017207 | etot = -8.37462303435467 +390000 ekin = 1.54727258078821 | erot = 2.10804034822076 | epot = -12.0299359634157 | etot = -8.37462303440669 +391000 ekin = 1.500426686893 | erot = 2.11301685840315 | epot = -11.9880665795767 | etot = -8.37462303428053 +392000 ekin = 1.45669956782719 | erot = 2.10352612084123 | epot = -11.934848722606 | etot = -8.37462303393755 +393000 ekin = 1.41857599109124 | erot = 2.08263213471655 | epot = -11.8758311592018 | etot = -8.37462303339403 +394000 ekin = 1.38932612627926 | erot = 2.05528425943725 | epot = -11.8192334184644 | etot = -8.37462303274791 +395000 ekin = 1.37246101478471 | erot = 2.0273931942745 | epot = -11.7744772412175 | etot = -8.37462303215831 +396000 ekin = 1.37078907987893 | erot = 2.00445159240829 | epot = -11.7498637040834 | etot = -8.37462303179614 +397000 ekin = 1.38538853999881 | erot = 1.99011302537741 | epot = -11.7501245971575 | etot = -8.37462303178123 +398000 ekin = 1.4149053116158 | erot = 1.98519641778469 | epot = -11.7747247615385 | etot = -8.37462303213797 +399000 ekin = 1.45547085036172 | erot = 1.98743025594808 | epot = -11.8175241391037 | etot = -8.37462303279393 +400000 ekin = 1.50126526406456 | erot = 1.99196444869353 | epot = -11.8678527463702 | etot = -8.37462303361212 +401000 ekin = 1.54549713891325 | erot = 1.99242148352504 | epot = -11.9125416568747 | etot = -8.37462303443636 +402000 ekin = 1.58148802753225 | erot = 1.98217540610689 | epot = -11.9382864687602 | etot = -8.37462303512109 +403000 ekin = 1.60364407572636 | erot = 1.95563446459617 | epot = -11.9339015758631 | etot = -8.3746230355406 +404000 ekin = 1.6082371823126 | erot = 1.90940860689276 | epot = -11.892268824805 | etot = -8.37462303559961 +405000 ekin = 1.59393186875248 | erot = 1.84321418438886 | epot = -11.8117690883987 | etot = -8.37462303525732 +406000 ekin = 1.56197926550313 | erot = 1.76026394072503 | epot = -11.696866240784 | etot = -8.37462303455581 +407000 ekin = 1.51595319782147 | erot = 1.66689496115735 | epot = -11.5574711925993 | etot = -8.37462303362048 +408000 ekin = 1.46103089398893 | erot = 1.57144700034909 | epot = -11.4071009269586 | etot = -8.37462303262061 +409000 ekin = 1.40302353808045 | erot = 1.48274963105546 | epot = -11.2603962008488 | etot = -8.37462303171285 +410000 ekin = 1.34747963365107 | erot = 1.40871679572804 | epot = -11.1308194603699 | etot = -8.37462303099076 +411000 ekin = 1.24142842922053 | erot = 1.36765891029395 | epot = -10.9837103545531 | etot = -8.37462301503866 +412000 ekin = 1.07606206464602 | erot = 1.44463891809268 | epot = -10.8953239884568 | etot = -8.37462300571809 +413000 ekin = 1.04694922469337 | erot = 1.5110260061357 | epot = -10.9325982588148 | etot = -8.3746230279857 +414000 ekin = 1.03606467090053 | erot = 1.52895884328951 | epot = -10.9396465423127 | etot = -8.37462302812265 +415000 ekin = 1.03698178421644 | erot = 1.56970634086251 | epot = -10.9813111534857 | etot = -8.37462302840673 +416000 ekin = 1.04842794421315 | erot = 1.63005774223267 | epot = -11.0531087152535 | etot = -8.37462302880764 +417000 ekin = 1.06841333535245 | erot = 1.70571770479165 | epot = -11.1487540694376 | etot = -8.37462302929345 +418000 ekin = 1.0944470100467 | erot = 1.79158405306303 | epot = -11.2606540929472 | etot = -8.37462302983752 +419000 ekin = 1.12371544112636 | erot = 1.88200392342451 | epot = -11.3803423949661 | etot = -8.37462303041528 +420000 ekin = 1.15322596863313 | erot = 1.9710395694794 | epot = -11.498888569108 | etot = -8.37462303099545 +421000 ekin = 1.17996638669817 | erot = 2.05281125535677 | epot = -11.6074006735849 | etot = -8.37462303152993 +422000 ekin = 1.20115062980762 | erot = 2.12197272518036 | epot = -11.6977463869409 | etot = -8.37462303195293 +423000 ekin = 1.2145687934241 | erot = 2.17429924607344 | epot = -11.7634910716948 | etot = -8.37462303219724 +424000 ekin = 1.21895541018511 | erot = 2.20725430505659 | epot = -11.8008327474639 | etot = -8.37462303222225 +425000 ekin = 1.21420953470501 | erot = 2.22030001431169 | epot = -11.8091325810581 | etot = -8.37462303204139 +426000 ekin = 1.20134505265621 | erot = 2.21476142815237 | epot = -11.7907295125147 | etot = -8.3746230317061 +427000 ekin = 1.18219319315261 | erot = 2.19340434237043 | epot = -11.7502205668128 | etot = -8.37462303128977 +428000 ekin = 1.15899921940807 | erot = 2.15981652250199 | epot = -11.6934387727675 | etot = -8.37462303085739 +429000 ekin = 1.13415683500719 | erot = 2.11790831243447 | epot = -11.6266881762577 | etot = -8.37462302881602 +430000 ekin = 1.11403963820914 | erot = 2.07460238347597 | epot = -11.5632650504451 | etot = -8.37462302876001 +431000 ekin = 1.10124843427921 | erot = 2.03325324116416 | epot = -11.5091247042108 | etot = -8.37462302876746 +432000 ekin = 1.09509673682045 | erot = 1.99414694703891 | epot = -11.4638667126951 | etot = -8.37462302883571 +433000 ekin = 1.09463609314644 | erot = 1.95711348582559 | epot = -11.4263726079153 | etot = -8.3746230289433 +434000 ekin = 1.09809472012996 | erot = 1.92111283570137 | epot = -11.3938305852117 | etot = -8.37462302938034 +435000 ekin = 1.10341624338861 | erot = 1.88492142830579 | epot = -11.3629607010994 | etot = -8.37462302940498 +436000 ekin = 1.11020757162892 | erot = 1.84854231976133 | epot = -11.3333729208394 | etot = -8.37462302944915 +437000 ekin = 1.11803889537834 | erot = 1.81186902511391 | epot = -11.3045309500004 | etot = -8.37462302950811 +438000 ekin = 1.12642172160336 | erot = 1.77470718112056 | epot = -11.2757519322974 | etot = -8.37462302957345 +439000 ekin = 1.13485148153982 | erot = 1.73686282079598 | epot = -11.2463373319689 | etot = -8.37462302963315 +440000 ekin = 1.14287335820677 | erot = 1.6982607950729 | epot = -11.2157571829518 | etot = -8.37462302967209 +441000 ekin = 1.15016795453108 | erot = 1.65908318343076 | epot = -11.1838741676317 | etot = -8.37462302966984 +442000 ekin = 1.15664284201572 | erot = 1.61992313518224 | epot = -11.1511890068215 | etot = -8.37462302962353 +443000 ekin = 1.16253418069083 | erot = 1.58179210099427 | epot = -11.1189493112074 | etot = -8.37462302952227 +444000 ekin = 1.16846798531313 | erot = 1.54614466613206 | epot = -11.0892356808142 | etot = -8.37462302936903 +445000 ekin = 1.17546820346648 | erot = 1.51479732960813 | epot = -11.0648885622537 | etot = -8.37462302917911 +446000 ekin = 1.18488743024697 | erot = 1.48973802087996 | epot = -11.0492484801072 | etot = -8.37462302898023 +447000 ekin = 1.19824347153636 | erot = 1.4728428998025 | epot = -11.0457094001486 | etot = -8.37462302880978 +448000 ekin = 1.21696535091544 | erot = 1.46554765995196 | epot = -11.0571360395779 | etot = -8.37462302871048 +449000 ekin = 1.24207954598539 | erot = 1.46851271093431 | epot = -11.0852152856395 | etot = -8.37462302871984 +450000 ekin = 1.27389445230343 | erot = 1.48136016741854 | epot = -11.1298776485921 | etot = -8.37462302887016 +451000 ekin = 1.31179903842818 | erot = 1.50255470267311 | epot = -11.1889767701115 | etot = -8.37462302901019 +452000 ekin = 1.35460859520422 | erot = 1.52989164326772 | epot = -11.2591232679044 | etot = -8.37462302943242 +453000 ekin = 1.39989469250132 | erot = 1.55983588432389 | epot = -11.3343536067643 | etot = -8.37462302993904 +454000 ekin = 1.44437957549653 | erot = 1.58822152329642 | epot = -11.4072241292509 | etot = -8.37462303045796 +455000 ekin = 1.48456015878253 | erot = 1.61103616004163 | epot = -11.470219349728 | etot = -8.37462303090384 +456000 ekin = 1.51733329615388 | erot = 1.62510652435232 | epot = -11.5170628516965 | etot = -8.37462303119029 +457000 ekin = 1.54029245797727 | erot = 1.62854015385607 | epot = -11.5434556431081 | etot = -8.37462303127478 +458000 ekin = 1.55209787062893 | erot = 1.62122255615467 | epot = -11.5479434578297 | etot = -8.37462303104612 +459000 ekin = 1.55414659187908 | erot = 1.60571991112906 | epot = -11.5344895335906 | etot = -8.3746230305825 +460000 ekin = 1.54960099436993 | erot = 1.58640018749931 | epot = -11.5106242118358 | etot = -8.37462302996659 +461000 ekin = 1.54273124225058 | erot = 1.56872252266522 | epot = -11.4860767942407 | etot = -8.37462302932495 +462000 ekin = 1.53795589449209 | erot = 1.55825929919719 | epot = -11.4708382224939 | etot = -8.37462302880462 +463000 ekin = 1.53875903308017 | erot = 1.55959299575885 | epot = -11.4729750573655 | etot = -8.37462302852646 +464000 ekin = 1.54682029511825 | erot = 1.57534186894967 | epot = -11.4967851926235 | etot = -8.37462302855557 +465000 ekin = 1.56162946502409 | erot = 1.60564212072992 | epot = -11.5418946146263 | etot = -8.37462302887232 +466000 ekin = 1.58070265304198 | erot = 1.64822662156059 | epot = -11.6035523039855 | etot = -8.37462302938297 +467000 ekin = 1.60035208027159 | erot = 1.69905719078914 | epot = -11.6740323010087 | etot = -8.37462302994799 +468000 ekin = 1.61673623107193 | erot = 1.75335443246648 | epot = -11.7447136939685 | etot = -8.37462303043008 +469000 ekin = 1.62683085006995 | erot = 1.80670922025537 | epot = -11.8081631010546 | etot = -8.37462303072931 +470000 ekin = 1.62907239972644 | erot = 1.8559658402397 | epot = -11.859661270774 | etot = -8.37462303080784 +471000 ekin = 1.62354687373205 | erot = 1.89966129170666 | epot = -11.8978311961309 | etot = -8.37462303069216 +472000 ekin = 1.61170510379534 | erot = 1.93800410340994 | epot = -11.924332237645 | etot = -8.37462303043972 +473000 ekin = 1.59590324451053 | erot = 1.97246730641883 | epot = -11.9429935810557 | etot = -8.3746230301263 +474000 ekin = 1.57886523181425 | erot = 2.00526149881272 | epot = -11.9587497604451 | etot = -8.37462302981809 +475000 ekin = 1.56312071579209 | erot = 2.03882982960113 | epot = -11.9765735749591 | etot = -8.3746230295659 +476000 ekin = 1.55063074695432 | erot = 2.07545668636699 | epot = -12.0007104627111 | etot = -8.37462302938983 +477000 ekin = 1.54263588411163 | erot = 2.11704231171848 | epot = -12.0343012251317 | etot = -8.37462302930159 +478000 ekin = 1.53956151542339 | erot = 2.16493101564523 | epot = -12.0791155603743 | etot = -8.37462302930564 +479000 ekin = 1.54104337298282 | erot = 2.21977101926569 | epot = -12.1354374216528 | etot = -8.37462302940429 +480000 ekin = 1.546009760973 | erot = 2.28138261399161 | epot = -12.2020154045604 | etot = -8.37462302959578 +481000 ekin = 1.55280606025074 | erot = 2.34867771787686 | epot = -12.2761068079942 | etot = -8.37462302986658 +482000 ekin = 1.55937339635063 | erot = 2.41971772769978 | epot = -12.3537141542343 | etot = -8.37462303018394 +483000 ekin = 1.56350104453064 | erot = 2.49198464321598 | epot = -12.4301087182424 | etot = -8.37462303049574 +484000 ekin = 1.56314467772891 | erot = 2.56280026279411 | epot = -12.5005679712712 | etot = -8.37462303074813 +485000 ekin = 1.55677099189746 | erot = 2.62990187864032 | epot = -12.5612959014211 | etot = -8.37462303088329 +486000 ekin = 1.54362230241928 | erot = 2.69196691950622 | epot = -12.6102122528177 | etot = -8.37462303089216 +487000 ekin = 1.52381043792147 | erot = 2.74866369544547 | epot = -12.6470971641652 | etot = -8.37462303079828 +488000 ekin = 1.49822858844546 | erot = 2.8004132279429 | epot = -12.6732648470389 | etot = -8.37462303065053 +489000 ekin = 1.46832177711314 | erot = 2.84792010719542 | epot = -12.6908649148109 | etot = -8.37462303050238 +490000 ekin = 1.43580907601253 | erot = 2.89167668868852 | epot = -12.702108795094 | etot = -8.37462303039295 +491000 ekin = 1.4024462649876 | erot = 2.93162068131834 | epot = -12.7086899766444 | etot = -8.37462303033848 +492000 ekin = 1.36987596423633 | erot = 2.96703118869674 | epot = -12.7115301832664 | etot = -8.37462303033337 +493000 ekin = 1.33956200675841 | erot = 2.99664446240428 | epot = -12.7108294995239 | etot = -8.37462303036122 +494000 ekin = 1.31276816321137 | erot = 3.0188980455283 | epot = -12.7062892391461 | etot = -8.37462303040639 +495000 ekin = 1.29052832589742 | erot = 3.03218505525729 | epot = -12.6973364116178 | etot = -8.37462303046307 +496000 ekin = 1.27356858864304 | erot = 3.03502298578847 | epot = -12.6832146049698 | etot = -8.37462303053831 +497000 ekin = 1.26217859738771 | erot = 3.02610963124414 | epot = -12.6629112592754 | etot = -8.37462303064359 +498000 ekin = 1.25609176092199 | erot = 3.00437387243302 | epot = -12.6350886640761 | etot = -8.37462303072111 +499000 ekin = 1.25448433543904 | erot = 2.96925958210228 | epot = -12.5983669484037 | etot = -8.37462303086234 +500000 ekin = 1.25592311954784 | erot = 2.92052794168892 | epot = -12.5510740922098 | etot = -8.37462303097309 +501000 ekin = 1.25866262015633 | erot = 2.85877857413965 | epot = -12.4920642252969 | etot = -8.37462303100093 +502000 ekin = 1.26101030104304 | erot = 2.78589367848072 | epot = -12.421527010429 | etot = -8.37462303090524 +503000 ekin = 1.26168224098459 | erot = 2.70525686266326 | epot = -12.3415621343214 | etot = -8.37462303067356 +504000 ekin = 1.2600687527343 | erot = 2.62162663922347 | epot = -12.2563184222917 | etot = -8.37462303033394 +505000 ekin = 1.25635230634784 | erot = 2.54066101851092 | epot = -12.1716363547773 | etot = -8.3746230299186 +506000 ekin = 1.25147361583878 | erot = 2.46829686832302 | epot = -12.0943935136549 | etot = -8.37462302949308 +507000 ekin = 1.24695832252944 | erot = 2.40991559866175 | epot = -12.03149695032 | etot = -8.37462302912881 +508000 ekin = 1.24460011262455 | erot = 2.36947588934127 | epot = -11.9886990309749 | etot = -8.37462302900906 +509000 ekin = 1.24584437165595 | erot = 2.34837731731007 | epot = -11.9688447179601 | etot = -8.37462302899406 +510000 ekin = 1.2517204112405 | erot = 2.34550382347298 | epot = -11.9718472639398 | etot = -8.37462302922633 +511000 ekin = 1.26248317251299 | erot = 2.35680066397777 | epot = -11.9939068662003 | etot = -8.37462302970952 +512000 ekin = 1.27739486770651 | erot = 2.37529788848864 | epot = -12.0273157865898 | etot = -8.3746230303947 +513000 ekin = 1.29481021505335 | erot = 2.39185405428688 | epot = -12.0612873005158 | etot = -8.37462303117561 +514000 ekin = 1.31250889880663 | erot = 2.39651406028005 | epot = -12.0836459909827 | etot = -8.37462303189606 +515000 ekin = 1.3282505258172 | erot = 2.38037057727134 | epot = -12.0832441354637 | etot = -8.37462303237514 +516000 ekin = 1.34045831429047 | erot = 2.3376026799616 | epot = -12.0526840267099 | etot = -8.37462303245782 +517000 ekin = 1.34883924084139 | erot = 2.26713155446507 | epot = -11.9905938273839 | etot = -8.37462303207746 +518000 ekin = 1.35468550683532 | erot = 2.1732612700939 | epot = -11.9025698082252 | etot = -8.37462303129602 +519000 ekin = 1.36067339623777 | erot = 2.06494828518385 | epot = -11.8002447117104 | etot = -8.37462303028879 +520000 ekin = 1.37018582822041 | erot = 1.95390329839677 | epot = -11.6987121558955 | etot = -8.3746230292783 +521000 ekin = 1.38639579379635 | erot = 1.85221057844755 | epot = -11.6132294007042 | etot = -8.37462302846028 +522000 ekin = 1.41141432489743 | erot = 1.77022445537223 | epot = -11.556261808228 | etot = -8.37462302795837 +523000 ekin = 1.44572356452415 | erot = 1.71520045873996 | epot = -11.5355470510809 | etot = -8.37462302781681 +524000 ekin = 1.48798145408556 | erot = 1.69073008320913 | epot = -11.5533345653098 | etot = -8.37462302801515 +525000 ekin = 1.53517683780364 | erot = 1.69680296066522 | epot = -11.6066028269625 | etot = -8.37462302849367 +526000 ekin = 1.58304900117776 | erot = 1.73025509478009 | epot = -11.6879271251317 | etot = -8.37462302917388 +527000 ekin = 1.62665879647842 | erot = 1.78540941266435 | epot = -11.7866912391139 | etot = -8.37462302997112 +528000 ekin = 1.66100783107272 | erot = 1.85480654805457 | epot = -11.8904374099264 | etot = -8.37462303079917 +529000 ekin = 1.68163863411252 | erot = 1.93001159415133 | epot = -11.986273259831 | etot = -8.37462303156715 +530000 ekin = 1.68518623025763 | erot = 2.00252460867122 | epot = -12.0623338711093 | etot = -8.37462303218049 +531000 ekin = 1.66986059684322 | erot = 2.06478669657164 | epot = -12.1092703259641 | etot = -8.37462303254921 +532000 ekin = 1.63581226894962 | erot = 2.11116679185565 | epot = -12.1216020934158 | etot = -8.37462303261058 +533000 ekin = 1.58529617176643 | erot = 2.13870511839619 | epot = -12.098624322515 | etot = -8.37462303235236 +534000 ekin = 1.5225456409459 | erot = 2.14737698823518 | epot = -12.0445456610046 | etot = -8.37462303182352 +535000 ekin = 1.45332420575898 | erot = 2.13977370494377 | epot = -11.9677209418254 | etot = -8.37462303112265 +536000 ekin = 1.38421691010833 | erot = 2.12031314070643 | epot = -11.8791530811833 | etot = -8.3746230303685 +537000 ekin = 1.32180342898888 | erot = 2.09425520394361 | epot = -11.7906816626022 | etot = -8.3746230296697 +538000 ekin = 1.27187743419507 | erot = 2.06681107588574 | epot = -11.713311539185 | etot = -8.37462302910418 +539000 ekin = 1.23883846278406 | erot = 2.04251647932952 | epot = -11.6559779708291 | etot = -8.37462302871551 +540000 ekin = 1.22531302702205 | erot = 2.02488499741709 | epot = -11.6248210529601 | etot = -8.37462302852096 +541000 ekin = 1.23199882289896 | erot = 2.01625749303218 | epot = -11.6228793444531 | etot = -8.37462302852198 +542000 ekin = 1.25769219449867 | erot = 2.01774880493445 | epot = -11.6500640281429 | etot = -8.37462302870979 +543000 ekin = 1.29945731405898 | erot = 2.02924170400448 | epot = -11.7033220471294 | etot = -8.37462302906594 +544000 ekin = 1.35291512120938 | erot = 2.04944893324945 | epot = -11.7769870840134 | etot = -8.37462302955459 +545000 ekin = 1.41265384121013 | erot = 2.07611668221351 | epot = -11.8633935535405 | etot = -8.37462303011689 +546000 ekin = 1.47277167574226 | erot = 2.10644216878695 | epot = -11.9538368751978 | etot = -8.37462303066857 +547000 ekin = 1.52754093318812 | erot = 2.1377046882704 | epot = -12.0398686525721 | etot = -8.37462303111358 +548000 ekin = 1.57213155238435 | erot = 2.16798237174586 | epot = -12.1147369554979 | etot = -8.3746230313677 +549000 ekin = 1.60327488859358 | erot = 2.19671767494249 | epot = -12.1746155949228 | etot = -8.37462303138678 +550000 ekin = 1.61972434377051 | erot = 2.22489244331976 | epot = -12.2192398182714 | etot = -8.37462303118114 +551000 ekin = 1.62240013871266 | erot = 2.25470593134778 | epot = -12.2517291008734 | etot = -8.37462303081292 +552000 ekin = 1.61417495563575 | erot = 2.28884205645968 | epot = -12.2776400424743 | etot = -8.37462303037886 +553000 ekin = 1.59932782093367 | erot = 2.32954987376782 | epot = -12.3035007246893 | etot = -8.37462302998778 +554000 ekin = 1.58274599068694 | erot = 2.37778817612377 | epot = -12.335157196551 | etot = -8.37462302974027 +555000 ekin = 1.56899856387336 | erot = 2.43263226771025 | epot = -12.3762538612928 | etot = -8.37462302970921 +556000 ekin = 1.56145041160178 | erot = 2.49106505510944 | epot = -12.4271384966351 | etot = -8.37462302992391 +557000 ekin = 1.56197837221472 | erot = 2.54829507222914 | epot = -12.4848964746666 | etot = -8.37462303022272 +558000 ekin = 1.57029216554694 | erot = 2.59810209181726 | epot = -12.5430172882317 | etot = -8.37462303086749 +559000 ekin = 1.58339818323854 | erot = 2.63367391510857 | epot = -12.5916951298834 | etot = -8.37462303153627 +560000 ekin = 1.5971277048411 | erot = 2.64904697988052 | epot = -12.6207977168329 | etot = -8.37462303211133 +561000 ekin = 1.60698123346032 | erot = 2.6400968389395 | epot = -12.6217011048881 | etot = -8.37462303248833 +562000 ekin = 1.60896027784962 | erot = 2.6053270012035 | epot = -12.5889103116457 | etot = -8.37462303259261 +563000 ekin = 1.60023696635641 | erot = 2.54649193869282 | epot = -12.5213519373678 | etot = -8.37462303231855 +564000 ekin = 1.57955774679436 | erot = 2.46891092806133 | epot = -12.4230917066839 | etot = -8.37462303182822 +565000 ekin = 1.54734561568422 | erot = 2.38031455632197 | epot = -12.3022832031139 | etot = -8.37462303110775 +566000 ekin = 1.50554468555614 | erot = 2.29049479450585 | epot = -12.170662510309 | etot = -8.37462303024699 +567000 ekin = 1.45732250665802 | erot = 2.21025028826866 | epot = -12.0421958242756 | etot = -8.37462302934893 +568000 ekin = 1.40671207380869 | erot = 2.15003703754034 | epot = -11.9313721399072 | etot = -8.37462302855815 +569000 ekin = 1.35794157948555 | erot = 2.11775595088059 | epot = -11.8503205583542 | etot = -8.37462302798802 +570000 ekin = 1.31523212118133 | erot = 2.11799693944399 | epot = -11.8078520883715 | etot = -8.37462302774614 +571000 ekin = 1.28243871603171 | erot = 2.15081941194262 | epot = -11.8078811559362 | etot = -8.37462302796181 +572000 ekin = 1.26220633016967 | erot = 2.21027034250997 | epot = -11.8470997013693 | etot = -8.37462302868969 +573000 ekin = 1.25525341532478 | erot = 2.28456705416222 | epot = -11.9144434992767 | etot = -8.37462302978965 +574000 ekin = 1.26030251431118 | erot = 2.35813787036682 | epot = -11.9930634156596 | etot = -8.37462303098163 +575000 ekin = 1.2747321562012 | erot = 2.41511328226935 | epot = -12.0644684704057 | etot = -8.37462303193517 +576000 ekin = 1.29562562243032 | erot = 2.44294920216243 | epot = -12.1131978570819 | etot = -8.37462303248916 +577000 ekin = 1.32065634429477 | erot = 2.43438586779435 | epot = -12.1296652446647 | etot = -8.3746230325756 +578000 ekin = 1.34847271373188 | erot = 2.3880449856766 | epot = -12.1111407316826 | etot = -8.3746230322741 +579000 ekin = 1.37859640729612 | erot = 2.30759327887891 | epot = -12.0608127179027 | etot = -8.37462303172765 +580000 ekin = 1.41115339285065 | erot = 2.2001618841045 | epot = -11.9859383079095 | etot = -8.37462303095433 +581000 ekin = 1.44674776514281 | erot = 2.07475133366466 | epot = -11.8961221291487 | etot = -8.37462303034121 +582000 ekin = 1.48514821809916 | erot = 1.94050793883156 | epot = -11.8002791867221 | etot = -8.37462302979136 +583000 ekin = 1.52576266955382 | erot = 1.80603709649357 | epot = -11.7064227953868 | etot = -8.37462302933942 +584000 ekin = 1.56772288057648 | erot = 1.67887072895879 | epot = -11.6212166385388 | etot = -8.37462302900352 +585000 ekin = 1.60990333959317 | erot = 1.56509115870017 | epot = -11.5496175270895 | etot = -8.37462302879619 +586000 ekin = 1.65096359832512 | erot = 1.46905708280604 | epot = -11.4946437098573 | etot = -8.37462302872612 +587000 ekin = 1.68940411635217 | erot = 1.39319741549691 | epot = -11.4572245606452 | etot = -8.37462302879607 +588000 ekin = 1.72364170526714 | erot = 1.33790137441485 | epot = -11.4361661086779 | etot = -8.37462302899591 +589000 ekin = 1.75212209152062 | erot = 1.3015875625827 | epot = -11.4283326833787 | etot = -8.37462302927535 +590000 ekin = 1.77348776906926 | erot = 1.28111987724175 | epot = -11.4292306759265 | etot = -8.37462302961545 +591000 ekin = 1.78679652584279 | erot = 1.2722838860136 | epot = -11.4337034417696 | etot = -8.37462302991325 +592000 ekin = 1.79174476962516 | erot = 1.27074179819159 | epot = -11.4371095979238 | etot = -8.37462303010703 +593000 ekin = 1.78882244319854 | erot = 1.27295060805378 | epot = -11.4363960813967 | etot = -8.37462303014437 +594000 ekin = 1.77931579000502 | erot = 1.2768275282958 | epot = -11.4307663483269 | etot = -8.37462303002605 +595000 ekin = 1.76511936072603 | erot = 1.2819604422043 | epot = -11.4217028327285 | etot = -8.37462302979817 +596000 ekin = 1.74839643260399 | erot = 1.28931412525948 | epot = -11.4123335873949 | etot = -8.37462302953148 +597000 ekin = 1.73114837530465 | erot = 1.30076368908395 | epot = -11.4065350936836 | etot = -8.37462302929503 +598000 ekin = 1.71482586358598 | erot = 1.31808503745678 | epot = -11.4075339301912 | etot = -8.37462302914843 +599000 ekin = 1.70035612856742 | erot = 1.3425649905677 | epot = -11.417544148202 | etot = -8.37462302906685 +600000 ekin = 1.68813838897309 | erot = 1.37518403997246 | epot = -11.4379454579907 | etot = -8.37462302904513 +601000 ekin = 1.67802155272642 | erot = 1.41656361608885 | epot = -11.4692081979379 | etot = -8.37462302912259 +602000 ekin = 1.66952241263303 | erot = 1.46664302735508 | epot = -11.5107884691508 | etot = -8.37462302916268 +603000 ekin = 1.66207455080855 | erot = 1.52486246591497 | epot = -11.5615600460151 | etot = -8.37462302929162 +604000 ekin = 1.6542927442501 | erot = 1.59090716727003 | epot = -11.6198229409115 | etot = -8.37462302939132 +605000 ekin = 1.64513458460873 | erot = 1.6645196317729 | epot = -11.68427724585 | etot = -8.37462302946837 +606000 ekin = 1.63397297141762 | erot = 1.74533329764818 | epot = -11.7539292986251 | etot = -8.37462302955928 +607000 ekin = 1.62046446185494 | erot = 1.83246852419231 | epot = -11.8275560158102 | etot = -8.37462302976293 +608000 ekin = 1.60415138614545 | erot = 1.92384516554779 | epot = -11.9026195817789 | etot = -8.37462303008567 +609000 ekin = 1.58416607276472 | erot = 2.01562004721176 | epot = -11.974409150686 | etot = -8.37462303070949 +610000 ekin = 1.55892234883736 | erot = 2.10126039812532 | epot = -12.0348057783656 | etot = -8.37462303140292 +611000 ekin = 1.52586403281539 | erot = 2.17351542350509 | epot = -12.0740024883685 | etot = -8.37462303204803 +612000 ekin = 1.4825279678083 | erot = 2.22604744671983 | epot = -12.0831984469278 | etot = -8.37462303239972 +613000 ekin = 1.42777710477443 | erot = 2.25549715887384 | epot = -12.057897295914 | etot = -8.37462303226575 +614000 ekin = 1.36284302675892 | erot = 2.26309761369493 | epot = -12.0005636720726 | etot = -8.3746230316187 +615000 ekin = 1.29166682111418 | erot = 2.25472033318116 | epot = -11.9210101849095 | etot = -8.37462303061415 +616000 ekin = 1.22033159945645 | erot = 2.23929049961803 | epot = -11.8342451285797 | etot = -8.3746230295052 +617000 ekin = 1.15585313012806 | erot = 2.22643765865191 | epot = -11.7569138173069 | etot = -8.37462302852692 +618000 ekin = 1.10482633868281 | erot = 2.22445549381317 | epot = -11.703904860323 | etot = -8.37462302782702 +619000 ekin = 1.07233800595233 | erot = 2.23915844398183 | epot = -11.686119477403 | etot = -8.37462302746885 +620000 ekin = 1.06133969547929 | erot = 2.27356598267652 | epot = -11.7095287055701 | etot = -8.37462302741426 +621000 ekin = 1.07250328125059 | erot = 2.3282764043955 | epot = -11.7754027132591 | etot = -8.37462302761301 +622000 ekin = 1.10448299243283 | erot = 2.40202886262695 | epot = -11.8811348830517 | etot = -8.37462302799193 +623000 ekin = 1.15443583438885 | erot = 2.49214268564757 | epot = -12.0212015485354 | etot = -8.37462302849902 +624000 ekin = 1.2185850449635 | erot = 2.59479979276571 | epot = -12.1880078668328 | etot = -8.37462302910356 +625000 ekin = 1.29260009291012 | erot = 2.70513041487662 | epot = -12.3723535376303 | etot = -8.37462302984353 +626000 ekin = 1.37166908699354 | erot = 2.81669294847368 | epot = -12.5629850662423 | etot = -8.37462303077506 +627000 ekin = 1.45036408324169 | erot = 2.92095656625447 | epot = -12.7459436813997 | etot = -8.37462303190359 +628000 ekin = 1.52265779656699 | erot = 3.00738157699049 | epot = -12.9046624066506 | etot = -8.37462303309307 +629000 ekin = 1.58251554244259 | erot = 3.06484099788408 | epot = -13.0219795743754 | etot = -8.37462303404871 +630000 ekin = 1.62514418880337 | erot = 3.08443014422475 | epot = -13.0841973674697 | etot = -8.37462303444157 +631000 ekin = 1.64954255052048 | erot = 3.06336922300758 | epot = -13.0875348072901 | etot = -8.37462303376204 +632000 ekin = 1.65761419155166 | erot = 3.00573585958576 | epot = -13.0379730841191 | etot = -8.37462303298165 +633000 ekin = 1.65174795094912 | erot = 2.91965232777674 | epot = -12.9460233106371 | etot = -8.37462303191122 +634000 ekin = 1.63566753659108 | erot = 2.81604656742636 | epot = -12.8263371348987 | etot = -8.37462303088127 +635000 ekin = 1.61303222685238 | erot = 2.70552755471528 | epot = -12.6931828116736 | etot = -8.37462303010594 +636000 ekin = 1.58646965557207 | erot = 2.59633719499181 | epot = -12.5574298801986 | etot = -8.37462302963469 +637000 ekin = 1.55730595137539 | erot = 2.49385627805374 | epot = -12.4257852588274 | etot = -8.37462302939823 +638000 ekin = 1.52584911626122 | erot = 2.40123459741471 | epot = -12.3017067429588 | etot = -8.37462302928287 +639000 ekin = 1.49192497641984 | erot = 2.32043250458043 | epot = -12.1869805101867 | etot = -8.37462302918644 +640000 ekin = 1.45541378442934 | erot = 2.25314232065171 | epot = -12.083179134123 | etot = -8.37462302904197 +641000 ekin = 1.4166491992725 | erot = 2.20135144254608 | epot = -11.9926236706418 | etot = -8.37462302882326 +642000 ekin = 1.37663135857252 | erot = 2.16751840710901 | epot = -11.9187727942197 | etot = -8.37462302853815 +643000 ekin = 1.33719601642867 | erot = 2.15436138730883 | epot = -11.8661804319178 | etot = -8.37462302818028 +644000 ekin = 1.30095460066298 | erot = 2.16433354914077 | epot = -11.839911177713 | etot = -8.37462302790927 +645000 ekin = 1.27009047740111 | erot = 2.19964354153021 | epot = -11.8443570466387 | etot = -8.37462302770743 +646000 ekin = 1.24673444983097 | erot = 2.26154821904857 | epot = -11.882905696521 | etot = -8.37462302764144 +647000 ekin = 1.23265873214796 | erot = 2.34972644269169 | epot = -11.957008202618 | etot = -8.37462302777833 +648000 ekin = 1.22854704146518 | erot = 2.4614698466802 | epot = -12.0646399168195 | etot = -8.37462302867415 +649000 ekin = 1.23123438274848 | erot = 2.58918284108585 | epot = -12.1950402534729 | etot = -8.37462302963856 +650000 ekin = 1.23733747325548 | erot = 2.72274115028498 | epot = -12.3347016542464 | etot = -8.37462303070591 +651000 ekin = 1.24289918510312 | erot = 2.85114575373848 | epot = -12.4686679705691 | etot = -8.37462303172749 +652000 ekin = 1.24424620799598 | erot = 2.96370857037656 | epot = -12.5825778108355 | etot = -8.37462303246295 +653000 ekin = 1.23918232850118 | erot = 3.05217314601573 | epot = -12.6659785072745 | etot = -8.37462303275754 +654000 ekin = 1.22772861478185 | erot = 3.11212236727186 | epot = -12.7144740146721 | etot = -8.37462303261837 +655000 ekin = 1.21201905901883 | erot = 3.14303840850265 | epot = -12.7296804997141 | etot = -8.37462303219263 +656000 ekin = 1.19543744331557 | erot = 3.1472043556272 | epot = -12.717264830612 | etot = -8.37462303166922 +657000 ekin = 1.1814930510954 | erot = 3.12826014298738 | epot = -12.6843762252665 | etot = -8.37462303118371 +658000 ekin = 1.17296379523421 | erot = 3.09016086418898 | epot = -12.6377476902109 | etot = -8.37462303078768 +659000 ekin = 1.17154758060714 | erot = 3.03675236917095 | epot = -12.5829229802521 | etot = -8.37462303047405 +660000 ekin = 1.17794903030406 | erot = 2.97172379739617 | epot = -12.5242958579197 | etot = -8.37462303021945 +661000 ekin = 1.19217998583019 | erot = 2.89858436842553 | epot = -12.4653873842718 | etot = -8.37462303001611 +662000 ekin = 1.21385724620099 | erot = 2.82043608351658 | epot = -12.4089163596039 | etot = -8.3746230298863 +663000 ekin = 1.24235148674062 | erot = 2.7394870694026 | epot = -12.3564615860234 | etot = -8.37462302988019 +664000 ekin = 1.27672733538917 | erot = 2.65640554993946 | epot = -12.3077559153837 | etot = -8.37462303005511 +665000 ekin = 1.31551337033707 | erot = 2.56977925404147 | epot = -12.2599156548135 | etot = -8.37462303043493 +666000 ekin = 1.35644708325599 | erot = 2.47610382422679 | epot = -12.207173938446 | etot = -8.37462303096323 +667000 ekin = 1.39640549572047 | erot = 2.37072397306798 | epot = -12.141752500272 | etot = -8.37462303148357 +668000 ekin = 1.43167926156656 | erot = 2.24978389245032 | epot = -12.0560861858051 | etot = -8.37462303178822 +669000 ekin = 1.45855421040952 | erot = 2.11253877407092 | epot = -11.9457160162039 | etot = -8.37462303172345 +670000 ekin = 1.47395086468723 | erot = 1.9628400463752 | epot = -11.8114139423427 | etot = -8.37462303128029 +671000 ekin = 1.47583917683162 | erot = 1.80887360751575 | epot = -11.6593358149388 | etot = -8.3746230305914 +672000 ekin = 1.46334042173035 | erot = 1.66127989929634 | epot = -11.4992433508642 | etot = -8.37462302983747 +673000 ekin = 1.43665130211575 | erot = 1.53074210402186 | epot = -11.3420164352874 | etot = -8.3746230291498 +674000 ekin = 1.39696147640067 | erot = 1.42619748862819 | epot = -11.1977819936044 | etot = -8.37462302857559 +675000 ekin = 1.34640262232926 | erot = 1.35413730296204 | epot = -11.0751629533971 | etot = -8.37462302810579 +676000 ekin = 1.28794616798706 | erot = 1.31873912036748 | epot = -10.981308316076 | etot = -8.37462302772149 +677000 ekin = 1.22516961113619 | erot = 1.32230065785723 | epot = -10.9220932964151 | etot = -8.37462302742172 +678000 ekin = 1.16189722956171 | erot = 1.36556643964961 | epot = -10.9020866964405 | etot = -8.37462302722917 +679000 ekin = 1.10179124610589 | erot = 1.44777635005946 | epot = -10.9241906233509 | etot = -8.37462302718558 +680000 ekin = 1.04797419609929 | erot = 1.56642353033359 | epot = -10.9890207537779 | etot = -8.37462302734499 +681000 ekin = 1.00272279861842 | erot = 1.71676662165668 | epot = -11.0941124480449 | etot = -8.37462302776983 +682000 ekin = 0.96723882583355 | erot = 1.89118238721898 | epot = -11.2330442415684 | etot = -8.37462302851591 +683000 ekin = 0.941511133139624 | erot = 2.07856636776108 | epot = -11.394700530499 | etot = -8.37462302959834 +684000 ekin = 0.924337639155355 | erot = 2.26421473255812 | epot = -11.5631754026496 | etot = -8.37462303093609 +685000 ekin = 0.913629093894914 | erot = 2.43080490184677 | epot = -11.719057028052 | etot = -8.37462303231027 +686000 ekin = 0.907072709279063 | erot = 2.56090643970371 | epot = -11.8426021823784 | etot = -8.37462303339564 +687000 ekin = 0.903027970995986 | erot = 2.64065323919292 | epot = -11.9183042440809 | etot = -8.374623033892 +688000 ekin = 0.901265997344289 | erot = 2.66315283569445 | epot = -11.9390418667247 | etot = -8.37462303368598 +689000 ekin = 0.90312729140811 | erot = 2.62989920645488 | epot = -11.907649530774 | etot = -8.37462303291098 +690000 ekin = 0.911003410958121 | erot = 2.54949432637527 | epot = -11.8351207691849 | etot = -8.37462303185154 +691000 ekin = 0.927482290190993 | erot = 2.43458909338556 | epot = -11.7366944143598 | etot = -8.37462303078327 +692000 ekin = 0.954629968072412 | erot = 2.29871133600685 | epot = -11.6279643339253 | etot = -8.37462302984608 +693000 ekin = 0.993689842529491 | erot = 2.15457291085937 | epot = -11.5228857826033 | etot = -8.37462302921447 +694000 ekin = 1.04477766673772 | erot = 2.01224824492835 | epot = -11.431648940443 | etot = -8.37462302877689 +695000 ekin = 1.10717972557134 | erot = 1.87902519878731 | epot = -11.3608279528648 | etot = -8.37462302850611 +696000 ekin = 1.17962988090899 | erot = 1.76021636433897 | epot = -11.3144692736299 | etot = -8.37462302838191 +697000 ekin = 1.26034508063448 | erot = 1.65939331951338 | epot = -11.2943614285427 | etot = -8.37462302839486 +698000 ekin = 1.3470063414454 | erot = 1.57856058321642 | epot = -11.3001899532003 | etot = -8.3746230285385 +699000 ekin = 1.43673776969177 | erot = 1.51829388887638 | epot = -11.3296546873713 | etot = -8.37462302880314 +700000 ekin = 1.52614311401997 | erot = 1.47788597100976 | epot = -11.3786521141988 | etot = -8.37462302916904 +701000 ekin = 1.61113170991832 | erot = 1.45542937144956 | epot = -11.441184111157 | etot = -8.37462302978916 +702000 ekin = 1.68654811958763 | erot = 1.4477483514156 | epot = -11.5089195013157 | etot = -8.37462303031242 +703000 ekin = 1.74804176728602 | erot = 1.45137774868857 | epot = -11.5740425467242 | etot = -8.37462303074958 +704000 ekin = 1.79223863052492 | erot = 1.46326677109846 | epot = -11.6301284326331 | etot = -8.3746230310097 +705000 ekin = 1.81722742452311 | erot = 1.48152907264936 | epot = -11.673379528207 | etot = -8.37462303103458 +706000 ekin = 1.82282717413898 | erot = 1.50598222611714 | epot = -11.7034324310832 | etot = -8.3746230308271 +707000 ekin = 1.81047570468772 | erot = 1.53820736294009 | epot = -11.7233060980815 | etot = -8.37462303045367 +708000 ekin = 1.782768284984 | erot = 1.58105495041898 | epot = -11.738446265421 | etot = -8.37462303001798 +709000 ekin = 1.74282721673902 | erot = 1.63779752307016 | epot = -11.7552477694259 | etot = -8.37462302961672 +710000 ekin = 1.69374790025168 | erot = 1.71129566721375 | epot = -11.7796665967699 | etot = -8.37462302930447 +711000 ekin = 1.63830193402269 | erot = 1.80347448195107 | epot = -11.8163994450621 | etot = -8.37462302908836 +712000 ekin = 1.57892460633575 | erot = 1.91516553831265 | epot = -11.8687131735996 | etot = -8.37462302895119 +713000 ekin = 1.51786752131641 | erot = 2.04613993379542 | epot = -11.9386304839937 | etot = -8.37462302888188 +714000 ekin = 1.45734042326248 | erot = 2.19509441543986 | epot = -12.0270578675957 | etot = -8.37462302889338 +715000 ekin = 1.39951776249161 | erot = 2.35946536290658 | epot = -12.1336061544181 | etot = -8.37462302901989 +716000 ekin = 1.34639246829257 | erot = 2.53511986593063 | epot = -12.2561353635231 | etot = -8.37462302929987 +717000 ekin = 1.29955432269653 | erot = 2.71613012093776 | epot = -12.3903074733622 | etot = -8.37462302972791 +718000 ekin = 1.25989829926672 | erot = 2.89465680801553 | epot = -12.5291781376648 | etot = -8.37462303038252 +719000 ekin = 1.22750607428707 | erot = 3.06092665837673 | epot = -12.663055763813 | etot = -8.37462303114923 +720000 ekin = 1.20188187065045 | erot = 3.20425006661911 | epot = -12.7807549692082 | etot = -8.37462303193865 +721000 ekin = 1.18220717981637 | erot = 3.31414882430528 | epot = -12.8709790367385 | etot = -8.37462303261682 +722000 ekin = 1.167746084253 | erot = 3.38185582435258 | epot = -12.9242249416936 | etot = -8.37462303308801 +723000 ekin = 1.15807318395746 | erot = 3.40183188752098 | epot = -12.9345281046194 | etot = -8.37462303314091 +724000 ekin = 1.15381445066092 | erot = 3.37321067526363 | epot = -12.9016481586785 | etot = -8.37462303275395 +725000 ekin = 1.15678266075217 | erot = 3.3003667101013 | epot = -12.8317724028488 | etot = -8.37462303199533 +726000 ekin = 1.1696197829546 | erot = 3.19222682090122 | epot = -12.7364696348819 | etot = -8.37462303102604 +727000 ekin = 1.19513165177666 | erot = 3.06063268788916 | epot = -12.6303873697018 | etot = -8.37462303003595 +728000 ekin = 1.23552066619851 | erot = 2.91835949420198 | epot = -12.5285031895849 | etot = -8.37462302918443 +729000 ekin = 1.29175272903889 | erot = 2.77740116865265 | epot = -12.4437769262603 | etot = -8.3746230285688 +730000 ekin = 1.3631967531644 | erot = 2.64784734360347 | epot = -12.38566712499 | etot = -8.37462302822212 +731000 ekin = 1.4475753545511 | erot = 2.53736869406004 | epot = -12.3595670767397 | etot = -8.37462302812852 +732000 ekin = 1.54119076303258 | erot = 2.45114849797744 | epot = -12.3669622892558 | etot = -8.37462302824583 +733000 ekin = 1.63933166933537 | erot = 2.39205275844115 | epot = -12.4060074563017 | etot = -8.37462302852523 +734000 ekin = 1.73673684343545 | erot = 2.36087235952521 | epot = -12.4722322318858 | etot = -8.37462302892515 +735000 ekin = 1.82801503452905 | erot = 2.35655963727639 | epot = -12.5591977012161 | etot = -8.37462302941069 +736000 ekin = 1.90799093491543 | erot = 2.37647912514031 | epot = -12.6590930900003 | etot = -8.37462302994453 +737000 ekin = 1.97201607370513 | erot = 2.41675065087033 | epot = -12.7633897550508 | etot = -8.37462303047533 +738000 ekin = 2.01630111183775 | erot = 2.47274745431883 | epot = -12.8636715970953 | etot = -8.37462303093867 +739000 ekin = 2.0382794148672 | erot = 2.53972508205568 | epot = -12.9526275281928 | etot = -8.37462303126992 +740000 ekin = 2.03693425614143 | erot = 2.61344505992171 | epot = -13.0250023474905 | etot = -8.37462303142735 +741000 ekin = 2.01297029118197 | erot = 2.6905926898414 | epot = -13.078186012435 | etot = -8.37462303141167 +742000 ekin = 1.96872639119326 | erot = 2.76882566300566 | epot = -13.1121750854697 | etot = -8.37462303127075 +743000 ekin = 1.90780895376724 | erot = 2.84642411503796 | epot = -13.1288560998889 | etot = -8.37462303108371 +744000 ekin = 1.83452633958094 | erot = 2.92167512840821 | epot = -13.1308244989241 | etot = -8.37462303093494 +745000 ekin = 1.75327142731238 | erot = 2.99223326157179 | epot = -13.1201277197705 | etot = -8.37462303088637 +746000 ekin = 1.66800377368558 | erot = 3.05470990300409 | epot = -13.0973367076481 | etot = -8.37462303095839 +747000 ekin = 1.58193446047701 | erot = 3.10466510758295 | epot = -13.0612225991749 | etot = -8.37462303111489 +748000 ekin = 1.49744243761765 | erot = 3.1370817032622 | epot = -13.0091471721998 | etot = -8.37462303131994 +749000 ekin = 1.41618008606395 | erot = 3.14699639325504 | epot = -12.9377995108104 | etot = -8.37462303149142 +750000 ekin = 1.33927892449615 | erot = 3.13031955339586 | epot = -12.8442215094657 | etot = -8.3746230315737 +751000 ekin = 1.26755716714793 | erot = 3.08449081835569 | epot = -12.7266710170447 | etot = -8.3746230315411 +752000 ekin = 1.20166403423451 | erot = 3.00876367719806 | epot = -12.5850507428289 | etot = -8.37462303139636 +753000 ekin = 1.14214671460853 | erot = 2.90415589313793 | epot = -12.4209256389059 | etot = -8.37462303115941 +754000 ekin = 1.08946987137881 | erot = 2.77319742893274 | epot = -12.237290331163 | etot = -8.37462303085144 +755000 ekin = 1.0440339069326 | erot = 2.61963797727814 | epot = -12.0382949146963 | etot = -8.37462303048555 +756000 ekin = 1.00622473318369 | erot = 2.44820898511458 | epot = -11.8290567483663 | etot = -8.37462303006798 +757000 ekin = 0.976498427340588 | erot = 2.26449263385604 | epot = -11.61561409077 | etot = -8.3746230295734 +758000 ekin = 0.95548508197913 | erot = 2.07490082917664 | epot = -11.4050089402143 | etot = -8.37462302905851 +759000 ekin = 0.943970421426005 | erot = 1.88597944064736 | epot = -11.2045728906421 | etot = -8.37462302856878 +760000 ekin = 0.942943189110147 | erot = 1.7039167649091 | epot = -11.0214829821213 | etot = -8.37462302810203 +761000 ekin = 0.953636819945896 | erot = 1.53434362889912 | epot = -10.8626034765329 | etot = -8.3746230276879 +762000 ekin = 0.97743946369241 | erot = 1.38197793553288 | epot = -10.7340404265768 | etot = -8.3746230273515 +763000 ekin = 1.01575214955006 | erot = 1.25038414099742 | epot = -10.6407593176589 | etot = -8.37462302711139 +764000 ekin = 1.06980632712673 | erot = 1.14186552726324 | epot = -10.5862948813705 | etot = -8.37462302698054 +765000 ekin = 1.14045321588218 | erot = 1.05746802226754 | epot = -10.572544265118 | etot = -8.37462302696826 +766000 ekin = 1.22794009362295 | erot = 0.997057737149038 | epot = -10.5996208578533 | etot = -8.3746230270813 +767000 ekin = 1.33169356851996 | erot = 0.959438204850342 | epot = -10.6657548006934 | etot = -8.37462302732309 +768000 ekin = 1.45013707578519 | erot = 0.942489485960565 | epot = -10.7672495894374 | etot = -8.37462302769164 +769000 ekin = 1.58057826601931 | erot = 0.943330765780494 | epot = -10.8985320599751 | etot = -8.37462302817531 +770000 ekin = 1.71920830312909 | erot = 0.958522817522704 | epot = -11.0523541494005 | etot = -8.3746230287487 +771000 ekin = 1.86125297315597 | erot = 0.984329269154786 | epot = -11.22020527168 | etot = -8.37462302936927 +772000 ekin = 2.00111996070472 | erot = 1.01706547585556 | epot = -11.3928084666374 | etot = -8.37462303007708 +773000 ekin = 2.13179679389825 | erot = 1.05343215415002 | epot = -11.5598519787401 | etot = -8.37462303069187 +774000 ekin = 2.24724323871492 | erot = 1.09038833142067 | epot = -11.7122546013233 | etot = -8.37462303118767 +775000 ekin = 2.34263593745642 | erot = 1.12564496608115 | epot = -11.8429039350586 | etot = -8.37462303152106 +776000 ekin = 2.41469510965557 | erot = 1.15782091196235 | epot = -11.9471390532945 | etot = -8.37462303167661 +777000 ekin = 2.4619556450841 | erot = 1.18638590330911 | epot = -12.0229645800646 | etot = -8.3746230316714 +778000 ekin = 2.48471522536713 | erot = 1.21145891745681 | epot = -12.0707971743752 | etot = -8.37462303155128 +779000 ekin = 2.48466047807948 | erot = 1.23352809685664 | epot = -12.0928116063126 | etot = -8.3746230313765 +780000 ekin = 2.46428568678489 | erot = 1.25319615840711 | epot = -12.0921048763886 | etot = -8.37462303119655 +781000 ekin = 2.4263230702414 | erot = 1.2710709331522 | epot = -12.0720170344205 | etot = -8.37462303102695 +782000 ekin = 2.3734174718094 | erot = 1.28787882380252 | epot = -12.0359193264533 | etot = -8.37462303084136 +783000 ekin = 2.3081517037365 | erot = 1.30476531778341 | epot = -11.9875400521136 | etot = -8.37462303059371 +784000 ekin = 2.23331824905967 | erot = 1.32360971126966 | epot = -11.9315509905816 | etot = -8.37462303025231 +785000 ekin = 2.15217666718282 | erot = 1.34711489736925 | epot = -11.8739145943864 | etot = -8.37462302983438 +786000 ekin = 2.06843940786861 | erot = 1.37850506799765 | epot = -11.821567505275 | etot = -8.37462302940871 +787000 ekin = 1.98588342004993 | erot = 1.42085370630258 | epot = -11.7813601554279 | etot = -8.37462302907537 +788000 ekin = 1.90769396723955 | erot = 1.47626814204841 | epot = -11.7585851382104 | etot = -8.37462302892247 +789000 ekin = 1.83580155857365 | erot = 1.54525606067604 | epot = -11.7556806482382 | etot = -8.37462302898855 +790000 ekin = 1.77050160314379 | erot = 1.62653131906873 | epot = -11.7716559514595 | etot = -8.37462302924703 +791000 ekin = 1.71053482189682 | erot = 1.71731536900441 | epot = -11.8024732205211 | etot = -8.37462302961985 +792000 ekin = 1.65360852454759 | erot = 1.8139751919523 | epot = -11.8422067465096 | etot = -8.37462303000971 +793000 ekin = 1.59715988493912 | erot = 1.91273671397553 | epot = -11.8845196292482 | etot = -8.3746230303335 +794000 ekin = 1.53909469767268 | erot = 2.01023412199548 | epot = -11.9239518502218 | etot = -8.37462303055361 +795000 ekin = 1.47829524951161 | erot = 2.10382941015471 | epot = -11.9567476902912 | etot = -8.37462303062492 +796000 ekin = 1.41481662091498 | erot = 2.19194291988956 | epot = -11.9813825713715 | etot = -8.374623030567 +797000 ekin = 1.34981308251972 | erot = 2.27401207101473 | epot = -11.9984481839359 | etot = -8.37462303040142 +798000 ekin = 1.28529636433261 | erot = 2.35042093006667 | epot = -12.0103403245571 | etot = -8.37462303015777 +799000 ekin = 1.22381948476676 | erot = 2.42233570218471 | epot = -12.0207782168048 | etot = -8.3746230298533 +800000 ekin = 1.16822785389072 | erot = 2.49143438531586 | epot = -12.0342852688204 | etot = -8.3746230296138 +801000 ekin = 1.12099278645327 | erot = 2.55928816627915 | epot = -12.0549039821717 | etot = -8.37462302943928 +802000 ekin = 1.08396505816673 | erot = 2.62689447860425 | epot = -12.0854825661012 | etot = -8.37462302933024 +803000 ekin = 1.05841636962212 | erot = 2.69442631107878 | epot = -12.1274657101593 | etot = -8.37462302945839 +804000 ekin = 1.04426779803363 | erot = 2.76024770978186 | epot = -12.1791385376321 | etot = -8.37462302981661 +805000 ekin = 1.03995925235812 | erot = 2.82046254231515 | epot = -12.2350448251454 | etot = -8.37462303047209 +806000 ekin = 1.04249639916868 | erot = 2.86897163059201 | epot = -12.2860910609771 | etot = -8.37462303121639 +807000 ekin = 1.04816653318231 | erot = 2.89850351394551 | epot = -12.3212930790752 | etot = -8.37462303194734 +808000 ekin = 1.05329972434446 | erot = 2.90189493045252 | epot = -12.3298176872852 | etot = -8.37462303248817 +809000 ekin = 1.05511003120376 | erot = 2.87378175153012 | epot = -12.3035148154265 | etot = -8.37462303269267 +810000 ekin = 1.05231348653264 | erot = 2.81208782296007 | epot = -12.2390243420606 | etot = -8.37462303256789 +811000 ekin = 1.04519713630642 | erot = 2.71854122755763 | epot = -12.1383613958735 | etot = -8.37462303200948 +812000 ekin = 1.03556509624585 | erot = 2.59875418172924 | epot = -12.008942309191 | etot = -8.37462303121596 +813000 ekin = 1.0261737081031 | erot = 2.46123250530751 | epot = -11.8620292437551 | etot = -8.37462303034445 +814000 ekin = 1.01993499392849 | erot = 2.31562695732952 | epot = -11.7101849807871 | etot = -8.37462302952907 +815000 ekin = 1.01938989932849 | erot = 2.17131439145906 | epot = -11.5653273196397 | etot = -8.3746230288521 +816000 ekin = 1.02641070196203 | erot = 2.03643247736796 | epot = -11.4374662076766 | etot = -8.37462302834664 +817000 ekin = 1.04210163742137 | erot = 1.91741411154925 | epot = -11.3341387769838 | etot = -8.37462302801323 +818000 ekin = 1.06685452880261 | erot = 1.81892194074613 | epot = -11.2603994973349 | etot = -8.3746230277862 +819000 ekin = 1.10044073145319 | erot = 1.74396570054325 | epot = -11.2190294597782 | etot = -8.37462302778171 +820000 ekin = 1.14169134057103 | erot = 1.69367065620946 | epot = -11.2099850246983 | etot = -8.37462302791781 +821000 ekin = 1.18877552113715 | erot = 1.66758281680332 | epot = -11.2309813661274 | etot = -8.37462302818695 +822000 ekin = 1.23927394200174 | erot = 1.66378494636768 | epot = -11.2776819169462 | etot = -8.37462302857678 +823000 ekin = 1.29027861040395 | erot = 1.67905219550459 | epot = -11.3439538348575 | etot = -8.37462302894892 +824000 ekin = 1.33894050065628 | erot = 1.70948347744718 | epot = -11.4230470075674 | etot = -8.37462302946389 +825000 ekin = 1.3822050826929 | erot = 1.75044253327451 | epot = -11.5072706459431 | etot = -8.3746230299757 +826000 ekin = 1.41710294906386 | erot = 1.79708475162229 | epot = -11.5888107310971 | etot = -8.37462303041095 +827000 ekin = 1.4412724956138 | erot = 1.84518129440984 | epot = -11.6610768207222 | etot = -8.3746230306986 +828000 ekin = 1.45335409113255 | erot = 1.89178230943845 | epot = -11.7197594313595 | etot = -8.37462303078847 +829000 ekin = 1.45330184506794 | erot = 1.93565038624243 | epot = -11.7635752619764 | etot = -8.37462303066599 +830000 ekin = 1.44253588751545 | erot = 1.97732673247078 | epot = -11.7944856503443 | etot = -8.37462303035807 +831000 ekin = 1.42321719806458 | erot = 2.01836652042357 | epot = -11.8162067485564 | etot = -8.37462303006827 +832000 ekin = 1.39798324786665 | erot = 2.06093497414613 | epot = -11.8335412515971 | etot = -8.37462302958427 +833000 ekin = 1.37122558103672 | erot = 2.10801499205618 | epot = -11.8538636022591 | etot = -8.37462302916623 +834000 ekin = 1.347391573466 | erot = 2.16168408576612 | epot = -11.8836986881298 | etot = -8.37462302889773 +835000 ekin = 1.33033159139224 | erot = 2.22243990033192 | epot = -11.9273945205555 | etot = -8.37462302883135 +836000 ekin = 1.32279692351164 | erot = 2.28888168431024 | epot = -11.9863016368028 | etot = -8.37462302898088 +837000 ekin = 1.32614569947165 | erot = 2.35776552710305 | epot = -12.0585342558939 | etot = -8.37462302931917 +838000 ekin = 1.34030084314995 | erot = 2.42442328374081 | epot = -12.139347156672 | etot = -8.37462302978121 +839000 ekin = 1.36395770574655 | erot = 2.48350186339417 | epot = -12.2220825994143 | etot = -8.37462303027354 +840000 ekin = 1.39499323418974 | erot = 2.52993036126987 | epot = -12.2995466261511 | etot = -8.37462303069152 +841000 ekin = 1.43098519527422 | erot = 2.5599379691956 | epot = -12.3655461954166 | etot = -8.37462303094678 +842000 ekin = 1.46971603977216 | erot = 2.57185321605216 | epot = -12.416192286821 | etot = -8.37462303099667 +843000 ekin = 1.50953312207128 | erot = 2.56639824292026 | epot = -12.4505543958523 | etot = -8.37462303086072 +844000 ekin = 1.54948222761285 | erot = 2.54631968029351 | epot = -12.4704249385206 | etot = -8.37462303061426 +845000 ekin = 1.58921446593512 | erot = 2.51544731884043 | epot = -12.4792848151338 | etot = -8.37462303035821 +846000 ekin = 1.62874660077506 | erot = 2.47751369447731 | epot = -12.4808833254336 | etot = -8.37462303018124 +847000 ekin = 1.66818957259095 | erot = 2.43516936581845 | epot = -12.4779819685369 | etot = -8.37462303012748 +848000 ekin = 1.70754173435641 | erot = 2.38953851006948 | epot = -12.4717032746117 | etot = -8.37462303018578 +849000 ekin = 1.74659403310612 | erot = 2.34043091651457 | epot = -12.4616479799223 | etot = -8.37462303030163 +850000 ekin = 1.78494345870356 | erot = 2.28706007035913 | epot = -12.4466265594671 | etot = -8.37462303040443 +851000 ekin = 1.82207688731629 | erot = 2.228914200592 | epot = -12.42561411835 | etot = -8.3746230304417 +852000 ekin = 1.85747606631012 | erot = 2.16637383860093 | epot = -12.3984729353117 | etot = -8.37462303040065 +853000 ekin = 1.89070501220074 | erot = 2.10080168930645 | epot = -12.3661297318176 | etot = -8.37462303031038 +854000 ekin = 1.9214659858435 | erot = 2.03409194229 | epot = -12.3301809583572 | etot = -8.37462303022366 +855000 ekin = 1.94963553793794 | erot = 1.96792069984453 | epot = -12.2921792679713 | etot = -8.37462303018887 +856000 ekin = 1.97530408458121 | erot = 1.90306034558465 | epot = -12.2529874603915 | etot = -8.37462303022566 +857000 ekin = 1.99898235180446 | erot = 1.83954776706262 | epot = -12.2131531489303 | etot = -8.37462303006319 +858000 ekin = 2.02148966900432 | erot = 1.77712472332923 | epot = -12.1732374225549 | etot = -8.37462303022136 +859000 ekin = 2.0433298482171 | erot = 1.71372610051619 | epot = -12.1316789790703 | etot = -8.37462303033704 +860000 ekin = 2.06530510870649 | erot = 1.64761266612194 | epot = -12.0875408051794 | etot = -8.37462303035096 +861000 ekin = 2.08844047530034 | erot = 1.57839130427194 | epot = -12.0414548098105 | etot = -8.37462303023818 +862000 ekin = 2.11372996883785 | erot = 1.50759861504335 | epot = -11.9959516139068 | etot = -8.37462303002562 +863000 ekin = 2.14175193685403 | erot = 1.43866072803281 | epot = -11.9550356946781 | etot = -8.37462302979131 +864000 ekin = 2.17225364148361 | erot = 1.37614575520133 | epot = -11.923022426322 | etot = -8.37462302963709 +865000 ekin = 2.20389689307595 | erot = 1.32450432851186 | epot = -11.9030242512271 | etot = -8.37462302963933 +866000 ekin = 2.23438769162011 | erot = 1.28681328074455 | epot = -11.8958240018387 | etot = -8.37462302947405 +867000 ekin = 2.26151301830529 | erot = 1.26501341503676 | epot = -11.9011494631015 | etot = -8.37462302975946 +868000 ekin = 2.28295312631386 | erot = 1.25876385672369 | epot = -11.9163400130151 | etot = -8.37462302997758 +869000 ekin = 2.29713139084229 | erot = 1.26636363804849 | epot = -11.9381180589386 | etot = -8.37462303004779 +870000 ekin = 2.30388454561698 | erot = 1.28638972777536 | epot = -11.9648973033815 | etot = -8.37462302998917 +871000 ekin = 2.30409365407575 | erot = 1.31787621263324 | epot = -11.9965928970681 | etot = -8.37462303035909 +872000 ekin = 2.29712455302405 | erot = 1.35930276714017 | epot = -12.0310503505215 | etot = -8.37462303035724 +873000 ekin = 2.28274539313174 | erot = 1.40846954678439 | epot = -12.0658379700283 | etot = -8.37462303011216 +874000 ekin = 2.26320703625639 | erot = 1.46277950106241 | epot = -12.1006095675436 | etot = -8.37462303022481 +875000 ekin = 2.24001634727781 | erot = 1.51889022328921 | epot = -12.1335296008602 | etot = -8.3746230302932 +876000 ekin = 2.21430830467358 | erot = 1.57348199616131 | epot = -12.1624133311162 | etot = -8.37462303028127 +877000 ekin = 2.18777848574912 | erot = 1.62389020162125 | epot = -12.186291717523 | etot = -8.37462303015259 +878000 ekin = 2.1625289754971 | erot = 1.6683879309175 | epot = -12.2055399364741 | etot = -8.37462303005945 +879000 ekin = 2.14044753724287 | erot = 1.70571411561398 | epot = -12.220784682854 | etot = -8.37462302999713 +880000 ekin = 2.12277471005516 | erot = 1.7346996712217 | epot = -12.2320974113065 | etot = -8.37462303002968 +881000 ekin = 2.10977467363156 | erot = 1.75399371448721 | epot = -12.2383914183077 | etot = -8.37462303018896 +882000 ekin = 2.10050164325684 | erot = 1.76187019273065 | epot = -12.2369948664373 | etot = -8.37462303044976 +883000 ekin = 2.09290867716185 | erot = 1.75649694683761 | epot = -12.2240286547192 | etot = -8.37462303071974 +884000 ekin = 2.08433703648905 | erot = 1.7367150045413 | epot = -12.1956750719427 | etot = -8.37462303091231 +885000 ekin = 2.07202901576595 | erot = 1.7028259206429 | epot = -12.1494779673696 | etot = -8.37462303096077 +886000 ekin = 2.05378411495457 | erot = 1.6566047646792 | epot = -12.085011910272 | etot = -8.37462303063819 +887000 ekin = 2.02874297424939 | erot = 1.60297409536587 | epot = -12.0063400996892 | etot = -8.37462303007394 +888000 ekin = 1.99720256587183 | erot = 1.54912086819091 | epot = -11.9209464635251 | etot = -8.37462302946235 +889000 ekin = 1.95913963740047 | erot = 1.50198702363197 | epot = -11.8357496899597 | etot = -8.37462302892728 +890000 ekin = 1.91617614846425 | erot = 1.46746689319387 | epot = -11.7582660701973 | etot = -8.37462302853923 +891000 ekin = 1.87023137420534 | erot = 1.44931992803353 | epot = -11.6941743305672 | etot = -8.37462302832828 +892000 ekin = 1.82316218739014 | erot = 1.44889048221078 | epot = -11.6466756978758 | etot = -8.37462302827483 +893000 ekin = 1.77672781689597 | erot = 1.46538080237729 | epot = -11.6167316476053 | etot = -8.37462302833208 +894000 ekin = 1.73267401011555 | erot = 1.49642015516969 | epot = -11.6037171937257 | etot = -8.37462302844046 +895000 ekin = 1.6928761544742 | erot = 1.53876375532456 | epot = -11.6062629383404 | etot = -8.3746230285416 +896000 ekin = 1.65946528813143 | erot = 1.58897281247465 | epot = -11.623061129204 | etot = -8.3746230285979 +897000 ekin = 1.63484229164664 | erot = 1.64389812669818 | epot = -11.6533634469444 | etot = -8.37462302859954 +898000 ekin = 1.62150447332881 | erot = 1.70104293739242 | epot = -11.6971704392952 | etot = -8.374623028574 +899000 ekin = 1.6216839414652 | erot = 1.75850368933565 | epot = -11.754810659374 | etot = -8.37462302857311 +900000 ekin = 1.63689346404105 | erot = 1.81470313435645 | epot = -11.8262196270434 | etot = -8.37462302864591 +901000 ekin = 1.6675338774235 | erot = 1.86808611512452 | epot = -11.9102430213676 | etot = -8.37462302881957 +902000 ekin = 1.71269692237727 | erot = 1.91693084831131 | epot = -12.0042507997782 | etot = -8.3746230290896 +903000 ekin = 1.77021838508048 | erot = 1.9593405098069 | epot = -12.1041819243172 | etot = -8.37462302942986 +904000 ekin = 1.83694819296679 | erot = 1.9934131207578 | epot = -12.2049843435093 | etot = -8.37462302978473 +905000 ekin = 1.9091464165457 | erot = 2.01754527640836 | epot = -12.3013147230679 | etot = -8.37462303011389 +906000 ekin = 1.98289589689518 | erot = 2.03065122053356 | epot = -12.3881701478152 | etot = -8.37462303038642 +907000 ekin = 2.0544387792582 | erot = 2.03228127519948 | epot = -12.4613430850491 | etot = -8.37462303059146 +908000 ekin = 2.12038320008435 | erot = 2.02259637573229 | epot = -12.5176026065511 | etot = -8.37462303073442 +909000 ekin = 2.17777472068537 | erot = 2.00223868776878 | epot = -12.554636439284 | etot = -8.37462303082986 +910000 ekin = 2.22407231391338 | erot = 1.9721845909131 | epot = -12.5708799357147 | etot = -8.37462303088825 +911000 ekin = 2.25709881234482 | erot = 1.93367043928136 | epot = -12.5653922825338 | etot = -8.37462303090759 +912000 ekin = 2.27504055969691 | erot = 1.88824345128016 | epot = -12.5379070418475 | etot = -8.37462303087045 +913000 ekin = 2.27654326620465 | erot = 1.83792322952128 | epot = -12.489089526477 | etot = -8.3746230307511 +914000 ekin = 2.26395838710281 | erot = 1.78540897808978 | epot = -12.4239903948688 | etot = -8.37462302967619 +915000 ekin = 2.2404546891426 | erot = 1.73372810073202 | epot = -12.3488058193935 | etot = -8.37462302951889 +916000 ekin = 2.20520370203194 | erot = 1.68615105201165 | epot = -12.2659777833575 | etot = -8.37462302931391 +917000 ekin = 2.15800582906335 | erot = 1.64606783760092 | epot = -12.1786966957696 | etot = -8.37462302910529 +918000 ekin = 2.09921834410539 | erot = 1.61647797763549 | epot = -12.0903193506726 | etot = -8.37462302893175 +919000 ekin = 2.02966476141014 | erot = 1.59954949783084 | epot = -12.0038372880469 | etot = -8.3746230288059 +920000 ekin = 1.95065755947246 | erot = 1.59642144858295 | epot = -11.9217020368539 | etot = -8.37462302879853 +921000 ekin = 1.8636620064885 | erot = 1.60750866082269 | epot = -11.8457936959448 | etot = -8.37462302863366 +922000 ekin = 1.77152243883442 | erot = 1.63263587423585 | epot = -11.7787813414987 | etot = -8.3746230284284 +923000 ekin = 1.67869484031726 | erot = 1.67111175336598 | epot = -11.7244296218725 | etot = -8.37462302818924 +924000 ekin = 1.59024537020744 | erot = 1.72202288866753 | epot = -11.6868912868401 | etot = -8.37462302796509 +925000 ekin = 1.51123937037388 | erot = 1.78411652413432 | epot = -11.6699789223347 | etot = -8.37462302782654 +926000 ekin = 1.44599317765939 | erot = 1.85554834410282 | epot = -11.6761645495869 | etot = -8.37462302782471 +927000 ekin = 1.39752558603051 | erot = 1.9337066123923 | epot = -11.7058552263851 | etot = -8.37462302796227 +928000 ekin = 1.36763823811589 | erot = 2.01538770685265 | epot = -11.7576489728592 | etot = -8.37462302789061 +929000 ekin = 1.36100399985385 | erot = 2.09737818243304 | epot = -11.8330052107535 | etot = -8.37462302846664 +930000 ekin = 1.35523134973969 | erot = 2.17722433888997 | epot = -11.9070787110181 | etot = -8.37462302238848 +931000 ekin = 1.39431469293821 | erot = 2.25435620443639 | epot = -12.0232939189487 | etot = -8.37462302157406 +932000 ekin = 1.49280866700354 | erot = 2.31847930199535 | epot = -12.1859109889732 | etot = -8.37462301997432 +933000 ekin = 1.58533340940733 | erot = 2.36490000063033 | epot = -12.3248564302632 | etot = -8.37462302022554 +934000 ekin = 1.6869071209185 | erot = 2.39298221172759 | epot = -12.4545123552844 | etot = -8.37462302263832 +935000 ekin = 1.78473836456431 | erot = 2.39676204063713 | epot = -12.5561234284098 | etot = -8.37462302320837 +936000 ekin = 1.86987725379427 | erot = 2.37258693735196 | epot = -12.6170872146559 | etot = -8.37462302350971 +937000 ekin = 1.93720452631658 | erot = 2.32043568375497 | epot = -12.6322632335806 | etot = -8.37462302350909 +938000 ekin = 1.98385208904068 | erot = 2.24266190734032 | epot = -12.6011370196061 | etot = -8.37462302322507 +939000 ekin = 2.00910923701481 | erot = 2.14379034932402 | epot = -12.5275226090719 | etot = -8.37462302273311 +940000 ekin = 2.01395507287334 | erot = 2.02993348653353 | epot = -12.418511581502 | etot = -8.37462302209516 +941000 ekin = 2.00103743451128 | erot = 1.90808629517054 | epot = -12.2837467510605 | etot = -8.37462302137871 +942000 ekin = 1.97419824311637 | erot = 1.78546116622027 | epot = -12.1342824299796 | etot = -8.37462302064296 +943000 ekin = 1.93808318012258 | erot = 1.66892069893474 | epot = -11.9816268989915 | etot = -8.37462301993416 +944000 ekin = 1.89777663363129 | erot = 1.56456198515432 | epot = -11.8369616380752 | etot = -8.37462301928957 +945000 ekin = 1.8584360574195 | erot = 1.4774221417799 | epot = -11.7104812179438 | etot = -8.3746230187444 +946000 ekin = 1.82491092903916 | erot = 1.4112458813268 | epot = -11.6107798287017 | etot = -8.3746230183357 +947000 ekin = 1.80134221891273 | erot = 1.36826076777987 | epot = -11.544226004796 | etot = -8.37462301810342 +948000 ekin = 1.79076227761391 | erot = 1.34894522657999 | epot = -11.514330522277 | etot = -8.37462301808307 +949000 ekin = 1.79475359827847 | erot = 1.35184135985215 | epot = -11.5212179764226 | etot = -8.37462301829198 +950000 ekin = 1.81326202056042 | erot = 1.37352812800741 | epot = -11.5614131672793 | etot = -8.37462301871149 +951000 ekin = 1.84466122234651 | erot = 1.40888082072085 | epot = -11.6281650623473 | etot = -8.37462301927996 +952000 ekin = 1.88610598522676 | erot = 1.45166996303417 | epot = -11.7123989681623 | etot = -8.37462301990139 +953000 ekin = 1.934156262123 | erot = 1.49545802204409 | epot = -11.8042373044958 | etot = -8.3746230203287 +954000 ekin = 1.98570845877452 | erot = 1.53486140745232 | epot = -11.8951928869974 | etot = -8.37462302077055 +955000 ekin = 2.03763688301833 | erot = 1.56575119860864 | epot = -11.9780111026545 | etot = -8.37462302102751 +956000 ekin = 2.08752516851332 | erot = 1.58576425984886 | epot = -12.0479124494575 | etot = -8.3746230210953 +957000 ekin = 2.13388693711082 | erot = 1.59443657070954 | epot = -12.1029465288261 | etot = -8.37462302100571 +958000 ekin = 2.17603134876119 | erot = 1.59291217732942 | epot = -12.1435665469034 | etot = -8.37462302081277 +959000 ekin = 2.21381255039447 | erot = 1.58343493097992 | epot = -12.1718705019502 | etot = -8.37462302057581 +960000 ekin = 2.24735101958393 | erot = 1.56876603519003 | epot = -12.1907400751222 | etot = -8.37462302034826 +961000 ekin = 2.27678636586191 | erot = 1.55164507315893 | epot = -12.2030544591906 | etot = -8.37462302016977 +962000 ekin = 2.30208813281834 | erot = 1.53436606864973 | epot = -12.2110772215359 | etot = -8.3746230200678 +963000 ekin = 2.32292955592992 | erot = 1.51849868392629 | epot = -12.216051259911 | etot = -8.37462302005475 +964000 ekin = 2.33862421271349 | erot = 1.50476151871897 | epot = -12.2180087515615 | etot = -8.37462302012903 +965000 ekin = 2.34813222218501 | erot = 1.49304783088655 | epot = -12.2158030733455 | etot = -8.37462302027398 +966000 ekin = 2.35015122859632 | erot = 1.48260237415612 | epot = -12.2073766232095 | etot = -8.37462302045703 +967000 ekin = 2.34330726073581 | erot = 1.47233774694663 | epot = -12.1902680283141 | etot = -8.37462302063161 +968000 ekin = 2.32644504723609 | erot = 1.4612521262929 | epot = -12.1623201942732 | etot = -8.3746230207442 +969000 ekin = 2.298987719283 | erot = 1.44887277461076 | epot = -12.1224835146385 | etot = -8.37462302074475 +970000 ekin = 2.26130276222912 | erot = 1.43562016618933 | epot = -12.0715459490187 | etot = -8.37462302060021 +971000 ekin = 2.21499063344576 | erot = 1.42298879008891 | epot = -12.0126024438385 | etot = -8.37462302030381 +972000 ekin = 2.16303757459317 | erot = 1.413484724074 | epot = -11.9511453184525 | etot = -8.37462301978536 +973000 ekin = 2.10950969279595 | erot = 1.41039391552952 | epot = -11.8945266279348 | etot = -8.37462301960932 +974000 ekin = 2.05703199423842 | erot = 1.417325038755 | epot = -11.8489800521527 | etot = -8.37462301915926 +975000 ekin = 2.01010390576686 | erot = 1.43732066925471 | epot = -11.8220475937773 | etot = -8.37462301875575 +976000 ekin = 1.97340114976942 | erot = 1.4726138540038 | epot = -11.820638022252 | etot = -8.37462301847879 +977000 ekin = 1.95082006441383 | erot = 1.52416835989321 | epot = -11.8496114427088 | etot = -8.37462301840173 +978000 ekin = 1.94472832265077 | erot = 1.59131019464789 | epot = -11.9106615358753 | etot = -8.3746230185766 +979000 ekin = 1.95538713562964 | erot = 1.67153495876314 | epot = -12.0015451134109 | etot = -8.37462301901814 +980000 ekin = 1.98067723854538 | erot = 1.76051368581332 | epot = -12.1158139441448 | etot = -8.37462301978612 +981000 ekin = 2.0157957191225 | erot = 1.85207319544778 | epot = -12.2424919352215 | etot = -8.37462302065118 +982000 ekin = 2.05441082025382 | erot = 1.93952253760915 | epot = -12.3685563793656 | etot = -8.37462302150267 +983000 ekin = 2.08992138423356 | erot = 2.0167128031244 | epot = -12.4812572095418 | etot = -8.37462302218386 +984000 ekin = 2.11656909805995 | erot = 2.0791069697044 | epot = -12.5702990903412 | etot = -8.37462302257681 +985000 ekin = 2.13033501087735 | erot = 2.12464764348882 | epot = -12.6296056770033 | etot = -8.37462302263715 +986000 ekin = 2.12935596235087 | erot = 2.15403431726419 | epot = -12.6580133020188 | etot = -8.37462302240378 +987000 ekin = 2.11471923976004 | erot = 2.17104098415556 | epot = -12.6603832458026 | etot = -8.37462302188695 +988000 ekin = 2.0911973509168 | erot = 2.18228698931119 | epot = -12.648107361857 | etot = -8.37462302162897 +989000 ekin = 2.06027968793927 | erot = 2.19075462083259 | epot = -12.6256573301712 | etot = -8.37462302139929 +990000 ekin = 2.02336255783948 | erot = 2.19843813689039 | epot = -12.5964237159713 | etot = -8.3746230212414 +991000 ekin = 1.98188077464448 | erot = 2.20638055721807 | epot = -12.5628843530207 | etot = -8.37462302115815 +992000 ekin = 1.9371574969609 | erot = 2.21473069770544 | epot = -12.526511215791 | etot = -8.37462302112469 +993000 ekin = 1.89038311214042 | erot = 2.22307759882966 | epot = -12.4880837320782 | etot = -8.37462302110816 +994000 ekin = 1.84266575145737 | erot = 2.23084817714076 | epot = -12.4481369496809 | etot = -8.37462302108277 +995000 ekin = 1.79502825855483 | erot = 2.23761066004422 | epot = -12.4072619396231 | etot = -8.37462302102401 +996000 ekin = 1.74865820363213 | erot = 2.24323231093978 | epot = -12.3665135355147 | etot = -8.37462302094276 +997000 ekin = 1.70508150024523 | erot = 2.24765365397734 | epot = -12.3273581750827 | etot = -8.37462302086018 +998000 ekin = 1.66588125251577 | erot = 2.25078611342452 | epot = -12.2912903867191 | etot = -8.37462302077885 +999000 ekin = 1.63259998377321 | erot = 2.25262768597372 | epot = -12.2598506904229 | etot = -8.37462302067593 +1000000 ekin = 1.60661879884278 | erot = 2.25373528621647 | epot = -12.2349771056213 | etot = -8.37462302056205 + 1000000 0.1190088 -1.3493654 0.12586767 -1.0628358 0.00017426596 64000 +Loop time of 13.0812 on 4 procs for 1000000 steps with 10 atoms + +Performance: 66048.962 tau/day, 76445.558 timesteps/s +99.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 | 3.0631 | 4.6538 | 7.2171 | 72.4 | 35.58 +Bond | 0.17909 | 0.26012 | 0.34382 | 11.7 | 1.99 +Neigh | 0.005471 | 0.005514 | 0.005554 | 0.0 | 0.04 +Comm | 3.0767 | 5.9677 | 7.5973 | 70.7 | 45.62 +Output | 0.072802 | 0.075774 | 0.080905 | 1.1 | 0.58 +Modify | 0.5268 | 0.6169 | 0.72175 | 11.4 | 4.72 +Other | | 1.501 | | | 11.48 + +Nlocal: 2.50000 ave 3 max 2 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Nghost: 7.50000 ave 8 max 7 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Neighs: 9.25000 ave 15 max 2 min +Histogram: 1 0 0 0 1 0 0 1 0 1 + +Total # of neighbors = 37 +Ave neighs/atom = 3.7000000 +Ave special neighs/atom = 3.6000000 +Neighbor list builds = 1000 +Dangerous builds = 0 + +write_data last_config.${number}.* nocoeff +write_data last_config.1.* nocoeff +System init for write_data ... +#write_restart last_config.${number}.* +Total wall time: 0:00:13 diff --git a/examples/PACKAGES/cgdna/examples/oxDNA2/duplex2/in.duplex2 b/examples/PACKAGES/cgdna/examples/oxDNA2/duplex2/in.duplex2 index b43ce6fd15..b57d5f09c1 100644 --- a/examples/PACKAGES/cgdna/examples/oxDNA2/duplex2/in.duplex2 +++ b/examples/PACKAGES/cgdna/examples/oxDNA2/duplex2/in.duplex2 @@ -8,7 +8,7 @@ units lj dimension 3 -newton off +newton on boundary p p p @@ -69,3 +69,4 @@ dump_modify out format line "%d %d %d %22.15le %22.15le %22.15le %d %d %d %22 run 1000000 write_data last_config.${number}.* nocoeff +#write_restart last_config.${number}.* diff --git a/examples/PACKAGES/cgdna/examples/oxDNA2/duplex2/log.27May21.duplex2.g++.1 b/examples/PACKAGES/cgdna/examples/oxDNA2/duplex2/log.27May21.duplex2.g++.1 deleted file mode 100644 index 6ad31311d6..0000000000 --- a/examples/PACKAGES/cgdna/examples/oxDNA2/duplex2/log.27May21.duplex2.g++.1 +++ /dev/null @@ -1,1182 +0,0 @@ -LAMMPS (27 May 2021) -variable number equal 2 -variable ofreq equal 1000 -variable efreq equal 1000 -variable T equal 0.1 -variable rhos equal 0.2 - -units lj - -dimension 3 - -newton off - -boundary p p p - -atom_style hybrid bond ellipsoid oxdna -WARNING: Atom style hybrid defines both, per-type and per-atom masses; both must be set, but only per-atom masses will be used (../atom_vec_hybrid.cpp:157) -atom_modify sort 0 1.0 - -# Pair interactions require lists of neighbours to be calculated -neighbor 2.0 bin -neigh_modify every 1 delay 0 check yes - -read_data data.duplex2 -Reading data file ... - orthogonal box = (-20.000000 -20.000000 -20.000000) to (20.000000 20.000000 20.000000) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 16 atoms - reading velocities ... - 16 velocities - scanning bonds ... - 2 = max bonds/atom - 16 ellipsoids - reading bonds ... - 13 bonds -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 - 2 = max # of 1-3 neighbors - 4 = max # of 1-4 neighbors - 6 = max # of special neighbors - special bonds CPU = 0.000 seconds - read_data CPU = 0.003 seconds - -set atom * mass 3.1575 -Setting atom values ... - 16 settings made for mass - -group all type 1 4 -16 atoms in group all - -# oxDNA2 bond interactions - FENE backbone -bond_style oxdna2/fene -bond_coeff * 2.0 0.25 0.7564 -special_bonds lj 0 1 1 -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 1 1 - special bond factors coul: 0 0 0 - 2 = max # of 1-2 neighbors - 2 = max # of 1-3 neighbors - 4 = max # of 1-4 neighbors - 6 = max # of special neighbors - special bonds CPU = 0.000 seconds - -# oxDNA2 pair interactions -pair_style hybrid/overlay oxdna2/excv oxdna2/stk oxdna2/hbond oxdna2/xstk oxdna2/coaxstk oxdna2/dh -pair_coeff * * oxdna2/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32 -pair_coeff * * oxdna2/stk seqav ${T} 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 -pair_coeff * * oxdna2/stk seqav 0.1 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 -pair_coeff * * oxdna2/hbond seqav 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 1 4 oxdna2/hbond seqav 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 2 3 oxdna2/hbond seqav 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff * * oxdna2/xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68 -pair_coeff * * oxdna2/coaxstk 58.5 0.4 0.6 0.22 0.58 2.0 2.891592653589793 0.65 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 40.0 3.116592653589793 -pair_coeff * * oxdna2/dh ${T} ${rhos} 0.815 -pair_coeff * * oxdna2/dh 0.1 ${rhos} 0.815 -pair_coeff * * oxdna2/dh 0.1 0.2 0.815 - -# NVE ensemble -fix 1 all nve/asphere -fix 2 all langevin ${T} ${T} 2.5 457145 angmom 10 -fix 2 all langevin 0.1 ${T} 2.5 457145 angmom 10 -fix 2 all langevin 0.1 0.1 2.5 457145 angmom 10 - -timestep 1e-5 - -#comm_style tiled -fix 3 all balance 1000 1.03 shift xyz 10 1.03 -comm_modify cutoff 3.8 - -compute quat all property/atom quatw quati quatj quatk - -compute erot all erotate/asphere -compute ekin all ke -compute epot all pe -variable erot equal c_erot -variable ekin equal c_ekin -variable epot equal c_epot -variable etot equal c_erot+c_ekin+c_epot -fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes -fix 5 all print 1000 "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes - -dump out all custom ${ofreq} out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz -dump out all custom 1000 out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz -dump out all custom 1000 out.2.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz -dump_modify out sort id -dump_modify out format line "%d %d %d %22.15le %22.15le %22.15le %d %d %d %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le" - -run 1000000 -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 5.6389877 - ghost atom cutoff = 5.6389877 - binsize = 2.8194939, bins = 15 15 15 - 5 neighbor lists, perpetual/occasional/extra = 5 0 0 - (1) pair oxdna2/excv, perpetual - attributes: half, newton off - pair build: half/bin/newtoff - stencil: full/bin/3d - bin: standard - (2) pair oxdna2/hbond, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (3) pair oxdna2/xstk, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (4) pair oxdna2/coaxstk, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (5) pair oxdna2/dh, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none -WARNING: Communication cutoff adjusted to 5.638987723814632 (../comm.cpp:739) -0 ekin = 2.70475393009871 | erot = 2.80172072918779 | epot = -21.0482852787267 | etot = -15.5418106194402 -Per MPI rank memory allocation (min/avg/max) = 9.575 | 9.575 | 9.575 Mbytes -Step Temp E_pair E_mol TotEng Press Volume - 0 0.12021129 -1.3610384 0.045520537 -1.1464707 5.9660461e-05 64000 -1000 ekin = 2.70391570439002 | erot = 2.60396138194761 | epot = -20.892587006041 | etot = -15.5847099197034 -2000 ekin = 2.64635320949975 | erot = 2.53579824187029 | epot = -20.7791695875995 | etot = -15.5970181362294 -3000 ekin = 2.69752120400807 | erot = 2.55180306746824 | epot = -20.7137659040141 | etot = -15.4644416325378 -4000 ekin = 2.65388214447351 | erot = 2.47641299322464 | epot = -20.6794119976431 | etot = -15.5491168599449 -5000 ekin = 2.60025466050757 | erot = 2.2039059393524 | epot = -20.6560408696723 | etot = -15.8518802698123 -6000 ekin = 2.46901398821907 | erot = 2.47310200487733 | epot = -20.6350989412901 | etot = -15.6929829481937 -7000 ekin = 2.51574664182367 | erot = 2.31213437386206 | epot = -20.6631357493118 | etot = -15.8352547336261 -8000 ekin = 2.59690047628267 | erot = 2.32317845363663 | epot = -20.7152959922884 | etot = -15.7952170623691 -9000 ekin = 2.48618631858408 | erot = 2.08285633125494 | epot = -20.7950725844518 | etot = -16.2260299346128 -10000 ekin = 2.52115116499233 | erot = 2.20106084795614 | epot = -20.8992442032707 | etot = -16.1770321903222 -11000 ekin = 2.43147539619194 | erot = 2.4292761978595 | epot = -21.0249867006789 | etot = -16.1642351066275 -12000 ekin = 2.45333761568576 | erot = 2.52560307161098 | epot = -21.1588492672088 | etot = -16.179908579912 -13000 ekin = 2.53951720462344 | erot = 2.7465487700648 | epot = -21.2655112796489 | etot = -15.9794453049607 -14000 ekin = 2.5287482301222 | erot = 3.01239544645659 | epot = -21.3374765197331 | etot = -15.7963328431543 -15000 ekin = 2.63126849733546 | erot = 2.75804260501315 | epot = -21.3622375137172 | etot = -15.9729264113686 -16000 ekin = 2.53351081020597 | erot = 2.9515240146865 | epot = -21.3358982910483 | etot = -15.8508634661558 -17000 ekin = 2.57894891181708 | erot = 3.20567182477319 | epot = -21.2708322188655 | etot = -15.4862114822752 -18000 ekin = 2.48912656009911 | erot = 3.30514421758695 | epot = -21.1854964687721 | etot = -15.391225691086 -19000 ekin = 2.54963746369468 | erot = 3.12775559702552 | epot = -21.0796045258341 | etot = -15.4022114651139 -20000 ekin = 2.70343028147054 | erot = 3.48245634539085 | epot = -20.9620878080506 | etot = -14.7762011811892 -21000 ekin = 2.74008375980767 | erot = 3.49340976649893 | epot = -20.8605728519254 | etot = -14.6270793256188 -22000 ekin = 2.70619491966173 | erot = 3.39094503970526 | epot = -20.7832212738353 | etot = -14.6860813144683 -23000 ekin = 2.76977571935376 | erot = 2.96919161110174 | epot = -20.7244407619743 | etot = -14.9854734315188 -24000 ekin = 2.70661582607977 | erot = 2.7368811231863 | epot = -20.7053645378039 | etot = -15.2618675885378 -25000 ekin = 2.68754636497152 | erot = 2.61416599169544 | epot = -20.7064779461664 | etot = -15.4047655894994 -26000 ekin = 2.73235500408335 | erot = 2.73313459064972 | epot = -20.7277379348113 | etot = -15.2622483400782 -27000 ekin = 2.80776243953875 | erot = 2.57060961199333 | epot = -20.7536767854922 | etot = -15.3753047339601 -28000 ekin = 2.72026602469303 | erot = 2.48773762184112 | epot = -20.7972439765033 | etot = -15.5892403299692 -29000 ekin = 2.74993250614267 | erot = 2.43620019541717 | epot = -20.8845224755542 | etot = -15.6983897739944 -30000 ekin = 2.84727011110436 | erot = 2.55872515142542 | epot = -21.0029391367955 | etot = -15.5969438742657 -31000 ekin = 2.9373105145775 | erot = 2.68538653493624 | epot = -21.1441658724037 | etot = -15.52146882289 -32000 ekin = 3.11483472271262 | erot = 2.71833221771893 | epot = -21.3009630690853 | etot = -15.4677961286538 -33000 ekin = 3.420156896237 | erot = 3.01186958829685 | epot = -21.4445354747606 | etot = -15.0125089902268 -34000 ekin = 3.45714970534467 | erot = 3.34699175671057 | epot = -21.5750227937594 | etot = -14.7708813317042 -35000 ekin = 3.49497749393847 | erot = 3.14001434352622 | epot = -21.6604994386104 | etot = -15.0255076011457 -36000 ekin = 3.47204675153368 | erot = 2.84774400732499 | epot = -21.6891867301233 | etot = -15.3693959712647 -37000 ekin = 3.44180301616541 | erot = 2.56259280720522 | epot = -21.6709924941778 | etot = -15.6665966708072 -38000 ekin = 3.54821034228961 | erot = 2.44212751582542 | epot = -21.6265094810359 | etot = -15.6361716229209 -39000 ekin = 3.46871818671425 | erot = 2.3996020823067 | epot = -21.5379795382886 | etot = -15.6696592692677 -40000 ekin = 3.39697091933587 | erot = 2.06928828303179 | epot = -21.4180869184494 | etot = -15.9518277160818 -41000 ekin = 3.34648089211933 | erot = 2.10977053447765 | epot = -21.3088504303423 | etot = -15.8525990037453 -42000 ekin = 3.14017175730779 | erot = 2.61712762297441 | epot = -21.2075302208962 | etot = -15.450230840614 -43000 ekin = 3.05412713054855 | erot = 2.16422672116185 | epot = -21.1026514185808 | etot = -15.8842975668704 -44000 ekin = 2.8563652549228 | erot = 2.23456154398499 | epot = -21.0187138708968 | etot = -15.9277870719891 -45000 ekin = 2.71017763793129 | erot = 2.20442798009884 | epot = -20.9688571562277 | etot = -16.0542515381976 -46000 ekin = 2.80228666966602 | erot = 2.36912065742281 | epot = -20.9221917036258 | etot = -15.750784376537 -47000 ekin = 2.68398029783771 | erot = 2.30787382180577 | epot = -20.9147956898556 | etot = -15.9229415702121 -48000 ekin = 2.60361639221637 | erot = 2.16759706121354 | epot = -20.9378819526189 | etot = -16.166668499189 -49000 ekin = 2.6987952733265 | erot = 1.95331370371641 | epot = -20.9793801292351 | etot = -16.3272711521922 -50000 ekin = 2.78297818082632 | erot = 1.73866705563713 | epot = -21.0239873291857 | etot = -16.5023420927222 -51000 ekin = 2.79226298145989 | erot = 1.75750015205397 | epot = -21.0591817365135 | etot = -16.5094186029997 -52000 ekin = 2.93778678358835 | erot = 2.05248025310421 | epot = -21.1000263829064 | etot = -16.1097593462138 -53000 ekin = 2.93047021956224 | erot = 2.21318598351598 | epot = -21.1408129057595 | etot = -15.9971567026813 -54000 ekin = 2.95313738597265 | erot = 2.20797346738785 | epot = -21.1830307851602 | etot = -16.0219199317997 -55000 ekin = 2.98703149924487 | erot = 2.36965734625004 | epot = -21.2448833674046 | etot = -15.8881945219097 -56000 ekin = 2.9918847626884 | erot = 2.35374933057426 | epot = -21.3017374555429 | etot = -15.9561033622802 -57000 ekin = 3.04248410594257 | erot = 2.10923890188225 | epot = -21.3362725295755 | etot = -16.1845495217507 -58000 ekin = 2.98235297495945 | erot = 2.13409247728306 | epot = -21.3593231655096 | etot = -16.2428777132671 -59000 ekin = 2.91016949839304 | erot = 2.36822905479349 | epot = -21.3622398255745 | etot = -16.083841272388 -60000 ekin = 2.9725077920235 | erot = 2.54263250726515 | epot = -21.3342690818058 | etot = -15.8191287825172 -61000 ekin = 2.96790668494255 | erot = 2.48996902731659 | epot = -21.2724803895844 | etot = -15.8146046773253 -62000 ekin = 2.94610606099054 | erot = 2.18201665175963 | epot = -21.1879194614352 | etot = -16.059796748685 -63000 ekin = 3.02712147052615 | erot = 2.16093889178585 | epot = -21.0966584891443 | etot = -15.9085981268323 -64000 ekin = 3.20886369209217 | erot = 2.0693144064006 | epot = -21.0569971647534 | etot = -15.7788190662607 -65000 ekin = 3.22349334555756 | erot = 1.93510092297445 | epot = -21.0349289183421 | etot = -15.8763346498101 -66000 ekin = 3.10418207507132 | erot = 1.94339370515854 | epot = -21.0517453882432 | etot = -16.0041696080134 -67000 ekin = 3.12595764700021 | erot = 2.29857726165626 | epot = -21.1076206585503 | etot = -15.6830857498938 -68000 ekin = 2.99981867339099 | erot = 2.04147368191608 | epot = -21.1811986978272 | etot = -16.1399063425201 -69000 ekin = 2.93860333642774 | erot = 2.09583398354874 | epot = -21.2548061558297 | etot = -16.2203688358532 -70000 ekin = 2.94862796959938 | erot = 2.02427035214619 | epot = -21.3225756079774 | etot = -16.3496772862319 -71000 ekin = 2.95485075626802 | erot = 1.9804675253528 | epot = -21.3931478839353 | etot = -16.4578296023144 -72000 ekin = 3.03083521870645 | erot = 1.64033628981966 | epot = -21.4680680893692 | etot = -16.7968965808431 -73000 ekin = 3.20193349232362 | erot = 1.82676041495793 | epot = -21.5301957695024 | etot = -16.5015018622209 -74000 ekin = 3.22662444253097 | erot = 1.89227240506012 | epot = -21.5643738418553 | etot = -16.4454769942643 -75000 ekin = 3.28911018830876 | erot = 1.89872323449654 | epot = -21.5810306648804 | etot = -16.3931972420751 -76000 ekin = 3.29558374515735 | erot = 1.87444557500023 | epot = -21.5642338211322 | etot = -16.3942045009746 -77000 ekin = 3.54018909072077 | erot = 1.7572907653699 | epot = -21.5044360245146 | etot = -16.2069561684239 -78000 ekin = 3.54291076978584 | erot = 1.76974361090017 | epot = -21.4006101697986 | etot = -16.0879557891126 -79000 ekin = 3.54987455874813 | erot = 1.91515152695035 | epot = -21.2526696681999 | etot = -15.7876435825014 -80000 ekin = 3.44554692397026 | erot = 1.55785077520353 | epot = -21.1041761178578 | etot = -16.1007784186841 -81000 ekin = 3.39041332539999 | erot = 1.45777024027671 | epot = -20.9764951390215 | etot = -16.1283115733448 -82000 ekin = 3.28164787796649 | erot = 1.38380348431298 | epot = -20.899509162344 | etot = -16.2340578000645 -83000 ekin = 3.2711994674637 | erot = 1.61635220758894 | epot = -20.8682969771062 | etot = -15.9807453020535 -84000 ekin = 3.23767018514766 | erot = 1.58136727778769 | epot = -20.8558733748386 | etot = -16.0368359119032 -85000 ekin = 3.19513864200051 | erot = 1.64319108858878 | epot = -20.8419968518708 | etot = -16.0036671212815 -86000 ekin = 3.24896357270191 | erot = 1.89522046055132 | epot = -20.8328066333251 | etot = -15.6886226000718 -87000 ekin = 3.13174021654818 | erot = 1.94306423894154 | epot = -20.8481262288119 | etot = -15.7733217733222 -88000 ekin = 3.11122085279112 | erot = 1.78724048339194 | epot = -20.9059531901009 | etot = -16.0074918539178 -89000 ekin = 3.08381661724967 | erot = 1.63584870500638 | epot = -20.9715808309548 | etot = -16.2519155086988 -90000 ekin = 3.20313125753904 | erot = 1.94895881894576 | epot = -21.0671915523153 | etot = -15.9151014758305 -91000 ekin = 3.14651785772315 | erot = 2.26271277860543 | epot = -21.1780568094307 | etot = -15.7688261731021 -92000 ekin = 3.23402739820378 | erot = 2.38502646372715 | epot = -21.3058699018425 | etot = -15.6868160399115 -93000 ekin = 3.27864277718343 | erot = 2.22426372598659 | epot = -21.4112218809903 | etot = -15.9083153778203 -94000 ekin = 3.31438607736517 | erot = 2.13604324487189 | epot = -21.5023579935935 | etot = -16.0519286713564 -95000 ekin = 3.27323012344957 | erot = 2.3817868438853 | epot = -21.6160955797712 | etot = -15.9610786124363 -96000 ekin = 3.22326707535027 | erot = 2.54544679505643 | epot = -21.7318191046089 | etot = -15.9631052342022 -97000 ekin = 3.23424306839053 | erot = 2.64153427684313 | epot = -21.8458536800777 | etot = -15.9700763348441 -98000 ekin = 3.20883333988361 | erot = 2.67043755850074 | epot = -21.9495446261424 | etot = -16.070273727758 -99000 ekin = 3.11663851643537 | erot = 2.90733596256654 | epot = -22.0486791427266 | etot = -16.0247046637247 -100000 ekin = 3.03264321501926 | erot = 2.96946233520272 | epot = -22.1457931713674 | etot = -16.1436876211454 -101000 ekin = 2.95046281913221 | erot = 2.88464070608065 | epot = -22.2018281755497 | etot = -16.3667246503368 -102000 ekin = 2.85487641720317 | erot = 3.18352311497666 | epot = -22.1945156997858 | etot = -16.1561161676059 -103000 ekin = 2.83556367487544 | erot = 3.10626911100562 | epot = -22.1286684506118 | etot = -16.1868356647308 -104000 ekin = 2.74206313561189 | erot = 2.76469534508288 | epot = -22.0370967342097 | etot = -16.5303382535149 -105000 ekin = 2.68691210569757 | erot = 2.43510424243724 | epot = -21.9227484953522 | etot = -16.8007321472174 -106000 ekin = 2.5632306571111 | erot = 2.04976251036801 | epot = -21.8252352950753 | etot = -17.2122421275962 -107000 ekin = 2.45282193090847 | erot = 2.35578840258498 | epot = -21.7394205256345 | etot = -16.930810192141 -108000 ekin = 2.53861743899996 | erot = 2.41441398228762 | epot = -21.6772620188417 | etot = -16.7242305975541 -109000 ekin = 2.47502081207099 | erot = 2.24593310938323 | epot = -21.6325689491035 | etot = -16.9116150276492 -110000 ekin = 2.50321333342891 | erot = 1.86407174946136 | epot = -21.6221361025482 | etot = -17.2548510196579 -111000 ekin = 2.55274947911868 | erot = 1.93351998444029 | epot = -21.642435954763 | etot = -17.156166491204 -112000 ekin = 2.57554816024182 | erot = 1.85965001180021 | epot = -21.6646307305488 | etot = -17.2294325585067 -113000 ekin = 2.58422184546739 | erot = 1.6661260659466 | epot = -21.6825320885557 | etot = -17.4321841771417 -114000 ekin = 2.63767451071981 | erot = 1.86651684228484 | epot = -21.6875711888382 | etot = -17.1833798358336 -115000 ekin = 2.5585086928899 | erot = 1.95479352013927 | epot = -21.7088690741548 | etot = -17.1955668611256 -116000 ekin = 2.59960484914044 | erot = 1.98515359639084 | epot = -21.7399246709688 | etot = -17.1551662254375 -117000 ekin = 2.6364636182488 | erot = 2.15859263253909 | epot = -21.7790865447413 | etot = -16.9840302939534 -118000 ekin = 2.6722112411998 | erot = 2.07625368130402 | epot = -21.8132075002145 | etot = -17.0647425777106 -119000 ekin = 2.91085167645328 | erot = 1.98818490836518 | epot = -21.8375717289924 | etot = -16.9385351441739 -120000 ekin = 2.93975077154823 | erot = 1.99854094901667 | epot = -21.8494362428875 | etot = -16.9111445223226 -121000 ekin = 3.04700503953787 | erot = 2.15191677123412 | epot = -21.85263610441 | etot = -16.653714293638 -122000 ekin = 3.0197006563079 | erot = 2.09092735340922 | epot = -21.8688746811129 | etot = -16.7582466713958 -123000 ekin = 2.99309396144643 | erot = 1.76972828030718 | epot = -21.9045561644835 | etot = -17.1417339227298 -124000 ekin = 2.96321679602905 | erot = 1.96464026140175 | epot = -21.9325819137335 | etot = -17.0047248563027 -125000 ekin = 2.98312575423872 | erot = 1.64592593754597 | epot = -21.9608904634475 | etot = -17.3318387716628 -126000 ekin = 2.99097949215567 | erot = 1.75618745760138 | epot = -22.0097583194279 | etot = -17.2625913696708 -127000 ekin = 3.04267424627591 | erot = 1.84781956231799 | epot = -22.0474977427292 | etot = -17.1570039341353 -128000 ekin = 3.16299477926054 | erot = 1.98570527937052 | epot = -22.1060844986598 | etot = -16.9573844400288 -129000 ekin = 3.16426696344662 | erot = 1.97746137640529 | epot = -22.1606468653278 | etot = -17.0189185254759 -130000 ekin = 3.09082575381663 | erot = 2.52059065203424 | epot = -22.1892702662504 | etot = -16.5778538603996 -131000 ekin = 3.04363359740035 | erot = 2.76905383223607 | epot = -22.1941284862536 | etot = -16.3814410566171 -132000 ekin = 2.97799249868517 | erot = 2.58737442779091 | epot = -22.1487985926417 | etot = -16.5834316661656 -133000 ekin = 3.03410219436437 | erot = 2.49151216637022 | epot = -22.0390476094716 | etot = -16.513433248737 -134000 ekin = 2.97290518441653 | erot = 2.27955980622729 | epot = -21.9043568760918 | etot = -16.651891885448 -135000 ekin = 2.97882125899841 | erot = 2.36516672946397 | epot = -21.7588924186335 | etot = -16.4149044301711 -136000 ekin = 3.06225054874153 | erot = 1.85004987442537 | epot = -21.6100365266532 | etot = -16.6977361034863 -137000 ekin = 3.03515949013354 | erot = 1.79133727158631 | epot = -21.4833056014438 | etot = -16.656808839724 -138000 ekin = 2.98359986843838 | erot = 1.95427111240585 | epot = -21.3692118882269 | etot = -16.4313409073826 -139000 ekin = 3.00638756764291 | erot = 1.75390651791807 | epot = -21.2771971161583 | etot = -16.5169030305973 -140000 ekin = 2.9830152029022 | erot = 1.55293456918097 | epot = -21.208258242256 | etot = -16.6723084701728 -141000 ekin = 2.87341969180383 | erot = 1.62004287774022 | epot = -21.1593315472343 | etot = -16.6658689776903 -142000 ekin = 2.77198594269117 | erot = 1.82883994332524 | epot = -21.1253786225535 | etot = -16.5245527365371 -143000 ekin = 2.66544385214397 | erot = 1.70763016025297 | epot = -21.1194742186356 | etot = -16.7464002062387 -144000 ekin = 2.64364564452786 | erot = 2.02089778883362 | epot = -21.1558312252309 | etot = -16.4912877918694 -145000 ekin = 2.58320561695141 | erot = 2.33928617610571 | epot = -21.1972194246108 | etot = -16.2747276315537 -146000 ekin = 2.59582465617015 | erot = 2.39139100798266 | epot = -21.2181779484861 | etot = -16.2309622843333 -147000 ekin = 2.57433616776254 | erot = 2.62068830532513 | epot = -21.2035776919779 | etot = -16.0085532188902 -148000 ekin = 2.66661322554079 | erot = 2.64858494989764 | epot = -21.1567312792461 | etot = -15.8415331038077 -149000 ekin = 2.60767807433569 | erot = 2.2443534552845 | epot = -21.1005834026185 | etot = -16.2485518729983 -150000 ekin = 2.54139526377891 | erot = 2.28883985685592 | epot = -21.0349331020296 | etot = -16.2046979813948 -151000 ekin = 2.54322194136655 | erot = 2.35864839828535 | epot = -20.9724639116438 | etot = -16.0705935719919 -152000 ekin = 2.56796491103015 | erot = 2.43023333349196 | epot = -20.9157846601099 | etot = -15.9175864155878 -153000 ekin = 2.51372807626571 | erot = 2.39277188889786 | epot = -20.8708281017582 | etot = -15.9643281365947 -154000 ekin = 2.56425050300777 | erot = 2.55681269376796 | epot = -20.820806189713 | etot = -15.6997429929373 -155000 ekin = 2.54836883214872 | erot = 2.77382882086449 | epot = -20.7512322840952 | etot = -15.4290346310819 -156000 ekin = 2.5043034111557 | erot = 2.84536424459339 | epot = -20.6831823234817 | etot = -15.3335146677326 -157000 ekin = 2.50400336317658 | erot = 2.74300988092659 | epot = -20.6024983277711 | etot = -15.3554850836679 -158000 ekin = 2.46635677816755 | erot = 2.72725266952939 | epot = -20.3927742179106 | etot = -15.1991647702137 -159000 ekin = 2.41243392896904 | erot = 2.89017327284231 | epot = -20.3716899613966 | etot = -15.0690827595852 -160000 ekin = 2.44543789794343 | erot = 2.94805496717105 | epot = -20.5757394278764 | etot = -15.182246562762 -161000 ekin = 2.48584882392462 | erot = 3.0855000004303 | epot = -20.7243276115621 | etot = -15.1529787872072 -162000 ekin = 2.63092470794179 | erot = 2.84912777185641 | epot = -20.8061639431944 | etot = -15.3261114633962 -163000 ekin = 2.72019716465019 | erot = 2.95674331723606 | epot = -20.9203905101816 | etot = -15.2434500282953 -164000 ekin = 2.85144745755518 | erot = 2.79837544407189 | epot = -21.059920844175 | etot = -15.4100979425479 -165000 ekin = 3.01926698163447 | erot = 2.57598017599233 | epot = -21.2160748663888 | etot = -15.620827708762 -166000 ekin = 3.1597503290263 | erot = 2.53424140536847 | epot = -21.3722197077627 | etot = -15.6782279733679 -167000 ekin = 3.28010263683416 | erot = 2.66118639042397 | epot = -21.5168932797697 | etot = -15.5756042525116 -168000 ekin = 3.30088936113466 | erot = 2.65708015641673 | epot = -21.6596207437233 | etot = -15.7016512261719 -169000 ekin = 3.47029246215385 | erot = 2.25395751697306 | epot = -21.7742578136394 | etot = -16.0500078345125 -170000 ekin = 3.70050747267222 | erot = 2.16365167905449 | epot = -21.874839145911 | etot = -16.0106799941843 -171000 ekin = 3.84839140735084 | erot = 1.87628165448692 | epot = -21.9555399182122 | etot = -16.2308668563745 -172000 ekin = 3.95026415662096 | erot = 1.96481352720162 | epot = -21.9987319268215 | etot = -16.083654242999 -173000 ekin = 3.92397418949733 | erot = 2.14024865545683 | epot = -21.9962461659819 | etot = -15.9320233210278 -174000 ekin = 3.91787773957974 | erot = 2.15382550531679 | epot = -21.9649412516534 | etot = -15.8932380067568 -175000 ekin = 3.92478898493237 | erot = 1.81413864863455 | epot = -21.8860588210322 | etot = -16.1471311874653 -176000 ekin = 3.61843418337274 | erot = 1.68410090365154 | epot = -21.786103239384 | etot = -16.4835681523598 -177000 ekin = 3.4377743722168 | erot = 1.50869914434537 | epot = -21.6530103766415 | etot = -16.7065368600793 -178000 ekin = 3.29404805426692 | erot = 1.54702143204467 | epot = -21.5151124491373 | etot = -16.6740429628257 -179000 ekin = 3.15559273998204 | erot = 1.8346142003624 | epot = -21.384626452117 | etot = -16.3944195117726 -180000 ekin = 3.11144262168977 | erot = 1.96187195470704 | epot = -21.2631791815958 | etot = -16.1898646051989 -181000 ekin = 2.86058839708627 | erot = 1.9791666278232 | epot = -21.1736204719048 | etot = -16.3338654469954 -182000 ekin = 2.73358163055365 | erot = 2.08235166110568 | epot = -21.1163854347032 | etot = -16.3004521430439 -183000 ekin = 2.78667823921493 | erot = 2.14955927554272 | epot = -21.0704997912635 | etot = -16.1342622765058 -184000 ekin = 2.74700284417942 | erot = 2.17568363892107 | epot = -21.0417241927554 | etot = -16.1190377096549 -185000 ekin = 2.712067005484 | erot = 2.43154766133345 | epot = -21.0534073134643 | etot = -15.9097926466468 -186000 ekin = 2.70473969876207 | erot = 2.54763882184431 | epot = -21.0771037789773 | etot = -15.824725258371 -187000 ekin = 2.69011328843059 | erot = 2.42677059090821 | epot = -21.1334063747327 | etot = -16.0165224953939 -188000 ekin = 2.63139574425883 | erot = 2.47663409366879 | epot = -21.2056416357497 | etot = -16.0976117978221 -189000 ekin = 2.52625691649438 | erot = 2.3681103054878 | epot = -21.2763445168884 | etot = -16.3819772949062 -190000 ekin = 2.55070314102265 | erot = 2.46381370096641 | epot = -21.3751397733681 | etot = -16.3606229313791 -191000 ekin = 2.62917079754897 | erot = 2.67833301813009 | epot = -21.4532628428639 | etot = -16.1457590271848 -192000 ekin = 2.58870583923174 | erot = 3.04288815538934 | epot = -21.5216329873862 | etot = -15.8900389927651 -193000 ekin = 2.57473296407416 | erot = 2.98273386984072 | epot = -21.5752070232355 | etot = -16.0177401893206 -194000 ekin = 2.55188197567089 | erot = 3.53664565918029 | epot = -21.6029115846235 | etot = -15.5143839497724 -195000 ekin = 2.37005947654562 | erot = 3.88569194357622 | epot = -21.5199791042825 | etot = -15.2642276841606 -196000 ekin = 2.24643312652479 | erot = 3.89236383309536 | epot = -21.4290282307872 | etot = -15.2902312711671 -197000 ekin = 2.08212744149216 | erot = 3.73392747991452 | epot = -21.3909391389937 | etot = -15.574884217587 -198000 ekin = 1.99546802101167 | erot = 3.31869767813097 | epot = -21.3106385880562 | etot = -15.9964728889136 -199000 ekin = 1.88808259694768 | erot = 3.05651027418434 | epot = -21.1932358978994 | etot = -16.2486430267674 -200000 ekin = 1.86182600189617 | erot = 3.12152068869519 | epot = -21.1112046099847 | etot = -16.1278579193933 -201000 ekin = 1.97052135402485 | erot = 2.56337970690564 | epot = -21.081815037023 | etot = -16.5479139760925 -202000 ekin = 1.96444489641647 | erot = 2.52188298721408 | epot = -21.0909969362213 | etot = -16.6046690525908 -203000 ekin = 2.02727163636658 | erot = 2.40435818767024 | epot = -21.1422876293972 | etot = -16.7106578053604 -204000 ekin = 2.08583315864169 | erot = 2.40223613667985 | epot = -21.2224635405408 | etot = -16.7343942452193 -205000 ekin = 2.20775264966635 | erot = 2.45569503503489 | epot = -21.3216506287514 | etot = -16.6582029440502 -206000 ekin = 2.3252558114439 | erot = 2.44338569524396 | epot = -21.4263895154157 | etot = -16.6577480087279 -207000 ekin = 2.39884741653078 | erot = 2.19219588140548 | epot = -21.5586341308419 | etot = -16.9675908329056 -208000 ekin = 2.5417416133168 | erot = 2.02043086482636 | epot = -21.7018700931409 | etot = -17.1396976149977 -209000 ekin = 2.6346029520279 | erot = 2.00847282239021 | epot = -21.8765502984946 | etot = -17.2334745240765 -210000 ekin = 2.81803535020483 | erot = 2.15132327942401 | epot = -22.0655129469125 | etot = -17.0961543172836 -211000 ekin = 2.8544966933983 | erot = 2.00032723609073 | epot = -22.2569212397587 | etot = -17.4020973102697 -212000 ekin = 2.93298840099946 | erot = 2.18896574432203 | epot = -22.4295331026806 | etot = -17.3075789573591 -213000 ekin = 3.04393339596819 | erot = 2.16674803090435 | epot = -22.5865045861155 | etot = -17.3758231592429 -214000 ekin = 3.17687786434383 | erot = 1.9320460445079 | epot = -22.7049386266082 | etot = -17.5960147177564 -215000 ekin = 3.23140803215869 | erot = 1.91093387521923 | epot = -22.7702150399471 | etot = -17.6278731325691 -216000 ekin = 3.23213410508674 | erot = 1.8676094366755 | epot = -22.8077327389954 | etot = -17.7079891972331 -217000 ekin = 3.29951241617981 | erot = 1.99642477225938 | epot = -22.8230103446112 | etot = -17.527073156172 -218000 ekin = 3.29737584458636 | erot = 1.96274603890197 | epot = -22.8136249789525 | etot = -17.5535030954641 -219000 ekin = 3.23565881897553 | erot = 1.94555976805409 | epot = -22.8103460409254 | etot = -17.6291274538957 -220000 ekin = 3.19248478951652 | erot = 2.1454971546158 | epot = -22.8135403395689 | etot = -17.4755583954366 -221000 ekin = 3.08489658572221 | erot = 2.35182511982451 | epot = -22.7936924594888 | etot = -17.356970753942 -222000 ekin = 2.98911659742777 | erot = 2.24286093437231 | epot = -22.7593104849619 | etot = -17.5273329531618 -223000 ekin = 2.94028114747171 | erot = 2.45179850593564 | epot = -22.7094689680864 | etot = -17.3173893146791 -224000 ekin = 2.86327223103166 | erot = 2.45496570504129 | epot = -22.6840408073417 | etot = -17.3658028712688 -225000 ekin = 2.86217589447829 | erot = 2.64576978314411 | epot = -22.7094594459947 | etot = -17.2015137683723 -226000 ekin = 2.81421750908743 | erot = 2.65054275980961 | epot = -22.7920788909684 | etot = -17.3273186220714 -227000 ekin = 2.76125022534676 | erot = 2.53291854231086 | epot = -22.8714022097527 | etot = -17.577233442095 -228000 ekin = 2.78877138535049 | erot = 2.36581554391 | epot = -22.9403431333365 | etot = -17.785756204076 -229000 ekin = 2.72891406599667 | erot = 2.3676118984917 | epot = -22.9752057147158 | etot = -17.8786797502274 -230000 ekin = 2.73218055588349 | erot = 2.27179336612923 | epot = -22.9619591335888 | etot = -17.957985211576 -231000 ekin = 2.78238304060714 | erot = 2.56004300399624 | epot = -22.9015540669898 | etot = -17.5591280223865 -232000 ekin = 2.70574670734534 | erot = 2.20917728909302 | epot = -22.8024125768836 | etot = -17.8874885804452 -233000 ekin = 2.64840920464742 | erot = 2.10191715204331 | epot = -22.6817951010109 | etot = -17.9314687443202 -234000 ekin = 2.61941879874168 | erot = 1.89218225093232 | epot = -22.5506641543627 | etot = -18.0390631046887 -235000 ekin = 2.59340202709224 | erot = 1.81296941612975 | epot = -22.4559841307523 | etot = -18.0496126875303 -236000 ekin = 2.51387645324668 | erot = 1.87601834806579 | epot = -22.36020773658 | etot = -17.9703129352675 -237000 ekin = 2.4869760697627 | erot = 1.8872559853993 | epot = -22.2423219253942 | etot = -17.8680898702322 -238000 ekin = 2.4616064489039 | erot = 1.69677740799995 | epot = -22.1532316635744 | etot = -17.9948478066705 -239000 ekin = 2.42201063037747 | erot = 1.70150164392287 | epot = -22.1281108141978 | etot = -18.0045985398974 -240000 ekin = 2.37084323379687 | erot = 1.98736224075235 | epot = -22.1423976045622 | etot = -17.784192130013 -241000 ekin = 2.37738836540319 | erot = 2.31585984211781 | epot = -22.1830534944815 | etot = -17.4898052869605 -242000 ekin = 2.41676243464678 | erot = 2.5528014206363 | epot = -22.1811996624362 | etot = -17.2116358071531 -243000 ekin = 2.33148792530051 | erot = 2.76551405431946 | epot = -22.1959816056367 | etot = -17.0989796260167 -244000 ekin = 2.38360456402087 | erot = 2.74375775378546 | epot = -22.353019513755 | etot = -17.2256571959487 -245000 ekin = 2.33752620010189 | erot = 2.63541001293064 | epot = -22.5037249285206 | etot = -17.5307887154881 -246000 ekin = 2.25775984192156 | erot = 2.49145900746122 | epot = -22.6039669429677 | etot = -17.8547480935849 -247000 ekin = 2.20328096321354 | erot = 2.51295988229199 | epot = -22.6897860502885 | etot = -17.9735452047829 -248000 ekin = 2.112151354048 | erot = 2.38179652938581 | epot = -22.7654961945531 | etot = -18.2715483111193 -249000 ekin = 2.18103243553702 | erot = 2.12199506651665 | epot = -22.8086866218617 | etot = -18.5056591198081 -250000 ekin = 2.00642865007494 | erot = 2.13785268765967 | epot = -22.7981127674597 | etot = -18.6538314297251 -251000 ekin = 2.0081090206784 | erot = 2.15377771615681 | epot = -22.7541924896506 | etot = -18.5923057528154 -252000 ekin = 2.04967696381093 | erot = 2.10564030292912 | epot = -22.7175683002137 | etot = -18.5622510334737 -253000 ekin = 1.97178429049464 | erot = 2.56395759404191 | epot = -22.6833423138514 | etot = -18.1476004293148 -254000 ekin = 1.89998560000744 | erot = 2.7644634625402 | epot = -22.652550739486 | etot = -17.9881016769384 -255000 ekin = 1.92358808504085 | erot = 2.82321806552328 | epot = -22.6339519254389 | etot = -17.8871457748748 -256000 ekin = 1.8853792482747 | erot = 2.39478935532051 | epot = -22.6063238269834 | etot = -18.3261552233881 -257000 ekin = 1.89017314858323 | erot = 2.47354789341061 | epot = -22.5844642699129 | etot = -18.2207432279191 -258000 ekin = 2.03347535796375 | erot = 2.0639166704276 | epot = -22.5636266221106 | etot = -18.4662345937192 -259000 ekin = 2.08170419875297 | erot = 1.98311262235166 | epot = -22.5595893965745 | etot = -18.4947725754699 -260000 ekin = 2.15465691022489 | erot = 1.92890944309583 | epot = -22.5702550804875 | etot = -18.4866887271667 -261000 ekin = 2.1852590897665 | erot = 1.8066804326572 | epot = -22.5996038556691 | etot = -18.6076643332454 -262000 ekin = 2.39558735865994 | erot = 1.7710110990717 | epot = -22.6433503794796 | etot = -18.476751921748 -263000 ekin = 2.51566381481672 | erot = 1.74502710268517 | epot = -22.7083481578159 | etot = -18.4476572403141 -264000 ekin = 2.61294097754958 | erot = 1.72004349105586 | epot = -22.787072777371 | etot = -18.4540883087656 -265000 ekin = 2.69751103648208 | erot = 1.73596878524942 | epot = -22.876113825704 | etot = -18.4426340039725 -266000 ekin = 2.73317595749248 | erot = 2.00190945895265 | epot = -22.9815854287863 | etot = -18.2465000123412 -267000 ekin = 2.88777944401859 | erot = 2.03601396733327 | epot = -23.0741467375983 | etot = -18.1503533262464 -268000 ekin = 2.88428212564758 | erot = 2.3921025045242 | epot = -23.1701763705664 | etot = -17.8937917403946 -269000 ekin = 2.94011387527547 | erot = 2.47436168171159 | epot = -23.2463195301015 | etot = -17.8318439731145 -270000 ekin = 3.16907204765191 | erot = 2.44558507843772 | epot = -23.2623613561913 | etot = -17.6477042301017 -271000 ekin = 3.2333039510143 | erot = 2.22964844922974 | epot = -23.2347949376338 | etot = -17.7718425373897 -272000 ekin = 3.25903447141499 | erot = 2.27670268800702 | epot = -23.1776976604854 | etot = -17.6419605010634 -273000 ekin = 3.33084558602097 | erot = 2.3473050651847 | epot = -23.0897292017611 | etot = -17.4115785505554 -274000 ekin = 3.13365175221761 | erot = 2.28906991347369 | epot = -22.970791629232 | etot = -17.5480699635407 -275000 ekin = 3.06411601298027 | erot = 2.05657284383682 | epot = -22.8411592683854 | etot = -17.7204704115683 -276000 ekin = 3.00284299412667 | erot = 2.41503398631213 | epot = -22.700654835852 | etot = -17.2827778554132 -277000 ekin = 2.88988536066512 | erot = 2.56679455786094 | epot = -22.5600288715065 | etot = -17.1033489529804 -278000 ekin = 2.79983988341306 | erot = 2.44718365696948 | epot = -22.4337020220078 | etot = -17.1866784816253 -279000 ekin = 2.62025699943799 | erot = 2.34403355986971 | epot = -22.3217153271847 | etot = -17.357424767877 -280000 ekin = 2.65113378626865 | erot = 2.38211104337876 | epot = -22.213634072387 | etot = -17.1803892427396 -281000 ekin = 2.56011045257063 | erot = 2.14040765533489 | epot = -22.1467069298696 | etot = -17.446188821964 -282000 ekin = 2.46937295979428 | erot = 2.08425434958577 | epot = -22.1062066499082 | etot = -17.5525793405281 -283000 ekin = 2.44420819687498 | erot = 1.8804700883888 | epot = -22.0682236162877 | etot = -17.7435453310239 -284000 ekin = 2.39435456980274 | erot = 2.14903249361609 | epot = -22.0569027581283 | etot = -17.5135156947095 -285000 ekin = 2.3970352250904 | erot = 2.56964603915915 | epot = -22.0888499478263 | etot = -17.1221686835767 -286000 ekin = 2.43717149651532 | erot = 2.84247600307286 | epot = -22.1412346796126 | etot = -16.8615871800244 -287000 ekin = 2.31664233692346 | erot = 2.84674819551605 | epot = -22.1861386782241 | etot = -17.0227481457846 -288000 ekin = 2.26607109317387 | erot = 3.21299363478899 | epot = -22.2378784042867 | etot = -16.7588136763238 -289000 ekin = 2.29584076229561 | erot = 3.11249259323246 | epot = -22.2883115241199 | etot = -16.8799781685918 -290000 ekin = 2.2304990206166 | erot = 2.87013105088144 | epot = -22.31434015915 | etot = -17.213710087652 -291000 ekin = 2.21755828984435 | erot = 2.71274244030915 | epot = -22.3410646593233 | etot = -17.4107639291698 -292000 ekin = 2.21317296232834 | erot = 2.69582872791191 | epot = -22.3827626255974 | etot = -17.4737609353572 -293000 ekin = 2.23081262903896 | erot = 2.60204748252234 | epot = -22.4352222519782 | etot = -17.6023621404169 -294000 ekin = 2.26311425147052 | erot = 3.03410577179159 | epot = -22.4683441344049 | etot = -17.1711241111428 -295000 ekin = 2.28122075778682 | erot = 2.86887170599451 | epot = -22.4906039301706 | etot = -17.3405114663893 -296000 ekin = 2.26383415546926 | erot = 2.78467774936793 | epot = -22.512972044678 | etot = -17.4644601398408 -297000 ekin = 2.33825045335869 | erot = 2.98513561564364 | epot = -22.5191664894368 | etot = -17.1957804204345 -298000 ekin = 2.37786827340735 | erot = 2.85984647447046 | epot = -22.5058515980851 | etot = -17.2681368502073 -299000 ekin = 2.32052037098622 | erot = 2.69480633982959 | epot = -22.4889248916846 | etot = -17.4735981808687 -300000 ekin = 2.30322327761376 | erot = 2.72939848613209 | epot = -22.4591258064481 | etot = -17.4265040427023 -301000 ekin = 2.29995331731943 | erot = 2.60777958693866 | epot = -22.4102468930605 | etot = -17.5025139888024 -302000 ekin = 2.31454372799491 | erot = 2.67298740529848 | epot = -22.3501115787882 | etot = -17.3625804454948 -303000 ekin = 2.4057635722635 | erot = 2.41520690493577 | epot = -22.2832063980303 | etot = -17.462235920831 -304000 ekin = 2.35524162584705 | erot = 2.05432603043707 | epot = -22.2112103404667 | etot = -17.8016426841826 -305000 ekin = 2.30537591124517 | erot = 1.98023337779149 | epot = -22.1649123466498 | etot = -17.8793030576131 -306000 ekin = 2.32478727778818 | erot = 1.89519445956124 | epot = -22.1442852026109 | etot = -17.9243034652615 -307000 ekin = 2.41423624130649 | erot = 1.91431870573664 | epot = -22.1548620004649 | etot = -17.8263070534218 -308000 ekin = 2.44675290257478 | erot = 2.31210197406256 | epot = -22.2055558309842 | etot = -17.4467009543468 -309000 ekin = 2.45673374131202 | erot = 2.16129470434173 | epot = -22.2742892000821 | etot = -17.6562607544283 -310000 ekin = 2.5816765776324 | erot = 2.43846943017109 | epot = -22.3327423848022 | etot = -17.3125963769987 -311000 ekin = 2.52939449011354 | erot = 2.76106281819526 | epot = -22.3705094869032 | etot = -17.0800521785944 -312000 ekin = 2.52610661112941 | erot = 2.98071467503416 | epot = -22.3866205343173 | etot = -16.8797992481538 -313000 ekin = 2.5240567165484 | erot = 2.80377255965813 | epot = -22.4049055192049 | etot = -17.0770762429984 -314000 ekin = 2.65040443727043 | erot = 2.69900889453188 | epot = -22.3876700619111 | etot = -17.0382567301088 -315000 ekin = 2.74472815623847 | erot = 2.66340996418727 | epot = -22.3592685134388 | etot = -16.951130393013 -316000 ekin = 2.83270806183616 | erot = 2.68346240186182 | epot = -22.3041387808832 | etot = -16.7879683171853 -317000 ekin = 2.98267354986778 | erot = 2.49998910531225 | epot = -22.2250773416349 | etot = -16.7424146864549 -318000 ekin = 2.95159865011169 | erot = 2.46437525131283 | epot = -22.1605195993974 | etot = -16.7445456979729 -319000 ekin = 2.99544196834471 | erot = 2.37119170515196 | epot = -22.0922506560637 | etot = -16.725616982567 -320000 ekin = 3.12952415968031 | erot = 2.25302267428102 | epot = -22.019340284027 | etot = -16.6367934500656 -321000 ekin = 3.21184303812898 | erot = 2.03139593747186 | epot = -21.9793920725112 | etot = -16.7361530969103 -322000 ekin = 3.32994096856484 | erot = 2.34110893676891 | epot = -21.976319235169 | etot = -16.3052693298352 -323000 ekin = 3.41272790799865 | erot = 2.43631206380514 | epot = -22.0140123354235 | etot = -16.1649723636197 -324000 ekin = 3.63714885281349 | erot = 1.9465124176185 | epot = -22.088735892451 | etot = -16.505074622019 -325000 ekin = 3.64965023300834 | erot = 1.83594979903828 | epot = -22.1597106232423 | etot = -16.6741105911957 -326000 ekin = 3.7993132385246 | erot = 1.60564512903883 | epot = -22.2163199739485 | etot = -16.8113616063851 -327000 ekin = 3.85106864316211 | erot = 1.8544923321543 | epot = -22.2856422481554 | etot = -16.580081272839 -328000 ekin = 3.95505458701141 | erot = 2.12895030409338 | epot = -22.341235179965 | etot = -16.2572302888602 -329000 ekin = 3.96560356728828 | erot = 2.06124066393336 | epot = -22.375273676819 | etot = -16.3484294455974 -330000 ekin = 4.00004269284724 | erot = 2.01808790805426 | epot = -22.3671090028812 | etot = -16.3489784019797 -331000 ekin = 3.84205146855943 | erot = 1.89603876125699 | epot = -22.3128837484492 | etot = -16.5747935186328 -332000 ekin = 3.66184063362548 | erot = 2.39349988256136 | epot = -22.2576238736144 | etot = -16.2022833574276 -333000 ekin = 3.52628969259455 | erot = 2.20415103930269 | epot = -22.1847867511304 | etot = -16.4543460192331 -334000 ekin = 3.34377798013965 | erot = 2.36266544381965 | epot = -22.1376045131508 | etot = -16.4311610891915 -335000 ekin = 3.23745330446362 | erot = 2.56905504387933 | epot = -22.1187474004991 | etot = -16.3122390521561 -336000 ekin = 3.15020041660115 | erot = 2.76447823600581 | epot = -22.1164491906302 | etot = -16.2017705380232 -337000 ekin = 2.95647753165982 | erot = 3.39203265805591 | epot = -22.1578850568604 | etot = -15.8093748671446 -338000 ekin = 2.77494351817588 | erot = 3.38702940437079 | epot = -22.202861556972 | etot = -16.0408886344253 -339000 ekin = 2.56974792274944 | erot = 3.36393768621199 | epot = -22.2430377961408 | etot = -16.3093521871794 -340000 ekin = 2.54624997134431 | erot = 3.18838906080724 | epot = -22.2696997292611 | etot = -16.5350606971095 -341000 ekin = 2.46680453333096 | erot = 3.23666697035712 | epot = -22.271405486473 | etot = -16.5679339827849 -342000 ekin = 2.41970796988162 | erot = 3.10075257077717 | epot = -22.2625825508722 | etot = -16.7421220102134 -343000 ekin = 2.39134830962091 | erot = 2.99983011061325 | epot = -22.2626100438684 | etot = -16.8714316236342 -344000 ekin = 2.40072375544811 | erot = 3.07461576439211 | epot = -22.2332671874545 | etot = -16.7579276676142 -345000 ekin = 2.47818664391048 | erot = 3.0187860642563 | epot = -22.1765310886862 | etot = -16.6795583805194 -346000 ekin = 2.42322520039712 | erot = 2.49312120205076 | epot = -22.1072756725382 | etot = -17.1909292700903 -347000 ekin = 2.50705041682171 | erot = 2.52533205787059 | epot = -22.0719334103213 | etot = -17.039550935629 -348000 ekin = 2.50030685159476 | erot = 2.73825503551145 | epot = -22.0270671882385 | etot = -16.7885053011322 -349000 ekin = 2.60963103698133 | erot = 2.79443949989289 | epot = -21.9800449664782 | etot = -16.5759744296039 -350000 ekin = 2.57407872164997 | erot = 2.87849433187397 | epot = -21.9210551857959 | etot = -16.468482132272 -351000 ekin = 2.60900955228816 | erot = 2.47335254246402 | epot = -21.9029016387205 | etot = -16.8205395439683 -352000 ekin = 2.68632626573676 | erot = 2.16861659144726 | epot = -21.8932933758344 | etot = -17.0383505186504 -353000 ekin = 2.72806527094876 | erot = 2.21631476958766 | epot = -21.8949965382939 | etot = -16.9506164977575 -354000 ekin = 2.80926057411823 | erot = 2.29356292718614 | epot = -21.9255698630403 | etot = -16.8227463617359 -355000 ekin = 2.82955370341647 | erot = 2.23886374167674 | epot = -21.9739881370165 | etot = -16.9055706919233 -356000 ekin = 2.95318161283299 | erot = 2.20593846887508 | epot = -22.0378541396093 | etot = -16.8787340579012 -357000 ekin = 3.00516452100415 | erot = 2.39489434202976 | epot = -22.1045635884317 | etot = -16.7045047253978 -358000 ekin = 3.14013674094321 | erot = 2.81648025756423 | epot = -22.1940030034415 | etot = -16.237386004934 -359000 ekin = 3.24895307320306 | erot = 2.89756918684587 | epot = -22.2894356246554 | etot = -16.1429133646064 -360000 ekin = 3.29499898808933 | erot = 2.69446962924553 | epot = -22.3827935430047 | etot = -16.3933249256699 -361000 ekin = 3.31826252960456 | erot = 3.08121996997187 | epot = -22.3855376265962 | etot = -15.9860551270198 -362000 ekin = 3.22507380499808 | erot = 2.94494755594777 | epot = -22.1939077776813 | etot = -16.0238864167354 -363000 ekin = 3.31998300083524 | erot = 2.84571871387882 | epot = -22.1418339144076 | etot = -15.9761321996935 -364000 ekin = 3.46138826026378 | erot = 3.17267347021667 | epot = -22.2920001905049 | etot = -15.6579384600244 -365000 ekin = 3.41685157685527 | erot = 2.95127990795427 | epot = -22.240326005598 | etot = -15.8721945207884 -366000 ekin = 3.28889153330098 | erot = 2.68298751094302 | epot = -22.0917647614673 | etot = -16.1198857172233 -367000 ekin = 3.13188043782657 | erot = 2.32272362557592 | epot = -21.9624425815386 | etot = -16.5078385181361 -368000 ekin = 3.05635233611774 | erot = 2.49179825174051 | epot = -21.8924084965111 | etot = -16.3442579086529 -369000 ekin = 2.97979500179328 | erot = 2.09677594955095 | epot = -21.8535972953631 | etot = -16.7770263440189 -370000 ekin = 2.86265256457595 | erot = 2.27837964431441 | epot = -21.8636474872574 | etot = -16.722615278367 -371000 ekin = 2.81676366518709 | erot = 2.51005420363845 | epot = -21.8612307947661 | etot = -16.5344129259405 -372000 ekin = 2.89056214524116 | erot = 2.17924443857032 | epot = -21.8465926809761 | etot = -16.7767860971646 -373000 ekin = 2.8570298581495 | erot = 2.22607119851538 | epot = -21.8235708010655 | etot = -16.7404697444006 -374000 ekin = 2.69116258554315 | erot = 2.54595039875577 | epot = -21.8020300439681 | etot = -16.5649170596691 -375000 ekin = 2.65367735566843 | erot = 2.84882366948601 | epot = -21.7972775666776 | etot = -16.2947765415232 -376000 ekin = 2.56541501683978 | erot = 3.15381436306351 | epot = -21.8007765642059 | etot = -16.0815471843026 -377000 ekin = 2.51617117441618 | erot = 3.3450646638395 | epot = -21.7780898056687 | etot = -15.916853967413 -378000 ekin = 2.39886036582813 | erot = 3.14706842402749 | epot = -21.7384304892538 | etot = -16.1925016993981 -379000 ekin = 2.3253462058556 | erot = 2.94670382278376 | epot = -21.6782824657577 | etot = -16.4062324371184 -380000 ekin = 2.15266052745908 | erot = 3.4385709524693 | epot = -21.603829406221 | etot = -16.0125979262926 -381000 ekin = 2.13714114193707 | erot = 3.11249169114188 | epot = -21.5367992698036 | etot = -16.2871664367247 -382000 ekin = 2.05496339747556 | erot = 3.44869747601523 | epot = -21.4764708985237 | etot = -15.972810025033 -383000 ekin = 2.03169806552601 | erot = 3.38753191033151 | epot = -21.41731912066 | etot = -15.9980891448025 -384000 ekin = 1.95364649921204 | erot = 3.35746983585197 | epot = -21.3597667304036 | etot = -16.0486503953396 -385000 ekin = 1.95295295831859 | erot = 3.20059142565729 | epot = -21.3242192311683 | etot = -16.1706748471924 -386000 ekin = 2.03545459887455 | erot = 2.63337254678625 | epot = -21.3197581171679 | etot = -16.6509309715071 -387000 ekin = 2.08744315207298 | erot = 2.67515413940826 | epot = -21.3219783057837 | etot = -16.5593810143025 -388000 ekin = 2.10460844408253 | erot = 2.63750027619805 | epot = -21.3534873824529 | etot = -16.6113786621724 -389000 ekin = 2.13617356385001 | erot = 2.49874264909327 | epot = -21.4010667143315 | etot = -16.7661505013883 -390000 ekin = 2.21418863130718 | erot = 2.61354129728496 | epot = -21.4597800849526 | etot = -16.6320501563605 -391000 ekin = 2.30830767897515 | erot = 2.4215513814523 | epot = -21.5215483863442 | etot = -16.7916893259168 -392000 ekin = 2.30978428581522 | erot = 2.27021166226852 | epot = -21.5693953401794 | etot = -16.9893993920957 -393000 ekin = 2.43507049787362 | erot = 2.19525621528512 | epot = -21.6165022301659 | etot = -16.9861755170072 -394000 ekin = 2.48175272100126 | erot = 1.97403757750059 | epot = -21.643553588929 | etot = -17.1877632904271 -395000 ekin = 2.57078024352592 | erot = 1.94477022107788 | epot = -21.7032003447496 | etot = -17.1876498801457 -396000 ekin = 2.63856854694597 | erot = 2.15467094485357 | epot = -21.7518329108742 | etot = -16.9585934190747 -397000 ekin = 2.67333204158365 | erot = 2.1041553022136 | epot = -21.787492252614 | etot = -17.0100049088167 -398000 ekin = 2.7165721744556 | erot = 2.27260876442706 | epot = -21.7955669580493 | etot = -16.8063860191666 -399000 ekin = 2.74052903416011 | erot = 1.98188508417864 | epot = -21.7850112801672 | etot = -17.0625971618285 -400000 ekin = 2.72461700644124 | erot = 1.79309630627408 | epot = -21.7479203148977 | etot = -17.2302070021823 -401000 ekin = 2.67821010319074 | erot = 1.80652566016293 | epot = -21.698608702759 | etot = -17.2138729394054 -402000 ekin = 2.66678843641966 | erot = 1.99143851830836 | epot = -21.6166886330482 | etot = -16.9584616783202 -403000 ekin = 2.71498615143731 | erot = 2.00496282624765 | epot = -21.5303765730254 | etot = -16.8104275953404 -404000 ekin = 2.72798047530906 | erot = 1.97802766069345 | epot = -21.4249267789287 | etot = -16.7189186429262 -405000 ekin = 2.65655813266529 | erot = 1.93167942695887 | epot = -21.3111486584607 | etot = -16.7229110988365 -406000 ekin = 2.60702986991693 | erot = 1.76285472093939 | epot = -21.1926812354134 | etot = -16.8227966445571 -407000 ekin = 2.48234362601344 | erot = 1.89687727619143 | epot = -21.0701942151536 | etot = -16.6909733129487 -408000 ekin = 2.49227529739275 | erot = 2.21804348518165 | epot = -20.9209091795071 | etot = -16.2105903969327 -409000 ekin = 2.2814751296365 | erot = 2.33822783370113 | epot = -20.7906871723623 | etot = -16.1709842090246 -410000 ekin = 2.17062635902599 | erot = 2.33410289107624 | epot = -20.7498754299763 | etot = -16.245146179874 -411000 ekin = 2.17272870653954 | erot = 2.21566346266576 | epot = -20.7111946304982 | etot = -16.3228024612929 -412000 ekin = 2.18233973422082 | erot = 1.9503355575729 | epot = -20.6834214582715 | etot = -16.5507461664778 -413000 ekin = 2.30890718881929 | erot = 2.07021554036486 | epot = -20.6873588522823 | etot = -16.3082361230982 -414000 ekin = 2.33564543866434 | erot = 1.99840226970561 | epot = -20.7252533334275 | etot = -16.3912056250575 -415000 ekin = 2.3828428990009 | erot = 2.11597172640877 | epot = -20.8097694536975 | etot = -16.3109548282878 -416000 ekin = 2.4891981967793 | erot = 2.33259772891839 | epot = -20.9508447049435 | etot = -16.1290487792458 -417000 ekin = 2.54526036986856 | erot = 2.55910512686826 | epot = -21.1274289862993 | etot = -16.0230634895625 -418000 ekin = 2.51632809206367 | erot = 2.72037030682998 | epot = -21.2997759305309 | etot = -16.0630775316373 -419000 ekin = 2.67295573593454 | erot = 2.77715355803624 | epot = -21.4556263294562 | etot = -16.0055170354854 -420000 ekin = 2.85018483582368 | erot = 2.31598006691992 | epot = -21.5980960673048 | etot = -16.4319311645612 -421000 ekin = 2.96837524337248 | erot = 2.6268245252954 | epot = -21.7546670845076 | etot = -16.1594673158397 -422000 ekin = 3.19012922154569 | erot = 2.84396098635293 | epot = -21.9215374215569 | etot = -15.8874472136583 -423000 ekin = 3.36893935507836 | erot = 2.63026872290732 | epot = -22.0572951448102 | etot = -16.0580870668246 -424000 ekin = 3.56949208720939 | erot = 2.47035354176304 | epot = -22.1637806318815 | etot = -16.1239350029091 -425000 ekin = 3.74058915148745 | erot = 2.35112257121758 | epot = -22.2380669505815 | etot = -16.1463552278764 -426000 ekin = 3.80317641902157 | erot = 2.35606913247661 | epot = -22.2959429720034 | etot = -16.1366974205052 -427000 ekin = 3.84305942013392 | erot = 2.33548874740528 | epot = -22.3376365509403 | etot = -16.1590883834011 -428000 ekin = 3.83870631322379 | erot = 2.23506863760186 | epot = -22.3684501057751 | etot = -16.2946751549495 -429000 ekin = 3.88817033525596 | erot = 2.49183581120231 | epot = -22.3756888085914 | etot = -15.9956826621331 -430000 ekin = 3.80889051818661 | erot = 2.40484189761628 | epot = -22.3570018637867 | etot = -16.1432694479838 -431000 ekin = 3.77310947248878 | erot = 2.27913524660278 | epot = -22.3205980214877 | etot = -16.2683533023961 -432000 ekin = 3.52274921334608 | erot = 2.24573259199209 | epot = -22.2753655924894 | etot = -16.5068837871512 -433000 ekin = 3.46705236442823 | erot = 2.20376216835521 | epot = -22.2487474226526 | etot = -16.5779328898691 -434000 ekin = 3.3190237946751 | erot = 2.11029295350201 | epot = -22.2098823317896 | etot = -16.7805655836125 -435000 ekin = 3.17487375029747 | erot = 2.50022517053558 | epot = -22.1671631710258 | etot = -16.4920642501928 -436000 ekin = 3.02349956092836 | erot = 2.40764251188797 | epot = -22.1302532198703 | etot = -16.699111147054 -437000 ekin = 2.8274843272161 | erot = 2.14344362630262 | epot = -22.1006119384222 | etot = -17.1296839849035 -438000 ekin = 2.76339787793449 | erot = 2.419050805213 | epot = -22.0957010825607 | etot = -16.9132523994132 -439000 ekin = 2.6719888655247 | erot = 2.59491616836517 | epot = -22.1135007428951 | etot = -16.8465957090052 -440000 ekin = 2.51284986257035 | erot = 2.91174228785256 | epot = -22.1427877988881 | etot = -16.7181956484652 -441000 ekin = 2.50780828634487 | erot = 2.72902768068024 | epot = -22.1697146510927 | etot = -16.9328786840676 -442000 ekin = 2.44873015400876 | erot = 2.74922432089642 | epot = -22.2054533182394 | etot = -17.0074988433342 -443000 ekin = 2.38093647463546 | erot = 2.64154199429497 | epot = -22.2472480992723 | etot = -17.2247696303419 -444000 ekin = 2.3836651928718 | erot = 2.67137923733314 | epot = -22.2750222251913 | etot = -17.2199777949864 -445000 ekin = 2.40684373898638 | erot = 2.59567738953056 | epot = -22.2857281482667 | etot = -17.2832070197498 -446000 ekin = 2.36082009501178 | erot = 2.73001014061349 | epot = -22.2789998471501 | etot = -17.1881696115248 -447000 ekin = 2.36605795906985 | erot = 2.58257112673036 | epot = -22.296084006631 | etot = -17.3474549208308 -448000 ekin = 2.32165762068431 | erot = 2.36145535918737 | epot = -22.3211882050734 | etot = -17.6380752252017 -449000 ekin = 2.44203969267613 | erot = 2.62540304636683 | epot = -22.3026387988317 | etot = -17.2351960597888 -450000 ekin = 2.51099258071366 | erot = 2.64840657329928 | epot = -22.267592439271 | etot = -17.1081932852581 -451000 ekin = 2.50793019457285 | erot = 2.96188202684451 | epot = -22.2417686447217 | etot = -16.7719564233044 -452000 ekin = 2.51543909198851 | erot = 2.97645802250506 | epot = -22.1947639118422 | etot = -16.7028667973486 -453000 ekin = 2.48027617072946 | erot = 2.57675545715338 | epot = -22.1151189784502 | etot = -17.0580873505673 -454000 ekin = 2.53738257378355 | erot = 2.32076068281048 | epot = -22.0114335109913 | etot = -17.1532902543973 -455000 ekin = 2.40824460563841 | erot = 2.52466300048405 | epot = -21.9140685033281 | etot = -16.9811608972056 -456000 ekin = 2.48089669783941 | erot = 2.44995767624609 | epot = -21.8323732399429 | etot = -16.9015188658574 -457000 ekin = 2.41775201722807 | erot = 2.40996718790043 | epot = -21.7728619497125 | etot = -16.945142744584 -458000 ekin = 2.47981300263281 | erot = 2.17375208123342 | epot = -21.7127229794164 | etot = -17.0591578955502 -459000 ekin = 2.50098429139872 | erot = 2.13049458828883 | epot = -21.6581010444978 | etot = -17.0266221648102 -460000 ekin = 2.38145892905012 | erot = 1.94162891941082 | epot = -21.6082620378702 | etot = -17.2851741894092 -461000 ekin = 2.33337517008614 | erot = 1.98667402531269 | epot = -21.5649964210082 | etot = -17.2449472256094 -462000 ekin = 2.28227781413454 | erot = 1.78636859811698 | epot = -21.553299713963 | etot = -17.4846533017115 -463000 ekin = 2.31407904587662 | erot = 1.75082487007379 | epot = -21.5758125934728 | etot = -17.5109086775224 -464000 ekin = 2.33760733880305 | erot = 1.97752071149097 | epot = -21.6288036107042 | etot = -17.3136755604102 -465000 ekin = 2.35344133595334 | erot = 1.91505497900085 | epot = -21.7041801943282 | etot = -17.435683879374 -466000 ekin = 2.42854776892495 | erot = 1.75072628953255 | epot = -21.7819960540267 | etot = -17.6027219955692 -467000 ekin = 2.46288459947455 | erot = 1.78816598264993 | epot = -21.8507036001171 | etot = -17.5996530179926 -468000 ekin = 2.43969802378134 | erot = 1.72898452339381 | epot = -21.9015694636234 | etot = -17.7328869164483 -469000 ekin = 2.54376807882612 | erot = 1.93023555616042 | epot = -21.9541799518686 | etot = -17.4801763168821 -470000 ekin = 2.63326744382507 | erot = 1.50609058500135 | epot = -21.9819116677654 | etot = -17.842553638939 -471000 ekin = 2.65978116714121 | erot = 1.70311641290859 | epot = -21.9987201136985 | etot = -17.6358225336487 -472000 ekin = 2.69971587804205 | erot = 1.8009932352239 | epot = -22.0027803172691 | etot = -17.5020712040031 -473000 ekin = 2.72512699348222 | erot = 2.02324872686538 | epot = -22.0030224491709 | etot = -17.2546467288233 -474000 ekin = 2.8407241273446 | erot = 2.21383290314944 | epot = -21.9941738614503 | etot = -16.9396168309562 -475000 ekin = 2.80675445958342 | erot = 1.9022077441246 | epot = -21.9850696381233 | etot = -17.2761074344153 -476000 ekin = 2.72360114140089 | erot = 2.00284464538934 | epot = -21.9892397336858 | etot = -17.2627939468956 -477000 ekin = 2.84056500761867 | erot = 1.91820766145655 | epot = -22.0039582079798 | etot = -17.2451855389045 -478000 ekin = 2.79479136762923 | erot = 2.33508343932096 | epot = -22.00732044934 | etot = -16.8774456423898 -479000 ekin = 2.68385324315871 | erot = 2.16409914969161 | epot = -21.9972664623617 | etot = -17.1493140695114 -480000 ekin = 2.70919062871922 | erot = 2.22019074837664 | epot = -21.9751418417902 | etot = -17.0457604646944 -481000 ekin = 2.63307386350591 | erot = 1.99280181185976 | epot = -21.930382642354 | etot = -17.3045069669883 -482000 ekin = 2.59315858027254 | erot = 2.21899648577216 | epot = -21.8738249715991 | etot = -17.0616699055543 -483000 ekin = 2.47046920651423 | erot = 2.31431109078702 | epot = -21.8097795572383 | etot = -17.0249992599371 -484000 ekin = 2.53508822055565 | erot = 2.47424748553162 | epot = -21.717582839324 | etot = -16.7082471332367 -485000 ekin = 2.50485650643252 | erot = 2.32403296584736 | epot = -21.6361062693713 | etot = -16.8072167970914 -486000 ekin = 2.47721144858919 | erot = 2.13567134935204 | epot = -21.5220454766263 | etot = -16.909162678685 -487000 ekin = 2.37724853790766 | erot = 2.18943698926619 | epot = -21.3143250794171 | etot = -16.7476395522432 -488000 ekin = 2.48818613181585 | erot = 1.88306237250916 | epot = -21.3116084588705 | etot = -16.9403599545454 -489000 ekin = 2.74982657944148 | erot = 1.89187656286088 | epot = -21.4756253900909 | etot = -16.8339222477885 -490000 ekin = 2.8446680042418 | erot = 1.71237058668201 | epot = -21.5263774576819 | etot = -16.9693388667581 -491000 ekin = 2.85737105202647 | erot = 1.55281245576843 | epot = -21.5086751027881 | etot = -17.0984915949932 -492000 ekin = 2.90983632457446 | erot = 1.91497206116271 | epot = -21.5279430025224 | etot = -16.7031346167852 -493000 ekin = 2.89079796015651 | erot = 2.10766085424332 | epot = -21.5508401314459 | etot = -16.5523813170461 -494000 ekin = 2.90235816901155 | erot = 1.94029226116637 | epot = -21.5811303529853 | etot = -16.7384799228073 -495000 ekin = 2.87250026921941 | erot = 1.80307251979098 | epot = -21.6111333229181 | etot = -16.9355605339077 -496000 ekin = 2.90478694209773 | erot = 1.72383486079645 | epot = -21.6487754892898 | etot = -17.0201536863956 -497000 ekin = 2.79889384992189 | erot = 1.75660961047807 | epot = -21.6748215786368 | etot = -17.1193181182368 -498000 ekin = 2.74060640404878 | erot = 1.89888258825447 | epot = -21.7102647961437 | etot = -17.0707758038405 -499000 ekin = 2.80294847124273 | erot = 2.31213970127628 | epot = -21.7484718969958 | etot = -16.6333837244768 -500000 ekin = 2.83514351912433 | erot = 2.19332479656724 | epot = -21.7847476520866 | etot = -16.756279336395 -501000 ekin = 2.85410564762384 | erot = 2.42583012042736 | epot = -21.8174128447107 | etot = -16.5374770766595 -502000 ekin = 2.87283408161156 | erot = 2.50841092791887 | epot = -21.8423925146404 | etot = -16.46114750511 -503000 ekin = 2.94443013466719 | erot = 2.36313582629975 | epot = -21.8519587007927 | etot = -16.5443927398257 -504000 ekin = 2.98534964558865 | erot = 2.41275211835278 | epot = -21.8136647277169 | etot = -16.4155629637754 -505000 ekin = 3.10846911992712 | erot = 2.13573452517232 | epot = -21.7537837267859 | etot = -16.5095800816865 -506000 ekin = 3.09786641402203 | erot = 2.01700572313853 | epot = -21.704980465629 | etot = -16.5901083284684 -507000 ekin = 3.16348616847776 | erot = 1.94949346287655 | epot = -21.6672353473606 | etot = -16.5542557160063 -508000 ekin = 3.07061633092943 | erot = 2.13446212006009 | epot = -21.6350846399512 | etot = -16.4300061889617 -509000 ekin = 3.1290746647534 | erot = 2.35272620108262 | epot = -21.6205801924064 | etot = -16.1387793265704 -510000 ekin = 3.02451400178539 | erot = 2.25242701385277 | epot = -21.6251089836147 | etot = -16.3481679679765 -511000 ekin = 2.94040580941463 | erot = 2.31948438934906 | epot = -21.6216965431392 | etot = -16.3618063443755 -512000 ekin = 2.94467119608427 | erot = 2.24306810877191 | epot = -21.5962799069271 | etot = -16.408540602071 -513000 ekin = 2.877517425685 | erot = 2.415414442973 | epot = -21.5773819493338 | etot = -16.2844500806758 -514000 ekin = 2.87859810419301 | erot = 2.53612885093571 | epot = -21.5886910612355 | etot = -16.1739641061068 -515000 ekin = 2.65152076844877 | erot = 2.70952186913731 | epot = -21.612623025511 | etot = -16.2515803879249 -516000 ekin = 2.77253963034854 | erot = 3.11116882765854 | epot = -21.6107374310222 | etot = -15.7270289730151 -517000 ekin = 2.76572402179399 | erot = 2.98569828005596 | epot = -21.5945323230581 | etot = -15.8431100212081 -518000 ekin = 2.7008206456695 | erot = 2.94453329815972 | epot = -21.5767297354897 | etot = -15.9313757916605 -519000 ekin = 2.54482845466835 | erot = 2.66065301480809 | epot = -21.550873009667 | etot = -16.3453915401906 -520000 ekin = 2.45944414333513 | erot = 2.60592783176574 | epot = -21.5130137565189 | etot = -16.4476417814181 -521000 ekin = 2.40695980994532 | erot = 2.63220992355656 | epot = -21.4828393267846 | etot = -16.4436695932827 -522000 ekin = 2.52378769907082 | erot = 2.5606649708313 | epot = -21.4628073945547 | etot = -16.3783547246526 -523000 ekin = 2.47704387064711 | erot = 2.27847516566856 | epot = -21.3936943383584 | etot = -16.6381753020428 -524000 ekin = 2.45003418957973 | erot = 2.35140218073637 | epot = -21.2843636599242 | etot = -16.4829272896081 -525000 ekin = 2.36142621667685 | erot = 2.56683372922449 | epot = -21.3738770732935 | etot = -16.4456171273921 -526000 ekin = 2.41274041153279 | erot = 2.62143474643711 | epot = -21.5186087776708 | etot = -16.4844336197009 -527000 ekin = 2.51690607418079 | erot = 2.50693092291703 | epot = -21.5243590814524 | etot = -16.5005220843546 -528000 ekin = 2.54770211426177 | erot = 2.53999552090169 | epot = -21.5164154929441 | etot = -16.4287178577806 -529000 ekin = 2.47536749790361 | erot = 2.56875642748168 | epot = -21.5117161086094 | etot = -16.4675921832241 -530000 ekin = 2.58038897425517 | erot = 3.01233807443761 | epot = -21.51906057773 | etot = -15.9263335290372 -531000 ekin = 2.65054894724649 | erot = 2.80448099540854 | epot = -21.5589351824931 | etot = -16.1039052398381 -532000 ekin = 2.66965242144118 | erot = 2.74119638755984 | epot = -21.6464179501738 | etot = -16.2355691411728 -533000 ekin = 2.72770786142518 | erot = 2.77844536173269 | epot = -21.7626441239341 | etot = -16.2564909007762 -534000 ekin = 2.64182362572789 | erot = 3.16792870118696 | epot = -21.9259934897415 | etot = -16.1162411628266 -535000 ekin = 2.66520124770253 | erot = 3.2879171249754 | epot = -22.0889762146499 | etot = -16.1358578419719 -536000 ekin = 2.62601876922159 | erot = 3.30261897461137 | epot = -22.2457512656683 | etot = -16.3171135218353 -537000 ekin = 2.69839345537236 | erot = 3.42813769244414 | epot = -22.4210021127572 | etot = -16.2944709649407 -538000 ekin = 2.66760385526424 | erot = 3.62303132590558 | epot = -22.591355025516 | etot = -16.3007198443462 -539000 ekin = 2.67321194398888 | erot = 3.60397197005577 | epot = -22.7197786083617 | etot = -16.442594694317 -540000 ekin = 2.61847962179691 | erot = 3.5981459306722 | epot = -22.8058567264861 | etot = -16.589231174017 -541000 ekin = 2.6718641974379 | erot = 3.32667413558402 | epot = -22.8335693145219 | etot = -16.8350309815 -542000 ekin = 2.70747491915389 | erot = 3.0111564589795 | epot = -22.8115452943438 | etot = -17.0929139162104 -543000 ekin = 2.54644874759658 | erot = 2.82723025266225 | epot = -22.7664572430856 | etot = -17.3927782428268 -544000 ekin = 2.5463938428872 | erot = 2.51742249196045 | epot = -22.7350779454406 | etot = -17.6712616105929 -545000 ekin = 2.56168013748318 | erot = 2.65611713884647 | epot = -22.7023384195507 | etot = -17.484541143221 -546000 ekin = 2.5816053409223 | erot = 2.38787600628575 | epot = -22.6704542470139 | etot = -17.7009728998058 -547000 ekin = 2.61211462803719 | erot = 2.34648461296472 | epot = -22.6334663710585 | etot = -17.6748671300566 -548000 ekin = 2.61848748301373 | erot = 2.55163104207081 | epot = -22.609768517203 | etot = -17.4396499921185 -549000 ekin = 2.67184047302148 | erot = 2.60680496690166 | epot = -22.6113862974879 | etot = -17.3327408575648 -550000 ekin = 2.72277931598591 | erot = 2.65040849078669 | epot = -22.6203600824213 | etot = -17.2471722756487 -551000 ekin = 2.74305353489299 | erot = 2.80075659039574 | epot = -22.6177232617524 | etot = -17.0739131364637 -552000 ekin = 2.81751360269261 | erot = 2.75287635518208 | epot = -22.6023118767284 | etot = -17.0319219188537 -553000 ekin = 2.79227730256403 | erot = 2.56192872740986 | epot = -22.5537272638583 | etot = -17.1995212338845 -554000 ekin = 2.73534601404039 | erot = 2.65053323061235 | epot = -22.4791077870362 | etot = -17.0932285423835 -555000 ekin = 2.63887069330074 | erot = 2.60099744506886 | epot = -22.3836014529606 | etot = -17.143733314591 -556000 ekin = 2.58795922731594 | erot = 2.83939231122779 | epot = -22.324279926465 | etot = -16.8969283879212 -557000 ekin = 2.47840947592902 | erot = 2.83134609082774 | epot = -22.3241590735317 | etot = -17.0144035067749 -558000 ekin = 2.40468725505321 | erot = 2.93322561456053 | epot = -22.2772491751351 | etot = -16.9393363055213 -559000 ekin = 2.41820823948273 | erot = 2.86089187346752 | epot = -22.2036329910433 | etot = -16.9245328780931 -560000 ekin = 2.39662020313128 | erot = 2.57730341735948 | epot = -22.1373821619364 | etot = -17.1634585414457 -561000 ekin = 2.41616568173907 | erot = 2.43139941603541 | epot = -22.060651028694 | etot = -17.2130859309196 -562000 ekin = 2.32711122790885 | erot = 2.68540878415341 | epot = -22.0362236088757 | etot = -17.0237035968134 -563000 ekin = 2.40105509630151 | erot = 2.62423602861762 | epot = -22.0398518714974 | etot = -17.0145607465783 -564000 ekin = 2.5062266422146 | erot = 2.4928348217893 | epot = -22.0598046960841 | etot = -17.0607432320802 -565000 ekin = 2.51273313956208 | erot = 2.47207361692511 | epot = -22.0899214253432 | etot = -17.1051146688561 -566000 ekin = 2.45555537786091 | erot = 2.30821557149137 | epot = -22.1147098672023 | etot = -17.35093891785 -567000 ekin = 2.48507699437162 | erot = 2.03226369059631 | epot = -22.1483465792775 | etot = -17.6310058943096 -568000 ekin = 2.44600711349195 | erot = 2.1681878009117 | epot = -22.171561314542 | etot = -17.5573664001384 -569000 ekin = 2.41496567776287 | erot = 2.08307839560009 | epot = -22.1893617136992 | etot = -17.6913176403362 -570000 ekin = 2.31032400356049 | erot = 1.94654984481964 | epot = -22.1972672153826 | etot = -17.9403933670025 -571000 ekin = 2.3417438804697 | erot = 1.90380560996236 | epot = -22.2024778466837 | etot = -17.9569283562516 -572000 ekin = 2.31612242672595 | erot = 2.32477215739624 | epot = -22.1972617700701 | etot = -17.556367185948 -573000 ekin = 2.33747992651649 | erot = 2.05308190482666 | epot = -22.1742687527255 | etot = -17.7837069213823 -574000 ekin = 2.25296248727416 | erot = 2.15192604028201 | epot = -22.1539412991559 | etot = -17.7490527715998 -575000 ekin = 2.39237411767914 | erot = 2.08020391847459 | epot = -22.1262092875428 | etot = -17.6536312513891 -576000 ekin = 2.399208847935 | erot = 2.19930885642811 | epot = -22.0840646582175 | etot = -17.4855469538544 -577000 ekin = 2.32808205752418 | erot = 1.94197958979002 | epot = -22.0344723562019 | etot = -17.7644107088876 -578000 ekin = 2.1746858706361 | erot = 1.9246103716916 | epot = -21.974741428263 | etot = -17.8754451859353 -579000 ekin = 2.11583896079266 | erot = 1.92936420584519 | epot = -21.9045494517261 | etot = -17.8593462850882 -580000 ekin = 1.98384148142164 | erot = 1.90081955947752 | epot = -21.8148954466256 | etot = -17.9302344057265 -581000 ekin = 1.94016412525874 | erot = 1.93233669573757 | epot = -21.7165439683888 | etot = -17.8440431473925 -582000 ekin = 1.8610251889665 | erot = 1.79341078671836 | epot = -21.6380365856683 | etot = -17.9836006099834 -583000 ekin = 1.68386990762823 | erot = 1.83679042288102 | epot = -21.5992064668106 | etot = -18.0785461363014 -584000 ekin = 1.67261412505281 | erot = 1.65634612158735 | epot = -21.5952053447537 | etot = -18.2662450981136 -585000 ekin = 1.73992925735474 | erot = 1.83366430721889 | epot = -21.6327697441752 | etot = -18.0591761796016 -586000 ekin = 1.74661255409199 | erot = 1.71213201580435 | epot = -21.7000609183774 | etot = -18.2413163484811 -587000 ekin = 1.71710189718426 | erot = 1.97098182988229 | epot = -21.7683574543182 | etot = -18.0802737272516 -588000 ekin = 1.86544089524901 | erot = 1.85386980490137 | epot = -21.8425683848031 | etot = -18.1232576846527 -589000 ekin = 1.85071717322245 | erot = 1.97068115142838 | epot = -21.9095983694565 | etot = -18.0882000448057 -590000 ekin = 1.83374905828411 | erot = 1.81484654719552 | epot = -21.9582171568539 | etot = -18.3096215513743 -591000 ekin = 1.81469352641367 | erot = 1.99878899767044 | epot = -21.9200659973671 | etot = -18.106583473283 -592000 ekin = 1.71363100839097 | erot = 2.12573581395021 | epot = -21.9592135376051 | etot = -18.1198467152639 -593000 ekin = 1.72614766500717 | erot = 2.17937588775971 | epot = -22.0664089208097 | etot = -18.1608853680429 -594000 ekin = 1.75427689765194 | erot = 1.98826780368116 | epot = -22.0976975488655 | etot = -18.3551528475324 -595000 ekin = 1.85406358952679 | erot = 2.20206199980458 | epot = -22.1226176690415 | etot = -18.0664920797102 -596000 ekin = 1.84670119316264 | erot = 2.33908153853203 | epot = -22.1559831226416 | etot = -17.9702003909469 -597000 ekin = 1.81732138775584 | erot = 2.40005576098716 | epot = -22.1594075236561 | etot = -17.9420303749132 -598000 ekin = 1.8677543970775 | erot = 2.55301581891932 | epot = -22.1595993961162 | etot = -17.7388291801194 -599000 ekin = 1.91773913278424 | erot = 2.67167362163678 | epot = -22.1710888467289 | etot = -17.5816760923079 -600000 ekin = 1.98736665658494 | erot = 2.80063355631912 | epot = -22.2102053911852 | etot = -17.4222051782811 -601000 ekin = 1.90702337725175 | erot = 2.8344671118145 | epot = -22.2420925338082 | etot = -17.500602044742 -602000 ekin = 1.94976963379167 | erot = 2.90342633891973 | epot = -22.2734691619211 | etot = -17.4202731892097 -603000 ekin = 1.96641425291164 | erot = 2.66529933433923 | epot = -22.2825393460705 | etot = -17.6508257588197 -604000 ekin = 1.91858852447213 | erot = 2.76080776072352 | epot = -22.2678256349417 | etot = -17.588429349746 -605000 ekin = 1.97193019282287 | erot = 2.5472794862884 | epot = -22.2112173532513 | etot = -17.6920076741401 -606000 ekin = 2.03197193648821 | erot = 2.19902614177724 | epot = -22.1164544376306 | etot = -17.8854563593652 -607000 ekin = 2.0510528043558 | erot = 2.16675765880382 | epot = -21.977405385855 | etot = -17.7595949226954 -608000 ekin = 2.17944443921817 | erot = 2.13131743184037 | epot = -21.81532099036 | etot = -17.5045591193014 -609000 ekin = 2.16101479212554 | erot = 2.06129841109631 | epot = -21.6707988831018 | etot = -17.44848567988 -610000 ekin = 2.19385705617071 | erot = 2.02131249667483 | epot = -21.5477012163134 | etot = -17.3325316634679 -611000 ekin = 2.19942394637387 | erot = 2.20280786133682 | epot = -21.4384008683102 | etot = -17.0361690605995 -612000 ekin = 2.23163662761403 | erot = 2.17565235563963 | epot = -21.349788353045 | etot = -16.9424993697913 -613000 ekin = 2.34183365033965 | erot = 1.89422502415553 | epot = -21.3091832789097 | etot = -17.0731246044145 -614000 ekin = 2.41074949980695 | erot = 1.66581051947232 | epot = -21.3121685225909 | etot = -17.2356085033117 -615000 ekin = 2.45538962657556 | erot = 1.67175711569392 | epot = -21.3797539205093 | etot = -17.2526071782398 -616000 ekin = 2.54665272757605 | erot = 1.63332091588076 | epot = -21.4744887763228 | etot = -17.294515132866 -617000 ekin = 2.69386292022006 | erot = 1.67560230924526 | epot = -21.5884179595115 | etot = -17.2189527300462 -618000 ekin = 2.87435666564076 | erot = 1.80165459029546 | epot = -21.7048752429654 | etot = -17.0288639870292 -619000 ekin = 3.06032720665858 | erot = 1.65093186491283 | epot = -21.8125402008936 | etot = -17.1012811293222 -620000 ekin = 3.05516944552948 | erot = 1.78567665314232 | epot = -21.9362157730247 | etot = -17.0953696743529 -621000 ekin = 3.19482877288248 | erot = 1.85444292415898 | epot = -22.0590109842176 | etot = -17.0097392871761 -622000 ekin = 3.19833270893106 | erot = 1.64252462622214 | epot = -22.1304552689738 | etot = -17.2895979338206 -623000 ekin = 3.29734758995184 | erot = 1.6970718936091 | epot = -22.1701112545649 | etot = -17.175691771004 -624000 ekin = 3.37713404636418 | erot = 1.61937249977472 | epot = -22.190132986186 | etot = -17.1936264400471 -625000 ekin = 3.38380934462731 | erot = 1.54917206280412 | epot = -22.18904166071 | etot = -17.2560602532785 -626000 ekin = 3.32638739446822 | erot = 1.5672214829387 | epot = -22.1785220524127 | etot = -17.2849131750058 -627000 ekin = 3.31569249720242 | erot = 1.71066467192316 | epot = -22.142364077785 | etot = -17.1160069086594 -628000 ekin = 3.16697776454389 | erot = 1.85806977204807 | epot = -22.0112520476558 | etot = -16.9862045110638 -629000 ekin = 2.99094278818954 | erot = 1.86346544111366 | epot = -21.9346731409829 | etot = -17.0802649116797 -630000 ekin = 2.90556071918765 | erot = 2.06931303104692 | epot = -21.93509085158 | etot = -16.9602171013454 -631000 ekin = 2.79969582944963 | erot = 2.05621242567385 | epot = -21.848604572972 | etot = -16.9926963178485 -632000 ekin = 2.67147709831704 | erot = 2.03262561422009 | epot = -21.7549691244764 | etot = -17.0508664119392 -633000 ekin = 2.65536759972781 | erot = 2.03400136625199 | epot = -21.6799332000585 | etot = -16.9905642340787 -634000 ekin = 2.60619207671931 | erot = 2.13546718822713 | epot = -21.6154557479591 | etot = -16.8737964830127 -635000 ekin = 2.50701558019089 | erot = 1.74758901075321 | epot = -21.5543249117148 | etot = -17.2997203207707 -636000 ekin = 2.39745600323038 | erot = 1.85247540266676 | epot = -21.525559430038 | etot = -17.2756280241409 -637000 ekin = 2.41790008828878 | erot = 1.89421557823705 | epot = -21.5250233017194 | etot = -17.2129076351935 -638000 ekin = 2.47578971863419 | erot = 2.36571418053423 | epot = -21.5337545659553 | etot = -16.6922506667868 -639000 ekin = 2.35660046082987 | erot = 2.51353605838012 | epot = -21.5410972420903 | etot = -16.6709607228803 -640000 ekin = 2.45486082803939 | erot = 2.67800600845168 | epot = -21.5528145208901 | etot = -16.419947684399 -641000 ekin = 2.56928913237021 | erot = 2.42818013926169 | epot = -21.5744429168227 | etot = -16.5769736451908 -642000 ekin = 2.56519022418627 | erot = 2.50858602525848 | epot = -21.5829619563601 | etot = -16.5091857069153 -643000 ekin = 2.61438251477725 | erot = 2.14546404075467 | epot = -21.6040625493721 | etot = -16.8442159938402 -644000 ekin = 2.62186764966518 | erot = 2.14191076230766 | epot = -21.6253516870774 | etot = -16.8615732751046 -645000 ekin = 2.73445879103536 | erot = 2.35765807621281 | epot = -21.6468161631206 | etot = -16.5546992958724 -646000 ekin = 2.74844139127275 | erot = 2.17611353686106 | epot = -21.6394622686008 | etot = -16.7149073404669 -647000 ekin = 2.81459539064456 | erot = 2.08632073152474 | epot = -21.6308966078165 | etot = -16.7299804856472 -648000 ekin = 2.85700926870993 | erot = 1.929464333082 | epot = -21.6388376034704 | etot = -16.8523640016785 -649000 ekin = 2.83442652810361 | erot = 1.81043301746374 | epot = -21.6816093302455 | etot = -17.0367497846781 -650000 ekin = 2.82385635198136 | erot = 1.98060013201534 | epot = -21.7368430060001 | etot = -16.9323865220034 -651000 ekin = 2.92885602891552 | erot = 2.12442721936496 | epot = -21.8172866774946 | etot = -16.7640034292141 -652000 ekin = 2.93013307398413 | erot = 2.27578127027685 | epot = -21.8890408405115 | etot = -16.6831264962505 -653000 ekin = 3.04736898125529 | erot = 2.16776847613793 | epot = -21.9486345968613 | etot = -16.7334971394681 -654000 ekin = 2.9579573037244 | erot = 2.21678381714574 | epot = -22.0001869032537 | etot = -16.8254457823835 -655000 ekin = 3.02540562074026 | erot = 2.13692279145231 | epot = -22.0213788097191 | etot = -16.8590503975265 -656000 ekin = 2.93581362686808 | erot = 2.18988187130916 | epot = -22.0109757197437 | etot = -16.8852802215665 -657000 ekin = 2.76805340651528 | erot = 2.32463835532626 | epot = -21.9890816986899 | etot = -16.8963899368483 -658000 ekin = 2.72010078264234 | erot = 2.42170769009701 | epot = -21.9346454326191 | etot = -16.7928369598798 -659000 ekin = 2.56993867397745 | erot = 2.56748186419765 | epot = -21.8575737943239 | etot = -16.7201532561488 -660000 ekin = 2.47973868672844 | erot = 2.40259679627682 | epot = -21.7795672371149 | etot = -16.8972317541096 -661000 ekin = 2.4537354259568 | erot = 2.39904349056703 | epot = -21.7176497643057 | etot = -16.8648708477819 -662000 ekin = 2.31664057269244 | erot = 2.35054704143559 | epot = -21.6537121043311 | etot = -16.9865244902031 -663000 ekin = 2.2406453295341 | erot = 2.17910127912748 | epot = -21.6391536375417 | etot = -17.2194070288801 -664000 ekin = 2.20916362864349 | erot = 2.06262569311488 | epot = -21.6851863902027 | etot = -17.4133970684443 -665000 ekin = 2.13954972476586 | erot = 2.25756057575123 | epot = -21.7455075936907 | etot = -17.3483972931736 -666000 ekin = 2.08532103984047 | erot = 2.53235015645644 | epot = -21.8306488165158 | etot = -17.2129776202189 -667000 ekin = 2.07434468635446 | erot = 2.5831602433618 | epot = -21.9388099470219 | etot = -17.2813050173056 -668000 ekin = 2.14972707351062 | erot = 2.44036539013545 | epot = -22.0333424314715 | etot = -17.4432499678254 -669000 ekin = 2.14867112158583 | erot = 2.43281409131061 | epot = -22.1304448026368 | etot = -17.5489595897403 -670000 ekin = 2.23890403189165 | erot = 2.58648249214524 | epot = -22.2056814205456 | etot = -17.3802948965087 -671000 ekin = 2.31625622499946 | erot = 2.69333851171567 | epot = -22.279662062181 | etot = -17.2700673254659 -672000 ekin = 2.44586153940214 | erot = 2.56646280616739 | epot = -22.358695214431 | etot = -17.3463708688615 -673000 ekin = 2.54481735055823 | erot = 2.75556593856414 | epot = -22.4593396425686 | etot = -17.1589563534462 -674000 ekin = 2.71391625159941 | erot = 2.6554308425355 | epot = -22.5584890476563 | etot = -17.1891419535214 -675000 ekin = 2.90764129270492 | erot = 2.23819775094513 | epot = -22.6180177016502 | etot = -17.4721786580001 -676000 ekin = 2.92265152567894 | erot = 2.01907422039395 | epot = -22.6419153633299 | etot = -17.700189617257 -677000 ekin = 2.98331588051219 | erot = 1.94365767388436 | epot = -22.6354363273705 | etot = -17.7084627729739 -678000 ekin = 3.09770353325547 | erot = 1.78984747588624 | epot = -22.5937189533551 | etot = -17.7061679442134 -679000 ekin = 3.25432444248411 | erot = 1.88443631033161 | epot = -22.53178413596 | etot = -17.3930233831443 -680000 ekin = 3.22961887078865 | erot = 1.69909805719967 | epot = -22.463070825024 | etot = -17.5343538970357 -681000 ekin = 3.29793543712228 | erot = 1.73422658308543 | epot = -22.3946434176705 | etot = -17.3624813974628 -682000 ekin = 3.24199079106594 | erot = 1.5969219856144 | epot = -22.3029193266293 | etot = -17.464006549949 -683000 ekin = 3.25371946999921 | erot = 1.72202050023417 | epot = -22.199148999364 | etot = -17.2234090291306 -684000 ekin = 3.19052733109178 | erot = 1.66622681172431 | epot = -22.0655070121616 | etot = -17.2087528693455 -685000 ekin = 3.12351779825689 | erot = 1.51735754830883 | epot = -21.914824245787 | etot = -17.2739488992213 -686000 ekin = 3.07326489888731 | erot = 1.46555591350498 | epot = -21.7573475582043 | etot = -17.218526745812 -687000 ekin = 3.0692678194322 | erot = 1.15712044634882 | epot = -21.5962819403328 | etot = -17.3698936745518 -688000 ekin = 2.87390652866056 | erot = 1.4033120365228 | epot = -21.4336822001954 | etot = -17.156463635012 -689000 ekin = 2.69554492827624 | erot = 1.45829074533076 | epot = -21.2672855389621 | etot = -17.1134498653551 -690000 ekin = 2.61061423011971 | erot = 1.36248966419064 | epot = -21.1045284460301 | etot = -17.1314245517197 -691000 ekin = 2.5384895571243 | erot = 1.51295281726462 | epot = -20.9662406736519 | etot = -16.914798299263 -692000 ekin = 2.46230747660143 | erot = 1.79517490024282 | epot = -20.8267179895335 | etot = -16.5692356126893 -693000 ekin = 2.33092902932419 | erot = 1.956932557055 | epot = -20.7214634762705 | etot = -16.4336018898913 -694000 ekin = 2.20499278049238 | erot = 2.26852927145225 | epot = -20.6632308881527 | etot = -16.189708836208 -695000 ekin = 2.03014457111504 | erot = 2.21386820279686 | epot = -20.6164786812691 | etot = -16.3724659073572 -696000 ekin = 1.90099616141403 | erot = 2.5103465105869 | epot = -20.5979238575923 | etot = -16.1865811855913 -697000 ekin = 1.85444991610566 | erot = 2.53777912909066 | epot = -20.6115349149648 | etot = -16.2193058697685 -698000 ekin = 1.7451785995618 | erot = 2.7223822414534 | epot = -20.6303436251994 | etot = -16.1627827841842 -699000 ekin = 1.7516813089068 | erot = 2.85503588879926 | epot = -20.6320585257903 | etot = -16.0253413280842 -700000 ekin = 1.64369199910929 | erot = 2.34560591480479 | epot = -20.647513946931 | etot = -16.6582160330169 -701000 ekin = 1.68132533789918 | erot = 2.43909304651561 | epot = -20.685910928294 | etot = -16.5654925438792 -702000 ekin = 1.70386840970035 | erot = 2.35102704448869 | epot = -20.7376959872533 | etot = -16.6828005330643 -703000 ekin = 1.80305935509192 | erot = 2.30693909538442 | epot = -20.8251011762137 | etot = -16.7151027257374 -704000 ekin = 1.85427679013225 | erot = 2.26509125077371 | epot = -20.9059280513971 | etot = -16.7865600104912 -705000 ekin = 1.88335846983262 | erot = 2.19214658824562 | epot = -20.9954367870654 | etot = -16.9199317289872 -706000 ekin = 1.876702340526 | erot = 2.28719516538887 | epot = -21.0193227576574 | etot = -16.8554252517425 -707000 ekin = 1.93293497142214 | erot = 2.38330202769163 | epot = -21.0638890738323 | etot = -16.7476520747185 -708000 ekin = 2.09065153727884 | erot = 2.35104864418889 | epot = -21.2227908262374 | etot = -16.7810906447697 -709000 ekin = 2.20425730862929 | erot = 2.60124565008879 | epot = -21.3749368892937 | etot = -16.5694339305757 -710000 ekin = 2.15847586521867 | erot = 2.78837422905336 | epot = -21.45375589322 | etot = -16.506905798948 -711000 ekin = 2.1473856761086 | erot = 2.55565446850249 | epot = -21.4922752305126 | etot = -16.7892350859015 -712000 ekin = 2.21832534546642 | erot = 2.2837823329791 | epot = -21.5070148685007 | etot = -17.0049071900552 -713000 ekin = 2.23341186047371 | erot = 2.34500428198362 | epot = -21.5008699398634 | etot = -16.9224537974061 -714000 ekin = 2.33230836040244 | erot = 2.19479871425188 | epot = -21.4839019806539 | etot = -16.9567949059995 -715000 ekin = 2.33030820574014 | erot = 2.17965051754596 | epot = -21.4553142973931 | etot = -16.945355574107 -716000 ekin = 2.36748822470048 | erot = 2.35438142347193 | epot = -21.4335845554585 | etot = -16.7117149072861 -717000 ekin = 2.42589072361015 | erot = 2.26035712234886 | epot = -21.4376774007483 | etot = -16.7514295547893 -718000 ekin = 2.38255620505849 | erot = 2.62805972075967 | epot = -21.4709814331184 | etot = -16.4603655073003 -719000 ekin = 2.4316038044644 | erot = 2.63972746655449 | epot = -21.4971766168892 | etot = -16.4258453458703 -720000 ekin = 2.33769336712433 | erot = 2.55371461534658 | epot = -21.5394919555774 | etot = -16.6480839731065 -721000 ekin = 2.28846155322463 | erot = 2.63462733239722 | epot = -21.6184618151068 | etot = -16.695372929485 -722000 ekin = 2.2625799464171 | erot = 2.84783969674578 | epot = -21.6945502707626 | etot = -16.5841306275997 -723000 ekin = 2.23304720962205 | erot = 3.06611659822373 | epot = -21.7528202353841 | etot = -16.4536564275383 -724000 ekin = 2.12684507278506 | erot = 2.78432312637157 | epot = -21.7751025516938 | etot = -16.8639343525372 -725000 ekin = 2.06612304119179 | erot = 2.6657008722112 | epot = -21.7772349484646 | etot = -17.0454110350617 -726000 ekin = 2.06015720392149 | erot = 2.53002799423227 | epot = -21.7484309875606 | etot = -17.1582457894068 -727000 ekin = 1.94617710091939 | erot = 2.58809722642033 | epot = -21.698865942308 | etot = -17.1645916149683 -728000 ekin = 1.79988680762503 | erot = 2.59791601958482 | epot = -21.6244191329722 | etot = -17.2266163057624 -729000 ekin = 1.88959231946007 | erot = 2.45182775661247 | epot = -21.5334662312982 | etot = -17.1920461552256 -730000 ekin = 1.96867512295179 | erot = 2.41054767101764 | epot = -21.4871507299598 | etot = -17.1079279359904 -731000 ekin = 2.04007066021515 | erot = 2.10968471949812 | epot = -21.5107250767863 | etot = -17.360969697073 -732000 ekin = 2.15156634650352 | erot = 2.21445806294108 | epot = -21.565694539444 | etot = -17.1996701299994 -733000 ekin = 2.35654560078856 | erot = 2.0926020619831 | epot = -21.6365297457638 | etot = -17.1873820829921 -734000 ekin = 2.53299152923216 | erot = 2.37468932984106 | epot = -21.7439901596571 | etot = -16.8363093005839 -735000 ekin = 2.68562697475253 | erot = 2.64165595377503 | epot = -21.8172386752045 | etot = -16.4899557466769 -736000 ekin = 2.79874366040361 | erot = 2.35556726484813 | epot = -21.8745419467326 | etot = -16.7202310214809 -737000 ekin = 2.90595989296463 | erot = 2.41144452276433 | epot = -21.9257424852809 | etot = -16.6083380695519 -738000 ekin = 3.16854231512105 | erot = 2.16995374764071 | epot = -21.9707229821506 | etot = -16.6322269193889 -739000 ekin = 3.23623963268824 | erot = 2.03973592993996 | epot = -22.0157112429449 | etot = -16.7397356803167 -740000 ekin = 3.39353868555119 | erot = 2.32580669983873 | epot = -22.0571350158395 | etot = -16.3377896304496 -741000 ekin = 3.45553760108211 | erot = 2.27352146352834 | epot = -22.0707608655482 | etot = -16.3417018009378 -742000 ekin = 3.39019064344775 | erot = 2.25908088551195 | epot = -22.0670611146352 | etot = -16.4177895856755 -743000 ekin = 3.24233276383884 | erot = 2.18392506449989 | epot = -22.0666014745795 | etot = -16.6403436462408 -744000 ekin = 3.20002114728711 | erot = 2.23309952366348 | epot = -22.028539163169 | etot = -16.5954184922184 -745000 ekin = 3.14151943265607 | erot = 2.14368723244716 | epot = -21.9643868056962 | etot = -16.679180140593 -746000 ekin = 3.13633701521663 | erot = 2.23603593988693 | epot = -21.882872862873 | etot = -16.5104999077695 -747000 ekin = 3.07456220778637 | erot = 2.26587079383327 | epot = -21.7933333887767 | etot = -16.452900387157 -748000 ekin = 2.89245092613184 | erot = 2.40124088279734 | epot = -21.7426214163823 | etot = -16.4489296074532 -749000 ekin = 2.88984722840687 | erot = 2.04545464704715 | epot = -21.7486405812119 | etot = -16.8133387057579 -750000 ekin = 2.90690239667419 | erot = 2.16308193639859 | epot = -21.8037851942402 | etot = -16.7338008611674 -751000 ekin = 2.91748713435882 | erot = 2.28652646733658 | epot = -21.8965044368825 | etot = -16.6924908351871 -752000 ekin = 2.97329531437785 | erot = 2.21452942544206 | epot = -22.0108702587414 | etot = -16.8230455189215 -753000 ekin = 3.12120975435271 | erot = 2.07420726206866 | epot = -22.1751207133467 | etot = -16.9797036969253 -754000 ekin = 3.10943310281728 | erot = 2.24992106750504 | epot = -22.3612161837239 | etot = -17.0018620134016 -755000 ekin = 3.18094546468949 | erot = 2.11033610484495 | epot = -22.5317563093684 | etot = -17.2404747398339 -756000 ekin = 3.21064051440325 | erot = 2.2847912638149 | epot = -22.6718534245683 | etot = -17.1764216463502 -757000 ekin = 3.22246886754025 | erot = 2.44968123087621 | epot = -22.7886247543782 | etot = -17.1164746559617 -758000 ekin = 3.20698410892119 | erot = 2.50948468912354 | epot = -22.8454442004646 | etot = -17.1289754024199 -759000 ekin = 3.21234700687647 | erot = 3.12016624161199 | epot = -22.8201205205761 | etot = -16.4876072720877 -760000 ekin = 3.27823245967428 | erot = 2.84290665242051 | epot = -22.6783954091999 | etot = -16.5572562971051 -761000 ekin = 3.12453460408395 | erot = 2.62184906422512 | epot = -22.438200107225 | etot = -16.6918164389159 -762000 ekin = 3.00311895367918 | erot = 2.41644056781989 | epot = -22.1533696227388 | etot = -16.7338101012398 -763000 ekin = 2.78638584214101 | erot = 2.32781672447598 | epot = -21.8612278496142 | etot = -16.7470252829972 -764000 ekin = 2.62767890060543 | erot = 2.17189942716303 | epot = -21.5731775254861 | etot = -16.7735991977176 -765000 ekin = 2.51344272364432 | erot = 2.10908907015976 | epot = -21.3425441704342 | etot = -16.7200123766302 -766000 ekin = 2.44393199306567 | erot = 2.31186162861124 | epot = -21.1564464031704 | etot = -16.4006527814935 -767000 ekin = 2.31911160678287 | erot = 2.18314082130554 | epot = -20.9627169920091 | etot = -16.4604645639207 -768000 ekin = 2.13701069287306 | erot = 2.40318509200551 | epot = -20.8058909702391 | etot = -16.2656951853605 -769000 ekin = 2.10500025579103 | erot = 2.63894895440955 | epot = -20.8353130509833 | etot = -16.0913638407827 -770000 ekin = 2.12136471147998 | erot = 2.6554458784582 | epot = -20.9284031482484 | etot = -16.1515925583102 -771000 ekin = 2.13543144639345 | erot = 2.60537105377452 | epot = -21.0328875238191 | etot = -16.2920850236511 -772000 ekin = 2.24162906957588 | erot = 2.74417889300961 | epot = -21.1929928408463 | etot = -16.2071848782608 -773000 ekin = 2.33155635751896 | erot = 2.65445073231026 | epot = -21.3698964155417 | etot = -16.3838893257124 -774000 ekin = 2.48263962766567 | erot = 2.82209125579263 | epot = -21.5457273132847 | etot = -16.2409964298264 -775000 ekin = 2.54636977687724 | erot = 2.88053109255988 | epot = -21.7219905564985 | etot = -16.2950896870614 -776000 ekin = 2.69100265054475 | erot = 2.71778929652662 | epot = -21.8782095094697 | etot = -16.4694175623983 -777000 ekin = 2.78238726099168 | erot = 2.72823230982731 | epot = -21.9911064717638 | etot = -16.4804869009448 -778000 ekin = 2.78617187411511 | erot = 2.82815790459219 | epot = -22.0683537375448 | etot = -16.4540239588375 -779000 ekin = 2.84892593422022 | erot = 3.03438887674479 | epot = -22.1034747648793 | etot = -16.2201599539143 -780000 ekin = 2.88441601842049 | erot = 3.24511918269903 | epot = -22.0479241425091 | etot = -15.9183889413896 -781000 ekin = 2.79226579266676 | erot = 3.21548459938523 | epot = -21.8915863093246 | etot = -15.8838359172726 -782000 ekin = 2.68974173738614 | erot = 3.17926967087772 | epot = -21.6363560975167 | etot = -15.7673446892529 -783000 ekin = 2.79024932261644 | erot = 2.97774512627436 | epot = -21.2767108150424 | etot = -15.5087163661516 -784000 ekin = 2.86449981530865 | erot = 2.69172267166055 | epot = -21.0080507325922 | etot = -15.451828245623 -785000 ekin = 2.8095279662806 | erot = 2.46781875930815 | epot = -20.8778745868435 | etot = -15.6005278612548 -786000 ekin = 2.68208018816425 | erot = 2.29793991145912 | epot = -20.7982787985676 | etot = -15.8182586989442 -787000 ekin = 2.56813961256695 | erot = 2.41937763036887 | epot = -20.6982631250954 | etot = -15.7107458821596 -788000 ekin = 2.48851427869081 | erot = 2.49924394097201 | epot = -20.6407407229629 | etot = -15.6529825033001 -789000 ekin = 2.34982946717626 | erot = 2.56420624412215 | epot = -20.6454036959704 | etot = -15.731367984672 -790000 ekin = 2.27171119768142 | erot = 2.49951341291837 | epot = -20.6777685520533 | etot = -15.9065439414535 -791000 ekin = 2.21794673444052 | erot = 2.30373156167707 | epot = -20.733587944852 | etot = -16.2119096487344 -792000 ekin = 2.11119869207691 | erot = 2.39386074875515 | epot = -20.8097229220259 | etot = -16.3046634811938 -793000 ekin = 2.0914986232215 | erot = 2.33936906711867 | epot = -20.8989593305892 | etot = -16.4680916402491 -794000 ekin = 2.07514167964202 | erot = 2.18864817794238 | epot = -21.0024824072348 | etot = -16.7386925496504 -795000 ekin = 2.04599756417741 | erot = 1.93255592398139 | epot = -21.1171979822032 | etot = -17.1386444940444 -796000 ekin = 2.0560011436693 | erot = 2.03200387694587 | epot = -21.2502268612589 | etot = -17.1622218406437 -797000 ekin = 2.02544049585307 | erot = 2.05143967820681 | epot = -21.3783704821385 | etot = -17.3014903080786 -798000 ekin = 2.10531554228792 | erot = 1.92029368041654 | epot = -21.4968277215512 | etot = -17.4712184988467 -799000 ekin = 2.16064788774095 | erot = 1.68829576105933 | epot = -21.5739657591718 | etot = -17.7250221103715 -800000 ekin = 2.21578954821431 | erot = 1.79594742030858 | epot = -21.603956054732 | etot = -17.5922190862092 -801000 ekin = 2.22681551829209 | erot = 1.74309621460738 | epot = -21.6419326028295 | etot = -17.67202086993 -802000 ekin = 2.43626565180586 | erot = 1.85922368535807 | epot = -21.6656085836115 | etot = -17.3701192464476 -803000 ekin = 2.50783665003159 | erot = 1.58815243555041 | epot = -21.7145730788991 | etot = -17.6185839933171 -804000 ekin = 2.54745667479448 | erot = 1.78752251126577 | epot = -21.8111449940636 | etot = -17.4761658080033 -805000 ekin = 2.80080657856553 | erot = 2.23795086847267 | epot = -21.9683564899617 | etot = -16.9295990429235 -806000 ekin = 3.00571166515518 | erot = 2.567719998186 | epot = -22.162148095173 | etot = -16.5887164318318 -807000 ekin = 3.08052739942377 | erot = 2.70802004693296 | epot = -22.3817011009082 | etot = -16.5931536545515 -808000 ekin = 3.0935615091465 | erot = 2.92145006465344 | epot = -22.5983854951432 | etot = -16.5833739213433 -809000 ekin = 3.13660538877476 | erot = 2.76580118315174 | epot = -22.7898921423196 | etot = -16.8874855703931 -810000 ekin = 3.19670438612414 | erot = 3.0603328835606 | epot = -22.9235249464173 | etot = -16.6664876767325 -811000 ekin = 3.2435824870982 | erot = 2.75433145478958 | epot = -22.9913244588506 | etot = -16.9934105169628 -812000 ekin = 3.15387712947527 | erot = 2.67472079387966 | epot = -22.9958338237262 | etot = -17.1672359003712 -813000 ekin = 2.94730683854716 | erot = 2.78448217630032 | epot = -22.9500139539577 | etot = -17.2182249391102 -814000 ekin = 2.84152372531506 | erot = 2.94333861884916 | epot = -22.8861063328149 | etot = -17.1012439886507 -815000 ekin = 2.76239406868367 | erot = 3.2073823268363 | epot = -22.8152543629751 | etot = -16.8454779674551 -816000 ekin = 2.59996655001802 | erot = 2.9541571575398 | epot = -22.7323176380825 | etot = -17.1781939305247 -817000 ekin = 2.50568509693887 | erot = 2.56873279592996 | epot = -22.6565557161143 | etot = -17.5821378232455 -818000 ekin = 2.36879357413845 | erot = 2.62740710801411 | epot = -22.5771576372408 | etot = -17.5809569550882 -819000 ekin = 2.22137153555244 | erot = 2.20921666742025 | epot = -22.5063000643985 | etot = -18.0757118614258 -820000 ekin = 2.15352101503844 | erot = 2.22634472649615 | epot = -22.4644595926715 | etot = -18.0845938511369 -821000 ekin = 2.02682142409779 | erot = 2.27918504669084 | epot = -22.4285107655678 | etot = -18.1225042947792 -822000 ekin = 1.96590621976212 | erot = 2.1193358571147 | epot = -22.3893132044792 | etot = -18.3040711276024 -823000 ekin = 1.87390236474894 | erot = 2.43833928629823 | epot = -22.3766834300039 | etot = -18.0644417789567 -824000 ekin = 1.76511965451009 | erot = 2.08632973066864 | epot = -22.384695570879 | etot = -18.5332461857003 -825000 ekin = 1.72275906923453 | erot = 2.05491870775394 | epot = -22.4158544093933 | etot = -18.6381766324048 -826000 ekin = 1.654231730303 | erot = 1.90118083599813 | epot = -22.4865285736228 | etot = -18.9311160073217 -827000 ekin = 1.6220387740366 | erot = 2.11543908973767 | epot = -22.5672947980656 | etot = -18.8298169342914 -828000 ekin = 1.50840521352428 | erot = 1.94184045091945 | epot = -22.6360835928992 | etot = -19.1858379284554 -829000 ekin = 1.53133011832189 | erot = 2.23719923783634 | epot = -22.6642383844097 | etot = -18.8957090282514 -830000 ekin = 1.57674105330123 | erot = 2.32835034574904 | epot = -22.6990636526513 | etot = -18.793972253601 -831000 ekin = 1.66163281968432 | erot = 2.45366313848764 | epot = -22.728227092002 | etot = -18.6129311338301 -832000 ekin = 1.61575752897352 | erot = 2.36469513946935 | epot = -22.7314805576127 | etot = -18.7510278891698 -833000 ekin = 1.57484623731402 | erot = 2.43716147594987 | epot = -22.731026717864 | etot = -18.7190190046001 -834000 ekin = 1.61211592880252 | erot = 2.27369578074054 | epot = -22.7231073149633 | etot = -18.8372956054203 -835000 ekin = 1.71255063218106 | erot = 2.25145179686401 | epot = -22.7213723561492 | etot = -18.7573699271041 -836000 ekin = 1.66410080947891 | erot = 2.36287362113634 | epot = -22.7106963960556 | etot = -18.6837219654403 -837000 ekin = 1.55393537343306 | erot = 2.19682771055502 | epot = -22.7054421830578 | etot = -18.9546790990697 -838000 ekin = 1.55395449543536 | erot = 1.97831033842468 | epot = -22.6952408411522 | etot = -19.1629760072922 -839000 ekin = 1.56966734033286 | erot = 1.54356794703842 | epot = -22.6819663107275 | etot = -19.5687310233562 -840000 ekin = 1.67828545417797 | erot = 1.72274710399929 | epot = -22.6537987135626 | etot = -19.2527661553853 -841000 ekin = 1.70756024783819 | erot = 1.86878110712351 | epot = -22.6201854793038 | etot = -19.0438441243421 -842000 ekin = 1.65445531752371 | erot = 1.98969497305846 | epot = -22.5834458053272 | etot = -18.939295514745 -843000 ekin = 1.61813041031721 | erot = 1.94297358985358 | epot = -22.5343209800003 | etot = -18.9732169798295 -844000 ekin = 1.66559589059894 | erot = 2.07459583566883 | epot = -22.4909419629376 | etot = -18.7507502366698 -845000 ekin = 1.67372319184911 | erot = 2.01531047459158 | epot = -22.4486472588118 | etot = -18.7596135923711 -846000 ekin = 1.76456308419071 | erot = 2.04286196110294 | epot = -22.390765558653 | etot = -18.5833405133594 -847000 ekin = 1.68474528716571 | erot = 1.95062183544452 | epot = -22.3219698462515 | etot = -18.6866027236413 -848000 ekin = 1.77692080839843 | erot = 1.94903343886577 | epot = -22.2732219411799 | etot = -18.5472676939157 -849000 ekin = 1.80865478838294 | erot = 1.92750105953017 | epot = -22.254397724875 | etot = -18.5182418769619 -850000 ekin = 1.81902433574993 | erot = 1.83695743097569 | epot = -22.289579874299 | etot = -18.6335981075734 -851000 ekin = 1.8919092098265 | erot = 1.99438142785362 | epot = -22.370687738675 | etot = -18.4843971009949 -852000 ekin = 1.85572644981142 | erot = 2.08333690915233 | epot = -22.4954803882537 | etot = -18.55641702929 -853000 ekin = 1.96819950961986 | erot = 2.46522063934758 | epot = -22.6461768022044 | etot = -18.2127566532369 -854000 ekin = 1.99027367747409 | erot = 2.82405245762684 | epot = -22.8233134890086 | etot = -18.0089873539077 -855000 ekin = 2.02041206494495 | erot = 2.76127853932992 | epot = -22.9719213877705 | etot = -18.1902307834956 -856000 ekin = 1.98428835568952 | erot = 2.89398807391186 | epot = -23.0688189336862 | etot = -18.1905425040848 -857000 ekin = 1.94437625728389 | erot = 2.75841683958909 | epot = -23.1174862513516 | etot = -18.4146931544786 -858000 ekin = 1.77145748342923 | erot = 2.97613159794702 | epot = -23.09256410399 | etot = -18.3449750226137 -859000 ekin = 1.75449757825827 | erot = 2.94820975919279 | epot = -23.0174946494366 | etot = -18.3147873119855 -860000 ekin = 1.69824130830274 | erot = 2.56619342882397 | epot = -22.9138277520104 | etot = -18.6493930148837 -861000 ekin = 1.61723118355358 | erot = 2.60723394434931 | epot = -22.7817384645193 | etot = -18.5572733366164 -862000 ekin = 1.65016805241347 | erot = 2.58826826538693 | epot = -22.6306365080491 | etot = -18.3922001902487 -863000 ekin = 1.62167782719988 | erot = 2.32265511281206 | epot = -22.4833247924575 | etot = -18.5389918524456 -864000 ekin = 1.64443917202622 | erot = 2.41694169974078 | epot = -22.3437317075498 | etot = -18.2823508357828 -865000 ekin = 1.6232360705676 | erot = 2.42797649716492 | epot = -22.2339680949561 | etot = -18.1827555272236 -866000 ekin = 1.52330589261667 | erot = 2.43806006675287 | epot = -22.1297693882999 | etot = -18.1684034289304 -867000 ekin = 1.53921563766813 | erot = 2.56348629931229 | epot = -22.0395837686754 | etot = -17.936881831695 -868000 ekin = 1.51596999194589 | erot = 2.55716270739324 | epot = -21.9937420973958 | etot = -17.9206093980567 -869000 ekin = 1.59814692071406 | erot = 2.15771580624658 | epot = -21.9767818689194 | etot = -18.2209191419588 -870000 ekin = 1.62438751258778 | erot = 2.30366665730519 | epot = -22.0119463158222 | etot = -18.0838921459292 -871000 ekin = 1.64699232625249 | erot = 2.29504943910978 | epot = -22.0696451748748 | etot = -18.1276034095125 -872000 ekin = 1.7493610768973 | erot = 1.99655620180651 | epot = -22.1253859835088 | etot = -18.379468704805 -873000 ekin = 1.81958663574001 | erot = 2.15311518592939 | epot = -22.1932828259255 | etot = -18.2205810042561 -874000 ekin = 1.81429910948355 | erot = 2.15191422065537 | epot = -22.2521915372751 | etot = -18.2859782071362 -875000 ekin = 1.92774125136724 | erot = 2.09841769816155 | epot = -22.295019959013 | etot = -18.2688610094842 -876000 ekin = 2.05205383204242 | erot = 1.71112886964279 | epot = -22.3353847724689 | etot = -18.5722020707837 -877000 ekin = 2.00183605233821 | erot = 1.88466440539221 | epot = -22.3587375372267 | etot = -18.4722370794963 -878000 ekin = 1.96978247023496 | erot = 1.94492504421967 | epot = -22.3467650367967 | etot = -18.432057522342 -879000 ekin = 1.89978467383989 | erot = 2.08488575038216 | epot = -22.3245187946312 | etot = -18.3398483704092 -880000 ekin = 1.79316389454238 | erot = 2.0447265911779 | epot = -22.3022731632373 | etot = -18.464382677517 -881000 ekin = 1.84166442689778 | erot = 1.91254711303492 | epot = -22.2610385401995 | etot = -18.5068270002668 -882000 ekin = 1.84084232668587 | erot = 1.89291352333202 | epot = -22.2058993058503 | etot = -18.4721434558324 -883000 ekin = 1.85228381570649 | erot = 2.04568547305427 | epot = -22.1462287912802 | etot = -18.2482595025195 -884000 ekin = 1.74299718482353 | erot = 2.41541515350573 | epot = -22.0952302162142 | etot = -17.936817877885 -885000 ekin = 1.7011370112973 | erot = 2.12494075622072 | epot = -22.0624268043462 | etot = -18.2363490368282 -886000 ekin = 1.65197597472173 | erot = 2.40636683282474 | epot = -22.0395749533722 | etot = -17.9812321458257 -887000 ekin = 1.60780982779807 | erot = 2.52410870185878 | epot = -22.0426576240069 | etot = -17.9107390943501 -888000 ekin = 1.62736239763282 | erot = 2.54417200798801 | epot = -22.0837991546705 | etot = -17.9122647490497 -889000 ekin = 1.56260633742274 | erot = 2.93015784124647 | epot = -22.1644353768122 | etot = -17.671671198143 -890000 ekin = 1.59045576751439 | erot = 2.98817840519876 | epot = -22.2639211219189 | etot = -17.6852869492058 -891000 ekin = 1.56285966089655 | erot = 3.45684679212764 | epot = -22.3811052217716 | etot = -17.3613987687474 -892000 ekin = 1.5433042783868 | erot = 3.72585516837269 | epot = -22.4833521640554 | etot = -17.2141927172959 -893000 ekin = 1.59146757296863 | erot = 3.57834579864732 | epot = -22.5732593414809 | etot = -17.4034459698649 -894000 ekin = 1.62137337508144 | erot = 3.47314499517222 | epot = -22.6375279089989 | etot = -17.5430095387452 -895000 ekin = 1.66705900655095 | erot = 3.49716948137549 | epot = -22.6624975634756 | etot = -17.4982690755491 -896000 ekin = 1.55030206730747 | erot = 3.09080759429309 | epot = -22.6660259737724 | etot = -18.0249163121719 -897000 ekin = 1.59716300255375 | erot = 3.1884711459157 | epot = -22.6447094591909 | etot = -17.8590753107214 -898000 ekin = 1.63846223091607 | erot = 3.52423413884758 | epot = -22.5748070090784 | etot = -17.4121106393147 -899000 ekin = 1.76043242630826 | erot = 3.57817463535426 | epot = -22.5017519688476 | etot = -17.1631449071851 -900000 ekin = 1.79654660125886 | erot = 3.47500564829584 | epot = -22.435532158833 | etot = -17.1639799092783 -901000 ekin = 1.90036826124888 | erot = 3.08289582473293 | epot = -22.3778122198663 | etot = -17.3945481338845 -902000 ekin = 1.86184581507265 | erot = 3.53323519891635 | epot = -22.3343178451943 | etot = -16.9392368312053 -903000 ekin = 1.82612532908466 | erot = 2.94106563489456 | epot = -22.2753946825372 | etot = -17.508203718558 -904000 ekin = 1.83566294124427 | erot = 2.77276060855958 | epot = -22.2178118874605 | etot = -17.6093883376567 -905000 ekin = 1.98760022520356 | erot = 2.39033190744213 | epot = -22.1879073476946 | etot = -17.8099752150489 -906000 ekin = 2.03479331668359 | erot = 2.33442285317147 | epot = -22.1683021524559 | etot = -17.7990859826009 -907000 ekin = 2.13854534243923 | erot = 2.49897360264073 | epot = -22.1329919803474 | etot = -17.4954730352674 -908000 ekin = 2.29292980718743 | erot = 2.19971547335205 | epot = -22.0946544988759 | etot = -17.6020092183364 -909000 ekin = 2.26088767533079 | erot = 2.08032511955685 | epot = -22.0656471636866 | etot = -17.724434368799 -910000 ekin = 2.24374768453805 | erot = 2.05633395260619 | epot = -22.0263801495106 | etot = -17.7262985123664 -911000 ekin = 2.21169387792048 | erot = 2.07671300621213 | epot = -21.9687563877575 | etot = -17.6803495036249 -912000 ekin = 2.2634282786901 | erot = 2.19424965404288 | epot = -21.8985767358493 | etot = -17.4408988031163 -913000 ekin = 2.25810530261871 | erot = 2.15174616542683 | epot = -21.8202885495934 | etot = -17.4104370815479 -914000 ekin = 2.22041757979719 | erot = 2.112964313505 | epot = -21.7659012518198 | etot = -17.4325193585176 -915000 ekin = 2.3058538526313 | erot = 2.01195201885166 | epot = -21.710587261287 | etot = -17.3927813898041 -916000 ekin = 2.31746417556776 | erot = 2.26468835943419 | epot = -21.6446439231988 | etot = -17.0624913881969 -917000 ekin = 2.29083855377465 | erot = 2.35266040877195 | epot = -21.5981818981915 | etot = -16.9546829356449 -918000 ekin = 2.21948812241831 | erot = 2.67757709392787 | epot = -21.5768387043291 | etot = -16.6797734879829 -919000 ekin = 2.17502484144656 | erot = 2.50505023715203 | epot = -21.5962136980994 | etot = -16.9161386195008 -920000 ekin = 2.05225364762711 | erot = 2.28466235959408 | epot = -21.6248903594419 | etot = -17.2879743522207 -921000 ekin = 1.95826631853156 | erot = 2.44785811644725 | epot = -21.6449866661272 | etot = -17.2388622311484 -922000 ekin = 1.88713416312701 | erot = 2.20407498665963 | epot = -21.6433309330735 | etot = -17.5521217832869 -923000 ekin = 1.85499144920864 | erot = 2.47959433102065 | epot = -21.6219980061652 | etot = -17.2874122259359 -924000 ekin = 1.82449923254799 | erot = 2.43607326145712 | epot = -21.581122536388 | etot = -17.3205500423829 -925000 ekin = 1.75365416617991 | erot = 2.6704338213266 | epot = -21.5654424680514 | etot = -17.1413544805449 -926000 ekin = 1.82728938436568 | erot = 2.42568919454089 | epot = -21.5649010983331 | etot = -17.3119225194266 -927000 ekin = 1.71111907929799 | erot = 2.49634793929369 | epot = -21.5869585210632 | etot = -17.3794915024715 -928000 ekin = 1.64740049786963 | erot = 2.5378889624632 | epot = -21.6442370240019 | etot = -17.4589475636691 -929000 ekin = 1.68616483039163 | erot = 2.2627280589498 | epot = -21.7404415309175 | etot = -17.7915486415761 -930000 ekin = 1.8057977284219 | erot = 2.41185782526022 | epot = -21.8766034841546 | etot = -17.6589479304725 -931000 ekin = 1.84540351563189 | erot = 2.51429545094947 | epot = -22.0343594510998 | etot = -17.6746604845185 -932000 ekin = 1.91948716687413 | erot = 2.5078924614536 | epot = -22.210720099767 | etot = -17.7833404714392 -933000 ekin = 2.08806765097296 | erot = 2.54053118825007 | epot = -22.3857648909584 | etot = -17.7571660517354 -934000 ekin = 2.15790983140663 | erot = 2.35997810662255 | epot = -22.5303312795783 | etot = -18.0124433415491 -935000 ekin = 2.25791486608222 | erot = 2.61090003819346 | epot = -22.6566492074988 | etot = -17.7878343032231 -936000 ekin = 2.28694449910393 | erot = 2.88785018879364 | epot = -22.7387712915678 | etot = -17.5639766036702 -937000 ekin = 2.25985365977459 | erot = 2.68904834283785 | epot = -22.7546509524832 | etot = -17.8057489498707 -938000 ekin = 2.28814448880636 | erot = 2.54450017128454 | epot = -22.6975117726246 | etot = -17.8648671125337 -939000 ekin = 2.22181328678752 | erot = 2.40773891474717 | epot = -22.5724060300395 | etot = -17.9428538285048 -940000 ekin = 2.1904731805913 | erot = 2.24413418480596 | epot = -22.382599968865 | etot = -17.9479926034678 -941000 ekin = 1.97789684714955 | erot = 2.11351242298925 | epot = -22.1581596355121 | etot = -18.0667503653733 -942000 ekin = 1.82283426550965 | erot = 2.02814504753847 | epot = -21.9245079619175 | etot = -18.0735286488694 -943000 ekin = 1.77337816858732 | erot = 1.98390662003602 | epot = -21.7436762740877 | etot = -17.9863914854644 -944000 ekin = 1.74129354399816 | erot = 2.02570172818747 | epot = -21.6008012672883 | etot = -17.8338059951026 -945000 ekin = 1.72896560635122 | erot = 2.2099750803776 | epot = -21.5146553493564 | etot = -17.5757146626276 -946000 ekin = 1.90743436357407 | erot = 2.13705774217383 | epot = -21.4832307541172 | etot = -17.4387386483693 -947000 ekin = 2.028379866634 | erot = 2.29971426385207 | epot = -21.4794165970829 | etot = -17.1513224665968 -948000 ekin = 2.03783072879855 | erot = 2.11465543087289 | epot = -21.4989322229569 | etot = -17.3464460632855 -949000 ekin = 2.16990164234306 | erot = 1.99168801462696 | epot = -21.5364977263911 | etot = -17.3749080694211 -950000 ekin = 2.24527818418913 | erot = 2.12106218398704 | epot = -21.6200851503001 | etot = -17.253744782124 -951000 ekin = 2.35977794911024 | erot = 2.09437757436299 | epot = -21.718296700309 | etot = -17.2641411768358 -952000 ekin = 2.43036880893062 | erot = 2.60988991207355 | epot = -21.8098996400664 | etot = -16.7696409190622 -953000 ekin = 2.58164820045211 | erot = 2.62403788420625 | epot = -21.9145443047315 | etot = -16.7088582200731 -954000 ekin = 2.67569984167854 | erot = 2.49812470218295 | epot = -21.9760951843273 | etot = -16.8022706404658 -955000 ekin = 2.87107117644804 | erot = 2.70877614839034 | epot = -22.0056490566507 | etot = -16.4258017318124 -956000 ekin = 3.09772559508496 | erot = 2.62503444551481 | epot = -21.9996173766366 | etot = -16.2768573360369 -957000 ekin = 3.06387016720788 | erot = 2.83023563118165 | epot = -21.9356950338519 | etot = -16.0415892354624 -958000 ekin = 3.15191228692187 | erot = 2.56018473189795 | epot = -21.7995256048187 | etot = -16.0874285859989 -959000 ekin = 3.17671440939285 | erot = 2.4842151393073 | epot = -21.6207768556276 | etot = -15.9598473069274 -960000 ekin = 3.01275155896461 | erot = 2.431673793689 | epot = -21.4002125285923 | etot = -15.9557871759387 -961000 ekin = 2.94603084981591 | erot = 2.28503967365799 | epot = -21.1407696110433 | etot = -15.9096990875694 -962000 ekin = 2.87549986152203 | erot = 2.26764795390621 | epot = -20.8628900961283 | etot = -15.7197422807 -963000 ekin = 2.72736350188063 | erot = 2.02845193194806 | epot = -20.6025221949606 | etot = -15.8467067611319 -964000 ekin = 2.55766914747927 | erot = 1.90275324626263 | epot = -20.3671083669859 | etot = -15.906685973244 -965000 ekin = 2.42945571607322 | erot = 1.87896821137038 | epot = -20.1665878867516 | etot = -15.858163959308 -966000 ekin = 2.30432659917118 | erot = 2.05976948111884 | epot = -20.0345331150588 | etot = -15.6704370347688 -967000 ekin = 2.19239153699739 | erot = 2.23712663137927 | epot = -19.93047491381 | etot = -15.5009567454333 -968000 ekin = 2.12056467997116 | erot = 2.29258395928729 | epot = -19.8478936101842 | etot = -15.4347449709257 -969000 ekin = 2.03082359465821 | erot = 2.12561043987577 | epot = -19.8204193361086 | etot = -15.6639853015746 -970000 ekin = 2.06263818102141 | erot = 2.20772735706072 | epot = -19.8171007441947 | etot = -15.5467352061125 -971000 ekin = 2.07242738756087 | erot = 2.39359294752953 | epot = -19.8426078132312 | etot = -15.3765874781408 -972000 ekin = 2.13593664400655 | erot = 2.51621155234823 | epot = -19.8711039585032 | etot = -15.2189557621484 -973000 ekin = 2.19239588059432 | erot = 2.71817846233973 | epot = -19.8806125652158 | etot = -14.9700382222818 -974000 ekin = 2.08126353721536 | erot = 2.92742241693054 | epot = -19.8623774193927 | etot = -14.8536914652468 -975000 ekin = 2.0110783324585 | erot = 2.57768138393002 | epot = -19.8162471814878 | etot = -15.2274874650993 -976000 ekin = 1.90089112618523 | erot = 2.56071712862254 | epot = -19.7674234084161 | etot = -15.3058151536083 -977000 ekin = 1.82747564687015 | erot = 2.561175280289 | epot = -19.6916974381971 | etot = -15.303046511038 -978000 ekin = 1.81823178973058 | erot = 2.21507357951039 | epot = -19.6525909549454 | etot = -15.6192855857044 -979000 ekin = 1.8602091000828 | erot = 2.09761460514009 | epot = -19.6622349611945 | etot = -15.7044112559716 -980000 ekin = 1.8981306313303 | erot = 1.86971657434407 | epot = -19.6793196081168 | etot = -15.9114724024424 -981000 ekin = 1.96055767456421 | erot = 1.80588067180903 | epot = -19.7616283768435 | etot = -15.9951900304703 -982000 ekin = 2.04211859099661 | erot = 2.0065708647352 | epot = -19.8926418365965 | etot = -15.8439523808647 -983000 ekin = 2.08434248544488 | erot = 2.13281702823496 | epot = -20.0190963786397 | etot = -15.8019368649599 -984000 ekin = 2.28263945352163 | erot = 2.30206381624197 | epot = -20.1817376774969 | etot = -15.5970344077333 -985000 ekin = 2.33165973691051 | erot = 2.36792674462185 | epot = -20.3496337869023 | etot = -15.65004730537 -986000 ekin = 2.36845296330311 | erot = 2.40477790490572 | epot = -20.5172631957726 | etot = -15.7440323275638 -987000 ekin = 2.44660573334477 | erot = 2.60656597532256 | epot = -20.6827873919813 | etot = -15.629615683314 -988000 ekin = 2.48779340096477 | erot = 2.57507657271676 | epot = -20.8472563124179 | etot = -15.7843863387364 -989000 ekin = 2.62562775055009 | erot = 2.7875350688748 | epot = -20.9917314563749 | etot = -15.57856863695 -990000 ekin = 2.71356724748619 | erot = 3.06120975803976 | epot = -21.1004443459535 | etot = -15.3256673404276 -991000 ekin = 2.84485263344776 | erot = 3.42057995731802 | epot = -21.1508216928249 | etot = -14.8853891020592 -992000 ekin = 2.88616886570543 | erot = 3.47043505669747 | epot = -21.1491979980144 | etot = -14.7925940756115 -993000 ekin = 2.86101706987592 | erot = 3.40172740673593 | epot = -21.1075232078054 | etot = -14.8447787311935 -994000 ekin = 2.90016396739103 | erot = 3.68400469178538 | epot = -21.0544509503641 | etot = -14.4702822911876 -995000 ekin = 2.84836922582537 | erot = 3.86724891435329 | epot = -20.9907241498061 | etot = -14.2751060096275 -996000 ekin = 2.87268648345341 | erot = 3.37952872488001 | epot = -20.9186469222953 | etot = -14.6664317139619 -997000 ekin = 2.84260788754428 | erot = 3.24170863044316 | epot = -20.8185896660715 | etot = -14.7342731480841 -998000 ekin = 2.86644419268205 | erot = 3.30788437736625 | epot = -20.6892589093475 | etot = -14.5149303392992 -999000 ekin = 2.91762607564667 | erot = 3.19659159185214 | epot = -20.5404731143958 | etot = -14.426255446897 -1000000 ekin = 2.92466509156961 | erot = 2.67428308533433 | epot = -20.3978646538425 | etot = -14.7989164769385 - 1000000 0.12998512 -1.3075422 0.032675661 -1.092075 0.0002012331 64000 -Loop time of 37.6859 on 1 procs for 1000000 steps with 16 atoms - -Performance: 22926.360 tau/day, 26535.139 timesteps/s -99.2% CPU use with 1 MPI tasks x no OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 31.712 | 31.712 | 31.712 | 0.0 | 84.15 -Bond | 1.0014 | 1.0014 | 1.0014 | 0.0 | 2.66 -Neigh | 0.014936 | 0.014936 | 0.014936 | 0.0 | 0.04 -Comm | 0.23328 | 0.23328 | 0.23328 | 0.0 | 0.62 -Output | 0.16016 | 0.16016 | 0.16016 | 0.0 | 0.42 -Modify | 4.2289 | 4.2289 | 4.2289 | 0.0 | 11.22 -Other | | 0.3355 | | | 0.89 - -Nlocal: 16.0000 ave 16 max 16 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 0.00000 ave 0 max 0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 107.000 ave 107 max 107 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 107 -Ave neighs/atom = 6.6875000 -Ave special neighs/atom = 3.7500000 -Neighbor list builds = 1000 -Dangerous builds = 0 - -write_data last_config.${number}.* nocoeff -write_data last_config.2.* nocoeff -System init for write_data ... -Total wall time: 0:00:37 diff --git a/examples/PACKAGES/cgdna/examples/oxDNA2/duplex2/log.27May21.duplex2.g++.4 b/examples/PACKAGES/cgdna/examples/oxDNA2/duplex2/log.27May21.duplex2.g++.4 deleted file mode 100644 index 0cd4417b42..0000000000 --- a/examples/PACKAGES/cgdna/examples/oxDNA2/duplex2/log.27May21.duplex2.g++.4 +++ /dev/null @@ -1,1182 +0,0 @@ -LAMMPS (27 May 2021) -variable number equal 2 -variable ofreq equal 1000 -variable efreq equal 1000 -variable T equal 0.1 -variable rhos equal 0.2 - -units lj - -dimension 3 - -newton off - -boundary p p p - -atom_style hybrid bond ellipsoid oxdna -WARNING: Atom style hybrid defines both, per-type and per-atom masses; both must be set, but only per-atom masses will be used (../atom_vec_hybrid.cpp:157) -atom_modify sort 0 1.0 - -# Pair interactions require lists of neighbours to be calculated -neighbor 2.0 bin -neigh_modify every 1 delay 0 check yes - -read_data data.duplex2 -Reading data file ... - orthogonal box = (-20.000000 -20.000000 -20.000000) to (20.000000 20.000000 20.000000) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 16 atoms - reading velocities ... - 16 velocities - scanning bonds ... - 2 = max bonds/atom - 16 ellipsoids - reading bonds ... - 13 bonds -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 - 2 = max # of 1-3 neighbors - 4 = max # of 1-4 neighbors - 6 = max # of special neighbors - special bonds CPU = 0.001 seconds - read_data CPU = 0.005 seconds - -set atom * mass 3.1575 -Setting atom values ... - 16 settings made for mass - -group all type 1 4 -16 atoms in group all - -# oxDNA2 bond interactions - FENE backbone -bond_style oxdna2/fene -bond_coeff * 2.0 0.25 0.7564 -special_bonds lj 0 1 1 -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 1 1 - special bond factors coul: 0 0 0 - 2 = max # of 1-2 neighbors - 2 = max # of 1-3 neighbors - 4 = max # of 1-4 neighbors - 6 = max # of special neighbors - special bonds CPU = 0.000 seconds - -# oxDNA2 pair interactions -pair_style hybrid/overlay oxdna2/excv oxdna2/stk oxdna2/hbond oxdna2/xstk oxdna2/coaxstk oxdna2/dh -pair_coeff * * oxdna2/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32 -pair_coeff * * oxdna2/stk seqav ${T} 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 -pair_coeff * * oxdna2/stk seqav 0.1 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 -pair_coeff * * oxdna2/hbond seqav 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 1 4 oxdna2/hbond seqav 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 2 3 oxdna2/hbond seqav 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff * * oxdna2/xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68 -pair_coeff * * oxdna2/coaxstk 58.5 0.4 0.6 0.22 0.58 2.0 2.891592653589793 0.65 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 40.0 3.116592653589793 -pair_coeff * * oxdna2/dh ${T} ${rhos} 0.815 -pair_coeff * * oxdna2/dh 0.1 ${rhos} 0.815 -pair_coeff * * oxdna2/dh 0.1 0.2 0.815 - -# NVE ensemble -fix 1 all nve/asphere -fix 2 all langevin ${T} ${T} 2.5 457145 angmom 10 -fix 2 all langevin 0.1 ${T} 2.5 457145 angmom 10 -fix 2 all langevin 0.1 0.1 2.5 457145 angmom 10 - -timestep 1e-5 - -#comm_style tiled -fix 3 all balance 1000 1.03 shift xyz 10 1.03 -comm_modify cutoff 3.8 - -compute quat all property/atom quatw quati quatj quatk - -compute erot all erotate/asphere -compute ekin all ke -compute epot all pe -variable erot equal c_erot -variable ekin equal c_ekin -variable epot equal c_epot -variable etot equal c_erot+c_ekin+c_epot -fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes -fix 5 all print 1000 "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes - -dump out all custom ${ofreq} out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz -dump out all custom 1000 out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz -dump out all custom 1000 out.2.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz -dump_modify out sort id -dump_modify out format line "%d %d %d %22.15le %22.15le %22.15le %d %d %d %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le" - -run 1000000 -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 5.6389877 - ghost atom cutoff = 5.6389877 - binsize = 2.8194939, bins = 15 15 15 - 5 neighbor lists, perpetual/occasional/extra = 5 0 0 - (1) pair oxdna2/excv, perpetual - attributes: half, newton off - pair build: half/bin/newtoff - stencil: full/bin/3d - bin: standard - (2) pair oxdna2/hbond, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (3) pair oxdna2/xstk, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (4) pair oxdna2/coaxstk, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (5) pair oxdna2/dh, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none -WARNING: Communication cutoff adjusted to 5.638987723814632 (../comm.cpp:739) -0 ekin = 2.70475393009871 | erot = 2.80172072918779 | epot = -21.0482852787267 | etot = -15.5418106194402 -Per MPI rank memory allocation (min/avg/max) = 9.570 | 9.599 | 9.684 Mbytes -Step Temp E_pair E_mol TotEng Press Volume - 0 0.12021129 -1.3610384 0.045520537 -1.1464707 5.9660461e-05 64000 -1000 ekin = 2.72013629959678 | erot = 3.04690178503881 | epot = -20.8790776967073 | etot = -15.1120396120718 -2000 ekin = 2.78009554567455 | erot = 2.50647079931992 | epot = -20.701004729611 | etot = -15.4144383846165 -3000 ekin = 2.76688166744693 | erot = 2.2821949377072 | epot = -20.5676929006559 | etot = -15.5186162955017 -4000 ekin = 2.70260128929367 | erot = 2.27403484282169 | epot = -20.4705557396832 | etot = -15.4939196075679 -5000 ekin = 2.64234178224169 | erot = 2.30733191000246 | epot = -20.423605764695 | etot = -15.4739320724509 -6000 ekin = 2.65801663486023 | erot = 2.39066626378173 | epot = -20.4246308066932 | etot = -15.3759479080512 -7000 ekin = 2.68316645880461 | erot = 2.33063300072945 | epot = -20.4749165048776 | etot = -15.4611170453436 -8000 ekin = 2.59120591314502 | erot = 2.0547790667844 | epot = -20.5631212612484 | etot = -15.917136281319 -9000 ekin = 2.65376648779414 | erot = 2.11575091090835 | epot = -20.6881173411843 | etot = -15.9185999424818 -10000 ekin = 2.77402134048095 | erot = 2.56538522546418 | epot = -20.812379085734 | etot = -15.4729725197888 -11000 ekin = 2.67401627862024 | erot = 2.8852684806639 | epot = -20.9238620704284 | etot = -15.3645773111443 -12000 ekin = 2.69364271301778 | erot = 2.66699911618312 | epot = -21.0407385357143 | etot = -15.6800967065134 -13000 ekin = 2.7835207626619 | erot = 2.62517780661367 | epot = -21.1720350247762 | etot = -15.7633364555007 -14000 ekin = 2.84595331390101 | erot = 2.43480334086399 | epot = -21.2963503704521 | etot = -16.0155937156871 -15000 ekin = 2.88907009700338 | erot = 2.41912745049441 | epot = -21.4150808543173 | etot = -16.1068833068195 -16000 ekin = 3.00758069356163 | erot = 2.63110801135323 | epot = -21.5261697271622 | etot = -15.8874810222474 -17000 ekin = 3.08749820661834 | erot = 2.5313798011721 | epot = -21.6092998996455 | etot = -15.990421891855 -18000 ekin = 2.97601119892236 | erot = 2.53805591696762 | epot = -21.6415056622546 | etot = -16.1274385463646 -19000 ekin = 2.8848844473712 | erot = 2.54441184479443 | epot = -21.6205491988714 | etot = -16.1912529067057 -20000 ekin = 2.65941914113234 | erot = 2.80243564233628 | epot = -21.5551870578305 | etot = -16.0933322743619 -21000 ekin = 2.57547433431649 | erot = 2.7496552753446 | epot = -21.4613716405082 | etot = -16.1362420308471 -22000 ekin = 2.53510807627333 | erot = 2.74029747587436 | epot = -21.3396334655202 | etot = -16.0642279133725 -23000 ekin = 2.40091416401757 | erot = 2.41245160665477 | epot = -21.2029723825425 | etot = -16.3896066118702 -24000 ekin = 2.35240654345191 | erot = 2.10101829600981 | epot = -21.0659817341104 | etot = -16.6125568946487 -25000 ekin = 2.24250544456842 | erot = 2.18590508799003 | epot = -20.9513445132091 | etot = -16.5229339806506 -26000 ekin = 2.15423649133114 | erot = 2.45727700237473 | epot = -20.866937908599 | etot = -16.2554244148931 -27000 ekin = 1.93524632585275 | erot = 2.34650303801409 | epot = -20.8326435236229 | etot = -16.5508941597561 -28000 ekin = 1.76943324443446 | erot = 2.41353675794598 | epot = -20.8217433644356 | etot = -16.6387733620552 -29000 ekin = 1.75176430946868 | erot = 2.21029128532645 | epot = -20.8529129923908 | etot = -16.8908573975956 -30000 ekin = 1.69211824889088 | erot = 2.43399158562873 | epot = -20.9103885167126 | etot = -16.784278682193 -31000 ekin = 1.72526028314479 | erot = 2.32450864670459 | epot = -21.0087646424163 | etot = -16.9589957125669 -32000 ekin = 1.85144315905103 | erot = 2.36996515630943 | epot = -21.1366890377948 | etot = -16.9152807224343 -33000 ekin = 1.92914135939677 | erot = 2.55157176589721 | epot = -21.2867811906613 | etot = -16.8060680653673 -34000 ekin = 1.86488201964575 | erot = 2.70400704788851 | epot = -21.4771748939503 | etot = -16.908285826416 -35000 ekin = 1.82452979540543 | erot = 2.88148899883832 | epot = -21.6928620054229 | etot = -16.9868432111792 -36000 ekin = 1.85882387630624 | erot = 2.79217577332803 | epot = -21.8984987105766 | etot = -17.2474990609424 -37000 ekin = 1.92831232163797 | erot = 2.92698521263713 | epot = -22.097948831493 | etot = -17.2426512972179 -38000 ekin = 1.935816304174 | erot = 2.90317027990001 | epot = -22.2686450915845 | etot = -17.4296585075105 -39000 ekin = 2.01059319335201 | erot = 2.94480429938125 | epot = -22.3778651261379 | etot = -17.4224676334047 -40000 ekin = 1.9707104121532 | erot = 2.93286391865189 | epot = -22.417858975573 | etot = -17.5142846447679 -41000 ekin = 2.05746434456946 | erot = 2.68242698010624 | epot = -22.3807196920657 | etot = -17.64082836739 -42000 ekin = 2.0911250992276 | erot = 2.6968518051769 | epot = -22.2906811943749 | etot = -17.5027042899704 -43000 ekin = 2.01814513009277 | erot = 2.85562815769075 | epot = -22.1601960046645 | etot = -17.2864227168809 -44000 ekin = 1.9217179974809 | erot = 2.74064501961459 | epot = -22.0236920121946 | etot = -17.3613289950991 -45000 ekin = 1.81213357146532 | erot = 2.33969637171489 | epot = -21.9013900155101 | etot = -17.7495600723299 -46000 ekin = 1.70431886268157 | erot = 2.39010616929271 | epot = -21.7951136139008 | etot = -17.7006885819265 -47000 ekin = 1.66181647983356 | erot = 2.43237478783467 | epot = -21.692979578058 | etot = -17.5987883103898 -48000 ekin = 1.6064085128736 | erot = 2.34869900597689 | epot = -21.5897329144351 | etot = -17.6346253955846 -49000 ekin = 1.52653989846239 | erot = 2.00084533105261 | epot = -21.5040522645286 | etot = -17.9766670350136 -50000 ekin = 1.44266718781295 | erot = 2.13453634177553 | epot = -21.4422830581905 | etot = -17.865079528602 -51000 ekin = 1.43550636726016 | erot = 2.23006562743143 | epot = -21.3792358932285 | etot = -17.713663898537 -52000 ekin = 1.41917583919533 | erot = 2.33479503366763 | epot = -21.3396501545003 | etot = -17.5856792816373 -53000 ekin = 1.50159149702876 | erot = 2.56353973620708 | epot = -21.3318420135024 | etot = -17.2667107802665 -54000 ekin = 1.53108046116779 | erot = 2.69431714698444 | epot = -21.3427130336452 | etot = -17.117315425493 -55000 ekin = 1.5720449679094 | erot = 2.27080332163902 | epot = -21.3613604522624 | etot = -17.518512162714 -56000 ekin = 1.49781857063065 | erot = 2.33086022046605 | epot = -21.3901677321077 | etot = -17.561488941011 -57000 ekin = 1.503261266716 | erot = 2.18728874275908 | epot = -21.4375848454808 | etot = -17.7470348360058 -58000 ekin = 1.56885163164476 | erot = 2.04781187994405 | epot = -21.4901198020452 | etot = -17.8734562904564 -59000 ekin = 1.6445687577087 | erot = 2.0921617030342 | epot = -21.5467238774716 | etot = -17.8099934167287 -60000 ekin = 1.6169192573205 | erot = 2.29542751813012 | epot = -21.6038795960773 | etot = -17.6915328206267 -61000 ekin = 1.65884539872101 | erot = 2.1084734948915 | epot = -21.6559771193387 | etot = -17.8886582257262 -62000 ekin = 1.72309094226646 | erot = 2.30407725612069 | epot = -21.7076104489971 | etot = -17.6804422506099 -63000 ekin = 1.68827086718387 | erot = 2.43329143180656 | epot = -21.7495751902361 | etot = -17.6280128912457 -64000 ekin = 1.77925986833289 | erot = 2.43931965882654 | epot = -21.7824788671426 | etot = -17.5638993399832 -65000 ekin = 1.71201207010361 | erot = 2.055652813486 | epot = -21.8004838491859 | etot = -18.0328189655963 -66000 ekin = 1.72258841195346 | erot = 1.8922111104938 | epot = -21.8042275382222 | etot = -18.1894280157749 -67000 ekin = 1.81093386427591 | erot = 1.9714982271847 | epot = -21.8237244535635 | etot = -18.0412923621029 -68000 ekin = 1.92086731218825 | erot = 2.04627775213356 | epot = -21.853856684096 | etot = -17.8867116197742 -69000 ekin = 1.95769420352299 | erot = 2.00695954556819 | epot = -21.8959292342322 | etot = -17.9312754851411 -70000 ekin = 2.04640812952272 | erot = 1.99675167399818 | epot = -21.9385347387981 | etot = -17.8953749352772 -71000 ekin = 2.09757818208408 | erot = 2.01099773767172 | epot = -21.9790979736474 | etot = -17.8705220538916 -72000 ekin = 2.17178409239839 | erot = 2.18113395841071 | epot = -22.015468769256 | etot = -17.6625507184469 -73000 ekin = 2.15190632785464 | erot = 2.45126940688759 | epot = -22.0387524357625 | etot = -17.4355767010203 -74000 ekin = 2.16265422451101 | erot = 2.15818555561656 | epot = -22.0321747353182 | etot = -17.7113349551906 -75000 ekin = 2.14414193832382 | erot = 1.98187999045799 | epot = -22.0167291804319 | etot = -17.8907072516501 -76000 ekin = 2.24692887257252 | erot = 1.89718749935303 | epot = -21.9954563023383 | etot = -17.8513399304128 -77000 ekin = 2.23929641773342 | erot = 1.79331586377881 | epot = -21.9651666845261 | etot = -17.9325544030139 -78000 ekin = 2.25131896609554 | erot = 1.81371170007279 | epot = -21.9326569846905 | etot = -17.8676263185222 -79000 ekin = 2.27306161178794 | erot = 1.71185434931883 | epot = -21.8897569865356 | etot = -17.9048410254288 -80000 ekin = 2.39399894443299 | erot = 1.35732464587517 | epot = -21.8616153060318 | etot = -18.1102917157236 -81000 ekin = 2.47373459732163 | erot = 1.54787737363677 | epot = -21.8542089705401 | etot = -17.8325969995817 -82000 ekin = 2.47280496509114 | erot = 1.57756404285384 | epot = -21.8821357876168 | etot = -17.8317667796718 -83000 ekin = 2.48717741782561 | erot = 1.71069094857345 | epot = -21.9195089096536 | etot = -17.7216405432545 -84000 ekin = 2.44796638425876 | erot = 2.01404972344718 | epot = -21.9668916260735 | etot = -17.5048755183675 -85000 ekin = 2.3957408319547 | erot = 2.32413660190234 | epot = -22.0180542299227 | etot = -17.2981767960657 -86000 ekin = 2.48782292320374 | erot = 1.96978488305034 | epot = -22.0725803391446 | etot = -17.6149725328905 -87000 ekin = 2.57930151405764 | erot = 2.2570902138915 | epot = -22.1348945159438 | etot = -17.2985027879947 -88000 ekin = 2.6956024897412 | erot = 2.13715554675378 | epot = -22.1930571194782 | etot = -17.3602990829832 -89000 ekin = 2.72380030029144 | erot = 2.11665976738326 | epot = -22.2588492472984 | etot = -17.4183891796237 -90000 ekin = 2.7775820443459 | erot = 2.3087167926615 | epot = -22.3316634662033 | etot = -17.2453646291959 -91000 ekin = 2.78121426761679 | erot = 2.06238861884245 | epot = -22.3950019314361 | etot = -17.5513990449768 -92000 ekin = 2.82075935404361 | erot = 2.27555189363852 | epot = -22.4458982217016 | etot = -17.3495869740194 -93000 ekin = 2.74234324408922 | erot = 2.73218737047999 | epot = -22.4777668035594 | etot = -17.0032361889902 -94000 ekin = 2.70595529611257 | erot = 2.8219193945842 | epot = -22.4719589759707 | etot = -16.9440842852739 -95000 ekin = 2.60066897821264 | erot = 2.87810504187081 | epot = -22.4346047957434 | etot = -16.9558307756599 -96000 ekin = 2.6262407611824 | erot = 3.14516589179064 | epot = -22.3619497140362 | etot = -16.5905430610632 -97000 ekin = 2.53528413246992 | erot = 2.79030318337089 | epot = -22.2496930254016 | etot = -16.9241057095608 -98000 ekin = 2.63666210187981 | erot = 2.76857448865096 | epot = -22.1491630400741 | etot = -16.7439264495434 -99000 ekin = 2.65483668512638 | erot = 2.78595031296347 | epot = -22.0460055113192 | etot = -16.6052185132294 -100000 ekin = 2.61516760613048 | erot = 2.20131962587002 | epot = -21.9508073892687 | etot = -17.1343201572682 -101000 ekin = 2.54624393295481 | erot = 2.36995664901277 | epot = -21.8740804698391 | etot = -16.9578798878716 -102000 ekin = 2.51242302732686 | erot = 2.61025478737428 | epot = -21.821356011813 | etot = -16.6986781971118 -103000 ekin = 2.47093986976496 | erot = 2.46981056153027 | epot = -21.7940331055599 | etot = -16.8532826742647 -104000 ekin = 2.46347963016611 | erot = 2.49008073758038 | epot = -21.7873646863928 | etot = -16.8338043186463 -105000 ekin = 2.38625333180197 | erot = 2.62338268192898 | epot = -21.7895340190363 | etot = -16.7798980053054 -106000 ekin = 2.31544255189987 | erot = 2.76529048503053 | epot = -21.7908248307259 | etot = -16.7100917937955 -107000 ekin = 2.35684717555652 | erot = 2.65933844478903 | epot = -21.7713781480754 | etot = -16.7551925277298 -108000 ekin = 2.29901143856397 | erot = 2.67802590245662 | epot = -21.7311454445308 | etot = -16.7541081035102 -109000 ekin = 2.32828462660076 | erot = 2.93774189015171 | epot = -21.6703154087736 | etot = -16.4042888920211 -110000 ekin = 2.27463751555897 | erot = 2.84342022670568 | epot = -21.5866031030149 | etot = -16.4685453607503 -111000 ekin = 2.17735794909434 | erot = 2.50678168266737 | epot = -21.4648745015602 | etot = -16.7807348697985 -112000 ekin = 2.185499595072 | erot = 2.55181336139714 | epot = -21.2989895507539 | etot = -16.5616765942847 -113000 ekin = 2.1730426325684 | erot = 2.34739205656817 | epot = -21.1119565159277 | etot = -16.5915218267911 -114000 ekin = 2.125108069316 | erot = 2.37674761233523 | epot = -20.9271632839068 | etot = -16.4253076022556 -115000 ekin = 2.06139325414478 | erot = 2.59024149702735 | epot = -20.7601756973169 | etot = -16.1085409461448 -116000 ekin = 2.00592136714115 | erot = 2.63732939337337 | epot = -20.6295174385162 | etot = -15.9862666780017 -117000 ekin = 2.00329160062531 | erot = 2.56870813228611 | epot = -20.5296446810243 | etot = -15.9576449481129 -118000 ekin = 2.0174280975583 | erot = 2.46944506284098 | epot = -20.4506063861926 | etot = -15.9637332257933 -119000 ekin = 1.98594704489191 | erot = 2.26746616716464 | epot = -20.4288828122731 | etot = -16.1754696002165 -120000 ekin = 1.94483011509478 | erot = 2.33696205000853 | epot = -20.442383394879 | etot = -16.1605912297756 -121000 ekin = 2.12792735290882 | erot = 2.36924962566049 | epot = -20.4991944142893 | etot = -16.00201743572 -122000 ekin = 2.10495427089355 | erot = 2.48776527931776 | epot = -20.574325415596 | etot = -15.9816058653847 -123000 ekin = 2.17541547749012 | erot = 2.84180455684321 | epot = -20.6672573168908 | etot = -15.6500372825575 -124000 ekin = 2.19585323570719 | erot = 2.81219539890926 | epot = -20.7617372386161 | etot = -15.7536886039996 -125000 ekin = 2.23956101001686 | erot = 2.84608901602504 | epot = -20.8364418009793 | etot = -15.7507917749374 -126000 ekin = 2.29874303635747 | erot = 3.12890547205359 | epot = -20.8639002292415 | etot = -15.4362517208305 -127000 ekin = 2.34552442074478 | erot = 2.96762996381649 | epot = -20.8482814122638 | etot = -15.5351270277026 -128000 ekin = 2.38042396339133 | erot = 2.39829809100068 | epot = -20.7821422786062 | etot = -16.0034202242142 -129000 ekin = 2.38818705381732 | erot = 2.14510497375872 | epot = -20.708044378118 | etot = -16.174752350542 -130000 ekin = 2.27293411796489 | erot = 2.06717107329867 | epot = -20.680722380144 | etot = -16.3406171888804 -131000 ekin = 2.28550173826512 | erot = 1.94055567970255 | epot = -20.6369898880998 | etot = -16.4109324701321 -132000 ekin = 2.26691955879914 | erot = 1.71853531657476 | epot = -20.577540507524 | etot = -16.5920856321501 -133000 ekin = 2.29137866879739 | erot = 1.62868472043517 | epot = -20.5420933212006 | etot = -16.622029931968 -134000 ekin = 2.25290206497431 | erot = 1.68278061233814 | epot = -20.5183097363761 | etot = -16.5826270590636 -135000 ekin = 2.14285941072835 | erot = 1.86118396103706 | epot = -20.5054969500188 | etot = -16.5014535782534 -136000 ekin = 2.12990199371918 | erot = 2.04359124600871 | epot = -20.5201047968038 | etot = -16.3466115570759 -137000 ekin = 2.07754853855295 | erot = 1.83088096227378 | epot = -20.5722472452261 | etot = -16.6638177443993 -138000 ekin = 2.15013934154965 | erot = 2.00941220949273 | epot = -20.667779560491 | etot = -16.5082280094487 -139000 ekin = 2.20517582266463 | erot = 1.94652682269834 | epot = -20.7931525252622 | etot = -16.6414498798992 -140000 ekin = 2.33731236767234 | erot = 1.96166026745082 | epot = -20.9310868774548 | etot = -16.6321142423316 -141000 ekin = 2.24448516285964 | erot = 2.27879036592832 | epot = -21.0648426319454 | etot = -16.5415671031575 -142000 ekin = 2.1931532375379 | erot = 2.32670116857754 | epot = -21.187774798334 | etot = -16.6679203922185 -143000 ekin = 2.151548283963 | erot = 2.38826183428083 | epot = -21.3137287268919 | etot = -16.7739186086481 -144000 ekin = 2.10225107667088 | erot = 2.40324709726068 | epot = -21.4354683955924 | etot = -16.9299702216609 -145000 ekin = 2.06221666396487 | erot = 2.32981540966414 | epot = -21.5580653796756 | etot = -17.1660333060466 -146000 ekin = 2.15268481715545 | erot = 2.24715096803345 | epot = -21.6452484907074 | etot = -17.2454127055185 -147000 ekin = 2.13045113501517 | erot = 2.24956262085626 | epot = -21.724100810277 | etot = -17.3440870544056 -148000 ekin = 2.14237927540729 | erot = 2.32388813542663 | epot = -21.8239853334792 | etot = -17.3577179226453 -149000 ekin = 2.13016451804401 | erot = 2.31003298264327 | epot = -21.9413859720018 | etot = -17.5011884713145 -150000 ekin = 2.1118941592917 | erot = 2.27040882248859 | epot = -22.0736176258281 | etot = -17.6913146440478 -151000 ekin = 2.08490791036346 | erot = 2.53796433942571 | epot = -22.1831326518407 | etot = -17.5602604020515 -152000 ekin = 2.05056796581086 | erot = 2.74378211496597 | epot = -22.2707370073162 | etot = -17.4763869265394 -153000 ekin = 2.01058950481926 | erot = 2.62970741316349 | epot = -22.3376436760766 | etot = -17.6973467580939 -154000 ekin = 2.01943769577487 | erot = 2.39009828792415 | epot = -22.4001638198039 | etot = -17.9906278361049 -155000 ekin = 2.05430763784564 | erot = 2.40978970203131 | epot = -22.4403746514595 | etot = -17.9762773115826 -156000 ekin = 2.10246203476605 | erot = 2.3162862509107 | epot = -22.3947496278242 | etot = -17.9760013421475 -157000 ekin = 2.20121785931622 | erot = 2.26047844907516 | epot = -22.3626746382073 | etot = -17.900978329816 -158000 ekin = 2.16806247020174 | erot = 2.01859116115299 | epot = -22.3794788142255 | etot = -18.1928251828708 -159000 ekin = 2.20647608921295 | erot = 2.03708981782408 | epot = -22.393340456396 | etot = -18.149774549359 -160000 ekin = 2.28482979303694 | erot = 2.06672295727712 | epot = -22.392971509361 | etot = -18.041418759047 -161000 ekin = 2.35408441526349 | erot = 2.11425691782657 | epot = -22.3845712470919 | etot = -17.9162299140018 -162000 ekin = 2.44383531112342 | erot = 2.051421726327 | epot = -22.3873594705055 | etot = -17.8921024330551 -163000 ekin = 2.38397054654208 | erot = 2.18088509829525 | epot = -22.4046928902402 | etot = -17.8398372454029 -164000 ekin = 2.36323785475495 | erot = 2.24099333696013 | epot = -22.4304254420051 | etot = -17.82619425029 -165000 ekin = 2.42861068657701 | erot = 2.32334175306822 | epot = -22.4693846686275 | etot = -17.7174322289823 -166000 ekin = 2.49646527013099 | erot = 2.76008268343011 | epot = -22.5024150074813 | etot = -17.2458670539202 -167000 ekin = 2.39742733231154 | erot = 2.66606455445541 | epot = -22.5059226951214 | etot = -17.4424308083544 -168000 ekin = 2.48222864422377 | erot = 2.12985047091143 | epot = -22.4839259607868 | etot = -17.8718468456516 -169000 ekin = 2.34389140284719 | erot = 2.23877784986582 | epot = -22.4355001459226 | etot = -17.8528308932096 -170000 ekin = 2.27819176115938 | erot = 2.38937348011876 | epot = -22.3963232925857 | etot = -17.7287580513075 -171000 ekin = 2.26183375697858 | erot = 2.6630881316761 | epot = -22.3493672389157 | etot = -17.424445350261 -172000 ekin = 2.27023963981113 | erot = 2.54732213285255 | epot = -22.2868682454192 | etot = -17.4693064727556 -173000 ekin = 2.19713801069004 | erot = 2.39492663110738 | epot = -22.206730666232 | etot = -17.6146660244346 -174000 ekin = 2.08128149693209 | erot = 2.65361881164586 | epot = -22.1239183165146 | etot = -17.3890180079366 -175000 ekin = 2.03179136441175 | erot = 2.6576915931798 | epot = -22.0831649919729 | etot = -17.3936820343813 -176000 ekin = 1.92235220335479 | erot = 2.46758244642911 | epot = -22.0704760764067 | etot = -17.6805414266228 -177000 ekin = 1.8767629533276 | erot = 2.76485058121241 | epot = -22.0943278887433 | etot = -17.4527143542032 -178000 ekin = 1.8196851112205 | erot = 3.06889049439786 | epot = -22.1713258315083 | etot = -17.28275022589 -179000 ekin = 1.83239453530745 | erot = 2.97256669493261 | epot = -22.3031073057822 | etot = -17.4981460755421 -180000 ekin = 1.78621083222566 | erot = 3.29401414659415 | epot = -22.470138760406 | etot = -17.3899137815862 -181000 ekin = 1.8851818529848 | erot = 3.13321574647615 | epot = -22.6327591209892 | etot = -17.6143615215283 -182000 ekin = 1.91900100882708 | erot = 2.86862183641649 | epot = -22.7815951170131 | etot = -17.9939722717695 -183000 ekin = 2.05132570727861 | erot = 3.08267197262641 | epot = -22.909220686437 | etot = -17.7752230065319 -184000 ekin = 2.06184088528539 | erot = 3.2007444069867 | epot = -23.0268740612164 | etot = -17.7642887689443 -185000 ekin = 2.09012289683705 | erot = 3.47009431072624 | epot = -23.1337090395161 | etot = -17.5734918319528 -186000 ekin = 2.23866301207462 | erot = 3.60859469886155 | epot = -23.1738137395751 | etot = -17.3265560286389 -187000 ekin = 2.42181473602224 | erot = 3.85086245359563 | epot = -23.1972395336004 | etot = -16.9245623439825 -188000 ekin = 2.41473791720882 | erot = 4.13943673363265 | epot = -23.313660149446 | etot = -16.7594854986045 -189000 ekin = 2.40456237424793 | erot = 4.00070701501225 | epot = -23.3710796524504 | etot = -16.9658102631902 -190000 ekin = 2.3927506641681 | erot = 3.65894410977791 | epot = -23.3540165218533 | etot = -17.3023217479073 -191000 ekin = 2.40766626916779 | erot = 4.27535474629197 | epot = -23.2939306874288 | etot = -16.610909671969 -192000 ekin = 2.38476057345244 | erot = 4.12521169410209 | epot = -23.1922092725541 | etot = -16.6822370049996 -193000 ekin = 2.26302104637807 | erot = 3.7779402618447 | epot = -23.0633113366603 | etot = -17.0223500284375 -194000 ekin = 2.10155057993347 | erot = 3.4992268119145 | epot = -22.9254751366501 | etot = -17.3246977448021 -195000 ekin = 2.03962481718054 | erot = 3.25259602899594 | epot = -22.769807353731 | etot = -17.4775865075545 -196000 ekin = 2.06049369787786 | erot = 2.84778946059528 | epot = -22.5997694102263 | etot = -17.6914862517532 -197000 ekin = 2.03160567713305 | erot = 2.37370828456973 | epot = -22.4368418077991 | etot = -18.0315278460963 -198000 ekin = 2.08676704026153 | erot = 2.19482531442788 | epot = -22.2622823748209 | etot = -17.9806900201315 -199000 ekin = 2.05269408710182 | erot = 2.16400413646367 | epot = -22.1035002649819 | etot = -17.8868020414165 -200000 ekin = 2.01411832170936 | erot = 2.38698541496883 | epot = -21.9546297375271 | etot = -17.5535260008489 -201000 ekin = 2.01209192808734 | erot = 2.38205260132373 | epot = -21.839087918056 | etot = -17.444943388645 -202000 ekin = 1.90781796628413 | erot = 2.36530018659051 | epot = -21.7246902929986 | etot = -17.4515721401239 -203000 ekin = 1.80024846565389 | erot = 2.34259351313096 | epot = -21.615977482744 | etot = -17.4731355039592 -204000 ekin = 1.68484818472322 | erot = 2.41487740212502 | epot = -21.5446736069975 | etot = -17.4449480201493 -205000 ekin = 1.6279281345828 | erot = 2.51982872964271 | epot = -21.5011323457791 | etot = -17.3533754815536 -206000 ekin = 1.55411064978348 | erot = 2.69683235574055 | epot = -21.4677288967242 | etot = -17.2167858912001 -207000 ekin = 1.51044177325198 | erot = 2.86067615909017 | epot = -21.4416223674891 | etot = -17.0705044351469 -208000 ekin = 1.46178623775162 | erot = 3.09687215817313 | epot = -21.3952301582476 | etot = -16.8365717623228 -209000 ekin = 1.49930719102405 | erot = 2.64986686100816 | epot = -21.3194384463854 | etot = -17.1702643943532 -210000 ekin = 1.48596643994187 | erot = 2.49507203528868 | epot = -21.2123168093858 | etot = -17.2312783341552 -211000 ekin = 1.51700235708605 | erot = 2.85982490581494 | epot = -21.0854390229479 | etot = -16.7086117600469 -212000 ekin = 1.47699871968623 | erot = 2.51260914037785 | epot = -20.9565961085739 | etot = -16.9669882485098 -213000 ekin = 1.58916579351334 | erot = 2.61661121884075 | epot = -20.8229216474679 | etot = -16.6171446351139 -214000 ekin = 1.62272322843393 | erot = 2.42273280311444 | epot = -20.7122766474859 | etot = -16.6668206159375 -215000 ekin = 1.66159030501777 | erot = 2.39943071607579 | epot = -20.6287014799337 | etot = -16.5676804588402 -216000 ekin = 1.74578478011215 | erot = 2.33284367785392 | epot = -20.5774611193674 | etot = -16.4988326614014 -217000 ekin = 1.86008672447786 | erot = 2.48365359198228 | epot = -20.5783803604762 | etot = -16.2346400440161 -218000 ekin = 1.88693206179544 | erot = 2.61817641260771 | epot = -20.6245681941586 | etot = -16.1194597197555 -219000 ekin = 1.9954584685533 | erot = 2.51280586705981 | epot = -20.672275526231 | etot = -16.1640111906179 -220000 ekin = 2.07891649227218 | erot = 2.43958393551872 | epot = -20.7460641755868 | etot = -16.2275637477959 -221000 ekin = 2.07405609075925 | erot = 2.36260767845184 | epot = -20.8472863845651 | etot = -16.410622615354 -222000 ekin = 2.10307745764232 | erot = 2.54950611704614 | epot = -20.9726401140739 | etot = -16.3200565393854 -223000 ekin = 2.029905607029 | erot = 2.36445779587677 | epot = -21.0835627182511 | etot = -16.6891993153454 -224000 ekin = 2.16888148730472 | erot = 2.48643165117694 | epot = -21.1978785829812 | etot = -16.5425654444995 -225000 ekin = 2.30521694661694 | erot = 2.40413284955319 | epot = -21.3143167094642 | etot = -16.6049669132941 -226000 ekin = 2.42660104949029 | erot = 2.10961133192969 | epot = -21.4003288303496 | etot = -16.8641164489296 -227000 ekin = 2.51989265457943 | erot = 2.19538124871698 | epot = -21.4710250786467 | etot = -16.7557511753503 -228000 ekin = 2.68551344341426 | erot = 2.30229521160067 | epot = -21.5296149017981 | etot = -16.5418062467832 -229000 ekin = 2.59976522820206 | erot = 2.51681087235227 | epot = -21.5666762700905 | etot = -16.4501001695361 -230000 ekin = 2.5850335929182 | erot = 2.17214995252271 | epot = -21.5872332974482 | etot = -16.8300497520073 -231000 ekin = 2.62353866357519 | erot = 2.17431567394796 | epot = -21.5820516856057 | etot = -16.7841973480826 -232000 ekin = 2.59120478967399 | erot = 2.34006912797248 | epot = -21.567210238379 | etot = -16.6359363207325 -233000 ekin = 2.51791287332682 | erot = 2.16488342987888 | epot = -21.5519147308628 | etot = -16.8691184276571 -234000 ekin = 2.48481380355974 | erot = 2.21816982784481 | epot = -21.5223665657165 | etot = -16.819382934312 -235000 ekin = 2.41086403910145 | erot = 2.10316509959354 | epot = -21.4789613614541 | etot = -16.9649322227591 -236000 ekin = 2.40928284749433 | erot = 1.88888489131681 | epot = -21.4361120637083 | etot = -17.1379443248971 -237000 ekin = 2.56301564001043 | erot = 1.7367156365967 | epot = -21.4280913003545 | etot = -17.1283600237474 -238000 ekin = 2.55765653830743 | erot = 1.90914079819508 | epot = -21.4255674324867 | etot = -16.9587700959842 -239000 ekin = 2.62181377631197 | erot = 2.06765286499137 | epot = -21.4529783008628 | etot = -16.7635116595594 -240000 ekin = 2.64076354676094 | erot = 2.31865643186807 | epot = -21.5224999667005 | etot = -16.5630799880715 -241000 ekin = 2.67609348690617 | erot = 2.52623661982354 | epot = -21.6079626104587 | etot = -16.405632503729 -242000 ekin = 2.63558109361467 | erot = 2.91329495494509 | epot = -21.6817125780998 | etot = -16.1328365295401 -243000 ekin = 2.76874739439914 | erot = 3.19547631893849 | epot = -21.72991854209 | etot = -15.7656948287524 -244000 ekin = 2.76082392607157 | erot = 2.9973885554399 | epot = -21.76547993096 | etot = -16.0072674494486 -245000 ekin = 2.84856552527554 | erot = 3.5561039977299 | epot = -21.7868813066433 | etot = -15.3822117836378 -246000 ekin = 2.74592112218097 | erot = 3.46897250198803 | epot = -21.7812302083596 | etot = -15.5663365841906 -247000 ekin = 2.62843885877447 | erot = 3.3915912792894 | epot = -21.7507462517775 | etot = -15.7307161137136 -248000 ekin = 2.6265799023713 | erot = 2.96254281821237 | epot = -21.6850863371033 | etot = -16.0959636165196 -249000 ekin = 2.64689987490188 | erot = 2.46750058971822 | epot = -21.6214034121611 | etot = -16.507002947541 -250000 ekin = 2.59258413901056 | erot = 1.95894591185221 | epot = -21.5523796219694 | etot = -17.0008495711067 -251000 ekin = 2.50508525922248 | erot = 1.94700044531511 | epot = -21.485640639306 | etot = -17.0335549347684 -252000 ekin = 2.362061411861 | erot = 2.03422118114505 | epot = -21.4223545940681 | etot = -17.0260720010621 -253000 ekin = 2.309350605284 | erot = 1.94736645762202 | epot = -21.3716222045374 | etot = -17.1149051416314 -254000 ekin = 2.2527459693501 | erot = 1.98706179687154 | epot = -21.3578828633465 | etot = -17.1180750971248 -255000 ekin = 2.24877704371088 | erot = 1.94793350141006 | epot = -21.3679438916479 | etot = -17.171233346527 -256000 ekin = 2.15038460246957 | erot = 2.1353664164586 | epot = -21.3873823966765 | etot = -17.1016313777483 -257000 ekin = 2.14820686493293 | erot = 1.95792063838272 | epot = -21.4016298030359 | etot = -17.2955022997202 -258000 ekin = 2.21551042205357 | erot = 2.08286212737995 | epot = -21.4265487793698 | etot = -17.1281762299363 -259000 ekin = 2.06173733154792 | erot = 1.93722502209168 | epot = -21.4284901665386 | etot = -17.429527812899 -260000 ekin = 1.95779184392074 | erot = 2.10071945094421 | epot = -21.4431554356543 | etot = -17.3846441407893 -261000 ekin = 1.89111873040642 | erot = 2.27491420373984 | epot = -21.4742539366704 | etot = -17.3082210025241 -262000 ekin = 1.81155628887094 | erot = 2.76845022524668 | epot = -21.5133565631458 | etot = -16.9333500490282 -263000 ekin = 1.78548461411774 | erot = 2.58995272844158 | epot = -21.5741933378567 | etot = -17.1987559952974 -264000 ekin = 1.70470903910482 | erot = 2.52740722130143 | epot = -21.6543975630333 | etot = -17.422281302627 -265000 ekin = 1.70456921180774 | erot = 2.91128169616601 | epot = -21.7314640373146 | etot = -17.1156131293409 -266000 ekin = 1.70108763348245 | erot = 3.15353043902165 | epot = -21.8059636436342 | etot = -16.9513455711301 -267000 ekin = 1.68792919988863 | erot = 2.90455900057175 | epot = -21.870732648304 | etot = -17.2782444478436 -268000 ekin = 1.72057453763242 | erot = 2.62604659087867 | epot = -21.9225381178383 | etot = -17.5759169893272 -269000 ekin = 1.78712640141424 | erot = 2.75599254857463 | epot = -21.9527991628362 | etot = -17.4096802128474 -270000 ekin = 1.72857790804084 | erot = 2.80083154386433 | epot = -21.9488059520795 | etot = -17.4193965001743 -271000 ekin = 1.64099428775304 | erot = 2.64687538276786 | epot = -21.9170243489263 | etot = -17.6291546784054 -272000 ekin = 1.58570258321571 | erot = 2.46968320121808 | epot = -21.8446210346508 | etot = -17.789235250217 -273000 ekin = 1.63767201216319 | erot = 2.19946786706664 | epot = -21.7638929876942 | etot = -17.9267531084643 -274000 ekin = 1.59847478128875 | erot = 2.30908990938638 | epot = -21.668243139743 | etot = -17.7606784490679 -275000 ekin = 1.48392569489385 | erot = 2.19949617068972 | epot = -21.5548162861332 | etot = -17.8713944205497 -276000 ekin = 1.39307584924635 | erot = 2.23039538438481 | epot = -21.4256702629286 | etot = -17.8021990292974 -277000 ekin = 1.32228191847669 | erot = 2.13983606829658 | epot = -21.3067538507252 | etot = -17.844635863952 -278000 ekin = 1.28711477346599 | erot = 2.14456329557357 | epot = -21.224078274628 | etot = -17.7924002055884 -279000 ekin = 1.28936005013437 | erot = 2.38491555516954 | epot = -21.173548547693 | etot = -17.4992729423891 -280000 ekin = 1.21003074239703 | erot = 2.42890760862482 | epot = -21.1457609661738 | etot = -17.5068226151519 -281000 ekin = 1.29885744861028 | erot = 2.42325573855922 | epot = -21.1507776171849 | etot = -17.4286644300154 -282000 ekin = 1.25436778972245 | erot = 2.81925761990964 | epot = -21.1898482264 | etot = -17.1162228167679 -283000 ekin = 1.21194774091223 | erot = 2.81987884081118 | epot = -21.2915251292642 | etot = -17.2596985475408 -284000 ekin = 1.18679083068176 | erot = 2.85260842120876 | epot = -21.4111056079338 | etot = -17.3717063560432 -285000 ekin = 1.15631267773667 | erot = 2.90112491489683 | epot = -21.5215297070962 | etot = -17.4640921144627 -286000 ekin = 1.1927926822259 | erot = 2.85809873900105 | epot = -21.6217291121405 | etot = -17.5708376909136 -287000 ekin = 1.26041360220417 | erot = 2.73020556183275 | epot = -21.6926219129291 | etot = -17.7020027488922 -288000 ekin = 1.28925684516283 | erot = 2.41344019790321 | epot = -21.7395791395394 | etot = -18.0368820964733 -289000 ekin = 1.32958093505212 | erot = 2.2719700407486 | epot = -21.7753244471437 | etot = -18.173773471343 -290000 ekin = 1.40642675848334 | erot = 1.95570600704145 | epot = -21.8122371335501 | etot = -18.4501043680253 -291000 ekin = 1.43917988615079 | erot = 1.90335102621715 | epot = -21.8672634472312 | etot = -18.5247325348633 -292000 ekin = 1.45457728536612 | erot = 1.91918018244104 | epot = -21.9211778027209 | etot = -18.5474203349137 -293000 ekin = 1.54025708206043 | erot = 1.76739883625603 | epot = -21.9892221465386 | etot = -18.6815662282221 -294000 ekin = 1.63446508682299 | erot = 1.86338835798862 | epot = -22.0608666741349 | etot = -18.5630132293233 -295000 ekin = 1.81613674682346 | erot = 1.9028469472332 | epot = -22.1395305108088 | etot = -18.4205468167521 -296000 ekin = 1.90988071285018 | erot = 2.10518814801487 | epot = -22.2099314509302 | etot = -18.1948625900651 -297000 ekin = 1.95608798955045 | erot = 2.52702443883807 | epot = -22.2985651779531 | etot = -17.8154527495646 -298000 ekin = 2.05852737833142 | erot = 2.38905675468749 | epot = -22.3766545803973 | etot = -17.9290704473783 -299000 ekin = 2.1864411137905 | erot = 2.43787113082697 | epot = -22.4274426042905 | etot = -17.8031303596731 -300000 ekin = 2.25246210387436 | erot = 2.26714642530523 | epot = -22.4460120088431 | etot = -17.9264034796635 -301000 ekin = 2.35563337457493 | erot = 1.81807021650493 | epot = -22.4572545711889 | etot = -18.2835509801091 -302000 ekin = 2.42168935052576 | erot = 2.12272372548235 | epot = -22.4773288548022 | etot = -17.9329157787941 -303000 ekin = 2.48491149619623 | erot = 1.80440720027866 | epot = -22.49978709942 | etot = -18.2104684029451 -304000 ekin = 2.57055300825417 | erot = 1.71612576378991 | epot = -22.5136290909673 | etot = -18.2269503189232 -305000 ekin = 2.60127252345969 | erot = 1.60228999221232 | epot = -22.5079813416075 | etot = -18.3044188259355 -306000 ekin = 2.65871790294493 | erot = 1.61152940110746 | epot = -22.4881104545321 | etot = -18.2178631504797 -307000 ekin = 2.67302778478971 | erot = 1.88303236420289 | epot = -22.4558851508275 | etot = -17.8998250018349 -308000 ekin = 2.66315429067354 | erot = 2.10086190187488 | epot = -22.4194774636684 | etot = -17.65546127112 -309000 ekin = 2.62361235711079 | erot = 2.06716291649094 | epot = -22.3854389472788 | etot = -17.694663673677 -310000 ekin = 2.65346557302746 | erot = 2.43388315560348 | epot = -22.3516578015447 | etot = -17.2643090729137 -311000 ekin = 2.62717610811387 | erot = 2.36697019339671 | epot = -22.3173746471545 | etot = -17.323228345644 -312000 ekin = 2.76485058199136 | erot = 2.29893166031318 | epot = -22.3073398967791 | etot = -17.2435576544746 -313000 ekin = 2.91401216196337 | erot = 2.42859802814641 | epot = -22.2874024124532 | etot = -16.9447922223434 -314000 ekin = 2.91385799167544 | erot = 1.91396248977988 | epot = -22.2694749773675 | etot = -17.4416544959122 -315000 ekin = 2.93036873457095 | erot = 1.99716548782002 | epot = -22.2742890679512 | etot = -17.3467548455602 -316000 ekin = 3.03268788685611 | erot = 1.92510083916592 | epot = -22.2577485073753 | etot = -17.2999597813533 -317000 ekin = 3.0878759484766 | erot = 1.92578200831355 | epot = -22.2266829567097 | etot = -17.2130249999196 -318000 ekin = 3.13577891188647 | erot = 1.80317853500181 | epot = -22.1919523893646 | etot = -17.2529949424764 -319000 ekin = 3.20520648794502 | erot = 1.70269113516979 | epot = -22.1746193500525 | etot = -17.2667217269377 -320000 ekin = 3.29702074479474 | erot = 1.5315778223532 | epot = -22.1625795722847 | etot = -17.3339810051367 -321000 ekin = 3.3450444842282 | erot = 1.62378232552177 | epot = -22.1868841736045 | etot = -17.2180573638545 -322000 ekin = 3.38460168822981 | erot = 1.76562508880759 | epot = -22.2499937572736 | etot = -17.0997669802362 -323000 ekin = 3.30048690012861 | erot = 1.78922162860215 | epot = -22.3245621231124 | etot = -17.2348535943816 -324000 ekin = 3.21996003388857 | erot = 2.07375779111671 | epot = -22.4074947135766 | etot = -17.1137768885713 -325000 ekin = 3.1932006584649 | erot = 2.34417123194124 | epot = -22.489592505192 | etot = -16.9522206147858 -326000 ekin = 3.13574523293136 | erot = 2.35602865246346 | epot = -22.5449076606476 | etot = -17.0531337752528 -327000 ekin = 3.06250064041744 | erot = 2.56089976464128 | epot = -22.5763641985364 | etot = -16.9529637934777 -328000 ekin = 2.98028960475491 | erot = 2.43252122765914 | epot = -22.5713698367082 | etot = -17.1585590042941 -329000 ekin = 3.00073413437889 | erot = 2.54697247273636 | epot = -22.5115486252432 | etot = -16.963842018128 -330000 ekin = 2.95148018624182 | erot = 2.24389127882677 | epot = -22.4149230401769 | etot = -17.2195515751083 -331000 ekin = 2.81139520816004 | erot = 2.33469163507243 | epot = -22.302381597186 | etot = -17.1562947539535 -332000 ekin = 2.70201927753231 | erot = 2.23446425932906 | epot = -22.1825698377621 | etot = -17.2460863009007 -333000 ekin = 2.67216560815672 | erot = 2.33828838842037 | epot = -22.1081794049503 | etot = -17.0977254083733 -334000 ekin = 2.63564129688352 | erot = 2.3844516220081 | epot = -22.0521006108914 | etot = -17.0320076919998 -335000 ekin = 2.49363748710296 | erot = 2.39927202409598 | epot = -21.999755390881 | etot = -17.1068458796821 -336000 ekin = 2.32703156354336 | erot = 2.49661552302095 | epot = -21.9570264750564 | etot = -17.1333793884921 -337000 ekin = 2.40437911185033 | erot = 2.34787944862516 | epot = -21.9196555873364 | etot = -17.167397026861 -338000 ekin = 2.41476505798858 | erot = 2.13162500253263 | epot = -21.8968278484035 | etot = -17.3504377878823 -339000 ekin = 2.43793058775621 | erot = 2.41901135922114 | epot = -21.903625267802 | etot = -17.0466833208247 -340000 ekin = 2.49068476405757 | erot = 2.44754202713574 | epot = -21.9103500540911 | etot = -16.9721232628978 -341000 ekin = 2.50472420190464 | erot = 2.67064038857613 | epot = -21.9332795205211 | etot = -16.7579149300404 -342000 ekin = 2.56647086804824 | erot = 2.61525528001605 | epot = -21.9674734299045 | etot = -16.7857472818402 -343000 ekin = 2.51904673868565 | erot = 2.55676588472587 | epot = -21.9948706708333 | etot = -16.9190580474217 -344000 ekin = 2.60508290174675 | erot = 2.48137560215985 | epot = -21.9825601130743 | etot = -16.8961016091677 -345000 ekin = 2.63784673980717 | erot = 2.00206586549288 | epot = -21.9580088648429 | etot = -17.3180962595428 -346000 ekin = 2.62397891911575 | erot = 2.06342882396961 | epot = -21.9497310194665 | etot = -17.2623232763812 -347000 ekin = 2.65803154655934 | erot = 2.1732091469081 | epot = -21.9288714180669 | etot = -17.0976307245995 -348000 ekin = 2.61080877072561 | erot = 2.24900638089749 | epot = -21.9064648355581 | etot = -17.046649683935 -349000 ekin = 2.56285615073655 | erot = 2.19373993711379 | epot = -21.9340203469075 | etot = -17.1774242590572 -350000 ekin = 2.52909341929274 | erot = 2.40459665484317 | epot = -21.9698973375558 | etot = -17.0362072634199 -351000 ekin = 2.49713504985993 | erot = 2.44402722640777 | epot = -22.0050349016586 | etot = -17.0638726253909 -352000 ekin = 2.4400081511828 | erot = 2.31901759386439 | epot = -22.0353401663223 | etot = -17.2763144212751 -353000 ekin = 2.43137304156583 | erot = 2.58293559904024 | epot = -22.0473314992667 | etot = -17.0330228586606 -354000 ekin = 2.42872461457131 | erot = 2.20097693718207 | epot = -22.0593257242364 | etot = -17.429624172483 -355000 ekin = 2.33110822210744 | erot = 2.4206307096628 | epot = -22.0716103668382 | etot = -17.3198714350679 -356000 ekin = 2.3039890517443 | erot = 2.62795866448668 | epot = -22.0804347592131 | etot = -17.1484870429821 -357000 ekin = 2.31942397069004 | erot = 2.59655320443807 | epot = -22.0821788434023 | etot = -17.1662016682742 -358000 ekin = 2.31430837414611 | erot = 2.83712652813159 | epot = -22.072502185868 | etot = -16.9210672835903 -359000 ekin = 2.31455342359158 | erot = 2.75771738371944 | epot = -22.0399086183635 | etot = -16.9676378110525 -360000 ekin = 2.33176210518086 | erot = 2.71178887834458 | epot = -22.0076297483562 | etot = -16.9640787648308 -361000 ekin = 2.27214122387383 | erot = 2.81145339858132 | epot = -21.9599421657393 | etot = -16.8763475432841 -362000 ekin = 2.29940723820851 | erot = 2.47979741361589 | epot = -21.9089639290965 | etot = -17.1297592772721 -363000 ekin = 2.53443578574928 | erot = 2.53169478867016 | epot = -21.8243312678077 | etot = -16.7582006933883 -364000 ekin = 2.62218089033857 | erot = 2.40320793892339 | epot = -21.7324712534029 | etot = -16.7070824241409 -365000 ekin = 2.7675580876352 | erot = 1.89475409755416 | epot = -21.6405111096152 | etot = -16.9781989244259 -366000 ekin = 2.83684484493777 | erot = 1.57102850121852 | epot = -21.5686856667024 | etot = -17.1608123205461 -367000 ekin = 2.93599158208377 | erot = 1.35687050095051 | epot = -21.4921061985772 | etot = -17.199244115543 -368000 ekin = 3.10052552420318 | erot = 1.34392548947238 | epot = -21.4550475057325 | etot = -17.0105964920569 -369000 ekin = 3.32282273578325 | erot = 1.444496693381 | epot = -21.469634605235 | etot = -16.7023151760708 -370000 ekin = 3.32440357214629 | erot = 1.32498034754162 | epot = -21.5235244672076 | etot = -16.8741405475197 -371000 ekin = 3.19604825174787 | erot = 1.32912305315194 | epot = -21.6063167417295 | etot = -17.0811454368297 -372000 ekin = 3.24806725016557 | erot = 1.57623327064951 | epot = -21.7023719429117 | etot = -16.8780714220966 -373000 ekin = 3.19541088772615 | erot = 1.59021472687934 | epot = -21.8029802274107 | etot = -17.0173546128052 -374000 ekin = 3.26135365290669 | erot = 1.85216595682046 | epot = -21.8950570456544 | etot = -16.7815374359273 -375000 ekin = 3.29383454867966 | erot = 2.06907009365906 | epot = -21.9845454700943 | etot = -16.6216408277556 -376000 ekin = 3.20015592859739 | erot = 2.07351416601095 | epot = -22.0952882395876 | etot = -16.8216181449793 -377000 ekin = 3.09004850922738 | erot = 2.18294615546873 | epot = -22.1887281106778 | etot = -16.9157334459817 -378000 ekin = 3.05043348195281 | erot = 2.51583225096577 | epot = -22.263666143955 | etot = -16.6974004110364 -379000 ekin = 3.10166908828999 | erot = 2.66676931647561 | epot = -22.3392187414395 | etot = -16.5707803366739 -380000 ekin = 3.11503780326003 | erot = 2.6084093126981 | epot = -22.3678930086929 | etot = -16.6444458927347 -381000 ekin = 3.11901255865583 | erot = 2.5131674520525 | epot = -22.3595089455393 | etot = -16.727328934831 -382000 ekin = 3.08198965968261 | erot = 2.54216489271882 | epot = -22.3171355116317 | etot = -16.6929809592303 -383000 ekin = 3.08529312773617 | erot = 2.60747953716485 | epot = -22.268125758685 | etot = -16.575353093784 -384000 ekin = 3.06435455473092 | erot = 2.59008305218086 | epot = -22.2008329018472 | etot = -16.5463952949354 -385000 ekin = 2.96902524929809 | erot = 2.39487400705568 | epot = -22.1308203226012 | etot = -16.7669210662474 -386000 ekin = 2.94398257253719 | erot = 2.3562498967375 | epot = -22.0974491806139 | etot = -16.7972167113393 -387000 ekin = 2.90022143016866 | erot = 2.26095116124118 | epot = -22.0819030869075 | etot = -16.9207304954977 -388000 ekin = 2.81389126988738 | erot = 2.13357533996891 | epot = -22.1104886391662 | etot = -17.1630220293099 -389000 ekin = 2.86348776127269 | erot = 2.05672668796337 | epot = -22.1951193908387 | etot = -17.2749049416026 -390000 ekin = 2.77165535979985 | erot = 2.1536573950014 | epot = -22.3132389416923 | etot = -17.387926186891 -391000 ekin = 2.77370479657934 | erot = 2.43647051356027 | epot = -22.4565212308196 | etot = -17.24634592068 -392000 ekin = 2.76583278927001 | erot = 2.40676865464339 | epot = -22.5818573009823 | etot = -17.4092558570689 -393000 ekin = 2.8090002415766 | erot = 2.37169277236098 | epot = -22.708659499688 | etot = -17.5279664857504 -394000 ekin = 2.87248081177523 | erot = 2.11617756482167 | epot = -22.8170775591549 | etot = -17.828419182558 -395000 ekin = 2.88095223032719 | erot = 2.05659355426901 | epot = -22.8808764228085 | etot = -17.9433306382123 -396000 ekin = 2.93418192071603 | erot = 2.30478582950589 | epot = -22.9097915865589 | etot = -17.670823836337 -397000 ekin = 2.98163695220519 | erot = 2.08558984982203 | epot = -22.9183417641045 | etot = -17.8511149620773 -398000 ekin = 2.98779262545462 | erot = 2.1519208232311 | epot = -22.9077750506591 | etot = -17.7680616019734 -399000 ekin = 2.91865693266167 | erot = 1.82887135319329 | epot = -22.8818662686362 | etot = -18.1343379827812 -400000 ekin = 2.90983153702377 | erot = 1.84033842076736 | epot = -22.8234620217338 | etot = -18.0732920639427 -401000 ekin = 2.82193337892235 | erot = 1.65785555934519 | epot = -22.7432945990589 | etot = -18.2635056607914 -402000 ekin = 2.71231263059655 | erot = 1.81039261887843 | epot = -22.6593739244624 | etot = -18.1366686749875 -403000 ekin = 2.66036084604549 | erot = 2.02498533176227 | epot = -22.6001656022283 | etot = -17.9148194244206 -404000 ekin = 2.57068790240545 | erot = 1.93095594974698 | epot = -22.5470237392586 | etot = -18.0453798871061 -405000 ekin = 2.56561221793745 | erot = 1.68739793089169 | epot = -22.480605837446 | etot = -18.2275956886169 -406000 ekin = 2.49833625235135 | erot = 1.48188239687435 | epot = -22.4539596863985 | etot = -18.4737410371728 -407000 ekin = 2.49021560270514 | erot = 1.5892860254214 | epot = -22.4700632657781 | etot = -18.3905616376516 -408000 ekin = 2.38021871164262 | erot = 1.73637964468692 | epot = -22.4959988290513 | etot = -18.3794004727218 -409000 ekin = 2.29461436770141 | erot = 1.95814824220571 | epot = -22.5206422995263 | etot = -18.2678796896192 -410000 ekin = 2.25736852989513 | erot = 2.37993089507051 | epot = -22.5486602508663 | etot = -17.9113608259007 -411000 ekin = 2.21596387204285 | erot = 2.74396072623423 | epot = -22.5838815063887 | etot = -17.6239569081116 -412000 ekin = 2.20994969108704 | erot = 2.86593591747017 | epot = -22.6211739699291 | etot = -17.5452883613719 -413000 ekin = 2.24794753023262 | erot = 3.00088801126985 | epot = -22.6476708665275 | etot = -17.3988353250251 -414000 ekin = 2.14160819513185 | erot = 3.01120724411814 | epot = -22.6376025284281 | etot = -17.4847870891781 -415000 ekin = 2.14491177835009 | erot = 2.93215202860195 | epot = -22.5902585718866 | etot = -17.5131947649345 -416000 ekin = 2.10193769123485 | erot = 2.98101624126922 | epot = -22.5118964710199 | etot = -17.4289425385158 -417000 ekin = 2.07066635663256 | erot = 2.60488497680169 | epot = -22.4065047924709 | etot = -17.7309534590366 -418000 ekin = 2.07740574841323 | erot = 2.73315084489166 | epot = -22.2898027885339 | etot = -17.479246195229 -419000 ekin = 1.98085199943436 | erot = 2.44747426745325 | epot = -22.163133683714 | etot = -17.7348074168264 -420000 ekin = 1.95880289350344 | erot = 2.55129347690097 | epot = -22.0482798158306 | etot = -17.5381834454262 -421000 ekin = 1.99828966251063 | erot = 2.20799196393455 | epot = -21.9395525585648 | etot = -17.7332709321197 -422000 ekin = 1.93529999466694 | erot = 2.35358466371906 | epot = -21.8587107341242 | etot = -17.5698260757382 -423000 ekin = 1.84611594143486 | erot = 2.2522856588745 | epot = -21.820655990977 | etot = -17.7222543906677 -424000 ekin = 1.92830552207798 | erot = 1.92697824358688 | epot = -21.7779729704118 | etot = -17.9226892047469 -425000 ekin = 1.87968918412311 | erot = 2.04838530467769 | epot = -21.7345809752812 | etot = -17.8065064864804 -426000 ekin = 1.85564129701465 | erot = 2.1399138178221 | epot = -21.7013928959337 | etot = -17.7058377810969 -427000 ekin = 1.86146118829923 | erot = 2.21385079035759 | epot = -21.6794945474636 | etot = -17.6041825688068 -428000 ekin = 1.93768082509312 | erot = 2.13363270684648 | epot = -21.6773435664083 | etot = -17.6060300344687 -429000 ekin = 1.99945365892741 | erot = 2.19562243163486 | epot = -21.70540364656 | etot = -17.5103275559977 -430000 ekin = 2.09718842591568 | erot = 2.34633202136167 | epot = -21.7371065581004 | etot = -17.2935861108231 -431000 ekin = 2.17999939901923 | erot = 2.30896770966998 | epot = -21.7414717361356 | etot = -17.2525046274464 -432000 ekin = 2.25849803136384 | erot = 2.37380554728488 | epot = -21.7217776472067 | etot = -17.089474068558 -433000 ekin = 2.24429029360173 | erot = 2.44429429006325 | epot = -21.7017276929561 | etot = -17.0131431092911 -434000 ekin = 2.3540638574789 | erot = 2.48920790113105 | epot = -21.7007812192857 | etot = -16.8575094606758 -435000 ekin = 2.2473788015354 | erot = 2.46595163485294 | epot = -21.7063339873007 | etot = -16.9930035509124 -436000 ekin = 2.23230082302271 | erot = 2.42669718967145 | epot = -21.7123927262193 | etot = -17.0533947135251 -437000 ekin = 2.18383665113547 | erot = 2.24664794927375 | epot = -21.7330413026264 | etot = -17.3025567022172 -438000 ekin = 2.12966913497249 | erot = 2.37196465183248 | epot = -21.7485872315853 | etot = -17.2469534447803 -439000 ekin = 2.09098898533785 | erot = 2.12933040903347 | epot = -21.7361412880266 | etot = -17.5158218936553 -440000 ekin = 2.10148571824482 | erot = 2.2779361859281 | epot = -21.7175254276832 | etot = -17.3381035235102 -441000 ekin = 2.1553286798209 | erot = 2.3186564021372 | epot = -21.6981903134064 | etot = -17.2242052314483 -442000 ekin = 2.09243597225384 | erot = 2.72841000678825 | epot = -21.6523738209045 | etot = -16.8315278418624 -443000 ekin = 2.15730367932196 | erot = 2.62581799220048 | epot = -21.5875809663665 | etot = -16.804459294844 -444000 ekin = 2.18263017921498 | erot = 2.37014829408735 | epot = -21.5048241508839 | etot = -16.9520456775816 -445000 ekin = 2.05145531635837 | erot = 2.17678227962612 | epot = -21.4326062625763 | etot = -17.2043686665918 -446000 ekin = 2.01020948431958 | erot = 2.37374422099255 | epot = -21.3645246084935 | etot = -16.9805709031814 -447000 ekin = 1.8958831793316 | erot = 2.45289089837798 | epot = -21.2952162464883 | etot = -16.9464421687787 -448000 ekin = 1.94918640966676 | erot = 2.3970392813938 | epot = -21.2255467455681 | etot = -16.8793210545075 -449000 ekin = 1.91481408982851 | erot = 2.28318705908352 | epot = -21.1543411876567 | etot = -16.9563400387447 -450000 ekin = 1.87784973555275 | erot = 2.12485795516302 | epot = -21.104620635514 | etot = -17.1019129447982 -451000 ekin = 1.97352148815462 | erot = 1.86756984773937 | epot = -21.0797511236576 | etot = -17.2386597877636 -452000 ekin = 2.04286189285661 | erot = 1.80786168372315 | epot = -21.0697245816184 | etot = -17.2190010050387 -453000 ekin = 2.13848606471689 | erot = 1.6737650166203 | epot = -21.0904747395761 | etot = -17.2782236582389 -454000 ekin = 2.1516494519113 | erot = 2.04932890222844 | epot = -21.1143650676536 | etot = -16.9133867135139 -455000 ekin = 2.19477985095264 | erot = 2.16695764653253 | epot = -21.1370563835238 | etot = -16.7753188860386 -456000 ekin = 2.1974026116872 | erot = 2.10215601431902 | epot = -21.1403905144292 | etot = -16.840831888423 -457000 ekin = 2.20601557977666 | erot = 2.13174146927016 | epot = -21.1647757949631 | etot = -16.8270187459163 -458000 ekin = 2.2269349746625 | erot = 2.00297660996798 | epot = -21.2133843445386 | etot = -16.9834727599081 -459000 ekin = 2.4030693526155 | erot = 2.07528469876378 | epot = -21.2759346114694 | etot = -16.7975805600901 -460000 ekin = 2.40922164106722 | erot = 2.23665563054181 | epot = -21.3522817196572 | etot = -16.7064044480482 -461000 ekin = 2.42000759716819 | erot = 2.33121048923255 | epot = -21.4035924354777 | etot = -16.652374349077 -462000 ekin = 2.40697031331577 | erot = 2.14275899197095 | epot = -21.4310008578857 | etot = -16.8812715525989 -463000 ekin = 2.27880926024481 | erot = 1.94507556924339 | epot = -21.4477328212942 | etot = -17.223847991806 -464000 ekin = 2.26372093546455 | erot = 1.71662964564979 | epot = -21.4283876808073 | etot = -17.4480370996929 -465000 ekin = 2.24118575319938 | erot = 1.89668392003695 | epot = -21.4003434057032 | etot = -17.2624737324669 -466000 ekin = 2.31013461832323 | erot = 2.00757055155841 | epot = -21.3608207821978 | etot = -17.0431156123161 -467000 ekin = 2.43396967913942 | erot = 2.21874571911993 | epot = -21.3053258443235 | etot = -16.6526104460642 -468000 ekin = 2.41021440017836 | erot = 1.97479498639507 | epot = -21.233460271117 | etot = -16.8484508845435 -469000 ekin = 2.3157853147123 | erot = 1.99784256139231 | epot = -21.182151702858 | etot = -16.8685238267534 -470000 ekin = 2.20506875315381 | erot = 1.87887773816018 | epot = -21.1430826832857 | etot = -17.0591361919717 -471000 ekin = 2.13628837828122 | erot = 1.99677754816689 | epot = -21.1290504063501 | etot = -16.995984479902 -472000 ekin = 2.10129418295647 | erot = 2.24056612365186 | epot = -21.1431228234936 | etot = -16.8012625168853 -473000 ekin = 2.15627273414965 | erot = 2.19993171978125 | epot = -21.173330041464 | etot = -16.8171255875331 -474000 ekin = 2.14076076010805 | erot = 2.25446359877062 | epot = -21.2210062632869 | etot = -16.8257819044082 -475000 ekin = 2.13812755485174 | erot = 2.40498819642984 | epot = -21.2865391851112 | etot = -16.7434234338296 -476000 ekin = 2.06858808991814 | erot = 2.38860590776926 | epot = -21.3434845601286 | etot = -16.8862905624412 -477000 ekin = 2.0700644049205 | erot = 2.7540657021351 | epot = -21.3922756308482 | etot = -16.5681455237926 -478000 ekin = 2.18444735013637 | erot = 2.70772307923254 | epot = -21.434381599235 | etot = -16.5422111698661 -479000 ekin = 2.19942421685253 | erot = 3.01662715265715 | epot = -21.4597482066208 | etot = -16.2436968371111 -480000 ekin = 2.09676344946083 | erot = 2.92438195103735 | epot = -21.4845635218899 | etot = -16.4634181213917 -481000 ekin = 2.05435750946169 | erot = 2.899464892258 | epot = -21.5058659565647 | etot = -16.552043554845 -482000 ekin = 1.93906176361667 | erot = 2.94002477322947 | epot = -21.5133252549458 | etot = -16.6342387180997 -483000 ekin = 1.92495432631116 | erot = 3.07385412342439 | epot = -21.5077333577222 | etot = -16.5089249079866 -484000 ekin = 1.92789828975055 | erot = 3.32856329414681 | epot = -21.5066449871575 | etot = -16.2501834032601 -485000 ekin = 1.91268771816301 | erot = 3.09586191791529 | epot = -21.4833052647979 | etot = -16.4747556287196 -486000 ekin = 1.78380043967864 | erot = 3.03494358258153 | epot = -21.4585833289247 | etot = -16.6398393066645 -487000 ekin = 1.66173050700701 | erot = 2.86000419946685 | epot = -21.4169307099543 | etot = -16.8951960034805 -488000 ekin = 1.68618039122613 | erot = 2.81632446798677 | epot = -21.3632748840397 | etot = -16.8607700248269 -489000 ekin = 1.70799546417861 | erot = 2.42402499535231 | epot = -21.2867408576367 | etot = -17.1547203981058 -490000 ekin = 1.7675823123897 | erot = 2.12271247808927 | epot = -21.2077046249559 | etot = -17.3174098344769 -491000 ekin = 1.763066632967 | erot = 2.86063070746491 | epot = -21.1723403735266 | etot = -16.5486430330947 -492000 ekin = 1.76846685645964 | erot = 2.89751715915284 | epot = -21.1637728122909 | etot = -16.4977887966784 -493000 ekin = 1.78426656200534 | erot = 3.00701255652289 | epot = -21.1773664941122 | etot = -16.3860873755839 -494000 ekin = 1.86551817373653 | erot = 2.87131917289134 | epot = -21.2025250650233 | etot = -16.4656877183954 -495000 ekin = 1.90523259261326 | erot = 3.14209453322643 | epot = -21.1998154388831 | etot = -16.1524883130435 -496000 ekin = 1.9833512663616 | erot = 2.98540814212675 | epot = -21.190647849325 | etot = -16.2218884408366 -497000 ekin = 2.0663482572869 | erot = 2.9589659087184 | epot = -21.162155154281 | etot = -16.1368409882757 -498000 ekin = 2.15272400284839 | erot = 3.02117382743709 | epot = -21.1193839391165 | etot = -15.945486108831 -499000 ekin = 2.17953814058354 | erot = 2.79565288062849 | epot = -21.107199393856 | etot = -16.132008372644 -500000 ekin = 2.18279625505118 | erot = 2.73392245688639 | epot = -21.1153073171069 | etot = -16.1985886051693 -501000 ekin = 2.1493445630415 | erot = 3.04941214942258 | epot = -21.1511220012823 | etot = -15.9523652888182 -502000 ekin = 2.24815210672142 | erot = 3.29370999045862 | epot = -21.191424172631 | etot = -15.649562075451 -503000 ekin = 2.24373540198279 | erot = 3.32111123848728 | epot = -21.2742763532377 | etot = -15.7094297127676 -504000 ekin = 2.23803989684424 | erot = 3.09914128419125 | epot = -21.3733619536836 | etot = -16.0361807726481 -505000 ekin = 2.301026054863 | erot = 3.19612982312048 | epot = -21.4437932084698 | etot = -15.9466373304863 -506000 ekin = 2.36370831780336 | erot = 3.19995831891704 | epot = -21.4937378126651 | etot = -15.9300711759447 -507000 ekin = 2.42840177155302 | erot = 2.81713782658397 | epot = -21.5299907326267 | etot = -16.2844511344897 -508000 ekin = 2.34968005299893 | erot = 2.32969767190603 | epot = -21.5629586677088 | etot = -16.8835809428039 -509000 ekin = 2.31587277783952 | erot = 2.32044150422003 | epot = -21.5800976653971 | etot = -16.9437833833376 -510000 ekin = 2.39415651583773 | erot = 2.32489194511605 | epot = -21.5909228684576 | etot = -16.8718744075039 -511000 ekin = 2.37917219486066 | erot = 2.25376804515889 | epot = -21.6001349490027 | etot = -16.9671947089831 -512000 ekin = 2.37938693355399 | erot = 1.9202388598811 | epot = -21.6111071917148 | etot = -17.3114813982797 -513000 ekin = 2.40685857959532 | erot = 2.08600293524419 | epot = -21.6155439119532 | etot = -17.1226823971136 -514000 ekin = 2.46724209327164 | erot = 2.20949952828772 | epot = -21.6418209909603 | etot = -16.9650793694009 -515000 ekin = 2.44642692672638 | erot = 2.02689318439838 | epot = -21.6526616938245 | etot = -17.1793415826998 -516000 ekin = 2.34670203308737 | erot = 2.1539612594322 | epot = -21.6543094777106 | etot = -17.1536461851911 -517000 ekin = 2.33878155191639 | erot = 2.33294662418961 | epot = -21.6421766473134 | etot = -16.9704484712074 -518000 ekin = 2.31107655587534 | erot = 2.15491971030942 | epot = -21.6319254773266 | etot = -17.1659292111418 -519000 ekin = 2.29496119138263 | erot = 2.00492803313407 | epot = -21.6347632719486 | etot = -17.3348740474319 -520000 ekin = 2.15339792107198 | erot = 2.04457004756208 | epot = -21.6507830510491 | etot = -17.4528150824151 -521000 ekin = 2.20801983612442 | erot = 2.16352250997088 | epot = -21.6715366002406 | etot = -17.2999942541453 -522000 ekin = 2.28349511901208 | erot = 2.12203826388421 | epot = -21.70670455002 | etot = -17.3011711671237 -523000 ekin = 2.28326140498752 | erot = 2.24730546524185 | epot = -21.7500540285242 | etot = -17.2194871582948 -524000 ekin = 2.4143039130042 | erot = 2.30243275419784 | epot = -21.7887659971607 | etot = -17.0720293299587 -525000 ekin = 2.46563871852205 | erot = 2.61576568534231 | epot = -21.8311918688005 | etot = -16.7497874649362 -526000 ekin = 2.44766866227838 | erot = 2.73251608599221 | epot = -21.8542594932623 | etot = -16.6740747449917 -527000 ekin = 2.49415128662355 | erot = 2.97647354160871 | epot = -21.86549614123 | etot = -16.3948713129978 -528000 ekin = 2.63765981818835 | erot = 2.90145202540047 | epot = -21.8539949982381 | etot = -16.3148831546493 -529000 ekin = 2.61312965886426 | erot = 2.63810638896243 | epot = -21.8123029021244 | etot = -16.5610668542977 -530000 ekin = 2.61679294703746 | erot = 2.67053467520203 | epot = -21.7690607572619 | etot = -16.4817331350224 -531000 ekin = 2.48476384385703 | erot = 2.71653952081332 | epot = -21.716536544046 | etot = -16.5152331793757 -532000 ekin = 2.48793546388984 | erot = 2.65738787716566 | epot = -21.6564484956907 | etot = -16.5111251546352 -533000 ekin = 2.41456215119455 | erot = 2.64489299438373 | epot = -21.6390724827862 | etot = -16.5796173372079 -534000 ekin = 2.29777827242773 | erot = 2.74873035111897 | epot = -21.6608745386253 | etot = -16.6143659150786 -535000 ekin = 2.26088917727541 | erot = 2.83473610922388 | epot = -21.6981866268837 | etot = -16.6025613403845 -536000 ekin = 2.20131769719336 | erot = 2.88353145322212 | epot = -21.7552484828583 | etot = -16.6703993324428 -537000 ekin = 2.13082565508322 | erot = 2.91286112998284 | epot = -21.7996526043397 | etot = -16.7559658192736 -538000 ekin = 2.05764519091748 | erot = 2.95211539945563 | epot = -21.8281285512859 | etot = -16.8183679609128 -539000 ekin = 1.97437084021542 | erot = 2.90970740612335 | epot = -21.8443187140806 | etot = -16.9602404677418 -540000 ekin = 1.95684111980197 | erot = 2.53831910392175 | epot = -21.8503067819185 | etot = -17.3551465581948 -541000 ekin = 2.01269488661898 | erot = 2.53569793957032 | epot = -21.8275993102506 | etot = -17.2792064840613 -542000 ekin = 2.03504454490688 | erot = 2.82348341864005 | epot = -21.8036330964535 | etot = -16.9451051329066 -543000 ekin = 2.03020807235302 | erot = 3.03370589872105 | epot = -21.8016375466952 | etot = -16.7377235756211 -544000 ekin = 2.0526905285699 | erot = 2.58799516983473 | epot = -21.8033388274283 | etot = -17.1626531290237 -545000 ekin = 2.15141870706955 | erot = 2.4042815973314 | epot = -21.8230803043774 | etot = -17.2673799999764 -546000 ekin = 2.27300091219341 | erot = 2.20572730047329 | epot = -21.8690779560946 | etot = -17.3903497434279 -547000 ekin = 2.35364033678051 | erot = 2.18498069722316 | epot = -21.9465784737243 | etot = -17.4079574397206 -548000 ekin = 2.43307589906662 | erot = 2.42293816342301 | epot = -22.0303494741984 | etot = -17.1743354117087 -549000 ekin = 2.5408859089621 | erot = 2.9095237719502 | epot = -22.1200487075606 | etot = -16.6696390266484 -550000 ekin = 2.56016664627915 | erot = 2.6839810389517 | epot = -22.1766985156474 | etot = -16.9325508304166 -551000 ekin = 2.72417690556167 | erot = 2.72891308441083 | epot = -22.2176306990375 | etot = -16.764540709065 -552000 ekin = 2.72596785657256 | erot = 2.42255580538612 | epot = -22.2421241890567 | etot = -17.093600527098 -553000 ekin = 2.78508615614561 | erot = 2.39994410027743 | epot = -22.2425789733829 | etot = -17.0575487169599 -554000 ekin = 2.81568582164743 | erot = 2.30970996795574 | epot = -22.212027345066 | etot = -17.0866315554629 -555000 ekin = 2.79395520813526 | erot = 2.24542312270131 | epot = -22.1601855930768 | etot = -17.1208072622402 -556000 ekin = 2.81007006192491 | erot = 2.29040711319246 | epot = -22.0853198857606 | etot = -16.9848427106433 -557000 ekin = 2.86720343014877 | erot = 2.06281031141597 | epot = -21.9979009255867 | etot = -17.067887184022 -558000 ekin = 2.75377155929337 | erot = 2.13725587394232 | epot = -21.8668776496785 | etot = -16.9758502164428 -559000 ekin = 2.72157639522935 | erot = 2.20102610126822 | epot = -21.7194344747875 | etot = -16.7968319782899 -560000 ekin = 2.70961845092855 | erot = 2.59816182534501 | epot = -21.5357151296297 | etot = -16.2279348533562 -561000 ekin = 2.57949305004198 | erot = 2.96337390027718 | epot = -21.3145814838315 | etot = -15.7717145335124 -562000 ekin = 2.32107059805617 | erot = 2.5114321407515 | epot = -21.0085235339445 | etot = -16.1760207951368 -563000 ekin = 2.24732443728602 | erot = 2.38790050938188 | epot = -20.815450988449 | etot = -16.1802260417811 -564000 ekin = 2.33791301852585 | erot = 2.68335523927264 | epot = -20.8066084764155 | etot = -15.785340218617 -565000 ekin = 2.3251020907636 | erot = 2.8508896099135 | epot = -20.6671406909933 | etot = -15.4911489903162 -566000 ekin = 2.20543771892918 | erot = 2.3570671903573 | epot = -20.5538554522387 | etot = -15.9913505429522 -567000 ekin = 2.11804196373759 | erot = 2.40185685943679 | epot = -20.4713035116104 | etot = -15.9514046884361 -568000 ekin = 2.22268682011198 | erot = 2.33307148175129 | epot = -20.3820924859933 | etot = -15.82633418413 -569000 ekin = 2.09547585997718 | erot = 2.62261207858588 | epot = -20.2691455782376 | etot = -15.5510576396745 -570000 ekin = 2.01580186947869 | erot = 2.33698172151224 | epot = -20.165895860353 | etot = -15.8131122693621 -571000 ekin = 2.08039178219742 | erot = 2.36534037676669 | epot = -20.0857600662143 | etot = -15.6400279072502 -572000 ekin = 2.11927324959282 | erot = 2.30282149950142 | epot = -20.0451987594367 | etot = -15.6231040103424 -573000 ekin = 2.04663917529167 | erot = 2.33972667939313 | epot = -20.0317480451749 | etot = -15.6453821904901 -574000 ekin = 2.09962922460125 | erot = 2.19990447249072 | epot = -20.0660831814173 | etot = -15.7665494843253 -575000 ekin = 2.27242130434709 | erot = 2.25609508493244 | epot = -20.1489560418931 | etot = -15.6204396526135 -576000 ekin = 2.39016715864509 | erot = 2.22255127128249 | epot = -20.2603613797462 | etot = -15.6476429498186 -577000 ekin = 2.36412563740733 | erot = 2.30198986937718 | epot = -20.3752615554301 | etot = -15.7091460486456 -578000 ekin = 2.49125580710745 | erot = 2.42660786227683 | epot = -20.5025207025988 | etot = -15.5846570332145 -579000 ekin = 2.56165048094669 | erot = 2.83228223321291 | epot = -20.6368911222347 | etot = -15.2429584080751 -580000 ekin = 2.59857076318839 | erot = 2.86537715884225 | epot = -20.7281657529402 | etot = -15.2642178309096 -581000 ekin = 2.75751410053949 | erot = 3.20102304026106 | epot = -20.7812637399731 | etot = -14.8227265991726 -582000 ekin = 2.72186433456398 | erot = 2.73127793091829 | epot = -20.8119294300415 | etot = -15.3587871645592 -583000 ekin = 2.62273499225633 | erot = 2.46109328120281 | epot = -20.8274714671204 | etot = -15.7436431936613 -584000 ekin = 2.65791178049948 | erot = 2.52854330537008 | epot = -20.8318022222694 | etot = -15.6453471363999 -585000 ekin = 2.61150125120808 | erot = 2.75251814406226 | epot = -20.8423541781133 | etot = -15.478334782843 -586000 ekin = 2.56490529514512 | erot = 2.76819989101138 | epot = -20.8235905183125 | etot = -15.490485332156 -587000 ekin = 2.44377479420604 | erot = 2.55313165140467 | epot = -20.7873967690622 | etot = -15.7904903234515 -588000 ekin = 2.54600679288713 | erot = 2.00966564099413 | epot = -20.741489849751 | etot = -16.1858174158697 -589000 ekin = 2.42615788479188 | erot = 1.8739594454408 | epot = -20.7098613915249 | etot = -16.4097440612923 -590000 ekin = 2.42016761405622 | erot = 1.7197705476391 | epot = -20.6824691484087 | etot = -16.5425309867133 -591000 ekin = 2.3876073780024 | erot = 1.84146371886644 | epot = -20.6722800899372 | etot = -16.4432089930684 -592000 ekin = 2.31657054464644 | erot = 1.96505693643476 | epot = -20.70316667755 | etot = -16.4215391964688 -593000 ekin = 2.23530102205155 | erot = 1.81162578854711 | epot = -20.7586825210083 | etot = -16.7117557104097 -594000 ekin = 2.21499618339358 | erot = 1.98026347110251 | epot = -20.8347835084312 | etot = -16.6395238539351 -595000 ekin = 2.17351092068557 | erot = 2.27153694538247 | epot = -20.9049251653836 | etot = -16.4598772993155 -596000 ekin = 2.135367214222 | erot = 2.30838064667257 | epot = -20.9560792436855 | etot = -16.5123313827909 -597000 ekin = 2.05769259414603 | erot = 2.38187665146476 | epot = -20.9894852475398 | etot = -16.549916001929 -598000 ekin = 2.05674814899225 | erot = 2.42014079217215 | epot = -21.0044596830564 | etot = -16.527570741892 -599000 ekin = 1.95864026709762 | erot = 2.3999507598191 | epot = -20.9740626757909 | etot = -16.6154716488742 -600000 ekin = 1.92217253864623 | erot = 2.27990516657244 | epot = -20.9285242414058 | etot = -16.7264465361872 -601000 ekin = 1.98018146832075 | erot = 2.20890815410628 | epot = -20.8846332261999 | etot = -16.6955436037729 -602000 ekin = 1.90184071583288 | erot = 2.1591383050006 | epot = -20.8542535717546 | etot = -16.7932745509212 -603000 ekin = 1.87414785472449 | erot = 2.20472694083466 | epot = -20.840804642708 | etot = -16.7619298471489 -604000 ekin = 1.89566967553992 | erot = 2.33936411504472 | epot = -20.8324704464852 | etot = -16.5974366559006 -605000 ekin = 1.90221219714126 | erot = 2.24714804248274 | epot = -20.8240875666947 | etot = -16.6747273270707 -606000 ekin = 1.98126421387493 | erot = 2.18362681345839 | epot = -20.8318161332644 | etot = -16.6669251059311 -607000 ekin = 1.96256992421039 | erot = 2.3146612889166 | epot = -20.8422192283423 | etot = -16.5649880152153 -608000 ekin = 2.00857732853944 | erot = 2.3524665478589 | epot = -20.8480147460994 | etot = -16.4869708697011 -609000 ekin = 1.95325682031753 | erot = 2.81335207348484 | epot = -20.8594200048123 | etot = -16.0928111110099 -610000 ekin = 1.98193326810065 | erot = 2.88259052339696 | epot = -20.8472840007396 | etot = -15.982760209242 -611000 ekin = 2.04137421596162 | erot = 2.49925666829921 | epot = -20.8306415233214 | etot = -16.2900106390606 -612000 ekin = 2.16269789015088 | erot = 2.70058773214418 | epot = -20.7942268006619 | etot = -15.9309411783669 -613000 ekin = 2.06529168540835 | erot = 2.42568351626014 | epot = -20.7614875640906 | etot = -16.2705123624221 -614000 ekin = 2.1337254705834 | erot = 2.26794536225568 | epot = -20.7223835113489 | etot = -16.3207126785098 -615000 ekin = 2.15900283469812 | erot = 2.41796083425712 | epot = -20.6594009316035 | etot = -16.0824372626483 -616000 ekin = 2.18075700318094 | erot = 2.25199751704725 | epot = -20.6022951429065 | etot = -16.1695406226783 -617000 ekin = 2.15965098363264 | erot = 2.22906613418694 | epot = -20.5852528289999 | etot = -16.1965357111803 -618000 ekin = 2.23225625672975 | erot = 2.44686544718953 | epot = -20.6102249700191 | etot = -15.9311032660998 -619000 ekin = 2.26975454903642 | erot = 2.34289253878031 | epot = -20.6719638155448 | etot = -16.0593167277281 -620000 ekin = 2.30973430443481 | erot = 2.69227064537991 | epot = -20.770197880988 | etot = -15.7681929311733 -621000 ekin = 2.47203322805276 | erot = 3.06119226990021 | epot = -20.9146158917184 | etot = -15.3813903937654 -622000 ekin = 2.62348274560247 | erot = 3.16275527232554 | epot = -21.0868239893485 | etot = -15.3005859714205 -623000 ekin = 2.67387060573014 | erot = 3.22531872328046 | epot = -21.2795790465578 | etot = -15.3803897175472 -624000 ekin = 2.77334044145783 | erot = 3.19930974567985 | epot = -21.4804753178404 | etot = -15.5078251307027 -625000 ekin = 2.822304660725 | erot = 2.97471991851 | epot = -21.6768467596154 | etot = -15.8798221803804 -626000 ekin = 2.97306496702188 | erot = 3.02810006646584 | epot = -21.8368791799813 | etot = -15.8357141464936 -627000 ekin = 2.9396359895919 | erot = 3.11546514885634 | epot = -21.9295648605418 | etot = -15.8744637220935 -628000 ekin = 2.9467540174413 | erot = 2.87563053223973 | epot = -21.9734618105422 | etot = -16.1510772608612 -629000 ekin = 2.93549647211195 | erot = 2.94179551334333 | epot = -21.9629357939843 | etot = -16.085643808529 -630000 ekin = 2.968513495898 | erot = 2.66241758633508 | epot = -21.9367067820004 | etot = -16.3057756997674 -631000 ekin = 2.97170810029481 | erot = 2.92784888357905 | epot = -21.9408587478561 | etot = -16.0413017639823 -632000 ekin = 3.00915408594534 | erot = 3.03331194667377 | epot = -21.966297586726 | etot = -15.9238315541069 -633000 ekin = 3.15130786380813 | erot = 2.90447111403432 | epot = -21.9802035040988 | etot = -15.9244245262564 -634000 ekin = 3.08724307225627 | erot = 3.06470523223771 | epot = -21.9813618086078 | etot = -15.8294135041138 -635000 ekin = 3.09485256628982 | erot = 3.05293629484957 | epot = -21.9761085643258 | etot = -15.8283197031864 -636000 ekin = 3.1883367624613 | erot = 3.09853352594533 | epot = -21.9262309231058 | etot = -15.6393606346991 -637000 ekin = 3.17249776983431 | erot = 2.76836567164433 | epot = -21.8463187618964 | etot = -15.9054553204178 -638000 ekin = 3.15773051904013 | erot = 2.74718314777848 | epot = -21.7521034668652 | etot = -15.8471898000466 -639000 ekin = 3.08619022126253 | erot = 2.75291211878172 | epot = -21.619880700477 | etot = -15.7807783604328 -640000 ekin = 3.13541342359575 | erot = 2.75186869517588 | epot = -21.4236473324243 | etot = -15.5363652136527 -641000 ekin = 2.97070406886251 | erot = 2.53928201823126 | epot = -21.2113872532509 | etot = -15.7014011661571 -642000 ekin = 2.96213641788611 | erot = 2.46548060107447 | epot = -20.9928030195295 | etot = -15.5651860005689 -643000 ekin = 2.84219149582751 | erot = 2.30604210385225 | epot = -20.7796379309883 | etot = -15.6314043313085 -644000 ekin = 2.73987448812059 | erot = 1.92488908230375 | epot = -20.5971129650472 | etot = -15.9323493946229 -645000 ekin = 2.66964682664563 | erot = 2.17741731737643 | epot = -20.4501395419028 | etot = -15.6030753978807 -646000 ekin = 2.55685727423904 | erot = 1.94955682330786 | epot = -20.3484174743049 | etot = -15.842003376758 -647000 ekin = 2.36548817737579 | erot = 2.05467058240558 | epot = -20.2308525146964 | etot = -15.8106937549151 -648000 ekin = 2.31008857244576 | erot = 1.85050053837927 | epot = -20.1170577319198 | etot = -15.9564686210947 -649000 ekin = 2.28205025869235 | erot = 1.7126370869863 | epot = -20.0254728385507 | etot = -16.0307854928721 -650000 ekin = 2.21196677463625 | erot = 1.82025099236611 | epot = -19.9537436999672 | etot = -15.9215259329649 -651000 ekin = 2.17096351970622 | erot = 1.64111059964159 | epot = -19.8939461254392 | etot = -16.0818720060914 -652000 ekin = 2.24485056260397 | erot = 1.59015920734423 | epot = -19.855915209439 | etot = -16.0209054394908 -653000 ekin = 2.24348598334154 | erot = 1.56547926791898 | epot = -19.8354995105725 | etot = -16.026534259312 -654000 ekin = 2.34367054322139 | erot = 1.59100225910914 | epot = -19.8036561058559 | etot = -15.8689833035253 -655000 ekin = 2.33139381348415 | erot = 1.73360745289318 | epot = -19.7790891006602 | etot = -15.7140878342829 -656000 ekin = 2.39082402474816 | erot = 1.66512195058768 | epot = -19.7882728464569 | etot = -15.7323268711211 -657000 ekin = 2.3632649420265 | erot = 1.64634599165861 | epot = -19.8156605115385 | etot = -15.8060495778534 -658000 ekin = 2.37356060304643 | erot = 1.59216090461383 | epot = -19.8647456377848 | etot = -15.8990241301246 -659000 ekin = 2.48069174292895 | erot = 1.49175770497902 | epot = -19.9602607152512 | etot = -15.9878112673432 -660000 ekin = 2.43784148373522 | erot = 1.69304245258743 | epot = -20.0982797920097 | etot = -15.9673958556871 -661000 ekin = 2.50127283299376 | erot = 1.90162951574041 | epot = -20.2564772898339 | etot = -15.8535749410997 -662000 ekin = 2.65651409235402 | erot = 1.9769416830246 | epot = -20.4351000172128 | etot = -15.8016442418342 -663000 ekin = 2.59069846598309 | erot = 2.27024751168609 | epot = -20.5951722286013 | etot = -15.7342262509321 -664000 ekin = 2.6519936252655 | erot = 2.41512175478277 | epot = -20.723695654942 | etot = -15.6565802748938 -665000 ekin = 2.74059693842602 | erot = 2.18558347698592 | epot = -20.8362709840434 | etot = -15.9100905686315 -666000 ekin = 2.81567682366608 | erot = 2.347498605977 | epot = -20.9472815722846 | etot = -15.7841061426415 -667000 ekin = 2.85397277941909 | erot = 2.78444099743822 | epot = -21.0512547888643 | etot = -15.4128410120069 -668000 ekin = 2.9029560959486 | erot = 2.67434743985664 | epot = -21.1196454976531 | etot = -15.5423419618479 -669000 ekin = 2.82586988686545 | erot = 2.59996675336106 | epot = -21.1269738870857 | etot = -15.7011372468592 -670000 ekin = 2.79168631385998 | erot = 2.56332899434135 | epot = -21.1062374856375 | etot = -15.7512221774362 -671000 ekin = 2.78377934011034 | erot = 2.65037677108214 | epot = -21.0707534252218 | etot = -15.6365973140293 -672000 ekin = 2.80370333364227 | erot = 2.43772748784314 | epot = -21.0308122724572 | etot = -15.7893814509718 -673000 ekin = 2.76915399868745 | erot = 2.51561518037604 | epot = -20.9769263473735 | etot = -15.6921571683101 -674000 ekin = 2.64183624634861 | erot = 2.55097233507923 | epot = -20.9182849770311 | etot = -15.7254763956033 -675000 ekin = 2.62521142757518 | erot = 2.64780321266178 | epot = -20.8750415391241 | etot = -15.6020268988872 -676000 ekin = 2.56750452241289 | erot = 2.50976436481742 | epot = -20.8718880077793 | etot = -15.794619120549 -677000 ekin = 2.54381281980489 | erot = 2.88598144344514 | epot = -20.8743650878302 | etot = -15.4445708245802 -678000 ekin = 2.41460230362222 | erot = 2.74956960106234 | epot = -20.8645099379745 | etot = -15.70033803329 -679000 ekin = 2.45714396740976 | erot = 2.51630907313236 | epot = -20.8333930763114 | etot = -15.8599400357693 -680000 ekin = 2.39813210053791 | erot = 2.44684074439997 | epot = -20.7887522768168 | etot = -15.943779431879 -681000 ekin = 2.43918264143159 | erot = 2.34640131965711 | epot = -20.747680811383 | etot = -15.9620968502943 -682000 ekin = 2.35991514290778 | erot = 2.52582496731603 | epot = -20.678338166726 | etot = -15.7925980565022 -683000 ekin = 2.52475831935497 | erot = 2.4303254284145 | epot = -20.5982055545541 | etot = -15.6431218067846 -684000 ekin = 2.58660934635461 | erot = 2.11878822836059 | epot = -20.4924135763666 | etot = -15.7870160016514 -685000 ekin = 2.55154119483633 | erot = 1.7348658418517 | epot = -20.3822175109813 | etot = -16.0958104742933 -686000 ekin = 2.63111018797748 | erot = 1.47730091117203 | epot = -20.3126109077788 | etot = -16.2041998086293 -687000 ekin = 2.63969682019115 | erot = 1.47332301857272 | epot = -20.2996486685951 | etot = -16.1866288298313 -688000 ekin = 2.72349207947758 | erot = 1.29409931094976 | epot = -20.3234627588057 | etot = -16.3058713683784 -689000 ekin = 2.73079979716482 | erot = 1.5600672648961 | epot = -20.4074074566846 | etot = -16.1165403946237 -690000 ekin = 2.88862138997103 | erot = 1.53763438603398 | epot = -20.527130706041 | etot = -16.100874930036 -691000 ekin = 2.93184490556452 | erot = 1.68041505604352 | epot = -20.6817002649686 | etot = -16.0694403033606 -692000 ekin = 3.03965167588275 | erot = 1.53360102419195 | epot = -20.8394269438009 | etot = -16.2661742437262 -693000 ekin = 3.11332037021317 | erot = 1.78276814996271 | epot = -20.9856322860994 | etot = -16.0895437659235 -694000 ekin = 3.26591256423417 | erot = 1.83297982799403 | epot = -21.1162583961236 | etot = -16.0173660038954 -695000 ekin = 3.39944935277176 | erot = 1.85369820811794 | epot = -21.2109777365153 | etot = -15.9578301756256 -696000 ekin = 3.30343203418373 | erot = 1.83180202140646 | epot = -21.2772827777983 | etot = -16.1420487222082 -697000 ekin = 3.22977317647616 | erot = 1.99511551134609 | epot = -21.3085920420929 | etot = -16.0837033542707 -698000 ekin = 3.36545228088468 | erot = 1.93865151713971 | epot = -21.2924696712876 | etot = -15.9883658732632 -699000 ekin = 3.26727101649092 | erot = 2.00750907689809 | epot = -21.2347192164136 | etot = -15.9599391230246 -700000 ekin = 3.23373130843489 | erot = 1.95814796460311 | epot = -21.1439766208011 | etot = -15.9520973477631 -701000 ekin = 3.07791756459632 | erot = 1.84629538321615 | epot = -21.0368350139918 | etot = -16.1126220661793 -702000 ekin = 2.95524336171474 | erot = 2.05334887389002 | epot = -20.9320932298123 | etot = -15.9235009942076 -703000 ekin = 2.81685700197358 | erot = 2.30798807393501 | epot = -20.8529482411061 | etot = -15.7281031651975 -704000 ekin = 2.7860374569489 | erot = 2.41032504549238 | epot = -20.7817305926663 | etot = -15.585368090225 -705000 ekin = 2.82734195960163 | erot = 2.58886515581049 | epot = -20.7054861279342 | etot = -15.2892790125221 -706000 ekin = 2.69252213630991 | erot = 2.87186287347298 | epot = -20.6341395720106 | etot = -15.0697545622277 -707000 ekin = 2.67677781124234 | erot = 2.61015441384314 | epot = -20.5829958432682 | etot = -15.2960636181827 -708000 ekin = 2.61607470121092 | erot = 2.52638154954409 | epot = -20.5707989768077 | etot = -15.4283427260527 -709000 ekin = 2.66476396394708 | erot = 2.77686126060226 | epot = -20.5966805252115 | etot = -15.1550553006622 -710000 ekin = 2.72473753944311 | erot = 3.01436891653856 | epot = -20.6381576133419 | etot = -14.8990511573603 -711000 ekin = 2.73828751365553 | erot = 2.96087104909546 | epot = -20.6834857916291 | etot = -14.9843272288781 -712000 ekin = 2.62321032142564 | erot = 3.36842837276305 | epot = -20.7033938368062 | etot = -14.7117551426175 -713000 ekin = 2.57840853452334 | erot = 3.23870482700723 | epot = -20.7157410164414 | etot = -14.8986276549108 -714000 ekin = 2.57830571481508 | erot = 3.18574747943756 | epot = -20.7368579407289 | etot = -14.9728047464762 -715000 ekin = 2.55353778251633 | erot = 3.0602947148483 | epot = -20.754741492098 | etot = -15.1409089947334 -716000 ekin = 2.55549921704991 | erot = 2.85756803731166 | epot = -20.7715752448115 | etot = -15.35850799045 -717000 ekin = 2.6684096005884 | erot = 3.13695167508794 | epot = -20.7817582371967 | etot = -14.9763969615203 -718000 ekin = 2.70162233045692 | erot = 2.88936608298093 | epot = -20.7821953404604 | etot = -15.1912069270225 -719000 ekin = 2.67856075035663 | erot = 3.06593156988603 | epot = -20.7772381096807 | etot = -15.032745789438 -720000 ekin = 2.73835391684204 | erot = 3.1260661579715 | epot = -20.7642516702523 | etot = -14.8998315954388 -721000 ekin = 2.83298219908736 | erot = 2.86786361439848 | epot = -20.7356626767526 | etot = -15.0348168632668 -722000 ekin = 2.84238954774469 | erot = 3.0130054489483 | epot = -20.6952880713167 | etot = -14.8398930746237 -723000 ekin = 2.83841887662251 | erot = 2.85261974479237 | epot = -20.6504830813442 | etot = -14.9594444599293 -724000 ekin = 3.01277617592967 | erot = 3.09042764557525 | epot = -20.6160634840685 | etot = -14.5128596625636 -725000 ekin = 3.17120635017279 | erot = 2.96143140596372 | epot = -20.5877395535624 | etot = -14.4551017974259 -726000 ekin = 3.20454859904875 | erot = 2.97124869107361 | epot = -20.5737408249939 | etot = -14.3979435348715 -727000 ekin = 3.19846557634571 | erot = 2.77789168617429 | epot = -20.5945168300514 | etot = -14.6181595675314 -728000 ekin = 3.28654276144371 | erot = 2.57414717613078 | epot = -20.640457349214 | etot = -14.7797674116395 -729000 ekin = 3.3439785552026 | erot = 2.60607683819484 | epot = -20.6877535154514 | etot = -14.7376981220539 -730000 ekin = 3.33088715350237 | erot = 2.65576997467221 | epot = -20.7175880662468 | etot = -14.7309309380722 -731000 ekin = 3.33990502646308 | erot = 2.78966197817343 | epot = -20.7385421874511 | etot = -14.6089751828146 -732000 ekin = 3.27037431476543 | erot = 3.16404088131425 | epot = -20.7088668644641 | etot = -14.2744516683844 -733000 ekin = 3.16062340528016 | erot = 3.37415612395544 | epot = -20.6516575424073 | etot = -14.1168780131717 -734000 ekin = 3.09953693998324 | erot = 3.25267070419762 | epot = -20.5803936969356 | etot = -14.2281860527547 -735000 ekin = 2.94450728592261 | erot = 2.96857162868856 | epot = -20.4729949298543 | etot = -14.5599160152432 -736000 ekin = 2.7958481765176 | erot = 2.9239669205071 | epot = -20.3407691844256 | etot = -14.6209540874009 -737000 ekin = 2.72272921166398 | erot = 3.17345753492493 | epot = -20.1979266935853 | etot = -14.3017399469964 -738000 ekin = 2.54332056785739 | erot = 3.29818161761707 | epot = -20.0303847475409 | etot = -14.1888825620664 -739000 ekin = 2.32323875619857 | erot = 2.93500343249744 | epot = -19.8750675706789 | etot = -14.6168253819829 -740000 ekin = 2.15390188391517 | erot = 2.57318962024238 | epot = -19.7116721317164 | etot = -14.9845806275589 -741000 ekin = 1.95437882697948 | erot = 2.32607517304431 | epot = -19.5750053199849 | etot = -15.2945513199611 -742000 ekin = 1.92783578015067 | erot = 2.13064797487019 | epot = -19.4713087417752 | etot = -15.4128249867544 -743000 ekin = 2.04931727768884 | erot = 2.05953320755507 | epot = -19.3808587546544 | etot = -15.2720082694105 -744000 ekin = 1.97574953400554 | erot = 2.0627248717493 | epot = -19.3292238016071 | etot = -15.2907493958523 -745000 ekin = 2.04017863714732 | erot = 1.82427330713394 | epot = -19.3294627618532 | etot = -15.4650108175719 -746000 ekin = 2.0239515938615 | erot = 1.96899911255019 | epot = -19.3725184887274 | etot = -15.3795677823157 -747000 ekin = 2.09406854938782 | erot = 1.94863482625804 | epot = -19.4739827252228 | etot = -15.4312793495769 -748000 ekin = 2.2981509463802 | erot = 1.9007444973105 | epot = -19.6283880334729 | etot = -15.4294925897822 -749000 ekin = 2.35637166185873 | erot = 1.88187224436553 | epot = -19.8091245759456 | etot = -15.5708806697214 -750000 ekin = 2.46261791012991 | erot = 1.68915240890073 | epot = -20.0059909069074 | etot = -15.8542205878767 -751000 ekin = 2.60407300534198 | erot = 1.90400653681735 | epot = -20.2085470980303 | etot = -15.700467555871 -752000 ekin = 2.69082470142479 | erot = 2.30656368674329 | epot = -20.4330055381863 | etot = -15.4356171500182 -753000 ekin = 2.86185352213773 | erot = 2.08508944835044 | epot = -20.6608245815304 | etot = -15.7138816110423 -754000 ekin = 2.98333808215677 | erot = 2.53924444651836 | epot = -20.8729357638507 | etot = -15.3503532351755 -755000 ekin = 3.15712054719979 | erot = 2.80998037917417 | epot = -21.089409214386 | etot = -15.122308288012 -756000 ekin = 3.33248676900326 | erot = 2.85318697997032 | epot = -21.269924842092 | etot = -15.0842510931184 -757000 ekin = 3.41680611924925 | erot = 2.92784780738199 | epot = -21.4304548340673 | etot = -15.0858009074361 -758000 ekin = 3.39156382871297 | erot = 2.78356707636008 | epot = -21.576696598629 | etot = -15.401565693556 -759000 ekin = 3.43155653282502 | erot = 2.83467624438526 | epot = -21.6891769319694 | etot = -15.4229441547591 -760000 ekin = 3.45801219419692 | erot = 2.61557400116939 | epot = -21.7546703090586 | etot = -15.6810841136923 -761000 ekin = 3.37717727044775 | erot = 2.8956375520945 | epot = -21.789202831323 | etot = -15.5163880087808 -762000 ekin = 3.47824550195057 | erot = 2.79188597259465 | epot = -21.7977512926642 | etot = -15.527619818119 -763000 ekin = 3.47659880804314 | erot = 2.54885516262659 | epot = -21.7781604169458 | etot = -15.7527064462761 -764000 ekin = 3.45277978719522 | erot = 2.64283550756138 | epot = -21.7044469789531 | etot = -15.6088316841965 -765000 ekin = 3.39906272086552 | erot = 2.44961754559262 | epot = -21.5950318186521 | etot = -15.746351552194 -766000 ekin = 3.34001470871272 | erot = 2.39682151597884 | epot = -21.4894395399038 | etot = -15.7526033152123 -767000 ekin = 3.45549704933041 | erot = 2.33544666401034 | epot = -21.3866970636422 | etot = -15.5957533503015 -768000 ekin = 3.26198074071046 | erot = 2.45762138127352 | epot = -21.2912857370597 | etot = -15.5716836150757 -769000 ekin = 3.16082467479808 | erot = 2.36075087935245 | epot = -21.2103530429965 | etot = -15.688777488846 -770000 ekin = 3.07645918396924 | erot = 2.4925900630739 | epot = -21.1212342627875 | etot = -15.5521850157443 -771000 ekin = 2.92350840414402 | erot = 2.56275243304922 | epot = -21.0363085296096 | etot = -15.5500476924164 -772000 ekin = 2.75979211106294 | erot = 2.44752256772038 | epot = -20.938158693868 | etot = -15.7308440150847 -773000 ekin = 2.71511621634669 | erot = 2.32937899997663 | epot = -20.8439731838767 | etot = -15.7994779675533 -774000 ekin = 2.5501181043417 | erot = 2.4833205550087 | epot = -20.7658389533277 | etot = -15.7324002939773 -775000 ekin = 2.41197388502376 | erot = 2.62818884118392 | epot = -20.7179622711116 | etot = -15.6777995449039 -776000 ekin = 2.37508963815638 | erot = 2.4413693722769 | epot = -20.7211512138291 | etot = -15.9046922033958 -777000 ekin = 2.34948686881501 | erot = 2.36213131358723 | epot = -20.7370244755325 | etot = -16.0254062931302 -778000 ekin = 2.29585534902507 | erot = 2.73124120723735 | epot = -20.7683121988625 | etot = -15.7412156426001 -779000 ekin = 2.18150396589501 | erot = 2.72210705119072 | epot = -20.8059074416474 | etot = -15.9022964245616 -780000 ekin = 2.26066885699434 | erot = 2.87221231082937 | epot = -20.8394643204856 | etot = -15.7065831526618 -781000 ekin = 2.27461625652574 | erot = 2.81372031403662 | epot = -20.8757314682934 | etot = -15.787394897731 -782000 ekin = 2.19892592960391 | erot = 2.61785718560377 | epot = -20.89651313073 | etot = -16.0797300155223 -783000 ekin = 2.22941617588597 | erot = 2.47751279799165 | epot = -20.9183852720836 | etot = -16.211456298206 -784000 ekin = 2.42718924867942 | erot = 2.81382459332945 | epot = -20.9279105230659 | etot = -15.6868966810571 -785000 ekin = 2.388256325638 | erot = 2.70987963105491 | epot = -20.9108108361691 | etot = -15.8126748794762 -786000 ekin = 2.4440461871171 | erot = 2.52658585483966 | epot = -20.9041006583262 | etot = -15.9334686163694 -787000 ekin = 2.50702113933241 | erot = 2.28293105807323 | epot = -20.8749015767315 | etot = -16.0849493793259 -788000 ekin = 2.4490666689078 | erot = 2.41360841664409 | epot = -20.8341700774424 | etot = -15.9714949918905 -789000 ekin = 2.52045486785591 | erot = 2.52744454804456 | epot = -20.7905656205227 | etot = -15.7426662046222 -790000 ekin = 2.52825818807966 | erot = 2.68548159035115 | epot = -20.757581950223 | etot = -15.5438421717922 -791000 ekin = 2.64995125141675 | erot = 2.73987493548448 | epot = -20.734977399363 | etot = -15.3451512124617 -792000 ekin = 2.70397080831161 | erot = 2.64980290799394 | epot = -20.7100100046766 | etot = -15.356236288371 -793000 ekin = 2.750332948453 | erot = 2.54340061653018 | epot = -20.707836297178 | etot = -15.4141027321949 -794000 ekin = 2.8653381311493 | erot = 2.55380338833671 | epot = -20.7048471683316 | etot = -15.2857056488456 -795000 ekin = 2.78119650415431 | erot = 2.26710967345022 | epot = -20.7038606047262 | etot = -15.6555544271216 -796000 ekin = 2.7524772965948 | erot = 1.93248690499302 | epot = -20.7002506155573 | etot = -16.0152864139695 -797000 ekin = 2.87695524377423 | erot = 1.75440457751931 | epot = -20.7015802402497 | etot = -16.0702204189561 -798000 ekin = 2.92176058311519 | erot = 1.87424589751672 | epot = -20.7289229999115 | etot = -15.9329165192796 -799000 ekin = 2.84123141391943 | erot = 1.69781273980071 | epot = -20.753619486937 | etot = -16.2145753332168 -800000 ekin = 2.88647051776135 | erot = 1.8845884679479 | epot = -20.7813888694614 | etot = -16.0103298837521 -801000 ekin = 2.82188707288437 | erot = 1.97533232918764 | epot = -20.7854390466837 | etot = -15.9882196446117 -802000 ekin = 2.80670744878678 | erot = 1.92170823847808 | epot = -20.7694229323802 | etot = -16.0410072451153 -803000 ekin = 2.81917409800309 | erot = 1.86293659025146 | epot = -20.736880956466 | etot = -16.0547702682115 -804000 ekin = 2.81542679490223 | erot = 1.8248381634794 | epot = -20.7049136915727 | etot = -16.064648733191 -805000 ekin = 2.7662102530107 | erot = 1.80656496128512 | epot = -20.6689552876865 | etot = -16.0961800733907 -806000 ekin = 2.65050365938285 | erot = 2.07564631955298 | epot = -20.6394756033498 | etot = -15.913325624414 -807000 ekin = 2.5562413456694 | erot = 2.16054307897126 | epot = -20.6134778956026 | etot = -15.8966934709619 -808000 ekin = 2.4873801372098 | erot = 2.32147389178902 | epot = -20.5888178207125 | etot = -15.7799637917137 -809000 ekin = 2.4786273298817 | erot = 2.4849882609475 | epot = -20.5619387083681 | etot = -15.5983231175389 -810000 ekin = 2.39703068581775 | erot = 2.81931500773775 | epot = -20.5424309669721 | etot = -15.3260852734166 -811000 ekin = 2.37887287485907 | erot = 2.69438802886465 | epot = -20.5520463788994 | etot = -15.4787854751757 -812000 ekin = 2.28085047814072 | erot = 2.4248513842694 | epot = -20.5550539173034 | etot = -15.8493520548933 -813000 ekin = 2.25229479784389 | erot = 2.55707080478972 | epot = -20.5502753315565 | etot = -15.7409097289229 -814000 ekin = 2.22024450946151 | erot = 2.84053382533175 | epot = -20.5291885807543 | etot = -15.468410245961 -815000 ekin = 2.14652605610553 | erot = 2.67021357483755 | epot = -20.4999623788204 | etot = -15.6832227478773 -816000 ekin = 2.1594176029821 | erot = 2.59153501297938 | epot = -20.4557339217919 | etot = -15.7047813058304 -817000 ekin = 2.16476188533261 | erot = 2.3341335458438 | epot = -20.3878114616849 | etot = -15.8889160305084 -818000 ekin = 2.2316964675901 | erot = 2.16459446462076 | epot = -20.3094264209628 | etot = -15.9131354887519 -819000 ekin = 2.15183597113008 | erot = 1.96236374628699 | epot = -20.2442212233172 | etot = -16.1300215059002 -820000 ekin = 2.15160519820179 | erot = 1.78654941276898 | epot = -20.1685556064356 | etot = -16.2304009954648 -821000 ekin = 2.11411181703459 | erot = 1.59439007001321 | epot = -20.1045081087113 | etot = -16.3960062216635 -822000 ekin = 2.09578590796832 | erot = 1.82458690696502 | epot = -20.0615873148663 | etot = -16.1412144999329 -823000 ekin = 2.08554311077402 | erot = 1.79122152448752 | epot = -20.0542615586192 | etot = -16.1774969233576 -824000 ekin = 2.06608530910568 | erot = 1.83488646651528 | epot = -20.0832229529284 | etot = -16.1822511773074 -825000 ekin = 2.12914321441478 | erot = 2.12189619250101 | epot = -20.1297268549431 | etot = -15.8786874480273 -826000 ekin = 2.17617898744288 | erot = 2.29556289596594 | epot = -20.172646352924 | etot = -15.7009044695152 -827000 ekin = 2.1541933130057 | erot = 2.34308143022508 | epot = -20.2056332381724 | etot = -15.7083584949417 -828000 ekin = 2.20039878821194 | erot = 2.41783518802157 | epot = -20.2229965044045 | etot = -15.604762528171 -829000 ekin = 2.20314847732571 | erot = 2.56607297380311 | epot = -20.2051061030743 | etot = -15.4358846519455 -830000 ekin = 2.30175185120456 | erot = 2.43964061204045 | epot = -20.1552304697953 | etot = -15.4138380065503 -831000 ekin = 2.24000691994547 | erot = 2.16496177189546 | epot = -20.0860391808208 | etot = -15.6810704889798 -832000 ekin = 2.23825638063342 | erot = 2.25483913353687 | epot = -20.0235934169571 | etot = -15.5304979027868 -833000 ekin = 2.16205349111652 | erot = 1.94237500276371 | epot = -19.9879274641397 | etot = -15.8834989702595 -834000 ekin = 2.16740768022488 | erot = 1.70564999745802 | epot = -19.9844147815709 | etot = -16.111357103888 -835000 ekin = 2.17278893541051 | erot = 1.56429512699082 | epot = -20.0201055001639 | etot = -16.2830214377626 -836000 ekin = 2.12097731365457 | erot = 1.73560474622194 | epot = -20.0572346764645 | etot = -16.200652616588 -837000 ekin = 2.13598638451596 | erot = 1.79213525365432 | epot = -20.0629697156961 | etot = -16.1348480775258 -838000 ekin = 2.155236659974 | erot = 1.6597576786498 | epot = -20.0531324206633 | etot = -16.2381380820395 -839000 ekin = 2.18050335550332 | erot = 1.62185210117957 | epot = -20.0624518040168 | etot = -16.2600963473339 -840000 ekin = 2.26003994524086 | erot = 1.64754456826618 | epot = -20.0987090628808 | etot = -16.1911245493738 -841000 ekin = 2.35849160545682 | erot = 1.45991256461146 | epot = -20.1235761929062 | etot = -16.3051720228379 -842000 ekin = 2.30506950612889 | erot = 1.67704941831984 | epot = -20.1403357838886 | etot = -16.1582168594399 -843000 ekin = 2.25000612105265 | erot = 1.57916412105146 | epot = -20.178749085045 | etot = -16.3495788429409 -844000 ekin = 2.36131993993677 | erot = 1.74224823968073 | epot = -20.2587879559388 | etot = -16.1552197763213 -845000 ekin = 2.37622491879865 | erot = 1.78604993278489 | epot = -20.3527813128758 | etot = -16.1905064612923 -846000 ekin = 2.34115102661114 | erot = 1.84579845054568 | epot = -20.4555275090995 | etot = -16.2685780319426 -847000 ekin = 2.41159198035498 | erot = 1.92961286076136 | epot = -20.5532540909635 | etot = -16.2120492498472 -848000 ekin = 2.31213774862364 | erot = 2.08278486795961 | epot = -20.6337560180199 | etot = -16.2388334014366 -849000 ekin = 2.30336620270337 | erot = 2.04122209248428 | epot = -20.6821032694947 | etot = -16.337514974307 -850000 ekin = 2.25629668954079 | erot = 2.1827089461388 | epot = -20.7098894953333 | etot = -16.2708838596537 -851000 ekin = 2.29979938433515 | erot = 2.41406540449276 | epot = -20.7044118358106 | etot = -15.9905470469827 -852000 ekin = 2.26390891815863 | erot = 2.16338375104434 | epot = -20.6569849671614 | etot = -16.2296922979585 -853000 ekin = 2.3042457110132 | erot = 1.99747184850866 | epot = -20.5998336497752 | etot = -16.2981160902533 -854000 ekin = 2.36419736155972 | erot = 2.06846824934106 | epot = -20.520428197268 | etot = -16.0877625863673 -855000 ekin = 2.34728028486118 | erot = 1.93310140619988 | epot = -20.4489431066125 | etot = -16.1685614155514 -856000 ekin = 2.30561682537924 | erot = 1.7468225593453 | epot = -20.3871281777724 | etot = -16.3346887930479 -857000 ekin = 2.27745448387241 | erot = 1.8357005645436 | epot = -20.3461722185286 | etot = -16.2330171701126 -858000 ekin = 2.36509593163739 | erot = 1.75581829580622 | epot = -20.3410559181935 | etot = -16.2201416907498 -859000 ekin = 2.38832938274202 | erot = 1.82095166272789 | epot = -20.3690417944097 | etot = -16.1597607489398 -860000 ekin = 2.52181162102415 | erot = 1.95420940577044 | epot = -20.4478015207824 | etot = -15.9717804939878 -861000 ekin = 2.62858628470805 | erot = 1.82148423675546 | epot = -20.5405427960154 | etot = -16.0904722745519 -862000 ekin = 2.69973060754157 | erot = 1.84887576916208 | epot = -20.6629551977625 | etot = -16.1143488210589 -863000 ekin = 2.90205526612768 | erot = 1.95053830347129 | epot = -20.7912991546469 | etot = -15.9387055850479 -864000 ekin = 3.12658816228353 | erot = 1.98858429691946 | epot = -20.8929021658137 | etot = -15.7777297066107 -865000 ekin = 3.16945674700278 | erot = 1.86291391059874 | epot = -20.9419832509068 | etot = -15.9096125933052 -866000 ekin = 3.25216934165267 | erot = 1.97645641207249 | epot = -20.9567552239706 | etot = -15.7281294702455 -867000 ekin = 3.24945037233148 | erot = 1.84073824549816 | epot = -20.9282973760204 | etot = -15.8381087581907 -868000 ekin = 3.07999788772602 | erot = 1.92805224835509 | epot = -20.8706478182266 | etot = -15.8625976821455 -869000 ekin = 2.91009138976889 | erot = 1.95537175968492 | epot = -20.7577406936838 | etot = -15.8922775442299 -870000 ekin = 2.98633737341202 | erot = 1.74639234614442 | epot = -20.6193203055685 | etot = -15.8865905860121 -871000 ekin = 2.82797025785024 | erot = 2.22216789862767 | epot = -20.5143766346289 | etot = -15.464238478151 -872000 ekin = 2.75225970096172 | erot = 2.04685014109657 | epot = -20.4197450563602 | etot = -15.6206352143019 -873000 ekin = 2.76508179334924 | erot = 2.07802391335104 | epot = -20.3610564187726 | etot = -15.5179507120724 -874000 ekin = 2.70667266094186 | erot = 2.03935635819039 | epot = -20.3167066993019 | etot = -15.5706776801697 -875000 ekin = 2.75331326518688 | erot = 1.87289863150028 | epot = -20.292306770067 | etot = -15.6660948733799 -876000 ekin = 2.71618421707282 | erot = 1.89637161128832 | epot = -20.2754390470299 | etot = -15.6628832186688 -877000 ekin = 2.71649559901529 | erot = 2.02021579600124 | epot = -20.2646771674143 | etot = -15.5279657723978 -878000 ekin = 2.62749245340177 | erot = 1.88626086619189 | epot = -20.2836933343753 | etot = -15.7699400147816 -879000 ekin = 2.74884813769532 | erot = 1.75263692861084 | epot = -20.3265216122721 | etot = -15.825036545966 -880000 ekin = 2.71696155764851 | erot = 1.77313431669203 | epot = -20.4055312116426 | etot = -15.9154353373021 -881000 ekin = 2.78382645158866 | erot = 1.81182472346909 | epot = -20.5191596774759 | etot = -15.9235085024182 -882000 ekin = 2.81130894387483 | erot = 2.09576450580344 | epot = -20.6489904734902 | etot = -15.741917023812 -883000 ekin = 2.88120316600177 | erot = 2.27294351864316 | epot = -20.7888871990869 | etot = -15.6347405144419 -884000 ekin = 2.90293873255418 | erot = 2.48430131570204 | epot = -20.9203204845733 | etot = -15.5330804363171 -885000 ekin = 2.83822193724187 | erot = 2.33567911137689 | epot = -21.0170580718189 | etot = -15.8431570232002 -886000 ekin = 2.7998012720849 | erot = 2.39879132479689 | epot = -21.1056755206453 | etot = -15.9070829237635 -887000 ekin = 2.84559753547726 | erot = 2.23279918443315 | epot = -21.1991974917508 | etot = -16.1208007718404 -888000 ekin = 2.78048788087585 | erot = 2.21910506766716 | epot = -21.2985745989316 | etot = -16.2989816503886 -889000 ekin = 2.69583578763831 | erot = 2.42515435306393 | epot = -21.3860199387971 | etot = -16.2650297980949 -890000 ekin = 2.58377832307697 | erot = 2.46763021206656 | epot = -21.4668454924047 | etot = -16.4154369572612 -891000 ekin = 2.65145947657508 | erot = 2.54188813630614 | epot = -21.5059683813091 | etot = -16.3126207684279 -892000 ekin = 2.67593216257319 | erot = 2.30931133615829 | epot = -21.5221026652215 | etot = -16.5368591664901 -893000 ekin = 2.6330379108205 | erot = 2.54633069672426 | epot = -21.5431241050785 | etot = -16.3637554975338 -894000 ekin = 2.67500961491507 | erot = 2.62632956964415 | epot = -21.5659877596139 | etot = -16.2646485750547 -895000 ekin = 2.69351100875758 | erot = 2.87253630615187 | epot = -21.5608314238547 | etot = -15.9947841089452 -896000 ekin = 2.73971679868459 | erot = 2.83751968369822 | epot = -21.5599160231106 | etot = -15.9826795407278 -897000 ekin = 2.59024156060526 | erot = 3.14999384860218 | epot = -21.516909346574 | etot = -15.7766739373666 -898000 ekin = 2.53463691976959 | erot = 2.86279041479464 | epot = -21.4480578810232 | etot = -16.050630546459 -899000 ekin = 2.47014007897646 | erot = 2.84092875108399 | epot = -21.4001318574341 | etot = -16.0890630273737 -900000 ekin = 2.41396838915947 | erot = 2.61119437719758 | epot = -21.317178398511 | etot = -16.2920156321539 -901000 ekin = 2.39217135029622 | erot = 2.42887884956516 | epot = -21.2332353575312 | etot = -16.4121851576699 -902000 ekin = 2.35623147489354 | erot = 2.68618153800008 | epot = -21.1565378225641 | etot = -16.1141248096705 -903000 ekin = 2.40445872766512 | erot = 2.65960453389372 | epot = -21.0523977096232 | etot = -15.9883344480644 -904000 ekin = 2.38268859333766 | erot = 2.75563140701159 | epot = -20.9254211676189 | etot = -15.7871011672696 -905000 ekin = 2.33859357853608 | erot = 2.74896960744455 | epot = -20.7865758980932 | etot = -15.6990127121126 -906000 ekin = 2.24424050125722 | erot = 2.67219011400459 | epot = -20.6458687615363 | etot = -15.7294381462745 -907000 ekin = 2.11959693796271 | erot = 2.6912404276246 | epot = -20.5218058154343 | etot = -15.710968449847 -908000 ekin = 1.99538198820417 | erot = 2.73765845183768 | epot = -20.4226667461155 | etot = -15.6896263060737 -909000 ekin = 1.91948050394767 | erot = 2.81092155873009 | epot = -20.3715084186363 | etot = -15.6411063559585 -910000 ekin = 1.86559504281192 | erot = 2.50422584066007 | epot = -20.354295857683 | etot = -15.9844749742111 -911000 ekin = 1.93700212306668 | erot = 2.70182168284124 | epot = -20.3630470394691 | etot = -15.7242232335612 -912000 ekin = 2.01297731830434 | erot = 2.59333468311027 | epot = -20.4016114857549 | etot = -15.7952994843403 -913000 ekin = 2.0489325329366 | erot = 2.44335563755548 | epot = -20.4595271951783 | etot = -15.9672390246862 -914000 ekin = 2.13522967419318 | erot = 2.04488675557111 | epot = -20.5157656558596 | etot = -16.3356492260953 -915000 ekin = 2.25766070321713 | erot = 1.97393473123362 | epot = -20.6118613948288 | etot = -16.3802659603781 -916000 ekin = 2.21223622141694 | erot = 2.10345838304615 | epot = -20.754410524097 | etot = -16.4387159196339 -917000 ekin = 2.40651996373664 | erot = 1.99495172303677 | epot = -20.9073170323362 | etot = -16.5058453455628 -918000 ekin = 2.53615730988932 | erot = 2.01638663666291 | epot = -21.0405250498178 | etot = -16.4879811032656 -919000 ekin = 2.65442530964963 | erot = 2.0876213593564 | epot = -21.1719711454817 | etot = -16.4299244764757 -920000 ekin = 2.77534951778639 | erot = 2.11359099299367 | epot = -21.2829839475272 | etot = -16.3940434367471 -921000 ekin = 2.91643782768224 | erot = 2.28215815938558 | epot = -21.3691506671587 | etot = -16.1705546800909 -922000 ekin = 2.95567400678637 | erot = 1.92472032500007 | epot = -21.4077235507563 | etot = -16.5273292189699 -923000 ekin = 2.96258486890882 | erot = 1.54690402842668 | epot = -21.3938794896988 | etot = -16.8843905923633 -924000 ekin = 2.92134762613199 | erot = 1.70996406555928 | epot = -21.3449839261311 | etot = -16.7136722344398 -925000 ekin = 2.84653903464864 | erot = 1.92806668586779 | epot = -21.2846325911284 | etot = -16.510026870612 -926000 ekin = 2.90254254848598 | erot = 2.07364806195529 | epot = -21.2015262749286 | etot = -16.2253356644873 -927000 ekin = 2.91395828926413 | erot = 2.18066099339461 | epot = -21.1200145418047 | etot = -16.025395259146 -928000 ekin = 2.84512894116016 | erot = 2.48044872209653 | epot = -20.9999796012787 | etot = -15.674401938022 -929000 ekin = 2.66004165976114 | erot = 2.51779336046962 | epot = -20.8727093584572 | etot = -15.6948743382265 -930000 ekin = 2.6545466782943 | erot = 2.57569274741415 | epot = -20.7556416891754 | etot = -15.525402263467 -931000 ekin = 2.67423829393946 | erot = 2.88523636975912 | epot = -20.6759551108841 | etot = -15.1164804471855 -932000 ekin = 2.62616449296355 | erot = 2.54798110237941 | epot = -20.6086291233289 | etot = -15.4344835279859 -933000 ekin = 2.69383973705599 | erot = 2.46235736679314 | epot = -20.54561258563 | etot = -15.3894154817809 -934000 ekin = 2.7677642743111 | erot = 2.34101084786864 | epot = -20.4809121018787 | etot = -15.372136979699 -935000 ekin = 2.72642510821387 | erot = 2.35916469229107 | epot = -20.4211165962346 | etot = -15.3355267957297 -936000 ekin = 2.79063797840949 | erot = 2.07475414089715 | epot = -20.39575856362 | etot = -15.5303664443133 -937000 ekin = 2.98467692526026 | erot = 1.99225267024811 | epot = -20.4024768464832 | etot = -15.4255472509748 -938000 ekin = 3.04156516590336 | erot = 2.13242133064027 | epot = -20.3998804937967 | etot = -15.2258939972531 -939000 ekin = 3.07943235169643 | erot = 2.19292802789746 | epot = -20.377015696722 | etot = -15.1046553171281 -940000 ekin = 3.11450220916332 | erot = 2.05442808222263 | epot = -20.3386629407116 | etot = -15.1697326493257 -941000 ekin = 3.1673723572625 | erot = 2.43340006549779 | epot = -20.2760521197247 | etot = -14.6752796969644 -942000 ekin = 3.27652888451167 | erot = 2.44054387582516 | epot = -20.166869297399 | etot = -14.4497965370622 -943000 ekin = 3.13900445201123 | erot = 2.17030471354849 | epot = -20.0267063041317 | etot = -14.7173971385719 -944000 ekin = 3.1157767971462 | erot = 1.97360877260966 | epot = -19.8813791244596 | etot = -14.7919935547037 -945000 ekin = 3.14747064890608 | erot = 1.73794156198925 | epot = -19.7300654287798 | etot = -14.8446532178844 -946000 ekin = 3.06500562594212 | erot = 1.59817914677196 | epot = -19.583631952048 | etot = -14.9204471793339 -947000 ekin = 3.06465941958365 | erot = 1.56394261373887 | epot = -19.4474159558771 | etot = -14.8188139225545 -948000 ekin = 3.07897503028523 | erot = 1.70141948030273 | epot = -19.3426980410741 | etot = -14.5623035304862 -949000 ekin = 2.87406117522931 | erot = 1.60153309498399 | epot = -19.2597755284806 | etot = -14.7841812582673 -950000 ekin = 2.84815804599153 | erot = 1.42715690189525 | epot = -19.2062266956084 | etot = -14.9309117477216 -951000 ekin = 2.78080942687086 | erot = 1.40916295422846 | epot = -19.1985529774584 | etot = -15.0085805963591 -952000 ekin = 2.67957446722124 | erot = 1.63751827005628 | epot = -19.1980674262524 | etot = -14.8809746889749 -953000 ekin = 2.69185316270153 | erot = 1.85029680460109 | epot = -19.2316635394469 | etot = -14.6895135721443 -954000 ekin = 2.64694034455339 | erot = 2.11448729476975 | epot = -19.2977991859254 | etot = -14.5363715466022 -955000 ekin = 2.7322410216683 | erot = 2.37373438935249 | epot = -19.3777324828793 | etot = -14.2717570718585 -956000 ekin = 2.80603458830182 | erot = 2.32665803374312 | epot = -19.4665233130259 | etot = -14.3338306909809 -957000 ekin = 2.73176061747242 | erot = 2.74205596111945 | epot = -19.524980257439 | etot = -14.0511636788471 -958000 ekin = 2.77128367160854 | erot = 2.7068271152838 | epot = -19.5522596510488 | etot = -14.0741488641564 -959000 ekin = 2.78347654187748 | erot = 2.83940326280202 | epot = -19.5446437759979 | etot = -13.9217639713184 -960000 ekin = 2.63327999524026 | erot = 3.22713050217908 | epot = -19.5114109332442 | etot = -13.6510004358248 -961000 ekin = 2.53039842552575 | erot = 3.04837954363138 | epot = -19.4489807736386 | etot = -13.8702028044814 -962000 ekin = 2.42158405784754 | erot = 2.73764467618047 | epot = -19.3495392486846 | etot = -14.1903105146565 -963000 ekin = 2.35599553488279 | erot = 2.6817144021742 | epot = -19.2270773719362 | etot = -14.1893674348792 -964000 ekin = 2.25219457310711 | erot = 2.53224426940242 | epot = -19.0939126804605 | etot = -14.309473837951 -965000 ekin = 2.15172115406625 | erot = 2.5074263640058 | epot = -18.9655401098707 | etot = -14.3063925917986 -966000 ekin = 2.08836430745346 | erot = 2.10683533981445 | epot = -18.8740473984177 | etot = -14.6788477511498 -967000 ekin = 2.12576981405844 | erot = 2.10554977010184 | epot = -18.8222969563416 | etot = -14.5909773721813 -968000 ekin = 2.12924016899234 | erot = 1.91970464113304 | epot = -18.8304973626992 | etot = -14.7815525525738 -969000 ekin = 2.1744253034851 | erot = 2.16512140090506 | epot = -18.8673529233365 | etot = -14.5278062189463 -970000 ekin = 2.18162741265382 | erot = 2.2450862581363 | epot = -18.9283529594566 | etot = -14.5016392886665 -971000 ekin = 2.1872176318087 | erot = 2.43353633304448 | epot = -19.0277599144665 | etot = -14.4070059496134 -972000 ekin = 2.27055464044586 | erot = 2.03487376489175 | epot = -19.1290866187785 | etot = -14.8236582134409 -973000 ekin = 2.33904004605626 | erot = 2.15183928912462 | epot = -19.236661180688 | etot = -14.7457818455071 -974000 ekin = 2.4184780784401 | erot = 2.34438108784234 | epot = -19.363118432485 | etot = -14.6002592662026 -975000 ekin = 2.46206146488029 | erot = 2.35624199281868 | epot = -19.4736098152928 | etot = -14.6553063575938 -976000 ekin = 2.52456876946494 | erot = 2.27614398265605 | epot = -19.5649915573495 | etot = -14.7642788052285 -977000 ekin = 2.60637564524354 | erot = 2.0709370581174 | epot = -19.6101874123253 | etot = -14.9328747089644 -978000 ekin = 2.61064269721012 | erot = 2.07202524510603 | epot = -19.629445129702 | etot = -14.9467771873859 -979000 ekin = 2.55561169069455 | erot = 2.18920140876201 | epot = -19.6166445363163 | etot = -14.8718314368598 -980000 ekin = 2.56864273287448 | erot = 2.03395631393317 | epot = -19.6174963338761 | etot = -15.0148972870685 -981000 ekin = 2.66191070196827 | erot = 2.16659095907662 | epot = -19.6250525963019 | etot = -14.796550935257 -982000 ekin = 2.61731281327832 | erot = 2.24698893274267 | epot = -19.5974740187255 | etot = -14.7331722727045 -983000 ekin = 2.54225454915894 | erot = 2.48926874093348 | epot = -19.574589405176 | etot = -14.5430661150836 -984000 ekin = 2.50737950403369 | erot = 3.03624865807153 | epot = -19.5602814074028 | etot = -14.0166532452976 -985000 ekin = 2.4152528155718 | erot = 2.79336029081699 | epot = -19.5475069203678 | etot = -14.338893813979 -986000 ekin = 2.43517645380153 | erot = 2.71437828234941 | epot = -19.5659718124285 | etot = -14.4164170762775 -987000 ekin = 2.43635014041239 | erot = 2.70440060167985 | epot = -19.6117703785916 | etot = -14.4710196364993 -988000 ekin = 2.47223137990792 | erot = 3.04012548433553 | epot = -19.6728653378115 | etot = -14.1605084735681 -989000 ekin = 2.57461282782935 | erot = 2.65740086918251 | epot = -19.7180658550368 | etot = -14.4860521580249 -990000 ekin = 2.67359097736954 | erot = 2.60446843961488 | epot = -19.7676266504478 | etot = -14.4895672334633 -991000 ekin = 2.70426688173755 | erot = 2.7885730625978 | epot = -19.8289708825354 | etot = -14.3361309382 -992000 ekin = 2.77048904951462 | erot = 3.05066231165514 | epot = -19.9192662402538 | etot = -14.098114879084 -993000 ekin = 2.82958876080153 | erot = 2.65444369525357 | epot = -20.003093866259 | etot = -14.5190614102039 -994000 ekin = 2.90170601691379 | erot = 2.65673610083181 | epot = -20.0686975144619 | etot = -14.5102553967163 -995000 ekin = 3.03287923230155 | erot = 2.4030603061795 | epot = -20.1412612654696 | etot = -14.7053217269886 -996000 ekin = 3.01357004889798 | erot = 1.93970518668622 | epot = -20.2209046421976 | etot = -15.2676294066134 -997000 ekin = 3.16382267303453 | erot = 2.09671009945294 | epot = -20.2929309039614 | etot = -15.0323981314739 -998000 ekin = 3.20277399494172 | erot = 2.11561017239343 | epot = -20.3495982469412 | etot = -15.031214079606 -999000 ekin = 3.17166482809408 | erot = 2.14572404428889 | epot = -20.3850372708089 | etot = -15.0676483984259 -1000000 ekin = 3.19306217159923 | erot = 2.4662195338148 | epot = -20.4393210047148 | etot = -14.7800392993008 - 1000000 0.14191387 -1.3172305 0.039772926 -1.0778912 3.1162031e-05 64000 -Loop time of 26.6858 on 4 procs for 1000000 steps with 16 atoms - -Performance: 32376.758 tau/day, 37473.099 timesteps/s -99.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 | 14.528 | 16.117 | 17.521 | 33.5 | 60.39 -Bond | 0.3756 | 0.45654 | 0.49823 | 7.2 | 1.71 -Neigh | 0.011905 | 0.011947 | 0.011963 | 0.0 | 0.04 -Comm | 2.5182 | 2.6398 | 2.7955 | 7.0 | 9.89 -Output | 0.11297 | 0.11799 | 0.1276 | 1.7 | 0.44 -Modify | 1.4585 | 1.5893 | 1.7174 | 8.8 | 5.96 -Other | | 5.754 | | | 21.56 - -Nlocal: 4.00000 ave 5 max 3 min -Histogram: 2 0 0 0 0 0 0 0 0 2 -Nghost: 12.0000 ave 13 max 11 min -Histogram: 2 0 0 0 0 0 0 0 0 2 -Neighs: 49.5000 ave 60 max 39 min -Histogram: 2 0 0 0 0 0 0 0 0 2 - -Total # of neighbors = 198 -Ave neighs/atom = 12.375000 -Ave special neighs/atom = 3.7500000 -Neighbor list builds = 1000 -Dangerous builds = 0 - -write_data last_config.${number}.* nocoeff -write_data last_config.2.* nocoeff -System init for write_data ... -Total wall time: 0:00:26 diff --git a/examples/PACKAGES/cgdna/examples/oxDNA2/duplex2/log.2Jul21.duplex2.g++.1 b/examples/PACKAGES/cgdna/examples/oxDNA2/duplex2/log.2Jul21.duplex2.g++.1 new file mode 100644 index 0000000000..ba05c783fb --- /dev/null +++ b/examples/PACKAGES/cgdna/examples/oxDNA2/duplex2/log.2Jul21.duplex2.g++.1 @@ -0,0 +1,1183 @@ +LAMMPS (2 Jul 2021) +variable number equal 2 +variable ofreq equal 1000 +variable efreq equal 1000 +variable T equal 0.1 +variable rhos equal 0.2 + +units lj + +dimension 3 + +newton on + +boundary p p p + +atom_style hybrid bond ellipsoid oxdna +WARNING: Atom style hybrid defines both, per-type and per-atom masses; both must be set, but only per-atom masses will be used (../atom_vec_hybrid.cpp:157) +atom_modify sort 0 1.0 + +# Pair interactions require lists of neighbours to be calculated +neighbor 2.0 bin +neigh_modify every 1 delay 0 check yes + +read_data data.duplex2 +Reading data file ... + orthogonal box = (-20.000000 -20.000000 -20.000000) to (20.000000 20.000000 20.000000) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 16 atoms + reading velocities ... + 16 velocities + scanning bonds ... + 1 = max bonds/atom + 16 ellipsoids + reading bonds ... + 13 bonds +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 + 2 = max # of 1-3 neighbors + 4 = max # of 1-4 neighbors + 6 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.003 seconds + +set atom * mass 3.1575 +Setting atom values ... + 16 settings made for mass + +group all type 1 4 +16 atoms in group all + +# oxDNA2 bond interactions - FENE backbone +bond_style oxdna2/fene +bond_coeff * 2.0 0.25 0.7564 +special_bonds lj 0 1 1 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 1 1 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 2 = max # of 1-3 neighbors + 4 = max # of 1-4 neighbors + 6 = max # of special neighbors + special bonds CPU = 0.000 seconds + +# oxDNA2 pair interactions +pair_style hybrid/overlay oxdna2/excv oxdna2/stk oxdna2/hbond oxdna2/xstk oxdna2/coaxstk oxdna2/dh +pair_coeff * * oxdna2/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32 +pair_coeff * * oxdna2/stk seqav ${T} 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 +pair_coeff * * oxdna2/stk seqav 0.1 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 +pair_coeff * * oxdna2/hbond seqav 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 1 4 oxdna2/hbond seqav 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 2 3 oxdna2/hbond seqav 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff * * oxdna2/xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68 +pair_coeff * * oxdna2/coaxstk 58.5 0.4 0.6 0.22 0.58 2.0 2.891592653589793 0.65 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 40.0 3.116592653589793 +pair_coeff * * oxdna2/dh ${T} ${rhos} 0.815 +pair_coeff * * oxdna2/dh 0.1 ${rhos} 0.815 +pair_coeff * * oxdna2/dh 0.1 0.2 0.815 + +# NVE ensemble +fix 1 all nve/asphere +fix 2 all langevin ${T} ${T} 2.5 457145 angmom 10 +fix 2 all langevin 0.1 ${T} 2.5 457145 angmom 10 +fix 2 all langevin 0.1 0.1 2.5 457145 angmom 10 + +timestep 1e-5 + +#comm_style tiled +fix 3 all balance 1000 1.03 shift xyz 10 1.03 +comm_modify cutoff 3.8 + +compute quat all property/atom quatw quati quatj quatk + +compute erot all erotate/asphere +compute ekin all ke +compute epot all pe +variable erot equal c_erot +variable ekin equal c_ekin +variable epot equal c_epot +variable etot equal c_erot+c_ekin+c_epot +fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes +fix 5 all print 1000 "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes + +dump out all custom ${ofreq} out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump out all custom 1000 out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump out all custom 1000 out.2.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump_modify out sort id +dump_modify out format line "%d %d %d %22.15le %22.15le %22.15le %d %d %d %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le" + +run 1000000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 5.6389877 + ghost atom cutoff = 5.6389877 + binsize = 2.8194939, bins = 15 15 15 + 5 neighbor lists, perpetual/occasional/extra = 5 0 0 + (1) pair oxdna2/excv, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard + (2) pair oxdna2/hbond, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none + (3) pair oxdna2/xstk, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none + (4) pair oxdna2/coaxstk, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none + (5) pair oxdna2/dh, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none +WARNING: Communication cutoff adjusted to 5.638987723814632 (../comm.cpp:739) +0 ekin = 2.70475393009871 | erot = 2.80172072918779 | epot = -21.0482852787267 | etot = -15.5418106194402 +Per MPI rank memory allocation (min/avg/max) = 9.325 | 9.325 | 9.325 Mbytes +Step Temp E_pair E_mol TotEng Press Volume + 0 0.12021129 -1.3610384 0.045520537 -1.1464707 5.9660461e-05 64000 +1000 ekin = 2.70391570439002 | erot = 2.60396138194761 | epot = -20.892587006041 | etot = -15.5847099197034 +2000 ekin = 2.64635320949975 | erot = 2.53579824187029 | epot = -20.7791695875995 | etot = -15.5970181362294 +3000 ekin = 2.69752120400807 | erot = 2.55180306746824 | epot = -20.7137659040141 | etot = -15.4644416325378 +4000 ekin = 2.6538821444735 | erot = 2.47641299322465 | epot = -20.679411997643 | etot = -15.5491168599449 +5000 ekin = 2.60025466050757 | erot = 2.2039059393524 | epot = -20.6560408696723 | etot = -15.8518802698123 +6000 ekin = 2.46901398821906 | erot = 2.47310200487734 | epot = -20.6350989412901 | etot = -15.6929829481937 +7000 ekin = 2.51574664182366 | erot = 2.31213437386206 | epot = -20.6631357493118 | etot = -15.835254733626 +8000 ekin = 2.59690047628267 | erot = 2.32317845363664 | epot = -20.7152959922884 | etot = -15.7952170623691 +9000 ekin = 2.48618631858407 | erot = 2.08285633125495 | epot = -20.7950725844518 | etot = -16.2260299346128 +10000 ekin = 2.52115116499232 | erot = 2.20106084795616 | epot = -20.8992442032706 | etot = -16.1770321903222 +11000 ekin = 2.43147539619193 | erot = 2.42927619785951 | epot = -21.0249867006789 | etot = -16.1642351066275 +12000 ekin = 2.45333761568574 | erot = 2.525603071611 | epot = -21.1588492672088 | etot = -16.1799085799121 +13000 ekin = 2.53951720462341 | erot = 2.74654877006482 | epot = -21.2655112796489 | etot = -15.9794453049606 +14000 ekin = 2.52874823012217 | erot = 3.01239544645662 | epot = -21.3374765197331 | etot = -15.7963328431543 +15000 ekin = 2.63126849733541 | erot = 2.75804260501317 | epot = -21.3622375137171 | etot = -15.9729264113685 +16000 ekin = 2.53351081020592 | erot = 2.95152401468654 | epot = -21.3358982910482 | etot = -15.8508634661558 +17000 ekin = 2.57894891181703 | erot = 3.20567182477324 | epot = -21.2708322188654 | etot = -15.4862114822752 +18000 ekin = 2.48912656009906 | erot = 3.305144217587 | epot = -21.185496468772 | etot = -15.391225691086 +19000 ekin = 2.54963746369463 | erot = 3.12775559702558 | epot = -21.0796045258341 | etot = -15.4022114651139 +20000 ekin = 2.70343028147048 | erot = 3.48245634539093 | epot = -20.9620878080506 | etot = -14.7762011811892 +21000 ekin = 2.7400837598076 | erot = 3.493409766499 | epot = -20.8605728519254 | etot = -14.6270793256188 +22000 ekin = 2.70619491966167 | erot = 3.39094503970532 | epot = -20.7832212738354 | etot = -14.6860813144684 +23000 ekin = 2.7697757193537 | erot = 2.96919161110178 | epot = -20.7244407619744 | etot = -14.9854734315189 +24000 ekin = 2.70661582607971 | erot = 2.73688112318632 | epot = -20.7053645378039 | etot = -15.2618675885378 +25000 ekin = 2.68754636497145 | erot = 2.61416599169547 | epot = -20.7064779461664 | etot = -15.4047655894994 +26000 ekin = 2.73235500408328 | erot = 2.73313459064974 | epot = -20.7277379348113 | etot = -15.2622483400783 +27000 ekin = 2.8077624395387 | erot = 2.57060961199337 | epot = -20.7536767854921 | etot = -15.3753047339601 +28000 ekin = 2.72026602469299 | erot = 2.48773762184115 | epot = -20.7972439765033 | etot = -15.5892403299691 +29000 ekin = 2.74993250614264 | erot = 2.4362001954172 | epot = -20.8845224755543 | etot = -15.6983897739944 +30000 ekin = 2.84727011110435 | erot = 2.55872515142543 | epot = -21.0029391367955 | etot = -15.5969438742657 +31000 ekin = 2.9373105145775 | erot = 2.68538653493625 | epot = -21.1441658724037 | etot = -15.52146882289 +32000 ekin = 3.11483472271263 | erot = 2.71833221771894 | epot = -21.3009630690853 | etot = -15.4677961286537 +33000 ekin = 3.42015689623702 | erot = 3.01186958829681 | epot = -21.4445354747605 | etot = -15.0125089902267 +34000 ekin = 3.4571497053447 | erot = 3.34699175671052 | epot = -21.5750227937594 | etot = -14.7708813317042 +35000 ekin = 3.49497749393851 | erot = 3.14001434352617 | epot = -21.6604994386103 | etot = -15.0255076011457 +36000 ekin = 3.47204675153372 | erot = 2.84774400732494 | epot = -21.6891867301232 | etot = -15.3693959712646 +37000 ekin = 3.44180301616544 | erot = 2.56259280720516 | epot = -21.6709924941777 | etot = -15.6665966708071 +38000 ekin = 3.54821034228965 | erot = 2.44212751582536 | epot = -21.6265094810358 | etot = -15.6361716229208 +39000 ekin = 3.46871818671429 | erot = 2.39960208230661 | epot = -21.5379795382885 | etot = -15.6696592692676 +40000 ekin = 3.39697091933591 | erot = 2.06928828303171 | epot = -21.4180869184492 | etot = -15.9518277160816 +41000 ekin = 3.34648089211938 | erot = 2.10977053447759 | epot = -21.3088504303421 | etot = -15.8525990037452 +42000 ekin = 3.14017175730784 | erot = 2.61712762297436 | epot = -21.2075302208961 | etot = -15.4502308406139 +43000 ekin = 3.0541271305486 | erot = 2.16422672116187 | epot = -21.1026514185807 | etot = -15.8842975668702 +44000 ekin = 2.85636525492286 | erot = 2.23456154398502 | epot = -21.0187138708967 | etot = -15.9277870719889 +45000 ekin = 2.71017763793136 | erot = 2.20442798009884 | epot = -20.9688571562277 | etot = -16.0542515381975 +46000 ekin = 2.80228666966609 | erot = 2.3691206574228 | epot = -20.9221917036257 | etot = -15.7507843765369 +47000 ekin = 2.68398029783778 | erot = 2.30787382180577 | epot = -20.9147956898556 | etot = -15.922941570212 +48000 ekin = 2.60361639221643 | erot = 2.16759706121358 | epot = -20.9378819526189 | etot = -16.1666684991889 +49000 ekin = 2.69879527332656 | erot = 1.95331370371646 | epot = -20.9793801292352 | etot = -16.3272711521921 +50000 ekin = 2.78297818082637 | erot = 1.73866705563715 | epot = -21.0239873291857 | etot = -16.5023420927222 +51000 ekin = 2.79226298145992 | erot = 1.75750015205399 | epot = -21.0591817365136 | etot = -16.5094186029996 +52000 ekin = 2.93778678358836 | erot = 2.05248025310421 | epot = -21.1000263829064 | etot = -16.1097593462138 +53000 ekin = 2.93047021956224 | erot = 2.21318598351599 | epot = -21.1408129057595 | etot = -15.9971567026812 +54000 ekin = 2.95313738597263 | erot = 2.20797346738787 | epot = -21.1830307851601 | etot = -16.0219199317996 +55000 ekin = 2.98703149924483 | erot = 2.36965734625007 | epot = -21.2448833674046 | etot = -15.8881945219097 +56000 ekin = 2.99188476268835 | erot = 2.35374933057429 | epot = -21.3017374555428 | etot = -15.9561033622801 +57000 ekin = 3.04248410594252 | erot = 2.10923890188227 | epot = -21.3362725295754 | etot = -16.1845495217507 +58000 ekin = 2.98235297495938 | erot = 2.13409247728305 | epot = -21.3593231655095 | etot = -16.2428777132671 +59000 ekin = 2.91016949839296 | erot = 2.36822905479348 | epot = -21.3622398255744 | etot = -16.083841272388 +60000 ekin = 2.97250779202342 | erot = 2.54263250726513 | epot = -21.3342690818056 | etot = -15.8191287825171 +61000 ekin = 2.96790668494248 | erot = 2.48996902731655 | epot = -21.2724803895842 | etot = -15.8146046773252 +62000 ekin = 2.94610606099048 | erot = 2.18201665175963 | epot = -21.187919461435 | etot = -16.0597967486849 +63000 ekin = 3.0271214705261 | erot = 2.16093889178584 | epot = -21.096658489144 | etot = -15.9085981268321 +64000 ekin = 3.20886369209213 | erot = 2.06931440640059 | epot = -21.0569971647532 | etot = -15.7788190662604 +65000 ekin = 3.22349334555752 | erot = 1.93510092297445 | epot = -21.0349289183418 | etot = -15.8763346498098 +66000 ekin = 3.10418207507129 | erot = 1.94339370515853 | epot = -21.051745388243 | etot = -16.0041696080131 +67000 ekin = 3.12595764700019 | erot = 2.29857726165623 | epot = -21.10762065855 | etot = -15.6830857498936 +68000 ekin = 2.99981867339099 | erot = 2.04147368191603 | epot = -21.181198697827 | etot = -16.13990634252 +69000 ekin = 2.93860333642775 | erot = 2.09583398354869 | epot = -21.2548061558295 | etot = -16.2203688358531 +70000 ekin = 2.9486279695994 | erot = 2.02427035214611 | epot = -21.3225756079773 | etot = -16.3496772862318 +71000 ekin = 2.95485075626806 | erot = 1.98046752535274 | epot = -21.3931478839351 | etot = -16.4578296023143 +72000 ekin = 3.0308352187065 | erot = 1.64033628981958 | epot = -21.468068089369 | etot = -16.7968965808429 +73000 ekin = 3.20193349232367 | erot = 1.82676041495789 | epot = -21.5301957695023 | etot = -16.5015018622208 +74000 ekin = 3.22662444253103 | erot = 1.89227240506012 | epot = -21.5643738418553 | etot = -16.4454769942641 +75000 ekin = 3.28911018830883 | erot = 1.89872323449657 | epot = -21.5810306648803 | etot = -16.3931972420749 +76000 ekin = 3.29558374515743 | erot = 1.87444557500027 | epot = -21.5642338211322 | etot = -16.3942045009745 +77000 ekin = 3.54018909072085 | erot = 1.75729076536995 | epot = -21.5044360245146 | etot = -16.2069561684238 +78000 ekin = 3.54291076978592 | erot = 1.76974361090023 | epot = -21.4006101697986 | etot = -16.0879557891125 +79000 ekin = 3.54987455874821 | erot = 1.91515152695039 | epot = -21.2526696681999 | etot = -15.7876435825013 +80000 ekin = 3.44554692397033 | erot = 1.55785077520358 | epot = -21.1041761178578 | etot = -16.1007784186839 +81000 ekin = 3.39041332540007 | erot = 1.45777024027678 | epot = -20.9764951390216 | etot = -16.1283115733447 +82000 ekin = 3.28164787796656 | erot = 1.38380348431304 | epot = -20.899509162344 | etot = -16.2340578000644 +83000 ekin = 3.27119946746379 | erot = 1.61635220758898 | epot = -20.8682969771061 | etot = -15.9807453020534 +84000 ekin = 3.23767018514775 | erot = 1.58136727778774 | epot = -20.8558733748386 | etot = -16.0368359119031 +85000 ekin = 3.19513864200058 | erot = 1.6431910885888 | epot = -20.8419968518707 | etot = -16.0036671212813 +86000 ekin = 3.24896357270198 | erot = 1.89522046055135 | epot = -20.832806633325 | etot = -15.6886226000717 +87000 ekin = 3.13174021654823 | erot = 1.94306423894159 | epot = -20.8481262288118 | etot = -15.773321773322 +88000 ekin = 3.11122085279115 | erot = 1.78724048339196 | epot = -20.9059531901008 | etot = -16.0074918539177 +89000 ekin = 3.08381661724969 | erot = 1.63584870500641 | epot = -20.9715808309547 | etot = -16.2519155086986 +90000 ekin = 3.20313125753903 | erot = 1.94895881894579 | epot = -21.0671915523152 | etot = -15.9151014758304 +91000 ekin = 3.14651785772312 | erot = 2.26271277860547 | epot = -21.1780568094305 | etot = -15.768826173102 +92000 ekin = 3.23402739820373 | erot = 2.38502646372719 | epot = -21.3058699018424 | etot = -15.6868160399115 +93000 ekin = 3.27864277718335 | erot = 2.22426372598661 | epot = -21.4112218809901 | etot = -15.9083153778202 +94000 ekin = 3.31438607736509 | erot = 2.13604324487186 | epot = -21.5023579935933 | etot = -16.0519286713564 +95000 ekin = 3.27323012344947 | erot = 2.38178684388532 | epot = -21.6160955797709 | etot = -15.9610786124361 +96000 ekin = 3.22326707535017 | erot = 2.54544679505647 | epot = -21.7318191046087 | etot = -15.963105234202 +97000 ekin = 3.23424306839042 | erot = 2.64153427684315 | epot = -21.8458536800775 | etot = -15.9700763348439 +98000 ekin = 3.20883333988349 | erot = 2.67043755850081 | epot = -21.9495446261421 | etot = -16.0702737277578 +99000 ekin = 3.11663851643525 | erot = 2.90733596256664 | epot = -22.0486791427264 | etot = -16.0247046637246 +100000 ekin = 3.03264321501914 | erot = 2.96946233520285 | epot = -22.1457931713674 | etot = -16.1436876211454 +101000 ekin = 2.95046281913209 | erot = 2.88464070608079 | epot = -22.2018281755496 | etot = -16.3667246503367 +102000 ekin = 2.85487641720306 | erot = 3.1835231149768 | epot = -22.1945156997857 | etot = -16.1561161676059 +103000 ekin = 2.83556367487533 | erot = 3.10626911100577 | epot = -22.1286684506118 | etot = -16.1868356647307 +104000 ekin = 2.74206313561178 | erot = 2.764695345083 | epot = -22.0370967342096 | etot = -16.5303382535148 +105000 ekin = 2.68691210569746 | erot = 2.43510424243733 | epot = -21.9227484953522 | etot = -16.8007321472174 +106000 ekin = 2.563230657111 | erot = 2.04976251036808 | epot = -21.8252352950753 | etot = -17.2122421275962 +107000 ekin = 2.45282193090838 | erot = 2.35578840258503 | epot = -21.7394205256344 | etot = -16.930810192141 +108000 ekin = 2.53861743899987 | erot = 2.41441398228763 | epot = -21.6772620188416 | etot = -16.7242305975541 +109000 ekin = 2.47502081207091 | erot = 2.24593310938325 | epot = -21.6325689491034 | etot = -16.9116150276492 +110000 ekin = 2.50321333342882 | erot = 1.86407174946134 | epot = -21.6221361025481 | etot = -17.2548510196579 +111000 ekin = 2.55274947911861 | erot = 1.9335199844403 | epot = -21.6424359547629 | etot = -17.156166491204 +112000 ekin = 2.57554816024176 | erot = 1.85965001180022 | epot = -21.6646307305487 | etot = -17.2294325585067 +113000 ekin = 2.58422184546734 | erot = 1.66612606594662 | epot = -21.6825320885557 | etot = -17.4321841771417 +114000 ekin = 2.63767451071977 | erot = 1.86651684228485 | epot = -21.6875711888383 | etot = -17.1833798358337 +115000 ekin = 2.55850869288988 | erot = 1.95479352013929 | epot = -21.7088690741549 | etot = -17.1955668611257 +116000 ekin = 2.59960484914043 | erot = 1.98515359639087 | epot = -21.7399246709689 | etot = -17.1551662254376 +117000 ekin = 2.6364636182488 | erot = 2.15859263253907 | epot = -21.7790865447414 | etot = -16.9840302939536 +118000 ekin = 2.6722112411998 | erot = 2.07625368130399 | epot = -21.8132075002146 | etot = -17.0647425777108 +119000 ekin = 2.9108516764533 | erot = 1.98818490836516 | epot = -21.8375717289926 | etot = -16.9385351441741 +120000 ekin = 2.93975077154826 | erot = 1.99854094901663 | epot = -21.8494362428877 | etot = -16.9111445223229 +121000 ekin = 3.04700503953791 | erot = 2.15191677123407 | epot = -21.8526361044102 | etot = -16.6537142936382 +122000 ekin = 3.01970065630796 | erot = 2.09092735340917 | epot = -21.8688746811131 | etot = -16.7582466713959 +123000 ekin = 2.9930939614465 | erot = 1.76972828030715 | epot = -21.9045561644836 | etot = -17.14173392273 +124000 ekin = 2.96321679602912 | erot = 1.96464026140171 | epot = -21.9325819137337 | etot = -17.0047248563029 +125000 ekin = 2.98312575423879 | erot = 1.6459259375459 | epot = -21.9608904634477 | etot = -17.331838771663 +126000 ekin = 2.99097949215575 | erot = 1.75618745760134 | epot = -22.009758319428 | etot = -17.2625913696709 +127000 ekin = 3.04267424627598 | erot = 1.84781956231792 | epot = -22.0474977427294 | etot = -17.1570039341355 +128000 ekin = 3.16299477926061 | erot = 1.98570527937047 | epot = -22.1060844986599 | etot = -16.9573844400289 +129000 ekin = 3.16426696344668 | erot = 1.97746137640526 | epot = -22.1606468653278 | etot = -17.0189185254759 +130000 ekin = 3.09082575381668 | erot = 2.52059065203422 | epot = -22.1892702662505 | etot = -16.5778538603996 +131000 ekin = 3.04363359740037 | erot = 2.76905383223605 | epot = -22.1941284862536 | etot = -16.3814410566172 +132000 ekin = 2.97799249868516 | erot = 2.58737442779091 | epot = -22.1487985926417 | etot = -16.5834316661656 +133000 ekin = 3.03410219436435 | erot = 2.49151216637025 | epot = -22.0390476094715 | etot = -16.5134332487369 +134000 ekin = 2.97290518441651 | erot = 2.2795598062273 | epot = -21.9043568760917 | etot = -16.6518918854479 +135000 ekin = 2.97882125899838 | erot = 2.36516672946397 | epot = -21.7588924186334 | etot = -16.4149044301711 +136000 ekin = 3.06225054874148 | erot = 1.85004987442537 | epot = -21.6100365266532 | etot = -16.6977361034863 +137000 ekin = 3.03515949013347 | erot = 1.79133727158631 | epot = -21.4833056014437 | etot = -16.6568088397239 +138000 ekin = 2.9835998684383 | erot = 1.95427111240579 | epot = -21.3692118882268 | etot = -16.4313409073827 +139000 ekin = 3.0063875676428 | erot = 1.75390651791802 | epot = -21.2771971161582 | etot = -16.5169030305974 +140000 ekin = 2.98301520290208 | erot = 1.55293456918089 | epot = -21.2082582422558 | etot = -16.6723084701728 +141000 ekin = 2.8734196918037 | erot = 1.62004287774014 | epot = -21.1593315472341 | etot = -16.6658689776903 +142000 ekin = 2.77198594269102 | erot = 1.82883994332513 | epot = -21.1253786225533 | etot = -16.5245527365371 +143000 ekin = 2.66544385214382 | erot = 1.70763016025286 | epot = -21.1194742186353 | etot = -16.7464002062387 +144000 ekin = 2.64364564452769 | erot = 2.02089778883353 | epot = -21.1558312252306 | etot = -16.4912877918693 +145000 ekin = 2.58320561695123 | erot = 2.33928617610564 | epot = -21.1972194246105 | etot = -16.2747276315536 +146000 ekin = 2.59582465616999 | erot = 2.3913910079826 | epot = -21.2181779484858 | etot = -16.2309622843332 +147000 ekin = 2.57433616776238 | erot = 2.62068830532507 | epot = -21.2035776919776 | etot = -16.0085532188901 +148000 ekin = 2.66661322554065 | erot = 2.64858494989759 | epot = -21.1567312792458 | etot = -15.8415331038076 +149000 ekin = 2.60767807433559 | erot = 2.24435345528447 | epot = -21.1005834026183 | etot = -16.2485518729982 +150000 ekin = 2.54139526377883 | erot = 2.28883985685599 | epot = -21.0349331020295 | etot = -16.2046979813947 +151000 ekin = 2.5432219413665 | erot = 2.35864839828536 | epot = -20.9724639116438 | etot = -16.0705935719919 +152000 ekin = 2.56796491103012 | erot = 2.43023333349202 | epot = -20.9157846601099 | etot = -15.9175864155878 +153000 ekin = 2.51372807626571 | erot = 2.39277188889798 | epot = -20.8708281017583 | etot = -15.9643281365946 +154000 ekin = 2.56425050300779 | erot = 2.55681269376811 | epot = -20.8208061897131 | etot = -15.6997429929373 +155000 ekin = 2.54836883214878 | erot = 2.77382882086472 | epot = -20.7512322840953 | etot = -15.4290346310818 +156000 ekin = 2.50430341115576 | erot = 2.84536424459363 | epot = -20.6831823234819 | etot = -15.3335146677325 +157000 ekin = 2.50400336317688 | erot = 2.74300988092699 | epot = -20.6024983277716 | etot = -15.3554850836678 +158000 ekin = 2.46635677816819 | erot = 2.72725266952981 | epot = -20.3927742179115 | etot = -15.1991647702135 +159000 ekin = 2.41243392896928 | erot = 2.89017327284196 | epot = -20.3716899613963 | etot = -15.069082759585 +160000 ekin = 2.44543789794338 | erot = 2.94805496717089 | epot = -20.5757394278759 | etot = -15.1822465627616 +161000 ekin = 2.48584882392466 | erot = 3.08550000043076 | epot = -20.7243276115622 | etot = -15.1529787872068 +162000 ekin = 2.63092470794183 | erot = 2.8491277718568 | epot = -20.8061639431945 | etot = -15.3261114633959 +163000 ekin = 2.72019716465021 | erot = 2.95674331723642 | epot = -20.9203905101818 | etot = -15.2434500282951 +164000 ekin = 2.85144745755517 | erot = 2.79837544407218 | epot = -21.0599208441751 | etot = -15.4100979425478 +165000 ekin = 3.01926698163447 | erot = 2.57598017599253 | epot = -21.2160748663889 | etot = -15.6208277087619 +166000 ekin = 3.15975032902628 | erot = 2.53424140536866 | epot = -21.3722197077628 | etot = -15.6782279733678 +167000 ekin = 3.28010263683412 | erot = 2.66118639042418 | epot = -21.5168932797697 | etot = -15.5756042525114 +168000 ekin = 3.30088936113461 | erot = 2.6570801564169 | epot = -21.6596207437233 | etot = -15.7016512261718 +169000 ekin = 3.47029246215378 | erot = 2.25395751697315 | epot = -21.7742578136393 | etot = -16.0500078345124 +170000 ekin = 3.70050747267213 | erot = 2.16365167905452 | epot = -21.8748391459109 | etot = -16.0106799941843 +171000 ekin = 3.84839140735074 | erot = 1.87628165448694 | epot = -21.9555399182121 | etot = -16.2308668563744 +172000 ekin = 3.95026415662084 | erot = 1.96481352720165 | epot = -21.9987319268213 | etot = -16.0836542429988 +173000 ekin = 3.92397418949719 | erot = 2.1402486554568 | epot = -21.9962461659818 | etot = -15.9320233210278 +174000 ekin = 3.91787773957962 | erot = 2.15382550531676 | epot = -21.9649412516532 | etot = -15.8932380067568 +175000 ekin = 3.92478898493225 | erot = 1.81413864863455 | epot = -21.886058821032 | etot = -16.1471311874652 +176000 ekin = 3.61843418337262 | erot = 1.68410090365151 | epot = -21.7861032393839 | etot = -16.4835681523597 +177000 ekin = 3.43777437221669 | erot = 1.50869914434539 | epot = -21.6530103766414 | etot = -16.7065368600793 +178000 ekin = 3.29404805426684 | erot = 1.54702143204471 | epot = -21.5151124491371 | etot = -16.6740429628256 +179000 ekin = 3.15559273998197 | erot = 1.83461420036247 | epot = -21.3846264521169 | etot = -16.3944195117725 +180000 ekin = 3.11144262168972 | erot = 1.96187195470713 | epot = -21.2631791815958 | etot = -16.1898646051989 +181000 ekin = 2.86058839708624 | erot = 1.97916662782334 | epot = -21.1736204719049 | etot = -16.3338654469953 +182000 ekin = 2.73358163055363 | erot = 2.08235166110584 | epot = -21.1163854347033 | etot = -16.3004521430438 +183000 ekin = 2.78667823921494 | erot = 2.14955927554286 | epot = -21.0704997912635 | etot = -16.1342622765057 +184000 ekin = 2.74700284417945 | erot = 2.17568363892128 | epot = -21.0417241927555 | etot = -16.1190377096547 +185000 ekin = 2.71206700548405 | erot = 2.43154766133365 | epot = -21.0534073134643 | etot = -15.9097926466466 +186000 ekin = 2.70473969876215 | erot = 2.54763882184454 | epot = -21.0771037789774 | etot = -15.8247252583707 +187000 ekin = 2.69011328843065 | erot = 2.42677059090842 | epot = -21.1334063747328 | etot = -16.0165224953937 +188000 ekin = 2.63139574425889 | erot = 2.47663409366894 | epot = -21.2056416357499 | etot = -16.097611797822 +189000 ekin = 2.52625691649445 | erot = 2.36811030548791 | epot = -21.2763445168886 | etot = -16.3819772949062 +190000 ekin = 2.55070314102272 | erot = 2.46381370096652 | epot = -21.3751397733684 | etot = -16.3606229313791 +191000 ekin = 2.62917079754905 | erot = 2.67833301813017 | epot = -21.4532628428641 | etot = -16.1457590271849 +192000 ekin = 2.58870583923181 | erot = 3.04288815538947 | epot = -21.5216329873865 | etot = -15.8900389927652 +193000 ekin = 2.57473296407422 | erot = 2.98273386984086 | epot = -21.5752070232357 | etot = -16.0177401893207 +194000 ekin = 2.55188197567099 | erot = 3.53664565918049 | epot = -21.6029115846239 | etot = -15.5143839497724 +195000 ekin = 2.37005947654592 | erot = 3.88569194357652 | epot = -21.5199791042833 | etot = -15.2642276841609 +196000 ekin = 2.24643312652487 | erot = 3.89236383309535 | epot = -21.4290282307873 | etot = -15.2902312711671 +197000 ekin = 2.08212744149202 | erot = 3.73392747991439 | epot = -21.3909391389933 | etot = -15.5748842175869 +198000 ekin = 1.99546802101165 | erot = 3.31869767813113 | epot = -21.3106385880563 | etot = -15.9964728889135 +199000 ekin = 1.88808259694764 | erot = 3.05651027418447 | epot = -21.1932358978994 | etot = -16.2486430267673 +200000 ekin = 1.86182600189611 | erot = 3.12152068869523 | epot = -21.1112046099846 | etot = -16.1278579193933 +201000 ekin = 1.97052135402476 | erot = 2.56337970690565 | epot = -21.0818150370229 | etot = -16.5479139760925 +202000 ekin = 1.96444489641634 | erot = 2.52188298721402 | epot = -21.0909969362212 | etot = -16.6046690525908 +203000 ekin = 2.02727163636645 | erot = 2.40435818767017 | epot = -21.1422876293971 | etot = -16.7106578053605 +204000 ekin = 2.08583315864155 | erot = 2.40223613667972 | epot = -21.2224635405406 | etot = -16.7343942452193 +205000 ekin = 2.20775264966623 | erot = 2.45569503503469 | epot = -21.3216506287512 | etot = -16.6582029440503 +206000 ekin = 2.32525581144377 | erot = 2.44338569524376 | epot = -21.4263895154156 | etot = -16.6577480087281 +207000 ekin = 2.39884741653067 | erot = 2.19219588140532 | epot = -21.5586341308418 | etot = -16.9675908329058 +208000 ekin = 2.54174161331668 | erot = 2.0204308648262 | epot = -21.7018700931408 | etot = -17.1396976149979 +209000 ekin = 2.63460295202779 | erot = 2.00847282239007 | epot = -21.8765502984945 | etot = -17.2334745240767 +210000 ekin = 2.81803535020474 | erot = 2.15132327942402 | epot = -22.0655129469125 | etot = -17.0961543172837 +211000 ekin = 2.8544966933982 | erot = 2.00032723609075 | epot = -22.2569212397588 | etot = -17.4020973102698 +212000 ekin = 2.93298840099937 | erot = 2.18896574432212 | epot = -22.4295331026808 | etot = -17.3075789573593 +213000 ekin = 3.04393339596812 | erot = 2.16674803090446 | epot = -22.5865045861157 | etot = -17.3758231592431 +214000 ekin = 3.17687786434378 | erot = 1.93204604450799 | epot = -22.7049386266084 | etot = -17.5960147177566 +215000 ekin = 3.23140803215865 | erot = 1.91093387521926 | epot = -22.7702150399474 | etot = -17.6278731325695 +216000 ekin = 3.2321341050867 | erot = 1.86760943667555 | epot = -22.8077327389956 | etot = -17.7079891972333 +217000 ekin = 3.29951241617977 | erot = 1.99642477225946 | epot = -22.8230103446114 | etot = -17.5270731561722 +218000 ekin = 3.29737584458632 | erot = 1.96274603890206 | epot = -22.8136249789529 | etot = -17.5535030954645 +219000 ekin = 3.23565881897549 | erot = 1.94555976805405 | epot = -22.8103460409257 | etot = -17.6291274538961 +220000 ekin = 3.19248478951655 | erot = 2.14549715461575 | epot = -22.8135403395691 | etot = -17.4755583954368 +221000 ekin = 3.08489658572225 | erot = 2.35182511982449 | epot = -22.7936924594889 | etot = -17.3569707539422 +222000 ekin = 2.98911659742775 | erot = 2.24286093437224 | epot = -22.7593104849621 | etot = -17.5273329531621 +223000 ekin = 2.94028114747166 | erot = 2.45179850593562 | epot = -22.7094689680866 | etot = -17.3173893146793 +224000 ekin = 2.86327223103169 | erot = 2.45496570504129 | epot = -22.6840408073421 | etot = -17.3658028712691 +225000 ekin = 2.86217589447844 | erot = 2.64576978314389 | epot = -22.709459445995 | etot = -17.2015137683726 +226000 ekin = 2.8142175090877 | erot = 2.65054275980917 | epot = -22.7920788909686 | etot = -17.3273186220717 +227000 ekin = 2.76125022534707 | erot = 2.53291854231038 | epot = -22.8714022097528 | etot = -17.5772334420953 +228000 ekin = 2.78877138535082 | erot = 2.36581554390957 | epot = -22.9403431333366 | etot = -17.7857562040762 +229000 ekin = 2.72891406599702 | erot = 2.36761189849136 | epot = -22.9752057147159 | etot = -17.8786797502275 +230000 ekin = 2.73218055588378 | erot = 2.27179336612898 | epot = -22.9619591335889 | etot = -17.9579852115761 +231000 ekin = 2.7823830406074 | erot = 2.56004300399597 | epot = -22.90155406699 | etot = -17.5591280223866 +232000 ekin = 2.70574670734559 | erot = 2.20917728909279 | epot = -22.8024125768837 | etot = -17.8874885804453 +233000 ekin = 2.64840920464763 | erot = 2.10191715204315 | epot = -22.6817951010111 | etot = -17.9314687443204 +234000 ekin = 2.61941879874187 | erot = 1.89218225093214 | epot = -22.5506641543628 | etot = -18.0390631046888 +235000 ekin = 2.59340202709238 | erot = 1.81296941612961 | epot = -22.4559841307523 | etot = -18.0496126875304 +236000 ekin = 2.51387645324674 | erot = 1.87601834806566 | epot = -22.3602077365801 | etot = -17.9703129352677 +237000 ekin = 2.48697606976272 | erot = 1.88725598539924 | epot = -22.2423219253943 | etot = -17.8680898702323 +238000 ekin = 2.4616064489039 | erot = 1.69677740799999 | epot = -22.1532316635744 | etot = -17.9948478066705 +239000 ekin = 2.42201063037743 | erot = 1.70150164392291 | epot = -22.1281108141978 | etot = -18.0045985398974 +240000 ekin = 2.37084323379681 | erot = 1.98736224075244 | epot = -22.1423976045622 | etot = -17.7841921300129 +241000 ekin = 2.37738836540311 | erot = 2.31585984211782 | epot = -22.1830534944813 | etot = -17.4898052869604 +242000 ekin = 2.41676243464672 | erot = 2.55280142063506 | epot = -22.1811996624351 | etot = -17.2116358071533 +243000 ekin = 2.33148792530111 | erot = 2.76551405431882 | epot = -22.1959816056366 | etot = -17.0989796260167 +244000 ekin = 2.38360456402189 | erot = 2.74375775378605 | epot = -22.3530195137562 | etot = -17.2256571959482 +245000 ekin = 2.33752620010225 | erot = 2.63541001293098 | epot = -22.5037249285208 | etot = -17.5307887154876 +246000 ekin = 2.25775984192194 | erot = 2.49145900746147 | epot = -22.6039669429679 | etot = -17.8547480935845 +247000 ekin = 2.20328096321392 | erot = 2.51295988229219 | epot = -22.6897860502887 | etot = -17.9735452047826 +248000 ekin = 2.11215135404835 | erot = 2.38179652938609 | epot = -22.7654961945533 | etot = -18.2715483111189 +249000 ekin = 2.18103243553736 | erot = 2.12199506651676 | epot = -22.8086866218619 | etot = -18.5056591198078 +250000 ekin = 2.00642865007526 | erot = 2.13785268765979 | epot = -22.7981127674599 | etot = -18.6538314297248 +251000 ekin = 2.0081090206787 | erot = 2.15377771615689 | epot = -22.7541924896507 | etot = -18.5923057528151 +252000 ekin = 2.04967696381119 | erot = 2.10564030292916 | epot = -22.7175683002137 | etot = -18.5622510334734 +253000 ekin = 1.97178429049489 | erot = 2.56395759404194 | epot = -22.6833423138514 | etot = -18.1476004293146 +254000 ekin = 1.89998560000768 | erot = 2.76446346254018 | epot = -22.6525507394861 | etot = -17.9881016769382 +255000 ekin = 1.92358808504112 | erot = 2.8232180655232 | epot = -22.6339519254389 | etot = -17.8871457748746 +256000 ekin = 1.88537924827498 | erot = 2.39478935532049 | epot = -22.6063238269833 | etot = -18.3261552233879 +257000 ekin = 1.89017314858349 | erot = 2.47354789341062 | epot = -22.5844642699129 | etot = -18.2207432279188 +258000 ekin = 2.03347535796395 | erot = 2.06391667042751 | epot = -22.5636266221105 | etot = -18.4662345937191 +259000 ekin = 2.08170419875311 | erot = 1.98311262235159 | epot = -22.5595893965744 | etot = -18.4947725754697 +260000 ekin = 2.15465691022503 | erot = 1.92890944309568 | epot = -22.5702550804873 | etot = -18.4866887271666 +261000 ekin = 2.18525908976661 | erot = 1.80668043265703 | epot = -22.599603855669 | etot = -18.6076643332453 +262000 ekin = 2.39558735866003 | erot = 1.77101109907158 | epot = -22.6433503794795 | etot = -18.4767519217479 +263000 ekin = 2.51566381481677 | erot = 1.74502710268516 | epot = -22.7083481578158 | etot = -18.4476572403139 +264000 ekin = 2.61294097754962 | erot = 1.72004349105584 | epot = -22.7870727773709 | etot = -18.4540883087654 +265000 ekin = 2.69751103648214 | erot = 1.73596878524943 | epot = -22.8761138257039 | etot = -18.4426340039723 +266000 ekin = 2.73317595749254 | erot = 2.00190945895257 | epot = -22.9815854287862 | etot = -18.2465000123411 +267000 ekin = 2.88777944401865 | erot = 2.03601396733325 | epot = -23.0741467375982 | etot = -18.1503533262463 +268000 ekin = 2.88428212564762 | erot = 2.39210250452423 | epot = -23.1701763705663 | etot = -17.8937917403945 +269000 ekin = 2.94011387527553 | erot = 2.47436168171166 | epot = -23.2463195301015 | etot = -17.8318439731143 +270000 ekin = 3.16907204765203 | erot = 2.44558507843769 | epot = -23.2623613561913 | etot = -17.6477042301015 +271000 ekin = 3.2333039510145 | erot = 2.22964844922972 | epot = -23.2347949376338 | etot = -17.7718425373896 +272000 ekin = 3.25903447141521 | erot = 2.27670268800702 | epot = -23.1776976604854 | etot = -17.6419605010632 +273000 ekin = 3.33084558602117 | erot = 2.34730506518472 | epot = -23.0897292017612 | etot = -17.4115785505553 +274000 ekin = 3.13365175221781 | erot = 2.2890699134736 | epot = -22.970791629232 | etot = -17.5480699635406 +275000 ekin = 3.06411601298053 | erot = 2.05657284383674 | epot = -22.8411592683854 | etot = -17.7204704115681 +276000 ekin = 3.00284299412694 | erot = 2.41503398631215 | epot = -22.7006548358519 | etot = -17.2827778554128 +277000 ekin = 2.8898853606654 | erot = 2.56679455786094 | epot = -22.5600288715064 | etot = -17.1033489529801 +278000 ekin = 2.79983988341333 | erot = 2.44718365696948 | epot = -22.4337020220077 | etot = -17.1866784816249 +279000 ekin = 2.62025699943826 | erot = 2.34403355986967 | epot = -22.3217153271845 | etot = -17.3574247678766 +280000 ekin = 2.65113378626893 | erot = 2.38211104337873 | epot = -22.2136340723867 | etot = -17.1803892427391 +281000 ekin = 2.56011045257089 | erot = 2.14040765533486 | epot = -22.1467069298693 | etot = -17.4461888219636 +282000 ekin = 2.46937295979447 | erot = 2.08425434958574 | epot = -22.1062066499079 | etot = -17.5525793405277 +283000 ekin = 2.44420819687516 | erot = 1.88047008838871 | epot = -22.0682236162874 | etot = -17.7435453310236 +284000 ekin = 2.39435456980289 | erot = 2.14903249361598 | epot = -22.056902758128 | etot = -17.5135156947092 +285000 ekin = 2.39703522509055 | erot = 2.569646039159 | epot = -22.0888499478259 | etot = -17.1221686835764 +286000 ekin = 2.43717149651546 | erot = 2.84247600307268 | epot = -22.1412346796121 | etot = -16.861587180024 +287000 ekin = 2.31664233692361 | erot = 2.84674819551601 | epot = -22.1861386782236 | etot = -17.0227481457839 +288000 ekin = 2.26607109317395 | erot = 3.21299363478886 | epot = -22.2378784042861 | etot = -16.7588136763232 +289000 ekin = 2.29584076229566 | erot = 3.11249259323235 | epot = -22.2883115241192 | etot = -16.8799781685912 +290000 ekin = 2.23049902061663 | erot = 2.87013105088138 | epot = -22.3143401591494 | etot = -17.2137100876514 +291000 ekin = 2.21755828984435 | erot = 2.71274244030907 | epot = -22.3410646593226 | etot = -17.4107639291691 +292000 ekin = 2.21317296232836 | erot = 2.69582872791188 | epot = -22.3827626255967 | etot = -17.4737609353564 +293000 ekin = 2.23081262903902 | erot = 2.60204748252234 | epot = -22.4352222519775 | etot = -17.6023621404161 +294000 ekin = 2.26311425147062 | erot = 3.03410577179155 | epot = -22.4683441344041 | etot = -17.1711241111419 +295000 ekin = 2.2812207577869 | erot = 2.86887170599452 | epot = -22.4906039301699 | etot = -17.3405114663885 +296000 ekin = 2.26383415546938 | erot = 2.78467774936796 | epot = -22.5129720446774 | etot = -17.46446013984 +297000 ekin = 2.33825045335883 | erot = 2.98513561564366 | epot = -22.5191664894362 | etot = -17.1957804204337 +298000 ekin = 2.37786827340754 | erot = 2.85984647447039 | epot = -22.5058515980845 | etot = -17.2681368502066 +299000 ekin = 2.32052037098645 | erot = 2.6948063398296 | epot = -22.4889248916839 | etot = -17.4735981808679 +300000 ekin = 2.30322327761401 | erot = 2.72939848613212 | epot = -22.4591258064476 | etot = -17.4265040427014 +301000 ekin = 2.29995331731969 | erot = 2.60777958693871 | epot = -22.4102468930599 | etot = -17.5025139888015 +302000 ekin = 2.31454372799517 | erot = 2.67298740529846 | epot = -22.3501115787877 | etot = -17.3625804454941 +303000 ekin = 2.40576357226374 | erot = 2.41520690493574 | epot = -22.2832063980298 | etot = -17.4622359208303 +304000 ekin = 2.35524162584728 | erot = 2.05432603043706 | epot = -22.2112103404661 | etot = -17.8016426841818 +305000 ekin = 2.30537591124535 | erot = 1.98023337779147 | epot = -22.1649123466492 | etot = -17.8793030576124 +306000 ekin = 2.32478727778829 | erot = 1.89519445956113 | epot = -22.1442852026102 | etot = -17.9243034652608 +307000 ekin = 2.41423624130655 | erot = 1.91431870573649 | epot = -22.1548620004642 | etot = -17.8263070534212 +308000 ekin = 2.44675290257479 | erot = 2.31210197406235 | epot = -22.2055558309834 | etot = -17.4467009543463 +309000 ekin = 2.456733741312 | erot = 2.16129470434149 | epot = -22.2742892000813 | etot = -17.6562607544278 +310000 ekin = 2.58167657763234 | erot = 2.4384694301708 | epot = -22.3327423848014 | etot = -17.3125963769982 +311000 ekin = 2.5293944901135 | erot = 2.76106281819497 | epot = -22.3705094869024 | etot = -17.0800521785939 +312000 ekin = 2.52610661112938 | erot = 2.98071467503396 | epot = -22.3866205343165 | etot = -16.8797992481532 +313000 ekin = 2.52405671654842 | erot = 2.80377255965802 | epot = -22.4049055192042 | etot = -17.0770762429978 +314000 ekin = 2.65040443727049 | erot = 2.69900889453174 | epot = -22.3876700619105 | etot = -17.0382567301082 +315000 ekin = 2.74472815623857 | erot = 2.6634099641871 | epot = -22.3592685134382 | etot = -16.9511303930125 +316000 ekin = 2.83270806183629 | erot = 2.6834624018617 | epot = -22.3041387808826 | etot = -16.7879683171846 +317000 ekin = 2.98267354986799 | erot = 2.4999891053122 | epot = -22.2250773416344 | etot = -16.7424146864542 +318000 ekin = 2.95159865011192 | erot = 2.46437525131281 | epot = -22.1605195993969 | etot = -16.7445456979721 +319000 ekin = 2.99544196834495 | erot = 2.37119170515183 | epot = -22.0922506560632 | etot = -16.7256169825664 +320000 ekin = 3.12952415968056 | erot = 2.25302267428086 | epot = -22.0193402840265 | etot = -16.6367934500651 +321000 ekin = 3.21184303812923 | erot = 2.03139593747172 | epot = -21.9793920725106 | etot = -16.7361530969097 +322000 ekin = 3.32994096856511 | erot = 2.3411089367688 | epot = -21.9763192351684 | etot = -16.3052693298345 +323000 ekin = 3.41272790799891 | erot = 2.43631206380498 | epot = -22.014012335423 | etot = -16.1649723636191 +324000 ekin = 3.63714885281377 | erot = 1.94651241761841 | epot = -22.0887358924505 | etot = -16.5050746220183 +325000 ekin = 3.64965023300859 | erot = 1.83594979903826 | epot = -22.1597106232418 | etot = -16.674110591195 +326000 ekin = 3.79931323852483 | erot = 1.60564512903886 | epot = -22.2163199739481 | etot = -16.8113616063844 +327000 ekin = 3.85106864316231 | erot = 1.85449233215436 | epot = -22.2856422481549 | etot = -16.5800812728382 +328000 ekin = 3.95505458701157 | erot = 2.12895030409347 | epot = -22.3412351799646 | etot = -16.2572302888595 +329000 ekin = 3.96560356728839 | erot = 2.0612406639335 | epot = -22.3752736768186 | etot = -16.3484294455967 +330000 ekin = 4.00004269284732 | erot = 2.01808790805441 | epot = -22.3671090028808 | etot = -16.348978401979 +331000 ekin = 3.84205146855946 | erot = 1.89603876125722 | epot = -22.3128837484487 | etot = -16.5747935186321 +332000 ekin = 3.66184063362549 | erot = 2.39349988256161 | epot = -22.257623873614 | etot = -16.2022833574269 +333000 ekin = 3.52628969259453 | erot = 2.20415103930297 | epot = -22.1847867511299 | etot = -16.4543460192324 +334000 ekin = 3.3437779801396 | erot = 2.36266544381992 | epot = -22.1376045131504 | etot = -16.4311610891909 +335000 ekin = 3.23745330446352 | erot = 2.56905504387957 | epot = -22.1187474004986 | etot = -16.3122390521555 +336000 ekin = 3.15020041660106 | erot = 2.76447823600607 | epot = -22.1164491906296 | etot = -16.2017705380225 +337000 ekin = 2.95647753165974 | erot = 3.39203265805615 | epot = -22.1578850568599 | etot = -15.809374867144 +338000 ekin = 2.77494351817581 | erot = 3.38702940437107 | epot = -22.2028615569714 | etot = -16.0408886344245 +339000 ekin = 2.56974792274936 | erot = 3.36393768621225 | epot = -22.2430377961403 | etot = -16.3093521871787 +340000 ekin = 2.54624997134424 | erot = 3.18838906080749 | epot = -22.2696997292606 | etot = -16.5350606971088 +341000 ekin = 2.4668045333309 | erot = 3.23666697035734 | epot = -22.2714054864725 | etot = -16.5679339827843 +342000 ekin = 2.41970796988159 | erot = 3.10075257077742 | epot = -22.2625825508718 | etot = -16.7421220102128 +343000 ekin = 2.39134830962094 | erot = 2.99983011061346 | epot = -22.2626100438681 | etot = -16.8714316236337 +344000 ekin = 2.40072375544815 | erot = 3.07461576439234 | epot = -22.2332671874541 | etot = -16.7579276676136 +345000 ekin = 2.47818664391052 | erot = 3.01878606425649 | epot = -22.1765310886858 | etot = -16.6795583805188 +346000 ekin = 2.42322520039713 | erot = 2.49312120205091 | epot = -22.1072756725379 | etot = -17.1909292700899 +347000 ekin = 2.50705041682168 | erot = 2.52533205787073 | epot = -22.0719334103209 | etot = -17.0395509356285 +348000 ekin = 2.5003068515947 | erot = 2.7382550355115 | epot = -22.027067188238 | etot = -16.7885053011318 +349000 ekin = 2.60963103698124 | erot = 2.7944394998929 | epot = -21.9800449664777 | etot = -16.5759744296036 +350000 ekin = 2.57407872164985 | erot = 2.87849433187398 | epot = -21.9210551857954 | etot = -16.4684821322716 +351000 ekin = 2.60900955228799 | erot = 2.47335254246403 | epot = -21.9029016387199 | etot = -16.8205395439678 +352000 ekin = 2.68632626573655 | erot = 2.16861659144723 | epot = -21.8932933758337 | etot = -17.0383505186499 +353000 ekin = 2.72806527094852 | erot = 2.21631476958764 | epot = -21.8949965382931 | etot = -16.950616497757 +354000 ekin = 2.80926057411796 | erot = 2.29356292718611 | epot = -21.9255698630395 | etot = -16.8227463617354 +355000 ekin = 2.82955370341617 | erot = 2.23886374167674 | epot = -21.9739881370157 | etot = -16.9055706919228 +356000 ekin = 2.95318161283268 | erot = 2.20593846887515 | epot = -22.0378541396085 | etot = -16.8787340579007 +357000 ekin = 3.00516452100387 | erot = 2.39489434202986 | epot = -22.104563588431 | etot = -16.7045047253973 +358000 ekin = 3.14013674094297 | erot = 2.81648025756436 | epot = -22.1940030034409 | etot = -16.2373860049336 +359000 ekin = 3.2489530732029 | erot = 2.89756918684608 | epot = -22.289435624655 | etot = -16.142913364606 +360000 ekin = 3.29499898808924 | erot = 2.69446962924572 | epot = -22.3827935430045 | etot = -16.3933249256695 +361000 ekin = 3.31826252960522 | erot = 3.08121996997403 | epot = -22.3855376265986 | etot = -15.9860551270194 +362000 ekin = 3.22507380499832 | erot = 2.94494755594978 | epot = -22.1939077776838 | etot = -16.0238864167357 +363000 ekin = 3.31998300083389 | erot = 2.84571871387849 | epot = -22.1418339144058 | etot = -15.9761321996935 +364000 ekin = 3.46138826026248 | erot = 3.17267347021574 | epot = -22.2920001905031 | etot = -15.6579384600248 +365000 ekin = 3.41685157685538 | erot = 2.95127990795476 | epot = -22.240326005599 | etot = -15.8721945207889 +366000 ekin = 3.28889153330115 | erot = 2.68298751094344 | epot = -22.0917647614685 | etot = -16.1198857172239 +367000 ekin = 3.13188043782679 | erot = 2.32272362557638 | epot = -21.9624425815398 | etot = -16.5078385181366 +368000 ekin = 3.056352336118 | erot = 2.49179825174104 | epot = -21.8924084965124 | etot = -16.3442579086533 +369000 ekin = 2.97979500179357 | erot = 2.09677594955126 | epot = -21.8535972953644 | etot = -16.7770263440196 +370000 ekin = 2.86265256457624 | erot = 2.27837964431472 | epot = -21.8636474872586 | etot = -16.7226152783677 +371000 ekin = 2.81676366518742 | erot = 2.51005420363864 | epot = -21.8612307947671 | etot = -16.534412925941 +372000 ekin = 2.89056214524153 | erot = 2.17924443857051 | epot = -21.846592680977 | etot = -16.7767860971649 +373000 ekin = 2.85702985814987 | erot = 2.22607119851547 | epot = -21.8235708010662 | etot = -16.7404697444008 +374000 ekin = 2.69116258554349 | erot = 2.54595039875569 | epot = -21.8020300439687 | etot = -16.5649170596695 +375000 ekin = 2.65367735566875 | erot = 2.84882366948588 | epot = -21.7972775666781 | etot = -16.2947765415234 +376000 ekin = 2.56541501684005 | erot = 3.15381436306323 | epot = -21.8007765642063 | etot = -16.081547184303 +377000 ekin = 2.51617117441638 | erot = 3.34506466383927 | epot = -21.778089805669 | etot = -15.9168539674133 +378000 ekin = 2.39886036582834 | erot = 3.14706842402722 | epot = -21.738430489254 | etot = -16.1925016993984 +379000 ekin = 2.32534620585577 | erot = 2.9467038227835 | epot = -21.6782824657579 | etot = -16.4062324371187 +380000 ekin = 2.15266052745912 | erot = 3.43857095246912 | epot = -21.6038294062212 | etot = -16.0125979262929 +381000 ekin = 2.13714114193708 | erot = 3.11249169114175 | epot = -21.5367992698038 | etot = -16.2871664367249 +382000 ekin = 2.05496339747551 | erot = 3.44869747601511 | epot = -21.4764708985239 | etot = -15.9728100250333 +383000 ekin = 2.03169806552591 | erot = 3.38753191033141 | epot = -21.4173191206603 | etot = -15.998089144803 +384000 ekin = 1.9536464992119 | erot = 3.35746983585185 | epot = -21.3597667304038 | etot = -16.0486503953401 +385000 ekin = 1.95295295831838 | erot = 3.20059142565732 | epot = -21.3242192311686 | etot = -16.1706748471929 +386000 ekin = 2.03545459887428 | erot = 2.6333725467863 | epot = -21.3197581171682 | etot = -16.6509309715076 +387000 ekin = 2.08744315207257 | erot = 2.67515413940834 | epot = -21.321978305784 | etot = -16.5593810143031 +388000 ekin = 2.10460844408205 | erot = 2.63750027619817 | epot = -21.3534873824531 | etot = -16.6113786621729 +389000 ekin = 2.13617356384952 | erot = 2.49874264909337 | epot = -21.4010667143317 | etot = -16.7661505013888 +390000 ekin = 2.21418863130661 | erot = 2.61354129728509 | epot = -21.4597800849527 | etot = -16.632050156361 +391000 ekin = 2.30830767897454 | erot = 2.42155138145244 | epot = -21.5215483863443 | etot = -16.7916893259173 +392000 ekin = 2.30978428581462 | erot = 2.2702116622687 | epot = -21.5693953401795 | etot = -16.9893993920962 +393000 ekin = 2.43507049787304 | erot = 2.19525621528521 | epot = -21.6165022301659 | etot = -16.9861755170077 +394000 ekin = 2.48175272100065 | erot = 1.97403757750068 | epot = -21.643553588929 | etot = -17.1877632904276 +395000 ekin = 2.57078024352525 | erot = 1.94477022107785 | epot = -21.7032003447495 | etot = -17.1876498801464 +396000 ekin = 2.63856854694526 | erot = 2.15467094485346 | epot = -21.7518329108741 | etot = -16.9585934190754 +397000 ekin = 2.67333204158292 | erot = 2.10415530221336 | epot = -21.7874922526139 | etot = -17.0100049088176 +398000 ekin = 2.71657217445487 | erot = 2.2726087644269 | epot = -21.7955669580492 | etot = -16.8063860191674 +399000 ekin = 2.74052903415942 | erot = 1.98188508417839 | epot = -21.7850112801671 | etot = -17.0625971618293 +400000 ekin = 2.72461700644057 | erot = 1.79309630627378 | epot = -21.7479203148975 | etot = -17.2302070021832 +401000 ekin = 2.67821010319014 | erot = 1.80652566016257 | epot = -21.698608702759 | etot = -17.2138729394062 +402000 ekin = 2.66678843641911 | erot = 1.99143851830794 | epot = -21.6166886330481 | etot = -16.9584616783211 +403000 ekin = 2.71498615143681 | erot = 2.00496282624719 | epot = -21.5303765730254 | etot = -16.8104275953414 +404000 ekin = 2.72798047530865 | erot = 1.97802766069305 | epot = -21.4249267789288 | etot = -16.7189186429271 +405000 ekin = 2.65655813266499 | erot = 1.93167942695855 | epot = -21.3111486584608 | etot = -16.7229110988373 +406000 ekin = 2.60702986991675 | erot = 1.76285472093913 | epot = -21.1926812354137 | etot = -16.8227966445578 +407000 ekin = 2.48234362601436 | erot = 1.89687727619118 | epot = -21.0701942151549 | etot = -16.6909733129493 +408000 ekin = 2.49227529739515 | erot = 2.21804348518091 | epot = -20.9209091795091 | etot = -16.210590396933 +409000 ekin = 2.28147512963803 | erot = 2.33822783369873 | epot = -20.7906871723621 | etot = -16.1709842090254 +410000 ekin = 2.17062635902643 | erot = 2.33410289107436 | epot = -20.7498754299753 | etot = -16.2451461798745 +411000 ekin = 2.17272870653952 | erot = 2.2156634626659 | epot = -20.7111946304985 | etot = -16.3228024612931 +412000 ekin = 2.18233973422078 | erot = 1.95033555757298 | epot = -20.6834214582718 | etot = -16.5507461664781 +413000 ekin = 2.30890718881924 | erot = 2.0702155403649 | epot = -20.6873588522826 | etot = -16.3082361230984 +414000 ekin = 2.33564543866431 | erot = 1.99840226970565 | epot = -20.7252533334277 | etot = -16.3912056250577 +415000 ekin = 2.38284289900085 | erot = 2.11597172640873 | epot = -20.8097694536977 | etot = -16.3109548282881 +416000 ekin = 2.4891981967793 | erot = 2.33259772891817 | epot = -20.9508447049437 | etot = -16.1290487792462 +417000 ekin = 2.54526036986863 | erot = 2.55910512686791 | epot = -21.1274289862994 | etot = -16.0230634895629 +418000 ekin = 2.51632809206382 | erot = 2.72037030682962 | epot = -21.2997759305311 | etot = -16.0630775316377 +419000 ekin = 2.67295573593477 | erot = 2.7771535580359 | epot = -21.4556263294564 | etot = -16.0055170354857 +420000 ekin = 2.85018483582401 | erot = 2.31598006691945 | epot = -21.598096067305 | etot = -16.4319311645616 +421000 ekin = 2.96837524337278 | erot = 2.62682452529496 | epot = -21.7546670845078 | etot = -16.1594673158401 +422000 ekin = 3.19012922154601 | erot = 2.84396098635259 | epot = -21.9215374215571 | etot = -15.8874472136585 +423000 ekin = 3.3689393550787 | erot = 2.63026872290709 | epot = -22.0572951448105 | etot = -16.0580870668247 +424000 ekin = 3.56949208720973 | erot = 2.47035354176279 | epot = -22.1637806318818 | etot = -16.1239350029093 +425000 ekin = 3.74058915148773 | erot = 2.35112257121746 | epot = -22.2380669505818 | etot = -16.1463552278766 +426000 ekin = 3.80317641902181 | erot = 2.35606913247639 | epot = -22.2959429720038 | etot = -16.1366974205056 +427000 ekin = 3.84305942013411 | erot = 2.33548874740511 | epot = -22.3376365509407 | etot = -16.1590883834015 +428000 ekin = 3.83870631322395 | erot = 2.2350686376018 | epot = -22.3684501057755 | etot = -16.2946751549498 +429000 ekin = 3.88817033525608 | erot = 2.49183581120228 | epot = -22.3756888085917 | etot = -15.9956826621333 +430000 ekin = 3.80889051818672 | erot = 2.40484189761613 | epot = -22.357001863787 | etot = -16.1432694479841 +431000 ekin = 3.77310947248888 | erot = 2.27913524660264 | epot = -22.3205980214879 | etot = -16.2683533023964 +432000 ekin = 3.52274921334614 | erot = 2.24573259199191 | epot = -22.2753655924895 | etot = -16.5068837871515 +433000 ekin = 3.46705236442825 | erot = 2.20376216835505 | epot = -22.2487474226527 | etot = -16.5779328898694 +434000 ekin = 3.31902379467507 | erot = 2.11029295350195 | epot = -22.2098823317898 | etot = -16.7805655836127 +435000 ekin = 3.17487375029743 | erot = 2.50022517053552 | epot = -22.1671631710259 | etot = -16.4920642501929 +436000 ekin = 3.02349956092827 | erot = 2.40764251188789 | epot = -22.1302532198703 | etot = -16.6991111470541 +437000 ekin = 2.82748432721598 | erot = 2.14344362630242 | epot = -22.1006119384222 | etot = -17.1296839849038 +438000 ekin = 2.76339787793433 | erot = 2.41905080521281 | epot = -22.0957010825607 | etot = -16.9132523994136 +439000 ekin = 2.67198886552451 | erot = 2.59491616836501 | epot = -22.1135007428951 | etot = -16.8465957090056 +440000 ekin = 2.51284986257016 | erot = 2.9117422878524 | epot = -22.1427877988882 | etot = -16.7181956484656 +441000 ekin = 2.50780828634469 | erot = 2.72902768068008 | epot = -22.1697146510929 | etot = -16.9328786840681 +442000 ekin = 2.44873015400854 | erot = 2.74922432089635 | epot = -22.2054533182396 | etot = -17.0074988433347 +443000 ekin = 2.38093647463518 | erot = 2.64154199429508 | epot = -22.2472480992725 | etot = -17.2247696303423 +444000 ekin = 2.38366519287148 | erot = 2.67137923733322 | epot = -22.2750222251915 | etot = -17.2199777949868 +445000 ekin = 2.40684373898667 | erot = 2.59567738953131 | epot = -22.2857281482681 | etot = -17.2832070197501 +446000 ekin = 2.36082009501203 | erot = 2.73001014061368 | epot = -22.2789998471504 | etot = -17.1881696115246 +447000 ekin = 2.36605795906938 | erot = 2.58257112672917 | epot = -22.2960840066295 | etot = -17.347454920831 +448000 ekin = 2.32165762068391 | erot = 2.36145535918709 | epot = -22.3211882050735 | etot = -17.6380752252025 +449000 ekin = 2.44203969267578 | erot = 2.62540304636667 | epot = -22.3026387988319 | etot = -17.2351960597895 +450000 ekin = 2.51099258071334 | erot = 2.64840657329913 | epot = -22.2675924392713 | etot = -17.1081932852588 +451000 ekin = 2.50793019457257 | erot = 2.96188202684436 | epot = -22.2417686447221 | etot = -16.7719564233052 +452000 ekin = 2.51543909198824 | erot = 2.97645802250486 | epot = -22.1947639118426 | etot = -16.7028667973495 +453000 ekin = 2.48027617072922 | erot = 2.57675545715309 | epot = -22.1151189784507 | etot = -17.0580873505684 +454000 ekin = 2.53738257378339 | erot = 2.32076068281017 | epot = -22.0114335109919 | etot = -17.1532902543983 +455000 ekin = 2.40824460563833 | erot = 2.52466300048372 | epot = -21.9140685033287 | etot = -16.9811608972066 +456000 ekin = 2.48089669783939 | erot = 2.44995767624588 | epot = -21.8323732399436 | etot = -16.9015188658584 +457000 ekin = 2.41775201722811 | erot = 2.40996718790024 | epot = -21.7728619497133 | etot = -16.9451427445849 +458000 ekin = 2.47981300263295 | erot = 2.17375208123326 | epot = -21.7127229794173 | etot = -17.0591578955511 +459000 ekin = 2.50098429139894 | erot = 2.13049458828857 | epot = -21.6581010444987 | etot = -17.0266221648112 +460000 ekin = 2.38145892905036 | erot = 1.94162891941061 | epot = -21.6082620378711 | etot = -17.2851741894102 +461000 ekin = 2.33337517008642 | erot = 1.98667402531251 | epot = -21.5649964210092 | etot = -17.2449472256103 +462000 ekin = 2.28227781413481 | erot = 1.78636859811692 | epot = -21.553299713964 | etot = -17.4846533017123 +463000 ekin = 2.31407904587683 | erot = 1.75082487007371 | epot = -21.5758125934739 | etot = -17.5109086775234 +464000 ekin = 2.33760733880321 | erot = 1.97752071149075 | epot = -21.6288036107053 | etot = -17.3136755604113 +465000 ekin = 2.35344133595347 | erot = 1.91505497900073 | epot = -21.7041801943292 | etot = -17.435683879375 +466000 ekin = 2.42854776892503 | erot = 1.75072628953244 | epot = -21.7819960540276 | etot = -17.6027219955701 +467000 ekin = 2.46288459947453 | erot = 1.78816598264994 | epot = -21.8507036001179 | etot = -17.5996530179934 +468000 ekin = 2.4396980237813 | erot = 1.72898452339386 | epot = -21.9015694636242 | etot = -17.732886916449 +469000 ekin = 2.54376807882599 | erot = 1.93023555616053 | epot = -21.9541799518692 | etot = -17.4801763168827 +470000 ekin = 2.63326744382486 | erot = 1.50609058500148 | epot = -21.9819116677659 | etot = -17.8425536389396 +471000 ekin = 2.65978116714098 | erot = 1.70311641290876 | epot = -21.998720113699 | etot = -17.6358225336493 +472000 ekin = 2.69971587804179 | erot = 1.80099323522394 | epot = -22.0027803172695 | etot = -17.5020712040038 +473000 ekin = 2.72512699348196 | erot = 2.02324872686535 | epot = -22.0030224491713 | etot = -17.254646728824 +474000 ekin = 2.84072412734433 | erot = 2.2138329031493 | epot = -21.9941738614508 | etot = -16.9396168309571 +475000 ekin = 2.80675445958325 | erot = 1.90220774412446 | epot = -21.9850696381239 | etot = -17.2761074344162 +476000 ekin = 2.72360114140076 | erot = 2.00284464538919 | epot = -21.9892397336864 | etot = -17.2627939468965 +477000 ekin = 2.84056500761862 | erot = 1.91820766145647 | epot = -22.0039582079805 | etot = -17.2451855389054 +478000 ekin = 2.79479136762928 | erot = 2.33508343932093 | epot = -22.0073204493409 | etot = -16.8774456423907 +479000 ekin = 2.68385324315888 | erot = 2.16409914969165 | epot = -21.9972664623628 | etot = -17.1493140695123 +480000 ekin = 2.70919062871945 | erot = 2.2201907483767 | epot = -21.9751418417914 | etot = -17.0457604646952 +481000 ekin = 2.6330738635062 | erot = 1.99280181185983 | epot = -21.9303826423552 | etot = -17.3045069669892 +482000 ekin = 2.59315858027291 | erot = 2.21899648577234 | epot = -21.8738249716004 | etot = -17.0616699055552 +483000 ekin = 2.47046920651463 | erot = 2.31431109078724 | epot = -21.8097795572398 | etot = -17.0249992599379 +484000 ekin = 2.53508822055607 | erot = 2.47424748553176 | epot = -21.7175828393255 | etot = -16.7082471332376 +485000 ekin = 2.50485650643293 | erot = 2.32403296584754 | epot = -21.6361062693728 | etot = -16.8072167970923 +486000 ekin = 2.47721144858964 | erot = 2.13567134935031 | epot = -21.5220454766261 | etot = -16.9091626786862 +487000 ekin = 2.37724853790925 | erot = 2.18943698926396 | epot = -21.3143250794172 | etot = -16.747639552244 +488000 ekin = 2.48818613181863 | erot = 1.88306237250834 | epot = -21.3116084588732 | etot = -16.9403599545463 +489000 ekin = 2.74982657944339 | erot = 1.89187656286075 | epot = -21.4756253900937 | etot = -16.8339222477895 +490000 ekin = 2.84466800424173 | erot = 1.71237058668174 | epot = -21.5263774576827 | etot = -16.9693388667592 +491000 ekin = 2.85737105202628 | erot = 1.55281245576821 | epot = -21.5086751027887 | etot = -17.0984915949942 +492000 ekin = 2.90983632457413 | erot = 1.91497206116242 | epot = -21.5279430025227 | etot = -16.7031346167862 +493000 ekin = 2.89079796015606 | erot = 2.10766085424281 | epot = -21.550840131446 | etot = -16.5523813170471 +494000 ekin = 2.90235816901099 | erot = 1.9402922611658 | epot = -21.5811303529852 | etot = -16.7384799228084 +495000 ekin = 2.87250026921876 | erot = 1.80307251979051 | epot = -21.6111333229179 | etot = -16.9355605339086 +496000 ekin = 2.90478694209697 | erot = 1.72383486079582 | epot = -21.6487754892895 | etot = -17.0201536863967 +497000 ekin = 2.79889384992107 | erot = 1.75660961047752 | epot = -21.6748215786364 | etot = -17.1193181182378 +498000 ekin = 2.74060640404801 | erot = 1.8988825882541 | epot = -21.7102647961433 | etot = -17.0707758038412 +499000 ekin = 2.80294847124193 | erot = 2.31213970127587 | epot = -21.7484718969955 | etot = -16.6333837244777 +500000 ekin = 2.83514351912353 | erot = 2.19332479656699 | epot = -21.7847476520863 | etot = -16.7562793363958 +501000 ekin = 2.85410564762311 | erot = 2.42583012042732 | epot = -21.8174128447106 | etot = -16.5374770766602 +502000 ekin = 2.87283408161098 | erot = 2.50841092791892 | epot = -21.8423925146404 | etot = -16.4611475051105 +503000 ekin = 2.94443013466673 | erot = 2.36313582629975 | epot = -21.8519587007928 | etot = -16.5443927398264 +504000 ekin = 2.98534964558837 | erot = 2.41275211835294 | epot = -21.8136647277171 | etot = -16.4155629637758 +505000 ekin = 3.10846911992697 | erot = 2.13573452517239 | epot = -21.7537837267862 | etot = -16.5095800816869 +506000 ekin = 3.09786641402197 | erot = 2.01700572313873 | epot = -21.7049804656294 | etot = -16.5901083284687 +507000 ekin = 3.16348616847778 | erot = 1.94949346287679 | epot = -21.6672353473611 | etot = -16.5542557160065 +508000 ekin = 3.07061633092948 | erot = 2.13446212006044 | epot = -21.6350846399517 | etot = -16.4300061889618 +509000 ekin = 3.12907466475355 | erot = 2.35272620108291 | epot = -21.6205801924069 | etot = -16.1387793265704 +510000 ekin = 3.0245140017856 | erot = 2.25242701385288 | epot = -21.6251089836152 | etot = -16.3481679679767 +511000 ekin = 2.94040580941495 | erot = 2.31948438934905 | epot = -21.6216965431398 | etot = -16.3618063443758 +512000 ekin = 2.94467119608466 | erot = 2.24306810877183 | epot = -21.5962799069277 | etot = -16.4085406020712 +513000 ekin = 2.87751742568546 | erot = 2.4154144429729 | epot = -21.5773819493344 | etot = -16.284450080676 +514000 ekin = 2.87859810419347 | erot = 2.53612885093564 | epot = -21.588691061236 | etot = -16.1739641061069 +515000 ekin = 2.65152076844924 | erot = 2.70952186913726 | epot = -21.6126230255115 | etot = -16.251580387925 +516000 ekin = 2.77253963034905 | erot = 3.1111688276585 | epot = -21.6107374310228 | etot = -15.7270289730152 +517000 ekin = 2.7657240217945 | erot = 2.98569828005575 | epot = -21.5945323230587 | etot = -15.8431100212085 +518000 ekin = 2.70082064566998 | erot = 2.94453329815957 | epot = -21.5767297354903 | etot = -15.9313757916607 +519000 ekin = 2.54482845466883 | erot = 2.66065301480803 | epot = -21.5508730096676 | etot = -16.3453915401907 +520000 ekin = 2.45944414333559 | erot = 2.6059278317658 | epot = -21.5130137565194 | etot = -16.447641781418 +521000 ekin = 2.40695980994573 | erot = 2.63220992355673 | epot = -21.4828393267851 | etot = -16.4436695932826 +522000 ekin = 2.52378769907125 | erot = 2.56066497083157 | epot = -21.4628073945551 | etot = -16.3783547246523 +523000 ekin = 2.47704387064472 | erot = 2.27847516566714 | epot = -21.3936943383542 | etot = -16.6381753020423 +524000 ekin = 2.45003418957747 | erot = 2.35140218073762 | epot = -21.2843636599225 | etot = -16.4829272896075 +525000 ekin = 2.36142621667719 | erot = 2.56683372922841 | epot = -21.3738770732968 | etot = -16.4456171273912 +526000 ekin = 2.41274041153331 | erot = 2.62143474643862 | epot = -21.5186087776721 | etot = -16.4844336197002 +527000 ekin = 2.51690607418066 | erot = 2.50693092291692 | epot = -21.5243590814513 | etot = -16.5005220843537 +528000 ekin = 2.54770211426161 | erot = 2.53999552090151 | epot = -21.5164154929429 | etot = -16.4287178577798 +529000 ekin = 2.4753674979034 | erot = 2.56875642748162 | epot = -21.5117161086082 | etot = -16.4675921832232 +530000 ekin = 2.5803889742549 | erot = 3.01233807443761 | epot = -21.5190605777288 | etot = -15.9263335290363 +531000 ekin = 2.6505489472462 | erot = 2.80448099540881 | epot = -21.5589351824918 | etot = -16.1039052398368 +532000 ekin = 2.6696524214408 | erot = 2.74119638756006 | epot = -21.6464179501726 | etot = -16.2355691411717 +533000 ekin = 2.72770786142475 | erot = 2.77844536173281 | epot = -21.7626441239329 | etot = -16.2564909007754 +534000 ekin = 2.64182362572746 | erot = 3.16792870118731 | epot = -21.9259934897404 | etot = -16.1162411628256 +535000 ekin = 2.66520124770206 | erot = 3.28791712497576 | epot = -22.0889762146489 | etot = -16.1358578419711 +536000 ekin = 2.62601876922119 | erot = 3.30261897461184 | epot = -22.2457512656675 | etot = -16.3171135218345 +537000 ekin = 2.69839345537191 | erot = 3.42813769244461 | epot = -22.4210021127565 | etot = -16.29447096494 +538000 ekin = 2.66760385526385 | erot = 3.62303132590617 | epot = -22.5913550255155 | etot = -16.3007198443454 +539000 ekin = 2.67321194398858 | erot = 3.60397197005646 | epot = -22.7197786083613 | etot = -16.4425946943163 +540000 ekin = 2.61847962179667 | erot = 3.59814593067319 | epot = -22.8058567264858 | etot = -16.5892311740159 +541000 ekin = 2.67186419743777 | erot = 3.32667413558495 | epot = -22.8335693145217 | etot = -16.835030981499 +542000 ekin = 2.70747491915378 | erot = 3.01115645898026 | epot = -22.8115452943436 | etot = -17.0929139162096 +543000 ekin = 2.54644874759652 | erot = 2.82723025266318 | epot = -22.7664572430855 | etot = -17.3927782428258 +544000 ekin = 2.54639384288721 | erot = 2.5174224919614 | epot = -22.7350779454404 | etot = -17.6712616105918 +545000 ekin = 2.56168013748332 | erot = 2.65611713884728 | epot = -22.7023384195505 | etot = -17.4845411432199 +546000 ekin = 2.58160534092255 | erot = 2.38787600628631 | epot = -22.6704542470138 | etot = -17.7009728998049 +547000 ekin = 2.6121146280375 | erot = 2.34648461296519 | epot = -22.6334663710584 | etot = -17.6748671300557 +548000 ekin = 2.61848748301412 | erot = 2.5516310420712 | epot = -22.6097685172029 | etot = -17.4396499921176 +549000 ekin = 2.67184047302193 | erot = 2.60680496690199 | epot = -22.6113862974877 | etot = -17.3327408575638 +550000 ekin = 2.72277931598642 | erot = 2.65040849078687 | epot = -22.6203600824211 | etot = -17.2471722756478 +551000 ekin = 2.74305353489356 | erot = 2.80075659039589 | epot = -22.6177232617521 | etot = -17.0739131364627 +552000 ekin = 2.81751360269325 | erot = 2.75287635518204 | epot = -22.602311876728 | etot = -17.0319219188527 +553000 ekin = 2.79227730256451 | erot = 2.56192872740975 | epot = -22.5537272638578 | etot = -17.1995212338835 +554000 ekin = 2.73534601403833 | erot = 2.65053323061196 | epot = -22.4791077870334 | etot = -17.0932285423831 +555000 ekin = 2.638870693299 | erot = 2.60099744506951 | epot = -22.3836014529598 | etot = -17.1437333145913 +556000 ekin = 2.5879592273157 | erot = 2.83939231123044 | epot = -22.3242799264679 | etot = -16.8969283879218 +557000 ekin = 2.47840947592946 | erot = 2.83134609082876 | epot = -22.3241590735327 | etot = -17.0144035067744 +558000 ekin = 2.40468725505368 | erot = 2.93322561456073 | epot = -22.2772491751352 | etot = -16.9393363055208 +559000 ekin = 2.41820823948318 | erot = 2.8608918734677 | epot = -22.2036329910434 | etot = -16.9245328780926 +560000 ekin = 2.3966202031316 | erot = 2.57730341735947 | epot = -22.1373821619364 | etot = -17.1634585414453 +561000 ekin = 2.41616568173939 | erot = 2.43139941603537 | epot = -22.0606510286939 | etot = -17.2130859309192 +562000 ekin = 2.32711122790915 | erot = 2.68540878415344 | epot = -22.0362236088755 | etot = -17.0237035968129 +563000 ekin = 2.40105509630183 | erot = 2.62423602861765 | epot = -22.0398518714972 | etot = -17.0145607465777 +564000 ekin = 2.50622664221487 | erot = 2.49283482178932 | epot = -22.0598046960839 | etot = -17.0607432320797 +565000 ekin = 2.51273313956233 | erot = 2.47207361692501 | epot = -22.089921425343 | etot = -17.1051146688556 +566000 ekin = 2.45555537786115 | erot = 2.3082155714912 | epot = -22.1147098672019 | etot = -17.3509389178496 +567000 ekin = 2.48507699437185 | erot = 2.03226369059615 | epot = -22.1483465792771 | etot = -17.6310058943091 +568000 ekin = 2.44600711349212 | erot = 2.16818780091151 | epot = -22.1715613145415 | etot = -17.5573664001379 +569000 ekin = 2.41496567776295 | erot = 2.08307839560002 | epot = -22.1893617136985 | etot = -17.6913176403356 +570000 ekin = 2.31032400356052 | erot = 1.94654984481954 | epot = -22.1972672153819 | etot = -17.9403933670018 +571000 ekin = 2.34174388046968 | erot = 1.90380560996229 | epot = -22.2024778466829 | etot = -17.9569283562509 +572000 ekin = 2.3161224267259 | erot = 2.32477215739614 | epot = -22.1972617700694 | etot = -17.5563671859474 +573000 ekin = 2.33747992651635 | erot = 2.05308190482657 | epot = -22.1742687527247 | etot = -17.7837069213818 +574000 ekin = 2.25296248727395 | erot = 2.15192604028184 | epot = -22.1539412991551 | etot = -17.7490527715993 +575000 ekin = 2.39237411767891 | erot = 2.08020391847446 | epot = -22.1262092875419 | etot = -17.6536312513885 +576000 ekin = 2.39920884793466 | erot = 2.19930885642795 | epot = -22.0840646582165 | etot = -17.4855469538539 +577000 ekin = 2.32808205752383 | erot = 1.94197958979008 | epot = -22.0344723562009 | etot = -17.764410708887 +578000 ekin = 2.17468587063572 | erot = 1.9246103716915 | epot = -21.974741428262 | etot = -17.8754451859348 +579000 ekin = 2.11583896079231 | erot = 1.92936420584513 | epot = -21.9045494517252 | etot = -17.8593462850878 +580000 ekin = 1.98384148142142 | erot = 1.90081955947736 | epot = -21.8148954466249 | etot = -17.9302344057261 +581000 ekin = 1.94016412525864 | erot = 1.93233669573735 | epot = -21.7165439683881 | etot = -17.8440431473921 +582000 ekin = 1.86102518896638 | erot = 1.7934107867181 | epot = -21.6380365856677 | etot = -17.9836006099832 +583000 ekin = 1.68386990762816 | erot = 1.83679042288086 | epot = -21.5992064668102 | etot = -18.0785461363011 +584000 ekin = 1.67261412505274 | erot = 1.65634612158733 | epot = -21.5952053447533 | etot = -18.2662450981132 +585000 ekin = 1.73992925735466 | erot = 1.83366430721896 | epot = -21.6327697441748 | etot = -18.0591761796012 +586000 ekin = 1.7466125540919 | erot = 1.71213201580467 | epot = -21.7000609183771 | etot = -18.2413163484806 +587000 ekin = 1.71710189718411 | erot = 1.97098182988275 | epot = -21.768357454318 | etot = -18.0802737272511 +588000 ekin = 1.86544089524886 | erot = 1.85386980490182 | epot = -21.842568384803 | etot = -18.1232576846523 +589000 ekin = 1.85071717322235 | erot = 1.97068115142872 | epot = -21.9095983694565 | etot = -18.0882000448054 +590000 ekin = 1.83374905828512 | erot = 1.81484654719675 | epot = -21.9582171568561 | etot = -18.3096215513742 +591000 ekin = 1.81469352641546 | erot = 1.99878899767018 | epot = -21.9200659973695 | etot = -18.1065834732838 +592000 ekin = 1.71363100839119 | erot = 2.12573581394757 | epot = -21.9592135376035 | etot = -18.1198467152647 +593000 ekin = 1.72614766500652 | erot = 2.17937588775782 | epot = -22.066408920808 | etot = -18.1608853680437 +594000 ekin = 1.75427689765148 | erot = 1.98826780368093 | epot = -22.097697548866 | etot = -18.3551528475336 +595000 ekin = 1.85406358952635 | erot = 2.20206199980441 | epot = -22.122617669042 | etot = -18.0664920797113 +596000 ekin = 1.84670119316226 | erot = 2.33908153853192 | epot = -22.155983122642 | etot = -17.9702003909479 +597000 ekin = 1.81732138775553 | erot = 2.40005576098704 | epot = -22.1594075236566 | etot = -17.9420303749141 +598000 ekin = 1.86775439707713 | erot = 2.55301581891919 | epot = -22.1595993961167 | etot = -17.7388291801204 +599000 ekin = 1.91773913278386 | erot = 2.67167362163655 | epot = -22.1710888467293 | etot = -17.5816760923089 +600000 ekin = 1.98736665658457 | erot = 2.80063355631871 | epot = -22.2102053911855 | etot = -17.4222051782822 +601000 ekin = 1.90702337725137 | erot = 2.83446711181393 | epot = -22.2420925338084 | etot = -17.5006020447431 +602000 ekin = 1.94976963379135 | erot = 2.90342633891923 | epot = -22.2734691619213 | etot = -17.4202731892107 +603000 ekin = 1.96641425291137 | erot = 2.66529933433871 | epot = -22.2825393460707 | etot = -17.6508257588206 +604000 ekin = 1.91858852447186 | erot = 2.76080776072307 | epot = -22.2678256349419 | etot = -17.5884293497469 +605000 ekin = 1.97193019282266 | erot = 2.54727948628818 | epot = -22.2112173532516 | etot = -17.6920076741407 +606000 ekin = 2.03197193648811 | erot = 2.19902614177691 | epot = -22.116454437631 | etot = -17.885456359366 +607000 ekin = 2.05105280435577 | erot = 2.16675765880345 | epot = -21.9774053858555 | etot = -17.7595949226963 +608000 ekin = 2.17944443921827 | erot = 2.13131743184003 | epot = -21.8153209903606 | etot = -17.5045591193023 +609000 ekin = 2.16101479212578 | erot = 2.06129841109606 | epot = -21.6707988831026 | etot = -17.4484856798808 +610000 ekin = 2.19385705617112 | erot = 2.02131249667451 | epot = -21.5477012163144 | etot = -17.3325316634687 +611000 ekin = 2.19942394637442 | erot = 2.20280786133642 | epot = -21.4384008683113 | etot = -17.0361690606005 +612000 ekin = 2.23163662761472 | erot = 2.17565235563951 | epot = -21.3497883530462 | etot = -16.942499369792 +613000 ekin = 2.34183365034038 | erot = 1.89422502415539 | epot = -21.3091832789111 | etot = -17.0731246044153 +614000 ekin = 2.41074949980773 | erot = 1.66581051947236 | epot = -21.3121685225924 | etot = -17.2356085033123 +615000 ekin = 2.45538962657627 | erot = 1.67175711569401 | epot = -21.3797539205107 | etot = -17.2526071782405 +616000 ekin = 2.54665272757666 | erot = 1.63332091588084 | epot = -21.4744887763243 | etot = -17.2945151328668 +617000 ekin = 2.69386292022066 | erot = 1.67560230924521 | epot = -21.588417959513 | etot = -17.2189527300471 +618000 ekin = 2.87435666564135 | erot = 1.80165459029565 | epot = -21.7048752429668 | etot = -17.0288639870299 +619000 ekin = 3.06032720665911 | erot = 1.65093186491292 | epot = -21.8125402008949 | etot = -17.1012811293228 +620000 ekin = 3.05516944552979 | erot = 1.78567665314242 | epot = -21.9362157730259 | etot = -17.0953696743537 +621000 ekin = 3.19482877288267 | erot = 1.85444292415912 | epot = -22.0590109842187 | etot = -17.0097392871769 +622000 ekin = 3.19833270893114 | erot = 1.64252462622231 | epot = -22.1304552689747 | etot = -17.2895979338213 +623000 ekin = 3.29734758995184 | erot = 1.69707189360923 | epot = -22.1701112545656 | etot = -17.1756917710046 +624000 ekin = 3.37713404636403 | erot = 1.61937249977477 | epot = -22.1901329861865 | etot = -17.1936264400477 +625000 ekin = 3.38380934462709 | erot = 1.549172062804 | epot = -22.1890416607103 | etot = -17.2560602532792 +626000 ekin = 3.32638739446791 | erot = 1.56722148293845 | epot = -22.1785220524129 | etot = -17.2849131750065 +627000 ekin = 3.31569249720213 | erot = 1.71066467192283 | epot = -22.1423640777851 | etot = -17.1160069086602 +628000 ekin = 3.16697776454369 | erot = 1.85806977204786 | epot = -22.011252047656 | etot = -16.9862045110645 +629000 ekin = 2.99094278818936 | erot = 1.8634654411134 | epot = -21.934673140983 | etot = -17.0802649116802 +630000 ekin = 2.90556071918741 | erot = 2.0693130310465 | epot = -21.9350908515797 | etot = -16.9602171013458 +631000 ekin = 2.7996958294494 | erot = 2.05621242567347 | epot = -21.8486045729716 | etot = -16.9926963178487 +632000 ekin = 2.67147709831681 | erot = 2.03262561421969 | epot = -21.7549691244759 | etot = -17.0508664119394 +633000 ekin = 2.65536759972765 | erot = 2.03400136625159 | epot = -21.679933200058 | etot = -16.9905642340788 +634000 ekin = 2.60619207671916 | erot = 2.13546718822646 | epot = -21.6154557479587 | etot = -16.873796483013 +635000 ekin = 2.50701558019073 | erot = 1.74758901075266 | epot = -21.5543249117143 | etot = -17.2997203207709 +636000 ekin = 2.39745600323015 | erot = 1.85247540266627 | epot = -21.5255594300375 | etot = -17.275628024141 +637000 ekin = 2.41790008828863 | erot = 1.89421557823657 | epot = -21.5250233017188 | etot = -17.2129076351937 +638000 ekin = 2.47578971863411 | erot = 2.36571418053383 | epot = -21.5337545659548 | etot = -16.6922506667869 +639000 ekin = 2.35660046082987 | erot = 2.51353605837974 | epot = -21.54109724209 | etot = -16.6709607228804 +640000 ekin = 2.45486082803945 | erot = 2.67800600845136 | epot = -21.55281452089 | etot = -16.4199476843992 +641000 ekin = 2.56928913237036 | erot = 2.42818013926169 | epot = -21.5744429168227 | etot = -16.5769736451907 +642000 ekin = 2.56519022418644 | erot = 2.50858602525862 | epot = -21.5829619563604 | etot = -16.5091857069153 +643000 ekin = 2.61438251477743 | erot = 2.14546404075503 | epot = -21.6040625493726 | etot = -16.8442159938401 +644000 ekin = 2.62186764966541 | erot = 2.14191076230808 | epot = -21.6253516870781 | etot = -16.8615732751046 +645000 ekin = 2.73445879103559 | erot = 2.35765807621328 | epot = -21.6468161631213 | etot = -16.5546992958725 +646000 ekin = 2.74844139127298 | erot = 2.17611353686154 | epot = -21.6394622686015 | etot = -16.714907340467 +647000 ekin = 2.81459539064476 | erot = 2.08632073152515 | epot = -21.6308966078173 | etot = -16.7299804856474 +648000 ekin = 2.8570092687102 | erot = 1.92946433308234 | epot = -21.6388376034712 | etot = -16.8523640016787 +649000 ekin = 2.83442652810374 | erot = 1.81043301746399 | epot = -21.6816093302461 | etot = -17.0367497846784 +650000 ekin = 2.82385635198152 | erot = 1.98060013201552 | epot = -21.7368430060007 | etot = -16.9323865220037 +651000 ekin = 2.9288560289155 | erot = 2.12442721936488 | epot = -21.817286677495 | etot = -16.7640034292146 +652000 ekin = 2.93013307398376 | erot = 2.27578127027579 | epot = -21.8890408405104 | etot = -16.6831264962509 +653000 ekin = 3.0473689812555 | erot = 2.16776847613752 | epot = -21.9486345968612 | etot = -16.7334971394682 +654000 ekin = 2.95795730372489 | erot = 2.21678381714661 | epot = -22.0001869032544 | etot = -16.8254457823829 +655000 ekin = 3.02540562074013 | erot = 2.13692279145244 | epot = -22.0213788097185 | etot = -16.8590503975259 +656000 ekin = 2.93581362686791 | erot = 2.18988187130923 | epot = -22.010975719743 | etot = -16.8852802215659 +657000 ekin = 2.76805340651513 | erot = 2.32463835532636 | epot = -21.9890816986891 | etot = -16.8963899368476 +658000 ekin = 2.72010078264214 | erot = 2.42170769009723 | epot = -21.9346454326183 | etot = -16.792836959879 +659000 ekin = 2.56993867397727 | erot = 2.56748186419784 | epot = -21.8575737943231 | etot = -16.7201532561479 +660000 ekin = 2.47973868672826 | erot = 2.40259679627709 | epot = -21.779567237114 | etot = -16.8972317541087 +661000 ekin = 2.45373542595665 | erot = 2.39904349056725 | epot = -21.7176497643048 | etot = -16.8648708477809 +662000 ekin = 2.31664057269232 | erot = 2.35054704143566 | epot = -21.6537121043302 | etot = -16.9865244902022 +663000 ekin = 2.2406453295341 | erot = 2.17910127912756 | epot = -21.6391536375407 | etot = -17.2194070288791 +664000 ekin = 2.20916362864351 | erot = 2.06262569311492 | epot = -21.6851863902018 | etot = -17.4133970684433 +665000 ekin = 2.13954972476583 | erot = 2.25756057575129 | epot = -21.7455075936899 | etot = -17.3483972931728 +666000 ekin = 2.08532103984046 | erot = 2.53235015645651 | epot = -21.830648816515 | etot = -17.2129776202181 +667000 ekin = 2.0743446863546 | erot = 2.583160243362 | epot = -21.9388099470212 | etot = -17.2813050173046 +668000 ekin = 2.14972707351084 | erot = 2.44036539013565 | epot = -22.0333424314709 | etot = -17.4432499678244 +669000 ekin = 2.14867112158615 | erot = 2.43281409131061 | epot = -22.1304448026363 | etot = -17.5489595897395 +670000 ekin = 2.23890403189199 | erot = 2.5864824921452 | epot = -22.2056814205452 | etot = -17.380294896508 +671000 ekin = 2.31625622499922 | erot = 2.6933385117182 | epot = -22.2796620621828 | etot = -17.2700673254654 +672000 ekin = 2.44586153940035 | erot = 2.5664628061703 | epot = -22.3586952144321 | etot = -17.3463708688615 +673000 ekin = 2.54481735055596 | erot = 2.75556593856597 | epot = -22.4593396425668 | etot = -17.1589563534449 +674000 ekin = 2.71391625159844 | erot = 2.65543084253566 | epot = -22.5584890476539 | etot = -17.1891419535198 +675000 ekin = 2.90764129270645 | erot = 2.2381977509452 | epot = -22.61801770165 | etot = -17.4721786579984 +676000 ekin = 2.92265152568027 | erot = 2.01907422039333 | epot = -22.6419153633297 | etot = -17.7001896172561 +677000 ekin = 2.98331588051324 | erot = 1.94365767388418 | epot = -22.6354363273703 | etot = -17.7084627729728 +678000 ekin = 3.09770353325625 | erot = 1.78984747588675 | epot = -22.5937189533549 | etot = -17.7061679442119 +679000 ekin = 3.25432444248473 | erot = 1.88443631033203 | epot = -22.5317841359598 | etot = -17.393023383143 +680000 ekin = 3.22961887078889 | erot = 1.69909805720003 | epot = -22.4630708250237 | etot = -17.5343538970348 +681000 ekin = 3.29793543712244 | erot = 1.73422658308639 | epot = -22.3946434176701 | etot = -17.3624813974613 +682000 ekin = 3.24199079106598 | erot = 1.59692198561525 | epot = -22.3029193266289 | etot = -17.4640065499476 +683000 ekin = 3.25371946999921 | erot = 1.72202050023483 | epot = -22.1991489993634 | etot = -17.2234090291294 +684000 ekin = 3.19052733109175 | erot = 1.6662268117249 | epot = -22.0655070121609 | etot = -17.2087528693442 +685000 ekin = 3.1235177982566 | erot = 1.51735754830955 | epot = -21.9148242457862 | etot = -17.2739488992201 +686000 ekin = 3.07326489888686 | erot = 1.46555591350557 | epot = -21.7573475582033 | etot = -17.2185267458109 +687000 ekin = 3.06926781943163 | erot = 1.15712044634924 | epot = -21.5962819403317 | etot = -17.3698936745508 +688000 ekin = 2.87390652865996 | erot = 1.40331203652357 | epot = -21.4336822001942 | etot = -17.1564636350106 +689000 ekin = 2.69554492827573 | erot = 1.45829074533159 | epot = -21.2672855389607 | etot = -17.1134498653534 +690000 ekin = 2.61061423011931 | erot = 1.36248966419121 | epot = -21.1045284460287 | etot = -17.1314245517182 +691000 ekin = 2.53848955712385 | erot = 1.51295281726522 | epot = -20.9662406736505 | etot = -16.9147982992614 +692000 ekin = 2.46230747660104 | erot = 1.79517490024313 | epot = -20.8267179895323 | etot = -16.5692356126881 +693000 ekin = 2.33092902932381 | erot = 1.95693255705532 | epot = -20.7214634762692 | etot = -16.4336018898901 +694000 ekin = 2.20499278049206 | erot = 2.26852927145262 | epot = -20.6632308881514 | etot = -16.1897088362067 +695000 ekin = 2.03014457111484 | erot = 2.21386820279707 | epot = -20.6164786812678 | etot = -16.3724659073559 +696000 ekin = 1.90099616141388 | erot = 2.51034651058703 | epot = -20.5979238575911 | etot = -16.1865811855902 +697000 ekin = 1.85444991610563 | erot = 2.53777912909074 | epot = -20.6115349149636 | etot = -16.2193058697672 +698000 ekin = 1.74517859956197 | erot = 2.72238224145333 | epot = -20.6303436251982 | etot = -16.1627827841829 +699000 ekin = 1.75168130890703 | erot = 2.85503588879915 | epot = -20.6320585257891 | etot = -16.0253413280829 +700000 ekin = 1.64369199910964 | erot = 2.34560591480475 | epot = -20.6475139469298 | etot = -16.6582160330154 +701000 ekin = 1.68132533789953 | erot = 2.43909304651544 | epot = -20.6859109282928 | etot = -16.5654925438779 +702000 ekin = 1.70386840970075 | erot = 2.35102704448845 | epot = -20.7376959872522 | etot = -16.6828005330631 +703000 ekin = 1.80305935509228 | erot = 2.30693909538425 | epot = -20.8251011762126 | etot = -16.7151027257361 +704000 ekin = 1.85427679013265 | erot = 2.26509125077347 | epot = -20.9059280513961 | etot = -16.78656001049 +705000 ekin = 1.8833584698334 | erot = 2.19214658824627 | epot = -20.9954367870658 | etot = -16.9199317289861 +706000 ekin = 1.87670234052976 | erot = 2.28719516539754 | epot = -21.0193227576681 | etot = -16.8554252517408 +707000 ekin = 1.93293497142042 | erot = 2.38330202769359 | epot = -21.0638890738314 | etot = -16.7476520747174 +708000 ekin = 2.09065153727169 | erot = 2.35104864418212 | epot = -21.2227908262266 | etot = -16.7810906447728 +709000 ekin = 2.20425730862695 | erot = 2.60124565008625 | epot = -21.3749368892931 | etot = -16.5694339305799 +710000 ekin = 2.15847586521615 | erot = 2.78837422905166 | epot = -21.4537558932195 | etot = -16.5069057989517 +711000 ekin = 2.14738567610619 | erot = 2.55565446850146 | epot = -21.4922752305122 | etot = -16.7892350859046 +712000 ekin = 2.21832534546365 | erot = 2.28378233297843 | epot = -21.5070148685005 | etot = -17.0049071900584 +713000 ekin = 2.23341186047097 | erot = 2.34500428198343 | epot = -21.5008699398633 | etot = -16.9224537974089 +714000 ekin = 2.33230836039941 | erot = 2.19479871425173 | epot = -21.483901980654 | etot = -16.9567949060029 +715000 ekin = 2.33030820573716 | erot = 2.17965051754574 | epot = -21.4553142973933 | etot = -16.9453555741104 +716000 ekin = 2.36748822469763 | erot = 2.35438142347179 | epot = -21.4335845554589 | etot = -16.7117149072895 +717000 ekin = 2.42589072360727 | erot = 2.26035712234886 | epot = -21.4376774007488 | etot = -16.7514295547927 +718000 ekin = 2.38255620505563 | erot = 2.6280597207598 | epot = -21.470981433119 | etot = -16.4603655073036 +719000 ekin = 2.43160380446145 | erot = 2.63972746655475 | epot = -21.49717661689 | etot = -16.4258453458738 +720000 ekin = 2.33769336712164 | erot = 2.55371461534663 | epot = -21.5394919555784 | etot = -16.6480839731101 +721000 ekin = 2.28846155322213 | erot = 2.63462733239702 | epot = -21.618461815108 | etot = -16.6953729294888 +722000 ekin = 2.26257994641476 | erot = 2.84783969674527 | epot = -21.694550270764 | etot = -16.584130627604 +723000 ekin = 2.23304720962004 | erot = 3.06611659822312 | epot = -21.7528202353858 | etot = -16.4536564275427 +724000 ekin = 2.12684507278307 | erot = 2.78432312637068 | epot = -21.7751025516959 | etot = -16.8639343525421 +725000 ekin = 2.06612304118994 | erot = 2.66570087221037 | epot = -21.7772349484671 | etot = -17.0454110350668 +726000 ekin = 2.06015720392015 | erot = 2.53002799423172 | epot = -21.7484309875634 | etot = -17.1582457894116 +727000 ekin = 1.94617710091839 | erot = 2.58809722642007 | epot = -21.6988659423112 | etot = -17.1645916149727 +728000 ekin = 1.79988680762438 | erot = 2.5979160195852 | epot = -21.6244191329758 | etot = -17.2266163057662 +729000 ekin = 1.88959231945985 | erot = 2.45182775661318 | epot = -21.5334662313019 | etot = -17.1920461552289 +730000 ekin = 1.96867512295179 | erot = 2.41054767101822 | epot = -21.4871507299637 | etot = -17.1079279359937 +731000 ekin = 2.04007066021541 | erot = 2.10968471949841 | epot = -21.5107250767904 | etot = -17.3609696970765 +732000 ekin = 2.15156634650388 | erot = 2.21445806294114 | epot = -21.5656945394481 | etot = -17.199670130003 +733000 ekin = 2.35654560078921 | erot = 2.09260206198333 | epot = -21.6365297457679 | etot = -17.1873820829953 +734000 ekin = 2.53299152923288 | erot = 2.37468932984165 | epot = -21.7439901596612 | etot = -16.8363093005867 +735000 ekin = 2.68562697475323 | erot = 2.64165595377583 | epot = -21.8172386752085 | etot = -16.4899557466795 +736000 ekin = 2.79874366040434 | erot = 2.3555672648488 | epot = -21.8745419467365 | etot = -16.7202310214834 +737000 ekin = 2.90595989296537 | erot = 2.41144452276502 | epot = -21.9257424852848 | etot = -16.6083380695544 +738000 ekin = 3.16854231512179 | erot = 2.16995374764134 | epot = -21.9707229821545 | etot = -16.6322269193913 +739000 ekin = 3.23623963268868 | erot = 2.03973592994104 | epot = -22.0157112429487 | etot = -16.739735680319 +740000 ekin = 3.39353868555153 | erot = 2.32580669984048 | epot = -22.0571350158431 | etot = -16.3377896304511 +741000 ekin = 3.45553760108212 | erot = 2.27352146353072 | epot = -22.0707608655516 | etot = -16.3417018009388 +742000 ekin = 3.39019064344739 | erot = 2.25908088551441 | epot = -22.0670611146383 | etot = -16.4177895856765 +743000 ekin = 3.24233276383811 | erot = 2.1839250645018 | epot = -22.0666014745823 | etot = -16.6403436462424 +744000 ekin = 3.20002114728613 | erot = 2.23309952366509 | epot = -22.0285391631713 | etot = -16.59541849222 +745000 ekin = 3.1415194326547 | erot = 2.14368723244866 | epot = -21.964386805698 | etot = -16.6791801405947 +746000 ekin = 3.13633701521512 | erot = 2.2360359398882 | epot = -21.8828728628744 | etot = -16.5104999077711 +747000 ekin = 3.07456220778475 | erot = 2.2658707938338 | epot = -21.7933333887777 | etot = -16.4529003871592 +748000 ekin = 2.89245092613039 | erot = 2.40124088279771 | epot = -21.7426214163831 | etot = -16.448929607455 +749000 ekin = 2.88984722840537 | erot = 2.04545464704744 | epot = -21.7486405812126 | etot = -16.8133387057598 +750000 ekin = 2.90690239667269 | erot = 2.16308193639867 | epot = -21.803785194241 | etot = -16.7338008611696 +751000 ekin = 2.91748713435769 | erot = 2.28652646733639 | epot = -21.8965044368835 | etot = -16.6924908351894 +752000 ekin = 2.973295314377 | erot = 2.21452942544181 | epot = -22.0108702587425 | etot = -16.8230455189237 +753000 ekin = 3.12120975435183 | erot = 2.07420726206789 | epot = -22.1751207133481 | etot = -16.9797036969284 +754000 ekin = 3.10943310281668 | erot = 2.2499210675043 | epot = -22.3612161837256 | etot = -17.0018620134046 +755000 ekin = 3.18094546468904 | erot = 2.11033610484431 | epot = -22.5317563093702 | etot = -17.2404747398369 +756000 ekin = 3.21064051440287 | erot = 2.28479126381456 | epot = -22.6718534245704 | etot = -17.176421646353 +757000 ekin = 3.22246886753978 | erot = 2.44968123087538 | epot = -22.7886247543805 | etot = -17.1164746559654 +758000 ekin = 3.20698410892089 | erot = 2.5094846891231 | epot = -22.8454442004672 | etot = -17.1289754024233 +759000 ekin = 3.2123470068763 | erot = 3.12016624161149 | epot = -22.820120520579 | etot = -16.4876072720912 +760000 ekin = 3.27823245967404 | erot = 2.84290665242014 | epot = -22.678395409203 | etot = -16.5572562971088 +761000 ekin = 3.12453460408373 | erot = 2.62184906422468 | epot = -22.4382001072282 | etot = -16.6918164389198 +762000 ekin = 3.00311895367862 | erot = 2.41644056781974 | epot = -22.1533696227421 | etot = -16.7338101012437 +763000 ekin = 2.78638584214058 | erot = 2.3278167244759 | epot = -21.8612278496175 | etot = -16.747025283001 +764000 ekin = 2.62767890060486 | erot = 2.17189942716293 | epot = -21.5731775254892 | etot = -16.7735991977215 +765000 ekin = 2.51344272364347 | erot = 2.10908907015962 | epot = -21.3425441704373 | etot = -16.7200123766342 +766000 ekin = 2.44393199306001 | erot = 2.31186162861045 | epot = -21.1564464031685 | etot = -16.400652781498 +767000 ekin = 2.31911160677134 | erot = 2.18314082130427 | epot = -20.9627169920037 | etot = -16.460464563928 +768000 ekin = 2.13701069286725 | erot = 2.40318509200869 | epot = -20.8058909702443 | etot = -16.2656951853684 +769000 ekin = 2.10500025579023 | erot = 2.63894895441484 | epot = -20.8353130509949 | etot = -16.0913638407899 +770000 ekin = 2.12136471147768 | erot = 2.65544587845489 | epot = -20.9284031482495 | etot = -16.1515925583169 +771000 ekin = 2.13543144639037 | erot = 2.60537105377022 | epot = -21.0328875238179 | etot = -16.2920850236573 +772000 ekin = 2.24162906957233 | erot = 2.74417889300668 | epot = -21.1929928408453 | etot = -16.2071848782663 +773000 ekin = 2.33155635751522 | erot = 2.6544507323086 | epot = -21.3698964155412 | etot = -16.3838893257173 +774000 ekin = 2.48263962766135 | erot = 2.8220912557924 | epot = -21.5457273132849 | etot = -16.2409964298311 +775000 ekin = 2.54636977687259 | erot = 2.8805310925612 | epot = -21.7219905564994 | etot = -16.2950896870656 +776000 ekin = 2.69100265053998 | erot = 2.71778929652937 | epot = -21.8782095094712 | etot = -16.4694175624019 +777000 ekin = 2.78238726098687 | erot = 2.72823230983043 | epot = -21.9911064717658 | etot = -16.4804869009485 +778000 ekin = 2.78617187411065 | erot = 2.8281579045973 | epot = -22.0683537375471 | etot = -16.4540239588392 +779000 ekin = 2.84892593421593 | erot = 3.03438887674951 | epot = -22.1034747648818 | etot = -16.2201599539164 +780000 ekin = 2.88441601841625 | erot = 3.24511918270346 | epot = -22.0479241425115 | etot = -15.9183889413918 +781000 ekin = 2.79226579266258 | erot = 3.2154845993887 | epot = -21.8915863093268 | etot = -15.8838359172756 +782000 ekin = 2.68974173738947 | erot = 3.17926967086066 | epot = -21.6363560975055 | etot = -15.7673446892554 +783000 ekin = 2.79024932263256 | erot = 2.97774512624287 | epot = -21.2767108150315 | etot = -15.508716366156 +784000 ekin = 2.86449981533265 | erot = 2.69172267164048 | epot = -21.0080507326029 | etot = -15.4518282456298 +785000 ekin = 2.80952796629514 | erot = 2.46781875930137 | epot = -20.8778745868634 | etot = -15.6005278612669 +786000 ekin = 2.68208018815612 | erot = 2.29793991145938 | epot = -20.7982787985711 | etot = -15.8182586989556 +787000 ekin = 2.56813961255804 | erot = 2.41937763036865 | epot = -20.6982631250973 | etot = -15.7107458821706 +788000 ekin = 2.4885142786824 | erot = 2.49924394096823 | epot = -20.6407407229647 | etot = -15.6529825033141 +789000 ekin = 2.3498294671688 | erot = 2.56420624411944 | epot = -20.6454036959724 | etot = -15.7313679846842 +790000 ekin = 2.27171119767482 | erot = 2.49951341291571 | epot = -20.6777685520556 | etot = -15.9065439414651 +791000 ekin = 2.21794673443476 | erot = 2.30373156167342 | epot = -20.7335879448548 | etot = -16.2119096487466 +792000 ekin = 2.11119869207262 | erot = 2.39386074874952 | epot = -20.8097229220293 | etot = -16.3046634812072 +793000 ekin = 2.09149862321906 | erot = 2.33936906711444 | epot = -20.8989593305935 | etot = -16.46809164026 +794000 ekin = 2.07514167963969 | erot = 2.18864817793776 | epot = -21.0024824072391 | etot = -16.7386925496616 +795000 ekin = 2.04599756417535 | erot = 1.93255592397763 | epot = -21.1171979822075 | etot = -17.1386444940546 +796000 ekin = 2.0560011436673 | erot = 2.03200387694222 | epot = -21.2502268612632 | etot = -17.1622218406537 +797000 ekin = 2.02544049585112 | erot = 2.05143967820578 | epot = -21.378370482143 | etot = -17.3014903080861 +798000 ekin = 2.10531554228559 | erot = 1.92029368041684 | epot = -21.4968277215556 | etot = -17.4712184988532 +799000 ekin = 2.1606478877389 | erot = 1.68829576105986 | epot = -21.5739657591762 | etot = -17.7250221103775 +800000 ekin = 2.21578954821239 | erot = 1.79594742030852 | epot = -21.6039560547364 | etot = -17.5922190862155 +801000 ekin = 2.22681551829037 | erot = 1.74309621460745 | epot = -21.6419326028336 | etot = -17.6720208699357 +802000 ekin = 2.43626565180412 | erot = 1.8592236853584 | epot = -21.6656085836152 | etot = -17.3701192464527 +803000 ekin = 2.50783665003003 | erot = 1.58815243555118 | epot = -21.7145730789025 | etot = -17.6185839933213 +804000 ekin = 2.54745667479286 | erot = 1.78752251126699 | epot = -21.8111449940664 | etot = -17.4761658080066 +805000 ekin = 2.80080657856368 | erot = 2.23795086847339 | epot = -21.9683564899642 | etot = -16.9295990429271 +806000 ekin = 3.00571166515339 | erot = 2.5677199981865 | epot = -22.1621480951751 | etot = -16.5887164318352 +807000 ekin = 3.08052739942195 | erot = 2.70802004693301 | epot = -22.38170110091 | etot = -16.593153654555 +808000 ekin = 3.09356150914435 | erot = 2.92145006465354 | epot = -22.5983854951448 | etot = -16.5833739213469 +809000 ekin = 3.13660538877266 | erot = 2.76580118315201 | epot = -22.789892142321 | etot = -16.8874855703963 +810000 ekin = 3.19670438612171 | erot = 3.06033288356123 | epot = -22.9235249464186 | etot = -16.6664876767356 +811000 ekin = 3.24358248709609 | erot = 2.75433145479029 | epot = -22.9913244588516 | etot = -16.9934105169653 +812000 ekin = 3.15387712947307 | erot = 2.67472079387977 | epot = -22.995833823727 | etot = -17.1672359003741 +813000 ekin = 2.94730683854471 | erot = 2.78448217630015 | epot = -22.9500139539581 | etot = -17.2182249391133 +814000 ekin = 2.84152372531229 | erot = 2.94333861884889 | epot = -22.886106332815 | etot = -17.1012439886538 +815000 ekin = 2.76239406868071 | erot = 3.20738232683527 | epot = -22.8152543629747 | etot = -16.8454779674587 +816000 ekin = 2.59996655001222 | erot = 2.95415715753922 | epot = -22.7323176380797 | etot = -17.1781939305283 +817000 ekin = 2.5056850969174 | erot = 2.56873279594443 | epot = -22.6565557161091 | etot = -17.5821378232473 +818000 ekin = 2.36879357411276 | erot = 2.62740710803679 | epot = -22.5771576372442 | etot = -17.5809569550947 +819000 ekin = 2.2213715355314 | erot = 2.20921666744159 | epot = -22.5063000644072 | etot = -18.0757118614342 +820000 ekin = 2.15352101503093 | erot = 2.22634472649342 | epot = -22.4644595926824 | etot = -18.0845938511581 +821000 ekin = 2.02682142410431 | erot = 2.27918504666614 | epot = -22.4285107655757 | etot = -18.1225042948052 +822000 ekin = 1.96590621976957 | erot = 2.11933585708345 | epot = -22.3893132044858 | etot = -18.3040711276327 +823000 ekin = 1.87390236475586 | erot = 2.4383392862657 | epot = -22.3766834300092 | etot = -18.0644417789876 +824000 ekin = 1.76511965451641 | erot = 2.08632973064822 | epot = -22.3846955708834 | etot = -18.5332461857187 +825000 ekin = 1.72275906923827 | erot = 2.05491870773449 | epot = -22.4158544093968 | etot = -18.638176632424 +826000 ekin = 1.6542317303061 | erot = 1.9011808359787 | epot = -22.4865285736257 | etot = -18.9311160073409 +827000 ekin = 1.62203877403882 | erot = 2.11543908972364 | epot = -22.5672947980682 | etot = -18.8298169343057 +828000 ekin = 1.50840521352541 | erot = 1.94184045090041 | epot = -22.6360835929013 | etot = -19.1858379284755 +829000 ekin = 1.53133011832232 | erot = 2.23719923781426 | epot = -22.6642383844121 | etot = -18.8957090282755 +830000 ekin = 1.57674105329983 | erot = 2.32835034572891 | epot = -22.6990636526541 | etot = -18.7939722536254 +831000 ekin = 1.66163281968 | erot = 2.45366313846767 | epot = -22.7282270920055 | etot = -18.6129311338578 +832000 ekin = 1.61575752897166 | erot = 2.36469513945105 | epot = -22.7314805576168 | etot = -18.7510278891941 +833000 ekin = 1.5748462373096 | erot = 2.43716147593346 | epot = -22.7310267178688 | etot = -18.7190190046258 +834000 ekin = 1.61211592879595 | erot = 2.27369578072793 | epot = -22.723107314969 | etot = -18.8372956054451 +835000 ekin = 1.71255063217308 | erot = 2.25145179685536 | epot = -22.7213723561555 | etot = -18.757369927127 +836000 ekin = 1.66410080946976 | erot = 2.36287362112711 | epot = -22.7106963960627 | etot = -18.6837219654658 +837000 ekin = 1.55393537342694 | erot = 2.19682771054845 | epot = -22.7054421830654 | etot = -18.95467909909 +838000 ekin = 1.55395449542858 | erot = 1.97831033841727 | epot = -22.6952408411607 | etot = -19.1629760073149 +839000 ekin = 1.56966734032696 | erot = 1.54356794703242 | epot = -22.6819663107371 | etot = -19.5687310233777 +840000 ekin = 1.67828545417323 | erot = 1.72274710399372 | epot = -22.6537987135736 | etot = -19.2527661554066 +841000 ekin = 1.70756024783427 | erot = 1.86878110711764 | epot = -22.6201854793162 | etot = -19.0438441243643 +842000 ekin = 1.65445531752109 | erot = 1.98969497305258 | epot = -22.583445805341 | etot = -18.9392955147673 +843000 ekin = 1.61813041031379 | erot = 1.94297358984934 | epot = -22.5343209800153 | etot = -18.9732169798522 +844000 ekin = 1.66559589059779 | erot = 2.07459583566505 | epot = -22.4909419629538 | etot = -18.7507502366909 +845000 ekin = 1.67372319184744 | erot = 2.01531047458982 | epot = -22.4486472588292 | etot = -18.759613592392 +846000 ekin = 1.76456308419019 | erot = 2.04286196110417 | epot = -22.3907655586718 | etot = -18.5833405133775 +847000 ekin = 1.68474528716594 | erot = 1.9506218354464 | epot = -22.3219698462716 | etot = -18.6866027236593 +848000 ekin = 1.7769208083991 | erot = 1.9490334388676 | epot = -22.2732219412012 | etot = -18.5472676939345 +849000 ekin = 1.80865478838392 | erot = 1.92750105953155 | epot = -22.254397724897 | etot = -18.5182418769815 +850000 ekin = 1.81902433575234 | erot = 1.83695743097834 | epot = -22.2895798743212 | etot = -18.6335981075905 +851000 ekin = 1.89190920982903 | erot = 1.99438142785482 | epot = -22.3706877386968 | etot = -18.484397101013 +852000 ekin = 1.85572644981354 | erot = 2.08333690914979 | epot = -22.4954803882742 | etot = -18.5564170293108 +853000 ekin = 1.96819950961999 | erot = 2.4652206393425 | epot = -22.6461768022226 | etot = -18.2127566532601 +854000 ekin = 1.99027367747301 | erot = 2.82405245762167 | epot = -22.8233134890242 | etot = -18.0089873539295 +855000 ekin = 2.02041206494319 | erot = 2.76127853932356 | epot = -22.971921387783 | etot = -18.1902307835163 +856000 ekin = 1.98428835568691 | erot = 2.89398807390395 | epot = -23.0688189336956 | etot = -18.1905425041048 +857000 ekin = 1.94437625728123 | erot = 2.75841683957984 | epot = -23.1174862513581 | etot = -18.4146931544971 +858000 ekin = 1.77145748342589 | erot = 2.97613159793736 | epot = -23.092564103994 | etot = -18.3449750226308 +859000 ekin = 1.75449757825296 | erot = 2.94820975918207 | epot = -23.0174946494386 | etot = -18.3147873120036 +860000 ekin = 1.69824130829505 | erot = 2.56619342881162 | epot = -22.913827752011 | etot = -18.6493930149043 +861000 ekin = 1.61723118354539 | erot = 2.60723394433469 | epot = -22.7817384645188 | etot = -18.5572733366387 +862000 ekin = 1.65016805240501 | erot = 2.58826826537521 | epot = -22.6306365080481 | etot = -18.3922001902679 +863000 ekin = 1.62167782718969 | erot = 2.32265511280165 | epot = -22.4833247924562 | etot = -18.5389918524648 +864000 ekin = 1.64443917201354 | erot = 2.41694169973122 | epot = -22.3437317075484 | etot = -18.2823508358037 +865000 ekin = 1.62323607055498 | erot = 2.42797649715591 | epot = -22.2339680949553 | etot = -18.1827555272444 +866000 ekin = 1.52330589260455 | erot = 2.43806006674714 | epot = -22.1297693883002 | etot = -18.1684034289485 +867000 ekin = 1.53921563765445 | erot = 2.563486299306 | epot = -22.0395837686773 | etot = -17.9368818317168 +868000 ekin = 1.51596999193292 | erot = 2.55716270739037 | epot = -21.9937420973996 | etot = -17.9206093980763 +869000 ekin = 1.59814692070021 | erot = 2.15771580624648 | epot = -21.9767818689251 | etot = -18.2209191419784 +870000 ekin = 1.62438751257453 | erot = 2.30366665730433 | epot = -22.0119463158297 | etot = -18.0838921459509 +871000 ekin = 1.64699232624016 | erot = 2.29504943911151 | epot = -22.0696451748842 | etot = -18.1276034095325 +872000 ekin = 1.74936107688413 | erot = 1.9965562018104 | epot = -22.1253859835196 | etot = -18.3794687048251 +873000 ekin = 1.81958663572737 | erot = 2.15311518593397 | epot = -22.1932828259374 | etot = -18.2205810042761 +874000 ekin = 1.81429910947078 | erot = 2.15191422066098 | epot = -22.2521915372879 | etot = -18.2859782071562 +875000 ekin = 1.92774125135583 | erot = 2.09841769816796 | epot = -22.2950199590261 | etot = -18.2688610095023 +876000 ekin = 2.05205383202971 | erot = 1.71112886964838 | epot = -22.3353847724815 | etot = -18.5722020708034 +877000 ekin = 2.00183605232511 | erot = 1.88466440539805 | epot = -22.3587375372386 | etot = -18.4722370795154 +878000 ekin = 1.96978247022157 | erot = 1.9449250442233 | epot = -22.3467650368076 | etot = -18.4320575223628 +879000 ekin = 1.89978467382709 | erot = 2.08488575038812 | epot = -22.3245187946411 | etot = -18.3398483704259 +880000 ekin = 1.79316389452797 | erot = 2.04472659118319 | epot = -22.302273163246 | etot = -18.4643826775348 +881000 ekin = 1.84166442688194 | erot = 1.91254711303943 | epot = -22.2610385402073 | etot = -18.5068270002859 +882000 ekin = 1.8408423266687 | erot = 1.89291352333735 | epot = -22.2058993058574 | etot = -18.4721434558513 +883000 ekin = 1.85228381568774 | erot = 2.04568547305987 | epot = -22.1462287912866 | etot = -18.248259502539 +884000 ekin = 1.74299718480553 | erot = 2.41541515351066 | epot = -22.0952302162198 | etot = -17.9368178779037 +885000 ekin = 1.70113701127997 | erot = 2.12494075622537 | epot = -22.062426804351 | etot = -18.2363490368456 +886000 ekin = 1.65197597470454 | erot = 2.40636683283032 | epot = -22.0395749533763 | etot = -17.9812321458414 +887000 ekin = 1.60780982778138 | erot = 2.52410870186223 | epot = -22.0426576240104 | etot = -17.9107390943668 +888000 ekin = 1.62736239761613 | erot = 2.54417200799014 | epot = -22.0837991546735 | etot = -17.9122647490673 +889000 ekin = 1.56260633740652 | erot = 2.93015784124605 | epot = -22.1644353768148 | etot = -17.6716711981622 +890000 ekin = 1.59045576749902 | erot = 2.98817840520079 | epot = -22.2639211219211 | etot = -17.6852869492213 +891000 ekin = 1.56285966088235 | erot = 3.45684679212867 | epot = -22.3811052217737 | etot = -17.3613987687627 +892000 ekin = 1.54330427837286 | erot = 3.72585516837654 | epot = -22.4833521640577 | etot = -17.2141927173083 +893000 ekin = 1.59146757295502 | erot = 3.57834579864882 | epot = -22.5732593414834 | etot = -17.4034459698796 +894000 ekin = 1.62137337506942 | erot = 3.47314499517383 | epot = -22.6375279090018 | etot = -17.5430095387586 +895000 ekin = 1.66705900653875 | erot = 3.49716948137661 | epot = -22.662497563479 | etot = -17.4982690755636 +896000 ekin = 1.55030206729663 | erot = 3.09080759429039 | epot = -22.6660259737766 | etot = -18.0249163121896 +897000 ekin = 1.59716300254363 | erot = 3.18847114591564 | epot = -22.6447094591962 | etot = -17.8590753107369 +898000 ekin = 1.63846223090733 | erot = 3.52423413884989 | epot = -22.574807009085 | etot = -17.4121106393278 +899000 ekin = 1.76043242630049 | erot = 3.57817463535837 | epot = -22.5017519688559 | etot = -17.163144907197 +900000 ekin = 1.79654660125389 | erot = 3.47500564830083 | epot = -22.4355321588433 | etot = -17.1639799092886 +901000 ekin = 1.90036826124628 | erot = 3.08289582473982 | epot = -22.3778122198785 | etot = -17.3945481338924 +902000 ekin = 1.86184581507154 | erot = 3.53323519892372 | epot = -22.3343178452086 | etot = -16.9392368312133 +903000 ekin = 1.82612532908577 | erot = 2.94106563490189 | epot = -22.2753946825534 | etot = -17.5082037185658 +904000 ekin = 1.83566294124649 | erot = 2.77276060856724 | epot = -22.2178118874787 | etot = -17.609388337665 +905000 ekin = 1.98760022520663 | erot = 2.39033190744944 | epot = -22.1879073477142 | etot = -17.8099752150581 +906000 ekin = 2.03479331668647 | erot = 2.3344228531767 | epot = -22.1683021524764 | etot = -17.7990859826132 +907000 ekin = 2.13854534244443 | erot = 2.49897360264341 | epot = -22.1329919803681 | etot = -17.4954730352803 +908000 ekin = 2.29292980719163 | erot = 2.19971547335618 | epot = -22.0946544988967 | etot = -17.6020092183489 +909000 ekin = 2.26088767533455 | erot = 2.08032511956132 | epot = -22.0656471637075 | etot = -17.7244343688116 +910000 ekin = 2.24374768454178 | erot = 2.05633395261294 | epot = -22.0263801495314 | etot = -17.7262985123767 +911000 ekin = 2.21169387792337 | erot = 2.07671300621837 | epot = -21.9687563877776 | etot = -17.6803495036359 +912000 ekin = 2.26342827869161 | erot = 2.19424965405253 | epot = -21.8985767358688 | etot = -17.4408988031247 +913000 ekin = 2.25810530261834 | erot = 2.15174616543858 | epot = -21.8202885496123 | etot = -17.4104370815554 +914000 ekin = 2.22041757979622 | erot = 2.11296431351484 | epot = -21.7659012518376 | etot = -17.4325193585265 +915000 ekin = 2.305853852629 | erot = 2.01195201885935 | epot = -21.7105872613034 | etot = -17.392781389815 +916000 ekin = 2.31746417556327 | erot = 2.26468835944155 | epot = -21.6446439232134 | etot = -17.0624913882086 +917000 ekin = 2.29083855376978 | erot = 2.35266040877599 | epot = -21.5981818982044 | etot = -16.9546829356586 +918000 ekin = 2.21948812241411 | erot = 2.67757709393344 | epot = -21.5768387043403 | etot = -16.6797734879928 +919000 ekin = 2.17502484144239 | erot = 2.50505023715529 | epot = -21.5962136981092 | etot = -16.9161386195115 +920000 ekin = 2.05225364762306 | erot = 2.28466235959607 | epot = -21.6248903594501 | etot = -17.287974352231 +921000 ekin = 1.95826631852647 | erot = 2.44785811644796 | epot = -21.6449866661346 | etot = -17.2388622311601 +922000 ekin = 1.8871341631229 | erot = 2.20407498665728 | epot = -21.6433309330804 | etot = -17.5521217833002 +923000 ekin = 1.85499144920616 | erot = 2.47959433101658 | epot = -21.6219980061721 | etot = -17.2874122259493 +924000 ekin = 1.82449923254666 | erot = 2.43607326145231 | epot = -21.5811225363952 | etot = -17.3205500423962 +925000 ekin = 1.75365416618008 | erot = 2.67043382132047 | epot = -21.5654424680592 | etot = -17.1413544805586 +926000 ekin = 1.82728938436798 | erot = 2.42568919453246 | epot = -21.5649010983419 | etot = -17.3119225194415 +927000 ekin = 1.71111907930132 | erot = 2.49634793928696 | epot = -21.5869585210727 | etot = -17.3794915024844 +928000 ekin = 1.64740049787453 | erot = 2.53788896245496 | epot = -21.6442370240126 | etot = -17.4589475636831 +929000 ekin = 1.68616483039842 | erot = 2.26272805894195 | epot = -21.7404415309293 | etot = -17.7915486415889 +930000 ekin = 1.8057977284304 | erot = 2.41185782525222 | epot = -21.8766034841673 | etot = -17.6589479304847 +931000 ekin = 1.84540351564131 | erot = 2.51429545093936 | epot = -22.0343594511133 | etot = -17.6746604845327 +932000 ekin = 1.91948716688521 | erot = 2.50789246144377 | epot = -22.2107200997812 | etot = -17.7833404714522 +933000 ekin = 2.08806765098505 | erot = 2.54053118824105 | epot = -22.3857648909732 | etot = -17.7571660517471 +934000 ekin = 2.15790983141932 | erot = 2.35997810661384 | epot = -22.5303312795937 | etot = -18.0124433415605 +935000 ekin = 2.25791486609556 | erot = 2.61090003818589 | epot = -22.6566492075146 | etot = -17.7878343032331 +936000 ekin = 2.2869444991169 | erot = 2.88785018878652 | epot = -22.7387712915836 | etot = -17.5639766036801 +937000 ekin = 2.2598536597864 | erot = 2.68904834283381 | epot = -22.7546509524987 | etot = -17.8057489498784 +938000 ekin = 2.28814448881807 | erot = 2.54450017128294 | epot = -22.6975117726393 | etot = -17.8648671125383 +939000 ekin = 2.22181328679759 | erot = 2.40773891474627 | epot = -22.5724060300531 | etot = -17.9428538285092 +940000 ekin = 2.19047318059934 | erot = 2.24413418480581 | epot = -22.3825999688773 | etot = -17.9479926034721 +941000 ekin = 1.97789684715541 | erot = 2.11351242298739 | epot = -22.1581596355232 | etot = -18.0667503653804 +942000 ekin = 1.82283426551466 | erot = 2.02814504753835 | epot = -21.924507961928 | etot = -18.073528648875 +943000 ekin = 1.77337816859221 | erot = 1.98390662003463 | epot = -21.7436762740981 | etot = -17.9863914854713 +944000 ekin = 1.74129354400305 | erot = 2.0257017281874 | epot = -21.6008012672991 | etot = -17.8338059951087 +945000 ekin = 1.72896560635761 | erot = 2.20997508037831 | epot = -21.5146553493683 | etot = -17.5757146626324 +946000 ekin = 1.90743436358219 | erot = 2.1370577421747 | epot = -21.4832307541302 | etot = -17.4387386483733 +947000 ekin = 2.02837986664296 | erot = 2.29971426385137 | epot = -21.4794165970972 | etot = -17.1513224666028 +948000 ekin = 2.03783072880889 | erot = 2.11465543087132 | epot = -21.4989322229724 | etot = -17.3464460632922 +949000 ekin = 2.16990164235423 | erot = 1.99168801462282 | epot = -21.5364977264078 | etot = -17.3749080694307 +950000 ekin = 2.24527818420086 | erot = 2.12106218398242 | epot = -21.6200851503178 | etot = -17.2537447821345 +951000 ekin = 2.3597779491216 | erot = 2.09437757436112 | epot = -21.7182967003277 | etot = -17.264141176845 +952000 ekin = 2.43036880894168 | erot = 2.60988991207291 | epot = -21.809899640086 | etot = -16.7696409190714 +953000 ekin = 2.58164820046362 | erot = 2.62403788420646 | epot = -21.9145443047519 | etot = -16.7088582200818 +954000 ekin = 2.67569984169079 | erot = 2.49812470218404 | epot = -21.9760951843484 | etot = -16.8022706404736 +955000 ekin = 2.87107117646036 | erot = 2.70877614839088 | epot = -22.0056490566724 | etot = -16.4258017318211 +956000 ekin = 3.09772559509693 | erot = 2.62503444551598 | epot = -21.9996173766588 | etot = -16.2768573360459 +957000 ekin = 3.06387016722013 | erot = 2.8302356311836 | epot = -21.9356950338747 | etot = -16.0415892354709 +958000 ekin = 3.15191228693313 | erot = 2.56018473190256 | epot = -21.7995256048421 | etot = -16.0874285860064 +959000 ekin = 3.17671440940348 | erot = 2.48421513931016 | epot = -21.6207768556515 | etot = -15.9598473069379 +960000 ekin = 3.01275155897339 | erot = 2.43167379369326 | epot = -21.4002125286164 | etot = -15.9557871759497 +961000 ekin = 2.94603084982365 | erot = 2.28503967366068 | epot = -21.1407696110672 | etot = -15.9096990875828 +962000 ekin = 2.87549986152936 | erot = 2.267647953911 | epot = -20.8628900961518 | etot = -15.7197422807115 +963000 ekin = 2.72736350188626 | erot = 2.02845193195215 | epot = -20.6025221949833 | etot = -15.8467067611448 +964000 ekin = 2.55766914748418 | erot = 1.90275324626823 | epot = -20.3671083670073 | etot = -15.9066859732549 +965000 ekin = 2.42945571607617 | erot = 1.87896821137786 | epot = -20.1665878867718 | etot = -15.8581639593178 +966000 ekin = 2.30432659917244 | erot = 2.05976948112514 | epot = -20.0345331150776 | etot = -15.67043703478 +967000 ekin = 2.19239153699628 | erot = 2.23712663138571 | epot = -19.9304749138275 | etot = -15.5009567454455 +968000 ekin = 2.12056467996883 | erot = 2.29258395929203 | epot = -19.8478936102002 | etot = -15.4347449709393 +969000 ekin = 2.03082359465494 | erot = 2.12561043987624 | epot = -19.8204193361233 | etot = -15.6639853015921 +970000 ekin = 2.06263818101753 | erot = 2.20772735706048 | epot = -19.8171007442084 | etot = -15.5467352061304 +971000 ekin = 2.07242738755742 | erot = 2.39359294752823 | epot = -19.8426078132443 | etot = -15.3765874781586 +972000 ekin = 2.13593664400378 | erot = 2.51621155234874 | epot = -19.8711039585162 | etot = -15.2189557621637 +973000 ekin = 2.19239588059205 | erot = 2.7181784623389 | epot = -19.8806125652289 | etot = -14.9700382222979 +974000 ekin = 2.08126353721197 | erot = 2.92742241693149 | epot = -19.8623774194061 | etot = -14.8536914652627 +975000 ekin = 2.01107833245546 | erot = 2.57768138393004 | epot = -19.8162471815015 | etot = -15.227487465116 +976000 ekin = 1.90089112618327 | erot = 2.56071712862275 | epot = -19.7674234084296 | etot = -15.3058151536236 +977000 ekin = 1.82747564686913 | erot = 2.56117528028768 | epot = -19.6916974382103 | etot = -15.3030465110535 +978000 ekin = 1.81823178972961 | erot = 2.21507357950853 | epot = -19.6525909549582 | etot = -15.61928558572 +979000 ekin = 1.86020910008096 | erot = 2.09761460513785 | epot = -19.6622349612071 | etot = -15.7044112559883 +980000 ekin = 1.89813063132926 | erot = 1.86971657434364 | epot = -19.6793196081291 | etot = -15.9114724024562 +981000 ekin = 1.96055767456426 | erot = 1.80588067180873 | epot = -19.7616283768556 | etot = -15.9951900304826 +982000 ekin = 2.04211859099614 | erot = 2.00657086473459 | epot = -19.8926418366081 | etot = -15.8439523808774 +983000 ekin = 2.08434248544596 | erot = 2.13281702823352 | epot = -20.0190963786513 | etot = -15.8019368649718 +984000 ekin = 2.28263945352173 | erot = 2.30206381624253 | epot = -20.1817376775087 | etot = -15.5970344077445 +985000 ekin = 2.33165973691136 | erot = 2.36792674462211 | epot = -20.3496337869149 | etot = -15.6500473053814 +986000 ekin = 2.3684529633035 | erot = 2.40477790490969 | epot = -20.5172631957864 | etot = -15.7440323275732 +987000 ekin = 2.44660573334744 | erot = 2.6065659753273 | epot = -20.6827873919967 | etot = -15.6296156833219 +988000 ekin = 2.48779340096933 | erot = 2.57507657272567 | epot = -20.8472563124355 | etot = -15.7843863387405 +989000 ekin = 2.62562775055464 | erot = 2.78753506888642 | epot = -20.9917314563947 | etot = -15.5785686369537 +990000 ekin = 2.71356724749209 | erot = 3.06120975805148 | epot = -21.1004443459753 | etot = -15.3256673404317 +991000 ekin = 2.84485263345538 | erot = 3.42057995732924 | epot = -21.1508216928481 | etot = -14.8853891020635 +992000 ekin = 2.88616886571365 | erot = 3.47043505670966 | epot = -21.1491979980383 | etot = -14.792594075615 +993000 ekin = 2.86101706988292 | erot = 3.4017274067487 | epot = -21.1075232078294 | etot = -14.8447787311978 +994000 ekin = 2.90016396739777 | erot = 3.68400469179703 | epot = -21.0544509503875 | etot = -14.4702822911927 +995000 ekin = 2.84836922583208 | erot = 3.86724891436252 | epot = -20.9907241498287 | etot = -14.2751060096341 +996000 ekin = 2.87268648345994 | erot = 3.37952872488952 | epot = -20.9186469223171 | etot = -14.6664317139676 +997000 ekin = 2.84260788755105 | erot = 3.24170863045241 | epot = -20.8185896660925 | etot = -14.734273148089 +998000 ekin = 2.86644419268861 | erot = 3.30788437737345 | epot = -20.6892589093676 | etot = -14.5149303393055 +999000 ekin = 2.91762607565484 | erot = 3.19659159186089 | epot = -20.5404731144169 | etot = -14.4262554469012 +1000000 ekin = 2.92466509157894 | erot = 2.67428308534003 | epot = -20.3978646538617 | etot = -14.7989164769428 + 1000000 0.12998512 -1.3075422 0.032675661 -1.092075 0.0002012331 64000 +Loop time of 34.8089 on 1 procs for 1000000 steps with 16 atoms + +Performance: 24821.244 tau/day, 28728.292 timesteps/s +99.8% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 29.15 | 29.15 | 29.15 | 0.0 | 83.74 +Bond | 0.89192 | 0.89192 | 0.89192 | 0.0 | 2.56 +Neigh | 0.009135 | 0.009135 | 0.009135 | 0.0 | 0.03 +Comm | 0.3491 | 0.3491 | 0.3491 | 0.0 | 1.00 +Output | 0.15275 | 0.15275 | 0.15275 | 0.0 | 0.44 +Modify | 3.9719 | 3.9719 | 3.9719 | 0.0 | 11.41 +Other | | 0.2836 | | | 0.81 + +Nlocal: 16.0000 ave 16 max 16 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 0.00000 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 107.000 ave 107 max 107 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 107 +Ave neighs/atom = 6.6875000 +Ave special neighs/atom = 3.7500000 +Neighbor list builds = 1000 +Dangerous builds = 0 + +write_data last_config.${number}.* nocoeff +write_data last_config.2.* nocoeff +System init for write_data ... +#write_restart last_config.${number}.* +Total wall time: 0:00:34 diff --git a/examples/PACKAGES/cgdna/examples/oxDNA2/duplex2/log.2Jul21.duplex2.g++.4 b/examples/PACKAGES/cgdna/examples/oxDNA2/duplex2/log.2Jul21.duplex2.g++.4 new file mode 100644 index 0000000000..037fb5273a --- /dev/null +++ b/examples/PACKAGES/cgdna/examples/oxDNA2/duplex2/log.2Jul21.duplex2.g++.4 @@ -0,0 +1,1183 @@ +LAMMPS (2 Jul 2021) +variable number equal 2 +variable ofreq equal 1000 +variable efreq equal 1000 +variable T equal 0.1 +variable rhos equal 0.2 + +units lj + +dimension 3 + +newton on + +boundary p p p + +atom_style hybrid bond ellipsoid oxdna +WARNING: Atom style hybrid defines both, per-type and per-atom masses; both must be set, but only per-atom masses will be used (../atom_vec_hybrid.cpp:157) +atom_modify sort 0 1.0 + +# Pair interactions require lists of neighbours to be calculated +neighbor 2.0 bin +neigh_modify every 1 delay 0 check yes + +read_data data.duplex2 +Reading data file ... + orthogonal box = (-20.000000 -20.000000 -20.000000) to (20.000000 20.000000 20.000000) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 16 atoms + reading velocities ... + 16 velocities + scanning bonds ... + 1 = max bonds/atom + 16 ellipsoids + reading bonds ... + 13 bonds +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 + 2 = max # of 1-3 neighbors + 4 = max # of 1-4 neighbors + 6 = max # of special neighbors + special bonds CPU = 0.001 seconds + read_data CPU = 0.005 seconds + +set atom * mass 3.1575 +Setting atom values ... + 16 settings made for mass + +group all type 1 4 +16 atoms in group all + +# oxDNA2 bond interactions - FENE backbone +bond_style oxdna2/fene +bond_coeff * 2.0 0.25 0.7564 +special_bonds lj 0 1 1 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 1 1 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 2 = max # of 1-3 neighbors + 4 = max # of 1-4 neighbors + 6 = max # of special neighbors + special bonds CPU = 0.000 seconds + +# oxDNA2 pair interactions +pair_style hybrid/overlay oxdna2/excv oxdna2/stk oxdna2/hbond oxdna2/xstk oxdna2/coaxstk oxdna2/dh +pair_coeff * * oxdna2/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32 +pair_coeff * * oxdna2/stk seqav ${T} 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 +pair_coeff * * oxdna2/stk seqav 0.1 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 +pair_coeff * * oxdna2/hbond seqav 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 1 4 oxdna2/hbond seqav 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 2 3 oxdna2/hbond seqav 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff * * oxdna2/xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68 +pair_coeff * * oxdna2/coaxstk 58.5 0.4 0.6 0.22 0.58 2.0 2.891592653589793 0.65 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 40.0 3.116592653589793 +pair_coeff * * oxdna2/dh ${T} ${rhos} 0.815 +pair_coeff * * oxdna2/dh 0.1 ${rhos} 0.815 +pair_coeff * * oxdna2/dh 0.1 0.2 0.815 + +# NVE ensemble +fix 1 all nve/asphere +fix 2 all langevin ${T} ${T} 2.5 457145 angmom 10 +fix 2 all langevin 0.1 ${T} 2.5 457145 angmom 10 +fix 2 all langevin 0.1 0.1 2.5 457145 angmom 10 + +timestep 1e-5 + +#comm_style tiled +fix 3 all balance 1000 1.03 shift xyz 10 1.03 +comm_modify cutoff 3.8 + +compute quat all property/atom quatw quati quatj quatk + +compute erot all erotate/asphere +compute ekin all ke +compute epot all pe +variable erot equal c_erot +variable ekin equal c_ekin +variable epot equal c_epot +variable etot equal c_erot+c_ekin+c_epot +fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes +fix 5 all print 1000 "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes + +dump out all custom ${ofreq} out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump out all custom 1000 out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump out all custom 1000 out.2.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump_modify out sort id +dump_modify out format line "%d %d %d %22.15le %22.15le %22.15le %d %d %d %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le" + +run 1000000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 5.6389877 + ghost atom cutoff = 5.6389877 + binsize = 2.8194939, bins = 15 15 15 + 5 neighbor lists, perpetual/occasional/extra = 5 0 0 + (1) pair oxdna2/excv, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard + (2) pair oxdna2/hbond, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none + (3) pair oxdna2/xstk, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none + (4) pair oxdna2/coaxstk, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none + (5) pair oxdna2/dh, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none +WARNING: Communication cutoff adjusted to 5.638987723814632 (../comm.cpp:739) +0 ekin = 2.70475393009871 | erot = 2.80172072918779 | epot = -21.0482852787267 | etot = -15.5418106194402 +Per MPI rank memory allocation (min/avg/max) = 9.320 | 9.349 | 9.434 Mbytes +Step Temp E_pair E_mol TotEng Press Volume + 0 0.12021129 -1.3610384 0.045520537 -1.1464707 5.9660461e-05 64000 +1000 ekin = 2.72013629959678 | erot = 3.04690178503881 | epot = -20.8790776967073 | etot = -15.1120396120718 +2000 ekin = 2.78009554567455 | erot = 2.50647079931992 | epot = -20.701004729611 | etot = -15.4144383846165 +3000 ekin = 2.76688166744693 | erot = 2.2821949377072 | epot = -20.5676929006559 | etot = -15.5186162955017 +4000 ekin = 2.70260128929368 | erot = 2.27403484282169 | epot = -20.4705557396832 | etot = -15.4939196075678 +5000 ekin = 2.64234178224169 | erot = 2.30733191000246 | epot = -20.4236057646951 | etot = -15.4739320724509 +6000 ekin = 2.65801663486023 | erot = 2.39066626378174 | epot = -20.4246308066932 | etot = -15.3759479080513 +7000 ekin = 2.68316645880462 | erot = 2.33063300072947 | epot = -20.4749165048777 | etot = -15.4611170453436 +8000 ekin = 2.59120591314502 | erot = 2.05477906678441 | epot = -20.5631212612485 | etot = -15.917136281319 +9000 ekin = 2.65376648779415 | erot = 2.11575091090834 | epot = -20.6881173411843 | etot = -15.9185999424818 +10000 ekin = 2.77402134048096 | erot = 2.56538522546417 | epot = -20.812379085734 | etot = -15.4729725197889 +11000 ekin = 2.67401627862025 | erot = 2.88526848066389 | epot = -20.9238620704285 | etot = -15.3645773111444 +12000 ekin = 2.69364271301779 | erot = 2.6669991161831 | epot = -21.0407385357144 | etot = -15.6800967065135 +13000 ekin = 2.78352076266191 | erot = 2.62517780661365 | epot = -21.1720350247763 | etot = -15.7633364555008 +14000 ekin = 2.84595331390102 | erot = 2.43480334086398 | epot = -21.2963503704522 | etot = -16.0155937156872 +15000 ekin = 2.8890700970034 | erot = 2.41912745049439 | epot = -21.4150808543174 | etot = -16.1068833068196 +16000 ekin = 3.00758069356165 | erot = 2.63110801135323 | epot = -21.5261697271624 | etot = -15.8874810222475 +17000 ekin = 3.08749820661837 | erot = 2.53137980117209 | epot = -21.6092998996456 | etot = -15.9904218918551 +18000 ekin = 2.97601119892239 | erot = 2.53805591696759 | epot = -21.6415056622546 | etot = -16.1274385463646 +19000 ekin = 2.88488444737123 | erot = 2.5444118447944 | epot = -21.6205491988715 | etot = -16.1912529067058 +20000 ekin = 2.65941914113237 | erot = 2.80243564233624 | epot = -21.5551870578307 | etot = -16.0933322743621 +21000 ekin = 2.57547433431651 | erot = 2.74965527534454 | epot = -21.4613716405084 | etot = -16.1362420308473 +22000 ekin = 2.53510807627336 | erot = 2.7402974758743 | epot = -21.3396334655203 | etot = -16.0642279133727 +23000 ekin = 2.40091416401759 | erot = 2.4124516066547 | epot = -21.2029723825426 | etot = -16.3896066118703 +24000 ekin = 2.35240654345194 | erot = 2.10101829600973 | epot = -21.0659817341106 | etot = -16.6125568946489 +25000 ekin = 2.24250544456845 | erot = 2.18590508798994 | epot = -20.9513445132092 | etot = -16.5229339806508 +26000 ekin = 2.15423649133118 | erot = 2.45727700237462 | epot = -20.8669379085991 | etot = -16.2554244148933 +27000 ekin = 1.93524632585278 | erot = 2.346503038014 | epot = -20.8326435236231 | etot = -16.5508941597563 +28000 ekin = 1.7694332444345 | erot = 2.4135367579459 | epot = -20.8217433644358 | etot = -16.6387733620554 +29000 ekin = 1.75176430946873 | erot = 2.21029128532635 | epot = -20.8529129923908 | etot = -16.8908573975957 +30000 ekin = 1.69211824889093 | erot = 2.43399158562863 | epot = -20.9103885167126 | etot = -16.784278682193 +31000 ekin = 1.72526028314483 | erot = 2.32450864670446 | epot = -21.0087646424164 | etot = -16.9589957125671 +32000 ekin = 1.85144315905109 | erot = 2.36996515630933 | epot = -21.1366890377948 | etot = -16.9152807224344 +33000 ekin = 1.92914135939683 | erot = 2.5515717658971 | epot = -21.2867811906613 | etot = -16.8060680653674 +34000 ekin = 1.86488201964581 | erot = 2.7040070478884 | epot = -21.4771748939502 | etot = -16.908285826416 +35000 ekin = 1.82452979540547 | erot = 2.88148899883821 | epot = -21.6928620054228 | etot = -16.9868432111791 +36000 ekin = 1.85882387630628 | erot = 2.79217577332792 | epot = -21.8984987105764 | etot = -17.2474990609422 +37000 ekin = 1.92831232163801 | erot = 2.92698521263705 | epot = -22.0979488314928 | etot = -17.2426512972178 +38000 ekin = 1.93581630417405 | erot = 2.90317027989993 | epot = -22.2686450915844 | etot = -17.4296585075104 +39000 ekin = 2.01059319335205 | erot = 2.94480429938119 | epot = -22.3778651261378 | etot = -17.4224676334046 +40000 ekin = 1.97071041215323 | erot = 2.93286391865185 | epot = -22.417858975573 | etot = -17.5142846447679 +41000 ekin = 2.0574643445695 | erot = 2.6824269801062 | epot = -22.3807196920657 | etot = -17.64082836739 +42000 ekin = 2.09112509922765 | erot = 2.69685180517687 | epot = -22.290681194375 | etot = -17.5027042899705 +43000 ekin = 2.01814513009282 | erot = 2.85562815769076 | epot = -22.1601960046645 | etot = -17.286422716881 +44000 ekin = 1.92171799748094 | erot = 2.74064501961463 | epot = -22.0236920121947 | etot = -17.3613289950991 +45000 ekin = 1.81213357146534 | erot = 2.33969637171497 | epot = -21.9013900155102 | etot = -17.7495600723299 +46000 ekin = 1.7043188626816 | erot = 2.39010616929278 | epot = -21.7951136139009 | etot = -17.7006885819265 +47000 ekin = 1.66181647983358 | erot = 2.43237478783471 | epot = -21.6929795780581 | etot = -17.5987883103898 +48000 ekin = 1.60640851287361 | erot = 2.34869900597693 | epot = -21.5897329144351 | etot = -17.6346253955845 +49000 ekin = 1.52653989846239 | erot = 2.00084533105263 | epot = -21.5040522645286 | etot = -17.9766670350135 +50000 ekin = 1.44266718781295 | erot = 2.13453634177559 | epot = -21.4422830581905 | etot = -17.8650795286019 +51000 ekin = 1.43550636726017 | erot = 2.23006562743148 | epot = -21.3792358932285 | etot = -17.7136638985368 +52000 ekin = 1.4191758391953 | erot = 2.33479503366768 | epot = -21.3396501545003 | etot = -17.5856792816373 +53000 ekin = 1.50159149702875 | erot = 2.56353973620709 | epot = -21.3318420135023 | etot = -17.2667107802664 +54000 ekin = 1.53108046116777 | erot = 2.69431714698447 | epot = -21.3427130336451 | etot = -17.1173154254928 +55000 ekin = 1.57204496790938 | erot = 2.27080332163902 | epot = -21.3613604522622 | etot = -17.5185121627138 +56000 ekin = 1.49781857063062 | erot = 2.330860220466 | epot = -21.3901677321074 | etot = -17.5614889410108 +57000 ekin = 1.50326126671596 | erot = 2.187288742759 | epot = -21.4375848454805 | etot = -17.7470348360056 +58000 ekin = 1.56885163164473 | erot = 2.04781187994394 | epot = -21.4901198020449 | etot = -17.8734562904563 +59000 ekin = 1.64456875770868 | erot = 2.09216170303409 | epot = -21.5467238774713 | etot = -17.8099934167286 +60000 ekin = 1.61691925732048 | erot = 2.29542751813002 | epot = -21.6038795960772 | etot = -17.6915328206267 +61000 ekin = 1.65884539872101 | erot = 2.10847349489138 | epot = -21.6559771193386 | etot = -17.8886582257262 +62000 ekin = 1.72309094226649 | erot = 2.30407725612054 | epot = -21.7076104489969 | etot = -17.6804422506099 +63000 ekin = 1.68827086718391 | erot = 2.43329143180642 | epot = -21.7495751902359 | etot = -17.6280128912456 +64000 ekin = 1.77925986833295 | erot = 2.4393196588264 | epot = -21.7824788671424 | etot = -17.563899339983 +65000 ekin = 1.71201207010368 | erot = 2.05565281348585 | epot = -21.8004838491856 | etot = -18.0328189655961 +66000 ekin = 1.72258841195354 | erot = 1.89221111049374 | epot = -21.8042275382219 | etot = -18.1894280157747 +67000 ekin = 1.81093386427603 | erot = 1.97149822718467 | epot = -21.8237244535633 | etot = -18.0412923621026 +68000 ekin = 1.92086731218838 | erot = 2.04627775213357 | epot = -21.8538566840958 | etot = -17.8867116197738 +69000 ekin = 1.95769420352314 | erot = 2.00695954556819 | epot = -21.8959292342321 | etot = -17.9312754851408 +70000 ekin = 2.04640812952288 | erot = 1.99675167399822 | epot = -21.938534738798 | etot = -17.8953749352769 +71000 ekin = 2.09757818208426 | erot = 2.0109977376718 | epot = -21.9790979736474 | etot = -17.8705220538913 +72000 ekin = 2.17178409239857 | erot = 2.18113395841077 | epot = -22.0154687692559 | etot = -17.6625507184466 +73000 ekin = 2.15190632785483 | erot = 2.45126940688765 | epot = -22.0387524357625 | etot = -17.43557670102 +74000 ekin = 2.16265422451121 | erot = 2.15818555561667 | epot = -22.0321747353183 | etot = -17.7113349551904 +75000 ekin = 2.14414193832402 | erot = 1.98187999045808 | epot = -22.016729180432 | etot = -17.8907072516499 +76000 ekin = 2.24692887257273 | erot = 1.89718749935317 | epot = -21.9954563023384 | etot = -17.8513399304125 +77000 ekin = 2.23929641773363 | erot = 1.79331586377885 | epot = -21.9651666845263 | etot = -17.9325544030138 +78000 ekin = 2.25131896609576 | erot = 1.81371170007281 | epot = -21.9326569846906 | etot = -17.867626318522 +79000 ekin = 2.27306161178815 | erot = 1.71185434931877 | epot = -21.8897569865356 | etot = -17.9048410254286 +80000 ekin = 2.39399894443316 | erot = 1.35732464587509 | epot = -21.8616153060319 | etot = -18.1102917157236 +81000 ekin = 2.47373459732179 | erot = 1.54787737363669 | epot = -21.8542089705402 | etot = -17.8325969995817 +82000 ekin = 2.47280496509126 | erot = 1.57756404285385 | epot = -21.8821357876168 | etot = -17.8317667796717 +83000 ekin = 2.48717741782569 | erot = 1.71069094857344 | epot = -21.9195089096536 | etot = -17.7216405432544 +84000 ekin = 2.44796638425883 | erot = 2.01404972344725 | epot = -21.9668916260736 | etot = -17.5048755183675 +85000 ekin = 2.39574083195474 | erot = 2.32413660190237 | epot = -22.0180542299228 | etot = -17.2981767960657 +86000 ekin = 2.48782292320372 | erot = 1.96978488305041 | epot = -22.0725803391445 | etot = -17.6149725328904 +87000 ekin = 2.57930151405763 | erot = 2.25709021389148 | epot = -22.1348945159439 | etot = -17.2985027879948 +88000 ekin = 2.69560248974116 | erot = 2.13715554675384 | epot = -22.1930571194781 | etot = -17.3602990829831 +89000 ekin = 2.72380030029138 | erot = 2.11665976738327 | epot = -22.2588492472982 | etot = -17.4183891796236 +90000 ekin = 2.77758204434581 | erot = 2.30871679266152 | epot = -22.3316634662031 | etot = -17.2453646291958 +91000 ekin = 2.78121426761668 | erot = 2.06238861884246 | epot = -22.3950019314359 | etot = -17.5513990449768 +92000 ekin = 2.82075935404347 | erot = 2.27555189363852 | epot = -22.4458982217014 | etot = -17.3495869740194 +93000 ekin = 2.74234324408907 | erot = 2.73218737047997 | epot = -22.4777668035592 | etot = -17.0032361889902 +94000 ekin = 2.70595529611238 | erot = 2.82191939458418 | epot = -22.4719589759705 | etot = -16.944084285274 +95000 ekin = 2.60066897821245 | erot = 2.87810504187076 | epot = -22.4346047957432 | etot = -16.95583077566 +96000 ekin = 2.62624076118218 | erot = 3.1451658917906 | epot = -22.3619497140361 | etot = -16.5905430610633 +97000 ekin = 2.53528413246974 | erot = 2.79030318337088 | epot = -22.2496930254015 | etot = -16.9241057095608 +98000 ekin = 2.63666210187964 | erot = 2.76857448865095 | epot = -22.149163040074 | etot = -16.7439264495434 +99000 ekin = 2.65483668512625 | erot = 2.78595031296346 | epot = -22.0460055113192 | etot = -16.6052185132295 +100000 ekin = 2.61516760613041 | erot = 2.20131962587004 | epot = -21.9508073892686 | etot = -17.1343201572682 +101000 ekin = 2.54624393295478 | erot = 2.36995664901277 | epot = -21.874080469839 | etot = -16.9578798878715 +102000 ekin = 2.51242302732691 | erot = 2.61025478737434 | epot = -21.821356011813 | etot = -16.6986781971117 +103000 ekin = 2.47093986976506 | erot = 2.46981056153037 | epot = -21.79403310556 | etot = -16.8532826742646 +104000 ekin = 2.46347963016625 | erot = 2.4900807375805 | epot = -21.7873646863929 | etot = -16.8338043186462 +105000 ekin = 2.3862533318021 | erot = 2.6233826819291 | epot = -21.7895340190365 | etot = -16.7798980053053 +106000 ekin = 2.31544255190003 | erot = 2.76529048503058 | epot = -21.7908248307261 | etot = -16.7100917937954 +107000 ekin = 2.35684717555668 | erot = 2.65933844478903 | epot = -21.7713781480756 | etot = -16.7551925277298 +108000 ekin = 2.29901143856413 | erot = 2.67802590245662 | epot = -21.731145444531 | etot = -16.7541081035102 +109000 ekin = 2.32828462660089 | erot = 2.93774189015161 | epot = -21.6703154087737 | etot = -16.4042888920212 +110000 ekin = 2.27463751555908 | erot = 2.84342022670562 | epot = -21.586603103015 | etot = -16.4685453607503 +111000 ekin = 2.1773579490944 | erot = 2.5067816826673 | epot = -21.4648745015602 | etot = -16.7807348697985 +112000 ekin = 2.18549959507201 | erot = 2.55181336139712 | epot = -21.2989895507538 | etot = -16.5616765942846 +113000 ekin = 2.17304263256836 | erot = 2.34739205656804 | epot = -21.1119565159274 | etot = -16.591521826791 +114000 ekin = 2.12510806931591 | erot = 2.37674761233514 | epot = -20.9271632839065 | etot = -16.4253076022555 +115000 ekin = 2.06139325414462 | erot = 2.59024149702718 | epot = -20.7601756973165 | etot = -16.1085409461447 +116000 ekin = 2.00592136714093 | erot = 2.63732939337329 | epot = -20.6295174385157 | etot = -15.9862666780015 +117000 ekin = 2.00329160062505 | erot = 2.56870813228612 | epot = -20.5296446810239 | etot = -15.9576449481127 +118000 ekin = 2.01742809755797 | erot = 2.469445062841 | epot = -20.4506063861922 | etot = -15.9637332257932 +119000 ekin = 1.98594704489151 | erot = 2.26746616716462 | epot = -20.4288828122727 | etot = -16.1754696002165 +120000 ekin = 1.94483011509439 | erot = 2.33696205000848 | epot = -20.4423833948786 | etot = -16.1605912297757 +121000 ekin = 2.12792735290839 | erot = 2.36924962566047 | epot = -20.4991944142889 | etot = -16.0020174357201 +122000 ekin = 2.10495427089311 | erot = 2.48776527931775 | epot = -20.5743254155956 | etot = -15.9816058653848 +123000 ekin = 2.17541547748968 | erot = 2.84180455684321 | epot = -20.6672573168904 | etot = -15.6500372825575 +124000 ekin = 2.1958532357068 | erot = 2.8121953989093 | epot = -20.7617372386156 | etot = -15.7536886039995 +125000 ekin = 2.23956101001647 | erot = 2.84608901602509 | epot = -20.8364418009789 | etot = -15.7507917749374 +126000 ekin = 2.29874303635711 | erot = 3.12890547205367 | epot = -20.8639002292412 | etot = -15.4362517208304 +127000 ekin = 2.34552442074452 | erot = 2.96762996381655 | epot = -20.8482814122637 | etot = -15.5351270277026 +128000 ekin = 2.38042396339137 | erot = 2.39829809100053 | epot = -20.7821422786063 | etot = -16.0034202242144 +129000 ekin = 2.38818705381736 | erot = 2.14510497375848 | epot = -20.7080443781178 | etot = -16.174752350542 +130000 ekin = 2.27293411796485 | erot = 2.06717107329833 | epot = -20.6807223801437 | etot = -16.3406171888805 +131000 ekin = 2.28550173826509 | erot = 1.94055567970244 | epot = -20.6369898880997 | etot = -16.4109324701322 +132000 ekin = 2.26691955879916 | erot = 1.7185353165747 | epot = -20.5775405075239 | etot = -16.59208563215 +133000 ekin = 2.29137866879746 | erot = 1.62868472043511 | epot = -20.5420933212006 | etot = -16.622029931968 +134000 ekin = 2.25290206497444 | erot = 1.68278061233808 | epot = -20.518309736376 | etot = -16.5826270590635 +135000 ekin = 2.14285941072852 | erot = 1.86118396103702 | epot = -20.5054969500187 | etot = -16.5014535782532 +136000 ekin = 2.12990199371937 | erot = 2.0435912460087 | epot = -20.5201047968038 | etot = -16.3466115570758 +137000 ekin = 2.07754853855318 | erot = 1.83088096227382 | epot = -20.5722472452262 | etot = -16.6638177443992 +138000 ekin = 2.15013934154991 | erot = 2.00941220949274 | epot = -20.6677795604911 | etot = -16.5082280094485 +139000 ekin = 2.20517582266495 | erot = 1.94652682269836 | epot = -20.7931525252623 | etot = -16.641449879899 +140000 ekin = 2.33731236767263 | erot = 1.96166026745084 | epot = -20.931086877455 | etot = -16.6321142423315 +141000 ekin = 2.24448516285996 | erot = 2.27879036592838 | epot = -21.0648426319456 | etot = -16.5415671031572 +142000 ekin = 2.19315323753824 | erot = 2.32670116857762 | epot = -21.1877747983341 | etot = -16.6679203922183 +143000 ekin = 2.15154828396331 | erot = 2.38826183428094 | epot = -21.313728726892 | etot = -16.7739186086477 +144000 ekin = 2.10225107667117 | erot = 2.4032470972608 | epot = -21.4354683955926 | etot = -16.9299702216606 +145000 ekin = 2.06221666396515 | erot = 2.32981540966426 | epot = -21.5580653796757 | etot = -17.1660333060463 +146000 ekin = 2.15268481715568 | erot = 2.24715096803357 | epot = -21.6452484907075 | etot = -17.2454127055182 +147000 ekin = 2.13045113501535 | erot = 2.24956262085637 | epot = -21.724100810277 | etot = -17.3440870544053 +148000 ekin = 2.14237927540745 | erot = 2.32388813542669 | epot = -21.8239853334793 | etot = -17.3577179226451 +149000 ekin = 2.13016451804412 | erot = 2.31003298264322 | epot = -21.9413859720017 | etot = -17.5011884713144 +150000 ekin = 2.11189415929176 | erot = 2.27040882248852 | epot = -22.0736176258279 | etot = -17.6913146440477 +151000 ekin = 2.08490791036349 | erot = 2.53796433942563 | epot = -22.1831326518405 | etot = -17.5602604020514 +152000 ekin = 2.05056796581082 | erot = 2.74378211496589 | epot = -22.270737007316 | etot = -17.4763869265393 +153000 ekin = 2.01058950481921 | erot = 2.62970741316335 | epot = -22.3376436760764 | etot = -17.6973467580938 +154000 ekin = 2.01943769577485 | erot = 2.39009828792402 | epot = -22.4001638198036 | etot = -17.9906278361048 +155000 ekin = 2.05430763784557 | erot = 2.40978970203085 | epot = -22.4403746514588 | etot = -17.9762773115824 +156000 ekin = 2.10246203476585 | erot = 2.31628625090994 | epot = -22.394749627823 | etot = -17.9760013421472 +157000 ekin = 2.20121785931646 | erot = 2.26047844907502 | epot = -22.3626746382072 | etot = -17.9009783298157 +158000 ekin = 2.16806247020234 | erot = 2.01859116115329 | epot = -22.3794788142261 | etot = -18.1928251828704 +159000 ekin = 2.20647608921308 | erot = 2.03708981782409 | epot = -22.3933404563958 | etot = -18.1497745493587 +160000 ekin = 2.28482979303704 | erot = 2.066722957277 | epot = -22.3929715093607 | etot = -18.0414187590467 +161000 ekin = 2.3540844152636 | erot = 2.11425691782641 | epot = -22.3845712470916 | etot = -17.9162299140016 +162000 ekin = 2.44383531112357 | erot = 2.0514217263269 | epot = -22.3873594705053 | etot = -17.8921024330549 +163000 ekin = 2.38397054654223 | erot = 2.18088509829515 | epot = -22.40469289024 | etot = -17.8398372454027 +164000 ekin = 2.36323785475508 | erot = 2.24099333696004 | epot = -22.4304254420049 | etot = -17.8261942502898 +165000 ekin = 2.42861068657717 | erot = 2.32334175306815 | epot = -22.4693846686273 | etot = -17.717432228982 +166000 ekin = 2.49646527013115 | erot = 2.76008268343012 | epot = -22.5024150074812 | etot = -17.2458670539199 +167000 ekin = 2.39742733231171 | erot = 2.66606455445543 | epot = -22.5059226951214 | etot = -17.4424308083543 +168000 ekin = 2.48222864422392 | erot = 2.12985047091145 | epot = -22.4839259607868 | etot = -17.8718468456514 +169000 ekin = 2.34389140284733 | erot = 2.23877784986576 | epot = -22.4355001459225 | etot = -17.8528308932094 +170000 ekin = 2.27819176115945 | erot = 2.38937348011867 | epot = -22.3963232925856 | etot = -17.7287580513075 +171000 ekin = 2.26183375697861 | erot = 2.66308813167602 | epot = -22.3493672389156 | etot = -17.4244453502609 +172000 ekin = 2.27023963981114 | erot = 2.54732213285246 | epot = -22.2868682454191 | etot = -17.4693064727555 +173000 ekin = 2.19713801069003 | erot = 2.39492663110728 | epot = -22.2067306662318 | etot = -17.6146660244345 +174000 ekin = 2.08128149693204 | erot = 2.65361881164583 | epot = -22.1239183165144 | etot = -17.3890180079365 +175000 ekin = 2.03179136441166 | erot = 2.65769159317987 | epot = -22.0831649919726 | etot = -17.3936820343811 +176000 ekin = 1.92235220335471 | erot = 2.46758244642915 | epot = -22.0704760764065 | etot = -17.6805414266226 +177000 ekin = 1.87676295332749 | erot = 2.76485058121257 | epot = -22.0943278887429 | etot = -17.4527143542029 +178000 ekin = 1.8196851112204 | erot = 3.06889049439809 | epot = -22.1713258315081 | etot = -17.2827502258896 +179000 ekin = 1.8323945353073 | erot = 2.97256669493282 | epot = -22.3031073057819 | etot = -17.4981460755418 +180000 ekin = 1.7862108322255 | erot = 3.29401414659433 | epot = -22.4701387604057 | etot = -17.3899137815859 +181000 ekin = 1.88518185298461 | erot = 3.13321574647634 | epot = -22.6327591209889 | etot = -17.614361521528 +182000 ekin = 1.91900100882685 | erot = 2.86862183641669 | epot = -22.7815951170127 | etot = -17.9939722717692 +183000 ekin = 2.05132570727835 | erot = 3.08267197262661 | epot = -22.9092206864366 | etot = -17.7752230065317 +184000 ekin = 2.06184088528513 | erot = 3.2007444069869 | epot = -23.026874061216 | etot = -17.764288768944 +185000 ekin = 2.09012289683652 | erot = 3.47009431072618 | epot = -23.1337090395151 | etot = -17.5734918319524 +186000 ekin = 2.23866301207357 | erot = 3.60859469886113 | epot = -23.1738137395736 | etot = -17.3265560286389 +187000 ekin = 2.42181473602157 | erot = 3.85086245359642 | epot = -23.1972395336004 | etot = -16.9245623439824 +188000 ekin = 2.41473791720851 | erot = 4.13943673363425 | epot = -23.3136601494469 | etot = -16.7594854986041 +189000 ekin = 2.40456237424771 | erot = 4.00070701501254 | epot = -23.3710796524501 | etot = -16.9658102631899 +190000 ekin = 2.39275066416795 | erot = 3.65894410977818 | epot = -23.3540165218531 | etot = -17.302321747907 +191000 ekin = 2.40766626916768 | erot = 4.27535474629226 | epot = -23.2939306874287 | etot = -16.6109096719687 +192000 ekin = 2.38476057345238 | erot = 4.12521169410233 | epot = -23.192209272554 | etot = -16.6822370049993 +193000 ekin = 2.26302104637805 | erot = 3.77794026184495 | epot = -23.0633113366603 | etot = -17.0223500284373 +194000 ekin = 2.10155057993348 | erot = 3.49922681191469 | epot = -22.9254751366501 | etot = -17.3246977448019 +195000 ekin = 2.03962481718059 | erot = 3.2525960289961 | epot = -22.7698073537311 | etot = -17.4775865075544 +196000 ekin = 2.06049369787793 | erot = 2.84778946059541 | epot = -22.5997694102264 | etot = -17.6914862517531 +197000 ekin = 2.03160567713315 | erot = 2.3737082845698 | epot = -22.4368418077992 | etot = -18.0315278460962 +198000 ekin = 2.08676704026165 | erot = 2.194825314428 | epot = -22.262282374821 | etot = -17.9806900201313 +199000 ekin = 2.05269408710196 | erot = 2.16400413646385 | epot = -22.1035002649821 | etot = -17.8868020414163 +200000 ekin = 2.01411832170952 | erot = 2.38698541496904 | epot = -21.9546297375273 | etot = -17.5535260008487 +201000 ekin = 2.01209192808751 | erot = 2.38205260132393 | epot = -21.8390879180561 | etot = -17.4449433886447 +202000 ekin = 1.90781796628429 | erot = 2.36530018659066 | epot = -21.7246902929987 | etot = -17.4515721401238 +203000 ekin = 1.80024846565405 | erot = 2.34259351313114 | epot = -21.6159774827442 | etot = -17.473135503959 +204000 ekin = 1.68484818472337 | erot = 2.41487740212517 | epot = -21.5446736069976 | etot = -17.4449480201491 +205000 ekin = 1.62792813458292 | erot = 2.51982872964279 | epot = -21.5011323457792 | etot = -17.3533754815535 +206000 ekin = 1.5541106497836 | erot = 2.69683235574068 | epot = -21.4677288967242 | etot = -17.2167858911999 +207000 ekin = 1.51044177325205 | erot = 2.86067615909032 | epot = -21.441622367489 | etot = -17.0705044351466 +208000 ekin = 1.46178623775167 | erot = 3.09687215817324 | epot = -21.3952301582475 | etot = -16.8365717623226 +209000 ekin = 1.49930719102405 | erot = 2.64986686100826 | epot = -21.3194384463854 | etot = -17.1702643943531 +210000 ekin = 1.48596643994184 | erot = 2.49507203528878 | epot = -21.2123168093856 | etot = -17.231278334155 +211000 ekin = 1.51700235708599 | erot = 2.8598249058151 | epot = -21.0854390229478 | etot = -16.7086117600467 +212000 ekin = 1.4769987196861 | erot = 2.51260914037795 | epot = -20.9565961085738 | etot = -16.9669882485097 +213000 ekin = 1.58916579351318 | erot = 2.6166112188408 | epot = -20.8229216474678 | etot = -16.6171446351139 +214000 ekin = 1.62272322843375 | erot = 2.4227328031145 | epot = -20.7122766474857 | etot = -16.6668206159375 +215000 ekin = 1.66159030501753 | erot = 2.39943071607585 | epot = -20.6287014799335 | etot = -16.5676804588401 +216000 ekin = 1.74578478011186 | erot = 2.33284367785394 | epot = -20.5774611193671 | etot = -16.4988326614013 +217000 ekin = 1.86008672447751 | erot = 2.48365359198229 | epot = -20.5783803604758 | etot = -16.234640044016 +218000 ekin = 1.8869320617951 | erot = 2.6181764126077 | epot = -20.6245681941581 | etot = -16.1194597197553 +219000 ekin = 1.99545846855293 | erot = 2.51280586705981 | epot = -20.6722755262305 | etot = -16.1640111906177 +220000 ekin = 2.07891649227179 | erot = 2.43958393551873 | epot = -20.7460641755863 | etot = -16.2275637477958 +221000 ekin = 2.07405609075884 | erot = 2.36260767845185 | epot = -20.8472863845647 | etot = -16.410622615354 +222000 ekin = 2.10307745764193 | erot = 2.54950611704615 | epot = -20.9726401140735 | etot = -16.3200565393854 +223000 ekin = 2.02990560702866 | erot = 2.36445779587678 | epot = -21.0835627182507 | etot = -16.6891993153453 +224000 ekin = 2.16888148730441 | erot = 2.48643165117696 | epot = -21.1978785829808 | etot = -16.5425654444994 +225000 ekin = 2.30521694661663 | erot = 2.40413284955322 | epot = -21.3143167094639 | etot = -16.604966913294 +226000 ekin = 2.42660104949002 | erot = 2.10961133192976 | epot = -21.4003288303493 | etot = -16.8641164489295 +227000 ekin = 2.51989265457919 | erot = 2.19538124871698 | epot = -21.4710250786465 | etot = -16.7557511753503 +228000 ekin = 2.68551344341405 | erot = 2.30229521160068 | epot = -21.5296149017979 | etot = -16.5418062467832 +229000 ekin = 2.59976522820191 | erot = 2.51681087235226 | epot = -21.5666762700903 | etot = -16.4501001695361 +230000 ekin = 2.58503359291809 | erot = 2.17214995252273 | epot = -21.5872332974481 | etot = -16.8300497520073 +231000 ekin = 2.62353866357513 | erot = 2.17431567394794 | epot = -21.5820516856057 | etot = -16.7841973480826 +232000 ekin = 2.59120478967395 | erot = 2.3400691279725 | epot = -21.567210238379 | etot = -16.6359363207325 +233000 ekin = 2.51791287332684 | erot = 2.16488342987894 | epot = -21.5519147308628 | etot = -16.869118427657 +234000 ekin = 2.48481380355981 | erot = 2.21816982784484 | epot = -21.5223665657166 | etot = -16.8193829343119 +235000 ekin = 2.41086403910156 | erot = 2.10316509959359 | epot = -21.4789613614541 | etot = -16.9649322227589 +236000 ekin = 2.40928284749447 | erot = 1.88888489131684 | epot = -21.4361120637084 | etot = -17.137944324897 +237000 ekin = 2.5630156400106 | erot = 1.7367156365967 | epot = -21.4280913003547 | etot = -17.1283600237474 +238000 ekin = 2.55765653830761 | erot = 1.9091407981951 | epot = -21.4255674324868 | etot = -16.9587700959841 +239000 ekin = 2.62181377631216 | erot = 2.06765286499141 | epot = -21.4529783008629 | etot = -16.7635116595593 +240000 ekin = 2.64076354676114 | erot = 2.31865643186815 | epot = -21.5224999667007 | etot = -16.5630799880714 +241000 ekin = 2.67609348690634 | erot = 2.52623661982357 | epot = -21.6079626104589 | etot = -16.405632503729 +242000 ekin = 2.6355810936148 | erot = 2.91329495494516 | epot = -21.6817125781001 | etot = -16.1328365295402 +243000 ekin = 2.76874739439922 | erot = 3.19547631893862 | epot = -21.7299185420903 | etot = -15.7656948287524 +244000 ekin = 2.76082392607162 | erot = 2.99738855544011 | epot = -21.7654799309604 | etot = -16.0072674494486 +245000 ekin = 2.84856552527555 | erot = 3.55610399773012 | epot = -21.7868813066435 | etot = -15.3822117836379 +246000 ekin = 2.74592112218097 | erot = 3.46897250198827 | epot = -21.7812302083599 | etot = -15.5663365841907 +247000 ekin = 2.62843885877444 | erot = 3.39159127928965 | epot = -21.7507462517777 | etot = -15.7307161137136 +248000 ekin = 2.62657990237121 | erot = 2.96254281821258 | epot = -21.6850863371036 | etot = -16.0959636165198 +249000 ekin = 2.64689987490177 | erot = 2.46750058971842 | epot = -21.6214034121613 | etot = -16.5070029475411 +250000 ekin = 2.59258413901045 | erot = 1.95894591185236 | epot = -21.5523796219696 | etot = -17.0008495711068 +251000 ekin = 2.50508525922234 | erot = 1.94700044531522 | epot = -21.4856406393062 | etot = -17.0335549347686 +252000 ekin = 2.36206141186087 | erot = 2.03422118114506 | epot = -21.4223545940682 | etot = -17.0260720010623 +253000 ekin = 2.30935060528389 | erot = 1.94736645762203 | epot = -21.3716222045376 | etot = -17.1149051416316 +254000 ekin = 2.25274596934999 | erot = 1.98706179687154 | epot = -21.3578828633466 | etot = -17.1180750971251 +255000 ekin = 2.24877704371079 | erot = 1.94793350141006 | epot = -21.3679438916481 | etot = -17.1712333465272 +256000 ekin = 2.15038460246949 | erot = 2.13536641645852 | epot = -21.3873823966766 | etot = -17.1016313777486 +257000 ekin = 2.14820686493285 | erot = 1.95792063838262 | epot = -21.401629803036 | etot = -17.2955022997205 +258000 ekin = 2.21551042205349 | erot = 2.08286212737981 | epot = -21.4265487793699 | etot = -17.1281762299366 +259000 ekin = 2.06173733154787 | erot = 1.93722502209152 | epot = -21.4284901665386 | etot = -17.4295278128993 +260000 ekin = 1.9577918439207 | erot = 2.10071945094404 | epot = -21.4431554356543 | etot = -17.3846441407896 +261000 ekin = 1.8911187304064 | erot = 2.27491420373971 | epot = -21.4742539366704 | etot = -17.3082210025243 +262000 ekin = 1.81155628887096 | erot = 2.76845022524661 | epot = -21.5133565631458 | etot = -16.9333500490283 +263000 ekin = 1.78548461411777 | erot = 2.58995272844153 | epot = -21.5741933378567 | etot = -17.1987559952974 +264000 ekin = 1.70470903910486 | erot = 2.5274072213014 | epot = -21.6543975630333 | etot = -17.4222813026271 +265000 ekin = 1.70456921180777 | erot = 2.91128169616597 | epot = -21.7314640373147 | etot = -17.1156131293409 +266000 ekin = 1.70108763348248 | erot = 3.15353043902158 | epot = -21.8059636436343 | etot = -16.9513455711302 +267000 ekin = 1.68792919988866 | erot = 2.90455900057167 | epot = -21.8707326483041 | etot = -17.2782444478438 +268000 ekin = 1.72057453763242 | erot = 2.62604659087858 | epot = -21.9225381178384 | etot = -17.5759169893274 +269000 ekin = 1.78712640141421 | erot = 2.75599254857452 | epot = -21.9527991628362 | etot = -17.4096802128475 +270000 ekin = 1.72857790804082 | erot = 2.80083154386424 | epot = -21.9488059520794 | etot = -17.4193965001743 +271000 ekin = 1.640994287753 | erot = 2.64687538276781 | epot = -21.9170243489263 | etot = -17.6291546784055 +272000 ekin = 1.58570258321566 | erot = 2.46968320121799 | epot = -21.8446210346507 | etot = -17.7892352502171 +273000 ekin = 1.63767201216311 | erot = 2.19946786706654 | epot = -21.763892987694 | etot = -17.9267531084644 +274000 ekin = 1.59847478128864 | erot = 2.30908990938624 | epot = -21.6682431397428 | etot = -17.760678449068 +275000 ekin = 1.48392569489375 | erot = 2.19949617068957 | epot = -21.5548162861331 | etot = -17.8713944205498 +276000 ekin = 1.39307584924626 | erot = 2.2303953843847 | epot = -21.4256702629284 | etot = -17.8021990292975 +277000 ekin = 1.32228191847657 | erot = 2.1398360682965 | epot = -21.3067538507251 | etot = -17.844635863952 +278000 ekin = 1.28711477346585 | erot = 2.14456329557354 | epot = -21.2240782746279 | etot = -17.7924002055885 +279000 ekin = 1.28936005013421 | erot = 2.38491555516955 | epot = -21.1735485476929 | etot = -17.4992729423892 +280000 ekin = 1.21003074239687 | erot = 2.42890760862485 | epot = -21.1457609661738 | etot = -17.506822615152 +281000 ekin = 1.29885744861012 | erot = 2.42325573855925 | epot = -21.1507776171849 | etot = -17.4286644300155 +282000 ekin = 1.25436778972229 | erot = 2.81925761990967 | epot = -21.1898482264 | etot = -17.1162228167681 +283000 ekin = 1.21194774091207 | erot = 2.81987884081121 | epot = -21.2915251292644 | etot = -17.2596985475411 +284000 ekin = 1.18679083068162 | erot = 2.85260842120881 | epot = -21.4111056079338 | etot = -17.3717063560434 +285000 ekin = 1.15631267773655 | erot = 2.90112491489691 | epot = -21.5215297070963 | etot = -17.4640921144628 +286000 ekin = 1.19279268222577 | erot = 2.85809873900115 | epot = -21.6217291121406 | etot = -17.5708376909137 +287000 ekin = 1.26041360220403 | erot = 2.73020556183284 | epot = -21.6926219129292 | etot = -17.7020027488923 +288000 ekin = 1.28925684516268 | erot = 2.41344019790327 | epot = -21.7395791395394 | etot = -18.0368820964735 +289000 ekin = 1.32958093505198 | erot = 2.27197004074864 | epot = -21.7753244471437 | etot = -18.1737734713431 +290000 ekin = 1.4064267584832 | erot = 1.9557060070415 | epot = -21.8122371335501 | etot = -18.4501043680254 +291000 ekin = 1.43917988615065 | erot = 1.90335102621722 | epot = -21.8672634472313 | etot = -18.5247325348634 +292000 ekin = 1.45457728536597 | erot = 1.91918018244106 | epot = -21.9211778027209 | etot = -18.5474203349139 +293000 ekin = 1.54025708206028 | erot = 1.76739883625601 | epot = -21.9892221465386 | etot = -18.6815662282223 +294000 ekin = 1.63446508682282 | erot = 1.8633883579886 | epot = -22.060866674135 | etot = -18.5630132293236 +295000 ekin = 1.81613674682328 | erot = 1.90284694723315 | epot = -22.1395305108089 | etot = -18.4205468167524 +296000 ekin = 1.90988071284999 | erot = 2.10518814801486 | epot = -22.2099314509302 | etot = -18.1948625900654 +297000 ekin = 1.95608798955025 | erot = 2.5270244388381 | epot = -22.2985651779531 | etot = -17.8154527495648 +298000 ekin = 2.05852737833121 | erot = 2.3890567546875 | epot = -22.3766545803973 | etot = -17.9290704473786 +299000 ekin = 2.18644111379027 | erot = 2.43787113082706 | epot = -22.4274426042906 | etot = -17.8031303596732 +300000 ekin = 2.25246210387413 | erot = 2.26714642530529 | epot = -22.4460120088432 | etot = -17.9264034796638 +301000 ekin = 2.35563337457469 | erot = 1.81807021650501 | epot = -22.457254571189 | etot = -18.2835509801093 +302000 ekin = 2.42168935052551 | erot = 2.12272372548244 | epot = -22.4773288548023 | etot = -17.9329157787943 +303000 ekin = 2.48491149619597 | erot = 1.80440720027877 | epot = -22.4997870994201 | etot = -18.2104684029453 +304000 ekin = 2.57055300825388 | erot = 1.71612576379001 | epot = -22.5136290909673 | etot = -18.2269503189234 +305000 ekin = 2.60127252345939 | erot = 1.60228999221245 | epot = -22.5079813416076 | etot = -18.3044188259357 +306000 ekin = 2.65871790294464 | erot = 1.61152940110762 | epot = -22.4881104545321 | etot = -18.2178631504798 +307000 ekin = 2.67302778478941 | erot = 1.8830323642031 | epot = -22.4558851508275 | etot = -17.899825001835 +308000 ekin = 2.66315429067323 | erot = 2.10086190187504 | epot = -22.4194774636685 | etot = -17.6554612711202 +309000 ekin = 2.6236123571105 | erot = 2.06716291649117 | epot = -22.3854389472788 | etot = -17.6946636736772 +310000 ekin = 2.65346557302719 | erot = 2.43388315560371 | epot = -22.3516578015447 | etot = -17.2643090729138 +311000 ekin = 2.62717610811363 | erot = 2.36697019339695 | epot = -22.3173746471547 | etot = -17.3232283456441 +312000 ekin = 2.76485058199114 | erot = 2.29893166031334 | epot = -22.3073398967793 | etot = -17.2435576544748 +313000 ekin = 2.91401216196316 | erot = 2.42859802814659 | epot = -22.2874024124533 | etot = -16.9447922223436 +314000 ekin = 2.91385799167526 | erot = 1.91396248978007 | epot = -22.2694749773677 | etot = -17.4416544959123 +315000 ekin = 2.93036873457078 | erot = 1.9971654878202 | epot = -22.2742890679514 | etot = -17.3467548455604 +316000 ekin = 3.03268788685593 | erot = 1.92510083916609 | epot = -22.2577485073755 | etot = -17.2999597813535 +317000 ekin = 3.08787594847642 | erot = 1.92578200831372 | epot = -22.2266829567099 | etot = -17.2130249999198 +318000 ekin = 3.13577891188629 | erot = 1.80317853500192 | epot = -22.1919523893648 | etot = -17.2529949424766 +319000 ekin = 3.20520648794486 | erot = 1.70269113516987 | epot = -22.1746193500527 | etot = -17.266721726938 +320000 ekin = 3.29702074479459 | erot = 1.53157782235333 | epot = -22.1625795722849 | etot = -17.3339810051369 +321000 ekin = 3.34504448422807 | erot = 1.62378232552192 | epot = -22.1868841736047 | etot = -17.2180573638547 +322000 ekin = 3.3846016882297 | erot = 1.76562508880768 | epot = -22.2499937572737 | etot = -17.0997669802364 +323000 ekin = 3.30048690012851 | erot = 1.7892216286022 | epot = -22.3245621231126 | etot = -17.2348535943819 +324000 ekin = 3.21996003388849 | erot = 2.07375779111672 | epot = -22.4074947135768 | etot = -17.1137768885716 +325000 ekin = 3.19320065846481 | erot = 2.34417123194123 | epot = -22.4895925051922 | etot = -16.9522206147861 +326000 ekin = 3.13574523293127 | erot = 2.35602865246342 | epot = -22.5449076606478 | etot = -17.0531337752531 +327000 ekin = 3.06250064041735 | erot = 2.56089976464128 | epot = -22.5763641985367 | etot = -16.952963793478 +328000 ekin = 2.98028960475484 | erot = 2.43252122765912 | epot = -22.5713698367084 | etot = -17.1585590042945 +329000 ekin = 3.00073413437882 | erot = 2.54697247273632 | epot = -22.5115486252435 | etot = -16.9638420181284 +330000 ekin = 2.95148018624175 | erot = 2.24389127882674 | epot = -22.4149230401772 | etot = -17.2195515751087 +331000 ekin = 2.81139520815998 | erot = 2.33469163507243 | epot = -22.3023815971863 | etot = -17.1562947539539 +332000 ekin = 2.70201927753227 | erot = 2.23446425932909 | epot = -22.1825698377624 | etot = -17.246086300901 +333000 ekin = 2.67216560815668 | erot = 2.33828838842038 | epot = -22.1081794049507 | etot = -17.0977254083736 +334000 ekin = 2.63564129688349 | erot = 2.38445162200811 | epot = -22.0521006108917 | etot = -17.0320076920001 +335000 ekin = 2.49363748710295 | erot = 2.399272024096 | epot = -21.9997553908813 | etot = -17.1068458796824 +336000 ekin = 2.32703156354334 | erot = 2.49661552302102 | epot = -21.9570264750566 | etot = -17.1333793884923 +337000 ekin = 2.4043791118503 | erot = 2.3478794486252 | epot = -21.9196555873367 | etot = -17.1673970268612 +338000 ekin = 2.41476505798853 | erot = 2.13162500253268 | epot = -21.8968278484038 | etot = -17.3504377878825 +339000 ekin = 2.43793058775615 | erot = 2.41901135922118 | epot = -21.9036252678023 | etot = -17.046683320825 +340000 ekin = 2.49068476405748 | erot = 2.44754202713575 | epot = -21.9103500540913 | etot = -16.9721232628981 +341000 ekin = 2.50472420190452 | erot = 2.6706403885761 | epot = -21.9332795205212 | etot = -16.7579149300406 +342000 ekin = 2.56647086804807 | erot = 2.61525528001598 | epot = -21.9674734299045 | etot = -16.7857472818405 +343000 ekin = 2.51904673868546 | erot = 2.5567658847258 | epot = -21.9948706708333 | etot = -16.919058047422 +344000 ekin = 2.60508290174655 | erot = 2.48137560215981 | epot = -21.9825601130742 | etot = -16.8961016091679 +345000 ekin = 2.63784673980694 | erot = 2.00206586549284 | epot = -21.9580088648428 | etot = -17.318096259543 +346000 ekin = 2.6239789191155 | erot = 2.06342882396958 | epot = -21.9497310194664 | etot = -17.2623232763813 +347000 ekin = 2.65803154655906 | erot = 2.17320914690807 | epot = -21.9288714180667 | etot = -17.0976307245996 +348000 ekin = 2.61080877072533 | erot = 2.24900638089747 | epot = -21.9064648355579 | etot = -17.0466496839351 +349000 ekin = 2.56285615073627 | erot = 2.1937399371138 | epot = -21.9340203469074 | etot = -17.1774242590573 +350000 ekin = 2.52909341929248 | erot = 2.40459665484329 | epot = -21.9698973375557 | etot = -17.0362072634199 +351000 ekin = 2.49713504985968 | erot = 2.44402722640792 | epot = -22.0050349016585 | etot = -17.0638726253909 +352000 ekin = 2.44000815118255 | erot = 2.31901759386448 | epot = -22.0353401663222 | etot = -17.2763144212752 +353000 ekin = 2.43137304156558 | erot = 2.58293559904035 | epot = -22.0473314992666 | etot = -17.0330228586607 +354000 ekin = 2.42872461457106 | erot = 2.20097693718212 | epot = -22.0593257242363 | etot = -17.4296241724831 +355000 ekin = 2.33110822210722 | erot = 2.42063070966282 | epot = -22.0716103668381 | etot = -17.3198714350681 +356000 ekin = 2.3039890517441 | erot = 2.62795866448669 | epot = -22.080434759213 | etot = -17.1484870429822 +357000 ekin = 2.31942397068985 | erot = 2.59655320443803 | epot = -22.0821788434023 | etot = -17.1662016682744 +358000 ekin = 2.31430837414593 | erot = 2.83712652813161 | epot = -22.0725021858678 | etot = -16.9210672835903 +359000 ekin = 2.31455342359143 | erot = 2.75771738371942 | epot = -22.0399086183633 | etot = -16.9676378110525 +360000 ekin = 2.33176210518075 | erot = 2.71178887834453 | epot = -22.0076297483561 | etot = -16.9640787648308 +361000 ekin = 2.27214122387374 | erot = 2.81145339858123 | epot = -21.9599421657392 | etot = -16.8763475432843 +362000 ekin = 2.29940723820844 | erot = 2.47979741361581 | epot = -21.9089639290964 | etot = -17.1297592772721 +363000 ekin = 2.53443578574921 | erot = 2.53169478867003 | epot = -21.8243312678076 | etot = -16.7582006933884 +364000 ekin = 2.6221808903385 | erot = 2.40320793892329 | epot = -21.7324712534028 | etot = -16.707082424141 +365000 ekin = 2.76755808763513 | erot = 1.8947540975541 | epot = -21.6405111096152 | etot = -16.9781989244259 +366000 ekin = 2.83684484493768 | erot = 1.5710285012185 | epot = -21.5686856667024 | etot = -17.1608123205462 +367000 ekin = 2.93599158208369 | erot = 1.35687050095059 | epot = -21.4921061985772 | etot = -17.1992441155429 +368000 ekin = 3.10052552420308 | erot = 1.34392548947254 | epot = -21.4550475057324 | etot = -17.0105964920567 +369000 ekin = 3.32282273578316 | erot = 1.44449669338119 | epot = -21.4696346052349 | etot = -16.7023151760706 +370000 ekin = 3.32440357214618 | erot = 1.32498034754182 | epot = -21.5235244672075 | etot = -16.8741405475195 +371000 ekin = 3.19604825174776 | erot = 1.32912305315216 | epot = -21.6063167417294 | etot = -17.0811454368295 +372000 ekin = 3.24806725016544 | erot = 1.57623327064971 | epot = -21.7023719429116 | etot = -16.8780714220964 +373000 ekin = 3.19541088772603 | erot = 1.59021472687952 | epot = -21.8029802274106 | etot = -17.017354612805 +374000 ekin = 3.26135365290656 | erot = 1.85216595682065 | epot = -21.8950570456544 | etot = -16.7815374359272 +375000 ekin = 3.29383454867952 | erot = 2.06907009365927 | epot = -21.9845454700942 | etot = -16.6216408277554 +376000 ekin = 3.20015592859726 | erot = 2.0735141660112 | epot = -22.0952882395876 | etot = -16.8216181449791 +377000 ekin = 3.09004850922727 | erot = 2.18294615546902 | epot = -22.1887281106778 | etot = -16.9157334459815 +378000 ekin = 3.05043348195272 | erot = 2.5158322509661 | epot = -22.263666143955 | etot = -16.6974004110362 +379000 ekin = 3.1016690882899 | erot = 2.66676931647595 | epot = -22.3392187414395 | etot = -16.5707803366736 +380000 ekin = 3.11503780325994 | erot = 2.60840931269842 | epot = -22.3678930086928 | etot = -16.6444458927345 +381000 ekin = 3.11901255865576 | erot = 2.51316745205276 | epot = -22.3595089455393 | etot = -16.7273289348308 +382000 ekin = 3.08198965968255 | erot = 2.5421648927191 | epot = -22.3171355116317 | etot = -16.6929809592301 +383000 ekin = 3.08529312773613 | erot = 2.60747953716507 | epot = -22.268125758685 | etot = -16.5753530937838 +384000 ekin = 3.06435455473088 | erot = 2.5900830521811 | epot = -22.2008329018472 | etot = -16.5463952949352 +385000 ekin = 2.96902524929805 | erot = 2.39487400705592 | epot = -22.1308203226012 | etot = -16.7669210662472 +386000 ekin = 2.94398257253719 | erot = 2.35624989673771 | epot = -22.097449180614 | etot = -16.7972167113391 +387000 ekin = 2.90022143016868 | erot = 2.26095116124134 | epot = -22.0819030869076 | etot = -16.9207304954976 +388000 ekin = 2.8138912698874 | erot = 2.13357533996898 | epot = -22.1104886391662 | etot = -17.1630220293098 +389000 ekin = 2.86348776127275 | erot = 2.05672668796342 | epot = -22.1951193908387 | etot = -17.2749049416025 +390000 ekin = 2.77165535979993 | erot = 2.15365739500144 | epot = -22.3132389416922 | etot = -17.3879261868909 +391000 ekin = 2.77370479657942 | erot = 2.4364705135603 | epot = -22.4565212308196 | etot = -17.2463459206799 +392000 ekin = 2.76583278927009 | erot = 2.40676865464344 | epot = -22.5818573009823 | etot = -17.4092558570688 +393000 ekin = 2.80900024157666 | erot = 2.37169277236104 | epot = -22.7086594996881 | etot = -17.5279664857504 +394000 ekin = 2.87248081177528 | erot = 2.11617756482181 | epot = -22.817077559155 | etot = -17.8284191825579 +395000 ekin = 2.88095223032725 | erot = 2.05659355426911 | epot = -22.8808764228086 | etot = -17.9433306382122 +396000 ekin = 2.93418192071606 | erot = 2.30478582950603 | epot = -22.909791586559 | etot = -17.6708238363369 +397000 ekin = 2.98163695220519 | erot = 2.0855898498222 | epot = -22.9183417641046 | etot = -17.8511149620772 +398000 ekin = 2.98779262545457 | erot = 2.15192082323126 | epot = -22.9077750506592 | etot = -17.7680616019734 +399000 ekin = 2.9186569326616 | erot = 1.8288713531934 | epot = -22.8818662686362 | etot = -18.1343379827812 +400000 ekin = 2.90983153702367 | erot = 1.84033842076742 | epot = -22.8234620217339 | etot = -18.0732920639428 +401000 ekin = 2.82193337892224 | erot = 1.6578555593453 | epot = -22.7432945990589 | etot = -18.2635056607914 +402000 ekin = 2.71231263059642 | erot = 1.81039261887858 | epot = -22.6593739244624 | etot = -18.1366686749874 +403000 ekin = 2.66036084604537 | erot = 2.02498533176239 | epot = -22.6001656022283 | etot = -17.9148194244206 +404000 ekin = 2.57068790240532 | erot = 1.93095594974712 | epot = -22.5470237392586 | etot = -18.0453798871062 +405000 ekin = 2.56561221793731 | erot = 1.68739793089187 | epot = -22.480605837446 | etot = -18.2275956886168 +406000 ekin = 2.49833625235123 | erot = 1.48188239687454 | epot = -22.4539596863985 | etot = -18.4737410371727 +407000 ekin = 2.49021560270503 | erot = 1.58928602542158 | epot = -22.4700632657781 | etot = -18.3905616376515 +408000 ekin = 2.38021871164252 | erot = 1.73637964468713 | epot = -22.4959988290514 | etot = -18.3794004727217 +409000 ekin = 2.29461436770134 | erot = 1.95814824220593 | epot = -22.5206422995264 | etot = -18.2678796896191 +410000 ekin = 2.25736852989509 | erot = 2.37993089507073 | epot = -22.5486602508665 | etot = -17.9113608259006 +411000 ekin = 2.21596387204284 | erot = 2.74396072623451 | epot = -22.583881506389 | etot = -17.6239569081116 +412000 ekin = 2.20994969108704 | erot = 2.86593591747043 | epot = -22.6211739699294 | etot = -17.5452883613719 +413000 ekin = 2.24794753023264 | erot = 3.00088801127007 | epot = -22.6476708665279 | etot = -17.3988353250252 +414000 ekin = 2.14160819513188 | erot = 3.01120724411838 | epot = -22.6376025284285 | etot = -17.4847870891782 +415000 ekin = 2.14491177835012 | erot = 2.9321520286022 | epot = -22.590258571887 | etot = -17.5131947649346 +416000 ekin = 2.10193769123488 | erot = 2.9810162412694 | epot = -22.5118964710203 | etot = -17.428942538516 +417000 ekin = 2.07066635663257 | erot = 2.60488497680181 | epot = -22.4065047924712 | etot = -17.7309534590368 +418000 ekin = 2.07740574841324 | erot = 2.73315084489172 | epot = -22.2898027885341 | etot = -17.4792461952291 +419000 ekin = 1.98085199943438 | erot = 2.44747426745328 | epot = -22.1631336837142 | etot = -17.7348074168266 +420000 ekin = 1.95880289350343 | erot = 2.55129347690091 | epot = -22.0482798158308 | etot = -17.5381834454264 +421000 ekin = 1.99828966251063 | erot = 2.20799196393452 | epot = -21.939552558565 | etot = -17.7332709321198 +422000 ekin = 1.93529999466693 | erot = 2.35358466371903 | epot = -21.8587107341243 | etot = -17.5698260757383 +423000 ekin = 1.84611594143483 | erot = 2.25228565887447 | epot = -21.8206559909772 | etot = -17.7222543906679 +424000 ekin = 1.92830552207793 | erot = 1.92697824358691 | epot = -21.777972970412 | etot = -17.9226892047471 +425000 ekin = 1.87968918412308 | erot = 2.04838530467779 | epot = -21.7345809752814 | etot = -17.8065064864805 +426000 ekin = 1.8556412970146 | erot = 2.13991381782217 | epot = -21.7013928959338 | etot = -17.705837781097 +427000 ekin = 1.86146118829918 | erot = 2.21385079035769 | epot = -21.6794945474638 | etot = -17.6041825688069 +428000 ekin = 1.93768082509308 | erot = 2.13363270684652 | epot = -21.6773435664085 | etot = -17.6060300344689 +429000 ekin = 1.99945365892738 | erot = 2.19562243163489 | epot = -21.7054036465602 | etot = -17.5103275559979 +430000 ekin = 2.09718842591563 | erot = 2.3463320213618 | epot = -21.7371065581007 | etot = -17.2935861108232 +431000 ekin = 2.17999939901921 | erot = 2.30896770967013 | epot = -21.7414717361359 | etot = -17.2525046274466 +432000 ekin = 2.25849803136377 | erot = 2.37380554728505 | epot = -21.7217776472071 | etot = -17.0894740685582 +433000 ekin = 2.24429029360165 | erot = 2.44429429006342 | epot = -21.7017276929565 | etot = -17.0131431092914 +434000 ekin = 2.35406385747883 | erot = 2.4892079011312 | epot = -21.700781219286 | etot = -16.8575094606759 +435000 ekin = 2.24737880153531 | erot = 2.4659516348531 | epot = -21.7063339873009 | etot = -16.9930035509125 +436000 ekin = 2.23230082302258 | erot = 2.42669718967156 | epot = -21.7123927262194 | etot = -17.0533947135252 +437000 ekin = 2.18383665113533 | erot = 2.24664794927378 | epot = -21.7330413026265 | etot = -17.3025567022174 +438000 ekin = 2.12966913497234 | erot = 2.37196465183249 | epot = -21.7485872315853 | etot = -17.2469534447805 +439000 ekin = 2.09098898533768 | erot = 2.12933040903342 | epot = -21.7361412880266 | etot = -17.5158218936555 +440000 ekin = 2.10148571824467 | erot = 2.27793618592804 | epot = -21.7175254276831 | etot = -17.3381035235104 +441000 ekin = 2.15532867982074 | erot = 2.31865640213706 | epot = -21.6981903134064 | etot = -17.2242052314486 +442000 ekin = 2.09243597225367 | erot = 2.72841000678813 | epot = -21.6523738209046 | etot = -16.8315278418628 +443000 ekin = 2.15730367932181 | erot = 2.62581799220039 | epot = -21.5875809663666 | etot = -16.8044592948444 +444000 ekin = 2.18263017921483 | erot = 2.37014829408738 | epot = -21.504824150884 | etot = -16.9520456775818 +445000 ekin = 2.05145531635821 | erot = 2.17678227962618 | epot = -21.4326062625765 | etot = -17.2043686665921 +446000 ekin = 2.01020948431942 | erot = 2.37374422099264 | epot = -21.3645246084936 | etot = -16.9805709031815 +447000 ekin = 1.89588317933144 | erot = 2.4528908983781 | epot = -21.2952162464884 | etot = -16.9464421687789 +448000 ekin = 1.94918640966662 | erot = 2.39703928139391 | epot = -21.2255467455683 | etot = -16.8793210545077 +449000 ekin = 1.91481408982834 | erot = 2.28318705908368 | epot = -21.1543411876569 | etot = -16.9563400387449 +450000 ekin = 1.87784973555253 | erot = 2.1248579551631 | epot = -21.1046206355142 | etot = -17.1019129447986 +451000 ekin = 1.97352148815437 | erot = 1.86756984773945 | epot = -21.0797511236577 | etot = -17.2386597877639 +452000 ekin = 2.04286189285633 | erot = 1.80786168372332 | epot = -21.0697245816185 | etot = -17.2190010050389 +453000 ekin = 2.1384860647166 | erot = 1.67376501662041 | epot = -21.0904747395762 | etot = -17.2782236582392 +454000 ekin = 2.15164945191103 | erot = 2.04932890222847 | epot = -21.1143650676537 | etot = -16.9133867135142 +455000 ekin = 2.19477985095236 | erot = 2.16695764653243 | epot = -21.1370563835237 | etot = -16.7753188860389 +456000 ekin = 2.19740261168692 | erot = 2.10215601431886 | epot = -21.1403905144291 | etot = -16.8408318884233 +457000 ekin = 2.20601557977637 | erot = 2.13174146926998 | epot = -21.1647757949628 | etot = -16.8270187459165 +458000 ekin = 2.22693497466223 | erot = 2.00297660996761 | epot = -21.2133843445383 | etot = -16.9834727599084 +459000 ekin = 2.40306935261522 | erot = 2.07528469876346 | epot = -21.2759346114691 | etot = -16.7975805600904 +460000 ekin = 2.40922164106694 | erot = 2.23665563054137 | epot = -21.352281719657 | etot = -16.7064044480486 +461000 ekin = 2.42000759716796 | erot = 2.33121048923215 | epot = -21.4035924354774 | etot = -16.6523743490773 +462000 ekin = 2.40697031331563 | erot = 2.14275899197066 | epot = -21.4310008578854 | etot = -16.8812715525991 +463000 ekin = 2.27880926024471 | erot = 1.9450755692431 | epot = -21.4477328212938 | etot = -17.223847991806 +464000 ekin = 2.26372093546448 | erot = 1.71662964564964 | epot = -21.4283876808071 | etot = -17.448037099693 +465000 ekin = 2.24118575319934 | erot = 1.89668392003691 | epot = -21.4003434057031 | etot = -17.2624737324669 +466000 ekin = 2.31013461832327 | erot = 2.00757055155837 | epot = -21.3608207821978 | etot = -17.0431156123162 +467000 ekin = 2.4339696791395 | erot = 2.21874571911994 | epot = -21.3053258443236 | etot = -16.6526104460642 +468000 ekin = 2.41021440017844 | erot = 1.97479498639513 | epot = -21.233460271117 | etot = -16.8484508845435 +469000 ekin = 2.31578531471236 | erot = 1.99784256139238 | epot = -21.1821517028579 | etot = -16.8685238267532 +470000 ekin = 2.20506875315387 | erot = 1.87887773816032 | epot = -21.1430826832857 | etot = -17.0591361919715 +471000 ekin = 2.13628837828128 | erot = 1.99677754816705 | epot = -21.1290504063502 | etot = -16.9959844799019 +472000 ekin = 2.10129418295658 | erot = 2.2405661236519 | epot = -21.1431228234939 | etot = -16.8012625168854 +473000 ekin = 2.15627273414978 | erot = 2.19993171978119 | epot = -21.1733300414642 | etot = -16.8171255875332 +474000 ekin = 2.14076076010815 | erot = 2.25446359877068 | epot = -21.221006263287 | etot = -16.8257819044082 +475000 ekin = 2.13812755485179 | erot = 2.40498819643 | epot = -21.2865391851112 | etot = -16.7434234338294 +476000 ekin = 2.06858808991819 | erot = 2.38860590776937 | epot = -21.3434845601286 | etot = -16.8862905624411 +477000 ekin = 2.07006440492054 | erot = 2.75406570213518 | epot = -21.3922756308481 | etot = -16.5681455237924 +478000 ekin = 2.18444735013641 | erot = 2.70772307923246 | epot = -21.4343815992348 | etot = -16.5422111698659 +479000 ekin = 2.19942421685254 | erot = 3.01662715265702 | epot = -21.4597482066207 | etot = -16.2436968371111 +480000 ekin = 2.0967634494608 | erot = 2.92438195103725 | epot = -21.4845635218897 | etot = -16.4634181213917 +481000 ekin = 2.05435750946167 | erot = 2.89946489225791 | epot = -21.5058659565645 | etot = -16.5520435548449 +482000 ekin = 1.93906176361666 | erot = 2.94002477322929 | epot = -21.5133252549456 | etot = -16.6342387180996 +483000 ekin = 1.92495432631112 | erot = 3.07385412342424 | epot = -21.5077333577219 | etot = -16.5089249079865 +484000 ekin = 1.92789828975046 | erot = 3.32856329414662 | epot = -21.5066449871573 | etot = -16.2501834032602 +485000 ekin = 1.91268771816293 | erot = 3.09586191791501 | epot = -21.4833052647976 | etot = -16.4747556287196 +486000 ekin = 1.78380043967851 | erot = 3.03494358258128 | epot = -21.4585833289245 | etot = -16.6398393066647 +487000 ekin = 1.66173050700684 | erot = 2.86000419946662 | epot = -21.4169307099541 | etot = -16.8951960034807 +488000 ekin = 1.6861803912259 | erot = 2.81632446798658 | epot = -21.3632748840396 | etot = -16.8607700248271 +489000 ekin = 1.70799546417837 | erot = 2.42402499535219 | epot = -21.2867408576365 | etot = -17.1547203981059 +490000 ekin = 1.76758231238948 | erot = 2.12271247808917 | epot = -21.2077046249558 | etot = -17.3174098344771 +491000 ekin = 1.76306663296675 | erot = 2.86063070746491 | epot = -21.1723403735264 | etot = -16.5486430330947 +492000 ekin = 1.76846685645936 | erot = 2.89751715915282 | epot = -21.1637728122907 | etot = -16.4977887966785 +493000 ekin = 1.78426656200509 | erot = 3.00701255652278 | epot = -21.177366494112 | etot = -16.3860873755841 +494000 ekin = 1.86551817373627 | erot = 2.87131917289129 | epot = -21.202525065023 | etot = -16.4656877183955 +495000 ekin = 1.90523259261305 | erot = 3.14209453322629 | epot = -21.199815438883 | etot = -16.1524883130437 +496000 ekin = 1.98335126636148 | erot = 2.98540814212653 | epot = -21.1906478493248 | etot = -16.2218884408368 +497000 ekin = 2.06634825728685 | erot = 2.95896590871823 | epot = -21.1621551542808 | etot = -16.1368409882758 +498000 ekin = 2.1527240028484 | erot = 3.02117382743694 | epot = -21.1193839391164 | etot = -15.9454861088311 +499000 ekin = 2.17953814058362 | erot = 2.7956528806284 | epot = -21.1071993938559 | etot = -16.1320083726439 +500000 ekin = 2.18279625505131 | erot = 2.73392245688628 | epot = -21.1153073171068 | etot = -16.1985886051692 +501000 ekin = 2.14934456304168 | erot = 3.04941214942239 | epot = -21.1511220012823 | etot = -15.9523652888182 +502000 ekin = 2.24815210672164 | erot = 3.29370999045842 | epot = -21.191424172631 | etot = -15.649562075451 +503000 ekin = 2.24373540198307 | erot = 3.32111123848707 | epot = -21.2742763532379 | etot = -15.7094297127677 +504000 ekin = 2.2380398968446 | erot = 3.0991412841911 | epot = -21.3733619536839 | etot = -16.0361807726482 +505000 ekin = 2.30102605486345 | erot = 3.19612982312041 | epot = -21.4437932084701 | etot = -15.9466373304862 +506000 ekin = 2.36370831780387 | erot = 3.19995831891699 | epot = -21.4937378126654 | etot = -15.9300711759445 +507000 ekin = 2.42840177155352 | erot = 2.81713782658399 | epot = -21.5299907326272 | etot = -16.2844511344897 +508000 ekin = 2.3496800529995 | erot = 2.32969767190605 | epot = -21.5629586677094 | etot = -16.8835809428039 +509000 ekin = 2.31587277784011 | erot = 2.32044150422015 | epot = -21.5800976653978 | etot = -16.9437833833375 +510000 ekin = 2.39415651583834 | erot = 2.32489194511628 | epot = -21.5909228684583 | etot = -16.8718744075037 +511000 ekin = 2.37917219486121 | erot = 2.25376804515916 | epot = -21.6001349490033 | etot = -16.967194708983 +512000 ekin = 2.37938693355446 | erot = 1.92023885988138 | epot = -21.6111071917155 | etot = -17.3114813982796 +513000 ekin = 2.4068585795957 | erot = 2.08600293524445 | epot = -21.6155439119537 | etot = -17.1226823971136 +514000 ekin = 2.46724209327195 | erot = 2.20949952828796 | epot = -21.6418209909607 | etot = -16.9650793694008 +515000 ekin = 2.44642692672663 | erot = 2.02689318439863 | epot = -21.6526616938248 | etot = -17.1793415826996 +516000 ekin = 2.34670203308752 | erot = 2.15396125943245 | epot = -21.6543094777108 | etot = -17.1536461851908 +517000 ekin = 2.33878155191648 | erot = 2.33294662418984 | epot = -21.6421766473136 | etot = -16.9704484712073 +518000 ekin = 2.31107655587532 | erot = 2.15491971030968 | epot = -21.6319254773268 | etot = -17.1659292111418 +519000 ekin = 2.29496119138257 | erot = 2.00492803313419 | epot = -21.6347632719486 | etot = -17.3348740474319 +520000 ekin = 2.15339792107183 | erot = 2.04457004756215 | epot = -21.6507830510492 | etot = -17.4528150824152 +521000 ekin = 2.20801983612424 | erot = 2.16352250997097 | epot = -21.6715366002404 | etot = -17.2999942541452 +522000 ekin = 2.28349511901188 | erot = 2.12203826388418 | epot = -21.7067045500198 | etot = -17.3011711671237 +523000 ekin = 2.28326140498731 | erot = 2.24730546524176 | epot = -21.7500540285239 | etot = -17.2194871582948 +524000 ekin = 2.41430391300397 | erot = 2.30243275419766 | epot = -21.7887659971603 | etot = -17.0720293299587 +525000 ekin = 2.46563871852188 | erot = 2.61576568534199 | epot = -21.8311918688001 | etot = -16.7497874649362 +526000 ekin = 2.44766866227825 | erot = 2.73251608599186 | epot = -21.8542594932618 | etot = -16.6740747449916 +527000 ekin = 2.49415128662349 | erot = 2.97647354160827 | epot = -21.8654961412296 | etot = -16.3948713129978 +528000 ekin = 2.63765981818831 | erot = 2.90145202540003 | epot = -21.8539949982376 | etot = -16.3148831546493 +529000 ekin = 2.61312965886424 | erot = 2.63810638896208 | epot = -21.812302902124 | etot = -16.5610668542976 +530000 ekin = 2.61679294703744 | erot = 2.67053467520177 | epot = -21.7690607572615 | etot = -16.4817331350223 +531000 ekin = 2.48476384385704 | erot = 2.71653952081309 | epot = -21.7165365440457 | etot = -16.5152331793756 +532000 ekin = 2.48793546388986 | erot = 2.65738787716549 | epot = -21.6564484956905 | etot = -16.5111251546351 +533000 ekin = 2.41456215119459 | erot = 2.64489299438354 | epot = -21.639072482786 | etot = -16.5796173372078 +534000 ekin = 2.29777827242778 | erot = 2.74873035111879 | epot = -21.6608745386251 | etot = -16.6143659150785 +535000 ekin = 2.26088917727546 | erot = 2.83473610922371 | epot = -21.6981866268834 | etot = -16.6025613403843 +536000 ekin = 2.20131769719344 | erot = 2.88353145322202 | epot = -21.755248482858 | etot = -16.6703993324425 +537000 ekin = 2.13082565508333 | erot = 2.91286112998273 | epot = -21.7996526043394 | etot = -16.7559658192733 +538000 ekin = 2.05764519091759 | erot = 2.95211539945559 | epot = -21.8281285512857 | etot = -16.8183679609125 +539000 ekin = 1.97437084021552 | erot = 2.9097074061232 | epot = -21.8443187140803 | etot = -16.9602404677416 +540000 ekin = 1.95684111980203 | erot = 2.5383191039217 | epot = -21.8503067819182 | etot = -17.3551465581945 +541000 ekin = 2.01269488661909 | erot = 2.53569793957034 | epot = -21.8275993102503 | etot = -17.2792064840608 +542000 ekin = 2.03504454490702 | erot = 2.82348341864015 | epot = -21.8036330964533 | etot = -16.9451051329062 +543000 ekin = 2.03020807235322 | erot = 3.03370589872126 | epot = -21.8016375466952 | etot = -16.7377235756207 +544000 ekin = 2.05269052857014 | erot = 2.58799516983488 | epot = -21.8033388274283 | etot = -17.1626531290233 +545000 ekin = 2.15141870706984 | erot = 2.40428159733159 | epot = -21.8230803043774 | etot = -17.267379999976 +546000 ekin = 2.2730009121937 | erot = 2.20572730047347 | epot = -21.8690779560947 | etot = -17.3903497434275 +547000 ekin = 2.35364033678083 | erot = 2.18498069722327 | epot = -21.9465784737244 | etot = -17.4079574397203 +548000 ekin = 2.43307589906691 | erot = 2.42293816342305 | epot = -22.0303494741984 | etot = -17.1743354117084 +549000 ekin = 2.54088590896235 | erot = 2.9095237719503 | epot = -22.1200487075607 | etot = -16.6696390266481 +550000 ekin = 2.56016664627933 | erot = 2.68398103895175 | epot = -22.1766985156474 | etot = -16.9325508304163 +551000 ekin = 2.72417690556182 | erot = 2.72891308441098 | epot = -22.2176306990374 | etot = -16.7645407090646 +552000 ekin = 2.72596785657269 | erot = 2.42255580538622 | epot = -22.2421241890566 | etot = -17.0936005270977 +553000 ekin = 2.78508615614578 | erot = 2.39994410027753 | epot = -22.2425789733829 | etot = -17.0575487169596 +554000 ekin = 2.81568582164755 | erot = 2.30970996795577 | epot = -22.212027345066 | etot = -17.0866315554627 +555000 ekin = 2.79395520813526 | erot = 2.24542312270129 | epot = -22.1601855930767 | etot = -17.1208072622401 +556000 ekin = 2.81007006192488 | erot = 2.29040711319253 | epot = -22.0853198857605 | etot = -16.9848427106431 +557000 ekin = 2.86720343014862 | erot = 2.06281031141602 | epot = -21.9979009255864 | etot = -17.0678871840218 +558000 ekin = 2.75377155929318 | erot = 2.13725587394243 | epot = -21.8668776496783 | etot = -16.9758502164427 +559000 ekin = 2.72157639522917 | erot = 2.20102610126835 | epot = -21.7194344747873 | etot = -16.7968319782898 +560000 ekin = 2.70961845092833 | erot = 2.59816182534515 | epot = -21.5357151296295 | etot = -16.227934853356 +561000 ekin = 2.57949305004174 | erot = 2.96337390027736 | epot = -21.3145814838314 | etot = -15.7717145335123 +562000 ekin = 2.32107059805592 | erot = 2.51143214075166 | epot = -21.0085235339443 | etot = -16.1760207951367 +563000 ekin = 2.24732443728587 | erot = 2.3879005093821 | epot = -20.8154509884486 | etot = -16.1802260417806 +564000 ekin = 2.33791301852595 | erot = 2.68335523927297 | epot = -20.8066084764155 | etot = -15.7853402186166 +565000 ekin = 2.32510209076373 | erot = 2.8508896099138 | epot = -20.6671406909933 | etot = -15.4911489903158 +566000 ekin = 2.20543771892934 | erot = 2.35706719035764 | epot = -20.5538554522387 | etot = -15.9913505429518 +567000 ekin = 2.11804196373779 | erot = 2.40185685943714 | epot = -20.4713035116105 | etot = -15.9514046884356 +568000 ekin = 2.22268682011225 | erot = 2.33307148175166 | epot = -20.3820924859934 | etot = -15.8263341841295 +569000 ekin = 2.09547585997744 | erot = 2.62261207858624 | epot = -20.2691455782377 | etot = -15.551057639674 +570000 ekin = 2.01580186947893 | erot = 2.33698172151258 | epot = -20.1658958603531 | etot = -15.8131122693616 +571000 ekin = 2.08039178219766 | erot = 2.36534037676708 | epot = -20.0857600662143 | etot = -15.6400279072495 +572000 ekin = 2.11927324959301 | erot = 2.30282149950167 | epot = -20.0451987594363 | etot = -15.6231040103417 +573000 ekin = 2.04663917529184 | erot = 2.3397266793933 | epot = -20.0317480451745 | etot = -15.6453821904893 +574000 ekin = 2.09962922460146 | erot = 2.19990447249075 | epot = -20.0660831814167 | etot = -15.7665494843245 +575000 ekin = 2.2724213043473 | erot = 2.2560950849323 | epot = -20.1489560418924 | etot = -15.6204396526128 +576000 ekin = 2.39016715864533 | erot = 2.22255127128227 | epot = -20.2603613797455 | etot = -15.6476429498179 +577000 ekin = 2.3641256374076 | erot = 2.30198986937696 | epot = -20.3752615554293 | etot = -15.7091460486447 +578000 ekin = 2.49125580710772 | erot = 2.4266078622766 | epot = -20.502520702598 | etot = -15.5846570332137 +579000 ekin = 2.56165048094701 | erot = 2.83228223321267 | epot = -20.636891122234 | etot = -15.2429584080743 +580000 ekin = 2.5985707631887 | erot = 2.86537715884212 | epot = -20.7281657529396 | etot = -15.2642178309088 +581000 ekin = 2.75751410053994 | erot = 3.201023040261 | epot = -20.7812637399727 | etot = -14.8227265991717 +582000 ekin = 2.72186433456447 | erot = 2.73127793091817 | epot = -20.8119294300411 | etot = -15.3587871645585 +583000 ekin = 2.62273499225684 | erot = 2.46109328120281 | epot = -20.82747146712 | etot = -15.7436431936604 +584000 ekin = 2.65791178050006 | erot = 2.52854330537007 | epot = -20.8318022222691 | etot = -15.645347136399 +585000 ekin = 2.61150125120866 | erot = 2.75251814406213 | epot = -20.8423541781131 | etot = -15.4783347828423 +586000 ekin = 2.56490529514568 | erot = 2.76819989101126 | epot = -20.8235905183123 | etot = -15.4904853321554 +587000 ekin = 2.44377479420657 | erot = 2.55313165140451 | epot = -20.787396769062 | etot = -15.7904903234509 +588000 ekin = 2.54600679288766 | erot = 2.00966564099397 | epot = -20.7414898497507 | etot = -16.185817415869 +589000 ekin = 2.42615788479235 | erot = 1.87395944544066 | epot = -20.7098613915245 | etot = -16.4097440612915 +590000 ekin = 2.42016761405663 | erot = 1.71977054763906 | epot = -20.682469148408 | etot = -16.5425309867123 +591000 ekin = 2.38760737800274 | erot = 1.84146371886645 | epot = -20.6722800899364 | etot = -16.4432089930672 +592000 ekin = 2.31657054464672 | erot = 1.96505693643487 | epot = -20.7031666775492 | etot = -16.4215391964676 +593000 ekin = 2.23530102205172 | erot = 1.81162578854723 | epot = -20.7586825210074 | etot = -16.7117557104085 +594000 ekin = 2.21499618339367 | erot = 1.98026347110265 | epot = -20.8347835084303 | etot = -16.6395238539339 +595000 ekin = 2.1735109206856 | erot = 2.27153694538259 | epot = -20.9049251653826 | etot = -16.4598772993144 +596000 ekin = 2.13536721422193 | erot = 2.30838064667278 | epot = -20.9560792436845 | etot = -16.5123313827898 +597000 ekin = 2.05769259414588 | erot = 2.38187665146498 | epot = -20.9894852475388 | etot = -16.5499160019279 +598000 ekin = 2.05674814899196 | erot = 2.42014079217233 | epot = -21.0044596830553 | etot = -16.527570741891 +599000 ekin = 1.95864026709732 | erot = 2.39995075981931 | epot = -20.9740626757897 | etot = -16.6154716488731 +600000 ekin = 1.92217253864592 | erot = 2.27990516657273 | epot = -20.9285242414045 | etot = -16.7264465361859 +601000 ekin = 1.98018146832032 | erot = 2.20890815410652 | epot = -20.8846332261986 | etot = -16.6955436037718 +602000 ekin = 1.9018407158324 | erot = 2.15913830500077 | epot = -20.8542535717533 | etot = -16.7932745509201 +603000 ekin = 1.874147854724 | erot = 2.20472694083471 | epot = -20.8408046427066 | etot = -16.7619298471479 +604000 ekin = 1.8956696755394 | erot = 2.33936411504487 | epot = -20.8324704464838 | etot = -16.5974366558996 +605000 ekin = 1.90221219714077 | erot = 2.24714804248294 | epot = -20.8240875666932 | etot = -16.6747273270695 +606000 ekin = 1.98126421387451 | erot = 2.18362681345851 | epot = -20.831816133263 | etot = -16.6669251059299 +607000 ekin = 1.96256992421002 | erot = 2.31466128891675 | epot = -20.842219228341 | etot = -16.5649880152142 +608000 ekin = 2.00857732853911 | erot = 2.35246654785901 | epot = -20.8480147460981 | etot = -16.4869708696999 +609000 ekin = 1.95325682031733 | erot = 2.81335207348493 | epot = -20.8594200048109 | etot = -16.0928111110087 +610000 ekin = 1.98193326810055 | erot = 2.88259052339692 | epot = -20.8472840007382 | etot = -15.9827602092408 +611000 ekin = 2.04137421596164 | erot = 2.49925666829906 | epot = -20.8306415233202 | etot = -16.2900106390595 +612000 ekin = 2.16269789015095 | erot = 2.70058773214408 | epot = -20.7942268006608 | etot = -15.9309411783658 +613000 ekin = 2.06529168540845 | erot = 2.42568351626004 | epot = -20.7614875640894 | etot = -16.2705123624209 +614000 ekin = 2.13372547058354 | erot = 2.26794536225561 | epot = -20.7223835113478 | etot = -16.3207126785086 +615000 ekin = 2.15900283469833 | erot = 2.41796083425713 | epot = -20.6594009316023 | etot = -16.0824372626469 +616000 ekin = 2.18075700318115 | erot = 2.25199751704729 | epot = -20.6022951429054 | etot = -16.169540622677 +617000 ekin = 2.15965098363287 | erot = 2.22906613418701 | epot = -20.5852528289988 | etot = -16.1965357111789 +618000 ekin = 2.23225625672999 | erot = 2.44686544718971 | epot = -20.610224970018 | etot = -15.9311032660983 +619000 ekin = 2.2697545490367 | erot = 2.3428925387803 | epot = -20.6719638155438 | etot = -16.0593167277268 +620000 ekin = 2.30973430443507 | erot = 2.69227064537985 | epot = -20.7701978809869 | etot = -15.768192931172 +621000 ekin = 2.47203322805299 | erot = 3.06119226990014 | epot = -20.9146158917174 | etot = -15.3813903937642 +622000 ekin = 2.6234827456027 | erot = 3.16275527232546 | epot = -21.0868239893472 | etot = -15.3005859714191 +623000 ekin = 2.67387060573034 | erot = 3.22531872328047 | epot = -21.2795790465567 | etot = -15.3803897175459 +624000 ekin = 2.77334044145805 | erot = 3.19930974567982 | epot = -21.4804753178395 | etot = -15.5078251307016 +625000 ekin = 2.82230466072525 | erot = 2.9747199185102 | epot = -21.6768467596146 | etot = -15.8798221803791 +626000 ekin = 2.97306496702218 | erot = 3.02810006646603 | epot = -21.8368791799807 | etot = -15.8357141464924 +627000 ekin = 2.9396359895921 | erot = 3.11546514885661 | epot = -21.9295648605412 | etot = -15.8744637220925 +628000 ekin = 2.94675401744143 | erot = 2.87563053224012 | epot = -21.9734618105417 | etot = -16.1510772608602 +629000 ekin = 2.93549647211201 | erot = 2.94179551334381 | epot = -21.9629357939838 | etot = -16.085643808528 +630000 ekin = 2.968513495898 | erot = 2.66241758633549 | epot = -21.936706782 | etot = -16.3057756997665 +631000 ekin = 2.97170810029475 | erot = 2.9278488835795 | epot = -21.9408587478556 | etot = -16.0413017639814 +632000 ekin = 3.00915408594527 | erot = 3.03331194667432 | epot = -21.9662975867255 | etot = -15.923831554106 +633000 ekin = 3.15130786380797 | erot = 2.90447111403471 | epot = -21.9802035040982 | etot = -15.9244245262556 +634000 ekin = 3.0872430722561 | erot = 3.06470523223815 | epot = -21.9813618086071 | etot = -15.8294135041129 +635000 ekin = 3.09485256628968 | erot = 3.05293629484995 | epot = -21.9761085643253 | etot = -15.8283197031856 +636000 ekin = 3.18833676246128 | erot = 3.09853352594568 | epot = -21.9262309231053 | etot = -15.6393606346983 +637000 ekin = 3.17249776983439 | erot = 2.76836567164458 | epot = -21.846318761896 | etot = -15.905455320417 +638000 ekin = 3.15773051904035 | erot = 2.74718314777864 | epot = -21.752103466865 | etot = -15.847189800046 +639000 ekin = 3.08619022126289 | erot = 2.75291211878194 | epot = -21.6198807004768 | etot = -15.780778360432 +640000 ekin = 3.13541342359622 | erot = 2.75186869517613 | epot = -21.4236473324242 | etot = -15.5363652136518 +641000 ekin = 2.97070406886304 | erot = 2.53928201823129 | epot = -21.2113872532507 | etot = -15.7014011661563 +642000 ekin = 2.96213641788666 | erot = 2.46548060107455 | epot = -20.9928030195292 | etot = -15.565186000568 +643000 ekin = 2.84219149582808 | erot = 2.30604210385216 | epot = -20.7796379309879 | etot = -15.6314043313077 +644000 ekin = 2.73987448812119 | erot = 1.92488908230349 | epot = -20.5971129650468 | etot = -15.9323493946221 +645000 ekin = 2.66964682664619 | erot = 2.17741731737593 | epot = -20.4501395419023 | etot = -15.6030753978801 +646000 ekin = 2.55685727423959 | erot = 1.94955682330733 | epot = -20.3484174743042 | etot = -15.8420033767573 +647000 ekin = 2.36548817737629 | erot = 2.05467058240502 | epot = -20.2308525146957 | etot = -15.8106937549144 +648000 ekin = 2.31008857244622 | erot = 1.85050053837879 | epot = -20.1170577319191 | etot = -15.9564686210941 +649000 ekin = 2.2820502586928 | erot = 1.71263708698589 | epot = -20.0254728385503 | etot = -16.0307854928716 +650000 ekin = 2.21196677463666 | erot = 1.82025099236574 | epot = -19.9537436999668 | etot = -15.9215259329644 +651000 ekin = 2.17096351970662 | erot = 1.64111059964138 | epot = -19.893946125439 | etot = -16.081872006091 +652000 ekin = 2.24485056260445 | erot = 1.5901592073441 | epot = -19.8559152094387 | etot = -16.0209054394902 +653000 ekin = 2.24348598334208 | erot = 1.56547926791896 | epot = -19.8354995105722 | etot = -16.0265342593112 +654000 ekin = 2.3436705432219 | erot = 1.59100225910908 | epot = -19.8036561058559 | etot = -15.8689833035249 +655000 ekin = 2.33139381348469 | erot = 1.73360745289315 | epot = -19.7790891006602 | etot = -15.7140878342824 +656000 ekin = 2.39082402474884 | erot = 1.66512195058759 | epot = -19.7882728464571 | etot = -15.7323268711207 +657000 ekin = 2.36326494202717 | erot = 1.64634599165851 | epot = -19.8156605115388 | etot = -15.8060495778531 +658000 ekin = 2.37356060304704 | erot = 1.59216090461371 | epot = -19.8647456377851 | etot = -15.8990241301243 +659000 ekin = 2.48069174292956 | erot = 1.49175770497883 | epot = -19.9602607152513 | etot = -15.987811267343 +660000 ekin = 2.43784148373588 | erot = 1.6930424525872 | epot = -20.0982797920099 | etot = -15.9673958556869 +661000 ekin = 2.50127283299443 | erot = 1.90162951574018 | epot = -20.2564772898341 | etot = -15.8535749410995 +662000 ekin = 2.65651409235479 | erot = 1.97694168302421 | epot = -20.4351000172129 | etot = -15.8016442418339 +663000 ekin = 2.59069846598396 | erot = 2.27024751168569 | epot = -20.5951722286015 | etot = -15.7342262509318 +664000 ekin = 2.65199362526649 | erot = 2.41512175478246 | epot = -20.7236956549424 | etot = -15.6565802748934 +665000 ekin = 2.74059693842704 | erot = 2.18558347698565 | epot = -20.836270984044 | etot = -15.9100905686313 +666000 ekin = 2.81567682366713 | erot = 2.34749860597669 | epot = -20.9472815722853 | etot = -15.7841061426415 +667000 ekin = 2.85397277942012 | erot = 2.78444099743799 | epot = -21.051254788865 | etot = -15.4128410120069 +668000 ekin = 2.90295609594963 | erot = 2.67434743985645 | epot = -21.1196454976539 | etot = -15.5423419618478 +669000 ekin = 2.82586988686643 | erot = 2.59996675336095 | epot = -21.1269738870865 | etot = -15.7011372468591 +670000 ekin = 2.79168631386091 | erot = 2.56332899434142 | epot = -21.1062374856384 | etot = -15.7512221774361 +671000 ekin = 2.78377934011114 | erot = 2.65037677108216 | epot = -21.0707534252226 | etot = -15.6365973140293 +672000 ekin = 2.803703333643 | erot = 2.43772748784302 | epot = -21.0308122724576 | etot = -15.7893814509716 +673000 ekin = 2.7691539986881 | erot = 2.51561518037599 | epot = -20.9769263473738 | etot = -15.6921571683097 +674000 ekin = 2.64183624634907 | erot = 2.5509723350789 | epot = -20.9182849770312 | etot = -15.7254763956032 +675000 ekin = 2.62521142757554 | erot = 2.64780321266124 | epot = -20.8750415391238 | etot = -15.602026898887 +676000 ekin = 2.56750452241313 | erot = 2.50976436481691 | epot = -20.8718880077788 | etot = -15.7946191205487 +677000 ekin = 2.54381281980499 | erot = 2.88598144344474 | epot = -20.8743650878296 | etot = -15.4445708245799 +678000 ekin = 2.41460230362231 | erot = 2.74956960106208 | epot = -20.8645099379738 | etot = -15.7003380332894 +679000 ekin = 2.45714396740981 | erot = 2.51630907313239 | epot = -20.8333930763107 | etot = -15.8599400357685 +680000 ekin = 2.39813210053792 | erot = 2.44684074440015 | epot = -20.7887522768163 | etot = -15.9437794318782 +681000 ekin = 2.43918264143157 | erot = 2.34640131965743 | epot = -20.7476808113825 | etot = -15.9620968502935 +682000 ekin = 2.35991514290774 | erot = 2.52582496731663 | epot = -20.6783381667257 | etot = -15.7925980565014 +683000 ekin = 2.52475831935489 | erot = 2.43032542841516 | epot = -20.5982055545538 | etot = -15.6431218067838 +684000 ekin = 2.58660934635455 | erot = 2.11878822836128 | epot = -20.4924135763664 | etot = -15.7870160016506 +685000 ekin = 2.55154119483619 | erot = 1.73486584185217 | epot = -20.382217510981 | etot = -16.0958104742926 +686000 ekin = 2.63111018797726 | erot = 1.47730091117236 | epot = -20.3126109077782 | etot = -16.2041998086286 +687000 ekin = 2.6396968201908 | erot = 1.4733230185728 | epot = -20.2996486685943 | etot = -16.1866288298307 +688000 ekin = 2.7234920794771 | erot = 1.29409931094963 | epot = -20.3234627588047 | etot = -16.305871368378 +689000 ekin = 2.73079979716428 | erot = 1.56006726489594 | epot = -20.4074074566833 | etot = -16.1165403946231 +690000 ekin = 2.8886213899704 | erot = 1.53763438603365 | epot = -20.5271307060396 | etot = -16.1008749300355 +691000 ekin = 2.93184490556377 | erot = 1.68041505604324 | epot = -20.6817002649671 | etot = -16.0694403033601 +692000 ekin = 3.039651675882 | erot = 1.53360102419162 | epot = -20.8394269437995 | etot = -16.2661742437259 +693000 ekin = 3.11332037021243 | erot = 1.78276814996248 | epot = -20.9856322860979 | etot = -16.089543765923 +694000 ekin = 3.26591256423344 | erot = 1.83297982799396 | epot = -21.1162583961221 | etot = -16.0173660038947 +695000 ekin = 3.39944935277107 | erot = 1.85369820811796 | epot = -21.210977736514 | etot = -15.957830175625 +696000 ekin = 3.30343203418313 | erot = 1.83180202140663 | epot = -21.2772827777974 | etot = -16.1420487222076 +697000 ekin = 3.22977317647567 | erot = 1.99511551134629 | epot = -21.3085920420921 | etot = -16.0837033542702 +698000 ekin = 3.36545228088424 | erot = 1.93865151714 | epot = -21.292469671287 | etot = -15.9883658732627 +699000 ekin = 3.26727101649057 | erot = 2.00750907689842 | epot = -21.2347192164131 | etot = -15.9599391230241 +700000 ekin = 3.23373130843466 | erot = 1.9581479646034 | epot = -21.1439766208008 | etot = -15.9520973477627 +701000 ekin = 3.07791756459623 | erot = 1.84629538321642 | epot = -21.0368350139915 | etot = -16.1126220661789 +702000 ekin = 2.95524336171478 | erot = 2.05334887389019 | epot = -20.9320932298122 | etot = -15.9235009942072 +703000 ekin = 2.81685700197359 | erot = 2.30798807393509 | epot = -20.8529482411059 | etot = -15.7281031651972 +704000 ekin = 2.78603745694898 | erot = 2.41032504549238 | epot = -20.7817305926661 | etot = -15.5853680902247 +705000 ekin = 2.82734195960174 | erot = 2.58886515581029 | epot = -20.705486127934 | etot = -15.289279012522 +706000 ekin = 2.69252213631 | erot = 2.87186287347272 | epot = -20.6341395720105 | etot = -15.0697545622277 +707000 ekin = 2.67677781124248 | erot = 2.61015441384283 | epot = -20.5829958432681 | etot = -15.2960636181828 +708000 ekin = 2.61607470121115 | erot = 2.52638154954373 | epot = -20.5707989768076 | etot = -15.4283427260527 +709000 ekin = 2.66476396394733 | erot = 2.77686126060184 | epot = -20.5966805252114 | etot = -15.1550553006623 +710000 ekin = 2.7247375394434 | erot = 3.01436891653811 | epot = -20.6381576133419 | etot = -14.8990511573603 +711000 ekin = 2.73828751365585 | erot = 2.9608710490951 | epot = -20.6834857916291 | etot = -14.9843272288781 +712000 ekin = 2.62321032142597 | erot = 3.36842837276275 | epot = -20.7033938368061 | etot = -14.7117551426174 +713000 ekin = 2.57840853452372 | erot = 3.23870482700691 | epot = -20.7157410164413 | etot = -14.8986276549107 +714000 ekin = 2.57830571481541 | erot = 3.18574747943729 | epot = -20.7368579407289 | etot = -14.9728047464762 +715000 ekin = 2.55353778251667 | erot = 3.06029471484808 | epot = -20.7547414920981 | etot = -15.1409089947334 +716000 ekin = 2.55549921705027 | erot = 2.85756803731154 | epot = -20.7715752448116 | etot = -15.3585079904498 +717000 ekin = 2.66840960058869 | erot = 3.13695167508786 | epot = -20.7817582371968 | etot = -14.9763969615202 +718000 ekin = 2.70162233045717 | erot = 2.88936608298079 | epot = -20.7821953404605 | etot = -15.1912069270225 +719000 ekin = 2.67856075035688 | erot = 3.06593156988589 | epot = -20.7772381096809 | etot = -15.0327457894382 +720000 ekin = 2.73835391684226 | erot = 3.12606615797135 | epot = -20.7642516702525 | etot = -14.8998315954389 +721000 ekin = 2.83298219908753 | erot = 2.86786361439833 | epot = -20.7356626767529 | etot = -15.034816863267 +722000 ekin = 2.84238954774475 | erot = 3.01300544894819 | epot = -20.6952880713171 | etot = -14.8398930746241 +723000 ekin = 2.83841887662262 | erot = 2.85261974479223 | epot = -20.6504830813446 | etot = -14.9594444599298 +724000 ekin = 3.01277617592975 | erot = 3.09042764557505 | epot = -20.6160634840689 | etot = -14.5128596625641 +725000 ekin = 3.17120635017288 | erot = 2.96143140596348 | epot = -20.5877395535627 | etot = -14.4551017974264 +726000 ekin = 3.20454859904884 | erot = 2.97124869107352 | epot = -20.5737408249942 | etot = -14.3979435348719 +727000 ekin = 3.1984655763458 | erot = 2.7778916861742 | epot = -20.5945168300517 | etot = -14.6181595675317 +728000 ekin = 3.28654276144391 | erot = 2.57414717613077 | epot = -20.6404573492144 | etot = -14.7797674116397 +729000 ekin = 3.34397855520275 | erot = 2.60607683819482 | epot = -20.6877535154518 | etot = -14.7376981220543 +730000 ekin = 3.33088715350252 | erot = 2.65576997467214 | epot = -20.7175880662474 | etot = -14.7309309380727 +731000 ekin = 3.33990502646325 | erot = 2.7896619781734 | epot = -20.7385421874518 | etot = -14.6089751828152 +732000 ekin = 3.27037431476568 | erot = 3.1640408813143 | epot = -20.7088668644647 | etot = -14.2744516683848 +733000 ekin = 3.1606234052805 | erot = 3.37415612395548 | epot = -20.6516575424079 | etot = -14.116878013172 +734000 ekin = 3.09953693998359 | erot = 3.25267070419757 | epot = -20.5803936969362 | etot = -14.228186052755 +735000 ekin = 2.94450728592303 | erot = 2.96857162868846 | epot = -20.4729949298549 | etot = -14.5599160152434 +736000 ekin = 2.79584817651803 | erot = 2.92396692050701 | epot = -20.3407691844261 | etot = -14.620954087401 +737000 ekin = 2.72272921166439 | erot = 3.17345753492486 | epot = -20.1979266935858 | etot = -14.3017399469965 +738000 ekin = 2.5433205678578 | erot = 3.29818161761706 | epot = -20.0303847475411 | etot = -14.1888825620663 +739000 ekin = 2.32323875619892 | erot = 2.93500343249736 | epot = -19.8750675706792 | etot = -14.6168253819829 +740000 ekin = 2.15390188391545 | erot = 2.57318962024234 | epot = -19.7116721317167 | etot = -14.9845806275589 +741000 ekin = 1.95437882697973 | erot = 2.32607517304428 | epot = -19.5750053199851 | etot = -15.2945513199611 +742000 ekin = 1.92783578015083 | erot = 2.13064797487013 | epot = -19.4713087417753 | etot = -15.4128249867543 +743000 ekin = 2.04931727768894 | erot = 2.05953320755502 | epot = -19.3808587546544 | etot = -15.2720082694104 +744000 ekin = 1.97574953400554 | erot = 2.06272487174928 | epot = -19.329223801607 | etot = -15.2907493958521 +745000 ekin = 2.04017863714723 | erot = 1.82427330713395 | epot = -19.329462761853 | etot = -15.4650108175718 +746000 ekin = 2.02395159386132 | erot = 1.96899911255016 | epot = -19.3725184887272 | etot = -15.3795677823157 +747000 ekin = 2.09406854938761 | erot = 1.94863482625799 | epot = -19.4739827252225 | etot = -15.4312793495769 +748000 ekin = 2.29815094637996 | erot = 1.90074449731056 | epot = -19.6283880334726 | etot = -15.4294925897821 +749000 ekin = 2.35637166185844 | erot = 1.88187224436566 | epot = -19.8091245759453 | etot = -15.5708806697212 +750000 ekin = 2.46261791012963 | erot = 1.68915240890083 | epot = -20.005990906907 | etot = -15.8542205878765 +751000 ekin = 2.60407300534169 | erot = 1.90400653681749 | epot = -20.20854709803 | etot = -15.7004675558708 +752000 ekin = 2.6908247014245 | erot = 2.30656368674367 | epot = -20.433005538186 | etot = -15.4356171500178 +753000 ekin = 2.86185352213746 | erot = 2.08508944835071 | epot = -20.6608245815303 | etot = -15.7138816110421 +754000 ekin = 2.98333808215654 | erot = 2.53924444651862 | epot = -20.8729357638506 | etot = -15.3503532351755 +755000 ekin = 3.15712054719953 | erot = 2.80998037917447 | epot = -21.0894092143859 | etot = -15.1223082880119 +756000 ekin = 3.33248676900302 | erot = 2.8531869799705 | epot = -21.269924842092 | etot = -15.0842510931185 +757000 ekin = 3.41680611924902 | erot = 2.92784780738217 | epot = -21.4304548340672 | etot = -15.0858009074361 +758000 ekin = 3.39156382871272 | erot = 2.78356707636024 | epot = -21.5766965986288 | etot = -15.4015656935559 +759000 ekin = 3.43155653282481 | erot = 2.83467624438543 | epot = -21.6891769319693 | etot = -15.4229441547591 +760000 ekin = 3.45801219419676 | erot = 2.61557400116959 | epot = -21.7546703090583 | etot = -15.681084113692 +761000 ekin = 3.37717727044754 | erot = 2.89563755209479 | epot = -21.7892028313228 | etot = -15.5163880087804 +762000 ekin = 3.47824550195028 | erot = 2.79188597259482 | epot = -21.7977512926642 | etot = -15.5276198181191 +763000 ekin = 3.47659880804277 | erot = 2.54885516262679 | epot = -21.7781604169457 | etot = -15.7527064462761 +764000 ekin = 3.45277978719479 | erot = 2.64283550756149 | epot = -21.704446978953 | etot = -15.6088316841967 +765000 ekin = 3.39906272086506 | erot = 2.44961754559284 | epot = -21.595031818652 | etot = -15.7463515521941 +766000 ekin = 3.34001470871222 | erot = 2.39682151597909 | epot = -21.4894395399038 | etot = -15.7526033152125 +767000 ekin = 3.45549704932984 | erot = 2.33544666401054 | epot = -21.3866970636423 | etot = -15.595753350302 +768000 ekin = 3.2619807407099 | erot = 2.45762138127385 | epot = -21.2912857370598 | etot = -15.571683615076 +769000 ekin = 3.16082467479752 | erot = 2.36075087935276 | epot = -21.2103530429967 | etot = -15.6887774888465 +770000 ekin = 3.07645918396866 | erot = 2.49259006307431 | epot = -21.1212342627877 | etot = -15.5521850157448 +771000 ekin = 2.92350840414357 | erot = 2.5627524330496 | epot = -21.0363085296099 | etot = -15.5500476924167 +772000 ekin = 2.75979211106249 | erot = 2.44752256772078 | epot = -20.9381586938684 | etot = -15.7308440150851 +773000 ekin = 2.71511621634628 | erot = 2.32937899997693 | epot = -20.8439731838771 | etot = -15.7994779675539 +774000 ekin = 2.55011810434133 | erot = 2.4833205550091 | epot = -20.7658389533283 | etot = -15.7324002939779 +775000 ekin = 2.41197388502347 | erot = 2.62818884118437 | epot = -20.7179622711123 | etot = -15.6777995449045 +776000 ekin = 2.37508963815622 | erot = 2.44136937227733 | epot = -20.7211512138299 | etot = -15.9046922033964 +777000 ekin = 2.34948686881498 | erot = 2.36213131358752 | epot = -20.7370244755334 | etot = -16.0254062931309 +778000 ekin = 2.29585534902512 | erot = 2.73124120723748 | epot = -20.7683121988633 | etot = -15.7412156426007 +779000 ekin = 2.18150396589516 | erot = 2.72210705119083 | epot = -20.8059074416481 | etot = -15.9022964245621 +780000 ekin = 2.26066885699459 | erot = 2.87221231082939 | epot = -20.8394643204864 | etot = -15.7065831526624 +781000 ekin = 2.27461625652605 | erot = 2.81372031403651 | epot = -20.8757314682942 | etot = -15.7873948977317 +782000 ekin = 2.19892592960427 | erot = 2.61785718560358 | epot = -20.896513130731 | etot = -16.0797300155231 +783000 ekin = 2.22941617588637 | erot = 2.47751279799149 | epot = -20.9183852720846 | etot = -16.2114562982067 +784000 ekin = 2.42718924867981 | erot = 2.81382459332938 | epot = -20.9279105230668 | etot = -15.6868966810576 +785000 ekin = 2.38825632563832 | erot = 2.70987963105489 | epot = -20.9108108361698 | etot = -15.8126748794765 +786000 ekin = 2.44404618711738 | erot = 2.52658585483967 | epot = -20.9041006583268 | etot = -15.9334686163698 +787000 ekin = 2.50702113933265 | erot = 2.2829310580732 | epot = -20.8749015767322 | etot = -16.0849493793263 +788000 ekin = 2.449066668908 | erot = 2.41360841664415 | epot = -20.8341700774429 | etot = -15.9714949918908 +789000 ekin = 2.52045486785602 | erot = 2.52744454804461 | epot = -20.7905656205231 | etot = -15.7426662046225 +790000 ekin = 2.52825818807968 | erot = 2.68548159035131 | epot = -20.7575819502236 | etot = -15.5438421717926 +791000 ekin = 2.64995125141669 | erot = 2.7398749354846 | epot = -20.7349773993635 | etot = -15.3451512124622 +792000 ekin = 2.70397080831142 | erot = 2.64980290799399 | epot = -20.7100100046771 | etot = -15.3562362883717 +793000 ekin = 2.75033294845277 | erot = 2.54340061653004 | epot = -20.7078362971787 | etot = -15.4141027321959 +794000 ekin = 2.86533813114897 | erot = 2.55380338833676 | epot = -20.7048471683322 | etot = -15.2857056488465 +795000 ekin = 2.78119650415392 | erot = 2.2671096734503 | epot = -20.7038606047267 | etot = -15.6555544271225 +796000 ekin = 2.75247729659435 | erot = 1.93248690499328 | epot = -20.7002506155577 | etot = -16.0152864139701 +797000 ekin = 2.87695524377374 | erot = 1.75440457751947 | epot = -20.7015802402501 | etot = -16.0702204189569 +798000 ekin = 2.92176058311451 | erot = 1.87424589751703 | epot = -20.7289229999119 | etot = -15.9329165192803 +799000 ekin = 2.84123141391864 | erot = 1.69781273980121 | epot = -20.7536194869373 | etot = -16.2145753332175 +800000 ekin = 2.88647051776051 | erot = 1.88458846794839 | epot = -20.7813888694617 | etot = -16.0103298837528 +801000 ekin = 2.82188707288349 | erot = 1.97533232918811 | epot = -20.785439046684 | etot = -15.9882196446124 +802000 ekin = 2.80670744878582 | erot = 1.9217082384784 | epot = -20.7694229323805 | etot = -16.0410072451162 +803000 ekin = 2.81917409800211 | erot = 1.86293659025173 | epot = -20.7368809564661 | etot = -16.0547702682123 +804000 ekin = 2.81542679490125 | erot = 1.82483816347956 | epot = -20.7049136915728 | etot = -16.064648733192 +805000 ekin = 2.76621025300973 | erot = 1.80656496128526 | epot = -20.6689552876867 | etot = -16.0961800733917 +806000 ekin = 2.65050365938186 | erot = 2.07564631955327 | epot = -20.6394756033499 | etot = -15.9133256244147 +807000 ekin = 2.55624134566849 | erot = 2.16054307897175 | epot = -20.6134778956027 | etot = -15.8966934709625 +808000 ekin = 2.48738013720894 | erot = 2.3214738917894 | epot = -20.5888178207126 | etot = -15.7799637917143 +809000 ekin = 2.4786273298809 | erot = 2.48498826094782 | epot = -20.5619387083683 | etot = -15.5983231175395 +810000 ekin = 2.39703068581702 | erot = 2.81931500773821 | epot = -20.5424309669724 | etot = -15.3260852734171 +811000 ekin = 2.3788728748584 | erot = 2.69438802886514 | epot = -20.5520463788999 | etot = -15.4787854751764 +812000 ekin = 2.28085047814011 | erot = 2.42485138426983 | epot = -20.5550539173041 | etot = -15.8493520548942 +813000 ekin = 2.25229479784333 | erot = 2.55707080478997 | epot = -20.5502753315573 | etot = -15.740909728924 +814000 ekin = 2.22024450946101 | erot = 2.84053382533205 | epot = -20.5291885807552 | etot = -15.4684102459621 +815000 ekin = 2.14652605610512 | erot = 2.67021357483775 | epot = -20.4999623788213 | etot = -15.6832227478784 +816000 ekin = 2.15941760298178 | erot = 2.59153501297961 | epot = -20.4557339217928 | etot = -15.7047813058314 +817000 ekin = 2.16476188533233 | erot = 2.33413354584406 | epot = -20.3878114616857 | etot = -15.8889160305093 +818000 ekin = 2.23169646758985 | erot = 2.16459446462094 | epot = -20.3094264209637 | etot = -15.9131354887529 +819000 ekin = 2.15183597112987 | erot = 1.96236374628708 | epot = -20.2442212233182 | etot = -16.1300215059012 +820000 ekin = 2.15160519820162 | erot = 1.78654941276898 | epot = -20.1685556064365 | etot = -16.2304009954659 +821000 ekin = 2.11411181703442 | erot = 1.59439007001326 | epot = -20.1045081087122 | etot = -16.3960062216645 +822000 ekin = 2.09578590796817 | erot = 1.82458690696508 | epot = -20.0615873148671 | etot = -16.1412144999339 +823000 ekin = 2.08554311077394 | erot = 1.79122152448742 | epot = -20.05426155862 | etot = -16.1774969233586 +824000 ekin = 2.06608530910562 | erot = 1.83488646651511 | epot = -20.0832229529292 | etot = -16.1822511773085 +825000 ekin = 2.12914321441473 | erot = 2.12189619250084 | epot = -20.129726854944 | etot = -15.8786874480284 +826000 ekin = 2.17617898744283 | erot = 2.29556289596582 | epot = -20.1726463529248 | etot = -15.7009044695161 +827000 ekin = 2.15419331300564 | erot = 2.34308143022498 | epot = -20.2056332381731 | etot = -15.7083584949425 +828000 ekin = 2.20039878821187 | erot = 2.41783518802144 | epot = -20.2229965044052 | etot = -15.6047625281719 +829000 ekin = 2.20314847732563 | erot = 2.56607297380303 | epot = -20.2051061030748 | etot = -15.4358846519461 +830000 ekin = 2.30175185120447 | erot = 2.43964061204034 | epot = -20.1552304697959 | etot = -15.4138380065511 +831000 ekin = 2.24000691994535 | erot = 2.16496177189548 | epot = -20.0860391808212 | etot = -15.6810704889804 +832000 ekin = 2.23825638063332 | erot = 2.25483913353678 | epot = -20.0235934169574 | etot = -15.5304979027873 +833000 ekin = 2.16205349111635 | erot = 1.94237500276366 | epot = -19.98792746414 | etot = -15.88349897026 +834000 ekin = 2.16740768022471 | erot = 1.70564999745791 | epot = -19.9844147815713 | etot = -16.1113571038887 +835000 ekin = 2.17278893541038 | erot = 1.56429512699083 | epot = -20.0201055001643 | etot = -16.2830214377631 +836000 ekin = 2.12097731365439 | erot = 1.73560474622193 | epot = -20.0572346764648 | etot = -16.2006526165885 +837000 ekin = 2.13598638451579 | erot = 1.79213525365431 | epot = -20.0629697156965 | etot = -16.1348480775264 +838000 ekin = 2.15523665997388 | erot = 1.65975767864979 | epot = -20.0531324206636 | etot = -16.23813808204 +839000 ekin = 2.18050335550322 | erot = 1.62185210117962 | epot = -20.0624518040171 | etot = -16.2600963473343 +840000 ekin = 2.26003994524067 | erot = 1.64754456826616 | epot = -20.0987090628811 | etot = -16.1911245493743 +841000 ekin = 2.35849160545659 | erot = 1.45991256461148 | epot = -20.1235761929063 | etot = -16.3051720228382 +842000 ekin = 2.30506950612859 | erot = 1.67704941831981 | epot = -20.1403357838886 | etot = -16.1582168594402 +843000 ekin = 2.2500061210523 | erot = 1.57916412105133 | epot = -20.1787490850449 | etot = -16.3495788429413 +844000 ekin = 2.36131993993639 | erot = 1.7422482396807 | epot = -20.2587879559386 | etot = -16.1552197763215 +845000 ekin = 2.37622491879818 | erot = 1.78604993278495 | epot = -20.3527813128756 | etot = -16.1905064612925 +846000 ekin = 2.34115102661073 | erot = 1.84579845054569 | epot = -20.4555275090993 | etot = -16.2685780319429 +847000 ekin = 2.41159198035449 | erot = 1.92961286076146 | epot = -20.5532540909634 | etot = -16.2120492498474 +848000 ekin = 2.31213774862315 | erot = 2.08278486795981 | epot = -20.6337560180198 | etot = -16.2388334014369 +849000 ekin = 2.30336620270284 | erot = 2.04122209248456 | epot = -20.6821032694946 | etot = -16.3375149743072 +850000 ekin = 2.25629668954034 | erot = 2.18270894613907 | epot = -20.7098894953332 | etot = -16.2708838596538 +851000 ekin = 2.29979938433462 | erot = 2.41406540449308 | epot = -20.7044118358106 | etot = -15.9905470469829 +852000 ekin = 2.26390891815814 | erot = 2.16338375104463 | epot = -20.6569849671616 | etot = -16.2296922979588 +853000 ekin = 2.30424571101269 | erot = 1.99747184850889 | epot = -20.5998336497754 | etot = -16.2981160902538 +854000 ekin = 2.36419736155922 | erot = 2.06846824934134 | epot = -20.5204281972685 | etot = -16.087762586368 +855000 ekin = 2.34728028486071 | erot = 1.93310140620006 | epot = -20.4489431066129 | etot = -16.1685614155521 +856000 ekin = 2.30561682537882 | erot = 1.74682255934551 | epot = -20.3871281777728 | etot = -16.3346887930485 +857000 ekin = 2.27745448387204 | erot = 1.83570056454375 | epot = -20.3461722185291 | etot = -16.2330171701133 +858000 ekin = 2.36509593163705 | erot = 1.75581829580632 | epot = -20.3410559181939 | etot = -16.2201416907505 +859000 ekin = 2.38832938274166 | erot = 1.82095166272796 | epot = -20.3690417944101 | etot = -16.1597607489404 +860000 ekin = 2.52181162102379 | erot = 1.95420940577036 | epot = -20.4478015207828 | etot = -15.9717804939886 +861000 ekin = 2.62858628470775 | erot = 1.82148423675541 | epot = -20.5405427960158 | etot = -16.0904722745526 +862000 ekin = 2.69973060754128 | erot = 1.84887576916202 | epot = -20.662955197763 | etot = -16.1143488210597 +863000 ekin = 2.90205526612742 | erot = 1.9505383034712 | epot = -20.7912991546473 | etot = -15.9387055850487 +864000 ekin = 3.12658816228328 | erot = 1.98858429691928 | epot = -20.8929021658141 | etot = -15.7777297066115 +865000 ekin = 3.16945674700263 | erot = 1.86291391059832 | epot = -20.9419832509072 | etot = -15.9096125933062 +866000 ekin = 3.25216934165261 | erot = 1.97645641207194 | epot = -20.9567552239711 | etot = -15.7281294702465 +867000 ekin = 3.2494503723315 | erot = 1.84073824549774 | epot = -20.9282973760209 | etot = -15.8381087581916 +868000 ekin = 3.07999788772614 | erot = 1.92805224835502 | epot = -20.8706478182271 | etot = -15.862597682146 +869000 ekin = 2.91009138976912 | erot = 1.95537175968477 | epot = -20.7577406936844 | etot = -15.8922775442305 +870000 ekin = 2.98633737341233 | erot = 1.74639234614424 | epot = -20.6193203055692 | etot = -15.8865905860126 +871000 ekin = 2.82797025785063 | erot = 2.2221678986274 | epot = -20.5143766346296 | etot = -15.4642384781516 +872000 ekin = 2.75225970096219 | erot = 2.04685014109629 | epot = -20.419745056361 | etot = -15.6206352143025 +873000 ekin = 2.76508179334976 | erot = 2.0780239133508 | epot = -20.3610564187735 | etot = -15.5179507120729 +874000 ekin = 2.70667266094239 | erot = 2.03935635819004 | epot = -20.3167066993027 | etot = -15.5706776801702 +875000 ekin = 2.75331326518739 | erot = 1.87289863150002 | epot = -20.2923067700679 | etot = -15.6660948733804 +876000 ekin = 2.71618421707332 | erot = 1.89637161128803 | epot = -20.2754390470308 | etot = -15.6628832186694 +877000 ekin = 2.71649559901581 | erot = 2.02021579600109 | epot = -20.2646771674153 | etot = -15.5279657723984 +878000 ekin = 2.62749245340236 | erot = 1.88626086619175 | epot = -20.2836933343764 | etot = -15.7699400147823 +879000 ekin = 2.74884813769589 | erot = 1.75263692861076 | epot = -20.3265216122734 | etot = -15.8250365459667 +880000 ekin = 2.71696155764913 | erot = 1.77313431669201 | epot = -20.4055312116441 | etot = -15.9154353373029 +881000 ekin = 2.78382645158938 | erot = 1.81182472346934 | epot = -20.5191596774775 | etot = -15.9235085024187 +882000 ekin = 2.81130894387557 | erot = 2.09576450580371 | epot = -20.6489904734918 | etot = -15.7419170238125 +883000 ekin = 2.88120316600255 | erot = 2.27294351864347 | epot = -20.7888871990884 | etot = -15.6347405144424 +884000 ekin = 2.90293873255487 | erot = 2.48430131570226 | epot = -20.9203204845748 | etot = -15.5330804363176 +885000 ekin = 2.83822193724247 | erot = 2.33567911137719 | epot = -21.0170580718202 | etot = -15.8431570232006 +886000 ekin = 2.79980127208535 | erot = 2.39879132479705 | epot = -21.1056755206464 | etot = -15.907082923764 +887000 ekin = 2.84559753547752 | erot = 2.23279918443311 | epot = -21.1991974917516 | etot = -16.120800771841 +888000 ekin = 2.78048788087594 | erot = 2.21910506766694 | epot = -21.2985745989321 | etot = -16.2989816503892 +889000 ekin = 2.69583578763822 | erot = 2.42515435306365 | epot = -21.3860199387973 | etot = -16.2650297980954 +890000 ekin = 2.58377832307665 | erot = 2.46763021206624 | epot = -21.4668454924046 | etot = -16.4154369572618 +891000 ekin = 2.65145947657465 | erot = 2.54188813630582 | epot = -21.5059683813089 | etot = -16.3126207684284 +892000 ekin = 2.67593216257268 | erot = 2.30931133615791 | epot = -21.5221026652212 | etot = -16.5368591664906 +893000 ekin = 2.63303791081994 | erot = 2.54633069672419 | epot = -21.5431241050783 | etot = -16.3637554975342 +894000 ekin = 2.67500961491449 | erot = 2.62632956964425 | epot = -21.5659877596137 | etot = -16.264648575055 +895000 ekin = 2.69351100875689 | erot = 2.87253630615196 | epot = -21.5608314238545 | etot = -15.9947841089456 +896000 ekin = 2.73971679868387 | erot = 2.8375196836984 | epot = -21.5599160231104 | etot = -15.9826795407282 +897000 ekin = 2.5902415606045 | erot = 3.14999384860249 | epot = -21.516909346574 | etot = -15.776673937367 +898000 ekin = 2.53463691976883 | erot = 2.86279041479487 | epot = -21.4480578810232 | etot = -16.0506305464595 +899000 ekin = 2.47014007897575 | erot = 2.84092875108416 | epot = -21.4001318574341 | etot = -16.0890630273742 +900000 ekin = 2.41396838915872 | erot = 2.6111943771977 | epot = -21.3171783985112 | etot = -16.2920156321548 +901000 ekin = 2.39217135029546 | erot = 2.42887884956528 | epot = -21.2332353575315 | etot = -16.4121851576708 +902000 ekin = 2.35623147489279 | erot = 2.68618153800013 | epot = -21.1565378225643 | etot = -16.1141248096714 +903000 ekin = 2.40445872766433 | erot = 2.65960453389378 | epot = -21.0523977096234 | etot = -15.9883344480653 +904000 ekin = 2.38268859333691 | erot = 2.75563140701143 | epot = -20.925421167619 | etot = -15.7871011672707 +905000 ekin = 2.33859357853536 | erot = 2.74896960744429 | epot = -20.7865758980935 | etot = -15.6990127121138 +906000 ekin = 2.24424050125651 | erot = 2.6721901140042 | epot = -20.6458687615366 | etot = -15.7294381462758 +907000 ekin = 2.11959693796205 | erot = 2.69124042762419 | epot = -20.5218058154346 | etot = -15.7109684498484 +908000 ekin = 1.99538198820349 | erot = 2.73765845183728 | epot = -20.4226667461159 | etot = -15.6896263060752 +909000 ekin = 1.91948050394701 | erot = 2.81092155872986 | epot = -20.3715084186367 | etot = -15.6411063559599 +910000 ekin = 1.8655950428113 | erot = 2.50422584065975 | epot = -20.3542958576836 | etot = -15.9844749742126 +911000 ekin = 1.93700212306605 | erot = 2.70182168284106 | epot = -20.36304703947 | etot = -15.7242232335629 +912000 ekin = 2.01297731830373 | erot = 2.5933346831101 | epot = -20.4016114857558 | etot = -15.795299484342 +913000 ekin = 2.04893253293605 | erot = 2.44335563755528 | epot = -20.4595271951793 | etot = -15.967239024688 +914000 ekin = 2.13522967419267 | erot = 2.04488675557119 | epot = -20.5157656558608 | etot = -16.3356492260969 +915000 ekin = 2.25766070321671 | erot = 1.97393473123396 | epot = -20.6118613948302 | etot = -16.3802659603795 +916000 ekin = 2.21223622141659 | erot = 2.10345838304649 | epot = -20.7544105240985 | etot = -16.4387159196355 +917000 ekin = 2.40651996373637 | erot = 1.99495172303712 | epot = -20.9073170323377 | etot = -16.5058453455642 +918000 ekin = 2.5361573098891 | erot = 2.01638663666306 | epot = -21.0405250498192 | etot = -16.4879811032671 +919000 ekin = 2.65442530964944 | erot = 2.08762135935637 | epot = -21.171971145483 | etot = -16.4299244764772 +920000 ekin = 2.77534951778621 | erot = 2.11359099299359 | epot = -21.2829839475284 | etot = -16.3940434367486 +921000 ekin = 2.91643782768201 | erot = 2.28215815938532 | epot = -21.3691506671597 | etot = -16.1705546800924 +922000 ekin = 2.9556740067861 | erot = 1.92472032499983 | epot = -21.4077235507572 | etot = -16.5273292189713 +923000 ekin = 2.96258486890851 | erot = 1.54690402842656 | epot = -21.3938794896997 | etot = -16.8843905923646 +924000 ekin = 2.92134762613169 | erot = 1.70996406555908 | epot = -21.3449839261319 | etot = -16.7136722344412 +925000 ekin = 2.84653903464837 | erot = 1.92806668586753 | epot = -21.2846325911293 | etot = -16.5100268706134 +926000 ekin = 2.90254254848568 | erot = 2.07364806195503 | epot = -21.2015262749296 | etot = -16.2253356644889 +927000 ekin = 2.91395828926385 | erot = 2.18066099339434 | epot = -21.1200145418058 | etot = -16.0253952591476 +928000 ekin = 2.8451289411599 | erot = 2.48044872209644 | epot = -20.9999796012797 | etot = -15.6744019380233 +929000 ekin = 2.66004165976089 | erot = 2.5177933604696 | epot = -20.8727093584581 | etot = -15.6948743382276 +930000 ekin = 2.65454667829403 | erot = 2.5756927474138 | epot = -20.7556416891762 | etot = -15.5254022634684 +931000 ekin = 2.67423829393911 | erot = 2.88523636975878 | epot = -20.6759551108847 | etot = -15.1164804471868 +932000 ekin = 2.62616449296317 | erot = 2.54798110237906 | epot = -20.6086291233295 | etot = -15.4344835279872 +933000 ekin = 2.69383973705561 | erot = 2.46235736679292 | epot = -20.5456125856306 | etot = -15.389415481782 +934000 ekin = 2.7677642743107 | erot = 2.3410108478683 | epot = -20.4809121018793 | etot = -15.3721369797003 +935000 ekin = 2.72642510821342 | erot = 2.35916469229072 | epot = -20.421116596235 | etot = -15.3355267957309 +936000 ekin = 2.79063797840903 | erot = 2.07475414089676 | epot = -20.3957585636203 | etot = -15.5303664443145 +937000 ekin = 2.98467692525982 | erot = 1.99225267024792 | epot = -20.4024768464836 | etot = -15.4255472509759 +938000 ekin = 3.04156516590295 | erot = 2.13242133064001 | epot = -20.3998804937971 | etot = -15.2258939972542 +939000 ekin = 3.07943235169605 | erot = 2.19292802789723 | epot = -20.3770156967224 | etot = -15.1046553171291 +940000 ekin = 3.11450220916298 | erot = 2.05442808222248 | epot = -20.338662940712 | etot = -15.1697326493265 +941000 ekin = 3.16737235726218 | erot = 2.43340006549767 | epot = -20.276052119725 | etot = -14.6752796969652 +942000 ekin = 3.27652888451136 | erot = 2.440543875825 | epot = -20.1668692973993 | etot = -14.449796537063 +943000 ekin = 3.13900445201095 | erot = 2.17030471354829 | epot = -20.026706304132 | etot = -14.7173971385727 +944000 ekin = 3.115776797146 | erot = 1.97360877260937 | epot = -19.8813791244599 | etot = -14.7919935547045 +945000 ekin = 3.14747064890596 | erot = 1.73794156198896 | epot = -19.73006542878 | etot = -14.8446532178851 +946000 ekin = 3.06500562594201 | erot = 1.59817914677177 | epot = -19.5836319520482 | etot = -14.9204471793344 +947000 ekin = 3.06465941958359 | erot = 1.56394261373872 | epot = -19.4474159558772 | etot = -14.8188139225549 +948000 ekin = 3.07897503028507 | erot = 1.70141948030269 | epot = -19.3426980410742 | etot = -14.5623035304865 +949000 ekin = 2.87406117522915 | erot = 1.60153309498395 | epot = -19.2597755284807 | etot = -14.7841812582676 +950000 ekin = 2.84815804599135 | erot = 1.4271569018952 | epot = -19.2062266956087 | etot = -14.9309117477221 +951000 ekin = 2.78080942687071 | erot = 1.40916295422847 | epot = -19.1985529774587 | etot = -15.0085805963595 +952000 ekin = 2.67957446722111 | erot = 1.63751827005629 | epot = -19.1980674262526 | etot = -14.8809746889752 +953000 ekin = 2.69185316270131 | erot = 1.85029680460115 | epot = -19.2316635394472 | etot = -14.6895135721448 +954000 ekin = 2.64694034455319 | erot = 2.11448729476973 | epot = -19.2977991859257 | etot = -14.5363715466028 +955000 ekin = 2.73224102166805 | erot = 2.37373438935258 | epot = -19.3777324828798 | etot = -14.2717570718591 +956000 ekin = 2.80603458830151 | erot = 2.32665803374313 | epot = -19.4665233130263 | etot = -14.3338306909816 +957000 ekin = 2.73176061747201 | erot = 2.74205596111958 | epot = -19.5249802574393 | etot = -14.0511636788477 +958000 ekin = 2.77128367160812 | erot = 2.70682711528389 | epot = -19.5522596510489 | etot = -14.0741488641569 +959000 ekin = 2.78347654187703 | erot = 2.83940326280204 | epot = -19.5446437759979 | etot = -13.9217639713188 +960000 ekin = 2.63327999523985 | erot = 3.22713050217902 | epot = -19.5114109332441 | etot = -13.6510004358253 +961000 ekin = 2.53039842552533 | erot = 3.04837954363136 | epot = -19.4489807736385 | etot = -13.8702028044818 +962000 ekin = 2.42158405784708 | erot = 2.73764467618042 | epot = -19.3495392486846 | etot = -14.1903105146571 +963000 ekin = 2.35599553488234 | erot = 2.68171440217426 | epot = -19.2270773719364 | etot = -14.1893674348798 +964000 ekin = 2.25219457310666 | erot = 2.53224426940247 | epot = -19.0939126804608 | etot = -14.3094738379516 +965000 ekin = 2.15172115406585 | erot = 2.50742636400585 | epot = -18.965540109871 | etot = -14.3063925917993 +966000 ekin = 2.08836430745308 | erot = 2.10683533981447 | epot = -18.8740473984183 | etot = -14.6788477511507 +967000 ekin = 2.12576981405813 | erot = 2.10554977010201 | epot = -18.8222969563422 | etot = -14.5909773721821 +968000 ekin = 2.1292401689921 | erot = 1.91970464113333 | epot = -18.8304973627001 | etot = -14.7815525525746 +969000 ekin = 2.1744253034849 | erot = 2.16512140090537 | epot = -18.8673529233375 | etot = -14.5278062189472 +970000 ekin = 2.18162741265366 | erot = 2.24508625813671 | epot = -18.9283529594578 | etot = -14.5016392886674 +971000 ekin = 2.1872176318086 | erot = 2.43353633304484 | epot = -19.0277599144679 | etot = -14.4070059496144 +972000 ekin = 2.2705546404458 | erot = 2.03487376489205 | epot = -19.12908661878 | etot = -14.8236582134421 +973000 ekin = 2.33904004605622 | erot = 2.1518392891247 | epot = -19.2366611806893 | etot = -14.7457818455084 +974000 ekin = 2.4184780784401 | erot = 2.34438108784224 | epot = -19.3631184324864 | etot = -14.600259266204 +975000 ekin = 2.46206146488035 | erot = 2.35624199281851 | epot = -19.4736098152942 | etot = -14.6553063575954 +976000 ekin = 2.52456876946493 | erot = 2.27614398265601 | epot = -19.564991557351 | etot = -14.7642788052301 +977000 ekin = 2.60637564524348 | erot = 2.07093705811744 | epot = -19.6101874123269 | etot = -14.932874708966 +978000 ekin = 2.61064269720999 | erot = 2.072025245106 | epot = -19.6294451297035 | etot = -14.9467771873875 +979000 ekin = 2.55561169069442 | erot = 2.18920140876197 | epot = -19.6166445363178 | etot = -14.8718314368614 +980000 ekin = 2.56864273287433 | erot = 2.03395631393331 | epot = -19.6174963338775 | etot = -15.0148972870698 +981000 ekin = 2.66191070196797 | erot = 2.1665909590768 | epot = -19.6250525963032 | etot = -14.7965509352584 +982000 ekin = 2.61731281327803 | erot = 2.24698893274284 | epot = -19.5974740187268 | etot = -14.7331722727059 +983000 ekin = 2.54225454915863 | erot = 2.48926874093363 | epot = -19.5745894051773 | etot = -14.5430661150851 +984000 ekin = 2.50737950403339 | erot = 3.03624865807167 | epot = -19.5602814074042 | etot = -14.0166532452991 +985000 ekin = 2.41525281557154 | erot = 2.79336029081712 | epot = -19.5475069203691 | etot = -14.3388938139804 +986000 ekin = 2.43517645380123 | erot = 2.71437828234949 | epot = -19.5659718124297 | etot = -14.416417076279 +987000 ekin = 2.43635014041211 | erot = 2.70440060167989 | epot = -19.6117703785928 | etot = -14.4710196365008 +988000 ekin = 2.47223137990766 | erot = 3.04012548433551 | epot = -19.6728653378127 | etot = -14.1605084735695 +989000 ekin = 2.57461282782905 | erot = 2.65740086918245 | epot = -19.7180658550378 | etot = -14.4860521580263 +990000 ekin = 2.67359097736915 | erot = 2.60446843961483 | epot = -19.7676266504487 | etot = -14.4895672334648 +991000 ekin = 2.7042668817371 | erot = 2.78857306259774 | epot = -19.8289708825362 | etot = -14.3361309382014 +992000 ekin = 2.77048904951409 | erot = 3.05066231165506 | epot = -19.9192662402546 | etot = -14.0981148790855 +993000 ekin = 2.82958876080101 | erot = 2.65444369525341 | epot = -20.0030938662596 | etot = -14.5190614102052 +994000 ekin = 2.90170601691324 | erot = 2.65673610083159 | epot = -20.0686975144625 | etot = -14.5102553967177 +995000 ekin = 3.03287923230103 | erot = 2.40306030617926 | epot = -20.1412612654703 | etot = -14.70532172699 +996000 ekin = 3.01357004889746 | erot = 1.93970518668616 | epot = -20.2209046421983 | etot = -15.2676294066147 +997000 ekin = 3.16382267303395 | erot = 2.09671009945301 | epot = -20.2929309039621 | etot = -15.0323981314751 +998000 ekin = 3.20277399494116 | erot = 2.11561017239357 | epot = -20.3495982469419 | etot = -15.0312140796072 +999000 ekin = 3.17166482809342 | erot = 2.14572404428907 | epot = -20.3850372708097 | etot = -15.0676483984272 +1000000 ekin = 3.19306217159857 | erot = 2.46621953381515 | epot = -20.4393210047155 | etot = -14.7800392993018 + 1000000 0.14191387 -1.3172305 0.039772926 -1.0778912 3.1162031e-05 64000 +Loop time of 20.4289 on 4 procs for 1000000 steps with 16 atoms + +Performance: 42293.109 tau/day, 48950.357 timesteps/s +99.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 | 6.166 | 9.113 | 12.302 | 77.6 | 44.61 +Bond | 0.28759 | 0.35897 | 0.40037 | 7.6 | 1.76 +Neigh | 0.007409 | 0.0075045 | 0.007636 | 0.1 | 0.04 +Comm | 4.5107 | 7.8624 | 10.62 | 83.8 | 38.49 +Output | 0.091711 | 0.096687 | 0.10744 | 2.0 | 0.47 +Modify | 1.2913 | 1.4454 | 1.6019 | 11.5 | 7.08 +Other | | 1.545 | | | 7.56 + +Nlocal: 4.00000 ave 5 max 3 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Nghost: 12.0000 ave 13 max 11 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Neighs: 26.7500 ave 45 max 11 min +Histogram: 1 0 1 0 0 0 1 0 0 1 + +Total # of neighbors = 107 +Ave neighs/atom = 6.6875000 +Ave special neighs/atom = 3.7500000 +Neighbor list builds = 1000 +Dangerous builds = 0 + +write_data last_config.${number}.* nocoeff +write_data last_config.2.* nocoeff +System init for write_data ... +#write_restart last_config.${number}.* +Total wall time: 0:00:20 diff --git a/examples/PACKAGES/cgdna/examples/oxDNA2/duplex3/in.duplex3 b/examples/PACKAGES/cgdna/examples/oxDNA2/duplex3/in.duplex3 index 0dba271f98..1f6bcc5bef 100644 --- a/examples/PACKAGES/cgdna/examples/oxDNA2/duplex3/in.duplex3 +++ b/examples/PACKAGES/cgdna/examples/oxDNA2/duplex3/in.duplex3 @@ -8,7 +8,7 @@ units lj dimension 3 -newton off +newton on boundary p p p @@ -69,3 +69,4 @@ dump_modify out format line "%d %d %d %22.15le %22.15le %22.15le %d %d %d %22 run 1000000 write_data last_config.${number}.* nocoeff +#write_restart last_config.${number}.* diff --git a/examples/PACKAGES/cgdna/examples/oxDNA2/duplex3/log.27May21.duplex3.g++.1 b/examples/PACKAGES/cgdna/examples/oxDNA2/duplex3/log.27May21.duplex3.g++.1 deleted file mode 100644 index 965502247e..0000000000 --- a/examples/PACKAGES/cgdna/examples/oxDNA2/duplex3/log.27May21.duplex3.g++.1 +++ /dev/null @@ -1,1180 +0,0 @@ -LAMMPS (27 May 2021) -variable number equal 3 -variable ofreq equal 1000 -variable efreq equal 1000 -variable T equal 0.1 -variable rhos equal 0.2 - -units lj - -dimension 3 - -newton off - -boundary p p p - -atom_style hybrid bond ellipsoid oxdna -WARNING: Atom style hybrid defines both, per-type and per-atom masses; both must be set, but only per-atom masses will be used (../atom_vec_hybrid.cpp:157) -atom_modify sort 0 1.0 - -# Pair interactions require lists of neighbours to be calculated -neighbor 2.0 bin -neigh_modify every 1 delay 0 check yes - -read_data data.duplex3 -Reading data file ... - orthogonal box = (-20.000000 -20.000000 -20.000000) to (20.000000 20.000000 20.000000) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 10 atoms - reading velocities ... - 10 velocities - scanning bonds ... - 2 = max bonds/atom - 10 ellipsoids - reading bonds ... - 8 bonds -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 - 2 = max # of 1-3 neighbors - 2 = max # of 1-4 neighbors - 4 = max # of special neighbors - special bonds CPU = 0.000 seconds - read_data CPU = 0.003 seconds - -set atom * mass 1.0 -Setting atom values ... - 10 settings made for mass - -group all type 1 4 -10 atoms in group all - -# oxDNA2 bond interactions - FENE backbone -bond_style oxdna2/fene -bond_coeff * 2.0 0.25 0.7564 -special_bonds lj 0 1 1 -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 1 1 - special bond factors coul: 0 0 0 - 2 = max # of 1-2 neighbors - 2 = max # of 1-3 neighbors - 2 = max # of 1-4 neighbors - 4 = max # of special neighbors - special bonds CPU = 0.000 seconds - -# oxDNA2 pair interactions -pair_style hybrid/overlay oxdna2/excv oxdna2/stk oxdna2/hbond oxdna2/xstk oxdna2/coaxstk oxdna2/dh -pair_coeff * * oxdna2/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32 -pair_coeff * * oxdna2/stk seqdep ${T} 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 -pair_coeff * * oxdna2/stk seqdep 0.1 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 -pair_coeff * * oxdna2/hbond seqdep 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 1 4 oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 2 3 oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff * * oxdna2/xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68 -pair_coeff * * oxdna2/coaxstk 58.5 0.4 0.6 0.22 0.58 2.0 2.891592653589793 0.65 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 40.0 3.116592653589793 -pair_coeff * * oxdna2/dh ${T} ${rhos} 0.815 -pair_coeff * * oxdna2/dh 0.1 ${rhos} 0.815 -pair_coeff * * oxdna2/dh 0.1 0.2 0.815 - -# NVE ensemble -fix 1 all nve/asphere -#fix 2 all langevin ${T} ${T} 2.5 457145 angmom 10 - -timestep 1e-5 - -#comm_style tiled -fix 3 all balance 1000 1.03 shift xyz 10 1.03 -comm_modify cutoff 3.8 - -compute quat all property/atom quatw quati quatj quatk - -compute erot all erotate/asphere -compute ekin all ke -compute epot all pe -variable erot equal c_erot -variable ekin equal c_ekin -variable epot equal c_epot -variable etot equal c_erot+c_ekin+c_epot -fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes -fix 5 all print 1000 "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes - -dump out all custom ${ofreq} out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz -dump out all custom 1000 out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz -dump out all custom 1000 out.3.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz -dump_modify out sort id -dump_modify out format line "%d %d %d %22.15le %22.15le %22.15le %d %d %d %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le" - -run 1000000 -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 5.6389877 - ghost atom cutoff = 5.6389877 - binsize = 2.8194939, bins = 15 15 15 - 5 neighbor lists, perpetual/occasional/extra = 5 0 0 - (1) pair oxdna2/excv, perpetual - attributes: half, newton off - pair build: half/bin/newtoff - stencil: full/bin/3d - bin: standard - (2) pair oxdna2/hbond, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (3) pair oxdna2/xstk, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (4) pair oxdna2/coaxstk, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (5) pair oxdna2/dh, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none -WARNING: Communication cutoff adjusted to 5.638987723814632 (../comm.cpp:739) -0 ekin = 1.18025158324274 | erot = 2.17908479136507 | epot = -11.4931199991265 | etot = -8.13378362451864 -Per MPI rank memory allocation (min/avg/max) = 9.448 | 9.448 | 9.448 Mbytes -Step Temp E_pair E_mol TotEng Press Volume - 0 0.087426043 -1.2259004 0.076588446 -1.0312868 -7.7802026e-06 64000 -1000 ekin = 1.08696491147664 | erot = 2.23197650714075 | epot = -11.4527250425129 | etot = -8.13378362389549 -2000 ekin = 1.01265115460252 | erot = 2.29132031278141 | epot = -11.4377550908151 | etot = -8.13378362343119 -3000 ekin = 0.964951920610361 | erot = 2.35614244814783 | epot = -11.4548779921653 | etot = -8.13378362340706 -4000 ekin = 0.945861179227109 | erot = 2.42482489276794 | epot = -11.504469695762 | etot = -8.13378362376699 -5000 ekin = 0.952186940161594 | erot = 2.49508744948287 | epot = -11.5810580140496 | etot = -8.13378362440513 -6000 ekin = 0.976836955567338 | erot = 2.56435791368456 | epot = -11.6749784943528 | etot = -8.1337836251009 -7000 ekin = 1.01151727363105 | erot = 2.63034980765842 | epot = -11.7756507069156 | etot = -8.13378362562613 -8000 ekin = 1.04963768886897 | erot = 2.69159648304405 | epot = -11.8750177977506 | etot = -8.13378362583758 -9000 ekin = 1.08831406483925 | erot = 2.74768757650641 | epot = -11.9697852671577 | etot = -8.133783625812 -10000 ekin = 1.12769894654433 | erot = 2.79881902231422 | epot = -12.0603015945014 | etot = -8.13378362564289 -11000 ekin = 1.16997706279096 | erot = 2.84539220453504 | epot = -12.1491528928086 | etot = -8.13378362548262 -12000 ekin = 1.21772825403563 | erot = 2.88753582693543 | epot = -12.2390477064186 | etot = -8.13378362544753 -13000 ekin = 1.2724727764863 | erot = 2.92478423931379 | epot = -12.3310406413901 | etot = -8.13378362559001 -14000 ekin = 1.33384628320073 | erot = 2.95599632290764 | epot = -12.4236262320191 | etot = -8.13378362591071 -15000 ekin = 1.39936071611664 | erot = 2.97947113417335 | epot = -12.512615476685 | etot = -8.13378362639499 -16000 ekin = 1.46443870928024 | erot = 2.99312358077433 | epot = -12.5913459174139 | etot = -8.13378362735931 -17000 ekin = 1.52113741921509 | erot = 2.9943026010584 | epot = -12.6492236482456 | etot = -8.13378362797207 -18000 ekin = 1.56143918576787 | erot = 2.98098620608849 | epot = -12.6762090203242 | etot = -8.13378362846781 -19000 ekin = 1.57873438318794 | erot = 2.95206674454563 | epot = -12.6645847564923 | etot = -8.13378362875874 -20000 ekin = 1.56841348053791 | erot = 2.90735147312963 | epot = -12.6095485824455 | etot = -8.133783628778 -21000 ekin = 1.52886464109308 | erot = 2.84765291368983 | epot = -12.5103011832753 | etot = -8.13378362849243 -22000 ekin = 1.46209217703488 | erot = 2.77478397647202 | epot = -12.3706597813886 | etot = -8.13378362788172 -23000 ekin = 1.37376733102673 | erot = 2.6915572831373 | epot = -12.1991082412398 | etot = -8.13378362707573 -24000 ekin = 1.27262109890791 | erot = 2.60118350194759 | epot = -12.0075882269997 | etot = -8.13378362614423 -25000 ekin = 1.16926502294375 | erot = 2.50703692695192 | epot = -11.8100855751042 | etot = -8.13378362520853 -26000 ekin = 1.0747148994514 | erot = 2.41235840152815 | epot = -11.6208569253572 | etot = -8.13378362437762 -27000 ekin = 0.998982995755809 | erot = 2.31997753232677 | epot = -11.4527441518066 | etot = -8.13378362372405 -28000 ekin = 0.950065052892319 | erot = 2.23215621537589 | epot = -11.3160048915417 | etot = -8.13378362327347 -29000 ekin = 0.933483801722587 | erot = 2.15056100102976 | epot = -11.2178284257646 | etot = -8.13378362301223 -30000 ekin = 0.95233516433604 | erot = 2.07633501131224 | epot = -11.1624537985557 | etot = -8.13378362290739 -31000 ekin = 1.00761822011315 | erot = 2.01025995539434 | epot = -11.1516617984317 | etot = -8.13378362292424 -32000 ekin = 1.09859027316477 | erot = 1.95287201474931 | epot = -11.1852459109706 | etot = -8.13378362305649 -33000 ekin = 1.2229634825769 | erot = 1.90442653272443 | epot = -11.2611736386122 | etot = -8.13378362331086 -34000 ekin = 1.37683793249577 | erot = 1.8649833610543 | epot = -11.3756049172808 | etot = -8.13378362373071 -35000 ekin = 1.55422271443449 | erot = 1.83436013830191 | epot = -11.5223664771471 | etot = -8.13378362441069 -36000 ekin = 1.74589607048132 | erot = 1.81205442227464 | epot = -11.6917341182485 | etot = -8.13378362549252 -37000 ekin = 1.93777565280851 | erot = 1.79705197600549 | epot = -11.8686112558399 | etot = -8.13378362702594 -38000 ekin = 2.11051089015034 | erot = 1.78782890330234 | epot = -12.0321234221666 | etot = -8.13378362871392 -39000 ekin = 2.24321482588503 | erot = 1.78271510837231 | epot = -12.1597135641243 | etot = -8.133783629867 -40000 ekin = 2.32146151921639 | erot = 1.78073283005123 | epot = -12.2359779791646 | etot = -8.13378362989703 -41000 ekin = 2.34386750101386 | erot = 1.78241563043111 | epot = -12.2600667603297 | etot = -8.13378362888477 -42000 ekin = 2.32118218527095 | erot = 1.78979050959074 | epot = -12.2447563223397 | etot = -8.133783627478 -43000 ekin = 2.26309111555158 | erot = 1.80539262076469 | epot = -12.2022673943963 | etot = -8.13378365808002 -44000 ekin = 2.15856242114831 | erot = 1.84609032619602 | epot = -12.1384363880306 | etot = -8.13378364068628 -45000 ekin = 2.08936731003525 | erot = 1.88904724563036 | epot = -12.1121981822921 | etot = -8.13378362662651 -46000 ekin = 1.9964611597006 | erot = 1.93503982400423 | epot = -12.0652846104764 | etot = -8.13378362677155 -47000 ekin = 1.89712577412051 | erot = 1.98806984898582 | epot = -12.0189792501525 | etot = -8.13378362704613 -48000 ekin = 1.79036864863104 | erot = 2.04496273496233 | epot = -11.9691150108767 | etot = -8.13378362728334 -49000 ekin = 1.67630116263937 | erot = 2.10216327906907 | epot = -11.9122480690704 | etot = -8.13378362736196 -50000 ekin = 1.55727015247065 | erot = 2.15637892895979 | epot = -11.8474327086503 | etot = -8.13378362721984 -51000 ekin = 1.43817433709145 | erot = 2.20514040032694 | epot = -11.7770983642843 | etot = -8.13378362686593 -52000 ekin = 1.32596547232174 | erot = 2.24710946475006 | epot = -11.7068585634503 | etot = -8.13378362637853 -53000 ekin = 1.22848082922914 | erot = 2.2820475921038 | epot = -11.6443120472107 | etot = -8.13378362587772 -54000 ekin = 1.15295119316271 | erot = 2.31049933939888 | epot = -11.5972341580451 | etot = -8.13378362548352 -55000 ekin = 1.10463170766328 | erot = 2.33334681406839 | epot = -11.5717621470129 | etot = -8.13378362528126 -56000 ekin = 1.08590799517335 | erot = 2.35139880092329 | epot = -11.5710904214036 | etot = -8.133783625307 -57000 ekin = 1.09599893485501 | erot = 2.36511154450529 | epot = -11.5948941049137 | etot = -8.13378362555341 -58000 ekin = 1.13119803471017 | erot = 2.37445830578815 | epot = -11.6394399664723 | etot = -8.13378362597402 -59000 ekin = 1.18549837183919 | erot = 2.37891691863231 | epot = -11.6981989169902 | etot = -8.13378362651871 -60000 ekin = 1.25136230662771 | erot = 2.37755306615247 | epot = -11.7626989998987 | etot = -8.1337836271185 -61000 ekin = 1.32065657328812 | erot = 2.3691782337931 | epot = -11.8236184347914 | etot = -8.13378362771016 -62000 ekin = 1.38555350991078 | erot = 2.35258911579052 | epot = -11.871926253894 | etot = -8.13378362819273 -63000 ekin = 1.43966787267656 | erot = 2.32682848519596 | epot = -11.900279986355 | etot = -8.13378362848243 -64000 ekin = 1.47909503438177 | erot = 2.29144993715397 | epot = -11.904328600069 | etot = -8.13378362853329 -65000 ekin = 1.50288049774097 | erot = 2.24670960905114 | epot = -11.8833737351501 | etot = -8.13378362835798 -66000 ekin = 1.5127450759902 | erot = 2.19359684183 | epot = -11.8401255458509 | etot = -8.13378362803075 -67000 ekin = 1.51208659633015 | erot = 2.13371356874813 | epot = -11.7795837927184 | etot = -8.13378362764017 -68000 ekin = 1.50462166617945 | erot = 2.06904733139784 | epot = -11.7074526249093 | etot = -8.13378362733203 -69000 ekin = 1.49293889166151 | erot = 2.00167765430527 | epot = -11.6284001731037 | etot = -8.13378362713692 -70000 ekin = 1.47793621174634 | erot = 1.93361210060374 | epot = -11.5453319394055 | etot = -8.13378362705547 -71000 ekin = 1.45891349102838 | erot = 1.86670994694699 | epot = -11.4594070650146 | etot = -8.13378362703923 -72000 ekin = 1.43427842101615 | erot = 1.80270883809022 | epot = -11.3707708861216 | etot = -8.13378362701521 -73000 ekin = 1.40258583891021 | erot = 1.74331039193092 | epot = -11.2796798577521 | etot = -8.13378362691097 -74000 ekin = 1.36359371155269 | erot = 1.69025647754919 | epot = -11.1876338157821 | etot = -8.13378362668024 -75000 ekin = 1.31886252565201 | erot = 1.64533820718028 | epot = -11.0979843591716 | etot = -8.13378362633934 -76000 ekin = 1.27181692773741 | erot = 1.61030043593592 | epot = -11.0159009896013 | etot = -8.13378362592798 -77000 ekin = 1.22767338921994 | erot = 1.58670952555608 | epot = -10.9481665402833 | etot = -8.1337836255073 -78000 ekin = 1.19187425881965 | erot = 1.57555521121131 | epot = -10.9012130952116 | etot = -8.13378362518063 -79000 ekin = 1.16922470588817 | erot = 1.5771660153409 | epot = -10.8801743462041 | etot = -8.133783624975 -80000 ekin = 1.16351312193735 | erot = 1.59112852775418 | epot = -10.8884252746035 | etot = -8.13378362491193 -81000 ekin = 1.17709123428941 | erot = 1.61633850893096 | epot = -10.9272133682121 | etot = -8.1337836249917 -82000 ekin = 1.21064005584025 | erot = 1.65118762576695 | epot = -10.9956113068161 | etot = -8.13378362520889 -83000 ekin = 1.26297331742732 | erot = 1.69382675572848 | epot = -11.0905836987108 | etot = -8.13378362555503 -84000 ekin = 1.33092648687658 | erot = 1.74243133123673 | epot = -11.2071414441142 | etot = -8.13378362600085 -85000 ekin = 1.40961218427362 | erot = 1.7954064033782 | epot = -11.3388022141303 | etot = -8.13378362647843 -86000 ekin = 1.49330005467921 | erot = 1.85150064414008 | epot = -11.478584325705 | etot = -8.13378362688575 -87000 ekin = 1.57653380716702 | erot = 1.90982169886824 | epot = -11.6201391333936 | etot = -8.13378362735836 -88000 ekin = 1.65416408678856 | erot = 1.96971725895481 | epot = -11.7576649732582 | etot = -8.13378362751481 -89000 ekin = 1.72360216634181 | erot = 2.03055934337529 | epot = -11.8879451373045 | etot = -8.1337836275874 -90000 ekin = 1.785009845894 | erot = 2.09126219979601 | epot = -12.0100556734362 | etot = -8.13378362774622 -91000 ekin = 1.83789001415892 | erot = 2.15001837237356 | epot = -12.1216920145417 | etot = -8.13378362800922 -92000 ekin = 1.87517809322897 | erot = 2.20985483887517 | epot = -12.21881656028 | etot = -8.1337836281759 -93000 ekin = 1.90356384535099 | erot = 2.26204903047949 | epot = -12.2993965046575 | etot = -8.13378362882701 -94000 ekin = 1.91566641673062 | erot = 2.30892488078268 | epot = -12.3583749263608 | etot = -8.13378362884745 -95000 ekin = 1.9109576938402 | erot = 2.34997522029996 | epot = -12.3947165431007 | etot = -8.13378362896051 -96000 ekin = 1.88948402498914 | erot = 2.38411475951057 | epot = -12.4073824132803 | etot = -8.13378362878061 -97000 ekin = 1.85343811133912 | erot = 2.4113304629222 | epot = -12.3985522027163 | etot = -8.13378362845495 -98000 ekin = 1.8068427523029 | erot = 2.43203206054824 | epot = -12.3726584408911 | etot = -8.13378362803995 -99000 ekin = 1.75478641123191 | erot = 2.44692977736841 | epot = -12.3354998162068 | etot = -8.13378362760648 -100000 ekin = 1.69590911435714 | erot = 2.45386958409525 | epot = -12.2835623848859 | etot = -8.1337836864335 -101000 ekin = 1.68113249375248 | erot = 2.36572534112453 | epot = -12.1806414642139 | etot = -8.13378362933689 -102000 ekin = 1.7267856590017 | erot = 2.35051337712499 | epot = -12.2110826965905 | etot = -8.13378366046378 -103000 ekin = 1.68338599487705 | erot = 2.35411811039604 | epot = -12.1712877656948 | etot = -8.13378366042173 -104000 ekin = 1.64323586412853 | erot = 2.35701648102718 | epot = -12.1340360056519 | etot = -8.13378366049622 -105000 ekin = 1.60584113472054 | erot = 2.35932964102246 | epot = -12.0989544363531 | etot = -8.1337836606101 -106000 ekin = 1.57044138011807 | erot = 2.36092776943221 | epot = -12.0651528102264 | etot = -8.13378366067613 -107000 ekin = 1.53705400250973 | erot = 2.36166253248191 | epot = -12.0325001956581 | etot = -8.13378366066648 -108000 ekin = 1.50696391591126 | erot = 2.3612855734919 | epot = -12.0020331499846 | etot = -8.13378366058145 -109000 ekin = 1.48244426546657 | erot = 2.35938088270994 | epot = -11.9756088087053 | etot = -8.13378366052874 -110000 ekin = 1.46539913148075 | erot = 2.35530683146149 | epot = -11.9544896235796 | etot = -8.13378366063734 -111000 ekin = 1.45548748017616 | erot = 2.34818065606081 | epot = -11.9374517972408 | etot = -8.13378366100382 -112000 ekin = 1.44872729612952 | erot = 2.3369554826694 | epot = -11.9194664403751 | etot = -8.13378366157621 -113000 ekin = 1.43805495586496 | erot = 2.32068695509389 | epot = -11.8925255730876 | etot = -8.13378366212871 -114000 ekin = 1.41640788690877 | erot = 2.29883886662103 | epot = -11.8490304158909 | etot = -8.13378366236113 -115000 ekin = 1.3806378182208 | erot = 2.27153218573294 | epot = -11.7859536655159 | etot = -8.13378366156219 -116000 ekin = 1.3363054030841 | erot = 2.23942220246119 | epot = -11.7095112666475 | etot = -8.13378366110222 -117000 ekin = 1.29001229198302 | erot = 2.20380811829898 | epot = -11.6276040708683 | etot = -8.13378366058632 -118000 ekin = 1.2471154883471 | erot = 2.16635124019895 | epot = -11.5472503887776 | etot = -8.13378366023153 -119000 ekin = 1.21073685469415 | erot = 2.12872161390258 | epot = -11.4732421286711 | etot = -8.13378366007441 -120000 ekin = 1.18115748419429 | erot = 2.09256534610061 | epot = -11.40750649033 | etot = -8.13378366003514 -121000 ekin = 1.15688642101082 | erot = 2.05947511288391 | epot = -11.3501451939309 | etot = -8.13378366003619 -122000 ekin = 1.13593168276749 | erot = 2.03084061403901 | epot = -11.3005559568652 | etot = -8.13378366005868 -123000 ekin = 1.11638811965923 | erot = 2.00761097209058 | epot = -11.2577827519199 | etot = -8.13378366017012 -124000 ekin = 1.09616325371727 | erot = 1.99019695902073 | epot = -11.2201438730112 | etot = -8.13378366027324 -125000 ekin = 1.07358508996122 | erot = 1.97820026039366 | epot = -11.1855690107827 | etot = -8.13378366042782 -126000 ekin = 1.04712198978498 | erot = 1.9703093700724 | epot = -11.1512150205173 | etot = -8.1337836606599 -127000 ekin = 1.01560359550538 | erot = 1.96476336054353 | epot = -11.1141506168026 | etot = -8.13378366075366 -128000 ekin = 0.979281846652461 | erot = 1.95990906194967 | epot = -11.0729745693076 | etot = -8.13378366070543 -129000 ekin = 0.940294043230153 | erot = 1.95428772921574 | epot = -11.0283654329015 | etot = -8.1337836604556 -130000 ekin = 0.902735823607613 | erot = 1.94710047764783 | epot = -10.9836199613556 | etot = -8.13378366010013 -131000 ekin = 0.872329759140091 | erot = 1.93820575526851 | epot = -10.9443191739575 | etot = -8.13378365954893 -132000 ekin = 0.855045600562661 | erot = 1.92803271303708 | epot = -10.91686197287 | etot = -8.13378365927029 -133000 ekin = 0.854775562822957 | erot = 1.91694878880986 | epot = -10.9055080107091 | etot = -8.13378365907624 -134000 ekin = 0.873981086379292 | erot = 1.90549522489472 | epot = -10.9132599702538 | etot = -8.13378365897974 -135000 ekin = 0.913690181742145 | erot = 1.89429118508536 | epot = -10.9417650257947 | etot = -8.13378365896716 -136000 ekin = 0.973734451665867 | erot = 1.88395321784255 | epot = -10.9914713285358 | etot = -8.13378365902736 -137000 ekin = 1.05255313135959 | erot = 1.87488800080386 | epot = -11.061224792006 | etot = -8.13378365984251 -138000 ekin = 1.14435249948545 | erot = 1.8662689721206 | epot = -11.1444051316855 | etot = -8.13378366007948 -139000 ekin = 1.24448357091338 | erot = 1.8582143500676 | epot = -11.2364815813236 | etot = -8.13378366034262 -140000 ekin = 1.34860347563747 | erot = 1.85113522079124 | epot = -11.3335223570932 | etot = -8.1337836606645 -141000 ekin = 1.45162669266304 | erot = 1.84534635451925 | epot = -11.430756708267 | etot = -8.13378366108474 -142000 ekin = 1.54663919844502 | erot = 1.84103156950906 | epot = -11.5214544297491 | etot = -8.13378366179501 -143000 ekin = 1.62470110239408 | erot = 1.83813053702609 | epot = -11.5966153018864 | etot = -8.13378366246618 -144000 ekin = 1.67710589256287 | erot = 1.83622813336409 | epot = -11.6471176890259 | etot = -8.13378366309898 -145000 ekin = 1.69650852159047 | erot = 1.83477115527449 | epot = -11.6650633403349 | etot = -8.13378366346991 -146000 ekin = 1.6799825027065 | erot = 1.83334306418678 | epot = -11.6471092301924 | etot = -8.13378366329909 -147000 ekin = 1.63255928725504 | erot = 1.83204496822992 | epot = -11.5983879178782 | etot = -8.13378366239327 -148000 ekin = 1.56926257377443 | erot = 1.83182914755782 | epot = -11.5348753821883 | etot = -8.13378366085607 -149000 ekin = 1.5130082497773 | erot = 1.8345272799431 | epot = -11.4813191889253 | etot = -8.13378365920492 -150000 ekin = 1.4872496378471 | erot = 1.84235837448555 | epot = -11.4633916705174 | etot = -8.1337836581848 -151000 ekin = 1.50619323822985 | erot = 1.85697474829955 | epot = -11.4969516448356 | etot = -8.13378365830622 -152000 ekin = 1.56855992602591 | erot = 1.8784728263849 | epot = -11.5808164119014 | etot = -8.1337836594906 -153000 ekin = 1.659144896466 | erot = 1.90493735115907 | epot = -11.6978659087716 | etot = -8.13378366114655 -154000 ekin = 1.75680978950758 | erot = 1.93282846213553 | epot = -11.8234219142217 | etot = -8.1337836625786 -155000 ekin = 1.84344901658449 | erot = 1.95802697046832 | epot = -11.9352596504334 | etot = -8.13378366338056 -156000 ekin = 1.90893795388443 | erot = 1.97697594926066 | epot = -12.0196975667215 | etot = -8.13378366357642 -157000 ekin = 1.95061494385923 | erot = 1.98738512433497 | epot = -12.0717837316312 | etot = -8.13378366343705 -158000 ekin = 1.96976178337713 | erot = 1.98837447181473 | epot = -12.0919199183611 | etot = -8.13378366316927 -159000 ekin = 1.96892634677231 | erot = 1.98033790354813 | epot = -12.0830479131017 | etot = -8.13378366278126 -160000 ekin = 1.9516760180595 | erot = 1.96478101829957 | epot = -12.050240698581 | etot = -8.13378366222189 -161000 ekin = 1.92323849263791 | erot = 1.94408396543495 | epot = -12.001106119617 | etot = -8.13378366154412 -162000 ekin = 1.89012785139911 | erot = 1.92106669306923 | epot = -11.9449782053599 | etot = -8.13378366089159 -163000 ekin = 1.85873206626373 | erot = 1.89844726529898 | epot = -11.8909629919524 | etot = -8.13378366038965 -164000 ekin = 1.83396756863943 | erot = 1.87841814938186 | epot = -11.8461693781076 | etot = -8.13378366008633 -165000 ekin = 1.81873657814088 | erot = 1.86247026312249 | epot = -11.8149905012201 | etot = -8.13378365995669 -166000 ekin = 1.81415764355322 | erot = 1.85144128795253 | epot = -11.7993825914514 | etot = -8.1337836599456 -167000 ekin = 1.82014338462818 | erot = 1.84569577974688 | epot = -11.7996228243663 | etot = -8.1337836599912 -168000 ekin = 1.83604973591334 | erot = 1.84534918673525 | epot = -11.8151825826932 | etot = -8.13378366004457 -169000 ekin = 1.86118807804032 | erot = 1.85047766429904 | epot = -11.8454494024153 | etot = -8.13378366007595 -170000 ekin = 1.89508209492126 | erot = 1.86127600745024 | epot = -11.8901417624553 | etot = -8.13378366008384 -171000 ekin = 1.93739070093814 | erot = 1.87813927221141 | epot = -11.9493136332464 | etot = -8.13378366009684 -172000 ekin = 1.98746465492706 | erot = 1.90165699566163 | epot = -12.0229053107602 | etot = -8.13378366017153 -173000 ekin = 2.04358732260736 | erot = 1.93252470914458 | epot = -12.1098956921179 | etot = -8.13378366036599 -174000 ekin = 2.10212586880692 | erot = 1.9713911136612 | epot = -12.2073006432561 | etot = -8.13378366078798 -175000 ekin = 2.15653164019911 | erot = 2.01868623997432 | epot = -12.3090015416377 | etot = -8.13378366146426 -176000 ekin = 2.19700590631317 | erot = 2.07444517694542 | epot = -12.4052347456347 | etot = -8.13378366237607 -177000 ekin = 2.21275117726748 | erot = 2.13809655452265 | epot = -12.4846313951108 | etot = -8.13378366332064 -178000 ekin = 2.19103084137816 | erot = 2.20849637361836 | epot = -12.5333108794522 | etot = -8.13378366445569 -179000 ekin = 2.0500295875572 | erot = 2.27647492405869 | epot = -12.4602881626278 | etot = -8.13378365101191 -180000 ekin = 2.00100366281084 | erot = 2.36086155180544 | epot = -12.49564888609 | etot = -8.13378367147368 -181000 ekin = 1.82885344502819 | erot = 2.44444025932702 | epot = -12.4070773745337 | etot = -8.13378367017847 -182000 ekin = 1.62724610560594 | erot = 2.53221325513872 | epot = -12.2932430288217 | etot = -8.13378366807706 -183000 ekin = 1.42880501135671 | erot = 2.62540058534349 | epot = -12.1879892625419 | etot = -8.13378366584172 -184000 ekin = 1.26714962832124 | erot = 2.72561981850446 | epot = -12.1265531111181 | etot = -8.13378366429242 -185000 ekin = 1.16606552757969 | erot = 2.83366450732262 | epot = -12.1335136988422 | etot = -8.13378366393991 -186000 ekin = 1.13327188784896 | erot = 2.94811459460546 | epot = -12.2151701472116 | etot = -8.13378366475722 -187000 ekin = 1.16127663962576 | erot = 3.06454091657731 | epot = -12.3596012225475 | etot = -8.13378366634445 -188000 ekin = 1.23275799228642 | erot = 3.17578119614188 | epot = -12.5423228566629 | etot = -8.13378366823461 -189000 ekin = 1.32637276316072 | erot = 3.27316596760526 | epot = -12.7333224008237 | etot = -8.13378367005767 -190000 ekin = 1.42100795808807 | erot = 3.34817980173637 | epot = -12.9029714313702 | etot = -8.13378367154575 -191000 ekin = 1.49794111549843 | erot = 3.39410379075346 | epot = -13.0258285788618 | etot = -8.13378367260988 -192000 ekin = 1.54262156679656 | erot = 3.4072016542923 | epot = -13.0836068940668 | etot = -8.13378367297795 -193000 ekin = 1.54797240883502 | erot = 3.38715231466146 | epot = -13.0689083961198 | etot = -8.13378367262328 -194000 ekin = 1.51467582661458 | erot = 3.33705387754744 | epot = -12.9855133757564 | etot = -8.13378367159443 -195000 ekin = 1.45101621748247 | erot = 3.2626931288523 | epot = -12.8474930164474 | etot = -8.13378367011261 -196000 ekin = 1.37083042970781 | erot = 3.17132041678911 | epot = -12.6759345150009 | etot = -8.13378366850402 -197000 ekin = 1.29009120536726 | erot = 3.070362659358 | epot = -12.4942375317752 | etot = -8.13378366704997 -198000 ekin = 1.22364196643961 | erot = 2.96652382643999 | epot = -12.3239494587833 | etot = -8.13378366590366 -199000 ekin = 1.18307710083256 | erot = 2.86542144217758 | epot = -12.1822822081301 | etot = -8.13378366511998 -200000 ekin = 1.17564340951927 | erot = 2.77158698378744 | epot = -12.0810140580301 | etot = -8.13378366472343 -201000 ekin = 1.20359619391753 | erot = 2.68856918537176 | epot = -12.0259490440297 | etot = -8.13378366474036 -202000 ekin = 1.26374726413799 | erot = 2.61894189740052 | epot = -12.0164728267167 | etot = -8.13378366517818 -203000 ekin = 1.34751597563128 | erot = 2.56419616426444 | epot = -12.0454958058709 | etot = -8.13378366597521 -204000 ekin = 1.44203337890014 | erot = 2.52468734318922 | epot = -12.1005043890645 | etot = -8.13378366697514 -205000 ekin = 1.53246038205369 | erot = 2.49972903140502 | epot = -12.1659730814068 | etot = -8.13378366794806 -206000 ekin = 1.60510558525686 | erot = 2.48793425280268 | epot = -12.226823506722 | etot = -8.13378366866246 -207000 ekin = 1.6503955672318 | erot = 2.48771410987726 | epot = -12.2718933460774 | etot = -8.13378366896831 -208000 ekin = 1.6647192426388 | erot = 2.49772662877186 | epot = -12.2962295402584 | etot = -8.13378366884771 -209000 ekin = 1.65060780281985 | erot = 2.51706178773876 | epot = -12.3014532589741 | etot = -8.13378366841553 -210000 ekin = 1.6152961353015 | erot = 2.54506818372093 | epot = -12.2941479869023 | etot = -8.13378366787986 -211000 ekin = 1.56815998339941 | erot = 2.58088870847273 | epot = -12.2828323593492 | etot = -8.1337836674771 -212000 ekin = 1.51779769211966 | erot = 2.62289115839993 | epot = -12.2744725179132 | etot = -8.13378366739362 -213000 ekin = 1.46970697786411 | erot = 2.66822787294319 | epot = -12.2717185184984 | etot = -8.13378366769114 -214000 ekin = 1.42551121611936 | erot = 2.71271314915558 | epot = -12.2720080334461 | etot = -8.1337836681712 -215000 ekin = 1.38449526701769 | erot = 2.75113858809828 | epot = -12.2694175238335 | etot = -8.13378366871751 -216000 ekin = 1.34611450510656 | erot = 2.77818905444611 | epot = -12.2580872284511 | etot = -8.13378366889838 -217000 ekin = 1.31348152811926 | erot = 2.7896405318765 | epot = -12.2369057285547 | etot = -8.13378366855898 -218000 ekin = 1.29458639919466 | erot = 2.78319145109127 | epot = -12.2115615182389 | etot = -8.13378366795296 -219000 ekin = 1.29978448123113 | erot = 2.75785865494217 | epot = -12.1914268036072 | etot = -8.13378366743386 -220000 ekin = 1.33694784981763 | erot = 2.7136363430195 | epot = -12.1843678601775 | etot = -8.13378366734035 -221000 ekin = 1.40745643921106 | erot = 2.65092088134252 | epot = -12.1921609882712 | etot = -8.13378366771763 -222000 ekin = 1.50572252625996 | erot = 2.57029476952272 | epot = -12.2098009641037 | etot = -8.13378366832102 -223000 ekin = 1.62210843375796 | erot = 2.47289007334085 | epot = -12.2287821759282 | etot = -8.13378366882936 -224000 ekin = 1.74679393022953 | erot = 2.36097135919324 | epot = -12.2415489584554 | etot = -8.1337836690326 -225000 ekin = 1.87205636329989 | erot = 2.23842454190504 | epot = -12.2442645742133 | etot = -8.13378366900838 -226000 ekin = 1.99134598106712 | erot = 2.11064622098391 | epot = -12.2357758711293 | etot = -8.13378366907824 -227000 ekin = 2.09586639151718 | erot = 1.9836470405116 | epot = -12.2132971015581 | etot = -8.1337836695293 -228000 ekin = 2.17197666667466 | erot = 1.86293503717766 | epot = -12.1686953741912 | etot = -8.13378367033886 -229000 ekin = 2.20263173192656 | erot = 1.75265294154698 | epot = -12.0890683445905 | etot = -8.133783671117 -230000 ekin = 2.17321554606928 | erot = 1.65532359970842 | epot = -11.9623228171293 | etot = -8.13378367135164 -231000 ekin = 2.07854920573229 | erot = 1.57213281486697 | epot = -11.7844656913359 | etot = -8.13378367073669 -232000 ekin = 1.92671195021964 | erot = 1.50340464294821 | epot = -11.5639002625321 | etot = -8.13378366936424 -233000 ekin = 1.73729705956061 | erot = 1.44896834770241 | epot = -11.320049074932 | etot = -8.13378366766899 -234000 ekin = 1.53556953354815 | erot = 1.40834045937497 | epot = -11.0776936590029 | etot = -8.13378366607974 -235000 ekin = 1.34558700580172 | erot = 1.38078818073889 | epot = -10.8601588514745 | etot = -8.13378366493391 -236000 ekin = 1.18525206422618 | erot = 1.36570263210385 | epot = -10.6847383605463 | etot = -8.13378366421624 -237000 ekin = 1.06637029724371 | erot = 1.36251012102833 | epot = -10.5626640820865 | etot = -8.13378366381442 -238000 ekin = 0.995491212021415 | erot = 1.37070429771399 | epot = -10.4999791733994 | etot = -8.13378366366397 -239000 ekin = 0.975031518632071 | erot = 1.38971384126899 | epot = -10.49852902367 | etot = -8.13378366376892 -240000 ekin = 1.00352423904758 | erot = 1.4186603402425 | epot = -10.5559682434632 | etot = -8.13378366417311 -241000 ekin = 1.07556704774244 | erot = 1.45612900246834 | epot = -10.6654797151283 | etot = -8.13378366491751 -242000 ekin = 1.18122375067339 | erot = 1.49994629855496 | epot = -10.8149537152528 | etot = -8.13378366602447 -243000 ekin = 1.30634294707463 | erot = 1.54703331020089 | epot = -10.9871599246161 | etot = -8.13378366734062 -244000 ekin = 1.43466609576172 | erot = 1.59374373480244 | epot = -11.1621934990192 | etot = -8.13378366845507 -245000 ekin = 1.55091944171262 | erot = 1.63606515904662 | epot = -11.3207682704728 | etot = -8.13378366971357 -246000 ekin = 1.63963426714594 | erot = 1.67091688012747 | epot = -11.44433481791 | etot = -8.13378367063654 -247000 ekin = 1.68912292676109 | erot = 1.69643192578617 | epot = -11.5193385235868 | etot = -8.13378367103955 -248000 ekin = 1.69418623366497 | erot = 1.71223298155038 | epot = -11.5402028860522 | etot = -8.13378367083691 -249000 ekin = 1.65708464249967 | erot = 1.71943097162633 | epot = -11.5102992843205 | etot = -8.13378367019453 -250000 ekin = 1.58639864685292 | erot = 1.72015982289402 | epot = -11.4403421388607 | etot = -8.13378366911377 -251000 ekin = 1.4955593640773 | erot = 1.71716072440084 | epot = -11.3465037564424 | etot = -8.13378366796425 -252000 ekin = 1.39930346630793 | erot = 1.71298107622663 | epot = -11.2460682095263 | etot = -8.13378366699178 -253000 ekin = 1.31034898359465 | erot = 1.70949093459542 | epot = -11.1536235845406 | etot = -8.13378366635058 -254000 ekin = 1.23716194123275 | erot = 1.70776552340113 | epot = -11.0787111307323 | etot = -8.1337836660984 -255000 ekin = 1.1830573384521 | erot = 1.70821467485075 | epot = -11.0250556794499 | etot = -8.13378366614706 -256000 ekin = 1.14729363432733 | erot = 1.71063275158168 | epot = -10.9917100522905 | etot = -8.13378366638151 -257000 ekin = 1.12650460108618 | erot = 1.71454195552784 | epot = -10.9748302232638 | etot = -8.13378366664974 -258000 ekin = 1.11669715917854 | erot = 1.71938873503291 | epot = -10.9698695610653 | etot = -8.13378366685386 -259000 ekin = 1.11461746403823 | erot = 1.72463904931068 | epot = -10.973040180336 | etot = -8.13378366698711 -260000 ekin = 1.11796213299236 | erot = 1.72976096813939 | epot = -10.981506768234 | etot = -8.13378366710223 -261000 ekin = 1.12495929560755 | erot = 1.73429797646801 | epot = -10.9930409392085 | etot = -8.1337836671329 -262000 ekin = 1.13415334886775 | erot = 1.73799782227182 | epot = -11.0059348383752 | etot = -8.13378366723562 -263000 ekin = 1.14419248657758 | erot = 1.74014341283967 | epot = -11.0181195666639 | etot = -8.13378366724668 -264000 ekin = 1.15486713033053 | erot = 1.7401404967673 | epot = -11.0287912942166 | etot = -8.13378366711881 -265000 ekin = 1.16757148072449 | erot = 1.73774643956173 | epot = -11.0391015871626 | etot = -8.1337836668764 -266000 ekin = 1.18492523334689 | erot = 1.73313774545392 | epot = -11.0518466454007 | etot = -8.13378366659988 -267000 ekin = 1.20976553808707 | erot = 1.72682085390381 | epot = -11.0703700583714 | etot = -8.13378366638055 -268000 ekin = 1.24403111905802 | erot = 1.71946869065433 | epot = -11.0972834759964 | etot = -8.13378366628403 -269000 ekin = 1.28796807043146 | erot = 1.71176934564053 | epot = -11.1335210824081 | etot = -8.13378366633612 -270000 ekin = 1.33984072253416 | erot = 1.70434119615581 | epot = -11.1779655852127 | etot = -8.13378366652273 -271000 ekin = 1.39615730896201 | erot = 1.69774776464813 | epot = -11.227688740386 | etot = -8.13378366677587 -272000 ekin = 1.45234426470507 | erot = 1.69276715684496 | epot = -11.2788950886237 | etot = -8.13378366707369 -273000 ekin = 1.50368133069818 | erot = 1.68992546991268 | epot = -11.3273904679252 | etot = -8.13378366731432 -274000 ekin = 1.54639996325692 | erot = 1.68983337628906 | epot = -11.370017006958 | etot = -8.13378366741207 -275000 ekin = 1.57877490148782 | erot = 1.69332235277359 | epot = -11.405880921593 | etot = -8.13378366733158 -276000 ekin = 1.60168052283352 | erot = 1.70138855155485 | epot = -11.4368527414861 | etot = -8.1337836670977 -277000 ekin = 1.61832490283022 | erot = 1.71502642603267 | epot = -11.4671349956655 | etot = -8.13378366680262 -278000 ekin = 1.63311060675218 | erot = 1.73495415768089 | epot = -11.501848431012 | etot = -8.1337836665789 -279000 ekin = 1.64995273994814 | erot = 1.76130541527939 | epot = -11.5450418217722 | etot = -8.1337836665447 -280000 ekin = 1.67073877093319 | erot = 1.79339849893235 | epot = -11.5979209366104 | etot = -8.1337836667449 -281000 ekin = 1.69438407984855 | erot = 1.82970064438583 | epot = -11.6578683914556 | etot = -8.13378366722118 -282000 ekin = 1.71376506080659 | erot = 1.86795891950317 | epot = -11.7155076481287 | etot = -8.13378366781891 -283000 ekin = 1.72224450525134 | erot = 1.90529068548182 | epot = -11.7613188590736 | etot = -8.13378366834043 -284000 ekin = 1.71505262177091 | erot = 1.93881515489562 | epot = -11.7876514453522 | etot = -8.13378366868565 -285000 ekin = 1.68954869056389 | erot = 1.96608819497543 | epot = -11.7894205543611 | etot = -8.1337836688218 -286000 ekin = 1.6455513774762 | erot = 1.98537597121296 | epot = -11.7647110174623 | etot = -8.13378366877313 -287000 ekin = 1.58495470813084 | erot = 1.99578989882447 | epot = -11.7145282755466 | etot = -8.13378366859128 -288000 ekin = 1.51101761585498 | erot = 1.997297767928 | epot = -11.6420990521125 | etot = -8.13378366832957 -289000 ekin = 1.42766231980924 | erot = 1.99063899576454 | epot = -11.5520849836069 | etot = -8.13378366803313 -290000 ekin = 1.33894501486224 | erot = 1.97716758999151 | epot = -11.4498962725851 | etot = -8.13378366773135 -291000 ekin = 1.24881721188078 | erot = 1.95864649302987 | epot = -11.3412473723324 | etot = -8.1337836674218 -292000 ekin = 1.16137515575752 | erot = 1.9370295819175 | epot = -11.2321884047302 | etot = -8.13378366705515 -293000 ekin = 1.08169833470813 | erot = 1.91427738455251 | epot = -11.1297593858174 | etot = -8.13378366655679 -294000 ekin = 1.01689863826428 | erot = 1.89223243581134 | epot = -11.0429147399724 | etot = -8.13378366589681 -295000 ekin = 0.976377352950436 | erot = 1.87253324956362 | epot = -10.9826942676921 | etot = -8.13378366517802 -296000 ekin = 0.970182395978853 | erot = 1.85650679550316 | epot = -10.9604728561383 | etot = -8.13378366465628 -297000 ekin = 1.00537151816994 | erot = 1.84499118418623 | epot = -10.9841463669816 | etot = -8.1337836646254 -298000 ekin = 1.08200534146755 | erot = 1.83812417715671 | epot = -11.0539131838581 | etot = -8.13378366523386 -299000 ekin = 1.19125189129762 | erot = 1.83519410294265 | epot = -11.1602296606164 | etot = -8.13378366637616 -300000 ekin = 1.31698721061339 | erot = 1.83465168975443 | epot = -11.2854225681148 | etot = -8.13378366774697 -301000 ekin = 1.44008784809306 | erot = 1.83433803115556 | epot = -11.4082095482411 | etot = -8.13378366899252 -302000 ekin = 1.54329548540286 | erot = 1.83190000196868 | epot = -11.5089791572108 | etot = -8.13378366983924 -303000 ekin = 1.61484992407284 | erot = 1.82529439832888 | epot = -11.5739279925558 | etot = -8.13378367015409 -304000 ekin = 1.65011047810433 | erot = 1.81324433416773 | epot = -11.5971384822047 | etot = -8.13378366993262 -305000 ekin = 1.65140814366736 | erot = 1.79549497030326 | epot = -11.5806867832608 | etot = -8.13378366929013 -306000 ekin = 1.62643416627377 | erot = 1.77280218913901 | epot = -11.533020023822 | etot = -8.13378366840924 -307000 ekin = 1.58577500467182 | erot = 1.74668500708233 | epot = -11.4662436792488 | etot = -8.13378366749463 -308000 ekin = 1.54030424866681 | erot = 1.71903801624656 | epot = -11.3931259316282 | etot = -8.13378366671483 -309000 ekin = 1.49900091050482 | erot = 1.69173690591874 | epot = -11.3245214826124 | etot = -8.13378366618884 -310000 ekin = 1.46747597212437 | erot = 1.66636932779528 | epot = -11.2676289658614 | etot = -8.13378366594171 -311000 ekin = 1.44771419446156 | erot = 1.6441044887676 | epot = -11.2256023491818 | etot = -8.13378366595262 -312000 ekin = 1.43839141863275 | erot = 1.62568199896143 | epot = -11.1978570837366 | etot = -8.13378366614239 -313000 ekin = 1.43594352565088 | erot = 1.61150443049421 | epot = -11.1812316225552 | etot = -8.1337836664101 -314000 ekin = 1.43595255617279 | erot = 1.60177116104702 | epot = -11.1715073838761 | etot = -8.13378366665631 -315000 ekin = 1.43500742740862 | erot = 1.59648896098777 | epot = -11.1652800551048 | etot = -8.13378366670845 -316000 ekin = 1.43108473245696 | erot = 1.59565804393669 | epot = -11.1605264431174 | etot = -8.13378366672371 -317000 ekin = 1.42390336283974 | erot = 1.59957952106222 | epot = -11.1572665504315 | etot = -8.13378366652955 -318000 ekin = 1.41631295378698 | erot = 1.60866819207144 | epot = -11.1587648120198 | etot = -8.13378366616138 -319000 ekin = 1.41381426232924 | erot = 1.62334142232199 | epot = -11.1709393503737 | etot = -8.13378366572251 -320000 ekin = 1.42315030252084 | erot = 1.64384116840171 | epot = -11.2007751362867 | etot = -8.13378366536418 -321000 ekin = 1.45024845494019 | erot = 1.67003325939975 | epot = -11.254065379577 | etot = -8.13378366523704 -322000 ekin = 1.49815500536719 | erot = 1.70123818171236 | epot = -11.3331768525215 | etot = -8.13378366544195 -323000 ekin = 1.5656935250191 | erot = 1.73609284126415 | epot = -11.4355700322998 | etot = -8.13378366601658 -324000 ekin = 1.64679224021207 | erot = 1.77264010659864 | epot = -11.5532160138045 | etot = -8.13378366699375 -325000 ekin = 1.73163775630944 | erot = 1.80818795205414 | epot = -11.6736093764064 | etot = -8.13378366804283 -326000 ekin = 1.80750329208306 | erot = 1.83980749295526 | epot = -11.7810944543854 | etot = -8.13378366934709 -327000 ekin = 1.85797659456583 | erot = 1.86537346541973 | epot = -11.8571337303115 | etot = -8.13378367032595 -328000 ekin = 1.87027520748892 | erot = 1.88392315073226 | epot = -11.8879820288801 | etot = -8.13378367065894 -329000 ekin = 1.83949589054753 | erot = 1.89597309718836 | epot = -11.8692526579141 | etot = -8.13378367017824 -330000 ekin = 1.77117100868916 | erot = 1.90323589019464 | epot = -11.8081905678794 | etot = -8.13378366899564 -331000 ekin = 1.68023517873261 | erot = 1.90771959425499 | epot = -11.7217384405322 | etot = -8.13378366754461 -332000 ekin = 1.58599656571375 | erot = 1.91066851347188 | epot = -11.6304487455355 | etot = -8.13378366634985 -333000 ekin = 1.50566649891541 | erot = 1.91203797343775 | epot = -11.5514881380513 | etot = -8.13378366569817 -334000 ekin = 1.44997196058942 | erot = 1.91073772769977 | epot = -11.4944933538496 | etot = -8.13378366556045 -335000 ekin = 1.42175053140811 | erot = 1.90515605629062 | epot = -11.4606902539324 | etot = -8.13378366623365 -336000 ekin = 1.41662531058447 | erot = 1.89330033651394 | epot = -11.443709313723 | etot = -8.13378366662462 -337000 ekin = 1.42902342419931 | erot = 1.87459660541457 | epot = -11.4374036965604 | etot = -8.13378366694656 -338000 ekin = 1.45347553474132 | erot = 1.84924982279079 | epot = -11.436509024704 | etot = -8.13378366717192 -339000 ekin = 1.48532648332251 | erot = 1.81789825388619 | epot = -11.437008404542 | etot = -8.13378366733331 -340000 ekin = 1.52068113212483 | erot = 1.7813105429029 | epot = -11.4357753425016 | etot = -8.13378366747389 -341000 ekin = 1.55606070128828 | erot = 1.74019406298435 | epot = -11.4300384318866 | etot = -8.13378366761401 -342000 ekin = 1.58819693536375 | erot = 1.69515176482855 | epot = -11.4171323679322 | etot = -8.13378366773992 -343000 ekin = 1.61415529814652 | erot = 1.64675903935083 | epot = -11.3946980053116 | etot = -8.13378366781428 -344000 ekin = 1.63171879307199 | erot = 1.5956931979438 | epot = -11.3611956588164 | etot = -8.13378366780064 -345000 ekin = 1.63976605961451 | erot = 1.54282704209179 | epot = -11.3163767694008 | etot = -8.13378366769452 -346000 ekin = 1.63837200138269 | erot = 1.48918714016891 | epot = -11.261342809072 | etot = -8.13378366752041 -347000 ekin = 1.62852754177371 | erot = 1.43587351565002 | epot = -11.1981847247542 | etot = -8.13378366733049 -348000 ekin = 1.61158889283558 | erot = 1.383925469405 | epot = -11.1292980294128 | etot = -8.1337836671722 -349000 ekin = 1.5887355743944 | erot = 1.33422850520572 | epot = -11.0567477466733 | etot = -8.13378366707318 -350000 ekin = 1.56064786721382 | erot = 1.28749851959908 | epot = -10.9819300538446 | etot = -8.13378366703172 -351000 ekin = 1.5275419119129 | erot = 1.24434620359442 | epot = -10.9056717825208 | etot = -8.13378366701344 -352000 ekin = 1.48960299203902 | erot = 1.20538641998081 | epot = -10.8287730789796 | etot = -8.13378366695982 -353000 ekin = 1.44778264502937 | erot = 1.17134399709156 | epot = -10.7529103089083 | etot = -8.13378366678739 -354000 ekin = 1.40533100953332 | erot = 1.1432484492258 | epot = -10.6823631252447 | etot = -8.13378366648562 -355000 ekin = 1.36869095863465 | erot = 1.1225024206929 | epot = -10.624977045382 | etot = -8.13378366605446 -356000 ekin = 1.34490175995569 | erot = 1.10992990778131 | epot = -10.5886153331834 | etot = -8.13378366544639 -357000 ekin = 1.34315796276069 | erot = 1.10621719879611 | epot = -10.5831588263828 | etot = -8.13378366482595 -358000 ekin = 1.37283801207955 | erot = 1.11171347587719 | epot = -10.6183351524124 | etot = -8.13378366445567 -359000 ekin = 1.43996759058378 | erot = 1.12612871057391 | epot = -10.6998799657445 | etot = -8.13378366458682 -360000 ekin = 1.5438844591409 | erot = 1.14830381564085 | epot = -10.8259719400993 | etot = -8.13378366531752 -361000 ekin = 1.6758653150916 | erot = 1.1761890541914 | epot = -10.9858380358532 | etot = -8.13378366657025 -362000 ekin = 1.82005627455488 | erot = 1.20703160753363 | epot = -11.1608715500439 | etot = -8.13378366795535 -363000 ekin = 1.9585058393723 | erot = 1.23798141777755 | epot = -11.3302709261634 | etot = -8.13378366901354 -364000 ekin = 2.07580017664351 | erot = 1.26672677095187 | epot = -11.4763106177171 | etot = -8.13378367012168 -365000 ekin = 2.15891662517396 | erot = 1.29173621495671 | epot = -11.584436510601 | etot = -8.13378367047035 -366000 ekin = 2.20238380195759 | erot = 1.31262064914767 | epot = -11.648788121337 | etot = -8.13378367023179 -367000 ekin = 2.20851727275297 | erot = 1.33022857587875 | epot = -11.6725295182418 | etot = -8.13378366961006 -368000 ekin = 2.18513118770515 | erot = 1.34632721320016 | epot = -11.6652420696031 | etot = -8.13378366869782 -369000 ekin = 2.14321144646592 | erot = 1.36315448463329 | epot = -11.6401495989026 | etot = -8.13378366780341 -370000 ekin = 2.0938828241329 | erot = 1.3829685872043 | epot = -11.6106350785139 | etot = -8.13378366717668 -371000 ekin = 2.04539161606643 | erot = 1.40758201280279 | epot = -11.5867572956931 | etot = -8.13378366682384 -372000 ekin = 2.00261126514667 | erot = 1.43827057512733 | epot = -11.5746655069399 | etot = -8.13378366666586 -373000 ekin = 1.96798302472881 | erot = 1.47584503943877 | epot = -11.5776117307477 | etot = -8.13378366658016 -374000 ekin = 1.9427642201498 | erot = 1.52074221163615 | epot = -11.597290098334 | etot = -8.13378366654806 -375000 ekin = 1.92741631545116 | erot = 1.57302624843808 | epot = -11.6342262305069 | etot = -8.13378366661764 -376000 ekin = 1.92110841836679 | erot = 1.63232320681306 | epot = -11.6872152920288 | etot = -8.13378366684891 -377000 ekin = 1.92083197489726 | erot = 1.69770894533778 | epot = -11.7523245875375 | etot = -8.13378366730242 -378000 ekin = 1.92097158012141 | erot = 1.7676305565423 | epot = -11.8223858045367 | etot = -8.13378366787296 -379000 ekin = 1.9143805691691 | erot = 1.83964318712979 | epot = -11.8878074249498 | etot = -8.13378366865087 -380000 ekin = 1.89241520119535 | erot = 1.91106138176889 | epot = -11.937260252322 | etot = -8.13378366935773 -381000 ekin = 1.84711843121381 | erot = 1.97933543814508 | epot = -11.9602375392247 | etot = -8.13378366986585 -382000 ekin = 1.77364821788772 | erot = 2.04210934440012 | epot = -11.9495412323447 | etot = -8.13378367005691 -383000 ekin = 1.67178472399728 | erot = 2.09754562136732 | epot = -11.9031140151878 | etot = -8.13378366982318 -384000 ekin = 1.54709556481459 | erot = 2.14438708234362 | epot = -11.8252663163777 | etot = -8.13378366921949 -385000 ekin = 1.41093432867779 | erot = 2.18184182145105 | epot = -11.7265598182848 | etot = -8.13378366815593 -386000 ekin = 1.27958936994579 | erot = 2.21051340231035 | epot = -11.6238864391451 | etot = -8.13378366688898 -387000 ekin = 1.17137861198561 | erot = 2.23163165239764 | epot = -11.5367939301736 | etot = -8.13378366579032 -388000 ekin = 1.10179780402574 | erot = 2.2463475452751 | epot = -11.4819290145282 | etot = -8.13378366522735 -389000 ekin = 1.07882148968846 | erot = 2.25505587957373 | epot = -11.4676610376626 | etot = -8.13378366840039 -390000 ekin = 1.07051570135838 | erot = 2.26936424220882 | epot = -11.4736636037163 | etot = -8.13378366014913 -391000 ekin = 1.12513305991642 | erot = 2.28557987987656 | epot = -11.5444966077453 | etot = -8.1337836679523 -392000 ekin = 1.21295440172366 | erot = 2.2706367034028 | epot = -11.6173747716316 | etot = -8.13378366650518 -393000 ekin = 1.30924312365442 | erot = 2.24076930893579 | epot = -11.6837960997181 | etot = -8.13378366712787 -394000 ekin = 1.40561895760616 | erot = 2.19794335034461 | epot = -11.737345975341 | etot = -8.13378366739023 -395000 ekin = 1.49662707239319 | erot = 2.14293675801978 | epot = -11.7733474977479 | etot = -8.13378366733488 -396000 ekin = 1.5807772799153 | erot = 2.07761988891138 | epot = -11.7921808358758 | etot = -8.13378366704916 -397000 ekin = 1.65955042581882 | erot = 2.00469837191084 | epot = -11.798032464358 | etot = -8.13378366662836 -398000 ekin = 1.73622447988647 | erot = 1.92743077252919 | epot = -11.7974389185614 | etot = -8.13378366614571 -399000 ekin = 1.81471876942244 | erot = 1.84941455049526 | epot = -11.7979169856369 | etot = -8.13378366571923 -400000 ekin = 1.89831345083278 | erot = 1.77428869309233 | epot = -11.8063858093355 | etot = -8.13378366541043 -401000 ekin = 1.98857882165089 | erot = 1.70555701947636 | epot = -11.8279195064046 | etot = -8.13378366527734 -402000 ekin = 2.08469272454778 | erot = 1.64640053761285 | epot = -11.8648769274935 | etot = -8.13378366533283 -403000 ekin = 2.18333492883602 | erot = 1.59947809827672 | epot = -11.9165966926831 | etot = -8.1337836655704 -404000 ekin = 2.27899469657512 | erot = 1.56671457666659 | epot = -11.9794929390995 | etot = -8.13378366585775 -405000 ekin = 2.36506409046644 | erot = 1.54904572147253 | epot = -12.0478934783876 | etot = -8.1337836664486 -406000 ekin = 2.43306193249797 | erot = 1.54630434412229 | epot = -12.1131499437779 | etot = -8.13378366715766 -407000 ekin = 2.47364186380494 | erot = 1.55689186413063 | epot = -12.1643173959541 | etot = -8.13378366801855 -408000 ekin = 2.47760299472499 | erot = 1.5781064138446 | epot = -12.1894930773328 | etot = -8.13378366876325 -409000 ekin = 2.43822850842607 | erot = 1.60664113475467 | epot = -12.1786533122588 | etot = -8.13378366907809 -410000 ekin = 2.35516301280273 | erot = 1.63934184028366 | epot = -12.1282885218163 | etot = -8.1337836687299 -411000 ekin = 2.23661952277215 | erot = 1.67408087730624 | epot = -12.0444840678237 | etot = -8.13378366774526 -412000 ekin = 2.09851267461913 | erot = 1.71012170017578 | epot = -11.9424180412146 | etot = -8.1337836664197 -413000 ekin = 1.96056484793908 | erot = 1.7477880401112 | epot = -11.8421365532043 | etot = -8.13378366515403 -414000 ekin = 1.84128090481493 | erot = 1.78771082122122 | epot = -11.7627753903064 | etot = -8.13378366427029 -415000 ekin = 1.7539044233613 | erot = 1.83009103154469 | epot = -11.7177791188321 | etot = -8.13378366392606 -416000 ekin = 1.70439570487831 | erot = 1.87425008285661 | epot = -11.7124294518623 | etot = -8.13378366412735 -417000 ekin = 1.69131554252948 | erot = 1.918501478837 | epot = -11.7436006861831 | etot = -8.13378366481665 -418000 ekin = 1.7068949003181 | erot = 1.96025799788764 | epot = -11.8009365639631 | etot = -8.13378366575732 -419000 ekin = 1.73962222230371 | erot = 1.99637255840703 | epot = -11.8697784474997 | etot = -8.13378366678895 -420000 ekin = 1.77669286262483 | erot = 2.02357619714979 | epot = -11.9340527274781 | etot = -8.13378366770344 -421000 ekin = 1.8065782408294 | erot = 2.03903049555701 | epot = -11.9793924047138 | etot = -8.13378366832744 -422000 ekin = 1.82111290085909 | erot = 2.04088419799601 | epot = -11.9957807674282 | etot = -8.13378366857305 -423000 ekin = 1.81648584568676 | erot = 2.02865244729856 | epot = -11.9789219614447 | etot = -8.13378366845938 -424000 ekin = 1.79301691785087 | erot = 2.00326876348606 | epot = -11.9300693494109 | etot = -8.13378366807394 -425000 ekin = 1.75424046968078 | erot = 1.96680784722196 | epot = -11.854831984411 | etot = -8.13378366750822 -426000 ekin = 1.70601392329189 | erot = 1.92202692837053 | epot = -11.7618245184899 | etot = -8.1337836668275 -427000 ekin = 1.65580906012917 | erot = 1.87186985441136 | epot = -11.6614625806787 | etot = -8.13378366613817 -428000 ekin = 1.61207963969401 | erot = 1.81905558542235 | epot = -11.5649188905524 | etot = -8.13378366543605 -429000 ekin = 1.5833999942279 | erot = 1.7657989317176 | epot = -11.4829825908563 | etot = -8.13378366491079 -430000 ekin = 1.57646033947372 | erot = 1.71346152699375 | epot = -11.4237055311687 | etot = -8.13378366470128 -431000 ekin = 1.59418488210765 | erot = 1.66239892772925 | epot = -11.3903674747264 | etot = -8.13378366488948 -432000 ekin = 1.63452809771756 | erot = 1.6120557480409 | epot = -11.3803675111914 | etot = -8.13378366543294 -433000 ekin = 1.69077410977045 | erot = 1.56136635610619 | epot = -11.3859241320172 | etot = -8.13378366614059 -434000 ekin = 1.75368500742851 | erot = 1.50939558466423 | epot = -11.3968642588277 | etot = -8.13378366673501 -435000 ekin = 1.81477188941446 | erot = 1.45598133799928 | epot = -11.4045368944161 | etot = -8.13378366700231 -436000 ekin = 1.86895151228373 | erot = 1.40204530898049 | epot = -11.4047804881002 | etot = -8.13378366683597 -437000 ekin = 1.91551323813672 | erot = 1.34941425923527 | epot = -11.3987111639605 | etot = -8.1337836665885 -438000 ekin = 1.95545357706279 | erot = 1.30011080733717 | epot = -11.3893480508802 | etot = -8.13378366648026 -439000 ekin = 1.98811153075646 | erot = 1.25557284833876 | epot = -11.3774680457415 | etot = -8.13378366664625 -440000 ekin = 2.00986623436097 | erot = 1.2163020416111 | epot = -11.3599519429673 | etot = -8.13378366699526 -441000 ekin = 2.0153035076586 | erot = 1.18202297032889 | epot = -11.3311101452758 | etot = -8.13378366728832 -442000 ekin = 1.99936349679035 | erot = 1.15207873138256 | epot = -11.2852258960272 | etot = -8.13378366785425 -443000 ekin = 1.95696749681663 | erot = 1.12547607064077 | epot = -11.216227234986 | etot = -8.13378366752865 -444000 ekin = 1.89166490098974 | erot = 1.10194461447989 | epot = -11.1273931823301 | etot = -8.13378366686045 -445000 ekin = 1.81328868644751 | erot = 1.08168732032588 | epot = -11.0287596725674 | etot = -8.13378366579406 -446000 ekin = 1.73577899474701 | erot = 1.06505071492863 | epot = -10.934613374722 | etot = -8.13378366504638 -447000 ekin = 1.67093185588831 | erot = 1.05239705126931 | epot = -10.8571125714695 | etot = -8.13378366431192 -448000 ekin = 1.6291185681957 | erot = 1.04409603312635 | epot = -10.8069982651693 | etot = -8.13378366384729 -449000 ekin = 1.61731626297075 | erot = 1.04041489697141 | epot = -10.7915148237036 | etot = -8.1337836637614 -450000 ekin = 1.63711697605715 | erot = 1.04135992229639 | epot = -10.8122605626986 | etot = -8.13378366434503 -451000 ekin = 1.68320258142166 | erot = 1.04620824656513 | epot = -10.8631944930204 | etot = -8.13378366503363 -452000 ekin = 1.74581668011681 | erot = 1.05391169410103 | epot = -10.9335120399974 | etot = -8.13378366577957 -453000 ekin = 1.81457146100472 | erot = 1.06335165863441 | epot = -11.0117067861179 | etot = -8.1337836664788 -454000 ekin = 1.87975957938335 | erot = 1.07317402238505 | epot = -11.0867172689043 | etot = -8.13378366713586 -455000 ekin = 1.93251877587776 | erot = 1.08171623325473 | epot = -11.1480186769427 | etot = -8.1337836678102 -456000 ekin = 1.96415416826711 | erot = 1.08704156958797 | epot = -11.1849794063562 | etot = -8.13378366850113 -457000 ekin = 1.96605348077107 | erot = 1.0872339429417 | epot = -11.1870710927834 | etot = -8.13378366907065 -458000 ekin = 1.93127523761038 | erot = 1.08096076790399 | epot = -11.146019674778 | etot = -8.13378366926365 -459000 ekin = 1.85771594839341 | erot = 1.06809531780711 | epot = -11.0595949350253 | etot = -8.13378366882483 -460000 ekin = 1.75147188083719 | erot = 1.05009293158359 | epot = -10.9353484800662 | etot = -8.13378366764541 -461000 ekin = 1.62834142733938 | erot = 1.02990811326467 | epot = -10.7920332065062 | etot = -8.13378366590216 -462000 ekin = 1.51195360647934 | erot = 1.01153881174451 | epot = -10.6572760812002 | etot = -8.13378366297633 -463000 ekin = 1.43011910143845 | erot = 1.00022578453823 | epot = -10.5641285481517 | etot = -8.13378366217503 -464000 ekin = 1.39582910827496 | erot = 0.998198432077561 | epot = -10.5278112022032 | etot = -8.13378366185073 -465000 ekin = 1.41007554850175 | erot = 1.0059200900327 | epot = -10.5497793012377 | etot = -8.13378366270329 -466000 ekin = 1.46251969360673 | erot = 1.02219738030602 | epot = -10.6185007378636 | etot = -8.13378366395089 -467000 ekin = 1.49627186628377 | erot = 1.05472101821887 | epot = -10.684776548826 | etot = -8.13378366432334 -468000 ekin = 1.51725853676448 | erot = 1.12479885662203 | epot = -10.7758410579224 | etot = -8.1337836645359 -469000 ekin = 1.58140637755478 | erot = 1.16828828958825 | epot = -10.883478331625 | etot = -8.13378366448195 -470000 ekin = 1.60068578299443 | erot = 1.18114141021191 | epot = -10.9156108575561 | etot = -8.13378366434975 -471000 ekin = 1.59076368327275 | erot = 1.18707237247091 | epot = -10.9116197194443 | etot = -8.1337836637006 -472000 ekin = 1.56124060600587 | erot = 1.18572143101271 | epot = -10.880745699812 | etot = -8.13378366279344 -473000 ekin = 1.52502097411989 | erot = 1.17792025681201 | epot = -10.8367248927673 | etot = -8.13378366183537 -474000 ekin = 1.49533177226198 | erot = 1.16544446213558 | epot = -10.794559895353 | etot = -8.13378366095545 -475000 ekin = 1.48386630176111 | erot = 1.15068540215573 | epot = -10.7683353641552 | etot = -8.13378366023836 -476000 ekin = 1.49971334632826 | erot = 1.13623821677978 | epot = -10.7697352228517 | etot = -8.13378365974365 -477000 ekin = 1.54871118769558 | erot = 1.1244843335277 | epot = -10.8069791813352 | etot = -8.13378366011192 -478000 ekin = 1.62953491120423 | erot = 1.11764268903608 | epot = -10.8809612604802 | etot = -8.13378366023986 -479000 ekin = 1.73735741643918 | erot = 1.11700620811327 | epot = -10.9881472852187 | etot = -8.13378366066626 -480000 ekin = 1.86556210288033 | erot = 1.12262064775157 | epot = -11.1219664120646 | etot = -8.13378366143269 -481000 ekin = 2.00121026337205 | erot = 1.13364860021322 | epot = -11.2686425499513 | etot = -8.133783686366 -482000 ekin = 2.04617329758791 | erot = 1.16256926170154 | epot = -11.3425262237766 | etot = -8.13378366448714 -483000 ekin = 2.14335261834806 | erot = 1.21476273130068 | epot = -11.4918990325578 | etot = -8.13378368290904 -484000 ekin = 2.2027099535623 | erot = 1.23147381806936 | epot = -11.5679674446503 | etot = -8.13378367301867 -485000 ekin = 2.20682939440963 | erot = 1.23835798982089 | epot = -11.5789710574828 | etot = -8.13378367325232 -486000 ekin = 2.16589682794253 | erot = 1.24300370551841 | epot = -11.5426842062897 | etot = -8.13378367282871 -487000 ekin = 2.08668888864966 | erot = 1.24625551752124 | epot = -11.4667280780175 | etot = -8.1337836718466 -488000 ekin = 1.98386509125085 | erot = 1.24977318046638 | epot = -11.3674219422406 | etot = -8.13378367052335 -489000 ekin = 1.87707931030754 | erot = 1.25547012773704 | epot = -11.2663331072054 | etot = -8.13378366916079 -490000 ekin = 1.78677596317084 | erot = 1.26490338721995 | epot = -11.1854630185179 | etot = -8.13378366812706 -491000 ekin = 1.72903831214138 | erot = 1.27867004038139 | epot = -11.1414920203219 | etot = -8.13378366779911 -492000 ekin = 1.71039979057821 | erot = 1.29591768107264 | epot = -11.1401011400708 | etot = -8.13378366841992 -493000 ekin = 1.72454317156128 | erot = 1.31423280426762 | epot = -11.1725596457329 | etot = -8.13378366990395 -494000 ekin = 1.75332785015452 | erot = 1.33022406246675 | epot = -11.2173355843439 | etot = -8.13378367172259 -495000 ekin = 1.77349565825588 | erot = 1.34086561473228 | epot = -11.2481449460261 | etot = -8.13378367303795 -496000 ekin = 1.76725059667724 | erot = 1.34512484286663 | epot = -11.2461591126952 | etot = -8.13378367315135 -497000 ekin = 1.7312763798942 | erot = 1.34494708212178 | epot = -11.2100071339786 | etot = -8.1337836719626 -498000 ekin = 1.6785500090819 | erot = 1.34489121264458 | epot = -11.1572248917632 | etot = -8.13378367003671 -499000 ekin = 1.63191747119711 | erot = 1.35056727533229 | epot = -11.1162684147433 | etot = -8.13378366821386 -500000 ekin = 1.61378359990016 | erot = 1.3667636468144 | epot = -11.1143309138658 | etot = -8.1337836671512 -501000 ekin = 1.63758101988153 | erot = 1.39609850676614 | epot = -11.1674631937492 | etot = -8.13378366710158 -502000 ekin = 1.70413807541162 | erot = 1.43847493669148 | epot = -11.2763966800707 | etot = -8.13378366796759 -503000 ekin = 1.80268297747421 | erot = 1.49115460253747 | epot = -11.4276212495037 | etot = -8.13378366949198 -504000 ekin = 1.91419549778944 | erot = 1.54914693963942 | epot = -11.5971261088563 | etot = -8.13378367142744 -505000 ekin = 2.01490443998012 | erot = 1.60576406504308 | epot = -11.7544521785637 | etot = -8.13378367354047 -506000 ekin = 2.07966541471014 | erot = 1.65345439354067 | epot = -11.8669034836903 | etot = -8.13378367543949 -507000 ekin = 2.0870035389711 | erot = 1.68517460629498 | epot = -11.9059618217443 | etot = -8.13378367647819 -508000 ekin = 2.02663352663423 | erot = 1.69625747623648 | epot = -11.8566746789393 | etot = -8.1337836760686 -509000 ekin = 1.90589064134063 | erot = 1.68599529702703 | epot = -11.7256696125548 | etot = -8.13378367418714 -510000 ekin = 1.74959091232253 | erot = 1.6578768825328 | epot = -11.5412514663215 | etot = -8.13378367146617 -511000 ekin = 1.59231955658714 | erot = 1.61826266731548 | epot = -11.3443658926793 | etot = -8.1337836687767 -512000 ekin = 1.4675585606025 | erot = 1.57434662380356 | epot = -11.1756888512879 | etot = -8.13378366688181 -513000 ekin = 1.39839916093078 | erot = 1.53234768377589 | epot = -11.0645305108162 | etot = -8.1337836661095 -514000 ekin = 1.39338903686576 | erot = 1.49706258344478 | epot = -11.024235286466 | etot = -8.13378366615549 -515000 ekin = 1.44495159062055 | erot = 1.47110271002976 | epot = -11.0498379682116 | etot = -8.13378366756126 -516000 ekin = 1.53288312821577 | erot = 1.45357064724467 | epot = -11.1202374448468 | etot = -8.13378366938636 -517000 ekin = 1.63159033312452 | erot = 1.44224294472879 | epot = -11.2076169492315 | etot = -8.13378367137819 -518000 ekin = 1.71409401455657 | erot = 1.4340839943587 | epot = -11.2819616821534 | etot = -8.13378367323809 -519000 ekin = 1.75665192756545 | erot = 1.42579002916916 | epot = -11.3162256317321 | etot = -8.13378367499745 -520000 ekin = 1.7418734594754 | erot = 1.41504839774918 | epot = -11.2907055324296 | etot = -8.13378367520502 -521000 ekin = 1.66871703040513 | erot = 1.40071550595816 | epot = -11.2032162101125 | etot = -8.13378367374925 -522000 ekin = 1.55952182856079 | erot = 1.38339983650052 | epot = -11.0767053362008 | etot = -8.13378367113947 -523000 ekin = 1.45114556551557 | erot = 1.3656830806487 | epot = -10.9506123146215 | etot = -8.13378366845718 -524000 ekin = 1.38091842212804 | erot = 1.35134919390869 | epot = -10.8660512824825 | etot = -8.13378366644579 -525000 ekin = 1.37601425591404 | erot = 1.34456662955946 | epot = -10.8543645508839 | etot = -8.13378366541038 -526000 ekin = 1.44870428485067 | erot = 1.34909740179289 | epot = -10.9315853521545 | etot = -8.13378366551097 -527000 ekin = 1.59459863547139 | erot = 1.36714947552062 | epot = -11.0955317779062 | etot = -8.13378366691416 -528000 ekin = 1.79183405481955 | erot = 1.39841904593302 | epot = -11.3240367701712 | etot = -8.13378366941866 -529000 ekin = 2.00478978697981 | erot = 1.43972835787733 | epot = -11.5783018172282 | etot = -8.13378367237111 -530000 ekin = 2.19333795601797 | erot = 1.48552207657973 | epot = -11.8126437074869 | etot = -8.13378367488922 -531000 ekin = 2.32431476965854 | erot = 1.52928747155543 | epot = -11.9873859175034 | etot = -8.13378367628947 -532000 ekin = 2.37971447238515 | erot = 1.56539257217842 | epot = -12.0788907210183 | etot = -8.13378367645474 -533000 ekin = 2.35771666715934 | erot = 1.59048999440141 | epot = -12.0819903372246 | etot = -8.13378367566386 -534000 ekin = 2.26899715449254 | erot = 1.60407394358798 | epot = -12.0068547722132 | etot = -8.13378367413272 -535000 ekin = 2.13365177459914 | erot = 1.60831072461823 | epot = -11.8757461712403 | etot = -8.13378367202297 -536000 ekin = 1.97886376167499 | erot = 1.60719127867242 | epot = -11.7198387100764 | etot = -8.13378366972895 -537000 ekin = 1.83421887315024 | erot = 1.60523898301454 | epot = -11.5732415239291 | etot = -8.13378366776436 -538000 ekin = 1.72531720892644 | erot = 1.6063251928936 | epot = -11.4654260683311 | etot = -8.13378366651106 -539000 ekin = 1.66856519905571 | erot = 1.6130147293037 | epot = -11.4153635944826 | etot = -8.13378366612323 -540000 ekin = 1.66907056567834 | erot = 1.62662968765102 | epot = -11.4294839194914 | etot = -8.13378366616205 -541000 ekin = 1.72153495927027 | erot = 1.64788745986125 | epot = -11.5032060864798 | etot = -8.13378366734831 -542000 ekin = 1.80903650496826 | erot = 1.6754786968006 | epot = -11.6182988706809 | etot = -8.13378366891207 -543000 ekin = 1.90894616835527 | erot = 1.70734508947704 | epot = -11.7500749283668 | etot = -8.13378367053448 -544000 ekin = 1.99777842839545 | erot = 1.74125357780754 | epot = -11.8728156781218 | etot = -8.13378367191885 -545000 ekin = 2.05546409374589 | erot = 1.77521000036354 | epot = -11.9644577669439 | etot = -8.13378367283447 -546000 ekin = 2.0686759531372 | erot = 1.80779483608995 | epot = -12.010254462383 | etot = -8.13378367315581 -547000 ekin = 2.03267806245649 | erot = 1.83838588998092 | epot = -12.0048476253046 | etot = -8.13378367286718 -548000 ekin = 1.95148731421225 | erot = 1.86718390882578 | epot = -11.9524548951405 | etot = -8.13378367210244 -549000 ekin = 1.8364504233007 | erot = 1.89487456520005 | epot = -11.8651086595368 | etot = -8.13378367103609 -550000 ekin = 1.70373130495423 | erot = 1.92233248820751 | epot = -11.759847463038 | etot = -8.13378366987622 -551000 ekin = 1.57139422781184 | erot = 1.95024291868203 | epot = -11.6554208153043 | etot = -8.13378366881045 -552000 ekin = 1.45663332557803 | erot = 1.97878558863039 | epot = -11.5692025822013 | etot = -8.13378366799288 -553000 ekin = 1.37337409019781 | erot = 2.00744335365785 | epot = -11.514601111401 | etot = -8.13378366754535 -554000 ekin = 1.33029485862609 | erot = 2.03496657145449 | epot = -11.4990450976237 | etot = -8.13378366754314 -555000 ekin = 1.32945359625969 | erot = 2.05953157376214 | epot = -11.5227688380181 | etot = -8.13378366799624 -556000 ekin = 1.36589068757554 | erot = 2.07909837609474 | epot = -11.5787727324803 | etot = -8.13378366881005 -557000 ekin = 1.42857577084349 | erot = 2.09193210847118 | epot = -11.6542915491153 | etot = -8.13378366980064 -558000 ekin = 1.50275359964642 | erot = 2.0971531414025 | epot = -11.7336904117795 | etot = -8.13378367073055 -559000 ekin = 1.5732183090821 | erot = 2.09511862189602 | epot = -11.8021206023728 | etot = -8.13378367139464 -560000 ekin = 1.62740172364156 | erot = 2.08745496893393 | epot = -11.8486403643022 | etot = -8.13378367172671 -561000 ekin = 1.65692416188639 | erot = 2.07666092047554 | epot = -11.8673687541686 | etot = -8.1337836718067 -562000 ekin = 1.65737426356301 | erot = 2.06544534214492 | epot = -11.8566032774398 | etot = -8.13378367173188 -563000 ekin = 1.62727808428054 | erot = 2.05615555038101 | epot = -11.8172173064481 | etot = -8.13378367178653 -564000 ekin = 1.56679933056227 | erot = 2.05047511799567 | epot = -11.7510581199095 | etot = -8.13378367135161 -565000 ekin = 1.48206055329241 | erot = 2.04917576858623 | epot = -11.6650199925243 | etot = -8.13378367064571 -566000 ekin = 1.38423866544633 | erot = 2.05221850150355 | epot = -11.5702408367324 | etot = -8.13378366978251 -567000 ekin = 1.28749391779739 | erot = 2.05873429505507 | epot = -11.4800118818374 | etot = -8.1337836689849 -568000 ekin = 1.20570431103048 | erot = 2.06705692034106 | epot = -11.4065448998275 | etot = -8.13378366845593 -569000 ekin = 1.14918558023023 | erot = 2.07495244466236 | epot = -11.3579216931806 | etot = -8.13378366828806 -570000 ekin = 1.12276449646133 | erot = 2.0800727296248 | epot = -11.3366208945299 | etot = -8.13378366844375 -571000 ekin = 1.12567595872038 | erot = 2.08050218013808 | epot = -11.3399618076578 | etot = -8.13378366879936 -572000 ekin = 1.15294903410684 | erot = 2.07519259345207 | epot = -11.3619252967597 | etot = -8.1337836692008 -573000 ekin = 1.19838854918916 | erot = 2.06451015558718 | epot = -11.3966823740033 | etot = -8.13378366922693 -574000 ekin = 1.25460427389363 | erot = 2.04968889738792 | epot = -11.4380768408067 | etot = -8.13378366952511 -575000 ekin = 1.31454735695641 | erot = 2.03199549862925 | epot = -11.4803265251173 | etot = -8.1337836695316 -576000 ekin = 1.37512583611565 | erot = 2.01319845741347 | epot = -11.5221079628331 | etot = -8.13378366930401 -577000 ekin = 1.43682760503374 | erot = 1.99528982934824 | epot = -11.5659011033457 | etot = -8.13378366896374 -578000 ekin = 1.50235588202076 | erot = 1.98017269182895 | epot = -11.6163122424743 | etot = -8.13378366862455 -579000 ekin = 1.57520818416944 | erot = 1.96938672247359 | epot = -11.6783785750011 | etot = -8.13378366835812 -580000 ekin = 1.65868462493027 | erot = 1.96390249857606 | epot = -11.7563707921455 | etot = -8.13378366863916 -581000 ekin = 1.75247311826583 | erot = 1.964193085348 | epot = -11.8504498724769 | etot = -8.1337836688631 -582000 ekin = 1.85283782857648 | erot = 1.96967477641674 | epot = -11.9562962743711 | etot = -8.13378366937788 -583000 ekin = 1.95429754597291 | erot = 1.97826405495591 | epot = -12.066345271253 | etot = -8.13378367032418 -584000 ekin = 2.04662916571901 | erot = 1.98631443704582 | epot = -12.1667272745352 | etot = -8.13378367177041 -585000 ekin = 2.11419694671166 | erot = 1.98862566442593 | epot = -12.2366062846758 | etot = -8.13378367353824 -586000 ekin = 2.13871236987807 | erot = 1.97915340581891 | epot = -12.2516494507778 | etot = -8.13378367508081 -587000 ekin = 2.10465783247187 | erot = 1.95256271523672 | epot = -12.1910042235991 | etot = -8.13378367589049 -588000 ekin = 2.00543191748367 | erot = 1.90599988278188 | epot = -12.0452154755429 | etot = -8.13378367527739 -589000 ekin = 1.85115446103193 | erot = 1.84021509336813 | epot = -11.8251532276766 | etot = -8.13378367327653 -590000 ekin = 1.66921622806881 | erot = 1.7593335110468 | epot = -11.5623334095075 | etot = -8.13378367039186 -591000 ekin = 1.4977485483699 | erot = 1.66961531493353 | epot = -11.301147530791 | etot = -8.13378366748759 -592000 ekin = 1.3741820859932 | erot = 1.57786762200031 | epot = -11.0858333735134 | etot = -8.13378366551992 -593000 ekin = 1.32230765433201 | erot = 1.49017042368006 | epot = -10.9462617430894 | etot = -8.13378366507729 -594000 ekin = 1.34433584581037 | erot = 1.41110289037398 | epot = -10.8892224022201 | etot = -8.13378366603572 -595000 ekin = 1.42313762141316 | erot = 1.34352894995369 | epot = -10.9004502389494 | etot = -8.13378366758259 -596000 ekin = 1.53140640357297 | erot = 1.2890571416378 | epot = -10.954247214935 | etot = -8.13378366972426 -597000 ekin = 1.63793776665428 | erot = 1.24822708399061 | epot = -11.0199485217856 | etot = -8.13378367114073 -598000 ekin = 1.71853369497769 | erot = 1.2204230558525 | epot = -11.0727404229811 | etot = -8.13378367215094 -599000 ekin = 1.75676579673027 | erot = 1.20417119499066 | epot = -11.0947206644564 | etot = -8.1337836727355 -600000 ekin = 1.74415562351976 | erot = 1.19748501258577 | epot = -11.0754243089205 | etot = -8.13378367281501 -601000 ekin = 1.68078686628586 | erot = 1.19842786468434 | epot = -11.0129984032571 | etot = -8.13378367228694 -602000 ekin = 1.57592768465231 | erot = 1.20571835984157 | epot = -10.9154297156343 | etot = -8.13378367114043 -603000 ekin = 1.44736021988517 | erot = 1.21906556666636 | epot = -10.8002094561225 | etot = -8.13378366957098 -604000 ekin = 1.31829530123861 | erot = 1.23900632721026 | epot = -10.6910852964334 | etot = -8.13378366798455 -605000 ekin = 1.21203583246857 | erot = 1.26625018196504 | epot = -10.6120696811956 | etot = -8.13378366676199 -606000 ekin = 1.14717881943141 | erot = 1.30114918573908 | epot = -10.5821116711541 | etot = -8.13378366598363 -607000 ekin = 1.13493137969479 | erot = 1.34344256501772 | epot = -10.6121576106247 | etot = -8.13378366591218 -608000 ekin = 1.17769398074636 | erot = 1.39211398656162 | epot = -10.7035916336137 | etot = -8.13378366630573 -609000 ekin = 1.27083042497278 | erot = 1.44572829443333 | epot = -10.8503423864876 | etot = -8.13378366708152 -610000 ekin = 1.40359308953523 | erot = 1.50241692808371 | epot = -11.0397936861299 | etot = -8.13378366851095 -611000 ekin = 1.55996607947085 | erot = 1.55982171139623 | epot = -11.253571460636 | etot = -8.13378366976893 -612000 ekin = 1.72323074885771 | erot = 1.61567444068065 | epot = -11.4726888606333 | etot = -8.13378367109498 -613000 ekin = 1.87623356286519 | erot = 1.6673223462411 | epot = -11.6773395814989 | etot = -8.13378367239258 -614000 ekin = 2.00332542687796 | erot = 1.7118578677057 | epot = -11.848966967905 | etot = -8.13378367332138 -615000 ekin = 2.0938447106915 | erot = 1.74706892485491 | epot = -11.9746973091449 | etot = -8.13378367359853 -616000 ekin = 2.14582652012112 | erot = 1.77208418550434 | epot = -12.051694378647 | etot = -8.13378367302157 -617000 ekin = 2.16764032551907 | erot = 1.787864761544 | epot = -12.0892887588653 | etot = -8.13378367180225 -618000 ekin = 2.17543321836212 | erot = 1.79702594193842 | epot = -12.1062428306546 | etot = -8.1337836703541 -619000 ekin = 2.1876501512488 | erot = 1.8030963157551 | epot = -12.124530136227 | etot = -8.13378366922312 -620000 ekin = 2.21827388575881 | erot = 1.80941579610169 | epot = -12.1614733506214 | etot = -8.13378366876093 -621000 ekin = 2.27256724286288 | erot = 1.81817906105508 | epot = -12.2245299729512 | etot = -8.13378366903325 -622000 ekin = 2.34686215368936 | erot = 1.82980019933667 | epot = -12.3104460229147 | etot = -8.13378366988869 -623000 ekin = 2.4307948396215 | erot = 1.84272954678992 | epot = -12.4073080575094 | etot = -8.13378367109801 -624000 ekin = 2.51074859399526 | erot = 1.85365912854803 | epot = -12.4981913948869 | etot = -8.1337836723436 -625000 ekin = 2.57376014758728 | erot = 1.85839628629478 | epot = -12.5659401070749 | etot = -8.13378367319283 -626000 ekin = 2.61178608744766 | erot = 1.85335246050013 | epot = -12.5989222212804 | etot = -8.13378367333261 -627000 ekin = 2.6243966691599 | erot = 1.83675929860226 | epot = -12.5949396406032 | etot = -8.13378367284104 -628000 ekin = 2.61715143116715 | erot = 1.80883297814718 | epot = -12.5597680815357 | etot = -8.1337836722214 -629000 ekin = 2.59614002780091 | erot = 1.77076928021921 | epot = -12.5006929799575 | etot = -8.1337836719374 -630000 ekin = 2.56316564608668 | erot = 1.723688622724 | epot = -12.4206379408549 | etot = -8.13378367204425 -631000 ekin = 2.51545670840082 | erot = 1.66841938704622 | epot = -12.3176597676969 | etot = -8.13378367224985 -632000 ekin = 2.4489810628424 | erot = 1.60594586085273 | epot = -12.1887105959476 | etot = -8.13378367225249 -633000 ekin = 2.36287257797967 | erot = 1.53782426737418 | epot = -12.0344805167116 | etot = -8.1337836713577 -634000 ekin = 2.26405242524487 | erot = 1.46623278030137 | epot = -11.8640688761309 | etot = -8.13378367058465 -635000 ekin = 2.16101755721023 | erot = 1.39475566087719 | epot = -11.6895568877986 | etot = -8.13378366971122 -636000 ekin = 2.06475253332371 | erot = 1.32686506233873 | epot = -11.5254012642579 | etot = -8.13378366859544 -637000 ekin = 1.98973271037489 | erot = 1.26596624428898 | epot = -11.3894826221215 | etot = -8.1337836674576 -638000 ekin = 1.95146778322825 | erot = 1.21514985243662 | epot = -11.3004013022987 | etot = -8.13378366663381 -639000 ekin = 1.96182069136293 | erot = 1.17695161175979 | epot = -11.272555969308 | etot = -8.13378366618532 -640000 ekin = 2.02679898932639 | erot = 1.15239183903012 | epot = -11.3129744949322 | etot = -8.13378366657568 -641000 ekin = 2.14199910312227 | erot = 1.14071086556531 | epot = -11.4164936363349 | etot = -8.13378366764727 -642000 ekin = 2.29285046318152 | erot = 1.13915186811449 | epot = -11.5657860007545 | etot = -8.13378366945849 -643000 ekin = 2.45552552112392 | erot = 1.14338828233112 | epot = -11.7326974750702 | etot = -8.13378367161514 -644000 ekin = 2.60133752583305 | erot = 1.14835367490429 | epot = -11.8834748743272 | etot = -8.1337836735899 -645000 ekin = 2.70371430392415 | erot = 1.14938437136379 | epot = -11.9868823501667 | etot = -8.1337836748788 -646000 ekin = 2.744636075582 | erot = 1.14332224209664 | epot = -12.0217419928935 | etot = -8.13378367521483 -647000 ekin = 2.71817787236065 | erot = 1.12915792946784 | epot = -11.9811194764621 | etot = -8.13378367463366 -648000 ekin = 2.63028246065005 | erot = 1.10798613625818 | epot = -11.872052270303 | etot = -8.13378367339473 -649000 ekin = 2.49559189346646 | erot = 1.08245328244387 | epot = -11.7118288477749 | etot = -8.13378367186454 -650000 ekin = 2.33293161554164 | erot = 1.05592857135036 | epot = -11.5226438572628 | etot = -8.13378367037085 -651000 ekin = 2.16312160403298 | erot = 1.03179243268154 | epot = -11.3286977053646 | etot = -8.13378366865011 -652000 ekin = 2.00437764472146 | erot = 1.01263346474868 | epot = -11.1507947776017 | etot = -8.13378366813157 -653000 ekin = 1.86320148187803 | erot = 0.999771298662386 | epot = -10.9967564484983 | etot = -8.13378366795787 -654000 ekin = 1.74159938814689 | erot = 0.993638993393247 | epot = -10.8690220495596 | etot = -8.13378366801952 -655000 ekin = 1.63877614369039 | erot = 0.99396111060154 | epot = -10.7665209224779 | etot = -8.13378366818596 -656000 ekin = 1.55293696393068 | erot = 0.999977751464522 | epot = -10.6866983837236 | etot = -8.1337836683284 -657000 ekin = 1.4830110556397 | erot = 1.01069155837519 | epot = -10.6274862823631 | etot = -8.13378366834819 -658000 ekin = 1.42991653831793 | erot = 1.02511295990871 | epot = -10.5888131664256 | etot = -8.13378366819894 -659000 ekin = 1.39703562132026 | erot = 1.04246417552511 | epot = -10.5732834647551 | etot = -8.13378366790973 -660000 ekin = 1.38964145709929 | erot = 1.06228082947049 | epot = -10.5857059541379 | etot = -8.13378366756814 -661000 ekin = 1.41337783438477 | erot = 1.08434723256929 | epot = -10.6315087343526 | etot = -8.13378366739853 -662000 ekin = 1.47169034616437 | erot = 1.10850483082505 | epot = -10.7139788445443 | etot = -8.13378366755489 -663000 ekin = 1.56097330111961 | erot = 1.13389735843563 | epot = -10.828654328347 | etot = -8.13378366879182 -664000 ekin = 1.66624490138187 | erot = 1.15850228666744 | epot = -10.9585308577766 | etot = -8.13378366972733 -665000 ekin = 1.77303863682182 | erot = 1.18152952432618 | epot = -11.0883518319651 | etot = -8.13378367081709 -666000 ekin = 1.86640057268967 | erot = 1.20258304574751 | epot = -11.2027672900294 | etot = -8.13378367159224 -667000 ekin = 1.93466412848224 | erot = 1.22193419207504 | epot = -11.2903819923641 | etot = -8.13378367180684 -668000 ekin = 1.97306030167035 | erot = 1.24062017116845 | epot = -11.3474641442683 | etot = -8.13378367142951 -669000 ekin = 1.98443783023637 | erot = 1.26004202124033 | epot = -11.378263522163 | etot = -8.13378367068634 -670000 ekin = 1.9765286197099 | erot = 1.28134194904741 | epot = -11.3916542389414 | etot = -8.13378367018408 -671000 ekin = 1.9564957951922 | erot = 1.30490078083266 | epot = -11.3951802458008 | etot = -8.13378366977592 -672000 ekin = 1.92875532537167 | erot = 1.33065660863054 | epot = -11.393195603566 | etot = -8.13378366956377 -673000 ekin = 1.89553670247147 | erot = 1.35854540535517 | epot = -11.3878657772974 | etot = -8.13378366947073 -674000 ekin = 1.85764904382712 | erot = 1.38884570045576 | epot = -11.3802784136313 | etot = -8.13378366934839 -675000 ekin = 1.81704545026849 | erot = 1.42228413605197 | epot = -11.3731132555849 | etot = -8.13378366926441 -676000 ekin = 1.7750503131025 | erot = 1.45971003523414 | epot = -11.3685440174361 | etot = -8.13378366909944 -677000 ekin = 1.73347451743517 | erot = 1.50191216833304 | epot = -11.3691703547236 | etot = -8.13378366895543 -678000 ekin = 1.69449339360511 | erot = 1.54922606358681 | epot = -11.3775031261123 | etot = -8.13378366892035 -679000 ekin = 1.65969071094794 | erot = 1.60118456838311 | epot = -11.3946589483665 | etot = -8.13378366903543 -680000 ekin = 1.62957005382932 | erot = 1.65634116858653 | epot = -11.4196948917059 | etot = -8.13378366929006 -681000 ekin = 1.60362252577982 | erot = 1.71228358652976 | epot = -11.4496897819403 | etot = -8.13378366963076 -682000 ekin = 1.58083074253738 | erot = 1.7658282644008 | epot = -11.4804426769224 | etot = -8.13378366998426 -683000 ekin = 1.56032431136392 | erot = 1.8133847914997 | epot = -11.5074927731469 | etot = -8.13378367028329 -684000 ekin = 1.54183455725445 | erot = 1.85142632174186 | epot = -11.5270445498266 | etot = -8.13378367083033 -685000 ekin = 1.52410759949766 | erot = 1.87642082988534 | epot = -11.5343121005203 | etot = -8.13378367113729 -686000 ekin = 1.50494379430242 | erot = 1.88570070119914 | epot = -11.5244281669065 | etot = -8.13378367140491 -687000 ekin = 1.48208036602769 | erot = 1.87831367884654 | epot = -11.4941777164845 | etot = -8.13378367161027 -688000 ekin = 1.45289287171996 | erot = 1.85497856866512 | epot = -11.4416551120323 | etot = -8.13378367164724 -689000 ekin = 1.41601907826432 | erot = 1.8181143734901 | epot = -11.3679171230975 | etot = -8.1337836713431 -690000 ekin = 1.37394775598182 | erot = 1.77166312492028 | epot = -11.2793945514636 | etot = -8.13378367056153 -691000 ekin = 1.33508615019417 | erot = 1.72071496355898 | epot = -11.1895847830891 | etot = -8.13378366933599 -692000 ekin = 1.31344376450669 | erot = 1.67094159749672 | epot = -11.1181690299549 | etot = -8.13378366795151 -693000 ekin = 1.32488046337475 | erot = 1.62783697437785 | epot = -11.0865011046416 | etot = -8.13378366688899 -694000 ekin = 1.38078608497536 | erot = 1.59583179973088 | epot = -11.1104015513359 | etot = -8.13378366662966 -695000 ekin = 1.48192861174078 | erot = 1.57745304982384 | epot = -11.1931653289766 | etot = -8.13378366741196 -696000 ekin = 1.61569966760638 | erot = 1.57278041423419 | epot = -11.3222637509355 | etot = -8.13378366909492 -697000 ekin = 1.75843097203778 | erot = 1.57943520716472 | epot = -11.4716498504213 | etot = -8.13378367121885 -698000 ekin = 1.88185215222092 | erot = 1.59316882058948 | epot = -11.6088046459987 | etot = -8.13378367318828 -699000 ekin = 1.96106579204364 | erot = 1.6089630633681 | epot = -11.7038125298792 | etot = -8.13378367446748 -700000 ekin = 1.98131680913957 | erot = 1.62236339276214 | epot = -11.7374638766332 | etot = -8.13378367473148 -701000 ekin = 1.94164145669884 | erot = 1.6306282568673 | epot = -11.7060533875213 | etot = -8.13378367395514 -702000 ekin = 1.85450233235272 | erot = 1.63328569355592 | epot = -11.6215716983308 | etot = -8.13378367242212 -703000 ekin = 1.7418140490781 | erot = 1.63189519933292 | epot = -11.5074929188567 | etot = -8.13378367044569 -704000 ekin = 1.62890053404882 | erot = 1.6293262484493 | epot = -11.3920104513919 | etot = -8.13378366889381 -705000 ekin = 1.53704055738389 | erot = 1.6282829775182 | epot = -11.299107202664 | etot = -8.13378366776194 -706000 ekin = 1.48137553865796 | erot = 1.63090498235445 | epot = -11.2460641881485 | etot = -8.13378366713611 -707000 ekin = 1.47012654301194 | erot = 1.63856880545727 | epot = -11.2424790154184 | etot = -8.13378366694916 -708000 ekin = 1.50545482973272 | erot = 1.65189802615415 | epot = -11.2911365229591 | etot = -8.1337836670722 -709000 ekin = 1.58434919626737 | erot = 1.67079586465923 | epot = -11.3889287286485 | etot = -8.13378366772192 -710000 ekin = 1.69830399771202 | erot = 1.6942063928158 | epot = -11.5262940590363 | etot = -8.13378366850847 -711000 ekin = 1.83638650826424 | erot = 1.72024670598225 | epot = -11.6904168837644 | etot = -8.13378366951786 -712000 ekin = 1.98510691897145 | erot = 1.74609277613641 | epot = -11.8649833659246 | etot = -8.13378367081678 -713000 ekin = 2.12899307618644 | erot = 1.7680461105034 | epot = -12.0308228587421 | etot = -8.13378367205223 -714000 ekin = 2.25375007879498 | erot = 1.7824326423488 | epot = -12.1699663939697 | etot = -8.13378367282589 -715000 ekin = 2.34975342441665 | erot = 1.78632122215087 | epot = -12.2698583198712 | etot = -8.13378367330363 -716000 ekin = 2.41256025262349 | erot = 1.77808812755726 | epot = -12.3244320533565 | etot = -8.13378367317575 -717000 ekin = 2.444747705476 | erot = 1.75804788175171 | epot = -12.3365792597721 | etot = -8.13378367254438 -718000 ekin = 2.45412216709769 | erot = 1.72831089168567 | epot = -12.3162167308183 | etot = -8.13378367203498 -719000 ekin = 2.44845378811745 | erot = 1.69204638293305 | epot = -12.2742838422258 | etot = -8.13378367117532 -720000 ekin = 2.43656682430699 | erot = 1.653290129109 | epot = -12.2236406239898 | etot = -8.13378367057385 -721000 ekin = 2.42365620512495 | erot = 1.61605001928987 | epot = -12.1734898947957 | etot = -8.13378367038088 -722000 ekin = 2.40904119938158 | erot = 1.58378410659312 | epot = -12.1266089765732 | etot = -8.13378367059853 -723000 ekin = 2.3864714698943 | erot = 1.55915433553323 | epot = -12.0794094764985 | etot = -8.13378367107095 -724000 ekin = 2.34659230996706 | erot = 1.54397640928961 | epot = -12.0243523907976 | etot = -8.13378367154094 -725000 ekin = 2.28077035574305 | erot = 1.53931973020303 | epot = -11.9538737576909 | etot = -8.13378367174481 -726000 ekin = 2.18489434266674 | erot = 1.54571264604936 | epot = -11.8643906602243 | etot = -8.13378367150821 -727000 ekin = 2.06179491770445 | erot = 1.56339646494477 | epot = -11.7589750534567 | etot = -8.13378367080751 -728000 ekin = 1.92142302763715 | erot = 1.59252552388938 | epot = -11.6477322213166 | etot = -8.13378366979011 -729000 ekin = 1.77863161459794 | erot = 1.63318133799263 | epot = -11.5455966213271 | etot = -8.13378366873648 -730000 ekin = 1.64935549787291 | erot = 1.68520345518385 | epot = -11.4683426210401 | etot = -8.13378366798338 -731000 ekin = 1.54617340799689 | erot = 1.74777370763628 | epot = -11.4277307834043 | etot = -8.13378366777111 -732000 ekin = 1.47444012325245 | erot = 1.81876025838851 | epot = -11.4269840497906 | etot = -8.13378366814959 -733000 ekin = 1.43189319813654 | erot = 1.89484027034483 | epot = -11.4605171374844 | etot = -8.13378366900304 -734000 ekin = 1.41017780820787 | erot = 1.9717467742621 | epot = -11.5157082525372 | etot = -8.13378367006727 -735000 ekin = 1.39820849324681 | erot = 2.04483940824086 | epot = -11.5768315724998 | etot = -8.13378367101211 -736000 ekin = 1.38628872342963 | erot = 2.1098536340319 | epot = -11.629926029011 | etot = -8.13378367154951 -737000 ekin = 1.36961596692138 | erot = 2.16355925928473 | epot = -11.666958897757 | etot = -8.13378367155092 -738000 ekin = 1.34981044643678 | erot = 2.20404797657756 | epot = -11.6876420941275 | etot = -8.13378367111314 -739000 ekin = 1.33372653200929 | erot = 2.23055395776276 | epot = -11.6980641602756 | etot = -8.13378367050359 -740000 ekin = 1.3301641929815 | erot = 2.24303198933214 | epot = -11.7069798523032 | etot = -8.13378366998951 -741000 ekin = 1.34641052650463 | erot = 2.2418933687733 | epot = -11.7220875649558 | etot = -8.13378366967791 -742000 ekin = 1.38645577649994 | erot = 2.22809836951193 | epot = -11.7483378155421 | etot = -8.13378366953023 -743000 ekin = 1.45103879195972 | erot = 2.20332817129236 | epot = -11.78815063276 | etot = -8.13378366950794 -744000 ekin = 1.53803120218704 | erot = 2.16985299830389 | epot = -11.8416678701947 | etot = -8.13378366970373 -745000 ekin = 1.64150939164163 | erot = 2.12988595975433 | epot = -11.9051790216537 | etot = -8.13378367025773 -746000 ekin = 1.75074962764797 | erot = 2.084703178296 | epot = -11.9692364772113 | etot = -8.1337836712673 -747000 ekin = 1.84985303111399 | erot = 2.03398729131739 | epot = -12.0176239950727 | etot = -8.13378367264135 -748000 ekin = 1.91944439124215 | erot = 1.97579729236821 | epot = -12.0290253576846 | etot = -8.13378367407423 -749000 ekin = 1.94080211587345 | erot = 1.90728805389936 | epot = -11.9818738448716 | etot = -8.13378367509876 -750000 ekin = 1.90175708676013 | erot = 1.82602227398459 | epot = -11.8615630358879 | etot = -8.13378367514313 -751000 ekin = 1.80442251329281 | erot = 1.73210123664164 | epot = -11.6703074242648 | etot = -8.1337836743303 -752000 ekin = 1.66438096328043 | erot = 1.62791173823168 | epot = -11.4260763737933 | etot = -8.13378367228118 -753000 ekin = 1.50959112394011 | erot = 1.51791168435355 | epot = -11.1612864778764 | etot = -8.13378366958272 -754000 ekin = 1.37530205555393 | erot = 1.40846180207067 | epot = -10.9175475248678 | etot = -8.13378366724317 -755000 ekin = 1.29223158174511 | erot = 1.30628357856271 | epot = -10.7322988261904 | etot = -8.13378366588257 -756000 ekin = 1.27251368864282 | erot = 1.21592403401268 | epot = -10.6222213891157 | etot = -8.13378366646025 -757000 ekin = 1.30634776760893 | erot = 1.13861892039767 | epot = -10.5787503559391 | etot = -8.13378366793255 -758000 ekin = 1.37185376254112 | erot = 1.07351073769267 | epot = -10.5791481697238 | etot = -8.13378366949005 -759000 ekin = 1.44617278830652 | erot = 1.01897341841095 | epot = -10.5989298771961 | etot = -8.13378367047867 -760000 ekin = 1.51270256478521 | erot = 0.973207034201279 | epot = -10.6196932701063 | etot = -8.13378367111983 -761000 ekin = 1.56039612701659 | erot = 0.934439072310183 | epot = -10.6286188703599 | etot = -8.13378367103315 -762000 ekin = 1.58948756763392 | erot = 0.901622731963786 | epot = -10.6248939700571 | etot = -8.13378367045936 -763000 ekin = 1.6081000860162 | erot = 0.874391507873671 | epot = -10.6162752635655 | etot = -8.13378366967559 -764000 ekin = 1.62768531422658 | erot = 0.85268931978755 | epot = -10.6141583029787 | etot = -8.13378366896457 -765000 ekin = 1.65693698084451 | erot = 0.836745239155022 | epot = -10.6274658895786 | etot = -8.13378366957904 -766000 ekin = 1.70304081024591 | erot = 0.827639758108534 | epot = -10.6644642391042 | etot = -8.13378367074981 -767000 ekin = 1.76603010804118 | erot = 0.819745786937045 | epot = -10.719559566307 | etot = -8.13378367132874 -768000 ekin = 1.83976621727053 | erot = 0.813915606764605 | epot = -10.7874654957395 | etot = -8.13378367170441 -769000 ekin = 1.91953928655326 | erot = 0.809315266601798 | epot = -10.8626382251549 | etot = -8.13378367199988 -770000 ekin = 2.00068337351142 | erot = 0.805269377200869 | epot = -10.9397364229424 | etot = -8.13378367223007 -771000 ekin = 2.0793260708754 | erot = 0.801470015544521 | epot = -11.0145797587906 | etot = -8.1337836723707 -772000 ekin = 2.15218258758158 | erot = 0.797728511847476 | epot = -11.0836947720041 | etot = -8.13378367257508 -773000 ekin = 2.215163463711 | erot = 0.793769932168822 | epot = -11.1427170688048 | etot = -8.13378367292501 -774000 ekin = 2.26234547299599 | erot = 0.789120208329084 | epot = -11.1852493547345 | etot = -8.13378367340947 -775000 ekin = 2.2874744000011 | erot = 0.782940858124726 | epot = -11.2041989316363 | etot = -8.13378367351048 -776000 ekin = 2.28487294056893 | erot = 0.774236455836067 | epot = -11.1928930694771 | etot = -8.13378367307206 -777000 ekin = 2.25459623259119 | erot = 0.763986238603041 | epot = -11.1523661447046 | etot = -8.13378367351038 -778000 ekin = 2.19483848049885 | erot = 0.752926118481735 | epot = -11.0815482726377 | etot = -8.13378367365716 -779000 ekin = 2.10207554487688 | erot = 0.741428699342712 | epot = -10.977287917918 | etot = -8.13378367369838 -780000 ekin = 1.97507844669044 | erot = 0.730439747664591 | epot = -10.8393018678568 | etot = -8.13378367350181 -781000 ekin = 1.81624237984421 | erot = 0.720681720728676 | epot = -10.6707077731406 | etot = -8.1337836725677 -782000 ekin = 1.63737679986566 | erot = 0.713965531361904 | epot = -10.4851260026997 | etot = -8.13378367147211 -783000 ekin = 1.45327094387194 | erot = 0.712334775531163 | epot = -10.2993893897495 | etot = -8.13378367034642 -784000 ekin = 1.27931304177932 | erot = 0.717795316544328 | epot = -10.1308920276493 | etot = -8.1337836693256 -785000 ekin = 1.12953341818588 | erot = 0.732133377036545 | epot = -9.99545046375494 | etot = -8.13378366853252 -786000 ekin = 1.01482431807516 | erot = 0.75676028119027 | epot = -9.90536826732165 | etot = -8.13378366805622 -787000 ekin = 0.941643963861821 | erot = 0.792599099777889 | epot = -9.86802673157384 | etot = -8.13378366793413 -788000 ekin = 0.911510796364499 | erot = 0.840020856535235 | epot = -9.88531532103858 | etot = -8.13378366813885 -789000 ekin = 0.921376349366559 | erot = 0.898827357285067 | epot = -9.95398737525229 | etot = -8.13378366860067 -790000 ekin = 0.964654482908816 | erot = 0.968273092073714 | epot = -10.0667112442091 | etot = -8.13378366922659 -791000 ekin = 1.03261133424169 | erot = 1.04710148108381 | epot = -10.2134964852509 | etot = -8.13378366992542 -792000 ekin = 1.11580285054382 | erot = 1.1335694535575 | epot = -10.3831559747086 | etot = -8.13378367060725 -793000 ekin = 1.20528065134038 | erot = 1.22546277764693 | epot = -10.564527100244 | etot = -8.13378367125664 -794000 ekin = 1.29310700795432 | erot = 1.32020213138516 | epot = -10.7470928111702 | etot = -8.13378367183071 -795000 ekin = 1.37238467366043 | erot = 1.41513363975781 | epot = -10.9213019889647 | etot = -8.13378367554646 -796000 ekin = 1.40835913071784 | erot = 1.52971390350303 | epot = -11.0718567048725 | etot = -8.13378367065163 -797000 ekin = 1.45167190325032 | erot = 1.62512604237268 | epot = -11.2105816179767 | etot = -8.13378367235371 -798000 ekin = 1.48145722831594 | erot = 1.70064689495524 | epot = -11.315887795752 | etot = -8.13378367248079 -799000 ekin = 1.49559633326826 | erot = 1.76394329939591 | epot = -11.3933233050887 | etot = -8.13378367242451 -800000 ekin = 1.49744893756744 | erot = 1.81327291257992 | epot = -11.4445055223208 | etot = -8.1337836721734 -801000 ekin = 1.49251279282898 | erot = 1.84780559274824 | epot = -11.474102057282 | etot = -8.13378367170478 -802000 ekin = 1.48820480029175 | erot = 1.86779013866172 | epot = -11.4897786100697 | etot = -8.13378367111621 -803000 ekin = 1.49253566042202 | erot = 1.87451451169702 | epot = -11.5008338427093 | etot = -8.13378367059025 -804000 ekin = 1.51166035431581 | erot = 1.86997050314966 | epot = -11.5154145278029 | etot = -8.1337836703374 -805000 ekin = 1.54725262775303 | erot = 1.85635941634672 | epot = -11.5373957145955 | etot = -8.13378367049578 -806000 ekin = 1.59533620639011 | erot = 1.83572111155612 | epot = -11.564840988593 | etot = -8.13378367064673 -807000 ekin = 1.64925672169128 | erot = 1.81037056530018 | epot = -11.5934109583748 | etot = -8.13378367138333 -808000 ekin = 1.69787116914676 | erot = 1.78132459589074 | epot = -11.6129794371364 | etot = -8.13378367209885 -809000 ekin = 1.73004744232766 | erot = 1.74897468678329 | epot = -11.6128058016954 | etot = -8.1337836725845 -810000 ekin = 1.73831051801208 | erot = 1.71353607858786 | epot = -11.5856302703687 | etot = -8.13378367376877 -811000 ekin = 1.71623548897176 | erot = 1.67428462341833 | epot = -11.5243037859089 | etot = -8.1337836735188 -812000 ekin = 1.66416936451911 | erot = 1.6311516443523 | epot = -11.4291046817249 | etot = -8.1337836728535 -813000 ekin = 1.59176171307477 | erot = 1.58513406243779 | epot = -11.310679447357 | etot = -8.13378367184445 -814000 ekin = 1.51369575692981 | erot = 1.53752063411804 | epot = -11.1850000616811 | etot = -8.13378367063321 -815000 ekin = 1.44735421380952 | erot = 1.48989097525174 | epot = -11.071028858495 | etot = -8.13378366943376 -816000 ekin = 1.40949972398155 | erot = 1.44406671642419 | epot = -10.9873501088976 | etot = -8.13378366849187 -817000 ekin = 1.41268037621161 | erot = 1.40200084694727 | epot = -10.9484648911793 | etot = -8.13378366802041 -818000 ekin = 1.46212175579676 | erot = 1.36558649857796 | epot = -10.9614919225081 | etot = -8.13378366813336 -819000 ekin = 1.55434977585278 | erot = 1.336454660745 | epot = -11.0245881053256 | etot = -8.13378366872777 -820000 ekin = 1.67879137036297 | erot = 1.31590146922143 | epot = -11.1284765091675 | etot = -8.13378366958314 -821000 ekin = 1.82107935884616 | erot = 1.30489182432771 | epot = -11.2597548536193 | etot = -8.13378367044544 -822000 ekin = 1.9529446672913 | erot = 1.31620699209334 | epot = -11.4029353289519 | etot = -8.13378366956727 -823000 ekin = 2.07449183310668 | erot = 1.34466437793314 | epot = -11.5529398817822 | etot = -8.13378367074238 -824000 ekin = 2.19907919113028 | erot = 1.36469015638506 | epot = -11.6975530185003 | etot = -8.13378367098496 -825000 ekin = 2.30563380742784 | erot = 1.39476757368218 | epot = -11.8341850523186 | etot = -8.13378367120861 -826000 ekin = 2.39103700944343 | erot = 1.43354131849664 | epot = -11.9583619997604 | etot = -8.13378367182035 -827000 ekin = 2.44908730441079 | erot = 1.47824975100237 | epot = -12.0611207278221 | etot = -8.13378367240897 -828000 ekin = 2.47400495198267 | erot = 1.52536858867821 | epot = -12.1331572137293 | etot = -8.13378367306841 -829000 ekin = 2.46026919533199 | erot = 1.57083290047245 | epot = -12.1648857694072 | etot = -8.13378367360277 -830000 ekin = 2.40417117554425 | erot = 1.61070673365405 | epot = -12.1486615829917 | etot = -8.13378367379336 -831000 ekin = 2.30626797389012 | erot = 1.64206892762421 | epot = -12.0821205749624 | etot = -8.13378367344809 -832000 ekin = 2.17314973465443 | erot = 1.66378895326424 | epot = -11.970722360519 | etot = -8.13378367260036 -833000 ekin = 2.0166788300711 | erot = 1.67684011585974 | epot = -11.8273026173371 | etot = -8.13378367140623 -834000 ekin = 1.85232718449021 | erot = 1.68370832890753 | epot = -11.6698191834907 | etot = -8.13378367009299 -835000 ekin = 1.6961628249867 | erot = 1.68768571762743 | epot = -11.5176322117046 | etot = -8.13378366909043 -836000 ekin = 1.56059049298033 | erot = 1.69176136007029 | epot = -11.3861355304923 | etot = -8.13378367744166 -837000 ekin = 1.46494691496556 | erot = 1.67922598580687 | epot = -11.2779565658808 | etot = -8.13378366510835 -838000 ekin = 1.41623376459279 | erot = 1.68359587929023 | epot = -11.2336133181403 | etot = -8.13378367425731 -839000 ekin = 1.38164226014501 | erot = 1.69827238735174 | epot = -11.2136983221133 | etot = -8.13378367461659 -840000 ekin = 1.37281419718589 | erot = 1.71791872249748 | epot = -11.2245165947878 | etot = -8.13378367510438 -841000 ekin = 1.38251849199312 | erot = 1.74222357843919 | epot = -11.2585257460257 | etot = -8.1337836755934 -842000 ekin = 1.40440815950989 | erot = 1.77053653194949 | epot = -11.3087283675096 | etot = -8.1337836760502 -843000 ekin = 1.43288889939346 | erot = 1.80208713639206 | epot = -11.36875971227 | etot = -8.13378367648447 -844000 ekin = 1.46337505833392 | erot = 1.83581425241861 | epot = -11.4329729876798 | etot = -8.13378367692722 -845000 ekin = 1.49225138986042 | erot = 1.87011931161695 | epot = -11.4961543788775 | etot = -8.13378367740011 -846000 ekin = 1.51675477488435 | erot = 1.90271354937653 | epot = -11.5532520021354 | etot = -8.13378367787456 -847000 ekin = 1.53514567596946 | erot = 1.93076451186911 | epot = -11.5996938660634 | etot = -8.13378367822481 -848000 ekin = 1.5475881716074 | erot = 1.9514972978589 | epot = -11.632869147723 | etot = -8.1337836782567 -849000 ekin = 1.55740275322743 | erot = 1.9631393326447 | epot = -11.6543257637317 | etot = -8.13378367785955 -850000 ekin = 1.57132389425342 | erot = 1.96572299080043 | epot = -11.6708305622391 | etot = -8.13378367718525 -851000 ekin = 1.59707563447322 | erot = 1.96110149884602 | epot = -11.6919608099609 | etot = -8.13378367664163 -852000 ekin = 1.63865350802047 | erot = 1.95197424600859 | epot = -11.7244114307046 | etot = -8.1337836766755 -853000 ekin = 1.69191652794579 | erot = 1.94037118794228 | epot = -11.76607139336 | etot = -8.13378367747194 -854000 ekin = 1.74370784126291 | erot = 1.92645693876828 | epot = -11.8039484587425 | etot = -8.13378367871129 -855000 ekin = 1.77620146931273 | erot = 1.90847432072674 | epot = -11.818459469993 | etot = -8.13378367995357 -856000 ekin = 1.77433273173135 | erot = 1.88315818040523 | epot = -11.7912745926414 | etot = -8.13378368050482 -857000 ekin = 1.73346273143704 | erot = 1.84735528760624 | epot = -11.7146016990445 | etot = -8.13378368000122 -858000 ekin = 1.66317903320086 | erot = 1.79946643714417 | epot = -11.5964291488827 | etot = -8.13378367853766 -859000 ekin = 1.58513293484139 | erot = 1.74007953892668 | epot = -11.458996150389 | etot = -8.13378367662096 -860000 ekin = 1.52581941755169 | erot = 1.67168470790424 | epot = -11.331287800361 | etot = -8.1337836749051 -861000 ekin = 1.50775028697231 | erot = 1.59782760957668 | epot = -11.2393615704181 | etot = -8.1337836738691 -862000 ekin = 1.54306866341494 | erot = 1.52225954455881 | epot = -11.1991118816238 | etot = -8.13378367365005 -863000 ekin = 1.63171594645684 | erot = 1.4484512777512 | epot = -11.2139508982985 | etot = -8.13378367409045 -864000 ekin = 1.76367870734132 | erot = 1.37946094103656 | epot = -11.2769233232937 | etot = -8.13378367491581 -865000 ekin = 1.92306453000344 | erot = 1.31796433803999 | epot = -11.374812543916 | etot = -8.13378367587256 -866000 ekin = 2.09215456398996 | erot = 1.26628926074898 | epot = -11.4922275013027 | etot = -8.13378367656379 -867000 ekin = 2.25558706658228 | erot = 1.22649711213513 | epot = -11.6158678560148 | etot = -8.13378367729736 -868000 ekin = 2.40057443601768 | erot = 1.20017706609103 | epot = -11.7345351799089 | etot = -8.13378367780019 -869000 ekin = 2.51819395230402 | erot = 1.18842551997292 | epot = -11.8404031503536 | etot = -8.13378367807667 -870000 ekin = 2.60380767640006 | erot = 1.19178595733222 | epot = -11.9293773119552 | etot = -8.13378367822295 -871000 ekin = 2.65597330550025 | erot = 1.2100890019769 | epot = -11.9998459858056 | etot = -8.13378367832845 -872000 ekin = 2.67413391804158 | erot = 1.24223617488104 | epot = -12.0501537716578 | etot = -8.13378367873519 -873000 ekin = 2.65523813357981 | erot = 1.28590823790636 | epot = -12.0749300508519 | etot = -8.13378367936569 -874000 ekin = 2.59426343770237 | erot = 1.33769628220084 | epot = -12.0657433999318 | etot = -8.13378368002863 -875000 ekin = 2.48661885037869 | erot = 1.39359938802698 | epot = -12.0140019187687 | etot = -8.13378368036305 -876000 ekin = 2.3325716344682 | erot = 1.44985984558333 | epot = -11.9162151600516 | etot = -8.13378368000003 -877000 ekin = 2.14151731726319 | erot = 1.50380376851767 | epot = -11.7791047646106 | etot = -8.13378367882977 -878000 ekin = 1.9328320049617 | erot = 1.55419737766281 | epot = -11.6208130598149 | etot = -8.13378367719035 -879000 ekin = 1.7311757375338 | erot = 1.60084517557068 | epot = -11.4658045888545 | etot = -8.13378367575007 -880000 ekin = 1.55787151453529 | erot = 1.64373016650857 | epot = -11.3353853561002 | etot = -8.13378367505636 -881000 ekin = 1.42384142286017 | erot = 1.68244604710334 | epot = -11.2400711450968 | etot = -8.13378367513324 -882000 ekin = 1.32893688630863 | erot = 1.71640874325353 | epot = -11.1791293051203 | etot = -8.13378367555812 -883000 ekin = 1.26714280246917 | erot = 1.74554143071219 | epot = -11.1464679089137 | etot = -8.13378367573232 -884000 ekin = 1.23268823978927 | erot = 1.77071758428828 | epot = -11.1371895000291 | etot = -8.13378367595158 -885000 ekin = 1.22008849612494 | erot = 1.7931216686051 | epot = -11.1469938408411 | etot = -8.13378367611103 -886000 ekin = 1.2253247993799 | erot = 1.81382116066767 | epot = -11.1729296362917 | etot = -8.13378367624409 -887000 ekin = 1.24494548115686 | erot = 1.8333603965884 | epot = -11.2120895542136 | etot = -8.13378367646834 -888000 ekin = 1.27500212875267 | erot = 1.85168867131358 | epot = -11.2604744768214 | etot = -8.13378367675513 -889000 ekin = 1.31152735197782 | erot = 1.86844690158133 | epot = -11.3137579306675 | etot = -8.13378367710839 -890000 ekin = 1.34986317506705 | erot = 1.88304641086648 | epot = -11.366693263463 | etot = -8.13378367752949 -891000 ekin = 1.38390530402723 | erot = 1.89468392941472 | epot = -11.4123729115327 | etot = -8.13378367809074 -892000 ekin = 1.4056939593949 | erot = 1.90226748680413 | epot = -11.4417451252141 | etot = -8.13378367901505 -893000 ekin = 1.40448288905364 | erot = 1.90432470807527 | epot = -11.4425912768364 | etot = -8.13378367970753 -894000 ekin = 1.37144289320793 | erot = 1.89954369080315 | epot = -11.4047702640041 | etot = -8.13378367999306 -895000 ekin = 1.30348485852156 | erot = 1.88750423015747 | epot = -11.3247727648586 | etot = -8.13378367617955 -896000 ekin = 1.22187336955615 | erot = 1.87071061704799 | epot = -11.2263676621213 | etot = -8.13378367551712 -897000 ekin = 1.14754845755141 | erot = 1.85263803873205 | epot = -11.1339701707916 | etot = -8.13378367450818 -898000 ekin = 1.08944016629691 | erot = 1.83653761360572 | epot = -11.0597614538287 | etot = -8.13378367392606 -899000 ekin = 1.05403951151006 | erot = 1.82413022658184 | epot = -11.0119534116858 | etot = -8.13378367359388 -900000 ekin = 1.04500203344446 | erot = 1.81619426344812 | epot = -10.994979970496 | etot = -8.13378367360344 -901000 ekin = 1.06222206934733 | erot = 1.8123440310837 | epot = -11.0083497743595 | etot = -8.13378367392844 -902000 ekin = 1.10209713935283 | erot = 1.81111462916561 | epot = -11.0469954429736 | etot = -8.13378367445512 -903000 ekin = 1.15876030908375 | erot = 1.81037876576567 | epot = -11.1029227498814 | etot = -8.133783675032 -904000 ekin = 1.22532881863849 | erot = 1.80797942318881 | epot = -11.1670919177971 | etot = -8.13378367596983 -905000 ekin = 1.29206809096935 | erot = 1.80250391199268 | epot = -11.2283556794293 | etot = -8.13378367646727 -906000 ekin = 1.35183435815479 | erot = 1.79300035919243 | epot = -11.2786183941064 | etot = -8.13378367675922 -907000 ekin = 1.3997999182264 | erot = 1.77946415971456 | epot = -11.3130477549044 | etot = -8.13378367696348 -908000 ekin = 1.43268044790834 | erot = 1.76253539555357 | epot = -11.3289995204751 | etot = -8.13378367701317 -909000 ekin = 1.44897967363112 | erot = 1.74341748034194 | epot = -11.3261808308616 | etot = -8.13378367688856 -910000 ekin = 1.44937912475448 | erot = 1.72390580409483 | epot = -11.3070686054089 | etot = -8.13378367655958 -911000 ekin = 1.43727653989154 | erot = 1.70617572380865 | epot = -11.2772359397525 | etot = -8.13378367605232 -912000 ekin = 1.41843448636244 | erot = 1.69263823222815 | epot = -11.2448563940395 | etot = -8.13378367544888 -913000 ekin = 1.40006194548143 | erot = 1.68549440970377 | epot = -11.2193400300544 | etot = -8.13378367486918 -914000 ekin = 1.38958826580783 | erot = 1.68634774644355 | epot = -11.2097196867265 | etot = -8.13378367447512 -915000 ekin = 1.39244841973003 | erot = 1.69595180427737 | epot = -11.2221838984246 | etot = -8.13378367441721 -916000 ekin = 1.41015014804868 | erot = 1.71401831960836 | epot = -11.2579521424291 | etot = -8.13378367477205 -917000 ekin = 1.4392962972226 | erot = 1.73916764012751 | epot = -11.3122476128452 | etot = -8.13378367549508 -918000 ekin = 1.47227942866918 | erot = 1.76903078857887 | epot = -11.3750938936502 | etot = -8.13378367640215 -919000 ekin = 1.49986621796558 | erot = 1.80052098861358 | epot = -11.4341708837671 | etot = -8.13378367718791 -920000 ekin = 1.51501277126177 | erot = 1.83027923256497 | epot = -11.47907568142 | etot = -8.13378367759328 -921000 ekin = 1.50567012556585 | erot = 1.85806253127122 | epot = -11.4975163336852 | etot = -8.13378367684813 -922000 ekin = 1.50530570224327 | erot = 1.88405749197312 | epot = -11.5231468708389 | etot = -8.13378367662252 -923000 ekin = 1.51005072191376 | erot = 1.89398296774265 | epot = -11.5378173655129 | etot = -8.13378367585645 -924000 ekin = 1.52928061141758 | erot = 1.89561779711381 | epot = -11.5586820839691 | etot = -8.13378367543768 -925000 ekin = 1.56873673267864 | erot = 1.88910082656719 | epot = -11.5916212349651 | etot = -8.13378367571927 -926000 ekin = 1.62371911818097 | erot = 1.87429650776439 | epot = -11.6317993026299 | etot = -8.13378367668451 -927000 ekin = 1.67952368644808 | erot = 1.85068760938675 | epot = -11.6639949737938 | etot = -8.13378367795893 -928000 ekin = 1.71651231901818 | erot = 1.81783745876575 | epot = -11.6681334568181 | etot = -8.13378367903418 -929000 ekin = 1.71702542960752 | erot = 1.77614095786796 | epot = -11.6269500669844 | etot = -8.13378367950894 -930000 ekin = 1.67099557211838 | erot = 1.7274288922438 | epot = -11.5322081435662 | etot = -8.13378367920398 -931000 ekin = 1.57874461917618 | erot = 1.67513458289526 | epot = -11.3876628802403 | etot = -8.13378367816882 -932000 ekin = 1.4507920768008 | erot = 1.62392798760098 | epot = -11.2085037410289 | etot = -8.13378367662711 -933000 ekin = 1.30531755494448 | erot = 1.57894109498966 | epot = -11.018042324831 | etot = -8.1337836748969 -934000 ekin = 1.16422088167371 | erot = 1.54485802656028 | epot = -10.8428625815313 | etot = -8.13378367329727 -935000 ekin = 1.04864497283229 | erot = 1.52509209112999 | epot = -10.7075207361246 | etot = -8.13378367216232 -936000 ekin = 0.974709276492776 | erot = 1.52116328044459 | epot = -10.6296562286223 | etot = -8.13378367168494 -937000 ekin = 0.950462282016656 | erot = 1.53244919686212 | epot = -10.6166951508385 | etot = -8.13378367195971 -938000 ekin = 0.974421294284288 | erot = 1.55616007219735 | epot = -10.6643650394247 | etot = -8.13378367294306 -939000 ekin = 1.03606886900089 | erot = 1.58755449752601 | epot = -10.7574070409824 | etot = -8.13378367445547 -940000 ekin = 1.1182684113919 | erot = 1.62042989204406 | epot = -10.8724819796331 | etot = -8.13378367619717 -941000 ekin = 1.20122028724958 | erot = 1.64794232232013 | epot = -10.9829462873571 | etot = -8.13378367778742 -942000 ekin = 1.26717763839312 | erot = 1.66371923985981 | epot = -11.0646805571373 | etot = -8.13378367888438 -943000 ekin = 1.30509212601128 | erot = 1.66314531309206 | epot = -11.1020211182277 | etot = -8.13378367912435 -944000 ekin = 1.31392377996911 | erot = 1.64449670956111 | epot = -11.0922041680488 | etot = -8.13378367851861 -945000 ekin = 1.30237464540686 | erot = 1.60929976269543 | epot = -11.0454580854524 | etot = -8.13378367735008 -946000 ekin = 1.28506402585559 | erot = 1.56181036928443 | epot = -10.9806580712548 | etot = -8.13378367611474 -947000 ekin = 1.27634123306472 | erot = 1.50774431584928 | epot = -10.9178692241958 | etot = -8.13378367528185 -948000 ekin = 1.28467886384667 | erot = 1.45281196796929 | epot = -10.8712745068834 | etot = -8.13378367506747 -949000 ekin = 1.31037739966444 | erot = 1.4015724009042 | epot = -10.845733475945 | etot = -8.13378367537636 -950000 ekin = 1.34722619730445 | erot = 1.3568868930793 | epot = -10.8378967663129 | etot = -8.13378367592918 -951000 ekin = 1.38650860378931 | erot = 1.31991932975183 | epot = -10.8402116099744 | etot = -8.13378367643326 -952000 ekin = 1.42144708624314 | erot = 1.29081153328224 | epot = -10.8460422961592 | etot = -8.13378367663378 -953000 ekin = 1.44882630067214 | erot = 1.26905801004898 | epot = -10.8516679874738 | etot = -8.13378367675266 -954000 ekin = 1.46839021307718 | erot = 1.25288009019966 | epot = -10.8550539798531 | etot = -8.13378367657631 -955000 ekin = 1.48389177785595 | erot = 1.24071488980735 | epot = -10.8583903439438 | etot = -8.13378367628045 -956000 ekin = 1.50041047950534 | erot = 1.23152279455205 | epot = -10.8657169501392 | etot = -8.1337836760818 -957000 ekin = 1.52124213092013 | erot = 1.2248104773485 | epot = -10.879836284368 | etot = -8.13378367609941 -958000 ekin = 1.54632228820822 | erot = 1.22051885655829 | epot = -10.9006248210289 | etot = -8.13378367626243 -959000 ekin = 1.57324295712668 | erot = 1.21891909920002 | epot = -10.9259457327015 | etot = -8.13378367637477 -960000 ekin = 1.59969207344602 | erot = 1.22060655525412 | epot = -10.9540823050919 | etot = -8.13378367639174 -961000 ekin = 1.62253441996171 | erot = 1.22677322915566 | epot = -10.9830913253843 | etot = -8.13378367626691 -962000 ekin = 1.64127230147935 | erot = 1.23851880603448 | epot = -11.0135747836412 | etot = -8.13378367612736 -963000 ekin = 1.65616191466682 | erot = 1.25678968602508 | epot = -11.0467352768412 | etot = -8.13378367614927 -964000 ekin = 1.66566514854511 | erot = 1.28218253503938 | epot = -11.0816313598357 | etot = -8.13378367625117 -965000 ekin = 1.66770285430116 | erot = 1.31455464298714 | epot = -11.1160411738658 | etot = -8.13378367657753 -966000 ekin = 1.65810694854125 | erot = 1.35314679644672 | epot = -11.1450374218014 | etot = -8.13378367681348 -967000 ekin = 1.63401913508899 | erot = 1.39653020178946 | epot = -11.1643330138152 | etot = -8.13378367693677 -968000 ekin = 1.59493850092154 | erot = 1.44254096564059 | epot = -11.1712631436315 | etot = -8.13378367706939 -969000 ekin = 1.54116623552017 | erot = 1.48830566532219 | epot = -11.1632555781849 | etot = -8.13378367734257 -970000 ekin = 1.47195250632947 | erot = 1.53048571049902 | epot = -11.1362218945415 | etot = -8.13378367771304 -971000 ekin = 1.38571362597403 | erot = 1.56593199201498 | epot = -11.0854292956026 | etot = -8.13378367761359 -972000 ekin = 1.2844612417634 | erot = 1.5927702433258 | epot = -11.0110151625437 | etot = -8.13378367745447 -973000 ekin = 1.17320808893134 | erot = 1.61049478745248 | epot = -10.9174865530745 | etot = -8.13378367669067 -974000 ekin = 1.063134217545 | erot = 1.62023440891558 | epot = -10.8171523018864 | etot = -8.13378367542583 -975000 ekin = 0.970987628511461 | erot = 1.62445058186299 | epot = -10.729221884475 | etot = -8.13378367410056 -976000 ekin = 0.913517833540499 | erot = 1.62592321100425 | epot = -10.6732247178428 | etot = -8.13378367329807 -977000 ekin = 0.900210296810119 | erot = 1.62660680819932 | epot = -10.6606007783876 | etot = -8.13378367337816 -978000 ekin = 0.928774958127715 | erot = 1.62702792958257 | epot = -10.689586561963 | etot = -8.1337836742527 -979000 ekin = 0.986309688868686 | erot = 1.62661906217909 | epot = -10.7467124264037 | etot = -8.13378367535593 -980000 ekin = 1.05604184520662 | erot = 1.62477777714318 | epot = -10.8146032984793 | etot = -8.13378367612947 -981000 ekin = 1.1246974517273 | erot = 1.62193499902994 | epot = -10.8804161270463 | etot = -8.13378367628903 -982000 ekin = 1.18655422477308 | erot = 1.61989865458109 | epot = -10.9402365552591 | etot = -8.13378367590495 -983000 ekin = 1.2432339331173 | erot = 1.62138932845409 | epot = -10.9984069368238 | etot = -8.13378367525236 -984000 ekin = 1.3007289232663 | erot = 1.62917854668228 | epot = -11.0636911445781 | etot = -8.13378367462955 -985000 ekin = 1.36575798905031 | erot = 1.64530549608379 | epot = -11.1448471593989 | etot = -8.13378367426479 -986000 ekin = 1.44269014496135 | erot = 1.67060135311584 | epot = -11.2470751723821 | etot = -8.13378367430487 -987000 ekin = 1.53139017712842 | erot = 1.70450616306297 | epot = -11.3696800150103 | etot = -8.1337836748189 -988000 ekin = 1.62542516993083 | erot = 1.74490462825212 | epot = -11.5041134740412 | etot = -8.13378367585821 -989000 ekin = 1.70973314356223 | erot = 1.78758053837793 | epot = -11.6310973591265 | etot = -8.13378367718631 -990000 ekin = 1.76834990596683 | erot = 1.82854800940128 | epot = -11.7306815937548 | etot = -8.13378367838671 -991000 ekin = 1.78717585114204 | erot = 1.86445265633072 | epot = -11.7854121865501 | etot = -8.13378367907737 -992000 ekin = 1.75808068877046 | erot = 1.89344947238099 | epot = -11.785313840188 | etot = -8.13378367903651 -993000 ekin = 1.68149922524843 | erot = 1.91587779016308 | epot = -11.7311606936924 | etot = -8.13378367828091 -994000 ekin = 1.56634005404157 | erot = 1.93428820638793 | epot = -11.6344119374165 | etot = -8.13378367698701 -995000 ekin = 1.42807354955332 | erot = 1.95281321310297 | epot = -11.5146704380736 | etot = -8.13378367541727 -996000 ekin = 1.28578074304376 | erot = 1.97614374534339 | epot = -11.3957081622749 | etot = -8.13378367388774 -997000 ekin = 1.15849050556427 | erot = 2.00849321106801 | epot = -11.3007673893125 | etot = -8.1337836726802 -998000 ekin = 1.06172554858003 | erot = 2.05288173951555 | epot = -11.2483909600472 | etot = -8.13378367195161 -999000 ekin = 1.00534863971574 | erot = 2.11083351411326 | epot = -11.2499658255692 | etot = -8.13378367174015 -1000000 ekin = 0.992888354298654 | erot = 2.182321071549 | epot = -11.3089930978744 | etot = -8.13378367202676 - 1000000 0.073547286 -1.1520387 0.021139403 -1.0316105 -4.7686302e-05 64000 -Loop time of 17.4426 on 1 procs for 1000000 steps with 10 atoms - -Performance: 49534.033 tau/day, 57331.057 timesteps/s -99.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 | 14.806 | 14.806 | 14.806 | 0.0 | 84.88 -Bond | 0.62301 | 0.62301 | 0.62301 | 0.0 | 3.57 -Neigh | 0.008078 | 0.008078 | 0.008078 | 0.0 | 0.05 -Comm | 0.18244 | 0.18244 | 0.18244 | 0.0 | 1.05 -Output | 0.099253 | 0.099253 | 0.099253 | 0.0 | 0.57 -Modify | 1.4674 | 1.4674 | 1.4674 | 0.0 | 8.41 -Other | | 0.2565 | | | 1.47 - -Nlocal: 10.0000 ave 10 max 10 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 0.00000 ave 0 max 0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 37.0000 ave 37 max 37 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 37 -Ave neighs/atom = 3.7000000 -Ave special neighs/atom = 3.6000000 -Neighbor list builds = 1000 -Dangerous builds = 0 - -write_data last_config.${number}.* nocoeff -write_data last_config.3.* nocoeff -System init for write_data ... -Total wall time: 0:00:17 diff --git a/examples/PACKAGES/cgdna/examples/oxDNA2/duplex3/log.27May21.duplex3.g++.4 b/examples/PACKAGES/cgdna/examples/oxDNA2/duplex3/log.27May21.duplex3.g++.4 deleted file mode 100644 index 6d5e7669bb..0000000000 --- a/examples/PACKAGES/cgdna/examples/oxDNA2/duplex3/log.27May21.duplex3.g++.4 +++ /dev/null @@ -1,1180 +0,0 @@ -LAMMPS (27 May 2021) -variable number equal 3 -variable ofreq equal 1000 -variable efreq equal 1000 -variable T equal 0.1 -variable rhos equal 0.2 - -units lj - -dimension 3 - -newton off - -boundary p p p - -atom_style hybrid bond ellipsoid oxdna -WARNING: Atom style hybrid defines both, per-type and per-atom masses; both must be set, but only per-atom masses will be used (../atom_vec_hybrid.cpp:157) -atom_modify sort 0 1.0 - -# Pair interactions require lists of neighbours to be calculated -neighbor 2.0 bin -neigh_modify every 1 delay 0 check yes - -read_data data.duplex3 -Reading data file ... - orthogonal box = (-20.000000 -20.000000 -20.000000) to (20.000000 20.000000 20.000000) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 10 atoms - reading velocities ... - 10 velocities - scanning bonds ... - 2 = max bonds/atom - 10 ellipsoids - reading bonds ... - 8 bonds -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 - 2 = max # of 1-3 neighbors - 2 = max # of 1-4 neighbors - 4 = max # of special neighbors - special bonds CPU = 0.001 seconds - read_data CPU = 0.005 seconds - -set atom * mass 1.0 -Setting atom values ... - 10 settings made for mass - -group all type 1 4 -10 atoms in group all - -# oxDNA2 bond interactions - FENE backbone -bond_style oxdna2/fene -bond_coeff * 2.0 0.25 0.7564 -special_bonds lj 0 1 1 -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 1 1 - special bond factors coul: 0 0 0 - 2 = max # of 1-2 neighbors - 2 = max # of 1-3 neighbors - 2 = max # of 1-4 neighbors - 4 = max # of special neighbors - special bonds CPU = 0.000 seconds - -# oxDNA2 pair interactions -pair_style hybrid/overlay oxdna2/excv oxdna2/stk oxdna2/hbond oxdna2/xstk oxdna2/coaxstk oxdna2/dh -pair_coeff * * oxdna2/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32 -pair_coeff * * oxdna2/stk seqdep ${T} 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 -pair_coeff * * oxdna2/stk seqdep 0.1 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 -pair_coeff * * oxdna2/hbond seqdep 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 1 4 oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 2 3 oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff * * oxdna2/xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68 -pair_coeff * * oxdna2/coaxstk 58.5 0.4 0.6 0.22 0.58 2.0 2.891592653589793 0.65 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 40.0 3.116592653589793 -pair_coeff * * oxdna2/dh ${T} ${rhos} 0.815 -pair_coeff * * oxdna2/dh 0.1 ${rhos} 0.815 -pair_coeff * * oxdna2/dh 0.1 0.2 0.815 - -# NVE ensemble -fix 1 all nve/asphere -#fix 2 all langevin ${T} ${T} 2.5 457145 angmom 10 - -timestep 1e-5 - -#comm_style tiled -fix 3 all balance 1000 1.03 shift xyz 10 1.03 -comm_modify cutoff 3.8 - -compute quat all property/atom quatw quati quatj quatk - -compute erot all erotate/asphere -compute ekin all ke -compute epot all pe -variable erot equal c_erot -variable ekin equal c_ekin -variable epot equal c_epot -variable etot equal c_erot+c_ekin+c_epot -fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes -fix 5 all print 1000 "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes - -dump out all custom ${ofreq} out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz -dump out all custom 1000 out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz -dump out all custom 1000 out.3.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz -dump_modify out sort id -dump_modify out format line "%d %d %d %22.15le %22.15le %22.15le %d %d %d %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le" - -run 1000000 -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 5.6389877 - ghost atom cutoff = 5.6389877 - binsize = 2.8194939, bins = 15 15 15 - 5 neighbor lists, perpetual/occasional/extra = 5 0 0 - (1) pair oxdna2/excv, perpetual - attributes: half, newton off - pair build: half/bin/newtoff - stencil: full/bin/3d - bin: standard - (2) pair oxdna2/hbond, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (3) pair oxdna2/xstk, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (4) pair oxdna2/coaxstk, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (5) pair oxdna2/dh, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none -WARNING: Communication cutoff adjusted to 5.638987723814632 (../comm.cpp:739) -0 ekin = 1.18025158324274 | erot = 2.17908479136507 | epot = -11.4931199991265 | etot = -8.13378362451868 -Per MPI rank memory allocation (min/avg/max) = 9.444 | 9.445 | 9.446 Mbytes -Step Temp E_pair E_mol TotEng Press Volume - 0 0.087426043 -1.2259004 0.076588446 -1.0312868 -7.7802026e-06 64000 -1000 ekin = 1.08696491147664 | erot = 2.23197650714075 | epot = -11.452725042513 | etot = -8.13378362389561 -2000 ekin = 1.01265115460251 | erot = 2.29132031278141 | epot = -11.4377550908153 | etot = -8.13378362343136 -3000 ekin = 0.964951920610343 | erot = 2.35614244814783 | epot = -11.4548779921654 | etot = -8.13378362340727 -4000 ekin = 0.94586117922706 | erot = 2.42482489276794 | epot = -11.5044696957622 | etot = -8.13378362376716 -5000 ekin = 0.952186940161506 | erot = 2.49508744948286 | epot = -11.5810580140497 | etot = -8.13378362440531 -6000 ekin = 0.976836955567213 | erot = 2.56435791368455 | epot = -11.6749784943528 | etot = -8.133783625101 -7000 ekin = 1.01151727363089 | erot = 2.63034980765842 | epot = -11.7756507069156 | etot = -8.13378362562625 -8000 ekin = 1.04963768886881 | erot = 2.69159648304405 | epot = -11.8750177977505 | etot = -8.13378362583768 -9000 ekin = 1.0883140648391 | erot = 2.74768757650643 | epot = -11.9697852671577 | etot = -8.13378362581213 -10000 ekin = 1.12769894654421 | erot = 2.79881902231424 | epot = -12.0603015945015 | etot = -8.13378362564302 -11000 ekin = 1.16997706279088 | erot = 2.84539220453508 | epot = -12.1491528928088 | etot = -8.13378362548282 -12000 ekin = 1.2177282540356 | erot = 2.88753582693548 | epot = -12.2390477064188 | etot = -8.13378362544771 -13000 ekin = 1.27247277648631 | erot = 2.92478423931383 | epot = -12.3310406413903 | etot = -8.13378362559016 -14000 ekin = 1.33384628320076 | erot = 2.95599632290769 | epot = -12.4236262320193 | etot = -8.13378362591087 -15000 ekin = 1.39936071611667 | erot = 2.97947113417339 | epot = -12.5126154766851 | etot = -8.13378362639509 -16000 ekin = 1.46443870928025 | erot = 2.99312358077437 | epot = -12.591345917414 | etot = -8.13378362735941 -17000 ekin = 1.52113741921508 | erot = 2.99430260105844 | epot = -12.6492236482456 | etot = -8.13378362797211 -18000 ekin = 1.56143918576785 | erot = 2.98098620608853 | epot = -12.6762090203242 | etot = -8.13378362846786 -19000 ekin = 1.57873438318792 | erot = 2.95206674454566 | epot = -12.6645847564924 | etot = -8.13378362875883 -20000 ekin = 1.56841348053788 | erot = 2.90735147312967 | epot = -12.6095485824457 | etot = -8.13378362877816 -21000 ekin = 1.52886464109305 | erot = 2.84765291368988 | epot = -12.5103011832755 | etot = -8.13378362849259 -22000 ekin = 1.46209217703487 | erot = 2.77478397647209 | epot = -12.3706597813888 | etot = -8.13378362788186 -23000 ekin = 1.37376733102673 | erot = 2.69155728313737 | epot = -12.19910824124 | etot = -8.13378362707587 -24000 ekin = 1.27262109890793 | erot = 2.60118350194767 | epot = -12.007588227 | etot = -8.13378362614441 -25000 ekin = 1.16926502294377 | erot = 2.507036926952 | epot = -11.8100855751045 | etot = -8.13378362520874 -26000 ekin = 1.0747148994514 | erot = 2.41235840152823 | epot = -11.6208569253575 | etot = -8.13378362437787 -27000 ekin = 0.998982995755794 | erot = 2.31997753232684 | epot = -11.4527441518069 | etot = -8.13378362372431 -28000 ekin = 0.950065052892259 | erot = 2.23215621537595 | epot = -11.3160048915419 | etot = -8.13378362327374 -29000 ekin = 0.933483801722481 | erot = 2.1505610010298 | epot = -11.2178284257647 | etot = -8.13378362301241 -30000 ekin = 0.952335164335886 | erot = 2.07633501131226 | epot = -11.1624537985557 | etot = -8.13378362290756 -31000 ekin = 1.00761822011295 | erot = 2.01025995539436 | epot = -11.1516617984317 | etot = -8.13378362292441 -32000 ekin = 1.09859027316454 | erot = 1.95287201474932 | epot = -11.1852459109705 | etot = -8.13378362305664 -33000 ekin = 1.22296348257667 | erot = 1.90442653272443 | epot = -11.2611736386121 | etot = -8.13378362331101 -34000 ekin = 1.37683793249556 | erot = 1.8649833610543 | epot = -11.3756049172808 | etot = -8.13378362373091 -35000 ekin = 1.55422271443431 | erot = 1.83436013830192 | epot = -11.522366477147 | etot = -8.13378362441081 -36000 ekin = 1.7458960704812 | erot = 1.81205442227466 | epot = -11.6917341182486 | etot = -8.13378362549271 -37000 ekin = 1.93777565280843 | erot = 1.79705197600553 | epot = -11.8686112558401 | etot = -8.13378362702609 -38000 ekin = 2.11051089015029 | erot = 1.78782890330241 | epot = -12.0321234221669 | etot = -8.13378362871416 -39000 ekin = 2.243214825885 | erot = 1.78271510837239 | epot = -12.1597135641246 | etot = -8.13378362986721 -40000 ekin = 2.32146151921635 | erot = 1.78073283005133 | epot = -12.2359779791649 | etot = -8.13378362989725 -41000 ekin = 2.34386750101379 | erot = 1.78241563043122 | epot = -12.2600667603299 | etot = -8.13378362888491 -42000 ekin = 2.32118218527084 | erot = 1.78979050959086 | epot = -12.2447563223398 | etot = -8.13378362747809 -43000 ekin = 2.26309111555131 | erot = 1.80539262076481 | epot = -12.2022673943962 | etot = -8.13378365808009 -44000 ekin = 2.15856242114827 | erot = 1.84609032619616 | epot = -12.1384363880308 | etot = -8.13378364068641 -45000 ekin = 2.08936731003506 | erot = 1.88904724563044 | epot = -12.1121981822921 | etot = -8.13378362662662 -46000 ekin = 1.99646115970042 | erot = 1.9350398240043 | epot = -12.0652846104763 | etot = -8.13378362677161 -47000 ekin = 1.89712577412036 | erot = 1.98806984898587 | epot = -12.0189792501524 | etot = -8.13378362704618 -48000 ekin = 1.79036864863095 | erot = 2.04496273496238 | epot = -11.9691150108767 | etot = -8.13378362728336 -49000 ekin = 1.67630116263936 | erot = 2.10216327906911 | epot = -11.9122480690704 | etot = -8.13378362736194 -50000 ekin = 1.55727015247074 | erot = 2.15637892895983 | epot = -11.8474327086504 | etot = -8.13378362721979 -51000 ekin = 1.4381743370916 | erot = 2.20514040032699 | epot = -11.7770983642845 | etot = -8.13378362686595 -52000 ekin = 1.32596547232191 | erot = 2.24710946475012 | epot = -11.7068585634506 | etot = -8.13378362637853 -53000 ekin = 1.22848082922928 | erot = 2.28204759210387 | epot = -11.6443120472109 | etot = -8.1337836258777 -54000 ekin = 1.15295119316279 | erot = 2.31049933939895 | epot = -11.5972341580453 | etot = -8.13378362548353 -55000 ekin = 1.10463170766326 | erot = 2.33334681406847 | epot = -11.571762147013 | etot = -8.13378362528126 -56000 ekin = 1.0859079951732 | erot = 2.35139880092338 | epot = -11.5710904214036 | etot = -8.13378362530697 -57000 ekin = 1.09599893485474 | erot = 2.36511154450539 | epot = -11.5948941049135 | etot = -8.13378362555341 -58000 ekin = 1.1311980347098 | erot = 2.37445830578825 | epot = -11.639439966472 | etot = -8.13378362597399 -59000 ekin = 1.18549837183877 | erot = 2.37891691863242 | epot = -11.6981989169899 | etot = -8.13378362651871 -60000 ekin = 1.25136230662726 | erot = 2.37755306615259 | epot = -11.7626989998984 | etot = -8.13378362711854 -61000 ekin = 1.32065657328768 | erot = 2.36917823379323 | epot = -11.8236184347911 | etot = -8.13378362771015 -62000 ekin = 1.38555350991039 | erot = 2.35258911579065 | epot = -11.8719262538937 | etot = -8.1337836281927 -63000 ekin = 1.43966787267624 | erot = 2.32682848519609 | epot = -11.9002799863547 | etot = -8.13378362848239 -64000 ekin = 1.47909503438153 | erot = 2.2914499371541 | epot = -11.9043286000689 | etot = -8.13378362853327 -65000 ekin = 1.50288049774081 | erot = 2.24670960905127 | epot = -11.88337373515 | etot = -8.13378362835796 -66000 ekin = 1.5127450759901 | erot = 2.1935968418301 | epot = -11.840125545851 | etot = -8.13378362803079 -67000 ekin = 1.5120865963301 | erot = 2.13371356874821 | epot = -11.7795837927185 | etot = -8.13378362764022 -68000 ekin = 1.50462166617942 | erot = 2.06904733139788 | epot = -11.7074526249093 | etot = -8.13378362733198 -69000 ekin = 1.49293889166151 | erot = 2.00167765430528 | epot = -11.6284001731037 | etot = -8.13378362713687 -70000 ekin = 1.47793621174635 | erot = 1.93361210060372 | epot = -11.5453319394055 | etot = -8.13378362705546 -71000 ekin = 1.45891349102844 | erot = 1.86670994694695 | epot = -11.4594070650146 | etot = -8.1337836270392 -72000 ekin = 1.43427842101627 | erot = 1.80270883809017 | epot = -11.3707708861216 | etot = -8.13378362701516 -73000 ekin = 1.40258583891037 | erot = 1.74331039193086 | epot = -11.2796798577521 | etot = -8.13378362691083 -74000 ekin = 1.36359371155289 | erot = 1.69025647754913 | epot = -11.1876338157821 | etot = -8.13378362668012 -75000 ekin = 1.31886252565222 | erot = 1.64533820718021 | epot = -11.0979843591717 | etot = -8.13378362633925 -76000 ekin = 1.27181692773762 | erot = 1.61030043593585 | epot = -11.0159009896014 | etot = -8.13378362592789 -77000 ekin = 1.2276733892201 | erot = 1.586709525556 | epot = -10.9481665402834 | etot = -8.1337836255073 -78000 ekin = 1.19187425881975 | erot = 1.57555521121122 | epot = -10.9012130952116 | etot = -8.1337836251806 -79000 ekin = 1.16922470588819 | erot = 1.57716601534079 | epot = -10.880174346204 | etot = -8.13378362497497 -80000 ekin = 1.16351312193731 | erot = 1.59112852775407 | epot = -10.8884252746032 | etot = -8.13378362491183 -81000 ekin = 1.17709123428935 | erot = 1.61633850893085 | epot = -10.9272133682118 | etot = -8.13378362499165 -82000 ekin = 1.21064005584018 | erot = 1.65118762576684 | epot = -10.9956113068159 | etot = -8.13378362520884 -83000 ekin = 1.26297331742729 | erot = 1.69382675572838 | epot = -11.0905836987107 | etot = -8.13378362555501 -84000 ekin = 1.33092648687661 | erot = 1.74243133123666 | epot = -11.207141444114 | etot = -8.13378362600077 -85000 ekin = 1.4096121842737 | erot = 1.79540640337815 | epot = -11.3388022141302 | etot = -8.13378362647838 -86000 ekin = 1.49330005467931 | erot = 1.85150064414006 | epot = -11.4785843257051 | etot = -8.13378362688569 -87000 ekin = 1.57653380716712 | erot = 1.90982169886825 | epot = -11.6201391333937 | etot = -8.13378362735829 -88000 ekin = 1.65416408678862 | erot = 1.96971725895487 | epot = -11.7576649732583 | etot = -8.13378362751478 -89000 ekin = 1.72360216634183 | erot = 2.03055934337538 | epot = -11.8879451373047 | etot = -8.13378362758746 -90000 ekin = 1.78500984589396 | erot = 2.09126219979616 | epot = -12.0100556734365 | etot = -8.13378362774636 -91000 ekin = 1.83789001415883 | erot = 2.15001837237375 | epot = -12.121692014542 | etot = -8.13378362800938 -92000 ekin = 1.8751780932285 | erot = 2.20985483887587 | epot = -12.2188165602804 | etot = -8.13378362817606 -93000 ekin = 1.90356384535079 | erot = 2.26204903048023 | epot = -12.2993965046582 | etot = -8.13378362882718 -94000 ekin = 1.91566641673066 | erot = 2.30892488078343 | epot = -12.3583749263618 | etot = -8.13378362884772 -95000 ekin = 1.91095769384044 | erot = 2.34997522030068 | epot = -12.3947165431019 | etot = -8.13378362896078 -96000 ekin = 1.88948402498952 | erot = 2.38411475951123 | epot = -12.4073824132816 | etot = -8.13378362878085 -97000 ekin = 1.8534381113396 | erot = 2.41133046292278 | epot = -12.3985522027176 | etot = -8.13378362845527 -98000 ekin = 1.80684275230345 | erot = 2.43203206054872 | epot = -12.3726584408924 | etot = -8.13378362804021 -99000 ekin = 1.7547864112325 | erot = 2.4469297773688 | epot = -12.3354998162081 | etot = -8.13378362760676 -100000 ekin = 1.69590911435722 | erot = 2.45386958409528 | epot = -12.2835623848863 | etot = -8.13378368643375 -101000 ekin = 1.68113249375524 | erot = 2.36572534112416 | epot = -12.1806414642163 | etot = -8.13378362933686 -102000 ekin = 1.72678565900262 | erot = 2.35051337712511 | epot = -12.2110826965915 | etot = -8.13378366046378 -103000 ekin = 1.68338599487791 | erot = 2.35411811039612 | epot = -12.1712877656958 | etot = -8.13378366042172 -104000 ekin = 1.6432358641293 | erot = 2.35701648102723 | epot = -12.1340360056527 | etot = -8.1337836604962 -105000 ekin = 1.6058411347212 | erot = 2.35932964102249 | epot = -12.0989544363537 | etot = -8.13378366061004 -106000 ekin = 1.57044138011859 | erot = 2.36092776943221 | epot = -12.0651528102267 | etot = -8.13378366067593 -107000 ekin = 1.5370540025101 | erot = 2.36166253248189 | epot = -12.0325001956583 | etot = -8.13378366066631 -108000 ekin = 1.50696391591148 | erot = 2.36128557349189 | epot = -12.0020331499846 | etot = -8.13378366058128 -109000 ekin = 1.48244426546661 | erot = 2.35938088270993 | epot = -11.9756088087051 | etot = -8.13378366052851 -110000 ekin = 1.46539913148061 | erot = 2.35530683146147 | epot = -11.9544896235792 | etot = -8.13378366063714 -111000 ekin = 1.45548748017583 | erot = 2.34818065606079 | epot = -11.9374517972402 | etot = -8.13378366100358 -112000 ekin = 1.44872729612902 | erot = 2.33695548266938 | epot = -11.9194664403743 | etot = -8.13378366157592 -113000 ekin = 1.43805495586433 | erot = 2.32068695509387 | epot = -11.8925255730866 | etot = -8.13378366212841 -114000 ekin = 1.41640788690808 | erot = 2.29883886662102 | epot = -11.8490304158899 | etot = -8.13378366236083 -115000 ekin = 1.38063781822016 | erot = 2.27153218573294 | epot = -11.7859536655149 | etot = -8.13378366156184 -116000 ekin = 1.33630540308359 | erot = 2.23942220246119 | epot = -11.7095112666467 | etot = -8.13378366110188 -117000 ekin = 1.29001229198269 | erot = 2.20380811829898 | epot = -11.6276040708676 | etot = -8.13378366058597 -118000 ekin = 1.24711548834697 | erot = 2.16635124019897 | epot = -11.5472503887772 | etot = -8.13378366023123 -119000 ekin = 1.21073685469419 | erot = 2.12872161390261 | epot = -11.4732421286709 | etot = -8.13378366007414 -120000 ekin = 1.18115748419447 | erot = 2.09256534610066 | epot = -11.40750649033 | etot = -8.13378366003488 -121000 ekin = 1.15688642101108 | erot = 2.05947511288399 | epot = -11.350145193931 | etot = -8.1337836600359 -122000 ekin = 1.13593168276781 | erot = 2.03084061403911 | epot = -11.3005559568653 | etot = -8.1337836600584 -123000 ekin = 1.11638811965957 | erot = 2.00761097209071 | epot = -11.2577827519201 | etot = -8.13378366016986 -124000 ekin = 1.09616325371759 | erot = 1.99019695902089 | epot = -11.2201438730114 | etot = -8.13378366027295 -125000 ekin = 1.07358508996147 | erot = 1.97820026039384 | epot = -11.1855690107828 | etot = -8.13378366042751 -126000 ekin = 1.04712198978511 | erot = 1.97030937007256 | epot = -11.1512150205173 | etot = -8.13378366065958 -127000 ekin = 1.01560359550535 | erot = 1.96476336054367 | epot = -11.1141506168024 | etot = -8.13378366075333 -128000 ekin = 0.979281846652257 | erot = 1.95990906194977 | epot = -11.0729745693072 | etot = -8.1337836607052 -129000 ekin = 0.940294043229777 | erot = 1.9542877292158 | epot = -11.028365432901 | etot = -8.13378366045539 -130000 ekin = 0.902735823607082 | erot = 1.94710047764785 | epot = -10.9836199613548 | etot = -8.13378366009992 -131000 ekin = 0.87232975913947 | erot = 1.9382057552685 | epot = -10.9443191739567 | etot = -8.13378365954875 -132000 ekin = 0.855045600562003 | erot = 1.92803271303706 | epot = -10.9168619728692 | etot = -8.1337836592701 -133000 ekin = 0.854775562822287 | erot = 1.91694878880983 | epot = -10.9055080107082 | etot = -8.13378365907605 -134000 ekin = 0.873981086378638 | erot = 1.9054952248947 | epot = -10.9132599702529 | etot = -8.13378365897953 -135000 ekin = 0.913690181741534 | erot = 1.89429118508535 | epot = -10.9417650257939 | etot = -8.13378365896698 -136000 ekin = 0.973734451665314 | erot = 1.88395321784257 | epot = -10.991471328535 | etot = -8.13378365902709 -137000 ekin = 1.05255313135912 | erot = 1.8748880008039 | epot = -11.0612247920053 | etot = -8.13378365984223 -138000 ekin = 1.1443524994851 | erot = 1.8662689721207 | epot = -11.1444051316849 | etot = -8.1337836600791 -139000 ekin = 1.24448357091316 | erot = 1.85821435006776 | epot = -11.2364815813232 | etot = -8.13378366034227 -140000 ekin = 1.34860347563737 | erot = 1.85113522079146 | epot = -11.333522357093 | etot = -8.13378366066415 -141000 ekin = 1.45162669266307 | erot = 1.84534635451955 | epot = -11.430756708267 | etot = -8.13378366108439 -142000 ekin = 1.54663919844515 | erot = 1.84103156950942 | epot = -11.5214544297492 | etot = -8.13378366179463 -143000 ekin = 1.6247011023943 | erot = 1.83813053702651 | epot = -11.5966153018866 | etot = -8.13378366246583 -144000 ekin = 1.67710589256313 | erot = 1.83622813336458 | epot = -11.6471176890263 | etot = -8.13378366309863 -145000 ekin = 1.69650852159075 | erot = 1.83477115527506 | epot = -11.6650633403353 | etot = -8.13378366346953 -146000 ekin = 1.6799825027068 | erot = 1.83334306418742 | epot = -11.6471092301929 | etot = -8.13378366329869 -147000 ekin = 1.63255928725536 | erot = 1.83204496823063 | epot = -11.5983879178788 | etot = -8.13378366239283 -148000 ekin = 1.56926257377477 | erot = 1.83182914755862 | epot = -11.534875382189 | etot = -8.13378366085557 -149000 ekin = 1.51300824977771 | erot = 1.83452727994399 | epot = -11.4813191889261 | etot = -8.13378365920442 -150000 ekin = 1.48724963784764 | erot = 1.84235837448654 | epot = -11.4633916705185 | etot = -8.13378365818431 -151000 ekin = 1.50619323823056 | erot = 1.85697474830062 | epot = -11.4969516448368 | etot = -8.13378365830567 -152000 ekin = 1.5685599260268 | erot = 1.87847282638604 | epot = -11.5808164119028 | etot = -8.13378365948999 -153000 ekin = 1.65914489646706 | erot = 1.90493735116026 | epot = -11.6978659087732 | etot = -8.13378366114592 -154000 ekin = 1.75680978950874 | erot = 1.93282846213674 | epot = -11.8234219142234 | etot = -8.13378366257792 -155000 ekin = 1.84344901658567 | erot = 1.95802697046954 | epot = -11.9352596504351 | etot = -8.13378366337988 -156000 ekin = 1.90893795388549 | erot = 1.97697594926185 | epot = -12.019697566723 | etot = -8.1337836635757 -157000 ekin = 1.95061494386007 | erot = 1.98738512433609 | epot = -12.0717837316326 | etot = -8.13378366343647 -158000 ekin = 1.96976178337765 | erot = 1.98837447181577 | epot = -12.0919199183621 | etot = -8.13378366316872 -159000 ekin = 1.96892634677244 | erot = 1.98033790354907 | epot = -12.0830479131022 | etot = -8.13378366278067 -160000 ekin = 1.95167601805922 | erot = 1.96478101830043 | epot = -12.0502406985809 | etot = -8.13378366222127 -161000 ekin = 1.92323849263725 | erot = 1.94408396543573 | epot = -12.0011061196165 | etot = -8.13378366154349 -162000 ekin = 1.89012785139811 | erot = 1.92106669306998 | epot = -11.944978205359 | etot = -8.1337836608909 -163000 ekin = 1.85873206626248 | erot = 1.89844726529971 | epot = -11.8909629919512 | etot = -8.13378366038902 -164000 ekin = 1.83396756863798 | erot = 1.87841814938259 | epot = -11.8461693781064 | etot = -8.13378366008578 -165000 ekin = 1.81873657813931 | erot = 1.86247026312324 | epot = -11.8149905012188 | etot = -8.1337836599562 -166000 ekin = 1.81415764355162 | erot = 1.8514412879533 | epot = -11.79938259145 | etot = -8.13378365994511 -167000 ekin = 1.82014338462659 | erot = 1.84569577974767 | epot = -11.799622824365 | etot = -8.13378365999075 -168000 ekin = 1.83604973591181 | erot = 1.84534918673609 | epot = -11.815182582692 | etot = -8.1337836600441 -169000 ekin = 1.86118807803888 | erot = 1.85047766429992 | epot = -11.8454494024144 | etot = -8.13378366007557 -170000 ekin = 1.89508209491993 | erot = 1.86127600745116 | epot = -11.8901417624546 | etot = -8.13378366008347 -171000 ekin = 1.93739070093696 | erot = 1.87813927221236 | epot = -11.9493136332457 | etot = -8.13378366009642 -172000 ekin = 1.98746465492602 | erot = 1.9016569956626 | epot = -12.0229053107598 | etot = -8.13378366017114 -173000 ekin = 2.04358732260644 | erot = 1.93252470914556 | epot = -12.1098956921176 | etot = -8.13378366036558 -174000 ekin = 2.10212586880609 | erot = 1.97139111366216 | epot = -12.2073006432558 | etot = -8.13378366078754 -175000 ekin = 2.15653164019835 | erot = 2.01868623997525 | epot = -12.3090015416374 | etot = -8.13378366146383 -176000 ekin = 2.19700590631248 | erot = 2.07444517694631 | epot = -12.4052347456345 | etot = -8.13378366237571 -177000 ekin = 2.21275117726687 | erot = 2.13809655452346 | epot = -12.4846313951107 | etot = -8.13378366332033 -178000 ekin = 2.1910308413777 | erot = 2.20849637361908 | epot = -12.533310879452 | etot = -8.13378366445528 -179000 ekin = 2.05002958755748 | erot = 2.27647492405926 | epot = -12.4602881626281 | etot = -8.1337836510114 -180000 ekin = 2.00100366281097 | erot = 2.36086155180617 | epot = -12.4956488860904 | etot = -8.13378367147329 -181000 ekin = 1.8288534450285 | erot = 2.44444025932766 | epot = -12.4070773745343 | etot = -8.1337836701781 -182000 ekin = 1.62724610560642 | erot = 2.53221325513927 | epot = -12.2932430288224 | etot = -8.13378366807668 -183000 ekin = 1.42880501135731 | erot = 2.62540058534394 | epot = -12.1879892625426 | etot = -8.13378366584134 -184000 ekin = 1.26714962832189 | erot = 2.7256198185048 | epot = -12.1265531111187 | etot = -8.133783664292 -185000 ekin = 1.16606552758033 | erot = 2.83366450732284 | epot = -12.1335136988427 | etot = -8.13378366393954 -186000 ekin = 1.13327188784956 | erot = 2.94811459460555 | epot = -12.215170147212 | etot = -8.13378366475687 -187000 ekin = 1.16127663962627 | erot = 3.06454091657723 | epot = -12.3596012225476 | etot = -8.13378366634412 -188000 ekin = 1.23275799228683 | erot = 3.17578119614163 | epot = -12.5423228566627 | etot = -8.13378366823427 -189000 ekin = 1.32637276316102 | erot = 3.27316596760488 | epot = -12.7333224008233 | etot = -8.13378367005736 -190000 ekin = 1.42100795808828 | erot = 3.34817980173588 | epot = -12.9029714313696 | etot = -8.13378367154549 -191000 ekin = 1.49794111549855 | erot = 3.39410379075288 | epot = -13.025828578861 | etot = -8.13378367260959 -192000 ekin = 1.54262156679657 | erot = 3.40720165429168 | epot = -13.0836068940659 | etot = -8.13378367297767 -193000 ekin = 1.54797240883491 | erot = 3.3871523146608 | epot = -13.0689083961187 | etot = -8.133783672623 -194000 ekin = 1.51467582661431 | erot = 3.33705387754678 | epot = -12.9855133757553 | etot = -8.13378367159417 -195000 ekin = 1.45101621748205 | erot = 3.26269312885163 | epot = -12.847493016446 | etot = -8.13378367011236 -196000 ekin = 1.37083042970726 | erot = 3.17132041678842 | epot = -12.6759345149995 | etot = -8.1337836685038 -197000 ekin = 1.29009120536666 | erot = 3.07036265935732 | epot = -12.4942375317737 | etot = -8.13378366704976 -198000 ekin = 1.223641966439 | erot = 2.9665238264393 | epot = -12.3239494587818 | etot = -8.1337836659035 -199000 ekin = 1.18307710083203 | erot = 2.86542144217683 | epot = -12.1822822081286 | etot = -8.13378366511975 -200000 ekin = 1.17564340951886 | erot = 2.77158698378664 | epot = -12.0810140580287 | etot = -8.13378366472323 -201000 ekin = 1.2035961939173 | erot = 2.68856918537094 | epot = -12.0259490440284 | etot = -8.13378366474019 -202000 ekin = 1.26374726413794 | erot = 2.61894189739966 | epot = -12.0164728267157 | etot = -8.13378366517807 -203000 ekin = 1.34751597563135 | erot = 2.56419616426354 | epot = -12.0454958058701 | etot = -8.13378366597518 -204000 ekin = 1.44203337890026 | erot = 2.52468734318829 | epot = -12.1005043890636 | etot = -8.13378366697502 -205000 ekin = 1.53246038205374 | erot = 2.49972903140407 | epot = -12.1659730814057 | etot = -8.13378366794789 -206000 ekin = 1.60510558525676 | erot = 2.48793425280172 | epot = -12.2268235067207 | etot = -8.13378366866227 -207000 ekin = 1.65039556723151 | erot = 2.48771410987631 | epot = -12.271893346076 | etot = -8.13378366896816 -208000 ekin = 1.66471924263836 | erot = 2.49772662877094 | epot = -12.2962295402568 | etot = -8.1337836688475 -209000 ekin = 1.65060780281935 | erot = 2.5170617877379 | epot = -12.3014532589726 | etot = -8.13378366841534 -210000 ekin = 1.6152961353011 | erot = 2.54506818372014 | epot = -12.294147986901 | etot = -8.13378366787973 -211000 ekin = 1.56815998339925 | erot = 2.58088870847204 | epot = -12.2828323593483 | etot = -8.13378366747702 -212000 ekin = 1.51779769211988 | erot = 2.62289115839936 | epot = -12.2744725179128 | etot = -8.13378366739357 -213000 ekin = 1.4697069778648 | erot = 2.66822787294276 | epot = -12.2717185184987 | etot = -8.13378366769114 -214000 ekin = 1.42551121612053 | erot = 2.71271314915528 | epot = -12.272008033447 | etot = -8.13378366817117 -215000 ekin = 1.38449526701928 | erot = 2.75113858809809 | epot = -12.2694175238349 | etot = -8.13378366871753 -216000 ekin = 1.34611450510848 | erot = 2.778189054446 | epot = -12.2580872284529 | etot = -8.13378366889846 -217000 ekin = 1.31348152812132 | erot = 2.78964053187646 | epot = -12.2369057285569 | etot = -8.13378366855912 -218000 ekin = 1.29458639919669 | erot = 2.78319145109128 | epot = -12.211561518241 | etot = -8.13378366795307 -219000 ekin = 1.29978448123297 | erot = 2.75785865494222 | epot = -12.1914268036092 | etot = -8.133783667434 -220000 ekin = 1.33694784981916 | erot = 2.71363634301958 | epot = -12.1843678601791 | etot = -8.13378366734038 -221000 ekin = 1.40745643921217 | erot = 2.65092088134261 | epot = -12.1921609882724 | etot = -8.13378366771768 -222000 ekin = 1.50572252626058 | erot = 2.5702947695228 | epot = -12.2098009641044 | etot = -8.13378366832106 -223000 ekin = 1.622108433758 | erot = 2.4728900733409 | epot = -12.2287821759283 | etot = -8.13378366882938 -224000 ekin = 1.74679393022895 | erot = 2.36097135919323 | epot = -12.2415489584549 | etot = -8.13378366903269 -225000 ekin = 1.87205636329869 | erot = 2.23842454190499 | epot = -12.2442645742122 | etot = -8.13378366900852 -226000 ekin = 1.99134598106539 | erot = 2.11064622098381 | epot = -12.2357758711276 | etot = -8.13378366907843 -227000 ekin = 2.09586639151506 | erot = 1.98364704051147 | epot = -12.2132971015561 | etot = -8.13378366952953 -228000 ekin = 2.17197666667235 | erot = 1.86293503717753 | epot = -12.168695374189 | etot = -8.13378367033911 -229000 ekin = 2.20263173192425 | erot = 1.75265294154687 | epot = -12.0890683445883 | etot = -8.13378367111721 -230000 ekin = 2.17321554606717 | erot = 1.65532359970834 | epot = -11.9623228171274 | etot = -8.13378367135191 -231000 ekin = 2.0785492057305 | erot = 1.57213281486692 | epot = -11.7844656913344 | etot = -8.13378367073699 -232000 ekin = 1.9267119502183 | erot = 1.50340464294821 | epot = -11.5639002625312 | etot = -8.13378366936465 -233000 ekin = 1.73729705955979 | erot = 1.44896834770243 | epot = -11.3200490749316 | etot = -8.13378366766943 -234000 ekin = 1.5355695335478 | erot = 1.408340459375 | epot = -11.077693659003 | etot = -8.13378366608018 -235000 ekin = 1.34558700580171 | erot = 1.38078818073892 | epot = -10.860158851475 | etot = -8.13378366493441 -236000 ekin = 1.18525206422635 | erot = 1.36570263210389 | epot = -10.684738360547 | etot = -8.13378366421678 -237000 ekin = 1.06637029724387 | erot = 1.36251012102835 | epot = -10.5626640820872 | etot = -8.13378366381498 -238000 ekin = 0.995491212021447 | erot = 1.370704297714 | epot = -10.4999791733999 | etot = -8.13378366366447 -239000 ekin = 0.975031518631871 | erot = 1.38971384126898 | epot = -10.4985290236702 | etot = -8.13378366376935 -240000 ekin = 1.00352423904712 | erot = 1.41866034024249 | epot = -10.5559682434632 | etot = -8.13378366417361 -241000 ekin = 1.07556704774174 | erot = 1.45612900246833 | epot = -10.6654797151281 | etot = -8.133783664918 -242000 ekin = 1.18122375067251 | erot = 1.49994629855497 | epot = -10.8149537152524 | etot = -8.13378366602495 -243000 ekin = 1.30634294707366 | erot = 1.54703331020094 | epot = -10.9871599246158 | etot = -8.13378366734116 -244000 ekin = 1.43466609576071 | erot = 1.59374373480257 | epot = -11.1621934990188 | etot = -8.13378366845551 -245000 ekin = 1.5509194417116 | erot = 1.63606515904686 | epot = -11.3207682704725 | etot = -8.13378366971408 -246000 ekin = 1.63963426714502 | erot = 1.67091688012785 | epot = -11.4443348179099 | etot = -8.13378367063702 -247000 ekin = 1.68912292676034 | erot = 1.69643192578669 | epot = -11.519338523587 | etot = -8.13378367104001 -248000 ekin = 1.6941862336644 | erot = 1.71223298155104 | epot = -11.5402028860527 | etot = -8.13378367083729 -249000 ekin = 1.65708464249924 | erot = 1.71943097162712 | epot = -11.5102992843213 | etot = -8.13378367019498 -250000 ekin = 1.58639864685249 | erot = 1.72015982289489 | epot = -11.4403421388616 | etot = -8.13378366911425 -251000 ekin = 1.49555936407676 | erot = 1.71716072440176 | epot = -11.3465037564433 | etot = -8.13378366796475 -252000 ekin = 1.39930346630719 | erot = 1.71298107622756 | epot = -11.246068209527 | etot = -8.13378366699228 -253000 ekin = 1.3103489835937 | erot = 1.70949093459635 | epot = -11.1536235845411 | etot = -8.13378366635106 -254000 ekin = 1.23716194123169 | erot = 1.70776552340202 | epot = -11.0787111307326 | etot = -8.13378366609892 -255000 ekin = 1.18305733845105 | erot = 1.70821467485162 | epot = -11.0250556794503 | etot = -8.13378366614759 -256000 ekin = 1.14729363432645 | erot = 1.71063275158254 | epot = -10.9917100522912 | etot = -8.13378366638218 -257000 ekin = 1.12650460108559 | erot = 1.71454195552869 | epot = -10.9748302232647 | etot = -8.13378366665042 -258000 ekin = 1.11669715917833 | erot = 1.71938873503377 | epot = -10.9698695610666 | etot = -8.1337836668545 -259000 ekin = 1.11461746403845 | erot = 1.72463904931154 | epot = -10.9730401803378 | etot = -8.13378366698779 -260000 ekin = 1.11796213299299 | erot = 1.72976096814025 | epot = -10.9815067682361 | etot = -8.13378366710283 -261000 ekin = 1.12495929560849 | erot = 1.73429797646884 | epot = -10.9930409392109 | etot = -8.13378366713357 -262000 ekin = 1.13415334886889 | erot = 1.73799782227262 | epot = -11.0059348383777 | etot = -8.13378366723624 -263000 ekin = 1.14419248657879 | erot = 1.74014341284042 | epot = -11.0181195666665 | etot = -8.13378366724733 -264000 ekin = 1.15486713033172 | erot = 1.74014049676802 | epot = -11.0287912942192 | etot = -8.13378366711944 -265000 ekin = 1.16757148072562 | erot = 1.73774643956244 | epot = -11.039101587165 | etot = -8.13378366687698 -266000 ekin = 1.18492523334795 | erot = 1.73313774545462 | epot = -11.0518466454031 | etot = -8.13378366660057 -267000 ekin = 1.20976553808811 | erot = 1.72682085390455 | epot = -11.0703700583738 | etot = -8.13378366638118 -268000 ekin = 1.24403111905913 | erot = 1.71946869065513 | epot = -11.0972834759989 | etot = -8.13378366628467 -269000 ekin = 1.28796807043274 | erot = 1.71176934564142 | epot = -11.1335210824109 | etot = -8.1337836663367 -270000 ekin = 1.33984072253569 | erot = 1.70434119615681 | epot = -11.1779655852158 | etot = -8.13378366652329 -271000 ekin = 1.39615730896389 | erot = 1.69774776464927 | epot = -11.2276887403894 | etot = -8.13378366677628 -272000 ekin = 1.45234426470736 | erot = 1.69276715684625 | epot = -11.2788950886277 | etot = -8.13378366707408 -273000 ekin = 1.50368133070088 | erot = 1.6899254699141 | epot = -11.3273904679296 | etot = -8.13378366731462 -274000 ekin = 1.54639996326 | erot = 1.68983337629059 | epot = -11.370017006963 | etot = -8.13378366741239 -275000 ekin = 1.57877490149118 | erot = 1.69332235277519 | epot = -11.4058809215982 | etot = -8.13378366733188 -276000 ekin = 1.60168052283697 | erot = 1.70138855155645 | epot = -11.4368527414914 | etot = -8.13378366709803 -277000 ekin = 1.61832490283356 | erot = 1.71502642603421 | epot = -11.4671349956708 | etot = -8.13378366680302 -278000 ekin = 1.63311060675523 | erot = 1.73495415768231 | epot = -11.5018484310168 | etot = -8.13378366657925 -279000 ekin = 1.64995273995076 | erot = 1.76130541528063 | epot = -11.5450418217764 | etot = -8.13378366654497 -280000 ekin = 1.67073877093535 | erot = 1.79339849893338 | epot = -11.5979209366138 | etot = -8.13378366674507 -281000 ekin = 1.69438407985013 | erot = 1.82970064438665 | epot = -11.6578683914582 | etot = -8.13378366722143 -282000 ekin = 1.71376506080739 | erot = 1.86795891950377 | epot = -11.7155076481303 | etot = -8.13378366781918 -283000 ekin = 1.72224450525141 | erot = 1.90529068548223 | epot = -11.7613188590744 | etot = -8.13378366834076 -284000 ekin = 1.71505262177035 | erot = 1.93881515489586 | epot = -11.7876514453522 | etot = -8.13378366868602 -285000 ekin = 1.68954869056281 | erot = 1.96608819497556 | epot = -11.7894205543605 | etot = -8.13378366882217 -286000 ekin = 1.6455513774747 | erot = 1.98537597121301 | epot = -11.7647110174613 | etot = -8.13378366877358 -287000 ekin = 1.58495470812897 | erot = 1.9957898988245 | epot = -11.7145282755451 | etot = -8.13378366859164 -288000 ekin = 1.51101761585275 | erot = 1.99729776792806 | epot = -11.6420990521107 | etot = -8.13378366832988 -289000 ekin = 1.42766231980656 | erot = 1.99063899576466 | epot = -11.5520849836047 | etot = -8.13378366803348 -290000 ekin = 1.338945014859 | erot = 1.97716758999172 | epot = -11.4498962725825 | etot = -8.13378366773178 -291000 ekin = 1.24881721187693 | erot = 1.95864649303019 | epot = -11.3412473723294 | etot = -8.13378366742226 -292000 ekin = 1.16137515575313 | erot = 1.93702958191795 | epot = -11.2321884047267 | etot = -8.13378366705556 -293000 ekin = 1.08169833470348 | erot = 1.9142773845531 | epot = -11.1297593858137 | etot = -8.13378366655716 -294000 ekin = 1.01689863825985 | erot = 1.89223243581211 | epot = -11.0429147399692 | etot = -8.13378366589725 -295000 ekin = 0.976377352946778 | erot = 1.87253324956461 | epot = -10.9826942676899 | etot = -8.13378366517849 -296000 ekin = 0.970182395976462 | erot = 1.85650679550437 | epot = -10.9604728561375 | etot = -8.13378366465669 -297000 ekin = 1.00537151816906 | erot = 1.84499118418766 | epot = -10.9841463669825 | etot = -8.13378366462574 -298000 ekin = 1.0820053414681 | erot = 1.83812417715831 | epot = -11.0539131838607 | etot = -8.13378366523425 -299000 ekin = 1.19125189129924 | erot = 1.83519410294432 | epot = -11.1602296606202 | etot = -8.1337836663766 -300000 ekin = 1.31698721061554 | erot = 1.83465168975606 | epot = -11.2854225681191 | etot = -8.13378366774752 -301000 ekin = 1.44008784809517 | erot = 1.83433803115701 | epot = -11.4082095482453 | etot = -8.13378366899308 -302000 ekin = 1.54329548540448 | erot = 1.8319000019698 | epot = -11.5089791572141 | etot = -8.13378366983984 -303000 ekin = 1.61484992407372 | erot = 1.82529439832958 | epot = -11.5739279925579 | etot = -8.13378367015465 -304000 ekin = 1.6501104781044 | erot = 1.81324433416795 | epot = -11.5971384822055 | etot = -8.1337836699332 -305000 ekin = 1.65140814366674 | erot = 1.79549497030301 | epot = -11.5806867832603 | etot = -8.13378366929059 -306000 ekin = 1.62643416627266 | erot = 1.77280218913836 | epot = -11.5330200238207 | etot = -8.13378366840971 -307000 ekin = 1.58577500467047 | erot = 1.7466850070814 | epot = -11.466243679247 | etot = -8.13378366749516 -308000 ekin = 1.54030424866547 | erot = 1.7190380162455 | epot = -11.3931259316263 | etot = -8.13378366671535 -309000 ekin = 1.49900091050368 | erot = 1.69173690591768 | epot = -11.3245214826107 | etot = -8.13378366618935 -310000 ekin = 1.46747597212359 | erot = 1.66636932779436 | epot = -11.2676289658602 | etot = -8.13378366594223 -311000 ekin = 1.44771419446125 | erot = 1.6441044887669 | epot = -11.2256023491812 | etot = -8.13378366595302 -312000 ekin = 1.43839141863299 | erot = 1.62568199896102 | epot = -11.1978570837369 | etot = -8.13378366614285 -313000 ekin = 1.43594352565172 | erot = 1.61150443049414 | epot = -11.1812316225564 | etot = -8.13378366641055 -314000 ekin = 1.43595255617426 | erot = 1.60177116104733 | epot = -11.1715073838784 | etot = -8.13378366665676 -315000 ekin = 1.43500742741075 | erot = 1.59648896098848 | epot = -11.1652800551081 | etot = -8.13378366670885 -316000 ekin = 1.43108473245964 | erot = 1.59565804393782 | epot = -11.1605264431215 | etot = -8.13378366672408 -317000 ekin = 1.42390336284279 | erot = 1.59957952106374 | epot = -11.1572665504365 | etot = -8.13378366652995 -318000 ekin = 1.41631295379013 | erot = 1.60866819207335 | epot = -11.1587648120253 | etot = -8.1337836661618 -319000 ekin = 1.41381426233217 | erot = 1.62334142232427 | epot = -11.1709393503794 | etot = -8.13378366572294 -320000 ekin = 1.42315030252318 | erot = 1.64384116840432 | epot = -11.2007751362921 | etot = -8.13378366536455 -321000 ekin = 1.4502484549416 | erot = 1.67003325940262 | epot = -11.2540653795816 | etot = -8.13378366523739 -322000 ekin = 1.49815500536739 | erot = 1.70123818171541 | epot = -11.333176852525 | etot = -8.13378366544223 -323000 ekin = 1.56569352501793 | erot = 1.73609284126728 | epot = -11.435570032302 | etot = -8.13378366601681 -324000 ekin = 1.64679224020953 | erot = 1.77264010660174 | epot = -11.5532160138053 | etot = -8.13378366699399 -325000 ekin = 1.73163775630582 | erot = 1.80818795205706 | epot = -11.673609376406 | etot = -8.13378366804313 -326000 ekin = 1.80750329207855 | erot = 1.83980749295788 | epot = -11.7810944543838 | etot = -8.1337836693474 -327000 ekin = 1.85797659456065 | erot = 1.86537346542197 | epot = -11.8571337303088 | etot = -8.13378367032619 -328000 ekin = 1.87027520748334 | erot = 1.88392315073408 | epot = -11.8879820288766 | etot = -8.1337836706592 -329000 ekin = 1.83949589054195 | erot = 1.89597309718977 | epot = -11.8692526579103 | etot = -8.13378367017855 -330000 ekin = 1.77117100868406 | erot = 1.90323589019568 | epot = -11.8081905678758 | etot = -8.13378366899602 -331000 ekin = 1.68023517872834 | erot = 1.90771959425569 | epot = -11.7217384405291 | etot = -8.13378366754505 -332000 ekin = 1.58599656571047 | erot = 1.91066851347226 | epot = -11.630448745533 | etot = -8.13378366635028 -333000 ekin = 1.50566649891299 | erot = 1.91203797343779 | epot = -11.5514881380494 | etot = -8.13378366569858 -334000 ekin = 1.44997196058755 | erot = 1.91073772769942 | epot = -11.4944933538478 | etot = -8.13378366556085 -335000 ekin = 1.42175053140652 | erot = 1.9051560562899 | epot = -11.4606902539305 | etot = -8.13378366623405 -336000 ekin = 1.41662531058297 | erot = 1.89330033651289 | epot = -11.4437093137209 | etot = -8.13378366662504 -337000 ekin = 1.42902342419778 | erot = 1.87459660541321 | epot = -11.437403696558 | etot = -8.13378366694704 -338000 ekin = 1.45347553473981 | erot = 1.84924982278916 | epot = -11.4365090247012 | etot = -8.13378366717226 -339000 ekin = 1.48532648332114 | erot = 1.81789825388429 | epot = -11.4370084045391 | etot = -8.13378366733368 -340000 ekin = 1.52068113212375 | erot = 1.78131054290074 | epot = -11.4357753424987 | etot = -8.13378366747424 -341000 ekin = 1.55606070128761 | erot = 1.74019406298195 | epot = -11.4300384318839 | etot = -8.13378366761432 -342000 ekin = 1.58819693536347 | erot = 1.69515176482589 | epot = -11.4171323679297 | etot = -8.1337836677403 -343000 ekin = 1.61415529814656 | erot = 1.64675903934792 | epot = -11.3946980053091 | etot = -8.13378366781461 -344000 ekin = 1.63171879307223 | erot = 1.59569319794067 | epot = -11.3611956588139 | etot = -8.13378366780101 -345000 ekin = 1.63976605961484 | erot = 1.54282704208847 | epot = -11.3163767693982 | etot = -8.13378366769487 -346000 ekin = 1.63837200138306 | erot = 1.48918714016547 | epot = -11.2613428090693 | etot = -8.13378366752076 -347000 ekin = 1.62852754177416 | erot = 1.43587351564653 | epot = -11.1981847247515 | etot = -8.13378366733081 -348000 ekin = 1.61158889283619 | erot = 1.38392546940151 | epot = -11.1292980294103 | etot = -8.13378366717258 -349000 ekin = 1.58873557439522 | erot = 1.3342285052023 | epot = -11.056747746671 | etot = -8.13378366707351 -350000 ekin = 1.56064786721489 | erot = 1.28749851959581 | epot = -10.9819300538427 | etot = -8.13378366703198 -351000 ekin = 1.52754191191417 | erot = 1.24434620359135 | epot = -10.9056717825192 | etot = -8.13378366701369 -352000 ekin = 1.48960299204036 | erot = 1.20538641997798 | epot = -10.8287730789784 | etot = -8.13378366696006 -353000 ekin = 1.44778264503061 | erot = 1.171343997089 | epot = -10.7529103089073 | etot = -8.13378366678773 -354000 ekin = 1.40533100953429 | erot = 1.14324844922355 | epot = -10.6823631252439 | etot = -8.13378366648608 -355000 ekin = 1.36869095863523 | erot = 1.12250242069097 | epot = -10.624977045381 | etot = -8.1337836660548 -356000 ekin = 1.34490175995588 | erot = 1.10992990777971 | epot = -10.5886153331823 | etot = -8.13378366544672 -357000 ekin = 1.34315796276068 | erot = 1.10621719879485 | epot = -10.583158826382 | etot = -8.13378366482642 -358000 ekin = 1.37283801207963 | erot = 1.11171347587629 | epot = -10.618335152412 | etot = -8.13378366445607 -359000 ekin = 1.43996759058429 | erot = 1.12612871057334 | epot = -10.6998799657449 | etot = -8.13378366458728 -360000 ekin = 1.54388445914205 | erot = 1.14830381564056 | epot = -10.8259719401007 | etot = -8.13378366531803 -361000 ekin = 1.67586531509345 | erot = 1.17618905419133 | epot = -10.9858380358555 | etot = -8.13378366657067 -362000 ekin = 1.82005627455731 | erot = 1.20703160753369 | epot = -11.1608715500468 | etot = -8.13378366795576 -363000 ekin = 1.95850583937509 | erot = 1.23798141777763 | epot = -11.3302709261667 | etot = -8.13378366901394 -364000 ekin = 2.07580017664631 | erot = 1.26672677095189 | epot = -11.4763106177203 | etot = -8.13378367012209 -365000 ekin = 2.15891662517649 | erot = 1.2917362149566 | epot = -11.5844365106038 | etot = -8.13378367047072 -366000 ekin = 2.20238380195972 | erot = 1.31262064914741 | epot = -11.6487881213393 | etot = -8.13378367023221 -367000 ekin = 2.20851727275469 | erot = 1.33022857587836 | epot = -11.6725295182434 | etot = -8.13378366961035 -368000 ekin = 2.18513118770655 | erot = 1.34632721319968 | epot = -11.6652420696044 | etot = -8.13378366869816 -369000 ekin = 2.14321144646706 | erot = 1.36315448463277 | epot = -11.6401495989035 | etot = -8.13378366780372 -370000 ekin = 2.09388282413385 | erot = 1.3829685872038 | epot = -11.6106350785146 | etot = -8.13378366717694 -371000 ekin = 2.04539161606724 | erot = 1.40758201280237 | epot = -11.5867572956937 | etot = -8.13378366682407 -372000 ekin = 2.00261126514749 | erot = 1.43827057512703 | epot = -11.5746655069406 | etot = -8.13378366666604 -373000 ekin = 1.96798302472978 | erot = 1.47584503943867 | epot = -11.5776117307488 | etot = -8.13378366658035 -374000 ekin = 1.94276422015114 | erot = 1.52074221163633 | epot = -11.5972900983356 | etot = -8.13378366654817 -375000 ekin = 1.92741631545308 | erot = 1.57302624843858 | epot = -11.6342262305094 | etot = -8.13378366661773 -376000 ekin = 1.92110841836944 | erot = 1.63232320681393 | epot = -11.6872152920323 | etot = -8.13378366684892 -377000 ekin = 1.92083197490068 | erot = 1.69770894533905 | epot = -11.7523245875422 | etot = -8.13378366730247 -378000 ekin = 1.92097158012548 | erot = 1.76763055654398 | epot = -11.8223858045424 | etot = -8.13378366787295 -379000 ekin = 1.91438056917346 | erot = 1.8396431871319 | epot = -11.8878074249562 | etot = -8.13378366865082 -380000 ekin = 1.89241520119971 | erot = 1.91106138177138 | epot = -11.9372602523288 | etot = -8.13378366935769 -381000 ekin = 1.84711843121782 | erot = 1.97933543814791 | epot = -11.9602375392315 | etot = -8.13378366986578 -382000 ekin = 1.77364821789102 | erot = 2.04210934440318 | epot = -11.9495412323511 | etot = -8.13378367005693 -383000 ekin = 1.67178472399957 | erot = 2.09754562137053 | epot = -11.9031140151933 | etot = -8.1337836698232 -384000 ekin = 1.5470955648157 | erot = 2.14438708234687 | epot = -11.8252663163821 | etot = -8.1337836692195 -385000 ekin = 1.41093432867773 | erot = 2.18184182145426 | epot = -11.7265598182878 | etot = -8.13378366815581 -386000 ekin = 1.27958936994476 | erot = 2.2105134023135 | epot = -11.6238864391471 | etot = -8.13378366688884 -387000 ekin = 1.17137861198395 | erot = 2.23163165240068 | epot = -11.5367939301748 | etot = -8.13378366579022 -388000 ekin = 1.10179780402381 | erot = 2.24634754527801 | epot = -11.4819290145291 | etot = -8.13378366522729 -389000 ekin = 1.0788214896871 | erot = 2.25505587957633 | epot = -11.4676610376637 | etot = -8.13378366840031 -390000 ekin = 1.0705157013643 | erot = 2.26936424220645 | epot = -11.4736636037199 | etot = -8.13378366014919 -391000 ekin = 1.12513305991339 | erot = 2.2855798798748 | epot = -11.5444966077406 | etot = -8.13378366795243 -392000 ekin = 1.21295440172158 | erot = 2.27063670340333 | epot = -11.6173747716302 | etot = -8.13378366650531 -393000 ekin = 1.30924312365224 | erot = 2.24076930893604 | epot = -11.6837960997163 | etot = -8.13378366712804 -394000 ekin = 1.40561895760406 | erot = 2.19794335034459 | epot = -11.7373459753389 | etot = -8.13378366739026 -395000 ekin = 1.49662707239142 | erot = 2.14293675801952 | epot = -11.7733474977458 | etot = -8.1337836673349 -396000 ekin = 1.58077727991405 | erot = 2.07761988891095 | epot = -11.7921808358742 | etot = -8.13378366704919 -397000 ekin = 1.65955042581825 | erot = 2.0046983719103 | epot = -11.7980324643568 | etot = -8.13378366662829 -398000 ekin = 1.73622447988656 | erot = 1.9274307725286 | epot = -11.7974389185606 | etot = -8.13378366614548 -399000 ekin = 1.81471876942306 | erot = 1.84941455049466 | epot = -11.7979169856368 | etot = -8.13378366571907 -400000 ekin = 1.8983134508337 | erot = 1.77428869309176 | epot = -11.8063858093358 | etot = -8.1337836654103 -401000 ekin = 1.98857882165182 | erot = 1.70555701947582 | epot = -11.8279195064049 | etot = -8.13378366527722 -402000 ekin = 2.08469272454841 | erot = 1.64640053761235 | epot = -11.8648769274935 | etot = -8.13378366533273 -403000 ekin = 2.18333492883605 | erot = 1.59947809827627 | epot = -11.9165966926826 | etot = -8.13378366557027 -404000 ekin = 2.27899469657427 | erot = 1.56671457666619 | epot = -11.9794929390981 | etot = -8.13378366585767 -405000 ekin = 2.36506409046445 | erot = 1.54904572147219 | epot = -12.0478934783852 | etot = -8.13378366644859 -406000 ekin = 2.43306193249475 | erot = 1.546304344122 | epot = -12.1131499437743 | etot = -8.13378366715758 -407000 ekin = 2.4736418638006 | erot = 1.55689186413037 | epot = -12.1643173959494 | etot = -8.13378366801846 -408000 ekin = 2.47760299471968 | erot = 1.57810641384436 | epot = -12.1894930773271 | etot = -8.13378366876308 -409000 ekin = 2.43822850842007 | erot = 1.60664113475445 | epot = -12.1786533122524 | etot = -8.1337836690779 -410000 ekin = 2.35516301279646 | erot = 1.63934184028347 | epot = -12.1282885218097 | etot = -8.13378366872976 -411000 ekin = 2.23661952276616 | erot = 1.67408087730609 | epot = -12.0444840678173 | etot = -8.13378366774505 -412000 ekin = 2.09851267461395 | erot = 1.71012170017572 | epot = -11.9424180412093 | etot = -8.1337836664196 -413000 ekin = 1.96056484793519 | erot = 1.74778804011123 | epot = -11.8421365532004 | etot = -8.13378366515394 -414000 ekin = 1.84128090481262 | erot = 1.78771082122138 | epot = -11.7627753903042 | etot = -8.13378366427025 -415000 ekin = 1.75390442336068 | erot = 1.83009103154498 | epot = -11.7177791188318 | etot = -8.1337836639261 -416000 ekin = 1.70439570487926 | erot = 1.87425008285701 | epot = -11.7124294518636 | etot = -8.13378366412739 -417000 ekin = 1.69131554253175 | erot = 1.91850147883749 | epot = -11.743600686186 | etot = -8.13378366481675 -418000 ekin = 1.70689490032135 | erot = 1.96025799788817 | epot = -11.8009365639669 | etot = -8.13378366575739 -419000 ekin = 1.73962222230745 | erot = 1.99637255840753 | epot = -11.8697784475041 | etot = -8.13378366678912 -420000 ekin = 1.77669286262858 | erot = 2.02357619715018 | epot = -11.9340527274824 | etot = -8.13378366770368 -421000 ekin = 1.80657824083284 | erot = 2.0390304955572 | epot = -11.9793924047177 | etot = -8.13378366832764 -422000 ekin = 1.82111290086208 | erot = 2.04088419799593 | epot = -11.9957807674312 | etot = -8.1337836685732 -423000 ekin = 1.81648584568944 | erot = 2.02865244729818 | epot = -11.9789219614471 | etot = -8.13378366845947 -424000 ekin = 1.79301691785358 | erot = 2.00326876348541 | epot = -11.930069349413 | etot = -8.13378366807404 -425000 ekin = 1.7542404696839 | erot = 1.96680784722109 | epot = -11.8548319844133 | etot = -8.13378366750828 -426000 ekin = 1.70601392329575 | erot = 1.92202692836949 | epot = -11.7618245184928 | etot = -8.13378366682755 -427000 ekin = 1.65580906013395 | erot = 1.87186985441023 | epot = -11.6614625806825 | etot = -8.13378366613827 -428000 ekin = 1.61207963969974 | erot = 1.81905558542117 | epot = -11.5649188905573 | etot = -8.13378366543637 -429000 ekin = 1.58339999423441 | erot = 1.76579893171643 | epot = -11.4829825908618 | etot = -8.13378366491091 -430000 ekin = 1.57646033948071 | erot = 1.71346152699261 | epot = -11.4237055311749 | etot = -8.13378366470161 -431000 ekin = 1.59418488211472 | erot = 1.66239892772815 | epot = -11.3903674747328 | etot = -8.13378366488997 -432000 ekin = 1.63452809772422 | erot = 1.61205574803984 | epot = -11.3803675111975 | etot = -8.13378366543346 -433000 ekin = 1.69077410977618 | erot = 1.56136635610516 | epot = -11.3859241320224 | etot = -8.13378366614102 -434000 ekin = 1.75368500743292 | erot = 1.50939558466323 | epot = -11.3968642588314 | etot = -8.13378366673528 -435000 ekin = 1.81477188941735 | erot = 1.45598133799836 | epot = -11.4045368944183 | etot = -8.13378366700259 -436000 ekin = 1.86895151228505 | erot = 1.40204530897968 | epot = -11.404780488101 | etot = -8.13378366683627 -437000 ekin = 1.91551323813655 | erot = 1.34941425923463 | epot = -11.3987111639599 | etot = -8.13378366658874 -438000 ekin = 1.95545357706127 | erot = 1.30011080733677 | epot = -11.3893480508785 | etot = -8.13378366648046 -439000 ekin = 1.98811153075382 | erot = 1.25557284833865 | epot = -11.3774680457389 | etot = -8.13378366664641 -440000 ekin = 2.00986623435756 | erot = 1.21630204161131 | epot = -11.3599519429641 | etot = -8.13378366699526 -441000 ekin = 2.01530350765493 | erot = 1.18202297032947 | epot = -11.3311101452728 | etot = -8.13378366728836 -442000 ekin = 1.9993634967869 | erot = 1.15207873138354 | epot = -11.2852258960248 | etot = -8.13378366785433 -443000 ekin = 1.95696749681392 | erot = 1.12547607064215 | epot = -11.2162272349849 | etot = -8.1337836675288 -444000 ekin = 1.89166490098825 | erot = 1.10194461448165 | epot = -11.1273931823305 | etot = -8.13378366686056 -445000 ekin = 1.81328868644756 | erot = 1.08168732032795 | epot = -11.0287596725697 | etot = -8.13378366579416 -446000 ekin = 1.7357789947487 | erot = 1.06505071493094 | epot = -10.9346133747261 | etot = -8.1337836650465 -447000 ekin = 1.67093185589145 | erot = 1.05239705127173 | epot = -10.8571125714753 | etot = -8.13378366431213 -448000 ekin = 1.62911856820013 | erot = 1.04409603312877 | epot = -10.8069982651763 | etot = -8.13378366384744 -449000 ekin = 1.61731626297624 | erot = 1.04041489697374 | epot = -10.7915148237116 | etot = -8.13378366376162 -450000 ekin = 1.6371169760635 | erot = 1.04135992229854 | epot = -10.8122605627073 | etot = -8.13378366434522 -451000 ekin = 1.68320258142863 | erot = 1.04620824656701 | epot = -10.8631944930294 | etot = -8.13378366503374 -452000 ekin = 1.74581668012429 | erot = 1.05391169410258 | epot = -10.9335120400066 | etot = -8.13378366577969 -453000 ekin = 1.81457146101262 | erot = 1.06335165863559 | epot = -11.0117067861272 | etot = -8.13378366647896 -454000 ekin = 1.87975957939155 | erot = 1.07317402238584 | epot = -11.0867172689134 | etot = -8.13378366713605 -455000 ekin = 1.9325187758859 | erot = 1.0817162332551 | epot = -11.1480186769514 | etot = -8.13378366781045 -456000 ekin = 1.96415416827458 | erot = 1.08704156958786 | epot = -11.1849794063639 | etot = -8.13378366850143 -457000 ekin = 1.96605348077707 | erot = 1.08723394294108 | epot = -11.1870710927892 | etot = -8.13378366907104 -458000 ekin = 1.93127523761404 | erot = 1.08096076790283 | epot = -11.1460196747808 | etot = -8.13378366926398 -459000 ekin = 1.85771594839407 | erot = 1.06809531780543 | epot = -11.0595949350247 | etot = -8.13378366882522 -460000 ekin = 1.75147188083469 | erot = 1.05009293158145 | epot = -10.9353484800619 | etot = -8.13378366764577 -461000 ekin = 1.62834142733422 | erot = 1.02990811326217 | epot = -10.7920332064989 | etot = -8.13378366590246 -462000 ekin = 1.51195360647266 | erot = 1.01153881174185 | epot = -10.6572760811912 | etot = -8.13378366297672 -463000 ekin = 1.43011910143164 | erot = 1.00022578453557 | epot = -10.5641285481427 | etot = -8.13378366217548 -464000 ekin = 1.39582910826903 | erot = 0.998198432074986 | epot = -10.5278112021952 | etot = -8.1337836618512 -465000 ekin = 1.41007554849745 | erot = 1.00592009003026 | epot = -10.5497793012316 | etot = -8.13378366270389 -466000 ekin = 1.46251969360414 | erot = 1.02219738030375 | epot = -10.6185007378594 | etot = -8.13378366395154 -467000 ekin = 1.49627186619546 | erot = 1.05472101824476 | epot = -10.6847765487641 | etot = -8.13378366432389 -468000 ekin = 1.51725853676646 | erot = 1.12479885666538 | epot = -10.7758410579682 | etot = -8.13378366453633 -469000 ekin = 1.58140637754108 | erot = 1.16828828958057 | epot = -10.8834783316039 | etot = -8.13378366448221 -470000 ekin = 1.60068578297537 | erot = 1.1811414102052 | epot = -10.9156108575306 | etot = -8.13378366435 -471000 ekin = 1.59076368324978 | erot = 1.18707237246534 | epot = -10.911619719416 | etot = -8.13378366370092 -472000 ekin = 1.56124060598129 | erot = 1.18572143100842 | epot = -10.8807456997834 | etot = -8.1337836627937 -473000 ekin = 1.5250209740962 | erot = 1.17792025680898 | epot = -10.8367248927409 | etot = -8.13378366183571 -474000 ekin = 1.49533177224124 | erot = 1.16544446213364 | epot = -10.7945598953308 | etot = -8.1337836609559 -475000 ekin = 1.48386630174459 | erot = 1.15068540215452 | epot = -10.768335364138 | etot = -8.13378366023887 -476000 ekin = 1.49971334631653 | erot = 1.13623821677884 | epot = -10.7697352228395 | etot = -8.13378365974411 -477000 ekin = 1.5487111876888 | erot = 1.12448433352661 | epot = -10.8069791813277 | etot = -8.13378366011226 -478000 ekin = 1.62953491120247 | erot = 1.1176426890345 | epot = -10.8809612604774 | etot = -8.13378366024041 -479000 ekin = 1.73735741644254 | erot = 1.117006208111 | epot = -10.9881472852204 | etot = -8.13378366066682 -480000 ekin = 1.86556210288884 | erot = 1.12262064774855 | epot = -11.1219664120706 | etot = -8.13378366143325 -481000 ekin = 2.00121026336288 | erot = 1.1336486002113 | epot = -11.2686425499408 | etot = -8.13378368636666 -482000 ekin = 2.04617329753799 | erot = 1.1625692617215 | epot = -11.3425262237474 | etot = -8.1337836644879 -483000 ekin = 2.14335261837481 | erot = 1.2147627313197 | epot = -11.4918990326043 | etot = -8.13378368290979 -484000 ekin = 2.20270995355674 | erot = 1.23147381806447 | epot = -11.5679674446405 | etot = -8.13378367301928 -485000 ekin = 2.20682939440538 | erot = 1.23835798981609 | epot = -11.5789710574745 | etot = -8.13378367325297 -486000 ekin = 2.16589682793847 | erot = 1.24300370551386 | epot = -11.5426842062817 | etot = -8.13378367282935 -487000 ekin = 2.08668888864475 | erot = 1.24625551751706 | epot = -11.4667280780089 | etot = -8.13378367184709 -488000 ekin = 1.98386509124435 | erot = 1.24977318046269 | epot = -11.3674219422309 | etot = -8.1337836705239 -489000 ekin = 1.8770793102991 | erot = 1.255470127734 | epot = -11.2663331071942 | etot = -8.13378366916115 -490000 ekin = 1.78677596316064 | erot = 1.26490338721773 | epot = -11.1854630185056 | etot = -8.13378366812726 -491000 ekin = 1.72903831213024 | erot = 1.27867004038023 | epot = -11.1414920203099 | etot = -8.13378366779945 -492000 ekin = 1.71039979056745 | erot = 1.2959176810728 | epot = -11.1401011400604 | etot = -8.13378366842019 -493000 ekin = 1.72454317155255 | erot = 1.31423280426937 | epot = -11.1725596457264 | etot = -8.13378366990446 -494000 ekin = 1.75332785014951 | erot = 1.33022406247028 | epot = -11.2173355843427 | etot = -8.13378367172286 -495000 ekin = 1.77349565825601 | erot = 1.34086561473764 | epot = -11.248144946032 | etot = -8.13378367303834 -496000 ekin = 1.76725059668319 | erot = 1.34512484287368 | epot = -11.2461591127086 | etot = -8.1337836731517 -497000 ekin = 1.73127637990569 | erot = 1.34494708213011 | epot = -11.2100071339989 | etot = -8.13378367196309 -498000 ekin = 1.67855000909753 | erot = 1.34489121265361 | epot = -11.1572248917884 | etot = -8.13378367003722 -499000 ekin = 1.63191747121451 | erot = 1.35056727534129 | epot = -11.1162684147704 | etot = -8.13378366821463 -500000 ekin = 1.6137835999163 | erot = 1.36676364682263 | epot = -11.1143309138908 | etot = -8.13378366715187 -501000 ekin = 1.6375810198933 | erot = 1.39609850677296 | epot = -11.1674631937686 | etot = -8.13378366710232 -502000 ekin = 1.70413807541648 | erot = 1.43847493669639 | epot = -11.2763966800811 | etot = -8.13378366796824 -503000 ekin = 1.80268297747067 | erot = 1.49115460254022 | epot = -11.4276212495033 | etot = -8.13378366949244 -504000 ekin = 1.9141954977774 | erot = 1.54914693964006 | epot = -11.5971261088452 | etot = -8.13378367142778 -505000 ekin = 2.01490443996074 | erot = 1.6057640650419 | epot = -11.7544521785436 | etot = -8.13378367354096 -506000 ekin = 2.07966541468552 | erot = 1.65345439353817 | epot = -11.8669034836636 | etot = -8.13378367543991 -507000 ekin = 2.08700353894391 | erot = 1.68517460629184 | epot = -11.9059618217143 | etot = -8.13378367647857 -508000 ekin = 2.0266335266071 | erot = 1.69625747623332 | epot = -11.8566746789094 | etot = -8.13378367606896 -509000 ekin = 1.9058906413155 | erot = 1.68599529702425 | epot = -11.725669612527 | etot = -8.13378367418728 -510000 ekin = 1.74959091230051 | erot = 1.65787688253056 | epot = -11.5412514662974 | etot = -8.13378367146631 -511000 ekin = 1.59231955656842 | erot = 1.6182626673137 | epot = -11.3443658926589 | etot = -8.13378366877683 -512000 ekin = 1.46755856058655 | erot = 1.574346623802 | epot = -11.1756888512705 | etot = -8.13378366688192 -513000 ekin = 1.3983991609166 | erot = 1.53234768377425 | epot = -11.0645305108004 | etot = -8.13378366610958 -514000 ekin = 1.39338903685241 | erot = 1.49706258344285 | epot = -11.0242352864508 | etot = -8.13378366615559 -515000 ekin = 1.44495159060737 | erot = 1.47110271002737 | epot = -11.0498379681962 | etot = -8.13378366756146 -516000 ekin = 1.53288312820279 | erot = 1.45357064724177 | epot = -11.1202374448314 | etot = -8.1337836693868 -517000 ekin = 1.63159033311232 | erot = 1.44224294472549 | epot = -11.2076169492165 | etot = -8.13378367137872 -518000 ekin = 1.71409401454596 | erot = 1.43408399435521 | epot = -11.2819616821398 | etot = -8.13378367323862 -519000 ekin = 1.75665192755708 | erot = 1.42579002916576 | epot = -11.3162256317207 | etot = -8.13378367499789 -520000 ekin = 1.74187345946909 | erot = 1.41504839774624 | epot = -11.290705532421 | etot = -8.13378367520563 -521000 ekin = 1.66871703040042 | erot = 1.40071550595596 | epot = -11.2032162101062 | etot = -8.13378367374984 -522000 ekin = 1.55952182855679 | erot = 1.3833998364993 | epot = -11.0767053361963 | etot = -8.13378367114018 -523000 ekin = 1.45114556551102 | erot = 1.36568308064865 | epot = -10.9506123146175 | etot = -8.13378366845782 -524000 ekin = 1.38091842212155 | erot = 1.35134919390993 | epot = -10.8660512824778 | etot = -8.13378366644636 -525000 ekin = 1.37601425590438 | erot = 1.34456662956207 | epot = -10.8543645508773 | etot = -8.13378366541088 -526000 ekin = 1.44870428483712 | erot = 1.3490974017969 | epot = -10.9315853521455 | etot = -8.13378366551144 -527000 ekin = 1.5945986354535 | erot = 1.36714947552606 | epot = -11.0955317778941 | etot = -8.13378366691456 -528000 ekin = 1.7918340547974 | erot = 1.39841904593992 | epot = -11.3240367701565 | etot = -8.13378366941917 -529000 ekin = 2.00478978695404 | erot = 1.43972835788573 | epot = -11.5783018172113 | etot = -8.13378367237151 -530000 ekin = 2.19333795598997 | erot = 1.48552207658974 | epot = -11.8126437074694 | etot = -8.13378367488965 -531000 ekin = 2.32431476963038 | erot = 1.52928747156722 | epot = -11.9873859174876 | etot = -8.13378367629003 -532000 ekin = 2.37971447235942 | erot = 1.56539257219217 | epot = -12.078890721007 | etot = -8.1337836764554 -533000 ekin = 2.35771666713876 | erot = 1.59048999441718 | epot = -12.0819903372205 | etot = -8.13378367566452 -534000 ekin = 2.26899715447946 | erot = 1.60407394360566 | epot = -12.0068547722183 | etot = -8.13378367413313 -535000 ekin = 2.13365177459504 | erot = 1.60831072463745 | epot = -11.8757461712559 | etot = -8.13378367202338 -536000 ekin = 1.97886376168026 | erot = 1.60719127869265 | epot = -11.7198387101024 | etot = -8.13378366972953 -537000 ekin = 1.83421887316433 | erot = 1.6052389830352 | epot = -11.5732415239645 | etot = -8.13378366776499 -538000 ekin = 1.7253172089481 | erot = 1.60632519291408 | epot = -11.465426068374 | etot = -8.13378366651184 -539000 ekin = 1.66856519908309 | erot = 1.61301472932345 | epot = -11.4153635945303 | etot = -8.13378366612373 -540000 ekin = 1.66907056570911 | erot = 1.62662968766944 | epot = -11.429483919541 | etot = -8.13378366616247 -541000 ekin = 1.72153495930239 | erot = 1.64788745987798 | epot = -11.5032060865291 | etot = -8.13378366734877 -542000 ekin = 1.80903650499997 | erot = 1.67547869681539 | epot = -11.6182988707279 | etot = -8.13378366891259 -543000 ekin = 1.90894616838506 | erot = 1.7073450894897 | epot = -11.7500749284098 | etot = -8.13378367053506 -544000 ekin = 1.99777842842207 | erot = 1.74125357781803 | epot = -11.8728156781595 | etot = -8.13378367191943 -545000 ekin = 2.05546409376853 | erot = 1.7752100003717 | epot = -11.9644577669752 | etot = -8.13378367283499 -546000 ekin = 2.06867595315502 | erot = 1.80779483609561 | epot = -12.0102544624071 | etot = -8.13378367315649 -547000 ekin = 2.03267806246845 | erot = 1.83838588998399 | epot = -12.0048476253203 | etot = -8.13378367286789 -548000 ekin = 1.95148731421714 | erot = 1.8671839088262 | epot = -11.9524548951466 | etot = -8.13378367210323 -549000 ekin = 1.83645042329733 | erot = 1.89487456519778 | epot = -11.865108659532 | etot = -8.13378367103693 -550000 ekin = 1.7037313049418 | erot = 1.92233248820263 | epot = -11.7598474630215 | etot = -8.13378366987706 -551000 ekin = 1.57139422779038 | erot = 1.95024291867484 | epot = -11.6554208152766 | etot = -8.13378366881139 -552000 ekin = 1.45663332554879 | erot = 1.97878558862137 | epot = -11.5692025821639 | etot = -8.13378366799371 -553000 ekin = 1.37337409016338 | erot = 2.00744335364772 | epot = -11.5146011113573 | etot = -8.13378366754621 -554000 ekin = 1.33029485859016 | erot = 2.03496657144412 | epot = -11.4990450975783 | etot = -8.13378366754399 -555000 ekin = 1.32945359622626 | erot = 2.05953157375239 | epot = -11.5227688379757 | etot = -8.1337836679971 -556000 ekin = 1.36589068754812 | erot = 2.0790983760863 | epot = -11.5787727324453 | etot = -8.13378366881089 -557000 ekin = 1.42857577082434 | erot = 2.09193210846441 | epot = -11.6542915490903 | etot = -8.13378366980157 -558000 ekin = 1.50275359963621 | erot = 2.09715314139738 | epot = -11.7336904117649 | etot = -8.13378367073132 -559000 ekin = 1.57321830908012 | erot = 2.0951186218922 | epot = -11.8021206023679 | etot = -8.13378367139556 -560000 ekin = 1.62740172364614 | erot = 2.08745496893088 | epot = -11.8486403643047 | etot = -8.13378367172764 -561000 ekin = 1.65692416189542 | erot = 2.07666092047267 | epot = -11.8673687541756 | etot = -8.13378367180753 -562000 ekin = 1.65737426357432 | erot = 2.06544534214174 | epot = -11.8566032774488 | etot = -8.13378367173272 -563000 ekin = 1.62727808429362 | erot = 2.05615555037707 | epot = -11.8172173064581 | etot = -8.13378367178738 -564000 ekin = 1.56679933057649 | erot = 2.05047511799079 | epot = -11.7510581199199 | etot = -8.13378367135264 -565000 ekin = 1.48206055330475 | erot = 2.04917576858042 | epot = -11.6650199925319 | etot = -8.13378367064677 -566000 ekin = 1.38423866545304 | erot = 2.05221850149694 | epot = -11.5702408367336 | etot = -8.1337836697836 -567000 ekin = 1.28749391779484 | erot = 2.05873429504791 | epot = -11.4800118818287 | etot = -8.13378366898596 -568000 ekin = 1.20570431101636 | erot = 2.06705692033373 | epot = -11.4065448998072 | etot = -8.1337836684571 -569000 ekin = 1.14918558020451 | erot = 2.07495244465527 | epot = -11.3579216931492 | etot = -8.13378366828941 -570000 ekin = 1.12276449642623 | erot = 2.08007272961832 | epot = -11.3366208944897 | etot = -8.13378366844511 -571000 ekin = 1.12567595867963 | erot = 2.08050218013247 | epot = -11.3399618076128 | etot = -8.13378366880073 -572000 ekin = 1.15294903406445 | erot = 2.07519259344742 | epot = -11.361925296714 | etot = -8.13378366920215 -573000 ekin = 1.19838854914769 | erot = 2.06451015558314 | epot = -11.3966823739592 | etot = -8.13378366922832 -574000 ekin = 1.25460427385581 | erot = 2.04968889738443 | epot = -11.4380768407668 | etot = -8.13378366952656 -575000 ekin = 1.31454735692382 | erot = 2.03199549862628 | epot = -11.4803265250831 | etot = -8.13378366953303 -576000 ekin = 1.37512583608875 | erot = 2.01319845741096 | epot = -11.5221079628052 | etot = -8.13378366930547 -577000 ekin = 1.43682760501221 | erot = 1.99528982934614 | epot = -11.5659011033237 | etot = -8.13378366896538 -578000 ekin = 1.50235588200393 | erot = 1.98017269182714 | epot = -11.6163122424572 | etot = -8.13378366862608 -579000 ekin = 1.57520818415661 | erot = 1.96938672247192 | epot = -11.6783785749882 | etot = -8.13378366835971 -580000 ekin = 1.6586846249208 | erot = 1.96390249857434 | epot = -11.7563707921358 | etot = -8.13378366864064 -581000 ekin = 1.75247311825855 | erot = 1.96419308534606 | epot = -11.8504498724693 | etot = -8.13378366886464 -582000 ekin = 1.85283782857132 | erot = 1.96967477641428 | epot = -11.9562962743649 | etot = -8.13378366937934 -583000 ekin = 1.95429754597 | erot = 1.9782640549526 | epot = -12.0663452712483 | etot = -8.13378367032571 -584000 ekin = 2.04662916571846 | erot = 1.98631443704129 | epot = -12.1667272745317 | etot = -8.13378367177197 -585000 ekin = 2.11419694671339 | erot = 1.98862566441979 | epot = -12.2366062846731 | etot = -8.1337836735399 -586000 ekin = 2.13871236988187 | erot = 1.97915340581082 | epot = -12.2516494507752 | etot = -8.13378367508249 -587000 ekin = 2.10465783247742 | erot = 1.95256271522648 | epot = -12.191004223596 | etot = -8.13378367589215 -588000 ekin = 2.00543191749115 | erot = 1.90599988276949 | epot = -12.0452154755398 | etot = -8.13378367527917 -589000 ekin = 1.85115446104203 | erot = 1.84021509335382 | epot = -11.8251532276741 | etot = -8.13378367327826 -590000 ekin = 1.66921622808237 | erot = 1.75933351103099 | epot = -11.5623334095068 | etot = -8.13378367039345 -591000 ekin = 1.49774854838706 | erot = 1.66961531491678 | epot = -11.3011475307928 | etot = -8.13378366748897 -592000 ekin = 1.37418208601279 | erot = 1.57786762198314 | epot = -11.0858333735172 | etot = -8.13378366552125 -593000 ekin = 1.32230765435156 | erot = 1.49017042366288 | epot = -10.9462617430931 | etot = -8.1337836650787 -594000 ekin = 1.3443358458271 | erot = 1.41110289035714 | epot = -10.8892224022215 | etot = -8.13378366603731 -595000 ekin = 1.42313762142491 | erot = 1.34352894993738 | epot = -10.9004502389466 | etot = -8.13378366758431 -596000 ekin = 1.53140640357788 | erot = 1.28905714162215 | epot = -10.9542472149259 | etot = -8.13378366972589 -597000 ekin = 1.63793776665174 | erot = 1.24822708397561 | epot = -11.0199485217695 | etot = -8.13378367114217 -598000 ekin = 1.7185336949688 | erot = 1.22042305583814 | epot = -11.0727404229591 | etot = -8.13378367215213 -599000 ekin = 1.75676579671706 | erot = 1.20417119497698 | epot = -11.0947206644308 | etot = -8.1337836727368 -600000 ekin = 1.74415562350487 | erot = 1.19748501257288 | epot = -11.075424308894 | etot = -8.13378367281625 -601000 ekin = 1.68078686627226 | erot = 1.19842786467237 | epot = -11.0129984032328 | etot = -8.13378367228817 -602000 ekin = 1.5759276846428 | erot = 1.20571835983063 | epot = -10.915429715615 | etot = -8.13378367114156 -603000 ekin = 1.44736021988183 | erot = 1.2190655666565 | epot = -10.8002094561103 | etot = -8.133783669572 -604000 ekin = 1.31829530124237 | erot = 1.23900632720145 | epot = -10.6910852964292 | etot = -8.1337836679854 -605000 ekin = 1.21203583247901 | erot = 1.26625018195725 | epot = -10.6120696811993 | etot = -8.13378366676304 -606000 ekin = 1.14717881944628 | erot = 1.30114918573216 | epot = -10.5821116711632 | etot = -8.13378366598476 -607000 ekin = 1.13493137971139 | erot = 1.34344256501163 | epot = -10.6121576106362 | etot = -8.13378366591323 -608000 ekin = 1.17769398076198 | erot = 1.39211398655642 | epot = -10.7035916336253 | etot = -8.1337836663069 -609000 ekin = 1.27083042498511 | erot = 1.44572829442914 | epot = -10.8503423864968 | etot = -8.13378366708251 -610000 ekin = 1.4035930895439 | erot = 1.50241692808088 | epot = -11.0397936861368 | etot = -8.133783668512 -611000 ekin = 1.55996607947597 | erot = 1.55982171139495 | epot = -11.2535714606409 | etot = -8.13378366976994 -612000 ekin = 1.72323074886001 | erot = 1.61567444068074 | epot = -11.4726888606367 | etot = -8.13378367109591 -613000 ekin = 1.87623356286641 | erot = 1.66732234624289 | epot = -11.6773395815026 | etot = -8.1337836723933 -614000 ekin = 2.00332542688057 | erot = 1.71185786770914 | epot = -11.8489669679118 | etot = -8.13378367332208 -615000 ekin = 2.0938447106977 | erot = 1.74706892485965 | epot = -11.9746973091568 | etot = -8.13378367359943 -616000 ekin = 2.14582652013177 | erot = 1.77208418550972 | epot = -12.0516943786639 | etot = -8.13378367302244 -617000 ekin = 2.1676403255335 | erot = 1.78786476154915 | epot = -12.0892887588858 | etot = -8.1337836718031 -618000 ekin = 2.17543321837801 | erot = 1.79702594194235 | epot = -12.1062428306753 | etot = -8.13378367035489 -619000 ekin = 2.18765015126267 | erot = 1.80309631575683 | epot = -12.1245301362433 | etot = -8.13378366922382 -620000 ekin = 2.21827388576719 | erot = 1.80941579610045 | epot = -12.1614733506294 | etot = -8.13378366876175 -621000 ekin = 2.27256724286326 | erot = 1.81817906105047 | epot = -12.2245299729476 | etot = -8.13378366903384 -622000 ekin = 2.34686215368134 | erot = 1.82980019932889 | epot = -12.3104460228997 | etot = -8.13378366988947 -623000 ekin = 2.43079483960718 | erot = 1.84272954677985 | epot = -12.4073080574858 | etot = -8.13378367109877 -624000 ekin = 2.51074859397889 | erot = 1.85365912853719 | epot = -12.4981913948604 | etot = -8.13378367234431 -625000 ekin = 2.57376014757354 | erot = 1.85839628628492 | epot = -12.5659401070518 | etot = -8.13378367319335 -626000 ekin = 2.61178608743946 | erot = 1.85335246049266 | epot = -12.5989222212652 | etot = -8.13378367333303 -627000 ekin = 2.62439666915714 | erot = 1.83675929859779 | epot = -12.5949396405965 | etot = -8.13378367284157 -628000 ekin = 2.61715143116747 | erot = 1.80883297814572 | epot = -12.5597680815351 | etot = -8.13378367222192 -629000 ekin = 2.59614002780212 | erot = 1.77076928022058 | epot = -12.5006929799608 | etot = -8.13378367193806 -630000 ekin = 2.56316564608822 | erot = 1.72368862272812 | epot = -12.4206379408613 | etot = -8.13378367204495 -631000 ekin = 2.51545670840333 | erot = 1.66841938705302 | epot = -12.3176597677069 | etot = -8.13378367225056 -632000 ekin = 2.44898106284665 | erot = 1.60594586086193 | epot = -12.1887105959618 | etot = -8.13378367225321 -633000 ekin = 2.36287257798604 | erot = 1.537824267385 | epot = -12.0344805167293 | etot = -8.13378367135829 -634000 ekin = 2.26405242525212 | erot = 1.46623278031259 | epot = -11.86406887615 | etot = -8.13378367058526 -635000 ekin = 2.16101755721672 | erot = 1.39475566088742 | epot = -11.6895568878161 | etot = -8.13378366971194 -636000 ekin = 2.06475253332858 | erot = 1.32686506234682 | epot = -11.5254012642715 | etot = -8.13378366859611 -637000 ekin = 1.98973271037813 | erot = 1.26596624429403 | epot = -11.3894826221305 | etot = -8.1337836674583 -638000 ekin = 1.95146778323019 | erot = 1.21514985243814 | epot = -11.3004013023028 | etot = -8.13378366663451 -639000 ekin = 1.96182069136402 | erot = 1.17695161175762 | epot = -11.2725559693077 | etot = -8.13378366618603 -640000 ekin = 2.02679898932753 | erot = 1.15239183902456 | epot = -11.3129744949284 | etot = -8.13378366657635 -641000 ekin = 2.14199910312467 | erot = 1.14071086555715 | epot = -11.4164936363299 | etot = -8.13378366764812 -642000 ekin = 2.29285046318574 | erot = 1.13915186810496 | epot = -11.5657860007499 | etot = -8.13378366945922 -643000 ekin = 2.45552552113058 | erot = 1.14338828232168 | epot = -11.7326974750682 | etot = -8.13378367161592 -644000 ekin = 2.60133752584275 | erot = 1.1483536748964 | epot = -11.8834748743298 | etot = -8.1337836735906 -645000 ekin = 2.70371430393708 | erot = 1.14938437135862 | epot = -11.9868823501752 | etot = -8.13378367487955 -646000 ekin = 2.74463607559762 | erot = 1.14332224209485 | epot = -12.0217419929081 | etot = -8.13378367521562 -647000 ekin = 2.7181778723776 | erot = 1.12915792946955 | epot = -11.9811194764816 | etot = -8.13378367463448 -648000 ekin = 2.6302824606665 | erot = 1.10798613626309 | epot = -11.8720522703252 | etot = -8.13378367339563 -649000 ekin = 2.49559189348067 | erot = 1.08245328245142 | epot = -11.7118288477976 | etot = -8.1337836718655 -650000 ekin = 2.33293161555247 | erot = 1.05592857135991 | epot = -11.5226438572844 | etot = -8.13378367037205 -651000 ekin = 2.16312160403983 | erot = 1.03179243269255 | epot = -11.3286977053836 | etot = -8.13378366865123 -652000 ekin = 2.00437764472495 | erot = 1.01263346476082 | epot = -11.1507947776185 | etot = -8.13378366813275 -653000 ekin = 1.86320148187958 | erot = 0.999771298675487 | epot = -10.9967564485141 | etot = -8.13378366795902 -654000 ekin = 1.74159938814837 | erot = 0.993638993407277 | epot = -10.8690220495764 | etot = -8.13378366802077 -655000 ekin = 1.63877614369373 | erot = 0.993961110616547 | epot = -10.7665209224976 | etot = -8.13378366818728 -656000 ekin = 1.55293696393759 | erot = 0.999977751480608 | epot = -10.6866983837479 | etot = -8.1337836683297 -657000 ekin = 1.48301105565139 | erot = 1.01069155839246 | epot = -10.6274862823934 | etot = -8.13378366834955 -658000 ekin = 1.42991653833484 | erot = 1.02511295992719 | epot = -10.5888131664623 | etot = -8.13378366820028 -659000 ekin = 1.3970356213419 | erot = 1.04246417554468 | epot = -10.5732834647976 | etot = -8.13378366791104 -660000 ekin = 1.38964145712432 | erot = 1.06228082949086 | epot = -10.5857059541847 | etot = -8.13378366756947 -661000 ekin = 1.41337783441102 | erot = 1.08434723258998 | epot = -10.6315087344007 | etot = -8.13378366739969 -662000 ekin = 1.47169034618963 | erot = 1.10850483084535 | epot = -10.7139788445909 | etot = -8.13378366755594 -663000 ekin = 1.56097330114159 | erot = 1.13389735845462 | epot = -10.8286543283891 | etot = -8.13378366879291 -664000 ekin = 1.66624490139917 | erot = 1.15850228668423 | epot = -10.9585308578117 | etot = -8.13378366972827 -665000 ekin = 1.77303863683395 | erot = 1.18152952433998 | epot = -11.0883518319917 | etot = -8.13378367081779 -666000 ekin = 1.86640057269615 | erot = 1.20258304575748 | epot = -11.2027672900465 | etot = -8.13378367159284 -667000 ekin = 1.93466412848282 | erot = 1.22193419208053 | epot = -11.2903819923707 | etot = -8.13378367180735 -668000 ekin = 1.97306030166492 | erot = 1.24062017116914 | epot = -11.347464144264 | etot = -8.13378367142997 -669000 ekin = 1.98443783022521 | erot = 1.2600420212363 | epot = -11.3782635221481 | etot = -8.13378367068662 -670000 ekin = 1.97652861969381 | erot = 1.28134194903916 | epot = -11.3916542389172 | etot = -8.1337836701842 -671000 ekin = 1.95649579517304 | erot = 1.30490078082103 | epot = -11.3951802457702 | etot = -8.13378366977615 -672000 ekin = 1.92875532535182 | erot = 1.3306566086166 | epot = -11.3931956035327 | etot = -8.13378366956423 -673000 ekin = 1.89553670245284 | erot = 1.35854540533994 | epot = -11.3878657772639 | etot = -8.13378366947109 -674000 ekin = 1.85764904381115 | erot = 1.38884570044011 | epot = -11.3802784136 | etot = -8.13378366934874 -675000 ekin = 1.81704545025592 | erot = 1.42228413603649 | epot = -11.3731132555571 | etot = -8.13378366926472 -676000 ekin = 1.77505031309368 | erot = 1.45971003521918 | epot = -11.3685440174128 | etot = -8.13378366909995 -677000 ekin = 1.73347451742991 | erot = 1.50191216831867 | epot = -11.3691703547045 | etot = -8.13378366895589 -678000 ekin = 1.69449339360285 | erot = 1.5492260635729 | epot = -11.3775031260965 | etot = -8.1337836689207 -679000 ekin = 1.65969071094786 | erot = 1.60118456836937 | epot = -11.3946589483532 | etot = -8.13378366903597 -680000 ekin = 1.62957005383035 | erot = 1.6563411685726 | epot = -11.4196948916937 | etot = -8.1337836692907 -681000 ekin = 1.6036225257807 | erot = 1.71228358651525 | epot = -11.4496897819273 | etot = -8.1337836696313 -682000 ekin = 1.58083074253663 | erot = 1.76582826438537 | epot = -11.4804426769066 | etot = -8.13378366998463 -683000 ekin = 1.56032431136006 | erot = 1.81338479148306 | epot = -11.5074927731268 | etot = -8.13378367028371 -684000 ekin = 1.54183455724641 | erot = 1.85142632172379 | epot = -11.527044549801 | etot = -8.13378367083076 -685000 ekin = 1.52410759948571 | erot = 1.87642082986575 | epot = -11.5343121004891 | etot = -8.1337836711376 -686000 ekin = 1.50494379428818 | erot = 1.88570070117793 | epot = -11.5244281668713 | etot = -8.13378367140519 -687000 ekin = 1.48208036601428 | erot = 1.87831367882373 | epot = -11.4941777164487 | etot = -8.13378367161066 -688000 ekin = 1.45289287171131 | erot = 1.85497856864079 | epot = -11.4416551119996 | etot = -8.13378367164753 -689000 ekin = 1.41601907826408 | erot = 1.81811437346443 | epot = -11.3679171230719 | etot = -8.13378367134343 -690000 ekin = 1.3739477559924 | erot = 1.77166312489352 | epot = -11.2793945514479 | etot = -8.13378367056194 -691000 ekin = 1.33508615021621 | erot = 1.72071496353143 | epot = -11.1895847830839 | etot = -8.13378366933627 -692000 ekin = 1.31344376453929 | erot = 1.6709415974687 | epot = -11.1181690299597 | etot = -8.13378366795173 -693000 ekin = 1.32488046341621 | erot = 1.6278369743497 | epot = -11.0865011046549 | etot = -8.13378366688903 -694000 ekin = 1.38078608502381 | erot = 1.59583179970301 | epot = -11.1104015513567 | etot = -8.13378366662985 -695000 ekin = 1.48192861179444 | erot = 1.57745304979668 | epot = -11.1931653290032 | etot = -8.13378366741211 -696000 ekin = 1.61569966766342 | erot = 1.57278041420816 | epot = -11.3222637509667 | etot = -8.13378366909513 -697000 ekin = 1.75843097209587 | erot = 1.57943520714015 | epot = -11.471649850455 | etot = -8.13378367121893 -698000 ekin = 1.88185215227674 | erot = 1.59316882056648 | epot = -11.6088046460315 | etot = -8.13378367318828 -699000 ekin = 1.96106579209253 | erot = 1.60896306334644 | epot = -11.7038125299065 | etot = -8.1337836744675 -700000 ekin = 1.98131680917595 | erot = 1.62236339274118 | epot = -11.7374638766487 | etot = -8.13378367473154 -701000 ekin = 1.94164145671725 | erot = 1.63062825684615 | epot = -11.7060533875187 | etot = -8.13378367395526 -702000 ekin = 1.85450233234931 | erot = 1.63328569353363 | epot = -11.6215716983054 | etot = -8.13378367242241 -703000 ekin = 1.74181404905167 | erot = 1.63189519930867 | epot = -11.5074929188062 | etot = -8.13378367044582 -704000 ekin = 1.62890053400173 | erot = 1.62932624842263 | epot = -11.3920104513182 | etot = -8.13378366889386 -705000 ekin = 1.53704055732152 | erot = 1.62828297748911 | epot = -11.2991072025728 | etot = -8.13378366776214 -706000 ekin = 1.48137553858694 | erot = 1.63090498232315 | epot = -11.2460641880462 | etot = -8.13378366713615 -707000 ekin = 1.47012654293868 | erot = 1.63856880542399 | epot = -11.2424790153117 | etot = -8.13378366694904 -708000 ekin = 1.50545482966234 | erot = 1.65189802611907 | epot = -11.2911365228536 | etot = -8.13378366707216 -709000 ekin = 1.58434919620347 | erot = 1.67079586462247 | epot = -11.3889287285478 | etot = -8.13378366772188 -710000 ekin = 1.69830399765655 | erot = 1.69420639277746 | epot = -11.5262940589424 | etot = -8.13378366850841 -711000 ekin = 1.83638650821732 | erot = 1.72024670594232 | epot = -11.6904168836774 | etot = -8.13378366951779 -712000 ekin = 1.98510691893256 | erot = 1.74609277609515 | epot = -11.8649833658443 | etot = -8.13378367081663 -713000 ekin = 2.12899307615404 | erot = 1.76804611046095 | epot = -12.0308228586673 | etot = -8.13378367205227 -714000 ekin = 2.25375007876413 | erot = 1.78243264230489 | epot = -12.1699663938949 | etot = -8.13378367282586 -715000 ekin = 2.34975342438314 | erot = 1.7863212221056 | epot = -12.2698583197923 | etot = -8.13378367330359 -716000 ekin = 2.41256025258607 | erot = 1.77808812751119 | epot = -12.324432053273 | etot = -8.13378367317579 -717000 ekin = 2.44474770543516 | erot = 1.75804788170564 | epot = -12.3365792596854 | etot = -8.13378367254461 -718000 ekin = 2.45412216706064 | erot = 1.72831089164106 | epot = -12.3162167307368 | etot = -8.13378367203513 -719000 ekin = 2.44845378809372 | erot = 1.69204638289133 | epot = -12.2742838421606 | etot = -8.13378367117554 -720000 ekin = 2.4365668243011 | erot = 1.65329012907094 | epot = -12.2236406239461 | etot = -8.13378367057407 -721000 ekin = 2.42365620513951 | erot = 1.61605001925601 | epot = -12.1734898947767 | etot = -8.13378367038118 -722000 ekin = 2.40904119941647 | erot = 1.58378410656369 | epot = -12.126608976579 | etot = -8.13378367059884 -723000 ekin = 2.38647146994653 | erot = 1.55915433550815 | epot = -12.0794094765258 | etot = -8.13378367107115 -724000 ekin = 2.34659231003132 | erot = 1.54397640926854 | epot = -12.0243523908409 | etot = -8.13378367154106 -725000 ekin = 2.28077035581261 | erot = 1.5393197301854 | epot = -11.953873757743 | etot = -8.13378367174497 -726000 ekin = 2.18489434273461 | erot = 1.54571264603448 | epot = -11.8643906602776 | etot = -8.13378367150856 -727000 ekin = 2.06179491776454 | erot = 1.56339646493188 | epot = -11.7589750535044 | etot = -8.13378367080798 -728000 ekin = 1.92142302768548 | erot = 1.59252552387787 | epot = -11.6477322213536 | etot = -8.13378366979028 -729000 ekin = 1.7786316146333 | erot = 1.63318133798207 | epot = -11.5455966213522 | etot = -8.13378366873683 -730000 ekin = 1.64935549789658 | erot = 1.68520345517394 | epot = -11.4683426210542 | etot = -8.1337836679837 -731000 ekin = 1.54617340801248 | erot = 1.74777370762701 | epot = -11.4277307834108 | etot = -8.13378366777128 -732000 ekin = 1.47444012326489 | erot = 1.81876025838008 | epot = -11.4269840497947 | etot = -8.13378366814974 -733000 ekin = 1.43189319815119 | erot = 1.89484027033745 | epot = -11.4605171374918 | etot = -8.13378366900312 -734000 ekin = 1.41017780822952 | erot = 1.97174677425593 | epot = -11.515708252553 | etot = -8.13378367006758 -735000 ekin = 1.39820849327891 | erot = 2.04483940823585 | epot = -11.5768315725272 | etot = -8.13378367101241 -736000 ekin = 1.38628872347329 | erot = 2.10985363402772 | epot = -11.6299260290509 | etot = -8.13378367154989 -737000 ekin = 1.36961596697469 | erot = 2.16355925928076 | epot = -11.6669588978069 | etot = -8.1337836715514 -738000 ekin = 1.34981044649482 | erot = 2.20404797657308 | epot = -11.6876420941816 | etot = -8.13378367111375 -739000 ekin = 1.33372653206523 | erot = 2.23055395775731 | epot = -11.6980641603267 | etot = -8.13378367050419 -740000 ekin = 1.33016419302877 | erot = 2.24303198932584 | epot = -11.7069798523447 | etot = -8.13378366999008 -741000 ekin = 1.34641052653915 | erot = 2.24189336876696 | epot = -11.7220875649847 | etot = -8.13378366967855 -742000 ekin = 1.38645577652113 | erot = 2.22809836950686 | epot = -11.7483378155588 | etot = -8.13378366953076 -743000 ekin = 1.45103879196968 | erot = 2.20332817128998 | epot = -11.7881506327682 | etot = -8.13378366950853 -744000 ekin = 1.53803120218894 | erot = 2.16985299830534 | epot = -11.8416678701986 | etot = -8.1337836697043 -745000 ekin = 1.64150939163791 | erot = 2.12988595976026 | epot = -11.9051790216565 | etot = -8.13378367025834 -746000 ekin = 1.75074962763977 | erot = 2.08470317830661 | epot = -11.9692364772144 | etot = -8.13378367126806 -747000 ekin = 1.84985303110134 | erot = 2.03398729133258 | epot = -12.0176239950761 | etot = -8.13378367264215 -748000 ekin = 1.91944439122471 | erot = 1.97579729238774 | epot = -12.0290253576875 | etot = -8.13378367407507 -749000 ekin = 1.94080211585096 | erot = 1.90728805392296 | epot = -11.9818738448736 | etot = -8.13378367509966 -750000 ekin = 1.90175708673251 | erot = 1.8260222740119 | epot = -11.8615630358885 | etot = -8.13378367514405 -751000 ekin = 1.80442251326083 | erot = 1.7321012366723 | epot = -11.6703074242644 | etot = -8.13378367433124 -752000 ekin = 1.66438096324402 | erot = 1.62791173826492 | epot = -11.4260763737911 | etot = -8.13378367228214 -753000 ekin = 1.50959112389811 | erot = 1.51791168438835 | epot = -11.1612864778701 | etot = -8.13378366958362 -754000 ekin = 1.37530205550533 | erot = 1.40846180210589 | epot = -10.917547524855 | etot = -8.13378366724374 -755000 ekin = 1.29223158169242 | erot = 1.30628357859801 | epot = -10.7322988261735 | etot = -8.13378366588307 -756000 ekin = 1.27251368858831 | erot = 1.21592403404739 | epot = -10.6222213890963 | etot = -8.1337836664606 -757000 ekin = 1.30634776755577 | erot = 1.13861892043144 | epot = -10.5787503559206 | etot = -8.13378366793342 -758000 ekin = 1.37185376249201 | erot = 1.0735107377254 | epot = -10.5791481697082 | etot = -8.1337836694908 -759000 ekin = 1.44617278826226 | erot = 1.01897341844238 | epot = -10.5989298771843 | etot = -8.13378367047969 -760000 ekin = 1.51270256474667 | erot = 0.973207034231458 | epot = -10.6196932700991 | etot = -8.13378367112099 -761000 ekin = 1.56039612698439 | erot = 0.934439072339188 | epot = -10.6286188703577 | etot = -8.13378367103413 -762000 ekin = 1.58948756760659 | erot = 0.901622731991555 | epot = -10.6248939700583 | etot = -8.13378367046012 -763000 ekin = 1.60810008599209 | erot = 0.874391507900133 | epot = -10.6162752635686 | etot = -8.13378366967635 -764000 ekin = 1.62768531420419 | erot = 0.852689319812726 | epot = -10.6141583029822 | etot = -8.13378366896532 -765000 ekin = 1.65693698087077 | erot = 0.836745239166437 | epot = -10.6274658896172 | etot = -8.13378366957998 -766000 ekin = 1.70304081020932 | erot = 0.827639758125284 | epot = -10.6644642390852 | etot = -8.13378367075062 -767000 ekin = 1.76603010803272 | erot = 0.819745786965237 | epot = -10.7195595663275 | etot = -8.13378367132959 -768000 ekin = 1.83976621726717 | erot = 0.813915606792437 | epot = -10.7874654957648 | etot = -8.13378367170522 -769000 ekin = 1.91953928654938 | erot = 0.809315266629025 | epot = -10.8626382251792 | etot = -8.13378367200083 -770000 ekin = 2.00068337350057 | erot = 0.805269377227097 | epot = -10.9397364229589 | etot = -8.13378367223121 -771000 ekin = 2.0793260708523 | erot = 0.801470015569381 | epot = -11.0145797587935 | etot = -8.13378367237182 -772000 ekin = 2.1521825875434 | erot = 0.797728511870749 | epot = -11.0836947719903 | etot = -8.13378367257613 -773000 ekin = 2.21516346365885 | erot = 0.79376993219047 | epot = -11.1427170687754 | etot = -8.13378367292605 -774000 ekin = 2.26234547293474 | erot = 0.789120208349194 | epot = -11.1852493546944 | etot = -8.13378367341045 -775000 ekin = 2.28747439993112 | erot = 0.782940858144436 | epot = -11.2041989315872 | etot = -8.1337836735116 -776000 ekin = 2.28487294049721 | erot = 0.774236455855788 | epot = -11.1928930694262 | etot = -8.1337836730732 -777000 ekin = 2.25459623252881 | erot = 0.763986238623204 | epot = -11.1523661446638 | etot = -8.13378367351182 -778000 ekin = 2.19483848045462 | erot = 0.752926118502415 | epot = -11.0815482726156 | etot = -8.1337836736586 -779000 ekin = 2.10207554485975 | erot = 0.741428699363432 | epot = -10.977287917923 | etot = -8.13378367369983 -780000 ekin = 1.97507844670437 | erot = 0.730439747684415 | epot = -10.839301867892 | etot = -8.13378367350323 -781000 ekin = 1.81624237988655 | erot = 0.720681720747203 | epot = -10.6707077732028 | etot = -8.13378367256909 -782000 ekin = 1.63737679993151 | erot = 0.713965531378914 | epot = -10.4851260027838 | etot = -8.13378367147338 -783000 ekin = 1.45327094395388 | erot = 0.712334775546466 | epot = -10.299389389848 | etot = -8.13378367034762 -784000 ekin = 1.27931304186831 | erot = 0.717795316557748 | epot = -10.1308920277526 | etot = -8.13378366932659 -785000 ekin = 1.12953341827248 | erot = 0.732133377047915 | epot = -9.99545046385378 | etot = -8.13378366853338 -786000 ekin = 1.01482431815091 | erot = 0.756760281199438 | epot = -9.90536826740749 | etot = -8.13378366805715 -787000 ekin = 0.941643963920365 | erot = 0.792599099784704 | epot = -9.86802673163984 | etot = -8.13378366793477 -788000 ekin = 0.911510796402161 | erot = 0.840020856539554 | epot = -9.88531532108117 | etot = -8.13378366813946 -789000 ekin = 0.921376349382508 | erot = 0.898827357286732 | epot = -9.9539873752705 | etot = -8.13378366860126 -790000 ekin = 0.964654482904705 | erot = 0.968273092072525 | epot = -10.0667112442043 | etot = -8.13378366922705 -791000 ekin = 1.03261133422105 | erot = 1.04710148107955 | epot = -10.2134964852264 | etot = -8.13378366992578 -792000 ekin = 1.11580285051107 | erot = 1.13356945354994 | epot = -10.3831559746686 | etot = -8.13378367060757 -793000 ekin = 1.20528065130039 | erot = 1.22546277763586 | epot = -10.5645271001932 | etot = -8.13378367125697 -794000 ekin = 1.29310700791179 | erot = 1.32020213137025 | epot = -10.7470928111131 | etot = -8.13378367183103 -795000 ekin = 1.37238467376563 | erot = 1.41513363966636 | epot = -10.9213019889784 | etot = -8.13378367554645 -796000 ekin = 1.40835913094464 | erot = 1.52971390309507 | epot = -11.0718567046913 | etot = -8.13378367065162 -797000 ekin = 1.45167190325502 | erot = 1.62512604237465 | epot = -11.2105816179835 | etot = -8.1337836723538 -798000 ekin = 1.48145722831986 | erot = 1.70064689495533 | epot = -11.3158877957562 | etot = -8.13378367248102 -799000 ekin = 1.49559633326916 | erot = 1.76394329939395 | epot = -11.3933233050878 | etot = -8.13378367242471 -800000 ekin = 1.49744893756291 | erot = 1.81327291257607 | epot = -11.4445055223126 | etot = -8.13378367217361 -801000 ekin = 1.4925127928165 | erot = 1.84780559274298 | epot = -11.4741020572645 | etot = -8.13378367170498 -802000 ekin = 1.48820480026872 | erot = 1.86779013865565 | epot = -11.4897786100407 | etot = -8.13378367111629 -803000 ekin = 1.49253566038604 | erot = 1.87451451169078 | epot = -11.5008338426672 | etot = -8.13378367059038 -804000 ekin = 1.5116603542654 | erot = 1.86997050314383 | epot = -11.5154145277467 | etot = -8.13378367033752 -805000 ekin = 1.54725262768863 | erot = 1.85635941634179 | epot = -11.5373957145262 | etot = -8.13378367049577 -806000 ekin = 1.59533620631248 | erot = 1.83572111155184 | epot = -11.5648409885109 | etot = -8.13378367064658 -807000 ekin = 1.6492567216019 | erot = 1.81037056529609 | epot = -11.5934109582812 | etot = -8.13378367138325 -808000 ekin = 1.69787116905193 | erot = 1.78132459588751 | epot = -11.6129794370381 | etot = -8.13378367209867 -809000 ekin = 1.73004744223407 | erot = 1.74897468678149 | epot = -11.6128058015999 | etot = -8.13378367258439 -810000 ekin = 1.73831051792634 | erot = 1.71353607858809 | epot = -11.5856302702831 | etot = -8.13378367376865 -811000 ekin = 1.71623548890969 | erot = 1.67428462342296 | epot = -11.5243037858513 | etot = -8.13378367351866 -812000 ekin = 1.66416936448352 | erot = 1.63115164436062 | epot = -11.4291046816975 | etot = -8.13378367285341 -813000 ekin = 1.59176171306476 | erot = 1.5851340624486 | epot = -11.3106794473577 | etot = -8.13378367184436 -814000 ekin = 1.51369575694116 | erot = 1.53752063412976 | epot = -11.185000061704 | etot = -8.13378367063305 -815000 ekin = 1.4473542138359 | erot = 1.48989097526249 | epot = -11.071028858532 | etot = -8.13378366943365 -816000 ekin = 1.40949972401625 | erot = 1.44406671643194 | epot = -10.9873501089399 | etot = -8.13378366849166 -817000 ekin = 1.41268037624944 | erot = 1.40200084694995 | epot = -10.9484648912197 | etot = -8.13378366802026 -818000 ekin = 1.46212175583528 | erot = 1.36558649857364 | epot = -10.9614919225423 | etot = -8.13378366813339 -819000 ekin = 1.55434977589193 | erot = 1.33645466073199 | epot = -11.0245881053519 | etot = -8.13378366872802 -820000 ekin = 1.67879137040365 | erot = 1.3159014691983 | epot = -11.1284765091853 | etot = -8.13378366958337 -821000 ekin = 1.8210793588883 | erot = 1.30489182429338 | epot = -11.2597548536272 | etot = -8.13378367044556 -822000 ekin = 1.95294466894243 | erot = 1.31620699056062 | epot = -11.4029353290708 | etot = -8.13378366956775 -823000 ekin = 2.07449183352999 | erot = 1.34466437750312 | epot = -11.5529398817757 | etot = -8.13378367074255 -824000 ekin = 2.19907919152842 | erot = 1.36469015595358 | epot = -11.6975530184672 | etot = -8.13378367098524 -825000 ekin = 2.30563380779614 | erot = 1.39476757325172 | epot = -11.8341850522566 | etot = -8.13378367120878 -826000 ekin = 2.39103700978203 | erot = 1.43354131807091 | epot = -11.9583619996733 | etot = -8.13378367182033 -827000 ekin = 2.44908730472448 | erot = 1.47824975058638 | epot = -12.0611207277197 | etot = -8.1337836724088 -828000 ekin = 2.47400495228172 | erot = 1.52536858827836 | epot = -12.1331572136283 | etot = -8.13378367306817 -829000 ekin = 2.46026919562926 | erot = 1.57083290009567 | epot = -12.1648857693273 | etot = -8.13378367360242 -830000 ekin = 2.40417117584961 | erot = 1.61070673330611 | epot = -12.1486615829487 | etot = -8.13378367379299 -831000 ekin = 2.30626797420833 | erot = 1.64206892730812 | epot = -12.082120574964 | etot = -8.13378367344755 -832000 ekin = 2.17314973498884 | erot = 1.66378895298214 | epot = -11.9707223605709 | etot = -8.13378367259988 -833000 ekin = 2.01667883041885 | erot = 1.67684011561105 | epot = -11.8273026174356 | etot = -8.13378367140569 -834000 ekin = 1.85232718484326 | erot = 1.6837083286893 | epot = -11.669819183625 | etot = -8.13378367009244 -835000 ekin = 1.69616282533365 | erot = 1.68768571743463 | epot = -11.5176322118581 | etot = -8.13378366908985 -836000 ekin = 1.56059049333663 | erot = 1.6917613599148 | epot = -11.3861355306928 | etot = -8.13378367744136 -837000 ekin = 1.46494691499539 | erot = 1.67922598579464 | epot = -11.2779565658979 | etot = -8.13378366510789 -838000 ekin = 1.41623376476066 | erot = 1.68359587919538 | epot = -11.2336133182129 | etot = -8.13378367425683 -839000 ekin = 1.38164226028356 | erot = 1.69827238726399 | epot = -11.2136983221637 | etot = -8.13378367461619 -840000 ekin = 1.37281419732257 | erot = 1.71791872241606 | epot = -11.2245165948427 | etot = -8.13378367510411 -841000 ekin = 1.38251849215683 | erot = 1.74222357837012 | epot = -11.2585257461201 | etot = -8.13378367559319 -842000 ekin = 1.40440815973695 | erot = 1.77053653190186 | epot = -11.3087283676889 | etot = -8.13378367605013 -843000 ekin = 1.4328888997214 | erot = 1.80208713637578 | epot = -11.3687597125817 | etot = -8.13378367648452 -844000 ekin = 1.46337505878993 | erot = 1.83581425244069 | epot = -11.4329729881578 | etot = -8.13378367692717 -845000 ekin = 1.49225139044737 | erot = 1.87011931167681 | epot = -11.4961543795242 | etot = -8.13378367739996 -846000 ekin = 1.51675477556962 | erot = 1.90271354946231 | epot = -11.5532520029064 | etot = -8.13378367787448 -847000 ekin = 1.53514567668399 | erot = 1.93076451195713 | epot = -11.5996938668658 | etot = -8.13378367822471 -848000 ekin = 1.54758817225819 | erot = 1.95149729791815 | epot = -11.6328691484332 | etot = -8.13378367825685 -849000 ekin = 1.55740275371988 | erot = 1.96313933264541 | epot = -11.6543257642248 | etot = -8.13378367785951 -850000 ekin = 1.57132389451444 | erot = 1.9657229907227 | epot = -11.6708305624224 | etot = -8.13378367718527 -851000 ekin = 1.59707563447027 | erot = 1.96110149868453 | epot = -11.6919608097966 | etot = -8.13378367664177 -852000 ekin = 1.6386535077721 | erot = 1.95197424577221 | epot = -11.72441143022 | etot = -8.13378367667571 -853000 ekin = 1.69191652752201 | erot = 1.94037118765013 | epot = -11.7660713926443 | etot = -8.13378367747215 -854000 ekin = 1.74370784077224 | erot = 1.92645693844536 | epot = -11.803948457929 | etot = -8.13378367871136 -855000 ekin = 1.77620146887526 | erot = 1.90847432039789 | epot = -11.8184594692267 | etot = -8.13378367995357 -856000 ekin = 1.7743327314448 | erot = 1.88315818008924 | epot = -11.791274592039 | etot = -8.13378368050492 -857000 ekin = 1.73346273135248 | erot = 1.84735528731315 | epot = -11.714601698667 | etot = -8.1337836800014 -858000 ekin = 1.6631790333149 | erot = 1.79946643687439 | epot = -11.596429148727 | etot = -8.13378367853774 -859000 ekin = 1.58513293510716 | erot = 1.74007953867264 | epot = -11.4589961504007 | etot = -8.13378367662088 -860000 ekin = 1.5258194179029 | erot = 1.67168470765396 | epot = -11.3312878004617 | etot = -8.13378367490488 -861000 ekin = 1.50775028734954 | erot = 1.59782760931762 | epot = -11.239361570536 | etot = -8.13378367386888 -862000 ekin = 1.54306866378402 | erot = 1.52225954428065 | epot = -11.1991118817142 | etot = -8.13378367364952 -863000 ekin = 1.63171594681372 | erot = 1.44845127744695 | epot = -11.2139508983507 | etot = -8.13378367408998 -864000 ekin = 1.7636787077053 | erot = 1.37946094070234 | epot = -11.2769233233229 | etot = -8.1337836749153 -865000 ekin = 1.92306453040411 | erot = 1.31796433767429 | epot = -11.3748125439504 | etot = -8.13378367587202 -866000 ekin = 2.09215456445401 | erot = 1.2662892603518 | epot = -11.4922275013692 | etot = -8.13378367656337 -867000 ekin = 2.25558706712198 | erot = 1.22649711170717 | epot = -11.6158678561259 | etot = -8.13378367729673 -868000 ekin = 2.40057443662018 | erot = 1.2001770656327 | epot = -11.7345351800524 | etot = -8.1337836777995 -869000 ekin = 2.51819395293292 | erot = 1.18842551948431 | epot = -11.8404031504931 | etot = -8.13378367807583 -870000 ekin = 2.60380767700172 | erot = 1.19178595681351 | epot = -11.9293773120374 | etot = -8.13378367822217 -871000 ekin = 2.65597330603714 | erot = 1.21008900143108 | epot = -11.999845985796 | etot = -8.13378367832775 -872000 ekin = 2.67413391847168 | erot = 1.24223617431289 | epot = -12.0501537715192 | etot = -8.13378367873459 -873000 ekin = 2.65523813387417 | erot = 1.28590823732328 | epot = -12.0749300505625 | etot = -8.13378367936499 -874000 ekin = 2.59426343785597 | erot = 1.3376962816123 | epot = -12.0657433994964 | etot = -8.13378368002815 -875000 ekin = 2.48661885040575 | erot = 1.39359938744305 | epot = -12.0140019182113 | etot = -8.13378368036251 -876000 ekin = 2.33257163439157 | erot = 1.44985984501243 | epot = -11.9162151594034 | etot = -8.13378367999943 -877000 ekin = 2.14151731710631 | erot = 1.50380376796496 | epot = -11.7791047639004 | etot = -8.13378367882911 -878000 ekin = 1.93283200474647 | erot = 1.55419737713025 | epot = -11.6208130590663 | etot = -8.1337836771896 -879000 ekin = 1.73117573728214 | erot = 1.60084517505821 | epot = -11.4658045880898 | etot = -8.13378367574944 -880000 ekin = 1.55787151426872 | erot = 1.64373016601548 | epot = -11.3353853553398 | etot = -8.13378367505562 -881000 ekin = 1.42384142259606 | erot = 1.68244604662897 | epot = -11.2400711443575 | etot = -8.13378367513249 -882000 ekin = 1.32893688605674 | erot = 1.71640874279729 | epot = -11.1791293044113 | etot = -8.13378367555726 -883000 ekin = 1.26714280224094 | erot = 1.74554143027494 | epot = -11.1464679082473 | etot = -8.13378367573147 -884000 ekin = 1.23268823959077 | erot = 1.77071758387158 | epot = -11.1371894994132 | etot = -8.13378367595084 -885000 ekin = 1.2200884959747 | erot = 1.79312166820982 | epot = -11.1469938402947 | etot = -8.13378367611014 -886000 ekin = 1.2253247992956 | erot = 1.81382116029493 | epot = -11.1729296358337 | etot = -8.13378367624318 -887000 ekin = 1.24494548116712 | erot = 1.83336039623945 | epot = -11.2120895538739 | etot = -8.13378367646731 -888000 ekin = 1.27500212888999 | erot = 1.85168867098856 | epot = -11.2604744766324 | etot = -8.13378367675389 -889000 ekin = 1.31152735227747 | erot = 1.86844690127931 | epot = -11.3137579306641 | etot = -8.13378367710729 -890000 ekin = 1.34986317553329 | erot = 1.88304641058093 | epot = -11.3666932636424 | etot = -8.1337836775282 -891000 ekin = 1.3839053046424 | erot = 1.89468392913635 | epot = -11.4123729118684 | etot = -8.13378367808963 -892000 ekin = 1.40569396013053 | erot = 1.90226748652322 | epot = -11.4417451256677 | etot = -8.13378367901394 -893000 ekin = 1.40448288986801 | erot = 1.90432470778369 | epot = -11.4425912773581 | etot = -8.1337836797064 -894000 ekin = 1.37144289403929 | erot = 1.89954369049505 | epot = -11.4047702645262 | etot = -8.13378367999191 -895000 ekin = 1.30348485930664 | erot = 1.88750422983047 | epot = -11.3247727653154 | etot = -8.13378367617827 -896000 ekin = 1.22187337029835 | erot = 1.87071061670689 | epot = -11.2263676625211 | etot = -8.1337836755159 -897000 ekin = 1.14754845825448 | erot = 1.85263803839011 | epot = -11.1339701711517 | etot = -8.13378367450711 -898000 ekin = 1.08944016694904 | erot = 1.83653761327092 | epot = -11.0597614541448 | etot = -8.13378367392484 -899000 ekin = 1.05403951209273 | erot = 1.82413022625773 | epot = -11.011953411943 | etot = -8.13378367359249 -900000 ekin = 1.0450020339404 | erot = 1.81619426313996 | epot = -10.9949799706824 | etot = -8.13378367360205 -901000 ekin = 1.06222206974345 | erot = 1.8123440307995 | epot = -11.00834977447 | etot = -8.13378367392702 -902000 ekin = 1.10209713964134 | erot = 1.81111462891651 | epot = -11.0469954430113 | etot = -8.13378367445343 -903000 ekin = 1.1587603092597 | erot = 1.81037876556507 | epot = -11.1029227498551 | etot = -8.13378367503028 -904000 ekin = 1.22532881870644 | erot = 1.80797942304733 | epot = -11.167091917722 | etot = -8.13378367596823 -905000 ekin = 1.29206809093687 | erot = 1.80250391191856 | epot = -11.2283556793212 | etot = -8.13378367646575 -906000 ekin = 1.35183435800544 | erot = 1.79300035919407 | epot = -11.2786183939573 | etot = -8.13378367675781 -907000 ekin = 1.39979991792567 | erot = 1.77946415980363 | epot = -11.3130477546914 | etot = -8.13378367696207 -908000 ekin = 1.43268044740622 | erot = 1.76253539571741 | epot = -11.3289995201354 | etot = -8.13378367701179 -909000 ekin = 1.44897967288155 | erot = 1.74341748056142 | epot = -11.3261808303301 | etot = -8.1337836768871 -910000 ekin = 1.44937912369356 | erot = 1.7239058043588 | epot = -11.3070686046106 | etot = -8.1337836765582 -911000 ekin = 1.43727653845976 | erot = 1.70617572409734 | epot = -11.2772359386082 | etot = -8.13378367605113 -912000 ekin = 1.41843448457386 | erot = 1.69263823251178 | epot = -11.2448563925333 | etot = -8.13378367544766 -913000 ekin = 1.40006194335826 | erot = 1.68549440996254 | epot = -11.219340028189 | etot = -8.13378367486818 -914000 ekin = 1.38958826340962 | erot = 1.68634774665863 | epot = -11.2097196845425 | etot = -8.13378367447423 -915000 ekin = 1.39244841715371 | erot = 1.69595180443263 | epot = -11.2221838960024 | etot = -8.13378367441611 -916000 ekin = 1.41015014542681 | erot = 1.71401831969293 | epot = -11.2579521398906 | etot = -8.13378367477087 -917000 ekin = 1.43929629472159 | erot = 1.73916764013911 | epot = -11.3122476103546 | etot = -8.13378367549387 -918000 ekin = 1.47227942648434 | erot = 1.76903078852711 | epot = -11.3750938914124 | etot = -8.13378367640095 -919000 ekin = 1.49986621630205 | erot = 1.80052098852101 | epot = -11.4341708820097 | etot = -8.13378367718661 -920000 ekin = 1.51501277028694 | erot = 1.83027923246248 | epot = -11.4790756803414 | etot = -8.13378367759202 -921000 ekin = 1.50567012615991 | erot = 1.85806253090208 | epot = -11.4975163339096 | etot = -8.13378367684761 -922000 ekin = 1.50530570245739 | erot = 1.88405749181968 | epot = -11.5231468708985 | etot = -8.13378367662144 -923000 ekin = 1.51005072244233 | erot = 1.89398296760205 | epot = -11.5378173658999 | etot = -8.1337836758555 -924000 ekin = 1.52928061195711 | erot = 1.89561779694766 | epot = -11.5586820843414 | etot = -8.13378367543667 -925000 ekin = 1.56873673302537 | erot = 1.88910082632994 | epot = -11.5916212350735 | etot = -8.13378367571823 -926000 ekin = 1.62371911834086 | erot = 1.8742965074208 | epot = -11.6317993024452 | etot = -8.13378367668352 -927000 ekin = 1.6795236866305 | erot = 1.85068760891983 | epot = -11.6639949735082 | etot = -8.1337836779579 -928000 ekin = 1.71651231952588 | erot = 1.81783745817294 | epot = -11.6681334567321 | etot = -8.13378367903323 -929000 ekin = 1.71702543069574 | erot = 1.77614095715146 | epot = -11.6269500673553 | etot = -8.13378367950806 -930000 ekin = 1.67099557389431 | erot = 1.72742889140267 | epot = -11.5322081445003 | etot = -8.13378367920327 -931000 ekin = 1.57874462156784 | erot = 1.67513458192321 | epot = -11.3876628816592 | etot = -8.13378367816811 -932000 ekin = 1.45079207958407 | erot = 1.62392798648941 | epot = -11.2085037426999 | etot = -8.1337836766264 -933000 ekin = 1.30531755780527 | erot = 1.57894109373394 | epot = -11.0180423264354 | etot = -8.13378367489618 -934000 ekin = 1.16422088428368 | erot = 1.544858025167 | epot = -10.8428625827474 | etot = -8.13378367329673 -935000 ekin = 1.04864497491883 | erot = 1.52509208962212 | epot = -10.7075207367029 | etot = -8.13378367216191 -936000 ekin = 0.974709277892456 | erot = 1.52116327886444 | epot = -10.6296562284413 | etot = -8.13378367168442 -937000 ekin = 0.950462282699206 | erot = 1.53244919527065 | epot = -10.6166951499291 | etot = -8.13378367195924 -938000 ekin = 0.97442129434101 | erot = 1.55616007066893 | epot = -10.6643650379523 | etot = -8.13378367294238 -939000 ekin = 1.03606886860143 | erot = 1.5875544961391 | epot = -10.7574070391953 | etot = -8.13378367445473 -940000 ekin = 1.11826841072441 | erot = 1.62042989086924 | epot = -10.87248197779 | etot = -8.13378367619637 -941000 ekin = 1.20122028646586 | erot = 1.64794232140889 | epot = -10.9829462856615 | etot = -8.1337836777867 -942000 ekin = 1.26717763757466 | erot = 1.66371923923732 | epot = -11.0646805556957 | etot = -8.1337836788837 -943000 ekin = 1.30509212517541 | erot = 1.66314531275945 | epot = -11.1020211170585 | etot = -8.1337836791236 -944000 ekin = 1.31392377909568 | erot = 1.6444967095031 | epot = -11.0922041671166 | etot = -8.13378367851778 -945000 ekin = 1.30237464447606 | erot = 1.60929976289052 | epot = -11.0454580847159 | etot = -8.1337836773493 -946000 ekin = 1.28506402487981 | erot = 1.56181036971556 | epot = -10.9806580707093 | etot = -8.13378367611393 -947000 ekin = 1.27634123210311 | erot = 1.50774431650837 | epot = -10.9178692238925 | etot = -8.13378367528105 -948000 ekin = 1.28467886299738 | erot = 1.45281196885876 | epot = -10.8712745069228 | etot = -8.13378367506665 -949000 ekin = 1.31037739903363 | erot = 1.40157240203181 | epot = -10.8457334764408 | etot = -8.13378367537539 -950000 ekin = 1.34722619695783 | erot = 1.35688689444993 | epot = -10.8378967673358 | etot = -8.13378367592802 -951000 ekin = 1.38650860370093 | erot = 1.31991933135893 | epot = -10.840211611492 | etot = -8.13378367643213 -952000 ekin = 1.42144708622155 | erot = 1.29081153506588 | epot = -10.8460422979201 | etot = -8.13378367663271 -953000 ekin = 1.44882630051411 | erot = 1.26905801196778 | epot = -10.8516679892333 | etot = -8.13378367675142 -954000 ekin = 1.46839021254268 | erot = 1.25288009220816 | epot = -10.8550539813261 | etot = -8.13378367657522 -955000 ekin = 1.48389177673435 | erot = 1.24071489184941 | epot = -10.8583903448629 | etot = -8.13378367627912 -956000 ekin = 1.50041047770887 | erot = 1.23152279657232 | epot = -10.8657169503619 | etot = -8.1337836760807 -957000 ekin = 1.52124212852808 | erot = 1.22481047930208 | epot = -10.8798362839283 | etot = -8.13378367609813 -958000 ekin = 1.54632228543432 | erot = 1.22051885841469 | epot = -10.9006248201102 | etot = -8.13378367626118 -959000 ekin = 1.57324295423106 | erot = 1.21891910094093 | epot = -10.9259457315457 | etot = -8.13378367637367 -960000 ekin = 1.5996920706753 | erot = 1.22060655686446 | epot = -10.9540823039303 | etot = -8.13378367639055 -961000 ekin = 1.62253441756759 | erot = 1.22677323061705 | epot = -10.9830913244504 | etot = -8.13378367626578 -962000 ekin = 1.64127229965138 | erot = 1.23851880733041 | epot = -11.0135747831078 | etot = -8.13378367612602 -963000 ekin = 1.65616191357312 | erot = 1.25678968713549 | epot = -11.0467352768565 | etot = -8.13378367614791 -964000 ekin = 1.66566514829256 | erot = 1.28218253594424 | epot = -11.0816313604864 | etot = -8.13378367624964 -965000 ekin = 1.66770285490424 | erot = 1.31455464366941 | epot = -11.1160411751496 | etot = -8.13378367657597 -966000 ekin = 1.65810694994359 | erot = 1.35314679688918 | epot = -11.1450374236447 | etot = -8.13378367681196 -967000 ekin = 1.63401913713073 | erot = 1.39653020198003 | epot = -11.1643330160459 | etot = -8.13378367693513 -968000 ekin = 1.59493850339227 | erot = 1.442540965575 | epot = -11.1712631460351 | etot = -8.1337836770678 -969000 ekin = 1.54116623821902 | erot = 1.4883056650043 | epot = -11.1632555805643 | etot = -8.13378367734103 -970000 ekin = 1.47195250910058 | erot = 1.53048570994046 | epot = -11.1362218967524 | etot = -8.13378367771134 -971000 ekin = 1.38571362870499 | erot = 1.56593199123071 | epot = -11.0854292975477 | etot = -8.13378367761201 -972000 ekin = 1.28446124437413 | erot = 1.59277024233188 | epot = -11.0110151641592 | etot = -8.13378367745316 -973000 ekin = 1.17320809137327 | erot = 1.61049478627213 | epot = -10.9174865543348 | etot = -8.13378367668943 -974000 ekin = 1.06313421977885 | erot = 1.62023440757555 | epot = -10.817152302779 | etot = -8.13378367542463 -975000 ekin = 0.970987630503308 | erot = 1.62445058039491 | epot = -10.7292218849975 | etot = -8.13378367409932 -976000 ekin = 0.91351783525621 | erot = 1.62592320944562 | epot = -10.6732247179988 | etot = -8.13378367329698 -977000 ekin = 0.90021029821643 | erot = 1.62660680659273 | epot = -10.6606007781862 | etot = -8.13378367337705 -978000 ekin = 0.928774959207787 | erot = 1.62702792797415 | epot = -10.6895865614336 | etot = -8.13378367425169 -979000 ekin = 0.986309689641714 | erot = 1.62661906061945 | epot = -10.7467124256161 | etot = -8.1337836753549 -980000 ekin = 1.05604184570295 | erot = 1.62477777568304 | epot = -10.8146032975143 | etot = -8.13378367612831 -981000 ekin = 1.12469745200008 | erot = 1.62193499771681 | epot = -10.8804161260049 | etot = -8.13378367628802 -982000 ekin = 1.1865542248926 | erot = 1.61989865345784 | epot = -10.9402365542545 | etot = -8.13378367590405 -983000 ekin = 1.2432339331634 | erot = 1.62138932755866 | epot = -10.9984069359734 | etot = -8.13378367525139 -984000 ekin = 1.30072892332128 | erot = 1.62917854604782 | epot = -11.0636911439975 | etot = -8.13378367462839 -985000 ekin = 1.36575798919194 | erot = 1.64530549573791 | epot = -11.1448471591936 | etot = -8.13378367426372 -986000 ekin = 1.44269014525417 | erot = 1.67060135307792 | epot = -11.2470751726359 | etot = -8.13378367430377 -987000 ekin = 1.53139017761193 | erot = 1.70450616333784 | epot = -11.3696800157676 | etot = -8.13378367481778 -988000 ekin = 1.62542517056574 | erot = 1.74490462881329 | epot = -11.5041134752362 | etot = -8.13378367585715 -989000 ekin = 1.70973314425248 | erot = 1.78758053917274 | epot = -11.6310973606104 | etot = -8.1337836771852 -990000 ekin = 1.7683499066011 | erot = 1.82854801036223 | epot = -11.730681595349 | etot = -8.13378367838571 -991000 ekin = 1.78717585158857 | erot = 1.86445265737343 | epot = -11.7854121880384 | etot = -8.1337836790764 -992000 ekin = 1.75808068891151 | erot = 1.8934494734163 | epot = -11.7853138413634 | etot = -8.13378367903559 -993000 ekin = 1.68149922501318 | erot = 1.91587779110949 | epot = -11.7311606944026 | etot = -8.13378367827992 -994000 ekin = 1.56634005341962 | erot = 1.93428820717938 | epot = -11.6344119375849 | etot = -8.1337836769859 -995000 ekin = 1.42807354858172 | erot = 1.95281321369039 | epot = -11.5146704376883 | etot = -8.13378367541617 -996000 ekin = 1.28578074178168 | erot = 1.9761437456925 | epot = -11.3957081613606 | etot = -8.13378367388646 -997000 ekin = 1.15849050407734 | erot = 2.00849321115735 | epot = -11.3007673879136 | etot = -8.13378367267886 -998000 ekin = 1.06172554694373 | erot = 2.05288173933644 | epot = -11.2483909582305 | etot = -8.13378367195033 -999000 ekin = 1.00534863803133 | erot = 2.11083351367153 | epot = -11.2499658234416 | etot = -8.13378367173879 -1000000 ekin = 0.992888352708612 | erot = 2.18232107086661 | epot = -11.3089930956005 | etot = -8.13378367202523 - 1000000 0.073547285 -1.1520387 0.021139403 -1.0316105 -4.7686302e-05 64000 -Loop time of 13.2492 on 4 procs for 1000000 steps with 10 atoms - -Performance: 65211.686 tau/day, 75476.489 timesteps/s -99.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 | 6.234 | 7.2237 | 8.1618 | 32.7 | 54.52 -Bond | 0.27885 | 0.32412 | 0.37417 | 6.6 | 2.45 -Neigh | 0.006904 | 0.0069348 | 0.006978 | 0.0 | 0.05 -Comm | 1.795 | 1.9335 | 2.0915 | 8.3 | 14.59 -Output | 0.079751 | 0.082404 | 0.086249 | 0.8 | 0.62 -Modify | 0.58647 | 0.6283 | 0.66943 | 4.6 | 4.74 -Other | | 3.05 | | | 23.02 - -Nlocal: 2.50000 ave 3 max 2 min -Histogram: 2 0 0 0 0 0 0 0 0 2 -Nghost: 7.50000 ave 8 max 7 min -Histogram: 2 0 0 0 0 0 0 0 0 2 -Neighs: 17.5000 ave 21 max 14 min -Histogram: 1 1 0 0 0 0 0 0 1 1 - -Total # of neighbors = 70 -Ave neighs/atom = 7.0000000 -Ave special neighs/atom = 3.6000000 -Neighbor list builds = 1000 -Dangerous builds = 0 - -write_data last_config.${number}.* nocoeff -write_data last_config.3.* nocoeff -System init for write_data ... -Total wall time: 0:00:13 diff --git a/examples/PACKAGES/cgdna/examples/oxDNA2/duplex3/log.2Jul21.duplex3.g++.1 b/examples/PACKAGES/cgdna/examples/oxDNA2/duplex3/log.2Jul21.duplex3.g++.1 new file mode 100644 index 0000000000..db8afff444 --- /dev/null +++ b/examples/PACKAGES/cgdna/examples/oxDNA2/duplex3/log.2Jul21.duplex3.g++.1 @@ -0,0 +1,1181 @@ +LAMMPS (2 Jul 2021) +variable number equal 3 +variable ofreq equal 1000 +variable efreq equal 1000 +variable T equal 0.1 +variable rhos equal 0.2 + +units lj + +dimension 3 + +newton on + +boundary p p p + +atom_style hybrid bond ellipsoid oxdna +WARNING: Atom style hybrid defines both, per-type and per-atom masses; both must be set, but only per-atom masses will be used (../atom_vec_hybrid.cpp:157) +atom_modify sort 0 1.0 + +# Pair interactions require lists of neighbours to be calculated +neighbor 2.0 bin +neigh_modify every 1 delay 0 check yes + +read_data data.duplex3 +Reading data file ... + orthogonal box = (-20.000000 -20.000000 -20.000000) to (20.000000 20.000000 20.000000) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 10 atoms + reading velocities ... + 10 velocities + scanning bonds ... + 1 = max bonds/atom + 10 ellipsoids + reading bonds ... + 8 bonds +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 + 2 = max # of 1-3 neighbors + 2 = max # of 1-4 neighbors + 4 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.003 seconds + +set atom * mass 1.0 +Setting atom values ... + 10 settings made for mass + +group all type 1 4 +10 atoms in group all + +# oxDNA2 bond interactions - FENE backbone +bond_style oxdna2/fene +bond_coeff * 2.0 0.25 0.7564 +special_bonds lj 0 1 1 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 1 1 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 2 = max # of 1-3 neighbors + 2 = max # of 1-4 neighbors + 4 = max # of special neighbors + special bonds CPU = 0.000 seconds + +# oxDNA2 pair interactions +pair_style hybrid/overlay oxdna2/excv oxdna2/stk oxdna2/hbond oxdna2/xstk oxdna2/coaxstk oxdna2/dh +pair_coeff * * oxdna2/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32 +pair_coeff * * oxdna2/stk seqdep ${T} 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 +pair_coeff * * oxdna2/stk seqdep 0.1 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 +pair_coeff * * oxdna2/hbond seqdep 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 1 4 oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 2 3 oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff * * oxdna2/xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68 +pair_coeff * * oxdna2/coaxstk 58.5 0.4 0.6 0.22 0.58 2.0 2.891592653589793 0.65 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 40.0 3.116592653589793 +pair_coeff * * oxdna2/dh ${T} ${rhos} 0.815 +pair_coeff * * oxdna2/dh 0.1 ${rhos} 0.815 +pair_coeff * * oxdna2/dh 0.1 0.2 0.815 + +# NVE ensemble +fix 1 all nve/asphere +#fix 2 all langevin ${T} ${T} 2.5 457145 angmom 10 + +timestep 1e-5 + +#comm_style tiled +fix 3 all balance 1000 1.03 shift xyz 10 1.03 +comm_modify cutoff 3.8 + +compute quat all property/atom quatw quati quatj quatk + +compute erot all erotate/asphere +compute ekin all ke +compute epot all pe +variable erot equal c_erot +variable ekin equal c_ekin +variable epot equal c_epot +variable etot equal c_erot+c_ekin+c_epot +fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes +fix 5 all print 1000 "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes + +dump out all custom ${ofreq} out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump out all custom 1000 out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump out all custom 1000 out.3.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump_modify out sort id +dump_modify out format line "%d %d %d %22.15le %22.15le %22.15le %d %d %d %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le" + +run 1000000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 5.6389877 + ghost atom cutoff = 5.6389877 + binsize = 2.8194939, bins = 15 15 15 + 5 neighbor lists, perpetual/occasional/extra = 5 0 0 + (1) pair oxdna2/excv, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard + (2) pair oxdna2/hbond, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none + (3) pair oxdna2/xstk, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none + (4) pair oxdna2/coaxstk, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none + (5) pair oxdna2/dh, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none +WARNING: Communication cutoff adjusted to 5.638987723814632 (../comm.cpp:739) +0 ekin = 1.18025158324274 | erot = 2.17908479136507 | epot = -11.4931199991265 | etot = -8.13378362451864 +Per MPI rank memory allocation (min/avg/max) = 9.198 | 9.198 | 9.198 Mbytes +Step Temp E_pair E_mol TotEng Press Volume + 0 0.087426043 -1.2259004 0.076588446 -1.0312868 -7.7802026e-06 64000 +1000 ekin = 1.08696491147664 | erot = 2.23197650714075 | epot = -11.4527250425129 | etot = -8.13378362389549 +2000 ekin = 1.01265115460252 | erot = 2.29132031278141 | epot = -11.4377550908151 | etot = -8.13378362343119 +3000 ekin = 0.964951920610362 | erot = 2.35614244814783 | epot = -11.4548779921653 | etot = -8.13378362340706 +4000 ekin = 0.945861179227109 | erot = 2.42482489276794 | epot = -11.504469695762 | etot = -8.13378362376699 +5000 ekin = 0.952186940161594 | erot = 2.49508744948287 | epot = -11.5810580140496 | etot = -8.13378362440513 +6000 ekin = 0.976836955567339 | erot = 2.56435791368456 | epot = -11.6749784943528 | etot = -8.13378362510091 +7000 ekin = 1.01151727363105 | erot = 2.63034980765842 | epot = -11.7756507069156 | etot = -8.13378362562616 +8000 ekin = 1.04963768886898 | erot = 2.69159648304404 | epot = -11.8750177977506 | etot = -8.13378362583759 +9000 ekin = 1.08831406483925 | erot = 2.74768757650641 | epot = -11.9697852671577 | etot = -8.13378362581202 +10000 ekin = 1.12769894654433 | erot = 2.79881902231421 | epot = -12.0603015945015 | etot = -8.13378362564291 +11000 ekin = 1.16997706279097 | erot = 2.84539220453504 | epot = -12.1491528928087 | etot = -8.13378362548265 +12000 ekin = 1.21772825403564 | erot = 2.88753582693543 | epot = -12.2390477064186 | etot = -8.13378362544756 +13000 ekin = 1.27247277648631 | erot = 2.92478423931378 | epot = -12.3310406413901 | etot = -8.13378362558998 +14000 ekin = 1.33384628320074 | erot = 2.95599632290763 | epot = -12.423626232019 | etot = -8.13378362591067 +15000 ekin = 1.39936071611664 | erot = 2.97947113417333 | epot = -12.5126154766849 | etot = -8.13378362639496 +16000 ekin = 1.46443870928025 | erot = 2.99312358077431 | epot = -12.5913459174139 | etot = -8.13378362735934 +17000 ekin = 1.52113741921509 | erot = 2.99430260105838 | epot = -12.6492236482455 | etot = -8.13378362797204 +18000 ekin = 1.56143918576787 | erot = 2.98098620608846 | epot = -12.6762090203241 | etot = -8.13378362846779 +19000 ekin = 1.57873438318794 | erot = 2.9520667445456 | epot = -12.6645847564923 | etot = -8.13378362875874 +20000 ekin = 1.56841348053791 | erot = 2.9073514731296 | epot = -12.6095485824455 | etot = -8.133783628778 +21000 ekin = 1.52886464109308 | erot = 2.8476529136898 | epot = -12.5103011832754 | etot = -8.13378362849248 +22000 ekin = 1.46209217703489 | erot = 2.774783976472 | epot = -12.3706597813886 | etot = -8.13378362788177 +23000 ekin = 1.37376733102674 | erot = 2.69155728313727 | epot = -12.1991082412397 | etot = -8.13378362707572 +24000 ekin = 1.27262109890792 | erot = 2.60118350194755 | epot = -12.0075882269997 | etot = -8.13378362614425 +25000 ekin = 1.16926502294376 | erot = 2.50703692695188 | epot = -11.8100855751042 | etot = -8.13378362520854 +26000 ekin = 1.07471489945141 | erot = 2.4123584015281 | epot = -11.6208569253571 | etot = -8.13378362437762 +27000 ekin = 0.998982995755817 | erot = 2.31997753232672 | epot = -11.4527441518066 | etot = -8.13378362372404 +28000 ekin = 0.950065052892328 | erot = 2.23215621537583 | epot = -11.3160048915416 | etot = -8.13378362327344 +29000 ekin = 0.933483801722602 | erot = 2.1505610010297 | epot = -11.2178284257645 | etot = -8.13378362301223 +30000 ekin = 0.952335164336064 | erot = 2.07633501131217 | epot = -11.1624537985556 | etot = -8.13378362290736 +31000 ekin = 1.00761822011319 | erot = 2.01025995539428 | epot = -11.1516617984317 | etot = -8.13378362292422 +32000 ekin = 1.09859027316482 | erot = 1.95287201474925 | epot = -11.1852459109705 | etot = -8.13378362305645 +33000 ekin = 1.22296348257697 | erot = 1.90442653272436 | epot = -11.2611736386122 | etot = -8.13378362331083 +34000 ekin = 1.37683793249585 | erot = 1.86498336105423 | epot = -11.3756049172807 | etot = -8.13378362373066 +35000 ekin = 1.55422271443458 | erot = 1.83436013830184 | epot = -11.5223664771471 | etot = -8.13378362441064 +36000 ekin = 1.74589607048141 | erot = 1.81205442227457 | epot = -11.6917341182485 | etot = -8.13378362549247 +37000 ekin = 1.93777565280859 | erot = 1.79705197600543 | epot = -11.8686112558399 | etot = -8.13378362702585 +38000 ekin = 2.11051089015041 | erot = 1.78782890330229 | epot = -12.0321234221666 | etot = -8.13378362871388 +39000 ekin = 2.24321482588509 | erot = 1.78271510837226 | epot = -12.1597135641243 | etot = -8.1337836298669 +40000 ekin = 2.32146151921643 | erot = 1.7807328300512 | epot = -12.2359779791645 | etot = -8.13378362989691 +41000 ekin = 2.34386750101389 | erot = 1.78241563043109 | epot = -12.2600667603296 | etot = -8.1337836288846 +42000 ekin = 2.32118218527097 | erot = 1.78979050959073 | epot = -12.2447563223396 | etot = -8.13378362747785 +43000 ekin = 2.26309111555158 | erot = 1.8053926207647 | epot = -12.2022673943961 | etot = -8.13378365807986 +44000 ekin = 2.15856242114832 | erot = 1.84609032619604 | epot = -12.1384363880305 | etot = -8.13378364068615 +45000 ekin = 2.08936731003526 | erot = 1.88904724563039 | epot = -12.1121981822921 | etot = -8.1337836266264 +46000 ekin = 1.9964611597006 | erot = 1.93503982400428 | epot = -12.0652846104763 | etot = -8.13378362677143 +47000 ekin = 1.89712577412051 | erot = 1.98806984898587 | epot = -12.0189792501524 | etot = -8.133783627046 +48000 ekin = 1.79036864863103 | erot = 2.04496273496239 | epot = -11.9691150108766 | etot = -8.13378362728318 +49000 ekin = 1.67630116263937 | erot = 2.10216327906913 | epot = -11.9122480690703 | etot = -8.13378362736179 +50000 ekin = 1.55727015247065 | erot = 2.15637892895985 | epot = -11.8474327086501 | etot = -8.13378362721965 +51000 ekin = 1.43817433709145 | erot = 2.205140400327 | epot = -11.7770983642842 | etot = -8.13378362686579 +52000 ekin = 1.32596547232174 | erot = 2.24710946475012 | epot = -11.7068585634502 | etot = -8.13378362637838 +53000 ekin = 1.22848082922914 | erot = 2.28204759210385 | epot = -11.6443120472106 | etot = -8.13378362587756 +54000 ekin = 1.15295119316272 | erot = 2.31049933939892 | epot = -11.597234158045 | etot = -8.13378362548335 +55000 ekin = 1.10463170766329 | erot = 2.33334681406842 | epot = -11.5717621470128 | etot = -8.13378362528111 +56000 ekin = 1.08590799517335 | erot = 2.35139880092331 | epot = -11.5710904214035 | etot = -8.13378362530685 +57000 ekin = 1.09599893485501 | erot = 2.3651115445053 | epot = -11.5948941049136 | etot = -8.1337836255533 +58000 ekin = 1.13119803471016 | erot = 2.37445830578815 | epot = -11.6394399664722 | etot = -8.13378362597388 +59000 ekin = 1.18549837183919 | erot = 2.3789169186323 | epot = -11.6981989169901 | etot = -8.13378362651858 +60000 ekin = 1.25136230662772 | erot = 2.37755306615245 | epot = -11.7626989998985 | etot = -8.13378362711835 +61000 ekin = 1.32065657328813 | erot = 2.36917823379307 | epot = -11.8236184347912 | etot = -8.13378362771004 +62000 ekin = 1.38555350991079 | erot = 2.35258911579049 | epot = -11.8719262538939 | etot = -8.1337836281926 +63000 ekin = 1.43966787267658 | erot = 2.32682848519592 | epot = -11.9002799863548 | etot = -8.13378362848234 +64000 ekin = 1.4790950343818 | erot = 2.29144993715393 | epot = -11.9043286000689 | etot = -8.1337836285332 +65000 ekin = 1.502880497741 | erot = 2.2467096090511 | epot = -11.88337373515 | etot = -8.13378362835793 +66000 ekin = 1.51274507599024 | erot = 2.19359684182996 | epot = -11.8401255458509 | etot = -8.1337836280307 +67000 ekin = 1.51208659633021 | erot = 2.13371356874809 | epot = -11.7795837927184 | etot = -8.1337836276401 +68000 ekin = 1.50462166617951 | erot = 2.06904733139779 | epot = -11.7074526249092 | etot = -8.13378362733192 +69000 ekin = 1.49293889166158 | erot = 2.00167765430522 | epot = -11.6284001731036 | etot = -8.1337836271368 +70000 ekin = 1.47793621174641 | erot = 1.93361210060369 | epot = -11.5453319394055 | etot = -8.13378362705538 +71000 ekin = 1.45891349102845 | erot = 1.86670994694693 | epot = -11.4594070650146 | etot = -8.13378362703918 +72000 ekin = 1.43427842101622 | erot = 1.80270883809016 | epot = -11.3707708861215 | etot = -8.13378362701512 +73000 ekin = 1.40258583891026 | erot = 1.74331039193086 | epot = -11.279679857752 | etot = -8.13378362691089 +74000 ekin = 1.36359371155274 | erot = 1.69025647754912 | epot = -11.187633815782 | etot = -8.13378362668016 +75000 ekin = 1.31886252565205 | erot = 1.6453382071802 | epot = -11.0979843591715 | etot = -8.13378362633928 +76000 ekin = 1.27181692773745 | erot = 1.61030043593585 | epot = -11.0159009896012 | etot = -8.13378362592793 +77000 ekin = 1.22767338921998 | erot = 1.58670952555601 | epot = -10.9481665402833 | etot = -8.13378362550729 +78000 ekin = 1.1918742588197 | erot = 1.57555521121124 | epot = -10.9012130952115 | etot = -8.1337836251806 +79000 ekin = 1.16922470588821 | erot = 1.57716601534084 | epot = -10.880174346204 | etot = -8.13378362497499 +80000 ekin = 1.1635131219374 | erot = 1.59112852775413 | epot = -10.8884252746034 | etot = -8.1337836249119 +81000 ekin = 1.17709123428946 | erot = 1.61633850893092 | epot = -10.927213368212 | etot = -8.13378362499167 +82000 ekin = 1.21064005584029 | erot = 1.65118762576691 | epot = -10.9956113068161 | etot = -8.13378362520887 +83000 ekin = 1.26297331742736 | erot = 1.69382675572846 | epot = -11.0905836987108 | etot = -8.13378362555501 +84000 ekin = 1.33092648687662 | erot = 1.74243133123673 | epot = -11.2071414441142 | etot = -8.13378362600083 +85000 ekin = 1.40961218427365 | erot = 1.7954064033782 | epot = -11.3388022141303 | etot = -8.13378362647841 +86000 ekin = 1.49330005467923 | erot = 1.8515006441401 | epot = -11.478584325705 | etot = -8.13378362688569 +87000 ekin = 1.57653380716703 | erot = 1.90982169886827 | epot = -11.6201391333936 | etot = -8.13378362735832 +88000 ekin = 1.65416408678855 | erot = 1.96971725895485 | epot = -11.7576649732582 | etot = -8.13378362751478 +89000 ekin = 1.72360216634179 | erot = 2.03055934337534 | epot = -11.8879451373045 | etot = -8.13378362758735 +90000 ekin = 1.78500984589395 | erot = 2.09126219979607 | epot = -12.0100556734362 | etot = -8.13378362774619 +91000 ekin = 1.83789001415886 | erot = 2.15001837237363 | epot = -12.1216920145417 | etot = -8.1337836280092 +92000 ekin = 1.87517809322888 | erot = 2.20985483887525 | epot = -12.21881656028 | etot = -8.1337836281759 +93000 ekin = 1.90356384535089 | erot = 2.26204903047957 | epot = -12.2993965046574 | etot = -8.13378362882697 +94000 ekin = 1.9156664167305 | erot = 2.30892488078276 | epot = -12.3583749263607 | etot = -8.13378362884746 +95000 ekin = 1.91095769384008 | erot = 2.34997522030004 | epot = -12.3947165431006 | etot = -8.1337836289605 +96000 ekin = 1.889484024989 | erot = 2.38411475951065 | epot = -12.4073824132802 | etot = -8.1337836287806 +97000 ekin = 1.85343811133898 | erot = 2.41133046292227 | epot = -12.3985522027162 | etot = -8.13378362845492 +98000 ekin = 1.80684275230277 | erot = 2.43203206054831 | epot = -12.372658440891 | etot = -8.13378362803991 +99000 ekin = 1.75478641123179 | erot = 2.44692977736848 | epot = -12.3354998162067 | etot = -8.13378362760647 +100000 ekin = 1.69590911435708 | erot = 2.45386958409534 | epot = -12.2835623848859 | etot = -8.1337836864335 +101000 ekin = 1.68113249375231 | erot = 2.36572534112462 | epot = -12.1806414642138 | etot = -8.13378362933684 +102000 ekin = 1.7267856590017 | erot = 2.35051337712505 | epot = -12.2110826965905 | etot = -8.13378366046373 +103000 ekin = 1.68338599487708 | erot = 2.35411811039611 | epot = -12.1712877656948 | etot = -8.13378366042166 +104000 ekin = 1.64323586412858 | erot = 2.35701648102726 | epot = -12.134036005652 | etot = -8.13378366049613 +105000 ekin = 1.60584113472061 | erot = 2.35932964102255 | epot = -12.0989544363532 | etot = -8.13378366061001 +106000 ekin = 1.57044138011816 | erot = 2.3609277694323 | epot = -12.0651528102264 | etot = -8.13378366067597 +107000 ekin = 1.53705400250982 | erot = 2.36166253248201 | epot = -12.0325001956582 | etot = -8.13378366066635 +108000 ekin = 1.50696391591135 | erot = 2.361285573492 | epot = -12.0020331499847 | etot = -8.13378366058131 +109000 ekin = 1.48244426546665 | erot = 2.35938088271005 | epot = -11.9756088087053 | etot = -8.13378366052861 +110000 ekin = 1.46539913148082 | erot = 2.3553068314616 | epot = -11.9544896235797 | etot = -8.13378366063725 +111000 ekin = 1.45548748017621 | erot = 2.34818065606092 | epot = -11.9374517972409 | etot = -8.13378366100376 +112000 ekin = 1.44872729612956 | erot = 2.33695548266951 | epot = -11.9194664403753 | etot = -8.13378366157622 +113000 ekin = 1.438054955865 | erot = 2.320686955094 | epot = -11.8925255730877 | etot = -8.13378366212873 +114000 ekin = 1.41640788690883 | erot = 2.29883886662114 | epot = -11.8490304158911 | etot = -8.13378366236113 +115000 ekin = 1.38063781822087 | erot = 2.27153218573304 | epot = -11.7859536655161 | etot = -8.13378366156219 +116000 ekin = 1.33630540308419 | erot = 2.23942220246129 | epot = -11.7095112666477 | etot = -8.13378366110223 +117000 ekin = 1.29001229198315 | erot = 2.20380811829907 | epot = -11.6276040708686 | etot = -8.13378366058633 +118000 ekin = 1.24711548834727 | erot = 2.16635124019904 | epot = -11.5472503887779 | etot = -8.13378366023156 +119000 ekin = 1.21073685469435 | erot = 2.12872161390266 | epot = -11.4732421286715 | etot = -8.13378366007448 +120000 ekin = 1.18115748419452 | erot = 2.09256534610069 | epot = -11.4075064903304 | etot = -8.13378366003518 +121000 ekin = 1.15688642101106 | erot = 2.05947511288399 | epot = -11.3501451939313 | etot = -8.13378366003622 +122000 ekin = 1.13593168276773 | erot = 2.03084061403908 | epot = -11.3005559568655 | etot = -8.13378366005868 +123000 ekin = 1.11638811965945 | erot = 2.00761097209064 | epot = -11.2577827519202 | etot = -8.13378366017012 +124000 ekin = 1.09616325371745 | erot = 1.99019695902077 | epot = -11.2201438730114 | etot = -8.13378366027323 +125000 ekin = 1.07358508996133 | erot = 1.97820026039369 | epot = -11.1855690107828 | etot = -8.13378366042783 +126000 ekin = 1.047121989785 | erot = 1.97030937007241 | epot = -11.1512150205173 | etot = -8.13378366065987 +127000 ekin = 1.0156035955053 | erot = 1.96476336054352 | epot = -11.1141506168024 | etot = -8.1337836607536 +128000 ekin = 0.97928184665228 | erot = 1.95990906194963 | epot = -11.0729745693073 | etot = -8.13378366070535 +129000 ekin = 0.940294043229882 | erot = 1.95428772921566 | epot = -11.0283654329011 | etot = -8.13378366045551 +130000 ekin = 0.902735823607268 | erot = 1.94710047764773 | epot = -10.983619961355 | etot = -8.13378366010001 +131000 ekin = 0.872329759139703 | erot = 1.93820575526838 | epot = -10.9443191739569 | etot = -8.13378365954882 +132000 ekin = 0.855045600562256 | erot = 1.92803271303694 | epot = -10.9168619728694 | etot = -8.13378365927017 +133000 ekin = 0.85477556282256 | erot = 1.91694878880971 | epot = -10.9055080107084 | etot = -8.13378365907613 +134000 ekin = 0.873981086378922 | erot = 1.90549522489457 | epot = -10.9132599702531 | etot = -8.13378365897964 +135000 ekin = 0.913690181741819 | erot = 1.89429118508522 | epot = -10.9417650257941 | etot = -8.13378365896708 +136000 ekin = 0.973734451665589 | erot = 1.88395321784242 | epot = -10.9914713285353 | etot = -8.13378365902725 +137000 ekin = 1.05255313135938 | erot = 1.87488800080373 | epot = -11.0612247920055 | etot = -8.13378365984243 +138000 ekin = 1.1443524994853 | erot = 1.8662689721205 | epot = -11.1444051316852 | etot = -8.13378366007936 +139000 ekin = 1.24448357091331 | erot = 1.85821435006753 | epot = -11.2364815813234 | etot = -8.13378366034253 +140000 ekin = 1.34860347563745 | erot = 1.85113522079119 | epot = -11.333522357093 | etot = -8.1337836606644 +141000 ekin = 1.45162669266307 | erot = 1.84534635451924 | epot = -11.430756708267 | etot = -8.13378366108469 +142000 ekin = 1.54663919844505 | erot = 1.84103156950907 | epot = -11.521454429749 | etot = -8.13378366179486 +143000 ekin = 1.6247011023941 | erot = 1.83813053702613 | epot = -11.5966153018863 | etot = -8.13378366246606 +144000 ekin = 1.67710589256285 | erot = 1.83622813336416 | epot = -11.6471176890259 | etot = -8.13378366309886 +145000 ekin = 1.69650852159039 | erot = 1.83477115527459 | epot = -11.6650633403347 | etot = -8.13378366346972 +146000 ekin = 1.67998250270633 | erot = 1.8333430641869 | epot = -11.6471092301922 | etot = -8.13378366329893 +147000 ekin = 1.63255928725478 | erot = 1.83204496823007 | epot = -11.598387917878 | etot = -8.13378366239317 +148000 ekin = 1.56926257377408 | erot = 1.83182914755799 | epot = -11.534875382188 | etot = -8.1337836608559 +149000 ekin = 1.51300824977688 | erot = 1.83452727994329 | epot = -11.4813191889249 | etot = -8.13378365920474 +150000 ekin = 1.48724963784664 | erot = 1.84235837448576 | epot = -11.4633916705171 | etot = -8.13378365818466 +151000 ekin = 1.50619323822939 | erot = 1.85697474829977 | epot = -11.4969516448352 | etot = -8.13378365830607 +152000 ekin = 1.56855992602549 | erot = 1.87847282638512 | epot = -11.5808164119011 | etot = -8.13378365949048 +153000 ekin = 1.65914489646567 | erot = 1.90493735115929 | epot = -11.6978659087714 | etot = -8.13378366114644 +154000 ekin = 1.75680978950735 | erot = 1.93282846213573 | epot = -11.8234219142215 | etot = -8.13378366257846 +155000 ekin = 1.84344901658437 | erot = 1.95802697046849 | epot = -11.9352596504333 | etot = -8.1337836633804 +156000 ekin = 1.90893795388443 | erot = 1.97697594926079 | epot = -12.0196975667215 | etot = -8.13378366357624 +157000 ekin = 1.95061494385932 | erot = 1.98738512433505 | epot = -12.0717837316313 | etot = -8.13378366343689 +158000 ekin = 1.96976178337731 | erot = 1.98837447181476 | epot = -12.0919199183612 | etot = -8.13378366316915 +159000 ekin = 1.96892634677255 | erot = 1.98033790354811 | epot = -12.0830479131018 | etot = -8.13378366278114 +160000 ekin = 1.95167601805979 | erot = 1.96478101829951 | epot = -12.050240698581 | etot = -8.13378366222171 +161000 ekin = 1.92323849263822 | erot = 1.94408396543486 | epot = -12.001106119617 | etot = -8.13378366154392 +162000 ekin = 1.89012785139944 | erot = 1.92106669306913 | epot = -11.94497820536 | etot = -8.13378366089138 +163000 ekin = 1.85873206626408 | erot = 1.89844726529886 | epot = -11.8909629919524 | etot = -8.13378366038947 +164000 ekin = 1.83396756863979 | erot = 1.87841814938175 | epot = -11.8461693781077 | etot = -8.13378366008619 +165000 ekin = 1.81873657814123 | erot = 1.86247026312239 | epot = -11.8149905012202 | etot = -8.1337836599566 +166000 ekin = 1.81415764355357 | erot = 1.85144128795245 | epot = -11.7993825914515 | etot = -8.13378365994553 +167000 ekin = 1.82014338462852 | erot = 1.84569577974681 | epot = -11.7996228243664 | etot = -8.13378365999109 +168000 ekin = 1.83604973591366 | erot = 1.8453491867352 | epot = -11.8151825826933 | etot = -8.13378366004445 +169000 ekin = 1.86118807804061 | erot = 1.850477664299 | epot = -11.8454494024155 | etot = -8.13378366007584 +170000 ekin = 1.89508209492149 | erot = 1.86127600745022 | epot = -11.8901417624555 | etot = -8.13378366008374 +171000 ekin = 1.93739070093832 | erot = 1.8781392722114 | epot = -11.9493136332464 | etot = -8.13378366009671 +172000 ekin = 1.98746465492716 | erot = 1.90165699566161 | epot = -12.0229053107602 | etot = -8.13378366017142 +173000 ekin = 2.04358732260738 | erot = 1.93252470914456 | epot = -12.1098956921178 | etot = -8.13378366036586 +174000 ekin = 2.10212586880685 | erot = 1.97139111366116 | epot = -12.2073006432559 | etot = -8.13378366078787 +175000 ekin = 2.15653164019895 | erot = 2.01868623997428 | epot = -12.3090015416374 | etot = -8.13378366146419 +176000 ekin = 2.19700590631297 | erot = 2.07444517694537 | epot = -12.4052347456343 | etot = -8.13378366237597 +177000 ekin = 2.21275117726728 | erot = 2.13809655452259 | epot = -12.4846313951105 | etot = -8.13378366332058 +178000 ekin = 2.191030841378 | erot = 2.2084963736183 | epot = -12.5333108794519 | etot = -8.1337836644556 +179000 ekin = 2.05002958755708 | erot = 2.27647492405861 | epot = -12.4602881626275 | etot = -8.13378365101178 +180000 ekin = 2.00100366281088 | erot = 2.36086155180537 | epot = -12.4956488860898 | etot = -8.13378367147353 +181000 ekin = 1.82885344502827 | erot = 2.44444025932694 | epot = -12.4070773745335 | etot = -8.13378367017832 +182000 ekin = 1.62724610560602 | erot = 2.53221325513864 | epot = -12.2932430288216 | etot = -8.13378366807689 +183000 ekin = 1.42880501135674 | erot = 2.6254005853434 | epot = -12.1879892625417 | etot = -8.1337836658416 +184000 ekin = 1.26714962832119 | erot = 2.72561981850436 | epot = -12.1265531111179 | etot = -8.13378366429233 +185000 ekin = 1.16606552757954 | erot = 2.83366450732251 | epot = -12.1335136988418 | etot = -8.1337836639398 +186000 ekin = 1.13327188784872 | erot = 2.94811459460534 | epot = -12.2151701472112 | etot = -8.13378366475712 +187000 ekin = 1.16127663962544 | erot = 3.06454091657718 | epot = -12.3596012225469 | etot = -8.13378366634433 +188000 ekin = 1.23275799228605 | erot = 3.17578119614176 | epot = -12.5423228566622 | etot = -8.13378366823443 +189000 ekin = 1.32637276316036 | erot = 3.27316596760519 | epot = -12.733322400823 | etot = -8.1337836700575 +190000 ekin = 1.42100795808774 | erot = 3.34817980173636 | epot = -12.9029714313697 | etot = -8.13378367154559 +191000 ekin = 1.49794111549818 | erot = 3.39410379075351 | epot = -13.0258285788614 | etot = -8.13378367260974 +192000 ekin = 1.54262156679641 | erot = 3.40720165429243 | epot = -13.0836068940667 | etot = -8.13378367297783 +193000 ekin = 1.54797240883498 | erot = 3.38715231466168 | epot = -13.0689083961198 | etot = -8.13378367262315 +194000 ekin = 1.51467582661462 | erot = 3.33705387754773 | epot = -12.9855133757567 | etot = -8.13378367159431 +195000 ekin = 1.45101621748256 | erot = 3.26269312885266 | epot = -12.8474930164477 | etot = -8.13378367011248 +196000 ekin = 1.37083042970796 | erot = 3.17132041678952 | epot = -12.6759345150014 | etot = -8.13378366850388 +197000 ekin = 1.29009120536748 | erot = 3.07036265935845 | epot = -12.4942375317758 | etot = -8.13378366704992 +198000 ekin = 1.22364196643987 | erot = 2.96652382644046 | epot = -12.3239494587839 | etot = -8.13378366590357 +199000 ekin = 1.18307710083285 | erot = 2.86542144217805 | epot = -12.1822822081308 | etot = -8.13378366511989 +200000 ekin = 1.17564340951956 | erot = 2.7715869837879 | epot = -12.0810140580308 | etot = -8.13378366472336 +201000 ekin = 1.2035961939178 | erot = 2.68856918537222 | epot = -12.0259490440303 | etot = -8.13378366474028 +202000 ekin = 1.26374726413821 | erot = 2.61894189740096 | epot = -12.0164728267172 | etot = -8.13378366517806 +203000 ekin = 1.3475159756314 | erot = 2.56419616426486 | epot = -12.0454958058714 | etot = -8.13378366597512 +204000 ekin = 1.44203337890014 | erot = 2.52468734318962 | epot = -12.1005043890649 | etot = -8.13378366697511 +205000 ekin = 1.53246038205354 | erot = 2.49972903140538 | epot = -12.1659730814069 | etot = -8.13378366794802 +206000 ekin = 1.60510558525656 | erot = 2.487934252803 | epot = -12.226823506722 | etot = -8.13378366866242 +207000 ekin = 1.65039556723136 | erot = 2.48771410987755 | epot = -12.2718933460771 | etot = -8.13378366896824 +208000 ekin = 1.66471924263828 | erot = 2.49772662877211 | epot = -12.296229540258 | etot = -8.13378366884764 +209000 ekin = 1.65060780281931 | erot = 2.51706178773899 | epot = -12.3014532589738 | etot = -8.1337836684155 +210000 ekin = 1.61529613530101 | erot = 2.54506818372113 | epot = -12.294147986902 | etot = -8.13378366787983 +211000 ekin = 1.56815998339903 | erot = 2.58088870847291 | epot = -12.2828323593491 | etot = -8.13378366747717 +212000 ekin = 1.51779769211944 | erot = 2.62289115840009 | epot = -12.2744725179132 | etot = -8.13378366739367 +213000 ekin = 1.46970697786409 | erot = 2.66822787294334 | epot = -12.2717185184986 | etot = -8.13378366769122 +214000 ekin = 1.42551121611952 | erot = 2.71271314915572 | epot = -12.2720080334465 | etot = -8.13378366817127 +215000 ekin = 1.38449526701797 | erot = 2.75113858809842 | epot = -12.2694175238339 | etot = -8.13378366871755 +216000 ekin = 1.3461145051069 | erot = 2.77818905444625 | epot = -12.2580872284516 | etot = -8.13378366889847 +217000 ekin = 1.31348152811954 | erot = 2.78964053187663 | epot = -12.2369057285552 | etot = -8.13378366855904 +218000 ekin = 1.29458639919478 | erot = 2.7831914510914 | epot = -12.2115615182393 | etot = -8.13378366795308 +219000 ekin = 1.29978448123104 | erot = 2.7578586549423 | epot = -12.1914268036072 | etot = -8.1337836674339 +220000 ekin = 1.33694784981731 | erot = 2.71363634301963 | epot = -12.1843678601774 | etot = -8.13378366734043 +221000 ekin = 1.40745643921055 | erot = 2.65092088134267 | epot = -12.1921609882709 | etot = -8.13378366771773 +222000 ekin = 1.50572252625935 | erot = 2.57029476952289 | epot = -12.2098009641033 | etot = -8.13378366832109 +223000 ekin = 1.62210843375735 | erot = 2.47289007334103 | epot = -12.2287821759278 | etot = -8.13378366882941 +224000 ekin = 1.746793930229 | erot = 2.36097135919342 | epot = -12.2415489584551 | etot = -8.13378366903269 +225000 ekin = 1.87205636329951 | erot = 2.23842454190523 | epot = -12.2442645742132 | etot = -8.13378366900846 +226000 ekin = 1.99134598106693 | erot = 2.11064622098412 | epot = -12.2357758711294 | etot = -8.13378366907832 +227000 ekin = 2.09586639151715 | erot = 1.98364704051183 | epot = -12.2132971015584 | etot = -8.13378366952941 +228000 ekin = 2.17197666667475 | erot = 1.86293503717791 | epot = -12.1686953741916 | etot = -8.13378367033897 +229000 ekin = 2.20263173192667 | erot = 1.75265294154725 | epot = -12.0890683445911 | etot = -8.13378367111716 +230000 ekin = 2.17321554606937 | erot = 1.65532359970871 | epot = -11.9623228171299 | etot = -8.13378367135177 +231000 ekin = 2.07854920573232 | erot = 1.57213281486727 | epot = -11.7844656913365 | etot = -8.13378367073688 +232000 ekin = 1.9267119502196 | erot = 1.50340464294852 | epot = -11.5639002625325 | etot = -8.13378366936441 +233000 ekin = 1.73729705956053 | erot = 1.44896834770272 | epot = -11.3200490749324 | etot = -8.13378366766914 +234000 ekin = 1.53556953354802 | erot = 1.40834045937527 | epot = -11.0776936590032 | etot = -8.13378366607992 +235000 ekin = 1.34558700580155 | erot = 1.38078818073916 | epot = -10.8601588514749 | etot = -8.13378366493417 +236000 ekin = 1.18525206422596 | erot = 1.3657026321041 | epot = -10.6847383605466 | etot = -8.1337836642165 +237000 ekin = 1.06637029724341 | erot = 1.36251012102854 | epot = -10.5626640820866 | etot = -8.13378366381463 +238000 ekin = 0.995491212021019 | erot = 1.37070429771416 | epot = -10.4999791733993 | etot = -8.13378366366416 +239000 ekin = 0.975031518631579 | erot = 1.3897138412691 | epot = -10.4985290236698 | etot = -8.1337836637691 +240000 ekin = 1.003524239047 | erot = 1.41866034024255 | epot = -10.5559682434628 | etot = -8.13378366417323 +241000 ekin = 1.07556704774179 | erot = 1.45612900246831 | epot = -10.6654797151277 | etot = -8.13378366491761 +242000 ekin = 1.18122375067269 | erot = 1.49994629855486 | epot = -10.8149537152521 | etot = -8.13378366602455 +243000 ekin = 1.30634294707391 | erot = 1.5470333102007 | epot = -10.9871599246153 | etot = -8.13378366734069 +244000 ekin = 1.43466609576103 | erot = 1.59374373480216 | epot = -11.1621934990183 | etot = -8.1337836684551 +245000 ekin = 1.55091944171202 | erot = 1.63606515904626 | epot = -11.3207682704719 | etot = -8.13378366971362 +246000 ekin = 1.63963426714548 | erot = 1.67091688012705 | epot = -11.4443348179091 | etot = -8.13378367063655 +247000 ekin = 1.68912292676081 | erot = 1.69643192578571 | epot = -11.5193385235861 | etot = -8.1337836710396 +248000 ekin = 1.6941862336649 | erot = 1.7122329815499 | epot = -11.5402028860517 | etot = -8.13378367083691 +249000 ekin = 1.65708464249985 | erot = 1.71943097162587 | epot = -11.5102992843203 | etot = -8.13378367019458 +250000 ekin = 1.5863986468533 | erot = 1.72015982289358 | epot = -11.4403421388607 | etot = -8.13378366911384 +251000 ekin = 1.49555936407786 | erot = 1.71716072440045 | epot = -11.3465037564426 | etot = -8.13378366796434 +252000 ekin = 1.39930346630862 | erot = 1.71298107622629 | epot = -11.2460682095268 | etot = -8.13378366699192 +253000 ekin = 1.31034898359547 | erot = 1.70949093459515 | epot = -11.1536235845413 | etot = -8.13378366635073 +254000 ekin = 1.23716194123368 | erot = 1.70776552340092 | epot = -11.0787111307331 | etot = -8.13378366609854 +255000 ekin = 1.18305733845311 | erot = 1.70821467485061 | epot = -11.025055679451 | etot = -8.13378366614725 +256000 ekin = 1.14729363432842 | erot = 1.7106327515816 | epot = -10.9917100522917 | etot = -8.13378366638171 +257000 ekin = 1.12650460108729 | erot = 1.71454195552779 | epot = -10.974830223265 | etot = -8.13378366664996 +258000 ekin = 1.1166971591796 | erot = 1.71938873503289 | epot = -10.9698695610665 | etot = -8.13378366685405 +259000 ekin = 1.11461746403917 | erot = 1.72463904931066 | epot = -10.9730401803372 | etot = -8.13378366698733 +260000 ekin = 1.11796213299311 | erot = 1.72976096813936 | epot = -10.9815067682349 | etot = -8.13378366710241 +261000 ekin = 1.12495929560805 | erot = 1.73429797646796 | epot = -10.9930409392091 | etot = -8.13378366713307 +262000 ekin = 1.13415334886796 | erot = 1.73799782227173 | epot = -11.0059348383754 | etot = -8.13378366723574 +263000 ekin = 1.1441924865775 | erot = 1.74014341283954 | epot = -11.0181195666639 | etot = -8.13378366724682 +264000 ekin = 1.15486713033016 | erot = 1.74014049676713 | epot = -11.0287912942162 | etot = -8.13378366711894 +265000 ekin = 1.16757148072387 | erot = 1.73774643956152 | epot = -11.0391015871619 | etot = -8.13378366687652 +266000 ekin = 1.18492523334604 | erot = 1.73313774545366 | epot = -11.0518466453998 | etot = -8.13378366660006 +267000 ekin = 1.20976553808602 | erot = 1.7268208539035 | epot = -11.0703700583702 | etot = -8.13378366638072 +268000 ekin = 1.24403111905679 | erot = 1.71946869065397 | epot = -11.0972834759949 | etot = -8.13378366628417 +269000 ekin = 1.28796807043007 | erot = 1.71176934564011 | epot = -11.1335210824064 | etot = -8.13378366633624 +270000 ekin = 1.33984072253264 | erot = 1.70434119615532 | epot = -11.1779655852108 | etot = -8.13378366652286 +271000 ekin = 1.39615730896038 | erot = 1.69774776464757 | epot = -11.2276887403839 | etot = -8.13378366677592 +272000 ekin = 1.45234426470337 | erot = 1.69276715684432 | epot = -11.2788950886215 | etot = -8.13378366707379 +273000 ekin = 1.50368133069646 | erot = 1.68992546991196 | epot = -11.3273904679228 | etot = -8.13378366731438 +274000 ekin = 1.54639996325526 | erot = 1.68983337628827 | epot = -11.3700170069557 | etot = -8.13378366741213 +275000 ekin = 1.57877490148631 | erot = 1.69332235277275 | epot = -11.4058809215907 | etot = -8.13378366733162 +276000 ekin = 1.60168052283226 | erot = 1.70138855155399 | epot = -11.436852741484 | etot = -8.13378366709777 +277000 ekin = 1.61832490282934 | erot = 1.71502642603181 | epot = -11.4671349956638 | etot = -8.13378366680269 +278000 ekin = 1.63311060675181 | erot = 1.73495415768007 | epot = -11.5018484310108 | etot = -8.13378366657894 +279000 ekin = 1.64995273994837 | erot = 1.76130541527865 | epot = -11.5450418217717 | etot = -8.1337836665447 +280000 ekin = 1.67073877093407 | erot = 1.79339849893171 | epot = -11.5979209366107 | etot = -8.13378366674486 +281000 ekin = 1.69438407985006 | erot = 1.82970064438533 | epot = -11.6578683914565 | etot = -8.13378366722115 +282000 ekin = 1.71376506080862 | erot = 1.86795891950281 | epot = -11.7155076481303 | etot = -8.13378366781888 +283000 ekin = 1.72224450525371 | erot = 1.9052906854816 | epot = -11.7613188590757 | etot = -8.13378366834034 +284000 ekin = 1.71505262177341 | erot = 1.93881515489551 | epot = -11.7876514453545 | etot = -8.13378366868558 +285000 ekin = 1.68954869056625 | erot = 1.96608819497539 | epot = -11.7894205543634 | etot = -8.13378366882172 +286000 ekin = 1.64555137747819 | erot = 1.98537597121294 | epot = -11.7647110174642 | etot = -8.13378366877303 +287000 ekin = 1.58495470813229 | erot = 1.99578989882443 | epot = -11.7145282755479 | etot = -8.13378366859116 +288000 ekin = 1.51101761585578 | erot = 1.9972977679279 | epot = -11.6420990521131 | etot = -8.13378366832946 +289000 ekin = 1.42766231980942 | erot = 1.99063899576434 | epot = -11.5520849836069 | etot = -8.1337836680331 +290000 ekin = 1.33894501486192 | erot = 1.9771675899912 | epot = -11.4498962725844 | etot = -8.13378366773129 +291000 ekin = 1.24881721188018 | erot = 1.95864649302945 | epot = -11.3412473723313 | etot = -8.13378366742167 +292000 ekin = 1.16137515575687 | erot = 1.93702958191697 | epot = -11.2321884047288 | etot = -8.13378366705499 +293000 ekin = 1.08169833470763 | erot = 1.91427738455186 | epot = -11.1297593858162 | etot = -8.13378366655672 +294000 ekin = 1.01689863826406 | erot = 1.8922324358106 | epot = -11.0429147399714 | etot = -8.13378366589676 +295000 ekin = 0.976377352950502 | erot = 1.8725332495628 | epot = -10.9826942676913 | etot = -8.13378366517798 +296000 ekin = 0.970182395979119 | erot = 1.85650679550227 | epot = -10.9604728561376 | etot = -8.13378366465623 +297000 ekin = 1.00537151817025 | erot = 1.84499118418531 | epot = -10.9841463669809 | etot = -8.13378366462529 +298000 ekin = 1.08200534146773 | erot = 1.8381241771558 | epot = -11.0539131838573 | etot = -8.13378366523378 +299000 ekin = 1.19125189129751 | erot = 1.83519410294181 | epot = -11.1602296606154 | etot = -8.13378366637606 +300000 ekin = 1.31698721061293 | erot = 1.83465168975374 | epot = -11.2854225681136 | etot = -8.13378366774693 +301000 ekin = 1.44008784809228 | erot = 1.83433803115513 | epot = -11.4082095482398 | etot = -8.13378366899243 +302000 ekin = 1.54329548540188 | erot = 1.8319000019686 | epot = -11.5089791572097 | etot = -8.13378366983918 +303000 ekin = 1.61484992407185 | erot = 1.82529439832924 | epot = -11.5739279925551 | etot = -8.13378367015401 +304000 ekin = 1.65011047810347 | erot = 1.81324433416857 | epot = -11.5971384822046 | etot = -8.13378366993254 +305000 ekin = 1.65140814366672 | erot = 1.79549497030458 | epot = -11.5806867832613 | etot = -8.13378366929 +306000 ekin = 1.62643416627335 | erot = 1.77280218914075 | epot = -11.5330200238232 | etot = -8.13378366840907 +307000 ekin = 1.58577500467154 | erot = 1.7466850070844 | epot = -11.4662436792504 | etot = -8.1337836674945 +308000 ekin = 1.54030424866655 | erot = 1.71903801624886 | epot = -11.3931259316301 | etot = -8.13378366671474 +309000 ekin = 1.4990009105044 | erot = 1.69173690592116 | epot = -11.3245214826142 | etot = -8.13378366618868 +310000 ekin = 1.46747597212362 | erot = 1.66636932779771 | epot = -11.2676289658628 | etot = -8.13378366594147 +311000 ekin = 1.44771419446033 | erot = 1.64410448876994 | epot = -11.2256023491826 | etot = -8.13378366595238 +312000 ekin = 1.4383914186309 | erot = 1.62568199896361 | epot = -11.1978570837367 | etot = -8.13378366614219 +313000 ekin = 1.43594352564835 | erot = 1.61150443049618 | epot = -11.1812316225544 | etot = -8.1337836664099 +314000 ekin = 1.43595255616958 | erot = 1.60177116104875 | epot = -11.1715073838745 | etot = -8.13378366665619 +315000 ekin = 1.43500742740479 | erot = 1.59648896098924 | epot = -11.1652800551023 | etot = -8.13378366670831 +316000 ekin = 1.43108473245268 | erot = 1.5956580439379 | epot = -11.1605264431142 | etot = -8.13378366672358 +317000 ekin = 1.42390336283526 | erot = 1.59957952106317 | epot = -11.1572665504279 | etot = -8.13378366652945 +318000 ekin = 1.41631295378262 | erot = 1.60866819207214 | epot = -11.158764812016 | etot = -8.1337836661612 +319000 ekin = 1.41381426232535 | erot = 1.62334142232245 | epot = -11.1709393503702 | etot = -8.13378366572238 +320000 ekin = 1.42315030251777 | erot = 1.64384116840196 | epot = -11.2007751362838 | etot = -8.13378366536404 +321000 ekin = 1.45024845493823 | erot = 1.67003325939981 | epot = -11.2540653795749 | etot = -8.13378366523685 +322000 ekin = 1.49815500536655 | erot = 1.70123818171226 | epot = -11.3331768525206 | etot = -8.13378366544176 +323000 ekin = 1.56569352501989 | erot = 1.73609284126389 | epot = -11.4355700323001 | etot = -8.13378366601634 +324000 ekin = 1.64679224021427 | erot = 1.77264010659823 | epot = -11.553216013806 | etot = -8.13378366699349 +325000 ekin = 1.73163775631264 | erot = 1.80818795205361 | epot = -11.6736093764089 | etot = -8.13378366804261 +326000 ekin = 1.80750329208696 | erot = 1.8398074929546 | epot = -11.7810944543884 | etot = -8.13378366934687 +327000 ekin = 1.85797659457013 | erot = 1.86537346541894 | epot = -11.8571337303148 | etot = -8.13378367032571 +328000 ekin = 1.87027520749331 | erot = 1.88392315073132 | epot = -11.8879820288833 | etot = -8.13378367065868 +329000 ekin = 1.83949589055174 | erot = 1.89597309718727 | epot = -11.869252657917 | etot = -8.13378367017803 +330000 ekin = 1.77117100869305 | erot = 1.90323589019341 | epot = -11.8081905678819 | etot = -8.13378366899542 +331000 ekin = 1.68023517873615 | erot = 1.90771959425362 | epot = -11.7217384405342 | etot = -8.13378366754447 +332000 ekin = 1.58599656571697 | erot = 1.91066851347039 | epot = -11.630448745537 | etot = -8.13378366634961 +333000 ekin = 1.50566649891836 | erot = 1.91203797343616 | epot = -11.5514881380525 | etot = -8.13378366569794 +334000 ekin = 1.44997196059215 | erot = 1.91073772769808 | epot = -11.4944933538505 | etot = -8.13378366556023 +335000 ekin = 1.42175053141052 | erot = 1.90515605628881 | epot = -11.4606902539328 | etot = -8.13378366623347 +336000 ekin = 1.4166253105865 | erot = 1.89330033651205 | epot = -11.443709313723 | etot = -8.13378366662444 +337000 ekin = 1.42902342420092 | erot = 1.87459660541265 | epot = -11.43740369656 | etot = -8.13378366694648 +338000 ekin = 1.45347553474253 | erot = 1.84924982278892 | epot = -11.4365090247033 | etot = -8.13378366717183 +339000 ekin = 1.48532648332336 | erot = 1.81789825388445 | epot = -11.4370084045411 | etot = -8.13378366733326 +340000 ekin = 1.52068113212542 | erot = 1.78131054290141 | epot = -11.4357753425007 | etot = -8.13378366747385 +341000 ekin = 1.5560607012887 | erot = 1.74019406298323 | epot = -11.4300384318859 | etot = -8.13378366761399 +342000 ekin = 1.58819693536409 | erot = 1.69515176482787 | epot = -11.4171323679319 | etot = -8.13378366773989 +343000 ekin = 1.61415529814685 | erot = 1.64675903935067 | epot = -11.3946980053118 | etot = -8.13378366781423 +344000 ekin = 1.63171879307236 | erot = 1.59569319794419 | epot = -11.3611956588172 | etot = -8.13378366780061 +345000 ekin = 1.63976605961489 | erot = 1.5428270420927 | epot = -11.3163767694021 | etot = -8.13378366769448 +346000 ekin = 1.63837200138302 | erot = 1.48918714017029 | epot = -11.2613428090738 | etot = -8.13378366752046 +347000 ekin = 1.62852754177388 | erot = 1.4358735156518 | epot = -11.1981847247562 | etot = -8.13378366733053 +348000 ekin = 1.61158889283549 | erot = 1.38392546940706 | epot = -11.1292980294148 | etot = -8.13378366717223 +349000 ekin = 1.58873557439393 | erot = 1.33422850520796 | epot = -11.0567477466751 | etot = -8.13378366707319 +350000 ekin = 1.56064786721289 | erot = 1.28749851960141 | epot = -10.981930053846 | etot = -8.13378366703173 +351000 ekin = 1.52754191191144 | erot = 1.24434620359675 | epot = -10.9056717825216 | etot = -8.1337836670134 +352000 ekin = 1.48960299203704 | erot = 1.20538641998308 | epot = -10.8287730789798 | etot = -8.13378366695972 +353000 ekin = 1.44778264502695 | erot = 1.17134399709371 | epot = -10.752910308908 | etot = -8.13378366678732 +354000 ekin = 1.4053310095306 | erot = 1.14324844922782 | epot = -10.682363125244 | etot = -8.13378366648559 +355000 ekin = 1.36869095863183 | erot = 1.12250242069477 | epot = -10.6249770453809 | etot = -8.13378366605434 +356000 ekin = 1.34490175995297 | erot = 1.10992990778302 | epot = -10.5886153331823 | etot = -8.13378366544635 +357000 ekin = 1.34315796275824 | erot = 1.10621719879765 | epot = -10.5831588263819 | etot = -8.13378366482602 +358000 ekin = 1.37283801207744 | erot = 1.11171347587857 | epot = -10.6183351524118 | etot = -8.13378366445576 +359000 ekin = 1.43996759058201 | erot = 1.12612871057513 | epot = -10.6998799657442 | etot = -8.13378366458706 +360000 ekin = 1.5438844591394 | erot = 1.14830381564191 | epot = -10.825971940099 | etot = -8.13378366531768 +361000 ekin = 1.67586531509034 | erot = 1.17618905419233 | epot = -10.9858380358531 | etot = -8.13378366657042 +362000 ekin = 1.82005627455383 | erot = 1.20703160753447 | epot = -11.1608715500439 | etot = -8.13378366795558 +363000 ekin = 1.95850583937149 | erot = 1.23798141777832 | epot = -11.3302709261636 | etot = -8.13378366901377 +364000 ekin = 2.0758001766431 | erot = 1.26672677095262 | epot = -11.4763106177177 | etot = -8.13378367012194 +365000 ekin = 2.15891662517416 | erot = 1.29173621495748 | epot = -11.5844365106022 | etot = -8.13378367047059 +366000 ekin = 2.20238380195839 | erot = 1.31262064914847 | epot = -11.6487881213389 | etot = -8.13378367023206 +367000 ekin = 2.2085172727543 | erot = 1.33022857587956 | epot = -11.6725295182442 | etot = -8.13378366961034 +368000 ekin = 2.18513118770686 | erot = 1.34632721320096 | epot = -11.6652420696059 | etot = -8.13378366869811 +369000 ekin = 2.14321144646781 | erot = 1.36315448463404 | epot = -11.6401495989055 | etot = -8.13378366780367 +370000 ekin = 2.0938828241348 | erot = 1.38296858720496 | epot = -11.6106350785167 | etot = -8.1337836671769 +371000 ekin = 2.04539161606818 | erot = 1.40758201280334 | epot = -11.5867572956956 | etot = -8.13378366682413 +372000 ekin = 2.00261126514815 | erot = 1.43827057512772 | epot = -11.574665506942 | etot = -8.13378366666616 +373000 ekin = 1.96798302472993 | erot = 1.475845039439 | epot = -11.5776117307495 | etot = -8.13378366658054 +374000 ekin = 1.94276422015049 | erot = 1.52074221163621 | epot = -11.5972900983351 | etot = -8.13378366654844 +375000 ekin = 1.92741631545133 | erot = 1.57302624843796 | epot = -11.6342262305073 | etot = -8.13378366661803 +376000 ekin = 1.92110841836636 | erot = 1.63232320681275 | epot = -11.6872152920284 | etot = -8.13378366684932 +377000 ekin = 1.92083197489617 | erot = 1.69770894533729 | epot = -11.7523245875363 | etot = -8.1337836673028 +378000 ekin = 1.92097158011965 | erot = 1.76763055654163 | epot = -11.8223858045346 | etot = -8.13378366787334 +379000 ekin = 1.91438056916682 | erot = 1.83964318712893 | epot = -11.887807424947 | etot = -8.13378366865125 +380000 ekin = 1.89241520119269 | erot = 1.91106138176787 | epot = -11.9372602523186 | etot = -8.13378366935807 +381000 ekin = 1.847118431211 | erot = 1.97933543814399 | epot = -11.9602375392212 | etot = -8.13378366986618 +382000 ekin = 1.77364821788507 | erot = 2.04210934439902 | epot = -11.9495412323413 | etot = -8.13378367005726 +383000 ekin = 1.67178472399512 | erot = 2.09754562136631 | epot = -11.903114015185 | etot = -8.13378366982355 +384000 ekin = 1.5470955648132 | erot = 2.1443870823428 | epot = -11.8252663163759 | etot = -8.13378366921985 +385000 ekin = 1.41093432867735 | erot = 2.18184182145047 | epot = -11.7265598182841 | etot = -8.13378366815629 +386000 ekin = 1.27958936994635 | erot = 2.21051340231003 | epot = -11.6238864391457 | etot = -8.13378366688934 +387000 ekin = 1.17137861198704 | erot = 2.23163165239755 | epot = -11.5367939301752 | etot = -8.13378366579065 +388000 ekin = 1.1017978040278 | erot = 2.24634754527518 | epot = -11.4819290145306 | etot = -8.13378366522763 +389000 ekin = 1.07882148969069 | erot = 2.25505587957395 | epot = -11.4676610376653 | etot = -8.1337836684007 +390000 ekin = 1.07051570135882 | erot = 2.26936424221012 | epot = -11.4736636037183 | etot = -8.13378366014933 +391000 ekin = 1.12513305991829 | erot = 2.28557987987778 | epot = -11.5444966077486 | etot = -8.1337836679525 +392000 ekin = 1.21295440172474 | erot = 2.27063670340335 | epot = -11.6173747716335 | etot = -8.13378366650546 +393000 ekin = 1.30924312365477 | erot = 2.24076930893612 | epot = -11.683796099719 | etot = -8.13378366712811 +394000 ekin = 1.40561895760574 | erot = 2.19794335034468 | epot = -11.737345975341 | etot = -8.13378366739058 +395000 ekin = 1.49662707239207 | erot = 2.14293675801956 | epot = -11.7733474977468 | etot = -8.13378366733519 +396000 ekin = 1.58077727991366 | erot = 2.07761988891088 | epot = -11.792180835874 | etot = -8.13378366704947 +397000 ekin = 1.65955042581691 | erot = 2.00469837191009 | epot = -11.7980324643556 | etot = -8.13378366662865 +398000 ekin = 1.73622447988457 | erot = 1.92743077252824 | epot = -11.7974389185588 | etot = -8.13378366614599 +399000 ekin = 1.81471876942085 | erot = 1.84941455049417 | epot = -11.7979169856346 | etot = -8.13378366571955 +400000 ekin = 1.89831345083173 | erot = 1.77428869309119 | epot = -11.8063858093336 | etot = -8.13378366541068 +401000 ekin = 1.98857882165051 | erot = 1.70555701947522 | epot = -11.8279195064034 | etot = -8.13378366527767 +402000 ekin = 2.08469272454806 | erot = 1.64640053761174 | epot = -11.864876927493 | etot = -8.13378366533317 +403000 ekin = 2.18333492883686 | erot = 1.59947809827568 | epot = -11.9165966926833 | etot = -8.13378366557074 +404000 ekin = 2.27899469657634 | erot = 1.56671457666561 | epot = -11.9794929391001 | etot = -8.13378366585815 +405000 ekin = 2.36506409046791 | erot = 1.54904572147161 | epot = -12.0478934783885 | etot = -8.133783666449 +406000 ekin = 2.43306193249953 | erot = 1.5463043441214 | epot = -12.113149943779 | etot = -8.13378366715811 +407000 ekin = 2.47364186380652 | erot = 1.55689186412975 | epot = -12.1643173959552 | etot = -8.13378366801896 +408000 ekin = 2.47760299472659 | erot = 1.57810641384372 | epot = -12.1894930773339 | etot = -8.13378366876364 +409000 ekin = 2.4382285084277 | erot = 1.60664113475376 | epot = -12.1786533122599 | etot = -8.13378366907848 +410000 ekin = 2.35516301280443 | erot = 1.63934184028269 | epot = -12.1282885218174 | etot = -8.13378366873023 +411000 ekin = 2.23661952277391 | erot = 1.67408087730519 | epot = -12.0444840678247 | etot = -8.13378366774563 +412000 ekin = 2.0985126746209 | erot = 1.71012170017462 | epot = -11.9424180412156 | etot = -8.13378366642006 +413000 ekin = 1.9605648479408 | erot = 1.7477880401099 | epot = -11.842136553205 | etot = -8.13378366515434 +414000 ekin = 1.84128090481651 | erot = 1.78771082121978 | epot = -11.7627753903069 | etot = -8.13378366427058 +415000 ekin = 1.75390442336269 | erot = 1.8300910315431 | epot = -11.7177791188322 | etot = -8.1337836639264 +416000 ekin = 1.70439570487947 | erot = 1.8742500828549 | epot = -11.7124294518619 | etot = -8.13378366412758 +417000 ekin = 1.6913155425304 | erot = 1.91850147883522 | epot = -11.7436006861825 | etot = -8.13378366481692 +418000 ekin = 1.70689490031879 | erot = 1.96025799788586 | epot = -11.8009365639622 | etot = -8.13378366575752 +419000 ekin = 1.73962222230418 | erot = 1.99637255840534 | epot = -11.8697784474987 | etot = -8.13378366678922 +420000 ekin = 1.77669286262506 | erot = 2.02357619714827 | epot = -11.9340527274771 | etot = -8.13378366770374 +421000 ekin = 1.80657824082939 | erot = 2.03903049555573 | epot = -11.9793924047129 | etot = -8.13378366832774 +422000 ekin = 1.82111290085882 | erot = 2.04088419799503 | epot = -11.9957807674272 | etot = -8.1337836685733 +423000 ekin = 1.8164858456862 | erot = 2.02865244729792 | epot = -11.9789219614438 | etot = -8.13378366845964 +424000 ekin = 1.79301691785 | erot = 2.00326876348577 | epot = -11.93006934941 | etot = -8.1337836680742 +425000 ekin = 1.7542404696796 | erot = 1.96680784722199 | epot = -11.8548319844099 | etot = -8.13378366750835 +426000 ekin = 1.70601392329041 | erot = 1.92202692837085 | epot = -11.7618245184889 | etot = -8.13378366682768 +427000 ekin = 1.65580906012742 | erot = 1.8718698544119 | epot = -11.6614625806777 | etot = -8.13378366613836 +428000 ekin = 1.61207963969203 | erot = 1.81905558542305 | epot = -11.5649188905514 | etot = -8.13378366543629 +429000 ekin = 1.58339999422577 | erot = 1.76579893171841 | epot = -11.4829825908551 | etot = -8.13378366491096 +430000 ekin = 1.57646033947156 | erot = 1.71346152699463 | epot = -11.4237055311677 | etot = -8.1337836647015 +431000 ekin = 1.59418488210558 | erot = 1.66239892773017 | epot = -11.3903674747255 | etot = -8.13378366488974 +432000 ekin = 1.63452809771572 | erot = 1.61205574804186 | epot = -11.3803675111907 | etot = -8.13378366543315 +433000 ekin = 1.69077410976896 | erot = 1.56136635610719 | epot = -11.3859241320169 | etot = -8.13378366614078 +434000 ekin = 1.75368500742744 | erot = 1.50939558466526 | epot = -11.3968642588279 | etot = -8.13378366673519 +435000 ekin = 1.81477188941387 | erot = 1.45598133800037 | epot = -11.4045368944168 | etot = -8.13378366700251 +436000 ekin = 1.86895151228359 | erot = 1.40204530898162 | epot = -11.4047804881014 | etot = -8.13378366683618 +437000 ekin = 1.91551323813695 | erot = 1.34941425923643 | epot = -11.3987111639621 | etot = -8.1337836665887 +438000 ekin = 1.95545357706326 | erot = 1.30011080733834 | epot = -11.3893480508819 | etot = -8.1337836664803 +439000 ekin = 1.98811153075701 | erot = 1.25557284833992 | epot = -11.3774680457432 | etot = -8.13378366664629 +440000 ekin = 2.00986623436144 | erot = 1.21630204161218 | epot = -11.3599519429689 | etot = -8.1337836669953 +441000 ekin = 2.01530350765885 | erot = 1.18202297032986 | epot = -11.3311101452771 | etot = -8.13378366728841 +442000 ekin = 1.99936349679026 | erot = 1.15207873138338 | epot = -11.285225896028 | etot = -8.13378366785432 +443000 ekin = 1.95696749681617 | erot = 1.12547607064141 | epot = -11.2162272349861 | etot = -8.13378366752857 +444000 ekin = 1.89166490098894 | erot = 1.10194461448034 | epot = -11.1273931823296 | etot = -8.13378366686036 +445000 ekin = 1.81328868644648 | erot = 1.08168732032615 | epot = -11.0287596725666 | etot = -8.13378366579393 +446000 ekin = 1.73577899474597 | erot = 1.06505071492877 | epot = -10.934613374721 | etot = -8.13378366504623 +447000 ekin = 1.67093185588756 | erot = 1.05239705126936 | epot = -10.8571125714687 | etot = -8.13378366431178 +448000 ekin = 1.62911856819551 | erot = 1.04409603312636 | epot = -10.8069982651691 | etot = -8.1337836638472 +449000 ekin = 1.61731626297121 | erot = 1.04041489697142 | epot = -10.791514823704 | etot = -8.13378366376135 +450000 ekin = 1.6371169760582 | erot = 1.04135992229642 | epot = -10.8122605626996 | etot = -8.13378366434497 +451000 ekin = 1.683202581423 | erot = 1.04620824656516 | epot = -10.8631944930217 | etot = -8.13378366503355 +452000 ekin = 1.74581668011809 | erot = 1.05391169410105 | epot = -10.9335120399986 | etot = -8.13378366577951 +453000 ekin = 1.81457146100557 | erot = 1.06335165863438 | epot = -11.0117067861187 | etot = -8.13378366647873 +454000 ekin = 1.87975957938354 | erot = 1.07317402238495 | epot = -11.0867172689043 | etot = -8.13378366713579 +455000 ekin = 1.93251877587718 | erot = 1.08171623325452 | epot = -11.1480186769418 | etot = -8.13378366781011 +456000 ekin = 1.96415416826587 | erot = 1.08704156958762 | epot = -11.1849794063545 | etot = -8.13378366850104 +457000 ekin = 1.96605348076947 | erot = 1.0872339429412 | epot = -11.1870710927812 | etot = -8.13378366907053 +458000 ekin = 1.93127523760885 | erot = 1.08096076790336 | epot = -11.1460196747758 | etot = -8.1337836692636 +459000 ekin = 1.85771594839236 | erot = 1.06809531780637 | epot = -11.0595949350235 | etot = -8.13378366882475 +460000 ekin = 1.75147188083691 | erot = 1.05009293158279 | epot = -10.935348480065 | etot = -8.13378366764531 +461000 ekin = 1.62834142733994 | erot = 1.02990811326384 | epot = -10.7920332065057 | etot = -8.13378366590194 +462000 ekin = 1.51195360648057 | erot = 1.01153881174369 | epot = -10.6572760812005 | etot = -8.13378366297619 +463000 ekin = 1.43011910144001 | erot = 1.00022578453745 | epot = -10.5641285481523 | etot = -8.13378366217487 +464000 ekin = 1.39582910827648 | erot = 0.998198432076844 | epot = -10.5278112022039 | etot = -8.1337836618506 +465000 ekin = 1.41007554850293 | erot = 1.00592009003209 | epot = -10.5497793012381 | etot = -8.13378366270313 +466000 ekin = 1.46251969360747 | erot = 1.02219738030556 | epot = -10.6185007378637 | etot = -8.13378366395071 +467000 ekin = 1.49627186630975 | erot = 1.05472101821045 | epot = -10.6847765488433 | etot = -8.13378366432313 +468000 ekin = 1.51725853676438 | erot = 1.12479885660867 | epot = -10.7758410579087 | etot = -8.13378366453565 +469000 ekin = 1.58140637755938 | erot = 1.16828828959022 | epot = -10.8834783316313 | etot = -8.13378366448166 +470000 ekin = 1.60068578300076 | erot = 1.18114141021406 | epot = -10.9156108575643 | etot = -8.13378366434945 +471000 ekin = 1.59076368328042 | erot = 1.18707237247322 | epot = -10.9116197194539 | etot = -8.13378366370031 +472000 ekin = 1.5612406060142 | erot = 1.18572143101511 | epot = -10.8807456998225 | etot = -8.13378366279316 +473000 ekin = 1.52502097412807 | erot = 1.17792025681444 | epot = -10.8367248927777 | etot = -8.1337836618352 +474000 ekin = 1.49533177226926 | erot = 1.165444462138 | epot = -10.7945598953625 | etot = -8.13378366095528 +475000 ekin = 1.48386630176695 | erot = 1.15068540215814 | epot = -10.7683353641634 | etot = -8.1337836602383 +476000 ekin = 1.49971334633236 | erot = 1.13623821678217 | epot = -10.7697352228581 | etot = -8.13378365974359 +477000 ekin = 1.5487111876978 | erot = 1.12448433353011 | epot = -10.8069791813398 | etot = -8.1337836601119 +478000 ekin = 1.62953491120436 | erot = 1.11764268903856 | epot = -10.8809612604826 | etot = -8.13378366023969 +479000 ekin = 1.73735741643734 | erot = 1.11700620811583 | epot = -10.9881472852193 | etot = -8.13378366066615 +480000 ekin = 1.86556210287678 | erot = 1.12262064775425 | epot = -11.1219664120635 | etot = -8.1337836614325 +481000 ekin = 2.00121026337328 | erot = 1.13364860021549 | epot = -11.2686425499546 | etot = -8.13378368636585 +482000 ekin = 2.04617329760094 | erot = 1.16256926169772 | epot = -11.3425262237857 | etot = -8.13378366448705 +483000 ekin = 2.14335261834056 | erot = 1.21476273129688 | epot = -11.4918990325462 | etot = -8.13378368290878 +484000 ekin = 2.20270995356394 | erot = 1.23147381807205 | epot = -11.5679674446545 | etot = -8.13378367301847 +485000 ekin = 2.20682939441105 | erot = 1.23835798982356 | epot = -11.5789710574867 | etot = -8.13378367325212 +486000 ekin = 2.16589682794375 | erot = 1.24300370552104 | epot = -11.5426842062933 | etot = -8.13378367282848 +487000 ekin = 2.08668888865065 | erot = 1.24625551752377 | epot = -11.4667280780208 | etot = -8.13378367184637 +488000 ekin = 1.98386509125157 | erot = 1.24977318046877 | epot = -11.3674219422435 | etot = -8.13378367052311 +489000 ekin = 1.87707931030795 | erot = 1.25547012773927 | epot = -11.2663331072078 | etot = -8.13378366916055 +490000 ekin = 1.78677596317092 | erot = 1.26490338722197 | epot = -11.1854630185197 | etot = -8.1337836681268 +491000 ekin = 1.72903831214112 | erot = 1.27867004038315 | epot = -11.1414920203231 | etot = -8.13378366779881 +492000 ekin = 1.7103997905776 | erot = 1.29591768107408 | epot = -11.1401011400714 | etot = -8.13378366841973 +493000 ekin = 1.72454317156023 | erot = 1.31423280426865 | epot = -11.1725596457326 | etot = -8.1337836699037 +494000 ekin = 1.75332785015283 | erot = 1.33022406246729 | epot = -11.2173355843424 | etot = -8.13378367172227 +495000 ekin = 1.77349565825339 | erot = 1.34086561473228 | epot = -11.2481449460233 | etot = -8.13378367303767 +496000 ekin = 1.76725059667391 | erot = 1.34512484286612 | epot = -11.246159112691 | etot = -8.13378367315101 +497000 ekin = 1.73127637989022 | erot = 1.34494708212087 | epot = -11.2100071339734 | etot = -8.13378367196233 +498000 ekin = 1.67855000907778 | erot = 1.34489121264346 | epot = -11.1572248917577 | etot = -8.13378367003641 +499000 ekin = 1.63191747119361 | erot = 1.35056727533119 | epot = -11.1162684147384 | etot = -8.13378366821364 +500000 ekin = 1.61378359989808 | erot = 1.36676364681355 | epot = -11.1143309138627 | etot = -8.13378366715105 +501000 ekin = 1.63758101988158 | erot = 1.39609850676573 | epot = -11.1674631937488 | etot = -8.13378366710151 +502000 ekin = 1.70413807541423 | erot = 1.43847493669164 | epot = -11.2763966800733 | etot = -8.13378366796746 +503000 ekin = 1.80268297747941 | erot = 1.49115460253826 | epot = -11.4276212495095 | etot = -8.13378366949188 +504000 ekin = 1.91419549779682 | erot = 1.54914693964081 | epot = -11.5971261088649 | etot = -8.1337836714273 +505000 ekin = 2.01490443998886 | erot = 1.60576406504492 | epot = -11.7544521785742 | etot = -8.13378367354037 +506000 ekin = 2.07966541471917 | erot = 1.65345439354273 | epot = -11.8669034837012 | etot = -8.13378367543934 +507000 ekin = 2.08700353897931 | erot = 1.68517460629698 | epot = -11.9059618217544 | etot = -8.13378367647812 +508000 ekin = 2.02663352664087 | erot = 1.69625747623816 | epot = -11.8566746789476 | etot = -8.13378367606856 +509000 ekin = 1.90589064134532 | erot = 1.68599529702818 | epot = -11.7256696125605 | etot = -8.13378367418702 +510000 ekin = 1.74959091232532 | erot = 1.65787688253333 | epot = -11.5412514663247 | etot = -8.13378367146606 +511000 ekin = 1.59231955658843 | erot = 1.6182626673154 | epot = -11.3443658926804 | etot = -8.13378366877654 +512000 ekin = 1.46755856060292 | erot = 1.57434662380292 | epot = -11.1756888512875 | etot = -8.13378366688171 +513000 ekin = 1.39839916093105 | erot = 1.53234768377481 | epot = -11.0645305108152 | etot = -8.13378366610933 +514000 ekin = 1.39338903686656 | erot = 1.49706258344342 | epot = -11.0242352864652 | etot = -8.13378366615522 +515000 ekin = 1.4449515906223 | erot = 1.47110271002822 | epot = -11.0498379682114 | etot = -8.13378366756091 +516000 ekin = 1.53288312821876 | erot = 1.453570647243 | epot = -11.1202374448478 | etot = -8.133783669386 +517000 ekin = 1.63159033312891 | erot = 1.44224294472704 | epot = -11.2076169492337 | etot = -8.13378367137774 +518000 ekin = 1.7140940145624 | erot = 1.43408399435691 | epot = -11.281961682157 | etot = -8.13378367323773 +519000 ekin = 1.75665192757263 | erot = 1.42579002916731 | epot = -11.316225631737 | etot = -8.13378367499705 +520000 ekin = 1.74187345948359 | erot = 1.41504839774727 | epot = -11.2907055324355 | etot = -8.13378367520464 +521000 ekin = 1.6687170304138 | erot = 1.40071550595613 | epot = -11.2032162101188 | etot = -8.13378367374886 +522000 ekin = 1.55952182856936 | erot = 1.38339983649833 | epot = -11.0767053362068 | etot = -8.13378367113911 +523000 ekin = 1.45114556552355 | erot = 1.36568308064632 | epot = -10.9506123146269 | etot = -8.13378366845702 +524000 ekin = 1.38091842213512 | erot = 1.35134919390609 | epot = -10.8660512824867 | etot = -8.13378366644547 +525000 ekin = 1.37601425592005 | erot = 1.34456662955663 | epot = -10.8543645508867 | etot = -8.13378366541006 +526000 ekin = 1.44870428485565 | erot = 1.34909740178984 | epot = -10.9315853521561 | etot = -8.13378366551062 +527000 ekin = 1.59459863547555 | erot = 1.36714947551734 | epot = -11.0955317779066 | etot = -8.13378366691373 +528000 ekin = 1.79183405482323 | erot = 1.39841904592953 | epot = -11.3240367701711 | etot = -8.1337836694183 +529000 ekin = 2.00478978698341 | erot = 1.43972835787364 | epot = -11.5783018172279 | etot = -8.13378367237083 +530000 ekin = 2.19333795602184 | erot = 1.48552207657583 | epot = -11.8126437074866 | etot = -8.13378367488898 +531000 ekin = 2.32431476966283 | erot = 1.52928747155129 | epot = -11.9873859175035 | etot = -8.13378367628933 +532000 ekin = 2.37971447238976 | erot = 1.56539257217402 | epot = -12.0788907210184 | etot = -8.13378367645461 +533000 ekin = 2.35771666716381 | erot = 1.59048999439669 | epot = -12.0819903372243 | etot = -8.1337836756638 +534000 ekin = 2.26899715449622 | erot = 1.60407394358295 | epot = -12.0068547722117 | etot = -8.13378367413258 +535000 ekin = 2.13365177460143 | erot = 1.60831072461293 | epot = -11.8757461712372 | etot = -8.13378367202286 +536000 ekin = 1.97886376167562 | erot = 1.60719127866692 | epot = -11.7198387100714 | etot = -8.13378366972884 +537000 ekin = 1.83421887314921 | erot = 1.60523898300898 | epot = -11.5732415239224 | etot = -8.13378366776425 +538000 ekin = 1.72531720892395 | erot = 1.60632519288809 | epot = -11.465426068323 | etot = -8.13378366651098 +539000 ekin = 1.66856519905205 | erot = 1.61301472929837 | epot = -11.4153635944735 | etot = -8.13378366612308 +540000 ekin = 1.66907056567389 | erot = 1.62662968764599 | epot = -11.4294839194817 | etot = -8.1337836661618 +541000 ekin = 1.72153495926528 | erot = 1.64788745985663 | epot = -11.5032060864699 | etot = -8.13378366734799 +542000 ekin = 1.80903650496287 | erot = 1.67547869679642 | epot = -11.618298870671 | etot = -8.13378366891172 +543000 ekin = 1.90894616834964 | erot = 1.70734508947333 | epot = -11.7500749283571 | etot = -8.13378367053414 +544000 ekin = 1.99777842838976 | erot = 1.74125357780433 | epot = -11.8728156781126 | etot = -8.13378367191851 +545000 ekin = 2.05546409374046 | erot = 1.77521000036089 | epot = -11.9644577669355 | etot = -8.13378367283414 +546000 ekin = 2.06867595313242 | erot = 1.8077948360879 | epot = -12.0102544623758 | etot = -8.13378367315551 +547000 ekin = 2.03267806245285 | erot = 1.83838588997954 | epot = -12.0048476252993 | etot = -8.13378367286689 +548000 ekin = 1.95148731421026 | erot = 1.86718390882511 | epot = -11.9524548951376 | etot = -8.13378367210227 +549000 ekin = 1.83645042330075 | erot = 1.89487456520008 | epot = -11.8651086595368 | etot = -8.13378367103596 +550000 ekin = 1.70373130495655 | erot = 1.92233248820821 | epot = -11.7598474630408 | etot = -8.13378366987601 +551000 ekin = 1.57139422781638 | erot = 1.9502429186833 | epot = -11.65542081531 | etot = -8.1337836688103 +552000 ekin = 1.45663332558441 | erot = 1.97878558863207 | epot = -11.5692025822092 | etot = -8.13378366799269 +553000 ekin = 1.3733740902053 | erot = 2.00744335365976 | epot = -11.5146011114102 | etot = -8.13378366754517 +554000 ekin = 1.33029485863377 | erot = 2.0349665714564 | epot = -11.4990450976332 | etot = -8.13378366754299 +555000 ekin = 1.32945359626657 | erot = 2.05953157376384 | epot = -11.5227688380265 | etot = -8.13378366799606 +556000 ekin = 1.36589068758086 | erot = 2.07909837609607 | epot = -11.5787727324867 | etot = -8.13378366880977 +557000 ekin = 1.42857577084687 | erot = 2.09193210847203 | epot = -11.6542915491193 | etot = -8.13378366980039 +558000 ekin = 1.50275359964787 | erot = 2.09715314140285 | epot = -11.733690411781 | etot = -8.13378367073029 +559000 ekin = 1.57321830908193 | erot = 2.09511862189589 | epot = -11.8021206023721 | etot = -8.13378367139428 +560000 ekin = 1.62740172364015 | erot = 2.0874549689334 | epot = -11.8486403642998 | etot = -8.13378367172623 +561000 ekin = 1.65692416188407 | erot = 2.07666092047466 | epot = -11.867368754165 | etot = -8.1337836718063 +562000 ekin = 1.65737426356001 | erot = 2.06544534214375 | epot = -11.8566032774352 | etot = -8.13378367173146 +563000 ekin = 1.62727808427686 | erot = 2.0561555503796 | epot = -11.8172173064426 | etot = -8.1337836717861 +564000 ekin = 1.56679933055812 | erot = 2.05047511799406 | epot = -11.7510581199034 | etot = -8.13378367135121 +565000 ekin = 1.48206055328865 | erot = 2.04917576858446 | epot = -11.6650199925185 | etot = -8.13378367064534 +566000 ekin = 1.38423866544416 | erot = 2.05221850150166 | epot = -11.570240836728 | etot = -8.13378366978216 +567000 ekin = 1.28749391779805 | erot = 2.05873429505309 | epot = -11.4800118818356 | etot = -8.1337836689845 +568000 ekin = 1.2057043110348 | erot = 2.06705692033903 | epot = -11.4065448998294 | etot = -8.13378366845561 +569000 ekin = 1.14918558023836 | erot = 2.07495244466027 | epot = -11.3579216931865 | etot = -8.13378366828788 +570000 ekin = 1.12276449647263 | erot = 2.08007272962266 | epot = -11.3366208945389 | etot = -8.13378366844359 +571000 ekin = 1.12567595873366 | erot = 2.08050218013587 | epot = -11.3399618076688 | etot = -8.13378366879922 +572000 ekin = 1.15294903412069 | erot = 2.07519259344981 | epot = -11.3619252967711 | etot = -8.1337836692006 +573000 ekin = 1.19838854920248 | erot = 2.06451015558496 | epot = -11.3966823740142 | etot = -8.13378366922679 +574000 ekin = 1.25460427390538 | erot = 2.04968889738576 | epot = -11.4380768408162 | etot = -8.13378366952507 +575000 ekin = 1.3145473569659 | erot = 2.03199549862714 | epot = -11.4803265251246 | etot = -8.13378366953155 +576000 ekin = 1.37512583612256 | erot = 2.01319845741142 | epot = -11.522107962838 | etot = -8.13378366930401 +577000 ekin = 1.43682760503803 | erot = 1.99528982934627 | epot = -11.5659011033479 | etot = -8.13378366896359 +578000 ekin = 1.50235588202257 | erot = 1.98017269182707 | epot = -11.616312242474 | etot = -8.13378366862437 +579000 ekin = 1.57520818416893 | erot = 1.96938672247183 | epot = -11.6783785749987 | etot = -8.13378366835792 +580000 ekin = 1.65868462492759 | erot = 1.9639024985745 | epot = -11.7563707921412 | etot = -8.13378366863908 +581000 ekin = 1.75247311826172 | erot = 1.96419308534662 | epot = -11.8504498724713 | etot = -8.13378366886299 +582000 ekin = 1.85283782857126 | erot = 1.96967477641562 | epot = -11.9562962743646 | etot = -8.13378366937774 +583000 ekin = 1.95429754596698 | erot = 1.97826405495517 | epot = -12.0663452712462 | etot = -8.13378367032403 +584000 ekin = 2.04662916571296 | erot = 1.98631443704561 | epot = -12.1667272745288 | etot = -8.13378367177025 +585000 ekin = 2.11419694670623 | erot = 1.98862566442644 | epot = -12.2366062846708 | etot = -8.1337836735381 +586000 ekin = 2.13871236987403 | erot = 1.97915340582032 | epot = -12.251649450775 | etot = -8.13378367508065 +587000 ekin = 2.1046578324698 | erot = 1.95256271523913 | epot = -12.1910042235993 | etot = -8.13378367589034 +588000 ekin = 2.00543191748363 | erot = 1.90599988278528 | epot = -12.0452154755461 | etot = -8.13378367527722 +589000 ekin = 1.85115446103327 | erot = 1.84021509337235 | epot = -11.8251532276819 | etot = -8.13378367327628 +590000 ekin = 1.66921622807052 | erot = 1.75933351105154 | epot = -11.5623334095136 | etot = -8.13378367039159 +591000 ekin = 1.49774854837099 | erot = 1.66961531493849 | epot = -11.3011475307967 | etot = -8.13378366748726 +592000 ekin = 1.3741820859932 | erot = 1.57786762200524 | epot = -11.0858333735181 | etot = -8.13378366551967 +593000 ekin = 1.32230765433109 | erot = 1.49017042368474 | epot = -10.9462617430929 | etot = -8.13378366507706 +594000 ekin = 1.34433584580908 | erot = 1.41110289037829 | epot = -10.8892224022229 | etot = -8.13378366603555 +595000 ekin = 1.4231376214122 | erot = 1.34352894995752 | epot = -10.9004502389522 | etot = -8.13378366758252 +596000 ekin = 1.53140640357278 | erot = 1.28905714164113 | epot = -10.9542472149381 | etot = -8.13378366972416 +597000 ekin = 1.63793776665508 | erot = 1.24822708399344 | epot = -11.019948521789 | etot = -8.13378367114047 +598000 ekin = 1.71853369497956 | erot = 1.22042305585484 | epot = -11.0727404229849 | etot = -8.13378367215051 +599000 ekin = 1.75676579673314 | erot = 1.20417119499254 | epot = -11.0947206644607 | etot = -8.13378367273503 +600000 ekin = 1.74415562352347 | erot = 1.1974850125872 | epot = -11.0754243089252 | etot = -8.13378367281453 +601000 ekin = 1.68078686629012 | erot = 1.19842786468538 | epot = -11.012998403262 | etot = -8.13378367228648 +602000 ekin = 1.57592768465659 | erot = 1.20571835984221 | epot = -10.9154297156387 | etot = -8.13378367113989 +603000 ekin = 1.44736021988886 | erot = 1.21906556666659 | epot = -10.8002094561258 | etot = -8.13378366957031 +604000 ekin = 1.31829530124112 | erot = 1.23900632721008 | epot = -10.6910852964351 | etot = -8.13378366798387 +605000 ekin = 1.21203583246966 | erot = 1.26625018196441 | epot = -10.6120696811954 | etot = -8.13378366676136 +606000 ekin = 1.1471788194313 | erot = 1.30114918573804 | epot = -10.5821116711522 | etot = -8.13378366598283 +607000 ekin = 1.13493137969395 | erot = 1.34344256501628 | epot = -10.6121576106217 | etot = -8.13378366591145 +608000 ekin = 1.17769398074537 | erot = 1.39211398655978 | epot = -10.7035916336101 | etot = -8.13378366630492 +609000 ekin = 1.27083042497215 | erot = 1.44572829443106 | epot = -10.8503423864839 | etot = -8.13378366708069 +610000 ekin = 1.40359308953497 | erot = 1.50241692808096 | epot = -11.0397936861262 | etot = -8.13378366851022 +611000 ekin = 1.55996607947089 | erot = 1.55982171139299 | epot = -11.253571460632 | etot = -8.13378366976813 +612000 ekin = 1.72323074885791 | erot = 1.61567444067702 | epot = -11.4726888606289 | etot = -8.13378367109395 +613000 ekin = 1.87623356286535 | erot = 1.66732234623712 | epot = -11.677339581494 | etot = -8.13378367239149 +614000 ekin = 2.00332542687785 | erot = 1.71185786770152 | epot = -11.8489669678998 | etot = -8.13378367332043 +615000 ekin = 2.0938447106911 | erot = 1.74706892485081 | epot = -11.9746973091395 | etot = -8.1337836735976 +616000 ekin = 2.14582652012071 | erot = 1.77208418550063 | epot = -12.0516943786421 | etot = -8.13378367302075 +617000 ekin = 2.16764032551916 | erot = 1.787864761541 | epot = -12.0892887588615 | etot = -8.13378367180135 +618000 ekin = 2.17543321836323 | erot = 1.79702594193641 | epot = -12.1062428306531 | etot = -8.13378367035343 +619000 ekin = 2.18765015125133 | erot = 1.80309631575425 | epot = -12.1245301362281 | etot = -8.13378366922254 +620000 ekin = 2.21827388576285 | erot = 1.80941579610204 | epot = -12.1614733506252 | etot = -8.13378366876028 +621000 ekin = 2.27256724286815 | erot = 1.81817906105655 | epot = -12.2245299729573 | etot = -8.13378366903265 +622000 ekin = 2.34686215369527 | erot = 1.82980019933902 | epot = -12.3104460229224 | etot = -8.13378366988815 +623000 ekin = 2.43079483962716 | erot = 1.8427295467928 | epot = -12.4073080575176 | etot = -8.13378367109765 +624000 ekin = 2.5107485939996 | erot = 1.85365912855095 | epot = -12.4981913948937 | etot = -8.13378367234319 +625000 ekin = 2.57376014758943 | erot = 1.85839628629729 | epot = -12.5659401070791 | etot = -8.13378367319238 +626000 ekin = 2.61178608744741 | erot = 1.85335246050191 | epot = -12.5989222212815 | etot = -8.13378367333221 +627000 ekin = 2.62439666915785 | erot = 1.83675929860322 | epot = -12.5949396406017 | etot = -8.13378367284068 +628000 ekin = 2.61715143116438 | erot = 1.8088329781474 | epot = -12.5597680815328 | etot = -8.13378367222104 +629000 ekin = 2.59614002779832 | erot = 1.77076928021883 | epot = -12.5006929799542 | etot = -8.1337836719371 +630000 ekin = 2.56316564608462 | erot = 1.7236886227231 | epot = -12.4206379408516 | etot = -8.13378367204391 +631000 ekin = 2.51545670839933 | erot = 1.66841938704488 | epot = -12.3176597676938 | etot = -8.13378367224957 +632000 ekin = 2.44898106284144 | erot = 1.60594586085105 | epot = -12.1887105959446 | etot = -8.13378367225213 +633000 ekin = 2.36287257797916 | erot = 1.53782426737236 | epot = -12.0344805167089 | etot = -8.13378367135735 +634000 ekin = 2.26405242524496 | erot = 1.46623278029967 | epot = -11.864068876129 | etot = -8.13378367058439 +635000 ekin = 2.16101755721112 | erot = 1.39475566087583 | epot = -11.6895568877978 | etot = -8.13378366971087 +636000 ekin = 2.06475253332541 | erot = 1.3268650623379 | epot = -11.5254012642585 | etot = -8.13378366859516 +637000 ekin = 1.98973271037715 | erot = 1.26596624428881 | epot = -11.3894826221233 | etot = -8.13378366745732 +638000 ekin = 1.95146778323067 | erot = 1.21514985243714 | epot = -11.3004013023013 | etot = -8.13378366663354 +639000 ekin = 1.96182069136509 | erot = 1.17695161176092 | epot = -11.2725559693112 | etot = -8.13378366618516 +640000 ekin = 2.02679898932797 | erot = 1.15239183903173 | epot = -11.3129744949352 | etot = -8.13378366657551 +641000 ekin = 2.14199910312317 | erot = 1.14071086556715 | epot = -11.4164936363374 | etot = -8.1337836676471 +642000 ekin = 2.2928504631817 | erot = 1.13915186811625 | epot = -11.5657860007561 | etot = -8.13378366945816 +643000 ekin = 2.45552552112345 | erot = 1.1433882823325 | epot = -11.7326974750707 | etot = -8.13378367161478 +644000 ekin = 2.60133752583198 | erot = 1.148353674905 | epot = -11.8834748743264 | etot = -8.13378367358945 +645000 ekin = 2.70371430392256 | erot = 1.14938437136365 | epot = -11.9868823501647 | etot = -8.13378367487845 +646000 ekin = 2.74463607558011 | erot = 1.14332224209556 | epot = -12.0217419928901 | etot = -8.13378367521444 +647000 ekin = 2.71817787235873 | erot = 1.12915792946586 | epot = -11.9811194764579 | etot = -8.13378367463333 +648000 ekin = 2.63028246064842 | erot = 1.10798613625545 | epot = -11.8720522702983 | etot = -8.13378367339448 +649000 ekin = 2.49559189346538 | erot = 1.08245328244055 | epot = -11.7118288477703 | etot = -8.13378367186436 +650000 ekin = 2.33293161554122 | erot = 1.05592857134661 | epot = -11.5226438572585 | etot = -8.13378367037071 +651000 ekin = 2.16312160403312 | erot = 1.03179243267749 | epot = -11.3286977053606 | etot = -8.13378366864995 +652000 ekin = 2.0043776447218 | erot = 1.0126334647444 | epot = -11.1507947775976 | etot = -8.13378366813138 +653000 ekin = 1.86320148187806 | erot = 0.999771298657919 | epot = -10.9967564484937 | etot = -8.13378366795773 +654000 ekin = 1.74159938814614 | erot = 0.993638993388595 | epot = -10.8690220495541 | etot = -8.13378366801934 +655000 ekin = 1.63877614368846 | erot = 0.993961110596709 | epot = -10.7665209224708 | etot = -8.13378366818566 +656000 ekin = 1.5529369639273 | erot = 0.999977751459511 | epot = -10.6866983837148 | etot = -8.13378366832803 +657000 ekin = 1.48301105563479 | erot = 1.01069155837003 | epot = -10.6274862823526 | etot = -8.13378366834774 +658000 ekin = 1.42991653831162 | erot = 1.02511295990344 | epot = -10.5888131664135 | etot = -8.13378366819842 +659000 ekin = 1.39703562131292 | erot = 1.04246417551983 | epot = -10.5732834647419 | etot = -8.13378366790917 +660000 ekin = 1.38964145709155 | erot = 1.06228082946531 | epot = -10.5857059541244 | etot = -8.13378366756751 +661000 ekin = 1.41337783437763 | erot = 1.08434723256434 | epot = -10.6315087343399 | etot = -8.13378366739793 +662000 ekin = 1.47169034615873 | erot = 1.10850483082051 | epot = -10.7139788445335 | etot = -8.13378366755423 +663000 ekin = 1.56097330111581 | erot = 1.13389735843154 | epot = -10.8286543283384 | etot = -8.13378366879109 +664000 ekin = 1.66624490138027 | erot = 1.15850228666392 | epot = -10.9585308577707 | etot = -8.13378366972648 +665000 ekin = 1.77303863682281 | erot = 1.18152952432333 | epot = -11.0883518319623 | etot = -8.13378367081621 +666000 ekin = 1.86640057269355 | erot = 1.20258304574543 | epot = -11.2027672900303 | etot = -8.13378367159136 +667000 ekin = 1.93466412848915 | erot = 1.22193419207378 | epot = -11.2903819923689 | etot = -8.133783671806 +668000 ekin = 1.97306030168019 | erot = 1.24062017116799 | epot = -11.3474641442769 | etot = -8.13378367142873 +669000 ekin = 1.98443783024889 | erot = 1.26004202124057 | epot = -11.3782635221749 | etot = -8.13378367068545 +670000 ekin = 1.97652861972491 | erot = 1.28134194904821 | epot = -11.3916542389563 | etot = -8.13378367018321 +671000 ekin = 1.95649579520902 | erot = 1.30490078083381 | epot = -11.3951802458179 | etot = -8.13378366977503 +672000 ekin = 1.92875532538935 | erot = 1.33065660863181 | epot = -11.3931956035842 | etot = -8.13378366956306 +673000 ekin = 1.89553670248936 | erot = 1.35854540535641 | epot = -11.3878657773159 | etot = -8.13378366947008 +674000 ekin = 1.85764904384443 | erot = 1.38884570045689 | epot = -11.3802784136491 | etot = -8.13378366934781 +675000 ekin = 1.81704545028434 | erot = 1.42228413605295 | epot = -11.373113255601 | etot = -8.13378366926374 +676000 ekin = 1.77505031311568 | erot = 1.45971003523498 | epot = -11.3685440174495 | etot = -8.13378366909886 +677000 ekin = 1.73347451744457 | erot = 1.5019121683338 | epot = -11.3691703547332 | etot = -8.13378366895484 +678000 ekin = 1.69449339360991 | erot = 1.54922606358763 | epot = -11.3775031261173 | etot = -8.13378366891979 +679000 ekin = 1.65969071094775 | erot = 1.60118456838417 | epot = -11.3946589483669 | etot = -8.13378366903495 +680000 ekin = 1.62957005382427 | erot = 1.65634116858805 | epot = -11.4196948917019 | etot = -8.13378366928958 +681000 ekin = 1.60362252577069 | erot = 1.71228358653195 | epot = -11.449689781933 | etot = -8.13378366963035 +682000 ekin = 1.5808307425256 | erot = 1.76582826440389 | epot = -11.4804426769133 | etot = -8.13378366998382 +683000 ekin = 1.56032431135137 | erot = 1.81338479150389 | epot = -11.5074927731382 | etot = -8.13378367028288 +684000 ekin = 1.54183455724318 | erot = 1.85142632174729 | epot = -11.5270445498204 | etot = -8.13378367082992 +685000 ekin = 1.52410759948932 | erot = 1.87642082989206 | epot = -11.5343121005182 | etot = -8.13378367113683 +686000 ekin = 1.50494379429771 | erot = 1.88570070120714 | epot = -11.5244281669092 | etot = -8.13378367140436 +687000 ekin = 1.48208036602607 | erot = 1.87831367885578 | epot = -11.4941777164915 | etot = -8.13378367160967 +688000 ekin = 1.45289287171974 | erot = 1.85497856867545 | epot = -11.4416551120418 | etot = -8.13378367164664 +689000 ekin = 1.41601907826324 | erot = 1.81811437350132 | epot = -11.367917123107 | etot = -8.13378367134249 +690000 ekin = 1.37394775597773 | erot = 1.77166312493213 | epot = -11.2793945514708 | etot = -8.13378367056093 +691000 ekin = 1.33508615018567 | erot = 1.7207149635712 | epot = -11.1895847830922 | etot = -8.13378366933531 +692000 ekin = 1.31344376449331 | erot = 1.67094159750906 | epot = -11.1181690299532 | etot = -8.13378366795085 +693000 ekin = 1.32488046335684 | erot = 1.62783697439007 | epot = -11.0865011046353 | etot = -8.13378366688844 +694000 ekin = 1.38078608495378 | erot = 1.59583179974278 | epot = -11.1104015513257 | etot = -8.13378366662911 +695000 ekin = 1.48192861171659 | erot = 1.57745304983523 | epot = -11.1931653289632 | etot = -8.13378366741139 +696000 ekin = 1.61569966758079 | erot = 1.5727804142449 | epot = -11.32226375092 | etot = -8.13378366909433 +697000 ekin = 1.75843097201211 | erot = 1.57943520717465 | epot = -11.471649850405 | etot = -8.13378367121827 +698000 ekin = 1.88185215219679 | erot = 1.59316882059862 | epot = -11.6088046459831 | etot = -8.13378367318764 +699000 ekin = 1.96106579202292 | erot = 1.60896306337659 | epot = -11.7038125298663 | etot = -8.13378367446684 +700000 ekin = 1.98131680912422 | erot = 1.62236339277023 | epot = -11.7374638766252 | etot = -8.1337836747308 +701000 ekin = 1.94164145669045 | erot = 1.63062825687531 | epot = -11.7060533875203 | etot = -8.1337836739545 +702000 ekin = 1.85450233235201 | erot = 1.63328569356415 | epot = -11.6215716983376 | etot = -8.13378367242146 +703000 ekin = 1.74181404908478 | erot = 1.63189519934157 | epot = -11.5074929188714 | etot = -8.13378367044504 +704000 ekin = 1.62890053406143 | erot = 1.62932624845842 | epot = -11.3920104514131 | etot = -8.13378366889327 +705000 ekin = 1.53704055740013 | erot = 1.62828297752769 | epot = -11.2991072026892 | etot = -8.13378366776141 +706000 ekin = 1.48137553867545 | erot = 1.63090498236421 | epot = -11.2460641881752 | etot = -8.13378366713553 +707000 ekin = 1.47012654302872 | erot = 1.63856880546718 | epot = -11.2424790154444 | etot = -8.13378366694853 +708000 ekin = 1.50545482974759 | erot = 1.65189802616416 | epot = -11.2911365229833 | etot = -8.13378366707157 +709000 ekin = 1.58434919628013 | erot = 1.67079586466944 | epot = -11.3889287286708 | etot = -8.13378366772122 +710000 ekin = 1.69830399772316 | erot = 1.69420639282641 | epot = -11.5262940590572 | etot = -8.13378366850765 +711000 ekin = 1.83638650827484 | erot = 1.72024670599356 | epot = -11.6904168837856 | etot = -8.13378366951719 +712000 ekin = 1.98510691898267 | erot = 1.74609277614869 | epot = -11.8649833659474 | etot = -8.13378367081602 +713000 ekin = 2.12899307619927 | erot = 1.76804611051695 | epot = -12.0308228587679 | etot = -8.13378367205166 +714000 ekin = 2.2537500788108 | erot = 1.78243264236392 | epot = -12.1699663939999 | etot = -8.1337836728252 +715000 ekin = 2.34975342443562 | erot = 1.78632122216762 | epot = -12.2698583199061 | etot = -8.13378367330291 +716000 ekin = 2.41256025264403 | erot = 1.77808812757533 | epot = -12.3244320533944 | etot = -8.13378367317507 +717000 ekin = 2.44474770549548 | erot = 1.75804788177059 | epot = -12.3365792598097 | etot = -8.13378367254361 +718000 ekin = 2.45412216711155 | erot = 1.72831089170459 | epot = -12.3162167308502 | etot = -8.13378367203411 +719000 ekin = 2.44845378812103 | erot = 1.69204638295129 | epot = -12.2742838422468 | etot = -8.13378367117444 +720000 ekin = 2.43656682429823 | erot = 1.65329012912613 | epot = -12.2236406239975 | etot = -8.13378367057317 +721000 ekin = 2.42365620510361 | erot = 1.61605001930567 | epot = -12.1734898947895 | etot = -8.1337836703802 +722000 ekin = 2.40904119934951 | erot = 1.58378410660753 | epot = -12.1266089765548 | etot = -8.13378367059771 +723000 ekin = 2.38647146985516 | erot = 1.55915433554635 | epot = -12.0794094764715 | etot = -8.13378367107003 +724000 ekin = 2.34659230992567 | erot = 1.54397640930162 | epot = -12.0243523907673 | etot = -8.13378367154003 +725000 ekin = 2.28077035570444 | erot = 1.53931973021413 | epot = -11.9538737576625 | etot = -8.13378367174393 +726000 ekin = 2.18489434263528 | erot = 1.54571264605969 | epot = -11.8643906602024 | etot = -8.13378367150746 +727000 ekin = 2.06179491768289 | erot = 1.5633964649543 | epot = -11.758975053444 | etot = -8.13378367080681 +728000 ekin = 1.92142302762616 | erot = 1.59252552389791 | epot = -11.6477322213134 | etot = -8.13378366978937 +729000 ekin = 1.77863161459621 | erot = 1.63318133799978 | epot = -11.5455966213317 | etot = -8.13378366873569 +730000 ekin = 1.64935549787773 | erot = 1.68520345518918 | epot = -11.4683426210493 | etot = -8.13378366798235 +731000 ekin = 1.54617340800501 | erot = 1.74777370763937 | epot = -11.4277307834144 | etot = -8.13378366776999 +732000 ekin = 1.47444012326081 | erot = 1.81876025838909 | epot = -11.4269840497984 | etot = -8.13378366814851 +733000 ekin = 1.43189319814282 | erot = 1.89484027034282 | epot = -11.4605171374877 | etot = -8.13378366900206 +734000 ekin = 1.41017780821054 | erot = 1.97174677425768 | epot = -11.5157082525344 | etot = -8.13378367006618 +735000 ekin = 1.39820849324506 | erot = 2.04483940823445 | epot = -11.5768315724903 | etot = -8.13378367101077 +736000 ekin = 1.38628872342334 | erot = 2.1098536340242 | epot = -11.6299260289958 | etot = -8.13378367154824 +737000 ekin = 1.36961596691125 | erot = 2.16355925927667 | epot = -11.6669588977375 | etot = -8.1337836715496 +738000 ekin = 1.34981044642444 | erot = 2.20404797657021 | epot = -11.6876420941064 | etot = -8.13378367111176 +739000 ekin = 1.3337265319971 | erot = 2.2305539577571 | epot = -11.6980641602564 | etot = -8.13378367050223 +740000 ekin = 1.33016419297185 | erot = 2.24303198932884 | epot = -11.7069798522888 | etot = -8.13378366998815 +741000 ekin = 1.34641052649907 | erot = 2.24189336877249 | epot = -11.7220875649481 | etot = -8.13378366967656 +742000 ekin = 1.38645577649848 | erot = 2.22809836951312 | epot = -11.7483378155403 | etot = -8.13378366952872 +743000 ekin = 1.45103879196092 | erot = 2.20332817129465 | epot = -11.7881506327621 | etot = -8.13378366950656 +744000 ekin = 1.53803120218869 | erot = 2.16985299830622 | epot = -11.8416678701973 | etot = -8.13378366970238 +745000 ekin = 1.64150939164176 | erot = 2.1298859597558 | epot = -11.9051790216537 | etot = -8.13378367025619 +746000 ekin = 1.75074962764572 | erot = 2.08470317829609 | epot = -11.9692364772076 | etot = -8.13378367126575 +747000 ekin = 1.84985303110975 | erot = 2.03398729131598 | epot = -12.0176239950655 | etot = -8.13378367263978 +748000 ekin = 1.91944439123733 | erot = 1.97579729236556 | epot = -12.0290253576753 | etot = -8.13378367407245 +749000 ekin = 1.94080211586985 | erot = 1.90728805389599 | epot = -11.9818738448629 | etot = -8.13378367509709 +750000 ekin = 1.90175708675931 | erot = 1.82602227398106 | epot = -11.8615630358818 | etot = -8.13378367514145 +751000 ekin = 1.80442251329553 | erot = 1.7321012366385 | epot = -11.6703074242626 | etot = -8.1337836743286 +752000 ekin = 1.66438096328611 | erot = 1.62791173822921 | epot = -11.4260763737947 | etot = -8.13378367227942 +753000 ekin = 1.50959112394715 | erot = 1.51791168435181 | epot = -11.1612864778799 | etot = -8.13378366958094 +754000 ekin = 1.37530205556033 | erot = 1.40846180206954 | epot = -10.9175475248713 | etot = -8.13378366724144 +755000 ekin = 1.29223158174908 | erot = 1.30628357856191 | epot = -10.732298826192 | etot = -8.13378366588102 +756000 ekin = 1.27251368864414 | erot = 1.21592403401206 | epot = -10.622221389115 | etot = -8.13378366645877 +757000 ekin = 1.30634776760889 | erot = 1.13861892039714 | epot = -10.5787503559372 | etot = -8.13378366793113 +758000 ekin = 1.37185376254184 | erot = 1.0735107376922 | epot = -10.5791481697226 | etot = -8.13378366948851 +759000 ekin = 1.44617278831012 | erot = 1.01897341841063 | epot = -10.598929877198 | etot = -8.13378367047723 +760000 ekin = 1.51270256479301 | erot = 0.973207034201039 | epot = -10.6196932701125 | etot = -8.13378367111847 +761000 ekin = 1.56039612702868 | erot = 0.934439072309874 | epot = -10.6286188703703 | etot = -8.13378367103177 +762000 ekin = 1.58948756764912 | erot = 0.901622731963184 | epot = -10.6248939700703 | etot = -8.13378367045796 +763000 ekin = 1.60810008603274 | erot = 0.874391507872529 | epot = -10.6162752635795 | etot = -8.13378366967423 +764000 ekin = 1.62768531424286 | erot = 0.852689319785657 | epot = -10.6141583029918 | etot = -8.13378366896324 +765000 ekin = 1.65693698085653 | erot = 0.836745239153095 | epot = -10.6274658895874 | etot = -8.13378366957773 +766000 ekin = 1.70304081025946 | erot = 0.827639758104824 | epot = -10.6644642391125 | etot = -8.13378367074825 +767000 ekin = 1.76603010804921 | erot = 0.819745786931532 | epot = -10.719559566308 | etot = -8.13378367132722 +768000 ekin = 1.83976621727627 | erot = 0.8139156067584 | epot = -10.7874654957375 | etot = -8.13378367170284 +769000 ekin = 1.91953928655908 | erot = 0.809315266595166 | epot = -10.8626382251527 | etot = -8.13378367199848 +770000 ekin = 2.00068337351959 | erot = 0.805269377194069 | epot = -10.9397364229423 | etot = -8.13378367222864 +771000 ekin = 2.07932607088732 | erot = 0.801470015537725 | epot = -11.0145797587942 | etot = -8.13378367236911 +772000 ekin = 2.15218258759755 | erot = 0.797728511840744 | epot = -11.0836947720117 | etot = -8.13378367257343 +773000 ekin = 2.21516346372988 | erot = 0.79376993216211 | epot = -11.1427170688153 | etot = -8.13378367292333 +774000 ekin = 2.26234547301551 | erot = 0.789120208322318 | epot = -11.1852493547456 | etot = -8.13378367340773 +775000 ekin = 2.28747440002057 | erot = 0.782940858117551 | epot = -11.2041989316468 | etot = -8.13378367350871 +776000 ekin = 2.28487294058628 | erot = 0.774236455828425 | epot = -11.1928930694851 | etot = -8.13378367307042 +777000 ekin = 2.25459623260422 | erot = 0.763986238595056 | epot = -11.1523661447081 | etot = -8.13378367350883 +778000 ekin = 2.19483848050509 | erot = 0.752926118473461 | epot = -11.0815482726341 | etot = -8.13378367365559 +779000 ekin = 2.10207554487389 | erot = 0.741428699334343 | epot = -10.9772879179051 | etot = -8.13378367369685 +780000 ekin = 1.975078446677 | erot = 0.730439747656369 | epot = -10.8393018678337 | etot = -8.1337836735003 +781000 ekin = 1.81624237982134 | erot = 0.720681720720675 | epot = -10.6707077731082 | etot = -8.13378367256618 +782000 ekin = 1.63737679983539 | erot = 0.713965531354133 | epot = -10.4851260026601 | etot = -8.13378367147054 +783000 ekin = 1.45327094383719 | erot = 0.712334775523592 | epot = -10.2993893897056 | etot = -8.1337836703448 +784000 ekin = 1.27931304174358 | erot = 0.717795316536906 | epot = -10.1308920276043 | etot = -8.1337836693238 +785000 ekin = 1.12953341815274 | erot = 0.732133377029229 | epot = -9.99545046371264 | etot = -8.13378366853067 +786000 ekin = 1.0148243180478 | erot = 0.75676028118304 | epot = -9.90536826728528 | etot = -8.13378366805444 +787000 ekin = 0.941643963842495 | erot = 0.792599099770748 | epot = -9.86802673154543 | etot = -8.13378366793219 +788000 ekin = 0.91151079635427 | erot = 0.840020856528208 | epot = -9.88531532101941 | etot = -8.13378366813693 +789000 ekin = 0.921376349365235 | erot = 0.89882735727821 | epot = -9.9539873752422 | etot = -8.13378366859875 +790000 ekin = 0.964654482915146 | erot = 0.968273092067122 | epot = -10.0667112442069 | etot = -8.13378366922462 +791000 ekin = 1.03261133425371 | erot = 1.04710148107764 | epot = -10.2134964852549 | etot = -8.13378366992355 +792000 ekin = 1.11580285055926 | erot = 1.13356945355193 | epot = -10.3831559747166 | etot = -8.13378367060541 +793000 ekin = 1.205280651357 | erot = 1.22546277764222 | epot = -10.5645271002539 | etot = -8.13378367125471 +794000 ekin = 1.29310700797017 | erot = 1.32020213138164 | epot = -10.7470928111806 | etot = -8.13378367182877 +795000 ekin = 1.37238467364513 | erot = 1.41513363977019 | epot = -10.9213019889598 | etot = -8.13378367554452 +796000 ekin = 1.40835913067749 | erot = 1.52971390357828 | epot = -11.0718567049054 | etot = -8.1337836706496 +797000 ekin = 1.45167190325167 | erot = 1.62512604236805 | epot = -11.2105816179713 | etot = -8.13378367235159 +798000 ekin = 1.48145722831546 | erot = 1.70064689495284 | epot = -11.315887795747 | etot = -8.13378367247869 +799000 ekin = 1.4955963332668 | erot = 1.76394329939599 | epot = -11.3933233050852 | etot = -8.13378367242244 +800000 ekin = 1.49744893756611 | erot = 1.8132729125825 | epot = -11.4445055223199 | etot = -8.13378367217132 +801000 ekin = 1.49251279282915 | erot = 1.84780559275317 | epot = -11.474102057285 | etot = -8.13378367170271 +802000 ekin = 1.48820480029493 | erot = 1.86779013866868 | epot = -11.4897786100776 | etot = -8.13378367111404 +803000 ekin = 1.49253566042966 | erot = 1.87451451170557 | epot = -11.5008338427234 | etot = -8.13378367058816 +804000 ekin = 1.5116603543289 | erot = 1.86997050315934 | epot = -11.5154145278236 | etot = -8.13378367033537 +805000 ekin = 1.54725262777174 | erot = 1.85635941635703 | epot = -11.5373957146226 | etot = -8.13378367049383 +806000 ekin = 1.59533620641404 | erot = 1.83572111156676 | epot = -11.5648409886255 | etot = -8.13378367064471 +807000 ekin = 1.64925672171952 | erot = 1.81037056531091 | epot = -11.5934109584119 | etot = -8.13378367138148 +808000 ekin = 1.69787116917717 | erot = 1.7813245959011 | epot = -11.6129794371751 | etot = -8.13378367209687 +809000 ekin = 1.73004744235811 | erot = 1.74897468679296 | epot = -11.6128058017335 | etot = -8.13378367258244 +810000 ekin = 1.73831051804067 | erot = 1.71353607859664 | epot = -11.585630270404 | etot = -8.13378367376665 +811000 ekin = 1.71623548899456 | erot = 1.6742846234257 | epot = -11.5243037859369 | etot = -8.13378367351661 +812000 ekin = 1.66416936453534 | erot = 1.63115164435859 | epot = -11.4291046817453 | etot = -8.13378367285134 +813000 ekin = 1.59176171308439 | erot = 1.58513406244348 | epot = -11.3106794473701 | etot = -8.13378367184222 +814000 ekin = 1.51369575693312 | erot = 1.53752063412374 | epot = -11.1850000616877 | etot = -8.13378367063089 +815000 ekin = 1.44735421380678 | erot = 1.48989097525809 | epot = -11.0710288584962 | etot = -8.13378366943134 +816000 ekin = 1.40949972397271 | erot = 1.44406671643183 | epot = -10.9873501088938 | etot = -8.13378366848926 +817000 ekin = 1.41268037619626 | erot = 1.40200084695678 | epot = -10.9484648911707 | etot = -8.13378366801771 +818000 ekin = 1.46212175577427 | erot = 1.36558649858982 | epot = -10.9614919224948 | etot = -8.13378366813073 +819000 ekin = 1.55434977582292 | erot = 1.33645466075966 | epot = -11.0245881053078 | etot = -8.13378366872519 +820000 ekin = 1.67879137032642 | erot = 1.31590146923918 | epot = -11.1284765091463 | etot = -8.1337836695807 +821000 ekin = 1.82107935880473 | erot = 1.30489182434882 | epot = -11.2597548535965 | etot = -8.13378367044299 +822000 ekin = 1.95294466690438 | erot = 1.31620699243495 | epot = -11.4029353289041 | etot = -8.13378366956477 +823000 ekin = 2.0744918329815 | erot = 1.34466437804004 | epot = -11.5529398817614 | etot = -8.13378367073983 +824000 ekin = 2.19907919101152 | erot = 1.36469015649287 | epot = -11.6975530184867 | etot = -8.13378367098235 +825000 ekin = 2.30563380731732 | erot = 1.39476757379007 | epot = -11.8341850523135 | etot = -8.13378367120606 +826000 ekin = 2.39103700934121 | erot = 1.43354131860341 | epot = -11.9583619997622 | etot = -8.13378367181753 +827000 ekin = 2.44908730431562 | erot = 1.47824975110643 | epot = -12.0611207278282 | etot = -8.13378367240619 +828000 ekin = 2.47400495189244 | erot = 1.5253685887777 | epot = -12.1331572137356 | etot = -8.13378367306547 +829000 ekin = 2.46026919524429 | erot = 1.57083290056531 | epot = -12.1648857694093 | etot = -8.13378367359971 +830000 ekin = 2.40417117545801 | erot = 1.61070673373864 | epot = -12.1486615829869 | etot = -8.13378367379024 +831000 ekin = 2.30626797380524 | erot = 1.6420689276996 | epot = -12.0821205749497 | etot = -8.13378367344486 +832000 ekin = 2.17314973457071 | erot = 1.6637889533296 | epot = -11.9707223604975 | etot = -8.13378367259718 +833000 ekin = 2.01667882998926 | erot = 1.67684011591486 | epot = -11.827302617307 | etot = -8.1337836714029 +834000 ekin = 1.85232718441155 | erot = 1.68370832895273 | epot = -11.669819183454 | etot = -8.13378367008967 +835000 ekin = 1.69616282491266 | erot = 1.68768571766349 | epot = -11.5176322116632 | etot = -8.13378366908707 +836000 ekin = 1.56059049290232 | erot = 1.69176136009187 | epot = -11.3861355304323 | etot = -8.13378367743811 +837000 ekin = 1.4649469150044 | erot = 1.67922598577313 | epot = -11.2779565658821 | etot = -8.13378366510453 +838000 ekin = 1.41623376457433 | erot = 1.68359587928439 | epot = -11.2336133181127 | etot = -8.13378367425399 +839000 ekin = 1.38164226012672 | erot = 1.69827238734037 | epot = -11.2136983220805 | etot = -8.13378367461343 +840000 ekin = 1.37281419715513 | erot = 1.71791872248084 | epot = -11.2245165947373 | etot = -8.13378367510138 +841000 ekin = 1.38251849193881 | erot = 1.74222357841543 | epot = -11.2585257459448 | etot = -8.13378367559059 +842000 ekin = 1.40440815942035 | erot = 1.77053653191625 | epot = -11.308728367384 | etot = -8.13378367604745 +843000 ekin = 1.43288889925859 | erot = 1.80208713634726 | epot = -11.3687597120877 | etot = -8.13378367648181 +844000 ekin = 1.46337505814903 | erot = 1.83581425236187 | epot = -11.4329729874354 | etot = -8.13378367692452 +845000 ekin = 1.49225138963089 | erot = 1.87011931155121 | epot = -11.4961543785795 | etot = -8.13378367739744 +846000 ekin = 1.51675477462874 | erot = 1.90271354930936 | epot = -11.5532520018099 | etot = -8.13378367787183 +847000 ekin = 1.53514567571852 | erot = 1.93076451181253 | epot = -11.5996938657532 | etot = -8.13378367822212 +848000 ekin = 1.54758817139767 | erot = 1.95149729782707 | epot = -11.6328691474788 | etot = -8.1337836782541 +849000 ekin = 1.55740275309144 | erot = 1.96313933265 | epot = -11.6543257635983 | etot = -8.13378367785683 +850000 ekin = 1.57132389421101 | erot = 1.96572299084975 | epot = -11.6708305622435 | etot = -8.13378367718269 +851000 ekin = 1.59707563452676 | erot = 1.96110149893909 | epot = -11.6919608101049 | etot = -8.13378367663905 +852000 ekin = 1.6386535081545 | erot = 1.95197424613878 | epot = -11.7244114309664 | etot = -8.13378367667315 +853000 ekin = 1.69191652813023 | erot = 1.94037118809899 | epot = -11.7660713936989 | etot = -8.1337836774697 +854000 ekin = 1.74370784145889 | erot = 1.92645693893931 | epot = -11.8039484591072 | etot = -8.13378367870896 +855000 ekin = 1.77620146948086 | erot = 1.90847432090069 | epot = -11.8184594703326 | etot = -8.13378367995108 +856000 ekin = 1.77433273184065 | erot = 1.88315818057335 | epot = -11.7912745929164 | etot = -8.13378368050239 +857000 ekin = 1.73346273147091 | erot = 1.84735528776312 | epot = -11.7146016992328 | etot = -8.13378367999875 +858000 ekin = 1.66317903315863 | erot = 1.79946643728795 | epot = -11.5964291489817 | etot = -8.13378367853512 +859000 ekin = 1.58513293473523 | erot = 1.74007953905842 | epot = -11.4589961504119 | etot = -8.13378367661827 +860000 ekin = 1.52581941740006 | erot = 1.67168470802684 | epot = -11.3312878003291 | etot = -8.13378367490221 +861000 ekin = 1.50775028679288 | erot = 1.59782760969369 | epot = -11.2393615703528 | etot = -8.1337836738662 +862000 ekin = 1.54306866321957 | erot = 1.52225954467352 | epot = -11.1991118815402 | etot = -8.13378367364711 +863000 ekin = 1.63171594625002 | erot = 1.44845127786619 | epot = -11.2139508982038 | etot = -8.13378367408762 +864000 ekin = 1.76367870712172 | erot = 1.37946094115355 | epot = -11.2769233231883 | etot = -8.13378367491307 +865000 ekin = 1.92306452976728 | erot = 1.31796433815998 | epot = -11.374812543797 | etot = -8.13378367586979 +866000 ekin = 2.09215456373456 | erot = 1.26628926087244 | epot = -11.492227501168 | etot = -8.13378367656101 +867000 ekin = 2.2555870663093 | erot = 1.22649711226227 | epot = -11.6158678558662 | etot = -8.13378367729465 +868000 ekin = 2.40057443573636 | erot = 1.20017706622215 | epot = -11.7345351797559 | etot = -8.13378367779738 +869000 ekin = 2.51819395203098 | erot = 1.18842552010846 | epot = -11.8404031502132 | etot = -8.13378367807373 +870000 ekin = 2.60380767615723 | erot = 1.19178595747267 | epot = -11.9293773118501 | etot = -8.13378367822019 +871000 ekin = 2.65597330530642 | erot = 1.21008900212213 | epot = -11.9998459857543 | etot = -8.13378367832573 +872000 ekin = 2.67413391791353 | erot = 1.24223617503019 | epot = -12.0501537716762 | etot = -8.13378367873251 +873000 ekin = 2.6552381335266 | erot = 1.28590823805749 | epot = -12.0749300509471 | etot = -8.13378367936302 +874000 ekin = 2.59426343772232 | erot = 1.33769628235099 | epot = -12.0657434000994 | etot = -8.13378368002606 +875000 ekin = 2.48661885046081 | erot = 1.39359938817273 | epot = -12.014001918994 | etot = -8.13378368036042 +876000 ekin = 2.33257163459597 | erot = 1.4498598457216 | epot = -11.9162151603149 | etot = -8.13378367999738 +877000 ekin = 2.141517317418 | erot = 1.50380376864633 | epot = -11.7791047648915 | etot = -8.13378367882715 +878000 ekin = 1.93283200512491 | erot = 1.55419737778086 | epot = -11.6208130600935 | etot = -8.13378367718774 +879000 ekin = 1.73117573768839 | erot = 1.60084517567798 | epot = -11.4658045891139 | etot = -8.13378367574752 +880000 ekin = 1.5578715146681 | erot = 1.64373016660559 | epot = -11.3353853563275 | etot = -8.1337836750538 +881000 ekin = 1.42384142296435 | erot = 1.68244604719099 | epot = -11.240071145286 | etot = -8.1337836751306 +882000 ekin = 1.32893688638413 | erot = 1.71640874333306 | epot = -11.1791293052726 | etot = -8.13378367555537 +883000 ekin = 1.26714280251856 | erot = 1.74554143078467 | epot = -11.1464679090328 | etot = -8.13378367572956 +884000 ekin = 1.23268823981684 | erot = 1.77071758435451 | epot = -11.1371895001203 | etot = -8.13378367594895 +885000 ekin = 1.22008849613112 | erot = 1.79312166866591 | epot = -11.1469938409055 | etot = -8.13378367610844 +886000 ekin = 1.22532479936357 | erot = 1.81382116072379 | epot = -11.1729296363289 | etot = -8.13378367624153 +887000 ekin = 1.2449454811134 | erot = 1.83336039664062 | epot = -11.2120895542198 | etot = -8.1337836764658 +888000 ekin = 1.27500212867653 | erot = 1.8516886713632 | epot = -11.2604744767923 | etot = -8.13378367675256 +889000 ekin = 1.31152735186358 | erot = 1.86844690163024 | epot = -11.3137579305996 | etot = -8.13378367710575 +890000 ekin = 1.3498631749174 | erot = 1.88304641091815 | epot = -11.3666932633624 | etot = -8.13378367752689 +891000 ekin = 1.38390530385042 | erot = 1.89468392947328 | epot = -11.412372911412 | etot = -8.13378367808832 +892000 ekin = 1.40569395920114 | erot = 1.9022674868734 | epot = -11.4417451250871 | etot = -8.13378367901258 +893000 ekin = 1.40448288885454 | erot = 1.90432470815783 | epot = -11.4425912767175 | etot = -8.13378367970511 +894000 ekin = 1.37144289301693 | erot = 1.89954369089987 | epot = -11.4047702639074 | etot = -8.1337836799906 +895000 ekin = 1.30348485835023 | erot = 1.88750423026719 | epot = -11.3247727647944 | etot = -8.133783676177 +896000 ekin = 1.22187336940036 | erot = 1.8707106171673 | epot = -11.2263676620824 | etot = -8.13378367551471 +897000 ekin = 1.1475484574015 | erot = 1.8526380388531 | epot = -11.1339701707606 | etot = -8.13378367450598 +898000 ekin = 1.08944016615085 | erot = 1.83653761372357 | epot = -11.0597614537982 | etot = -8.13378367392382 +899000 ekin = 1.05403951137015 | erot = 1.82413022669427 | epot = -11.0119534116562 | etot = -8.13378367359175 +900000 ekin = 1.04500203331437 | erot = 1.81619426355301 | epot = -10.9949799704688 | etot = -8.13378367360146 +901000 ekin = 1.06222206923137 | erot = 1.81234403117871 | epot = -11.0083497743367 | etot = -8.13378367392657 +902000 ekin = 1.10209713925585 | erot = 1.81111462924797 | epot = -11.0469954429571 | etot = -8.13378367445329 +903000 ekin = 1.15876030901198 | erot = 1.81037876583237 | epot = -11.1029227498745 | etot = -8.13378367503018 +904000 ekin = 1.22532881859542 | erot = 1.80797942323846 | epot = -11.1670919178021 | etot = -8.13378367596819 +905000 ekin = 1.29206809095771 | erot = 1.80250391202481 | epot = -11.228355679448 | etot = -8.13378367646547 +906000 ekin = 1.35183435818773 | erot = 1.79300035920579 | epot = -11.2786183941511 | etot = -8.13378367675755 +907000 ekin = 1.39979991832311 | erot = 1.77946415970531 | epot = -11.3130477549902 | etot = -8.13378367696177 +908000 ekin = 1.43268044809292 | erot = 1.76253539552682 | epot = -11.3289995206312 | etot = -8.13378367701141 +909000 ekin = 1.44897967392585 | erot = 1.74341748030413 | epot = -11.3261808311167 | etot = -8.13378367688676 +910000 ekin = 1.44937912518518 | erot = 1.72390580405004 | epot = -11.3070686057931 | etot = -8.13378367655785 +911000 ekin = 1.43727654048153 | erot = 1.70617572376328 | epot = -11.2772359402954 | etot = -8.13378367605061 +912000 ekin = 1.41843448710304 | erot = 1.69263823219248 | epot = -11.2448563947427 | etot = -8.13378367544719 +913000 ekin = 1.40006194636186 | erot = 1.68549440968357 | epot = -11.2193400309129 | etot = -8.1337836748675 +914000 ekin = 1.38958826680245 | erot = 1.68634774644459 | epot = -11.2097196877205 | etot = -8.1337836744735 +915000 ekin = 1.39244842079852 | erot = 1.69595180430484 | epot = -11.2221838995188 | etot = -8.1337836744154 +916000 ekin = 1.41015014913687 | erot = 1.71401831966597 | epot = -11.257952143573 | etot = -8.13378367477015 +917000 ekin = 1.43929629826323 | erot = 1.73916764021605 | epot = -11.3122476139723 | etot = -8.13378367549302 +918000 ekin = 1.4722794295836 | erot = 1.76903078869455 | epot = -11.3750938946781 | etot = -8.1337836764 +919000 ekin = 1.49986621867062 | erot = 1.80052098874725 | epot = -11.4341708846036 | etot = -8.13378367718575 +920000 ekin = 1.51501277168815 | erot = 1.83027923270359 | epot = -11.4790756819828 | etot = -8.13378367759109 +921000 ekin = 1.50567012560593 | erot = 1.85806253143217 | epot = -11.4975163338839 | etot = -8.13378367684584 +922000 ekin = 1.50530570212432 | erot = 1.88405749209565 | epot = -11.5231468708402 | etot = -8.13378367662025 +923000 ekin = 1.51005072163659 | erot = 1.89398296785835 | epot = -11.5378173653492 | etot = -8.13378367585429 +924000 ekin = 1.52928061110808 | erot = 1.89561779723843 | epot = -11.558682083782 | etot = -8.13378367543545 +925000 ekin = 1.56873673242218 | erot = 1.88910082671996 | epot = -11.5916212348592 | etot = -8.13378367571709 +926000 ekin = 1.62371911797747 | erot = 1.87429650796065 | epot = -11.6317993026205 | etot = -8.13378367668236 +927000 ekin = 1.67952368621566 | erot = 1.85068760963458 | epot = -11.663994973807 | etot = -8.13378367795674 +928000 ekin = 1.71651231863953 | erot = 1.81783745906732 | epot = -11.6681334567389 | etot = -8.13378367903208 +929000 ekin = 1.71702542898816 | erot = 1.77614095822328 | epot = -11.6269500667182 | etot = -8.13378367950679 +930000 ekin = 1.67099557122645 | erot = 1.72742889265358 | epot = -11.5322081430821 | etot = -8.13378367920211 +931000 ekin = 1.57874461805286 | erot = 1.67513458336157 | epot = -11.3876628795813 | etot = -8.13378367816685 +932000 ekin = 1.4507920755465 | erot = 1.62392798812581 | epot = -11.2085037402974 | etot = -8.13378367662505 +933000 ekin = 1.30531755369149 | erot = 1.57894109557251 | epot = -11.0180423241588 | etot = -8.13378367489477 +934000 ekin = 1.16422088055465 | erot = 1.54485802719546 | epot = -10.8428625810454 | etot = -8.13378367329525 +935000 ekin = 1.04864497195189 | erot = 1.5250920918049 | epot = -10.7075207359171 | etot = -8.13378367216033 +936000 ekin = 0.974709275907845 | erot = 1.52116328113893 | epot = -10.6296562287295 | etot = -8.13378367168275 +937000 ekin = 0.950462281728795 | erot = 1.53244919754867 | epot = -10.6166951512348 | etot = -8.13378367195737 +938000 ekin = 0.974421294247563 | erot = 1.55616007284456 | epot = -10.6643650400328 | etot = -8.13378367294068 +939000 ekin = 1.03606886914207 | erot = 1.58755449810235 | epot = -10.7574070416974 | etot = -8.13378367445297 +940000 ekin = 1.11826841163644 | erot = 1.62042989252328 | epot = -10.8724819803543 | etot = -8.13378367619459 +941000 ekin = 1.20122028754373 | erot = 1.64794232268583 | epot = -10.9829462880145 | etot = -8.1337836777849 +942000 ekin = 1.26717763871503 | erot = 1.66371924010786 | epot = -11.0646805577046 | etot = -8.1337836788817 +943000 ekin = 1.3050921263636 | erot = 1.66314531322851 | epot = -11.1020211187136 | etot = -8.13378367912151 +944000 ekin = 1.31392378036222 | erot = 1.64449670959754 | epot = -11.0922041684753 | etot = -8.13378367851557 +945000 ekin = 1.30237464583948 | erot = 1.60929976264344 | epot = -11.04545808583 | etot = -8.13378367734709 +946000 ekin = 1.28506402630223 | erot = 1.56181036915073 | epot = -10.9806580715648 | etot = -8.13378367611187 +947000 ekin = 1.27634123347521 | erot = 1.50774431563436 | epot = -10.9178692243886 | etot = -8.133783675279 +948000 ekin = 1.28467886415746 | erot = 1.45281196766794 | epot = -10.8712745068899 | etot = -8.13378367506454 +949000 ekin = 1.31037739981839 | erot = 1.40157240050898 | epot = -10.8457334757007 | etot = -8.13378367537332 +950000 ekin = 1.34722619727445 | erot = 1.35688689258473 | epot = -10.8378967657852 | etot = -8.13378367592597 +951000 ekin = 1.38650860359963 | erot = 1.31991932915849 | epot = -10.8402116091881 | etot = -8.13378367643003 +952000 ekin = 1.42144708600024 | erot = 1.29081153261565 | epot = -10.8460422952464 | etot = -8.13378367663051 +953000 ekin = 1.44882630049243 | erot = 1.26905800932661 | epot = -10.8516679865683 | etot = -8.13378367674927 +954000 ekin = 1.46839021309569 | erot = 1.25288008944085 | epot = -10.8550539791095 | etot = -8.13378367657292 +955000 ekin = 1.48389177819301 | erot = 1.24071488903617 | epot = -10.858390343506 | etot = -8.13378367627686 +956000 ekin = 1.50041048021928 | erot = 1.23152279379181 | epot = -10.8657169500894 | etot = -8.13378367607827 +957000 ekin = 1.52124213198277 | erot = 1.2248104766171 | epot = -10.8798362846954 | etot = -8.13378367609549 +958000 ekin = 1.54632228951779 | erot = 1.22051885586618 | epot = -10.9006248216425 | etot = -8.13378367625849 +959000 ekin = 1.5732429585497 | erot = 1.2189190985513 | epot = -10.9259457334718 | etot = -8.1337836763708 +960000 ekin = 1.59969207484939 | erot = 1.22060655465072 | epot = -10.9540823058879 | etot = -8.13378367638774 +961000 ekin = 1.62253442120938 | erot = 1.22677322860071 | epot = -10.9830913260732 | etot = -8.13378367626306 +962000 ekin = 1.64127230246638 | erot = 1.23851880553052 | epot = -11.0135747841204 | etot = -8.13378367612348 +963000 ekin = 1.65616191530707 | erot = 1.25678968557686 | epot = -11.0467352770293 | etot = -8.13378367614533 +964000 ekin = 1.66566514878509 | erot = 1.28218253465312 | epot = -11.0816313596854 | etot = -8.13378367624715 +965000 ekin = 1.66770285413704 | erot = 1.3145546426696 | epot = -11.1160411733802 | etot = -8.13378367657354 +966000 ekin = 1.65810694801932 | erot = 1.35314679620483 | epot = -11.1450374210337 | etot = -8.13378367680953 +967000 ekin = 1.63401913429882 | erot = 1.39653020162862 | epot = -11.1643330128601 | etot = -8.1337836769327 +968000 ekin = 1.59493849996686 | erot = 1.44254096556363 | epot = -11.1712631425958 | etot = -8.13378367706529 +969000 ekin = 1.54116623449113 | erot = 1.48830566532954 | epot = -11.1632555771591 | etot = -8.13378367733845 +970000 ekin = 1.4719525052895 | erot = 1.53048571058931 | epot = -11.1362218935876 | etot = -8.13378367770882 +971000 ekin = 1.38571362496392 | erot = 1.56593199218658 | epot = -11.0854292947599 | etot = -8.13378367760946 +972000 ekin = 1.28446124080782 | erot = 1.59277024357702 | epot = -11.0110151618351 | etot = -8.13378367745027 +973000 ekin = 1.17320808804033 | erot = 1.61049478778007 | epot = -10.9174865525069 | etot = -8.13378367668655 +974000 ekin = 1.06313421672607 | erot = 1.62023440931496 | epot = -10.8171523014627 | etot = -8.1337836754217 +975000 ekin = 0.970987627773263 | erot = 1.62445058232732 | epot = -10.7292218841971 | etot = -8.13378367409648 +976000 ekin = 0.913517832896917 | erot = 1.62592321152395 | epot = -10.6732247177148 | etot = -8.13378367329392 +977000 ekin = 0.900210296281933 | erot = 1.62660680876215 | epot = -10.6606007784181 | etot = -8.13378367337401 +978000 ekin = 0.928774957734405 | erot = 1.62702793017349 | epot = -10.6895865621565 | etot = -8.13378367424864 +979000 ekin = 0.986309688615544 | erot = 1.62661906277886 | epot = -10.7467124267463 | etot = -8.13378367535186 +980000 ekin = 1.05604184509069 | erot = 1.62477777772944 | epot = -10.8146032989454 | etot = -8.13378367612524 +981000 ekin = 1.12469745172871 | erot = 1.62193499957867 | epot = -10.8804161275922 | etot = -8.13378367628486 +982000 ekin = 1.18655422485744 | erot = 1.61989865506831 | epot = -10.9402365558265 | etot = -8.13378367590075 +983000 ekin = 1.24323393324142 | erot = 1.62138932885757 | epot = -10.9984069373473 | etot = -8.1337836752483 +984000 ekin = 1.30072892338428 | erot = 1.62917854698298 | epot = -11.0636911449926 | etot = -8.13378367462536 +985000 ekin = 1.36575798911899 | erot = 1.64530549626705 | epot = -11.1448471596467 | etot = -8.13378367426062 +986000 ekin = 1.44269014494577 | erot = 1.67060135317286 | epot = -11.2470751724194 | etot = -8.13378367430079 +987000 ekin = 1.53139017700859 | erot = 1.70450616299349 | epot = -11.3696800148167 | etot = -8.13378367481465 +988000 ekin = 1.62542516970506 | erot = 1.74490462806446 | epot = -11.5041134736236 | etot = -8.13378367585409 +989000 ekin = 1.7097331432548 | erot = 1.78758053809196 | epot = -11.6310973585289 | etot = -8.13378367718214 +990000 ekin = 1.7683499056324 | erot = 1.8285480090496 | epot = -11.7306815930646 | etot = -8.13378367838265 +991000 ekin = 1.78717585085268 | erot = 1.86445265595412 | epot = -11.7854121858802 | etot = -8.13378367907336 +992000 ekin = 1.75808068859759 | erot = 1.89344947202214 | epot = -11.7853138396523 | etot = -8.13378367903258 +993000 ekin = 1.68149922524448 | erot = 1.91587778986002 | epot = -11.7311606933815 | etot = -8.13378367827695 +994000 ekin = 1.56634005423023 | erot = 1.93428820616986 | epot = -11.6344119373831 | etot = -8.13378367698301 +995000 ekin = 1.42807354993205 | erot = 1.95281321298946 | epot = -11.5146704383349 | etot = -8.13378367541341 +996000 ekin = 1.28578074359379 | erot = 1.97614374534584 | epot = -11.3957081628235 | etot = -8.1337836738839 +997000 ekin = 1.15849050625869 | erot = 2.00849321119135 | epot = -11.3007673901264 | etot = -8.13378367267635 +998000 ekin = 1.06172554938436 | erot = 2.05288173975883 | epot = -11.248390961091 | etot = -8.13378367194784 +999000 ekin = 1.00534864058225 | erot = 2.1108335144693 | epot = -11.2499658267879 | etot = -8.13378367173635 +1000000 ekin = 0.992888355159924 | erot = 2.18232107200368 | epot = -11.3089930991865 | etot = -8.13378367202294 + 1000000 0.073547286 -1.1520387 0.021139403 -1.0316105 -4.7686302e-05 64000 +Loop time of 16.9184 on 1 procs for 1000000 steps with 10 atoms + +Performance: 51068.728 tau/day, 59107.325 timesteps/s +99.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 | 14.164 | 14.164 | 14.164 | 0.0 | 83.72 +Bond | 0.59031 | 0.59031 | 0.59031 | 0.0 | 3.49 +Neigh | 0.006119 | 0.006119 | 0.006119 | 0.0 | 0.04 +Comm | 0.33057 | 0.33057 | 0.33057 | 0.0 | 1.95 +Output | 0.094999 | 0.094999 | 0.094999 | 0.0 | 0.56 +Modify | 1.4671 | 1.4671 | 1.4671 | 0.0 | 8.67 +Other | | 0.265 | | | 1.57 + +Nlocal: 10.0000 ave 10 max 10 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 0.00000 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 37.0000 ave 37 max 37 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 37 +Ave neighs/atom = 3.7000000 +Ave special neighs/atom = 3.6000000 +Neighbor list builds = 1000 +Dangerous builds = 0 + +write_data last_config.${number}.* nocoeff +write_data last_config.3.* nocoeff +System init for write_data ... +#write_restart last_config.${number}.* +Total wall time: 0:00:16 diff --git a/examples/PACKAGES/cgdna/examples/oxDNA2/duplex3/log.2Jul21.duplex3.g++.4 b/examples/PACKAGES/cgdna/examples/oxDNA2/duplex3/log.2Jul21.duplex3.g++.4 new file mode 100644 index 0000000000..a197afadb9 --- /dev/null +++ b/examples/PACKAGES/cgdna/examples/oxDNA2/duplex3/log.2Jul21.duplex3.g++.4 @@ -0,0 +1,1181 @@ +LAMMPS (2 Jul 2021) +variable number equal 3 +variable ofreq equal 1000 +variable efreq equal 1000 +variable T equal 0.1 +variable rhos equal 0.2 + +units lj + +dimension 3 + +newton on + +boundary p p p + +atom_style hybrid bond ellipsoid oxdna +WARNING: Atom style hybrid defines both, per-type and per-atom masses; both must be set, but only per-atom masses will be used (../atom_vec_hybrid.cpp:157) +atom_modify sort 0 1.0 + +# Pair interactions require lists of neighbours to be calculated +neighbor 2.0 bin +neigh_modify every 1 delay 0 check yes + +read_data data.duplex3 +Reading data file ... + orthogonal box = (-20.000000 -20.000000 -20.000000) to (20.000000 20.000000 20.000000) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 10 atoms + reading velocities ... + 10 velocities + scanning bonds ... + 1 = max bonds/atom + 10 ellipsoids + reading bonds ... + 8 bonds +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 + 2 = max # of 1-3 neighbors + 2 = max # of 1-4 neighbors + 4 = max # of special neighbors + special bonds CPU = 0.001 seconds + read_data CPU = 0.005 seconds + +set atom * mass 1.0 +Setting atom values ... + 10 settings made for mass + +group all type 1 4 +10 atoms in group all + +# oxDNA2 bond interactions - FENE backbone +bond_style oxdna2/fene +bond_coeff * 2.0 0.25 0.7564 +special_bonds lj 0 1 1 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 1 1 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 2 = max # of 1-3 neighbors + 2 = max # of 1-4 neighbors + 4 = max # of special neighbors + special bonds CPU = 0.000 seconds + +# oxDNA2 pair interactions +pair_style hybrid/overlay oxdna2/excv oxdna2/stk oxdna2/hbond oxdna2/xstk oxdna2/coaxstk oxdna2/dh +pair_coeff * * oxdna2/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32 +pair_coeff * * oxdna2/stk seqdep ${T} 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 +pair_coeff * * oxdna2/stk seqdep 0.1 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 +pair_coeff * * oxdna2/hbond seqdep 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 1 4 oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 2 3 oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff * * oxdna2/xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68 +pair_coeff * * oxdna2/coaxstk 58.5 0.4 0.6 0.22 0.58 2.0 2.891592653589793 0.65 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 40.0 3.116592653589793 +pair_coeff * * oxdna2/dh ${T} ${rhos} 0.815 +pair_coeff * * oxdna2/dh 0.1 ${rhos} 0.815 +pair_coeff * * oxdna2/dh 0.1 0.2 0.815 + +# NVE ensemble +fix 1 all nve/asphere +#fix 2 all langevin ${T} ${T} 2.5 457145 angmom 10 + +timestep 1e-5 + +#comm_style tiled +fix 3 all balance 1000 1.03 shift xyz 10 1.03 +comm_modify cutoff 3.8 + +compute quat all property/atom quatw quati quatj quatk + +compute erot all erotate/asphere +compute ekin all ke +compute epot all pe +variable erot equal c_erot +variable ekin equal c_ekin +variable epot equal c_epot +variable etot equal c_erot+c_ekin+c_epot +fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes +fix 5 all print 1000 "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes + +dump out all custom ${ofreq} out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump out all custom 1000 out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump out all custom 1000 out.3.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump_modify out sort id +dump_modify out format line "%d %d %d %22.15le %22.15le %22.15le %d %d %d %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le" + +run 1000000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 5.6389877 + ghost atom cutoff = 5.6389877 + binsize = 2.8194939, bins = 15 15 15 + 5 neighbor lists, perpetual/occasional/extra = 5 0 0 + (1) pair oxdna2/excv, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard + (2) pair oxdna2/hbond, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none + (3) pair oxdna2/xstk, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none + (4) pair oxdna2/coaxstk, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none + (5) pair oxdna2/dh, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none +WARNING: Communication cutoff adjusted to 5.638987723814632 (../comm.cpp:739) +0 ekin = 1.18025158324274 | erot = 2.17908479136507 | epot = -11.4931199991265 | etot = -8.13378362451868 +Per MPI rank memory allocation (min/avg/max) = 9.194 | 9.195 | 9.196 Mbytes +Step Temp E_pair E_mol TotEng Press Volume + 0 0.087426043 -1.2259004 0.076588446 -1.0312868 -7.7802026e-06 64000 +1000 ekin = 1.08696491147664 | erot = 2.23197650714075 | epot = -11.452725042513 | etot = -8.13378362389561 +2000 ekin = 1.01265115460251 | erot = 2.29132031278141 | epot = -11.4377550908153 | etot = -8.13378362343137 +3000 ekin = 0.964951920610342 | erot = 2.35614244814783 | epot = -11.4548779921655 | etot = -8.13378362340729 +4000 ekin = 0.945861179227058 | erot = 2.42482489276793 | epot = -11.5044696957622 | etot = -8.13378362376717 +5000 ekin = 0.952186940161504 | erot = 2.49508744948286 | epot = -11.5810580140497 | etot = -8.13378362440532 +6000 ekin = 0.976836955567211 | erot = 2.56435791368455 | epot = -11.6749784943528 | etot = -8.13378362510108 +7000 ekin = 1.01151727363089 | erot = 2.63034980765841 | epot = -11.7756507069157 | etot = -8.13378362562635 +8000 ekin = 1.04963768886881 | erot = 2.69159648304403 | epot = -11.8750177977506 | etot = -8.13378362583779 +9000 ekin = 1.08831406483909 | erot = 2.7476875765064 | epot = -11.9697852671577 | etot = -8.13378362581222 +10000 ekin = 1.1276989465442 | erot = 2.79881902231421 | epot = -12.0603015945015 | etot = -8.13378362564307 +11000 ekin = 1.16997706279087 | erot = 2.84539220453503 | epot = -12.1491528928088 | etot = -8.13378362548286 +12000 ekin = 1.21772825403559 | erot = 2.88753582693542 | epot = -12.2390477064188 | etot = -8.13378362544779 +13000 ekin = 1.27247277648631 | erot = 2.92478423931377 | epot = -12.3310406413903 | etot = -8.13378362559027 +14000 ekin = 1.33384628320076 | erot = 2.95599632290761 | epot = -12.4236262320194 | etot = -8.13378362591099 +15000 ekin = 1.39936071611668 | erot = 2.97947113417331 | epot = -12.5126154766852 | etot = -8.13378362639519 +16000 ekin = 1.46443870928027 | erot = 2.99312358077428 | epot = -12.5913459174141 | etot = -8.13378362735951 +17000 ekin = 1.52113741921511 | erot = 2.99430260105833 | epot = -12.6492236482457 | etot = -8.13378362797221 +18000 ekin = 1.56143918576788 | erot = 2.98098620608842 | epot = -12.6762090203243 | etot = -8.13378362846798 +19000 ekin = 1.57873438318795 | erot = 2.95206674454555 | epot = -12.6645847564925 | etot = -8.13378362875896 +20000 ekin = 1.5684134805379 | erot = 2.90735147312956 | epot = -12.6095485824457 | etot = -8.13378362877826 +21000 ekin = 1.52886464109306 | erot = 2.84765291368977 | epot = -12.5103011832755 | etot = -8.13378362849271 +22000 ekin = 1.46209217703486 | erot = 2.77478397647197 | epot = -12.3706597813888 | etot = -8.13378362788196 +23000 ekin = 1.37376733102671 | erot = 2.69155728313726 | epot = -12.19910824124 | etot = -8.13378362707598 +24000 ekin = 1.2726210989079 | erot = 2.60118350194755 | epot = -12.0075882269999 | etot = -8.13378362614448 +25000 ekin = 1.16926502294374 | erot = 2.50703692695189 | epot = -11.8100855751045 | etot = -8.13378362520882 +26000 ekin = 1.0747148994514 | erot = 2.41235840152813 | epot = -11.6208569253575 | etot = -8.13378362437793 +27000 ekin = 0.998982995755802 | erot = 2.31997753232675 | epot = -11.4527441518068 | etot = -8.13378362372427 +28000 ekin = 0.950065052892287 | erot = 2.23215621537587 | epot = -11.3160048915418 | etot = -8.13378362327369 +29000 ekin = 0.933483801722537 | erot = 2.15056100102974 | epot = -11.2178284257647 | etot = -8.13378362301238 +30000 ekin = 0.952335164335975 | erot = 2.07633501131221 | epot = -11.1624537985557 | etot = -8.13378362290752 +31000 ekin = 1.00761822011308 | erot = 2.01025995539433 | epot = -11.1516617984318 | etot = -8.13378362292438 +32000 ekin = 1.0985902731647 | erot = 1.95287201474931 | epot = -11.1852459109706 | etot = -8.13378362305661 +33000 ekin = 1.22296348257683 | erot = 1.90442653272443 | epot = -11.2611736386123 | etot = -8.13378362331101 +34000 ekin = 1.37683793249572 | erot = 1.86498336105431 | epot = -11.3756049172809 | etot = -8.13378362373086 +35000 ekin = 1.55422271443446 | erot = 1.83436013830194 | epot = -11.5223664771472 | etot = -8.13378362441081 +36000 ekin = 1.74589607048132 | erot = 1.81205442227468 | epot = -11.6917341182487 | etot = -8.13378362549269 +37000 ekin = 1.93777565280851 | erot = 1.79705197600555 | epot = -11.8686112558402 | etot = -8.13378362702612 +38000 ekin = 2.11051089015033 | erot = 1.78782890330243 | epot = -12.0321234221669 | etot = -8.13378362871418 +39000 ekin = 2.243214825885 | erot = 1.78271510837241 | epot = -12.1597135641246 | etot = -8.13378362986722 +40000 ekin = 2.32146151921631 | erot = 1.78073283005134 | epot = -12.2359779791649 | etot = -8.13378362989725 +41000 ekin = 2.34386750101373 | erot = 1.78241563043123 | epot = -12.2600667603299 | etot = -8.13378362888493 +42000 ekin = 2.32118218527075 | erot = 1.78979050959087 | epot = -12.2447563223398 | etot = -8.13378362747816 +43000 ekin = 2.26309111555125 | erot = 1.80539262076482 | epot = -12.2022673943963 | etot = -8.13378365808021 +44000 ekin = 2.15856242114809 | erot = 1.84609032619615 | epot = -12.1384363880308 | etot = -8.13378364068658 +45000 ekin = 2.08936731003487 | erot = 1.88904724563043 | epot = -12.1121981822921 | etot = -8.13378362662681 +46000 ekin = 1.99646115970022 | erot = 1.93503982400429 | epot = -12.0652846104763 | etot = -8.1337836267718 +47000 ekin = 1.89712577412015 | erot = 1.98806984898585 | epot = -12.0189792501524 | etot = -8.13378362704636 +48000 ekin = 1.79036864863072 | erot = 2.04496273496234 | epot = -11.9691150108766 | etot = -8.13378362728355 +49000 ekin = 1.67630116263911 | erot = 2.10216327906906 | epot = -11.9122480690704 | etot = -8.13378362736221 +50000 ekin = 1.55727015247045 | erot = 2.15637892895976 | epot = -11.8474327086503 | etot = -8.13378362722008 +51000 ekin = 1.4381743370913 | erot = 2.20514040032689 | epot = -11.7770983642844 | etot = -8.13378362686622 +52000 ekin = 1.32596547232163 | erot = 2.24710946474999 | epot = -11.7068585634504 | etot = -8.13378362637881 +53000 ekin = 1.22848082922903 | erot = 2.28204759210372 | epot = -11.6443120472107 | etot = -8.13378362587798 +54000 ekin = 1.15295119316259 | erot = 2.3104993393988 | epot = -11.5972341580452 | etot = -8.13378362548376 +55000 ekin = 1.10463170766313 | erot = 2.33334681406831 | epot = -11.571762147013 | etot = -8.13378362528157 +56000 ekin = 1.08590799517315 | erot = 2.35139880092321 | epot = -11.5710904214037 | etot = -8.13378362530734 +57000 ekin = 1.09599893485478 | erot = 2.36511154450522 | epot = -11.5948941049138 | etot = -8.1337836255538 +58000 ekin = 1.13119803470991 | erot = 2.37445830578809 | epot = -11.6394399664723 | etot = -8.13378362597432 +59000 ekin = 1.18549837183894 | erot = 2.37891691863227 | epot = -11.6981989169902 | etot = -8.13378362651899 +60000 ekin = 1.25136230662749 | erot = 2.37755306615245 | epot = -11.7626989998987 | etot = -8.13378362711876 +61000 ekin = 1.32065657328793 | erot = 2.3691782337931 | epot = -11.8236184347914 | etot = -8.13378362771039 +62000 ekin = 1.38555350991065 | erot = 2.35258911579053 | epot = -11.8719262538941 | etot = -8.13378362819294 +63000 ekin = 1.43966787267647 | erot = 2.32682848519598 | epot = -11.9002799863551 | etot = -8.13378362848263 +64000 ekin = 1.47909503438172 | erot = 2.29144993715399 | epot = -11.9043286000692 | etot = -8.13378362853349 +65000 ekin = 1.50288049774094 | erot = 2.24670960905117 | epot = -11.8833737351503 | etot = -8.13378362835817 +66000 ekin = 1.51274507599017 | erot = 2.19359684183002 | epot = -11.8401255458511 | etot = -8.13378362803096 +67000 ekin = 1.51208659633012 | erot = 2.13371356874814 | epot = -11.7795837927186 | etot = -8.13378362764037 +68000 ekin = 1.50462166617941 | erot = 2.06904733139783 | epot = -11.7074526249094 | etot = -8.13378362733216 +69000 ekin = 1.49293889166146 | erot = 2.00167765430525 | epot = -11.6284001731037 | etot = -8.13378362713704 +70000 ekin = 1.47793621174629 | erot = 1.9336121006037 | epot = -11.5453319394057 | etot = -8.13378362705566 +71000 ekin = 1.45891349102836 | erot = 1.86670994694693 | epot = -11.4594070650147 | etot = -8.13378362703941 +72000 ekin = 1.43427842101617 | erot = 1.80270883809016 | epot = -11.3707708861217 | etot = -8.13378362701539 +73000 ekin = 1.40258583891027 | erot = 1.74331039193086 | epot = -11.2796798577523 | etot = -8.13378362691117 +74000 ekin = 1.36359371155278 | erot = 1.69025647754913 | epot = -11.1876338157824 | etot = -8.13378362668049 +75000 ekin = 1.31886252565211 | erot = 1.64533820718023 | epot = -11.0979843591719 | etot = -8.13378362633955 +76000 ekin = 1.2718169277375 | erot = 1.61030043593589 | epot = -11.0159009896016 | etot = -8.13378362592821 +77000 ekin = 1.22767338921997 | erot = 1.58670952555607 | epot = -10.9481665402837 | etot = -8.13378362550769 +78000 ekin = 1.1918742588196 | erot = 1.57555521121131 | epot = -10.9012130952119 | etot = -8.13378362518096 +79000 ekin = 1.16922470588802 | erot = 1.57716601534091 | epot = -10.8801743462043 | etot = -8.13378362497538 +80000 ekin = 1.16351312193714 | erot = 1.5911285277542 | epot = -10.8884252746037 | etot = -8.13378362491238 +81000 ekin = 1.17709123428917 | erot = 1.61633850893099 | epot = -10.9272133682122 | etot = -8.13378362499208 +82000 ekin = 1.21064005584001 | erot = 1.65118762576698 | epot = -10.9956113068163 | etot = -8.13378362520929 +83000 ekin = 1.26297331742712 | erot = 1.69382675572852 | epot = -11.0905836987111 | etot = -8.1337836255555 +84000 ekin = 1.33092648687644 | erot = 1.74243133123679 | epot = -11.2071414441145 | etot = -8.13378362600128 +85000 ekin = 1.40961218427353 | erot = 1.79540640337827 | epot = -11.3388022141306 | etot = -8.13378362647884 +86000 ekin = 1.49330005467918 | erot = 1.85150064414015 | epot = -11.4785843257055 | etot = -8.13378362688614 +87000 ekin = 1.576533807167 | erot = 1.90982169886832 | epot = -11.6201391333941 | etot = -8.13378362735875 +88000 ekin = 1.65416408678852 | erot = 1.96971725895491 | epot = -11.7576649732587 | etot = -8.13378362751531 +89000 ekin = 1.72360216634173 | erot = 2.0305593433754 | epot = -11.8879451373051 | etot = -8.13378362758797 +90000 ekin = 1.78500984589386 | erot = 2.09126219979614 | epot = -12.0100556734368 | etot = -8.1337836277468 +91000 ekin = 1.83789001415873 | erot = 2.15001837237371 | epot = -12.1216920145423 | etot = -8.13378362800981 +92000 ekin = 1.87517809322855 | erot = 2.20985483887557 | epot = -12.2188165602807 | etot = -8.13378362817655 +93000 ekin = 1.90356384535066 | erot = 2.2620490304799 | epot = -12.2993965046582 | etot = -8.13378362882767 +94000 ekin = 1.91566641673035 | erot = 2.30892488078309 | epot = -12.3583749263617 | etot = -8.13378362884821 +95000 ekin = 1.91095769383997 | erot = 2.34997522030035 | epot = -12.3947165431016 | etot = -8.13378362896126 +96000 ekin = 1.88948402498892 | erot = 2.38411475951092 | epot = -12.4073824132812 | etot = -8.13378362878136 +97000 ekin = 1.8534381113389 | erot = 2.4113304629225 | epot = -12.3985522027172 | etot = -8.13378362845576 +98000 ekin = 1.80684275230266 | erot = 2.43203206054847 | epot = -12.3726584408919 | etot = -8.1337836280408 +99000 ekin = 1.75478641123165 | erot = 2.44692977736858 | epot = -12.3354998162076 | etot = -8.13378362760738 +100000 ekin = 1.69590911435643 | erot = 2.45386958409513 | epot = -12.283562384886 | etot = -8.13378368643445 +101000 ekin = 1.6811324937538 | erot = 2.36572534112421 | epot = -12.1806414642157 | etot = -8.13378362933768 +102000 ekin = 1.72678565900148 | erot = 2.35051337712506 | epot = -12.2110826965911 | etot = -8.13378366046458 +103000 ekin = 1.68338599487686 | erot = 2.35411811039608 | epot = -12.1712877656954 | etot = -8.13378366042246 +104000 ekin = 1.64323586412835 | erot = 2.35701648102718 | epot = -12.1340360056525 | etot = -8.13378366049693 +105000 ekin = 1.60584113472038 | erot = 2.35932964102244 | epot = -12.0989544363536 | etot = -8.13378366061083 +106000 ekin = 1.57044138011792 | erot = 2.36092776943215 | epot = -12.0651528102269 | etot = -8.13378366067683 +107000 ekin = 1.53705400250956 | erot = 2.36166253248183 | epot = -12.0325001956586 | etot = -8.13378366066723 +108000 ekin = 1.50696391591104 | erot = 2.3612855734918 | epot = -12.002033149985 | etot = -8.13378366058219 +109000 ekin = 1.48244426546626 | erot = 2.35938088270983 | epot = -11.9756088087055 | etot = -8.13378366052944 +110000 ekin = 1.46539913148031 | erot = 2.35530683146138 | epot = -11.9544896235797 | etot = -8.13378366063801 +111000 ekin = 1.45548748017558 | erot = 2.3481806560607 | epot = -11.9374517972408 | etot = -8.13378366100448 +112000 ekin = 1.4487272961288 | erot = 2.3369554826693 | epot = -11.919466440375 | etot = -8.13378366157695 +113000 ekin = 1.43805495586415 | erot = 2.32068695509381 | epot = -11.8925255730874 | etot = -8.13378366212947 +114000 ekin = 1.41640788690795 | erot = 2.29883886662097 | epot = -11.8490304158908 | etot = -8.13378366236189 +115000 ekin = 1.38063781822003 | erot = 2.2715321857329 | epot = -11.7859536655159 | etot = -8.13378366156294 +116000 ekin = 1.33630540308347 | erot = 2.23942220246118 | epot = -11.7095112666476 | etot = -8.13378366110297 +117000 ekin = 1.29001229198257 | erot = 2.20380811829898 | epot = -11.6276040708685 | etot = -8.13378366058698 +118000 ekin = 1.24711548834684 | erot = 2.16635124019896 | epot = -11.547250388778 | etot = -8.13378366023218 +119000 ekin = 1.21073685469405 | erot = 2.12872161390259 | epot = -11.4732421286718 | etot = -8.13378366007513 +120000 ekin = 1.18115748419431 | erot = 2.09256534610062 | epot = -11.4075064903308 | etot = -8.13378366003586 +121000 ekin = 1.15688642101089 | erot = 2.05947511288393 | epot = -11.3501451939318 | etot = -8.13378366003694 +122000 ekin = 1.13593168276758 | erot = 2.03084061403904 | epot = -11.300555956866 | etot = -8.13378366005934 +123000 ekin = 1.1163881196593 | erot = 2.00761097209062 | epot = -11.2577827519207 | etot = -8.13378366017078 +124000 ekin = 1.09616325371728 | erot = 1.99019695902079 | epot = -11.2201438730119 | etot = -8.13378366027383 +125000 ekin = 1.07358508996113 | erot = 1.97820026039375 | epot = -11.1855690107833 | etot = -8.13378366042845 +126000 ekin = 1.04712198978478 | erot = 1.97030937007251 | epot = -11.1512150205178 | etot = -8.13378366066049 +127000 ekin = 1.01560359550503 | erot = 1.96476336054365 | epot = -11.1141506168029 | etot = -8.1337836607542 +128000 ekin = 0.979281846651978 | erot = 1.95990906194981 | epot = -11.0729745693078 | etot = -8.133783660706 +129000 ekin = 0.940294043229548 | erot = 1.95428772921589 | epot = -11.0283654329015 | etot = -8.1337836604561 +130000 ekin = 0.902735823606936 | erot = 1.947100477648 | epot = -10.9836199613555 | etot = -8.13378366010058 +131000 ekin = 0.872329759139433 | erot = 1.93820575526869 | epot = -10.9443191739575 | etot = -8.1337836595494 +132000 ekin = 0.855045600562102 | erot = 1.92803271303728 | epot = -10.9168619728701 | etot = -8.1337836592707 +133000 ekin = 0.854775562822548 | erot = 1.91694878881008 | epot = -10.9055080107093 | etot = -8.13378365907667 +134000 ekin = 0.873981086379087 | erot = 1.90549522489496 | epot = -10.9132599702542 | etot = -8.13378365898011 +135000 ekin = 0.913690181742188 | erot = 1.89429118508561 | epot = -10.9417650257953 | etot = -8.1337836589675 +136000 ekin = 0.973734451666194 | erot = 1.8839532178428 | epot = -10.9914713285366 | etot = -8.13378365902762 +137000 ekin = 1.05255313136017 | erot = 1.87488800080408 | epot = -11.0612247920069 | etot = -8.13378365984268 +138000 ekin = 1.14435249948622 | erot = 1.86626897212079 | epot = -11.1444051316866 | etot = -8.13378366007961 +139000 ekin = 1.24448357091432 | erot = 1.85821435006774 | epot = -11.2364815813249 | etot = -8.13378366034282 +140000 ekin = 1.34860347563852 | erot = 1.85113522079134 | epot = -11.3335223570946 | etot = -8.13378366066476 +141000 ekin = 1.45162669266417 | erot = 1.84534635451933 | epot = -11.4307567082686 | etot = -8.13378366108508 +142000 ekin = 1.54663919844615 | erot = 1.84103156950911 | epot = -11.5214544297506 | etot = -8.13378366179533 +143000 ekin = 1.6247011023952 | erot = 1.83813053702612 | epot = -11.5966153018878 | etot = -8.13378366246652 +144000 ekin = 1.67710589256394 | erot = 1.83622813336412 | epot = -11.6471176890273 | etot = -8.13378366309928 +145000 ekin = 1.69650852159151 | erot = 1.83477115527455 | epot = -11.6650633403362 | etot = -8.13378366347012 +146000 ekin = 1.67998250270751 | erot = 1.83334306418687 | epot = -11.6471092301937 | etot = -8.13378366329936 +147000 ekin = 1.63255928725608 | erot = 1.83204496823004 | epot = -11.5983879178797 | etot = -8.13378366239362 +148000 ekin = 1.56926257377557 | erot = 1.83182914755798 | epot = -11.5348753821899 | etot = -8.13378366085638 +149000 ekin = 1.51300824977863 | erot = 1.83452727994331 | epot = -11.4813191889272 | etot = -8.13378365920525 +150000 ekin = 1.48724963784866 | erot = 1.84235837448582 | epot = -11.4633916705196 | etot = -8.13378365818515 +151000 ekin = 1.5061932382316 | erot = 1.85697474829986 | epot = -11.496951644838 | etot = -8.13378365830658 +152000 ekin = 1.56855992602772 | erot = 1.87847282638524 | epot = -11.5808164119039 | etot = -8.13378365949099 +153000 ekin = 1.6591448964677 | erot = 1.90493735115943 | epot = -11.697865908774 | etot = -8.13378366114692 +154000 ekin = 1.75680978950899 | erot = 1.93282846213588 | epot = -11.8234219142239 | etot = -8.133783662579 +155000 ekin = 1.84344901658549 | erot = 1.95802697046865 | epot = -11.9352596504351 | etot = -8.13378366338094 +156000 ekin = 1.90893795388493 | erot = 1.97697594926094 | epot = -12.0196975667227 | etot = -8.13378366357679 +157000 ekin = 1.95061494385915 | erot = 1.9873851243352 | epot = -12.0717837316318 | etot = -8.13378366343743 +158000 ekin = 1.96976178337645 | erot = 1.9883744718149 | epot = -12.091919918361 | etot = -8.13378366316969 +159000 ekin = 1.96892634677104 | erot = 1.98033790354824 | epot = -12.0830479131009 | etot = -8.13378366278165 +160000 ekin = 1.95167601805768 | erot = 1.96478101829964 | epot = -12.0502406985796 | etot = -8.13378366222225 +161000 ekin = 1.92323849263564 | erot = 1.94408396543497 | epot = -12.0011061196151 | etot = -8.13378366154445 +162000 ekin = 1.8901278513965 | erot = 1.92106669306924 | epot = -11.9449782053576 | etot = -8.13378366089191 +163000 ekin = 1.85873206626091 | erot = 1.89844726529898 | epot = -11.8909629919499 | etot = -8.13378366038998 +164000 ekin = 1.83396756863653 | erot = 1.87841814938188 | epot = -11.8461693781051 | etot = -8.1337836600867 +165000 ekin = 1.818736578138 | erot = 1.86247026312254 | epot = -11.8149905012176 | etot = -8.13378365995705 +166000 ekin = 1.81415764355048 | erot = 1.85144128795262 | epot = -11.799382591449 | etot = -8.13378365994594 +167000 ekin = 1.82014338462565 | erot = 1.84569577974701 | epot = -11.7996228243641 | etot = -8.13378365999149 +168000 ekin = 1.8360497359111 | erot = 1.84534918673544 | epot = -11.8151825826915 | etot = -8.13378366004491 +169000 ekin = 1.8611880780384 | erot = 1.8504776642993 | epot = -11.845449402414 | etot = -8.13378366007634 +170000 ekin = 1.89508209491969 | erot = 1.8612760074506 | epot = -11.8901417624545 | etot = -8.13378366008421 +171000 ekin = 1.93739070093696 | erot = 1.87813927221188 | epot = -11.949313633246 | etot = -8.1337836600972 +172000 ekin = 1.98746465492625 | erot = 1.90165699566223 | epot = -12.0229053107604 | etot = -8.13378366017191 +173000 ekin = 2.0435873226069 | erot = 1.93252470914531 | epot = -12.1098956921186 | etot = -8.13378366036636 +174000 ekin = 2.10212586880676 | erot = 1.97139111366206 | epot = -12.2073006432572 | etot = -8.13378366078839 +175000 ekin = 2.15653164019917 | erot = 2.0186862399753 | epot = -12.3090015416391 | etot = -8.13378366146463 +176000 ekin = 2.19700590631335 | erot = 2.0744451769465 | epot = -12.4052347456362 | etot = -8.1337836623764 +177000 ekin = 2.21275117726769 | erot = 2.13809655452378 | epot = -12.4846313951125 | etot = -8.13378366332099 +178000 ekin = 2.19103084137828 | erot = 2.20849637361952 | epot = -12.5333108794538 | etot = -8.13378366445596 +179000 ekin = 2.05002958755744 | erot = 2.2764749240598 | epot = -12.4602881626295 | etot = -8.13378365101223 +180000 ekin = 2.00100366281057 | erot = 2.36086155180657 | epot = -12.4956488860912 | etot = -8.13378367147401 +181000 ekin = 1.82885344502769 | erot = 2.44444025932807 | epot = -12.4070773745346 | etot = -8.13378367017883 +182000 ekin = 1.62724610560531 | erot = 2.53221325513969 | epot = -12.2932430288223 | etot = -8.13378366807729 +183000 ekin = 1.42880501135615 | erot = 2.62540058534439 | epot = -12.1879892625424 | etot = -8.13378366584191 +184000 ekin = 1.267149628321 | erot = 2.7256198185053 | epot = -12.1265531111189 | etot = -8.13378366429257 +185000 ekin = 1.16606552757999 | erot = 2.8336645073234 | epot = -12.1335136988434 | etot = -8.13378366393999 +186000 ekin = 1.13327188784992 | erot = 2.94811459460617 | epot = -12.2151701472133 | etot = -8.13378366475719 +187000 ekin = 1.16127663962737 | erot = 3.06454091657788 | epot = -12.3596012225496 | etot = -8.13378366634434 +188000 ekin = 1.2327579922885 | erot = 3.17578119614224 | epot = -12.5423228566653 | etot = -8.13378366823452 +189000 ekin = 1.32637276316298 | erot = 3.27316596760534 | epot = -12.7333224008259 | etot = -8.13378367005761 +190000 ekin = 1.42100795809019 | erot = 3.34817980173611 | epot = -12.902971431372 | etot = -8.13378367154568 +191000 ekin = 1.49794111550009 | erot = 3.39410379075282 | epot = -13.0258285788627 | etot = -8.13378367260982 +192000 ekin = 1.5426215667976 | erot = 3.40720165429128 | epot = -13.0836068940668 | etot = -8.13378367297792 +193000 ekin = 1.54797240883541 | erot = 3.38715231466011 | epot = -13.0689083961188 | etot = -8.13378367262329 +194000 ekin = 1.51467582661435 | erot = 3.33705387754585 | epot = -12.9855133757546 | etot = -8.13378367159441 +195000 ekin = 1.45101621748176 | erot = 3.26269312885055 | epot = -12.8474930164449 | etot = -8.13378367011259 +196000 ekin = 1.37083042970682 | erot = 3.17132041678729 | epot = -12.6759345149981 | etot = -8.133783668504 +197000 ekin = 1.29009120536618 | erot = 3.0703626593562 | epot = -12.4942375317725 | etot = -8.13378366705012 +198000 ekin = 1.22364196643859 | erot = 2.96652382643828 | epot = -12.3239494587807 | etot = -8.13378366590384 +199000 ekin = 1.18307710083175 | erot = 2.865421442176 | epot = -12.1822822081278 | etot = -8.13378366512006 +200000 ekin = 1.1756434095187 | erot = 2.77158698378605 | epot = -12.0810140580283 | etot = -8.13378366472354 +201000 ekin = 1.20359619391725 | erot = 2.6885691853706 | epot = -12.0259490440283 | etot = -8.13378366474049 +202000 ekin = 1.26374726413798 | erot = 2.61894189739959 | epot = -12.016472826716 | etot = -8.13378366517838 +203000 ekin = 1.34751597563146 | erot = 2.56419616426373 | epot = -12.0454958058707 | etot = -8.13378366597546 +204000 ekin = 1.44203337890041 | erot = 2.52468734318871 | epot = -12.1005043890645 | etot = -8.1337836669754 +205000 ekin = 1.53246038205392 | erot = 2.49972903140467 | epot = -12.165973081407 | etot = -8.13378366794836 +206000 ekin = 1.60510558525696 | erot = 2.48793425280246 | epot = -12.2268235067222 | etot = -8.13378366866277 +207000 ekin = 1.65039556723175 | erot = 2.48771410987715 | epot = -12.2718933460776 | etot = -8.13378366896866 +208000 ekin = 1.66471924263863 | erot = 2.49772662877183 | epot = -12.2962295402585 | etot = -8.133783668848 +209000 ekin = 1.65060780281959 | erot = 2.51706178773879 | epot = -12.3014532589743 | etot = -8.13378366841589 +210000 ekin = 1.61529613530122 | erot = 2.54506818372099 | epot = -12.2941479869024 | etot = -8.13378366788021 +211000 ekin = 1.56815998339919 | erot = 2.58088870847282 | epot = -12.2828323593496 | etot = -8.13378366747755 +212000 ekin = 1.51779769211956 | erot = 2.62289115840002 | epot = -12.2744725179137 | etot = -8.13378366739415 +213000 ekin = 1.46970697786419 | erot = 2.66822787294325 | epot = -12.2717185184992 | etot = -8.13378366769171 +214000 ekin = 1.42551121611962 | erot = 2.71271314915558 | epot = -12.272008033447 | etot = -8.1337836681718 +215000 ekin = 1.38449526701816 | erot = 2.75113858809818 | epot = -12.2694175238344 | etot = -8.13378366871808 +216000 ekin = 1.34611450510728 | erot = 2.77818905444589 | epot = -12.2580872284521 | etot = -8.13378366889897 +217000 ekin = 1.3134815281203 | erot = 2.78964053187616 | epot = -12.236905728556 | etot = -8.13378366855957 +218000 ekin = 1.2945863991961 | erot = 2.7831914510908 | epot = -12.2115615182405 | etot = -8.13378366795361 +219000 ekin = 1.29978448123296 | erot = 2.75785865494158 | epot = -12.191426803609 | etot = -8.13378366743447 +220000 ekin = 1.33694784981974 | erot = 2.71363634301879 | epot = -12.1843678601796 | etot = -8.13378366734106 +221000 ekin = 1.4074564392132 | erot = 2.65092088134167 | epot = -12.1921609882732 | etot = -8.13378366771838 +222000 ekin = 1.50572252626187 | erot = 2.57029476952172 | epot = -12.2098009641054 | etot = -8.13378366832179 +223000 ekin = 1.62210843375939 | erot = 2.4728900733397 | epot = -12.2287821759292 | etot = -8.13378366883007 +224000 ekin = 1.74679393023034 | erot = 2.36097135919196 | epot = -12.2415489584556 | etot = -8.13378366903332 +225000 ekin = 1.87205636330007 | erot = 2.23842454190366 | epot = -12.2442645742128 | etot = -8.13378366900908 +226000 ekin = 1.99134598106675 | erot = 2.11064622098247 | epot = -12.2357758711282 | etot = -8.13378366907897 +227000 ekin = 2.09586639151636 | erot = 1.98364704051012 | epot = -12.2132971015565 | etot = -8.13378366953 +228000 ekin = 2.17197666667354 | erot = 1.86293503717618 | epot = -12.1686953741892 | etot = -8.1337836703395 +229000 ekin = 2.20263173192525 | erot = 1.75265294154551 | epot = -12.0890683445884 | etot = -8.13378367111765 +230000 ekin = 2.17321554606792 | erot = 1.65532359970698 | epot = -11.9623228171272 | etot = -8.13378367135228 +231000 ekin = 2.07854920573096 | erot = 1.57213281486555 | epot = -11.7844656913339 | etot = -8.1337836707374 +232000 ekin = 1.92671195021847 | erot = 1.50340464294684 | epot = -11.5639002625302 | etot = -8.13378366936492 +233000 ekin = 1.73729705955971 | erot = 1.44896834770108 | epot = -11.3200490749305 | etot = -8.13378366766967 +234000 ekin = 1.53556953354756 | erot = 1.40834045937372 | epot = -11.0776936590018 | etot = -8.1337836660805 +235000 ekin = 1.34558700580146 | erot = 1.38078818073773 | epot = -10.8601588514738 | etot = -8.13378366493464 +236000 ekin = 1.18525206422628 | erot = 1.36570263210282 | epot = -10.6847383605462 | etot = -8.13378366421707 +237000 ekin = 1.06637029724417 | erot = 1.36251012102743 | epot = -10.5626640820868 | etot = -8.13378366381525 +238000 ekin = 0.995491212022236 | erot = 1.37070429771324 | epot = -10.4999791734002 | etot = -8.13378366366477 +239000 ekin = 0.975031518633231 | erot = 1.38971384126842 | epot = -10.4985290236714 | etot = -8.13378366376973 +240000 ekin = 1.00352423904904 | erot = 1.41866034024213 | epot = -10.5559682434651 | etot = -8.13378366417394 +241000 ekin = 1.07556704774416 | erot = 1.45612900246819 | epot = -10.6654797151307 | etot = -8.13378366491832 +242000 ekin = 1.18122375067533 | erot = 1.49994629855508 | epot = -10.8149537152557 | etot = -8.13378366602531 +243000 ekin = 1.30634294707673 | erot = 1.54703331020128 | epot = -10.9871599246195 | etot = -8.13378366734153 +244000 ekin = 1.43466609576387 | erot = 1.59374373480315 | epot = -11.1621934990229 | etot = -8.13378366845588 +245000 ekin = 1.55091944171472 | erot = 1.63606515904766 | epot = -11.3207682704767 | etot = -8.13378366971433 +246000 ekin = 1.63963426714789 | erot = 1.67091688012884 | epot = -11.4443348179141 | etot = -8.13378367063734 +247000 ekin = 1.68912292676274 | erot = 1.69643192578783 | epot = -11.519338523591 | etot = -8.13378367104043 +248000 ekin = 1.69418623366615 | erot = 1.71223298155225 | epot = -11.5402028860562 | etot = -8.13378367083777 +249000 ekin = 1.65708464250019 | erot = 1.71943097162832 | epot = -11.510299284324 | etot = -8.13378367019547 +250000 ekin = 1.58639864685258 | erot = 1.720159822896 | epot = -11.4403421388633 | etot = -8.13378366911475 +251000 ekin = 1.4955593640759 | erot = 1.7171607244027 | epot = -11.3465037564439 | etot = -8.13378366796528 +252000 ekin = 1.39930346630535 | erot = 1.71298107622824 | epot = -11.2460682095265 | etot = -8.13378366699295 +253000 ekin = 1.31034898359087 | erot = 1.7094909345967 | epot = -11.1536235845393 | etot = -8.13378366635176 +254000 ekin = 1.23716194122791 | erot = 1.70776552340203 | epot = -11.0787111307296 | etot = -8.13378366609963 +255000 ekin = 1.18305733844651 | erot = 1.70821467485129 | epot = -11.0250556794461 | etot = -8.13378366614825 +256000 ekin = 1.14729363432147 | erot = 1.71063275158191 | epot = -10.991710052286 | etot = -8.13378366638265 +257000 ekin = 1.1265046010806 | erot = 1.71454195552783 | epot = -10.9748302232593 | etot = -8.13378366665083 +258000 ekin = 1.11669715917377 | erot = 1.71938873503276 | epot = -10.9698695610614 | etot = -8.13378366685484 +259000 ekin = 1.11461746403468 | erot = 1.72463904931047 | epot = -10.9730401803333 | etot = -8.13378366698814 +260000 ekin = 1.11796213299025 | erot = 1.72976096813917 | epot = -10.9815067682326 | etot = -8.13378366710316 +261000 ekin = 1.12495929560688 | erot = 1.73429797646783 | epot = -10.9930409392085 | etot = -8.1337836671338 +262000 ekin = 1.13415334886842 | erot = 1.73799782227169 | epot = -11.0059348383766 | etot = -8.13378366723648 +263000 ekin = 1.1441924865794 | erot = 1.74014341283961 | epot = -11.0181195666666 | etot = -8.13378366724758 +264000 ekin = 1.15486713033337 | erot = 1.74014049676735 | epot = -11.0287912942205 | etot = -8.13378366711974 +265000 ekin = 1.16757148072827 | erot = 1.73774643956195 | epot = -11.0391015871675 | etot = -8.1337836668773 +266000 ekin = 1.18492523335162 | erot = 1.73313774545438 | epot = -11.0518466454068 | etot = -8.13378366660083 +267000 ekin = 1.20976553809282 | erot = 1.7268208539046 | epot = -11.0703700583789 | etot = -8.13378366638147 +268000 ekin = 1.2440311190649 | erot = 1.71946869065553 | epot = -11.0972834760054 | etot = -8.13378366628496 +269000 ekin = 1.28796807043956 | erot = 1.71176934564224 | epot = -11.1335210824187 | etot = -8.13378366633693 +270000 ekin = 1.33984072254354 | erot = 1.7043411961581 | epot = -11.1779655852252 | etot = -8.13378366652351 +271000 ekin = 1.39615730897264 | erot = 1.69774776465105 | epot = -11.2276887404003 | etot = -8.1337836667766 +272000 ekin = 1.45234426471681 | erot = 1.69276715684855 | epot = -11.2788950886398 | etot = -8.13378366707447 +273000 ekin = 1.50368133071071 | erot = 1.68992546991691 | epot = -11.3273904679427 | etot = -8.1337836673151 +274000 ekin = 1.54639996326974 | erot = 1.68983337629384 | epot = -11.3700170069765 | etot = -8.1337836674129 +275000 ekin = 1.57877490150026 | erot = 1.69332235277881 | epot = -11.4058809216115 | etot = -8.13378366733244 +276000 ekin = 1.60168052284474 | erot = 1.70138855156029 | epot = -11.4368527415036 | etot = -8.13378366709861 +277000 ekin = 1.61832490283932 | erot = 1.7150264260381 | epot = -11.467134995681 | etot = -8.1337836668036 +278000 ekin = 1.63311060675832 | erot = 1.73495415768603 | epot = -11.5018484310241 | etot = -8.13378366657978 +279000 ekin = 1.64995273995069 | erot = 1.76130541528402 | epot = -11.5450418217804 | etot = -8.13378366654569 +280000 ekin = 1.67073877093186 | erot = 1.79339849893625 | epot = -11.5979209366139 | etot = -8.13378366674582 +281000 ekin = 1.69438407984331 | erot = 1.82970064438891 | epot = -11.6578683914543 | etot = -8.13378366722212 +282000 ekin = 1.71376506079771 | erot = 1.86795891950542 | epot = -11.715507648123 | etot = -8.13378366781989 +283000 ekin = 1.72224450523959 | erot = 1.90529068548332 | epot = -11.7613188590643 | etot = -8.13378366834137 +284000 ekin = 1.71505262175737 | erot = 1.93881515489656 | epot = -11.7876514453406 | etot = -8.13378366868666 +285000 ekin = 1.68954869054978 | erot = 1.96608819497607 | epot = -11.7894205543486 | etot = -8.13378366882275 +286000 ekin = 1.64555137746269 | erot = 1.98537597121361 | epot = -11.7647110174504 | etot = -8.1337836687741 +287000 ekin = 1.58495470811888 | erot = 1.99578989882545 | epot = -11.7145282755366 | etot = -8.13378366859229 +288000 ekin = 1.5110176158451 | erot = 1.9972977679296 | epot = -11.6420990521052 | etot = -8.13378366833054 +289000 ekin = 1.42766231980138 | erot = 1.99063899576696 | epot = -11.5520849836022 | etot = -8.13378366803389 +290000 ekin = 1.33894501485583 | erot = 1.97716758999489 | epot = -11.4498962725828 | etot = -8.13378366773207 +291000 ekin = 1.248817211875 | erot = 1.95864649303427 | epot = -11.3412473723318 | etot = -8.13378366742251 +292000 ekin = 1.16137515575165 | erot = 1.9370295819229 | epot = -11.2321884047306 | etot = -8.13378366705601 +293000 ekin = 1.08169833470191 | erot = 1.91427738455886 | epot = -11.1297593858184 | etot = -8.13378366655758 +294000 ekin = 1.01689863825805 | erot = 1.8922324358186 | epot = -11.0429147399744 | etot = -8.13378366589774 +295000 ekin = 0.976377352945052 | erot = 1.87253324957175 | epot = -10.9826942676957 | etot = -8.13378366517893 +296000 ekin = 0.970182395975483 | erot = 1.85650679551204 | epot = -10.9604728561447 | etot = -8.13378366465719 +297000 ekin = 1.0053715181696 | erot = 1.84499118419568 | epot = -10.9841463669915 | etot = -8.13378366462627 +298000 ekin = 1.08200534147073 | erot = 1.83812417716642 | epot = -11.0539131838721 | etot = -8.13378366523492 +299000 ekin = 1.19125189130404 | erot = 1.83519410295209 | epot = -11.1602296606335 | etot = -8.13378366637738 +300000 ekin = 1.31698721062207 | erot = 1.83465168976294 | epot = -11.2854225681332 | etot = -8.13378366774819 +301000 ekin = 1.44008784810256 | erot = 1.83433803116237 | epot = -11.4082095482586 | etot = -8.13378366899367 +302000 ekin = 1.5432954854116 | erot = 1.83190000197301 | epot = -11.508979157225 | etot = -8.13378366984044 +303000 ekin = 1.61484992407947 | erot = 1.82529439833012 | epot = -11.5739279925649 | etot = -8.13378367015528 +304000 ekin = 1.65011047810809 | erot = 1.81324433416556 | epot = -11.5971384822074 | etot = -8.13378366993376 +305000 ekin = 1.6514081436682 | erot = 1.7954949702977 | epot = -11.5806867832572 | etot = -8.13378366929126 +306000 ekin = 1.62643416627235 | erot = 1.77280218913043 | epot = -11.5330200238132 | etot = -8.1337836684104 +307000 ekin = 1.5857750046693 | erot = 1.7466850070714 | epot = -11.4662436792366 | etot = -8.13378366749585 +308000 ekin = 1.54030424866459 | erot = 1.71903801623407 | epot = -11.3931259316147 | etot = -8.13378366671604 +309000 ekin = 1.4990009105043 | erot = 1.69173690590549 | epot = -11.3245214826 | etot = -8.13378366619016 +310000 ekin = 1.46747597212677 | erot = 1.66636932778201 | epot = -11.2676289658518 | etot = -8.13378366594304 +311000 ekin = 1.44771419446782 | erot = 1.64410448875489 | epot = -11.2256023491766 | etot = -8.13378366595387 +312000 ekin = 1.43839141864346 | erot = 1.62568199894977 | epot = -11.1978570837369 | etot = -8.13378366614363 +313000 ekin = 1.43594352566627 | erot = 1.61150443048395 | epot = -11.1812316225614 | etot = -8.13378366641123 +314000 ekin = 1.4359525561927 | erot = 1.6017711610384 | epot = -11.1715073838887 | etot = -8.13378366665756 +315000 ekin = 1.43500742743257 | erot = 1.59648896098093 | epot = -11.1652800551232 | etot = -8.13378366670972 +316000 ekin = 1.43108473248386 | erot = 1.59565804393172 | epot = -11.1605264431406 | etot = -8.13378366672501 +317000 ekin = 1.423903362868 | erot = 1.59957952105914 | epot = -11.157266550458 | etot = -8.13378366653083 +318000 ekin = 1.41631295381457 | erot = 1.6086681920702 | epot = -11.1587648120474 | etot = -8.13378366616265 +319000 ekin = 1.41381426235391 | erot = 1.62334142232249 | epot = -11.1709393504001 | etot = -8.13378366572373 +320000 ekin = 1.42315030254029 | erot = 1.6438411684038 | epot = -11.2007751363095 | etot = -8.13378366536539 +321000 ekin = 1.45024845495236 | erot = 1.67003325940321 | epot = -11.2540653795939 | etot = -8.13378366523836 +322000 ekin = 1.49815500537048 | erot = 1.70123818171696 | epot = -11.3331768525307 | etot = -8.13378366544326 +323000 ekin = 1.56569352501265 | erot = 1.73609284126964 | epot = -11.4355700323001 | etot = -8.13378366601784 +324000 ekin = 1.64679224019604 | erot = 1.77264010660481 | epot = -11.5532160137959 | etot = -8.13378366699503 +325000 ekin = 1.73163775628642 | erot = 1.80818795206065 | epot = -11.6736093763912 | etot = -8.13378366804413 +326000 ekin = 1.807503292055 | erot = 1.8398074929619 | epot = -11.7810944543653 | etot = -8.13378366934842 +327000 ekin = 1.85797659453463 | erot = 1.86537346542643 | epot = -11.8571337302883 | etot = -8.13378367032723 +328000 ekin = 1.87027520745668 | erot = 1.88392315073899 | epot = -11.8879820288559 | etot = -8.13378367066024 +329000 ekin = 1.83949589051625 | erot = 1.89597309719521 | epot = -11.869252657891 | etot = -8.13378367017951 +330000 ekin = 1.77117100866039 | erot = 1.90323589020173 | epot = -11.808190567859 | etot = -8.13378366899683 +331000 ekin = 1.68023517870726 | erot = 1.90771959426241 | epot = -11.7217384405155 | etot = -8.13378366754586 +332000 ekin = 1.58599656569204 | erot = 1.91066851347972 | epot = -11.6304487455228 | etot = -8.133783666351 +333000 ekin = 1.5056664988971 | erot = 1.91203797344599 | epot = -11.5514881380424 | etot = -8.13378366569929 +334000 ekin = 1.44997196057408 | erot = 1.91073772770832 | epot = -11.494493353844 | etot = -8.1337836655616 +335000 ekin = 1.4217505313958 | erot = 1.90515605629965 | epot = -11.4606902539303 | etot = -8.13378366623481 +336000 ekin = 1.41662531057508 | erot = 1.89330033652335 | epot = -11.4437093137243 | etot = -8.13378366662591 +337000 ekin = 1.42902342419243 | erot = 1.87459660542404 | epot = -11.4374036965643 | etot = -8.13378366694779 +338000 ekin = 1.45347553473645 | erot = 1.84924982279989 | epot = -11.4365090247095 | etot = -8.13378366717319 +339000 ekin = 1.48532648331894 | erot = 1.81789825389434 | epot = -11.4370084045478 | etot = -8.1337836673345 +340000 ekin = 1.52068113212175 | erot = 1.78131054290948 | epot = -11.4357753425064 | etot = -8.13378366747516 +341000 ekin = 1.55606070128483 | erot = 1.74019406298873 | epot = -11.4300384318889 | etot = -8.13378366761538 +342000 ekin = 1.58819693535917 | erot = 1.69515176483016 | epot = -11.4171323679306 | etot = -8.13378366774131 +343000 ekin = 1.61415529814034 | erot = 1.64675903934927 | epot = -11.3946980053052 | etot = -8.13378366781557 +344000 ekin = 1.63171879306421 | erot = 1.59569319793894 | epot = -11.3611956588051 | etot = -8.13378366780194 +345000 ekin = 1.63976605960559 | erot = 1.54282704208372 | epot = -11.3163767693851 | etot = -8.13378366769576 +346000 ekin = 1.63837200137359 | erot = 1.48918714015799 | epot = -11.2613428090531 | etot = -8.13378366752157 +347000 ekin = 1.62852754176565 | erot = 1.43587351563677 | epot = -11.1981847247341 | etot = -8.13378366733164 +348000 ekin = 1.61158889282985 | erot = 1.38392546939002 | epot = -11.1292980293931 | etot = -8.13378366717324 +349000 ekin = 1.58873557439206 | erot = 1.33422850518961 | epot = -11.056747746656 | etot = -8.13378366707429 +350000 ekin = 1.56064786721561 | erot = 1.2874985195824 | epot = -10.9819300538308 | etot = -8.13378366703275 +351000 ekin = 1.52754191191907 | erot = 1.24434620357763 | epot = -10.9056717825112 | etot = -8.13378366701453 +352000 ekin = 1.48960299204932 | erot = 1.20538641996432 | epot = -10.8287730789744 | etot = -8.13378366696075 +353000 ekin = 1.44778264504309 | erot = 1.17134399707567 | epot = -10.752910308907 | etot = -8.13378366678829 +354000 ekin = 1.40533100954915 | erot = 1.14324844921071 | epot = -10.6823631252463 | etot = -8.13378366648643 +355000 ekin = 1.36869095865109 | erot = 1.12250242067869 | epot = -10.6249770453852 | etot = -8.13378366605541 +356000 ekin = 1.3449017599716 | erot = 1.1099299077681 | epot = -10.5886153331872 | etot = -8.13378366544746 +357000 ekin = 1.34315796277545 | erot = 1.10621719878399 | epot = -10.5831588263865 | etot = -8.13378366482704 +358000 ekin = 1.37283801209317 | erot = 1.11171347586627 | epot = -10.6183351524161 | etot = -8.13378366445667 +359000 ekin = 1.43996759059677 | erot = 1.12612871056424 | epot = -10.6998799657489 | etot = -8.13378366458786 +360000 ekin = 1.54388445915395 | erot = 1.14830381563242 | epot = -10.825971940105 | etot = -8.13378366531859 +361000 ekin = 1.6758653151051 | erot = 1.1761890541841 | epot = -10.9858380358604 | etot = -8.13378366657118 +362000 ekin = 1.82005627456863 | erot = 1.20703160752722 | epot = -11.160871550052 | etot = -8.1337836679562 +363000 ekin = 1.95850583938559 | erot = 1.23798141777172 | epot = -11.3302709261716 | etot = -8.13378366901432 +364000 ekin = 2.07580017665441 | erot = 1.26672677094628 | epot = -11.4763106177231 | etot = -8.13378367012237 +365000 ekin = 2.15891662518022 | erot = 1.29173621495106 | epot = -11.5844365106023 | etot = -8.13378367047101 +366000 ekin = 2.20238380195836 | erot = 1.31262064914186 | epot = -11.6487881213328 | etot = -8.13378367023257 +367000 ekin = 2.20851727274821 | erot = 1.33022857587286 | epot = -11.6725295182319 | etot = -8.13378366961086 +368000 ekin = 2.18513118769551 | erot = 1.34632721319444 | epot = -11.6652420695885 | etot = -8.13378366869856 +369000 ekin = 2.14321144645259 | erot = 1.36315448462805 | epot = -11.6401495988847 | etot = -8.13378366780407 +370000 ekin = 2.09388282411743 | erot = 1.38296858719989 | epot = -11.6106350784946 | etot = -8.13378366717728 +371000 ekin = 2.04539161605049 | erot = 1.40758201279954 | epot = -11.5867572956745 | etot = -8.13378366682443 +372000 ekin = 2.00261126513199 | erot = 1.4382705751255 | epot = -11.574665506924 | etot = -8.13378366666651 +373000 ekin = 1.96798302471703 | erot = 1.47584503943857 | epot = -11.5776117307364 | etot = -8.13378366658081 +374000 ekin = 1.94276422014241 | erot = 1.52074221163772 | epot = -11.5972900983287 | etot = -8.13378366654861 +375000 ekin = 1.92741631544937 | erot = 1.57302624844148 | epot = -11.634226230509 | etot = -8.13378366661813 +376000 ekin = 1.92110841837139 | erot = 1.63232320681825 | epot = -11.6872152920392 | etot = -8.13378366684957 +377000 ekin = 1.92083197490845 | erot = 1.69770894534465 | epot = -11.7523245875562 | etot = -8.13378366730306 +378000 ekin = 1.92097158013852 | erot = 1.76763055655063 | epot = -11.8223858045628 | etot = -8.13378366787367 +379000 ekin = 1.91438056919013 | erot = 1.83964318713952 | epot = -11.8878074249811 | etot = -8.13378366865147 +380000 ekin = 1.89241520121845 | erot = 1.91106138177954 | epot = -11.9372602523564 | etot = -8.13378366935838 +381000 ekin = 1.8471184312366 | erot = 1.97933543815608 | epot = -11.9602375392593 | etot = -8.13378366986661 +382000 ekin = 1.77364821790758 | erot = 2.04210934441082 | epot = -11.9495412323761 | etot = -8.13378367005771 +383000 ekin = 1.67178472401187 | erot = 2.09754562137713 | epot = -11.903114015213 | etot = -8.13378366982399 +384000 ekin = 1.54709556482222 | erot = 2.14438708235182 | epot = -11.8252663163943 | etot = -8.13378366922026 +385000 ekin = 1.41093432867773 | erot = 2.18184182145731 | epot = -11.7265598182916 | etot = -8.13378366815656 +386000 ekin = 1.27958936993863 | erot = 2.21051340231469 | epot = -11.6238864391429 | etot = -8.13378366688957 +387000 ekin = 1.17137861197302 | erot = 2.2316316524003 | epot = -11.5367939301643 | etot = -8.13378366579099 +388000 ekin = 1.10179780401003 | erot = 2.24634754527649 | epot = -11.4819290145147 | etot = -8.13378366522816 +389000 ekin = 1.0788214896733 | erot = 2.25505587957397 | epot = -11.4676610376486 | etot = -8.13378366840134 +390000 ekin = 1.07051570136181 | erot = 2.26936424219768 | epot = -11.4736636037098 | etot = -8.13378366015027 +391000 ekin = 1.12513305990266 | erot = 2.2855798798667 | epot = -11.5444966077228 | etot = -8.13378366795344 +392000 ekin = 1.21295440171552 | erot = 2.27063670339911 | epot = -11.6173747716209 | etot = -8.13378366650625 +393000 ekin = 1.30924312365021 | erot = 2.24076930893297 | epot = -11.683796099712 | etot = -8.13378366712886 +394000 ekin = 1.40561895760633 | erot = 2.19794335034293 | epot = -11.7373459753404 | etot = -8.13378366739109 +395000 ekin = 1.49662707239774 | erot = 2.14293675801942 | epot = -11.7733474977531 | etot = -8.13378366733589 +396000 ekin = 1.58077727992374 | erot = 2.07761988891243 | epot = -11.7921808358865 | etot = -8.13378366705035 +397000 ekin = 1.65955042583017 | erot = 2.00469837191324 | epot = -11.7980324643728 | etot = -8.13378366662942 +398000 ekin = 1.7362244798993 | erot = 1.92743077253277 | epot = -11.7974389185788 | etot = -8.13378366614676 +399000 ekin = 1.81471876943507 | erot = 1.84941455049975 | epot = -11.7979169856551 | etot = -8.13378366572026 +400000 ekin = 1.89831345084354 | erot = 1.77428869309741 | epot = -11.8063858093523 | etot = -8.13378366541139 +401000 ekin = 1.9885788216584 | erot = 1.70555701948173 | epot = -11.8279195064184 | etot = -8.13378366527829 +402000 ekin = 2.08469272455109 | erot = 1.64640053761827 | epot = -11.8648769275031 | etot = -8.13378366533375 +403000 ekin = 2.1833349288347 | erot = 1.59947809828207 | epot = -11.9165966926882 | etot = -8.13378366557139 +404000 ekin = 2.27899469656911 | erot = 1.56671457667184 | epot = -11.9794929390997 | etot = -8.13378366585873 +405000 ekin = 2.36506409045595 | erot = 1.5490457214777 | epot = -12.0478934783833 | etot = -8.13378366644961 +406000 ekin = 2.43306193248333 | erot = 1.54630434412746 | epot = -12.1131499437695 | etot = -8.13378366715871 +407000 ekin = 2.4736418637867 | erot = 1.55689186413582 | epot = -12.1643173959421 | etot = -8.13378366801955 +408000 ekin = 2.47760299470359 | erot = 1.57810641384991 | epot = -12.1894930773177 | etot = -8.1337836687642 +409000 ekin = 2.43822850840222 | erot = 1.6066411347602 | epot = -12.1786533122416 | etot = -8.13378366907916 +410000 ekin = 2.35516301277751 | erot = 1.63934184028956 | epot = -12.128288521798 | etot = -8.13378366873093 +411000 ekin = 2.236619522747 | erot = 1.67408087731271 | epot = -12.0444840678061 | etot = -8.13378366774637 +412000 ekin = 2.09851267459564 | erot = 1.71012170018305 | epot = -11.9424180411994 | etot = -8.13378366642075 +413000 ekin = 1.96056484791868 | erot = 1.74778804011944 | epot = -11.8421365531932 | etot = -8.13378366515507 +414000 ekin = 1.84128090479855 | erot = 1.78771082123051 | epot = -11.7627753903003 | etot = -8.13378366427126 +415000 ekin = 1.75390442334931 | erot = 1.83009103155497 | epot = -11.7177791188312 | etot = -8.13378366392693 +416000 ekin = 1.70439570487049 | erot = 1.87425008286763 | epot = -11.7124294518662 | etot = -8.13378366412813 +417000 ekin = 1.69131554252525 | erot = 1.91850147884838 | epot = -11.743600686191 | etot = -8.13378366481735 +418000 ekin = 1.7068949003167 | erot = 1.96025799789886 | epot = -11.8009365639737 | etot = -8.1337836657581 +419000 ekin = 1.73962222230422 | erot = 1.99637255841746 | epot = -11.8697784475116 | etot = -8.13378366678987 +420000 ekin = 1.77669286262646 | erot = 2.02357619715879 | epot = -11.9340527274896 | etot = -8.1337836677043 +421000 ekin = 1.80657824083176 | erot = 2.03903049556404 | epot = -11.9793924047241 | etot = -8.13378366832826 +422000 ekin = 1.82111290086227 | erot = 2.04088419800067 | epot = -11.9957807674367 | etot = -8.13378366857376 +423000 ekin = 1.81648584569124 | erot = 2.02865244730067 | epot = -11.978921961452 | etot = -8.1337836684601 +424000 ekin = 1.79301691785737 | erot = 2.00326876348565 | epot = -11.9300693494177 | etot = -8.13378366807468 +425000 ekin = 1.75424046968995 | erot = 1.96680784721923 | epot = -11.854831984418 | etot = -8.13378366750887 +426000 ekin = 1.70601392330414 | erot = 1.92202692836578 | epot = -11.761824518498 | etot = -8.13378366682806 +427000 ekin = 1.65580906014457 | erot = 1.87186985440495 | epot = -11.6614625806883 | etot = -8.13378366613882 +428000 ekin = 1.61207963971218 | erot = 1.81905558541467 | epot = -11.5649188905637 | etot = -8.13378366543682 +429000 ekin = 1.58339999424807 | erot = 1.76579893170898 | epot = -11.4829825908685 | etot = -8.13378366491148 +430000 ekin = 1.57646033949475 | erot = 1.71346152698448 | epot = -11.4237055311813 | etot = -8.13378366470211 +431000 ekin = 1.59418488212815 | erot = 1.66239892771949 | epot = -11.3903674747378 | etot = -8.13378366489016 +432000 ekin = 1.63452809773604 | erot = 1.61205574803078 | epot = -11.3803675112004 | etot = -8.13378366543362 +433000 ekin = 1.6907741097856 | erot = 1.56136635609577 | epot = -11.3859241320225 | etot = -8.13378366614116 +434000 ekin = 1.75368500743944 | erot = 1.50939558465358 | epot = -11.3968642588286 | etot = -8.13378366673553 +435000 ekin = 1.81477188942094 | erot = 1.45598133798856 | epot = -11.4045368944125 | etot = -8.13378366700299 +436000 ekin = 1.868951512286 | erot = 1.40204530896986 | epot = -11.4047804880924 | etot = -8.1337836668365 +437000 ekin = 1.91551323813531 | erot = 1.34941425922493 | epot = -11.3987111639494 | etot = -8.13378366658913 +438000 ekin = 1.95545357705846 | erot = 1.30011080732735 | epot = -11.3893480508668 | etot = -8.13378366648095 +439000 ekin = 1.98811153075007 | erot = 1.25557284832967 | epot = -11.3774680457267 | etot = -8.133783666647 +440000 ekin = 2.0098662343534 | erot = 1.21630204160295 | epot = -11.3599519429522 | etot = -8.13378366699586 +441000 ekin = 2.01530350765085 | erot = 1.18202297032189 | epot = -11.3311101452617 | etot = -8.13378366728898 +442000 ekin = 1.99936349678345 | erot = 1.1520787313769 | epot = -11.2852258960153 | etot = -8.13378366785493 +443000 ekin = 1.95696749681153 | erot = 1.12547607063661 | epot = -11.2162272349774 | etot = -8.13378366752924 +444000 ekin = 1.89166490098686 | erot = 1.10194461447725 | epot = -11.1273931823252 | etot = -8.13378366686104 +445000 ekin = 1.81328868644697 | erot = 1.08168732032465 | epot = -11.0287596725663 | etot = -8.13378366579468 +446000 ekin = 1.73577899474806 | erot = 1.06505071492859 | epot = -10.9346133747235 | etot = -8.13378366504681 +447000 ekin = 1.67093185588937 | erot = 1.0523970512701 | epot = -10.8571125714719 | etot = -8.13378366431241 +448000 ekin = 1.62911856819559 | erot = 1.04409603312767 | epot = -10.8069982651711 | etot = -8.13378366384786 +449000 ekin = 1.61731626296897 | erot = 1.04041489697302 | epot = -10.7915148237039 | etot = -8.13378366376191 +450000 ekin = 1.63711697605421 | erot = 1.04135992229816 | epot = -10.8122605626979 | etot = -8.13378366434548 +451000 ekin = 1.68320258141919 | erot = 1.04620824656711 | epot = -10.8631944930203 | etot = -8.13378366503397 +452000 ekin = 1.7458166801167 | erot = 1.05391169410331 | epot = -10.9335120399999 | etot = -8.13378366577991 +453000 ekin = 1.81457146100864 | erot = 1.0633516586371 | epot = -11.0117067861248 | etot = -8.13378366647908 +454000 ekin = 1.87975957939219 | erot = 1.07317402238826 | epot = -11.0867172689166 | etot = -8.13378366713614 +455000 ekin = 1.93251877589105 | erot = 1.08171623325851 | epot = -11.14801867696 | etot = -8.13378366781044 +456000 ekin = 1.96415416828293 | erot = 1.08704156959223 | epot = -11.1849794063765 | etot = -8.13378366850134 +457000 ekin = 1.96605348078635 | erot = 1.08723394294624 | epot = -11.1870710928035 | etot = -8.13378366907089 +458000 ekin = 1.93127523762167 | erot = 1.08096076790852 | epot = -11.146019674794 | etot = -8.13378366926382 +459000 ekin = 1.85771594839783 | erot = 1.06809531781133 | epot = -11.0595949350342 | etot = -8.13378366882506 +460000 ekin = 1.7514718808334 | erot = 1.05009293158724 | epot = -10.9353484800663 | etot = -8.13378366764562 +461000 ekin = 1.62834142732817 | erot = 1.02990811326759 | epot = -10.792033206498 | etot = -8.13378366590223 +462000 ekin = 1.51195360646361 | erot = 1.01153881174671 | epot = -10.657276081187 | etot = -8.13378366297666 +463000 ekin = 1.43011910142227 | erot = 1.00022578453976 | epot = -10.5641285481373 | etot = -8.13378366217527 +464000 ekin = 1.39582910826184 | erot = 0.99819843207832 | epot = -10.5278112021912 | etot = -8.13378366185106 +465000 ekin = 1.41007554849414 | erot = 1.00592009003254 | epot = -10.5497793012305 | etot = -8.13378366270381 +466000 ekin = 1.46251969360502 | erot = 1.02219738030467 | epot = -10.618500737861 | etot = -8.13378366395135 +467000 ekin = 1.49627186606495 | erot = 1.05472101828711 | epot = -10.6847765486757 | etot = -8.13378366432368 +468000 ekin = 1.5172585367749 | erot = 1.12479885673277 | epot = -10.7758410580437 | etot = -8.13378366453599 +469000 ekin = 1.58140637752447 | erot = 1.16828828956652 | epot = -10.8834783315731 | etot = -8.13378366448215 +470000 ekin = 1.60068578294838 | erot = 1.1811414101898 | epot = -10.9156108574881 | etot = -8.13378366434993 +471000 ekin = 1.59076368321379 | erot = 1.18707237244891 | epot = -10.9116197193634 | etot = -8.13378366370067 +472000 ekin = 1.56124060593966 | erot = 1.18572143099144 | epot = -10.8807456997246 | etot = -8.13378366279351 +473000 ekin = 1.52502097405344 | erot = 1.17792025679204 | epot = -10.8367248926809 | etot = -8.13378366183544 +474000 ekin = 1.49533177220178 | erot = 1.16544446211716 | epot = -10.7945598952744 | etot = -8.13378366095546 +475000 ekin = 1.48386630171196 | erot = 1.15068540213872 | epot = -10.7683353640892 | etot = -8.13378366023852 +476000 ekin = 1.49971334629294 | erot = 1.13623821676371 | epot = -10.7697352228004 | etot = -8.13378365974378 +477000 ekin = 1.5487111876754 | erot = 1.12448433351201 | epot = -10.8069791812994 | etot = -8.13378366011195 +478000 ekin = 1.62953491120082 | erot = 1.11764268902012 | epot = -10.880961260461 | etot = -8.13378366024004 +479000 ekin = 1.73735741645227 | erot = 1.11700620809668 | epot = -10.9881472852153 | etot = -8.13378366066638 +480000 ekin = 1.86556210290876 | erot = 1.12262064773414 | epot = -11.1219664120758 | etot = -8.13378366143285 +481000 ekin = 2.0012102633565 | erot = 1.13364860019954 | epot = -11.2686425499223 | etot = -8.13378368636626 +482000 ekin = 2.04617329746653 | erot = 1.16256926174411 | epot = -11.342526223698 | etot = -8.13378366448739 +483000 ekin = 2.14335261841872 | erot = 1.21476273134234 | epot = -11.4918990326703 | etot = -8.1337836829092 +484000 ekin = 2.2027099535494 | erot = 1.23147381805091 | epot = -11.5679674446188 | etot = -8.13378367301852 +485000 ekin = 2.20682939439848 | erot = 1.23835798980262 | epot = -11.5789710574533 | etot = -8.13378367325215 +486000 ekin = 2.16589682793162 | erot = 1.24300370550065 | epot = -11.5426842062608 | etot = -8.13378367282853 +487000 ekin = 2.08668888863795 | erot = 1.24625551750431 | epot = -11.4667280779886 | etot = -8.13378367184635 +488000 ekin = 1.98386509123788 | erot = 1.24977318045064 | epot = -11.3674219422116 | etot = -8.13378367052306 +489000 ekin = 1.87707931029328 | erot = 1.2554701277229 | epot = -11.2663331071765 | etot = -8.13378366916032 +490000 ekin = 1.78677596315576 | erot = 1.26490338720787 | epot = -11.18546301849 | etot = -8.13378366812638 +491000 ekin = 1.72903831212643 | erot = 1.27867004037192 | epot = -11.1414920202968 | etot = -8.13378366779847 +492000 ekin = 1.71039979056492 | erot = 1.29591768106643 | epot = -11.1401011400508 | etot = -8.13378366841942 +493000 ekin = 1.72454317155186 | erot = 1.31423280426535 | epot = -11.1725596457207 | etot = -8.13378366990352 +494000 ekin = 1.75332785015175 | erot = 1.33022406246905 | epot = -11.2173355843429 | etot = -8.13378367172206 +495000 ekin = 1.77349565826268 | erot = 1.34086561473946 | epot = -11.2481449460395 | etot = -8.13378367303734 +496000 ekin = 1.76725059669556 | erot = 1.34512484287844 | epot = -11.2461591127246 | etot = -8.13378367315062 +497000 ekin = 1.73127637992372 | erot = 1.3449470821372 | epot = -11.2100071340228 | etot = -8.13378367196192 +498000 ekin = 1.67855000911927 | erot = 1.34489121266193 | epot = -11.1572248918172 | etot = -8.13378367003596 +499000 ekin = 1.63191747123612 | erot = 1.35056727534945 | epot = -11.1162684147987 | etot = -8.13378366821311 +500000 ekin = 1.61378359993279 | erot = 1.36676364682918 | epot = -11.1143309139126 | etot = -8.13378366715064 +501000 ekin = 1.63758101989971 | erot = 1.39609850677659 | epot = -11.1674631937776 | etot = -8.13378366710128 +502000 ekin = 1.7041380754091 | erot = 1.43847493669618 | epot = -11.2763966800725 | etot = -8.13378366796721 +503000 ekin = 1.8026829774481 | erot = 1.49115460253573 | epot = -11.4276212494754 | etot = -8.13378366949159 +504000 ekin = 1.91419549774104 | erot = 1.54914693963144 | epot = -11.5971261087994 | etot = -8.13378367142688 +505000 ekin = 2.01490443991482 | erot = 1.60576406503001 | epot = -11.754452178485 | etot = -8.13378367354016 +506000 ekin = 2.07966541463625 | erot = 1.6534543935245 | epot = -11.8669034835998 | etot = -8.13378367543904 +507000 ekin = 2.08700353889804 | erot = 1.68517460627827 | epot = -11.905961821654 | etot = -8.13378367647772 +508000 ekin = 2.02663352657019 | erot = 1.69625747622173 | epot = -11.85667467886 | etot = -8.1337836760681 +509000 ekin = 1.90589064129068 | erot = 1.68599529701607 | epot = -11.7256696124933 | etot = -8.13378367418656 +510000 ekin = 1.74959091228785 | erot = 1.65787688252651 | epot = -11.5412514662799 | etot = -8.1337836714656 +511000 ekin = 1.59231955656531 | erot = 1.61826266731375 | epot = -11.3443658926551 | etot = -8.13378366877608 +512000 ekin = 1.46755856058862 | erot = 1.57434662380559 | epot = -11.1756888512756 | etot = -8.13378366688141 +513000 ekin = 1.3983991609188 | erot = 1.53234768378053 | epot = -11.0645305108086 | etot = -8.13378366610923 +514000 ekin = 1.39338903684995 | erot = 1.49706258345062 | epot = -11.0242352864559 | etot = -8.13378366615529 +515000 ekin = 1.44495159059745 | erot = 1.47110271003594 | epot = -11.0498379681943 | etot = -8.13378366756095 +516000 ekin = 1.53288312818407 | erot = 1.45357064725072 | epot = -11.120237444821 | etot = -8.1337836693862 +517000 ekin = 1.63159033308467 | erot = 1.44224294473458 | epot = -11.2076169491972 | etot = -8.13378367137799 +518000 ekin = 1.71409401451017 | erot = 1.43408399436441 | epot = -11.2819616821124 | etot = -8.1337836732378 +519000 ekin = 1.75665192751476 | erot = 1.42579002917521 | epot = -11.3162256316872 | etot = -8.13378367499721 +520000 ekin = 1.74187345942302 | erot = 1.4150483977562 | epot = -11.290705532384 | etot = -8.13378367520473 +521000 ekin = 1.66871703035345 | erot = 1.40071550596687 | epot = -11.2032162100692 | etot = -8.13378367374886 +522000 ekin = 1.55952182851144 | erot = 1.38339983651153 | epot = -11.076705336162 | etot = -8.13378367113905 +523000 ekin = 1.45114556546891 | erot = 1.36568308066248 | epot = -10.9506123145881 | etot = -8.13378366845668 +524000 ekin = 1.38091842208311 | erot = 1.35134919392548 | epot = -10.8660512824539 | etot = -8.13378366644529 +525000 ekin = 1.37601425586908 | erot = 1.34456662957931 | epot = -10.8543645508583 | etot = -8.13378366540993 +526000 ekin = 1.44870428480397 | erot = 1.3490974018157 | epot = -10.9315853521301 | etot = -8.13378366551039 +527000 ekin = 1.59459863542106 | erot = 1.36714947554628 | epot = -11.0955317778806 | etot = -8.13378366691328 +528000 ekin = 1.79183405476432 | erot = 1.3984190459615 | epot = -11.3240367701436 | etot = -8.13378366941776 +529000 ekin = 2.00478978691934 | erot = 1.43972835790867 | epot = -11.5783018171981 | etot = -8.1337836723701 +530000 ekin = 2.19333795595321 | erot = 1.48552207661414 | epot = -11.8126437074557 | etot = -8.13378367488839 +531000 ekin = 2.32431476959198 | erot = 1.52928747159335 | epot = -11.9873859174739 | etot = -8.1337836762886 +532000 ekin = 2.37971447232121 | erot = 1.56539257222041 | epot = -12.0788907209954 | etot = -8.13378367645378 +533000 ekin = 2.35771666710421 | erot = 1.59048999444787 | epot = -12.0819903372149 | etot = -8.13378367566285 +534000 ekin = 2.26899715445284 | erot = 1.6040739436389 | epot = -12.0068547722234 | etot = -8.13378367413165 +535000 ekin = 2.13365177457976 | erot = 1.60831072467296 | epot = -11.8757461712746 | etot = -8.13378367202191 +536000 ekin = 1.9788637616776 | erot = 1.60719127872978 | epot = -11.7198387101354 | etot = -8.13378366972798 +537000 ekin = 1.8342188731736 | erot = 1.60523898307311 | epot = -11.5732415240101 | etot = -8.13378366776342 +538000 ekin = 1.72531720896728 | erot = 1.60632519295185 | epot = -11.4654260684293 | etot = -8.13378366651021 +539000 ekin = 1.66856519910959 | erot = 1.6130147293602 | epot = -11.4153635945921 | etot = -8.13378366612229 +540000 ekin = 1.66907056573982 | erot = 1.62662968770416 | epot = -11.4294839196051 | etot = -8.13378366616113 +541000 ekin = 1.72153495933529 | erot = 1.64788745991001 | epot = -11.5032060865927 | etot = -8.13378366734736 +542000 ekin = 1.80903650503412 | erot = 1.6754786968445 | epot = -11.6182988707897 | etot = -8.13378366891109 +543000 ekin = 1.90894616841981 | erot = 1.70734508951571 | epot = -11.7500749284691 | etot = -8.13378367053359 +544000 ekin = 1.9977784284566 | erot = 1.7412535778407 | epot = -11.8728156782151 | etot = -8.13378367191784 +545000 ekin = 2.05546409380151 | erot = 1.77521000039075 | epot = -11.9644577670256 | etot = -8.13378367283337 +546000 ekin = 2.06867595318427 | erot = 1.8077948361107 | epot = -12.0102544624496 | etot = -8.13378367315459 +547000 ekin = 2.03267806249103 | erot = 1.83838588999474 | epot = -12.0048476253515 | etot = -8.13378367286575 +548000 ekin = 1.95148731422974 | erot = 1.86718390883231 | epot = -11.9524548951631 | etot = -8.13378367210101 +549000 ekin = 1.83645042329695 | erot = 1.89487456519915 | epot = -11.8651086595307 | etot = -8.13378367103455 +550000 ekin = 1.70373130492655 | erot = 1.92233248819948 | epot = -11.7598474630006 | etot = -8.13378366987457 +551000 ekin = 1.57139422776027 | erot = 1.95024291866776 | epot = -11.6554208152369 | etot = -8.13378366880886 +552000 ekin = 1.45663332550624 | erot = 1.97878558861136 | epot = -11.5692025821088 | etot = -8.13378366799115 +553000 ekin = 1.37337409011331 | erot = 2.00744335363611 | epot = -11.5146011112929 | etot = -8.13378366754347 +554000 ekin = 1.33029485853917 | erot = 2.03496657143245 | epot = -11.4990450975128 | etot = -8.13378366754123 +555000 ekin = 1.32945359618133 | erot = 2.05953157374214 | epot = -11.5227688379176 | etot = -8.13378366799412 +556000 ekin = 1.3658906875148 | erot = 2.07909837607864 | epot = -11.5787727324011 | etot = -8.13378366880768 +557000 ekin = 1.42857577080555 | erot = 2.09193210845994 | epot = -11.654291549064 | etot = -8.13378366979846 +558000 ekin = 1.50275359963189 | erot = 2.0971531413961 | epot = -11.7336904117562 | etot = -8.13378367072818 +559000 ekin = 1.57321830908804 | erot = 2.09511862189364 | epot = -11.8021206023738 | etot = -8.13378367139213 +560000 ekin = 1.62740172366322 | erot = 2.08745496893435 | epot = -11.8486403643216 | etot = -8.13378367172406 +561000 ekin = 1.6569241619188 | erot = 2.07666092047753 | epot = -11.8673687542002 | etot = -8.1337836718039 +562000 ekin = 1.65737426360166 | erot = 2.06544534214746 | epot = -11.8566032774781 | etot = -8.13378367172896 +563000 ekin = 1.62727808432428 | erot = 2.05615555038321 | epot = -11.8172173064911 | etot = -8.13378367178356 +564000 ekin = 1.5667993306087 | erot = 2.05047511799702 | epot = -11.7510581199544 | etot = -8.1337836713487 +565000 ekin = 1.48206055333278 | erot = 2.04917576858652 | epot = -11.6650199925621 | etot = -8.13378367064282 +566000 ekin = 1.3842386654693 | erot = 2.05221850150277 | epot = -11.5702408367517 | etot = -8.13378366977965 +567000 ekin = 1.28749391779178 | erot = 2.05873429505346 | epot = -11.4800118818273 | etot = -8.13378366898202 +568000 ekin = 1.2057043109891 | erot = 2.0670569203391 | epot = -11.4065448997816 | etot = -8.1337836684534 +569000 ekin = 1.14918558015273 | erot = 2.07495244466074 | epot = -11.3579216930989 | etot = -8.1337836682854 +570000 ekin = 1.12276449635449 | erot = 2.0800727296242 | epot = -11.3366208944198 | etot = -8.13378366844112 +571000 ekin = 1.12567595859586 | erot = 2.08050218013897 | epot = -11.3399618075315 | etot = -8.13378366879663 +572000 ekin = 1.1529490339776 | erot = 2.07519259345466 | epot = -11.3619252966304 | etot = -8.13378366919819 +573000 ekin = 1.19838854906436 | erot = 2.06451015559051 | epot = -11.3966823738791 | etot = -8.13378366922423 +574000 ekin = 1.25460427378267 | erot = 2.04968889739192 | epot = -11.4380768406972 | etot = -8.13378366952262 +575000 ekin = 1.31454735686527 | erot = 2.03199549863397 | epot = -11.4803265250284 | etot = -8.13378366952915 +576000 ekin = 1.37512583604677 | erot = 2.01319845741894 | epot = -11.5221079627672 | etot = -8.13378366930153 +577000 ekin = 1.43682760498694 | erot = 1.99528982935438 | epot = -11.5659011033024 | etot = -8.13378366896105 +578000 ekin = 1.50235588199447 | erot = 1.98017269183556 | epot = -11.616312242452 | etot = -8.13378366862198 +579000 ekin = 1.57520818416169 | erot = 1.96938672248033 | epot = -11.6783785749975 | etot = -8.13378366835543 +580000 ekin = 1.65868462493906 | erot = 1.9639024985825 | epot = -11.7563707921581 | etot = -8.13378366863655 +581000 ekin = 1.7524731182851 | erot = 1.96419308535396 | epot = -11.8504498724997 | etot = -8.13378366886061 +582000 ekin = 1.85283782860401 | erot = 1.96967477642142 | epot = -11.9562962744009 | etot = -8.13378366937544 +583000 ekin = 1.95429754600633 | erot = 1.97826405495829 | epot = -12.0663452712864 | etot = -8.13378367032182 +584000 ekin = 2.04662916575505 | erot = 1.98631443704456 | epot = -12.1667272745676 | etot = -8.13378367176799 +585000 ekin = 2.11419694674586 | erot = 1.98862566441948 | epot = -12.2366062847012 | etot = -8.13378367353588 +586000 ekin = 2.13871236990616 | erot = 1.97915340580579 | epot = -12.2516494507903 | etot = -8.13378367507837 +587000 ekin = 2.10465783249031 | erot = 1.95256271521597 | epot = -12.1910042235944 | etot = -8.13378367588808 +588000 ekin = 2.00543191749281 | erot = 1.90599988275355 | epot = -12.0452154755214 | etot = -8.13378367527503 +589000 ekin = 1.8511544610365 | erot = 1.84021509333331 | epot = -11.825153227644 | etot = -8.13378367327421 +590000 ekin = 1.66921622807598 | erot = 1.75933351100741 | epot = -11.5623334094729 | etot = -8.13378367038948 +591000 ekin = 1.49774854838559 | erot = 1.66961531489179 | epot = -11.3011475307624 | etot = -8.13378366748502 +592000 ekin = 1.37418208601873 | erot = 1.57786762195817 | epot = -11.0858333734942 | etot = -8.13378366551733 +593000 ekin = 1.32230765436322 | erot = 1.49017042363896 | epot = -10.9462617430768 | etot = -8.13378366507467 +594000 ekin = 1.34433584584019 | erot = 1.41110289033496 | epot = -10.8892224022084 | etot = -8.13378366603329 +595000 ekin = 1.42313762143471 | erot = 1.34352894991733 | epot = -10.9004502389322 | etot = -8.13378366758016 +596000 ekin = 1.53140640358131 | erot = 1.2890571416043 | epot = -10.9542472149073 | etot = -8.13378366972164 +597000 ekin = 1.63793776664774 | erot = 1.24822708395987 | epot = -11.0199485217458 | etot = -8.13378367113819 +598000 ekin = 1.71853369495733 | erot = 1.22042305582434 | epot = -11.0727404229298 | etot = -8.13378367214814 +599000 ekin = 1.75676579669885 | erot = 1.20417119496498 | epot = -11.0947206643965 | etot = -8.13378367273266 +600000 ekin = 1.74415562348135 | erot = 1.1974850125625 | epot = -11.075424308856 | etot = -8.13378367281218 +601000 ekin = 1.68078686624576 | erot = 1.19842786466352 | epot = -11.0129984031935 | etot = -8.1337836722842 +602000 ekin = 1.57592768461686 | erot = 1.20571835982337 | epot = -10.9154297155778 | etot = -8.13378367113754 +603000 ekin = 1.44736021986067 | erot = 1.219065566651 | epot = -10.8002094560796 | etot = -8.13378366956792 +604000 ekin = 1.31829530122973 | erot = 1.239006327198 | epot = -10.6910852964092 | etot = -8.13378366798146 +605000 ekin = 1.21203583247681 | erot = 1.2662501819561 | epot = -10.6120696811917 | etot = -8.13378366675881 +606000 ekin = 1.14717881945288 | erot = 1.30114918573328 | epot = -10.5821116711666 | etot = -8.13378366598041 +607000 ekin = 1.13493137972343 | erot = 1.34344256501509 | epot = -10.6121576106477 | etot = -8.13378366590919 +608000 ekin = 1.17769398077533 | erot = 1.39211398656236 | epot = -10.7035916336402 | etot = -8.13378366630252 +609000 ekin = 1.27083042499585 | erot = 1.44572829443775 | epot = -10.8503423865119 | etot = -8.13378366707829 +610000 ekin = 1.40359308955129 | erot = 1.50241692809269 | epot = -11.0397936861517 | etot = -8.13378366850774 +611000 ekin = 1.55996607948005 | erot = 1.55982171141016 | epot = -11.2535714606557 | etot = -8.13378366976554 +612000 ekin = 1.72323074886143 | erot = 1.61567444069886 | epot = -11.4726888606515 | etot = -8.13378367109119 +613000 ekin = 1.87623356286683 | erot = 1.66732234626383 | epot = -11.6773395815193 | etot = -8.13378367238861 +614000 ekin = 2.00332542688185 | erot = 1.71185786773203 | epot = -11.8489669679314 | etot = -8.13378367331747 +615000 ekin = 2.09384471070049 | erot = 1.74706892488305 | epot = -11.9746973091783 | etot = -8.13378367359473 +616000 ekin = 2.14582652013453 | erot = 1.77208418553175 | epot = -12.051694378684 | etot = -8.13378367301775 +617000 ekin = 2.16764032553334 | erot = 1.78786476156788 | epot = -12.0892887588997 | etot = -8.1337836717985 +618000 ekin = 2.17543321837147 | erot = 1.79702594195609 | epot = -12.106242830678 | etot = -8.13378367035041 +619000 ekin = 2.18765015124708 | erot = 1.80309631576443 | epot = -12.124530136231 | etot = -8.13378366921951 +620000 ekin = 2.21827388574176 | erot = 1.80941579610145 | epot = -12.1614733506006 | etot = -8.13378366875735 +621000 ekin = 2.27256724282942 | erot = 1.81817906104524 | epot = -12.2245299729043 | etot = -8.13378366902961 +622000 ekin = 2.34686215364278 | erot = 1.82980019931868 | epot = -12.3104460228466 | etot = -8.13378366988515 +623000 ekin = 2.43079483956968 | erot = 1.84272954676688 | epot = -12.407308057431 | etot = -8.13378367109447 +624000 ekin = 2.5107485939494 | erot = 1.85365912852436 | epot = -12.4981913948138 | etot = -8.13378367234005 +625000 ekin = 2.57376014755793 | erot = 1.85839628627515 | epot = -12.5659401070222 | etot = -8.13378367318914 +626000 ekin = 2.61178608743946 | erot = 1.85335246048788 | epot = -12.5989222212562 | etot = -8.1337836733289 +627000 ekin = 2.62439666916913 | erot = 1.83675929859851 | epot = -12.5949396406052 | etot = -8.13378367283753 +628000 ekin = 2.61715143118485 | erot = 1.80883297815135 | epot = -12.5597680815541 | etot = -8.13378367221788 +629000 ekin = 2.5961400278194 | erot = 1.77076928023034 | epot = -12.5006929799836 | etot = -8.1337836719339 +630000 ekin = 2.56316564610313 | erot = 1.72368862274152 | epot = -12.4206379408855 | etot = -8.13378367204083 +631000 ekin = 2.51545670841564 | erot = 1.66841938706966 | epot = -12.3176597677318 | etot = -8.1337836722465 +632000 ekin = 2.44898106285635 | erot = 1.60594586088114 | epot = -12.1887105959866 | etot = -8.13378367224906 +633000 ekin = 2.36287257799253 | erot = 1.53782426740558 | epot = -12.0344805167525 | etot = -8.13378367135442 +634000 ekin = 2.26405242525323 | erot = 1.46623278033278 | epot = -11.8640688761674 | etot = -8.13378367058136 +635000 ekin = 2.16101755721062 | erot = 1.39475566090543 | epot = -11.689556887824 | etot = -8.13378366970794 +636000 ekin = 2.06475253331495 | erot = 1.32686506236116 | epot = -11.5254012642683 | etot = -8.13378366859223 +637000 ekin = 1.98973271035859 | erot = 1.26596624430372 | epot = -11.3894826221168 | etot = -8.13378366745444 +638000 ekin = 1.95146778320796 | erot = 1.21514985244285 | epot = -11.3004013022814 | etot = -8.1337836666306 +639000 ekin = 1.96182069134296 | erot = 1.17695161175767 | epot = -11.2725559692828 | etot = -8.13378366618221 +640000 ekin = 2.02679898931111 | erot = 1.152391839021 | epot = -11.3129744949044 | etot = -8.13378366657234 +641000 ekin = 2.14199910311537 | erot = 1.1407108655517 | epot = -11.4164936363111 | etot = -8.13378366764398 +642000 ekin = 2.29285046318449 | erot = 1.13915186809975 | epot = -11.5657860007392 | etot = -8.133783669455 +643000 ekin = 2.45552552113726 | erot = 1.14338828231893 | epot = -11.732697475068 | etot = -8.13378367161177 +644000 ekin = 2.60133752585675 | erot = 1.14835367489798 | epot = -11.8834748743413 | etot = -8.13378367358661 +645000 ekin = 2.70371430395706 | erot = 1.14938437136576 | epot = -11.9868823501984 | etot = -8.13378367487555 +646000 ekin = 2.7446360756213 | erot = 1.14332224210791 | epot = -12.0217419929408 | etot = -8.13378367521164 +647000 ekin = 2.71817787240185 | erot = 1.12915792948806 | epot = -11.9811194765204 | etot = -8.13378367463047 +648000 ekin = 2.63028246068798 | erot = 1.10798613628602 | epot = -11.8720522703656 | etot = -8.13378367339156 +649000 ekin = 2.49559189349663 | erot = 1.0824532824775 | epot = -11.7118288478354 | etot = -8.13378367186126 +650000 ekin = 2.33293161556148 | erot = 1.05592857138796 | epot = -11.5226438573172 | etot = -8.13378367036778 +651000 ekin = 2.16312160404172 | erot = 1.03179243272167 | epot = -11.3286977054102 | etot = -8.13378366864681 +652000 ekin = 2.00437764472204 | erot = 1.0126334647906 | epot = -11.150794777641 | etot = -8.13378366812837 +653000 ekin = 1.8632014818754 | erot = 0.999771298705831 | epot = -10.9967564485357 | etot = -8.13378366795446 +654000 ekin = 1.74159938814677 | erot = 0.993638993438291 | epot = -10.8690220496012 | etot = -8.13378366801616 +655000 ekin = 1.63877614369834 | erot = 0.99396111064847 | epot = -10.7665209225295 | etot = -8.13378366818269 +656000 ekin = 1.55293696395135 | erot = 0.99997775151372 | epot = -10.6866983837903 | etot = -8.13378366832522 +657000 ekin = 1.48301105567609 | erot = 1.01069155842698 | epot = -10.627486282448 | etot = -8.13378366834489 +658000 ekin = 1.42991653837067 | erot = 1.02511295996319 | epot = -10.5888131665295 | etot = -8.13378366819568 +659000 ekin = 1.39703562138715 | erot = 1.04246417558196 | epot = -10.5732834648756 | etot = -8.13378366790645 +660000 ekin = 1.38964145717507 | erot = 1.06228082952887 | epot = -10.5857059542688 | etot = -8.13378366756489 +661000 ekin = 1.41337783446074 | erot = 1.08434723262789 | epot = -10.6315087344838 | etot = -8.13378366739522 +662000 ekin = 1.47169034623175 | erot = 1.10850483088196 | epot = -10.7139788446653 | etot = -8.13378366755156 +663000 ekin = 1.56097330117258 | erot = 1.13389735848915 | epot = -10.8286543284501 | etot = -8.13378366878835 +664000 ekin = 1.66624490141573 | erot = 1.15850228671561 | epot = -10.9585308578551 | etot = -8.13378366972376 +665000 ekin = 1.77303863683344 | erot = 1.18152952436704 | epot = -11.0883518320138 | etot = -8.13378367081329 +666000 ekin = 1.86640057267678 | erot = 1.20258304577907 | epot = -11.2027672900442 | etot = -8.13378367158832 +667000 ekin = 1.9346641284443 | erot = 1.22193419209587 | epot = -11.290381992343 | etot = -8.13378367180279 +668000 ekin = 1.97306030160823 | erot = 1.24062017117798 | epot = -11.3474641442117 | etot = -8.13378367142545 +669000 ekin = 1.98443783015199 | erot = 1.26004202123897 | epot = -11.3782635220731 | etot = -8.13378367068217 +670000 ekin = 1.97652861960561 | erot = 1.28134194903652 | epot = -11.3916542388221 | etot = -8.13378367017995 +671000 ekin = 1.95649579507403 | erot = 1.30490078081445 | epot = -11.3951802456603 | etot = -8.1337836697718 +672000 ekin = 1.92875532524812 | erot = 1.33065660860772 | epot = -11.3931956034157 | etot = -8.13378366955981 +673000 ekin = 1.89553670234891 | erot = 1.35854540532999 | epot = -11.3878657771455 | etot = -8.13378366946663 +674000 ekin = 1.85764904371203 | erot = 1.38884570042997 | epot = -11.3802784134864 | etot = -8.13378366934444 +675000 ekin = 1.81704545016694 | erot = 1.42228413602671 | epot = -11.3731132554539 | etot = -8.1337836692603 +676000 ekin = 1.7750503130216 | erot = 1.45971003520997 | epot = -11.3685440173268 | etot = -8.1337836690952 +677000 ekin = 1.73347451738065 | erot = 1.50191216830985 | epot = -11.3691703546418 | etot = -8.13378366895131 +678000 ekin = 1.69449339358072 | erot = 1.54922606356397 | epot = -11.3775031260608 | etot = -8.13378366891607 +679000 ekin = 1.65969071095476 | erot = 1.60118456835957 | epot = -11.3946589483456 | etot = -8.13378366903128 +680000 ekin = 1.62957005386514 | erot = 1.65634116856091 | epot = -11.419694891712 | etot = -8.13378366928597 +681000 ekin = 1.60362252583862 | erot = 1.71228358650055 | epot = -11.4496897819657 | etot = -8.13378366962654 +682000 ekin = 1.58083074260915 | erot = 1.76582826436645 | epot = -11.4804426769555 | etot = -8.13378366997985 +683000 ekin = 1.56032431143573 | erot = 1.81338479145877 | epot = -11.5074927731734 | etot = -8.13378367027887 +684000 ekin = 1.54183455731289 | erot = 1.8514263216931 | epot = -11.527044549832 | etot = -8.13378367082606 +685000 ekin = 1.52410759953354 | erot = 1.87642082982803 | epot = -11.5343121004945 | etot = -8.13378367113297 +686000 ekin = 1.5049437943135 | erot = 1.88570070113279 | epot = -11.5244281668467 | etot = -8.13378367140037 +687000 ekin = 1.48208036602091 | erot = 1.87831367877112 | epot = -11.4941777163977 | etot = -8.13378367160572 +688000 ekin = 1.45289287170997 | erot = 1.85497856858115 | epot = -11.4416551119339 | etot = -8.13378367164282 +689000 ekin = 1.41601907826878 | erot = 1.8181143733986 | epot = -11.3679171230061 | etot = -8.13378367133873 +690000 ekin = 1.37394775601603 | erot = 1.77166312482271 | epot = -11.279394551396 | etot = -8.13378367055722 +691000 ekin = 1.33508615026709 | erot = 1.72071496345702 | epot = -11.1895847830556 | etot = -8.1337836693315 +692000 ekin = 1.31344376462008 | erot = 1.6709415973921 | epot = -11.118169029959 | etot = -8.13378366794681 +693000 ekin = 1.32488046352489 | erot = 1.62783697427223 | epot = -11.0865011046813 | etot = -8.13378366688415 +694000 ekin = 1.38078608515558 | erot = 1.59583179962592 | epot = -11.1104015514061 | etot = -8.13378366662458 +695000 ekin = 1.4819286119433 | erot = 1.57745304972118 | epot = -11.1931653290714 | etot = -8.13378366740697 +696000 ekin = 1.61569966782267 | erot = 1.57278041413535 | epot = -11.3222637510478 | etot = -8.13378366908982 +697000 ekin = 1.75843097225773 | erot = 1.5794352070708 | epot = -11.4716498505421 | etot = -8.13378367121361 +698000 ekin = 1.88185215243157 | erot = 1.59316882050077 | epot = -11.6088046461155 | etot = -8.13378367318316 +699000 ekin = 1.96106579222868 | erot = 1.60896306328376 | epot = -11.7038125299747 | etot = -8.13378367446226 +700000 ekin = 1.98131680928092 | erot = 1.62236339268018 | epot = -11.7374638766874 | etot = -8.13378367472627 +701000 ekin = 1.94164145678029 | erot = 1.63062825678504 | epot = -11.7060533875154 | etot = -8.13378367395007 +702000 ekin = 1.85450233236432 | erot = 1.63328569347074 | epot = -11.6215716982522 | etot = -8.13378367241717 +703000 ekin = 1.74181404901883 | erot = 1.63189519924278 | epot = -11.5074929187023 | etot = -8.13378367044066 +704000 ekin = 1.62890053392861 | erot = 1.62932624835339 | epot = -11.3920104511708 | etot = -8.13378366888879 +705000 ekin = 1.53704055722126 | erot = 1.62828297741702 | epot = -11.2991072023952 | etot = -8.13378366775691 +706000 ekin = 1.48137553847377 | erot = 1.63090498224899 | epot = -11.2460641878539 | etot = -8.13378366713111 +707000 ekin = 1.47012654282495 | erot = 1.63856880534838 | epot = -11.2424790151173 | etot = -8.13378366694392 +708000 ekin = 1.50545482955628 | erot = 1.65189802604224 | epot = -11.2911365226655 | etot = -8.13378366706695 +709000 ekin = 1.58434919610858 | erot = 1.67079586454412 | epot = -11.3889287283693 | etot = -8.13378366771659 +710000 ekin = 1.69830399757237 | erot = 1.69420639269681 | epot = -11.5262940587721 | etot = -8.13378366850288 +711000 ekin = 1.83638650813968 | erot = 1.72024670585802 | epot = -11.69041688351 | etot = -8.13378366951231 +712000 ekin = 1.98510691885688 | erot = 1.74609277600621 | epot = -11.8649833656744 | etot = -8.13378367081131 +713000 ekin = 2.12899307607566 | erot = 1.76804611036611 | epot = -12.0308228584888 | etot = -8.133783672047 +714000 ekin = 2.25375007867489 | erot = 1.78243264220262 | epot = -12.1699663936981 | etot = -8.13378367282057 +715000 ekin = 2.34975342428074 | erot = 1.78632122199589 | epot = -12.2698583195751 | etot = -8.13378367329848 +716000 ekin = 2.41256025247786 | erot = 1.77808812739576 | epot = -12.3244320530442 | etot = -8.1337836731706 +717000 ekin = 2.44474770533408 | erot = 1.75804788158726 | epot = -12.3365792594606 | etot = -8.13378367253928 +718000 ekin = 2.45412216699224 | erot = 1.72831089152396 | epot = -12.3162167305459 | etot = -8.13378367202974 +719000 ekin = 2.44845378808475 | erot = 1.69204638277942 | epot = -12.2742838420344 | etot = -8.13378367117019 +720000 ekin = 2.43656682436293 | erot = 1.65329012896632 | epot = -12.2236406238981 | etot = -8.13378367056883 +721000 ekin = 2.42365620527341 | erot = 1.61605001915984 | epot = -12.1734898948091 | etot = -8.13378367037585 +722000 ekin = 2.40904119961221 | erot = 1.58378410647612 | epot = -12.1266089766817 | etot = -8.13378367059338 +723000 ekin = 2.38647147018379 | erot = 1.5591543354285 | epot = -12.0794094766778 | etot = -8.13378367106556 +724000 ekin = 2.34659231028328 | erot = 1.54397640919557 | epot = -12.0243523910145 | etot = -8.13378367153561 +725000 ekin = 2.28077035605073 | erot = 1.53931973011769 | epot = -11.953873757908 | etot = -8.13378367173957 +726000 ekin = 2.18489434293367 | erot = 1.54571264597085 | epot = -11.8643906604075 | etot = -8.13378367150295 +727000 ekin = 2.06179491790743 | erot = 1.56339646487188 | epot = -11.7589750535815 | etot = -8.13378367080221 +728000 ekin = 1.92142302776613 | erot = 1.59252552382201 | epot = -11.6477322213728 | etot = -8.13378366978461 +729000 ekin = 1.7786316146568 | erot = 1.63318133793184 | epot = -11.54559662132 | etot = -8.13378366873134 +730000 ekin = 1.64935549787589 | erot = 1.68520345513118 | epot = -11.4683426209853 | etot = -8.13378366797823 +731000 ekin = 1.54617340796522 | erot = 1.74777370759381 | epot = -11.4277307833247 | etot = -8.13378366776571 +732000 ekin = 1.47444012320943 | erot = 1.8187602583582 | epot = -11.4269840497119 | etot = -8.13378366814423 +733000 ekin = 1.43189319810384 | erot = 1.8948402703279 | epot = -11.4605171374292 | etot = -8.13378366899749 +734000 ekin = 1.41017780820349 | erot = 1.97174677425865 | epot = -11.5157082525239 | etot = -8.1337836700618 +735000 ekin = 1.39820849328343 | erot = 2.04483940824941 | epot = -11.5768315725393 | etot = -8.1337836710065 +736000 ekin = 1.38628872351253 | erot = 2.1098536340491 | epot = -11.6299260291058 | etot = -8.13378367154417 +737000 ekin = 1.3696159670461 | erot = 2.16355925930541 | epot = -11.6669588978971 | etot = -8.13378367154559 +738000 ekin = 1.34981044658826 | erot = 2.20404797659553 | epot = -11.6876420942915 | etot = -8.13378367110774 +739000 ekin = 1.33372653216474 | erot = 2.23055395777236 | epot = -11.6980641604352 | etot = -8.13378367049808 +740000 ekin = 1.33016419311742 | erot = 2.24303198933016 | epot = -11.7069798524316 | etot = -8.13378366998406 +741000 ekin = 1.34641052660523 | erot = 2.2418933687602 | epot = -11.722087565038 | etot = -8.13378366967257 +742000 ekin = 1.38645577656229 | erot = 2.2280983694918 | epot = -11.748337815579 | etot = -8.13378366952496 +743000 ekin = 1.4510387919922 | erot = 2.20332817127167 | epot = -11.7881506327665 | etot = -8.13378366950266 +744000 ekin = 1.53803120220374 | erot = 2.16985299828934 | epot = -11.8416678701917 | etot = -8.13378366969864 +745000 ekin = 1.64150939165489 | erot = 2.12988595975108 | epot = -11.9051790216586 | etot = -8.13378367025267 +746000 ekin = 1.75074962766362 | erot = 2.08470317830682 | epot = -11.9692364772328 | etot = -8.13378367126234 +747000 ekin = 1.84985303113073 | erot = 2.0339872913426 | epot = -12.0176239951097 | etot = -8.13378367263638 +748000 ekin = 1.91944439125361 | erot = 1.97579729240617 | epot = -12.0290253577289 | etot = -8.13378367406914 +749000 ekin = 1.94080211587133 | erot = 1.90728805394724 | epot = -11.9818738449124 | etot = -8.1337836750938 +750000 ekin = 1.90175708673705 | erot = 1.82602227403895 | epot = -11.861563035914 | etot = -8.13378367513804 +751000 ekin = 1.80442251324645 | erot = 1.7321012366993 | epot = -11.670307424271 | etot = -8.13378367432528 +752000 ekin = 1.66438096321275 | erot = 1.62791173828973 | epot = -11.4260763737786 | etot = -8.13378367227611 +753000 ekin = 1.50959112385597 | erot = 1.51791168440983 | epot = -11.1612864778433 | etot = -8.13378366957754 +754000 ekin = 1.37530205546013 | erot = 1.40846180212372 | epot = -10.9175475248216 | etot = -8.13378366723778 +755000 ekin = 1.29223158165298 | erot = 1.30628357861316 | epot = -10.7322988261433 | etot = -8.13378366587714 +756000 ekin = 1.27251368855664 | erot = 1.21592403406034 | epot = -10.622221389072 | etot = -8.13378366645503 +757000 ekin = 1.3063477675277 | erot = 1.13861892044261 | epot = -10.5787503558979 | etot = -8.13378366792755 +758000 ekin = 1.37185376245963 | erot = 1.07351073773517 | epot = -10.5791481696797 | etot = -8.13378366948489 +759000 ekin = 1.44617278821708 | erot = 1.01897341845061 | epot = -10.5989298771412 | etot = -8.13378367047352 +760000 ekin = 1.51270256468479 | erot = 0.973207034238996 | epot = -10.6196932700383 | etot = -8.13378367111452 +761000 ekin = 1.56039612690742 | erot = 0.934439072347236 | epot = -10.6286188702826 | etot = -8.13378367102797 +762000 ekin = 1.58948756751959 | erot = 0.901622732001468 | epot = -10.6248939699753 | etot = -8.13378367045428 +763000 ekin = 1.60810008590181 | erot = 0.874391507913214 | epot = -10.6162752634854 | etot = -8.13378366967037 +764000 ekin = 1.62768531411594 | erot = 0.852689319830039 | epot = -10.6141583029053 | etot = -8.13378366895929 +765000 ekin = 1.65693698081253 | erot = 0.836745239181655 | epot = -10.6274658895677 | etot = -8.13378366957356 +766000 ekin = 1.70304081012829 | erot = 0.827639758152331 | epot = -10.6644642390248 | etot = -8.13378367074414 +767000 ekin = 1.76603010798667 | erot = 0.81974578700517 | epot = -10.7195595663148 | etot = -8.13378367132295 +768000 ekin = 1.83976621723509 | erot = 0.813915606837078 | epot = -10.7874654957709 | etot = -8.13378367169871 +769000 ekin = 1.91953928651817 | erot = 0.809315266677004 | epot = -10.8626382251893 | etot = -8.13378367199416 +770000 ekin = 2.00068337345698 | erot = 0.805269377276929 | epot = -10.9397364229584 | etot = -8.13378367222448 +771000 ekin = 2.07932607078706 | erot = 0.80147001562 | epot = -11.014579758772 | etot = -8.13378367236493 +772000 ekin = 2.15218258745307 | erot = 0.797728511921629 | epot = -11.083694771944 | etot = -8.13378367256931 +773000 ekin = 2.21516346354871 | erot = 0.793769932241683 | epot = -11.1427170687097 | etot = -8.1337836729193 +774000 ekin = 2.26234547281743 | erot = 0.789120208401059 | epot = -11.1852493546222 | etot = -8.13378367340368 +775000 ekin = 2.28747439980972 | erot = 0.782940858199211 | epot = -11.2041989315137 | etot = -8.13378367350475 +776000 ekin = 2.28487294038536 | erot = 0.774236455913865 | epot = -11.1928930693656 | etot = -8.13378367306634 +777000 ekin = 2.25459623244261 | erot = 0.763986238683991 | epot = -11.1523661446313 | etot = -8.13378367350472 +778000 ekin = 2.19483848041185 | erot = 0.752926118565648 | epot = -11.081548272629 | etot = -8.13378367365153 +779000 ekin = 2.10207554487761 | erot = 0.741428699427813 | epot = -10.9772879179982 | etot = -8.13378367369273 +780000 ekin = 1.97507844679113 | erot = 0.730439747748102 | epot = -10.8393018680354 | etot = -8.13378367349615 +781000 ekin = 1.81624238003515 | erot = 0.720681720809312 | epot = -10.6707077734064 | etot = -8.13378367256197 +782000 ekin = 1.63737680012838 | erot = 0.713965531438875 | epot = -10.4851260030337 | etot = -8.13378367146641 +783000 ekin = 1.45327094417962 | erot = 0.712334775603849 | epot = -10.2993893901241 | etot = -8.13378367034059 +784000 ekin = 1.27931304209992 | erot = 0.71779531661219 | epot = -10.1308920280318 | etot = -8.13378366931973 +785000 ekin = 1.12953341848653 | erot = 0.732133377099077 | epot = -9.99545046411213 | etot = -8.13378366852652 +786000 ekin = 1.01482431832703 | erot = 0.756760281246955 | epot = -9.90536826762429 | etot = -8.13378366805031 +787000 ekin = 0.941643964044434 | erot = 0.792599099828181 | epot = -9.86802673180068 | etot = -8.13378366792806 +788000 ekin = 0.91151079646793 | erot = 0.840020856578546 | epot = -9.88531532117945 | etot = -8.13378366813298 +789000 ekin = 0.921376349391728 | erot = 0.898827357320721 | epot = -9.95398737530709 | etot = -8.13378366859464 +790000 ekin = 0.9646544828658 | erot = 0.968273092100882 | epot = -10.0667112441871 | etot = -8.13378366922042 +791000 ekin = 1.03261133414691 | erot = 1.04710148110145 | epot = -10.2134964851676 | etot = -8.13378366991922 +792000 ekin = 1.11580285041638 | erot = 1.13356945356443 | epot = -10.3831559745819 | etot = -8.1337836706011 +793000 ekin = 1.20528065119976 | erot = 1.22546277764171 | epot = -10.564527100092 | etot = -8.13378367125054 +794000 ekin = 1.29310700781807 | erot = 1.32020213136593 | epot = -10.7470928110086 | etot = -8.13378367182458 +795000 ekin = 1.3723846739092 | erot = 1.41513363954107 | epot = -10.9213019889899 | etot = -8.13378367553964 +796000 ekin = 1.40835913128026 | erot = 1.52971390249054 | epot = -11.0718567044156 | etot = -8.13378367064481 +797000 ekin = 1.45167190327184 | erot = 1.62512604238246 | epot = -11.2105816180017 | etot = -8.13378367234739 +798000 ekin = 1.48145722834957 | erot = 1.70064689495111 | epot = -11.3158877957753 | etot = -8.13378367247457 +799000 ekin = 1.49559633330505 | erot = 1.76394329937706 | epot = -11.3933233051004 | etot = -8.13378367241832 +800000 ekin = 1.49744893759607 | erot = 1.81327291254695 | epot = -11.4445055223102 | etot = -8.1337836721672 +801000 ekin = 1.49251279283597 | erot = 1.84780559270302 | epot = -11.4741020572375 | etot = -8.13378367169853 +802000 ekin = 1.48820480026236 | erot = 1.86779013860696 | epot = -11.4897786099793 | etot = -8.13378367110997 +803000 ekin = 1.49253566034238 | erot = 1.87451451163578 | epot = -11.5008338425624 | etot = -8.13378367058421 +804000 ekin = 1.51166035417666 | erot = 1.86997050308506 | epot = -11.5154145275931 | etot = -8.13378367033143 +805000 ekin = 1.54725262755389 | erot = 1.85635941628183 | epot = -11.5373957143256 | etot = -8.13378367048987 +806000 ekin = 1.59533620613465 | erot = 1.83572111149178 | epot = -11.5648409882672 | etot = -8.13378367064076 +807000 ekin = 1.64925672138757 | erot = 1.81037056523643 | epot = -11.5934109580015 | etot = -8.13378367137749 +808000 ekin = 1.69787116881872 | erot = 1.78132459583089 | epot = -11.6129794367426 | etot = -8.13378367209299 +809000 ekin = 1.73004744199967 | erot = 1.74897468672994 | epot = -11.6128058013083 | etot = -8.1337836725787 +810000 ekin = 1.73831051770698 | erot = 1.71353607854315 | epot = -11.5856302700131 | etot = -8.13378367376295 +811000 ekin = 1.7162354887398 | erot = 1.67428462338951 | epot = -11.5243037856423 | etot = -8.133783673513 +812000 ekin = 1.66416936436974 | erot = 1.63115164433668 | epot = -11.4291046815542 | etot = -8.13378367284779 +813000 ekin = 1.59176171300662 | erot = 1.58513406243102 | epot = -11.3106794472763 | etot = -8.13378367183862 +814000 ekin = 1.51369575693279 | erot = 1.53752063411452 | epot = -11.1850000616746 | etot = -8.13378367062732 +815000 ekin = 1.44735421386905 | erot = 1.48989097524506 | epot = -11.071028858542 | etot = -8.13378366942792 +816000 ekin = 1.40949972408348 | erot = 1.44406671640762 | epot = -10.9873501089771 | etot = -8.13378366848597 +817000 ekin = 1.41268037634604 | erot = 1.40200084691418 | epot = -10.9484648912749 | etot = -8.13378366801463 +818000 ekin = 1.46212175596086 | erot = 1.36558649852231 | epot = -10.9614919226108 | etot = -8.1337836681276 +819000 ekin = 1.55434977604764 | erot = 1.33645466066158 | epot = -11.0245881054313 | etot = -8.13378366872208 +820000 ekin = 1.67879137058879 | erot = 1.31590146910598 | epot = -11.1284765092722 | etot = -8.1337836695774 +821000 ekin = 1.82107935909666 | erot = 1.30489182417681 | epot = -11.259754853713 | etot = -8.13378367043957 +822000 ekin = 1.9529446717066 | erot = 1.31620698806857 | epot = -11.4029353293376 | etot = -8.13378366956246 +823000 ekin = 2.07449183435307 | erot = 1.3446643767535 | epot = -11.5529398818435 | etot = -8.13378367073694 +824000 ekin = 2.19907919231085 | erot = 1.36469015519565 | epot = -11.6975530184859 | etot = -8.13378367097939 +825000 ekin = 2.30563380852721 | erot = 1.39476757249072 | epot = -11.8341850522209 | etot = -8.13378367120299 +826000 ekin = 2.39103701046294 | erot = 1.43354131731499 | epot = -11.9583619995925 | etot = -8.13378367181457 +827000 ekin = 2.44908730536611 | erot = 1.47824974984668 | epot = -12.061120727616 | etot = -8.13378367240325 +828000 ekin = 2.4740049529018 | erot = 1.52536858756854 | epot = -12.1331572135331 | etot = -8.13378367306277 +829000 ekin = 2.46026919624821 | erot = 1.57083289943084 | epot = -12.1648857692761 | etot = -8.13378367359711 +830000 ekin = 2.40417117647821 | erot = 1.61070673269887 | epot = -12.1486615829649 | etot = -8.13378367378778 +831000 ekin = 2.3062679748487 | erot = 1.64206892676616 | epot = -12.0821205750573 | etot = -8.13378367344244 +832000 ekin = 2.17314973564168 | erot = 1.66378895251181 | epot = -11.9707223607483 | etot = -8.13378367259479 +833000 ekin = 2.0166788310753 | erot = 1.67684011521384 | epot = -11.8273026176896 | etot = -8.13378367140051 +834000 ekin = 1.85232718548849 | erot = 1.68370832836246 | epot = -11.6698191839383 | etot = -8.13378367008734 +835000 ekin = 1.696162825951 | erot = 1.68768571717172 | epot = -11.5176322122076 | etot = -8.13378366908484 +836000 ekin = 1.56059049397783 | erot = 1.69176135975103 | epot = -11.3861355311657 | etot = -8.13378367743684 +837000 ekin = 1.46494691483958 | erot = 1.67922598600668 | epot = -11.2779565659497 | etot = -8.13378366510345 +838000 ekin = 1.41623376497621 | erot = 1.68359587922025 | epot = -11.2336133184481 | etot = -8.13378367425162 +839000 ekin = 1.38164226048355 | erot = 1.69827238732617 | epot = -11.2136983224206 | etot = -8.13378367461086 +840000 ekin = 1.37281419759143 | erot = 1.71791872251442 | epot = -11.2245165952046 | etot = -8.13378367509872 +841000 ekin = 1.38251849257029 | erot = 1.74222357851784 | epot = -11.2585257466759 | etot = -8.13378367558775 +842000 ekin = 1.40440816037656 | erot = 1.77053653211612 | epot = -11.3087283685373 | etot = -8.13378367604459 +843000 ekin = 1.43288890065947 | erot = 1.80208713667178 | epot = -11.3687597138102 | etot = -8.13378367647898 +844000 ekin = 1.46337506006249 | erot = 1.83581425282211 | epot = -11.4329729898064 | etot = -8.13378367692178 +845000 ekin = 1.49225139202149 | erot = 1.87011931212423 | epot = -11.4961543815405 | etot = -8.13378367739482 +846000 ekin = 1.51675477732079 | erot = 1.90271354992434 | epot = -11.5532520051143 | etot = -8.1337836778692 +847000 ekin = 1.53514567840233 | erot = 1.93076451235142 | epot = -11.5996938689732 | etot = -8.1337836782195 +848000 ekin = 1.54758817369235 | erot = 1.95149729814727 | epot = -11.6328691500911 | etot = -8.1337836782515 +849000 ekin = 1.55740275464435 | erot = 1.96313933262388 | epot = -11.6543257651229 | etot = -8.13378367785465 +850000 ekin = 1.57132389478935 | erot = 1.96572299040244 | epot = -11.6708305623722 | etot = -8.13378367718037 +851000 ekin = 1.59707563407619 | erot = 1.96110149806653 | epot = -11.6919608087796 | etot = -8.13378367663691 +852000 ekin = 1.63865350681412 | erot = 1.95197424490086 | epot = -11.7244114283858 | etot = -8.13378367667083 +853000 ekin = 1.69191652620986 | erot = 1.94037118659739 | epot = -11.7660713902747 | etot = -8.13378367746741 +854000 ekin = 1.74370783938037 | erot = 1.92645693729426 | epot = -11.8039484553812 | etot = -8.13378367870661 +855000 ekin = 1.77620146768418 | erot = 1.90847431922648 | epot = -11.8184594668595 | etot = -8.13378367994886 +856000 ekin = 1.77433273067642 | erot = 1.88315817895787 | epot = -11.7912745901343 | etot = -8.13378368050002 +857000 ekin = 1.73346273112572 | erot = 1.84735528625896 | epot = -11.7146016973811 | etot = -8.13378367999646 +858000 ekin = 1.66317903363266 | erot = 1.7994664359098 | epot = -11.5964291480754 | etot = -8.1337836785329 +859000 ekin = 1.58513293587896 | erot = 1.74007953778942 | epot = -11.4589961502843 | etot = -8.13378367661596 +860000 ekin = 1.52581941899221 | erot = 1.67168470683099 | epot = -11.3312878007233 | etot = -8.13378367490011 +861000 ekin = 1.50775028862609 | erot = 1.59782760852934 | epot = -11.2393615710195 | etot = -8.13378367386411 +862000 ekin = 1.54306866516068 | erot = 1.52225954350351 | epot = -11.1991118823091 | etot = -8.13378367364494 +863000 ekin = 1.63171594825787 | erot = 1.44845127666277 | epot = -11.213950899006 | etot = -8.13378367408539 +864000 ekin = 1.76367870922739 | erot = 1.37946093989893 | epot = -11.2769233240372 | etot = -8.13378367491086 +865000 ekin = 1.92306453203341 | erot = 1.31796433684458 | epot = -11.3748125447456 | etot = -8.13378367586766 +866000 ekin = 2.09215456621248 | erot = 1.26628925949238 | epot = -11.4922275022635 | etot = -8.13378367655859 +867000 ekin = 2.25558706900038 | erot = 1.22649711081648 | epot = -11.6158678571089 | etot = -8.13378367729208 +868000 ekin = 2.40057443855628 | erot = 1.20017706470873 | epot = -11.7345351810599 | etot = -8.13378367779485 +869000 ekin = 2.51819395481234 | erot = 1.18842551852403 | epot = -11.8404031514077 | etot = -8.1337836780713 +870000 ekin = 2.60380767867222 | erot = 1.19178595581356 | epot = -11.9293773127034 | etot = -8.13378367821764 +871000 ekin = 2.65597330736975 | erot = 1.21008900039281 | epot = -11.9998459860857 | etot = -8.13378367832316 +872000 ekin = 2.67413391935025 | erot = 1.24223617324268 | epot = -12.0501537713228 | etot = -8.13378367872988 +873000 ekin = 2.6552381342363 | erot = 1.28590823623526 | epot = -12.074930049832 | etot = -8.13378367936043 +874000 ekin = 2.59426343771486 | erot = 1.33769628052759 | epot = -12.0657433982658 | etot = -8.13378368002336 +875000 ekin = 2.48661884983932 | erot = 1.39359938638622 | epot = -12.0140019165834 | etot = -8.13378368035786 +876000 ekin = 2.33257163351496 | erot = 1.44985984400568 | epot = -11.9162151575154 | etot = -8.13378367999475 +877000 ekin = 2.14151731604679 | erot = 1.50380376702378 | epot = -11.7791047618951 | etot = -8.13378367882451 +878000 ekin = 1.932832003629 | erot = 1.55419737626239 | epot = -11.6208130570763 | etot = -8.13378367718492 +879000 ekin = 1.73117573621979 | erot = 1.60084517426536 | epot = -11.4658045862297 | etot = -8.13378367574457 +880000 ekin = 1.55787151334954 | erot = 1.64373016529537 | epot = -11.3353853536958 | etot = -8.13378367505087 +881000 ekin = 1.42384142186798 | erot = 1.68244604597635 | epot = -11.2400711429721 | etot = -8.1337836751278 +882000 ekin = 1.32893688552342 | erot = 1.71640874220465 | epot = -11.1791293032808 | etot = -8.13378367555272 +883000 ekin = 1.26714280188822 | erot = 1.74554142973579 | epot = -11.1464679073511 | etot = -8.13378367572706 +884000 ekin = 1.23268823939063 | erot = 1.77071758338062 | epot = -11.1371894987175 | etot = -8.13378367594624 +885000 ekin = 1.22008849592431 | erot = 1.793121667761 | epot = -11.1469938397908 | etot = -8.13378367610554 +886000 ekin = 1.22532479940098 | erot = 1.81382115988278 | epot = -11.1729296355223 | etot = -8.13378367623854 +887000 ekin = 1.24494548145927 | erot = 1.83336039585811 | epot = -11.21208955378 | etot = -8.13378367646266 +888000 ekin = 1.27500212940806 | erot = 1.85168867062894 | epot = -11.2604744767863 | etot = -8.13378367674929 +889000 ekin = 1.31152735306242 | erot = 1.86844690092859 | epot = -11.3137579310936 | etot = -8.13378367710254 +890000 ekin = 1.3498631765703 | erot = 1.88304641021545 | epot = -11.3666932643095 | etot = -8.13378367752371 +891000 ekin = 1.38390530587808 | erot = 1.89468392872775 | epot = -11.4123729126909 | etot = -8.13378367808506 +892000 ekin = 1.40569396149735 | erot = 1.9022674860451 | epot = -11.4417451265517 | etot = -8.13378367900926 +893000 ekin = 1.40448289128716 | erot = 1.90432470721805 | epot = -11.4425912782068 | etot = -8.13378367970162 +894000 ekin = 1.37144289541472 | erot = 1.89954368983534 | epot = -11.4047702652371 | etot = -8.13378367998709 +895000 ekin = 1.30348486055177 | erot = 1.88750422908343 | epot = -11.3247727658088 | etot = -8.13378367617357 +896000 ekin = 1.22187337143717 | erot = 1.87071061589499 | epot = -11.2263676628434 | etot = -8.13378367551128 +897000 ekin = 1.14754845934872 | erot = 1.85263803756603 | epot = -11.1339701714171 | etot = -8.13378367450233 +898000 ekin = 1.08944016800739 | erot = 1.83653761246719 | epot = -11.0597614543947 | etot = -8.13378367392007 +899000 ekin = 1.05403951309466 | erot = 1.82413022548821 | epot = -11.0119534121708 | etot = -8.13378367358794 +900000 ekin = 1.04500203485724 | erot = 1.81619426241825 | epot = -10.994979970873 | etot = -8.13378367359756 +901000 ekin = 1.06222207054372 | erot = 1.8123440301414 | epot = -11.0083497746079 | etot = -8.13378367392275 +902000 ekin = 1.10209714029207 | erot = 1.81111462834152 | epot = -11.0469954430829 | etot = -8.13378367444936 +903000 ekin = 1.15876030972024 | erot = 1.81037876509514 | epot = -11.1029227498417 | etot = -8.13378367502628 +904000 ekin = 1.22532881895693 | erot = 1.80797942269356 | epot = -11.1670919176146 | etot = -8.13378367596416 +905000 ekin = 1.29206809096424 | erot = 1.80250391168621 | epot = -11.2283556791119 | etot = -8.13378367646147 +906000 ekin = 1.35183435772567 | erot = 1.79300035909436 | epot = -11.2786183935736 | etot = -8.13378367675354 +907000 ekin = 1.39979991721213 | erot = 1.77946415986595 | epot = -11.3130477540359 | etot = -8.13378367695782 +908000 ekin = 1.43268044609659 | erot = 1.76253539590784 | epot = -11.3289995190119 | etot = -8.13378367700745 +909000 ekin = 1.44897967082509 | erot = 1.74341748083575 | epot = -11.3261808285436 | etot = -8.13378367688281 +910000 ekin = 1.44937912071043 | erot = 1.72390580468978 | epot = -11.307068601954 | etot = -8.13378367655379 +911000 ekin = 1.43727653438468 | erot = 1.70617572444023 | epot = -11.2772359348716 | etot = -8.13378367604669 +912000 ekin = 1.41843447946169 | erot = 1.69263823279422 | epot = -11.2448563876992 | etot = -8.13378367544329 +913000 ekin = 1.40006193727622 | erot = 1.68549441014308 | epot = -11.219340022283 | etot = -8.13378367486371 +914000 ekin = 1.38958825652739 | erot = 1.68634774669615 | epot = -11.2097196776933 | etot = -8.13378367446975 +915000 ekin = 1.39244840974392 | erot = 1.69595180429013 | epot = -11.2221838884456 | etot = -8.13378367441153 +916000 ekin = 1.41015013786076 | erot = 1.71401831934436 | epot = -11.2579521319716 | etot = -8.13378367476645 +917000 ekin = 1.4392962874655 | erot = 1.73916763957947 | epot = -11.3122476025345 | etot = -8.13378367548949 +918000 ekin = 1.47227942008796 | erot = 1.76903078778361 | epot = -11.3750938842682 | etot = -8.13378367639659 +919000 ekin = 1.49986621134982 | erot = 1.80052098765843 | epot = -11.4341708761906 | etot = -8.13378367718234 +920000 ekin = 1.51501276726728 | erot = 1.83027923157205 | epot = -11.479075676427 | etot = -8.13378367758768 +921000 ekin = 1.50567012576534 | erot = 1.85806252988137 | epot = -11.4975163324903 | etot = -8.13378367684357 +922000 ekin = 1.50530570323642 | erot = 1.88405749106785 | epot = -11.5231468709211 | etot = -8.13378367661687 +923000 ekin = 1.51005072433124 | erot = 1.89398296690106 | epot = -11.5378173670833 | etot = -8.13378367585097 +924000 ekin = 1.52928061407801 | erot = 1.89561779618601 | epot = -11.5586820856961 | etot = -8.13378367543205 +925000 ekin = 1.56873673478303 | erot = 1.88910082537247 | epot = -11.5916212358692 | etot = -8.13378367571368 +926000 ekin = 1.623719119736 | erot = 1.87429650615988 | epot = -11.6317993025749 | etot = -8.13378367667902 +927000 ekin = 1.67952368823402 | erot = 1.85068760729924 | epot = -11.6639949734866 | etot = -8.13378367795335 +928000 ekin = 1.71651232215492 | erot = 1.81783745617795 | epot = -11.6681334573616 | etot = -8.13378367902875 +929000 ekin = 1.71702543500849 | erot = 1.7761409547827 | epot = -11.6269500692948 | etot = -8.13378367950356 +930000 ekin = 1.67099558011226 | erot = 1.72742888865563 | epot = -11.5322081479668 | etot = -8.13378367919888 +931000 ekin = 1.57874462940356 | erot = 1.67513457878369 | epot = -11.3876628863509 | etot = -8.13378367816365 +932000 ekin = 1.45079208833672 | erot = 1.62392798294326 | epot = -11.208503747902 | etot = -8.13378367662198 +933000 ekin = 1.30531756655107 | erot = 1.57894108978416 | epot = -11.0180423312269 | etot = -8.1337836748917 +934000 ekin = 1.16422089209607 | erot = 1.54485802085233 | epot = -10.8428625862405 | etot = -8.1337836732921 +935000 ekin = 1.04864498106518 | erot = 1.52509208502931 | epot = -10.7075207382517 | etot = -8.13378367215725 +936000 ekin = 0.97470928197414 | erot = 1.52116327413384 | epot = -10.6296562277879 | etot = -8.13378367167996 +937000 ekin = 0.950462284702358 | erot = 1.53244919059087 | epot = -10.616695147248 | etot = -8.13378367195482 +938000 ekin = 0.974421294583295 | erot = 1.55616006625871 | epot = -10.6643650337801 | etot = -8.13378367293808 +939000 ekin = 1.03606886759094 | erot = 1.58755449221726 | epot = -10.7574070342586 | etot = -8.13378367445039 +940000 ekin = 1.11826840897929 | erot = 1.62042988761827 | epot = -10.8724819727897 | etot = -8.13378367619211 +941000 ekin = 1.20122028436166 | erot = 1.64794231894323 | epot = -10.9829462810871 | etot = -8.13378367778225 +942000 ekin = 1.26717763526718 | erot = 1.66371923758655 | epot = -11.0646805517328 | etot = -8.13378367887906 +943000 ekin = 1.30509212265462 | erot = 1.66314531188336 | epot = -11.1020211136571 | etot = -8.13378367911911 +944000 ekin = 1.3139237763007 | erot = 1.64449670932369 | epot = -11.0922041641376 | etot = -8.13378367851323 +945000 ekin = 1.30237464142681 | erot = 1.60929976332954 | epot = -11.0454580821011 | etot = -8.13378367734473 +946000 ekin = 1.28506402176001 | erot = 1.56181037072794 | epot = -10.9806580685974 | etot = -8.13378367610942 +947000 ekin = 1.27634122926031 | erot = 1.50774431809126 | epot = -10.9178692226282 | etot = -8.13378367527659 +948000 ekin = 1.28467886086298 | erot = 1.45281197104727 | epot = -10.8712745069726 | etot = -8.13378367506231 +949000 ekin = 1.31037739798746 | erot = 1.40157240487559 | epot = -10.8457334782341 | etot = -8.1337836753711 +950000 ekin = 1.34722619716906 | erot = 1.3568868979842 | epot = -10.8378967710771 | etot = -8.13378367592388 +951000 ekin = 1.38650860498497 | erot = 1.31991933557737 | epot = -10.8402116169905 | etot = -8.13378367642818 +952000 ekin = 1.421447087831 | erot = 1.29081153979046 | epot = -10.84604230425 | etot = -8.13378367662858 +953000 ekin = 1.44882630163939 | erot = 1.26905801707694 | epot = -10.8516679954638 | etot = -8.13378367674752 +954000 ekin = 1.46839021225272 | erot = 1.25288009756807 | epot = -10.8550539863921 | etot = -8.13378367657131 +955000 ekin = 1.48389177420735 | erot = 1.24071489729452 | epot = -10.8583903477773 | etot = -8.13378367627542 +956000 ekin = 1.50041047255739 | erot = 1.23152280194284 | epot = -10.865716950577 | etot = -8.13378367607677 +957000 ekin = 1.52124212096693 | erot = 1.22481048447594 | epot = -10.8798362815372 | etot = -8.13378367609429 +958000 ekin = 1.54632227618744 | erot = 1.22051886332113 | epot = -10.9006248157658 | etot = -8.13378367625721 +959000 ekin = 1.57324294423871 | erot = 1.21891910555264 | epot = -10.9259457261608 | etot = -8.1337836763695 +960000 ekin = 1.59969206086875 | erot = 1.22060656116838 | epot = -10.9540822984235 | etot = -8.1337836763864 +961000 ekin = 1.62253440888993 | erot = 1.22677323459116 | epot = -10.9830913197429 | etot = -8.13378367626177 +962000 ekin = 1.64127229281945 | erot = 1.23851881095622 | epot = -11.0135747798977 | etot = -8.133783676122 +963000 ekin = 1.65616190916698 | erot = 1.25678969037885 | epot = -11.0467352756897 | etot = -8.13378367614384 +964000 ekin = 1.66566514666451 | erot = 1.28218253876047 | epot = -11.0816313616704 | etot = -8.13378367624546 +965000 ekin = 1.66770285606757 | erot = 1.31455464601019 | epot = -11.1160411786495 | etot = -8.13378367657176 +966000 ekin = 1.6581069535733 | erot = 1.35314679870501 | epot = -11.145037429086 | etot = -8.13378367680773 +967000 ekin = 1.6340191426093 | erot = 1.39653020323183 | epot = -11.164333022772 | etot = -8.13378367693091 +968000 ekin = 1.59493851000743 | erot = 1.44254096624089 | epot = -11.171263153312 | etot = -8.13378367706365 +969000 ekin = 1.54116624535086 | erot = 1.4883056650783 | epot = -11.1632555877659 | etot = -8.13378367733677 +970000 ekin = 1.47195251630965 | erot = 1.53048570942868 | epot = -11.1362219034456 | etot = -8.13378367770727 +971000 ekin = 1.38571363570397 | erot = 1.56593199014109 | epot = -11.0854293034529 | etot = -8.13378367760786 +972000 ekin = 1.2844612509872 | erot = 1.59277024067381 | epot = -11.0110151691096 | etot = -8.13378367744862 +973000 ekin = 1.17320809752836 | erot = 1.61049478406713 | epot = -10.9174865582804 | etot = -8.13378367668489 +974000 ekin = 1.06313422542289 | erot = 1.62023440485558 | epot = -10.8171523056985 | etot = -8.13378367542 +975000 ekin = 0.97098763557619 | erot = 1.62445057720854 | epot = -10.7292218868794 | etot = -8.13378367409465 +976000 ekin = 0.91351783966156 | erot = 1.62592320586085 | epot = -10.6732247188146 | etot = -8.13378367329216 +977000 ekin = 0.900210301809895 | erot = 1.62660680269658 | epot = -10.6606007778788 | etot = -8.13378367337233 +978000 ekin = 0.928774961855102 | erot = 1.62702792387329 | epot = -10.6895865599753 | etot = -8.13378367424692 +979000 ekin = 0.986309691310116 | erot = 1.62661905645026 | epot = -10.7467124231103 | etot = -8.13378367534995 +980000 ekin = 1.0560418464208 | erot = 1.62477777160401 | epot = -10.8146032941482 | etot = -8.13378367612342 +981000 ekin = 1.12469745191456 | erot = 1.62193499389755 | epot = -10.8804161220952 | etot = -8.1337836762831 +982000 ekin = 1.18655422424979 | erot = 1.61989865006664 | epot = -10.9402365502154 | etot = -8.133783675899 +983000 ekin = 1.24323393226582 | erot = 1.6213893247498 | epot = -10.998406932262 | etot = -8.13378367524638 +984000 ekin = 1.3007289224841 | erot = 1.62917854395174 | epot = -11.0636911410593 | etot = -8.13378367462348 +985000 ekin = 1.3657579887055 | erot = 1.64530549445309 | epot = -11.1448471574172 | etot = -8.13378367425859 +986000 ekin = 1.44269014534723 | erot = 1.67060135266118 | epot = -11.2470751723069 | etot = -8.13378367429852 +987000 ekin = 1.53139017840676 | erot = 1.70450616378661 | epot = -11.3696800170058 | etot = -8.13378367481245 +988000 ekin = 1.62542517207335 | erot = 1.74490463007085 | epot = -11.504113477996 | etot = -8.13378367585183 +989000 ekin = 1.70973314631196 | erot = 1.78758054110428 | epot = -11.6310973645961 | etot = -8.13378367717991 +990000 ekin = 1.76834990883591 | erot = 1.82854801274317 | epot = -11.7306815999595 | etot = -8.13378367838041 +991000 ekin = 1.78717585350667 | erot = 1.86445265992369 | epot = -11.7854121925014 | etot = -8.133783679071 +992000 ekin = 1.75808069003026 | erot = 1.89344947584339 | epot = -11.7853138449038 | etot = -8.13378367903015 +993000 ekin = 1.68149922498393 | erot = 1.91587779315319 | epot = -11.7311606964116 | etot = -8.13378367827449 +994000 ekin = 1.56634005209159 | erot = 1.93428820863977 | epot = -11.6344119377119 | etot = -8.13378367698052 +995000 ekin = 1.4280735459805 | erot = 1.95281321443276 | epot = -11.5146704358241 | etot = -8.13378367541087 +996000 ekin = 1.28578073803757 | erot = 1.97614374563733 | epot = -11.395708157556 | etot = -8.13378367388114 +997000 ekin = 1.15849049936959 | erot = 2.00849321026896 | epot = -11.3007673823119 | etot = -8.13378367267339 +998000 ekin = 1.06172554149893 | erot = 2.05288173761918 | epot = -11.2483909510631 | etot = -8.133783671945 +999000 ekin = 1.00534863216522 | erot = 2.11083351117271 | epot = -11.2499658150715 | etot = -8.13378367173359 +1000000 ekin = 0.992888346872309 | erot = 2.18232106768115 | epot = -11.3089930865736 | etot = -8.1337836720201 + 1000000 0.073547285 -1.1520387 0.021139403 -1.0316105 -4.7686303e-05 64000 +Loop time of 13.756 on 4 procs for 1000000 steps with 10 atoms + +Performance: 62808.788 tau/day, 72695.357 timesteps/s +99.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 | 2.0908 | 4.5747 | 7.698 | 93.9 | 33.26 +Bond | 0.21019 | 0.2687 | 0.32615 | 9.6 | 1.95 +Neigh | 0.005636 | 0.0056895 | 0.005729 | 0.0 | 0.04 +Comm | 3.3072 | 6.7911 | 9.3078 | 83.5 | 49.37 +Output | 0.073535 | 0.076852 | 0.083027 | 1.3 | 0.56 +Modify | 0.57149 | 0.61083 | 0.65106 | 4.8 | 4.44 +Other | | 1.428 | | | 10.38 + +Nlocal: 2.50000 ave 3 max 2 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Nghost: 7.50000 ave 8 max 7 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Neighs: 9.25000 ave 16 max 1 min +Histogram: 1 0 0 1 0 0 0 0 1 1 + +Total # of neighbors = 37 +Ave neighs/atom = 3.7000000 +Ave special neighs/atom = 3.6000000 +Neighbor list builds = 1000 +Dangerous builds = 0 + +write_data last_config.${number}.* nocoeff +write_data last_config.3.* nocoeff +System init for write_data ... +#write_restart last_config.${number}.* +Total wall time: 0:00:13 diff --git a/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/in.duplex4.4type b/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/in.duplex4.4type index ebbd00c0e2..8be01b1b3e 100644 --- a/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/in.duplex4.4type +++ b/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/in.duplex4.4type @@ -11,7 +11,7 @@ units lj dimension 3 -newton off +newton on boundary p p p @@ -84,3 +84,4 @@ dump_modify out format line "%d %d %d %22.15le %22.15le %22.15le %d %d %d %22 run 1000000 write_data last_config.${number}.* nocoeff +#write_restart last_config.${number}.* diff --git a/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/in.duplex4.8type b/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/in.duplex4.8type index 9945dc5366..3223080aef 100644 --- a/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/in.duplex4.8type +++ b/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/in.duplex4.8type @@ -11,7 +11,7 @@ units lj dimension 3 -newton off +newton on boundary p p p @@ -84,3 +84,4 @@ dump_modify out format line "%d %d %d %22.15le %22.15le %22.15le %d %d %d %22 run 1000000 write_data last_config.${number}.* nocoeff +#write_restart last_config.${number}.* diff --git a/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.27May21.duplex4.4type.g++1 b/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.27May21.duplex4.4type.g++1 deleted file mode 100644 index 080db1e84f..0000000000 --- a/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.27May21.duplex4.4type.g++1 +++ /dev/null @@ -1,1229 +0,0 @@ -LAMMPS (27 May 2021) -variable number equal 4 -variable ofreq equal 1000 -variable efreq equal 1000 - -variable ntype equal 4 - -variable T equal 0.1 -variable rhos equal 0.2 - -units lj - -dimension 3 - -newton off - -boundary p p p - -atom_style hybrid bond ellipsoid oxdna -WARNING: Atom style hybrid defines both, per-type and per-atom masses; both must be set, but only per-atom masses will be used (../atom_vec_hybrid.cpp:157) -atom_modify sort 0 1.0 - -# Pair interactions require lists of neighbours to be calculated -neighbor 2.0 bin -neigh_modify every 10 delay 0 check yes - -read_data data.duplex4.4type -Reading data file ... - orthogonal box = (-20.000000 -20.000000 -20.000000) to (20.000000 20.000000 20.000000) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 26 atoms - reading velocities ... - 26 velocities - scanning bonds ... - 2 = max bonds/atom - 26 ellipsoids - reading bonds ... - 24 bonds -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 - 2 = max # of 1-3 neighbors - 4 = max # of 1-4 neighbors - 6 = max # of special neighbors - special bonds CPU = 0.000 seconds - read_data CPU = 0.003 seconds - -mass * 3.1575 # sets per-type mass if not in data file -set atom * mass 3.1575 # sets per-atom mass -Setting atom values ... - 26 settings made for mass - -group all type 1 4 -26 atoms in group all - -# oxDNA2 bond interactions - FENE backbone -bond_style oxdna2/fene -bond_coeff * 2.0 0.25 0.7564 -special_bonds lj 0 1 1 -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 1 1 - special bond factors coul: 0 0 0 - 2 = max # of 1-2 neighbors - 2 = max # of 1-3 neighbors - 4 = max # of 1-4 neighbors - 6 = max # of special neighbors - special bonds CPU = 0.000 seconds - -# oxDNA pair interactions -pair_style hybrid/overlay oxdna2/excv oxdna2/stk oxdna2/hbond oxdna2/xstk oxdna2/coaxstk oxdna2/dh -pair_coeff * * oxdna2/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32 -pair_coeff * * oxdna2/stk seqdep ${T} 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 -pair_coeff * * oxdna2/stk seqdep 0.1 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 -pair_coeff * * oxdna2/hbond seqdep 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 - -label loop -variable base loop ${ntype} -variable base loop 4 - variable basemod equal ${base}%4 - variable basemod equal 1%4 - if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" -variable comp equal ${base}+3 -variable comp equal 1+3 -pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 1 ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 1 4 oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 - if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" -next base -jump in.duplex4.4type loop -variable base loop ${ntype} -variable base loop 4 - variable basemod equal ${base}%4 - variable basemod equal 2%4 - if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" - if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" -variable comp equal ${base}+1 -variable comp equal 2+1 -pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 2 ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 2 3 oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -next base -jump in.duplex4.4type loop -variable base loop ${ntype} -variable base loop 4 - variable basemod equal ${base}%4 - variable basemod equal 3%4 - if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" - if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" -next base -jump in.duplex4.4type loop -variable base loop ${ntype} -variable base loop 4 - variable basemod equal ${base}%4 - variable basemod equal 4%4 - if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" - if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" -next base -jump in.duplex4.4type loop - -pair_coeff * * oxdna2/xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68 -pair_coeff * * oxdna2/coaxstk 58.5 0.4 0.6 0.22 0.58 2.0 2.891592653589793 0.65 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 40.0 3.116592653589793 -pair_coeff * * oxdna2/dh ${T} ${rhos} 0.815 -pair_coeff * * oxdna2/dh 0.1 ${rhos} 0.815 -pair_coeff * * oxdna2/dh 0.1 0.2 0.815 - -# Langevin dynamics -fix 1 all nve/asphere -fix 2 all langevin ${T} ${T} 2.5 457145 angmom 10 -fix 2 all langevin 0.1 ${T} 2.5 457145 angmom 10 -fix 2 all langevin 0.1 0.1 2.5 457145 angmom 10 - -timestep 1e-5 - -#comm_style tiled -fix 3 all balance 1000 1.03 shift xyz 10 1.03 -comm_modify cutoff 3.8 - -compute quat all property/atom quatw quati quatj quatk - -compute erot all erotate/asphere -compute ekin all ke -compute epot all pe -variable erot equal c_erot -variable ekin equal c_ekin -variable epot equal c_epot -variable etot equal c_erot+c_ekin+c_epot -fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes -fix 5 all print 1000 "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes - -dump out all custom ${ofreq} out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz -dump out all custom 1000 out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz -dump out all custom 1000 out.4.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz -dump_modify out sort id -dump_modify out format line "%d %d %d %22.15le %22.15le %22.15le %d %d %d %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le" - -run 1000000 -Neighbor list info ... - update every 10 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 5.6389877 - ghost atom cutoff = 5.6389877 - binsize = 2.8194939, bins = 15 15 15 - 5 neighbor lists, perpetual/occasional/extra = 5 0 0 - (1) pair oxdna2/excv, perpetual - attributes: half, newton off - pair build: half/bin/newtoff - stencil: full/bin/3d - bin: standard - (2) pair oxdna2/hbond, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (3) pair oxdna2/xstk, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (4) pair oxdna2/coaxstk, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (5) pair oxdna2/dh, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none -WARNING: Communication cutoff adjusted to 5.638987723814632 (../comm.cpp:739) -0 ekin = 3.74991604702378 | erot = 3.45272678980464 | epot = -37.374200901142 | etot = -30.1715580643136 -Per MPI rank memory allocation (min/avg/max) = 9.578 | 9.578 | 9.578 Mbytes -Step Temp E_pair E_mol TotEng Press Volume - 0 0.099997761 -1.4717559 0.03428661 -1.2932417 5.6146609e-05 64000 -1000 ekin = 3.83184879800819 | erot = 3.50203401022061 | epot = -37.4730508915114 | etot = -30.1391680832826 -2000 ekin = 3.82227374831519 | erot = 3.79878100905234 | epot = -37.616191007464 | etot = -29.9951362500965 -3000 ekin = 3.90938932030971 | erot = 4.1584025695072 | epot = -37.7430329723255 | etot = -29.6752410825086 -4000 ekin = 3.82373321902577 | erot = 4.12183047279799 | epot = -37.8313543569025 | etot = -29.8857906650788 -5000 ekin = 3.7245469506492 | erot = 4.29953523687407 | epot = -37.8617217220935 | etot = -29.8376395345702 -6000 ekin = 3.75585156536887 | erot = 4.31270713695362 | epot = -37.8280629310505 | etot = -29.759504228728 -7000 ekin = 3.79326740841051 | erot = 4.16508360466874 | epot = -37.7640947397914 | etot = -29.8057437267121 -8000 ekin = 3.74746489835263 | erot = 4.25243425677965 | epot = -37.6835135449588 | etot = -29.6836143898265 -9000 ekin = 3.70802697723782 | erot = 4.00193184819408 | epot = -37.589938820096 | etot = -29.8799799946641 -10000 ekin = 3.5813559764108 | erot = 3.86411518632768 | epot = -37.5041732418664 | etot = -30.0587020791279 -11000 ekin = 3.45122934445656 | erot = 4.17035352993105 | epot = -37.485988256137 | etot = -29.8644053817494 -12000 ekin = 3.42435863038455 | erot = 4.2148747253892 | epot = -37.5307136425246 | etot = -29.8914802867509 -13000 ekin = 3.40216979362994 | erot = 4.07292918248778 | epot = -37.6378499557145 | etot = -30.1627509795968 -14000 ekin = 3.29213315521691 | erot = 4.50441987673247 | epot = -37.7761364031321 | etot = -29.9795833711827 -15000 ekin = 3.36883179726037 | erot = 4.91359031415189 | epot = -37.9357367952089 | etot = -29.6533146837967 -16000 ekin = 3.30177911852249 | erot = 5.0959341599744 | epot = -38.143737189117 | etot = -29.7460239106201 -17000 ekin = 3.27867865291038 | erot = 5.45789581601547 | epot = -38.3785999463332 | etot = -29.6420254774074 -18000 ekin = 3.36770908750654 | erot = 5.63036493519876 | epot = -38.5970397067551 | etot = -29.5989656840498 -19000 ekin = 3.29802639540141 | erot = 5.45616396083943 | epot = -38.7810833463914 | etot = -30.0268929901506 -20000 ekin = 3.28760849058064 | erot = 5.26031945979087 | epot = -38.9429500949467 | etot = -30.3950221445752 -21000 ekin = 3.32772748450134 | erot = 5.34990394778083 | epot = -39.0618181252057 | etot = -30.3841866929235 -22000 ekin = 3.34298346296243 | erot = 5.12273250375892 | epot = -39.1360899153794 | etot = -30.670373948658 -23000 ekin = 3.38280280428754 | erot = 5.14933572496704 | epot = -39.1974651493047 | etot = -30.6653266200501 -24000 ekin = 3.43991273776908 | erot = 5.03737353653106 | epot = -39.2427818934623 | etot = -30.7654956191621 -25000 ekin = 3.44382800915661 | erot = 4.56194227438371 | epot = -39.2491545805195 | etot = -31.2433842969791 -26000 ekin = 3.47220361933917 | erot = 4.88028216050144 | epot = -39.2033487475128 | etot = -30.8508629676722 -27000 ekin = 3.47824341108208 | erot = 4.79713670041817 | epot = -39.1340731989048 | etot = -30.8586930874045 -28000 ekin = 3.54835351423495 | erot = 4.6549460773945 | epot = -39.0768463918722 | etot = -30.8735468002427 -29000 ekin = 3.57491058588771 | erot = 4.31737192689198 | epot = -39.0420895500443 | etot = -31.1498070372646 -30000 ekin = 3.51438036654854 | erot = 4.50861299911588 | epot = -39.0276136699747 | etot = -31.0046203043103 -31000 ekin = 3.57650331888537 | erot = 4.40811531091205 | epot = -39.0168289246977 | etot = -31.0322102949003 -32000 ekin = 3.70658082522062 | erot = 4.15949186201365 | epot = -39.017410963825 | etot = -31.1513382765907 -33000 ekin = 3.83721022661993 | erot = 4.05055961618764 | epot = -39.0303039022728 | etot = -31.1425340594653 -34000 ekin = 3.9488588066567 | erot = 3.81495459058985 | epot = -39.0180833389346 | etot = -31.2542699416881 -35000 ekin = 3.97994525138311 | erot = 4.49904715736237 | epot = -38.9543629321031 | etot = -30.4753705233576 -36000 ekin = 3.90049506438254 | erot = 3.99723351860171 | epot = -38.8736492127443 | etot = -30.97592062976 -37000 ekin = 4.00119032736875 | erot = 4.30070706410094 | epot = -38.7576942972652 | etot = -30.4557969057955 -38000 ekin = 4.00581796835635 | erot = 3.82064458204037 | epot = -38.6053485149963 | etot = -30.7788859645996 -39000 ekin = 3.92374370666481 | erot = 3.80679256085699 | epot = -38.4357174066365 | etot = -30.7051811391147 -40000 ekin = 3.81525591020234 | erot = 3.60218215391064 | epot = -38.2889289083717 | etot = -30.8714908442588 -41000 ekin = 3.89801377589288 | erot = 3.52447171643245 | epot = -38.2033074629499 | etot = -30.7808219706246 -42000 ekin = 3.92469802136758 | erot = 3.7220708309091 | epot = -38.1843497161944 | etot = -30.5375808639177 -43000 ekin = 3.9035581905627 | erot = 3.65375269274892 | epot = -38.2197716832792 | etot = -30.6624607999676 -44000 ekin = 3.94906849382527 | erot = 3.48405507068381 | epot = -38.2852323155718 | etot = -30.8521087510627 -45000 ekin = 4.04988136986444 | erot = 3.38338492043344 | epot = -38.3792178397491 | etot = -30.9459515494513 -46000 ekin = 4.12456204511551 | erot = 3.52614566674481 | epot = -38.4473213411913 | etot = -30.796613629331 -47000 ekin = 4.05260082430176 | erot = 3.30110271195189 | epot = -38.4808326895797 | etot = -31.127129153326 -48000 ekin = 3.94672633965036 | erot = 3.3079094466035 | epot = -38.4845357728863 | etot = -31.2298999866324 -49000 ekin = 3.88681575217737 | erot = 3.7826220382333 | epot = -38.441512853504 | etot = -30.7720750630934 -50000 ekin = 3.82899985395713 | erot = 3.78573156370331 | epot = -38.3450518110651 | etot = -30.7303203934047 -51000 ekin = 3.8440574703342 | erot = 3.5318167647978 | epot = -38.2059734024446 | etot = -30.8300991673126 -52000 ekin = 3.72257170524991 | erot = 3.44233441463351 | epot = -38.0493176755068 | etot = -30.8844115556234 -53000 ekin = 3.58458805955591 | erot = 3.40175184254422 | epot = -37.8770316144348 | etot = -30.8906917123346 -54000 ekin = 3.42774104644871 | erot = 3.019334453294 | epot = -37.7242775274777 | etot = -31.277202027735 -55000 ekin = 3.30773758120279 | erot = 3.11354928843073 | epot = -37.5844277892892 | etot = -31.1631409196556 -56000 ekin = 3.30267684217519 | erot = 3.36746893036052 | epot = -37.4528615341921 | etot = -30.7827157616564 -57000 ekin = 3.19775481140565 | erot = 3.06235541109216 | epot = -37.3795633131474 | etot = -31.1194530906496 -58000 ekin = 3.11776701522974 | erot = 3.21225050262699 | epot = -37.3545495658646 | etot = -31.0245320480079 -59000 ekin = 3.02660076850685 | erot = 3.05700513362467 | epot = -37.3753385948442 | etot = -31.2917326927127 -60000 ekin = 3.05479252149933 | erot = 3.09854486170695 | epot = -37.4441725320784 | etot = -31.2908351488721 -61000 ekin = 3.0170447679161 | erot = 3.76451997765653 | epot = -37.5384296958522 | etot = -30.7568649502795 -62000 ekin = 3.04313706615767 | erot = 3.65046217125996 | epot = -37.6255736746588 | etot = -30.9319744372411 -63000 ekin = 3.01457068009159 | erot = 3.63417424777149 | epot = -37.6954625017368 | etot = -31.0467175738737 -64000 ekin = 2.98716002899792 | erot = 3.6682341307717 | epot = -37.7940816265088 | etot = -31.1386874667392 -65000 ekin = 3.02462936411614 | erot = 3.70957377344581 | epot = -37.8868266007907 | etot = -31.1526234632287 -66000 ekin = 3.04943307417966 | erot = 3.64749592963954 | epot = -37.9385532609816 | etot = -31.2416242571625 -67000 ekin = 3.1066499876682 | erot = 3.92441992350054 | epot = -37.9686488739492 | etot = -30.9375789627804 -68000 ekin = 3.10508542338566 | erot = 3.51781674899961 | epot = -37.9831132441551 | etot = -31.3602110717698 -69000 ekin = 3.12460161346405 | erot = 3.45336993587922 | epot = -38.016048039057 | etot = -31.4380764897137 -70000 ekin = 3.2758656602578 | erot = 2.9433048812549 | epot = -38.0712687269606 | etot = -31.8520981854479 -71000 ekin = 3.39211310061244 | erot = 2.74512861011507 | epot = -38.1409313278077 | etot = -32.0036896170801 -72000 ekin = 3.40645093836715 | erot = 2.75927481548162 | epot = -38.2448895790434 | etot = -32.0791638251946 -73000 ekin = 3.52971008848809 | erot = 2.59006671029947 | epot = -38.3559671032089 | etot = -32.2361903044213 -74000 ekin = 3.64539698532463 | erot = 2.94116909218571 | epot = -38.4934235930849 | etot = -31.9068575155746 -75000 ekin = 3.801696795608 | erot = 3.11004664709642 | epot = -38.6561648833572 | etot = -31.7444214406528 -76000 ekin = 3.86343004207976 | erot = 3.33165114941781 | epot = -38.7892518002905 | etot = -31.5941706087929 -77000 ekin = 3.90472352035102 | erot = 3.31177401193371 | epot = -38.8678679983232 | etot = -31.6513704660385 -78000 ekin = 3.9269153046816 | erot = 3.25784074314334 | epot = -38.8969605625463 | etot = -31.7122045147213 -79000 ekin = 3.93607959529908 | erot = 3.16472395725651 | epot = -38.8636036578362 | etot = -31.7628001052806 -80000 ekin = 3.92375596570378 | erot = 3.03932991445862 | epot = -38.7678348516125 | etot = -31.8047489714501 -81000 ekin = 3.94307777153344 | erot = 2.88134017144298 | epot = -38.6473318824763 | etot = -31.8229139394999 -82000 ekin = 3.86696228915961 | erot = 2.89149309255461 | epot = -38.5199433915521 | etot = -31.7614880098378 -83000 ekin = 3.6081427560926 | erot = 2.81572010912292 | epot = -38.3996592376439 | etot = -31.9757963724284 -84000 ekin = 3.71373301448703 | erot = 2.72793818704548 | epot = -38.3011883980017 | etot = -31.8595171964692 -85000 ekin = 3.50951070251159 | erot = 2.79348490714941 | epot = -38.2117363909516 | etot = -31.9087407812906 -86000 ekin = 3.47308524750452 | erot = 3.12141964520655 | epot = -38.1244236248809 | etot = -31.5299187321698 -87000 ekin = 3.47440394227045 | erot = 3.04160702571501 | epot = -38.0440539828501 | etot = -31.5280430148646 -88000 ekin = 3.44172477689074 | erot = 2.9990722717108 | epot = -37.985933210493 | etot = -31.5451361618915 -89000 ekin = 3.46547245050653 | erot = 3.42367325086154 | epot = -37.9432140623316 | etot = -31.0540683609635 -90000 ekin = 3.47276106924418 | erot = 3.41105238494323 | epot = -37.9009776655539 | etot = -31.0171642113665 -91000 ekin = 3.31717291023281 | erot = 4.00503611404964 | epot = -37.8509086765272 | etot = -30.5286996522448 -92000 ekin = 3.30281925189457 | erot = 3.78657692130456 | epot = -37.8308149894368 | etot = -30.7414188162377 -93000 ekin = 3.23932364656724 | erot = 3.46021357148709 | epot = -37.8328101558439 | etot = -31.1332729377896 -94000 ekin = 3.19291152023926 | erot = 3.36401906457213 | epot = -37.8297890174383 | etot = -31.2728584326269 -95000 ekin = 3.11174095364039 | erot = 3.84559531996385 | epot = -37.8285495206063 | etot = -30.871213247002 -96000 ekin = 3.08253957616711 | erot = 4.19970849347949 | epot = -37.8307056468836 | etot = -30.548457577237 -97000 ekin = 3.01019162595086 | erot = 4.79435511235201 | epot = -37.8474383063021 | etot = -30.0428915679993 -98000 ekin = 2.95004498340949 | erot = 4.45721895779629 | epot = -37.8489202082855 | etot = -30.4416562670797 -99000 ekin = 2.91563074020307 | erot = 4.14781823161594 | epot = -37.8396252499933 | etot = -30.7761762781743 -100000 ekin = 2.90648603235873 | erot = 3.81215086067846 | epot = -37.7900595351461 | etot = -31.0714226421089 -101000 ekin = 2.85218071196321 | erot = 3.48991910340801 | epot = -37.7570245236791 | etot = -31.4149247083079 -102000 ekin = 2.86052427330306 | erot = 3.57587365782281 | epot = -37.7214005697291 | etot = -31.2850026386032 -103000 ekin = 2.8891327192239 | erot = 3.41748118405775 | epot = -37.6983180369494 | etot = -31.3917041336678 -104000 ekin = 2.81650081212178 | erot = 3.64361039549593 | epot = -37.6651320682074 | etot = -31.2050208605896 -105000 ekin = 2.79823699847459 | erot = 3.35865525277727 | epot = -37.6511913094719 | etot = -31.4942990582201 -106000 ekin = 2.78255015161699 | erot = 3.64122601097051 | epot = -37.6357012767033 | etot = -31.2119251141158 -107000 ekin = 2.88530590298807 | erot = 3.80038887689837 | epot = -37.6526611371133 | etot = -30.9669663572269 -108000 ekin = 2.83844762508153 | erot = 3.95272494897021 | epot = -37.7224292501162 | etot = -30.9312566760645 -109000 ekin = 2.91484982662488 | erot = 4.34544884566574 | epot = -37.8436434051328 | etot = -30.5833447328422 -110000 ekin = 2.93667443132402 | erot = 4.67698362049716 | epot = -37.9759529936705 | etot = -30.3622949418493 -111000 ekin = 3.11047864616464 | erot = 4.30694673133238 | epot = -38.1028692919236 | etot = -30.6854439144265 -112000 ekin = 3.32630420939175 | erot = 4.07222830175948 | epot = -38.2330557688864 | etot = -30.8345232577351 -113000 ekin = 3.38238157246172 | erot = 4.25399862575992 | epot = -38.4031841501304 | etot = -30.7668039519087 -114000 ekin = 3.40165200205494 | erot = 4.30744946748784 | epot = -38.6070332241658 | etot = -30.897931754623 -115000 ekin = 3.57685598139984 | erot = 4.55740206723824 | epot = -38.8200433287838 | etot = -30.6857852801457 -116000 ekin = 3.75973031177342 | erot = 4.36157654592901 | epot = -39.0323085624547 | etot = -30.9110017047523 -117000 ekin = 4.08170792820106 | erot = 4.22817627757005 | epot = -39.2374888319018 | etot = -30.9276046261307 -118000 ekin = 4.20730049786356 | erot = 4.45363628574763 | epot = -39.4247594107618 | etot = -30.7638226271506 -119000 ekin = 4.26502745539808 | erot = 4.38707691524364 | epot = -39.5609276649307 | etot = -30.908823294289 -120000 ekin = 4.18668022830479 | erot = 4.24219249569083 | epot = -39.6276325806845 | etot = -31.1987598566889 -121000 ekin = 4.37673633947888 | erot = 4.44899930150558 | epot = -39.5989335189463 | etot = -30.7731978779618 -122000 ekin = 4.38970640566175 | erot = 4.08524736298497 | epot = -39.5011631447288 | etot = -31.0262093760821 -123000 ekin = 4.42858502015388 | erot = 3.3866674865171 | epot = -39.3700347945818 | etot = -31.5547822879108 -124000 ekin = 4.41843242629726 | erot = 3.2990259988492 | epot = -39.2496495732995 | etot = -31.5321911481531 -125000 ekin = 4.26174945235079 | erot = 3.29673673713418 | epot = -39.1012418833315 | etot = -31.5427556938465 -126000 ekin = 4.24892047563245 | erot = 3.36728042977254 | epot = -38.9439369649169 | etot = -31.3277360595119 -127000 ekin = 4.20697642244211 | erot = 3.24776092764455 | epot = -38.7860930134988 | etot = -31.3313556634122 -128000 ekin = 4.05115550712502 | erot = 3.47679598409542 | epot = -38.6330582994879 | etot = -31.1051068082675 -129000 ekin = 4.05771564566357 | erot = 3.55109790126645 | epot = -38.5073350485465 | etot = -30.8985215016165 -130000 ekin = 3.96453894213024 | erot = 3.53313522266287 | epot = -38.391565950826 | etot = -30.8938917860329 -131000 ekin = 3.98900505769185 | erot = 3.64077310068002 | epot = -38.2786451293433 | etot = -30.6488669709715 -132000 ekin = 3.73079609117297 | erot = 3.73126171283416 | epot = -38.1409399456635 | etot = -30.6788821416564 -133000 ekin = 3.65247250435604 | erot = 3.53430985836842 | epot = -38.0235035134258 | etot = -30.8367211507014 -134000 ekin = 3.69649402588234 | erot = 3.97356364722734 | epot = -37.9278485959381 | etot = -30.2577909228284 -135000 ekin = 3.57147615494151 | erot = 4.00472599145957 | epot = -37.8397002442412 | etot = -30.2634980978401 -136000 ekin = 3.54164301577371 | erot = 3.88237062104613 | epot = -37.7460882463412 | etot = -30.3220746095214 -137000 ekin = 3.41247180964225 | erot = 3.32750587829706 | epot = -37.624611292303 | etot = -30.8846336043637 -138000 ekin = 3.46206567288778 | erot = 3.47277237990371 | epot = -37.562116148782 | etot = -30.6272780959905 -139000 ekin = 3.46179863350055 | erot = 3.29345554522848 | epot = -37.5218039357363 | etot = -30.7665497570072 -140000 ekin = 3.57268233853845 | erot = 3.52021546572331 | epot = -37.4799882832129 | etot = -30.3870904789511 -141000 ekin = 3.48030321137918 | erot = 3.69147952189479 | epot = -37.4842309048151 | etot = -30.3124481715412 -142000 ekin = 3.63349703801688 | erot = 3.72222694231689 | epot = -37.5326170636814 | etot = -30.1768930833476 -143000 ekin = 3.71391772492725 | erot = 3.32855653910442 | epot = -37.5715573506383 | etot = -30.5290830866066 -144000 ekin = 3.59876610372653 | erot = 3.57133292531719 | epot = -37.6083426167156 | etot = -30.4382435876719 -145000 ekin = 3.5512989873801 | erot = 3.38442665443486 | epot = -37.645703742064 | etot = -30.709978100249 -146000 ekin = 3.57274630492877 | erot = 3.74306660671644 | epot = -37.691839929883 | etot = -30.3760270182378 -147000 ekin = 3.5117518000457 | erot = 4.0750620350483 | epot = -37.7115891932223 | etot = -30.1247753581283 -148000 ekin = 3.52194530375138 | erot = 4.22438638639834 | epot = -37.7453589028592 | etot = -29.9990272127095 -149000 ekin = 3.43829227837994 | erot = 4.25032155928027 | epot = -37.7800675049656 | etot = -30.0914536673054 -150000 ekin = 3.39573759305128 | erot = 4.12519198982267 | epot = -37.7779101405858 | etot = -30.2569805577119 -151000 ekin = 3.38494817974853 | erot = 3.91154836764821 | epot = -37.7346130185548 | etot = -30.4381164711581 -152000 ekin = 3.3392823348606 | erot = 3.82420376901226 | epot = -37.692306373128 | etot = -30.5288202692551 -153000 ekin = 3.38955645731951 | erot = 3.72251905459204 | epot = -37.6703717263954 | etot = -30.5582962144839 -154000 ekin = 3.40170171151684 | erot = 3.95270448125714 | epot = -37.678389708439 | etot = -30.323983515665 -155000 ekin = 3.44581188687109 | erot = 3.52528589615975 | epot = -37.7593041359925 | etot = -30.7882063529616 -156000 ekin = 3.55410349285978 | erot = 3.68359553101928 | epot = -37.8946612865558 | etot = -30.6569622626767 -157000 ekin = 3.67740663285557 | erot = 3.73708949692863 | epot = -38.0406477694048 | etot = -30.6261516396206 -158000 ekin = 3.70912292320975 | erot = 3.62418205239296 | epot = -38.1900046609472 | etot = -30.8566996853445 -159000 ekin = 3.68532826191219 | erot = 3.87298071798096 | epot = -38.2928836797074 | etot = -30.7345746998143 -160000 ekin = 3.72002440516707 | erot = 4.11592492943231 | epot = -38.3652902740975 | etot = -30.5293409394981 -161000 ekin = 3.73388863499049 | erot = 4.42836121024192 | epot = -38.4373191354185 | etot = -30.2750692901861 -162000 ekin = 4.02523829931051 | erot = 4.86807694190568 | epot = -38.4975346699526 | etot = -29.6042194287364 -163000 ekin = 4.03311015138293 | erot = 4.78291233450127 | epot = -38.5597523007636 | etot = -29.7437298148794 -164000 ekin = 4.13350042233596 | erot = 5.01454292769814 | epot = -38.5888368946085 | etot = -29.4407935445744 -165000 ekin = 4.25718467214142 | erot = 4.92225725319178 | epot = -38.5829201612761 | etot = -29.4034782359429 -166000 ekin = 4.11013815046467 | erot = 4.53806000830091 | epot = -38.5467907483034 | etot = -29.8985925895378 -167000 ekin = 4.08710467384557 | erot = 4.20997030650441 | epot = -38.4814936158367 | etot = -30.1844186354868 -168000 ekin = 4.03924000036824 | erot = 3.95993274976389 | epot = -38.3759188508994 | etot = -30.3767461007673 -169000 ekin = 3.94917218886625 | erot = 3.65240127094113 | epot = -38.2594355677077 | etot = -30.6578621079003 -170000 ekin = 3.90935554205295 | erot = 3.78797512477882 | epot = -38.1835201359158 | etot = -30.486189469084 -171000 ekin = 3.87732504895437 | erot = 4.28652570004447 | epot = -38.1402484566641 | etot = -29.9763977076653 -172000 ekin = 3.75957929171811 | erot = 4.02272820820135 | epot = -38.1557340618709 | etot = -30.3734265619515 -173000 ekin = 3.55030915228991 | erot = 4.03115995993289 | epot = -38.2480280629193 | etot = -30.6665589506965 -174000 ekin = 3.61281225750305 | erot = 4.30402685904732 | epot = -38.3795080285351 | etot = -30.4626689119848 -175000 ekin = 3.56741376549368 | erot = 4.24945045724327 | epot = -38.512592945838 | etot = -30.695728723101 -176000 ekin = 3.69966296688439 | erot = 4.22673264606626 | epot = -38.613145916328 | etot = -30.6867503033774 -177000 ekin = 3.72329334774794 | erot = 4.3963702174486 | epot = -38.6555013846404 | etot = -30.5358378194439 -178000 ekin = 3.79919357666777 | erot = 4.00194735045323 | epot = -38.66205820756 | etot = -30.860917280439 -179000 ekin = 3.78008346787866 | erot = 4.05267692212517 | epot = -38.6224110467894 | etot = -30.7896506567856 -180000 ekin = 3.84388711467654 | erot = 3.7091612553256 | epot = -38.5399848480518 | etot = -30.9869364780497 -181000 ekin = 3.78854199589324 | erot = 3.43025530256464 | epot = -38.4472679874806 | etot = -31.2284706890227 -182000 ekin = 3.65298336461987 | erot = 3.41446703840053 | epot = -38.3421256904841 | etot = -31.2746752874636 -183000 ekin = 3.57592466495276 | erot = 3.54000226366919 | epot = -38.2342661287445 | etot = -31.1183392001226 -184000 ekin = 3.59097293869165 | erot = 3.49764131752706 | epot = -38.1237685559037 | etot = -31.035154299685 -185000 ekin = 3.59874593561893 | erot = 3.34180949424636 | epot = -38.034561395544 | etot = -31.0940059656787 -186000 ekin = 3.55637392703386 | erot = 3.60010534755649 | epot = -37.9685691221059 | etot = -30.8120898475155 -187000 ekin = 3.30341471869178 | erot = 3.63282669533315 | epot = -37.9082034969873 | etot = -30.9719620829624 -188000 ekin = 3.25151380843724 | erot = 3.41587081506784 | epot = -37.8374520507026 | etot = -31.1700674271975 -189000 ekin = 3.09888859581596 | erot = 3.51324139411321 | epot = -37.7831379378027 | etot = -31.1710079478736 -190000 ekin = 2.93096647890479 | erot = 3.73100049541747 | epot = -37.7090579094218 | etot = -31.0470909350995 -191000 ekin = 2.78845789536297 | erot = 3.59181404756272 | epot = -37.6234731970087 | etot = -31.243201254083 -192000 ekin = 2.6870850400641 | erot = 3.91911783313644 | epot = -37.5268833853882 | etot = -30.9206805121877 -193000 ekin = 2.65091164661283 | erot = 3.82754219131909 | epot = -37.4213833049328 | etot = -30.9429294670009 -194000 ekin = 2.55372434146197 | erot = 3.81228833556049 | epot = -37.3433541779818 | etot = -30.9773415009593 -195000 ekin = 2.54515296633903 | erot = 3.77157425987469 | epot = -37.2550689450338 | etot = -30.93834171882 -196000 ekin = 2.57228739351373 | erot = 3.48448370430651 | epot = -37.1707275909679 | etot = -31.1139564931476 -197000 ekin = 2.47659034250724 | erot = 3.3178807523235 | epot = -37.1125490303325 | etot = -31.3180779355017 -198000 ekin = 2.47817611131603 | erot = 3.41593598489791 | epot = -37.0628542395746 | etot = -31.1687421433607 -199000 ekin = 2.46398696321841 | erot = 3.79330738397075 | epot = -37.0410272717133 | etot = -30.7837329245241 -200000 ekin = 2.66032750534599 | erot = 3.50045834258025 | epot = -37.0560186461539 | etot = -30.8952327982277 -201000 ekin = 2.82925423269706 | erot = 3.87280363693021 | epot = -37.1094527749142 | etot = -30.4073949052869 -202000 ekin = 2.87690134773418 | erot = 3.73724666810618 | epot = -37.1548849140445 | etot = -30.5407368982041 -203000 ekin = 3.09789929071276 | erot = 3.5468763526948 | epot = -37.1913390618664 | etot = -30.5465634184588 -204000 ekin = 3.22497830820396 | erot = 3.52082166300899 | epot = -37.2064645595877 | etot = -30.4606645883747 -205000 ekin = 3.08968228459861 | erot = 3.62768693137644 | epot = -37.2539593887054 | etot = -30.5365901727303 -206000 ekin = 3.11014150174799 | erot = 3.7385678659097 | epot = -37.3166778706671 | etot = -30.4679685030094 -207000 ekin = 3.1829453735337 | erot = 4.25652712659364 | epot = -37.3463184168163 | etot = -29.9068459166889 -208000 ekin = 3.18396090757435 | erot = 4.43896014450647 | epot = -37.3566061410103 | etot = -29.7336850889295 -209000 ekin = 3.31348354672036 | erot = 3.97662877739666 | epot = -37.3764215045059 | etot = -30.0863091803889 -210000 ekin = 3.17486958285111 | erot = 3.68714944924479 | epot = -37.3622513109276 | etot = -30.5002322788317 -211000 ekin = 3.24777381738383 | erot = 3.39112189744184 | epot = -37.3847088569506 | etot = -30.7458131421249 -212000 ekin = 3.1218235472922 | erot = 3.15133571404841 | epot = -37.4262282165351 | etot = -31.1530689551944 -213000 ekin = 3.12323090197305 | erot = 3.03298058440252 | epot = -37.4993866522037 | etot = -31.3431751658281 -214000 ekin = 3.02782055391862 | erot = 3.51893074263816 | epot = -37.6187398888692 | etot = -31.0719885923124 -215000 ekin = 3.08902625374248 | erot = 3.6205495251311 | epot = -37.8003692924877 | etot = -31.0907935136142 -216000 ekin = 3.04029181666715 | erot = 4.36545701920723 | epot = -38.008684651192 | etot = -30.6029358153176 -217000 ekin = 3.11869416684302 | erot = 4.23835788568566 | epot = -38.175518074188 | etot = -30.8184660216593 -218000 ekin = 3.12136726795469 | erot = 3.996273681316 | epot = -38.3382201370156 | etot = -31.2205791877449 -219000 ekin = 3.24749965239936 | erot = 4.03289859762057 | epot = -38.4910930976407 | etot = -31.2106948476207 -220000 ekin = 3.19731650656636 | erot = 4.16726840142139 | epot = -38.6410163306452 | etot = -31.2764314226575 -221000 ekin = 3.14591003185417 | erot = 4.47643673281146 | epot = -38.7807221211561 | etot = -31.1583753564904 -222000 ekin = 3.06194834255762 | erot = 4.40957176775777 | epot = -38.8960295960945 | etot = -31.4245094857791 -223000 ekin = 3.09392792198329 | erot = 4.36929377800849 | epot = -38.9696160320109 | etot = -31.5063943320191 -224000 ekin = 3.18434099924859 | erot = 4.67414126058087 | epot = -39.0019773177328 | etot = -31.1434950579034 -225000 ekin = 3.26887097312568 | erot = 4.32849031089059 | epot = -39.0446790784002 | etot = -31.4473177943839 -226000 ekin = 3.21195731331507 | erot = 5.11387401999727 | epot = -39.0947841174991 | etot = -30.7689527841868 -227000 ekin = 3.12036258026493 | erot = 5.06347912205035 | epot = -39.0762383614625 | etot = -30.8923966591473 -228000 ekin = 3.09996729726211 | erot = 5.29564700287474 | epot = -39.020898871325 | etot = -30.6252845711882 -229000 ekin = 3.038979337959 | erot = 5.24780237112316 | epot = -38.9575212211327 | etot = -30.6707395120505 -230000 ekin = 3.00051887289145 | erot = 4.62162674048173 | epot = -38.9098464143819 | etot = -31.2877008010087 -231000 ekin = 2.91912781370869 | erot = 4.1632154756593 | epot = -38.8503568044397 | etot = -31.7680135150717 -232000 ekin = 2.80548407611273 | erot = 4.26963451717883 | epot = -38.7971045932123 | etot = -31.7219859999207 -233000 ekin = 2.921352071703 | erot = 4.30663886521624 | epot = -38.7943069633022 | etot = -31.5663160263829 -234000 ekin = 2.89875675710069 | erot = 4.15218445741156 | epot = -38.7953536145697 | etot = -31.7444124000574 -235000 ekin = 2.99243729544443 | erot = 3.66858116296991 | epot = -38.7881689836611 | etot = -32.1271505252468 -236000 ekin = 3.05722012426339 | erot = 3.77007572255966 | epot = -38.8307946718327 | etot = -32.0034988250097 -237000 ekin = 2.9379768603675 | erot = 4.00589644921924 | epot = -38.9299465153368 | etot = -31.9860732057501 -238000 ekin = 2.94144352009249 | erot = 3.88111097233611 | epot = -39.049865747263 | etot = -32.2273112548344 -239000 ekin = 3.10382951223872 | erot = 3.96380163382862 | epot = -39.1526703213399 | etot = -32.0850391752726 -240000 ekin = 3.05998182778603 | erot = 4.32395093282876 | epot = -39.2052189603878 | etot = -31.821286199773 -241000 ekin = 3.07091800265519 | erot = 4.10063821004071 | epot = -39.2356744872186 | etot = -32.0641182745227 -242000 ekin = 2.97211136503678 | erot = 4.19271702506008 | epot = -39.2591861941866 | etot = -32.0943578040897 -243000 ekin = 2.88784895332254 | erot = 4.01063377556437 | epot = -39.2721844581365 | etot = -32.3737017292496 -244000 ekin = 2.72034159299268 | erot = 3.94970789536676 | epot = -39.2969463203695 | etot = -32.62689683201 -245000 ekin = 2.73288139378785 | erot = 4.2955252560862 | epot = -39.3467303394195 | etot = -32.3183236895454 -246000 ekin = 2.68282749729222 | erot = 4.4395870918117 | epot = -39.40368508993 | etot = -32.2812705008261 -247000 ekin = 2.73156079717722 | erot = 4.29997633507679 | epot = -39.4831744493475 | etot = -32.4516373170935 -248000 ekin = 2.71615239962783 | erot = 4.48384110145858 | epot = -39.562569036112 | etot = -32.3625755350256 -249000 ekin = 2.72571373834887 | erot = 4.53350194835673 | epot = -39.6161562336933 | etot = -32.3569405469877 -250000 ekin = 2.67302825179687 | erot = 5.17929377781993 | epot = -39.6758534551746 | etot = -31.8235314255578 -251000 ekin = 2.65073658987032 | erot = 5.39364408144152 | epot = -39.7013652486053 | etot = -31.6569845772935 -252000 ekin = 2.81604561937354 | erot = 5.50799647083818 | epot = -39.6939189845584 | etot = -31.3698768943466 -253000 ekin = 2.83629985586584 | erot = 4.91166111825353 | epot = -39.6825773475312 | etot = -31.9346163734119 -254000 ekin = 2.79908189634042 | erot = 4.88281944777358 | epot = -39.6620010988141 | etot = -31.9800997547001 -255000 ekin = 2.84238496514407 | erot = 4.79166487708071 | epot = -39.6680683880921 | etot = -32.0340185458674 -256000 ekin = 2.82611571908345 | erot = 4.38756969310689 | epot = -39.7220228798982 | etot = -32.5083374677078 -257000 ekin = 2.78077325096868 | erot = 4.56426394538529 | epot = -39.765795760232 | etot = -32.420758563878 -258000 ekin = 2.84466353932839 | erot = 4.94939241805623 | epot = -39.7743058264471 | etot = -31.9802498690625 -259000 ekin = 2.82994372921752 | erot = 4.84156348043274 | epot = -39.784508432178 | etot = -32.1130012225277 -260000 ekin = 2.84769599243485 | erot = 4.63369709433915 | epot = -39.8060470464451 | etot = -32.3246539596711 -261000 ekin = 2.87237157835355 | erot = 4.51865061212274 | epot = -39.7979847736534 | etot = -32.4069625831772 -262000 ekin = 2.96750612225969 | erot = 4.57561390426951 | epot = -39.7782660470081 | etot = -32.2351460204789 -263000 ekin = 2.99289365842386 | erot = 4.20953311292942 | epot = -39.745321167764 | etot = -32.5428943964107 -264000 ekin = 3.02610258005876 | erot = 4.41804994162533 | epot = -39.7005266944524 | etot = -32.2563741727683 -265000 ekin = 3.02210011112748 | erot = 4.29011549844086 | epot = -39.6578667285882 | etot = -32.3456511190199 -266000 ekin = 2.95526029973602 | erot = 3.97220133607363 | epot = -39.5863143733948 | etot = -32.6588527375852 -267000 ekin = 2.96306286479385 | erot = 4.39982365552045 | epot = -39.5117362736934 | etot = -32.1488497533791 -268000 ekin = 2.98837918599786 | erot = 4.59043107838108 | epot = -39.4346030266012 | etot = -31.8557927622223 -269000 ekin = 2.92733730866711 | erot = 4.81492520489309 | epot = -39.3017884762548 | etot = -31.5595259626946 -270000 ekin = 2.90335610024265 | erot = 4.98515255872077 | epot = -39.1437745457484 | etot = -31.255265886785 -271000 ekin = 2.87611923369233 | erot = 5.02631285080424 | epot = -38.9919498909518 | etot = -31.0895178064552 -272000 ekin = 2.87770260774598 | erot = 4.83651556609765 | epot = -38.840809395014 | etot = -31.1265912211704 -273000 ekin = 2.77329089721178 | erot = 4.69693225863749 | epot = -38.6610493537943 | etot = -31.190826197945 -274000 ekin = 2.68625637002662 | erot = 4.51669986790576 | epot = -38.4509728982942 | etot = -31.2480166603618 -275000 ekin = 2.60330324454304 | erot = 4.20171703621295 | epot = -38.218249935628 | etot = -31.413229654872 -276000 ekin = 2.5718307631142 | erot = 3.79152446287654 | epot = -38.0174336495133 | etot = -31.6540784235226 -277000 ekin = 2.49975386368567 | erot = 3.59614150828635 | epot = -37.8474968832235 | etot = -31.7516015112514 -278000 ekin = 2.46398069339708 | erot = 3.65098267442642 | epot = -37.6582057642293 | etot = -31.5432423964058 -279000 ekin = 2.48339824565313 | erot = 3.67548575635034 | epot = -37.5048702413578 | etot = -31.3459862393544 -280000 ekin = 2.53376634761126 | erot = 3.55656380463981 | epot = -37.3937621487776 | etot = -31.3034319965265 -281000 ekin = 2.67002406168562 | erot = 3.81689537677424 | epot = -37.3207483356567 | etot = -30.8338288971968 -282000 ekin = 2.63534042744473 | erot = 3.62617225051185 | epot = -37.2561498174831 | etot = -30.9946371395265 -283000 ekin = 2.62204960593212 | erot = 3.60063437351288 | epot = -37.1865464899413 | etot = -30.9638625104963 -284000 ekin = 2.67681575008792 | erot = 3.61566503901022 | epot = -37.1459845078296 | etot = -30.8535037187314 -285000 ekin = 2.71360352201124 | erot = 3.48822466196448 | epot = -37.1436040722676 | etot = -30.9417758882919 -286000 ekin = 2.72409949367872 | erot = 3.69046973300093 | epot = -37.1515114688671 | etot = -30.7369422421875 -287000 ekin = 2.78141221541724 | erot = 3.56169254019551 | epot = -37.1836412585712 | etot = -30.8405365029585 -288000 ekin = 2.93111949257215 | erot = 3.85252275716863 | epot = -37.2722312757955 | etot = -30.4885890260547 -289000 ekin = 3.22039073654111 | erot = 3.65796134125561 | epot = -37.4105935842029 | etot = -30.5322415064062 -290000 ekin = 3.45543672952173 | erot = 3.63587074171862 | epot = -37.5601919395408 | etot = -30.4688844683004 -291000 ekin = 3.52760878967904 | erot = 4.20430698093704 | epot = -37.7322836777774 | etot = -30.0003679071614 -292000 ekin = 3.68972381818918 | erot = 4.12076553978675 | epot = -37.9100323199299 | etot = -30.099542961954 -293000 ekin = 3.83177225674866 | erot = 4.37726484522711 | epot = -38.0821109906698 | etot = -29.873073888694 -294000 ekin = 4.06640459910184 | erot = 3.74462680595312 | epot = -38.1926156973086 | etot = -30.3815842922536 -295000 ekin = 4.21784736111051 | erot = 3.82616484716773 | epot = -38.2890286287626 | etot = -30.2450164204843 -296000 ekin = 4.26440738773642 | erot = 3.95694734709946 | epot = -38.3824567525617 | etot = -30.1611020177258 -297000 ekin = 4.04618321058694 | erot = 4.11344152769738 | epot = -38.4823151027029 | etot = -30.3226903644186 -298000 ekin = 4.04534420229638 | erot = 4.08413503201913 | epot = -38.5648464298593 | etot = -30.4353671955438 -299000 ekin = 4.05890996735844 | erot = 4.75454163668528 | epot = -38.6394632376441 | etot = -29.8260116336004 -300000 ekin = 4.0635552245577 | erot = 4.46292256841634 | epot = -38.7062117520834 | etot = -30.1797339591093 -301000 ekin = 4.01853385887666 | erot = 4.67242188374991 | epot = -38.7555551980346 | etot = -30.064599455408 -302000 ekin = 3.97170308302892 | erot = 4.62245717998414 | epot = -38.7884989680144 | etot = -30.1943387050014 -303000 ekin = 4.00670279913505 | erot = 4.89772983741924 | epot = -38.7992363136571 | etot = -29.8948036771028 -304000 ekin = 3.81374525151675 | erot = 4.65389365987343 | epot = -38.8327396351168 | etot = -30.3651007237266 -305000 ekin = 3.70792918499057 | erot = 4.53646691129898 | epot = -38.8671341843094 | etot = -30.6227380880198 -306000 ekin = 3.5851913585686 | erot = 4.40317156262038 | epot = -38.8961174826079 | etot = -30.9077545614189 -307000 ekin = 3.52830601019323 | erot = 4.12955816022915 | epot = -38.9381266871204 | etot = -31.280262516698 -308000 ekin = 3.37444573697906 | erot = 3.65266283146944 | epot = -38.9820449321947 | etot = -31.9549363637462 -309000 ekin = 3.29877896595899 | erot = 4.06788139443835 | epot = -39.036569619858 | etot = -31.6699092594607 -310000 ekin = 3.27216182566105 | erot = 3.86752279813193 | epot = -39.0649343092174 | etot = -31.9252496854244 -311000 ekin = 3.26050147382305 | erot = 3.90928978323582 | epot = -39.0580520931937 | etot = -31.8882608361348 -312000 ekin = 3.18483009089521 | erot = 3.90959546619214 | epot = -39.0257212693581 | etot = -31.9312957122708 -313000 ekin = 3.09609326591795 | erot = 3.75025646421262 | epot = -38.9535227577839 | etot = -32.1071730276533 -314000 ekin = 2.95184537018542 | erot = 4.07381717812341 | epot = -38.8888909934783 | etot = -31.8632284451695 -315000 ekin = 2.92238623527567 | erot = 3.96815066682739 | epot = -38.8370494801768 | etot = -31.9465125780737 -316000 ekin = 2.71301507861596 | erot = 3.80807978932931 | epot = -38.799834574398 | etot = -32.2787397064527 -317000 ekin = 2.71357150367647 | erot = 4.15190966526565 | epot = -38.7626719044115 | etot = -31.8971907354694 -318000 ekin = 2.62158267835359 | erot = 4.27134701113436 | epot = -38.7271070788676 | etot = -31.8341773893796 -319000 ekin = 2.55366548062862 | erot = 4.41350408683203 | epot = -38.7297464727616 | etot = -31.7625769053009 -320000 ekin = 2.43397240538545 | erot = 4.29070167476848 | epot = -38.7203908826319 | etot = -31.995716802478 -321000 ekin = 2.4091696193894 | erot = 4.08120981437134 | epot = -38.7041016741435 | etot = -32.2137222403828 -322000 ekin = 2.40921951438691 | erot = 3.84656254092884 | epot = -38.6896664254558 | etot = -32.4338843701401 -323000 ekin = 2.47763175846149 | erot = 3.74024157191534 | epot = -38.6582034756258 | etot = -32.440330145249 -324000 ekin = 2.50557286685258 | erot = 3.62726015904489 | epot = -38.6277589097223 | etot = -32.4949258838248 -325000 ekin = 2.46128003790469 | erot = 3.30955838055057 | epot = -38.6182210526501 | etot = -32.8473826341949 -326000 ekin = 2.5036042222413 | erot = 3.11309077075945 | epot = -38.6155228491478 | etot = -32.998827856147 -327000 ekin = 2.58559564340014 | erot = 3.03172964208485 | epot = -38.6235874334492 | etot = -33.0062621479642 -328000 ekin = 2.7498426607985 | erot = 3.02808338407904 | epot = -38.6550386035095 | etot = -32.8771125586319 -329000 ekin = 2.91966436364517 | erot = 2.97144348177553 | epot = -38.6820454853232 | etot = -32.7909376399025 -330000 ekin = 3.01494295487831 | erot = 3.44138384990523 | epot = -38.7383158304586 | etot = -32.2819890256751 -331000 ekin = 3.02442201542035 | erot = 3.78657407910216 | epot = -38.7939596216321 | etot = -31.9829635271096 -332000 ekin = 3.04445691127442 | erot = 3.8278890195312 | epot = -38.8517978078766 | etot = -31.979451877071 -333000 ekin = 3.03465557138406 | erot = 3.68623317701473 | epot = -38.9019287356726 | etot = -32.1810399872738 -334000 ekin = 2.98091475863421 | erot = 3.87909097065042 | epot = -38.9429458678105 | etot = -32.0829401385258 -335000 ekin = 3.18730692360931 | erot = 3.9229815323581 | epot = -38.9915367606724 | etot = -31.881248304705 -336000 ekin = 3.28082580011883 | erot = 4.25501923477972 | epot = -39.0382949038811 | etot = -31.5024498689825 -337000 ekin = 3.33075954016498 | erot = 4.58632261209064 | epot = -39.0662594017922 | etot = -31.1491772495366 -338000 ekin = 3.31328438683345 | erot = 4.17966745642974 | epot = -39.0415239975115 | etot = -31.5485721542483 -339000 ekin = 3.33917527804133 | erot = 4.28130062815462 | epot = -38.9842917012714 | etot = -31.3638157950755 -340000 ekin = 3.33492148280262 | erot = 4.35651035139101 | epot = -38.8943885223068 | etot = -31.2029566881131 -341000 ekin = 3.34614172096363 | erot = 4.05115720989153 | epot = -38.7823758155587 | etot = -31.3850768847036 -342000 ekin = 3.34251507796678 | erot = 4.42814474655728 | epot = -38.6331517957714 | etot = -30.8624919712473 -343000 ekin = 3.20631341754612 | erot = 3.78967989344564 | epot = -38.4960486393224 | etot = -31.5000553283306 -344000 ekin = 3.07148244251153 | erot = 3.87583965670226 | epot = -38.3948328820768 | etot = -31.447510782863 -345000 ekin = 3.09789874291703 | erot = 3.99460565240904 | epot = -38.3201974875894 | etot = -31.2276930922633 -346000 ekin = 3.02500081268322 | erot = 3.91508207831951 | epot = -38.27506306136 | etot = -31.3349801703573 -347000 ekin = 2.94406849477762 | erot = 3.8622967016244 | epot = -38.2289722622904 | etot = -31.4226070658884 -348000 ekin = 2.95641250006426 | erot = 3.72625853383772 | epot = -38.1919210104045 | etot = -31.5092499765026 -349000 ekin = 3.03918076184473 | erot = 3.94202050743586 | epot = -38.1810668298085 | etot = -31.1998655605279 -350000 ekin = 3.09062612520389 | erot = 3.91215331884812 | epot = -38.2023245264386 | etot = -31.1995450823866 -351000 ekin = 3.13831719496464 | erot = 3.99916602553218 | epot = -38.2111529945909 | etot = -31.0736697740941 -352000 ekin = 3.10196313130342 | erot = 3.92254342354138 | epot = -38.2543166357448 | etot = -31.2298100809 -353000 ekin = 3.17266611312433 | erot = 3.89473509639757 | epot = -38.3205511283306 | etot = -31.2531499188087 -354000 ekin = 3.20288707130886 | erot = 4.38957454856396 | epot = -38.3888699269268 | etot = -30.796408307054 -355000 ekin = 3.1596595759597 | erot = 4.27393537405652 | epot = -38.4369161779509 | etot = -31.0033212279347 -356000 ekin = 3.0196784402613 | erot = 4.46559381130417 | epot = -38.4622452099032 | etot = -30.9769729583378 -357000 ekin = 2.97836465744993 | erot = 4.24123654485003 | epot = -38.4340474220209 | etot = -31.214446219721 -358000 ekin = 2.90298621775703 | erot = 4.00214290087722 | epot = -38.3669225243923 | etot = -31.4617934057581 -359000 ekin = 2.89703951576627 | erot = 3.75540528896982 | epot = -38.2596281019022 | etot = -31.6071832971661 -360000 ekin = 2.89517468979402 | erot = 3.69844688179083 | epot = -38.1408983158931 | etot = -31.5472767443082 -361000 ekin = 2.80138616808295 | erot = 3.38323529451502 | epot = -38.0246589917391 | etot = -31.8400375291411 -362000 ekin = 2.77162168417612 | erot = 2.91331523066537 | epot = -37.9398868290149 | etot = -32.2549499141734 -363000 ekin = 2.78539815378433 | erot = 2.68460040337589 | epot = -37.8665635409938 | etot = -32.3965649838336 -364000 ekin = 2.6806781219229 | erot = 2.78677391239236 | epot = -37.7617899033784 | etot = -32.2943378690631 -365000 ekin = 2.54070043685876 | erot = 2.83653994835753 | epot = -37.6554311404474 | etot = -32.2781907552311 -366000 ekin = 2.41606481092138 | erot = 2.86609766611192 | epot = -37.5516282283376 | etot = -32.2694657513043 -367000 ekin = 2.46811866465482 | erot = 3.34221140329 | epot = -37.4475028758826 | etot = -31.6371728079378 -368000 ekin = 2.42926223365494 | erot = 3.33046663396725 | epot = -37.3674460967945 | etot = -31.6077172291723 -369000 ekin = 2.43816169312792 | erot = 3.26459431026916 | epot = -37.3019788371043 | etot = -31.5992228337072 -370000 ekin = 2.46038177337525 | erot = 3.10066469966251 | epot = -37.2626057339964 | etot = -31.7015592609586 -371000 ekin = 2.44062438526228 | erot = 2.87778487491551 | epot = -37.2539180634397 | etot = -31.9355088032619 -372000 ekin = 2.4119643832672 | erot = 3.07515188922145 | epot = -37.3089635753533 | etot = -31.8218473028647 -373000 ekin = 2.48050565170775 | erot = 3.18196875652298 | epot = -37.4397878357735 | etot = -31.7773134275428 -374000 ekin = 2.63530688061921 | erot = 3.59156982435214 | epot = -37.5884648424034 | etot = -31.3615881374321 -375000 ekin = 2.68283894448257 | erot = 3.3245108406823 | epot = -37.7715422578285 | etot = -31.7641924726636 -376000 ekin = 2.79488034579907 | erot = 3.22988532668875 | epot = -38.0009039102152 | etot = -31.9761382377273 -377000 ekin = 2.97793932778636 | erot = 3.1487944738539 | epot = -38.2360750185572 | etot = -32.1093412169169 -378000 ekin = 3.04959845592823 | erot = 3.49481966296083 | epot = -38.5013695235687 | etot = -31.9569514046797 -379000 ekin = 3.19106410727104 | erot = 3.36561045250103 | epot = -38.7688607813371 | etot = -32.2121862215651 -380000 ekin = 3.25183572215722 | erot = 3.58875776192795 | epot = -39.0288452181148 | etot = -32.1882517340297 -381000 ekin = 3.33794215221589 | erot = 3.69339177566719 | epot = -39.3017064605086 | etot = -32.2703725326255 -382000 ekin = 3.49270190624137 | erot = 3.86829998834039 | epot = -39.5268729273469 | etot = -32.1658710327651 -383000 ekin = 3.55662169084774 | erot = 3.53333329088007 | epot = -39.726779107516 | etot = -32.6368241257882 -384000 ekin = 3.69351012028544 | erot = 3.28268730044336 | epot = -39.8789874723582 | etot = -32.9027900516294 -385000 ekin = 3.68733706037504 | erot = 3.68055641648011 | epot = -39.999883925349 | etot = -32.6319904484938 -386000 ekin = 3.71694831249284 | erot = 3.79434784508062 | epot = -40.0869801892988 | etot = -32.5756840317253 -387000 ekin = 3.76861509268673 | erot = 3.88558369375086 | epot = -40.1715737743675 | etot = -32.5173749879299 -388000 ekin = 3.8301760688337 | erot = 4.20859412334347 | epot = -40.2007323597247 | etot = -32.1619621675475 -389000 ekin = 3.86768485031758 | erot = 3.99003783907099 | epot = -40.1899129305042 | etot = -32.3321902411156 -390000 ekin = 3.97485559059841 | erot = 3.73907035926306 | epot = -40.1534652302146 | etot = -32.4395392803531 -391000 ekin = 3.99255423920738 | erot = 3.459854141016 | epot = -40.0955220791989 | etot = -32.6431136989755 -392000 ekin = 4.01983776245668 | erot = 3.684257426475 | epot = -39.9999647918604 | etot = -32.2958696029287 -393000 ekin = 4.02356764424247 | erot = 3.83787437414721 | epot = -39.8549016020689 | etot = -31.9934595836793 -394000 ekin = 3.93980876114322 | erot = 3.99211744164119 | epot = -39.7011477670266 | etot = -31.7692215642422 -395000 ekin = 4.11174368478723 | erot = 3.75033473410246 | epot = -39.5451859148434 | etot = -31.6831074959538 -396000 ekin = 4.20376876107167 | erot = 3.67040632781357 | epot = -39.394880998087 | etot = -31.5207059092017 -397000 ekin = 4.13633572842997 | erot = 3.65151581957605 | epot = -39.2564297317577 | etot = -31.4685781837517 -398000 ekin = 4.13905245601627 | erot = 3.71620600673367 | epot = -39.093596770216 | etot = -31.2383383074661 -399000 ekin = 4.10332411545528 | erot = 3.71374971681591 | epot = -38.9205234935042 | etot = -31.103449661233 -400000 ekin = 4.06766016908479 | erot = 3.42139504654381 | epot = -38.7497473150009 | etot = -31.2606920993723 -401000 ekin = 3.97284164111999 | erot = 3.81120481171761 | epot = -38.6001977504163 | etot = -30.8161512975787 -402000 ekin = 3.90587383547465 | erot = 3.53418826218585 | epot = -38.4681757167877 | etot = -31.0281136191272 -403000 ekin = 3.91259869514561 | erot = 3.63738639184103 | epot = -38.3230308363684 | etot = -30.7730457493818 -404000 ekin = 3.79936006877832 | erot = 3.32641249272552 | epot = -38.2009092385689 | etot = -31.0751366770651 -405000 ekin = 3.8251759680116 | erot = 3.13064904024261 | epot = -38.1553776059004 | etot = -31.1995525976462 -406000 ekin = 3.73725599382609 | erot = 3.08306268157751 | epot = -38.1316917306566 | etot = -31.311373055253 -407000 ekin = 3.726517750459 | erot = 3.09861818078622 | epot = -38.1634910279953 | etot = -31.3383550967501 -408000 ekin = 3.79931976439459 | erot = 3.25718386016374 | epot = -38.2217683212397 | etot = -31.1652646966814 -409000 ekin = 3.95093187918724 | erot = 3.4395040977601 | epot = -38.2689453197333 | etot = -30.8785093427859 -410000 ekin = 4.07121708138889 | erot = 3.83760071106058 | epot = -38.3189798432044 | etot = -30.4101620507549 -411000 ekin = 4.23307978558165 | erot = 3.98162063698057 | epot = -38.3721329673504 | etot = -30.1574325447882 -412000 ekin = 4.241170808143 | erot = 3.99737193476948 | epot = -38.4124767699443 | etot = -30.1739340270318 -413000 ekin = 4.23580670923547 | erot = 3.8106439850279 | epot = -38.4212920990952 | etot = -30.3748414048318 -414000 ekin = 4.27445938143083 | erot = 3.9812454132049 | epot = -38.4106571527341 | etot = -30.1549523580983 -415000 ekin = 4.38899479005091 | erot = 3.80279226112388 | epot = -38.3596783722964 | etot = -30.1678913211216 -416000 ekin = 4.45628965411063 | erot = 3.63102956113277 | epot = -38.3042311126166 | etot = -30.2169118973732 -417000 ekin = 4.49028461121067 | erot = 3.62754419665983 | epot = -38.25831980893 | etot = -30.1404910010595 -418000 ekin = 4.45936601962003 | erot = 3.71144506663837 | epot = -38.1813464675297 | etot = -30.0105353812713 -419000 ekin = 4.38379837521008 | erot = 3.33513327030905 | epot = -38.0724868069419 | etot = -30.3535551614228 -420000 ekin = 4.283111933024 | erot = 3.09826419668605 | epot = -37.9370678690097 | etot = -30.5556917392996 -421000 ekin = 4.152480975106 | erot = 3.56237827808224 | epot = -37.7709210423883 | etot = -30.0560617892 -422000 ekin = 3.95490687211588 | erot = 3.47480957997332 | epot = -37.5854884820709 | etot = -30.1557720299817 -423000 ekin = 3.91714305790356 | erot = 3.4847628632339 | epot = -37.3949936437694 | etot = -29.9930877226319 -424000 ekin = 3.84213202460288 | erot = 3.52777059768033 | epot = -37.2158434462617 | etot = -29.8459408239785 -425000 ekin = 3.71924289661388 | erot = 3.33663609660611 | epot = -37.072252600123 | etot = -30.016373606903 -426000 ekin = 3.64441997260647 | erot = 3.36227935441014 | epot = -36.9667678357551 | etot = -29.9600685087385 -427000 ekin = 3.75655721345781 | erot = 3.37897054079373 | epot = -36.8611280898055 | etot = -29.7256003355539 -428000 ekin = 3.74409443646521 | erot = 3.1773287235424 | epot = -36.742715037602 | etot = -29.8212918775944 -429000 ekin = 3.6632902831786 | erot = 2.78764787478687 | epot = -36.6486255145436 | etot = -30.1976873565782 -430000 ekin = 3.62135290496445 | erot = 2.6733797516058 | epot = -36.560604151542 | etot = -30.2658714949717 -431000 ekin = 3.61616361793053 | erot = 2.69754710014203 | epot = -36.506732939117 | etot = -30.1930222210445 -432000 ekin = 3.49552617760825 | erot = 3.08491352170465 | epot = -36.485170074763 | etot = -29.9047303754501 -433000 ekin = 3.58020816083944 | erot = 2.88002256286314 | epot = -36.5217696117553 | etot = -30.0615388880528 -434000 ekin = 3.59867849318971 | erot = 3.0840797331355 | epot = -36.6202495320039 | etot = -29.9374913056787 -435000 ekin = 3.67331527289036 | erot = 3.42657552434419 | epot = -36.7488916307825 | etot = -29.6490008335479 -436000 ekin = 3.82088042289272 | erot = 3.65447442369897 | epot = -36.9085622220517 | etot = -29.43320737546 -437000 ekin = 3.86869421673766 | erot = 3.95470287079859 | epot = -37.0720316005957 | etot = -29.2486345130595 -438000 ekin = 4.11090595842083 | erot = 3.77540801446838 | epot = -37.2088542252226 | etot = -29.3225402523333 -439000 ekin = 4.12926159073602 | erot = 4.06917140325885 | epot = -37.351759051221 | etot = -29.1533260572261 -440000 ekin = 4.09029177261524 | erot = 4.14981299565281 | epot = -37.4912988817269 | etot = -29.2511941134588 -441000 ekin = 4.14485979348682 | erot = 4.37283240826395 | epot = -37.6181493098546 | etot = -29.1004571081038 -442000 ekin = 4.12304009572841 | erot = 4.39045893698217 | epot = -37.7155315750664 | etot = -29.2020325423558 -443000 ekin = 4.23471751438731 | erot = 4.14989601608928 | epot = -37.768614271265 | etot = -29.3840007407884 -444000 ekin = 4.35772646838224 | erot = 4.52232474512897 | epot = -37.7816885908053 | etot = -28.9016373772941 -445000 ekin = 4.39118784053262 | erot = 4.66570824296109 | epot = -37.7439950146598 | etot = -28.6870989311661 -446000 ekin = 4.39675921765031 | erot = 4.46936063153376 | epot = -37.6960851354907 | etot = -28.8299652863066 -447000 ekin = 4.35336664890442 | erot = 4.44173113672769 | epot = -37.6140263912413 | etot = -28.8189286056092 -448000 ekin = 4.28498441172979 | erot = 4.19781838322426 | epot = -37.5090341348627 | etot = -29.0262313399087 -449000 ekin = 4.31763982219652 | erot = 4.52832551746764 | epot = -37.4084017454329 | etot = -28.5624364057687 -450000 ekin = 4.34138928411261 | erot = 4.44258564037432 | epot = -37.3062489259438 | etot = -28.5222740014569 -451000 ekin = 4.30985185878605 | erot = 4.23825662962946 | epot = -37.1459619150061 | etot = -28.5978534265906 -452000 ekin = 4.32592045036098 | erot = 3.8660276663028 | epot = -36.9847035634508 | etot = -28.792755446787 -453000 ekin = 4.32845268851063 | erot = 3.54171363095618 | epot = -36.8340779762824 | etot = -28.9639116568156 -454000 ekin = 4.31011457813703 | erot = 3.79537837348597 | epot = -36.7199830616559 | etot = -28.6144901100328 -455000 ekin = 4.29550433639214 | erot = 3.85241036204668 | epot = -36.6489739160371 | etot = -28.5010592175982 -456000 ekin = 4.37032742709196 | erot = 4.00721124204773 | epot = -36.6190063800956 | etot = -28.2414677109559 -457000 ekin = 4.36426470286789 | erot = 3.85637152044941 | epot = -36.5969553476853 | etot = -28.376319124368 -458000 ekin = 4.32567014378617 | erot = 3.50123530464575 | epot = -36.5630453883135 | etot = -28.7361399398816 -459000 ekin = 4.3893381573867 | erot = 3.57401843708546 | epot = -36.5693343587042 | etot = -28.605977764232 -460000 ekin = 4.31317855607494 | erot = 4.09613513000612 | epot = -36.6229031356536 | etot = -28.2135894495725 -461000 ekin = 4.31811012640179 | erot = 4.38273826542215 | epot = -36.70247802377 | etot = -28.0016296319461 -462000 ekin = 4.3366863877001 | erot = 4.51374491218817 | epot = -36.8227361919449 | etot = -27.9723048920566 -463000 ekin = 4.27564269849664 | erot = 4.86202296781303 | epot = -36.9415310835084 | etot = -27.8038654171987 -464000 ekin = 4.25704856573543 | erot = 4.74085846897256 | epot = -37.0390079052471 | etot = -28.0411008705391 -465000 ekin = 4.27536374407092 | erot = 4.49932366093905 | epot = -37.1090432428533 | etot = -28.3343558378433 -466000 ekin = 4.30607368146068 | erot = 4.23786653917903 | epot = -37.1491605127936 | etot = -28.6052202921539 -467000 ekin = 4.2491978620046 | erot = 4.12771930877699 | epot = -37.1714598423964 | etot = -28.7945426716148 -468000 ekin = 4.39683218085591 | erot = 3.85228521386559 | epot = -37.2088712844973 | etot = -28.9597538897758 -469000 ekin = 4.64124419278982 | erot = 3.80754439193721 | epot = -37.276730222032 | etot = -28.8279416373049 -470000 ekin = 4.66178408905675 | erot = 3.92065938428513 | epot = -37.3876740781875 | etot = -28.8052306048457 -471000 ekin = 4.75392904131986 | erot = 4.24739494727095 | epot = -37.5007122646075 | etot = -28.4993882760167 -472000 ekin = 4.78287126449292 | erot = 4.29738258008793 | epot = -37.5977046601011 | etot = -28.5174508155202 -473000 ekin = 4.83746609770183 | erot = 4.38666527032485 | epot = -37.6671790710826 | etot = -28.4430477030559 -474000 ekin = 4.79054197671376 | erot = 4.34169424272138 | epot = -37.6856820094293 | etot = -28.5534457899942 -475000 ekin = 4.83235787688145 | erot = 4.21788406575012 | epot = -37.6508263787861 | etot = -28.6005844361546 -476000 ekin = 4.77650421806813 | erot = 4.23519664592598 | epot = -37.5559363402036 | etot = -28.5442354762095 -477000 ekin = 4.70149228687153 | erot = 3.94955206004049 | epot = -37.4316333722383 | etot = -28.7805890253263 -478000 ekin = 4.65828612344613 | erot = 3.52306589214554 | epot = -37.3056353897912 | etot = -29.1242833741995 -479000 ekin = 4.49034904671755 | erot = 3.69691237093679 | epot = -37.1645007343033 | etot = -28.977239316649 -480000 ekin = 4.42035953830873 | erot = 3.62614880736063 | epot = -36.9855336534948 | etot = -28.9390253078254 -481000 ekin = 4.29236052675552 | erot = 3.46283113670755 | epot = -36.778837676618 | etot = -29.0236460131549 -482000 ekin = 4.24695006747703 | erot = 3.64617122659715 | epot = -36.5783264764331 | etot = -28.685205182359 -483000 ekin = 4.27724439911399 | erot = 3.65906944039054 | epot = -36.4031794376627 | etot = -28.4668655981582 -484000 ekin = 4.2785974211617 | erot = 3.80998418987604 | epot = -36.2601336102694 | etot = -28.1715519992317 -485000 ekin = 4.21291837199932 | erot = 3.8427823044223 | epot = -36.141503315863 | etot = -28.0858026394413 -486000 ekin = 3.9839252640706 | erot = 3.69687119417294 | epot = -36.0420007851875 | etot = -28.3612043269439 -487000 ekin = 3.87685523954227 | erot = 3.52087214489094 | epot = -35.9790179936878 | etot = -28.5812906092545 -488000 ekin = 3.74675884240029 | erot = 3.80072807052997 | epot = -35.9652058586033 | etot = -28.417718945673 -489000 ekin = 3.61099051841834 | erot = 4.09702697313287 | epot = -35.9887686799326 | etot = -28.2807511883814 -490000 ekin = 3.72073699277815 | erot = 3.89157882585025 | epot = -36.0103724524783 | etot = -28.3980566338499 -491000 ekin = 3.72740917275115 | erot = 4.01795497893002 | epot = -36.0292354570353 | etot = -28.2838713053542 -492000 ekin = 3.67547789628858 | erot = 3.85969822517316 | epot = -36.0430681478948 | etot = -28.507892026433 -493000 ekin = 3.65198421841226 | erot = 3.75518718738361 | epot = -36.0824152706771 | etot = -28.6752438648813 -494000 ekin = 3.4852821998486 | erot = 3.8153550877854 | epot = -36.1423710455837 | etot = -28.8417337579497 -495000 ekin = 3.31359070882208 | erot = 4.11558724766118 | epot = -36.2268684383707 | etot = -28.7976904818874 -496000 ekin = 3.27798311005969 | erot = 3.88806115727323 | epot = -36.3363270902379 | etot = -29.170282822905 -497000 ekin = 3.23000081873816 | erot = 4.5315385178341 | epot = -36.481720183114 | etot = -28.7201808465418 -498000 ekin = 3.35490986062535 | erot = 4.76314991175258 | epot = -36.6514686581236 | etot = -28.5334088857457 -499000 ekin = 3.39102564180502 | erot = 4.99058516868934 | epot = -36.8025368986548 | etot = -28.4209260881604 -500000 ekin = 3.44319922277998 | erot = 4.29432196305736 | epot = -36.9177193599231 | etot = -29.1801981740858 -501000 ekin = 3.47746008955509 | erot = 4.289941738028 | epot = -37.0187053512324 | etot = -29.2513035236494 -502000 ekin = 3.58696948456752 | erot = 4.55410136617418 | epot = -37.1018103829437 | etot = -28.960739532202 -503000 ekin = 3.68317380855592 | erot = 4.60652443433648 | epot = -37.1620776601797 | etot = -28.8723794172873 -504000 ekin = 3.68852053014443 | erot = 4.67783023002264 | epot = -37.2052759454199 | etot = -28.8389251852528 -505000 ekin = 3.88723268453866 | erot = 4.53079850437663 | epot = -37.2950608294683 | etot = -28.877029640553 -506000 ekin = 3.80925396925163 | erot = 4.47086505886218 | epot = -37.3479933337838 | etot = -29.06787430567 -507000 ekin = 3.73248519551991 | erot = 4.21393839264144 | epot = -37.4256513139284 | etot = -29.4792277257671 -508000 ekin = 3.80672760184063 | erot = 3.93708079377005 | epot = -37.4951091449467 | etot = -29.751300749336 -509000 ekin = 3.80086991164608 | erot = 3.74333566662504 | epot = -37.5406480313395 | etot = -29.9964424530683 -510000 ekin = 3.89850649197978 | erot = 3.97775581109505 | epot = -37.5934385426631 | etot = -29.7171762395883 -511000 ekin = 3.81393185765464 | erot = 4.00469160928647 | epot = -37.6349932199755 | etot = -29.8163697530344 -512000 ekin = 3.7684396284637 | erot = 4.34524756747826 | epot = -37.6787808921542 | etot = -29.5650936962122 -513000 ekin = 3.70769437024747 | erot = 4.19222442242684 | epot = -37.7114576947707 | etot = -29.8115389020964 -514000 ekin = 3.65606306228176 | erot = 4.64296237641028 | epot = -37.7095823242883 | etot = -29.4105568855962 -515000 ekin = 3.5052281855745 | erot = 4.47916848114099 | epot = -37.6783049637298 | etot = -29.6939082970143 -516000 ekin = 3.59266443877101 | erot = 5.02978018029494 | epot = -37.6477009850688 | etot = -29.0252563660028 -517000 ekin = 3.53729866959058 | erot = 4.95641997732805 | epot = -37.644541266991 | etot = -29.1508226200724 -518000 ekin = 3.55341695305132 | erot = 4.57512459674255 | epot = -37.6532745224308 | etot = -29.5247329726369 -519000 ekin = 3.61605940841961 | erot = 4.59842321288953 | epot = -37.7181887221249 | etot = -29.5037061008158 -520000 ekin = 3.66003580736891 | erot = 4.52802897844102 | epot = -37.8184531846622 | etot = -29.6303883988522 -521000 ekin = 3.57990395101936 | erot = 4.58686564429493 | epot = -37.9529160430901 | etot = -29.7861464477758 -522000 ekin = 3.58721017350486 | erot = 4.78958389957763 | epot = -38.1056938634054 | etot = -29.7288997903229 -523000 ekin = 3.7455374895203 | erot = 4.82242710318161 | epot = -38.249659851946 | etot = -29.6816952592441 -524000 ekin = 3.8367296557297 | erot = 5.1780625575552 | epot = -38.3420385705452 | etot = -29.3272463572603 -525000 ekin = 3.97426514986068 | erot = 5.13820563111667 | epot = -38.4306455211977 | etot = -29.3181747402204 -526000 ekin = 4.03278131821146 | erot = 4.61480893928539 | epot = -38.4813375347266 | etot = -29.8337472772297 -527000 ekin = 4.15303805139338 | erot = 4.03339974605316 | epot = -38.4813261438674 | etot = -30.2948883464208 -528000 ekin = 4.34085606106391 | erot = 3.63416049936053 | epot = -38.4621670653444 | etot = -30.4871505049199 -529000 ekin = 4.53593485604709 | erot = 3.72087643644205 | epot = -38.417501648356 | etot = -30.1606903558668 -530000 ekin = 4.65836945322522 | erot = 3.5823370050418 | epot = -38.3861765288022 | etot = -30.1454700705352 -531000 ekin = 4.66519878740321 | erot = 3.41094947734083 | epot = -38.3363103504893 | etot = -30.2601620857452 -532000 ekin = 4.80041164317288 | erot = 3.07760528500134 | epot = -38.3151265786575 | etot = -30.4371096504833 -533000 ekin = 4.73180745168947 | erot = 3.06230961560373 | epot = -38.3468719461379 | etot = -30.5527548788447 -534000 ekin = 4.77276572097011 | erot = 3.01963113043202 | epot = -38.4024212860539 | etot = -30.6100244346518 -535000 ekin = 4.8569392849477 | erot = 2.8251632104728 | epot = -38.5360450508862 | etot = -30.8539425554657 -536000 ekin = 4.79265980947574 | erot = 2.9077544610961 | epot = -38.7196748122557 | etot = -31.0192605416839 -537000 ekin = 4.8694795576244 | erot = 3.00989555981224 | epot = -38.9076102830991 | etot = -31.0282351656625 -538000 ekin = 5.00269155741106 | erot = 2.68875189029915 | epot = -39.0473675460742 | etot = -31.355924098364 -539000 ekin = 4.98226102919721 | erot = 2.9218882996937 | epot = -39.1655668480607 | etot = -31.2614175191698 -540000 ekin = 4.99147016878216 | erot = 3.35574385805742 | epot = -39.2596960810253 | etot = -30.9124820541857 -541000 ekin = 4.92725844601428 | erot = 3.28345034188319 | epot = -39.3089899760125 | etot = -31.098281188115 -542000 ekin = 4.77242859226853 | erot = 3.31966912230266 | epot = -39.290238437105 | etot = -31.1981407225338 -543000 ekin = 4.65726157165086 | erot = 3.56099171692955 | epot = -39.1715392323124 | etot = -30.953285943732 -544000 ekin = 4.75158561074879 | erot = 2.98586301386342 | epot = -39.0000211966266 | etot = -31.2625725720144 -545000 ekin = 4.71389651780192 | erot = 3.29722166624284 | epot = -38.8124009343347 | etot = -30.8012827502899 -546000 ekin = 4.59452933616211 | erot = 3.65785900566388 | epot = -38.6597531372896 | etot = -30.4073647954636 -547000 ekin = 4.49485576841329 | erot = 3.52227156689634 | epot = -38.5261493757316 | etot = -30.509022040422 -548000 ekin = 4.49472654055115 | erot = 3.49603087938245 | epot = -38.3944216290951 | etot = -30.4036642091615 -549000 ekin = 4.39213180937533 | erot = 3.53228763855232 | epot = -38.2774675964384 | etot = -30.3530481485108 -550000 ekin = 4.36283999146784 | erot = 3.78776441036084 | epot = -38.2051317998107 | etot = -30.054527397982 -551000 ekin = 4.3226010693823 | erot = 4.01133252124201 | epot = -38.1611801425645 | etot = -29.8272465519402 -552000 ekin = 4.33183515664561 | erot = 3.98124414472576 | epot = -38.153772138803 | etot = -29.8406928374316 -553000 ekin = 4.30534974680474 | erot = 3.81209066755014 | epot = -38.1803693007097 | etot = -30.0629288863549 -554000 ekin = 4.29335219580314 | erot = 3.80213545963908 | epot = -38.2389597407399 | etot = -30.1434720852977 -555000 ekin = 4.45825549052385 | erot = 4.03672150414325 | epot = -38.3296083261046 | etot = -29.8346313314375 -556000 ekin = 4.63230188756517 | erot = 3.70797489704037 | epot = -38.4795834327921 | etot = -30.1393066481866 -557000 ekin = 4.7062229398582 | erot = 4.51036732636183 | epot = -38.6738842895281 | etot = -29.4572940233081 -558000 ekin = 4.70612532334176 | erot = 4.30314260207011 | epot = -38.9099036274272 | etot = -29.9006357020154 -559000 ekin = 4.85842132468142 | erot = 4.45569884582871 | epot = -39.1571701897087 | etot = -29.8430500191985 -560000 ekin = 4.84667483493842 | erot = 4.2909749826346 | epot = -39.3692871188964 | etot = -30.2316373013234 -561000 ekin = 4.93080663772512 | erot = 4.40964672372479 | epot = -39.5560309503474 | etot = -30.2155775888975 -562000 ekin = 5.02786763240469 | erot = 4.09895267825196 | epot = -39.6620959555469 | etot = -30.5352756448903 -563000 ekin = 4.99483060861824 | erot = 4.56393029644404 | epot = -39.7001867829015 | etot = -30.1414258778392 -564000 ekin = 5.01292656089529 | erot = 4.4655943412775 | epot = -39.6969046345991 | etot = -30.2183837324263 -565000 ekin = 4.97924499589803 | erot = 4.56764102867122 | epot = -39.6391307119519 | etot = -30.0922446873826 -566000 ekin = 4.80472039327358 | erot = 4.49618530358116 | epot = -39.532014253858 | etot = -30.2311085570032 -567000 ekin = 4.59721417192401 | erot = 4.44898156673777 | epot = -39.3835091139999 | etot = -30.3373133753381 -568000 ekin = 4.59948947791994 | erot = 4.21619266891999 | epot = -39.1697350851653 | etot = -30.3540529383253 -569000 ekin = 4.46814520025952 | erot = 4.13625120915546 | epot = -38.9496016480665 | etot = -30.3452052386516 -570000 ekin = 4.63380574109383 | erot = 3.97471689520422 | epot = -38.718728428018 | etot = -30.11020579172 -571000 ekin = 4.51646555902281 | erot = 3.77943581302556 | epot = -38.5103017941538 | etot = -30.2144004221055 -572000 ekin = 4.44329973394602 | erot = 3.7381898397106 | epot = -38.3513010282128 | etot = -30.1698114545561 -573000 ekin = 4.48138796166295 | erot = 3.67030746094246 | epot = -38.2531080005807 | etot = -30.1014125779753 -574000 ekin = 4.57372019352159 | erot = 3.64740839838101 | epot = -38.156347689767 | etot = -29.9352190978644 -575000 ekin = 4.81962720354415 | erot = 3.58128135189807 | epot = -38.0780197446127 | etot = -29.6771111891705 -576000 ekin = 4.78739960955874 | erot = 3.16941649568994 | epot = -38.0548669136925 | etot = -30.0980508084438 -577000 ekin = 4.89624137933428 | erot = 3.37301453509229 | epot = -38.0581159208699 | etot = -29.7888600064433 -578000 ekin = 4.89993171052244 | erot = 3.39468878464203 | epot = -38.0636938795354 | etot = -29.7690733843709 -579000 ekin = 4.83297661461352 | erot = 3.08572772864731 | epot = -38.0577731810634 | etot = -30.1390688378025 -580000 ekin = 4.77298411404082 | erot = 3.09603380464132 | epot = -38.0675771405193 | etot = -30.1985592218372 -581000 ekin = 4.96965435170517 | erot = 3.06610493080443 | epot = -38.0894896837321 | etot = -30.0537304012225 -582000 ekin = 4.84477580774046 | erot = 2.99273203470777 | epot = -38.1047755328766 | etot = -30.2672676904284 -583000 ekin = 4.80184612340906 | erot = 2.99121545039794 | epot = -38.0992283827671 | etot = -30.3061668089601 -584000 ekin = 4.73999729115027 | erot = 2.9582025614058 | epot = -38.1193022601923 | etot = -30.4211024076362 -585000 ekin = 4.62963491646133 | erot = 2.99096158598542 | epot = -38.1514766562945 | etot = -30.5308801538478 -586000 ekin = 4.66196804986657 | erot = 3.11428540249501 | epot = -38.1645218154685 | etot = -30.3882683631069 -587000 ekin = 4.58446438916316 | erot = 3.26198289890957 | epot = -38.1451310277746 | etot = -30.2986837397019 -588000 ekin = 4.59050554157097 | erot = 3.37267542289071 | epot = -38.0928945920966 | etot = -30.1297136276349 -589000 ekin = 4.52148456601106 | erot = 3.20426810396368 | epot = -38.0431145518049 | etot = -30.3173618818302 -590000 ekin = 4.54292012494665 | erot = 3.1746661588888 | epot = -37.9867331121618 | etot = -30.2691468283263 -591000 ekin = 4.4671534284139 | erot = 3.30654504351679 | epot = -37.9702893954325 | etot = -30.1965909235018 -592000 ekin = 4.47491098921977 | erot = 3.6999642514397 | epot = -37.96964005272 | etot = -29.7947648120605 -593000 ekin = 4.43506697623668 | erot = 3.70250326611378 | epot = -37.982672172325 | etot = -29.8451019299745 -594000 ekin = 4.36908136306916 | erot = 3.59308231950687 | epot = -38.0038521048194 | etot = -30.0416884222434 -595000 ekin = 4.30615021787055 | erot = 3.60547435881484 | epot = -38.0517692624258 | etot = -30.1401446857404 -596000 ekin = 4.27538703974133 | erot = 3.70718417029039 | epot = -38.1072020006231 | etot = -30.1246307905914 -597000 ekin = 4.09427835861054 | erot = 3.56040857145023 | epot = -38.1368054718234 | etot = -30.4821185417626 -598000 ekin = 4.06772969179115 | erot = 3.98852753231075 | epot = -38.1357675039156 | etot = -30.0795102798136 -599000 ekin = 4.05823661502991 | erot = 3.99204411848296 | epot = -38.094416622612 | etot = -30.0441358890991 -600000 ekin = 4.14000207696602 | erot = 3.69886036268676 | epot = -38.0126500071596 | etot = -30.1737875675068 -601000 ekin = 4.14331251606218 | erot = 4.02012885446818 | epot = -37.8931408419344 | etot = -29.729699471404 -602000 ekin = 4.19175322865721 | erot = 3.63789752518648 | epot = -37.7768382304761 | etot = -29.9471874766324 -603000 ekin = 4.17700109074315 | erot = 3.33190102346874 | epot = -37.6571796612342 | etot = -30.1482775470223 -604000 ekin = 4.32110078335241 | erot = 3.37359972635297 | epot = -37.5481087406157 | etot = -29.8534082309104 -605000 ekin = 4.40829637956699 | erot = 3.12232098209626 | epot = -37.4615593717344 | etot = -29.9309420100712 -606000 ekin = 4.50978571460473 | erot = 2.82903034171764 | epot = -37.4107566252709 | etot = -30.0719405689485 -607000 ekin = 4.64775510562435 | erot = 2.72855004395394 | epot = -37.3886864614939 | etot = -30.0123813119156 -608000 ekin = 4.62515883775204 | erot = 2.6927668656574 | epot = -37.3472679127842 | etot = -30.0293422093748 -609000 ekin = 4.58072072733859 | erot = 2.72618151323749 | epot = -37.3211555189931 | etot = -30.014253278417 -610000 ekin = 4.37064710749547 | erot = 2.94205446769451 | epot = -37.3313655411416 | etot = -30.0186639659516 -611000 ekin = 4.30243700562367 | erot = 2.94482669781559 | epot = -37.3282578261779 | etot = -30.0809941227387 -612000 ekin = 4.37982748485341 | erot = 2.81236690797527 | epot = -37.3366791579242 | etot = -30.1444847650955 -613000 ekin = 4.49298433908211 | erot = 2.94229499226113 | epot = -37.3617837170398 | etot = -29.9265043856965 -614000 ekin = 4.63192250195887 | erot = 2.81948937077722 | epot = -37.3623397651557 | etot = -29.9109278924196 -615000 ekin = 4.56431794922691 | erot = 3.0411203817408 | epot = -37.3360474756729 | etot = -29.7306091447052 -616000 ekin = 4.48538645093135 | erot = 2.98636794618235 | epot = -37.2843360454654 | etot = -29.8125816483517 -617000 ekin = 4.35777724185508 | erot = 3.27046740448594 | epot = -37.2149609045278 | etot = -29.5867162581867 -618000 ekin = 4.13929013645531 | erot = 3.31436963968888 | epot = -37.1380165806133 | etot = -29.6843568044691 -619000 ekin = 3.99812604761941 | erot = 3.8069721617963 | epot = -37.0480074184854 | etot = -29.2429092090697 -620000 ekin = 3.75775297824748 | erot = 3.88935078371488 | epot = -37.0016709350121 | etot = -29.3545671730497 -621000 ekin = 3.59837254942665 | erot = 3.36974253347194 | epot = -36.9571399968608 | etot = -29.9890249139622 -622000 ekin = 3.52853751549672 | erot = 3.57220920853455 | epot = -36.9826672270776 | etot = -29.8819205030464 -623000 ekin = 3.44776927445729 | erot = 3.68524482792421 | epot = -37.0520182183616 | etot = -29.9190041159801 -624000 ekin = 3.42459051153803 | erot = 4.10039189185604 | epot = -37.1561365046956 | etot = -29.6311541013015 -625000 ekin = 3.47427533928245 | erot = 4.19316198399255 | epot = -37.3128709391508 | etot = -29.6454336158758 -626000 ekin = 3.59243588690058 | erot = 4.25331544595912 | epot = -37.4538356021372 | etot = -29.6080842692775 -627000 ekin = 3.65834270574552 | erot = 3.84587709669878 | epot = -37.5560189371567 | etot = -30.0517991347124 -628000 ekin = 3.70047562334578 | erot = 3.68821102783487 | epot = -37.6346624168371 | etot = -30.2459757656565 -629000 ekin = 3.73516234913433 | erot = 3.92476956261683 | epot = -37.7008434862915 | etot = -30.0409115745404 -630000 ekin = 3.81181204861757 | erot = 3.95913149926755 | epot = -37.7335643601767 | etot = -29.9626208122916 -631000 ekin = 3.81645534702376 | erot = 3.13210702566919 | epot = -37.7706097068457 | etot = -30.8220473341528 -632000 ekin = 3.83367227377587 | erot = 3.16390787891897 | epot = -37.8179976528052 | etot = -30.8204175001103 -633000 ekin = 3.78875173101134 | erot = 3.28627876080406 | epot = -37.8551980571895 | etot = -30.7801675653741 -634000 ekin = 3.6443572434567 | erot = 3.54689069849334 | epot = -37.8771184407041 | etot = -30.685870498754 -635000 ekin = 3.74927918910692 | erot = 3.50067245026003 | epot = -37.9120332365851 | etot = -30.6620815972182 -636000 ekin = 3.89890106913058 | erot = 3.51590480850449 | epot = -37.9883703460315 | etot = -30.5735644683965 -637000 ekin = 3.98051852239103 | erot = 3.51683885701818 | epot = -38.1188954220066 | etot = -30.6215380425974 -638000 ekin = 4.18679252196735 | erot = 3.48363716100453 | epot = -38.3003898519918 | etot = -30.6299601690199 -639000 ekin = 4.29259370089823 | erot = 3.44532403016775 | epot = -38.5009165327291 | etot = -30.7629988016631 -640000 ekin = 4.33862023546748 | erot = 3.6140024868752 | epot = -38.6627935284696 | etot = -30.710170806127 -641000 ekin = 4.47895119284614 | erot = 3.60758277909088 | epot = -38.7986251266555 | etot = -30.7120911547185 -642000 ekin = 4.48471207018753 | erot = 3.75535910837188 | epot = -38.8636204148756 | etot = -30.6235492363162 -643000 ekin = 4.56445558617346 | erot = 3.81552004634158 | epot = -38.8645537025221 | etot = -30.4845780700071 -644000 ekin = 4.7332947847572 | erot = 3.55885168491642 | epot = -38.8054956282287 | etot = -30.5133491585551 -645000 ekin = 4.69129439625574 | erot = 3.28200064721723 | epot = -38.7015474297407 | etot = -30.7282523862678 -646000 ekin = 4.5858300200132 | erot = 3.40859569463286 | epot = -38.5478616511676 | etot = -30.5534359365215 -647000 ekin = 4.60741071742922 | erot = 3.38831322436686 | epot = -38.3932861693423 | etot = -30.3975622275462 -648000 ekin = 4.51463144345975 | erot = 3.24274100333129 | epot = -38.2758434893351 | etot = -30.518471042544 -649000 ekin = 4.55491099792928 | erot = 3.31738105307143 | epot = -38.2201110845426 | etot = -30.3478190335419 -650000 ekin = 4.67226589728797 | erot = 3.60950811156238 | epot = -38.2202225605506 | etot = -29.9384485517003 -651000 ekin = 4.60851815831642 | erot = 3.77278937705218 | epot = -38.253633099544 | etot = -29.8723255641754 -652000 ekin = 4.67845920019102 | erot = 3.39376240096224 | epot = -38.2868824175934 | etot = -30.2146608164401 -653000 ekin = 4.66844839257092 | erot = 3.83803199311147 | epot = -38.3235322989533 | etot = -29.8170519132709 -654000 ekin = 4.71048953319322 | erot = 3.48299287365118 | epot = -38.3580887397251 | etot = -30.1646063328807 -655000 ekin = 4.59645355598624 | erot = 3.74782025282036 | epot = -38.4145657066931 | etot = -30.0702918978865 -656000 ekin = 4.75902771581103 | erot = 3.81874385847387 | epot = -38.4693742928372 | etot = -29.8916027185523 -657000 ekin = 4.6466802059304 | erot = 3.66656001060126 | epot = -38.4843211797294 | etot = -30.1710809631977 -658000 ekin = 4.55836001875084 | erot = 3.93329833863017 | epot = -38.4803826070965 | etot = -29.9887242497155 -659000 ekin = 4.55537392119735 | erot = 3.62854716021115 | epot = -38.4363459414659 | etot = -30.2524248600574 -660000 ekin = 4.415513333681 | erot = 3.65395590072885 | epot = -38.3663969488347 | etot = -30.2969277144248 -661000 ekin = 4.32449081576482 | erot = 3.7409091571769 | epot = -38.2884247485437 | etot = -30.223024775602 -662000 ekin = 4.23823124010357 | erot = 3.58833666048794 | epot = -38.1946280661735 | etot = -30.368060165582 -663000 ekin = 4.32618520330365 | erot = 3.71369597709404 | epot = -38.0940311251123 | etot = -30.0541499447146 -664000 ekin = 4.30987713127752 | erot = 3.55193027406448 | epot = -38.0118003167728 | etot = -30.1499929114308 -665000 ekin = 4.32971268964141 | erot = 3.40416985470625 | epot = -37.9630121098135 | etot = -30.2291295654658 -666000 ekin = 4.30397058329246 | erot = 3.24563244836278 | epot = -37.9564459426243 | etot = -30.4068429109691 -667000 ekin = 4.23802718761169 | erot = 3.57923047722669 | epot = -37.9111709997968 | etot = -30.0939133349584 -668000 ekin = 4.17750835985179 | erot = 3.42921371885248 | epot = -37.8409684237743 | etot = -30.23424634507 -669000 ekin = 4.10123021238957 | erot = 3.38759831293404 | epot = -37.7732457913401 | etot = -30.2844172660165 -670000 ekin = 3.96563796265774 | erot = 3.59480187806746 | epot = -37.6965941156385 | etot = -30.1361542749133 -671000 ekin = 3.96406262528475 | erot = 3.64073126780244 | epot = -37.5753442355429 | etot = -29.9705503424557 -672000 ekin = 4.04265318678515 | erot = 3.67979591145804 | epot = -37.4296504342376 | etot = -29.7072013359944 -673000 ekin = 3.99224066234878 | erot = 3.52190422085284 | epot = -37.3047157518842 | etot = -29.7905708686826 -674000 ekin = 3.97681715793541 | erot = 3.75368024393795 | epot = -37.1885781675146 | etot = -29.4580807656412 -675000 ekin = 3.85833621087039 | erot = 3.97050815664598 | epot = -37.1417466549722 | etot = -29.3129022874559 -676000 ekin = 3.77676206895617 | erot = 3.79811590545672 | epot = -37.1253534099229 | etot = -29.55047543551 -677000 ekin = 3.78226586281959 | erot = 3.88942769355395 | epot = -37.138562963627 | etot = -29.4668694072535 -678000 ekin = 3.61579087416923 | erot = 3.83629032138265 | epot = -37.1880190743622 | etot = -29.7359378788103 -679000 ekin = 3.59940694058676 | erot = 3.92320694106409 | epot = -37.2411006365046 | etot = -29.7184867548538 -680000 ekin = 3.59936088858668 | erot = 3.59198808770724 | epot = -37.3103059663064 | etot = -30.1189569900125 -681000 ekin = 3.55068173353926 | erot = 3.62032338399716 | epot = -37.3978871586221 | etot = -30.2268820410857 -682000 ekin = 3.64312616149461 | erot = 3.63220095729225 | epot = -37.4824268307594 | etot = -30.2070997119725 -683000 ekin = 3.59147144886471 | erot = 4.00540882269656 | epot = -37.5784304648839 | etot = -29.9815501933227 -684000 ekin = 3.72558767154378 | erot = 4.43134049971583 | epot = -37.6663536443174 | etot = -29.5094254730578 -685000 ekin = 3.75700113340411 | erot = 4.4205179107468 | epot = -37.7011506850387 | etot = -29.5236316408878 -686000 ekin = 3.68716829673498 | erot = 4.29446170846275 | epot = -37.7134415714992 | etot = -29.7318115663015 -687000 ekin = 3.64818503755745 | erot = 4.53150873331275 | epot = -37.711537143075 | etot = -29.5318433722048 -688000 ekin = 3.65898677055768 | erot = 4.19517143645003 | epot = -37.717932414298 | etot = -29.8637742072903 -689000 ekin = 3.62053492938482 | erot = 4.90634872884688 | epot = -37.7254294906479 | etot = -29.1985458324162 -690000 ekin = 3.66313798116701 | erot = 4.56796147260999 | epot = -37.7316773182822 | etot = -29.5005778645052 -691000 ekin = 3.71240687811142 | erot = 4.32729443264309 | epot = -37.6986701891449 | etot = -29.6589688783904 -692000 ekin = 3.77937222983663 | erot = 4.25209713638369 | epot = -37.6463069321163 | etot = -29.614837565896 -693000 ekin = 3.82528389687004 | erot = 4.44391854020412 | epot = -37.5813521083395 | etot = -29.3121496712654 -694000 ekin = 3.77132757417721 | erot = 4.30342910423483 | epot = -37.529253149734 | etot = -29.4544964713219 -695000 ekin = 3.87816824099576 | erot = 3.61664690986643 | epot = -37.4977174174722 | etot = -30.00290226661 -696000 ekin = 4.03561630547949 | erot = 3.14881777436795 | epot = -37.5165237009965 | etot = -30.3320896211491 -697000 ekin = 4.10221303088943 | erot = 2.74688055821585 | epot = -37.6237315563432 | etot = -30.7746379672379 -698000 ekin = 4.33198843808374 | erot = 2.54448976763407 | epot = -37.8109238872742 | etot = -30.9344456815564 -699000 ekin = 4.45835519306672 | erot = 2.83727562812266 | epot = -38.0765099491825 | etot = -30.7808791279931 -700000 ekin = 4.62566765847138 | erot = 3.20413023616691 | epot = -38.366668680577 | etot = -30.5368707859387 -701000 ekin = 4.7119895804198 | erot = 3.20500762759523 | epot = -38.6531148244762 | etot = -30.7361176164611 -702000 ekin = 4.70320353975511 | erot = 3.49669921722524 | epot = -38.9020142648732 | etot = -30.7021115078929 -703000 ekin = 4.71666592176221 | erot = 3.4360587579244 | epot = -39.0983570180766 | etot = -30.94563233839 -704000 ekin = 4.81119997223628 | erot = 3.68842954975269 | epot = -39.2326154199854 | etot = -30.7329858979964 -705000 ekin = 4.76635995985857 | erot = 4.27225880905617 | epot = -39.3045830193539 | etot = -30.2659642504391 -706000 ekin = 4.61239689007865 | erot = 4.45743851438183 | epot = -39.3303553159894 | etot = -30.2605199115289 -707000 ekin = 4.4339240392442 | erot = 5.00090751066084 | epot = -39.3012148785927 | etot = -29.8663833286877 -708000 ekin = 4.49363980378809 | erot = 4.44827137132344 | epot = -39.185594508632 | etot = -30.2436833335204 -709000 ekin = 4.38087413515997 | erot = 4.33993340714001 | epot = -39.0225667156706 | etot = -30.3017591733706 -710000 ekin = 4.30084034805687 | erot = 4.18416076229502 | epot = -38.8018325665079 | etot = -30.3168314561561 -711000 ekin = 4.16061239283927 | erot = 3.75964607710248 | epot = -38.6119256895404 | etot = -30.6916672195987 -712000 ekin = 4.02785073941563 | erot = 3.9187380855626 | epot = -38.5032151267496 | etot = -30.5566263017714 -713000 ekin = 3.91042694307514 | erot = 4.02474708082432 | epot = -38.4555203424355 | etot = -30.5203463185361 -714000 ekin = 3.91972154955273 | erot = 3.86911398530045 | epot = -38.439191113934 | etot = -30.6503555790808 -715000 ekin = 3.7943288518239 | erot = 3.97493955426896 | epot = -38.464893488298 | etot = -30.6956250822051 -716000 ekin = 3.81379173421822 | erot = 4.12773796628725 | epot = -38.5344978321894 | etot = -30.592968131684 -717000 ekin = 3.81338083287865 | erot = 3.91040514076924 | epot = -38.6119475932714 | etot = -30.8881616196235 -718000 ekin = 3.98031853847212 | erot = 3.63481705596705 | epot = -38.678649410417 | etot = -31.0635138159778 -719000 ekin = 3.8566755406953 | erot = 3.54568346865612 | epot = -38.7335222105701 | etot = -31.3311632012187 -720000 ekin = 3.82130999837905 | erot = 3.12899985812948 | epot = -38.8000481793519 | etot = -31.8497383228434 -721000 ekin = 3.84625676410587 | erot = 3.33090070721984 | epot = -38.8362758074818 | etot = -31.6591183361561 -722000 ekin = 3.79224716661399 | erot = 3.20659617994805 | epot = -38.8301147634646 | etot = -31.8312714169026 -723000 ekin = 3.89270036914645 | erot = 3.09341373486911 | epot = -38.7612142662691 | etot = -31.7751001622535 -724000 ekin = 3.88950015267432 | erot = 3.37593260372107 | epot = -38.6472208331853 | etot = -31.3817880767899 -725000 ekin = 3.89253643906726 | erot = 3.36325650610821 | epot = -38.527809683643 | etot = -31.2720167384676 -726000 ekin = 3.77207579735124 | erot = 2.95762270097696 | epot = -38.4162496849588 | etot = -31.6865511866306 -727000 ekin = 3.85895083084016 | erot = 2.69741467226748 | epot = -38.3204112624909 | etot = -31.7640457593832 -728000 ekin = 3.95735248448051 | erot = 2.9120886214562 | epot = -38.2269317498774 | etot = -31.3574906439407 -729000 ekin = 3.90116579496187 | erot = 2.68023881807523 | epot = -38.1837112825913 | etot = -31.6023066695542 -730000 ekin = 3.96318220229617 | erot = 2.52640600275291 | epot = -38.1795006550048 | etot = -31.6899124499557 -731000 ekin = 4.07163559325283 | erot = 2.47524828245717 | epot = -38.2208467965997 | etot = -31.6739629208897 -732000 ekin = 4.1233129439478 | erot = 2.59059397612226 | epot = -38.2785246774241 | etot = -31.5646177573541 -733000 ekin = 4.18393032106832 | erot = 2.72580269413636 | epot = -38.392037043721 | etot = -31.4823040285164 -734000 ekin = 4.22490204001114 | erot = 2.94025387724302 | epot = -38.5577268408556 | etot = -31.3925709236014 -735000 ekin = 4.4163790638128 | erot = 3.39000978300276 | epot = -38.7520895879279 | etot = -30.9457007411124 -736000 ekin = 4.52682105512921 | erot = 3.59384799521515 | epot = -39.0007836443239 | etot = -30.8801145939796 -737000 ekin = 4.54518518822971 | erot = 3.67606395235669 | epot = -39.2431861398733 | etot = -31.0219369992869 -738000 ekin = 4.5411183131362 | erot = 3.87514152367616 | epot = -39.4689573474102 | etot = -31.0526975105979 -739000 ekin = 4.64515651334117 | erot = 3.86830954896682 | epot = -39.6580785017876 | etot = -31.1446124394797 -740000 ekin = 4.59721923359587 | erot = 3.83234514918728 | epot = -39.7800787241316 | etot = -31.3505143413485 -741000 ekin = 4.54920694202201 | erot = 4.22873772666809 | epot = -39.8001498706487 | etot = -31.0222052019586 -742000 ekin = 4.37775553859947 | erot = 4.07719515191239 | epot = -39.77291919362 | etot = -31.3179685031081 -743000 ekin = 4.3556617165814 | erot = 4.19296317409631 | epot = -39.6826493457459 | etot = -31.1340244550682 -744000 ekin = 4.35520781857197 | erot = 4.03027041959899 | epot = -39.5404877687078 | etot = -31.1550095305368 -745000 ekin = 4.22626887984311 | erot = 3.36034348052822 | epot = -39.3612863690873 | etot = -31.774674008716 -746000 ekin = 4.11995949308898 | erot = 3.27667360498754 | epot = -39.1619120183871 | etot = -31.7652789203105 -747000 ekin = 4.14400839200212 | erot = 3.30199438470027 | epot = -38.9827326721257 | etot = -31.5367298954233 -748000 ekin = 4.00468940718665 | erot = 3.14625781984354 | epot = -38.8044398216776 | etot = -31.6534925946474 -749000 ekin = 3.84115389861437 | erot = 2.95470003366606 | epot = -38.6687005011651 | etot = -31.8728465688847 -750000 ekin = 3.65410258827795 | erot = 3.15459365563751 | epot = -38.5278602215806 | etot = -31.7191639776652 -751000 ekin = 3.60281847230518 | erot = 3.24631581000329 | epot = -38.4153933025752 | etot = -31.5662590202667 -752000 ekin = 3.67731217795101 | erot = 3.63832283099237 | epot = -38.3028409880035 | etot = -30.9872059790601 -753000 ekin = 3.57605485188786 | erot = 3.26752665173283 | epot = -38.216520404161 | etot = -31.3729389005403 -754000 ekin = 3.69078656100566 | erot = 3.07077330953207 | epot = -38.2008529421059 | etot = -31.4392930715682 -755000 ekin = 3.70168225637966 | erot = 2.97263399944781 | epot = -38.2287093031121 | etot = -31.5543930472847 -756000 ekin = 3.82302121275981 | erot = 3.17826892909081 | epot = -38.3101319992817 | etot = -31.3088418574311 -757000 ekin = 3.92969183976116 | erot = 3.24398381681727 | epot = -38.4229976799529 | etot = -31.2493220233745 -758000 ekin = 4.01825553851179 | erot = 2.96087889455689 | epot = -38.5603809302419 | etot = -31.5812464971732 -759000 ekin = 4.1594567829226 | erot = 3.31368855914157 | epot = -38.7240687265499 | etot = -31.2509233844857 -760000 ekin = 4.08337495041284 | erot = 3.28527114059582 | epot = -38.8845645171708 | etot = -31.5159184261621 -761000 ekin = 4.14862342701 | erot = 3.30586771709934 | epot = -38.9896780479041 | etot = -31.5351869037948 -762000 ekin = 4.15291891523588 | erot = 3.21578962032623 | epot = -39.035237071941 | etot = -31.6665285363789 -763000 ekin = 4.13154828483799 | erot = 3.3900507889809 | epot = -39.064056495297 | etot = -31.5424574214781 -764000 ekin = 4.11445022984107 | erot = 3.78778087021378 | epot = -39.0692483990251 | etot = -31.1670172989703 -765000 ekin = 3.94937442988368 | erot = 3.99811330721235 | epot = -39.0421921917086 | etot = -31.0947044546125 -766000 ekin = 3.90772961551848 | erot = 4.01819621928476 | epot = -38.9772379154489 | etot = -31.0513120806457 -767000 ekin = 3.91865092379335 | erot = 3.66675942927309 | epot = -38.8570109636997 | etot = -31.2716006106333 -768000 ekin = 3.90455829915367 | erot = 3.57997769181359 | epot = -38.7106990781798 | etot = -31.2261630872126 -769000 ekin = 3.79614462627832 | erot = 3.72589479531036 | epot = -38.5987325117514 | etot = -31.0766930901627 -770000 ekin = 3.84943042371494 | erot = 3.41445940258821 | epot = -38.5242031402412 | etot = -31.260313313938 -771000 ekin = 3.93726861106208 | erot = 3.22573743650862 | epot = -38.4470290210347 | etot = -31.284022973464 -772000 ekin = 3.96999789478603 | erot = 3.15006319998271 | epot = -38.4433830504299 | etot = -31.3233219556611 -773000 ekin = 3.90264203603896 | erot = 3.08286085672449 | epot = -38.4596433115511 | etot = -31.4741404187877 -774000 ekin = 4.05136357587228 | erot = 3.17001936426352 | epot = -38.5137422973686 | etot = -31.2923593572328 -775000 ekin = 4.11418642080986 | erot = 3.81754399179959 | epot = -38.5927804349064 | etot = -30.661050022297 -776000 ekin = 4.11481050991311 | erot = 3.55328099460662 | epot = -38.6754580889835 | etot = -31.0073665844638 -777000 ekin = 4.23423405077874 | erot = 3.581082705526 | epot = -38.7616944176802 | etot = -30.9463776613754 -778000 ekin = 4.22244262963935 | erot = 3.64411855451435 | epot = -38.8420321429421 | etot = -30.9754709587884 -779000 ekin = 4.20492205038599 | erot = 3.89270804286641 | epot = -38.9009656289589 | etot = -30.8033355357065 -780000 ekin = 4.19457435208215 | erot = 3.98994130977104 | epot = -38.9050369874365 | etot = -30.7205213255833 -781000 ekin = 4.33837315790481 | erot = 3.45852422770952 | epot = -38.858660577552 | etot = -31.0617631919377 -782000 ekin = 4.36357496915256 | erot = 3.10010011432264 | epot = -38.7868584055569 | etot = -31.3231833220817 -783000 ekin = 4.42162598039043 | erot = 3.42028138737015 | epot = -38.7233668668894 | etot = -30.8814594991289 -784000 ekin = 4.52915280589042 | erot = 3.46746509226011 | epot = -38.6388342149203 | etot = -30.6422163167698 -785000 ekin = 4.55159402138248 | erot = 3.36141401661284 | epot = -38.5160993571772 | etot = -30.6030913191819 -786000 ekin = 4.4107707826177 | erot = 3.55728141641266 | epot = -38.3921286555455 | etot = -30.4240764565152 -787000 ekin = 4.54739828665105 | erot = 3.81681111076945 | epot = -38.2843232861691 | etot = -29.9201138887486 -788000 ekin = 4.51350891647147 | erot = 3.90594890385671 | epot = -38.2029645190102 | etot = -29.783506698682 -789000 ekin = 4.41183434492797 | erot = 4.01545730842708 | epot = -38.1545360413067 | etot = -29.7272443879517 -790000 ekin = 4.3621929679848 | erot = 4.38022337925409 | epot = -38.1642768248249 | etot = -29.4218604775861 -791000 ekin = 4.36856935453188 | erot = 4.10044084346352 | epot = -38.22190556061 | etot = -29.7528953626146 -792000 ekin = 4.15750522427246 | erot = 4.31220830506834 | epot = -38.3006248567473 | etot = -29.8309113274065 -793000 ekin = 4.04895474142999 | erot = 4.47406069249712 | epot = -38.4166817679431 | etot = -29.893666334016 -794000 ekin = 4.06782077729039 | erot = 4.5423761591342 | epot = -38.549740398153 | etot = -29.9395434617284 -795000 ekin = 4.13325369560992 | erot = 4.67664308533435 | epot = -38.7140310649861 | etot = -29.9041342840418 -796000 ekin = 4.24810673699366 | erot = 4.55090018691374 | epot = -38.8628377912584 | etot = -30.0638308673509 -797000 ekin = 4.47820483480062 | erot = 4.3710582070195 | epot = -39.0073103741375 | etot = -30.1580473323174 -798000 ekin = 4.41687882033674 | erot = 4.03192844801015 | epot = -39.1717655165837 | etot = -30.7229582482368 -799000 ekin = 4.51272621151671 | erot = 3.80275615695399 | epot = -39.326421036722 | etot = -31.0109386682513 -800000 ekin = 4.55406747540001 | erot = 3.86603589563195 | epot = -39.4550921156883 | etot = -31.0349887446563 -801000 ekin = 4.71425753043944 | erot = 4.19401636489447 | epot = -39.54550685129 | etot = -30.6372329559561 -802000 ekin = 4.73096724901053 | erot = 4.66018334519234 | epot = -39.5972922700863 | etot = -30.2061416758834 -803000 ekin = 4.62379738113316 | erot = 4.84687313016553 | epot = -39.6033097238912 | etot = -30.1326392125925 -804000 ekin = 4.73211781117971 | erot = 4.65405100631757 | epot = -39.5980929919843 | etot = -30.2119241744871 -805000 ekin = 4.74990370273775 | erot = 5.03061291222782 | epot = -39.5694988655322 | etot = -29.7889822505666 -806000 ekin = 4.71376969100982 | erot = 4.52737209746849 | epot = -39.5309941756429 | etot = -30.2898523871646 -807000 ekin = 4.86079475139436 | erot = 4.60056901312775 | epot = -39.4997078348835 | etot = -30.0383440703614 -808000 ekin = 4.80209833525355 | erot = 4.45818548395654 | epot = -39.4704788837952 | etot = -30.2101950645852 -809000 ekin = 4.63770011287829 | erot = 4.50410245159981 | epot = -39.4133092695816 | etot = -30.2715067051035 -810000 ekin = 4.5884562354768 | erot = 4.59839740206875 | epot = -39.3630399165046 | etot = -30.1761862789591 -811000 ekin = 4.49885529137743 | erot = 3.9887801293149 | epot = -39.2630135095319 | etot = -30.7753780888396 -812000 ekin = 4.26896362698773 | erot = 3.78568800845431 | epot = -39.1138584925267 | etot = -31.0592068570847 -813000 ekin = 4.13473287838125 | erot = 3.67097615600868 | epot = -38.9684769118809 | etot = -31.1627678774909 -814000 ekin = 3.94776533151707 | erot = 3.94579982777182 | epot = -38.8393181931019 | etot = -30.945753033813 -815000 ekin = 3.90824876714858 | erot = 4.04132924638676 | epot = -38.7551601823022 | etot = -30.8055821687669 -816000 ekin = 3.78701127768462 | erot = 3.90301930977965 | epot = -38.6978803550943 | etot = -31.00784976763 -817000 ekin = 3.66292511898638 | erot = 3.94682412287947 | epot = -38.6270985077426 | etot = -31.0173492658768 -818000 ekin = 3.57247131276286 | erot = 4.1784329766224 | epot = -38.5581000447573 | etot = -30.807195755372 -819000 ekin = 3.53877880324505 | erot = 4.11647252852256 | epot = -38.470998731369 | etot = -30.8157473996014 -820000 ekin = 3.50671598439872 | erot = 4.2563179936087 | epot = -38.3521077332955 | etot = -30.5890737552881 -821000 ekin = 3.53103431342872 | erot = 3.63219688182932 | epot = -38.2011634572155 | etot = -31.0379322619575 -822000 ekin = 3.51951391759943 | erot = 3.61259288561799 | epot = -38.0560993175181 | etot = -30.9239925143007 -823000 ekin = 3.57671320020567 | erot = 3.17979253207746 | epot = -37.8872361758758 | etot = -31.1307304435927 -824000 ekin = 3.52000952110933 | erot = 3.12347116703119 | epot = -37.7532307820924 | etot = -31.1097500939519 -825000 ekin = 3.58955759313317 | erot = 3.15061432333255 | epot = -37.6359982536735 | etot = -30.8958263372078 -826000 ekin = 3.67361585241127 | erot = 3.02327306669 | epot = -37.5692124634558 | etot = -30.8723235443545 -827000 ekin = 3.81109350736614 | erot = 2.85212407416514 | epot = -37.5611625241688 | etot = -30.8979449426375 -828000 ekin = 3.90531542763314 | erot = 2.81227386436725 | epot = -37.5694328663447 | etot = -30.8518435743443 -829000 ekin = 3.84587100054134 | erot = 2.81493449341339 | epot = -37.6070676030483 | etot = -30.9462621090935 -830000 ekin = 3.92673136944215 | erot = 3.15236191191148 | epot = -37.6537469157601 | etot = -30.5746536344065 -831000 ekin = 3.93921284330496 | erot = 3.06450076609936 | epot = -37.7261731649981 | etot = -30.7224595555938 -832000 ekin = 3.97197612374622 | erot = 3.05649894744995 | epot = -37.8221989970108 | etot = -30.7937239258147 -833000 ekin = 3.93725030890251 | erot = 3.02665836452882 | epot = -37.937171835506 | etot = -30.9732631620747 -834000 ekin = 3.98146697711155 | erot = 3.02136079279364 | epot = -38.0629385880238 | etot = -31.0601108181186 -835000 ekin = 4.05052897985959 | erot = 3.17273406713199 | epot = -38.1835463837721 | etot = -30.9602833367805 -836000 ekin = 4.19040397553803 | erot = 3.26946027032966 | epot = -38.300933644763 | etot = -30.8410693988953 -837000 ekin = 4.23633886579814 | erot = 3.17722972050009 | epot = -38.3895940577245 | etot = -30.9760254714262 -838000 ekin = 4.2979004072249 | erot = 3.15450479842831 | epot = -38.4727069904852 | etot = -31.020301784832 -839000 ekin = 4.1827320503791 | erot = 3.33215565016996 | epot = -38.5543306618494 | etot = -31.0394429613003 -840000 ekin = 4.10684077367706 | erot = 3.38230089969601 | epot = -38.6241675017604 | etot = -31.1350258283873 -841000 ekin = 4.23749853699732 | erot = 4.07451157411686 | epot = -38.6954306161323 | etot = -30.3834205050181 -842000 ekin = 4.21536707994271 | erot = 4.23835126074064 | epot = -38.7619078222529 | etot = -30.3081894815695 -843000 ekin = 4.22215504966707 | erot = 4.35771502414032 | epot = -38.8129398935363 | etot = -30.2330698197289 -844000 ekin = 4.30121627933579 | erot = 4.37450016715715 | epot = -38.8385476120778 | etot = -30.1628311655849 -845000 ekin = 4.21550077214613 | erot = 4.14378307005664 | epot = -38.8237568245828 | etot = -30.4644729823801 -846000 ekin = 4.02238016824688 | erot = 4.51654867802969 | epot = -38.7905889780242 | etot = -30.2516601317477 -847000 ekin = 4.01810256512938 | erot = 4.26125017170757 | epot = -38.7339575587521 | etot = -30.4546048219152 -848000 ekin = 3.96232133970733 | erot = 4.11983424179415 | epot = -38.6313622633388 | etot = -30.5492066818373 -849000 ekin = 3.80836560854392 | erot = 4.28564223418282 | epot = -38.48959631527 | etot = -30.3955884725433 -850000 ekin = 3.69578896780274 | erot = 4.39587758868534 | epot = -38.3525607889923 | etot = -30.2608942325043 -851000 ekin = 3.41959969074419 | erot = 4.26064520104068 | epot = -38.1456854690895 | etot = -30.4654405773046 -852000 ekin = 3.30829887930773 | erot = 3.71835542085462 | epot = -37.9409715149429 | etot = -30.9143172147806 -853000 ekin = 3.35508979255709 | erot = 3.37030184945615 | epot = -37.7900455534541 | etot = -31.0646539114409 -854000 ekin = 3.27022944339444 | erot = 3.34212111159848 | epot = -37.7131840806896 | etot = -31.1008335256967 -855000 ekin = 3.1986122719394 | erot = 3.88856216577092 | epot = -37.6928018165187 | etot = -30.6056273788084 -856000 ekin = 3.06768638261931 | erot = 3.9829801102148 | epot = -37.727010473156 | etot = -30.6763439803219 -857000 ekin = 3.0284945827112 | erot = 3.90128373509548 | epot = -37.7894644617561 | etot = -30.8596861439494 -858000 ekin = 3.01766394874129 | erot = 3.81481515545785 | epot = -37.864155422239 | etot = -31.0316763180398 -859000 ekin = 3.04279727315571 | erot = 3.58850792531729 | epot = -37.9147104139937 | etot = -31.2834052155206 -860000 ekin = 3.12250083122178 | erot = 3.47152341944192 | epot = -37.9805991878281 | etot = -31.3865749371644 -861000 ekin = 3.08661234486258 | erot = 3.19104504877415 | epot = -38.0455048743499 | etot = -31.7678474807132 -862000 ekin = 3.21284829409282 | erot = 3.29871938445951 | epot = -38.0992348440439 | etot = -31.5876671654916 -863000 ekin = 3.30782920492319 | erot = 3.18791577959006 | epot = -38.1747149198293 | etot = -31.6789699353161 -864000 ekin = 3.42420257195633 | erot = 2.92388402618492 | epot = -38.2365375033582 | etot = -31.8884509052169 -865000 ekin = 3.34466551527703 | erot = 3.0972998859353 | epot = -38.301208351407 | etot = -31.8592429501947 -866000 ekin = 3.36174635490682 | erot = 3.3198551234471 | epot = -38.3565233653476 | etot = -31.6749218869937 -867000 ekin = 3.421839196855 | erot = 2.79592217571863 | epot = -38.3877893327294 | etot = -32.1700279601558 -868000 ekin = 3.36274087144654 | erot = 2.53957841641307 | epot = -38.4029375195829 | etot = -32.5006182317233 -869000 ekin = 3.40964507660633 | erot = 2.56691032353925 | epot = -38.36070725069 | etot = -32.3841518505444 -870000 ekin = 3.53716918539255 | erot = 2.78671187381857 | epot = -38.3296120297664 | etot = -32.0057309705553 -871000 ekin = 3.59594316640844 | erot = 2.64188707611858 | epot = -38.2798157408161 | etot = -32.0419854982891 -872000 ekin = 3.50734679867103 | erot = 2.53533702817681 | epot = -38.2086073023315 | etot = -32.1659234754836 -873000 ekin = 3.4916725837923 | erot = 2.78144827221659 | epot = -38.1271407877643 | etot = -31.8540199317554 -874000 ekin = 3.51303146719815 | erot = 2.71312702979827 | epot = -38.0371921369836 | etot = -31.8110336399872 -875000 ekin = 3.48945347772522 | erot = 2.94850163157192 | epot = -37.9788388329101 | etot = -31.540883723613 -876000 ekin = 3.56075870692742 | erot = 3.00511197452216 | epot = -37.9138095080296 | etot = -31.34793882658 -877000 ekin = 3.47758786865161 | erot = 3.1639084633419 | epot = -37.8677942057125 | etot = -31.226297873719 -878000 ekin = 3.30311825505464 | erot = 3.03452838302456 | epot = -37.8643582436494 | etot = -31.5267116055702 -879000 ekin = 3.24374156245722 | erot = 3.40785973601244 | epot = -37.8934655456587 | etot = -31.241864247189 -880000 ekin = 3.37573093292728 | erot = 3.29280897525387 | epot = -37.94427513544 | etot = -31.2757352272588 -881000 ekin = 3.39840544569008 | erot = 3.5585281271734 | epot = -38.000888118187 | etot = -31.0439545453235 -882000 ekin = 3.58967670735277 | erot = 3.3599507497553 | epot = -38.026551897189 | etot = -31.0769244400809 -883000 ekin = 3.50982611331089 | erot = 2.96694324238043 | epot = -38.0094926569536 | etot = -31.5327233012623 -884000 ekin = 3.40446481075003 | erot = 3.29501620823909 | epot = -37.9974315131722 | etot = -31.2979504941831 -885000 ekin = 3.35965929451984 | erot = 3.11716654513079 | epot = -38.0104898466533 | etot = -31.5336640070026 -886000 ekin = 3.4398820879568 | erot = 3.03035945423277 | epot = -38.0693633346149 | etot = -31.5991217924253 -887000 ekin = 3.45628684947257 | erot = 3.13318789403751 | epot = -38.1677034351609 | etot = -31.5782286916509 -888000 ekin = 3.56219309594464 | erot = 3.51843891461384 | epot = -38.2809194479114 | etot = -31.2002874373529 -889000 ekin = 3.66415644518222 | erot = 4.27546474777851 | epot = -38.4171028829354 | etot = -30.4774816899746 -890000 ekin = 3.59199164776021 | erot = 4.54716655442229 | epot = -38.5531146541751 | etot = -30.4139564519926 -891000 ekin = 3.48698350789935 | erot = 4.75701182525661 | epot = -38.6580895919219 | etot = -30.414094258766 -892000 ekin = 3.5156285575795 | erot = 4.92508483334396 | epot = -38.7362622656564 | etot = -30.295548874733 -893000 ekin = 3.47661113338826 | erot = 5.21569244219348 | epot = -38.7939526432619 | etot = -30.1016490676802 -894000 ekin = 3.33377890272878 | erot = 5.32415823975917 | epot = -38.7809839614902 | etot = -30.1230468190022 -895000 ekin = 3.43478318369595 | erot = 5.41005154361594 | epot = -38.7354883491901 | etot = -29.8906536218782 -896000 ekin = 3.35681124753247 | erot = 5.27612600451783 | epot = -38.6441447733837 | etot = -30.0112075213334 -897000 ekin = 3.28668538949691 | erot = 5.17803324766006 | epot = -38.5248966927269 | etot = -30.0601780555699 -898000 ekin = 3.28286469703046 | erot = 5.1387437476849 | epot = -38.3749221439183 | etot = -29.9533136992029 -899000 ekin = 3.28106900834727 | erot = 5.02377463132161 | epot = -38.2159550339516 | etot = -29.9111113942827 -900000 ekin = 3.2375487758962 | erot = 4.74128859066627 | epot = -38.0678968923378 | etot = -30.0890595257754 -901000 ekin = 3.13978298302567 | erot = 4.32431292426646 | epot = -37.9137652588161 | etot = -30.449669351524 -902000 ekin = 3.14110495369396 | erot = 3.63711917032585 | epot = -37.7967183247471 | etot = -31.0184942007273 -903000 ekin = 3.11835106948985 | erot = 3.58358384011855 | epot = -37.7069569192994 | etot = -31.005022009691 -904000 ekin = 3.07376219479306 | erot = 3.52931006844845 | epot = -37.659746760624 | etot = -31.0566744973825 -905000 ekin = 3.06812362454382 | erot = 3.78913234205786 | epot = -37.6633180135035 | etot = -30.8060620469019 -906000 ekin = 3.16118254583051 | erot = 3.68210315785587 | epot = -37.7114125889236 | etot = -30.8681268852372 -907000 ekin = 3.05937736690029 | erot = 3.63166351278053 | epot = -37.8094278488434 | etot = -31.1183869691625 -908000 ekin = 3.20197665753497 | erot = 3.64411333350696 | epot = -37.8953945586469 | etot = -31.049304567605 -909000 ekin = 3.13419888287821 | erot = 3.44894287146556 | epot = -37.9553359165691 | etot = -31.3721941622254 -910000 ekin = 3.20114546563037 | erot = 3.42446813676887 | epot = -38.0249179476088 | etot = -31.3993043452096 -911000 ekin = 3.18332024249094 | erot = 3.30496399638702 | epot = -38.1090485606 | etot = -31.620764321722 -912000 ekin = 3.26276595850353 | erot = 3.24471741353574 | epot = -38.2096715613879 | etot = -31.7021881893487 -913000 ekin = 3.26815619138256 | erot = 3.26266624315757 | epot = -38.3821519588595 | etot = -31.8513295243194 -914000 ekin = 3.35412635067739 | erot = 3.33562334375849 | epot = -38.6092123987843 | etot = -31.9194627043485 -915000 ekin = 3.50776663391044 | erot = 3.60910336634357 | epot = -38.8009254120373 | etot = -31.6840554117832 -916000 ekin = 3.52773139010892 | erot = 3.4674530941274 | epot = -38.9707688836107 | etot = -31.9755843993744 -917000 ekin = 3.59076210165245 | erot = 3.4117857351299 | epot = -39.0925719913729 | etot = -32.0900241545906 -918000 ekin = 3.7045685353762 | erot = 3.18226166796498 | epot = -39.1781408185662 | etot = -32.291310615225 -919000 ekin = 3.7803778042616 | erot = 3.08638967761954 | epot = -39.2569196438482 | etot = -32.3901521619671 -920000 ekin = 3.91060781137672 | erot = 3.28711158692169 | epot = -39.3298863351684 | etot = -32.13216693687 -921000 ekin = 3.94747979949415 | erot = 3.453377720589 | epot = -39.3932618134519 | etot = -31.9924042933687 -922000 ekin = 3.94814734356937 | erot = 3.67117615571543 | epot = -39.442934644951 | etot = -31.8236111456662 -923000 ekin = 3.96148195878582 | erot = 4.16418425189008 | epot = -39.4697891977422 | etot = -31.3441229870663 -924000 ekin = 3.93156231463918 | erot = 4.23364521862781 | epot = -39.4747062603531 | etot = -31.3094987270862 -925000 ekin = 3.98364691406514 | erot = 4.37102519058194 | epot = -39.455954311955 | etot = -31.1012822073079 -926000 ekin = 3.9016583484788 | erot = 4.53983917650241 | epot = -39.3838686479858 | etot = -30.9423711230046 -927000 ekin = 3.86159556963871 | erot = 4.93409467569021 | epot = -39.300982283531 | etot = -30.505292038202 -928000 ekin = 3.88113409255633 | erot = 4.54344659797527 | epot = -39.2237313850885 | etot = -30.7991506945569 -929000 ekin = 3.73601262143401 | erot = 4.54159517313976 | epot = -39.0907845737874 | etot = -30.8131767792137 -930000 ekin = 3.62890283946134 | erot = 4.23223960576951 | epot = -38.9310668930158 | etot = -31.0699244477849 -931000 ekin = 3.51130978751943 | erot = 3.75580234575066 | epot = -38.7496742883208 | etot = -31.4825621550507 -932000 ekin = 3.4360478582471 | erot = 3.85916877458121 | epot = -38.6047820584061 | etot = -31.3095654255778 -933000 ekin = 3.34945134482961 | erot = 4.10711762351075 | epot = -38.510851150919 | etot = -31.0542821825786 -934000 ekin = 3.25407370525944 | erot = 4.02198516513935 | epot = -38.4343657155247 | etot = -31.1583068451259 -935000 ekin = 3.15706754617314 | erot = 3.94213624960975 | epot = -38.3842418910869 | etot = -31.285038095304 -936000 ekin = 3.00555649828169 | erot = 4.41385590541793 | epot = -38.3669049397814 | etot = -30.9474925360818 -937000 ekin = 2.92065396617303 | erot = 4.74523400801327 | epot = -38.3453538388337 | etot = -30.6794658646474 -938000 ekin = 2.97141948473083 | erot = 4.76974809222715 | epot = -38.3344331957964 | etot = -30.5932656188384 -939000 ekin = 2.94512706992735 | erot = 4.54496818954263 | epot = -38.3244620131105 | etot = -30.8343667536406 -940000 ekin = 2.88288211336416 | erot = 4.33037795313973 | epot = -38.3226244406597 | etot = -31.1093643741558 -941000 ekin = 3.07298949733874 | erot = 4.38312166999019 | epot = -38.3472582821343 | etot = -30.8911471148054 -942000 ekin = 3.09399973822823 | erot = 4.23262521183808 | epot = -38.3627707290365 | etot = -31.0361457789702 -943000 ekin = 3.06928348074207 | erot = 4.29810120769338 | epot = -38.3654861580835 | etot = -30.998101469648 -944000 ekin = 3.05361136554805 | erot = 4.57752136432057 | epot = -38.3891229370224 | etot = -30.7579902071538 -945000 ekin = 3.10532952733951 | erot = 4.63116672909514 | epot = -38.4481824906829 | etot = -30.7116862342482 -946000 ekin = 3.22536073155712 | erot = 4.97756078019748 | epot = -38.5304457687249 | etot = -30.3275242569703 -947000 ekin = 3.22481791886517 | erot = 4.85505897631128 | epot = -38.6306947506546 | etot = -30.5508178554781 -948000 ekin = 3.31258286730503 | erot = 4.40885070504342 | epot = -38.7111926164559 | etot = -30.9897590441074 -949000 ekin = 3.26341750645552 | erot = 4.50805562556237 | epot = -38.7582101439125 | etot = -30.9867370118946 -950000 ekin = 3.38312193033102 | erot = 4.30600402576272 | epot = -38.7909813747401 | etot = -31.1018554186463 -951000 ekin = 3.45878288324884 | erot = 3.92069079490449 | epot = -38.8089483233273 | etot = -31.429474645174 -952000 ekin = 3.42224118561199 | erot = 3.67807790241712 | epot = -38.8172186174577 | etot = -31.7168995294286 -953000 ekin = 3.53558981303889 | erot = 3.54582501818219 | epot = -38.8376037887753 | etot = -31.7561889575542 -954000 ekin = 3.74081536790968 | erot = 3.65672942044178 | epot = -38.8501623721149 | etot = -31.4526175837635 -955000 ekin = 3.7110092436565 | erot = 3.89616377536048 | epot = -38.8864415175109 | etot = -31.279268498494 -956000 ekin = 3.60593207480456 | erot = 3.60411690044688 | epot = -38.9258365620746 | etot = -31.7157875868231 -957000 ekin = 3.49530434439501 | erot = 3.8241034771156 | epot = -38.9468561104726 | etot = -31.627448288962 -958000 ekin = 3.33025913134867 | erot = 4.09361696296971 | epot = -38.956606995368 | etot = -31.5327309010496 -959000 ekin = 3.2325863398297 | erot = 4.27749630513801 | epot = -38.9400855462526 | etot = -31.4300029012849 -960000 ekin = 3.31834124707632 | erot = 4.19167538415384 | epot = -38.9006120641382 | etot = -31.3905954329081 -961000 ekin = 3.23354004257456 | erot = 4.33974592386025 | epot = -38.8709462828606 | etot = -31.2976603164258 -962000 ekin = 3.27687420354399 | erot = 4.18251799625541 | epot = -38.8399997192037 | etot = -31.3806075194043 -963000 ekin = 3.18724078299274 | erot = 4.29559449615356 | epot = -38.8215635568142 | etot = -31.3387282776679 -964000 ekin = 3.16628639784324 | erot = 4.17929146419551 | epot = -38.8033314242486 | etot = -31.4577535622098 -965000 ekin = 3.23601563824504 | erot = 4.51599223822389 | epot = -38.7801591620084 | etot = -31.0281512855395 -966000 ekin = 3.35348380272829 | erot = 3.96490873951942 | epot = -38.7593006562386 | etot = -31.4409081139909 -967000 ekin = 3.47301428118912 | erot = 3.78771221675284 | epot = -38.7263415939782 | etot = -31.4656150960363 -968000 ekin = 3.51493406845154 | erot = 3.36657292776078 | epot = -38.7364041234232 | etot = -31.8548971272109 -969000 ekin = 3.55243037222546 | erot = 3.66068265314136 | epot = -38.7529284526025 | etot = -31.5398154272357 -970000 ekin = 3.63553363347268 | erot = 3.13050605621035 | epot = -38.8016144947089 | etot = -32.0355748050258 -971000 ekin = 3.62760421034414 | erot = 3.43775684259619 | epot = -38.870763787289 | etot = -31.8054027343487 -972000 ekin = 3.66143241862989 | erot = 4.04556663388647 | epot = -38.9794799026743 | etot = -31.2724808501579 -973000 ekin = 3.7246589822928 | erot = 3.97416581320673 | epot = -39.0667487302084 | etot = -31.3679239347088 -974000 ekin = 3.99953950913791 | erot = 4.13912764019193 | epot = -39.1431741069697 | etot = -31.0045069576398 -975000 ekin = 4.00465817345131 | erot = 3.99525896460893 | epot = -39.1948973492942 | etot = -31.194980211234 -976000 ekin = 4.16803719317624 | erot = 4.27607609453618 | epot = -39.2042146461381 | etot = -30.7601013584257 -977000 ekin = 4.27763535208348 | erot = 4.3578537464676 | epot = -39.1647674598218 | etot = -30.5292783612708 -978000 ekin = 4.21509832146809 | erot = 3.96978575035229 | epot = -39.0661575270878 | etot = -30.8812734552674 -979000 ekin = 4.1121993977163 | erot = 3.86340161937279 | epot = -38.9126163242263 | etot = -30.9370153071372 -980000 ekin = 4.08548639230676 | erot = 3.71918260809163 | epot = -38.7460650378699 | etot = -30.9413960374715 -981000 ekin = 4.02033461236246 | erot = 3.54042819636898 | epot = -38.597187758635 | etot = -31.0364249499036 -982000 ekin = 4.05981657544079 | erot = 3.65178477672055 | epot = -38.4729888125583 | etot = -30.761387460397 -983000 ekin = 4.15649242216497 | erot = 3.62195027480226 | epot = -38.3342599610661 | etot = -30.5558172640988 -984000 ekin = 4.15445943144041 | erot = 3.41256983843898 | epot = -38.1946691276127 | etot = -30.6276398577333 -985000 ekin = 3.8765990108719 | erot = 3.43767805044635 | epot = -38.0505436384558 | etot = -30.7362665771376 -986000 ekin = 3.85786856381243 | erot = 3.30334700587336 | epot = -37.8996934133204 | etot = -30.7384778436346 -987000 ekin = 3.87294863787324 | erot = 3.15398232754985 | epot = -37.7929706719646 | etot = -30.7660397065415 -988000 ekin = 3.93790531951922 | erot = 3.08701498108577 | epot = -37.6532967522442 | etot = -30.6283764516392 -989000 ekin = 3.83115351568816 | erot = 3.07802242316593 | epot = -37.5101193189106 | etot = -30.6009433800565 -990000 ekin = 3.81048959043177 | erot = 3.11196082795564 | epot = -37.3832609771668 | etot = -30.4608105587794 -991000 ekin = 3.71517412131507 | erot = 3.09240412040415 | epot = -37.2833659467137 | etot = -30.4757877049945 -992000 ekin = 3.63849701384077 | erot = 2.99887074192575 | epot = -37.1786754428024 | etot = -30.5413076870359 -993000 ekin = 3.63209056043319 | erot = 3.27649085900159 | epot = -37.0906927302528 | etot = -30.182111310818 -994000 ekin = 3.59828390693157 | erot = 3.83169777268287 | epot = -37.0255816353103 | etot = -29.5955999556959 -995000 ekin = 3.75927077522085 | erot = 3.45385861701398 | epot = -36.9690811728773 | etot = -29.7559517806424 -996000 ekin = 3.7162823443018 | erot = 3.37243499359149 | epot = -36.9421300931431 | etot = -29.8534127552498 -997000 ekin = 3.60416089411945 | erot = 3.31461433836006 | epot = -36.952810875641 | etot = -30.0340356431615 -998000 ekin = 3.71457183702559 | erot = 3.42780251384754 | epot = -37.0325234658195 | etot = -29.8901491149464 -999000 ekin = 3.78703773886275 | erot = 3.63993408891199 | epot = -37.154809159371 | etot = -29.7278373315963 -1000000 ekin = 3.83883486112593 | erot = 3.47192929391939 | epot = -37.2430911050886 | etot = -29.9323269500432 - 1000000 0.10236893 -1.4701186 0.037692055 -1.2847791 5.0290761e-05 64000 -Loop time of 78.4082 on 1 procs for 1000000 steps with 26 atoms - -Performance: 11019.253 tau/day, 12753.765 timesteps/s -99.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 | 69.545 | 69.545 | 69.545 | 0.0 | 88.70 -Bond | 1.6652 | 1.6652 | 1.6652 | 0.0 | 2.12 -Neigh | 0.021387 | 0.021387 | 0.021387 | 0.0 | 0.03 -Comm | 0.20462 | 0.20462 | 0.20462 | 0.0 | 0.26 -Output | 0.23702 | 0.23702 | 0.23702 | 0.0 | 0.30 -Modify | 6.5296 | 6.5296 | 6.5296 | 0.0 | 8.33 -Other | | 0.2057 | | | 0.26 - -Nlocal: 26.0000 ave 26 max 26 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 0.00000 ave 0 max 0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 301.000 ave 301 max 301 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 301 -Ave neighs/atom = 11.576923 -Ave special neighs/atom = 5.0769231 -Neighbor list builds = 1000 -Dangerous builds = 0 - -write_data last_config.${number}.* nocoeff -write_data last_config.4.* nocoeff -System init for write_data ... -Total wall time: 0:01:18 diff --git a/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.27May21.duplex4.4type.g++4 b/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.27May21.duplex4.4type.g++4 deleted file mode 100644 index e04e7ab623..0000000000 --- a/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.27May21.duplex4.4type.g++4 +++ /dev/null @@ -1,1229 +0,0 @@ -LAMMPS (27 May 2021) -variable number equal 4 -variable ofreq equal 1000 -variable efreq equal 1000 - -variable ntype equal 4 - -variable T equal 0.1 -variable rhos equal 0.2 - -units lj - -dimension 3 - -newton off - -boundary p p p - -atom_style hybrid bond ellipsoid oxdna -WARNING: Atom style hybrid defines both, per-type and per-atom masses; both must be set, but only per-atom masses will be used (../atom_vec_hybrid.cpp:157) -atom_modify sort 0 1.0 - -# Pair interactions require lists of neighbours to be calculated -neighbor 2.0 bin -neigh_modify every 10 delay 0 check yes - -read_data data.duplex4.4type -Reading data file ... - orthogonal box = (-20.000000 -20.000000 -20.000000) to (20.000000 20.000000 20.000000) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 26 atoms - reading velocities ... - 26 velocities - scanning bonds ... - 2 = max bonds/atom - 26 ellipsoids - reading bonds ... - 24 bonds -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 - 2 = max # of 1-3 neighbors - 4 = max # of 1-4 neighbors - 6 = max # of special neighbors - special bonds CPU = 0.001 seconds - read_data CPU = 0.005 seconds - -mass * 3.1575 # sets per-type mass if not in data file -set atom * mass 3.1575 # sets per-atom mass -Setting atom values ... - 26 settings made for mass - -group all type 1 4 -26 atoms in group all - -# oxDNA2 bond interactions - FENE backbone -bond_style oxdna2/fene -bond_coeff * 2.0 0.25 0.7564 -special_bonds lj 0 1 1 -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 1 1 - special bond factors coul: 0 0 0 - 2 = max # of 1-2 neighbors - 2 = max # of 1-3 neighbors - 4 = max # of 1-4 neighbors - 6 = max # of special neighbors - special bonds CPU = 0.000 seconds - -# oxDNA pair interactions -pair_style hybrid/overlay oxdna2/excv oxdna2/stk oxdna2/hbond oxdna2/xstk oxdna2/coaxstk oxdna2/dh -pair_coeff * * oxdna2/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32 -pair_coeff * * oxdna2/stk seqdep ${T} 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 -pair_coeff * * oxdna2/stk seqdep 0.1 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 -pair_coeff * * oxdna2/hbond seqdep 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 - -label loop -variable base loop ${ntype} -variable base loop 4 - variable basemod equal ${base}%4 - variable basemod equal 1%4 - if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" -variable comp equal ${base}+3 -variable comp equal 1+3 -pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 1 ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 1 4 oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 - if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" -next base -jump in.duplex4.4type loop -variable base loop ${ntype} -variable base loop 4 - variable basemod equal ${base}%4 - variable basemod equal 2%4 - if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" - if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" -variable comp equal ${base}+1 -variable comp equal 2+1 -pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 2 ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 2 3 oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -next base -jump in.duplex4.4type loop -variable base loop ${ntype} -variable base loop 4 - variable basemod equal ${base}%4 - variable basemod equal 3%4 - if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" - if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" -next base -jump in.duplex4.4type loop -variable base loop ${ntype} -variable base loop 4 - variable basemod equal ${base}%4 - variable basemod equal 4%4 - if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" - if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" -next base -jump in.duplex4.4type loop - -pair_coeff * * oxdna2/xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68 -pair_coeff * * oxdna2/coaxstk 58.5 0.4 0.6 0.22 0.58 2.0 2.891592653589793 0.65 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 40.0 3.116592653589793 -pair_coeff * * oxdna2/dh ${T} ${rhos} 0.815 -pair_coeff * * oxdna2/dh 0.1 ${rhos} 0.815 -pair_coeff * * oxdna2/dh 0.1 0.2 0.815 - -# Langevin dynamics -fix 1 all nve/asphere -fix 2 all langevin ${T} ${T} 2.5 457145 angmom 10 -fix 2 all langevin 0.1 ${T} 2.5 457145 angmom 10 -fix 2 all langevin 0.1 0.1 2.5 457145 angmom 10 - -timestep 1e-5 - -#comm_style tiled -fix 3 all balance 1000 1.03 shift xyz 10 1.03 -comm_modify cutoff 3.8 - -compute quat all property/atom quatw quati quatj quatk - -compute erot all erotate/asphere -compute ekin all ke -compute epot all pe -variable erot equal c_erot -variable ekin equal c_ekin -variable epot equal c_epot -variable etot equal c_erot+c_ekin+c_epot -fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes -fix 5 all print 1000 "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes - -dump out all custom ${ofreq} out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz -dump out all custom 1000 out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz -dump out all custom 1000 out.4.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz -dump_modify out sort id -dump_modify out format line "%d %d %d %22.15le %22.15le %22.15le %d %d %d %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le" - -run 1000000 -Neighbor list info ... - update every 10 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 5.6389877 - ghost atom cutoff = 5.6389877 - binsize = 2.8194939, bins = 15 15 15 - 5 neighbor lists, perpetual/occasional/extra = 5 0 0 - (1) pair oxdna2/excv, perpetual - attributes: half, newton off - pair build: half/bin/newtoff - stencil: full/bin/3d - bin: standard - (2) pair oxdna2/hbond, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (3) pair oxdna2/xstk, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (4) pair oxdna2/coaxstk, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (5) pair oxdna2/dh, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none -WARNING: Communication cutoff adjusted to 5.638987723814632 (../comm.cpp:739) -0 ekin = 3.74991604702378 | erot = 3.45272678980464 | epot = -37.3742009011421 | etot = -30.1715580643137 -Per MPI rank memory allocation (min/avg/max) = 9.571 | 9.572 | 9.573 Mbytes -Step Temp E_pair E_mol TotEng Press Volume - 0 0.099997761 -1.4717559 0.03428661 -1.2932417 5.6146609e-05 64000 -1000 ekin = 3.92430268570824 | erot = 3.29540971313705 | epot = -37.4816670091169 | etot = -30.2619546102716 -2000 ekin = 3.88644825046428 | erot = 3.58410925014822 | epot = -37.5871874286304 | etot = -30.1166299280179 -3000 ekin = 3.90603224055461 | erot = 3.78206057452861 | epot = -37.7021302921285 | etot = -30.0140374770453 -4000 ekin = 4.02636555552402 | erot = 3.91677901140303 | epot = -37.8027608694504 | etot = -29.8596163025233 -5000 ekin = 4.05442725401043 | erot = 4.07817807460239 | epot = -37.8494362833427 | etot = -29.7168309547299 -6000 ekin = 4.13499768127483 | erot = 4.03873475277247 | epot = -37.8257365098367 | etot = -29.6520040757894 -7000 ekin = 4.08584129662811 | erot = 3.98502892930338 | epot = -37.744776171106 | etot = -29.6739059451746 -8000 ekin = 4.04473728341539 | erot = 3.70461133282256 | epot = -37.6185211079512 | etot = -29.8691724917132 -9000 ekin = 3.97040375513034 | erot = 3.89171847539017 | epot = -37.4779912856655 | etot = -29.615869055145 -10000 ekin = 4.08064552796877 | erot = 4.10399273710613 | epot = -37.3378150214196 | etot = -29.1531767563447 -11000 ekin = 3.94505548567029 | erot = 4.14758664614567 | epot = -37.2085796341436 | etot = -29.1159375023277 -12000 ekin = 3.88687763742867 | erot = 4.11256727293728 | epot = -37.1168918341093 | etot = -29.1174469237433 -13000 ekin = 3.78376547312035 | erot = 3.94997258779545 | epot = -37.0636475805867 | etot = -29.3299095196709 -14000 ekin = 3.72114827358809 | erot = 3.83862755313067 | epot = -37.0539326083543 | etot = -29.4941567816355 -15000 ekin = 3.63885725366144 | erot = 3.37568559083325 | epot = -37.0775134892158 | etot = -30.0629706447211 -16000 ekin = 3.75926862366823 | erot = 3.47832285528771 | epot = -37.1763229835919 | etot = -29.938731504636 -17000 ekin = 3.80458992549718 | erot = 3.37818714949378 | epot = -37.3270848276044 | etot = -30.1443077526134 -18000 ekin = 3.81685915102048 | erot = 3.82235577807969 | epot = -37.4876996492705 | etot = -29.8484847201703 -19000 ekin = 3.80633274630077 | erot = 3.8039328333736 | epot = -37.6386270441084 | etot = -30.028361464434 -20000 ekin = 3.77027693322165 | erot = 3.97848447130841 | epot = -37.7861726918926 | etot = -30.0374112873625 -21000 ekin = 3.75594248876352 | erot = 3.90400523936658 | epot = -37.9165000666024 | etot = -30.2565523384723 -22000 ekin = 3.81729390633802 | erot = 3.70298358069274 | epot = -38.0211478246462 | etot = -30.5008703376154 -23000 ekin = 3.86462773298721 | erot = 3.52903064555341 | epot = -38.0539868057477 | etot = -30.6603284272071 -24000 ekin = 3.84611190496181 | erot = 3.47876891204866 | epot = -38.0524942369904 | etot = -30.7276134199799 -25000 ekin = 3.88431543220182 | erot = 3.80956733596667 | epot = -38.0090041212112 | etot = -30.3151213530427 -26000 ekin = 3.88520717073552 | erot = 4.04667753560866 | epot = -37.9336134642013 | etot = -30.0017287578571 -27000 ekin = 3.83553778749005 | erot = 4.18222306888362 | epot = -37.8633670830474 | etot = -29.8456062266737 -28000 ekin = 3.83638307293673 | erot = 4.13838046178307 | epot = -37.8079901228044 | etot = -29.8332265880846 -29000 ekin = 3.81360349447094 | erot = 4.16358811310864 | epot = -37.7885827024555 | etot = -29.8113910948759 -30000 ekin = 3.89572360919441 | erot = 4.04566996469674 | epot = -37.7874054211311 | etot = -29.84601184724 -31000 ekin = 3.89393888302718 | erot = 3.55790326104627 | epot = -37.8038131932178 | etot = -30.3519710491444 -32000 ekin = 3.80317271692918 | erot = 3.54273524643272 | epot = -37.8451815180301 | etot = -30.4992735546682 -33000 ekin = 3.78703980355191 | erot = 3.99364624500488 | epot = -37.9406281896734 | etot = -30.1599421411166 -34000 ekin = 3.77142087668807 | erot = 3.88594611308813 | epot = -38.097584352555 | etot = -30.4402173627788 -35000 ekin = 3.71264930628466 | erot = 3.65225843687418 | epot = -38.2835289304067 | etot = -30.9186211872479 -36000 ekin = 3.74220790707641 | erot = 3.95952222810293 | epot = -38.4596915935922 | etot = -30.7579614584129 -37000 ekin = 3.82423101226177 | erot = 4.44859396622365 | epot = -38.6538277887212 | etot = -30.3810028102358 -38000 ekin = 3.69455547696862 | erot = 4.82722829899228 | epot = -38.8348230288023 | etot = -30.3130392528414 -39000 ekin = 3.5954890965849 | erot = 5.03318978839678 | epot = -38.9632877762132 | etot = -30.3346088912316 -40000 ekin = 3.7239082672625 | erot = 4.77008246177599 | epot = -39.0432740898072 | etot = -30.5492833607687 -41000 ekin = 3.71845130286974 | erot = 4.66721188475359 | epot = -39.0678678855713 | etot = -30.6822046979479 -42000 ekin = 3.5469605515821 | erot = 4.50731751167304 | epot = -39.0616854007739 | etot = -31.0074073375187 -43000 ekin = 3.57495163768248 | erot = 4.94852093613523 | epot = -39.0169365666547 | etot = -30.493463992837 -44000 ekin = 3.52915394890506 | erot = 5.14481752350032 | epot = -38.9320102816114 | etot = -30.258038809206 -45000 ekin = 3.36103362047063 | erot = 5.30737062665206 | epot = -38.8074049309155 | etot = -30.1390006837928 -46000 ekin = 3.33204426677158 | erot = 4.63880623753679 | epot = -38.6602813061652 | etot = -30.6894308018569 -47000 ekin = 3.34546960167669 | erot = 4.072379763769 | epot = -38.5241501078281 | etot = -31.1063007423824 -48000 ekin = 3.40049787952112 | erot = 4.05251615432405 | epot = -38.3938498073687 | etot = -30.9408357735235 -49000 ekin = 3.31008896923648 | erot = 4.20737258711336 | epot = -38.2514760468933 | etot = -30.7340144905435 -50000 ekin = 3.27384446847297 | erot = 3.84861240213718 | epot = -38.0781706006623 | etot = -30.9557137300522 -51000 ekin = 3.28837845708164 | erot = 4.03176750511309 | epot = -37.9124524403703 | etot = -30.5923064781756 -52000 ekin = 3.3261261077424 | erot = 3.69449114481263 | epot = -37.7461543084426 | etot = -30.7255370558875 -53000 ekin = 3.24704253260756 | erot = 3.82351300738067 | epot = -37.5996085904181 | etot = -30.5290530504299 -54000 ekin = 3.28722266262306 | erot = 3.86366065026156 | epot = -37.4297798097104 | etot = -30.2788964968257 -55000 ekin = 3.24079189906262 | erot = 3.69908024112639 | epot = -37.2469422361789 | etot = -30.3070700959899 -56000 ekin = 3.183124569803 | erot = 3.47133297155146 | epot = -37.0860684089791 | etot = -30.4316108676246 -57000 ekin = 3.22541795737962 | erot = 3.05594699251087 | epot = -36.9568071104528 | etot = -30.6754421605623 -58000 ekin = 3.32107899021702 | erot = 2.99608132055983 | epot = -36.8451019319952 | etot = -30.5279416212183 -59000 ekin = 3.3775603338752 | erot = 3.02468556348897 | epot = -36.7527120143507 | etot = -30.3504661169865 -60000 ekin = 3.3783851820659 | erot = 2.80486585978131 | epot = -36.6500489307871 | etot = -30.4667978889399 -61000 ekin = 3.4259305825981 | erot = 2.57336693961335 | epot = -36.5598996921942 | etot = -30.5606021699827 -62000 ekin = 3.38330194206295 | erot = 2.48716523240079 | epot = -36.4917506706078 | etot = -30.6212834961441 -63000 ekin = 3.23944564751902 | erot = 2.68514269262901 | epot = -36.4581690118127 | etot = -30.5335806716646 -64000 ekin = 3.12857340842367 | erot = 2.81379000215884 | epot = -36.4694531808169 | etot = -30.5270897702344 -65000 ekin = 3.0972900172278 | erot = 2.97796742393482 | epot = -36.4999099304858 | etot = -30.4246524893232 -66000 ekin = 3.02532625214509 | erot = 2.98352661182224 | epot = -36.5477137384001 | etot = -30.5388608744328 -67000 ekin = 3.14798260660729 | erot = 3.20065089850768 | epot = -36.6320762786642 | etot = -30.2834427735492 -68000 ekin = 3.28121216444371 | erot = 3.27703862715896 | epot = -36.7797333797323 | etot = -30.2214825881296 -69000 ekin = 3.39109863872899 | erot = 3.49453676740748 | epot = -36.9477169900692 | etot = -30.0620815839328 -70000 ekin = 3.52145416968701 | erot = 3.19663795891378 | epot = -37.1459833247571 | etot = -30.4278911961563 -71000 ekin = 3.72588366820837 | erot = 3.11523594110614 | epot = -37.3394708863316 | etot = -30.4983512770171 -72000 ekin = 3.87053189634972 | erot = 3.51504753627359 | epot = -37.5837173340768 | etot = -30.1981379014535 -73000 ekin = 4.043534645073 | erot = 3.57819581965021 | epot = -37.8491002809696 | etot = -30.2273698162464 -74000 ekin = 4.21655599164747 | erot = 3.67972843708688 | epot = -38.0370200626724 | etot = -30.1407356339381 -75000 ekin = 4.2751803734558 | erot = 3.50148075250732 | epot = -38.1503543696657 | etot = -30.3736932437026 -76000 ekin = 4.39260378383777 | erot = 3.17711135808546 | epot = -38.2269779234848 | etot = -30.6572627815615 -77000 ekin = 4.46694156592454 | erot = 3.28356630286401 | epot = -38.2567512319265 | etot = -30.506243363138 -78000 ekin = 4.58031785764229 | erot = 3.27581240698066 | epot = -38.2501645622451 | etot = -30.3940342976221 -79000 ekin = 4.74132912230535 | erot = 3.40062659497661 | epot = -38.2259226034585 | etot = -30.0839668861766 -80000 ekin = 4.84478519554072 | erot = 3.56980153308286 | epot = -38.14766861013 | etot = -29.7330818815064 -81000 ekin = 4.71163727717015 | erot = 3.65201658810459 | epot = -38.0489180007765 | etot = -29.6852641355017 -82000 ekin = 4.62310894573492 | erot = 3.61128178949357 | epot = -37.9515873690417 | etot = -29.7171966338132 -83000 ekin = 4.53890753637813 | erot = 3.79707688079936 | epot = -37.8589639327863 | etot = -29.5229795156088 -84000 ekin = 4.51952558800272 | erot = 3.75897913437636 | epot = -37.8043394039473 | etot = -29.5258346815682 -85000 ekin = 4.44986224636044 | erot = 4.10169839029415 | epot = -37.7952059629819 | etot = -29.2436453263273 -86000 ekin = 4.40335859262171 | erot = 4.18303158637893 | epot = -37.840594671262 | etot = -29.2542044922614 -87000 ekin = 4.34352629789854 | erot = 4.00093225674539 | epot = -37.8981775676818 | etot = -29.5537190130379 -88000 ekin = 4.39692532206221 | erot = 3.88765396717304 | epot = -37.9120170018269 | etot = -29.6274377125917 -89000 ekin = 4.3589540780767 | erot = 4.0687705270632 | epot = -37.8812041939536 | etot = -29.4534795888137 -90000 ekin = 4.20715511673659 | erot = 3.96880041117212 | epot = -37.8268382933969 | etot = -29.6508827654882 -91000 ekin = 4.2202199323169 | erot = 4.12841045745315 | epot = -37.7475084891388 | etot = -29.3988780993687 -92000 ekin = 4.1326498688273 | erot = 3.86635436032376 | epot = -37.6428932571545 | etot = -29.6438890280035 -93000 ekin = 4.05697056146658 | erot = 3.48249980793546 | epot = -37.5034004108467 | etot = -29.9639300414447 -94000 ekin = 3.85560920909744 | erot = 3.51617278195642 | epot = -37.371684822218 | etot = -29.9999028311642 -95000 ekin = 3.7069616782419 | erot = 3.7453999268692 | epot = -37.2425364302767 | etot = -29.7901748251656 -96000 ekin = 3.64541489153227 | erot = 3.55177042583784 | epot = -37.1071295289257 | etot = -29.9099442115556 -97000 ekin = 3.59427366044239 | erot = 3.58237376190961 | epot = -36.9903312497973 | etot = -29.8136838274453 -98000 ekin = 3.36609732779817 | erot = 3.78920076230078 | epot = -36.8893462899042 | etot = -29.7340481998052 -99000 ekin = 3.24308716626432 | erot = 3.98439513504784 | epot = -36.7958275145326 | etot = -29.5683452132204 -100000 ekin = 3.10105716620438 | erot = 3.88380514198999 | epot = -36.7237148853879 | etot = -29.7388525771935 -101000 ekin = 3.05392814208233 | erot = 3.92712981026601 | epot = -36.701962452506 | etot = -29.7209045001576 -102000 ekin = 3.21793305977178 | erot = 4.11601242104532 | epot = -36.7682713932638 | etot = -29.4343259124467 -103000 ekin = 3.29518049820435 | erot = 4.13622147772539 | epot = -36.8839850328129 | etot = -29.4525830568832 -104000 ekin = 3.38349143563889 | erot = 4.1183455666037 | epot = -37.0170458924454 | etot = -29.5152088902028 -105000 ekin = 3.43063719220638 | erot = 4.19281995644327 | epot = -37.150125503217 | etot = -29.5266683545673 -106000 ekin = 3.3930587869785 | erot = 4.59139499879992 | epot = -37.2962927182996 | etot = -29.3118389325211 -107000 ekin = 3.49611625167344 | erot = 4.42190170056941 | epot = -37.4298253792172 | etot = -29.5118074269743 -108000 ekin = 3.59165643487494 | erot = 4.73333858652918 | epot = -37.482137044902 | etot = -29.1571420234978 -109000 ekin = 3.59878557010229 | erot = 5.08720641062802 | epot = -37.4454225962908 | etot = -28.7594306155605 -110000 ekin = 3.52607850054465 | erot = 4.92743402067557 | epot = -37.33464551381 | etot = -28.8811329925897 -111000 ekin = 3.52196404281882 | erot = 4.48970120472559 | epot = -37.2166378630308 | etot = -29.2049726154863 -112000 ekin = 3.64094551226758 | erot = 4.18578082474331 | epot = -37.1356107687899 | etot = -29.3088844317791 -113000 ekin = 3.59908785035488 | erot = 3.81929848767613 | epot = -37.1563156196511 | etot = -29.7379292816201 -114000 ekin = 3.73247165614552 | erot = 3.7191219132616 | epot = -37.1841072802386 | etot = -29.7325137108315 -115000 ekin = 3.81386546938849 | erot = 3.49889872890822 | epot = -37.2616543115737 | etot = -29.948890113277 -116000 ekin = 4.05829999340919 | erot = 3.58390665501405 | epot = -37.4003005682591 | etot = -29.7580939198359 -117000 ekin = 4.27550110925089 | erot = 3.79076820440125 | epot = -37.5923004712666 | etot = -29.5260311576145 -118000 ekin = 4.45490103530269 | erot = 3.77915185795812 | epot = -37.7846946186124 | etot = -29.5506417253515 -119000 ekin = 4.58790399115696 | erot = 3.86870152715706 | epot = -37.9811558924431 | etot = -29.5245503741291 -120000 ekin = 4.92259141545412 | erot = 3.84940365834982 | epot = -38.1382043293411 | etot = -29.3662092555371 -121000 ekin = 5.13183269148667 | erot = 4.03705087488496 | epot = -38.2560800244005 | etot = -29.0871964580288 -122000 ekin = 5.17140868558226 | erot = 3.61810962674133 | epot = -38.3381390234359 | etot = -29.5486207111123 -123000 ekin = 5.28384467069957 | erot = 4.14897954513993 | epot = -38.3803925391061 | etot = -28.9475683232666 -124000 ekin = 5.45144965935832 | erot = 3.74948516195925 | epot = -38.4152715166921 | etot = -29.2143366953745 -125000 ekin = 5.49907232704504 | erot = 3.62957174075197 | epot = -38.4698081948487 | etot = -29.3411641270517 -126000 ekin = 5.81275552922944 | erot = 3.50370762045612 | epot = -38.5369283444346 | etot = -29.2204651947491 -127000 ekin = 5.71810535961462 | erot = 3.50153411217264 | epot = -38.6097648991183 | etot = -29.390125427331 -128000 ekin = 5.59769610955185 | erot = 2.99726680348478 | epot = -38.6545287261786 | etot = -30.059565813142 -129000 ekin = 5.51657182067137 | erot = 3.37515224045319 | epot = -38.6909141535699 | etot = -29.7991900924454 -130000 ekin = 5.46626997343554 | erot = 3.77525421867741 | epot = -38.7059148210791 | etot = -29.4643906289662 -131000 ekin = 5.369877414402 | erot = 3.92459463488634 | epot = -38.6781199948582 | etot = -29.3836479455698 -132000 ekin = 5.13704854270014 | erot = 3.89365302265538 | epot = -38.6113331110915 | etot = -29.580631545736 -133000 ekin = 5.04851208372184 | erot = 4.17613618410306 | epot = -38.4969113589734 | etot = -29.2722630911485 -134000 ekin = 4.96335667475941 | erot = 4.28428652813741 | epot = -38.308416110038 | etot = -29.0607729071412 -135000 ekin = 4.67485522816795 | erot = 3.71485446937039 | epot = -38.0437601659662 | etot = -29.6540504684278 -136000 ekin = 4.4890629916043 | erot = 4.19015103736215 | epot = -37.7533241067258 | etot = -29.0741100777593 -137000 ekin = 4.31371561077616 | erot = 3.47925724303299 | epot = -37.4739407743081 | etot = -29.6809679204989 -138000 ekin = 3.96696543473023 | erot = 3.71675428283175 | epot = -37.2042587721437 | etot = -29.5205390545817 -139000 ekin = 3.59101315513219 | erot = 3.64278698721068 | epot = -36.9457852108051 | etot = -29.7119850684622 -140000 ekin = 3.44095423425017 | erot = 3.49830537198652 | epot = -36.7203613080872 | etot = -29.7811017018505 -141000 ekin = 3.36296546737369 | erot = 3.56983741924066 | epot = -36.4964767451357 | etot = -29.5636738585213 -142000 ekin = 3.18252441669259 | erot = 3.32935464682758 | epot = -36.3244758925308 | etot = -29.8125968290106 -143000 ekin = 3.18465930443846 | erot = 3.56170045589814 | epot = -36.2215210957505 | etot = -29.4751613354139 -144000 ekin = 3.08106725409747 | erot = 3.50261030291633 | epot = -36.1512447258049 | etot = -29.5675671687911 -145000 ekin = 3.08093776365794 | erot = 3.51948185643724 | epot = -36.0863085456317 | etot = -29.4858889255365 -146000 ekin = 3.02030159479387 | erot = 3.3739730546246 | epot = -36.0845314152703 | etot = -29.6902567658518 -147000 ekin = 3.0413907298566 | erot = 3.36603954258596 | epot = -36.1557232229402 | etot = -29.7482929504977 -148000 ekin = 3.14853067203595 | erot = 3.14562859809704 | epot = -36.2494960139439 | etot = -29.9553367438109 -149000 ekin = 3.18195150813314 | erot = 3.58071760906443 | epot = -36.3477640598882 | etot = -29.5850949426907 -150000 ekin = 3.21133048800031 | erot = 3.85389957660328 | epot = -36.4132627454733 | etot = -29.3480326808697 -151000 ekin = 3.3414410423208 | erot = 3.49391537632178 | epot = -36.47829445309 | etot = -29.6429380344474 -152000 ekin = 3.38469121090166 | erot = 3.35926284582918 | epot = -36.5578474424856 | etot = -29.8138933857547 -153000 ekin = 3.52527639525701 | erot = 3.56811727016358 | epot = -36.6674257186129 | etot = -29.5740320531923 -154000 ekin = 3.77924799771095 | erot = 3.5214579525681 | epot = -36.7622601921048 | etot = -29.4615542418258 -155000 ekin = 3.83418008764662 | erot = 3.28305394597573 | epot = -36.8282659682374 | etot = -29.7110319346151 -156000 ekin = 3.87517167307552 | erot = 2.7562101543893 | epot = -36.8507311290664 | etot = -30.2193493016016 -157000 ekin = 3.89846784481937 | erot = 3.03513966490494 | epot = -36.8490467787069 | etot = -29.9154392689826 -158000 ekin = 3.86372390524165 | erot = 3.0673314083842 | epot = -36.8143502444316 | etot = -29.8832949308058 -159000 ekin = 3.87560822586875 | erot = 2.72238394226955 | epot = -36.7720066653759 | etot = -30.1740144972376 -160000 ekin = 3.81659540649487 | erot = 2.79162883042019 | epot = -36.745609213871 | etot = -30.137384976956 -161000 ekin = 3.90364665450438 | erot = 2.85891130626961 | epot = -36.6767188031099 | etot = -29.9141608423359 -162000 ekin = 3.93432840871727 | erot = 3.23277686088047 | epot = -36.60685028113 | etot = -29.4397450115322 -163000 ekin = 3.97425577903338 | erot = 2.70754263327096 | epot = -36.5720643915924 | etot = -29.890265979288 -164000 ekin = 3.91949827572788 | erot = 3.05668804181471 | epot = -36.5812838593575 | etot = -29.6050975418149 -165000 ekin = 3.99425179561608 | erot = 3.29785069907607 | epot = -36.6379374004751 | etot = -29.345834905783 -166000 ekin = 4.02904533815474 | erot = 3.36634066781855 | epot = -36.7340868254029 | etot = -29.3387008194296 -167000 ekin = 4.03733260336922 | erot = 3.51733984448521 | epot = -36.8476519248263 | etot = -29.2929794769719 -168000 ekin = 4.01641387278262 | erot = 3.37538682559192 | epot = -36.9710980220148 | etot = -29.5792973236403 -169000 ekin = 3.94799788749928 | erot = 3.38842418926867 | epot = -37.1207420196424 | etot = -29.7843199428744 -170000 ekin = 3.98944239104452 | erot = 3.56779767670648 | epot = -37.2922600249326 | etot = -29.7350199571816 -171000 ekin = 4.04980262307219 | erot = 3.87308310464248 | epot = -37.4956434312003 | etot = -29.5727577034856 -172000 ekin = 4.10498686244998 | erot = 4.24595756362569 | epot = -37.6879527015205 | etot = -29.3370082754448 -173000 ekin = 4.12919710204796 | erot = 4.28575123018842 | epot = -37.8940672883479 | etot = -29.4791189561115 -174000 ekin = 4.04607401980617 | erot = 4.41784593637473 | epot = -38.1063274639924 | etot = -29.6424075078115 -175000 ekin = 4.13007220306847 | erot = 4.39679134693123 | epot = -38.3139522350302 | etot = -29.7870886850305 -176000 ekin = 4.14146369640392 | erot = 4.2556500250018 | epot = -38.5085743578719 | etot = -30.1114606364662 -177000 ekin = 4.33605278083781 | erot = 4.58687123058824 | epot = -38.6633454116433 | etot = -29.7404214002173 -178000 ekin = 4.32688916484258 | erot = 4.50454813785642 | epot = -38.7700089206445 | etot = -29.9385716179455 -179000 ekin = 4.39331384776139 | erot = 4.88121292734146 | epot = -38.8147888868654 | etot = -29.5402621117625 -180000 ekin = 4.36409495919737 | erot = 4.62653667682629 | epot = -38.7920356589672 | etot = -29.8014040229435 -181000 ekin = 4.40002739116585 | erot = 4.26572305349584 | epot = -38.7320900980018 | etot = -30.0663396533401 -182000 ekin = 4.38584471768771 | erot = 4.03958660380969 | epot = -38.6652721860916 | etot = -30.2398408645942 -183000 ekin = 4.38872118980224 | erot = 4.03920994265183 | epot = -38.5494953603397 | etot = -30.1215642278857 -184000 ekin = 4.58261674670921 | erot = 4.09854761999454 | epot = -38.3858248419668 | etot = -29.7046604752631 -185000 ekin = 4.61324410405521 | erot = 4.15998485211173 | epot = -38.1895073749226 | etot = -29.4162784187557 -186000 ekin = 4.58712030480558 | erot = 3.80292929559519 | epot = -37.9691363595879 | etot = -29.5790867591871 -187000 ekin = 4.49704057160045 | erot = 3.79953063209059 | epot = -37.7563677349904 | etot = -29.4597965312994 -188000 ekin = 4.67801335458777 | erot = 3.94614018085653 | epot = -37.5596730791519 | etot = -28.9355195437076 -189000 ekin = 4.7263502885126 | erot = 3.9798634268042 | epot = -37.3737961852728 | etot = -28.667582469956 -190000 ekin = 4.70422886783179 | erot = 3.76567525080944 | epot = -37.1968328742627 | etot = -28.7269287556214 -191000 ekin = 4.76615905270464 | erot = 4.11771710042017 | epot = -37.0524866708235 | etot = -28.1686105176987 -192000 ekin = 4.66334615993974 | erot = 4.32180108624847 | epot = -36.9281089002544 | etot = -27.9429616540662 -193000 ekin = 4.5422727261274 | erot = 4.37403333624765 | epot = -36.8106507982273 | etot = -27.8943447358523 -194000 ekin = 4.46258388626876 | erot = 4.57094153868298 | epot = -36.7126835627949 | etot = -27.6791581378432 -195000 ekin = 4.26009039309735 | erot = 5.10893274622639 | epot = -36.6717506302945 | etot = -27.3027274909708 -196000 ekin = 4.24016895096483 | erot = 4.95101320260763 | epot = -36.6607739952161 | etot = -27.4695918416436 -197000 ekin = 4.0755550793312 | erot = 5.33731157611758 | epot = -36.6886082622524 | etot = -27.2757416068037 -198000 ekin = 3.9809171395143 | erot = 5.37374733968369 | epot = -36.7238260637154 | etot = -27.3691615845174 -199000 ekin = 4.00067330792124 | erot = 5.3603518042305 | epot = -36.764372481588 | etot = -27.4033473694362 -200000 ekin = 3.91652525768025 | erot = 4.88675678602841 | epot = -36.7730308398536 | etot = -27.969748796145 -201000 ekin = 3.81609915882248 | erot = 4.31400854830177 | epot = -36.7481890160659 | etot = -28.6180813089416 -202000 ekin = 3.71932569397631 | erot = 4.38569878861448 | epot = -36.6956778034213 | etot = -28.5906533208305 -203000 ekin = 3.64290623072102 | erot = 4.37503789459276 | epot = -36.6304609598591 | etot = -28.6125168345453 -204000 ekin = 3.52854777039998 | erot = 4.29732321046279 | epot = -36.5744389849194 | etot = -28.7485680040566 -205000 ekin = 3.4768831982614 | erot = 4.0520539676819 | epot = -36.5314565547125 | etot = -29.0025193887692 -206000 ekin = 3.57867350058535 | erot = 4.28681914674893 | epot = -36.5152410045854 | etot = -28.6497483572511 -207000 ekin = 3.67789472949151 | erot = 4.07649115773262 | epot = -36.4807964879222 | etot = -28.7264106006981 -208000 ekin = 3.75162300302661 | erot = 3.99412890438543 | epot = -36.4719013777701 | etot = -28.7261494703581 -209000 ekin = 3.82882555477005 | erot = 4.07806686544371 | epot = -36.5274965379161 | etot = -28.6206041177023 -210000 ekin = 3.94589957381378 | erot = 4.05524037388615 | epot = -36.6356567037895 | etot = -28.6345167560895 -211000 ekin = 4.07654365300279 | erot = 3.99406586158679 | epot = -36.7715123193752 | etot = -28.7009028047856 -212000 ekin = 4.2840931333187 | erot = 4.41351434873049 | epot = -36.9240266223073 | etot = -28.2264191402581 -213000 ekin = 4.49200123946036 | erot = 4.57752549048046 | epot = -37.0744914076603 | etot = -28.0049646777194 -214000 ekin = 4.68170470060604 | erot = 4.83486386570169 | epot = -37.2372407583261 | etot = -27.7206721920184 -215000 ekin = 4.98081379617958 | erot = 4.46606343482534 | epot = -37.4068324828889 | etot = -27.959955251884 -216000 ekin = 5.16729766417706 | erot = 4.60318830168444 | epot = -37.5464555705166 | etot = -27.7759696046551 -217000 ekin = 5.38386929678608 | erot = 4.7775249437354 | epot = -37.6405601527452 | etot = -27.4791659122238 -218000 ekin = 5.7058164504659 | erot = 4.70370884810713 | epot = -37.6984019699825 | etot = -27.2888766714095 -219000 ekin = 5.88600523163654 | erot = 4.58694924042796 | epot = -37.7125786046508 | etot = -27.2396241325863 -220000 ekin = 6.15427965489048 | erot = 4.4293131697244 | epot = -37.684602076139 | etot = -27.1010092515241 -221000 ekin = 6.20955938016028 | erot = 4.5400172518757 | epot = -37.6213945439902 | etot = -26.8718179119542 -222000 ekin = 6.245684726226 | erot = 4.97311797105747 | epot = -37.5132484834202 | etot = -26.2944457861367 -223000 ekin = 6.23087495739563 | erot = 4.87026240860726 | epot = -37.4093126450279 | etot = -26.308175279025 -224000 ekin = 6.34215727178204 | erot = 4.95416073100327 | epot = -37.3138628835634 | etot = -26.0175448807781 -225000 ekin = 6.34418551658382 | erot = 4.97197547495996 | epot = -37.2296241301022 | etot = -25.9134631385584 -226000 ekin = 6.27234146176852 | erot = 4.71232076169797 | epot = -37.1649091144301 | etot = -26.1802468909636 -227000 ekin = 6.2978205054749 | erot = 4.6427999636898 | epot = -37.1521034204924 | etot = -26.2114829513277 -228000 ekin = 6.45215375342435 | erot = 4.66543105642573 | epot = -37.1176036705896 | etot = -26.0000188607395 -229000 ekin = 6.57609932445515 | erot = 4.31104294387344 | epot = -37.0319087568372 | etot = -26.1447664885086 -230000 ekin = 6.39415967649336 | erot = 4.16613500609569 | epot = -36.9020701489008 | etot = -26.3417754663118 -231000 ekin = 6.06981997767599 | erot = 4.16164382029996 | epot = -36.7672531588273 | etot = -26.5357893608513 -232000 ekin = 6.07851417086657 | erot = 3.9261416963498 | epot = -36.6287349588698 | etot = -26.6240790916534 -233000 ekin = 5.86578448983439 | erot = 3.89415959164456 | epot = -36.4650343354141 | etot = -26.7050902539352 -234000 ekin = 5.66525736866315 | erot = 3.89419060194094 | epot = -36.3317105619271 | etot = -26.772262591323 -235000 ekin = 5.45947253618461 | erot = 3.51915643493529 | epot = -36.187740376365 | etot = -27.2091114052451 -236000 ekin = 5.23839596197821 | erot = 3.35080370425694 | epot = -36.0601413821494 | etot = -27.4709417159143 -237000 ekin = 5.1101503869311 | erot = 3.41418634041018 | epot = -35.9797234474537 | etot = -27.4553867201124 -238000 ekin = 5.07705507560338 | erot = 3.55422258848856 | epot = -35.9558941013151 | etot = -27.3246164372232 -239000 ekin = 5.11036683512679 | erot = 3.60903830571299 | epot = -35.9686036709473 | etot = -27.2491985301075 -240000 ekin = 5.05273101840571 | erot = 3.85355249273444 | epot = -36.0380166955235 | etot = -27.1317331843833 -241000 ekin = 5.09369536459432 | erot = 3.64338000437258 | epot = -36.1343234897528 | etot = -27.3972481207859 -242000 ekin = 5.26488817621371 | erot = 4.01055195692819 | epot = -36.2412063129132 | etot = -26.9657661797713 -243000 ekin = 5.23195261673081 | erot = 4.46546566729792 | epot = -36.3456054296423 | etot = -26.6481871456136 -244000 ekin = 5.2263873943456 | erot = 4.31088904489877 | epot = -36.4415840114132 | etot = -26.9043075721688 -245000 ekin = 5.4485313703965 | erot = 4.1760797727831 | epot = -36.5182986507186 | etot = -26.893687507539 -246000 ekin = 5.514569703999 | erot = 3.74595442038546 | epot = -36.5760003166759 | etot = -27.3154761922915 -247000 ekin = 5.60809096900033 | erot = 4.1530771765417 | epot = -36.6102851986095 | etot = -26.8491170530675 -248000 ekin = 5.44607700345191 | erot = 4.00137483235474 | epot = -36.6173189081378 | etot = -27.1698670723311 -249000 ekin = 5.39824066997525 | erot = 4.00527284085329 | epot = -36.6178595818605 | etot = -27.214346071032 -250000 ekin = 5.40591864200742 | erot = 3.83152692098416 | epot = -36.5913298844141 | etot = -27.3538843214225 -251000 ekin = 5.42515843147862 | erot = 3.74120297831913 | epot = -36.5372880481642 | etot = -27.3709266383664 -252000 ekin = 5.47125756589202 | erot = 3.93923600749381 | epot = -36.471810314552 | etot = -27.0613167411661 -253000 ekin = 5.45280164405867 | erot = 4.07788577485892 | epot = -36.3971958399348 | etot = -26.8665084210172 -254000 ekin = 5.3513601049315 | erot = 4.05065697891602 | epot = -36.3208515747322 | etot = -26.9188344908847 -255000 ekin = 5.26929844479146 | erot = 3.99546469631083 | epot = -36.2503502909161 | etot = -26.9855871498138 -256000 ekin = 5.28023678974977 | erot = 4.22040986008186 | epot = -36.1946445254543 | etot = -26.6939978756227 -257000 ekin = 5.06048081748216 | erot = 4.23177072888008 | epot = -36.1310700373968 | etot = -26.8388184910345 -258000 ekin = 5.04266904507247 | erot = 4.32321520328045 | epot = -36.0647093578741 | etot = -26.6988251095212 -259000 ekin = 4.83091830266297 | erot = 4.34656742782648 | epot = -36.0089991272053 | etot = -26.8315133967159 -260000 ekin = 4.8366999116753 | erot = 4.25709648660373 | epot = -35.9697036974581 | etot = -26.8759072991791 -261000 ekin = 4.77396719262911 | erot = 4.09292214976309 | epot = -35.9054139064698 | etot = -27.0385245640776 -262000 ekin = 4.66601270858316 | erot = 3.73102576614686 | epot = -35.8157479345083 | etot = -27.4187094597782 -263000 ekin = 4.5802706196014 | erot = 3.74679758350907 | epot = -35.763125473781 | etot = -27.4360572706705 -264000 ekin = 4.65921569864806 | erot = 3.90501973344001 | epot = -35.7356757776833 | etot = -27.1714403455952 -265000 ekin = 4.67586149937246 | erot = 3.94654925905539 | epot = -35.7049387943745 | etot = -27.0825280359466 -266000 ekin = 4.69584694538507 | erot = 3.98055672084537 | epot = -35.6673176149256 | etot = -26.9909139486952 -267000 ekin = 4.78499421532903 | erot = 4.03648169158355 | epot = -35.6392507408887 | etot = -26.8177748339762 -268000 ekin = 4.84316914009027 | erot = 3.99860778002458 | epot = -35.6448334716846 | etot = -26.8030565515698 -269000 ekin = 4.90837806472302 | erot = 4.04652570535924 | epot = -35.649642070165 | etot = -26.6947383000828 -270000 ekin = 4.78579400655265 | erot = 4.34179455226949 | epot = -35.6115561484003 | etot = -26.4839675895782 -271000 ekin = 4.85153732395756 | erot = 3.76641259729531 | epot = -35.6137753066569 | etot = -26.9958253854041 -272000 ekin = 4.97803664593748 | erot = 4.19853764559909 | epot = -35.6642256780782 | etot = -26.4876513865416 -273000 ekin = 4.99431287425834 | erot = 4.16775756950281 | epot = -35.7125500141222 | etot = -26.550479570361 -274000 ekin = 5.02755533075287 | erot = 4.06015777810463 | epot = -35.7335253506929 | etot = -26.6458122418354 -275000 ekin = 4.96372481963251 | erot = 4.27522667590908 | epot = -35.7375976828855 | etot = -26.4986461873439 -276000 ekin = 5.07934127118672 | erot = 4.03884457577096 | epot = -35.7684807851678 | etot = -26.6502949382101 -277000 ekin = 5.11065676525152 | erot = 3.89593355388432 | epot = -35.8299825238661 | etot = -26.8233922047303 -278000 ekin = 5.1443449346496 | erot = 4.10431801630134 | epot = -35.9156424264972 | etot = -26.6669794755462 -279000 ekin = 5.13854043459778 | erot = 3.33687958464079 | epot = -35.956728093981 | etot = -27.4813080747424 -280000 ekin = 5.13698711985589 | erot = 3.1321095347808 | epot = -35.9663254349012 | etot = -27.6972287802645 -281000 ekin = 5.12014323326413 | erot = 3.01072130069925 | epot = -35.9687821467587 | etot = -27.8379176127953 -282000 ekin = 5.07487298196239 | erot = 2.78222371236679 | epot = -35.9666224009215 | etot = -28.1095257065923 -283000 ekin = 4.93728532174466 | erot = 2.51682526487924 | epot = -36.0092096947436 | etot = -28.5550991081197 -284000 ekin = 5.10799487537405 | erot = 2.3440616424374 | epot = -36.0766867016227 | etot = -28.6246301838113 -285000 ekin = 5.21438921803052 | erot = 2.42355410917329 | epot = -36.1686025783616 | etot = -28.5306592511578 -286000 ekin = 5.22674428893651 | erot = 2.43127546535983 | epot = -36.2811716154221 | etot = -28.6231518611258 -287000 ekin = 5.42842235635998 | erot = 2.80110266939557 | epot = -36.3926299688273 | etot = -28.1631049430717 -288000 ekin = 5.53841609379908 | erot = 3.04198571498586 | epot = -36.5118610231699 | etot = -27.9314592143849 -289000 ekin = 5.34670403011154 | erot = 3.09938875481729 | epot = -36.6304827875401 | etot = -28.1843900026112 -290000 ekin = 5.34231674745526 | erot = 3.31160144161424 | epot = -36.7456392368764 | etot = -28.0917210478069 -291000 ekin = 5.36188526202275 | erot = 3.45917476353447 | epot = -36.830253723617 | etot = -28.0091936980598 -292000 ekin = 5.47780509141236 | erot = 3.77906726321862 | epot = -36.8842491471661 | etot = -27.6273767925352 -293000 ekin = 5.28302000096918 | erot = 3.57818629599089 | epot = -36.8949841799428 | etot = -28.0337778829827 -294000 ekin = 5.30853543438887 | erot = 3.56263204697633 | epot = -36.882573669786 | etot = -28.0114061884208 -295000 ekin = 5.20536069491219 | erot = 3.77206495855704 | epot = -36.8703913967999 | etot = -27.8929657433306 -296000 ekin = 5.16948391824644 | erot = 3.64242202500146 | epot = -36.8524591521913 | etot = -28.0405532089434 -297000 ekin = 5.1494869829345 | erot = 3.56300071318446 | epot = -36.8077681088429 | etot = -28.0952804127239 -298000 ekin = 5.07831718808035 | erot = 3.56647326916626 | epot = -36.744195155603 | etot = -28.0994046983564 -299000 ekin = 5.07638833142117 | erot = 3.33911289208767 | epot = -36.7050879472256 | etot = -28.2895867237168 -300000 ekin = 5.03413727775456 | erot = 3.74853034027389 | epot = -36.6636621891816 | etot = -27.8809945711531 -301000 ekin = 4.97235848835814 | erot = 3.32835758650091 | epot = -36.6711630757892 | etot = -28.3704470009301 -302000 ekin = 5.00968958710056 | erot = 3.04854259478488 | epot = -36.7093256921451 | etot = -28.6510935102597 -303000 ekin = 5.1292911047111 | erot = 3.0802372254873 | epot = -36.795184172806 | etot = -28.5856558426076 -304000 ekin = 5.16690416140478 | erot = 3.34049274709003 | epot = -36.9126194047394 | etot = -28.4052224962446 -305000 ekin = 5.23349789631498 | erot = 3.46551744359711 | epot = -37.0448370009157 | etot = -28.3458216610036 -306000 ekin = 5.28860974527375 | erot = 3.56105103024499 | epot = -37.1811985422458 | etot = -28.331537766727 -307000 ekin = 5.40125295123197 | erot = 3.87520415097952 | epot = -37.305532344159 | etot = -28.0290752419475 -308000 ekin = 5.46740727789042 | erot = 3.91865002312578 | epot = -37.3892778155261 | etot = -28.0032205145099 -309000 ekin = 5.43990046762827 | erot = 4.00265425349897 | epot = -37.4336308324244 | etot = -27.9910761112972 -310000 ekin = 5.38744019614258 | erot = 3.91760045067575 | epot = -37.4766997166651 | etot = -28.1716590698468 -311000 ekin = 5.54869794564892 | erot = 3.97913763348738 | epot = -37.5380640420292 | etot = -28.0102284628929 -312000 ekin = 5.71519006739901 | erot = 4.09263126769853 | epot = -37.5745318459447 | etot = -27.7667105108472 -313000 ekin = 5.6033160766113 | erot = 3.83543196463871 | epot = -37.6101139619699 | etot = -28.1713659207199 -314000 ekin = 5.51800417081449 | erot = 3.7494474523441 | epot = -37.6279066647947 | etot = -28.3604550416361 -315000 ekin = 5.47833005901023 | erot = 4.08581993263846 | epot = -37.640612435341 | etot = -28.0764624436923 -316000 ekin = 5.33860837296314 | erot = 4.51116644302074 | epot = -37.6217312448188 | etot = -27.7719564288349 -317000 ekin = 5.23941916557637 | erot = 4.78689518832666 | epot = -37.5731600528526 | etot = -27.5468456989496 -318000 ekin = 5.11187775633096 | erot = 4.82958812680045 | epot = -37.5155006216097 | etot = -27.5740347384783 -319000 ekin = 5.22954347525673 | erot = 4.49457407004902 | epot = -37.4371163833057 | etot = -27.7129988379999 -320000 ekin = 5.30878948863381 | erot = 4.92186054084637 | epot = -37.3586788029377 | etot = -27.1280287734575 -321000 ekin = 5.25051542685381 | erot = 4.81963950413314 | epot = -37.312294527991 | etot = -27.242139597004 -322000 ekin = 5.07574443571145 | erot = 4.74007360204254 | epot = -37.2420599117425 | etot = -27.4262418739885 -323000 ekin = 5.02653253509398 | erot = 4.66604787555051 | epot = -37.1620424354781 | etot = -27.4694620248336 -324000 ekin = 5.12999279273078 | erot = 4.55456244400836 | epot = -37.1081993843437 | etot = -27.4236441476046 -325000 ekin = 5.01484863365284 | erot = 5.03270116093522 | epot = -37.0549970668846 | etot = -27.0074472722965 -326000 ekin = 5.15105125743379 | erot = 4.77726330645663 | epot = -37.0062804471441 | etot = -27.0779658832536 -327000 ekin = 5.17373663939365 | erot = 4.75720955177068 | epot = -36.9735735310227 | etot = -27.0426273398583 -328000 ekin = 5.3265809986393 | erot = 4.45847251670642 | epot = -36.9463177254327 | etot = -27.161264210087 -329000 ekin = 5.28491385975242 | erot = 4.2365002087062 | epot = -36.9151642788529 | etot = -27.3937502103943 -330000 ekin = 5.12552135481241 | erot = 4.79027984581669 | epot = -36.8863179466156 | etot = -26.9705167459865 -331000 ekin = 5.12103290586646 | erot = 5.03778117543897 | epot = -36.8413630474537 | etot = -26.6825489661482 -332000 ekin = 5.06929714597599 | erot = 4.90820597157558 | epot = -36.7488012231943 | etot = -26.7712981056427 -333000 ekin = 4.96505468499544 | erot = 5.01335794632771 | epot = -36.6271163009906 | etot = -26.6487036696675 -334000 ekin = 4.99343125906637 | erot = 5.01439694959174 | epot = -36.5036049758879 | etot = -26.4957767672298 -335000 ekin = 4.90069371729849 | erot = 4.54385275511644 | epot = -36.377759964637 | etot = -26.9332134922221 -336000 ekin = 5.07863725672843 | erot = 4.69305135725114 | epot = -36.2629152842743 | etot = -26.4912266702948 -337000 ekin = 4.94799955754099 | erot = 4.52583833193054 | epot = -36.1612360033446 | etot = -26.6873981138731 -338000 ekin = 4.85224868200247 | erot = 4.50041298245536 | epot = -36.0752991866368 | etot = -26.7226375221789 -339000 ekin = 4.72144640536392 | erot = 4.54752039051201 | epot = -35.9970632546959 | etot = -26.7280964588199 -340000 ekin = 4.80943098922142 | erot = 4.34708343509477 | epot = -35.9687361528339 | etot = -26.8122217285177 -341000 ekin = 4.70361214653912 | erot = 4.47793300498467 | epot = -35.9999322617892 | etot = -26.8183871102654 -342000 ekin = 4.760647614817 | erot = 4.66605256976235 | epot = -36.043378412271 | etot = -26.6166782276917 -343000 ekin = 4.67728032528815 | erot = 4.66100839176406 | epot = -35.9211632159817 | etot = -26.5828744989295 -344000 ekin = 4.96339724601292 | erot = 4.93823124551203 | epot = -36.221225061482 | etot = -26.3195965699571 -345000 ekin = 4.92216540601213 | erot = 5.1046016577438 | epot = -36.3841924486031 | etot = -26.3574253848472 -346000 ekin = 4.99792813974919 | erot = 4.77882820289924 | epot = -36.4406602112532 | etot = -26.6639038686048 -347000 ekin = 4.97738387739169 | erot = 4.57238123569558 | epot = -36.4353446283207 | etot = -26.8855795152334 -348000 ekin = 4.92451917191373 | erot = 4.32330547944782 | epot = -36.3741726686484 | etot = -27.1263480172868 -349000 ekin = 4.79018344488603 | erot = 4.64955099606439 | epot = -36.223205179622 | etot = -26.7834707386715 -350000 ekin = 4.74997485376182 | erot = 4.41441619332993 | epot = -36.0086530481282 | etot = -26.8442620010365 -351000 ekin = 4.65861306362181 | erot = 4.54712008187925 | epot = -35.7312651155864 | etot = -26.5255319700854 -352000 ekin = 4.64876538273227 | erot = 4.76138349321479 | epot = -35.450636936112 | etot = -26.0404880601649 -353000 ekin = 4.59253342081085 | erot = 4.29456686626191 | epot = -35.1553683981329 | etot = -26.2682681110601 -354000 ekin = 4.5381016314927 | erot = 4.43945254667789 | epot = -34.9111484982536 | etot = -25.933594320083 -355000 ekin = 4.47391617267677 | erot = 4.20275229581173 | epot = -34.7382448152821 | etot = -26.0615763467936 -356000 ekin = 4.33084740359937 | erot = 4.16589789857719 | epot = -34.645946257664 | etot = -26.1492009554875 -357000 ekin = 4.27639689643637 | erot = 4.49834201135572 | epot = -34.623409347858 | etot = -25.848670440066 -358000 ekin = 4.37058163127658 | erot = 4.62827517810171 | epot = -34.660122927085 | etot = -25.6612661177067 -359000 ekin = 4.33282658147941 | erot = 4.3585277169614 | epot = -34.7355034140379 | etot = -26.0441491155971 -360000 ekin = 4.2302574599471 | erot = 3.73692187296606 | epot = -34.8272714416459 | etot = -26.8600921087327 -361000 ekin = 4.32772510308598 | erot = 3.40799158120822 | epot = -34.9260321184263 | etot = -27.1903154341322 -362000 ekin = 4.43772207587162 | erot = 3.9282425665155 | epot = -35.0362517129443 | etot = -26.6702870705572 -363000 ekin = 4.60059512711759 | erot = 3.7852782080073 | epot = -35.1492303885082 | etot = -26.7633570533833 -364000 ekin = 4.67620778921833 | erot = 3.65656363115961 | epot = -35.2108467629343 | etot = -26.8780753425564 -365000 ekin = 4.68744796027403 | erot = 3.48647035761076 | epot = -35.2579291425392 | etot = -27.0840108246544 -366000 ekin = 4.63171694657446 | erot = 3.80732263161716 | epot = -35.3317328424945 | etot = -26.8926932643029 -367000 ekin = 4.58794520776148 | erot = 4.31664541166342 | epot = -35.411407687399 | etot = -26.5068170679741 -368000 ekin = 4.53697760644357 | erot = 4.37812449310863 | epot = -35.4654560531489 | etot = -26.5503539535967 -369000 ekin = 4.50593348762471 | erot = 4.09682529638636 | epot = -35.502904475486 | etot = -26.9001456914749 -370000 ekin = 4.51011536275126 | erot = 4.41695795738184 | epot = -35.5220659543718 | etot = -26.5949926342387 -371000 ekin = 4.53049860135433 | erot = 4.68112317413008 | epot = -35.5213297387008 | etot = -26.3097079632164 -372000 ekin = 4.42660066351885 | erot = 4.78148611859358 | epot = -35.5227844835439 | etot = -26.3146977014315 -373000 ekin = 4.28146792836402 | erot = 4.87997662616423 | epot = -35.4825501780567 | etot = -26.3211056235285 -374000 ekin = 4.13287464156697 | erot = 4.84001159820239 | epot = -35.4523011025149 | etot = -26.4794148627455 -375000 ekin = 4.1254545194713 | erot = 4.8180743382467 | epot = -35.4637375699461 | etot = -26.5202087122281 -376000 ekin = 3.87506271806603 | erot = 5.35141111797724 | epot = -35.4720072259952 | etot = -26.2455333899519 -377000 ekin = 3.7977056590801 | erot = 5.28013401771242 | epot = -35.5177354201969 | etot = -26.4398957434044 -378000 ekin = 3.64048261255653 | erot = 5.42072423796152 | epot = -35.5808236384767 | etot = -26.5196167879587 -379000 ekin = 3.52386111576647 | erot = 5.97567004606738 | epot = -35.6532146067625 | etot = -26.1536834449286 -380000 ekin = 3.32387900413189 | erot = 6.59135162244889 | epot = -35.7551331169142 | etot = -25.8399024903334 -381000 ekin = 3.31695717077463 | erot = 6.10983514346576 | epot = -35.8815158952862 | etot = -26.4547235810458 -382000 ekin = 3.19546651526133 | erot = 6.36489840256999 | epot = -35.9926058393689 | etot = -26.4322409215376 -383000 ekin = 3.24368169764623 | erot = 6.33114976953635 | epot = -36.0664601033037 | etot = -26.4916286361211 -384000 ekin = 3.20726412806439 | erot = 6.19392941274155 | epot = -36.13258109202 | etot = -26.7313875512141 -385000 ekin = 3.23885859839814 | erot = 6.31552666314694 | epot = -36.1503271354803 | etot = -26.5959418739352 -386000 ekin = 3.16874411708083 | erot = 5.94413881699879 | epot = -36.1310192334958 | etot = -27.0181362994162 -387000 ekin = 3.1549970524927 | erot = 5.48308596050834 | epot = -36.0714221491829 | etot = -27.4333391361819 -388000 ekin = 3.24907989403076 | erot = 5.58200944567837 | epot = -35.9925882356966 | etot = -27.1614988959874 -389000 ekin = 3.39871525437769 | erot = 5.14342534967113 | epot = -35.9262739307719 | etot = -27.384133326723 -390000 ekin = 3.53157771561222 | erot = 5.0660110699086 | epot = -35.908983793516 | etot = -27.3113950079952 -391000 ekin = 3.64602168736988 | erot = 4.88661504875141 | epot = -35.885482230409 | etot = -27.3528454942877 -392000 ekin = 3.79325143536366 | erot = 5.07292816992986 | epot = -35.8524207546015 | etot = -26.986241149308 -393000 ekin = 3.89148460233114 | erot = 5.02930522203665 | epot = -35.795122258631 | etot = -26.8743324342632 -394000 ekin = 3.96458882833181 | erot = 4.47630346760488 | epot = -35.7247928997471 | etot = -27.2839006038104 -395000 ekin = 4.03856036181308 | erot = 4.53784941780792 | epot = -35.6586367417738 | etot = -27.0822269621528 -396000 ekin = 3.99683646706711 | erot = 4.49727898211262 | epot = -35.5718421340357 | etot = -27.077726684856 -397000 ekin = 4.03872005304138 | erot = 4.03153022392527 | epot = -35.5101946272741 | etot = -27.4399443503075 -398000 ekin = 4.01516330520003 | erot = 4.23226303701241 | epot = -35.4578715559685 | etot = -27.2104452137561 -399000 ekin = 4.01922616565289 | erot = 3.71642260619024 | epot = -35.3548490578807 | etot = -27.6192002860376 -400000 ekin = 4.17225085372102 | erot = 4.04093039429602 | epot = -35.2265510847563 | etot = -27.0133698367392 -401000 ekin = 4.1531499643259 | erot = 3.64804961209453 | epot = -35.0943512868027 | etot = -27.2931517103823 -402000 ekin = 4.20245298417996 | erot = 3.70137380667448 | epot = -34.9745627237163 | etot = -27.0707359328619 -403000 ekin = 4.34132456228991 | erot = 3.62891618665791 | epot = -34.8718657472304 | etot = -26.9016249982826 -404000 ekin = 4.42465890243367 | erot = 3.38938035287143 | epot = -34.7967250831428 | etot = -26.9826858278377 -405000 ekin = 4.60663041953486 | erot = 3.44054758174463 | epot = -34.7925257887161 | etot = -26.7453477874366 -406000 ekin = 4.73346375173126 | erot = 3.27915256113194 | epot = -34.8343083282573 | etot = -26.8216920153941 -407000 ekin = 4.82559135473415 | erot = 3.35253133282322 | epot = -34.9059066553788 | etot = -26.7277839678214 -408000 ekin = 4.89298564336964 | erot = 3.47339817729183 | epot = -34.9848536782083 | etot = -26.6184698575468 -409000 ekin = 4.94069048180851 | erot = 3.76649967413607 | epot = -35.0728065521172 | etot = -26.3656163961726 -410000 ekin = 5.0837627829781 | erot = 3.48855890171053 | epot = -35.187607935011 | etot = -26.6152862503224 -411000 ekin = 5.10492342399056 | erot = 3.39152717909369 | epot = -35.2939784996981 | etot = -26.7975278966138 -412000 ekin = 5.2111592148929 | erot = 3.62435455589215 | epot = -35.3853247581651 | etot = -26.54981098738 -413000 ekin = 5.25687541732572 | erot = 3.76308251202569 | epot = -35.4593584594661 | etot = -26.4394005301146 -414000 ekin = 5.1324847249699 | erot = 3.31025282824723 | epot = -35.5393093363061 | etot = -27.0965717830889 -415000 ekin = 5.09217261574528 | erot = 3.59401320391361 | epot = -35.6051617924017 | etot = -26.9189759727428 -416000 ekin = 5.04807348985225 | erot = 3.48392073248423 | epot = -35.6748296719198 | etot = -27.1428354495833 -417000 ekin = 4.99138526936748 | erot = 3.46255923404135 | epot = -35.7531502554471 | etot = -27.2992057520383 -418000 ekin = 5.08999508315138 | erot = 3.44390708246943 | epot = -35.8333696081094 | etot = -27.2994674424886 -419000 ekin = 5.21842750435985 | erot = 3.38325168590963 | epot = -35.8593643490784 | etot = -27.2576851588089 -420000 ekin = 5.28947719533168 | erot = 3.50797044377656 | epot = -35.8848039905133 | etot = -27.0873563514051 -421000 ekin = 5.35268927232197 | erot = 3.36603650801233 | epot = -35.8749221051677 | etot = -27.1561963248334 -422000 ekin = 5.23695191026875 | erot = 3.5384192070691 | epot = -35.889640869454 | etot = -27.1142697521161 -423000 ekin = 5.09577504756812 | erot = 3.67923583037239 | epot = -35.9137595336543 | etot = -27.1387486557138 -424000 ekin = 5.01335188113047 | erot = 3.70110718137013 | epot = -35.9185617531989 | etot = -27.2041026906983 -425000 ekin = 5.05206155589306 | erot = 3.57652002072429 | epot = -35.9081181462489 | etot = -27.2795365696316 -426000 ekin = 4.96532396129214 | erot = 3.38938274590534 | epot = -35.8769982527922 | etot = -27.5222915455948 -427000 ekin = 4.77195218714309 | erot = 3.50252627514185 | epot = -35.7935414010628 | etot = -27.5190629387779 -428000 ekin = 4.81068646615448 | erot = 3.51825958765431 | epot = -35.6664317412178 | etot = -27.337485687409 -429000 ekin = 4.73870321335492 | erot = 3.84986931063852 | epot = -35.48737645591 | etot = -26.8988039319166 -430000 ekin = 4.60213714825158 | erot = 3.45284870606443 | epot = -35.3073410925574 | etot = -27.2523552382414 -431000 ekin = 4.57358006593925 | erot = 3.25422348182535 | epot = -35.1367594918962 | etot = -27.3089559441316 -432000 ekin = 4.5072400368044 | erot = 3.29998192315337 | epot = -35.0290425710883 | etot = -27.2218206111306 -433000 ekin = 4.30860495703181 | erot = 3.42741416873389 | epot = -34.9513402987262 | etot = -27.2153211729605 -434000 ekin = 4.18610269286835 | erot = 3.55059973000668 | epot = -34.9144648758603 | etot = -27.1777624529852 -435000 ekin = 4.12003359590273 | erot = 3.78033374370969 | epot = -34.8780591099565 | etot = -26.9776917703441 -436000 ekin = 3.97313974106111 | erot = 4.05117020636312 | epot = -34.8427841720093 | etot = -26.8184742245851 -437000 ekin = 3.88596008320741 | erot = 4.32902730056047 | epot = -34.8121331683379 | etot = -26.59714578457 -438000 ekin = 4.0300322104638 | erot = 4.35508047283467 | epot = -34.7917492531093 | etot = -26.4066365698108 -439000 ekin = 4.04655148511089 | erot = 4.17322604141044 | epot = -34.7786348227552 | etot = -26.5588572962338 -440000 ekin = 4.02801522674428 | erot = 4.13470601724877 | epot = -34.783993085415 | etot = -26.621271841422 -441000 ekin = 3.9407814794189 | erot = 4.22144190117305 | epot = -34.8185771480924 | etot = -26.6563537675004 -442000 ekin = 3.97730990695624 | erot = 4.24233406975314 | epot = -34.8718962191131 | etot = -26.6522522424037 -443000 ekin = 3.98508138243203 | erot = 4.16122580291752 | epot = -34.9266782585657 | etot = -26.7803710732162 -444000 ekin = 4.00042709081881 | erot = 4.50741850480051 | epot = -34.9630696153483 | etot = -26.455224019729 -445000 ekin = 4.02620459576009 | erot = 4.64580325300967 | epot = -34.9893039643633 | etot = -26.3172961155935 -446000 ekin = 4.01454608720561 | erot = 4.89747165518573 | epot = -34.9969089036747 | etot = -26.0848911612834 -447000 ekin = 3.9634269487331 | erot = 4.85867800390581 | epot = -34.9830933662453 | etot = -26.1609884136064 -448000 ekin = 3.74592315828131 | erot = 5.17578433357899 | epot = -34.9638816619607 | etot = -26.0421741701004 -449000 ekin = 3.73316291077397 | erot = 5.18498661281911 | epot = -34.928043894125 | etot = -26.0098943705319 -450000 ekin = 3.85313039093471 | erot = 4.86926583888851 | epot = -34.871696979835 | etot = -26.1493007500118 -451000 ekin = 4.0635928053116 | erot = 4.99817049859077 | epot = -34.8377147695102 | etot = -25.7759514656078 -452000 ekin = 4.12215980217323 | erot = 4.58488292412152 | epot = -34.8398353293668 | etot = -26.132792603072 -453000 ekin = 4.16332842884585 | erot = 4.32671008371169 | epot = -34.8570499988891 | etot = -26.3670114863315 -454000 ekin = 4.11754892618458 | erot = 4.47415692336241 | epot = -34.8913194738516 | etot = -26.2996136243046 -455000 ekin = 4.22185774995392 | erot = 4.65517828169302 | epot = -34.9334347985056 | etot = -26.0563987668587 -456000 ekin = 4.30177202276186 | erot = 4.77747798616555 | epot = -35.0188770940117 | etot = -25.9396270850843 -457000 ekin = 4.26451460758692 | erot = 4.69009499467403 | epot = -35.1021143238335 | etot = -26.1475047215725 -458000 ekin = 4.31289289804826 | erot = 4.48148846421096 | epot = -35.1135359976452 | etot = -26.319154635386 -459000 ekin = 4.40924309472913 | erot = 4.70052929057904 | epot = -35.3709113999322 | etot = -26.261139014624 -460000 ekin = 4.47691183250362 | erot = 4.50574141189091 | epot = -35.566195356935 | etot = -26.5835421125405 -461000 ekin = 4.43873436995047 | erot = 4.99077626254052 | epot = -35.6310455171601 | etot = -26.2015348846691 -462000 ekin = 4.38932525316334 | erot = 4.94989100042744 | epot = -35.7174404682251 | etot = -26.3782242146343 -463000 ekin = 4.36115268480756 | erot = 5.66229263914062 | epot = -35.7828736923833 | etot = -25.7594283684351 -464000 ekin = 4.32411863133059 | erot = 5.21874712373015 | epot = -35.831817418358 | etot = -26.2889516632972 -465000 ekin = 4.25283049437785 | erot = 4.89311928407883 | epot = -35.8307748329822 | etot = -26.6848250545255 -466000 ekin = 3.97961054012127 | erot = 4.30523919521546 | epot = -35.8019205162795 | etot = -27.5170707809428 -467000 ekin = 3.96957942645049 | erot = 4.02414635207156 | epot = -35.7935881476328 | etot = -27.7998623691107 -468000 ekin = 3.81067149059023 | erot = 3.91311573890038 | epot = -35.8192046044613 | etot = -28.0954173749707 -469000 ekin = 3.82956653035844 | erot = 3.76358708523021 | epot = -35.8554657317423 | etot = -28.2623121161536 -470000 ekin = 3.84315155222981 | erot = 3.46319185355953 | epot = -35.9283028420635 | etot = -28.6219594362741 -471000 ekin = 3.84189885920186 | erot = 3.51787257644774 | epot = -36.0370536568174 | etot = -28.6772822211678 -472000 ekin = 3.86861114122289 | erot = 3.36458500068021 | epot = -36.136832298983 | etot = -28.9036361570799 -473000 ekin = 3.73700168734163 | erot = 3.58329228877658 | epot = -36.2233655143198 | etot = -28.9030715382016 -474000 ekin = 3.82928273613466 | erot = 3.70070391401449 | epot = -36.2919855352817 | etot = -28.7619988851326 -475000 ekin = 3.89544030959981 | erot = 3.76401640046676 | epot = -36.368430738898 | etot = -28.7089740288314 -476000 ekin = 4.08932767113311 | erot = 3.7090790175484 | epot = -36.4684310716285 | etot = -28.670024382947 -477000 ekin = 4.15334136664067 | erot = 3.70899967496142 | epot = -36.5311600367317 | etot = -28.6688189951296 -478000 ekin = 4.07512882728801 | erot = 3.80913887771278 | epot = -36.5715417700018 | etot = -28.687274065001 -479000 ekin = 3.96184225144662 | erot = 3.67584263229307 | epot = -36.6049454628497 | etot = -28.96726057911 -480000 ekin = 3.86072911979592 | erot = 3.85211085064263 | epot = -36.6106292252495 | etot = -28.897789254811 -481000 ekin = 3.78563823255482 | erot = 4.02431409923187 | epot = -36.604468258428 | etot = -28.7945159266413 -482000 ekin = 3.81986353724767 | erot = 3.94457553240232 | epot = -36.555624249585 | etot = -28.791185179935 -483000 ekin = 3.91937069686989 | erot = 3.97985471481289 | epot = -36.4953515335722 | etot = -28.5961261218894 -484000 ekin = 3.90565472316258 | erot = 3.68508276016124 | epot = -36.4265142327187 | etot = -28.8357767493949 -485000 ekin = 3.97067640669119 | erot = 3.52818833629898 | epot = -36.3385351029671 | etot = -28.8396703599769 -486000 ekin = 4.08924338068637 | erot = 3.45150371793016 | epot = -36.2407040808275 | etot = -28.699956982211 -487000 ekin = 4.0776172953027 | erot = 3.69577064303949 | epot = -36.1174543397059 | etot = -28.3440664013637 -488000 ekin = 3.98120330041654 | erot = 4.01179749212316 | epot = -35.9662140009108 | etot = -27.9732132083711 -489000 ekin = 3.94304108511277 | erot = 4.09948585344473 | epot = -35.8365811443669 | etot = -27.7940542058094 -490000 ekin = 3.98200750178095 | erot = 4.1933065556559 | epot = -35.7436522395692 | etot = -27.5683381821323 -491000 ekin = 4.04453601319225 | erot = 4.06864604679556 | epot = -35.6813038605047 | etot = -27.5681218005169 -492000 ekin = 4.10478194610714 | erot = 4.27931273272371 | epot = -35.6201850620968 | etot = -27.2360903832659 -493000 ekin = 4.14218811078641 | erot = 4.30328516242947 | epot = -35.552932172172 | etot = -27.1074588989561 -494000 ekin = 4.15483197917405 | erot = 4.22087230768693 | epot = -35.5007035923698 | etot = -27.1249993055088 -495000 ekin = 4.26671892357318 | erot = 4.21745137304138 | epot = -35.4450128389798 | etot = -26.9608425423653 -496000 ekin = 4.42373869014847 | erot = 3.65535322096903 | epot = -35.3933064942827 | etot = -27.3142145831652 -497000 ekin = 4.57363309591063 | erot = 3.63766344362447 | epot = -35.3630685420949 | etot = -27.1517720025598 -498000 ekin = 4.7241733979428 | erot = 3.40665904233516 | epot = -35.3570714026385 | etot = -27.2262389623605 -499000 ekin = 4.76806375994875 | erot = 3.58204839805272 | epot = -35.3646341268585 | etot = -27.014521968857 -500000 ekin = 4.86803273232483 | erot = 3.40069391727023 | epot = -35.4199817543268 | etot = -27.1512551047318 -501000 ekin = 4.96743307602627 | erot = 3.46724128896305 | epot = -35.4970649677118 | etot = -27.0623906027225 -502000 ekin = 4.91929166862615 | erot = 3.57165212036678 | epot = -35.5889625489512 | etot = -27.0980187599583 -503000 ekin = 4.90703913138678 | erot = 3.86458875313933 | epot = -35.6771862828227 | etot = -26.9055583982966 -504000 ekin = 5.1370533506199 | erot = 3.5369546296831 | epot = -35.7347477259461 | etot = -27.0607397456431 -505000 ekin = 5.23249143944225 | erot = 3.46343104093314 | epot = -35.7820571844966 | etot = -27.0861347041212 -506000 ekin = 5.11675278315717 | erot = 3.7206718650993 | epot = -35.8198968197658 | etot = -26.9824721715093 -507000 ekin = 5.1899390138749 | erot = 4.15215085847695 | epot = -35.8269271672396 | etot = -26.4848372948877 -508000 ekin = 4.9859787822663 | erot = 4.11598571893968 | epot = -35.7826195676286 | etot = -26.6806550664226 -509000 ekin = 4.8941242567771 | erot = 4.30807642739895 | epot = -35.6890852058564 | etot = -26.4868845216804 -510000 ekin = 4.89504815269032 | erot = 4.46013837584195 | epot = -35.5893215666418 | etot = -26.2341350381096 -511000 ekin = 4.85835750083421 | erot = 4.41721118692693 | epot = -35.4748886415727 | etot = -26.1993199538116 -512000 ekin = 4.85632567302005 | erot = 4.58501467870099 | epot = -35.3170557845382 | etot = -25.8757154328171 -513000 ekin = 4.79088228903437 | erot = 4.4189824922301 | epot = -35.1398620511889 | etot = -25.9299972699244 -514000 ekin = 4.84082723167344 | erot = 4.10048582144436 | epot = -34.952894027941 | etot = -26.0115809748232 -515000 ekin = 4.66396867258937 | erot = 3.7079532547263 | epot = -34.8081323279133 | etot = -26.4362104005976 -516000 ekin = 4.4520372226043 | erot = 3.7424161749218 | epot = -34.7399422586774 | etot = -26.5454888611513 -517000 ekin = 4.39320763550332 | erot = 3.61293763489243 | epot = -34.7115969229745 | etot = -26.7054516525788 -518000 ekin = 4.3351626742312 | erot = 3.46685163663689 | epot = -34.7205591716219 | etot = -26.9185448607538 -519000 ekin = 4.32678001120832 | erot = 3.8333130859946 | epot = -34.7543932584755 | etot = -26.5943001612725 -520000 ekin = 4.16017569753314 | erot = 3.99442103376417 | epot = -34.7797387277815 | etot = -26.6251419964842 -521000 ekin = 4.01091284601602 | erot = 4.71227661622732 | epot = -34.8119764016188 | etot = -26.0887869393754 -522000 ekin = 3.9255586814989 | erot = 4.67306017627962 | epot = -34.8638412525408 | etot = -26.2652223947623 -523000 ekin = 4.10629342994203 | erot = 4.236908212199 | epot = -34.9392637364661 | etot = -26.5960620943251 -524000 ekin = 4.16964406138591 | erot = 4.51539305326744 | epot = -35.0302476439308 | etot = -26.3452105292774 -525000 ekin = 4.14574067413465 | erot = 4.59255192964589 | epot = -35.1665459803983 | etot = -26.4282533766178 -526000 ekin = 4.296358047754 | erot = 5.381812036993 | epot = -35.3702076593238 | etot = -25.6920375745768 -527000 ekin = 4.43341423246361 | erot = 5.4208701656542 | epot = -35.5881352754177 | etot = -25.7338508772999 -528000 ekin = 4.65221997264072 | erot = 5.64432261927517 | epot = -35.7907306535609 | etot = -25.494188061645 -529000 ekin = 4.75833001518924 | erot = 6.22279494556947 | epot = -35.9649272181716 | etot = -24.9838022574129 -530000 ekin = 4.85254900576415 | erot = 6.26630645813046 | epot = -36.1175112827238 | etot = -24.9986558188292 -531000 ekin = 4.88314038497982 | erot = 6.22256761998238 | epot = -36.2218727030894 | etot = -25.1161646981272 -532000 ekin = 4.89429192132463 | erot = 6.19376619305432 | epot = -36.2791850407375 | etot = -25.1911269263585 -533000 ekin = 4.98074956905521 | erot = 6.71246035574362 | epot = -36.2873072492241 | etot = -24.5940973244253 -534000 ekin = 5.05914514163862 | erot = 6.72049132345808 | epot = -36.2541186702089 | etot = -24.4744822051122 -535000 ekin = 4.98307281629264 | erot = 6.60876507020625 | epot = -36.1722591997817 | etot = -24.5804213132828 -536000 ekin = 4.92092214615494 | erot = 6.71824597922688 | epot = -36.0492643890656 | etot = -24.4100962636838 -537000 ekin = 4.73594122849286 | erot = 6.46069540815352 | epot = -35.9116294607651 | etot = -24.7149928241187 -538000 ekin = 4.79280389212849 | erot = 6.10794151385203 | epot = -35.7423046160126 | etot = -24.8415592100321 -539000 ekin = 4.77579753855575 | erot = 5.97217188520334 | epot = -35.5336009816514 | etot = -24.7856315578923 -540000 ekin = 4.5934335322059 | erot = 6.0288231594335 | epot = -35.2969540919917 | etot = -24.6746974003523 -541000 ekin = 4.56261508857232 | erot = 5.60884609986387 | epot = -35.074241498478 | etot = -24.9027803100418 -542000 ekin = 4.4230407907828 | erot = 5.24180126466482 | epot = -34.8728664426871 | etot = -25.2080243872395 -543000 ekin = 4.31458565966237 | erot = 5.3064811880571 | epot = -34.6809264080031 | etot = -25.0598595602836 -544000 ekin = 4.16990383767255 | erot = 5.09480741715239 | epot = -34.5077033118771 | etot = -25.2429920570521 -545000 ekin = 4.03506404145806 | erot = 4.95913193735205 | epot = -34.3738505570893 | etot = -25.3796545782792 -546000 ekin = 4.05283758597002 | erot = 4.62357416672456 | epot = -34.2732549004477 | etot = -25.5968431477531 -547000 ekin = 3.91892476341072 | erot = 4.42471065792704 | epot = -34.1888485564159 | etot = -25.8452131350781 -548000 ekin = 3.85923648383023 | erot = 4.18493881932583 | epot = -34.1251823218203 | etot = -26.0810070186642 -549000 ekin = 3.89277095561291 | erot = 4.20183962759824 | epot = -34.0968256559695 | etot = -26.0022150727584 -550000 ekin = 3.88489313663741 | erot = 4.0698735084027 | epot = -34.083498992554 | etot = -26.1287323475139 -551000 ekin = 3.87639970039824 | erot = 4.25043058335786 | epot = -34.0931086790785 | etot = -25.9662783953224 -552000 ekin = 3.88627319211738 | erot = 4.0010203354773 | epot = -34.163860291438 | etot = -26.2765667638433 -553000 ekin = 4.05569156373835 | erot = 3.56403629580258 | epot = -34.2474834864243 | etot = -26.6277556268834 -554000 ekin = 4.25626838001505 | erot = 3.70804766862573 | epot = -34.2954308218042 | etot = -26.3311147731634 -555000 ekin = 4.26487407035246 | erot = 3.78496110408411 | epot = -34.3412268896546 | etot = -26.291391715218 -556000 ekin = 4.24622902964942 | erot = 4.03454820388574 | epot = -34.3344093396383 | etot = -26.0536321061031 -557000 ekin = 4.0731966983783 | erot = 3.86372668854402 | epot = -34.2640157691765 | etot = -26.3270923822542 -558000 ekin = 3.9948930644697 | erot = 3.82027814531928 | epot = -34.1455461859523 | etot = -26.3303749761633 -559000 ekin = 4.00179663426005 | erot = 3.82651776959161 | epot = -33.9924674804782 | etot = -26.1641530766265 -560000 ekin = 3.90938418270034 | erot = 3.49539199637402 | epot = -33.8018928207131 | etot = -26.3971166416387 -561000 ekin = 3.70375196060258 | erot = 3.38165869548275 | epot = -33.615733164291 | etot = -26.5303225082057 -562000 ekin = 3.64392595608231 | erot = 3.67997084627181 | epot = -33.4612560313007 | etot = -26.1373592289466 -563000 ekin = 3.59769761679705 | erot = 3.74125845764523 | epot = -33.3480734777517 | etot = -26.0091174033094 -564000 ekin = 3.58725325354742 | erot = 3.35524020938125 | epot = -33.267517196837 | etot = -26.3250237339083 -565000 ekin = 3.63835964444106 | erot = 3.77402574563878 | epot = -33.240901552366 | etot = -25.8285161622862 -566000 ekin = 3.64384501808566 | erot = 3.77515123487333 | epot = -33.2503593116368 | etot = -25.8313630586779 -567000 ekin = 3.63214417671457 | erot = 3.86854489788161 | epot = -33.2603190278794 | etot = -25.7596299532833 -568000 ekin = 3.76759211619052 | erot = 3.9732101485638 | epot = -33.2947231384409 | etot = -25.5539208736866 -569000 ekin = 3.75607920629751 | erot = 3.91893504114413 | epot = -33.3766443391901 | etot = -25.7016300917484 -570000 ekin = 3.88570178164854 | erot = 3.8701337006161 | epot = -33.4676246266793 | etot = -25.7117891444146 -571000 ekin = 3.91109063039706 | erot = 4.38873366379694 | epot = -33.5301619269313 | etot = -25.2303376327373 -572000 ekin = 3.9135736753704 | erot = 4.54669425634133 | epot = -33.5613071721044 | etot = -25.1010392403927 -573000 ekin = 4.00256460246037 | erot = 4.69928602914644 | epot = -33.547965409059 | etot = -24.8461147774522 -574000 ekin = 4.04557469411573 | erot = 4.85104808888591 | epot = -33.4823141367226 | etot = -24.5856913537209 -575000 ekin = 4.01990448331334 | erot = 4.48360936846642 | epot = -33.4090682352895 | etot = -24.9055543835097 -576000 ekin = 3.8077042063495 | erot = 4.4090298473991 | epot = -33.3559765416156 | etot = -25.139242487867 -577000 ekin = 3.65176770723656 | erot = 4.69770290650885 | epot = -33.3414847753624 | etot = -24.992014161617 -578000 ekin = 3.65416507269697 | erot = 5.09984939028917 | epot = -33.3628873386868 | etot = -24.6088728757007 -579000 ekin = 3.65457514215401 | erot = 4.83085466504536 | epot = -33.4229058723706 | etot = -24.9374760651712 -580000 ekin = 3.61022362260401 | erot = 5.21507039569716 | epot = -33.5257015423967 | etot = -24.7004075240955 -581000 ekin = 3.494914275922 | erot = 5.80898315058267 | epot = -33.6374701054948 | etot = -24.3335726789901 -582000 ekin = 3.45150652331189 | erot = 5.20797294729429 | epot = -33.7413132898266 | etot = -25.0818338192204 -583000 ekin = 3.43883253778127 | erot = 4.99240818298312 | epot = -33.7992206024418 | etot = -25.3679798816774 -584000 ekin = 3.41950743993982 | erot = 5.30429667829813 | epot = -33.8273198616872 | etot = -25.1035157434492 -585000 ekin = 3.52988736379251 | erot = 5.26888625710182 | epot = -33.8562169326841 | etot = -25.0574433117897 -586000 ekin = 3.54522421505632 | erot = 5.15182886320336 | epot = -33.8748034063857 | etot = -25.177750328126 -587000 ekin = 3.64975640444305 | erot = 4.43116878398965 | epot = -33.8790223191809 | etot = -25.7980971307482 -588000 ekin = 3.85787406303013 | erot = 4.33848995606292 | epot = -33.9012642894901 | etot = -25.704900270397 -589000 ekin = 3.94871508842027 | erot = 4.36958758855398 | epot = -33.9512157067312 | etot = -25.632913029757 -590000 ekin = 4.04576150007614 | erot = 4.34777620153041 | epot = -33.9849374243125 | etot = -25.5913997227059 -591000 ekin = 4.13483818439864 | erot = 4.2847530812366 | epot = -33.997537224377 | etot = -25.5779459587418 -592000 ekin = 4.25566804148588 | erot = 4.00241438742632 | epot = -33.9905173022463 | etot = -25.7324348733341 -593000 ekin = 4.26695504286498 | erot = 3.75133860519142 | epot = -33.9824243028368 | etot = -25.9641306547804 -594000 ekin = 4.24513038558001 | erot = 3.88826331815687 | epot = -33.9597952629285 | etot = -25.8264015591916 -595000 ekin = 4.33307108334578 | erot = 3.92609577318101 | epot = -33.9197199407769 | etot = -25.6605530842501 -596000 ekin = 4.23611726585083 | erot = 3.89070717461436 | epot = -33.8740124837555 | etot = -25.7471880432903 -597000 ekin = 4.40233879096545 | erot = 3.99738130824423 | epot = -33.8902431987863 | etot = -25.4905230995766 -598000 ekin = 4.23795477390283 | erot = 4.04526003587962 | epot = -33.9155939268415 | etot = -25.632379117059 -599000 ekin = 4.13745802988963 | erot = 3.88641709707891 | epot = -33.9296772436184 | etot = -25.9058021166499 -600000 ekin = 4.21239990479373 | erot = 3.82373814742806 | epot = -33.9651236246002 | etot = -25.9289855723784 -601000 ekin = 4.31969973340156 | erot = 3.98399943561206 | epot = -34.0172721411617 | etot = -25.7135729721481 -602000 ekin = 4.27803621196591 | erot = 4.02063732656592 | epot = -34.1006984229854 | etot = -25.8020248844535 -603000 ekin = 4.31016670434105 | erot = 4.06109056998793 | epot = -34.2290225355025 | etot = -25.8577652611735 -604000 ekin = 4.35436231281015 | erot = 4.27081433433638 | epot = -34.3693989473761 | etot = -25.7442223002295 -605000 ekin = 4.29263786573535 | erot = 4.35816455016065 | epot = -34.5293522620236 | etot = -25.8785498461276 -606000 ekin = 4.23493766333219 | erot = 4.45889694601915 | epot = -34.6959569640143 | etot = -26.002122354663 -607000 ekin = 4.21589668454704 | erot = 4.35851580050846 | epot = -34.8643734064671 | etot = -26.2899609214116 -608000 ekin = 4.31617609118148 | erot = 4.37118434041818 | epot = -35.0106665625387 | etot = -26.323306130939 -609000 ekin = 4.40054829762706 | erot = 4.09556922746415 | epot = -35.1090427558584 | etot = -26.6129252307672 -610000 ekin = 4.38360179734749 | erot = 4.43080811091103 | epot = -35.1590130940805 | etot = -26.344603185822 -611000 ekin = 4.30911071720803 | erot = 4.66858603342419 | epot = -35.199774136202 | etot = -26.2220773855698 -612000 ekin = 4.38115044343898 | erot = 4.62952065066672 | epot = -35.2189008927589 | etot = -26.2082297986532 -613000 ekin = 4.49640333428286 | erot = 4.73033949191667 | epot = -35.2311946320123 | etot = -26.0044518058127 -614000 ekin = 4.42698019674728 | erot = 4.54387450238911 | epot = -35.2270245654641 | etot = -26.2561698663278 -615000 ekin = 4.3629388204899 | erot = 4.65167437175519 | epot = -35.2500098144353 | etot = -26.2353966221903 -616000 ekin = 4.25552094369014 | erot = 3.96773357990598 | epot = -35.2626465654004 | etot = -27.0393920418043 -617000 ekin = 4.02844203107081 | erot = 3.93306028038353 | epot = -35.3085438772357 | etot = -27.3470415657814 -618000 ekin = 3.91410624199523 | erot = 3.99915504239056 | epot = -35.3773572154983 | etot = -27.4640959311125 -619000 ekin = 3.9294433404095 | erot = 3.65858234543169 | epot = -35.4549579850513 | etot = -27.8669322992101 -620000 ekin = 3.94632769198393 | erot = 4.05357915876527 | epot = -35.5452298743849 | etot = -27.5453230236357 -621000 ekin = 4.00876452457071 | erot = 4.18557952361359 | epot = -35.6568787558286 | etot = -27.4625347076443 -622000 ekin = 3.97770547832547 | erot = 4.20428409244749 | epot = -35.7853832130651 | etot = -27.6033936422921 -623000 ekin = 3.87623409179537 | erot = 4.44200976918119 | epot = -35.9345595163542 | etot = -27.6163156553776 -624000 ekin = 3.81461749379546 | erot = 4.73413928443235 | epot = -36.0610458736418 | etot = -27.512289095414 -625000 ekin = 3.89702417514946 | erot = 4.5196799549034 | epot = -36.1593702506668 | etot = -27.7426661206139 -626000 ekin = 4.0528518195111 | erot = 5.12209714551147 | epot = -36.237370947802 | etot = -27.0624219827794 -627000 ekin = 4.06919694856893 | erot = 5.16853241383708 | epot = -36.2459696084307 | etot = -27.0082402460247 -628000 ekin = 3.97574634490031 | erot = 5.15377915037523 | epot = -36.1860007276678 | etot = -27.0564752323922 -629000 ekin = 3.97847076093763 | erot = 4.98743417354921 | epot = -36.084160296335 | etot = -27.1182553618481 -630000 ekin = 3.82117049554653 | erot = 4.72915936447952 | epot = -35.9627884752431 | etot = -27.4124586152171 -631000 ekin = 3.8646114143111 | erot = 4.86154549635015 | epot = -35.8061457051951 | etot = -27.0799887945339 -632000 ekin = 3.74664734149751 | erot = 4.54810894057716 | epot = -35.6214135997292 | etot = -27.3266573176545 -633000 ekin = 3.70561564688156 | erot = 3.84492477779505 | epot = -35.4366028892496 | etot = -27.886062464573 -634000 ekin = 3.59215409071566 | erot = 3.93871515972519 | epot = -35.2896538627894 | etot = -27.7587846123485 -635000 ekin = 3.50545587494281 | erot = 4.06717110382225 | epot = -35.1730596180138 | etot = -27.6004326392487 -636000 ekin = 3.33094541502758 | erot = 4.07821458070319 | epot = -35.1077038533339 | etot = -27.6985438576031 -637000 ekin = 3.1450521799885 | erot = 4.05756077132578 | epot = -35.1055524080602 | etot = -27.9029394567459 -638000 ekin = 3.09050584392124 | erot = 4.40258652090801 | epot = -35.1570633539873 | etot = -27.6639709891581 -639000 ekin = 3.07687333216972 | erot = 4.16491810908533 | epot = -35.2467836386701 | etot = -28.0049921974151 -640000 ekin = 3.00973730804964 | erot = 4.26924181333289 | epot = -35.3354522376063 | etot = -28.0564731162238 -641000 ekin = 2.94445196408731 | erot = 4.64391413205011 | epot = -35.4644644387943 | etot = -27.8760983426569 -642000 ekin = 2.98442414954527 | erot = 4.99747556124224 | epot = -35.629005703419 | etot = -27.6471059926314 -643000 ekin = 3.20556469531983 | erot = 4.80255317913171 | epot = -35.7795885297912 | etot = -27.7714706553396 -644000 ekin = 3.27488214023669 | erot = 4.64957731616528 | epot = -35.9161733239232 | etot = -27.9917138675212 -645000 ekin = 3.41323831994906 | erot = 4.71321420527498 | epot = -36.0213663956136 | etot = -27.8949138703896 -646000 ekin = 3.56963422518063 | erot = 4.46391006184168 | epot = -36.0597764611991 | etot = -28.0262321741768 -647000 ekin = 3.65146108953654 | erot = 4.34882885781815 | epot = -36.0539738525772 | etot = -28.0536839052225 -648000 ekin = 3.80589253043734 | erot = 4.22505125234539 | epot = -35.9957895068619 | etot = -27.9648457240791 -649000 ekin = 4.01844415748726 | erot = 4.19109412255692 | epot = -35.918006133173 | etot = -27.7084678531288 -650000 ekin = 4.03810277748455 | erot = 3.86362623058827 | epot = -35.8260490160414 | etot = -27.9243200079685 -651000 ekin = 4.1420394457061 | erot = 3.56888807374624 | epot = -35.7087423281368 | etot = -27.9978148086844 -652000 ekin = 4.23250261214613 | erot = 3.18710224409333 | epot = -35.6367851174003 | etot = -28.2171802611608 -653000 ekin = 4.36352642925903 | erot = 3.20148998565931 | epot = -35.6464209942524 | etot = -28.0814045793341 -654000 ekin = 4.52792032439863 | erot = 3.02237039454649 | epot = -35.6995719521279 | etot = -28.1492812331828 -655000 ekin = 4.60546960877418 | erot = 2.96007185178607 | epot = -35.8223013228776 | etot = -28.2567598623174 -656000 ekin = 4.78956137675958 | erot = 3.38896158834532 | epot = -35.9826527468522 | etot = -27.8041297817474 -657000 ekin = 4.78481247088143 | erot = 3.67040934516362 | epot = -36.1522101931014 | etot = -27.6969883770563 -658000 ekin = 4.68735602442142 | erot = 4.10635530609203 | epot = -36.3122539915035 | etot = -27.5185426609901 -659000 ekin = 4.79643464434846 | erot = 4.31091667955153 | epot = -36.4198222001284 | etot = -27.3124708762284 -660000 ekin = 4.65613606555458 | erot = 4.00182169137101 | epot = -36.5017357753368 | etot = -27.8437780184112 -661000 ekin = 4.53939481189358 | erot = 4.39327864100421 | epot = -36.552237956014 | etot = -27.6195645031162 -662000 ekin = 4.62075189021939 | erot = 4.64171304234462 | epot = -36.545875274844 | etot = -27.28341034228 -663000 ekin = 4.60627251324175 | erot = 4.44191382325611 | epot = -36.5358428119652 | etot = -27.4876564754673 -664000 ekin = 4.5322487745738 | erot = 4.69535654969877 | epot = -36.5440045788996 | etot = -27.3163992546271 -665000 ekin = 4.33791904760918 | erot = 4.79511074251709 | epot = -36.5712979957051 | etot = -27.4382682055788 -666000 ekin = 4.01034004769755 | erot = 5.144756302773 | epot = -36.6275167021822 | etot = -27.4724203517116 -667000 ekin = 3.92791037721526 | erot = 5.1180589475915 | epot = -36.7022697315157 | etot = -27.656300406709 -668000 ekin = 3.69207242860475 | erot = 4.95115852091633 | epot = -36.77482844315 | etot = -28.1315974936289 -669000 ekin = 3.52850414694741 | erot = 5.30513713121027 | epot = -36.8468924103787 | etot = -28.013251132221 -670000 ekin = 3.43685158392318 | erot = 5.67353767341462 | epot = -36.8571678878536 | etot = -27.7467786305158 -671000 ekin = 3.37237891900108 | erot = 4.81383151363229 | epot = -36.789877261468 | etot = -28.6036668288346 -672000 ekin = 3.42142864489494 | erot = 4.47410705082113 | epot = -36.6509805759882 | etot = -28.7554448802721 -673000 ekin = 3.47620696197669 | erot = 4.5346881275349 | epot = -36.4695914666357 | etot = -28.4586963771241 -674000 ekin = 3.34015467342445 | erot = 4.56003540036683 | epot = -36.2728042739957 | etot = -28.3726142002044 -675000 ekin = 3.26558121431912 | erot = 4.75716318196968 | epot = -36.081244882487 | etot = -28.0585004861982 -676000 ekin = 3.30557173090105 | erot = 4.66626180335483 | epot = -35.8858133485329 | etot = -27.9139798142771 -677000 ekin = 3.38252137148696 | erot = 4.68979222844271 | epot = -35.7238379181649 | etot = -27.6515243182352 -678000 ekin = 3.33430766992679 | erot = 4.45636421682296 | epot = -35.5898515746292 | etot = -27.7991796878794 -679000 ekin = 3.26716522041086 | erot = 4.1364314169021 | epot = -35.5282160560392 | etot = -28.1246194187263 -680000 ekin = 3.22330491222295 | erot = 4.11355311991395 | epot = -35.5522418172891 | etot = -28.2153837851522 -681000 ekin = 3.27654998707864 | erot = 4.40088508884101 | epot = -35.6343431031162 | etot = -27.9569080271965 -682000 ekin = 3.38403402083093 | erot = 4.64957783602951 | epot = -35.7255960652544 | etot = -27.6919842083939 -683000 ekin = 3.58392532059595 | erot = 4.15499488835509 | epot = -35.8541956283799 | etot = -28.1152754194289 -684000 ekin = 3.63284008875844 | erot = 4.14497212696412 | epot = -36.0448350473468 | etot = -28.2670228316243 -685000 ekin = 3.75538152185827 | erot = 3.95609692494467 | epot = -36.2462524041805 | etot = -28.5347739573775 -686000 ekin = 3.91883145536903 | erot = 3.95298902028762 | epot = -36.4771155861876 | etot = -28.605295110531 -687000 ekin = 4.05299881159346 | erot = 4.06027810523509 | epot = -36.7169526369106 | etot = -28.6036757200821 -688000 ekin = 4.13599667613487 | erot = 4.10331489254492 | epot = -36.9524101670374 | etot = -28.7130985983576 -689000 ekin = 4.25987754434331 | erot = 4.14481492316617 | epot = -37.1900775910787 | etot = -28.7853851235692 -690000 ekin = 4.43074027682691 | erot = 4.04380513304471 | epot = -37.3931354089472 | etot = -28.9185899990756 -691000 ekin = 4.53821721573907 | erot = 3.8050334589901 | epot = -37.5576014163145 | etot = -29.2143507415853 -692000 ekin = 4.64150042779563 | erot = 3.59872997928139 | epot = -37.6895260553266 | etot = -29.4492956482496 -693000 ekin = 4.69075885893268 | erot = 3.47578918601684 | epot = -37.8114874122412 | etot = -29.6449393672917 -694000 ekin = 4.7382251866288 | erot = 3.84263750148522 | epot = -37.9027003996521 | etot = -29.3218377115381 -695000 ekin = 4.75494194628237 | erot = 3.78113333862439 | epot = -37.9681336831645 | etot = -29.4320583982578 -696000 ekin = 4.697866081995 | erot = 3.78526821175916 | epot = -38.0084908312995 | etot = -29.5253565375453 -697000 ekin = 4.69854328160722 | erot = 3.62432955932709 | epot = -38.0258612384494 | etot = -29.7029883975151 -698000 ekin = 4.71023285873083 | erot = 3.64111389234168 | epot = -38.0301547340748 | etot = -29.6788079830023 -699000 ekin = 4.56773244344101 | erot = 3.71983710702471 | epot = -38.0529467082179 | etot = -29.7653771577522 -700000 ekin = 4.43155866208815 | erot = 3.5335546196022 | epot = -38.068583492112 | etot = -30.1034702104217 -701000 ekin = 4.47548631411863 | erot = 3.38963138436185 | epot = -38.0500116139802 | etot = -30.1848939154997 -702000 ekin = 4.46550513017092 | erot = 3.66852889097233 | epot = -38.0164512923389 | etot = -29.8824172711957 -703000 ekin = 4.38742906998922 | erot = 3.97599599383663 | epot = -37.9817705180933 | etot = -29.6183454542675 -704000 ekin = 4.41020682713785 | erot = 3.83147838533244 | epot = -37.9674346241353 | etot = -29.725749411665 -705000 ekin = 4.39308990786526 | erot = 3.75664217186731 | epot = -37.9282520396859 | etot = -29.7785199599533 -706000 ekin = 4.43040906703226 | erot = 4.12756254176834 | epot = -37.8939279543814 | etot = -29.3359563455808 -707000 ekin = 4.51700671633719 | erot = 3.77573523129425 | epot = -37.8444471024425 | etot = -29.5517051548111 -708000 ekin = 4.49065124304644 | erot = 3.88552877103945 | epot = -37.7744800646496 | etot = -29.3983000505637 -709000 ekin = 4.41855498291582 | erot = 3.53582586052254 | epot = -37.6656825257606 | etot = -29.7113016823223 -710000 ekin = 4.40535258977441 | erot = 3.39649502688896 | epot = -37.546693994465 | etot = -29.7448463778016 -711000 ekin = 4.32709544005412 | erot = 3.54995473847997 | epot = -37.3866324258477 | etot = -29.5095822473136 -712000 ekin = 4.40620309391045 | erot = 3.7155744253842 | epot = -37.1793914331046 | etot = -29.05761391381 -713000 ekin = 4.39226105260381 | erot = 3.64956114520254 | epot = -36.9592491146155 | etot = -28.9174269168092 -714000 ekin = 4.3945904765123 | erot = 3.58799428596503 | epot = -36.7844109062829 | etot = -28.8018261438055 -715000 ekin = 4.41458674942753 | erot = 4.01850565037344 | epot = -36.5924446920391 | etot = -28.1593522922382 -716000 ekin = 4.33665938530876 | erot = 3.50452219695681 | epot = -36.4143425377369 | etot = -28.5731609554713 -717000 ekin = 4.18088462864216 | erot = 3.21190204009032 | epot = -36.2481677379304 | etot = -28.8553810691979 -718000 ekin = 4.03231025467992 | erot = 2.91104295996765 | epot = -36.1402693367145 | etot = -29.196916122067 -719000 ekin = 3.97260579411936 | erot = 3.29783620298701 | epot = -36.0849771003507 | etot = -28.8145351032443 -720000 ekin = 3.82567789821418 | erot = 3.46218504309359 | epot = -36.1068353452668 | etot = -28.818972403959 -721000 ekin = 3.83433718059127 | erot = 4.03084036947922 | epot = -36.1868958046435 | etot = -28.321718254573 -722000 ekin = 3.7130087276568 | erot = 3.84736896155859 | epot = -36.2838656104841 | etot = -28.7234879212687 -723000 ekin = 3.74703466957696 | erot = 3.71040850656983 | epot = -36.3812410760553 | etot = -28.9237978999085 -724000 ekin = 3.75607081603443 | erot = 4.02813532874788 | epot = -36.4992818358981 | etot = -28.7150756911158 -725000 ekin = 3.77808990085885 | erot = 4.20966764087265 | epot = -36.6263500488386 | etot = -28.6385925071071 -726000 ekin = 3.99703012102755 | erot = 3.67945861038478 | epot = -36.7651398392487 | etot = -29.0886511078363 -727000 ekin = 4.01741049095273 | erot = 3.72684228835856 | epot = -36.8887239674894 | etot = -29.1444711881781 -728000 ekin = 4.05655244457389 | erot = 3.64411335656528 | epot = -36.9831032192825 | etot = -29.2824374181433 -729000 ekin = 4.15914112670555 | erot = 3.22368867517415 | epot = -37.0758214193937 | etot = -29.692991617514 -730000 ekin = 4.27496625989352 | erot = 3.03434396509935 | epot = -37.1060663359384 | etot = -29.7967561109456 -731000 ekin = 4.35621946146742 | erot = 3.31453862248463 | epot = -37.0811379025023 | etot = -29.4103798185503 -732000 ekin = 4.31460322853858 | erot = 3.19560214587386 | epot = -37.0358028654693 | etot = -29.5255974910568 -733000 ekin = 4.2295226795695 | erot = 3.20037871937962 | epot = -36.9673423522061 | etot = -29.537440953257 -734000 ekin = 4.24709820971147 | erot = 3.10598269123683 | epot = -36.8800091287772 | etot = -29.5269282278289 -735000 ekin = 4.14981162925897 | erot = 3.12549638567468 | epot = -36.7838119752116 | etot = -29.508503960278 -736000 ekin = 4.20814181481824 | erot = 2.91522500178861 | epot = -36.7063833852233 | etot = -29.5830165686164 -737000 ekin = 4.01828120268193 | erot = 2.40495812578651 | epot = -36.6589611248533 | etot = -30.2357217963848 -738000 ekin = 4.01094036028549 | erot = 2.68632566149055 | epot = -36.6548343802808 | etot = -29.9575683585048 -739000 ekin = 4.14661584174142 | erot = 2.59506078530577 | epot = -36.6780631105738 | etot = -29.9363864835266 -740000 ekin = 4.08413039710925 | erot = 2.57365823993747 | epot = -36.7021237291546 | etot = -30.0443350921079 -741000 ekin = 4.10845660619181 | erot = 2.78416335535206 | epot = -36.7754492326706 | etot = -29.8828292711267 -742000 ekin = 4.09068760907163 | erot = 3.09866824560576 | epot = -36.8187451874485 | etot = -29.6293893327711 -743000 ekin = 3.96610963094402 | erot = 3.04878673776408 | epot = -36.8535622197241 | etot = -29.838665851016 -744000 ekin = 3.97087885402719 | erot = 3.04950786237685 | epot = -36.8512621314634 | etot = -29.8308754150594 -745000 ekin = 3.78295099566376 | erot = 3.09154774657146 | epot = -36.8410165021252 | etot = -29.96651775989 -746000 ekin = 3.88442560568396 | erot = 3.15773579416763 | epot = -36.8645704531019 | etot = -29.8224090532503 -747000 ekin = 3.94794600572092 | erot = 3.04363515896551 | epot = -36.9228275975776 | etot = -29.9312464328912 -748000 ekin = 3.94186404778235 | erot = 3.24130800398347 | epot = -37.0438118681966 | etot = -29.8606398164308 -749000 ekin = 3.93262026571516 | erot = 3.71710044171151 | epot = -37.210963278996 | etot = -29.5612425715694 -750000 ekin = 3.82713052636346 | erot = 4.02486049381691 | epot = -37.385471620714 | etot = -29.5334806005336 -751000 ekin = 4.02336237199802 | erot = 4.23099342037285 | epot = -37.5518597142007 | etot = -29.2975039218298 -752000 ekin = 4.06152925020837 | erot = 3.76231639564619 | epot = -37.6809132611595 | etot = -29.8570676153049 -753000 ekin = 4.07859449790949 | erot = 3.97018598947847 | epot = -37.7593004103674 | etot = -29.7105199229794 -754000 ekin = 4.26771269586214 | erot = 4.64006960442373 | epot = -37.8141557249888 | etot = -28.9063734247029 -755000 ekin = 4.26666906965093 | erot = 4.77784474773889 | epot = -37.8576299963078 | etot = -28.8131161789179 -756000 ekin = 4.2913114700946 | erot = 5.38525988164132 | epot = -37.8917845570772 | etot = -28.2152132053412 -757000 ekin = 4.35562563894453 | erot = 5.14819699923274 | epot = -37.8935376948375 | etot = -28.3897150566602 -758000 ekin = 4.22616249374932 | erot = 5.19713356473755 | epot = -37.890171313439 | etot = -28.4668752549521 -759000 ekin = 4.24184449956944 | erot = 5.16496183591484 | epot = -37.8881235068873 | etot = -28.481317171403 -760000 ekin = 4.23424644958301 | erot = 5.47628298706072 | epot = -37.9000330984149 | etot = -28.1895036617712 -761000 ekin = 4.26448749341469 | erot = 5.45907771030503 | epot = -37.9055730645743 | etot = -28.1820078608546 -762000 ekin = 4.22061932798692 | erot = 5.04369074313446 | epot = -37.9108772679031 | etot = -28.6465671967817 -763000 ekin = 4.09989014592102 | erot = 5.10778066514902 | epot = -37.9045250455542 | etot = -28.6968542344841 -764000 ekin = 4.18374834614763 | erot = 5.46818179899514 | epot = -37.8676566747109 | etot = -28.2157265295681 -765000 ekin = 4.08761418374972 | erot = 5.8085838804908 | epot = -37.8033181876409 | etot = -27.9071201234004 -766000 ekin = 4.0399954168056 | erot = 5.48136006660783 | epot = -37.7411893537017 | etot = -28.2198338702883 -767000 ekin = 4.01701285460552 | erot = 5.31665044278829 | epot = -37.6438611160235 | etot = -28.3101978186297 -768000 ekin = 3.97951625206149 | erot = 5.25792422549898 | epot = -37.5214426737382 | etot = -28.2840021961778 -769000 ekin = 3.9904400552595 | erot = 5.21175341266091 | epot = -37.3810973556055 | etot = -28.1789038876851 -770000 ekin = 3.99199742512277 | erot = 5.21810902470249 | epot = -37.1986211065242 | etot = -27.9885146566989 -771000 ekin = 3.82567851870305 | erot = 4.95130845103932 | epot = -36.9906650314374 | etot = -28.213678061695 -772000 ekin = 3.72123202682396 | erot = 4.74084322348116 | epot = -36.7445513213713 | etot = -28.2824760710662 -773000 ekin = 3.61186619870637 | erot = 4.48764169415196 | epot = -36.4404296879 | etot = -28.3409217950417 -774000 ekin = 3.5323856332149 | erot = 4.0851560641829 | epot = -36.1430482929722 | etot = -28.5255065955744 -775000 ekin = 3.61960121968643 | erot = 4.03007080844262 | epot = -35.8636424209038 | etot = -28.2139703927748 -776000 ekin = 3.50131397859944 | erot = 3.82783005287474 | epot = -35.5938202085534 | etot = -28.2646761770792 -777000 ekin = 3.4086720204846 | erot = 3.85221546935551 | epot = -35.4006619567329 | etot = -28.1397744668928 -778000 ekin = 3.45838031028943 | erot = 3.51853820068418 | epot = -35.2979750992092 | etot = -28.3210565882356 -779000 ekin = 3.42307480042057 | erot = 3.59321040457246 | epot = -35.2809430031764 | etot = -28.2646577981833 -780000 ekin = 3.42440692402825 | erot = 3.60521054559613 | epot = -35.3411249792481 | etot = -28.3115075096237 -781000 ekin = 3.46934151467246 | erot = 3.84731508491177 | epot = -35.4518670976751 | etot = -28.1352104980909 -782000 ekin = 3.5271040668097 | erot = 4.28376670942143 | epot = -35.595026056589 | etot = -27.7841552803579 -783000 ekin = 3.61729821661169 | erot = 4.75537078140916 | epot = -35.7562125383807 | etot = -27.3835435403599 -784000 ekin = 3.5836655359854 | erot = 4.1138012313496 | epot = -35.8708728516423 | etot = -28.1734060843073 -785000 ekin = 3.63226984987313 | erot = 4.14613629449608 | epot = -35.9549809353083 | etot = -28.1765747909391 -786000 ekin = 3.55353155352361 | erot = 3.96170523540214 | epot = -36.0104316125812 | etot = -28.4951948236555 -787000 ekin = 3.65679390509628 | erot = 4.13482060006033 | epot = -36.0644977241106 | etot = -28.272883218954 -788000 ekin = 3.86757699285448 | erot = 4.10779053552829 | epot = -36.0997261456416 | etot = -28.1243586172588 -789000 ekin = 3.93645468275084 | erot = 4.27766163431728 | epot = -36.1406694170053 | etot = -27.9265530999371 -790000 ekin = 3.99051031327637 | erot = 3.95340487784933 | epot = -36.2018617372706 | etot = -28.257946546145 -791000 ekin = 4.10452718423621 | erot = 3.99235351847229 | epot = -36.2624115283487 | etot = -28.1655308256402 -792000 ekin = 4.33302884516885 | erot = 3.8304429162738 | epot = -36.335701261074 | etot = -28.1722294996313 -793000 ekin = 4.59966330091451 | erot = 3.74212535974463 | epot = -36.4314410279318 | etot = -28.0896523672727 -794000 ekin = 4.70509453522008 | erot = 3.7325457155236 | epot = -36.5039677226926 | etot = -28.0663274719489 -795000 ekin = 4.8237350135353 | erot = 3.69936645898633 | epot = -36.5467302591204 | etot = -28.0236287865987 -796000 ekin = 5.02825099690258 | erot = 3.65845895224835 | epot = -36.5441938749373 | etot = -27.8574839257863 -797000 ekin = 4.98369350470464 | erot = 3.33483563015714 | epot = -36.5302539300605 | etot = -28.2117247951988 -798000 ekin = 5.04627515833455 | erot = 3.251844315584 | epot = -36.5269098314607 | etot = -28.2287903575422 -799000 ekin = 4.96165968599494 | erot = 3.39539196017299 | epot = -36.5580084896278 | etot = -28.2009568434598 -800000 ekin = 4.96087289523802 | erot = 3.54932033291718 | epot = -36.6052154994154 | etot = -28.0950222712602 -801000 ekin = 4.96148873220024 | erot = 3.39995120227887 | epot = -36.6619752973816 | etot = -28.3005353629025 -802000 ekin = 4.86744715226323 | erot = 3.35338258088299 | epot = -36.6942224647938 | etot = -28.4733927316476 -803000 ekin = 4.75056128639553 | erot = 3.25410486957708 | epot = -36.7045390401517 | etot = -28.6998728841791 -804000 ekin = 4.78109129200108 | erot = 3.0776597288298 | epot = -36.698526519421 | etot = -28.8397754985901 -805000 ekin = 4.82892493818665 | erot = 3.27499533781798 | epot = -36.6737874267413 | etot = -28.5698671507367 -806000 ekin = 4.74542372520114 | erot = 3.18323237798552 | epot = -36.6406513076392 | etot = -28.7119952044525 -807000 ekin = 4.64766139287985 | erot = 3.38424960796022 | epot = -36.6476730883982 | etot = -28.6157620875581 -808000 ekin = 4.45707835864346 | erot = 3.35175675914227 | epot = -36.7022500935515 | etot = -28.8934149757658 -809000 ekin = 4.32670887591497 | erot = 3.3204635551547 | epot = -36.7741824114222 | etot = -29.1270099803525 -810000 ekin = 4.19642960492062 | erot = 3.20396083815671 | epot = -36.8832195227742 | etot = -29.4828290796969 -811000 ekin = 4.18603442116872 | erot = 3.54097838794675 | epot = -37.0402774324897 | etot = -29.3132646233742 -812000 ekin = 4.3319099162396 | erot = 3.67977508148913 | epot = -37.2334955671967 | etot = -29.221810569468 -813000 ekin = 4.46701990899706 | erot = 3.84749046887719 | epot = -37.4770063129616 | etot = -29.1624959350873 -814000 ekin = 4.70593563863212 | erot = 4.02074050200669 | epot = -37.7739765579907 | etot = -29.0473004173519 -815000 ekin = 4.61635561952459 | erot = 4.30893882425418 | epot = -38.0622407069025 | etot = -29.1369462631237 -816000 ekin = 4.66419241223221 | erot = 4.43348416466983 | epot = -38.3533945439932 | etot = -29.2557179670912 -817000 ekin = 4.61492034782011 | erot = 4.8589683614048 | epot = -38.6054729848476 | etot = -29.1315842756226 -818000 ekin = 4.69361355558547 | erot = 4.57560992803662 | epot = -38.8141140205618 | etot = -29.5448905369397 -819000 ekin = 4.99561997491401 | erot = 4.59057590873866 | epot = -38.986131465386 | etot = -29.3999355817333 -820000 ekin = 5.14251771001076 | erot = 4.38257454602465 | epot = -39.1119793527868 | etot = -29.5868870967514 -821000 ekin = 5.21211790510897 | erot = 3.7649363964534 | epot = -39.1791873910089 | etot = -30.2021330894465 -822000 ekin = 5.2276374734314 | erot = 3.8199393472184 | epot = -39.2257832500633 | etot = -30.1782064294135 -823000 ekin = 5.20824824630017 | erot = 3.61818509207455 | epot = -39.2577442235125 | etot = -30.4313108851377 -824000 ekin = 5.29481176258827 | erot = 3.61607107182776 | epot = -39.2930045776047 | etot = -30.3821217431886 -825000 ekin = 5.34590564278664 | erot = 3.4760580167516 | epot = -39.3020776711423 | etot = -30.4801140116041 -826000 ekin = 5.38005087585455 | erot = 3.56002985231027 | epot = -39.2878928900547 | etot = -30.3478121618899 -827000 ekin = 5.38251681844102 | erot = 3.31581026558379 | epot = -39.283897328375 | etot = -30.5855702443502 -828000 ekin = 5.30162295798549 | erot = 2.79999506814083 | epot = -39.2990437954937 | etot = -31.1974257693674 -829000 ekin = 5.34935471298301 | erot = 2.6338075385136 | epot = -39.3079384502704 | etot = -31.3247761987738 -830000 ekin = 5.15642397228145 | erot = 2.78944963382923 | epot = -39.3294203636002 | etot = -31.3835467574896 -831000 ekin = 5.04271329110473 | erot = 3.07984504895606 | epot = -39.3562191308944 | etot = -31.2336607908336 -832000 ekin = 5.04415123872855 | erot = 3.36917057661115 | epot = -39.3458026730645 | etot = -30.9324808577248 -833000 ekin = 4.97652700754261 | erot = 3.11016826810616 | epot = -39.3003589046717 | etot = -31.2136636290229 -834000 ekin = 4.66785324148471 | erot = 2.98799062968103 | epot = -39.2007615011679 | etot = -31.5449176300022 -835000 ekin = 4.4196794841071 | erot = 3.24754240638097 | epot = -39.0370935965117 | etot = -31.3698717060237 -836000 ekin = 4.1939950117267 | erot = 3.40709899396284 | epot = -38.8824429433984 | etot = -31.2813489377089 -837000 ekin = 4.05102708476636 | erot = 3.50403284169154 | epot = -38.7291298465769 | etot = -31.174069920119 -838000 ekin = 3.94991363719784 | erot = 3.82377156946596 | epot = -38.5557937558062 | etot = -30.7821085491424 -839000 ekin = 3.74326665318806 | erot = 3.97324655976055 | epot = -38.364381604374 | etot = -30.6478683914254 -840000 ekin = 3.7035157452831 | erot = 3.5124488621716 | epot = -38.1559200259235 | etot = -30.9399554184688 -841000 ekin = 3.60547887438446 | erot = 3.69151206404978 | epot = -37.9552189953856 | etot = -30.6582280569514 -842000 ekin = 3.38591284746056 | erot = 3.48115901302566 | epot = -37.7647482919521 | etot = -30.8976764314659 -843000 ekin = 3.11807787995921 | erot = 3.24962582172021 | epot = -37.5931200484574 | etot = -31.225416346778 -844000 ekin = 3.03125896851729 | erot = 3.10915311466668 | epot = -37.4053554848136 | etot = -31.2649434016296 -845000 ekin = 2.84759324027404 | erot = 3.53115382226703 | epot = -37.2260086331777 | etot = -30.8472615706367 -846000 ekin = 2.83613069836942 | erot = 3.41497522988127 | epot = -37.085320604792 | etot = -30.8342146765413 -847000 ekin = 2.82518542790909 | erot = 3.92646137605455 | epot = -36.9740965925522 | etot = -30.2224497885886 -848000 ekin = 2.8035610196741 | erot = 3.75897131812056 | epot = -36.8749675315763 | etot = -30.3124351937817 -849000 ekin = 2.84159199816875 | erot = 3.65493979263097 | epot = -36.7798908055852 | etot = -30.2833590147855 -850000 ekin = 2.91517374365839 | erot = 3.25543936029153 | epot = -36.7388454898332 | etot = -30.5682323858832 -851000 ekin = 3.08764953673805 | erot = 3.74455145978084 | epot = -36.722364218189 | etot = -29.8901632216702 -852000 ekin = 3.20356705871957 | erot = 3.86422941824788 | epot = -36.7413165099185 | etot = -29.6735200329511 -853000 ekin = 3.25796036952423 | erot = 4.25509323905633 | epot = -36.7658517979734 | etot = -29.2527981893928 -854000 ekin = 3.57244822927295 | erot = 4.1896974412388 | epot = -36.8021340521276 | etot = -29.0399883816159 -855000 ekin = 3.61706783412956 | erot = 4.16292249791868 | epot = -36.8626923862697 | etot = -29.0827020542215 -856000 ekin = 3.78538239756072 | erot = 4.11253551603666 | epot = -36.9244661414333 | etot = -29.0265482278359 -857000 ekin = 3.7817884765619 | erot = 4.13628071929874 | epot = -37.0292483027729 | etot = -29.1111791069122 -858000 ekin = 3.79767899411331 | erot = 4.25390024597203 | epot = -37.1883443366328 | etot = -29.1367650965475 -859000 ekin = 3.79646558910377 | erot = 4.39490149089977 | epot = -37.3423128301967 | etot = -29.1509457501932 -860000 ekin = 3.86711139340926 | erot = 4.91957560544857 | epot = -37.4915022932785 | etot = -28.7048152944207 -861000 ekin = 3.99177075241504 | erot = 4.92589410247942 | epot = -37.5868681074784 | etot = -28.6692032525839 -862000 ekin = 4.0977748877086 | erot = 4.85487231115065 | epot = -37.6175250863704 | etot = -28.6648778875111 -863000 ekin = 4.13925231113692 | erot = 4.50896117392355 | epot = -37.5986086016775 | etot = -28.950395116617 -864000 ekin = 4.14764866587724 | erot = 4.42487018235684 | epot = -37.5204132439163 | etot = -28.9478943956823 -865000 ekin = 4.14664914911426 | erot = 4.25648196395736 | epot = -37.3939280409738 | etot = -28.9907969279022 -866000 ekin = 4.14214320133934 | erot = 4.18089045470177 | epot = -37.217946082973 | etot = -28.8949124269318 -867000 ekin = 4.2533355578306 | erot = 3.91180056252889 | epot = -37.0368358637666 | etot = -28.8716997434071 -868000 ekin = 4.25544635673827 | erot = 4.03934502097174 | epot = -36.892523740773 | etot = -28.597732363063 -869000 ekin = 4.24112681076909 | erot = 4.01454747654454 | epot = -36.8084367274645 | etot = -28.5527624401508 -870000 ekin = 4.33478513328131 | erot = 3.78349131069572 | epot = -36.7681636745504 | etot = -28.6498872305733 -871000 ekin = 4.17502061004023 | erot = 3.95421063049773 | epot = -36.7899780247081 | etot = -28.6607467841701 -872000 ekin = 4.17603847735526 | erot = 3.83768938083062 | epot = -36.8688005631066 | etot = -28.8550727049207 -873000 ekin = 4.41693719639203 | erot = 4.07505566261082 | epot = -36.9767379853334 | etot = -28.4847451263305 -874000 ekin = 4.41295334009184 | erot = 4.18394759912804 | epot = -37.1369142438381 | etot = -28.5400133046182 -875000 ekin = 4.52955334955961 | erot = 4.19580464694757 | epot = -37.3370998777392 | etot = -28.611741881232 -876000 ekin = 4.61247068682171 | erot = 4.50897081856651 | epot = -37.5248349335733 | etot = -28.4033934281851 -877000 ekin = 4.76533246609024 | erot = 4.08201826718837 | epot = -37.6873606048119 | etot = -28.8400098715333 -878000 ekin = 4.8610970109619 | erot = 4.033155729642 | epot = -37.8092910984767 | etot = -28.9150383578728 -879000 ekin = 4.93322526419523 | erot = 3.94479688455364 | epot = -37.8433128250758 | etot = -28.965290676327 -880000 ekin = 4.91177719282767 | erot = 3.90966953329197 | epot = -37.7988935874806 | etot = -28.9774468613609 -881000 ekin = 4.87595051611486 | erot = 3.76638474532604 | epot = -37.6791282073033 | etot = -29.0367929458624 -882000 ekin = 4.80398792776863 | erot = 3.52725045146498 | epot = -37.4958553191656 | etot = -29.164616939932 -883000 ekin = 4.56372183806134 | erot = 3.17268134770781 | epot = -37.3026048485108 | etot = -29.5662016627417 -884000 ekin = 4.38408070690848 | erot = 2.95287988074379 | epot = -37.1164899885588 | etot = -29.7795294009065 -885000 ekin = 4.2140126763182 | erot = 3.28627816383894 | epot = -36.942394624606 | etot = -29.4421037844489 -886000 ekin = 3.94208450896381 | erot = 3.61827008671528 | epot = -36.8244889717495 | etot = -29.2641343760704 -887000 ekin = 3.76025689669878 | erot = 3.89282193563174 | epot = -36.7542446517018 | etot = -29.1011658193713 -888000 ekin = 3.58518173626509 | erot = 4.10918051627072 | epot = -36.7235080282654 | etot = -29.0291457757296 -889000 ekin = 3.52227905599303 | erot = 4.53948895643315 | epot = -36.7423345916829 | etot = -28.6805665792567 -890000 ekin = 3.48725850687851 | erot = 4.9165184567076 | epot = -36.8110749451072 | etot = -28.4072979815211 -891000 ekin = 3.51807183016932 | erot = 5.36785996032727 | epot = -36.9187079043847 | etot = -28.0327761138882 -892000 ekin = 3.486514414829 | erot = 5.25687644163098 | epot = -37.0005216584193 | etot = -28.2571308019593 -893000 ekin = 3.51467838155448 | erot = 5.65149044087548 | epot = -37.0594453420589 | etot = -27.8932765196289 -894000 ekin = 3.45974654612958 | erot = 5.22169711042558 | epot = -37.102064267985 | etot = -28.4206206114299 -895000 ekin = 3.57216437063937 | erot = 5.40895067977451 | epot = -37.1028729086238 | etot = -28.1217578582099 -896000 ekin = 3.56655921068659 | erot = 5.69090228219611 | epot = -37.0708217415226 | etot = -27.8133602486399 -897000 ekin = 3.57757547803441 | erot = 5.90228049359103 | epot = -36.985951453297 | etot = -27.5060954816716 -898000 ekin = 3.52295514054554 | erot = 5.8453836024045 | epot = -36.8484715408739 | etot = -27.4801327979239 -899000 ekin = 3.42191869064122 | erot = 5.47174915922149 | epot = -36.6856616378138 | etot = -27.7919937879511 -900000 ekin = 3.45720121517251 | erot = 5.5997377251197 | epot = -36.5148133918243 | etot = -27.4578744515321 -901000 ekin = 3.51607619901873 | erot = 5.88763510779633 | epot = -36.2859464010554 | etot = -26.8822350942404 -902000 ekin = 3.56087621117599 | erot = 5.17399063106631 | epot = -36.0621785767821 | etot = -27.3273117345398 -903000 ekin = 3.56470936099584 | erot = 5.07361698005476 | epot = -35.8794588183591 | etot = -27.2411324773085 -904000 ekin = 3.64294879518974 | erot = 5.28022715353087 | epot = -35.7543216612797 | etot = -26.8311457125591 -905000 ekin = 3.72447152602649 | erot = 5.02657007424407 | epot = -35.658280490972 | etot = -26.9072388907014 -906000 ekin = 3.7591413367746 | erot = 4.63070748715657 | epot = -35.6129995043961 | etot = -27.2231506804649 -907000 ekin = 4.00046169414905 | erot = 4.63743176602948 | epot = -35.6087015116484 | etot = -26.9708080514698 -908000 ekin = 3.98050966425778 | erot = 4.23795607914778 | epot = -35.6020003534093 | etot = -27.3835346100038 -909000 ekin = 4.14488755713113 | erot = 3.77771446920632 | epot = -35.5819012555779 | etot = -27.6592992292404 -910000 ekin = 4.18878899263847 | erot = 3.85878998652442 | epot = -35.5853308204837 | etot = -27.5377518413208 -911000 ekin = 4.15448454865027 | erot = 3.93063753948133 | epot = -35.6075046071671 | etot = -27.5223825190355 -912000 ekin = 4.30922033403085 | erot = 4.53644215925813 | epot = -35.6368602869792 | etot = -26.7911977936902 -913000 ekin = 4.42050627097881 | erot = 4.36559538893036 | epot = -35.6635505470016 | etot = -26.8774488870924 -914000 ekin = 4.640384167071 | erot = 4.57708989772434 | epot = -35.6621612967503 | etot = -26.4446872319549 -915000 ekin = 4.71121950508134 | erot = 4.34018648406978 | epot = -35.6015140360078 | etot = -26.5501080468567 -916000 ekin = 4.67735943326423 | erot = 4.0723772918907 | epot = -35.4903050476411 | etot = -26.7405683224862 -917000 ekin = 4.78142703706188 | erot = 4.20198791892984 | epot = -35.3917685265255 | etot = -26.4083535705337 -918000 ekin = 4.77421198697552 | erot = 4.42971373988936 | epot = -35.2582637676415 | etot = -26.0543380407766 -919000 ekin = 4.73422216253545 | erot = 4.77044814340035 | epot = -35.0931913565727 | etot = -25.5885210506369 -920000 ekin = 4.64583700130455 | erot = 4.69774436792038 | epot = -34.9395895324828 | etot = -25.5960081632579 -921000 ekin = 4.61516328270518 | erot = 4.43350879426847 | epot = -34.8128426462836 | etot = -25.7641705693099 -922000 ekin = 4.55621337364702 | erot = 4.21768777753359 | epot = -34.7312720351653 | etot = -25.9573708839847 -923000 ekin = 4.59034826680647 | erot = 4.50920703076125 | epot = -34.7044992141191 | etot = -25.6049439165514 -924000 ekin = 4.58356240196665 | erot = 4.62074320796166 | epot = -34.7126986327387 | etot = -25.5083930228104 -925000 ekin = 4.53220072801023 | erot = 4.79254817721209 | epot = -34.7588998026814 | etot = -25.4341508974591 -926000 ekin = 4.55832715206815 | erot = 5.00471911281168 | epot = -34.8080246038137 | etot = -25.2449783389339 -927000 ekin = 4.62575171089295 | erot = 4.71181044830442 | epot = -34.8667293476304 | etot = -25.529167188433 -928000 ekin = 4.68657375207003 | erot = 4.76234601746771 | epot = -34.915949836791 | etot = -25.4670300672533 -929000 ekin = 4.7061028915664 | erot = 5.07097104655604 | epot = -34.9791697926744 | etot = -25.202095854552 -930000 ekin = 4.79474071813729 | erot = 5.21915381885274 | epot = -35.0589708185177 | etot = -25.0450762815277 -931000 ekin = 4.69039359230418 | erot = 5.48593447848777 | epot = -35.1099047138343 | etot = -24.9335766430423 -932000 ekin = 4.71110094603637 | erot = 5.47204685356053 | epot = -35.1612846037812 | etot = -24.9781368041843 -933000 ekin = 4.7636965267817 | erot = 5.41370570081805 | epot = -35.2317575147297 | etot = -25.05435528713 -934000 ekin = 4.8364389439216 | erot = 5.2350863141415 | epot = -35.3109086743972 | etot = -25.2393834163341 -935000 ekin = 4.76586014730834 | erot = 5.228655408338 | epot = -35.3670038676022 | etot = -25.3724883119559 -936000 ekin = 4.7459923218976 | erot = 5.40903849081579 | epot = -35.4141584031058 | etot = -25.2591275903924 -937000 ekin = 4.7066536683933 | erot = 5.90535300927756 | epot = -35.4573569432673 | etot = -24.8453502655964 -938000 ekin = 4.73520980049429 | erot = 5.48994015212968 | epot = -35.4717259493542 | etot = -25.2465759967302 -939000 ekin = 4.66471904112943 | erot = 5.58667162801301 | epot = -35.4363389851247 | etot = -25.1849483159823 -940000 ekin = 4.73670308439586 | erot = 5.59502045341196 | epot = -35.3410735898338 | etot = -25.0093500520259 -941000 ekin = 4.56546752366747 | erot = 5.16939612930364 | epot = -35.2196425314888 | etot = -25.4847788785177 -942000 ekin = 4.36600564083038 | erot = 4.55609433699296 | epot = -35.0782455188793 | etot = -26.156145541056 -943000 ekin = 4.27680501591152 | erot = 4.77186490926151 | epot = -34.9346146494734 | etot = -25.8859447243004 -944000 ekin = 4.17576408255027 | erot = 4.64476704064174 | epot = -34.7936442239037 | etot = -25.9731131007117 -945000 ekin = 4.08165692512656 | erot = 4.64307958397957 | epot = -34.7241648822034 | etot = -25.9994283730973 -946000 ekin = 3.9823833768563 | erot = 4.33903183997624 | epot = -34.720898188062 | etot = -26.3994829712295 -947000 ekin = 4.11312487406737 | erot = 4.25698162025429 | epot = -34.8023164533845 | etot = -26.4322099590628 -948000 ekin = 4.03905965505087 | erot = 4.28038925265714 | epot = -34.928198667426 | etot = -26.608749759718 -949000 ekin = 4.12081251669323 | erot = 4.40083354096753 | epot = -35.1348098866843 | etot = -26.6131638290236 -950000 ekin = 4.19947300195308 | erot = 4.46892156641812 | epot = -35.3299547862415 | etot = -26.6615602178703 -951000 ekin = 4.28802819219167 | erot = 4.3680742443603 | epot = -35.5595339264167 | etot = -26.9034314898647 -952000 ekin = 4.44618066979822 | erot = 4.88998578447886 | epot = -35.776264591199 | etot = -26.4400981369219 -953000 ekin = 4.53022835549443 | erot = 4.90684636989333 | epot = -35.9402525430781 | etot = -26.5031778176903 -954000 ekin = 4.65793433636178 | erot = 4.95789701943152 | epot = -36.1007223995856 | etot = -26.4848910437923 -955000 ekin = 4.68472849923193 | erot = 4.84778271057121 | epot = -36.2250094081872 | etot = -26.692498198384 -956000 ekin = 4.83489144923702 | erot = 4.61252423076074 | epot = -36.2912267944626 | etot = -26.8438111144649 -957000 ekin = 4.83158754758543 | erot = 4.06427874835662 | epot = -36.3314048744461 | etot = -27.4355385785041 -958000 ekin = 4.95872508890491 | erot = 3.86764289322934 | epot = -36.3554965538449 | etot = -27.5291285717106 -959000 ekin = 4.88220034385557 | erot = 3.76501141985199 | epot = -36.3703754351835 | etot = -27.7231636714759 -960000 ekin = 4.96739750076083 | erot = 3.70143986321351 | epot = -36.3537104260526 | etot = -27.6848730620782 -961000 ekin = 5.05073619223015 | erot = 3.58723306284219 | epot = -36.3292284086185 | etot = -27.6912591535462 -962000 ekin = 5.10220917296402 | erot = 3.43365806618123 | epot = -36.292660732266 | etot = -27.7567934931207 -963000 ekin = 5.25727455724231 | erot = 3.39047088285751 | epot = -36.2233249912108 | etot = -27.5755795511109 -964000 ekin = 5.33892942752122 | erot = 3.38850636488222 | epot = -36.1631800361608 | etot = -27.4357442437574 -965000 ekin = 5.29707309584692 | erot = 3.40709075904033 | epot = -36.114647791191 | etot = -27.4104839363038 -966000 ekin = 5.27380254283779 | erot = 3.34984185029608 | epot = -36.0934598827398 | etot = -27.4698154896059 -967000 ekin = 5.19975037009087 | erot = 3.54967607074493 | epot = -36.1222651146705 | etot = -27.3728386738347 -968000 ekin = 5.22098509097161 | erot = 3.38920040678115 | epot = -36.1570868906189 | etot = -27.5469013928661 -969000 ekin = 5.01248198517091 | erot = 3.26201512253216 | epot = -36.2130447987696 | etot = -27.9385476910665 -970000 ekin = 4.97914863237121 | erot = 3.76343819077309 | epot = -36.2895058744048 | etot = -27.5469190512605 -971000 ekin = 5.04224300192755 | erot = 3.59024832311355 | epot = -36.3590409977773 | etot = -27.7265496727362 -972000 ekin = 5.05787332232144 | erot = 3.83558558676212 | epot = -36.3997125264357 | etot = -27.5062536173522 -973000 ekin = 5.01777031588903 | erot = 3.27986497682672 | epot = -36.416683733591 | etot = -28.1190484408752 -974000 ekin = 4.96186842907965 | erot = 3.23479851019082 | epot = -36.4352005399287 | etot = -28.2385336006583 -975000 ekin = 4.97224363278484 | erot = 3.35077904927885 | epot = -36.455709806026 | etot = -28.1326871239623 -976000 ekin = 5.01625531380467 | erot = 3.41837200675027 | epot = -36.4643526378165 | etot = -28.0297253172615 -977000 ekin = 5.04359880486621 | erot = 3.40669885598948 | epot = -36.4673967616861 | etot = -28.0170991008304 -978000 ekin = 4.96814116021997 | erot = 3.3988542289389 | epot = -36.4671439769023 | etot = -28.1001485877434 -979000 ekin = 4.68494120169423 | erot = 3.87226166481182 | epot = -36.4696261904956 | etot = -27.9124233239896 -980000 ekin = 4.80514576213004 | erot = 3.73614562894118 | epot = -36.4753768381447 | etot = -27.9340854470735 -981000 ekin = 4.85375109376568 | erot = 4.35522911700057 | epot = -36.4902775794649 | etot = -27.2812973686986 -982000 ekin = 4.79648806853534 | erot = 4.15595945903824 | epot = -36.5084812040043 | etot = -27.5560336764307 -983000 ekin = 4.75907969484559 | erot = 4.43556787871588 | epot = -36.5083539693089 | etot = -27.3137063957474 -984000 ekin = 4.81598118844461 | erot = 4.52957555705406 | epot = -36.5383410952792 | etot = -27.1927843497806 -985000 ekin = 4.87924474651563 | erot = 4.3163097901408 | epot = -36.5777006480737 | etot = -27.3821461114172 -986000 ekin = 4.77128314225264 | erot = 4.12408981491538 | epot = -36.5819281400493 | etot = -27.6865551828813 -987000 ekin = 4.70900566206954 | erot = 4.08922713836853 | epot = -36.5892891612702 | etot = -27.7910563608322 -988000 ekin = 4.69685644927805 | erot = 4.03217145235649 | epot = -36.6289948782911 | etot = -27.8999669766566 -989000 ekin = 4.56955203825868 | erot = 4.16364650343098 | epot = -36.6885496975511 | etot = -27.9553511558614 -990000 ekin = 4.56207337975407 | erot = 3.92865148644803 | epot = -36.7375440238769 | etot = -28.2468191576748 -991000 ekin = 4.45863269474038 | erot = 3.99370804360135 | epot = -36.8046932644695 | etot = -28.3523525261278 -992000 ekin = 4.52516169638379 | erot = 4.19036473784521 | epot = -36.90459516699 | etot = -28.189068732761 -993000 ekin = 4.26593637771868 | erot = 4.55899726308546 | epot = -37.028392229238 | etot = -28.2034585884339 -994000 ekin = 4.14968593988764 | erot = 4.67871188882305 | epot = -37.1561829580787 | etot = -28.327785129368 -995000 ekin = 4.20875361665793 | erot = 4.51127733270572 | epot = -37.2858931380942 | etot = -28.5658621887305 -996000 ekin = 4.10968366764503 | erot = 4.2587192792391 | epot = -37.3745810703572 | etot = -29.006178123473 -997000 ekin = 4.00616178452013 | erot = 4.48911641516102 | epot = -37.4314666701193 | etot = -28.9361884704382 -998000 ekin = 4.02180091280217 | erot = 4.35841167717868 | epot = -37.4443636100146 | etot = -29.0641510200337 -999000 ekin = 4.07504562976173 | erot = 4.26230873450589 | epot = -37.4098012996895 | etot = -29.0724469354219 -1000000 ekin = 3.90433765201102 | erot = 4.668818882285 | epot = -37.3063332342176 | etot = -28.7331766999216 - 1000000 0.10411567 -1.4674304 0.032571422 -1.2846921 -6.6175275e-05 64000 -Loop time of 49.5478 on 4 procs for 1000000 steps with 26 atoms - -Performance: 17437.690 tau/day, 20182.512 timesteps/s -99.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 | 23.242 | 32.434 | 41.795 | 160.6 | 65.46 -Bond | 0.49597 | 0.66041 | 0.81294 | 18.0 | 1.33 -Neigh | 0.014073 | 0.014118 | 0.014157 | 0.0 | 0.03 -Comm | 3.3957 | 12.586 | 21.586 | 253.2 | 25.40 -Output | 0.12903 | 0.14424 | 0.15087 | 2.3 | 0.29 -Modify | 1.6058 | 2.2732 | 2.9387 | 44.1 | 4.59 -Other | | 1.436 | | | 2.90 - -Nlocal: 6.50000 ave 10 max 3 min -Histogram: 2 0 0 0 0 0 0 0 0 2 -Nghost: 19.5000 ave 23 max 16 min -Histogram: 2 0 0 0 0 0 0 0 0 2 -Neighs: 131.000 ave 195 max 67 min -Histogram: 2 0 0 0 0 0 0 0 0 2 - -Total # of neighbors = 524 -Ave neighs/atom = 20.153846 -Ave special neighs/atom = 5.0769231 -Neighbor list builds = 1000 -Dangerous builds = 0 - -write_data last_config.${number}.* nocoeff -write_data last_config.4.* nocoeff -System init for write_data ... -Total wall time: 0:00:49 diff --git a/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.27May21.duplex4.8type.g++1 b/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.27May21.duplex4.8type.g++1 deleted file mode 100644 index 64807e1037..0000000000 --- a/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.27May21.duplex4.8type.g++1 +++ /dev/null @@ -1,1271 +0,0 @@ -LAMMPS (27 May 2021) -variable number equal 8 -variable ofreq equal 1000 -variable efreq equal 1000 - -variable ntype equal 8 - -variable T equal 0.1 -variable rhos equal 0.2 - -units lj - -dimension 3 - -newton off - -boundary p p p - -atom_style hybrid bond ellipsoid oxdna -WARNING: Atom style hybrid defines both, per-type and per-atom masses; both must be set, but only per-atom masses will be used (../atom_vec_hybrid.cpp:157) -atom_modify sort 0 1.0 - -# Pair interactions require lists of neighbours to be calculated -neighbor 2.0 bin -neigh_modify every 10 delay 0 check yes - -read_data data.duplex4.8type -Reading data file ... - orthogonal box = (-20.000000 -20.000000 -20.000000) to (20.000000 20.000000 20.000000) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 26 atoms - reading velocities ... - 26 velocities - scanning bonds ... - 2 = max bonds/atom - 26 ellipsoids - reading bonds ... - 24 bonds -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 - 2 = max # of 1-3 neighbors - 4 = max # of 1-4 neighbors - 6 = max # of special neighbors - special bonds CPU = 0.000 seconds - read_data CPU = 0.003 seconds - -mass * 3.1575 # sets per-type mass if not in data file -set atom * mass 3.1575 # sets per-atom mass -Setting atom values ... - 26 settings made for mass - -group all type 1 8 -26 atoms in group all - -# oxDNA2 bond interactions - FENE backbone -bond_style oxdna2/fene -bond_coeff * 2.0 0.25 0.7564 -special_bonds lj 0 1 1 -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 1 1 - special bond factors coul: 0 0 0 - 2 = max # of 1-2 neighbors - 2 = max # of 1-3 neighbors - 4 = max # of 1-4 neighbors - 6 = max # of special neighbors - special bonds CPU = 0.000 seconds - -# oxDNA pair interactions -pair_style hybrid/overlay oxdna2/excv oxdna2/stk oxdna2/hbond oxdna2/xstk oxdna2/coaxstk oxdna2/dh -pair_coeff * * oxdna2/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32 -pair_coeff * * oxdna2/stk seqdep ${T} 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 -pair_coeff * * oxdna2/stk seqdep 0.1 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 -pair_coeff * * oxdna2/hbond seqdep 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 - -label loop -variable base loop ${ntype} -variable base loop 8 - variable basemod equal ${base}%4 - variable basemod equal 1%4 - if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" -variable comp equal ${base}+3 -variable comp equal 1+3 -pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 1 ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 1 4 oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 - if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" -next base -jump in.duplex4.8type loop -variable base loop ${ntype} -variable base loop 8 - variable basemod equal ${base}%4 - variable basemod equal 2%4 - if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" - if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" -variable comp equal ${base}+1 -variable comp equal 2+1 -pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 2 ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 2 3 oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -next base -jump in.duplex4.8type loop -variable base loop ${ntype} -variable base loop 8 - variable basemod equal ${base}%4 - variable basemod equal 3%4 - if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" - if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" -next base -jump in.duplex4.8type loop -variable base loop ${ntype} -variable base loop 8 - variable basemod equal ${base}%4 - variable basemod equal 4%4 - if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" - if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" -next base -jump in.duplex4.8type loop -variable base loop ${ntype} -variable base loop 8 - variable basemod equal ${base}%4 - variable basemod equal 5%4 - if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" -variable comp equal ${base}+3 -variable comp equal 5+3 -pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 5 ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 5 8 oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 - if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" -next base -jump in.duplex4.8type loop -variable base loop ${ntype} -variable base loop 8 - variable basemod equal ${base}%4 - variable basemod equal 6%4 - if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" - if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" -variable comp equal ${base}+1 -variable comp equal 6+1 -pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 6 ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 6 7 oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -next base -jump in.duplex4.8type loop -variable base loop ${ntype} -variable base loop 8 - variable basemod equal ${base}%4 - variable basemod equal 7%4 - if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" - if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" -next base -jump in.duplex4.8type loop -variable base loop ${ntype} -variable base loop 8 - variable basemod equal ${base}%4 - variable basemod equal 8%4 - if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" - if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" -next base -jump in.duplex4.8type loop - -pair_coeff * * oxdna2/xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68 -pair_coeff * * oxdna2/coaxstk 58.5 0.4 0.6 0.22 0.58 2.0 2.891592653589793 0.65 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 40.0 3.116592653589793 -pair_coeff * * oxdna2/dh ${T} ${rhos} 0.815 -pair_coeff * * oxdna2/dh 0.1 ${rhos} 0.815 -pair_coeff * * oxdna2/dh 0.1 0.2 0.815 - -# Langevin dynamics -fix 1 all nve/asphere -fix 2 all langevin ${T} ${T} 2.5 457145 angmom 10 -fix 2 all langevin 0.1 ${T} 2.5 457145 angmom 10 -fix 2 all langevin 0.1 0.1 2.5 457145 angmom 10 - -timestep 1e-5 - -#comm_style tiled -fix 3 all balance 1000 1.03 shift xyz 10 1.03 -comm_modify cutoff 3.8 - -compute quat all property/atom quatw quati quatj quatk - -compute erot all erotate/asphere -compute ekin all ke -compute epot all pe -variable erot equal c_erot -variable ekin equal c_ekin -variable epot equal c_epot -variable etot equal c_erot+c_ekin+c_epot -fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes -fix 5 all print 1000 "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes - -dump out all custom ${ofreq} out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz -dump out all custom 1000 out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz -dump out all custom 1000 out.8.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz -dump_modify out sort id -dump_modify out format line "%d %d %d %22.15le %22.15le %22.15le %d %d %d %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le" - -run 1000000 -Neighbor list info ... - update every 10 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 5.6389877 - ghost atom cutoff = 5.6389877 - binsize = 2.8194939, bins = 15 15 15 - 5 neighbor lists, perpetual/occasional/extra = 5 0 0 - (1) pair oxdna2/excv, perpetual - attributes: half, newton off - pair build: half/bin/newtoff - stencil: full/bin/3d - bin: standard - (2) pair oxdna2/hbond, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (3) pair oxdna2/xstk, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (4) pair oxdna2/coaxstk, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (5) pair oxdna2/dh, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none -WARNING: Communication cutoff adjusted to 5.638987723814632 (../comm.cpp:739) -0 ekin = 3.74991604702378 | erot = 3.45272678980464 | epot = -37.374200901142 | etot = -30.1715580643136 -Per MPI rank memory allocation (min/avg/max) = 9.578 | 9.578 | 9.578 Mbytes -Step Temp E_pair E_mol TotEng Press Volume - 0 0.099997761 -1.4717559 0.03428661 -1.2932417 5.6146609e-05 64000 -1000 ekin = 3.83184879800819 | erot = 3.50203401022061 | epot = -37.4730508915114 | etot = -30.1391680832826 -2000 ekin = 3.82227374831519 | erot = 3.79878100905234 | epot = -37.616191007464 | etot = -29.9951362500965 -3000 ekin = 3.90938932030971 | erot = 4.1584025695072 | epot = -37.7430329723255 | etot = -29.6752410825086 -4000 ekin = 3.82373321902577 | erot = 4.12183047279799 | epot = -37.8313543569025 | etot = -29.8857906650788 -5000 ekin = 3.7245469506492 | erot = 4.29953523687407 | epot = -37.8617217220935 | etot = -29.8376395345702 -6000 ekin = 3.75585156536887 | erot = 4.31270713695362 | epot = -37.8280629310505 | etot = -29.759504228728 -7000 ekin = 3.79326740841051 | erot = 4.16508360466874 | epot = -37.7640947397914 | etot = -29.8057437267121 -8000 ekin = 3.74746489835263 | erot = 4.25243425677965 | epot = -37.6835135449588 | etot = -29.6836143898265 -9000 ekin = 3.70802697723782 | erot = 4.00193184819408 | epot = -37.589938820096 | etot = -29.8799799946641 -10000 ekin = 3.5813559764108 | erot = 3.86411518632768 | epot = -37.5041732418664 | etot = -30.0587020791279 -11000 ekin = 3.45122934445656 | erot = 4.17035352993105 | epot = -37.485988256137 | etot = -29.8644053817494 -12000 ekin = 3.42435863038455 | erot = 4.2148747253892 | epot = -37.5307136425246 | etot = -29.8914802867509 -13000 ekin = 3.40216979362994 | erot = 4.07292918248778 | epot = -37.6378499557145 | etot = -30.1627509795968 -14000 ekin = 3.29213315521691 | erot = 4.50441987673247 | epot = -37.7761364031321 | etot = -29.9795833711827 -15000 ekin = 3.36883179726037 | erot = 4.91359031415189 | epot = -37.9357367952089 | etot = -29.6533146837967 -16000 ekin = 3.30177911852249 | erot = 5.0959341599744 | epot = -38.143737189117 | etot = -29.7460239106201 -17000 ekin = 3.27867865291038 | erot = 5.45789581601547 | epot = -38.3785999463332 | etot = -29.6420254774074 -18000 ekin = 3.36770908750654 | erot = 5.63036493519876 | epot = -38.5970397067551 | etot = -29.5989656840498 -19000 ekin = 3.29802639540141 | erot = 5.45616396083943 | epot = -38.7810833463914 | etot = -30.0268929901506 -20000 ekin = 3.28760849058064 | erot = 5.26031945979087 | epot = -38.9429500949467 | etot = -30.3950221445752 -21000 ekin = 3.32772748450134 | erot = 5.34990394778083 | epot = -39.0618181252057 | etot = -30.3841866929235 -22000 ekin = 3.34298346296243 | erot = 5.12273250375892 | epot = -39.1360899153794 | etot = -30.670373948658 -23000 ekin = 3.38280280428754 | erot = 5.14933572496704 | epot = -39.1974651493047 | etot = -30.6653266200501 -24000 ekin = 3.43991273776908 | erot = 5.03737353653106 | epot = -39.2427818934623 | etot = -30.7654956191621 -25000 ekin = 3.44382800915661 | erot = 4.56194227438371 | epot = -39.2491545805195 | etot = -31.2433842969791 -26000 ekin = 3.47220361933917 | erot = 4.88028216050144 | epot = -39.2033487475128 | etot = -30.8508629676722 -27000 ekin = 3.47824341108208 | erot = 4.79713670041817 | epot = -39.1340731989048 | etot = -30.8586930874045 -28000 ekin = 3.54835351423495 | erot = 4.6549460773945 | epot = -39.0768463918722 | etot = -30.8735468002427 -29000 ekin = 3.57491058588771 | erot = 4.31737192689198 | epot = -39.0420895500443 | etot = -31.1498070372646 -30000 ekin = 3.51438036654854 | erot = 4.50861299911588 | epot = -39.0276136699747 | etot = -31.0046203043103 -31000 ekin = 3.57650331888537 | erot = 4.40811531091205 | epot = -39.0168289246977 | etot = -31.0322102949003 -32000 ekin = 3.70658082522062 | erot = 4.15949186201365 | epot = -39.017410963825 | etot = -31.1513382765907 -33000 ekin = 3.83721022661993 | erot = 4.05055961618764 | epot = -39.0303039022728 | etot = -31.1425340594653 -34000 ekin = 3.9488588066567 | erot = 3.81495459058985 | epot = -39.0180833389346 | etot = -31.2542699416881 -35000 ekin = 3.97994525138311 | erot = 4.49904715736237 | epot = -38.9543629321031 | etot = -30.4753705233576 -36000 ekin = 3.90049506438254 | erot = 3.99723351860171 | epot = -38.8736492127443 | etot = -30.97592062976 -37000 ekin = 4.00119032736875 | erot = 4.30070706410094 | epot = -38.7576942972652 | etot = -30.4557969057955 -38000 ekin = 4.00581796835635 | erot = 3.82064458204037 | epot = -38.6053485149963 | etot = -30.7788859645996 -39000 ekin = 3.92374370666481 | erot = 3.80679256085699 | epot = -38.4357174066365 | etot = -30.7051811391147 -40000 ekin = 3.81525591020234 | erot = 3.60218215391064 | epot = -38.2889289083717 | etot = -30.8714908442588 -41000 ekin = 3.89801377589288 | erot = 3.52447171643245 | epot = -38.2033074629499 | etot = -30.7808219706246 -42000 ekin = 3.92469802136758 | erot = 3.7220708309091 | epot = -38.1843497161944 | etot = -30.5375808639177 -43000 ekin = 3.9035581905627 | erot = 3.65375269274892 | epot = -38.2197716832792 | etot = -30.6624607999676 -44000 ekin = 3.94906849382527 | erot = 3.48405507068381 | epot = -38.2852323155718 | etot = -30.8521087510627 -45000 ekin = 4.04988136986444 | erot = 3.38338492043344 | epot = -38.3792178397491 | etot = -30.9459515494513 -46000 ekin = 4.12456204511551 | erot = 3.52614566674481 | epot = -38.4473213411913 | etot = -30.796613629331 -47000 ekin = 4.05260082430176 | erot = 3.30110271195189 | epot = -38.4808326895797 | etot = -31.127129153326 -48000 ekin = 3.94672633965036 | erot = 3.3079094466035 | epot = -38.4845357728863 | etot = -31.2298999866324 -49000 ekin = 3.88681575217737 | erot = 3.7826220382333 | epot = -38.441512853504 | etot = -30.7720750630934 -50000 ekin = 3.82899985395713 | erot = 3.78573156370331 | epot = -38.3450518110651 | etot = -30.7303203934047 -51000 ekin = 3.8440574703342 | erot = 3.5318167647978 | epot = -38.2059734024446 | etot = -30.8300991673126 -52000 ekin = 3.72257170524991 | erot = 3.44233441463351 | epot = -38.0493176755068 | etot = -30.8844115556234 -53000 ekin = 3.58458805955591 | erot = 3.40175184254422 | epot = -37.8770316144348 | etot = -30.8906917123346 -54000 ekin = 3.42774104644871 | erot = 3.019334453294 | epot = -37.7242775274777 | etot = -31.277202027735 -55000 ekin = 3.30773758120279 | erot = 3.11354928843073 | epot = -37.5844277892892 | etot = -31.1631409196556 -56000 ekin = 3.30267684217519 | erot = 3.36746893036052 | epot = -37.4528615341921 | etot = -30.7827157616564 -57000 ekin = 3.19775481140565 | erot = 3.06235541109216 | epot = -37.3795633131474 | etot = -31.1194530906496 -58000 ekin = 3.11776701522974 | erot = 3.21225050262699 | epot = -37.3545495658646 | etot = -31.0245320480079 -59000 ekin = 3.02660076850685 | erot = 3.05700513362467 | epot = -37.3753385948442 | etot = -31.2917326927127 -60000 ekin = 3.05479252149933 | erot = 3.09854486170695 | epot = -37.4441725320784 | etot = -31.2908351488721 -61000 ekin = 3.0170447679161 | erot = 3.76451997765653 | epot = -37.5384296958522 | etot = -30.7568649502795 -62000 ekin = 3.04313706615767 | erot = 3.65046217125996 | epot = -37.6255736746588 | etot = -30.9319744372411 -63000 ekin = 3.01457068009159 | erot = 3.63417424777149 | epot = -37.6954625017368 | etot = -31.0467175738737 -64000 ekin = 2.98716002899792 | erot = 3.6682341307717 | epot = -37.7940816265088 | etot = -31.1386874667392 -65000 ekin = 3.02462936411614 | erot = 3.70957377344581 | epot = -37.8868266007907 | etot = -31.1526234632287 -66000 ekin = 3.04943307417966 | erot = 3.64749592963954 | epot = -37.9385532609816 | etot = -31.2416242571625 -67000 ekin = 3.1066499876682 | erot = 3.92441992350054 | epot = -37.9686488739492 | etot = -30.9375789627804 -68000 ekin = 3.10508542338566 | erot = 3.51781674899961 | epot = -37.9831132441551 | etot = -31.3602110717698 -69000 ekin = 3.12460161346405 | erot = 3.45336993587922 | epot = -38.016048039057 | etot = -31.4380764897137 -70000 ekin = 3.2758656602578 | erot = 2.9433048812549 | epot = -38.0712687269606 | etot = -31.8520981854479 -71000 ekin = 3.39211310061244 | erot = 2.74512861011507 | epot = -38.1409313278077 | etot = -32.0036896170801 -72000 ekin = 3.40645093836715 | erot = 2.75927481548162 | epot = -38.2448895790434 | etot = -32.0791638251946 -73000 ekin = 3.52971008848809 | erot = 2.59006671029947 | epot = -38.3559671032089 | etot = -32.2361903044213 -74000 ekin = 3.64539698532463 | erot = 2.94116909218571 | epot = -38.4934235930849 | etot = -31.9068575155746 -75000 ekin = 3.801696795608 | erot = 3.11004664709642 | epot = -38.6561648833572 | etot = -31.7444214406528 -76000 ekin = 3.86343004207976 | erot = 3.33165114941781 | epot = -38.7892518002905 | etot = -31.5941706087929 -77000 ekin = 3.90472352035102 | erot = 3.31177401193371 | epot = -38.8678679983232 | etot = -31.6513704660385 -78000 ekin = 3.9269153046816 | erot = 3.25784074314334 | epot = -38.8969605625463 | etot = -31.7122045147213 -79000 ekin = 3.93607959529908 | erot = 3.16472395725651 | epot = -38.8636036578362 | etot = -31.7628001052806 -80000 ekin = 3.92375596570378 | erot = 3.03932991445862 | epot = -38.7678348516125 | etot = -31.8047489714501 -81000 ekin = 3.94307777153344 | erot = 2.88134017144298 | epot = -38.6473318824763 | etot = -31.8229139394999 -82000 ekin = 3.86696228915961 | erot = 2.89149309255461 | epot = -38.5199433915521 | etot = -31.7614880098378 -83000 ekin = 3.6081427560926 | erot = 2.81572010912292 | epot = -38.3996592376439 | etot = -31.9757963724284 -84000 ekin = 3.71373301448703 | erot = 2.72793818704548 | epot = -38.3011883980017 | etot = -31.8595171964692 -85000 ekin = 3.50951070251159 | erot = 2.79348490714941 | epot = -38.2117363909516 | etot = -31.9087407812906 -86000 ekin = 3.47308524750452 | erot = 3.12141964520655 | epot = -38.1244236248809 | etot = -31.5299187321698 -87000 ekin = 3.47440394227045 | erot = 3.04160702571501 | epot = -38.0440539828501 | etot = -31.5280430148646 -88000 ekin = 3.44172477689074 | erot = 2.9990722717108 | epot = -37.985933210493 | etot = -31.5451361618915 -89000 ekin = 3.46547245050653 | erot = 3.42367325086154 | epot = -37.9432140623316 | etot = -31.0540683609635 -90000 ekin = 3.47276106924418 | erot = 3.41105238494323 | epot = -37.9009776655539 | etot = -31.0171642113665 -91000 ekin = 3.31717291023281 | erot = 4.00503611404964 | epot = -37.8509086765272 | etot = -30.5286996522448 -92000 ekin = 3.30281925189457 | erot = 3.78657692130456 | epot = -37.8308149894368 | etot = -30.7414188162377 -93000 ekin = 3.23932364656724 | erot = 3.46021357148709 | epot = -37.8328101558439 | etot = -31.1332729377896 -94000 ekin = 3.19291152023926 | erot = 3.36401906457213 | epot = -37.8297890174383 | etot = -31.2728584326269 -95000 ekin = 3.11174095364039 | erot = 3.84559531996385 | epot = -37.8285495206063 | etot = -30.871213247002 -96000 ekin = 3.08253957616711 | erot = 4.19970849347949 | epot = -37.8307056468836 | etot = -30.548457577237 -97000 ekin = 3.01019162595086 | erot = 4.79435511235201 | epot = -37.8474383063021 | etot = -30.0428915679993 -98000 ekin = 2.95004498340949 | erot = 4.45721895779629 | epot = -37.8489202082855 | etot = -30.4416562670797 -99000 ekin = 2.91563074020307 | erot = 4.14781823161594 | epot = -37.8396252499933 | etot = -30.7761762781743 -100000 ekin = 2.90648603235873 | erot = 3.81215086067846 | epot = -37.7900595351461 | etot = -31.0714226421089 -101000 ekin = 2.85218071196321 | erot = 3.48991910340801 | epot = -37.7570245236791 | etot = -31.4149247083079 -102000 ekin = 2.86052427330306 | erot = 3.57587365782281 | epot = -37.7214005697291 | etot = -31.2850026386032 -103000 ekin = 2.8891327192239 | erot = 3.41748118405775 | epot = -37.6983180369494 | etot = -31.3917041336678 -104000 ekin = 2.81650081212178 | erot = 3.64361039549593 | epot = -37.6651320682074 | etot = -31.2050208605896 -105000 ekin = 2.79823699847459 | erot = 3.35865525277727 | epot = -37.6511913094719 | etot = -31.4942990582201 -106000 ekin = 2.78255015161699 | erot = 3.64122601097051 | epot = -37.6357012767033 | etot = -31.2119251141158 -107000 ekin = 2.88530590298807 | erot = 3.80038887689837 | epot = -37.6526611371133 | etot = -30.9669663572269 -108000 ekin = 2.83844762508153 | erot = 3.95272494897021 | epot = -37.7224292501162 | etot = -30.9312566760645 -109000 ekin = 2.91484982662488 | erot = 4.34544884566574 | epot = -37.8436434051328 | etot = -30.5833447328422 -110000 ekin = 2.93667443132402 | erot = 4.67698362049716 | epot = -37.9759529936705 | etot = -30.3622949418493 -111000 ekin = 3.11047864616464 | erot = 4.30694673133238 | epot = -38.1028692919236 | etot = -30.6854439144265 -112000 ekin = 3.32630420939175 | erot = 4.07222830175948 | epot = -38.2330557688864 | etot = -30.8345232577351 -113000 ekin = 3.38238157246172 | erot = 4.25399862575992 | epot = -38.4031841501304 | etot = -30.7668039519087 -114000 ekin = 3.40165200205494 | erot = 4.30744946748784 | epot = -38.6070332241658 | etot = -30.897931754623 -115000 ekin = 3.57685598139984 | erot = 4.55740206723824 | epot = -38.8200433287838 | etot = -30.6857852801457 -116000 ekin = 3.75973031177342 | erot = 4.36157654592901 | epot = -39.0323085624547 | etot = -30.9110017047523 -117000 ekin = 4.08170792820106 | erot = 4.22817627757005 | epot = -39.2374888319018 | etot = -30.9276046261307 -118000 ekin = 4.20730049786356 | erot = 4.45363628574763 | epot = -39.4247594107618 | etot = -30.7638226271506 -119000 ekin = 4.26502745539808 | erot = 4.38707691524364 | epot = -39.5609276649307 | etot = -30.908823294289 -120000 ekin = 4.18668022830479 | erot = 4.24219249569083 | epot = -39.6276325806845 | etot = -31.1987598566889 -121000 ekin = 4.37673633947888 | erot = 4.44899930150558 | epot = -39.5989335189463 | etot = -30.7731978779618 -122000 ekin = 4.38970640566175 | erot = 4.08524736298497 | epot = -39.5011631447288 | etot = -31.0262093760821 -123000 ekin = 4.42858502015388 | erot = 3.3866674865171 | epot = -39.3700347945818 | etot = -31.5547822879108 -124000 ekin = 4.41843242629726 | erot = 3.2990259988492 | epot = -39.2496495732995 | etot = -31.5321911481531 -125000 ekin = 4.26174945235079 | erot = 3.29673673713418 | epot = -39.1012418833315 | etot = -31.5427556938465 -126000 ekin = 4.24892047563245 | erot = 3.36728042977254 | epot = -38.9439369649169 | etot = -31.3277360595119 -127000 ekin = 4.20697642244211 | erot = 3.24776092764455 | epot = -38.7860930134988 | etot = -31.3313556634122 -128000 ekin = 4.05115550712502 | erot = 3.47679598409542 | epot = -38.6330582994879 | etot = -31.1051068082675 -129000 ekin = 4.05771564566357 | erot = 3.55109790126645 | epot = -38.5073350485465 | etot = -30.8985215016165 -130000 ekin = 3.96453894213024 | erot = 3.53313522266287 | epot = -38.391565950826 | etot = -30.8938917860329 -131000 ekin = 3.98900505769185 | erot = 3.64077310068002 | epot = -38.2786451293433 | etot = -30.6488669709715 -132000 ekin = 3.73079609117297 | erot = 3.73126171283416 | epot = -38.1409399456635 | etot = -30.6788821416564 -133000 ekin = 3.65247250435604 | erot = 3.53430985836842 | epot = -38.0235035134258 | etot = -30.8367211507014 -134000 ekin = 3.69649402588234 | erot = 3.97356364722734 | epot = -37.9278485959381 | etot = -30.2577909228284 -135000 ekin = 3.57147615494151 | erot = 4.00472599145957 | epot = -37.8397002442412 | etot = -30.2634980978401 -136000 ekin = 3.54164301577371 | erot = 3.88237062104613 | epot = -37.7460882463412 | etot = -30.3220746095214 -137000 ekin = 3.41247180964225 | erot = 3.32750587829706 | epot = -37.624611292303 | etot = -30.8846336043637 -138000 ekin = 3.46206567288778 | erot = 3.47277237990371 | epot = -37.562116148782 | etot = -30.6272780959905 -139000 ekin = 3.46179863350055 | erot = 3.29345554522848 | epot = -37.5218039357363 | etot = -30.7665497570072 -140000 ekin = 3.57268233853845 | erot = 3.52021546572331 | epot = -37.4799882832129 | etot = -30.3870904789511 -141000 ekin = 3.48030321137918 | erot = 3.69147952189479 | epot = -37.4842309048151 | etot = -30.3124481715412 -142000 ekin = 3.63349703801688 | erot = 3.72222694231689 | epot = -37.5326170636814 | etot = -30.1768930833476 -143000 ekin = 3.71391772492725 | erot = 3.32855653910442 | epot = -37.5715573506383 | etot = -30.5290830866066 -144000 ekin = 3.59876610372653 | erot = 3.57133292531719 | epot = -37.6083426167156 | etot = -30.4382435876719 -145000 ekin = 3.5512989873801 | erot = 3.38442665443486 | epot = -37.645703742064 | etot = -30.709978100249 -146000 ekin = 3.57274630492877 | erot = 3.74306660671644 | epot = -37.691839929883 | etot = -30.3760270182378 -147000 ekin = 3.5117518000457 | erot = 4.0750620350483 | epot = -37.7115891932223 | etot = -30.1247753581283 -148000 ekin = 3.52194530375138 | erot = 4.22438638639834 | epot = -37.7453589028592 | etot = -29.9990272127095 -149000 ekin = 3.43829227837994 | erot = 4.25032155928027 | epot = -37.7800675049656 | etot = -30.0914536673054 -150000 ekin = 3.39573759305128 | erot = 4.12519198982267 | epot = -37.7779101405858 | etot = -30.2569805577119 -151000 ekin = 3.38494817974853 | erot = 3.91154836764821 | epot = -37.7346130185548 | etot = -30.4381164711581 -152000 ekin = 3.3392823348606 | erot = 3.82420376901226 | epot = -37.692306373128 | etot = -30.5288202692551 -153000 ekin = 3.38955645731951 | erot = 3.72251905459204 | epot = -37.6703717263954 | etot = -30.5582962144839 -154000 ekin = 3.40170171151684 | erot = 3.95270448125714 | epot = -37.678389708439 | etot = -30.323983515665 -155000 ekin = 3.44581188687109 | erot = 3.52528589615975 | epot = -37.7593041359925 | etot = -30.7882063529616 -156000 ekin = 3.55410349285978 | erot = 3.68359553101928 | epot = -37.8946612865558 | etot = -30.6569622626767 -157000 ekin = 3.67740663285557 | erot = 3.73708949692863 | epot = -38.0406477694048 | etot = -30.6261516396206 -158000 ekin = 3.70912292320975 | erot = 3.62418205239296 | epot = -38.1900046609472 | etot = -30.8566996853445 -159000 ekin = 3.68532826191219 | erot = 3.87298071798096 | epot = -38.2928836797074 | etot = -30.7345746998143 -160000 ekin = 3.72002440516707 | erot = 4.11592492943231 | epot = -38.3652902740975 | etot = -30.5293409394981 -161000 ekin = 3.73388863499049 | erot = 4.42836121024192 | epot = -38.4373191354185 | etot = -30.2750692901861 -162000 ekin = 4.02523829931051 | erot = 4.86807694190568 | epot = -38.4975346699526 | etot = -29.6042194287364 -163000 ekin = 4.03311015138293 | erot = 4.78291233450127 | epot = -38.5597523007636 | etot = -29.7437298148794 -164000 ekin = 4.13350042233596 | erot = 5.01454292769814 | epot = -38.5888368946085 | etot = -29.4407935445744 -165000 ekin = 4.25718467214142 | erot = 4.92225725319178 | epot = -38.5829201612761 | etot = -29.4034782359429 -166000 ekin = 4.11013815046467 | erot = 4.53806000830091 | epot = -38.5467907483034 | etot = -29.8985925895378 -167000 ekin = 4.08710467384557 | erot = 4.20997030650441 | epot = -38.4814936158367 | etot = -30.1844186354868 -168000 ekin = 4.03924000036824 | erot = 3.95993274976389 | epot = -38.3759188508994 | etot = -30.3767461007673 -169000 ekin = 3.94917218886625 | erot = 3.65240127094113 | epot = -38.2594355677077 | etot = -30.6578621079003 -170000 ekin = 3.90935554205295 | erot = 3.78797512477882 | epot = -38.1835201359158 | etot = -30.486189469084 -171000 ekin = 3.87732504895437 | erot = 4.28652570004447 | epot = -38.1402484566641 | etot = -29.9763977076653 -172000 ekin = 3.75957929171811 | erot = 4.02272820820135 | epot = -38.1557340618709 | etot = -30.3734265619515 -173000 ekin = 3.55030915228991 | erot = 4.03115995993289 | epot = -38.2480280629193 | etot = -30.6665589506965 -174000 ekin = 3.61281225750305 | erot = 4.30402685904732 | epot = -38.3795080285351 | etot = -30.4626689119848 -175000 ekin = 3.56741376549368 | erot = 4.24945045724327 | epot = -38.512592945838 | etot = -30.695728723101 -176000 ekin = 3.69966296688439 | erot = 4.22673264606626 | epot = -38.613145916328 | etot = -30.6867503033774 -177000 ekin = 3.72329334774794 | erot = 4.3963702174486 | epot = -38.6555013846404 | etot = -30.5358378194439 -178000 ekin = 3.79919357666777 | erot = 4.00194735045323 | epot = -38.66205820756 | etot = -30.860917280439 -179000 ekin = 3.78008346787866 | erot = 4.05267692212517 | epot = -38.6224110467894 | etot = -30.7896506567856 -180000 ekin = 3.84388711467654 | erot = 3.7091612553256 | epot = -38.5399848480518 | etot = -30.9869364780497 -181000 ekin = 3.78854199589324 | erot = 3.43025530256464 | epot = -38.4472679874806 | etot = -31.2284706890227 -182000 ekin = 3.65298336461987 | erot = 3.41446703840053 | epot = -38.3421256904841 | etot = -31.2746752874636 -183000 ekin = 3.57592466495276 | erot = 3.54000226366919 | epot = -38.2342661287445 | etot = -31.1183392001226 -184000 ekin = 3.59097293869165 | erot = 3.49764131752706 | epot = -38.1237685559037 | etot = -31.035154299685 -185000 ekin = 3.59874593561893 | erot = 3.34180949424636 | epot = -38.034561395544 | etot = -31.0940059656787 -186000 ekin = 3.55637392703386 | erot = 3.60010534755649 | epot = -37.9685691221059 | etot = -30.8120898475155 -187000 ekin = 3.30341471869178 | erot = 3.63282669533315 | epot = -37.9082034969873 | etot = -30.9719620829624 -188000 ekin = 3.25151380843724 | erot = 3.41587081506784 | epot = -37.8374520507026 | etot = -31.1700674271975 -189000 ekin = 3.09888859581596 | erot = 3.51324139411321 | epot = -37.7831379378027 | etot = -31.1710079478736 -190000 ekin = 2.93096647890479 | erot = 3.73100049541747 | epot = -37.7090579094218 | etot = -31.0470909350995 -191000 ekin = 2.78845789536297 | erot = 3.59181404756272 | epot = -37.6234731970087 | etot = -31.243201254083 -192000 ekin = 2.6870850400641 | erot = 3.91911783313644 | epot = -37.5268833853882 | etot = -30.9206805121877 -193000 ekin = 2.65091164661283 | erot = 3.82754219131909 | epot = -37.4213833049328 | etot = -30.9429294670009 -194000 ekin = 2.55372434146197 | erot = 3.81228833556049 | epot = -37.3433541779818 | etot = -30.9773415009593 -195000 ekin = 2.54515296633903 | erot = 3.77157425987469 | epot = -37.2550689450338 | etot = -30.93834171882 -196000 ekin = 2.57228739351373 | erot = 3.48448370430651 | epot = -37.1707275909679 | etot = -31.1139564931476 -197000 ekin = 2.47659034250724 | erot = 3.3178807523235 | epot = -37.1125490303325 | etot = -31.3180779355017 -198000 ekin = 2.47817611131603 | erot = 3.41593598489791 | epot = -37.0628542395746 | etot = -31.1687421433607 -199000 ekin = 2.46398696321841 | erot = 3.79330738397075 | epot = -37.0410272717133 | etot = -30.7837329245241 -200000 ekin = 2.66032750534599 | erot = 3.50045834258025 | epot = -37.0560186461539 | etot = -30.8952327982277 -201000 ekin = 2.82925423269706 | erot = 3.87280363693021 | epot = -37.1094527749142 | etot = -30.4073949052869 -202000 ekin = 2.87690134773418 | erot = 3.73724666810618 | epot = -37.1548849140445 | etot = -30.5407368982041 -203000 ekin = 3.09789929071276 | erot = 3.5468763526948 | epot = -37.1913390618664 | etot = -30.5465634184588 -204000 ekin = 3.22497830820396 | erot = 3.52082166300899 | epot = -37.2064645595877 | etot = -30.4606645883747 -205000 ekin = 3.08968228459861 | erot = 3.62768693137644 | epot = -37.2539593887054 | etot = -30.5365901727303 -206000 ekin = 3.11014150174799 | erot = 3.7385678659097 | epot = -37.3166778706671 | etot = -30.4679685030094 -207000 ekin = 3.1829453735337 | erot = 4.25652712659364 | epot = -37.3463184168163 | etot = -29.9068459166889 -208000 ekin = 3.18396090757435 | erot = 4.43896014450647 | epot = -37.3566061410103 | etot = -29.7336850889295 -209000 ekin = 3.31348354672036 | erot = 3.97662877739666 | epot = -37.3764215045059 | etot = -30.0863091803889 -210000 ekin = 3.17486958285111 | erot = 3.68714944924479 | epot = -37.3622513109276 | etot = -30.5002322788317 -211000 ekin = 3.24777381738383 | erot = 3.39112189744184 | epot = -37.3847088569506 | etot = -30.7458131421249 -212000 ekin = 3.1218235472922 | erot = 3.15133571404841 | epot = -37.4262282165351 | etot = -31.1530689551944 -213000 ekin = 3.12323090197305 | erot = 3.03298058440252 | epot = -37.4993866522037 | etot = -31.3431751658281 -214000 ekin = 3.02782055391862 | erot = 3.51893074263816 | epot = -37.6187398888692 | etot = -31.0719885923124 -215000 ekin = 3.08902625374248 | erot = 3.6205495251311 | epot = -37.8003692924877 | etot = -31.0907935136142 -216000 ekin = 3.04029181666715 | erot = 4.36545701920723 | epot = -38.008684651192 | etot = -30.6029358153176 -217000 ekin = 3.11869416684302 | erot = 4.23835788568566 | epot = -38.175518074188 | etot = -30.8184660216593 -218000 ekin = 3.12136726795469 | erot = 3.996273681316 | epot = -38.3382201370156 | etot = -31.2205791877449 -219000 ekin = 3.24749965239936 | erot = 4.03289859762057 | epot = -38.4910930976407 | etot = -31.2106948476207 -220000 ekin = 3.19731650656636 | erot = 4.16726840142139 | epot = -38.6410163306452 | etot = -31.2764314226575 -221000 ekin = 3.14591003185417 | erot = 4.47643673281146 | epot = -38.7807221211561 | etot = -31.1583753564904 -222000 ekin = 3.06194834255762 | erot = 4.40957176775777 | epot = -38.8960295960945 | etot = -31.4245094857791 -223000 ekin = 3.09392792198329 | erot = 4.36929377800849 | epot = -38.9696160320109 | etot = -31.5063943320191 -224000 ekin = 3.18434099924859 | erot = 4.67414126058087 | epot = -39.0019773177328 | etot = -31.1434950579034 -225000 ekin = 3.26887097312568 | erot = 4.32849031089059 | epot = -39.0446790784002 | etot = -31.4473177943839 -226000 ekin = 3.21195731331507 | erot = 5.11387401999727 | epot = -39.0947841174991 | etot = -30.7689527841868 -227000 ekin = 3.12036258026493 | erot = 5.06347912205035 | epot = -39.0762383614625 | etot = -30.8923966591473 -228000 ekin = 3.09996729726211 | erot = 5.29564700287474 | epot = -39.020898871325 | etot = -30.6252845711882 -229000 ekin = 3.038979337959 | erot = 5.24780237112316 | epot = -38.9575212211327 | etot = -30.6707395120505 -230000 ekin = 3.00051887289145 | erot = 4.62162674048173 | epot = -38.9098464143819 | etot = -31.2877008010087 -231000 ekin = 2.91912781370869 | erot = 4.1632154756593 | epot = -38.8503568044397 | etot = -31.7680135150717 -232000 ekin = 2.80548407611273 | erot = 4.26963451717883 | epot = -38.7971045932123 | etot = -31.7219859999207 -233000 ekin = 2.921352071703 | erot = 4.30663886521624 | epot = -38.7943069633022 | etot = -31.5663160263829 -234000 ekin = 2.89875675710069 | erot = 4.15218445741156 | epot = -38.7953536145697 | etot = -31.7444124000574 -235000 ekin = 2.99243729544443 | erot = 3.66858116296991 | epot = -38.7881689836611 | etot = -32.1271505252468 -236000 ekin = 3.05722012426339 | erot = 3.77007572255966 | epot = -38.8307946718327 | etot = -32.0034988250097 -237000 ekin = 2.9379768603675 | erot = 4.00589644921924 | epot = -38.9299465153368 | etot = -31.9860732057501 -238000 ekin = 2.94144352009249 | erot = 3.88111097233611 | epot = -39.049865747263 | etot = -32.2273112548344 -239000 ekin = 3.10382951223872 | erot = 3.96380163382862 | epot = -39.1526703213399 | etot = -32.0850391752726 -240000 ekin = 3.05998182778603 | erot = 4.32395093282876 | epot = -39.2052189603878 | etot = -31.821286199773 -241000 ekin = 3.07091800265519 | erot = 4.10063821004071 | epot = -39.2356744872186 | etot = -32.0641182745227 -242000 ekin = 2.97211136503678 | erot = 4.19271702506008 | epot = -39.2591861941866 | etot = -32.0943578040897 -243000 ekin = 2.88784895332254 | erot = 4.01063377556437 | epot = -39.2721844581365 | etot = -32.3737017292496 -244000 ekin = 2.72034159299268 | erot = 3.94970789536676 | epot = -39.2969463203695 | etot = -32.62689683201 -245000 ekin = 2.73288139378785 | erot = 4.2955252560862 | epot = -39.3467303394195 | etot = -32.3183236895454 -246000 ekin = 2.68282749729222 | erot = 4.4395870918117 | epot = -39.40368508993 | etot = -32.2812705008261 -247000 ekin = 2.73156079717722 | erot = 4.29997633507679 | epot = -39.4831744493475 | etot = -32.4516373170935 -248000 ekin = 2.71615239962783 | erot = 4.48384110145858 | epot = -39.562569036112 | etot = -32.3625755350256 -249000 ekin = 2.72571373834887 | erot = 4.53350194835673 | epot = -39.6161562336933 | etot = -32.3569405469877 -250000 ekin = 2.67302825179687 | erot = 5.17929377781993 | epot = -39.6758534551746 | etot = -31.8235314255578 -251000 ekin = 2.65073658987032 | erot = 5.39364408144152 | epot = -39.7013652486053 | etot = -31.6569845772935 -252000 ekin = 2.81604561937354 | erot = 5.50799647083818 | epot = -39.6939189845584 | etot = -31.3698768943466 -253000 ekin = 2.83629985586584 | erot = 4.91166111825353 | epot = -39.6825773475312 | etot = -31.9346163734119 -254000 ekin = 2.79908189634042 | erot = 4.88281944777358 | epot = -39.6620010988141 | etot = -31.9800997547001 -255000 ekin = 2.84238496514407 | erot = 4.79166487708071 | epot = -39.6680683880921 | etot = -32.0340185458674 -256000 ekin = 2.82611571908345 | erot = 4.38756969310689 | epot = -39.7220228798982 | etot = -32.5083374677078 -257000 ekin = 2.78077325096868 | erot = 4.56426394538529 | epot = -39.765795760232 | etot = -32.420758563878 -258000 ekin = 2.84466353932839 | erot = 4.94939241805623 | epot = -39.7743058264471 | etot = -31.9802498690625 -259000 ekin = 2.82994372921752 | erot = 4.84156348043274 | epot = -39.784508432178 | etot = -32.1130012225277 -260000 ekin = 2.84769599243485 | erot = 4.63369709433915 | epot = -39.8060470464451 | etot = -32.3246539596711 -261000 ekin = 2.87237157835355 | erot = 4.51865061212274 | epot = -39.7979847736534 | etot = -32.4069625831772 -262000 ekin = 2.96750612225969 | erot = 4.57561390426951 | epot = -39.7782660470081 | etot = -32.2351460204789 -263000 ekin = 2.99289365842386 | erot = 4.20953311292942 | epot = -39.745321167764 | etot = -32.5428943964107 -264000 ekin = 3.02610258005876 | erot = 4.41804994162533 | epot = -39.7005266944524 | etot = -32.2563741727683 -265000 ekin = 3.02210011112748 | erot = 4.29011549844086 | epot = -39.6578667285882 | etot = -32.3456511190199 -266000 ekin = 2.95526029973602 | erot = 3.97220133607363 | epot = -39.5863143733948 | etot = -32.6588527375852 -267000 ekin = 2.96306286479385 | erot = 4.39982365552045 | epot = -39.5117362736934 | etot = -32.1488497533791 -268000 ekin = 2.98837918599786 | erot = 4.59043107838108 | epot = -39.4346030266012 | etot = -31.8557927622223 -269000 ekin = 2.92733730866711 | erot = 4.81492520489309 | epot = -39.3017884762548 | etot = -31.5595259626946 -270000 ekin = 2.90335610024265 | erot = 4.98515255872077 | epot = -39.1437745457484 | etot = -31.255265886785 -271000 ekin = 2.87611923369233 | erot = 5.02631285080424 | epot = -38.9919498909518 | etot = -31.0895178064552 -272000 ekin = 2.87770260774598 | erot = 4.83651556609765 | epot = -38.840809395014 | etot = -31.1265912211704 -273000 ekin = 2.77329089721178 | erot = 4.69693225863749 | epot = -38.6610493537943 | etot = -31.190826197945 -274000 ekin = 2.68625637002662 | erot = 4.51669986790576 | epot = -38.4509728982942 | etot = -31.2480166603618 -275000 ekin = 2.60330324454304 | erot = 4.20171703621295 | epot = -38.218249935628 | etot = -31.413229654872 -276000 ekin = 2.5718307631142 | erot = 3.79152446287654 | epot = -38.0174336495133 | etot = -31.6540784235226 -277000 ekin = 2.49975386368567 | erot = 3.59614150828635 | epot = -37.8474968832235 | etot = -31.7516015112514 -278000 ekin = 2.46398069339708 | erot = 3.65098267442642 | epot = -37.6582057642293 | etot = -31.5432423964058 -279000 ekin = 2.48339824565313 | erot = 3.67548575635034 | epot = -37.5048702413578 | etot = -31.3459862393544 -280000 ekin = 2.53376634761126 | erot = 3.55656380463981 | epot = -37.3937621487776 | etot = -31.3034319965265 -281000 ekin = 2.67002406168562 | erot = 3.81689537677424 | epot = -37.3207483356567 | etot = -30.8338288971968 -282000 ekin = 2.63534042744473 | erot = 3.62617225051185 | epot = -37.2561498174831 | etot = -30.9946371395265 -283000 ekin = 2.62204960593212 | erot = 3.60063437351288 | epot = -37.1865464899413 | etot = -30.9638625104963 -284000 ekin = 2.67681575008792 | erot = 3.61566503901022 | epot = -37.1459845078296 | etot = -30.8535037187314 -285000 ekin = 2.71360352201124 | erot = 3.48822466196448 | epot = -37.1436040722676 | etot = -30.9417758882919 -286000 ekin = 2.72409949367872 | erot = 3.69046973300093 | epot = -37.1515114688671 | etot = -30.7369422421875 -287000 ekin = 2.78141221541724 | erot = 3.56169254019551 | epot = -37.1836412585712 | etot = -30.8405365029585 -288000 ekin = 2.93111949257215 | erot = 3.85252275716863 | epot = -37.2722312757955 | etot = -30.4885890260547 -289000 ekin = 3.22039073654111 | erot = 3.65796134125561 | epot = -37.4105935842029 | etot = -30.5322415064062 -290000 ekin = 3.45543672952173 | erot = 3.63587074171862 | epot = -37.5601919395408 | etot = -30.4688844683004 -291000 ekin = 3.52760878967904 | erot = 4.20430698093704 | epot = -37.7322836777774 | etot = -30.0003679071614 -292000 ekin = 3.68972381818918 | erot = 4.12076553978675 | epot = -37.9100323199299 | etot = -30.099542961954 -293000 ekin = 3.83177225674866 | erot = 4.37726484522711 | epot = -38.0821109906698 | etot = -29.873073888694 -294000 ekin = 4.06640459910184 | erot = 3.74462680595312 | epot = -38.1926156973086 | etot = -30.3815842922536 -295000 ekin = 4.21784736111051 | erot = 3.82616484716773 | epot = -38.2890286287626 | etot = -30.2450164204843 -296000 ekin = 4.26440738773642 | erot = 3.95694734709946 | epot = -38.3824567525617 | etot = -30.1611020177258 -297000 ekin = 4.04618321058694 | erot = 4.11344152769738 | epot = -38.4823151027029 | etot = -30.3226903644186 -298000 ekin = 4.04534420229638 | erot = 4.08413503201913 | epot = -38.5648464298593 | etot = -30.4353671955438 -299000 ekin = 4.05890996735844 | erot = 4.75454163668528 | epot = -38.6394632376441 | etot = -29.8260116336004 -300000 ekin = 4.0635552245577 | erot = 4.46292256841634 | epot = -38.7062117520834 | etot = -30.1797339591093 -301000 ekin = 4.01853385887666 | erot = 4.67242188374991 | epot = -38.7555551980346 | etot = -30.064599455408 -302000 ekin = 3.97170308302892 | erot = 4.62245717998414 | epot = -38.7884989680144 | etot = -30.1943387050014 -303000 ekin = 4.00670279913505 | erot = 4.89772983741924 | epot = -38.7992363136571 | etot = -29.8948036771028 -304000 ekin = 3.81374525151675 | erot = 4.65389365987343 | epot = -38.8327396351168 | etot = -30.3651007237266 -305000 ekin = 3.70792918499057 | erot = 4.53646691129898 | epot = -38.8671341843094 | etot = -30.6227380880198 -306000 ekin = 3.5851913585686 | erot = 4.40317156262038 | epot = -38.8961174826079 | etot = -30.9077545614189 -307000 ekin = 3.52830601019323 | erot = 4.12955816022915 | epot = -38.9381266871204 | etot = -31.280262516698 -308000 ekin = 3.37444573697906 | erot = 3.65266283146944 | epot = -38.9820449321947 | etot = -31.9549363637462 -309000 ekin = 3.29877896595899 | erot = 4.06788139443835 | epot = -39.036569619858 | etot = -31.6699092594607 -310000 ekin = 3.27216182566105 | erot = 3.86752279813193 | epot = -39.0649343092174 | etot = -31.9252496854244 -311000 ekin = 3.26050147382305 | erot = 3.90928978323582 | epot = -39.0580520931937 | etot = -31.8882608361348 -312000 ekin = 3.18483009089521 | erot = 3.90959546619214 | epot = -39.0257212693581 | etot = -31.9312957122708 -313000 ekin = 3.09609326591795 | erot = 3.75025646421262 | epot = -38.9535227577839 | etot = -32.1071730276533 -314000 ekin = 2.95184537018542 | erot = 4.07381717812341 | epot = -38.8888909934783 | etot = -31.8632284451695 -315000 ekin = 2.92238623527567 | erot = 3.96815066682739 | epot = -38.8370494801768 | etot = -31.9465125780737 -316000 ekin = 2.71301507861596 | erot = 3.80807978932931 | epot = -38.799834574398 | etot = -32.2787397064527 -317000 ekin = 2.71357150367647 | erot = 4.15190966526565 | epot = -38.7626719044115 | etot = -31.8971907354694 -318000 ekin = 2.62158267835359 | erot = 4.27134701113436 | epot = -38.7271070788676 | etot = -31.8341773893796 -319000 ekin = 2.55366548062862 | erot = 4.41350408683203 | epot = -38.7297464727616 | etot = -31.7625769053009 -320000 ekin = 2.43397240538545 | erot = 4.29070167476848 | epot = -38.7203908826319 | etot = -31.995716802478 -321000 ekin = 2.4091696193894 | erot = 4.08120981437134 | epot = -38.7041016741435 | etot = -32.2137222403828 -322000 ekin = 2.40921951438691 | erot = 3.84656254092884 | epot = -38.6896664254558 | etot = -32.4338843701401 -323000 ekin = 2.47763175846149 | erot = 3.74024157191534 | epot = -38.6582034756258 | etot = -32.440330145249 -324000 ekin = 2.50557286685258 | erot = 3.62726015904489 | epot = -38.6277589097223 | etot = -32.4949258838248 -325000 ekin = 2.46128003790469 | erot = 3.30955838055057 | epot = -38.6182210526501 | etot = -32.8473826341949 -326000 ekin = 2.5036042222413 | erot = 3.11309077075945 | epot = -38.6155228491478 | etot = -32.998827856147 -327000 ekin = 2.58559564340014 | erot = 3.03172964208485 | epot = -38.6235874334492 | etot = -33.0062621479642 -328000 ekin = 2.7498426607985 | erot = 3.02808338407904 | epot = -38.6550386035095 | etot = -32.8771125586319 -329000 ekin = 2.91966436364517 | erot = 2.97144348177553 | epot = -38.6820454853232 | etot = -32.7909376399025 -330000 ekin = 3.01494295487831 | erot = 3.44138384990523 | epot = -38.7383158304586 | etot = -32.2819890256751 -331000 ekin = 3.02442201542035 | erot = 3.78657407910216 | epot = -38.7939596216321 | etot = -31.9829635271096 -332000 ekin = 3.04445691127442 | erot = 3.8278890195312 | epot = -38.8517978078766 | etot = -31.979451877071 -333000 ekin = 3.03465557138406 | erot = 3.68623317701473 | epot = -38.9019287356726 | etot = -32.1810399872738 -334000 ekin = 2.98091475863421 | erot = 3.87909097065042 | epot = -38.9429458678105 | etot = -32.0829401385258 -335000 ekin = 3.18730692360931 | erot = 3.9229815323581 | epot = -38.9915367606724 | etot = -31.881248304705 -336000 ekin = 3.28082580011883 | erot = 4.25501923477972 | epot = -39.0382949038811 | etot = -31.5024498689825 -337000 ekin = 3.33075954016498 | erot = 4.58632261209064 | epot = -39.0662594017922 | etot = -31.1491772495366 -338000 ekin = 3.31328438683345 | erot = 4.17966745642974 | epot = -39.0415239975115 | etot = -31.5485721542483 -339000 ekin = 3.33917527804133 | erot = 4.28130062815462 | epot = -38.9842917012714 | etot = -31.3638157950755 -340000 ekin = 3.33492148280262 | erot = 4.35651035139101 | epot = -38.8943885223068 | etot = -31.2029566881131 -341000 ekin = 3.34614172096363 | erot = 4.05115720989153 | epot = -38.7823758155587 | etot = -31.3850768847036 -342000 ekin = 3.34251507796678 | erot = 4.42814474655728 | epot = -38.6331517957714 | etot = -30.8624919712473 -343000 ekin = 3.20631341754612 | erot = 3.78967989344564 | epot = -38.4960486393224 | etot = -31.5000553283306 -344000 ekin = 3.07148244251153 | erot = 3.87583965670226 | epot = -38.3948328820768 | etot = -31.447510782863 -345000 ekin = 3.09789874291703 | erot = 3.99460565240904 | epot = -38.3201974875894 | etot = -31.2276930922633 -346000 ekin = 3.02500081268322 | erot = 3.91508207831951 | epot = -38.27506306136 | etot = -31.3349801703573 -347000 ekin = 2.94406849477762 | erot = 3.8622967016244 | epot = -38.2289722622904 | etot = -31.4226070658884 -348000 ekin = 2.95641250006426 | erot = 3.72625853383772 | epot = -38.1919210104045 | etot = -31.5092499765026 -349000 ekin = 3.03918076184473 | erot = 3.94202050743586 | epot = -38.1810668298085 | etot = -31.1998655605279 -350000 ekin = 3.09062612520389 | erot = 3.91215331884812 | epot = -38.2023245264386 | etot = -31.1995450823866 -351000 ekin = 3.13831719496464 | erot = 3.99916602553218 | epot = -38.2111529945909 | etot = -31.0736697740941 -352000 ekin = 3.10196313130342 | erot = 3.92254342354138 | epot = -38.2543166357448 | etot = -31.2298100809 -353000 ekin = 3.17266611312433 | erot = 3.89473509639757 | epot = -38.3205511283306 | etot = -31.2531499188087 -354000 ekin = 3.20288707130886 | erot = 4.38957454856396 | epot = -38.3888699269268 | etot = -30.796408307054 -355000 ekin = 3.1596595759597 | erot = 4.27393537405652 | epot = -38.4369161779509 | etot = -31.0033212279347 -356000 ekin = 3.0196784402613 | erot = 4.46559381130417 | epot = -38.4622452099032 | etot = -30.9769729583378 -357000 ekin = 2.97836465744993 | erot = 4.24123654485003 | epot = -38.4340474220209 | etot = -31.214446219721 -358000 ekin = 2.90298621775703 | erot = 4.00214290087722 | epot = -38.3669225243923 | etot = -31.4617934057581 -359000 ekin = 2.89703951576627 | erot = 3.75540528896982 | epot = -38.2596281019022 | etot = -31.6071832971661 -360000 ekin = 2.89517468979402 | erot = 3.69844688179083 | epot = -38.1408983158931 | etot = -31.5472767443082 -361000 ekin = 2.80138616808295 | erot = 3.38323529451502 | epot = -38.0246589917391 | etot = -31.8400375291411 -362000 ekin = 2.77162168417612 | erot = 2.91331523066537 | epot = -37.9398868290149 | etot = -32.2549499141734 -363000 ekin = 2.78539815378433 | erot = 2.68460040337589 | epot = -37.8665635409938 | etot = -32.3965649838336 -364000 ekin = 2.6806781219229 | erot = 2.78677391239236 | epot = -37.7617899033784 | etot = -32.2943378690631 -365000 ekin = 2.54070043685876 | erot = 2.83653994835753 | epot = -37.6554311404474 | etot = -32.2781907552311 -366000 ekin = 2.41606481092138 | erot = 2.86609766611192 | epot = -37.5516282283376 | etot = -32.2694657513043 -367000 ekin = 2.46811866465482 | erot = 3.34221140329 | epot = -37.4475028758826 | etot = -31.6371728079378 -368000 ekin = 2.42926223365494 | erot = 3.33046663396725 | epot = -37.3674460967945 | etot = -31.6077172291723 -369000 ekin = 2.43816169312792 | erot = 3.26459431026916 | epot = -37.3019788371043 | etot = -31.5992228337072 -370000 ekin = 2.46038177337525 | erot = 3.10066469966251 | epot = -37.2626057339964 | etot = -31.7015592609586 -371000 ekin = 2.44062438526228 | erot = 2.87778487491551 | epot = -37.2539180634397 | etot = -31.9355088032619 -372000 ekin = 2.4119643832672 | erot = 3.07515188922145 | epot = -37.3089635753533 | etot = -31.8218473028647 -373000 ekin = 2.48050565170775 | erot = 3.18196875652298 | epot = -37.4397878357735 | etot = -31.7773134275428 -374000 ekin = 2.63530688061921 | erot = 3.59156982435214 | epot = -37.5884648424034 | etot = -31.3615881374321 -375000 ekin = 2.68283894448257 | erot = 3.3245108406823 | epot = -37.7715422578285 | etot = -31.7641924726636 -376000 ekin = 2.79488034579907 | erot = 3.22988532668875 | epot = -38.0009039102152 | etot = -31.9761382377273 -377000 ekin = 2.97793932778636 | erot = 3.1487944738539 | epot = -38.2360750185572 | etot = -32.1093412169169 -378000 ekin = 3.04959845592823 | erot = 3.49481966296083 | epot = -38.5013695235687 | etot = -31.9569514046797 -379000 ekin = 3.19106410727104 | erot = 3.36561045250103 | epot = -38.7688607813371 | etot = -32.2121862215651 -380000 ekin = 3.25183572215722 | erot = 3.58875776192795 | epot = -39.0288452181148 | etot = -32.1882517340297 -381000 ekin = 3.33794215221589 | erot = 3.69339177566719 | epot = -39.3017064605086 | etot = -32.2703725326255 -382000 ekin = 3.49270190624137 | erot = 3.86829998834039 | epot = -39.5268729273469 | etot = -32.1658710327651 -383000 ekin = 3.55662169084774 | erot = 3.53333329088007 | epot = -39.726779107516 | etot = -32.6368241257882 -384000 ekin = 3.69351012028544 | erot = 3.28268730044336 | epot = -39.8789874723582 | etot = -32.9027900516294 -385000 ekin = 3.68733706037504 | erot = 3.68055641648011 | epot = -39.999883925349 | etot = -32.6319904484938 -386000 ekin = 3.71694831249284 | erot = 3.79434784508062 | epot = -40.0869801892988 | etot = -32.5756840317253 -387000 ekin = 3.76861509268673 | erot = 3.88558369375086 | epot = -40.1715737743675 | etot = -32.5173749879299 -388000 ekin = 3.8301760688337 | erot = 4.20859412334347 | epot = -40.2007323597247 | etot = -32.1619621675475 -389000 ekin = 3.86768485031758 | erot = 3.99003783907099 | epot = -40.1899129305042 | etot = -32.3321902411156 -390000 ekin = 3.97485559059841 | erot = 3.73907035926306 | epot = -40.1534652302146 | etot = -32.4395392803531 -391000 ekin = 3.99255423920738 | erot = 3.459854141016 | epot = -40.0955220791989 | etot = -32.6431136989755 -392000 ekin = 4.01983776245668 | erot = 3.684257426475 | epot = -39.9999647918604 | etot = -32.2958696029287 -393000 ekin = 4.02356764424247 | erot = 3.83787437414721 | epot = -39.8549016020689 | etot = -31.9934595836793 -394000 ekin = 3.93980876114322 | erot = 3.99211744164119 | epot = -39.7011477670266 | etot = -31.7692215642422 -395000 ekin = 4.11174368478723 | erot = 3.75033473410246 | epot = -39.5451859148434 | etot = -31.6831074959538 -396000 ekin = 4.20376876107167 | erot = 3.67040632781357 | epot = -39.394880998087 | etot = -31.5207059092017 -397000 ekin = 4.13633572842997 | erot = 3.65151581957605 | epot = -39.2564297317577 | etot = -31.4685781837517 -398000 ekin = 4.13905245601627 | erot = 3.71620600673367 | epot = -39.093596770216 | etot = -31.2383383074661 -399000 ekin = 4.10332411545528 | erot = 3.71374971681591 | epot = -38.9205234935042 | etot = -31.103449661233 -400000 ekin = 4.06766016908479 | erot = 3.42139504654381 | epot = -38.7497473150009 | etot = -31.2606920993723 -401000 ekin = 3.97284164111999 | erot = 3.81120481171761 | epot = -38.6001977504163 | etot = -30.8161512975787 -402000 ekin = 3.90587383547465 | erot = 3.53418826218585 | epot = -38.4681757167877 | etot = -31.0281136191272 -403000 ekin = 3.91259869514561 | erot = 3.63738639184103 | epot = -38.3230308363684 | etot = -30.7730457493818 -404000 ekin = 3.79936006877832 | erot = 3.32641249272552 | epot = -38.2009092385689 | etot = -31.0751366770651 -405000 ekin = 3.8251759680116 | erot = 3.13064904024261 | epot = -38.1553776059004 | etot = -31.1995525976462 -406000 ekin = 3.73725599382609 | erot = 3.08306268157751 | epot = -38.1316917306566 | etot = -31.311373055253 -407000 ekin = 3.726517750459 | erot = 3.09861818078622 | epot = -38.1634910279953 | etot = -31.3383550967501 -408000 ekin = 3.79931976439459 | erot = 3.25718386016374 | epot = -38.2217683212397 | etot = -31.1652646966814 -409000 ekin = 3.95093187918724 | erot = 3.4395040977601 | epot = -38.2689453197333 | etot = -30.8785093427859 -410000 ekin = 4.07121708138889 | erot = 3.83760071106058 | epot = -38.3189798432044 | etot = -30.4101620507549 -411000 ekin = 4.23307978558165 | erot = 3.98162063698057 | epot = -38.3721329673504 | etot = -30.1574325447882 -412000 ekin = 4.241170808143 | erot = 3.99737193476948 | epot = -38.4124767699443 | etot = -30.1739340270318 -413000 ekin = 4.23580670923547 | erot = 3.8106439850279 | epot = -38.4212920990952 | etot = -30.3748414048318 -414000 ekin = 4.27445938143083 | erot = 3.9812454132049 | epot = -38.4106571527341 | etot = -30.1549523580983 -415000 ekin = 4.38899479005091 | erot = 3.80279226112388 | epot = -38.3596783722964 | etot = -30.1678913211216 -416000 ekin = 4.45628965411063 | erot = 3.63102956113277 | epot = -38.3042311126166 | etot = -30.2169118973732 -417000 ekin = 4.49028461121067 | erot = 3.62754419665983 | epot = -38.25831980893 | etot = -30.1404910010595 -418000 ekin = 4.45936601962003 | erot = 3.71144506663837 | epot = -38.1813464675297 | etot = -30.0105353812713 -419000 ekin = 4.38379837521008 | erot = 3.33513327030905 | epot = -38.0724868069419 | etot = -30.3535551614228 -420000 ekin = 4.283111933024 | erot = 3.09826419668605 | epot = -37.9370678690097 | etot = -30.5556917392996 -421000 ekin = 4.152480975106 | erot = 3.56237827808224 | epot = -37.7709210423883 | etot = -30.0560617892 -422000 ekin = 3.95490687211588 | erot = 3.47480957997332 | epot = -37.5854884820709 | etot = -30.1557720299817 -423000 ekin = 3.91714305790356 | erot = 3.4847628632339 | epot = -37.3949936437694 | etot = -29.9930877226319 -424000 ekin = 3.84213202460288 | erot = 3.52777059768033 | epot = -37.2158434462617 | etot = -29.8459408239785 -425000 ekin = 3.71924289661388 | erot = 3.33663609660611 | epot = -37.072252600123 | etot = -30.016373606903 -426000 ekin = 3.64441997260647 | erot = 3.36227935441014 | epot = -36.9667678357551 | etot = -29.9600685087385 -427000 ekin = 3.75655721345781 | erot = 3.37897054079373 | epot = -36.8611280898055 | etot = -29.7256003355539 -428000 ekin = 3.74409443646521 | erot = 3.1773287235424 | epot = -36.742715037602 | etot = -29.8212918775944 -429000 ekin = 3.6632902831786 | erot = 2.78764787478687 | epot = -36.6486255145436 | etot = -30.1976873565782 -430000 ekin = 3.62135290496445 | erot = 2.6733797516058 | epot = -36.560604151542 | etot = -30.2658714949717 -431000 ekin = 3.61616361793053 | erot = 2.69754710014203 | epot = -36.506732939117 | etot = -30.1930222210445 -432000 ekin = 3.49552617760825 | erot = 3.08491352170465 | epot = -36.485170074763 | etot = -29.9047303754501 -433000 ekin = 3.58020816083944 | erot = 2.88002256286314 | epot = -36.5217696117553 | etot = -30.0615388880528 -434000 ekin = 3.59867849318971 | erot = 3.0840797331355 | epot = -36.6202495320039 | etot = -29.9374913056787 -435000 ekin = 3.67331527289036 | erot = 3.42657552434419 | epot = -36.7488916307825 | etot = -29.6490008335479 -436000 ekin = 3.82088042289272 | erot = 3.65447442369897 | epot = -36.9085622220517 | etot = -29.43320737546 -437000 ekin = 3.86869421673766 | erot = 3.95470287079859 | epot = -37.0720316005957 | etot = -29.2486345130595 -438000 ekin = 4.11090595842083 | erot = 3.77540801446838 | epot = -37.2088542252226 | etot = -29.3225402523333 -439000 ekin = 4.12926159073602 | erot = 4.06917140325885 | epot = -37.351759051221 | etot = -29.1533260572261 -440000 ekin = 4.09029177261524 | erot = 4.14981299565281 | epot = -37.4912988817269 | etot = -29.2511941134588 -441000 ekin = 4.14485979348682 | erot = 4.37283240826395 | epot = -37.6181493098546 | etot = -29.1004571081038 -442000 ekin = 4.12304009572841 | erot = 4.39045893698217 | epot = -37.7155315750664 | etot = -29.2020325423558 -443000 ekin = 4.23471751438731 | erot = 4.14989601608928 | epot = -37.768614271265 | etot = -29.3840007407884 -444000 ekin = 4.35772646838224 | erot = 4.52232474512897 | epot = -37.7816885908053 | etot = -28.9016373772941 -445000 ekin = 4.39118784053262 | erot = 4.66570824296109 | epot = -37.7439950146598 | etot = -28.6870989311661 -446000 ekin = 4.39675921765031 | erot = 4.46936063153376 | epot = -37.6960851354907 | etot = -28.8299652863066 -447000 ekin = 4.35336664890442 | erot = 4.44173113672769 | epot = -37.6140263912413 | etot = -28.8189286056092 -448000 ekin = 4.28498441172979 | erot = 4.19781838322426 | epot = -37.5090341348627 | etot = -29.0262313399087 -449000 ekin = 4.31763982219652 | erot = 4.52832551746764 | epot = -37.4084017454329 | etot = -28.5624364057687 -450000 ekin = 4.34138928411261 | erot = 4.44258564037432 | epot = -37.3062489259438 | etot = -28.5222740014569 -451000 ekin = 4.30985185878605 | erot = 4.23825662962946 | epot = -37.1459619150061 | etot = -28.5978534265906 -452000 ekin = 4.32592045036098 | erot = 3.8660276663028 | epot = -36.9847035634508 | etot = -28.792755446787 -453000 ekin = 4.32845268851063 | erot = 3.54171363095618 | epot = -36.8340779762824 | etot = -28.9639116568156 -454000 ekin = 4.31011457813703 | erot = 3.79537837348597 | epot = -36.7199830616559 | etot = -28.6144901100328 -455000 ekin = 4.29550433639214 | erot = 3.85241036204668 | epot = -36.6489739160371 | etot = -28.5010592175982 -456000 ekin = 4.37032742709196 | erot = 4.00721124204773 | epot = -36.6190063800956 | etot = -28.2414677109559 -457000 ekin = 4.36426470286789 | erot = 3.85637152044941 | epot = -36.5969553476853 | etot = -28.376319124368 -458000 ekin = 4.32567014378617 | erot = 3.50123530464575 | epot = -36.5630453883135 | etot = -28.7361399398816 -459000 ekin = 4.3893381573867 | erot = 3.57401843708546 | epot = -36.5693343587042 | etot = -28.605977764232 -460000 ekin = 4.31317855607494 | erot = 4.09613513000612 | epot = -36.6229031356536 | etot = -28.2135894495725 -461000 ekin = 4.31811012640179 | erot = 4.38273826542215 | epot = -36.70247802377 | etot = -28.0016296319461 -462000 ekin = 4.3366863877001 | erot = 4.51374491218817 | epot = -36.8227361919449 | etot = -27.9723048920566 -463000 ekin = 4.27564269849664 | erot = 4.86202296781303 | epot = -36.9415310835084 | etot = -27.8038654171987 -464000 ekin = 4.25704856573543 | erot = 4.74085846897256 | epot = -37.0390079052471 | etot = -28.0411008705391 -465000 ekin = 4.27536374407092 | erot = 4.49932366093905 | epot = -37.1090432428533 | etot = -28.3343558378433 -466000 ekin = 4.30607368146068 | erot = 4.23786653917903 | epot = -37.1491605127936 | etot = -28.6052202921539 -467000 ekin = 4.2491978620046 | erot = 4.12771930877699 | epot = -37.1714598423964 | etot = -28.7945426716148 -468000 ekin = 4.39683218085591 | erot = 3.85228521386559 | epot = -37.2088712844973 | etot = -28.9597538897758 -469000 ekin = 4.64124419278982 | erot = 3.80754439193721 | epot = -37.276730222032 | etot = -28.8279416373049 -470000 ekin = 4.66178408905675 | erot = 3.92065938428513 | epot = -37.3876740781875 | etot = -28.8052306048457 -471000 ekin = 4.75392904131986 | erot = 4.24739494727095 | epot = -37.5007122646075 | etot = -28.4993882760167 -472000 ekin = 4.78287126449292 | erot = 4.29738258008793 | epot = -37.5977046601011 | etot = -28.5174508155202 -473000 ekin = 4.83746609770183 | erot = 4.38666527032485 | epot = -37.6671790710826 | etot = -28.4430477030559 -474000 ekin = 4.79054197671376 | erot = 4.34169424272138 | epot = -37.6856820094293 | etot = -28.5534457899942 -475000 ekin = 4.83235787688145 | erot = 4.21788406575012 | epot = -37.6508263787861 | etot = -28.6005844361546 -476000 ekin = 4.77650421806813 | erot = 4.23519664592598 | epot = -37.5559363402036 | etot = -28.5442354762095 -477000 ekin = 4.70149228687153 | erot = 3.94955206004049 | epot = -37.4316333722383 | etot = -28.7805890253263 -478000 ekin = 4.65828612344613 | erot = 3.52306589214554 | epot = -37.3056353897912 | etot = -29.1242833741995 -479000 ekin = 4.49034904671755 | erot = 3.69691237093679 | epot = -37.1645007343033 | etot = -28.977239316649 -480000 ekin = 4.42035953830873 | erot = 3.62614880736063 | epot = -36.9855336534948 | etot = -28.9390253078254 -481000 ekin = 4.29236052675552 | erot = 3.46283113670755 | epot = -36.778837676618 | etot = -29.0236460131549 -482000 ekin = 4.24695006747703 | erot = 3.64617122659715 | epot = -36.5783264764331 | etot = -28.685205182359 -483000 ekin = 4.27724439911399 | erot = 3.65906944039054 | epot = -36.4031794376627 | etot = -28.4668655981582 -484000 ekin = 4.2785974211617 | erot = 3.80998418987604 | epot = -36.2601336102694 | etot = -28.1715519992317 -485000 ekin = 4.21291837199932 | erot = 3.8427823044223 | epot = -36.141503315863 | etot = -28.0858026394413 -486000 ekin = 3.9839252640706 | erot = 3.69687119417294 | epot = -36.0420007851875 | etot = -28.3612043269439 -487000 ekin = 3.87685523954227 | erot = 3.52087214489094 | epot = -35.9790179936878 | etot = -28.5812906092545 -488000 ekin = 3.74675884240029 | erot = 3.80072807052997 | epot = -35.9652058586033 | etot = -28.417718945673 -489000 ekin = 3.61099051841834 | erot = 4.09702697313287 | epot = -35.9887686799326 | etot = -28.2807511883814 -490000 ekin = 3.72073699277815 | erot = 3.89157882585025 | epot = -36.0103724524783 | etot = -28.3980566338499 -491000 ekin = 3.72740917275115 | erot = 4.01795497893002 | epot = -36.0292354570353 | etot = -28.2838713053542 -492000 ekin = 3.67547789628858 | erot = 3.85969822517316 | epot = -36.0430681478948 | etot = -28.507892026433 -493000 ekin = 3.65198421841226 | erot = 3.75518718738361 | epot = -36.0824152706771 | etot = -28.6752438648813 -494000 ekin = 3.4852821998486 | erot = 3.8153550877854 | epot = -36.1423710455837 | etot = -28.8417337579497 -495000 ekin = 3.31359070882208 | erot = 4.11558724766118 | epot = -36.2268684383707 | etot = -28.7976904818874 -496000 ekin = 3.27798311005969 | erot = 3.88806115727323 | epot = -36.3363270902379 | etot = -29.170282822905 -497000 ekin = 3.23000081873816 | erot = 4.5315385178341 | epot = -36.481720183114 | etot = -28.7201808465418 -498000 ekin = 3.35490986062535 | erot = 4.76314991175258 | epot = -36.6514686581236 | etot = -28.5334088857457 -499000 ekin = 3.39102564180502 | erot = 4.99058516868934 | epot = -36.8025368986548 | etot = -28.4209260881604 -500000 ekin = 3.44319922277998 | erot = 4.29432196305736 | epot = -36.9177193599231 | etot = -29.1801981740858 -501000 ekin = 3.47746008955509 | erot = 4.289941738028 | epot = -37.0187053512324 | etot = -29.2513035236494 -502000 ekin = 3.58696948456752 | erot = 4.55410136617418 | epot = -37.1018103829437 | etot = -28.960739532202 -503000 ekin = 3.68317380855592 | erot = 4.60652443433648 | epot = -37.1620776601797 | etot = -28.8723794172873 -504000 ekin = 3.68852053014443 | erot = 4.67783023002264 | epot = -37.2052759454199 | etot = -28.8389251852528 -505000 ekin = 3.88723268453866 | erot = 4.53079850437663 | epot = -37.2950608294683 | etot = -28.877029640553 -506000 ekin = 3.80925396925163 | erot = 4.47086505886218 | epot = -37.3479933337838 | etot = -29.06787430567 -507000 ekin = 3.73248519551991 | erot = 4.21393839264144 | epot = -37.4256513139284 | etot = -29.4792277257671 -508000 ekin = 3.80672760184063 | erot = 3.93708079377005 | epot = -37.4951091449467 | etot = -29.751300749336 -509000 ekin = 3.80086991164608 | erot = 3.74333566662504 | epot = -37.5406480313395 | etot = -29.9964424530683 -510000 ekin = 3.89850649197978 | erot = 3.97775581109505 | epot = -37.5934385426631 | etot = -29.7171762395883 -511000 ekin = 3.81393185765464 | erot = 4.00469160928647 | epot = -37.6349932199755 | etot = -29.8163697530344 -512000 ekin = 3.7684396284637 | erot = 4.34524756747826 | epot = -37.6787808921542 | etot = -29.5650936962122 -513000 ekin = 3.70769437024747 | erot = 4.19222442242684 | epot = -37.7114576947707 | etot = -29.8115389020964 -514000 ekin = 3.65606306228176 | erot = 4.64296237641028 | epot = -37.7095823242883 | etot = -29.4105568855962 -515000 ekin = 3.5052281855745 | erot = 4.47916848114099 | epot = -37.6783049637298 | etot = -29.6939082970143 -516000 ekin = 3.59266443877101 | erot = 5.02978018029494 | epot = -37.6477009850688 | etot = -29.0252563660028 -517000 ekin = 3.53729866959058 | erot = 4.95641997732805 | epot = -37.644541266991 | etot = -29.1508226200724 -518000 ekin = 3.55341695305132 | erot = 4.57512459674255 | epot = -37.6532745224308 | etot = -29.5247329726369 -519000 ekin = 3.61605940841961 | erot = 4.59842321288953 | epot = -37.7181887221249 | etot = -29.5037061008158 -520000 ekin = 3.66003580736891 | erot = 4.52802897844102 | epot = -37.8184531846622 | etot = -29.6303883988522 -521000 ekin = 3.57990395101936 | erot = 4.58686564429493 | epot = -37.9529160430901 | etot = -29.7861464477758 -522000 ekin = 3.58721017350486 | erot = 4.78958389957763 | epot = -38.1056938634054 | etot = -29.7288997903229 -523000 ekin = 3.7455374895203 | erot = 4.82242710318161 | epot = -38.249659851946 | etot = -29.6816952592441 -524000 ekin = 3.8367296557297 | erot = 5.1780625575552 | epot = -38.3420385705452 | etot = -29.3272463572603 -525000 ekin = 3.97426514986068 | erot = 5.13820563111667 | epot = -38.4306455211977 | etot = -29.3181747402204 -526000 ekin = 4.03278131821146 | erot = 4.61480893928539 | epot = -38.4813375347266 | etot = -29.8337472772297 -527000 ekin = 4.15303805139338 | erot = 4.03339974605316 | epot = -38.4813261438674 | etot = -30.2948883464208 -528000 ekin = 4.34085606106391 | erot = 3.63416049936053 | epot = -38.4621670653444 | etot = -30.4871505049199 -529000 ekin = 4.53593485604709 | erot = 3.72087643644205 | epot = -38.417501648356 | etot = -30.1606903558668 -530000 ekin = 4.65836945322522 | erot = 3.5823370050418 | epot = -38.3861765288022 | etot = -30.1454700705352 -531000 ekin = 4.66519878740321 | erot = 3.41094947734083 | epot = -38.3363103504893 | etot = -30.2601620857452 -532000 ekin = 4.80041164317288 | erot = 3.07760528500134 | epot = -38.3151265786575 | etot = -30.4371096504833 -533000 ekin = 4.73180745168947 | erot = 3.06230961560373 | epot = -38.3468719461379 | etot = -30.5527548788447 -534000 ekin = 4.77276572097011 | erot = 3.01963113043202 | epot = -38.4024212860539 | etot = -30.6100244346518 -535000 ekin = 4.8569392849477 | erot = 2.8251632104728 | epot = -38.5360450508862 | etot = -30.8539425554657 -536000 ekin = 4.79265980947574 | erot = 2.9077544610961 | epot = -38.7196748122557 | etot = -31.0192605416839 -537000 ekin = 4.8694795576244 | erot = 3.00989555981224 | epot = -38.9076102830991 | etot = -31.0282351656625 -538000 ekin = 5.00269155741106 | erot = 2.68875189029915 | epot = -39.0473675460742 | etot = -31.355924098364 -539000 ekin = 4.98226102919721 | erot = 2.9218882996937 | epot = -39.1655668480607 | etot = -31.2614175191698 -540000 ekin = 4.99147016878216 | erot = 3.35574385805742 | epot = -39.2596960810253 | etot = -30.9124820541857 -541000 ekin = 4.92725844601428 | erot = 3.28345034188319 | epot = -39.3089899760125 | etot = -31.098281188115 -542000 ekin = 4.77242859226853 | erot = 3.31966912230266 | epot = -39.290238437105 | etot = -31.1981407225338 -543000 ekin = 4.65726157165086 | erot = 3.56099171692955 | epot = -39.1715392323124 | etot = -30.953285943732 -544000 ekin = 4.75158561074879 | erot = 2.98586301386342 | epot = -39.0000211966266 | etot = -31.2625725720144 -545000 ekin = 4.71389651780192 | erot = 3.29722166624284 | epot = -38.8124009343347 | etot = -30.8012827502899 -546000 ekin = 4.59452933616211 | erot = 3.65785900566388 | epot = -38.6597531372896 | etot = -30.4073647954636 -547000 ekin = 4.49485576841329 | erot = 3.52227156689634 | epot = -38.5261493757316 | etot = -30.509022040422 -548000 ekin = 4.49472654055115 | erot = 3.49603087938245 | epot = -38.3944216290951 | etot = -30.4036642091615 -549000 ekin = 4.39213180937533 | erot = 3.53228763855232 | epot = -38.2774675964384 | etot = -30.3530481485108 -550000 ekin = 4.36283999146784 | erot = 3.78776441036084 | epot = -38.2051317998107 | etot = -30.054527397982 -551000 ekin = 4.3226010693823 | erot = 4.01133252124201 | epot = -38.1611801425645 | etot = -29.8272465519402 -552000 ekin = 4.33183515664561 | erot = 3.98124414472576 | epot = -38.153772138803 | etot = -29.8406928374316 -553000 ekin = 4.30534974680474 | erot = 3.81209066755014 | epot = -38.1803693007097 | etot = -30.0629288863549 -554000 ekin = 4.29335219580314 | erot = 3.80213545963908 | epot = -38.2389597407399 | etot = -30.1434720852977 -555000 ekin = 4.45825549052385 | erot = 4.03672150414325 | epot = -38.3296083261046 | etot = -29.8346313314375 -556000 ekin = 4.63230188756517 | erot = 3.70797489704037 | epot = -38.4795834327921 | etot = -30.1393066481866 -557000 ekin = 4.7062229398582 | erot = 4.51036732636183 | epot = -38.6738842895281 | etot = -29.4572940233081 -558000 ekin = 4.70612532334176 | erot = 4.30314260207011 | epot = -38.9099036274272 | etot = -29.9006357020154 -559000 ekin = 4.85842132468142 | erot = 4.45569884582871 | epot = -39.1571701897087 | etot = -29.8430500191985 -560000 ekin = 4.84667483493842 | erot = 4.2909749826346 | epot = -39.3692871188964 | etot = -30.2316373013234 -561000 ekin = 4.93080663772512 | erot = 4.40964672372479 | epot = -39.5560309503474 | etot = -30.2155775888975 -562000 ekin = 5.02786763240469 | erot = 4.09895267825196 | epot = -39.6620959555469 | etot = -30.5352756448903 -563000 ekin = 4.99483060861824 | erot = 4.56393029644404 | epot = -39.7001867829015 | etot = -30.1414258778392 -564000 ekin = 5.01292656089529 | erot = 4.4655943412775 | epot = -39.6969046345991 | etot = -30.2183837324263 -565000 ekin = 4.97924499589803 | erot = 4.56764102867122 | epot = -39.6391307119519 | etot = -30.0922446873826 -566000 ekin = 4.80472039327358 | erot = 4.49618530358116 | epot = -39.532014253858 | etot = -30.2311085570032 -567000 ekin = 4.59721417192401 | erot = 4.44898156673777 | epot = -39.3835091139999 | etot = -30.3373133753381 -568000 ekin = 4.59948947791994 | erot = 4.21619266891999 | epot = -39.1697350851653 | etot = -30.3540529383253 -569000 ekin = 4.46814520025952 | erot = 4.13625120915546 | epot = -38.9496016480665 | etot = -30.3452052386516 -570000 ekin = 4.63380574109383 | erot = 3.97471689520422 | epot = -38.718728428018 | etot = -30.11020579172 -571000 ekin = 4.51646555902281 | erot = 3.77943581302556 | epot = -38.5103017941538 | etot = -30.2144004221055 -572000 ekin = 4.44329973394602 | erot = 3.7381898397106 | epot = -38.3513010282128 | etot = -30.1698114545561 -573000 ekin = 4.48138796166295 | erot = 3.67030746094246 | epot = -38.2531080005807 | etot = -30.1014125779753 -574000 ekin = 4.57372019352159 | erot = 3.64740839838101 | epot = -38.156347689767 | etot = -29.9352190978644 -575000 ekin = 4.81962720354415 | erot = 3.58128135189807 | epot = -38.0780197446127 | etot = -29.6771111891705 -576000 ekin = 4.78739960955874 | erot = 3.16941649568994 | epot = -38.0548669136925 | etot = -30.0980508084438 -577000 ekin = 4.89624137933428 | erot = 3.37301453509229 | epot = -38.0581159208699 | etot = -29.7888600064433 -578000 ekin = 4.89993171052244 | erot = 3.39468878464203 | epot = -38.0636938795354 | etot = -29.7690733843709 -579000 ekin = 4.83297661461352 | erot = 3.08572772864731 | epot = -38.0577731810634 | etot = -30.1390688378025 -580000 ekin = 4.77298411404082 | erot = 3.09603380464132 | epot = -38.0675771405193 | etot = -30.1985592218372 -581000 ekin = 4.96965435170517 | erot = 3.06610493080443 | epot = -38.0894896837321 | etot = -30.0537304012225 -582000 ekin = 4.84477580774046 | erot = 2.99273203470777 | epot = -38.1047755328766 | etot = -30.2672676904284 -583000 ekin = 4.80184612340906 | erot = 2.99121545039794 | epot = -38.0992283827671 | etot = -30.3061668089601 -584000 ekin = 4.73999729115027 | erot = 2.9582025614058 | epot = -38.1193022601923 | etot = -30.4211024076362 -585000 ekin = 4.62963491646133 | erot = 2.99096158598542 | epot = -38.1514766562945 | etot = -30.5308801538478 -586000 ekin = 4.66196804986657 | erot = 3.11428540249501 | epot = -38.1645218154685 | etot = -30.3882683631069 -587000 ekin = 4.58446438916316 | erot = 3.26198289890957 | epot = -38.1451310277746 | etot = -30.2986837397019 -588000 ekin = 4.59050554157097 | erot = 3.37267542289071 | epot = -38.0928945920966 | etot = -30.1297136276349 -589000 ekin = 4.52148456601106 | erot = 3.20426810396368 | epot = -38.0431145518049 | etot = -30.3173618818302 -590000 ekin = 4.54292012494665 | erot = 3.1746661588888 | epot = -37.9867331121618 | etot = -30.2691468283263 -591000 ekin = 4.4671534284139 | erot = 3.30654504351679 | epot = -37.9702893954325 | etot = -30.1965909235018 -592000 ekin = 4.47491098921977 | erot = 3.6999642514397 | epot = -37.96964005272 | etot = -29.7947648120605 -593000 ekin = 4.43506697623668 | erot = 3.70250326611378 | epot = -37.982672172325 | etot = -29.8451019299745 -594000 ekin = 4.36908136306916 | erot = 3.59308231950687 | epot = -38.0038521048194 | etot = -30.0416884222434 -595000 ekin = 4.30615021787055 | erot = 3.60547435881484 | epot = -38.0517692624258 | etot = -30.1401446857404 -596000 ekin = 4.27538703974133 | erot = 3.70718417029039 | epot = -38.1072020006231 | etot = -30.1246307905914 -597000 ekin = 4.09427835861054 | erot = 3.56040857145023 | epot = -38.1368054718234 | etot = -30.4821185417626 -598000 ekin = 4.06772969179115 | erot = 3.98852753231075 | epot = -38.1357675039156 | etot = -30.0795102798136 -599000 ekin = 4.05823661502991 | erot = 3.99204411848296 | epot = -38.094416622612 | etot = -30.0441358890991 -600000 ekin = 4.14000207696602 | erot = 3.69886036268676 | epot = -38.0126500071596 | etot = -30.1737875675068 -601000 ekin = 4.14331251606218 | erot = 4.02012885446818 | epot = -37.8931408419344 | etot = -29.729699471404 -602000 ekin = 4.19175322865721 | erot = 3.63789752518648 | epot = -37.7768382304761 | etot = -29.9471874766324 -603000 ekin = 4.17700109074315 | erot = 3.33190102346874 | epot = -37.6571796612342 | etot = -30.1482775470223 -604000 ekin = 4.32110078335241 | erot = 3.37359972635297 | epot = -37.5481087406157 | etot = -29.8534082309104 -605000 ekin = 4.40829637956699 | erot = 3.12232098209626 | epot = -37.4615593717344 | etot = -29.9309420100712 -606000 ekin = 4.50978571460473 | erot = 2.82903034171764 | epot = -37.4107566252709 | etot = -30.0719405689485 -607000 ekin = 4.64775510562435 | erot = 2.72855004395394 | epot = -37.3886864614939 | etot = -30.0123813119156 -608000 ekin = 4.62515883775204 | erot = 2.6927668656574 | epot = -37.3472679127842 | etot = -30.0293422093748 -609000 ekin = 4.58072072733859 | erot = 2.72618151323749 | epot = -37.3211555189931 | etot = -30.014253278417 -610000 ekin = 4.37064710749547 | erot = 2.94205446769451 | epot = -37.3313655411416 | etot = -30.0186639659516 -611000 ekin = 4.30243700562367 | erot = 2.94482669781559 | epot = -37.3282578261779 | etot = -30.0809941227387 -612000 ekin = 4.37982748485341 | erot = 2.81236690797527 | epot = -37.3366791579242 | etot = -30.1444847650955 -613000 ekin = 4.49298433908211 | erot = 2.94229499226113 | epot = -37.3617837170398 | etot = -29.9265043856965 -614000 ekin = 4.63192250195887 | erot = 2.81948937077722 | epot = -37.3623397651557 | etot = -29.9109278924196 -615000 ekin = 4.56431794922691 | erot = 3.0411203817408 | epot = -37.3360474756729 | etot = -29.7306091447052 -616000 ekin = 4.48538645093135 | erot = 2.98636794618235 | epot = -37.2843360454654 | etot = -29.8125816483517 -617000 ekin = 4.35777724185508 | erot = 3.27046740448594 | epot = -37.2149609045278 | etot = -29.5867162581867 -618000 ekin = 4.13929013645531 | erot = 3.31436963968888 | epot = -37.1380165806133 | etot = -29.6843568044691 -619000 ekin = 3.99812604761941 | erot = 3.8069721617963 | epot = -37.0480074184854 | etot = -29.2429092090697 -620000 ekin = 3.75775297824748 | erot = 3.88935078371488 | epot = -37.0016709350121 | etot = -29.3545671730497 -621000 ekin = 3.59837254942665 | erot = 3.36974253347194 | epot = -36.9571399968608 | etot = -29.9890249139622 -622000 ekin = 3.52853751549672 | erot = 3.57220920853455 | epot = -36.9826672270776 | etot = -29.8819205030464 -623000 ekin = 3.44776927445729 | erot = 3.68524482792421 | epot = -37.0520182183616 | etot = -29.9190041159801 -624000 ekin = 3.42459051153803 | erot = 4.10039189185604 | epot = -37.1561365046956 | etot = -29.6311541013015 -625000 ekin = 3.47427533928245 | erot = 4.19316198399255 | epot = -37.3128709391508 | etot = -29.6454336158758 -626000 ekin = 3.59243588690058 | erot = 4.25331544595912 | epot = -37.4538356021372 | etot = -29.6080842692775 -627000 ekin = 3.65834270574552 | erot = 3.84587709669878 | epot = -37.5560189371567 | etot = -30.0517991347124 -628000 ekin = 3.70047562334578 | erot = 3.68821102783487 | epot = -37.6346624168371 | etot = -30.2459757656565 -629000 ekin = 3.73516234913433 | erot = 3.92476956261683 | epot = -37.7008434862915 | etot = -30.0409115745404 -630000 ekin = 3.81181204861757 | erot = 3.95913149926755 | epot = -37.7335643601767 | etot = -29.9626208122916 -631000 ekin = 3.81645534702376 | erot = 3.13210702566919 | epot = -37.7706097068457 | etot = -30.8220473341528 -632000 ekin = 3.83367227377587 | erot = 3.16390787891897 | epot = -37.8179976528052 | etot = -30.8204175001103 -633000 ekin = 3.78875173101134 | erot = 3.28627876080406 | epot = -37.8551980571895 | etot = -30.7801675653741 -634000 ekin = 3.6443572434567 | erot = 3.54689069849334 | epot = -37.8771184407041 | etot = -30.685870498754 -635000 ekin = 3.74927918910692 | erot = 3.50067245026003 | epot = -37.9120332365851 | etot = -30.6620815972182 -636000 ekin = 3.89890106913058 | erot = 3.51590480850449 | epot = -37.9883703460315 | etot = -30.5735644683965 -637000 ekin = 3.98051852239103 | erot = 3.51683885701818 | epot = -38.1188954220066 | etot = -30.6215380425974 -638000 ekin = 4.18679252196735 | erot = 3.48363716100453 | epot = -38.3003898519918 | etot = -30.6299601690199 -639000 ekin = 4.29259370089823 | erot = 3.44532403016775 | epot = -38.5009165327291 | etot = -30.7629988016631 -640000 ekin = 4.33862023546748 | erot = 3.6140024868752 | epot = -38.6627935284696 | etot = -30.710170806127 -641000 ekin = 4.47895119284614 | erot = 3.60758277909088 | epot = -38.7986251266555 | etot = -30.7120911547185 -642000 ekin = 4.48471207018753 | erot = 3.75535910837188 | epot = -38.8636204148756 | etot = -30.6235492363162 -643000 ekin = 4.56445558617346 | erot = 3.81552004634158 | epot = -38.8645537025221 | etot = -30.4845780700071 -644000 ekin = 4.7332947847572 | erot = 3.55885168491642 | epot = -38.8054956282287 | etot = -30.5133491585551 -645000 ekin = 4.69129439625574 | erot = 3.28200064721723 | epot = -38.7015474297407 | etot = -30.7282523862678 -646000 ekin = 4.5858300200132 | erot = 3.40859569463286 | epot = -38.5478616511676 | etot = -30.5534359365215 -647000 ekin = 4.60741071742922 | erot = 3.38831322436686 | epot = -38.3932861693423 | etot = -30.3975622275462 -648000 ekin = 4.51463144345975 | erot = 3.24274100333129 | epot = -38.2758434893351 | etot = -30.518471042544 -649000 ekin = 4.55491099792928 | erot = 3.31738105307143 | epot = -38.2201110845426 | etot = -30.3478190335419 -650000 ekin = 4.67226589728797 | erot = 3.60950811156238 | epot = -38.2202225605506 | etot = -29.9384485517003 -651000 ekin = 4.60851815831642 | erot = 3.77278937705218 | epot = -38.253633099544 | etot = -29.8723255641754 -652000 ekin = 4.67845920019102 | erot = 3.39376240096224 | epot = -38.2868824175934 | etot = -30.2146608164401 -653000 ekin = 4.66844839257092 | erot = 3.83803199311147 | epot = -38.3235322989533 | etot = -29.8170519132709 -654000 ekin = 4.71048953319322 | erot = 3.48299287365118 | epot = -38.3580887397251 | etot = -30.1646063328807 -655000 ekin = 4.59645355598624 | erot = 3.74782025282036 | epot = -38.4145657066931 | etot = -30.0702918978865 -656000 ekin = 4.75902771581103 | erot = 3.81874385847387 | epot = -38.4693742928372 | etot = -29.8916027185523 -657000 ekin = 4.6466802059304 | erot = 3.66656001060126 | epot = -38.4843211797294 | etot = -30.1710809631977 -658000 ekin = 4.55836001875084 | erot = 3.93329833863017 | epot = -38.4803826070965 | etot = -29.9887242497155 -659000 ekin = 4.55537392119735 | erot = 3.62854716021115 | epot = -38.4363459414659 | etot = -30.2524248600574 -660000 ekin = 4.415513333681 | erot = 3.65395590072885 | epot = -38.3663969488347 | etot = -30.2969277144248 -661000 ekin = 4.32449081576482 | erot = 3.7409091571769 | epot = -38.2884247485437 | etot = -30.223024775602 -662000 ekin = 4.23823124010357 | erot = 3.58833666048794 | epot = -38.1946280661735 | etot = -30.368060165582 -663000 ekin = 4.32618520330365 | erot = 3.71369597709404 | epot = -38.0940311251123 | etot = -30.0541499447146 -664000 ekin = 4.30987713127752 | erot = 3.55193027406448 | epot = -38.0118003167728 | etot = -30.1499929114308 -665000 ekin = 4.32971268964141 | erot = 3.40416985470625 | epot = -37.9630121098135 | etot = -30.2291295654658 -666000 ekin = 4.30397058329246 | erot = 3.24563244836278 | epot = -37.9564459426243 | etot = -30.4068429109691 -667000 ekin = 4.23802718761169 | erot = 3.57923047722669 | epot = -37.9111709997968 | etot = -30.0939133349584 -668000 ekin = 4.17750835985179 | erot = 3.42921371885248 | epot = -37.8409684237743 | etot = -30.23424634507 -669000 ekin = 4.10123021238957 | erot = 3.38759831293404 | epot = -37.7732457913401 | etot = -30.2844172660165 -670000 ekin = 3.96563796265774 | erot = 3.59480187806746 | epot = -37.6965941156385 | etot = -30.1361542749133 -671000 ekin = 3.96406262528475 | erot = 3.64073126780244 | epot = -37.5753442355429 | etot = -29.9705503424557 -672000 ekin = 4.04265318678515 | erot = 3.67979591145804 | epot = -37.4296504342376 | etot = -29.7072013359944 -673000 ekin = 3.99224066234878 | erot = 3.52190422085284 | epot = -37.3047157518842 | etot = -29.7905708686826 -674000 ekin = 3.97681715793541 | erot = 3.75368024393795 | epot = -37.1885781675146 | etot = -29.4580807656412 -675000 ekin = 3.85833621087039 | erot = 3.97050815664598 | epot = -37.1417466549722 | etot = -29.3129022874559 -676000 ekin = 3.77676206895617 | erot = 3.79811590545672 | epot = -37.1253534099229 | etot = -29.55047543551 -677000 ekin = 3.78226586281959 | erot = 3.88942769355395 | epot = -37.138562963627 | etot = -29.4668694072535 -678000 ekin = 3.61579087416923 | erot = 3.83629032138265 | epot = -37.1880190743622 | etot = -29.7359378788103 -679000 ekin = 3.59940694058676 | erot = 3.92320694106409 | epot = -37.2411006365046 | etot = -29.7184867548538 -680000 ekin = 3.59936088858668 | erot = 3.59198808770724 | epot = -37.3103059663064 | etot = -30.1189569900125 -681000 ekin = 3.55068173353926 | erot = 3.62032338399716 | epot = -37.3978871586221 | etot = -30.2268820410857 -682000 ekin = 3.64312616149461 | erot = 3.63220095729225 | epot = -37.4824268307594 | etot = -30.2070997119725 -683000 ekin = 3.59147144886471 | erot = 4.00540882269656 | epot = -37.5784304648839 | etot = -29.9815501933227 -684000 ekin = 3.72558767154378 | erot = 4.43134049971583 | epot = -37.6663536443174 | etot = -29.5094254730578 -685000 ekin = 3.75700113340411 | erot = 4.4205179107468 | epot = -37.7011506850387 | etot = -29.5236316408878 -686000 ekin = 3.68716829673498 | erot = 4.29446170846275 | epot = -37.7134415714992 | etot = -29.7318115663015 -687000 ekin = 3.64818503755745 | erot = 4.53150873331275 | epot = -37.711537143075 | etot = -29.5318433722048 -688000 ekin = 3.65898677055768 | erot = 4.19517143645003 | epot = -37.717932414298 | etot = -29.8637742072903 -689000 ekin = 3.62053492938482 | erot = 4.90634872884688 | epot = -37.7254294906479 | etot = -29.1985458324162 -690000 ekin = 3.66313798116701 | erot = 4.56796147260999 | epot = -37.7316773182822 | etot = -29.5005778645052 -691000 ekin = 3.71240687811142 | erot = 4.32729443264309 | epot = -37.6986701891449 | etot = -29.6589688783904 -692000 ekin = 3.77937222983663 | erot = 4.25209713638369 | epot = -37.6463069321163 | etot = -29.614837565896 -693000 ekin = 3.82528389687004 | erot = 4.44391854020412 | epot = -37.5813521083395 | etot = -29.3121496712654 -694000 ekin = 3.77132757417721 | erot = 4.30342910423483 | epot = -37.529253149734 | etot = -29.4544964713219 -695000 ekin = 3.87816824099576 | erot = 3.61664690986643 | epot = -37.4977174174722 | etot = -30.00290226661 -696000 ekin = 4.03561630547949 | erot = 3.14881777436795 | epot = -37.5165237009965 | etot = -30.3320896211491 -697000 ekin = 4.10221303088943 | erot = 2.74688055821585 | epot = -37.6237315563432 | etot = -30.7746379672379 -698000 ekin = 4.33198843808374 | erot = 2.54448976763407 | epot = -37.8109238872742 | etot = -30.9344456815564 -699000 ekin = 4.45835519306672 | erot = 2.83727562812266 | epot = -38.0765099491825 | etot = -30.7808791279931 -700000 ekin = 4.62566765847138 | erot = 3.20413023616691 | epot = -38.366668680577 | etot = -30.5368707859387 -701000 ekin = 4.7119895804198 | erot = 3.20500762759523 | epot = -38.6531148244762 | etot = -30.7361176164611 -702000 ekin = 4.70320353975511 | erot = 3.49669921722524 | epot = -38.9020142648732 | etot = -30.7021115078929 -703000 ekin = 4.71666592176221 | erot = 3.4360587579244 | epot = -39.0983570180766 | etot = -30.94563233839 -704000 ekin = 4.81119997223628 | erot = 3.68842954975269 | epot = -39.2326154199854 | etot = -30.7329858979964 -705000 ekin = 4.76635995985857 | erot = 4.27225880905617 | epot = -39.3045830193539 | etot = -30.2659642504391 -706000 ekin = 4.61239689007865 | erot = 4.45743851438183 | epot = -39.3303553159894 | etot = -30.2605199115289 -707000 ekin = 4.4339240392442 | erot = 5.00090751066084 | epot = -39.3012148785927 | etot = -29.8663833286877 -708000 ekin = 4.49363980378809 | erot = 4.44827137132344 | epot = -39.185594508632 | etot = -30.2436833335204 -709000 ekin = 4.38087413515997 | erot = 4.33993340714001 | epot = -39.0225667156706 | etot = -30.3017591733706 -710000 ekin = 4.30084034805687 | erot = 4.18416076229502 | epot = -38.8018325665079 | etot = -30.3168314561561 -711000 ekin = 4.16061239283927 | erot = 3.75964607710248 | epot = -38.6119256895404 | etot = -30.6916672195987 -712000 ekin = 4.02785073941563 | erot = 3.9187380855626 | epot = -38.5032151267496 | etot = -30.5566263017714 -713000 ekin = 3.91042694307514 | erot = 4.02474708082432 | epot = -38.4555203424355 | etot = -30.5203463185361 -714000 ekin = 3.91972154955273 | erot = 3.86911398530045 | epot = -38.439191113934 | etot = -30.6503555790808 -715000 ekin = 3.7943288518239 | erot = 3.97493955426896 | epot = -38.464893488298 | etot = -30.6956250822051 -716000 ekin = 3.81379173421822 | erot = 4.12773796628725 | epot = -38.5344978321894 | etot = -30.592968131684 -717000 ekin = 3.81338083287865 | erot = 3.91040514076924 | epot = -38.6119475932714 | etot = -30.8881616196235 -718000 ekin = 3.98031853847212 | erot = 3.63481705596705 | epot = -38.678649410417 | etot = -31.0635138159778 -719000 ekin = 3.8566755406953 | erot = 3.54568346865612 | epot = -38.7335222105701 | etot = -31.3311632012187 -720000 ekin = 3.82130999837905 | erot = 3.12899985812948 | epot = -38.8000481793519 | etot = -31.8497383228434 -721000 ekin = 3.84625676410587 | erot = 3.33090070721984 | epot = -38.8362758074818 | etot = -31.6591183361561 -722000 ekin = 3.79224716661399 | erot = 3.20659617994805 | epot = -38.8301147634646 | etot = -31.8312714169026 -723000 ekin = 3.89270036914645 | erot = 3.09341373486911 | epot = -38.7612142662691 | etot = -31.7751001622535 -724000 ekin = 3.88950015267432 | erot = 3.37593260372107 | epot = -38.6472208331853 | etot = -31.3817880767899 -725000 ekin = 3.89253643906726 | erot = 3.36325650610821 | epot = -38.527809683643 | etot = -31.2720167384676 -726000 ekin = 3.77207579735124 | erot = 2.95762270097696 | epot = -38.4162496849588 | etot = -31.6865511866306 -727000 ekin = 3.85895083084016 | erot = 2.69741467226748 | epot = -38.3204112624909 | etot = -31.7640457593832 -728000 ekin = 3.95735248448051 | erot = 2.9120886214562 | epot = -38.2269317498774 | etot = -31.3574906439407 -729000 ekin = 3.90116579496187 | erot = 2.68023881807523 | epot = -38.1837112825913 | etot = -31.6023066695542 -730000 ekin = 3.96318220229617 | erot = 2.52640600275291 | epot = -38.1795006550048 | etot = -31.6899124499557 -731000 ekin = 4.07163559325283 | erot = 2.47524828245717 | epot = -38.2208467965997 | etot = -31.6739629208897 -732000 ekin = 4.1233129439478 | erot = 2.59059397612226 | epot = -38.2785246774241 | etot = -31.5646177573541 -733000 ekin = 4.18393032106832 | erot = 2.72580269413636 | epot = -38.392037043721 | etot = -31.4823040285164 -734000 ekin = 4.22490204001114 | erot = 2.94025387724302 | epot = -38.5577268408556 | etot = -31.3925709236014 -735000 ekin = 4.4163790638128 | erot = 3.39000978300276 | epot = -38.7520895879279 | etot = -30.9457007411124 -736000 ekin = 4.52682105512921 | erot = 3.59384799521515 | epot = -39.0007836443239 | etot = -30.8801145939796 -737000 ekin = 4.54518518822971 | erot = 3.67606395235669 | epot = -39.2431861398733 | etot = -31.0219369992869 -738000 ekin = 4.5411183131362 | erot = 3.87514152367616 | epot = -39.4689573474102 | etot = -31.0526975105979 -739000 ekin = 4.64515651334117 | erot = 3.86830954896682 | epot = -39.6580785017876 | etot = -31.1446124394797 -740000 ekin = 4.59721923359587 | erot = 3.83234514918728 | epot = -39.7800787241316 | etot = -31.3505143413485 -741000 ekin = 4.54920694202201 | erot = 4.22873772666809 | epot = -39.8001498706487 | etot = -31.0222052019586 -742000 ekin = 4.37775553859947 | erot = 4.07719515191239 | epot = -39.77291919362 | etot = -31.3179685031081 -743000 ekin = 4.3556617165814 | erot = 4.19296317409631 | epot = -39.6826493457459 | etot = -31.1340244550682 -744000 ekin = 4.35520781857197 | erot = 4.03027041959899 | epot = -39.5404877687078 | etot = -31.1550095305368 -745000 ekin = 4.22626887984311 | erot = 3.36034348052822 | epot = -39.3612863690873 | etot = -31.774674008716 -746000 ekin = 4.11995949308898 | erot = 3.27667360498754 | epot = -39.1619120183871 | etot = -31.7652789203105 -747000 ekin = 4.14400839200212 | erot = 3.30199438470027 | epot = -38.9827326721257 | etot = -31.5367298954233 -748000 ekin = 4.00468940718665 | erot = 3.14625781984354 | epot = -38.8044398216776 | etot = -31.6534925946474 -749000 ekin = 3.84115389861437 | erot = 2.95470003366606 | epot = -38.6687005011651 | etot = -31.8728465688847 -750000 ekin = 3.65410258827795 | erot = 3.15459365563751 | epot = -38.5278602215806 | etot = -31.7191639776652 -751000 ekin = 3.60281847230518 | erot = 3.24631581000329 | epot = -38.4153933025752 | etot = -31.5662590202667 -752000 ekin = 3.67731217795101 | erot = 3.63832283099237 | epot = -38.3028409880035 | etot = -30.9872059790601 -753000 ekin = 3.57605485188786 | erot = 3.26752665173283 | epot = -38.216520404161 | etot = -31.3729389005403 -754000 ekin = 3.69078656100566 | erot = 3.07077330953207 | epot = -38.2008529421059 | etot = -31.4392930715682 -755000 ekin = 3.70168225637966 | erot = 2.97263399944781 | epot = -38.2287093031121 | etot = -31.5543930472847 -756000 ekin = 3.82302121275981 | erot = 3.17826892909081 | epot = -38.3101319992817 | etot = -31.3088418574311 -757000 ekin = 3.92969183976116 | erot = 3.24398381681727 | epot = -38.4229976799529 | etot = -31.2493220233745 -758000 ekin = 4.01825553851179 | erot = 2.96087889455689 | epot = -38.5603809302419 | etot = -31.5812464971732 -759000 ekin = 4.1594567829226 | erot = 3.31368855914157 | epot = -38.7240687265499 | etot = -31.2509233844857 -760000 ekin = 4.08337495041284 | erot = 3.28527114059582 | epot = -38.8845645171708 | etot = -31.5159184261621 -761000 ekin = 4.14862342701 | erot = 3.30586771709934 | epot = -38.9896780479041 | etot = -31.5351869037948 -762000 ekin = 4.15291891523588 | erot = 3.21578962032623 | epot = -39.035237071941 | etot = -31.6665285363789 -763000 ekin = 4.13154828483799 | erot = 3.3900507889809 | epot = -39.064056495297 | etot = -31.5424574214781 -764000 ekin = 4.11445022984107 | erot = 3.78778087021378 | epot = -39.0692483990251 | etot = -31.1670172989703 -765000 ekin = 3.94937442988368 | erot = 3.99811330721235 | epot = -39.0421921917086 | etot = -31.0947044546125 -766000 ekin = 3.90772961551848 | erot = 4.01819621928476 | epot = -38.9772379154489 | etot = -31.0513120806457 -767000 ekin = 3.91865092379335 | erot = 3.66675942927309 | epot = -38.8570109636997 | etot = -31.2716006106333 -768000 ekin = 3.90455829915367 | erot = 3.57997769181359 | epot = -38.7106990781798 | etot = -31.2261630872126 -769000 ekin = 3.79614462627832 | erot = 3.72589479531036 | epot = -38.5987325117514 | etot = -31.0766930901627 -770000 ekin = 3.84943042371494 | erot = 3.41445940258821 | epot = -38.5242031402412 | etot = -31.260313313938 -771000 ekin = 3.93726861106208 | erot = 3.22573743650862 | epot = -38.4470290210347 | etot = -31.284022973464 -772000 ekin = 3.96999789478603 | erot = 3.15006319998271 | epot = -38.4433830504299 | etot = -31.3233219556611 -773000 ekin = 3.90264203603896 | erot = 3.08286085672449 | epot = -38.4596433115511 | etot = -31.4741404187877 -774000 ekin = 4.05136357587228 | erot = 3.17001936426352 | epot = -38.5137422973686 | etot = -31.2923593572328 -775000 ekin = 4.11418642080986 | erot = 3.81754399179959 | epot = -38.5927804349064 | etot = -30.661050022297 -776000 ekin = 4.11481050991311 | erot = 3.55328099460662 | epot = -38.6754580889835 | etot = -31.0073665844638 -777000 ekin = 4.23423405077874 | erot = 3.581082705526 | epot = -38.7616944176802 | etot = -30.9463776613754 -778000 ekin = 4.22244262963935 | erot = 3.64411855451435 | epot = -38.8420321429421 | etot = -30.9754709587884 -779000 ekin = 4.20492205038599 | erot = 3.89270804286641 | epot = -38.9009656289589 | etot = -30.8033355357065 -780000 ekin = 4.19457435208215 | erot = 3.98994130977104 | epot = -38.9050369874365 | etot = -30.7205213255833 -781000 ekin = 4.33837315790481 | erot = 3.45852422770952 | epot = -38.858660577552 | etot = -31.0617631919377 -782000 ekin = 4.36357496915256 | erot = 3.10010011432264 | epot = -38.7868584055569 | etot = -31.3231833220817 -783000 ekin = 4.42162598039043 | erot = 3.42028138737015 | epot = -38.7233668668894 | etot = -30.8814594991289 -784000 ekin = 4.52915280589042 | erot = 3.46746509226011 | epot = -38.6388342149203 | etot = -30.6422163167698 -785000 ekin = 4.55159402138248 | erot = 3.36141401661284 | epot = -38.5160993571772 | etot = -30.6030913191819 -786000 ekin = 4.4107707826177 | erot = 3.55728141641266 | epot = -38.3921286555455 | etot = -30.4240764565152 -787000 ekin = 4.54739828665105 | erot = 3.81681111076945 | epot = -38.2843232861691 | etot = -29.9201138887486 -788000 ekin = 4.51350891647147 | erot = 3.90594890385671 | epot = -38.2029645190102 | etot = -29.783506698682 -789000 ekin = 4.41183434492797 | erot = 4.01545730842708 | epot = -38.1545360413067 | etot = -29.7272443879517 -790000 ekin = 4.3621929679848 | erot = 4.38022337925409 | epot = -38.1642768248249 | etot = -29.4218604775861 -791000 ekin = 4.36856935453188 | erot = 4.10044084346352 | epot = -38.22190556061 | etot = -29.7528953626146 -792000 ekin = 4.15750522427246 | erot = 4.31220830506834 | epot = -38.3006248567473 | etot = -29.8309113274065 -793000 ekin = 4.04895474142999 | erot = 4.47406069249712 | epot = -38.4166817679431 | etot = -29.893666334016 -794000 ekin = 4.06782077729039 | erot = 4.5423761591342 | epot = -38.549740398153 | etot = -29.9395434617284 -795000 ekin = 4.13325369560992 | erot = 4.67664308533435 | epot = -38.7140310649861 | etot = -29.9041342840418 -796000 ekin = 4.24810673699366 | erot = 4.55090018691374 | epot = -38.8628377912584 | etot = -30.0638308673509 -797000 ekin = 4.47820483480062 | erot = 4.3710582070195 | epot = -39.0073103741375 | etot = -30.1580473323174 -798000 ekin = 4.41687882033674 | erot = 4.03192844801015 | epot = -39.1717655165837 | etot = -30.7229582482368 -799000 ekin = 4.51272621151671 | erot = 3.80275615695399 | epot = -39.326421036722 | etot = -31.0109386682513 -800000 ekin = 4.55406747540001 | erot = 3.86603589563195 | epot = -39.4550921156883 | etot = -31.0349887446563 -801000 ekin = 4.71425753043944 | erot = 4.19401636489447 | epot = -39.54550685129 | etot = -30.6372329559561 -802000 ekin = 4.73096724901053 | erot = 4.66018334519234 | epot = -39.5972922700863 | etot = -30.2061416758834 -803000 ekin = 4.62379738113316 | erot = 4.84687313016553 | epot = -39.6033097238912 | etot = -30.1326392125925 -804000 ekin = 4.73211781117971 | erot = 4.65405100631757 | epot = -39.5980929919843 | etot = -30.2119241744871 -805000 ekin = 4.74990370273775 | erot = 5.03061291222782 | epot = -39.5694988655322 | etot = -29.7889822505666 -806000 ekin = 4.71376969100982 | erot = 4.52737209746849 | epot = -39.5309941756429 | etot = -30.2898523871646 -807000 ekin = 4.86079475139436 | erot = 4.60056901312775 | epot = -39.4997078348835 | etot = -30.0383440703614 -808000 ekin = 4.80209833525355 | erot = 4.45818548395654 | epot = -39.4704788837952 | etot = -30.2101950645852 -809000 ekin = 4.63770011287829 | erot = 4.50410245159981 | epot = -39.4133092695816 | etot = -30.2715067051035 -810000 ekin = 4.5884562354768 | erot = 4.59839740206875 | epot = -39.3630399165046 | etot = -30.1761862789591 -811000 ekin = 4.49885529137743 | erot = 3.9887801293149 | epot = -39.2630135095319 | etot = -30.7753780888396 -812000 ekin = 4.26896362698773 | erot = 3.78568800845431 | epot = -39.1138584925267 | etot = -31.0592068570847 -813000 ekin = 4.13473287838125 | erot = 3.67097615600868 | epot = -38.9684769118809 | etot = -31.1627678774909 -814000 ekin = 3.94776533151707 | erot = 3.94579982777182 | epot = -38.8393181931019 | etot = -30.945753033813 -815000 ekin = 3.90824876714858 | erot = 4.04132924638676 | epot = -38.7551601823022 | etot = -30.8055821687669 -816000 ekin = 3.78701127768462 | erot = 3.90301930977965 | epot = -38.6978803550943 | etot = -31.00784976763 -817000 ekin = 3.66292511898638 | erot = 3.94682412287947 | epot = -38.6270985077426 | etot = -31.0173492658768 -818000 ekin = 3.57247131276286 | erot = 4.1784329766224 | epot = -38.5581000447573 | etot = -30.807195755372 -819000 ekin = 3.53877880324505 | erot = 4.11647252852256 | epot = -38.470998731369 | etot = -30.8157473996014 -820000 ekin = 3.50671598439872 | erot = 4.2563179936087 | epot = -38.3521077332955 | etot = -30.5890737552881 -821000 ekin = 3.53103431342872 | erot = 3.63219688182932 | epot = -38.2011634572155 | etot = -31.0379322619575 -822000 ekin = 3.51951391759943 | erot = 3.61259288561799 | epot = -38.0560993175181 | etot = -30.9239925143007 -823000 ekin = 3.57671320020567 | erot = 3.17979253207746 | epot = -37.8872361758758 | etot = -31.1307304435927 -824000 ekin = 3.52000952110933 | erot = 3.12347116703119 | epot = -37.7532307820924 | etot = -31.1097500939519 -825000 ekin = 3.58955759313317 | erot = 3.15061432333255 | epot = -37.6359982536735 | etot = -30.8958263372078 -826000 ekin = 3.67361585241127 | erot = 3.02327306669 | epot = -37.5692124634558 | etot = -30.8723235443545 -827000 ekin = 3.81109350736614 | erot = 2.85212407416514 | epot = -37.5611625241688 | etot = -30.8979449426375 -828000 ekin = 3.90531542763314 | erot = 2.81227386436725 | epot = -37.5694328663447 | etot = -30.8518435743443 -829000 ekin = 3.84587100054134 | erot = 2.81493449341339 | epot = -37.6070676030483 | etot = -30.9462621090935 -830000 ekin = 3.92673136944215 | erot = 3.15236191191148 | epot = -37.6537469157601 | etot = -30.5746536344065 -831000 ekin = 3.93921284330496 | erot = 3.06450076609936 | epot = -37.7261731649981 | etot = -30.7224595555938 -832000 ekin = 3.97197612374622 | erot = 3.05649894744995 | epot = -37.8221989970108 | etot = -30.7937239258147 -833000 ekin = 3.93725030890251 | erot = 3.02665836452882 | epot = -37.937171835506 | etot = -30.9732631620747 -834000 ekin = 3.98146697711155 | erot = 3.02136079279364 | epot = -38.0629385880238 | etot = -31.0601108181186 -835000 ekin = 4.05052897985959 | erot = 3.17273406713199 | epot = -38.1835463837721 | etot = -30.9602833367805 -836000 ekin = 4.19040397553803 | erot = 3.26946027032966 | epot = -38.300933644763 | etot = -30.8410693988953 -837000 ekin = 4.23633886579814 | erot = 3.17722972050009 | epot = -38.3895940577245 | etot = -30.9760254714262 -838000 ekin = 4.2979004072249 | erot = 3.15450479842831 | epot = -38.4727069904852 | etot = -31.020301784832 -839000 ekin = 4.1827320503791 | erot = 3.33215565016996 | epot = -38.5543306618494 | etot = -31.0394429613003 -840000 ekin = 4.10684077367706 | erot = 3.38230089969601 | epot = -38.6241675017604 | etot = -31.1350258283873 -841000 ekin = 4.23749853699732 | erot = 4.07451157411686 | epot = -38.6954306161323 | etot = -30.3834205050181 -842000 ekin = 4.21536707994271 | erot = 4.23835126074064 | epot = -38.7619078222529 | etot = -30.3081894815695 -843000 ekin = 4.22215504966707 | erot = 4.35771502414032 | epot = -38.8129398935363 | etot = -30.2330698197289 -844000 ekin = 4.30121627933579 | erot = 4.37450016715715 | epot = -38.8385476120778 | etot = -30.1628311655849 -845000 ekin = 4.21550077214613 | erot = 4.14378307005664 | epot = -38.8237568245828 | etot = -30.4644729823801 -846000 ekin = 4.02238016824688 | erot = 4.51654867802969 | epot = -38.7905889780242 | etot = -30.2516601317477 -847000 ekin = 4.01810256512938 | erot = 4.26125017170757 | epot = -38.7339575587521 | etot = -30.4546048219152 -848000 ekin = 3.96232133970733 | erot = 4.11983424179415 | epot = -38.6313622633388 | etot = -30.5492066818373 -849000 ekin = 3.80836560854392 | erot = 4.28564223418282 | epot = -38.48959631527 | etot = -30.3955884725433 -850000 ekin = 3.69578896780274 | erot = 4.39587758868534 | epot = -38.3525607889923 | etot = -30.2608942325043 -851000 ekin = 3.41959969074419 | erot = 4.26064520104068 | epot = -38.1456854690895 | etot = -30.4654405773046 -852000 ekin = 3.30829887930773 | erot = 3.71835542085462 | epot = -37.9409715149429 | etot = -30.9143172147806 -853000 ekin = 3.35508979255709 | erot = 3.37030184945615 | epot = -37.7900455534541 | etot = -31.0646539114409 -854000 ekin = 3.27022944339444 | erot = 3.34212111159848 | epot = -37.7131840806896 | etot = -31.1008335256967 -855000 ekin = 3.1986122719394 | erot = 3.88856216577092 | epot = -37.6928018165187 | etot = -30.6056273788084 -856000 ekin = 3.06768638261931 | erot = 3.9829801102148 | epot = -37.727010473156 | etot = -30.6763439803219 -857000 ekin = 3.0284945827112 | erot = 3.90128373509548 | epot = -37.7894644617561 | etot = -30.8596861439494 -858000 ekin = 3.01766394874129 | erot = 3.81481515545785 | epot = -37.864155422239 | etot = -31.0316763180398 -859000 ekin = 3.04279727315571 | erot = 3.58850792531729 | epot = -37.9147104139937 | etot = -31.2834052155206 -860000 ekin = 3.12250083122178 | erot = 3.47152341944192 | epot = -37.9805991878281 | etot = -31.3865749371644 -861000 ekin = 3.08661234486258 | erot = 3.19104504877415 | epot = -38.0455048743499 | etot = -31.7678474807132 -862000 ekin = 3.21284829409282 | erot = 3.29871938445951 | epot = -38.0992348440439 | etot = -31.5876671654916 -863000 ekin = 3.30782920492319 | erot = 3.18791577959006 | epot = -38.1747149198293 | etot = -31.6789699353161 -864000 ekin = 3.42420257195633 | erot = 2.92388402618492 | epot = -38.2365375033582 | etot = -31.8884509052169 -865000 ekin = 3.34466551527703 | erot = 3.0972998859353 | epot = -38.301208351407 | etot = -31.8592429501947 -866000 ekin = 3.36174635490682 | erot = 3.3198551234471 | epot = -38.3565233653476 | etot = -31.6749218869937 -867000 ekin = 3.421839196855 | erot = 2.79592217571863 | epot = -38.3877893327294 | etot = -32.1700279601558 -868000 ekin = 3.36274087144654 | erot = 2.53957841641307 | epot = -38.4029375195829 | etot = -32.5006182317233 -869000 ekin = 3.40964507660633 | erot = 2.56691032353925 | epot = -38.36070725069 | etot = -32.3841518505444 -870000 ekin = 3.53716918539255 | erot = 2.78671187381857 | epot = -38.3296120297664 | etot = -32.0057309705553 -871000 ekin = 3.59594316640844 | erot = 2.64188707611858 | epot = -38.2798157408161 | etot = -32.0419854982891 -872000 ekin = 3.50734679867103 | erot = 2.53533702817681 | epot = -38.2086073023315 | etot = -32.1659234754836 -873000 ekin = 3.4916725837923 | erot = 2.78144827221659 | epot = -38.1271407877643 | etot = -31.8540199317554 -874000 ekin = 3.51303146719815 | erot = 2.71312702979827 | epot = -38.0371921369836 | etot = -31.8110336399872 -875000 ekin = 3.48945347772522 | erot = 2.94850163157192 | epot = -37.9788388329101 | etot = -31.540883723613 -876000 ekin = 3.56075870692742 | erot = 3.00511197452216 | epot = -37.9138095080296 | etot = -31.34793882658 -877000 ekin = 3.47758786865161 | erot = 3.1639084633419 | epot = -37.8677942057125 | etot = -31.226297873719 -878000 ekin = 3.30311825505464 | erot = 3.03452838302456 | epot = -37.8643582436494 | etot = -31.5267116055702 -879000 ekin = 3.24374156245722 | erot = 3.40785973601244 | epot = -37.8934655456587 | etot = -31.241864247189 -880000 ekin = 3.37573093292728 | erot = 3.29280897525387 | epot = -37.94427513544 | etot = -31.2757352272588 -881000 ekin = 3.39840544569008 | erot = 3.5585281271734 | epot = -38.000888118187 | etot = -31.0439545453235 -882000 ekin = 3.58967670735277 | erot = 3.3599507497553 | epot = -38.026551897189 | etot = -31.0769244400809 -883000 ekin = 3.50982611331089 | erot = 2.96694324238043 | epot = -38.0094926569536 | etot = -31.5327233012623 -884000 ekin = 3.40446481075003 | erot = 3.29501620823909 | epot = -37.9974315131722 | etot = -31.2979504941831 -885000 ekin = 3.35965929451984 | erot = 3.11716654513079 | epot = -38.0104898466533 | etot = -31.5336640070026 -886000 ekin = 3.4398820879568 | erot = 3.03035945423277 | epot = -38.0693633346149 | etot = -31.5991217924253 -887000 ekin = 3.45628684947257 | erot = 3.13318789403751 | epot = -38.1677034351609 | etot = -31.5782286916509 -888000 ekin = 3.56219309594464 | erot = 3.51843891461384 | epot = -38.2809194479114 | etot = -31.2002874373529 -889000 ekin = 3.66415644518222 | erot = 4.27546474777851 | epot = -38.4171028829354 | etot = -30.4774816899746 -890000 ekin = 3.59199164776021 | erot = 4.54716655442229 | epot = -38.5531146541751 | etot = -30.4139564519926 -891000 ekin = 3.48698350789935 | erot = 4.75701182525661 | epot = -38.6580895919219 | etot = -30.414094258766 -892000 ekin = 3.5156285575795 | erot = 4.92508483334396 | epot = -38.7362622656564 | etot = -30.295548874733 -893000 ekin = 3.47661113338826 | erot = 5.21569244219348 | epot = -38.7939526432619 | etot = -30.1016490676802 -894000 ekin = 3.33377890272878 | erot = 5.32415823975917 | epot = -38.7809839614902 | etot = -30.1230468190022 -895000 ekin = 3.43478318369595 | erot = 5.41005154361594 | epot = -38.7354883491901 | etot = -29.8906536218782 -896000 ekin = 3.35681124753247 | erot = 5.27612600451783 | epot = -38.6441447733837 | etot = -30.0112075213334 -897000 ekin = 3.28668538949691 | erot = 5.17803324766006 | epot = -38.5248966927269 | etot = -30.0601780555699 -898000 ekin = 3.28286469703046 | erot = 5.1387437476849 | epot = -38.3749221439183 | etot = -29.9533136992029 -899000 ekin = 3.28106900834727 | erot = 5.02377463132161 | epot = -38.2159550339516 | etot = -29.9111113942827 -900000 ekin = 3.2375487758962 | erot = 4.74128859066627 | epot = -38.0678968923378 | etot = -30.0890595257754 -901000 ekin = 3.13978298302567 | erot = 4.32431292426646 | epot = -37.9137652588161 | etot = -30.449669351524 -902000 ekin = 3.14110495369396 | erot = 3.63711917032585 | epot = -37.7967183247471 | etot = -31.0184942007273 -903000 ekin = 3.11835106948985 | erot = 3.58358384011855 | epot = -37.7069569192994 | etot = -31.005022009691 -904000 ekin = 3.07376219479306 | erot = 3.52931006844845 | epot = -37.659746760624 | etot = -31.0566744973825 -905000 ekin = 3.06812362454382 | erot = 3.78913234205786 | epot = -37.6633180135035 | etot = -30.8060620469019 -906000 ekin = 3.16118254583051 | erot = 3.68210315785587 | epot = -37.7114125889236 | etot = -30.8681268852372 -907000 ekin = 3.05937736690029 | erot = 3.63166351278053 | epot = -37.8094278488434 | etot = -31.1183869691625 -908000 ekin = 3.20197665753497 | erot = 3.64411333350696 | epot = -37.8953945586469 | etot = -31.049304567605 -909000 ekin = 3.13419888287821 | erot = 3.44894287146556 | epot = -37.9553359165691 | etot = -31.3721941622254 -910000 ekin = 3.20114546563037 | erot = 3.42446813676887 | epot = -38.0249179476088 | etot = -31.3993043452096 -911000 ekin = 3.18332024249094 | erot = 3.30496399638702 | epot = -38.1090485606 | etot = -31.620764321722 -912000 ekin = 3.26276595850353 | erot = 3.24471741353574 | epot = -38.2096715613879 | etot = -31.7021881893487 -913000 ekin = 3.26815619138256 | erot = 3.26266624315757 | epot = -38.3821519588595 | etot = -31.8513295243194 -914000 ekin = 3.35412635067739 | erot = 3.33562334375849 | epot = -38.6092123987843 | etot = -31.9194627043485 -915000 ekin = 3.50776663391044 | erot = 3.60910336634357 | epot = -38.8009254120373 | etot = -31.6840554117832 -916000 ekin = 3.52773139010892 | erot = 3.4674530941274 | epot = -38.9707688836107 | etot = -31.9755843993744 -917000 ekin = 3.59076210165245 | erot = 3.4117857351299 | epot = -39.0925719913729 | etot = -32.0900241545906 -918000 ekin = 3.7045685353762 | erot = 3.18226166796498 | epot = -39.1781408185662 | etot = -32.291310615225 -919000 ekin = 3.7803778042616 | erot = 3.08638967761954 | epot = -39.2569196438482 | etot = -32.3901521619671 -920000 ekin = 3.91060781137672 | erot = 3.28711158692169 | epot = -39.3298863351684 | etot = -32.13216693687 -921000 ekin = 3.94747979949415 | erot = 3.453377720589 | epot = -39.3932618134519 | etot = -31.9924042933687 -922000 ekin = 3.94814734356937 | erot = 3.67117615571543 | epot = -39.442934644951 | etot = -31.8236111456662 -923000 ekin = 3.96148195878582 | erot = 4.16418425189008 | epot = -39.4697891977422 | etot = -31.3441229870663 -924000 ekin = 3.93156231463918 | erot = 4.23364521862781 | epot = -39.4747062603531 | etot = -31.3094987270862 -925000 ekin = 3.98364691406514 | erot = 4.37102519058194 | epot = -39.455954311955 | etot = -31.1012822073079 -926000 ekin = 3.9016583484788 | erot = 4.53983917650241 | epot = -39.3838686479858 | etot = -30.9423711230046 -927000 ekin = 3.86159556963871 | erot = 4.93409467569021 | epot = -39.300982283531 | etot = -30.505292038202 -928000 ekin = 3.88113409255633 | erot = 4.54344659797527 | epot = -39.2237313850885 | etot = -30.7991506945569 -929000 ekin = 3.73601262143401 | erot = 4.54159517313976 | epot = -39.0907845737874 | etot = -30.8131767792137 -930000 ekin = 3.62890283946134 | erot = 4.23223960576951 | epot = -38.9310668930158 | etot = -31.0699244477849 -931000 ekin = 3.51130978751943 | erot = 3.75580234575066 | epot = -38.7496742883208 | etot = -31.4825621550507 -932000 ekin = 3.4360478582471 | erot = 3.85916877458121 | epot = -38.6047820584061 | etot = -31.3095654255778 -933000 ekin = 3.34945134482961 | erot = 4.10711762351075 | epot = -38.510851150919 | etot = -31.0542821825786 -934000 ekin = 3.25407370525944 | erot = 4.02198516513935 | epot = -38.4343657155247 | etot = -31.1583068451259 -935000 ekin = 3.15706754617314 | erot = 3.94213624960975 | epot = -38.3842418910869 | etot = -31.285038095304 -936000 ekin = 3.00555649828169 | erot = 4.41385590541793 | epot = -38.3669049397814 | etot = -30.9474925360818 -937000 ekin = 2.92065396617303 | erot = 4.74523400801327 | epot = -38.3453538388337 | etot = -30.6794658646474 -938000 ekin = 2.97141948473083 | erot = 4.76974809222715 | epot = -38.3344331957964 | etot = -30.5932656188384 -939000 ekin = 2.94512706992735 | erot = 4.54496818954263 | epot = -38.3244620131105 | etot = -30.8343667536406 -940000 ekin = 2.88288211336416 | erot = 4.33037795313973 | epot = -38.3226244406597 | etot = -31.1093643741558 -941000 ekin = 3.07298949733874 | erot = 4.38312166999019 | epot = -38.3472582821343 | etot = -30.8911471148054 -942000 ekin = 3.09399973822823 | erot = 4.23262521183808 | epot = -38.3627707290365 | etot = -31.0361457789702 -943000 ekin = 3.06928348074207 | erot = 4.29810120769338 | epot = -38.3654861580835 | etot = -30.998101469648 -944000 ekin = 3.05361136554805 | erot = 4.57752136432057 | epot = -38.3891229370224 | etot = -30.7579902071538 -945000 ekin = 3.10532952733951 | erot = 4.63116672909514 | epot = -38.4481824906829 | etot = -30.7116862342482 -946000 ekin = 3.22536073155712 | erot = 4.97756078019748 | epot = -38.5304457687249 | etot = -30.3275242569703 -947000 ekin = 3.22481791886517 | erot = 4.85505897631128 | epot = -38.6306947506546 | etot = -30.5508178554781 -948000 ekin = 3.31258286730503 | erot = 4.40885070504342 | epot = -38.7111926164559 | etot = -30.9897590441074 -949000 ekin = 3.26341750645552 | erot = 4.50805562556237 | epot = -38.7582101439125 | etot = -30.9867370118946 -950000 ekin = 3.38312193033102 | erot = 4.30600402576272 | epot = -38.7909813747401 | etot = -31.1018554186463 -951000 ekin = 3.45878288324884 | erot = 3.92069079490449 | epot = -38.8089483233273 | etot = -31.429474645174 -952000 ekin = 3.42224118561199 | erot = 3.67807790241712 | epot = -38.8172186174577 | etot = -31.7168995294286 -953000 ekin = 3.53558981303889 | erot = 3.54582501818219 | epot = -38.8376037887753 | etot = -31.7561889575542 -954000 ekin = 3.74081536790968 | erot = 3.65672942044178 | epot = -38.8501623721149 | etot = -31.4526175837635 -955000 ekin = 3.7110092436565 | erot = 3.89616377536048 | epot = -38.8864415175109 | etot = -31.279268498494 -956000 ekin = 3.60593207480456 | erot = 3.60411690044688 | epot = -38.9258365620746 | etot = -31.7157875868231 -957000 ekin = 3.49530434439501 | erot = 3.8241034771156 | epot = -38.9468561104726 | etot = -31.627448288962 -958000 ekin = 3.33025913134867 | erot = 4.09361696296971 | epot = -38.956606995368 | etot = -31.5327309010496 -959000 ekin = 3.2325863398297 | erot = 4.27749630513801 | epot = -38.9400855462526 | etot = -31.4300029012849 -960000 ekin = 3.31834124707632 | erot = 4.19167538415384 | epot = -38.9006120641382 | etot = -31.3905954329081 -961000 ekin = 3.23354004257456 | erot = 4.33974592386025 | epot = -38.8709462828606 | etot = -31.2976603164258 -962000 ekin = 3.27687420354399 | erot = 4.18251799625541 | epot = -38.8399997192037 | etot = -31.3806075194043 -963000 ekin = 3.18724078299274 | erot = 4.29559449615356 | epot = -38.8215635568142 | etot = -31.3387282776679 -964000 ekin = 3.16628639784324 | erot = 4.17929146419551 | epot = -38.8033314242486 | etot = -31.4577535622098 -965000 ekin = 3.23601563824504 | erot = 4.51599223822389 | epot = -38.7801591620084 | etot = -31.0281512855395 -966000 ekin = 3.35348380272829 | erot = 3.96490873951942 | epot = -38.7593006562386 | etot = -31.4409081139909 -967000 ekin = 3.47301428118912 | erot = 3.78771221675284 | epot = -38.7263415939782 | etot = -31.4656150960363 -968000 ekin = 3.51493406845154 | erot = 3.36657292776078 | epot = -38.7364041234232 | etot = -31.8548971272109 -969000 ekin = 3.55243037222546 | erot = 3.66068265314136 | epot = -38.7529284526025 | etot = -31.5398154272357 -970000 ekin = 3.63553363347268 | erot = 3.13050605621035 | epot = -38.8016144947089 | etot = -32.0355748050258 -971000 ekin = 3.62760421034414 | erot = 3.43775684259619 | epot = -38.870763787289 | etot = -31.8054027343487 -972000 ekin = 3.66143241862989 | erot = 4.04556663388647 | epot = -38.9794799026743 | etot = -31.2724808501579 -973000 ekin = 3.7246589822928 | erot = 3.97416581320673 | epot = -39.0667487302084 | etot = -31.3679239347088 -974000 ekin = 3.99953950913791 | erot = 4.13912764019193 | epot = -39.1431741069697 | etot = -31.0045069576398 -975000 ekin = 4.00465817345131 | erot = 3.99525896460893 | epot = -39.1948973492942 | etot = -31.194980211234 -976000 ekin = 4.16803719317624 | erot = 4.27607609453618 | epot = -39.2042146461381 | etot = -30.7601013584257 -977000 ekin = 4.27763535208348 | erot = 4.3578537464676 | epot = -39.1647674598218 | etot = -30.5292783612708 -978000 ekin = 4.21509832146809 | erot = 3.96978575035229 | epot = -39.0661575270878 | etot = -30.8812734552674 -979000 ekin = 4.1121993977163 | erot = 3.86340161937279 | epot = -38.9126163242263 | etot = -30.9370153071372 -980000 ekin = 4.08548639230676 | erot = 3.71918260809163 | epot = -38.7460650378699 | etot = -30.9413960374715 -981000 ekin = 4.02033461236246 | erot = 3.54042819636898 | epot = -38.597187758635 | etot = -31.0364249499036 -982000 ekin = 4.05981657544079 | erot = 3.65178477672055 | epot = -38.4729888125583 | etot = -30.761387460397 -983000 ekin = 4.15649242216497 | erot = 3.62195027480226 | epot = -38.3342599610661 | etot = -30.5558172640988 -984000 ekin = 4.15445943144041 | erot = 3.41256983843898 | epot = -38.1946691276127 | etot = -30.6276398577333 -985000 ekin = 3.8765990108719 | erot = 3.43767805044635 | epot = -38.0505436384558 | etot = -30.7362665771376 -986000 ekin = 3.85786856381243 | erot = 3.30334700587336 | epot = -37.8996934133204 | etot = -30.7384778436346 -987000 ekin = 3.87294863787324 | erot = 3.15398232754985 | epot = -37.7929706719646 | etot = -30.7660397065415 -988000 ekin = 3.93790531951922 | erot = 3.08701498108577 | epot = -37.6532967522442 | etot = -30.6283764516392 -989000 ekin = 3.83115351568816 | erot = 3.07802242316593 | epot = -37.5101193189106 | etot = -30.6009433800565 -990000 ekin = 3.81048959043177 | erot = 3.11196082795564 | epot = -37.3832609771668 | etot = -30.4608105587794 -991000 ekin = 3.71517412131507 | erot = 3.09240412040415 | epot = -37.2833659467137 | etot = -30.4757877049945 -992000 ekin = 3.63849701384077 | erot = 2.99887074192575 | epot = -37.1786754428024 | etot = -30.5413076870359 -993000 ekin = 3.63209056043319 | erot = 3.27649085900159 | epot = -37.0906927302528 | etot = -30.182111310818 -994000 ekin = 3.59828390693157 | erot = 3.83169777268287 | epot = -37.0255816353103 | etot = -29.5955999556959 -995000 ekin = 3.75927077522085 | erot = 3.45385861701398 | epot = -36.9690811728773 | etot = -29.7559517806424 -996000 ekin = 3.7162823443018 | erot = 3.37243499359149 | epot = -36.9421300931431 | etot = -29.8534127552498 -997000 ekin = 3.60416089411945 | erot = 3.31461433836006 | epot = -36.952810875641 | etot = -30.0340356431615 -998000 ekin = 3.71457183702559 | erot = 3.42780251384754 | epot = -37.0325234658195 | etot = -29.8901491149464 -999000 ekin = 3.78703773886275 | erot = 3.63993408891199 | epot = -37.154809159371 | etot = -29.7278373315963 -1000000 ekin = 3.83883486112593 | erot = 3.47192929391939 | epot = -37.2430911050886 | etot = -29.9323269500432 - 1000000 0.10236893 -1.4701186 0.037692055 -1.2847791 5.0290761e-05 64000 -Loop time of 83.1091 on 1 procs for 1000000 steps with 26 atoms - -Performance: 10395.973 tau/day, 12032.377 timesteps/s -99.8% CPU use with 1 MPI tasks x no OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 74.406 | 74.406 | 74.406 | 0.0 | 89.53 -Bond | 1.6522 | 1.6522 | 1.6522 | 0.0 | 1.99 -Neigh | 0.020569 | 0.020569 | 0.020569 | 0.0 | 0.02 -Comm | 0.20204 | 0.20204 | 0.20204 | 0.0 | 0.24 -Output | 0.23125 | 0.23125 | 0.23125 | 0.0 | 0.28 -Modify | 6.3912 | 6.3912 | 6.3912 | 0.0 | 7.69 -Other | | 0.2061 | | | 0.25 - -Nlocal: 26.0000 ave 26 max 26 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 0.00000 ave 0 max 0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 301.000 ave 301 max 301 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 301 -Ave neighs/atom = 11.576923 -Ave special neighs/atom = 5.0769231 -Neighbor list builds = 1000 -Dangerous builds = 0 - -write_data last_config.${number}.* nocoeff -write_data last_config.8.* nocoeff -System init for write_data ... -Total wall time: 0:01:23 diff --git a/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.27May21.duplex4.8type.g++4 b/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.27May21.duplex4.8type.g++4 deleted file mode 100644 index 2a7b689c6c..0000000000 --- a/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.27May21.duplex4.8type.g++4 +++ /dev/null @@ -1,1271 +0,0 @@ -LAMMPS (27 May 2021) -variable number equal 8 -variable ofreq equal 1000 -variable efreq equal 1000 - -variable ntype equal 8 - -variable T equal 0.1 -variable rhos equal 0.2 - -units lj - -dimension 3 - -newton off - -boundary p p p - -atom_style hybrid bond ellipsoid oxdna -WARNING: Atom style hybrid defines both, per-type and per-atom masses; both must be set, but only per-atom masses will be used (../atom_vec_hybrid.cpp:157) -atom_modify sort 0 1.0 - -# Pair interactions require lists of neighbours to be calculated -neighbor 2.0 bin -neigh_modify every 10 delay 0 check yes - -read_data data.duplex4.8type -Reading data file ... - orthogonal box = (-20.000000 -20.000000 -20.000000) to (20.000000 20.000000 20.000000) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 26 atoms - reading velocities ... - 26 velocities - scanning bonds ... - 2 = max bonds/atom - 26 ellipsoids - reading bonds ... - 24 bonds -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 - 2 = max # of 1-3 neighbors - 4 = max # of 1-4 neighbors - 6 = max # of special neighbors - special bonds CPU = 0.001 seconds - read_data CPU = 0.005 seconds - -mass * 3.1575 # sets per-type mass if not in data file -set atom * mass 3.1575 # sets per-atom mass -Setting atom values ... - 26 settings made for mass - -group all type 1 8 -26 atoms in group all - -# oxDNA2 bond interactions - FENE backbone -bond_style oxdna2/fene -bond_coeff * 2.0 0.25 0.7564 -special_bonds lj 0 1 1 -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 1 1 - special bond factors coul: 0 0 0 - 2 = max # of 1-2 neighbors - 2 = max # of 1-3 neighbors - 4 = max # of 1-4 neighbors - 6 = max # of special neighbors - special bonds CPU = 0.000 seconds - -# oxDNA pair interactions -pair_style hybrid/overlay oxdna2/excv oxdna2/stk oxdna2/hbond oxdna2/xstk oxdna2/coaxstk oxdna2/dh -pair_coeff * * oxdna2/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32 -pair_coeff * * oxdna2/stk seqdep ${T} 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 -pair_coeff * * oxdna2/stk seqdep 0.1 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 -pair_coeff * * oxdna2/hbond seqdep 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 - -label loop -variable base loop ${ntype} -variable base loop 8 - variable basemod equal ${base}%4 - variable basemod equal 1%4 - if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" -variable comp equal ${base}+3 -variable comp equal 1+3 -pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 1 ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 1 4 oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 - if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" -next base -jump in.duplex4.8type loop -variable base loop ${ntype} -variable base loop 8 - variable basemod equal ${base}%4 - variable basemod equal 2%4 - if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" - if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" -variable comp equal ${base}+1 -variable comp equal 2+1 -pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 2 ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 2 3 oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -next base -jump in.duplex4.8type loop -variable base loop ${ntype} -variable base loop 8 - variable basemod equal ${base}%4 - variable basemod equal 3%4 - if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" - if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" -next base -jump in.duplex4.8type loop -variable base loop ${ntype} -variable base loop 8 - variable basemod equal ${base}%4 - variable basemod equal 4%4 - if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" - if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" -next base -jump in.duplex4.8type loop -variable base loop ${ntype} -variable base loop 8 - variable basemod equal ${base}%4 - variable basemod equal 5%4 - if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" -variable comp equal ${base}+3 -variable comp equal 5+3 -pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 5 ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 5 8 oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 - if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" -next base -jump in.duplex4.8type loop -variable base loop ${ntype} -variable base loop 8 - variable basemod equal ${base}%4 - variable basemod equal 6%4 - if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" - if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" -variable comp equal ${base}+1 -variable comp equal 6+1 -pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 6 ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 6 7 oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -next base -jump in.duplex4.8type loop -variable base loop ${ntype} -variable base loop 8 - variable basemod equal ${base}%4 - variable basemod equal 7%4 - if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" - if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" -next base -jump in.duplex4.8type loop -variable base loop ${ntype} -variable base loop 8 - variable basemod equal ${base}%4 - variable basemod equal 8%4 - if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" - if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" -next base -jump in.duplex4.8type loop - -pair_coeff * * oxdna2/xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68 -pair_coeff * * oxdna2/coaxstk 58.5 0.4 0.6 0.22 0.58 2.0 2.891592653589793 0.65 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 40.0 3.116592653589793 -pair_coeff * * oxdna2/dh ${T} ${rhos} 0.815 -pair_coeff * * oxdna2/dh 0.1 ${rhos} 0.815 -pair_coeff * * oxdna2/dh 0.1 0.2 0.815 - -# Langevin dynamics -fix 1 all nve/asphere -fix 2 all langevin ${T} ${T} 2.5 457145 angmom 10 -fix 2 all langevin 0.1 ${T} 2.5 457145 angmom 10 -fix 2 all langevin 0.1 0.1 2.5 457145 angmom 10 - -timestep 1e-5 - -#comm_style tiled -fix 3 all balance 1000 1.03 shift xyz 10 1.03 -comm_modify cutoff 3.8 - -compute quat all property/atom quatw quati quatj quatk - -compute erot all erotate/asphere -compute ekin all ke -compute epot all pe -variable erot equal c_erot -variable ekin equal c_ekin -variable epot equal c_epot -variable etot equal c_erot+c_ekin+c_epot -fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes -fix 5 all print 1000 "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes - -dump out all custom ${ofreq} out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz -dump out all custom 1000 out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz -dump out all custom 1000 out.8.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz -dump_modify out sort id -dump_modify out format line "%d %d %d %22.15le %22.15le %22.15le %d %d %d %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le" - -run 1000000 -Neighbor list info ... - update every 10 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 5.6389877 - ghost atom cutoff = 5.6389877 - binsize = 2.8194939, bins = 15 15 15 - 5 neighbor lists, perpetual/occasional/extra = 5 0 0 - (1) pair oxdna2/excv, perpetual - attributes: half, newton off - pair build: half/bin/newtoff - stencil: full/bin/3d - bin: standard - (2) pair oxdna2/hbond, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (3) pair oxdna2/xstk, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (4) pair oxdna2/coaxstk, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (5) pair oxdna2/dh, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none -WARNING: Communication cutoff adjusted to 5.638987723814632 (../comm.cpp:739) -0 ekin = 3.74991604702378 | erot = 3.45272678980464 | epot = -37.3742009011421 | etot = -30.1715580643137 -Per MPI rank memory allocation (min/avg/max) = 9.571 | 9.572 | 9.573 Mbytes -Step Temp E_pair E_mol TotEng Press Volume - 0 0.099997761 -1.4717559 0.03428661 -1.2932417 5.6146609e-05 64000 -1000 ekin = 3.92430268570824 | erot = 3.29540971313705 | epot = -37.4816670091169 | etot = -30.2619546102716 -2000 ekin = 3.88644825046428 | erot = 3.58410925014822 | epot = -37.5871874286304 | etot = -30.1166299280179 -3000 ekin = 3.90603224055461 | erot = 3.78206057452861 | epot = -37.7021302921285 | etot = -30.0140374770453 -4000 ekin = 4.02636555552402 | erot = 3.91677901140303 | epot = -37.8027608694504 | etot = -29.8596163025233 -5000 ekin = 4.05442725401043 | erot = 4.07817807460239 | epot = -37.8494362833427 | etot = -29.7168309547299 -6000 ekin = 4.13499768127483 | erot = 4.03873475277247 | epot = -37.8257365098367 | etot = -29.6520040757894 -7000 ekin = 4.08584129662811 | erot = 3.98502892930338 | epot = -37.744776171106 | etot = -29.6739059451746 -8000 ekin = 4.04473728341539 | erot = 3.70461133282256 | epot = -37.6185211079512 | etot = -29.8691724917132 -9000 ekin = 3.97040375513034 | erot = 3.89171847539017 | epot = -37.4779912856655 | etot = -29.615869055145 -10000 ekin = 4.08064552796877 | erot = 4.10399273710613 | epot = -37.3378150214196 | etot = -29.1531767563447 -11000 ekin = 3.94505548567029 | erot = 4.14758664614567 | epot = -37.2085796341436 | etot = -29.1159375023277 -12000 ekin = 3.88687763742867 | erot = 4.11256727293728 | epot = -37.1168918341093 | etot = -29.1174469237433 -13000 ekin = 3.78376547312035 | erot = 3.94997258779545 | epot = -37.0636475805867 | etot = -29.3299095196709 -14000 ekin = 3.72114827358809 | erot = 3.83862755313067 | epot = -37.0539326083543 | etot = -29.4941567816355 -15000 ekin = 3.63885725366144 | erot = 3.37568559083325 | epot = -37.0775134892158 | etot = -30.0629706447211 -16000 ekin = 3.75926862366823 | erot = 3.47832285528771 | epot = -37.1763229835919 | etot = -29.938731504636 -17000 ekin = 3.80458992549718 | erot = 3.37818714949378 | epot = -37.3270848276044 | etot = -30.1443077526134 -18000 ekin = 3.81685915102048 | erot = 3.82235577807969 | epot = -37.4876996492705 | etot = -29.8484847201703 -19000 ekin = 3.80633274630077 | erot = 3.8039328333736 | epot = -37.6386270441084 | etot = -30.028361464434 -20000 ekin = 3.77027693322165 | erot = 3.97848447130841 | epot = -37.7861726918926 | etot = -30.0374112873625 -21000 ekin = 3.75594248876352 | erot = 3.90400523936658 | epot = -37.9165000666024 | etot = -30.2565523384723 -22000 ekin = 3.81729390633802 | erot = 3.70298358069274 | epot = -38.0211478246462 | etot = -30.5008703376154 -23000 ekin = 3.86462773298721 | erot = 3.52903064555341 | epot = -38.0539868057477 | etot = -30.6603284272071 -24000 ekin = 3.84611190496181 | erot = 3.47876891204866 | epot = -38.0524942369904 | etot = -30.7276134199799 -25000 ekin = 3.88431543220182 | erot = 3.80956733596667 | epot = -38.0090041212112 | etot = -30.3151213530427 -26000 ekin = 3.88520717073552 | erot = 4.04667753560866 | epot = -37.9336134642013 | etot = -30.0017287578571 -27000 ekin = 3.83553778749005 | erot = 4.18222306888362 | epot = -37.8633670830474 | etot = -29.8456062266737 -28000 ekin = 3.83638307293673 | erot = 4.13838046178307 | epot = -37.8079901228044 | etot = -29.8332265880846 -29000 ekin = 3.81360349447094 | erot = 4.16358811310864 | epot = -37.7885827024555 | etot = -29.8113910948759 -30000 ekin = 3.89572360919441 | erot = 4.04566996469674 | epot = -37.7874054211311 | etot = -29.84601184724 -31000 ekin = 3.89393888302718 | erot = 3.55790326104627 | epot = -37.8038131932178 | etot = -30.3519710491444 -32000 ekin = 3.80317271692918 | erot = 3.54273524643272 | epot = -37.8451815180301 | etot = -30.4992735546682 -33000 ekin = 3.78703980355191 | erot = 3.99364624500488 | epot = -37.9406281896734 | etot = -30.1599421411166 -34000 ekin = 3.77142087668807 | erot = 3.88594611308813 | epot = -38.097584352555 | etot = -30.4402173627788 -35000 ekin = 3.71264930628466 | erot = 3.65225843687418 | epot = -38.2835289304067 | etot = -30.9186211872479 -36000 ekin = 3.74220790707641 | erot = 3.95952222810293 | epot = -38.4596915935922 | etot = -30.7579614584129 -37000 ekin = 3.82423101226177 | erot = 4.44859396622365 | epot = -38.6538277887212 | etot = -30.3810028102358 -38000 ekin = 3.69455547696862 | erot = 4.82722829899228 | epot = -38.8348230288023 | etot = -30.3130392528414 -39000 ekin = 3.5954890965849 | erot = 5.03318978839678 | epot = -38.9632877762132 | etot = -30.3346088912316 -40000 ekin = 3.7239082672625 | erot = 4.77008246177599 | epot = -39.0432740898072 | etot = -30.5492833607687 -41000 ekin = 3.71845130286974 | erot = 4.66721188475359 | epot = -39.0678678855713 | etot = -30.6822046979479 -42000 ekin = 3.5469605515821 | erot = 4.50731751167304 | epot = -39.0616854007739 | etot = -31.0074073375187 -43000 ekin = 3.57495163768248 | erot = 4.94852093613523 | epot = -39.0169365666547 | etot = -30.493463992837 -44000 ekin = 3.52915394890506 | erot = 5.14481752350032 | epot = -38.9320102816114 | etot = -30.258038809206 -45000 ekin = 3.36103362047063 | erot = 5.30737062665206 | epot = -38.8074049309155 | etot = -30.1390006837928 -46000 ekin = 3.33204426677158 | erot = 4.63880623753679 | epot = -38.6602813061652 | etot = -30.6894308018569 -47000 ekin = 3.34546960167669 | erot = 4.072379763769 | epot = -38.5241501078281 | etot = -31.1063007423824 -48000 ekin = 3.40049787952112 | erot = 4.05251615432405 | epot = -38.3938498073687 | etot = -30.9408357735235 -49000 ekin = 3.31008896923648 | erot = 4.20737258711336 | epot = -38.2514760468933 | etot = -30.7340144905435 -50000 ekin = 3.27384446847297 | erot = 3.84861240213718 | epot = -38.0781706006623 | etot = -30.9557137300522 -51000 ekin = 3.28837845708164 | erot = 4.03176750511309 | epot = -37.9124524403703 | etot = -30.5923064781756 -52000 ekin = 3.3261261077424 | erot = 3.69449114481263 | epot = -37.7461543084426 | etot = -30.7255370558875 -53000 ekin = 3.24704253260756 | erot = 3.82351300738067 | epot = -37.5996085904181 | etot = -30.5290530504299 -54000 ekin = 3.28722266262306 | erot = 3.86366065026156 | epot = -37.4297798097104 | etot = -30.2788964968257 -55000 ekin = 3.24079189906262 | erot = 3.69908024112639 | epot = -37.2469422361789 | etot = -30.3070700959899 -56000 ekin = 3.183124569803 | erot = 3.47133297155146 | epot = -37.0860684089791 | etot = -30.4316108676246 -57000 ekin = 3.22541795737962 | erot = 3.05594699251087 | epot = -36.9568071104528 | etot = -30.6754421605623 -58000 ekin = 3.32107899021702 | erot = 2.99608132055983 | epot = -36.8451019319952 | etot = -30.5279416212183 -59000 ekin = 3.3775603338752 | erot = 3.02468556348897 | epot = -36.7527120143507 | etot = -30.3504661169865 -60000 ekin = 3.3783851820659 | erot = 2.80486585978131 | epot = -36.6500489307871 | etot = -30.4667978889399 -61000 ekin = 3.4259305825981 | erot = 2.57336693961335 | epot = -36.5598996921942 | etot = -30.5606021699827 -62000 ekin = 3.38330194206295 | erot = 2.48716523240079 | epot = -36.4917506706078 | etot = -30.6212834961441 -63000 ekin = 3.23944564751902 | erot = 2.68514269262901 | epot = -36.4581690118127 | etot = -30.5335806716646 -64000 ekin = 3.12857340842367 | erot = 2.81379000215884 | epot = -36.4694531808169 | etot = -30.5270897702344 -65000 ekin = 3.0972900172278 | erot = 2.97796742393482 | epot = -36.4999099304858 | etot = -30.4246524893232 -66000 ekin = 3.02532625214509 | erot = 2.98352661182224 | epot = -36.5477137384001 | etot = -30.5388608744328 -67000 ekin = 3.14798260660729 | erot = 3.20065089850768 | epot = -36.6320762786642 | etot = -30.2834427735492 -68000 ekin = 3.28121216444371 | erot = 3.27703862715896 | epot = -36.7797333797323 | etot = -30.2214825881296 -69000 ekin = 3.39109863872899 | erot = 3.49453676740748 | epot = -36.9477169900692 | etot = -30.0620815839328 -70000 ekin = 3.52145416968701 | erot = 3.19663795891378 | epot = -37.1459833247571 | etot = -30.4278911961563 -71000 ekin = 3.72588366820837 | erot = 3.11523594110614 | epot = -37.3394708863316 | etot = -30.4983512770171 -72000 ekin = 3.87053189634972 | erot = 3.51504753627359 | epot = -37.5837173340768 | etot = -30.1981379014535 -73000 ekin = 4.043534645073 | erot = 3.57819581965021 | epot = -37.8491002809696 | etot = -30.2273698162464 -74000 ekin = 4.21655599164747 | erot = 3.67972843708688 | epot = -38.0370200626724 | etot = -30.1407356339381 -75000 ekin = 4.2751803734558 | erot = 3.50148075250732 | epot = -38.1503543696657 | etot = -30.3736932437026 -76000 ekin = 4.39260378383777 | erot = 3.17711135808546 | epot = -38.2269779234848 | etot = -30.6572627815615 -77000 ekin = 4.46694156592454 | erot = 3.28356630286401 | epot = -38.2567512319265 | etot = -30.506243363138 -78000 ekin = 4.58031785764229 | erot = 3.27581240698066 | epot = -38.2501645622451 | etot = -30.3940342976221 -79000 ekin = 4.74132912230535 | erot = 3.40062659497661 | epot = -38.2259226034585 | etot = -30.0839668861766 -80000 ekin = 4.84478519554072 | erot = 3.56980153308286 | epot = -38.14766861013 | etot = -29.7330818815064 -81000 ekin = 4.71163727717015 | erot = 3.65201658810459 | epot = -38.0489180007765 | etot = -29.6852641355017 -82000 ekin = 4.62310894573492 | erot = 3.61128178949357 | epot = -37.9515873690417 | etot = -29.7171966338132 -83000 ekin = 4.53890753637813 | erot = 3.79707688079936 | epot = -37.8589639327863 | etot = -29.5229795156088 -84000 ekin = 4.51952558800272 | erot = 3.75897913437636 | epot = -37.8043394039473 | etot = -29.5258346815682 -85000 ekin = 4.44986224636044 | erot = 4.10169839029415 | epot = -37.7952059629819 | etot = -29.2436453263273 -86000 ekin = 4.40335859262171 | erot = 4.18303158637893 | epot = -37.840594671262 | etot = -29.2542044922614 -87000 ekin = 4.34352629789854 | erot = 4.00093225674539 | epot = -37.8981775676818 | etot = -29.5537190130379 -88000 ekin = 4.39692532206221 | erot = 3.88765396717304 | epot = -37.9120170018269 | etot = -29.6274377125917 -89000 ekin = 4.3589540780767 | erot = 4.0687705270632 | epot = -37.8812041939536 | etot = -29.4534795888137 -90000 ekin = 4.20715511673659 | erot = 3.96880041117212 | epot = -37.8268382933969 | etot = -29.6508827654882 -91000 ekin = 4.2202199323169 | erot = 4.12841045745315 | epot = -37.7475084891388 | etot = -29.3988780993687 -92000 ekin = 4.1326498688273 | erot = 3.86635436032376 | epot = -37.6428932571545 | etot = -29.6438890280035 -93000 ekin = 4.05697056146658 | erot = 3.48249980793546 | epot = -37.5034004108467 | etot = -29.9639300414447 -94000 ekin = 3.85560920909744 | erot = 3.51617278195642 | epot = -37.371684822218 | etot = -29.9999028311642 -95000 ekin = 3.7069616782419 | erot = 3.7453999268692 | epot = -37.2425364302767 | etot = -29.7901748251656 -96000 ekin = 3.64541489153227 | erot = 3.55177042583784 | epot = -37.1071295289257 | etot = -29.9099442115556 -97000 ekin = 3.59427366044239 | erot = 3.58237376190961 | epot = -36.9903312497973 | etot = -29.8136838274453 -98000 ekin = 3.36609732779817 | erot = 3.78920076230078 | epot = -36.8893462899042 | etot = -29.7340481998052 -99000 ekin = 3.24308716626432 | erot = 3.98439513504784 | epot = -36.7958275145326 | etot = -29.5683452132204 -100000 ekin = 3.10105716620438 | erot = 3.88380514198999 | epot = -36.7237148853879 | etot = -29.7388525771935 -101000 ekin = 3.05392814208233 | erot = 3.92712981026601 | epot = -36.701962452506 | etot = -29.7209045001576 -102000 ekin = 3.21793305977178 | erot = 4.11601242104532 | epot = -36.7682713932638 | etot = -29.4343259124467 -103000 ekin = 3.29518049820435 | erot = 4.13622147772539 | epot = -36.8839850328129 | etot = -29.4525830568832 -104000 ekin = 3.38349143563889 | erot = 4.1183455666037 | epot = -37.0170458924454 | etot = -29.5152088902028 -105000 ekin = 3.43063719220638 | erot = 4.19281995644327 | epot = -37.150125503217 | etot = -29.5266683545673 -106000 ekin = 3.3930587869785 | erot = 4.59139499879992 | epot = -37.2962927182996 | etot = -29.3118389325211 -107000 ekin = 3.49611625167344 | erot = 4.42190170056941 | epot = -37.4298253792172 | etot = -29.5118074269743 -108000 ekin = 3.59165643487494 | erot = 4.73333858652918 | epot = -37.482137044902 | etot = -29.1571420234978 -109000 ekin = 3.59878557010229 | erot = 5.08720641062802 | epot = -37.4454225962908 | etot = -28.7594306155605 -110000 ekin = 3.52607850054465 | erot = 4.92743402067557 | epot = -37.33464551381 | etot = -28.8811329925897 -111000 ekin = 3.52196404281882 | erot = 4.48970120472559 | epot = -37.2166378630308 | etot = -29.2049726154863 -112000 ekin = 3.64094551226758 | erot = 4.18578082474331 | epot = -37.1356107687899 | etot = -29.3088844317791 -113000 ekin = 3.59908785035488 | erot = 3.81929848767613 | epot = -37.1563156196511 | etot = -29.7379292816201 -114000 ekin = 3.73247165614552 | erot = 3.7191219132616 | epot = -37.1841072802386 | etot = -29.7325137108315 -115000 ekin = 3.81386546938849 | erot = 3.49889872890822 | epot = -37.2616543115737 | etot = -29.948890113277 -116000 ekin = 4.05829999340919 | erot = 3.58390665501405 | epot = -37.4003005682591 | etot = -29.7580939198359 -117000 ekin = 4.27550110925089 | erot = 3.79076820440125 | epot = -37.5923004712666 | etot = -29.5260311576145 -118000 ekin = 4.45490103530269 | erot = 3.77915185795812 | epot = -37.7846946186124 | etot = -29.5506417253515 -119000 ekin = 4.58790399115696 | erot = 3.86870152715706 | epot = -37.9811558924431 | etot = -29.5245503741291 -120000 ekin = 4.92259141545412 | erot = 3.84940365834982 | epot = -38.1382043293411 | etot = -29.3662092555371 -121000 ekin = 5.13183269148667 | erot = 4.03705087488496 | epot = -38.2560800244005 | etot = -29.0871964580288 -122000 ekin = 5.17140868558226 | erot = 3.61810962674133 | epot = -38.3381390234359 | etot = -29.5486207111123 -123000 ekin = 5.28384467069957 | erot = 4.14897954513993 | epot = -38.3803925391061 | etot = -28.9475683232666 -124000 ekin = 5.45144965935832 | erot = 3.74948516195925 | epot = -38.4152715166921 | etot = -29.2143366953745 -125000 ekin = 5.49907232704504 | erot = 3.62957174075197 | epot = -38.4698081948487 | etot = -29.3411641270517 -126000 ekin = 5.81275552922944 | erot = 3.50370762045612 | epot = -38.5369283444346 | etot = -29.2204651947491 -127000 ekin = 5.71810535961462 | erot = 3.50153411217264 | epot = -38.6097648991183 | etot = -29.390125427331 -128000 ekin = 5.59769610955185 | erot = 2.99726680348478 | epot = -38.6545287261786 | etot = -30.059565813142 -129000 ekin = 5.51657182067137 | erot = 3.37515224045319 | epot = -38.6909141535699 | etot = -29.7991900924454 -130000 ekin = 5.46626997343554 | erot = 3.77525421867741 | epot = -38.7059148210791 | etot = -29.4643906289662 -131000 ekin = 5.369877414402 | erot = 3.92459463488634 | epot = -38.6781199948582 | etot = -29.3836479455698 -132000 ekin = 5.13704854270014 | erot = 3.89365302265538 | epot = -38.6113331110915 | etot = -29.580631545736 -133000 ekin = 5.04851208372184 | erot = 4.17613618410306 | epot = -38.4969113589734 | etot = -29.2722630911485 -134000 ekin = 4.96335667475941 | erot = 4.28428652813741 | epot = -38.308416110038 | etot = -29.0607729071412 -135000 ekin = 4.67485522816795 | erot = 3.71485446937039 | epot = -38.0437601659662 | etot = -29.6540504684278 -136000 ekin = 4.4890629916043 | erot = 4.19015103736215 | epot = -37.7533241067258 | etot = -29.0741100777593 -137000 ekin = 4.31371561077616 | erot = 3.47925724303299 | epot = -37.4739407743081 | etot = -29.6809679204989 -138000 ekin = 3.96696543473023 | erot = 3.71675428283175 | epot = -37.2042587721437 | etot = -29.5205390545817 -139000 ekin = 3.59101315513219 | erot = 3.64278698721068 | epot = -36.9457852108051 | etot = -29.7119850684622 -140000 ekin = 3.44095423425017 | erot = 3.49830537198652 | epot = -36.7203613080872 | etot = -29.7811017018505 -141000 ekin = 3.36296546737369 | erot = 3.56983741924066 | epot = -36.4964767451357 | etot = -29.5636738585213 -142000 ekin = 3.18252441669259 | erot = 3.32935464682758 | epot = -36.3244758925308 | etot = -29.8125968290106 -143000 ekin = 3.18465930443846 | erot = 3.56170045589814 | epot = -36.2215210957505 | etot = -29.4751613354139 -144000 ekin = 3.08106725409747 | erot = 3.50261030291633 | epot = -36.1512447258049 | etot = -29.5675671687911 -145000 ekin = 3.08093776365794 | erot = 3.51948185643724 | epot = -36.0863085456317 | etot = -29.4858889255365 -146000 ekin = 3.02030159479387 | erot = 3.3739730546246 | epot = -36.0845314152703 | etot = -29.6902567658518 -147000 ekin = 3.0413907298566 | erot = 3.36603954258596 | epot = -36.1557232229402 | etot = -29.7482929504977 -148000 ekin = 3.14853067203595 | erot = 3.14562859809704 | epot = -36.2494960139439 | etot = -29.9553367438109 -149000 ekin = 3.18195150813314 | erot = 3.58071760906443 | epot = -36.3477640598882 | etot = -29.5850949426907 -150000 ekin = 3.21133048800031 | erot = 3.85389957660328 | epot = -36.4132627454733 | etot = -29.3480326808697 -151000 ekin = 3.3414410423208 | erot = 3.49391537632178 | epot = -36.47829445309 | etot = -29.6429380344474 -152000 ekin = 3.38469121090166 | erot = 3.35926284582918 | epot = -36.5578474424856 | etot = -29.8138933857547 -153000 ekin = 3.52527639525701 | erot = 3.56811727016358 | epot = -36.6674257186129 | etot = -29.5740320531923 -154000 ekin = 3.77924799771095 | erot = 3.5214579525681 | epot = -36.7622601921048 | etot = -29.4615542418258 -155000 ekin = 3.83418008764662 | erot = 3.28305394597573 | epot = -36.8282659682374 | etot = -29.7110319346151 -156000 ekin = 3.87517167307552 | erot = 2.7562101543893 | epot = -36.8507311290664 | etot = -30.2193493016016 -157000 ekin = 3.89846784481937 | erot = 3.03513966490494 | epot = -36.8490467787069 | etot = -29.9154392689826 -158000 ekin = 3.86372390524165 | erot = 3.0673314083842 | epot = -36.8143502444316 | etot = -29.8832949308058 -159000 ekin = 3.87560822586875 | erot = 2.72238394226955 | epot = -36.7720066653759 | etot = -30.1740144972376 -160000 ekin = 3.81659540649487 | erot = 2.79162883042019 | epot = -36.745609213871 | etot = -30.137384976956 -161000 ekin = 3.90364665450438 | erot = 2.85891130626961 | epot = -36.6767188031099 | etot = -29.9141608423359 -162000 ekin = 3.93432840871727 | erot = 3.23277686088047 | epot = -36.60685028113 | etot = -29.4397450115322 -163000 ekin = 3.97425577903338 | erot = 2.70754263327096 | epot = -36.5720643915924 | etot = -29.890265979288 -164000 ekin = 3.91949827572788 | erot = 3.05668804181471 | epot = -36.5812838593575 | etot = -29.6050975418149 -165000 ekin = 3.99425179561608 | erot = 3.29785069907607 | epot = -36.6379374004751 | etot = -29.345834905783 -166000 ekin = 4.02904533815474 | erot = 3.36634066781855 | epot = -36.7340868254029 | etot = -29.3387008194296 -167000 ekin = 4.03733260336922 | erot = 3.51733984448521 | epot = -36.8476519248263 | etot = -29.2929794769719 -168000 ekin = 4.01641387278262 | erot = 3.37538682559192 | epot = -36.9710980220148 | etot = -29.5792973236403 -169000 ekin = 3.94799788749928 | erot = 3.38842418926867 | epot = -37.1207420196424 | etot = -29.7843199428744 -170000 ekin = 3.98944239104452 | erot = 3.56779767670648 | epot = -37.2922600249326 | etot = -29.7350199571816 -171000 ekin = 4.04980262307219 | erot = 3.87308310464248 | epot = -37.4956434312003 | etot = -29.5727577034856 -172000 ekin = 4.10498686244998 | erot = 4.24595756362569 | epot = -37.6879527015205 | etot = -29.3370082754448 -173000 ekin = 4.12919710204796 | erot = 4.28575123018842 | epot = -37.8940672883479 | etot = -29.4791189561115 -174000 ekin = 4.04607401980617 | erot = 4.41784593637473 | epot = -38.1063274639924 | etot = -29.6424075078115 -175000 ekin = 4.13007220306847 | erot = 4.39679134693123 | epot = -38.3139522350302 | etot = -29.7870886850305 -176000 ekin = 4.14146369640392 | erot = 4.2556500250018 | epot = -38.5085743578719 | etot = -30.1114606364662 -177000 ekin = 4.33605278083781 | erot = 4.58687123058824 | epot = -38.6633454116433 | etot = -29.7404214002173 -178000 ekin = 4.32688916484258 | erot = 4.50454813785642 | epot = -38.7700089206445 | etot = -29.9385716179455 -179000 ekin = 4.39331384776139 | erot = 4.88121292734146 | epot = -38.8147888868654 | etot = -29.5402621117625 -180000 ekin = 4.36409495919737 | erot = 4.62653667682629 | epot = -38.7920356589672 | etot = -29.8014040229435 -181000 ekin = 4.40002739116585 | erot = 4.26572305349584 | epot = -38.7320900980018 | etot = -30.0663396533401 -182000 ekin = 4.38584471768771 | erot = 4.03958660380969 | epot = -38.6652721860916 | etot = -30.2398408645942 -183000 ekin = 4.38872118980224 | erot = 4.03920994265183 | epot = -38.5494953603397 | etot = -30.1215642278857 -184000 ekin = 4.58261674670921 | erot = 4.09854761999454 | epot = -38.3858248419668 | etot = -29.7046604752631 -185000 ekin = 4.61324410405521 | erot = 4.15998485211173 | epot = -38.1895073749226 | etot = -29.4162784187557 -186000 ekin = 4.58712030480558 | erot = 3.80292929559519 | epot = -37.9691363595879 | etot = -29.5790867591871 -187000 ekin = 4.49704057160045 | erot = 3.79953063209059 | epot = -37.7563677349904 | etot = -29.4597965312994 -188000 ekin = 4.67801335458777 | erot = 3.94614018085653 | epot = -37.5596730791519 | etot = -28.9355195437076 -189000 ekin = 4.7263502885126 | erot = 3.9798634268042 | epot = -37.3737961852728 | etot = -28.667582469956 -190000 ekin = 4.70422886783179 | erot = 3.76567525080944 | epot = -37.1968328742627 | etot = -28.7269287556214 -191000 ekin = 4.76615905270464 | erot = 4.11771710042017 | epot = -37.0524866708235 | etot = -28.1686105176987 -192000 ekin = 4.66334615993974 | erot = 4.32180108624847 | epot = -36.9281089002544 | etot = -27.9429616540662 -193000 ekin = 4.5422727261274 | erot = 4.37403333624765 | epot = -36.8106507982273 | etot = -27.8943447358523 -194000 ekin = 4.46258388626876 | erot = 4.57094153868298 | epot = -36.7126835627949 | etot = -27.6791581378432 -195000 ekin = 4.26009039309735 | erot = 5.10893274622639 | epot = -36.6717506302945 | etot = -27.3027274909708 -196000 ekin = 4.24016895096483 | erot = 4.95101320260763 | epot = -36.6607739952161 | etot = -27.4695918416436 -197000 ekin = 4.0755550793312 | erot = 5.33731157611758 | epot = -36.6886082622524 | etot = -27.2757416068037 -198000 ekin = 3.9809171395143 | erot = 5.37374733968369 | epot = -36.7238260637154 | etot = -27.3691615845174 -199000 ekin = 4.00067330792124 | erot = 5.3603518042305 | epot = -36.764372481588 | etot = -27.4033473694362 -200000 ekin = 3.91652525768025 | erot = 4.88675678602841 | epot = -36.7730308398536 | etot = -27.969748796145 -201000 ekin = 3.81609915882248 | erot = 4.31400854830177 | epot = -36.7481890160659 | etot = -28.6180813089416 -202000 ekin = 3.71932569397631 | erot = 4.38569878861448 | epot = -36.6956778034213 | etot = -28.5906533208305 -203000 ekin = 3.64290623072102 | erot = 4.37503789459276 | epot = -36.6304609598591 | etot = -28.6125168345453 -204000 ekin = 3.52854777039998 | erot = 4.29732321046279 | epot = -36.5744389849194 | etot = -28.7485680040566 -205000 ekin = 3.4768831982614 | erot = 4.0520539676819 | epot = -36.5314565547125 | etot = -29.0025193887692 -206000 ekin = 3.57867350058535 | erot = 4.28681914674893 | epot = -36.5152410045854 | etot = -28.6497483572511 -207000 ekin = 3.67789472949151 | erot = 4.07649115773262 | epot = -36.4807964879222 | etot = -28.7264106006981 -208000 ekin = 3.75162300302661 | erot = 3.99412890438543 | epot = -36.4719013777701 | etot = -28.7261494703581 -209000 ekin = 3.82882555477005 | erot = 4.07806686544371 | epot = -36.5274965379161 | etot = -28.6206041177023 -210000 ekin = 3.94589957381378 | erot = 4.05524037388615 | epot = -36.6356567037895 | etot = -28.6345167560895 -211000 ekin = 4.07654365300279 | erot = 3.99406586158679 | epot = -36.7715123193752 | etot = -28.7009028047856 -212000 ekin = 4.2840931333187 | erot = 4.41351434873049 | epot = -36.9240266223073 | etot = -28.2264191402581 -213000 ekin = 4.49200123946036 | erot = 4.57752549048046 | epot = -37.0744914076603 | etot = -28.0049646777194 -214000 ekin = 4.68170470060604 | erot = 4.83486386570169 | epot = -37.2372407583261 | etot = -27.7206721920184 -215000 ekin = 4.98081379617958 | erot = 4.46606343482534 | epot = -37.4068324828889 | etot = -27.959955251884 -216000 ekin = 5.16729766417706 | erot = 4.60318830168444 | epot = -37.5464555705166 | etot = -27.7759696046551 -217000 ekin = 5.38386929678608 | erot = 4.7775249437354 | epot = -37.6405601527452 | etot = -27.4791659122238 -218000 ekin = 5.7058164504659 | erot = 4.70370884810713 | epot = -37.6984019699825 | etot = -27.2888766714095 -219000 ekin = 5.88600523163654 | erot = 4.58694924042796 | epot = -37.7125786046508 | etot = -27.2396241325863 -220000 ekin = 6.15427965489048 | erot = 4.4293131697244 | epot = -37.684602076139 | etot = -27.1010092515241 -221000 ekin = 6.20955938016028 | erot = 4.5400172518757 | epot = -37.6213945439902 | etot = -26.8718179119542 -222000 ekin = 6.245684726226 | erot = 4.97311797105747 | epot = -37.5132484834202 | etot = -26.2944457861367 -223000 ekin = 6.23087495739563 | erot = 4.87026240860726 | epot = -37.4093126450279 | etot = -26.308175279025 -224000 ekin = 6.34215727178204 | erot = 4.95416073100327 | epot = -37.3138628835634 | etot = -26.0175448807781 -225000 ekin = 6.34418551658382 | erot = 4.97197547495996 | epot = -37.2296241301022 | etot = -25.9134631385584 -226000 ekin = 6.27234146176852 | erot = 4.71232076169797 | epot = -37.1649091144301 | etot = -26.1802468909636 -227000 ekin = 6.2978205054749 | erot = 4.6427999636898 | epot = -37.1521034204924 | etot = -26.2114829513277 -228000 ekin = 6.45215375342435 | erot = 4.66543105642573 | epot = -37.1176036705896 | etot = -26.0000188607395 -229000 ekin = 6.57609932445515 | erot = 4.31104294387344 | epot = -37.0319087568372 | etot = -26.1447664885086 -230000 ekin = 6.39415967649336 | erot = 4.16613500609569 | epot = -36.9020701489008 | etot = -26.3417754663118 -231000 ekin = 6.06981997767599 | erot = 4.16164382029996 | epot = -36.7672531588273 | etot = -26.5357893608513 -232000 ekin = 6.07851417086657 | erot = 3.9261416963498 | epot = -36.6287349588698 | etot = -26.6240790916534 -233000 ekin = 5.86578448983439 | erot = 3.89415959164456 | epot = -36.4650343354141 | etot = -26.7050902539352 -234000 ekin = 5.66525736866315 | erot = 3.89419060194094 | epot = -36.3317105619271 | etot = -26.772262591323 -235000 ekin = 5.45947253618461 | erot = 3.51915643493529 | epot = -36.187740376365 | etot = -27.2091114052451 -236000 ekin = 5.23839596197821 | erot = 3.35080370425694 | epot = -36.0601413821494 | etot = -27.4709417159143 -237000 ekin = 5.1101503869311 | erot = 3.41418634041018 | epot = -35.9797234474537 | etot = -27.4553867201124 -238000 ekin = 5.07705507560338 | erot = 3.55422258848856 | epot = -35.9558941013151 | etot = -27.3246164372232 -239000 ekin = 5.11036683512679 | erot = 3.60903830571299 | epot = -35.9686036709473 | etot = -27.2491985301075 -240000 ekin = 5.05273101840571 | erot = 3.85355249273444 | epot = -36.0380166955235 | etot = -27.1317331843833 -241000 ekin = 5.09369536459432 | erot = 3.64338000437258 | epot = -36.1343234897528 | etot = -27.3972481207859 -242000 ekin = 5.26488817621371 | erot = 4.01055195692819 | epot = -36.2412063129132 | etot = -26.9657661797713 -243000 ekin = 5.23195261673081 | erot = 4.46546566729792 | epot = -36.3456054296423 | etot = -26.6481871456136 -244000 ekin = 5.2263873943456 | erot = 4.31088904489877 | epot = -36.4415840114132 | etot = -26.9043075721688 -245000 ekin = 5.4485313703965 | erot = 4.1760797727831 | epot = -36.5182986507186 | etot = -26.893687507539 -246000 ekin = 5.514569703999 | erot = 3.74595442038546 | epot = -36.5760003166759 | etot = -27.3154761922915 -247000 ekin = 5.60809096900033 | erot = 4.1530771765417 | epot = -36.6102851986095 | etot = -26.8491170530675 -248000 ekin = 5.44607700345191 | erot = 4.00137483235474 | epot = -36.6173189081378 | etot = -27.1698670723311 -249000 ekin = 5.39824066997525 | erot = 4.00527284085329 | epot = -36.6178595818605 | etot = -27.214346071032 -250000 ekin = 5.40591864200742 | erot = 3.83152692098416 | epot = -36.5913298844141 | etot = -27.3538843214225 -251000 ekin = 5.42515843147862 | erot = 3.74120297831913 | epot = -36.5372880481642 | etot = -27.3709266383664 -252000 ekin = 5.47125756589202 | erot = 3.93923600749381 | epot = -36.471810314552 | etot = -27.0613167411661 -253000 ekin = 5.45280164405867 | erot = 4.07788577485892 | epot = -36.3971958399348 | etot = -26.8665084210172 -254000 ekin = 5.3513601049315 | erot = 4.05065697891602 | epot = -36.3208515747322 | etot = -26.9188344908847 -255000 ekin = 5.26929844479146 | erot = 3.99546469631083 | epot = -36.2503502909161 | etot = -26.9855871498138 -256000 ekin = 5.28023678974977 | erot = 4.22040986008186 | epot = -36.1946445254543 | etot = -26.6939978756227 -257000 ekin = 5.06048081748216 | erot = 4.23177072888008 | epot = -36.1310700373968 | etot = -26.8388184910345 -258000 ekin = 5.04266904507247 | erot = 4.32321520328045 | epot = -36.0647093578741 | etot = -26.6988251095212 -259000 ekin = 4.83091830266297 | erot = 4.34656742782648 | epot = -36.0089991272053 | etot = -26.8315133967159 -260000 ekin = 4.8366999116753 | erot = 4.25709648660373 | epot = -35.9697036974581 | etot = -26.8759072991791 -261000 ekin = 4.77396719262911 | erot = 4.09292214976309 | epot = -35.9054139064698 | etot = -27.0385245640776 -262000 ekin = 4.66601270858316 | erot = 3.73102576614686 | epot = -35.8157479345083 | etot = -27.4187094597782 -263000 ekin = 4.5802706196014 | erot = 3.74679758350907 | epot = -35.763125473781 | etot = -27.4360572706705 -264000 ekin = 4.65921569864806 | erot = 3.90501973344001 | epot = -35.7356757776833 | etot = -27.1714403455952 -265000 ekin = 4.67586149937246 | erot = 3.94654925905539 | epot = -35.7049387943745 | etot = -27.0825280359466 -266000 ekin = 4.69584694538507 | erot = 3.98055672084537 | epot = -35.6673176149256 | etot = -26.9909139486952 -267000 ekin = 4.78499421532903 | erot = 4.03648169158355 | epot = -35.6392507408887 | etot = -26.8177748339762 -268000 ekin = 4.84316914009027 | erot = 3.99860778002458 | epot = -35.6448334716846 | etot = -26.8030565515698 -269000 ekin = 4.90837806472302 | erot = 4.04652570535924 | epot = -35.649642070165 | etot = -26.6947383000828 -270000 ekin = 4.78579400655265 | erot = 4.34179455226949 | epot = -35.6115561484003 | etot = -26.4839675895782 -271000 ekin = 4.85153732395756 | erot = 3.76641259729531 | epot = -35.6137753066569 | etot = -26.9958253854041 -272000 ekin = 4.97803664593748 | erot = 4.19853764559909 | epot = -35.6642256780782 | etot = -26.4876513865416 -273000 ekin = 4.99431287425834 | erot = 4.16775756950281 | epot = -35.7125500141222 | etot = -26.550479570361 -274000 ekin = 5.02755533075287 | erot = 4.06015777810463 | epot = -35.7335253506929 | etot = -26.6458122418354 -275000 ekin = 4.96372481963251 | erot = 4.27522667590908 | epot = -35.7375976828855 | etot = -26.4986461873439 -276000 ekin = 5.07934127118672 | erot = 4.03884457577096 | epot = -35.7684807851678 | etot = -26.6502949382101 -277000 ekin = 5.11065676525152 | erot = 3.89593355388432 | epot = -35.8299825238661 | etot = -26.8233922047303 -278000 ekin = 5.1443449346496 | erot = 4.10431801630134 | epot = -35.9156424264972 | etot = -26.6669794755462 -279000 ekin = 5.13854043459778 | erot = 3.33687958464079 | epot = -35.956728093981 | etot = -27.4813080747424 -280000 ekin = 5.13698711985589 | erot = 3.1321095347808 | epot = -35.9663254349012 | etot = -27.6972287802645 -281000 ekin = 5.12014323326413 | erot = 3.01072130069925 | epot = -35.9687821467587 | etot = -27.8379176127953 -282000 ekin = 5.07487298196239 | erot = 2.78222371236679 | epot = -35.9666224009215 | etot = -28.1095257065923 -283000 ekin = 4.93728532174466 | erot = 2.51682526487924 | epot = -36.0092096947436 | etot = -28.5550991081197 -284000 ekin = 5.10799487537405 | erot = 2.3440616424374 | epot = -36.0766867016227 | etot = -28.6246301838113 -285000 ekin = 5.21438921803052 | erot = 2.42355410917329 | epot = -36.1686025783616 | etot = -28.5306592511578 -286000 ekin = 5.22674428893651 | erot = 2.43127546535983 | epot = -36.2811716154221 | etot = -28.6231518611258 -287000 ekin = 5.42842235635998 | erot = 2.80110266939557 | epot = -36.3926299688273 | etot = -28.1631049430717 -288000 ekin = 5.53841609379908 | erot = 3.04198571498586 | epot = -36.5118610231699 | etot = -27.9314592143849 -289000 ekin = 5.34670403011154 | erot = 3.09938875481729 | epot = -36.6304827875401 | etot = -28.1843900026112 -290000 ekin = 5.34231674745526 | erot = 3.31160144161424 | epot = -36.7456392368764 | etot = -28.0917210478069 -291000 ekin = 5.36188526202275 | erot = 3.45917476353447 | epot = -36.830253723617 | etot = -28.0091936980598 -292000 ekin = 5.47780509141236 | erot = 3.77906726321862 | epot = -36.8842491471661 | etot = -27.6273767925352 -293000 ekin = 5.28302000096918 | erot = 3.57818629599089 | epot = -36.8949841799428 | etot = -28.0337778829827 -294000 ekin = 5.30853543438887 | erot = 3.56263204697633 | epot = -36.882573669786 | etot = -28.0114061884208 -295000 ekin = 5.20536069491219 | erot = 3.77206495855704 | epot = -36.8703913967999 | etot = -27.8929657433306 -296000 ekin = 5.16948391824644 | erot = 3.64242202500146 | epot = -36.8524591521913 | etot = -28.0405532089434 -297000 ekin = 5.1494869829345 | erot = 3.56300071318446 | epot = -36.8077681088429 | etot = -28.0952804127239 -298000 ekin = 5.07831718808035 | erot = 3.56647326916626 | epot = -36.744195155603 | etot = -28.0994046983564 -299000 ekin = 5.07638833142117 | erot = 3.33911289208767 | epot = -36.7050879472256 | etot = -28.2895867237168 -300000 ekin = 5.03413727775456 | erot = 3.74853034027389 | epot = -36.6636621891816 | etot = -27.8809945711531 -301000 ekin = 4.97235848835814 | erot = 3.32835758650091 | epot = -36.6711630757892 | etot = -28.3704470009301 -302000 ekin = 5.00968958710056 | erot = 3.04854259478488 | epot = -36.7093256921451 | etot = -28.6510935102597 -303000 ekin = 5.1292911047111 | erot = 3.0802372254873 | epot = -36.795184172806 | etot = -28.5856558426076 -304000 ekin = 5.16690416140478 | erot = 3.34049274709003 | epot = -36.9126194047394 | etot = -28.4052224962446 -305000 ekin = 5.23349789631498 | erot = 3.46551744359711 | epot = -37.0448370009157 | etot = -28.3458216610036 -306000 ekin = 5.28860974527375 | erot = 3.56105103024499 | epot = -37.1811985422458 | etot = -28.331537766727 -307000 ekin = 5.40125295123197 | erot = 3.87520415097952 | epot = -37.305532344159 | etot = -28.0290752419475 -308000 ekin = 5.46740727789042 | erot = 3.91865002312578 | epot = -37.3892778155261 | etot = -28.0032205145099 -309000 ekin = 5.43990046762827 | erot = 4.00265425349897 | epot = -37.4336308324244 | etot = -27.9910761112972 -310000 ekin = 5.38744019614258 | erot = 3.91760045067575 | epot = -37.4766997166651 | etot = -28.1716590698468 -311000 ekin = 5.54869794564892 | erot = 3.97913763348738 | epot = -37.5380640420292 | etot = -28.0102284628929 -312000 ekin = 5.71519006739901 | erot = 4.09263126769853 | epot = -37.5745318459447 | etot = -27.7667105108472 -313000 ekin = 5.6033160766113 | erot = 3.83543196463871 | epot = -37.6101139619699 | etot = -28.1713659207199 -314000 ekin = 5.51800417081449 | erot = 3.7494474523441 | epot = -37.6279066647947 | etot = -28.3604550416361 -315000 ekin = 5.47833005901023 | erot = 4.08581993263846 | epot = -37.640612435341 | etot = -28.0764624436923 -316000 ekin = 5.33860837296314 | erot = 4.51116644302074 | epot = -37.6217312448188 | etot = -27.7719564288349 -317000 ekin = 5.23941916557637 | erot = 4.78689518832666 | epot = -37.5731600528526 | etot = -27.5468456989496 -318000 ekin = 5.11187775633096 | erot = 4.82958812680045 | epot = -37.5155006216097 | etot = -27.5740347384783 -319000 ekin = 5.22954347525673 | erot = 4.49457407004902 | epot = -37.4371163833057 | etot = -27.7129988379999 -320000 ekin = 5.30878948863381 | erot = 4.92186054084637 | epot = -37.3586788029377 | etot = -27.1280287734575 -321000 ekin = 5.25051542685381 | erot = 4.81963950413314 | epot = -37.312294527991 | etot = -27.242139597004 -322000 ekin = 5.07574443571145 | erot = 4.74007360204254 | epot = -37.2420599117425 | etot = -27.4262418739885 -323000 ekin = 5.02653253509398 | erot = 4.66604787555051 | epot = -37.1620424354781 | etot = -27.4694620248336 -324000 ekin = 5.12999279273078 | erot = 4.55456244400836 | epot = -37.1081993843437 | etot = -27.4236441476046 -325000 ekin = 5.01484863365284 | erot = 5.03270116093522 | epot = -37.0549970668846 | etot = -27.0074472722965 -326000 ekin = 5.15105125743379 | erot = 4.77726330645663 | epot = -37.0062804471441 | etot = -27.0779658832536 -327000 ekin = 5.17373663939365 | erot = 4.75720955177068 | epot = -36.9735735310227 | etot = -27.0426273398583 -328000 ekin = 5.3265809986393 | erot = 4.45847251670642 | epot = -36.9463177254327 | etot = -27.161264210087 -329000 ekin = 5.28491385975242 | erot = 4.2365002087062 | epot = -36.9151642788529 | etot = -27.3937502103943 -330000 ekin = 5.12552135481241 | erot = 4.79027984581669 | epot = -36.8863179466156 | etot = -26.9705167459865 -331000 ekin = 5.12103290586646 | erot = 5.03778117543897 | epot = -36.8413630474537 | etot = -26.6825489661482 -332000 ekin = 5.06929714597599 | erot = 4.90820597157558 | epot = -36.7488012231943 | etot = -26.7712981056427 -333000 ekin = 4.96505468499544 | erot = 5.01335794632771 | epot = -36.6271163009906 | etot = -26.6487036696675 -334000 ekin = 4.99343125906637 | erot = 5.01439694959174 | epot = -36.5036049758879 | etot = -26.4957767672298 -335000 ekin = 4.90069371729849 | erot = 4.54385275511644 | epot = -36.377759964637 | etot = -26.9332134922221 -336000 ekin = 5.07863725672843 | erot = 4.69305135725114 | epot = -36.2629152842743 | etot = -26.4912266702948 -337000 ekin = 4.94799955754099 | erot = 4.52583833193054 | epot = -36.1612360033446 | etot = -26.6873981138731 -338000 ekin = 4.85224868200247 | erot = 4.50041298245536 | epot = -36.0752991866368 | etot = -26.7226375221789 -339000 ekin = 4.72144640536392 | erot = 4.54752039051201 | epot = -35.9970632546959 | etot = -26.7280964588199 -340000 ekin = 4.80943098922142 | erot = 4.34708343509477 | epot = -35.9687361528339 | etot = -26.8122217285177 -341000 ekin = 4.70361214653912 | erot = 4.47793300498467 | epot = -35.9999322617892 | etot = -26.8183871102654 -342000 ekin = 4.760647614817 | erot = 4.66605256976235 | epot = -36.043378412271 | etot = -26.6166782276917 -343000 ekin = 4.67728032528815 | erot = 4.66100839176406 | epot = -35.9211632159817 | etot = -26.5828744989295 -344000 ekin = 4.96339724601292 | erot = 4.93823124551203 | epot = -36.221225061482 | etot = -26.3195965699571 -345000 ekin = 4.92216540601213 | erot = 5.1046016577438 | epot = -36.3841924486031 | etot = -26.3574253848472 -346000 ekin = 4.99792813974919 | erot = 4.77882820289924 | epot = -36.4406602112532 | etot = -26.6639038686048 -347000 ekin = 4.97738387739169 | erot = 4.57238123569558 | epot = -36.4353446283207 | etot = -26.8855795152334 -348000 ekin = 4.92451917191373 | erot = 4.32330547944782 | epot = -36.3741726686484 | etot = -27.1263480172868 -349000 ekin = 4.79018344488603 | erot = 4.64955099606439 | epot = -36.223205179622 | etot = -26.7834707386715 -350000 ekin = 4.74997485376182 | erot = 4.41441619332993 | epot = -36.0086530481282 | etot = -26.8442620010365 -351000 ekin = 4.65861306362181 | erot = 4.54712008187925 | epot = -35.7312651155864 | etot = -26.5255319700854 -352000 ekin = 4.64876538273227 | erot = 4.76138349321479 | epot = -35.450636936112 | etot = -26.0404880601649 -353000 ekin = 4.59253342081085 | erot = 4.29456686626191 | epot = -35.1553683981329 | etot = -26.2682681110601 -354000 ekin = 4.5381016314927 | erot = 4.43945254667789 | epot = -34.9111484982536 | etot = -25.933594320083 -355000 ekin = 4.47391617267677 | erot = 4.20275229581173 | epot = -34.7382448152821 | etot = -26.0615763467936 -356000 ekin = 4.33084740359937 | erot = 4.16589789857719 | epot = -34.645946257664 | etot = -26.1492009554875 -357000 ekin = 4.27639689643637 | erot = 4.49834201135572 | epot = -34.623409347858 | etot = -25.848670440066 -358000 ekin = 4.37058163127658 | erot = 4.62827517810171 | epot = -34.660122927085 | etot = -25.6612661177067 -359000 ekin = 4.33282658147941 | erot = 4.3585277169614 | epot = -34.7355034140379 | etot = -26.0441491155971 -360000 ekin = 4.2302574599471 | erot = 3.73692187296606 | epot = -34.8272714416459 | etot = -26.8600921087327 -361000 ekin = 4.32772510308598 | erot = 3.40799158120822 | epot = -34.9260321184263 | etot = -27.1903154341322 -362000 ekin = 4.43772207587162 | erot = 3.9282425665155 | epot = -35.0362517129443 | etot = -26.6702870705572 -363000 ekin = 4.60059512711759 | erot = 3.7852782080073 | epot = -35.1492303885082 | etot = -26.7633570533833 -364000 ekin = 4.67620778921833 | erot = 3.65656363115961 | epot = -35.2108467629343 | etot = -26.8780753425564 -365000 ekin = 4.68744796027403 | erot = 3.48647035761076 | epot = -35.2579291425392 | etot = -27.0840108246544 -366000 ekin = 4.63171694657446 | erot = 3.80732263161716 | epot = -35.3317328424945 | etot = -26.8926932643029 -367000 ekin = 4.58794520776148 | erot = 4.31664541166342 | epot = -35.411407687399 | etot = -26.5068170679741 -368000 ekin = 4.53697760644357 | erot = 4.37812449310863 | epot = -35.4654560531489 | etot = -26.5503539535967 -369000 ekin = 4.50593348762471 | erot = 4.09682529638636 | epot = -35.502904475486 | etot = -26.9001456914749 -370000 ekin = 4.51011536275126 | erot = 4.41695795738184 | epot = -35.5220659543718 | etot = -26.5949926342387 -371000 ekin = 4.53049860135433 | erot = 4.68112317413008 | epot = -35.5213297387008 | etot = -26.3097079632164 -372000 ekin = 4.42660066351885 | erot = 4.78148611859358 | epot = -35.5227844835439 | etot = -26.3146977014315 -373000 ekin = 4.28146792836402 | erot = 4.87997662616423 | epot = -35.4825501780567 | etot = -26.3211056235285 -374000 ekin = 4.13287464156697 | erot = 4.84001159820239 | epot = -35.4523011025149 | etot = -26.4794148627455 -375000 ekin = 4.1254545194713 | erot = 4.8180743382467 | epot = -35.4637375699461 | etot = -26.5202087122281 -376000 ekin = 3.87506271806603 | erot = 5.35141111797724 | epot = -35.4720072259952 | etot = -26.2455333899519 -377000 ekin = 3.7977056590801 | erot = 5.28013401771242 | epot = -35.5177354201969 | etot = -26.4398957434044 -378000 ekin = 3.64048261255653 | erot = 5.42072423796152 | epot = -35.5808236384767 | etot = -26.5196167879587 -379000 ekin = 3.52386111576647 | erot = 5.97567004606738 | epot = -35.6532146067625 | etot = -26.1536834449286 -380000 ekin = 3.32387900413189 | erot = 6.59135162244889 | epot = -35.7551331169142 | etot = -25.8399024903334 -381000 ekin = 3.31695717077463 | erot = 6.10983514346576 | epot = -35.8815158952862 | etot = -26.4547235810458 -382000 ekin = 3.19546651526133 | erot = 6.36489840256999 | epot = -35.9926058393689 | etot = -26.4322409215376 -383000 ekin = 3.24368169764623 | erot = 6.33114976953635 | epot = -36.0664601033037 | etot = -26.4916286361211 -384000 ekin = 3.20726412806439 | erot = 6.19392941274155 | epot = -36.13258109202 | etot = -26.7313875512141 -385000 ekin = 3.23885859839814 | erot = 6.31552666314694 | epot = -36.1503271354803 | etot = -26.5959418739352 -386000 ekin = 3.16874411708083 | erot = 5.94413881699879 | epot = -36.1310192334958 | etot = -27.0181362994162 -387000 ekin = 3.1549970524927 | erot = 5.48308596050834 | epot = -36.0714221491829 | etot = -27.4333391361819 -388000 ekin = 3.24907989403076 | erot = 5.58200944567837 | epot = -35.9925882356966 | etot = -27.1614988959874 -389000 ekin = 3.39871525437769 | erot = 5.14342534967113 | epot = -35.9262739307719 | etot = -27.384133326723 -390000 ekin = 3.53157771561222 | erot = 5.0660110699086 | epot = -35.908983793516 | etot = -27.3113950079952 -391000 ekin = 3.64602168736988 | erot = 4.88661504875141 | epot = -35.885482230409 | etot = -27.3528454942877 -392000 ekin = 3.79325143536366 | erot = 5.07292816992986 | epot = -35.8524207546015 | etot = -26.986241149308 -393000 ekin = 3.89148460233114 | erot = 5.02930522203665 | epot = -35.795122258631 | etot = -26.8743324342632 -394000 ekin = 3.96458882833181 | erot = 4.47630346760488 | epot = -35.7247928997471 | etot = -27.2839006038104 -395000 ekin = 4.03856036181308 | erot = 4.53784941780792 | epot = -35.6586367417738 | etot = -27.0822269621528 -396000 ekin = 3.99683646706711 | erot = 4.49727898211262 | epot = -35.5718421340357 | etot = -27.077726684856 -397000 ekin = 4.03872005304138 | erot = 4.03153022392527 | epot = -35.5101946272741 | etot = -27.4399443503075 -398000 ekin = 4.01516330520003 | erot = 4.23226303701241 | epot = -35.4578715559685 | etot = -27.2104452137561 -399000 ekin = 4.01922616565289 | erot = 3.71642260619024 | epot = -35.3548490578807 | etot = -27.6192002860376 -400000 ekin = 4.17225085372102 | erot = 4.04093039429602 | epot = -35.2265510847563 | etot = -27.0133698367392 -401000 ekin = 4.1531499643259 | erot = 3.64804961209453 | epot = -35.0943512868027 | etot = -27.2931517103823 -402000 ekin = 4.20245298417996 | erot = 3.70137380667448 | epot = -34.9745627237163 | etot = -27.0707359328619 -403000 ekin = 4.34132456228991 | erot = 3.62891618665791 | epot = -34.8718657472304 | etot = -26.9016249982826 -404000 ekin = 4.42465890243367 | erot = 3.38938035287143 | epot = -34.7967250831428 | etot = -26.9826858278377 -405000 ekin = 4.60663041953486 | erot = 3.44054758174463 | epot = -34.7925257887161 | etot = -26.7453477874366 -406000 ekin = 4.73346375173126 | erot = 3.27915256113194 | epot = -34.8343083282573 | etot = -26.8216920153941 -407000 ekin = 4.82559135473415 | erot = 3.35253133282322 | epot = -34.9059066553788 | etot = -26.7277839678214 -408000 ekin = 4.89298564336964 | erot = 3.47339817729183 | epot = -34.9848536782083 | etot = -26.6184698575468 -409000 ekin = 4.94069048180851 | erot = 3.76649967413607 | epot = -35.0728065521172 | etot = -26.3656163961726 -410000 ekin = 5.0837627829781 | erot = 3.48855890171053 | epot = -35.187607935011 | etot = -26.6152862503224 -411000 ekin = 5.10492342399056 | erot = 3.39152717909369 | epot = -35.2939784996981 | etot = -26.7975278966138 -412000 ekin = 5.2111592148929 | erot = 3.62435455589215 | epot = -35.3853247581651 | etot = -26.54981098738 -413000 ekin = 5.25687541732572 | erot = 3.76308251202569 | epot = -35.4593584594661 | etot = -26.4394005301146 -414000 ekin = 5.1324847249699 | erot = 3.31025282824723 | epot = -35.5393093363061 | etot = -27.0965717830889 -415000 ekin = 5.09217261574528 | erot = 3.59401320391361 | epot = -35.6051617924017 | etot = -26.9189759727428 -416000 ekin = 5.04807348985225 | erot = 3.48392073248423 | epot = -35.6748296719198 | etot = -27.1428354495833 -417000 ekin = 4.99138526936748 | erot = 3.46255923404135 | epot = -35.7531502554471 | etot = -27.2992057520383 -418000 ekin = 5.08999508315138 | erot = 3.44390708246943 | epot = -35.8333696081094 | etot = -27.2994674424886 -419000 ekin = 5.21842750435985 | erot = 3.38325168590963 | epot = -35.8593643490784 | etot = -27.2576851588089 -420000 ekin = 5.28947719533168 | erot = 3.50797044377656 | epot = -35.8848039905133 | etot = -27.0873563514051 -421000 ekin = 5.35268927232197 | erot = 3.36603650801233 | epot = -35.8749221051677 | etot = -27.1561963248334 -422000 ekin = 5.23695191026875 | erot = 3.5384192070691 | epot = -35.889640869454 | etot = -27.1142697521161 -423000 ekin = 5.09577504756812 | erot = 3.67923583037239 | epot = -35.9137595336543 | etot = -27.1387486557138 -424000 ekin = 5.01335188113047 | erot = 3.70110718137013 | epot = -35.9185617531989 | etot = -27.2041026906983 -425000 ekin = 5.05206155589306 | erot = 3.57652002072429 | epot = -35.9081181462489 | etot = -27.2795365696316 -426000 ekin = 4.96532396129214 | erot = 3.38938274590534 | epot = -35.8769982527922 | etot = -27.5222915455948 -427000 ekin = 4.77195218714309 | erot = 3.50252627514185 | epot = -35.7935414010628 | etot = -27.5190629387779 -428000 ekin = 4.81068646615448 | erot = 3.51825958765431 | epot = -35.6664317412178 | etot = -27.337485687409 -429000 ekin = 4.73870321335492 | erot = 3.84986931063852 | epot = -35.48737645591 | etot = -26.8988039319166 -430000 ekin = 4.60213714825158 | erot = 3.45284870606443 | epot = -35.3073410925574 | etot = -27.2523552382414 -431000 ekin = 4.57358006593925 | erot = 3.25422348182535 | epot = -35.1367594918962 | etot = -27.3089559441316 -432000 ekin = 4.5072400368044 | erot = 3.29998192315337 | epot = -35.0290425710883 | etot = -27.2218206111306 -433000 ekin = 4.30860495703181 | erot = 3.42741416873389 | epot = -34.9513402987262 | etot = -27.2153211729605 -434000 ekin = 4.18610269286835 | erot = 3.55059973000668 | epot = -34.9144648758603 | etot = -27.1777624529852 -435000 ekin = 4.12003359590273 | erot = 3.78033374370969 | epot = -34.8780591099565 | etot = -26.9776917703441 -436000 ekin = 3.97313974106111 | erot = 4.05117020636312 | epot = -34.8427841720093 | etot = -26.8184742245851 -437000 ekin = 3.88596008320741 | erot = 4.32902730056047 | epot = -34.8121331683379 | etot = -26.59714578457 -438000 ekin = 4.0300322104638 | erot = 4.35508047283467 | epot = -34.7917492531093 | etot = -26.4066365698108 -439000 ekin = 4.04655148511089 | erot = 4.17322604141044 | epot = -34.7786348227552 | etot = -26.5588572962338 -440000 ekin = 4.02801522674428 | erot = 4.13470601724877 | epot = -34.783993085415 | etot = -26.621271841422 -441000 ekin = 3.9407814794189 | erot = 4.22144190117305 | epot = -34.8185771480924 | etot = -26.6563537675004 -442000 ekin = 3.97730990695624 | erot = 4.24233406975314 | epot = -34.8718962191131 | etot = -26.6522522424037 -443000 ekin = 3.98508138243203 | erot = 4.16122580291752 | epot = -34.9266782585657 | etot = -26.7803710732162 -444000 ekin = 4.00042709081881 | erot = 4.50741850480051 | epot = -34.9630696153483 | etot = -26.455224019729 -445000 ekin = 4.02620459576009 | erot = 4.64580325300967 | epot = -34.9893039643633 | etot = -26.3172961155935 -446000 ekin = 4.01454608720561 | erot = 4.89747165518573 | epot = -34.9969089036747 | etot = -26.0848911612834 -447000 ekin = 3.9634269487331 | erot = 4.85867800390581 | epot = -34.9830933662453 | etot = -26.1609884136064 -448000 ekin = 3.74592315828131 | erot = 5.17578433357899 | epot = -34.9638816619607 | etot = -26.0421741701004 -449000 ekin = 3.73316291077397 | erot = 5.18498661281911 | epot = -34.928043894125 | etot = -26.0098943705319 -450000 ekin = 3.85313039093471 | erot = 4.86926583888851 | epot = -34.871696979835 | etot = -26.1493007500118 -451000 ekin = 4.0635928053116 | erot = 4.99817049859077 | epot = -34.8377147695102 | etot = -25.7759514656078 -452000 ekin = 4.12215980217323 | erot = 4.58488292412152 | epot = -34.8398353293668 | etot = -26.132792603072 -453000 ekin = 4.16332842884585 | erot = 4.32671008371169 | epot = -34.8570499988891 | etot = -26.3670114863315 -454000 ekin = 4.11754892618458 | erot = 4.47415692336241 | epot = -34.8913194738516 | etot = -26.2996136243046 -455000 ekin = 4.22185774995392 | erot = 4.65517828169302 | epot = -34.9334347985056 | etot = -26.0563987668587 -456000 ekin = 4.30177202276186 | erot = 4.77747798616555 | epot = -35.0188770940117 | etot = -25.9396270850843 -457000 ekin = 4.26451460758692 | erot = 4.69009499467403 | epot = -35.1021143238335 | etot = -26.1475047215725 -458000 ekin = 4.31289289804826 | erot = 4.48148846421096 | epot = -35.1135359976452 | etot = -26.319154635386 -459000 ekin = 4.40924309472913 | erot = 4.70052929057904 | epot = -35.3709113999322 | etot = -26.261139014624 -460000 ekin = 4.47691183250362 | erot = 4.50574141189091 | epot = -35.566195356935 | etot = -26.5835421125405 -461000 ekin = 4.43873436995047 | erot = 4.99077626254052 | epot = -35.6310455171601 | etot = -26.2015348846691 -462000 ekin = 4.38932525316334 | erot = 4.94989100042744 | epot = -35.7174404682251 | etot = -26.3782242146343 -463000 ekin = 4.36115268480756 | erot = 5.66229263914062 | epot = -35.7828736923833 | etot = -25.7594283684351 -464000 ekin = 4.32411863133059 | erot = 5.21874712373015 | epot = -35.831817418358 | etot = -26.2889516632972 -465000 ekin = 4.25283049437785 | erot = 4.89311928407883 | epot = -35.8307748329822 | etot = -26.6848250545255 -466000 ekin = 3.97961054012127 | erot = 4.30523919521546 | epot = -35.8019205162795 | etot = -27.5170707809428 -467000 ekin = 3.96957942645049 | erot = 4.02414635207156 | epot = -35.7935881476328 | etot = -27.7998623691107 -468000 ekin = 3.81067149059023 | erot = 3.91311573890038 | epot = -35.8192046044613 | etot = -28.0954173749707 -469000 ekin = 3.82956653035844 | erot = 3.76358708523021 | epot = -35.8554657317423 | etot = -28.2623121161536 -470000 ekin = 3.84315155222981 | erot = 3.46319185355953 | epot = -35.9283028420635 | etot = -28.6219594362741 -471000 ekin = 3.84189885920186 | erot = 3.51787257644774 | epot = -36.0370536568174 | etot = -28.6772822211678 -472000 ekin = 3.86861114122289 | erot = 3.36458500068021 | epot = -36.136832298983 | etot = -28.9036361570799 -473000 ekin = 3.73700168734163 | erot = 3.58329228877658 | epot = -36.2233655143198 | etot = -28.9030715382016 -474000 ekin = 3.82928273613466 | erot = 3.70070391401449 | epot = -36.2919855352817 | etot = -28.7619988851326 -475000 ekin = 3.89544030959981 | erot = 3.76401640046676 | epot = -36.368430738898 | etot = -28.7089740288314 -476000 ekin = 4.08932767113311 | erot = 3.7090790175484 | epot = -36.4684310716285 | etot = -28.670024382947 -477000 ekin = 4.15334136664067 | erot = 3.70899967496142 | epot = -36.5311600367317 | etot = -28.6688189951296 -478000 ekin = 4.07512882728801 | erot = 3.80913887771278 | epot = -36.5715417700018 | etot = -28.687274065001 -479000 ekin = 3.96184225144662 | erot = 3.67584263229307 | epot = -36.6049454628497 | etot = -28.96726057911 -480000 ekin = 3.86072911979592 | erot = 3.85211085064263 | epot = -36.6106292252495 | etot = -28.897789254811 -481000 ekin = 3.78563823255482 | erot = 4.02431409923187 | epot = -36.604468258428 | etot = -28.7945159266413 -482000 ekin = 3.81986353724767 | erot = 3.94457553240232 | epot = -36.555624249585 | etot = -28.791185179935 -483000 ekin = 3.91937069686989 | erot = 3.97985471481289 | epot = -36.4953515335722 | etot = -28.5961261218894 -484000 ekin = 3.90565472316258 | erot = 3.68508276016124 | epot = -36.4265142327187 | etot = -28.8357767493949 -485000 ekin = 3.97067640669119 | erot = 3.52818833629898 | epot = -36.3385351029671 | etot = -28.8396703599769 -486000 ekin = 4.08924338068637 | erot = 3.45150371793016 | epot = -36.2407040808275 | etot = -28.699956982211 -487000 ekin = 4.0776172953027 | erot = 3.69577064303949 | epot = -36.1174543397059 | etot = -28.3440664013637 -488000 ekin = 3.98120330041654 | erot = 4.01179749212316 | epot = -35.9662140009108 | etot = -27.9732132083711 -489000 ekin = 3.94304108511277 | erot = 4.09948585344473 | epot = -35.8365811443669 | etot = -27.7940542058094 -490000 ekin = 3.98200750178095 | erot = 4.1933065556559 | epot = -35.7436522395692 | etot = -27.5683381821323 -491000 ekin = 4.04453601319225 | erot = 4.06864604679556 | epot = -35.6813038605047 | etot = -27.5681218005169 -492000 ekin = 4.10478194610714 | erot = 4.27931273272371 | epot = -35.6201850620968 | etot = -27.2360903832659 -493000 ekin = 4.14218811078641 | erot = 4.30328516242947 | epot = -35.552932172172 | etot = -27.1074588989561 -494000 ekin = 4.15483197917405 | erot = 4.22087230768693 | epot = -35.5007035923698 | etot = -27.1249993055088 -495000 ekin = 4.26671892357318 | erot = 4.21745137304138 | epot = -35.4450128389798 | etot = -26.9608425423653 -496000 ekin = 4.42373869014847 | erot = 3.65535322096903 | epot = -35.3933064942827 | etot = -27.3142145831652 -497000 ekin = 4.57363309591063 | erot = 3.63766344362447 | epot = -35.3630685420949 | etot = -27.1517720025598 -498000 ekin = 4.7241733979428 | erot = 3.40665904233516 | epot = -35.3570714026385 | etot = -27.2262389623605 -499000 ekin = 4.76806375994875 | erot = 3.58204839805272 | epot = -35.3646341268585 | etot = -27.014521968857 -500000 ekin = 4.86803273232483 | erot = 3.40069391727023 | epot = -35.4199817543268 | etot = -27.1512551047318 -501000 ekin = 4.96743307602627 | erot = 3.46724128896305 | epot = -35.4970649677118 | etot = -27.0623906027225 -502000 ekin = 4.91929166862615 | erot = 3.57165212036678 | epot = -35.5889625489512 | etot = -27.0980187599583 -503000 ekin = 4.90703913138678 | erot = 3.86458875313933 | epot = -35.6771862828227 | etot = -26.9055583982966 -504000 ekin = 5.1370533506199 | erot = 3.5369546296831 | epot = -35.7347477259461 | etot = -27.0607397456431 -505000 ekin = 5.23249143944225 | erot = 3.46343104093314 | epot = -35.7820571844966 | etot = -27.0861347041212 -506000 ekin = 5.11675278315717 | erot = 3.7206718650993 | epot = -35.8198968197658 | etot = -26.9824721715093 -507000 ekin = 5.1899390138749 | erot = 4.15215085847695 | epot = -35.8269271672396 | etot = -26.4848372948877 -508000 ekin = 4.9859787822663 | erot = 4.11598571893968 | epot = -35.7826195676286 | etot = -26.6806550664226 -509000 ekin = 4.8941242567771 | erot = 4.30807642739895 | epot = -35.6890852058564 | etot = -26.4868845216804 -510000 ekin = 4.89504815269032 | erot = 4.46013837584195 | epot = -35.5893215666418 | etot = -26.2341350381096 -511000 ekin = 4.85835750083421 | erot = 4.41721118692693 | epot = -35.4748886415727 | etot = -26.1993199538116 -512000 ekin = 4.85632567302005 | erot = 4.58501467870099 | epot = -35.3170557845382 | etot = -25.8757154328171 -513000 ekin = 4.79088228903437 | erot = 4.4189824922301 | epot = -35.1398620511889 | etot = -25.9299972699244 -514000 ekin = 4.84082723167344 | erot = 4.10048582144436 | epot = -34.952894027941 | etot = -26.0115809748232 -515000 ekin = 4.66396867258937 | erot = 3.7079532547263 | epot = -34.8081323279133 | etot = -26.4362104005976 -516000 ekin = 4.4520372226043 | erot = 3.7424161749218 | epot = -34.7399422586774 | etot = -26.5454888611513 -517000 ekin = 4.39320763550332 | erot = 3.61293763489243 | epot = -34.7115969229745 | etot = -26.7054516525788 -518000 ekin = 4.3351626742312 | erot = 3.46685163663689 | epot = -34.7205591716219 | etot = -26.9185448607538 -519000 ekin = 4.32678001120832 | erot = 3.8333130859946 | epot = -34.7543932584755 | etot = -26.5943001612725 -520000 ekin = 4.16017569753314 | erot = 3.99442103376417 | epot = -34.7797387277815 | etot = -26.6251419964842 -521000 ekin = 4.01091284601602 | erot = 4.71227661622732 | epot = -34.8119764016188 | etot = -26.0887869393754 -522000 ekin = 3.9255586814989 | erot = 4.67306017627962 | epot = -34.8638412525408 | etot = -26.2652223947623 -523000 ekin = 4.10629342994203 | erot = 4.236908212199 | epot = -34.9392637364661 | etot = -26.5960620943251 -524000 ekin = 4.16964406138591 | erot = 4.51539305326744 | epot = -35.0302476439308 | etot = -26.3452105292774 -525000 ekin = 4.14574067413465 | erot = 4.59255192964589 | epot = -35.1665459803983 | etot = -26.4282533766178 -526000 ekin = 4.296358047754 | erot = 5.381812036993 | epot = -35.3702076593238 | etot = -25.6920375745768 -527000 ekin = 4.43341423246361 | erot = 5.4208701656542 | epot = -35.5881352754177 | etot = -25.7338508772999 -528000 ekin = 4.65221997264072 | erot = 5.64432261927517 | epot = -35.7907306535609 | etot = -25.494188061645 -529000 ekin = 4.75833001518924 | erot = 6.22279494556947 | epot = -35.9649272181716 | etot = -24.9838022574129 -530000 ekin = 4.85254900576415 | erot = 6.26630645813046 | epot = -36.1175112827238 | etot = -24.9986558188292 -531000 ekin = 4.88314038497982 | erot = 6.22256761998238 | epot = -36.2218727030894 | etot = -25.1161646981272 -532000 ekin = 4.89429192132463 | erot = 6.19376619305432 | epot = -36.2791850407375 | etot = -25.1911269263585 -533000 ekin = 4.98074956905521 | erot = 6.71246035574362 | epot = -36.2873072492241 | etot = -24.5940973244253 -534000 ekin = 5.05914514163862 | erot = 6.72049132345808 | epot = -36.2541186702089 | etot = -24.4744822051122 -535000 ekin = 4.98307281629264 | erot = 6.60876507020625 | epot = -36.1722591997817 | etot = -24.5804213132828 -536000 ekin = 4.92092214615494 | erot = 6.71824597922688 | epot = -36.0492643890656 | etot = -24.4100962636838 -537000 ekin = 4.73594122849286 | erot = 6.46069540815352 | epot = -35.9116294607651 | etot = -24.7149928241187 -538000 ekin = 4.79280389212849 | erot = 6.10794151385203 | epot = -35.7423046160126 | etot = -24.8415592100321 -539000 ekin = 4.77579753855575 | erot = 5.97217188520334 | epot = -35.5336009816514 | etot = -24.7856315578923 -540000 ekin = 4.5934335322059 | erot = 6.0288231594335 | epot = -35.2969540919917 | etot = -24.6746974003523 -541000 ekin = 4.56261508857232 | erot = 5.60884609986387 | epot = -35.074241498478 | etot = -24.9027803100418 -542000 ekin = 4.4230407907828 | erot = 5.24180126466482 | epot = -34.8728664426871 | etot = -25.2080243872395 -543000 ekin = 4.31458565966237 | erot = 5.3064811880571 | epot = -34.6809264080031 | etot = -25.0598595602836 -544000 ekin = 4.16990383767255 | erot = 5.09480741715239 | epot = -34.5077033118771 | etot = -25.2429920570521 -545000 ekin = 4.03506404145806 | erot = 4.95913193735205 | epot = -34.3738505570893 | etot = -25.3796545782792 -546000 ekin = 4.05283758597002 | erot = 4.62357416672456 | epot = -34.2732549004477 | etot = -25.5968431477531 -547000 ekin = 3.91892476341072 | erot = 4.42471065792704 | epot = -34.1888485564159 | etot = -25.8452131350781 -548000 ekin = 3.85923648383023 | erot = 4.18493881932583 | epot = -34.1251823218203 | etot = -26.0810070186642 -549000 ekin = 3.89277095561291 | erot = 4.20183962759824 | epot = -34.0968256559695 | etot = -26.0022150727584 -550000 ekin = 3.88489313663741 | erot = 4.0698735084027 | epot = -34.083498992554 | etot = -26.1287323475139 -551000 ekin = 3.87639970039824 | erot = 4.25043058335786 | epot = -34.0931086790785 | etot = -25.9662783953224 -552000 ekin = 3.88627319211738 | erot = 4.0010203354773 | epot = -34.163860291438 | etot = -26.2765667638433 -553000 ekin = 4.05569156373835 | erot = 3.56403629580258 | epot = -34.2474834864243 | etot = -26.6277556268834 -554000 ekin = 4.25626838001505 | erot = 3.70804766862573 | epot = -34.2954308218042 | etot = -26.3311147731634 -555000 ekin = 4.26487407035246 | erot = 3.78496110408411 | epot = -34.3412268896546 | etot = -26.291391715218 -556000 ekin = 4.24622902964942 | erot = 4.03454820388574 | epot = -34.3344093396383 | etot = -26.0536321061031 -557000 ekin = 4.0731966983783 | erot = 3.86372668854402 | epot = -34.2640157691765 | etot = -26.3270923822542 -558000 ekin = 3.9948930644697 | erot = 3.82027814531928 | epot = -34.1455461859523 | etot = -26.3303749761633 -559000 ekin = 4.00179663426005 | erot = 3.82651776959161 | epot = -33.9924674804782 | etot = -26.1641530766265 -560000 ekin = 3.90938418270034 | erot = 3.49539199637402 | epot = -33.8018928207131 | etot = -26.3971166416387 -561000 ekin = 3.70375196060258 | erot = 3.38165869548275 | epot = -33.615733164291 | etot = -26.5303225082057 -562000 ekin = 3.64392595608231 | erot = 3.67997084627181 | epot = -33.4612560313007 | etot = -26.1373592289466 -563000 ekin = 3.59769761679705 | erot = 3.74125845764523 | epot = -33.3480734777517 | etot = -26.0091174033094 -564000 ekin = 3.58725325354742 | erot = 3.35524020938125 | epot = -33.267517196837 | etot = -26.3250237339083 -565000 ekin = 3.63835964444106 | erot = 3.77402574563878 | epot = -33.240901552366 | etot = -25.8285161622862 -566000 ekin = 3.64384501808566 | erot = 3.77515123487333 | epot = -33.2503593116368 | etot = -25.8313630586779 -567000 ekin = 3.63214417671457 | erot = 3.86854489788161 | epot = -33.2603190278794 | etot = -25.7596299532833 -568000 ekin = 3.76759211619052 | erot = 3.9732101485638 | epot = -33.2947231384409 | etot = -25.5539208736866 -569000 ekin = 3.75607920629751 | erot = 3.91893504114413 | epot = -33.3766443391901 | etot = -25.7016300917484 -570000 ekin = 3.88570178164854 | erot = 3.8701337006161 | epot = -33.4676246266793 | etot = -25.7117891444146 -571000 ekin = 3.91109063039706 | erot = 4.38873366379694 | epot = -33.5301619269313 | etot = -25.2303376327373 -572000 ekin = 3.9135736753704 | erot = 4.54669425634133 | epot = -33.5613071721044 | etot = -25.1010392403927 -573000 ekin = 4.00256460246037 | erot = 4.69928602914644 | epot = -33.547965409059 | etot = -24.8461147774522 -574000 ekin = 4.04557469411573 | erot = 4.85104808888591 | epot = -33.4823141367226 | etot = -24.5856913537209 -575000 ekin = 4.01990448331334 | erot = 4.48360936846642 | epot = -33.4090682352895 | etot = -24.9055543835097 -576000 ekin = 3.8077042063495 | erot = 4.4090298473991 | epot = -33.3559765416156 | etot = -25.139242487867 -577000 ekin = 3.65176770723656 | erot = 4.69770290650885 | epot = -33.3414847753624 | etot = -24.992014161617 -578000 ekin = 3.65416507269697 | erot = 5.09984939028917 | epot = -33.3628873386868 | etot = -24.6088728757007 -579000 ekin = 3.65457514215401 | erot = 4.83085466504536 | epot = -33.4229058723706 | etot = -24.9374760651712 -580000 ekin = 3.61022362260401 | erot = 5.21507039569716 | epot = -33.5257015423967 | etot = -24.7004075240955 -581000 ekin = 3.494914275922 | erot = 5.80898315058267 | epot = -33.6374701054948 | etot = -24.3335726789901 -582000 ekin = 3.45150652331189 | erot = 5.20797294729429 | epot = -33.7413132898266 | etot = -25.0818338192204 -583000 ekin = 3.43883253778127 | erot = 4.99240818298312 | epot = -33.7992206024418 | etot = -25.3679798816774 -584000 ekin = 3.41950743993982 | erot = 5.30429667829813 | epot = -33.8273198616872 | etot = -25.1035157434492 -585000 ekin = 3.52988736379251 | erot = 5.26888625710182 | epot = -33.8562169326841 | etot = -25.0574433117897 -586000 ekin = 3.54522421505632 | erot = 5.15182886320336 | epot = -33.8748034063857 | etot = -25.177750328126 -587000 ekin = 3.64975640444305 | erot = 4.43116878398965 | epot = -33.8790223191809 | etot = -25.7980971307482 -588000 ekin = 3.85787406303013 | erot = 4.33848995606292 | epot = -33.9012642894901 | etot = -25.704900270397 -589000 ekin = 3.94871508842027 | erot = 4.36958758855398 | epot = -33.9512157067312 | etot = -25.632913029757 -590000 ekin = 4.04576150007614 | erot = 4.34777620153041 | epot = -33.9849374243125 | etot = -25.5913997227059 -591000 ekin = 4.13483818439864 | erot = 4.2847530812366 | epot = -33.997537224377 | etot = -25.5779459587418 -592000 ekin = 4.25566804148588 | erot = 4.00241438742632 | epot = -33.9905173022463 | etot = -25.7324348733341 -593000 ekin = 4.26695504286498 | erot = 3.75133860519142 | epot = -33.9824243028368 | etot = -25.9641306547804 -594000 ekin = 4.24513038558001 | erot = 3.88826331815687 | epot = -33.9597952629285 | etot = -25.8264015591916 -595000 ekin = 4.33307108334578 | erot = 3.92609577318101 | epot = -33.9197199407769 | etot = -25.6605530842501 -596000 ekin = 4.23611726585083 | erot = 3.89070717461436 | epot = -33.8740124837555 | etot = -25.7471880432903 -597000 ekin = 4.40233879096545 | erot = 3.99738130824423 | epot = -33.8902431987863 | etot = -25.4905230995766 -598000 ekin = 4.23795477390283 | erot = 4.04526003587962 | epot = -33.9155939268415 | etot = -25.632379117059 -599000 ekin = 4.13745802988963 | erot = 3.88641709707891 | epot = -33.9296772436184 | etot = -25.9058021166499 -600000 ekin = 4.21239990479373 | erot = 3.82373814742806 | epot = -33.9651236246002 | etot = -25.9289855723784 -601000 ekin = 4.31969973340156 | erot = 3.98399943561206 | epot = -34.0172721411617 | etot = -25.7135729721481 -602000 ekin = 4.27803621196591 | erot = 4.02063732656592 | epot = -34.1006984229854 | etot = -25.8020248844535 -603000 ekin = 4.31016670434105 | erot = 4.06109056998793 | epot = -34.2290225355025 | etot = -25.8577652611735 -604000 ekin = 4.35436231281015 | erot = 4.27081433433638 | epot = -34.3693989473761 | etot = -25.7442223002295 -605000 ekin = 4.29263786573535 | erot = 4.35816455016065 | epot = -34.5293522620236 | etot = -25.8785498461276 -606000 ekin = 4.23493766333219 | erot = 4.45889694601915 | epot = -34.6959569640143 | etot = -26.002122354663 -607000 ekin = 4.21589668454704 | erot = 4.35851580050846 | epot = -34.8643734064671 | etot = -26.2899609214116 -608000 ekin = 4.31617609118148 | erot = 4.37118434041818 | epot = -35.0106665625387 | etot = -26.323306130939 -609000 ekin = 4.40054829762706 | erot = 4.09556922746415 | epot = -35.1090427558584 | etot = -26.6129252307672 -610000 ekin = 4.38360179734749 | erot = 4.43080811091103 | epot = -35.1590130940805 | etot = -26.344603185822 -611000 ekin = 4.30911071720803 | erot = 4.66858603342419 | epot = -35.199774136202 | etot = -26.2220773855698 -612000 ekin = 4.38115044343898 | erot = 4.62952065066672 | epot = -35.2189008927589 | etot = -26.2082297986532 -613000 ekin = 4.49640333428286 | erot = 4.73033949191667 | epot = -35.2311946320123 | etot = -26.0044518058127 -614000 ekin = 4.42698019674728 | erot = 4.54387450238911 | epot = -35.2270245654641 | etot = -26.2561698663278 -615000 ekin = 4.3629388204899 | erot = 4.65167437175519 | epot = -35.2500098144353 | etot = -26.2353966221903 -616000 ekin = 4.25552094369014 | erot = 3.96773357990598 | epot = -35.2626465654004 | etot = -27.0393920418043 -617000 ekin = 4.02844203107081 | erot = 3.93306028038353 | epot = -35.3085438772357 | etot = -27.3470415657814 -618000 ekin = 3.91410624199523 | erot = 3.99915504239056 | epot = -35.3773572154983 | etot = -27.4640959311125 -619000 ekin = 3.9294433404095 | erot = 3.65858234543169 | epot = -35.4549579850513 | etot = -27.8669322992101 -620000 ekin = 3.94632769198393 | erot = 4.05357915876527 | epot = -35.5452298743849 | etot = -27.5453230236357 -621000 ekin = 4.00876452457071 | erot = 4.18557952361359 | epot = -35.6568787558286 | etot = -27.4625347076443 -622000 ekin = 3.97770547832547 | erot = 4.20428409244749 | epot = -35.7853832130651 | etot = -27.6033936422921 -623000 ekin = 3.87623409179537 | erot = 4.44200976918119 | epot = -35.9345595163542 | etot = -27.6163156553776 -624000 ekin = 3.81461749379546 | erot = 4.73413928443235 | epot = -36.0610458736418 | etot = -27.512289095414 -625000 ekin = 3.89702417514946 | erot = 4.5196799549034 | epot = -36.1593702506668 | etot = -27.7426661206139 -626000 ekin = 4.0528518195111 | erot = 5.12209714551147 | epot = -36.237370947802 | etot = -27.0624219827794 -627000 ekin = 4.06919694856893 | erot = 5.16853241383708 | epot = -36.2459696084307 | etot = -27.0082402460247 -628000 ekin = 3.97574634490031 | erot = 5.15377915037523 | epot = -36.1860007276678 | etot = -27.0564752323922 -629000 ekin = 3.97847076093763 | erot = 4.98743417354921 | epot = -36.084160296335 | etot = -27.1182553618481 -630000 ekin = 3.82117049554653 | erot = 4.72915936447952 | epot = -35.9627884752431 | etot = -27.4124586152171 -631000 ekin = 3.8646114143111 | erot = 4.86154549635015 | epot = -35.8061457051951 | etot = -27.0799887945339 -632000 ekin = 3.74664734149751 | erot = 4.54810894057716 | epot = -35.6214135997292 | etot = -27.3266573176545 -633000 ekin = 3.70561564688156 | erot = 3.84492477779505 | epot = -35.4366028892496 | etot = -27.886062464573 -634000 ekin = 3.59215409071566 | erot = 3.93871515972519 | epot = -35.2896538627894 | etot = -27.7587846123485 -635000 ekin = 3.50545587494281 | erot = 4.06717110382225 | epot = -35.1730596180138 | etot = -27.6004326392487 -636000 ekin = 3.33094541502758 | erot = 4.07821458070319 | epot = -35.1077038533339 | etot = -27.6985438576031 -637000 ekin = 3.1450521799885 | erot = 4.05756077132578 | epot = -35.1055524080602 | etot = -27.9029394567459 -638000 ekin = 3.09050584392124 | erot = 4.40258652090801 | epot = -35.1570633539873 | etot = -27.6639709891581 -639000 ekin = 3.07687333216972 | erot = 4.16491810908533 | epot = -35.2467836386701 | etot = -28.0049921974151 -640000 ekin = 3.00973730804964 | erot = 4.26924181333289 | epot = -35.3354522376063 | etot = -28.0564731162238 -641000 ekin = 2.94445196408731 | erot = 4.64391413205011 | epot = -35.4644644387943 | etot = -27.8760983426569 -642000 ekin = 2.98442414954527 | erot = 4.99747556124224 | epot = -35.629005703419 | etot = -27.6471059926314 -643000 ekin = 3.20556469531983 | erot = 4.80255317913171 | epot = -35.7795885297912 | etot = -27.7714706553396 -644000 ekin = 3.27488214023669 | erot = 4.64957731616528 | epot = -35.9161733239232 | etot = -27.9917138675212 -645000 ekin = 3.41323831994906 | erot = 4.71321420527498 | epot = -36.0213663956136 | etot = -27.8949138703896 -646000 ekin = 3.56963422518063 | erot = 4.46391006184168 | epot = -36.0597764611991 | etot = -28.0262321741768 -647000 ekin = 3.65146108953654 | erot = 4.34882885781815 | epot = -36.0539738525772 | etot = -28.0536839052225 -648000 ekin = 3.80589253043734 | erot = 4.22505125234539 | epot = -35.9957895068619 | etot = -27.9648457240791 -649000 ekin = 4.01844415748726 | erot = 4.19109412255692 | epot = -35.918006133173 | etot = -27.7084678531288 -650000 ekin = 4.03810277748455 | erot = 3.86362623058827 | epot = -35.8260490160414 | etot = -27.9243200079685 -651000 ekin = 4.1420394457061 | erot = 3.56888807374624 | epot = -35.7087423281368 | etot = -27.9978148086844 -652000 ekin = 4.23250261214613 | erot = 3.18710224409333 | epot = -35.6367851174003 | etot = -28.2171802611608 -653000 ekin = 4.36352642925903 | erot = 3.20148998565931 | epot = -35.6464209942524 | etot = -28.0814045793341 -654000 ekin = 4.52792032439863 | erot = 3.02237039454649 | epot = -35.6995719521279 | etot = -28.1492812331828 -655000 ekin = 4.60546960877418 | erot = 2.96007185178607 | epot = -35.8223013228776 | etot = -28.2567598623174 -656000 ekin = 4.78956137675958 | erot = 3.38896158834532 | epot = -35.9826527468522 | etot = -27.8041297817474 -657000 ekin = 4.78481247088143 | erot = 3.67040934516362 | epot = -36.1522101931014 | etot = -27.6969883770563 -658000 ekin = 4.68735602442142 | erot = 4.10635530609203 | epot = -36.3122539915035 | etot = -27.5185426609901 -659000 ekin = 4.79643464434846 | erot = 4.31091667955153 | epot = -36.4198222001284 | etot = -27.3124708762284 -660000 ekin = 4.65613606555458 | erot = 4.00182169137101 | epot = -36.5017357753368 | etot = -27.8437780184112 -661000 ekin = 4.53939481189358 | erot = 4.39327864100421 | epot = -36.552237956014 | etot = -27.6195645031162 -662000 ekin = 4.62075189021939 | erot = 4.64171304234462 | epot = -36.545875274844 | etot = -27.28341034228 -663000 ekin = 4.60627251324175 | erot = 4.44191382325611 | epot = -36.5358428119652 | etot = -27.4876564754673 -664000 ekin = 4.5322487745738 | erot = 4.69535654969877 | epot = -36.5440045788996 | etot = -27.3163992546271 -665000 ekin = 4.33791904760918 | erot = 4.79511074251709 | epot = -36.5712979957051 | etot = -27.4382682055788 -666000 ekin = 4.01034004769755 | erot = 5.144756302773 | epot = -36.6275167021822 | etot = -27.4724203517116 -667000 ekin = 3.92791037721526 | erot = 5.1180589475915 | epot = -36.7022697315157 | etot = -27.656300406709 -668000 ekin = 3.69207242860475 | erot = 4.95115852091633 | epot = -36.77482844315 | etot = -28.1315974936289 -669000 ekin = 3.52850414694741 | erot = 5.30513713121027 | epot = -36.8468924103787 | etot = -28.013251132221 -670000 ekin = 3.43685158392318 | erot = 5.67353767341462 | epot = -36.8571678878536 | etot = -27.7467786305158 -671000 ekin = 3.37237891900108 | erot = 4.81383151363229 | epot = -36.789877261468 | etot = -28.6036668288346 -672000 ekin = 3.42142864489494 | erot = 4.47410705082113 | epot = -36.6509805759882 | etot = -28.7554448802721 -673000 ekin = 3.47620696197669 | erot = 4.5346881275349 | epot = -36.4695914666357 | etot = -28.4586963771241 -674000 ekin = 3.34015467342445 | erot = 4.56003540036683 | epot = -36.2728042739957 | etot = -28.3726142002044 -675000 ekin = 3.26558121431912 | erot = 4.75716318196968 | epot = -36.081244882487 | etot = -28.0585004861982 -676000 ekin = 3.30557173090105 | erot = 4.66626180335483 | epot = -35.8858133485329 | etot = -27.9139798142771 -677000 ekin = 3.38252137148696 | erot = 4.68979222844271 | epot = -35.7238379181649 | etot = -27.6515243182352 -678000 ekin = 3.33430766992679 | erot = 4.45636421682296 | epot = -35.5898515746292 | etot = -27.7991796878794 -679000 ekin = 3.26716522041086 | erot = 4.1364314169021 | epot = -35.5282160560392 | etot = -28.1246194187263 -680000 ekin = 3.22330491222295 | erot = 4.11355311991395 | epot = -35.5522418172891 | etot = -28.2153837851522 -681000 ekin = 3.27654998707864 | erot = 4.40088508884101 | epot = -35.6343431031162 | etot = -27.9569080271965 -682000 ekin = 3.38403402083093 | erot = 4.64957783602951 | epot = -35.7255960652544 | etot = -27.6919842083939 -683000 ekin = 3.58392532059595 | erot = 4.15499488835509 | epot = -35.8541956283799 | etot = -28.1152754194289 -684000 ekin = 3.63284008875844 | erot = 4.14497212696412 | epot = -36.0448350473468 | etot = -28.2670228316243 -685000 ekin = 3.75538152185827 | erot = 3.95609692494467 | epot = -36.2462524041805 | etot = -28.5347739573775 -686000 ekin = 3.91883145536903 | erot = 3.95298902028762 | epot = -36.4771155861876 | etot = -28.605295110531 -687000 ekin = 4.05299881159346 | erot = 4.06027810523509 | epot = -36.7169526369106 | etot = -28.6036757200821 -688000 ekin = 4.13599667613487 | erot = 4.10331489254492 | epot = -36.9524101670374 | etot = -28.7130985983576 -689000 ekin = 4.25987754434331 | erot = 4.14481492316617 | epot = -37.1900775910787 | etot = -28.7853851235692 -690000 ekin = 4.43074027682691 | erot = 4.04380513304471 | epot = -37.3931354089472 | etot = -28.9185899990756 -691000 ekin = 4.53821721573907 | erot = 3.8050334589901 | epot = -37.5576014163145 | etot = -29.2143507415853 -692000 ekin = 4.64150042779563 | erot = 3.59872997928139 | epot = -37.6895260553266 | etot = -29.4492956482496 -693000 ekin = 4.69075885893268 | erot = 3.47578918601684 | epot = -37.8114874122412 | etot = -29.6449393672917 -694000 ekin = 4.7382251866288 | erot = 3.84263750148522 | epot = -37.9027003996521 | etot = -29.3218377115381 -695000 ekin = 4.75494194628237 | erot = 3.78113333862439 | epot = -37.9681336831645 | etot = -29.4320583982578 -696000 ekin = 4.697866081995 | erot = 3.78526821175916 | epot = -38.0084908312995 | etot = -29.5253565375453 -697000 ekin = 4.69854328160722 | erot = 3.62432955932709 | epot = -38.0258612384494 | etot = -29.7029883975151 -698000 ekin = 4.71023285873083 | erot = 3.64111389234168 | epot = -38.0301547340748 | etot = -29.6788079830023 -699000 ekin = 4.56773244344101 | erot = 3.71983710702471 | epot = -38.0529467082179 | etot = -29.7653771577522 -700000 ekin = 4.43155866208815 | erot = 3.5335546196022 | epot = -38.068583492112 | etot = -30.1034702104217 -701000 ekin = 4.47548631411863 | erot = 3.38963138436185 | epot = -38.0500116139802 | etot = -30.1848939154997 -702000 ekin = 4.46550513017092 | erot = 3.66852889097233 | epot = -38.0164512923389 | etot = -29.8824172711957 -703000 ekin = 4.38742906998922 | erot = 3.97599599383663 | epot = -37.9817705180933 | etot = -29.6183454542675 -704000 ekin = 4.41020682713785 | erot = 3.83147838533244 | epot = -37.9674346241353 | etot = -29.725749411665 -705000 ekin = 4.39308990786526 | erot = 3.75664217186731 | epot = -37.9282520396859 | etot = -29.7785199599533 -706000 ekin = 4.43040906703226 | erot = 4.12756254176834 | epot = -37.8939279543814 | etot = -29.3359563455808 -707000 ekin = 4.51700671633719 | erot = 3.77573523129425 | epot = -37.8444471024425 | etot = -29.5517051548111 -708000 ekin = 4.49065124304644 | erot = 3.88552877103945 | epot = -37.7744800646496 | etot = -29.3983000505637 -709000 ekin = 4.41855498291582 | erot = 3.53582586052254 | epot = -37.6656825257606 | etot = -29.7113016823223 -710000 ekin = 4.40535258977441 | erot = 3.39649502688896 | epot = -37.546693994465 | etot = -29.7448463778016 -711000 ekin = 4.32709544005412 | erot = 3.54995473847997 | epot = -37.3866324258477 | etot = -29.5095822473136 -712000 ekin = 4.40620309391045 | erot = 3.7155744253842 | epot = -37.1793914331046 | etot = -29.05761391381 -713000 ekin = 4.39226105260381 | erot = 3.64956114520254 | epot = -36.9592491146155 | etot = -28.9174269168092 -714000 ekin = 4.3945904765123 | erot = 3.58799428596503 | epot = -36.7844109062829 | etot = -28.8018261438055 -715000 ekin = 4.41458674942753 | erot = 4.01850565037344 | epot = -36.5924446920391 | etot = -28.1593522922382 -716000 ekin = 4.33665938530876 | erot = 3.50452219695681 | epot = -36.4143425377369 | etot = -28.5731609554713 -717000 ekin = 4.18088462864216 | erot = 3.21190204009032 | epot = -36.2481677379304 | etot = -28.8553810691979 -718000 ekin = 4.03231025467992 | erot = 2.91104295996765 | epot = -36.1402693367145 | etot = -29.196916122067 -719000 ekin = 3.97260579411936 | erot = 3.29783620298701 | epot = -36.0849771003507 | etot = -28.8145351032443 -720000 ekin = 3.82567789821418 | erot = 3.46218504309359 | epot = -36.1068353452668 | etot = -28.818972403959 -721000 ekin = 3.83433718059127 | erot = 4.03084036947922 | epot = -36.1868958046435 | etot = -28.321718254573 -722000 ekin = 3.7130087276568 | erot = 3.84736896155859 | epot = -36.2838656104841 | etot = -28.7234879212687 -723000 ekin = 3.74703466957696 | erot = 3.71040850656983 | epot = -36.3812410760553 | etot = -28.9237978999085 -724000 ekin = 3.75607081603443 | erot = 4.02813532874788 | epot = -36.4992818358981 | etot = -28.7150756911158 -725000 ekin = 3.77808990085885 | erot = 4.20966764087265 | epot = -36.6263500488386 | etot = -28.6385925071071 -726000 ekin = 3.99703012102755 | erot = 3.67945861038478 | epot = -36.7651398392487 | etot = -29.0886511078363 -727000 ekin = 4.01741049095273 | erot = 3.72684228835856 | epot = -36.8887239674894 | etot = -29.1444711881781 -728000 ekin = 4.05655244457389 | erot = 3.64411335656528 | epot = -36.9831032192825 | etot = -29.2824374181433 -729000 ekin = 4.15914112670555 | erot = 3.22368867517415 | epot = -37.0758214193937 | etot = -29.692991617514 -730000 ekin = 4.27496625989352 | erot = 3.03434396509935 | epot = -37.1060663359384 | etot = -29.7967561109456 -731000 ekin = 4.35621946146742 | erot = 3.31453862248463 | epot = -37.0811379025023 | etot = -29.4103798185503 -732000 ekin = 4.31460322853858 | erot = 3.19560214587386 | epot = -37.0358028654693 | etot = -29.5255974910568 -733000 ekin = 4.2295226795695 | erot = 3.20037871937962 | epot = -36.9673423522061 | etot = -29.537440953257 -734000 ekin = 4.24709820971147 | erot = 3.10598269123683 | epot = -36.8800091287772 | etot = -29.5269282278289 -735000 ekin = 4.14981162925897 | erot = 3.12549638567468 | epot = -36.7838119752116 | etot = -29.508503960278 -736000 ekin = 4.20814181481824 | erot = 2.91522500178861 | epot = -36.7063833852233 | etot = -29.5830165686164 -737000 ekin = 4.01828120268193 | erot = 2.40495812578651 | epot = -36.6589611248533 | etot = -30.2357217963848 -738000 ekin = 4.01094036028549 | erot = 2.68632566149055 | epot = -36.6548343802808 | etot = -29.9575683585048 -739000 ekin = 4.14661584174142 | erot = 2.59506078530577 | epot = -36.6780631105738 | etot = -29.9363864835266 -740000 ekin = 4.08413039710925 | erot = 2.57365823993747 | epot = -36.7021237291546 | etot = -30.0443350921079 -741000 ekin = 4.10845660619181 | erot = 2.78416335535206 | epot = -36.7754492326706 | etot = -29.8828292711267 -742000 ekin = 4.09068760907163 | erot = 3.09866824560576 | epot = -36.8187451874485 | etot = -29.6293893327711 -743000 ekin = 3.96610963094402 | erot = 3.04878673776408 | epot = -36.8535622197241 | etot = -29.838665851016 -744000 ekin = 3.97087885402719 | erot = 3.04950786237685 | epot = -36.8512621314634 | etot = -29.8308754150594 -745000 ekin = 3.78295099566376 | erot = 3.09154774657146 | epot = -36.8410165021252 | etot = -29.96651775989 -746000 ekin = 3.88442560568396 | erot = 3.15773579416763 | epot = -36.8645704531019 | etot = -29.8224090532503 -747000 ekin = 3.94794600572092 | erot = 3.04363515896551 | epot = -36.9228275975776 | etot = -29.9312464328912 -748000 ekin = 3.94186404778235 | erot = 3.24130800398347 | epot = -37.0438118681966 | etot = -29.8606398164308 -749000 ekin = 3.93262026571516 | erot = 3.71710044171151 | epot = -37.210963278996 | etot = -29.5612425715694 -750000 ekin = 3.82713052636346 | erot = 4.02486049381691 | epot = -37.385471620714 | etot = -29.5334806005336 -751000 ekin = 4.02336237199802 | erot = 4.23099342037285 | epot = -37.5518597142007 | etot = -29.2975039218298 -752000 ekin = 4.06152925020837 | erot = 3.76231639564619 | epot = -37.6809132611595 | etot = -29.8570676153049 -753000 ekin = 4.07859449790949 | erot = 3.97018598947847 | epot = -37.7593004103674 | etot = -29.7105199229794 -754000 ekin = 4.26771269586214 | erot = 4.64006960442373 | epot = -37.8141557249888 | etot = -28.9063734247029 -755000 ekin = 4.26666906965093 | erot = 4.77784474773889 | epot = -37.8576299963078 | etot = -28.8131161789179 -756000 ekin = 4.2913114700946 | erot = 5.38525988164132 | epot = -37.8917845570772 | etot = -28.2152132053412 -757000 ekin = 4.35562563894453 | erot = 5.14819699923274 | epot = -37.8935376948375 | etot = -28.3897150566602 -758000 ekin = 4.22616249374932 | erot = 5.19713356473755 | epot = -37.890171313439 | etot = -28.4668752549521 -759000 ekin = 4.24184449956944 | erot = 5.16496183591484 | epot = -37.8881235068873 | etot = -28.481317171403 -760000 ekin = 4.23424644958301 | erot = 5.47628298706072 | epot = -37.9000330984149 | etot = -28.1895036617712 -761000 ekin = 4.26448749341469 | erot = 5.45907771030503 | epot = -37.9055730645743 | etot = -28.1820078608546 -762000 ekin = 4.22061932798692 | erot = 5.04369074313446 | epot = -37.9108772679031 | etot = -28.6465671967817 -763000 ekin = 4.09989014592102 | erot = 5.10778066514902 | epot = -37.9045250455542 | etot = -28.6968542344841 -764000 ekin = 4.18374834614763 | erot = 5.46818179899514 | epot = -37.8676566747109 | etot = -28.2157265295681 -765000 ekin = 4.08761418374972 | erot = 5.8085838804908 | epot = -37.8033181876409 | etot = -27.9071201234004 -766000 ekin = 4.0399954168056 | erot = 5.48136006660783 | epot = -37.7411893537017 | etot = -28.2198338702883 -767000 ekin = 4.01701285460552 | erot = 5.31665044278829 | epot = -37.6438611160235 | etot = -28.3101978186297 -768000 ekin = 3.97951625206149 | erot = 5.25792422549898 | epot = -37.5214426737382 | etot = -28.2840021961778 -769000 ekin = 3.9904400552595 | erot = 5.21175341266091 | epot = -37.3810973556055 | etot = -28.1789038876851 -770000 ekin = 3.99199742512277 | erot = 5.21810902470249 | epot = -37.1986211065242 | etot = -27.9885146566989 -771000 ekin = 3.82567851870305 | erot = 4.95130845103932 | epot = -36.9906650314374 | etot = -28.213678061695 -772000 ekin = 3.72123202682396 | erot = 4.74084322348116 | epot = -36.7445513213713 | etot = -28.2824760710662 -773000 ekin = 3.61186619870637 | erot = 4.48764169415196 | epot = -36.4404296879 | etot = -28.3409217950417 -774000 ekin = 3.5323856332149 | erot = 4.0851560641829 | epot = -36.1430482929722 | etot = -28.5255065955744 -775000 ekin = 3.61960121968643 | erot = 4.03007080844262 | epot = -35.8636424209038 | etot = -28.2139703927748 -776000 ekin = 3.50131397859944 | erot = 3.82783005287474 | epot = -35.5938202085534 | etot = -28.2646761770792 -777000 ekin = 3.4086720204846 | erot = 3.85221546935551 | epot = -35.4006619567329 | etot = -28.1397744668928 -778000 ekin = 3.45838031028943 | erot = 3.51853820068418 | epot = -35.2979750992092 | etot = -28.3210565882356 -779000 ekin = 3.42307480042057 | erot = 3.59321040457246 | epot = -35.2809430031764 | etot = -28.2646577981833 -780000 ekin = 3.42440692402825 | erot = 3.60521054559613 | epot = -35.3411249792481 | etot = -28.3115075096237 -781000 ekin = 3.46934151467246 | erot = 3.84731508491177 | epot = -35.4518670976751 | etot = -28.1352104980909 -782000 ekin = 3.5271040668097 | erot = 4.28376670942143 | epot = -35.595026056589 | etot = -27.7841552803579 -783000 ekin = 3.61729821661169 | erot = 4.75537078140916 | epot = -35.7562125383807 | etot = -27.3835435403599 -784000 ekin = 3.5836655359854 | erot = 4.1138012313496 | epot = -35.8708728516423 | etot = -28.1734060843073 -785000 ekin = 3.63226984987313 | erot = 4.14613629449608 | epot = -35.9549809353083 | etot = -28.1765747909391 -786000 ekin = 3.55353155352361 | erot = 3.96170523540214 | epot = -36.0104316125812 | etot = -28.4951948236555 -787000 ekin = 3.65679390509628 | erot = 4.13482060006033 | epot = -36.0644977241106 | etot = -28.272883218954 -788000 ekin = 3.86757699285448 | erot = 4.10779053552829 | epot = -36.0997261456416 | etot = -28.1243586172588 -789000 ekin = 3.93645468275084 | erot = 4.27766163431728 | epot = -36.1406694170053 | etot = -27.9265530999371 -790000 ekin = 3.99051031327637 | erot = 3.95340487784933 | epot = -36.2018617372706 | etot = -28.257946546145 -791000 ekin = 4.10452718423621 | erot = 3.99235351847229 | epot = -36.2624115283487 | etot = -28.1655308256402 -792000 ekin = 4.33302884516885 | erot = 3.8304429162738 | epot = -36.335701261074 | etot = -28.1722294996313 -793000 ekin = 4.59966330091451 | erot = 3.74212535974463 | epot = -36.4314410279318 | etot = -28.0896523672727 -794000 ekin = 4.70509453522008 | erot = 3.7325457155236 | epot = -36.5039677226926 | etot = -28.0663274719489 -795000 ekin = 4.8237350135353 | erot = 3.69936645898633 | epot = -36.5467302591204 | etot = -28.0236287865987 -796000 ekin = 5.02825099690258 | erot = 3.65845895224835 | epot = -36.5441938749373 | etot = -27.8574839257863 -797000 ekin = 4.98369350470464 | erot = 3.33483563015714 | epot = -36.5302539300605 | etot = -28.2117247951988 -798000 ekin = 5.04627515833455 | erot = 3.251844315584 | epot = -36.5269098314607 | etot = -28.2287903575422 -799000 ekin = 4.96165968599494 | erot = 3.39539196017299 | epot = -36.5580084896278 | etot = -28.2009568434598 -800000 ekin = 4.96087289523802 | erot = 3.54932033291718 | epot = -36.6052154994154 | etot = -28.0950222712602 -801000 ekin = 4.96148873220024 | erot = 3.39995120227887 | epot = -36.6619752973816 | etot = -28.3005353629025 -802000 ekin = 4.86744715226323 | erot = 3.35338258088299 | epot = -36.6942224647938 | etot = -28.4733927316476 -803000 ekin = 4.75056128639553 | erot = 3.25410486957708 | epot = -36.7045390401517 | etot = -28.6998728841791 -804000 ekin = 4.78109129200108 | erot = 3.0776597288298 | epot = -36.698526519421 | etot = -28.8397754985901 -805000 ekin = 4.82892493818665 | erot = 3.27499533781798 | epot = -36.6737874267413 | etot = -28.5698671507367 -806000 ekin = 4.74542372520114 | erot = 3.18323237798552 | epot = -36.6406513076392 | etot = -28.7119952044525 -807000 ekin = 4.64766139287985 | erot = 3.38424960796022 | epot = -36.6476730883982 | etot = -28.6157620875581 -808000 ekin = 4.45707835864346 | erot = 3.35175675914227 | epot = -36.7022500935515 | etot = -28.8934149757658 -809000 ekin = 4.32670887591497 | erot = 3.3204635551547 | epot = -36.7741824114222 | etot = -29.1270099803525 -810000 ekin = 4.19642960492062 | erot = 3.20396083815671 | epot = -36.8832195227742 | etot = -29.4828290796969 -811000 ekin = 4.18603442116872 | erot = 3.54097838794675 | epot = -37.0402774324897 | etot = -29.3132646233742 -812000 ekin = 4.3319099162396 | erot = 3.67977508148913 | epot = -37.2334955671967 | etot = -29.221810569468 -813000 ekin = 4.46701990899706 | erot = 3.84749046887719 | epot = -37.4770063129616 | etot = -29.1624959350873 -814000 ekin = 4.70593563863212 | erot = 4.02074050200669 | epot = -37.7739765579907 | etot = -29.0473004173519 -815000 ekin = 4.61635561952459 | erot = 4.30893882425418 | epot = -38.0622407069025 | etot = -29.1369462631237 -816000 ekin = 4.66419241223221 | erot = 4.43348416466983 | epot = -38.3533945439932 | etot = -29.2557179670912 -817000 ekin = 4.61492034782011 | erot = 4.8589683614048 | epot = -38.6054729848476 | etot = -29.1315842756226 -818000 ekin = 4.69361355558547 | erot = 4.57560992803662 | epot = -38.8141140205618 | etot = -29.5448905369397 -819000 ekin = 4.99561997491401 | erot = 4.59057590873866 | epot = -38.986131465386 | etot = -29.3999355817333 -820000 ekin = 5.14251771001076 | erot = 4.38257454602465 | epot = -39.1119793527868 | etot = -29.5868870967514 -821000 ekin = 5.21211790510897 | erot = 3.7649363964534 | epot = -39.1791873910089 | etot = -30.2021330894465 -822000 ekin = 5.2276374734314 | erot = 3.8199393472184 | epot = -39.2257832500633 | etot = -30.1782064294135 -823000 ekin = 5.20824824630017 | erot = 3.61818509207455 | epot = -39.2577442235125 | etot = -30.4313108851377 -824000 ekin = 5.29481176258827 | erot = 3.61607107182776 | epot = -39.2930045776047 | etot = -30.3821217431886 -825000 ekin = 5.34590564278664 | erot = 3.4760580167516 | epot = -39.3020776711423 | etot = -30.4801140116041 -826000 ekin = 5.38005087585455 | erot = 3.56002985231027 | epot = -39.2878928900547 | etot = -30.3478121618899 -827000 ekin = 5.38251681844102 | erot = 3.31581026558379 | epot = -39.283897328375 | etot = -30.5855702443502 -828000 ekin = 5.30162295798549 | erot = 2.79999506814083 | epot = -39.2990437954937 | etot = -31.1974257693674 -829000 ekin = 5.34935471298301 | erot = 2.6338075385136 | epot = -39.3079384502704 | etot = -31.3247761987738 -830000 ekin = 5.15642397228145 | erot = 2.78944963382923 | epot = -39.3294203636002 | etot = -31.3835467574896 -831000 ekin = 5.04271329110473 | erot = 3.07984504895606 | epot = -39.3562191308944 | etot = -31.2336607908336 -832000 ekin = 5.04415123872855 | erot = 3.36917057661115 | epot = -39.3458026730645 | etot = -30.9324808577248 -833000 ekin = 4.97652700754261 | erot = 3.11016826810616 | epot = -39.3003589046717 | etot = -31.2136636290229 -834000 ekin = 4.66785324148471 | erot = 2.98799062968103 | epot = -39.2007615011679 | etot = -31.5449176300022 -835000 ekin = 4.4196794841071 | erot = 3.24754240638097 | epot = -39.0370935965117 | etot = -31.3698717060237 -836000 ekin = 4.1939950117267 | erot = 3.40709899396284 | epot = -38.8824429433984 | etot = -31.2813489377089 -837000 ekin = 4.05102708476636 | erot = 3.50403284169154 | epot = -38.7291298465769 | etot = -31.174069920119 -838000 ekin = 3.94991363719784 | erot = 3.82377156946596 | epot = -38.5557937558062 | etot = -30.7821085491424 -839000 ekin = 3.74326665318806 | erot = 3.97324655976055 | epot = -38.364381604374 | etot = -30.6478683914254 -840000 ekin = 3.7035157452831 | erot = 3.5124488621716 | epot = -38.1559200259235 | etot = -30.9399554184688 -841000 ekin = 3.60547887438446 | erot = 3.69151206404978 | epot = -37.9552189953856 | etot = -30.6582280569514 -842000 ekin = 3.38591284746056 | erot = 3.48115901302566 | epot = -37.7647482919521 | etot = -30.8976764314659 -843000 ekin = 3.11807787995921 | erot = 3.24962582172021 | epot = -37.5931200484574 | etot = -31.225416346778 -844000 ekin = 3.03125896851729 | erot = 3.10915311466668 | epot = -37.4053554848136 | etot = -31.2649434016296 -845000 ekin = 2.84759324027404 | erot = 3.53115382226703 | epot = -37.2260086331777 | etot = -30.8472615706367 -846000 ekin = 2.83613069836942 | erot = 3.41497522988127 | epot = -37.085320604792 | etot = -30.8342146765413 -847000 ekin = 2.82518542790909 | erot = 3.92646137605455 | epot = -36.9740965925522 | etot = -30.2224497885886 -848000 ekin = 2.8035610196741 | erot = 3.75897131812056 | epot = -36.8749675315763 | etot = -30.3124351937817 -849000 ekin = 2.84159199816875 | erot = 3.65493979263097 | epot = -36.7798908055852 | etot = -30.2833590147855 -850000 ekin = 2.91517374365839 | erot = 3.25543936029153 | epot = -36.7388454898332 | etot = -30.5682323858832 -851000 ekin = 3.08764953673805 | erot = 3.74455145978084 | epot = -36.722364218189 | etot = -29.8901632216702 -852000 ekin = 3.20356705871957 | erot = 3.86422941824788 | epot = -36.7413165099185 | etot = -29.6735200329511 -853000 ekin = 3.25796036952423 | erot = 4.25509323905633 | epot = -36.7658517979734 | etot = -29.2527981893928 -854000 ekin = 3.57244822927295 | erot = 4.1896974412388 | epot = -36.8021340521276 | etot = -29.0399883816159 -855000 ekin = 3.61706783412956 | erot = 4.16292249791868 | epot = -36.8626923862697 | etot = -29.0827020542215 -856000 ekin = 3.78538239756072 | erot = 4.11253551603666 | epot = -36.9244661414333 | etot = -29.0265482278359 -857000 ekin = 3.7817884765619 | erot = 4.13628071929874 | epot = -37.0292483027729 | etot = -29.1111791069122 -858000 ekin = 3.79767899411331 | erot = 4.25390024597203 | epot = -37.1883443366328 | etot = -29.1367650965475 -859000 ekin = 3.79646558910377 | erot = 4.39490149089977 | epot = -37.3423128301967 | etot = -29.1509457501932 -860000 ekin = 3.86711139340926 | erot = 4.91957560544857 | epot = -37.4915022932785 | etot = -28.7048152944207 -861000 ekin = 3.99177075241504 | erot = 4.92589410247942 | epot = -37.5868681074784 | etot = -28.6692032525839 -862000 ekin = 4.0977748877086 | erot = 4.85487231115065 | epot = -37.6175250863704 | etot = -28.6648778875111 -863000 ekin = 4.13925231113692 | erot = 4.50896117392355 | epot = -37.5986086016775 | etot = -28.950395116617 -864000 ekin = 4.14764866587724 | erot = 4.42487018235684 | epot = -37.5204132439163 | etot = -28.9478943956823 -865000 ekin = 4.14664914911426 | erot = 4.25648196395736 | epot = -37.3939280409738 | etot = -28.9907969279022 -866000 ekin = 4.14214320133934 | erot = 4.18089045470177 | epot = -37.217946082973 | etot = -28.8949124269318 -867000 ekin = 4.2533355578306 | erot = 3.91180056252889 | epot = -37.0368358637666 | etot = -28.8716997434071 -868000 ekin = 4.25544635673827 | erot = 4.03934502097174 | epot = -36.892523740773 | etot = -28.597732363063 -869000 ekin = 4.24112681076909 | erot = 4.01454747654454 | epot = -36.8084367274645 | etot = -28.5527624401508 -870000 ekin = 4.33478513328131 | erot = 3.78349131069572 | epot = -36.7681636745504 | etot = -28.6498872305733 -871000 ekin = 4.17502061004023 | erot = 3.95421063049773 | epot = -36.7899780247081 | etot = -28.6607467841701 -872000 ekin = 4.17603847735526 | erot = 3.83768938083062 | epot = -36.8688005631066 | etot = -28.8550727049207 -873000 ekin = 4.41693719639203 | erot = 4.07505566261082 | epot = -36.9767379853334 | etot = -28.4847451263305 -874000 ekin = 4.41295334009184 | erot = 4.18394759912804 | epot = -37.1369142438381 | etot = -28.5400133046182 -875000 ekin = 4.52955334955961 | erot = 4.19580464694757 | epot = -37.3370998777392 | etot = -28.611741881232 -876000 ekin = 4.61247068682171 | erot = 4.50897081856651 | epot = -37.5248349335733 | etot = -28.4033934281851 -877000 ekin = 4.76533246609024 | erot = 4.08201826718837 | epot = -37.6873606048119 | etot = -28.8400098715333 -878000 ekin = 4.8610970109619 | erot = 4.033155729642 | epot = -37.8092910984767 | etot = -28.9150383578728 -879000 ekin = 4.93322526419523 | erot = 3.94479688455364 | epot = -37.8433128250758 | etot = -28.965290676327 -880000 ekin = 4.91177719282767 | erot = 3.90966953329197 | epot = -37.7988935874806 | etot = -28.9774468613609 -881000 ekin = 4.87595051611486 | erot = 3.76638474532604 | epot = -37.6791282073033 | etot = -29.0367929458624 -882000 ekin = 4.80398792776863 | erot = 3.52725045146498 | epot = -37.4958553191656 | etot = -29.164616939932 -883000 ekin = 4.56372183806134 | erot = 3.17268134770781 | epot = -37.3026048485108 | etot = -29.5662016627417 -884000 ekin = 4.38408070690848 | erot = 2.95287988074379 | epot = -37.1164899885588 | etot = -29.7795294009065 -885000 ekin = 4.2140126763182 | erot = 3.28627816383894 | epot = -36.942394624606 | etot = -29.4421037844489 -886000 ekin = 3.94208450896381 | erot = 3.61827008671528 | epot = -36.8244889717495 | etot = -29.2641343760704 -887000 ekin = 3.76025689669878 | erot = 3.89282193563174 | epot = -36.7542446517018 | etot = -29.1011658193713 -888000 ekin = 3.58518173626509 | erot = 4.10918051627072 | epot = -36.7235080282654 | etot = -29.0291457757296 -889000 ekin = 3.52227905599303 | erot = 4.53948895643315 | epot = -36.7423345916829 | etot = -28.6805665792567 -890000 ekin = 3.48725850687851 | erot = 4.9165184567076 | epot = -36.8110749451072 | etot = -28.4072979815211 -891000 ekin = 3.51807183016932 | erot = 5.36785996032727 | epot = -36.9187079043847 | etot = -28.0327761138882 -892000 ekin = 3.486514414829 | erot = 5.25687644163098 | epot = -37.0005216584193 | etot = -28.2571308019593 -893000 ekin = 3.51467838155448 | erot = 5.65149044087548 | epot = -37.0594453420589 | etot = -27.8932765196289 -894000 ekin = 3.45974654612958 | erot = 5.22169711042558 | epot = -37.102064267985 | etot = -28.4206206114299 -895000 ekin = 3.57216437063937 | erot = 5.40895067977451 | epot = -37.1028729086238 | etot = -28.1217578582099 -896000 ekin = 3.56655921068659 | erot = 5.69090228219611 | epot = -37.0708217415226 | etot = -27.8133602486399 -897000 ekin = 3.57757547803441 | erot = 5.90228049359103 | epot = -36.985951453297 | etot = -27.5060954816716 -898000 ekin = 3.52295514054554 | erot = 5.8453836024045 | epot = -36.8484715408739 | etot = -27.4801327979239 -899000 ekin = 3.42191869064122 | erot = 5.47174915922149 | epot = -36.6856616378138 | etot = -27.7919937879511 -900000 ekin = 3.45720121517251 | erot = 5.5997377251197 | epot = -36.5148133918243 | etot = -27.4578744515321 -901000 ekin = 3.51607619901873 | erot = 5.88763510779633 | epot = -36.2859464010554 | etot = -26.8822350942404 -902000 ekin = 3.56087621117599 | erot = 5.17399063106631 | epot = -36.0621785767821 | etot = -27.3273117345398 -903000 ekin = 3.56470936099584 | erot = 5.07361698005476 | epot = -35.8794588183591 | etot = -27.2411324773085 -904000 ekin = 3.64294879518974 | erot = 5.28022715353087 | epot = -35.7543216612797 | etot = -26.8311457125591 -905000 ekin = 3.72447152602649 | erot = 5.02657007424407 | epot = -35.658280490972 | etot = -26.9072388907014 -906000 ekin = 3.7591413367746 | erot = 4.63070748715657 | epot = -35.6129995043961 | etot = -27.2231506804649 -907000 ekin = 4.00046169414905 | erot = 4.63743176602948 | epot = -35.6087015116484 | etot = -26.9708080514698 -908000 ekin = 3.98050966425778 | erot = 4.23795607914778 | epot = -35.6020003534093 | etot = -27.3835346100038 -909000 ekin = 4.14488755713113 | erot = 3.77771446920632 | epot = -35.5819012555779 | etot = -27.6592992292404 -910000 ekin = 4.18878899263847 | erot = 3.85878998652442 | epot = -35.5853308204837 | etot = -27.5377518413208 -911000 ekin = 4.15448454865027 | erot = 3.93063753948133 | epot = -35.6075046071671 | etot = -27.5223825190355 -912000 ekin = 4.30922033403085 | erot = 4.53644215925813 | epot = -35.6368602869792 | etot = -26.7911977936902 -913000 ekin = 4.42050627097881 | erot = 4.36559538893036 | epot = -35.6635505470016 | etot = -26.8774488870924 -914000 ekin = 4.640384167071 | erot = 4.57708989772434 | epot = -35.6621612967503 | etot = -26.4446872319549 -915000 ekin = 4.71121950508134 | erot = 4.34018648406978 | epot = -35.6015140360078 | etot = -26.5501080468567 -916000 ekin = 4.67735943326423 | erot = 4.0723772918907 | epot = -35.4903050476411 | etot = -26.7405683224862 -917000 ekin = 4.78142703706188 | erot = 4.20198791892984 | epot = -35.3917685265255 | etot = -26.4083535705337 -918000 ekin = 4.77421198697552 | erot = 4.42971373988936 | epot = -35.2582637676415 | etot = -26.0543380407766 -919000 ekin = 4.73422216253545 | erot = 4.77044814340035 | epot = -35.0931913565727 | etot = -25.5885210506369 -920000 ekin = 4.64583700130455 | erot = 4.69774436792038 | epot = -34.9395895324828 | etot = -25.5960081632579 -921000 ekin = 4.61516328270518 | erot = 4.43350879426847 | epot = -34.8128426462836 | etot = -25.7641705693099 -922000 ekin = 4.55621337364702 | erot = 4.21768777753359 | epot = -34.7312720351653 | etot = -25.9573708839847 -923000 ekin = 4.59034826680647 | erot = 4.50920703076125 | epot = -34.7044992141191 | etot = -25.6049439165514 -924000 ekin = 4.58356240196665 | erot = 4.62074320796166 | epot = -34.7126986327387 | etot = -25.5083930228104 -925000 ekin = 4.53220072801023 | erot = 4.79254817721209 | epot = -34.7588998026814 | etot = -25.4341508974591 -926000 ekin = 4.55832715206815 | erot = 5.00471911281168 | epot = -34.8080246038137 | etot = -25.2449783389339 -927000 ekin = 4.62575171089295 | erot = 4.71181044830442 | epot = -34.8667293476304 | etot = -25.529167188433 -928000 ekin = 4.68657375207003 | erot = 4.76234601746771 | epot = -34.915949836791 | etot = -25.4670300672533 -929000 ekin = 4.7061028915664 | erot = 5.07097104655604 | epot = -34.9791697926744 | etot = -25.202095854552 -930000 ekin = 4.79474071813729 | erot = 5.21915381885274 | epot = -35.0589708185177 | etot = -25.0450762815277 -931000 ekin = 4.69039359230418 | erot = 5.48593447848777 | epot = -35.1099047138343 | etot = -24.9335766430423 -932000 ekin = 4.71110094603637 | erot = 5.47204685356053 | epot = -35.1612846037812 | etot = -24.9781368041843 -933000 ekin = 4.7636965267817 | erot = 5.41370570081805 | epot = -35.2317575147297 | etot = -25.05435528713 -934000 ekin = 4.8364389439216 | erot = 5.2350863141415 | epot = -35.3109086743972 | etot = -25.2393834163341 -935000 ekin = 4.76586014730834 | erot = 5.228655408338 | epot = -35.3670038676022 | etot = -25.3724883119559 -936000 ekin = 4.7459923218976 | erot = 5.40903849081579 | epot = -35.4141584031058 | etot = -25.2591275903924 -937000 ekin = 4.7066536683933 | erot = 5.90535300927756 | epot = -35.4573569432673 | etot = -24.8453502655964 -938000 ekin = 4.73520980049429 | erot = 5.48994015212968 | epot = -35.4717259493542 | etot = -25.2465759967302 -939000 ekin = 4.66471904112943 | erot = 5.58667162801301 | epot = -35.4363389851247 | etot = -25.1849483159823 -940000 ekin = 4.73670308439586 | erot = 5.59502045341196 | epot = -35.3410735898338 | etot = -25.0093500520259 -941000 ekin = 4.56546752366747 | erot = 5.16939612930364 | epot = -35.2196425314888 | etot = -25.4847788785177 -942000 ekin = 4.36600564083038 | erot = 4.55609433699296 | epot = -35.0782455188793 | etot = -26.156145541056 -943000 ekin = 4.27680501591152 | erot = 4.77186490926151 | epot = -34.9346146494734 | etot = -25.8859447243004 -944000 ekin = 4.17576408255027 | erot = 4.64476704064174 | epot = -34.7936442239037 | etot = -25.9731131007117 -945000 ekin = 4.08165692512656 | erot = 4.64307958397957 | epot = -34.7241648822034 | etot = -25.9994283730973 -946000 ekin = 3.9823833768563 | erot = 4.33903183997624 | epot = -34.720898188062 | etot = -26.3994829712295 -947000 ekin = 4.11312487406737 | erot = 4.25698162025429 | epot = -34.8023164533845 | etot = -26.4322099590628 -948000 ekin = 4.03905965505087 | erot = 4.28038925265714 | epot = -34.928198667426 | etot = -26.608749759718 -949000 ekin = 4.12081251669323 | erot = 4.40083354096753 | epot = -35.1348098866843 | etot = -26.6131638290236 -950000 ekin = 4.19947300195308 | erot = 4.46892156641812 | epot = -35.3299547862415 | etot = -26.6615602178703 -951000 ekin = 4.28802819219167 | erot = 4.3680742443603 | epot = -35.5595339264167 | etot = -26.9034314898647 -952000 ekin = 4.44618066979822 | erot = 4.88998578447886 | epot = -35.776264591199 | etot = -26.4400981369219 -953000 ekin = 4.53022835549443 | erot = 4.90684636989333 | epot = -35.9402525430781 | etot = -26.5031778176903 -954000 ekin = 4.65793433636178 | erot = 4.95789701943152 | epot = -36.1007223995856 | etot = -26.4848910437923 -955000 ekin = 4.68472849923193 | erot = 4.84778271057121 | epot = -36.2250094081872 | etot = -26.692498198384 -956000 ekin = 4.83489144923702 | erot = 4.61252423076074 | epot = -36.2912267944626 | etot = -26.8438111144649 -957000 ekin = 4.83158754758543 | erot = 4.06427874835662 | epot = -36.3314048744461 | etot = -27.4355385785041 -958000 ekin = 4.95872508890491 | erot = 3.86764289322934 | epot = -36.3554965538449 | etot = -27.5291285717106 -959000 ekin = 4.88220034385557 | erot = 3.76501141985199 | epot = -36.3703754351835 | etot = -27.7231636714759 -960000 ekin = 4.96739750076083 | erot = 3.70143986321351 | epot = -36.3537104260526 | etot = -27.6848730620782 -961000 ekin = 5.05073619223015 | erot = 3.58723306284219 | epot = -36.3292284086185 | etot = -27.6912591535462 -962000 ekin = 5.10220917296402 | erot = 3.43365806618123 | epot = -36.292660732266 | etot = -27.7567934931207 -963000 ekin = 5.25727455724231 | erot = 3.39047088285751 | epot = -36.2233249912108 | etot = -27.5755795511109 -964000 ekin = 5.33892942752122 | erot = 3.38850636488222 | epot = -36.1631800361608 | etot = -27.4357442437574 -965000 ekin = 5.29707309584692 | erot = 3.40709075904033 | epot = -36.114647791191 | etot = -27.4104839363038 -966000 ekin = 5.27380254283779 | erot = 3.34984185029608 | epot = -36.0934598827398 | etot = -27.4698154896059 -967000 ekin = 5.19975037009087 | erot = 3.54967607074493 | epot = -36.1222651146705 | etot = -27.3728386738347 -968000 ekin = 5.22098509097161 | erot = 3.38920040678115 | epot = -36.1570868906189 | etot = -27.5469013928661 -969000 ekin = 5.01248198517091 | erot = 3.26201512253216 | epot = -36.2130447987696 | etot = -27.9385476910665 -970000 ekin = 4.97914863237121 | erot = 3.76343819077309 | epot = -36.2895058744048 | etot = -27.5469190512605 -971000 ekin = 5.04224300192755 | erot = 3.59024832311355 | epot = -36.3590409977773 | etot = -27.7265496727362 -972000 ekin = 5.05787332232144 | erot = 3.83558558676212 | epot = -36.3997125264357 | etot = -27.5062536173522 -973000 ekin = 5.01777031588903 | erot = 3.27986497682672 | epot = -36.416683733591 | etot = -28.1190484408752 -974000 ekin = 4.96186842907965 | erot = 3.23479851019082 | epot = -36.4352005399287 | etot = -28.2385336006583 -975000 ekin = 4.97224363278484 | erot = 3.35077904927885 | epot = -36.455709806026 | etot = -28.1326871239623 -976000 ekin = 5.01625531380467 | erot = 3.41837200675027 | epot = -36.4643526378165 | etot = -28.0297253172615 -977000 ekin = 5.04359880486621 | erot = 3.40669885598948 | epot = -36.4673967616861 | etot = -28.0170991008304 -978000 ekin = 4.96814116021997 | erot = 3.3988542289389 | epot = -36.4671439769023 | etot = -28.1001485877434 -979000 ekin = 4.68494120169423 | erot = 3.87226166481182 | epot = -36.4696261904956 | etot = -27.9124233239896 -980000 ekin = 4.80514576213004 | erot = 3.73614562894118 | epot = -36.4753768381447 | etot = -27.9340854470735 -981000 ekin = 4.85375109376568 | erot = 4.35522911700057 | epot = -36.4902775794649 | etot = -27.2812973686986 -982000 ekin = 4.79648806853534 | erot = 4.15595945903824 | epot = -36.5084812040043 | etot = -27.5560336764307 -983000 ekin = 4.75907969484559 | erot = 4.43556787871588 | epot = -36.5083539693089 | etot = -27.3137063957474 -984000 ekin = 4.81598118844461 | erot = 4.52957555705406 | epot = -36.5383410952792 | etot = -27.1927843497806 -985000 ekin = 4.87924474651563 | erot = 4.3163097901408 | epot = -36.5777006480737 | etot = -27.3821461114172 -986000 ekin = 4.77128314225264 | erot = 4.12408981491538 | epot = -36.5819281400493 | etot = -27.6865551828813 -987000 ekin = 4.70900566206954 | erot = 4.08922713836853 | epot = -36.5892891612702 | etot = -27.7910563608322 -988000 ekin = 4.69685644927805 | erot = 4.03217145235649 | epot = -36.6289948782911 | etot = -27.8999669766566 -989000 ekin = 4.56955203825868 | erot = 4.16364650343098 | epot = -36.6885496975511 | etot = -27.9553511558614 -990000 ekin = 4.56207337975407 | erot = 3.92865148644803 | epot = -36.7375440238769 | etot = -28.2468191576748 -991000 ekin = 4.45863269474038 | erot = 3.99370804360135 | epot = -36.8046932644695 | etot = -28.3523525261278 -992000 ekin = 4.52516169638379 | erot = 4.19036473784521 | epot = -36.90459516699 | etot = -28.189068732761 -993000 ekin = 4.26593637771868 | erot = 4.55899726308546 | epot = -37.028392229238 | etot = -28.2034585884339 -994000 ekin = 4.14968593988764 | erot = 4.67871188882305 | epot = -37.1561829580787 | etot = -28.327785129368 -995000 ekin = 4.20875361665793 | erot = 4.51127733270572 | epot = -37.2858931380942 | etot = -28.5658621887305 -996000 ekin = 4.10968366764503 | erot = 4.2587192792391 | epot = -37.3745810703572 | etot = -29.006178123473 -997000 ekin = 4.00616178452013 | erot = 4.48911641516102 | epot = -37.4314666701193 | etot = -28.9361884704382 -998000 ekin = 4.02180091280217 | erot = 4.35841167717868 | epot = -37.4443636100146 | etot = -29.0641510200337 -999000 ekin = 4.07504562976173 | erot = 4.26230873450589 | epot = -37.4098012996895 | etot = -29.0724469354219 -1000000 ekin = 3.90433765201102 | erot = 4.668818882285 | epot = -37.3063332342176 | etot = -28.7331766999216 - 1000000 0.10411567 -1.4674304 0.032571422 -1.2846921 -6.6175275e-05 64000 -Loop time of 50.1084 on 4 procs for 1000000 steps with 26 atoms - -Performance: 17242.621 tau/day, 19956.737 timesteps/s -99.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 | 23.546 | 32.709 | 41.497 | 153.6 | 65.28 -Bond | 0.51019 | 0.67522 | 0.82925 | 17.7 | 1.35 -Neigh | 0.014865 | 0.014889 | 0.014927 | 0.0 | 0.03 -Comm | 4.26 | 12.866 | 21.787 | 239.8 | 25.68 -Output | 0.13375 | 0.1515 | 0.15811 | 2.6 | 0.30 -Modify | 1.6128 | 2.2213 | 2.8367 | 40.6 | 4.43 -Other | | 1.47 | | | 2.93 - -Nlocal: 6.50000 ave 10 max 3 min -Histogram: 2 0 0 0 0 0 0 0 0 2 -Nghost: 19.5000 ave 23 max 16 min -Histogram: 2 0 0 0 0 0 0 0 0 2 -Neighs: 131.000 ave 195 max 67 min -Histogram: 2 0 0 0 0 0 0 0 0 2 - -Total # of neighbors = 524 -Ave neighs/atom = 20.153846 -Ave special neighs/atom = 5.0769231 -Neighbor list builds = 1000 -Dangerous builds = 0 - -write_data last_config.${number}.* nocoeff -write_data last_config.8.* nocoeff -System init for write_data ... -Total wall time: 0:00:50 diff --git a/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.2Jul21.duplex4.4type.g++.1 b/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.2Jul21.duplex4.4type.g++.1 new file mode 100644 index 0000000000..d91037ccc8 --- /dev/null +++ b/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.2Jul21.duplex4.4type.g++.1 @@ -0,0 +1,1230 @@ +LAMMPS (2 Jul 2021) +variable number equal 4 +variable ofreq equal 1000 +variable efreq equal 1000 + +variable ntype equal 4 + +variable T equal 0.1 +variable rhos equal 0.2 + +units lj + +dimension 3 + +newton on + +boundary p p p + +atom_style hybrid bond ellipsoid oxdna +WARNING: Atom style hybrid defines both, per-type and per-atom masses; both must be set, but only per-atom masses will be used (../atom_vec_hybrid.cpp:157) +atom_modify sort 0 1.0 + +# Pair interactions require lists of neighbours to be calculated +neighbor 2.0 bin +neigh_modify every 10 delay 0 check yes + +read_data data.duplex4.4type +Reading data file ... + orthogonal box = (-20.000000 -20.000000 -20.000000) to (20.000000 20.000000 20.000000) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 26 atoms + reading velocities ... + 26 velocities + scanning bonds ... + 1 = max bonds/atom + 26 ellipsoids + reading bonds ... + 24 bonds +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 + 2 = max # of 1-3 neighbors + 4 = max # of 1-4 neighbors + 6 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.003 seconds + +mass * 3.1575 # sets per-type mass if not in data file +set atom * mass 3.1575 # sets per-atom mass +Setting atom values ... + 26 settings made for mass + +group all type 1 4 +26 atoms in group all + +# oxDNA2 bond interactions - FENE backbone +bond_style oxdna2/fene +bond_coeff * 2.0 0.25 0.7564 +special_bonds lj 0 1 1 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 1 1 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 2 = max # of 1-3 neighbors + 4 = max # of 1-4 neighbors + 6 = max # of special neighbors + special bonds CPU = 0.000 seconds + +# oxDNA pair interactions +pair_style hybrid/overlay oxdna2/excv oxdna2/stk oxdna2/hbond oxdna2/xstk oxdna2/coaxstk oxdna2/dh +pair_coeff * * oxdna2/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32 +pair_coeff * * oxdna2/stk seqdep ${T} 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 +pair_coeff * * oxdna2/stk seqdep 0.1 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 +pair_coeff * * oxdna2/hbond seqdep 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 + +label loop +variable base loop ${ntype} +variable base loop 4 + variable basemod equal ${base}%4 + variable basemod equal 1%4 + if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" +variable comp equal ${base}+3 +variable comp equal 1+3 +pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 1 ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 1 4 oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 + if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" +next base +jump in.duplex4.4type loop +variable base loop ${ntype} +variable base loop 4 + variable basemod equal ${base}%4 + variable basemod equal 2%4 + if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" + if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" +variable comp equal ${base}+1 +variable comp equal 2+1 +pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 2 ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 2 3 oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +next base +jump in.duplex4.4type loop +variable base loop ${ntype} +variable base loop 4 + variable basemod equal ${base}%4 + variable basemod equal 3%4 + if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" + if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" +next base +jump in.duplex4.4type loop +variable base loop ${ntype} +variable base loop 4 + variable basemod equal ${base}%4 + variable basemod equal 4%4 + if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" + if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" +next base +jump in.duplex4.4type loop + +pair_coeff * * oxdna2/xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68 +pair_coeff * * oxdna2/coaxstk 58.5 0.4 0.6 0.22 0.58 2.0 2.891592653589793 0.65 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 40.0 3.116592653589793 +pair_coeff * * oxdna2/dh ${T} ${rhos} 0.815 +pair_coeff * * oxdna2/dh 0.1 ${rhos} 0.815 +pair_coeff * * oxdna2/dh 0.1 0.2 0.815 + +# Langevin dynamics +fix 1 all nve/asphere +fix 2 all langevin ${T} ${T} 2.5 457145 angmom 10 +fix 2 all langevin 0.1 ${T} 2.5 457145 angmom 10 +fix 2 all langevin 0.1 0.1 2.5 457145 angmom 10 + +timestep 1e-5 + +#comm_style tiled +fix 3 all balance 1000 1.03 shift xyz 10 1.03 +comm_modify cutoff 3.8 + +compute quat all property/atom quatw quati quatj quatk + +compute erot all erotate/asphere +compute ekin all ke +compute epot all pe +variable erot equal c_erot +variable ekin equal c_ekin +variable epot equal c_epot +variable etot equal c_erot+c_ekin+c_epot +fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes +fix 5 all print 1000 "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes + +dump out all custom ${ofreq} out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump out all custom 1000 out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump out all custom 1000 out.4.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump_modify out sort id +dump_modify out format line "%d %d %d %22.15le %22.15le %22.15le %d %d %d %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le" + +run 1000000 +Neighbor list info ... + update every 10 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 5.6389877 + ghost atom cutoff = 5.6389877 + binsize = 2.8194939, bins = 15 15 15 + 5 neighbor lists, perpetual/occasional/extra = 5 0 0 + (1) pair oxdna2/excv, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard + (2) pair oxdna2/hbond, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none + (3) pair oxdna2/xstk, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none + (4) pair oxdna2/coaxstk, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none + (5) pair oxdna2/dh, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none +WARNING: Communication cutoff adjusted to 5.638987723814632 (../comm.cpp:739) +0 ekin = 3.74991604702378 | erot = 3.45272678980464 | epot = -37.374200901142 | etot = -30.1715580643136 +Per MPI rank memory allocation (min/avg/max) = 9.328 | 9.328 | 9.328 Mbytes +Step Temp E_pair E_mol TotEng Press Volume + 0 0.099997761 -1.4717559 0.03428661 -1.2932417 5.6146609e-05 64000 +1000 ekin = 3.83184879800819 | erot = 3.50203401022062 | epot = -37.4730508915114 | etot = -30.1391680832826 +2000 ekin = 3.82227374831519 | erot = 3.79878100905234 | epot = -37.616191007464 | etot = -29.9951362500965 +3000 ekin = 3.90938932030971 | erot = 4.1584025695072 | epot = -37.7430329723255 | etot = -29.6752410825086 +4000 ekin = 3.82373321902577 | erot = 4.12183047279799 | epot = -37.8313543569025 | etot = -29.8857906650787 +5000 ekin = 3.7245469506492 | erot = 4.29953523687407 | epot = -37.8617217220934 | etot = -29.8376395345701 +6000 ekin = 3.75585156536887 | erot = 4.31270713695362 | epot = -37.8280629310505 | etot = -29.759504228728 +7000 ekin = 3.7932674084105 | erot = 4.16508360466875 | epot = -37.7640947397913 | etot = -29.8057437267121 +8000 ekin = 3.74746489835263 | erot = 4.25243425677967 | epot = -37.6835135449588 | etot = -29.6836143898265 +9000 ekin = 3.70802697723781 | erot = 4.00193184819411 | epot = -37.5899388200959 | etot = -29.879979994664 +10000 ekin = 3.58135597641079 | erot = 3.86411518632772 | epot = -37.5041732418663 | etot = -30.0587020791278 +11000 ekin = 3.45122934445655 | erot = 4.1703535299311 | epot = -37.4859882561369 | etot = -29.8644053817493 +12000 ekin = 3.42435863038453 | erot = 4.21487472538924 | epot = -37.5307136425246 | etot = -29.8914802867508 +13000 ekin = 3.40216979362993 | erot = 4.07292918248782 | epot = -37.6378499557145 | etot = -30.1627509795968 +14000 ekin = 3.2921331552169 | erot = 4.50441987673251 | epot = -37.7761364031321 | etot = -29.9795833711827 +15000 ekin = 3.36883179726036 | erot = 4.91359031415192 | epot = -37.9357367952089 | etot = -29.6533146837966 +16000 ekin = 3.30177911852248 | erot = 5.09593415997444 | epot = -38.143737189117 | etot = -29.7460239106201 +17000 ekin = 3.27867865291038 | erot = 5.45789581601551 | epot = -38.3785999463332 | etot = -29.6420254774073 +18000 ekin = 3.36770908750654 | erot = 5.63036493519878 | epot = -38.5970397067551 | etot = -29.5989656840498 +19000 ekin = 3.29802639540141 | erot = 5.4561639608394 | epot = -38.7810833463914 | etot = -30.0268929901506 +20000 ekin = 3.28760849058064 | erot = 5.26031945979083 | epot = -38.9429500949467 | etot = -30.3950221445752 +21000 ekin = 3.32772748450133 | erot = 5.34990394778077 | epot = -39.0618181252056 | etot = -30.3841866929235 +22000 ekin = 3.34298346296243 | erot = 5.12273250375884 | epot = -39.1360899153793 | etot = -30.670373948658 +23000 ekin = 3.38280280428755 | erot = 5.14933572496698 | epot = -39.1974651493046 | etot = -30.6653266200501 +24000 ekin = 3.43991273776911 | erot = 5.03737353653099 | epot = -39.2427818934622 | etot = -30.7654956191621 +25000 ekin = 3.44382800915666 | erot = 4.56194227438362 | epot = -39.2491545805195 | etot = -31.2433842969792 +26000 ekin = 3.47220361933921 | erot = 4.88028216050135 | epot = -39.2033487475128 | etot = -30.8508629676722 +27000 ekin = 3.47824341108214 | erot = 4.7971367004181 | epot = -39.1340731989048 | etot = -30.8586930874046 +28000 ekin = 3.54835351423501 | erot = 4.65494607739445 | epot = -39.0768463918722 | etot = -30.8735468002427 +29000 ekin = 3.57491058588778 | erot = 4.31737192689192 | epot = -39.0420895500443 | etot = -31.1498070372646 +30000 ekin = 3.51438036654861 | erot = 4.50861299911584 | epot = -39.0276136699747 | etot = -31.0046203043103 +31000 ekin = 3.57650331888545 | erot = 4.40811531091204 | epot = -39.0168289246978 | etot = -31.0322102949003 +32000 ekin = 3.70658082522071 | erot = 4.15949186201363 | epot = -39.017410963825 | etot = -31.1513382765907 +33000 ekin = 3.83721022662003 | erot = 4.05055961618762 | epot = -39.0303039022729 | etot = -31.1425340594653 +34000 ekin = 3.94885880665681 | erot = 3.81495459058985 | epot = -39.0180833389347 | etot = -31.2542699416881 +35000 ekin = 3.97994525138323 | erot = 4.49904715736234 | epot = -38.9543629321032 | etot = -30.4753705233577 +36000 ekin = 3.90049506438266 | erot = 3.99723351860168 | epot = -38.8736492127444 | etot = -30.97592062976 +37000 ekin = 4.00119032736887 | erot = 4.30070706410093 | epot = -38.7576942972653 | etot = -30.4557969057955 +38000 ekin = 4.00581796835647 | erot = 3.82064458204034 | epot = -38.6053485149963 | etot = -30.7788859645995 +39000 ekin = 3.92374370666492 | erot = 3.80679256085696 | epot = -38.4357174066365 | etot = -30.7051811391146 +40000 ekin = 3.81525591020245 | erot = 3.60218215391061 | epot = -38.2889289083718 | etot = -30.8714908442587 +41000 ekin = 3.89801377589297 | erot = 3.52447171643241 | epot = -38.2033074629501 | etot = -30.7808219706247 +42000 ekin = 3.92469802136766 | erot = 3.72207083090906 | epot = -38.1843497161945 | etot = -30.5375808639177 +43000 ekin = 3.90355819056277 | erot = 3.6537526927489 | epot = -38.2197716832792 | etot = -30.6624607999675 +44000 ekin = 3.94906849382533 | erot = 3.48405507068376 | epot = -38.2852323155717 | etot = -30.8521087510626 +45000 ekin = 4.04988136986449 | erot = 3.38338492043337 | epot = -38.379217839749 | etot = -30.9459515494512 +46000 ekin = 4.12456204511554 | erot = 3.52614566674475 | epot = -38.4473213411912 | etot = -30.7966136293309 +47000 ekin = 4.05260082430177 | erot = 3.30110271195184 | epot = -38.4808326895795 | etot = -31.1271291533259 +48000 ekin = 3.94672633965036 | erot = 3.30790944660349 | epot = -38.4845357728861 | etot = -31.2298999866322 +49000 ekin = 3.88681575217735 | erot = 3.78262203823329 | epot = -38.4415128535038 | etot = -30.7720750630932 +50000 ekin = 3.8289998539571 | erot = 3.78573156370326 | epot = -38.3450518110649 | etot = -30.7303203934046 +51000 ekin = 3.84405747033417 | erot = 3.53181676479775 | epot = -38.2059734024445 | etot = -30.8300991673126 +52000 ekin = 3.72257170524986 | erot = 3.44233441463346 | epot = -38.0493176755067 | etot = -30.8844115556233 +53000 ekin = 3.58458805955587 | erot = 3.40175184254418 | epot = -37.8770316144346 | etot = -30.8906917123346 +54000 ekin = 3.42774104644866 | erot = 3.01933445329398 | epot = -37.7242775274776 | etot = -31.277202027735 +55000 ekin = 3.30773758120276 | erot = 3.11354928843072 | epot = -37.584427789289 | etot = -31.1631409196555 +56000 ekin = 3.30267684217518 | erot = 3.36746893036055 | epot = -37.4528615341919 | etot = -30.7827157616562 +57000 ekin = 3.19775481140565 | erot = 3.06235541109217 | epot = -37.3795633131473 | etot = -31.1194530906495 +58000 ekin = 3.11776701522974 | erot = 3.21225050262705 | epot = -37.3545495658646 | etot = -31.0245320480078 +59000 ekin = 3.02660076850687 | erot = 3.05700513362467 | epot = -37.3753385948441 | etot = -31.2917326927126 +60000 ekin = 3.05479252149938 | erot = 3.09854486170695 | epot = -37.4441725320783 | etot = -31.2908351488719 +61000 ekin = 3.01704476791617 | erot = 3.76451997765652 | epot = -37.5384296958521 | etot = -30.7568649502794 +62000 ekin = 3.04313706615776 | erot = 3.65046217125996 | epot = -37.6255736746588 | etot = -30.931974437241 +63000 ekin = 3.01457068009169 | erot = 3.63417424777149 | epot = -37.6954625017369 | etot = -31.0467175738737 +64000 ekin = 2.98716002899804 | erot = 3.66823413077172 | epot = -37.7940816265089 | etot = -31.1386874667392 +65000 ekin = 3.02462936411627 | erot = 3.70957377344584 | epot = -37.8868266007907 | etot = -31.1526234632286 +66000 ekin = 3.04943307417979 | erot = 3.64749592963955 | epot = -37.9385532609816 | etot = -31.2416242571623 +67000 ekin = 3.10664998766834 | erot = 3.9244199235005 | epot = -37.9686488739492 | etot = -30.9375789627803 +68000 ekin = 3.1050854233858 | erot = 3.5178167489996 | epot = -37.983113244155 | etot = -31.3602110717696 +69000 ekin = 3.12460161346418 | erot = 3.45336993587921 | epot = -38.016048039057 | etot = -31.4380764897136 +70000 ekin = 3.27586566025794 | erot = 2.94330488125488 | epot = -38.0712687269606 | etot = -31.8520981854478 +71000 ekin = 3.39211310061258 | erot = 2.74512861011504 | epot = -38.1409313278077 | etot = -32.0036896170801 +72000 ekin = 3.40645093836728 | erot = 2.75927481548157 | epot = -38.2448895790434 | etot = -32.0791638251946 +73000 ekin = 3.52971008848823 | erot = 2.59006671029947 | epot = -38.3559671032089 | etot = -32.2361903044212 +74000 ekin = 3.64539698532476 | erot = 2.94116909218575 | epot = -38.4934235930849 | etot = -31.9068575155744 +75000 ekin = 3.80169679560814 | erot = 3.11004664709647 | epot = -38.6561648833572 | etot = -31.7444214406526 +76000 ekin = 3.86343004207989 | erot = 3.33165114941789 | epot = -38.7892518002904 | etot = -31.5941706087926 +77000 ekin = 3.90472352035116 | erot = 3.31177401193377 | epot = -38.8678679983232 | etot = -31.6513704660382 +78000 ekin = 3.92691530468171 | erot = 3.25784074314341 | epot = -38.8969605625462 | etot = -31.7122045147211 +79000 ekin = 3.93607959529918 | erot = 3.16472395725656 | epot = -38.8636036578363 | etot = -31.7628001052805 +80000 ekin = 3.92375596570385 | erot = 3.03932991445865 | epot = -38.7678348516126 | etot = -31.8047489714501 +81000 ekin = 3.9430777715335 | erot = 2.88134017144298 | epot = -38.6473318824763 | etot = -31.8229139394998 +82000 ekin = 3.86696228915965 | erot = 2.89149309255461 | epot = -38.519943391552 | etot = -31.7614880098377 +83000 ekin = 3.60814275609262 | erot = 2.81572010912293 | epot = -38.3996592376438 | etot = -31.9757963724282 +84000 ekin = 3.71373301448702 | erot = 2.72793818704547 | epot = -38.3011883980015 | etot = -31.859517196469 +85000 ekin = 3.50951070251157 | erot = 2.79348490714939 | epot = -38.2117363909514 | etot = -31.9087407812904 +86000 ekin = 3.47308524750449 | erot = 3.12141964520655 | epot = -38.1244236248806 | etot = -31.5299187321696 +87000 ekin = 3.47440394227043 | erot = 3.04160702571504 | epot = -38.0440539828499 | etot = -31.5280430148644 +88000 ekin = 3.44172477689071 | erot = 2.99907227171085 | epot = -37.9859332104928 | etot = -31.5451361618913 +89000 ekin = 3.46547245050649 | erot = 3.42367325086164 | epot = -37.9432140623315 | etot = -31.0540683609633 +90000 ekin = 3.47276106924413 | erot = 3.41105238494334 | epot = -37.9009776655538 | etot = -31.0171642113663 +91000 ekin = 3.31717291023277 | erot = 4.00503611404981 | epot = -37.8509086765271 | etot = -30.5286996522445 +92000 ekin = 3.30281925189455 | erot = 3.78657692130476 | epot = -37.8308149894367 | etot = -30.7414188162374 +93000 ekin = 3.23932364656722 | erot = 3.46021357148725 | epot = -37.8328101558439 | etot = -31.1332729377895 +94000 ekin = 3.19291152023924 | erot = 3.36401906457231 | epot = -37.8297890174383 | etot = -31.2728584326267 +95000 ekin = 3.11174095364037 | erot = 3.84559531996404 | epot = -37.8285495206063 | etot = -30.8712132470019 +96000 ekin = 3.08253957616709 | erot = 4.19970849347964 | epot = -37.8307056468836 | etot = -30.5484575772369 +97000 ekin = 3.01019162595084 | erot = 4.79435511235213 | epot = -37.8474383063022 | etot = -30.0428915679992 +98000 ekin = 2.95004498340948 | erot = 4.45721895779631 | epot = -37.8489202082855 | etot = -30.4416562670797 +99000 ekin = 2.91563074020306 | erot = 4.14781823161589 | epot = -37.8396252499933 | etot = -30.7761762781743 +100000 ekin = 2.90648603235873 | erot = 3.81215086067838 | epot = -37.7900595351461 | etot = -31.071422642109 +101000 ekin = 2.85218071196321 | erot = 3.48991910340789 | epot = -37.7570245236792 | etot = -31.4149247083081 +102000 ekin = 2.86052427330307 | erot = 3.57587365782269 | epot = -37.7214005697291 | etot = -31.2850026386034 +103000 ekin = 2.88913271922391 | erot = 3.41748118405764 | epot = -37.6983180369495 | etot = -31.3917041336679 +104000 ekin = 2.81650081212179 | erot = 3.64361039549583 | epot = -37.6651320682074 | etot = -31.2050208605898 +105000 ekin = 2.79823699847461 | erot = 3.35865525277725 | epot = -37.6511913094721 | etot = -31.4942990582202 +106000 ekin = 2.78255015161702 | erot = 3.64122601097049 | epot = -37.6357012767034 | etot = -31.2119251141159 +107000 ekin = 2.8853059029881 | erot = 3.80038887689828 | epot = -37.6526611371135 | etot = -30.9669663572271 +108000 ekin = 2.83844762508156 | erot = 3.95272494897009 | epot = -37.7224292501163 | etot = -30.9312566760646 +109000 ekin = 2.91484982662488 | erot = 4.34544884566561 | epot = -37.8436434051328 | etot = -30.5833447328423 +110000 ekin = 2.93667443132402 | erot = 4.67698362049705 | epot = -37.9759529936705 | etot = -30.3622949418494 +111000 ekin = 3.11047864616463 | erot = 4.30694673133228 | epot = -38.1028692919235 | etot = -30.6854439144266 +112000 ekin = 3.32630420939175 | erot = 4.07222830175934 | epot = -38.2330557688864 | etot = -30.8345232577353 +113000 ekin = 3.38238157246173 | erot = 4.25399862575981 | epot = -38.4031841501303 | etot = -30.7668039519087 +114000 ekin = 3.40165200205494 | erot = 4.30744946748772 | epot = -38.6070332241657 | etot = -30.897931754623 +115000 ekin = 3.57685598139985 | erot = 4.55740206723813 | epot = -38.8200433287836 | etot = -30.6857852801457 +116000 ekin = 3.75973031177341 | erot = 4.3615765459289 | epot = -39.0323085624545 | etot = -30.9110017047522 +117000 ekin = 4.08170792820106 | erot = 4.22817627756988 | epot = -39.2374888319016 | etot = -30.9276046261307 +118000 ekin = 4.20730049786356 | erot = 4.45363628574744 | epot = -39.4247594107616 | etot = -30.7638226271506 +119000 ekin = 4.26502745539807 | erot = 4.38707691524353 | epot = -39.5609276649305 | etot = -30.9088232942889 +120000 ekin = 4.18668022830479 | erot = 4.24219249569072 | epot = -39.6276325806844 | etot = -31.1987598566889 +121000 ekin = 4.37673633947889 | erot = 4.44899930150549 | epot = -39.5989335189462 | etot = -30.7731978779619 +122000 ekin = 4.38970640566177 | erot = 4.08524736298491 | epot = -39.5011631447288 | etot = -31.0262093760821 +123000 ekin = 4.42858502015389 | erot = 3.38666748651706 | epot = -39.3700347945817 | etot = -31.5547822879107 +124000 ekin = 4.41843242629728 | erot = 3.29902599884916 | epot = -39.2496495732995 | etot = -31.532191148153 +125000 ekin = 4.2617494523508 | erot = 3.29673673713413 | epot = -39.1012418833314 | etot = -31.5427556938464 +126000 ekin = 4.24892047563245 | erot = 3.36728042977249 | epot = -38.9439369649168 | etot = -31.3277360595119 +127000 ekin = 4.20697642244211 | erot = 3.24776092764451 | epot = -38.7860930134988 | etot = -31.3313556634121 +128000 ekin = 4.051155507125 | erot = 3.47679598409534 | epot = -38.6330582994878 | etot = -31.1051068082675 +129000 ekin = 4.05771564566355 | erot = 3.55109790126639 | epot = -38.5073350485463 | etot = -30.8985215016164 +130000 ekin = 3.96453894213021 | erot = 3.5331352226628 | epot = -38.3915659508259 | etot = -30.8938917860329 +131000 ekin = 3.98900505769183 | erot = 3.64077310067997 | epot = -38.2786451293432 | etot = -30.6488669709714 +132000 ekin = 3.73079609117296 | erot = 3.73126171283414 | epot = -38.1409399456635 | etot = -30.6788821416564 +133000 ekin = 3.65247250435603 | erot = 3.53430985836843 | epot = -38.0235035134258 | etot = -30.8367211507014 +134000 ekin = 3.69649402588234 | erot = 3.97356364722737 | epot = -37.9278485959382 | etot = -30.2577909228285 +135000 ekin = 3.57147615494152 | erot = 4.00472599145964 | epot = -37.8397002442413 | etot = -30.2634980978401 +136000 ekin = 3.54164301577371 | erot = 3.88237062104624 | epot = -37.7460882463413 | etot = -30.3220746095214 +137000 ekin = 3.41247180964224 | erot = 3.32750587829717 | epot = -37.6246112923031 | etot = -30.8846336043637 +138000 ekin = 3.46206567288776 | erot = 3.47277237990382 | epot = -37.562116148782 | etot = -30.6272780959905 +139000 ekin = 3.46179863350053 | erot = 3.29345554522865 | epot = -37.5218039357363 | etot = -30.7665497570071 +140000 ekin = 3.57268233853842 | erot = 3.5202154657235 | epot = -37.4799882832129 | etot = -30.387090478951 +141000 ekin = 3.48030321137913 | erot = 3.69147952189496 | epot = -37.4842309048152 | etot = -30.3124481715411 +142000 ekin = 3.63349703801683 | erot = 3.72222694231707 | epot = -37.5326170636814 | etot = -30.1768930833475 +143000 ekin = 3.71391772492719 | erot = 3.32855653910457 | epot = -37.5715573506384 | etot = -30.5290830866066 +144000 ekin = 3.59876610372647 | erot = 3.57133292531736 | epot = -37.6083426167156 | etot = -30.4382435876717 +145000 ekin = 3.55129898738003 | erot = 3.38442665443505 | epot = -37.645703742064 | etot = -30.7099781002489 +146000 ekin = 3.57274630492872 | erot = 3.74306660671665 | epot = -37.6918399298831 | etot = -30.3760270182377 +147000 ekin = 3.51175180004563 | erot = 4.07506203504851 | epot = -37.7115891932223 | etot = -30.1247753581282 +148000 ekin = 3.52194530375129 | erot = 4.22438638639855 | epot = -37.7453589028593 | etot = -29.9990272127094 +149000 ekin = 3.43829227837986 | erot = 4.25032155928043 | epot = -37.7800675049656 | etot = -30.0914536673053 +150000 ekin = 3.3957375930512 | erot = 4.12519198982275 | epot = -37.7779101405858 | etot = -30.2569805577118 +151000 ekin = 3.38494817974845 | erot = 3.91154836764821 | epot = -37.7346130185547 | etot = -30.4381164711581 +152000 ekin = 3.33928233486053 | erot = 3.82420376901224 | epot = -37.6923063731278 | etot = -30.5288202692551 +153000 ekin = 3.38955645731944 | erot = 3.72251905459199 | epot = -37.6703717263952 | etot = -30.5582962144838 +154000 ekin = 3.4017017115168 | erot = 3.95270448125707 | epot = -37.6783897084388 | etot = -30.3239835156649 +155000 ekin = 3.44581188687106 | erot = 3.52528589615972 | epot = -37.7593041359923 | etot = -30.7882063529615 +156000 ekin = 3.55410349285979 | erot = 3.68359553101924 | epot = -37.8946612865555 | etot = -30.6569622626765 +157000 ekin = 3.67740663285561 | erot = 3.73708949692857 | epot = -38.0406477694046 | etot = -30.6261516396204 +158000 ekin = 3.70912292320982 | erot = 3.62418205239286 | epot = -38.1900046609469 | etot = -30.8566996853442 +159000 ekin = 3.6853282619123 | erot = 3.87298071798083 | epot = -38.2928836797072 | etot = -30.7345746998141 +160000 ekin = 3.72002440516723 | erot = 4.11592492943216 | epot = -38.3652902740973 | etot = -30.5293409394979 +161000 ekin = 3.73388863499069 | erot = 4.42836121024183 | epot = -38.4373191354183 | etot = -30.2750692901858 +162000 ekin = 4.02523829931076 | erot = 4.8680769419056 | epot = -38.4975346699525 | etot = -29.6042194287362 +163000 ekin = 4.03311015138323 | erot = 4.78291233450122 | epot = -38.5597523007635 | etot = -29.7437298148791 +164000 ekin = 4.1335004223363 | erot = 5.01454292769812 | epot = -38.5888368946085 | etot = -29.4407935445741 +165000 ekin = 4.2571846721418 | erot = 4.92225725319176 | epot = -38.5829201612759 | etot = -29.4034782359424 +166000 ekin = 4.11013815046505 | erot = 4.5380600083009 | epot = -38.5467907483033 | etot = -29.8985925895373 +167000 ekin = 4.08710467384593 | erot = 4.20997030650446 | epot = -38.4814936158366 | etot = -30.1844186354862 +168000 ekin = 4.03924000036858 | erot = 3.95993274976396 | epot = -38.3759188508994 | etot = -30.3767461007668 +169000 ekin = 3.94917218886656 | erot = 3.65240127094122 | epot = -38.2594355677076 | etot = -30.6578621078998 +170000 ekin = 3.90935554205321 | erot = 3.78797512477889 | epot = -38.1835201359157 | etot = -30.4861894690836 +171000 ekin = 3.8773250489546 | erot = 4.28652570004448 | epot = -38.1402484566641 | etot = -29.976397707665 +172000 ekin = 3.75957929171828 | erot = 4.02272820820138 | epot = -38.1557340618708 | etot = -30.3734265619512 +173000 ekin = 3.55030915229003 | erot = 4.03115995993296 | epot = -38.2480280629192 | etot = -30.6665589506962 +174000 ekin = 3.61281225750312 | erot = 4.30402685904744 | epot = -38.379508028535 | etot = -30.4626689119845 +175000 ekin = 3.56741376549371 | erot = 4.24945045724339 | epot = -38.5125929458379 | etot = -30.6957287231008 +176000 ekin = 3.69966296688439 | erot = 4.22673264606634 | epot = -38.6131459163278 | etot = -30.6867503033771 +177000 ekin = 3.7232933477479 | erot = 4.39637021744871 | epot = -38.6555013846403 | etot = -30.5358378194437 +178000 ekin = 3.7991935766677 | erot = 4.00194735045329 | epot = -38.6620582075599 | etot = -30.8609172804389 +179000 ekin = 3.78008346787859 | erot = 4.05267692212526 | epot = -38.6224110467893 | etot = -30.7896506567854 +180000 ekin = 3.84388711467645 | erot = 3.70916125532564 | epot = -38.5399848480517 | etot = -30.9869364780496 +181000 ekin = 3.78854199589317 | erot = 3.43025530256468 | epot = -38.4472679874805 | etot = -31.2284706890226 +182000 ekin = 3.65298336461982 | erot = 3.4144670384005 | epot = -38.3421256904839 | etot = -31.2746752874636 +183000 ekin = 3.57592466495272 | erot = 3.54000226366918 | epot = -38.2342661287443 | etot = -31.1183392001224 +184000 ekin = 3.59097293869161 | erot = 3.49764131752706 | epot = -38.1237685559035 | etot = -31.0351542996848 +185000 ekin = 3.59874593561892 | erot = 3.34180949424631 | epot = -38.0345613955437 | etot = -31.0940059656785 +186000 ekin = 3.55637392703387 | erot = 3.60010534755636 | epot = -37.9685691221056 | etot = -30.8120898475154 +187000 ekin = 3.30341471869181 | erot = 3.63282669533297 | epot = -37.9082034969871 | etot = -30.9719620829623 +188000 ekin = 3.25151380843728 | erot = 3.4158708150676 | epot = -37.8374520507023 | etot = -31.1700674271975 +189000 ekin = 3.09888859581603 | erot = 3.51324139411299 | epot = -37.7831379378025 | etot = -31.1710079478735 +190000 ekin = 2.9309664789049 | erot = 3.73100049541724 | epot = -37.7090579094215 | etot = -31.0470909350994 +191000 ekin = 2.7884578953631 | erot = 3.59181404756254 | epot = -37.6234731970084 | etot = -31.2432012540828 +192000 ekin = 2.68708504006426 | erot = 3.91911783313626 | epot = -37.526883385388 | etot = -30.9206805121875 +193000 ekin = 2.65091164661301 | erot = 3.82754219131902 | epot = -37.4213833049326 | etot = -30.9429294670006 +194000 ekin = 2.55372434146215 | erot = 3.81228833556049 | epot = -37.3433541779816 | etot = -30.977341500959 +195000 ekin = 2.54515296633922 | erot = 3.77157425987472 | epot = -37.2550689450336 | etot = -30.9383417188196 +196000 ekin = 2.57228739351393 | erot = 3.48448370430655 | epot = -37.1707275909677 | etot = -31.1139564931472 +197000 ekin = 2.47659034250743 | erot = 3.31788075232347 | epot = -37.1125490303323 | etot = -31.3180779355014 +198000 ekin = 2.47817611131623 | erot = 3.41593598489791 | epot = -37.0628542395745 | etot = -31.1687421433604 +199000 ekin = 2.46398696321861 | erot = 3.79330738397083 | epot = -37.0410272717131 | etot = -30.7837329245237 +200000 ekin = 2.66032750534619 | erot = 3.50045834258033 | epot = -37.0560186461538 | etot = -30.8952327982273 +201000 ekin = 2.82925423269724 | erot = 3.87280363693036 | epot = -37.1094527749141 | etot = -30.4073949052865 +202000 ekin = 2.87690134773435 | erot = 3.73724666810631 | epot = -37.1548849140444 | etot = -30.5407368982037 +203000 ekin = 3.09789929071291 | erot = 3.54687635269494 | epot = -37.1913390618662 | etot = -30.5465634184584 +204000 ekin = 3.2249783082041 | erot = 3.52082166300909 | epot = -37.2064645595876 | etot = -30.4606645883744 +205000 ekin = 3.08968228459873 | erot = 3.62768693137654 | epot = -37.2539593887052 | etot = -30.5365901727299 +206000 ekin = 3.1101415017481 | erot = 3.73856786590981 | epot = -37.3166778706669 | etot = -30.467968503009 +207000 ekin = 3.1829453735338 | erot = 4.25652712659376 | epot = -37.3463184168161 | etot = -29.9068459166886 +208000 ekin = 3.18396090757444 | erot = 4.43896014450663 | epot = -37.3566061410102 | etot = -29.7336850889291 +209000 ekin = 3.31348354672045 | erot = 3.97662877739679 | epot = -37.3764215045056 | etot = -30.0863091803884 +210000 ekin = 3.17486958285119 | erot = 3.68714944924489 | epot = -37.3622513109274 | etot = -30.5002322788313 +211000 ekin = 3.2477738173839 | erot = 3.39112189744197 | epot = -37.3847088569504 | etot = -30.7458131421245 +212000 ekin = 3.12182354729226 | erot = 3.15133571404853 | epot = -37.4262282165348 | etot = -31.153068955194 +213000 ekin = 3.1232309019731 | erot = 3.03298058440268 | epot = -37.4993866522035 | etot = -31.3431751658277 +214000 ekin = 3.02782055391866 | erot = 3.5189307426383 | epot = -37.618739888869 | etot = -31.071988592312 +215000 ekin = 3.08902625374254 | erot = 3.62054952513122 | epot = -37.8003692924875 | etot = -31.0907935136138 +216000 ekin = 3.0402918166672 | erot = 4.36545701920737 | epot = -38.0086846511918 | etot = -30.6029358153172 +217000 ekin = 3.11869416684308 | erot = 4.23835788568589 | epot = -38.1755180741878 | etot = -30.8184660216589 +218000 ekin = 3.12136726795473 | erot = 3.99627368131625 | epot = -38.3382201370155 | etot = -31.2205791877445 +219000 ekin = 3.2474996523994 | erot = 4.03289859762084 | epot = -38.4910930976405 | etot = -31.2106948476203 +220000 ekin = 3.1973165065664 | erot = 4.16726840142166 | epot = -38.6410163306451 | etot = -31.276431422657 +221000 ekin = 3.14591003185424 | erot = 4.4764367328117 | epot = -38.780722121156 | etot = -31.15837535649 +222000 ekin = 3.06194834255767 | erot = 4.40957176775797 | epot = -38.8960295960944 | etot = -31.4245094857787 +223000 ekin = 3.09392792198335 | erot = 4.36929377800867 | epot = -38.9696160320109 | etot = -31.5063943320188 +224000 ekin = 3.18434099924865 | erot = 4.674141260581 | epot = -39.0019773177328 | etot = -31.1434950579031 +225000 ekin = 3.26887097312573 | erot = 4.32849031089069 | epot = -39.0446790784002 | etot = -31.4473177943838 +226000 ekin = 3.21195731331512 | erot = 5.11387401999741 | epot = -39.0947841174991 | etot = -30.7689527841866 +227000 ekin = 3.12036258026498 | erot = 5.06347912205044 | epot = -39.0762383614625 | etot = -30.8923966591471 +228000 ekin = 3.09996729726213 | erot = 5.29564700287486 | epot = -39.0208988713251 | etot = -30.6252845711881 +229000 ekin = 3.03897933795902 | erot = 5.24780237112332 | epot = -38.9575212211327 | etot = -30.6707395120503 +230000 ekin = 3.00051887289146 | erot = 4.62162674048183 | epot = -38.9098464143818 | etot = -31.2877008010086 +231000 ekin = 2.91912781370872 | erot = 4.16321547565937 | epot = -38.8503568044396 | etot = -31.7680135150715 +232000 ekin = 2.80548407611275 | erot = 4.26963451717891 | epot = -38.7971045932123 | etot = -31.7219859999206 +233000 ekin = 2.921352071703 | erot = 4.30663886521625 | epot = -38.7943069633021 | etot = -31.5663160263829 +234000 ekin = 2.8987567571007 | erot = 4.15218445741161 | epot = -38.7953536145697 | etot = -31.7444124000574 +235000 ekin = 2.99243729544443 | erot = 3.66858116296993 | epot = -38.7881689836612 | etot = -32.1271505252468 +236000 ekin = 3.05722012426337 | erot = 3.77007572255967 | epot = -38.8307946718328 | etot = -32.0034988250098 +237000 ekin = 2.93797686036748 | erot = 4.00589644921927 | epot = -38.929946515337 | etot = -31.9860732057502 +238000 ekin = 2.9414435200925 | erot = 3.88111097233617 | epot = -39.0498657472631 | etot = -32.2273112548344 +239000 ekin = 3.10382951223872 | erot = 3.96380163382871 | epot = -39.1526703213401 | etot = -32.0850391752727 +240000 ekin = 3.05998182778604 | erot = 4.32395093282883 | epot = -39.2052189603879 | etot = -31.821286199773 +241000 ekin = 3.07091800265519 | erot = 4.10063821004074 | epot = -39.2356744872187 | etot = -32.0641182745228 +242000 ekin = 2.97211136503677 | erot = 4.19271702506013 | epot = -39.2591861941867 | etot = -32.0943578040898 +243000 ekin = 2.88784895332253 | erot = 4.01063377556442 | epot = -39.2721844581366 | etot = -32.3737017292496 +244000 ekin = 2.72034159299267 | erot = 3.9497078953668 | epot = -39.2969463203695 | etot = -32.62689683201 +245000 ekin = 2.73288139378783 | erot = 4.29552525608627 | epot = -39.3467303394195 | etot = -32.3183236895454 +246000 ekin = 2.68282749729218 | erot = 4.43958709181175 | epot = -39.4036850899301 | etot = -32.2812705008262 +247000 ekin = 2.73156079717717 | erot = 4.29997633507683 | epot = -39.4831744493476 | etot = -32.4516373170936 +248000 ekin = 2.71615239962776 | erot = 4.48384110145867 | epot = -39.5625690361122 | etot = -32.3625755350257 +249000 ekin = 2.72571373834881 | erot = 4.5335019483569 | epot = -39.6161562336935 | etot = -32.3569405469878 +250000 ekin = 2.67302825179683 | erot = 5.17929377782009 | epot = -39.6758534551748 | etot = -31.8235314255579 +251000 ekin = 2.6507365898703 | erot = 5.39364408144172 | epot = -39.7013652486056 | etot = -31.6569845772935 +252000 ekin = 2.81604561937354 | erot = 5.50799647083842 | epot = -39.6939189845586 | etot = -31.3698768943466 +253000 ekin = 2.83629985586585 | erot = 4.91166111825379 | epot = -39.6825773475315 | etot = -31.9346163734119 +254000 ekin = 2.79908189634044 | erot = 4.88281944777383 | epot = -39.6620010988144 | etot = -31.9800997547001 +255000 ekin = 2.84238496514409 | erot = 4.79166487708097 | epot = -39.6680683880925 | etot = -32.0340185458674 +256000 ekin = 2.82611571908347 | erot = 4.38756969310712 | epot = -39.7220228798985 | etot = -32.5083374677079 +257000 ekin = 2.78077325096871 | erot = 4.5642639453855 | epot = -39.7657957602323 | etot = -32.420758563878 +258000 ekin = 2.84466353932841 | erot = 4.94939241805645 | epot = -39.7743058264474 | etot = -31.9802498690625 +259000 ekin = 2.82994372921754 | erot = 4.84156348043289 | epot = -39.7845084321782 | etot = -32.1130012225278 +260000 ekin = 2.84769599243485 | erot = 4.63369709433921 | epot = -39.8060470464454 | etot = -32.3246539596713 +261000 ekin = 2.87237157835352 | erot = 4.51865061212279 | epot = -39.7979847736537 | etot = -32.4069625831774 +262000 ekin = 2.96750612225965 | erot = 4.57561390426948 | epot = -39.7782660470083 | etot = -32.2351460204792 +263000 ekin = 2.9928936584238 | erot = 4.20953311292943 | epot = -39.7453211677642 | etot = -32.542894396411 +264000 ekin = 3.02610258005868 | erot = 4.41804994162532 | epot = -39.7005266944526 | etot = -32.2563741727686 +265000 ekin = 3.02210011112739 | erot = 4.29011549844082 | epot = -39.6578667285885 | etot = -32.3456511190202 +266000 ekin = 2.9552602997359 | erot = 3.9722013360736 | epot = -39.586314373395 | etot = -32.6588527375855 +267000 ekin = 2.96306286479368 | erot = 4.39982365552042 | epot = -39.5117362736935 | etot = -32.1488497533794 +268000 ekin = 2.98837918599768 | erot = 4.59043107838106 | epot = -39.4346030266013 | etot = -31.8557927622225 +269000 ekin = 2.92733730866694 | erot = 4.81492520489307 | epot = -39.3017884762547 | etot = -31.5595259626947 +270000 ekin = 2.90335610024247 | erot = 4.98515255872076 | epot = -39.1437745457484 | etot = -31.2552658867851 +271000 ekin = 2.87611923369216 | erot = 5.02631285080427 | epot = -38.9919498909516 | etot = -31.0895178064552 +272000 ekin = 2.8777026077458 | erot = 4.83651556609768 | epot = -38.8408093950138 | etot = -31.1265912211703 +273000 ekin = 2.77329089721161 | erot = 4.69693225863749 | epot = -38.6610493537941 | etot = -31.190826197945 +274000 ekin = 2.68625637002646 | erot = 4.51669986790578 | epot = -38.450972898294 | etot = -31.2480166603618 +275000 ekin = 2.6033032445429 | erot = 4.20171703621303 | epot = -38.2182499356279 | etot = -31.413229654872 +276000 ekin = 2.57183076311405 | erot = 3.79152446287658 | epot = -38.0174336495132 | etot = -31.6540784235226 +277000 ekin = 2.49975386368552 | erot = 3.59614150828643 | epot = -37.8474968832234 | etot = -31.7516015112514 +278000 ekin = 2.46398069339692 | erot = 3.65098267442651 | epot = -37.6582057642292 | etot = -31.5432423964058 +279000 ekin = 2.48339824565301 | erot = 3.67548575635043 | epot = -37.5048702413578 | etot = -31.3459862393543 +280000 ekin = 2.53376634761115 | erot = 3.55656380463993 | epot = -37.3937621487775 | etot = -31.3034319965264 +281000 ekin = 2.67002406168555 | erot = 3.81689537677439 | epot = -37.3207483356567 | etot = -30.8338288971967 +282000 ekin = 2.63534042744469 | erot = 3.62617225051201 | epot = -37.2561498174831 | etot = -30.9946371395264 +283000 ekin = 2.6220496059321 | erot = 3.60063437351299 | epot = -37.1865464899412 | etot = -30.9638625104961 +284000 ekin = 2.67681575008794 | erot = 3.61566503901023 | epot = -37.1459845078296 | etot = -30.8535037187314 +285000 ekin = 2.71360352201128 | erot = 3.48822466196441 | epot = -37.1436040722677 | etot = -30.941775888292 +286000 ekin = 2.72409949367879 | erot = 3.69046973300079 | epot = -37.1515114688671 | etot = -30.7369422421875 +287000 ekin = 2.78141221541732 | erot = 3.56169254019539 | epot = -37.1836412585713 | etot = -30.8405365029586 +288000 ekin = 2.93111949257226 | erot = 3.8525227571685 | epot = -37.2722312757955 | etot = -30.4885890260548 +289000 ekin = 3.22039073654125 | erot = 3.65796134125549 | epot = -37.4105935842029 | etot = -30.5322415064062 +290000 ekin = 3.45543672952192 | erot = 3.63587074171854 | epot = -37.5601919395408 | etot = -30.4688844683004 +291000 ekin = 3.52760878967926 | erot = 4.20430698093698 | epot = -37.7322836777775 | etot = -30.0003679071612 +292000 ekin = 3.68972381818942 | erot = 4.12076553978665 | epot = -37.9100323199299 | etot = -30.0995429619539 +293000 ekin = 3.83177225674892 | erot = 4.37726484522697 | epot = -38.0821109906697 | etot = -29.8730738886939 +294000 ekin = 4.06640459910211 | erot = 3.74462680595297 | epot = -38.1926156973085 | etot = -30.3815842922535 +295000 ekin = 4.21784736111078 | erot = 3.82616484716752 | epot = -38.2890286287625 | etot = -30.2450164204842 +296000 ekin = 4.26440738773668 | erot = 3.95694734709923 | epot = -38.3824567525616 | etot = -30.1611020177257 +297000 ekin = 4.04618321058719 | erot = 4.11344152769709 | epot = -38.4823151027027 | etot = -30.3226903644185 +298000 ekin = 4.04534420229663 | erot = 4.08413503201891 | epot = -38.5648464298591 | etot = -30.4353671955436 +299000 ekin = 4.0589099673587 | erot = 4.75454163668515 | epot = -38.639463237644 | etot = -29.8260116336001 +300000 ekin = 4.06355522455796 | erot = 4.46292256841625 | epot = -38.7062117520832 | etot = -30.179733959109 +301000 ekin = 4.01853385887688 | erot = 4.67242188374982 | epot = -38.7555551980343 | etot = -30.0645994554076 +302000 ekin = 3.97170308302913 | erot = 4.62245717998414 | epot = -38.7884989680142 | etot = -30.194338705001 +303000 ekin = 4.00670279913523 | erot = 4.89772983741929 | epot = -38.799236313657 | etot = -29.8948036771024 +304000 ekin = 3.81374525151692 | erot = 4.6538936598735 | epot = -38.8327396351166 | etot = -30.3651007237262 +305000 ekin = 3.70792918499072 | erot = 4.53646691129901 | epot = -38.8671341843092 | etot = -30.6227380880195 +306000 ekin = 3.58519135856873 | erot = 4.40317156262038 | epot = -38.8961174826077 | etot = -30.9077545614186 +307000 ekin = 3.52830601019332 | erot = 4.12955816022909 | epot = -38.9381266871201 | etot = -31.2802625166977 +308000 ekin = 3.37444573697916 | erot = 3.65266283146942 | epot = -38.9820449321945 | etot = -31.9549363637459 +309000 ekin = 3.29877896595905 | erot = 4.06788139443827 | epot = -39.0365696198577 | etot = -31.6699092594604 +310000 ekin = 3.27216182566108 | erot = 3.86752279813189 | epot = -39.0649343092171 | etot = -31.9252496854241 +311000 ekin = 3.26050147382307 | erot = 3.90928978323579 | epot = -39.0580520931933 | etot = -31.8882608361345 +312000 ekin = 3.1848300908952 | erot = 3.90959546619215 | epot = -39.0257212693578 | etot = -31.9312957122705 +313000 ekin = 3.09609326591794 | erot = 3.75025646421268 | epot = -38.9535227577836 | etot = -32.107173027653 +314000 ekin = 2.95184537018541 | erot = 4.07381717812352 | epot = -38.8888909934781 | etot = -31.8632284451692 +315000 ekin = 2.92238623527564 | erot = 3.96815066682756 | epot = -38.8370494801766 | etot = -31.9465125780734 +316000 ekin = 2.71301507861594 | erot = 3.8080797893295 | epot = -38.7998345743978 | etot = -32.2787397064523 +317000 ekin = 2.71357150367643 | erot = 4.15190966526588 | epot = -38.7626719044114 | etot = -31.8971907354691 +318000 ekin = 2.62158267835355 | erot = 4.27134701113463 | epot = -38.7271070788674 | etot = -31.8341773893792 +319000 ekin = 2.55366548062856 | erot = 4.41350408683224 | epot = -38.7297464727615 | etot = -31.7625769053007 +320000 ekin = 2.4339724053854 | erot = 4.29070167476865 | epot = -38.7203908826319 | etot = -31.9957168024778 +321000 ekin = 2.40916961938935 | erot = 4.08120981437149 | epot = -38.7041016741434 | etot = -32.2137222403825 +322000 ekin = 2.40921951438688 | erot = 3.84656254092896 | epot = -38.6896664254557 | etot = -32.4338843701398 +323000 ekin = 2.47763175846145 | erot = 3.74024157191546 | epot = -38.6582034756257 | etot = -32.4403301452488 +324000 ekin = 2.50557286685252 | erot = 3.62726015904503 | epot = -38.6277589097221 | etot = -32.4949258838246 +325000 ekin = 2.46128003790462 | erot = 3.30955838055067 | epot = -38.61822105265 | etot = -32.8473826341947 +326000 ekin = 2.50360422224121 | erot = 3.11309077075955 | epot = -38.6155228491476 | etot = -32.9988278561469 +327000 ekin = 2.58559564340003 | erot = 3.03172964208493 | epot = -38.6235874334491 | etot = -33.0062621479641 +328000 ekin = 2.74984266079838 | erot = 3.02808338407911 | epot = -38.6550386035093 | etot = -32.8771125586319 +329000 ekin = 2.91966436364505 | erot = 2.9714434817756 | epot = -38.682045485323 | etot = -32.7909376399024 +330000 ekin = 3.01494295487819 | erot = 3.4413838499053 | epot = -38.7383158304585 | etot = -32.281989025675 +331000 ekin = 3.02442201542022 | erot = 3.78657407910222 | epot = -38.7939596216319 | etot = -31.9829635271095 +332000 ekin = 3.04445691127431 | erot = 3.82788901953126 | epot = -38.8517978078765 | etot = -31.9794518770709 +333000 ekin = 3.03465557138393 | erot = 3.68623317701479 | epot = -38.9019287356725 | etot = -32.1810399872737 +334000 ekin = 2.9809147586341 | erot = 3.87909097065051 | epot = -38.9429458678103 | etot = -32.0829401385257 +335000 ekin = 3.18730692360922 | erot = 3.92298153235814 | epot = -38.9915367606723 | etot = -31.8812483047049 +336000 ekin = 3.28082580011875 | erot = 4.25501923477967 | epot = -39.038294903881 | etot = -31.5024498689825 +337000 ekin = 3.33075954016491 | erot = 4.58632261209059 | epot = -39.0662594017921 | etot = -31.1491772495366 +338000 ekin = 3.31328438683341 | erot = 4.17966745642972 | epot = -39.0415239975115 | etot = -31.5485721542484 +339000 ekin = 3.33917527804132 | erot = 4.28130062815465 | epot = -38.9842917012714 | etot = -31.3638157950754 +340000 ekin = 3.33492148280264 | erot = 4.35651035139105 | epot = -38.8943885223068 | etot = -31.2029566881131 +341000 ekin = 3.3461417209637 | erot = 4.05115720989158 | epot = -38.7823758155587 | etot = -31.3850768847035 +342000 ekin = 3.34251507796689 | erot = 4.42814474655732 | epot = -38.6331517957714 | etot = -30.8624919712472 +343000 ekin = 3.20631341754623 | erot = 3.78967989344565 | epot = -38.4960486393224 | etot = -31.5000553283305 +344000 ekin = 3.07148244251166 | erot = 3.87583965670226 | epot = -38.3948328820768 | etot = -31.4475107828629 +345000 ekin = 3.09789874291718 | erot = 3.9946056524089 | epot = -38.3201974875894 | etot = -31.2276930922633 +346000 ekin = 3.0250008126834 | erot = 3.91508207831934 | epot = -38.2750630613601 | etot = -31.3349801703574 +347000 ekin = 2.94406849477781 | erot = 3.86229670162422 | epot = -38.2289722622904 | etot = -31.4226070658884 +348000 ekin = 2.95641250006446 | erot = 3.72625853383758 | epot = -38.1919210104045 | etot = -31.5092499765025 +349000 ekin = 3.03918076184492 | erot = 3.94202050743572 | epot = -38.1810668298085 | etot = -31.1998655605279 +350000 ekin = 3.09062612520409 | erot = 3.91215331884796 | epot = -38.2023245264387 | etot = -31.1995450823866 +351000 ekin = 3.13831719496483 | erot = 3.99916602553205 | epot = -38.2111529945909 | etot = -31.073669774094 +352000 ekin = 3.10196313130359 | erot = 3.92254342354132 | epot = -38.2543166357449 | etot = -31.2298100809 +353000 ekin = 3.17266611312447 | erot = 3.8947350963975 | epot = -38.3205511283306 | etot = -31.2531499188087 +354000 ekin = 3.20288707130899 | erot = 4.38957454856388 | epot = -38.3888699269269 | etot = -30.7964083070541 +355000 ekin = 3.15965957595978 | erot = 4.27393537405648 | epot = -38.4369161779509 | etot = -31.0033212279347 +356000 ekin = 3.01967844026133 | erot = 4.46559381130412 | epot = -38.4622452099032 | etot = -30.9769729583378 +357000 ekin = 2.97836465744991 | erot = 4.24123654484996 | epot = -38.4340474220208 | etot = -31.214446219721 +358000 ekin = 2.90298621775697 | erot = 4.00214290087714 | epot = -38.3669225243922 | etot = -31.4617934057581 +359000 ekin = 2.89703951576617 | erot = 3.75540528896971 | epot = -38.2596281019021 | etot = -31.6071832971662 +360000 ekin = 2.8951746897939 | erot = 3.69844688179068 | epot = -38.1408983158929 | etot = -31.5472767443083 +361000 ekin = 2.80138616808281 | erot = 3.38323529451493 | epot = -38.0246589917389 | etot = -31.8400375291412 +362000 ekin = 2.77162168417597 | erot = 2.91331523066534 | epot = -37.9398868290147 | etot = -32.2549499141734 +363000 ekin = 2.78539815378419 | erot = 2.68460040337592 | epot = -37.8665635409936 | etot = -32.3965649838335 +364000 ekin = 2.68067812192279 | erot = 2.78677391239245 | epot = -37.7617899033782 | etot = -32.2943378690629 +365000 ekin = 2.54070043685867 | erot = 2.83653994835764 | epot = -37.6554311404473 | etot = -32.278190755231 +366000 ekin = 2.41606481092133 | erot = 2.86609766611194 | epot = -37.5516282283376 | etot = -32.2694657513043 +367000 ekin = 2.46811866465482 | erot = 3.34221140329001 | epot = -37.4475028758825 | etot = -31.6371728079377 +368000 ekin = 2.42926223365496 | erot = 3.33046663396731 | epot = -37.3674460967944 | etot = -31.6077172291721 +369000 ekin = 2.43816169312797 | erot = 3.26459431026922 | epot = -37.3019788371043 | etot = -31.5992228337071 +370000 ekin = 2.46038177337534 | erot = 3.10066469966258 | epot = -37.2626057339964 | etot = -31.7015592609585 +371000 ekin = 2.4406243852624 | erot = 2.87778487491552 | epot = -37.2539180634396 | etot = -31.9355088032617 +372000 ekin = 2.41196438326736 | erot = 3.07515188922142 | epot = -37.3089635753533 | etot = -31.8218473028645 +373000 ekin = 2.48050565170792 | erot = 3.18196875652289 | epot = -37.4397878357734 | etot = -31.7773134275426 +374000 ekin = 2.6353068806194 | erot = 3.59156982435214 | epot = -37.5884648424034 | etot = -31.3615881374319 +375000 ekin = 2.68283894448276 | erot = 3.32451084068228 | epot = -37.7715422578283 | etot = -31.7641924726633 +376000 ekin = 2.79488034579927 | erot = 3.22988532668866 | epot = -38.000903910215 | etot = -31.976138237727 +377000 ekin = 2.97793932778653 | erot = 3.14879447385383 | epot = -38.2360750185569 | etot = -32.1093412169166 +378000 ekin = 3.04959845592839 | erot = 3.49481966296078 | epot = -38.5013695235685 | etot = -31.9569514046793 +379000 ekin = 3.1910641072712 | erot = 3.36561045250094 | epot = -38.7688607813369 | etot = -32.2121862215648 +380000 ekin = 3.25183572215737 | erot = 3.58875776192786 | epot = -39.0288452181145 | etot = -32.1882517340293 +381000 ekin = 3.33794215221605 | erot = 3.6933917756671 | epot = -39.3017064605084 | etot = -32.2703725326252 +382000 ekin = 3.49270190624151 | erot = 3.86829998834037 | epot = -39.5268729273467 | etot = -32.1658710327648 +383000 ekin = 3.55662169084786 | erot = 3.53333329088014 | epot = -39.7267791075158 | etot = -32.6368241257878 +384000 ekin = 3.69351012028553 | erot = 3.28268730044342 | epot = -39.878987472358 | etot = -32.9027900516291 +385000 ekin = 3.6873370603751 | erot = 3.68055641648018 | epot = -39.9998839253488 | etot = -32.6319904484935 +386000 ekin = 3.71694831249288 | erot = 3.79434784508072 | epot = -40.0869801892987 | etot = -32.5756840317251 +387000 ekin = 3.76861509268675 | erot = 3.88558369375098 | epot = -40.1715737743674 | etot = -32.5173749879297 +388000 ekin = 3.83017606883369 | erot = 4.20859412334364 | epot = -40.2007323597246 | etot = -32.1619621675473 +389000 ekin = 3.86768485031755 | erot = 3.99003783907115 | epot = -40.1899129305041 | etot = -32.3321902411154 +390000 ekin = 3.97485559059836 | erot = 3.73907035926323 | epot = -40.1534652302145 | etot = -32.4395392803529 +391000 ekin = 3.99255423920733 | erot = 3.4598541410162 | epot = -40.0955220791988 | etot = -32.6431136989752 +392000 ekin = 4.01983776245659 | erot = 3.68425742647522 | epot = -39.9999647918603 | etot = -32.2958696029285 +393000 ekin = 4.02356764424238 | erot = 3.83787437414739 | epot = -39.8549016020689 | etot = -31.9934595836791 +394000 ekin = 3.93980876114311 | erot = 3.99211744164141 | epot = -39.7011477670265 | etot = -31.769221564242 +395000 ekin = 4.11174368478708 | erot = 3.75033473410268 | epot = -39.5451859148434 | etot = -31.6831074959536 +396000 ekin = 4.20376876107151 | erot = 3.67040632781378 | epot = -39.3948809980869 | etot = -31.5207059092016 +397000 ekin = 4.1363357284298 | erot = 3.65151581957621 | epot = -39.2564297317577 | etot = -31.4685781837517 +398000 ekin = 4.13905245601608 | erot = 3.71620600673377 | epot = -39.093596770216 | etot = -31.2383383074661 +399000 ekin = 4.10332411545508 | erot = 3.71374971681594 | epot = -38.9205234935041 | etot = -31.1034496612331 +400000 ekin = 4.0676601690846 | erot = 3.4213950465438 | epot = -38.7497473150008 | etot = -31.2606920993724 +401000 ekin = 3.9728416411198 | erot = 3.81120481171758 | epot = -38.6001977504162 | etot = -30.8161512975788 +402000 ekin = 3.90587383547448 | erot = 3.5341882621858 | epot = -38.4681757167875 | etot = -31.0281136191273 +403000 ekin = 3.91259869514543 | erot = 3.637386391841 | epot = -38.3230308363683 | etot = -30.7730457493819 +404000 ekin = 3.79936006877817 | erot = 3.32641249272551 | epot = -38.2009092385688 | etot = -31.0751366770651 +405000 ekin = 3.82517596801147 | erot = 3.13064904024263 | epot = -38.1553776059003 | etot = -31.1995525976462 +406000 ekin = 3.73725599382596 | erot = 3.08306268157758 | epot = -38.1316917306566 | etot = -31.3113730552531 +407000 ekin = 3.72651775045891 | erot = 3.09861818078628 | epot = -38.1634910279952 | etot = -31.33835509675 +408000 ekin = 3.79931976439455 | erot = 3.25718386016379 | epot = -38.2217683212397 | etot = -31.1652646966813 +409000 ekin = 3.95093187918723 | erot = 3.43950409776017 | epot = -38.2689453197332 | etot = -30.8785093427858 +410000 ekin = 4.07121708138893 | erot = 3.83760071106065 | epot = -38.3189798432044 | etot = -30.4101620507548 +411000 ekin = 4.2330797855817 | erot = 3.98162063698068 | epot = -38.3721329673505 | etot = -30.1574325447882 +412000 ekin = 4.24117080814308 | erot = 3.9973719347696 | epot = -38.4124767699444 | etot = -30.1739340270317 +413000 ekin = 4.23580670923557 | erot = 3.81064398502802 | epot = -38.4212920990953 | etot = -30.3748414048317 +414000 ekin = 4.27445938143094 | erot = 3.98124541320507 | epot = -38.4106571527343 | etot = -30.1549523580983 +415000 ekin = 4.388994790051 | erot = 3.80279226112407 | epot = -38.3596783722966 | etot = -30.1678913211216 +416000 ekin = 4.45628965411069 | erot = 3.63102956113301 | epot = -38.3042311126169 | etot = -30.2169118973732 +417000 ekin = 4.49028461121071 | erot = 3.62754419666011 | epot = -38.2583198089302 | etot = -30.1404910010594 +418000 ekin = 4.45936601962006 | erot = 3.71144506663867 | epot = -38.1813464675299 | etot = -30.0105353812712 +419000 ekin = 4.38379837521009 | erot = 3.33513327030929 | epot = -38.0724868069421 | etot = -30.3535551614227 +420000 ekin = 4.283111933024 | erot = 3.09826419668627 | epot = -37.9370678690099 | etot = -30.5556917392996 +421000 ekin = 4.15248097510599 | erot = 3.56237827808249 | epot = -37.7709210423884 | etot = -30.0560617891999 +422000 ekin = 3.95490687211586 | erot = 3.47480957997355 | epot = -37.5854884820711 | etot = -30.1557720299817 +423000 ekin = 3.91714305790352 | erot = 3.48476286323411 | epot = -37.3949936437695 | etot = -29.9930877226319 +424000 ekin = 3.84213202460282 | erot = 3.52777059768047 | epot = -37.2158434462619 | etot = -29.8459408239786 +425000 ekin = 3.71924289661379 | erot = 3.3366360966062 | epot = -37.0722526001231 | etot = -30.0163736069031 +426000 ekin = 3.64441997260638 | erot = 3.3622793544102 | epot = -36.9667678357552 | etot = -29.9600685087386 +427000 ekin = 3.75655721345773 | erot = 3.37897054079372 | epot = -36.8611280898054 | etot = -29.725600335554 +428000 ekin = 3.74409443646511 | erot = 3.17732872354239 | epot = -36.742715037602 | etot = -29.8212918775945 +429000 ekin = 3.66329028317848 | erot = 2.78764787478689 | epot = -36.6486255145436 | etot = -30.1976873565782 +430000 ekin = 3.62135290496431 | erot = 2.67337975160585 | epot = -36.5606041515419 | etot = -30.2658714949718 +431000 ekin = 3.61616361793039 | erot = 2.69754710014207 | epot = -36.506732939117 | etot = -30.1930222210445 +432000 ekin = 3.49552617760814 | erot = 3.08491352170466 | epot = -36.485170074763 | etot = -29.9047303754502 +433000 ekin = 3.58020816083934 | erot = 2.88002256286323 | epot = -36.5217696117553 | etot = -30.0615388880528 +434000 ekin = 3.59867849318961 | erot = 3.08407973313556 | epot = -36.6202495320039 | etot = -29.9374913056787 +435000 ekin = 3.67331527289028 | erot = 3.42657552434431 | epot = -36.7488916307825 | etot = -29.6490008335479 +436000 ekin = 3.82088042289265 | erot = 3.6544744236991 | epot = -36.9085622220518 | etot = -29.4332073754601 +437000 ekin = 3.8686942167376 | erot = 3.9547028707988 | epot = -37.0720316005958 | etot = -29.2486345130594 +438000 ekin = 4.11090595842079 | erot = 3.77540801446856 | epot = -37.2088542252226 | etot = -29.3225402523332 +439000 ekin = 4.12926159073598 | erot = 4.06917140325898 | epot = -37.3517590512211 | etot = -29.1533260572261 +440000 ekin = 4.09029177261519 | erot = 4.1498129956529 | epot = -37.4912988817269 | etot = -29.2511941134589 +441000 ekin = 4.14485979348676 | erot = 4.37283240826401 | epot = -37.6181493098546 | etot = -29.1004571081038 +442000 ekin = 4.12304009572835 | erot = 4.39045893698218 | epot = -37.7155315750663 | etot = -29.2020325423558 +443000 ekin = 4.23471751438722 | erot = 4.14989601608929 | epot = -37.768614271265 | etot = -29.3840007407884 +444000 ekin = 4.35772646838213 | erot = 4.52232474512896 | epot = -37.7816885908051 | etot = -28.901637377294 +445000 ekin = 4.39118784053251 | erot = 4.66570824296103 | epot = -37.7439950146597 | etot = -28.6870989311661 +446000 ekin = 4.3967592176502 | erot = 4.46936063153373 | epot = -37.6960851354907 | etot = -28.8299652863068 +447000 ekin = 4.35336664890431 | erot = 4.44173113672768 | epot = -37.6140263912413 | etot = -28.8189286056093 +448000 ekin = 4.28498441172967 | erot = 4.19781838322426 | epot = -37.5090341348628 | etot = -29.0262313399088 +449000 ekin = 4.31763982219639 | erot = 4.52832551746767 | epot = -37.408401745433 | etot = -28.562436405769 +450000 ekin = 4.34138928411246 | erot = 4.4425856403743 | epot = -37.3062489259439 | etot = -28.5222740014571 +451000 ekin = 4.30985185878589 | erot = 4.23825662962939 | epot = -37.1459619150062 | etot = -28.5978534265909 +452000 ekin = 4.32592045036082 | erot = 3.86602766630272 | epot = -36.9847035634509 | etot = -28.7927554467874 +453000 ekin = 4.32845268851047 | erot = 3.54171363095611 | epot = -36.8340779762826 | etot = -28.963911656816 +454000 ekin = 4.31011457813686 | erot = 3.79537837348586 | epot = -36.7199830616561 | etot = -28.6144901100334 +455000 ekin = 4.29550433639196 | erot = 3.85241036204662 | epot = -36.6489739160373 | etot = -28.5010592175987 +456000 ekin = 4.37032742709179 | erot = 4.00721124204766 | epot = -36.6190063800959 | etot = -28.2414677109564 +457000 ekin = 4.3642647028677 | erot = 3.8563715204494 | epot = -36.5969553476855 | etot = -28.3763191243684 +458000 ekin = 4.32567014378598 | erot = 3.50123530464571 | epot = -36.5630453883139 | etot = -28.7361399398822 +459000 ekin = 4.38933815738648 | erot = 3.57401843708542 | epot = -36.5693343587045 | etot = -28.6059777642326 +460000 ekin = 4.31317855607471 | erot = 4.09613513000604 | epot = -36.622903135654 | etot = -28.2135894495732 +461000 ekin = 4.31811012640158 | erot = 4.38273826542212 | epot = -36.7024780237704 | etot = -28.0016296319467 +462000 ekin = 4.3366863876999 | erot = 4.51374491218818 | epot = -36.8227361919452 | etot = -27.9723048920571 +463000 ekin = 4.27564269849647 | erot = 4.86202296781308 | epot = -36.9415310835087 | etot = -27.8038654171991 +464000 ekin = 4.2570485657353 | erot = 4.74085846897254 | epot = -37.0390079052473 | etot = -28.0411008705395 +465000 ekin = 4.27536374407081 | erot = 4.49932366093901 | epot = -37.1090432428535 | etot = -28.3343558378437 +466000 ekin = 4.30607368146059 | erot = 4.23786653917903 | epot = -37.1491605127939 | etot = -28.6052202921542 +467000 ekin = 4.24919786200451 | erot = 4.12771930877703 | epot = -37.1714598423966 | etot = -28.7945426716151 +468000 ekin = 4.39683218085583 | erot = 3.85228521386554 | epot = -37.2088712844975 | etot = -28.9597538897762 +469000 ekin = 4.64124419278975 | erot = 3.80754439193715 | epot = -37.2767302220321 | etot = -28.8279416373053 +470000 ekin = 4.66178408905666 | erot = 3.92065938428506 | epot = -37.3876740781877 | etot = -28.805230604846 +471000 ekin = 4.75392904131979 | erot = 4.24739494727089 | epot = -37.5007122646076 | etot = -28.499388276017 +472000 ekin = 4.78287126449286 | erot = 4.29738258008787 | epot = -37.5977046601012 | etot = -28.5174508155204 +473000 ekin = 4.83746609770177 | erot = 4.38666527032479 | epot = -37.6671790710827 | etot = -28.4430477030562 +474000 ekin = 4.79054197671375 | erot = 4.34169424272135 | epot = -37.6856820094294 | etot = -28.5534457899944 +475000 ekin = 4.83235787688145 | erot = 4.2178840657501 | epot = -37.6508263787863 | etot = -28.6005844361548 +476000 ekin = 4.77650421806816 | erot = 4.23519664592594 | epot = -37.5559363402038 | etot = -28.5442354762097 +477000 ekin = 4.70149228687156 | erot = 3.9495520600404 | epot = -37.4316333722385 | etot = -28.7805890253266 +478000 ekin = 4.6582861234462 | erot = 3.52306589214545 | epot = -37.3056353897914 | etot = -29.1242833741998 +479000 ekin = 4.49034904671764 | erot = 3.69691237093671 | epot = -37.1645007343035 | etot = -28.9772393166492 +480000 ekin = 4.42035953830882 | erot = 3.62614880736061 | epot = -36.985533653495 | etot = -28.9390253078256 +481000 ekin = 4.29236052675561 | erot = 3.46283113670748 | epot = -36.7788376766182 | etot = -29.0236460131551 +482000 ekin = 4.24695006747712 | erot = 3.64617122659712 | epot = -36.5783264764334 | etot = -28.6852051823592 +483000 ekin = 4.27724439911408 | erot = 3.65906944039053 | epot = -36.4031794376631 | etot = -28.4668655981585 +484000 ekin = 4.2785974211618 | erot = 3.80998418987602 | epot = -36.2601336102697 | etot = -28.1715519992319 +485000 ekin = 4.2129183719994 | erot = 3.84278230442229 | epot = -36.1415033158633 | etot = -28.0858026394416 +486000 ekin = 3.98392526407069 | erot = 3.69687119417301 | epot = -36.0420007851878 | etot = -28.3612043269441 +487000 ekin = 3.87685523954233 | erot = 3.52087214489101 | epot = -35.979017993688 | etot = -28.5812906092547 +488000 ekin = 3.74675884240033 | erot = 3.80072807053011 | epot = -35.9652058586036 | etot = -28.4177189456731 +489000 ekin = 3.61099051841836 | erot = 4.09702697313296 | epot = -35.988768679933 | etot = -28.2807511883817 +490000 ekin = 3.72073699277812 | erot = 3.89157882585036 | epot = -36.0103724524786 | etot = -28.3980566338501 +491000 ekin = 3.72740917275109 | erot = 4.01795497893011 | epot = -36.0292354570355 | etot = -28.2838713053543 +492000 ekin = 3.67547789628851 | erot = 3.85969822517323 | epot = -36.0430681478951 | etot = -28.5078920264333 +493000 ekin = 3.65198421841216 | erot = 3.75518718738367 | epot = -36.0824152706774 | etot = -28.6752438648816 +494000 ekin = 3.48528219984848 | erot = 3.81535508778541 | epot = -36.142371045584 | etot = -28.8417337579501 +495000 ekin = 3.31359070882194 | erot = 4.11558724766118 | epot = -36.226868438371 | etot = -28.7976904818878 +496000 ekin = 3.27798311005954 | erot = 3.88806115727325 | epot = -36.3363270902382 | etot = -29.1702828229054 +497000 ekin = 3.23000081873801 | erot = 4.53153851783412 | epot = -36.4817201831143 | etot = -28.7201808465422 +498000 ekin = 3.35490986062519 | erot = 4.76314991175258 | epot = -36.6514686581239 | etot = -28.5334088857461 +499000 ekin = 3.39102564180484 | erot = 4.99058516868931 | epot = -36.8025368986549 | etot = -28.4209260881608 +500000 ekin = 3.44319922277983 | erot = 4.29432196305735 | epot = -36.9177193599233 | etot = -29.1801981740861 +501000 ekin = 3.47746008955494 | erot = 4.28994173802794 | epot = -37.0187053512326 | etot = -29.2513035236497 +502000 ekin = 3.58696948456737 | erot = 4.55410136617397 | epot = -37.1018103829438 | etot = -28.9607395322024 +503000 ekin = 3.68317380855577 | erot = 4.60652443433627 | epot = -37.1620776601797 | etot = -28.8723794172877 +504000 ekin = 3.6885205301443 | erot = 4.67783023002248 | epot = -37.2052759454199 | etot = -28.8389251852531 +505000 ekin = 3.88723268453857 | erot = 4.53079850437648 | epot = -37.2950608294682 | etot = -28.8770296405532 +506000 ekin = 3.80925396925157 | erot = 4.47086505886196 | epot = -37.3479933337837 | etot = -29.0678743056702 +507000 ekin = 3.73248519551987 | erot = 4.21393839264126 | epot = -37.4256513139283 | etot = -29.4792277257672 +508000 ekin = 3.8067276018406 | erot = 3.9370807937698 | epot = -37.4951091449467 | etot = -29.7513007493363 +509000 ekin = 3.8008699116461 | erot = 3.74333566662482 | epot = -37.5406480313394 | etot = -29.9964424530685 +510000 ekin = 3.89850649197984 | erot = 3.97775581109479 | epot = -37.5934385426631 | etot = -29.7171762395885 +511000 ekin = 3.81393185765474 | erot = 4.00469160928629 | epot = -37.6349932199755 | etot = -29.8163697530345 +512000 ekin = 3.76843962846378 | erot = 4.34524756747803 | epot = -37.6787808921542 | etot = -29.5650936962124 +513000 ekin = 3.70769437024756 | erot = 4.19222442242662 | epot = -37.7114576947708 | etot = -29.8115389020966 +514000 ekin = 3.65606306228185 | erot = 4.64296237641009 | epot = -37.7095823242884 | etot = -29.4105568855964 +515000 ekin = 3.50522818557459 | erot = 4.47916848114082 | epot = -37.6783049637299 | etot = -29.6939082970145 +516000 ekin = 3.59266443877116 | erot = 5.02978018029486 | epot = -37.647700985069 | etot = -29.0252563660029 +517000 ekin = 3.53729866959076 | erot = 4.95641997732809 | epot = -37.6445412669913 | etot = -29.1508226200724 +518000 ekin = 3.5534169530515 | erot = 4.5751245967427 | epot = -37.6532745224311 | etot = -29.5247329726369 +519000 ekin = 3.61605940841979 | erot = 4.59842321288977 | epot = -37.7181887221252 | etot = -29.5037061008156 +520000 ekin = 3.6600358073691 | erot = 4.52802897844129 | epot = -37.8184531846625 | etot = -29.6303883988521 +521000 ekin = 3.57990395101953 | erot = 4.58686564429516 | epot = -37.9529160430904 | etot = -29.7861464477757 +522000 ekin = 3.587210173505 | erot = 4.78958389957781 | epot = -38.1056938634056 | etot = -29.7288997903228 +523000 ekin = 3.74553748952041 | erot = 4.82242710318173 | epot = -38.2496598519462 | etot = -29.6816952592441 +524000 ekin = 3.83672965572981 | erot = 5.17806255755526 | epot = -38.3420385705453 | etot = -29.3272463572603 +525000 ekin = 3.97426514986081 | erot = 5.13820563111665 | epot = -38.4306455211978 | etot = -29.3181747402203 +526000 ekin = 4.03278131821155 | erot = 4.61480893928533 | epot = -38.4813375347265 | etot = -29.8337472772296 +527000 ekin = 4.15303805139346 | erot = 4.03339974605304 | epot = -38.4813261438673 | etot = -30.2948883464208 +528000 ekin = 4.34085606106398 | erot = 3.6341604993604 | epot = -38.4621670653442 | etot = -30.4871505049199 +529000 ekin = 4.53593485604716 | erot = 3.72087643644196 | epot = -38.4175016483558 | etot = -30.1606903558667 +530000 ekin = 4.6583694532253 | erot = 3.58233700504177 | epot = -38.3861765288021 | etot = -30.145470070535 +531000 ekin = 4.66519878740331 | erot = 3.4109494773408 | epot = -38.3363103504892 | etot = -30.2601620857451 +532000 ekin = 4.80041164317301 | erot = 3.07760528500131 | epot = -38.3151265786574 | etot = -30.4371096504831 +533000 ekin = 4.73180745168962 | erot = 3.06230961560369 | epot = -38.3468719461379 | etot = -30.5527548788445 +534000 ekin = 4.77276572097031 | erot = 3.01963113043194 | epot = -38.4024212860539 | etot = -30.6100244346517 +535000 ekin = 4.85693928494795 | erot = 2.82516321047269 | epot = -38.5360450508863 | etot = -30.8539425554656 +536000 ekin = 4.79265980947601 | erot = 2.9077544610961 | epot = -38.7196748122559 | etot = -31.0192605416837 +537000 ekin = 4.86947955762472 | erot = 3.00989555981226 | epot = -38.9076102830992 | etot = -31.0282351656622 +538000 ekin = 5.00269155741137 | erot = 2.68875189029913 | epot = -39.0473675460743 | etot = -31.3559240983638 +539000 ekin = 4.98226102919755 | erot = 2.92188829969373 | epot = -39.1655668480607 | etot = -31.2614175191695 +540000 ekin = 4.99147016878249 | erot = 3.35574385805744 | epot = -39.2596960810254 | etot = -30.9124820541854 +541000 ekin = 4.92725844601457 | erot = 3.28345034188324 | epot = -39.3089899760125 | etot = -31.0982811881147 +542000 ekin = 4.77242859226878 | erot = 3.31966912230265 | epot = -39.2902384371049 | etot = -31.1981407225335 +543000 ekin = 4.65726157165108 | erot = 3.56099171692951 | epot = -39.1715392323122 | etot = -30.9532859437317 +544000 ekin = 4.75158561074898 | erot = 2.98586301386343 | epot = -39.0000211966265 | etot = -31.2625725720141 +545000 ekin = 4.71389651780209 | erot = 3.29722166624287 | epot = -38.8124009343345 | etot = -30.8012827502895 +546000 ekin = 4.59452933616222 | erot = 3.65785900566392 | epot = -38.6597531372893 | etot = -30.4073647954631 +547000 ekin = 4.49485576841334 | erot = 3.5222715668964 | epot = -38.5261493757312 | etot = -30.5090220404215 +548000 ekin = 4.49472654055116 | erot = 3.49603087938253 | epot = -38.3944216290947 | etot = -30.403664209161 +549000 ekin = 4.39213180937528 | erot = 3.5322876385525 | epot = -38.2774675964381 | etot = -30.3530481485103 +550000 ekin = 4.36283999146778 | erot = 3.787764410361 | epot = -38.2051317998102 | etot = -30.0545273979814 +551000 ekin = 4.3226010693822 | erot = 4.01133252124214 | epot = -38.1611801425639 | etot = -29.8272465519396 +552000 ekin = 4.3318351566455 | erot = 3.98124414472587 | epot = -38.1537721388025 | etot = -29.8406928374311 +553000 ekin = 4.30534974680463 | erot = 3.81209066755031 | epot = -38.1803693007093 | etot = -30.0629288863544 +554000 ekin = 4.29335219580303 | erot = 3.8021354596393 | epot = -38.2389597407396 | etot = -30.1434720852972 +555000 ekin = 4.45825549052375 | erot = 4.03672150414351 | epot = -38.3296083261043 | etot = -29.834631331437 +556000 ekin = 4.63230188756508 | erot = 3.70797489704063 | epot = -38.4795834327919 | etot = -30.1393066481862 +557000 ekin = 4.70622293985813 | erot = 4.51036732636205 | epot = -38.673884289528 | etot = -29.4572940233078 +558000 ekin = 4.70612532334171 | erot = 4.30314260207033 | epot = -38.9099036274271 | etot = -29.9006357020151 +559000 ekin = 4.85842132468142 | erot = 4.45569884582891 | epot = -39.1571701897086 | etot = -29.8430500191982 +560000 ekin = 4.84667483493845 | erot = 4.2909749826348 | epot = -39.3692871188963 | etot = -30.2316373013231 +561000 ekin = 4.93080663772518 | erot = 4.40964672372494 | epot = -39.5560309503474 | etot = -30.2155775888973 +562000 ekin = 5.02786763240476 | erot = 4.09895267825206 | epot = -39.6620959555469 | etot = -30.53527564489 +563000 ekin = 4.99483060861833 | erot = 4.56393029644419 | epot = -39.7001867829014 | etot = -30.1414258778389 +564000 ekin = 5.01292656089539 | erot = 4.46559434127762 | epot = -39.6969046345991 | etot = -30.2183837324261 +565000 ekin = 4.97924499589812 | erot = 4.5676410286713 | epot = -39.6391307119518 | etot = -30.0922446873824 +566000 ekin = 4.80472039327365 | erot = 4.49618530358125 | epot = -39.5320142538579 | etot = -30.231108557003 +567000 ekin = 4.59721417192406 | erot = 4.44898156673779 | epot = -39.3835091139998 | etot = -30.337313375338 +568000 ekin = 4.59948947791999 | erot = 4.21619266891997 | epot = -39.1697350851652 | etot = -30.3540529383253 +569000 ekin = 4.46814520025957 | erot = 4.13625120915532 | epot = -38.9496016480665 | etot = -30.3452052386516 +570000 ekin = 4.6338057410939 | erot = 3.97471689520409 | epot = -38.718728428018 | etot = -30.11020579172 +571000 ekin = 4.51646555902291 | erot = 3.77943581302538 | epot = -38.5103017941539 | etot = -30.2144004221056 +572000 ekin = 4.44329973394615 | erot = 3.73818983971042 | epot = -38.3513010282128 | etot = -30.1698114545562 +573000 ekin = 4.48138796166313 | erot = 3.67030746094229 | epot = -38.2531080005807 | etot = -30.1014125779753 +574000 ekin = 4.57372019352182 | erot = 3.64740839838085 | epot = -38.1563476897671 | etot = -29.9352190978644 +575000 ekin = 4.81962720354443 | erot = 3.58128135189792 | epot = -38.0780197446128 | etot = -29.6771111891705 +576000 ekin = 4.78739960955902 | erot = 3.1694164956898 | epot = -38.0548669136926 | etot = -30.0980508084438 +577000 ekin = 4.89624137933457 | erot = 3.37301453509222 | epot = -38.0581159208701 | etot = -29.7888600064433 +578000 ekin = 4.89993171052275 | erot = 3.39468878464195 | epot = -38.0636938795356 | etot = -29.7690733843709 +579000 ekin = 4.83297661461382 | erot = 3.08572772864728 | epot = -38.0577731810635 | etot = -30.1390688378024 +580000 ekin = 4.77298411404112 | erot = 3.09603380464131 | epot = -38.0675771405195 | etot = -30.198559221837 +581000 ekin = 4.96965435170546 | erot = 3.06610493080439 | epot = -38.0894896837322 | etot = -30.0537304012223 +582000 ekin = 4.84477580774073 | erot = 2.9927320347077 | epot = -38.1047755328767 | etot = -30.2672676904283 +583000 ekin = 4.80184612340932 | erot = 2.99121545039786 | epot = -38.0992283827672 | etot = -30.30616680896 +584000 ekin = 4.73999729115049 | erot = 2.95820256140574 | epot = -38.1193022601922 | etot = -30.421102407636 +585000 ekin = 4.62963491646152 | erot = 2.99096158598537 | epot = -38.1514766562945 | etot = -30.5308801538476 +586000 ekin = 4.66196804986673 | erot = 3.11428540249498 | epot = -38.1645218154685 | etot = -30.3882683631068 +587000 ekin = 4.58446438916328 | erot = 3.26198289890953 | epot = -38.1451310277745 | etot = -30.2986837397017 +588000 ekin = 4.59050554157104 | erot = 3.3726754228907 | epot = -38.0928945920965 | etot = -30.1297136276347 +589000 ekin = 4.52148456601111 | erot = 3.20426810396365 | epot = -38.0431145518048 | etot = -30.31736188183 +590000 ekin = 4.54292012494668 | erot = 3.17466615888884 | epot = -37.9867331121616 | etot = -30.2691468283261 +591000 ekin = 4.4671534284139 | erot = 3.30654504351686 | epot = -37.9702893954324 | etot = -30.1965909235016 +592000 ekin = 4.47491098921977 | erot = 3.6999642514398 | epot = -37.9696400527198 | etot = -29.7947648120603 +593000 ekin = 4.43506697623667 | erot = 3.70250326611386 | epot = -37.982672172325 | etot = -29.8451019299745 +594000 ekin = 4.36908136306914 | erot = 3.59308231950695 | epot = -38.0038521048194 | etot = -30.0416884222434 +595000 ekin = 4.30615021787055 | erot = 3.60547435881493 | epot = -38.0517692624258 | etot = -30.1401446857403 +596000 ekin = 4.27538703974133 | erot = 3.70718417029047 | epot = -38.1072020006232 | etot = -30.1246307905914 +597000 ekin = 4.09427835861052 | erot = 3.56040857145023 | epot = -38.1368054718235 | etot = -30.4821185417627 +598000 ekin = 4.06772969179112 | erot = 3.98852753231066 | epot = -38.1357675039157 | etot = -30.0795102798139 +599000 ekin = 4.05823661502987 | erot = 3.99204411848289 | epot = -38.094416622612 | etot = -30.0441358890992 +600000 ekin = 4.14000207696597 | erot = 3.69886036268669 | epot = -38.0126500071595 | etot = -30.1737875675069 +601000 ekin = 4.14331251606211 | erot = 4.02012885446817 | epot = -37.8931408419344 | etot = -29.7296994714041 +602000 ekin = 4.19175322865712 | erot = 3.63789752518651 | epot = -37.776838230476 | etot = -29.9471874766323 +603000 ekin = 4.17700109074307 | erot = 3.33190102346871 | epot = -37.6571796612341 | etot = -30.1482775470223 +604000 ekin = 4.32110078335233 | erot = 3.37359972635292 | epot = -37.5481087406156 | etot = -29.8534082309104 +605000 ekin = 4.40829637956691 | erot = 3.12232098209617 | epot = -37.4615593717342 | etot = -29.9309420100711 +606000 ekin = 4.50978571460466 | erot = 2.82903034171751 | epot = -37.4107566252708 | etot = -30.0719405689486 +607000 ekin = 4.64775510562427 | erot = 2.72855004395386 | epot = -37.3886864614938 | etot = -30.0123813119157 +608000 ekin = 4.62515883775198 | erot = 2.69276686565725 | epot = -37.3472679127841 | etot = -30.0293422093749 +609000 ekin = 4.58072072733855 | erot = 2.72618151323734 | epot = -37.321155518993 | etot = -30.0142532784171 +610000 ekin = 4.37064710749545 | erot = 2.94205446769438 | epot = -37.3313655411415 | etot = -30.0186639659516 +611000 ekin = 4.30243700562366 | erot = 2.94482669781544 | epot = -37.3282578261779 | etot = -30.0809941227388 +612000 ekin = 4.37982748485343 | erot = 2.81236690797516 | epot = -37.3366791579241 | etot = -30.1444847650955 +613000 ekin = 4.49298433908216 | erot = 2.9422949922611 | epot = -37.3617837170398 | etot = -29.9265043856965 +614000 ekin = 4.63192250195893 | erot = 2.81948937077719 | epot = -37.3623397651558 | etot = -29.9109278924196 +615000 ekin = 4.56431794922697 | erot = 3.04112038174076 | epot = -37.336047475673 | etot = -29.7306091447052 +616000 ekin = 4.48538645093142 | erot = 2.9863679461823 | epot = -37.2843360454655 | etot = -29.8125816483518 +617000 ekin = 4.35777724185516 | erot = 3.27046740448593 | epot = -37.2149609045279 | etot = -29.5867162581868 +618000 ekin = 4.13929013645538 | erot = 3.31436963968885 | epot = -37.1380165806135 | etot = -29.6843568044692 +619000 ekin = 3.99812604761947 | erot = 3.80697216179629 | epot = -37.0480074184855 | etot = -29.2429092090698 +620000 ekin = 3.75775297824752 | erot = 3.88935078371487 | epot = -37.0016709350122 | etot = -29.3545671730499 +621000 ekin = 3.59837254942666 | erot = 3.36974253347195 | epot = -36.957139996861 | etot = -29.9890249139623 +622000 ekin = 3.52853751549673 | erot = 3.57220920853453 | epot = -36.9826672270778 | etot = -29.8819205030465 +623000 ekin = 3.44776927445729 | erot = 3.68524482792415 | epot = -37.0520182183617 | etot = -29.9190041159803 +624000 ekin = 3.42459051153801 | erot = 4.10039189185601 | epot = -37.1561365046956 | etot = -29.6311541013016 +625000 ekin = 3.47427533928241 | erot = 4.19316198399256 | epot = -37.3128709391509 | etot = -29.6454336158759 +626000 ekin = 3.59243588690051 | erot = 4.25331544595908 | epot = -37.4538356021372 | etot = -29.6080842692777 +627000 ekin = 3.65834270574544 | erot = 3.84587709669875 | epot = -37.5560189371568 | etot = -30.0517991347126 +628000 ekin = 3.70047562334568 | erot = 3.6882110278348 | epot = -37.6346624168372 | etot = -30.2459757656567 +629000 ekin = 3.73516234913422 | erot = 3.92476956261677 | epot = -37.7008434862915 | etot = -30.0409115745406 +630000 ekin = 3.81181204861746 | erot = 3.95913149926753 | epot = -37.7335643601767 | etot = -29.9626208122917 +631000 ekin = 3.81645534702365 | erot = 3.13210702566911 | epot = -37.7706097068458 | etot = -30.822047334153 +632000 ekin = 3.83367227377576 | erot = 3.16390787891888 | epot = -37.8179976528052 | etot = -30.8204175001106 +633000 ekin = 3.78875173101125 | erot = 3.28627876080398 | epot = -37.8551980571897 | etot = -30.7801675653744 +634000 ekin = 3.64435724345663 | erot = 3.54689069849326 | epot = -37.8771184407042 | etot = -30.6858704987543 +635000 ekin = 3.74927918910687 | erot = 3.50067245026001 | epot = -37.9120332365853 | etot = -30.6620815972185 +636000 ekin = 3.89890106913056 | erot = 3.51590480850453 | epot = -37.9883703460318 | etot = -30.5735644683968 +637000 ekin = 3.98051852239104 | erot = 3.51683885701821 | epot = -38.1188954220068 | etot = -30.6215380425976 +638000 ekin = 4.1867925219674 | erot = 3.48363716100457 | epot = -38.3003898519922 | etot = -30.6299601690202 +639000 ekin = 4.29259370089831 | erot = 3.44532403016783 | epot = -38.5009165327295 | etot = -30.7629988016634 +640000 ekin = 4.33862023546758 | erot = 3.61400248687526 | epot = -38.6627935284701 | etot = -30.7101708061272 +641000 ekin = 4.47895119284624 | erot = 3.60758277909094 | epot = -38.7986251266558 | etot = -30.7120911547187 +642000 ekin = 4.48471207018763 | erot = 3.75535910837196 | epot = -38.863620414876 | etot = -30.6235492363164 +643000 ekin = 4.56445558617355 | erot = 3.81552004634157 | epot = -38.8645537025225 | etot = -30.4845780700074 +644000 ekin = 4.73329478475728 | erot = 3.55885168491639 | epot = -38.8054956282291 | etot = -30.5133491585554 +645000 ekin = 4.6912943962558 | erot = 3.28200064721723 | epot = -38.701547429741 | etot = -30.7282523862679 +646000 ekin = 4.58583002001323 | erot = 3.4085956946329 | epot = -38.5478616511678 | etot = -30.5534359365217 +647000 ekin = 4.60741071742923 | erot = 3.38831322436691 | epot = -38.3932861693425 | etot = -30.3975622275464 +648000 ekin = 4.51463144345976 | erot = 3.2427410033314 | epot = -38.2758434893353 | etot = -30.5184710425442 +649000 ekin = 4.55491099792929 | erot = 3.3173810530716 | epot = -38.2201110845429 | etot = -30.347819033542 +650000 ekin = 4.67226589728798 | erot = 3.60950811156257 | epot = -38.2202225605509 | etot = -29.9384485517004 +651000 ekin = 4.60851815831642 | erot = 3.77278937705233 | epot = -38.2536330995444 | etot = -29.8723255641757 +652000 ekin = 4.678459200191 | erot = 3.3937624009624 | epot = -38.2868824175937 | etot = -30.2146608164403 +653000 ekin = 4.66844839257089 | erot = 3.83803199311166 | epot = -38.3235322989536 | etot = -29.817051913271 +654000 ekin = 4.7104895331932 | erot = 3.48299287365129 | epot = -38.3580887397253 | etot = -30.1646063328808 +655000 ekin = 4.59645355598621 | erot = 3.7478202528204 | epot = -38.4145657066933 | etot = -30.0702918978867 +656000 ekin = 4.75902771581097 | erot = 3.81874385847384 | epot = -38.4693742928374 | etot = -29.8916027185526 +657000 ekin = 4.64668020593031 | erot = 3.6665600106013 | epot = -38.4843211797294 | etot = -30.1710809631978 +658000 ekin = 4.5583600187507 | erot = 3.93329833863019 | epot = -38.4803826070965 | etot = -29.9887242497156 +659000 ekin = 4.55537392119719 | erot = 3.6285471602112 | epot = -38.4363459414659 | etot = -30.2524248600575 +660000 ekin = 4.41551333368083 | erot = 3.6539559007289 | epot = -38.3663969488346 | etot = -30.2969277144249 +661000 ekin = 4.32449081576465 | erot = 3.74090915717697 | epot = -38.2884247485437 | etot = -30.2230247756021 +662000 ekin = 4.2382312401034 | erot = 3.58833666048796 | epot = -38.1946280661735 | etot = -30.3680601655822 +663000 ekin = 4.32618520330348 | erot = 3.71369597709409 | epot = -38.0940311251124 | etot = -30.0541499447149 +664000 ekin = 4.30987713127737 | erot = 3.55193027406456 | epot = -38.0118003167729 | etot = -30.149992911431 +665000 ekin = 4.32971268964125 | erot = 3.40416985470638 | epot = -37.9630121098137 | etot = -30.229129565466 +666000 ekin = 4.30397058329232 | erot = 3.24563244836293 | epot = -37.9564459426245 | etot = -30.4068429109692 +667000 ekin = 4.23802718761159 | erot = 3.57923047722682 | epot = -37.911170999797 | etot = -30.0939133349586 +668000 ekin = 4.17750835985169 | erot = 3.42921371885257 | epot = -37.8409684237745 | etot = -30.2342463450703 +669000 ekin = 4.10123021238948 | erot = 3.38759831293412 | epot = -37.7732457913403 | etot = -30.2844172660167 +670000 ekin = 3.96563796265766 | erot = 3.59480187806753 | epot = -37.6965941156386 | etot = -30.1361542749134 +671000 ekin = 3.96406262528469 | erot = 3.64073126780246 | epot = -37.5753442355431 | etot = -29.9705503424559 +672000 ekin = 4.04265318678508 | erot = 3.67979591145804 | epot = -37.4296504342378 | etot = -29.7072013359947 +673000 ekin = 3.99224066234871 | erot = 3.52190422085278 | epot = -37.3047157518844 | etot = -29.7905708686829 +674000 ekin = 3.97681715793532 | erot = 3.75368024393782 | epot = -37.1885781675148 | etot = -29.4580807656416 +675000 ekin = 3.85833621087031 | erot = 3.97050815664581 | epot = -37.1417466549724 | etot = -29.3129022874562 +676000 ekin = 3.77676206895609 | erot = 3.79811590545655 | epot = -37.1253534099231 | etot = -29.5504754355104 +677000 ekin = 3.78226586281953 | erot = 3.88942769355379 | epot = -37.1385629636271 | etot = -29.4668694072538 +678000 ekin = 3.61579087416917 | erot = 3.83629032138248 | epot = -37.1880190743623 | etot = -29.7359378788106 +679000 ekin = 3.59940694058669 | erot = 3.92320694106388 | epot = -37.2411006365046 | etot = -29.7184867548541 +680000 ekin = 3.59936088858661 | erot = 3.59198808770705 | epot = -37.3103059663064 | etot = -30.1189569900128 +681000 ekin = 3.5506817335392 | erot = 3.62032338399699 | epot = -37.397887158622 | etot = -30.2268820410859 +682000 ekin = 3.64312616149454 | erot = 3.63220095729207 | epot = -37.4824268307592 | etot = -30.2070997119726 +683000 ekin = 3.59147144886464 | erot = 4.0054088226964 | epot = -37.5784304648838 | etot = -29.9815501933228 +684000 ekin = 3.72558767154372 | erot = 4.43134049971566 | epot = -37.6663536443173 | etot = -29.5094254730579 +685000 ekin = 3.75700113340408 | erot = 4.42051791074664 | epot = -37.7011506850387 | etot = -29.523631640888 +686000 ekin = 3.68716829673499 | erot = 4.29446170846264 | epot = -37.7134415714993 | etot = -29.7318115663016 +687000 ekin = 3.64818503755748 | erot = 4.53150873331274 | epot = -37.711537143075 | etot = -29.5318433722048 +688000 ekin = 3.65898677055773 | erot = 4.19517143645001 | epot = -37.7179324142981 | etot = -29.8637742072904 +689000 ekin = 3.6205349293849 | erot = 4.90634872884686 | epot = -37.7254294906481 | etot = -29.1985458324163 +690000 ekin = 3.66313798116712 | erot = 4.56796147261006 | epot = -37.7316773182824 | etot = -29.5005778645052 +691000 ekin = 3.71240687811154 | erot = 4.32729443264317 | epot = -37.6986701891451 | etot = -29.6589688783904 +692000 ekin = 3.77937222983674 | erot = 4.25209713638378 | epot = -37.6463069321166 | etot = -29.6148375658961 +693000 ekin = 3.82528389687013 | erot = 4.44391854020428 | epot = -37.5813521083399 | etot = -29.3121496712654 +694000 ekin = 3.77132757417731 | erot = 4.30342910423497 | epot = -37.5292531497342 | etot = -29.454496471322 +695000 ekin = 3.87816824099586 | erot = 3.61664690986648 | epot = -37.4977174174724 | etot = -30.0029022666101 +696000 ekin = 4.03561630547957 | erot = 3.14881777436793 | epot = -37.5165237009968 | etot = -30.3320896211493 +697000 ekin = 4.10221303088947 | erot = 2.74688055821586 | epot = -37.6237315563435 | etot = -30.7746379672381 +698000 ekin = 4.33198843808379 | erot = 2.54448976763408 | epot = -37.8109238872746 | etot = -30.9344456815567 +699000 ekin = 4.45835519306674 | erot = 2.8372756281226 | epot = -38.0765099491828 | etot = -30.7808791279934 +700000 ekin = 4.62566765847138 | erot = 3.20413023616686 | epot = -38.3666686805772 | etot = -30.536870785939 +701000 ekin = 4.71198958041981 | erot = 3.20500762759515 | epot = -38.6531148244764 | etot = -30.7361176164614 +702000 ekin = 4.70320353975512 | erot = 3.49669921722509 | epot = -38.9020142648734 | etot = -30.7021115078932 +703000 ekin = 4.7166659217622 | erot = 3.43605875792423 | epot = -39.0983570180767 | etot = -30.9456323383903 +704000 ekin = 4.81119997223625 | erot = 3.68842954975253 | epot = -39.2326154199855 | etot = -30.7329858979967 +705000 ekin = 4.76635995985854 | erot = 4.27225880905604 | epot = -39.304583019354 | etot = -30.2659642504394 +706000 ekin = 4.6123968900786 | erot = 4.45743851438174 | epot = -39.3303553159895 | etot = -30.2605199115291 +707000 ekin = 4.43392403924413 | erot = 5.00090751066076 | epot = -39.3012148785927 | etot = -29.8663833286878 +708000 ekin = 4.493639803788 | erot = 4.44827137132337 | epot = -39.1855945086319 | etot = -30.2436833335206 +709000 ekin = 4.38087413515987 | erot = 4.33993340713996 | epot = -39.0225667156706 | etot = -30.3017591733707 +710000 ekin = 4.30084034805674 | erot = 4.18416076229495 | epot = -38.8018325665079 | etot = -30.3168314561562 +711000 ekin = 4.16061239283914 | erot = 3.7596460771024 | epot = -38.6119256895403 | etot = -30.6916672195988 +712000 ekin = 4.02785073941548 | erot = 3.91873808556251 | epot = -38.5032151267495 | etot = -30.5566263017715 +713000 ekin = 3.91042694307498 | erot = 4.02474708082426 | epot = -38.4555203424355 | etot = -30.5203463185362 +714000 ekin = 3.91972154955257 | erot = 3.86911398530038 | epot = -38.4391911139339 | etot = -30.650355579081 +715000 ekin = 3.79432885182375 | erot = 3.97493955426887 | epot = -38.4648934882979 | etot = -30.6956250822053 +716000 ekin = 3.81379173421808 | erot = 4.12773796628716 | epot = -38.5344978321895 | etot = -30.5929681316842 +717000 ekin = 3.81338083287853 | erot = 3.91040514076917 | epot = -38.6119475932714 | etot = -30.8881616196237 +718000 ekin = 3.98031853847202 | erot = 3.63481705596704 | epot = -38.678649410417 | etot = -31.0635138159779 +719000 ekin = 3.85667554069524 | erot = 3.54568346865617 | epot = -38.7335222105702 | etot = -31.3311632012187 +720000 ekin = 3.82130999837899 | erot = 3.12899985812958 | epot = -38.800048179352 | etot = -31.8497383228434 +721000 ekin = 3.84625676410583 | erot = 3.33090070721994 | epot = -38.8362758074818 | etot = -31.659118336156 +722000 ekin = 3.79224716661396 | erot = 3.20659617994807 | epot = -38.8301147634646 | etot = -31.8312714169026 +723000 ekin = 3.89270036914644 | erot = 3.09341373486916 | epot = -38.7612142662691 | etot = -31.7751001622535 +724000 ekin = 3.88950015267433 | erot = 3.37593260372111 | epot = -38.6472208331853 | etot = -31.3817880767899 +725000 ekin = 3.89253643906727 | erot = 3.3632565061082 | epot = -38.5278096836431 | etot = -31.2720167384676 +726000 ekin = 3.77207579735126 | erot = 2.95762270097697 | epot = -38.4162496849588 | etot = -31.6865511866306 +727000 ekin = 3.8589508308402 | erot = 2.69741467226751 | epot = -38.3204112624909 | etot = -31.7640457593832 +728000 ekin = 3.95735248448056 | erot = 2.91208862145619 | epot = -38.2269317498774 | etot = -31.3574906439407 +729000 ekin = 3.90116579496193 | erot = 2.68023881807524 | epot = -38.1837112825913 | etot = -31.6023066695542 +730000 ekin = 3.96318220229622 | erot = 2.52640600275291 | epot = -38.1795006550048 | etot = -31.6899124499557 +731000 ekin = 4.07163559325289 | erot = 2.47524828245716 | epot = -38.2208467965997 | etot = -31.6739629208896 +732000 ekin = 4.12331294394785 | erot = 2.59059397612219 | epot = -38.2785246774242 | etot = -31.5646177573541 +733000 ekin = 4.18393032106836 | erot = 2.72580269413632 | epot = -38.3920370437211 | etot = -31.4823040285164 +734000 ekin = 4.22490204001118 | erot = 2.94025387724297 | epot = -38.5577268408556 | etot = -31.3925709236014 +735000 ekin = 4.41637906381283 | erot = 3.39000978300269 | epot = -38.7520895879279 | etot = -30.9457007411124 +736000 ekin = 4.52682105512923 | erot = 3.59384799521502 | epot = -39.0007836443238 | etot = -30.8801145939796 +737000 ekin = 4.54518518822972 | erot = 3.67606395235652 | epot = -39.2431861398732 | etot = -31.021936999287 +738000 ekin = 4.54111831313617 | erot = 3.87514152367601 | epot = -39.4689573474101 | etot = -31.0526975105979 +739000 ekin = 4.64515651334113 | erot = 3.86830954896661 | epot = -39.6580785017875 | etot = -31.1446124394798 +740000 ekin = 4.59721923359584 | erot = 3.83234514918706 | epot = -39.7800787241315 | etot = -31.3505143413486 +741000 ekin = 4.54920694202201 | erot = 4.22873772666781 | epot = -39.8001498706485 | etot = -31.0222052019586 +742000 ekin = 4.37775553859951 | erot = 4.07719515191216 | epot = -39.7729191936198 | etot = -31.3179685031081 +743000 ekin = 4.3556617165815 | erot = 4.19296317409613 | epot = -39.6826493457458 | etot = -31.1340244550682 +744000 ekin = 4.35520781857212 | erot = 4.03027041959878 | epot = -39.5404877687077 | etot = -31.1550095305368 +745000 ekin = 4.22626887984331 | erot = 3.36034348052808 | epot = -39.3612863690872 | etot = -31.7746740087159 +746000 ekin = 4.11995949308923 | erot = 3.27667360498748 | epot = -39.1619120183871 | etot = -31.7652789203104 +747000 ekin = 4.14400839200239 | erot = 3.30199438470026 | epot = -38.9827326721258 | etot = -31.5367298954232 +748000 ekin = 4.00468940718693 | erot = 3.14625781984354 | epot = -38.8044398216778 | etot = -31.6534925946474 +749000 ekin = 3.84115389861465 | erot = 2.95470003366609 | epot = -38.6687005011654 | etot = -31.8728465688846 +750000 ekin = 3.65410258827823 | erot = 3.15459365563754 | epot = -38.5278602215809 | etot = -31.7191639776651 +751000 ekin = 3.60281847230545 | erot = 3.24631581000339 | epot = -38.4153933025755 | etot = -31.5662590202667 +752000 ekin = 3.67731217795128 | erot = 3.63832283099251 | epot = -38.3028409880039 | etot = -30.9872059790601 +753000 ekin = 3.57605485188811 | erot = 3.26752665173291 | epot = -38.2165204041613 | etot = -31.3729389005403 +754000 ekin = 3.69078656100588 | erot = 3.07077330953217 | epot = -38.2008529421062 | etot = -31.4392930715682 +755000 ekin = 3.70168225637986 | erot = 2.97263399944788 | epot = -38.2287093031125 | etot = -31.5543930472847 +756000 ekin = 3.82302121276 | erot = 3.1782689290909 | epot = -38.310131999282 | etot = -31.3088418574311 +757000 ekin = 3.92969183976134 | erot = 3.24398381681734 | epot = -38.4229976799532 | etot = -31.2493220233745 +758000 ekin = 4.01825553851191 | erot = 2.96087889455693 | epot = -38.5603809302421 | etot = -31.5812464971732 +759000 ekin = 4.15945678292269 | erot = 3.31368855914151 | epot = -38.7240687265501 | etot = -31.2509233844859 +760000 ekin = 4.08337495041291 | erot = 3.28527114059579 | epot = -38.8845645171709 | etot = -31.5159184261622 +761000 ekin = 4.14862342701004 | erot = 3.30586771709929 | epot = -38.9896780479041 | etot = -31.5351869037947 +762000 ekin = 4.15291891523591 | erot = 3.21578962032615 | epot = -39.035237071941 | etot = -31.6665285363789 +763000 ekin = 4.13154828483801 | erot = 3.3900507889808 | epot = -39.0640564952969 | etot = -31.5424574214781 +764000 ekin = 4.11445022984107 | erot = 3.78778087021365 | epot = -39.069248399025 | etot = -31.1670172989702 +765000 ekin = 3.94937442988367 | erot = 3.99811330721222 | epot = -39.0421921917084 | etot = -31.0947044546125 +766000 ekin = 3.90772961551845 | erot = 4.0181962192846 | epot = -38.9772379154488 | etot = -31.0513120806457 +767000 ekin = 3.91865092379332 | erot = 3.66675942927299 | epot = -38.8570109636996 | etot = -31.2716006106332 +768000 ekin = 3.90455829915362 | erot = 3.57997769181348 | epot = -38.7106990781797 | etot = -31.2261630872126 +769000 ekin = 3.79614462627826 | erot = 3.72589479531031 | epot = -38.5987325117513 | etot = -31.0766930901627 +770000 ekin = 3.84943042371488 | erot = 3.41445940258812 | epot = -38.524203140241 | etot = -31.260313313938 +771000 ekin = 3.93726861106201 | erot = 3.22573743650855 | epot = -38.4470290210344 | etot = -31.2840229734638 +772000 ekin = 3.96999789478599 | erot = 3.15006319998264 | epot = -38.4433830504296 | etot = -31.3233219556609 +773000 ekin = 3.90264203603893 | erot = 3.08286085672441 | epot = -38.4596433115508 | etot = -31.4741404187875 +774000 ekin = 4.05136357587227 | erot = 3.17001936426344 | epot = -38.5137422973683 | etot = -31.2923593572326 +775000 ekin = 4.11418642080987 | erot = 3.81754399179953 | epot = -38.5927804349062 | etot = -30.6610500222968 +776000 ekin = 4.11481050991315 | erot = 3.55328099460652 | epot = -38.6754580889833 | etot = -31.0073665844636 +777000 ekin = 4.23423405077881 | erot = 3.58108270552595 | epot = -38.76169441768 | etot = -30.9463776613752 +778000 ekin = 4.22244262963946 | erot = 3.64411855451438 | epot = -38.842032142942 | etot = -30.9754709587882 +779000 ekin = 4.20492205038613 | erot = 3.89270804286644 | epot = -38.9009656289588 | etot = -30.8033355357062 +780000 ekin = 4.19457435208234 | erot = 3.98994130977106 | epot = -38.9050369874364 | etot = -30.720521325583 +781000 ekin = 4.33837315790505 | erot = 3.45852422770954 | epot = -38.858660577552 | etot = -31.0617631919374 +782000 ekin = 4.36357496915283 | erot = 3.10010011432268 | epot = -38.7868584055569 | etot = -31.3231833220814 +783000 ekin = 4.42162598039069 | erot = 3.42028138737023 | epot = -38.7233668668895 | etot = -30.8814594991286 +784000 ekin = 4.52915280589068 | erot = 3.46746509226016 | epot = -38.6388342149203 | etot = -30.6422163167695 +785000 ekin = 4.5515940213827 | erot = 3.36141401661281 | epot = -38.5160993571772 | etot = -30.6030913191817 +786000 ekin = 4.4107707826179 | erot = 3.55728141641263 | epot = -38.3921286555455 | etot = -30.424076456515 +787000 ekin = 4.5473982866512 | erot = 3.81681111076943 | epot = -38.2843232861691 | etot = -29.9201138887484 +788000 ekin = 4.51350891647158 | erot = 3.90594890385667 | epot = -38.2029645190101 | etot = -29.7835066986818 +789000 ekin = 4.41183434492804 | erot = 4.01545730842702 | epot = -38.1545360413066 | etot = -29.7272443879516 +790000 ekin = 4.36219296798482 | erot = 4.38022337925401 | epot = -38.1642768248248 | etot = -29.421860477586 +791000 ekin = 4.36856935453186 | erot = 4.10044084346348 | epot = -38.2219055606099 | etot = -29.7528953626145 +792000 ekin = 4.15750522427241 | erot = 4.31220830506829 | epot = -38.3006248567473 | etot = -29.8309113274066 +793000 ekin = 4.04895474142992 | erot = 4.47406069249712 | epot = -38.4166817679429 | etot = -29.8936663340158 +794000 ekin = 4.06782077729031 | erot = 4.54237615913424 | epot = -38.5497403981529 | etot = -29.9395434617283 +795000 ekin = 4.13325369560983 | erot = 4.6766430853343 | epot = -38.7140310649859 | etot = -29.9041342840418 +796000 ekin = 4.24810673699357 | erot = 4.55090018691371 | epot = -38.8628377912581 | etot = -30.0638308673508 +797000 ekin = 4.47820483480053 | erot = 4.37105820701948 | epot = -39.0073103741372 | etot = -30.1580473323172 +798000 ekin = 4.41687882033665 | erot = 4.0319284480101 | epot = -39.1717655165835 | etot = -30.7229582482367 +799000 ekin = 4.51272621151664 | erot = 3.80275615695394 | epot = -39.3264210367218 | etot = -31.0109386682512 +800000 ekin = 4.55406747539997 | erot = 3.86603589563191 | epot = -39.455092115688 | etot = -31.0349887446561 +801000 ekin = 4.71425753043942 | erot = 4.19401636489441 | epot = -39.5455068512898 | etot = -30.637232955956 +802000 ekin = 4.73096724901056 | erot = 4.66018334519229 | epot = -39.597292270086 | etot = -30.2061416758832 +803000 ekin = 4.62379738113321 | erot = 4.84687313016545 | epot = -39.6033097238909 | etot = -30.1326392125923 +804000 ekin = 4.73211781117979 | erot = 4.65405100631752 | epot = -39.5980929919841 | etot = -30.2119241744868 +805000 ekin = 4.74990370273786 | erot = 5.03061291222775 | epot = -39.569498865532 | etot = -29.7889822505664 +806000 ekin = 4.71376969100994 | erot = 4.52737209746845 | epot = -39.5309941756428 | etot = -30.2898523871644 +807000 ekin = 4.86079475139447 | erot = 4.60056901312774 | epot = -39.4997078348834 | etot = -30.0383440703612 +808000 ekin = 4.80209833525365 | erot = 4.45818548395654 | epot = -39.4704788837951 | etot = -30.2101950645849 +809000 ekin = 4.6377001128784 | erot = 4.50410245159993 | epot = -39.4133092695815 | etot = -30.2715067051032 +810000 ekin = 4.58845623547692 | erot = 4.59839740206889 | epot = -39.3630399165046 | etot = -30.1761862789588 +811000 ekin = 4.49885529137753 | erot = 3.98878012931503 | epot = -39.2630135095319 | etot = -30.7753780888393 +812000 ekin = 4.26896362698783 | erot = 3.78568800845445 | epot = -39.1138584925267 | etot = -31.0592068570844 +813000 ekin = 4.13473287838133 | erot = 3.6709761560088 | epot = -38.9684769118808 | etot = -31.1627678774907 +814000 ekin = 3.94776533151714 | erot = 3.9457998277719 | epot = -38.8393181931019 | etot = -30.9457530338129 +815000 ekin = 3.90824876714862 | erot = 4.04132924638677 | epot = -38.7551601823022 | etot = -30.8055821687668 +816000 ekin = 3.78701127768462 | erot = 3.90301930977968 | epot = -38.6978803550943 | etot = -31.00784976763 +817000 ekin = 3.66292511898636 | erot = 3.94682412287945 | epot = -38.6270985077425 | etot = -31.0173492658767 +818000 ekin = 3.57247131276281 | erot = 4.1784329766224 | epot = -38.5581000447571 | etot = -30.8071957553719 +819000 ekin = 3.53877880324498 | erot = 4.11647252852254 | epot = -38.4709987313688 | etot = -30.8157473996013 +820000 ekin = 3.50671598439864 | erot = 4.25631799360866 | epot = -38.3521077332953 | etot = -30.589073755288 +821000 ekin = 3.53103431342861 | erot = 3.63219688182926 | epot = -38.2011634572152 | etot = -31.0379322619573 +822000 ekin = 3.51951391759931 | erot = 3.61259288561798 | epot = -38.0560993175178 | etot = -30.9239925143005 +823000 ekin = 3.57671320020554 | erot = 3.17979253207743 | epot = -37.8872361758755 | etot = -31.1307304435925 +824000 ekin = 3.52000952110921 | erot = 3.12347116703116 | epot = -37.7532307820921 | etot = -31.1097500939517 +825000 ekin = 3.58955759313305 | erot = 3.15061432333252 | epot = -37.6359982536732 | etot = -30.8958263372076 +826000 ekin = 3.67361585241115 | erot = 3.02327306668993 | epot = -37.5692124634555 | etot = -30.8723235443545 +827000 ekin = 3.81109350736604 | erot = 2.85212407416508 | epot = -37.5611625241685 | etot = -30.8979449426374 +828000 ekin = 3.90531542763306 | erot = 2.81227386436724 | epot = -37.5694328663444 | etot = -30.8518435743441 +829000 ekin = 3.84587100054128 | erot = 2.81493449341339 | epot = -37.6070676030481 | etot = -30.9462621090934 +830000 ekin = 3.92673136944209 | erot = 3.15236191191157 | epot = -37.65374691576 | etot = -30.5746536344063 +831000 ekin = 3.93921284330491 | erot = 3.06450076609943 | epot = -37.726173164998 | etot = -30.7224595555937 +832000 ekin = 3.97197612374618 | erot = 3.05649894745004 | epot = -37.8221989970108 | etot = -30.7937239258146 +833000 ekin = 3.93725030890245 | erot = 3.02665836452891 | epot = -37.937171835506 | etot = -30.9732631620746 +834000 ekin = 3.98146697711148 | erot = 3.02136079279377 | epot = -38.0629385880238 | etot = -31.0601108181185 +835000 ekin = 4.05052897985953 | erot = 3.17273406713208 | epot = -38.1835463837721 | etot = -30.9602833367805 +836000 ekin = 4.19040397553796 | erot = 3.26946027032974 | epot = -38.300933644763 | etot = -30.8410693988953 +837000 ekin = 4.23633886579806 | erot = 3.17722972050019 | epot = -38.3895940577245 | etot = -30.9760254714263 +838000 ekin = 4.29790040722482 | erot = 3.15450479842838 | epot = -38.4727069904853 | etot = -31.0203017848321 +839000 ekin = 4.182732050379 | erot = 3.33215565017002 | epot = -38.5543306618494 | etot = -31.0394429613004 +840000 ekin = 4.10684077367696 | erot = 3.38230089969601 | epot = -38.6241675017603 | etot = -31.1350258283873 +841000 ekin = 4.23749853699722 | erot = 4.07451157411683 | epot = -38.6954306161322 | etot = -30.3834205050181 +842000 ekin = 4.2153670799426 | erot = 4.23835126074053 | epot = -38.7619078222528 | etot = -30.3081894815696 +843000 ekin = 4.22215504966699 | erot = 4.35771502414021 | epot = -38.8129398935362 | etot = -30.233069819729 +844000 ekin = 4.30121627933573 | erot = 4.37450016715701 | epot = -38.8385476120776 | etot = -30.1628311655849 +845000 ekin = 4.21550077214609 | erot = 4.14378307005649 | epot = -38.8237568245827 | etot = -30.4644729823801 +846000 ekin = 4.02238016824686 | erot = 4.51654867802952 | epot = -38.7905889780241 | etot = -30.2516601317477 +847000 ekin = 4.01810256512937 | erot = 4.26125017170745 | epot = -38.733957558752 | etot = -30.4546048219152 +848000 ekin = 3.96232133970732 | erot = 4.11983424179405 | epot = -38.6313622633386 | etot = -30.5492066818373 +849000 ekin = 3.80836560854392 | erot = 4.28564223418274 | epot = -38.4895963152699 | etot = -30.3955884725433 +850000 ekin = 3.69578896780274 | erot = 4.39587758868528 | epot = -38.3525607889922 | etot = -30.2608942325042 +851000 ekin = 3.41959969074421 | erot = 4.26064520104062 | epot = -38.1456854690894 | etot = -30.4654405773046 +852000 ekin = 3.30829887930776 | erot = 3.71835542085465 | epot = -37.9409715149428 | etot = -30.9143172147804 +853000 ekin = 3.35508979255713 | erot = 3.37030184945621 | epot = -37.7900455534541 | etot = -31.0646539114407 +854000 ekin = 3.27022944339449 | erot = 3.34212111159852 | epot = -37.7131840806896 | etot = -31.1008335256966 +855000 ekin = 3.19861227193943 | erot = 3.88856216577093 | epot = -37.6928018165187 | etot = -30.6056273788083 +856000 ekin = 3.06768638261934 | erot = 3.98298011021487 | epot = -37.727010473156 | etot = -30.6763439803218 +857000 ekin = 3.02849458271124 | erot = 3.90128373509556 | epot = -37.7894644617561 | etot = -30.8596861439493 +858000 ekin = 3.01766394874133 | erot = 3.81481515545799 | epot = -37.864155422239 | etot = -31.0316763180397 +859000 ekin = 3.04279727315576 | erot = 3.58850792531743 | epot = -37.9147104139937 | etot = -31.2834052155205 +860000 ekin = 3.12250083122182 | erot = 3.47152341944205 | epot = -37.9805991878282 | etot = -31.3865749371643 +861000 ekin = 3.08661234486262 | erot = 3.19104504877429 | epot = -38.04550487435 | etot = -31.7678474807131 +862000 ekin = 3.21284829409286 | erot = 3.29871938445959 | epot = -38.099234844044 | etot = -31.5876671654915 +863000 ekin = 3.30782920492323 | erot = 3.18791577959012 | epot = -38.1747149198294 | etot = -31.678969935316 +864000 ekin = 3.42420257195635 | erot = 2.92388402618494 | epot = -38.2365375033583 | etot = -31.888450905217 +865000 ekin = 3.34466551527704 | erot = 3.0972998859353 | epot = -38.3012083514071 | etot = -31.8592429501948 +866000 ekin = 3.36174635490684 | erot = 3.3198551234471 | epot = -38.3565233653478 | etot = -31.6749218869938 +867000 ekin = 3.42183919685502 | erot = 2.79592217571871 | epot = -38.3877893327297 | etot = -32.1700279601559 +868000 ekin = 3.36274087144656 | erot = 2.53957841641322 | epot = -38.4029375195831 | etot = -32.5006182317234 +869000 ekin = 3.40964507660634 | erot = 2.56691032353942 | epot = -38.3607072506902 | etot = -32.3841518505445 +870000 ekin = 3.53716918539254 | erot = 2.78671187381873 | epot = -38.3296120297666 | etot = -32.0057309705553 +871000 ekin = 3.59594316640842 | erot = 2.64188707611872 | epot = -38.2798157408163 | etot = -32.0419854982892 +872000 ekin = 3.50734679867101 | erot = 2.53533702817691 | epot = -38.2086073023317 | etot = -32.1659234754837 +873000 ekin = 3.49167258379229 | erot = 2.78144827221661 | epot = -38.1271407877645 | etot = -31.8540199317556 +874000 ekin = 3.51303146719815 | erot = 2.71312702979824 | epot = -38.0371921369838 | etot = -31.8110336399874 +875000 ekin = 3.48945347772523 | erot = 2.94850163157185 | epot = -37.9788388329103 | etot = -31.5408837236132 +876000 ekin = 3.56075870692743 | erot = 3.00511197452205 | epot = -37.9138095080298 | etot = -31.3479388265803 +877000 ekin = 3.47758786865167 | erot = 3.16390846334178 | epot = -37.8677942057126 | etot = -31.2262978737192 +878000 ekin = 3.30311825505467 | erot = 3.03452838302444 | epot = -37.8643582436496 | etot = -31.5267116055705 +879000 ekin = 3.24374156245722 | erot = 3.40785973601232 | epot = -37.8934655456588 | etot = -31.2418642471892 +880000 ekin = 3.37573093292725 | erot = 3.29280897525375 | epot = -37.94427513544 | etot = -31.275735227259 +881000 ekin = 3.39840544569004 | erot = 3.55852812717334 | epot = -38.000888118187 | etot = -31.0439545453236 +882000 ekin = 3.5896767073527 | erot = 3.35995074975521 | epot = -38.026551897189 | etot = -31.0769244400811 +883000 ekin = 3.50982611331082 | erot = 2.96694324238039 | epot = -38.0094926569537 | etot = -31.5327233012624 +884000 ekin = 3.40446481074992 | erot = 3.29501620823905 | epot = -37.9974315131722 | etot = -31.2979504941832 +885000 ekin = 3.35965929451973 | erot = 3.11716654513077 | epot = -38.0104898466533 | etot = -31.5336640070028 +886000 ekin = 3.43988208795668 | erot = 3.03035945423276 | epot = -38.069363334615 | etot = -31.5991217924255 +887000 ekin = 3.45628684947244 | erot = 3.13318789403753 | epot = -38.167703435161 | etot = -31.5782286916511 +888000 ekin = 3.56219309594448 | erot = 3.51843891461388 | epot = -38.2809194479115 | etot = -31.2002874373531 +889000 ekin = 3.66415644518205 | erot = 4.27546474777864 | epot = -38.4171028829355 | etot = -30.4774816899748 +890000 ekin = 3.59199164776004 | erot = 4.54716655442247 | epot = -38.5531146541753 | etot = -30.4139564519928 +891000 ekin = 3.4869835078992 | erot = 4.75701182525676 | epot = -38.6580895919222 | etot = -30.4140942587662 +892000 ekin = 3.51562855757933 | erot = 4.92508483334413 | epot = -38.7362622656568 | etot = -30.2955488747333 +893000 ekin = 3.4766111333881 | erot = 5.21569244219365 | epot = -38.7939526432623 | etot = -30.1016490676805 +894000 ekin = 3.33377890272863 | erot = 5.32415823975928 | epot = -38.7809839614906 | etot = -30.1230468190027 +895000 ekin = 3.43478318369578 | erot = 5.410051543616 | epot = -38.7354883491905 | etot = -29.8906536218787 +896000 ekin = 3.35681124753231 | erot = 5.27612600451789 | epot = -38.644144773384 | etot = -30.0112075213338 +897000 ekin = 3.28668538949675 | erot = 5.17803324766013 | epot = -38.5248966927272 | etot = -30.0601780555704 +898000 ekin = 3.28286469703029 | erot = 5.13874374768494 | epot = -38.3749221439187 | etot = -29.9533136992034 +899000 ekin = 3.28106900834711 | erot = 5.02377463132162 | epot = -38.2159550339518 | etot = -29.9111113942831 +900000 ekin = 3.23754877589606 | erot = 4.74128859066625 | epot = -38.0678968923381 | etot = -30.0890595257758 +901000 ekin = 3.13978298302555 | erot = 4.3243129242664 | epot = -37.9137652588163 | etot = -30.4496693515243 +902000 ekin = 3.14110495369385 | erot = 3.63711917032573 | epot = -37.7967183247472 | etot = -31.0184942007276 +903000 ekin = 3.11835106948976 | erot = 3.5835838401184 | epot = -37.7069569192995 | etot = -31.0050220096914 +904000 ekin = 3.07376219479296 | erot = 3.52931006844825 | epot = -37.6597467606241 | etot = -31.0566744973829 +905000 ekin = 3.06812362454372 | erot = 3.78913234205767 | epot = -37.6633180135037 | etot = -30.8060620469023 +906000 ekin = 3.16118254583043 | erot = 3.68210315785564 | epot = -37.7114125889238 | etot = -30.8681268852377 +907000 ekin = 3.05937736690025 | erot = 3.63166351278032 | epot = -37.8094278488435 | etot = -31.118386969163 +908000 ekin = 3.20197665753494 | erot = 3.6441133335068 | epot = -37.8953945586471 | etot = -31.0493045676053 +909000 ekin = 3.13419888287822 | erot = 3.44894287146547 | epot = -37.9553359165693 | etot = -31.3721941622256 +910000 ekin = 3.2011454656304 | erot = 3.42446813676882 | epot = -38.024917947609 | etot = -31.3993043452098 +911000 ekin = 3.183320242491 | erot = 3.30496399638698 | epot = -38.1090485606002 | etot = -31.6207643217223 +912000 ekin = 3.26276595850364 | erot = 3.24471741353574 | epot = -38.2096715613882 | etot = -31.7021881893489 +913000 ekin = 3.2681561913827 | erot = 3.26266624315759 | epot = -38.3821519588598 | etot = -31.8513295243196 +914000 ekin = 3.35412635067755 | erot = 3.33562334375845 | epot = -38.6092123987847 | etot = -31.9194627043487 +915000 ekin = 3.50776663391062 | erot = 3.6091033663435 | epot = -38.8009254120376 | etot = -31.6840554117835 +916000 ekin = 3.5277313901091 | erot = 3.46745309412736 | epot = -38.9707688836112 | etot = -31.9755843993747 +917000 ekin = 3.59076210165264 | erot = 3.41178573512987 | epot = -39.0925719913734 | etot = -32.0900241545909 +918000 ekin = 3.70456853537637 | erot = 3.18226166796491 | epot = -39.1781408185665 | etot = -32.2913106152253 +919000 ekin = 3.78037780426176 | erot = 3.08638967761944 | epot = -39.2569196438486 | etot = -32.3901521619674 +920000 ekin = 3.91060781137684 | erot = 3.28711158692157 | epot = -39.3298863351688 | etot = -32.1321669368704 +921000 ekin = 3.94747979949424 | erot = 3.45337772058887 | epot = -39.3932618134522 | etot = -31.9924042933691 +922000 ekin = 3.94814734356941 | erot = 3.67117615571532 | epot = -39.4429346449514 | etot = -31.8236111456667 +923000 ekin = 3.96148195878582 | erot = 4.16418425189001 | epot = -39.4697891977426 | etot = -31.3441229870668 +924000 ekin = 3.93156231463912 | erot = 4.23364521862771 | epot = -39.4747062603535 | etot = -31.3094987270866 +925000 ekin = 3.98364691406504 | erot = 4.37102519058181 | epot = -39.4559543119553 | etot = -31.1012822073085 +926000 ekin = 3.90165834847865 | erot = 4.5398391765023 | epot = -39.3838686479861 | etot = -30.9423711230052 +927000 ekin = 3.86159556963851 | erot = 4.93409467569006 | epot = -39.3009822835311 | etot = -30.5052920382026 +928000 ekin = 3.88113409255608 | erot = 4.54344659797514 | epot = -39.2237313850886 | etot = -30.7991506945573 +929000 ekin = 3.73601262143371 | erot = 4.54159517313964 | epot = -39.0907845737875 | etot = -30.8131767792141 +930000 ekin = 3.62890283946098 | erot = 4.23223960576937 | epot = -38.9310668930158 | etot = -31.0699244477855 +931000 ekin = 3.51130978751904 | erot = 3.75580234575059 | epot = -38.7496742883208 | etot = -31.4825621550511 +932000 ekin = 3.4360478582467 | erot = 3.85916877458119 | epot = -38.6047820584061 | etot = -31.3095654255782 +933000 ekin = 3.34945134482918 | erot = 4.10711762351073 | epot = -38.510851150919 | etot = -31.0542821825791 +934000 ekin = 3.25407370525901 | erot = 4.02198516513931 | epot = -38.4343657155247 | etot = -31.1583068451264 +935000 ekin = 3.15706754617272 | erot = 3.94213624960972 | epot = -38.3842418910869 | etot = -31.2850380953045 +936000 ekin = 3.00555649828127 | erot = 4.41385590541793 | epot = -38.3669049397814 | etot = -30.9474925360822 +937000 ekin = 2.92065396617262 | erot = 4.74523400801332 | epot = -38.3453538388338 | etot = -30.6794658646479 +938000 ekin = 2.97141948473043 | erot = 4.76974809222722 | epot = -38.3344331957966 | etot = -30.5932656188389 +939000 ekin = 2.94512706992696 | erot = 4.54496818954274 | epot = -38.3244620131108 | etot = -30.8343667536411 +940000 ekin = 2.88288211336379 | erot = 4.33037795313988 | epot = -38.32262444066 | etot = -31.1093643741563 +941000 ekin = 3.0729894973384 | erot = 4.38312166999032 | epot = -38.3472582821346 | etot = -30.8911471148058 +942000 ekin = 3.09399973822793 | erot = 4.23262521183818 | epot = -38.3627707290367 | etot = -31.0361457789706 +943000 ekin = 3.0692834807418 | erot = 4.29810120769341 | epot = -38.3654861580836 | etot = -30.9981014696484 +944000 ekin = 3.05361136554782 | erot = 4.57752136432056 | epot = -38.3891229370226 | etot = -30.7579902071542 +945000 ekin = 3.1053295273393 | erot = 4.63116672909507 | epot = -38.4481824906831 | etot = -30.7116862342487 +946000 ekin = 3.22536073155692 | erot = 4.9775607801974 | epot = -38.5304457687251 | etot = -30.3275242569708 +947000 ekin = 3.22481791886501 | erot = 4.85505897631116 | epot = -38.6306947506549 | etot = -30.5508178554787 +948000 ekin = 3.31258286730489 | erot = 4.40885070504324 | epot = -38.7111926164561 | etot = -30.9897590441079 +949000 ekin = 3.2634175064554 | erot = 4.5080556255622 | epot = -38.7582101439127 | etot = -30.9867370118951 +950000 ekin = 3.38312193033095 | erot = 4.30600402576254 | epot = -38.7909813747404 | etot = -31.1018554186469 +951000 ekin = 3.4587828832488 | erot = 3.92069079490435 | epot = -38.8089483233276 | etot = -31.4294746451744 +952000 ekin = 3.42224118561198 | erot = 3.67807790241698 | epot = -38.8172186174579 | etot = -31.7168995294289 +953000 ekin = 3.5355898130389 | erot = 3.54582501818208 | epot = -38.8376037887756 | etot = -31.7561889575546 +954000 ekin = 3.7408153679097 | erot = 3.65672942044163 | epot = -38.8501623721153 | etot = -31.452617583764 +955000 ekin = 3.71100924365654 | erot = 3.89616377536035 | epot = -38.8864415175113 | etot = -31.2792684984944 +956000 ekin = 3.60593207480462 | erot = 3.6041169004468 | epot = -38.9258365620749 | etot = -31.7157875868235 +957000 ekin = 3.49530434439509 | erot = 3.82410347711554 | epot = -38.946856110473 | etot = -31.6274482889624 +958000 ekin = 3.33025913134877 | erot = 4.09361696296967 | epot = -38.9566069953684 | etot = -31.5327309010499 +959000 ekin = 3.23258633982982 | erot = 4.27749630513793 | epot = -38.9400855462529 | etot = -31.4300029012852 +960000 ekin = 3.31834124707646 | erot = 4.19167538415381 | epot = -38.9006120641386 | etot = -31.3905954329083 +961000 ekin = 3.23354004257472 | erot = 4.33974592386021 | epot = -38.8709462828611 | etot = -31.2976603164261 +962000 ekin = 3.27687420354416 | erot = 4.18251799625536 | epot = -38.8399997192042 | etot = -31.3806075194046 +963000 ekin = 3.18724078299293 | erot = 4.29559449615361 | epot = -38.8215635568147 | etot = -31.3387282776681 +964000 ekin = 3.16628639784342 | erot = 4.17929146419561 | epot = -38.8033314242491 | etot = -31.45775356221 +965000 ekin = 3.23601563824522 | erot = 4.51599223822397 | epot = -38.7801591620089 | etot = -31.0281512855397 +966000 ekin = 3.35348380272848 | erot = 3.96490873951949 | epot = -38.7593006562391 | etot = -31.4409081139911 +967000 ekin = 3.47301428118931 | erot = 3.78771221675296 | epot = -38.7263415939787 | etot = -31.4656150960365 +968000 ekin = 3.5149340684517 | erot = 3.36657292776092 | epot = -38.7364041234236 | etot = -31.854897127211 +969000 ekin = 3.55243037222559 | erot = 3.66068265314151 | epot = -38.7529284526029 | etot = -31.5398154272358 +970000 ekin = 3.63553363347277 | erot = 3.13050605621043 | epot = -38.8016144947092 | etot = -32.035574805026 +971000 ekin = 3.62760421034422 | erot = 3.43775684259623 | epot = -38.8707637872892 | etot = -31.8054027343488 +972000 ekin = 3.66143241862992 | erot = 4.04556663388657 | epot = -38.9794799026745 | etot = -31.272480850158 +973000 ekin = 3.72465898229281 | erot = 3.97416581320678 | epot = -39.0667487302085 | etot = -31.3679239347089 +974000 ekin = 3.99953950913788 | erot = 4.13912764019187 | epot = -39.1431741069699 | etot = -31.0045069576401 +975000 ekin = 4.00465817345125 | erot = 3.9952589646089 | epot = -39.1948973492943 | etot = -31.1949802112341 +976000 ekin = 4.16803719317614 | erot = 4.27607609453617 | epot = -39.2042146461383 | etot = -30.7601013584259 +977000 ekin = 4.27763535208335 | erot = 4.35785374646763 | epot = -39.1647674598219 | etot = -30.529278361271 +978000 ekin = 4.21509832146794 | erot = 3.96978575035236 | epot = -39.0661575270878 | etot = -30.8812734552675 +979000 ekin = 4.11219939771613 | erot = 3.86340161937286 | epot = -38.9126163242263 | etot = -30.9370153071373 +980000 ekin = 4.08548639230655 | erot = 3.71918260809169 | epot = -38.74606503787 | etot = -30.9413960374717 +981000 ekin = 4.02033461236225 | erot = 3.54042819636901 | epot = -38.597187758635 | etot = -31.0364249499038 +982000 ekin = 4.05981657544056 | erot = 3.65178477672051 | epot = -38.4729888125583 | etot = -30.7613874603972 +983000 ekin = 4.15649242216475 | erot = 3.62195027480219 | epot = -38.334259961066 | etot = -30.555817264099 +984000 ekin = 4.1544594314402 | erot = 3.41256983843883 | epot = -38.1946691276125 | etot = -30.6276398577335 +985000 ekin = 3.87659901087172 | erot = 3.4376780504462 | epot = -38.0505436384557 | etot = -30.7362665771378 +986000 ekin = 3.85786856381229 | erot = 3.30334700587324 | epot = -37.8996934133203 | etot = -30.7384778436347 +987000 ekin = 3.87294863787314 | erot = 3.15398232754981 | epot = -37.7929706719646 | etot = -30.7660397065416 +988000 ekin = 3.93790531951915 | erot = 3.08701498108581 | epot = -37.6532967522443 | etot = -30.6283764516394 +989000 ekin = 3.83115351568813 | erot = 3.07802242316603 | epot = -37.5101193189107 | etot = -30.6009433800565 +990000 ekin = 3.81048959043177 | erot = 3.11196082795583 | epot = -37.3832609771669 | etot = -30.4608105587793 +991000 ekin = 3.71517412131507 | erot = 3.09240412040435 | epot = -37.2833659467139 | etot = -30.4757877049945 +992000 ekin = 3.63849701384075 | erot = 2.99887074192591 | epot = -37.1786754428025 | etot = -30.5413076870358 +993000 ekin = 3.63209056043317 | erot = 3.27649085900172 | epot = -37.0906927302529 | etot = -30.182111310818 +994000 ekin = 3.5982839069315 | erot = 3.831697772683 | epot = -37.0255816353104 | etot = -29.5955999556959 +995000 ekin = 3.75927077522078 | erot = 3.45385861701412 | epot = -36.9690811728774 | etot = -29.7559517806425 +996000 ekin = 3.7162823443017 | erot = 3.37243499359166 | epot = -36.9421300931431 | etot = -29.8534127552498 +997000 ekin = 3.60416089411934 | erot = 3.31461433836019 | epot = -36.9528108756411 | etot = -30.0340356431616 +998000 ekin = 3.71457183702544 | erot = 3.42780251384766 | epot = -37.0325234658195 | etot = -29.8901491149464 +999000 ekin = 3.78703773886257 | erot = 3.63993408891207 | epot = -37.1548091593711 | etot = -29.7278373315964 +1000000 ekin = 3.83883486112572 | erot = 3.47192929391945 | epot = -37.2430911050885 | etot = -29.9323269500433 + 1000000 0.10236893 -1.4701186 0.037692055 -1.2847791 5.0290761e-05 64000 +Loop time of 76.6415 on 1 procs for 1000000 steps with 26 atoms + +Performance: 11273.266 tau/day, 13047.762 timesteps/s +99.8% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 68.018 | 68.018 | 68.018 | 0.0 | 88.75 +Bond | 1.5413 | 1.5413 | 1.5413 | 0.0 | 2.01 +Neigh | 0.015138 | 0.015138 | 0.015138 | 0.0 | 0.02 +Comm | 0.35429 | 0.35429 | 0.35429 | 0.0 | 0.46 +Output | 0.23554 | 0.23554 | 0.23554 | 0.0 | 0.31 +Modify | 6.2843 | 6.2843 | 6.2843 | 0.0 | 8.20 +Other | | 0.1933 | | | 0.25 + +Nlocal: 26.0000 ave 26 max 26 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 0.00000 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 301.000 ave 301 max 301 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 301 +Ave neighs/atom = 11.576923 +Ave special neighs/atom = 5.0769231 +Neighbor list builds = 1000 +Dangerous builds = 0 + +write_data last_config.${number}.* nocoeff +write_data last_config.4.* nocoeff +System init for write_data ... +#write_restart last_config.${number}.* +Total wall time: 0:01:16 diff --git a/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.2Jul21.duplex4.4type.g++.4 b/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.2Jul21.duplex4.4type.g++.4 new file mode 100644 index 0000000000..0151e42c10 --- /dev/null +++ b/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.2Jul21.duplex4.4type.g++.4 @@ -0,0 +1,1230 @@ +LAMMPS (2 Jul 2021) +variable number equal 4 +variable ofreq equal 1000 +variable efreq equal 1000 + +variable ntype equal 4 + +variable T equal 0.1 +variable rhos equal 0.2 + +units lj + +dimension 3 + +newton on + +boundary p p p + +atom_style hybrid bond ellipsoid oxdna +WARNING: Atom style hybrid defines both, per-type and per-atom masses; both must be set, but only per-atom masses will be used (../atom_vec_hybrid.cpp:157) +atom_modify sort 0 1.0 + +# Pair interactions require lists of neighbours to be calculated +neighbor 2.0 bin +neigh_modify every 10 delay 0 check yes + +read_data data.duplex4.4type +Reading data file ... + orthogonal box = (-20.000000 -20.000000 -20.000000) to (20.000000 20.000000 20.000000) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 26 atoms + reading velocities ... + 26 velocities + scanning bonds ... + 1 = max bonds/atom + 26 ellipsoids + reading bonds ... + 24 bonds +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 + 2 = max # of 1-3 neighbors + 4 = max # of 1-4 neighbors + 6 = max # of special neighbors + special bonds CPU = 0.001 seconds + read_data CPU = 0.005 seconds + +mass * 3.1575 # sets per-type mass if not in data file +set atom * mass 3.1575 # sets per-atom mass +Setting atom values ... + 26 settings made for mass + +group all type 1 4 +26 atoms in group all + +# oxDNA2 bond interactions - FENE backbone +bond_style oxdna2/fene +bond_coeff * 2.0 0.25 0.7564 +special_bonds lj 0 1 1 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 1 1 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 2 = max # of 1-3 neighbors + 4 = max # of 1-4 neighbors + 6 = max # of special neighbors + special bonds CPU = 0.000 seconds + +# oxDNA pair interactions +pair_style hybrid/overlay oxdna2/excv oxdna2/stk oxdna2/hbond oxdna2/xstk oxdna2/coaxstk oxdna2/dh +pair_coeff * * oxdna2/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32 +pair_coeff * * oxdna2/stk seqdep ${T} 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 +pair_coeff * * oxdna2/stk seqdep 0.1 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 +pair_coeff * * oxdna2/hbond seqdep 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 + +label loop +variable base loop ${ntype} +variable base loop 4 + variable basemod equal ${base}%4 + variable basemod equal 1%4 + if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" +variable comp equal ${base}+3 +variable comp equal 1+3 +pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 1 ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 1 4 oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 + if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" +next base +jump in.duplex4.4type loop +variable base loop ${ntype} +variable base loop 4 + variable basemod equal ${base}%4 + variable basemod equal 2%4 + if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" + if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" +variable comp equal ${base}+1 +variable comp equal 2+1 +pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 2 ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 2 3 oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +next base +jump in.duplex4.4type loop +variable base loop ${ntype} +variable base loop 4 + variable basemod equal ${base}%4 + variable basemod equal 3%4 + if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" + if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" +next base +jump in.duplex4.4type loop +variable base loop ${ntype} +variable base loop 4 + variable basemod equal ${base}%4 + variable basemod equal 4%4 + if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" + if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" +next base +jump in.duplex4.4type loop + +pair_coeff * * oxdna2/xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68 +pair_coeff * * oxdna2/coaxstk 58.5 0.4 0.6 0.22 0.58 2.0 2.891592653589793 0.65 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 40.0 3.116592653589793 +pair_coeff * * oxdna2/dh ${T} ${rhos} 0.815 +pair_coeff * * oxdna2/dh 0.1 ${rhos} 0.815 +pair_coeff * * oxdna2/dh 0.1 0.2 0.815 + +# Langevin dynamics +fix 1 all nve/asphere +fix 2 all langevin ${T} ${T} 2.5 457145 angmom 10 +fix 2 all langevin 0.1 ${T} 2.5 457145 angmom 10 +fix 2 all langevin 0.1 0.1 2.5 457145 angmom 10 + +timestep 1e-5 + +#comm_style tiled +fix 3 all balance 1000 1.03 shift xyz 10 1.03 +comm_modify cutoff 3.8 + +compute quat all property/atom quatw quati quatj quatk + +compute erot all erotate/asphere +compute ekin all ke +compute epot all pe +variable erot equal c_erot +variable ekin equal c_ekin +variable epot equal c_epot +variable etot equal c_erot+c_ekin+c_epot +fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes +fix 5 all print 1000 "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes + +dump out all custom ${ofreq} out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump out all custom 1000 out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump out all custom 1000 out.4.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump_modify out sort id +dump_modify out format line "%d %d %d %22.15le %22.15le %22.15le %d %d %d %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le" + +run 1000000 +Neighbor list info ... + update every 10 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 5.6389877 + ghost atom cutoff = 5.6389877 + binsize = 2.8194939, bins = 15 15 15 + 5 neighbor lists, perpetual/occasional/extra = 5 0 0 + (1) pair oxdna2/excv, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard + (2) pair oxdna2/hbond, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none + (3) pair oxdna2/xstk, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none + (4) pair oxdna2/coaxstk, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none + (5) pair oxdna2/dh, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none +WARNING: Communication cutoff adjusted to 5.638987723814632 (../comm.cpp:739) +0 ekin = 3.74991604702378 | erot = 3.45272678980464 | epot = -37.3742009011421 | etot = -30.1715580643137 +Per MPI rank memory allocation (min/avg/max) = 9.321 | 9.322 | 9.323 Mbytes +Step Temp E_pair E_mol TotEng Press Volume + 0 0.099997761 -1.4717559 0.03428661 -1.2932417 5.6146609e-05 64000 +1000 ekin = 3.92430268570824 | erot = 3.29540971313705 | epot = -37.4816670091169 | etot = -30.2619546102716 +2000 ekin = 3.88644825046428 | erot = 3.58410925014822 | epot = -37.5871874286304 | etot = -30.1166299280179 +3000 ekin = 3.90603224055461 | erot = 3.7820605745286 | epot = -37.7021302921285 | etot = -30.0140374770453 +4000 ekin = 4.02636555552402 | erot = 3.91677901140303 | epot = -37.8027608694504 | etot = -29.8596163025233 +5000 ekin = 4.05442725401043 | erot = 4.07817807460239 | epot = -37.8494362833427 | etot = -29.7168309547299 +6000 ekin = 4.13499768127483 | erot = 4.03873475277248 | epot = -37.8257365098368 | etot = -29.6520040757895 +7000 ekin = 4.08584129662811 | erot = 3.9850289293034 | epot = -37.7447761711061 | etot = -29.6739059451746 +8000 ekin = 4.04473728341538 | erot = 3.70461133282257 | epot = -37.6185211079512 | etot = -29.8691724917133 +9000 ekin = 3.97040375513034 | erot = 3.89171847539017 | epot = -37.4779912856655 | etot = -29.615869055145 +10000 ekin = 4.08064552796876 | erot = 4.10399273710614 | epot = -37.3378150214196 | etot = -29.1531767563447 +11000 ekin = 3.94505548567027 | erot = 4.14758664614568 | epot = -37.2085796341435 | etot = -29.1159375023276 +12000 ekin = 3.88687763742865 | erot = 4.11256727293729 | epot = -37.1168918341091 | etot = -29.1174469237431 +13000 ekin = 3.78376547312033 | erot = 3.94997258779547 | epot = -37.0636475805865 | etot = -29.3299095196707 +14000 ekin = 3.72114827358807 | erot = 3.8386275531307 | epot = -37.053932608354 | etot = -29.4941567816353 +15000 ekin = 3.63885725366143 | erot = 3.37568559083329 | epot = -37.0775134892156 | etot = -30.0629706447209 +16000 ekin = 3.75926862366822 | erot = 3.47832285528774 | epot = -37.1763229835918 | etot = -29.9387315046358 +17000 ekin = 3.80458992549717 | erot = 3.37818714949382 | epot = -37.3270848276042 | etot = -30.1443077526132 +18000 ekin = 3.81685915102047 | erot = 3.82235577807973 | epot = -37.4876996492703 | etot = -29.84848472017 +19000 ekin = 3.80633274630077 | erot = 3.80393283337367 | epot = -37.6386270441083 | etot = -30.0283614644338 +20000 ekin = 3.77027693322166 | erot = 3.97848447130852 | epot = -37.7861726918924 | etot = -30.0374112873623 +21000 ekin = 3.75594248876353 | erot = 3.9040052393667 | epot = -37.9165000666023 | etot = -30.256552338472 +22000 ekin = 3.81729390633802 | erot = 3.70298358069288 | epot = -38.0211478246461 | etot = -30.5008703376152 +23000 ekin = 3.86462773298721 | erot = 3.52903064555356 | epot = -38.0539868057476 | etot = -30.6603284272068 +24000 ekin = 3.84611190496181 | erot = 3.47876891204884 | epot = -38.0524942369902 | etot = -30.7276134199796 +25000 ekin = 3.88431543220182 | erot = 3.80956733596685 | epot = -38.0090041212111 | etot = -30.3151213530425 +26000 ekin = 3.88520717073553 | erot = 4.04667753560885 | epot = -37.9336134642012 | etot = -30.0017287578568 +27000 ekin = 3.83553778749005 | erot = 4.1822230688838 | epot = -37.8633670830473 | etot = -29.8456062266734 +28000 ekin = 3.83638307293675 | erot = 4.13838046178327 | epot = -37.8079901228043 | etot = -29.8332265880843 +29000 ekin = 3.81360349447098 | erot = 4.16358811310883 | epot = -37.7885827024555 | etot = -29.8113910948756 +30000 ekin = 3.89572360919447 | erot = 4.04566996469694 | epot = -37.7874054211311 | etot = -29.8460118472397 +31000 ekin = 3.89393888302725 | erot = 3.55790326104643 | epot = -37.8038131932179 | etot = -30.3519710491442 +32000 ekin = 3.80317271692925 | erot = 3.54273524643289 | epot = -37.8451815180302 | etot = -30.4992735546681 +33000 ekin = 3.78703980355198 | erot = 3.99364624500505 | epot = -37.9406281896735 | etot = -30.1599421411165 +34000 ekin = 3.77142087668814 | erot = 3.88594611308826 | epot = -38.0975843525551 | etot = -30.4402173627787 +35000 ekin = 3.71264930628472 | erot = 3.65225843687428 | epot = -38.2835289304068 | etot = -30.9186211872478 +36000 ekin = 3.74220790707646 | erot = 3.95952222810306 | epot = -38.4596915935923 | etot = -30.7579614584128 +37000 ekin = 3.82423101226182 | erot = 4.44859396622374 | epot = -38.6538277887213 | etot = -30.3810028102358 +38000 ekin = 3.69455547696867 | erot = 4.82722829899239 | epot = -38.8348230288023 | etot = -30.3130392528413 +39000 ekin = 3.59548909658498 | erot = 5.03318978839692 | epot = -38.9632877762134 | etot = -30.3346088912315 +40000 ekin = 3.72390826726257 | erot = 4.77008246177612 | epot = -39.0432740898074 | etot = -30.5492833607687 +41000 ekin = 3.7184513028698 | erot = 4.66721188475367 | epot = -39.0678678855714 | etot = -30.6822046979479 +42000 ekin = 3.54696055158215 | erot = 4.50731751167309 | epot = -39.0616854007739 | etot = -31.0074073375186 +43000 ekin = 3.57495163768253 | erot = 4.94852093613527 | epot = -39.0169365666546 | etot = -30.4934639928368 +44000 ekin = 3.52915394890511 | erot = 5.14481752350043 | epot = -38.9320102816113 | etot = -30.2580388092058 +45000 ekin = 3.36103362047068 | erot = 5.30737062665214 | epot = -38.8074049309155 | etot = -30.1390006837927 +46000 ekin = 3.33204426677162 | erot = 4.63880623753686 | epot = -38.6602813061651 | etot = -30.6894308018567 +47000 ekin = 3.3454696016767 | erot = 4.07237976376904 | epot = -38.5241501078279 | etot = -31.1063007423822 +48000 ekin = 3.40049787952109 | erot = 4.05251615432415 | epot = -38.3938498073684 | etot = -30.9408357735232 +49000 ekin = 3.31008896923646 | erot = 4.20737258711353 | epot = -38.2514760468931 | etot = -30.7340144905431 +50000 ekin = 3.27384446847297 | erot = 3.84861240213725 | epot = -38.0781706006621 | etot = -30.9557137300519 +51000 ekin = 3.28837845708164 | erot = 4.03176750511312 | epot = -37.91245244037 | etot = -30.5923064781752 +52000 ekin = 3.32612610774242 | erot = 3.69449114481266 | epot = -37.7461543084422 | etot = -30.7255370558871 +53000 ekin = 3.24704253260759 | erot = 3.82351300738073 | epot = -37.5996085904177 | etot = -30.5290530504294 +54000 ekin = 3.28722266262309 | erot = 3.86366065026162 | epot = -37.4297798097099 | etot = -30.2788964968252 +55000 ekin = 3.24079189906268 | erot = 3.69908024112645 | epot = -37.2469422361785 | etot = -30.3070700959894 +56000 ekin = 3.18312456980309 | erot = 3.4713329715515 | epot = -37.0860684089786 | etot = -30.4316108676241 +57000 ekin = 3.22541795737972 | erot = 3.05594699251095 | epot = -36.9568071104524 | etot = -30.6754421605617 +58000 ekin = 3.32107899021709 | erot = 2.99608132055998 | epot = -36.8451019319947 | etot = -30.5279416212176 +59000 ekin = 3.37756033387522 | erot = 3.02468556348912 | epot = -36.7527120143503 | etot = -30.3504661169859 +60000 ekin = 3.37838518206593 | erot = 2.80486585978148 | epot = -36.6500489307867 | etot = -30.4667978889392 +61000 ekin = 3.42593058259813 | erot = 2.57336693961351 | epot = -36.5598996921937 | etot = -30.5606021699821 +62000 ekin = 3.38330194206299 | erot = 2.48716523240096 | epot = -36.4917506706074 | etot = -30.6212834961435 +63000 ekin = 3.23944564751904 | erot = 2.68514269262914 | epot = -36.4581690118124 | etot = -30.5335806716642 +64000 ekin = 3.1285734084237 | erot = 2.81379000215892 | epot = -36.4694531808167 | etot = -30.5270897702341 +65000 ekin = 3.09729001722782 | erot = 2.97796742393485 | epot = -36.4999099304855 | etot = -30.4246524893228 +66000 ekin = 3.0253262521451 | erot = 2.98352661182229 | epot = -36.5477137383998 | etot = -30.5388608744324 +67000 ekin = 3.14798260660732 | erot = 3.20065089850766 | epot = -36.632076278664 | etot = -30.283442773549 +68000 ekin = 3.28121216444374 | erot = 3.27703862715895 | epot = -36.7797333797322 | etot = -30.2214825881296 +69000 ekin = 3.391098638729 | erot = 3.49453676740748 | epot = -36.9477169900693 | etot = -30.0620815839328 +70000 ekin = 3.52145416968697 | erot = 3.19663795891383 | epot = -37.1459833247571 | etot = -30.4278911961563 +71000 ekin = 3.72588366820861 | erot = 3.11523594110609 | epot = -37.3394708863319 | etot = -30.4983512770172 +72000 ekin = 3.87053189634938 | erot = 3.51504753627337 | epot = -37.5837173340765 | etot = -30.1981379014537 +73000 ekin = 4.04353464507253 | erot = 3.57819581965 | epot = -37.8491002809692 | etot = -30.2273698162467 +74000 ekin = 4.21655599164692 | erot = 3.67972843708669 | epot = -38.0370200626718 | etot = -30.1407356339382 +75000 ekin = 4.27518037345521 | erot = 3.50148075250718 | epot = -38.1503543696651 | etot = -30.3736932437027 +76000 ekin = 4.3926037838371 | erot = 3.17711135808543 | epot = -38.226977923484 | etot = -30.6572627815614 +77000 ekin = 4.46694156592382 | erot = 3.28356630286398 | epot = -38.2567512319257 | etot = -30.5062433631379 +78000 ekin = 4.58031785764155 | erot = 3.27581240698071 | epot = -38.2501645622443 | etot = -30.3940342976221 +79000 ekin = 4.74132912230465 | erot = 3.40062659497672 | epot = -38.2259226034579 | etot = -30.0839668861765 +80000 ekin = 4.84478519554004 | erot = 3.56980153308305 | epot = -38.1476686101295 | etot = -29.7330818815064 +81000 ekin = 4.71163727716959 | erot = 3.65201658810481 | epot = -38.0489180007763 | etot = -29.6852641355019 +82000 ekin = 4.6231089457345 | erot = 3.61128178949376 | epot = -37.9515873690418 | etot = -29.7171966338136 +83000 ekin = 4.53890753637784 | erot = 3.79707688079965 | epot = -37.8589639327866 | etot = -29.5229795156091 +84000 ekin = 4.51952558800252 | erot = 3.75897913437647 | epot = -37.8043394039476 | etot = -29.5258346815686 +85000 ekin = 4.44986224636033 | erot = 4.10169839029418 | epot = -37.7952059629823 | etot = -29.2436453263278 +86000 ekin = 4.40335859262163 | erot = 4.1830315863789 | epot = -37.8405946712624 | etot = -29.2542044922618 +87000 ekin = 4.34352629789851 | erot = 4.00093225674517 | epot = -37.898177567682 | etot = -29.5537190130383 +88000 ekin = 4.39692532206231 | erot = 3.88765396717278 | epot = -37.9120170018269 | etot = -29.6274377125919 +89000 ekin = 4.35895407807686 | erot = 4.06877052706293 | epot = -37.8812041939536 | etot = -29.4534795888138 +90000 ekin = 4.2071551167368 | erot = 3.96880041117194 | epot = -37.8268382933969 | etot = -29.6508827654882 +91000 ekin = 4.22021993231722 | erot = 4.12841045745293 | epot = -37.7475084891388 | etot = -29.3988780993687 +92000 ekin = 4.13264986882769 | erot = 3.86635436032361 | epot = -37.6428932571545 | etot = -29.6438890280032 +93000 ekin = 4.05697056146709 | erot = 3.48249980793531 | epot = -37.5034004108467 | etot = -29.9639300414443 +94000 ekin = 3.85560920909802 | erot = 3.51617278195618 | epot = -37.3716848222182 | etot = -29.999902831164 +95000 ekin = 3.70696167824248 | erot = 3.74539992686897 | epot = -37.2425364302771 | etot = -29.7901748251656 +96000 ekin = 3.64541489153293 | erot = 3.55177042583762 | epot = -37.1071295289262 | etot = -29.9099442115556 +97000 ekin = 3.59427366044318 | erot = 3.58237376190948 | epot = -36.990331249798 | etot = -29.8136838274454 +98000 ekin = 3.36609732779909 | erot = 3.78920076230077 | epot = -36.8893462899051 | etot = -29.7340481998052 +99000 ekin = 3.24308716626529 | erot = 3.98439513504793 | epot = -36.7958275145338 | etot = -29.5683452132205 +100000 ekin = 3.10105716620534 | erot = 3.88380514199007 | epot = -36.7237148853891 | etot = -29.7388525771937 +101000 ekin = 3.0539281420833 | erot = 3.92712981026617 | epot = -36.7019624525075 | etot = -29.720904500158 +102000 ekin = 3.21793305977278 | erot = 4.11601242104548 | epot = -36.7682713932651 | etot = -29.4343259124469 +103000 ekin = 3.29518049820534 | erot = 4.13622147772537 | epot = -36.8839850328144 | etot = -29.4525830568837 +104000 ekin = 3.38349143563989 | erot = 4.11834556660366 | epot = -37.0170458924467 | etot = -29.5152088902031 +105000 ekin = 3.43063719220731 | erot = 4.19281995644328 | epot = -37.1501255032183 | etot = -29.5266683545677 +106000 ekin = 3.39305878697925 | erot = 4.59139499879988 | epot = -37.2962927183006 | etot = -29.3118389325215 +107000 ekin = 3.49611625167404 | erot = 4.42190170056934 | epot = -37.429825379218 | etot = -29.5118074269746 +108000 ekin = 3.59165643487548 | erot = 4.73333858652907 | epot = -37.4821370449025 | etot = -29.1571420234979 +109000 ekin = 3.59878557010273 | erot = 5.08720641062768 | epot = -37.4454225962912 | etot = -28.7594306155607 +110000 ekin = 3.52607850054496 | erot = 4.92743402067516 | epot = -37.33464551381 | etot = -28.8811329925899 +111000 ekin = 3.52196404281898 | erot = 4.48970120472513 | epot = -37.2166378630308 | etot = -29.2049726154866 +112000 ekin = 3.64094551226764 | erot = 4.18578082474288 | epot = -37.1356107687899 | etot = -29.3088844317794 +113000 ekin = 3.59908785035481 | erot = 3.81929848767576 | epot = -37.1563156196511 | etot = -29.7379292816205 +114000 ekin = 3.73247165614536 | erot = 3.71912191326134 | epot = -37.1841072802385 | etot = -29.7325137108319 +115000 ekin = 3.81386546938822 | erot = 3.49889872890813 | epot = -37.2616543115736 | etot = -29.9488901132773 +116000 ekin = 4.05829999340879 | erot = 3.583906655014 | epot = -37.400300568259 | etot = -29.7580939198362 +117000 ekin = 4.2755011092504 | erot = 3.79076820440129 | epot = -37.5923004712666 | etot = -29.5260311576149 +118000 ekin = 4.45490103530211 | erot = 3.7791518579582 | epot = -37.7846946186124 | etot = -29.5506417253521 +119000 ekin = 4.58790399115629 | erot = 3.86870152715712 | epot = -37.9811558924432 | etot = -29.5245503741297 +120000 ekin = 4.92259141545339 | erot = 3.84940365834989 | epot = -38.1382043293411 | etot = -29.3662092555378 +121000 ekin = 5.13183269148587 | erot = 4.03705087488501 | epot = -38.2560800244006 | etot = -29.0871964580297 +122000 ekin = 5.17140868558149 | erot = 3.61810962674126 | epot = -38.3381390234361 | etot = -29.5486207111134 +123000 ekin = 5.28384467069883 | erot = 4.14897954513985 | epot = -38.3803925391065 | etot = -28.9475683232678 +124000 ekin = 5.45144965935765 | erot = 3.74948516195918 | epot = -38.4152715166926 | etot = -29.2143366953758 +125000 ekin = 5.49907232704439 | erot = 3.62957174075199 | epot = -38.4698081948493 | etot = -29.3411641270529 +126000 ekin = 5.8127555292288 | erot = 3.50370762045619 | epot = -38.5369283444353 | etot = -29.2204651947503 +127000 ekin = 5.71810535961404 | erot = 3.50153411217259 | epot = -38.6097648991191 | etot = -29.3901254273324 +128000 ekin = 5.59769610955136 | erot = 2.99726680348461 | epot = -38.6545287261793 | etot = -30.0595658131433 +129000 ekin = 5.5165718206709 | erot = 3.37515224045301 | epot = -38.6909141535705 | etot = -29.7991900924466 +130000 ekin = 5.46626997343509 | erot = 3.77525421867709 | epot = -38.7059148210798 | etot = -29.4643906289676 +131000 ekin = 5.36987741440168 | erot = 3.92459463488603 | epot = -38.6781199948589 | etot = -29.3836479455712 +132000 ekin = 5.13704854269979 | erot = 3.89365302265496 | epot = -38.6113331110922 | etot = -29.5806315457375 +133000 ekin = 5.04851208372161 | erot = 4.17613618410271 | epot = -38.4969113589743 | etot = -29.2722630911499 +134000 ekin = 4.96335667475928 | erot = 4.28428652813699 | epot = -38.3084161100388 | etot = -29.0607729071425 +135000 ekin = 4.67485522816786 | erot = 3.71485446936997 | epot = -38.043760165967 | etot = -29.6540504684292 +136000 ekin = 4.48906299160435 | erot = 4.19015103736174 | epot = -37.7533241067268 | etot = -29.0741100777607 +137000 ekin = 4.31371561077628 | erot = 3.47925724303279 | epot = -37.4739407743091 | etot = -29.6809679205001 +138000 ekin = 3.96696543473046 | erot = 3.71675428283144 | epot = -37.2042587721449 | etot = -29.520539054583 +139000 ekin = 3.59101315513257 | erot = 3.64278698721023 | epot = -36.9457852108065 | etot = -29.7119850684637 +140000 ekin = 3.44095423425056 | erot = 3.49830537198601 | epot = -36.7203613080885 | etot = -29.7811017018519 +141000 ekin = 3.36296546737416 | erot = 3.56983741924016 | epot = -36.496476745137 | etot = -29.5636738585227 +142000 ekin = 3.18252441669298 | erot = 3.32935464682707 | epot = -36.324475892532 | etot = -29.812596829012 +143000 ekin = 3.18465930443875 | erot = 3.56170045589758 | epot = -36.2215210957517 | etot = -29.4751613354154 +144000 ekin = 3.08106725409761 | erot = 3.50261030291577 | epot = -36.151244725806 | etot = -29.5675671687926 +145000 ekin = 3.0809377636579 | erot = 3.51948185643664 | epot = -36.0863085456325 | etot = -29.4858889255379 +146000 ekin = 3.02030159479372 | erot = 3.37397305462396 | epot = -36.0845314152705 | etot = -29.6902567658529 +147000 ekin = 3.04139072985625 | erot = 3.36603954258544 | epot = -36.1557232229402 | etot = -29.7482929504985 +148000 ekin = 3.14853067203546 | erot = 3.14562859809661 | epot = -36.2494960139436 | etot = -29.9553367438116 +149000 ekin = 3.18195150813254 | erot = 3.58071760906396 | epot = -36.3477640598877 | etot = -29.5850949426912 +150000 ekin = 3.21133048799954 | erot = 3.85389957660273 | epot = -36.4132627454726 | etot = -29.3480326808703 +151000 ekin = 3.34144104231994 | erot = 3.4939153763212 | epot = -36.478294453089 | etot = -29.6429380344479 +152000 ekin = 3.38469121090087 | erot = 3.35926284582863 | epot = -36.5578474424846 | etot = -29.8138933857551 +153000 ekin = 3.52527639525619 | erot = 3.56811727016302 | epot = -36.6674257186119 | etot = -29.5740320531927 +154000 ekin = 3.77924799771019 | erot = 3.52145795256778 | epot = -36.762260192104 | etot = -29.4615542418261 +155000 ekin = 3.83418008764597 | erot = 3.28305394597542 | epot = -36.8282659682366 | etot = -29.7110319346152 +156000 ekin = 3.87517167307501 | erot = 2.75621015438911 | epot = -36.8507311290658 | etot = -30.2193493016017 +157000 ekin = 3.89846784481905 | erot = 3.03513966490474 | epot = -36.8490467787065 | etot = -29.9154392689827 +158000 ekin = 3.86372390524152 | erot = 3.067331408384 | epot = -36.8143502444314 | etot = -29.8832949308059 +159000 ekin = 3.8756082258688 | erot = 2.72238394226933 | epot = -36.772006665376 | etot = -30.1740144972379 +160000 ekin = 3.816595406495 | erot = 2.7916288304199 | epot = -36.7456092138712 | etot = -30.1373849769563 +161000 ekin = 3.90364665450467 | erot = 2.85891130626936 | epot = -36.6767188031102 | etot = -29.9141608423362 +162000 ekin = 3.93432840871765 | erot = 3.23277686088016 | epot = -36.6068502811304 | etot = -29.4397450115325 +163000 ekin = 3.97425577903384 | erot = 2.70754263327067 | epot = -36.5720643915927 | etot = -29.8902659792882 +164000 ekin = 3.91949827572841 | erot = 3.0566880418144 | epot = -36.581283859358 | etot = -29.6050975418151 +165000 ekin = 3.9942517956167 | erot = 3.29785069907587 | epot = -36.6379374004759 | etot = -29.3458349057833 +166000 ekin = 4.02904533815552 | erot = 3.36634066781836 | epot = -36.7340868254039 | etot = -29.33870081943 +167000 ekin = 4.03733260337014 | erot = 3.51733984448515 | epot = -36.8476519248274 | etot = -29.2929794769721 +168000 ekin = 4.01641387278363 | erot = 3.37538682559175 | epot = -36.971098022016 | etot = -29.5792973236406 +169000 ekin = 3.94799788750035 | erot = 3.38842418926848 | epot = -37.1207420196436 | etot = -29.7843199428747 +170000 ekin = 3.98944239104564 | erot = 3.56779767670635 | epot = -37.292260024934 | etot = -29.735019957182 +171000 ekin = 4.04980262307328 | erot = 3.8730831046424 | epot = -37.4956434312018 | etot = -29.5727577034861 +172000 ekin = 4.10498686245119 | erot = 4.24595756362535 | epot = -37.6879527015218 | etot = -29.3370082754453 +173000 ekin = 4.12919710204917 | erot = 4.28575123018794 | epot = -37.8940672883491 | etot = -29.479118956112 +174000 ekin = 4.04607401980725 | erot = 4.41784593637421 | epot = -38.1063274639935 | etot = -29.642407507812 +175000 ekin = 4.13007220306937 | erot = 4.3967913469306 | epot = -38.3139522350313 | etot = -29.7870886850313 +176000 ekin = 4.1414636964047 | erot = 4.25565002500116 | epot = -38.5085743578727 | etot = -30.1114606364668 +177000 ekin = 4.33605278083852 | erot = 4.58687123058771 | epot = -38.663345411644 | etot = -29.7404214002177 +178000 ekin = 4.3268891648432 | erot = 4.50454813785607 | epot = -38.7700089206451 | etot = -29.9385716179458 +179000 ekin = 4.39331384776191 | erot = 4.88121292734115 | epot = -38.8147888868657 | etot = -29.5402621117627 +180000 ekin = 4.36409495919781 | erot = 4.62653667682595 | epot = -38.7920356589674 | etot = -29.8014040229436 +181000 ekin = 4.40002739116619 | erot = 4.26572305349555 | epot = -38.732090098002 | etot = -30.0663396533403 +182000 ekin = 4.38584471768798 | erot = 4.03958660380944 | epot = -38.6652721860918 | etot = -30.2398408645944 +183000 ekin = 4.38872118980235 | erot = 4.03920994265157 | epot = -38.5494953603399 | etot = -30.121564227886 +184000 ekin = 4.58261674670928 | erot = 4.09854761999429 | epot = -38.385824841967 | etot = -29.7046604752634 +185000 ekin = 4.61324410405523 | erot = 4.15998485211153 | epot = -38.1895073749228 | etot = -29.416278418756 +186000 ekin = 4.58712030480541 | erot = 3.80292929559516 | epot = -37.9691363595882 | etot = -29.5790867591876 +187000 ekin = 4.49704057160018 | erot = 3.79953063209063 | epot = -37.7563677349906 | etot = -29.4597965312998 +188000 ekin = 4.67801335458731 | erot = 3.94614018085653 | epot = -37.5596730791519 | etot = -28.9355195437081 +189000 ekin = 4.72635028851209 | erot = 3.97986342680415 | epot = -37.3737961852725 | etot = -28.6675824699563 +190000 ekin = 4.7042288678312 | erot = 3.76567525080941 | epot = -37.196832874262 | etot = -28.7269287556214 +191000 ekin = 4.76615905270403 | erot = 4.11771710042025 | epot = -37.0524866708229 | etot = -28.1686105176986 +192000 ekin = 4.66334615993905 | erot = 4.32180108624872 | epot = -36.9281089002537 | etot = -27.9429616540659 +193000 ekin = 4.54227272612665 | erot = 4.37403333624804 | epot = -36.8106507982267 | etot = -27.894344735852 +194000 ekin = 4.462583886268 | erot = 4.57094153868338 | epot = -36.7126835627942 | etot = -27.6791581378429 +195000 ekin = 4.26009039309661 | erot = 5.10893274622673 | epot = -36.6717506302939 | etot = -27.3027274909705 +196000 ekin = 4.24016895096413 | erot = 4.95101320260786 | epot = -36.6607739952153 | etot = -27.4695918416433 +197000 ekin = 4.07555507933054 | erot = 5.3373115761178 | epot = -36.6886082622519 | etot = -27.2757416068035 +198000 ekin = 3.98091713951368 | erot = 5.37374733968393 | epot = -36.7238260637148 | etot = -27.3691615845172 +199000 ekin = 4.0006733079207 | erot = 5.36035180423053 | epot = -36.7643724815872 | etot = -27.403347369436 +200000 ekin = 3.91652525767982 | erot = 4.88675678602831 | epot = -36.7730308398529 | etot = -27.9697487961448 +201000 ekin = 3.81609915882208 | erot = 4.31400854830159 | epot = -36.7481890160651 | etot = -28.6180813089414 +202000 ekin = 3.71932569397591 | erot = 4.38569878861434 | epot = -36.6956778034205 | etot = -28.5906533208303 +203000 ekin = 3.6429062307207 | erot = 4.3750378945926 | epot = -36.6304609598585 | etot = -28.6125168345452 +204000 ekin = 3.52854777039972 | erot = 4.29732321046263 | epot = -36.5744389849187 | etot = -28.7485680040564 +205000 ekin = 3.47688319826114 | erot = 4.05205396768161 | epot = -36.531456554712 | etot = -29.0025193887692 +206000 ekin = 3.57867350058512 | erot = 4.2868191467488 | epot = -36.5152410045852 | etot = -28.6497483572513 +207000 ekin = 3.67789472949123 | erot = 4.07649115773256 | epot = -36.4807964879222 | etot = -28.7264106006985 +208000 ekin = 3.75162300302636 | erot = 3.99412890438549 | epot = -36.4719013777705 | etot = -28.7261494703586 +209000 ekin = 3.82882555476977 | erot = 4.07806686544388 | epot = -36.5274965379165 | etot = -28.6206041177029 +210000 ekin = 3.9458995738135 | erot = 4.05524037388635 | epot = -36.6356567037899 | etot = -28.6345167560901 +211000 ekin = 4.07654365300251 | erot = 3.99406586158705 | epot = -36.7715123193756 | etot = -28.7009028047861 +212000 ekin = 4.28409313331832 | erot = 4.41351434873083 | epot = -36.9240266223076 | etot = -28.2264191402585 +213000 ekin = 4.49200123945991 | erot = 4.57752549048093 | epot = -37.0744914076607 | etot = -28.0049646777198 +214000 ekin = 4.68170470060552 | erot = 4.83486386570226 | epot = -37.2372407583265 | etot = -27.7206721920187 +215000 ekin = 4.98081379617907 | erot = 4.46606343482571 | epot = -37.4068324828893 | etot = -27.9599552518845 +216000 ekin = 5.16729766417649 | erot = 4.60318830168464 | epot = -37.546455570517 | etot = -27.7759696046559 +217000 ekin = 5.38386929678543 | erot = 4.77752494373566 | epot = -37.6405601527457 | etot = -27.4791659122246 +218000 ekin = 5.7058164504652 | erot = 4.70370884810736 | epot = -37.698401969983 | etot = -27.2888766714105 +219000 ekin = 5.88600523163575 | erot = 4.58694924042826 | epot = -37.7125786046513 | etot = -27.2396241325873 +220000 ekin = 6.15427965488963 | erot = 4.42931316972489 | epot = -37.6846020761394 | etot = -27.1010092515249 +221000 ekin = 6.20955938015943 | erot = 4.54001725187623 | epot = -37.6213945439905 | etot = -26.8718179119549 +222000 ekin = 6.24568472622515 | erot = 4.97311797105802 | epot = -37.5132484834206 | etot = -26.2944457861374 +223000 ekin = 6.23087495739475 | erot = 4.87026240860754 | epot = -37.4093126450282 | etot = -26.3081752790259 +224000 ekin = 6.34215727178104 | erot = 4.95416073100343 | epot = -37.3138628835635 | etot = -26.017544880779 +225000 ekin = 6.34418551658282 | erot = 4.97197547495999 | epot = -37.2296241301023 | etot = -25.9134631385595 +226000 ekin = 6.27234146176753 | erot = 4.712320761698 | epot = -37.16490911443 | etot = -26.1802468909645 +227000 ekin = 6.29782050547387 | erot = 4.64279996368984 | epot = -37.1521034204924 | etot = -26.2114829513287 +228000 ekin = 6.45215375342329 | erot = 4.66543105642573 | epot = -37.1176036705896 | etot = -26.0000188607406 +229000 ekin = 6.57609932445413 | erot = 4.31104294387352 | epot = -37.0319087568376 | etot = -26.1447664885099 +230000 ekin = 6.3941596764924 | erot = 4.16613500609599 | epot = -36.9020701489014 | etot = -26.341775466313 +231000 ekin = 6.06981997767513 | erot = 4.16164382030047 | epot = -36.7672531588279 | etot = -26.5357893608523 +232000 ekin = 6.07851417086582 | erot = 3.92614169635025 | epot = -36.6287349588706 | etot = -26.6240790916545 +233000 ekin = 5.86578448983374 | erot = 3.89415959164517 | epot = -36.465034335415 | etot = -26.7050902539361 +234000 ekin = 5.66525736866247 | erot = 3.89419060194184 | epot = -36.3317105619283 | etot = -26.772262591324 +235000 ekin = 5.45947253618382 | erot = 3.51915643493605 | epot = -36.1877403763664 | etot = -27.2091114052465 +236000 ekin = 5.23839596197748 | erot = 3.35080370425763 | epot = -36.0601413821509 | etot = -27.4709417159157 +237000 ekin = 5.11015038693027 | erot = 3.41418634041097 | epot = -35.9797234474552 | etot = -27.455386720114 +238000 ekin = 5.07705507560246 | erot = 3.55422258848944 | epot = -35.9558941013165 | etot = -27.3246164372246 +239000 ekin = 5.11036683512567 | erot = 3.60903830571379 | epot = -35.9686036709486 | etot = -27.2491985301092 +240000 ekin = 5.05273101840451 | erot = 3.85355249273515 | epot = -36.0380166955248 | etot = -27.1317331843852 +241000 ekin = 5.09369536459292 | erot = 3.6433800043733 | epot = -36.1343234897539 | etot = -27.3972481207877 +242000 ekin = 5.26488817621227 | erot = 4.01055195692897 | epot = -36.2412063129141 | etot = -26.9657661797729 +243000 ekin = 5.23195261672929 | erot = 4.46546566729833 | epot = -36.345605429643 | etot = -26.6481871456153 +244000 ekin = 5.22638739434401 | erot = 4.31088904489896 | epot = -36.4415840114135 | etot = -26.9043075721705 +245000 ekin = 5.44853137039486 | erot = 4.17607977278288 | epot = -36.5182986507189 | etot = -26.8936875075411 +246000 ekin = 5.51456970399734 | erot = 3.7459544203853 | epot = -36.5760003166761 | etot = -27.3154761922935 +247000 ekin = 5.60809096899872 | erot = 4.15307717654149 | epot = -36.6102851986096 | etot = -26.8491170530694 +248000 ekin = 5.44607700345041 | erot = 4.00137483235449 | epot = -36.6173189081378 | etot = -27.1698670723329 +249000 ekin = 5.39824066997391 | erot = 4.00527284085302 | epot = -36.6178595818604 | etot = -27.2143460710335 +250000 ekin = 5.40591864200621 | erot = 3.83152692098389 | epot = -36.5913298844141 | etot = -27.3538843214239 +251000 ekin = 5.42515843147756 | erot = 3.74120297831872 | epot = -36.5372880481644 | etot = -27.3709266383681 +252000 ekin = 5.4712575658911 | erot = 3.93923600749343 | epot = -36.4718103145524 | etot = -27.0613167411679 +253000 ekin = 5.45280164405796 | erot = 4.07788577485834 | epot = -36.3971958399354 | etot = -26.8665084210191 +254000 ekin = 5.351360104931 | erot = 4.05065697891534 | epot = -36.3208515747331 | etot = -26.9188344908867 +255000 ekin = 5.26929844479126 | erot = 3.99546469631013 | epot = -36.2503502909171 | etot = -26.9855871498158 +256000 ekin = 5.28023678974981 | erot = 4.22040986008114 | epot = -36.1946445254556 | etot = -26.6939978756247 +257000 ekin = 5.06048081748237 | erot = 4.23177072887926 | epot = -36.1310700373981 | etot = -26.8388184910365 +258000 ekin = 5.04266904507291 | erot = 4.32321520327971 | epot = -36.0647093578756 | etot = -26.6988251095229 +259000 ekin = 4.83091830266356 | erot = 4.34656742782584 | epot = -36.0089991272069 | etot = -26.8315133967175 +260000 ekin = 4.836699911676 | erot = 4.25709648660297 | epot = -35.96970369746 | etot = -26.875907299181 +261000 ekin = 4.77396719262991 | erot = 4.0929221497623 | epot = -35.9054139064718 | etot = -27.0385245640796 +262000 ekin = 4.6660127085841 | erot = 3.73102576614632 | epot = -35.8157479345105 | etot = -27.4187094597801 +263000 ekin = 4.58027061960237 | erot = 3.74679758350867 | epot = -35.7631254737833 | etot = -27.4360572706722 +264000 ekin = 4.65921569864907 | erot = 3.90501973343979 | epot = -35.7356757776858 | etot = -27.1714403455969 +265000 ekin = 4.67586149937357 | erot = 3.94654925905527 | epot = -35.7049387943769 | etot = -27.0825280359481 +266000 ekin = 4.69584694538616 | erot = 3.98055672084523 | epot = -35.6673176149281 | etot = -26.9909139486967 +267000 ekin = 4.78499421533014 | erot = 4.0364816915833 | epot = -35.6392507408913 | etot = -26.8177748339778 +268000 ekin = 4.84316914009132 | erot = 3.9986077800244 | epot = -35.6448334716871 | etot = -26.8030565515714 +269000 ekin = 4.90837806472402 | erot = 4.04652570535906 | epot = -35.6496420701673 | etot = -26.6947383000842 +270000 ekin = 4.78579400655356 | erot = 4.34179455226934 | epot = -35.6115561484025 | etot = -26.4839675895796 +271000 ekin = 4.85153732395834 | erot = 3.76641259729514 | epot = -35.613775306659 | etot = -26.9958253854055 +272000 ekin = 4.97803664593813 | erot = 4.19853764559888 | epot = -35.66422567808 | etot = -26.487651386543 +273000 ekin = 4.99431287425886 | erot = 4.16775756950246 | epot = -35.7125500141237 | etot = -26.5504795703624 +274000 ekin = 5.02755533075327 | erot = 4.06015777810426 | epot = -35.7335253506941 | etot = -26.6458122418365 +275000 ekin = 4.96372481963275 | erot = 4.27522667590852 | epot = -35.7375976828865 | etot = -26.4986461873452 +276000 ekin = 5.07934127118678 | erot = 4.03884457577036 | epot = -35.7684807851686 | etot = -26.6502949382115 +277000 ekin = 5.11065676525152 | erot = 3.89593355388357 | epot = -35.8299825238668 | etot = -26.8233922047317 +278000 ekin = 5.14434493464948 | erot = 4.10431801630069 | epot = -35.9156424264978 | etot = -26.6669794755476 +279000 ekin = 5.13854043459747 | erot = 3.33687958464002 | epot = -35.9567280939811 | etot = -27.4813080747437 +280000 ekin = 5.13698711985543 | erot = 3.1321095347802 | epot = -35.9663254349012 | etot = -27.6972287802656 +281000 ekin = 5.12014323326354 | erot = 3.01072130069868 | epot = -35.9687821467586 | etot = -27.8379176127964 +282000 ekin = 5.0748729819616 | erot = 2.78222371236629 | epot = -35.9666224009213 | etot = -28.1095257065934 +283000 ekin = 4.93728532174382 | erot = 2.51682526487889 | epot = -36.0092096947433 | etot = -28.5550991081205 +284000 ekin = 5.10799487537326 | erot = 2.34406164243711 | epot = -36.0766867016223 | etot = -28.6246301838119 +285000 ekin = 5.21438921802967 | erot = 2.42355410917311 | epot = -36.1686025783611 | etot = -28.5306592511584 +286000 ekin = 5.22674428893558 | erot = 2.43127546535952 | epot = -36.2811716154217 | etot = -28.6231518611266 +287000 ekin = 5.42842235635899 | erot = 2.80110266939532 | epot = -36.3926299688269 | etot = -28.1631049430726 +288000 ekin = 5.53841609379804 | erot = 3.04198571498546 | epot = -36.5118610231694 | etot = -27.9314592143859 +289000 ekin = 5.3467040301105 | erot = 3.09938875481675 | epot = -36.6304827875393 | etot = -28.184390002612 +290000 ekin = 5.34231674745426 | erot = 3.31160144161375 | epot = -36.7456392368754 | etot = -28.0917210478074 +291000 ekin = 5.36188526202177 | erot = 3.45917476353394 | epot = -36.8302537236161 | etot = -28.0091936980603 +292000 ekin = 5.47780509141152 | erot = 3.77906726321804 | epot = -36.8842491471654 | etot = -27.6273767925359 +293000 ekin = 5.28302000096844 | erot = 3.57818629599035 | epot = -36.8949841799423 | etot = -28.0337778829835 +294000 ekin = 5.30853543438815 | erot = 3.56263204697584 | epot = -36.8825736697856 | etot = -28.0114061884216 +295000 ekin = 5.20536069491162 | erot = 3.77206495855666 | epot = -36.8703913967998 | etot = -27.8929657433315 +296000 ekin = 5.16948391824595 | erot = 3.64242202500107 | epot = -36.8524591521914 | etot = -28.0405532089444 +297000 ekin = 5.14948698293416 | erot = 3.5630007131842 | epot = -36.8077681088433 | etot = -28.095280412725 +298000 ekin = 5.07831718808015 | erot = 3.56647326916591 | epot = -36.7441951556035 | etot = -28.0994046983574 +299000 ekin = 5.07638833142119 | erot = 3.33911289208736 | epot = -36.7050879472261 | etot = -28.2895867237176 +300000 ekin = 5.03413727775465 | erot = 3.74853034027346 | epot = -36.6636621891821 | etot = -27.880994571154 +301000 ekin = 4.97235848835827 | erot = 3.32835758650059 | epot = -36.6711630757898 | etot = -28.370447000931 +302000 ekin = 5.0096895871007 | erot = 3.04854259478463 | epot = -36.7093256921458 | etot = -28.6510935102605 +303000 ekin = 5.12929110471125 | erot = 3.0802372254872 | epot = -36.7951841728067 | etot = -28.5856558426083 +304000 ekin = 5.16690416140484 | erot = 3.34049274708998 | epot = -36.9126194047401 | etot = -28.4052224962453 +305000 ekin = 5.23349789631504 | erot = 3.46551744359714 | epot = -37.0448370009165 | etot = -28.3458216610043 +306000 ekin = 5.2886097452738 | erot = 3.56105103024495 | epot = -37.1811985422466 | etot = -28.3315377667279 +307000 ekin = 5.40125295123197 | erot = 3.87520415097948 | epot = -37.30553234416 | etot = -28.0290752419485 +308000 ekin = 5.46740727789042 | erot = 3.91865002312583 | epot = -37.389277815527 | etot = -28.0032205145107 +309000 ekin = 5.43990046762824 | erot = 4.00265425349909 | epot = -37.4336308324254 | etot = -27.991076111298 +310000 ekin = 5.38744019614249 | erot = 3.91760045067581 | epot = -37.4766997166659 | etot = -28.1716590698476 +311000 ekin = 5.54869794564873 | erot = 3.97913763348747 | epot = -37.5380640420298 | etot = -28.0102284628936 +312000 ekin = 5.71519006739875 | erot = 4.09263126769848 | epot = -37.5745318459452 | etot = -27.766710510848 +313000 ekin = 5.60331607661102 | erot = 3.83543196463859 | epot = -37.6101139619702 | etot = -28.1713659207206 +314000 ekin = 5.5180041708143 | erot = 3.7494474523439 | epot = -37.6279066647949 | etot = -28.3604550416367 +315000 ekin = 5.47833005901007 | erot = 4.08581993263796 | epot = -37.6406124353411 | etot = -28.0764624436931 +316000 ekin = 5.33860837296308 | erot = 4.51116644302033 | epot = -37.6217312448187 | etot = -27.7719564288353 +317000 ekin = 5.23941916557626 | erot = 4.78689518832633 | epot = -37.5731600528525 | etot = -27.5468456989499 +318000 ekin = 5.11187775633088 | erot = 4.8295881268003 | epot = -37.5155006216098 | etot = -27.5740347384786 +319000 ekin = 5.22954347525669 | erot = 4.49457407004892 | epot = -37.4371163833055 | etot = -27.7129988379999 +320000 ekin = 5.30878948863373 | erot = 4.92186054084621 | epot = -37.3586788029377 | etot = -27.1280287734577 +321000 ekin = 5.25051542685368 | erot = 4.81963950413293 | epot = -37.3122945279909 | etot = -27.2421395970043 +322000 ekin = 5.07574443571119 | erot = 4.74007360204251 | epot = -37.2420599117422 | etot = -27.4262418739885 +323000 ekin = 5.0265325350937 | erot = 4.66604787555056 | epot = -37.1620424354779 | etot = -27.4694620248336 +324000 ekin = 5.12999279273048 | erot = 4.55456244400843 | epot = -37.1081993843435 | etot = -27.4236441476046 +325000 ekin = 5.01484863365259 | erot = 5.03270116093541 | epot = -37.0549970668844 | etot = -27.0074472722964 +326000 ekin = 5.15105125743363 | erot = 4.77726330645675 | epot = -37.0062804471437 | etot = -27.0779658832534 +327000 ekin = 5.17373663939357 | erot = 4.75720955177068 | epot = -36.9735735310225 | etot = -27.0426273398583 +328000 ekin = 5.3265809986392 | erot = 4.45847251670634 | epot = -36.9463177254326 | etot = -27.1612642100871 +329000 ekin = 5.28491385975229 | erot = 4.23650020870599 | epot = -36.9151642788529 | etot = -27.3937502103946 +330000 ekin = 5.12552135481235 | erot = 4.79027984581653 | epot = -36.8863179466158 | etot = -26.9705167459869 +331000 ekin = 5.12103290586643 | erot = 5.03778117543898 | epot = -36.841363047454 | etot = -26.6825489661486 +332000 ekin = 5.06929714597605 | erot = 4.90820597157557 | epot = -36.7488012231946 | etot = -26.771298105643 +333000 ekin = 4.96505468499555 | erot = 5.01335794632778 | epot = -36.6271163009911 | etot = -26.6487036696678 +334000 ekin = 4.99343125906659 | erot = 5.01439694959199 | epot = -36.5036049758887 | etot = -26.4957767672301 +335000 ekin = 4.90069371729875 | erot = 4.54385275511657 | epot = -36.3777599646381 | etot = -26.9332134922228 +336000 ekin = 5.07863725672875 | erot = 4.69305135725135 | epot = -36.2629152842756 | etot = -26.4912266702956 +337000 ekin = 4.94799955754133 | erot = 4.52583833193069 | epot = -36.1612360033462 | etot = -26.6873981138742 +338000 ekin = 4.85224868200284 | erot = 4.50041298245555 | epot = -36.0752991866383 | etot = -26.7226375221799 +339000 ekin = 4.72144640536423 | erot = 4.54752039051223 | epot = -35.9970632546972 | etot = -26.7280964588208 +340000 ekin = 4.80943098922164 | erot = 4.34708343509498 | epot = -35.9687361528352 | etot = -26.8122217285186 +341000 ekin = 4.70361214653931 | erot = 4.47793300498463 | epot = -35.9999322617905 | etot = -26.8183871102666 +342000 ekin = 4.76064761481744 | erot = 4.66605256976241 | epot = -36.0433784122729 | etot = -26.616678227693 +343000 ekin = 4.67728032528768 | erot = 4.6610083917642 | epot = -35.9211632159824 | etot = -26.5828744989305 +344000 ekin = 4.96339724601181 | erot = 4.93823124551168 | epot = -36.2212250614817 | etot = -26.3195965699582 +345000 ekin = 4.92216540601158 | erot = 5.10460165774345 | epot = -36.3841924486034 | etot = -26.3574253848484 +346000 ekin = 4.99792813974856 | erot = 4.77882820289903 | epot = -36.4406602112533 | etot = -26.6639038686057 +347000 ekin = 4.97738387739107 | erot = 4.57238123569529 | epot = -36.4353446283208 | etot = -26.8855795152344 +348000 ekin = 4.92451917191307 | erot = 4.32330547944774 | epot = -36.3741726686486 | etot = -27.1263480172878 +349000 ekin = 4.7901834448853 | erot = 4.64955099606445 | epot = -36.2232051796221 | etot = -26.7834707386723 +350000 ekin = 4.74997485376102 | erot = 4.41441619333004 | epot = -36.0086530481284 | etot = -26.8442620010373 +351000 ekin = 4.65861306362097 | erot = 4.54712008187945 | epot = -35.7312651155867 | etot = -26.5255319700863 +352000 ekin = 4.64876538273139 | erot = 4.76138349321515 | epot = -35.4506369361125 | etot = -26.0404880601659 +353000 ekin = 4.59253342080998 | erot = 4.29456686626234 | epot = -35.1553683981332 | etot = -26.2682681110609 +354000 ekin = 4.53810163149175 | erot = 4.43945254667827 | epot = -34.9111484982539 | etot = -25.9335943200839 +355000 ekin = 4.47391617267565 | erot = 4.20275229581248 | epot = -34.7382448152827 | etot = -26.0615763467945 +356000 ekin = 4.33084740359816 | erot = 4.16589789857799 | epot = -34.6459462576645 | etot = -26.1492009554884 +357000 ekin = 4.27639689643504 | erot = 4.49834201135675 | epot = -34.6234093478584 | etot = -25.8486704400666 +358000 ekin = 4.37058163127524 | erot = 4.6282751781028 | epot = -34.6601229270853 | etot = -25.6612661177073 +359000 ekin = 4.33282658147824 | erot = 4.35852771696217 | epot = -34.7355034140381 | etot = -26.0441491155977 +360000 ekin = 4.23025745994598 | erot = 3.7369218729668 | epot = -34.827271441646 | etot = -26.8600921087332 +361000 ekin = 4.32772510308485 | erot = 3.40799158120903 | epot = -34.9260321184264 | etot = -27.1903154341325 +362000 ekin = 4.4377220758705 | erot = 3.92824256651614 | epot = -35.0362517129441 | etot = -26.6702870705575 +363000 ekin = 4.60059512711655 | erot = 3.78527820800773 | epot = -35.149230388508 | etot = -26.7633570533837 +364000 ekin = 4.67620778921741 | erot = 3.65656363116 | epot = -35.2108467629341 | etot = -26.8780753425567 +365000 ekin = 4.68744796027325 | erot = 3.48647035761111 | epot = -35.257929142539 | etot = -27.0840108246547 +366000 ekin = 4.6317169465738 | erot = 3.80732263161735 | epot = -35.3317328424945 | etot = -26.8926932643033 +367000 ekin = 4.58794520776095 | erot = 4.31664541166351 | epot = -35.4114076873989 | etot = -26.5068170679744 +368000 ekin = 4.53697760644319 | erot = 4.37812449310847 | epot = -35.4654560531487 | etot = -26.550353953597 +369000 ekin = 4.50593348762442 | erot = 4.09682529638616 | epot = -35.5029044754857 | etot = -26.9001456914751 +370000 ekin = 4.51011536275109 | erot = 4.41695795738163 | epot = -35.5220659543716 | etot = -26.5949926342389 +371000 ekin = 4.5304986013542 | erot = 4.68112317412985 | epot = -35.5213297387008 | etot = -26.3097079632167 +372000 ekin = 4.42660066351873 | erot = 4.7814861185934 | epot = -35.5227844835438 | etot = -26.3146977014317 +373000 ekin = 4.28146792836394 | erot = 4.87997662616399 | epot = -35.4825501780567 | etot = -26.3211056235288 +374000 ekin = 4.13287464156696 | erot = 4.84001159820223 | epot = -35.452301102515 | etot = -26.4794148627458 +375000 ekin = 4.12545451947128 | erot = 4.81807433824656 | epot = -35.4637375699464 | etot = -26.5202087122286 +376000 ekin = 3.87506271806601 | erot = 5.35141111797735 | epot = -35.4720072259955 | etot = -26.2455333899521 +377000 ekin = 3.79770565908006 | erot = 5.28013401771271 | epot = -35.5177354201972 | etot = -26.4398957434045 +378000 ekin = 3.64048261255644 | erot = 5.4207242379617 | epot = -35.580823638477 | etot = -26.5196167879589 +379000 ekin = 3.5238611157663 | erot = 5.9756700460675 | epot = -35.6532146067628 | etot = -26.153683444929 +380000 ekin = 3.32387900413165 | erot = 6.59135162244908 | epot = -35.7551331169146 | etot = -25.8399024903339 +381000 ekin = 3.31695717077427 | erot = 6.10983514346606 | epot = -35.8815158952865 | etot = -26.4547235810462 +382000 ekin = 3.19546651526091 | erot = 6.36489840257035 | epot = -35.9926058393694 | etot = -26.4322409215381 +383000 ekin = 3.2436816976457 | erot = 6.33114976953688 | epot = -36.0664601033041 | etot = -26.4916286361216 +384000 ekin = 3.20726412806376 | erot = 6.19392941274209 | epot = -36.1325810920204 | etot = -26.7313875512146 +385000 ekin = 3.23885859839745 | erot = 6.31552666314741 | epot = -36.1503271354807 | etot = -26.5959418739358 +386000 ekin = 3.1687441170802 | erot = 5.94413881699916 | epot = -36.1310192334962 | etot = -27.0181362994169 +387000 ekin = 3.15499705249205 | erot = 5.48308596050856 | epot = -36.0714221491833 | etot = -27.4333391361827 +388000 ekin = 3.24907989403005 | erot = 5.58200944567837 | epot = -35.9925882356968 | etot = -27.1614988959884 +389000 ekin = 3.39871525437692 | erot = 5.14342534967113 | epot = -35.926273930772 | etot = -27.384133326724 +390000 ekin = 3.53157771561143 | erot = 5.06601106990858 | epot = -35.9089837935163 | etot = -27.3113950079963 +391000 ekin = 3.6460216873691 | erot = 4.8866150487515 | epot = -35.8854822304094 | etot = -27.3528454942888 +392000 ekin = 3.79325143536293 | erot = 5.07292816992976 | epot = -35.852420754602 | etot = -26.9862411493093 +393000 ekin = 3.89148460233043 | erot = 5.02930522203654 | epot = -35.7951222586314 | etot = -26.8743324342644 +394000 ekin = 3.96458882833113 | erot = 4.47630346760482 | epot = -35.7247928997475 | etot = -27.2839006038116 +395000 ekin = 4.03856036181243 | erot = 4.53784941780784 | epot = -35.6586367417744 | etot = -27.0822269621541 +396000 ekin = 3.9968364670664 | erot = 4.49727898211243 | epot = -35.5718421340363 | etot = -27.0777266848575 +397000 ekin = 4.03872005304064 | erot = 4.03153022392497 | epot = -35.5101946272745 | etot = -27.4399443503089 +398000 ekin = 4.01516330519928 | erot = 4.23226303701212 | epot = -35.4578715559687 | etot = -27.2104452137573 +399000 ekin = 4.0192261656521 | erot = 3.71642260618994 | epot = -35.3548490578809 | etot = -27.6192002860389 +400000 ekin = 4.17225085372021 | erot = 4.04093039429581 | epot = -35.2265510847564 | etot = -27.0133698367403 +401000 ekin = 4.15314996432513 | erot = 3.6480496120942 | epot = -35.0943512868028 | etot = -27.2931517103835 +402000 ekin = 4.20245298417931 | erot = 3.70137380667405 | epot = -34.9745627237165 | etot = -27.0707359328631 +403000 ekin = 4.3413245622893 | erot = 3.62891618665746 | epot = -34.8718657472305 | etot = -26.9016249982838 +404000 ekin = 4.42465890243314 | erot = 3.38938035287092 | epot = -34.7967250831433 | etot = -26.9826858278392 +405000 ekin = 4.6066304195345 | erot = 3.44054758174428 | epot = -34.7925257887169 | etot = -26.7453477874381 +406000 ekin = 4.73346375173105 | erot = 3.27915256113149 | epot = -34.8343083282585 | etot = -26.8216920153959 +407000 ekin = 4.82559135473407 | erot = 3.35253133282278 | epot = -34.90590665538 | etot = -26.7277839678232 +408000 ekin = 4.89298564336973 | erot = 3.47339817729168 | epot = -34.9848536782097 | etot = -26.6184698575483 +409000 ekin = 4.94069048180864 | erot = 3.76649967413614 | epot = -35.0728065521188 | etot = -26.365616396174 +410000 ekin = 5.08376278297818 | erot = 3.48855890171057 | epot = -35.1876079350125 | etot = -26.6152862503238 +411000 ekin = 5.10492342399052 | erot = 3.39152717909368 | epot = -35.2939784996996 | etot = -26.7975278966154 +412000 ekin = 5.21115921489285 | erot = 3.62435455589207 | epot = -35.3853247581666 | etot = -26.5498109873817 +413000 ekin = 5.25687541732564 | erot = 3.76308251202552 | epot = -35.4593584594676 | etot = -26.4394005301164 +414000 ekin = 5.13248472496979 | erot = 3.31025282824712 | epot = -35.5393093363075 | etot = -27.0965717830906 +415000 ekin = 5.09217261574502 | erot = 3.59401320391344 | epot = -35.605161792403 | etot = -26.9189759727445 +416000 ekin = 5.04807348985189 | erot = 3.48392073248403 | epot = -35.6748296719208 | etot = -27.1428354495849 +417000 ekin = 4.99138526936695 | erot = 3.46255923404111 | epot = -35.7531502554479 | etot = -27.2992057520398 +418000 ekin = 5.08999508315071 | erot = 3.44390708246907 | epot = -35.8333696081099 | etot = -27.2994674424901 +419000 ekin = 5.21842750435904 | erot = 3.38325168590942 | epot = -35.8593643490788 | etot = -27.2576851588103 +420000 ekin = 5.28947719533084 | erot = 3.50797044377639 | epot = -35.8848039905135 | etot = -27.0873563514062 +421000 ekin = 5.35268927232105 | erot = 3.36603650801218 | epot = -35.8749221051677 | etot = -27.1561963248345 +422000 ekin = 5.23695191026783 | erot = 3.53841920706918 | epot = -35.889640869454 | etot = -27.114269752117 +423000 ekin = 5.09577504756719 | erot = 3.67923583037255 | epot = -35.9137595336544 | etot = -27.1387486557147 +424000 ekin = 5.01335188112952 | erot = 3.70110718137053 | epot = -35.9185617531992 | etot = -27.2041026906992 +425000 ekin = 5.05206155589202 | erot = 3.57652002072466 | epot = -35.9081181462494 | etot = -27.2795365696328 +426000 ekin = 4.96532396129122 | erot = 3.38938274590579 | epot = -35.8769982527928 | etot = -27.5222915455958 +427000 ekin = 4.77195218714222 | erot = 3.50252627514243 | epot = -35.7935414010633 | etot = -27.5190629387787 +428000 ekin = 4.81068646615363 | erot = 3.51825958765464 | epot = -35.6664317412184 | etot = -27.3374856874101 +429000 ekin = 4.73870321335416 | erot = 3.84986931063865 | epot = -35.4873764559103 | etot = -26.8988039319175 +430000 ekin = 4.602137148251 | erot = 3.45284870606445 | epot = -35.3073410925575 | etot = -27.2523552382421 +431000 ekin = 4.57358006593881 | erot = 3.25422348182542 | epot = -35.136759491896 | etot = -27.3089559441318 +432000 ekin = 4.50724003680402 | erot = 3.29998192315333 | epot = -35.029042571088 | etot = -27.2218206111307 +433000 ekin = 4.3086049570317 | erot = 3.42741416873377 | epot = -34.9513402987258 | etot = -27.2153211729603 +434000 ekin = 4.18610269286836 | erot = 3.55059973000638 | epot = -34.9144648758598 | etot = -27.1777624529851 +435000 ekin = 4.12003359590284 | erot = 3.78033374370934 | epot = -34.8780591099563 | etot = -26.9776917703441 +436000 ekin = 3.97313974106134 | erot = 4.05117020636249 | epot = -34.8427841720092 | etot = -26.8184742245853 +437000 ekin = 3.88596008320786 | erot = 4.32902730055979 | epot = -34.8121331683379 | etot = -26.5971457845702 +438000 ekin = 4.03003221046435 | erot = 4.35508047283409 | epot = -34.7917492531094 | etot = -26.4066365698109 +439000 ekin = 4.04655148511162 | erot = 4.17322604141029 | epot = -34.7786348227556 | etot = -26.5588572962337 +440000 ekin = 4.02801522674504 | erot = 4.13470601724881 | epot = -34.7839930854156 | etot = -26.6212718414218 +441000 ekin = 3.94078147941953 | erot = 4.22144190117307 | epot = -34.8185771480927 | etot = -26.6563537675001 +442000 ekin = 3.97730990695675 | erot = 4.24233406975324 | epot = -34.8718962191135 | etot = -26.6522522424035 +443000 ekin = 3.98508138243256 | erot = 4.16122580291799 | epot = -34.9266782585662 | etot = -26.7803710732156 +444000 ekin = 4.00042709081923 | erot = 4.50741850480102 | epot = -34.9630696153487 | etot = -26.4552240197285 +445000 ekin = 4.02620459576038 | erot = 4.64580325301018 | epot = -34.9893039643637 | etot = -26.3172961155932 +446000 ekin = 4.0145460872058 | erot = 4.89747165518641 | epot = -34.9969089036749 | etot = -26.0848911612827 +447000 ekin = 3.96342694873324 | erot = 4.85867800390665 | epot = -34.9830933662455 | etot = -26.1609884136056 +448000 ekin = 3.74592315828131 | erot = 5.1757843335798 | epot = -34.9638816619608 | etot = -26.0421741700997 +449000 ekin = 3.73316291077384 | erot = 5.18498661281975 | epot = -34.9280438941249 | etot = -26.0098943705313 +450000 ekin = 3.85313039093449 | erot = 4.86926583888879 | epot = -34.8716969798347 | etot = -26.1493007500114 +451000 ekin = 4.06359280531127 | erot = 4.99817049859075 | epot = -34.8377147695099 | etot = -25.7759514656079 +452000 ekin = 4.12215980217286 | erot = 4.58488292412149 | epot = -34.8398353293665 | etot = -26.1327926030721 +453000 ekin = 4.16332842884541 | erot = 4.32671008371143 | epot = -34.8570499988887 | etot = -26.3670114863319 +454000 ekin = 4.11754892618409 | erot = 4.47415692336229 | epot = -34.8913194738514 | etot = -26.299613624305 +455000 ekin = 4.22185774995348 | erot = 4.65517828169311 | epot = -34.9334347985054 | etot = -26.0563987668588 +456000 ekin = 4.30177202276143 | erot = 4.77747798616556 | epot = -35.0188770940117 | etot = -25.9396270850847 +457000 ekin = 4.26451460758689 | erot = 4.69009499467528 | epot = -35.1021143238348 | etot = -26.1475047215727 +458000 ekin = 4.31289289804763 | erot = 4.48148846421258 | epot = -35.1135359976466 | etot = -26.3191546353864 +459000 ekin = 4.40924309472714 | erot = 4.70052929057868 | epot = -35.3709113999309 | etot = -26.2611390146251 +460000 ekin = 4.47691183250296 | erot = 4.50574141189019 | epot = -35.566195356935 | etot = -26.5835421125418 +461000 ekin = 4.43873436995011 | erot = 4.99077626253916 | epot = -35.6310455171599 | etot = -26.2015348846706 +462000 ekin = 4.38932525316365 | erot = 4.94989100042644 | epot = -35.7174404682254 | etot = -26.3782242146353 +463000 ekin = 4.36115268480796 | erot = 5.66229263913986 | epot = -35.782873692384 | etot = -25.7594283684361 +464000 ekin = 4.32411863133124 | erot = 5.21874712372938 | epot = -35.8318174183589 | etot = -26.2889516632982 +465000 ekin = 4.25283049437862 | erot = 4.8931192840781 | epot = -35.8307748329833 | etot = -26.6848250545266 +466000 ekin = 3.97961054012235 | erot = 4.30523919521523 | epot = -35.8019205162808 | etot = -27.5170707809433 +467000 ekin = 3.96957942645156 | erot = 4.02414635207124 | epot = -35.7935881476342 | etot = -27.7998623691114 +468000 ekin = 3.81067149059143 | erot = 3.9131157389001 | epot = -35.819204604463 | etot = -28.0954173749715 +469000 ekin = 3.82956653035967 | erot = 3.76358708523009 | epot = -35.8554657317441 | etot = -28.2623121161543 +470000 ekin = 3.84315155223098 | erot = 3.46319185355978 | epot = -35.9283028420653 | etot = -28.6219594362746 +471000 ekin = 3.8418988592029 | erot = 3.51787257644846 | epot = -36.0370536568195 | etot = -28.6772822211681 +472000 ekin = 3.86861114122384 | erot = 3.36458500068064 | epot = -36.1368322989854 | etot = -28.9036361570809 +473000 ekin = 3.73700168734246 | erot = 3.58329228877727 | epot = -36.2233655143222 | etot = -28.9030715382025 +474000 ekin = 3.82928273613545 | erot = 3.70070391401538 | epot = -36.2919855352844 | etot = -28.7619988851335 +475000 ekin = 3.89544030960044 | erot = 3.76401640046801 | epot = -36.3684307389009 | etot = -28.7089740288324 +476000 ekin = 4.0893276711336 | erot = 3.70907901754989 | epot = -36.4684310716314 | etot = -28.6700243829479 +477000 ekin = 4.15334136664104 | erot = 3.70899967496297 | epot = -36.5311600367348 | etot = -28.6688189951308 +478000 ekin = 4.07512882728816 | erot = 3.80913887771415 | epot = -36.5715417700048 | etot = -28.6872740650025 +479000 ekin = 3.96184225144677 | erot = 3.6758426322944 | epot = -36.6049454628525 | etot = -28.9672605791113 +480000 ekin = 3.86072911979603 | erot = 3.85211085064388 | epot = -36.610629225252 | etot = -28.8977892548121 +481000 ekin = 3.78563823255496 | erot = 4.024314099233 | epot = -36.6044682584304 | etot = -28.7945159266424 +482000 ekin = 3.81986353724786 | erot = 3.94457553240304 | epot = -36.5556242495873 | etot = -28.7911851799364 +483000 ekin = 3.91937069687011 | erot = 3.97985471481356 | epot = -36.4953515335744 | etot = -28.5961261218907 +484000 ekin = 3.90565472316292 | erot = 3.68508276016196 | epot = -36.426514232721 | etot = -28.8357767493961 +485000 ekin = 3.97067640669154 | erot = 3.52818833629947 | epot = -36.3385351029693 | etot = -28.8396703599783 +486000 ekin = 4.08924338068675 | erot = 3.45150371793067 | epot = -36.2407040808296 | etot = -28.6999569822122 +487000 ekin = 4.07761729530311 | erot = 3.69577064304002 | epot = -36.1174543397078 | etot = -28.3440664013647 +488000 ekin = 3.98120330041688 | erot = 4.01179749212345 | epot = -35.9662140009127 | etot = -27.9732132083724 +489000 ekin = 3.94304108511324 | erot = 4.09948585344502 | epot = -35.8365811443688 | etot = -27.7940542058105 +490000 ekin = 3.98200750178142 | erot = 4.19330655565614 | epot = -35.7436522395709 | etot = -27.5683381821333 +491000 ekin = 4.0445360131927 | erot = 4.06864604679586 | epot = -35.6813038605064 | etot = -27.5681218005179 +492000 ekin = 4.10478194610759 | erot = 4.27931273272407 | epot = -35.6201850620984 | etot = -27.2360903832667 +493000 ekin = 4.14218811078688 | erot = 4.30328516243005 | epot = -35.5529321721737 | etot = -27.1074588989568 +494000 ekin = 4.15483197917442 | erot = 4.22087230768742 | epot = -35.5007035923716 | etot = -27.1249993055097 +495000 ekin = 4.26671892357353 | erot = 4.2174513730416 | epot = -35.4450128389817 | etot = -26.9608425423665 +496000 ekin = 4.42373869014864 | erot = 3.65535322096919 | epot = -35.3933064942846 | etot = -27.3142145831668 +497000 ekin = 4.57363309591074 | erot = 3.63766344362461 | epot = -35.3630685420969 | etot = -27.1517720025615 +498000 ekin = 4.7241733979429 | erot = 3.40665904233571 | epot = -35.3570714026405 | etot = -27.2262389623619 +499000 ekin = 4.76806375994884 | erot = 3.58204839805338 | epot = -35.3646341268605 | etot = -27.0145219688582 +500000 ekin = 4.86803273232494 | erot = 3.40069391727077 | epot = -35.4199817543288 | etot = -27.1512551047331 +501000 ekin = 4.96743307602633 | erot = 3.46724128896382 | epot = -35.4970649677138 | etot = -27.0623906027237 +502000 ekin = 4.91929166862602 | erot = 3.57165212036747 | epot = -35.5889625489531 | etot = -27.0980187599596 +503000 ekin = 4.90703913138654 | erot = 3.86458875313982 | epot = -35.6771862828243 | etot = -26.9055583982979 +504000 ekin = 5.13705335061953 | erot = 3.53695462968337 | epot = -35.7347477259475 | etot = -27.0607397456447 +505000 ekin = 5.23249143944192 | erot = 3.46343104093346 | epot = -35.7820571844978 | etot = -27.0861347041225 +506000 ekin = 5.11675278315682 | erot = 3.72067186509955 | epot = -35.8198968197669 | etot = -26.9824721715105 +507000 ekin = 5.18993901387439 | erot = 4.1521508584772 | epot = -35.8269271672407 | etot = -26.4848372948891 +508000 ekin = 4.98597878226577 | erot = 4.11598571894018 | epot = -35.7826195676297 | etot = -26.6806550664237 +509000 ekin = 4.89412425677653 | erot = 4.30807642739921 | epot = -35.6890852058576 | etot = -26.4868845216819 +510000 ekin = 4.89504815268988 | erot = 4.4601383758423 | epot = -35.589321566643 | etot = -26.2341350381108 +511000 ekin = 4.85835750083372 | erot = 4.41721118692769 | epot = -35.4748886415738 | etot = -26.1993199538124 +512000 ekin = 4.85632567301955 | erot = 4.5850146787013 | epot = -35.3170557845391 | etot = -25.8757154328183 +513000 ekin = 4.79088228903384 | erot = 4.41898249223044 | epot = -35.1398620511897 | etot = -25.9299972699254 +514000 ekin = 4.84082723167301 | erot = 4.10048582144458 | epot = -34.9528940279417 | etot = -26.0115809748241 +515000 ekin = 4.66396867258878 | erot = 3.70795325472635 | epot = -34.8081323279138 | etot = -26.4362104005987 +516000 ekin = 4.45203722260375 | erot = 3.7424161749216 | epot = -34.7399422586779 | etot = -26.5454888611526 +517000 ekin = 4.39320763550285 | erot = 3.61293763489201 | epot = -34.7115969229747 | etot = -26.7054516525798 +518000 ekin = 4.33516267423081 | erot = 3.46685163663661 | epot = -34.720559171622 | etot = -26.9185448607546 +519000 ekin = 4.32678001120794 | erot = 3.83331308599435 | epot = -34.7543932584756 | etot = -26.5943001612733 +520000 ekin = 4.16017569753271 | erot = 3.9944210337637 | epot = -34.7797387277814 | etot = -26.625141996485 +521000 ekin = 4.01091284601559 | erot = 4.71227661622668 | epot = -34.8119764016186 | etot = -26.0887869393764 +522000 ekin = 3.92555868149862 | erot = 4.67306017627902 | epot = -34.8638412525405 | etot = -26.2652223947629 +523000 ekin = 4.10629342994171 | erot = 4.23690821219818 | epot = -34.9392637364657 | etot = -26.5960620943258 +524000 ekin = 4.1696440613856 | erot = 4.51539305326675 | epot = -35.0302476439302 | etot = -26.3452105292779 +525000 ekin = 4.14574067413424 | erot = 4.59255192964534 | epot = -35.1665459803978 | etot = -26.4282533766182 +526000 ekin = 4.29635804775357 | erot = 5.38181203699227 | epot = -35.3702076593234 | etot = -25.6920375745776 +527000 ekin = 4.43341423246316 | erot = 5.4208701656537 | epot = -35.5881352754175 | etot = -25.7338508773006 +528000 ekin = 4.65221997264034 | erot = 5.64432261927448 | epot = -35.7907306535607 | etot = -25.4941880616459 +529000 ekin = 4.75833001518884 | erot = 6.22279494556851 | epot = -35.9649272181715 | etot = -24.9838022574141 +530000 ekin = 4.85254900576381 | erot = 6.26630645812944 | epot = -36.1175112827236 | etot = -24.9986558188304 +531000 ekin = 4.88314038497963 | erot = 6.22256761998181 | epot = -36.2218727030893 | etot = -25.1161646981279 +532000 ekin = 4.89429192132453 | erot = 6.19376619305378 | epot = -36.2791850407377 | etot = -25.1911269263594 +533000 ekin = 4.98074956905508 | erot = 6.71246035574299 | epot = -36.2873072492243 | etot = -24.5940973244262 +534000 ekin = 5.05914514163858 | erot = 6.72049132345737 | epot = -36.2541186702092 | etot = -24.4744822051133 +535000 ekin = 4.98307281629278 | erot = 6.60876507020557 | epot = -36.1722591997822 | etot = -24.5804213132839 +536000 ekin = 4.92092214615514 | erot = 6.71824597922614 | epot = -36.0492643890662 | etot = -24.4100962636849 +537000 ekin = 4.73594122849326 | erot = 6.46069540815287 | epot = -35.9116294607657 | etot = -24.7149928241196 +538000 ekin = 4.79280389212897 | erot = 6.10794151385135 | epot = -35.7423046160132 | etot = -24.8415592100329 +539000 ekin = 4.77579753855637 | erot = 5.9721718852028 | epot = -35.533600981652 | etot = -24.7856315578928 +540000 ekin = 4.59343353220661 | erot = 6.02882315943306 | epot = -35.2969540919923 | etot = -24.6746974003527 +541000 ekin = 4.56261508857308 | erot = 5.60884609986364 | epot = -35.0742414984787 | etot = -24.9027803100419 +542000 ekin = 4.42304079078362 | erot = 5.24180126466464 | epot = -34.8728664426876 | etot = -25.2080243872393 +543000 ekin = 4.31458565966317 | erot = 5.30648118805705 | epot = -34.6809264080033 | etot = -25.0598595602831 +544000 ekin = 4.16990383767329 | erot = 5.09480741715239 | epot = -34.5077033118773 | etot = -25.2429920570516 +545000 ekin = 4.0350640414587 | erot = 4.95913193735204 | epot = -34.3738505570895 | etot = -25.3796545782788 +546000 ekin = 4.05283758597051 | erot = 4.62357416672448 | epot = -34.2732549004478 | etot = -25.5968431477528 +547000 ekin = 3.91892476341122 | erot = 4.42471065792707 | epot = -34.1888485564157 | etot = -25.8452131350775 +548000 ekin = 3.85923648383067 | erot = 4.18493881932566 | epot = -34.1251823218199 | etot = -26.0810070186636 +549000 ekin = 3.8927709556134 | erot = 4.20183962759803 | epot = -34.0968256559691 | etot = -26.0022150727577 +550000 ekin = 3.88489313663799 | erot = 4.06987350840239 | epot = -34.0834989925537 | etot = -26.1287323475133 +551000 ekin = 3.87639970039868 | erot = 4.25043058335745 | epot = -34.0931086790782 | etot = -25.966278395322 +552000 ekin = 3.88627319211786 | erot = 4.00102033547709 | epot = -34.1638602914377 | etot = -26.2765667638428 +553000 ekin = 4.05569156373879 | erot = 3.56403629580222 | epot = -34.247483486424 | etot = -26.627755626883 +554000 ekin = 4.2562683800156 | erot = 3.70804766862547 | epot = -34.2954308218039 | etot = -26.3311147731628 +555000 ekin = 4.2648740703529 | erot = 3.78496110408358 | epot = -34.3412268896543 | etot = -26.2913917152178 +556000 ekin = 4.24622902964984 | erot = 4.0345482038853 | epot = -34.3344093396379 | etot = -26.0536321061027 +557000 ekin = 4.07319669837868 | erot = 3.86372668854368 | epot = -34.2640157691761 | etot = -26.3270923822537 +558000 ekin = 3.99489306447001 | erot = 3.82027814531877 | epot = -34.1455461859517 | etot = -26.3303749761629 +559000 ekin = 4.00179663426026 | erot = 3.82651776959122 | epot = -33.9924674804774 | etot = -26.1641530766259 +560000 ekin = 3.90938418270038 | erot = 3.49539199637374 | epot = -33.8018928207122 | etot = -26.3971166416381 +561000 ekin = 3.70375196060242 | erot = 3.38165869548244 | epot = -33.6157331642902 | etot = -26.5303225082053 +562000 ekin = 3.64392595608208 | erot = 3.67997084627168 | epot = -33.4612560312997 | etot = -26.1373592289459 +563000 ekin = 3.59769761679666 | erot = 3.74125845764501 | epot = -33.3480734777506 | etot = -26.0091174033089 +564000 ekin = 3.5872532535469 | erot = 3.35524020938125 | epot = -33.2675171968359 | etot = -26.3250237339077 +565000 ekin = 3.63835964444035 | erot = 3.77402574563864 | epot = -33.2409015523647 | etot = -25.8285161622857 +566000 ekin = 3.64384501808487 | erot = 3.7751512348732 | epot = -33.2503593116355 | etot = -25.8313630586774 +567000 ekin = 3.6321441767138 | erot = 3.8685448978813 | epot = -33.2603190278778 | etot = -25.7596299532827 +568000 ekin = 3.76759211618971 | erot = 3.97321014856349 | epot = -33.2947231384392 | etot = -25.553920873686 +569000 ekin = 3.75607920629668 | erot = 3.9189350411434 | epot = -33.3766443391882 | etot = -25.7016300917481 +570000 ekin = 3.88570178164772 | erot = 3.87013370061556 | epot = -33.4676246266775 | etot = -25.7117891444142 +571000 ekin = 3.91109063039641 | erot = 4.3887336637963 | epot = -33.5301619269295 | etot = -25.2303376327368 +572000 ekin = 3.91357367536979 | erot = 4.54669425634091 | epot = -33.5613071721028 | etot = -25.1010392403921 +573000 ekin = 4.00256460245984 | erot = 4.69928602914621 | epot = -33.5479654090577 | etot = -24.8461147774517 +574000 ekin = 4.04557469411533 | erot = 4.85104808888571 | epot = -33.4823141367214 | etot = -24.5856913537203 +575000 ekin = 4.0199044833131 | erot = 4.48360936846638 | epot = -33.4090682352886 | etot = -24.9055543835092 +576000 ekin = 3.80770420634942 | erot = 4.40902984739946 | epot = -33.3559765416152 | etot = -25.1392424878663 +577000 ekin = 3.6517677072366 | erot = 4.69770290650927 | epot = -33.3414847753623 | etot = -24.9920141616164 +578000 ekin = 3.65416507269722 | erot = 5.09984939028998 | epot = -33.3628873386869 | etot = -24.6088728756997 +579000 ekin = 3.65457514215454 | erot = 4.83085466504592 | epot = -33.4229058723711 | etot = -24.9374760651706 +580000 ekin = 3.61022362260481 | erot = 5.21507039569769 | epot = -33.5257015423975 | etot = -24.700407524095 +581000 ekin = 3.49491427592295 | erot = 5.80898315058308 | epot = -33.6374701054959 | etot = -24.3335726789899 +582000 ekin = 3.45150652331289 | erot = 5.2079729472947 | epot = -33.7413132898281 | etot = -25.0818338192205 +583000 ekin = 3.43883253778232 | erot = 4.99240818298342 | epot = -33.7992206024429 | etot = -25.3679798816772 +584000 ekin = 3.41950743994087 | erot = 5.30429667829858 | epot = -33.8273198616881 | etot = -25.1035157434487 +585000 ekin = 3.52988736379348 | erot = 5.26888625710225 | epot = -33.8562169326849 | etot = -25.0574433117891 +586000 ekin = 3.54522421505718 | erot = 5.15182886320371 | epot = -33.8748034063863 | etot = -25.1777503281254 +587000 ekin = 3.64975640444384 | erot = 4.43116878399003 | epot = -33.8790223191813 | etot = -25.7980971307475 +588000 ekin = 3.85787406303082 | erot = 4.33848995606314 | epot = -33.9012642894904 | etot = -25.7049002703965 +589000 ekin = 3.9487150884209 | erot = 4.36958758855423 | epot = -33.9512157067315 | etot = -25.6329130297563 +590000 ekin = 4.04576150007675 | erot = 4.34777620153069 | epot = -33.9849374243128 | etot = -25.5913997227054 +591000 ekin = 4.13483818439914 | erot = 4.28475308123698 | epot = -33.9975372243776 | etot = -25.5779459587414 +592000 ekin = 4.2556680414864 | erot = 4.00241438742696 | epot = -33.990517302247 | etot = -25.7324348733336 +593000 ekin = 4.26695504286551 | erot = 3.75133860519216 | epot = -33.9824243028376 | etot = -25.9641306547799 +594000 ekin = 4.24513038558056 | erot = 3.88826331815755 | epot = -33.9597952629293 | etot = -25.8264015591912 +595000 ekin = 4.33307108334646 | erot = 3.92609577318174 | epot = -33.9197199407777 | etot = -25.6605530842495 +596000 ekin = 4.23611726585149 | erot = 3.89070717461491 | epot = -33.8740124837561 | etot = -25.7471880432897 +597000 ekin = 4.40233879096614 | erot = 3.9973813082447 | epot = -33.8902431987866 | etot = -25.4905230995758 +598000 ekin = 4.23795477390351 | erot = 4.04526003588007 | epot = -33.9155939268417 | etot = -25.6323791170582 +599000 ekin = 4.13745802989045 | erot = 3.88641709707911 | epot = -33.9296772436184 | etot = -25.9058021166489 +600000 ekin = 4.21239990479469 | erot = 3.82373814742802 | epot = -33.9651236246 | etot = -25.9289855723773 +601000 ekin = 4.3196997334027 | erot = 3.98399943561167 | epot = -34.0172721411615 | etot = -25.7135729721471 +602000 ekin = 4.27803621196727 | erot = 4.02063732656524 | epot = -34.100698422985 | etot = -25.8020248844525 +603000 ekin = 4.31016670434268 | erot = 4.06109056998715 | epot = -34.2290225355021 | etot = -25.8577652611723 +604000 ekin = 4.35436231281196 | erot = 4.27081433433549 | epot = -34.3693989473758 | etot = -25.7442223002283 +605000 ekin = 4.29263786573731 | erot = 4.35816455015996 | epot = -34.5293522620234 | etot = -25.8785498461262 +606000 ekin = 4.23493766333436 | erot = 4.45889694601822 | epot = -34.6959569640143 | etot = -26.0021223546617 +607000 ekin = 4.21589668454932 | erot = 4.35851580050772 | epot = -34.8643734064673 | etot = -26.2899609214103 +608000 ekin = 4.31617609118378 | erot = 4.3711843404177 | epot = -35.0106665625392 | etot = -26.3233061309377 +609000 ekin = 4.40054829762945 | erot = 4.09556922746408 | epot = -35.1090427558591 | etot = -26.6129252307656 +610000 ekin = 4.3836017973497 | erot = 4.43080811091093 | epot = -35.1590130940816 | etot = -26.344603185821 +611000 ekin = 4.30911071721019 | erot = 4.66858603342393 | epot = -35.1997741362033 | etot = -26.2220773855692 +612000 ekin = 4.38115044344101 | erot = 4.62952065066664 | epot = -35.2189008927601 | etot = -26.2082297986524 +613000 ekin = 4.49640333428488 | erot = 4.73033949191661 | epot = -35.2311946320133 | etot = -26.0044518058118 +614000 ekin = 4.42698019674918 | erot = 4.54387450238904 | epot = -35.227024565465 | etot = -26.2561698663268 +615000 ekin = 4.36293882049166 | erot = 4.65167437175536 | epot = -35.250009814436 | etot = -26.235396622189 +616000 ekin = 4.25552094369167 | erot = 3.9677335799062 | epot = -35.262646565401 | etot = -27.0393920418031 +617000 ekin = 4.02844203107201 | erot = 3.93306028038377 | epot = -35.3085438772361 | etot = -27.3470415657803 +618000 ekin = 3.91410624199631 | erot = 3.99915504239052 | epot = -35.3773572154985 | etot = -27.4640959311117 +619000 ekin = 3.92944334041051 | erot = 3.65858234543171 | epot = -35.4549579850513 | etot = -27.8669322992091 +620000 ekin = 3.94632769198491 | erot = 4.05357915876533 | epot = -35.5452298743848 | etot = -27.5453230236346 +621000 ekin = 4.00876452457166 | erot = 4.1855795236138 | epot = -35.6568787558288 | etot = -27.4625347076433 +622000 ekin = 3.97770547832637 | erot = 4.20428409244743 | epot = -35.7853832130653 | etot = -27.6033936422915 +623000 ekin = 3.8762340917962 | erot = 4.44200976918091 | epot = -35.9345595163545 | etot = -27.6163156553774 +624000 ekin = 3.81461749379632 | erot = 4.73413928443226 | epot = -36.0610458736423 | etot = -27.5122890954137 +625000 ekin = 3.8970241751503 | erot = 4.51967995490342 | epot = -36.1593702506674 | etot = -27.7426661206137 +626000 ekin = 4.05285181951198 | erot = 5.1220971455114 | epot = -36.2373709478026 | etot = -27.0624219827792 +627000 ekin = 4.06919694856985 | erot = 5.16853241383701 | epot = -36.2459696084315 | etot = -27.0082402460246 +628000 ekin = 3.97574634490127 | erot = 5.15377915037519 | epot = -36.1860007276685 | etot = -27.0564752323921 +629000 ekin = 3.97847076093846 | erot = 4.98743417354896 | epot = -36.0841602963358 | etot = -27.1182553618484 +630000 ekin = 3.82117049554739 | erot = 4.72915936447924 | epot = -35.9627884752438 | etot = -27.4124586152171 +631000 ekin = 3.86461141431221 | erot = 4.86154549634944 | epot = -35.8061457051957 | etot = -27.079988794534 +632000 ekin = 3.74664734149851 | erot = 4.54810894057643 | epot = -35.6214135997296 | etot = -27.3266573176547 +633000 ekin = 3.70561564688244 | erot = 3.84492477779421 | epot = -35.4366028892501 | etot = -27.8860624645735 +634000 ekin = 3.59215409071661 | erot = 3.93871515972471 | epot = -35.2896538627899 | etot = -27.7587846123486 +635000 ekin = 3.50545587494383 | erot = 4.06717110382211 | epot = -35.1730596180146 | etot = -27.6004326392486 +636000 ekin = 3.3309454150286 | erot = 4.07821458070327 | epot = -35.1077038533349 | etot = -27.6985438576031 +637000 ekin = 3.14505217998963 | erot = 4.05756077132584 | epot = -35.1055524080615 | etot = -27.902939456746 +638000 ekin = 3.09050584392239 | erot = 4.40258652090821 | epot = -35.1570633539889 | etot = -27.6639709891583 +639000 ekin = 3.0768733321709 | erot = 4.16491810908563 | epot = -35.2467836386719 | etot = -28.0049921974154 +640000 ekin = 3.00973730805073 | erot = 4.2692418133335 | epot = -35.3354522376085 | etot = -28.0564731162243 +641000 ekin = 2.94445196408833 | erot = 4.64391413205119 | epot = -35.4644644387967 | etot = -27.8760983426572 +642000 ekin = 2.98442414954633 | erot = 4.9974755612433 | epot = -35.6290057034216 | etot = -27.647105992632 +643000 ekin = 3.2055646953209 | erot = 4.8025531791329 | epot = -35.7795885297939 | etot = -27.7714706553401 +644000 ekin = 3.2748821402377 | erot = 4.64957731616621 | epot = -35.9161733239261 | etot = -27.9917138675222 +645000 ekin = 3.41323831995007 | erot = 4.71321420527612 | epot = -36.0213663956164 | etot = -27.8949138703902 +646000 ekin = 3.56963422518167 | erot = 4.46391006184254 | epot = -36.0597764612018 | etot = -28.0262321741776 +647000 ekin = 3.65146108953765 | erot = 4.34882885781933 | epot = -36.05397385258 | etot = -28.053683905223 +648000 ekin = 3.80589253043839 | erot = 4.22505125234649 | epot = -35.9957895068647 | etot = -27.9648457240799 +649000 ekin = 4.01844415748841 | erot = 4.19109412255817 | epot = -35.9180061331759 | etot = -27.7084678531293 +650000 ekin = 4.03810277748572 | erot = 3.86362623058913 | epot = -35.8260490160444 | etot = -27.9243200079695 +651000 ekin = 4.14203944570719 | erot = 3.56888807374706 | epot = -35.7087423281397 | etot = -27.9978148086855 +652000 ekin = 4.23250261214715 | erot = 3.18710224409382 | epot = -35.6367851174034 | etot = -28.2171802611624 +653000 ekin = 4.36352642926009 | erot = 3.20148998566011 | epot = -35.6464209942557 | etot = -28.0814045793355 +654000 ekin = 4.5279203243997 | erot = 3.02237039454743 | epot = -35.6995719521313 | etot = -28.1492812331841 +655000 ekin = 4.60546960877517 | erot = 2.96007185178719 | epot = -35.8223013228812 | etot = -28.2567598623188 +656000 ekin = 4.78956137676064 | erot = 3.38896158834621 | epot = -35.9826527468557 | etot = -27.8041297817489 +657000 ekin = 4.78481247088243 | erot = 3.67040934516473 | epot = -36.1522101931049 | etot = -27.6969883770578 +658000 ekin = 4.68735602442224 | erot = 4.10635530609359 | epot = -36.3122539915072 | etot = -27.5185426609914 +659000 ekin = 4.79643464434907 | erot = 4.3109166795532 | epot = -36.419822200132 | etot = -27.3124708762297 +660000 ekin = 4.65613606555515 | erot = 4.00182169137307 | epot = -36.5017357753405 | etot = -27.8437780184123 +661000 ekin = 4.53939481189422 | erot = 4.39327864100633 | epot = -36.5522379560179 | etot = -27.6195645031173 +662000 ekin = 4.62075189021993 | erot = 4.64171304234686 | epot = -36.5458752748482 | etot = -27.2834103422814 +663000 ekin = 4.60627251324235 | erot = 4.44191382325803 | epot = -36.5358428119696 | etot = -27.4876564754693 +664000 ekin = 4.53224877457463 | erot = 4.69535654970068 | epot = -36.5440045789042 | etot = -27.3163992546289 +665000 ekin = 4.33791904761007 | erot = 4.79511074251925 | epot = -36.5712979957099 | etot = -27.4382682055805 +666000 ekin = 4.01034004769843 | erot = 5.14475630277467 | epot = -36.6275167021873 | etot = -27.4724203517142 +667000 ekin = 3.92791037721622 | erot = 5.11805894759237 | epot = -36.702269731521 | etot = -27.6563004067124 +668000 ekin = 3.69207242860568 | erot = 4.95115852091685 | epot = -36.7748284431555 | etot = -28.1315974936329 +669000 ekin = 3.52850414694839 | erot = 5.30513713121047 | epot = -36.8468924103841 | etot = -28.0132511322252 +670000 ekin = 3.43685158392413 | erot = 5.67353767341476 | epot = -36.8571678878591 | etot = -27.7467786305202 +671000 ekin = 3.37237891900207 | erot = 4.81383151363256 | epot = -36.7898772614734 | etot = -28.6036668288388 +672000 ekin = 3.4214286448957 | erot = 4.47410705082151 | epot = -36.6509805759937 | etot = -28.7554448802765 +673000 ekin = 3.47620696197726 | erot = 4.53468812753541 | epot = -36.4695914666411 | etot = -28.4586963771284 +674000 ekin = 3.34015467342477 | erot = 4.56003540036704 | epot = -36.2728042740009 | etot = -28.3726142002091 +675000 ekin = 3.26558121431926 | erot = 4.75716318196978 | epot = -36.0812448824919 | etot = -28.0585004862029 +676000 ekin = 3.30557173090095 | erot = 4.66626180335478 | epot = -35.8858133485377 | etot = -27.9139798142819 +677000 ekin = 3.38252137148669 | erot = 4.6897922284426 | epot = -35.7238379181691 | etot = -27.6515243182398 +678000 ekin = 3.33430766992633 | erot = 4.45636421682294 | epot = -35.5898515746333 | etot = -27.799179687884 +679000 ekin = 3.26716522041019 | erot = 4.13643141690213 | epot = -35.528216056043 | etot = -28.1246194187307 +680000 ekin = 3.22330491222221 | erot = 4.11355311991397 | epot = -35.5522418172928 | etot = -28.2153837851566 +681000 ekin = 3.27654998707768 | erot = 4.40088508884104 | epot = -35.6343431031197 | etot = -27.956908027201 +682000 ekin = 3.38403402082966 | erot = 4.64957783602955 | epot = -35.7255960652577 | etot = -27.6919842083985 +683000 ekin = 3.58392532059449 | erot = 4.15499488835506 | epot = -35.8541956283831 | etot = -28.1152754194335 +684000 ekin = 3.63284008875691 | erot = 4.14497212696397 | epot = -36.0448350473496 | etot = -28.2670228316288 +685000 ekin = 3.75538152185656 | erot = 3.95609692494439 | epot = -36.2462524041832 | etot = -28.5347739573822 +686000 ekin = 3.91883145536709 | erot = 3.95298902028767 | epot = -36.4771155861902 | etot = -28.6052951105355 +687000 ekin = 4.05299881159141 | erot = 4.06027810523496 | epot = -36.7169526369127 | etot = -28.6036757200863 +688000 ekin = 4.13599667613283 | erot = 4.1033148925446 | epot = -36.9524101670391 | etot = -28.7130985983616 +689000 ekin = 4.25987754434121 | erot = 4.14481492316592 | epot = -37.19007759108 | etot = -28.7853851235729 +690000 ekin = 4.43074027682468 | erot = 4.04380513304424 | epot = -37.3931354089483 | etot = -28.9185899990794 +691000 ekin = 4.53821721573662 | erot = 3.80503345899004 | epot = -37.5576014163155 | etot = -29.2143507415889 +692000 ekin = 4.6415004277931 | erot = 3.59872997928144 | epot = -37.6895260553275 | etot = -29.449295648253 +693000 ekin = 4.69075885893 | erot = 3.47578918601706 | epot = -37.8114874122422 | etot = -29.6449393672951 +694000 ekin = 4.73822518662626 | erot = 3.8426375014852 | epot = -37.9027003996531 | etot = -29.3218377115416 +695000 ekin = 4.75494194627987 | erot = 3.78113333862433 | epot = -37.9681336831655 | etot = -29.4320583982613 +696000 ekin = 4.69786608199271 | erot = 3.785268211759 | epot = -38.0084908313003 | etot = -29.5253565375486 +697000 ekin = 4.69854328160514 | erot = 3.62432955932676 | epot = -38.0258612384502 | etot = -29.7029883975183 +698000 ekin = 4.71023285872909 | erot = 3.64111389234157 | epot = -38.030154734076 | etot = -29.6788079830054 +699000 ekin = 4.56773244343976 | erot = 3.71983710702499 | epot = -38.0529467082193 | etot = -29.7653771577546 +700000 ekin = 4.43155866208691 | erot = 3.53355461960284 | epot = -38.0685834921134 | etot = -30.1034702104236 +701000 ekin = 4.47548631411736 | erot = 3.38963138436219 | epot = -38.0500116139815 | etot = -30.184893915502 +702000 ekin = 4.46550513016984 | erot = 3.66852889097277 | epot = -38.0164512923402 | etot = -29.8824172711975 +703000 ekin = 4.38742906998813 | erot = 3.97599599383721 | epot = -37.9817705180946 | etot = -29.6183454542693 +704000 ekin = 4.41020682713676 | erot = 3.83147838533281 | epot = -37.9674346241365 | etot = -29.725749411667 +705000 ekin = 4.39308990786441 | erot = 3.75664217186778 | epot = -37.9282520396871 | etot = -29.7785199599549 +706000 ekin = 4.43040906703156 | erot = 4.12756254176888 | epot = -37.8939279543826 | etot = -29.3359563455822 +707000 ekin = 4.51700671633646 | erot = 3.77573523129449 | epot = -37.8444471024437 | etot = -29.5517051548127 +708000 ekin = 4.49065124304534 | erot = 3.88552877104003 | epot = -37.7744800646504 | etot = -29.3983000505651 +709000 ekin = 4.41855498291445 | erot = 3.53582586052311 | epot = -37.6656825257611 | etot = -29.7113016823236 +710000 ekin = 4.40535258977283 | erot = 3.3964950268898 | epot = -37.5466939944653 | etot = -29.7448463778027 +711000 ekin = 4.32709544005249 | erot = 3.54995473848094 | epot = -37.3866324258479 | etot = -29.5095822473145 +712000 ekin = 4.40620309390877 | erot = 3.71557442538528 | epot = -37.1793914331048 | etot = -29.0576139138107 +713000 ekin = 4.39226105260192 | erot = 3.64956114520319 | epot = -36.9592491146157 | etot = -28.9174269168105 +714000 ekin = 4.39459047651044 | erot = 3.58799428596579 | epot = -36.784410906283 | etot = -28.8018261438068 +715000 ekin = 4.41458674942589 | erot = 4.01850565037392 | epot = -36.5924446920393 | etot = -28.1593522922395 +716000 ekin = 4.33665938530708 | erot = 3.50452219695686 | epot = -36.4143425377368 | etot = -28.5731609554728 +717000 ekin = 4.18088462864047 | erot = 3.21190204008997 | epot = -36.2481677379303 | etot = -28.8553810691999 +718000 ekin = 4.03231025467833 | erot = 2.91104295996759 | epot = -36.1402693367142 | etot = -29.1969161220683 +719000 ekin = 3.97260579411823 | erot = 3.29783620298646 | epot = -36.0849771003503 | etot = -28.8145351032456 +720000 ekin = 3.82567789821304 | erot = 3.46218504309262 | epot = -36.1068353452665 | etot = -28.8189724039609 +721000 ekin = 3.83433718059043 | erot = 4.0308403694784 | epot = -36.186895804643 | etot = -28.3217182545742 +722000 ekin = 3.71300872765614 | erot = 3.84736896155716 | epot = -36.2838656104836 | etot = -28.7234879212703 +723000 ekin = 3.74703466957627 | erot = 3.71040850656838 | epot = -36.3812410760549 | etot = -28.9237978999102 +724000 ekin = 3.75607081603381 | erot = 4.0281353287461 | epot = -36.4992818358977 | etot = -28.7150756911178 +725000 ekin = 3.77808990085843 | erot = 4.20966764087112 | epot = -36.6263500488379 | etot = -28.6385925071083 +726000 ekin = 3.99703012102758 | erot = 3.67945861038329 | epot = -36.7651398392481 | etot = -29.0886511078373 +727000 ekin = 4.01741049095323 | erot = 3.72684228835757 | epot = -36.8887239674892 | etot = -29.1444711881784 +728000 ekin = 4.05655244457443 | erot = 3.64411335656443 | epot = -36.9831032192824 | etot = -29.2824374181435 +729000 ekin = 4.15914112670643 | erot = 3.22368867517317 | epot = -37.0758214193941 | etot = -29.6929916175145 +730000 ekin = 4.27496625989451 | erot = 3.03434396509882 | epot = -37.1060663359391 | etot = -29.7967561109457 +731000 ekin = 4.35621946146852 | erot = 3.31453862248439 | epot = -37.0811379025033 | etot = -29.4103798185504 +732000 ekin = 4.31460322853995 | erot = 3.19560214587384 | epot = -37.0358028654706 | etot = -29.5255974910568 +733000 ekin = 4.22952267957096 | erot = 3.20037871938027 | epot = -36.9673423522076 | etot = -29.5374409532564 +734000 ekin = 4.24709820971321 | erot = 3.10598269123747 | epot = -36.8800091287789 | etot = -29.5269282278282 +735000 ekin = 4.1498116292607 | erot = 3.12549638567499 | epot = -36.7838119752137 | etot = -29.508503960278 +736000 ekin = 4.20814181481995 | erot = 2.91522500178923 | epot = -36.7063833852254 | etot = -29.5830165686162 +737000 ekin = 4.01828120268363 | erot = 2.4049581257871 | epot = -36.6589611248556 | etot = -30.2357217963849 +738000 ekin = 4.0109403602871 | erot = 2.68632566149121 | epot = -36.6548343802831 | etot = -29.9575683585048 +739000 ekin = 4.14661584174285 | erot = 2.59506078530653 | epot = -36.6780631105762 | etot = -29.9363864835269 +740000 ekin = 4.08413039711058 | erot = 2.5736582399383 | epot = -36.7021237291572 | etot = -30.0443350921083 +741000 ekin = 4.10845660619335 | erot = 2.78416335535289 | epot = -36.7754492326734 | etot = -29.8828292711272 +742000 ekin = 4.09068760907316 | erot = 3.09866824560678 | epot = -36.8187451874514 | etot = -29.6293893327714 +743000 ekin = 3.96610963094549 | erot = 3.04878673776488 | epot = -36.8535622197271 | etot = -29.8386658510168 +744000 ekin = 3.97087885402889 | erot = 3.04950786237749 | epot = -36.8512621314665 | etot = -29.8308754150601 +745000 ekin = 3.78295099566549 | erot = 3.09154774657218 | epot = -36.8410165021283 | etot = -29.9665177598907 +746000 ekin = 3.88442560568566 | erot = 3.15773579416856 | epot = -36.8645704531052 | etot = -29.822409053251 +747000 ekin = 3.94794600572262 | erot = 3.04363515896638 | epot = -36.9228275975809 | etot = -29.9312464328919 +748000 ekin = 3.94186404778415 | erot = 3.24130800398446 | epot = -37.0438118682001 | etot = -29.8606398164315 +749000 ekin = 3.93262026571698 | erot = 3.71710044171245 | epot = -37.2109632789996 | etot = -29.5612425715701 +750000 ekin = 3.82713052636537 | erot = 4.02486049381798 | epot = -37.3854716207176 | etot = -29.5334806005343 +751000 ekin = 4.02336237200016 | erot = 4.23099342037398 | epot = -37.5518597142044 | etot = -29.2975039218302 +752000 ekin = 4.06152925021086 | erot = 3.76231639564706 | epot = -37.6809132611631 | etot = -29.8570676153051 +753000 ekin = 4.07859449791209 | erot = 3.97018598947917 | epot = -37.7593004103711 | etot = -29.7105199229799 +754000 ekin = 4.26771269586489 | erot = 4.64006960442447 | epot = -37.8141557249927 | etot = -28.9063734247033 +755000 ekin = 4.26666906965385 | erot = 4.77784474773988 | epot = -37.8576299963118 | etot = -28.813116178918 +756000 ekin = 4.29131147009744 | erot = 5.38525988164288 | epot = -37.8917845570813 | etot = -28.215213205341 +757000 ekin = 4.35562563894762 | erot = 5.14819699923428 | epot = -37.8935376948419 | etot = -28.38971505666 +758000 ekin = 4.22616249375219 | erot = 5.19713356473893 | epot = -37.8901713134434 | etot = -28.4668752549522 +759000 ekin = 4.24184449957189 | erot = 5.16496183591595 | epot = -37.8881235068914 | etot = -28.4813171714036 +760000 ekin = 4.23424644958513 | erot = 5.47628298706173 | epot = -37.9000330984186 | etot = -28.1895036617718 +761000 ekin = 4.26448749341646 | erot = 5.45907771030601 | epot = -37.9055730645776 | etot = -28.1820078608551 +762000 ekin = 4.22061932798822 | erot = 5.0436907431348 | epot = -37.9108772679059 | etot = -28.6465671967828 +763000 ekin = 4.09989014592177 | erot = 5.10778066514927 | epot = -37.9045250455563 | etot = -28.6968542344852 +764000 ekin = 4.18374834614789 | erot = 5.46818179899542 | epot = -37.8676566747124 | etot = -28.2157265295691 +765000 ekin = 4.08761418374907 | erot = 5.80858388049076 | epot = -37.8033181876414 | etot = -27.9071201234015 +766000 ekin = 4.03999541680448 | erot = 5.48136006660825 | epot = -37.7411893537014 | etot = -28.2198338702887 +767000 ekin = 4.01701285460389 | erot = 5.31665044278878 | epot = -37.6438611160225 | etot = -28.3101978186298 +768000 ekin = 3.97951625205955 | erot = 5.25792422549902 | epot = -37.5214426737365 | etot = -28.284002196178 +769000 ekin = 3.9904400552571 | erot = 5.21175341266104 | epot = -37.3810973556032 | etot = -28.178903887685 +770000 ekin = 3.99199742512011 | erot = 5.21810902470215 | epot = -37.1986211065215 | etot = -27.9885146566993 +771000 ekin = 3.82567851870023 | erot = 4.95130845103881 | epot = -36.9906650314344 | etot = -28.2136780616954 +772000 ekin = 3.72123202682095 | erot = 4.74084322348095 | epot = -36.744551321368 | etot = -28.2824760710661 +773000 ekin = 3.61186619870346 | erot = 4.4876416941515 | epot = -36.4404296878967 | etot = -28.3409217950418 +774000 ekin = 3.53238563321205 | erot = 4.08515606418301 | epot = -36.143048292969 | etot = -28.5255065955739 +775000 ekin = 3.61960121968344 | erot = 4.03007080844248 | epot = -35.8636424209005 | etot = -28.2139703927746 +776000 ekin = 3.50131397859649 | erot = 3.82783005287515 | epot = -35.5938202085502 | etot = -28.2646761770785 +777000 ekin = 3.40867202048171 | erot = 3.85221546935577 | epot = -35.4006619567299 | etot = -28.1397744668925 +778000 ekin = 3.4583803102866 | erot = 3.51853820068406 | epot = -35.2979750992065 | etot = -28.3210565882358 +779000 ekin = 3.42307480041793 | erot = 3.59321040457274 | epot = -35.2809430031739 | etot = -28.2646577981832 +780000 ekin = 3.42440692402583 | erot = 3.60521054559663 | epot = -35.3411249792456 | etot = -28.3115075096232 +781000 ekin = 3.46934151467013 | erot = 3.84731508491239 | epot = -35.4518670976728 | etot = -28.1352104980902 +782000 ekin = 3.52710406680765 | erot = 4.28376670942223 | epot = -35.5950260565868 | etot = -27.7841552803569 +783000 ekin = 3.61729821660962 | erot = 4.75537078140965 | epot = -35.7562125383786 | etot = -27.3835435403593 +784000 ekin = 3.58366553598354 | erot = 4.11380123135017 | epot = -35.8708728516403 | etot = -28.1734060843065 +785000 ekin = 3.63226984987139 | erot = 4.14613629449623 | epot = -35.9549809353062 | etot = -28.1765747909386 +786000 ekin = 3.55353155352182 | erot = 3.96170523540249 | epot = -36.0104316125791 | etot = -28.4951948236547 +787000 ekin = 3.65679390509465 | erot = 4.13482060006107 | epot = -36.0644977241083 | etot = -28.2728832189526 +788000 ekin = 3.867576992853 | erot = 4.10779053552871 | epot = -36.0997261456394 | etot = -28.1243586172577 +789000 ekin = 3.93645468274948 | erot = 4.27766163431813 | epot = -36.1406694170032 | etot = -27.9265530999356 +790000 ekin = 3.99051031327522 | erot = 3.95340487785031 | epot = -36.2018617372684 | etot = -28.2579465461428 +791000 ekin = 4.10452718423531 | erot = 3.99235351847299 | epot = -36.2624115283464 | etot = -28.1655308256382 +792000 ekin = 4.33302884516796 | erot = 3.8304429162741 | epot = -36.3357012610719 | etot = -28.1722294996298 +793000 ekin = 4.59966330091371 | erot = 3.74212535974473 | epot = -36.4314410279298 | etot = -28.0896523672713 +794000 ekin = 4.70509453521945 | erot = 3.73254571552344 | epot = -36.5039677226904 | etot = -28.0663274719476 +795000 ekin = 4.82373501353496 | erot = 3.69936645898632 | epot = -36.5467302591184 | etot = -28.0236287865971 +796000 ekin = 5.02825099690213 | erot = 3.6584589522484 | epot = -36.5441938749352 | etot = -27.8574839257846 +797000 ekin = 4.98369350470429 | erot = 3.33483563015644 | epot = -36.5302539300584 | etot = -28.2117247951976 +798000 ekin = 5.04627515833427 | erot = 3.25184431558307 | epot = -36.5269098314583 | etot = -28.228790357541 +799000 ekin = 4.96165968599483 | erot = 3.39539196017168 | epot = -36.5580084896252 | etot = -28.2009568434587 +800000 ekin = 4.9608728952381 | erot = 3.5493203329157 | epot = -36.6052154994127 | etot = -28.0950222712589 +801000 ekin = 4.96148873220033 | erot = 3.39995120227754 | epot = -36.6619752973789 | etot = -28.300535362901 +802000 ekin = 4.86744715226313 | erot = 3.35338258088214 | epot = -36.694222464791 | etot = -28.4733927316457 +803000 ekin = 4.75056128639555 | erot = 3.25410486957635 | epot = -36.7045390401487 | etot = -28.6998728841768 +804000 ekin = 4.78109129200104 | erot = 3.07765972882934 | epot = -36.6985265194181 | etot = -28.8397754985877 +805000 ekin = 4.82892493818659 | erot = 3.27499533781792 | epot = -36.6737874267385 | etot = -28.5698671507339 +806000 ekin = 4.74542372520125 | erot = 3.18323237798567 | epot = -36.6406513076366 | etot = -28.7119952044497 +807000 ekin = 4.64766139288033 | erot = 3.38424960796029 | epot = -36.647673088396 | etot = -28.6157620875554 +808000 ekin = 4.457078358644 | erot = 3.35175675914238 | epot = -36.7022500935494 | etot = -28.893414975763 +809000 ekin = 4.3267088759155 | erot = 3.32046355515555 | epot = -36.7741824114205 | etot = -29.1270099803495 +810000 ekin = 4.19642960492136 | erot = 3.20396083815701 | epot = -36.8832195227731 | etot = -29.4828290796948 +811000 ekin = 4.18603442116986 | erot = 3.54097838794745 | epot = -37.0402774324891 | etot = -29.3132646233718 +812000 ekin = 4.33190991624128 | erot = 3.67977508149037 | epot = -37.2334955671968 | etot = -29.2218105694651 +813000 ekin = 4.46701990899902 | erot = 3.84749046887853 | epot = -37.477006312962 | etot = -29.1624959350845 +814000 ekin = 4.70593563863401 | erot = 4.02074050200779 | epot = -37.7739765579915 | etot = -29.0473004173497 +815000 ekin = 4.61635561952674 | erot = 4.30893882425501 | epot = -38.0622407069035 | etot = -29.1369462631217 +816000 ekin = 4.66419241223469 | erot = 4.4334841646702 | epot = -38.3533945439941 | etot = -29.2557179670892 +817000 ekin = 4.61492034782231 | erot = 4.85896836140468 | epot = -38.6054729848482 | etot = -29.1315842756212 +818000 ekin = 4.6936135555876 | erot = 4.57560992803624 | epot = -38.8141140205622 | etot = -29.5448905369383 +819000 ekin = 4.99561997491631 | erot = 4.59057590873874 | epot = -38.9861314653861 | etot = -29.399935581731 +820000 ekin = 5.14251771001315 | erot = 4.38257454602503 | epot = -39.111979352787 | etot = -29.5868870967488 +821000 ekin = 5.21211790511143 | erot = 3.76493639645341 | epot = -39.1791873910091 | etot = -30.2021330894442 +822000 ekin = 5.22763747343407 | erot = 3.81993934721836 | epot = -39.2257832500634 | etot = -30.178206429411 +823000 ekin = 5.20824824630262 | erot = 3.61818509207447 | epot = -39.2577442235127 | etot = -30.4313108851356 +824000 ekin = 5.29481176259064 | erot = 3.61607107182839 | epot = -39.2930045776051 | etot = -30.382121743186 +825000 ekin = 5.34590564278881 | erot = 3.47605801675253 | epot = -39.3020776711429 | etot = -30.4801140116015 +826000 ekin = 5.38005087585683 | erot = 3.56002985231115 | epot = -39.2878928900552 | etot = -30.3478121618872 +827000 ekin = 5.38251681844313 | erot = 3.31581026558491 | epot = -39.2838973283757 | etot = -30.5855702443476 +828000 ekin = 5.30162295798738 | erot = 2.79999506814259 | epot = -39.2990437954941 | etot = -31.1974257693642 +829000 ekin = 5.34935471298468 | erot = 2.63380753851503 | epot = -39.3079384502706 | etot = -31.3247761987709 +830000 ekin = 5.15642397228279 | erot = 2.78944963383064 | epot = -39.3294203636004 | etot = -31.383546757487 +831000 ekin = 5.04271329110575 | erot = 3.07984504895767 | epot = -39.3562191308943 | etot = -31.2336607908309 +832000 ekin = 5.04415123872944 | erot = 3.36917057661257 | epot = -39.3458026730645 | etot = -30.9324808577225 +833000 ekin = 4.97652700754312 | erot = 3.1101682681075 | epot = -39.3003589046715 | etot = -31.2136636290209 +834000 ekin = 4.66785324148465 | erot = 2.98799062968242 | epot = -39.2007615011675 | etot = -31.5449176300004 +835000 ekin = 4.41967948410668 | erot = 3.24754240638231 | epot = -39.0370935965111 | etot = -31.3698717060221 +836000 ekin = 4.19399501172609 | erot = 3.40709899396411 | epot = -38.8824429433975 | etot = -31.2813489377073 +837000 ekin = 4.05102708476564 | erot = 3.50403284169295 | epot = -38.729129846576 | etot = -31.1740699201174 +838000 ekin = 3.94991363719696 | erot = 3.82377156946746 | epot = -38.5557937558051 | etot = -30.7821085491406 +839000 ekin = 3.7432666531872 | erot = 3.97324655976193 | epot = -38.3643816043728 | etot = -30.6478683914237 +840000 ekin = 3.70351574528206 | erot = 3.51244886217305 | epot = -38.1559200259223 | etot = -30.9399554184672 +841000 ekin = 3.60547887438337 | erot = 3.69151206405111 | epot = -37.9552189953845 | etot = -30.65822805695 +842000 ekin = 3.38591284745953 | erot = 3.48115901302697 | epot = -37.764748291951 | etot = -30.8976764314645 +843000 ekin = 3.11807787995847 | erot = 3.24962582172167 | epot = -37.5931200484565 | etot = -31.2254163467764 +844000 ekin = 3.03125896851695 | erot = 3.10915311466782 | epot = -37.405355484813 | etot = -31.2649434016282 +845000 ekin = 2.84759324027358 | erot = 3.53115382226828 | epot = -37.2260086331774 | etot = -30.8472615706355 +846000 ekin = 2.83613069836887 | erot = 3.4149752298821 | epot = -37.0853206047919 | etot = -30.8342146765409 +847000 ekin = 2.82518542790846 | erot = 3.9264613760552 | epot = -36.974096592552 | etot = -30.2224497885884 +848000 ekin = 2.80356101967319 | erot = 3.75897131812122 | epot = -36.8749675315762 | etot = -30.3124351937818 +849000 ekin = 2.84159199816781 | erot = 3.65493979263187 | epot = -36.779890805585 | etot = -30.2833590147853 +850000 ekin = 2.91517374365713 | erot = 3.25543936029208 | epot = -36.7388454898329 | etot = -30.5682323858837 +851000 ekin = 3.08764953673658 | erot = 3.74455145978192 | epot = -36.7223642181885 | etot = -29.89016322167 +852000 ekin = 3.20356705871772 | erot = 3.86422941824802 | epot = -36.7413165099177 | etot = -29.6735200329519 +853000 ekin = 3.25796036952201 | erot = 4.25509323905638 | epot = -36.7658517979722 | etot = -29.2527981893938 +854000 ekin = 3.57244822927054 | erot = 4.18969744123878 | epot = -36.8021340521259 | etot = -29.0399883816166 +855000 ekin = 3.61706783412732 | erot = 4.16292249791896 | epot = -36.8626923862677 | etot = -29.0827020542214 +856000 ekin = 3.78538239755829 | erot = 4.1125355160369 | epot = -36.9244661414311 | etot = -29.0265482278359 +857000 ekin = 3.78178847655943 | erot = 4.13628071929874 | epot = -37.0292483027703 | etot = -29.1111791069121 +858000 ekin = 3.79767899411072 | erot = 4.25390024597238 | epot = -37.1883443366299 | etot = -29.1367650965468 +859000 ekin = 3.79646558910104 | erot = 4.39490149090002 | epot = -37.3423128301936 | etot = -29.1509457501926 +860000 ekin = 3.86711139340656 | erot = 4.91957560544927 | epot = -37.4915022932753 | etot = -28.7048152944195 +861000 ekin = 3.99177075241214 | erot = 4.92589410248027 | epot = -37.5868681074752 | etot = -28.6692032525828 +862000 ekin = 4.09777488770542 | erot = 4.85487231115203 | epot = -37.6175250863673 | etot = -28.6648778875099 +863000 ekin = 4.13925231113358 | erot = 4.50896117392437 | epot = -37.5986086016745 | etot = -28.9503951166166 +864000 ekin = 4.14764866587401 | erot = 4.42487018235784 | epot = -37.5204132439135 | etot = -28.9478943956816 +865000 ekin = 4.14664914911124 | erot = 4.25648196395957 | epot = -37.3939280409712 | etot = -28.9907969279004 +866000 ekin = 4.14214320133623 | erot = 4.18089045470408 | epot = -37.2179460829705 | etot = -28.8949124269302 +867000 ekin = 4.2533355578276 | erot = 3.91180056253338 | epot = -37.0368358637648 | etot = -28.8716997434038 +868000 ekin = 4.25544635673599 | erot = 4.03934502097771 | epot = -36.8925237407717 | etot = -28.597732363058 +869000 ekin = 4.24112681076696 | erot = 4.01454747655037 | epot = -36.8084367274639 | etot = -28.5527624401466 +870000 ekin = 4.33478513327969 | erot = 3.78349131070103 | epot = -36.7681636745506 | etot = -28.6498872305699 +871000 ekin = 4.17502061003877 | erot = 3.95421063050501 | epot = -36.789978024709 | etot = -28.6607467841652 +872000 ekin = 4.17603847735387 | erot = 3.83768938083755 | epot = -36.8688005631079 | etot = -28.8550727049165 +873000 ekin = 4.41693719639055 | erot = 4.07505566261771 | epot = -36.9767379853353 | etot = -28.484745126327 +874000 ekin = 4.41295334009066 | erot = 4.18394759913442 | epot = -37.1369142438402 | etot = -28.5400133046152 +875000 ekin = 4.5295533495583 | erot = 4.19580464695389 | epot = -37.3370998777418 | etot = -28.6117418812297 +876000 ekin = 4.61247068682014 | erot = 4.50897081857259 | epot = -37.524834933576 | etot = -28.4033934281833 +877000 ekin = 4.76533246608885 | erot = 4.08201826719388 | epot = -37.6873606048148 | etot = -28.8400098715321 +878000 ekin = 4.86109701096016 | erot = 4.03315572964805 | epot = -37.8092910984796 | etot = -28.9150383578714 +879000 ekin = 4.93322526419341 | erot = 3.94479688456014 | epot = -37.8433128250789 | etot = -28.9652906763253 +880000 ekin = 4.911777192825 | erot = 3.90966953329923 | epot = -37.7988935874835 | etot = -28.9774468613593 +881000 ekin = 4.87595051611175 | erot = 3.76638474533256 | epot = -37.6791282073065 | etot = -29.0367929458622 +882000 ekin = 4.80398792776511 | erot = 3.52725045147228 | epot = -37.4958553191689 | etot = -29.1646169399315 +883000 ekin = 4.56372183805733 | erot = 3.17268134771393 | epot = -37.3026048485139 | etot = -29.5662016627427 +884000 ekin = 4.38408070690437 | erot = 2.95287988074889 | epot = -37.1164899885621 | etot = -29.7795294009088 +885000 ekin = 4.21401267631408 | erot = 3.28627816384396 | epot = -36.9423946246094 | etot = -29.4421037844513 +886000 ekin = 3.94208450895983 | erot = 3.61827008671944 | epot = -36.8244889717529 | etot = -29.2641343760737 +887000 ekin = 3.76025689669472 | erot = 3.89282193563569 | epot = -36.7542446517053 | etot = -29.1011658193749 +888000 ekin = 3.58518173626078 | erot = 4.10918051627477 | epot = -36.7235080282687 | etot = -29.0291457757332 +889000 ekin = 3.52227905598844 | erot = 4.53948895643707 | epot = -36.742334591686 | etot = -28.6805665792605 +890000 ekin = 3.48725850687346 | erot = 4.91651845671102 | epot = -36.81107494511 | etot = -28.4072979815255 +891000 ekin = 3.51807183016393 | erot = 5.36785996033029 | epot = -36.9187079043872 | etot = -28.0327761138929 +892000 ekin = 3.48651441482314 | erot = 5.25687644163395 | epot = -37.0005216584211 | etot = -28.257130801964 +893000 ekin = 3.51467838154865 | erot = 5.65149044087769 | epot = -37.05944534206 | etot = -27.8932765196337 +894000 ekin = 3.45974654612344 | erot = 5.22169711042801 | epot = -37.1020642679859 | etot = -28.4206206114344 +895000 ekin = 3.57216437063283 | erot = 5.4089506797762 | epot = -37.1028729086242 | etot = -28.1217578582152 +896000 ekin = 3.56655921068021 | erot = 5.69090228219818 | epot = -37.070821741523 | etot = -27.8133602486446 +897000 ekin = 3.57757547802829 | erot = 5.90228049359271 | epot = -36.9859514532974 | etot = -27.5060954816764 +898000 ekin = 3.52295514054008 | erot = 5.84538360240597 | epot = -36.8484715408745 | etot = -27.4801327979284 +899000 ekin = 3.42191869063631 | erot = 5.47174915922289 | epot = -36.6856616378147 | etot = -27.7919937879555 +900000 ekin = 3.45720121516806 | erot = 5.59973772512064 | epot = -36.5148133918258 | etot = -27.4578744515371 +901000 ekin = 3.51607619901442 | erot = 5.88763510779773 | epot = -36.2859464010575 | etot = -26.8822350942454 +902000 ekin = 3.56087621117169 | erot = 5.17399063106742 | epot = -36.0621785767848 | etot = -27.3273117345457 +903000 ekin = 3.56470936099193 | erot = 5.0736169800556 | epot = -35.8794588183624 | etot = -27.2411324773149 +904000 ekin = 3.64294879518613 | erot = 5.28022715353213 | epot = -35.7543216612838 | etot = -26.8311457125655 +905000 ekin = 3.72447152602285 | erot = 5.02657007424527 | epot = -35.6582804909764 | etot = -26.9072388907083 +906000 ekin = 3.75914133677088 | erot = 4.63070748715842 | epot = -35.612999504401 | etot = -27.2231506804717 +907000 ekin = 4.00046169414558 | erot = 4.63743176603131 | epot = -35.6087015116536 | etot = -26.9708080514767 +908000 ekin = 3.98050966425464 | erot = 4.23795607914891 | epot = -35.6020003534147 | etot = -27.3835346100112 +909000 ekin = 4.14488755712815 | erot = 3.77771446920705 | epot = -35.5819012555833 | etot = -27.6592992292481 +910000 ekin = 4.1887889926356 | erot = 3.85878998652561 | epot = -35.5853308204891 | etot = -27.5377518413279 +911000 ekin = 4.15448454864758 | erot = 3.93063753948176 | epot = -35.6075046071718 | etot = -27.5223825190425 +912000 ekin = 4.30922033402802 | erot = 4.53644215925805 | epot = -35.6368602869835 | etot = -26.7911977936974 +913000 ekin = 4.42050627097558 | erot = 4.36559538892952 | epot = -35.6635505470047 | etot = -26.8774488870996 +914000 ekin = 4.6403841670674 | erot = 4.57708989772375 | epot = -35.6621612967527 | etot = -26.4446872319616 +915000 ekin = 4.71121950507705 | erot = 4.34018648406813 | epot = -35.6015140360094 | etot = -26.5501080468642 +916000 ekin = 4.67735943325919 | erot = 4.0723772918886 | epot = -35.4903050476419 | etot = -26.7405683224941 +917000 ekin = 4.78142703705638 | erot = 4.20198791892886 | epot = -35.3917685265256 | etot = -26.4083535705404 +918000 ekin = 4.7742119869693 | erot = 4.42971373988814 | epot = -35.2582637676414 | etot = -26.0543380407839 +919000 ekin = 4.73422216252914 | erot = 4.77044814340051 | epot = -35.0931913565728 | etot = -25.5885210506432 +920000 ekin = 4.64583700129848 | erot = 4.69774436792081 | epot = -34.9395895324837 | etot = -25.5960081632644 +921000 ekin = 4.61516328269964 | erot = 4.43350879426936 | epot = -34.8128426462854 | etot = -25.7641705693164 +922000 ekin = 4.55621337364178 | erot = 4.21768777753525 | epot = -34.731272035168 | etot = -25.957370883991 +923000 ekin = 4.59034826680215 | erot = 4.50920703076205 | epot = -34.7044992141229 | etot = -25.6049439165587 +924000 ekin = 4.58356240196282 | erot = 4.62074320796255 | epot = -34.7126986327434 | etot = -25.5083930228181 +925000 ekin = 4.53220072800684 | erot = 4.79254817721302 | epot = -34.7588998026867 | etot = -25.4341508974668 +926000 ekin = 4.55832715206546 | erot = 5.00471911281283 | epot = -34.8080246038197 | etot = -25.2449783389414 +927000 ekin = 4.62575171089084 | erot = 4.71181044830637 | epot = -34.8667293476369 | etot = -25.5291671884397 +928000 ekin = 4.6865737520682 | erot = 4.76234601746956 | epot = -34.9159498367978 | etot = -25.4670300672601 +929000 ekin = 4.70610289156496 | erot = 5.07097104655825 | epot = -34.9791697926812 | etot = -25.202095854558 +930000 ekin = 4.79474071813525 | erot = 5.21915381885372 | epot = -35.0589708185242 | etot = -25.0450762815352 +931000 ekin = 4.69039359230198 | erot = 5.48593447848963 | epot = -35.1099047138404 | etot = -24.9335766430488 +932000 ekin = 4.7111009460339 | erot = 5.4720468535618 | epot = -35.1612846037869 | etot = -24.9781368041912 +933000 ekin = 4.76369652677887 | erot = 5.41370570081894 | epot = -35.2317575147351 | etot = -25.0543552871373 +934000 ekin = 4.83643894391789 | erot = 5.23508631414153 | epot = -35.3109086744022 | etot = -25.2393834163428 +935000 ekin = 4.76586014730436 | erot = 5.22865540833756 | epot = -35.3670038676071 | etot = -25.3724883119652 +936000 ekin = 4.7459923218933 | erot = 5.40903849081523 | epot = -35.4141584031107 | etot = -25.2591275904022 +937000 ekin = 4.70665366838905 | erot = 5.90535300927779 | epot = -35.4573569432724 | etot = -24.8453502656056 +938000 ekin = 4.73520980048979 | erot = 5.48994015212931 | epot = -35.4717259493596 | etot = -25.2465759967405 +939000 ekin = 4.66471904112519 | erot = 5.58667162801307 | epot = -35.4363389851306 | etot = -25.1849483159923 +940000 ekin = 4.73670308439177 | erot = 5.59502045341229 | epot = -35.3410735898404 | etot = -25.0093500520363 +941000 ekin = 4.56546752366378 | erot = 5.16939612930462 | epot = -35.2196425314963 | etot = -25.4847788785279 +942000 ekin = 4.36600564082669 | erot = 4.55609433699451 | epot = -35.0782455188876 | etot = -26.1561455410664 +943000 ekin = 4.27680501590838 | erot = 4.77186490926422 | epot = -34.9346146494824 | etot = -25.8859447243098 +944000 ekin = 4.17576408254737 | erot = 4.64476704064562 | epot = -34.7936442239135 | etot = -25.9731131007205 +945000 ekin = 4.08165692512371 | erot = 4.64307958398346 | epot = -34.7241648822137 | etot = -25.9994283731065 +946000 ekin = 3.98238337685344 | erot = 4.33903183997964 | epot = -34.7208981880722 | etot = -26.3994829712391 +947000 ekin = 4.11312487406461 | erot = 4.25698162025787 | epot = -34.8023164533948 | etot = -26.4322099590723 +948000 ekin = 4.03905965504869 | erot = 4.28038925266087 | epot = -34.9281986674362 | etot = -26.6087497597266 +949000 ekin = 4.1208125166908 | erot = 4.40083354097111 | epot = -35.1348098866939 | etot = -26.613163829032 +950000 ekin = 4.19947300195128 | erot = 4.46892156642135 | epot = -35.3299547862506 | etot = -26.661560217878 +951000 ekin = 4.28802819218884 | erot = 4.36807424436335 | epot = -35.5595339264246 | etot = -26.9034314898725 +952000 ekin = 4.44618066979578 | erot = 4.88998578448103 | epot = -35.7762645912068 | etot = -26.44009813693 +953000 ekin = 4.5302283554923 | erot = 4.90684636989476 | epot = -35.9402525430858 | etot = -26.5031778176987 +954000 ekin = 4.65793433635961 | erot = 4.95789701943277 | epot = -36.1007223995933 | etot = -26.4848910438009 +955000 ekin = 4.68472849923027 | erot = 4.84778271057312 | epot = -36.2250094081951 | etot = -26.6924981983917 +956000 ekin = 4.83489144923538 | erot = 4.61252423076221 | epot = -36.2912267944712 | etot = -26.8438111144736 +957000 ekin = 4.83158754758409 | erot = 4.0642787483582 | epot = -36.3314048744553 | etot = -27.435538578513 +958000 ekin = 4.95872508890374 | erot = 3.8676428932311 | epot = -36.3554965538545 | etot = -27.5291285717197 +959000 ekin = 4.88220034385472 | erot = 3.76501141985342 | epot = -36.3703754351938 | etot = -27.7231636714857 +960000 ekin = 4.96739750076015 | erot = 3.7014398632156 | epot = -36.3537104260633 | etot = -27.6848730620876 +961000 ekin = 5.05073619222996 | erot = 3.58723306284446 | epot = -36.3292284086296 | etot = -27.6912591535552 +962000 ekin = 5.10220917296366 | erot = 3.43365806618373 | epot = -36.2926607322774 | etot = -27.75679349313 +963000 ekin = 5.25727455724212 | erot = 3.39047088285921 | epot = -36.2233249912223 | etot = -27.575579551121 +964000 ekin = 5.33892942752082 | erot = 3.38850636488331 | epot = -36.1631800361723 | etot = -27.4357442437681 +965000 ekin = 5.2970730958468 | erot = 3.40709075904151 | epot = -36.114647791202 | etot = -27.4104839363137 +966000 ekin = 5.27380254283778 | erot = 3.34984185029643 | epot = -36.0934598827503 | etot = -27.4698154896161 +967000 ekin = 5.19975037009079 | erot = 3.54967607074502 | epot = -36.1222651146807 | etot = -27.3728386738448 +968000 ekin = 5.22098509097155 | erot = 3.3892004067814 | epot = -36.1570868906286 | etot = -27.5469013928757 +969000 ekin = 5.01248198517068 | erot = 3.26201512253228 | epot = -36.2130447987792 | etot = -27.9385476910762 +970000 ekin = 4.97914863237106 | erot = 3.76343819077311 | epot = -36.2895058744145 | etot = -27.5469190512703 +971000 ekin = 5.04224300192785 | erot = 3.59024832311319 | epot = -36.3590409977869 | etot = -27.7265496727458 +972000 ekin = 5.05787332232175 | erot = 3.83558558676151 | epot = -36.3997125264456 | etot = -27.5062536173623 +973000 ekin = 5.01777031588935 | erot = 3.27986497682726 | epot = -36.4166837336011 | etot = -28.1190484408845 +974000 ekin = 4.96186842907979 | erot = 3.23479851019171 | epot = -36.4352005399393 | etot = -28.2385336006678 +975000 ekin = 4.97224363278502 | erot = 3.35077904927888 | epot = -36.4557098060367 | etot = -28.1326871239728 +976000 ekin = 5.0162553138043 | erot = 3.41837200675041 | epot = -36.4643526378271 | etot = -28.0297253172724 +977000 ekin = 5.04359880486583 | erot = 3.40669885598936 | epot = -36.4673967616966 | etot = -28.0170991008414 +978000 ekin = 4.9681411602187 | erot = 3.39885422893789 | epot = -36.4671439769122 | etot = -28.1001485877556 +979000 ekin = 4.68494120169249 | erot = 3.87226166481083 | epot = -36.4696261905049 | etot = -27.9124233240016 +980000 ekin = 4.80514576212701 | erot = 3.73614562894005 | epot = -36.475376838153 | etot = -27.9340854470859 +981000 ekin = 4.85375109376202 | erot = 4.35522911699943 | epot = -36.490277579472 | etot = -27.2812973687106 +982000 ekin = 4.79648806853116 | erot = 4.15595945903746 | epot = -36.5084812040106 | etot = -27.556033676442 +983000 ekin = 4.75907969484057 | erot = 4.43556787871506 | epot = -36.5083539693145 | etot = -27.3137063957588 +984000 ekin = 4.81598118843888 | erot = 4.52957555705298 | epot = -36.5383410952843 | etot = -27.1927843497924 +985000 ekin = 4.87924474650941 | erot = 4.31630979014036 | epot = -36.577700648078 | etot = -27.3821461114282 +986000 ekin = 4.77128314224537 | erot = 4.12408981491498 | epot = -36.5819281400531 | etot = -27.6865551828927 +987000 ekin = 4.70900566206185 | erot = 4.08922713836866 | epot = -36.5892891612732 | etot = -27.7910563608427 +988000 ekin = 4.6968564492698 | erot = 4.03217145235668 | epot = -36.6289948782934 | etot = -27.8999669766669 +989000 ekin = 4.56955203825019 | erot = 4.16364650343056 | epot = -36.6885496975525 | etot = -27.9553511558718 +990000 ekin = 4.56207337974517 | erot = 3.92865148644801 | epot = -36.7375440238776 | etot = -28.2468191576844 +991000 ekin = 4.4586326947315 | erot = 3.99370804360007 | epot = -36.8046932644695 | etot = -28.3523525261379 +992000 ekin = 4.52516169637469 | erot = 4.19036473784407 | epot = -36.9045951669892 | etot = -28.1890687327704 +993000 ekin = 4.26593637770936 | erot = 4.55899726308496 | epot = -37.0283922292365 | etot = -28.2034585884422 +994000 ekin = 4.14968593987806 | erot = 4.67871188882193 | epot = -37.1561829580762 | etot = -28.3277851293762 +995000 ekin = 4.20875361664816 | erot = 4.51127733270458 | epot = -37.285893138091 | etot = -28.5658621887383 +996000 ekin = 4.10968366763525 | erot = 4.25871927923692 | epot = -37.3745810703536 | etot = -29.0061781234814 +997000 ekin = 4.00616178451074 | erot = 4.48911641515844 | epot = -37.4314666701152 | etot = -28.936188470446 +998000 ekin = 4.02180091279274 | erot = 4.35841167717687 | epot = -37.4443636100105 | etot = -29.0641510200409 +999000 ekin = 4.07504562975234 | erot = 4.2623087345041 | epot = -37.4098012996852 | etot = -29.0724469354287 +1000000 ekin = 3.90433765200202 | erot = 4.66881888228247 | epot = -37.3063332342133 | etot = -28.7331766999288 + 1000000 0.10411567 -1.4674304 0.032571422 -1.2846921 -6.6175275e-05 64000 +Loop time of 46.707 on 4 procs for 1000000 steps with 26 atoms + +Performance: 18498.300 tau/day, 21410.069 timesteps/s +99.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 | 12.76 | 20.213 | 37.557 | 224.0 | 43.28 +Bond | 0.40923 | 0.55415 | 0.69879 | 19.0 | 1.19 +Neigh | 0.011178 | 0.011362 | 0.011538 | 0.1 | 0.02 +Comm | 5.0567 | 23.133 | 31.358 | 218.8 | 49.53 +Output | 0.11779 | 0.13598 | 0.14356 | 2.9 | 0.29 +Modify | 1.5587 | 2.2266 | 2.8695 | 42.6 | 4.77 +Other | | 0.4324 | | | 0.93 + +Nlocal: 6.50000 ave 10 max 3 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Nghost: 19.5000 ave 23 max 16 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Neighs: 75.2500 ave 190 max 23 min +Histogram: 1 2 0 0 0 0 0 0 0 1 + +Total # of neighbors = 301 +Ave neighs/atom = 11.576923 +Ave special neighs/atom = 5.0769231 +Neighbor list builds = 1000 +Dangerous builds = 0 + +write_data last_config.${number}.* nocoeff +write_data last_config.4.* nocoeff +System init for write_data ... +#write_restart last_config.${number}.* +Total wall time: 0:00:46 diff --git a/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.2Jul21.duplex4.8type.g++.1 b/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.2Jul21.duplex4.8type.g++.1 new file mode 100644 index 0000000000..c3c8dbcc9f --- /dev/null +++ b/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.2Jul21.duplex4.8type.g++.1 @@ -0,0 +1,1272 @@ +LAMMPS (2 Jul 2021) +variable number equal 8 +variable ofreq equal 1000 +variable efreq equal 1000 + +variable ntype equal 8 + +variable T equal 0.1 +variable rhos equal 0.2 + +units lj + +dimension 3 + +newton on + +boundary p p p + +atom_style hybrid bond ellipsoid oxdna +WARNING: Atom style hybrid defines both, per-type and per-atom masses; both must be set, but only per-atom masses will be used (../atom_vec_hybrid.cpp:157) +atom_modify sort 0 1.0 + +# Pair interactions require lists of neighbours to be calculated +neighbor 2.0 bin +neigh_modify every 10 delay 0 check yes + +read_data data.duplex4.8type +Reading data file ... + orthogonal box = (-20.000000 -20.000000 -20.000000) to (20.000000 20.000000 20.000000) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 26 atoms + reading velocities ... + 26 velocities + scanning bonds ... + 1 = max bonds/atom + 26 ellipsoids + reading bonds ... + 24 bonds +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 + 2 = max # of 1-3 neighbors + 4 = max # of 1-4 neighbors + 6 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.004 seconds + +mass * 3.1575 # sets per-type mass if not in data file +set atom * mass 3.1575 # sets per-atom mass +Setting atom values ... + 26 settings made for mass + +group all type 1 8 +26 atoms in group all + +# oxDNA2 bond interactions - FENE backbone +bond_style oxdna2/fene +bond_coeff * 2.0 0.25 0.7564 +special_bonds lj 0 1 1 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 1 1 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 2 = max # of 1-3 neighbors + 4 = max # of 1-4 neighbors + 6 = max # of special neighbors + special bonds CPU = 0.000 seconds + +# oxDNA pair interactions +pair_style hybrid/overlay oxdna2/excv oxdna2/stk oxdna2/hbond oxdna2/xstk oxdna2/coaxstk oxdna2/dh +pair_coeff * * oxdna2/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32 +pair_coeff * * oxdna2/stk seqdep ${T} 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 +pair_coeff * * oxdna2/stk seqdep 0.1 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 +pair_coeff * * oxdna2/hbond seqdep 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 + +label loop +variable base loop ${ntype} +variable base loop 8 + variable basemod equal ${base}%4 + variable basemod equal 1%4 + if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" +variable comp equal ${base}+3 +variable comp equal 1+3 +pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 1 ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 1 4 oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 + if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" +next base +jump in.duplex4.8type loop +variable base loop ${ntype} +variable base loop 8 + variable basemod equal ${base}%4 + variable basemod equal 2%4 + if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" + if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" +variable comp equal ${base}+1 +variable comp equal 2+1 +pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 2 ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 2 3 oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +next base +jump in.duplex4.8type loop +variable base loop ${ntype} +variable base loop 8 + variable basemod equal ${base}%4 + variable basemod equal 3%4 + if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" + if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" +next base +jump in.duplex4.8type loop +variable base loop ${ntype} +variable base loop 8 + variable basemod equal ${base}%4 + variable basemod equal 4%4 + if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" + if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" +next base +jump in.duplex4.8type loop +variable base loop ${ntype} +variable base loop 8 + variable basemod equal ${base}%4 + variable basemod equal 5%4 + if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" +variable comp equal ${base}+3 +variable comp equal 5+3 +pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 5 ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 5 8 oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 + if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" +next base +jump in.duplex4.8type loop +variable base loop ${ntype} +variable base loop 8 + variable basemod equal ${base}%4 + variable basemod equal 6%4 + if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" + if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" +variable comp equal ${base}+1 +variable comp equal 6+1 +pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 6 ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 6 7 oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +next base +jump in.duplex4.8type loop +variable base loop ${ntype} +variable base loop 8 + variable basemod equal ${base}%4 + variable basemod equal 7%4 + if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" + if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" +next base +jump in.duplex4.8type loop +variable base loop ${ntype} +variable base loop 8 + variable basemod equal ${base}%4 + variable basemod equal 8%4 + if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" + if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" +next base +jump in.duplex4.8type loop + +pair_coeff * * oxdna2/xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68 +pair_coeff * * oxdna2/coaxstk 58.5 0.4 0.6 0.22 0.58 2.0 2.891592653589793 0.65 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 40.0 3.116592653589793 +pair_coeff * * oxdna2/dh ${T} ${rhos} 0.815 +pair_coeff * * oxdna2/dh 0.1 ${rhos} 0.815 +pair_coeff * * oxdna2/dh 0.1 0.2 0.815 + +# Langevin dynamics +fix 1 all nve/asphere +fix 2 all langevin ${T} ${T} 2.5 457145 angmom 10 +fix 2 all langevin 0.1 ${T} 2.5 457145 angmom 10 +fix 2 all langevin 0.1 0.1 2.5 457145 angmom 10 + +timestep 1e-5 + +#comm_style tiled +fix 3 all balance 1000 1.03 shift xyz 10 1.03 +comm_modify cutoff 3.8 + +compute quat all property/atom quatw quati quatj quatk + +compute erot all erotate/asphere +compute ekin all ke +compute epot all pe +variable erot equal c_erot +variable ekin equal c_ekin +variable epot equal c_epot +variable etot equal c_erot+c_ekin+c_epot +fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes +fix 5 all print 1000 "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes + +dump out all custom ${ofreq} out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump out all custom 1000 out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump out all custom 1000 out.8.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump_modify out sort id +dump_modify out format line "%d %d %d %22.15le %22.15le %22.15le %d %d %d %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le" + +run 1000000 +Neighbor list info ... + update every 10 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 5.6389877 + ghost atom cutoff = 5.6389877 + binsize = 2.8194939, bins = 15 15 15 + 5 neighbor lists, perpetual/occasional/extra = 5 0 0 + (1) pair oxdna2/excv, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard + (2) pair oxdna2/hbond, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none + (3) pair oxdna2/xstk, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none + (4) pair oxdna2/coaxstk, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none + (5) pair oxdna2/dh, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none +WARNING: Communication cutoff adjusted to 5.638987723814632 (../comm.cpp:739) +0 ekin = 3.74991604702378 | erot = 3.45272678980464 | epot = -37.374200901142 | etot = -30.1715580643136 +Per MPI rank memory allocation (min/avg/max) = 9.328 | 9.328 | 9.328 Mbytes +Step Temp E_pair E_mol TotEng Press Volume + 0 0.099997761 -1.4717559 0.03428661 -1.2932417 5.6146609e-05 64000 +1000 ekin = 3.83184879800819 | erot = 3.50203401022062 | epot = -37.4730508915114 | etot = -30.1391680832826 +2000 ekin = 3.82227374831519 | erot = 3.79878100905234 | epot = -37.616191007464 | etot = -29.9951362500965 +3000 ekin = 3.90938932030971 | erot = 4.1584025695072 | epot = -37.7430329723255 | etot = -29.6752410825086 +4000 ekin = 3.82373321902577 | erot = 4.12183047279799 | epot = -37.8313543569025 | etot = -29.8857906650787 +5000 ekin = 3.7245469506492 | erot = 4.29953523687407 | epot = -37.8617217220934 | etot = -29.8376395345701 +6000 ekin = 3.75585156536887 | erot = 4.31270713695362 | epot = -37.8280629310505 | etot = -29.759504228728 +7000 ekin = 3.7932674084105 | erot = 4.16508360466875 | epot = -37.7640947397913 | etot = -29.8057437267121 +8000 ekin = 3.74746489835263 | erot = 4.25243425677967 | epot = -37.6835135449588 | etot = -29.6836143898265 +9000 ekin = 3.70802697723781 | erot = 4.00193184819411 | epot = -37.5899388200959 | etot = -29.879979994664 +10000 ekin = 3.58135597641079 | erot = 3.86411518632772 | epot = -37.5041732418663 | etot = -30.0587020791278 +11000 ekin = 3.45122934445655 | erot = 4.1703535299311 | epot = -37.4859882561369 | etot = -29.8644053817493 +12000 ekin = 3.42435863038453 | erot = 4.21487472538924 | epot = -37.5307136425246 | etot = -29.8914802867508 +13000 ekin = 3.40216979362993 | erot = 4.07292918248782 | epot = -37.6378499557145 | etot = -30.1627509795968 +14000 ekin = 3.2921331552169 | erot = 4.50441987673251 | epot = -37.7761364031321 | etot = -29.9795833711827 +15000 ekin = 3.36883179726036 | erot = 4.91359031415192 | epot = -37.9357367952089 | etot = -29.6533146837966 +16000 ekin = 3.30177911852248 | erot = 5.09593415997444 | epot = -38.143737189117 | etot = -29.7460239106201 +17000 ekin = 3.27867865291038 | erot = 5.45789581601551 | epot = -38.3785999463332 | etot = -29.6420254774073 +18000 ekin = 3.36770908750654 | erot = 5.63036493519878 | epot = -38.5970397067551 | etot = -29.5989656840498 +19000 ekin = 3.29802639540141 | erot = 5.4561639608394 | epot = -38.7810833463914 | etot = -30.0268929901506 +20000 ekin = 3.28760849058064 | erot = 5.26031945979083 | epot = -38.9429500949467 | etot = -30.3950221445752 +21000 ekin = 3.32772748450133 | erot = 5.34990394778077 | epot = -39.0618181252056 | etot = -30.3841866929235 +22000 ekin = 3.34298346296243 | erot = 5.12273250375884 | epot = -39.1360899153793 | etot = -30.670373948658 +23000 ekin = 3.38280280428755 | erot = 5.14933572496698 | epot = -39.1974651493046 | etot = -30.6653266200501 +24000 ekin = 3.43991273776911 | erot = 5.03737353653099 | epot = -39.2427818934622 | etot = -30.7654956191621 +25000 ekin = 3.44382800915666 | erot = 4.56194227438362 | epot = -39.2491545805195 | etot = -31.2433842969792 +26000 ekin = 3.47220361933921 | erot = 4.88028216050135 | epot = -39.2033487475128 | etot = -30.8508629676722 +27000 ekin = 3.47824341108214 | erot = 4.7971367004181 | epot = -39.1340731989048 | etot = -30.8586930874046 +28000 ekin = 3.54835351423501 | erot = 4.65494607739445 | epot = -39.0768463918722 | etot = -30.8735468002427 +29000 ekin = 3.57491058588778 | erot = 4.31737192689192 | epot = -39.0420895500443 | etot = -31.1498070372646 +30000 ekin = 3.51438036654861 | erot = 4.50861299911584 | epot = -39.0276136699747 | etot = -31.0046203043103 +31000 ekin = 3.57650331888545 | erot = 4.40811531091204 | epot = -39.0168289246978 | etot = -31.0322102949003 +32000 ekin = 3.70658082522071 | erot = 4.15949186201363 | epot = -39.017410963825 | etot = -31.1513382765907 +33000 ekin = 3.83721022662003 | erot = 4.05055961618762 | epot = -39.0303039022729 | etot = -31.1425340594653 +34000 ekin = 3.94885880665681 | erot = 3.81495459058985 | epot = -39.0180833389347 | etot = -31.2542699416881 +35000 ekin = 3.97994525138323 | erot = 4.49904715736234 | epot = -38.9543629321032 | etot = -30.4753705233577 +36000 ekin = 3.90049506438266 | erot = 3.99723351860168 | epot = -38.8736492127444 | etot = -30.97592062976 +37000 ekin = 4.00119032736887 | erot = 4.30070706410093 | epot = -38.7576942972653 | etot = -30.4557969057955 +38000 ekin = 4.00581796835647 | erot = 3.82064458204034 | epot = -38.6053485149963 | etot = -30.7788859645995 +39000 ekin = 3.92374370666492 | erot = 3.80679256085696 | epot = -38.4357174066365 | etot = -30.7051811391146 +40000 ekin = 3.81525591020245 | erot = 3.60218215391061 | epot = -38.2889289083718 | etot = -30.8714908442587 +41000 ekin = 3.89801377589297 | erot = 3.52447171643241 | epot = -38.2033074629501 | etot = -30.7808219706247 +42000 ekin = 3.92469802136766 | erot = 3.72207083090906 | epot = -38.1843497161945 | etot = -30.5375808639177 +43000 ekin = 3.90355819056277 | erot = 3.6537526927489 | epot = -38.2197716832792 | etot = -30.6624607999675 +44000 ekin = 3.94906849382533 | erot = 3.48405507068376 | epot = -38.2852323155717 | etot = -30.8521087510626 +45000 ekin = 4.04988136986449 | erot = 3.38338492043337 | epot = -38.379217839749 | etot = -30.9459515494512 +46000 ekin = 4.12456204511554 | erot = 3.52614566674475 | epot = -38.4473213411912 | etot = -30.7966136293309 +47000 ekin = 4.05260082430177 | erot = 3.30110271195184 | epot = -38.4808326895795 | etot = -31.1271291533259 +48000 ekin = 3.94672633965036 | erot = 3.30790944660349 | epot = -38.4845357728861 | etot = -31.2298999866322 +49000 ekin = 3.88681575217735 | erot = 3.78262203823329 | epot = -38.4415128535038 | etot = -30.7720750630932 +50000 ekin = 3.8289998539571 | erot = 3.78573156370326 | epot = -38.3450518110649 | etot = -30.7303203934046 +51000 ekin = 3.84405747033417 | erot = 3.53181676479775 | epot = -38.2059734024445 | etot = -30.8300991673126 +52000 ekin = 3.72257170524986 | erot = 3.44233441463346 | epot = -38.0493176755067 | etot = -30.8844115556233 +53000 ekin = 3.58458805955587 | erot = 3.40175184254418 | epot = -37.8770316144346 | etot = -30.8906917123346 +54000 ekin = 3.42774104644866 | erot = 3.01933445329398 | epot = -37.7242775274776 | etot = -31.277202027735 +55000 ekin = 3.30773758120276 | erot = 3.11354928843072 | epot = -37.584427789289 | etot = -31.1631409196555 +56000 ekin = 3.30267684217518 | erot = 3.36746893036055 | epot = -37.4528615341919 | etot = -30.7827157616562 +57000 ekin = 3.19775481140565 | erot = 3.06235541109217 | epot = -37.3795633131473 | etot = -31.1194530906495 +58000 ekin = 3.11776701522974 | erot = 3.21225050262705 | epot = -37.3545495658646 | etot = -31.0245320480078 +59000 ekin = 3.02660076850687 | erot = 3.05700513362467 | epot = -37.3753385948441 | etot = -31.2917326927126 +60000 ekin = 3.05479252149938 | erot = 3.09854486170695 | epot = -37.4441725320783 | etot = -31.2908351488719 +61000 ekin = 3.01704476791617 | erot = 3.76451997765652 | epot = -37.5384296958521 | etot = -30.7568649502794 +62000 ekin = 3.04313706615776 | erot = 3.65046217125996 | epot = -37.6255736746588 | etot = -30.931974437241 +63000 ekin = 3.01457068009169 | erot = 3.63417424777149 | epot = -37.6954625017369 | etot = -31.0467175738737 +64000 ekin = 2.98716002899804 | erot = 3.66823413077172 | epot = -37.7940816265089 | etot = -31.1386874667392 +65000 ekin = 3.02462936411627 | erot = 3.70957377344584 | epot = -37.8868266007907 | etot = -31.1526234632286 +66000 ekin = 3.04943307417979 | erot = 3.64749592963955 | epot = -37.9385532609816 | etot = -31.2416242571623 +67000 ekin = 3.10664998766834 | erot = 3.9244199235005 | epot = -37.9686488739492 | etot = -30.9375789627803 +68000 ekin = 3.1050854233858 | erot = 3.5178167489996 | epot = -37.983113244155 | etot = -31.3602110717696 +69000 ekin = 3.12460161346418 | erot = 3.45336993587921 | epot = -38.016048039057 | etot = -31.4380764897136 +70000 ekin = 3.27586566025794 | erot = 2.94330488125488 | epot = -38.0712687269606 | etot = -31.8520981854478 +71000 ekin = 3.39211310061258 | erot = 2.74512861011504 | epot = -38.1409313278077 | etot = -32.0036896170801 +72000 ekin = 3.40645093836728 | erot = 2.75927481548157 | epot = -38.2448895790434 | etot = -32.0791638251946 +73000 ekin = 3.52971008848823 | erot = 2.59006671029947 | epot = -38.3559671032089 | etot = -32.2361903044212 +74000 ekin = 3.64539698532476 | erot = 2.94116909218575 | epot = -38.4934235930849 | etot = -31.9068575155744 +75000 ekin = 3.80169679560814 | erot = 3.11004664709647 | epot = -38.6561648833572 | etot = -31.7444214406526 +76000 ekin = 3.86343004207989 | erot = 3.33165114941789 | epot = -38.7892518002904 | etot = -31.5941706087926 +77000 ekin = 3.90472352035116 | erot = 3.31177401193377 | epot = -38.8678679983232 | etot = -31.6513704660382 +78000 ekin = 3.92691530468171 | erot = 3.25784074314341 | epot = -38.8969605625462 | etot = -31.7122045147211 +79000 ekin = 3.93607959529918 | erot = 3.16472395725656 | epot = -38.8636036578363 | etot = -31.7628001052805 +80000 ekin = 3.92375596570385 | erot = 3.03932991445865 | epot = -38.7678348516126 | etot = -31.8047489714501 +81000 ekin = 3.9430777715335 | erot = 2.88134017144298 | epot = -38.6473318824763 | etot = -31.8229139394998 +82000 ekin = 3.86696228915965 | erot = 2.89149309255461 | epot = -38.519943391552 | etot = -31.7614880098377 +83000 ekin = 3.60814275609262 | erot = 2.81572010912293 | epot = -38.3996592376438 | etot = -31.9757963724282 +84000 ekin = 3.71373301448702 | erot = 2.72793818704547 | epot = -38.3011883980015 | etot = -31.859517196469 +85000 ekin = 3.50951070251157 | erot = 2.79348490714939 | epot = -38.2117363909514 | etot = -31.9087407812904 +86000 ekin = 3.47308524750449 | erot = 3.12141964520655 | epot = -38.1244236248806 | etot = -31.5299187321696 +87000 ekin = 3.47440394227043 | erot = 3.04160702571504 | epot = -38.0440539828499 | etot = -31.5280430148644 +88000 ekin = 3.44172477689071 | erot = 2.99907227171085 | epot = -37.9859332104928 | etot = -31.5451361618913 +89000 ekin = 3.46547245050649 | erot = 3.42367325086164 | epot = -37.9432140623315 | etot = -31.0540683609633 +90000 ekin = 3.47276106924413 | erot = 3.41105238494334 | epot = -37.9009776655538 | etot = -31.0171642113663 +91000 ekin = 3.31717291023277 | erot = 4.00503611404981 | epot = -37.8509086765271 | etot = -30.5286996522445 +92000 ekin = 3.30281925189455 | erot = 3.78657692130476 | epot = -37.8308149894367 | etot = -30.7414188162374 +93000 ekin = 3.23932364656722 | erot = 3.46021357148725 | epot = -37.8328101558439 | etot = -31.1332729377895 +94000 ekin = 3.19291152023924 | erot = 3.36401906457231 | epot = -37.8297890174383 | etot = -31.2728584326267 +95000 ekin = 3.11174095364037 | erot = 3.84559531996404 | epot = -37.8285495206063 | etot = -30.8712132470019 +96000 ekin = 3.08253957616709 | erot = 4.19970849347964 | epot = -37.8307056468836 | etot = -30.5484575772369 +97000 ekin = 3.01019162595084 | erot = 4.79435511235213 | epot = -37.8474383063022 | etot = -30.0428915679992 +98000 ekin = 2.95004498340948 | erot = 4.45721895779631 | epot = -37.8489202082855 | etot = -30.4416562670797 +99000 ekin = 2.91563074020306 | erot = 4.14781823161589 | epot = -37.8396252499933 | etot = -30.7761762781743 +100000 ekin = 2.90648603235873 | erot = 3.81215086067838 | epot = -37.7900595351461 | etot = -31.071422642109 +101000 ekin = 2.85218071196321 | erot = 3.48991910340789 | epot = -37.7570245236792 | etot = -31.4149247083081 +102000 ekin = 2.86052427330307 | erot = 3.57587365782269 | epot = -37.7214005697291 | etot = -31.2850026386034 +103000 ekin = 2.88913271922391 | erot = 3.41748118405764 | epot = -37.6983180369495 | etot = -31.3917041336679 +104000 ekin = 2.81650081212179 | erot = 3.64361039549583 | epot = -37.6651320682074 | etot = -31.2050208605898 +105000 ekin = 2.79823699847461 | erot = 3.35865525277725 | epot = -37.6511913094721 | etot = -31.4942990582202 +106000 ekin = 2.78255015161702 | erot = 3.64122601097049 | epot = -37.6357012767034 | etot = -31.2119251141159 +107000 ekin = 2.8853059029881 | erot = 3.80038887689828 | epot = -37.6526611371135 | etot = -30.9669663572271 +108000 ekin = 2.83844762508156 | erot = 3.95272494897009 | epot = -37.7224292501163 | etot = -30.9312566760646 +109000 ekin = 2.91484982662488 | erot = 4.34544884566561 | epot = -37.8436434051328 | etot = -30.5833447328423 +110000 ekin = 2.93667443132402 | erot = 4.67698362049705 | epot = -37.9759529936705 | etot = -30.3622949418494 +111000 ekin = 3.11047864616463 | erot = 4.30694673133228 | epot = -38.1028692919235 | etot = -30.6854439144266 +112000 ekin = 3.32630420939175 | erot = 4.07222830175934 | epot = -38.2330557688864 | etot = -30.8345232577353 +113000 ekin = 3.38238157246173 | erot = 4.25399862575981 | epot = -38.4031841501303 | etot = -30.7668039519087 +114000 ekin = 3.40165200205494 | erot = 4.30744946748772 | epot = -38.6070332241657 | etot = -30.897931754623 +115000 ekin = 3.57685598139985 | erot = 4.55740206723813 | epot = -38.8200433287836 | etot = -30.6857852801457 +116000 ekin = 3.75973031177341 | erot = 4.3615765459289 | epot = -39.0323085624545 | etot = -30.9110017047522 +117000 ekin = 4.08170792820106 | erot = 4.22817627756988 | epot = -39.2374888319016 | etot = -30.9276046261307 +118000 ekin = 4.20730049786356 | erot = 4.45363628574744 | epot = -39.4247594107616 | etot = -30.7638226271506 +119000 ekin = 4.26502745539807 | erot = 4.38707691524353 | epot = -39.5609276649305 | etot = -30.9088232942889 +120000 ekin = 4.18668022830479 | erot = 4.24219249569072 | epot = -39.6276325806844 | etot = -31.1987598566889 +121000 ekin = 4.37673633947889 | erot = 4.44899930150549 | epot = -39.5989335189462 | etot = -30.7731978779619 +122000 ekin = 4.38970640566177 | erot = 4.08524736298491 | epot = -39.5011631447288 | etot = -31.0262093760821 +123000 ekin = 4.42858502015389 | erot = 3.38666748651706 | epot = -39.3700347945817 | etot = -31.5547822879107 +124000 ekin = 4.41843242629728 | erot = 3.29902599884916 | epot = -39.2496495732995 | etot = -31.532191148153 +125000 ekin = 4.2617494523508 | erot = 3.29673673713413 | epot = -39.1012418833314 | etot = -31.5427556938464 +126000 ekin = 4.24892047563245 | erot = 3.36728042977249 | epot = -38.9439369649168 | etot = -31.3277360595119 +127000 ekin = 4.20697642244211 | erot = 3.24776092764451 | epot = -38.7860930134988 | etot = -31.3313556634121 +128000 ekin = 4.051155507125 | erot = 3.47679598409534 | epot = -38.6330582994878 | etot = -31.1051068082675 +129000 ekin = 4.05771564566355 | erot = 3.55109790126639 | epot = -38.5073350485463 | etot = -30.8985215016164 +130000 ekin = 3.96453894213021 | erot = 3.5331352226628 | epot = -38.3915659508259 | etot = -30.8938917860329 +131000 ekin = 3.98900505769183 | erot = 3.64077310067997 | epot = -38.2786451293432 | etot = -30.6488669709714 +132000 ekin = 3.73079609117296 | erot = 3.73126171283414 | epot = -38.1409399456635 | etot = -30.6788821416564 +133000 ekin = 3.65247250435603 | erot = 3.53430985836843 | epot = -38.0235035134258 | etot = -30.8367211507014 +134000 ekin = 3.69649402588234 | erot = 3.97356364722737 | epot = -37.9278485959382 | etot = -30.2577909228285 +135000 ekin = 3.57147615494152 | erot = 4.00472599145964 | epot = -37.8397002442413 | etot = -30.2634980978401 +136000 ekin = 3.54164301577371 | erot = 3.88237062104624 | epot = -37.7460882463413 | etot = -30.3220746095214 +137000 ekin = 3.41247180964224 | erot = 3.32750587829717 | epot = -37.6246112923031 | etot = -30.8846336043637 +138000 ekin = 3.46206567288776 | erot = 3.47277237990382 | epot = -37.562116148782 | etot = -30.6272780959905 +139000 ekin = 3.46179863350053 | erot = 3.29345554522865 | epot = -37.5218039357363 | etot = -30.7665497570071 +140000 ekin = 3.57268233853842 | erot = 3.5202154657235 | epot = -37.4799882832129 | etot = -30.387090478951 +141000 ekin = 3.48030321137913 | erot = 3.69147952189496 | epot = -37.4842309048152 | etot = -30.3124481715411 +142000 ekin = 3.63349703801683 | erot = 3.72222694231707 | epot = -37.5326170636814 | etot = -30.1768930833475 +143000 ekin = 3.71391772492719 | erot = 3.32855653910457 | epot = -37.5715573506384 | etot = -30.5290830866066 +144000 ekin = 3.59876610372647 | erot = 3.57133292531736 | epot = -37.6083426167156 | etot = -30.4382435876717 +145000 ekin = 3.55129898738003 | erot = 3.38442665443505 | epot = -37.645703742064 | etot = -30.7099781002489 +146000 ekin = 3.57274630492872 | erot = 3.74306660671665 | epot = -37.6918399298831 | etot = -30.3760270182377 +147000 ekin = 3.51175180004563 | erot = 4.07506203504851 | epot = -37.7115891932223 | etot = -30.1247753581282 +148000 ekin = 3.52194530375129 | erot = 4.22438638639855 | epot = -37.7453589028593 | etot = -29.9990272127094 +149000 ekin = 3.43829227837986 | erot = 4.25032155928043 | epot = -37.7800675049656 | etot = -30.0914536673053 +150000 ekin = 3.3957375930512 | erot = 4.12519198982275 | epot = -37.7779101405858 | etot = -30.2569805577118 +151000 ekin = 3.38494817974845 | erot = 3.91154836764821 | epot = -37.7346130185547 | etot = -30.4381164711581 +152000 ekin = 3.33928233486053 | erot = 3.82420376901224 | epot = -37.6923063731278 | etot = -30.5288202692551 +153000 ekin = 3.38955645731944 | erot = 3.72251905459199 | epot = -37.6703717263952 | etot = -30.5582962144838 +154000 ekin = 3.4017017115168 | erot = 3.95270448125707 | epot = -37.6783897084388 | etot = -30.3239835156649 +155000 ekin = 3.44581188687106 | erot = 3.52528589615972 | epot = -37.7593041359923 | etot = -30.7882063529615 +156000 ekin = 3.55410349285979 | erot = 3.68359553101924 | epot = -37.8946612865555 | etot = -30.6569622626765 +157000 ekin = 3.67740663285561 | erot = 3.73708949692857 | epot = -38.0406477694046 | etot = -30.6261516396204 +158000 ekin = 3.70912292320982 | erot = 3.62418205239286 | epot = -38.1900046609469 | etot = -30.8566996853442 +159000 ekin = 3.6853282619123 | erot = 3.87298071798083 | epot = -38.2928836797072 | etot = -30.7345746998141 +160000 ekin = 3.72002440516723 | erot = 4.11592492943216 | epot = -38.3652902740973 | etot = -30.5293409394979 +161000 ekin = 3.73388863499069 | erot = 4.42836121024183 | epot = -38.4373191354183 | etot = -30.2750692901858 +162000 ekin = 4.02523829931076 | erot = 4.8680769419056 | epot = -38.4975346699525 | etot = -29.6042194287362 +163000 ekin = 4.03311015138323 | erot = 4.78291233450122 | epot = -38.5597523007635 | etot = -29.7437298148791 +164000 ekin = 4.1335004223363 | erot = 5.01454292769812 | epot = -38.5888368946085 | etot = -29.4407935445741 +165000 ekin = 4.2571846721418 | erot = 4.92225725319176 | epot = -38.5829201612759 | etot = -29.4034782359424 +166000 ekin = 4.11013815046505 | erot = 4.5380600083009 | epot = -38.5467907483033 | etot = -29.8985925895373 +167000 ekin = 4.08710467384593 | erot = 4.20997030650446 | epot = -38.4814936158366 | etot = -30.1844186354862 +168000 ekin = 4.03924000036858 | erot = 3.95993274976396 | epot = -38.3759188508994 | etot = -30.3767461007668 +169000 ekin = 3.94917218886656 | erot = 3.65240127094122 | epot = -38.2594355677076 | etot = -30.6578621078998 +170000 ekin = 3.90935554205321 | erot = 3.78797512477889 | epot = -38.1835201359157 | etot = -30.4861894690836 +171000 ekin = 3.8773250489546 | erot = 4.28652570004448 | epot = -38.1402484566641 | etot = -29.976397707665 +172000 ekin = 3.75957929171828 | erot = 4.02272820820138 | epot = -38.1557340618708 | etot = -30.3734265619512 +173000 ekin = 3.55030915229003 | erot = 4.03115995993296 | epot = -38.2480280629192 | etot = -30.6665589506962 +174000 ekin = 3.61281225750312 | erot = 4.30402685904744 | epot = -38.379508028535 | etot = -30.4626689119845 +175000 ekin = 3.56741376549371 | erot = 4.24945045724339 | epot = -38.5125929458379 | etot = -30.6957287231008 +176000 ekin = 3.69966296688439 | erot = 4.22673264606634 | epot = -38.6131459163278 | etot = -30.6867503033771 +177000 ekin = 3.7232933477479 | erot = 4.39637021744871 | epot = -38.6555013846403 | etot = -30.5358378194437 +178000 ekin = 3.7991935766677 | erot = 4.00194735045329 | epot = -38.6620582075599 | etot = -30.8609172804389 +179000 ekin = 3.78008346787859 | erot = 4.05267692212526 | epot = -38.6224110467893 | etot = -30.7896506567854 +180000 ekin = 3.84388711467645 | erot = 3.70916125532564 | epot = -38.5399848480517 | etot = -30.9869364780496 +181000 ekin = 3.78854199589317 | erot = 3.43025530256468 | epot = -38.4472679874805 | etot = -31.2284706890226 +182000 ekin = 3.65298336461982 | erot = 3.4144670384005 | epot = -38.3421256904839 | etot = -31.2746752874636 +183000 ekin = 3.57592466495272 | erot = 3.54000226366918 | epot = -38.2342661287443 | etot = -31.1183392001224 +184000 ekin = 3.59097293869161 | erot = 3.49764131752706 | epot = -38.1237685559035 | etot = -31.0351542996848 +185000 ekin = 3.59874593561892 | erot = 3.34180949424631 | epot = -38.0345613955437 | etot = -31.0940059656785 +186000 ekin = 3.55637392703387 | erot = 3.60010534755636 | epot = -37.9685691221056 | etot = -30.8120898475154 +187000 ekin = 3.30341471869181 | erot = 3.63282669533297 | epot = -37.9082034969871 | etot = -30.9719620829623 +188000 ekin = 3.25151380843728 | erot = 3.4158708150676 | epot = -37.8374520507023 | etot = -31.1700674271975 +189000 ekin = 3.09888859581603 | erot = 3.51324139411299 | epot = -37.7831379378025 | etot = -31.1710079478735 +190000 ekin = 2.9309664789049 | erot = 3.73100049541724 | epot = -37.7090579094215 | etot = -31.0470909350994 +191000 ekin = 2.7884578953631 | erot = 3.59181404756254 | epot = -37.6234731970084 | etot = -31.2432012540828 +192000 ekin = 2.68708504006426 | erot = 3.91911783313626 | epot = -37.526883385388 | etot = -30.9206805121875 +193000 ekin = 2.65091164661301 | erot = 3.82754219131902 | epot = -37.4213833049326 | etot = -30.9429294670006 +194000 ekin = 2.55372434146215 | erot = 3.81228833556049 | epot = -37.3433541779816 | etot = -30.977341500959 +195000 ekin = 2.54515296633922 | erot = 3.77157425987472 | epot = -37.2550689450336 | etot = -30.9383417188196 +196000 ekin = 2.57228739351393 | erot = 3.48448370430655 | epot = -37.1707275909677 | etot = -31.1139564931472 +197000 ekin = 2.47659034250743 | erot = 3.31788075232347 | epot = -37.1125490303323 | etot = -31.3180779355014 +198000 ekin = 2.47817611131623 | erot = 3.41593598489791 | epot = -37.0628542395745 | etot = -31.1687421433604 +199000 ekin = 2.46398696321861 | erot = 3.79330738397083 | epot = -37.0410272717131 | etot = -30.7837329245237 +200000 ekin = 2.66032750534619 | erot = 3.50045834258033 | epot = -37.0560186461538 | etot = -30.8952327982273 +201000 ekin = 2.82925423269724 | erot = 3.87280363693036 | epot = -37.1094527749141 | etot = -30.4073949052865 +202000 ekin = 2.87690134773435 | erot = 3.73724666810631 | epot = -37.1548849140444 | etot = -30.5407368982037 +203000 ekin = 3.09789929071291 | erot = 3.54687635269494 | epot = -37.1913390618662 | etot = -30.5465634184584 +204000 ekin = 3.2249783082041 | erot = 3.52082166300909 | epot = -37.2064645595876 | etot = -30.4606645883744 +205000 ekin = 3.08968228459873 | erot = 3.62768693137654 | epot = -37.2539593887052 | etot = -30.5365901727299 +206000 ekin = 3.1101415017481 | erot = 3.73856786590981 | epot = -37.3166778706669 | etot = -30.467968503009 +207000 ekin = 3.1829453735338 | erot = 4.25652712659376 | epot = -37.3463184168161 | etot = -29.9068459166886 +208000 ekin = 3.18396090757444 | erot = 4.43896014450663 | epot = -37.3566061410102 | etot = -29.7336850889291 +209000 ekin = 3.31348354672045 | erot = 3.97662877739679 | epot = -37.3764215045056 | etot = -30.0863091803884 +210000 ekin = 3.17486958285119 | erot = 3.68714944924489 | epot = -37.3622513109274 | etot = -30.5002322788313 +211000 ekin = 3.2477738173839 | erot = 3.39112189744197 | epot = -37.3847088569504 | etot = -30.7458131421245 +212000 ekin = 3.12182354729226 | erot = 3.15133571404853 | epot = -37.4262282165348 | etot = -31.153068955194 +213000 ekin = 3.1232309019731 | erot = 3.03298058440268 | epot = -37.4993866522035 | etot = -31.3431751658277 +214000 ekin = 3.02782055391866 | erot = 3.5189307426383 | epot = -37.618739888869 | etot = -31.071988592312 +215000 ekin = 3.08902625374254 | erot = 3.62054952513122 | epot = -37.8003692924875 | etot = -31.0907935136138 +216000 ekin = 3.0402918166672 | erot = 4.36545701920737 | epot = -38.0086846511918 | etot = -30.6029358153172 +217000 ekin = 3.11869416684308 | erot = 4.23835788568589 | epot = -38.1755180741878 | etot = -30.8184660216589 +218000 ekin = 3.12136726795473 | erot = 3.99627368131625 | epot = -38.3382201370155 | etot = -31.2205791877445 +219000 ekin = 3.2474996523994 | erot = 4.03289859762084 | epot = -38.4910930976405 | etot = -31.2106948476203 +220000 ekin = 3.1973165065664 | erot = 4.16726840142166 | epot = -38.6410163306451 | etot = -31.276431422657 +221000 ekin = 3.14591003185424 | erot = 4.4764367328117 | epot = -38.780722121156 | etot = -31.15837535649 +222000 ekin = 3.06194834255767 | erot = 4.40957176775797 | epot = -38.8960295960944 | etot = -31.4245094857787 +223000 ekin = 3.09392792198335 | erot = 4.36929377800867 | epot = -38.9696160320109 | etot = -31.5063943320188 +224000 ekin = 3.18434099924865 | erot = 4.674141260581 | epot = -39.0019773177328 | etot = -31.1434950579031 +225000 ekin = 3.26887097312573 | erot = 4.32849031089069 | epot = -39.0446790784002 | etot = -31.4473177943838 +226000 ekin = 3.21195731331512 | erot = 5.11387401999741 | epot = -39.0947841174991 | etot = -30.7689527841866 +227000 ekin = 3.12036258026498 | erot = 5.06347912205044 | epot = -39.0762383614625 | etot = -30.8923966591471 +228000 ekin = 3.09996729726213 | erot = 5.29564700287486 | epot = -39.0208988713251 | etot = -30.6252845711881 +229000 ekin = 3.03897933795902 | erot = 5.24780237112332 | epot = -38.9575212211327 | etot = -30.6707395120503 +230000 ekin = 3.00051887289146 | erot = 4.62162674048183 | epot = -38.9098464143818 | etot = -31.2877008010086 +231000 ekin = 2.91912781370872 | erot = 4.16321547565937 | epot = -38.8503568044396 | etot = -31.7680135150715 +232000 ekin = 2.80548407611275 | erot = 4.26963451717891 | epot = -38.7971045932123 | etot = -31.7219859999206 +233000 ekin = 2.921352071703 | erot = 4.30663886521625 | epot = -38.7943069633021 | etot = -31.5663160263829 +234000 ekin = 2.8987567571007 | erot = 4.15218445741161 | epot = -38.7953536145697 | etot = -31.7444124000574 +235000 ekin = 2.99243729544443 | erot = 3.66858116296993 | epot = -38.7881689836612 | etot = -32.1271505252468 +236000 ekin = 3.05722012426337 | erot = 3.77007572255967 | epot = -38.8307946718328 | etot = -32.0034988250098 +237000 ekin = 2.93797686036748 | erot = 4.00589644921927 | epot = -38.929946515337 | etot = -31.9860732057502 +238000 ekin = 2.9414435200925 | erot = 3.88111097233617 | epot = -39.0498657472631 | etot = -32.2273112548344 +239000 ekin = 3.10382951223872 | erot = 3.96380163382871 | epot = -39.1526703213401 | etot = -32.0850391752727 +240000 ekin = 3.05998182778604 | erot = 4.32395093282883 | epot = -39.2052189603879 | etot = -31.821286199773 +241000 ekin = 3.07091800265519 | erot = 4.10063821004074 | epot = -39.2356744872187 | etot = -32.0641182745228 +242000 ekin = 2.97211136503677 | erot = 4.19271702506013 | epot = -39.2591861941867 | etot = -32.0943578040898 +243000 ekin = 2.88784895332253 | erot = 4.01063377556442 | epot = -39.2721844581366 | etot = -32.3737017292496 +244000 ekin = 2.72034159299267 | erot = 3.9497078953668 | epot = -39.2969463203695 | etot = -32.62689683201 +245000 ekin = 2.73288139378783 | erot = 4.29552525608627 | epot = -39.3467303394195 | etot = -32.3183236895454 +246000 ekin = 2.68282749729218 | erot = 4.43958709181175 | epot = -39.4036850899301 | etot = -32.2812705008262 +247000 ekin = 2.73156079717717 | erot = 4.29997633507683 | epot = -39.4831744493476 | etot = -32.4516373170936 +248000 ekin = 2.71615239962776 | erot = 4.48384110145867 | epot = -39.5625690361122 | etot = -32.3625755350257 +249000 ekin = 2.72571373834881 | erot = 4.5335019483569 | epot = -39.6161562336935 | etot = -32.3569405469878 +250000 ekin = 2.67302825179683 | erot = 5.17929377782009 | epot = -39.6758534551748 | etot = -31.8235314255579 +251000 ekin = 2.6507365898703 | erot = 5.39364408144172 | epot = -39.7013652486056 | etot = -31.6569845772935 +252000 ekin = 2.81604561937354 | erot = 5.50799647083842 | epot = -39.6939189845586 | etot = -31.3698768943466 +253000 ekin = 2.83629985586585 | erot = 4.91166111825379 | epot = -39.6825773475315 | etot = -31.9346163734119 +254000 ekin = 2.79908189634044 | erot = 4.88281944777383 | epot = -39.6620010988144 | etot = -31.9800997547001 +255000 ekin = 2.84238496514409 | erot = 4.79166487708097 | epot = -39.6680683880925 | etot = -32.0340185458674 +256000 ekin = 2.82611571908347 | erot = 4.38756969310712 | epot = -39.7220228798985 | etot = -32.5083374677079 +257000 ekin = 2.78077325096871 | erot = 4.5642639453855 | epot = -39.7657957602323 | etot = -32.420758563878 +258000 ekin = 2.84466353932841 | erot = 4.94939241805645 | epot = -39.7743058264474 | etot = -31.9802498690625 +259000 ekin = 2.82994372921754 | erot = 4.84156348043289 | epot = -39.7845084321782 | etot = -32.1130012225278 +260000 ekin = 2.84769599243485 | erot = 4.63369709433921 | epot = -39.8060470464454 | etot = -32.3246539596713 +261000 ekin = 2.87237157835352 | erot = 4.51865061212279 | epot = -39.7979847736537 | etot = -32.4069625831774 +262000 ekin = 2.96750612225965 | erot = 4.57561390426948 | epot = -39.7782660470083 | etot = -32.2351460204792 +263000 ekin = 2.9928936584238 | erot = 4.20953311292943 | epot = -39.7453211677642 | etot = -32.542894396411 +264000 ekin = 3.02610258005868 | erot = 4.41804994162532 | epot = -39.7005266944526 | etot = -32.2563741727686 +265000 ekin = 3.02210011112739 | erot = 4.29011549844082 | epot = -39.6578667285885 | etot = -32.3456511190202 +266000 ekin = 2.9552602997359 | erot = 3.9722013360736 | epot = -39.586314373395 | etot = -32.6588527375855 +267000 ekin = 2.96306286479368 | erot = 4.39982365552042 | epot = -39.5117362736935 | etot = -32.1488497533794 +268000 ekin = 2.98837918599768 | erot = 4.59043107838106 | epot = -39.4346030266013 | etot = -31.8557927622225 +269000 ekin = 2.92733730866694 | erot = 4.81492520489307 | epot = -39.3017884762547 | etot = -31.5595259626947 +270000 ekin = 2.90335610024247 | erot = 4.98515255872076 | epot = -39.1437745457484 | etot = -31.2552658867851 +271000 ekin = 2.87611923369216 | erot = 5.02631285080427 | epot = -38.9919498909516 | etot = -31.0895178064552 +272000 ekin = 2.8777026077458 | erot = 4.83651556609768 | epot = -38.8408093950138 | etot = -31.1265912211703 +273000 ekin = 2.77329089721161 | erot = 4.69693225863749 | epot = -38.6610493537941 | etot = -31.190826197945 +274000 ekin = 2.68625637002646 | erot = 4.51669986790578 | epot = -38.450972898294 | etot = -31.2480166603618 +275000 ekin = 2.6033032445429 | erot = 4.20171703621303 | epot = -38.2182499356279 | etot = -31.413229654872 +276000 ekin = 2.57183076311405 | erot = 3.79152446287658 | epot = -38.0174336495132 | etot = -31.6540784235226 +277000 ekin = 2.49975386368552 | erot = 3.59614150828643 | epot = -37.8474968832234 | etot = -31.7516015112514 +278000 ekin = 2.46398069339692 | erot = 3.65098267442651 | epot = -37.6582057642292 | etot = -31.5432423964058 +279000 ekin = 2.48339824565301 | erot = 3.67548575635043 | epot = -37.5048702413578 | etot = -31.3459862393543 +280000 ekin = 2.53376634761115 | erot = 3.55656380463993 | epot = -37.3937621487775 | etot = -31.3034319965264 +281000 ekin = 2.67002406168555 | erot = 3.81689537677439 | epot = -37.3207483356567 | etot = -30.8338288971967 +282000 ekin = 2.63534042744469 | erot = 3.62617225051201 | epot = -37.2561498174831 | etot = -30.9946371395264 +283000 ekin = 2.6220496059321 | erot = 3.60063437351299 | epot = -37.1865464899412 | etot = -30.9638625104961 +284000 ekin = 2.67681575008794 | erot = 3.61566503901023 | epot = -37.1459845078296 | etot = -30.8535037187314 +285000 ekin = 2.71360352201128 | erot = 3.48822466196441 | epot = -37.1436040722677 | etot = -30.941775888292 +286000 ekin = 2.72409949367879 | erot = 3.69046973300079 | epot = -37.1515114688671 | etot = -30.7369422421875 +287000 ekin = 2.78141221541732 | erot = 3.56169254019539 | epot = -37.1836412585713 | etot = -30.8405365029586 +288000 ekin = 2.93111949257226 | erot = 3.8525227571685 | epot = -37.2722312757955 | etot = -30.4885890260548 +289000 ekin = 3.22039073654125 | erot = 3.65796134125549 | epot = -37.4105935842029 | etot = -30.5322415064062 +290000 ekin = 3.45543672952192 | erot = 3.63587074171854 | epot = -37.5601919395408 | etot = -30.4688844683004 +291000 ekin = 3.52760878967926 | erot = 4.20430698093698 | epot = -37.7322836777775 | etot = -30.0003679071612 +292000 ekin = 3.68972381818942 | erot = 4.12076553978665 | epot = -37.9100323199299 | etot = -30.0995429619539 +293000 ekin = 3.83177225674892 | erot = 4.37726484522697 | epot = -38.0821109906697 | etot = -29.8730738886939 +294000 ekin = 4.06640459910211 | erot = 3.74462680595297 | epot = -38.1926156973085 | etot = -30.3815842922535 +295000 ekin = 4.21784736111078 | erot = 3.82616484716752 | epot = -38.2890286287625 | etot = -30.2450164204842 +296000 ekin = 4.26440738773668 | erot = 3.95694734709923 | epot = -38.3824567525616 | etot = -30.1611020177257 +297000 ekin = 4.04618321058719 | erot = 4.11344152769709 | epot = -38.4823151027027 | etot = -30.3226903644185 +298000 ekin = 4.04534420229663 | erot = 4.08413503201891 | epot = -38.5648464298591 | etot = -30.4353671955436 +299000 ekin = 4.0589099673587 | erot = 4.75454163668515 | epot = -38.639463237644 | etot = -29.8260116336001 +300000 ekin = 4.06355522455796 | erot = 4.46292256841625 | epot = -38.7062117520832 | etot = -30.179733959109 +301000 ekin = 4.01853385887688 | erot = 4.67242188374982 | epot = -38.7555551980343 | etot = -30.0645994554076 +302000 ekin = 3.97170308302913 | erot = 4.62245717998414 | epot = -38.7884989680142 | etot = -30.194338705001 +303000 ekin = 4.00670279913523 | erot = 4.89772983741929 | epot = -38.799236313657 | etot = -29.8948036771024 +304000 ekin = 3.81374525151692 | erot = 4.6538936598735 | epot = -38.8327396351166 | etot = -30.3651007237262 +305000 ekin = 3.70792918499072 | erot = 4.53646691129901 | epot = -38.8671341843092 | etot = -30.6227380880195 +306000 ekin = 3.58519135856873 | erot = 4.40317156262038 | epot = -38.8961174826077 | etot = -30.9077545614186 +307000 ekin = 3.52830601019332 | erot = 4.12955816022909 | epot = -38.9381266871201 | etot = -31.2802625166977 +308000 ekin = 3.37444573697916 | erot = 3.65266283146942 | epot = -38.9820449321945 | etot = -31.9549363637459 +309000 ekin = 3.29877896595905 | erot = 4.06788139443827 | epot = -39.0365696198577 | etot = -31.6699092594604 +310000 ekin = 3.27216182566108 | erot = 3.86752279813189 | epot = -39.0649343092171 | etot = -31.9252496854241 +311000 ekin = 3.26050147382307 | erot = 3.90928978323579 | epot = -39.0580520931933 | etot = -31.8882608361345 +312000 ekin = 3.1848300908952 | erot = 3.90959546619215 | epot = -39.0257212693578 | etot = -31.9312957122705 +313000 ekin = 3.09609326591794 | erot = 3.75025646421268 | epot = -38.9535227577836 | etot = -32.107173027653 +314000 ekin = 2.95184537018541 | erot = 4.07381717812352 | epot = -38.8888909934781 | etot = -31.8632284451692 +315000 ekin = 2.92238623527564 | erot = 3.96815066682756 | epot = -38.8370494801766 | etot = -31.9465125780734 +316000 ekin = 2.71301507861594 | erot = 3.8080797893295 | epot = -38.7998345743978 | etot = -32.2787397064523 +317000 ekin = 2.71357150367643 | erot = 4.15190966526588 | epot = -38.7626719044114 | etot = -31.8971907354691 +318000 ekin = 2.62158267835355 | erot = 4.27134701113463 | epot = -38.7271070788674 | etot = -31.8341773893792 +319000 ekin = 2.55366548062856 | erot = 4.41350408683224 | epot = -38.7297464727615 | etot = -31.7625769053007 +320000 ekin = 2.4339724053854 | erot = 4.29070167476865 | epot = -38.7203908826319 | etot = -31.9957168024778 +321000 ekin = 2.40916961938935 | erot = 4.08120981437149 | epot = -38.7041016741434 | etot = -32.2137222403825 +322000 ekin = 2.40921951438688 | erot = 3.84656254092896 | epot = -38.6896664254557 | etot = -32.4338843701398 +323000 ekin = 2.47763175846145 | erot = 3.74024157191546 | epot = -38.6582034756257 | etot = -32.4403301452488 +324000 ekin = 2.50557286685252 | erot = 3.62726015904503 | epot = -38.6277589097221 | etot = -32.4949258838246 +325000 ekin = 2.46128003790462 | erot = 3.30955838055067 | epot = -38.61822105265 | etot = -32.8473826341947 +326000 ekin = 2.50360422224121 | erot = 3.11309077075955 | epot = -38.6155228491476 | etot = -32.9988278561469 +327000 ekin = 2.58559564340003 | erot = 3.03172964208493 | epot = -38.6235874334491 | etot = -33.0062621479641 +328000 ekin = 2.74984266079838 | erot = 3.02808338407911 | epot = -38.6550386035093 | etot = -32.8771125586319 +329000 ekin = 2.91966436364505 | erot = 2.9714434817756 | epot = -38.682045485323 | etot = -32.7909376399024 +330000 ekin = 3.01494295487819 | erot = 3.4413838499053 | epot = -38.7383158304585 | etot = -32.281989025675 +331000 ekin = 3.02442201542022 | erot = 3.78657407910222 | epot = -38.7939596216319 | etot = -31.9829635271095 +332000 ekin = 3.04445691127431 | erot = 3.82788901953126 | epot = -38.8517978078765 | etot = -31.9794518770709 +333000 ekin = 3.03465557138393 | erot = 3.68623317701479 | epot = -38.9019287356725 | etot = -32.1810399872737 +334000 ekin = 2.9809147586341 | erot = 3.87909097065051 | epot = -38.9429458678103 | etot = -32.0829401385257 +335000 ekin = 3.18730692360922 | erot = 3.92298153235814 | epot = -38.9915367606723 | etot = -31.8812483047049 +336000 ekin = 3.28082580011875 | erot = 4.25501923477967 | epot = -39.038294903881 | etot = -31.5024498689825 +337000 ekin = 3.33075954016491 | erot = 4.58632261209059 | epot = -39.0662594017921 | etot = -31.1491772495366 +338000 ekin = 3.31328438683341 | erot = 4.17966745642972 | epot = -39.0415239975115 | etot = -31.5485721542484 +339000 ekin = 3.33917527804132 | erot = 4.28130062815465 | epot = -38.9842917012714 | etot = -31.3638157950754 +340000 ekin = 3.33492148280264 | erot = 4.35651035139105 | epot = -38.8943885223068 | etot = -31.2029566881131 +341000 ekin = 3.3461417209637 | erot = 4.05115720989158 | epot = -38.7823758155587 | etot = -31.3850768847035 +342000 ekin = 3.34251507796689 | erot = 4.42814474655732 | epot = -38.6331517957714 | etot = -30.8624919712472 +343000 ekin = 3.20631341754623 | erot = 3.78967989344565 | epot = -38.4960486393224 | etot = -31.5000553283305 +344000 ekin = 3.07148244251166 | erot = 3.87583965670226 | epot = -38.3948328820768 | etot = -31.4475107828629 +345000 ekin = 3.09789874291718 | erot = 3.9946056524089 | epot = -38.3201974875894 | etot = -31.2276930922633 +346000 ekin = 3.0250008126834 | erot = 3.91508207831934 | epot = -38.2750630613601 | etot = -31.3349801703574 +347000 ekin = 2.94406849477781 | erot = 3.86229670162422 | epot = -38.2289722622904 | etot = -31.4226070658884 +348000 ekin = 2.95641250006446 | erot = 3.72625853383758 | epot = -38.1919210104045 | etot = -31.5092499765025 +349000 ekin = 3.03918076184492 | erot = 3.94202050743572 | epot = -38.1810668298085 | etot = -31.1998655605279 +350000 ekin = 3.09062612520409 | erot = 3.91215331884796 | epot = -38.2023245264387 | etot = -31.1995450823866 +351000 ekin = 3.13831719496483 | erot = 3.99916602553205 | epot = -38.2111529945909 | etot = -31.073669774094 +352000 ekin = 3.10196313130359 | erot = 3.92254342354132 | epot = -38.2543166357449 | etot = -31.2298100809 +353000 ekin = 3.17266611312447 | erot = 3.8947350963975 | epot = -38.3205511283306 | etot = -31.2531499188087 +354000 ekin = 3.20288707130899 | erot = 4.38957454856388 | epot = -38.3888699269269 | etot = -30.7964083070541 +355000 ekin = 3.15965957595978 | erot = 4.27393537405648 | epot = -38.4369161779509 | etot = -31.0033212279347 +356000 ekin = 3.01967844026133 | erot = 4.46559381130412 | epot = -38.4622452099032 | etot = -30.9769729583378 +357000 ekin = 2.97836465744991 | erot = 4.24123654484996 | epot = -38.4340474220208 | etot = -31.214446219721 +358000 ekin = 2.90298621775697 | erot = 4.00214290087714 | epot = -38.3669225243922 | etot = -31.4617934057581 +359000 ekin = 2.89703951576617 | erot = 3.75540528896971 | epot = -38.2596281019021 | etot = -31.6071832971662 +360000 ekin = 2.8951746897939 | erot = 3.69844688179068 | epot = -38.1408983158929 | etot = -31.5472767443083 +361000 ekin = 2.80138616808281 | erot = 3.38323529451493 | epot = -38.0246589917389 | etot = -31.8400375291412 +362000 ekin = 2.77162168417597 | erot = 2.91331523066534 | epot = -37.9398868290147 | etot = -32.2549499141734 +363000 ekin = 2.78539815378419 | erot = 2.68460040337592 | epot = -37.8665635409936 | etot = -32.3965649838335 +364000 ekin = 2.68067812192279 | erot = 2.78677391239245 | epot = -37.7617899033782 | etot = -32.2943378690629 +365000 ekin = 2.54070043685867 | erot = 2.83653994835764 | epot = -37.6554311404473 | etot = -32.278190755231 +366000 ekin = 2.41606481092133 | erot = 2.86609766611194 | epot = -37.5516282283376 | etot = -32.2694657513043 +367000 ekin = 2.46811866465482 | erot = 3.34221140329001 | epot = -37.4475028758825 | etot = -31.6371728079377 +368000 ekin = 2.42926223365496 | erot = 3.33046663396731 | epot = -37.3674460967944 | etot = -31.6077172291721 +369000 ekin = 2.43816169312797 | erot = 3.26459431026922 | epot = -37.3019788371043 | etot = -31.5992228337071 +370000 ekin = 2.46038177337534 | erot = 3.10066469966258 | epot = -37.2626057339964 | etot = -31.7015592609585 +371000 ekin = 2.4406243852624 | erot = 2.87778487491552 | epot = -37.2539180634396 | etot = -31.9355088032617 +372000 ekin = 2.41196438326736 | erot = 3.07515188922142 | epot = -37.3089635753533 | etot = -31.8218473028645 +373000 ekin = 2.48050565170792 | erot = 3.18196875652289 | epot = -37.4397878357734 | etot = -31.7773134275426 +374000 ekin = 2.6353068806194 | erot = 3.59156982435214 | epot = -37.5884648424034 | etot = -31.3615881374319 +375000 ekin = 2.68283894448276 | erot = 3.32451084068228 | epot = -37.7715422578283 | etot = -31.7641924726633 +376000 ekin = 2.79488034579927 | erot = 3.22988532668866 | epot = -38.000903910215 | etot = -31.976138237727 +377000 ekin = 2.97793932778653 | erot = 3.14879447385383 | epot = -38.2360750185569 | etot = -32.1093412169166 +378000 ekin = 3.04959845592839 | erot = 3.49481966296078 | epot = -38.5013695235685 | etot = -31.9569514046793 +379000 ekin = 3.1910641072712 | erot = 3.36561045250094 | epot = -38.7688607813369 | etot = -32.2121862215648 +380000 ekin = 3.25183572215737 | erot = 3.58875776192786 | epot = -39.0288452181145 | etot = -32.1882517340293 +381000 ekin = 3.33794215221605 | erot = 3.6933917756671 | epot = -39.3017064605084 | etot = -32.2703725326252 +382000 ekin = 3.49270190624151 | erot = 3.86829998834037 | epot = -39.5268729273467 | etot = -32.1658710327648 +383000 ekin = 3.55662169084786 | erot = 3.53333329088014 | epot = -39.7267791075158 | etot = -32.6368241257878 +384000 ekin = 3.69351012028553 | erot = 3.28268730044342 | epot = -39.878987472358 | etot = -32.9027900516291 +385000 ekin = 3.6873370603751 | erot = 3.68055641648018 | epot = -39.9998839253488 | etot = -32.6319904484935 +386000 ekin = 3.71694831249288 | erot = 3.79434784508072 | epot = -40.0869801892987 | etot = -32.5756840317251 +387000 ekin = 3.76861509268675 | erot = 3.88558369375098 | epot = -40.1715737743674 | etot = -32.5173749879297 +388000 ekin = 3.83017606883369 | erot = 4.20859412334364 | epot = -40.2007323597246 | etot = -32.1619621675473 +389000 ekin = 3.86768485031755 | erot = 3.99003783907115 | epot = -40.1899129305041 | etot = -32.3321902411154 +390000 ekin = 3.97485559059836 | erot = 3.73907035926323 | epot = -40.1534652302145 | etot = -32.4395392803529 +391000 ekin = 3.99255423920733 | erot = 3.4598541410162 | epot = -40.0955220791988 | etot = -32.6431136989752 +392000 ekin = 4.01983776245659 | erot = 3.68425742647522 | epot = -39.9999647918603 | etot = -32.2958696029285 +393000 ekin = 4.02356764424238 | erot = 3.83787437414739 | epot = -39.8549016020689 | etot = -31.9934595836791 +394000 ekin = 3.93980876114311 | erot = 3.99211744164141 | epot = -39.7011477670265 | etot = -31.769221564242 +395000 ekin = 4.11174368478708 | erot = 3.75033473410268 | epot = -39.5451859148434 | etot = -31.6831074959536 +396000 ekin = 4.20376876107151 | erot = 3.67040632781378 | epot = -39.3948809980869 | etot = -31.5207059092016 +397000 ekin = 4.1363357284298 | erot = 3.65151581957621 | epot = -39.2564297317577 | etot = -31.4685781837517 +398000 ekin = 4.13905245601608 | erot = 3.71620600673377 | epot = -39.093596770216 | etot = -31.2383383074661 +399000 ekin = 4.10332411545508 | erot = 3.71374971681594 | epot = -38.9205234935041 | etot = -31.1034496612331 +400000 ekin = 4.0676601690846 | erot = 3.4213950465438 | epot = -38.7497473150008 | etot = -31.2606920993724 +401000 ekin = 3.9728416411198 | erot = 3.81120481171758 | epot = -38.6001977504162 | etot = -30.8161512975788 +402000 ekin = 3.90587383547448 | erot = 3.5341882621858 | epot = -38.4681757167875 | etot = -31.0281136191273 +403000 ekin = 3.91259869514543 | erot = 3.637386391841 | epot = -38.3230308363683 | etot = -30.7730457493819 +404000 ekin = 3.79936006877817 | erot = 3.32641249272551 | epot = -38.2009092385688 | etot = -31.0751366770651 +405000 ekin = 3.82517596801147 | erot = 3.13064904024263 | epot = -38.1553776059003 | etot = -31.1995525976462 +406000 ekin = 3.73725599382596 | erot = 3.08306268157758 | epot = -38.1316917306566 | etot = -31.3113730552531 +407000 ekin = 3.72651775045891 | erot = 3.09861818078628 | epot = -38.1634910279952 | etot = -31.33835509675 +408000 ekin = 3.79931976439455 | erot = 3.25718386016379 | epot = -38.2217683212397 | etot = -31.1652646966813 +409000 ekin = 3.95093187918723 | erot = 3.43950409776017 | epot = -38.2689453197332 | etot = -30.8785093427858 +410000 ekin = 4.07121708138893 | erot = 3.83760071106065 | epot = -38.3189798432044 | etot = -30.4101620507548 +411000 ekin = 4.2330797855817 | erot = 3.98162063698068 | epot = -38.3721329673505 | etot = -30.1574325447882 +412000 ekin = 4.24117080814308 | erot = 3.9973719347696 | epot = -38.4124767699444 | etot = -30.1739340270317 +413000 ekin = 4.23580670923557 | erot = 3.81064398502802 | epot = -38.4212920990953 | etot = -30.3748414048317 +414000 ekin = 4.27445938143094 | erot = 3.98124541320507 | epot = -38.4106571527343 | etot = -30.1549523580983 +415000 ekin = 4.388994790051 | erot = 3.80279226112407 | epot = -38.3596783722966 | etot = -30.1678913211216 +416000 ekin = 4.45628965411069 | erot = 3.63102956113301 | epot = -38.3042311126169 | etot = -30.2169118973732 +417000 ekin = 4.49028461121071 | erot = 3.62754419666011 | epot = -38.2583198089302 | etot = -30.1404910010594 +418000 ekin = 4.45936601962006 | erot = 3.71144506663867 | epot = -38.1813464675299 | etot = -30.0105353812712 +419000 ekin = 4.38379837521009 | erot = 3.33513327030929 | epot = -38.0724868069421 | etot = -30.3535551614227 +420000 ekin = 4.283111933024 | erot = 3.09826419668627 | epot = -37.9370678690099 | etot = -30.5556917392996 +421000 ekin = 4.15248097510599 | erot = 3.56237827808249 | epot = -37.7709210423884 | etot = -30.0560617891999 +422000 ekin = 3.95490687211586 | erot = 3.47480957997355 | epot = -37.5854884820711 | etot = -30.1557720299817 +423000 ekin = 3.91714305790352 | erot = 3.48476286323411 | epot = -37.3949936437695 | etot = -29.9930877226319 +424000 ekin = 3.84213202460282 | erot = 3.52777059768047 | epot = -37.2158434462619 | etot = -29.8459408239786 +425000 ekin = 3.71924289661379 | erot = 3.3366360966062 | epot = -37.0722526001231 | etot = -30.0163736069031 +426000 ekin = 3.64441997260638 | erot = 3.3622793544102 | epot = -36.9667678357552 | etot = -29.9600685087386 +427000 ekin = 3.75655721345773 | erot = 3.37897054079372 | epot = -36.8611280898054 | etot = -29.725600335554 +428000 ekin = 3.74409443646511 | erot = 3.17732872354239 | epot = -36.742715037602 | etot = -29.8212918775945 +429000 ekin = 3.66329028317848 | erot = 2.78764787478689 | epot = -36.6486255145436 | etot = -30.1976873565782 +430000 ekin = 3.62135290496431 | erot = 2.67337975160585 | epot = -36.5606041515419 | etot = -30.2658714949718 +431000 ekin = 3.61616361793039 | erot = 2.69754710014207 | epot = -36.506732939117 | etot = -30.1930222210445 +432000 ekin = 3.49552617760814 | erot = 3.08491352170466 | epot = -36.485170074763 | etot = -29.9047303754502 +433000 ekin = 3.58020816083934 | erot = 2.88002256286323 | epot = -36.5217696117553 | etot = -30.0615388880528 +434000 ekin = 3.59867849318961 | erot = 3.08407973313556 | epot = -36.6202495320039 | etot = -29.9374913056787 +435000 ekin = 3.67331527289028 | erot = 3.42657552434431 | epot = -36.7488916307825 | etot = -29.6490008335479 +436000 ekin = 3.82088042289265 | erot = 3.6544744236991 | epot = -36.9085622220518 | etot = -29.4332073754601 +437000 ekin = 3.8686942167376 | erot = 3.9547028707988 | epot = -37.0720316005958 | etot = -29.2486345130594 +438000 ekin = 4.11090595842079 | erot = 3.77540801446856 | epot = -37.2088542252226 | etot = -29.3225402523332 +439000 ekin = 4.12926159073598 | erot = 4.06917140325898 | epot = -37.3517590512211 | etot = -29.1533260572261 +440000 ekin = 4.09029177261519 | erot = 4.1498129956529 | epot = -37.4912988817269 | etot = -29.2511941134589 +441000 ekin = 4.14485979348676 | erot = 4.37283240826401 | epot = -37.6181493098546 | etot = -29.1004571081038 +442000 ekin = 4.12304009572835 | erot = 4.39045893698218 | epot = -37.7155315750663 | etot = -29.2020325423558 +443000 ekin = 4.23471751438722 | erot = 4.14989601608929 | epot = -37.768614271265 | etot = -29.3840007407884 +444000 ekin = 4.35772646838213 | erot = 4.52232474512896 | epot = -37.7816885908051 | etot = -28.901637377294 +445000 ekin = 4.39118784053251 | erot = 4.66570824296103 | epot = -37.7439950146597 | etot = -28.6870989311661 +446000 ekin = 4.3967592176502 | erot = 4.46936063153373 | epot = -37.6960851354907 | etot = -28.8299652863068 +447000 ekin = 4.35336664890431 | erot = 4.44173113672768 | epot = -37.6140263912413 | etot = -28.8189286056093 +448000 ekin = 4.28498441172967 | erot = 4.19781838322426 | epot = -37.5090341348628 | etot = -29.0262313399088 +449000 ekin = 4.31763982219639 | erot = 4.52832551746767 | epot = -37.408401745433 | etot = -28.562436405769 +450000 ekin = 4.34138928411246 | erot = 4.4425856403743 | epot = -37.3062489259439 | etot = -28.5222740014571 +451000 ekin = 4.30985185878589 | erot = 4.23825662962939 | epot = -37.1459619150062 | etot = -28.5978534265909 +452000 ekin = 4.32592045036082 | erot = 3.86602766630272 | epot = -36.9847035634509 | etot = -28.7927554467874 +453000 ekin = 4.32845268851047 | erot = 3.54171363095611 | epot = -36.8340779762826 | etot = -28.963911656816 +454000 ekin = 4.31011457813686 | erot = 3.79537837348586 | epot = -36.7199830616561 | etot = -28.6144901100334 +455000 ekin = 4.29550433639196 | erot = 3.85241036204662 | epot = -36.6489739160373 | etot = -28.5010592175987 +456000 ekin = 4.37032742709179 | erot = 4.00721124204766 | epot = -36.6190063800959 | etot = -28.2414677109564 +457000 ekin = 4.3642647028677 | erot = 3.8563715204494 | epot = -36.5969553476855 | etot = -28.3763191243684 +458000 ekin = 4.32567014378598 | erot = 3.50123530464571 | epot = -36.5630453883139 | etot = -28.7361399398822 +459000 ekin = 4.38933815738648 | erot = 3.57401843708542 | epot = -36.5693343587045 | etot = -28.6059777642326 +460000 ekin = 4.31317855607471 | erot = 4.09613513000604 | epot = -36.622903135654 | etot = -28.2135894495732 +461000 ekin = 4.31811012640158 | erot = 4.38273826542212 | epot = -36.7024780237704 | etot = -28.0016296319467 +462000 ekin = 4.3366863876999 | erot = 4.51374491218818 | epot = -36.8227361919452 | etot = -27.9723048920571 +463000 ekin = 4.27564269849647 | erot = 4.86202296781308 | epot = -36.9415310835087 | etot = -27.8038654171991 +464000 ekin = 4.2570485657353 | erot = 4.74085846897254 | epot = -37.0390079052473 | etot = -28.0411008705395 +465000 ekin = 4.27536374407081 | erot = 4.49932366093901 | epot = -37.1090432428535 | etot = -28.3343558378437 +466000 ekin = 4.30607368146059 | erot = 4.23786653917903 | epot = -37.1491605127939 | etot = -28.6052202921542 +467000 ekin = 4.24919786200451 | erot = 4.12771930877703 | epot = -37.1714598423966 | etot = -28.7945426716151 +468000 ekin = 4.39683218085583 | erot = 3.85228521386554 | epot = -37.2088712844975 | etot = -28.9597538897762 +469000 ekin = 4.64124419278975 | erot = 3.80754439193715 | epot = -37.2767302220321 | etot = -28.8279416373053 +470000 ekin = 4.66178408905666 | erot = 3.92065938428506 | epot = -37.3876740781877 | etot = -28.805230604846 +471000 ekin = 4.75392904131979 | erot = 4.24739494727089 | epot = -37.5007122646076 | etot = -28.499388276017 +472000 ekin = 4.78287126449286 | erot = 4.29738258008787 | epot = -37.5977046601012 | etot = -28.5174508155204 +473000 ekin = 4.83746609770177 | erot = 4.38666527032479 | epot = -37.6671790710827 | etot = -28.4430477030562 +474000 ekin = 4.79054197671375 | erot = 4.34169424272135 | epot = -37.6856820094294 | etot = -28.5534457899944 +475000 ekin = 4.83235787688145 | erot = 4.2178840657501 | epot = -37.6508263787863 | etot = -28.6005844361548 +476000 ekin = 4.77650421806816 | erot = 4.23519664592594 | epot = -37.5559363402038 | etot = -28.5442354762097 +477000 ekin = 4.70149228687156 | erot = 3.9495520600404 | epot = -37.4316333722385 | etot = -28.7805890253266 +478000 ekin = 4.6582861234462 | erot = 3.52306589214545 | epot = -37.3056353897914 | etot = -29.1242833741998 +479000 ekin = 4.49034904671764 | erot = 3.69691237093671 | epot = -37.1645007343035 | etot = -28.9772393166492 +480000 ekin = 4.42035953830882 | erot = 3.62614880736061 | epot = -36.985533653495 | etot = -28.9390253078256 +481000 ekin = 4.29236052675561 | erot = 3.46283113670748 | epot = -36.7788376766182 | etot = -29.0236460131551 +482000 ekin = 4.24695006747712 | erot = 3.64617122659712 | epot = -36.5783264764334 | etot = -28.6852051823592 +483000 ekin = 4.27724439911408 | erot = 3.65906944039053 | epot = -36.4031794376631 | etot = -28.4668655981585 +484000 ekin = 4.2785974211618 | erot = 3.80998418987602 | epot = -36.2601336102697 | etot = -28.1715519992319 +485000 ekin = 4.2129183719994 | erot = 3.84278230442229 | epot = -36.1415033158633 | etot = -28.0858026394416 +486000 ekin = 3.98392526407069 | erot = 3.69687119417301 | epot = -36.0420007851878 | etot = -28.3612043269441 +487000 ekin = 3.87685523954233 | erot = 3.52087214489101 | epot = -35.979017993688 | etot = -28.5812906092547 +488000 ekin = 3.74675884240033 | erot = 3.80072807053011 | epot = -35.9652058586036 | etot = -28.4177189456731 +489000 ekin = 3.61099051841836 | erot = 4.09702697313296 | epot = -35.988768679933 | etot = -28.2807511883817 +490000 ekin = 3.72073699277812 | erot = 3.89157882585036 | epot = -36.0103724524786 | etot = -28.3980566338501 +491000 ekin = 3.72740917275109 | erot = 4.01795497893011 | epot = -36.0292354570355 | etot = -28.2838713053543 +492000 ekin = 3.67547789628851 | erot = 3.85969822517323 | epot = -36.0430681478951 | etot = -28.5078920264333 +493000 ekin = 3.65198421841216 | erot = 3.75518718738367 | epot = -36.0824152706774 | etot = -28.6752438648816 +494000 ekin = 3.48528219984848 | erot = 3.81535508778541 | epot = -36.142371045584 | etot = -28.8417337579501 +495000 ekin = 3.31359070882194 | erot = 4.11558724766118 | epot = -36.226868438371 | etot = -28.7976904818878 +496000 ekin = 3.27798311005954 | erot = 3.88806115727325 | epot = -36.3363270902382 | etot = -29.1702828229054 +497000 ekin = 3.23000081873801 | erot = 4.53153851783412 | epot = -36.4817201831143 | etot = -28.7201808465422 +498000 ekin = 3.35490986062519 | erot = 4.76314991175258 | epot = -36.6514686581239 | etot = -28.5334088857461 +499000 ekin = 3.39102564180484 | erot = 4.99058516868931 | epot = -36.8025368986549 | etot = -28.4209260881608 +500000 ekin = 3.44319922277983 | erot = 4.29432196305735 | epot = -36.9177193599233 | etot = -29.1801981740861 +501000 ekin = 3.47746008955494 | erot = 4.28994173802794 | epot = -37.0187053512326 | etot = -29.2513035236497 +502000 ekin = 3.58696948456737 | erot = 4.55410136617397 | epot = -37.1018103829438 | etot = -28.9607395322024 +503000 ekin = 3.68317380855577 | erot = 4.60652443433627 | epot = -37.1620776601797 | etot = -28.8723794172877 +504000 ekin = 3.6885205301443 | erot = 4.67783023002248 | epot = -37.2052759454199 | etot = -28.8389251852531 +505000 ekin = 3.88723268453857 | erot = 4.53079850437648 | epot = -37.2950608294682 | etot = -28.8770296405532 +506000 ekin = 3.80925396925157 | erot = 4.47086505886196 | epot = -37.3479933337837 | etot = -29.0678743056702 +507000 ekin = 3.73248519551987 | erot = 4.21393839264126 | epot = -37.4256513139283 | etot = -29.4792277257672 +508000 ekin = 3.8067276018406 | erot = 3.9370807937698 | epot = -37.4951091449467 | etot = -29.7513007493363 +509000 ekin = 3.8008699116461 | erot = 3.74333566662482 | epot = -37.5406480313394 | etot = -29.9964424530685 +510000 ekin = 3.89850649197984 | erot = 3.97775581109479 | epot = -37.5934385426631 | etot = -29.7171762395885 +511000 ekin = 3.81393185765474 | erot = 4.00469160928629 | epot = -37.6349932199755 | etot = -29.8163697530345 +512000 ekin = 3.76843962846378 | erot = 4.34524756747803 | epot = -37.6787808921542 | etot = -29.5650936962124 +513000 ekin = 3.70769437024756 | erot = 4.19222442242662 | epot = -37.7114576947708 | etot = -29.8115389020966 +514000 ekin = 3.65606306228185 | erot = 4.64296237641009 | epot = -37.7095823242884 | etot = -29.4105568855964 +515000 ekin = 3.50522818557459 | erot = 4.47916848114082 | epot = -37.6783049637299 | etot = -29.6939082970145 +516000 ekin = 3.59266443877116 | erot = 5.02978018029486 | epot = -37.647700985069 | etot = -29.0252563660029 +517000 ekin = 3.53729866959076 | erot = 4.95641997732809 | epot = -37.6445412669913 | etot = -29.1508226200724 +518000 ekin = 3.5534169530515 | erot = 4.5751245967427 | epot = -37.6532745224311 | etot = -29.5247329726369 +519000 ekin = 3.61605940841979 | erot = 4.59842321288977 | epot = -37.7181887221252 | etot = -29.5037061008156 +520000 ekin = 3.6600358073691 | erot = 4.52802897844129 | epot = -37.8184531846625 | etot = -29.6303883988521 +521000 ekin = 3.57990395101953 | erot = 4.58686564429516 | epot = -37.9529160430904 | etot = -29.7861464477757 +522000 ekin = 3.587210173505 | erot = 4.78958389957781 | epot = -38.1056938634056 | etot = -29.7288997903228 +523000 ekin = 3.74553748952041 | erot = 4.82242710318173 | epot = -38.2496598519462 | etot = -29.6816952592441 +524000 ekin = 3.83672965572981 | erot = 5.17806255755526 | epot = -38.3420385705453 | etot = -29.3272463572603 +525000 ekin = 3.97426514986081 | erot = 5.13820563111665 | epot = -38.4306455211978 | etot = -29.3181747402203 +526000 ekin = 4.03278131821155 | erot = 4.61480893928533 | epot = -38.4813375347265 | etot = -29.8337472772296 +527000 ekin = 4.15303805139346 | erot = 4.03339974605304 | epot = -38.4813261438673 | etot = -30.2948883464208 +528000 ekin = 4.34085606106398 | erot = 3.6341604993604 | epot = -38.4621670653442 | etot = -30.4871505049199 +529000 ekin = 4.53593485604716 | erot = 3.72087643644196 | epot = -38.4175016483558 | etot = -30.1606903558667 +530000 ekin = 4.6583694532253 | erot = 3.58233700504177 | epot = -38.3861765288021 | etot = -30.145470070535 +531000 ekin = 4.66519878740331 | erot = 3.4109494773408 | epot = -38.3363103504892 | etot = -30.2601620857451 +532000 ekin = 4.80041164317301 | erot = 3.07760528500131 | epot = -38.3151265786574 | etot = -30.4371096504831 +533000 ekin = 4.73180745168962 | erot = 3.06230961560369 | epot = -38.3468719461379 | etot = -30.5527548788445 +534000 ekin = 4.77276572097031 | erot = 3.01963113043194 | epot = -38.4024212860539 | etot = -30.6100244346517 +535000 ekin = 4.85693928494795 | erot = 2.82516321047269 | epot = -38.5360450508863 | etot = -30.8539425554656 +536000 ekin = 4.79265980947601 | erot = 2.9077544610961 | epot = -38.7196748122559 | etot = -31.0192605416837 +537000 ekin = 4.86947955762472 | erot = 3.00989555981226 | epot = -38.9076102830992 | etot = -31.0282351656622 +538000 ekin = 5.00269155741137 | erot = 2.68875189029913 | epot = -39.0473675460743 | etot = -31.3559240983638 +539000 ekin = 4.98226102919755 | erot = 2.92188829969373 | epot = -39.1655668480607 | etot = -31.2614175191695 +540000 ekin = 4.99147016878249 | erot = 3.35574385805744 | epot = -39.2596960810254 | etot = -30.9124820541854 +541000 ekin = 4.92725844601457 | erot = 3.28345034188324 | epot = -39.3089899760125 | etot = -31.0982811881147 +542000 ekin = 4.77242859226878 | erot = 3.31966912230265 | epot = -39.2902384371049 | etot = -31.1981407225335 +543000 ekin = 4.65726157165108 | erot = 3.56099171692951 | epot = -39.1715392323122 | etot = -30.9532859437317 +544000 ekin = 4.75158561074898 | erot = 2.98586301386343 | epot = -39.0000211966265 | etot = -31.2625725720141 +545000 ekin = 4.71389651780209 | erot = 3.29722166624287 | epot = -38.8124009343345 | etot = -30.8012827502895 +546000 ekin = 4.59452933616222 | erot = 3.65785900566392 | epot = -38.6597531372893 | etot = -30.4073647954631 +547000 ekin = 4.49485576841334 | erot = 3.5222715668964 | epot = -38.5261493757312 | etot = -30.5090220404215 +548000 ekin = 4.49472654055116 | erot = 3.49603087938253 | epot = -38.3944216290947 | etot = -30.403664209161 +549000 ekin = 4.39213180937528 | erot = 3.5322876385525 | epot = -38.2774675964381 | etot = -30.3530481485103 +550000 ekin = 4.36283999146778 | erot = 3.787764410361 | epot = -38.2051317998102 | etot = -30.0545273979814 +551000 ekin = 4.3226010693822 | erot = 4.01133252124214 | epot = -38.1611801425639 | etot = -29.8272465519396 +552000 ekin = 4.3318351566455 | erot = 3.98124414472587 | epot = -38.1537721388025 | etot = -29.8406928374311 +553000 ekin = 4.30534974680463 | erot = 3.81209066755031 | epot = -38.1803693007093 | etot = -30.0629288863544 +554000 ekin = 4.29335219580303 | erot = 3.8021354596393 | epot = -38.2389597407396 | etot = -30.1434720852972 +555000 ekin = 4.45825549052375 | erot = 4.03672150414351 | epot = -38.3296083261043 | etot = -29.834631331437 +556000 ekin = 4.63230188756508 | erot = 3.70797489704063 | epot = -38.4795834327919 | etot = -30.1393066481862 +557000 ekin = 4.70622293985813 | erot = 4.51036732636205 | epot = -38.673884289528 | etot = -29.4572940233078 +558000 ekin = 4.70612532334171 | erot = 4.30314260207033 | epot = -38.9099036274271 | etot = -29.9006357020151 +559000 ekin = 4.85842132468142 | erot = 4.45569884582891 | epot = -39.1571701897086 | etot = -29.8430500191982 +560000 ekin = 4.84667483493845 | erot = 4.2909749826348 | epot = -39.3692871188963 | etot = -30.2316373013231 +561000 ekin = 4.93080663772518 | erot = 4.40964672372494 | epot = -39.5560309503474 | etot = -30.2155775888973 +562000 ekin = 5.02786763240476 | erot = 4.09895267825206 | epot = -39.6620959555469 | etot = -30.53527564489 +563000 ekin = 4.99483060861833 | erot = 4.56393029644419 | epot = -39.7001867829014 | etot = -30.1414258778389 +564000 ekin = 5.01292656089539 | erot = 4.46559434127762 | epot = -39.6969046345991 | etot = -30.2183837324261 +565000 ekin = 4.97924499589812 | erot = 4.5676410286713 | epot = -39.6391307119518 | etot = -30.0922446873824 +566000 ekin = 4.80472039327365 | erot = 4.49618530358125 | epot = -39.5320142538579 | etot = -30.231108557003 +567000 ekin = 4.59721417192406 | erot = 4.44898156673779 | epot = -39.3835091139998 | etot = -30.337313375338 +568000 ekin = 4.59948947791999 | erot = 4.21619266891997 | epot = -39.1697350851652 | etot = -30.3540529383253 +569000 ekin = 4.46814520025957 | erot = 4.13625120915532 | epot = -38.9496016480665 | etot = -30.3452052386516 +570000 ekin = 4.6338057410939 | erot = 3.97471689520409 | epot = -38.718728428018 | etot = -30.11020579172 +571000 ekin = 4.51646555902291 | erot = 3.77943581302538 | epot = -38.5103017941539 | etot = -30.2144004221056 +572000 ekin = 4.44329973394615 | erot = 3.73818983971042 | epot = -38.3513010282128 | etot = -30.1698114545562 +573000 ekin = 4.48138796166313 | erot = 3.67030746094229 | epot = -38.2531080005807 | etot = -30.1014125779753 +574000 ekin = 4.57372019352182 | erot = 3.64740839838085 | epot = -38.1563476897671 | etot = -29.9352190978644 +575000 ekin = 4.81962720354443 | erot = 3.58128135189792 | epot = -38.0780197446128 | etot = -29.6771111891705 +576000 ekin = 4.78739960955902 | erot = 3.1694164956898 | epot = -38.0548669136926 | etot = -30.0980508084438 +577000 ekin = 4.89624137933457 | erot = 3.37301453509222 | epot = -38.0581159208701 | etot = -29.7888600064433 +578000 ekin = 4.89993171052275 | erot = 3.39468878464195 | epot = -38.0636938795356 | etot = -29.7690733843709 +579000 ekin = 4.83297661461382 | erot = 3.08572772864728 | epot = -38.0577731810635 | etot = -30.1390688378024 +580000 ekin = 4.77298411404112 | erot = 3.09603380464131 | epot = -38.0675771405195 | etot = -30.198559221837 +581000 ekin = 4.96965435170546 | erot = 3.06610493080439 | epot = -38.0894896837322 | etot = -30.0537304012223 +582000 ekin = 4.84477580774073 | erot = 2.9927320347077 | epot = -38.1047755328767 | etot = -30.2672676904283 +583000 ekin = 4.80184612340932 | erot = 2.99121545039786 | epot = -38.0992283827672 | etot = -30.30616680896 +584000 ekin = 4.73999729115049 | erot = 2.95820256140574 | epot = -38.1193022601922 | etot = -30.421102407636 +585000 ekin = 4.62963491646152 | erot = 2.99096158598537 | epot = -38.1514766562945 | etot = -30.5308801538476 +586000 ekin = 4.66196804986673 | erot = 3.11428540249498 | epot = -38.1645218154685 | etot = -30.3882683631068 +587000 ekin = 4.58446438916328 | erot = 3.26198289890953 | epot = -38.1451310277745 | etot = -30.2986837397017 +588000 ekin = 4.59050554157104 | erot = 3.3726754228907 | epot = -38.0928945920965 | etot = -30.1297136276347 +589000 ekin = 4.52148456601111 | erot = 3.20426810396365 | epot = -38.0431145518048 | etot = -30.31736188183 +590000 ekin = 4.54292012494668 | erot = 3.17466615888884 | epot = -37.9867331121616 | etot = -30.2691468283261 +591000 ekin = 4.4671534284139 | erot = 3.30654504351686 | epot = -37.9702893954324 | etot = -30.1965909235016 +592000 ekin = 4.47491098921977 | erot = 3.6999642514398 | epot = -37.9696400527198 | etot = -29.7947648120603 +593000 ekin = 4.43506697623667 | erot = 3.70250326611386 | epot = -37.982672172325 | etot = -29.8451019299745 +594000 ekin = 4.36908136306914 | erot = 3.59308231950695 | epot = -38.0038521048194 | etot = -30.0416884222434 +595000 ekin = 4.30615021787055 | erot = 3.60547435881493 | epot = -38.0517692624258 | etot = -30.1401446857403 +596000 ekin = 4.27538703974133 | erot = 3.70718417029047 | epot = -38.1072020006232 | etot = -30.1246307905914 +597000 ekin = 4.09427835861052 | erot = 3.56040857145023 | epot = -38.1368054718235 | etot = -30.4821185417627 +598000 ekin = 4.06772969179112 | erot = 3.98852753231066 | epot = -38.1357675039157 | etot = -30.0795102798139 +599000 ekin = 4.05823661502987 | erot = 3.99204411848289 | epot = -38.094416622612 | etot = -30.0441358890992 +600000 ekin = 4.14000207696597 | erot = 3.69886036268669 | epot = -38.0126500071595 | etot = -30.1737875675069 +601000 ekin = 4.14331251606211 | erot = 4.02012885446817 | epot = -37.8931408419344 | etot = -29.7296994714041 +602000 ekin = 4.19175322865712 | erot = 3.63789752518651 | epot = -37.776838230476 | etot = -29.9471874766323 +603000 ekin = 4.17700109074307 | erot = 3.33190102346871 | epot = -37.6571796612341 | etot = -30.1482775470223 +604000 ekin = 4.32110078335233 | erot = 3.37359972635292 | epot = -37.5481087406156 | etot = -29.8534082309104 +605000 ekin = 4.40829637956691 | erot = 3.12232098209617 | epot = -37.4615593717342 | etot = -29.9309420100711 +606000 ekin = 4.50978571460466 | erot = 2.82903034171751 | epot = -37.4107566252708 | etot = -30.0719405689486 +607000 ekin = 4.64775510562427 | erot = 2.72855004395386 | epot = -37.3886864614938 | etot = -30.0123813119157 +608000 ekin = 4.62515883775198 | erot = 2.69276686565725 | epot = -37.3472679127841 | etot = -30.0293422093749 +609000 ekin = 4.58072072733855 | erot = 2.72618151323734 | epot = -37.321155518993 | etot = -30.0142532784171 +610000 ekin = 4.37064710749545 | erot = 2.94205446769438 | epot = -37.3313655411415 | etot = -30.0186639659516 +611000 ekin = 4.30243700562366 | erot = 2.94482669781544 | epot = -37.3282578261779 | etot = -30.0809941227388 +612000 ekin = 4.37982748485343 | erot = 2.81236690797516 | epot = -37.3366791579241 | etot = -30.1444847650955 +613000 ekin = 4.49298433908216 | erot = 2.9422949922611 | epot = -37.3617837170398 | etot = -29.9265043856965 +614000 ekin = 4.63192250195893 | erot = 2.81948937077719 | epot = -37.3623397651558 | etot = -29.9109278924196 +615000 ekin = 4.56431794922697 | erot = 3.04112038174076 | epot = -37.336047475673 | etot = -29.7306091447052 +616000 ekin = 4.48538645093142 | erot = 2.9863679461823 | epot = -37.2843360454655 | etot = -29.8125816483518 +617000 ekin = 4.35777724185516 | erot = 3.27046740448593 | epot = -37.2149609045279 | etot = -29.5867162581868 +618000 ekin = 4.13929013645538 | erot = 3.31436963968885 | epot = -37.1380165806135 | etot = -29.6843568044692 +619000 ekin = 3.99812604761947 | erot = 3.80697216179629 | epot = -37.0480074184855 | etot = -29.2429092090698 +620000 ekin = 3.75775297824752 | erot = 3.88935078371487 | epot = -37.0016709350122 | etot = -29.3545671730499 +621000 ekin = 3.59837254942666 | erot = 3.36974253347195 | epot = -36.957139996861 | etot = -29.9890249139623 +622000 ekin = 3.52853751549673 | erot = 3.57220920853453 | epot = -36.9826672270778 | etot = -29.8819205030465 +623000 ekin = 3.44776927445729 | erot = 3.68524482792415 | epot = -37.0520182183617 | etot = -29.9190041159803 +624000 ekin = 3.42459051153801 | erot = 4.10039189185601 | epot = -37.1561365046956 | etot = -29.6311541013016 +625000 ekin = 3.47427533928241 | erot = 4.19316198399256 | epot = -37.3128709391509 | etot = -29.6454336158759 +626000 ekin = 3.59243588690051 | erot = 4.25331544595908 | epot = -37.4538356021372 | etot = -29.6080842692777 +627000 ekin = 3.65834270574544 | erot = 3.84587709669875 | epot = -37.5560189371568 | etot = -30.0517991347126 +628000 ekin = 3.70047562334568 | erot = 3.6882110278348 | epot = -37.6346624168372 | etot = -30.2459757656567 +629000 ekin = 3.73516234913422 | erot = 3.92476956261677 | epot = -37.7008434862915 | etot = -30.0409115745406 +630000 ekin = 3.81181204861746 | erot = 3.95913149926753 | epot = -37.7335643601767 | etot = -29.9626208122917 +631000 ekin = 3.81645534702365 | erot = 3.13210702566911 | epot = -37.7706097068458 | etot = -30.822047334153 +632000 ekin = 3.83367227377576 | erot = 3.16390787891888 | epot = -37.8179976528052 | etot = -30.8204175001106 +633000 ekin = 3.78875173101125 | erot = 3.28627876080398 | epot = -37.8551980571897 | etot = -30.7801675653744 +634000 ekin = 3.64435724345663 | erot = 3.54689069849326 | epot = -37.8771184407042 | etot = -30.6858704987543 +635000 ekin = 3.74927918910687 | erot = 3.50067245026001 | epot = -37.9120332365853 | etot = -30.6620815972185 +636000 ekin = 3.89890106913056 | erot = 3.51590480850453 | epot = -37.9883703460318 | etot = -30.5735644683968 +637000 ekin = 3.98051852239104 | erot = 3.51683885701821 | epot = -38.1188954220068 | etot = -30.6215380425976 +638000 ekin = 4.1867925219674 | erot = 3.48363716100457 | epot = -38.3003898519922 | etot = -30.6299601690202 +639000 ekin = 4.29259370089831 | erot = 3.44532403016783 | epot = -38.5009165327295 | etot = -30.7629988016634 +640000 ekin = 4.33862023546758 | erot = 3.61400248687526 | epot = -38.6627935284701 | etot = -30.7101708061272 +641000 ekin = 4.47895119284624 | erot = 3.60758277909094 | epot = -38.7986251266558 | etot = -30.7120911547187 +642000 ekin = 4.48471207018763 | erot = 3.75535910837196 | epot = -38.863620414876 | etot = -30.6235492363164 +643000 ekin = 4.56445558617355 | erot = 3.81552004634157 | epot = -38.8645537025225 | etot = -30.4845780700074 +644000 ekin = 4.73329478475728 | erot = 3.55885168491639 | epot = -38.8054956282291 | etot = -30.5133491585554 +645000 ekin = 4.6912943962558 | erot = 3.28200064721723 | epot = -38.701547429741 | etot = -30.7282523862679 +646000 ekin = 4.58583002001323 | erot = 3.4085956946329 | epot = -38.5478616511678 | etot = -30.5534359365217 +647000 ekin = 4.60741071742923 | erot = 3.38831322436691 | epot = -38.3932861693425 | etot = -30.3975622275464 +648000 ekin = 4.51463144345976 | erot = 3.2427410033314 | epot = -38.2758434893353 | etot = -30.5184710425442 +649000 ekin = 4.55491099792929 | erot = 3.3173810530716 | epot = -38.2201110845429 | etot = -30.347819033542 +650000 ekin = 4.67226589728798 | erot = 3.60950811156257 | epot = -38.2202225605509 | etot = -29.9384485517004 +651000 ekin = 4.60851815831642 | erot = 3.77278937705233 | epot = -38.2536330995444 | etot = -29.8723255641757 +652000 ekin = 4.678459200191 | erot = 3.3937624009624 | epot = -38.2868824175937 | etot = -30.2146608164403 +653000 ekin = 4.66844839257089 | erot = 3.83803199311166 | epot = -38.3235322989536 | etot = -29.817051913271 +654000 ekin = 4.7104895331932 | erot = 3.48299287365129 | epot = -38.3580887397253 | etot = -30.1646063328808 +655000 ekin = 4.59645355598621 | erot = 3.7478202528204 | epot = -38.4145657066933 | etot = -30.0702918978867 +656000 ekin = 4.75902771581097 | erot = 3.81874385847384 | epot = -38.4693742928374 | etot = -29.8916027185526 +657000 ekin = 4.64668020593031 | erot = 3.6665600106013 | epot = -38.4843211797294 | etot = -30.1710809631978 +658000 ekin = 4.5583600187507 | erot = 3.93329833863019 | epot = -38.4803826070965 | etot = -29.9887242497156 +659000 ekin = 4.55537392119719 | erot = 3.6285471602112 | epot = -38.4363459414659 | etot = -30.2524248600575 +660000 ekin = 4.41551333368083 | erot = 3.6539559007289 | epot = -38.3663969488346 | etot = -30.2969277144249 +661000 ekin = 4.32449081576465 | erot = 3.74090915717697 | epot = -38.2884247485437 | etot = -30.2230247756021 +662000 ekin = 4.2382312401034 | erot = 3.58833666048796 | epot = -38.1946280661735 | etot = -30.3680601655822 +663000 ekin = 4.32618520330348 | erot = 3.71369597709409 | epot = -38.0940311251124 | etot = -30.0541499447149 +664000 ekin = 4.30987713127737 | erot = 3.55193027406456 | epot = -38.0118003167729 | etot = -30.149992911431 +665000 ekin = 4.32971268964125 | erot = 3.40416985470638 | epot = -37.9630121098137 | etot = -30.229129565466 +666000 ekin = 4.30397058329232 | erot = 3.24563244836293 | epot = -37.9564459426245 | etot = -30.4068429109692 +667000 ekin = 4.23802718761159 | erot = 3.57923047722682 | epot = -37.911170999797 | etot = -30.0939133349586 +668000 ekin = 4.17750835985169 | erot = 3.42921371885257 | epot = -37.8409684237745 | etot = -30.2342463450703 +669000 ekin = 4.10123021238948 | erot = 3.38759831293412 | epot = -37.7732457913403 | etot = -30.2844172660167 +670000 ekin = 3.96563796265766 | erot = 3.59480187806753 | epot = -37.6965941156386 | etot = -30.1361542749134 +671000 ekin = 3.96406262528469 | erot = 3.64073126780246 | epot = -37.5753442355431 | etot = -29.9705503424559 +672000 ekin = 4.04265318678508 | erot = 3.67979591145804 | epot = -37.4296504342378 | etot = -29.7072013359947 +673000 ekin = 3.99224066234871 | erot = 3.52190422085278 | epot = -37.3047157518844 | etot = -29.7905708686829 +674000 ekin = 3.97681715793532 | erot = 3.75368024393782 | epot = -37.1885781675148 | etot = -29.4580807656416 +675000 ekin = 3.85833621087031 | erot = 3.97050815664581 | epot = -37.1417466549724 | etot = -29.3129022874562 +676000 ekin = 3.77676206895609 | erot = 3.79811590545655 | epot = -37.1253534099231 | etot = -29.5504754355104 +677000 ekin = 3.78226586281953 | erot = 3.88942769355379 | epot = -37.1385629636271 | etot = -29.4668694072538 +678000 ekin = 3.61579087416917 | erot = 3.83629032138248 | epot = -37.1880190743623 | etot = -29.7359378788106 +679000 ekin = 3.59940694058669 | erot = 3.92320694106388 | epot = -37.2411006365046 | etot = -29.7184867548541 +680000 ekin = 3.59936088858661 | erot = 3.59198808770705 | epot = -37.3103059663064 | etot = -30.1189569900128 +681000 ekin = 3.5506817335392 | erot = 3.62032338399699 | epot = -37.397887158622 | etot = -30.2268820410859 +682000 ekin = 3.64312616149454 | erot = 3.63220095729207 | epot = -37.4824268307592 | etot = -30.2070997119726 +683000 ekin = 3.59147144886464 | erot = 4.0054088226964 | epot = -37.5784304648838 | etot = -29.9815501933228 +684000 ekin = 3.72558767154372 | erot = 4.43134049971566 | epot = -37.6663536443173 | etot = -29.5094254730579 +685000 ekin = 3.75700113340408 | erot = 4.42051791074664 | epot = -37.7011506850387 | etot = -29.523631640888 +686000 ekin = 3.68716829673499 | erot = 4.29446170846264 | epot = -37.7134415714993 | etot = -29.7318115663016 +687000 ekin = 3.64818503755748 | erot = 4.53150873331274 | epot = -37.711537143075 | etot = -29.5318433722048 +688000 ekin = 3.65898677055773 | erot = 4.19517143645001 | epot = -37.7179324142981 | etot = -29.8637742072904 +689000 ekin = 3.6205349293849 | erot = 4.90634872884686 | epot = -37.7254294906481 | etot = -29.1985458324163 +690000 ekin = 3.66313798116712 | erot = 4.56796147261006 | epot = -37.7316773182824 | etot = -29.5005778645052 +691000 ekin = 3.71240687811154 | erot = 4.32729443264317 | epot = -37.6986701891451 | etot = -29.6589688783904 +692000 ekin = 3.77937222983674 | erot = 4.25209713638378 | epot = -37.6463069321166 | etot = -29.6148375658961 +693000 ekin = 3.82528389687013 | erot = 4.44391854020428 | epot = -37.5813521083399 | etot = -29.3121496712654 +694000 ekin = 3.77132757417731 | erot = 4.30342910423497 | epot = -37.5292531497342 | etot = -29.454496471322 +695000 ekin = 3.87816824099586 | erot = 3.61664690986648 | epot = -37.4977174174724 | etot = -30.0029022666101 +696000 ekin = 4.03561630547957 | erot = 3.14881777436793 | epot = -37.5165237009968 | etot = -30.3320896211493 +697000 ekin = 4.10221303088947 | erot = 2.74688055821586 | epot = -37.6237315563435 | etot = -30.7746379672381 +698000 ekin = 4.33198843808379 | erot = 2.54448976763408 | epot = -37.8109238872746 | etot = -30.9344456815567 +699000 ekin = 4.45835519306674 | erot = 2.8372756281226 | epot = -38.0765099491828 | etot = -30.7808791279934 +700000 ekin = 4.62566765847138 | erot = 3.20413023616686 | epot = -38.3666686805772 | etot = -30.536870785939 +701000 ekin = 4.71198958041981 | erot = 3.20500762759515 | epot = -38.6531148244764 | etot = -30.7361176164614 +702000 ekin = 4.70320353975512 | erot = 3.49669921722509 | epot = -38.9020142648734 | etot = -30.7021115078932 +703000 ekin = 4.7166659217622 | erot = 3.43605875792423 | epot = -39.0983570180767 | etot = -30.9456323383903 +704000 ekin = 4.81119997223625 | erot = 3.68842954975253 | epot = -39.2326154199855 | etot = -30.7329858979967 +705000 ekin = 4.76635995985854 | erot = 4.27225880905604 | epot = -39.304583019354 | etot = -30.2659642504394 +706000 ekin = 4.6123968900786 | erot = 4.45743851438174 | epot = -39.3303553159895 | etot = -30.2605199115291 +707000 ekin = 4.43392403924413 | erot = 5.00090751066076 | epot = -39.3012148785927 | etot = -29.8663833286878 +708000 ekin = 4.493639803788 | erot = 4.44827137132337 | epot = -39.1855945086319 | etot = -30.2436833335206 +709000 ekin = 4.38087413515987 | erot = 4.33993340713996 | epot = -39.0225667156706 | etot = -30.3017591733707 +710000 ekin = 4.30084034805674 | erot = 4.18416076229495 | epot = -38.8018325665079 | etot = -30.3168314561562 +711000 ekin = 4.16061239283914 | erot = 3.7596460771024 | epot = -38.6119256895403 | etot = -30.6916672195988 +712000 ekin = 4.02785073941548 | erot = 3.91873808556251 | epot = -38.5032151267495 | etot = -30.5566263017715 +713000 ekin = 3.91042694307498 | erot = 4.02474708082426 | epot = -38.4555203424355 | etot = -30.5203463185362 +714000 ekin = 3.91972154955257 | erot = 3.86911398530038 | epot = -38.4391911139339 | etot = -30.650355579081 +715000 ekin = 3.79432885182375 | erot = 3.97493955426887 | epot = -38.4648934882979 | etot = -30.6956250822053 +716000 ekin = 3.81379173421808 | erot = 4.12773796628716 | epot = -38.5344978321895 | etot = -30.5929681316842 +717000 ekin = 3.81338083287853 | erot = 3.91040514076917 | epot = -38.6119475932714 | etot = -30.8881616196237 +718000 ekin = 3.98031853847202 | erot = 3.63481705596704 | epot = -38.678649410417 | etot = -31.0635138159779 +719000 ekin = 3.85667554069524 | erot = 3.54568346865617 | epot = -38.7335222105702 | etot = -31.3311632012187 +720000 ekin = 3.82130999837899 | erot = 3.12899985812958 | epot = -38.800048179352 | etot = -31.8497383228434 +721000 ekin = 3.84625676410583 | erot = 3.33090070721994 | epot = -38.8362758074818 | etot = -31.659118336156 +722000 ekin = 3.79224716661396 | erot = 3.20659617994807 | epot = -38.8301147634646 | etot = -31.8312714169026 +723000 ekin = 3.89270036914644 | erot = 3.09341373486916 | epot = -38.7612142662691 | etot = -31.7751001622535 +724000 ekin = 3.88950015267433 | erot = 3.37593260372111 | epot = -38.6472208331853 | etot = -31.3817880767899 +725000 ekin = 3.89253643906727 | erot = 3.3632565061082 | epot = -38.5278096836431 | etot = -31.2720167384676 +726000 ekin = 3.77207579735126 | erot = 2.95762270097697 | epot = -38.4162496849588 | etot = -31.6865511866306 +727000 ekin = 3.8589508308402 | erot = 2.69741467226751 | epot = -38.3204112624909 | etot = -31.7640457593832 +728000 ekin = 3.95735248448056 | erot = 2.91208862145619 | epot = -38.2269317498774 | etot = -31.3574906439407 +729000 ekin = 3.90116579496193 | erot = 2.68023881807524 | epot = -38.1837112825913 | etot = -31.6023066695542 +730000 ekin = 3.96318220229622 | erot = 2.52640600275291 | epot = -38.1795006550048 | etot = -31.6899124499557 +731000 ekin = 4.07163559325289 | erot = 2.47524828245716 | epot = -38.2208467965997 | etot = -31.6739629208896 +732000 ekin = 4.12331294394785 | erot = 2.59059397612219 | epot = -38.2785246774242 | etot = -31.5646177573541 +733000 ekin = 4.18393032106836 | erot = 2.72580269413632 | epot = -38.3920370437211 | etot = -31.4823040285164 +734000 ekin = 4.22490204001118 | erot = 2.94025387724297 | epot = -38.5577268408556 | etot = -31.3925709236014 +735000 ekin = 4.41637906381283 | erot = 3.39000978300269 | epot = -38.7520895879279 | etot = -30.9457007411124 +736000 ekin = 4.52682105512923 | erot = 3.59384799521502 | epot = -39.0007836443238 | etot = -30.8801145939796 +737000 ekin = 4.54518518822972 | erot = 3.67606395235652 | epot = -39.2431861398732 | etot = -31.021936999287 +738000 ekin = 4.54111831313617 | erot = 3.87514152367601 | epot = -39.4689573474101 | etot = -31.0526975105979 +739000 ekin = 4.64515651334113 | erot = 3.86830954896661 | epot = -39.6580785017875 | etot = -31.1446124394798 +740000 ekin = 4.59721923359584 | erot = 3.83234514918706 | epot = -39.7800787241315 | etot = -31.3505143413486 +741000 ekin = 4.54920694202201 | erot = 4.22873772666781 | epot = -39.8001498706485 | etot = -31.0222052019586 +742000 ekin = 4.37775553859951 | erot = 4.07719515191216 | epot = -39.7729191936198 | etot = -31.3179685031081 +743000 ekin = 4.3556617165815 | erot = 4.19296317409613 | epot = -39.6826493457458 | etot = -31.1340244550682 +744000 ekin = 4.35520781857212 | erot = 4.03027041959878 | epot = -39.5404877687077 | etot = -31.1550095305368 +745000 ekin = 4.22626887984331 | erot = 3.36034348052808 | epot = -39.3612863690872 | etot = -31.7746740087159 +746000 ekin = 4.11995949308923 | erot = 3.27667360498748 | epot = -39.1619120183871 | etot = -31.7652789203104 +747000 ekin = 4.14400839200239 | erot = 3.30199438470026 | epot = -38.9827326721258 | etot = -31.5367298954232 +748000 ekin = 4.00468940718693 | erot = 3.14625781984354 | epot = -38.8044398216778 | etot = -31.6534925946474 +749000 ekin = 3.84115389861465 | erot = 2.95470003366609 | epot = -38.6687005011654 | etot = -31.8728465688846 +750000 ekin = 3.65410258827823 | erot = 3.15459365563754 | epot = -38.5278602215809 | etot = -31.7191639776651 +751000 ekin = 3.60281847230545 | erot = 3.24631581000339 | epot = -38.4153933025755 | etot = -31.5662590202667 +752000 ekin = 3.67731217795128 | erot = 3.63832283099251 | epot = -38.3028409880039 | etot = -30.9872059790601 +753000 ekin = 3.57605485188811 | erot = 3.26752665173291 | epot = -38.2165204041613 | etot = -31.3729389005403 +754000 ekin = 3.69078656100588 | erot = 3.07077330953217 | epot = -38.2008529421062 | etot = -31.4392930715682 +755000 ekin = 3.70168225637986 | erot = 2.97263399944788 | epot = -38.2287093031125 | etot = -31.5543930472847 +756000 ekin = 3.82302121276 | erot = 3.1782689290909 | epot = -38.310131999282 | etot = -31.3088418574311 +757000 ekin = 3.92969183976134 | erot = 3.24398381681734 | epot = -38.4229976799532 | etot = -31.2493220233745 +758000 ekin = 4.01825553851191 | erot = 2.96087889455693 | epot = -38.5603809302421 | etot = -31.5812464971732 +759000 ekin = 4.15945678292269 | erot = 3.31368855914151 | epot = -38.7240687265501 | etot = -31.2509233844859 +760000 ekin = 4.08337495041291 | erot = 3.28527114059579 | epot = -38.8845645171709 | etot = -31.5159184261622 +761000 ekin = 4.14862342701004 | erot = 3.30586771709929 | epot = -38.9896780479041 | etot = -31.5351869037947 +762000 ekin = 4.15291891523591 | erot = 3.21578962032615 | epot = -39.035237071941 | etot = -31.6665285363789 +763000 ekin = 4.13154828483801 | erot = 3.3900507889808 | epot = -39.0640564952969 | etot = -31.5424574214781 +764000 ekin = 4.11445022984107 | erot = 3.78778087021365 | epot = -39.069248399025 | etot = -31.1670172989702 +765000 ekin = 3.94937442988367 | erot = 3.99811330721222 | epot = -39.0421921917084 | etot = -31.0947044546125 +766000 ekin = 3.90772961551845 | erot = 4.0181962192846 | epot = -38.9772379154488 | etot = -31.0513120806457 +767000 ekin = 3.91865092379332 | erot = 3.66675942927299 | epot = -38.8570109636996 | etot = -31.2716006106332 +768000 ekin = 3.90455829915362 | erot = 3.57997769181348 | epot = -38.7106990781797 | etot = -31.2261630872126 +769000 ekin = 3.79614462627826 | erot = 3.72589479531031 | epot = -38.5987325117513 | etot = -31.0766930901627 +770000 ekin = 3.84943042371488 | erot = 3.41445940258812 | epot = -38.524203140241 | etot = -31.260313313938 +771000 ekin = 3.93726861106201 | erot = 3.22573743650855 | epot = -38.4470290210344 | etot = -31.2840229734638 +772000 ekin = 3.96999789478599 | erot = 3.15006319998264 | epot = -38.4433830504296 | etot = -31.3233219556609 +773000 ekin = 3.90264203603893 | erot = 3.08286085672441 | epot = -38.4596433115508 | etot = -31.4741404187875 +774000 ekin = 4.05136357587227 | erot = 3.17001936426344 | epot = -38.5137422973683 | etot = -31.2923593572326 +775000 ekin = 4.11418642080987 | erot = 3.81754399179953 | epot = -38.5927804349062 | etot = -30.6610500222968 +776000 ekin = 4.11481050991315 | erot = 3.55328099460652 | epot = -38.6754580889833 | etot = -31.0073665844636 +777000 ekin = 4.23423405077881 | erot = 3.58108270552595 | epot = -38.76169441768 | etot = -30.9463776613752 +778000 ekin = 4.22244262963946 | erot = 3.64411855451438 | epot = -38.842032142942 | etot = -30.9754709587882 +779000 ekin = 4.20492205038613 | erot = 3.89270804286644 | epot = -38.9009656289588 | etot = -30.8033355357062 +780000 ekin = 4.19457435208234 | erot = 3.98994130977106 | epot = -38.9050369874364 | etot = -30.720521325583 +781000 ekin = 4.33837315790505 | erot = 3.45852422770954 | epot = -38.858660577552 | etot = -31.0617631919374 +782000 ekin = 4.36357496915283 | erot = 3.10010011432268 | epot = -38.7868584055569 | etot = -31.3231833220814 +783000 ekin = 4.42162598039069 | erot = 3.42028138737023 | epot = -38.7233668668895 | etot = -30.8814594991286 +784000 ekin = 4.52915280589068 | erot = 3.46746509226016 | epot = -38.6388342149203 | etot = -30.6422163167695 +785000 ekin = 4.5515940213827 | erot = 3.36141401661281 | epot = -38.5160993571772 | etot = -30.6030913191817 +786000 ekin = 4.4107707826179 | erot = 3.55728141641263 | epot = -38.3921286555455 | etot = -30.424076456515 +787000 ekin = 4.5473982866512 | erot = 3.81681111076943 | epot = -38.2843232861691 | etot = -29.9201138887484 +788000 ekin = 4.51350891647158 | erot = 3.90594890385667 | epot = -38.2029645190101 | etot = -29.7835066986818 +789000 ekin = 4.41183434492804 | erot = 4.01545730842702 | epot = -38.1545360413066 | etot = -29.7272443879516 +790000 ekin = 4.36219296798482 | erot = 4.38022337925401 | epot = -38.1642768248248 | etot = -29.421860477586 +791000 ekin = 4.36856935453186 | erot = 4.10044084346348 | epot = -38.2219055606099 | etot = -29.7528953626145 +792000 ekin = 4.15750522427241 | erot = 4.31220830506829 | epot = -38.3006248567473 | etot = -29.8309113274066 +793000 ekin = 4.04895474142992 | erot = 4.47406069249712 | epot = -38.4166817679429 | etot = -29.8936663340158 +794000 ekin = 4.06782077729031 | erot = 4.54237615913424 | epot = -38.5497403981529 | etot = -29.9395434617283 +795000 ekin = 4.13325369560983 | erot = 4.6766430853343 | epot = -38.7140310649859 | etot = -29.9041342840418 +796000 ekin = 4.24810673699357 | erot = 4.55090018691371 | epot = -38.8628377912581 | etot = -30.0638308673508 +797000 ekin = 4.47820483480053 | erot = 4.37105820701948 | epot = -39.0073103741372 | etot = -30.1580473323172 +798000 ekin = 4.41687882033665 | erot = 4.0319284480101 | epot = -39.1717655165835 | etot = -30.7229582482367 +799000 ekin = 4.51272621151664 | erot = 3.80275615695394 | epot = -39.3264210367218 | etot = -31.0109386682512 +800000 ekin = 4.55406747539997 | erot = 3.86603589563191 | epot = -39.455092115688 | etot = -31.0349887446561 +801000 ekin = 4.71425753043942 | erot = 4.19401636489441 | epot = -39.5455068512898 | etot = -30.637232955956 +802000 ekin = 4.73096724901056 | erot = 4.66018334519229 | epot = -39.597292270086 | etot = -30.2061416758832 +803000 ekin = 4.62379738113321 | erot = 4.84687313016545 | epot = -39.6033097238909 | etot = -30.1326392125923 +804000 ekin = 4.73211781117979 | erot = 4.65405100631752 | epot = -39.5980929919841 | etot = -30.2119241744868 +805000 ekin = 4.74990370273786 | erot = 5.03061291222775 | epot = -39.569498865532 | etot = -29.7889822505664 +806000 ekin = 4.71376969100994 | erot = 4.52737209746845 | epot = -39.5309941756428 | etot = -30.2898523871644 +807000 ekin = 4.86079475139447 | erot = 4.60056901312774 | epot = -39.4997078348834 | etot = -30.0383440703612 +808000 ekin = 4.80209833525365 | erot = 4.45818548395654 | epot = -39.4704788837951 | etot = -30.2101950645849 +809000 ekin = 4.6377001128784 | erot = 4.50410245159993 | epot = -39.4133092695815 | etot = -30.2715067051032 +810000 ekin = 4.58845623547692 | erot = 4.59839740206889 | epot = -39.3630399165046 | etot = -30.1761862789588 +811000 ekin = 4.49885529137753 | erot = 3.98878012931503 | epot = -39.2630135095319 | etot = -30.7753780888393 +812000 ekin = 4.26896362698783 | erot = 3.78568800845445 | epot = -39.1138584925267 | etot = -31.0592068570844 +813000 ekin = 4.13473287838133 | erot = 3.6709761560088 | epot = -38.9684769118808 | etot = -31.1627678774907 +814000 ekin = 3.94776533151714 | erot = 3.9457998277719 | epot = -38.8393181931019 | etot = -30.9457530338129 +815000 ekin = 3.90824876714862 | erot = 4.04132924638677 | epot = -38.7551601823022 | etot = -30.8055821687668 +816000 ekin = 3.78701127768462 | erot = 3.90301930977968 | epot = -38.6978803550943 | etot = -31.00784976763 +817000 ekin = 3.66292511898636 | erot = 3.94682412287945 | epot = -38.6270985077425 | etot = -31.0173492658767 +818000 ekin = 3.57247131276281 | erot = 4.1784329766224 | epot = -38.5581000447571 | etot = -30.8071957553719 +819000 ekin = 3.53877880324498 | erot = 4.11647252852254 | epot = -38.4709987313688 | etot = -30.8157473996013 +820000 ekin = 3.50671598439864 | erot = 4.25631799360866 | epot = -38.3521077332953 | etot = -30.589073755288 +821000 ekin = 3.53103431342861 | erot = 3.63219688182926 | epot = -38.2011634572152 | etot = -31.0379322619573 +822000 ekin = 3.51951391759931 | erot = 3.61259288561798 | epot = -38.0560993175178 | etot = -30.9239925143005 +823000 ekin = 3.57671320020554 | erot = 3.17979253207743 | epot = -37.8872361758755 | etot = -31.1307304435925 +824000 ekin = 3.52000952110921 | erot = 3.12347116703116 | epot = -37.7532307820921 | etot = -31.1097500939517 +825000 ekin = 3.58955759313305 | erot = 3.15061432333252 | epot = -37.6359982536732 | etot = -30.8958263372076 +826000 ekin = 3.67361585241115 | erot = 3.02327306668993 | epot = -37.5692124634555 | etot = -30.8723235443545 +827000 ekin = 3.81109350736604 | erot = 2.85212407416508 | epot = -37.5611625241685 | etot = -30.8979449426374 +828000 ekin = 3.90531542763306 | erot = 2.81227386436724 | epot = -37.5694328663444 | etot = -30.8518435743441 +829000 ekin = 3.84587100054128 | erot = 2.81493449341339 | epot = -37.6070676030481 | etot = -30.9462621090934 +830000 ekin = 3.92673136944209 | erot = 3.15236191191157 | epot = -37.65374691576 | etot = -30.5746536344063 +831000 ekin = 3.93921284330491 | erot = 3.06450076609943 | epot = -37.726173164998 | etot = -30.7224595555937 +832000 ekin = 3.97197612374618 | erot = 3.05649894745004 | epot = -37.8221989970108 | etot = -30.7937239258146 +833000 ekin = 3.93725030890245 | erot = 3.02665836452891 | epot = -37.937171835506 | etot = -30.9732631620746 +834000 ekin = 3.98146697711148 | erot = 3.02136079279377 | epot = -38.0629385880238 | etot = -31.0601108181185 +835000 ekin = 4.05052897985953 | erot = 3.17273406713208 | epot = -38.1835463837721 | etot = -30.9602833367805 +836000 ekin = 4.19040397553796 | erot = 3.26946027032974 | epot = -38.300933644763 | etot = -30.8410693988953 +837000 ekin = 4.23633886579806 | erot = 3.17722972050019 | epot = -38.3895940577245 | etot = -30.9760254714263 +838000 ekin = 4.29790040722482 | erot = 3.15450479842838 | epot = -38.4727069904853 | etot = -31.0203017848321 +839000 ekin = 4.182732050379 | erot = 3.33215565017002 | epot = -38.5543306618494 | etot = -31.0394429613004 +840000 ekin = 4.10684077367696 | erot = 3.38230089969601 | epot = -38.6241675017603 | etot = -31.1350258283873 +841000 ekin = 4.23749853699722 | erot = 4.07451157411683 | epot = -38.6954306161322 | etot = -30.3834205050181 +842000 ekin = 4.2153670799426 | erot = 4.23835126074053 | epot = -38.7619078222528 | etot = -30.3081894815696 +843000 ekin = 4.22215504966699 | erot = 4.35771502414021 | epot = -38.8129398935362 | etot = -30.233069819729 +844000 ekin = 4.30121627933573 | erot = 4.37450016715701 | epot = -38.8385476120776 | etot = -30.1628311655849 +845000 ekin = 4.21550077214609 | erot = 4.14378307005649 | epot = -38.8237568245827 | etot = -30.4644729823801 +846000 ekin = 4.02238016824686 | erot = 4.51654867802952 | epot = -38.7905889780241 | etot = -30.2516601317477 +847000 ekin = 4.01810256512937 | erot = 4.26125017170745 | epot = -38.733957558752 | etot = -30.4546048219152 +848000 ekin = 3.96232133970732 | erot = 4.11983424179405 | epot = -38.6313622633386 | etot = -30.5492066818373 +849000 ekin = 3.80836560854392 | erot = 4.28564223418274 | epot = -38.4895963152699 | etot = -30.3955884725433 +850000 ekin = 3.69578896780274 | erot = 4.39587758868528 | epot = -38.3525607889922 | etot = -30.2608942325042 +851000 ekin = 3.41959969074421 | erot = 4.26064520104062 | epot = -38.1456854690894 | etot = -30.4654405773046 +852000 ekin = 3.30829887930776 | erot = 3.71835542085465 | epot = -37.9409715149428 | etot = -30.9143172147804 +853000 ekin = 3.35508979255713 | erot = 3.37030184945621 | epot = -37.7900455534541 | etot = -31.0646539114407 +854000 ekin = 3.27022944339449 | erot = 3.34212111159852 | epot = -37.7131840806896 | etot = -31.1008335256966 +855000 ekin = 3.19861227193943 | erot = 3.88856216577093 | epot = -37.6928018165187 | etot = -30.6056273788083 +856000 ekin = 3.06768638261934 | erot = 3.98298011021487 | epot = -37.727010473156 | etot = -30.6763439803218 +857000 ekin = 3.02849458271124 | erot = 3.90128373509556 | epot = -37.7894644617561 | etot = -30.8596861439493 +858000 ekin = 3.01766394874133 | erot = 3.81481515545799 | epot = -37.864155422239 | etot = -31.0316763180397 +859000 ekin = 3.04279727315576 | erot = 3.58850792531743 | epot = -37.9147104139937 | etot = -31.2834052155205 +860000 ekin = 3.12250083122182 | erot = 3.47152341944205 | epot = -37.9805991878282 | etot = -31.3865749371643 +861000 ekin = 3.08661234486262 | erot = 3.19104504877429 | epot = -38.04550487435 | etot = -31.7678474807131 +862000 ekin = 3.21284829409286 | erot = 3.29871938445959 | epot = -38.099234844044 | etot = -31.5876671654915 +863000 ekin = 3.30782920492323 | erot = 3.18791577959012 | epot = -38.1747149198294 | etot = -31.678969935316 +864000 ekin = 3.42420257195635 | erot = 2.92388402618494 | epot = -38.2365375033583 | etot = -31.888450905217 +865000 ekin = 3.34466551527704 | erot = 3.0972998859353 | epot = -38.3012083514071 | etot = -31.8592429501948 +866000 ekin = 3.36174635490684 | erot = 3.3198551234471 | epot = -38.3565233653478 | etot = -31.6749218869938 +867000 ekin = 3.42183919685502 | erot = 2.79592217571871 | epot = -38.3877893327297 | etot = -32.1700279601559 +868000 ekin = 3.36274087144656 | erot = 2.53957841641322 | epot = -38.4029375195831 | etot = -32.5006182317234 +869000 ekin = 3.40964507660634 | erot = 2.56691032353942 | epot = -38.3607072506902 | etot = -32.3841518505445 +870000 ekin = 3.53716918539254 | erot = 2.78671187381873 | epot = -38.3296120297666 | etot = -32.0057309705553 +871000 ekin = 3.59594316640842 | erot = 2.64188707611872 | epot = -38.2798157408163 | etot = -32.0419854982892 +872000 ekin = 3.50734679867101 | erot = 2.53533702817691 | epot = -38.2086073023317 | etot = -32.1659234754837 +873000 ekin = 3.49167258379229 | erot = 2.78144827221661 | epot = -38.1271407877645 | etot = -31.8540199317556 +874000 ekin = 3.51303146719815 | erot = 2.71312702979824 | epot = -38.0371921369838 | etot = -31.8110336399874 +875000 ekin = 3.48945347772523 | erot = 2.94850163157185 | epot = -37.9788388329103 | etot = -31.5408837236132 +876000 ekin = 3.56075870692743 | erot = 3.00511197452205 | epot = -37.9138095080298 | etot = -31.3479388265803 +877000 ekin = 3.47758786865167 | erot = 3.16390846334178 | epot = -37.8677942057126 | etot = -31.2262978737192 +878000 ekin = 3.30311825505467 | erot = 3.03452838302444 | epot = -37.8643582436496 | etot = -31.5267116055705 +879000 ekin = 3.24374156245722 | erot = 3.40785973601232 | epot = -37.8934655456588 | etot = -31.2418642471892 +880000 ekin = 3.37573093292725 | erot = 3.29280897525375 | epot = -37.94427513544 | etot = -31.275735227259 +881000 ekin = 3.39840544569004 | erot = 3.55852812717334 | epot = -38.000888118187 | etot = -31.0439545453236 +882000 ekin = 3.5896767073527 | erot = 3.35995074975521 | epot = -38.026551897189 | etot = -31.0769244400811 +883000 ekin = 3.50982611331082 | erot = 2.96694324238039 | epot = -38.0094926569537 | etot = -31.5327233012624 +884000 ekin = 3.40446481074992 | erot = 3.29501620823905 | epot = -37.9974315131722 | etot = -31.2979504941832 +885000 ekin = 3.35965929451973 | erot = 3.11716654513077 | epot = -38.0104898466533 | etot = -31.5336640070028 +886000 ekin = 3.43988208795668 | erot = 3.03035945423276 | epot = -38.069363334615 | etot = -31.5991217924255 +887000 ekin = 3.45628684947244 | erot = 3.13318789403753 | epot = -38.167703435161 | etot = -31.5782286916511 +888000 ekin = 3.56219309594448 | erot = 3.51843891461388 | epot = -38.2809194479115 | etot = -31.2002874373531 +889000 ekin = 3.66415644518205 | erot = 4.27546474777864 | epot = -38.4171028829355 | etot = -30.4774816899748 +890000 ekin = 3.59199164776004 | erot = 4.54716655442247 | epot = -38.5531146541753 | etot = -30.4139564519928 +891000 ekin = 3.4869835078992 | erot = 4.75701182525676 | epot = -38.6580895919222 | etot = -30.4140942587662 +892000 ekin = 3.51562855757933 | erot = 4.92508483334413 | epot = -38.7362622656568 | etot = -30.2955488747333 +893000 ekin = 3.4766111333881 | erot = 5.21569244219365 | epot = -38.7939526432623 | etot = -30.1016490676805 +894000 ekin = 3.33377890272863 | erot = 5.32415823975928 | epot = -38.7809839614906 | etot = -30.1230468190027 +895000 ekin = 3.43478318369578 | erot = 5.410051543616 | epot = -38.7354883491905 | etot = -29.8906536218787 +896000 ekin = 3.35681124753231 | erot = 5.27612600451789 | epot = -38.644144773384 | etot = -30.0112075213338 +897000 ekin = 3.28668538949675 | erot = 5.17803324766013 | epot = -38.5248966927272 | etot = -30.0601780555704 +898000 ekin = 3.28286469703029 | erot = 5.13874374768494 | epot = -38.3749221439187 | etot = -29.9533136992034 +899000 ekin = 3.28106900834711 | erot = 5.02377463132162 | epot = -38.2159550339518 | etot = -29.9111113942831 +900000 ekin = 3.23754877589606 | erot = 4.74128859066625 | epot = -38.0678968923381 | etot = -30.0890595257758 +901000 ekin = 3.13978298302555 | erot = 4.3243129242664 | epot = -37.9137652588163 | etot = -30.4496693515243 +902000 ekin = 3.14110495369385 | erot = 3.63711917032573 | epot = -37.7967183247472 | etot = -31.0184942007276 +903000 ekin = 3.11835106948976 | erot = 3.5835838401184 | epot = -37.7069569192995 | etot = -31.0050220096914 +904000 ekin = 3.07376219479296 | erot = 3.52931006844825 | epot = -37.6597467606241 | etot = -31.0566744973829 +905000 ekin = 3.06812362454372 | erot = 3.78913234205767 | epot = -37.6633180135037 | etot = -30.8060620469023 +906000 ekin = 3.16118254583043 | erot = 3.68210315785564 | epot = -37.7114125889238 | etot = -30.8681268852377 +907000 ekin = 3.05937736690025 | erot = 3.63166351278032 | epot = -37.8094278488435 | etot = -31.118386969163 +908000 ekin = 3.20197665753494 | erot = 3.6441133335068 | epot = -37.8953945586471 | etot = -31.0493045676053 +909000 ekin = 3.13419888287822 | erot = 3.44894287146547 | epot = -37.9553359165693 | etot = -31.3721941622256 +910000 ekin = 3.2011454656304 | erot = 3.42446813676882 | epot = -38.024917947609 | etot = -31.3993043452098 +911000 ekin = 3.183320242491 | erot = 3.30496399638698 | epot = -38.1090485606002 | etot = -31.6207643217223 +912000 ekin = 3.26276595850364 | erot = 3.24471741353574 | epot = -38.2096715613882 | etot = -31.7021881893489 +913000 ekin = 3.2681561913827 | erot = 3.26266624315759 | epot = -38.3821519588598 | etot = -31.8513295243196 +914000 ekin = 3.35412635067755 | erot = 3.33562334375845 | epot = -38.6092123987847 | etot = -31.9194627043487 +915000 ekin = 3.50776663391062 | erot = 3.6091033663435 | epot = -38.8009254120376 | etot = -31.6840554117835 +916000 ekin = 3.5277313901091 | erot = 3.46745309412736 | epot = -38.9707688836112 | etot = -31.9755843993747 +917000 ekin = 3.59076210165264 | erot = 3.41178573512987 | epot = -39.0925719913734 | etot = -32.0900241545909 +918000 ekin = 3.70456853537637 | erot = 3.18226166796491 | epot = -39.1781408185665 | etot = -32.2913106152253 +919000 ekin = 3.78037780426176 | erot = 3.08638967761944 | epot = -39.2569196438486 | etot = -32.3901521619674 +920000 ekin = 3.91060781137684 | erot = 3.28711158692157 | epot = -39.3298863351688 | etot = -32.1321669368704 +921000 ekin = 3.94747979949424 | erot = 3.45337772058887 | epot = -39.3932618134522 | etot = -31.9924042933691 +922000 ekin = 3.94814734356941 | erot = 3.67117615571532 | epot = -39.4429346449514 | etot = -31.8236111456667 +923000 ekin = 3.96148195878582 | erot = 4.16418425189001 | epot = -39.4697891977426 | etot = -31.3441229870668 +924000 ekin = 3.93156231463912 | erot = 4.23364521862771 | epot = -39.4747062603535 | etot = -31.3094987270866 +925000 ekin = 3.98364691406504 | erot = 4.37102519058181 | epot = -39.4559543119553 | etot = -31.1012822073085 +926000 ekin = 3.90165834847865 | erot = 4.5398391765023 | epot = -39.3838686479861 | etot = -30.9423711230052 +927000 ekin = 3.86159556963851 | erot = 4.93409467569006 | epot = -39.3009822835311 | etot = -30.5052920382026 +928000 ekin = 3.88113409255608 | erot = 4.54344659797514 | epot = -39.2237313850886 | etot = -30.7991506945573 +929000 ekin = 3.73601262143371 | erot = 4.54159517313964 | epot = -39.0907845737875 | etot = -30.8131767792141 +930000 ekin = 3.62890283946098 | erot = 4.23223960576937 | epot = -38.9310668930158 | etot = -31.0699244477855 +931000 ekin = 3.51130978751904 | erot = 3.75580234575059 | epot = -38.7496742883208 | etot = -31.4825621550511 +932000 ekin = 3.4360478582467 | erot = 3.85916877458119 | epot = -38.6047820584061 | etot = -31.3095654255782 +933000 ekin = 3.34945134482918 | erot = 4.10711762351073 | epot = -38.510851150919 | etot = -31.0542821825791 +934000 ekin = 3.25407370525901 | erot = 4.02198516513931 | epot = -38.4343657155247 | etot = -31.1583068451264 +935000 ekin = 3.15706754617272 | erot = 3.94213624960972 | epot = -38.3842418910869 | etot = -31.2850380953045 +936000 ekin = 3.00555649828127 | erot = 4.41385590541793 | epot = -38.3669049397814 | etot = -30.9474925360822 +937000 ekin = 2.92065396617262 | erot = 4.74523400801332 | epot = -38.3453538388338 | etot = -30.6794658646479 +938000 ekin = 2.97141948473043 | erot = 4.76974809222722 | epot = -38.3344331957966 | etot = -30.5932656188389 +939000 ekin = 2.94512706992696 | erot = 4.54496818954274 | epot = -38.3244620131108 | etot = -30.8343667536411 +940000 ekin = 2.88288211336379 | erot = 4.33037795313988 | epot = -38.32262444066 | etot = -31.1093643741563 +941000 ekin = 3.0729894973384 | erot = 4.38312166999032 | epot = -38.3472582821346 | etot = -30.8911471148058 +942000 ekin = 3.09399973822793 | erot = 4.23262521183818 | epot = -38.3627707290367 | etot = -31.0361457789706 +943000 ekin = 3.0692834807418 | erot = 4.29810120769341 | epot = -38.3654861580836 | etot = -30.9981014696484 +944000 ekin = 3.05361136554782 | erot = 4.57752136432056 | epot = -38.3891229370226 | etot = -30.7579902071542 +945000 ekin = 3.1053295273393 | erot = 4.63116672909507 | epot = -38.4481824906831 | etot = -30.7116862342487 +946000 ekin = 3.22536073155692 | erot = 4.9775607801974 | epot = -38.5304457687251 | etot = -30.3275242569708 +947000 ekin = 3.22481791886501 | erot = 4.85505897631116 | epot = -38.6306947506549 | etot = -30.5508178554787 +948000 ekin = 3.31258286730489 | erot = 4.40885070504324 | epot = -38.7111926164561 | etot = -30.9897590441079 +949000 ekin = 3.2634175064554 | erot = 4.5080556255622 | epot = -38.7582101439127 | etot = -30.9867370118951 +950000 ekin = 3.38312193033095 | erot = 4.30600402576254 | epot = -38.7909813747404 | etot = -31.1018554186469 +951000 ekin = 3.4587828832488 | erot = 3.92069079490435 | epot = -38.8089483233276 | etot = -31.4294746451744 +952000 ekin = 3.42224118561198 | erot = 3.67807790241698 | epot = -38.8172186174579 | etot = -31.7168995294289 +953000 ekin = 3.5355898130389 | erot = 3.54582501818208 | epot = -38.8376037887756 | etot = -31.7561889575546 +954000 ekin = 3.7408153679097 | erot = 3.65672942044163 | epot = -38.8501623721153 | etot = -31.452617583764 +955000 ekin = 3.71100924365654 | erot = 3.89616377536035 | epot = -38.8864415175113 | etot = -31.2792684984944 +956000 ekin = 3.60593207480462 | erot = 3.6041169004468 | epot = -38.9258365620749 | etot = -31.7157875868235 +957000 ekin = 3.49530434439509 | erot = 3.82410347711554 | epot = -38.946856110473 | etot = -31.6274482889624 +958000 ekin = 3.33025913134877 | erot = 4.09361696296967 | epot = -38.9566069953684 | etot = -31.5327309010499 +959000 ekin = 3.23258633982982 | erot = 4.27749630513793 | epot = -38.9400855462529 | etot = -31.4300029012852 +960000 ekin = 3.31834124707646 | erot = 4.19167538415381 | epot = -38.9006120641386 | etot = -31.3905954329083 +961000 ekin = 3.23354004257472 | erot = 4.33974592386021 | epot = -38.8709462828611 | etot = -31.2976603164261 +962000 ekin = 3.27687420354416 | erot = 4.18251799625536 | epot = -38.8399997192042 | etot = -31.3806075194046 +963000 ekin = 3.18724078299293 | erot = 4.29559449615361 | epot = -38.8215635568147 | etot = -31.3387282776681 +964000 ekin = 3.16628639784342 | erot = 4.17929146419561 | epot = -38.8033314242491 | etot = -31.45775356221 +965000 ekin = 3.23601563824522 | erot = 4.51599223822397 | epot = -38.7801591620089 | etot = -31.0281512855397 +966000 ekin = 3.35348380272848 | erot = 3.96490873951949 | epot = -38.7593006562391 | etot = -31.4409081139911 +967000 ekin = 3.47301428118931 | erot = 3.78771221675296 | epot = -38.7263415939787 | etot = -31.4656150960365 +968000 ekin = 3.5149340684517 | erot = 3.36657292776092 | epot = -38.7364041234236 | etot = -31.854897127211 +969000 ekin = 3.55243037222559 | erot = 3.66068265314151 | epot = -38.7529284526029 | etot = -31.5398154272358 +970000 ekin = 3.63553363347277 | erot = 3.13050605621043 | epot = -38.8016144947092 | etot = -32.035574805026 +971000 ekin = 3.62760421034422 | erot = 3.43775684259623 | epot = -38.8707637872892 | etot = -31.8054027343488 +972000 ekin = 3.66143241862992 | erot = 4.04556663388657 | epot = -38.9794799026745 | etot = -31.272480850158 +973000 ekin = 3.72465898229281 | erot = 3.97416581320678 | epot = -39.0667487302085 | etot = -31.3679239347089 +974000 ekin = 3.99953950913788 | erot = 4.13912764019187 | epot = -39.1431741069699 | etot = -31.0045069576401 +975000 ekin = 4.00465817345125 | erot = 3.9952589646089 | epot = -39.1948973492943 | etot = -31.1949802112341 +976000 ekin = 4.16803719317614 | erot = 4.27607609453617 | epot = -39.2042146461383 | etot = -30.7601013584259 +977000 ekin = 4.27763535208335 | erot = 4.35785374646763 | epot = -39.1647674598219 | etot = -30.529278361271 +978000 ekin = 4.21509832146794 | erot = 3.96978575035236 | epot = -39.0661575270878 | etot = -30.8812734552675 +979000 ekin = 4.11219939771613 | erot = 3.86340161937286 | epot = -38.9126163242263 | etot = -30.9370153071373 +980000 ekin = 4.08548639230655 | erot = 3.71918260809169 | epot = -38.74606503787 | etot = -30.9413960374717 +981000 ekin = 4.02033461236225 | erot = 3.54042819636901 | epot = -38.597187758635 | etot = -31.0364249499038 +982000 ekin = 4.05981657544056 | erot = 3.65178477672051 | epot = -38.4729888125583 | etot = -30.7613874603972 +983000 ekin = 4.15649242216475 | erot = 3.62195027480219 | epot = -38.334259961066 | etot = -30.555817264099 +984000 ekin = 4.1544594314402 | erot = 3.41256983843883 | epot = -38.1946691276125 | etot = -30.6276398577335 +985000 ekin = 3.87659901087172 | erot = 3.4376780504462 | epot = -38.0505436384557 | etot = -30.7362665771378 +986000 ekin = 3.85786856381229 | erot = 3.30334700587324 | epot = -37.8996934133203 | etot = -30.7384778436347 +987000 ekin = 3.87294863787314 | erot = 3.15398232754981 | epot = -37.7929706719646 | etot = -30.7660397065416 +988000 ekin = 3.93790531951915 | erot = 3.08701498108581 | epot = -37.6532967522443 | etot = -30.6283764516394 +989000 ekin = 3.83115351568813 | erot = 3.07802242316603 | epot = -37.5101193189107 | etot = -30.6009433800565 +990000 ekin = 3.81048959043177 | erot = 3.11196082795583 | epot = -37.3832609771669 | etot = -30.4608105587793 +991000 ekin = 3.71517412131507 | erot = 3.09240412040435 | epot = -37.2833659467139 | etot = -30.4757877049945 +992000 ekin = 3.63849701384075 | erot = 2.99887074192591 | epot = -37.1786754428025 | etot = -30.5413076870358 +993000 ekin = 3.63209056043317 | erot = 3.27649085900172 | epot = -37.0906927302529 | etot = -30.182111310818 +994000 ekin = 3.5982839069315 | erot = 3.831697772683 | epot = -37.0255816353104 | etot = -29.5955999556959 +995000 ekin = 3.75927077522078 | erot = 3.45385861701412 | epot = -36.9690811728774 | etot = -29.7559517806425 +996000 ekin = 3.7162823443017 | erot = 3.37243499359166 | epot = -36.9421300931431 | etot = -29.8534127552498 +997000 ekin = 3.60416089411934 | erot = 3.31461433836019 | epot = -36.9528108756411 | etot = -30.0340356431616 +998000 ekin = 3.71457183702544 | erot = 3.42780251384766 | epot = -37.0325234658195 | etot = -29.8901491149464 +999000 ekin = 3.78703773886257 | erot = 3.63993408891207 | epot = -37.1548091593711 | etot = -29.7278373315964 +1000000 ekin = 3.83883486112572 | erot = 3.47192929391945 | epot = -37.2430911050885 | etot = -29.9323269500433 + 1000000 0.10236893 -1.4701186 0.037692055 -1.2847791 5.0290761e-05 64000 +Loop time of 84.6254 on 1 procs for 1000000 steps with 26 atoms + +Performance: 10209.700 tau/day, 11816.783 timesteps/s +99.8% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 75.695 | 75.695 | 75.695 | 0.0 | 89.45 +Bond | 1.6447 | 1.6447 | 1.6447 | 0.0 | 1.94 +Neigh | 0.015217 | 0.015217 | 0.015217 | 0.0 | 0.02 +Comm | 0.36777 | 0.36777 | 0.36777 | 0.0 | 0.43 +Output | 0.23577 | 0.23577 | 0.23577 | 0.0 | 0.28 +Modify | 6.4486 | 6.4486 | 6.4486 | 0.0 | 7.62 +Other | | 0.2182 | | | 0.26 + +Nlocal: 26.0000 ave 26 max 26 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 0.00000 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 301.000 ave 301 max 301 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 301 +Ave neighs/atom = 11.576923 +Ave special neighs/atom = 5.0769231 +Neighbor list builds = 1000 +Dangerous builds = 0 + +write_data last_config.${number}.* nocoeff +write_data last_config.8.* nocoeff +System init for write_data ... +#write_restart last_config.${number}.* +Total wall time: 0:01:24 diff --git a/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.2Jul21.duplex4.8type.g++.4 b/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.2Jul21.duplex4.8type.g++.4 new file mode 100644 index 0000000000..fb38875e12 --- /dev/null +++ b/examples/PACKAGES/cgdna/examples/oxDNA2/unique_bp/log.2Jul21.duplex4.8type.g++.4 @@ -0,0 +1,1272 @@ +LAMMPS (2 Jul 2021) +variable number equal 8 +variable ofreq equal 1000 +variable efreq equal 1000 + +variable ntype equal 8 + +variable T equal 0.1 +variable rhos equal 0.2 + +units lj + +dimension 3 + +newton on + +boundary p p p + +atom_style hybrid bond ellipsoid oxdna +WARNING: Atom style hybrid defines both, per-type and per-atom masses; both must be set, but only per-atom masses will be used (../atom_vec_hybrid.cpp:157) +atom_modify sort 0 1.0 + +# Pair interactions require lists of neighbours to be calculated +neighbor 2.0 bin +neigh_modify every 10 delay 0 check yes + +read_data data.duplex4.8type +Reading data file ... + orthogonal box = (-20.000000 -20.000000 -20.000000) to (20.000000 20.000000 20.000000) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 26 atoms + reading velocities ... + 26 velocities + scanning bonds ... + 1 = max bonds/atom + 26 ellipsoids + reading bonds ... + 24 bonds +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 + 2 = max # of 1-3 neighbors + 4 = max # of 1-4 neighbors + 6 = max # of special neighbors + special bonds CPU = 0.001 seconds + read_data CPU = 0.005 seconds + +mass * 3.1575 # sets per-type mass if not in data file +set atom * mass 3.1575 # sets per-atom mass +Setting atom values ... + 26 settings made for mass + +group all type 1 8 +26 atoms in group all + +# oxDNA2 bond interactions - FENE backbone +bond_style oxdna2/fene +bond_coeff * 2.0 0.25 0.7564 +special_bonds lj 0 1 1 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 1 1 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 2 = max # of 1-3 neighbors + 4 = max # of 1-4 neighbors + 6 = max # of special neighbors + special bonds CPU = 0.000 seconds + +# oxDNA pair interactions +pair_style hybrid/overlay oxdna2/excv oxdna2/stk oxdna2/hbond oxdna2/xstk oxdna2/coaxstk oxdna2/dh +pair_coeff * * oxdna2/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32 +pair_coeff * * oxdna2/stk seqdep ${T} 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 +pair_coeff * * oxdna2/stk seqdep 0.1 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 +pair_coeff * * oxdna2/hbond seqdep 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 + +label loop +variable base loop ${ntype} +variable base loop 8 + variable basemod equal ${base}%4 + variable basemod equal 1%4 + if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" +variable comp equal ${base}+3 +variable comp equal 1+3 +pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 1 ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 1 4 oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 + if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" +next base +jump in.duplex4.8type loop +variable base loop ${ntype} +variable base loop 8 + variable basemod equal ${base}%4 + variable basemod equal 2%4 + if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" + if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" +variable comp equal ${base}+1 +variable comp equal 2+1 +pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 2 ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 2 3 oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +next base +jump in.duplex4.8type loop +variable base loop ${ntype} +variable base loop 8 + variable basemod equal ${base}%4 + variable basemod equal 3%4 + if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" + if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" +next base +jump in.duplex4.8type loop +variable base loop ${ntype} +variable base loop 8 + variable basemod equal ${base}%4 + variable basemod equal 4%4 + if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" + if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" +next base +jump in.duplex4.8type loop +variable base loop ${ntype} +variable base loop 8 + variable basemod equal ${base}%4 + variable basemod equal 5%4 + if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" +variable comp equal ${base}+3 +variable comp equal 5+3 +pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 5 ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 5 8 oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 + if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" +next base +jump in.duplex4.8type loop +variable base loop ${ntype} +variable base loop 8 + variable basemod equal ${base}%4 + variable basemod equal 6%4 + if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" + if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" +variable comp equal ${base}+1 +variable comp equal 6+1 +pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 6 ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 6 7 oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +next base +jump in.duplex4.8type loop +variable base loop ${ntype} +variable base loop 8 + variable basemod equal ${base}%4 + variable basemod equal 7%4 + if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" + if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" +next base +jump in.duplex4.8type loop +variable base loop ${ntype} +variable base loop 8 + variable basemod equal ${base}%4 + variable basemod equal 8%4 + if "${basemod} == 1" then "variable comp equal ${base}+3" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" + if "${basemod} == 2" then "variable comp equal ${base}+1" "pair_coeff ${base} ${comp} oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45" +next base +jump in.duplex4.8type loop + +pair_coeff * * oxdna2/xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68 +pair_coeff * * oxdna2/coaxstk 58.5 0.4 0.6 0.22 0.58 2.0 2.891592653589793 0.65 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 40.0 3.116592653589793 +pair_coeff * * oxdna2/dh ${T} ${rhos} 0.815 +pair_coeff * * oxdna2/dh 0.1 ${rhos} 0.815 +pair_coeff * * oxdna2/dh 0.1 0.2 0.815 + +# Langevin dynamics +fix 1 all nve/asphere +fix 2 all langevin ${T} ${T} 2.5 457145 angmom 10 +fix 2 all langevin 0.1 ${T} 2.5 457145 angmom 10 +fix 2 all langevin 0.1 0.1 2.5 457145 angmom 10 + +timestep 1e-5 + +#comm_style tiled +fix 3 all balance 1000 1.03 shift xyz 10 1.03 +comm_modify cutoff 3.8 + +compute quat all property/atom quatw quati quatj quatk + +compute erot all erotate/asphere +compute ekin all ke +compute epot all pe +variable erot equal c_erot +variable ekin equal c_ekin +variable epot equal c_epot +variable etot equal c_erot+c_ekin+c_epot +fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes +fix 5 all print 1000 "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes + +dump out all custom ${ofreq} out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump out all custom 1000 out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump out all custom 1000 out.8.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump_modify out sort id +dump_modify out format line "%d %d %d %22.15le %22.15le %22.15le %d %d %d %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le" + +run 1000000 +Neighbor list info ... + update every 10 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 5.6389877 + ghost atom cutoff = 5.6389877 + binsize = 2.8194939, bins = 15 15 15 + 5 neighbor lists, perpetual/occasional/extra = 5 0 0 + (1) pair oxdna2/excv, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard + (2) pair oxdna2/hbond, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none + (3) pair oxdna2/xstk, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none + (4) pair oxdna2/coaxstk, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none + (5) pair oxdna2/dh, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none +WARNING: Communication cutoff adjusted to 5.638987723814632 (../comm.cpp:739) +0 ekin = 3.74991604702378 | erot = 3.45272678980464 | epot = -37.3742009011421 | etot = -30.1715580643137 +Per MPI rank memory allocation (min/avg/max) = 9.321 | 9.322 | 9.323 Mbytes +Step Temp E_pair E_mol TotEng Press Volume + 0 0.099997761 -1.4717559 0.03428661 -1.2932417 5.6146609e-05 64000 +1000 ekin = 3.92430268570824 | erot = 3.29540971313705 | epot = -37.4816670091169 | etot = -30.2619546102716 +2000 ekin = 3.88644825046428 | erot = 3.58410925014822 | epot = -37.5871874286304 | etot = -30.1166299280179 +3000 ekin = 3.90603224055461 | erot = 3.7820605745286 | epot = -37.7021302921285 | etot = -30.0140374770453 +4000 ekin = 4.02636555552402 | erot = 3.91677901140303 | epot = -37.8027608694504 | etot = -29.8596163025233 +5000 ekin = 4.05442725401043 | erot = 4.07817807460239 | epot = -37.8494362833427 | etot = -29.7168309547299 +6000 ekin = 4.13499768127483 | erot = 4.03873475277248 | epot = -37.8257365098368 | etot = -29.6520040757895 +7000 ekin = 4.08584129662811 | erot = 3.9850289293034 | epot = -37.7447761711061 | etot = -29.6739059451746 +8000 ekin = 4.04473728341538 | erot = 3.70461133282257 | epot = -37.6185211079512 | etot = -29.8691724917133 +9000 ekin = 3.97040375513034 | erot = 3.89171847539017 | epot = -37.4779912856655 | etot = -29.615869055145 +10000 ekin = 4.08064552796876 | erot = 4.10399273710614 | epot = -37.3378150214196 | etot = -29.1531767563447 +11000 ekin = 3.94505548567027 | erot = 4.14758664614568 | epot = -37.2085796341435 | etot = -29.1159375023276 +12000 ekin = 3.88687763742865 | erot = 4.11256727293729 | epot = -37.1168918341091 | etot = -29.1174469237431 +13000 ekin = 3.78376547312033 | erot = 3.94997258779547 | epot = -37.0636475805865 | etot = -29.3299095196707 +14000 ekin = 3.72114827358807 | erot = 3.8386275531307 | epot = -37.053932608354 | etot = -29.4941567816353 +15000 ekin = 3.63885725366143 | erot = 3.37568559083329 | epot = -37.0775134892156 | etot = -30.0629706447209 +16000 ekin = 3.75926862366822 | erot = 3.47832285528774 | epot = -37.1763229835918 | etot = -29.9387315046358 +17000 ekin = 3.80458992549717 | erot = 3.37818714949382 | epot = -37.3270848276042 | etot = -30.1443077526132 +18000 ekin = 3.81685915102047 | erot = 3.82235577807973 | epot = -37.4876996492703 | etot = -29.84848472017 +19000 ekin = 3.80633274630077 | erot = 3.80393283337367 | epot = -37.6386270441083 | etot = -30.0283614644338 +20000 ekin = 3.77027693322166 | erot = 3.97848447130852 | epot = -37.7861726918924 | etot = -30.0374112873623 +21000 ekin = 3.75594248876353 | erot = 3.9040052393667 | epot = -37.9165000666023 | etot = -30.256552338472 +22000 ekin = 3.81729390633802 | erot = 3.70298358069288 | epot = -38.0211478246461 | etot = -30.5008703376152 +23000 ekin = 3.86462773298721 | erot = 3.52903064555356 | epot = -38.0539868057476 | etot = -30.6603284272068 +24000 ekin = 3.84611190496181 | erot = 3.47876891204884 | epot = -38.0524942369902 | etot = -30.7276134199796 +25000 ekin = 3.88431543220182 | erot = 3.80956733596685 | epot = -38.0090041212111 | etot = -30.3151213530425 +26000 ekin = 3.88520717073553 | erot = 4.04667753560885 | epot = -37.9336134642012 | etot = -30.0017287578568 +27000 ekin = 3.83553778749005 | erot = 4.1822230688838 | epot = -37.8633670830473 | etot = -29.8456062266734 +28000 ekin = 3.83638307293675 | erot = 4.13838046178327 | epot = -37.8079901228043 | etot = -29.8332265880843 +29000 ekin = 3.81360349447098 | erot = 4.16358811310883 | epot = -37.7885827024555 | etot = -29.8113910948756 +30000 ekin = 3.89572360919447 | erot = 4.04566996469694 | epot = -37.7874054211311 | etot = -29.8460118472397 +31000 ekin = 3.89393888302725 | erot = 3.55790326104643 | epot = -37.8038131932179 | etot = -30.3519710491442 +32000 ekin = 3.80317271692925 | erot = 3.54273524643289 | epot = -37.8451815180302 | etot = -30.4992735546681 +33000 ekin = 3.78703980355198 | erot = 3.99364624500505 | epot = -37.9406281896735 | etot = -30.1599421411165 +34000 ekin = 3.77142087668814 | erot = 3.88594611308826 | epot = -38.0975843525551 | etot = -30.4402173627787 +35000 ekin = 3.71264930628472 | erot = 3.65225843687428 | epot = -38.2835289304068 | etot = -30.9186211872478 +36000 ekin = 3.74220790707646 | erot = 3.95952222810306 | epot = -38.4596915935923 | etot = -30.7579614584128 +37000 ekin = 3.82423101226182 | erot = 4.44859396622374 | epot = -38.6538277887213 | etot = -30.3810028102358 +38000 ekin = 3.69455547696867 | erot = 4.82722829899239 | epot = -38.8348230288023 | etot = -30.3130392528413 +39000 ekin = 3.59548909658498 | erot = 5.03318978839692 | epot = -38.9632877762134 | etot = -30.3346088912315 +40000 ekin = 3.72390826726257 | erot = 4.77008246177612 | epot = -39.0432740898074 | etot = -30.5492833607687 +41000 ekin = 3.7184513028698 | erot = 4.66721188475367 | epot = -39.0678678855714 | etot = -30.6822046979479 +42000 ekin = 3.54696055158215 | erot = 4.50731751167309 | epot = -39.0616854007739 | etot = -31.0074073375186 +43000 ekin = 3.57495163768253 | erot = 4.94852093613527 | epot = -39.0169365666546 | etot = -30.4934639928368 +44000 ekin = 3.52915394890511 | erot = 5.14481752350043 | epot = -38.9320102816113 | etot = -30.2580388092058 +45000 ekin = 3.36103362047068 | erot = 5.30737062665214 | epot = -38.8074049309155 | etot = -30.1390006837927 +46000 ekin = 3.33204426677162 | erot = 4.63880623753686 | epot = -38.6602813061651 | etot = -30.6894308018567 +47000 ekin = 3.3454696016767 | erot = 4.07237976376904 | epot = -38.5241501078279 | etot = -31.1063007423822 +48000 ekin = 3.40049787952109 | erot = 4.05251615432415 | epot = -38.3938498073684 | etot = -30.9408357735232 +49000 ekin = 3.31008896923646 | erot = 4.20737258711353 | epot = -38.2514760468931 | etot = -30.7340144905431 +50000 ekin = 3.27384446847297 | erot = 3.84861240213725 | epot = -38.0781706006621 | etot = -30.9557137300519 +51000 ekin = 3.28837845708164 | erot = 4.03176750511312 | epot = -37.91245244037 | etot = -30.5923064781752 +52000 ekin = 3.32612610774242 | erot = 3.69449114481266 | epot = -37.7461543084422 | etot = -30.7255370558871 +53000 ekin = 3.24704253260759 | erot = 3.82351300738073 | epot = -37.5996085904177 | etot = -30.5290530504294 +54000 ekin = 3.28722266262309 | erot = 3.86366065026162 | epot = -37.4297798097099 | etot = -30.2788964968252 +55000 ekin = 3.24079189906268 | erot = 3.69908024112645 | epot = -37.2469422361785 | etot = -30.3070700959894 +56000 ekin = 3.18312456980309 | erot = 3.4713329715515 | epot = -37.0860684089786 | etot = -30.4316108676241 +57000 ekin = 3.22541795737972 | erot = 3.05594699251095 | epot = -36.9568071104524 | etot = -30.6754421605617 +58000 ekin = 3.32107899021709 | erot = 2.99608132055998 | epot = -36.8451019319947 | etot = -30.5279416212176 +59000 ekin = 3.37756033387522 | erot = 3.02468556348912 | epot = -36.7527120143503 | etot = -30.3504661169859 +60000 ekin = 3.37838518206593 | erot = 2.80486585978148 | epot = -36.6500489307867 | etot = -30.4667978889392 +61000 ekin = 3.42593058259813 | erot = 2.57336693961351 | epot = -36.5598996921937 | etot = -30.5606021699821 +62000 ekin = 3.38330194206299 | erot = 2.48716523240096 | epot = -36.4917506706074 | etot = -30.6212834961435 +63000 ekin = 3.23944564751904 | erot = 2.68514269262914 | epot = -36.4581690118124 | etot = -30.5335806716642 +64000 ekin = 3.1285734084237 | erot = 2.81379000215892 | epot = -36.4694531808167 | etot = -30.5270897702341 +65000 ekin = 3.09729001722782 | erot = 2.97796742393485 | epot = -36.4999099304855 | etot = -30.4246524893228 +66000 ekin = 3.0253262521451 | erot = 2.98352661182229 | epot = -36.5477137383998 | etot = -30.5388608744324 +67000 ekin = 3.14798260660732 | erot = 3.20065089850766 | epot = -36.632076278664 | etot = -30.283442773549 +68000 ekin = 3.28121216444374 | erot = 3.27703862715895 | epot = -36.7797333797322 | etot = -30.2214825881296 +69000 ekin = 3.391098638729 | erot = 3.49453676740748 | epot = -36.9477169900693 | etot = -30.0620815839328 +70000 ekin = 3.52145416968697 | erot = 3.19663795891383 | epot = -37.1459833247571 | etot = -30.4278911961563 +71000 ekin = 3.72588366820861 | erot = 3.11523594110609 | epot = -37.3394708863319 | etot = -30.4983512770172 +72000 ekin = 3.87053189634938 | erot = 3.51504753627337 | epot = -37.5837173340765 | etot = -30.1981379014537 +73000 ekin = 4.04353464507253 | erot = 3.57819581965 | epot = -37.8491002809692 | etot = -30.2273698162467 +74000 ekin = 4.21655599164692 | erot = 3.67972843708669 | epot = -38.0370200626718 | etot = -30.1407356339382 +75000 ekin = 4.27518037345521 | erot = 3.50148075250718 | epot = -38.1503543696651 | etot = -30.3736932437027 +76000 ekin = 4.3926037838371 | erot = 3.17711135808543 | epot = -38.226977923484 | etot = -30.6572627815614 +77000 ekin = 4.46694156592382 | erot = 3.28356630286398 | epot = -38.2567512319257 | etot = -30.5062433631379 +78000 ekin = 4.58031785764155 | erot = 3.27581240698071 | epot = -38.2501645622443 | etot = -30.3940342976221 +79000 ekin = 4.74132912230465 | erot = 3.40062659497672 | epot = -38.2259226034579 | etot = -30.0839668861765 +80000 ekin = 4.84478519554004 | erot = 3.56980153308305 | epot = -38.1476686101295 | etot = -29.7330818815064 +81000 ekin = 4.71163727716959 | erot = 3.65201658810481 | epot = -38.0489180007763 | etot = -29.6852641355019 +82000 ekin = 4.6231089457345 | erot = 3.61128178949376 | epot = -37.9515873690418 | etot = -29.7171966338136 +83000 ekin = 4.53890753637784 | erot = 3.79707688079965 | epot = -37.8589639327866 | etot = -29.5229795156091 +84000 ekin = 4.51952558800252 | erot = 3.75897913437647 | epot = -37.8043394039476 | etot = -29.5258346815686 +85000 ekin = 4.44986224636033 | erot = 4.10169839029418 | epot = -37.7952059629823 | etot = -29.2436453263278 +86000 ekin = 4.40335859262163 | erot = 4.1830315863789 | epot = -37.8405946712624 | etot = -29.2542044922618 +87000 ekin = 4.34352629789851 | erot = 4.00093225674517 | epot = -37.898177567682 | etot = -29.5537190130383 +88000 ekin = 4.39692532206231 | erot = 3.88765396717278 | epot = -37.9120170018269 | etot = -29.6274377125919 +89000 ekin = 4.35895407807686 | erot = 4.06877052706293 | epot = -37.8812041939536 | etot = -29.4534795888138 +90000 ekin = 4.2071551167368 | erot = 3.96880041117194 | epot = -37.8268382933969 | etot = -29.6508827654882 +91000 ekin = 4.22021993231722 | erot = 4.12841045745293 | epot = -37.7475084891388 | etot = -29.3988780993687 +92000 ekin = 4.13264986882769 | erot = 3.86635436032361 | epot = -37.6428932571545 | etot = -29.6438890280032 +93000 ekin = 4.05697056146709 | erot = 3.48249980793531 | epot = -37.5034004108467 | etot = -29.9639300414443 +94000 ekin = 3.85560920909802 | erot = 3.51617278195618 | epot = -37.3716848222182 | etot = -29.999902831164 +95000 ekin = 3.70696167824248 | erot = 3.74539992686897 | epot = -37.2425364302771 | etot = -29.7901748251656 +96000 ekin = 3.64541489153293 | erot = 3.55177042583762 | epot = -37.1071295289262 | etot = -29.9099442115556 +97000 ekin = 3.59427366044318 | erot = 3.58237376190948 | epot = -36.990331249798 | etot = -29.8136838274454 +98000 ekin = 3.36609732779909 | erot = 3.78920076230077 | epot = -36.8893462899051 | etot = -29.7340481998052 +99000 ekin = 3.24308716626529 | erot = 3.98439513504793 | epot = -36.7958275145338 | etot = -29.5683452132205 +100000 ekin = 3.10105716620534 | erot = 3.88380514199007 | epot = -36.7237148853891 | etot = -29.7388525771937 +101000 ekin = 3.0539281420833 | erot = 3.92712981026617 | epot = -36.7019624525075 | etot = -29.720904500158 +102000 ekin = 3.21793305977278 | erot = 4.11601242104548 | epot = -36.7682713932651 | etot = -29.4343259124469 +103000 ekin = 3.29518049820534 | erot = 4.13622147772537 | epot = -36.8839850328144 | etot = -29.4525830568837 +104000 ekin = 3.38349143563989 | erot = 4.11834556660366 | epot = -37.0170458924467 | etot = -29.5152088902031 +105000 ekin = 3.43063719220731 | erot = 4.19281995644328 | epot = -37.1501255032183 | etot = -29.5266683545677 +106000 ekin = 3.39305878697925 | erot = 4.59139499879988 | epot = -37.2962927183006 | etot = -29.3118389325215 +107000 ekin = 3.49611625167404 | erot = 4.42190170056934 | epot = -37.429825379218 | etot = -29.5118074269746 +108000 ekin = 3.59165643487548 | erot = 4.73333858652907 | epot = -37.4821370449025 | etot = -29.1571420234979 +109000 ekin = 3.59878557010273 | erot = 5.08720641062768 | epot = -37.4454225962912 | etot = -28.7594306155607 +110000 ekin = 3.52607850054496 | erot = 4.92743402067516 | epot = -37.33464551381 | etot = -28.8811329925899 +111000 ekin = 3.52196404281898 | erot = 4.48970120472513 | epot = -37.2166378630308 | etot = -29.2049726154866 +112000 ekin = 3.64094551226764 | erot = 4.18578082474288 | epot = -37.1356107687899 | etot = -29.3088844317794 +113000 ekin = 3.59908785035481 | erot = 3.81929848767576 | epot = -37.1563156196511 | etot = -29.7379292816205 +114000 ekin = 3.73247165614536 | erot = 3.71912191326134 | epot = -37.1841072802385 | etot = -29.7325137108319 +115000 ekin = 3.81386546938822 | erot = 3.49889872890813 | epot = -37.2616543115736 | etot = -29.9488901132773 +116000 ekin = 4.05829999340879 | erot = 3.583906655014 | epot = -37.400300568259 | etot = -29.7580939198362 +117000 ekin = 4.2755011092504 | erot = 3.79076820440129 | epot = -37.5923004712666 | etot = -29.5260311576149 +118000 ekin = 4.45490103530211 | erot = 3.7791518579582 | epot = -37.7846946186124 | etot = -29.5506417253521 +119000 ekin = 4.58790399115629 | erot = 3.86870152715712 | epot = -37.9811558924432 | etot = -29.5245503741297 +120000 ekin = 4.92259141545339 | erot = 3.84940365834989 | epot = -38.1382043293411 | etot = -29.3662092555378 +121000 ekin = 5.13183269148587 | erot = 4.03705087488501 | epot = -38.2560800244006 | etot = -29.0871964580297 +122000 ekin = 5.17140868558149 | erot = 3.61810962674126 | epot = -38.3381390234361 | etot = -29.5486207111134 +123000 ekin = 5.28384467069883 | erot = 4.14897954513985 | epot = -38.3803925391065 | etot = -28.9475683232678 +124000 ekin = 5.45144965935765 | erot = 3.74948516195918 | epot = -38.4152715166926 | etot = -29.2143366953758 +125000 ekin = 5.49907232704439 | erot = 3.62957174075199 | epot = -38.4698081948493 | etot = -29.3411641270529 +126000 ekin = 5.8127555292288 | erot = 3.50370762045619 | epot = -38.5369283444353 | etot = -29.2204651947503 +127000 ekin = 5.71810535961404 | erot = 3.50153411217259 | epot = -38.6097648991191 | etot = -29.3901254273324 +128000 ekin = 5.59769610955136 | erot = 2.99726680348461 | epot = -38.6545287261793 | etot = -30.0595658131433 +129000 ekin = 5.5165718206709 | erot = 3.37515224045301 | epot = -38.6909141535705 | etot = -29.7991900924466 +130000 ekin = 5.46626997343509 | erot = 3.77525421867709 | epot = -38.7059148210798 | etot = -29.4643906289676 +131000 ekin = 5.36987741440168 | erot = 3.92459463488603 | epot = -38.6781199948589 | etot = -29.3836479455712 +132000 ekin = 5.13704854269979 | erot = 3.89365302265496 | epot = -38.6113331110922 | etot = -29.5806315457375 +133000 ekin = 5.04851208372161 | erot = 4.17613618410271 | epot = -38.4969113589743 | etot = -29.2722630911499 +134000 ekin = 4.96335667475928 | erot = 4.28428652813699 | epot = -38.3084161100388 | etot = -29.0607729071425 +135000 ekin = 4.67485522816786 | erot = 3.71485446936997 | epot = -38.043760165967 | etot = -29.6540504684292 +136000 ekin = 4.48906299160435 | erot = 4.19015103736174 | epot = -37.7533241067268 | etot = -29.0741100777607 +137000 ekin = 4.31371561077628 | erot = 3.47925724303279 | epot = -37.4739407743091 | etot = -29.6809679205001 +138000 ekin = 3.96696543473046 | erot = 3.71675428283144 | epot = -37.2042587721449 | etot = -29.520539054583 +139000 ekin = 3.59101315513257 | erot = 3.64278698721023 | epot = -36.9457852108065 | etot = -29.7119850684637 +140000 ekin = 3.44095423425056 | erot = 3.49830537198601 | epot = -36.7203613080885 | etot = -29.7811017018519 +141000 ekin = 3.36296546737416 | erot = 3.56983741924016 | epot = -36.496476745137 | etot = -29.5636738585227 +142000 ekin = 3.18252441669298 | erot = 3.32935464682707 | epot = -36.324475892532 | etot = -29.812596829012 +143000 ekin = 3.18465930443875 | erot = 3.56170045589758 | epot = -36.2215210957517 | etot = -29.4751613354154 +144000 ekin = 3.08106725409761 | erot = 3.50261030291577 | epot = -36.151244725806 | etot = -29.5675671687926 +145000 ekin = 3.0809377636579 | erot = 3.51948185643664 | epot = -36.0863085456325 | etot = -29.4858889255379 +146000 ekin = 3.02030159479372 | erot = 3.37397305462396 | epot = -36.0845314152705 | etot = -29.6902567658529 +147000 ekin = 3.04139072985625 | erot = 3.36603954258544 | epot = -36.1557232229402 | etot = -29.7482929504985 +148000 ekin = 3.14853067203546 | erot = 3.14562859809661 | epot = -36.2494960139436 | etot = -29.9553367438116 +149000 ekin = 3.18195150813254 | erot = 3.58071760906396 | epot = -36.3477640598877 | etot = -29.5850949426912 +150000 ekin = 3.21133048799954 | erot = 3.85389957660273 | epot = -36.4132627454726 | etot = -29.3480326808703 +151000 ekin = 3.34144104231994 | erot = 3.4939153763212 | epot = -36.478294453089 | etot = -29.6429380344479 +152000 ekin = 3.38469121090087 | erot = 3.35926284582863 | epot = -36.5578474424846 | etot = -29.8138933857551 +153000 ekin = 3.52527639525619 | erot = 3.56811727016302 | epot = -36.6674257186119 | etot = -29.5740320531927 +154000 ekin = 3.77924799771019 | erot = 3.52145795256778 | epot = -36.762260192104 | etot = -29.4615542418261 +155000 ekin = 3.83418008764597 | erot = 3.28305394597542 | epot = -36.8282659682366 | etot = -29.7110319346152 +156000 ekin = 3.87517167307501 | erot = 2.75621015438911 | epot = -36.8507311290658 | etot = -30.2193493016017 +157000 ekin = 3.89846784481905 | erot = 3.03513966490474 | epot = -36.8490467787065 | etot = -29.9154392689827 +158000 ekin = 3.86372390524152 | erot = 3.067331408384 | epot = -36.8143502444314 | etot = -29.8832949308059 +159000 ekin = 3.8756082258688 | erot = 2.72238394226933 | epot = -36.772006665376 | etot = -30.1740144972379 +160000 ekin = 3.816595406495 | erot = 2.7916288304199 | epot = -36.7456092138712 | etot = -30.1373849769563 +161000 ekin = 3.90364665450467 | erot = 2.85891130626936 | epot = -36.6767188031102 | etot = -29.9141608423362 +162000 ekin = 3.93432840871765 | erot = 3.23277686088016 | epot = -36.6068502811304 | etot = -29.4397450115325 +163000 ekin = 3.97425577903384 | erot = 2.70754263327067 | epot = -36.5720643915927 | etot = -29.8902659792882 +164000 ekin = 3.91949827572841 | erot = 3.0566880418144 | epot = -36.581283859358 | etot = -29.6050975418151 +165000 ekin = 3.9942517956167 | erot = 3.29785069907587 | epot = -36.6379374004759 | etot = -29.3458349057833 +166000 ekin = 4.02904533815552 | erot = 3.36634066781836 | epot = -36.7340868254039 | etot = -29.33870081943 +167000 ekin = 4.03733260337014 | erot = 3.51733984448515 | epot = -36.8476519248274 | etot = -29.2929794769721 +168000 ekin = 4.01641387278363 | erot = 3.37538682559175 | epot = -36.971098022016 | etot = -29.5792973236406 +169000 ekin = 3.94799788750035 | erot = 3.38842418926848 | epot = -37.1207420196436 | etot = -29.7843199428747 +170000 ekin = 3.98944239104564 | erot = 3.56779767670635 | epot = -37.292260024934 | etot = -29.735019957182 +171000 ekin = 4.04980262307328 | erot = 3.8730831046424 | epot = -37.4956434312018 | etot = -29.5727577034861 +172000 ekin = 4.10498686245119 | erot = 4.24595756362535 | epot = -37.6879527015218 | etot = -29.3370082754453 +173000 ekin = 4.12919710204917 | erot = 4.28575123018794 | epot = -37.8940672883491 | etot = -29.479118956112 +174000 ekin = 4.04607401980725 | erot = 4.41784593637421 | epot = -38.1063274639935 | etot = -29.642407507812 +175000 ekin = 4.13007220306937 | erot = 4.3967913469306 | epot = -38.3139522350313 | etot = -29.7870886850313 +176000 ekin = 4.1414636964047 | erot = 4.25565002500116 | epot = -38.5085743578727 | etot = -30.1114606364668 +177000 ekin = 4.33605278083852 | erot = 4.58687123058771 | epot = -38.663345411644 | etot = -29.7404214002177 +178000 ekin = 4.3268891648432 | erot = 4.50454813785607 | epot = -38.7700089206451 | etot = -29.9385716179458 +179000 ekin = 4.39331384776191 | erot = 4.88121292734115 | epot = -38.8147888868657 | etot = -29.5402621117627 +180000 ekin = 4.36409495919781 | erot = 4.62653667682595 | epot = -38.7920356589674 | etot = -29.8014040229436 +181000 ekin = 4.40002739116619 | erot = 4.26572305349555 | epot = -38.732090098002 | etot = -30.0663396533403 +182000 ekin = 4.38584471768798 | erot = 4.03958660380944 | epot = -38.6652721860918 | etot = -30.2398408645944 +183000 ekin = 4.38872118980235 | erot = 4.03920994265157 | epot = -38.5494953603399 | etot = -30.121564227886 +184000 ekin = 4.58261674670928 | erot = 4.09854761999429 | epot = -38.385824841967 | etot = -29.7046604752634 +185000 ekin = 4.61324410405523 | erot = 4.15998485211153 | epot = -38.1895073749228 | etot = -29.416278418756 +186000 ekin = 4.58712030480541 | erot = 3.80292929559516 | epot = -37.9691363595882 | etot = -29.5790867591876 +187000 ekin = 4.49704057160018 | erot = 3.79953063209063 | epot = -37.7563677349906 | etot = -29.4597965312998 +188000 ekin = 4.67801335458731 | erot = 3.94614018085653 | epot = -37.5596730791519 | etot = -28.9355195437081 +189000 ekin = 4.72635028851209 | erot = 3.97986342680415 | epot = -37.3737961852725 | etot = -28.6675824699563 +190000 ekin = 4.7042288678312 | erot = 3.76567525080941 | epot = -37.196832874262 | etot = -28.7269287556214 +191000 ekin = 4.76615905270403 | erot = 4.11771710042025 | epot = -37.0524866708229 | etot = -28.1686105176986 +192000 ekin = 4.66334615993905 | erot = 4.32180108624872 | epot = -36.9281089002537 | etot = -27.9429616540659 +193000 ekin = 4.54227272612665 | erot = 4.37403333624804 | epot = -36.8106507982267 | etot = -27.894344735852 +194000 ekin = 4.462583886268 | erot = 4.57094153868338 | epot = -36.7126835627942 | etot = -27.6791581378429 +195000 ekin = 4.26009039309661 | erot = 5.10893274622673 | epot = -36.6717506302939 | etot = -27.3027274909705 +196000 ekin = 4.24016895096413 | erot = 4.95101320260786 | epot = -36.6607739952153 | etot = -27.4695918416433 +197000 ekin = 4.07555507933054 | erot = 5.3373115761178 | epot = -36.6886082622519 | etot = -27.2757416068035 +198000 ekin = 3.98091713951368 | erot = 5.37374733968393 | epot = -36.7238260637148 | etot = -27.3691615845172 +199000 ekin = 4.0006733079207 | erot = 5.36035180423053 | epot = -36.7643724815872 | etot = -27.403347369436 +200000 ekin = 3.91652525767982 | erot = 4.88675678602831 | epot = -36.7730308398529 | etot = -27.9697487961448 +201000 ekin = 3.81609915882208 | erot = 4.31400854830159 | epot = -36.7481890160651 | etot = -28.6180813089414 +202000 ekin = 3.71932569397591 | erot = 4.38569878861434 | epot = -36.6956778034205 | etot = -28.5906533208303 +203000 ekin = 3.6429062307207 | erot = 4.3750378945926 | epot = -36.6304609598585 | etot = -28.6125168345452 +204000 ekin = 3.52854777039972 | erot = 4.29732321046263 | epot = -36.5744389849187 | etot = -28.7485680040564 +205000 ekin = 3.47688319826114 | erot = 4.05205396768161 | epot = -36.531456554712 | etot = -29.0025193887692 +206000 ekin = 3.57867350058512 | erot = 4.2868191467488 | epot = -36.5152410045852 | etot = -28.6497483572513 +207000 ekin = 3.67789472949123 | erot = 4.07649115773256 | epot = -36.4807964879222 | etot = -28.7264106006985 +208000 ekin = 3.75162300302636 | erot = 3.99412890438549 | epot = -36.4719013777705 | etot = -28.7261494703586 +209000 ekin = 3.82882555476977 | erot = 4.07806686544388 | epot = -36.5274965379165 | etot = -28.6206041177029 +210000 ekin = 3.9458995738135 | erot = 4.05524037388635 | epot = -36.6356567037899 | etot = -28.6345167560901 +211000 ekin = 4.07654365300251 | erot = 3.99406586158705 | epot = -36.7715123193756 | etot = -28.7009028047861 +212000 ekin = 4.28409313331832 | erot = 4.41351434873083 | epot = -36.9240266223076 | etot = -28.2264191402585 +213000 ekin = 4.49200123945991 | erot = 4.57752549048093 | epot = -37.0744914076607 | etot = -28.0049646777198 +214000 ekin = 4.68170470060552 | erot = 4.83486386570226 | epot = -37.2372407583265 | etot = -27.7206721920187 +215000 ekin = 4.98081379617907 | erot = 4.46606343482571 | epot = -37.4068324828893 | etot = -27.9599552518845 +216000 ekin = 5.16729766417649 | erot = 4.60318830168464 | epot = -37.546455570517 | etot = -27.7759696046559 +217000 ekin = 5.38386929678543 | erot = 4.77752494373566 | epot = -37.6405601527457 | etot = -27.4791659122246 +218000 ekin = 5.7058164504652 | erot = 4.70370884810736 | epot = -37.698401969983 | etot = -27.2888766714105 +219000 ekin = 5.88600523163575 | erot = 4.58694924042826 | epot = -37.7125786046513 | etot = -27.2396241325873 +220000 ekin = 6.15427965488963 | erot = 4.42931316972489 | epot = -37.6846020761394 | etot = -27.1010092515249 +221000 ekin = 6.20955938015943 | erot = 4.54001725187623 | epot = -37.6213945439905 | etot = -26.8718179119549 +222000 ekin = 6.24568472622515 | erot = 4.97311797105802 | epot = -37.5132484834206 | etot = -26.2944457861374 +223000 ekin = 6.23087495739475 | erot = 4.87026240860754 | epot = -37.4093126450282 | etot = -26.3081752790259 +224000 ekin = 6.34215727178104 | erot = 4.95416073100343 | epot = -37.3138628835635 | etot = -26.017544880779 +225000 ekin = 6.34418551658282 | erot = 4.97197547495999 | epot = -37.2296241301023 | etot = -25.9134631385595 +226000 ekin = 6.27234146176753 | erot = 4.712320761698 | epot = -37.16490911443 | etot = -26.1802468909645 +227000 ekin = 6.29782050547387 | erot = 4.64279996368984 | epot = -37.1521034204924 | etot = -26.2114829513287 +228000 ekin = 6.45215375342329 | erot = 4.66543105642573 | epot = -37.1176036705896 | etot = -26.0000188607406 +229000 ekin = 6.57609932445413 | erot = 4.31104294387352 | epot = -37.0319087568376 | etot = -26.1447664885099 +230000 ekin = 6.3941596764924 | erot = 4.16613500609599 | epot = -36.9020701489014 | etot = -26.341775466313 +231000 ekin = 6.06981997767513 | erot = 4.16164382030047 | epot = -36.7672531588279 | etot = -26.5357893608523 +232000 ekin = 6.07851417086582 | erot = 3.92614169635025 | epot = -36.6287349588706 | etot = -26.6240790916545 +233000 ekin = 5.86578448983374 | erot = 3.89415959164517 | epot = -36.465034335415 | etot = -26.7050902539361 +234000 ekin = 5.66525736866247 | erot = 3.89419060194184 | epot = -36.3317105619283 | etot = -26.772262591324 +235000 ekin = 5.45947253618382 | erot = 3.51915643493605 | epot = -36.1877403763664 | etot = -27.2091114052465 +236000 ekin = 5.23839596197748 | erot = 3.35080370425763 | epot = -36.0601413821509 | etot = -27.4709417159157 +237000 ekin = 5.11015038693027 | erot = 3.41418634041097 | epot = -35.9797234474552 | etot = -27.455386720114 +238000 ekin = 5.07705507560246 | erot = 3.55422258848944 | epot = -35.9558941013165 | etot = -27.3246164372246 +239000 ekin = 5.11036683512567 | erot = 3.60903830571379 | epot = -35.9686036709486 | etot = -27.2491985301092 +240000 ekin = 5.05273101840451 | erot = 3.85355249273515 | epot = -36.0380166955248 | etot = -27.1317331843852 +241000 ekin = 5.09369536459292 | erot = 3.6433800043733 | epot = -36.1343234897539 | etot = -27.3972481207877 +242000 ekin = 5.26488817621227 | erot = 4.01055195692897 | epot = -36.2412063129141 | etot = -26.9657661797729 +243000 ekin = 5.23195261672929 | erot = 4.46546566729833 | epot = -36.345605429643 | etot = -26.6481871456153 +244000 ekin = 5.22638739434401 | erot = 4.31088904489896 | epot = -36.4415840114135 | etot = -26.9043075721705 +245000 ekin = 5.44853137039486 | erot = 4.17607977278288 | epot = -36.5182986507189 | etot = -26.8936875075411 +246000 ekin = 5.51456970399734 | erot = 3.7459544203853 | epot = -36.5760003166761 | etot = -27.3154761922935 +247000 ekin = 5.60809096899872 | erot = 4.15307717654149 | epot = -36.6102851986096 | etot = -26.8491170530694 +248000 ekin = 5.44607700345041 | erot = 4.00137483235449 | epot = -36.6173189081378 | etot = -27.1698670723329 +249000 ekin = 5.39824066997391 | erot = 4.00527284085302 | epot = -36.6178595818604 | etot = -27.2143460710335 +250000 ekin = 5.40591864200621 | erot = 3.83152692098389 | epot = -36.5913298844141 | etot = -27.3538843214239 +251000 ekin = 5.42515843147756 | erot = 3.74120297831872 | epot = -36.5372880481644 | etot = -27.3709266383681 +252000 ekin = 5.4712575658911 | erot = 3.93923600749343 | epot = -36.4718103145524 | etot = -27.0613167411679 +253000 ekin = 5.45280164405796 | erot = 4.07788577485834 | epot = -36.3971958399354 | etot = -26.8665084210191 +254000 ekin = 5.351360104931 | erot = 4.05065697891534 | epot = -36.3208515747331 | etot = -26.9188344908867 +255000 ekin = 5.26929844479126 | erot = 3.99546469631013 | epot = -36.2503502909171 | etot = -26.9855871498158 +256000 ekin = 5.28023678974981 | erot = 4.22040986008114 | epot = -36.1946445254556 | etot = -26.6939978756247 +257000 ekin = 5.06048081748237 | erot = 4.23177072887926 | epot = -36.1310700373981 | etot = -26.8388184910365 +258000 ekin = 5.04266904507291 | erot = 4.32321520327971 | epot = -36.0647093578756 | etot = -26.6988251095229 +259000 ekin = 4.83091830266356 | erot = 4.34656742782584 | epot = -36.0089991272069 | etot = -26.8315133967175 +260000 ekin = 4.836699911676 | erot = 4.25709648660297 | epot = -35.96970369746 | etot = -26.875907299181 +261000 ekin = 4.77396719262991 | erot = 4.0929221497623 | epot = -35.9054139064718 | etot = -27.0385245640796 +262000 ekin = 4.6660127085841 | erot = 3.73102576614632 | epot = -35.8157479345105 | etot = -27.4187094597801 +263000 ekin = 4.58027061960237 | erot = 3.74679758350867 | epot = -35.7631254737833 | etot = -27.4360572706722 +264000 ekin = 4.65921569864907 | erot = 3.90501973343979 | epot = -35.7356757776858 | etot = -27.1714403455969 +265000 ekin = 4.67586149937357 | erot = 3.94654925905527 | epot = -35.7049387943769 | etot = -27.0825280359481 +266000 ekin = 4.69584694538616 | erot = 3.98055672084523 | epot = -35.6673176149281 | etot = -26.9909139486967 +267000 ekin = 4.78499421533014 | erot = 4.0364816915833 | epot = -35.6392507408913 | etot = -26.8177748339778 +268000 ekin = 4.84316914009132 | erot = 3.9986077800244 | epot = -35.6448334716871 | etot = -26.8030565515714 +269000 ekin = 4.90837806472402 | erot = 4.04652570535906 | epot = -35.6496420701673 | etot = -26.6947383000842 +270000 ekin = 4.78579400655356 | erot = 4.34179455226934 | epot = -35.6115561484025 | etot = -26.4839675895796 +271000 ekin = 4.85153732395834 | erot = 3.76641259729514 | epot = -35.613775306659 | etot = -26.9958253854055 +272000 ekin = 4.97803664593813 | erot = 4.19853764559888 | epot = -35.66422567808 | etot = -26.487651386543 +273000 ekin = 4.99431287425886 | erot = 4.16775756950246 | epot = -35.7125500141237 | etot = -26.5504795703624 +274000 ekin = 5.02755533075327 | erot = 4.06015777810426 | epot = -35.7335253506941 | etot = -26.6458122418365 +275000 ekin = 4.96372481963275 | erot = 4.27522667590852 | epot = -35.7375976828865 | etot = -26.4986461873452 +276000 ekin = 5.07934127118678 | erot = 4.03884457577036 | epot = -35.7684807851686 | etot = -26.6502949382115 +277000 ekin = 5.11065676525152 | erot = 3.89593355388357 | epot = -35.8299825238668 | etot = -26.8233922047317 +278000 ekin = 5.14434493464948 | erot = 4.10431801630069 | epot = -35.9156424264978 | etot = -26.6669794755476 +279000 ekin = 5.13854043459747 | erot = 3.33687958464002 | epot = -35.9567280939811 | etot = -27.4813080747437 +280000 ekin = 5.13698711985543 | erot = 3.1321095347802 | epot = -35.9663254349012 | etot = -27.6972287802656 +281000 ekin = 5.12014323326354 | erot = 3.01072130069868 | epot = -35.9687821467586 | etot = -27.8379176127964 +282000 ekin = 5.0748729819616 | erot = 2.78222371236629 | epot = -35.9666224009213 | etot = -28.1095257065934 +283000 ekin = 4.93728532174382 | erot = 2.51682526487889 | epot = -36.0092096947433 | etot = -28.5550991081205 +284000 ekin = 5.10799487537326 | erot = 2.34406164243711 | epot = -36.0766867016223 | etot = -28.6246301838119 +285000 ekin = 5.21438921802967 | erot = 2.42355410917311 | epot = -36.1686025783611 | etot = -28.5306592511584 +286000 ekin = 5.22674428893558 | erot = 2.43127546535952 | epot = -36.2811716154217 | etot = -28.6231518611266 +287000 ekin = 5.42842235635899 | erot = 2.80110266939532 | epot = -36.3926299688269 | etot = -28.1631049430726 +288000 ekin = 5.53841609379804 | erot = 3.04198571498546 | epot = -36.5118610231694 | etot = -27.9314592143859 +289000 ekin = 5.3467040301105 | erot = 3.09938875481675 | epot = -36.6304827875393 | etot = -28.184390002612 +290000 ekin = 5.34231674745426 | erot = 3.31160144161375 | epot = -36.7456392368754 | etot = -28.0917210478074 +291000 ekin = 5.36188526202177 | erot = 3.45917476353394 | epot = -36.8302537236161 | etot = -28.0091936980603 +292000 ekin = 5.47780509141152 | erot = 3.77906726321804 | epot = -36.8842491471654 | etot = -27.6273767925359 +293000 ekin = 5.28302000096844 | erot = 3.57818629599035 | epot = -36.8949841799423 | etot = -28.0337778829835 +294000 ekin = 5.30853543438815 | erot = 3.56263204697584 | epot = -36.8825736697856 | etot = -28.0114061884216 +295000 ekin = 5.20536069491162 | erot = 3.77206495855666 | epot = -36.8703913967998 | etot = -27.8929657433315 +296000 ekin = 5.16948391824595 | erot = 3.64242202500107 | epot = -36.8524591521914 | etot = -28.0405532089444 +297000 ekin = 5.14948698293416 | erot = 3.5630007131842 | epot = -36.8077681088433 | etot = -28.095280412725 +298000 ekin = 5.07831718808015 | erot = 3.56647326916591 | epot = -36.7441951556035 | etot = -28.0994046983574 +299000 ekin = 5.07638833142119 | erot = 3.33911289208736 | epot = -36.7050879472261 | etot = -28.2895867237176 +300000 ekin = 5.03413727775465 | erot = 3.74853034027346 | epot = -36.6636621891821 | etot = -27.880994571154 +301000 ekin = 4.97235848835827 | erot = 3.32835758650059 | epot = -36.6711630757898 | etot = -28.370447000931 +302000 ekin = 5.0096895871007 | erot = 3.04854259478463 | epot = -36.7093256921458 | etot = -28.6510935102605 +303000 ekin = 5.12929110471125 | erot = 3.0802372254872 | epot = -36.7951841728067 | etot = -28.5856558426083 +304000 ekin = 5.16690416140484 | erot = 3.34049274708998 | epot = -36.9126194047401 | etot = -28.4052224962453 +305000 ekin = 5.23349789631504 | erot = 3.46551744359714 | epot = -37.0448370009165 | etot = -28.3458216610043 +306000 ekin = 5.2886097452738 | erot = 3.56105103024495 | epot = -37.1811985422466 | etot = -28.3315377667279 +307000 ekin = 5.40125295123197 | erot = 3.87520415097948 | epot = -37.30553234416 | etot = -28.0290752419485 +308000 ekin = 5.46740727789042 | erot = 3.91865002312583 | epot = -37.389277815527 | etot = -28.0032205145107 +309000 ekin = 5.43990046762824 | erot = 4.00265425349909 | epot = -37.4336308324254 | etot = -27.991076111298 +310000 ekin = 5.38744019614249 | erot = 3.91760045067581 | epot = -37.4766997166659 | etot = -28.1716590698476 +311000 ekin = 5.54869794564873 | erot = 3.97913763348747 | epot = -37.5380640420298 | etot = -28.0102284628936 +312000 ekin = 5.71519006739875 | erot = 4.09263126769848 | epot = -37.5745318459452 | etot = -27.766710510848 +313000 ekin = 5.60331607661102 | erot = 3.83543196463859 | epot = -37.6101139619702 | etot = -28.1713659207206 +314000 ekin = 5.5180041708143 | erot = 3.7494474523439 | epot = -37.6279066647949 | etot = -28.3604550416367 +315000 ekin = 5.47833005901007 | erot = 4.08581993263796 | epot = -37.6406124353411 | etot = -28.0764624436931 +316000 ekin = 5.33860837296308 | erot = 4.51116644302033 | epot = -37.6217312448187 | etot = -27.7719564288353 +317000 ekin = 5.23941916557626 | erot = 4.78689518832633 | epot = -37.5731600528525 | etot = -27.5468456989499 +318000 ekin = 5.11187775633088 | erot = 4.8295881268003 | epot = -37.5155006216098 | etot = -27.5740347384786 +319000 ekin = 5.22954347525669 | erot = 4.49457407004892 | epot = -37.4371163833055 | etot = -27.7129988379999 +320000 ekin = 5.30878948863373 | erot = 4.92186054084621 | epot = -37.3586788029377 | etot = -27.1280287734577 +321000 ekin = 5.25051542685368 | erot = 4.81963950413293 | epot = -37.3122945279909 | etot = -27.2421395970043 +322000 ekin = 5.07574443571119 | erot = 4.74007360204251 | epot = -37.2420599117422 | etot = -27.4262418739885 +323000 ekin = 5.0265325350937 | erot = 4.66604787555056 | epot = -37.1620424354779 | etot = -27.4694620248336 +324000 ekin = 5.12999279273048 | erot = 4.55456244400843 | epot = -37.1081993843435 | etot = -27.4236441476046 +325000 ekin = 5.01484863365259 | erot = 5.03270116093541 | epot = -37.0549970668844 | etot = -27.0074472722964 +326000 ekin = 5.15105125743363 | erot = 4.77726330645675 | epot = -37.0062804471437 | etot = -27.0779658832534 +327000 ekin = 5.17373663939357 | erot = 4.75720955177068 | epot = -36.9735735310225 | etot = -27.0426273398583 +328000 ekin = 5.3265809986392 | erot = 4.45847251670634 | epot = -36.9463177254326 | etot = -27.1612642100871 +329000 ekin = 5.28491385975229 | erot = 4.23650020870599 | epot = -36.9151642788529 | etot = -27.3937502103946 +330000 ekin = 5.12552135481235 | erot = 4.79027984581653 | epot = -36.8863179466158 | etot = -26.9705167459869 +331000 ekin = 5.12103290586643 | erot = 5.03778117543898 | epot = -36.841363047454 | etot = -26.6825489661486 +332000 ekin = 5.06929714597605 | erot = 4.90820597157557 | epot = -36.7488012231946 | etot = -26.771298105643 +333000 ekin = 4.96505468499555 | erot = 5.01335794632778 | epot = -36.6271163009911 | etot = -26.6487036696678 +334000 ekin = 4.99343125906659 | erot = 5.01439694959199 | epot = -36.5036049758887 | etot = -26.4957767672301 +335000 ekin = 4.90069371729875 | erot = 4.54385275511657 | epot = -36.3777599646381 | etot = -26.9332134922228 +336000 ekin = 5.07863725672875 | erot = 4.69305135725135 | epot = -36.2629152842756 | etot = -26.4912266702956 +337000 ekin = 4.94799955754133 | erot = 4.52583833193069 | epot = -36.1612360033462 | etot = -26.6873981138742 +338000 ekin = 4.85224868200284 | erot = 4.50041298245555 | epot = -36.0752991866383 | etot = -26.7226375221799 +339000 ekin = 4.72144640536423 | erot = 4.54752039051223 | epot = -35.9970632546972 | etot = -26.7280964588208 +340000 ekin = 4.80943098922164 | erot = 4.34708343509498 | epot = -35.9687361528352 | etot = -26.8122217285186 +341000 ekin = 4.70361214653931 | erot = 4.47793300498463 | epot = -35.9999322617905 | etot = -26.8183871102666 +342000 ekin = 4.76064761481744 | erot = 4.66605256976241 | epot = -36.0433784122729 | etot = -26.616678227693 +343000 ekin = 4.67728032528768 | erot = 4.6610083917642 | epot = -35.9211632159824 | etot = -26.5828744989305 +344000 ekin = 4.96339724601181 | erot = 4.93823124551168 | epot = -36.2212250614817 | etot = -26.3195965699582 +345000 ekin = 4.92216540601158 | erot = 5.10460165774345 | epot = -36.3841924486034 | etot = -26.3574253848484 +346000 ekin = 4.99792813974856 | erot = 4.77882820289903 | epot = -36.4406602112533 | etot = -26.6639038686057 +347000 ekin = 4.97738387739107 | erot = 4.57238123569529 | epot = -36.4353446283208 | etot = -26.8855795152344 +348000 ekin = 4.92451917191307 | erot = 4.32330547944774 | epot = -36.3741726686486 | etot = -27.1263480172878 +349000 ekin = 4.7901834448853 | erot = 4.64955099606445 | epot = -36.2232051796221 | etot = -26.7834707386723 +350000 ekin = 4.74997485376102 | erot = 4.41441619333004 | epot = -36.0086530481284 | etot = -26.8442620010373 +351000 ekin = 4.65861306362097 | erot = 4.54712008187945 | epot = -35.7312651155867 | etot = -26.5255319700863 +352000 ekin = 4.64876538273139 | erot = 4.76138349321515 | epot = -35.4506369361125 | etot = -26.0404880601659 +353000 ekin = 4.59253342080998 | erot = 4.29456686626234 | epot = -35.1553683981332 | etot = -26.2682681110609 +354000 ekin = 4.53810163149175 | erot = 4.43945254667827 | epot = -34.9111484982539 | etot = -25.9335943200839 +355000 ekin = 4.47391617267565 | erot = 4.20275229581248 | epot = -34.7382448152827 | etot = -26.0615763467945 +356000 ekin = 4.33084740359816 | erot = 4.16589789857799 | epot = -34.6459462576645 | etot = -26.1492009554884 +357000 ekin = 4.27639689643504 | erot = 4.49834201135675 | epot = -34.6234093478584 | etot = -25.8486704400666 +358000 ekin = 4.37058163127524 | erot = 4.6282751781028 | epot = -34.6601229270853 | etot = -25.6612661177073 +359000 ekin = 4.33282658147824 | erot = 4.35852771696217 | epot = -34.7355034140381 | etot = -26.0441491155977 +360000 ekin = 4.23025745994598 | erot = 3.7369218729668 | epot = -34.827271441646 | etot = -26.8600921087332 +361000 ekin = 4.32772510308485 | erot = 3.40799158120903 | epot = -34.9260321184264 | etot = -27.1903154341325 +362000 ekin = 4.4377220758705 | erot = 3.92824256651614 | epot = -35.0362517129441 | etot = -26.6702870705575 +363000 ekin = 4.60059512711655 | erot = 3.78527820800773 | epot = -35.149230388508 | etot = -26.7633570533837 +364000 ekin = 4.67620778921741 | erot = 3.65656363116 | epot = -35.2108467629341 | etot = -26.8780753425567 +365000 ekin = 4.68744796027325 | erot = 3.48647035761111 | epot = -35.257929142539 | etot = -27.0840108246547 +366000 ekin = 4.6317169465738 | erot = 3.80732263161735 | epot = -35.3317328424945 | etot = -26.8926932643033 +367000 ekin = 4.58794520776095 | erot = 4.31664541166351 | epot = -35.4114076873989 | etot = -26.5068170679744 +368000 ekin = 4.53697760644319 | erot = 4.37812449310847 | epot = -35.4654560531487 | etot = -26.550353953597 +369000 ekin = 4.50593348762442 | erot = 4.09682529638616 | epot = -35.5029044754857 | etot = -26.9001456914751 +370000 ekin = 4.51011536275109 | erot = 4.41695795738163 | epot = -35.5220659543716 | etot = -26.5949926342389 +371000 ekin = 4.5304986013542 | erot = 4.68112317412985 | epot = -35.5213297387008 | etot = -26.3097079632167 +372000 ekin = 4.42660066351873 | erot = 4.7814861185934 | epot = -35.5227844835438 | etot = -26.3146977014317 +373000 ekin = 4.28146792836394 | erot = 4.87997662616399 | epot = -35.4825501780567 | etot = -26.3211056235288 +374000 ekin = 4.13287464156696 | erot = 4.84001159820223 | epot = -35.452301102515 | etot = -26.4794148627458 +375000 ekin = 4.12545451947128 | erot = 4.81807433824656 | epot = -35.4637375699464 | etot = -26.5202087122286 +376000 ekin = 3.87506271806601 | erot = 5.35141111797735 | epot = -35.4720072259955 | etot = -26.2455333899521 +377000 ekin = 3.79770565908006 | erot = 5.28013401771271 | epot = -35.5177354201972 | etot = -26.4398957434045 +378000 ekin = 3.64048261255644 | erot = 5.4207242379617 | epot = -35.580823638477 | etot = -26.5196167879589 +379000 ekin = 3.5238611157663 | erot = 5.9756700460675 | epot = -35.6532146067628 | etot = -26.153683444929 +380000 ekin = 3.32387900413165 | erot = 6.59135162244908 | epot = -35.7551331169146 | etot = -25.8399024903339 +381000 ekin = 3.31695717077427 | erot = 6.10983514346606 | epot = -35.8815158952865 | etot = -26.4547235810462 +382000 ekin = 3.19546651526091 | erot = 6.36489840257035 | epot = -35.9926058393694 | etot = -26.4322409215381 +383000 ekin = 3.2436816976457 | erot = 6.33114976953688 | epot = -36.0664601033041 | etot = -26.4916286361216 +384000 ekin = 3.20726412806376 | erot = 6.19392941274209 | epot = -36.1325810920204 | etot = -26.7313875512146 +385000 ekin = 3.23885859839745 | erot = 6.31552666314741 | epot = -36.1503271354807 | etot = -26.5959418739358 +386000 ekin = 3.1687441170802 | erot = 5.94413881699916 | epot = -36.1310192334962 | etot = -27.0181362994169 +387000 ekin = 3.15499705249205 | erot = 5.48308596050856 | epot = -36.0714221491833 | etot = -27.4333391361827 +388000 ekin = 3.24907989403005 | erot = 5.58200944567837 | epot = -35.9925882356968 | etot = -27.1614988959884 +389000 ekin = 3.39871525437692 | erot = 5.14342534967113 | epot = -35.926273930772 | etot = -27.384133326724 +390000 ekin = 3.53157771561143 | erot = 5.06601106990858 | epot = -35.9089837935163 | etot = -27.3113950079963 +391000 ekin = 3.6460216873691 | erot = 4.8866150487515 | epot = -35.8854822304094 | etot = -27.3528454942888 +392000 ekin = 3.79325143536293 | erot = 5.07292816992976 | epot = -35.852420754602 | etot = -26.9862411493093 +393000 ekin = 3.89148460233043 | erot = 5.02930522203654 | epot = -35.7951222586314 | etot = -26.8743324342644 +394000 ekin = 3.96458882833113 | erot = 4.47630346760482 | epot = -35.7247928997475 | etot = -27.2839006038116 +395000 ekin = 4.03856036181243 | erot = 4.53784941780784 | epot = -35.6586367417744 | etot = -27.0822269621541 +396000 ekin = 3.9968364670664 | erot = 4.49727898211243 | epot = -35.5718421340363 | etot = -27.0777266848575 +397000 ekin = 4.03872005304064 | erot = 4.03153022392497 | epot = -35.5101946272745 | etot = -27.4399443503089 +398000 ekin = 4.01516330519928 | erot = 4.23226303701212 | epot = -35.4578715559687 | etot = -27.2104452137573 +399000 ekin = 4.0192261656521 | erot = 3.71642260618994 | epot = -35.3548490578809 | etot = -27.6192002860389 +400000 ekin = 4.17225085372021 | erot = 4.04093039429581 | epot = -35.2265510847564 | etot = -27.0133698367403 +401000 ekin = 4.15314996432513 | erot = 3.6480496120942 | epot = -35.0943512868028 | etot = -27.2931517103835 +402000 ekin = 4.20245298417931 | erot = 3.70137380667405 | epot = -34.9745627237165 | etot = -27.0707359328631 +403000 ekin = 4.3413245622893 | erot = 3.62891618665746 | epot = -34.8718657472305 | etot = -26.9016249982838 +404000 ekin = 4.42465890243314 | erot = 3.38938035287092 | epot = -34.7967250831433 | etot = -26.9826858278392 +405000 ekin = 4.6066304195345 | erot = 3.44054758174428 | epot = -34.7925257887169 | etot = -26.7453477874381 +406000 ekin = 4.73346375173105 | erot = 3.27915256113149 | epot = -34.8343083282585 | etot = -26.8216920153959 +407000 ekin = 4.82559135473407 | erot = 3.35253133282278 | epot = -34.90590665538 | etot = -26.7277839678232 +408000 ekin = 4.89298564336973 | erot = 3.47339817729168 | epot = -34.9848536782097 | etot = -26.6184698575483 +409000 ekin = 4.94069048180864 | erot = 3.76649967413614 | epot = -35.0728065521188 | etot = -26.365616396174 +410000 ekin = 5.08376278297818 | erot = 3.48855890171057 | epot = -35.1876079350125 | etot = -26.6152862503238 +411000 ekin = 5.10492342399052 | erot = 3.39152717909368 | epot = -35.2939784996996 | etot = -26.7975278966154 +412000 ekin = 5.21115921489285 | erot = 3.62435455589207 | epot = -35.3853247581666 | etot = -26.5498109873817 +413000 ekin = 5.25687541732564 | erot = 3.76308251202552 | epot = -35.4593584594676 | etot = -26.4394005301164 +414000 ekin = 5.13248472496979 | erot = 3.31025282824712 | epot = -35.5393093363075 | etot = -27.0965717830906 +415000 ekin = 5.09217261574502 | erot = 3.59401320391344 | epot = -35.605161792403 | etot = -26.9189759727445 +416000 ekin = 5.04807348985189 | erot = 3.48392073248403 | epot = -35.6748296719208 | etot = -27.1428354495849 +417000 ekin = 4.99138526936695 | erot = 3.46255923404111 | epot = -35.7531502554479 | etot = -27.2992057520398 +418000 ekin = 5.08999508315071 | erot = 3.44390708246907 | epot = -35.8333696081099 | etot = -27.2994674424901 +419000 ekin = 5.21842750435904 | erot = 3.38325168590942 | epot = -35.8593643490788 | etot = -27.2576851588103 +420000 ekin = 5.28947719533084 | erot = 3.50797044377639 | epot = -35.8848039905135 | etot = -27.0873563514062 +421000 ekin = 5.35268927232105 | erot = 3.36603650801218 | epot = -35.8749221051677 | etot = -27.1561963248345 +422000 ekin = 5.23695191026783 | erot = 3.53841920706918 | epot = -35.889640869454 | etot = -27.114269752117 +423000 ekin = 5.09577504756719 | erot = 3.67923583037255 | epot = -35.9137595336544 | etot = -27.1387486557147 +424000 ekin = 5.01335188112952 | erot = 3.70110718137053 | epot = -35.9185617531992 | etot = -27.2041026906992 +425000 ekin = 5.05206155589202 | erot = 3.57652002072466 | epot = -35.9081181462494 | etot = -27.2795365696328 +426000 ekin = 4.96532396129122 | erot = 3.38938274590579 | epot = -35.8769982527928 | etot = -27.5222915455958 +427000 ekin = 4.77195218714222 | erot = 3.50252627514243 | epot = -35.7935414010633 | etot = -27.5190629387787 +428000 ekin = 4.81068646615363 | erot = 3.51825958765464 | epot = -35.6664317412184 | etot = -27.3374856874101 +429000 ekin = 4.73870321335416 | erot = 3.84986931063865 | epot = -35.4873764559103 | etot = -26.8988039319175 +430000 ekin = 4.602137148251 | erot = 3.45284870606445 | epot = -35.3073410925575 | etot = -27.2523552382421 +431000 ekin = 4.57358006593881 | erot = 3.25422348182542 | epot = -35.136759491896 | etot = -27.3089559441318 +432000 ekin = 4.50724003680402 | erot = 3.29998192315333 | epot = -35.029042571088 | etot = -27.2218206111307 +433000 ekin = 4.3086049570317 | erot = 3.42741416873377 | epot = -34.9513402987258 | etot = -27.2153211729603 +434000 ekin = 4.18610269286836 | erot = 3.55059973000638 | epot = -34.9144648758598 | etot = -27.1777624529851 +435000 ekin = 4.12003359590284 | erot = 3.78033374370934 | epot = -34.8780591099563 | etot = -26.9776917703441 +436000 ekin = 3.97313974106134 | erot = 4.05117020636249 | epot = -34.8427841720092 | etot = -26.8184742245853 +437000 ekin = 3.88596008320786 | erot = 4.32902730055979 | epot = -34.8121331683379 | etot = -26.5971457845702 +438000 ekin = 4.03003221046435 | erot = 4.35508047283409 | epot = -34.7917492531094 | etot = -26.4066365698109 +439000 ekin = 4.04655148511162 | erot = 4.17322604141029 | epot = -34.7786348227556 | etot = -26.5588572962337 +440000 ekin = 4.02801522674504 | erot = 4.13470601724881 | epot = -34.7839930854156 | etot = -26.6212718414218 +441000 ekin = 3.94078147941953 | erot = 4.22144190117307 | epot = -34.8185771480927 | etot = -26.6563537675001 +442000 ekin = 3.97730990695675 | erot = 4.24233406975324 | epot = -34.8718962191135 | etot = -26.6522522424035 +443000 ekin = 3.98508138243256 | erot = 4.16122580291799 | epot = -34.9266782585662 | etot = -26.7803710732156 +444000 ekin = 4.00042709081923 | erot = 4.50741850480102 | epot = -34.9630696153487 | etot = -26.4552240197285 +445000 ekin = 4.02620459576038 | erot = 4.64580325301018 | epot = -34.9893039643637 | etot = -26.3172961155932 +446000 ekin = 4.0145460872058 | erot = 4.89747165518641 | epot = -34.9969089036749 | etot = -26.0848911612827 +447000 ekin = 3.96342694873324 | erot = 4.85867800390665 | epot = -34.9830933662455 | etot = -26.1609884136056 +448000 ekin = 3.74592315828131 | erot = 5.1757843335798 | epot = -34.9638816619608 | etot = -26.0421741700997 +449000 ekin = 3.73316291077384 | erot = 5.18498661281975 | epot = -34.9280438941249 | etot = -26.0098943705313 +450000 ekin = 3.85313039093449 | erot = 4.86926583888879 | epot = -34.8716969798347 | etot = -26.1493007500114 +451000 ekin = 4.06359280531127 | erot = 4.99817049859075 | epot = -34.8377147695099 | etot = -25.7759514656079 +452000 ekin = 4.12215980217286 | erot = 4.58488292412149 | epot = -34.8398353293665 | etot = -26.1327926030721 +453000 ekin = 4.16332842884541 | erot = 4.32671008371143 | epot = -34.8570499988887 | etot = -26.3670114863319 +454000 ekin = 4.11754892618409 | erot = 4.47415692336229 | epot = -34.8913194738514 | etot = -26.299613624305 +455000 ekin = 4.22185774995348 | erot = 4.65517828169311 | epot = -34.9334347985054 | etot = -26.0563987668588 +456000 ekin = 4.30177202276143 | erot = 4.77747798616556 | epot = -35.0188770940117 | etot = -25.9396270850847 +457000 ekin = 4.26451460758689 | erot = 4.69009499467528 | epot = -35.1021143238348 | etot = -26.1475047215727 +458000 ekin = 4.31289289804763 | erot = 4.48148846421258 | epot = -35.1135359976466 | etot = -26.3191546353864 +459000 ekin = 4.40924309472714 | erot = 4.70052929057868 | epot = -35.3709113999309 | etot = -26.2611390146251 +460000 ekin = 4.47691183250296 | erot = 4.50574141189019 | epot = -35.566195356935 | etot = -26.5835421125418 +461000 ekin = 4.43873436995011 | erot = 4.99077626253916 | epot = -35.6310455171599 | etot = -26.2015348846706 +462000 ekin = 4.38932525316365 | erot = 4.94989100042644 | epot = -35.7174404682254 | etot = -26.3782242146353 +463000 ekin = 4.36115268480796 | erot = 5.66229263913986 | epot = -35.782873692384 | etot = -25.7594283684361 +464000 ekin = 4.32411863133124 | erot = 5.21874712372938 | epot = -35.8318174183589 | etot = -26.2889516632982 +465000 ekin = 4.25283049437862 | erot = 4.8931192840781 | epot = -35.8307748329833 | etot = -26.6848250545266 +466000 ekin = 3.97961054012235 | erot = 4.30523919521523 | epot = -35.8019205162808 | etot = -27.5170707809433 +467000 ekin = 3.96957942645156 | erot = 4.02414635207124 | epot = -35.7935881476342 | etot = -27.7998623691114 +468000 ekin = 3.81067149059143 | erot = 3.9131157389001 | epot = -35.819204604463 | etot = -28.0954173749715 +469000 ekin = 3.82956653035967 | erot = 3.76358708523009 | epot = -35.8554657317441 | etot = -28.2623121161543 +470000 ekin = 3.84315155223098 | erot = 3.46319185355978 | epot = -35.9283028420653 | etot = -28.6219594362746 +471000 ekin = 3.8418988592029 | erot = 3.51787257644846 | epot = -36.0370536568195 | etot = -28.6772822211681 +472000 ekin = 3.86861114122384 | erot = 3.36458500068064 | epot = -36.1368322989854 | etot = -28.9036361570809 +473000 ekin = 3.73700168734246 | erot = 3.58329228877727 | epot = -36.2233655143222 | etot = -28.9030715382025 +474000 ekin = 3.82928273613545 | erot = 3.70070391401538 | epot = -36.2919855352844 | etot = -28.7619988851335 +475000 ekin = 3.89544030960044 | erot = 3.76401640046801 | epot = -36.3684307389009 | etot = -28.7089740288324 +476000 ekin = 4.0893276711336 | erot = 3.70907901754989 | epot = -36.4684310716314 | etot = -28.6700243829479 +477000 ekin = 4.15334136664104 | erot = 3.70899967496297 | epot = -36.5311600367348 | etot = -28.6688189951308 +478000 ekin = 4.07512882728816 | erot = 3.80913887771415 | epot = -36.5715417700048 | etot = -28.6872740650025 +479000 ekin = 3.96184225144677 | erot = 3.6758426322944 | epot = -36.6049454628525 | etot = -28.9672605791113 +480000 ekin = 3.86072911979603 | erot = 3.85211085064388 | epot = -36.610629225252 | etot = -28.8977892548121 +481000 ekin = 3.78563823255496 | erot = 4.024314099233 | epot = -36.6044682584304 | etot = -28.7945159266424 +482000 ekin = 3.81986353724786 | erot = 3.94457553240304 | epot = -36.5556242495873 | etot = -28.7911851799364 +483000 ekin = 3.91937069687011 | erot = 3.97985471481356 | epot = -36.4953515335744 | etot = -28.5961261218907 +484000 ekin = 3.90565472316292 | erot = 3.68508276016196 | epot = -36.426514232721 | etot = -28.8357767493961 +485000 ekin = 3.97067640669154 | erot = 3.52818833629947 | epot = -36.3385351029693 | etot = -28.8396703599783 +486000 ekin = 4.08924338068675 | erot = 3.45150371793067 | epot = -36.2407040808296 | etot = -28.6999569822122 +487000 ekin = 4.07761729530311 | erot = 3.69577064304002 | epot = -36.1174543397078 | etot = -28.3440664013647 +488000 ekin = 3.98120330041688 | erot = 4.01179749212345 | epot = -35.9662140009127 | etot = -27.9732132083724 +489000 ekin = 3.94304108511324 | erot = 4.09948585344502 | epot = -35.8365811443688 | etot = -27.7940542058105 +490000 ekin = 3.98200750178142 | erot = 4.19330655565614 | epot = -35.7436522395709 | etot = -27.5683381821333 +491000 ekin = 4.0445360131927 | erot = 4.06864604679586 | epot = -35.6813038605064 | etot = -27.5681218005179 +492000 ekin = 4.10478194610759 | erot = 4.27931273272407 | epot = -35.6201850620984 | etot = -27.2360903832667 +493000 ekin = 4.14218811078688 | erot = 4.30328516243005 | epot = -35.5529321721737 | etot = -27.1074588989568 +494000 ekin = 4.15483197917442 | erot = 4.22087230768742 | epot = -35.5007035923716 | etot = -27.1249993055097 +495000 ekin = 4.26671892357353 | erot = 4.2174513730416 | epot = -35.4450128389817 | etot = -26.9608425423665 +496000 ekin = 4.42373869014864 | erot = 3.65535322096919 | epot = -35.3933064942846 | etot = -27.3142145831668 +497000 ekin = 4.57363309591074 | erot = 3.63766344362461 | epot = -35.3630685420969 | etot = -27.1517720025615 +498000 ekin = 4.7241733979429 | erot = 3.40665904233571 | epot = -35.3570714026405 | etot = -27.2262389623619 +499000 ekin = 4.76806375994884 | erot = 3.58204839805338 | epot = -35.3646341268605 | etot = -27.0145219688582 +500000 ekin = 4.86803273232494 | erot = 3.40069391727077 | epot = -35.4199817543288 | etot = -27.1512551047331 +501000 ekin = 4.96743307602633 | erot = 3.46724128896382 | epot = -35.4970649677138 | etot = -27.0623906027237 +502000 ekin = 4.91929166862602 | erot = 3.57165212036747 | epot = -35.5889625489531 | etot = -27.0980187599596 +503000 ekin = 4.90703913138654 | erot = 3.86458875313982 | epot = -35.6771862828243 | etot = -26.9055583982979 +504000 ekin = 5.13705335061953 | erot = 3.53695462968337 | epot = -35.7347477259475 | etot = -27.0607397456447 +505000 ekin = 5.23249143944192 | erot = 3.46343104093346 | epot = -35.7820571844978 | etot = -27.0861347041225 +506000 ekin = 5.11675278315682 | erot = 3.72067186509955 | epot = -35.8198968197669 | etot = -26.9824721715105 +507000 ekin = 5.18993901387439 | erot = 4.1521508584772 | epot = -35.8269271672407 | etot = -26.4848372948891 +508000 ekin = 4.98597878226577 | erot = 4.11598571894018 | epot = -35.7826195676297 | etot = -26.6806550664237 +509000 ekin = 4.89412425677653 | erot = 4.30807642739921 | epot = -35.6890852058576 | etot = -26.4868845216819 +510000 ekin = 4.89504815268988 | erot = 4.4601383758423 | epot = -35.589321566643 | etot = -26.2341350381108 +511000 ekin = 4.85835750083372 | erot = 4.41721118692769 | epot = -35.4748886415738 | etot = -26.1993199538124 +512000 ekin = 4.85632567301955 | erot = 4.5850146787013 | epot = -35.3170557845391 | etot = -25.8757154328183 +513000 ekin = 4.79088228903384 | erot = 4.41898249223044 | epot = -35.1398620511897 | etot = -25.9299972699254 +514000 ekin = 4.84082723167301 | erot = 4.10048582144458 | epot = -34.9528940279417 | etot = -26.0115809748241 +515000 ekin = 4.66396867258878 | erot = 3.70795325472635 | epot = -34.8081323279138 | etot = -26.4362104005987 +516000 ekin = 4.45203722260375 | erot = 3.7424161749216 | epot = -34.7399422586779 | etot = -26.5454888611526 +517000 ekin = 4.39320763550285 | erot = 3.61293763489201 | epot = -34.7115969229747 | etot = -26.7054516525798 +518000 ekin = 4.33516267423081 | erot = 3.46685163663661 | epot = -34.720559171622 | etot = -26.9185448607546 +519000 ekin = 4.32678001120794 | erot = 3.83331308599435 | epot = -34.7543932584756 | etot = -26.5943001612733 +520000 ekin = 4.16017569753271 | erot = 3.9944210337637 | epot = -34.7797387277814 | etot = -26.625141996485 +521000 ekin = 4.01091284601559 | erot = 4.71227661622668 | epot = -34.8119764016186 | etot = -26.0887869393764 +522000 ekin = 3.92555868149862 | erot = 4.67306017627902 | epot = -34.8638412525405 | etot = -26.2652223947629 +523000 ekin = 4.10629342994171 | erot = 4.23690821219818 | epot = -34.9392637364657 | etot = -26.5960620943258 +524000 ekin = 4.1696440613856 | erot = 4.51539305326675 | epot = -35.0302476439302 | etot = -26.3452105292779 +525000 ekin = 4.14574067413424 | erot = 4.59255192964534 | epot = -35.1665459803978 | etot = -26.4282533766182 +526000 ekin = 4.29635804775357 | erot = 5.38181203699227 | epot = -35.3702076593234 | etot = -25.6920375745776 +527000 ekin = 4.43341423246316 | erot = 5.4208701656537 | epot = -35.5881352754175 | etot = -25.7338508773006 +528000 ekin = 4.65221997264034 | erot = 5.64432261927448 | epot = -35.7907306535607 | etot = -25.4941880616459 +529000 ekin = 4.75833001518884 | erot = 6.22279494556851 | epot = -35.9649272181715 | etot = -24.9838022574141 +530000 ekin = 4.85254900576381 | erot = 6.26630645812944 | epot = -36.1175112827236 | etot = -24.9986558188304 +531000 ekin = 4.88314038497963 | erot = 6.22256761998181 | epot = -36.2218727030893 | etot = -25.1161646981279 +532000 ekin = 4.89429192132453 | erot = 6.19376619305378 | epot = -36.2791850407377 | etot = -25.1911269263594 +533000 ekin = 4.98074956905508 | erot = 6.71246035574299 | epot = -36.2873072492243 | etot = -24.5940973244262 +534000 ekin = 5.05914514163858 | erot = 6.72049132345737 | epot = -36.2541186702092 | etot = -24.4744822051133 +535000 ekin = 4.98307281629278 | erot = 6.60876507020557 | epot = -36.1722591997822 | etot = -24.5804213132839 +536000 ekin = 4.92092214615514 | erot = 6.71824597922614 | epot = -36.0492643890662 | etot = -24.4100962636849 +537000 ekin = 4.73594122849326 | erot = 6.46069540815287 | epot = -35.9116294607657 | etot = -24.7149928241196 +538000 ekin = 4.79280389212897 | erot = 6.10794151385135 | epot = -35.7423046160132 | etot = -24.8415592100329 +539000 ekin = 4.77579753855637 | erot = 5.9721718852028 | epot = -35.533600981652 | etot = -24.7856315578928 +540000 ekin = 4.59343353220661 | erot = 6.02882315943306 | epot = -35.2969540919923 | etot = -24.6746974003527 +541000 ekin = 4.56261508857308 | erot = 5.60884609986364 | epot = -35.0742414984787 | etot = -24.9027803100419 +542000 ekin = 4.42304079078362 | erot = 5.24180126466464 | epot = -34.8728664426876 | etot = -25.2080243872393 +543000 ekin = 4.31458565966317 | erot = 5.30648118805705 | epot = -34.6809264080033 | etot = -25.0598595602831 +544000 ekin = 4.16990383767329 | erot = 5.09480741715239 | epot = -34.5077033118773 | etot = -25.2429920570516 +545000 ekin = 4.0350640414587 | erot = 4.95913193735204 | epot = -34.3738505570895 | etot = -25.3796545782788 +546000 ekin = 4.05283758597051 | erot = 4.62357416672448 | epot = -34.2732549004478 | etot = -25.5968431477528 +547000 ekin = 3.91892476341122 | erot = 4.42471065792707 | epot = -34.1888485564157 | etot = -25.8452131350775 +548000 ekin = 3.85923648383067 | erot = 4.18493881932566 | epot = -34.1251823218199 | etot = -26.0810070186636 +549000 ekin = 3.8927709556134 | erot = 4.20183962759803 | epot = -34.0968256559691 | etot = -26.0022150727577 +550000 ekin = 3.88489313663799 | erot = 4.06987350840239 | epot = -34.0834989925537 | etot = -26.1287323475133 +551000 ekin = 3.87639970039868 | erot = 4.25043058335745 | epot = -34.0931086790782 | etot = -25.966278395322 +552000 ekin = 3.88627319211786 | erot = 4.00102033547709 | epot = -34.1638602914377 | etot = -26.2765667638428 +553000 ekin = 4.05569156373879 | erot = 3.56403629580222 | epot = -34.247483486424 | etot = -26.627755626883 +554000 ekin = 4.2562683800156 | erot = 3.70804766862547 | epot = -34.2954308218039 | etot = -26.3311147731628 +555000 ekin = 4.2648740703529 | erot = 3.78496110408358 | epot = -34.3412268896543 | etot = -26.2913917152178 +556000 ekin = 4.24622902964984 | erot = 4.0345482038853 | epot = -34.3344093396379 | etot = -26.0536321061027 +557000 ekin = 4.07319669837868 | erot = 3.86372668854368 | epot = -34.2640157691761 | etot = -26.3270923822537 +558000 ekin = 3.99489306447001 | erot = 3.82027814531877 | epot = -34.1455461859517 | etot = -26.3303749761629 +559000 ekin = 4.00179663426026 | erot = 3.82651776959122 | epot = -33.9924674804774 | etot = -26.1641530766259 +560000 ekin = 3.90938418270038 | erot = 3.49539199637374 | epot = -33.8018928207122 | etot = -26.3971166416381 +561000 ekin = 3.70375196060242 | erot = 3.38165869548244 | epot = -33.6157331642902 | etot = -26.5303225082053 +562000 ekin = 3.64392595608208 | erot = 3.67997084627168 | epot = -33.4612560312997 | etot = -26.1373592289459 +563000 ekin = 3.59769761679666 | erot = 3.74125845764501 | epot = -33.3480734777506 | etot = -26.0091174033089 +564000 ekin = 3.5872532535469 | erot = 3.35524020938125 | epot = -33.2675171968359 | etot = -26.3250237339077 +565000 ekin = 3.63835964444035 | erot = 3.77402574563864 | epot = -33.2409015523647 | etot = -25.8285161622857 +566000 ekin = 3.64384501808487 | erot = 3.7751512348732 | epot = -33.2503593116355 | etot = -25.8313630586774 +567000 ekin = 3.6321441767138 | erot = 3.8685448978813 | epot = -33.2603190278778 | etot = -25.7596299532827 +568000 ekin = 3.76759211618971 | erot = 3.97321014856349 | epot = -33.2947231384392 | etot = -25.553920873686 +569000 ekin = 3.75607920629668 | erot = 3.9189350411434 | epot = -33.3766443391882 | etot = -25.7016300917481 +570000 ekin = 3.88570178164772 | erot = 3.87013370061556 | epot = -33.4676246266775 | etot = -25.7117891444142 +571000 ekin = 3.91109063039641 | erot = 4.3887336637963 | epot = -33.5301619269295 | etot = -25.2303376327368 +572000 ekin = 3.91357367536979 | erot = 4.54669425634091 | epot = -33.5613071721028 | etot = -25.1010392403921 +573000 ekin = 4.00256460245984 | erot = 4.69928602914621 | epot = -33.5479654090577 | etot = -24.8461147774517 +574000 ekin = 4.04557469411533 | erot = 4.85104808888571 | epot = -33.4823141367214 | etot = -24.5856913537203 +575000 ekin = 4.0199044833131 | erot = 4.48360936846638 | epot = -33.4090682352886 | etot = -24.9055543835092 +576000 ekin = 3.80770420634942 | erot = 4.40902984739946 | epot = -33.3559765416152 | etot = -25.1392424878663 +577000 ekin = 3.6517677072366 | erot = 4.69770290650927 | epot = -33.3414847753623 | etot = -24.9920141616164 +578000 ekin = 3.65416507269722 | erot = 5.09984939028998 | epot = -33.3628873386869 | etot = -24.6088728756997 +579000 ekin = 3.65457514215454 | erot = 4.83085466504592 | epot = -33.4229058723711 | etot = -24.9374760651706 +580000 ekin = 3.61022362260481 | erot = 5.21507039569769 | epot = -33.5257015423975 | etot = -24.700407524095 +581000 ekin = 3.49491427592295 | erot = 5.80898315058308 | epot = -33.6374701054959 | etot = -24.3335726789899 +582000 ekin = 3.45150652331289 | erot = 5.2079729472947 | epot = -33.7413132898281 | etot = -25.0818338192205 +583000 ekin = 3.43883253778232 | erot = 4.99240818298342 | epot = -33.7992206024429 | etot = -25.3679798816772 +584000 ekin = 3.41950743994087 | erot = 5.30429667829858 | epot = -33.8273198616881 | etot = -25.1035157434487 +585000 ekin = 3.52988736379348 | erot = 5.26888625710225 | epot = -33.8562169326849 | etot = -25.0574433117891 +586000 ekin = 3.54522421505718 | erot = 5.15182886320371 | epot = -33.8748034063863 | etot = -25.1777503281254 +587000 ekin = 3.64975640444384 | erot = 4.43116878399003 | epot = -33.8790223191813 | etot = -25.7980971307475 +588000 ekin = 3.85787406303082 | erot = 4.33848995606314 | epot = -33.9012642894904 | etot = -25.7049002703965 +589000 ekin = 3.9487150884209 | erot = 4.36958758855423 | epot = -33.9512157067315 | etot = -25.6329130297563 +590000 ekin = 4.04576150007675 | erot = 4.34777620153069 | epot = -33.9849374243128 | etot = -25.5913997227054 +591000 ekin = 4.13483818439914 | erot = 4.28475308123698 | epot = -33.9975372243776 | etot = -25.5779459587414 +592000 ekin = 4.2556680414864 | erot = 4.00241438742696 | epot = -33.990517302247 | etot = -25.7324348733336 +593000 ekin = 4.26695504286551 | erot = 3.75133860519216 | epot = -33.9824243028376 | etot = -25.9641306547799 +594000 ekin = 4.24513038558056 | erot = 3.88826331815755 | epot = -33.9597952629293 | etot = -25.8264015591912 +595000 ekin = 4.33307108334646 | erot = 3.92609577318174 | epot = -33.9197199407777 | etot = -25.6605530842495 +596000 ekin = 4.23611726585149 | erot = 3.89070717461491 | epot = -33.8740124837561 | etot = -25.7471880432897 +597000 ekin = 4.40233879096614 | erot = 3.9973813082447 | epot = -33.8902431987866 | etot = -25.4905230995758 +598000 ekin = 4.23795477390351 | erot = 4.04526003588007 | epot = -33.9155939268417 | etot = -25.6323791170582 +599000 ekin = 4.13745802989045 | erot = 3.88641709707911 | epot = -33.9296772436184 | etot = -25.9058021166489 +600000 ekin = 4.21239990479469 | erot = 3.82373814742802 | epot = -33.9651236246 | etot = -25.9289855723773 +601000 ekin = 4.3196997334027 | erot = 3.98399943561167 | epot = -34.0172721411615 | etot = -25.7135729721471 +602000 ekin = 4.27803621196727 | erot = 4.02063732656524 | epot = -34.100698422985 | etot = -25.8020248844525 +603000 ekin = 4.31016670434268 | erot = 4.06109056998715 | epot = -34.2290225355021 | etot = -25.8577652611723 +604000 ekin = 4.35436231281196 | erot = 4.27081433433549 | epot = -34.3693989473758 | etot = -25.7442223002283 +605000 ekin = 4.29263786573731 | erot = 4.35816455015996 | epot = -34.5293522620234 | etot = -25.8785498461262 +606000 ekin = 4.23493766333436 | erot = 4.45889694601822 | epot = -34.6959569640143 | etot = -26.0021223546617 +607000 ekin = 4.21589668454932 | erot = 4.35851580050772 | epot = -34.8643734064673 | etot = -26.2899609214103 +608000 ekin = 4.31617609118378 | erot = 4.3711843404177 | epot = -35.0106665625392 | etot = -26.3233061309377 +609000 ekin = 4.40054829762945 | erot = 4.09556922746408 | epot = -35.1090427558591 | etot = -26.6129252307656 +610000 ekin = 4.3836017973497 | erot = 4.43080811091093 | epot = -35.1590130940816 | etot = -26.344603185821 +611000 ekin = 4.30911071721019 | erot = 4.66858603342393 | epot = -35.1997741362033 | etot = -26.2220773855692 +612000 ekin = 4.38115044344101 | erot = 4.62952065066664 | epot = -35.2189008927601 | etot = -26.2082297986524 +613000 ekin = 4.49640333428488 | erot = 4.73033949191661 | epot = -35.2311946320133 | etot = -26.0044518058118 +614000 ekin = 4.42698019674918 | erot = 4.54387450238904 | epot = -35.227024565465 | etot = -26.2561698663268 +615000 ekin = 4.36293882049166 | erot = 4.65167437175536 | epot = -35.250009814436 | etot = -26.235396622189 +616000 ekin = 4.25552094369167 | erot = 3.9677335799062 | epot = -35.262646565401 | etot = -27.0393920418031 +617000 ekin = 4.02844203107201 | erot = 3.93306028038377 | epot = -35.3085438772361 | etot = -27.3470415657803 +618000 ekin = 3.91410624199631 | erot = 3.99915504239052 | epot = -35.3773572154985 | etot = -27.4640959311117 +619000 ekin = 3.92944334041051 | erot = 3.65858234543171 | epot = -35.4549579850513 | etot = -27.8669322992091 +620000 ekin = 3.94632769198491 | erot = 4.05357915876533 | epot = -35.5452298743848 | etot = -27.5453230236346 +621000 ekin = 4.00876452457166 | erot = 4.1855795236138 | epot = -35.6568787558288 | etot = -27.4625347076433 +622000 ekin = 3.97770547832637 | erot = 4.20428409244743 | epot = -35.7853832130653 | etot = -27.6033936422915 +623000 ekin = 3.8762340917962 | erot = 4.44200976918091 | epot = -35.9345595163545 | etot = -27.6163156553774 +624000 ekin = 3.81461749379632 | erot = 4.73413928443226 | epot = -36.0610458736423 | etot = -27.5122890954137 +625000 ekin = 3.8970241751503 | erot = 4.51967995490342 | epot = -36.1593702506674 | etot = -27.7426661206137 +626000 ekin = 4.05285181951198 | erot = 5.1220971455114 | epot = -36.2373709478026 | etot = -27.0624219827792 +627000 ekin = 4.06919694856985 | erot = 5.16853241383701 | epot = -36.2459696084315 | etot = -27.0082402460246 +628000 ekin = 3.97574634490127 | erot = 5.15377915037519 | epot = -36.1860007276685 | etot = -27.0564752323921 +629000 ekin = 3.97847076093846 | erot = 4.98743417354896 | epot = -36.0841602963358 | etot = -27.1182553618484 +630000 ekin = 3.82117049554739 | erot = 4.72915936447924 | epot = -35.9627884752438 | etot = -27.4124586152171 +631000 ekin = 3.86461141431221 | erot = 4.86154549634944 | epot = -35.8061457051957 | etot = -27.079988794534 +632000 ekin = 3.74664734149851 | erot = 4.54810894057643 | epot = -35.6214135997296 | etot = -27.3266573176547 +633000 ekin = 3.70561564688244 | erot = 3.84492477779421 | epot = -35.4366028892501 | etot = -27.8860624645735 +634000 ekin = 3.59215409071661 | erot = 3.93871515972471 | epot = -35.2896538627899 | etot = -27.7587846123486 +635000 ekin = 3.50545587494383 | erot = 4.06717110382211 | epot = -35.1730596180146 | etot = -27.6004326392486 +636000 ekin = 3.3309454150286 | erot = 4.07821458070327 | epot = -35.1077038533349 | etot = -27.6985438576031 +637000 ekin = 3.14505217998963 | erot = 4.05756077132584 | epot = -35.1055524080615 | etot = -27.902939456746 +638000 ekin = 3.09050584392239 | erot = 4.40258652090821 | epot = -35.1570633539889 | etot = -27.6639709891583 +639000 ekin = 3.0768733321709 | erot = 4.16491810908563 | epot = -35.2467836386719 | etot = -28.0049921974154 +640000 ekin = 3.00973730805073 | erot = 4.2692418133335 | epot = -35.3354522376085 | etot = -28.0564731162243 +641000 ekin = 2.94445196408833 | erot = 4.64391413205119 | epot = -35.4644644387967 | etot = -27.8760983426572 +642000 ekin = 2.98442414954633 | erot = 4.9974755612433 | epot = -35.6290057034216 | etot = -27.647105992632 +643000 ekin = 3.2055646953209 | erot = 4.8025531791329 | epot = -35.7795885297939 | etot = -27.7714706553401 +644000 ekin = 3.2748821402377 | erot = 4.64957731616621 | epot = -35.9161733239261 | etot = -27.9917138675222 +645000 ekin = 3.41323831995007 | erot = 4.71321420527612 | epot = -36.0213663956164 | etot = -27.8949138703902 +646000 ekin = 3.56963422518167 | erot = 4.46391006184254 | epot = -36.0597764612018 | etot = -28.0262321741776 +647000 ekin = 3.65146108953765 | erot = 4.34882885781933 | epot = -36.05397385258 | etot = -28.053683905223 +648000 ekin = 3.80589253043839 | erot = 4.22505125234649 | epot = -35.9957895068647 | etot = -27.9648457240799 +649000 ekin = 4.01844415748841 | erot = 4.19109412255817 | epot = -35.9180061331759 | etot = -27.7084678531293 +650000 ekin = 4.03810277748572 | erot = 3.86362623058913 | epot = -35.8260490160444 | etot = -27.9243200079695 +651000 ekin = 4.14203944570719 | erot = 3.56888807374706 | epot = -35.7087423281397 | etot = -27.9978148086855 +652000 ekin = 4.23250261214715 | erot = 3.18710224409382 | epot = -35.6367851174034 | etot = -28.2171802611624 +653000 ekin = 4.36352642926009 | erot = 3.20148998566011 | epot = -35.6464209942557 | etot = -28.0814045793355 +654000 ekin = 4.5279203243997 | erot = 3.02237039454743 | epot = -35.6995719521313 | etot = -28.1492812331841 +655000 ekin = 4.60546960877517 | erot = 2.96007185178719 | epot = -35.8223013228812 | etot = -28.2567598623188 +656000 ekin = 4.78956137676064 | erot = 3.38896158834621 | epot = -35.9826527468557 | etot = -27.8041297817489 +657000 ekin = 4.78481247088243 | erot = 3.67040934516473 | epot = -36.1522101931049 | etot = -27.6969883770578 +658000 ekin = 4.68735602442224 | erot = 4.10635530609359 | epot = -36.3122539915072 | etot = -27.5185426609914 +659000 ekin = 4.79643464434907 | erot = 4.3109166795532 | epot = -36.419822200132 | etot = -27.3124708762297 +660000 ekin = 4.65613606555515 | erot = 4.00182169137307 | epot = -36.5017357753405 | etot = -27.8437780184123 +661000 ekin = 4.53939481189422 | erot = 4.39327864100633 | epot = -36.5522379560179 | etot = -27.6195645031173 +662000 ekin = 4.62075189021993 | erot = 4.64171304234686 | epot = -36.5458752748482 | etot = -27.2834103422814 +663000 ekin = 4.60627251324235 | erot = 4.44191382325803 | epot = -36.5358428119696 | etot = -27.4876564754693 +664000 ekin = 4.53224877457463 | erot = 4.69535654970068 | epot = -36.5440045789042 | etot = -27.3163992546289 +665000 ekin = 4.33791904761007 | erot = 4.79511074251925 | epot = -36.5712979957099 | etot = -27.4382682055805 +666000 ekin = 4.01034004769843 | erot = 5.14475630277467 | epot = -36.6275167021873 | etot = -27.4724203517142 +667000 ekin = 3.92791037721622 | erot = 5.11805894759237 | epot = -36.702269731521 | etot = -27.6563004067124 +668000 ekin = 3.69207242860568 | erot = 4.95115852091685 | epot = -36.7748284431555 | etot = -28.1315974936329 +669000 ekin = 3.52850414694839 | erot = 5.30513713121047 | epot = -36.8468924103841 | etot = -28.0132511322252 +670000 ekin = 3.43685158392413 | erot = 5.67353767341476 | epot = -36.8571678878591 | etot = -27.7467786305202 +671000 ekin = 3.37237891900207 | erot = 4.81383151363256 | epot = -36.7898772614734 | etot = -28.6036668288388 +672000 ekin = 3.4214286448957 | erot = 4.47410705082151 | epot = -36.6509805759937 | etot = -28.7554448802765 +673000 ekin = 3.47620696197726 | erot = 4.53468812753541 | epot = -36.4695914666411 | etot = -28.4586963771284 +674000 ekin = 3.34015467342477 | erot = 4.56003540036704 | epot = -36.2728042740009 | etot = -28.3726142002091 +675000 ekin = 3.26558121431926 | erot = 4.75716318196978 | epot = -36.0812448824919 | etot = -28.0585004862029 +676000 ekin = 3.30557173090095 | erot = 4.66626180335478 | epot = -35.8858133485377 | etot = -27.9139798142819 +677000 ekin = 3.38252137148669 | erot = 4.6897922284426 | epot = -35.7238379181691 | etot = -27.6515243182398 +678000 ekin = 3.33430766992633 | erot = 4.45636421682294 | epot = -35.5898515746333 | etot = -27.799179687884 +679000 ekin = 3.26716522041019 | erot = 4.13643141690213 | epot = -35.528216056043 | etot = -28.1246194187307 +680000 ekin = 3.22330491222221 | erot = 4.11355311991397 | epot = -35.5522418172928 | etot = -28.2153837851566 +681000 ekin = 3.27654998707768 | erot = 4.40088508884104 | epot = -35.6343431031197 | etot = -27.956908027201 +682000 ekin = 3.38403402082966 | erot = 4.64957783602955 | epot = -35.7255960652577 | etot = -27.6919842083985 +683000 ekin = 3.58392532059449 | erot = 4.15499488835506 | epot = -35.8541956283831 | etot = -28.1152754194335 +684000 ekin = 3.63284008875691 | erot = 4.14497212696397 | epot = -36.0448350473496 | etot = -28.2670228316288 +685000 ekin = 3.75538152185656 | erot = 3.95609692494439 | epot = -36.2462524041832 | etot = -28.5347739573822 +686000 ekin = 3.91883145536709 | erot = 3.95298902028767 | epot = -36.4771155861902 | etot = -28.6052951105355 +687000 ekin = 4.05299881159141 | erot = 4.06027810523496 | epot = -36.7169526369127 | etot = -28.6036757200863 +688000 ekin = 4.13599667613283 | erot = 4.1033148925446 | epot = -36.9524101670391 | etot = -28.7130985983616 +689000 ekin = 4.25987754434121 | erot = 4.14481492316592 | epot = -37.19007759108 | etot = -28.7853851235729 +690000 ekin = 4.43074027682468 | erot = 4.04380513304424 | epot = -37.3931354089483 | etot = -28.9185899990794 +691000 ekin = 4.53821721573662 | erot = 3.80503345899004 | epot = -37.5576014163155 | etot = -29.2143507415889 +692000 ekin = 4.6415004277931 | erot = 3.59872997928144 | epot = -37.6895260553275 | etot = -29.449295648253 +693000 ekin = 4.69075885893 | erot = 3.47578918601706 | epot = -37.8114874122422 | etot = -29.6449393672951 +694000 ekin = 4.73822518662626 | erot = 3.8426375014852 | epot = -37.9027003996531 | etot = -29.3218377115416 +695000 ekin = 4.75494194627987 | erot = 3.78113333862433 | epot = -37.9681336831655 | etot = -29.4320583982613 +696000 ekin = 4.69786608199271 | erot = 3.785268211759 | epot = -38.0084908313003 | etot = -29.5253565375486 +697000 ekin = 4.69854328160514 | erot = 3.62432955932676 | epot = -38.0258612384502 | etot = -29.7029883975183 +698000 ekin = 4.71023285872909 | erot = 3.64111389234157 | epot = -38.030154734076 | etot = -29.6788079830054 +699000 ekin = 4.56773244343976 | erot = 3.71983710702499 | epot = -38.0529467082193 | etot = -29.7653771577546 +700000 ekin = 4.43155866208691 | erot = 3.53355461960284 | epot = -38.0685834921134 | etot = -30.1034702104236 +701000 ekin = 4.47548631411736 | erot = 3.38963138436219 | epot = -38.0500116139815 | etot = -30.184893915502 +702000 ekin = 4.46550513016984 | erot = 3.66852889097277 | epot = -38.0164512923402 | etot = -29.8824172711975 +703000 ekin = 4.38742906998813 | erot = 3.97599599383721 | epot = -37.9817705180946 | etot = -29.6183454542693 +704000 ekin = 4.41020682713676 | erot = 3.83147838533281 | epot = -37.9674346241365 | etot = -29.725749411667 +705000 ekin = 4.39308990786441 | erot = 3.75664217186778 | epot = -37.9282520396871 | etot = -29.7785199599549 +706000 ekin = 4.43040906703156 | erot = 4.12756254176888 | epot = -37.8939279543826 | etot = -29.3359563455822 +707000 ekin = 4.51700671633646 | erot = 3.77573523129449 | epot = -37.8444471024437 | etot = -29.5517051548127 +708000 ekin = 4.49065124304534 | erot = 3.88552877104003 | epot = -37.7744800646504 | etot = -29.3983000505651 +709000 ekin = 4.41855498291445 | erot = 3.53582586052311 | epot = -37.6656825257611 | etot = -29.7113016823236 +710000 ekin = 4.40535258977283 | erot = 3.3964950268898 | epot = -37.5466939944653 | etot = -29.7448463778027 +711000 ekin = 4.32709544005249 | erot = 3.54995473848094 | epot = -37.3866324258479 | etot = -29.5095822473145 +712000 ekin = 4.40620309390877 | erot = 3.71557442538528 | epot = -37.1793914331048 | etot = -29.0576139138107 +713000 ekin = 4.39226105260192 | erot = 3.64956114520319 | epot = -36.9592491146157 | etot = -28.9174269168105 +714000 ekin = 4.39459047651044 | erot = 3.58799428596579 | epot = -36.784410906283 | etot = -28.8018261438068 +715000 ekin = 4.41458674942589 | erot = 4.01850565037392 | epot = -36.5924446920393 | etot = -28.1593522922395 +716000 ekin = 4.33665938530708 | erot = 3.50452219695686 | epot = -36.4143425377368 | etot = -28.5731609554728 +717000 ekin = 4.18088462864047 | erot = 3.21190204008997 | epot = -36.2481677379303 | etot = -28.8553810691999 +718000 ekin = 4.03231025467833 | erot = 2.91104295996759 | epot = -36.1402693367142 | etot = -29.1969161220683 +719000 ekin = 3.97260579411823 | erot = 3.29783620298646 | epot = -36.0849771003503 | etot = -28.8145351032456 +720000 ekin = 3.82567789821304 | erot = 3.46218504309262 | epot = -36.1068353452665 | etot = -28.8189724039609 +721000 ekin = 3.83433718059043 | erot = 4.0308403694784 | epot = -36.186895804643 | etot = -28.3217182545742 +722000 ekin = 3.71300872765614 | erot = 3.84736896155716 | epot = -36.2838656104836 | etot = -28.7234879212703 +723000 ekin = 3.74703466957627 | erot = 3.71040850656838 | epot = -36.3812410760549 | etot = -28.9237978999102 +724000 ekin = 3.75607081603381 | erot = 4.0281353287461 | epot = -36.4992818358977 | etot = -28.7150756911178 +725000 ekin = 3.77808990085843 | erot = 4.20966764087112 | epot = -36.6263500488379 | etot = -28.6385925071083 +726000 ekin = 3.99703012102758 | erot = 3.67945861038329 | epot = -36.7651398392481 | etot = -29.0886511078373 +727000 ekin = 4.01741049095323 | erot = 3.72684228835757 | epot = -36.8887239674892 | etot = -29.1444711881784 +728000 ekin = 4.05655244457443 | erot = 3.64411335656443 | epot = -36.9831032192824 | etot = -29.2824374181435 +729000 ekin = 4.15914112670643 | erot = 3.22368867517317 | epot = -37.0758214193941 | etot = -29.6929916175145 +730000 ekin = 4.27496625989451 | erot = 3.03434396509882 | epot = -37.1060663359391 | etot = -29.7967561109457 +731000 ekin = 4.35621946146852 | erot = 3.31453862248439 | epot = -37.0811379025033 | etot = -29.4103798185504 +732000 ekin = 4.31460322853995 | erot = 3.19560214587384 | epot = -37.0358028654706 | etot = -29.5255974910568 +733000 ekin = 4.22952267957096 | erot = 3.20037871938027 | epot = -36.9673423522076 | etot = -29.5374409532564 +734000 ekin = 4.24709820971321 | erot = 3.10598269123747 | epot = -36.8800091287789 | etot = -29.5269282278282 +735000 ekin = 4.1498116292607 | erot = 3.12549638567499 | epot = -36.7838119752137 | etot = -29.508503960278 +736000 ekin = 4.20814181481995 | erot = 2.91522500178923 | epot = -36.7063833852254 | etot = -29.5830165686162 +737000 ekin = 4.01828120268363 | erot = 2.4049581257871 | epot = -36.6589611248556 | etot = -30.2357217963849 +738000 ekin = 4.0109403602871 | erot = 2.68632566149121 | epot = -36.6548343802831 | etot = -29.9575683585048 +739000 ekin = 4.14661584174285 | erot = 2.59506078530653 | epot = -36.6780631105762 | etot = -29.9363864835269 +740000 ekin = 4.08413039711058 | erot = 2.5736582399383 | epot = -36.7021237291572 | etot = -30.0443350921083 +741000 ekin = 4.10845660619335 | erot = 2.78416335535289 | epot = -36.7754492326734 | etot = -29.8828292711272 +742000 ekin = 4.09068760907316 | erot = 3.09866824560678 | epot = -36.8187451874514 | etot = -29.6293893327714 +743000 ekin = 3.96610963094549 | erot = 3.04878673776488 | epot = -36.8535622197271 | etot = -29.8386658510168 +744000 ekin = 3.97087885402889 | erot = 3.04950786237749 | epot = -36.8512621314665 | etot = -29.8308754150601 +745000 ekin = 3.78295099566549 | erot = 3.09154774657218 | epot = -36.8410165021283 | etot = -29.9665177598907 +746000 ekin = 3.88442560568566 | erot = 3.15773579416856 | epot = -36.8645704531052 | etot = -29.822409053251 +747000 ekin = 3.94794600572262 | erot = 3.04363515896638 | epot = -36.9228275975809 | etot = -29.9312464328919 +748000 ekin = 3.94186404778415 | erot = 3.24130800398446 | epot = -37.0438118682001 | etot = -29.8606398164315 +749000 ekin = 3.93262026571698 | erot = 3.71710044171245 | epot = -37.2109632789996 | etot = -29.5612425715701 +750000 ekin = 3.82713052636537 | erot = 4.02486049381798 | epot = -37.3854716207176 | etot = -29.5334806005343 +751000 ekin = 4.02336237200016 | erot = 4.23099342037398 | epot = -37.5518597142044 | etot = -29.2975039218302 +752000 ekin = 4.06152925021086 | erot = 3.76231639564706 | epot = -37.6809132611631 | etot = -29.8570676153051 +753000 ekin = 4.07859449791209 | erot = 3.97018598947917 | epot = -37.7593004103711 | etot = -29.7105199229799 +754000 ekin = 4.26771269586489 | erot = 4.64006960442447 | epot = -37.8141557249927 | etot = -28.9063734247033 +755000 ekin = 4.26666906965385 | erot = 4.77784474773988 | epot = -37.8576299963118 | etot = -28.813116178918 +756000 ekin = 4.29131147009744 | erot = 5.38525988164288 | epot = -37.8917845570813 | etot = -28.215213205341 +757000 ekin = 4.35562563894762 | erot = 5.14819699923428 | epot = -37.8935376948419 | etot = -28.38971505666 +758000 ekin = 4.22616249375219 | erot = 5.19713356473893 | epot = -37.8901713134434 | etot = -28.4668752549522 +759000 ekin = 4.24184449957189 | erot = 5.16496183591595 | epot = -37.8881235068914 | etot = -28.4813171714036 +760000 ekin = 4.23424644958513 | erot = 5.47628298706173 | epot = -37.9000330984186 | etot = -28.1895036617718 +761000 ekin = 4.26448749341646 | erot = 5.45907771030601 | epot = -37.9055730645776 | etot = -28.1820078608551 +762000 ekin = 4.22061932798822 | erot = 5.0436907431348 | epot = -37.9108772679059 | etot = -28.6465671967828 +763000 ekin = 4.09989014592177 | erot = 5.10778066514927 | epot = -37.9045250455563 | etot = -28.6968542344852 +764000 ekin = 4.18374834614789 | erot = 5.46818179899542 | epot = -37.8676566747124 | etot = -28.2157265295691 +765000 ekin = 4.08761418374907 | erot = 5.80858388049076 | epot = -37.8033181876414 | etot = -27.9071201234015 +766000 ekin = 4.03999541680448 | erot = 5.48136006660825 | epot = -37.7411893537014 | etot = -28.2198338702887 +767000 ekin = 4.01701285460389 | erot = 5.31665044278878 | epot = -37.6438611160225 | etot = -28.3101978186298 +768000 ekin = 3.97951625205955 | erot = 5.25792422549902 | epot = -37.5214426737365 | etot = -28.284002196178 +769000 ekin = 3.9904400552571 | erot = 5.21175341266104 | epot = -37.3810973556032 | etot = -28.178903887685 +770000 ekin = 3.99199742512011 | erot = 5.21810902470215 | epot = -37.1986211065215 | etot = -27.9885146566993 +771000 ekin = 3.82567851870023 | erot = 4.95130845103881 | epot = -36.9906650314344 | etot = -28.2136780616954 +772000 ekin = 3.72123202682095 | erot = 4.74084322348095 | epot = -36.744551321368 | etot = -28.2824760710661 +773000 ekin = 3.61186619870346 | erot = 4.4876416941515 | epot = -36.4404296878967 | etot = -28.3409217950418 +774000 ekin = 3.53238563321205 | erot = 4.08515606418301 | epot = -36.143048292969 | etot = -28.5255065955739 +775000 ekin = 3.61960121968344 | erot = 4.03007080844248 | epot = -35.8636424209005 | etot = -28.2139703927746 +776000 ekin = 3.50131397859649 | erot = 3.82783005287515 | epot = -35.5938202085502 | etot = -28.2646761770785 +777000 ekin = 3.40867202048171 | erot = 3.85221546935577 | epot = -35.4006619567299 | etot = -28.1397744668925 +778000 ekin = 3.4583803102866 | erot = 3.51853820068406 | epot = -35.2979750992065 | etot = -28.3210565882358 +779000 ekin = 3.42307480041793 | erot = 3.59321040457274 | epot = -35.2809430031739 | etot = -28.2646577981832 +780000 ekin = 3.42440692402583 | erot = 3.60521054559663 | epot = -35.3411249792456 | etot = -28.3115075096232 +781000 ekin = 3.46934151467013 | erot = 3.84731508491239 | epot = -35.4518670976728 | etot = -28.1352104980902 +782000 ekin = 3.52710406680765 | erot = 4.28376670942223 | epot = -35.5950260565868 | etot = -27.7841552803569 +783000 ekin = 3.61729821660962 | erot = 4.75537078140965 | epot = -35.7562125383786 | etot = -27.3835435403593 +784000 ekin = 3.58366553598354 | erot = 4.11380123135017 | epot = -35.8708728516403 | etot = -28.1734060843065 +785000 ekin = 3.63226984987139 | erot = 4.14613629449623 | epot = -35.9549809353062 | etot = -28.1765747909386 +786000 ekin = 3.55353155352182 | erot = 3.96170523540249 | epot = -36.0104316125791 | etot = -28.4951948236547 +787000 ekin = 3.65679390509465 | erot = 4.13482060006107 | epot = -36.0644977241083 | etot = -28.2728832189526 +788000 ekin = 3.867576992853 | erot = 4.10779053552871 | epot = -36.0997261456394 | etot = -28.1243586172577 +789000 ekin = 3.93645468274948 | erot = 4.27766163431813 | epot = -36.1406694170032 | etot = -27.9265530999356 +790000 ekin = 3.99051031327522 | erot = 3.95340487785031 | epot = -36.2018617372684 | etot = -28.2579465461428 +791000 ekin = 4.10452718423531 | erot = 3.99235351847299 | epot = -36.2624115283464 | etot = -28.1655308256382 +792000 ekin = 4.33302884516796 | erot = 3.8304429162741 | epot = -36.3357012610719 | etot = -28.1722294996298 +793000 ekin = 4.59966330091371 | erot = 3.74212535974473 | epot = -36.4314410279298 | etot = -28.0896523672713 +794000 ekin = 4.70509453521945 | erot = 3.73254571552344 | epot = -36.5039677226904 | etot = -28.0663274719476 +795000 ekin = 4.82373501353496 | erot = 3.69936645898632 | epot = -36.5467302591184 | etot = -28.0236287865971 +796000 ekin = 5.02825099690213 | erot = 3.6584589522484 | epot = -36.5441938749352 | etot = -27.8574839257846 +797000 ekin = 4.98369350470429 | erot = 3.33483563015644 | epot = -36.5302539300584 | etot = -28.2117247951976 +798000 ekin = 5.04627515833427 | erot = 3.25184431558307 | epot = -36.5269098314583 | etot = -28.228790357541 +799000 ekin = 4.96165968599483 | erot = 3.39539196017168 | epot = -36.5580084896252 | etot = -28.2009568434587 +800000 ekin = 4.9608728952381 | erot = 3.5493203329157 | epot = -36.6052154994127 | etot = -28.0950222712589 +801000 ekin = 4.96148873220033 | erot = 3.39995120227754 | epot = -36.6619752973789 | etot = -28.300535362901 +802000 ekin = 4.86744715226313 | erot = 3.35338258088214 | epot = -36.694222464791 | etot = -28.4733927316457 +803000 ekin = 4.75056128639555 | erot = 3.25410486957635 | epot = -36.7045390401487 | etot = -28.6998728841768 +804000 ekin = 4.78109129200104 | erot = 3.07765972882934 | epot = -36.6985265194181 | etot = -28.8397754985877 +805000 ekin = 4.82892493818659 | erot = 3.27499533781792 | epot = -36.6737874267385 | etot = -28.5698671507339 +806000 ekin = 4.74542372520125 | erot = 3.18323237798567 | epot = -36.6406513076366 | etot = -28.7119952044497 +807000 ekin = 4.64766139288033 | erot = 3.38424960796029 | epot = -36.647673088396 | etot = -28.6157620875554 +808000 ekin = 4.457078358644 | erot = 3.35175675914238 | epot = -36.7022500935494 | etot = -28.893414975763 +809000 ekin = 4.3267088759155 | erot = 3.32046355515555 | epot = -36.7741824114205 | etot = -29.1270099803495 +810000 ekin = 4.19642960492136 | erot = 3.20396083815701 | epot = -36.8832195227731 | etot = -29.4828290796948 +811000 ekin = 4.18603442116986 | erot = 3.54097838794745 | epot = -37.0402774324891 | etot = -29.3132646233718 +812000 ekin = 4.33190991624128 | erot = 3.67977508149037 | epot = -37.2334955671968 | etot = -29.2218105694651 +813000 ekin = 4.46701990899902 | erot = 3.84749046887853 | epot = -37.477006312962 | etot = -29.1624959350845 +814000 ekin = 4.70593563863401 | erot = 4.02074050200779 | epot = -37.7739765579915 | etot = -29.0473004173497 +815000 ekin = 4.61635561952674 | erot = 4.30893882425501 | epot = -38.0622407069035 | etot = -29.1369462631217 +816000 ekin = 4.66419241223469 | erot = 4.4334841646702 | epot = -38.3533945439941 | etot = -29.2557179670892 +817000 ekin = 4.61492034782231 | erot = 4.85896836140468 | epot = -38.6054729848482 | etot = -29.1315842756212 +818000 ekin = 4.6936135555876 | erot = 4.57560992803624 | epot = -38.8141140205622 | etot = -29.5448905369383 +819000 ekin = 4.99561997491631 | erot = 4.59057590873874 | epot = -38.9861314653861 | etot = -29.399935581731 +820000 ekin = 5.14251771001315 | erot = 4.38257454602503 | epot = -39.111979352787 | etot = -29.5868870967488 +821000 ekin = 5.21211790511143 | erot = 3.76493639645341 | epot = -39.1791873910091 | etot = -30.2021330894442 +822000 ekin = 5.22763747343407 | erot = 3.81993934721836 | epot = -39.2257832500634 | etot = -30.178206429411 +823000 ekin = 5.20824824630262 | erot = 3.61818509207447 | epot = -39.2577442235127 | etot = -30.4313108851356 +824000 ekin = 5.29481176259064 | erot = 3.61607107182839 | epot = -39.2930045776051 | etot = -30.382121743186 +825000 ekin = 5.34590564278881 | erot = 3.47605801675253 | epot = -39.3020776711429 | etot = -30.4801140116015 +826000 ekin = 5.38005087585683 | erot = 3.56002985231115 | epot = -39.2878928900552 | etot = -30.3478121618872 +827000 ekin = 5.38251681844313 | erot = 3.31581026558491 | epot = -39.2838973283757 | etot = -30.5855702443476 +828000 ekin = 5.30162295798738 | erot = 2.79999506814259 | epot = -39.2990437954941 | etot = -31.1974257693642 +829000 ekin = 5.34935471298468 | erot = 2.63380753851503 | epot = -39.3079384502706 | etot = -31.3247761987709 +830000 ekin = 5.15642397228279 | erot = 2.78944963383064 | epot = -39.3294203636004 | etot = -31.383546757487 +831000 ekin = 5.04271329110575 | erot = 3.07984504895767 | epot = -39.3562191308943 | etot = -31.2336607908309 +832000 ekin = 5.04415123872944 | erot = 3.36917057661257 | epot = -39.3458026730645 | etot = -30.9324808577225 +833000 ekin = 4.97652700754312 | erot = 3.1101682681075 | epot = -39.3003589046715 | etot = -31.2136636290209 +834000 ekin = 4.66785324148465 | erot = 2.98799062968242 | epot = -39.2007615011675 | etot = -31.5449176300004 +835000 ekin = 4.41967948410668 | erot = 3.24754240638231 | epot = -39.0370935965111 | etot = -31.3698717060221 +836000 ekin = 4.19399501172609 | erot = 3.40709899396411 | epot = -38.8824429433975 | etot = -31.2813489377073 +837000 ekin = 4.05102708476564 | erot = 3.50403284169295 | epot = -38.729129846576 | etot = -31.1740699201174 +838000 ekin = 3.94991363719696 | erot = 3.82377156946746 | epot = -38.5557937558051 | etot = -30.7821085491406 +839000 ekin = 3.7432666531872 | erot = 3.97324655976193 | epot = -38.3643816043728 | etot = -30.6478683914237 +840000 ekin = 3.70351574528206 | erot = 3.51244886217305 | epot = -38.1559200259223 | etot = -30.9399554184672 +841000 ekin = 3.60547887438337 | erot = 3.69151206405111 | epot = -37.9552189953845 | etot = -30.65822805695 +842000 ekin = 3.38591284745953 | erot = 3.48115901302697 | epot = -37.764748291951 | etot = -30.8976764314645 +843000 ekin = 3.11807787995847 | erot = 3.24962582172167 | epot = -37.5931200484565 | etot = -31.2254163467764 +844000 ekin = 3.03125896851695 | erot = 3.10915311466782 | epot = -37.405355484813 | etot = -31.2649434016282 +845000 ekin = 2.84759324027358 | erot = 3.53115382226828 | epot = -37.2260086331774 | etot = -30.8472615706355 +846000 ekin = 2.83613069836887 | erot = 3.4149752298821 | epot = -37.0853206047919 | etot = -30.8342146765409 +847000 ekin = 2.82518542790846 | erot = 3.9264613760552 | epot = -36.974096592552 | etot = -30.2224497885884 +848000 ekin = 2.80356101967319 | erot = 3.75897131812122 | epot = -36.8749675315762 | etot = -30.3124351937818 +849000 ekin = 2.84159199816781 | erot = 3.65493979263187 | epot = -36.779890805585 | etot = -30.2833590147853 +850000 ekin = 2.91517374365713 | erot = 3.25543936029208 | epot = -36.7388454898329 | etot = -30.5682323858837 +851000 ekin = 3.08764953673658 | erot = 3.74455145978192 | epot = -36.7223642181885 | etot = -29.89016322167 +852000 ekin = 3.20356705871772 | erot = 3.86422941824802 | epot = -36.7413165099177 | etot = -29.6735200329519 +853000 ekin = 3.25796036952201 | erot = 4.25509323905638 | epot = -36.7658517979722 | etot = -29.2527981893938 +854000 ekin = 3.57244822927054 | erot = 4.18969744123878 | epot = -36.8021340521259 | etot = -29.0399883816166 +855000 ekin = 3.61706783412732 | erot = 4.16292249791896 | epot = -36.8626923862677 | etot = -29.0827020542214 +856000 ekin = 3.78538239755829 | erot = 4.1125355160369 | epot = -36.9244661414311 | etot = -29.0265482278359 +857000 ekin = 3.78178847655943 | erot = 4.13628071929874 | epot = -37.0292483027703 | etot = -29.1111791069121 +858000 ekin = 3.79767899411072 | erot = 4.25390024597238 | epot = -37.1883443366299 | etot = -29.1367650965468 +859000 ekin = 3.79646558910104 | erot = 4.39490149090002 | epot = -37.3423128301936 | etot = -29.1509457501926 +860000 ekin = 3.86711139340656 | erot = 4.91957560544927 | epot = -37.4915022932753 | etot = -28.7048152944195 +861000 ekin = 3.99177075241214 | erot = 4.92589410248027 | epot = -37.5868681074752 | etot = -28.6692032525828 +862000 ekin = 4.09777488770542 | erot = 4.85487231115203 | epot = -37.6175250863673 | etot = -28.6648778875099 +863000 ekin = 4.13925231113358 | erot = 4.50896117392437 | epot = -37.5986086016745 | etot = -28.9503951166166 +864000 ekin = 4.14764866587401 | erot = 4.42487018235784 | epot = -37.5204132439135 | etot = -28.9478943956816 +865000 ekin = 4.14664914911124 | erot = 4.25648196395957 | epot = -37.3939280409712 | etot = -28.9907969279004 +866000 ekin = 4.14214320133623 | erot = 4.18089045470408 | epot = -37.2179460829705 | etot = -28.8949124269302 +867000 ekin = 4.2533355578276 | erot = 3.91180056253338 | epot = -37.0368358637648 | etot = -28.8716997434038 +868000 ekin = 4.25544635673599 | erot = 4.03934502097771 | epot = -36.8925237407717 | etot = -28.597732363058 +869000 ekin = 4.24112681076696 | erot = 4.01454747655037 | epot = -36.8084367274639 | etot = -28.5527624401466 +870000 ekin = 4.33478513327969 | erot = 3.78349131070103 | epot = -36.7681636745506 | etot = -28.6498872305699 +871000 ekin = 4.17502061003877 | erot = 3.95421063050501 | epot = -36.789978024709 | etot = -28.6607467841652 +872000 ekin = 4.17603847735387 | erot = 3.83768938083755 | epot = -36.8688005631079 | etot = -28.8550727049165 +873000 ekin = 4.41693719639055 | erot = 4.07505566261771 | epot = -36.9767379853353 | etot = -28.484745126327 +874000 ekin = 4.41295334009066 | erot = 4.18394759913442 | epot = -37.1369142438402 | etot = -28.5400133046152 +875000 ekin = 4.5295533495583 | erot = 4.19580464695389 | epot = -37.3370998777418 | etot = -28.6117418812297 +876000 ekin = 4.61247068682014 | erot = 4.50897081857259 | epot = -37.524834933576 | etot = -28.4033934281833 +877000 ekin = 4.76533246608885 | erot = 4.08201826719388 | epot = -37.6873606048148 | etot = -28.8400098715321 +878000 ekin = 4.86109701096016 | erot = 4.03315572964805 | epot = -37.8092910984796 | etot = -28.9150383578714 +879000 ekin = 4.93322526419341 | erot = 3.94479688456014 | epot = -37.8433128250789 | etot = -28.9652906763253 +880000 ekin = 4.911777192825 | erot = 3.90966953329923 | epot = -37.7988935874835 | etot = -28.9774468613593 +881000 ekin = 4.87595051611175 | erot = 3.76638474533256 | epot = -37.6791282073065 | etot = -29.0367929458622 +882000 ekin = 4.80398792776511 | erot = 3.52725045147228 | epot = -37.4958553191689 | etot = -29.1646169399315 +883000 ekin = 4.56372183805733 | erot = 3.17268134771393 | epot = -37.3026048485139 | etot = -29.5662016627427 +884000 ekin = 4.38408070690437 | erot = 2.95287988074889 | epot = -37.1164899885621 | etot = -29.7795294009088 +885000 ekin = 4.21401267631408 | erot = 3.28627816384396 | epot = -36.9423946246094 | etot = -29.4421037844513 +886000 ekin = 3.94208450895983 | erot = 3.61827008671944 | epot = -36.8244889717529 | etot = -29.2641343760737 +887000 ekin = 3.76025689669472 | erot = 3.89282193563569 | epot = -36.7542446517053 | etot = -29.1011658193749 +888000 ekin = 3.58518173626078 | erot = 4.10918051627477 | epot = -36.7235080282687 | etot = -29.0291457757332 +889000 ekin = 3.52227905598844 | erot = 4.53948895643707 | epot = -36.742334591686 | etot = -28.6805665792605 +890000 ekin = 3.48725850687346 | erot = 4.91651845671102 | epot = -36.81107494511 | etot = -28.4072979815255 +891000 ekin = 3.51807183016393 | erot = 5.36785996033029 | epot = -36.9187079043872 | etot = -28.0327761138929 +892000 ekin = 3.48651441482314 | erot = 5.25687644163395 | epot = -37.0005216584211 | etot = -28.257130801964 +893000 ekin = 3.51467838154865 | erot = 5.65149044087769 | epot = -37.05944534206 | etot = -27.8932765196337 +894000 ekin = 3.45974654612344 | erot = 5.22169711042801 | epot = -37.1020642679859 | etot = -28.4206206114344 +895000 ekin = 3.57216437063283 | erot = 5.4089506797762 | epot = -37.1028729086242 | etot = -28.1217578582152 +896000 ekin = 3.56655921068021 | erot = 5.69090228219818 | epot = -37.070821741523 | etot = -27.8133602486446 +897000 ekin = 3.57757547802829 | erot = 5.90228049359271 | epot = -36.9859514532974 | etot = -27.5060954816764 +898000 ekin = 3.52295514054008 | erot = 5.84538360240597 | epot = -36.8484715408745 | etot = -27.4801327979284 +899000 ekin = 3.42191869063631 | erot = 5.47174915922289 | epot = -36.6856616378147 | etot = -27.7919937879555 +900000 ekin = 3.45720121516806 | erot = 5.59973772512064 | epot = -36.5148133918258 | etot = -27.4578744515371 +901000 ekin = 3.51607619901442 | erot = 5.88763510779773 | epot = -36.2859464010575 | etot = -26.8822350942454 +902000 ekin = 3.56087621117169 | erot = 5.17399063106742 | epot = -36.0621785767848 | etot = -27.3273117345457 +903000 ekin = 3.56470936099193 | erot = 5.0736169800556 | epot = -35.8794588183624 | etot = -27.2411324773149 +904000 ekin = 3.64294879518613 | erot = 5.28022715353213 | epot = -35.7543216612838 | etot = -26.8311457125655 +905000 ekin = 3.72447152602285 | erot = 5.02657007424527 | epot = -35.6582804909764 | etot = -26.9072388907083 +906000 ekin = 3.75914133677088 | erot = 4.63070748715842 | epot = -35.612999504401 | etot = -27.2231506804717 +907000 ekin = 4.00046169414558 | erot = 4.63743176603131 | epot = -35.6087015116536 | etot = -26.9708080514767 +908000 ekin = 3.98050966425464 | erot = 4.23795607914891 | epot = -35.6020003534147 | etot = -27.3835346100112 +909000 ekin = 4.14488755712815 | erot = 3.77771446920705 | epot = -35.5819012555833 | etot = -27.6592992292481 +910000 ekin = 4.1887889926356 | erot = 3.85878998652561 | epot = -35.5853308204891 | etot = -27.5377518413279 +911000 ekin = 4.15448454864758 | erot = 3.93063753948176 | epot = -35.6075046071718 | etot = -27.5223825190425 +912000 ekin = 4.30922033402802 | erot = 4.53644215925805 | epot = -35.6368602869835 | etot = -26.7911977936974 +913000 ekin = 4.42050627097558 | erot = 4.36559538892952 | epot = -35.6635505470047 | etot = -26.8774488870996 +914000 ekin = 4.6403841670674 | erot = 4.57708989772375 | epot = -35.6621612967527 | etot = -26.4446872319616 +915000 ekin = 4.71121950507705 | erot = 4.34018648406813 | epot = -35.6015140360094 | etot = -26.5501080468642 +916000 ekin = 4.67735943325919 | erot = 4.0723772918886 | epot = -35.4903050476419 | etot = -26.7405683224941 +917000 ekin = 4.78142703705638 | erot = 4.20198791892886 | epot = -35.3917685265256 | etot = -26.4083535705404 +918000 ekin = 4.7742119869693 | erot = 4.42971373988814 | epot = -35.2582637676414 | etot = -26.0543380407839 +919000 ekin = 4.73422216252914 | erot = 4.77044814340051 | epot = -35.0931913565728 | etot = -25.5885210506432 +920000 ekin = 4.64583700129848 | erot = 4.69774436792081 | epot = -34.9395895324837 | etot = -25.5960081632644 +921000 ekin = 4.61516328269964 | erot = 4.43350879426936 | epot = -34.8128426462854 | etot = -25.7641705693164 +922000 ekin = 4.55621337364178 | erot = 4.21768777753525 | epot = -34.731272035168 | etot = -25.957370883991 +923000 ekin = 4.59034826680215 | erot = 4.50920703076205 | epot = -34.7044992141229 | etot = -25.6049439165587 +924000 ekin = 4.58356240196282 | erot = 4.62074320796255 | epot = -34.7126986327434 | etot = -25.5083930228181 +925000 ekin = 4.53220072800684 | erot = 4.79254817721302 | epot = -34.7588998026867 | etot = -25.4341508974668 +926000 ekin = 4.55832715206546 | erot = 5.00471911281283 | epot = -34.8080246038197 | etot = -25.2449783389414 +927000 ekin = 4.62575171089084 | erot = 4.71181044830637 | epot = -34.8667293476369 | etot = -25.5291671884397 +928000 ekin = 4.6865737520682 | erot = 4.76234601746956 | epot = -34.9159498367978 | etot = -25.4670300672601 +929000 ekin = 4.70610289156496 | erot = 5.07097104655825 | epot = -34.9791697926812 | etot = -25.202095854558 +930000 ekin = 4.79474071813525 | erot = 5.21915381885372 | epot = -35.0589708185242 | etot = -25.0450762815352 +931000 ekin = 4.69039359230198 | erot = 5.48593447848963 | epot = -35.1099047138404 | etot = -24.9335766430488 +932000 ekin = 4.7111009460339 | erot = 5.4720468535618 | epot = -35.1612846037869 | etot = -24.9781368041912 +933000 ekin = 4.76369652677887 | erot = 5.41370570081894 | epot = -35.2317575147351 | etot = -25.0543552871373 +934000 ekin = 4.83643894391789 | erot = 5.23508631414153 | epot = -35.3109086744022 | etot = -25.2393834163428 +935000 ekin = 4.76586014730436 | erot = 5.22865540833756 | epot = -35.3670038676071 | etot = -25.3724883119652 +936000 ekin = 4.7459923218933 | erot = 5.40903849081523 | epot = -35.4141584031107 | etot = -25.2591275904022 +937000 ekin = 4.70665366838905 | erot = 5.90535300927779 | epot = -35.4573569432724 | etot = -24.8453502656056 +938000 ekin = 4.73520980048979 | erot = 5.48994015212931 | epot = -35.4717259493596 | etot = -25.2465759967405 +939000 ekin = 4.66471904112519 | erot = 5.58667162801307 | epot = -35.4363389851306 | etot = -25.1849483159923 +940000 ekin = 4.73670308439177 | erot = 5.59502045341229 | epot = -35.3410735898404 | etot = -25.0093500520363 +941000 ekin = 4.56546752366378 | erot = 5.16939612930462 | epot = -35.2196425314963 | etot = -25.4847788785279 +942000 ekin = 4.36600564082669 | erot = 4.55609433699451 | epot = -35.0782455188876 | etot = -26.1561455410664 +943000 ekin = 4.27680501590838 | erot = 4.77186490926422 | epot = -34.9346146494824 | etot = -25.8859447243098 +944000 ekin = 4.17576408254737 | erot = 4.64476704064562 | epot = -34.7936442239135 | etot = -25.9731131007205 +945000 ekin = 4.08165692512371 | erot = 4.64307958398346 | epot = -34.7241648822137 | etot = -25.9994283731065 +946000 ekin = 3.98238337685344 | erot = 4.33903183997964 | epot = -34.7208981880722 | etot = -26.3994829712391 +947000 ekin = 4.11312487406461 | erot = 4.25698162025787 | epot = -34.8023164533948 | etot = -26.4322099590723 +948000 ekin = 4.03905965504869 | erot = 4.28038925266087 | epot = -34.9281986674362 | etot = -26.6087497597266 +949000 ekin = 4.1208125166908 | erot = 4.40083354097111 | epot = -35.1348098866939 | etot = -26.613163829032 +950000 ekin = 4.19947300195128 | erot = 4.46892156642135 | epot = -35.3299547862506 | etot = -26.661560217878 +951000 ekin = 4.28802819218884 | erot = 4.36807424436335 | epot = -35.5595339264246 | etot = -26.9034314898725 +952000 ekin = 4.44618066979578 | erot = 4.88998578448103 | epot = -35.7762645912068 | etot = -26.44009813693 +953000 ekin = 4.5302283554923 | erot = 4.90684636989476 | epot = -35.9402525430858 | etot = -26.5031778176987 +954000 ekin = 4.65793433635961 | erot = 4.95789701943277 | epot = -36.1007223995933 | etot = -26.4848910438009 +955000 ekin = 4.68472849923027 | erot = 4.84778271057312 | epot = -36.2250094081951 | etot = -26.6924981983917 +956000 ekin = 4.83489144923538 | erot = 4.61252423076221 | epot = -36.2912267944712 | etot = -26.8438111144736 +957000 ekin = 4.83158754758409 | erot = 4.0642787483582 | epot = -36.3314048744553 | etot = -27.435538578513 +958000 ekin = 4.95872508890374 | erot = 3.8676428932311 | epot = -36.3554965538545 | etot = -27.5291285717197 +959000 ekin = 4.88220034385472 | erot = 3.76501141985342 | epot = -36.3703754351938 | etot = -27.7231636714857 +960000 ekin = 4.96739750076015 | erot = 3.7014398632156 | epot = -36.3537104260633 | etot = -27.6848730620876 +961000 ekin = 5.05073619222996 | erot = 3.58723306284446 | epot = -36.3292284086296 | etot = -27.6912591535552 +962000 ekin = 5.10220917296366 | erot = 3.43365806618373 | epot = -36.2926607322774 | etot = -27.75679349313 +963000 ekin = 5.25727455724212 | erot = 3.39047088285921 | epot = -36.2233249912223 | etot = -27.575579551121 +964000 ekin = 5.33892942752082 | erot = 3.38850636488331 | epot = -36.1631800361723 | etot = -27.4357442437681 +965000 ekin = 5.2970730958468 | erot = 3.40709075904151 | epot = -36.114647791202 | etot = -27.4104839363137 +966000 ekin = 5.27380254283778 | erot = 3.34984185029643 | epot = -36.0934598827503 | etot = -27.4698154896161 +967000 ekin = 5.19975037009079 | erot = 3.54967607074502 | epot = -36.1222651146807 | etot = -27.3728386738448 +968000 ekin = 5.22098509097155 | erot = 3.3892004067814 | epot = -36.1570868906286 | etot = -27.5469013928757 +969000 ekin = 5.01248198517068 | erot = 3.26201512253228 | epot = -36.2130447987792 | etot = -27.9385476910762 +970000 ekin = 4.97914863237106 | erot = 3.76343819077311 | epot = -36.2895058744145 | etot = -27.5469190512703 +971000 ekin = 5.04224300192785 | erot = 3.59024832311319 | epot = -36.3590409977869 | etot = -27.7265496727458 +972000 ekin = 5.05787332232175 | erot = 3.83558558676151 | epot = -36.3997125264456 | etot = -27.5062536173623 +973000 ekin = 5.01777031588935 | erot = 3.27986497682726 | epot = -36.4166837336011 | etot = -28.1190484408845 +974000 ekin = 4.96186842907979 | erot = 3.23479851019171 | epot = -36.4352005399393 | etot = -28.2385336006678 +975000 ekin = 4.97224363278502 | erot = 3.35077904927888 | epot = -36.4557098060367 | etot = -28.1326871239728 +976000 ekin = 5.0162553138043 | erot = 3.41837200675041 | epot = -36.4643526378271 | etot = -28.0297253172724 +977000 ekin = 5.04359880486583 | erot = 3.40669885598936 | epot = -36.4673967616966 | etot = -28.0170991008414 +978000 ekin = 4.9681411602187 | erot = 3.39885422893789 | epot = -36.4671439769122 | etot = -28.1001485877556 +979000 ekin = 4.68494120169249 | erot = 3.87226166481083 | epot = -36.4696261905049 | etot = -27.9124233240016 +980000 ekin = 4.80514576212701 | erot = 3.73614562894005 | epot = -36.475376838153 | etot = -27.9340854470859 +981000 ekin = 4.85375109376202 | erot = 4.35522911699943 | epot = -36.490277579472 | etot = -27.2812973687106 +982000 ekin = 4.79648806853116 | erot = 4.15595945903746 | epot = -36.5084812040106 | etot = -27.556033676442 +983000 ekin = 4.75907969484057 | erot = 4.43556787871506 | epot = -36.5083539693145 | etot = -27.3137063957588 +984000 ekin = 4.81598118843888 | erot = 4.52957555705298 | epot = -36.5383410952843 | etot = -27.1927843497924 +985000 ekin = 4.87924474650941 | erot = 4.31630979014036 | epot = -36.577700648078 | etot = -27.3821461114282 +986000 ekin = 4.77128314224537 | erot = 4.12408981491498 | epot = -36.5819281400531 | etot = -27.6865551828927 +987000 ekin = 4.70900566206185 | erot = 4.08922713836866 | epot = -36.5892891612732 | etot = -27.7910563608427 +988000 ekin = 4.6968564492698 | erot = 4.03217145235668 | epot = -36.6289948782934 | etot = -27.8999669766669 +989000 ekin = 4.56955203825019 | erot = 4.16364650343056 | epot = -36.6885496975525 | etot = -27.9553511558718 +990000 ekin = 4.56207337974517 | erot = 3.92865148644801 | epot = -36.7375440238776 | etot = -28.2468191576844 +991000 ekin = 4.4586326947315 | erot = 3.99370804360007 | epot = -36.8046932644695 | etot = -28.3523525261379 +992000 ekin = 4.52516169637469 | erot = 4.19036473784407 | epot = -36.9045951669892 | etot = -28.1890687327704 +993000 ekin = 4.26593637770936 | erot = 4.55899726308496 | epot = -37.0283922292365 | etot = -28.2034585884422 +994000 ekin = 4.14968593987806 | erot = 4.67871188882193 | epot = -37.1561829580762 | etot = -28.3277851293762 +995000 ekin = 4.20875361664816 | erot = 4.51127733270458 | epot = -37.285893138091 | etot = -28.5658621887383 +996000 ekin = 4.10968366763525 | erot = 4.25871927923692 | epot = -37.3745810703536 | etot = -29.0061781234814 +997000 ekin = 4.00616178451074 | erot = 4.48911641515844 | epot = -37.4314666701152 | etot = -28.936188470446 +998000 ekin = 4.02180091279274 | erot = 4.35841167717687 | epot = -37.4443636100105 | etot = -29.0641510200409 +999000 ekin = 4.07504562975234 | erot = 4.2623087345041 | epot = -37.4098012996852 | etot = -29.0724469354287 +1000000 ekin = 3.90433765200202 | erot = 4.66881888228247 | epot = -37.3063332342133 | etot = -28.7331766999288 + 1000000 0.10411567 -1.4674304 0.032571422 -1.2846921 -6.6175275e-05 64000 +Loop time of 46.7814 on 4 procs for 1000000 steps with 26 atoms + +Performance: 18468.870 tau/day, 21376.007 timesteps/s +99.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 | 12.74 | 20.221 | 37.61 | 224.5 | 43.22 +Bond | 0.40761 | 0.56838 | 0.7636 | 21.2 | 1.21 +Neigh | 0.009822 | 0.0099905 | 0.010152 | 0.1 | 0.02 +Comm | 5.0791 | 23.235 | 31.502 | 219.3 | 49.67 +Output | 0.11084 | 0.12593 | 0.13167 | 2.5 | 0.27 +Modify | 1.5136 | 2.183 | 2.853 | 44.8 | 4.67 +Other | | 0.4378 | | | 0.94 + +Nlocal: 6.50000 ave 10 max 3 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Nghost: 19.5000 ave 23 max 16 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Neighs: 75.2500 ave 190 max 23 min +Histogram: 1 2 0 0 0 0 0 0 0 1 + +Total # of neighbors = 301 +Ave neighs/atom = 11.576923 +Ave special neighs/atom = 5.0769231 +Neighbor list builds = 1000 +Dangerous builds = 0 + +write_data last_config.${number}.* nocoeff +write_data last_config.8.* nocoeff +System init for write_data ... +#write_restart last_config.${number}.* +Total wall time: 0:00:46 diff --git a/examples/PACKAGES/cgdna/examples/oxRNA2/duplex2/in.duplex2 b/examples/PACKAGES/cgdna/examples/oxRNA2/duplex2/in.duplex2 index 09061269ff..30458a7266 100644 --- a/examples/PACKAGES/cgdna/examples/oxRNA2/duplex2/in.duplex2 +++ b/examples/PACKAGES/cgdna/examples/oxRNA2/duplex2/in.duplex2 @@ -8,7 +8,7 @@ units lj dimension 3 -newton off +newton on boundary p p p @@ -70,3 +70,4 @@ dump_modify out format line "%d %d %d %22.15le %22.15le %22.15le %d %d %d %22 run 1000000 write_data last_config.${number}.* nocoeff +#write_restart last_config.${number}.* diff --git a/examples/PACKAGES/cgdna/examples/oxRNA2/duplex2/log.27May21.duplex2.g++.1 b/examples/PACKAGES/cgdna/examples/oxRNA2/duplex2/log.27May21.duplex2.g++.1 deleted file mode 100644 index 9e047a580d..0000000000 --- a/examples/PACKAGES/cgdna/examples/oxRNA2/duplex2/log.27May21.duplex2.g++.1 +++ /dev/null @@ -1,1181 +0,0 @@ -LAMMPS (27 May 2021) -variable number equal 2 -variable ofreq equal 1000 -variable efreq equal 1000 -variable T equal 0.1 -variable rhos equal 0.5 - -units lj - -dimension 3 - -newton off - -boundary p p p - -atom_style hybrid bond ellipsoid oxdna -WARNING: Atom style hybrid defines both, per-type and per-atom masses; both must be set, but only per-atom masses will be used (../atom_vec_hybrid.cpp:157) -atom_modify sort 0 1.0 - -# Pair interactions require lists of neighbours to be calculated -neighbor 2.0 bin -neigh_modify every 1 delay 0 check yes - -read_data data.duplex2 -Reading data file ... - orthogonal box = (-20.000000 -20.000000 -20.000000) to (20.000000 20.000000 20.000000) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 16 atoms - reading velocities ... - 16 velocities - scanning bonds ... - 2 = max bonds/atom - 16 ellipsoids - reading bonds ... - 13 bonds -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 - 2 = max # of 1-3 neighbors - 4 = max # of 1-4 neighbors - 6 = max # of special neighbors - special bonds CPU = 0.000 seconds - read_data CPU = 0.003 seconds - -set atom * mass 3.1575 -Setting atom values ... - 16 settings made for mass - -group all type 1 4 -16 atoms in group all - -# oxRNA2 bond interactions - FENE backbone -bond_style oxrna2/fene -bond_coeff * 2.0 0.25 0.761070781051 -special_bonds lj 0 1 1 -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 1 1 - special bond factors coul: 0 0 0 - 2 = max # of 1-2 neighbors - 2 = max # of 1-3 neighbors - 4 = max # of 1-4 neighbors - 6 = max # of special neighbors - special bonds CPU = 0.000 seconds - -# oxRNA2 pair interactions -pair_style hybrid/overlay oxrna2/excv oxrna2/stk oxrna2/hbond oxrna2/xstk oxrna2/coaxstk oxrna2/dh -pair_coeff * * oxrna2/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32 -pair_coeff * * oxrna2/stk seqdep ${T} 1.40206 2.77 6.0 0.43 0.93 0.35 0.78 0.9 0 0.95 0.9 0 0.95 1.3 0 0.8 1.3 0 0.8 2.0 0.65 2.0 0.65 -pair_coeff * * oxrna2/stk seqdep 0.1 1.40206 2.77 6.0 0.43 0.93 0.35 0.78 0.9 0 0.95 0.9 0 0.95 1.3 0 0.8 1.3 0 0.8 2.0 0.65 2.0 0.65 -pair_coeff * * oxrna2/hbond seqdep 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 1 4 oxrna2/hbond seqdep 0.870439 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 2 3 oxrna2/hbond seqdep 0.870439 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 3 4 oxrna2/hbond seqdep 0.870439 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff * * oxrna2/xstk 59.9626 0.5 0.6 0.42 0.58 2.25 0.505 0.58 1.7 1.266 0.68 1.7 1.266 0.68 1.7 0.309 0.68 1.7 0.309 0.68 -pair_coeff * * oxrna2/coaxstk 80 0.5 0.6 0.42 0.58 2.0 2.592 0.65 1.3 0.151 0.8 0.9 0.685 0.95 0.9 0.685 0.95 2.0 -0.65 2.0 -0.65 -pair_coeff * * oxrna2/dh ${T} ${rhos} 1.02455 -pair_coeff * * oxrna2/dh 0.1 ${rhos} 1.02455 -pair_coeff * * oxrna2/dh 0.1 0.5 1.02455 - -# NVE ensemble -fix 1 all nve/asphere -#fix 2 all langevin ${T} ${T} 2.5 457145 angmom 10 - -timestep 1e-5 - -#comm_style tiled -fix 3 all balance 1000 1.03 shift xyz 10 1.03 -comm_modify cutoff 3.8 - -compute quat all property/atom quatw quati quatj quatk - -compute erot all erotate/asphere -compute ekin all ke -compute epot all pe -variable erot equal c_erot -variable ekin equal c_ekin -variable epot equal c_epot -variable etot equal c_erot+c_ekin+c_epot -fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes -fix 5 all print 1000 "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes - -dump out all custom ${ofreq} out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz -dump out all custom 1000 out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz -dump out all custom 1000 out.2.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz -dump_modify out sort id -dump_modify out format line "%d %d %d %22.15le %22.15le %22.15le %d %d %d %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le" - -run 1000000 -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 4.3014979 - ghost atom cutoff = 4.3014979 - binsize = 2.150749, bins = 19 19 19 - 5 neighbor lists, perpetual/occasional/extra = 5 0 0 - (1) pair oxrna2/excv, perpetual - attributes: half, newton off - pair build: half/bin/newtoff - stencil: full/bin/3d - bin: standard - (2) pair oxrna2/hbond, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (3) pair oxrna2/xstk, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (4) pair oxrna2/coaxstk, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (5) pair oxrna2/dh, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none -WARNING: Communication cutoff adjusted to 4.301497916929199 (../comm.cpp:739) -0 ekin = 2.70475393009871 | erot = 2.80172072918779 | epot = -11.1349465280231 | etot = -5.62847186873664 -Per MPI rank memory allocation (min/avg/max) = 9.597 | 9.597 | 9.597 Mbytes -Step Temp E_pair E_mol TotEng Press Volume - 0 0.12021129 -0.7299505 0.034016337 -0.52688704 5.1214421e-05 64000 -1000 ekin = 2.74425239815418 | erot = 2.79065458610894 | epot = -11.163378852689 | etot = -5.62847186842592 -2000 ekin = 2.78841691867037 | erot = 2.77992540099535 | epot = -11.1968141877249 | etot = -5.62847186805919 -3000 ekin = 2.83938215410024 | erot = 2.77185117591642 | epot = -11.2397051978033 | etot = -5.62847186778665 -4000 ekin = 2.89876217830266 | erot = 2.76816783884241 | epot = -11.295401884792 | etot = -5.62847186764698 -5000 ekin = 2.96742170720772 | erot = 2.76919345829433 | epot = -11.3650870331989 | etot = -5.62847186769686 -6000 ekin = 3.04563007371043 | erot = 2.77376672268246 | epot = -11.4478686641706 | etot = -5.6284718677777 -7000 ekin = 3.13407886898542 | erot = 2.78065913591454 | epot = -11.5432098726293 | etot = -5.62847186772937 -8000 ekin = 3.23400863287747 | erot = 2.78938863934855 | epot = -11.651869139893 | etot = -5.628471867667 -9000 ekin = 3.34625998930262 | erot = 2.80019523753782 | epot = -11.7749270943235 | etot = -5.62847186748305 -10000 ekin = 3.47220350616338 | erot = 2.81464622815281 | epot = -11.9153216015116 | etot = -5.62847186719543 -11000 ekin = 3.61341090096022 | erot = 2.83541090219848 | epot = -12.0772936703878 | etot = -5.62847186722912 -12000 ekin = 3.76971728921065 | erot = 2.8651661044909 | epot = -12.2633552607298 | etot = -5.62847186702824 -13000 ekin = 3.9410557771447 | erot = 2.90597306806356 | epot = -12.4755007121564 | etot = -5.62847186694816 -14000 ekin = 4.1273074489676 | erot = 2.95952862137382 | epot = -12.7153079373022 | etot = -5.62847186696076 -15000 ekin = 4.32776706381553 | erot = 3.02701108512253 | epot = -12.9832500158852 | etot = -5.62847186694718 -16000 ekin = 4.54139695680688 | erot = 3.10924468066181 | epot = -13.2791135046204 | etot = -5.62847186715173 -17000 ekin = 4.76575661763827 | erot = 3.20604355373095 | epot = -13.60027203892 | etot = -5.62847186755078 -18000 ekin = 4.99700491214688 | erot = 3.31611869568271 | epot = -13.9415954758898 | etot = -5.62847186806021 -19000 ekin = 5.23048108112194 | erot = 3.43700077146765 | epot = -14.2959537213472 | etot = -5.62847186875764 -20000 ekin = 5.46074742513061 | erot = 3.56463156086408 | epot = -14.6538508556014 | etot = -5.62847186960667 -21000 ekin = 5.68087058007138 | erot = 3.6925677668172 | epot = -15.0019102179231 | etot = -5.62847187103448 -22000 ekin = 5.88327619983881 | erot = 3.81252322503562 | epot = -15.3242712967755 | etot = -5.62847187190108 -23000 ekin = 6.06249979951993 | erot = 3.91720950057677 | epot = -15.6081811728147 | etot = -5.62847187271797 -24000 ekin = 6.21449712377439 | erot = 4.00104081543187 | epot = -15.8440098121104 | etot = -5.62847187290417 -25000 ekin = 6.33853277809256 | erot = 4.06184542619888 | epot = -16.0288500769828 | etot = -5.62847187269139 -26000 ekin = 6.43627737187013 | erot = 4.10076278430851 | epot = -16.1655120283938 | etot = -5.62847187221521 -27000 ekin = 6.51092447972029 | erot = 4.12134483746817 | epot = -16.2607411888241 | etot = -5.62847187163564 -28000 ekin = 6.56622100976686 | erot = 4.12827111510824 | epot = -16.3229639959506 | etot = -5.6284718710755 -29000 ekin = 6.60587340002397 | erot = 4.12622173833907 | epot = -16.3605670089492 | etot = -5.62847187058613 -30000 ekin = 6.63335580501832 | erot = 4.11921545444659 | epot = -16.3810431296794 | etot = -5.62847187021445 -31000 ekin = 6.65211888589275 | erot = 4.10999678317537 | epot = -16.3905875389834 | etot = -5.6284718699153 -32000 ekin = 6.66584763664878 | erot = 4.10024297795107 | epot = -16.3945624842072 | etot = -5.6284718696074 -33000 ekin = 6.67923227191034 | erot = 4.09129207413372 | epot = -16.398996215263 | etot = -5.62847186921898 -34000 ekin = 6.69756137216837 | erot = 4.08414768607671 | epot = -16.4101809271347 | etot = -5.62847186888963 -35000 ekin = 6.72589628312087 | erot = 4.07950228497955 | epot = -16.4338704366878 | etot = -5.62847186858736 -36000 ekin = 6.76908557113719 | erot = 4.07778615492117 | epot = -16.4753435944361 | etot = -5.62847186837779 -37000 ekin = 6.83097506213407 | erot = 4.07899014040672 | epot = -16.5384370708783 | etot = -5.62847186833747 -38000 ekin = 6.91354703253175 | erot = 4.08242106390425 | epot = -16.6244399649597 | etot = -5.62847186852366 -39000 ekin = 7.01626065739836 | erot = 4.08652171942794 | epot = -16.7312542457771 | etot = -5.62847186895078 -40000 ekin = 7.13573792258332 | erot = 4.08884404540015 | epot = -16.8530538375758 | etot = -5.62847186959231 -41000 ekin = 7.26614194134516 | erot = 4.08627042537781 | epot = -16.9808842370343 | etot = -5.62847187031131 -42000 ekin = 7.40051154120589 | erot = 4.07546023443119 | epot = -17.1044436466277 | etot = -5.6284718709906 -43000 ekin = 7.5315743714369 | erot = 4.05344655359662 | epot = -17.2134927965849 | etot = -5.62847187155142 -44000 ekin = 7.65268317567644 | erot = 4.01819177227261 | epot = -17.2993468198234 | etot = -5.62847187187434 -45000 ekin = 7.75845343306886 | erot = 3.96898510895805 | epot = -17.3559104142066 | etot = -5.62847187217966 -46000 ekin = 7.84504377034637 | erot = 3.9045490306483 | epot = -17.3780646733318 | etot = -5.62847187233708 -47000 ekin = 7.91002390820626 | erot = 3.82478596555235 | epot = -17.3632817459108 | etot = -5.62847187215216 -48000 ekin = 7.95195705456502 | erot = 3.73154439390043 | epot = -17.3119733204129 | etot = -5.62847187194745 -49000 ekin = 7.97001825706863 | erot = 3.62752007295082 | epot = -17.2260102016185 | etot = -5.62847187159907 -50000 ekin = 7.96375756700425 | erot = 3.51726958365141 | epot = -17.1094990215452 | etot = -5.62847187088955 -51000 ekin = 7.93280761300434 | erot = 3.40827188497866 | epot = -16.9695513688031 | etot = -5.62847187082008 -52000 ekin = 7.87656811744185 | erot = 3.30207418532559 | epot = -16.8071141735586 | etot = -5.62847187079121 -53000 ekin = 7.795310125419 | erot = 3.1983998481543 | epot = -16.6221818441147 | etot = -5.62847187054139 -54000 ekin = 7.68952609570327 | erot = 3.09980185481832 | epot = -16.4177998208245 | etot = -5.62847187030293 -55000 ekin = 7.55966222141087 | erot = 3.00897426989542 | epot = -16.1971083614499 | etot = -5.62847187014361 -56000 ekin = 7.4059412450799 | erot = 2.92802865182262 | epot = -15.9624417669772 | etot = -5.62847187007467 -57000 ekin = 7.22816598141979 | erot = 2.85836584281792 | epot = -15.7150036943479 | etot = -5.62847187011019 -58000 ekin = 7.02573051397593 | erot = 2.80066522322033 | epot = -15.4548676074193 | etot = -5.62847187022304 -59000 ekin = 6.80455077165106 | erot = 2.75651944712028 | epot = -15.1895420860964 | etot = -5.62847186732507 -60000 ekin = 6.57760251691499 | erot = 2.72731501678731 | epot = -14.9333893991692 | etot = -5.62847186546688 -61000 ekin = 5.9988405319001 | erot = 2.65010269791697 | epot = -14.2774150331152 | etot = -5.62847180329812 -62000 ekin = 5.82217958652213 | erot = 2.65058478195178 | epot = -14.1012361774604 | etot = -5.62847180898654 -63000 ekin = 6.00993174210244 | erot = 2.71143483466418 | epot = -14.3498384845184 | etot = -5.62847190775179 -64000 ekin = 5.85096985050363 | erot = 2.71173917624734 | epot = -14.1911809366075 | etot = -5.6284719098565 -65000 ekin = 5.6795980144273 | erot = 2.70731630130173 | epot = -14.0153862253963 | etot = -5.62847190966731 -66000 ekin = 5.49812382731701 | erot = 2.69646895132523 | epot = -13.8230646880631 | etot = -5.6284719094209 -67000 ekin = 5.31011188753142 | erot = 2.67901331172422 | epot = -13.6175971082583 | etot = -5.62847190900269 -68000 ekin = 5.11964229582584 | erot = 2.6562219727344 | epot = -13.4043361770527 | etot = -5.62847190849249 -69000 ekin = 4.93067975207848 | erot = 2.63014135225734 | epot = -13.189293012493 | etot = -5.62847190815717 -70000 ekin = 4.7469738661748 | erot = 2.60347312706346 | epot = -12.9789189008751 | etot = -5.6284719076368 -71000 ekin = 4.57222133259563 | erot = 2.5797158979897 | epot = -12.7804091377444 | etot = -5.62847190715907 -72000 ekin = 4.40959648507777 | erot = 2.5622829592253 | epot = -12.6003513510616 | etot = -5.62847190675855 -73000 ekin = 4.261700095739 | erot = 2.55406076080147 | epot = -12.4442327629949 | etot = -5.62847190645442 -74000 ekin = 4.13052949790815 | erot = 2.55713155841199 | epot = -12.3161329625866 | etot = -5.62847190626649 -75000 ekin = 4.0158819282887 | erot = 2.56608801434103 | epot = -12.2104419139898 | etot = -5.62847197136009 -76000 ekin = 3.95904625854752 | erot = 2.44184942386052 | epot = -12.0293675901711 | etot = -5.62847190776301 -77000 ekin = 4.02755960266358 | erot = 2.46007159499075 | epot = -12.1161031098039 | etot = -5.6284719121496 -78000 ekin = 3.9878543994381 | erot = 2.49596945534626 | epot = -12.1122957670966 | etot = -5.62847191231222 -79000 ekin = 3.96575767721423 | erot = 2.54200842335473 | epot = -12.1362380131154 | etot = -5.62847191254644 -80000 ekin = 3.95961954869549 | erot = 2.59604589435614 | epot = -12.1841373558849 | etot = -5.62847191283329 -81000 ekin = 3.96734100032337 | erot = 2.65577062232368 | epot = -12.2515835357817 | etot = -5.62847191313468 -82000 ekin = 3.98651997822116 | erot = 2.71892569307098 | epot = -12.333917584723 | etot = -5.62847191343086 -83000 ekin = 4.01459300302737 | erot = 2.78352190390212 | epot = -12.4265868206359 | etot = -5.62847191370646 -84000 ekin = 4.04956210608545 | erot = 2.84796629664432 | epot = -12.5260003165345 | etot = -5.62847191380469 -85000 ekin = 4.09049341026859 | erot = 2.91104365381114 | epot = -12.630008978118 | etot = -5.62847191403825 -86000 ekin = 4.13484812560041 | erot = 2.97201165419102 | epot = -12.7353316940204 | etot = -5.62847191422894 -87000 ekin = 4.18003829184646 | erot = 3.03078479878299 | epot = -12.8392950049954 | etot = -5.6284719143659 -88000 ekin = 4.22360704724732 | erot = 3.08796574000335 | epot = -12.9400447017002 | etot = -5.62847191444958 -89000 ekin = 4.26326024607322 | erot = 3.14481288279498 | epot = -13.0365450433359 | etot = -5.62847191446774 -90000 ekin = 4.29588111790616 | erot = 3.20341713777027 | epot = -13.1277701703301 | etot = -5.62847191465365 -91000 ekin = 4.31697784577813 | erot = 3.26736040230169 | epot = -13.2128101626458 | etot = -5.62847191456593 -92000 ekin = 4.32507837347579 | erot = 3.33931601944573 | epot = -13.2928663075902 | etot = -5.62847191466873 -93000 ekin = 4.31872212432196 | erot = 3.4203654191679 | epot = -13.367559458178 | etot = -5.62847191468809 -94000 ekin = 4.29660005793293 | erot = 3.51205694754416 | epot = -13.4371289201541 | etot = -5.628471914677 -95000 ekin = 4.25789021838842 | erot = 3.61606475666855 | epot = -13.502426889667 | etot = -5.62847191461008 -96000 ekin = 4.202536619265 | erot = 3.73412422729675 | epot = -13.5651327610313 | etot = -5.62847191446956 -97000 ekin = 4.13146529060015 | erot = 3.86803037439311 | epot = -13.6279675793419 | etot = -5.62847191434862 -98000 ekin = 4.04669071975352 | erot = 4.01885670334744 | epot = -13.6940193371953 | etot = -5.62847191409434 -99000 ekin = 3.95128630061895 | erot = 4.18772840013478 | epot = -13.7674866145626 | etot = -5.62847191380887 -100000 ekin = 3.84921784883058 | erot = 4.37558821791295 | epot = -13.8532779802874 | etot = -5.6284719135439 -101000 ekin = 3.74501223923284 | erot = 4.58258429231803 | epot = -13.9560684449145 | etot = -5.62847191336366 -102000 ekin = 3.64330024870551 | erot = 4.80764134110135 | epot = -14.0794135031373 | etot = -5.62847191333048 -103000 ekin = 3.54831662006251 | erot = 5.04811575607568 | epot = -14.2249042896175 | etot = -5.62847191347927 -104000 ekin = 3.46349772064904 | erot = 5.29960820358518 | epot = -14.3915778382037 | etot = -5.62847191396945 -105000 ekin = 3.39136254536234 | erot = 5.55507704360061 | epot = -14.5749115034251 | etot = -5.62847191446211 -106000 ekin = 3.33356403744371 | erot = 5.80718759325009 | epot = -14.769223545484 | etot = -5.62847191479015 -107000 ekin = 3.29209861353664 | erot = 6.0490668738683 | epot = -14.9696374027455 | etot = -5.62847191534052 -108000 ekin = 3.26748487341077 | erot = 6.27418243659792 | epot = -15.170139225863 | etot = -5.62847191585429 -109000 ekin = 3.25930506886577 | erot = 6.4758541724441 | epot = -15.3636311580692 | etot = -5.62847191675935 -110000 ekin = 3.26568272829079 | erot = 6.64602097208024 | epot = -15.5401756176986 | etot = -5.62847191732761 -111000 ekin = 3.28520059172608 | erot = 6.77857539600436 | epot = -15.6922479055269 | etot = -5.62847191779651 -112000 ekin = 3.31659315707429 | erot = 6.86862760564071 | epot = -15.8136926809252 | etot = -5.62847191821021 -113000 ekin = 3.35860144230931 | erot = 6.91335224014943 | epot = -15.9004256006577 | etot = -5.62847191819896 -114000 ekin = 3.41073468124679 | erot = 6.91406610981318 | epot = -15.9532727088343 | etot = -5.62847191777429 -115000 ekin = 3.47381531534282 | erot = 6.87643065686506 | epot = -15.9787178894078 | etot = -5.6284719171999 -116000 ekin = 3.54886437558777 | erot = 6.80711139529212 | epot = -15.9844476879582 | etot = -5.62847191707831 -117000 ekin = 3.63467409204953 | erot = 6.71320827683675 | epot = -15.9763542854632 | etot = -5.62847191657691 -118000 ekin = 3.72815555523563 | erot = 6.60276001485649 | epot = -15.9593874864267 | etot = -5.62847191633455 -119000 ekin = 3.82420980363922 | erot = 6.48288858478337 | epot = -15.9355703049694 | etot = -5.6284719165468 -120000 ekin = 3.9179774835722 | erot = 6.35662792089898 | epot = -15.903077321228 | etot = -5.62847191675683 -121000 ekin = 4.00591742044035 | erot = 6.22468993027099 | epot = -15.8590792676431 | etot = -5.62847191693177 -122000 ekin = 4.08550270322369 | erot = 6.08676575288901 | epot = -15.8007403736371 | etot = -5.62847191752443 -123000 ekin = 4.15433540908377 | erot = 5.94071572290345 | epot = -15.7235230494646 | etot = -5.62847191747738 -124000 ekin = 4.21272085203604 | erot = 5.78590733869432 | epot = -15.6271001078552 | etot = -5.62847191712487 -125000 ekin = 4.26325970413188 | erot = 5.62467373686564 | epot = -15.5164053575234 | etot = -5.62847191652588 -126000 ekin = 4.30880597980511 | erot = 5.46113290467099 | epot = -15.3984108007452 | etot = -5.62847191626906 -127000 ekin = 4.35136313111028 | erot = 5.29960307371338 | epot = -15.2794381205813 | etot = -5.62847191575761 -128000 ekin = 4.39391383900504 | erot = 5.14386269106645 | epot = -15.1662484454473 | etot = -5.62847191537579 -129000 ekin = 4.43858036063655 | erot = 4.99693296064707 | epot = -15.0639852363964 | etot = -5.62847191511278 -130000 ekin = 4.48619887382534 | erot = 4.86092637377901 | epot = -14.9755971627246 | etot = -5.62847191512025 -131000 ekin = 4.53629967746113 | erot = 4.73552279955471 | epot = -14.9002943921703 | etot = -5.62847191515449 -132000 ekin = 4.58794392436761 | erot = 4.62012473201883 | epot = -14.8365405715611 | etot = -5.62847191517469 -133000 ekin = 4.63977927970873 | erot = 4.51475331813956 | epot = -14.7830045130166 | etot = -5.62847191516832 -134000 ekin = 4.69096227444649 | erot = 4.41936571520108 | epot = -14.7387999047824 | etot = -5.62847191513484 -135000 ekin = 4.74083332632074 | erot = 4.33399770983627 | epot = -14.7033029512379 | etot = -5.62847191508091 -136000 ekin = 4.78901374177409 | erot = 4.25873574864794 | epot = -14.6762214054334 | etot = -5.62847191501132 -137000 ekin = 4.83519033966281 | erot = 4.19345584709283 | epot = -14.657118101864 | etot = -5.6284719151084 -138000 ekin = 4.87857190019259 | erot = 4.13759960010467 | epot = -14.644643415365 | etot = -5.62847191506772 -139000 ekin = 4.9193390426864 | erot = 4.09041841408124 | epot = -14.6382293717807 | etot = -5.6284719150131 -140000 ekin = 4.95802132610715 | erot = 4.05108530565741 | epot = -14.637578546733 | etot = -5.62847191496842 -141000 ekin = 4.99519923255351 | erot = 4.01864210163599 | epot = -14.6423132491265 | etot = -5.628471914937 -142000 ekin = 5.0313403186539 | erot = 3.99210960072426 | epot = -14.6519218343063 | etot = -5.62847191492815 -143000 ekin = 5.06663282814611 | erot = 3.97056100872215 | epot = -14.6656657518145 | etot = -5.62847191494626 -144000 ekin = 5.10088003253975 | erot = 3.95318385936622 | epot = -14.6825358068963 | etot = -5.62847191499035 -145000 ekin = 5.13347728619419 | erot = 3.9393331843263 | epot = -14.7012823855752 | etot = -5.62847191505467 -146000 ekin = 5.16346418937039 | erot = 3.92856945833553 | epot = -14.7205055628366 | etot = -5.62847191513069 -147000 ekin = 5.18962884502116 | erot = 3.92067778970093 | epot = -14.7387785499314 | etot = -5.62847191520936 -148000 ekin = 5.2106363010504 | erot = 3.91566839447777 | epot = -14.7547766108106 | etot = -5.62847191528238 -149000 ekin = 5.22515818277311 | erot = 3.91376203384939 | epot = -14.7673921319653 | etot = -5.62847191534284 -150000 ekin = 5.23199081771441 | erot = 3.91536756918858 | epot = -14.7758303022875 | etot = -5.62847191538449 -151000 ekin = 5.23025857434895 | erot = 3.92102977399556 | epot = -14.7797602637297 | etot = -5.62847191538523 -152000 ekin = 5.21970456277633 | erot = 3.93136599417313 | epot = -14.7795424723193 | etot = -5.6284719153698 -153000 ekin = 5.20020715643948 | erot = 3.94729684643011 | epot = -14.7759759181577 | etot = -5.6284719152881 -154000 ekin = 5.17219962280906 | erot = 3.96989664945426 | epot = -14.7705681875103 | etot = -5.62847191524698 -155000 ekin = 5.13597939415209 | erot = 4.00025654377895 | epot = -14.7647078530831 | etot = -5.6284719151521 -156000 ekin = 5.09227456538809 | erot = 4.03969792967878 | epot = -14.7604444100931 | etot = -5.62847191502624 -157000 ekin = 5.04214374655822 | erot = 4.08965648366389 | epot = -14.7602721451221 | etot = -5.62847191489998 -158000 ekin = 4.98664076893724 | erot = 4.15175637520643 | epot = -14.766869058914 | etot = -5.62847191477032 -159000 ekin = 4.92656708226378 | erot = 4.22693785976717 | epot = -14.7819768568016 | etot = -5.62847191477063 -160000 ekin = 4.86235166664991 | erot = 4.31524574981774 | epot = -14.8060693313531 | etot = -5.6284719148854 -161000 ekin = 4.79340744408421 | erot = 4.41634192155712 | epot = -14.8382212806378 | etot = -5.6284719149965 -162000 ekin = 4.71931679137199 | erot = 4.52911647420319 | epot = -14.8769051807429 | etot = -5.62847191516769 -163000 ekin = 4.63965178837921 | erot = 4.65170333188739 | epot = -14.9198270356117 | etot = -5.62847191534509 -164000 ekin = 4.55406399624322 | erot = 4.78166301740344 | epot = -14.9641989292966 | etot = -5.62847191564991 -165000 ekin = 4.46213996067444 | erot = 4.91530272158902 | epot = -15.0059145982048 | etot = -5.62847191594139 -166000 ekin = 4.36388109534855 | erot = 5.04805357548587 | epot = -15.0404065870407 | etot = -5.62847191620628 -167000 ekin = 4.2599504684242 | erot = 5.17511068522257 | epot = -15.0635330700694 | etot = -5.62847191642261 -168000 ekin = 4.15154354282108 | erot = 5.29182746831898 | epot = -15.071842927712 | etot = -5.62847191657198 -169000 ekin = 4.04026084727468 | erot = 5.3941174772808 | epot = -15.0628502412099 | etot = -5.62847191665442 -170000 ekin = 3.92797723838317 | erot = 5.47890367159895 | epot = -15.0353528265939 | etot = -5.62847191661181 -171000 ekin = 3.81680551395809 | erot = 5.54460219961126 | epot = -14.989879630019 | etot = -5.62847191644964 -172000 ekin = 3.70912194360867 | erot = 5.59119877272675 | epot = -14.9287926324949 | etot = -5.62847191615949 -173000 ekin = 3.60767008609974 | erot = 5.62020496675997 | epot = -14.8563469686161 | etot = -5.62847191575636 -174000 ekin = 3.51593123142685 | erot = 5.63484613588073 | epot = -14.7792492818557 | etot = -5.62847191454812 -175000 ekin = 3.43946966413873 | erot = 5.64148825119093 | epot = -14.7094298295813 | etot = -5.62847191425169 -176000 ekin = 3.38149964340019 | erot = 5.64304584979603 | epot = -14.653017407222 | etot = -5.62847191402579 -177000 ekin = 3.3442630428033 | erot = 5.64075589500549 | epot = -14.6134908517392 | etot = -5.62847191393037 -178000 ekin = 3.32907821318129 | erot = 5.63429171925337 | epot = -14.5918418466206 | etot = -5.62847191418592 -179000 ekin = 3.33553286829347 | erot = 5.6208870874151 | epot = -14.5848918700472 | etot = -5.62847191433866 -180000 ekin = 3.36333384277243 | erot = 5.59827011329198 | epot = -14.5900758706826 | etot = -5.6284719146182 -181000 ekin = 3.41118322744684 | erot = 5.56369949232846 | epot = -14.6033546347478 | etot = -5.62847191497248 -182000 ekin = 3.47666657813912 | erot = 5.51442909119383 | epot = -14.6195675846747 | etot = -5.62847191534179 -183000 ekin = 3.55646627297106 | erot = 5.44847615754748 | epot = -14.633414346125 | etot = -5.62847191560643 -184000 ekin = 3.64671110623883 | erot = 5.36528131962498 | epot = -14.6404643416898 | etot = -5.62847191582594 -185000 ekin = 3.74294243854229 | erot = 5.26596644090118 | epot = -14.637380795357 | etot = -5.62847191591353 -186000 ekin = 3.84064021177402 | erot = 5.15359326678923 | epot = -14.6227053944195 | etot = -5.62847191585629 -187000 ekin = 3.93563840594996 | erot = 5.03296537332422 | epot = -14.5970756949477 | etot = -5.62847191567352 -188000 ekin = 4.02444308409284 | erot = 4.91004205202591 | epot = -14.5629570515398 | etot = -5.62847191542107 -189000 ekin = 4.10437481570296 | erot = 4.79101157925947 | epot = -14.5238583101447 | etot = -5.6284719151823 -190000 ekin = 4.17348832619979 | erot = 4.68117061833031 | epot = -14.4831308595833 | etot = -5.62847191505317 -191000 ekin = 4.2302884539443 | erot = 4.58386192798786 | epot = -14.4426222970223 | etot = -5.62847191509015 -192000 ekin = 4.27358054060644 | erot = 4.49984530057507 | epot = -14.401897756479 | etot = -5.62847191529753 -193000 ekin = 4.24592911993984 | erot = 4.46741799187496 | epot = -14.341819022691 | etot = -5.62847191087621 -194000 ekin = 4.19994174150951 | erot = 4.47173701960618 | epot = -14.3001506793668 | etot = -5.62847191825108 -195000 ekin = 4.19981139522192 | erot = 4.40365513590342 | epot = -14.2319384423487 | etot = -5.6284719112234 -196000 ekin = 4.18831859749961 | erot = 4.32821378408543 | epot = -14.1450042928948 | etot = -5.62847191130971 -197000 ekin = 4.16445522600507 | erot = 4.24686919663374 | epot = -14.0397963337823 | etot = -5.62847191114348 -198000 ekin = 4.13074920372974 | erot = 4.15919636754571 | epot = -13.9184174820235 | etot = -5.62847191074804 -199000 ekin = 4.0906207473621 | erot = 4.06700829109831 | epot = -13.7861009486908 | etot = -5.62847191023037 -200000 ekin = 4.04792338687241 | erot = 3.97356549445347 | epot = -13.6499607909698 | etot = -5.62847190964388 -201000 ekin = 4.00668244919815 | erot = 3.88277215508982 | epot = -13.5179265133902 | etot = -5.62847190910223 -202000 ekin = 3.97063392471763 | erot = 3.79828207702091 | epot = -13.39738791041 | etot = -5.62847190867151 -203000 ekin = 3.94283665189413 | erot = 3.72290259923763 | epot = -13.2942111595175 | etot = -5.62847190838577 -204000 ekin = 3.9254074337218 | erot = 3.65835216262356 | epot = -13.2122315045955 | etot = -5.62847190825009 -205000 ekin = 3.91946432177319 | erot = 3.60562062220884 | epot = -13.1535568521707 | etot = -5.62847190818863 -206000 ekin = 3.92515912499438 | erot = 3.56510062726531 | epot = -13.1187316605142 | etot = -5.62847190825449 -207000 ekin = 3.94166066189579 | erot = 3.53643554885013 | epot = -13.106568119127 | etot = -5.62847190838106 -208000 ekin = 3.96741904659629 | erot = 3.51909285318893 | epot = -13.1149838083206 | etot = -5.62847190853536 -209000 ekin = 3.99456273872661 | erot = 3.50083315850366 | epot = -13.1238678065897 | etot = -5.62847190935947 -210000 ekin = 4.04796401860243 | erot = 3.4916895489081 | epot = -13.1681254815361 | etot = -5.62847191402561 -211000 ekin = 4.09773342715978 | erot = 3.49304812012827 | epot = -13.2192534546331 | etot = -5.62847190734504 -212000 ekin = 4.14205596974334 | erot = 3.50221111647769 | epot = -13.2727389936869 | etot = -5.6284719074659 -213000 ekin = 4.18461227969207 | erot = 3.51992604962334 | epot = -13.3330102373213 | etot = -5.62847190800588 -214000 ekin = 4.22291801220966 | erot = 3.54318058637875 | epot = -13.3945705067373 | etot = -5.62847190814888 -215000 ekin = 4.25639069943993 | erot = 3.57018634832855 | epot = -13.4550489560043 | etot = -5.62847190823587 -216000 ekin = 4.2851705613071 | erot = 3.59920416165292 | epot = -13.5128466312779 | etot = -5.62847190831789 -217000 ekin = 4.3095145789128 | erot = 3.62862634730473 | epot = -13.5666128346059 | etot = -5.62847190838833 -218000 ekin = 4.33022749097504 | erot = 3.65639118247524 | epot = -13.615090581929 | etot = -5.62847190847876 -219000 ekin = 4.34822739188717 | erot = 3.68015661121684 | epot = -13.6568559116869 | etot = -5.62847190858288 -220000 ekin = 4.36437280258302 | erot = 3.69755509928667 | epot = -13.6903998105148 | etot = -5.62847190864514 -221000 ekin = 4.37954317243381 | erot = 3.70660976824472 | epot = -13.7146248493703 | etot = -5.62847190869173 -222000 ekin = 4.39451292717047 | erot = 3.70596363375557 | epot = -13.7289484695947 | etot = -5.62847190866862 -223000 ekin = 4.41008213188947 | erot = 3.69513355487642 | epot = -13.7336875953398 | etot = -5.62847190857388 -224000 ekin = 4.42678943726192 | erot = 3.67466536393742 | epot = -13.7299267097393 | etot = -5.62847190853996 -225000 ekin = 4.44460701700921 | erot = 3.64600909388212 | epot = -13.7190880192605 | etot = -5.62847190836919 -226000 ekin = 4.47380092381823 | erot = 3.58830814099014 | epot = -13.6905809780385 | etot = -5.62847191323016 -227000 ekin = 4.56056009802773 | erot = 3.47269306832678 | epot = -13.6617250773524 | etot = -5.62847191099789 -228000 ekin = 4.61083327531156 | erot = 3.40803816011208 | epot = -13.6473433475474 | etot = -5.62847191212373 -229000 ekin = 4.63150013168063 | erot = 3.35898149000683 | epot = -13.6189535337045 | etot = -5.628471912017 -230000 ekin = 4.65431068144105 | erot = 3.31343017818392 | epot = -13.5962127716262 | etot = -5.6284719120012 -231000 ekin = 4.67934821404914 | erot = 3.27332737527072 | epot = -13.5811475014857 | etot = -5.62847191216587 -232000 ekin = 4.70592354946384 | erot = 3.23944506667453 | epot = -13.5738405284603 | etot = -5.62847191232193 -233000 ekin = 4.73271416122613 | erot = 3.21144788525716 | epot = -13.5726339590425 | etot = -5.62847191255921 -234000 ekin = 4.75943444985121 | erot = 3.19078729233493 | epot = -13.5786936545781 | etot = -5.62847191239191 -235000 ekin = 4.7864224181817 | erot = 3.1802119397668 | epot = -13.5951062703947 | etot = -5.62847191244615 -236000 ekin = 4.81315037988305 | erot = 3.18017325334793 | epot = -13.6217955456975 | etot = -5.62847191246647 -237000 ekin = 4.83923297185637 | erot = 3.19145400453311 | epot = -13.6591588888804 | etot = -5.62847191249091 -238000 ekin = 4.8648758593188 | erot = 3.21481908800212 | epot = -13.7081668597345 | etot = -5.62847191241355 -239000 ekin = 4.89063931715006 | erot = 3.25114955281917 | epot = -13.7702607826829 | etot = -5.62847191271366 -240000 ekin = 4.91656145052602 | erot = 3.29901781218761 | epot = -13.8440511754903 | etot = -5.62847191277668 -241000 ekin = 4.94245255089395 | erot = 3.35699698381439 | epot = -13.9279214477111 | etot = -5.62847191300273 -242000 ekin = 4.96767380346174 | erot = 3.42365009425844 | epot = -14.0197958109202 | etot = -5.62847191320004 -243000 ekin = 5.00573446223425 | erot = 3.47030260471584 | epot = -14.1045089792095 | etot = -5.62847191225937 -244000 ekin = 5.06987350319776 | erot = 3.50985787352901 | epot = -14.2082032932938 | etot = -5.62847191656705 -245000 ekin = 5.08405115957742 | erot = 3.57323736718779 | epot = -14.2857604930736 | etot = -5.62847196630843 -246000 ekin = 5.13867281568721 | erot = 3.53022410786793 | epot = -14.2973688418941 | etot = -5.62847191833901 -247000 ekin = 5.24446071734879 | erot = 3.63707192639566 | epot = -14.5100045566461 | etot = -5.62847191290161 -248000 ekin = 5.23528120841798 | erot = 3.74023330973858 | epot = -14.6039864311642 | etot = -5.62847191300765 -249000 ekin = 5.21260078435232 | erot = 3.83729795660013 | epot = -14.6783706538235 | etot = -5.62847191287108 -250000 ekin = 5.17839081250377 | erot = 3.9274900033362 | epot = -14.7343527284458 | etot = -5.62847191260579 -251000 ekin = 5.13586036334033 | erot = 4.0110834535743 | epot = -14.7754157290643 | etot = -5.6284719121497 -252000 ekin = 5.08918292106526 | erot = 4.09018694184289 | epot = -14.8078417745573 | etot = -5.62847191164914 -253000 ekin = 5.04264218495503 | erot = 4.16759058211673 | epot = -14.8387046782788 | etot = -5.62847191120704 -254000 ekin = 4.99116344078943 | erot = 4.24248912287616 | epot = -14.8621245493479 | etot = -5.62847198568228 -255000 ekin = 4.72637462799754 | erot = 4.24407837663792 | epot = -14.5989249326008 | etot = -5.62847192796534 -256000 ekin = 4.59834109997962 | erot = 4.36369782209853 | epot = -14.5905108364853 | etot = -5.62847191440716 -257000 ekin = 4.77089539877238 | erot = 4.60066315314524 | epot = -15.0000305289775 | etot = -5.62847197705984 -258000 ekin = 4.8570424299005 | erot = 4.66807324376092 | epot = -15.1535875814136 | etot = -5.62847190775215 -259000 ekin = 4.89901811472201 | erot = 4.72718635920946 | epot = -15.2546763808543 | etot = -5.6284719069228 -260000 ekin = 4.94107094739232 | erot = 4.79406863685795 | epot = -15.3636114914084 | etot = -5.62847190715817 -261000 ekin = 4.98242309074786 | erot = 4.86508628581133 | epot = -15.4759812846185 | etot = -5.62847190805928 -262000 ekin = 5.01659840998387 | erot = 4.93871137847814 | epot = -15.5837816973619 | etot = -5.62847190889992 -263000 ekin = 5.03982661194348 | erot = 5.00983839411822 | epot = -15.6781369155683 | etot = -5.62847190950662 -264000 ekin = 5.0473269634971 | erot = 5.07389667598774 | epot = -15.7496955495902 | etot = -5.62847191010535 -265000 ekin = 5.03448807084938 | erot = 5.12688367713197 | epot = -15.7898436586188 | etot = -5.6284719106374 -266000 ekin = 4.9977343895948 | erot = 5.16480683531726 | epot = -15.7910131359604 | etot = -5.62847191104839 -267000 ekin = 4.9350849740613 | erot = 5.18388050750233 | epot = -15.7474373928655 | etot = -5.6284719113019 -268000 ekin = 4.84654531470769 | erot = 5.18063468558991 | epot = -15.6556519116805 | etot = -5.62847191138294 -269000 ekin = 4.73423214274556 | erot = 5.15198859731975 | epot = -15.5146926513545 | etot = -5.62847191128923 -270000 ekin = 4.60224202248444 | erot = 5.09540688817063 | epot = -15.3261208188922 | etot = -5.62847190823709 -271000 ekin = 4.45636876654843 | erot = 5.00923317388348 | epot = -15.0940738481978 | etot = -5.62847190776587 -272000 ekin = 4.30375505735369 | erot = 4.89315778304375 | epot = -14.8253847474932 | etot = -5.62847190709576 -273000 ekin = 4.15244061479806 | erot = 4.74862648123472 | epot = -14.5295390022931 | etot = -5.62847190626036 -274000 ekin = 4.01137482334333 | erot = 4.57896672456557 | epot = -14.2188134532218 | etot = -5.62847190531292 -275000 ekin = 3.87388872892464 | erot = 4.38950805795244 | epot = -13.8918687169895 | etot = -5.6284719301124 -276000 ekin = 3.7082814835016 | erot = 4.18975567950172 | epot = -13.5265090654672 | etot = -5.62847190246385 -277000 ekin = 3.7402518794014 | erot = 3.98894405210621 | epot = -13.3576678645653 | etot = -5.6284719330577 -278000 ekin = 3.74221760775357 | erot = 3.7703854369202 | epot = -13.1410749479138 | etot = -5.62847190324001 -279000 ekin = 3.75220115766677 | erot = 3.5579033181483 | epot = -12.938576379456 | etot = -5.6284719036409 -280000 ekin = 3.77561814014463 | erot = 3.3578165449272 | epot = -12.7619065883795 | etot = -5.62847190330772 -281000 ekin = 3.81272927484692 | erot = 3.17409695196483 | epot = -12.6152981298176 | etot = -5.62847190300587 -282000 ekin = 3.86501988036713 | erot = 3.00952640155182 | epot = -12.503018184206 | etot = -5.62847190228705 -283000 ekin = 3.9362890040686 | erot = 2.86613168182077 | epot = -12.4308925881252 | etot = -5.62847190223582 -284000 ekin = 4.02702703050248 | erot = 2.74480306500238 | epot = -12.4003019979014 | etot = -5.62847190239652 -285000 ekin = 4.14139706639939 | erot = 2.64599110157981 | epot = -12.4158600691656 | etot = -5.62847190118639 -286000 ekin = 4.28525774918125 | erot = 2.56950762489294 | epot = -12.4832372763209 | etot = -5.62847190224672 -287000 ekin = 4.44987555795525 | erot = 2.5149381006836 | epot = -12.5932855609563 | etot = -5.62847190231741 -288000 ekin = 4.63520922264803 | erot = 2.48100112555659 | epot = -12.744682251547 | etot = -5.62847190334237 -289000 ekin = 4.83125797005639 | erot = 2.46527241539591 | epot = -12.9250022896872 | etot = -5.62847190423491 -290000 ekin = 5.02763799219549 | erot = 2.46542435681899 | epot = -13.1215342541 | etot = -5.6284719050855 -291000 ekin = 5.21465468575924 | erot = 2.47913524144599 | epot = -13.3222618329691 | etot = -5.62847190576391 -292000 ekin = 5.3847234879029 | erot = 2.50416430329084 | epot = -13.517359697432 | etot = -5.62847190623821 -293000 ekin = 5.53302487062993 | erot = 2.53823701976372 | epot = -13.6997337969552 | etot = -5.6284719065615 -294000 ekin = 5.65718701899563 | erot = 2.57877496353037 | epot = -13.8644338893367 | etot = -5.62847190681068 -295000 ekin = 5.75652780496736 | erot = 2.62269919784114 | epot = -14.0076989098374 | etot = -5.62847190702888 -296000 ekin = 5.83139499491576 | erot = 2.66652171228997 | epot = -14.1263886144134 | etot = -5.62847190720766 -297000 ekin = 5.88282356332315 | erot = 2.70675614330105 | epot = -14.2180516139345 | etot = -5.62847190731032 -298000 ekin = 5.91239748765354 | erot = 2.74048494300751 | epot = -14.28135433797 | etot = -5.62847190730891 -299000 ekin = 5.92208198046629 | erot = 2.7658529930204 | epot = -14.316406880692 | etot = -5.62847190720535 -300000 ekin = 5.91390942018959 | erot = 2.78233336188536 | epot = -14.3247146891001 | etot = -5.62847190702514 -301000 ekin = 5.88962133511467 | erot = 2.79074353675826 | epot = -14.3088367786671 | etot = -5.62847190679412 -302000 ekin = 5.85048781421153 | erot = 2.79307875791624 | epot = -14.2720384786503 | etot = -5.62847190652251 -303000 ekin = 5.79743517877201 | erot = 2.79223225552499 | epot = -14.2181393405065 | etot = -5.62847190620952 -304000 ekin = 5.73124340760714 | erot = 2.79262915089218 | epot = -14.1523444641626 | etot = -5.6284719056633 -305000 ekin = 5.65258268469942 | erot = 2.79940899091102 | epot = -14.0804635809916 | etot = -5.6284719053812 -306000 ekin = 5.56254653523126 | erot = 2.81503734235127 | epot = -14.0060557827405 | etot = -5.62847190515797 -307000 ekin = 5.46251129680734 | erot = 2.84075892386061 | epot = -13.9317421257017 | etot = -5.6284719050337 -308000 ekin = 5.35391293499779 | erot = 2.87633235164085 | epot = -13.8587171916706 | etot = -5.62847190503193 -309000 ekin = 5.2380500741146 | erot = 2.9199694072312 | epot = -13.7864913863811 | etot = -5.6284719050353 -310000 ekin = 5.11613875822227 | erot = 2.96880482959777 | epot = -13.7134154931058 | etot = -5.62847190528572 -311000 ekin = 4.98925852659027 | erot = 3.01839769775414 | epot = -13.6361281298119 | etot = -5.62847190546746 -312000 ekin = 4.85867326621938 | erot = 3.06421411593107 | epot = -13.5513592877722 | etot = -5.62847190562172 -313000 ekin = 4.7258511266702 | erot = 3.1023659032956 | epot = -13.4566889356293 | etot = -5.62847190566349 -314000 ekin = 4.59293421045906 | erot = 3.13002199528668 | epot = -13.3514281113023 | etot = -5.62847190555656 -315000 ekin = 4.4627066997121 | erot = 3.1458895038724 | epot = -13.2370681089019 | etot = -5.62847190531736 -316000 ekin = 4.33845457033799 | erot = 3.1501698931791 | epot = -13.1170963685019 | etot = -5.62847190498479 -317000 ekin = 4.22370149066824 | erot = 3.14429402986985 | epot = -12.9964674251447 | etot = -5.62847190460657 -318000 ekin = 4.12188681800263 | erot = 3.13056754977998 | epot = -12.8809262720081 | etot = -5.62847190422546 -319000 ekin = 4.03607214171397 | erot = 3.11184182787036 | epot = -12.7763858734547 | etot = -5.62847190387036 -320000 ekin = 3.96873641008349 | erot = 3.09128048611739 | epot = -12.6884887997534 | etot = -5.62847190355248 -321000 ekin = 3.92167797368866 | erot = 3.07226107993941 | epot = -12.6224109568985 | etot = -5.6284719032704 -322000 ekin = 3.89600971422094 | erot = 3.05833648374314 | epot = -12.5828181009917 | etot = -5.62847190302759 -323000 ekin = 3.89216326551481 | erot = 3.05323078719935 | epot = -12.5738659555504 | etot = -5.62847190283626 -324000 ekin = 3.90971752720339 | erot = 3.06065920136955 | epot = -12.5988486315721 | etot = -5.62847190299919 -325000 ekin = 3.94474197766764 | erot = 3.08325557841874 | epot = -12.6564694593348 | etot = -5.62847190324846 -326000 ekin = 3.99225791211204 | erot = 3.12131666195002 | epot = -12.7420464778336 | etot = -5.62847190377152 -327000 ekin = 4.04715751818241 | erot = 3.17277573872173 | epot = -12.8484051614778 | etot = -5.62847190457363 -328000 ekin = 4.10306827948992 | erot = 3.23289809100065 | epot = -12.9644382760915 | etot = -5.6284719056009 -329000 ekin = 4.15294077796389 | erot = 3.29460254685397 | epot = -13.0760152314918 | etot = -5.62847190667399 -330000 ekin = 4.19046086377944 | erot = 3.34957314357915 | epot = -13.1685059148607 | etot = -5.62847190750214 -331000 ekin = 4.2118793670419 | erot = 3.38989153265597 | epot = -13.2302428076658 | etot = -5.62847190796793 -332000 ekin = 4.21589857653174 | erot = 3.41075094374202 | epot = -13.2551214281287 | etot = -5.62847190785492 -333000 ekin = 4.20485265999827 | erot = 3.41174399824639 | epot = -13.2450685654392 | etot = -5.62847190719455 -334000 ekin = 4.1843536827594 | erot = 3.39692225044426 | epot = -13.2097478393623 | etot = -5.6284719061587 -335000 ekin = 4.16205455861251 | erot = 3.37367623594548 | epot = -13.1642026995451 | etot = -5.62847190498714 -336000 ekin = 4.1460949142031 | erot = 3.3509330966684 | epot = -13.1254999147759 | etot = -5.62847190390443 -337000 ekin = 4.14364358930878 | erot = 3.33736964606301 | epot = -13.1094851384434 | etot = -5.62847190307165 -338000 ekin = 4.15982493122452 | erot = 3.33968220643248 | epot = -13.1279790403876 | etot = -5.6284719027306 -339000 ekin = 4.19714166715088 | erot = 3.36120406394892 | epot = -13.1868176337066 | etot = -5.62847190260677 -340000 ekin = 4.25518474380122 | erot = 3.4039445653472 | epot = -13.2876012119478 | etot = -5.62847190279942 -341000 ekin = 4.33079125359022 | erot = 3.46797257818314 | epot = -13.4272357350123 | etot = -5.62847190323897 -342000 ekin = 4.41854745257256 | erot = 3.55173943759823 | epot = -13.5987587940178 | etot = -5.62847190384704 -343000 ekin = 4.51153864836906 | erot = 3.65250494550473 | epot = -13.7925154984214 | etot = -5.62847190454758 -344000 ekin = 4.60219231316278 | erot = 3.76671918647694 | epot = -13.997383404895 | etot = -5.62847190525523 -345000 ekin = 4.68312343518434 | erot = 3.89042211424212 | epot = -14.2020174553304 | etot = -5.62847190590392 -346000 ekin = 4.74786790538395 | erot = 4.01955036383398 | epot = -14.3958901756605 | etot = -5.62847190644256 -347000 ekin = 4.79150376885031 | erot = 4.15019529883626 | epot = -14.570170974482 | etot = -5.62847190679546 -348000 ekin = 4.81117855584605 | erot = 4.27877359763711 | epot = -14.7184240605328 | etot = -5.62847190704966 -349000 ekin = 4.80564918858633 | erot = 4.40205662691615 | epot = -14.8361777226707 | etot = -5.62847190716826 -350000 ekin = 4.77545945328664 | erot = 4.51714564004611 | epot = -14.9210770005263 | etot = -5.62847190719351 -351000 ekin = 4.72262273321912 | erot = 4.62116010887816 | epot = -14.9722547493018 | etot = -5.62847190720455 -352000 ekin = 4.65007958814178 | erot = 4.71078593020453 | epot = -14.9893374256266 | etot = -5.62847190728032 -353000 ekin = 4.56109157465487 | erot = 4.78180335583479 | epot = -14.9713668379528 | etot = -5.62847190746318 -354000 ekin = 4.45876151246763 | erot = 4.82895979647041 | epot = -14.9161932166616 | etot = -5.62847190772354 -355000 ekin = 4.34584612945812 | erot = 4.84663553108592 | epot = -14.8209535684691 | etot = -5.62847190792508 -356000 ekin = 4.22495470321296 | erot = 4.83038190908695 | epot = -14.6838085201897 | etot = -5.62847190788983 -357000 ekin = 4.09903296595125 | erot = 4.77873075093683 | epot = -14.5062356243708 | etot = -5.62847190748272 -358000 ekin = 3.97178667556286 | erot = 4.69444561049642 | epot = -14.2947041927689 | etot = -5.62847190670957 -359000 ekin = 3.8476729892966 | erot = 4.58431182213742 | epot = -14.0604567171869 | etot = -5.6284719057529 -360000 ekin = 3.73136439808726 | erot = 4.45746613157886 | epot = -13.8173024344245 | etot = -5.6284719047584 -361000 ekin = 3.62758093165404 | erot = 4.32379064505613 | epot = -13.5798434807421 | etot = -5.62847190403191 -362000 ekin = 3.54294892306447 | erot = 4.19358097114755 | epot = -13.3650017978897 | etot = -5.62847190367769 -363000 ekin = 3.47837311691063 | erot = 4.07207692082534 | epot = -13.1789219412937 | etot = -5.62847190355768 -364000 ekin = 3.43225009805705 | erot = 3.96193194141938 | epot = -13.0226539430639 | etot = -5.62847190358748 -365000 ekin = 3.40198388463041 | erot = 3.86460642705461 | epot = -12.8950622153704 | etot = -5.62847190368535 -366000 ekin = 3.38451833851882 | erot = 3.78104622244732 | epot = -12.7940364647476 | etot = -5.62847190378146 -367000 ekin = 3.37682483157754 | erot = 3.71218000857372 | epot = -12.7174767439928 | etot = -5.62847190384158 -368000 ekin = 3.37625204138126 | erot = 3.65912147822725 | epot = -12.6638454234616 | etot = -5.62847190385309 -369000 ekin = 3.38074636726359 | erot = 3.62312680344336 | epot = -12.6323450745323 | etot = -5.62847190382536 -370000 ekin = 3.38894636698295 | erot = 3.60538856636925 | epot = -12.6228068371721 | etot = -5.62847190381985 -371000 ekin = 3.40011634059559 | erot = 3.6067233363779 | epot = -12.6353115807203 | etot = -5.62847190374679 -372000 ekin = 3.41430323562447 | erot = 3.62748920223736 | epot = -12.6702643415601 | etot = -5.62847190369825 -373000 ekin = 3.43217624795184 | erot = 3.66740997408352 | epot = -12.7280581255783 | etot = -5.62847190354296 -374000 ekin = 3.45538314685729 | erot = 3.72532070766163 | epot = -12.8091757581464 | etot = -5.62847190362742 -375000 ekin = 3.48458983102994 | erot = 3.79950576965856 | epot = -12.9125675044443 | etot = -5.62847190375577 -376000 ekin = 3.51994630863055 | erot = 3.88772077541103 | epot = -13.0361389879669 | etot = -5.62847190392536 -377000 ekin = 3.56162263238966 | erot = 3.98718032086514 | epot = -13.1772748573483 | etot = -5.62847190409348 -378000 ekin = 3.61009229018706 | erot = 4.09470007581098 | epot = -13.3332642703023 | etot = -5.62847190430421 -379000 ekin = 3.66621939251756 | erot = 4.20668278515704 | epot = -13.5013740821171 | etot = -5.6284719044425 -380000 ekin = 3.73222313434711 | erot = 4.31893025305218 | epot = -13.6796252922782 | etot = -5.6284719048789 -381000 ekin = 3.80656943723105 | erot = 4.42661769094334 | epot = -13.8616590336251 | etot = -5.62847190545074 -382000 ekin = 3.88594558525596 | erot = 4.52459411505487 | epot = -14.0390116063945 | etot = -5.62847190608362 -383000 ekin = 3.96695089999006 | erot = 4.6074743389479 | epot = -14.2028971456622 | etot = -5.6284719067242 -384000 ekin = 4.04619645067071 | erot = 4.66967915257488 | epot = -14.3443475105423 | etot = -5.62847190729674 -385000 ekin = 4.12092029136871 | erot = 4.70599192062502 | epot = -14.4553841196635 | etot = -5.62847190766981 -386000 ekin = 4.18945537162048 | erot = 4.71237691681024 | epot = -14.5303041965371 | etot = -5.6284719081064 -387000 ekin = 4.24770733744385 | erot = 4.68531871644071 | epot = -14.5614979619391 | etot = -5.62847190805457 -388000 ekin = 4.29400518231676 | erot = 4.62433064765631 | epot = -14.5468077376841 | etot = -5.62847190771105 -389000 ekin = 4.32973751034707 | erot = 4.53230747815749 | epot = -14.4905168956691 | etot = -5.62847190716457 -390000 ekin = 4.35696496431921 | erot = 4.41432356915973 | epot = -14.3997604400478 | etot = -5.62847190656889 -391000 ekin = 4.37768888460159 | erot = 4.27672755001584 | epot = -14.2828883405545 | etot = -5.62847190593708 -392000 ekin = 4.39398588700028 | erot = 4.12625191225844 | epot = -14.1487097046389 | etot = -5.62847190538021 -393000 ekin = 4.40738241117469 | erot = 3.96936593196301 | epot = -14.0052202479613 | etot = -5.62847190482363 -394000 ekin = 4.41937568154892 | erot = 3.81285278687849 | epot = -13.8607003730906 | etot = -5.62847190466318 -395000 ekin = 4.42988768163888 | erot = 3.66065946576215 | epot = -13.7190190519324 | etot = -5.62847190453133 -396000 ekin = 4.43847476588974 | erot = 3.51525603215528 | epot = -13.5822027024369 | etot = -5.62847190439185 -397000 ekin = 4.44517728396978 | erot = 3.3789151277788 | epot = -13.4525643159655 | etot = -5.62847190421697 -398000 ekin = 4.45064950026053 | erot = 3.25392386318775 | epot = -13.333045267445 | etot = -5.62847190399669 -399000 ekin = 4.45613851377508 | erot = 3.1426965188145 | epot = -13.2273069363885 | etot = -5.62847190379889 -400000 ekin = 4.46297608305882 | erot = 3.04745583064984 | epot = -13.1389038172541 | etot = -5.62847190354543 -401000 ekin = 4.4727554600185 | erot = 2.97053701410719 | epot = -13.0717643774856 | etot = -5.62847190335986 -402000 ekin = 4.48672336701126 | erot = 2.91396522579777 | epot = -13.0291604961498 | etot = -5.62847190334076 -403000 ekin = 4.50482841072425 | erot = 2.87870251809156 | epot = -13.0120028324313 | etot = -5.62847190361552 -404000 ekin = 4.52484325730512 | erot = 2.86379686214208 | epot = -13.0171120236989 | etot = -5.62847190425173 -405000 ekin = 4.54178669953347 | erot = 2.865351205685 | epot = -13.0356098106956 | etot = -5.62847190547714 -406000 ekin = 4.54812186977296 | erot = 2.87565623453583 | epot = -13.0522500109057 | etot = -5.62847190659687 -407000 ekin = 4.53567765662224 | erot = 2.88781666333792 | epot = -13.0519662273823 | etot = -5.6284719074221 -408000 ekin = 4.4980683987241 | erot = 2.89717319275447 | epot = -13.0237134991285 | etot = -5.62847190764996 -409000 ekin = 4.43289041825228 | erot = 2.90293173430014 | epot = -12.9642940598285 | etot = -5.62847190727608 -410000 ekin = 4.34222243511571 | erot = 2.907845717641 | epot = -12.8785400593029 | etot = -5.62847190654618 -411000 ekin = 4.23122328981815 | erot = 2.91632332330752 | epot = -12.7760185189212 | etot = -5.62847190579552 -412000 ekin = 4.10591302468899 | erot = 2.93234263226303 | epot = -12.6667275621878 | etot = -5.62847190523582 -413000 ekin = 3.97147909136044 | erot = 2.95826875338062 | epot = -12.5582197496474 | etot = -5.62847190490633 -414000 ekin = 3.83169645328768 | erot = 2.9948721544054 | epot = -12.4550405124367 | etot = -5.62847190474364 -415000 ekin = 3.6891555688651 | erot = 3.04191716153679 | epot = -12.3595446350677 | etot = -5.62847190466582 -416000 ekin = 3.54575553257446 | erot = 3.09878213613395 | epot = -12.273009573321 | etot = -5.62847190461262 -417000 ekin = 3.4031527114646 | erot = 3.16484246791805 | epot = -12.1964670839352 | etot = -5.62847190455257 -418000 ekin = 3.2630625387357 | erot = 3.23960054554213 | epot = -12.1311349887514 | etot = -5.62847190447353 -419000 ekin = 3.12743539446411 | erot = 3.32265867811468 | epot = -12.0785659769522 | etot = -5.62847190437341 -420000 ekin = 2.99854685248433 | erot = 3.41362396345561 | epot = -12.0406427201965 | etot = -5.62847190425657 -421000 ekin = 2.8790171249261 | erot = 3.51197880379119 | epot = -12.0194678328541 | etot = -5.62847190413685 -422000 ekin = 2.77174596052497 | erot = 3.61690112203241 | epot = -12.0171189865995 | etot = -5.6284719040421 -423000 ekin = 2.67973794664943 | erot = 3.72700827485983 | epot = -12.0352181255247 | etot = -5.62847190401542 -424000 ekin = 2.60579870928978 | erot = 3.84002717527953 | epot = -12.0742977886825 | etot = -5.62847190411323 -425000 ekin = 2.55208954527813 | erot = 3.95244167892761 | epot = -12.1330031286051 | etot = -5.62847190439931 -426000 ekin = 2.51954653045088 | erot = 4.05920212806556 | epot = -12.2072205634469 | etot = -5.62847190493043 -427000 ekin = 2.50725893891138 | erot = 4.15363681829288 | epot = -12.2893676629198 | etot = -5.62847190571556 -428000 ekin = 2.51210485175689 | erot = 4.22782399613665 | epot = -12.3684007545436 | etot = -5.62847190665006 -429000 ekin = 2.52911833233697 | erot = 4.2737736907183 | epot = -12.4313639305362 | etot = -5.6284719074809 -430000 ekin = 2.55284926701683 | erot = 4.28551618826417 | epot = -12.4668373631705 | etot = -5.62847190788946 -431000 ekin = 2.57924139420927 | erot = 4.26142412036794 | epot = -12.4691374222607 | etot = -5.6284719076835 -432000 ekin = 2.60692475467972 | erot = 4.20541068246265 | epot = -12.44080734408 | etot = -5.62847190693765 -433000 ekin = 2.63712842983791 | erot = 4.12604912501302 | epot = -12.3916494607872 | etot = -5.62847190593631 -434000 ekin = 2.67245542242985 | erot = 4.03405948921243 | epot = -12.3349868166314 | etot = -5.6284719049891 -435000 ekin = 2.71543854641989 | erot = 3.93961255970565 | epot = -12.2835230104102 | etot = -5.62847190428466 -436000 ekin = 2.76760991343227 | erot = 3.85063248522813 | epot = -12.2467143025376 | etot = -5.62847190387721 -437000 ekin = 2.8292051567323 | erot = 3.77223859649821 | epot = -12.2299156569577 | etot = -5.62847190372722 -438000 ekin = 2.89929820060249 | erot = 3.7070750997431 | epot = -12.2348452041141 | etot = -5.62847190376851 -439000 ekin = 2.97609334156584 | erot = 3.6559037238806 | epot = -12.2604689693874 | etot = -5.62847190394097 -440000 ekin = 3.05720906613854 | erot = 3.61815200782747 | epot = -12.303832978167 | etot = -5.62847190420102 -441000 ekin = 3.1398967282964 | erot = 3.59232302398487 | epot = -12.3606916567996 | etot = -5.62847190451835 -442000 ekin = 3.22119927519208 | erot = 3.57626892518812 | epot = -12.4259401052542 | etot = -5.62847190487397 -443000 ekin = 3.29807867302421 | erot = 3.5673797299487 | epot = -12.4939303082205 | etot = -5.6284719052476 -444000 ekin = 3.36753883944261 | erot = 3.56276348926376 | epot = -12.5587742343254 | etot = -5.62847190561903 -445000 ekin = 3.42676046581308 | erot = 3.55942025918125 | epot = -12.6146526309603 | etot = -5.62847190596595 -446000 ekin = 3.47324383647127 | erot = 3.55443462308419 | epot = -12.6561503658249 | etot = -5.62847190626945 -447000 ekin = 3.50497354376538 | erot = 3.54511419619435 | epot = -12.6785596464668 | etot = -5.62847190650708 -448000 ekin = 3.5205621308358 | erot = 3.52974100710101 | epot = -12.6787750444576 | etot = -5.6284719065208 -449000 ekin = 3.51939696591144 | erot = 3.50705904511163 | epot = -12.654927917629 | etot = -5.62847190660589 -450000 ekin = 3.50164536053703 | erot = 3.47565071066306 | epot = -12.6057679778004 | etot = -5.62847190660035 -451000 ekin = 3.4682479070786 | erot = 3.43472151203002 | epot = -12.5314413256108 | etot = -5.62847190650218 -452000 ekin = 3.42090312736728 | erot = 3.38414558729872 | epot = -12.4335206209786 | etot = -5.62847190631264 -453000 ekin = 3.36201791828429 | erot = 3.32449206046017 | epot = -12.3149818847815 | etot = -5.62847190603699 -454000 ekin = 3.29463316060487 | erot = 3.25701739819663 | epot = -12.1801224644864 | etot = -5.6284719056849 -455000 ekin = 3.2223327489859 | erot = 3.18360703277374 | epot = -12.0344116870298 | etot = -5.62847190527019 -456000 ekin = 3.14914248628389 | erot = 3.1066699219853 | epot = -11.8842843130808 | etot = -5.62847190481165 -457000 ekin = 3.0793973717258 | erot = 3.02894564058875 | epot = -11.7368149166548 | etot = -5.62847190434023 -458000 ekin = 3.01756413267452 | erot = 2.95322108562799 | epot = -11.5992571221551 | etot = -5.62847190385259 -459000 ekin = 2.96810632523009 | erot = 2.88249754736279 | epot = -11.4790757759985 | etot = -5.62847190340562 -460000 ekin = 2.93513889002095 | erot = 2.81955267520888 | epot = -11.3831634682652 | etot = -5.6284719030354 -461000 ekin = 2.92205746387525 | erot = 2.7666923490783 | epot = -11.3172217157336 | etot = -5.62847190278005 -462000 ekin = 2.93114290149457 | erot = 2.72556812595561 | epot = -11.2851829301233 | etot = -5.6284719026731 -463000 ekin = 2.96319319679395 | erot = 2.69703193761103 | epot = -11.288697037142 | etot = -5.62847190273704 -464000 ekin = 3.01726238568113 | erot = 2.68105615129806 | epot = -11.3267904399551 | etot = -5.62847190297594 -465000 ekin = 3.09058398931695 | erot = 2.67674994758621 | epot = -11.3958058402738 | etot = -5.62847190337063 -466000 ekin = 3.17872270899957 | erot = 2.68248866699804 | epot = -11.489683279879 | etot = -5.62847190388135 -467000 ekin = 3.27594114495932 | erot = 2.69614045585002 | epot = -11.6005535052649 | etot = -5.6284719044556 -468000 ekin = 3.37571282133761 | erot = 2.71534026239567 | epot = -11.7195249887735 | etot = -5.6284719050402 -469000 ekin = 3.47128178262778 | erot = 2.7377467976262 | epot = -11.8375004858446 | etot = -5.62847190559065 -470000 ekin = 3.55617737699106 | erot = 2.76123628660843 | epot = -11.9458855696743 | etot = -5.62847190607478 -471000 ekin = 3.62463309399701 | erot = 2.78402790003451 | epot = -12.0371329005012 | etot = -5.62847190646968 -472000 ekin = 3.67190559892461 | erot = 2.80477124778385 | epot = -12.1051487534659 | etot = -5.62847190675745 -473000 ekin = 3.69451868440951 | erot = 2.82263116140768 | epot = -12.145621752738 | etot = -5.62847190692085 -474000 ekin = 3.69045746331418 | erot = 2.83737882568526 | epot = -12.1563081959457 | etot = -5.62847190694629 -475000 ekin = 3.65932116350768 | erot = 2.84946541726958 | epot = -12.1372584876029 | etot = -5.62847190682564 -476000 ekin = 3.60242486138673 | erot = 2.8600401649875 | epot = -12.0909369329348 | etot = -5.62847190656053 -477000 ekin = 3.52282746240149 | erot = 2.87088465735749 | epot = -12.0221840259214 | etot = -5.62847190616243 -478000 ekin = 3.42525452630285 | erot = 2.88424967270373 | epot = -11.9379761046732 | etot = -5.62847190566661 -479000 ekin = 3.31588349739548 | erot = 2.90254646896433 | epot = -11.8469018714766 | etot = -5.62847190511681 -480000 ekin = 3.2019294924653 | erot = 2.92801081390987 | epot = -11.7584122109543 | etot = -5.62847190457915 -481000 ekin = 3.0910210684156 | erot = 2.96227510040754 | epot = -11.6817680729574 | etot = -5.62847190413424 -482000 ekin = 2.99039932402286 | erot = 3.0059083936905 | epot = -11.6247796215779 | etot = -5.62847190386453 -483000 ekin = 2.90605693345808 | erot = 3.05799802963961 | epot = -11.592526866934 | etot = -5.62847190383634 -484000 ekin = 2.84200171525942 | erot = 3.11586840863149 | epot = -11.5863420279703 | etot = -5.62847190407938 -485000 ekin = 2.81072036470051 | erot = 3.03665546467488 | epot = -11.4758477219126 | etot = -5.62847189253722 -486000 ekin = 2.99172671788758 | erot = 2.89028588608681 | epot = -11.5104845147026 | etot = -5.62847191072822 -487000 ekin = 3.04661020884121 | erot = 2.89516257154487 | epot = -11.570244686021 | etot = -5.62847190563488 -488000 ekin = 3.02813445463 | erot = 2.9175581417469 | epot = -11.5741645019129 | etot = -5.62847190553598 -489000 ekin = 3.02918173190651 | erot = 2.94703274341716 | epot = -11.6046863809266 | etot = -5.62847190560288 -490000 ekin = 3.04920929976127 | erot = 2.98299921438025 | epot = -11.6606804199631 | etot = -5.62847190582156 -491000 ekin = 3.08564623422967 | erot = 3.02458607701 | epot = -11.7387042173596 | etot = -5.62847190611991 -492000 ekin = 3.13426650215683 | erot = 3.07113014036604 | epot = -11.8338685489617 | etot = -5.62847190643878 -493000 ekin = 3.19024782356761 | erot = 3.12246736374655 | epot = -11.9411870939609 | etot = -5.62847190664674 -494000 ekin = 3.24418110402754 | erot = 3.17757093524548 | epot = -12.0502240477908 | etot = -5.62847200851778 -495000 ekin = 3.12930691885668 | erot = 3.12025770002207 | epot = -11.8780365337095 | etot = -5.62847191483072 -496000 ekin = 3.38154400854628 | erot = 3.12702216680309 | epot = -12.1370381395603 | etot = -5.6284719642109 -497000 ekin = 3.53796334303899 | erot = 3.21345240183637 | epot = -12.3798876661138 | etot = -5.62847192123843 -498000 ekin = 3.54725242244754 | erot = 3.3127481569391 | epot = -12.4884725006426 | etot = -5.62847192125599 -499000 ekin = 3.54686752392577 | erot = 3.42936350670757 | epot = -12.6047029519806 | etot = -5.6284719213473 -500000 ekin = 3.53611629144012 | erot = 3.5621447184836 | epot = -12.7267329314377 | etot = -5.62847192151396 -501000 ekin = 3.51474019583912 | erot = 3.70831240062115 | epot = -12.8515245182196 | etot = -5.62847192175937 -502000 ekin = 3.48291543616965 | erot = 3.86351597857756 | epot = -12.9749033367392 | etot = -5.62847192199196 -503000 ekin = 3.44167367984362 | erot = 4.02200657194786 | epot = -13.0921521741401 | etot = -5.62847192234864 -504000 ekin = 3.39166561938215 | erot = 4.17733332041883 | epot = -13.1974708625427 | etot = -5.62847192274173 -505000 ekin = 3.33344269451075 | erot = 4.32266370126612 | epot = -13.2845783189097 | etot = -5.62847192313282 -506000 ekin = 3.26726906279832 | erot = 4.45157764163063 | epot = -13.3473186278291 | etot = -5.62847192340013 -507000 ekin = 3.19388361649876 | erot = 4.55898983228577 | epot = -13.3813453722705 | etot = -5.62847192348593 -508000 ekin = 3.11462724049333 | erot = 4.64207406471296 | epot = -13.3851732285416 | etot = -5.62847192333527 -509000 ekin = 3.03154551890378 | erot = 4.7008320264318 | epot = -13.3608494682921 | etot = -5.62847192295648 -510000 ekin = 2.94513058611812 | erot = 4.73730594221542 | epot = -13.3109084508205 | etot = -5.62847192248693 -511000 ekin = 2.85640718494606 | erot = 4.75516581382221 | epot = -13.2400449206904 | etot = -5.62847192192215 -512000 ekin = 2.76854482525136 | erot = 4.75962991523102 | epot = -13.1566466618477 | etot = -5.62847192136531 -513000 ekin = 2.68465921483057 | erot = 4.75599513194296 | epot = -13.0691262676726 | etot = -5.6284719208991 -514000 ekin = 2.60745568314055 | erot = 4.74870168659942 | epot = -12.9846292903236 | etot = -5.62847192058367 -515000 ekin = 2.53899080263876 | erot = 4.74082869238932 | epot = -12.9082914154344 | etot = -5.62847192040632 -516000 ekin = 2.48057862896529 | erot = 4.73416754063632 | epot = -12.8432180899589 | etot = -5.62847192035728 -517000 ekin = 2.43281299020053 | erot = 4.72933651073047 | epot = -12.7906214213348 | etot = -5.62847192040378 -518000 ekin = 2.39567246200523 | erot = 4.72611868195825 | epot = -12.7502630644689 | etot = -5.62847192050539 -519000 ekin = 2.36868008077252 | erot = 4.72386163460167 | epot = -12.7210136359953 | etot = -5.62847192062108 -520000 ekin = 2.35109068031693 | erot = 4.72186744279644 | epot = -12.7014300438287 | etot = -5.6284719207153 -521000 ekin = 2.34207426124088 | erot = 4.71970227703855 | epot = -12.6902484590462 | etot = -5.62847192076676 -522000 ekin = 2.34085858396855 | erot = 4.71735113731658 | epot = -12.6866816420588 | etot = -5.62847192077371 -523000 ekin = 2.34541603965411 | erot = 4.65571671269724 | epot = -12.6296046828338 | etot = -5.62847193048247 -524000 ekin = 2.39460269540065 | erot = 4.54409239676948 | epot = -12.5671670124494 | etot = -5.62847192027929 -525000 ekin = 2.51755565348139 | erot = 4.49060445326918 | epot = -12.6366320324754 | etot = -5.62847192572488 -526000 ekin = 2.63891940339899 | erot = 4.49670026132054 | epot = -12.7640916025052 | etot = -5.62847193778565 -527000 ekin = 2.6813055707917 | erot = 4.50503337381134 | epot = -12.8148108746973 | etot = -5.62847193009429 -528000 ekin = 2.71450795011646 | erot = 4.51098798634719 | epot = -12.8539678666578 | etot = -5.62847193019411 -529000 ekin = 2.74727192395392 | erot = 4.51402301147703 | epot = -12.8897668656952 | etot = -5.62847193026422 -530000 ekin = 2.77952118315639 | erot = 4.51256666257021 | epot = -12.9205597760171 | etot = -5.62847193029047 -531000 ekin = 2.81130699780534 | erot = 4.50555264770546 | epot = -12.94533157578 | etot = -5.62847193026921 -532000 ekin = 2.8427455322915 | erot = 4.49253106983453 | epot = -12.9637485323352 | etot = -5.62847193020913 -533000 ekin = 2.8739331377113 | erot = 4.47361780236023 | epot = -12.9760228702018 | etot = -5.62847193013024 -534000 ekin = 2.90486933808867 | erot = 4.44928844618011 | epot = -12.9826297143247 | etot = -5.62847193005592 -535000 ekin = 2.93541519866179 | erot = 4.42010482066211 | epot = -12.9839919493258 | etot = -5.62847193000187 -536000 ekin = 2.96529830148253 | erot = 4.38649798396238 | epot = -12.9802682154175 | etot = -5.62847192997261 -537000 ekin = 2.99415467151137 | erot = 4.34867665836684 | epot = -12.9713032598312 | etot = -5.62847192995302 -538000 ekin = 3.02158801649141 | erot = 4.30669342609836 | epot = -12.9567533725424 | etot = -5.62847192995266 -539000 ekin = 3.04722844372971 | erot = 4.26048951905113 | epot = -12.9361898927295 | etot = -5.6284719299487 -540000 ekin = 3.07077963643188 | erot = 4.21000980478769 | epot = -12.9092613711513 | etot = -5.62847192993171 -541000 ekin = 3.09204730615951 | erot = 4.1553506158546 | epot = -12.8758698519111 | etot = -5.62847192989701 -542000 ekin = 3.11094831332664 | erot = 4.09682671838313 | epot = -12.8362469615538 | etot = -5.62847192984404 -543000 ekin = 3.12750284881959 | erot = 4.03499383130505 | epot = -12.7909686099003 | etot = -5.62847192977567 -544000 ekin = 3.14181233917185 | erot = 3.97062692619834 | epot = -12.740911195071 | etot = -5.6284719297008 -545000 ekin = 3.15402369277451 | erot = 3.90462208415743 | epot = -12.6871177065597 | etot = -5.62847192962772 -546000 ekin = 3.16427777376711 | erot = 3.83809465726173 | epot = -12.6308443605884 | etot = -5.62847192955952 -547000 ekin = 3.17263245314557 | erot = 3.77248542235981 | epot = -12.5735898050378 | etot = -5.62847192953238 -548000 ekin = 3.17905114127096 | erot = 3.70842416473845 | epot = -12.5159472355489 | etot = -5.62847192953947 -549000 ekin = 3.18335924851634 | erot = 3.64619443421479 | epot = -12.4580256122707 | etot = -5.6284719295396 -550000 ekin = 3.18506506659006 | erot = 3.58603484426971 | epot = -12.3995718405133 | etot = -5.62847192965355 -551000 ekin = 3.18354118865114 | erot = 3.52751972612761 | epot = -12.339532844571 | etot = -5.62847192979223 -552000 ekin = 3.17814056098796 | erot = 3.46973317227236 | epot = -12.2763456631941 | etot = -5.62847192993373 -553000 ekin = 3.16816249046617 | erot = 3.41187716291749 | epot = -12.2085115834286 | etot = -5.62847193004495 -554000 ekin = 3.15297464055059 | erot = 3.3536338689097 | epot = -12.1350804395488 | etot = -5.62847193008849 -555000 ekin = 3.13218065540938 | erot = 3.29554931590078 | epot = -12.0562019013401 | etot = -5.62847193002996 -556000 ekin = 3.10581995741923 | erot = 3.239328904532 | epot = -11.973620791798 | etot = -5.62847192984672 -557000 ekin = 3.07457883896461 | erot = 3.18795403306403 | epot = -11.8910048015599 | etot = -5.62847192953126 -558000 ekin = 3.03998262652355 | erot = 3.14553707334849 | epot = -11.813991628982 | etot = -5.62847192910991 -559000 ekin = 3.00450378984156 | erot = 3.11693712835965 | epot = -11.7499128467833 | etot = -5.62847192858208 -560000 ekin = 2.97145203622217 | erot = 3.1075818198538 | epot = -11.7075057840995 | etot = -5.62847192802354 -561000 ekin = 2.94451934101954 | erot = 3.1226726975339 | epot = -11.6956639661186 | etot = -5.62847192756517 -562000 ekin = 2.92714140957828 | erot = 3.16633554921903 | epot = -11.7219488860465 | etot = -5.62847192724921 -563000 ekin = 2.92206147626411 | erot = 3.24077054353436 | epot = -11.791303946999 | etot = -5.62847192720053 -564000 ekin = 2.93031627655366 | erot = 3.3456341095489 | epot = -11.9044223136038 | etot = -5.62847192750128 -565000 ekin = 2.9506871229223 | erot = 3.47751232962104 | epot = -12.0566713806986 | etot = -5.6284719281553 -566000 ekin = 2.97962685521271 | erot = 3.62985521355648 | epot = -12.2379539978956 | etot = -5.6284719291264 -567000 ekin = 3.01171593575608 | erot = 3.79324477337326 | epot = -12.4334326394462 | etot = -5.62847193031686 -568000 ekin = 3.04054477447765 | erot = 3.95610049173114 | epot = -12.6251171977979 | etot = -5.6284719315891 -569000 ekin = 3.05981811079938 | erot = 4.10576505734827 | epot = -12.7940551009318 | etot = -5.62847193278418 -570000 ekin = 3.06446758298878 | erot = 4.22987220710644 | epot = -12.9228117238377 | etot = -5.62847193374246 -571000 ekin = 3.05159191042571 | erot = 4.31782950107407 | epot = -12.9978933458268 | etot = -5.62847193432701 -572000 ekin = 3.02108996841121 | erot = 4.36217384041968 | epot = -13.0117357432802 | etot = -5.62847193444927 -573000 ekin = 2.97589592648261 | erot = 4.35953364446362 | epot = -12.963901505034 | etot = -5.62847193408773 -574000 ekin = 2.92177260949754 | erot = 4.31098813646067 | epot = -12.8612326792579 | etot = -5.6284719332997 -575000 ekin = 2.86675845148244 | erot = 4.22206447601528 | epot = -12.717294857537 | etot = -5.62847193003927 -576000 ekin = 2.82238695047027 | erot = 4.11002108697591 | epot = -12.5608799669646 | etot = -5.62847192951847 -577000 ekin = 2.79586021291389 | erot = 3.98405314230884 | epot = -12.4083852843111 | etot = -5.62847192908835 -578000 ekin = 2.79062678653061 | erot = 3.84816173897011 | epot = -12.2672604543497 | etot = -5.62847192884899 -579000 ekin = 2.8072787676975 | erot = 3.70630768394865 | epot = -12.1420583804789 | etot = -5.62847192883276 -580000 ekin = 2.84308800289758 | erot = 3.56147502219919 | epot = -12.0330349543963 | etot = -5.62847192929951 -581000 ekin = 2.89275945174485 | erot = 3.41677708034905 | epot = -11.9380084614678 | etot = -5.62847192937395 -582000 ekin = 2.94948274103835 | erot = 3.27852635627925 | epot = -11.8564810267612 | etot = -5.62847192944361 -583000 ekin = 3.00600312785704 | erot = 3.1533950786452 | epot = -11.7878701359294 | etot = -5.62847192942714 -584000 ekin = 3.0561587030715 | erot = 3.04800743030949 | epot = -11.7326380626837 | etot = -5.62847192930273 -585000 ekin = 3.09596263912471 | erot = 2.96828908151033 | epot = -11.6927236497277 | etot = -5.62847192909268 -586000 ekin = 3.12407298202873 | erot = 2.91878541588222 | epot = -11.6713303267394 | etot = -5.62847192882846 -587000 ekin = 3.1417461422428 | erot = 2.90225430092797 | epot = -11.6724723717095 | etot = -5.62847192853876 -588000 ekin = 3.15240031625394 | erot = 2.91960613643246 | epot = -11.7004783809487 | etot = -5.62847192826232 -589000 ekin = 3.16081808259797 | erot = 2.97006448175089 | epot = -11.7593544923902 | etot = -5.62847192804131 -590000 ekin = 3.17204827388439 | erot = 3.05134069929102 | epot = -11.8518609010921 | etot = -5.62847192791673 -591000 ekin = 3.19150299842536 | erot = 3.16015018734832 | epot = -11.9801251137674 | etot = -5.6284719279937 -592000 ekin = 3.22264872306185 | erot = 3.29204057519177 | epot = -12.1431612265723 | etot = -5.62847192831868 -593000 ekin = 3.26585695466981 | erot = 3.44092346941487 | epot = -12.3352523529449 | etot = -5.6284719288602 -594000 ekin = 3.31918005198706 | erot = 3.59965335604983 | epot = -12.5473053376027 | etot = -5.62847192956579 -595000 ekin = 3.37897127085281 | erot = 3.76045843945238 | epot = -12.7679016405963 | etot = -5.62847193029108 -596000 ekin = 3.43824068580398 | erot = 3.91359738328686 | epot = -12.980310001717 | etot = -5.62847193262616 -597000 ekin = 3.48744876799044 | erot = 4.04782437863043 | epot = -13.1637450798808 | etot = -5.62847193325989 -598000 ekin = 3.52187002170255 | erot = 4.15698580426831 | epot = -13.307327759585 | etot = -5.62847193361412 -599000 ekin = 3.53831455071624 | erot = 4.23767846711066 | epot = -13.4044649515128 | etot = -5.62847193368587 -600000 ekin = 3.53510970428707 | erot = 4.28920847103936 | epot = -13.4527901088444 | etot = -5.62847193351797 -601000 ekin = 3.51191041815786 | erot = 4.31320178192802 | epot = -13.4535841332659 | etot = -5.62847193318003 -602000 ekin = 3.46937521143574 | erot = 4.31295152736691 | epot = -13.4107986715493 | etot = -5.62847193274661 -603000 ekin = 3.40882221238013 | erot = 4.29270411924618 | epot = -13.3299982639056 | etot = -5.62847193227927 -604000 ekin = 3.33194570978559 | erot = 4.2570524585947 | epot = -13.2174701001989 | etot = -5.62847193181861 -605000 ekin = 3.24062643783893 | erot = 4.21052248032778 | epot = -13.0796208495513 | etot = -5.62847193138458 -606000 ekin = 3.13683319322064 | erot = 4.15735875790268 | epot = -12.9226638821045 | etot = -5.62847193098114 -607000 ekin = 3.02259481106322 | erot = 4.1014670376604 | epot = -12.752533779326 | etot = -5.62847193060236 -608000 ekin = 2.90001652257406 | erot = 4.04645475149492 | epot = -12.5749432043072 | etot = -5.62847193023822 -609000 ekin = 2.7713172880563 | erot = 3.99571460773251 | epot = -12.3955038256672 | etot = -5.62847192987839 -610000 ekin = 2.63886938888094 | erot = 3.95250622983135 | epot = -12.219847548229 | etot = -5.6284719295167 -611000 ekin = 2.50524882248118 | erot = 3.92003293769894 | epot = -12.0537536890432 | etot = -5.6284719288631 -612000 ekin = 2.3738208727921 | erot = 3.90218869845917 | epot = -11.9044814997854 | etot = -5.62847192853414 -613000 ekin = 2.24769613360649 | erot = 3.9018678874184 | epot = -11.77803594925 | etot = -5.6284719282251 -614000 ekin = 2.12975142860158 | erot = 3.92103062107246 | epot = -11.6792539776525 | etot = -5.62847192797845 -615000 ekin = 2.02283676460709 | erot = 3.9608005682159 | epot = -11.6121092606515 | etot = -5.62847192782847 -616000 ekin = 1.92967019040109 | erot = 4.02099162177929 | epot = -11.579133739989 | etot = -5.62847192780864 -617000 ekin = 1.85273791854346 | erot = 4.09974474399252 | epot = -11.5809545904839 | etot = -5.62847192794792 -618000 ekin = 1.79420296287054 | erot = 4.19322703618216 | epot = -11.6159019273126 | etot = -5.62847192825989 -619000 ekin = 1.75583197419359 | erot = 4.29552606643173 | epot = -11.6798299693548 | etot = -5.62847192872946 -620000 ekin = 1.73895870088423 | erot = 4.39891672371453 | epot = -11.7663473539013 | etot = -5.6284719293025 -621000 ekin = 1.74449834705652 | erot = 4.49462250663369 | epot = -11.867592783578 | etot = -5.62847192988775 -622000 ekin = 1.77300875716763 | erot = 4.57403518090684 | epot = -11.9755158684539 | etot = -5.62847193037939 -623000 ekin = 1.82476626655654 | erot = 4.63011744395741 | epot = -12.0833556412062 | etot = -5.62847193069226 -624000 ekin = 1.89980556085527 | erot = 4.65854151395705 | epot = -12.1868190056079 | etot = -5.62847193079563 -625000 ekin = 1.99788930996706 | erot = 4.658170601646 | epot = -12.2845318423309 | etot = -5.62847193071786 -626000 ekin = 2.11841938996678 | erot = 4.63077870088668 | epot = -12.3776700213792 | etot = -5.62847193052572 -627000 ekin = 2.26034340488758 | erot = 4.58024268392336 | epot = -12.4690580190999 | etot = -5.62847193028892 -628000 ekin = 2.42211143970931 | erot = 4.51161612048185 | epot = -12.5621994902529 | etot = -5.62847193006177 -629000 ekin = 2.60047669400347 | erot = 4.43316974503215 | epot = -12.6621183684369 | etot = -5.62847192940126 -630000 ekin = 2.75035748991735 | erot = 4.31003905744608 | epot = -12.6888685130675 | etot = -5.62847196570411 -631000 ekin = 2.81471524132015 | erot = 4.11774535986825 | epot = -12.5609325369493 | etot = -5.62847193576088 -632000 ekin = 2.9586755220506 | erot = 4.07926707201668 | epot = -12.6664145269351 | etot = -5.62847193286781 -633000 ekin = 3.21010693581923 | erot = 4.20581326814194 | epot = -13.0443921660353 | etot = -5.62847196207413 -634000 ekin = 3.41641131487995 | erot = 4.25928215924009 | epot = -13.304165410488 | etot = -5.62847193636795 -635000 ekin = 3.57385274065781 | erot = 4.24018711595442 | epot = -13.4425117937506 | etot = -5.62847193713836 -636000 ekin = 3.71894531185721 | erot = 4.21896102697364 | epot = -13.5663782768054 | etot = -5.62847193797452 -637000 ekin = 3.84555962844625 | erot = 4.19009538986558 | epot = -13.6641269569819 | etot = -5.62847193867003 -638000 ekin = 3.94874232724621 | erot = 4.14881281920061 | epot = -13.7260270854857 | etot = -5.6284719390389 -639000 ekin = 4.02564653206276 | erot = 4.09271382113576 | epot = -13.7468322922034 | etot = -5.62847193900491 -640000 ekin = 4.07582551377061 | erot = 4.02260436112642 | epot = -13.7269018135144 | etot = -5.62847193861737 -641000 ekin = 4.10019063778084 | erot = 3.94203419560204 | epot = -13.6706967718469 | etot = -5.62847193846401 -642000 ekin = 4.0992358601055 | erot = 3.85569636504571 | epot = -13.5834041630362 | etot = -5.62847193788503 -643000 ekin = 4.07616079997735 | erot = 3.76850329627695 | epot = -13.473136033615 | etot = -5.62847193736071 -644000 ekin = 4.03483546325761 | erot = 3.6842853840609 | epot = -13.3475927842648 | etot = -5.62847193694628 -645000 ekin = 3.97939693555572 | erot = 3.60521279241213 | epot = -13.2130816645928 | etot = -5.62847193662499 -646000 ekin = 3.914241574152 | erot = 3.53197746510563 | epot = -13.0746909755998 | etot = -5.62847193634215 -647000 ekin = 3.84412108375504 | erot = 3.46430751170712 | epot = -12.9369005316455 | etot = -5.62847193618331 -648000 ekin = 3.77442093470216 | erot = 3.40030625094633 | epot = -12.8031991215143 | etot = -5.62847193586579 -649000 ekin = 3.71064844421026 | erot = 3.33902116856895 | epot = -12.6781415483232 | etot = -5.62847193554397 -650000 ekin = 3.65777288978035 | erot = 3.28036981757215 | epot = -12.566614642624 | etot = -5.62847193527149 -651000 ekin = 3.61962254765 | erot = 3.22458240430774 | epot = -12.4726768870525 | etot = -5.62847193509476 -652000 ekin = 3.59838866990065 | erot = 3.17201593040562 | epot = -12.3988765353386 | etot = -5.62847193503232 -653000 ekin = 3.59447660065128 | erot = 3.12302902485726 | epot = -12.3459775605759 | etot = -5.62847193506737 -654000 ekin = 3.60674141924375 | erot = 3.07797678369351 | epot = -12.313190138097 | etot = -5.62847193515974 -655000 ekin = 3.6329884131546 | erot = 3.03728497078528 | epot = -12.2987453192105 | etot = -5.62847193527063 -656000 ekin = 3.67052655532243 | erot = 3.00147990300574 | epot = -12.3004783937154 | etot = -5.62847193538727 -657000 ekin = 3.71734630707259 | erot = 2.97084073554712 | epot = -12.3166589780138 | etot = -5.62847193539409 -658000 ekin = 3.75778663170118 | erot = 2.94872940849709 | epot = -12.3349879989872 | etot = -5.62847195878893 -659000 ekin = 3.70128994164513 | erot = 2.99267200652722 | epot = -12.3224338839004 | etot = -5.62847193572804 -660000 ekin = 3.77980484677394 | erot = 3.05081678593039 | epot = -12.4590935967804 | etot = -5.62847196407602 -661000 ekin = 3.87674047130434 | erot = 3.02043722447083 | epot = -12.5256496411378 | etot = -5.62847194536264 -662000 ekin = 3.96189665312228 | erot = 2.9729451066035 | epot = -12.5633137060314 | etot = -5.62847194630559 -663000 ekin = 4.03233992124012 | erot = 2.90724728967908 | epot = -12.5680591572493 | etot = -5.62847194633005 -664000 ekin = 4.08703350789502 | erot = 2.82371074128155 | epot = -12.5392161949875 | etot = -5.62847194581096 -665000 ekin = 4.13016908284495 | erot = 2.72591755767246 | epot = -12.4845585855709 | etot = -5.62847194505346 -666000 ekin = 4.16485763703889 | erot = 2.62158318065064 | epot = -12.4149127617649 | etot = -5.62847194407538 -667000 ekin = 4.19388444244747 | erot = 2.5204804655618 | epot = -12.3428368513263 | etot = -5.62847194331707 -668000 ekin = 4.21970111376775 | erot = 2.43117566536091 | epot = -12.2793487218942 | etot = -5.62847194276556 -669000 ekin = 4.24419480075555 | erot = 2.35970998750672 | epot = -12.2323767306686 | etot = -5.62847194240629 -670000 ekin = 4.26650932853713 | erot = 2.31009212975349 | epot = -12.2050734005681 | etot = -5.62847194227748 -671000 ekin = 4.28028750593881 | erot = 2.28394068948421 | epot = -12.192700137648 | etot = -5.62847194222501 -672000 ekin = 4.28604953828195 | erot = 2.2808770094442 | epot = -12.1953984899153 | etot = -5.62847194218917 -673000 ekin = 4.28538320994761 | erot = 2.29981058114364 | epot = -12.2136657332365 | etot = -5.62847194214521 -674000 ekin = 4.28032637899501 | erot = 2.33931519995972 | epot = -12.2481135210592 | etot = -5.62847194210451 -675000 ekin = 4.27310613156474 | erot = 2.39770546337526 | epot = -12.2992835370552 | etot = -5.62847194211517 -676000 ekin = 4.26563141856059 | erot = 2.47283047860335 | epot = -12.3669338394392 | etot = -5.62847194227529 -677000 ekin = 4.25873601035467 | erot = 2.56159475141872 | epot = -12.448802704407 | etot = -5.62847194263361 -678000 ekin = 4.2515438341777 | erot = 2.65951246668713 | epot = -12.5395282441051 | etot = -5.62847194324031 -679000 ekin = 4.24120573471807 | erot = 2.76057514757248 | epot = -12.6302528263307 | etot = -5.62847194404019 -680000 ekin = 4.22320051186228 | erot = 2.85770689110643 | epot = -12.7093793478391 | etot = -5.62847194487038 -681000 ekin = 4.19242845455841 | erot = 2.94400272552496 | epot = -12.7649031255833 | etot = -5.62847194549996 -682000 ekin = 4.14477706340556 | erot = 3.01435956391996 | epot = -12.7876085730722 | etot = -5.62847194574666 -683000 ekin = 4.07850194581341 | erot = 3.06669689312527 | epot = -12.7736707845003 | etot = -5.6284719455616 -684000 ekin = 3.98766788583267 | erot = 3.09062770660156 | epot = -12.706767542821 | etot = -5.62847195038674 -685000 ekin = 3.8760997603181 | erot = 3.07213118865403 | epot = -12.5767028926492 | etot = -5.62847194367705 -686000 ekin = 3.78865422790986 | erot = 3.05379982538352 | epot = -12.4709259956439 | etot = -5.62847194235048 -687000 ekin = 3.7288563812245 | erot = 3.05128310405213 | epot = -12.408611432508 | etot = -5.62847194723138 -688000 ekin = 3.65488085466451 | erot = 3.04382149773097 | epot = -12.3271742987358 | etot = -5.62847194634028 -689000 ekin = 3.57606770149366 | erot = 3.03834252507491 | epot = -12.2428821722026 | etot = -5.62847194563407 -690000 ekin = 3.51634425567094 | erot = 3.04775260797855 | epot = -12.1925688087709 | etot = -5.62847194512142 -691000 ekin = 3.47971445752948 | erot = 3.07622358479915 | epot = -12.1844099871964 | etot = -5.62847194486774 -692000 ekin = 3.46765181268596 | erot = 3.12642449717242 | epot = -12.2225482547928 | etot = -5.62847194493445 -693000 ekin = 3.47854301565517 | erot = 3.19918358097393 | epot = -12.3061985419641 | etot = -5.62847194533503 -694000 ekin = 3.50760869812599 | erot = 3.2934044104255 | epot = -12.4294850545637 | etot = -5.6284719460122 -695000 ekin = 3.54747029174784 | erot = 3.40637947899957 | epot = -12.5823217175954 | etot = -5.62847194684794 -696000 ekin = 3.58927155174932 | erot = 3.53441505478472 | epot = -12.7521585542382 | etot = -5.6284719477042 -697000 ekin = 3.62399868532267 | erot = 3.67347767287036 | epot = -12.9259483066525 | etot = -5.62847194845942 -698000 ekin = 3.64429609765447 | erot = 3.81929275578106 | epot = -13.0920608025405 | etot = -5.62847194910502 -699000 ekin = 3.64411727660344 | erot = 3.96826912270823 | epot = -13.2408583488323 | etot = -5.62847194952066 -700000 ekin = 3.61972386486613 | erot = 4.11779628896031 | epot = -13.3659921035143 | etot = -5.62847194968783 -701000 ekin = 3.57045543141783 | erot = 4.26605645103649 | epot = -13.4649838321906 | etot = -5.6284719497363 -702000 ekin = 3.49917622959634 | erot = 4.41037029478515 | epot = -13.5380184739931 | etot = -5.62847194961158 -703000 ekin = 3.41079978159128 | erot = 4.54773448459995 | epot = -13.5870062155707 | etot = -5.62847194937949 -704000 ekin = 3.31149657263073 | erot = 4.67560464070122 | epot = -13.6155731624158 | etot = -5.62847194908389 -705000 ekin = 3.208079030569 | erot = 4.79162132869341 | epot = -13.6281723080447 | etot = -5.62847194878226 -706000 ekin = 3.10702043908273 | erot = 4.89365607485804 | epot = -13.6291484624854 | etot = -5.62847194854463 -707000 ekin = 3.01353531424254 | erot = 4.97967086400049 | epot = -13.6216781266835 | etot = -5.62847194844046 -708000 ekin = 2.93091332961603 | erot = 5.04739802040938 | epot = -13.6067832985419 | etot = -5.62847194851649 -709000 ekin = 2.86026033891818 | erot = 5.09399325378486 | epot = -13.5827255414769 | etot = -5.62847194877389 -710000 ekin = 2.80069789554938 | erot = 5.11589857280283 | epot = -13.5450684175111 | etot = -5.6284719491589 -711000 ekin = 2.74994326422268 | erot = 5.10911210216224 | epot = -13.4875273159535 | etot = -5.62847194956863 -712000 ekin = 2.70509857042167 | erot = 5.06990681741588 | epot = -13.4034773377164 | etot = -5.6284719498788 -713000 ekin = 2.66343594258145 | erot = 4.99582282577925 | epot = -13.2877307183444 | etot = -5.6284719499837 -714000 ekin = 2.62297982883473 | erot = 4.88658411822028 | epot = -13.1380358968879 | etot = -5.62847194983286 -715000 ekin = 2.58275404776271 | erot = 4.74456650518315 | epot = -12.9557925023948 | etot = -5.62847194944894 -716000 ekin = 2.54267933996016 | erot = 4.57461726476494 | epot = -12.7457685536363 | etot = -5.62847194891119 -717000 ekin = 2.5033469203234 | erot = 4.38348005467583 | epot = -12.5152989229978 | etot = -5.62847194799853 -718000 ekin = 2.46867182063301 | erot = 4.18280619312982 | epot = -12.2799499615047 | etot = -5.62847194774182 -719000 ekin = 2.44027484673925 | erot = 3.97913844296029 | epot = -12.0478852371905 | etot = -5.628471947491 -720000 ekin = 2.41790751040199 | erot = 3.77617089319515 | epot = -11.8225503508476 | etot = -5.6284719472505 -721000 ekin = 2.40130900330153 | erot = 3.57751641390117 | epot = -11.6072973642256 | etot = -5.62847194702291 -722000 ekin = 2.39001969448122 | erot = 3.3862093336106 | epot = -11.4047009751078 | etot = -5.62847194701602 -723000 ekin = 2.38288808222113 | erot = 3.20447847619705 | epot = -11.2158385051369 | etot = -5.62847194671873 -724000 ekin = 2.38038137261199 | erot = 3.03585463105936 | epot = -11.0447079501193 | etot = -5.62847194644795 -725000 ekin = 2.38334904386777 | erot = 2.88343528888341 | epot = -10.8952562789589 | etot = -5.62847194620774 -726000 ekin = 2.39277988819888 | erot = 2.74974572537002 | epot = -10.770997559572 | etot = -5.62847194600309 -727000 ekin = 2.40968215743344 | erot = 2.63676770312689 | epot = -10.6749218064005 | etot = -5.62847194584012 -728000 ekin = 2.42515138002469 | erot = 2.54412147907801 | epot = -10.5977448184551 | etot = -5.62847195935242 -729000 ekin = 2.40297855344215 | erot = 2.51475999952154 | epot = -10.5462104923917 | etot = -5.62847193942804 -730000 ekin = 2.46310039286495 | erot = 2.54088838271553 | epot = -10.6324607145563 | etot = -5.62847193897584 -731000 ekin = 2.53308642096613 | erot = 2.54954386947211 | epot = -10.711102229505 | etot = -5.62847193906673 -732000 ekin = 2.61398262093143 | erot = 2.5802487460585 | epot = -10.822703306265 | etot = -5.62847193927504 -733000 ekin = 2.70404858445948 | erot = 2.63167940201831 | epot = -10.9641999261219 | etot = -5.62847193964411 -734000 ekin = 2.80051950065896 | erot = 2.7013292984616 | epot = -11.130320739341 | etot = -5.62847194022042 -735000 ekin = 2.89941283715917 | erot = 2.78510796769434 | epot = -11.312992745887 | etot = -5.62847194103353 -736000 ekin = 2.99560133056514 | erot = 2.87741009023047 | epot = -11.5014833618905 | etot = -5.62847194109488 -737000 ekin = 3.08481605479911 | erot = 2.97524489366734 | epot = -11.6885328904478 | etot = -5.62847194198136 -738000 ekin = 3.16217862812249 | erot = 3.07317374875599 | epot = -11.8638243196778 | etot = -5.62847194279929 -739000 ekin = 3.22336037209491 | erot = 3.16493875126528 | epot = -12.0167710667071 | etot = -5.62847194334687 -740000 ekin = 3.26585131613638 | erot = 3.24522139632786 | epot = -12.1395446568944 | etot = -5.62847194443018 -741000 ekin = 3.28375382499279 | erot = 3.29991441187171 | epot = -12.2121401812924 | etot = -5.62847194442793 -742000 ekin = 3.27631313143846 | erot = 3.3240861171076 | epot = -12.2288711924857 | etot = -5.6284719439396 -743000 ekin = 3.24737724800463 | erot = 3.32046927276587 | epot = -12.1963184639691 | etot = -5.62847194319862 -744000 ekin = 3.20210603611902 | erot = 3.29401551194478 | epot = -12.1245934904807 | etot = -5.62847194241693 -745000 ekin = 3.14567705897692 | erot = 3.25033567018705 | epot = -12.0244846708759 | etot = -5.62847194171191 -746000 ekin = 3.08279906283019 | erot = 3.19521988704382 | epot = -11.9064908907384 | etot = -5.62847194086443 -747000 ekin = 3.01768881746883 | erot = 3.13473855330661 | epot = -11.7808993111576 | etot = -5.62847194038213 -748000 ekin = 2.95302867441137 | erot = 3.07321432162006 | epot = -11.6547149359761 | etot = -5.62847193994465 -749000 ekin = 2.89104396144326 | erot = 3.01469856715425 | epot = -11.5342144681276 | etot = -5.62847193953008 -750000 ekin = 2.83379417430614 | erot = 2.96315742665335 | epot = -11.4254235400924 | etot = -5.62847193913296 -751000 ekin = 2.78329891283332 | erot = 2.92241777463976 | epot = -11.3341886262355 | etot = -5.62847193876246 -752000 ekin = 2.74156846320063 | erot = 2.89600799331209 | epot = -11.266048394949 | etot = -5.62847193843623 -753000 ekin = 2.71056677633252 | erot = 2.88693753461072 | epot = -11.2259762491218 | etot = -5.62847193817852 -754000 ekin = 2.69212502656379 | erot = 2.8974312596522 | epot = -11.2180282242366 | etot = -5.62847193802059 -755000 ekin = 2.68776538359871 | erot = 2.92849871106126 | epot = -11.2447360327333 | etot = -5.62847193807333 -756000 ekin = 2.69845743031605 | erot = 2.97938409378998 | epot = -11.3063134623401 | etot = -5.62847193823404 -757000 ekin = 2.72458496411422 | erot = 3.04788425640591 | epot = -11.4009411591564 | etot = -5.62847193863626 -758000 ekin = 2.76540921277961 | erot = 3.12962823298844 | epot = -11.523509385085 | etot = -5.62847193931699 -759000 ekin = 2.8186834205773 | erot = 3.21794575410196 | epot = -11.6651011149394 | etot = -5.62847194026013 -760000 ekin = 2.88053746469875 | erot = 3.30429272414901 | epot = -11.8133021301939 | etot = -5.62847194134618 -761000 ekin = 2.94600007662043 | erot = 3.37947250565271 | epot = -11.9539445245983 | etot = -5.62847194232513 -762000 ekin = 3.01037281069867 | erot = 3.43568700389847 | epot = -12.0745317574868 | etot = -5.6284719428897 -763000 ekin = 3.07103775518422 | erot = 3.46881600092524 | epot = -12.1683256989529 | etot = -5.62847194284345 -764000 ekin = 3.12866395060911 | erot = 3.47975039715677 | epot = -12.2368862900023 | etot = -5.62847194223643 -765000 ekin = 3.18696433111185 | erot = 3.47390232181757 | epot = -12.2893385942623 | etot = -5.62847194133286 -766000 ekin = 3.25112146438474 | erot = 3.45917589095791 | epot = -12.3387692957924 | etot = -5.62847194044976 -767000 ekin = 3.32577328188977 | erot = 3.44357056043203 | epot = -12.3978157821425 | etot = -5.62847193982066 -768000 ekin = 3.4134183336462 | erot = 3.43342634965397 | epot = -12.4753166228542 | etot = -5.62847193955402 -769000 ekin = 3.51361597928388 | erot = 3.43258837720667 | epot = -12.5746762961495 | etot = -5.628471939659 -770000 ekin = 3.62296220584402 | erot = 3.44225950948084 | epot = -12.6936936554077 | etot = -5.62847194008282 -771000 ekin = 3.67754209849416 | erot = 3.42051682715851 | epot = -12.7265308934616 | etot = -5.62847196780898 -772000 ekin = 3.59351734054848 | erot = 3.35849685486605 | epot = -12.5804861289567 | etot = -5.62847193354221 -773000 ekin = 3.58504863443413 | erot = 3.48413941929281 | epot = -12.6976599869986 | etot = -5.62847193327161 -774000 ekin = 3.6955624666272 | erot = 3.75600381554418 | epot = -13.0800382509718 | etot = -5.62847196880046 -775000 ekin = 3.75799646994502 | erot = 3.87395641002164 | epot = -13.2604248525124 | etot = -5.6284719725457 -776000 ekin = 3.76514931014297 | erot = 3.89275295601426 | epot = -13.2863742388756 | etot = -5.62847197271834 -777000 ekin = 3.74852837941783 | erot = 3.88975944389829 | epot = -13.2667597956642 | etot = -5.6284719723481 -778000 ekin = 3.71300754026198 | erot = 3.86527182184886 | epot = -13.2067513337439 | etot = -5.62847197163307 -779000 ekin = 3.66665793080371 | erot = 3.82295167554327 | epot = -13.1180815768782 | etot = -5.62847197053126 -780000 ekin = 3.6197277314815 | erot = 3.76957330498926 | epot = -13.0177730057584 | etot = -5.62847196928763 -781000 ekin = 3.58276242526763 | erot = 3.71368279686272 | epot = -12.9249171903313 | etot = -5.62847196820099 -782000 ekin = 3.56434384287052 | erot = 3.663446216256 | epot = -12.8562620266381 | etot = -5.62847196751157 -783000 ekin = 3.569070833758 | erot = 3.62459601372342 | epot = -12.8221388149365 | etot = -5.62847196745505 -784000 ekin = 3.59655578171477 | erot = 3.59908724263203 | epot = -12.8241149921578 | etot = -5.628471967811 -785000 ekin = 3.64263842874724 | erot = 3.58559579679555 | epot = -12.8567061940348 | etot = -5.628471968492 -786000 ekin = 3.70061363559346 | erot = 3.58032714296196 | epot = -12.9094127478413 | etot = -5.62847196928587 -787000 ekin = 3.76290289520346 | erot = 3.57827846498719 | epot = -12.9696533302383 | etot = -5.62847197004765 -788000 ekin = 3.82230691235523 | erot = 3.57432079346976 | epot = -13.0250996764999 | etot = -5.62847197067496 -789000 ekin = 3.87288355994426 | erot = 3.56402750529852 | epot = -13.0653830363495 | etot = -5.62847197110668 -790000 ekin = 3.91054381107001 | erot = 3.54422213352492 | epot = -13.0832379158633 | etot = -5.62847197126834 -791000 ekin = 3.93344679983575 | erot = 3.51333982582914 | epot = -13.0752585968492 | etot = -5.62847197118435 -792000 ekin = 3.94193166979322 | erot = 3.47142235483933 | epot = -13.041825995538 | etot = -5.6284719709054 -793000 ekin = 3.93805337465015 | erot = 3.41982689853169 | epot = -12.9863522436869 | etot = -5.62847197050506 -794000 ekin = 3.92496167504177 | erot = 3.36081973487931 | epot = -12.914253379975 | etot = -5.62847197005388 -795000 ekin = 3.90631843202764 | erot = 3.29713731843621 | epot = -12.8319277200719 | etot = -5.62847196960807 -796000 ekin = 3.88587920094623 | erot = 3.2315810082019 | epot = -12.7459321783521 | etot = -5.62847196920401 -797000 ekin = 3.86724402826997 | erot = 3.16668037665964 | epot = -12.6623963737923 | etot = -5.62847196886266 -798000 ekin = 3.85371944458176 | erot = 3.10446220744812 | epot = -12.5866536206206 | etot = -5.62847196859071 -799000 ekin = 3.84821326129611 | erot = 3.04637406894326 | epot = -12.5230592986259 | etot = -5.62847196838653 -800000 ekin = 3.85308746119908 | erot = 2.99338091153568 | epot = -12.4749403409776 | etot = -5.62847196824285 -801000 ekin = 3.86994742120005 | erot = 2.94620265084506 | epot = -12.444622040199 | etot = -5.6284719681539 -802000 ekin = 3.89938743556193 | erot = 2.90559564242602 | epot = -12.4334550461071 | etot = -5.62847196811911 -803000 ekin = 3.94077451983175 | erot = 2.8725536318446 | epot = -12.441800119818 | etot = -5.62847196814163 -804000 ekin = 3.99217445543376 | erot = 2.84833794173038 | epot = -12.4689843653885 | etot = -5.62847196822432 -805000 ekin = 4.05048829026687 | erot = 2.83432176470912 | epot = -12.5132820233421 | etot = -5.62847196836608 -806000 ekin = 4.11178329751052 | erot = 2.83170980353165 | epot = -12.5719650696039 | etot = -5.62847196856174 -807000 ekin = 4.17172086390648 | erot = 2.84122318457455 | epot = -12.6414160172863 | etot = -5.62847196880528 -808000 ekin = 4.22595471214784 | erot = 2.86283161284251 | epot = -12.7172582940824 | etot = -5.62847196909201 -809000 ekin = 4.27041103455395 | erot = 2.89559061414517 | epot = -12.7944736181159 | etot = -5.62847196941681 -810000 ekin = 4.3014357915028 | erot = 2.93761851690391 | epot = -12.8675262781752 | etot = -5.62847196976853 -811000 ekin = 4.31585912480079 | erot = 2.9862278240649 | epot = -12.930558918992 | etot = -5.62847197012628 -812000 ekin = 4.31104963118775 | erot = 3.0381997476329 | epot = -12.9777213492781 | etot = -5.62847197045748 -813000 ekin = 4.28501152838114 | erot = 3.0901583710543 | epot = -13.0036418701586 | etot = -5.62847197072312 -814000 ekin = 4.23653530230676 | erot = 3.13897206756234 | epot = -13.0039793407554 | etot = -5.62847197088632 -815000 ekin = 4.16537042737931 | erot = 3.18209773865592 | epot = -12.9759401369568 | etot = -5.62847197092152 -816000 ekin = 4.07236517435923 | erot = 3.21779646432864 | epot = -12.9186336095086 | etot = -5.62847197082074 -817000 ekin = 3.95951977391364 | erot = 3.24518380278537 | epot = -12.8331755472951 | etot = -5.62847197059607 -818000 ekin = 3.82991762635876 | erot = 3.26412066883377 | epot = -12.7225102654719 | etot = -5.62847197027939 -819000 ekin = 3.68753356656504 | erot = 3.274989029105 | epot = -12.590994565573 | etot = -5.62847196990294 -820000 ekin = 3.53699106730962 | erot = 3.27842149090396 | epot = -12.4438845277236 | etot = -5.62847196950999 -821000 ekin = 3.38323613805522 | erot = 3.27505502164331 | epot = -12.2867631288311 | etot = -5.62847196913258 -822000 ekin = 3.23123737393496 | erot = 3.26537695352475 | epot = -12.1250862962494 | etot = -5.62847196878966 -823000 ekin = 3.08574116249628 | erot = 3.24970236664698 | epot = -11.9639154976287 | etot = -5.62847196848548 -824000 ekin = 2.95109919834906 | erot = 3.22828590270062 | epot = -11.8078570692609 | etot = -5.62847196821119 -825000 ekin = 2.83117167296369 | erot = 3.20152981083048 | epot = -11.6611734517467 | etot = -5.62847196795251 -826000 ekin = 2.72929448949813 | erot = 3.17021233016805 | epot = -11.5279787873624 | etot = -5.62847196769619 -827000 ekin = 2.64828540338987 | erot = 3.13564460937196 | epot = -11.4124019802009 | etot = -5.62847196743903 -828000 ekin = 2.5904526875204 | erot = 3.09968027863752 | epot = -11.3186049333498 | etot = -5.6284719671919 -829000 ekin = 2.55756748988894 | erot = 3.06454892028369 | epot = -11.2505883771529 | etot = -5.62847196698028 -830000 ekin = 2.55077388386594 | erot = 3.03254604850139 | epot = -11.2117918992051 | etot = -5.62847196683773 -831000 ekin = 2.57043726045413 | erot = 3.00566097437001 | epot = -11.2045702016212 | etot = -5.62847196679708 -832000 ekin = 2.61596871090219 | erot = 2.98524787914233 | epot = -11.229688556925 | etot = -5.6284719668805 -833000 ekin = 2.68568117813862 | erot = 2.97182255651397 | epot = -11.2859757017456 | etot = -5.62847196709305 -834000 ekin = 2.77673678084328 | erot = 2.96502424281942 | epot = -11.3702329910841 | etot = -5.62847196742142 -835000 ekin = 2.88522064267949 | erot = 2.96372965159491 | epot = -11.4774222621122 | etot = -5.62847196783783 -836000 ekin = 3.0063398455796 | erot = 2.96626860503604 | epot = -11.6010804189229 | etot = -5.62847196830727 -837000 ekin = 3.13471078894618 | erot = 2.970671332171 | epot = -11.7338540899128 | etot = -5.62847196879559 -838000 ekin = 3.26467977004394 | erot = 2.9748901905619 | epot = -11.86804192988 | etot = -5.62847196927416 -839000 ekin = 3.39062362138979 | erot = 2.97696578858225 | epot = -11.9960613796947 | etot = -5.62847196972267 -840000 ekin = 3.50719614194999 | erot = 2.97513773435446 | epot = -12.1108058464317 | etot = -5.6284719701272 -841000 ekin = 3.60951430409246 | erot = 2.96792302618422 | epot = -12.2059093007524 | etot = -5.62847197047575 -842000 ekin = 3.69330308348183 | erot = 2.95419217455893 | epot = -12.2759672287961 | etot = -5.62847197075532 -843000 ekin = 3.75502928038789 | erot = 2.93326272963042 | epot = -12.3167639809676 | etot = -5.6284719709493 -844000 ekin = 3.79205095730746 | erot = 2.90501003271159 | epot = -12.3255329610568 | etot = -5.6284719710377 -845000 ekin = 3.80278826958941 | erot = 2.86997708316237 | epot = -12.3012373237539 | etot = -5.62847197100208 -846000 ekin = 3.78689078342828 | erot = 2.82944607152358 | epot = -12.2448088257836 | etot = -5.6284719708317 -847000 ekin = 3.74534923732902 | erot = 2.78543387912981 | epot = -12.1592550869891 | etot = -5.62847197053025 -848000 ekin = 3.68048960888628 | erot = 2.74058491148344 | epot = -12.0495464904896 | etot = -5.62847197011993 -849000 ekin = 3.59580402255204 | erot = 2.69795473402186 | epot = -11.9222307262171 | etot = -5.62847196964325 -850000 ekin = 3.49561210989736 | erot = 2.66069826229511 | epot = -11.7847823413462 | etot = -5.62847196915371 -851000 ekin = 3.38460421148492 | erot = 2.63169878929639 | epot = -11.6447749694902 | etot = -5.62847196870891 -852000 ekin = 3.26735834604579 | erot = 2.61319105427311 | epot = -11.5090213686769 | etot = -5.62847196835798 -853000 ekin = 3.14792970804226 | erot = 2.60644045917402 | epot = -11.3828421353463 | etot = -5.62847196813006 -854000 ekin = 3.0296172146285 | erot = 2.61155167678953 | epot = -11.2696408594426 | etot = -5.62847196802458 -855000 ekin = 2.91497870617726 | erot = 2.62749311879696 | epot = -11.1709437929948 | etot = -5.62847196802053 -856000 ekin = 2.80592683617268 | erot = 2.65229723507084 | epot = -11.086696039322 | etot = -5.6284719680785 -857000 ekin = 2.70394323081684 | erot = 2.68342637125215 | epot = -11.015841570225 | etot = -5.62847196815598 -858000 ekin = 2.61028084993387 | erot = 2.71820874456432 | epot = -10.9569615627179 | etot = -5.62847196821974 -859000 ekin = 2.52608469656868 | erot = 2.75423459875954 | epot = -10.9087912635804 | etot = -5.6284719682522 -860000 ekin = 2.45241725307689 | erot = 2.78962480136954 | epot = -10.8705140226977 | etot = -5.62847196825129 -861000 ekin = 2.39021948293556 | erot = 2.8231315036545 | epot = -10.8418229548166 | etot = -5.62847196822653 -862000 ekin = 2.34025129519653 | erot = 2.8540794641069 | epot = -10.8228027274973 | etot = -5.62847196819388 -863000 ekin = 2.30304188808604 | erot = 2.8821927766783 | epot = -10.8137066329357 | etot = -5.62847196817133 -864000 ekin = 2.27886006044868 | erot = 2.90737073908666 | epot = -10.8147027677094 | etot = -5.62847196817405 -865000 ekin = 2.26770197216494 | erot = 2.92947677509682 | epot = -10.8256507154733 | etot = -5.62847196821149 -866000 ekin = 2.26929189271583 | erot = 2.94819404278774 | epot = -10.845957903789 | etot = -5.62847196828544 -867000 ekin = 2.28309242201064 | erot = 2.96298089342183 | epot = -10.8745452838223 | etot = -5.62847196838983 -868000 ekin = 2.30832281686981 | erot = 2.97313399123391 | epot = -10.9099287766154 | etot = -5.62847196851167 -869000 ekin = 2.34398135142967 | erot = 2.97793980556504 | epot = -10.9503931256294 | etot = -5.62847196863466 -870000 ekin = 2.38886744731908 | erot = 2.9768680983503 | epot = -10.9942075144143 | etot = -5.62847196874495 -871000 ekin = 2.44159861772528 | erot = 2.96974175433465 | epot = -11.0398123408954 | etot = -5.62847196883551 -872000 ekin = 2.50061961565798 | erot = 2.95681803701343 | epot = -11.0859096215799 | etot = -5.62847196890848 -873000 ekin = 2.56420808097439 | erot = 2.93874614067396 | epot = -11.131426190622 | etot = -5.62847196897363 -874000 ekin = 2.63049126981213 | erot = 2.91641905790467 | epot = -11.175382296758 | etot = -5.62847196904118 -875000 ekin = 2.69749664404329 | erot = 2.8907906901858 | epot = -11.2167593033423 | etot = -5.62847196911322 -876000 ekin = 2.7632574083448 | erot = 2.86275138579259 | epot = -11.254480763316 | etot = -5.62847196917864 -877000 ekin = 2.82597857024908 | erot = 2.83312911642634 | epot = -11.2875796558883 | etot = -5.62847196921292 -878000 ekin = 2.88426505992131 | erot = 2.80282960058492 | epot = -11.3155666296436 | etot = -5.62847196913737 -879000 ekin = 2.93899285456266 | erot = 2.7740255772711 | epot = -11.3414904007463 | etot = -5.62847196891249 -880000 ekin = 2.99074429445928 | erot = 2.7490446637777 | epot = -11.3682609271798 | etot = -5.62847196894281 -881000 ekin = 3.03734868933224 | erot = 2.72816458071191 | epot = -11.3939852388255 | etot = -5.62847196878133 -882000 ekin = 3.07935286284048 | erot = 2.71303253503703 | epot = -11.4208573664922 | etot = -5.62847196861465 -883000 ekin = 3.11756797041403 | erot = 2.70517731839467 | epot = -11.4512172572897 | etot = -5.62847196848101 -884000 ekin = 3.1528025280678 | erot = 2.70569769606158 | epot = -11.4869721925354 | etot = -5.62847196840606 -885000 ekin = 3.18571613165263 | erot = 2.71504911547609 | epot = -11.5292372155319 | etot = -5.62847196840319 -886000 ekin = 3.21676773348757 | erot = 2.73290580068261 | epot = -11.5781455026473 | etot = -5.62847196847712 -887000 ekin = 3.24623562385912 | erot = 2.75806669107831 | epot = -11.632774283569 | etot = -5.62847196863155 -888000 ekin = 3.27425941974037 | erot = 2.78837179675785 | epot = -11.6911031853683 | etot = -5.62847196887008 -889000 ekin = 3.3008647884799 | erot = 2.82064068491639 | epot = -11.7499774425873 | etot = -5.62847196919104 -890000 ekin = 3.32596924830188 | erot = 2.8507143996669 | epot = -11.8051556175416 | etot = -5.62847196957287 -891000 ekin = 3.34941253195838 | erot = 2.87373382366803 | epot = -11.8516183255886 | etot = -5.62847196996221 -892000 ekin = 3.37107523516432 | erot = 2.88476437049021 | epot = -11.8843115759264 | etot = -5.62847197027186 -893000 ekin = 3.39111185056978 | erot = 2.87974242668336 | epot = -11.8993262476569 | etot = -5.62847197040377 -894000 ekin = 3.41023212865337 | erot = 2.85650829435345 | epot = -11.8952123932958 | etot = -5.62847197028898 -895000 ekin = 3.42987730811632 | erot = 2.8155349942695 | epot = -11.873884272311 | etot = -5.62847196992517 -896000 ekin = 3.45214148913016 | erot = 2.7600121308566 | epot = -11.840625589371 | etot = -5.62847196938424 -897000 ekin = 3.47941735546095 | erot = 2.69521466345503 | epot = -11.803103987699 | etot = -5.628471968783 -898000 ekin = 3.51352961973772 | erot = 2.62737086718366 | epot = -11.7693724683296 | etot = -5.62847198140817 -899000 ekin = 3.48893911372815 | erot = 2.56291214058034 | epot = -11.6803232237633 | etot = -5.62847196945482 -900000 ekin = 3.45535689263727 | erot = 2.55015985129894 | epot = -11.6339887062865 | etot = -5.62847196235031 -901000 ekin = 3.50186288090734 | erot = 2.58894159238171 | epot = -11.7192764490665 | etot = -5.62847197577748 -902000 ekin = 3.56610213565302 | erot = 2.58196928643146 | epot = -11.7765433946361 | etot = -5.62847197255161 -903000 ekin = 3.62814875834234 | erot = 2.56232070352388 | epot = -11.8189414347917 | etot = -5.62847197292552 -904000 ekin = 3.6911239479288 | erot = 2.552476384214 | epot = -11.8720723055553 | etot = -5.62847197341246 -905000 ekin = 3.75091280589186 | erot = 2.54985569682935 | epot = -11.9292404766422 | etot = -5.628471973921 -906000 ekin = 3.8032250685699 | erot = 2.55191272418001 | epot = -11.9836097670979 | etot = -5.62847197434795 -907000 ekin = 3.84434229176419 | erot = 2.55683360446427 | epot = -12.029647870835 | etot = -5.62847197460657 -908000 ekin = 3.87190064590388 | erot = 2.56394104674777 | epot = -12.0643136673071 | etot = -5.62847197465545 -909000 ekin = 3.88547927778207 | erot = 2.57365301057682 | epot = -12.0876042628693 | etot = -5.6284719745104 -910000 ekin = 3.88680451384616 | erot = 2.58702435622899 | epot = -12.1023008443096 | etot = -5.62847197423442 -911000 ekin = 3.87951720733514 | erot = 2.60508796196012 | epot = -12.113077143204 | etot = -5.62847197390879 -912000 ekin = 3.86859234124604 | erot = 2.62827701247635 | epot = -12.1253413273305 | etot = -5.62847197360815 -913000 ekin = 3.85955913702666 | erot = 2.65612234800617 | epot = -12.1441534584224 | etot = -5.62847197338953 -914000 ekin = 3.85765974659174 | erot = 2.68725904635078 | epot = -12.1733907656271 | etot = -5.62847197268462 -915000 ekin = 3.86988559266746 | erot = 2.72155495790258 | epot = -12.2199125234306 | etot = -5.62847197286055 -916000 ekin = 3.89721211346838 | erot = 2.75899199543555 | epot = -12.2846760821703 | etot = -5.62847197326639 -917000 ekin = 3.93597306443113 | erot = 2.79756616404038 | epot = -12.3620112021776 | etot = -5.62847197370609 -918000 ekin = 3.98211349688365 | erot = 2.83523643659879 | epot = -12.4458219076339 | etot = -5.62847197415145 -919000 ekin = 4.03109884291744 | erot = 2.8693998294584 | epot = -12.5289706479572 | etot = -5.62847197558134 -920000 ekin = 4.07575006831304 | erot = 2.89203459093893 | epot = -12.5962566351513 | etot = -5.62847197589932 -921000 ekin = 4.11121320159991 | erot = 2.8996370575207 | epot = -12.6393222357595 | etot = -5.6284719766389 -922000 ekin = 4.12946329113093 | erot = 2.8910149125728 | epot = -12.6489501806141 | etot = -5.62847197691034 -923000 ekin = 4.12574551620118 | erot = 2.86656720003828 | epot = -12.6207846931349 | etot = -5.62847197689544 -924000 ekin = 4.0980625569279 | erot = 2.82817436939836 | epot = -12.5547089029588 | etot = -5.62847197663253 -925000 ekin = 4.04683813061977 | erot = 2.77889166025841 | epot = -12.4542017670983 | etot = -5.6284719762201 -926000 ekin = 3.97415980827213 | erot = 2.7224048551034 | epot = -12.3250366391405 | etot = -5.62847197576501 -927000 ekin = 3.88290109597355 | erot = 2.66247239441167 | epot = -12.1738454657142 | etot = -5.628471975329 -928000 ekin = 3.7761917261226 | erot = 2.60258197161579 | epot = -12.0072456726475 | etot = -5.62847197490908 -929000 ekin = 3.65741733985558 | erot = 2.54590496225226 | epot = -11.8317942765687 | etot = -5.62847197446088 -930000 ekin = 3.53056331439201 | erot = 2.49545263409286 | epot = -11.6544879224273 | etot = -5.62847197394242 -931000 ekin = 3.40054525982254 | erot = 2.45429284840673 | epot = -11.4833100812613 | etot = -5.62847197303199 -932000 ekin = 3.27351307385926 | erot = 2.4281214285064 | epot = -11.3301064749993 | etot = -5.62847197263363 -933000 ekin = 3.1547941288807 | erot = 2.42017428768359 | epot = -11.2034403887959 | etot = -5.6284719722316 -934000 ekin = 3.04934557269559 | erot = 2.43124949800217 | epot = -11.1090670425772 | etot = -5.62847197187946 -935000 ekin = 2.96178382764498 | erot = 2.46165171578676 | epot = -11.0519075150532 | etot = -5.62847197162141 -936000 ekin = 2.89581269402263 | erot = 2.51113391191419 | epot = -11.03541857742 | etot = -5.62847197148319 -937000 ekin = 2.85385879505556 | erot = 2.5788978601622 | epot = -11.0612286266873 | etot = -5.62847197146952 -938000 ekin = 2.83694342970363 | erot = 2.66364816115637 | epot = -11.1290635624289 | etot = -5.62847197156892 -939000 ekin = 2.8447669620069 | erot = 2.76369076607099 | epot = -11.2369296998344 | etot = -5.62847197175653 -940000 ekin = 2.87595320433365 | erot = 2.87707537754526 | epot = -11.3815005538769 | etot = -5.62847197199802 -941000 ekin = 2.92838858110334 | erot = 3.00178159602945 | epot = -11.5586421493877 | etot = -5.62847197225486 -942000 ekin = 2.99958691451742 | erot = 3.13593595373153 | epot = -11.7639948407407 | etot = -5.62847197249174 -943000 ekin = 3.08701486062517 | erot = 3.27802583948734 | epot = -11.9935126727952 | etot = -5.62847197268272 -944000 ekin = 3.18658687194688 | erot = 3.42629435655057 | epot = -12.2413532023889 | etot = -5.62847197389142 -945000 ekin = 3.29120912163075 | erot = 3.57701253366733 | epot = -12.4966936297096 | etot = -5.62847197441153 -946000 ekin = 3.39621217450377 | erot = 3.72637389338014 | epot = -12.7510580428887 | etot = -5.62847197500476 -947000 ekin = 3.49687303161659 | erot = 3.86977321150428 | epot = -12.995118218816 | etot = -5.62847197569508 -948000 ekin = 3.58827211310905 | erot = 4.00151346913667 | epot = -13.2182575587303 | etot = -5.62847197648454 -949000 ekin = 3.66536645558403 | erot = 4.11475106184004 | epot = -13.4085894947607 | etot = -5.62847197733668 -950000 ekin = 3.72323942075286 | erot = 4.20180191863669 | epot = -13.5535133175596 | etot = -5.62847197817002 -951000 ekin = 3.75754185745605 | erot = 4.25489778335397 | epot = -13.640911619673 | etot = -5.62847197886299 -952000 ekin = 3.76507381729662 | erot = 4.26734583679003 | epot = -13.660891633365 | etot = -5.62847197927839 -953000 ekin = 3.74438822435714 | erot = 4.23487585516235 | epot = -13.6077360588184 | etot = -5.62847197929889 -954000 ekin = 3.69625243000309 | erot = 4.15681815360206 | epot = -13.4815425624724 | etot = -5.62847197886724 -955000 ekin = 3.62380420284723 | erot = 4.03673171691482 | epot = -13.2890078977725 | etot = -5.62847197801043 -956000 ekin = 3.52555336700899 | erot = 3.8807380512619 | epot = -13.0347633979112 | etot = -5.62847197964028 -957000 ekin = 3.39894638986493 | erot = 3.70474137723537 | epot = -12.7321597416831 | etot = -5.62847197458277 -958000 ekin = 3.27782879423858 | erot = 3.53760737373846 | epot = -12.4439081409366 | etot = -5.62847197295959 -959000 ekin = 3.17835028686343 | erot = 3.38602207781495 | epot = -12.192844339492 | etot = -5.62847197481363 -960000 ekin = 3.09019087928103 | erot = 3.23509493538441 | epot = -11.9537577911203 | etot = -5.62847197645485 -961000 ekin = 3.00426259316327 | erot = 3.08248133569913 | epot = -11.7152159044103 | etot = -5.62847197554792 -962000 ekin = 2.92693479924967 | erot = 2.94805480855373 | epot = -11.5034615831379 | etot = -5.62847197533446 -963000 ekin = 2.85972055591546 | erot = 2.83488454517476 | epot = -11.323077076119 | etot = -5.62847197502879 -964000 ekin = 2.80427359411467 | erot = 2.74583973121403 | epot = -11.1785853001788 | etot = -5.62847197485006 -965000 ekin = 2.76170821973113 | erot = 2.68249826104574 | epot = -11.0726784555729 | etot = -5.62847197479599 -966000 ekin = 2.73254763820473 | erot = 2.64503832973914 | epot = -11.0060579428183 | etot = -5.62847197487444 -967000 ekin = 2.71665522014275 | erot = 2.63218922323769 | epot = -10.9773164184706 | etot = -5.62847197509013 -968000 ekin = 2.71315992358637 | erot = 2.64124364135887 | epot = -10.9828755403748 | etot = -5.6284719754296 -969000 ekin = 2.72046614525188 | erot = 2.66825860579762 | epot = -11.0171967269043 | etot = -5.62847197585485 -970000 ekin = 2.7363957888058 | erot = 2.70848274056211 | epot = -11.0733505056801 | etot = -5.62847197631217 -971000 ekin = 2.75849383087266 | erot = 2.75695664100323 | epot = -11.1439224485372 | etot = -5.62847197666126 -972000 ekin = 2.78540546217067 | erot = 2.80984083649779 | epot = -11.2237182756023 | etot = -5.62847197693383 -973000 ekin = 2.81581408813093 | erot = 2.86412704650895 | epot = -11.3084131117582 | etot = -5.62847197711836 -974000 ekin = 2.84847995007392 | erot = 2.91762904174479 | epot = -11.3945809690272 | etot = -5.62847197720854 -975000 ekin = 2.88260770675907 | erot = 2.96920774094647 | epot = -11.480287424912 | etot = -5.62847197720644 -976000 ekin = 2.90702474308763 | erot = 3.01964918949845 | epot = -11.555145934177 | etot = -5.62847200159089 -977000 ekin = 2.82994037303446 | erot = 3.10467594931735 | epot = -11.5630883002056 | etot = -5.6284719778538 -978000 ekin = 2.82908361995948 | erot = 3.22546638766101 | epot = -11.6830220113422 | etot = -5.62847200372169 -979000 ekin = 2.83706100078567 | erot = 3.25481873071872 | epot = -11.7203517215879 | etot = -5.62847199008348 -980000 ekin = 2.83601345096319 | erot = 3.27042511585167 | epot = -11.7349105569336 | etot = -5.62847199011874 -981000 ekin = 2.82679467472268 | erot = 3.27908746102754 | epot = -11.7343541259104 | etot = -5.62847199016015 -982000 ekin = 2.80889457046917 | erot = 3.28090658381986 | epot = -11.7182731444936 | etot = -5.62847199020456 -983000 ekin = 2.78208898618241 | erot = 3.27578647185869 | epot = -11.6863474482718 | etot = -5.62847199023068 -984000 ekin = 2.74660136864529 | erot = 3.26353952423134 | epot = -11.6386128830805 | etot = -5.62847199020383 -985000 ekin = 2.70333214411892 | erot = 3.24411391026867 | epot = -11.5759180444744 | etot = -5.62847199008681 -986000 ekin = 2.65408912736903 | erot = 3.21786526493321 | epot = -11.500426382155 | etot = -5.62847198985273 -987000 ekin = 2.57871632039566 | erot = 3.1724727902318 | epot = -11.3796611049636 | etot = -5.62847199433612 -988000 ekin = 2.53018926295006 | erot = 3.15315340607823 | epot = -11.3118146709826 | etot = -5.62847200195436 -989000 ekin = 2.49566278163332 | erot = 3.12952117396304 | epot = -11.2536559475413 | etot = -5.6284719919449 -990000 ekin = 2.46227182454259 | erot = 3.09741757789058 | epot = -11.1881613938229 | etot = -5.62847199138973 -991000 ekin = 2.44592299191521 | erot = 3.07158095018047 | epot = -11.1459759332225 | etot = -5.6284719911268 -992000 ekin = 2.4517428150834 | erot = 3.05611048477739 | epot = -11.1363252907874 | etot = -5.62847199092665 -993000 ekin = 2.48099671630818 | erot = 3.05281518173765 | epot = -11.1622838888188 | etot = -5.62847199077294 -994000 ekin = 2.53415670191708 | erot = 3.0635915442888 | epot = -11.2262202368932 | etot = -5.62847199068736 -995000 ekin = 2.61088853279327 | erot = 3.09015398608656 | epot = -11.3295145095591 | etot = -5.62847199067929 -996000 ekin = 2.71011819684934 | erot = 3.13378298765858 | epot = -11.4723731752586 | etot = -5.62847199075068 -997000 ekin = 2.83015603301196 | erot = 3.19515267788909 | epot = -11.6537807018024 | etot = -5.62847199090133 -998000 ekin = 2.96878571674253 | erot = 3.27423191440698 | epot = -11.8714896222901 | etot = -5.62847199114063 -999000 ekin = 3.12322522735956 | erot = 3.37022004814537 | epot = -12.1219172669997 | etot = -5.62847199149473 -1000000 ekin = 3.28990650652431 | erot = 3.48146010808984 | epot = -12.3998386066208 | etot = -5.62847199200668 - 1000000 0.14621807 -0.83009398 0.055104069 -0.56937076 4.8223734e-05 64000 -Loop time of 29.9827 on 1 procs for 1000000 steps with 16 atoms - -Performance: 28816.629 tau/day, 33352.580 timesteps/s -99.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 | 26.195 | 26.195 | 26.195 | 0.0 | 87.37 -Bond | 0.93416 | 0.93416 | 0.93416 | 0.0 | 3.12 -Neigh | 0.013798 | 0.013798 | 0.013798 | 0.0 | 0.05 -Comm | 0.18361 | 0.18361 | 0.18361 | 0.0 | 0.61 -Output | 0.14593 | 0.14593 | 0.14593 | 0.0 | 0.49 -Modify | 2.2241 | 2.2241 | 2.2241 | 0.0 | 7.42 -Other | | 0.2862 | | | 0.95 - -Nlocal: 16.0000 ave 16 max 16 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 0.00000 ave 0 max 0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 106.000 ave 106 max 106 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 106 -Ave neighs/atom = 6.6250000 -Ave special neighs/atom = 3.7500000 -Neighbor list builds = 1000 -Dangerous builds = 0 - -write_data last_config.${number}.* nocoeff -write_data last_config.2.* nocoeff -System init for write_data ... -Total wall time: 0:00:29 diff --git a/examples/PACKAGES/cgdna/examples/oxRNA2/duplex2/log.27May21.duplex2.g++.4 b/examples/PACKAGES/cgdna/examples/oxRNA2/duplex2/log.27May21.duplex2.g++.4 deleted file mode 100644 index 94b722f1da..0000000000 --- a/examples/PACKAGES/cgdna/examples/oxRNA2/duplex2/log.27May21.duplex2.g++.4 +++ /dev/null @@ -1,1181 +0,0 @@ -LAMMPS (27 May 2021) -variable number equal 2 -variable ofreq equal 1000 -variable efreq equal 1000 -variable T equal 0.1 -variable rhos equal 0.5 - -units lj - -dimension 3 - -newton off - -boundary p p p - -atom_style hybrid bond ellipsoid oxdna -WARNING: Atom style hybrid defines both, per-type and per-atom masses; both must be set, but only per-atom masses will be used (../atom_vec_hybrid.cpp:157) -atom_modify sort 0 1.0 - -# Pair interactions require lists of neighbours to be calculated -neighbor 2.0 bin -neigh_modify every 1 delay 0 check yes - -read_data data.duplex2 -Reading data file ... - orthogonal box = (-20.000000 -20.000000 -20.000000) to (20.000000 20.000000 20.000000) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 16 atoms - reading velocities ... - 16 velocities - scanning bonds ... - 2 = max bonds/atom - 16 ellipsoids - reading bonds ... - 13 bonds -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 - 2 = max # of 1-3 neighbors - 4 = max # of 1-4 neighbors - 6 = max # of special neighbors - special bonds CPU = 0.001 seconds - read_data CPU = 0.005 seconds - -set atom * mass 3.1575 -Setting atom values ... - 16 settings made for mass - -group all type 1 4 -16 atoms in group all - -# oxRNA2 bond interactions - FENE backbone -bond_style oxrna2/fene -bond_coeff * 2.0 0.25 0.761070781051 -special_bonds lj 0 1 1 -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 1 1 - special bond factors coul: 0 0 0 - 2 = max # of 1-2 neighbors - 2 = max # of 1-3 neighbors - 4 = max # of 1-4 neighbors - 6 = max # of special neighbors - special bonds CPU = 0.000 seconds - -# oxRNA2 pair interactions -pair_style hybrid/overlay oxrna2/excv oxrna2/stk oxrna2/hbond oxrna2/xstk oxrna2/coaxstk oxrna2/dh -pair_coeff * * oxrna2/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32 -pair_coeff * * oxrna2/stk seqdep ${T} 1.40206 2.77 6.0 0.43 0.93 0.35 0.78 0.9 0 0.95 0.9 0 0.95 1.3 0 0.8 1.3 0 0.8 2.0 0.65 2.0 0.65 -pair_coeff * * oxrna2/stk seqdep 0.1 1.40206 2.77 6.0 0.43 0.93 0.35 0.78 0.9 0 0.95 0.9 0 0.95 1.3 0 0.8 1.3 0 0.8 2.0 0.65 2.0 0.65 -pair_coeff * * oxrna2/hbond seqdep 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 1 4 oxrna2/hbond seqdep 0.870439 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 2 3 oxrna2/hbond seqdep 0.870439 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff 3 4 oxrna2/hbond seqdep 0.870439 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 -pair_coeff * * oxrna2/xstk 59.9626 0.5 0.6 0.42 0.58 2.25 0.505 0.58 1.7 1.266 0.68 1.7 1.266 0.68 1.7 0.309 0.68 1.7 0.309 0.68 -pair_coeff * * oxrna2/coaxstk 80 0.5 0.6 0.42 0.58 2.0 2.592 0.65 1.3 0.151 0.8 0.9 0.685 0.95 0.9 0.685 0.95 2.0 -0.65 2.0 -0.65 -pair_coeff * * oxrna2/dh ${T} ${rhos} 1.02455 -pair_coeff * * oxrna2/dh 0.1 ${rhos} 1.02455 -pair_coeff * * oxrna2/dh 0.1 0.5 1.02455 - -# NVE ensemble -fix 1 all nve/asphere -#fix 2 all langevin ${T} ${T} 2.5 457145 angmom 10 - -timestep 1e-5 - -#comm_style tiled -fix 3 all balance 1000 1.03 shift xyz 10 1.03 -comm_modify cutoff 3.8 - -compute quat all property/atom quatw quati quatj quatk - -compute erot all erotate/asphere -compute ekin all ke -compute epot all pe -variable erot equal c_erot -variable ekin equal c_ekin -variable epot equal c_epot -variable etot equal c_erot+c_ekin+c_epot -fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes -fix 5 all print 1000 "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes - -dump out all custom ${ofreq} out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz -dump out all custom 1000 out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz -dump out all custom 1000 out.2.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz -dump_modify out sort id -dump_modify out format line "%d %d %d %22.15le %22.15le %22.15le %d %d %d %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le" - -run 1000000 -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 4.3014979 - ghost atom cutoff = 4.3014979 - binsize = 2.150749, bins = 19 19 19 - 5 neighbor lists, perpetual/occasional/extra = 5 0 0 - (1) pair oxrna2/excv, perpetual - attributes: half, newton off - pair build: half/bin/newtoff - stencil: full/bin/3d - bin: standard - (2) pair oxrna2/hbond, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (3) pair oxrna2/xstk, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (4) pair oxrna2/coaxstk, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none - (5) pair oxrna2/dh, perpetual, copy from (1) - attributes: half, newton off - pair build: copy - stencil: none - bin: none -WARNING: Communication cutoff adjusted to 4.301497916929199 (../comm.cpp:739) -0 ekin = 2.70475393009871 | erot = 2.80172072918779 | epot = -11.1349465280232 | etot = -5.62847186873667 -Per MPI rank memory allocation (min/avg/max) = 9.578 | 9.607 | 9.692 Mbytes -Step Temp E_pair E_mol TotEng Press Volume - 0 0.12021129 -0.7299505 0.034016337 -0.52688704 5.1214421e-05 64000 -1000 ekin = 2.74425239815417 | erot = 2.79065458610893 | epot = -11.1633788526891 | etot = -5.62847186842597 -2000 ekin = 2.78841691867035 | erot = 2.77992540099535 | epot = -11.196814187725 | etot = -5.62847186805934 -3000 ekin = 2.83938215410022 | erot = 2.77185117591643 | epot = -11.2397051978034 | etot = -5.62847186778672 -4000 ekin = 2.89876217830263 | erot = 2.76816783884241 | epot = -11.295401884792 | etot = -5.62847186764698 -5000 ekin = 2.96742170720769 | erot = 2.76919345829434 | epot = -11.3650870331989 | etot = -5.6284718676969 -6000 ekin = 3.0456300737104 | erot = 2.77376672268247 | epot = -11.4478686641706 | etot = -5.62847186777774 -7000 ekin = 3.13407886898538 | erot = 2.78065913591456 | epot = -11.5432098726293 | etot = -5.6284718677294 -8000 ekin = 3.23400863287743 | erot = 2.78938863934857 | epot = -11.651869139893 | etot = -5.628471867667 -9000 ekin = 3.34625998930257 | erot = 2.80019523753784 | epot = -11.7749270943234 | etot = -5.62847186748303 -10000 ekin = 3.47220350616334 | erot = 2.81464622815281 | epot = -11.9153216015116 | etot = -5.62847186719543 -11000 ekin = 3.61341090096017 | erot = 2.83541090219849 | epot = -12.0772936703878 | etot = -5.62847186722916 -12000 ekin = 3.76971728921061 | erot = 2.8651661044909 | epot = -12.2633552607299 | etot = -5.62847186702835 -13000 ekin = 3.94105577714466 | erot = 2.90597306806357 | epot = -12.4755007121565 | etot = -5.62847186694831 -14000 ekin = 4.12730744896755 | erot = 2.95952862137382 | epot = -12.7153079373023 | etot = -5.62847186696097 -15000 ekin = 4.32776706381547 | erot = 3.02701108512254 | epot = -12.9832500158854 | etot = -5.62847186694737 -16000 ekin = 4.5413969568068 | erot = 3.10924468066181 | epot = -13.2791135046205 | etot = -5.62847186715189 -17000 ekin = 4.76575661763817 | erot = 3.20604355373095 | epot = -13.60027203892 | etot = -5.62847186755086 -18000 ekin = 4.99700491214677 | erot = 3.31611869568271 | epot = -13.9415954758897 | etot = -5.62847186806025 -19000 ekin = 5.23048108112183 | erot = 3.43700077146766 | epot = -14.2959537213472 | etot = -5.62847186875769 -20000 ekin = 5.46074742513047 | erot = 3.56463156086409 | epot = -14.6538508556014 | etot = -5.6284718696068 -21000 ekin = 5.68087058007123 | erot = 3.6925677668172 | epot = -15.0019102179231 | etot = -5.62847187103462 -22000 ekin = 5.88327619983863 | erot = 3.81252322503562 | epot = -15.3242712967755 | etot = -5.62847187190124 -23000 ekin = 6.06249979951972 | erot = 3.91720950057676 | epot = -15.6081811728146 | etot = -5.62847187271808 -24000 ekin = 6.21449712377417 | erot = 4.00104081543186 | epot = -15.8440098121103 | etot = -5.62847187290429 -25000 ekin = 6.33853277809233 | erot = 4.06184542619887 | epot = -16.0288500769827 | etot = -5.62847187269152 -26000 ekin = 6.43627737186988 | erot = 4.1007627843085 | epot = -16.1655120283937 | etot = -5.62847187221534 -27000 ekin = 6.51092447972002 | erot = 4.12134483746818 | epot = -16.260741188824 | etot = -5.6284718716358 -28000 ekin = 6.56622100976658 | erot = 4.12827111510827 | epot = -16.3229639959506 | etot = -5.62847187107576 -29000 ekin = 6.60587340002369 | erot = 4.12622173833913 | epot = -16.3605670089492 | etot = -5.62847187058634 -30000 ekin = 6.63335580501806 | erot = 4.11921545444668 | epot = -16.3810431296794 | etot = -5.62847187021464 -31000 ekin = 6.6521188858925 | erot = 4.10999678317548 | epot = -16.3905875389833 | etot = -5.62847186991534 -32000 ekin = 6.66584763664854 | erot = 4.10024297795119 | epot = -16.3945624842073 | etot = -5.62847186960755 -33000 ekin = 6.67923227191012 | erot = 4.09129207413386 | epot = -16.3989962152632 | etot = -5.62847186921922 -34000 ekin = 6.69756137216817 | erot = 4.08414768607684 | epot = -16.4101809271348 | etot = -5.62847186888979 -35000 ekin = 6.72589628312068 | erot = 4.07950228497966 | epot = -16.4338704366879 | etot = -5.62847186858753 -36000 ekin = 6.76908557113702 | erot = 4.07778615492126 | epot = -16.4753435944364 | etot = -5.62847186837807 -37000 ekin = 6.83097506213393 | erot = 4.07899014040679 | epot = -16.5384370708785 | etot = -5.62847186833777 -38000 ekin = 6.91354703253162 | erot = 4.08242106390429 | epot = -16.6244399649598 | etot = -5.62847186852385 -39000 ekin = 7.01626065739823 | erot = 4.08652171942795 | epot = -16.7312542457771 | etot = -5.62847186895093 -40000 ekin = 7.13573792258319 | erot = 4.08884404540012 | epot = -16.8530538375758 | etot = -5.62847186959248 -41000 ekin = 7.26614194134504 | erot = 4.08627042537772 | epot = -16.9808842370342 | etot = -5.62847187031142 -42000 ekin = 7.40051154120578 | erot = 4.07546023443106 | epot = -17.1044436466274 | etot = -5.62847187099058 -43000 ekin = 7.53157437143681 | erot = 4.05344655359643 | epot = -17.2134927965845 | etot = -5.62847187155127 -44000 ekin = 7.65268317567638 | erot = 4.01819177227237 | epot = -17.299346819823 | etot = -5.62847187187422 -45000 ekin = 7.75845343306884 | erot = 3.96898510895776 | epot = -17.3559104142062 | etot = -5.62847187217958 -46000 ekin = 7.84504377034639 | erot = 3.90454903064797 | epot = -17.3780646733313 | etot = -5.62847187233698 -47000 ekin = 7.91002390820631 | erot = 3.824785965552 | epot = -17.3632817459103 | etot = -5.62847187215201 -48000 ekin = 7.95195705456511 | erot = 3.73154439390009 | epot = -17.3119733204125 | etot = -5.62847187194732 -49000 ekin = 7.97001825706877 | erot = 3.6275200729505 | epot = -17.2260102016182 | etot = -5.62847187159896 -50000 ekin = 7.96375756700445 | erot = 3.51726958365113 | epot = -17.109499021545 | etot = -5.62847187088944 -51000 ekin = 7.9328076130046 | erot = 3.40827188497842 | epot = -16.969551368803 | etot = -5.62847187081996 -52000 ekin = 7.87656811744218 | erot = 3.30207418532543 | epot = -16.8071141735587 | etot = -5.62847187079108 -53000 ekin = 7.79531012541938 | erot = 3.19839984815422 | epot = -16.6221818441149 | etot = -5.62847187054131 -54000 ekin = 7.6895260957037 | erot = 3.09980185481832 | epot = -16.4177998208249 | etot = -5.62847187030289 -55000 ekin = 7.55966222141136 | erot = 3.00897426989547 | epot = -16.1971083614504 | etot = -5.62847187014361 -56000 ekin = 7.40594124508043 | erot = 2.92802865182272 | epot = -15.9624417669779 | etot = -5.62847187007474 -57000 ekin = 7.22816598142035 | erot = 2.85836584281806 | epot = -15.7150036943487 | etot = -5.62847187011032 -58000 ekin = 7.0257305139765 | erot = 2.80066522322048 | epot = -15.4548676074202 | etot = -5.62847187022325 -59000 ekin = 6.80455077165163 | erot = 2.75651944712042 | epot = -15.1895420860973 | etot = -5.62847186732528 -60000 ekin = 6.57760251691554 | erot = 2.72731501678744 | epot = -14.9333893991701 | etot = -5.62847186546714 -61000 ekin = 5.99884053190202 | erot = 2.6501026979173 | epot = -14.2774150331173 | etot = -5.628471803298 -62000 ekin = 5.82217958652088 | erot = 2.65058478195153 | epot = -14.1012361774594 | etot = -5.62847180898695 -63000 ekin = 6.00993174210254 | erot = 2.7114348346641 | epot = -14.3498384845188 | etot = -5.62847190775213 -64000 ekin = 5.8509698505037 | erot = 2.71173917624717 | epot = -14.1911809366077 | etot = -5.62847190985684 -65000 ekin = 5.67959801442735 | erot = 2.70731630130145 | epot = -14.0153862253965 | etot = -5.62847190966768 -66000 ekin = 5.49812382731704 | erot = 2.69646895132486 | epot = -13.8230646880631 | etot = -5.62847190942121 -67000 ekin = 5.31011188753145 | erot = 2.67901331172376 | epot = -13.6175971082583 | etot = -5.62847190900305 -68000 ekin = 5.11964229582587 | erot = 2.65622197273386 | epot = -13.4043361770526 | etot = -5.62847190849287 -69000 ekin = 4.93067975207852 | erot = 2.63014135225674 | epot = -13.1892930124928 | etot = -5.62847190815752 -70000 ekin = 4.74697386617485 | erot = 2.60347312706283 | epot = -12.9789189008748 | etot = -5.62847190763715 -71000 ekin = 4.57222133259569 | erot = 2.57971589798906 | epot = -12.7804091377443 | etot = -5.62847190715951 -72000 ekin = 4.40959648507785 | erot = 2.56228295922467 | epot = -12.6003513510615 | etot = -5.62847190675897 -73000 ekin = 4.26170009573909 | erot = 2.55406076080087 | epot = -12.4442327629948 | etot = -5.62847190645487 -74000 ekin = 4.13052949790825 | erot = 2.55713155841143 | epot = -12.3161329625866 | etot = -5.62847190626696 -75000 ekin = 4.01588192828881 | erot = 2.56608801434057 | epot = -12.2104419139901 | etot = -5.62847197136067 -76000 ekin = 3.95904625854741 | erot = 2.44184942386022 | epot = -12.0293675901711 | etot = -5.62847190776351 -77000 ekin = 4.02755960266361 | erot = 2.46007159499036 | epot = -12.116103109804 | etot = -5.62847191215006 -78000 ekin = 3.98785439943812 | erot = 2.49596945534594 | epot = -12.1122957670967 | etot = -5.62847191231265 -79000 ekin = 3.96575767721423 | erot = 2.54200842335447 | epot = -12.1362380131155 | etot = -5.62847191254684 -80000 ekin = 3.95961954869548 | erot = 2.59604589435592 | epot = -12.1841373558852 | etot = -5.62847191283377 -81000 ekin = 3.96734100032333 | erot = 2.65577062232351 | epot = -12.2515835357819 | etot = -5.6284719131351 -82000 ekin = 3.98651997822109 | erot = 2.71892569307084 | epot = -12.3339175847232 | etot = -5.62847191343124 -83000 ekin = 4.01459300302727 | erot = 2.78352190390199 | epot = -12.4265868206361 | etot = -5.62847191370683 -84000 ekin = 4.04956210608531 | erot = 2.8479662966442 | epot = -12.5260003165345 | etot = -5.62847191380503 -85000 ekin = 4.09049341026842 | erot = 2.91104365381102 | epot = -12.6300089781181 | etot = -5.62847191403861 -86000 ekin = 4.13484812560019 | erot = 2.9720116541909 | epot = -12.7353316940204 | etot = -5.62847191422934 -87000 ekin = 4.1800382918462 | erot = 3.03078479878285 | epot = -12.8392950049954 | etot = -5.62847191436634 -88000 ekin = 4.22360704724701 | erot = 3.0879657400032 | epot = -12.9400447017002 | etot = -5.62847191445002 -89000 ekin = 4.26326024607288 | erot = 3.14481288279481 | epot = -13.036545043336 | etot = -5.62847191446827 -90000 ekin = 4.29588111790582 | erot = 3.20341713777007 | epot = -13.12777017033 | etot = -5.62847191465414 -91000 ekin = 4.3169778457778 | erot = 3.26736040230148 | epot = -13.2128101626457 | etot = -5.62847191456645 -92000 ekin = 4.32507837347549 | erot = 3.3393160194455 | epot = -13.2928663075901 | etot = -5.62847191466915 -93000 ekin = 4.31872212432171 | erot = 3.42036541916765 | epot = -13.3675594581779 | etot = -5.62847191468857 -94000 ekin = 4.29660005793273 | erot = 3.51205694754388 | epot = -13.4371289201541 | etot = -5.62847191467748 -95000 ekin = 4.25789021838828 | erot = 3.61606475666823 | epot = -13.5024268896672 | etot = -5.62847191461066 -96000 ekin = 4.20253661926493 | erot = 3.73412422729639 | epot = -13.5651327610314 | etot = -5.6284719144701 -97000 ekin = 4.13146529060017 | erot = 3.8680303743927 | epot = -13.627967579342 | etot = -5.62847191434911 -98000 ekin = 4.04669071975362 | erot = 4.01885670334698 | epot = -13.6940193371954 | etot = -5.62847191409479 -99000 ekin = 3.95128630061912 | erot = 4.18772840013427 | epot = -13.7674866145627 | etot = -5.62847191380928 -100000 ekin = 3.84921784883081 | erot = 4.37558821791238 | epot = -13.8532779802875 | etot = -5.62847191354432 -101000 ekin = 3.74501223923312 | erot = 4.58258429231741 | epot = -13.9560684449146 | etot = -5.62847191336403 -102000 ekin = 3.64330024870582 | erot = 4.80764134110067 | epot = -14.0794135031374 | etot = -5.62847191333087 -103000 ekin = 3.54831662006285 | erot = 5.04811575607496 | epot = -14.2249042896175 | etot = -5.62847191347966 -104000 ekin = 3.4634977206494 | erot = 5.29960820358444 | epot = -14.3915778382037 | etot = -5.62847191396988 -105000 ekin = 3.39136254536271 | erot = 5.55507704359984 | epot = -14.5749115034251 | etot = -5.62847191446257 -106000 ekin = 3.33356403744409 | erot = 5.80718759324928 | epot = -14.7692235454839 | etot = -5.62847191479058 -107000 ekin = 3.29209861353699 | erot = 6.0490668738674 | epot = -14.9696374027453 | etot = -5.62847191534095 -108000 ekin = 3.26748487341106 | erot = 6.2741824365969 | epot = -15.1701392258627 | etot = -5.62847191585477 -109000 ekin = 3.25930506886601 | erot = 6.47585417244292 | epot = -15.3636311580687 | etot = -5.62847191675981 -110000 ekin = 3.26568272829098 | erot = 6.64602097207883 | epot = -15.5401756176979 | etot = -5.62847191732811 -111000 ekin = 3.28520059172619 | erot = 6.77857539600267 | epot = -15.692247905526 | etot = -5.62847191779711 -112000 ekin = 3.31659315707433 | erot = 6.86862760563874 | epot = -15.8136926809238 | etot = -5.6284719182107 -113000 ekin = 3.3586014423093 | erot = 6.91335224014723 | epot = -15.900425600656 | etot = -5.6284719181995 -114000 ekin = 3.41073468124676 | erot = 6.91406610981085 | epot = -15.9532727088324 | etot = -5.62847191777475 -115000 ekin = 3.47381531534278 | erot = 6.87643065686273 | epot = -15.9787178894058 | etot = -5.62847191720034 -116000 ekin = 3.54886437558773 | erot = 6.8071113952899 | epot = -15.9844476879565 | etot = -5.62847191707888 -117000 ekin = 3.6346740920495 | erot = 6.71320827683473 | epot = -15.9763542854618 | etot = -5.62847191657758 -118000 ekin = 3.72815555523563 | erot = 6.60276001485475 | epot = -15.9593874864256 | etot = -5.62847191633521 -119000 ekin = 3.82420980363925 | erot = 6.48288858478196 | epot = -15.9355703049686 | etot = -5.62847191654741 -120000 ekin = 3.91797748357223 | erot = 6.35662792089788 | epot = -15.9030773212275 | etot = -5.62847191675741 -121000 ekin = 4.00591742044039 | erot = 6.22468993027016 | epot = -15.8590792676428 | etot = -5.62847191693228 -122000 ekin = 4.08550270322373 | erot = 6.08676575288842 | epot = -15.8007403736371 | etot = -5.62847191752491 -123000 ekin = 4.15433540908383 | erot = 5.9407157229031 | epot = -15.7235230494648 | etot = -5.6284719174779 -124000 ekin = 4.21272085203612 | erot = 5.78590733869413 | epot = -15.6271001078557 | etot = -5.62847191712543 -125000 ekin = 4.26325970413196 | erot = 5.6246737368656 | epot = -15.5164053575241 | etot = -5.6284719165265 -126000 ekin = 4.3088059798051 | erot = 5.46113290467105 | epot = -15.3984108007459 | etot = -5.62847191626975 -127000 ekin = 4.35136313111014 | erot = 5.29960307371348 | epot = -15.279438120582 | etot = -5.62847191575839 -128000 ekin = 4.39391383900474 | erot = 5.14386269106651 | epot = -15.1662484454477 | etot = -5.62847191537649 -129000 ekin = 4.43858036063608 | erot = 4.99693296064701 | epot = -15.0639852363966 | etot = -5.62847191511354 -130000 ekin = 4.48619887382468 | erot = 4.86092637377882 | epot = -14.9755971627245 | etot = -5.62847191512104 -131000 ekin = 4.53629967746032 | erot = 4.73552279955439 | epot = -14.90029439217 | etot = -5.62847191515529 -132000 ekin = 4.58794392436667 | erot = 4.62012473201844 | epot = -14.8365405715605 | etot = -5.62847191517544 -133000 ekin = 4.63977927970769 | erot = 4.51475331813915 | epot = -14.7830045130158 | etot = -5.628471915169 -134000 ekin = 4.69096227444539 | erot = 4.41936571520071 | epot = -14.7387999047816 | etot = -5.62847191513551 -135000 ekin = 4.74083332631961 | erot = 4.33399770983601 | epot = -14.7033029512372 | etot = -5.62847191508159 -136000 ekin = 4.78901374177297 | erot = 4.25873574864783 | epot = -14.6762214054327 | etot = -5.62847191501192 -137000 ekin = 4.83519033966169 | erot = 4.1934558470929 | epot = -14.6571181018635 | etot = -5.62847191510893 -138000 ekin = 4.87857190019151 | erot = 4.13759960010494 | epot = -14.6446434153646 | etot = -5.62847191506818 -139000 ekin = 4.91933904268535 | erot = 4.0904184140817 | epot = -14.6382293717806 | etot = -5.62847191501353 -140000 ekin = 4.95802132610616 | erot = 4.05108530565804 | epot = -14.6375785467331 | etot = -5.62847191496892 -141000 ekin = 4.99519923255259 | erot = 4.01864210163677 | epot = -14.6423132491268 | etot = -5.62847191493745 -142000 ekin = 5.03134031865305 | erot = 3.99210960072515 | epot = -14.6519218343068 | etot = -5.62847191492855 -143000 ekin = 5.06663282814537 | erot = 3.97056100872312 | epot = -14.6656657518152 | etot = -5.6284719149467 -144000 ekin = 5.10088003253911 | erot = 3.95318385936722 | epot = -14.6825358068971 | etot = -5.62847191499075 -145000 ekin = 5.13347728619368 | erot = 3.93933318432728 | epot = -14.701282385576 | etot = -5.62847191505505 -146000 ekin = 5.16346418936999 | erot = 3.92856945833647 | epot = -14.7205055628375 | etot = -5.62847191513103 -147000 ekin = 5.18962884502086 | erot = 3.92067778970179 | epot = -14.7387785499324 | etot = -5.62847191520974 -148000 ekin = 5.21063630105021 | erot = 3.91566839447851 | epot = -14.7547766108115 | etot = -5.62847191528273 -149000 ekin = 5.22515818277301 | erot = 3.91376203384998 | epot = -14.7673921319662 | etot = -5.62847191534317 -150000 ekin = 5.23199081771441 | erot = 3.91536756918901 | epot = -14.7758303022882 | etot = -5.6284719153848 -151000 ekin = 5.23025857434906 | erot = 3.92102977399581 | epot = -14.7797602637304 | etot = -5.62847191538551 -152000 ekin = 5.21970456277655 | erot = 3.93136599417317 | epot = -14.7795424723198 | etot = -5.62847191537006 -153000 ekin = 5.20020715643981 | erot = 3.94729684642996 | epot = -14.7759759181581 | etot = -5.62847191528838 -154000 ekin = 5.17219962280951 | erot = 3.96989664945392 | epot = -14.7705681875107 | etot = -5.62847191524726 -155000 ekin = 5.13597939415266 | erot = 4.00025654377844 | epot = -14.7647078530835 | etot = -5.62847191515243 -156000 ekin = 5.0922745653888 | erot = 4.03969792967814 | epot = -14.7604444100935 | etot = -5.62847191502654 -157000 ekin = 5.04214374655907 | erot = 4.08965648366315 | epot = -14.7602721451224 | etot = -5.62847191490022 -158000 ekin = 4.9866407689382 | erot = 4.15175637520563 | epot = -14.7668690589144 | etot = -5.62847191477059 -159000 ekin = 4.92656708226485 | erot = 4.22693785976636 | epot = -14.7819768568022 | etot = -5.62847191477095 -160000 ekin = 4.86235166665109 | erot = 4.31524574981695 | epot = -14.8060693313538 | etot = -5.62847191488572 -161000 ekin = 4.79340744408544 | erot = 4.4163419215564 | epot = -14.8382212806386 | etot = -5.62847191499671 -162000 ekin = 4.71931679137324 | erot = 4.52911647420256 | epot = -14.8769051807437 | etot = -5.62847191516795 -163000 ekin = 4.63965178838042 | erot = 4.65170333188688 | epot = -14.9198270356127 | etot = -5.62847191534538 -164000 ekin = 4.55406399624433 | erot = 4.78166301740306 | epot = -14.9641989292976 | etot = -5.62847191565024 -165000 ekin = 4.46213996067538 | erot = 4.91530272158872 | epot = -15.0059145982058 | etot = -5.62847191594168 -166000 ekin = 4.36388109534925 | erot = 5.04805357548563 | epot = -15.0404065870414 | etot = -5.62847191620655 -167000 ekin = 4.25995046842461 | erot = 5.17511068522234 | epot = -15.0635330700698 | etot = -5.62847191642284 -168000 ekin = 4.15154354282116 | erot = 5.29182746831874 | epot = -15.0718429277121 | etot = -5.62847191657216 -169000 ekin = 4.04026084727443 | erot = 5.39411747728052 | epot = -15.0628502412095 | etot = -5.62847191665458 -170000 ekin = 3.92797723838258 | erot = 5.47890367159862 | epot = -15.0353528265931 | etot = -5.62847191661195 -171000 ekin = 3.81680551395717 | erot = 5.54460219961085 | epot = -14.9898796300178 | etot = -5.62847191644981 -172000 ekin = 3.70912194360747 | erot = 5.59119877272625 | epot = -14.9287926324934 | etot = -5.62847191615965 -173000 ekin = 3.60767008609829 | erot = 5.62020496675939 | epot = -14.8563469686142 | etot = -5.62847191575651 -174000 ekin = 3.51593123142523 | erot = 5.63484613588012 | epot = -14.7792492818537 | etot = -5.62847191454837 -175000 ekin = 3.43946966413698 | erot = 5.64148825119033 | epot = -14.7094298295793 | etot = -5.62847191425196 -176000 ekin = 3.38149964339841 | erot = 5.64304584979551 | epot = -14.6530174072201 | etot = -5.62847191402616 -177000 ekin = 3.34426304280155 | erot = 5.6407558950051 | epot = -14.6134908517374 | etot = -5.62847191393072 -178000 ekin = 3.32907821317965 | erot = 5.63429171925317 | epot = -14.5918418466191 | etot = -5.62847191418632 -179000 ekin = 3.335532868292 | erot = 5.62088708741513 | epot = -14.5848918700463 | etot = -5.62847191433917 -180000 ekin = 3.36333384277115 | erot = 5.59827011329225 | epot = -14.5900758706821 | etot = -5.62847191461865 -181000 ekin = 3.4111832274458 | erot = 5.56369949232898 | epot = -14.6033546347477 | etot = -5.6284719149729 -182000 ekin = 3.47666657813831 | erot = 5.51442909119458 | epot = -14.6195675846751 | etot = -5.62847191534219 -183000 ekin = 3.55646627297047 | erot = 5.44847615754844 | epot = -14.6334143461259 | etot = -5.62847191560695 -184000 ekin = 3.64671110623843 | erot = 5.36528131962605 | epot = -14.6404643416911 | etot = -5.62847191582664 -185000 ekin = 3.74294243854203 | erot = 5.26596644090231 | epot = -14.6373807953587 | etot = -5.62847191591432 -186000 ekin = 3.84064021177386 | erot = 5.15359326679041 | epot = -14.6227053944214 | etot = -5.62847191585716 -187000 ekin = 3.93563840594985 | erot = 5.03296537332542 | epot = -14.5970756949497 | etot = -5.62847191567439 -188000 ekin = 4.02444308409274 | erot = 4.91004205202712 | epot = -14.5629570515419 | etot = -5.62847191542199 -189000 ekin = 4.10437481570285 | erot = 4.79101157926071 | epot = -14.5238583101468 | etot = -5.62847191518322 -190000 ekin = 4.17348832619967 | erot = 4.68117061833162 | epot = -14.4831308595854 | etot = -5.62847191505416 -191000 ekin = 4.23028845394417 | erot = 4.58386192798927 | epot = -14.4426222970246 | etot = -5.62847191509118 -192000 ekin = 4.2735805406063 | erot = 4.49984530057659 | epot = -14.4018977564815 | etot = -5.62847191529862 -193000 ekin = 4.2459291199379 | erot = 4.46741799187819 | epot = -14.3418190226935 | etot = -5.62847191087741 -194000 ekin = 4.19994174150901 | erot = 4.47173701960833 | epot = -14.3001506793695 | etot = -5.62847191825219 -195000 ekin = 4.19981139522181 | erot = 4.40365513590497 | epot = -14.2319384423513 | etot = -5.6284719112245 -196000 ekin = 4.18831859749951 | erot = 4.328213784087 | epot = -14.1450042928974 | etot = -5.62847191131092 -197000 ekin = 4.16445522600501 | erot = 4.2468691966353 | epot = -14.0397963337849 | etot = -5.62847191114461 -198000 ekin = 4.1307492037297 | erot = 4.15919636754727 | epot = -13.918417482026 | etot = -5.62847191074906 -199000 ekin = 4.09062074736211 | erot = 4.06700829109988 | epot = -13.7861009486933 | etot = -5.62847191023133 -200000 ekin = 4.04792338687249 | erot = 3.97356549445504 | epot = -13.6499607909724 | etot = -5.62847190964484 -201000 ekin = 4.00668244919831 | erot = 3.88277215509139 | epot = -13.5179265133929 | etot = -5.62847190910321 -202000 ekin = 3.9706339247179 | erot = 3.79828207702256 | epot = -13.397387910413 | etot = -5.62847190867254 -203000 ekin = 3.94283665189453 | erot = 3.72290259923935 | epot = -13.2942111595207 | etot = -5.62847190838679 -204000 ekin = 3.92540743372236 | erot = 3.65835216262537 | epot = -13.2122315045988 | etot = -5.62847190825109 -205000 ekin = 3.91946432177392 | erot = 3.60562062221077 | epot = -13.1535568521744 | etot = -5.62847190818971 -206000 ekin = 3.92515912499527 | erot = 3.56510062726736 | epot = -13.1187316605182 | etot = -5.6284719082556 -207000 ekin = 3.94166066189686 | erot = 3.53643554885231 | epot = -13.1065681191313 | etot = -5.62847190838215 -208000 ekin = 3.96741904659752 | erot = 3.51909285319121 | epot = -13.1149838083252 | etot = -5.62847190853646 -209000 ekin = 3.99456273872773 | erot = 3.5008331585052 | epot = -13.1238678065935 | etot = -5.62847190936053 -210000 ekin = 4.04796401860463 | erot = 3.49168954891055 | epot = -13.1681254815419 | etot = -5.62847191402673 -211000 ekin = 4.09773342716127 | erot = 3.49304812013042 | epot = -13.2192534546379 | etot = -5.62847190734618 -212000 ekin = 4.14205596974498 | erot = 3.50221111647982 | epot = -13.2727389936918 | etot = -5.62847190746705 -213000 ekin = 4.18461227969386 | erot = 3.51992604962542 | epot = -13.3330102373263 | etot = -5.628471908007 -214000 ekin = 4.2229180122116 | erot = 3.54318058638071 | epot = -13.3945705067423 | etot = -5.62847190814997 -215000 ekin = 4.25639069944202 | erot = 3.57018634833031 | epot = -13.4550489560092 | etot = -5.62847190823688 -216000 ekin = 4.28517056130931 | erot = 3.59920416165437 | epot = -13.5128466312826 | etot = -5.62847190831891 -217000 ekin = 4.30951457891511 | erot = 3.62862634730577 | epot = -13.5666128346102 | etot = -5.62847190838931 -218000 ekin = 4.3302274909774 | erot = 3.65639118247571 | epot = -13.6150905819329 | etot = -5.62847190847977 -219000 ekin = 4.34822739188957 | erot = 3.68015661121664 | epot = -13.6568559116901 | etot = -5.62847190858389 -220000 ekin = 4.36437280258544 | erot = 3.69755509928573 | epot = -13.6903998105173 | etot = -5.62847190864617 -221000 ekin = 4.37954317243622 | erot = 3.70660976824299 | epot = -13.714624849372 | etot = -5.62847190869276 -222000 ekin = 4.39451292717286 | erot = 3.70596363375308 | epot = -13.7289484695955 | etot = -5.62847190866958 -223000 ekin = 4.41008213189184 | erot = 3.69513355487323 | epot = -13.7336875953399 | etot = -5.62847190857482 -224000 ekin = 4.42678943726429 | erot = 3.67466536393368 | epot = -13.7299267097388 | etot = -5.62847190854085 -225000 ekin = 4.4446070170116 | erot = 3.64600909387798 | epot = -13.7190880192597 | etot = -5.62847190837011 -226000 ekin = 4.47380092382402 | erot = 3.58830814097906 | epot = -13.6905809780341 | etot = -5.62847191323106 -227000 ekin = 4.56056009803676 | erot = 3.4726930683181 | epot = -13.6617250773541 | etot = -5.62847191099925 -228000 ekin = 4.6108332753125 | erot = 3.40803816010796 | epot = -13.6473433475456 | etot = -5.62847191212517 -229000 ekin = 4.63150013168171 | erot = 3.35898149000328 | epot = -13.6189535337034 | etot = -5.62847191201845 -230000 ekin = 4.65431068144226 | erot = 3.31343017818105 | epot = -13.596212771626 | etot = -5.62847191200268 -231000 ekin = 4.67934821405043 | erot = 3.27332737526856 | epot = -13.5811475014864 | etot = -5.62847191216743 -232000 ekin = 4.70592354946518 | erot = 3.23944506667318 | epot = -13.5738405284619 | etot = -5.6284719123235 -233000 ekin = 4.73271416122752 | erot = 3.21144788525661 | epot = -13.5726339590448 | etot = -5.62847191256071 -234000 ekin = 4.75943444985266 | erot = 3.19078729233522 | epot = -13.5786936545813 | etot = -5.62847191239342 -235000 ekin = 4.78642241818323 | erot = 3.1802119397679 | epot = -13.5951062703988 | etot = -5.62847191244764 -236000 ekin = 4.81315037988461 | erot = 3.18017325334985 | epot = -13.6217955457024 | etot = -5.62847191246799 -237000 ekin = 4.83923297185794 | erot = 3.19145400453578 | epot = -13.6591588888862 | etot = -5.62847191249251 -238000 ekin = 4.86487585932032 | erot = 3.21481908800548 | epot = -13.708166859741 | etot = -5.62847191241519 -239000 ekin = 4.89063931715144 | erot = 3.25114955282307 | epot = -13.7702607826898 | etot = -5.62847191271528 -240000 ekin = 4.91656145052717 | erot = 3.29901781219184 | epot = -13.8440511754972 | etot = -5.62847191277818 -241000 ekin = 4.94245255089475 | erot = 3.35699698381876 | epot = -13.9279214477177 | etot = -5.62847191300422 -242000 ekin = 4.96767380346211 | erot = 3.42365009426279 | epot = -14.0197958109264 | etot = -5.62847191320152 -243000 ekin = 5.0057344622477 | erot = 3.47030260470028 | epot = -14.1045089792089 | etot = -5.62847191226096 -244000 ekin = 5.06987350320887 | erot = 3.50985787352608 | epot = -14.2082032933033 | etot = -5.6284719165684 -245000 ekin = 5.08405115957487 | erot = 3.57323736718718 | epot = -14.2857604930717 | etot = -5.62847196630966 -246000 ekin = 5.13867281568981 | erot = 3.5302241078692 | epot = -14.2973688418991 | etot = -5.62847191834013 -247000 ekin = 5.24446071734626 | erot = 3.6370719263987 | epot = -14.5100045566477 | etot = -5.62847191290278 -248000 ekin = 5.23528120841493 | erot = 3.74023330974172 | epot = -14.6039864311655 | etot = -5.62847191300886 -249000 ekin = 5.21260078434886 | erot = 3.83729795660351 | epot = -14.6783706538247 | etot = -5.62847191287231 -250000 ekin = 5.17839081250001 | erot = 3.92749000333999 | epot = -14.734352728447 | etot = -5.62847191260704 -251000 ekin = 5.13586036333638 | erot = 4.01108345357868 | epot = -14.7754157290661 | etot = -5.628471912151 -252000 ekin = 5.0891829210612 | erot = 4.09018694184797 | epot = -14.8078417745596 | etot = -5.62847191165043 -253000 ekin = 5.04264218495095 | erot = 4.16759058212263 | epot = -14.838704678282 | etot = -5.62847191120844 -254000 ekin = 4.99116344078048 | erot = 4.24248912288112 | epot = -14.8621245493453 | etot = -5.62847198568369 -255000 ekin = 4.72637462797871 | erot = 4.24407837664264 | epot = -14.5989249325882 | etot = -5.6284719279668 -256000 ekin = 4.5983410999774 | erot = 4.36369782211666 | epot = -14.5905108365033 | etot = -5.62847191440919 -257000 ekin = 4.77089539877151 | erot = 4.60066315316504 | epot = -15.0000305289983 | etot = -5.62847197706171 -258000 ekin = 4.85704242989419 | erot = 4.66807324377228 | epot = -15.1535875814204 | etot = -5.62847190775396 -259000 ekin = 4.89901811471739 | erot = 4.72718635922047 | epot = -15.2546763808625 | etot = -5.62847190692464 -260000 ekin = 4.94107094738747 | erot = 4.79406863686981 | epot = -15.3636114914173 | etot = -5.62847190716002 -261000 ekin = 4.98242309074267 | erot = 4.86508628582396 | epot = -15.4759812846277 | etot = -5.6284719080611 -262000 ekin = 5.01659840997846 | erot = 4.93871137849118 | epot = -15.5837816973714 | etot = -5.62847190890171 -263000 ekin = 5.03982661193798 | erot = 5.00983839413087 | epot = -15.6781369155771 | etot = -5.62847190950828 -264000 ekin = 5.04732696349148 | erot = 5.07389667599964 | epot = -15.7496955495982 | etot = -5.62847191010705 -265000 ekin = 5.03448807084358 | erot = 5.12688367714283 | epot = -15.7898436586255 | etot = -5.62847191063912 -266000 ekin = 4.99773438958879 | erot = 5.16480683532682 | epot = -15.7910131359658 | etot = -5.62847191105018 -267000 ekin = 4.93508497405503 | erot = 5.18388050751039 | epot = -15.7474373928691 | etot = -5.62847191130366 -268000 ekin = 4.84654531470116 | erot = 5.18063468559632 | epot = -15.6556519116821 | etot = -5.62847191138465 -269000 ekin = 4.7342321427388 | erot = 5.15198859732445 | epot = -15.5146926513542 | etot = -5.62847191129093 -270000 ekin = 4.60224202247752 | erot = 5.09540688817357 | epot = -15.3261208188898 | etot = -5.62847190823866 -271000 ekin = 4.45636876654147 | erot = 5.0092331738847 | epot = -15.0940738481936 | etot = -5.62847190776746 -272000 ekin = 4.30375505734686 | erot = 4.89315778304338 | epot = -14.8253847474875 | etot = -5.62847190709727 -273000 ekin = 4.15244061479158 | erot = 4.74862648123289 | epot = -14.5295390022864 | etot = -5.62847190626192 -274000 ekin = 4.01137482333751 | erot = 4.57896672456254 | epot = -14.2188134532144 | etot = -5.62847190531435 -275000 ekin = 3.87388872891805 | erot = 4.38950805794852 | epot = -13.8918687169804 | etot = -5.62847193011386 -276000 ekin = 3.70828148349795 | erot = 4.18975567949746 | epot = -13.5265090654603 | etot = -5.62847190246493 -277000 ekin = 3.74025187940053 | erot = 3.98894405210149 | epot = -13.3576678645607 | etot = -5.62847193305864 -278000 ekin = 3.74221760775279 | erot = 3.77038543691523 | epot = -13.1410749479091 | etot = -5.62847190324104 -279000 ekin = 3.75220115766707 | erot = 3.55790331814348 | epot = -12.9385763794525 | etot = -5.62847190364194 -280000 ekin = 3.77561814014602 | erot = 3.35781654492272 | epot = -12.7619065883775 | etot = -5.6284719033088 -281000 ekin = 3.81272927484946 | erot = 3.17409695196084 | epot = -12.6152981298173 | etot = -5.62847190300698 -282000 ekin = 3.8650198803709 | erot = 3.00952640154842 | epot = -12.5030181842075 | etot = -5.62847190228818 -283000 ekin = 3.93628900407371 | erot = 2.86613168181802 | epot = -12.4308925881286 | etot = -5.62847190223686 -284000 ekin = 4.02702703050937 | erot = 2.74480306500037 | epot = -12.4003019979073 | etot = -5.62847190239756 -285000 ekin = 4.14139706640688 | erot = 2.64599110157868 | epot = -12.415860069173 | etot = -5.62847190118749 -286000 ekin = 4.28525774918737 | erot = 2.56950762489262 | epot = -12.4832372763276 | etot = -5.62847190224757 -287000 ekin = 4.44987555796033 | erot = 2.51493810068412 | epot = -12.5932855609626 | etot = -5.62847190231813 -288000 ekin = 4.63520922265196 | erot = 2.48100112555789 | epot = -12.744682251553 | etot = -5.62847190334311 -289000 ekin = 4.83125797005919 | erot = 2.46527241539785 | epot = -12.9250022896926 | etot = -5.6284719042356 -290000 ekin = 5.02763799219706 | erot = 2.46542435682136 | epot = -13.1215342541046 | etot = -5.62847190508614 -291000 ekin = 5.21465468575957 | erot = 2.47913524144863 | epot = -13.3222618329728 | etot = -5.62847190576458 -292000 ekin = 5.38472348790202 | erot = 2.5041643032936 | epot = -13.5173596974345 | etot = -5.62847190623886 -293000 ekin = 5.53302487062802 | erot = 2.53823701976651 | epot = -13.6997337969567 | etot = -5.6284719065622 -294000 ekin = 5.65718701899293 | erot = 2.57877496353312 | epot = -13.8644338893377 | etot = -5.62847190681162 -295000 ekin = 5.75652780496415 | erot = 2.62269919784384 | epot = -14.0076989098378 | etot = -5.62847190702984 -296000 ekin = 5.83139499491232 | erot = 2.66652171229258 | epot = -14.1263886144137 | etot = -5.62847190720875 -297000 ekin = 5.88282356331969 | erot = 2.70675614330348 | epot = -14.2180516139344 | etot = -5.62847190731125 -298000 ekin = 5.91239748765017 | erot = 2.74048494300967 | epot = -14.2813543379696 | etot = -5.62847190730976 -299000 ekin = 5.92208198046302 | erot = 2.7658529930222 | epot = -14.3164068806914 | etot = -5.62847190720614 -300000 ekin = 5.91390942018638 | erot = 2.78233336188674 | epot = -14.324714689099 | etot = -5.62847190702586 -301000 ekin = 5.88962133511142 | erot = 2.7907435367592 | epot = -14.3088367786656 | etot = -5.62847190679494 -302000 ekin = 5.85048781420819 | erot = 2.79307875791685 | epot = -14.2720384786482 | etot = -5.62847190652318 -303000 ekin = 5.79743517876854 | erot = 2.79223225552545 | epot = -14.2181393405041 | etot = -5.62847190621011 -304000 ekin = 5.73124340760361 | erot = 2.79262915089269 | epot = -14.1523444641601 | etot = -5.62847190566384 -305000 ekin = 5.6525826846959 | erot = 2.79940899091188 | epot = -14.0804635809897 | etot = -5.62847190538192 -306000 ekin = 5.56254653522781 | erot = 2.81503734235279 | epot = -14.0060557827393 | etot = -5.62847190515871 -307000 ekin = 5.46251129680399 | erot = 2.84075892386306 | epot = -13.9317421257015 | etot = -5.62847190503446 -308000 ekin = 5.35391293499449 | erot = 2.87633235164438 | epot = -13.8587171916715 | etot = -5.62847190503264 -309000 ekin = 5.2380500741113 | erot = 2.91996940723583 | epot = -13.7864913863831 | etot = -5.62847190503601 -310000 ekin = 5.11613875821884 | erot = 2.96880482960341 | epot = -13.7134154931087 | etot = -5.62847190528648 -311000 ekin = 4.98925852658652 | erot = 3.01839769776058 | epot = -13.6361281298153 | etot = -5.62847190546825 -312000 ekin = 4.85867326621518 | erot = 3.06421411593807 | epot = -13.5513592877758 | etot = -5.62847190562251 -313000 ekin = 4.72585112666549 | erot = 3.10236590330291 | epot = -13.4566889356326 | etot = -5.62847190566415 -314000 ekin = 4.59293421045381 | erot = 3.13002199529404 | epot = -13.3514281113052 | etot = -5.62847190555729 -315000 ekin = 4.4627066997064 | erot = 3.14588950387965 | epot = -13.2370681089042 | etot = -5.62847190531813 -316000 ekin = 4.33845457033203 | erot = 3.15016989318611 | epot = -13.1170963685038 | etot = -5.62847190498567 -317000 ekin = 4.22370149066224 | erot = 3.14429402987658 | epot = -12.9964674251464 | etot = -5.62847190460756 -318000 ekin = 4.12188681799686 | erot = 3.13056754978643 | epot = -12.8809262720098 | etot = -5.62847190422654 -319000 ekin = 4.03607214170871 | erot = 3.11184182787653 | epot = -12.7763858734568 | etot = -5.62847190387152 -320000 ekin = 3.96873641007907 | erot = 3.09128048612339 | epot = -12.688488799756 | etot = -5.62847190355351 -321000 ekin = 3.92167797368546 | erot = 3.07226107994542 | epot = -12.6224109569023 | etot = -5.62847190327139 -322000 ekin = 3.8960097142194 | erot = 3.05833648374953 | epot = -12.5828181009975 | etot = -5.62847190302861 -323000 ekin = 3.89216326551543 | erot = 3.0532307872066 | epot = -12.5738659555595 | etot = -5.62847190283749 -324000 ekin = 3.90971752720657 | erot = 3.06065920137825 | epot = -12.5988486315853 | etot = -5.62847190300047 -325000 ekin = 3.94474197767268 | erot = 3.08325557842916 | epot = -12.6564694593518 | etot = -5.62847190324995 -326000 ekin = 3.99225791211897 | erot = 3.12131666196214 | epot = -12.742046477854 | etot = -5.62847190377287 -327000 ekin = 4.047157518191 | erot = 3.17277573873514 | epot = -12.8484051615009 | etot = -5.62847190457475 -328000 ekin = 4.10306827949969 | erot = 3.2328980910145 | epot = -12.964438276116 | etot = -5.62847190560186 -329000 ekin = 4.15294077797405 | erot = 3.29460254686706 | epot = -13.076015231516 | etot = -5.62847190667492 -330000 ekin = 4.1904608637893 | erot = 3.34957314359003 | epot = -13.1685059148823 | etot = -5.62847190750294 -331000 ekin = 4.21187936705087 | erot = 3.38989153266343 | epot = -13.2302428076831 | etot = -5.62847190796882 -332000 ekin = 4.21589857653964 | erot = 3.41075094374536 | epot = -13.2551214281407 | etot = -5.62847190785568 -333000 ekin = 4.20485266000532 | erot = 3.41174399824562 | epot = -13.2450685654464 | etot = -5.62847190719542 -334000 ekin = 4.18435368276617 | erot = 3.39692225044008 | epot = -13.2097478393658 | etot = -5.62847190615951 -335000 ekin = 4.16205455861975 | erot = 3.37367623593909 | epot = -13.1642026995469 | etot = -5.62847190498801 -336000 ekin = 4.14609491421151 | erot = 3.35093309666115 | epot = -13.1254999147779 | etot = -5.62847190390525 -337000 ekin = 4.14364358931889 | erot = 3.3373696460562 | epot = -13.1094851384478 | etot = -5.62847190307275 -338000 ekin = 4.15982493123665 | erot = 3.33968220642664 | epot = -13.1279790403949 | etot = -5.62847190273164 -339000 ekin = 4.19714166716502 | erot = 3.36120406394443 | epot = -13.1868176337171 | etot = -5.6284719026077 -340000 ekin = 4.25518474381703 | erot = 3.40394456534442 | epot = -13.2876012119618 | etot = -5.62847190280037 -341000 ekin = 4.33079125360721 | erot = 3.46797257818222 | epot = -13.4272357350295 | etot = -5.62847190324003 -342000 ekin = 4.41854745259014 | erot = 3.55173943759921 | epot = -13.5987587940374 | etot = -5.62847190384803 -343000 ekin = 4.51153864838651 | erot = 3.65250494550752 | epot = -13.7925154984427 | etot = -5.62847190454867 -344000 ekin = 4.60219231317934 | erot = 3.76671918648138 | epot = -13.9973834049171 | etot = -5.6284719052564 -345000 ekin = 4.68312343519931 | erot = 3.89042211424799 | epot = -14.2020174553524 | etot = -5.62847190590513 -346000 ekin = 4.74786790539669 | erot = 4.01955036384103 | epot = -14.3958901756814 | etot = -5.62847190644372 -347000 ekin = 4.79150376886026 | erot = 4.15019529884424 | epot = -14.5701709745013 | etot = -5.62847190679678 -348000 ekin = 4.81117855585283 | erot = 4.27877359764576 | epot = -14.7184240605496 | etot = -5.62847190705096 -349000 ekin = 4.80564918858973 | erot = 4.40205662692522 | epot = -14.8361777226847 | etot = -5.62847190716974 -350000 ekin = 4.77545945328669 | erot = 4.51714564005536 | epot = -14.9210770005372 | etot = -5.62847190719515 -351000 ekin = 4.72262273321602 | erot = 4.62116010888737 | epot = -14.9722547493095 | etot = -5.62847190720615 -352000 ekin = 4.65007958813589 | erot = 4.71078593021341 | epot = -14.9893374256312 | etot = -5.62847190728187 -353000 ekin = 4.56109157464666 | erot = 4.78180335584297 | epot = -14.9713668379544 | etot = -5.62847190746476 -354000 ekin = 4.45876151245766 | erot = 4.82895979647749 | epot = -14.9161932166601 | etot = -5.62847190772498 -355000 ekin = 4.34584612944697 | erot = 4.84663553109143 | epot = -14.8209535684649 | etot = -5.62847190792654 -356000 ekin = 4.22495470320128 | erot = 4.83038190909052 | epot = -14.6838085201832 | etot = -5.62847190789137 -357000 ekin = 4.09903296593978 | erot = 4.77873075093834 | epot = -14.5062356243625 | etot = -5.62847190748435 -358000 ekin = 3.97178667555237 | erot = 4.694445610496 | epot = -14.2947041927595 | etot = -5.62847190671115 -359000 ekin = 3.84767298928786 | erot = 4.58431182213549 | epot = -14.0604567171777 | etot = -5.6284719057544 -360000 ekin = 3.73136439808096 | erot = 4.45746613157599 | epot = -13.817302434417 | etot = -5.62847190476002 -361000 ekin = 3.62758093165083 | erot = 4.32379064505304 | epot = -13.5798434807374 | etot = -5.62847190403352 -362000 ekin = 3.54294892306474 | erot = 4.19358097114481 | epot = -13.3650017978889 | etot = -5.62847190367933 -363000 ekin = 3.47837311691428 | erot = 4.07207692082325 | epot = -13.1789219412969 | etot = -5.62847190355939 -364000 ekin = 3.43225009806373 | erot = 3.961931941418 | epot = -13.0226539430709 | etot = -5.62847190358919 -365000 ekin = 3.40198388463965 | erot = 3.86460642705396 | epot = -12.8950622153806 | etot = -5.62847190368699 -366000 ekin = 3.38451833853004 | erot = 3.78104622244734 | epot = -12.7940364647605 | etot = -5.62847190378312 -367000 ekin = 3.37682483159018 | erot = 3.71218000857436 | epot = -12.7174767440077 | etot = -5.62847190384314 -368000 ekin = 3.37625204139483 | erot = 3.65912147822851 | epot = -12.663845423478 | etot = -5.62847190385467 -369000 ekin = 3.38074636727773 | erot = 3.62312680344527 | epot = -12.6323450745499 | etot = -5.62847190382689 -370000 ekin = 3.38894636699741 | erot = 3.6053885663719 | epot = -12.6228068371906 | etot = -5.62847190382132 -371000 ekin = 3.40011634061024 | erot = 3.60672333638143 | epot = -12.6353115807398 | etot = -5.62847190374812 -372000 ekin = 3.41430323563923 | erot = 3.62748920224192 | epot = -12.6702643415807 | etot = -5.62847190369956 -373000 ekin = 3.43217624796659 | erot = 3.66740997408926 | epot = -12.7280581256002 | etot = -5.62847190354439 -374000 ekin = 3.45538314687178 | erot = 3.7253207076687 | epot = -12.8091757581692 | etot = -5.62847190362873 -375000 ekin = 3.48458983104435 | erot = 3.79950576966702 | epot = -12.9125675044683 | etot = -5.62847190375694 -376000 ekin = 3.51994630864513 | erot = 3.88772077542083 | epot = -13.0361389879923 | etot = -5.62847190392634 -377000 ekin = 3.56162263240472 | erot = 3.9871803208762 | epot = -13.1772748573754 | etot = -5.62847190409448 -378000 ekin = 3.61009229020311 | erot = 4.09470007582312 | epot = -13.3332642703315 | etot = -5.62847190430525 -379000 ekin = 3.6662193925352 | erot = 4.20668278517003 | epot = -13.5013740821488 | etot = -5.62847190444354 -380000 ekin = 3.73222313436681 | erot = 4.31893025306561 | epot = -13.6796252923123 | etot = -5.6284719048799 -381000 ekin = 3.80656943725205 | erot = 4.42661769095661 | epot = -13.8616590336604 | etot = -5.6284719054517 -382000 ekin = 3.88594558527767 | erot = 4.52459411506728 | epot = -14.0390116064294 | etot = -5.62847190608449 -383000 ekin = 3.96695090001183 | erot = 4.60747433895868 | epot = -14.2028971456956 | etot = -5.62847190672509 -384000 ekin = 4.04619645069185 | erot = 4.66967915258317 | epot = -14.3443475105725 | etot = -5.6284719072975 -385000 ekin = 4.12092029138874 | erot = 4.70599192062998 | epot = -14.4553841196892 | etot = -5.62847190767044 -386000 ekin = 4.18945537163874 | erot = 4.71237691681113 | epot = -14.5303041965569 | etot = -5.628471908107 -387000 ekin = 4.24770733745816 | erot = 4.6853187164366 | epot = -14.5614979619499 | etot = -5.62847190805516 -388000 ekin = 4.29400518232716 | erot = 4.62433064764756 | epot = -14.5468077376865 | etot = -5.62847190771175 -389000 ekin = 4.3297375103539 | erot = 4.53230747814506 | epot = -14.4905168956645 | etot = -5.62847190716558 -390000 ekin = 4.35696496432295 | erot = 4.41432356914497 | epot = -14.3997604400378 | etot = -5.62847190656983 -391000 ekin = 4.37768888460278 | erot = 4.27672755000021 | epot = -14.282888340541 | etot = -5.62847190593804 -392000 ekin = 4.39398588699936 | erot = 4.12625191224331 | epot = -14.1487097046239 | etot = -5.62847190538126 -393000 ekin = 4.40738241117201 | erot = 3.96936593194957 | epot = -14.0052202479462 | etot = -5.62847190482465 -394000 ekin = 4.41937568154471 | erot = 3.81285278686775 | epot = -13.8607003730767 | etot = -5.62847190466425 -395000 ekin = 4.42988768163289 | erot = 3.6606594657542 | epot = -13.7190190519195 | etot = -5.62847190453239 -396000 ekin = 4.4384747658818 | erot = 3.51525603215002 | epot = -13.582202702425 | etot = -5.62847190439317 -397000 ekin = 4.44517728395988 | erot = 3.37891512777609 | epot = -13.4525643159543 | etot = -5.62847190421834 -398000 ekin = 4.45064950024889 | erot = 3.25392386318741 | epot = -13.3330452674345 | etot = -5.62847190399817 -399000 ekin = 4.45613851376204 | erot = 3.14269651881636 | epot = -13.2273069363788 | etot = -5.62847190380041 -400000 ekin = 4.46297608304487 | erot = 3.04745583065375 | epot = -13.1389038172455 | etot = -5.6284719035469 -401000 ekin = 4.47275546000428 | erot = 2.97053701411307 | epot = -13.0717643774785 | etot = -5.6284719033612 -402000 ekin = 4.4867233669973 | erot = 2.91396522580546 | epot = -13.0291604961449 | etot = -5.62847190334216 -403000 ekin = 4.50482841071081 | erot = 2.8787025181007 | epot = -13.0120028324284 | etot = -5.62847190361687 -404000 ekin = 4.52484325729189 | erot = 2.86379686215192 | epot = -13.017112023697 | etot = -5.62847190425317 -405000 ekin = 4.54178669951965 | erot = 2.86535120569479 | epot = -13.035609810693 | etot = -5.62847190547854 -406000 ekin = 4.54812186975737 | erot = 2.87565623454465 | epot = -13.0522500109003 | etot = -5.62847190659829 -407000 ekin = 4.53567765660364 | erot = 2.88781666334504 | epot = -13.0519662273722 | etot = -5.62847190742353 -408000 ekin = 4.49806839870186 | erot = 2.89717319275991 | epot = -13.0237134991132 | etot = -5.62847190765146 -409000 ekin = 4.43289041822661 | erot = 2.90293173430488 | epot = -12.964294059809 | etot = -5.62847190727752 -410000 ekin = 4.34222243508758 | erot = 2.90784571764664 | epot = -12.8785400592817 | etot = -5.62847190654747 -411000 ekin = 4.23122328978881 | erot = 2.91632332331574 | epot = -12.7760185189013 | etot = -5.62847190579679 -412000 ekin = 4.10591302465951 | erot = 2.93234263227515 | epot = -12.6667275621717 | etot = -5.628471905237 -413000 ekin = 3.97147909133151 | erot = 2.9582687533974 | epot = -12.5582197496364 | etot = -5.62847190490748 -414000 ekin = 3.83169645325956 | erot = 2.9948721544271 | epot = -12.4550405124313 | etot = -5.6284719047446 -415000 ekin = 3.68915556883775 | erot = 3.04191716156322 | epot = -12.3595446350678 | etot = -5.62847190466682 -416000 ekin = 3.54575553254762 | erot = 3.09878213616461 | epot = -12.2730095733257 | etot = -5.62847190461351 -417000 ekin = 3.40315271143793 | erot = 3.16484246795223 | epot = -12.1964670839435 | etot = -5.62847190455339 -418000 ekin = 3.26306253870884 | erot = 3.23960054557895 | epot = -12.1311349887621 | etot = -5.62847190447429 -419000 ekin = 3.12743539443673 | erot = 3.32265867815324 | epot = -12.078565976964 | etot = -5.62847190437406 -420000 ekin = 2.99854685245618 | erot = 3.413623963495 | epot = -12.0406427202084 | etot = -5.62847190425726 -421000 ekin = 2.87901712489708 | erot = 3.51197880383063 | epot = -12.0194678328653 | etot = -5.62847190413762 -422000 ekin = 2.7717459604952 | erot = 3.61690112207128 | epot = -12.0171189866093 | etot = -5.62847190404282 -423000 ekin = 2.67973794661924 | erot = 3.72700827489768 | epot = -12.0352181255331 | etot = -5.62847190401615 -424000 ekin = 2.60579870925969 | erot = 3.84002717531602 | epot = -12.0742977886897 | etot = -5.62847190411396 -425000 ekin = 2.55208954524874 | erot = 3.95244167896246 | epot = -12.1330031286114 | etot = -5.62847190440024 -426000 ekin = 2.5195465304227 | erot = 4.05920212809832 | epot = -12.2072205634524 | etot = -5.62847190493139 -427000 ekin = 2.50725893888466 | erot = 4.15363681832286 | epot = -12.2893676629242 | etot = -5.62847190571666 -428000 ekin = 2.5121048517315 | erot = 4.2278239961629 | epot = -12.3684007545458 | etot = -5.62847190665139 -429000 ekin = 2.52911833231243 | erot = 4.27377369073984 | epot = -12.4313639305347 | etot = -5.62847190748239 -430000 ekin = 2.55284926699264 | erot = 4.28551618828037 | epot = -12.4668373631639 | etot = -5.62847190789086 -431000 ekin = 2.57924139418519 | erot = 4.2614241203789 | epot = -12.4691374222491 | etot = -5.62847190768504 -432000 ekin = 2.60692475465593 | erot = 4.20541068246933 | epot = -12.4408073440645 | etot = -5.62847190693923 -433000 ekin = 2.63712842981491 | erot = 4.12604912501693 | epot = -12.3916494607697 | etot = -5.62847190593788 -434000 ekin = 2.67245542240816 | erot = 4.03405948921518 | epot = -12.334986816614 | etot = -5.6284719049907 -435000 ekin = 2.71543854639996 | erot = 3.93961255970856 | epot = -12.2835230103947 | etot = -5.62847190428618 -436000 ekin = 2.7676099134144 | erot = 3.85063248523209 | epot = -12.2467143025251 | etot = -5.62847190387865 -437000 ekin = 2.82920515671658 | erot = 3.77223859650373 | epot = -12.229915656949 | etot = -5.62847190372866 -438000 ekin = 2.89929820058893 | erot = 3.7070750997503 | epot = -12.2348452041092 | etot = -5.62847190376996 -439000 ekin = 2.9760933415543 | erot = 3.65590372388935 | epot = -12.2604689693862 | etot = -5.62847190394252 -440000 ekin = 3.05720906612876 | erot = 3.6181520078374 | epot = -12.3038329781688 | etot = -5.62847190420265 -441000 ekin = 3.13989672828805 | erot = 3.59232302399544 | epot = -12.3606916568035 | etot = -5.62847190452001 -442000 ekin = 3.22119927518473 | erot = 3.57626892519867 | epot = -12.425940105259 | etot = -5.62847190487565 -443000 ekin = 3.29807867301736 | erot = 3.56737972995847 | epot = -12.493930308225 | etot = -5.62847190524917 -444000 ekin = 3.3675388394357 | erot = 3.56276348927201 | epot = -12.5587742343283 | etot = -5.62847190562061 -445000 ekin = 3.42676046580554 | erot = 3.55942025918735 | epot = -12.6146526309605 | etot = -5.62847190596761 -446000 ekin = 3.47324383646255 | erot = 3.55443462308767 | epot = -12.6561503658212 | etot = -5.62847190627101 -447000 ekin = 3.50497354375501 | erot = 3.54511419619497 | epot = -12.6785596464587 | etot = -5.6284719065087 -448000 ekin = 3.52056213082342 | erot = 3.52974100709899 | epot = -12.678775044445 | etot = -5.62847190652254 -449000 ekin = 3.51939696589681 | erot = 3.50705904510715 | epot = -12.6549279176116 | etot = -5.6284719066076 -450000 ekin = 3.50164536052004 | erot = 3.47565071065649 | epot = -12.6057679777786 | etot = -5.62847190660206 -451000 ekin = 3.46824790705928 | erot = 3.43472151202187 | epot = -12.531441325585 | etot = -5.6284719065038 -452000 ekin = 3.42090312734581 | erot = 3.38414558728953 | epot = -12.4335206209496 | etot = -5.62847190631427 -453000 ekin = 3.36201791826099 | erot = 3.32449206045047 | epot = -12.31498188475 | etot = -5.62847190603854 -454000 ekin = 3.29463316058018 | erot = 3.25701739818687 | epot = -12.1801224644535 | etot = -5.62847190568649 -455000 ekin = 3.22233274896039 | erot = 3.18360703276426 | epot = -12.0344116869964 | etot = -5.62847190527174 -456000 ekin = 3.14914248625823 | erot = 3.10666992197635 | epot = -11.8842843130478 | etot = -5.62847190481318 -457000 ekin = 3.07939737170073 | erot = 3.02894564058048 | epot = -11.736814916623 | etot = -5.62847190434179 -458000 ekin = 3.01756413265085 | erot = 2.95322108562052 | epot = -11.5992571221255 | etot = -5.62847190385414 -459000 ekin = 2.96810632520863 | erot = 2.88249754735619 | epot = -11.479075775972 | etot = -5.62847190340717 -460000 ekin = 2.93513889000246 | erot = 2.8195526752032 | epot = -11.3831634682429 | etot = -5.62847190303722 -461000 ekin = 2.92205746386031 | erot = 2.76669234907353 | epot = -11.3172217157159 | etot = -5.62847190278208 -462000 ekin = 2.93114290148357 | erot = 2.72556812595166 | epot = -11.2851829301103 | etot = -5.62847190267507 -463000 ekin = 2.96319319678696 | erot = 2.69703193760775 | epot = -11.2886970371337 | etot = -5.62847190273899 -464000 ekin = 3.01726238567789 | erot = 2.68105615129522 | epot = -11.3267904399509 | etot = -5.62847190297782 -465000 ekin = 3.0905839893169 | erot = 2.67674994758358 | epot = -11.395805840273 | etot = -5.62847190337253 -466000 ekin = 3.17872270900187 | erot = 2.68248866699541 | epot = -11.4896832798804 | etot = -5.62847190388315 -467000 ekin = 3.27594114496298 | erot = 2.69614045584725 | epot = -11.6005535052675 | etot = -5.62847190445725 -468000 ekin = 3.37571282134157 | erot = 2.71534026239274 | epot = -11.7195249887762 | etot = -5.62847190504193 -469000 ekin = 3.47128178263097 | erot = 2.73774679762323 | epot = -11.8375004858465 | etot = -5.62847190559228 -470000 ekin = 3.55617737699251 | erot = 2.76123628660567 | epot = -11.9458855696746 | etot = -5.62847190607642 -471000 ekin = 3.62463309399585 | erot = 2.78402790003228 | epot = -12.0371329004995 | etot = -5.62847190647142 -472000 ekin = 3.67190559892006 | erot = 2.80477124778249 | epot = -12.1051487534616 | etot = -5.6284719067591 -473000 ekin = 3.69451868440089 | erot = 2.82263116140754 | epot = -12.1456217527309 | etot = -5.62847190692251 -474000 ekin = 3.69045746330095 | erot = 2.83737882568667 | epot = -12.1563081959356 | etot = -5.62847190694794 -475000 ekin = 3.6593211634895 | erot = 2.84946541727286 | epot = -12.1372584875897 | etot = -5.62847190682734 -476000 ekin = 3.60242486136352 | erot = 2.86004016499292 | epot = -12.0909369329187 | etot = -5.62847190656224 -477000 ekin = 3.52282746237348 | erot = 2.87088465736541 | epot = -12.022184025903 | etot = -5.62847190616409 -478000 ekin = 3.42525452627072 | erot = 2.88424967271448 | epot = -11.9379761046535 | etot = -5.62847190566833 -479000 ekin = 3.31588349736032 | erot = 2.90254646897832 | epot = -11.8469018714573 | etot = -5.62847190511867 -480000 ekin = 3.20192949242862 | erot = 2.92801081392743 | epot = -11.7584122109371 | etot = -5.62847190458104 -481000 ekin = 3.09102106837914 | erot = 2.96227510042882 | epot = -11.6817680729442 | etot = -5.62847190413626 -482000 ekin = 2.99039932398843 | erot = 3.00590839371542 | epot = -11.6247796215703 | etot = -5.62847190386642 -483000 ekin = 2.90605693342726 | erot = 3.05799802966767 | epot = -11.5925268669332 | etot = -5.62847190383822 -484000 ekin = 2.84200171523337 | erot = 3.11586840866181 | epot = -11.5863420279766 | etot = -5.62847190408139 -485000 ekin = 2.81072036470602 | erot = 3.03665546459291 | epot = -11.4758477218386 | etot = -5.6284718925397 -486000 ekin = 2.99172671796881 | erot = 2.89028588607158 | epot = -11.5104845147713 | etot = -5.62847191073092 -487000 ekin = 3.04661020882536 | erot = 2.89516257155047 | epot = -11.570244686013 | etot = -5.62847190563722 -488000 ekin = 3.02813445462026 | erot = 2.91755814175518 | epot = -11.5741645019136 | etot = -5.62847190553817 -489000 ekin = 3.02918173190443 | erot = 2.94703274342909 | epot = -11.6046863809385 | etot = -5.62847190560502 -490000 ekin = 3.04920929976752 | erot = 2.9829992143963 | epot = -11.6606804199874 | etot = -5.62847190582359 -491000 ekin = 3.08564623424383 | erot = 3.02458607703026 | epot = -11.7387042173963 | etot = -5.62847190612219 -492000 ekin = 3.13426650217752 | erot = 3.07113014038979 | epot = -11.8338685490083 | etot = -5.62847190644095 -493000 ekin = 3.19024782359286 | erot = 3.12246736377248 | epot = -11.9411870940141 | etot = -5.62847190664877 -494000 ekin = 3.24418110407867 | erot = 3.17757093528454 | epot = -12.0502240478831 | etot = -5.62847200851984 -495000 ekin = 3.12930691891059 | erot = 3.12025770009336 | epot = -11.8780365338362 | etot = -5.62847191483222 -496000 ekin = 3.38154400846385 | erot = 3.12702216682413 | epot = -12.1370381395015 | etot = -5.6284719642135 -497000 ekin = 3.53796334307627 | erot = 3.21345240185485 | epot = -12.3798876661722 | etot = -5.62847192124111 -498000 ekin = 3.54725242247929 | erot = 3.31274815695536 | epot = -12.4884725006935 | etot = -5.62847192125882 -499000 ekin = 3.54686752395102 | erot = 3.42936350672183 | epot = -12.604702952023 | etot = -5.6284719213501 -500000 ekin = 3.53611629145842 | erot = 3.56214471849631 | epot = -12.7267329314715 | etot = -5.62847192151679 -501000 ekin = 3.51474019585048 | erot = 3.70831240063284 | epot = -12.8515245182456 | etot = -5.62847192176227 -502000 ekin = 3.48291543617475 | erot = 3.86351597858863 | epot = -12.9749033367585 | etot = -5.62847192199508 -503000 ekin = 3.44167367984357 | erot = 4.02200657195861 | epot = -13.0921521741542 | etot = -5.62847192235202 -504000 ekin = 3.39166561937802 | erot = 4.17733332042956 | epot = -13.1974708625528 | etot = -5.62847192274522 -505000 ekin = 3.33344269450369 | erot = 4.32266370127691 | epot = -13.2845783189171 | etot = -5.62847192313649 -506000 ekin = 3.26726906278953 | erot = 4.45157764164142 | epot = -13.3473186278349 | etot = -5.62847192340397 -507000 ekin = 3.19388361648963 | erot = 4.55898983229643 | epot = -13.3813453722758 | etot = -5.62847192348974 -508000 ekin = 3.11462724048527 | erot = 4.64207406472335 | epot = -13.3851732285476 | etot = -5.62847192333896 -509000 ekin = 3.03154551889806 | erot = 4.70083202644182 | epot = -13.3608494683002 | etot = -5.62847192296028 -510000 ekin = 2.94513058611301 | erot = 4.73730594222395 | epot = -13.3109084508275 | etot = -5.62847192249055 -511000 ekin = 2.85640718494208 | erot = 4.75516581382858 | epot = -13.2400449206964 | etot = -5.62847192192573 -512000 ekin = 2.76854482524886 | erot = 4.75962991523446 | epot = -13.1566466618523 | etot = -5.62847192136897 -513000 ekin = 2.68465921482974 | erot = 4.75599513194259 | epot = -13.0691262676749 | etot = -5.62847192090256 -514000 ekin = 2.60745568314133 | erot = 4.7487016865945 | epot = -12.9846292903229 | etot = -5.6284719205871 -515000 ekin = 2.53899080264093 | erot = 4.74082869237892 | epot = -12.9082914154295 | etot = -5.62847192040964 -516000 ekin = 2.4805786289685 | erot = 4.73416754061948 | epot = -12.8432180899488 | etot = -5.62847192036078 -517000 ekin = 2.43281299020428 | erot = 4.72933651070645 | epot = -12.7906214213182 | etot = -5.62847192040746 -518000 ekin = 2.39567246200902 | erot = 4.72611868192658 | epot = -12.7502630644448 | etot = -5.62847192050918 -519000 ekin = 2.36868008077583 | erot = 4.72386163456227 | epot = -12.7210136359631 | etot = -5.62847192062505 -520000 ekin = 2.3510906803193 | erot = 4.72186744274965 | epot = -12.7014300437884 | etot = -5.62847192071945 -521000 ekin = 2.34207426124194 | erot = 4.71970227698523 | epot = -12.6902484589981 | etot = -5.62847192077095 -522000 ekin = 2.340858583968 | erot = 4.71735113725796 | epot = -12.6866816420039 | etot = -5.62847192077794 -523000 ekin = 2.34541603965324 | erot = 4.65571671259031 | epot = -12.6296046827302 | etot = -5.62847193048665 -524000 ekin = 2.39460269542338 | erot = 4.54409239666456 | epot = -12.5671670123716 | etot = -5.62847192028367 -525000 ekin = 2.51755565352142 | erot = 4.49060445319741 | epot = -12.6366320324481 | etot = -5.62847192572927 -526000 ekin = 2.63891940341078 | erot = 4.49670026126345 | epot = -12.7640916024644 | etot = -5.62847193779014 -527000 ekin = 2.68130557078061 | erot = 4.50503337375483 | epot = -12.8148108746342 | etot = -5.6284719300988 -528000 ekin = 2.71450795010167 | erot = 4.51098798629419 | epot = -12.8539678665943 | etot = -5.62847193019847 -529000 ekin = 2.74727192393578 | erot = 4.51402301142804 | epot = -12.8897668656323 | etot = -5.62847193026851 -530000 ekin = 2.77952118313533 | erot = 4.51256666252574 | epot = -12.9205597759558 | etot = -5.62847193029471 -531000 ekin = 2.81130699778189 | erot = 4.50555264766606 | epot = -12.9453315757214 | etot = -5.62847193027343 -532000 ekin = 2.84274553226625 | erot = 4.49253106980067 | epot = -12.9637485322803 | etot = -5.62847193021333 -533000 ekin = 2.87393313768489 | erot = 4.47361780233235 | epot = -12.9760228701517 | etot = -5.62847193013447 -534000 ekin = 2.9048693380618 | erot = 4.44928844615846 | epot = -12.9826297142804 | etot = -5.62847193006009 -535000 ekin = 2.93541519863514 | erot = 4.42010482064679 | epot = -12.9839919492879 | etot = -5.62847193000594 -536000 ekin = 2.96529830145678 | erot = 4.38649798395329 | epot = -12.9802682153867 | etot = -5.62847192997666 -537000 ekin = 2.99415467148711 | erot = 4.34867665836371 | epot = -12.9713032598077 | etot = -5.62847192995683 -538000 ekin = 3.02158801646915 | erot = 4.30669342610079 | epot = -12.9567533725263 | etot = -5.62847192995632 -539000 ekin = 3.04722844370983 | erot = 4.26048951905857 | epot = -12.9361898927207 | etot = -5.6284719299523 -540000 ekin = 3.07077963641468 | erot = 4.21000980479945 | epot = -12.9092613711494 | etot = -5.62847192993531 -541000 ekin = 3.09204730614512 | erot = 4.15535061586997 | epot = -12.8758698519159 | etot = -5.62847192990077 -542000 ekin = 3.11094831331516 | erot = 4.09682671840137 | epot = -12.8362469615643 | etot = -5.62847192984778 -543000 ekin = 3.12750284881097 | erot = 4.03499383132543 | epot = -12.7909686099158 | etot = -5.6284719297794 -544000 ekin = 3.14181233916593 | erot = 3.97062692622017 | epot = -12.7409111950905 | etot = -5.62847192970443 -545000 ekin = 3.15402369277102 | erot = 3.90462208418003 | epot = -12.6871177065823 | etot = -5.62847192963125 -546000 ekin = 3.16427777376567 | erot = 3.83809465728464 | epot = -12.6308443606135 | etot = -5.62847192956321 -547000 ekin = 3.17263245314568 | erot = 3.77248542238257 | epot = -12.5735898050643 | etot = -5.62847192953605 -548000 ekin = 3.179051141272 | erot = 3.70842416476057 | epot = -12.5159472355757 | etot = -5.6284719295431 -549000 ekin = 3.18335924851754 | erot = 3.64619443423589 | epot = -12.4580256122966 | etot = -5.62847192954316 -550000 ekin = 3.18506506659047 | erot = 3.58603484428966 | epot = -12.3995718405372 | etot = -5.62847192965712 -551000 ekin = 3.18354118864977 | erot = 3.52751972614617 | epot = -12.3395328445918 | etot = -5.62847192979591 -552000 ekin = 3.17814056098378 | erot = 3.4697331722894 | epot = -12.2763456632104 | etot = -5.62847192993727 -553000 ekin = 3.16816249045812 | erot = 3.41187716293306 | epot = -12.2085115834396 | etot = -5.62847193004847 -554000 ekin = 3.15297464053773 | erot = 3.35363386892402 | epot = -12.1350804395537 | etot = -5.6284719300919 -555000 ekin = 3.13218065539089 | erot = 3.29554931591432 | epot = -12.0562019013385 | etot = -5.62847193003333 -556000 ekin = 3.10581995739448 | erot = 3.23932890454546 | epot = -11.97362079179 | etot = -5.62847192985007 -557000 ekin = 3.0745788389332 | erot = 3.1879540330783 | epot = -11.8910048015461 | etot = -5.62847192953461 -558000 ekin = 3.03998262648526 | erot = 3.1455370733645 | epot = -11.8139916289626 | etot = -5.62847192911286 -559000 ekin = 3.00450378979627 | erot = 3.11693712837836 | epot = -11.7499128467596 | etot = -5.62847192858498 -560000 ekin = 2.97145203616973 | erot = 3.10758181987614 | epot = -11.7075057840726 | etot = -5.62847192802673 -561000 ekin = 2.94451934096015 | erot = 3.12267269756051 | epot = -11.695663966089 | etot = -5.62847192756838 -562000 ekin = 2.92714140951177 | erot = 3.16633554925042 | epot = -11.7219488860146 | etot = -5.62847192725238 -563000 ekin = 2.92206147619018 | erot = 3.24077054357084 | epot = -11.7913039469645 | etot = -5.62847192720349 -564000 ekin = 2.93031627647214 | erot = 3.34563410959066 | epot = -11.904422313567 | etot = -5.62847192750415 -565000 ekin = 2.95068712283333 | erot = 3.47751232966821 | epot = -12.0566713806597 | etot = -5.62847192815818 -566000 ekin = 2.97962685511686 | erot = 3.62985521360919 | epot = -12.2379539978553 | etot = -5.62847192912925 -567000 ekin = 3.01171593565445 | erot = 3.79324477343165 | epot = -12.4334326394058 | etot = -5.62847193031967 -568000 ekin = 3.0405447743718 | erot = 3.95610049179515 | epot = -12.6251171977589 | etot = -5.62847193159194 -569000 ekin = 3.05981811069109 | erot = 4.10576505741751 | epot = -12.7940551008957 | etot = -5.62847193278708 -570000 ekin = 3.06446758287987 | erot = 4.22987220717996 | epot = -12.9228117238052 | etot = -5.62847193374534 -571000 ekin = 3.05159191031777 | erot = 4.31782950115015 | epot = -12.9978933457979 | etot = -5.62847193433 -572000 ekin = 3.02108996830544 | erot = 4.36217384049608 | epot = -13.0117357432537 | etot = -5.62847193445217 -573000 ekin = 2.97589592637986 | erot = 4.35953364453791 | epot = -12.9639015050083 | etot = -5.6284719340905 -574000 ekin = 2.92177260939836 | erot = 4.31098813653063 | epot = -12.8612326792314 | etot = -5.6284719333024 -575000 ekin = 2.86675845138713 | erot = 4.22206447607902 | epot = -12.717294857508 | etot = -5.62847193004183 -576000 ekin = 2.8223869503789 | erot = 4.11002108703159 | epot = -12.5608799669315 | etot = -5.62847192952098 -577000 ekin = 2.79586021282698 | erot = 3.98405314235611 | epot = -12.4083852842739 | etot = -5.62847192909081 -578000 ekin = 2.79062678644879 | erot = 3.84816173900883 | epot = -12.2672604543092 | etot = -5.62847192885153 -579000 ekin = 2.80727876762157 | erot = 3.7063076839788 | epot = -12.1420583804356 | etot = -5.62847192883522 -580000 ekin = 2.84308800282857 | erot = 3.56147502222138 | epot = -12.033034954352 | etot = -5.62847192930204 -581000 ekin = 2.89275945168389 | erot = 3.41677708036392 | epot = -11.9380084614241 | etot = -5.62847192937627 -582000 ekin = 2.94948274098648 | erot = 3.27852635628754 | epot = -11.8564810267198 | etot = -5.62847192944578 -583000 ekin = 3.0060031278149 | erot = 3.15339507864773 | epot = -11.7878701358921 | etot = -5.62847192942947 -584000 ekin = 3.05615870303891 | erot = 3.04800743030686 | epot = -11.7326380626508 | etot = -5.62847192930502 -585000 ekin = 3.09596263910058 | erot = 2.96828908150272 | epot = -11.6927236496984 | etot = -5.62847192909508 -586000 ekin = 3.1240729820111 | erot = 2.91878541586934 | epot = -11.6713303267112 | etot = -5.6284719288308 -587000 ekin = 3.14174614222906 | erot = 2.90225430090919 | epot = -11.6724723716795 | etot = -5.62847192854131 -588000 ekin = 3.15240031624116 | erot = 2.91960613640703 | epot = -11.700478380913 | etot = -5.62847192826478 -589000 ekin = 3.16081808258331 | erot = 2.97006448171823 | epot = -11.7593544923455 | etot = -5.62847192804401 -590000 ekin = 3.17204827386564 | erot = 3.05134069925118 | epot = -11.8518609010364 | etot = -5.62847192791959 -591000 ekin = 3.19150299840181 | erot = 3.16015018730255 | epot = -11.9801251137005 | etot = -5.62847192799616 -592000 ekin = 3.22264872303336 | erot = 3.29204057514201 | epot = -12.1431612264965 | etot = -5.62847192832117 -593000 ekin = 3.26585695463724 | erot = 3.44092346936372 | epot = -12.3352523528637 | etot = -5.62847192886271 -594000 ekin = 3.31918005195198 | erot = 3.59965335600014 | epot = -12.5473053375205 | etot = -5.62847192956837 -595000 ekin = 3.37897127081708 | erot = 3.76045843940704 | epot = -12.7679016405175 | etot = -5.62847193029343 -596000 ekin = 3.43824068576764 | erot = 3.91359738324664 | epot = -12.9803100016429 | etot = -5.6284719326286 -597000 ekin = 3.4874487679544 | erot = 4.04782437859589 | epot = -13.1637450798126 | etot = -5.62847193326233 -598000 ekin = 3.52187002166768 | erot = 4.15698580423951 | epot = -13.3073277595236 | etot = -5.62847193361645 -599000 ekin = 3.53831455068313 | erot = 4.23767846708707 | epot = -13.4044649514583 | etot = -5.6284719336881 -600000 ekin = 3.53510970425615 | erot = 4.28920847102017 | epot = -13.4527901087965 | etot = -5.62847193352019 -601000 ekin = 3.51191041812962 | erot = 4.31320178191252 | epot = -13.4535841332244 | etot = -5.62847193318225 -602000 ekin = 3.46937521141073 | erot = 4.3129515273547 | epot = -13.4107986715144 | etot = -5.62847193274896 -603000 ekin = 3.40882221235898 | erot = 4.29270411923729 | epot = -13.3299982638779 | etot = -5.62847193228164 -604000 ekin = 3.33194570976897 | erot = 4.25705245858959 | epot = -13.2174701001796 | etot = -5.62847193182099 -605000 ekin = 3.24062643782743 | erot = 4.21052248032723 | epot = -13.0796208495416 | etot = -5.62847193138697 -606000 ekin = 3.13683319321467 | erot = 4.15735875790752 | epot = -12.9226638821055 | etot = -5.62847193098336 -607000 ekin = 3.02259481106295 | erot = 4.10146703767137 | epot = -12.752533779339 | etot = -5.62847193060464 -608000 ekin = 2.90001652257939 | erot = 4.04645475151246 | epot = -12.5749432043324 | etot = -5.62847193024057 -609000 ekin = 2.77131728806686 | erot = 3.9957146077566 | epot = -12.3955038257043 | etot = -5.62847192988082 -610000 ekin = 2.63886938889611 | erot = 3.95250622986135 | epot = -12.2198475482764 | etot = -5.62847192951889 -611000 ekin = 2.50524882249988 | erot = 3.92003293773325 | epot = -12.0537536890984 | etot = -5.62847192886525 -612000 ekin = 2.37382087281222 | erot = 3.90218869849447 | epot = -11.9044814998431 | etot = -5.62847192853644 -613000 ekin = 2.24769613362685 | erot = 3.9018678874526 | epot = -11.7780359493068 | etot = -5.62847192822737 -614000 ekin = 2.12975142862109 | erot = 3.92103062110346 | epot = -11.6792539777051 | etot = -5.62847192798058 -615000 ekin = 2.02283676462475 | erot = 3.96080056824183 | epot = -11.6121092606972 | etot = -5.62847192783064 -616000 ekin = 1.92967019041608 | erot = 4.02099162179926 | epot = -11.5791337400261 | etot = -5.6284719278108 -617000 ekin = 1.8527379185552 | erot = 4.09974474400672 | epot = -11.5809545905121 | etot = -5.62847192795013 -618000 ekin = 1.79420296287865 | erot = 4.19322703619206 | epot = -11.6159019273328 | etot = -5.62847192826212 -619000 ekin = 1.75583197419788 | erot = 4.29552606644023 | epot = -11.6798299693697 | etot = -5.62847192873157 -620000 ekin = 1.7389587008847 | erot = 4.39891672372568 | epot = -11.7663473539151 | etot = -5.62847192930469 -621000 ekin = 1.74449834705323 | erot = 4.4946225066521 | epot = -11.8675927835954 | etot = -5.6284719298901 -622000 ekin = 1.77300875716063 | erot = 4.57403518093684 | epot = -11.9755158684793 | etot = -5.6284719303818 -623000 ekin = 1.82476626654578 | erot = 4.63011744400213 | epot = -12.0833556412428 | etot = -5.62847193069493 -624000 ekin = 1.89980556084052 | erot = 4.65854151401777 | epot = -12.1868190056567 | etot = -5.62847193079843 -625000 ekin = 1.99788930994803 | erot = 4.65817060172211 | epot = -12.2845318423909 | etot = -5.62847193072074 -626000 ekin = 2.11841938994316 | erot = 4.63077870097587 | epot = -12.3776700214476 | etot = -5.62847193052855 -627000 ekin = 2.26034340485921 | erot = 4.58024268402232 | epot = -12.4690580191734 | etot = -5.62847193029191 -628000 ekin = 2.42211143967629 | erot = 4.51161612058694 | epot = -12.5621994903281 | etot = -5.62847193006486 -629000 ekin = 2.60047669396776 | erot = 4.43316974513653 | epot = -12.6621183685087 | etot = -5.62847192940437 -630000 ekin = 2.75035748986435 | erot = 4.31003905752691 | epot = -12.6888685130984 | etot = -5.62847196570711 -631000 ekin = 2.81471524126653 | erot = 4.11774535993883 | epot = -12.560932536969 | etot = -5.62847193576361 -632000 ekin = 2.95867552202343 | erot = 4.07926707210706 | epot = -12.6664145270012 | etot = -5.62847193287073 -633000 ekin = 3.21010693580782 | erot = 4.20581326824112 | epot = -13.0443921661263 | etot = -5.62847196207735 -634000 ekin = 3.41641131485967 | erot = 4.25928215932152 | epot = -13.3041654105523 | etot = -5.62847193637112 -635000 ekin = 3.57385274064017 | erot = 4.24018711604243 | epot = -13.4425117938242 | etot = -5.62847193714155 -636000 ekin = 3.71894531184374 | erot = 4.21896102707095 | epot = -13.5663782768924 | etot = -5.62847193797771 -637000 ekin = 3.84555962843745 | erot = 4.19009538997421 | epot = -13.664126957085 | etot = -5.62847193867337 -638000 ekin = 3.94874232724131 | erot = 4.14881281932144 | epot = -13.7260270856049 | etot = -5.62847193904211 -639000 ekin = 4.02564653205978 | erot = 4.09271382126824 | epot = -13.7468322923361 | etot = -5.62847193900805 -640000 ekin = 4.07582551376673 | erot = 4.02260436126851 | epot = -13.7269018136558 | etot = -5.62847193862055 -641000 ekin = 4.10019063777134 | erot = 3.94203419575025 | epot = -13.6706967719888 | etot = -5.62847193846719 -642000 ekin = 4.09923586008661 | erot = 3.85569636519573 | epot = -13.5834041631703 | etot = -5.62847193788798 -643000 ekin = 4.07616079994664 | erot = 3.76850329642401 | epot = -13.4731360337343 | etot = -5.62847193736366 -644000 ekin = 4.03483546321403 | erot = 3.68428538420007 | epot = -13.3475927843633 | etot = -5.6284719369492 -645000 ekin = 3.97939693549996 | erot = 3.60521279253874 | epot = -13.2130816646665 | etot = -5.62847193662782 -646000 ekin = 3.91424157408672 | erot = 3.5319774652156 | epot = -13.0746909756475 | etot = -5.6284719363452 -647000 ekin = 3.84412108368419 | erot = 3.46430751179901 | epot = -12.9369005316694 | etot = -5.62847193618623 -648000 ekin = 3.77442093462977 | erot = 3.40030625102239 | epot = -12.8031991215208 | etot = -5.6284719358686 -649000 ekin = 3.71064844414069 | erot = 3.33902116862802 | epot = -12.6781415483154 | etot = -5.62847193554669 -650000 ekin = 3.65777288971661 | erot = 3.28036981761337 | epot = -12.5666146426042 | etot = -5.6284719352742 -651000 ekin = 3.61962254759293 | erot = 3.22458240433025 | epot = -12.4726768870207 | etot = -5.62847193509757 -652000 ekin = 3.5983886698485 | erot = 3.17201593040843 | epot = -12.3988765352917 | etot = -5.62847193503482 -653000 ekin = 3.59447660059994 | erot = 3.12302902483937 | epot = -12.3459775605093 | etot = -5.62847193506997 -654000 ekin = 3.60674141918748 | erot = 3.07797678365425 | epot = -12.3131901380042 | etot = -5.62847193516246 -655000 ekin = 3.63298841308731 | erot = 3.03728497072474 | epot = -12.2987453190854 | etot = -5.62847193527339 -656000 ekin = 3.67052655523893 | erot = 3.00147990292547 | epot = -12.3004783935545 | etot = -5.62847193539005 -657000 ekin = 3.71734630697157 | erot = 2.97084073545016 | epot = -12.3166589778187 | etot = -5.62847193539701 -658000 ekin = 3.75778663153076 | erot = 2.94872940840489 | epot = -12.3349879987274 | etot = -5.62847195879179 -659000 ekin = 3.70128994146784 | erot = 2.99267200647991 | epot = -12.3224338836791 | etot = -5.62847193573132 -660000 ekin = 3.77980484663485 | erot = 3.0508167858632 | epot = -12.4590935965774 | etot = -5.62847196407936 -661000 ekin = 3.87674047114964 | erot = 3.02043722440496 | epot = -12.5256496409205 | etot = -5.62847194536593 -662000 ekin = 3.96189665296545 | erot = 2.97294510656965 | epot = -12.5633137058439 | etot = -5.62847194630885 -663000 ekin = 4.03233992108651 | erot = 2.90724728968627 | epot = -12.5680591571061 | etot = -5.6284719463333 -664000 ekin = 4.08703350774854 | erot = 2.82371074133269 | epot = -12.5392161948955 | etot = -5.62847194581425 -665000 ekin = 4.13016908270567 | erot = 2.72591755776349 | epot = -12.4845585855259 | etot = -5.62847194505672 -666000 ekin = 4.16485763690331 | erot = 2.62158318077271 | epot = -12.4149127617545 | etot = -5.62847194407844 -667000 ekin = 4.19388444231057 | erot = 2.52048046570678 | epot = -12.3428368513375 | etot = -5.62847194332015 -668000 ekin = 4.21970111362512 | erot = 2.4311756655168 | epot = -12.2793487219105 | etot = -5.6284719427686 -669000 ekin = 4.24419480060344 | erot = 2.35970998766334 | epot = -12.2323767306761 | etot = -5.62847194240935 -670000 ekin = 4.26650932837758 | erot = 2.31009212990318 | epot = -12.2050734005613 | etot = -5.62847194228056 -671000 ekin = 4.28028750577367 | erot = 2.2839406896226 | epot = -12.1927001376243 | etot = -5.62847194222801 -672000 ekin = 4.286049538111 | erot = 2.28087700956881 | epot = -12.1953984898719 | etot = -5.62847194219211 -673000 ekin = 4.28538320977093 | erot = 2.29981058125325 | epot = -12.2136657331723 | etot = -5.62847194214809 -674000 ekin = 4.28032637881323 | erot = 2.33931520005416 | epot = -12.2481135209748 | etot = -5.62847194210737 -675000 ekin = 4.27310613137932 | erot = 2.39770546345542 | epot = -12.2992835369528 | etot = -5.62847194211806 -676000 ekin = 4.26563141837423 | erot = 2.47283047867151 | epot = -12.3669338393238 | etot = -5.62847194227809 -677000 ekin = 4.25873601017197 | erot = 2.56159475147911 | epot = -12.4488027042873 | etot = -5.62847194263624 -678000 ekin = 4.25154383400404 | erot = 2.65951246674531 | epot = -12.5395282439923 | etot = -5.62847194324292 -679000 ekin = 4.24120573455929 | erot = 2.76057514763493 | epot = -12.6302528262372 | etot = -5.628471944043 -680000 ekin = 4.2232005117233 | erot = 2.8577068911792 | epot = -12.7093793477757 | etot = -5.62847194487315 -681000 ekin = 4.19242845444176 | erot = 2.94400272561177 | epot = -12.7649031255562 | etot = -5.62847194550269 -682000 ekin = 4.14477706331028 | erot = 3.01435956402087 | epot = -12.7876085730806 | etot = -5.62847194574946 -683000 ekin = 4.07850194573498 | erot = 3.0666968932365 | epot = -12.7736707845359 | etot = -5.6284719455644 -684000 ekin = 3.98766788576626 | erot = 3.0906277067226 | epot = -12.7067675428786 | etot = -5.62847195038972 -685000 ekin = 3.87609976025144 | erot = 3.0721311887794 | epot = -12.5767028927108 | etot = -5.62847194367995 -686000 ekin = 3.78865422783082 | erot = 3.05379982550292 | epot = -12.4709259956873 | etot = -5.62847194235354 -687000 ekin = 3.72885638113158 | erot = 3.05128310415992 | epot = -12.408611432526 | etot = -5.62847194723451 -688000 ekin = 3.65488085456385 | erot = 3.04382149782401 | epot = -12.3271742987313 | etot = -5.62847194634345 -689000 ekin = 3.57606770138192 | erot = 3.03834252514909 | epot = -12.2428821721681 | etot = -5.62847194563711 -690000 ekin = 3.51634425554767 | erot = 3.04775260803385 | epot = -12.1925688087058 | etot = -5.6284719451243 -691000 ekin = 3.47971445739509 | erot = 3.07622358483667 | epot = -12.1844099871023 | etot = -5.62847194487056 -692000 ekin = 3.46765181254146 | erot = 3.12642449719425 | epot = -12.2225482546729 | etot = -5.62847194493722 -693000 ekin = 3.47854301550202 | erot = 3.19918358098304 | epot = -12.3061985418229 | etot = -5.62847194533786 -694000 ekin = 3.50760869796604 | erot = 3.2934044104258 | epot = -12.4294850544069 | etot = -5.62847194601503 -695000 ekin = 3.54747029158324 | erot = 3.40637947899577 | epot = -12.5823217174297 | etot = -5.6284719468507 -696000 ekin = 3.58927155158232 | erot = 3.53441505478202 | epot = -12.7521585540714 | etot = -5.62847194770705 -697000 ekin = 3.62399868515567 | erot = 3.67347767287419 | epot = -12.9259483064922 | etot = -5.62847194846231 -698000 ekin = 3.64429609748856 | erot = 3.81929275579794 | epot = -13.0920608023944 | etot = -5.62847194910787 -699000 ekin = 3.64411727644142 | erot = 3.96826912274322 | epot = -13.2408583487081 | etot = -5.62847194952344 -700000 ekin = 3.61972386471004 | erot = 4.11779628901722 | epot = -13.3659921034179 | etot = -5.62847194969066 -701000 ekin = 3.57045543126867 | erot = 4.26605645111758 | epot = -13.4649838321254 | etot = -5.62847194973912 -702000 ekin = 3.49917622945371 | erot = 4.41037029489176 | epot = -13.5380184739597 | etot = -5.62847194961422 -703000 ekin = 3.41079978145369 | erot = 4.54773448473206 | epot = -13.5870062155679 | etot = -5.62847194938218 -704000 ekin = 3.31149657249576 | erot = 4.67560464085735 | epot = -13.6155731624397 | etot = -5.62847194908665 -705000 ekin = 3.2080790304337 | erot = 4.79162132887101 | epot = -13.6281723080898 | etot = -5.62847194878512 -706000 ekin = 3.10702043894422 | erot = 4.89365607505418 | epot = -13.629148462546 | etot = -5.62847194854759 -707000 ekin = 3.01353531409874 | erot = 4.97967086421267 | epot = -13.6216781267545 | etot = -5.62847194844312 -708000 ekin = 2.93091332946626 | erot = 5.04739802063624 | epot = -13.6067832986217 | etot = -5.62847194851923 -709000 ekin = 2.86026033876341 | erot = 5.09399325402639 | epot = -13.5827255415665 | etot = -5.62847194877667 -710000 ekin = 2.80069789539212 | erot = 5.11589857306006 | epot = -13.5450684176139 | etot = -5.62847194916176 -711000 ekin = 2.74994326406642 | erot = 5.10911210243646 | epot = -13.4875273160742 | etot = -5.62847194957137 -712000 ekin = 2.70509857027021 | erot = 5.06990681770748 | epot = -13.4034773378593 | etot = -5.62847194988164 -713000 ekin = 2.66343594243819 | erot = 4.99582282608673 | epot = -13.2877307185112 | etot = -5.62847194998628 -714000 ekin = 2.62297982870224 | erot = 4.88658411853972 | epot = -13.1380358970775 | etot = -5.62847194983555 -715000 ekin = 2.58275404764254 | erot = 4.74456650550822 | epot = -12.9557925026026 | etot = -5.6284719494518 -716000 ekin = 2.54267933985284 | erot = 4.57461726508771 | epot = -12.7457685538544 | etot = -5.62847194891384 -717000 ekin = 2.50334692022862 | erot = 4.38348005498769 | epot = -12.5152989232176 | etot = -5.6284719480013 -718000 ekin = 2.46867182055041 | erot = 4.1828061934235 | epot = -12.2799499617185 | etot = -5.62847194774463 -719000 ekin = 2.44027484666831 | erot = 3.97913844322971 | epot = -12.0478852373921 | etot = -5.62847194749405 -720000 ekin = 2.41790751034177 | erot = 3.77617089343529 | epot = -11.8225503510303 | etot = -5.62847194725326 -721000 ekin = 2.40130900325092 | erot = 3.57751641410833 | epot = -11.6072973643847 | etot = -5.62847194702549 -722000 ekin = 2.39001969443857 | erot = 3.38620933378187 | epot = -11.404700975239 | etot = -5.62847194701852 -723000 ekin = 2.38288808218479 | erot = 3.20447847633104 | epot = -11.215838505237 | etot = -5.62847194672118 -724000 ekin = 2.38038137258082 | erot = 3.03585463115629 | epot = -11.0447079501875 | etot = -5.62847194645035 -725000 ekin = 2.38334904384078 | erot = 2.88343528894459 | epot = -10.8952562789953 | etot = -5.62847194620992 -726000 ekin = 2.3927798881752 | erot = 2.74974572539751 | epot = -10.7709975595779 | etot = -5.62847194600517 -727000 ekin = 2.40968215741221 | erot = 2.63676770312337 | epot = -10.6749218063778 | etot = -5.62847194584219 -728000 ekin = 2.42515137987946 | erot = 2.54412147902473 | epot = -10.597744818259 | etot = -5.6284719593548 -729000 ekin = 2.40297855337031 | erot = 2.51475999965194 | epot = -10.5462104924533 | etot = -5.62847193943108 -730000 ekin = 2.46310039286674 | erot = 2.540888382744 | epot = -10.6324607145899 | etot = -5.62847193897912 -731000 ekin = 2.53308642098023 | erot = 2.54954386950276 | epot = -10.711102229553 | etot = -5.62847193907001 -732000 ekin = 2.61398262095739 | erot = 2.5802487460936 | epot = -10.8227033063293 | etot = -5.62847193927826 -733000 ekin = 2.70404858449563 | erot = 2.63167940205859 | epot = -10.9641999262015 | etot = -5.62847193964733 -734000 ekin = 2.80051950070181 | erot = 2.70132929850524 | epot = -11.1303207394307 | etot = -5.62847194022367 -735000 ekin = 2.89941283720295 | erot = 2.78510796773607 | epot = -11.3129927459757 | etot = -5.62847194103669 -736000 ekin = 2.99560133060437 | erot = 2.87741009026776 | epot = -11.5014833619701 | etot = -5.62847194109798 -737000 ekin = 3.08481605483226 | erot = 2.9752448937055 | epot = -11.6885328905221 | etot = -5.62847194198435 -738000 ekin = 3.16217862814496 | erot = 3.07317374879029 | epot = -11.8638243197375 | etot = -5.62847194280226 -739000 ekin = 3.22336037210457 | erot = 3.16493875129292 | epot = -12.0167710667472 | etot = -5.62847194334973 -740000 ekin = 3.26585131612671 | erot = 3.2452213963337 | epot = -12.1395446568933 | etot = -5.62847194443293 -741000 ekin = 3.28375382494221 | erot = 3.29991441181407 | epot = -12.212140181187 | etot = -5.62847194443076 -742000 ekin = 3.27631313134865 | erot = 3.32408611699032 | epot = -12.2288711922813 | etot = -5.62847194394237 -743000 ekin = 3.24737724788096 | erot = 3.32046927259928 | epot = -12.1963184636816 | etot = -5.6284719432014 -744000 ekin = 3.20210603596794 | erot = 3.29401551174191 | epot = -12.1245934901295 | etot = -5.62847194241966 -745000 ekin = 3.14567705880421 | erot = 3.25033566996093 | epot = -12.0244846704798 | etot = -5.62847194171465 -746000 ekin = 3.08279906264057 | erot = 3.19521988680648 | epot = -11.9064908903141 | etot = -5.62847194086707 -747000 ekin = 3.01768881726563 | erot = 3.13473855306841 | epot = -11.7808993107186 | etot = -5.62847194038452 -748000 ekin = 2.95302867419745 | erot = 3.07321432138934 | epot = -11.6547149355341 | etot = -5.62847193994729 -749000 ekin = 2.89104396122167 | erot = 3.01469856693791 | epot = -11.5342144676923 | etot = -5.6284719395327 -750000 ekin = 2.83379417408033 | erot = 2.96315742645669 | epot = -11.4254235396726 | etot = -5.62847193913556 -751000 ekin = 2.78329891260719 | erot = 2.92241777446644 | epot = -11.3341886258388 | etot = -5.62847193876517 -752000 ekin = 2.74156846297845 | erot = 2.89600799316408 | epot = -11.2660483945816 | etot = -5.62847193843909 -753000 ekin = 2.71056677611893 | erot = 2.8869375344884 | epot = -11.2259762487886 | etot = -5.62847193818127 -754000 ekin = 2.69212502636381 | erot = 2.89743125955444 | epot = -11.2180282239416 | etot = -5.62847193802339 -755000 ekin = 2.68776538341817 | erot = 2.92849871098632 | epot = -11.2447360324805 | etot = -5.62847193807603 -756000 ekin = 2.69845743016129 | erot = 2.97938409373429 | epot = -11.3063134621321 | etot = -5.62847193823654 -757000 ekin = 2.72458496399214 | erot = 3.04788425636374 | epot = -11.4009411589946 | etot = -5.62847193863874 -758000 ekin = 2.76540921269775 | erot = 3.12962823295245 | epot = -11.5235093849696 | etot = -5.62847193931939 -759000 ekin = 2.81868342054339 | erot = 3.21794575406346 | epot = -11.6651011148695 | etot = -5.62847194026269 -760000 ekin = 2.88053746471945 | erot = 3.30429272409835 | epot = -11.8133021301665 | etot = -5.62847194134869 -761000 ekin = 2.94600007669967 | erot = 3.37947250557982 | epot = -11.9539445246072 | etot = -5.62847194232772 -762000 ekin = 3.0103728108363 | erot = 3.43568700379387 | epot = -12.0745317575224 | etot = -5.62847194289219 -763000 ekin = 3.07103775537587 | erot = 3.46881600078167 | epot = -12.1683256990032 | etot = -5.62847194284569 -764000 ekin = 3.12866395084712 | erot = 3.47975039697106 | epot = -12.2368862900568 | etot = -5.62847194223863 -765000 ekin = 3.18696433138653 | erot = 3.47390232159169 | epot = -12.2893385943131 | etot = -5.62847194133492 -766000 ekin = 3.25112146468525 | erot = 3.45917589069875 | epot = -12.3387692958358 | etot = -5.62847194045182 -767000 ekin = 3.32577328220466 | erot = 3.44357056015004 | epot = -12.3978157821775 | etot = -5.62847193982283 -768000 ekin = 3.41341833396391 | erot = 3.4334263493615 | epot = -12.4753166228815 | etot = -5.62847193955611 -769000 ekin = 3.51361597959336 | erot = 3.4325883769163 | epot = -12.5746762961707 | etot = -5.62847193966108 -770000 ekin = 3.62296220613534 | erot = 3.44225950920416 | epot = -12.6936936554243 | etot = -5.62847194008485 -771000 ekin = 3.67754209930849 | erot = 3.42051682729324 | epot = -12.726530894413 | etot = -5.62847196781123 -772000 ekin = 3.59351734139873 | erot = 3.35849685484742 | epot = -12.5804861297902 | etot = -5.62847193354401 -773000 ekin = 3.58504863458809 | erot = 3.48413941856385 | epot = -12.697659986425 | etot = -5.62847193327303 -774000 ekin = 3.69556246641496 | erot = 3.75600381486114 | epot = -13.080038250078 | etot = -5.62847196880192 -775000 ekin = 3.75799646991679 | erot = 3.873956410094 | epot = -13.2604248525586 | etot = -5.62847197254785 -776000 ekin = 3.76514931008122 | erot = 3.89275295614278 | epot = -13.2863742389445 | etot = -5.62847197272045 -777000 ekin = 3.74852837933054 | erot = 3.88975944407747 | epot = -13.2667597957584 | etot = -5.62847197235036 -778000 ekin = 3.71300754015998 | erot = 3.86527182207406 | epot = -13.2067513338695 | etot = -5.62847197163544 -779000 ekin = 3.66665793069796 | erot = 3.82295167580669 | epot = -13.1180815770381 | etot = -5.62847197053349 -780000 ekin = 3.61972773138243 | erot = 3.76957330528294 | epot = -13.0177730059552 | etot = -5.62847196928983 -781000 ekin = 3.5827624251825 | erot = 3.71368279717706 | epot = -12.9249171905627 | etot = -5.62847196820313 -782000 ekin = 3.56434384280159 | erot = 3.66344621657883 | epot = -12.8562620268944 | etot = -5.62847196751401 -783000 ekin = 3.56907083370159 | erot = 3.62459601403967 | epot = -12.8221388151988 | etot = -5.62847196745757 -784000 ekin = 3.59655578166301 | erot = 3.59908724292537 | epot = -12.8241149924018 | etot = -5.62847196781346 -785000 ekin = 3.64263842869095 | erot = 3.58559579705149 | epot = -12.856706194237 | etot = -5.62847196849456 -786000 ekin = 3.70061363552459 | erot = 3.58032714317056 | epot = -12.9094127479833 | etot = -5.6284719692882 -787000 ekin = 3.76290289511577 | erot = 3.57827846514429 | epot = -12.9696533303101 | etot = -5.62847197005003 -788000 ekin = 3.82230691224393 | erot = 3.57432079357667 | epot = -13.0250996764978 | etot = -5.62847197067724 -789000 ekin = 3.87288355980582 | erot = 3.5640275053608 | epot = -13.0653830362756 | etot = -5.62847197110898 -790000 ekin = 3.91054381090259 | erot = 3.54422213355097 | epot = -13.0832379157242 | etot = -5.62847197127067 -791000 ekin = 3.93344679963981 | erot = 3.513339825829 | epot = -13.0752585966554 | etot = -5.62847197118663 -792000 ekin = 3.94193166957115 | erot = 3.47142235482322 | epot = -13.041825995302 | etot = -5.62847197090762 -793000 ekin = 3.93805337440561 | erot = 3.41982689850894 | epot = -12.9863522434218 | etot = -5.62847197050723 -794000 ekin = 3.92496167477878 | erot = 3.360819734858 | epot = -12.9142533796931 | etot = -5.62847197005634 -795000 ekin = 3.90631843175017 | erot = 3.29713731842303 | epot = -12.8319277197836 | etot = -5.62847196961038 -796000 ekin = 3.8858792006581 | erot = 3.23158100820237 | epot = -12.7459321780665 | etot = -5.62847196920608 -797000 ekin = 3.86724402797514 | erot = 3.16668037667839 | epot = -12.6623963735179 | etot = -5.62847196886439 -798000 ekin = 3.85371944428472 | erot = 3.10446220748905 | epot = -12.5866536203663 | etot = -5.62847196859256 -799000 ekin = 3.84821326100227 | erot = 3.04637406900957 | epot = -12.5230592984002 | etot = -5.62847196838834 -800000 ekin = 3.85308746091494 | erot = 2.99338091162984 | epot = -12.4749403407895 | etot = -5.62847196824468 -801000 ekin = 3.86994742093311 | erot = 2.94620265096875 | epot = -12.4446220400576 | etot = -5.62847196815571 -802000 ekin = 3.89938743532043 | erot = 2.90559564258017 | epot = -12.4334550460216 | etot = -5.62847196812102 -803000 ekin = 3.94077451962402 | erot = 2.87255363202934 | epot = -12.441800119797 | etot = -5.62847196814361 -804000 ekin = 3.99217445526748 | erot = 2.84833794194511 | epot = -12.468984365439 | etot = -5.62847196822644 -805000 ekin = 4.05048829014821 | erot = 2.83432176495251 | epot = -12.5132820234689 | etot = -5.62847196836816 -806000 ekin = 4.11178329744327 | erot = 2.83170980380164 | epot = -12.5719650698088 | etot = -5.62847196856388 -807000 ekin = 4.17172086389146 | erot = 2.84122318486818 | epot = -12.6414160175669 | etot = -5.62847196880729 -808000 ekin = 4.22595471218244 | erot = 2.86283161315583 | epot = -12.7172582944323 | etot = -5.62847196909407 -809000 ekin = 4.27041103463199 | erot = 2.89559061447317 | epot = -12.7944736185239 | etot = -5.62847196941877 -810000 ekin = 4.30143579161472 | erot = 2.93761851724059 | epot = -12.867526278626 | etot = -5.62847196977065 -811000 ekin = 4.3158591249341 | erot = 2.98622782440343 | epot = -12.9305589194658 | etot = -5.62847197012825 -812000 ekin = 4.31104963132775 | erot = 3.03819974796596 | epot = -12.9777213497531 | etot = -5.62847197045938 -813000 ekin = 4.28501152851198 | erot = 3.09015837137455 | epot = -13.0036418706117 | etot = -5.62847197072517 -814000 ekin = 4.23653530241262 | erot = 3.13897206786273 | epot = -13.0039793411637 | etot = -5.6284719708883 -815000 ekin = 4.16537042744585 | erot = 3.18209773892999 | epot = -12.9759401372993 | etot = -5.62847197092346 -816000 ekin = 4.07236517437489 | erot = 3.21779646457061 | epot = -12.9186336097681 | etot = -5.62847197082257 -817000 ekin = 3.95951977387102 | erot = 3.24518380299012 | epot = -12.833175547459 | etot = -5.62847197059791 -818000 ekin = 3.82991762625571 | erot = 3.26412066899673 | epot = -12.7225102655335 | etot = -5.62847197028107 -819000 ekin = 3.68753356640539 | erot = 3.2749890292221 | epot = -12.5909945655321 | etot = -5.62847196990462 -820000 ekin = 3.53699106710322 | erot = 3.27842149097166 | epot = -12.4438845275865 | etot = -5.62847196951165 -821000 ekin = 3.38323613781718 | erot = 3.27505502165856 | epot = -12.2867631286099 | etot = -5.62847196913417 -822000 ekin = 3.23123737368411 | erot = 3.26537695348515 | epot = -12.1250862959605 | etot = -5.62847196879128 -823000 ekin = 3.08574116225304 | erot = 3.24970236655088 | epot = -11.9639154972909 | etot = -5.62847196848693 -824000 ekin = 2.9510991981331 | erot = 3.22828590254736 | epot = -11.8078570688933 | etot = -5.62847196821286 -825000 ekin = 2.83117167279191 | erot = 3.20152981062071 | epot = -11.6611734513667 | etot = -5.62847196795409 -826000 ekin = 2.72929448938322 | erot = 3.170212329904 | epot = -11.527978786985 | etot = -5.62847196769779 -827000 ekin = 2.64828540333971 | erot = 3.13564460905767 | epot = -11.4124019798381 | etot = -5.62847196744072 -828000 ekin = 2.59045268753837 | erot = 3.09968027827888 | epot = -11.3186049330108 | etot = -5.62847196719354 -829000 ekin = 2.5575674899745 | erot = 3.06454891988821 | epot = -11.2505883768447 | etot = -5.62847196698198 -830000 ekin = 2.55077388401548 | erot = 3.03254604807767 | epot = -11.2117918989325 | etot = -5.6284719668394 -831000 ekin = 2.57043726066164 | erot = 3.00566097392708 | epot = -11.2045702013875 | etot = -5.62847196679876 -832000 ekin = 2.61596871115982 | erot = 2.98524787868899 | epot = -11.2296885567312 | etot = -5.62847196688238 -833000 ekin = 2.68568117843713 | erot = 2.97182255605824 | epot = -11.2859757015904 | etot = -5.62847196709497 -834000 ekin = 2.77673678117253 | erot = 2.96502424236813 | epot = -11.370232990964 | etot = -5.62847196742337 -835000 ekin = 2.885220643029 | erot = 2.96372965115359 | epot = -11.4774222620224 | etot = -5.62847196783982 -836000 ekin = 3.00633984593918 | erot = 2.96626860460898 | epot = -11.6010804188574 | etot = -5.62847196830924 -837000 ekin = 3.13471078930649 | erot = 2.97067133176137 | epot = -11.7338540898654 | etot = -5.62847196879752 -838000 ekin = 3.26467977039692 | erot = 2.97489019017183 | epot = -11.868041929845 | etot = -5.62847196927627 -839000 ekin = 3.39062362172885 | erot = 2.97696578821289 | epot = -11.9960613796666 | etot = -5.62847196972483 -840000 ekin = 3.50719614226998 | erot = 2.9751377340059 | epot = -12.1108058464052 | etot = -5.6284719701293 -841000 ekin = 3.60951430438935 | erot = 2.96792302585542 | epot = -12.2059093007227 | etot = -5.62847197047788 -842000 ekin = 3.69330308375243 | erot = 2.95419217424765 | epot = -12.2759672287577 | etot = -5.62847197075763 -843000 ekin = 3.75502928062943 | erot = 2.93326272933342 | epot = -12.3167639809143 | etot = -5.62847197095144 -844000 ekin = 3.79205095751741 | erot = 2.905010032425 | epot = -12.3255329609822 | etot = -5.62847197103983 -845000 ekin = 3.8027882697654 | erot = 2.86997708288216 | epot = -12.3012373236517 | etot = -5.62847197100412 -846000 ekin = 3.78689078356818 | erot = 2.82944607124618 | epot = -12.2448088256482 | etot = -5.62847197083381 -847000 ekin = 3.7453492374313 | erot = 2.78543387885269 | epot = -12.1592550868164 | etot = -5.62847197053239 -848000 ekin = 3.68048960895024 | erot = 2.74058491120546 | epot = -12.0495464902778 | etot = -5.62847197012212 -849000 ekin = 3.59580402257809 | erot = 2.69795473374334 | epot = -11.9222307259669 | etot = -5.62847196964545 -850000 ekin = 3.49561210988706 | erot = 2.6606982620177 | epot = -11.7847823410607 | etot = -5.62847196915597 -851000 ekin = 3.38460421144088 | erot = 2.63169878902263 | epot = -11.6447749691747 | etot = -5.62847196871119 -852000 ekin = 3.26735834597144 | erot = 2.61319105400609 | epot = -11.5090213683379 | etot = -5.62847196836037 -853000 ekin = 3.14792970794091 | erot = 2.60644045891664 | epot = -11.3828421349899 | etot = -5.62847196813238 -854000 ekin = 3.02961721450397 | erot = 2.61155167654438 | epot = -11.2696408590751 | etot = -5.62847196802677 -855000 ekin = 2.91497870603335 | erot = 2.62749311856603 | epot = -11.1709437926219 | etot = -5.62847196802253 -856000 ekin = 2.80592683601258 | erot = 2.65229723485518 | epot = -11.0866960389482 | etot = -5.62847196808045 -857000 ekin = 2.70394323064281 | erot = 2.68342637105178 | epot = -11.0158415698526 | etot = -5.62847196815805 -858000 ekin = 2.6102808497471 | erot = 2.71820874437837 | epot = -10.9569615623474 | etot = -5.62847196822195 -859000 ekin = 2.52608469636932 | erot = 2.75423459858654 | epot = -10.9087912632103 | etot = -5.62847196825448 -860000 ekin = 2.45241725286413 | erot = 2.78962480120777 | epot = -10.8705140223255 | etot = -5.62847196825358 -861000 ekin = 2.39021948270796 | erot = 2.8231315035024 | epot = -10.8418229544392 | etot = -5.62847196822881 -862000 ekin = 2.34025129495234 | erot = 2.85407946396319 | epot = -10.8228027271118 | etot = -5.62847196819627 -863000 ekin = 2.30304188782341 | erot = 2.88219277654192 | epot = -10.8137066325389 | etot = -5.62847196817353 -864000 ekin = 2.27886006016584 | erot = 2.90737073895635 | epot = -10.8147027672985 | etot = -5.6284719681763 -865000 ekin = 2.26770197186021 | erot = 2.9294767749707 | epot = -10.8256507150445 | etot = -5.62847196821362 -866000 ekin = 2.26929189238761 | erot = 2.94819404266293 | epot = -10.8459579033382 | etot = -5.6284719682877 -867000 ekin = 2.28309242165747 | erot = 2.9629808932943 | epot = -10.8745452833439 | etot = -5.62847196839215 -868000 ekin = 2.30832281649049 | erot = 2.97313399109876 | epot = -10.9099287761031 | etot = -5.62847196851388 -869000 ekin = 2.34398135102351 | erot = 2.97793980541721 | epot = -10.9503931250775 | etot = -5.62847196863683 -870000 ekin = 2.38886744688628 | erot = 2.97686809818554 | epot = -10.9942075138189 | etot = -5.62847196874705 -871000 ekin = 2.44159861726723 | erot = 2.96974175415068 | epot = -11.0398123402555 | etot = -5.62847196883764 -872000 ekin = 2.5006196151775 | erot = 2.95681803681079 | epot = -11.0859096208989 | etot = -5.62847196891058 -873000 ekin = 2.56420808047572 | erot = 2.93874614045633 | epot = -11.131426189908 | etot = -5.62847196897592 -874000 ekin = 2.63049126930056 | erot = 2.91641905767842 | epot = -11.1753822960225 | etot = -5.62847196904347 -875000 ekin = 2.69749664352447 | erot = 2.89079068995882 | epot = -11.2167593025987 | etot = -5.62847196911544 -876000 ekin = 2.7632574078238 | erot = 2.86275138557266 | epot = -11.2544807625772 | etot = -5.62847196918073 -877000 ekin = 2.82597856972948 | erot = 2.83312911621945 | epot = -11.2875796551638 | etot = -5.62847196921485 -878000 ekin = 2.88426505940501 | erot = 2.80282960039437 | epot = -11.3155666289385 | etot = -5.62847196913916 -879000 ekin = 2.93899285403075 | erot = 2.77402557708719 | epot = -11.341490400032 | etot = -5.62847196891407 -880000 ekin = 2.99074429392039 | erot = 2.74904466360361 | epot = -11.3682609264686 | etot = -5.62847196894464 -881000 ekin = 3.03734868878526 | erot = 2.72816458054467 | epot = -11.3939852381131 | etot = -5.62847196878313 -882000 ekin = 3.07935286228137 | erot = 2.71303253487197 | epot = -11.4208573657697 | etot = -5.62847196861634 -883000 ekin = 3.11756796983936 | erot = 2.70517731822857 | epot = -11.4512172565507 | etot = -5.62847196848273 -884000 ekin = 3.15280252747556 | erot = 2.70569769589384 | epot = -11.4869721917774 | etot = -5.62847196840798 -885000 ekin = 3.1857161310425 | erot = 2.71504911530919 | epot = -11.5292372147568 | etot = -5.6284719684051 -886000 ekin = 3.21676773286079 | erot = 2.73290580052215 | epot = -11.5781455018622 | etot = -5.62847196847926 -887000 ekin = 3.24623562321836 | erot = 2.75806669093292 | epot = -11.6327742827852 | etot = -5.62847196863393 -888000 ekin = 3.27425941908945 | erot = 2.78837179663876 | epot = -11.6911031846009 | etot = -5.62847196887267 -889000 ekin = 3.30086478782363 | erot = 2.82064068483657 | epot = -11.7499774418536 | etot = -5.62847196919337 -890000 ekin = 3.32596924764569 | erot = 2.85071439963934 | epot = -11.8051556168602 | etot = -5.62847196957518 -891000 ekin = 3.34941253130769 | erot = 2.87373382370284 | epot = -11.8516183249749 | etot = -5.62847196996437 -892000 ekin = 3.37107523452355 | erot = 2.88476437059098 | epot = -11.8843115753886 | etot = -5.62847197027407 -893000 ekin = 3.39111184994124 | erot = 2.87974242684367 | epot = -11.8993262471909 | etot = -5.62847197040598 -894000 ekin = 3.41023212803652 | erot = 2.8565082945549 | epot = -11.8952123928825 | etot = -5.62847197029109 -895000 ekin = 3.42987730750782 | erot = 2.81553499448249 | epot = -11.8738842719177 | etot = -5.62847196992743 -896000 ekin = 3.45214148852512 | erot = 2.76001213104415 | epot = -11.8406255889559 | etot = -5.6284719693866 -897000 ekin = 3.47941735485478 | erot = 2.69521466357856 | epot = -11.8031039872188 | etot = -5.6284719687855 -898000 ekin = 3.51352961908184 | erot = 2.62737086720505 | epot = -11.7693724676977 | etot = -5.62847198141077 -899000 ekin = 3.48893911266076 | erot = 2.56291214053403 | epot = -11.680323222652 | etot = -5.62847196945724 -900000 ekin = 3.45535689186671 | erot = 2.55015985141027 | epot = -11.6339887056296 | etot = -5.62847196235264 -901000 ekin = 3.50186288044185 | erot = 2.58894159232131 | epot = -11.719276448543 | etot = -5.62847197577986 -902000 ekin = 3.56610213518761 | erot = 2.58196928593651 | epot = -11.7765433936784 | etot = -5.62847197255431 -903000 ekin = 3.62814875800469 | erot = 2.56232070296314 | epot = -11.8189414338963 | etot = -5.62847197292843 -904000 ekin = 3.69112394778049 | erot = 2.55247638362847 | epot = -11.8720723048244 | etot = -5.62847197341544 -905000 ekin = 3.75091280599787 | erot = 2.54985569625826 | epot = -11.9292404761802 | etot = -5.62847197392409 -906000 ekin = 3.80322506898643 | erot = 2.5519127236511 | epot = -11.9836097669886 | etot = -5.62847197435104 -907000 ekin = 3.84434229252392 | erot = 2.55683360398672 | epot = -12.0296478711203 | etot = -5.62847197460963 -908000 ekin = 3.87190064700258 | erot = 2.56394104631182 | epot = -12.0643136679727 | etot = -5.62847197465829 -909000 ekin = 3.88547927917161 | erot = 2.57365301016132 | epot = -12.0876042638463 | etot = -5.62847197451341 -910000 ekin = 3.88680451543638 | erot = 2.58702435581385 | epot = -12.1023008454879 | etot = -5.62847197423765 -911000 ekin = 3.87951720900323 | erot = 2.60508796153765 | epot = -12.1130771444529 | etot = -5.62847197391203 -912000 ekin = 3.86859234285051 | erot = 2.6282770120564 | epot = -12.1253413285184 | etot = -5.62847197361153 -913000 ekin = 3.85955913842215 | erot = 2.6561223476136 | epot = -12.1441534594285 | etot = -5.62847197339272 -914000 ekin = 3.85765974763148 | erot = 2.68725904601826 | epot = -12.1733907663377 | etot = -5.62847197268799 -915000 ekin = 3.86988559311568 | erot = 2.7215549575076 | epot = -12.2199125234873 | etot = -5.62847197286399 -916000 ekin = 3.89721211337583 | erot = 2.75899199497945 | epot = -12.2846760816252 | etot = -5.62847197326989 -917000 ekin = 3.93597306382139 | erot = 2.79756616351325 | epot = -12.3620112010443 | etot = -5.62847197370963 -918000 ekin = 3.98211349575359 | erot = 2.83523643597917 | epot = -12.4458219058878 | etot = -5.62847197415502 -919000 ekin = 4.0310988413113 | erot = 2.86939982884348 | epot = -12.5289706457395 | etot = -5.62847197558473 -920000 ekin = 4.07575006630221 | erot = 2.8920345905181 | epot = -12.5962566327231 | etot = -5.62847197590279 -921000 ekin = 4.11121319932131 | erot = 2.89963705731785 | epot = -12.6393222332815 | etot = -5.6284719766423 -922000 ekin = 4.12946328880359 | erot = 2.89101491261155 | epot = -12.6489501783288 | etot = -5.62847197691366 -923000 ekin = 4.12574551399895 | erot = 2.86656720034022 | epot = -12.6207846912381 | etot = -5.62847197689889 -924000 ekin = 4.09806255499934 | erot = 2.82817436998195 | epot = -12.5547089016171 | etot = -5.62847197663584 -925000 ekin = 4.04683812907195 | erot = 2.77889166113215 | epot = -12.4542017664276 | etot = -5.62847197622352 -926000 ekin = 3.9741598071628 | erot = 2.72240485625824 | epot = -12.3250366391895 | etot = -5.62847197576843 -927000 ekin = 3.88290109531157 | erot = 2.66247239581552 | epot = -12.1738454664594 | etot = -5.62847197533235 -928000 ekin = 3.77619172587496 | erot = 2.60258197321272 | epot = -12.007245674 | etot = -5.62847197491228 -929000 ekin = 3.65741733995828 | erot = 2.54590496396654 | epot = -11.8317942783889 | etot = -5.62847197446407 -930000 ekin = 3.53056331476223 | erot = 2.49545263583675 | epot = -11.6544879245446 | etot = -5.62847197394562 -931000 ekin = 3.40054526036958 | erot = 2.454292850088 | epot = -11.4833100834926 | etot = -5.62847197303497 -932000 ekin = 3.27351307449314 | erot = 2.42812143003077 | epot = -11.3301064771605 | etot = -5.62847197263661 -933000 ekin = 3.15479412952287 | erot = 2.42017428897891 | epot = -11.2034403907363 | etot = -5.6284719722345 -934000 ekin = 3.04934557327986 | erot = 2.43124949901271 | epot = -11.1090670441748 | etot = -5.6284719718822 -935000 ekin = 2.96178382811955 | erot = 2.46165171647534 | epot = -11.0519075162191 | etot = -5.6284719716242 -936000 ekin = 2.89581269435064 | erot = 2.51113391226312 | epot = -11.0354185780997 | etot = -5.62847197148598 -937000 ekin = 2.85385879521477 | erot = 2.5788978601731 | epot = -11.0612286268601 | etot = -5.62847197147222 -938000 ekin = 2.83694342968555 | erot = 2.66364816084931 | epot = -11.1290635621066 | etot = -5.62847197157179 -939000 ekin = 2.8447669618157 | erot = 2.76369076548276 | epot = -11.2369296990579 | etot = -5.6284719717594 -940000 ekin = 2.87595320398489 | erot = 2.87707537672681 | epot = -11.3815005527126 | etot = -5.62847197200085 -941000 ekin = 2.92838858062242 | erot = 3.00178159504245 | epot = -11.5586421479226 | etot = -5.62847197225776 -942000 ekin = 2.99958691393785 | erot = 3.13593595264418 | epot = -11.763994839077 | etot = -5.62847197249495 -943000 ekin = 3.08701485998667 | erot = 3.27802583837004 | epot = -11.9935126710428 | etot = -5.62847197268611 -944000 ekin = 3.18658687127494 | erot = 3.42629435546356 | epot = -12.2413532006333 | etot = -5.62847197389484 -945000 ekin = 3.29120912096008 | erot = 3.57701253266348 | epot = -12.4966936280386 | etot = -5.62847197441502 -946000 ekin = 3.39621217387283 | erot = 3.72637389250492 | epot = -12.7510580413859 | etot = -5.62847197500814 -947000 ekin = 3.49687303106183 | erot = 3.86977321079429 | epot = -12.9951182175547 | etot = -5.62847197569856 -948000 ekin = 3.5882721126636 | erot = 4.00151346862098 | epot = -13.2182575577724 | etot = -5.62847197648783 -949000 ekin = 3.6653664552767 | erot = 4.11475106154221 | epot = -13.4085894941589 | etot = -5.62847197733996 -950000 ekin = 3.72323942060722 | erot = 4.20180191857631 | epot = -13.5535133173567 | etot = -5.62847197817321 -951000 ekin = 3.75754185748942 | erot = 4.25489778354693 | epot = -13.6409116199026 | etot = -5.62847197886623 -952000 ekin = 3.76507381751897 | erot = 4.26734583724678 | epot = -13.6608916340473 | etot = -5.62847197928153 -953000 ekin = 3.74438822476976 | erot = 4.23487585588452 | epot = -13.6077360599562 | etot = -5.62847197930195 -954000 ekin = 3.69625243059747 | erot = 4.15681815457844 | epot = -13.4815425640462 | etot = -5.62847197887032 -955000 ekin = 3.62380420360442 | erot = 4.03673171811831 | epot = -13.2890078997362 | etot = -5.62847197801344 -956000 ekin = 3.52555336959638 | erot = 3.88073805299061 | epot = -13.0347634022312 | etot = -5.62847197964419 -957000 ekin = 3.39894639330823 | erot = 3.70474137854761 | epot = -12.7321597464425 | etot = -5.62847197458665 -958000 ekin = 3.2778287962513 | erot = 3.53760737359561 | epot = -12.4439081428104 | etot = -5.62847197296348 -959000 ekin = 3.17835028752465 | erot = 3.38602207731699 | epot = -12.192844339659 | etot = -5.62847197481739 -960000 ekin = 3.09019088023733 | erot = 3.23509493662461 | epot = -11.9537577933203 | etot = -5.62847197645838 -961000 ekin = 3.00426259422371 | erot = 3.08248133730568 | epot = -11.7152159070792 | etot = -5.62847197554984 -962000 ekin = 2.92693480018163 | erot = 2.94805481000622 | epot = -11.5034615855242 | etot = -5.62847197533634 -963000 ekin = 2.85972055666779 | erot = 2.83488454642881 | epot = -11.3230770781276 | etot = -5.62847197503098 -964000 ekin = 2.80427359464354 | erot = 2.74583973223602 | epot = -11.1785853017319 | etot = -5.62847197485232 -965000 ekin = 2.76170822000418 | erot = 2.6824982618152 | epot = -11.0726784566179 | etot = -5.62847197479852 -966000 ekin = 2.73254763820421 | erot = 2.64503833024941 | epot = -11.0060579433305 | etot = -5.62847197487692 -967000 ekin = 2.71665521986808 | erot = 2.63218922349628 | epot = -10.9773164184569 | etot = -5.62847197509256 -968000 ekin = 2.71315992305503 | erot = 2.64124364138656 | epot = -10.9828755398736 | etot = -5.628471975432 -969000 ekin = 2.72046614449804 | erot = 2.66825860562603 | epot = -11.0171967259813 | etot = -5.62847197585726 -970000 ekin = 2.73639578787687 | erot = 2.70848274022997 | epot = -11.0733505044214 | etot = -5.62847197631454 -971000 ekin = 2.75849382982785 | erot = 2.75695664055477 | epot = -11.1439224470463 | etot = -5.62847197666365 -972000 ekin = 2.78540546107908 | erot = 2.80984083598288 | epot = -11.2237182739984 | etot = -5.62847197693641 -973000 ekin = 2.81581408705481 | erot = 2.8641270459728 | epot = -11.3084131101486 | etot = -5.62847197712097 -974000 ekin = 2.84847994907229 | erot = 2.91762904123098 | epot = -11.3945809675143 | etot = -5.62847197721108 -975000 ekin = 2.88260770588557 | erot = 2.96920774049662 | epot = -11.4802874235912 | etot = -5.628471977209 -976000 ekin = 2.90702474670332 | erot = 3.01964918873866 | epot = -11.5551459370364 | etot = -5.62847200159446 -977000 ekin = 2.82994037756718 | erot = 3.10467594425335 | epot = -11.5630882996782 | etot = -5.62847197785768 -978000 ekin = 2.82908361957399 | erot = 3.22546638560003 | epot = -11.6830220089 | etot = -5.62847200372599 -979000 ekin = 2.83706100119285 | erot = 3.25481873167595 | epot = -11.7203517229612 | etot = -5.62847199009245 -980000 ekin = 2.83601345146519 | erot = 3.27042511685006 | epot = -11.734910558443 | etot = -5.62847199012775 -981000 ekin = 2.8267946753128 | erot = 3.27908746205001 | epot = -11.734354127532 | etot = -5.62847199016915 -982000 ekin = 2.80889457113572 | erot = 3.28090658484328 | epot = -11.7182731461926 | etot = -5.62847199021359 -983000 ekin = 2.78208898690996 | erot = 3.27578647285559 | epot = -11.6863474500053 | etot = -5.62847199023975 -984000 ekin = 2.74660136941676 | erot = 3.26353952517299 | epot = -11.6386128848025 | etot = -5.62847199021277 -985000 ekin = 2.70333214491802 | erot = 3.24411391112877 | epot = -11.5759180461426 | etot = -5.62847199009581 -986000 ekin = 2.65408912818262 | erot = 3.21786526569146 | epot = -11.5004263837359 | etot = -5.62847198986182 -987000 ekin = 2.57871631806181 | erot = 3.17247278925066 | epot = -11.379661101659 | etot = -5.6284719943465 -988000 ekin = 2.53018926628772 | erot = 3.15315340922985 | epot = -11.3118146774823 | etot = -5.62847200196471 -989000 ekin = 2.49566278276619 | erot = 3.12952117455027 | epot = -11.2536559492687 | etot = -5.62847199195226 -990000 ekin = 2.46227182566735 | erot = 3.09741757842189 | epot = -11.1881613954863 | etot = -5.62847199139711 -991000 ekin = 2.44592299301859 | erot = 3.07158095066895 | epot = -11.145975934822 | etot = -5.62847199113442 -992000 ekin = 2.45174281613824 | erot = 3.05611048522941 | epot = -11.136325292302 | etot = -5.62847199093431 -993000 ekin = 2.48099671727936 | erot = 3.05281518215591 | epot = -11.162283890216 | etot = -5.62847199078072 -994000 ekin = 2.53415670276316 | erot = 3.0635915446707 | epot = -11.2262202381289 | etot = -5.62847199069507 -995000 ekin = 2.61088853346932 | erot = 3.09015398642358 | epot = -11.3295145105799 | etot = -5.628471990687 -996000 ekin = 2.71011819731123 | erot = 3.1337829879375 | epot = -11.4723731760072 | etot = -5.62847199075848 -997000 ekin = 2.83015603322162 | erot = 3.1951526780947 | epot = -11.6537807022256 | etot = -5.62847199090924 -998000 ekin = 2.96878571667283 | erot = 3.27423191452594 | epot = -11.8714896223473 | etot = -5.62847199114848 -999000 ekin = 3.12322522699825 | erot = 3.37022004817017 | epot = -12.121917266671 | etot = -5.62847199150257 -1000000 ekin = 3.28990650587599 | erot = 3.48146010802176 | epot = -12.3998386059123 | etot = -5.6284719920145 - 1000000 0.14621807 -0.83009398 0.055104069 -0.56937076 4.8223734e-05 64000 -Loop time of 19.2323 on 4 procs for 1000000 steps with 16 atoms - -Performance: 44924.345 tau/day, 51995.770 timesteps/s -99.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 | 9.9775 | 11.825 | 13.857 | 45.0 | 61.49 -Bond | 0.34359 | 0.40765 | 0.52939 | 11.3 | 2.12 -Neigh | 0.009519 | 0.0095805 | 0.00962 | 0.0 | 0.05 -Comm | 2.1953 | 2.2903 | 2.3673 | 5.1 | 11.91 -Output | 0.098605 | 0.10311 | 0.11259 | 1.7 | 0.54 -Modify | 0.73813 | 0.826 | 0.91112 | 9.1 | 4.29 -Other | | 3.771 | | | 19.61 - -Nlocal: 4.00000 ave 4 max 4 min -Histogram: 4 0 0 0 0 0 0 0 0 0 -Nghost: 12.0000 ave 12 max 12 min -Histogram: 4 0 0 0 0 0 0 0 0 0 -Neighs: 49.5000 ave 50 max 48 min -Histogram: 1 0 0 0 0 0 0 0 0 3 - -Total # of neighbors = 198 -Ave neighs/atom = 12.375000 -Ave special neighs/atom = 3.7500000 -Neighbor list builds = 1000 -Dangerous builds = 0 - -write_data last_config.${number}.* nocoeff -write_data last_config.2.* nocoeff -System init for write_data ... -Total wall time: 0:00:19 diff --git a/examples/PACKAGES/cgdna/examples/oxRNA2/duplex2/log.2Jul21.duplex2.g++.1 b/examples/PACKAGES/cgdna/examples/oxRNA2/duplex2/log.2Jul21.duplex2.g++.1 new file mode 100644 index 0000000000..f02f81d934 --- /dev/null +++ b/examples/PACKAGES/cgdna/examples/oxRNA2/duplex2/log.2Jul21.duplex2.g++.1 @@ -0,0 +1,1182 @@ +LAMMPS (2 Jul 2021) +variable number equal 2 +variable ofreq equal 1000 +variable efreq equal 1000 +variable T equal 0.1 +variable rhos equal 0.5 + +units lj + +dimension 3 + +newton on + +boundary p p p + +atom_style hybrid bond ellipsoid oxdna +WARNING: Atom style hybrid defines both, per-type and per-atom masses; both must be set, but only per-atom masses will be used (../atom_vec_hybrid.cpp:157) +atom_modify sort 0 1.0 + +# Pair interactions require lists of neighbours to be calculated +neighbor 2.0 bin +neigh_modify every 1 delay 0 check yes + +read_data data.duplex2 +Reading data file ... + orthogonal box = (-20.000000 -20.000000 -20.000000) to (20.000000 20.000000 20.000000) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 16 atoms + reading velocities ... + 16 velocities + scanning bonds ... + 1 = max bonds/atom + 16 ellipsoids + reading bonds ... + 13 bonds +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 + 2 = max # of 1-3 neighbors + 4 = max # of 1-4 neighbors + 6 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.003 seconds + +set atom * mass 3.1575 +Setting atom values ... + 16 settings made for mass + +group all type 1 4 +16 atoms in group all + +# oxRNA2 bond interactions - FENE backbone +bond_style oxrna2/fene +bond_coeff * 2.0 0.25 0.761070781051 +special_bonds lj 0 1 1 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 1 1 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 2 = max # of 1-3 neighbors + 4 = max # of 1-4 neighbors + 6 = max # of special neighbors + special bonds CPU = 0.000 seconds + +# oxRNA2 pair interactions +pair_style hybrid/overlay oxrna2/excv oxrna2/stk oxrna2/hbond oxrna2/xstk oxrna2/coaxstk oxrna2/dh +pair_coeff * * oxrna2/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32 +pair_coeff * * oxrna2/stk seqdep ${T} 1.40206 2.77 6.0 0.43 0.93 0.35 0.78 0.9 0 0.95 0.9 0 0.95 1.3 0 0.8 1.3 0 0.8 2.0 0.65 2.0 0.65 +pair_coeff * * oxrna2/stk seqdep 0.1 1.40206 2.77 6.0 0.43 0.93 0.35 0.78 0.9 0 0.95 0.9 0 0.95 1.3 0 0.8 1.3 0 0.8 2.0 0.65 2.0 0.65 +pair_coeff * * oxrna2/hbond seqdep 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 1 4 oxrna2/hbond seqdep 0.870439 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 2 3 oxrna2/hbond seqdep 0.870439 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 3 4 oxrna2/hbond seqdep 0.870439 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff * * oxrna2/xstk 59.9626 0.5 0.6 0.42 0.58 2.25 0.505 0.58 1.7 1.266 0.68 1.7 1.266 0.68 1.7 0.309 0.68 1.7 0.309 0.68 +pair_coeff * * oxrna2/coaxstk 80 0.5 0.6 0.42 0.58 2.0 2.592 0.65 1.3 0.151 0.8 0.9 0.685 0.95 0.9 0.685 0.95 2.0 -0.65 2.0 -0.65 +pair_coeff * * oxrna2/dh ${T} ${rhos} 1.02455 +pair_coeff * * oxrna2/dh 0.1 ${rhos} 1.02455 +pair_coeff * * oxrna2/dh 0.1 0.5 1.02455 + +# NVE ensemble +fix 1 all nve/asphere +#fix 2 all langevin ${T} ${T} 2.5 457145 angmom 10 + +timestep 1e-5 + +#comm_style tiled +fix 3 all balance 1000 1.03 shift xyz 10 1.03 +comm_modify cutoff 3.8 + +compute quat all property/atom quatw quati quatj quatk + +compute erot all erotate/asphere +compute ekin all ke +compute epot all pe +variable erot equal c_erot +variable ekin equal c_ekin +variable epot equal c_epot +variable etot equal c_erot+c_ekin+c_epot +fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes +fix 5 all print 1000 "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes + +dump out all custom ${ofreq} out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump out all custom 1000 out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump out all custom 1000 out.2.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump_modify out sort id +dump_modify out format line "%d %d %d %22.15le %22.15le %22.15le %d %d %d %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le" + +run 1000000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 4.3014979 + ghost atom cutoff = 4.3014979 + binsize = 2.150749, bins = 19 19 19 + 5 neighbor lists, perpetual/occasional/extra = 5 0 0 + (1) pair oxrna2/excv, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard + (2) pair oxrna2/hbond, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none + (3) pair oxrna2/xstk, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none + (4) pair oxrna2/coaxstk, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none + (5) pair oxrna2/dh, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none +WARNING: Communication cutoff adjusted to 4.301497916929199 (../comm.cpp:739) +0 ekin = 2.70475393009871 | erot = 2.80172072918779 | epot = -11.1349465280231 | etot = -5.62847186873665 +Per MPI rank memory allocation (min/avg/max) = 9.347 | 9.347 | 9.347 Mbytes +Step Temp E_pair E_mol TotEng Press Volume + 0 0.12021129 -0.7299505 0.034016337 -0.52688704 5.1214421e-05 64000 +1000 ekin = 2.74425239815418 | erot = 2.79065458610894 | epot = -11.163378852689 | etot = -5.62847186842591 +2000 ekin = 2.78841691867037 | erot = 2.77992540099535 | epot = -11.1968141877249 | etot = -5.62847186805919 +3000 ekin = 2.83938215410024 | erot = 2.77185117591642 | epot = -11.2397051978033 | etot = -5.62847186778665 +4000 ekin = 2.89876217830266 | erot = 2.76816783884241 | epot = -11.295401884792 | etot = -5.62847186764698 +5000 ekin = 2.96742170720772 | erot = 2.76919345829433 | epot = -11.3650870331989 | etot = -5.62847186769686 +6000 ekin = 3.04563007371043 | erot = 2.77376672268246 | epot = -11.4478686641706 | etot = -5.62847186777771 +7000 ekin = 3.13407886898542 | erot = 2.78065913591454 | epot = -11.5432098726293 | etot = -5.62847186772939 +8000 ekin = 3.23400863287747 | erot = 2.78938863934855 | epot = -11.651869139893 | etot = -5.628471867667 +9000 ekin = 3.34625998930262 | erot = 2.80019523753782 | epot = -11.7749270943235 | etot = -5.62847186748304 +10000 ekin = 3.47220350616338 | erot = 2.8146462281528 | epot = -11.9153216015116 | etot = -5.62847186719541 +11000 ekin = 3.61341090096022 | erot = 2.83541090219848 | epot = -12.0772936703878 | etot = -5.62847186722913 +12000 ekin = 3.76971728921065 | erot = 2.8651661044909 | epot = -12.2633552607298 | etot = -5.62847186702824 +13000 ekin = 3.9410557771447 | erot = 2.90597306806357 | epot = -12.4755007121564 | etot = -5.62847186694818 +14000 ekin = 4.1273074489676 | erot = 2.95952862137382 | epot = -12.7153079373022 | etot = -5.6284718669608 +15000 ekin = 4.32776706381553 | erot = 3.02701108512254 | epot = -12.9832500158853 | etot = -5.62847186694725 +16000 ekin = 4.54139695680688 | erot = 3.10924468066181 | epot = -13.2791135046205 | etot = -5.62847186715177 +17000 ekin = 4.76575661763827 | erot = 3.20604355373095 | epot = -13.60027203892 | etot = -5.62847186755082 +18000 ekin = 4.99700491214688 | erot = 3.31611869568271 | epot = -13.9415954758898 | etot = -5.62847186806023 +19000 ekin = 5.23048108112194 | erot = 3.43700077146765 | epot = -14.2959537213472 | etot = -5.62847186875762 +20000 ekin = 5.4607474251306 | erot = 3.56463156086408 | epot = -14.6538508556013 | etot = -5.62847186960665 +21000 ekin = 5.68087058007138 | erot = 3.69256776681719 | epot = -15.0019102179231 | etot = -5.62847187103449 +22000 ekin = 5.8832761998388 | erot = 3.81252322503561 | epot = -15.3242712967755 | etot = -5.62847187190112 +23000 ekin = 6.06249979951992 | erot = 3.91720950057676 | epot = -15.6081811728147 | etot = -5.62847187271801 +24000 ekin = 6.21449712377438 | erot = 4.00104081543186 | epot = -15.8440098121105 | etot = -5.62847187290421 +25000 ekin = 6.33853277809255 | erot = 4.06184542619886 | epot = -16.0288500769828 | etot = -5.6284718726914 +26000 ekin = 6.43627737187012 | erot = 4.10076278430849 | epot = -16.1655120283938 | etot = -5.6284718722152 +27000 ekin = 6.51092447972028 | erot = 4.12134483746816 | epot = -16.2607411888241 | etot = -5.62847187163566 +28000 ekin = 6.56622100976685 | erot = 4.12827111510823 | epot = -16.3229639959506 | etot = -5.62847187107552 +29000 ekin = 6.60587340002395 | erot = 4.12622173833906 | epot = -16.3605670089491 | etot = -5.62847187058613 +30000 ekin = 6.63335580501832 | erot = 4.11921545444658 | epot = -16.3810431296793 | etot = -5.62847187021444 +31000 ekin = 6.65211888589275 | erot = 4.10999678317536 | epot = -16.3905875389834 | etot = -5.62847186991527 +32000 ekin = 6.66584763664879 | erot = 4.10024297795105 | epot = -16.3945624842072 | etot = -5.62847186960737 +33000 ekin = 6.67923227191035 | erot = 4.0912920741337 | epot = -16.398996215263 | etot = -5.62847186921897 +34000 ekin = 6.69756137216839 | erot = 4.08414768607668 | epot = -16.4101809271346 | etot = -5.62847186888957 +35000 ekin = 6.72589628312089 | erot = 4.07950228497952 | epot = -16.4338704366877 | etot = -5.62847186858733 +36000 ekin = 6.76908557113721 | erot = 4.07778615492113 | epot = -16.4753435944361 | etot = -5.6284718683778 +37000 ekin = 6.8309750621341 | erot = 4.07899014040668 | epot = -16.5384370708782 | etot = -5.62847186833746 +38000 ekin = 6.91354703253178 | erot = 4.08242106390421 | epot = -16.6244399649596 | etot = -5.6284718685236 +39000 ekin = 7.01626065739839 | erot = 4.0865217194279 | epot = -16.731254245777 | etot = -5.62847186895074 +40000 ekin = 7.13573792258335 | erot = 4.08884404540011 | epot = -16.8530538375758 | etot = -5.6284718695923 +41000 ekin = 7.26614194134519 | erot = 4.08627042537778 | epot = -16.9808842370343 | etot = -5.62847187031131 +42000 ekin = 7.40051154120592 | erot = 4.07546023443118 | epot = -17.1044436466276 | etot = -5.62847187099052 +43000 ekin = 7.53157437143693 | erot = 4.05344655359662 | epot = -17.2134927965848 | etot = -5.62847187155127 +44000 ekin = 7.65268317567647 | erot = 4.01819177227262 | epot = -17.2993468198233 | etot = -5.62847187187421 +45000 ekin = 7.7584534330689 | erot = 3.96898510895809 | epot = -17.3559104142065 | etot = -5.62847187217952 +46000 ekin = 7.84504377034641 | erot = 3.90454903064835 | epot = -17.3780646733317 | etot = -5.62847187233695 +47000 ekin = 7.9100239082063 | erot = 3.82478596555242 | epot = -17.3632817459107 | etot = -5.628471872152 +48000 ekin = 7.95195705456506 | erot = 3.73154439390053 | epot = -17.3119733204129 | etot = -5.62847187194729 +49000 ekin = 7.97001825706866 | erot = 3.62752007295095 | epot = -17.2260102016185 | etot = -5.62847187159891 +50000 ekin = 7.96375756700429 | erot = 3.51726958365157 | epot = -17.1094990215452 | etot = -5.62847187088935 +51000 ekin = 7.93280761300438 | erot = 3.40827188497884 | epot = -16.9695513688031 | etot = -5.62847187081985 +52000 ekin = 7.87656811744191 | erot = 3.30207418532579 | epot = -16.8071141735587 | etot = -5.62847187079096 +53000 ekin = 7.79531012541906 | erot = 3.19839984815453 | epot = -16.6221818441148 | etot = -5.62847187054118 +54000 ekin = 7.68952609570334 | erot = 3.09980185481856 | epot = -16.4177998208246 | etot = -5.62847187030271 +55000 ekin = 7.55966222141095 | erot = 3.00897426989566 | epot = -16.19710836145 | etot = -5.62847187014341 +56000 ekin = 7.40594124507999 | erot = 2.92802865182286 | epot = -15.9624417669773 | etot = -5.62847187007443 +57000 ekin = 7.22816598141989 | erot = 2.85836584281815 | epot = -15.715003694348 | etot = -5.62847187010995 +58000 ekin = 7.02573051397604 | erot = 2.80066522322055 | epot = -15.4548676074194 | etot = -5.62847187022284 +59000 ekin = 6.80455077165117 | erot = 2.75651944712048 | epot = -15.1895420860965 | etot = -5.62847186732484 +60000 ekin = 6.57760251691511 | erot = 2.72731501678749 | epot = -14.9333893991692 | etot = -5.6284718654666 +61000 ekin = 5.99884053190006 | erot = 2.6501026979171 | epot = -14.277415033115 | etot = -5.62847180329785 +62000 ekin = 5.82217958652235 | erot = 2.65058478195194 | epot = -14.1012361774607 | etot = -5.62847180898638 +63000 ekin = 6.00993174210252 | erot = 2.7114348346643 | epot = -14.3498384845184 | etot = -5.62847190775156 +64000 ekin = 5.85096985050371 | erot = 2.71173917624744 | epot = -14.1911809366074 | etot = -5.62847190985628 +65000 ekin = 5.67959801442737 | erot = 2.7073163013018 | epot = -14.0153862253963 | etot = -5.62847190966708 +66000 ekin = 5.49812382731708 | erot = 2.69646895132529 | epot = -13.823064688063 | etot = -5.62847190942062 +67000 ekin = 5.31011188753149 | erot = 2.67901331172427 | epot = -13.6175971082582 | etot = -5.6284719090024 +68000 ekin = 5.1196422958259 | erot = 2.65622197273443 | epot = -13.4043361770525 | etot = -5.62847190849221 +69000 ekin = 4.93067975207853 | erot = 2.63014135225736 | epot = -13.1892930124928 | etot = -5.62847190815687 +70000 ekin = 4.74697386617484 | erot = 2.60347312706348 | epot = -12.9789189008748 | etot = -5.62847190763644 +71000 ekin = 4.57222133259566 | erot = 2.57971589798972 | epot = -12.7804091377441 | etot = -5.62847190715871 +72000 ekin = 4.4095964850778 | erot = 2.56228295922532 | epot = -12.6003513510613 | etot = -5.62847190675817 +73000 ekin = 4.26170009573902 | erot = 2.5540607608015 | epot = -12.4442327629946 | etot = -5.62847190645407 +74000 ekin = 4.13052949790817 | erot = 2.55713155841204 | epot = -12.3161329625863 | etot = -5.62847190626611 +75000 ekin = 4.01588192828867 | erot = 2.56608801434087 | epot = -12.2104419139893 | etot = -5.62847197135973 +76000 ekin = 3.95904625854794 | erot = 2.44184942386032 | epot = -12.0293675901709 | etot = -5.62847190776262 +77000 ekin = 4.02755960266364 | erot = 2.46007159499085 | epot = -12.1161031098036 | etot = -5.62847191214915 +78000 ekin = 3.98785439943816 | erot = 2.49596945534639 | epot = -12.1122957670964 | etot = -5.62847191231181 +79000 ekin = 3.96575767721429 | erot = 2.5420084233549 | epot = -12.1362380131152 | etot = -5.62847191254604 +80000 ekin = 3.95961954869556 | erot = 2.59604589435634 | epot = -12.1841373558848 | etot = -5.6284719128329 +81000 ekin = 3.96734100032344 | erot = 2.65577062232391 | epot = -12.2515835357817 | etot = -5.6284719131343 +82000 ekin = 3.98651997822123 | erot = 2.71892569307124 | epot = -12.333917584723 | etot = -5.6284719134305 +83000 ekin = 4.01459300302745 | erot = 2.78352190390239 | epot = -12.4265868206359 | etot = -5.62847191370609 +84000 ekin = 4.04956210608553 | erot = 2.8479662966446 | epot = -12.5260003165344 | etot = -5.62847191380431 +85000 ekin = 4.09049341026869 | erot = 2.91104365381142 | epot = -12.630008978118 | etot = -5.62847191403787 +86000 ekin = 4.13484812560052 | erot = 2.9720116541913 | epot = -12.7353316940203 | etot = -5.6284719142285 +87000 ekin = 4.18003829184658 | erot = 3.03078479878327 | epot = -12.8392950049953 | etot = -5.6284719143655 +88000 ekin = 4.22360704724744 | erot = 3.08796574000362 | epot = -12.9400447017002 | etot = -5.62847191444915 +89000 ekin = 4.26326024607336 | erot = 3.14481288279522 | epot = -13.0365450433359 | etot = -5.62847191446734 +90000 ekin = 4.2958811179063 | erot = 3.20341713777048 | epot = -13.12777017033 | etot = -5.62847191465327 +91000 ekin = 4.31697784577826 | erot = 3.26736040230188 | epot = -13.2128101626457 | etot = -5.62847191456554 +92000 ekin = 4.32507837347591 | erot = 3.3393160194459 | epot = -13.2928663075901 | etot = -5.62847191466833 +93000 ekin = 4.31872212432208 | erot = 3.42036541916806 | epot = -13.3675594581779 | etot = -5.62847191468773 +94000 ekin = 4.29660005793304 | erot = 3.51205694754431 | epot = -13.437128920154 | etot = -5.62847191467669 +95000 ekin = 4.25789021838854 | erot = 3.6160647566687 | epot = -13.5024268896671 | etot = -5.62847191460983 +96000 ekin = 4.20253661926512 | erot = 3.73412422729691 | epot = -13.5651327610313 | etot = -5.62847191446931 +97000 ekin = 4.13146529060029 | erot = 3.86803037439328 | epot = -13.6279675793419 | etot = -5.62847191434832 +98000 ekin = 4.04669071975368 | erot = 4.01885670334762 | epot = -13.6940193371953 | etot = -5.628471914094 +99000 ekin = 3.95128630061913 | erot = 4.18772840013497 | epot = -13.7674866145626 | etot = -5.62847191380852 +100000 ekin = 3.84921784883078 | erot = 4.37558821791315 | epot = -13.8532779802875 | etot = -5.62847191354357 +101000 ekin = 3.74501223923306 | erot = 4.58258429231825 | epot = -13.9560684449147 | etot = -5.62847191336337 +102000 ekin = 3.64330024870574 | erot = 4.80764134110157 | epot = -14.0794135031375 | etot = -5.62847191333017 +103000 ekin = 3.54831662006275 | erot = 5.04811575607591 | epot = -14.2249042896176 | etot = -5.62847191347892 +104000 ekin = 3.46349772064929 | erot = 5.29960820358541 | epot = -14.3915778382038 | etot = -5.62847191396914 +105000 ekin = 3.39136254536257 | erot = 5.55507704360081 | epot = -14.5749115034252 | etot = -5.62847191446186 +106000 ekin = 3.33356403744393 | erot = 5.80718759325027 | epot = -14.7692235454841 | etot = -5.62847191478991 +107000 ekin = 3.29209861353684 | erot = 6.04906687386845 | epot = -14.9696374027456 | etot = -5.62847191534027 +108000 ekin = 3.26748487341094 | erot = 6.27418243659807 | epot = -15.1701392258631 | etot = -5.62847191585406 +109000 ekin = 3.25930506886592 | erot = 6.47585417244427 | epot = -15.3636311580693 | etot = -5.6284719167591 +110000 ekin = 3.26568272829091 | erot = 6.64602097208043 | epot = -15.5401756176987 | etot = -5.62847191732734 +111000 ekin = 3.28520059172616 | erot = 6.77857539600461 | epot = -15.692247905527 | etot = -5.62847191779627 +112000 ekin = 3.31659315707435 | erot = 6.86862760564104 | epot = -15.8136926809253 | etot = -5.62847191820991 +113000 ekin = 3.35860144230934 | erot = 6.91335224014982 | epot = -15.9004256006578 | etot = -5.62847191819866 +114000 ekin = 3.4107346812468 | erot = 6.91406610981361 | epot = -15.9532727088344 | etot = -5.62847191777402 +115000 ekin = 3.47381531534278 | erot = 6.87643065686551 | epot = -15.9787178894079 | etot = -5.62847191719963 +116000 ekin = 3.5488643755877 | erot = 6.80711139529257 | epot = -15.9844476879583 | etot = -5.62847191707805 +117000 ekin = 3.63467409204942 | erot = 6.71320827683716 | epot = -15.9763542854633 | etot = -5.62847191657669 +118000 ekin = 3.72815555523548 | erot = 6.60276001485684 | epot = -15.9593874864267 | etot = -5.62847191633434 +119000 ekin = 3.82420980363903 | erot = 6.48288858478368 | epot = -15.9355703049693 | etot = -5.62847191654655 +120000 ekin = 3.91797748357197 | erot = 6.35662792089921 | epot = -15.9030773212278 | etot = -5.62847191675661 +121000 ekin = 4.00591742044011 | erot = 6.22468993027114 | epot = -15.8590792676427 | etot = -5.62847191693149 +122000 ekin = 4.08550270322343 | erot = 6.08676575288908 | epot = -15.8007403736367 | etot = -5.6284719175242 +123000 ekin = 4.15433540908351 | erot = 5.94071572290345 | epot = -15.7235230494641 | etot = -5.62847191747713 +124000 ekin = 4.21272085203578 | erot = 5.78590733869425 | epot = -15.6271001078547 | etot = -5.62847191712464 +125000 ekin = 4.26325970413163 | erot = 5.62467373686552 | epot = -15.5164053575229 | etot = -5.62847191652571 +126000 ekin = 4.30880597980491 | erot = 5.46113290467086 | epot = -15.3984108007446 | etot = -5.62847191626881 +127000 ekin = 4.35136313111015 | erot = 5.29960307371326 | epot = -15.2794381205808 | etot = -5.62847191575739 +128000 ekin = 4.39391383900498 | erot = 5.14386269106637 | epot = -15.1662484454469 | etot = -5.62847191537554 +129000 ekin = 4.43858036063657 | erot = 4.99693296064704 | epot = -15.0639852363962 | etot = -5.62847191511261 +130000 ekin = 4.48619887382542 | erot = 4.86092637377907 | epot = -14.9755971627245 | etot = -5.62847191512001 +131000 ekin = 4.53629967746126 | erot = 4.73552279955485 | epot = -14.9002943921704 | etot = -5.62847191515428 +132000 ekin = 4.58794392436778 | erot = 4.62012473201905 | epot = -14.8365405715613 | etot = -5.62847191517448 +133000 ekin = 4.63977927970892 | erot = 4.51475331813984 | epot = -14.7830045130169 | etot = -5.62847191516817 +134000 ekin = 4.69096227444668 | erot = 4.4193657152014 | epot = -14.7387999047827 | etot = -5.62847191513464 +135000 ekin = 4.74083332632091 | erot = 4.33399770983663 | epot = -14.7033029512382 | etot = -5.62847191508071 +136000 ekin = 4.78901374177424 | erot = 4.25873574864832 | epot = -14.6762214054337 | etot = -5.62847191501112 +137000 ekin = 4.83519033966293 | erot = 4.19345584709321 | epot = -14.6571181018643 | etot = -5.62847191510819 +138000 ekin = 4.87857190019268 | erot = 4.13759960010504 | epot = -14.6446434153652 | etot = -5.62847191506751 +139000 ekin = 4.91933904268643 | erot = 4.0904184140816 | epot = -14.6382293717809 | etot = -5.62847191501289 +140000 ekin = 4.95802132610714 | erot = 4.05108530565775 | epot = -14.6375785467331 | etot = -5.62847191496819 +141000 ekin = 4.99519923255345 | erot = 4.01864210163631 | epot = -14.6423132491265 | etot = -5.62847191493678 +142000 ekin = 5.0313403186538 | erot = 3.99210960072455 | epot = -14.6519218343063 | etot = -5.62847191492795 +143000 ekin = 5.06663282814597 | erot = 3.9705610087224 | epot = -14.6656657518144 | etot = -5.62847191494604 +144000 ekin = 5.10088003253958 | erot = 3.95318385936644 | epot = -14.6825358068961 | etot = -5.62847191499011 +145000 ekin = 5.13347728619398 | erot = 3.93933318432649 | epot = -14.7012823855749 | etot = -5.62847191505442 +146000 ekin = 5.16346418937014 | erot = 3.92856945833569 | epot = -14.7205055628362 | etot = -5.62847191513039 +147000 ekin = 5.18962884502088 | erot = 3.92067778970105 | epot = -14.738778549931 | etot = -5.62847191520907 +148000 ekin = 5.21063630105009 | erot = 3.91566839447787 | epot = -14.75477661081 | etot = -5.62847191528207 +149000 ekin = 5.22515818277277 | erot = 3.91376203384946 | epot = -14.7673921319647 | etot = -5.62847191534252 +150000 ekin = 5.23199081771404 | erot = 3.91536756918864 | epot = -14.7758303022868 | etot = -5.62847191538416 +151000 ekin = 5.23025857434856 | erot = 3.92102977399562 | epot = -14.7797602637291 | etot = -5.62847191538493 +152000 ekin = 5.21970456277593 | erot = 3.93136599417318 | epot = -14.7795424723186 | etot = -5.6284719153695 +153000 ekin = 5.20020715643906 | erot = 3.94729684643019 | epot = -14.775975918157 | etot = -5.62847191528778 +154000 ekin = 5.17219962280864 | erot = 3.96989664945436 | epot = -14.7705681875096 | etot = -5.62847191524665 +155000 ekin = 5.13597939415166 | erot = 4.00025654377908 | epot = -14.7647078530825 | etot = -5.6284719151518 +156000 ekin = 5.09227456538766 | erot = 4.03969792967894 | epot = -14.7604444100925 | etot = -5.62847191502591 +157000 ekin = 5.04214374655778 | erot = 4.08965648366409 | epot = -14.7602721451215 | etot = -5.62847191489967 +158000 ekin = 4.98664076893679 | erot = 4.15175637520665 | epot = -14.7668690589135 | etot = -5.62847191477004 +159000 ekin = 4.92656708226332 | erot = 4.2269378597674 | epot = -14.7819768568011 | etot = -5.62847191477039 +160000 ekin = 4.86235166664946 | erot = 4.31524574981795 | epot = -14.8060693313525 | etot = -5.62847191488512 +161000 ekin = 4.79340744408374 | erot = 4.41634192155731 | epot = -14.8382212806372 | etot = -5.6284719149962 +162000 ekin = 4.71931679137153 | erot = 4.52911647420334 | epot = -14.8769051807423 | etot = -5.62847191516742 +163000 ekin = 4.63965178837876 | erot = 4.65170333188752 | epot = -14.9198270356111 | etot = -5.62847191534485 +164000 ekin = 4.55406399624281 | erot = 4.78166301740355 | epot = -14.964198929296 | etot = -5.62847191564965 +165000 ekin = 4.46213996067409 | erot = 4.9153027215891 | epot = -15.0059145982043 | etot = -5.62847191594116 +166000 ekin = 4.36388109534828 | erot = 5.04805357548597 | epot = -15.0404065870403 | etot = -5.62847191620602 +167000 ekin = 4.25995046842402 | erot = 5.1751106852227 | epot = -15.0635330700691 | etot = -5.62847191642234 +168000 ekin = 4.15154354282101 | erot = 5.29182746831917 | epot = -15.0718429277119 | etot = -5.62847191657168 +169000 ekin = 4.04026084727475 | erot = 5.39411747728107 | epot = -15.06285024121 | etot = -5.62847191665415 +170000 ekin = 3.92797723838337 | erot = 5.47890367159931 | epot = -15.0353528265942 | etot = -5.62847191661149 +171000 ekin = 3.81680551395843 | erot = 5.54460219961171 | epot = -14.9898796300195 | etot = -5.62847191644934 +172000 ekin = 3.70912194360914 | erot = 5.5911987727273 | epot = -14.9287926324956 | etot = -5.62847191615919 +173000 ekin = 3.60767008610031 | erot = 5.62020496676059 | epot = -14.8563469686169 | etot = -5.62847191575601 +174000 ekin = 3.5159312314275 | erot = 5.63484613588141 | epot = -14.7792492818567 | etot = -5.62847191454778 +175000 ekin = 3.43946966413942 | erot = 5.64148825119161 | epot = -14.7094298295824 | etot = -5.6284719142514 +176000 ekin = 3.3814996434009 | erot = 5.6430458497967 | epot = -14.6530174072231 | etot = -5.62847191402549 +177000 ekin = 3.34426304280398 | erot = 5.64075589500609 | epot = -14.6134908517401 | etot = -5.62847191393005 +178000 ekin = 3.32907821318191 | erot = 5.63429171925387 | epot = -14.5918418466214 | etot = -5.62847191418561 +179000 ekin = 3.33553286829402 | erot = 5.62088708741546 | epot = -14.5848918700479 | etot = -5.62847191433839 +180000 ekin = 3.36333384277286 | erot = 5.59827011329217 | epot = -14.590075870683 | etot = -5.62847191461792 +181000 ekin = 3.41118322744715 | erot = 5.56369949232851 | epot = -14.6033546347479 | etot = -5.6284719149722 +182000 ekin = 3.4766665781393 | erot = 5.5144290911937 | epot = -14.6195675846746 | etot = -5.62847191534156 +183000 ekin = 3.55646627297111 | erot = 5.44847615754721 | epot = -14.6334143461245 | etot = -5.62847191560621 +184000 ekin = 3.64671110623877 | erot = 5.36528131962461 | epot = -14.6404643416891 | etot = -5.62847191582572 +185000 ekin = 3.74294243854212 | erot = 5.26596644090073 | epot = -14.6373807953562 | etot = -5.62847191591336 +186000 ekin = 3.84064021177378 | erot = 5.15359326678875 | epot = -14.6227053944187 | etot = -5.62847191585613 +187000 ekin = 3.93563840594967 | erot = 5.03296537332375 | epot = -14.5970756949468 | etot = -5.62847191567334 +188000 ekin = 4.02444308409251 | erot = 4.91004205202546 | epot = -14.5629570515389 | etot = -5.6284719154209 +189000 ekin = 4.10437481570263 | erot = 4.79101157925906 | epot = -14.5238583101438 | etot = -5.6284719151821 +190000 ekin = 4.17348832619947 | erot = 4.68117061832993 | epot = -14.4831308595823 | etot = -5.62847191505295 +191000 ekin = 4.23028845394399 | erot = 4.5838619279875 | epot = -14.4426222970214 | etot = -5.6284719150899 +192000 ekin = 4.27358054060613 | erot = 4.49984530057472 | epot = -14.4018977564781 | etot = -5.62847191529729 +193000 ekin = 4.2459291199389 | erot = 4.46741799187519 | epot = -14.3418190226901 | etot = -5.628471910876 +194000 ekin = 4.19994174150929 | erot = 4.47173701960579 | epot = -14.300150679366 | etot = -5.62847191825091 +195000 ekin = 4.19981139522189 | erot = 4.40365513590272 | epot = -14.2319384423478 | etot = -5.62847191122323 +196000 ekin = 4.18831859749958 | erot = 4.32821378408475 | epot = -14.1450042928938 | etot = -5.6284719113095 +197000 ekin = 4.16445522600504 | erot = 4.24686919663307 | epot = -14.0397963337814 | etot = -5.62847191114325 +198000 ekin = 4.13074920372969 | erot = 4.15919636754505 | epot = -13.9184174820225 | etot = -5.62847191074777 +199000 ekin = 4.09062074736202 | erot = 4.06700829109767 | epot = -13.7861009486898 | etot = -5.62847191023014 +200000 ekin = 4.0479233868723 | erot = 3.97356549445286 | epot = -13.6499607909688 | etot = -5.62847190964361 +201000 ekin = 4.00668244919801 | erot = 3.88277215508923 | epot = -13.5179265133891 | etot = -5.62847190910191 +202000 ekin = 3.97063392471746 | erot = 3.79828207702036 | epot = -13.3973879104091 | etot = -5.62847190867124 +203000 ekin = 3.94283665189392 | erot = 3.72290259923711 | epot = -13.2942111595166 | etot = -5.62847190838553 +204000 ekin = 3.92540743372156 | erot = 3.6583521626231 | epot = -13.2122315045945 | etot = -5.62847190824983 +205000 ekin = 3.91946432177292 | erot = 3.60562062220845 | epot = -13.1535568521697 | etot = -5.62847190818838 +206000 ekin = 3.92515912499406 | erot = 3.565100627265 | epot = -13.1187316605133 | etot = -5.62847190825423 +207000 ekin = 3.94166066189543 | erot = 3.53643554884992 | epot = -13.1065681191262 | etot = -5.62847190838084 +208000 ekin = 3.9674190465959 | erot = 3.5190928531888 | epot = -13.1149838083199 | etot = -5.6284719085352 +209000 ekin = 3.99456273872588 | erot = 3.50083315850279 | epot = -13.1238678065881 | etot = -5.6284719093594 +210000 ekin = 4.04796401860247 | erot = 3.49168954890823 | epot = -13.1681254815363 | etot = -5.62847191402562 +211000 ekin = 4.09773342715881 | erot = 3.4930481201282 | epot = -13.2192534546321 | etot = -5.62847190734506 +212000 ekin = 4.14205596974231 | erot = 3.50221111647777 | epot = -13.2727389936859 | etot = -5.62847190746587 +213000 ekin = 4.18461227969094 | erot = 3.51992604962354 | epot = -13.3330102373203 | etot = -5.62847190800585 +214000 ekin = 4.22291801220844 | erot = 3.54318058637904 | epot = -13.3945705067363 | etot = -5.62847190814881 +215000 ekin = 4.25639069943864 | erot = 3.57018634832895 | epot = -13.4550489560033 | etot = -5.62847190823574 +216000 ekin = 4.28517056130573 | erot = 3.59920416165346 | epot = -13.512846631277 | etot = -5.6284719083178 +217000 ekin = 4.30951457891135 | erot = 3.62862634730542 | epot = -13.566612834605 | etot = -5.6284719083882 +218000 ekin = 4.33022749097351 | erot = 3.65639118247609 | epot = -13.6150905819282 | etot = -5.62847190847864 +219000 ekin = 4.34822739188558 | erot = 3.68015661121787 | epot = -13.6568559116862 | etot = -5.62847190858279 +220000 ekin = 4.36437280258139 | erot = 3.69755509928789 | epot = -13.6903998105143 | etot = -5.62847190864505 +221000 ekin = 4.37954317243215 | erot = 3.70660976824613 | epot = -13.71462484937 | etot = -5.62847190869167 +222000 ekin = 4.39451292716877 | erot = 3.70596363375719 | epot = -13.7289484695945 | etot = -5.62847190866858 +223000 ekin = 4.41008213188775 | erot = 3.69513355487823 | epot = -13.7336875953398 | etot = -5.62847190857384 +224000 ekin = 4.42678943726018 | erot = 3.67466536393939 | epot = -13.7299267097394 | etot = -5.62847190853985 +225000 ekin = 4.44460701700748 | erot = 3.64600909388419 | epot = -13.7190880192608 | etot = -5.6284719083691 +226000 ekin = 4.47380092382151 | erot = 3.58830814098213 | epot = -13.6905809780337 | etot = -5.62847191323009 +227000 ekin = 4.56056009803568 | erot = 3.47269306832245 | epot = -13.6617250773562 | etot = -5.62847191099804 +228000 ekin = 4.61083327530785 | erot = 3.40803816011397 | epot = -13.6473433475456 | etot = -5.62847191212377 +229000 ekin = 4.63150013167703 | erot = 3.3589814900088 | epot = -13.6189535337029 | etot = -5.62847191201702 +230000 ekin = 4.65431068143757 | erot = 3.31343017818592 | epot = -13.5962127716247 | etot = -5.62847191200126 +231000 ekin = 4.67934821404584 | erot = 3.27332737527277 | epot = -13.5811475014845 | etot = -5.62847191216592 +232000 ekin = 4.70592354946075 | erot = 3.23944506667659 | epot = -13.5738405284593 | etot = -5.62847191232194 +233000 ekin = 4.73271416122328 | erot = 3.21144788525921 | epot = -13.5726339590417 | etot = -5.62847191255916 +234000 ekin = 4.75943444984861 | erot = 3.19078729233698 | epot = -13.5786936545775 | etot = -5.62847191239187 +235000 ekin = 4.78642241817936 | erot = 3.18021193976881 | epot = -13.5951062703943 | etot = -5.62847191244611 +236000 ekin = 4.81315037988097 | erot = 3.18017325334987 | epot = -13.6217955456973 | etot = -5.62847191246644 +237000 ekin = 4.83923297185456 | erot = 3.19145400453496 | epot = -13.6591588888804 | etot = -5.62847191249087 +238000 ekin = 4.86487585931723 | erot = 3.21481908800387 | epot = -13.7081668597346 | etot = -5.62847191241352 +239000 ekin = 4.89063931714873 | erot = 3.25114955282084 | epot = -13.7702607826831 | etot = -5.62847191271357 +240000 ekin = 4.91656145052489 | erot = 3.29901781218922 | epot = -13.8440511754907 | etot = -5.62847191277661 +241000 ekin = 4.94245255089304 | erot = 3.35699698381595 | epot = -13.9279214477117 | etot = -5.62847191300268 +242000 ekin = 4.96767380346102 | erot = 3.42365009425998 | epot = -14.019795810921 | etot = -5.62847191319999 +243000 ekin = 5.00573446225042 | erot = 3.47030260469304 | epot = -14.1045089792028 | etot = -5.62847191225932 +244000 ekin = 5.06987350321221 | erot = 3.50985787352176 | epot = -14.208203293301 | etot = -5.628471916567 +245000 ekin = 5.08405115957638 | erot = 3.57323736718633 | epot = -14.2857604930711 | etot = -5.62847196630839 +246000 ekin = 5.13867281568869 | erot = 3.5302241078675 | epot = -14.2973688418951 | etot = -5.6284719183389 +247000 ekin = 5.24446071734841 | erot = 3.63707192639613 | epot = -14.5100045566459 | etot = -5.62847191290139 +248000 ekin = 5.23528120841762 | erot = 3.74023330973914 | epot = -14.6039864311642 | etot = -5.62847191300749 +249000 ekin = 5.21260078435197 | erot = 3.83729795660079 | epot = -14.6783706538237 | etot = -5.62847191287092 +250000 ekin = 5.17839081250343 | erot = 3.92749000333695 | epot = -14.734352728446 | etot = -5.62847191260562 +251000 ekin = 5.13586036334 | erot = 4.01108345357516 | epot = -14.7754157290646 | etot = -5.62847191214949 +252000 ekin = 5.08918292106492 | erot = 4.09018694184386 | epot = -14.8078417745577 | etot = -5.62847191164893 +253000 ekin = 5.04264218495468 | erot = 4.1675905821178 | epot = -14.8387046782793 | etot = -5.62847191120685 +254000 ekin = 4.99116344078993 | erot = 4.24248912287765 | epot = -14.8621245493497 | etot = -5.6284719856821 +255000 ekin = 4.72637462799972 | erot = 4.2440783766396 | epot = -14.5989249326045 | etot = -5.62847192796514 +256000 ekin = 4.59834109997907 | erot = 4.36369782209805 | epot = -14.5905108364843 | etot = -5.62847191440722 +257000 ekin = 4.77089539876803 | erot = 4.60066315314853 | epot = -15.0000305289764 | etot = -5.62847197705987 +258000 ekin = 4.85704242990004 | erot = 4.66807324376142 | epot = -15.1535875814137 | etot = -5.62847190775219 +259000 ekin = 4.89901811472525 | erot = 4.72718635920727 | epot = -15.2546763808553 | etot = -5.62847190692281 +260000 ekin = 4.94107094739554 | erot = 4.79406863685558 | epot = -15.3636114914093 | etot = -5.62847190715818 +261000 ekin = 4.98242309075096 | erot = 4.86508628580875 | epot = -15.475981284619 | etot = -5.62847190805929 +262000 ekin = 5.01659840998684 | erot = 4.93871137847543 | epot = -15.5837816973622 | etot = -5.62847190889994 +263000 ekin = 5.03982661194632 | erot = 5.00983839411552 | epot = -15.6781369155684 | etot = -5.62847190950657 +264000 ekin = 5.04732696349983 | erot = 5.07389667598511 | epot = -15.7496955495903 | etot = -5.62847191010532 +265000 ekin = 5.03448807085202 | erot = 5.12688367712944 | epot = -15.7898436586188 | etot = -5.62847191063736 +266000 ekin = 4.99773438959737 | erot = 5.16480683531488 | epot = -15.7910131359606 | etot = -5.62847191104833 +267000 ekin = 4.93508497406381 | erot = 5.18388050750012 | epot = -15.7474373928657 | etot = -5.62847191130179 +268000 ekin = 4.84654531471015 | erot = 5.18063468558789 | epot = -15.6556519116809 | etot = -5.62847191138284 +269000 ekin = 4.73423214274795 | erot = 5.15198859731792 | epot = -15.514692651355 | etot = -5.62847191128916 +270000 ekin = 4.60224202248674 | erot = 5.095406888169 | epot = -15.3261208188928 | etot = -5.628471908237 +271000 ekin = 4.45636876655062 | erot = 5.00923317388204 | epot = -15.0940738481985 | etot = -5.6284719077658 +272000 ekin = 4.30375505735574 | erot = 4.89315778304253 | epot = -14.825384747494 | etot = -5.62847190709572 +273000 ekin = 4.15244061479995 | erot = 4.7486264812337 | epot = -14.529539002294 | etot = -5.62847190626033 +274000 ekin = 4.01137482334502 | erot = 4.57896672456475 | epot = -14.2188134532227 | etot = -5.62847190531291 +275000 ekin = 3.87388872892673 | erot = 4.38950805795187 | epot = -13.8918687169909 | etot = -5.62847193011234 +276000 ekin = 3.70828148350286 | erot = 4.1897556795013 | epot = -13.526509065468 | etot = -5.62847190246379 +277000 ekin = 3.74025187940178 | erot = 3.98894405210606 | epot = -13.3576678645654 | etot = -5.62847193305752 +278000 ekin = 3.74221760775414 | erot = 3.77038543692028 | epot = -13.1410749479143 | etot = -5.62847190323988 +279000 ekin = 3.75220115766714 | erot = 3.5579033181485 | epot = -12.9385763794564 | etot = -5.62847190364072 +280000 ekin = 3.77561814014481 | erot = 3.35781654492748 | epot = -12.7619065883798 | etot = -5.62847190330748 +281000 ekin = 3.81272927484688 | erot = 3.17409695196514 | epot = -12.6152981298176 | etot = -5.62847190300556 +282000 ekin = 3.86501988036681 | erot = 3.00952640155211 | epot = -12.5030181842056 | etot = -5.62847190228673 +283000 ekin = 3.93628900406797 | erot = 2.86613168182098 | epot = -12.4308925881245 | etot = -5.62847190223551 +284000 ekin = 4.02702703050139 | erot = 2.74480306500245 | epot = -12.4003019979001 | etot = -5.62847190239626 +285000 ekin = 4.14139706639814 | erot = 2.64599110157964 | epot = -12.4158600691639 | etot = -5.62847190118617 +286000 ekin = 4.28525774918039 | erot = 2.56950762489246 | epot = -12.4832372763193 | etot = -5.62847190224644 +287000 ekin = 4.44987555795468 | erot = 2.51493810068274 | epot = -12.5932855609546 | etot = -5.62847190231714 +288000 ekin = 4.63520922264775 | erot = 2.48100112555536 | epot = -12.7446822515452 | etot = -5.62847190334212 +289000 ekin = 4.83125797005639 | erot = 2.4652724153943 | epot = -12.9250022896853 | etot = -5.6284719042346 +290000 ekin = 5.02763799219575 | erot = 2.46542435681702 | epot = -13.121534254098 | etot = -5.62847190508519 +291000 ekin = 5.21465468575977 | erot = 2.47913524144374 | epot = -13.3222618329671 | etot = -5.62847190576361 +292000 ekin = 5.38472348790369 | erot = 2.50416430328839 | epot = -13.51735969743 | etot = -5.62847190623788 +293000 ekin = 5.53302487063098 | erot = 2.53823701976119 | epot = -13.6997337969533 | etot = -5.62847190656113 +294000 ekin = 5.6571870189969 | erot = 2.57877496352786 | epot = -13.8644338893351 | etot = -5.62847190681034 +295000 ekin = 5.75652780496881 | erot = 2.62269919783882 | epot = -14.0076989098361 | etot = -5.62847190702852 +296000 ekin = 5.83139499491733 | erot = 2.66652171228797 | epot = -14.1263886144125 | etot = -5.62847190720725 +297000 ekin = 5.88282356332479 | erot = 2.70675614329949 | epot = -14.2180516139342 | etot = -5.62847190730991 +298000 ekin = 5.91239748765516 | erot = 2.74048494300649 | epot = -14.2813543379702 | etot = -5.62847190730851 +299000 ekin = 5.92208198046778 | erot = 2.76585299301995 | epot = -14.3164068806927 | etot = -5.62847190720493 +300000 ekin = 5.91390942019086 | erot = 2.78233336188545 | epot = -14.3247146891011 | etot = -5.62847190702474 +301000 ekin = 5.8896213351156 | erot = 2.79074353675879 | epot = -14.3088367786682 | etot = -5.62847190679381 +302000 ekin = 5.85048781421211 | erot = 2.79307875791709 | epot = -14.2720384786514 | etot = -5.62847190652216 +303000 ekin = 5.79743517877222 | erot = 2.79223225552598 | epot = -14.2181393405074 | etot = -5.62847190620923 +304000 ekin = 5.73124340760709 | erot = 2.79262915089303 | epot = -14.1523444641631 | etot = -5.62847190566301 +305000 ekin = 5.65258268469921 | erot = 2.79940899091154 | epot = -14.0804635809916 | etot = -5.62847190538089 +306000 ekin = 5.56254653523101 | erot = 2.81503734235134 | epot = -14.00605578274 | etot = -5.62847190515766 +307000 ekin = 5.46251129680718 | erot = 2.84075892386014 | epot = -13.9317421257007 | etot = -5.62847190503342 +308000 ekin = 5.35391293499786 | erot = 2.87633235163981 | epot = -13.8587171916693 | etot = -5.62847190503159 +309000 ekin = 5.23805007411507 | erot = 2.91996940722959 | epot = -13.7864913863796 | etot = -5.62847190503497 +310000 ekin = 5.11613875822329 | erot = 2.96880482959567 | epot = -13.7134154931044 | etot = -5.62847190528541 +311000 ekin = 4.98925852659202 | erot = 3.01839769775167 | epot = -13.6361281298108 | etot = -5.6284719054671 +312000 ekin = 4.85867326622198 | erot = 3.06421411592835 | epot = -13.5513592877717 | etot = -5.62847190562134 +313000 ekin = 4.7258511266738 | erot = 3.10236590329277 | epot = -13.4566889356297 | etot = -5.62847190566309 +314000 ekin = 4.59293421046375 | erot = 3.13002199528385 | epot = -13.3514281113037 | etot = -5.62847190555615 +315000 ekin = 4.46270669971795 | erot = 3.14588950386969 | epot = -13.2370681089047 | etot = -5.62847190531703 +316000 ekin = 4.33845457034513 | erot = 3.15016989317662 | epot = -13.1170963685062 | etot = -5.62847190498448 +317000 ekin = 4.22370149067671 | erot = 3.14429402986777 | epot = -12.9964674251507 | etot = -5.62847190460621 +318000 ekin = 4.12188681801252 | erot = 3.13056754977849 | epot = -12.8809262720161 | etot = -5.62847190422512 +319000 ekin = 4.03607214172537 | erot = 3.1118418278697 | epot = -12.7763858734651 | etot = -5.62847190387006 +320000 ekin = 3.96873641009652 | erot = 3.0912804861179 | epot = -12.6884887997666 | etot = -5.62847190355219 +321000 ekin = 3.9216779737034 | erot = 3.07226107994149 | epot = -12.622410956915 | etot = -5.62847190327009 +322000 ekin = 3.8960097142375 | erot = 3.05833648374731 | epot = -12.582818101012 | etot = -5.62847190302718 +323000 ekin = 3.89216326553317 | erot = 3.05323078720618 | epot = -12.5738659555752 | etot = -5.62847190283586 +324000 ekin = 3.90971752722326 | erot = 3.06065920137963 | epot = -12.5988486316017 | etot = -5.62847190299881 +325000 ekin = 3.944741977687 | erot = 3.08325557843212 | epot = -12.6564694593672 | etot = -5.62847190324807 +326000 ekin = 3.99225791212997 | erot = 3.12131666196629 | epot = -12.7420464778673 | etot = -5.62847190377102 +327000 ekin = 4.04715751819777 | erot = 3.17277573874003 | epot = -12.8484051615109 | etot = -5.62847190457309 +328000 ekin = 4.10306827950154 | erot = 3.23289809101951 | epot = -12.9644382761215 | etot = -5.62847190560047 +329000 ekin = 4.15294077797066 | erot = 3.2946025468715 | epot = -13.0760152315157 | etot = -5.62847190667354 +330000 ekin = 4.19046086378072 | erot = 3.34957314359328 | epot = -13.1685059148756 | etot = -5.62847190750161 +331000 ekin = 4.21187936703765 | erot = 3.38989153266504 | epot = -13.2302428076701 | etot = -5.62847190796743 +332000 ekin = 4.21589857652274 | erot = 3.41075094374518 | epot = -13.2551214281224 | etot = -5.62847190785444 +333000 ekin = 4.20485265998593 | erot = 3.41174399824388 | epot = -13.2450685654239 | etot = -5.62847190719411 +334000 ekin = 4.18435368274547 | erot = 3.39692225043726 | epot = -13.2097478393409 | etot = -5.62847190615821 +335000 ekin = 4.16205455859871 | erot = 3.3736762359357 | epot = -13.1642026995211 | etot = -5.62847190498668 +336000 ekin = 4.14609491419077 | erot = 3.35093309665757 | epot = -13.1254999147522 | etot = -5.62847190390387 +337000 ekin = 4.14364358929869 | erot = 3.33736964605254 | epot = -13.1094851384224 | etot = -5.62847190307115 +338000 ekin = 4.15982493121681 | erot = 3.33968220642343 | epot = -13.1279790403704 | etot = -5.62847190273015 +339000 ekin = 4.19714166714534 | erot = 3.36120406394183 | epot = -13.1868176336935 | etot = -5.6284719026063 +340000 ekin = 4.25518474379736 | erot = 3.4039445653422 | epot = -13.2876012119385 | etot = -5.62847190279896 +341000 ekin = 4.33079125358751 | erot = 3.46797257818016 | epot = -13.4272357350061 | etot = -5.62847190323847 +342000 ekin = 4.41854745257054 | erot = 3.55173943759712 | epot = -13.5987587940142 | etot = -5.62847190384653 +343000 ekin = 4.51153864836739 | erot = 3.65250494550532 | epot = -13.7925154984198 | etot = -5.62847190454714 +344000 ekin = 4.60219231316128 | erot = 3.76671918647902 | epot = -13.9973834048951 | etot = -5.62847190525479 +345000 ekin = 4.68312343518297 | erot = 3.89042211424549 | epot = -14.202017455332 | etot = -5.6284719059035 +346000 ekin = 4.74786790538276 | erot = 4.01955036383839 | epot = -14.3958901756632 | etot = -5.6284719064421 +347000 ekin = 4.79150376884927 | erot = 4.15019529884136 | epot = -14.5701709744857 | etot = -5.62847190679505 +348000 ekin = 4.81117855584513 | erot = 4.27877359764246 | epot = -14.7184240605368 | etot = -5.62847190704922 +349000 ekin = 4.80564918858542 | erot = 4.40205662692117 | epot = -14.8361777226744 | etot = -5.62847190716779 +350000 ekin = 4.77545945328558 | erot = 4.51714564005014 | epot = -14.9210770005288 | etot = -5.62847190719305 +351000 ekin = 4.72262273321771 | erot = 4.62116010888051 | epot = -14.9722547493024 | etot = -5.62847190720414 +352000 ekin = 4.65007958813981 | erot = 4.71078593020459 | epot = -14.9893374256243 | etot = -5.62847190727988 +353000 ekin = 4.56109157465225 | erot = 4.78180335583209 | epot = -14.9713668379471 | etot = -5.62847190746274 +354000 ekin = 4.4587615124644 | erot = 4.82895979646479 | epot = -14.9161932166522 | etot = -5.62847190772303 +355000 ekin = 4.34584612945451 | erot = 4.84663553107757 | epot = -14.8209535684567 | etot = -5.62847190792459 +356000 ekin = 4.22495470320938 | erot = 4.83038190907635 | epot = -14.6838085201751 | etot = -5.62847190788934 +357000 ekin = 4.09903296594824 | erot = 4.77873075092475 | epot = -14.5062356243553 | etot = -5.6284719074823 +358000 ekin = 3.97178667556097 | erot = 4.69444561048368 | epot = -14.2947041927538 | etot = -5.62847190670913 +359000 ekin = 3.84767298929633 | erot = 4.58431182212489 | epot = -14.0604567171737 | etot = -5.62847190575248 +360000 ekin = 3.73136439808897 | erot = 4.45746613156729 | epot = -13.8173024344143 | etot = -5.62847190475803 +361000 ekin = 3.62758093165782 | erot = 4.32379064504613 | epot = -13.5798434807354 | etot = -5.62847190403148 +362000 ekin = 3.54294892307022 | erot = 4.1935809711395 | epot = -13.365001797887 | etot = -5.62847190367726 +363000 ekin = 3.47837311691809 | erot = 4.07207692081944 | epot = -13.1789219412948 | etot = -5.62847190355725 +364000 ekin = 3.43225009806582 | erot = 3.96193194141563 | epot = -13.0226539430685 | etot = -5.62847190358705 +365000 ekin = 3.40198388464006 | erot = 3.86460642705282 | epot = -12.8950622153777 | etot = -5.62847190368484 +366000 ekin = 3.38451833852889 | erot = 3.78104622244719 | epot = -12.7940364647571 | etot = -5.62847190378102 +367000 ekin = 3.37682483158764 | erot = 3.71218000857488 | epot = -12.7174767440037 | etot = -5.62847190384119 +368000 ekin = 3.37625204139108 | erot = 3.65912147822927 | epot = -12.6638454234731 | etot = -5.62847190385279 +369000 ekin = 3.38074636727291 | erot = 3.62312680344584 | epot = -12.6323450745438 | etot = -5.62847190382506 +370000 ekin = 3.38894636699166 | erot = 3.6053885663718 | epot = -12.622806837183 | etot = -5.62847190381957 +371000 ekin = 3.40011634060361 | erot = 3.60672333638014 | epot = -12.6353115807303 | etot = -5.62847190374657 +372000 ekin = 3.41430323563177 | erot = 3.627489202239 | epot = -12.6702643415689 | etot = -5.62847190369811 +373000 ekin = 3.43217624795848 | erot = 3.66740997408432 | epot = -12.7280581255856 | etot = -5.62847190354281 +374000 ekin = 3.45538314686338 | erot = 3.72532070766139 | epot = -12.809175758152 | etot = -5.62847190362724 +375000 ekin = 3.48458983103553 | erot = 3.79950576965714 | epot = -12.9125675044482 | etot = -5.62847190375552 +376000 ekin = 3.51994630863574 | erot = 3.88772077540834 | epot = -13.0361389879692 | etot = -5.62847190392509 +377000 ekin = 3.5616226323945 | erot = 3.98718032086118 | epot = -13.177274857349 | etot = -5.62847190409328 +378000 ekin = 3.61009229019155 | erot = 4.09470007580574 | epot = -13.3332642703012 | etot = -5.62847190430393 +379000 ekin = 3.66621939252169 | erot = 4.20668278515063 | epot = -13.5013740821146 | etot = -5.62847190444224 +380000 ekin = 3.73222313435093 | erot = 4.31893025304478 | epot = -13.6796252922743 | etot = -5.62847190487858 +381000 ekin = 3.80656943723477 | erot = 4.42661769093527 | epot = -13.8616590336205 | etot = -5.62847190545047 +382000 ekin = 3.88594558525976 | erot = 4.52459411504649 | epot = -14.0390116063896 | etot = -5.62847190608333 +383000 ekin = 3.96695089999416 | erot = 4.60747433893969 | epot = -14.2028971456577 | etot = -5.62847190672383 +384000 ekin = 4.04619645067527 | erot = 4.66967915256735 | epot = -14.3443475105389 | etot = -5.62847190729628 +385000 ekin = 4.12092029137381 | erot = 4.70599192061868 | epot = -14.4553841196618 | etot = -5.62847190766929 +386000 ekin = 4.18945537162624 | erot = 4.71237691680559 | epot = -14.5303041965377 | etot = -5.62847190810589 +387000 ekin = 4.24770733745074 | erot = 4.68531871643827 | epot = -14.5614979619431 | etot = -5.62847190805406 +388000 ekin = 4.29400518232462 | erot = 4.62433064765619 | epot = -14.5468077376914 | etot = -5.62847190771056 +389000 ekin = 4.32973751035554 | erot = 4.53230747815954 | epot = -14.4905168956793 | etot = -5.62847190716421 +390000 ekin = 4.35696496432784 | erot = 4.41432356916359 | epot = -14.3997604400599 | etot = -5.62847190656847 +391000 ekin = 4.3776888846099 | erot = 4.27672755002102 | epot = -14.2828883405675 | etot = -5.6284719059366 +392000 ekin = 4.39398588700783 | erot = 4.1262519122643 | epot = -14.1487097046519 | etot = -5.62847190537976 +393000 ekin = 4.40738241118112 | erot = 3.96936593196882 | epot = -14.0052202479731 | etot = -5.62847190482314 +394000 ekin = 4.41937568155392 | erot = 3.81285278688348 | epot = -13.8607003731001 | etot = -5.62847190466274 +395000 ekin = 4.42988768164223 | erot = 3.66065946576554 | epot = -13.7190190519388 | etot = -5.62847190453102 +396000 ekin = 4.43847476589136 | erot = 3.51525603215626 | epot = -13.5822027024392 | etot = -5.62847190439154 +397000 ekin = 4.44517728396981 | erot = 3.37891512777666 | epot = -13.452564315963 | etot = -5.62847190421658 +398000 ekin = 4.45064950025928 | erot = 3.25392386318185 | epot = -13.3330452674375 | etot = -5.62847190399633 +399000 ekin = 4.45613851377312 | erot = 3.14269651880435 | epot = -13.2273069363759 | etot = -5.62847190379848 +400000 ekin = 4.4629760830569 | erot = 3.04745583063513 | epot = -13.1389038172371 | etot = -5.62847190354509 +401000 ekin = 4.4727554600177 | erot = 2.97053701408792 | epot = -13.0717643774651 | etot = -5.62847190335951 +402000 ekin = 4.48672336701277 | erot = 2.9139652257742 | epot = -13.0291604961274 | etot = -5.62847190334044 +403000 ekin = 4.50482841072929 | erot = 2.87870251806416 | epot = -13.0120028324087 | etot = -5.62847190361521 +404000 ekin = 4.52484325731466 | erot = 2.86379686211144 | epot = -13.0171120236776 | etot = -5.62847190425147 +405000 ekin = 4.54178669954817 | erot = 2.86535120565175 | epot = -13.0356098106769 | etot = -5.62847190547696 +406000 ekin = 4.548121869793 | erot = 2.87565623450054 | epot = -13.0522500108902 | etot = -5.62847190659667 +407000 ekin = 4.5356776566473 | erot = 2.88781666330103 | epot = -13.0519662273702 | etot = -5.62847190742183 +408000 ekin = 4.49806839875348 | erot = 2.89717319271638 | epot = -13.0237134991196 | etot = -5.62847190764973 +409000 ekin = 4.43289041828495 | erot = 2.90293173426126 | epot = -12.964294059822 | etot = -5.62847190727577 +410000 ekin = 4.34222243515046 | erot = 2.90784571760188 | epot = -12.8785400592982 | etot = -5.62847190654581 +411000 ekin = 4.23122328985371 | erot = 2.91632332326885 | epot = -12.7760185189177 | etot = -5.62847190579514 +412000 ekin = 4.10591302472413 | erot = 2.93234263222559 | epot = -12.6667275621851 | etot = -5.62847190523541 +413000 ekin = 3.97147909139413 | erot = 2.95826875334524 | epot = -12.5582197496453 | etot = -5.62847190490591 +414000 ekin = 3.83169645331915 | erot = 2.99487215437287 | epot = -12.4550405124353 | etot = -5.62847190474325 +415000 ekin = 3.68915556889385 | erot = 3.04191716150782 | epot = -12.359544635067 | etot = -5.62847190466537 +416000 ekin = 3.54575553260018 | erot = 3.09878213610913 | epot = -12.2730095733214 | etot = -5.62847190461212 +417000 ekin = 3.40315271148718 | erot = 3.16484246789781 | epot = -12.196467083937 | etot = -5.62847190455201 +418000 ekin = 3.26306253875512 | erot = 3.23960054552672 | epot = -12.1311349887548 | etot = -5.62847190447298 +419000 ekin = 3.12743539448039 | erot = 3.32265867810423 | epot = -12.0785659769574 | etot = -5.62847190437282 +420000 ekin = 2.9985468524975 | erot = 3.41362396345008 | epot = -12.0406427202035 | etot = -5.6284719042559 +421000 ekin = 2.87901712493616 | erot = 3.51197880379036 | epot = -12.0194678328627 | etot = -5.62847190413618 +422000 ekin = 2.77174596053191 | erot = 3.61690112203592 | epot = -12.0171189866093 | etot = -5.62847190404144 +423000 ekin = 2.67973794665325 | erot = 3.72700827486708 | epot = -12.0352181255352 | etot = -5.62847190401484 +424000 ekin = 2.60579870929048 | erot = 3.84002717528967 | epot = -12.0742977886928 | etot = -5.62847190411264 +425000 ekin = 2.55208954527575 | erot = 3.9524416789396 | epot = -12.1330031286141 | etot = -5.62847190439877 +426000 ekin = 2.51954653044551 | erot = 4.05920212807816 | epot = -12.2072205634536 | etot = -5.6284719049299 +427000 ekin = 2.50725893890309 | erot = 4.15363681830485 | epot = -12.289367662923 | etot = -5.62847190571505 +428000 ekin = 2.51210485174572 | erot = 4.22782399614682 | epot = -12.3684007545421 | etot = -5.62847190664956 +429000 ekin = 2.52911833232282 | erot = 4.27377369072579 | epot = -12.431363930529 | etot = -5.62847190748043 +430000 ekin = 2.55284926699967 | erot = 4.28551618826859 | epot = -12.4668373631572 | etot = -5.62847190788893 +431000 ekin = 2.57924139418917 | erot = 4.26142412036958 | epot = -12.4691374222417 | etot = -5.62847190768295 +432000 ekin = 2.60692475465698 | erot = 4.20541068246245 | epot = -12.4408073440566 | etot = -5.62847190693718 +433000 ekin = 2.63712842981307 | erot = 4.12604912501233 | epot = -12.3916494607613 | etot = -5.62847190593589 +434000 ekin = 2.67245542240352 | erot = 4.0340594892126 | epot = -12.3349868166048 | etot = -5.62847190498869 +435000 ekin = 2.7154385463927 | erot = 3.93961255970769 | epot = -12.2835230103846 | etot = -5.62847190428426 +436000 ekin = 2.76760991340479 | erot = 3.85063248523264 | epot = -12.2467143025142 | etot = -5.62847190387679 +437000 ekin = 2.82920515670504 | erot = 3.77223859650537 | epot = -12.2299156569372 | etot = -5.62847190372677 +438000 ekin = 2.89929820057594 | erot = 3.70707509975274 | epot = -12.2348452040968 | etot = -5.62847190376813 +439000 ekin = 2.97609334154046 | erot = 3.65590372389231 | epot = -12.2604689693734 | etot = -5.62847190394063 +440000 ekin = 3.05720906611473 | erot = 3.61815200784066 | epot = -12.3038329781562 | etot = -5.62847190420078 +441000 ekin = 3.13989672827454 | erot = 3.59232302399881 | epot = -12.3606916567915 | etot = -5.62847190451817 +442000 ekin = 3.22119927517245 | erot = 3.57626892520201 | epot = -12.4259401052482 | etot = -5.6284719048737 +443000 ekin = 3.29807867300703 | erot = 3.56737972996171 | epot = -12.4939303082161 | etot = -5.62847190524735 +444000 ekin = 3.36753883942798 | erot = 3.56276348927507 | epot = -12.5587742343218 | etot = -5.62847190561877 +445000 ekin = 3.42676046580105 | erot = 3.55942025919011 | epot = -12.6146526309568 | etot = -5.62847190596565 +446000 ekin = 3.47324383646181 | erot = 3.55443462308996 | epot = -12.6561503658209 | etot = -5.62847190626911 +447000 ekin = 3.5049735437584 | erot = 3.54511419619662 | epot = -12.6785596464618 | etot = -5.62847190650676 +448000 ekin = 3.52056213083121 | erot = 3.52974100709951 | epot = -12.6787750444512 | etot = -5.62847190652048 +449000 ekin = 3.51939696590914 | erot = 3.50705904510649 | epot = -12.6549279176213 | etot = -5.62847190660565 +450000 ekin = 3.50164536053693 | erot = 3.47565071065462 | epot = -12.6057679777917 | etot = -5.62847190660012 +451000 ekin = 3.46824790708062 | erot = 3.43472151201885 | epot = -12.5314413256013 | etot = -5.62847190650187 +452000 ekin = 3.42090312737136 | erot = 3.38414558728552 | epot = -12.4335206209692 | etot = -5.62847190631236 +453000 ekin = 3.36201791829034 | erot = 3.32449206044573 | epot = -12.3149818847727 | etot = -5.62847190603659 +454000 ekin = 3.29463316061277 | erot = 3.25701739818176 | epot = -12.180122464479 | etot = -5.62847190568451 +455000 ekin = 3.2223327489955 | erot = 3.18360703275921 | epot = -12.0344116870245 | etot = -5.62847190526976 +456000 ekin = 3.14914248629495 | erot = 3.10666992197183 | epot = -11.884284313078 | etot = -5.62847190481121 +457000 ekin = 3.07939737173802 | erot = 3.02894564057692 | epot = -11.7368149166547 | etot = -5.6284719043398 +458000 ekin = 3.01756413268755 | erot = 2.95322108561829 | epot = -11.5992571221579 | etot = -5.62847190385206 +459000 ekin = 2.9681063252435 | erot = 2.88249754735552 | epot = -11.4790757760042 | etot = -5.62847190340517 +460000 ekin = 2.93513889003432 | erot = 2.81955267520424 | epot = -11.3831634682736 | etot = -5.62847190303502 +461000 ekin = 2.92205746388812 | erot = 2.76669234907634 | epot = -11.3172217157442 | etot = -5.62847190277971 +462000 ekin = 2.93114290150651 | erot = 2.72556812595624 | epot = -11.2851829301355 | etot = -5.62847190267276 +463000 ekin = 2.96319319680456 | erot = 2.69703193761406 | epot = -11.2886970371553 | etot = -5.6284719027367 +464000 ekin = 3.01726238569007 | erot = 2.6810561513032 | epot = -11.3267904399689 | etot = -5.62847190297563 +465000 ekin = 3.09058398932397 | erot = 2.67674994759312 | epot = -11.3958058402875 | etot = -5.62847190337041 +466000 ekin = 3.17872270900452 | erot = 2.68248866700631 | epot = -11.4896832798918 | etot = -5.628471903881 +467000 ekin = 3.27594114496212 | erot = 2.69614045585922 | epot = -11.6005535052767 | etot = -5.62847190445533 +468000 ekin = 3.37571282133829 | erot = 2.71534026240541 | epot = -11.7195249887838 | etot = -5.62847190504008 +469000 ekin = 3.47128178262645 | erot = 2.73774679763611 | epot = -11.8375004858531 | etot = -5.62847190559053 +470000 ekin = 3.55617737698791 | erot = 2.76123628661821 | epot = -11.9458855696808 | etot = -5.62847190607467 +471000 ekin = 3.62463309399226 | erot = 2.78402790004387 | epot = -12.0371329005057 | etot = -5.62847190646961 +472000 ekin = 3.67190559891852 | erot = 2.80477124779255 | epot = -12.1051487534684 | etot = -5.62847190675733 +473000 ekin = 3.69451868440228 | erot = 2.82263116141548 | epot = -12.1456217527386 | etot = -5.62847190692079 +474000 ekin = 3.69045746330599 | erot = 2.83737882569196 | epot = -12.1563081959442 | etot = -5.62847190694626 +475000 ekin = 3.65932116349867 | erot = 2.84946541727501 | epot = -12.1372584875992 | etot = -5.62847190682555 +476000 ekin = 3.60242486137696 | erot = 2.86004016499145 | epot = -12.0909369329289 | etot = -5.62847190656049 +477000 ekin = 3.52282746239093 | erot = 2.87088465735982 | epot = -12.0221840259131 | etot = -5.62847190616239 +478000 ekin = 3.42525452629137 | erot = 2.88424967270433 | epot = -11.9379761046622 | etot = -5.62847190566652 +479000 ekin = 3.31588349738284 | erot = 2.90254646896319 | epot = -11.8469018714627 | etot = -5.62847190511672 +480000 ekin = 3.20192949245114 | erot = 2.92801081390706 | epot = -11.7584122109372 | etot = -5.62847190457903 +481000 ekin = 3.09102106839942 | erot = 2.96227510040326 | epot = -11.6817680729367 | etot = -5.62847190413407 +482000 ekin = 2.99039932400416 | erot = 3.00590839368512 | epot = -11.6247796215536 | etot = -5.6284719038643 +483000 ekin = 2.9060569334364 | erot = 3.05799802963363 | epot = -11.5925268669061 | etot = -5.62847190383611 +484000 ekin = 2.84200171523445 | erot = 3.11586840862564 | epot = -11.5863420279393 | etot = -5.62847190407919 +485000 ekin = 2.81072036467391 | erot = 3.03665546466979 | epot = -11.4758477218808 | etot = -5.62847189253711 +486000 ekin = 2.99172671785403 | erot = 2.89028588609215 | epot = -11.5104845146741 | etot = -5.62847191072794 +487000 ekin = 3.04661020879821 | erot = 2.89516257155408 | epot = -11.5702446859866 | etot = -5.62847190563434 +488000 ekin = 3.0281344545853 | erot = 2.91755814175983 | epot = -11.5741645018805 | etot = -5.62847190553541 +489000 ekin = 3.02918173186106 | erot = 2.9470327434341 | epot = -11.6046863808974 | etot = -5.62847190560225 +490000 ekin = 3.04920929971604 | erot = 2.98299921440123 | epot = -11.6606804199382 | etot = -5.62847190582094 +491000 ekin = 3.08564623418558 | erot = 3.02458607703473 | epot = -11.7387042173397 | etot = -5.62847190611936 +492000 ekin = 3.13426650211461 | erot = 3.07113014039408 | epot = -11.8338685489468 | etot = -5.62847190643812 +493000 ekin = 3.19024782352769 | erot = 3.12246736377737 | epot = -11.9411870939511 | etot = -5.628471906646 +494000 ekin = 3.24418110398504 | erot = 3.17757093527581 | epot = -12.0502240477778 | etot = -5.62847200851693 +495000 ekin = 3.12930691881382 | erot = 3.12025770004709 | epot = -11.8780365336897 | etot = -5.62847191482878 +496000 ekin = 3.38154400853442 | erot = 3.12702216684199 | epot = -12.1370381395859 | etot = -5.62847196420953 +497000 ekin = 3.537963343002 | erot = 3.21345240187732 | epot = -12.3798876661165 | etot = -5.6284719212372 +498000 ekin = 3.54725242241252 | erot = 3.31274815698128 | epot = -12.4884725006486 | etot = -5.62847192125477 +499000 ekin = 3.54686752389262 | erot = 3.42936350675123 | epot = -12.60470295199 | etot = -5.62847192134617 +500000 ekin = 3.53611629140885 | erot = 3.56214471852909 | epot = -12.7267329314508 | etot = -5.62847192151286 +501000 ekin = 3.51474019580975 | erot = 3.70831240066885 | epot = -12.8515245182369 | etot = -5.62847192175835 +502000 ekin = 3.48291543614181 | erot = 3.86351597862781 | epot = -12.9749033367607 | etot = -5.62847192199109 +503000 ekin = 3.44167367981676 | erot = 4.02200657200069 | epot = -13.0921521741653 | etot = -5.62847192234785 +504000 ekin = 3.39166561935593 | erot = 4.17733332047377 | epot = -13.1974708625707 | etot = -5.62847192274099 +505000 ekin = 3.33344269448486 | erot = 4.32266370132234 | epot = -13.2845783189393 | etot = -5.62847192313209 +506000 ekin = 3.26726906277248 | erot = 4.4515776416869 | epot = -13.3473186278588 | etot = -5.62847192339945 +507000 ekin = 3.1938836164723 | erot = 4.55898983234052 | epot = -13.3813453722982 | etot = -5.62847192348535 +508000 ekin = 3.11462724046553 | erot = 4.6420740647643 | epot = -13.3851732285644 | etot = -5.62847192333461 +509000 ekin = 3.03154551887398 | erot = 4.70083202647774 | epot = -13.3608494683075 | etot = -5.62847192295578 +510000 ekin = 2.94513058608832 | erot = 4.73730594225484 | epot = -13.3109084508294 | etot = -5.62847192248619 +511000 ekin = 2.85640718491609 | erot = 4.75516581385376 | epot = -13.2400449206913 | etot = -5.62847192192149 +512000 ekin = 2.76854482522115 | erot = 4.75962991525362 | epot = -13.1566466618396 | etot = -5.62847192136479 +513000 ekin = 2.68465921480016 | erot = 4.75599513195583 | epot = -13.0691262676546 | etot = -5.62847192089856 +514000 ekin = 2.60745568311009 | erot = 4.7487016866022 | epot = -12.9846292902954 | etot = -5.62847192058309 +515000 ekin = 2.53899080260848 | erot = 4.74082869238206 | epot = -12.9082914153961 | etot = -5.62847192040556 +516000 ekin = 2.48057862893556 | erot = 4.73416754061951 | epot = -12.8432180899117 | etot = -5.62847192035661 +517000 ekin = 2.43281299017177 | erot = 4.72933651070505 | epot = -12.79062142128 | etot = -5.62847192040314 +518000 ekin = 2.39567246197795 | erot = 4.72611868192558 | epot = -12.7502630644083 | etot = -5.62847192050478 +519000 ekin = 2.36868008074725 | erot = 4.72386163456341 | epot = -12.7210136359311 | etot = -5.62847192062046 +520000 ekin = 2.3510906802942 | erot = 4.72186744275436 | epot = -12.7014300437633 | etot = -5.62847192071475 +521000 ekin = 2.3420742612211 | erot = 4.7197022769944 | epot = -12.6902484589817 | etot = -5.62847192076616 +522000 ekin = 2.34085858395192 | erot = 4.71735113727184 | epot = -12.6866816419969 | etot = -5.62847192077317 +523000 ekin = 2.34541603963969 | erot = 4.65571671267266 | epot = -12.6296046827942 | etot = -5.62847193048181 +524000 ekin = 2.39460269537711 | erot = 4.54409239674616 | epot = -12.567167012402 | etot = -5.62847192027872 +525000 ekin = 2.51755565344997 | erot = 4.49060445323463 | epot = -12.636632032409 | etot = -5.62847192572444 +526000 ekin = 2.63891940337868 | erot = 4.49670026128235 | epot = -12.7640916024463 | etot = -5.62847193778531 +527000 ekin = 2.68130557078117 | erot = 4.50503337377532 | epot = -12.8148108746503 | etot = -5.62847193009386 +528000 ekin = 2.71450795010731 | erot = 4.51098798631249 | epot = -12.8539678666136 | etot = -5.62847193019376 +529000 ekin = 2.74727192394566 | erot = 4.51402301144395 | epot = -12.8897668656534 | etot = -5.62847193026377 +530000 ekin = 2.77952118314857 | erot = 4.5125666625393 | epot = -12.920559775978 | etot = -5.62847193029009 +531000 ekin = 2.81130699779759 | erot = 4.50555264767733 | epot = -12.9453315757438 | etot = -5.62847193026884 +532000 ekin = 2.84274553228349 | erot = 4.4925310698098 | epot = -12.963748532302 | etot = -5.62847193020875 +533000 ekin = 2.87393313770274 | erot = 4.47361780233943 | epot = -12.9760228701721 | etot = -5.62847193012992 +534000 ekin = 2.90486933807934 | erot = 4.44928844616361 | epot = -12.9826297142984 | etot = -5.62847193005544 +535000 ekin = 2.93541519865155 | erot = 4.42010482065011 | epot = -12.9839919493031 | etot = -5.62847193000139 +536000 ekin = 2.96529830147131 | erot = 4.38649798395495 | epot = -12.9802682153984 | etot = -5.62847192997214 +537000 ekin = 2.99415467149918 | erot = 4.34867665836394 | epot = -12.9713032598154 | etot = -5.62847192995229 +538000 ekin = 3.02158801647836 | erot = 4.30669342609989 | epot = -12.9567533725302 | etot = -5.62847192995193 +539000 ekin = 3.04722844371598 | erot = 4.26048951905692 | epot = -12.9361898927208 | etot = -5.62847192994795 +540000 ekin = 3.07077963641776 | erot = 4.21000980479747 | epot = -12.9092613711463 | etot = -5.62847192993109 +541000 ekin = 3.09204730614533 | erot = 4.15535061586808 | epot = -12.8758698519099 | etot = -5.62847192989645 +542000 ekin = 3.11094831331283 | erot = 4.09682671839993 | epot = -12.8362469615563 | etot = -5.62847192984357 +543000 ekin = 3.12750284880657 | erot = 4.03499383132477 | epot = -12.7909686099064 | etot = -5.62847192977506 +544000 ekin = 3.14181233916006 | erot = 3.9706269262205 | epot = -12.7409111950808 | etot = -5.62847192970023 +545000 ekin = 3.15402369276438 | erot = 3.90462208418148 | epot = -12.687117706573 | etot = -5.62847192962714 +546000 ekin = 3.16427777375903 | erot = 3.83809465728676 | epot = -12.6308443606047 | etot = -5.62847192955896 +547000 ekin = 3.17263245313991 | erot = 3.77248542238505 | epot = -12.5735898050567 | etot = -5.62847192953171 +548000 ekin = 3.17905114126804 | erot = 3.70842416476335 | epot = -12.5159472355704 | etot = -5.628471929539 +549000 ekin = 3.18335924851645 | erot = 3.64619443423877 | epot = -12.4580256122943 | etot = -5.6284719295391 +550000 ekin = 3.18506506659374 | erot = 3.58603484429188 | epot = -12.3995718405387 | etot = -5.62847192965304 +551000 ekin = 3.18354118865872 | erot = 3.52751972614777 | epot = -12.3395328445982 | etot = -5.62847192979176 +552000 ekin = 3.17814056099981 | erot = 3.46973317229041 | epot = -12.2763456632234 | etot = -5.62847192993316 +553000 ekin = 3.16816249048265 | erot = 3.41187716293338 | epot = -12.2085115834605 | etot = -5.62847193004443 +554000 ekin = 3.15297464057207 | erot = 3.35363386892335 | epot = -12.1350804395834 | etot = -5.62847193008797 +555000 ekin = 3.1321806554361 | erot = 3.29554931591194 | epot = -12.0562019013774 | etot = -5.62847193002936 +556000 ekin = 3.10581995745121 | erot = 3.23932890454018 | epot = -11.9736207918375 | etot = -5.62847192984613 +557000 ekin = 3.07457883900155 | erot = 3.18795403306842 | epot = -11.8910048016006 | etot = -5.62847192953059 +558000 ekin = 3.03998262656473 | erot = 3.14553707334837 | epot = -11.8139916290222 | etot = -5.62847192910913 +559000 ekin = 3.0045037898859 | erot = 3.11693712835399 | epot = -11.7499128468212 | etot = -5.62847192858133 +560000 ekin = 2.97145203626831 | erot = 3.10758181984132 | epot = -11.7075057841324 | etot = -5.62847192802278 +561000 ekin = 2.94451934106521 | erot = 3.12267269751328 | epot = -11.695663966143 | etot = -5.6284719275645 +562000 ekin = 2.92714140962176 | erot = 3.16633554918931 | epot = -11.7219488860595 | etot = -5.62847192724847 +563000 ekin = 2.92206147630413 | erot = 3.24077054349539 | epot = -11.7913039469992 | etot = -5.62847192719971 +564000 ekin = 2.93031627658954 | erot = 3.34563410950147 | epot = -11.9044223135914 | etot = -5.62847192750039 +565000 ekin = 2.95068712295411 | erot = 3.47751232956699 | epot = -12.0566713806754 | etot = -5.62847192815435 +566000 ekin = 2.97962685524118 | erot = 3.62985521349866 | epot = -12.2379539978653 | etot = -5.62847192912545 +567000 ekin = 3.0117159357824 | erot = 3.79324477331537 | epot = -12.4334326394135 | etot = -5.62847193031574 +568000 ekin = 3.04054477450319 | erot = 3.95610049167747 | epot = -12.6251171977687 | etot = -5.62847193158806 +569000 ekin = 3.05981811082524 | erot = 4.10576505730328 | epot = -12.7940551009116 | etot = -5.62847193278313 +570000 ekin = 3.06446758301559 | erot = 4.22987220707428 | epot = -12.9228117238313 | etot = -5.62847193374141 +571000 ekin = 3.0515919104533 | erot = 4.31782950105801 | epot = -12.9978933458373 | etot = -5.62847193432598 +572000 ekin = 3.02108996843848 | erot = 4.36217384042166 | epot = -13.0117357433083 | etot = -5.62847193444813 +573000 ekin = 2.97589592650755 | erot = 4.35953364448391 | epot = -12.9639015050779 | etot = -5.62847193408648 +574000 ekin = 2.92177260951733 | erot = 4.31098813649777 | epot = -12.8612326793134 | etot = -5.62847193329834 +575000 ekin = 2.86675845149345 | erot = 4.22206447606537 | epot = -12.7172948575968 | etot = -5.62847193003794 +576000 ekin = 2.82238695046887 | erot = 4.11002108703335 | epot = -12.5608799670193 | etot = -5.62847192951707 +577000 ekin = 2.79586021289829 | erot = 3.98405314237152 | epot = -12.4083852843567 | etot = -5.62847192908693 +578000 ekin = 2.79062678649988 | erot = 3.84816173903585 | epot = -12.2672604543832 | etot = -5.62847192884748 +579000 ekin = 2.80727876765194 | erot = 3.7063076840155 | epot = -12.1420583804986 | etot = -5.6284719288312 +580000 ekin = 2.84308800283874 | erot = 3.56147502226538 | epot = -12.0330349544021 | etot = -5.62847192929796 +581000 ekin = 2.8927594516754 | erot = 3.41677708041289 | epot = -11.9380084614607 | etot = -5.62847192937237 +582000 ekin = 2.94948274096193 | erot = 3.27852635633959 | epot = -11.8564810267434 | etot = -5.62847192944192 +583000 ekin = 3.00600312777781 | erot = 3.15339507870142 | epot = -11.7878701359047 | etot = -5.62847192942545 +584000 ekin = 3.05615870299363 | erot = 3.04800743036146 | epot = -11.7326380626562 | etot = -5.62847192930113 +585000 ekin = 3.09596263905195 | erot = 2.96828908155839 | epot = -11.6927236497015 | etot = -5.62847192909114 +586000 ekin = 3.12407298196409 | erot = 2.91878541592703 | epot = -11.6713303267181 | etot = -5.62847192882701 +587000 ekin = 3.1417461421883 | erot = 2.90225430097043 | epot = -11.6724723716963 | etot = -5.62847192853757 +588000 ekin = 3.15240031621057 | erot = 2.91960613647359 | epot = -11.7004783809454 | etot = -5.62847192826126 +589000 ekin = 3.16081808256559 | erot = 2.97006448179299 | epot = -11.7593544923991 | etot = -5.62847192804055 +590000 ekin = 3.17204827386215 | erot = 3.05134069933582 | epot = -11.851860901114 | etot = -5.62847192791604 +591000 ekin = 3.19150299841088 | erot = 3.16015018739589 | epot = -11.9801251137996 | etot = -5.62847192799281 +592000 ekin = 3.22264872305427 | erot = 3.2920405752428 | epot = -12.1431612266149 | etot = -5.6284719283178 +593000 ekin = 3.26585695466861 | erot = 3.44092346947024 | epot = -12.335252352998 | etot = -5.62847192885916 +594000 ekin = 3.31918005199199 | erot = 3.59965335611017 | epot = -12.5473053376671 | etot = -5.62847192956493 +595000 ekin = 3.37897127086391 | erot = 3.76045843951842 | epot = -12.7679016406725 | etot = -5.62847193029017 +596000 ekin = 3.43824068582474 | erot = 3.91359738336251 | epot = -12.9803100018126 | etot = -5.62847193262531 +597000 ekin = 3.48744876802135 | erot = 4.0478243787173 | epot = -13.1637450799978 | etot = -5.62847193325914 +598000 ekin = 3.52187002174283 | erot = 4.15698580436678 | epot = -13.307327759723 | etot = -5.62847193361335 +599000 ekin = 3.53831455076447 | erot = 4.23767846722027 | epot = -13.4044649516698 | etot = -5.62847193368508 +600000 ekin = 3.53510970434128 | erot = 4.28920847115898 | epot = -13.4527901090173 | etot = -5.62847193351703 +601000 ekin = 3.51191041821579 | erot = 4.31320178205608 | epot = -13.4535841334509 | etot = -5.62847193317902 +602000 ekin = 3.46937521149507 | erot = 4.31295152750157 | epot = -13.4107986717423 | etot = -5.62847193274563 +603000 ekin = 3.4088222124387 | erot = 4.29270411938567 | epot = -13.3299982641027 | etot = -5.62847193227831 +604000 ekin = 3.33194570984168 | erot = 4.25705245873742 | epot = -13.2174701003966 | etot = -5.62847193181754 +605000 ekin = 3.2406264378913 | erot = 4.21052248047251 | epot = -13.0796208497473 | etot = -5.62847193138353 +606000 ekin = 3.13683319326865 | erot = 4.15735875804854 | epot = -12.9226638822973 | etot = -5.62847193098009 +607000 ekin = 3.02259481110688 | erot = 4.10146703780694 | epot = -12.7525337795153 | etot = -5.62847193060149 +608000 ekin = 2.90001652261395 | erot = 4.04645475164202 | epot = -12.5749432044933 | etot = -5.6284719302373 +609000 ekin = 2.77131728809351 | erot = 3.99571460788032 | epot = -12.3955038258513 | etot = -5.62847192987747 +610000 ekin = 2.63886938891702 | erot = 3.95250622998014 | epot = -12.2198475484129 | etot = -5.62847192951569 +611000 ekin = 2.50524882251801 | erot = 3.920032937849 | epot = -12.053753689229 | etot = -5.62847192886197 +612000 ekin = 2.37382087283167 | erot = 3.90218869860999 | epot = -11.9044814999747 | etot = -5.62847192853301 +613000 ekin = 2.24769613365103 | erot = 3.90186788756939 | epot = -11.7780359494445 | etot = -5.62847192822403 +614000 ekin = 2.12975142865347 | erot = 3.92103062122306 | epot = -11.6792539778537 | etot = -5.62847192797718 +615000 ekin = 2.02283676466854 | erot = 3.96080056836513 | epot = -11.6121092608611 | etot = -5.6284719278274 +616000 ekin = 1.92967019047414 | erot = 4.02099162192593 | epot = -11.5791337402076 | etot = -5.62847192780754 +617000 ekin = 1.85273791862989 | erot = 4.099744744135 | epot = -11.5809545907117 | etot = -5.62847192794679 +618000 ekin = 1.7942029629718 | erot = 4.19322703631862 | epot = -11.6159019275489 | etot = -5.6284719282585 +619000 ekin = 1.75583197431074 | erot = 4.29552606656025 | epot = -11.6798299695989 | etot = -5.62847192872788 +620000 ekin = 1.73895870101793 | erot = 4.39891672383331 | epot = -11.7663473541522 | etot = -5.62847192930098 +621000 ekin = 1.74449834720697 | erot = 4.49462250674119 | epot = -11.8675927838345 | etot = -5.62847192988636 +622000 ekin = 1.77300875733458 | erot = 4.57403518100206 | epot = -11.9755158687144 | etot = -5.62847193037778 +623000 ekin = 1.82476626673924 | erot = 4.63011744403992 | epot = -12.0833556414698 | etot = -5.62847193069065 +624000 ekin = 1.89980556105245 | erot = 4.65854151402706 | epot = -12.1868190058735 | etot = -5.628471930794 +625000 ekin = 1.99788931017694 | erot = 4.65817060170441 | epot = -12.2845318425975 | etot = -5.62847193071619 +626000 ekin = 2.11841939018701 | erot = 4.63077870093506 | epot = -12.3776700216461 | etot = -5.628471930524 +627000 ekin = 2.26034340511523 | erot = 4.5802426839639 | epot = -12.4690580193665 | etot = -5.6284719302874 +628000 ekin = 2.42211143994082 | erot = 4.51161612051721 | epot = -12.5621994905184 | etot = -5.62847193006037 +629000 ekin = 2.60047669423503 | erot = 4.43316974506441 | epot = -12.6621183686995 | etot = -5.62847192940005 +630000 ekin = 2.75035749006496 | erot = 4.31003905739293 | epot = -12.6888685131607 | etot = -5.62847196570277 +631000 ekin = 2.81471524145153 | erot = 4.1177453598379 | epot = -12.5609325370485 | etot = -5.62847193575907 +632000 ekin = 2.95867552227146 | erot = 4.07926707213495 | epot = -12.6664145272728 | etot = -5.62847193286638 +633000 ekin = 3.21010693605695 | erot = 4.20581326830098 | epot = -13.0443921664311 | etot = -5.62847196207314 +634000 ekin = 3.41641131502396 | erot = 4.25928215928574 | epot = -13.3041654106762 | etot = -5.6284719363665 +635000 ekin = 3.57385274076439 | erot = 4.24018711600146 | epot = -13.4425117939027 | etot = -5.62847193713684 +636000 ekin = 3.71894531192015 | erot = 4.21896102702093 | epot = -13.5663782769141 | etot = -5.62847193797298 +637000 ekin = 3.84555962846069 | erot = 4.19009538991242 | epot = -13.6641269570415 | etot = -5.62847193866843 +638000 ekin = 3.94874232720897 | erot = 4.14881281924716 | epot = -13.7260270854934 | etot = -5.62847193903727 +639000 ekin = 4.02564653197239 | erot = 4.09271382118292 | epot = -13.7468322921586 | etot = -5.62847193900331 +640000 ekin = 4.07582551362717 | erot = 4.02260436117536 | epot = -13.7269018134182 | etot = -5.62847193861568 +641000 ekin = 4.10019063758673 | erot = 3.94203419565371 | epot = -13.670696771703 | etot = -5.62847193846252 +642000 ekin = 4.09923585986421 | erot = 3.85569636510016 | epot = -13.5834041628477 | etot = -5.62847193788336 +643000 ekin = 4.07616079969331 | erot = 3.76850329633298 | epot = -13.4731360333853 | etot = -5.62847193735897 +644000 ekin = 4.03483546293706 | erot = 3.68428538411615 | epot = -13.3475927839978 | etot = -5.62847193694458 +645000 ekin = 3.97939693520722 | erot = 3.60521279246359 | epot = -13.2130816642939 | etot = -5.62847193662304 +646000 ekin = 3.91424157378713 | erot = 3.53197746515019 | epot = -13.0746909752778 | etot = -5.62847193634044 +647000 ekin = 3.84412108338865 | erot = 3.46430751174276 | epot = -12.936900531313 | etot = -5.62847193618156 +648000 ekin = 3.77442093435187 | erot = 3.40030625097309 | epot = -12.803199121189 | etot = -5.62847193586402 +649000 ekin = 3.71064844389534 | erot = 3.33902116858815 | epot = -12.6781415480255 | etot = -5.62847193554202 +650000 ekin = 3.65777288951916 | erot = 3.28036981758716 | epot = -12.5666146423759 | etot = -5.62847193526958 +651000 ekin = 3.61962254745685 | erot = 3.22458240432363 | epot = -12.4726768868735 | etot = -5.62847193509302 +652000 ekin = 3.59838866978257 | erot = 3.17201593042838 | epot = -12.3988765352415 | etot = -5.62847193503051 +653000 ekin = 3.59447660060613 | erot = 3.12302902489282 | epot = -12.3459775605645 | etot = -5.62847193506556 +654000 ekin = 3.60674141926014 | erot = 3.07797678374685 | epot = -12.3131901381652 | etot = -5.62847193515817 +655000 ekin = 3.6329884132142 | erot = 3.0372849708598 | epot = -12.298745319343 | etot = -5.62847193526905 +656000 ekin = 3.67052655540377 | erot = 3.00147990310302 | epot = -12.3004783938925 | etot = -5.62847193538567 +657000 ekin = 3.71734630717454 | erot = 2.97084073566211 | epot = -12.3166589782294 | etot = -5.62847193539274 +658000 ekin = 3.75778663127986 | erot = 2.94872940878028 | epot = -12.3349879988478 | etot = -5.62847195878767 +659000 ekin = 3.70128994140422 | erot = 2.99267200720399 | epot = -12.322433884335 | etot = -5.62847193572677 +660000 ekin = 3.77980484716758 | erot = 3.05081678620785 | epot = -12.4590935974502 | etot = -5.62847196407474 +661000 ekin = 3.87674047159649 | erot = 3.02043722452879 | epot = -12.525649641487 | etot = -5.62847194536175 +662000 ekin = 3.96189665337338 | erot = 2.97294510662666 | epot = -12.5633137063048 | etot = -5.62847194630474 +663000 ekin = 4.03233992144667 | erot = 2.90724728966555 | epot = -12.5680591574414 | etot = -5.62847194632914 +664000 ekin = 4.08703350805977 | erot = 2.82371074123732 | epot = -12.5392161951071 | etot = -5.62847194581 +665000 ekin = 4.13016908297309 | erot = 2.72591755760502 | epot = -12.4845585856306 | etot = -5.62847194505245 +666000 ekin = 4.16485763713769 | erot = 2.62158318056703 | epot = -12.4149127617789 | etot = -5.62847194407414 +667000 ekin = 4.19388444252446 | erot = 2.52048046546624 | epot = -12.3428368513066 | etot = -5.62847194331587 +668000 ekin = 4.21970111382924 | erot = 2.43117566525611 | epot = -12.2793487218498 | etot = -5.62847194276442 +669000 ekin = 4.24419480080694 | erot = 2.35970998739347 | epot = -12.2323767306056 | etot = -5.62847194240515 +670000 ekin = 4.26650932858638 | erot = 2.31009212963131 | epot = -12.205073400494 | etot = -5.62847194227631 +671000 ekin = 4.28028750599208 | erot = 2.28394068935258 | epot = -12.1927001375686 | etot = -5.62847194222394 +672000 ekin = 4.28604953834283 | erot = 2.28087700930265 | epot = -12.1953984898335 | etot = -5.62847194218805 +673000 ekin = 4.28538321001861 | erot = 2.29981058099184 | epot = -12.2136657331544 | etot = -5.62847194214396 +674000 ekin = 4.28032637907724 | erot = 2.33931519979736 | epot = -12.2481135209779 | etot = -5.6284719421033 +675000 ekin = 4.27310613165764 | erot = 2.39770546320171 | epot = -12.2992835369734 | etot = -5.62847194211401 +676000 ekin = 4.26563141866178 | erot = 2.4728304784173 | epot = -12.3669338393533 | etot = -5.62847194227417 +677000 ekin = 4.25873601046005 | erot = 2.56159475121792 | epot = -12.4488027043104 | etot = -5.62847194263247 +678000 ekin = 4.25154383428171 | erot = 2.65951246646833 | epot = -12.5395282439892 | etot = -5.62847194323914 +679000 ekin = 4.24120573481474 | erot = 2.76057514733209 | epot = -12.630252826186 | etot = -5.62847194403915 +680000 ekin = 4.22320051194648 | erot = 2.85770689084164 | epot = -12.7093793476574 | etot = -5.62847194486926 +681000 ekin = 4.1924284546272 | erot = 2.94400272523514 | epot = -12.7649031253611 | etot = -5.62847194549873 +682000 ekin = 4.14477706345917 | erot = 3.01435956360772 | epot = -12.7876085728122 | etot = -5.62847194574536 +683000 ekin = 4.07850194585553 | erot = 3.06669689279676 | epot = -12.7736707842126 | etot = -5.62847194556027 +684000 ekin = 3.98766788580418 | erot = 3.09062770615288 | epot = -12.7067675423427 | etot = -5.62847195038565 +685000 ekin = 3.876099760335 | erot = 3.07213118817965 | epot = -12.5767028921904 | etot = -5.6284719436757 +686000 ekin = 3.78865422807076 | erot = 3.05379982502793 | epot = -12.4709259954479 | etot = -5.62847194234925 +687000 ekin = 3.72885638140324 | erot = 3.0512831037603 | epot = -12.4086114323937 | etot = -5.62847194723014 +688000 ekin = 3.65488085471333 | erot = 3.04382149742279 | epot = -12.3271742984754 | etot = -5.62847194633926 +689000 ekin = 3.57606770156701 | erot = 3.03834252482284 | epot = -12.2428821720227 | etot = -5.62847194563281 +690000 ekin = 3.5163442557747 | erot = 3.04775260779204 | epot = -12.1925688086869 | etot = -5.62847194512014 +691000 ekin = 3.479714457667 | erot = 3.07622358468465 | epot = -12.1844099872179 | etot = -5.62847194486626 +692000 ekin = 3.46765181285756 | erot = 3.12642449713322 | epot = -12.2225482549237 | etot = -5.62847194493293 +693000 ekin = 3.47854301585795 | erot = 3.19918358101017 | epot = -12.3061985422019 | etot = -5.62847194533383 +694000 ekin = 3.50760869835413 | erot = 3.2934044105347 | epot = -12.4294850548997 | etot = -5.62847194601086 +695000 ekin = 3.54747029199334 | erot = 3.40637947917737 | epot = -12.5823217180174 | etot = -5.62847194684668 +696000 ekin = 3.58927155200294 | erot = 3.53441505502552 | epot = -12.7521585547315 | etot = -5.62847194770304 +697000 ekin = 3.62399868557179 | erot = 3.6734776731682 | epot = -12.9259483071981 | etot = -5.62847194845815 +698000 ekin = 3.64429609788807 | erot = 3.81929275612903 | epot = -13.0920608031207 | etot = -5.62847194910361 +699000 ekin = 3.64411727681169 | erot = 3.96826912309839 | epot = -13.2408583494292 | etot = -5.62847194951913 +700000 ekin = 3.61972386503995 | erot = 4.11779628938367 | epot = -13.3659921041098 | etot = -5.62847194968622 +701000 ekin = 3.57045543154956 | erot = 4.26605645148198 | epot = -13.4649838327663 | etot = -5.62847194973473 +702000 ekin = 3.49917622968027 | erot = 4.41037029523648 | epot = -13.5380184745267 | etot = -5.62847194960996 +703000 ekin = 3.41079978162148 | erot = 4.54773448504201 | epot = -13.5870062160415 | etot = -5.62847194937802 +704000 ekin = 3.31149657260329 | erot = 4.67560464111897 | epot = -13.6155731628048 | etot = -5.62847194908253 +705000 ekin = 3.2080790304827 | erot = 4.79162132907335 | epot = -13.6281723083369 | etot = -5.62847194878086 +706000 ekin = 3.10702043893943 | erot = 4.89365607518946 | epot = -13.6291484626722 | etot = -5.6284719485433 +707000 ekin = 3.01353531404712 | erot = 4.97967086427614 | epot = -13.6216781267622 | etot = -5.62847194843897 +708000 ekin = 2.93091332937569 | erot = 5.04739802062547 | epot = -13.6067832985163 | etot = -5.6284719485151 +709000 ekin = 2.86026033864142 | erot = 5.09399325394035 | epot = -13.5827255413543 | etot = -5.62847194877252 +710000 ekin = 2.80069789524477 | erot = 5.11589857289861 | epot = -13.545068417301 | etot = -5.62847194915761 +711000 ekin = 2.74994326389775 | erot = 5.10911210220021 | epot = -13.4875273156654 | etot = -5.62847194956741 +712000 ekin = 2.70509857008229 | erot = 5.06990681739858 | epot = -13.4034773373586 | etot = -5.62847194987772 +713000 ekin = 2.66343594223169 | erot = 4.99582282570971 | epot = -13.2877307179238 | etot = -5.62847194998245 +714000 ekin = 2.6229798284771 | erot = 4.88658411810223 | epot = -13.1380358964111 | etot = -5.62847194983175 +715000 ekin = 2.58275404739882 | erot = 4.74456650502127 | epot = -12.955792501868 | etot = -5.62847194944791 +716000 ekin = 2.54267933959134 | erot = 4.57461726456523 | epot = -12.7457685530667 | etot = -5.62847194891013 +717000 ekin = 2.50334691995156 | erot = 4.38348005444583 | epot = -12.5152989223949 | etot = -5.6284719479975 +718000 ekin = 2.46867182026079 | erot = 4.18280619287776 | epot = -12.2799499608795 | etot = -5.62847194774092 +719000 ekin = 2.44027484636896 | erot = 3.97913844269331 | epot = -12.0478852365523 | etot = -5.62847194748998 +720000 ekin = 2.41790751003703 | erot = 3.77617089292149 | epot = -11.8225503502079 | etot = -5.6284719472494 +721000 ekin = 2.40130900294611 | erot = 3.57751641362963 | epot = -11.6072973635973 | etot = -5.62847194702155 +722000 ekin = 2.39001969414016 | erot = 3.38620933334962 | epot = -11.4047009745045 | etot = -5.6284719470147 +723000 ekin = 2.38288808189959 | erot = 3.20447847595442 | epot = -11.2158385045713 | etot = -5.62847194671727 +724000 ekin = 2.3803813723149 | erot = 3.03585463084127 | epot = -11.0447079496027 | etot = -5.62847194644655 +725000 ekin = 2.3833490435995 | erot = 2.88343528869407 | epot = -10.8952562784996 | etot = -5.62847194620604 +726000 ekin = 2.39277988796305 | erot = 2.74974572521145 | epot = -10.7709975591759 | etot = -5.6284719460014 +727000 ekin = 2.40968215723269 | erot = 2.63676770299886 | epot = -10.67492180607 | etot = -5.62847194583841 +728000 ekin = 2.42515137988963 | erot = 2.54412147898368 | epot = -10.5977448182241 | etot = -5.62847195935075 +729000 ekin = 2.40297855332233 | erot = 2.51475999940565 | epot = -10.5462104921551 | etot = -5.62847193942709 +730000 ekin = 2.46310039276272 | erot = 2.54088838264026 | epot = -10.632460714378 | etot = -5.62847193897497 +731000 ekin = 2.53308642089727 | erot = 2.54954386940515 | epot = -10.7111022293682 | etot = -5.62847193906579 +732000 ekin = 2.61398262089544 | erot = 2.58024874599413 | epot = -10.8227033061636 | etot = -5.62847193927408 +733000 ekin = 2.70404858445632 | erot = 2.63167940195199 | epot = -10.9641999260514 | etot = -5.62847193964312 +734000 ekin = 2.80051950068967 | erot = 2.70132929839112 | epot = -11.1303207393002 | etot = -5.62847194021941 +735000 ekin = 2.89941283722633 | erot = 2.78510796762023 | epot = -11.3129927458789 | etot = -5.62847194103234 +736000 ekin = 2.99560133067232 | erot = 2.87741009015498 | epot = -11.5014833619209 | etot = -5.62847194109365 +737000 ekin = 3.08481605494955 | erot = 2.97524489359296 | epot = -11.6885328905225 | etot = -5.62847194198002 +738000 ekin = 3.16217862832009 | erot = 3.07317374868925 | epot = -11.8638243198073 | etot = -5.62847194279795 +739000 ekin = 3.22336037234166 | erot = 3.16493875121252 | epot = -12.0167710668997 | etot = -5.62847194334552 +740000 ekin = 3.26585131643273 | erot = 3.24522139629719 | epot = -12.1395446571587 | etot = -5.62847194442879 +741000 ekin = 3.28375382533968 | erot = 3.29991441187474 | epot = -12.212140181641 | etot = -5.62847194442657 +742000 ekin = 3.27631313182792 | erot = 3.32408611714212 | epot = -12.2288711929082 | etot = -5.62847194393818 +743000 ekin = 3.24737724842533 | erot = 3.32046927282599 | epot = -12.1963184644485 | etot = -5.62847194319719 +744000 ekin = 3.20210603655827 | erot = 3.29401551202302 | epot = -12.1245934909966 | etot = -5.62847194241536 +745000 ekin = 3.14567705942215 | erot = 3.25033567027571 | epot = -12.0244846714081 | etot = -5.62847194171029 +746000 ekin = 3.08279906327067 | erot = 3.19521988713644 | epot = -11.9064908912697 | etot = -5.62847194086257 +747000 ekin = 3.01768881789554 | erot = 3.13473855339626 | epot = -11.780899311672 | etot = -5.62847194038016 +748000 ekin = 2.95302867481637 | erot = 3.07321432169985 | epot = -11.6547149364592 | etot = -5.62847193994297 +749000 ekin = 2.89104396181994 | erot = 3.01469856721782 | epot = -11.534214468566 | etot = -5.62847193952823 +750000 ekin = 2.8337941746493 | erot = 2.96315742669507 | epot = -11.4254235404754 | etot = -5.62847193913108 +751000 ekin = 2.78329891313933 | erot = 2.92241777465506 | epot = -11.334188626555 | etot = -5.62847193876058 +752000 ekin = 2.74156846346743 | erot = 2.89600799329777 | epot = -11.2660483951996 | etot = -5.62847193843439 +753000 ekin = 2.71056677655963 | erot = 2.8869375345651 | epot = -11.2259762493015 | etot = -5.62847193817674 +754000 ekin = 2.69212502675219 | erot = 2.89743125957527 | epot = -11.218028224346 | etot = -5.62847193801851 +755000 ekin = 2.68776538375006 | erot = 2.92849871095324 | epot = -11.2447360327745 | etot = -5.62847193807121 +756000 ekin = 2.69845743043341 | erot = 2.97938409365368 | epot = -11.3063134623189 | etot = -5.62847193823178 +757000 ekin = 2.7245849642024 | erot = 3.04788425624735 | epot = -11.4009411590838 | etot = -5.628471938634 +758000 ekin = 2.76540921284501 | erot = 3.12962823281614 | epot = -11.5235093849758 | etot = -5.62847193931463 +759000 ekin = 2.81868342062832 | erot = 3.2179457539271 | epot = -11.6651011148134 | etot = -5.62847194025796 +760000 ekin = 2.88053746474593 | erot = 3.30429272398516 | epot = -11.8133021300751 | etot = -5.62847194134403 +761000 ekin = 2.94600007667602 | erot = 3.37947250551466 | epot = -11.9539445245137 | etot = -5.628471942323 +762000 ekin = 3.01037281077531 | erot = 3.43568700380028 | epot = -12.074531757463 | etot = -5.62847194288743 +763000 ekin = 3.07103775529337 | erot = 3.4688160008779 | epot = -12.1683256990123 | etot = -5.62847194284105 +764000 ekin = 3.1286639507601 | erot = 3.47975039716702 | epot = -12.2368862901611 | etot = -5.62847194223402 +765000 ekin = 3.18696433131214 | erot = 3.47390232188834 | epot = -12.2893385945311 | etot = -5.62847194133062 +766000 ekin = 3.25112146464065 | erot = 3.45917589108991 | epot = -12.3387692961781 | etot = -5.62847194044749 +767000 ekin = 3.3257732822072 | erot = 3.44357056062516 | epot = -12.3978157826508 | etot = -5.62847193981849 +768000 ekin = 3.41341833403058 | erot = 3.43342634990815 | epot = -12.4753166234905 | etot = -5.62847193955173 +769000 ekin = 3.51361597973961 | erot = 3.43258837752158 | epot = -12.5746762969179 | etot = -5.62847193965668 +770000 ekin = 3.62296220637373 | erot = 3.44225950985554 | epot = -12.69369365631 | etot = -5.6284719400807 +771000 ekin = 3.67754209930831 | erot = 3.42051682773995 | epot = -12.7265308948551 | etot = -5.62847196780683 +772000 ekin = 3.59351734147161 | erot = 3.35849685543844 | epot = -12.5804861304497 | etot = -5.62847193353968 +773000 ekin = 3.58504863518163 | erot = 3.48413941962712 | epot = -12.6976599880777 | etot = -5.62847193326899 +774000 ekin = 3.69556246730569 | erot = 3.75600381589561 | epot = -13.0800382519994 | etot = -5.62847196879806 +775000 ekin = 3.75799647075416 | erot = 3.87395641064186 | epot = -13.2604248539395 | etot = -5.62847197254345 +776000 ekin = 3.7651493109943 | erot = 3.89275295664149 | epot = -13.2863742403519 | etot = -5.62847197271613 +777000 ekin = 3.7485283802971 | erot = 3.88975944451916 | epot = -13.2667597971623 | etot = -5.62847197234605 +778000 ekin = 3.71300754115221 | erot = 3.86527182244794 | epot = -13.2067513352313 | etot = -5.62847197163116 +779000 ekin = 3.66665793168574 | erot = 3.82295167610353 | epot = -13.1180815783184 | etot = -5.62847197052915 +780000 ekin = 3.6197277323346 | erot = 3.76957330549218 | epot = -13.0177730071122 | etot = -5.62847196928545 +781000 ekin = 3.582762426071 | erot = 3.71368279728973 | epot = -12.9249171915596 | etot = -5.62847196819882 +782000 ekin = 3.56434384360535 | erot = 3.66344621659026 | epot = -12.8562620277053 | etot = -5.62847196750966 +783000 ekin = 3.56907083441011 | erot = 3.6245960139525 | epot = -12.8221388158157 | etot = -5.62847196745307 +784000 ekin = 3.5965557822763 | erot = 3.59908724274969 | epot = -12.824114992835 | etot = -5.62847196780897 +785000 ekin = 3.64263842921577 | erot = 3.58559579680112 | epot = -12.8567061945069 | etot = -5.62847196848997 +786000 ekin = 3.70061363597188 | erot = 3.58032714286029 | epot = -12.9094127481158 | etot = -5.62847196928365 +787000 ekin = 3.76290289549889 | erot = 3.5782784647877 | epot = -12.9696533303321 | etot = -5.62847197004554 +788000 ekin = 3.822306912577 | erot = 3.57432079318471 | epot = -13.0250996764347 | etot = -5.628471970673 +789000 ekin = 3.87288356010198 | erot = 3.5640275049411 | epot = -13.0653830361478 | etot = -5.62847197110472 +790000 ekin = 3.91054381117187 | erot = 3.54422213310747 | epot = -13.0832379155458 | etot = -5.62847197126644 +791000 ekin = 3.93344679988893 | erot = 3.51333982536365 | epot = -13.075258596435 | etot = -5.62847197118246 +792000 ekin = 3.94193166980327 | erot = 3.47142235433641 | epot = -13.0418259950432 | etot = -5.6284719709035 +793000 ekin = 3.9380533746213 | erot = 3.41982689800064 | epot = -12.9863522431252 | etot = -5.62847197050325 +794000 ekin = 3.92496167497727 | erot = 3.36081973432835 | epot = -12.9142533793578 | etot = -5.62847197005219 +795000 ekin = 3.90631843193004 | erot = 3.29713731787245 | epot = -12.8319277194087 | etot = -5.62847196960623 +796000 ekin = 3.88587920081752 | erot = 3.23158100763125 | epot = -12.7459321776508 | etot = -5.62847196920202 +797000 ekin = 3.86724402811157 | erot = 3.16668037608652 | epot = -12.6623963730587 | etot = -5.62847196886061 +798000 ekin = 3.85371944439479 | erot = 3.10446220687512 | epot = -12.5866536198586 | etot = -5.62847196858871 +799000 ekin = 3.84821326108177 | erot = 3.04637406837098 | epot = -12.5230592978372 | etot = -5.6284719683845 +800000 ekin = 3.85308746095944 | erot = 2.99338091096299 | epot = -12.4749403401633 | etot = -5.62847196824089 +801000 ekin = 3.8699474209389 | erot = 2.94620265026981 | epot = -12.4446220393607 | etot = -5.62847196815198 +802000 ekin = 3.89938743528548 | erot = 2.90559564184607 | epot = -12.4334550452488 | etot = -5.62847196811729 +803000 ekin = 3.94077451954891 | erot = 2.87255363125875 | epot = -12.4418001189476 | etot = -5.62847196813989 +804000 ekin = 3.99217445515592 | erot = 2.84833794113921 | epot = -12.4689843645178 | etot = -5.62847196822264 +805000 ekin = 4.05048829000735 | erot = 2.83432176411526 | epot = -12.513282022487 | etot = -5.62847196836439 +806000 ekin = 4.1117832972839 | erot = 2.83170980293985 | epot = -12.5719650687838 | etot = -5.62847196856007 +807000 ekin = 4.17172086372807 | erot = 2.84122318399144 | epot = -12.6414160165231 | etot = -5.62847196880358 +808000 ekin = 4.22595471203353 | erot = 2.86283161227628 | epot = -12.7172582934001 | etot = -5.62847196909029 +809000 ekin = 4.27041103452004 | erot = 2.89559061360523 | epot = -12.7944736175402 | etot = -5.62847196941492 +810000 ekin = 4.301435791566 | erot = 2.93761851640051 | epot = -12.8675262777331 | etot = -5.62847196976662 +811000 ekin = 4.31585912497783 | erot = 2.98622782360862 | epot = -12.9305589187105 | etot = -5.62847197012403 +812000 ekin = 4.31104963149467 | erot = 3.03819974723406 | epot = -12.9777213491839 | etot = -5.62847197045514 +813000 ekin = 4.28501152883215 | erot = 3.09015837072237 | epot = -13.0036418702754 | etot = -5.6284719707209 +814000 ekin = 4.23653530291243 | erot = 3.13897206730526 | epot = -13.0039793411017 | etot = -5.62847197088401 +815000 ekin = 4.16537042814435 | erot = 3.18209773847961 | epot = -12.9759401375431 | etot = -5.62847197091918 +816000 ekin = 4.07236517527975 | erot = 3.21779646423656 | epot = -12.9186336103346 | etot = -5.62847197081825 +817000 ekin = 3.95951977497419 | erot = 3.24518380277815 | epot = -12.8331755483459 | etot = -5.62847197059355 +818000 ekin = 3.82991762752959 | erot = 3.2641206689089 | epot = -12.7225102667152 | etot = -5.62847197027671 +819000 ekin = 3.6875335678 | erot = 3.27498902925681 | epot = -12.590994566957 | etot = -5.62847196990016 +820000 ekin = 3.5369910685457 | erot = 3.27842149112395 | epot = -12.4438845291767 | etot = -5.62847196950702 +821000 ekin = 3.38323613921468 | erot = 3.2750550219209 | epot = -12.2867631302651 | etot = -5.6284719691295 +822000 ekin = 3.23123737493016 | erot = 3.26537695384856 | epot = -12.1250862975651 | etot = -5.62847196878637 +823000 ekin = 3.08574116323705 | erot = 3.24970236700643 | epot = -11.9639154987256 | etot = -5.62847196848216 +824000 ekin = 2.95109919875176 | erot = 3.22828590308752 | epot = -11.8078570700471 | etot = -5.62847196820782 +825000 ekin = 2.83117167296028 | erot = 3.20152981124015 | epot = -11.6611734521495 | etot = -5.6284719679491 +826000 ekin = 2.72929448904333 | erot = 3.17021233059984 | epot = -11.5279787873359 | etot = -5.62847196769273 +827000 ekin = 2.64828540246515 | erot = 3.13564460982889 | epot = -11.4124019797295 | etot = -5.62847196743546 +828000 ekin = 2.59045268613421 | erot = 3.09968027912531 | epot = -11.3186049324479 | etot = -5.62847196718838 +829000 ekin = 2.55756748807352 | erot = 3.06454892080937 | epot = -11.2505883758597 | etot = -5.62847196697678 +830000 ekin = 2.55077388167199 | erot = 3.03254604907188 | epot = -11.2117918975783 | etot = -5.62847196683439 +831000 ekin = 2.57043725794491 | erot = 3.00566097499105 | epot = -11.2045701997298 | etot = -5.62847196679385 +832000 ekin = 2.61596870814794 | erot = 2.98524787981802 | epot = -11.2296885548432 | etot = -5.62847196687727 +833000 ekin = 2.68568117521223 | erot = 2.97182255724672 | epot = -11.2859756995487 | etot = -5.62847196708975 +834000 ekin = 2.77673677781702 | erot = 2.96502424361031 | epot = -11.3702329888454 | etot = -5.62847196741803 +835000 ekin = 2.88522063962288 | erot = 2.9637296524443 | epot = -11.4774222599016 | etot = -5.62847196783447 +836000 ekin = 3.00633984255775 | erot = 2.96626860594424 | epot = -11.6010804168059 | etot = -5.62847196830391 +837000 ekin = 3.13471078601861 | erot = 2.97067133313891 | epot = -11.7338540879496 | etot = -5.62847196879203 +838000 ekin = 3.2646797672635 | erot = 2.97489019159131 | epot = -11.8680419281255 | etot = -5.62847196927073 +839000 ekin = 3.39062361880175 | erot = 2.97696578967581 | epot = -11.9960613781968 | etot = -5.6284719697192 +840000 ekin = 3.50719613959126 | erot = 2.97513773551513 | epot = -12.1108058452302 | etot = -5.62847197012377 +841000 ekin = 3.60951430199109 | erot = 2.96792302741424 | epot = -12.2059092998777 | etot = -5.62847197047234 +842000 ekin = 3.69330308165686 | erot = 2.95419217585841 | epot = -12.2759672282673 | etot = -5.62847197075203 +843000 ekin = 3.75502927884949 | erot = 2.9332627309959 | epot = -12.3167639807914 | etot = -5.62847197094604 +844000 ekin = 3.79205095605746 | erot = 2.90501003413473 | epot = -12.3255329612267 | etot = -5.62847197103449 +845000 ekin = 3.8027882686221 | erot = 2.8699770846291 | epot = -12.3012373242501 | etot = -5.62847197099888 +846000 ekin = 3.78689078273148 | erot = 2.82944607301393 | epot = -12.244808826574 | etot = -5.62847197082858 +847000 ekin = 3.74534923688533 | erot = 2.78543388061856 | epot = -12.159255088031 | etot = -5.62847197052711 +848000 ekin = 3.6804896086744 | erot = 2.74058491294141 | epot = -12.0495464917325 | etot = -5.62847197011673 +849000 ekin = 3.59580402254821 | erot = 2.69795473541775 | epot = -11.922230727606 | etot = -5.62847196963999 +850000 ekin = 3.49561211007676 | erot = 2.66069826359753 | epot = -11.7847823428248 | etot = -5.62847196915048 +851000 ekin = 3.38460421182286 | erot = 2.63169879047586 | epot = -11.6447749710046 | etot = -5.62847196870583 +852000 ekin = 3.26735834651863 | erot = 2.6131910553037 | epot = -11.5090213701772 | etot = -5.62847196835484 +853000 ekin = 3.1479297086307 | erot = 2.60644046003564 | epot = -11.3828421367932 | etot = -5.62847196812688 +854000 ekin = 3.02961721531289 | erot = 2.61155167746747 | epot = -11.2696408608016 | etot = -5.62847196802129 +855000 ekin = 2.91497870693846 | erot = 2.62749311928185 | epot = -11.1709437942376 | etot = -5.62847196801727 +856000 ekin = 2.80592683699381 | erot = 2.6522972353592 | epot = -11.0866960404283 | etot = -5.62847196807532 +857000 ekin = 2.70394323168349 | erot = 2.68342637134629 | epot = -11.0158415711826 | etot = -5.62847196815284 +858000 ekin = 2.61028085083429 | erot = 2.71820874447232 | epot = -10.9569615635232 | etot = -5.6284719682166 +859000 ekin = 2.52608469749405 | erot = 2.75423459849491 | epot = -10.9087912642381 | etot = -5.62847196824915 +860000 ekin = 2.45241725402134 | erot = 2.78962480095101 | epot = -10.8705140232205 | etot = -5.62847196824819 +861000 ekin = 2.39021948389612 | erot = 2.82313150310554 | epot = -10.841822955225 | etot = -5.62847196822337 +862000 ekin = 2.340251296173 | erot = 2.85407946345532 | epot = -10.8228027278192 | etot = -5.62847196819083 +863000 ekin = 2.30304188908081 | erot = 2.88219277595577 | epot = -10.8137066332046 | etot = -5.62847196816805 +864000 ekin = 2.2788600614665 | erot = 2.90737073832822 | epot = -10.8147027679653 | etot = -5.62847196817059 +865000 ekin = 2.2677019732128 | erot = 2.92947677434014 | epot = -10.8256507157609 | etot = -5.62847196820794 +866000 ekin = 2.26929189380253 | erot = 2.94819404207217 | epot = -10.8459579041567 | etot = -5.62847196828196 +867000 ekin = 2.28309242314625 | erot = 2.96298089278676 | epot = -10.8745452843195 | etot = -5.6284719683865 +868000 ekin = 2.30832281806483 | erot = 2.97313399071666 | epot = -10.9099287772899 | etot = -5.62847196850837 +869000 ekin = 2.3439813526939 | erot = 2.97793980519836 | epot = -10.9503931265235 | etot = -5.62847196863129 +870000 ekin = 2.38886744866037 | erot = 2.97686809815983 | epot = -10.9942075155616 | etot = -5.62847196874142 +871000 ekin = 2.44159861914831 | erot = 2.96974175433695 | epot = -11.0398123423171 | etot = -5.62847196883185 +872000 ekin = 2.50061961716328 | erot = 2.95681803721471 | epot = -11.0859096232828 | etot = -5.62847196890485 +873000 ekin = 2.56420808255788 | erot = 2.93874614107009 | epot = -11.131426192598 | etot = -5.62847196897004 +874000 ekin = 2.63049127146519 | erot = 2.91641905848208 | epot = -11.1753822989849 | etot = -5.62847196903767 +875000 ekin = 2.69749664575342 | erot = 2.89079069092306 | epot = -11.2167593057862 | etot = -5.62847196910973 +876000 ekin = 2.76325741009686 | erot = 2.8627513866625 | epot = -11.2544807659345 | etot = -5.62847196917517 +877000 ekin = 2.82597857202693 | erot = 2.83312911739798 | epot = -11.2875796586343 | etot = -5.62847196920939 +878000 ekin = 2.88426506170993 | erot = 2.80282960162576 | epot = -11.3155666324696 | etot = -5.62847196913387 +879000 ekin = 2.93899285634575 | erot = 2.77402557834613 | epot = -11.3414904036006 | etot = -5.62847196890876 +880000 ekin = 2.99074429622813 | erot = 2.74904466485448 | epot = -11.3682609300216 | etot = -5.62847196893903 +881000 ekin = 3.03734869108279 | erot = 2.72816458176029 | epot = -11.3939852416205 | etot = -5.6284719687774 +882000 ekin = 3.07935286457197 | erot = 2.71303253602814 | epot = -11.4208573692109 | etot = -5.62847196861077 +883000 ekin = 3.11756797212926 | erot = 2.70517731930176 | epot = -11.4512172599084 | etot = -5.62847196847736 +884000 ekin = 3.15280252977214 | erot = 2.70569769686027 | epot = -11.4869721950348 | etot = -5.62847196840236 +885000 ekin = 3.18571613335284 | erot = 2.71504911614494 | epot = -11.5292372178974 | etot = -5.62847196839963 +886000 ekin = 3.21676773519078 | erot = 2.73290580120412 | epot = -11.5781455048685 | etot = -5.6284719684736 +887000 ekin = 3.24623562557229 | erot = 2.75806669144042 | epot = -11.6327742856409 | etot = -5.6284719686282 +888000 ekin = 3.27425942147032 | erot = 2.78837179695594 | epot = -11.6911031872933 | etot = -5.628471968867 +889000 ekin = 3.30086479023381 | erot = 2.82064068495549 | epot = -11.7499774443771 | etot = -5.62847196918781 +890000 ekin = 3.32596925008795 | erot = 2.85071439956357 | epot = -11.8051556192212 | etot = -5.62847196956963 +891000 ekin = 3.34941253378609 | erot = 2.87373382345107 | epot = -11.8516183271961 | etot = -5.62847196995895 +892000 ekin = 3.37107523704372 | erot = 2.88476437019953 | epot = -11.8843115775119 | etot = -5.62847197026867 +893000 ekin = 3.39111185250974 | erot = 2.87974242636685 | epot = -11.8993262492774 | etot = -5.6284719704008 +894000 ekin = 3.41023213065922 | erot = 2.85650829406247 | epot = -11.8952123950077 | etot = -5.62847197028603 +895000 ekin = 3.42987731018765 | erot = 2.81553499405435 | epot = -11.8738842741643 | etot = -5.6284719699223 +896000 ekin = 3.45214149125935 | erot = 2.76001213076308 | epot = -11.840625591404 | etot = -5.62847196938153 +897000 ekin = 3.47941735763162 | erot = 2.69521466352177 | epot = -11.8031039899337 | etot = -5.62847196878031 +898000 ekin = 3.51352962191391 | erot = 2.62737086743898 | epot = -11.7693724707582 | etot = -5.62847198140534 +899000 ekin = 3.4889391158018 | erot = 2.56291214107266 | epot = -11.6803232263264 | etot = -5.6284719694519 +900000 ekin = 3.45535689463325 | erot = 2.55015985204198 | epot = -11.6339887090223 | etot = -5.62847196234705 +901000 ekin = 3.50186288272102 | erot = 2.58894159326793 | epot = -11.7192764517631 | etot = -5.62847197577414 +902000 ekin = 3.56610213711289 | erot = 2.58196928739602 | epot = -11.7765433970572 | etot = -5.62847197254824 +903000 ekin = 3.62814875925392 | erot = 2.56232070451798 | epot = -11.818941436694 | etot = -5.62847197292212 +904000 ekin = 3.6911239480489 | erot = 2.55247638515041 | epot = -11.8720723066083 | etot = -5.62847197340901 +905000 ekin = 3.75091280495829 | erot = 2.54985569763339 | epot = -11.9292404765093 | etot = -5.62847197391758 +906000 ekin = 3.80322506634537 | erot = 2.55191272481867 | epot = -11.9836097655085 | etot = -5.62847197434447 +907000 ekin = 3.84434228809365 | erot = 2.55683360496833 | epot = -12.0296478676651 | etot = -5.62847197460312 +908000 ekin = 3.87190064076986 | erot = 2.56394104721273 | epot = -12.0643136626345 | etot = -5.62847197465188 +909000 ekin = 3.88547927133989 | erot = 2.57365301113712 | epot = -12.0876042569838 | etot = -5.6284719745068 +910000 ekin = 3.8868045064271 | erot = 2.58702435701482 | epot = -12.1023008376729 | etot = -5.62847197423097 +911000 ekin = 3.8795171994182 | erot = 2.60508796305688 | epot = -12.1130771363803 | etot = -5.62847197390526 +912000 ekin = 3.86859233340828 | erot = 2.6282770139044 | epot = -12.1253413209174 | etot = -5.62847197360469 +913000 ekin = 3.85955912988348 | erot = 2.65612234972595 | epot = -12.1441534529955 | etot = -5.62847197338611 +914000 ekin = 3.85765974078628 | erot = 2.68725904828248 | epot = -12.1733907617502 | etot = -5.6284719726814 +915000 ekin = 3.86988558920738 | erot = 2.72155496053172 | epot = -12.2199125225959 | etot = -5.62847197285679 +916000 ekin = 3.89721211216248 | erot = 2.75899199877689 | epot = -12.284676084202 | etot = -5.62847197326257 +917000 ekin = 3.9359730652043 | erot = 2.79756616812597 | epot = -12.3620112070326 | etot = -5.62847197370231 +918000 ekin = 3.98211349977169 | erot = 2.83523644148149 | epot = -12.445821915401 | etot = -5.62847197414779 +919000 ekin = 4.03109884777409 | erot = 2.86939983471048 | epot = -12.528970658063 | etot = -5.62847197557845 +920000 ekin = 4.07575007487009 | erot = 2.89203459574046 | epot = -12.596256646507 | etot = -5.6284719758965 +921000 ekin = 4.11121320929704 | erot = 2.89963706167902 | epot = -12.6393222476118 | etot = -5.62847197663572 +922000 ekin = 4.1294632990563 | erot = 2.89101491589761 | epot = -12.6489501918611 | etot = -5.62847197690717 +923000 ekin = 4.12574552361613 | erot = 2.86656720235584 | epot = -12.6207847028643 | etot = -5.62847197689231 +924000 ekin = 4.09806256320393 | erot = 2.82817437056367 | epot = -12.5547089103971 | etot = -5.62847197662951 +925000 ekin = 4.04683813531694 | erot = 2.77889166018884 | epot = -12.4542017717231 | etot = -5.62847197621732 +926000 ekin = 3.97415981117782 | erot = 2.7224048538106 | epot = -12.3250366407506 | etot = -5.62847197576223 +927000 ekin = 3.88290109709725 | erot = 2.66247239201842 | epot = -12.1738454644419 | etot = -5.62847197532623 +928000 ekin = 3.7761917256548 | erot = 2.60258196834984 | epot = -12.007245668911 | etot = -5.62847197490635 +929000 ekin = 3.65741733810739 | erot = 2.54590495841865 | epot = -11.8317942709844 | etot = -5.62847197445833 +930000 ekin = 3.53056331173308 | erot = 2.49545263003465 | epot = -11.6544879157075 | etot = -5.6284719739398 +931000 ekin = 3.40054525662893 | erot = 2.45429284446284 | epot = -11.4833100741212 | etot = -5.62847197302942 +932000 ekin = 3.27351307047684 | erot = 2.42812142496917 | epot = -11.330106468077 | etot = -5.62847197263094 +933000 ekin = 3.15479412561102 | erot = 2.4201742848095 | epot = -11.2034403826495 | etot = -5.62847197222898 +934000 ekin = 3.04934556977892 | erot = 2.43124949598185 | epot = -11.1090670376374 | etot = -5.62847197187662 +935000 ekin = 2.96178382525618 | erot = 2.4616517147387 | epot = -11.0519075116135 | etot = -5.62847197161859 +936000 ekin = 2.89581269227129 | erot = 2.51113391188306 | epot = -11.0354185756346 | etot = -5.62847197148024 +937000 ekin = 2.85385879398921 | erot = 2.57889786112038 | epot = -11.0612286265758 | etot = -5.62847197146621 +938000 ekin = 2.83694342931292 | erot = 2.66364816300849 | epot = -11.1290635638871 | etot = -5.6284719715657 +939000 ekin = 2.84476696223264 | erot = 2.76369076866162 | epot = -11.2369297026477 | etot = -5.6284719717534 +940000 ekin = 2.87595320507522 | erot = 2.87707538066995 | epot = -11.3815005577404 | etot = -5.62847197199521 +941000 ekin = 2.92838858222815 | erot = 3.001781599449 | epot = -11.5586421539293 | etot = -5.62847197225216 +942000 ekin = 2.99958691587109 | erot = 3.13593595718877 | epot = -11.763994845549 | etot = -5.62847197248919 +943000 ekin = 3.08701486204183 | erot = 3.27802584272535 | epot = -11.9935126774476 | etot = -5.62847197268037 +944000 ekin = 3.1865868732566 | erot = 3.42629435933061 | epot = -12.2413532064764 | etot = -5.6284719738892 +945000 ekin = 3.29120912267668 | erot = 3.57701253578978 | epot = -12.4966936328758 | etot = -5.62847197440937 +946000 ekin = 3.39621217514857 | erot = 3.72637389469715 | epot = -12.7510580448483 | etot = -5.62847197500261 +947000 ekin = 3.49687303174878 | erot = 3.8697732119292 | epot = -12.995118219371 | etot = -5.62847197569304 +948000 ekin = 3.58827211264809 | erot = 4.00151346864799 | epot = -13.2182575577786 | etot = -5.6284719764825 +949000 ekin = 3.66536645448257 | erot = 4.11475106047836 | epot = -13.4085894922954 | etot = -5.62847197733445 +950000 ekin = 3.72323941899585 | erot = 4.20180191649421 | epot = -13.5535133136576 | etot = -5.62847197816758 +951000 ekin = 3.75754185505713 | erot = 4.25489778055795 | epot = -13.6409116144757 | etot = -5.62847197886061 +952000 ekin = 3.76507381429301 | erot = 4.26734583348333 | epot = -13.6608916270522 | etot = -5.62847197927588 +953000 ekin = 3.74438822080447 | erot = 4.23487585148559 | epot = -13.6077360515863 | etot = -5.62847197929629 +954000 ekin = 3.6962524259717 | erot = 4.15681814968167 | epot = -13.481542554518 | etot = -5.62847197886462 +955000 ekin = 3.62380419842041 | erot = 4.03673171285917 | epot = -13.2890078892873 | etot = -5.62847197800776 +956000 ekin = 3.52555336244235 | erot = 3.88073804718687 | epot = -13.034763389267 | etot = -5.62847197963779 +957000 ekin = 3.39894638511365 | erot = 3.70474137308253 | epot = -12.7321597327766 | etot = -5.6284719745804 +958000 ekin = 3.27782878920333 | erot = 3.53760736955423 | epot = -12.4439081317149 | etot = -5.62847197295739 +959000 ekin = 3.17835028171983 | erot = 3.38602207388545 | epot = -12.1928443304165 | etot = -5.62847197481125 +960000 ekin = 3.0901908743556 | erot = 3.23509493203189 | epot = -11.95375778284 | etot = -5.62847197645248 +961000 ekin = 3.00426258859347 | erot = 3.08248133284665 | epot = -11.7152158969855 | etot = -5.62847197554535 +962000 ekin = 2.92693479517853 | erot = 2.94805480624185 | epot = -11.5034615767523 | etot = -5.6284719753319 +963000 ekin = 2.8597205524796 | erot = 2.83488454346027 | epot = -11.3230770709663 | etot = -5.6284719750264 +964000 ekin = 2.80427359141848 | erot = 2.74583973012051 | epot = -11.1785852963867 | etot = -5.62847197484775 +965000 ekin = 2.76170821784095 | erot = 2.68249826056695 | epot = -11.0726784532017 | etot = -5.62847197479375 +966000 ekin = 2.73254763714389 | erot = 2.64503832984035 | epot = -11.0060579418564 | etot = -5.62847197487214 +967000 ekin = 2.71665521989092 | erot = 2.6321892238601 | epot = -10.9773164188389 | etot = -5.62847197508786 +968000 ekin = 2.71315992408347 | erot = 2.6412436424263 | epot = -10.9828755419371 | etot = -5.62847197542729 +969000 ekin = 2.72046614640552 | erot = 2.66825860722398 | epot = -11.0171967294821 | etot = -5.62847197585261 +970000 ekin = 2.73639579050106 | erot = 2.70848274225803 | epot = -11.073350509069 | etot = -5.62847197630994 +971000 ekin = 2.75849383298582 | erot = 2.75695664288296 | epot = -11.1439224525279 | etot = -5.62847197665908 +972000 ekin = 2.78540546458208 | erot = 2.80984083848411 | epot = -11.2237182799979 | etot = -5.62847197693175 +973000 ekin = 2.81581409071763 | erot = 2.86412704852392 | epot = -11.3084131163579 | etot = -5.62847197711633 +974000 ekin = 2.84847995272243 | erot = 2.91762904371329 | epot = -11.3945809736423 | etot = -5.62847197720655 +975000 ekin = 2.88260770936881 | erot = 2.96920774279544 | epot = -11.4802874293687 | etot = -5.62847197720445 +976000 ekin = 2.90702473502672 | erot = 3.01964919216589 | epot = -11.5551459287789 | etot = -5.62847200158634 +977000 ekin = 2.82994036254706 | erot = 3.1046759626717 | epot = -11.5630883030682 | etot = -5.62847197784941 +978000 ekin = 2.82908362156413 | erot = 3.22546639399175 | epot = -11.6830220192733 | etot = -5.6284720037174 +979000 ekin = 2.83706100064163 | erot = 3.25481872957499 | epot = -11.7203517202847 | etot = -5.62847199006803 +980000 ekin = 2.8360134507332 | erot = 3.2704251144274 | epot = -11.7349105552639 | etot = -5.62847199010325 +981000 ekin = 2.82679467437289 | erot = 3.27908745930583 | epot = -11.7343541238234 | etot = -5.62847199014464 +982000 ekin = 2.8088945699671 | erot = 3.28090658178986 | epot = -11.718273141946 | etot = -5.62847199018903 +983000 ekin = 2.7820889855003 | erot = 3.27578646951999 | epot = -11.6863474452356 | etot = -5.62847199021531 +984000 ekin = 2.74660136776419 | erot = 3.26353952159829 | epot = -11.6386128795509 | etot = -5.62847199018845 +985000 ekin = 2.70333214303226 | erot = 3.24411390737367 | epot = -11.5759180404775 | etot = -5.62847199007155 +986000 ekin = 2.65408912608489 | erot = 3.21786526182798 | epot = -11.5004263777502 | etot = -5.62847198983735 +987000 ekin = 2.57871632965158 | erot = 3.17247279261011 | epot = -11.3796611165783 | etot = -5.62847199431663 +988000 ekin = 2.53018925254918 | erot = 3.15315339399415 | epot = -11.3118146484783 | etot = -5.62847200193499 +989000 ekin = 2.49566277860328 | erot = 3.1295211702859 | epot = -11.253655940825 | etot = -5.62847199193586 +990000 ekin = 2.46227182144369 | erot = 3.09741757416563 | epot = -11.1881613869902 | etot = -5.62847199138088 +991000 ekin = 2.44592298885099 | erot = 3.07158094651789 | epot = -11.1459759264869 | etot = -5.62847199111805 +992000 ekin = 2.4517428121109 | erot = 3.05611048124175 | epot = -11.1363252842705 | etot = -5.62847199091787 +993000 ekin = 2.48099671347122 | erot = 3.05281517837352 | epot = -11.1622838826089 | etot = -5.62847199076417 +994000 ekin = 2.53415669925148 | erot = 3.06359154112299 | epot = -11.2262202310529 | etot = -5.62847199067838 +995000 ekin = 2.6108885303282 | erot = 3.09015398312884 | epot = -11.3295145041275 | etot = -5.62847199067047 +996000 ekin = 2.71011819460966 | erot = 3.13378298490508 | epot = -11.4723731702567 | etot = -5.62847199074198 +997000 ekin = 2.8301560310209 | erot = 3.19515267532744 | epot = -11.6537806972411 | etot = -5.6284719908928 +998000 ekin = 2.96878571502403 | erot = 3.27423191202229 | epot = -11.8714896181783 | etot = -5.62847199113201 +999000 ekin = 3.12322522594026 | erot = 3.37022004592621 | epot = -12.1219172633527 | etot = -5.6284719914862 +1000000 ekin = 3.28990650543485 | erot = 3.48146010603352 | epot = -12.3998386034665 | etot = -5.62847199199813 + 1000000 0.14621807 -0.83009398 0.055104069 -0.56937076 4.8223733e-05 64000 +Loop time of 30.3066 on 1 procs for 1000000 steps with 16 atoms + +Performance: 28508.641 tau/day, 32996.112 timesteps/s +99.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 | 26.366 | 26.366 | 26.366 | 0.0 | 87.00 +Bond | 0.93995 | 0.93995 | 0.93995 | 0.0 | 3.10 +Neigh | 0.01081 | 0.01081 | 0.01081 | 0.0 | 0.04 +Comm | 0.34184 | 0.34184 | 0.34184 | 0.0 | 1.13 +Output | 0.14946 | 0.14946 | 0.14946 | 0.0 | 0.49 +Modify | 2.2187 | 2.2187 | 2.2187 | 0.0 | 7.32 +Other | | 0.2802 | | | 0.92 + +Nlocal: 16.0000 ave 16 max 16 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 0.00000 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 106.000 ave 106 max 106 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 106 +Ave neighs/atom = 6.6250000 +Ave special neighs/atom = 3.7500000 +Neighbor list builds = 1000 +Dangerous builds = 0 + +write_data last_config.${number}.* nocoeff +write_data last_config.2.* nocoeff +System init for write_data ... +#write_restart last_config.${number}.* +Total wall time: 0:00:30 diff --git a/examples/PACKAGES/cgdna/examples/oxRNA2/duplex2/log.2Jul21.duplex2.g++.4 b/examples/PACKAGES/cgdna/examples/oxRNA2/duplex2/log.2Jul21.duplex2.g++.4 new file mode 100644 index 0000000000..a0f683b799 --- /dev/null +++ b/examples/PACKAGES/cgdna/examples/oxRNA2/duplex2/log.2Jul21.duplex2.g++.4 @@ -0,0 +1,1182 @@ +LAMMPS (2 Jul 2021) +variable number equal 2 +variable ofreq equal 1000 +variable efreq equal 1000 +variable T equal 0.1 +variable rhos equal 0.5 + +units lj + +dimension 3 + +newton on + +boundary p p p + +atom_style hybrid bond ellipsoid oxdna +WARNING: Atom style hybrid defines both, per-type and per-atom masses; both must be set, but only per-atom masses will be used (../atom_vec_hybrid.cpp:157) +atom_modify sort 0 1.0 + +# Pair interactions require lists of neighbours to be calculated +neighbor 2.0 bin +neigh_modify every 1 delay 0 check yes + +read_data data.duplex2 +Reading data file ... + orthogonal box = (-20.000000 -20.000000 -20.000000) to (20.000000 20.000000 20.000000) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 16 atoms + reading velocities ... + 16 velocities + scanning bonds ... + 1 = max bonds/atom + 16 ellipsoids + reading bonds ... + 13 bonds +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 + 2 = max # of 1-3 neighbors + 4 = max # of 1-4 neighbors + 6 = max # of special neighbors + special bonds CPU = 0.001 seconds + read_data CPU = 0.005 seconds + +set atom * mass 3.1575 +Setting atom values ... + 16 settings made for mass + +group all type 1 4 +16 atoms in group all + +# oxRNA2 bond interactions - FENE backbone +bond_style oxrna2/fene +bond_coeff * 2.0 0.25 0.761070781051 +special_bonds lj 0 1 1 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 1 1 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 2 = max # of 1-3 neighbors + 4 = max # of 1-4 neighbors + 6 = max # of special neighbors + special bonds CPU = 0.000 seconds + +# oxRNA2 pair interactions +pair_style hybrid/overlay oxrna2/excv oxrna2/stk oxrna2/hbond oxrna2/xstk oxrna2/coaxstk oxrna2/dh +pair_coeff * * oxrna2/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32 +pair_coeff * * oxrna2/stk seqdep ${T} 1.40206 2.77 6.0 0.43 0.93 0.35 0.78 0.9 0 0.95 0.9 0 0.95 1.3 0 0.8 1.3 0 0.8 2.0 0.65 2.0 0.65 +pair_coeff * * oxrna2/stk seqdep 0.1 1.40206 2.77 6.0 0.43 0.93 0.35 0.78 0.9 0 0.95 0.9 0 0.95 1.3 0 0.8 1.3 0 0.8 2.0 0.65 2.0 0.65 +pair_coeff * * oxrna2/hbond seqdep 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 1 4 oxrna2/hbond seqdep 0.870439 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 2 3 oxrna2/hbond seqdep 0.870439 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff 3 4 oxrna2/hbond seqdep 0.870439 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 +pair_coeff * * oxrna2/xstk 59.9626 0.5 0.6 0.42 0.58 2.25 0.505 0.58 1.7 1.266 0.68 1.7 1.266 0.68 1.7 0.309 0.68 1.7 0.309 0.68 +pair_coeff * * oxrna2/coaxstk 80 0.5 0.6 0.42 0.58 2.0 2.592 0.65 1.3 0.151 0.8 0.9 0.685 0.95 0.9 0.685 0.95 2.0 -0.65 2.0 -0.65 +pair_coeff * * oxrna2/dh ${T} ${rhos} 1.02455 +pair_coeff * * oxrna2/dh 0.1 ${rhos} 1.02455 +pair_coeff * * oxrna2/dh 0.1 0.5 1.02455 + +# NVE ensemble +fix 1 all nve/asphere +#fix 2 all langevin ${T} ${T} 2.5 457145 angmom 10 + +timestep 1e-5 + +#comm_style tiled +fix 3 all balance 1000 1.03 shift xyz 10 1.03 +comm_modify cutoff 3.8 + +compute quat all property/atom quatw quati quatj quatk + +compute erot all erotate/asphere +compute ekin all ke +compute epot all pe +variable erot equal c_erot +variable ekin equal c_ekin +variable epot equal c_epot +variable etot equal c_erot+c_ekin+c_epot +fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes +fix 5 all print 1000 "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes + +dump out all custom ${ofreq} out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump out all custom 1000 out.${number}.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump out all custom 1000 out.2.lammpstrj id mol type x y z ix iy iz vx vy vz c_quat[1] c_quat[2] c_quat[3] c_quat[4] angmomx angmomy angmomz +dump_modify out sort id +dump_modify out format line "%d %d %d %22.15le %22.15le %22.15le %d %d %d %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le" + +run 1000000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 4.3014979 + ghost atom cutoff = 4.3014979 + binsize = 2.150749, bins = 19 19 19 + 5 neighbor lists, perpetual/occasional/extra = 5 0 0 + (1) pair oxrna2/excv, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard + (2) pair oxrna2/hbond, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none + (3) pair oxrna2/xstk, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none + (4) pair oxrna2/coaxstk, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none + (5) pair oxrna2/dh, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none +WARNING: Communication cutoff adjusted to 4.301497916929199 (../comm.cpp:739) +0 ekin = 2.70475393009871 | erot = 2.80172072918779 | epot = -11.1349465280232 | etot = -5.62847186873667 +Per MPI rank memory allocation (min/avg/max) = 9.328 | 9.357 | 9.442 Mbytes +Step Temp E_pair E_mol TotEng Press Volume + 0 0.12021129 -0.7299505 0.034016337 -0.52688704 5.1214421e-05 64000 +1000 ekin = 2.74425239815417 | erot = 2.79065458610893 | epot = -11.1633788526891 | etot = -5.62847186842597 +2000 ekin = 2.78841691867035 | erot = 2.77992540099535 | epot = -11.196814187725 | etot = -5.62847186805933 +3000 ekin = 2.83938215410022 | erot = 2.77185117591642 | epot = -11.2397051978034 | etot = -5.62847186778671 +4000 ekin = 2.89876217830263 | erot = 2.76816783884241 | epot = -11.295401884792 | etot = -5.62847186764698 +5000 ekin = 2.96742170720769 | erot = 2.76919345829435 | epot = -11.3650870331989 | etot = -5.62847186769689 +6000 ekin = 3.0456300737104 | erot = 2.77376672268248 | epot = -11.4478686641706 | etot = -5.62847186777773 +7000 ekin = 3.13407886898538 | erot = 2.78065913591457 | epot = -11.5432098726294 | etot = -5.62847186772942 +8000 ekin = 3.23400863287743 | erot = 2.78938863934858 | epot = -11.651869139893 | etot = -5.62847186766703 +9000 ekin = 3.34625998930258 | erot = 2.80019523753785 | epot = -11.7749270943235 | etot = -5.62847186748304 +10000 ekin = 3.47220350616334 | erot = 2.81464622815282 | epot = -11.9153216015116 | etot = -5.62847186719547 +11000 ekin = 3.61341090096018 | erot = 2.83541090219849 | epot = -12.0772936703879 | etot = -5.62847186722922 +12000 ekin = 3.76971728921063 | erot = 2.8651661044909 | epot = -12.26335526073 | etot = -5.62847186702843 +13000 ekin = 3.94105577714468 | erot = 2.90597306806356 | epot = -12.4755007121567 | etot = -5.62847186694845 +14000 ekin = 4.12730744896758 | erot = 2.95952862137381 | epot = -12.7153079373025 | etot = -5.62847186696111 +15000 ekin = 4.32776706381551 | erot = 3.02701108512252 | epot = -12.9832500158855 | etot = -5.62847186694746 +16000 ekin = 4.54139695680685 | erot = 3.10924468066178 | epot = -13.2791135046207 | etot = -5.62847186715204 +17000 ekin = 4.76575661763823 | erot = 3.20604355373091 | epot = -13.6002720389201 | etot = -5.62847186755097 +18000 ekin = 4.99700491214683 | erot = 3.31611869568265 | epot = -13.9415954758899 | etot = -5.62847186806045 +19000 ekin = 5.23048108112189 | erot = 3.43700077146759 | epot = -14.2959537213473 | etot = -5.62847186875782 +20000 ekin = 5.46074742513054 | erot = 3.564631560864 | epot = -14.6538508556015 | etot = -5.62847186960691 +21000 ekin = 5.68087058007131 | erot = 3.69256776681711 | epot = -15.0019102179231 | etot = -5.62847187103466 +22000 ekin = 5.88327619983871 | erot = 3.81252322503551 | epot = -15.3242712967755 | etot = -5.62847187190129 +23000 ekin = 6.0624997995198 | erot = 3.91720950057663 | epot = -15.6081811728146 | etot = -5.62847187271817 +24000 ekin = 6.21449712377425 | erot = 4.00104081543171 | epot = -15.8440098121103 | etot = -5.62847187290434 +25000 ekin = 6.3385327780924 | erot = 4.0618454261987 | epot = -16.0288500769827 | etot = -5.62847187269156 +26000 ekin = 6.43627737186995 | erot = 4.10076278430832 | epot = -16.1655120283937 | etot = -5.6284718722154 +27000 ekin = 6.5109244797201 | erot = 4.12134483746799 | epot = -16.2607411888239 | etot = -5.62847187163586 +28000 ekin = 6.56622100976664 | erot = 4.12827111510807 | epot = -16.3229639959505 | etot = -5.62847187107581 +29000 ekin = 6.60587340002374 | erot = 4.12622173833892 | epot = -16.360567008949 | etot = -5.62847187058635 +30000 ekin = 6.63335580501809 | erot = 4.11921545444646 | epot = -16.3810431296792 | etot = -5.62847187021468 +31000 ekin = 6.65211888589251 | erot = 4.10999678317526 | epot = -16.3905875389831 | etot = -5.62847186991536 +32000 ekin = 6.66584763664854 | erot = 4.10024297795098 | epot = -16.3945624842071 | etot = -5.62847186960759 +33000 ekin = 6.67923227191011 | erot = 4.09129207413365 | epot = -16.398996215263 | etot = -5.62847186921928 +34000 ekin = 6.69756137216815 | erot = 4.08414768607665 | epot = -16.4101809271346 | etot = -5.62847186888976 +35000 ekin = 6.72589628312065 | erot = 4.07950228497949 | epot = -16.4338704366877 | etot = -5.62847186858755 +36000 ekin = 6.76908557113698 | erot = 4.0777861549211 | epot = -16.4753435944362 | etot = -5.6284718683781 +37000 ekin = 6.83097506213388 | erot = 4.07899014040665 | epot = -16.5384370708783 | etot = -5.62847186833779 +38000 ekin = 6.91354703253156 | erot = 4.08242106390417 | epot = -16.6244399649597 | etot = -5.62847186852393 +39000 ekin = 7.01626065739817 | erot = 4.08652171942786 | epot = -16.7312542457771 | etot = -5.6284718689511 +40000 ekin = 7.13573792258313 | erot = 4.08884404540005 | epot = -16.8530538375758 | etot = -5.62847186959263 +41000 ekin = 7.26614194134498 | erot = 4.08627042537768 | epot = -16.9808842370343 | etot = -5.62847187031167 +42000 ekin = 7.40051154120571 | erot = 4.07546023443102 | epot = -17.1044436466276 | etot = -5.62847187099089 +43000 ekin = 7.53157437143672 | erot = 4.0534465535964 | epot = -17.2134927965847 | etot = -5.62847187155159 +44000 ekin = 7.65268317567628 | erot = 4.01819177227234 | epot = -17.2993468198231 | etot = -5.62847187187447 +45000 ekin = 7.75845343306873 | erot = 3.96898510895774 | epot = -17.3559104142063 | etot = -5.62847187217984 +46000 ekin = 7.84504377034629 | erot = 3.90454903064794 | epot = -17.3780646733314 | etot = -5.62847187233718 +47000 ekin = 7.91002390820623 | erot = 3.82478596555196 | epot = -17.3632817459104 | etot = -5.62847187215216 +48000 ekin = 7.95195705456504 | erot = 3.73154439390004 | epot = -17.3119733204126 | etot = -5.62847187194749 +49000 ekin = 7.97001825706871 | erot = 3.62752007295044 | epot = -17.2260102016182 | etot = -5.62847187159909 +50000 ekin = 7.9637575670044 | erot = 3.51726958365106 | epot = -17.109499021545 | etot = -5.62847187088959 +51000 ekin = 7.93280761300456 | erot = 3.40827188497834 | epot = -16.969551368803 | etot = -5.62847187082012 +52000 ekin = 7.87656811744214 | erot = 3.30207418532534 | epot = -16.8071141735587 | etot = -5.6284718707912 +53000 ekin = 7.79531012541934 | erot = 3.19839984815412 | epot = -16.6221818441148 | etot = -5.62847187054138 +54000 ekin = 7.68952609570367 | erot = 3.09980185481821 | epot = -16.4177998208248 | etot = -5.62847187030292 +55000 ekin = 7.55966222141132 | erot = 3.00897426989536 | epot = -16.1971083614502 | etot = -5.62847187014355 +56000 ekin = 7.40594124508039 | erot = 2.92802865182261 | epot = -15.9624417669777 | etot = -5.62847187007472 +57000 ekin = 7.22816598142029 | erot = 2.85836584281794 | epot = -15.7150036943485 | etot = -5.62847187011027 +58000 ekin = 7.02573051397645 | erot = 2.80066522322036 | epot = -15.45486760742 | etot = -5.62847187022319 +59000 ekin = 6.80455077165157 | erot = 2.7565194471203 | epot = -15.189542086097 | etot = -5.62847186732517 +60000 ekin = 6.57760251691547 | erot = 2.7273150167873 | epot = -14.9333893991697 | etot = -5.62847186546698 +61000 ekin = 5.99884053190185 | erot = 2.65010269791718 | epot = -14.2774150331167 | etot = -5.62847180329769 +62000 ekin = 5.82217958652088 | erot = 2.65058478195147 | epot = -14.1012361774588 | etot = -5.62847180898641 +63000 ekin = 6.00993174210273 | erot = 2.71143483466408 | epot = -14.3498384845185 | etot = -5.6284719077517 +64000 ekin = 5.85096985050391 | erot = 2.71173917624715 | epot = -14.1911809366075 | etot = -5.6284719098564 +65000 ekin = 5.67959801442757 | erot = 2.70731630130143 | epot = -14.0153862253962 | etot = -5.62847190966722 +66000 ekin = 5.49812382731728 | erot = 2.69646895132484 | epot = -13.8230646880628 | etot = -5.62847190942073 +67000 ekin = 5.3101118875317 | erot = 2.67901331172375 | epot = -13.617597108258 | etot = -5.62847190900257 +68000 ekin = 5.11964229582613 | erot = 2.65622197273387 | epot = -13.4043361770524 | etot = -5.62847190849237 +69000 ekin = 4.9306797520788 | erot = 2.63014135225676 | epot = -13.1892930124926 | etot = -5.628471908157 +70000 ekin = 4.74697386617514 | erot = 2.60347312706288 | epot = -12.9789189008747 | etot = -5.62847190763669 +71000 ekin = 4.572221332596 | erot = 2.57971589798913 | epot = -12.7804091377441 | etot = -5.62847190715895 +72000 ekin = 4.40959648507817 | erot = 2.56228295922475 | epot = -12.6003513510612 | etot = -5.62847190675832 +73000 ekin = 4.26170009573942 | erot = 2.55406076080096 | epot = -12.4442327629946 | etot = -5.62847190645423 +74000 ekin = 4.13052949790859 | erot = 2.55713155841153 | epot = -12.3161329625864 | etot = -5.62847190626624 +75000 ekin = 4.01588192828932 | erot = 2.56608801434133 | epot = -12.2104419139905 | etot = -5.62847197135984 +76000 ekin = 3.95904625854654 | erot = 2.44184942386114 | epot = -12.0293675901703 | etot = -5.62847190776259 +77000 ekin = 4.0275596026641 | erot = 2.46007159499047 | epot = -12.1161031098037 | etot = -5.6284719121491 +78000 ekin = 3.9878543994386 | erot = 2.49596945534603 | epot = -12.1122957670964 | etot = -5.62847191231177 +79000 ekin = 3.96575767721472 | erot = 2.54200842335453 | epot = -12.1362380131152 | etot = -5.62847191254597 +80000 ekin = 3.95961954869597 | erot = 2.59604589435596 | epot = -12.1841373558848 | etot = -5.62847191283286 +81000 ekin = 3.96734100032382 | erot = 2.65577062232351 | epot = -12.2515835357815 | etot = -5.62847191313418 +82000 ekin = 3.98651997822157 | erot = 2.71892569307082 | epot = -12.3339175847228 | etot = -5.62847191343037 +83000 ekin = 4.01459300302775 | erot = 2.78352190390193 | epot = -12.4265868206356 | etot = -5.62847191370596 +84000 ekin = 4.04956210608577 | erot = 2.84796629664412 | epot = -12.526000316534 | etot = -5.62847191380416 +85000 ekin = 4.09049341026886 | erot = 2.91104365381092 | epot = -12.6300089781176 | etot = -5.62847191403783 +86000 ekin = 4.13484812560062 | erot = 2.97201165419077 | epot = -12.73533169402 | etot = -5.62847191422856 +87000 ekin = 4.18003829184662 | erot = 3.03078479878272 | epot = -12.8392950049949 | etot = -5.62847191436551 +88000 ekin = 4.22360704724742 | erot = 3.08796574000306 | epot = -12.9400447016996 | etot = -5.62847191444908 +89000 ekin = 4.26326024607327 | erot = 3.14481288279466 | epot = -13.0365450433352 | etot = -5.62847191446729 +90000 ekin = 4.29588111790616 | erot = 3.20341713776991 | epot = -13.1277701703293 | etot = -5.62847191465319 +91000 ekin = 4.3169778457781 | erot = 3.26736040230132 | epot = -13.2128101626449 | etot = -5.62847191456548 +92000 ekin = 4.32507837347573 | erot = 3.33931601944534 | epot = -13.2928663075893 | etot = -5.6284719146682 +93000 ekin = 4.31872212432187 | erot = 3.42036541916748 | epot = -13.3675594581769 | etot = -5.62847191468757 +94000 ekin = 4.29660005793282 | erot = 3.51205694754371 | epot = -13.437128920153 | etot = -5.62847191467648 +95000 ekin = 4.2578902183883 | erot = 3.61606475666805 | epot = -13.502426889666 | etot = -5.62847191460968 +96000 ekin = 4.20253661926488 | erot = 3.73412422729619 | epot = -13.5651327610301 | etot = -5.62847191446908 +97000 ekin = 4.13146529060003 | erot = 3.86803037439249 | epot = -13.6279675793406 | etot = -5.62847191434809 +98000 ekin = 4.0466907197534 | erot = 4.01885670334675 | epot = -13.6940193371939 | etot = -5.62847191409377 +99000 ekin = 3.95128630061884 | erot = 4.18772840013401 | epot = -13.7674866145611 | etot = -5.62847191380829 +100000 ekin = 3.84921784883048 | erot = 4.37558821791212 | epot = -13.8532779802859 | etot = -5.62847191354332 +101000 ekin = 3.74501223923274 | erot = 4.58258429231713 | epot = -13.9560684449129 | etot = -5.62847191336305 +102000 ekin = 3.64330024870541 | erot = 4.80764134110039 | epot = -14.0794135031357 | etot = -5.62847191332989 +103000 ekin = 3.54831662006243 | erot = 5.04811575607467 | epot = -14.2249042896159 | etot = -5.6284719134788 +104000 ekin = 3.46349772064897 | erot = 5.29960820358415 | epot = -14.3915778382021 | etot = -5.62847191396902 +105000 ekin = 3.39136254536227 | erot = 5.55507704359958 | epot = -14.5749115034236 | etot = -5.62847191446178 +106000 ekin = 3.33356403744364 | erot = 5.80718759324905 | epot = -14.7692235454826 | etot = -5.62847191478986 +107000 ekin = 3.29209861353655 | erot = 6.04906687386722 | epot = -14.9696374027439 | etot = -5.62847191534016 +108000 ekin = 3.26748487341063 | erot = 6.27418243659677 | epot = -15.1701392258614 | etot = -5.62847191585405 +109000 ekin = 3.25930506886559 | erot = 6.47585417244282 | epot = -15.3636311580676 | etot = -5.62847191675918 +110000 ekin = 3.26568272829054 | erot = 6.64602097207877 | epot = -15.5401756176968 | etot = -5.62847191732745 +111000 ekin = 3.28520059172576 | erot = 6.77857539600264 | epot = -15.6922479055247 | etot = -5.62847191779634 +112000 ekin = 3.3165931570739 | erot = 6.86862760563878 | epot = -15.8136926809227 | etot = -5.62847191821005 +113000 ekin = 3.35860144230889 | erot = 6.91335224014739 | epot = -15.900425600655 | etot = -5.62847191819877 +114000 ekin = 3.41073468124636 | erot = 6.91406610981113 | epot = -15.9532727088316 | etot = -5.62847191777412 +115000 ekin = 3.4738153153424 | erot = 6.87643065686312 | epot = -15.9787178894052 | etot = -5.62847191719965 +116000 ekin = 3.54886437558739 | erot = 6.80711139529042 | epot = -15.9844476879559 | etot = -5.62847191707807 +117000 ekin = 3.6346740920492 | erot = 6.71320827683535 | epot = -15.9763542854612 | etot = -5.62847191657669 +118000 ekin = 3.72815555523539 | erot = 6.60276001485545 | epot = -15.9593874864252 | etot = -5.62847191633435 +119000 ekin = 3.82420980363907 | erot = 6.48288858478273 | epot = -15.9355703049684 | etot = -5.62847191654662 +120000 ekin = 3.91797748357213 | erot = 6.35662792089871 | epot = -15.9030773212275 | etot = -5.62847191675663 +121000 ekin = 4.00591742044035 | erot = 6.22468993027106 | epot = -15.8590792676429 | etot = -5.62847191693151 +122000 ekin = 4.08550270322373 | erot = 6.08676575288936 | epot = -15.8007403736371 | etot = -5.62847191752405 +123000 ekin = 4.15433540908386 | erot = 5.94071572290405 | epot = -15.7235230494649 | etot = -5.62847191747701 +124000 ekin = 4.21272085203614 | erot = 5.78590733869508 | epot = -15.6271001078557 | etot = -5.6284719171245 +125000 ekin = 4.26325970413196 | erot = 5.62467373686651 | epot = -15.516405357524 | etot = -5.62847191652555 +126000 ekin = 4.30880597980506 | erot = 5.46113290467189 | epot = -15.3984108007457 | etot = -5.62847191626874 +127000 ekin = 4.35136313111005 | erot = 5.29960307371424 | epot = -15.2794381205816 | etot = -5.62847191575727 +128000 ekin = 4.39391383900459 | erot = 5.14386269106717 | epot = -15.1662484454472 | etot = -5.62847191537548 +129000 ekin = 4.43858036063586 | erot = 4.99693296064756 | epot = -15.063985236396 | etot = -5.62847191511256 +130000 ekin = 4.48619887382442 | erot = 4.86092637377928 | epot = -14.9755971627238 | etot = -5.62847191512005 +131000 ekin = 4.53629967746003 | erot = 4.73552279955476 | epot = -14.9002943921691 | etot = -5.62847191515434 +132000 ekin = 4.58794392436637 | erot = 4.62012473201875 | epot = -14.8365405715596 | etot = -5.62847191517451 +133000 ekin = 4.63977927970742 | erot = 4.51475331813938 | epot = -14.7830045130149 | etot = -5.62847191516808 +134000 ekin = 4.69096227444516 | erot = 4.41936571520089 | epot = -14.7387999047806 | etot = -5.62847191513459 +135000 ekin = 4.74083332631942 | erot = 4.33399770983613 | epot = -14.7033029512362 | etot = -5.62847191508068 +136000 ekin = 4.78901374177283 | erot = 4.25873574864789 | epot = -14.6762214054318 | etot = -5.62847191501111 +137000 ekin = 4.83519033966162 | erot = 4.19345584709291 | epot = -14.6571181018627 | etot = -5.62847191510818 +138000 ekin = 4.87857190019152 | erot = 4.13759960010489 | epot = -14.6446434153638 | etot = -5.62847191506744 +139000 ekin = 4.91933904268544 | erot = 4.0904184140816 | epot = -14.6382293717798 | etot = -5.62847191501277 +140000 ekin = 4.95802132610631 | erot = 4.05108530565791 | epot = -14.6375785467323 | etot = -5.62847191496811 +141000 ekin = 4.9951992325528 | erot = 4.01864210163659 | epot = -14.6423132491261 | etot = -5.62847191493669 +142000 ekin = 5.03134031865334 | erot = 3.99210960072494 | epot = -14.6519218343061 | etot = -5.62847191492781 +143000 ekin = 5.06663282814571 | erot = 3.97056100872286 | epot = -14.6656657518145 | etot = -5.62847191494595 +144000 ekin = 5.1008800325395 | erot = 3.95318385936693 | epot = -14.6825358068965 | etot = -5.62847191499005 +145000 ekin = 5.1334772861941 | erot = 3.93933318432695 | epot = -14.7012823855755 | etot = -5.62847191505442 +146000 ekin = 5.16346418937044 | erot = 3.92856945833611 | epot = -14.720505562837 | etot = -5.62847191513042 +147000 ekin = 5.18962884502134 | erot = 3.9206777897014 | epot = -14.7387785499319 | etot = -5.62847191520911 +148000 ekin = 5.2106363010507 | erot = 3.91566839447809 | epot = -14.7547766108109 | etot = -5.62847191528212 +149000 ekin = 5.22515818277351 | erot = 3.91376203384954 | epot = -14.7673921319656 | etot = -5.62847191534254 +150000 ekin = 5.23199081771494 | erot = 3.91536756918854 | epot = -14.7758303022877 | etot = -5.62847191538422 +151000 ekin = 5.23025857434957 | erot = 3.92102977399531 | epot = -14.77976026373 | etot = -5.62847191538508 +152000 ekin = 5.21970456277706 | erot = 3.93136599417266 | epot = -14.7795424723193 | etot = -5.62847191536957 +153000 ekin = 5.2002071564403 | erot = 3.94729684642943 | epot = -14.7759759181576 | etot = -5.6284719152879 +154000 ekin = 5.17219962280996 | erot = 3.96989664945337 | epot = -14.7705681875102 | etot = -5.62847191524685 +155000 ekin = 5.13597939415306 | erot = 4.00025654377787 | epot = -14.7647078530828 | etot = -5.62847191515191 +156000 ekin = 5.09227456538914 | erot = 4.03969792967755 | epot = -14.7604444100926 | etot = -5.62847191502592 +157000 ekin = 5.04214374655936 | erot = 4.08965648366256 | epot = -14.7602721451216 | etot = -5.62847191489972 +158000 ekin = 4.98664076893846 | erot = 4.15175637520506 | epot = -14.7668690589136 | etot = -5.62847191477007 +159000 ekin = 4.92656708226507 | erot = 4.22693785976582 | epot = -14.7819768568014 | etot = -5.62847191477047 +160000 ekin = 4.86235166665126 | erot = 4.31524574981647 | epot = -14.806069331353 | etot = -5.62847191488528 +161000 ekin = 4.79340744408557 | erot = 4.416341921556 | epot = -14.8382212806378 | etot = -5.62847191499627 +162000 ekin = 4.71931679137333 | erot = 4.52911647420225 | epot = -14.8769051807431 | etot = -5.62847191516748 +163000 ekin = 4.63965178838048 | erot = 4.65170333188668 | epot = -14.9198270356121 | etot = -5.6284719153449 +164000 ekin = 4.55406399624436 | erot = 4.78166301740298 | epot = -14.9641989292971 | etot = -5.62847191564972 +165000 ekin = 4.46213996067539 | erot = 4.91530272158878 | epot = -15.0059145982053 | etot = -5.62847191594116 +166000 ekin = 4.36388109534925 | erot = 5.04805357548584 | epot = -15.0404065870411 | etot = -5.62847191620604 +167000 ekin = 4.25995046842459 | erot = 5.17511068522271 | epot = -15.0635330700697 | etot = -5.62847191642238 +168000 ekin = 4.15154354282114 | erot = 5.29182746831928 | epot = -15.0718429277122 | etot = -5.62847191657175 +169000 ekin = 4.04026084727441 | erot = 5.3941174772812 | epot = -15.0628502412098 | etot = -5.62847191665417 +170000 ekin = 3.92797723838258 | erot = 5.47890367159942 | epot = -15.0353528265935 | etot = -5.6284719166115 +171000 ekin = 3.81680551395721 | erot = 5.54460219961178 | epot = -14.9898796300184 | etot = -5.62847191644944 +172000 ekin = 3.70912194360758 | erot = 5.59119877272731 | epot = -14.9287926324942 | etot = -5.62847191615928 +173000 ekin = 3.60767008609852 | erot = 5.62020496676055 | epot = -14.8563469686152 | etot = -5.62847191575613 +174000 ekin = 3.51593123142554 | erot = 5.63484613588133 | epot = -14.7792492818548 | etot = -5.6284719145479 +175000 ekin = 3.43946966413739 | erot = 5.64148825119155 | epot = -14.7094298295804 | etot = -5.62847191425149 +176000 ekin = 3.38149964339891 | erot = 5.6430458497967 | epot = -14.6530174072212 | etot = -5.62847191402558 +177000 ekin = 3.34426304280215 | erot = 5.64075589500621 | epot = -14.6134908517385 | etot = -5.62847191393013 +178000 ekin = 3.32907821318033 | erot = 5.63429171925419 | epot = -14.5918418466202 | etot = -5.62847191418564 +179000 ekin = 3.33553286829273 | erot = 5.62088708741604 | epot = -14.5848918700473 | etot = -5.62847191433852 +180000 ekin = 3.36333384277191 | erot = 5.59827011329303 | epot = -14.590075870683 | etot = -5.62847191461804 +181000 ekin = 3.41118322744655 | erot = 5.56369949232961 | epot = -14.6033546347484 | etot = -5.62847191497222 +182000 ekin = 3.47666657813902 | erot = 5.51442909119503 | epot = -14.6195675846756 | etot = -5.62847191534156 +183000 ekin = 3.55646627297111 | erot = 5.44847615754871 | epot = -14.6334143461261 | etot = -5.62847191560626 +184000 ekin = 3.64671110623897 | erot = 5.36528131962616 | epot = -14.640464341691 | etot = -5.62847191582585 +185000 ekin = 3.74294243854247 | erot = 5.26596644090226 | epot = -14.6373807953582 | etot = -5.62847191591345 +186000 ekin = 3.84064021177418 | erot = 5.15359326679018 | epot = -14.6227053944206 | etot = -5.62847191585622 +187000 ekin = 3.93563840595006 | erot = 5.03296537332503 | epot = -14.5970756949485 | etot = -5.6284719156734 +188000 ekin = 4.02444308409283 | erot = 4.9100420520266 | epot = -14.5629570515404 | etot = -5.62847191542098 +189000 ekin = 4.10437481570283 | erot = 4.7910115792601 | epot = -14.5238583101452 | etot = -5.62847191518223 +190000 ekin = 4.17348832619954 | erot = 4.68117061833095 | epot = -14.4831308595836 | etot = -5.62847191505311 +191000 ekin = 4.23028845394395 | erot = 4.58386192798856 | epot = -14.4426222970226 | etot = -5.62847191509009 +192000 ekin = 4.27358054060601 | erot = 4.49984530057589 | epot = -14.4018977564793 | etot = -5.62847191529744 +193000 ekin = 4.24592911993781 | erot = 4.46741799187734 | epot = -14.3418190226914 | etot = -5.62847191087623 +194000 ekin = 4.19994174150889 | erot = 4.47173701960747 | epot = -14.3001506793675 | etot = -5.62847191825111 +195000 ekin = 4.19981139522167 | erot = 4.40365513590425 | epot = -14.2319384423494 | etot = -5.62847191122347 +196000 ekin = 4.18831859749938 | erot = 4.32821378408642 | epot = -14.1450042928957 | etot = -5.62847191130989 +197000 ekin = 4.16445522600488 | erot = 4.24686919663485 | epot = -14.0397963337834 | etot = -5.62847191114363 +198000 ekin = 4.13074920372959 | erot = 4.15919636754691 | epot = -13.9184174820247 | etot = -5.62847191074822 +199000 ekin = 4.090620747362 | erot = 4.06700829109956 | epot = -13.7861009486921 | etot = -5.62847191023056 +200000 ekin = 4.04792338687239 | erot = 3.97356549445473 | epot = -13.6499607909712 | etot = -5.62847190964408 +201000 ekin = 4.00668244919821 | erot = 3.88277215509106 | epot = -13.5179265133916 | etot = -5.62847190910236 +202000 ekin = 3.97063392471778 | erot = 3.79828207702214 | epot = -13.3973879104115 | etot = -5.62847190867159 +203000 ekin = 3.94283665189439 | erot = 3.72290259923884 | epot = -13.2942111595191 | etot = -5.62847190838588 +204000 ekin = 3.92540743372219 | erot = 3.65835216262476 | epot = -13.2122315045971 | etot = -5.62847190825017 +205000 ekin = 3.91946432177371 | erot = 3.60562062221005 | epot = -13.1535568521725 | etot = -5.62847190818872 +206000 ekin = 3.92515912499502 | erot = 3.56510062726653 | epot = -13.1187316605161 | etot = -5.6284719082546 +207000 ekin = 3.94166066189654 | erot = 3.53643554885135 | epot = -13.1065681191291 | etot = -5.62847190838122 +208000 ekin = 3.96741904659715 | erot = 3.51909285319014 | epot = -13.1149838083229 | etot = -5.62847190853559 +209000 ekin = 3.99456273872698 | erot = 3.5008331585032 | epot = -13.12386780659 | etot = -5.62847190935983 +210000 ekin = 4.04796401860469 | erot = 3.49168954890946 | epot = -13.1681254815403 | etot = -5.62847191402609 +211000 ekin = 4.09773342716023 | erot = 3.49304812012899 | epot = -13.2192534546349 | etot = -5.62847190734564 +212000 ekin = 4.14205596974386 | erot = 3.50221111647849 | epot = -13.2727389936889 | etot = -5.6284719074666 +213000 ekin = 4.18461227969266 | erot = 3.51992604962424 | epot = -13.3330102373235 | etot = -5.62847190800659 +214000 ekin = 4.22291801221032 | erot = 3.54318058637976 | epot = -13.3945705067397 | etot = -5.62847190814961 +215000 ekin = 4.25639069944069 | erot = 3.57018634832968 | epot = -13.455048956007 | etot = -5.6284719082366 +216000 ekin = 4.28517056130797 | erot = 3.59920416165413 | epot = -13.5128466312808 | etot = -5.62847190831865 +217000 ekin = 4.30951457891379 | erot = 3.62862634730599 | epot = -13.5666128346089 | etot = -5.62847190838914 +218000 ekin = 4.33022749097613 | erot = 3.65639118247648 | epot = -13.6150905819321 | etot = -5.62847190847947 +219000 ekin = 4.34822739188836 | erot = 3.680156611218 | epot = -13.65685591169 | etot = -5.62847190858365 +220000 ekin = 4.36437280258431 | erot = 3.69755509928772 | epot = -13.6903998105179 | etot = -5.62847190864584 +221000 ekin = 4.37954317243519 | erot = 3.70660976824559 | epot = -13.7146248493731 | etot = -5.62847190869237 +222000 ekin = 4.39451292717191 | erot = 3.70596363375625 | epot = -13.7289484695974 | etot = -5.62847190866922 +223000 ekin = 4.41008213189097 | erot = 3.69513355487692 | epot = -13.7336875953423 | etot = -5.62847190857439 +224000 ekin = 4.42678943726347 | erot = 3.67466536393777 | epot = -13.7299267097417 | etot = -5.6284719085405 +225000 ekin = 4.4446070170108 | erot = 3.64600909388234 | epot = -13.7190880192628 | etot = -5.62847190836967 +226000 ekin = 4.47380092382767 | erot = 3.5883081409745 | epot = -13.6905809780328 | etot = -5.62847191323058 +227000 ekin = 4.56056009804502 | erot = 3.47269306831649 | epot = -13.6617250773597 | etot = -5.6284719109982 +228000 ekin = 4.61083327531104 | erot = 3.40803816011154 | epot = -13.6473433475464 | etot = -5.62847191212383 +229000 ekin = 4.63150013168018 | erot = 3.35898149000663 | epot = -13.6189535337038 | etot = -5.62847191201703 +230000 ekin = 4.65431068144065 | erot = 3.31343017818407 | epot = -13.596212771626 | etot = -5.62847191200131 +231000 ekin = 4.67934821404876 | erot = 3.27332737527121 | epot = -13.5811475014859 | etot = -5.6284719121659 +232000 ekin = 4.70592354946345 | erot = 3.23944506667537 | epot = -13.5738405284608 | etot = -5.62847191232194 +233000 ekin = 4.7327141612257 | erot = 3.21144788525834 | epot = -13.5726339590431 | etot = -5.62847191255906 +234000 ekin = 4.75943444985074 | erot = 3.19078729233646 | epot = -13.578693654579 | etot = -5.6284719123918 +235000 ekin = 4.7864224181812 | erot = 3.18021193976865 | epot = -13.5951062703958 | etot = -5.62847191244599 +236000 ekin = 4.81315037988252 | erot = 3.18017325335007 | epot = -13.621795545699 | etot = -5.62847191246637 +237000 ekin = 4.83923297185582 | erot = 3.19145400453553 | epot = -13.6591588888822 | etot = -5.62847191249082 +238000 ekin = 4.86487585931821 | erot = 3.21481908800481 | epot = -13.7081668597365 | etot = -5.62847191241343 +239000 ekin = 4.89063931714941 | erot = 3.25114955282207 | epot = -13.7702607826849 | etot = -5.62847191271346 +240000 ekin = 4.91656145052528 | erot = 3.29901781219062 | epot = -13.8440511754923 | etot = -5.62847191277639 +241000 ekin = 4.94245255089308 | erot = 3.35699698381743 | epot = -13.9279214477129 | etot = -5.62847191300237 +242000 ekin = 4.9676738034607 | erot = 3.42365009426148 | epot = -14.0197958109218 | etot = -5.62847191319967 +243000 ekin = 5.00573446224949 | erot = 3.4703026046947 | epot = -14.1045089792032 | etot = -5.62847191225906 +244000 ekin = 5.06987350321115 | erot = 3.50985787352289 | epot = -14.2082032933008 | etot = -5.62847191656676 +245000 ekin = 5.08405115957508 | erot = 3.57323736718567 | epot = -14.2857604930688 | etot = -5.62847196630809 +246000 ekin = 5.13867281568972 | erot = 3.53022410786782 | epot = -14.2973688418964 | etot = -5.62847191833886 +247000 ekin = 5.24446071734678 | erot = 3.63707192639729 | epot = -14.5100045566457 | etot = -5.6284719129016 +248000 ekin = 5.23528120841574 | erot = 3.7402333097403 | epot = -14.6039864311637 | etot = -5.6284719130077 +249000 ekin = 5.21260078434991 | erot = 3.83729795660198 | epot = -14.6783706538229 | etot = -5.62847191287103 +250000 ekin = 5.17839081250125 | erot = 3.92749000333825 | epot = -14.7343527284453 | etot = -5.62847191260578 +251000 ekin = 5.13586036333776 | erot = 4.01108345357664 | epot = -14.7754157290639 | etot = -5.62847191214954 +252000 ekin = 5.08918292106269 | erot = 4.0901869418456 | epot = -14.8078417745571 | etot = -5.62847191164886 +253000 ekin = 5.04264218495251 | erot = 4.16759058211992 | epot = -14.8387046782792 | etot = -5.62847191120678 +254000 ekin = 4.99116344078304 | erot = 4.24248912287842 | epot = -14.8621245493434 | etot = -5.62847198568198 +255000 ekin = 4.72637462798313 | erot = 4.24407837663972 | epot = -14.5989249325881 | etot = -5.62847192796522 +256000 ekin = 4.59834109997883 | erot = 4.36369782211094 | epot = -14.5905108364968 | etot = -5.62847191440707 +257000 ekin = 4.77089539876767 | erot = 4.60066315316555 | epot = -15.0000305289929 | etot = -5.62847197705967 +258000 ekin = 4.85704242989329 | erot = 4.66807324377056 | epot = -15.1535875814157 | etot = -5.62847190775189 +259000 ekin = 4.89901811472161 | erot = 4.72718635921493 | epot = -15.254676380859 | etot = -5.62847190692249 +260000 ekin = 4.94107094739191 | erot = 4.79406863686397 | epot = -15.3636114914137 | etot = -5.62847190715783 +261000 ekin = 4.98242309074731 | erot = 4.86508628581783 | epot = -15.475981284624 | etot = -5.62847190805891 +262000 ekin = 5.01659840998324 | erot = 4.93871137848495 | epot = -15.5837816973677 | etot = -5.62847190889948 +263000 ekin = 5.03982661194286 | erot = 5.00983839412499 | epot = -15.678136915574 | etot = -5.62847190950611 +264000 ekin = 5.04732696349651 | erot = 5.07389667599432 | epot = -15.7496955495956 | etot = -5.62847191010476 +265000 ekin = 5.03448807084879 | erot = 5.12688367713822 | epot = -15.7898436586239 | etot = -5.62847191063685 +266000 ekin = 4.99773438959422 | erot = 5.16480683532306 | epot = -15.7910131359651 | etot = -5.62847191104779 +267000 ekin = 4.93508497406072 | erot = 5.18388050750759 | epot = -15.7474373928695 | etot = -5.62847191130122 +268000 ekin = 4.84654531470709 | erot = 5.18063468559457 | epot = -15.6556519116839 | etot = -5.62847191138221 +269000 ekin = 4.73423214274495 | erot = 5.15198859732377 | epot = -15.5146926513573 | etot = -5.62847191128854 +270000 ekin = 4.60224202248383 | erot = 5.09540688817397 | epot = -15.3261208188942 | etot = -5.62847190823643 +271000 ekin = 4.45636876654781 | erot = 5.00923317388611 | epot = -15.0940738481991 | etot = -5.62847190776522 +272000 ekin = 4.30375505735309 | erot = 4.89315778304568 | epot = -14.825384747494 | etot = -5.62847190709522 +273000 ekin = 4.15244061479752 | erot = 4.74862648123594 | epot = -14.5295390022933 | etot = -5.62847190625979 +274000 ekin = 4.01137482334292 | erot = 4.57896672456614 | epot = -14.2188134532213 | etot = -5.62847190531227 +275000 ekin = 3.87388872892428 | erot = 4.38950805795246 | epot = -13.8918687169883 | etot = -5.62847193011159 +276000 ekin = 3.70828148350147 | erot = 4.18975567950129 | epot = -13.5265090654659 | etot = -5.62847190246315 +277000 ekin = 3.74025187940199 | erot = 3.98894405210537 | epot = -13.3576678645646 | etot = -5.62847193305723 +278000 ekin = 3.74221760775445 | erot = 3.7703854369191 | epot = -13.141074947913 | etot = -5.62847190323943 +279000 ekin = 3.75220115766807 | erot = 3.55790331814709 | epot = -12.9385763794555 | etot = -5.62847190364033 +280000 ekin = 3.77561814014637 | erot = 3.35781654492599 | epot = -12.7619065883795 | etot = -5.62847190330715 +281000 ekin = 3.81272927484916 | erot = 3.17409695196373 | epot = -12.6152981298183 | etot = -5.62847190300538 +282000 ekin = 3.86501988036989 | erot = 3.00952640155094 | epot = -12.5030181842073 | etot = -5.62847190228648 +283000 ekin = 3.93628900407196 | erot = 2.86613168182016 | epot = -12.4308925881274 | etot = -5.62847190223531 +284000 ekin = 4.02702703050672 | erot = 2.74480306500215 | epot = -12.400301997905 | etot = -5.62847190239611 +285000 ekin = 4.14139706640362 | erot = 2.64599110158009 | epot = -12.4158600691698 | etot = -5.62847190118607 +286000 ekin = 4.28525774918439 | erot = 2.56950762489372 | epot = -12.4832372763244 | etot = -5.62847190224628 +287000 ekin = 4.44987555795748 | erot = 2.51493810068492 | epot = -12.5932855609593 | etot = -5.6284719023169 +288000 ekin = 4.63520922264933 | erot = 2.48100112555843 | epot = -12.7446822515497 | etot = -5.62847190334196 +289000 ekin = 4.83125797005689 | erot = 2.46527241539821 | epot = -12.9250022896894 | etot = -5.6284719042343 +290000 ekin = 5.02763799219528 | erot = 2.46542435682162 | epot = -13.1215342541017 | etot = -5.62847190508476 +291000 ekin = 5.21465468575846 | erot = 2.47913524144884 | epot = -13.3222618329705 | etot = -5.62847190576323 +292000 ekin = 5.38472348790169 | erot = 2.50416430329376 | epot = -13.5173596974329 | etot = -5.62847190623749 +293000 ekin = 5.53302487062846 | erot = 2.53823701976661 | epot = -13.6997337969559 | etot = -5.62847190656082 +294000 ekin = 5.6571870189941 | erot = 2.5787749635331 | epot = -13.8644338893373 | etot = -5.62847190681011 +295000 ekin = 5.75652780496594 | erot = 2.62269919784364 | epot = -14.0076989098378 | etot = -5.62847190702826 +296000 ekin = 5.83139499491463 | erot = 2.66652171229213 | epot = -14.1263886144138 | etot = -5.62847190720704 +297000 ekin = 5.88282356332242 | erot = 2.70675614330273 | epot = -14.2180516139347 | etot = -5.62847190730956 +298000 ekin = 5.91239748765322 | erot = 2.7404849430086 | epot = -14.28135433797 | etot = -5.62847190730812 +299000 ekin = 5.92208198046631 | erot = 2.7658529930208 | epot = -14.3164068806916 | etot = -5.62847190720453 +300000 ekin = 5.91390942018983 | erot = 2.78233336188499 | epot = -14.3247146890992 | etot = -5.62847190702436 +301000 ekin = 5.88962133511497 | erot = 2.79074353675713 | epot = -14.3088367786655 | etot = -5.6284719067934 +302000 ekin = 5.85048781421181 | erot = 2.79307875791444 | epot = -14.2720384786478 | etot = -5.6284719065216 +303000 ekin = 5.79743517877221 | erot = 2.79223225552269 | epot = -14.2181393405036 | etot = -5.62847190620872 +304000 ekin = 5.73124340760732 | erot = 2.79262915088962 | epot = -14.1523444641594 | etot = -5.62847190566242 +305000 ekin = 5.65258268469963 | erot = 2.79940899090845 | epot = -14.0804635809885 | etot = -5.62847190538042 +306000 ekin = 5.56254653523154 | erot = 2.81503734234889 | epot = -14.0060557827376 | etot = -5.62847190515719 +307000 ekin = 5.46251129680772 | erot = 2.84075892385856 | epot = -13.9317421256993 | etot = -5.628471905033 +308000 ekin = 5.35391293499826 | erot = 2.87633235163923 | epot = -13.8587171916687 | etot = -5.62847190503121 +309000 ekin = 5.23805007411516 | erot = 2.91996940723001 | epot = -13.7864913863797 | etot = -5.62847190503451 +310000 ekin = 5.11613875822289 | erot = 2.96880482959698 | epot = -13.7134154931048 | etot = -5.62847190528492 +311000 ekin = 4.98925852659088 | erot = 3.01839769775364 | epot = -13.6361281298111 | etot = -5.62847190546661 +312000 ekin = 4.85867326621996 | erot = 3.06421411593078 | epot = -13.5513592877715 | etot = -5.6284719056208 +313000 ekin = 4.72585112667078 | erot = 3.10236590329544 | epot = -13.4566889356288 | etot = -5.62847190566256 +314000 ekin = 4.59293421045967 | erot = 3.13002199528656 | epot = -13.3514281113019 | etot = -5.62847190555564 +315000 ekin = 4.46270669971285 | erot = 3.14588950387233 | epot = -13.2370681089016 | etot = -5.62847190531646 +316000 ekin = 4.33845457033907 | erot = 3.15016989317907 | epot = -13.117096368502 | etot = -5.62847190498389 +317000 ekin = 4.22370149066984 | erot = 3.14429402986996 | epot = -12.9964674251454 | etot = -5.62847190460556 +318000 ekin = 4.12188681800496 | erot = 3.13056754978033 | epot = -12.8809262720097 | etot = -5.62847190422441 +319000 ekin = 4.03607214171727 | erot = 3.1118418278711 | epot = -12.7763858734576 | etot = -5.62847190386921 +320000 ekin = 3.96873641008803 | erot = 3.09128048611875 | epot = -12.688488799758 | etot = -5.62847190355117 +321000 ekin = 3.92167797369473 | erot = 3.07226107994169 | epot = -12.6224109569055 | etot = -5.62847190326908 +322000 ekin = 3.89600971422886 | erot = 3.0583364837468 | epot = -12.5828181010019 | etot = -5.62847190302625 +323000 ekin = 3.89216326552489 | erot = 3.05323078720494 | epot = -12.5738659555648 | etot = -5.62847190283501 +324000 ekin = 3.90971752721574 | erot = 3.06065920137769 | epot = -12.5988486315915 | etot = -5.62847190299803 +325000 ekin = 3.94474197768096 | erot = 3.08325557842962 | epot = -12.6564694593579 | etot = -5.62847190324737 +326000 ekin = 3.99225791212593 | erot = 3.12131666196344 | epot = -12.7420464778598 | etot = -5.62847190377039 +327000 ekin = 4.0471575181962 | erot = 3.17277573873705 | epot = -12.8484051615057 | etot = -5.62847190457241 +328000 ekin = 4.10306827950272 | erot = 3.23289809101669 | epot = -12.9644382761191 | etot = -5.62847190559972 +329000 ekin = 4.1529407779747 | erot = 3.29460254686909 | epot = -13.0760152315166 | etot = -5.62847190667283 +330000 ekin = 4.19046086378744 | erot = 3.34957314359153 | epot = -13.1685059148798 | etot = -5.62847190750083 +331000 ekin = 4.21187936704663 | erot = 3.38989153266405 | epot = -13.2302428076773 | etot = -5.6284719079666 +332000 ekin = 4.21589857653334 | erot = 3.41075094374493 | epot = -13.2551214281318 | etot = -5.6284719078535 +333000 ekin = 4.20485265999743 | erot = 3.41174399824419 | epot = -13.2450685654349 | etot = -5.62847190719325 +334000 ekin = 4.18435368275723 | erot = 3.39692225043786 | epot = -13.2097478393525 | etot = -5.62847190615742 +335000 ekin = 4.16205455861025 | erot = 3.37367623593637 | epot = -13.1642026995324 | etot = -5.6284719049858 +336000 ekin = 4.14609491420183 | erot = 3.35093309665819 | epot = -13.1254999147632 | etot = -5.62847190390319 +337000 ekin = 4.14364358930928 | erot = 3.33736964605316 | epot = -13.1094851384328 | etot = -5.6284719030704 +338000 ekin = 4.15982493122721 | erot = 3.33968220642382 | epot = -13.1279790403805 | etot = -5.62847190272943 +339000 ekin = 4.19714166715581 | erot = 3.36120406394198 | epot = -13.1868176337033 | etot = -5.62847190260553 +340000 ekin = 4.25518474380808 | erot = 3.4039445653423 | epot = -13.2876012119485 | etot = -5.62847190279813 +341000 ekin = 4.33079125359858 | erot = 3.46797257818037 | epot = -13.4272357350166 | etot = -5.62847190323766 +342000 ekin = 4.41854745258189 | erot = 3.55173943759755 | epot = -13.5987587940251 | etot = -5.62847190384561 +343000 ekin = 4.51153864837879 | erot = 3.652504945506 | epot = -13.7925154984309 | etot = -5.62847190454609 +344000 ekin = 4.60219231317239 | erot = 3.76671918647997 | epot = -13.997383404906 | etot = -5.62847190525368 +345000 ekin = 4.68312343519334 | erot = 3.89042211424666 | epot = -14.2020174553425 | etot = -5.62847190590253 +346000 ekin = 4.74786790539194 | erot = 4.01955036383976 | epot = -14.3958901756728 | etot = -5.62847190644112 +347000 ekin = 4.79150376885693 | erot = 4.150195298843 | epot = -14.5701709744941 | etot = -5.62847190679421 +348000 ekin = 4.81117855585102 | erot = 4.27877359764447 | epot = -14.7184240605438 | etot = -5.62847190704836 +349000 ekin = 4.80564918858945 | erot = 4.40205662692375 | epot = -14.8361777226801 | etot = -5.62847190716692 +350000 ekin = 4.77545945328785 | erot = 4.51714564005358 | epot = -14.9210770005337 | etot = -5.6284719071923 +351000 ekin = 4.72262273321844 | erot = 4.62116010888509 | epot = -14.9722547493068 | etot = -5.6284719072033 +352000 ekin = 4.65007958813933 | erot = 4.71078593021054 | epot = -14.9893374256289 | etot = -5.62847190727905 +353000 ekin = 4.56109157465084 | erot = 4.7818033558395 | epot = -14.9713668379523 | etot = -5.62847190746193 +354000 ekin = 4.45876151246233 | erot = 4.82895979647354 | epot = -14.9161932166581 | etot = -5.62847190772226 +355000 ekin = 4.34584612945194 | erot = 4.84663553108728 | epot = -14.8209535684629 | etot = -5.62847190792371 +356000 ekin = 4.22495470320642 | erot = 4.83038190908647 | epot = -14.6838085201814 | etot = -5.62847190788853 +357000 ekin = 4.09903296594494 | erot = 4.77873075093466 | epot = -14.5062356243611 | etot = -5.62847190748155 +358000 ekin = 3.9717866755574 | erot = 4.69444561049284 | epot = -14.2947041927586 | etot = -5.62847190670838 +359000 ekin = 3.84767298929259 | erot = 4.58431182213288 | epot = -14.0604567171772 | etot = -5.62847190575173 +360000 ekin = 3.73136439808524 | erot = 4.45746613157388 | epot = -13.8173024344164 | etot = -5.62847190475726 +361000 ekin = 3.62758093165437 | erot = 4.32379064505124 | epot = -13.5798434807365 | etot = -5.62847190403088 +362000 ekin = 3.54294892306734 | erot = 4.19358097114317 | epot = -13.3650017978873 | etot = -5.6284719036768 +363000 ekin = 3.4783731169159 | erot = 4.07207692082171 | epot = -13.1789219412944 | etot = -5.62847190355681 +364000 ekin = 3.43225009806439 | erot = 3.96193194141655 | epot = -13.0226539430675 | etot = -5.62847190358656 +365000 ekin = 3.4019838846394 | erot = 3.86460642705253 | epot = -12.8950622153762 | etot = -5.6284719036843 +366000 ekin = 3.38451833852897 | erot = 3.78104622244587 | epot = -12.7940364647553 | etot = -5.6284719037805 +367000 ekin = 3.37682483158841 | erot = 3.71218000857274 | epot = -12.7174767440016 | etot = -5.62847190384047 +368000 ekin = 3.37625204139247 | erot = 3.65912147822663 | epot = -12.6638454234711 | etot = -5.62847190385203 +369000 ekin = 3.38074636727487 | erot = 3.623126803443 | epot = -12.6323450745421 | etot = -5.62847190382426 +370000 ekin = 3.38894636699412 | erot = 3.60538856636911 | epot = -12.6228068371819 | etot = -5.62847190381867 +371000 ekin = 3.40011634060655 | erot = 3.60672333637796 | epot = -12.6353115807301 | etot = -5.6284719037456 +372000 ekin = 3.41430323563517 | erot = 3.62748920223765 | epot = -12.6702643415699 | etot = -5.62847190369708 +373000 ekin = 3.43217624796222 | erot = 3.66740997408407 | epot = -12.7280581255881 | etot = -5.62847190354183 +374000 ekin = 3.4553831468672 | erot = 3.7253207076625 | epot = -12.8091757581561 | etot = -5.62847190362638 +375000 ekin = 3.48458983103952 | erot = 3.79950576965977 | epot = -12.912567504454 | etot = -5.62847190375469 +376000 ekin = 3.51994630864001 | erot = 3.88772077541255 | epot = -13.0361389879767 | etot = -5.62847190392415 +377000 ekin = 3.56162263239923 | erot = 3.987180320867 | epot = -13.1772748573584 | etot = -5.62847190409221 +378000 ekin = 3.61009229019707 | erot = 4.09470007581313 | epot = -13.3332642703131 | etot = -5.62847190430291 +379000 ekin = 3.66621939252838 | erot = 4.20668278515949 | epot = -13.5013740821291 | etot = -5.62847190444121 +380000 ekin = 3.73222313435908 | erot = 4.31893025305484 | epot = -13.6796252922915 | etot = -5.62847190487763 +381000 ekin = 3.80656943724393 | erot = 4.4266176909461 | epot = -13.8616590336395 | etot = -5.62847190544944 +382000 ekin = 3.88594558526958 | erot = 4.52459411505758 | epot = -14.0390116064095 | etot = -5.6284719060823 +383000 ekin = 3.96695090000421 | erot = 4.60747433895036 | epot = -14.2028971456775 | etot = -5.6284719067229 +384000 ekin = 4.04619645068514 | erot = 4.66967915257686 | epot = -14.3443475105574 | etot = -5.6284719072954 +385000 ekin = 4.1209202913832 | erot = 4.70599192062627 | epot = -14.4553841196779 | etot = -5.6284719076684 +386000 ekin = 4.18945537163468 | erot = 4.71237691681053 | epot = -14.53030419655 | etot = -5.62847190810481 +387000 ekin = 4.24770733745657 | erot = 4.68531871643965 | epot = -14.5614979619493 | etot = -5.62847190805306 +388000 ekin = 4.29400518232787 | erot = 4.62433064765407 | epot = -14.5468077376916 | etot = -5.62847190770962 +389000 ekin = 4.32973751035657 | erot = 4.53230747815447 | epot = -14.4905168956744 | etot = -5.62847190716338 +390000 ekin = 4.35696496432711 | erot = 4.41432356915647 | epot = -14.3997604400514 | etot = -5.62847190656786 +391000 ekin = 4.37768888460796 | erot = 4.27672755001287 | epot = -14.2828883405568 | etot = -5.62847190593597 +392000 ekin = 4.39398588700514 | erot = 4.12625191225617 | epot = -14.1487097046405 | etot = -5.62847190537918 +393000 ekin = 4.407382411178 | erot = 3.96936593196168 | epot = -14.0052202479623 | etot = -5.62847190482259 +394000 ekin = 4.41937568155054 | erot = 3.81285278687815 | epot = -13.8607003730908 | etot = -5.6284719046621 +395000 ekin = 4.42988768163861 | erot = 3.66065946576253 | epot = -13.7190190519313 | etot = -5.6284719045302 +396000 ekin = 4.43847476588742 | erot = 3.515256032156 | epot = -13.5822027024342 | etot = -5.62847190439077 +397000 ekin = 4.44517728396547 | erot = 3.37891512777946 | epot = -13.4525643159608 | etot = -5.62847190421592 +398000 ekin = 4.45064950025449 | erot = 3.25392386318798 | epot = -13.3330452674381 | etot = -5.62847190399563 +399000 ekin = 4.45613851376774 | erot = 3.14269651881402 | epot = -13.2273069363796 | etot = -5.62847190379781 +400000 ekin = 4.46297608305081 | erot = 3.04745583064848 | epot = -13.1389038172436 | etot = -5.62847190354436 +401000 ekin = 4.4727554600107 | erot = 2.97053701410496 | epot = -13.0717643774743 | etot = -5.62847190335867 +402000 ekin = 4.48672336700456 | erot = 2.91396522579477 | epot = -13.0291604961389 | etot = -5.62847190333955 +403000 ekin = 4.50482841071939 | erot = 2.87870251808789 | epot = -13.0120028324216 | etot = -5.62847190361433 +404000 ekin = 4.52484325730244 | erot = 2.86379686213768 | epot = -13.0171120236908 | etot = -5.62847190425068 +405000 ekin = 4.54178669953282 | erot = 2.86535120567948 | epot = -13.0356098106883 | etot = -5.62847190547597 +406000 ekin = 4.54812186977377 | erot = 2.8756562345287 | epot = -13.0522500108982 | etot = -5.62847190659573 +407000 ekin = 4.53567765662368 | erot = 2.88781666332885 | epot = -13.0519662273735 | etot = -5.62847190742095 +408000 ekin = 4.49806839872552 | erot = 2.89717319274354 | epot = -13.0237134991179 | etot = -5.62847190764884 +409000 ekin = 4.43289041825336 | erot = 2.90293173428801 | epot = -12.9642940598164 | etot = -5.628471907275 +410000 ekin = 4.34222243511652 | erot = 2.9078457176288 | epot = -12.8785400592904 | etot = -5.62847190654505 +411000 ekin = 4.23122328981887 | erot = 2.91632332329652 | epot = -12.7760185189097 | etot = -5.62847190579429 +412000 ekin = 4.10591302468972 | erot = 2.93234263225436 | epot = -12.6667275621786 | etot = -5.62847190523456 +413000 ekin = 3.97147909136112 | erot = 2.95826875337514 | epot = -12.5582197496412 | etot = -5.62847190490499 +414000 ekin = 3.8316964532881 | erot = 2.99487215440368 | epot = -12.455040512434 | etot = -5.6284719047422 +415000 ekin = 3.68915556886498 | erot = 3.04191716153914 | epot = -12.3595446350685 | etot = -5.62847190466441 +416000 ekin = 3.54575553257353 | erot = 3.09878213614044 | epot = -12.2730095733252 | etot = -5.62847190461118 +417000 ekin = 3.40315271146257 | erot = 3.16484246792854 | epot = -12.1964670839421 | etot = -5.628471904551 +418000 ekin = 3.26306253873233 | erot = 3.23960054555629 | epot = -12.1311349887606 | etot = -5.62847190447202 +419000 ekin = 3.12743539445919 | erot = 3.3226586781321 | epot = -12.0785659769629 | etot = -5.62847190437166 +420000 ekin = 2.99854685247769 | erot = 3.41362396347574 | epot = -12.0406427202082 | etot = -5.62847190425476 +421000 ekin = 2.87901712491765 | erot = 3.51197880381345 | epot = -12.0194678328662 | etot = -5.62847190413511 +422000 ekin = 2.77174596051471 | erot = 3.61690112205625 | epot = -12.0171189866113 | etot = -5.62847190404032 +423000 ekin = 2.67973794663749 | erot = 3.72700827488463 | epot = -12.0352181255357 | etot = -5.62847190401359 +424000 ekin = 2.60579870927641 | erot = 3.8400271753046 | epot = -12.0742977886923 | etot = -5.6284719041113 +425000 ekin = 2.55208954526361 | erot = 3.95244167895215 | epot = -12.1330031286132 | etot = -5.6284719043974 +426000 ekin = 2.51954653043548 | erot = 4.05920212808865 | epot = -12.2072205634526 | etot = -5.62847190492845 +427000 ekin = 2.50725893889522 | erot = 4.15363681831345 | epot = -12.2893676629222 | etot = -5.62847190571357 +428000 ekin = 2.51210485173988 | erot = 4.22782399615356 | epot = -12.3684007545415 | etot = -5.62847190664806 +429000 ekin = 2.52911833231882 | erot = 4.27377369073059 | epot = -12.4313639305283 | etot = -5.62847190747891 +430000 ekin = 2.55284926699729 | erot = 4.28551618827135 | epot = -12.4668373631561 | etot = -5.62847190788745 +431000 ekin = 2.5792413941883 | erot = 4.26142412037033 | epot = -12.4691374222402 | etot = -5.62847190768156 +432000 ekin = 2.60692475465764 | erot = 4.20541068246136 | epot = -12.4408073440548 | etot = -5.62847190693575 +433000 ekin = 2.63712842981534 | erot = 4.12604912500974 | epot = -12.3916494607596 | etot = -5.62847190593452 +434000 ekin = 2.67245542240745 | erot = 4.03405948920888 | epot = -12.3349868166036 | etot = -5.62847190498728 +435000 ekin = 2.71543854639826 | erot = 3.93961255970321 | epot = -12.2835230103841 | etot = -5.62847190428263 +436000 ekin = 2.76760991341188 | erot = 3.85063248522776 | epot = -12.2467143025148 | etot = -5.62847190387521 +437000 ekin = 2.82920515671347 | erot = 3.77223859650038 | epot = -12.229915656939 | etot = -5.62847190372516 +438000 ekin = 2.89929820058543 | erot = 3.70707509974792 | epot = -12.2348452040997 | etot = -5.62847190376632 +439000 ekin = 2.97609334155065 | erot = 3.65590372388788 | epot = -12.2604689693773 | etot = -5.6284719039388 +440000 ekin = 3.0572090661252 | erot = 3.61815200783681 | epot = -12.3038329781609 | etot = -5.62847190419891 +441000 ekin = 3.13989672828484 | erot = 3.59232302399564 | epot = -12.3606916567967 | etot = -5.62847190451624 +442000 ekin = 3.22119927518209 | erot = 3.5762689251996 | epot = -12.4259401052536 | etot = -5.62847190487189 +443000 ekin = 3.29807867301552 | erot = 3.56737972996007 | epot = -12.4939303082211 | etot = -5.62847190524554 +444000 ekin = 3.36753883943484 | erot = 3.56276348927419 | epot = -12.558774234326 | etot = -5.62847190561699 +445000 ekin = 3.42676046580584 | erot = 3.55942025918996 | epot = -12.6146526309598 | etot = -5.62847190596397 +446000 ekin = 3.47324383646413 | erot = 3.55443462309052 | epot = -12.656150365822 | etot = -5.62847190626738 +447000 ekin = 3.50497354375794 | erot = 3.54511419619786 | epot = -12.6785596464609 | etot = -5.62847190650513 +448000 ekin = 3.52056213082773 | erot = 3.52974100710159 | epot = -12.6787750444482 | etot = -5.62847190651887 +449000 ekin = 3.5193969659025 | erot = 3.5070590451093 | epot = -12.6549279176159 | etot = -5.62847190660407 +450000 ekin = 3.50164536052708 | erot = 3.47565071065802 | epot = -12.6057679777836 | etot = -5.62847190659851 +451000 ekin = 3.46824790706761 | erot = 3.43472151202269 | epot = -12.5314413255905 | etot = -5.62847190650017 +452000 ekin = 3.42090312735532 | erot = 3.3841455872896 | epot = -12.4335206209555 | etot = -5.62847190631062 +453000 ekin = 3.36201791827153 | erot = 3.32449206044985 | epot = -12.3149818847562 | etot = -5.62847190603485 +454000 ekin = 3.29463316059154 | erot = 3.25701739818569 | epot = -12.18012246446 | etot = -5.62847190568276 +455000 ekin = 3.22233274897233 | erot = 3.18360703276273 | epot = -12.034411687003 | etot = -5.62847190526794 +456000 ekin = 3.14914248627045 | erot = 3.10666992197473 | epot = -11.8842843130546 | etot = -5.62847190480945 +457000 ekin = 3.07939737171287 | erot = 3.02894564057903 | epot = -11.7368149166299 | etot = -5.62847190433799 +458000 ekin = 3.01756413266252 | erot = 2.95322108561951 | epot = -11.5992571221324 | etot = -5.62847190385035 +459000 ekin = 2.96810632521944 | erot = 2.88249754735581 | epot = -11.4790757759786 | etot = -5.62847190340336 +460000 ekin = 2.93513889001201 | erot = 2.81955267520362 | epot = -11.3831634682489 | etot = -5.62847190303332 +461000 ekin = 2.92205746386829 | erot = 2.76669234907485 | epot = -11.3172217157212 | etot = -5.62847190277803 +462000 ekin = 2.93114290148975 | erot = 2.72556812595398 | epot = -11.2851829301146 | etot = -5.6284719026709 +463000 ekin = 2.96319319679128 | erot = 2.69703193761113 | epot = -11.2886970371374 | etot = -5.62847190273498 +464000 ekin = 3.01726238568043 | erot = 2.68105615129969 | epot = -11.3267904399539 | etot = -5.62847190297383 +465000 ekin = 3.09058398931785 | erot = 2.67674994758914 | epot = -11.3958058402755 | etot = -5.62847190336855 +466000 ekin = 3.17872270900157 | erot = 2.68248866700197 | epot = -11.4896832798828 | etot = -5.62847190387923 +467000 ekin = 3.2759411449618 | erot = 2.69614045585464 | epot = -11.6005535052698 | etot = -5.62847190445338 +468000 ekin = 3.37571282133989 | erot = 2.71534026240071 | epot = -11.7195249887787 | etot = -5.62847190503812 +469000 ekin = 3.47128178262914 | erot = 2.73774679763144 | epot = -11.8375004858492 | etot = -5.62847190558859 +470000 ekin = 3.55617737699083 | erot = 2.76123628661372 | epot = -11.9458855696774 | etot = -5.62847190607284 +471000 ekin = 3.62463309399455 | erot = 2.78402790003972 | epot = -12.037132900502 | etot = -5.62847190646776 +472000 ekin = 3.67190559891936 | erot = 2.8047712477889 | epot = -12.1051487534637 | etot = -5.62847190675547 +473000 ekin = 3.69451868440097 | erot = 2.82263116141252 | epot = -12.1456217527324 | etot = -5.62847190691896 +474000 ekin = 3.69045746330193 | erot = 2.8373788256899 | epot = -12.1563081959362 | etot = -5.6284719069444 +475000 ekin = 3.65932116349145 | erot = 2.84946541727408 | epot = -12.1372584875892 | etot = -5.62847190682371 +476000 ekin = 3.60242486136646 | erot = 2.86004016499196 | epot = -12.0909369329169 | etot = -5.62847190655849 +477000 ekin = 3.52282746237732 | erot = 2.87088465736214 | epot = -12.0221840258998 | etot = -5.62847190616038 +478000 ekin = 3.42525452627518 | erot = 2.88424967270887 | epot = -11.9379761046485 | etot = -5.62847190566447 +479000 ekin = 3.31588349736502 | erot = 2.90254646897039 | epot = -11.8469018714502 | etot = -5.62847190511476 +480000 ekin = 3.20192949243302 | erot = 2.92801081391733 | epot = -11.7584122109274 | etot = -5.62847190457704 +481000 ekin = 3.09102106838258 | erot = 2.96227510041685 | epot = -11.6817680729317 | etot = -5.62847190413228 +482000 ekin = 2.99039932399026 | erot = 3.00590839370206 | epot = -11.6247796215548 | etot = -5.62847190386249 +483000 ekin = 2.9060569334269 | erot = 3.05799802965361 | epot = -11.5925268669148 | etot = -5.62847190383431 +484000 ekin = 2.8420017152304 | erot = 3.11586840864788 | epot = -11.5863420279555 | etot = -5.62847190407723 +485000 ekin = 2.81072036468127 | erot = 3.0366554646563 | epot = -11.4758477218727 | etot = -5.62847189253513 +486000 ekin = 2.99172671789725 | erot = 2.89028588608556 | epot = -11.5104845147091 | etot = -5.62847191072628 +487000 ekin = 3.04661020882518 | erot = 2.89516257155138 | epot = -11.5702446860095 | etot = -5.62847190563292 +488000 ekin = 3.02813445461698 | erot = 2.91755814175566 | epot = -11.5741645019067 | etot = -5.62847190553406 +489000 ekin = 3.02918173189716 | erot = 2.94703274342865 | epot = -11.6046863809268 | etot = -5.62847190560097 +490000 ekin = 3.04920929975595 | erot = 2.9829992143947 | epot = -11.6606804199702 | etot = -5.62847190581958 +491000 ekin = 3.0856462342284 | erot = 3.02458607702748 | epot = -11.7387042173738 | etot = -5.62847190611796 +492000 ekin = 3.13426650215918 | erot = 3.07113014038627 | epot = -11.8338685489821 | etot = -5.6284719064367 +493000 ekin = 3.19024782357284 | erot = 3.122467363769 | epot = -11.9411870939865 | etot = -5.62847190664467 +494000 ekin = 3.24418110404638 | erot = 3.17757093527559 | epot = -12.0502240478375 | etot = -5.62847200851552 +495000 ekin = 3.12930691887915 | erot = 3.12025770006845 | epot = -11.878036533776 | etot = -5.62847191482835 +496000 ekin = 3.38154400850358 | erot = 3.12702216682433 | epot = -12.137038139537 | etot = -5.62847196420913 +497000 ekin = 3.53796334305638 | erot = 3.21345240185708 | epot = -12.3798876661503 | etot = -5.62847192123686 +498000 ekin = 3.5472524224632 | erot = 3.31274815695996 | epot = -12.4884725006775 | etot = -5.62847192125435 +499000 ekin = 3.54686752393915 | erot = 3.42936350672876 | epot = -12.6047029520135 | etot = -5.62847192134559 +500000 ekin = 3.53611629145095 | erot = 3.56214471850545 | epot = -12.7267329314686 | etot = -5.62847192151223 +501000 ekin = 3.51474019584732 | erot = 3.70831240064401 | epot = -12.8515245182491 | etot = -5.62847192175777 +502000 ekin = 3.48291543617567 | erot = 3.86351597860162 | epot = -12.9749033367677 | etot = -5.62847192199039 +503000 ekin = 3.44167367984815 | erot = 4.02200657197324 | epot = -13.0921521741687 | etot = -5.62847192234736 +504000 ekin = 3.39166561938554 | erot = 4.17733332044561 | epot = -13.1974708625716 | etot = -5.62847192274041 +505000 ekin = 3.33344269451329 | erot = 4.32266370129412 | epot = -13.284578318939 | etot = -5.62847192313161 +506000 ekin = 3.26726906280024 | erot = 4.45157764165941 | epot = -13.3473186278586 | etot = -5.62847192339891 +507000 ekin = 3.19388361650053 | erot = 4.55898983231483 | epot = -13.3813453723001 | etot = -5.62847192348474 +508000 ekin = 3.11462724049546 | erot = 4.64207406474173 | epot = -13.3851732285711 | etot = -5.62847192333393 +509000 ekin = 3.0315455189067 | erot = 4.70083202645973 | epot = -13.3608494683217 | etot = -5.6284719229553 +510000 ekin = 2.9451305861194 | erot = 4.73730594224089 | epot = -13.310908450846 | etot = -5.62847192248573 +511000 ekin = 2.85640718494572 | erot = 4.75516581384411 | epot = -13.2400449207109 | etot = -5.6284719219211 +512000 ekin = 2.76854482524938 | erot = 4.75962991524818 | epot = -13.1566466618619 | etot = -5.62847192136436 +513000 ekin = 2.68465921482692 | erot = 4.75599513195416 | epot = -13.0691262676793 | etot = -5.62847192089823 +514000 ekin = 2.6074556831351 | erot = 4.74870168660358 | epot = -12.9846292903215 | etot = -5.62847192058282 +515000 ekin = 2.53899080263134 | erot = 4.74082869238536 | epot = -12.908291415422 | etot = -5.62847192040532 +516000 ekin = 2.48057862895574 | erot = 4.73416754062336 | epot = -12.8432180899356 | etot = -5.62847192035646 +517000 ekin = 2.43281299018871 | erot = 4.729336510708 | epot = -12.7906214212996 | etot = -5.62847192040289 +518000 ekin = 2.39567246199112 | erot = 4.72611868192627 | epot = -12.7502630644219 | etot = -5.62847192050451 +519000 ekin = 2.3686800807562 | erot = 4.7238616345607 | epot = -12.7210136359372 | etot = -5.62847192062029 +520000 ekin = 2.35109068029861 | erot = 4.72186744274753 | epot = -12.7014300437606 | etot = -5.62847192071449 +521000 ekin = 2.34207426122085 | erot = 4.71970227698317 | epot = -12.6902484589699 | etot = -5.62847192076585 +522000 ekin = 2.34085858394716 | erot = 4.71735113725647 | epot = -12.6866816419765 | etot = -5.62847192077292 +523000 ekin = 2.34541603963217 | erot = 4.65571671261041 | epot = -12.6296046827242 | etot = -5.62847193048164 +524000 ekin = 2.39460269539116 | erot = 4.5440923966837 | epot = -12.5671670123536 | etot = -5.62847192027874 +525000 ekin = 2.51755565348171 | erot = 4.49060445320171 | epot = -12.636632032408 | etot = -5.62847192572459 +526000 ekin = 2.63891940338544 | erot = 4.4967002612617 | epot = -12.7640916024326 | etot = -5.62847193778544 +527000 ekin = 2.68130557076743 | erot = 4.50503337375349 | epot = -12.814810874615 | etot = -5.62847193009407 +528000 ekin = 2.71450795009193 | erot = 4.51098798629199 | epot = -12.8539678665778 | etot = -5.62847193019388 +529000 ekin = 2.74727192392954 | erot = 4.51402301142482 | epot = -12.8897668656182 | etot = -5.62847193026387 +530000 ekin = 2.77952118313263 | erot = 4.51256666252134 | epot = -12.9205597759442 | etot = -5.62847193029021 +531000 ekin = 2.81130699778271 | erot = 4.50555264766032 | epot = -12.9453315757121 | etot = -5.62847193026907 +532000 ekin = 2.84274553227055 | erot = 4.49253106979351 | epot = -12.963748532273 | etot = -5.62847193020897 +533000 ekin = 2.87393313769259 | erot = 4.47361780232379 | epot = -12.9760228701465 | etot = -5.62847193013013 +534000 ekin = 2.90486933807277 | erot = 4.44928844614865 | epot = -12.9826297142772 | etot = -5.62847193005582 +535000 ekin = 2.93541519864921 | erot = 4.42010482063592 | epot = -12.9839919492869 | etot = -5.62847193000178 +536000 ekin = 2.96529830147375 | erot = 4.38649798394161 | epot = -12.9802682153877 | etot = -5.62847192997236 +537000 ekin = 2.99415467150676 | erot = 4.34867665835148 | epot = -12.9713032598109 | etot = -5.62847192995265 +538000 ekin = 3.02158801649127 | erot = 4.30669342608826 | epot = -12.9567533725319 | etot = -5.62847192995239 +539000 ekin = 3.0472284437342 | erot = 4.26048951904593 | epot = -12.9361898927285 | etot = -5.62847192994839 +540000 ekin = 3.07077963644109 | erot = 4.21000980478691 | epot = -12.9092613711594 | etot = -5.62847192993142 +541000 ekin = 3.09204730617341 | erot = 4.15535061585768 | epot = -12.8758698519278 | etot = -5.62847192989669 +542000 ekin = 3.11094831334513 | erot = 4.09682671838946 | epot = -12.8362469615783 | etot = -5.62847192984375 +543000 ekin = 3.12750284884244 | erot = 4.03499383131399 | epot = -12.7909686099319 | etot = -5.62847192977543 +544000 ekin = 3.14181233919874 | erot = 3.97062692620924 | epot = -12.7409111951085 | etot = -5.62847192970057 +545000 ekin = 3.154023692805 | erot = 3.90462208416962 | epot = -12.687117706602 | etot = -5.62847192962739 +546000 ekin = 3.16427777380063 | erot = 3.83809465727444 | epot = -12.6308443606344 | etot = -5.62847192955928 +547000 ekin = 3.17263245318144 | erot = 3.77248542237236 | epot = -12.5735898050858 | etot = -5.62847192953204 +548000 ekin = 3.17905114130834 | erot = 3.70842416475025 | epot = -12.5159472355979 | etot = -5.6284719295393 +549000 ekin = 3.18335924855427 | erot = 3.64619443422522 | epot = -12.4580256123189 | etot = -5.62847192953942 +550000 ekin = 3.18506506662759 | erot = 3.58603484427807 | epot = -12.399571840559 | etot = -5.62847192965338 +551000 ekin = 3.18354118868716 | erot = 3.52751972613345 | epot = -12.3395328446127 | etot = -5.62847192979206 +552000 ekin = 3.17814056102138 | erot = 3.46973317227534 | epot = -12.2763456632303 | etot = -5.62847192993357 +553000 ekin = 3.16816249049593 | erot = 3.4118771629174 | epot = -12.2085115834581 | etot = -5.62847193004478 +554000 ekin = 3.15297464057581 | erot = 3.35363386890657 | epot = -12.1350804395706 | etot = -5.62847193008825 +555000 ekin = 3.13218065542941 | erot = 3.29554931589494 | epot = -12.0562019013542 | etot = -5.62847193002985 +556000 ekin = 3.10581995743369 | erot = 3.23932890452414 | epot = -11.9736207918045 | etot = -5.62847192984666 +557000 ekin = 3.07457883897345 | erot = 3.18795403305513 | epot = -11.8910048015597 | etot = -5.62847192953115 +558000 ekin = 3.039982626527 | erot = 3.14553707333998 | epot = -11.8139916289764 | etot = -5.62847192910947 +559000 ekin = 3.00450378984011 | erot = 3.11693712835302 | epot = -11.7499128467748 | etot = -5.6284719285817 +560000 ekin = 2.97145203621646 | erot = 3.10758181985049 | epot = -11.7075057840903 | etot = -5.62847192802332 +561000 ekin = 2.94451934101013 | erot = 3.12267269753501 | epot = -11.6956639661101 | etot = -5.62847192756497 +562000 ekin = 2.92714140956565 | erot = 3.16633554922539 | epot = -11.7219488860399 | etot = -5.6284719272489 +563000 ekin = 2.92206147624849 | erot = 3.24077054354643 | epot = -11.791303946995 | etot = -5.62847192720009 +564000 ekin = 2.93031627653502 | erot = 3.3456341095667 | epot = -11.9044223136023 | etot = -5.62847192750056 +565000 ekin = 2.95068712290038 | erot = 3.47751232964411 | epot = -12.0566713806991 | etot = -5.62847192815461 +566000 ekin = 2.97962685518711 | erot = 3.62985521358398 | epot = -12.2379539978968 | etot = -5.62847192912568 +567000 ekin = 3.01171593572638 | erot = 3.79324477340409 | epot = -12.4334326394467 | etot = -5.62847193031621 +568000 ekin = 3.04054477444357 | erot = 3.956100491764 | epot = -12.6251171977961 | etot = -5.62847193158857 +569000 ekin = 3.05981811076081 | erot = 4.10576505738188 | epot = -12.7940551009263 | etot = -5.62847193278365 +570000 ekin = 3.06446758294588 | erot = 4.22987220713965 | epot = -12.9228117238275 | etot = -5.62847193374201 +571000 ekin = 3.05159191037886 | erot = 4.31782950110594 | epot = -12.9978933458114 | etot = -5.62847193432658 +572000 ekin = 3.02108996836103 | erot = 4.36217384044962 | epot = -13.0117357432594 | etot = -5.6284719344488 +573000 ekin = 2.97589592642991 | erot = 4.3595336444915 | epot = -12.9639015050087 | etot = -5.6284719340873 +574000 ekin = 2.92177260944326 | erot = 4.31098813648668 | epot = -12.8612326792292 | etot = -5.62847193329925 +575000 ekin = 2.86675845142752 | erot = 4.22206447603994 | epot = -12.7172948575062 | etot = -5.62847193003876 +576000 ekin = 2.82238695041546 | erot = 4.1100210869994 | epot = -12.5608799669327 | etot = -5.62847192951789 +577000 ekin = 2.79586021285995 | erot = 3.98405314233133 | epot = -12.408385284279 | etot = -5.62847192908767 +578000 ekin = 2.7906267864783 | erot = 3.84816173899177 | epot = -12.2672604543186 | etot = -5.62847192884853 +579000 ekin = 2.80727876764756 | erot = 3.70630768396951 | epot = -12.1420583804494 | etot = -5.62847192883231 +580000 ekin = 2.84308800285077 | erot = 3.56147502221966 | epot = -12.0330349543698 | etot = -5.62847192929934 +581000 ekin = 2.89275945170175 | erot = 3.41677708036916 | epot = -11.9380084614447 | etot = -5.62847192937377 +582000 ekin = 2.94948274099937 | erot = 3.27852635629874 | epot = -11.8564810267415 | etot = -5.62847192944344 +583000 ekin = 3.00600312782226 | erot = 3.15339507866366 | epot = -11.7878701359128 | etot = -5.6284719294269 +584000 ekin = 3.05615870304061 | erot = 3.04800743032635 | epot = -11.7326380626692 | etot = -5.62847192930228 +585000 ekin = 3.09596263909699 | erot = 2.96828908152495 | epot = -11.692723649714 | etot = -5.62847192909207 +586000 ekin = 3.12407298200318 | erot = 2.91878541589392 | epot = -11.6713303267248 | etot = -5.62847192882776 +587000 ekin = 3.14174614221827 | erot = 2.90225430093616 | epot = -11.6724723716926 | etot = -5.6284719285382 +588000 ekin = 3.15240031622927 | erot = 2.91960613643676 | epot = -11.7004783809276 | etot = -5.62847192826162 +589000 ekin = 3.16081808257205 | erot = 2.97006448175184 | epot = -11.7593544923648 | etot = -5.62847192804094 +590000 ekin = 3.17204827385661 | erot = 3.05134069928938 | epot = -11.8518609010626 | etot = -5.62847192791657 +591000 ekin = 3.19150299839625 | erot = 3.16015018734539 | epot = -11.980125113735 | etot = -5.62847192799339 +592000 ekin = 3.22264872303177 | erot = 3.29204057518903 | epot = -12.1431612265392 | etot = -5.62847192831836 +593000 ekin = 3.26585695463954 | erot = 3.44092346941412 | epot = -12.3352523529135 | etot = -5.62847192885986 +594000 ekin = 3.31918005195762 | erot = 3.59965335605276 | epot = -12.5473053375762 | etot = -5.62847192956578 +595000 ekin = 3.37897127082535 | erot = 3.76045843946065 | epot = -12.7679016405769 | etot = -5.62847193029094 +596000 ekin = 3.43824068577806 | erot = 3.91359738330063 | epot = -12.9803100017047 | etot = -5.62847193262601 +597000 ekin = 3.48744876796665 | erot = 4.04782437865019 | epot = -13.1637450798766 | etot = -5.62847193325977 +598000 ekin = 3.52187002168153 | erot = 4.15698580429437 | epot = -13.3073277595898 | etot = -5.62847193361392 +599000 ekin = 3.53831455069841 | erot = 4.23767846714294 | epot = -13.404464951527 | etot = -5.62847193368565 +600000 ekin = 3.53510970427265 | erot = 4.28920847107757 | epot = -13.4527901088679 | etot = -5.62847193351773 +601000 ekin = 3.51191041814697 | erot = 4.31320178197176 | epot = -13.4535841332986 | etot = -5.62847193317987 +602000 ekin = 3.46937521142842 | erot = 4.31295152741579 | epot = -13.4107986715908 | etot = -5.62847193274656 +603000 ekin = 3.40882221237635 | erot = 4.29270411929989 | epot = -13.3299982639554 | etot = -5.62847193227922 +604000 ekin = 3.33194570978535 | erot = 4.25705245865312 | epot = -13.2174701002569 | etot = -5.62847193181846 +605000 ekin = 3.24062643784222 | erot = 4.210522480391 | epot = -13.0796208496176 | etot = -5.62847193138435 +606000 ekin = 3.13683319322748 | erot = 4.15735875797083 | epot = -12.9226638821792 | etot = -5.62847193098084 +607000 ekin = 3.02259481107363 | erot = 4.10146703773365 | epot = -12.7525337794094 | etot = -5.62847193060207 +608000 ekin = 2.9000165225881 | erot = 4.04645475157337 | epot = -12.5749432043994 | etot = -5.62847193023795 +609000 ekin = 2.77131728807406 | erot = 3.99571460781604 | epot = -12.3955038257683 | etot = -5.62847192987821 +610000 ekin = 2.63886938890257 | erot = 3.95250622991957 | epot = -12.2198475483386 | etot = -5.62847192951647 +611000 ekin = 2.50524882250675 | erot = 3.92003293779097 | epot = -12.0537536891604 | etot = -5.62847192886263 +612000 ekin = 2.37382087282126 | erot = 3.9021886985529 | epot = -11.9044814999079 | etot = -5.62847192853369 +613000 ekin = 2.24769613363947 | erot = 3.90186788751219 | epot = -11.7780359493765 | etot = -5.6284719282248 +614000 ekin = 2.12975142863874 | erot = 3.92103062116472 | epot = -11.6792539777815 | etot = -5.628471927978 +615000 ekin = 2.02283676464884 | erot = 3.96080056830494 | epot = -11.6121092607819 | etot = -5.62847192782813 +616000 ekin = 1.92967019044788 | erot = 4.02099162186384 | epot = -11.57913374012 | etot = -5.62847192780826 +617000 ekin = 1.8527379185958 | erot = 4.09974474407168 | epot = -11.580954590615 | etot = -5.6284719279475 +618000 ekin = 1.79420296292888 | erot = 4.19322703625556 | epot = -11.6159019274439 | etot = -5.62847192825941 +619000 ekin = 1.75583197425834 | erot = 4.29552606649958 | epot = -11.6798299694868 | etot = -5.62847192872885 +620000 ekin = 1.73895870095566 | erot = 4.39891672377769 | epot = -11.7663473540353 | etot = -5.62847192930197 +621000 ekin = 1.74449834713472 | erot = 4.49462250669341 | epot = -11.8675927837155 | etot = -5.62847192988733 +622000 ekin = 1.77300875725242 | erot = 4.5740351809646 | epot = -11.9755158685958 | etot = -5.6284719303788 +623000 ekin = 1.82476626664742 | erot = 4.63011744401454 | epot = -12.0833556413538 | etot = -5.62847193069181 +624000 ekin = 1.89980556095141 | erot = 4.65854151401442 | epot = -12.1868190057611 | etot = -5.62847193079527 +625000 ekin = 1.99788931006729 | erot = 4.658170601704 | epot = -12.2845318424889 | etot = -5.62847193071759 +626000 ekin = 2.11841939006965 | erot = 4.63077870094526 | epot = -12.3776700215405 | etot = -5.62847193052559 +627000 ekin = 2.26034340499143 | erot = 4.58024268398231 | epot = -12.4690580192627 | etot = -5.62847193028895 +628000 ekin = 2.42211143981235 | erot = 4.51161612054104 | epot = -12.5621994904152 | etot = -5.6284719300618 +629000 ekin = 2.60047669410469 | erot = 4.43316974508954 | epot = -12.6621183685955 | etot = -5.62847192940125 +630000 ekin = 2.75035749002553 | erot = 4.31003905751206 | epot = -12.6888685132419 | etot = -5.6284719657043 +631000 ekin = 2.81471524142372 | erot = 4.11774535992748 | epot = -12.5609325371121 | etot = -5.62847193576093 +632000 ekin = 2.95867552213366 | erot = 4.07926707205796 | epot = -12.6664145270595 | etot = -5.62847193286783 +633000 ekin = 3.21010693588802 | erot = 4.20581326818634 | epot = -13.0443921661487 | etot = -5.62847196207437 +634000 ekin = 3.41641131494308 | erot = 4.25928215931025 | epot = -13.3041654106216 | etot = -5.62847193636831 +635000 ekin = 3.57385274070359 | erot = 4.24018711603685 | epot = -13.4425117938791 | etot = -5.62847193713862 +636000 ekin = 3.71894531188287 | erot = 4.21896102707019 | epot = -13.5663782769278 | etot = -5.62847193797475 +637000 ekin = 3.84555962844877 | erot = 4.19009538997716 | epot = -13.6641269570962 | etot = -5.62847193867029 +638000 ekin = 3.9487423272224 | erot = 4.14881281932708 | epot = -13.7260270855885 | etot = -5.62847193903898 +639000 ekin = 4.02564653200958 | erot = 4.09271382127595 | epot = -13.7468322922904 | etot = -5.62847193900491 +640000 ekin = 4.07582551368556 | erot = 4.02260436127816 | epot = -13.7269018135812 | etot = -5.62847193861744 +641000 ekin = 4.10019063766136 | erot = 3.9420341957623 | epot = -13.6706967718879 | etot = -5.62847193846427 +642000 ekin = 4.09923585995082 | erot = 3.85569636521082 | epot = -13.5834041630469 | etot = -5.62847193788524 +643000 ekin = 4.076160799789 | erot = 3.76850329644278 | epot = -13.4731360335927 | etot = -5.62847193736088 +644000 ekin = 4.03483546303947 | erot = 3.684285384223 | epot = -13.3475927842093 | etot = -5.62847193694681 +645000 ekin = 3.97939693531423 | erot = 3.60521279256606 | epot = -13.2130816645055 | etot = -5.62847193662522 +646000 ekin = 3.91424157389645 | erot = 3.53197746524735 | epot = -13.0746909754864 | etot = -5.62847193634258 +647000 ekin = 3.84412108349711 | erot = 3.46430751183409 | epot = -12.9369005315148 | etot = -5.62847193618361 +648000 ekin = 3.77442093445477 | erot = 3.40030625105817 | epot = -12.803199121379 | etot = -5.62847193586601 +649000 ekin = 3.71064844398661 | erot = 3.33902116866496 | epot = -12.6781415481958 | etot = -5.62847193554422 +650000 ekin = 3.65777288959165 | erot = 3.28036981765265 | epot = -12.566614642516 | etot = -5.62847193527174 +651000 ekin = 3.61962254750334 | erot = 3.22458240437371 | epot = -12.472676886972 | etot = -5.62847193509499 +652000 ekin = 3.59838866979736 | erot = 3.17201593045824 | epot = -12.3988765352881 | etot = -5.62847193503253 +653000 ekin = 3.59447660058636 | erot = 3.12302902489766 | epot = -12.3459775605516 | etot = -5.62847193506762 +654000 ekin = 3.60674141920663 | erot = 3.07797678372272 | epot = -12.3131901380894 | etot = -5.62847193516007 +655000 ekin = 3.6329884131312 | erot = 3.03728497080441 | epot = -12.2987453192067 | etot = -5.62847193527112 +656000 ekin = 3.67052655529805 | erot = 3.0014799030164 | epot = -12.3004783937023 | etot = -5.62847193538784 +657000 ekin = 3.71734630704556 | erot = 2.97084073554921 | epot = -12.3166589779895 | etot = -5.6284719353947 +658000 ekin = 3.75778663136504 | erot = 2.948729408581 | epot = -12.3349879987356 | etot = -5.62847195878952 +659000 ekin = 3.70128994139008 | erot = 2.99267200683485 | epot = -12.3224338839538 | etot = -5.62847193572891 +660000 ekin = 3.77980484686181 | erot = 3.05081678602526 | epot = -12.4590935969641 | etot = -5.62847196407706 +661000 ekin = 3.87674047133219 | erot = 3.02043722445613 | epot = -12.525649641152 | etot = -5.62847194536372 +662000 ekin = 3.96189665312922 | erot = 2.9729451065927 | epot = -12.5633137060284 | etot = -5.62847194630644 +663000 ekin = 4.03233992122775 | erot = 2.90724728967763 | epot = -12.5680591572364 | etot = -5.62847194633099 +664000 ekin = 4.08703350786687 | erot = 2.82371074129416 | epot = -12.5392161949729 | etot = -5.62847194581183 +665000 ekin = 4.13016908280354 | erot = 2.72591755769948 | epot = -12.4845585855571 | etot = -5.62847194505411 +666000 ekin = 4.16485763698556 | erot = 2.62158318068883 | epot = -12.4149127617504 | etot = -5.628471944076 +667000 ekin = 4.1938844423827 | erot = 2.52048046560673 | epot = -12.3428368513072 | etot = -5.6284719433178 +668000 ekin = 4.21970111369211 | erot = 2.43117566540558 | epot = -12.2793487218641 | etot = -5.62847194276645 +669000 ekin = 4.24419480066981 | erot = 2.35970998754456 | epot = -12.2323767306212 | etot = -5.62847194240684 +670000 ekin = 4.26650932844503 | erot = 2.31009212977909 | epot = -12.2050734005021 | etot = -5.62847194227794 +671000 ekin = 4.28028750584352 | erot = 2.28394068949395 | epot = -12.1927001375629 | etot = -5.62847194222542 +672000 ekin = 4.28604953818529 | erot = 2.28087700943569 | epot = -12.1953984898105 | etot = -5.62847194218953 +673000 ekin = 4.28538320985138 | erot = 2.29981058111549 | epot = -12.2136657331125 | etot = -5.62847194214558 +674000 ekin = 4.28032637890109 | erot = 2.33931519991151 | epot = -12.2481135209176 | etot = -5.62847194210497 +675000 ekin = 4.27310613147522 | erot = 2.3977054633075 | epot = -12.2992835368984 | etot = -5.62847194211566 +676000 ekin = 4.26563141847785 | erot = 2.47283047851769 | epot = -12.3669338392713 | etot = -5.62847194227575 +677000 ekin = 4.25873601028162 | erot = 2.5615947513181 | epot = -12.4488027042337 | etot = -5.62847194263396 +678000 ekin = 4.25154383411717 | erot = 2.65951246657549 | epot = -12.5395282439332 | etot = -5.62847194324054 +679000 ekin = 4.24120573467262 | erot = 2.76057514745448 | epot = -12.6302528261675 | etot = -5.62847194404044 +680000 ekin = 4.2232005118335 | erot = 2.85770689098673 | epot = -12.7093793476907 | etot = -5.62847194487046 +681000 ekin = 4.19242845454634 | erot = 2.94400272540728 | epot = -12.7649031254536 | etot = -5.62847194549999 +682000 ekin = 4.14477706340841 | erot = 3.01435956380649 | epot = -12.7876085729617 | etot = -5.62847194574678 +683000 ekin = 4.07850194582787 | erot = 3.06669689301665 | epot = -12.7736707844063 | etot = -5.62847194556178 +684000 ekin = 3.98766788584427 | erot = 3.09062770647999 | epot = -12.7067675427114 | etot = -5.6284719503871 +685000 ekin = 3.87609976033734 | erot = 3.07213118853044 | epot = -12.5767028925454 | etot = -5.62847194367757 +686000 ekin = 3.78865422794909 | erot = 3.05379982528032 | epot = -12.4709259955805 | etot = -5.62847194235105 +687000 ekin = 3.72885638126477 | erot = 3.05128310396259 | epot = -12.4086114324593 | etot = -5.62847194723192 +688000 ekin = 3.65488085468173 | erot = 3.04382149764254 | epot = -12.3271742986651 | etot = -5.62847194634081 +689000 ekin = 3.57606770151101 | erot = 3.03834252499959 | epot = -12.2428821721451 | etot = -5.62847194563445 +690000 ekin = 3.51634425569074 | erot = 3.04775260792024 | epot = -12.1925688087327 | etot = -5.62847194512173 +691000 ekin = 3.47971445755389 | erot = 3.0762235847613 | epot = -12.1844099871832 | etot = -5.62847194486798 +692000 ekin = 3.46765181271641 | erot = 3.12642449715769 | epot = -12.2225482548088 | etot = -5.62847194493469 +693000 ekin = 3.47854301569186 | erot = 3.19918358098414 | epot = -12.3061985420115 | etot = -5.62847194533546 +694000 ekin = 3.50760869816785 | erot = 3.29340441046179 | epot = -12.4294850546422 | etot = -5.62847194601257 +695000 ekin = 3.54747029179261 | erot = 3.4063794790627 | epot = -12.5823217177036 | etot = -5.62847194684826 +696000 ekin = 3.58927155179387 | erot = 3.53441505487526 | epot = -12.7521585543738 | etot = -5.62847194770465 +697000 ekin = 3.62399868536214 | erot = 3.67347767298908 | epot = -12.9259483068109 | etot = -5.62847194845967 +698000 ekin = 3.64429609768408 | erot = 3.81929275592912 | epot = -13.0920608027184 | etot = -5.62847194910516 +699000 ekin = 3.64411727661991 | erot = 3.9682691228859 | epot = -13.2408583490265 | etot = -5.62847194952073 +700000 ekin = 3.61972386486635 | erot = 4.11779628916703 | epot = -13.3659921037213 | etot = -5.62847194968793 +701000 ekin = 3.57045543139896 | erot = 4.2660564512704 | epot = -13.4649838324058 | etot = -5.62847194973641 +702000 ekin = 3.49917622955587 | erot = 4.41037029504254 | epot = -13.5380184742101 | etot = -5.62847194961164 +703000 ekin = 3.41079978152663 | erot = 4.54773448487633 | epot = -13.5870062157827 | etot = -5.62847194937978 +704000 ekin = 3.3114965725397 | erot = 4.6756046409908 | epot = -13.6155731626146 | etot = -5.62847194908408 +705000 ekin = 3.20807903045004 | erot = 4.79162132898958 | epot = -13.6281723082223 | etot = -5.62847194878265 +706000 ekin = 3.10702043893515 | erot = 4.89365607515408 | epot = -13.6291484626345 | etot = -5.62847194854522 +707000 ekin = 3.01353531406683 | erot = 4.97967086429038 | epot = -13.6216781267981 | etot = -5.62847194844094 +708000 ekin = 2.93091332941399 | erot = 5.04739802068841 | epot = -13.6067832986194 | etot = -5.628471948517 +709000 ekin = 2.86026033869288 | erot = 5.09399325404994 | epot = -13.5827255415173 | etot = -5.6284719487745 +710000 ekin = 2.80069789530487 | erot = 5.11589857305232 | epot = -13.5450684175168 | etot = -5.62847194915956 +711000 ekin = 2.74994326396353 | erot = 5.10911210239552 | epot = -13.4875273159283 | etot = -5.62847194956922 +712000 ekin = 2.70509857015251 | erot = 5.06990681763261 | epot = -13.4034773376645 | etot = -5.62847194987941 +713000 ekin = 2.66343594230655 | erot = 4.99582282597876 | epot = -13.2877307182695 | etot = -5.62847194998418 +714000 ekin = 2.62297982855774 | erot = 4.88658411840125 | epot = -13.1380358967925 | etot = -5.62847194983347 +715000 ekin = 2.58275404748664 | erot = 4.74456650534358 | epot = -12.9557925022798 | etot = -5.62847194944956 +716000 ekin = 2.54267933968741 | erot = 4.57461726490259 | epot = -12.7457685535018 | etot = -5.62847194891177 +717000 ekin = 2.50334692005626 | erot = 4.38348005478918 | epot = -12.5152989228446 | etot = -5.62847194799919 +718000 ekin = 2.46867182037462 | erot = 4.18280619321959 | epot = -12.2799499613367 | etot = -5.62847194774247 +719000 ekin = 2.44027484649155 | erot = 3.97913844302635 | epot = -12.0478852370095 | etot = -5.62847194749158 +720000 ekin = 2.41790751016686 | erot = 3.77617089323842 | epot = -11.8225503506562 | etot = -5.62847194725097 +721000 ekin = 2.4013090030809 | erot = 3.57751641392362 | epot = -11.6072973640278 | etot = -5.62847194702331 +722000 ekin = 2.39001969427645 | erot = 3.38620933361414 | epot = -11.4047009749069 | etot = -5.62847194701633 +723000 ekin = 2.38288808203368 | erot = 3.20447847618438 | epot = -11.215838504937 | etot = -5.62847194671893 +724000 ekin = 2.38038137244362 | erot = 3.03585463103371 | epot = -11.0447079499256 | etot = -5.62847194644831 +725000 ekin = 2.38334904372001 | erot = 2.88343528884769 | epot = -10.8952562787756 | etot = -5.62847194620792 +726000 ekin = 2.39277988807282 | erot = 2.74974572532646 | epot = -10.7709975594025 | etot = -5.62847194600324 +727000 ekin = 2.40968215732956 | erot = 2.63676770307688 | epot = -10.6749218062468 | etot = -5.62847194584036 +728000 ekin = 2.42515137983546 | erot = 2.54412147900357 | epot = -10.5977448181919 | etot = -5.62847195935292 +729000 ekin = 2.40297855334107 | erot = 2.5147599996189 | epot = -10.5462104923891 | etot = -5.62847193942917 +730000 ekin = 2.46310039284473 | erot = 2.5408883827304 | epot = -10.6324607145523 | etot = -5.62847193897719 +731000 ekin = 2.53308642097414 | erot = 2.5495438694937 | epot = -10.7111022295357 | etot = -5.62847193906789 +732000 ekin = 2.61398262096627 | erot = 2.58024874608507 | epot = -10.8227033063277 | etot = -5.62847193927639 +733000 ekin = 2.704048584519 | erot = 2.63167940204765 | epot = -10.9641999262121 | etot = -5.62847193964548 +734000 ekin = 2.80051950073999 | erot = 2.70132929849079 | epot = -11.1303207394526 | etot = -5.62847194022178 +735000 ekin = 2.89941283725732 | erot = 2.78510796771905 | epot = -11.3129927460112 | etot = -5.62847194103486 +736000 ekin = 2.99560133067684 | erot = 2.87741009025007 | epot = -11.5014833620231 | etot = -5.62847194109622 +737000 ekin = 3.08481605492428 | erot = 2.97524489368851 | epot = -11.6885328905953 | etot = -5.62847194198254 +738000 ekin = 3.16217862825841 | erot = 3.07317374877763 | epot = -11.8638243198366 | etot = -5.62847194280053 +739000 ekin = 3.2233603722403 | erot = 3.16493875128737 | epot = -12.0167710668757 | etot = -5.62847194334805 +740000 ekin = 3.26585131628546 | erot = 3.24522139633931 | epot = -12.1395446570561 | etot = -5.62847194443136 +741000 ekin = 3.28375382512678 | erot = 3.29991441183865 | epot = -12.2121401813946 | etot = -5.62847194442916 +742000 ekin = 3.27631313155608 | erot = 3.32408611703107 | epot = -12.2288711925279 | etot = -5.62847194394075 +743000 ekin = 3.24737724810676 | erot = 3.32046927265112 | epot = -12.1963184639576 | etot = -5.62847194319976 +744000 ekin = 3.20210603620692 | erot = 3.294015511799 | epot = -12.1245934904241 | etot = -5.62847194241819 +745000 ekin = 3.14567705905112 | erot = 3.25033567001763 | epot = -12.024484670782 | etot = -5.62847194171325 +746000 ekin = 3.08279906289069 | erot = 3.19521988685792 | epot = -11.9064908906143 | etot = -5.62847194086568 +747000 ekin = 3.01768881751512 | erot = 3.13473855311027 | epot = -11.7808993110087 | etot = -5.62847194038335 +748000 ekin = 2.95302867444292 | erot = 3.07321432141834 | epot = -11.6547149358074 | etot = -5.62847193994612 +749000 ekin = 2.89104396146017 | erot = 3.01469856695175 | epot = -11.5342144679434 | etot = -5.62847193953148 +750000 ekin = 2.83379417430944 | erot = 2.96315742645413 | epot = -11.4254235398979 | etot = -5.6284719391343 +751000 ekin = 2.78329891282507 | erot = 2.9224177744474 | epot = -11.3341886260363 | etot = -5.62847193876383 +752000 ekin = 2.74156846318393 | erot = 2.89600799312975 | epot = -11.2660483947513 | etot = -5.62847193843758 +753000 ekin = 2.71056677631148 | erot = 2.88693753444123 | epot = -11.2259762489326 | etot = -5.62847193817986 +754000 ekin = 2.69212502654351 | erot = 2.89743125949813 | epot = -11.2180282240637 | etot = -5.62847193802201 +755000 ekin = 2.6877653835852 | erot = 2.928498710925 | epot = -11.2447360325848 | etot = -5.62847193807463 +756000 ekin = 2.69845743031617 | erot = 2.97938409367356 | epot = -11.306313462225 | etot = -5.62847193823524 +757000 ekin = 2.72458496413561 | erot = 3.04788425631061 | epot = -11.4009411590836 | etot = -5.62847193863741 +758000 ekin = 2.76540921283034 | erot = 3.12962823291443 | epot = -11.5235093850627 | etot = -5.6284719393179 +759000 ekin = 2.81868342066529 | erot = 3.21794575404794 | epot = -11.6651011149743 | etot = -5.62847194026106 +760000 ekin = 2.88053746483065 | erot = 3.30429272411189 | epot = -11.8133021302896 | etot = -5.62847194134709 +761000 ekin = 2.94600007680037 | erot = 3.37947250562756 | epot = -11.953944524754 | etot = -5.6284719423261 +762000 ekin = 3.01037281092737 | erot = 3.43568700387917 | epot = -12.0745317576972 | etot = -5.62847194289063 +763000 ekin = 3.07103775545926 | erot = 3.46881600090596 | epot = -12.1683256992094 | etot = -5.62847194284419 +764000 ekin = 3.12866395092591 | erot = 3.4797503971339 | epot = -12.236886290297 | etot = -5.62847194223723 +765000 ekin = 3.18696433146488 | erot = 3.47390232179098 | epot = -12.2893385945895 | etot = -5.62847194133365 +766000 ekin = 3.25112146476814 | erot = 3.45917589093114 | epot = -12.3387692961499 | etot = -5.62847194045064 +767000 ekin = 3.32577328229762 | erot = 3.44357056041142 | epot = -12.3978157825305 | etot = -5.62847193982147 +768000 ekin = 3.41341833407264 | erot = 3.43342634964742 | epot = -12.475316623275 | etot = -5.62847193955494 +769000 ekin = 3.5136159797232 | erot = 3.43258837722228 | epot = -12.5746762966054 | etot = -5.62847193965994 +770000 ekin = 3.62296220629094 | erot = 3.44225950952588 | epot = -12.6936936559007 | etot = -5.62847194008384 +771000 ekin = 3.67754209912591 | erot = 3.42051682736877 | epot = -12.7265308943046 | etot = -5.62847196780991 +772000 ekin = 3.59351734120376 | erot = 3.3584968550635 | epot = -12.5804861298099 | etot = -5.62847193354268 +773000 ekin = 3.58504863486503 | erot = 3.48413941929351 | epot = -12.6976599874309 | etot = -5.6284719332724 +774000 ekin = 3.69556246693316 | erot = 3.75600381558271 | epot = -13.080038251317 | etot = -5.62847196880115 +775000 ekin = 3.75799647030805 | erot = 3.87395641031774 | epot = -13.2604248531724 | etot = -5.62847197254658 +776000 ekin = 3.76514931049521 | erot = 3.89275295634025 | epot = -13.2863742395547 | etot = -5.62847197271923 +777000 ekin = 3.74852837975917 | erot = 3.88975944424646 | epot = -13.2667597963548 | etot = -5.62847197234917 +778000 ekin = 3.71300754059353 | erot = 3.86527182221224 | epot = -13.2067513344401 | etot = -5.6284719716343 +779000 ekin = 3.66665793112593 | erot = 3.82295167591176 | epot = -13.1180815775701 | etot = -5.62847197053246 +780000 ekin = 3.61972773179476 | erot = 3.76957330535322 | epot = -13.0177730064367 | etot = -5.62847196928869 +781000 ekin = 3.58276242557081 | erot = 3.71368279721232 | epot = -12.9249171909853 | etot = -5.62847196820216 +782000 ekin = 3.56434384316015 | erot = 3.66344621658085 | epot = -12.856262027254 | etot = -5.62847196751304 +783000 ekin = 3.56907083402848 | erot = 3.62459601401305 | epot = -12.8221388154979 | etot = -5.62847196745638 +784000 ekin = 3.59655578195885 | erot = 3.59908724287649 | epot = -12.8241149926476 | etot = -5.62847196781224 +785000 ekin = 3.64263842895723 | erot = 3.58559579698648 | epot = -12.8567061944369 | etot = -5.62847196849322 +786000 ekin = 3.70061363576283 | erot = 3.58032714309407 | epot = -12.9094127481439 | etot = -5.62847196928699 +787000 ekin = 3.76290289532741 | erot = 3.57827846505882 | epot = -12.9696533304352 | etot = -5.62847197004894 +788000 ekin = 3.8223069124302 | erot = 3.5743207934823 | epot = -13.0250996765887 | etot = -5.6284719706762 +789000 ekin = 3.87288355996755 | erot = 3.56402750525542 | epot = -13.0653830363309 | etot = -5.62847197110791 +790000 ekin = 3.91054381103969 | erot = 3.54422213343056 | epot = -13.0832379157399 | etot = -5.62847197126964 +791000 ekin = 3.93344679975163 | erot = 3.51333982568902 | epot = -13.0752585966263 | etot = -5.62847197118567 +792000 ekin = 3.94193166965662 | erot = 3.47142235465919 | epot = -13.0418259952225 | etot = -5.62847197090671 +793000 ekin = 3.93805337446381 | erot = 3.41982689831729 | epot = -12.9863522432875 | etot = -5.62847197050639 +794000 ekin = 3.92496167480954 | erot = 3.36081973463659 | epot = -12.9142533795016 | etot = -5.62847197005551 +795000 ekin = 3.9063184317544 | erot = 3.29713731817139 | epot = -12.8319277195354 | etot = -5.62847196960964 +796000 ekin = 3.88587920063779 | erot = 3.23158100792164 | epot = -12.745932177765 | etot = -5.62847196920561 +797000 ekin = 3.86724402793311 | erot = 3.16668037637107 | epot = -12.6623963731684 | etot = -5.62847196886419 +798000 ekin = 3.85371944422422 | erot = 3.10446220715859 | epot = -12.5866536199751 | etot = -5.62847196859227 +799000 ekin = 3.84821326092654 | erot = 3.04637406866006 | epot = -12.5230592979746 | etot = -5.62847196838804 +800000 ekin = 3.85308746082701 | erot = 2.99338091126559 | epot = -12.474940340337 | etot = -5.62847196824438 +801000 ekin = 3.86994742083567 | erot = 2.94620265059397 | epot = -12.4446220395853 | etot = -5.62847196815562 +802000 ekin = 3.89938743521584 | erot = 2.90559564219863 | epot = -12.4334550455353 | etot = -5.62847196812086 +803000 ekin = 3.94077451951464 | erot = 2.8725536316443 | epot = -12.4418001193023 | etot = -5.62847196814334 +804000 ekin = 3.992174455156 | erot = 2.84833794155936 | epot = -12.4689843649416 | etot = -5.62847196822621 +805000 ekin = 4.05048829003811 | erot = 2.83432176456862 | epot = -12.5132820229749 | etot = -5.62847196836813 +806000 ekin = 4.11178329733929 | erot = 2.83170980342237 | epot = -12.5719650693255 | etot = -5.62847196856381 +807000 ekin = 4.17172086379981 | erot = 2.84122318449694 | epot = -12.6414160171043 | etot = -5.62847196880753 +808000 ekin = 4.22595471211098 | erot = 2.86283161279705 | epot = -12.7172582940025 | etot = -5.62847196909444 +809000 ekin = 4.27041103459019 | erot = 2.89559061413246 | epot = -12.7944736181418 | etot = -5.62847196941918 +810000 ekin = 4.30143579161335 | erot = 2.93761851692464 | epot = -12.8675262783088 | etot = -5.62847196977087 +811000 ekin = 4.31585912498473 | erot = 2.98622782411963 | epot = -12.9305589192329 | etot = -5.62847197012855 +812000 ekin = 4.31104963144209 | erot = 3.03819974772186 | epot = -12.9777213496236 | etot = -5.62847197045961 +813000 ekin = 4.28501152870088 | erot = 3.09015837117713 | epot = -13.0036418706033 | etot = -5.62847197072532 +814000 ekin = 4.23653530268496 | erot = 3.13897206771779 | epot = -13.0039793412913 | etot = -5.6284719708885 +815000 ekin = 4.16537042780704 | erot = 3.18209773884163 | epot = -12.9759401375723 | etot = -5.62847197092361 +816000 ekin = 4.0723651748252 | erot = 3.21779646454099 | epot = -12.9186336101891 | etot = -5.6284719708229 +817000 ekin = 3.95951977440384 | erot = 3.24518380301937 | epot = -12.8331755480214 | etot = -5.62847197059822 +818000 ekin = 3.8299176268559 | erot = 3.26412066908298 | epot = -12.7225102662203 | etot = -5.62847197028138 +819000 ekin = 3.68753356704803 | erot = 3.2749890293617 | epot = -12.5909945663147 | etot = -5.62847196990494 +820000 ekin = 3.53699106775342 | erot = 3.27842149115945 | epot = -12.4438845284247 | etot = -5.62847196951186 +821000 ekin = 3.38323613843139 | erot = 3.27505502188844 | epot = -12.2867631294542 | etot = -5.62847196913438 +822000 ekin = 3.23123737421303 | erot = 3.26537695375067 | epot = -12.1250862967552 | etot = -5.62847196879146 +823000 ekin = 3.08574116264606 | erot = 3.24970236684612 | epot = -11.9639154979793 | etot = -5.62847196848715 +824000 ekin = 2.9510991983436 | erot = 3.22828590286759 | epot = -11.8078570694242 | etot = -5.62847196821301 +825000 ekin = 2.8311716727824 | erot = 3.20152981096286 | epot = -11.6611734516996 | etot = -5.62847196795438 +826000 ekin = 2.72929448912935 | erot = 3.17021233026683 | epot = -11.5279787870942 | etot = -5.62847196769802 +827000 ekin = 2.64828540283224 | erot = 3.13564460944143 | epot = -11.4124019797145 | etot = -5.62847196744083 +828000 ekin = 2.59045268678287 | erot = 3.09968027868469 | epot = -11.3186049326611 | etot = -5.62847196719356 +829000 ekin = 2.55756748898929 | erot = 3.06454892031733 | epot = -11.2505883762886 | etot = -5.62847196698197 +830000 ekin = 2.55077388282834 | erot = 3.03254604853091 | epot = -11.2117918981989 | etot = -5.62847196683961 +831000 ekin = 2.5704372593064 | erot = 3.00566097440441 | epot = -11.2045702005099 | etot = -5.62847196679914 +832000 ekin = 2.61596870967331 | erot = 2.98524787918955 | epot = -11.2296885557457 | etot = -5.6284719668828 +833000 ekin = 2.68568117685698 | erot = 2.97182255658061 | epot = -11.2859757005329 | etot = -5.62847196709536 +834000 ekin = 2.77673677953563 | erot = 2.96502424291077 | epot = -11.3702329898702 | etot = -5.62847196742382 +835000 ekin = 2.88522064137063 | erot = 2.96372965171537 | epot = -11.4774222609262 | etot = -5.62847196784022 +836000 ekin = 3.00633984429238 | erot = 2.9662686051896 | epot = -11.6010804177916 | etot = -5.62847196830963 +837000 ekin = 3.13471078770169 | erot = 2.97067133236171 | epot = -11.7338540888613 | etot = -5.62847196879791 +838000 ekin = 3.2646797688615 | erot = 2.97489019079408 | epot = -11.8680419289321 | etot = -5.6284719692765 +839000 ekin = 3.39062362028674 | erot = 2.97696578886047 | epot = -11.9960613788722 | etot = -5.62847196972498 +840000 ekin = 3.50719614094131 | erot = 2.97513773468309 | epot = -12.110805845754 | etot = -5.62847197012965 +841000 ekin = 3.6095143031902 | erot = 2.96792302656663 | epot = -12.205909300235 | etot = -5.62847197047821 +842000 ekin = 3.69330308269465 | erot = 2.95419217499661 | epot = -12.2759672284492 | etot = -5.62847197075789 +843000 ekin = 3.75502927972068 | erot = 2.93326273012204 | epot = -12.3167639807943 | etot = -5.62847197095162 +844000 ekin = 3.79205095676114 | erot = 2.90501003325241 | epot = -12.3255329610536 | etot = -5.62847197104003 +845000 ekin = 3.80278826916113 | erot = 2.86997708374397 | epot = -12.3012373239095 | etot = -5.6284719710044 +846000 ekin = 3.7868907831117 | erot = 2.82944607213409 | epot = -12.2448088260797 | etot = -5.62847197083392 +847000 ekin = 3.74534923711505 | erot = 2.78543387975461 | epot = -12.1592550874022 | etot = -5.62847197053249 +848000 ekin = 3.68048960876388 | erot = 2.74058491210611 | epot = -12.0495464909921 | etot = -5.6284719701221 +849000 ekin = 3.59580402250911 | erot = 2.6979547346253 | epot = -11.9222307267798 | etot = -5.62847196964534 +850000 ekin = 3.49561210992167 | erot = 2.66069826286262 | epot = -11.7847823419402 | etot = -5.62847196915593 +851000 ekin = 3.38460421156482 | erot = 2.63169878981261 | epot = -11.6447749700886 | etot = -5.62847196871115 +852000 ekin = 3.2673583461708 | erot = 2.61319105472478 | epot = -11.5090213692559 | etot = -5.62847196836028 +853000 ekin = 3.14792970820425 | erot = 2.6064404595508 | epot = -11.3828421358873 | etot = -5.62847196813225 +854000 ekin = 3.02961721482008 | erot = 2.61155167708395 | epot = -11.2696408599309 | etot = -5.62847196802691 +855000 ekin = 2.91497870639192 | erot = 2.62749311900426 | epot = -11.1709437934187 | etot = -5.6284719680225 +856000 ekin = 2.80592683640508 | erot = 2.65229723518904 | epot = -11.0866960396745 | etot = -5.62847196808038 +857000 ekin = 2.70394323106257 | erot = 2.68342637128184 | epot = -11.0158415705022 | etot = -5.62847196815778 +858000 ekin = 2.61028085018917 | erot = 2.7182087445085 | epot = -10.9569615629193 | etot = -5.62847196822162 +859000 ekin = 2.52608469683041 | erot = 2.75423459862355 | epot = -10.9087912637081 | etot = -5.62847196825415 +860000 ekin = 2.45241725334247 | erot = 2.78962480116096 | epot = -10.8705140227566 | etot = -5.62847196825313 +861000 ekin = 2.39021948320316 | erot = 2.82313150338326 | epot = -10.8418229548146 | etot = -5.62847196822818 +862000 ekin = 2.34025129546523 | erot = 2.85407946378513 | epot = -10.822802727446 | etot = -5.62847196819566 +863000 ekin = 2.30304188835595 | erot = 2.88219277632016 | epot = -10.813706632849 | etot = -5.62847196817294 +864000 ekin = 2.27886006072096 | erot = 2.90737073870793 | epot = -10.8147027676044 | etot = -5.62847196817555 +865000 ekin = 2.26770197244177 | erot = 2.92947677471433 | epot = -10.825650715369 | etot = -5.6284719682129 +866000 ekin = 2.26929189300013 | erot = 2.94819404241867 | epot = -10.8459579037059 | etot = -5.62847196828711 +867000 ekin = 2.28309242230586 | erot = 2.96298089308274 | epot = -10.8745452837802 | etot = -5.62847196839164 +868000 ekin = 2.30832281717956 | erot = 2.97313399093992 | epot = -10.9099287766329 | etot = -5.62847196851338 +869000 ekin = 2.34398135175733 | erot = 2.97793980532902 | epot = -10.9503931257227 | etot = -5.62847196863633 +870000 ekin = 2.3888674476675 | erot = 2.97686809818229 | epot = -10.9942075145963 | etot = -5.62847196874653 +871000 ekin = 2.44159861809647 | erot = 2.96974175424173 | epot = -11.0398123411752 | etot = -5.62847196883697 +872000 ekin = 2.500619616053 | erot = 2.95681803699978 | epot = -11.0859096219628 | etot = -5.62847196890998 +873000 ekin = 2.56420808139324 | erot = 2.93874614074125 | epot = -11.1314261911097 | etot = -5.62847196897516 +874000 ekin = 2.63049127025364 | erot = 2.91641905805231 | epot = -11.1753822973487 | etot = -5.62847196904273 +875000 ekin = 2.69749664450509 | erot = 2.89079069041083 | epot = -11.2167593040308 | etot = -5.62847196911489 +876000 ekin = 2.76325740882321 | erot = 2.86275138608941 | epot = -11.2544807640928 | etot = -5.62847196918014 +877000 ekin = 2.82597857073924 | erot = 2.83312911678617 | epot = -11.2875796567397 | etot = -5.62847196921427 +878000 ekin = 2.88426506041778 | erot = 2.80282960099576 | epot = -11.3155666305523 | etot = -5.62847196913875 +879000 ekin = 2.93899285505317 | erot = 2.77402557771481 | epot = -11.3414904016818 | etot = -5.62847196891381 +880000 ekin = 2.99074429493992 | erot = 2.74904466423746 | epot = -11.3682609281216 | etot = -5.62847196894421 +881000 ekin = 3.03734868979927 | erot = 2.72816458116911 | epot = -11.3939852397512 | etot = -5.62847196878281 +882000 ekin = 3.07935286329043 | erot = 2.71303253547246 | epot = -11.4208573673789 | etot = -5.62847196861602 +883000 ekin = 3.11756797084552 | erot = 2.70517731879082 | epot = -11.4512172581187 | etot = -5.62847196848236 +884000 ekin = 3.15280252848168 | erot = 2.70569769640385 | epot = -11.486972193293 | etot = -5.62847196840746 +885000 ekin = 3.18571613205173 | erot = 2.71504911575347 | epot = -11.5292372162097 | etot = -5.62847196840455 +886000 ekin = 3.21676773387613 | erot = 2.7329058008883 | epot = -11.5781455032431 | etot = -5.6284719684787 +887000 ekin = 3.24623562424243 | erot = 2.75806669121019 | epot = -11.6327742840859 | etot = -5.62847196863332 +888000 ekin = 3.27425942012452 | erot = 2.78837179681905 | epot = -11.6911031858155 | etot = -5.62847196887192 +889000 ekin = 3.30086478887179 | erot = 2.82064068491563 | epot = -11.7499774429801 | etot = -5.62847196919267 +890000 ekin = 3.3259692487092 | erot = 2.85071439961825 | epot = -11.805155617902 | etot = -5.62847196957451 +891000 ekin = 3.34941253238938 | erot = 2.87373382358962 | epot = -11.8516183259426 | etot = -5.62847196996364 +892000 ekin = 3.37107523562693 | erot = 2.88476437040179 | epot = -11.8843115763022 | etot = -5.62847197027351 +893000 ekin = 3.39111185107035 | erot = 2.87974242660312 | epot = -11.8993262480791 | etot = -5.62847197040564 +894000 ekin = 3.4102321291952 | erot = 2.85650829429513 | epot = -11.895212393781 | etot = -5.62847197029071 +895000 ekin = 3.4298773086987 | erot = 2.81553499424091 | epot = -11.8738842728666 | etot = -5.62847196992698 +896000 ekin = 3.45214148974819 | erot = 2.76001213086012 | epot = -11.8406255899945 | etot = -5.62847196938618 +897000 ekin = 3.47941735610567 | erot = 2.69521466348942 | epot = -11.8031039883802 | etot = -5.6284719687851 +898000 ekin = 3.51352962041553 | erot = 2.62737086724796 | epot = -11.7693724690737 | etot = -5.62847198141017 +899000 ekin = 3.48893911457665 | erot = 2.56291214065495 | epot = -11.6803232246884 | etot = -5.62847196945683 +900000 ekin = 3.45535689334339 | erot = 2.55015985128176 | epot = -11.6339887069773 | etot = -5.62847196235217 +901000 ekin = 3.50186288143693 | erot = 2.58894159239397 | epot = -11.7192764496102 | etot = -5.62847197577932 +902000 ekin = 3.5661021361054 | erot = 2.58196928658372 | epot = -11.7765433952423 | etot = -5.6284719725532 +903000 ekin = 3.62814875862408 | erot = 2.56232070366863 | epot = -11.8189414352198 | etot = -5.62847197292713 +904000 ekin = 3.69112394796104 | erot = 2.55247638433754 | epot = -11.8720723057126 | etot = -5.62847197341403 +905000 ekin = 3.7509128055889 | erot = 2.54985569692194 | epot = -11.9292404764333 | etot = -5.62847197392247 +906000 ekin = 3.80322506785235 | erot = 2.55191272424328 | epot = -11.9836097664451 | etot = -5.62847197434945 +907000 ekin = 3.8443422905769 | erot = 2.55683360451709 | epot = -12.0296478697021 | etot = -5.62847197460815 +908000 ekin = 3.8719006442339 | erot = 2.56394104682641 | epot = -12.0643136657174 | etot = -5.62847197465711 +909000 ekin = 3.88547927567113 | erot = 2.57365301072747 | epot = -12.0876042609108 | etot = -5.62847197451219 +910000 ekin = 3.88680451139339 | erot = 2.5870243564951 | epot = -12.1023008421247 | etot = -5.62847197423622 +911000 ekin = 3.87951720468961 | erot = 2.6050879623703 | epot = -12.1130771409705 | etot = -5.62847197391058 +912000 ekin = 3.86859233859162 | erot = 2.62827701303798 | epot = -12.1253413252393 | etot = -5.62847197360974 +913000 ekin = 3.85955913456261 | erot = 2.65612234870647 | epot = -12.14415345666 | etot = -5.62847197339095 +914000 ekin = 3.85765974452869 | erot = 2.68725904716219 | epot = -12.173390764377 | etot = -5.62847197268608 +915000 ekin = 3.86988559132831 | erot = 2.72155495896482 | epot = -12.219912523155 | etot = -5.62847197286191 +916000 ekin = 3.89721211279105 | erot = 2.75899199674868 | epot = -12.2846760828075 | etot = -5.62847197326774 +917000 ekin = 3.93597306439209 | erot = 2.79756616560857 | epot = -12.3620112037081 | etot = -5.62847197370745 +918000 ekin = 3.98211349749628 | erot = 2.83523643843263 | epot = -12.4458219100817 | etot = -5.6284719741528 +919000 ekin = 4.03109884414175 | erot = 2.86939983142179 | epot = -12.5289706511467 | etot = -5.62847197558313 +920000 ekin = 4.07575007007163 | erot = 2.89203459277258 | epot = -12.5962566387455 | etot = -5.62847197590126 +921000 ekin = 4.11121320371463 | erot = 2.89963705915855 | epot = -12.6393222395139 | etot = -5.62847197664073 +922000 ekin = 4.12946329331047 | erot = 2.89101491395262 | epot = -12.6489501841751 | etot = -5.62847197691201 +923000 ekin = 4.12574551821064 | erot = 2.86656720110585 | epot = -12.6207846962139 | etot = -5.62847197689736 +924000 ekin = 4.09806255856886 | erot = 2.8281743701107 | epot = -12.5547089053139 | etot = -5.62847197663431 +925000 ekin = 4.04683813175561 | erot = 2.77889166059353 | epot = -12.4542017685711 | etot = -5.62847197622196 +926000 ekin = 3.97415980884028 | erot = 2.72240485506924 | epot = -12.3250366396764 | etot = -5.62847197576684 +927000 ekin = 3.88290109598325 | erot = 2.66247239405016 | epot = -12.1738454653642 | etot = -5.62847197533078 +928000 ekin = 3.77619172564078 | erot = 2.60258197099968 | epot = -12.0072456715511 | etot = -5.62847197491066 +929000 ekin = 3.65741733898654 | erot = 2.54590496147566 | epot = -11.8317942749248 | etot = -5.62847197446256 +930000 ekin = 3.53056331325702 | erot = 2.49545263325868 | epot = -11.6544879204598 | etot = -5.62847197394412 +931000 ekin = 3.4005452585423 | erot = 2.45429284761135 | epot = -11.4833100791872 | etot = -5.62847197303357 +932000 ekin = 3.27351307254188 | erot = 2.42812142781794 | epot = -11.3301064729948 | etot = -5.62847197263502 +933000 ekin = 3.15479412762404 | erot = 2.4201742871754 | epot = -11.2034403870324 | etot = -5.628471972233 +934000 ekin = 3.04934557157637 | erot = 2.43124949772708 | epot = -11.1090670411841 | etot = -5.62847197188061 +935000 ekin = 2.96178382671725 | erot = 2.46165171577527 | epot = -11.0519075141149 | etot = -5.62847197162238 +936000 ekin = 2.89581269331775 | erot = 2.51113391217417 | epot = -11.0354185769758 | etot = -5.6284719714839 +937000 ekin = 2.85385879458329 | erot = 2.57889786067944 | epot = -11.061228626733 | etot = -5.62847197147029 +938000 ekin = 2.83694342945423 | erot = 2.66364816189635 | epot = -11.1290635629205 | etot = -5.6284719715699 +939000 ekin = 2.84476696195415 | erot = 2.76369076698157 | epot = -11.2369297006932 | etot = -5.62847197175744 +940000 ekin = 2.8759532044385 | erot = 2.87707537856042 | epot = -11.3815005549978 | etot = -5.62847197199888 +941000 ekin = 2.92838858131787 | erot = 3.00178159707388 | epot = -11.5586421506475 | etot = -5.62847197225574 +942000 ekin = 2.99958691478888 | erot = 3.13593595472591 | epot = -11.7639948420076 | etot = -5.62847197249282 +943000 ekin = 3.08701486089968 | erot = 3.27802584035403 | epot = -11.9935126739376 | etot = -5.62847197268385 +944000 ekin = 3.186586872159 | erot = 3.42629435721361 | epot = -12.2413532032652 | etot = -5.62847197389261 +945000 ekin = 3.29120912172941 | erot = 3.57701253406485 | epot = -12.496693630207 | etot = -5.6284719744127 +946000 ekin = 3.39621217445015 | erot = 3.72637389347036 | epot = -12.7510580429265 | etot = -5.62847197500597 +947000 ekin = 3.49687303138286 | erot = 3.86977321126905 | epot = -12.9951182183484 | etot = -5.62847197569646 +948000 ekin = 3.58827211267957 | erot = 4.00151346858439 | epot = -13.2182575577498 | etot = -5.62847197648584 +949000 ekin = 3.66536645495548 | erot = 4.11475106100546 | epot = -13.4085894932989 | etot = -5.62847197733792 +950000 ekin = 3.72323941993302 | erot = 4.2018019175768 | epot = -13.553513315681 | etot = -5.62847197817117 +951000 ekin = 3.75754185646123 | erot = 4.25489778213983 | epot = -13.6409116174654 | etot = -5.62847197886429 +952000 ekin = 3.76507381614856 | erot = 4.26734583549593 | epot = -13.6608916309242 | etot = -5.62847197927968 +953000 ekin = 3.74438822307989 | erot = 4.23487585385495 | epot = -13.607736056235 | etot = -5.62847197930019 +954000 ekin = 3.69625242862099 | erot = 4.15681815233244 | epot = -13.4815425598219 | etot = -5.6284719788685 +955000 ekin = 3.62380420138425 | erot = 4.03673171571548 | epot = -13.2890078951114 | etot = -5.62847197801164 +956000 ekin = 3.52555336672213 | erot = 3.88073805038935 | epot = -13.0347633967538 | etot = -5.62847197964228 +957000 ekin = 3.39894639005913 | erot = 3.70474137600897 | epot = -12.7321597406528 | etot = -5.6284719745847 +958000 ekin = 3.27782879331305 | erot = 3.53760737148217 | epot = -12.4439081377568 | etot = -5.62847197296156 +959000 ekin = 3.17835028496736 | erot = 3.38602207543512 | epot = -12.192844335218 | etot = -5.62847197481551 +960000 ekin = 3.09019087769108 | erot = 3.23509493447278 | epot = -11.9537577886205 | etot = -5.62847197645667 +961000 ekin = 3.00426259180557 | erot = 3.0824813352864 | epot = -11.7152159026405 | etot = -5.62847197554848 +962000 ekin = 2.92693479803565 | erot = 2.94805480831314 | epot = -11.5034615816837 | etot = -5.62847197533487 +963000 ekin = 2.85972055487714 | erot = 2.83488454510921 | epot = -11.3230770750156 | etot = -5.62847197502922 +964000 ekin = 2.80427359327328 | erot = 2.74583973131526 | epot = -11.178585299439 | etot = -5.62847197485047 +965000 ekin = 2.76170821909769 | erot = 2.68249826129849 | epot = -11.0726784551929 | etot = -5.62847197479672 +966000 ekin = 2.73254763777982 | erot = 2.64503833012218 | epot = -11.0060579427772 | etot = -5.62847197487522 +967000 ekin = 2.71665521991785 | erot = 2.63218922372615 | epot = -10.9773164187349 | etot = -5.62847197509087 +968000 ekin = 2.71315992354632 | erot = 2.64124364192698 | epot = -10.9828755409038 | etot = -5.62847197543047 +969000 ekin = 2.72046614537744 | erot = 2.66825860642096 | epot = -11.017196727654 | etot = -5.6284719758556 +970000 ekin = 2.73639578907595 | erot = 2.70848274121872 | epot = -11.0733505066075 | etot = -5.62847197631278 +971000 ekin = 2.75849383127184 | erot = 2.75695664167746 | epot = -11.1439224496111 | etot = -5.62847197666182 +972000 ekin = 2.78540546269541 | erot = 2.80984083718468 | epot = -11.2237182768147 | etot = -5.62847197693461 +973000 ekin = 2.81581408876755 | erot = 2.86412704719854 | epot = -11.3084131130852 | etot = -5.62847197711915 +974000 ekin = 2.84847995081039 | erot = 2.91762904242811 | epot = -11.3945809704478 | etot = -5.62847197720934 +975000 ekin = 2.88260770758503 | erot = 2.96920774161524 | epot = -11.4802874264075 | etot = -5.62847197720723 +976000 ekin = 2.90702474113454 | erot = 3.01964919041985 | epot = -11.5551459331455 | etot = -5.62847200159107 +977000 ekin = 2.82994037043752 | erot = 3.10467595319514 | epot = -11.5630883014867 | etot = -5.62847197785407 +978000 ekin = 2.82908362067085 | erot = 3.22546638969981 | epot = -11.6830220140927 | etot = -5.62847200372201 +979000 ekin = 2.8370610010888 | erot = 3.25481873071581 | epot = -11.7203517218855 | etot = -5.62847199008084 +980000 ekin = 2.83601345129769 | erot = 3.27042511574271 | epot = -11.7349105571566 | etot = -5.62847199011619 +981000 ekin = 2.82679467506443 | erot = 3.27908746079809 | epot = -11.7343541260202 | etot = -5.6284719901577 +982000 ekin = 2.80889457079111 | erot = 3.2809065834536 | epot = -11.7182731444468 | etot = -5.62847199020213 +983000 ekin = 2.78208898645713 | erot = 3.27578647134014 | epot = -11.6863474480256 | etot = -5.62847199022831 +984000 ekin = 2.74660136884853 | erot = 3.26353952354967 | epot = -11.6386128825996 | etot = -5.62847199020144 +985000 ekin = 2.70333214423332 | erot = 3.24411390942185 | epot = -11.5759180437397 | etot = -5.62847199008455 +986000 ekin = 2.65408912738725 | erot = 3.21786526393144 | epot = -11.5004263811691 | etot = -5.62847198985045 +987000 ekin = 2.57871632303265 | erot = 3.17247279054186 | epot = -11.3796611079074 | etot = -5.62847199433287 +988000 ekin = 2.53018926050092 | erot = 3.15315340264677 | epot = -11.3118146650989 | etot = -5.62847200195117 +989000 ekin = 2.4956627810317 | erot = 3.12952117262699 | epot = -11.253655945603 | etot = -5.62847199194432 +990000 ekin = 2.46227182390165 | erot = 3.09741757651199 | epot = -11.1881613918028 | etot = -5.62847199138918 +991000 ekin = 2.44592299128019 | erot = 3.07158094882325 | epot = -11.1459759312298 | etot = -5.62847199112639 +992000 ekin = 2.45174281446408 | erot = 3.0561104834769 | epot = -11.1363252888672 | etot = -5.62847199092623 +993000 ekin = 2.48099671570252 | erot = 3.05281518051754 | epot = -11.1622838869926 | etot = -5.62847199077251 +994000 ekin = 2.53415670131493 | erot = 3.06359154316083 | epot = -11.2262202351627 | etot = -5.62847199068692 +995000 ekin = 2.6108885321789 | erot = 3.09015398504997 | epot = -11.3295145079077 | etot = -5.62847199067886 +996000 ekin = 2.71011819620561 | erot = 3.1337829867022 | epot = -11.4723731736583 | etot = -5.62847199075047 +997000 ekin = 2.83015603232536 | erot = 3.19515267699556 | epot = -11.6537807002222 | etot = -5.6284719909013 +998000 ekin = 2.9687857160077 | erot = 3.27423191355817 | epot = -11.8714896207065 | etot = -5.62847199114061 +999000 ekin = 3.12322522658256 | erot = 3.37022004732785 | epot = -12.1219172654051 | etot = -5.62847199149472 +1000000 ekin = 3.2899065057238 | erot = 3.48146010729922 | epot = -12.3998386050297 | etot = -5.62847199200664 + 1000000 0.14621807 -0.83009398 0.055104069 -0.56937076 4.8223734e-05 64000 +Loop time of 19.1599 on 4 procs for 1000000 steps with 16 atoms + +Performance: 45094.124 tau/day, 52192.273 timesteps/s +99.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 | 4.6477 | 8.0143 | 10.588 | 80.6 | 41.83 +Bond | 0.24825 | 0.37899 | 0.50101 | 14.6 | 1.98 +Neigh | 0.009732 | 0.0098287 | 0.009891 | 0.1 | 0.05 +Comm | 5.7912 | 8.1786 | 11.805 | 81.8 | 42.69 +Output | 0.096764 | 0.1038 | 0.12074 | 3.1 | 0.54 +Modify | 0.77772 | 0.86731 | 0.96892 | 9.2 | 4.53 +Other | | 1.607 | | | 8.39 + +Nlocal: 4.00000 ave 4 max 4 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Nghost: 12.0000 ave 12 max 12 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Neighs: 26.5000 ave 47 max 9 min +Histogram: 1 1 0 0 0 0 1 0 0 1 + +Total # of neighbors = 106 +Ave neighs/atom = 6.6250000 +Ave special neighs/atom = 3.7500000 +Neighbor list builds = 1000 +Dangerous builds = 0 + +write_data last_config.${number}.* nocoeff +write_data last_config.2.* nocoeff +System init for write_data ... +#write_restart last_config.${number}.* +Total wall time: 0:00:19 diff --git a/examples/PACKAGES/cgdna/examples/test.sh b/examples/PACKAGES/cgdna/examples/test.sh new file mode 100755 index 0000000000..795be9ef88 --- /dev/null +++ b/examples/PACKAGES/cgdna/examples/test.sh @@ -0,0 +1,232 @@ +#! /bin/bash + +DATE='2Jul21' +LMPDIR=/Users/ohenrich/Work/code/lammps + +SRCDIR=$LMPDIR/src +EXDIR=$LMPDIR/examples/PACKAGES/cgdna/examples + +if [ $# -eq 1 ] && [ $1 = run ]; then + echo '# Compiling executable in' $SRCDIR + + cd $SRCDIR + make clean-all + make -j8 mpi + + ###################################################### + echo '# Running oxDNA duplex1 test' + cd $EXDIR/oxDNA/duplex1 + mkdir test + cd test + cp $SRCDIR/lmp_mpi . + cp ../in.duplex1 . + cp ../data.duplex1 . + + mpirun -np 1 ./lmp_mpi < in.duplex1 > /dev/null + mv log.lammps log.$DATE.duplex1.g++.1 + grep etot log.$DATE.duplex1.g++.1 > e_test.dat + grep etot ../log*1 > e_old.dat + ndiff -relerr 1e-8 e_test.dat e_old.dat + + mpirun -np 4 ./lmp_mpi < in.duplex1 > /dev/null + mv log.lammps log.$DATE.duplex1.g++.4 + grep etot log.$DATE.duplex1.g++.4 > e_test.dat + grep etot ../log*4 > e_old.dat + ndiff -relerr 1e-8 e_test.dat e_old.dat + + ###################################################### + + ###################################################### + echo '# Running oxDNA duplex2 test' + cd $EXDIR/oxDNA/duplex2 + mkdir test + cd test + cp $SRCDIR/lmp_mpi . + cp ../in.duplex2 . + cp ../data.duplex2 . + + mpirun -np 1 ./lmp_mpi < in.duplex2 > /dev/null + mv log.lammps log.$DATE.duplex2.g++.1 + grep etot log.$DATE.duplex2.g++.1 > e_test.dat + grep etot ../log*1 > e_old.dat + ndiff -relerr 1e-8 e_test.dat e_old.dat + + mpirun -np 4 ./lmp_mpi < in.duplex2 > /dev/null + mv log.lammps log.$DATE.duplex2.g++.4 + grep etot log.$DATE.duplex2.g++.4 > e_test.dat + grep etot ../log*4 > e_old.dat + ndiff -relerr 1e-8 e_test.dat e_old.dat + + ###################################################### + + ###################################################### + echo '# Running oxDNA2 duplex1 test' + cd $EXDIR/oxDNA2/duplex1 + mkdir test + cd test + cp $SRCDIR/lmp_mpi . + cp ../in.duplex1 . + cp ../data.duplex1 . + + mpirun -np 1 ./lmp_mpi < in.duplex1 > /dev/null + mv log.lammps log.$DATE.duplex1.g++.1 + grep etot log.$DATE.duplex1.g++.1 > e_test.dat + grep etot ../log*1 > e_old.dat + ndiff -relerr 1e-8 e_test.dat e_old.dat + + mpirun -np 4 ./lmp_mpi < in.duplex1 > /dev/null + mv log.lammps log.$DATE.duplex1.g++.4 + grep etot log.$DATE.duplex1.g++.4 > e_test.dat + grep etot ../log*4 > e_old.dat + ndiff -relerr 1e-8 e_test.dat e_old.dat + + ###################################################### + + ###################################################### + echo '# Running oxDNA2 duplex2 test' + cd $EXDIR/oxDNA2/duplex2 + mkdir test + cd test + cp $SRCDIR/lmp_mpi . + cp ../in.duplex2 . + cp ../data.duplex2 . + + mpirun -np 1 ./lmp_mpi < in.duplex2 > /dev/null + mv log.lammps log.$DATE.duplex2.g++.1 + grep etot log.$DATE.duplex2.g++.1 > e_test.dat + grep etot ../log*1 > e_old.dat + ndiff -relerr 1e-8 e_test.dat e_old.dat + + mpirun -np 4 ./lmp_mpi < in.duplex2 > /dev/null + mv log.lammps log.$DATE.duplex2.g++.4 + grep etot log.$DATE.duplex2.g++.4 > e_test.dat + grep etot ../log*4 > e_old.dat + ndiff -relerr 1e-8 e_test.dat e_old.dat + + ###################################################### + + ###################################################### + echo '# Running oxDNA2 duplex3 test' + cd $EXDIR/oxDNA2/duplex3 + mkdir test + cd test + cp $SRCDIR/lmp_mpi . + cp ../in.duplex3 . + cp ../data.duplex3 . + + mpirun -np 1 ./lmp_mpi < in.duplex3 > /dev/null + mv log.lammps log.$DATE.duplex3.g++.1 + grep etot log.$DATE.duplex3.g++.1 > e_test.dat + grep etot ../log*1 > e_old.dat + ndiff -relerr 1e-8 e_test.dat e_old.dat + + mpirun -np 4 ./lmp_mpi < in.duplex3 > /dev/null + mv log.lammps log.$DATE.duplex3.g++.4 + grep etot log.$DATE.duplex3.g++.4 > e_test.dat + grep etot ../log*4 > e_old.dat + ndiff -relerr 1e-8 e_test.dat e_old.dat + + ###################################################### + + ###################################################### + echo '# Running oxDNA2 unique_bp test' + cd $EXDIR/oxDNA2/unique_bp + mkdir test + cd test + cp $SRCDIR/lmp_mpi . + cp ../in.duplex4.4type . + cp ../in.duplex4.8type . + cp ../data.duplex4.4type . + cp ../data.duplex4.8type . + + mpirun -np 1 ./lmp_mpi < in.duplex4.4type > /dev/null + mv log.lammps log.$DATE.duplex4.4type.g++.1 + grep etot log.$DATE.duplex4.4type.g++.1 > e_test.dat + grep etot ../log*4type*1 > e_old.dat + ndiff -relerr 1e-8 e_test.dat e_old.dat + + mpirun -np 4 ./lmp_mpi < in.duplex4.4type > /dev/null + mv log.lammps log.$DATE.duplex4.4type.g++.4 + grep etot log.$DATE.duplex4.4type.g++.4 > e_test.dat + grep etot ../log*4type*4 > e_old.dat + ndiff -relerr 1e-8 e_test.dat e_old.dat + + mpirun -np 1 ./lmp_mpi < in.duplex4.8type > /dev/null + mv log.lammps log.$DATE.duplex4.8type.g++.1 + grep etot log.$DATE.duplex4.8type.g++.1 > e_test.dat + grep etot ../log*8type*1 > e_old.dat + ndiff -relerr 1e-8 e_test.dat e_old.dat + + mpirun -np 4 ./lmp_mpi < in.duplex4.8type > /dev/null + mv log.lammps log.$DATE.duplex4.8type.g++.4 + grep etot log.$DATE.duplex4.8type.g++.4 > e_test.dat + grep etot ../log*8type*4 > e_old.dat + ndiff -relerr 1e-8 e_test.dat e_old.dat + + ###################################################### + + ###################################################### + echo '# Running oxDNA2 dsring test' + cd $EXDIR/oxDNA2/dsring + mkdir test + cd test + cp $SRCDIR/lmp_mpi . + cp ../in.dsring . + cp ../data.dsring . + + mpirun -np 1 ./lmp_mpi < in.dsring > /dev/null + mv log.lammps log.$DATE.dsring.g++.1 + grep etot log.$DATE.dsring.g++.1 > e_test.dat + grep etot ../log*1 > e_old.dat + ndiff -relerr 1e-8 e_test.dat e_old.dat + + mpirun -np 4 ./lmp_mpi < in.dsring > /dev/null + mv log.lammps log.$DATE.dsring.g++.4 + grep etot log.$DATE.dsring.g++.4 > e_test.dat + grep etot ../log*4 > e_old.dat + ndiff -relerr 1e-8 e_test.dat e_old.dat + + ###################################################### + + ###################################################### + echo '# Running oxRNA2 duplex2 test' + cd $EXDIR/oxRNA2/duplex2 + mkdir test + cd test + cp $SRCDIR/lmp_mpi . + cp ../in.duplex2 . + cp ../data.duplex2 . + + mpirun -np 1 ./lmp_mpi < in.duplex2 > /dev/null + mv log.lammps log.$DATE.duplex2.g++.1 + grep etot log.$DATE.duplex2.g++.1 > e_test.dat + grep etot ../log*1 > e_old.dat + ndiff -relerr 1e-8 e_test.dat e_old.dat + + mpirun -np 4 ./lmp_mpi < in.duplex2 > /dev/null + mv log.lammps log.$DATE.duplex2.g++.4 + grep etot log.$DATE.duplex2.g++.4 > e_test.dat + grep etot ../log*4 > e_old.dat + ndiff -relerr 1e-8 e_test.dat e_old.dat + + ###################################################### + echo '# Done' + +elif [ $# -eq 1 ] && [ $1 = clean ]; then + echo '# Deleting test directories' + rm -rf $EXDIR/oxDNA/duplex1/test + rm -rf $EXDIR/oxDNA/duplex2/test + rm -rf $EXDIR/oxDNA2/duplex1/test + rm -rf $EXDIR/oxDNA2/duplex2/test + rm -rf $EXDIR/oxDNA2/duplex3/test + rm -rf $EXDIR/oxDNA2/unique_bp/test + rm -rf $EXDIR/oxDNA2/dsring/test + rm -rf $EXDIR/oxRNA2/duplex2/test + echo '# Done' + +else + echo '# Usage:' + echo '# ./test.sh run ... to run test suite' + echo '# ./test.sh clean ... to delete test directories' + +fi diff --git a/src/CG-DNA/atom_vec_oxdna.cpp b/src/CG-DNA/atom_vec_oxdna.cpp index 65787a0d98..cade612281 100644 --- a/src/CG-DNA/atom_vec_oxdna.cpp +++ b/src/CG-DNA/atom_vec_oxdna.cpp @@ -15,6 +15,8 @@ #include "atom.h" #include "comm.h" +#include "error.h" +#include "force.h" using namespace LAMMPS_NS; @@ -46,6 +48,11 @@ AtomVecOxdna::AtomVecOxdna(LAMMPS *lmp) : AtomVec(lmp) fields_data_vel = (char *) "id v"; setup_fields(); + + if(!force->newton_bond) { + error->warning(FLERR,"Write_data command requires newton_bond on to preserve 3'->5' bond polarity"); + } + } /* ---------------------------------------------------------------------- */ From 170b5be90668970be809436d654adbe68542443a Mon Sep 17 00:00:00 2001 From: Oliver Henrich Date: Mon, 19 Jul 2021 11:23:27 +0100 Subject: [PATCH 464/726] Added missing pointer name, reformatting --- src/CG-DNA/pair_oxdna2_excv.h | 1 - src/CG-DNA/pair_oxrna2_dh.h | 2 +- src/CG-DNA/pair_oxrna2_excv.h | 2 +- 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/CG-DNA/pair_oxdna2_excv.h b/src/CG-DNA/pair_oxdna2_excv.h index bc016534f0..0fc51406ad 100644 --- a/src/CG-DNA/pair_oxdna2_excv.h +++ b/src/CG-DNA/pair_oxdna2_excv.h @@ -28,7 +28,6 @@ class PairOxdna2Excv : public PairOxdnaExcv { public: PairOxdna2Excv(class LAMMPS *lmp) : PairOxdnaExcv(lmp) {} virtual ~PairOxdna2Excv() {} - virtual void compute_interaction_sites(double *, double *, double *, double *, double *); }; diff --git a/src/CG-DNA/pair_oxrna2_dh.h b/src/CG-DNA/pair_oxrna2_dh.h index 016eb5378b..3008b4cc8c 100644 --- a/src/CG-DNA/pair_oxrna2_dh.h +++ b/src/CG-DNA/pair_oxrna2_dh.h @@ -26,7 +26,7 @@ namespace LAMMPS_NS { class PairOxrna2Dh : public PairOxdna2Dh { public: - PairOxrna2Dh(class LAMMPS *) : PairOxdna2Dh(lmp) {} + PairOxrna2Dh(class LAMMPS *lmp) : PairOxdna2Dh(lmp) {} virtual ~PairOxrna2Dh() {} virtual void compute_interaction_sites(double *, double *, double *, double *); }; diff --git a/src/CG-DNA/pair_oxrna2_excv.h b/src/CG-DNA/pair_oxrna2_excv.h index 8e671f0b7a..4f404ef103 100644 --- a/src/CG-DNA/pair_oxrna2_excv.h +++ b/src/CG-DNA/pair_oxrna2_excv.h @@ -26,7 +26,7 @@ namespace LAMMPS_NS { class PairOxrna2Excv : public PairOxdnaExcv { public: - PairOxrna2Excv(class LAMMPS *) : PairOxdnaExcv(lmp) {} + PairOxrna2Excv(class LAMMPS *lmp) : PairOxdnaExcv(lmp) {} virtual ~PairOxrna2Excv() {} virtual void compute_interaction_sites(double *, double *, double *, double *, double *); }; From cf85fba37cda04dc6a2a6d2c5e4900369bc290b1 Mon Sep 17 00:00:00 2001 From: Oliver Henrich Date: Mon, 19 Jul 2021 11:27:08 +0100 Subject: [PATCH 465/726] Corrected text in warning message --- src/CG-DNA/atom_vec_oxdna.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/CG-DNA/atom_vec_oxdna.cpp b/src/CG-DNA/atom_vec_oxdna.cpp index cade612281..86262a0d4c 100644 --- a/src/CG-DNA/atom_vec_oxdna.cpp +++ b/src/CG-DNA/atom_vec_oxdna.cpp @@ -50,7 +50,7 @@ AtomVecOxdna::AtomVecOxdna(LAMMPS *lmp) : AtomVec(lmp) setup_fields(); if(!force->newton_bond) { - error->warning(FLERR,"Write_data command requires newton_bond on to preserve 3'->5' bond polarity"); + error->warning(FLERR,"Write_data command requires newton on to preserve 3'->5' bond polarity"); } } From ef72ea9dd909706726005a9c8970a95d23f1b788 Mon Sep 17 00:00:00 2001 From: Oliver Henrich Date: Mon, 19 Jul 2021 11:49:27 +0100 Subject: [PATCH 466/726] Fixed whitespace issues --- doc/src/bond_oxdna.rst | 8 ++++---- src/CG-DNA/atom_vec_oxdna.cpp | 5 +---- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/doc/src/bond_oxdna.rst b/doc/src/bond_oxdna.rst index f218b24ff0..3b35f92d89 100644 --- a/doc/src/bond_oxdna.rst +++ b/doc/src/bond_oxdna.rst @@ -86,10 +86,10 @@ commands: .. warning:: - If data files are produced with :doc:`write_data `, then the - :doc:`newton ` command should be set to *newton on* or *newton off on*. - Otherwise the data files will not have the same 3' to 5' polarity as the - initial data file. This limitation does not apply to binary restart files + If data files are produced with :doc:`write_data `, then the + :doc:`newton ` command should be set to *newton on* or *newton off on*. + Otherwise the data files will not have the same 3'-to-5' polarity as the + initial data file. This limitation does not apply to binary restart files produced with :doc:`write_restart `. Example input and data files for DNA and RNA duplexes can be found in diff --git a/src/CG-DNA/atom_vec_oxdna.cpp b/src/CG-DNA/atom_vec_oxdna.cpp index 86262a0d4c..7ce2189a64 100644 --- a/src/CG-DNA/atom_vec_oxdna.cpp +++ b/src/CG-DNA/atom_vec_oxdna.cpp @@ -49,10 +49,7 @@ AtomVecOxdna::AtomVecOxdna(LAMMPS *lmp) : AtomVec(lmp) setup_fields(); - if(!force->newton_bond) { - error->warning(FLERR,"Write_data command requires newton on to preserve 3'->5' bond polarity"); - } - + if(!force->newton_bond) error->warning(FLERR,"Write_data command requires newton on to preserve 3'->5' bond polarity"); } /* ---------------------------------------------------------------------- */ From a1082f4de96d793e23b820f11aa2cd625ee8f7e0 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 19 Jul 2021 12:15:43 -0400 Subject: [PATCH 467/726] fix typo --- doc/src/fix_qeq.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/src/fix_qeq.rst b/doc/src/fix_qeq.rst index 6992db6bca..ccacea08db 100644 --- a/doc/src/fix_qeq.rst +++ b/doc/src/fix_qeq.rst @@ -129,10 +129,10 @@ entries per line are required. The fix qeq styles will print a warning if the charges are not equilibrated within *tolerance* by *maxiter* steps, unless the -*warn* keyword is used with "no" as argument. This latter option +*warn* keyword is used with "no" as argument. This latter option may be useful for testing and benchmarking purposes, as it allows to use a fixed number of QEq iterations when *tolerance* is set -to a small enough value to alway reach the *maxiter* limit. Turning +to a small enough value to always reach the *maxiter* limit. Turning off warnings will avoid the excessive output in that case. The *qeq/point* style describes partial charges on atoms as point From 4e0071c8cf63c599478db9a133705404b3fa224b Mon Sep 17 00:00:00 2001 From: kipbarrett Date: Mon, 19 Jul 2021 12:52:09 -0500 Subject: [PATCH 468/726] rearranged deallocation --- src/ML-RANN/pair_rann.cpp | 145 +++++++++++++++++++++++++++----------- src/ML-RANN/pair_rann.h | 1 + 2 files changed, 104 insertions(+), 42 deletions(-) diff --git a/src/ML-RANN/pair_rann.cpp b/src/ML-RANN/pair_rann.cpp index 95e4d1af58..73ff747c81 100644 --- a/src/ML-RANN/pair_rann.cpp +++ b/src/ML-RANN/pair_rann.cpp @@ -75,29 +75,90 @@ static const char cite_user_rann_package[] = PairRANN::PairRANN(LAMMPS *lmp) : Pair(lmp) { + //initialize ints and bools single_enable = 0; restartinfo = 0; one_coeff = 1; manybody_flag = 1; allocated = 0; nelements = -1; - elements = nullptr; - mass = nullptr; - - // set comm size needed by this Pair - // comm unused for now. - - comm_forward = 38; - comm_reverse = 30; + nelementsp = -1; + comm_forward = 0; + comm_reverse = 0; res = 10000; cutmax = 0; - //at least one of the following will change during fingerprint definition: + dospin = false; + memguess = 0; + nmax1 = 0; + nmax2 = 0; + fmax = 0; + fnmax = 0; + //at least one of the following two flags will change during fingerprint definition: doscreen = false; allscreen = true; - dospin = false; + + //null init for arrays with sizes not yet determined. + elements = nullptr; + mass = nullptr; + elementsp = nullptr; + map = nullptr; + fingerprintcount = nullptr; + fingerprintlength = nullptr; + fingerprintperelement = nullptr; + screening_min = nullptr; + screening_max = nullptr; + weightdefined = nullptr; + biasdefined = nullptr; + xn = nullptr; + yn = nullptr; + zn = nullptr; + Sik = nullptr; + dSikx = nullptr; + dSiky = nullptr; + dSikz = nullptr; + dSijkx = nullptr; + dSijky = nullptr; + dSijkz = nullptr; + sx = nullptr; + sy = nullptr; + sz = nullptr; + dSijkxc = nullptr; + dSijkyc = nullptr; + dSijkzc = nullptr; + dfeaturesx = nullptr; + dfeaturesy = nullptr; + dfeaturesz = nullptr; + features = nullptr; + layer = nullptr; + sum = nullptr; + sum1 = nullptr; + dlayerx = nullptr; + dlayery = nullptr; + dlayerz = nullptr; + dlayersumx = nullptr; + dlayersumy = nullptr; + dlayersumz = nullptr; + dsx = nullptr; + dsy = nullptr; + dsz = nullptr; + dssumx = nullptr; + dssumy = nullptr; + dssumz = nullptr; + tn = nullptr; + jl = nullptr; + Bij = nullptr; + sims = nullptr; + net = nullptr; + activation = nullptr; + fingerprints = nullptr; } PairRANN::~PairRANN() +{ + deallocate(); +} + +void PairRANN::deallocate() { //clear memory delete[] mass; @@ -157,30 +218,26 @@ PairRANN::~PairRANN() memory->destroy(dlayersumx); memory->destroy(dlayersumy); memory->destroy(dlayersumz); - if (doscreen) { - memory->destroy(Sik); - memory->destroy(Bij); - memory->destroy(dSikx); - memory->destroy(dSiky); - memory->destroy(dSikz); - memory->destroy(dSijkx); - memory->destroy(dSijky); - memory->destroy(dSijkz); - memory->destroy(dSijkxc); - memory->destroy(dSijkyc); - memory->destroy(dSijkzc); - } - if (dospin) { - memory->destroy(sx); - memory->destroy(sy); - memory->destroy(sz); - memory->destroy(dsx); - memory->destroy(dsy); - memory->destroy(dsz); - memory->destroy(dssumx); - memory->destroy(dssumy); - memory->destroy(dssumz); - } + memory->destroy(Sik); + memory->destroy(Bij); + memory->destroy(dSikx); + memory->destroy(dSiky); + memory->destroy(dSikz); + memory->destroy(dSijkx); + memory->destroy(dSijky); + memory->destroy(dSijkz); + memory->destroy(dSijkxc); + memory->destroy(dSijkyc); + memory->destroy(dSijkzc); + memory->destroy(sx); + memory->destroy(sy); + memory->destroy(sz); + memory->destroy(dsx); + memory->destroy(dsy); + memory->destroy(dsz); + memory->destroy(dssumx); + memory->destroy(dssumy); + memory->destroy(dssumz); memory->destroy(setflag); memory->destroy(cutsq); } @@ -243,6 +300,7 @@ void PairRANN::settings(int narg, char ** /*arg*/) void PairRANN::coeff(int narg, char **arg) { int i,j; + deallocate();//clear allocation from any previous coeff map = new int[atom->ntypes+1]; if (narg != 3 + atom->ntypes) error->one(FLERR,"Incorrect args for pair coefficients"); if (strcmp(arg[0],"*") != 0 || strcmp(arg[1],"*") != 0) error->one(FLERR,"Incorrect args for pair coefficients"); @@ -294,7 +352,7 @@ void PairRANN::read_file(char *filename) FILE *fp; int eof = 0; std::string line,line1; - int longline = 4096; + const int longline = 4096; int linenum; char linetemp[longline]; std::string strtemp; @@ -405,12 +463,12 @@ void PairRANN::read_fpe(std::vector line,std::vector l } void PairRANN::read_fingerprints(std::vector line,std::vector line1,char *filename,int linenum) { - int nwords1,nwords,i,j,k,i1; + int nwords1,nwords,i,j,k,i1,*atomtypes; bool found; nwords1 = line1.size(); nwords = line.size(); if (nelements == -1)error->one(filename,linenum-1,"atom types must be defined before fingerprints in potential file."); - int atomtypes[nwords-1]; + atomtypes = new int[nwords-1]; for (i=1;i line,std::vectorinit(atomtypes,utils::inumeric(filename,linenum,line1[k++].c_str(),1,lmp)); fingerprintcount[i]++; } + delete[] atomtypes; } void PairRANN::read_fingerprint_constants(std::vector line,std::vector line1,char *filename,int linenum) { - int i,j,k,i1; + int i,j,k,i1,*atomtypes; bool found; int nwords = line.size(); if (nelements == -1)error->one(filename,linenum-1,"atom types must be defined before fingerprints in potential file."); int n_body_type = nwords-4; - int atomtypes[n_body_type]; + atomtypes = new int[n_body_type]; for (i=1;i<=n_body_type;i++) { found = false; for (j=0;j line,std::vec } if (!found) {error->one(filename,linenum-1,"cannot define constants for unknown fingerprint");} fingerprints[i][i1]->fullydefined=fingerprints[i][i1]->parse_values(line[nwords-1],line1); + delete[] atomtypes; } void PairRANN::read_network_layers(std::vector line,std::vector line1,char *filename,int linenum) { @@ -521,7 +581,7 @@ void PairRANN::read_layer_size(std::vector line,std::vector line,std::vector line1,FILE* fp,char *filename,int *linenum) { int i,j,k,l,nwords; char *ptr; - int longline = 4096; + const int longline = 4096; char linetemp [longline]; for (l=0;l line,std::vect } void PairRANN::read_screening(std::vector line,std::vector line1,char *filename,int linenum) { - int i,j,k; + int i,j,k,*atomtypes; bool found; int nwords = line.size(); if (nelements == -1)error->one(filename,linenum-1,"atom types must be defined before fingerprints in potential file."); if (nwords!=5)error->one(filename,linenum-1,"invalid screening command"); int n_body_type = 3; - int atomtypes[n_body_type]; + atomtypes = new int[n_body_type]; for (i=1;i<=n_body_type;i++) { found = false; for (j=0;j line,std::vectorone(filename,linenum-1,"unrecognized screening keyword"); + delete[] atomtypes; } //Called after finishing reading the potential file to make sure it is complete. True is bad. diff --git a/src/ML-RANN/pair_rann.h b/src/ML-RANN/pair_rann.h index ceaa5f445c..6c047775d4 100644 --- a/src/ML-RANN/pair_rann.h +++ b/src/ML-RANN/pair_rann.h @@ -136,6 +136,7 @@ namespace LAMMPS_NS { private: //new functions void allocate(const std::vector &);//called after reading element list, but before reading the rest of the potential + void deallocate(); void read_file(char *);//read potential file void read_atom_types(std::vector,char*,int); void read_fpe(std::vector,std::vector,char*,int);//fingerprints per element. Count total fingerprints defined for each 1st element in element combinations From d739c3bedec2b9e0741d493b9b0f68815734d068 Mon Sep 17 00:00:00 2001 From: Mike Brown Date: Mon, 19 Jul 2021 11:16:09 -0700 Subject: [PATCH 469/726] Fixes to the Intel package to remove errors and warnings with clang-based compiler and support alternate preprocessor defines for the next-gen Intel compiler (currently not recommended for performance).. --- src/INTEL/intel_intrinsics.h | 18 ++++++---- src/INTEL/intel_intrinsics_airebo.h | 4 +-- src/INTEL/intel_preprocess.h | 5 +++ src/INTEL/pair_airebo_intel.cpp | 2 +- src/INTEL/pair_dpd_intel.cpp | 2 +- src/INTEL/pair_eam_intel.cpp | 10 +++--- src/INTEL/pair_lj_cut_intel.cpp | 2 +- src/INTEL/pair_tersoff_intel.cpp | 51 +++++++++++++++++------------ src/lmptype.h | 6 ++-- src/memory.cpp | 5 +-- 10 files changed, 63 insertions(+), 42 deletions(-) diff --git a/src/INTEL/intel_intrinsics.h b/src/INTEL/intel_intrinsics.h index a17cc2859a..295310283d 100644 --- a/src/INTEL/intel_intrinsics.h +++ b/src/INTEL/intel_intrinsics.h @@ -85,7 +85,11 @@ struct vector_ops {}; // Intrinsic routines for IMCI and AVX-512 #if defined(__MIC__) || defined(__AVX512F__) // Integer vector class +#ifdef __INTEL_LLVM_COMPILER +#pragma pack(push,16) +#else #pragma pack(push,64) +#endif struct ivec32x16 { __m512i vec; ivec32x16() {} @@ -113,7 +117,7 @@ struct vector_ops { typedef double fscal; typedef F64vec8 fvec; typedef ivec32x16 ivec; - typedef __mmask bvec; + typedef __mmask16 bvec; typedef double farr[8] __attribute__((aligned(64))); typedef int iarr[16] __attribute__((aligned(64))); static fvec recip(const fvec &a) { return _mm512_recip_pd(a); } @@ -250,7 +254,7 @@ struct vector_ops { typedef float fscal; typedef F32vec16 fvec; typedef ivec32x16 ivec; - typedef __mmask bvec; + typedef __mmask16 bvec; typedef float farr[16] __attribute__((aligned(64))); typedef int iarr[16] __attribute__((aligned(64))); static const bvec full_mask = 0xFFFF; @@ -380,16 +384,18 @@ struct vector_ops { *r3 = gather<4>(*r3, mask, idxs, reinterpret_cast(base) + 12); } // Additional routines needed for the implementation of mixed precision - static fvec cvtdown(const vector_ops::fvec &lo, const vector_ops::fvec &hi) { + static fvec cvtdown(const vector_ops::fvec &lo, + const vector_ops::fvec &hi) { __m512 t1 = _mm512_cvtpd_pslo(lo); __m512 t2 = _mm512_cvtpd_pslo(hi); - return _mm512_mask_permute4f128_ps(t1, 0xFF00, t2, _MM_PERM_BADC); + return _mm512_mask_shuffle_f32x4(_mm512_undefined_ps(), 0xFF00, t2, t2, + 0x4E); } static vector_ops::fvec cvtup_lo(const fvec &a) { return _mm512_cvtpslo_pd(a); } static vector_ops::fvec cvtup_hi(const fvec &a) { - return _mm512_cvtpslo_pd(_mm512_permute4f128_ps(a, _MM_PERM_BADC)); // permute DCBA -> BADC + return _mm512_cvtpslo_pd(_mm512_shuffle_f32x4(a, a, 0x4E)); } static void mask_cvtup(const bvec &a, vector_ops::bvec *blo, vector_ops::bvec *bhi) { *blo = a & 0xFF; @@ -1692,7 +1698,7 @@ struct vector_ops { typedef flt_t fscal; typedef flt_t fvec; typedef int ivec; - typedef bool bvec; + typedef int bvec; typedef flt_t farr[1]; typedef int iarr[1]; static fvec recip(const fvec &a) { diff --git a/src/INTEL/intel_intrinsics_airebo.h b/src/INTEL/intel_intrinsics_airebo.h index f49abbaf3d..ac58ca2438 100644 --- a/src/INTEL/intel_intrinsics_airebo.h +++ b/src/INTEL/intel_intrinsics_airebo.h @@ -651,12 +651,12 @@ class avec16pd { return a >> 8; } VEC_INLINE static __m512i get_ivec_hi(__m512i a) { - return _mm512_permute4f128_epi32(a, _MM_PERM_BADC); + return _mm512_shuffle_i32x4(a, a, 0x4E); } public: VEC_INLINE avec16pd(const FVEC_NAME &a) { lo_ = _mm512_cvtpslo_pd(a.val_); - hi_ = _mm512_cvtpslo_pd(_mm512_permute4f128_ps(a.val_, _MM_PERM_BADC)); + hi_ = _mm512_cvtpslo_pd(_mm512_shuffle_f32x4(a.val_, a.val_, 0x4E)); } VEC_INLINE static avec16pd undefined() { return avec16pd(_mm512_undefined_pd(), _mm512_undefined_pd()); diff --git a/src/INTEL/intel_preprocess.h b/src/INTEL/intel_preprocess.h index 6f9b37a700..0bec9935db 100644 --- a/src/INTEL/intel_preprocess.h +++ b/src/INTEL/intel_preprocess.h @@ -16,6 +16,11 @@ Contributing author: W. Michael Brown (Intel) ------------------------------------------------------------------------- */ +#ifdef __INTEL_LLVM_COMPILER +#define __INTEL_COMPILER __INTEL_LLVM_COMPILER +#define __INTEL_COMPILER_BUILD_DATE __INTEL_LLVM_COMPILER +#endif + #ifdef __INTEL_COMPILER #define LMP_SIMD_COMPILER #if (__INTEL_COMPILER_BUILD_DATE > 20160720) diff --git a/src/INTEL/pair_airebo_intel.cpp b/src/INTEL/pair_airebo_intel.cpp index 8b2eadbe72..0037ac822d 100644 --- a/src/INTEL/pair_airebo_intel.cpp +++ b/src/INTEL/pair_airebo_intel.cpp @@ -2332,7 +2332,7 @@ static void aut_rebo_neigh(KernelArgsAIREBOT * ka) { int n_skin = 0; int lowest_idx; - #pragma unroll(4) + //#pragma unroll(4) for (lowest_idx = 0; lowest_idx < jnum; lowest_idx += fvec::VL) { bvec j_mask = bvec::full(); if (lowest_idx + fvec::VL > jnum) j_mask = bvec::only(jnum - lowest_idx); diff --git a/src/INTEL/pair_dpd_intel.cpp b/src/INTEL/pair_dpd_intel.cpp index 0e872efdf6..87226d92dc 100644 --- a/src/INTEL/pair_dpd_intel.cpp +++ b/src/INTEL/pair_dpd_intel.cpp @@ -284,7 +284,7 @@ void PairDPDIntel::eval(const int offload, const int vflag, } #if defined(LMP_SIMD_COMPILER) - #pragma vector aligned nog2s + #pragma vector aligned #pragma simd reduction(+:fxtmp, fytmp, fztmp, fwtmp, sevdwl, \ sv0, sv1, sv2, sv3, sv4, sv5) #endif diff --git a/src/INTEL/pair_eam_intel.cpp b/src/INTEL/pair_eam_intel.cpp index 04724f599c..aa07a5649b 100644 --- a/src/INTEL/pair_eam_intel.cpp +++ b/src/INTEL/pair_eam_intel.cpp @@ -306,7 +306,7 @@ void PairEAMIntel::eval(const int offload, const int vflag, acc_t rhoi = (acc_t)0.0; int ej = 0; #if defined(LMP_SIMD_COMPILER) - #pragma vector aligned nog2s + #pragma vector aligned #pragma ivdep #endif for (int jj = 0; jj < jnum; jj++) { @@ -325,7 +325,7 @@ void PairEAMIntel::eval(const int offload, const int vflag, } #if defined(LMP_SIMD_COMPILER) - #pragma vector aligned nog2s + #pragma vector aligned #pragma simd reduction(+:rhoi) #endif for (int jj = 0; jj < ej; jj++) { @@ -412,7 +412,7 @@ void PairEAMIntel::eval(const int offload, const int vflag, if (EFLAG) tevdwl = (acc_t)0.0; #if defined(LMP_SIMD_COMPILER) - #pragma vector aligned nog2s + #pragma vector aligned #pragma simd reduction(+:tevdwl) #endif for (int ii = iifrom; ii < iito; ++ii) { @@ -486,7 +486,7 @@ void PairEAMIntel::eval(const int offload, const int vflag, int ej = 0; #if defined(LMP_SIMD_COMPILER) - #pragma vector aligned nog2s + #pragma vector aligned #pragma ivdep #endif for (int jj = 0; jj < jnum; jj++) { @@ -508,7 +508,7 @@ void PairEAMIntel::eval(const int offload, const int vflag, } #if defined(LMP_SIMD_COMPILER) - #pragma vector aligned nog2s + #pragma vector aligned #pragma simd reduction(+:fxtmp, fytmp, fztmp, fwtmp, sevdwl, \ sv0, sv1, sv2, sv3, sv4, sv5) #endif diff --git a/src/INTEL/pair_lj_cut_intel.cpp b/src/INTEL/pair_lj_cut_intel.cpp index 71e12d7b24..32cc622829 100644 --- a/src/INTEL/pair_lj_cut_intel.cpp +++ b/src/INTEL/pair_lj_cut_intel.cpp @@ -237,7 +237,7 @@ void PairLJCutIntel::eval(const int offload, const int vflag, if (vflag == VIRIAL_PAIR) sv0 = sv1 = sv2 = sv3 = sv4 = sv5 = (acc_t)0; #if defined(LMP_SIMD_COMPILER) - #pragma vector aligned nog2s + #pragma vector aligned #pragma simd reduction(+:fxtmp, fytmp, fztmp, fwtmp, sevdwl, \ sv0, sv1, sv2, sv3, sv4, sv5) #endif diff --git a/src/INTEL/pair_tersoff_intel.cpp b/src/INTEL/pair_tersoff_intel.cpp index 707e8404ff..51574b0d1e 100644 --- a/src/INTEL/pair_tersoff_intel.cpp +++ b/src/INTEL/pair_tersoff_intel.cpp @@ -367,11 +367,11 @@ void PairTersoffIntel::eval(const int offload, const int vflag, lmp_intel::vector_traits::support_integer_and_gather_ops; bool use_scalar = VL < 4; if (use_scalar) { - IntelKernelTersoff::kernel(ARGS); + IntelKernelTersoff::template kernel(ARGS); } else if (pack_i) { - IntelKernelTersoff::kernel(ARGS); + IntelKernelTersoff::template kernel(ARGS); } else { - IntelKernelTersoff::kernel(ARGS); + IntelKernelTersoff::template kernel(ARGS); } if (EFLAG) oevdwl += sevdwl; } @@ -691,7 +691,8 @@ void IntelKernelTersoff::kernel_step( fvec vrijsq = vdx_ij * vdx_ij + vdy_ij * vdy_ij + vdz_ij * vdz_ij; fvec vrij = sqrt(vrijsq); ivec vis_orig = v::int_load_vl(is); - ivec vnumneigh_i = v::int_gather<4>(v_i0, vmask, vis_orig, numneigh); + ivec vnumneigh_i = v::template int_gather<4>(v_i0, vmask, vis_orig, + numneigh); ivec vc_idx_ij = v::int_mullo(v_i4floats, vw_j + v::int_mullo(v_i_ntypes, vw_i)); fvec vzeta = v::zero(); @@ -718,14 +719,16 @@ void IntelKernelTersoff::kernel_step( while (! v::mask_testz(vactive_mask) && cache_idx < N_CACHE) { bvec vnew_mask = vactive_mask & ~ veff_old_mask; vks = v::int_mullo(v_i4floats, v_i_NEIGHMASK & - v::int_gather<4>(vks, vactive_mask, vkks + vcnumneigh_i, firstneigh)); + (v::template int_gather<4>(vks, vactive_mask, + vkks + vcnumneigh_i, + firstneigh))); v::gather_x(vks, vnew_mask, x, &vx_k, &vy_k, &vz_k, &vw_k); fvec vdx_ik = (vx_k - vx_i); fvec vdy_ik = (vy_k - vy_i); fvec vdz_ik = (vz_k - vz_i); fvec vrsq = vdx_ik * vdx_ik + vdy_ik * vdy_ik + vdz_ik * vdz_ik; ivec vc_idx = v::int_mullo(v_i4floats, vw_k) + v::int_mullo(v_i_ntypes, vc_idx_ij); - vcutsq = v::gather<4>(vcutsq, vnew_mask, vc_idx, c_inner); + vcutsq = v::template gather<4>(vcutsq, vnew_mask, vc_idx, c_inner); bvec vcutoff_mask = v::cmplt(vrsq, vcutsq); bvec vsame_mask = v::int_cmpneq(vjs, vks); bvec veff_mask = vcutoff_mask & vsame_mask & vactive_mask; @@ -769,14 +772,16 @@ void IntelKernelTersoff::kernel_step( while (! v::mask_testz(vactive_mask)) { bvec vnew_mask = vactive_mask & ~ veff_old_mask; vks = v::int_mullo(v_i4floats, v_i_NEIGHMASK & - v::int_gather<4>(vks, vactive_mask, vkks + vcnumneigh_i, firstneigh)); + (v::template int_gather<4>(vks, vactive_mask, + vkks + vcnumneigh_i, + firstneigh))); v::gather_x(vks, vnew_mask, x, &vx_k, &vy_k, &vz_k, &vw_k); fvec vdx_ik = (vx_k - vx_i); fvec vdy_ik = (vy_k - vy_i); fvec vdz_ik = (vz_k - vz_i); fvec vrsq = vdx_ik * vdx_ik + vdy_ik * vdy_ik + vdz_ik * vdz_ik; ivec vc_idx = v::int_mullo(v_i4floats, vw_k) + v::int_mullo(v_i_ntypes, vc_idx_ij); - vcutsq = v::gather<4>(vcutsq, vnew_mask, vc_idx, c_inner); + vcutsq = v::template gather<4>(vcutsq, vnew_mask, vc_idx, c_inner); bvec vcutoff_mask = v::cmplt(vrsq, vcutsq); bvec vsame_mask = v::int_cmpneq(vjs, vks); bvec veff_mask = vcutoff_mask & vsame_mask & vactive_mask; @@ -836,14 +841,16 @@ void IntelKernelTersoff::kernel_step( while (! v::mask_testz(vactive_mask)) { bvec vnew_mask = vactive_mask & ~ veff_old_mask; vks = v::int_mullo(v_i4floats, v_i_NEIGHMASK & - v::int_gather<4>(vks, vactive_mask, vkks + vcnumneigh_i, firstneigh)); + (v::template int_gather<4>(vks, vactive_mask, + vkks + vcnumneigh_i, + firstneigh))); v::gather_x(vks, vnew_mask, x, &vx_k, &vy_k, &vz_k, &vw_k); fvec vdx_ik = vx_k - vx_i; fvec vdy_ik = vy_k - vy_i; fvec vdz_ik = vz_k - vz_i; fvec vrsq = vdx_ik * vdx_ik + vdy_ik * vdy_ik + vdz_ik * vdz_ik; ivec vc_idx = v::int_mullo(v_i4floats, vw_k) + v::int_mullo(v_i_ntypes, vc_idx_ij); - vcutsq = v::gather<4>(vcutsq, vnew_mask, vc_idx, c_inner); + vcutsq = v::template gather<4>(vcutsq, vnew_mask, vc_idx, c_inner); bvec vcutoff_mask = v::cmplt(vrsq, vcutsq); bvec vsame_mask = v::int_cmpneq(vjs, vks); bvec veff_mask = vcutoff_mask & vsame_mask & vactive_mask; @@ -991,7 +998,7 @@ void IntelKernelTersoff::kernel_step_const_i( fvec vdy_ik = vy_k - vy_i; fvec vdz_ik = vz_k - vz_i; fvec vrsq = vdx_ik * vdx_ik + vdy_ik * vdy_ik + vdz_ik * vdz_ik; - fvec vcutsq = v::gather<4>(v::zero(), vmask, vc_idx_j_ntypes, &c_inner[ntypes * ntypes * w_i + w_k]); + fvec vcutsq = v::template gather<4>(v::zero(), vmask, vc_idx_j_ntypes, &c_inner[ntypes * ntypes * w_i + w_k]); bvec vcutoff_mask = v::cmplt(vrsq, vcutsq); bvec vsame_mask = v::int_cmpneq(vjs, ivec(static_cast(4 * sizeof(typename v::fscal) * k))); bvec veff_mask = vcutoff_mask & vsame_mask & vmask; @@ -1035,7 +1042,7 @@ void IntelKernelTersoff::kernel_step_const_i( fvec vdy_ik = vy_k - vy_i; fvec vdz_ik = vz_k - vz_i; fvec vrsq = vdx_ik * vdx_ik + vdy_ik * vdy_ik + vdz_ik * vdz_ik; - fvec vcutsq = v::gather<4>(v::zero(), vmask, vc_idx_j_ntypes, &c_inner[ntypes * ntypes * w_i + w_k]); + fvec vcutsq = v::template gather<4>(v::zero(), vmask, vc_idx_j_ntypes, &c_inner[ntypes * ntypes * w_i + w_k]); bvec vcutoff_mask = v::cmplt(vrsq, vcutsq); bvec vsame_mask = v::int_cmpneq(vjs, ivec(static_cast(4 * sizeof(typename v::fscal) * k))); bvec veff_mask = vcutoff_mask & vsame_mask & vmask; @@ -1082,7 +1089,7 @@ void IntelKernelTersoff::kernel_step_const_i( fvec vdy_ik = vy_k - vy_i; fvec vdz_ik = vz_k - vz_i; fvec vrsq = vdx_ik * vdx_ik + vdy_ik * vdy_ik + vdz_ik * vdz_ik; - fvec vcutsq = v::gather<4>(v::zero(), vmask, vc_idx_j_ntypes, &c_inner[ntypes * ntypes * w_i + w_k].cutsq); + fvec vcutsq = v::template gather<4>(v::zero(), vmask, vc_idx_j_ntypes, &c_inner[ntypes * ntypes * w_i + w_k].cutsq); bvec vcutoff_mask = v::cmplt(vrsq, vcutsq); bvec vsame_mask = v::int_cmpneq(vjs, ivec(static_cast(4 * sizeof(typename v::fscal) * k))); bvec veff_mask = vcutoff_mask & vsame_mask & vmask; @@ -1228,7 +1235,7 @@ void IntelKernelTersoff::kernel( template -IntelKernelTersoff::fvec IntelKernelTersoff::zeta_vector( +typename IntelKernelTersoff::fvec IntelKernelTersoff::zeta_vector( const c_inner_t * param, ivec xjw, bvec mask, fvec vrij, fvec rsq2, @@ -1354,6 +1361,8 @@ void IntelKernelTersoff::force_zeta_vector( } } +#define BCF lmp_intel::vector_routines + template template void IntelKernelTersoff::attractive_vector( @@ -1393,7 +1402,7 @@ void IntelKernelTersoff::attractive_vector( fvec varg3 = varg1 * varg1 * varg1; bvec mask_ex = v::cmpeq(vppowermint, fvec(3.)); fvec varg = v::blend(mask_ex, varg1, varg3); - fvec vex_delr = min(fvec(1.e30), exp(varg)); + fvec vex_delr = BCF::min(fvec(1.e30), exp(varg)); fvec vex_delr_d_factor = v::blend(mask_ex, v_1_0, fvec(3.0) * varg1 * varg1); fvec vex_delr_d = vplam3 * vex_delr_d_factor * vex_delr; bvec vmask_need_sine = v::cmpnle(vrik, vpbigr - vpbigd) & mask; @@ -1413,12 +1422,12 @@ void IntelKernelTersoff::attractive_vector( if (ZETA) *zeta = vfc * vgijk * vex_delr; fvec vminus_costheta = - vcostheta; - fvec vdcosdrjx = vrijinv * fmadd(vminus_costheta, vrij_hatx, rik_hatx); - fvec vdcosdrjy = vrijinv * fmadd(vminus_costheta, vrij_haty, rik_haty); - fvec vdcosdrjz = vrijinv * fmadd(vminus_costheta, vrij_hatz, rik_hatz); - fvec vdcosdrkx = rikinv * fmadd(vminus_costheta, rik_hatx, vrij_hatx); - fvec vdcosdrky = rikinv * fmadd(vminus_costheta, rik_haty, vrij_haty); - fvec vdcosdrkz = rikinv * fmadd(vminus_costheta, rik_hatz, vrij_hatz); + fvec vdcosdrjx = vrijinv * BCF::fmadd(vminus_costheta, vrij_hatx, rik_hatx); + fvec vdcosdrjy = vrijinv * BCF::fmadd(vminus_costheta, vrij_haty, rik_haty); + fvec vdcosdrjz = vrijinv * BCF::fmadd(vminus_costheta, vrij_hatz, rik_hatz); + fvec vdcosdrkx = rikinv * BCF::fmadd(vminus_costheta, rik_hatx, vrij_hatx); + fvec vdcosdrky = rikinv * BCF::fmadd(vminus_costheta, rik_haty, vrij_haty); + fvec vdcosdrkz = rikinv * BCF::fmadd(vminus_costheta, rik_hatz, vrij_hatz); fvec vdcosdrix = -(vdcosdrjx + vdcosdrkx); fvec vdcosdriy = -(vdcosdrjy + vdcosdrky); fvec vdcosdriz = -(vdcosdrjz + vdcosdrkz); diff --git a/src/lmptype.h b/src/lmptype.h index 6a7a7ef1b9..871bf5ff6c 100644 --- a/src/lmptype.h +++ b/src/lmptype.h @@ -242,9 +242,9 @@ union ubuf { // define stack variable alignment -#if defined(__INTEL_LLVM_COMPILER) || defined(__INTEL_COMPILER) +#if defined(__INTEL_COMPILER) #define _alignvar(expr, val) __declspec(align(val)) expr -#elif defined(__GNUC__) || defined(__PGI) +#elif defined(__GNUC__) || defined(__PGI) || defined(__INTEL_LLVM_COMPILER) #define _alignvar(expr, val) expr __attribute((aligned(val))) #else #define _alignvar(expr, val) expr @@ -266,7 +266,7 @@ union ubuf { #if defined(__clang__) #define _noopt __attribute__((optnone)) -#elif defined(__INTEL_COMPILER) +#elif defined(__INTEL_COMPILER) || defined(__INTEL_LLVM_COMPILER) #define _noopt #elif defined(__PGI) #define _noopt diff --git a/src/memory.cpp b/src/memory.cpp index 3e67ed1496..8f7faad545 100644 --- a/src/memory.cpp +++ b/src/memory.cpp @@ -16,7 +16,8 @@ #include "error.h" -#if defined(LMP_USER_INTEL) && defined(__INTEL_COMPILER) +#if defined(LMP_USER_INTEL) && \ + ((defined(__INTEL_COMPILER) || defined(__INTEL_LLVM_COMPILER))) #ifndef LMP_INTEL_NO_TBB #define LMP_USE_TBB_ALLOCATOR #include "tbb/scalable_allocator.h" @@ -81,7 +82,7 @@ void *Memory::srealloc(void *ptr, bigint nbytes, const char *name) #if defined(LMP_USE_TBB_ALLOCATOR) ptr = scalable_aligned_realloc(ptr, nbytes, LAMMPS_MEMALIGN); #elif defined(LMP_INTEL_NO_TBB) && defined(LAMMPS_MEMALIGN) && \ - defined(__INTEL_COMPILER) + (defined(__INTEL_COMPILER) || defined(__INTEL_LLVM_COMPILER)) ptr = realloc(ptr, nbytes); uintptr_t offset = ((uintptr_t)(const void *)(ptr)) % LAMMPS_MEMALIGN; From 1345c25f413cd8254f146d7288fdb0e0591e9455 Mon Sep 17 00:00:00 2001 From: Mike Brown Date: Mon, 19 Jul 2021 17:49:11 -0700 Subject: [PATCH 470/726] Fixing issue where __INTEL_COMPILER not defined for next-gen (LLVM-based) in tersoff. --- src/INTEL/pair_tersoff_intel.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/INTEL/pair_tersoff_intel.h b/src/INTEL/pair_tersoff_intel.h index 0a40844622..b40ce19787 100644 --- a/src/INTEL/pair_tersoff_intel.h +++ b/src/INTEL/pair_tersoff_intel.h @@ -24,12 +24,12 @@ PairStyle(tersoff/intel,PairTersoffIntel); #ifndef LMP_PAIR_TERSOFF_INTEL_H #define LMP_PAIR_TERSOFF_INTEL_H -#ifdef __INTEL_COMPILER - #include "pair.h" #include "fix_intel.h" #include "pair_tersoff.h" +#ifdef __INTEL_COMPILER + namespace LAMMPS_NS { class PairTersoffIntel : public PairTersoff { From cfd9e31d18f11cd10a9c67856189de2e55294979 Mon Sep 17 00:00:00 2001 From: Donatas Surblys Date: Tue, 20 Jul 2021 13:31:41 +0900 Subject: [PATCH 471/726] add links to heat/flux/virial/tally and add short descriptions for tally computes --- doc/src/Commands_compute.rst | 1 + doc/src/compute.rst | 11 ++++++----- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/doc/src/Commands_compute.rst b/doc/src/Commands_compute.rst index 0169826751..9dfb28fa8b 100644 --- a/doc/src/Commands_compute.rst +++ b/doc/src/Commands_compute.rst @@ -72,6 +72,7 @@ KOKKOS, o = OPENMP, t = OPT. * :doc:`gyration/shape/chunk ` * :doc:`heat/flux ` * :doc:`heat/flux/tally ` + * :doc:`heat/flux/virial/tally ` * :doc:`hexorder/atom ` * :doc:`hma ` * :doc:`improper ` diff --git a/doc/src/compute.rst b/doc/src/compute.rst index c2b2b92aa1..93916d701d 100644 --- a/doc/src/compute.rst +++ b/doc/src/compute.rst @@ -208,7 +208,7 @@ The individual style names on the :doc:`Commands compute ` doc * :doc:`event/displace ` - detect event on atom displacement * :doc:`fabric ` - calculates fabric tensors from pair interactions * :doc:`fep ` - -* :doc:`force/tally ` - +* :doc:`force/tally ` - force between two groups of atoms via the tally callback mechanism * :doc:`fragment/atom ` - fragment ID for each atom * :doc:`global/atom ` - * :doc:`group/group ` - energy/force between two groups of atoms @@ -217,7 +217,8 @@ The individual style names on the :doc:`Commands compute ` doc * :doc:`gyration/shape ` - shape parameters from gyration tensor * :doc:`gyration/shape/chunk ` - shape parameters from gyration tensor for each chunk * :doc:`heat/flux ` - heat flux through a group of atoms -* :doc:`heat/flux/tally ` - +* :doc:`heat/flux/tally ` - heat flux through a group of atoms via the tally callback mechanism +* :doc:`heat/flux/virial/tally ` - virial heat flux between two groups via the tally callback mechanism * :doc:`hexorder/atom ` - bond orientational order parameter q6 * :doc:`hma ` - harmonically mapped averaging for atomic crystals * :doc:`improper ` - energy of each improper sub-style @@ -240,8 +241,8 @@ The individual style names on the :doc:`Commands compute ` doc * :doc:`pe ` - potential energy * :doc:`pe/atom ` - potential energy for each atom * :doc:`mesont ` - Nanotube bending,stretching, and intertube energies -* :doc:`pe/mol/tally ` - -* :doc:`pe/tally ` - +* :doc:`pe/mol/tally ` - potential energy between two groups of atoms seperated into intermolecular and intramolecular components via the tally callback mechanism +* :doc:`pe/tally ` - potential energy between two groups of atoms via the tally callback mechanism * :doc:`plasticity/atom ` - Peridynamic plasticity for each atom * :doc:`pressure ` - total pressure and pressure tensor * :doc:`pressure/cylinder ` - pressure tensor in cylindrical coordinates @@ -289,7 +290,7 @@ The individual style names on the :doc:`Commands compute ` doc * :doc:`stress/atom ` - stress tensor for each atom * :doc:`stress/mop ` - normal components of the local stress tensor using the method of planes * :doc:`stress/mop/profile ` - profile of the normal components of the local stress tensor using the method of planes -* :doc:`stress/tally ` - +* :doc:`stress/tally ` - stress between two groups of atoms via the tally callback mechanism * :doc:`tdpd/cc/atom ` - per-atom chemical concentration of a specified species for each tDPD particle * :doc:`temp ` - temperature of group of atoms * :doc:`temp/asphere ` - temperature of aspherical particles From 6fd1cda2a603407308e111e947a0c8b86458e4b5 Mon Sep 17 00:00:00 2001 From: Donatas Surblys Date: Tue, 20 Jul 2021 17:48:12 +0900 Subject: [PATCH 472/726] update documentaion for heat/flux/tally and heat/flux/virial/tally --- doc/src/compute_tally.rst | 96 +++++++++++++++++++++++++++++++++++++-- 1 file changed, 92 insertions(+), 4 deletions(-) diff --git a/doc/src/compute_tally.rst b/doc/src/compute_tally.rst index 32e3e31030..d2e4569820 100644 --- a/doc/src/compute_tally.rst +++ b/doc/src/compute_tally.rst @@ -1,5 +1,6 @@ .. index:: compute force/tally .. index:: compute heat/flux/tally +.. index:: compute heat/flux/virial/tally .. index:: compute pe/tally .. index:: compute pe/mol/tally .. index:: compute stress/tally @@ -10,6 +11,9 @@ compute force/tally command compute heat/flux/tally command =============================== +compute heat/flux/virial/tally command +====================================== + compute pe/tally command ======================== @@ -27,7 +31,7 @@ Syntax compute ID group-ID style group2-ID * ID, group-ID are documented in :doc:`compute ` command -* style = *force/tally* or *pe/tally* or *pe/mol/tally* or *stress/tally* +* style = *force/tally* or *heat/flux/tally* or *heat/flux/virial/tally* or * or *pe/tally* or *pe/mol/tally* or *stress/tally* * group2-ID = group ID of second (or same) group Examples @@ -38,13 +42,17 @@ Examples compute 1 lower force/tally upper compute 1 left pe/tally right compute 1 lower stress/tally lower + compute 1 subregion heat/flux/tally all + compute 1 liquid heat/flux/virial/tally solid Description """"""""""" Define a computation that calculates properties between two groups of -atoms by accumulating them from pairwise non-bonded computations. The -two groups can be the same. This is similar to :doc:`compute group/group ` only that the data is +atoms by accumulating them from pairwise non-bonded computations. +Except for *heat/flux/virial/tally*, the two groups can be the same. +This is similar to :doc:`compute group/group ` +only that the data is accumulated directly during the non-bonded force computation. The computes *force/tally*\ , *pe/tally*\ , *stress/tally*\ , and *heat/flux/tally* are primarily provided as example how to program @@ -57,6 +65,76 @@ the based classes of LAMMPS. ---------- +Compute *heat/flux/tally* obtains the heat flux +(strictly speaking, heat flow) inside the first group, +which is the sum of the convective contribution +due to atoms in the first group and the virial contribution +due to interaction between the first and second groups: + +.. math:: + + \mathbf{Q}= \sum_{i \in \text{group 1}} e_i \mathbf{v}_i + \frac{1}{2} \sum_{i \in \text{group 1}} \sum_{\substack{j \in \text{group 2} \\ j \neq i } } \left( \mathbf{F}_{ij} \cdot \mathbf{v}_j \right) \mathbf{r}_{ij} + +When the second group in *heat/flux/tally* is set to "all", +the resulting values will be identical +to that obtained by :doc:`compute heat/flux `, +provided only pairwise interactions exist. + +Compute *heat/flux/virial/tally* obtains the total virial heat flux +(strictly speaking, heat flow) into the first group due to interaction +with the second group, and is defined as: + +.. math:: + + Q = \frac{1}{2} \sum_{i \in \text{group 1}} \sum_{j \in \text{group 2}} \mathbf{F}_{ij} \cdot \left(\mathbf{v}_i + \mathbf{v}_j \right) + +Although, the *heat/flux/virial/tally* compute +does not include the convective term, +it can be used to obtain the total heat flux over control surfaces, +when there are no particles crossing over, +such as is often in solid-solid and solid-liquid interfaces. +This would be identical to the method of planes method. +Note that the *heat/flux/virial/tally* compute is distinctly different +from the *heat/flux* and *heat/flux/tally* computes, +that are essentially volume averaging methods. +The following example demonstrates the difference: + +.. code-block:: LAMMPS + + # System with only pairwise interactions. + # Non-periodic boundaries in the x direction. + # Has LeftLiquid and RightWall groups along x direction. + + # Heat flux over the solid-liquid interface + compute hflow_hfvt LeftLiquid heat/flux/virial/tally RightWall + variable hflux_hfvt equal c_hflow_hfvt/(ly*lz) + + # x component of approximate heat flux vector inside the liquid region, + # two approaches. + # + compute myKE all ke/atom + compute myPE all pe/atom + compute myStress all stress/atom NULL virial + compute hflow_hf LeftLiquid heat/flux myKE myPE myStress + variable hflux_hf equal c_hflow_hf[1]/${volLiq} + # + compute hflow_hft LeftLiquid heat/flux/tally all + variable hflux_hft equal c_hflow_hft[1]/${volLiq} + + # Pressure over the solid-liquid interface, three approaches. + # + compute force_gg RightWall group/group LeftLiquid + variable press_gg equal c_force_gg[1]/(ly*lz) + # + compute force_ft RightWall force/tally LeftLiquid + compute rforce_ft RightWall reduce sum c_force_ft[1] + variable press_ft equal c_rforce_ft/(ly*lz) + # + compute rforce_hfvt all reduce sum c_hflow_hfvt[1] + variable press_hfvt equal -c_rforce_hfvt/(ly*lz) + +---------- + The pairwise contributions are computing via a callback that the compute registers with the non-bonded pairwise force computation. This limits the use to systems that have no bonds, no Kspace, and no @@ -83,7 +161,17 @@ magnitude) and a per atom 3-element vector (force contribution from each atom). Compute *stress/tally* calculates a global scalar (average of the diagonal elements of the stress tensor) and a per atom vector (the 6 elements of stress tensor contributions from the -individual atom). +individual atom). As in :doc:`compute heat/flux `, +compute *heat/flux/tally* calculates a global vector of length 6, +where the first 3 components are the :math:`x`, :math:`y`, :math:`z` +components of the full heat flux vector, +and the next 3 components are the corresponding components +of just the convective portion of the flux, i.e. the +first term in the equation for :math:`\mathbf{Q}`. +Compute *heat/flux/virial/tally* calculates a global scalar (heat flow) +and a per atom 3-element vector +(contribution to the force acting over atoms in the first group +from individual atoms in both groups). Both the scalar and vector values calculated by this compute are "extensive". From 2a4b60d5970c1b11339d0c70e70544efdbf435f2 Mon Sep 17 00:00:00 2001 From: Donatas Surblys Date: Tue, 20 Jul 2021 18:03:11 +0900 Subject: [PATCH 473/726] in the output info section: flux -> flow --- doc/src/compute_tally.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/src/compute_tally.rst b/doc/src/compute_tally.rst index d2e4569820..81756dda7c 100644 --- a/doc/src/compute_tally.rst +++ b/doc/src/compute_tally.rst @@ -164,9 +164,9 @@ vector (the 6 elements of stress tensor contributions from the individual atom). As in :doc:`compute heat/flux `, compute *heat/flux/tally* calculates a global vector of length 6, where the first 3 components are the :math:`x`, :math:`y`, :math:`z` -components of the full heat flux vector, +components of the full heat flow vector, and the next 3 components are the corresponding components -of just the convective portion of the flux, i.e. the +of just the convective portion of the flow, i.e. the first term in the equation for :math:`\mathbf{Q}`. Compute *heat/flux/virial/tally* calculates a global scalar (heat flow) and a per atom 3-element vector From b6e749f7fc9192baa916976241ddb90531511a3f Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 20 Jul 2021 14:27:29 -0400 Subject: [PATCH 474/726] reformat with clang-format --- src/TALLY/compute_heat_flux_virial_tally.cpp | 99 +++++++++----------- 1 file changed, 46 insertions(+), 53 deletions(-) diff --git a/src/TALLY/compute_heat_flux_virial_tally.cpp b/src/TALLY/compute_heat_flux_virial_tally.cpp index 0ac3607da6..1a594c1b36 100644 --- a/src/TALLY/compute_heat_flux_virial_tally.cpp +++ b/src/TALLY/compute_heat_flux_virial_tally.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -14,28 +13,29 @@ #include "compute_heat_flux_virial_tally.h" -#include #include "atom.h" -#include "group.h" -#include "pair.h" -#include "update.h" -#include "memory.h" +#include "comm.h" #include "error.h" #include "force.h" -#include "comm.h" +#include "group.h" +#include "memory.h" +#include "pair.h" +#include "update.h" + +#include using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ ComputeHeatFluxVirialTally::ComputeHeatFluxVirialTally(LAMMPS *lmp, int narg, char **arg) : - Compute(lmp, narg, arg) + Compute(lmp, narg, arg) { - if (narg < 4) error->all(FLERR,"Illegal compute heat/flux/virial/tally command"); + if (narg < 4) error->all(FLERR, "Illegal compute heat/flux/virial/tally command"); igroup2 = group->find(arg[3]); if (igroup2 == -1) - error->all(FLERR,"Could not find compute heat/flux/virial/tally second group ID"); + error->all(FLERR, "Could not find compute heat/flux/virial/tally second group ID"); groupbit2 = group->bitmask[igroup2]; scalar_flag = 1; @@ -46,7 +46,7 @@ ComputeHeatFluxVirialTally::ComputeHeatFluxVirialTally(LAMMPS *lmp, int narg, ch comm_reverse = size_peratom_cols = 3; extscalar = 1; - peflag = 1; // we need Pair::ev_tally() to be run + peflag = 1; // we need Pair::ev_tally() to be run did_setup = invoked_peratom = invoked_scalar = -1; nmax = -1; @@ -66,29 +66,30 @@ ComputeHeatFluxVirialTally::~ComputeHeatFluxVirialTally() void ComputeHeatFluxVirialTally::init() { if (force->pair == nullptr) - error->all(FLERR,"Trying to use compute heat/flux/virial/tally without pair style"); + error->all(FLERR, "Trying to use compute heat/flux/virial/tally without pair style"); else force->pair->add_tally_callback(this); if (comm->me == 0) { if (force->pair->single_enable == 0 || force->pair->manybody_flag) - error->warning(FLERR,"Compute heat/flux/virial/tally used with incompatible pair style"); + error->warning(FLERR, "Compute heat/flux/virial/tally used with incompatible pair style"); - if (force->bond || force->angle || force->dihedral - || force->improper || force->kspace) - error->warning(FLERR,"Compute heat/flux/virial/tally only called from pair style"); + if (force->bond || force->angle || force->dihedral || force->improper || force->kspace) + error->warning(FLERR, "Compute heat/flux/virial/tally only called from pair style"); } // error out if any atoms are in both groups - for (int i = 0; i < atom->nlocal; i++) - { + for (int i = 0; i < atom->nlocal; i++) { if ((atom->mask[i] & groupbit) && (atom->mask[i] & groupbit2)) { if (atom->tag_enable) { - error->all(FLERR,"Atom {} belonging to both groups is not allowed" - " with compute heat/flux/virial/tally", atom->tag[i]); + error->all(FLERR, + "Atom {} belonging to both groups is not allowed" + " with compute heat/flux/virial/tally", + atom->tag[i]); } else { - error->all(FLERR,"Atom belonging to both groups is not allowed" - " with compute heat/flux/virial/tally"); + error->all(FLERR, + "Atom belonging to both groups is not allowed" + " with compute heat/flux/virial/tally"); } } } @@ -112,34 +113,32 @@ void ComputeHeatFluxVirialTally::pair_setup_callback(int, int) if (atom->nmax > nmax) { memory->destroy(fatom); nmax = atom->nmax; - memory->create(fatom,nmax,size_peratom_cols,"heat/flux/virial/tally:fatom"); + memory->create(fatom, nmax, size_peratom_cols, "heat/flux/virial/tally:fatom"); array_atom = fatom; } // clear storage - for (int i=0; i < ntotal; ++i) - for (int j=0; j < size_peratom_cols; ++j) - fatom[i][j] = 0.0; + for (int i = 0; i < ntotal; ++i) + for (int j = 0; j < size_peratom_cols; ++j) fatom[i][j] = 0.0; did_setup = update->ntimestep; } /* ---------------------------------------------------------------------- */ -void ComputeHeatFluxVirialTally::pair_tally_callback(int i, int j, int nlocal, int newton, - double, double, double fpair, - double dx, double dy, double dz) +void ComputeHeatFluxVirialTally::pair_tally_callback(int i, int j, int nlocal, int newton, double, + double, double fpair, double dx, double dy, + double dz) { - const int * const mask = atom->mask; + const int *const mask = atom->mask; const bool ingroup1 = (mask[i] & groupbit); - if ( (ingroup1 && (mask[j] & groupbit2)) - || ((mask[i] & groupbit2) && (mask[j] & groupbit)) ) { + if ((ingroup1 && (mask[j] & groupbit2)) || ((mask[i] & groupbit2) && (mask[j] & groupbit))) { // signs set to calculate heat flux from group2 into group1 - const double fx = (ingroup1?0.5:-0.5)*dx*fpair; - const double fy = (ingroup1?0.5:-0.5)*dy*fpair; - const double fz = (ingroup1?0.5:-0.5)*dz*fpair; + const double fx = (ingroup1 ? 0.5 : -0.5) * dx * fpair; + const double fy = (ingroup1 ? 0.5 : -0.5) * dy * fpair; + const double fz = (ingroup1 ? 0.5 : -0.5) * dz * fpair; if (newton || i < nlocal) { fatom[i][0] += fx; @@ -158,7 +157,7 @@ void ComputeHeatFluxVirialTally::pair_tally_callback(int i, int j, int nlocal, i int ComputeHeatFluxVirialTally::pack_reverse_comm(int n, int first, double *buf) { - int i,m,last; + int i, m, last; m = 0; last = first + n; @@ -174,7 +173,7 @@ int ComputeHeatFluxVirialTally::pack_reverse_comm(int n, int first, double *buf) void ComputeHeatFluxVirialTally::unpack_reverse_comm(int n, int *list, double *buf) { - int i,j,m; + int i, j, m; m = 0; for (i = 0; i < n; i++) { @@ -191,22 +190,19 @@ double ComputeHeatFluxVirialTally::compute_scalar() { // need to collect contributions from ghost atoms // because we need to use local velocities to compute heat flux - if (invoked_peratom != update->ntimestep) - compute_peratom(); + if (invoked_peratom != update->ntimestep) compute_peratom(); invoked_scalar = update->ntimestep; - if ((did_setup != invoked_scalar) - || (update->eflag_global != invoked_scalar)) - error->all(FLERR,"Energy was not tallied on needed timestep"); + if ((did_setup != invoked_scalar) || (update->eflag_global != invoked_scalar)) + error->all(FLERR, "Energy was not tallied on needed timestep"); // sum heat flux across procs double hflux = 0.0; for (int i = 0; i < atom->nlocal; i++) - hflux += fatom[i][0]*atom->v[i][0] - + fatom[i][1]*atom->v[i][1] - + fatom[i][2]*atom->v[i][2]; + hflux += + fatom[i][0] * atom->v[i][0] + fatom[i][1] * atom->v[i][1] + fatom[i][2] * atom->v[i][2]; - MPI_Allreduce(&hflux,&scalar,1,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(&hflux, &scalar, 1, MPI_DOUBLE, MPI_SUM, world); return scalar; } @@ -216,9 +212,8 @@ double ComputeHeatFluxVirialTally::compute_scalar() void ComputeHeatFluxVirialTally::compute_peratom() { invoked_peratom = update->ntimestep; - if ((did_setup != invoked_peratom) - || (update->eflag_global != invoked_peratom)) - error->all(FLERR,"Energy was not tallied on needed timestep"); + if ((did_setup != invoked_peratom) || (update->eflag_global != invoked_peratom)) + error->all(FLERR, "Energy was not tallied on needed timestep"); // collect contributions from ghost atoms @@ -228,8 +223,7 @@ void ComputeHeatFluxVirialTally::compute_peratom() // clear out ghost atom data after it has been collected to local atoms const int nall = atom->nlocal + atom->nghost; for (int i = atom->nlocal; i < nall; ++i) - for (int j = 0; j < size_peratom_cols; ++j) - fatom[i][j] = 0.0; + for (int j = 0; j < size_peratom_cols; ++j) fatom[i][j] = 0.0; } } @@ -239,7 +233,6 @@ void ComputeHeatFluxVirialTally::compute_peratom() double ComputeHeatFluxVirialTally::memory_usage() { - double bytes = (nmax < 0) ? 0 : nmax*size_peratom_cols * sizeof(double); + double bytes = (nmax < 0) ? 0 : nmax * size_peratom_cols * sizeof(double); return bytes; } - From eeea5660937edef190509d45eb30822dc2e9eb9a Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 20 Jul 2021 14:32:30 -0400 Subject: [PATCH 475/726] correct typo --- doc/src/compute.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/compute.rst b/doc/src/compute.rst index 93916d701d..7a89c6cc87 100644 --- a/doc/src/compute.rst +++ b/doc/src/compute.rst @@ -241,7 +241,7 @@ The individual style names on the :doc:`Commands compute ` doc * :doc:`pe ` - potential energy * :doc:`pe/atom ` - potential energy for each atom * :doc:`mesont ` - Nanotube bending,stretching, and intertube energies -* :doc:`pe/mol/tally ` - potential energy between two groups of atoms seperated into intermolecular and intramolecular components via the tally callback mechanism +* :doc:`pe/mol/tally ` - potential energy between two groups of atoms separated into intermolecular and intramolecular components via the tally callback mechanism * :doc:`pe/tally ` - potential energy between two groups of atoms via the tally callback mechanism * :doc:`plasticity/atom ` - Peridynamic plasticity for each atom * :doc:`pressure ` - total pressure and pressure tensor From d8ca3e4b167dc6a9830ec1960b8ea69dbee5c367 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 20 Jul 2021 15:30:28 -0400 Subject: [PATCH 476/726] add support for automatically downloading and building libquip --- cmake/Modules/Packages/ML-QUIP.cmake | 70 ++++++++++++++++++++- doc/src/Build_extras.rst | 51 ++++++++------- doc/utils/sphinx-config/false_positives.txt | 1 + 3 files changed, 96 insertions(+), 26 deletions(-) diff --git a/cmake/Modules/Packages/ML-QUIP.cmake b/cmake/Modules/Packages/ML-QUIP.cmake index 790f27def7..ef7a75b422 100644 --- a/cmake/Modules/Packages/ML-QUIP.cmake +++ b/cmake/Modules/Packages/ML-QUIP.cmake @@ -1,3 +1,69 @@ enable_language(Fortran) -find_package(QUIP REQUIRED) -target_link_libraries(lammps PRIVATE QUIP::QUIP ${LAPACK_LIBRARIES}) +find_package(QUIP QUIET) + +if(QUIP_FOUND) + set(DOWNLOAD_QUIP_DEFAULT OFF) +else() + set(DOWNLOAD_QUIP_DEFAULT ON) +endif() +option(DOWNLOAD_QUIP "Download the QUIP library instead of using an already installed one" ${DOWNLOAD_QUIP_DEFAULT}) +if(DOWNLOAD_QUIP) + string(TOUPPER "${CMAKE_BUILD_TYPE}" BTYPE) + set(temp "F77 = ${CMAKE_Fortran_COMPILER}\nF90 = ${CMAKE_Fortran_COMPILER}\nF95 = ${CMAKE_Fortran_COMPILER}\n") + set(temp "${temp}CC=${CMAKE_C_COMPILER}\nCPLUSPLUS=${CMAKE_CXX_COMPILER}\nLINKER=${CMAKE_Fortran_COMPILER}\n") + if(CMAKE_Fortran_COMPILER_ID STREQUAL Intel) + set(temp "${temp}FPP=${CMAKE_Fortran_COMPILER} -E\nOPTIM=${CMAKE_Fortran_FLAGS_${BTYPE}}\n") + set(temp "${temp}DEFINES += -DGETARG_F2003 -DFORTRAN_UNDERSCORE\n") + set(temp "${temp}F95FLAGS += -fpp -free -fPIC\n") + set(temp "${temp}F77FLAGS += -fpp -fixed -fPIC\n") + elseif(CMAKE_Fortran_COMPILER_ID STREQUAL GNU) + set(temp "${temp}FPP=${CMAKE_Fortran_COMPILER} -E -x f95-cpp-input\nOPTIM=${CMAKE_Fortran_FLAGS_${BTYPE}}\n") + set(temp "${temp}DEFINES += -DGETARG_F2003 -DGETENV_F2003 -DGFORTRAN -DFORTRAN_UNDERSCORE\n") + set(temp "${temp}F95FLAGS += -x f95-cpp-input -ffree-line-length-none -ffree-form -fno-second-underscore -fPIC\n") + set(temp "${temp}F77FLAGS += -x f77-cpp-input -fno-second-underscore -fPIC\n") + else() + message(FATAL_ERROR "The ${CMAKE_Fortran_COMPILER_ID} Fortran compiler is not (yet) supported for building QUIP") + endif() + set(temp "${temp}CFLAGS += -fPIC \nCPLUSPLUSFLAGS += -fPIC\nAR_ADD=src\n") + set(temp "${temp}MATH_LINKOPTS=") + foreach(flag ${BLAS_LIBRARIES}) + set(temp "${temp} ${flag}") + endforeach() + foreach(flag ${LAPACK_LIBRARIES}) + set(temp "${temp} ${flag}") + endforeach() + set(temp "${temp}\n") + set(temp "${temp}PYTHON=python\nPIP=pip\nEXTRA_LINKOPTS=\n") + set(temp "${temp}HAVE_CP2K=0\nHAVE_VASP=0\nHAVE_TB=0\nHAVE_PRECON=1\nHAVE_LOTF=0\nHAVE_ONIOM=0\n") + set(temp "${temp}HAVE_LOCAL_E_MIX=0\nHAVE_QC=0\nHAVE_GAP=1\nHAVE_DESCRIPTORS_NONCOMMERCIAL=1\n") + set(temp "${temp}HAVE_TURBOGAP=0\nHAVE_QR=1\nHAVE_THIRDPARTY=0\nHAVE_FX=0\nHAVE_SCME=0\nHAVE_MTP=0\n") + set(temp "${temp}HAVE_MBD=0\nHAVE_TTM_NF=0\nHAVE_CH4=0\nHAVE_NETCDF4=0\nHAVE_MDCORE=0\nHAVE_ASAP=0\n") + set(temp "${temp}HAVE_CGAL=0\nHAVE_METIS=0\nHAVE_LMTO_TBE=0\n") + file(WRITE ${CMAKE_BINARY_DIR}/quip.config "${temp}") + + message(STATUS "QUIP download via git requested - we will build our own") + # QUIP has no releases (except for a tag marking the end of Python 2 support). We use the current "public" branch + # The LAMMPS interface wrapper has a compatibility constant that is being checked at runtime. + include(ExternalProject) + ExternalProject_Add(quip_build + GIT_REPOSITORY "https://github.com/libAtoms/QUIP/" + GIT_TAG origin/public + GIT_SHALLOW YES + GIT_PROGRESS YES + PATCH_COMMAND cp ${CMAKE_BINARY_DIR}/quip.config /arch/Makefile.lammps + CONFIGURE_COMMAND env QUIP_ARCH=lammps make config + BUILD_COMMAND env QUIP_ARCH=lammps make libquip + BUILD_IN_SOURCE YES + BUILD_BYPRODUCTS /build/lammps/libquip.a + ) + ExternalProject_get_property(quip_build SOURCE_DIR) + add_library(LAMMPS::QUIP UNKNOWN IMPORTED) + set_target_properties(LAMMPS::QUIP PROPERTIES + IMPORTED_LOCATION "${SOURCE_DIR}/build/lammps/libquip.a" + INTERFACE_LINK_LIBRARIES "${LAPACK_LIBRARIES}") + target_link_libraries(lammps PRIVATE LAMMPS::QUIP) + add_dependencies(LAMMPS::QUIP quip_build) +else() + find_package(QUIP REQUIRED) + target_link_libraries(lammps PRIVATE QUIP::QUIP ${LAPACK_LIBRARIES}) +endif() diff --git a/doc/src/Build_extras.rst b/doc/src/Build_extras.rst index 7c6bb7a878..2157fe86c8 100644 --- a/doc/src/Build_extras.rst +++ b/doc/src/Build_extras.rst @@ -31,36 +31,36 @@ This is the list of packages that may require additional steps. .. table_from_list:: :columns: 6 - * :ref:`COMPRESS ` - * :ref:`GPU ` - * :ref:`KIM ` - * :ref:`KOKKOS ` - * :ref:`LATTE ` - * :ref:`MESSAGE ` - * :ref:`ML-IAP ` - * :ref:`MSCG ` - * :ref:`OPT ` - * :ref:`POEMS ` - * :ref:`PYTHON ` - * :ref:`VORONOI ` * :ref:`ADIOS ` * :ref:`ATC ` * :ref:`AWPMD ` * :ref:`COLVARS ` + * :ref:`COMPRESS ` + * :ref:`GPU ` * :ref:`H5MD ` - * :ref:`ML-HDNNP ` * :ref:`INTEL ` + * :ref:`KIM ` + * :ref:`KOKKOS ` + * :ref:`LATTE ` + * :ref:`MACHDYN ` * :ref:`MDI ` * :ref:`MESONT ` - * :ref:`MOLFILE ` - * :ref:`NETCDF ` + * :ref:`MESSAGE ` + * :ref:`ML-HDNNP ` + * :ref:`ML-IAP ` * :ref:`ML-PACE ` - * :ref:`PLUMED ` - * :ref:`OPENMP ` - * :ref:`QMMM ` * :ref:`ML-QUIP ` + * :ref:`MOLFILE ` + * :ref:`MSCG ` + * :ref:`NETCDF ` + * :ref:`OPENMP ` + * :ref:`OPT ` + * :ref:`PLUMED ` + * :ref:`POEMS ` + * :ref:`PYTHON ` + * :ref:`QMMM ` * :ref:`SCAFACOS ` - * :ref:`MACHDYN ` + * :ref:`VORONOI ` * :ref:`VTK ` ---------- @@ -1857,8 +1857,8 @@ ML-QUIP package To build with this package, you must download and build the QUIP library. It can be obtained from GitHub. For support of GAP potentials, additional files with specific licensing conditions need -to be downloaded and configured. See step 1 and step 1.1 in the -``lib/quip/README`` file for details on how to do this. +to be downloaded and configured. The automatic download will from +within CMake will download the non-commercial use version. .. tabs:: @@ -1866,11 +1866,14 @@ to be downloaded and configured. See step 1 and step 1.1 in the .. code-block:: bash + -D DOWNLOAD_QUIP=value # download OpenKIM API v2 for build, value = no (default) or yes -D QUIP_LIBRARY=path # path to libquip.a (only needed if a custom location) - CMake will **not** download and build the QUIP library. But once you have - done that, a CMake build of LAMMPS with ``-D PKG_ML-QUIP=yes`` should - work. Set the ``QUIP_LIBRARY`` variable if CMake cannot find the QUIP library. + CMake will try to download and build the QUIP library from GitHub, if it is not + found on the local machine. This requires to have git installed. It will use the same compilers + and flags as used for compiling LAMMPS. Currently this is only supported for the GNU and the + Intel compilers. Set the ``QUIP_LIBRARY`` variable if you want to use a previously compiled + and installed QUIP library and CMake cannot find it. .. tab:: Traditional make diff --git a/doc/utils/sphinx-config/false_positives.txt b/doc/utils/sphinx-config/false_positives.txt index 846e08f501..45728b5caf 100644 --- a/doc/utils/sphinx-config/false_positives.txt +++ b/doc/utils/sphinx-config/false_positives.txt @@ -1132,6 +1132,7 @@ Germano gerolf Gerolf Gershgorin +getter gettimeofday gewald Gezelter From acfe59034360451c2d3e3a79e236449c8162ada0 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 20 Jul 2021 16:03:33 -0400 Subject: [PATCH 477/726] whitespace --- src/INTEL/intel_intrinsics.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/INTEL/intel_intrinsics.h b/src/INTEL/intel_intrinsics.h index 295310283d..7cb20b391c 100644 --- a/src/INTEL/intel_intrinsics.h +++ b/src/INTEL/intel_intrinsics.h @@ -384,7 +384,7 @@ struct vector_ops { *r3 = gather<4>(*r3, mask, idxs, reinterpret_cast(base) + 12); } // Additional routines needed for the implementation of mixed precision - static fvec cvtdown(const vector_ops::fvec &lo, + static fvec cvtdown(const vector_ops::fvec &lo, const vector_ops::fvec &hi) { __m512 t1 = _mm512_cvtpd_pslo(lo); __m512 t2 = _mm512_cvtpd_pslo(hi); From c19d37990d6afdfe1d47ea3267a85b13a85a7eec Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 20 Jul 2021 18:31:52 -0400 Subject: [PATCH 478/726] reformat with clang-format --- src/potential_file_reader.cpp | 93 ++++++++++++++++++----------------- src/text_file_reader.cpp | 45 ++++++++--------- 2 files changed, 71 insertions(+), 67 deletions(-) diff --git a/src/potential_file_reader.cpp b/src/potential_file_reader.cpp index c1fa157ef9..bb723d0e82 100644 --- a/src/potential_file_reader.cpp +++ b/src/potential_file_reader.cpp @@ -1,4 +1,3 @@ -// clang-format off /* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -45,26 +44,20 @@ using namespace LAMMPS_NS; * \param auto_convert Bitmask of supported unit conversions */ -PotentialFileReader::PotentialFileReader(LAMMPS *lmp, - const std::string &filename, +PotentialFileReader::PotentialFileReader(LAMMPS *lmp, const std::string &filename, const std::string &potential_name, - const std::string &name_suffix, - const int auto_convert) : - Pointers(lmp), - reader(nullptr), - filename(filename), - filetype(potential_name + name_suffix), - unit_convert(auto_convert) + const std::string &name_suffix, const int auto_convert) : + Pointers(lmp), + reader(nullptr), filename(filename), filetype(potential_name + name_suffix), + unit_convert(auto_convert) { - if (comm->me != 0) { - error->one(FLERR, "FileReader should only be called by proc 0!"); - } + if (comm->me != 0) { error->one(FLERR, "FileReader should only be called by proc 0!"); } try { reader = open_potential(filename); if (!reader) { - error->one(FLERR, "cannot open {} potential file {}: {}", - potential_name, filename, utils::getsyserror()); + error->one(FLERR, "cannot open {} potential file {}: {}", potential_name, filename, + utils::getsyserror()); } } catch (FileReaderException &e) { error->one(FLERR, e.what()); @@ -77,30 +70,32 @@ PotentialFileReader::PotentialFileReader(LAMMPS *lmp, * \param potential_name Name of potential style for error messages * \param auto_convert Bitmask of supported unit conversions */ -PotentialFileReader::PotentialFileReader(LAMMPS *lmp, - const std::string &filename, +PotentialFileReader::PotentialFileReader(LAMMPS *lmp, const std::string &filename, const std::string &potential_name, const int auto_convert) : - PotentialFileReader(lmp, filename, potential_name, " potential", auto_convert) + PotentialFileReader(lmp, filename, potential_name, " potential", auto_convert) { } /** Closes the file */ -PotentialFileReader::~PotentialFileReader() { +PotentialFileReader::~PotentialFileReader() +{ delete reader; } /** Set comment (= text after '#') handling preference for the file to be read * * \param value Comment text is ignored if true, or not if false */ -void PotentialFileReader::ignore_comments(bool value) { +void PotentialFileReader::ignore_comments(bool value) +{ reader->ignore_comments = value; } /** Read a line but ignore its content */ -void PotentialFileReader::skip_line() { +void PotentialFileReader::skip_line() +{ try { reader->skip_line(); } catch (FileReaderException &e) { @@ -119,7 +114,8 @@ void PotentialFileReader::skip_line() { * \param nparams Number of words that must be read. Default: 0 * \return String with the concatenated text */ -char *PotentialFileReader::next_line(int nparams) { +char *PotentialFileReader::next_line(int nparams) +{ try { return reader->next_line(nparams); } catch (FileReaderException &e) { @@ -137,7 +133,8 @@ char *PotentialFileReader::next_line(int nparams) { * \param list Pointer to array with suitable storage for *n* doubles * \param n Number of doubles to be read */ -void PotentialFileReader::next_dvector(double * list, int n) { +void PotentialFileReader::next_dvector(double *list, int n) +{ try { return reader->next_dvector(list, n); } catch (FileReaderException &e) { @@ -155,7 +152,8 @@ void PotentialFileReader::next_dvector(double * list, int n) { * \param separators String with list of separators. * \return ValueTokenizer object for read in text */ -ValueTokenizer PotentialFileReader::next_values(int nparams, const std::string &separators) { +ValueTokenizer PotentialFileReader::next_values(int nparams, const std::string &separators) +{ try { return reader->next_values(nparams, separators); } catch (FileReaderException &e) { @@ -168,9 +166,10 @@ ValueTokenizer PotentialFileReader::next_values(int nparams, const std::string & * * \return Value of first word in line as double */ -double PotentialFileReader::next_double() { +double PotentialFileReader::next_double() +{ try { - char * line = reader->next_line(1); + char *line = reader->next_line(1); return ValueTokenizer(line).next_double(); } catch (FileReaderException &e) { error->one(FLERR, e.what()); @@ -182,9 +181,10 @@ double PotentialFileReader::next_double() { * * \return Value of first word in line as int */ -int PotentialFileReader::next_int() { +int PotentialFileReader::next_int() +{ try { - char * line = reader->next_line(1); + char *line = reader->next_line(1); return ValueTokenizer(line).next_int(); } catch (FileReaderException &e) { error->one(FLERR, e.what()); @@ -196,9 +196,10 @@ int PotentialFileReader::next_int() { * * \return Value of first word in line as tagint */ -tagint PotentialFileReader::next_tagint() { +tagint PotentialFileReader::next_tagint() +{ try { - char * line = reader->next_line(1); + char *line = reader->next_line(1); return ValueTokenizer(line).next_tagint(); } catch (FileReaderException &e) { error->one(FLERR, e.what()); @@ -210,9 +211,10 @@ tagint PotentialFileReader::next_tagint() { * * \return Value of first word in line as bigint */ -bigint PotentialFileReader::next_bigint() { +bigint PotentialFileReader::next_bigint() +{ try { - char * line = reader->next_line(1); + char *line = reader->next_line(1); return ValueTokenizer(line).next_bigint(); } catch (FileReaderException &e) { error->one(FLERR, e.what()); @@ -224,9 +226,10 @@ bigint PotentialFileReader::next_bigint() { * * \return First word of read in line */ -std::string PotentialFileReader::next_string() { +std::string PotentialFileReader::next_string() +{ try { - char * line = reader->next_line(1); + char *line = reader->next_line(1); return ValueTokenizer(line).next_string(); } catch (FileReaderException &e) { error->one(FLERR, e.what()); @@ -246,17 +249,17 @@ std::string PotentialFileReader::next_string() { * \param path Path of the potential file to open * \return Pointer to TextFileReader object created */ -TextFileReader *PotentialFileReader::open_potential(const std::string &path) { +TextFileReader *PotentialFileReader::open_potential(const std::string &path) +{ std::string filepath = utils::get_potential_file_path(path); if (!filepath.empty()) { std::string unit_style = lmp->update->unit_style; - std::string date = utils::get_potential_date(filepath, filetype); - std::string units = utils::get_potential_units(filepath, filetype); + std::string date = utils::get_potential_date(filepath, filetype); + std::string units = utils::get_potential_units(filepath, filetype); if (!date.empty()) - utils::logmesg(lmp,"Reading {} file {} with DATE: {}\n", - filetype, filename, date); + utils::logmesg(lmp, "Reading {} file {} with DATE: {}\n", filetype, filename, date); if (units.empty()) { unit_convert = utils::NOCONVERT; @@ -266,18 +269,18 @@ TextFileReader *PotentialFileReader::open_potential(const std::string &path) { } else { if ((units == "metal") && (unit_style == "real") && (unit_convert & utils::METAL2REAL)) { unit_convert = utils::METAL2REAL; - } else if ((units == "real") && (unit_style == "metal") && (unit_convert & utils::REAL2METAL)) { + } else if ((units == "real") && (unit_style == "metal") && + (unit_convert & utils::REAL2METAL)) { unit_convert = utils::REAL2METAL; } else { - lmp->error->one(FLERR, "{} file {} requires {} units " - "but {} units are in use", filetype, - filename, units, unit_style); + lmp->error->one(FLERR, "{} file {} requires {} units but {} units are in use", filetype, + filename, units, unit_style); } } } if (unit_convert != utils::NOCONVERT) - lmp->error->warning(FLERR, "Converting {} in {} units to {} units", - filetype, units, unit_style); + lmp->error->warning(FLERR, "Converting {} in {} units to {} units", filetype, units, + unit_style); return new TextFileReader(filepath, filetype); } return nullptr; diff --git a/src/text_file_reader.cpp b/src/text_file_reader.cpp index d4847c67ee..926dedcf80 100644 --- a/src/text_file_reader.cpp +++ b/src/text_file_reader.cpp @@ -1,4 +1,3 @@ -// clang-format off /* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -41,14 +40,14 @@ using namespace LAMMPS_NS; * \param filename Name of file to be read * \param filetype Description of file type for error messages */ -TextFileReader::TextFileReader(const std::string &filename, const std::string &filetype) - : filetype(filetype), closefp(true), ignore_comments(true) +TextFileReader::TextFileReader(const std::string &filename, const std::string &filetype) : + filetype(filetype), closefp(true), ignore_comments(true) { fp = fopen(filename.c_str(), "r"); if (fp == nullptr) { - throw FileReaderException(fmt::format("cannot open {} file {}: {}", - filetype, filename, utils::getsyserror())); + throw FileReaderException( + fmt::format("cannot open {} file {}: {}", filetype, filename, utils::getsyserror())); } } @@ -69,21 +68,23 @@ This function is useful in combination with :cpp:func:`utils::open_potential`. * \param fp File descriptor of the already opened file * \param filetype Description of file type for error messages */ -TextFileReader::TextFileReader(FILE *fp, const std::string &filetype) - : filetype(filetype), closefp(false), fp(fp), ignore_comments(true) +TextFileReader::TextFileReader(FILE *fp, const std::string &filetype) : + filetype(filetype), closefp(false), fp(fp), ignore_comments(true) { if (fp == nullptr) throw FileReaderException("Invalid file descriptor"); } /** Closes the file */ -TextFileReader::~TextFileReader() { +TextFileReader::~TextFileReader() +{ if (closefp) fclose(fp); } /** Read the next line and ignore it */ -void TextFileReader::skip_line() { +void TextFileReader::skip_line() +{ char *ptr = fgets(line, MAXLINE, fp); if (ptr == nullptr) { // EOF @@ -105,7 +106,8 @@ void TextFileReader::skip_line() { * \param nparams Number of words that must be read. Default: 0 * \return String with the concatenated text */ -char *TextFileReader::next_line(int nparams) { +char *TextFileReader::next_line(int nparams) +{ // concatenate lines until have nparams words int n = 0; int nwords = 0; @@ -129,7 +131,8 @@ char *TextFileReader::next_line(int nparams) { if (ptr == nullptr) { // EOF if (nwords > 0 && nwords < nparams) { - throw EOFException(fmt::format("Incorrect format in {} file! {}/{} parameters", filetype, nwords, nparams)); + throw EOFException(fmt::format("Incorrect format in {} file! {}/{} parameters", filetype, + nwords, nparams)); } return nullptr; } @@ -140,9 +143,7 @@ char *TextFileReader::next_line(int nparams) { nwords += utils::count_words(&line[n]); // skip line if blank - if (nwords > 0) { - n = strlen(line); - } + if (nwords > 0) { n = strlen(line); } } return line; @@ -157,7 +158,8 @@ char *TextFileReader::next_line(int nparams) { * \param list Pointer to array with suitable storage for *n* doubles * \param n Number of doubles to be read */ -void TextFileReader::next_dvector(double * list, int n) { +void TextFileReader::next_dvector(double *list, int n) +{ int i = 0; while (i < n) { char *ptr = next_line(); @@ -165,14 +167,13 @@ void TextFileReader::next_dvector(double * list, int n) { if (ptr == nullptr) { // EOF if (i < n) { - throw FileReaderException(fmt::format("Incorrect format in {} file! {}/{} values", filetype, i, n)); + throw FileReaderException( + fmt::format("Incorrect format in {} file! {}/{} values", filetype, i, n)); } } ValueTokenizer values(line); - while (values.has_next()) { - list[i++] = values.next_double(); - } + while (values.has_next()) { list[i++] = values.next_double(); } } } @@ -186,9 +187,9 @@ void TextFileReader::next_dvector(double * list, int n) { * \param separators String with list of separators. * \return ValueTokenizer object for read in text */ -ValueTokenizer TextFileReader::next_values(int nparams, const std::string &separators) { +ValueTokenizer TextFileReader::next_values(int nparams, const std::string &separators) +{ char *ptr = next_line(nparams); - if (ptr == nullptr) - throw EOFException(fmt::format("Missing line in {} file!", filetype)); + if (ptr == nullptr) throw EOFException(fmt::format("Missing line in {} file!", filetype)); return ValueTokenizer(line, separators); } From 600b0d34cac243731c43d5256f13c1f9a6f2f0b4 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 20 Jul 2021 19:31:04 -0400 Subject: [PATCH 479/726] disable install command for build libquip.a (not needed) --- cmake/Modules/Packages/ML-QUIP.cmake | 1 + 1 file changed, 1 insertion(+) diff --git a/cmake/Modules/Packages/ML-QUIP.cmake b/cmake/Modules/Packages/ML-QUIP.cmake index ef7a75b422..ff9c7b3a7c 100644 --- a/cmake/Modules/Packages/ML-QUIP.cmake +++ b/cmake/Modules/Packages/ML-QUIP.cmake @@ -53,6 +53,7 @@ if(DOWNLOAD_QUIP) PATCH_COMMAND cp ${CMAKE_BINARY_DIR}/quip.config /arch/Makefile.lammps CONFIGURE_COMMAND env QUIP_ARCH=lammps make config BUILD_COMMAND env QUIP_ARCH=lammps make libquip + INSTALL_COMMAND "" BUILD_IN_SOURCE YES BUILD_BYPRODUCTS /build/lammps/libquip.a ) From 8a4820a0335770ee26306f267fe0aa0540b0b649 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 20 Jul 2021 19:31:52 -0400 Subject: [PATCH 480/726] add data/units comments to example quip potential files --- examples/PACKAGES/quip/gap_example.xml | 1 + examples/PACKAGES/quip/sw_example.xml | 1 + 2 files changed, 2 insertions(+) diff --git a/examples/PACKAGES/quip/gap_example.xml b/examples/PACKAGES/quip/gap_example.xml index baf9e32bb7..b286925e20 100644 --- a/examples/PACKAGES/quip/gap_example.xml +++ b/examples/PACKAGES/quip/gap_example.xml @@ -1,3 +1,4 @@ + diff --git a/examples/PACKAGES/quip/sw_example.xml b/examples/PACKAGES/quip/sw_example.xml index 8a28a7cd7e..14b829ac34 100644 --- a/examples/PACKAGES/quip/sw_example.xml +++ b/examples/PACKAGES/quip/sw_example.xml @@ -1,3 +1,4 @@ + Stillinger and Weber, Phys. Rev. B 31 p 5262 (1984), extended for other elements. Ge and Si-Ge from Ethier and Lewis '92 From 03f6244fefe55aff2e26630a90a816bf001575c9 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 20 Jul 2021 19:34:06 -0400 Subject: [PATCH 481/726] add quip SW potential file and corresponding unit test --- potentials/SiGeH.sw.quip | 47 ++++++ .../tests/manybody-pair-quip-sw.yaml | 156 ++++++++++++++++++ 2 files changed, 203 insertions(+) create mode 100644 potentials/SiGeH.sw.quip create mode 100644 unittest/force-styles/tests/manybody-pair-quip-sw.yaml diff --git a/potentials/SiGeH.sw.quip b/potentials/SiGeH.sw.quip new file mode 100644 index 0000000000..d6cd5c7688 --- /dev/null +++ b/potentials/SiGeH.sw.quip @@ -0,0 +1,47 @@ + + + UNITS: metal DATE: 2015-02-24 CITATION: Stillinger and Weber, Phys. Rev. B 31 p 5262 (1984), extended for other elements. Ge and Si-Ge from Ethier and Lewis '92 + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/unittest/force-styles/tests/manybody-pair-quip-sw.yaml b/unittest/force-styles/tests/manybody-pair-quip-sw.yaml new file mode 100644 index 0000000000..6e7b830f32 --- /dev/null +++ b/unittest/force-styles/tests/manybody-pair-quip-sw.yaml @@ -0,0 +1,156 @@ +--- +lammps_version: 2 Jul 2021 +date_generated: Tue Jul 20 18:41:14 2021 +epsilon: 1e-14 +skip_tests: +prerequisites: ! | + pair quip +pre_commands: ! | + variable newton_pair delete + if "$(is_active(package,gpu)) > 0.0" then "variable newton_pair index off" else "variable newton_pair index on" +post_commands: ! "" +input_file: in.manybody +pair_style: quip +pair_coeff: ! | + * * SiGeH.sw.quip "IP SW" 14 14 14 14 32 32 32 1 +extract: ! "" +natoms: 64 +init_vdwl: -204.71229969499666 +init_coul: 0 +init_stress: ! |- + -1.9202136915068479e+01 -2.1732084236971119e+01 -1.5947889698407733e+01 -2.0344103901124697e+01 2.6514974031811064e+01 -8.5740563839910671e+00 +init_forces: ! |2 + 1 -3.1398120429968843e+00 1.1479118543272815e-01 4.4029232899434447e+00 + 2 -2.4013425984394781e+00 -8.0045142939468639e-01 -2.3304126374829930e+00 + 3 2.8996256403796674e+00 -1.4367350741481417e+00 -2.7262391153343639e+00 + 4 2.4496181147153306e-01 4.9891513507434784e+00 2.3504479592901077e+00 + 5 -2.3980857587673210e+00 -6.7622085666226261e-01 6.8137101893805146e-02 + 6 4.6821912920808051e-01 3.9951732507027984e+00 1.5643037182150081e+00 + 7 -9.4604203933551068e-01 -5.8149732646868713e-01 3.9506279698536275e+00 + 8 -7.5928262738478747e-02 -3.9501080618864370e-02 -4.2125043655097949e-03 + 9 -2.1807677683837654e+00 -5.5987007076050173e+00 -3.4054390475173557e-01 + 10 -2.2651521420567846e+00 3.1252890565499120e-01 -5.8457629698299574e+00 + 11 3.8970321241442987e+00 -5.0438409354622165e+00 1.6957527950615776e+00 + 12 -6.7297335792949275e-01 1.9709227866403622e+00 2.6092767141073749e+00 + 13 -1.3858387666083219e-01 6.1860771624782496e+00 -1.2266897681341593e+00 + 14 -2.1132288626665017e+00 4.2234887577271740e+00 7.7799705907093297e-01 + 15 -3.9441882739257719e+00 5.2468136273907353e+00 -2.4452608586303661e+00 + 16 -4.7688116711170914e-01 4.3459794364777055e-01 -5.4826552425271824e-01 + 17 -3.3731740055836252e+00 -1.4342072598044355e+00 -2.7698597594192798e-02 + 18 -3.6161405527528894e+00 3.2758798975215524e+00 4.8636966423728767e-01 + 19 9.6916459506457819e-01 -5.6937817864706695e+00 -2.3923849514937938e+00 + 20 -2.7617522692450516e+00 3.7609651136730538e+00 5.6117993096561278e+00 + 21 2.7167748347887888e+00 1.7518144418482660e+00 -2.4206659552033338e+00 + 22 -5.5152832454633867e+00 3.6924261978373103e+00 -4.2006194189784463e+00 + 23 2.1125923710295416e+00 4.4589119505447830e+00 8.7804665237431223e-01 + 24 1.4656590168856887e-01 -1.7705647188072882e-01 -1.2290904253385504e-01 + 25 -5.0100894893306835e-01 -1.5727562133046864e+00 3.4356356140392075e+00 + 26 -1.6084281292718752e+00 5.9111706532294161e-01 2.7298134657138590e-01 + 27 4.8024619246258773e+00 -2.5875902730594400e+00 -7.5890712871753441e-01 + 28 2.1250519921611684e+00 2.8915093157994587e+00 4.9548024650517952e+00 + 29 -3.7806176106635232e+00 8.3269704695584346e-01 -1.6503019474417149e+00 + 30 -1.9020208217787911e+00 1.3600781891398719e+00 -1.1225718527927633e+00 + 31 -1.7662702249708579e+00 2.0805335343533549e+00 -2.1368521917793915e-01 + 32 9.7294116453972546e-01 2.2351258502086979e-01 -3.9466408029403355e-01 + 33 2.1327548114911701e+00 -5.1779770510440919e+00 5.1229404748769749e+00 + 34 -5.9044947245254187e-01 1.3684428661809054e+00 -1.3537856349138531e+00 + 35 4.0412937663018607e+00 -2.3562017218085165e+00 4.2407263518033023e-01 + 36 2.2278454417839400e+00 -3.1010103859736365e-01 2.6514092613113829e+00 + 37 -2.1992652743191963e+00 1.6832160142680075e+00 -2.4540738129484860e+00 + 38 -8.1114972738857882e-01 -6.0696896413479606e-01 7.1299666275988183e-01 + 39 3.1525986570226938e+00 -8.6346245970164104e-01 -4.4558537083222358e+00 + 40 -2.4233532824963244e-01 2.7779005503649601e-01 -6.3520404803290953e-01 + 41 -1.3417713817420824e+00 -2.5828488749132932e+00 3.8139885212094438e-01 + 42 -5.3923243973405102e+00 -7.9054161635335096e-01 -1.2287514235756742e+00 + 43 1.3753676680666667e+00 -5.1934864980956812e+00 1.7927194096266408e-01 + 44 6.0989023497355941e+00 -2.0678907425347206e+00 3.3724167554709474e+00 + 45 -2.3262052168689671e+00 1.9712903501103385e+00 -2.9370251198768980e+00 + 46 8.4479687564733952e-02 -1.4996908561026365e+00 5.3927870476657667e+00 + 47 3.0049292013345124e+00 2.0079274385179176e+00 6.0401886136520655e-01 + 48 -4.7377961757180354e-01 -7.9431157141453124e-01 4.7173509913766187e-01 + 49 -3.1979678418449509e+00 -5.9113713973369162e+00 -1.8842535476896003e+00 + 50 -6.8010249734948025e-01 3.2561593069275494e+00 -1.2327030428080734e+00 + 51 2.6645811016598318e+00 -2.2210358406883954e+00 -1.2799883793370442e-01 + 52 5.7396012995935068e+00 -3.6645604283335294e+00 5.5459577603163508e+00 + 53 3.6536638151242173e+00 3.4439602057745100e+00 1.6148934545385212e+00 + 54 2.8315714481463576e+00 -3.4805898670456568e+00 -2.2600518725796768e+00 + 55 7.1308847559625588e-01 -2.9877537711839461e+00 -4.7658326058167360e+00 + 56 -2.1140392703342606e-01 -1.8102211452454497e-01 4.9301159354607954e-01 + 57 -9.5342060433034215e-01 -2.8469299192064024e+00 8.7040630446002998e-01 + 58 3.7175474506335232e-01 2.2896544206027185e+00 -1.0727338207432091e+00 + 59 4.7379094778735515e+00 2.7638793587401650e-01 -5.3269478719143724e+00 + 60 2.7617237850009939e+00 -3.1001964131026499e-01 2.6665209390494518e+00 + 61 -1.2755795174783666e+00 1.9752938143315220e+00 -1.2734354571710245e+00 + 62 -5.1070611456175810e+00 4.4578026399035524e+00 -2.4160459641347196e+00 + 63 3.3728501555973431e+00 -5.9952042187556414e+00 8.0550955128726454e-01 + 64 6.0190533204656227e-02 8.3392652002627188e-02 -2.1719566079448698e+00 +run_vdwl: -204.73420533760702 +run_coul: 0 +run_stress: ! |- + -1.9257573681115801e+01 -2.1824734491078338e+01 -1.5966295244733050e+01 -2.0223989198765299e+01 2.6433347914742896e+01 -8.4408938820352564e+00 +run_forces: ! |2 + 1 -3.1366653409445311e+00 1.1844585475684144e-01 4.3951338330102896e+00 + 2 -2.4224864364324215e+00 -8.0892471316598846e-01 -2.3507969141606808e+00 + 3 2.8933084205424988e+00 -1.4508660214996860e+00 -2.7296520827770285e+00 + 4 2.5820787489410213e-01 5.0031615037561821e+00 2.3170772714504961e+00 + 5 -2.4117875013931487e+00 -6.8607661076804660e-01 7.8979517581449596e-02 + 6 5.3296084257427701e-01 4.0003190030794205e+00 1.5859873174217145e+00 + 7 -9.2957591872714118e-01 -5.5555964644290690e-01 3.9139527353255708e+00 + 8 -6.9233210057481620e-02 -3.9695526360672306e-02 -3.3382666005182804e-03 + 9 -2.1988599516244567e+00 -5.6136389246978862e+00 -3.6384369113556447e-01 + 10 -2.2814782144767349e+00 3.1019686769545624e-01 -5.7924117230261745e+00 + 11 3.8769061082809912e+00 -5.0271681381422582e+00 1.6857910369205020e+00 + 12 -6.8487031536518594e-01 1.9692798276171222e+00 2.6150690870678566e+00 + 13 -7.8014597641714825e-02 6.1736797657156641e+00 -1.2070784549848705e+00 + 14 -2.1400711873882194e+00 4.2274827308643061e+00 7.5915301255803092e-01 + 15 -3.9405429540046559e+00 5.2349575535696191e+00 -2.4343339935759709e+00 + 16 -4.6863757923029270e-01 4.2857391016741664e-01 -5.5016428907417070e-01 + 17 -3.3555838361229098e+00 -1.4208879143932351e+00 -1.3375142134247509e-02 + 18 -3.6345770228840593e+00 3.2913952067414720e+00 5.0722942126574788e-01 + 19 9.3656840614808234e-01 -5.7150705510302693e+00 -2.4071804764783238e+00 + 20 -2.7464656196382617e+00 3.7474572436763247e+00 5.5990619032826956e+00 + 21 2.7177930874071321e+00 1.7065537573880176e+00 -2.4455464411466412e+00 + 22 -5.5014893414100285e+00 3.7057770180272103e+00 -4.2133759842949505e+00 + 23 2.1247425554212964e+00 4.4799880616986254e+00 8.9190506203545994e-01 + 24 1.4113977047250537e-01 -1.6827833581964247e-01 -1.1846890477607508e-01 + 25 -5.1369386436676523e-01 -1.5783498041742205e+00 3.4217187090853525e+00 + 26 -1.6121508528342425e+00 5.9569190504875291e-01 2.9708387313744000e-01 + 27 4.8123086999713474e+00 -2.6087788018657472e+00 -7.3724428670257047e-01 + 28 2.1019724815485974e+00 2.9080559307022034e+00 4.9533732095930221e+00 + 29 -3.7814034664281628e+00 8.4263491196401052e-01 -1.6507855038369881e+00 + 30 -1.8775848493274649e+00 1.3360344359394634e+00 -1.1399885247549137e+00 + 31 -1.7523257667944232e+00 2.0924543971470380e+00 -2.1870286005841569e-01 + 32 9.7004892346314675e-01 2.3421750342238212e-01 -3.8662425746669959e-01 + 33 2.1199085507947908e+00 -5.1553741556281505e+00 5.1146144752714386e+00 + 34 -6.1381730516660782e-01 1.3832359240513565e+00 -1.3623826740525395e+00 + 35 4.0602580205471810e+00 -2.3404725995321409e+00 4.2693784569161486e-01 + 36 2.1987961836404866e+00 -2.8457247851677830e-01 2.6274041595779325e+00 + 37 -2.1840981390371637e+00 1.6573229374531970e+00 -2.4637936516409766e+00 + 38 -7.9460241106813601e-01 -5.9896804046581120e-01 7.2826201432311444e-01 + 39 3.1272276827526766e+00 -8.6209854698494903e-01 -4.4468641212239932e+00 + 40 -2.4308533039834002e-01 2.7230151595767899e-01 -6.2872446838689611e-01 + 41 -1.3260627462954369e+00 -2.5607568836802601e+00 4.2323765225196180e-01 + 42 -5.3874314749052319e+00 -8.0859075714928541e-01 -1.2494087576323458e+00 + 43 1.3655794813450579e+00 -5.1777328130840043e+00 1.6024718167052715e-01 + 44 6.1196191931229516e+00 -2.0626392298162695e+00 3.3603039423879615e+00 + 45 -2.3599359370520898e+00 1.9365012887585085e+00 -2.9332624991840994e+00 + 46 8.2568019386201230e-02 -1.4952850716420065e+00 5.4167513039879553e+00 + 47 3.0124513545044396e+00 1.9934496368340704e+00 6.2390081079733339e-01 + 48 -4.8051407320220796e-01 -8.0007378383594607e-01 4.8091361558181389e-01 + 49 -3.2431986657434648e+00 -5.9449535243382892e+00 -1.9314365097638013e+00 + 50 -6.6914257074160288e-01 3.2398461351636660e+00 -1.2427819490348404e+00 + 51 2.6369041374313187e+00 -2.2179723744089253e+00 -1.3480364816400631e-01 + 52 5.7300920909677009e+00 -3.6638204330061508e+00 5.5377419774798131e+00 + 53 3.7039030471794585e+00 3.4787144663035083e+00 1.6837425368596730e+00 + 54 2.8222467301697272e+00 -3.4830972588527400e+00 -2.2497811386370303e+00 + 55 6.9184624215336543e-01 -2.9859917609611961e+00 -4.7312852396777698e+00 + 56 -2.0514917479983930e-01 -1.7578078470281344e-01 4.9225952265905237e-01 + 57 -9.4388489690901456e-01 -2.8735943229979561e+00 8.4982651558438471e-01 + 58 3.9034031168261613e-01 2.3001357064552823e+00 -1.0867865816039208e+00 + 59 4.7580403250764620e+00 2.9828107832406997e-01 -5.3225181318127062e+00 + 60 2.7358453047514066e+00 -2.9985690929578152e-01 2.6583140066345430e+00 + 61 -1.2672802584040841e+00 1.9905487990567849e+00 -1.2683349197715923e+00 + 62 -5.0937221209269934e+00 4.4393733833011018e+00 -2.4028325802946653e+00 + 63 3.3681478188917127e+00 -6.0178613722621579e+00 7.8216064365312743e-01 + 64 5.9691266620979178e-02 8.6719828885410633e-02 -2.1702255262818841e+00 +... From de092206b94d7c69432768479b030f138c14d6b8 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 20 Jul 2021 19:35:00 -0400 Subject: [PATCH 482/726] support using LAMMPS_POTENTIALS expansion for (primary) QUIP file and echo file and units --- src/ML-QUIP/pair_quip.cpp | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/ML-QUIP/pair_quip.cpp b/src/ML-QUIP/pair_quip.cpp index a9d3fa61e2..b81c5de809 100644 --- a/src/ML-QUIP/pair_quip.cpp +++ b/src/ML-QUIP/pair_quip.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -28,6 +27,7 @@ #include "neigh_list.h" #include "neigh_request.h" #include "neighbor.h" +#include "potential_file_reader.h" #include "update.h" #include @@ -45,7 +45,7 @@ PairQUIP::PairQUIP(LAMMPS *lmp) : Pair(lmp) no_virial_fdotr_compute = 1; manybody_flag = 1; centroidstressflag = CENTROID_NOTAVAIL; - + unit_convert_flag = utils::NOCONVERT; map = nullptr; quip_potential = nullptr; quip_file = nullptr; @@ -257,12 +257,13 @@ void PairQUIP::coeff(int narg, char **arg) error->all(FLERR,"Number of arguments {} is not correct, " "it should be {}", narg, 4+n); - // ensure I,J args are * * + if (comm->me == 0) { + PotentialFileReader reader(lmp,arg[2],"QUIP",unit_convert_flag); + auto comment = reader.next_string(); + } - if (strcmp(arg[0],"*") != 0 || strcmp(arg[1],"*") != 0) - error->all(FLERR,"Incorrect args for pair coefficients"); - - quip_file = utils::strdup(arg[2]); + // use expanded file name, including LAMMPS_POTENTIALS search path + quip_file = utils::strdup(utils::get_potential_file_path(arg[2])); quip_string = utils::strdup(arg[3]); n_quip_file = strlen(quip_file); n_quip_string = strlen(quip_string); From 2c77adaefb36889ef63697eb0e945b89473dfb85 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 20 Jul 2021 19:36:44 -0400 Subject: [PATCH 483/726] reformat with clang-format --- src/ML-QUIP/pair_quip.cpp | 184 ++++++++++++++++++-------------------- 1 file changed, 86 insertions(+), 98 deletions(-) diff --git a/src/ML-QUIP/pair_quip.cpp b/src/ML-QUIP/pair_quip.cpp index b81c5de809..f1a2eb8a4a 100644 --- a/src/ML-QUIP/pair_quip.cpp +++ b/src/ML-QUIP/pair_quip.cpp @@ -57,11 +57,11 @@ PairQUIP::~PairQUIP() if (allocated) { memory->destroy(setflag); memory->destroy(cutsq); - delete [] map; + delete[] map; } - delete [] quip_potential; - delete [] quip_file; - delete [] quip_string; + delete[] quip_potential; + delete[] quip_file; + delete[] quip_string; } void PairQUIP::compute(int eflag, int vflag) @@ -83,7 +83,7 @@ void PairQUIP::compute(int eflag, int vflag) double *quip_local_e, *quip_force, *quip_local_virial, *quip_virial, quip_energy, *lattice; - ev_init(eflag,vflag); + ev_init(eflag, vflag); inum = list->inum; ilist = list->ilist; @@ -91,7 +91,7 @@ void PairQUIP::compute(int eflag, int vflag) firstneigh = list->firstneigh; sum_num_neigh = 0; - quip_num_neigh = new int [inum]; + quip_num_neigh = new int[inum]; for (ii = 0; ii < inum; ii++) { i = ilist[ii]; @@ -99,7 +99,7 @@ void PairQUIP::compute(int eflag, int vflag) sum_num_neigh += numneigh[i]; } - quip_neigh = new int [sum_num_neigh]; + quip_neigh = new int[sum_num_neigh]; iquip = 0; for (ii = 0; ii < inum; ii++) { @@ -114,15 +114,14 @@ void PairQUIP::compute(int eflag, int vflag) } atomic_numbers = new int[ntotal]; - for (ii = 0; ii < ntotal; ii++) - atomic_numbers[ii] = map[type[ii]]; + for (ii = 0; ii < ntotal; ii++) atomic_numbers[ii] = map[type[ii]]; - quip_local_e = new double [ntotal]; - quip_force = new double [ntotal*3]; - quip_local_virial = new double [ntotal*9]; - quip_virial = new double [9]; + quip_local_e = new double[ntotal]; + quip_force = new double[ntotal * 3]; + quip_local_virial = new double[ntotal * 9]; + quip_virial = new double[9]; - lattice = new double [9]; + lattice = new double[9]; lattice[0] = domain->xprd; lattice[1] = 0.0; lattice[2] = 0.0; @@ -138,81 +137,68 @@ void PairQUIP::compute(int eflag, int vflag) int tmplarge = 0, toolarge = 0; for (ii = 0; ii < ntotal; ++ii) { tmptag[ii] = tag[ii]; - if (tag[ii] > MAXSMALLINT) tmplarge=1; + if (tag[ii] > MAXSMALLINT) tmplarge = 1; } - MPI_Allreduce(&tmplarge,&toolarge,1,MPI_INT,MPI_MAX,world); - if (toolarge > 0) - error->all(FLERR,"Pair style quip does not support 64-bit atom IDs"); + MPI_Allreduce(&tmplarge, &toolarge, 1, MPI_INT, MPI_MAX, world); + if (toolarge > 0) error->all(FLERR, "Pair style quip does not support 64-bit atom IDs"); - quip_lammps_wrapper(&nlocal,&nghost,atomic_numbers,tmptag, - &inum,&sum_num_neigh,ilist, - quip_num_neigh,quip_neigh,lattice, - quip_potential,&n_quip_potential,&x[0][0], - &quip_energy,quip_local_e,quip_virial, - quip_local_virial,quip_force); + quip_lammps_wrapper(&nlocal, &nghost, atomic_numbers, tmptag, &inum, &sum_num_neigh, ilist, + quip_num_neigh, quip_neigh, lattice, quip_potential, &n_quip_potential, + &x[0][0], &quip_energy, quip_local_e, quip_virial, quip_local_virial, + quip_force); delete[] tmptag; #else - quip_lammps_wrapper(&nlocal,&nghost,atomic_numbers,tag, - &inum,&sum_num_neigh,ilist, - quip_num_neigh,quip_neigh,lattice, - quip_potential,&n_quip_potential,&x[0][0], - &quip_energy,quip_local_e,quip_virial, - quip_local_virial,quip_force); + quip_lammps_wrapper(&nlocal, &nghost, atomic_numbers, tag, &inum, &sum_num_neigh, ilist, + quip_num_neigh, quip_neigh, lattice, quip_potential, &n_quip_potential, + &x[0][0], &quip_energy, quip_local_e, quip_virial, quip_local_virial, + quip_force); #endif iquip = 0; for (ii = 0; ii < ntotal; ii++) { - for (jj = 0; jj < 3; jj++) { - f[ii][jj] += quip_force[iquip]; - iquip++; - } - } - - if (eflag_global) { - eng_vdwl = quip_energy; - } - - if (eflag_atom) { - for (ii = 0; ii < ntotal; ii++) { - eatom[ii] = quip_local_e[ii]; + for (jj = 0; jj < 3; jj++) { + f[ii][jj] += quip_force[iquip]; + iquip++; } } + if (eflag_global) { eng_vdwl = quip_energy; } + + if (eflag_atom) { + for (ii = 0; ii < ntotal; ii++) { eatom[ii] = quip_local_e[ii]; } + } + if (vflag_global) { - virial[0] = quip_virial[0]; - virial[1] = quip_virial[4]; - virial[2] = quip_virial[8]; - virial[3] = (quip_virial[3] + quip_virial[1])*0.5; - virial[4] = (quip_virial[2] + quip_virial[6])*0.5; - virial[5] = (quip_virial[5] + quip_virial[7])*0.5; + virial[0] = quip_virial[0]; + virial[1] = quip_virial[4]; + virial[2] = quip_virial[8]; + virial[3] = (quip_virial[3] + quip_virial[1]) * 0.5; + virial[4] = (quip_virial[2] + quip_virial[6]) * 0.5; + virial[5] = (quip_virial[5] + quip_virial[7]) * 0.5; } if (vflag_atom) { int iatom = 0; - for (ii = 0; ii < ntotal; ii++) { - vatom[ii][0] += quip_local_virial[iatom+0]; - vatom[ii][1] += quip_local_virial[iatom+4]; - vatom[ii][2] += quip_local_virial[iatom+8]; - vatom[ii][3] += (quip_local_virial[iatom+3] + - quip_local_virial[iatom+1])*0.5; - vatom[ii][4] += (quip_local_virial[iatom+2] + - quip_local_virial[iatom+6])*0.5; - vatom[ii][5] += (quip_local_virial[iatom+5] + - quip_local_virial[iatom+7])*0.5; - iatom += 9; - } + for (ii = 0; ii < ntotal; ii++) { + vatom[ii][0] += quip_local_virial[iatom + 0]; + vatom[ii][1] += quip_local_virial[iatom + 4]; + vatom[ii][2] += quip_local_virial[iatom + 8]; + vatom[ii][3] += (quip_local_virial[iatom + 3] + quip_local_virial[iatom + 1]) * 0.5; + vatom[ii][4] += (quip_local_virial[iatom + 2] + quip_local_virial[iatom + 6]) * 0.5; + vatom[ii][5] += (quip_local_virial[iatom + 5] + quip_local_virial[iatom + 7]) * 0.5; + iatom += 9; + } } - delete [] atomic_numbers; - delete [] quip_num_neigh; - delete [] quip_neigh; - delete [] quip_local_e; - delete [] quip_force; - delete [] quip_virial; - delete [] quip_local_virial; - delete [] lattice; - + delete[] atomic_numbers; + delete[] quip_num_neigh; + delete[] quip_neigh; + delete[] quip_local_e; + delete[] quip_force; + delete[] quip_virial; + delete[] quip_local_virial; + delete[] lattice; } /* ---------------------------------------------------------------------- @@ -221,18 +207,19 @@ void PairQUIP::compute(int eflag, int vflag) void PairQUIP::settings(int narg, char ** /* arg */) { - if (narg != 0) error->all(FLERR,"Illegal pair_style command"); + if (narg != 0) error->all(FLERR, "Illegal pair_style command"); // check if linked to the correct QUIP library API version // as of 2017-07-19 this is API_VERSION 1 if (quip_lammps_api_version() != 1) - error->all(FLERR,"QUIP LAMMPS wrapper API version is not compatible " - "with this version of LAMMPS"); + error->all(FLERR, + "QUIP LAMMPS wrapper API version is not compatible " + "with this version of LAMMPS"); // QUIP potentials are parameterized in metal units - if (strcmp("metal",update->unit_style) != 0) - error->all(FLERR,"QUIP potentials require 'metal' units"); + if (strcmp("metal", update->unit_style) != 0) + error->all(FLERR, "QUIP potentials require 'metal' units"); } /* ---------------------------------------------------------------------- @@ -243,9 +230,9 @@ void PairQUIP::allocate() allocated = 1; int n = atom->ntypes; - setflag = memory->create(setflag,n+1,n+1,"pair:setflag"); - cutsq = memory->create(cutsq,n+1,n+1,"pair:cutsq"); - map = new int[n+1]; + setflag = memory->create(setflag, n + 1, n + 1, "pair:setflag"); + cutsq = memory->create(cutsq, n + 1, n + 1, "pair:cutsq"); + map = new int[n + 1]; } void PairQUIP::coeff(int narg, char **arg) @@ -253,12 +240,11 @@ void PairQUIP::coeff(int narg, char **arg) if (!allocated) allocate(); int n = atom->ntypes; - if (narg != (4+n)) - error->all(FLERR,"Number of arguments {} is not correct, " - "it should be {}", narg, 4+n); + if (narg != (4 + n)) + error->all(FLERR, "Number of arguments {} is not correct, it should be {}", narg, 4 + n); if (comm->me == 0) { - PotentialFileReader reader(lmp,arg[2],"QUIP",unit_convert_flag); + PotentialFileReader reader(lmp, arg[2], "QUIP", unit_convert_flag); auto comment = reader.next_string(); } @@ -269,18 +255,17 @@ void PairQUIP::coeff(int narg, char **arg) n_quip_string = strlen(quip_string); for (int i = 4; i < narg; i++) { - if (strcmp(arg[i],"NULL") == 0) - map[i-3] = -1; + if (strcmp(arg[i], "NULL") == 0) + map[i - 3] = -1; else - map[i-3] = utils::inumeric(FLERR,arg[i],false,lmp); + map[i - 3] = utils::inumeric(FLERR, arg[i], false, lmp); } // clear setflag since coeff() called once with I,J = * * n = atom->ntypes; for (int i = 1; i <= n; i++) - for (int j = i; j <= n; j++) - setflag[i][j] = 0; + for (int j = i; j <= n; j++) setflag[i][j] = 0; // set setflag i,j for type pairs where both are mapped to elements @@ -292,21 +277,25 @@ void PairQUIP::coeff(int narg, char **arg) count++; } - if (count == 0) error->all(FLERR,"Incorrect args for pair coefficients"); + if (count == 0) error->all(FLERR, "Incorrect args for pair coefficients"); // Initialise potential - // First call initializes potential via the fortran code in memory, and returns the necessary size - // of quip_potential. This behavior is invoked by setting n_potential_quip to 0. + // First call initializes potential via the fortran code in memory, + // and returns the necessary size of quip_potential. This behavior + // is invoked by setting n_potential_quip to 0. n_quip_potential = 0; quip_potential = new int[0]; - quip_lammps_potential_initialise(quip_potential,&n_quip_potential,&cutoff,quip_file,&n_quip_file,quip_string,&n_quip_string); - delete [] quip_potential; + quip_lammps_potential_initialise(quip_potential, &n_quip_potential, &cutoff, quip_file, + &n_quip_file, quip_string, &n_quip_string); + delete[] quip_potential; - // Allocate quip_potential integer array. This initialise call will transfer the location of the - // previously initialised potential to the quip_potential variable, and we will use it as a handle - // when calling the actual calculation routine. We return the cutoff as well. + // Allocate quip_potential integer array. This initialise call will transfer + // the location of the previously initialised potential to the quip_potential + // variable, and we will use it as a handle when calling the actual calculation + // routine. We return the cutoff as well. quip_potential = new int[n_quip_potential]; - quip_lammps_potential_initialise(quip_potential,&n_quip_potential,&cutoff,quip_file,&n_quip_file,quip_string,&n_quip_string); + quip_lammps_potential_initialise(quip_potential, &n_quip_potential, &cutoff, quip_file, + &n_quip_file, quip_string, &n_quip_string); } /* ---------------------------------------------------------------------- @@ -317,8 +306,7 @@ void PairQUIP::init_style() { // Require newton pair on - if (force->newton_pair != 1) - error->all(FLERR,"Pair style quip requires newton pair on"); + if (force->newton_pair != 1) error->all(FLERR, "Pair style quip requires newton pair on"); // Initialise neighbor list int irequest_full = neighbor->request(this); From 9615867600189214066c7969e5eab3e2bf0aad13 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 21 Jul 2021 00:25:32 -0400 Subject: [PATCH 484/726] make contribution to global virial compatible with pf/array mode --- src/fix_external.cpp | 12 ++++++++---- src/fix_external.h | 1 + 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/fix_external.cpp b/src/fix_external.cpp index 26c852fbd0..99539e86cf 100644 --- a/src/fix_external.cpp +++ b/src/fix_external.cpp @@ -80,7 +80,7 @@ FixExternal::~FixExternal() atom->delete_callback(id,Atom::GROW); memory->destroy(fexternal); - delete [] caller_vector; + delete[] caller_vector; } /* ---------------------------------------------------------------------- */ @@ -163,6 +163,12 @@ void FixExternal::post_force(int vflag) f[i][1] += fexternal[i][1]; f[i][2] += fexternal[i][2]; } + + // add contribution to global virial from previously stored value + + if (vflag_global) + for (int i = 0; i < 6; ++i) + virial[i] = user_virial[i]; } } @@ -196,10 +202,8 @@ void FixExternal::set_energy_global(double caller_energy) void FixExternal::set_virial_global(double *caller_virial) { - if (!vflag_global) return; - for (int i = 0; i < 6; i++) - virial[i] = caller_virial[i]; + user_virial[i] = caller_virial[i]; } /* ---------------------------------------------------------------------- diff --git a/src/fix_external.h b/src/fix_external.h index f0f46cd4c5..16db5d5015 100644 --- a/src/fix_external.h +++ b/src/fix_external.h @@ -64,6 +64,7 @@ class FixExternal : public Fix { FnPtr callback; void *ptr_caller; double user_energy; + double user_virial[6]; double *caller_vector; }; From f6e9c308181c577ec26fc4d827fb052960ad5e7d Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 21 Jul 2021 00:47:10 -0400 Subject: [PATCH 485/726] update unit tests --- unittest/c-library/test_library_external.cpp | 15 ++++++++++++--- unittest/python/python-fix-external.py | 9 +++++++-- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/unittest/c-library/test_library_external.cpp b/unittest/c-library/test_library_external.cpp index 8acb7a43f4..005b31fcab 100644 --- a/unittest/c-library/test_library_external.cpp +++ b/unittest/c-library/test_library_external.cpp @@ -162,13 +162,17 @@ TEST(lammps_external, array) for (int i = 0; i < nlocal; ++i) force[i][0] = force[i][1] = force[i][2] = 0.0; lammps_fix_external_set_energy_global(handle, "ext", 0.5); + double v[6] = {0.5, 0.5, 0.5, 0.0, 0.0, 0.0}; + lammps_fix_external_set_virial_global(handle, "ext", v); lammps_command(handle, "run 5 post no"); - double temp = lammps_get_thermo(handle, "temp"); - double pe = lammps_get_thermo(handle, "pe"); - output = ::testing::internal::GetCapturedStdout(); + double temp = lammps_get_thermo(handle, "temp"); + double pe = lammps_get_thermo(handle, "pe"); + double press = lammps_get_thermo(handle, "press"); + output = ::testing::internal::GetCapturedStdout(); if (verbose) std::cout << output; EXPECT_DOUBLE_EQ(temp, 4.0 / 525.0); EXPECT_DOUBLE_EQ(pe, 1.0 / 16.0); + EXPECT_DOUBLE_EQ(press, 0.069166666666666668); ::testing::internal::CaptureStdout(); nlocal = lammps_extract_setting(handle, "nlocal"); @@ -176,13 +180,18 @@ TEST(lammps_external, array) for (int i = 0; i < nlocal; ++i) force[i][0] = force[i][1] = force[i][2] = 6.0; lammps_fix_external_set_energy_global(handle, "ext", 1.0); + v[0] = v[1] = v[2] = 1.0; + v[3] = v[4] = v[5] = 0.0; + lammps_fix_external_set_virial_global(handle, "ext", v); lammps_command(handle, "run 5 post no"); temp = lammps_get_thermo(handle, "temp"); pe = lammps_get_thermo(handle, "pe"); + press = lammps_get_thermo(handle, "press"); output = ::testing::internal::GetCapturedStdout(); if (verbose) std::cout << output; EXPECT_DOUBLE_EQ(temp, 1.0 / 30.0); EXPECT_DOUBLE_EQ(pe, 1.0 / 8.0); + EXPECT_DOUBLE_EQ(press, 0.15416666666666667); ::testing::internal::CaptureStdout(); lammps_close(handle); diff --git a/unittest/python/python-fix-external.py b/unittest/python/python-fix-external.py index e1c511d480..2d4c50e454 100644 --- a/unittest/python/python-fix-external.py +++ b/unittest/python/python-fix-external.py @@ -75,7 +75,8 @@ class PythonExternal(unittest.TestCase): velocity all set 0.1 0.0 -0.1 fix 1 all nve fix ext all external pf/array 1 - thermo_style custom step temp pe ke + fix_modify ext energy yes virial yes + thermo_style custom step temp pe ke press thermo 5 """ lmp.commands_string(basic_system) @@ -86,10 +87,12 @@ class PythonExternal(unittest.TestCase): force[i][1] = 0.0 force[i][2] = 0.0 lmp.fix_external_set_energy_global("ext", 0.5) - + lmp.fix_external_set_virial_global("ext",[0.5, 0.5, 0.5, 0.0, 0.0, 0.0]) + lmp.command("run 5 post no") self.assertAlmostEqual(lmp.get_thermo("temp"),4.0/525.0,14) self.assertAlmostEqual(lmp.get_thermo("pe"),1.0/16.0,14) + self.assertAlmostEqual(lmp.get_thermo("press"),0.06916666666666667,14) force = lmp.fix_external_get_force("ext"); nlocal = lmp.extract_setting("nlocal"); @@ -98,9 +101,11 @@ class PythonExternal(unittest.TestCase): force[i][1] = 6.0 force[i][2] = 6.0 lmp.fix_external_set_energy_global("ext", 1.0) + lmp.fix_external_set_virial_global("ext",[1.0, 1.0, 1.0, 0.0, 0.0, 0.0]) lmp.command("run 5 post no") self.assertAlmostEqual(lmp.get_thermo("temp"),1.0/30.0,14) self.assertAlmostEqual(lmp.get_thermo("pe"),1.0/8.0,14) + self.assertAlmostEqual(lmp.get_thermo("press"),0.15416666666666667,14) ############################## if __name__ == "__main__": From f53c1978cc7dee4f407581414a1de56f57e43711 Mon Sep 17 00:00:00 2001 From: Donatas Surblys Date: Wed, 21 Jul 2021 12:27:37 +0900 Subject: [PATCH 486/726] swap groups in the example snippet to get consistent pressure and heat flux sign --- doc/src/compute_tally.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/src/compute_tally.rst b/doc/src/compute_tally.rst index 81756dda7c..8aca53bb3c 100644 --- a/doc/src/compute_tally.rst +++ b/doc/src/compute_tally.rst @@ -106,7 +106,7 @@ The following example demonstrates the difference: # Has LeftLiquid and RightWall groups along x direction. # Heat flux over the solid-liquid interface - compute hflow_hfvt LeftLiquid heat/flux/virial/tally RightWall + compute hflow_hfvt RightWall heat/flux/virial/tally LeftLiquid variable hflux_hfvt equal c_hflow_hfvt/(ly*lz) # x component of approximate heat flux vector inside the liquid region, @@ -131,7 +131,7 @@ The following example demonstrates the difference: variable press_ft equal c_rforce_ft/(ly*lz) # compute rforce_hfvt all reduce sum c_hflow_hfvt[1] - variable press_hfvt equal -c_rforce_hfvt/(ly*lz) + variable press_hfvt equal c_rforce_hfvt/(ly*lz) ---------- From 13147707aa6bce793a9a9a48e51c5c5939313bfd Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Wed, 21 Jul 2021 11:33:11 -0400 Subject: [PATCH 487/726] Add utility script to help update URLs for offline tool --- tools/offline/scripts/update_downloads.sh | 25 +++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100755 tools/offline/scripts/update_downloads.sh diff --git a/tools/offline/scripts/update_downloads.sh b/tools/offline/scripts/update_downloads.sh new file mode 100755 index 0000000000..247b92e562 --- /dev/null +++ b/tools/offline/scripts/update_downloads.sh @@ -0,0 +1,25 @@ +#!/bin/bash +#helper script to update URLs from CMake folder + +CMAKE_FOLDER=../../../cmake + +function extract_setting() +{ + export $1=$(grep -Rh "set($1" ../../../cmake/ | cut -d\" -f2) +} + +function update_setting() +{ + echo Setting $1 to $2 + sed -i "/^$1=/c$1=\"$2\"" init_http_cache.sh +} + + +URLS=$(grep -Rh "_URL=" init_http_cache.sh | grep -v ^LAMMPS | grep -v SCAFACOS_FIX | cut -d= -f1) + +# update URLs by grabbing the latest ones from cmake files +for URL in $URLS +do + extract_setting "$URL" + update_setting "$URL" ${!URL} +done From d7edc95193a9ea3a7d85061b21fa4087bdbf7a89 Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Wed, 21 Jul 2021 11:34:43 -0400 Subject: [PATCH 488/726] Update init_http_cache.sh --- tools/offline/scripts/init_http_cache.sh | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/tools/offline/scripts/init_http_cache.sh b/tools/offline/scripts/init_http_cache.sh index 9bda6cdaa5..55856bbf21 100755 --- a/tools/offline/scripts/init_http_cache.sh +++ b/tools/offline/scripts/init_http_cache.sh @@ -40,26 +40,26 @@ echo "Dowloading thirdparty tarballs..." MPICH2_WIN64_DEVEL_URL="${LAMMPS_THIRDPARTY_URL}/mpich2-win64-devel.tar.gz" MPICH2_WIN32_DEVEL_URL="${LAMMPS_THIRDPARTY_URL}/mpich2-win32-devel.tar.gz" VORO_URL="${LAMMPS_THIRDPARTY_URL}/voro++-0.4.6.tar.gz" -OPENCL_LOADER_URL="${LAMMPS_THIRDPARTY_URL}/opencl-loader-2020.12.18.tar.gz" +OPENCL_LOADER_URL="${LAMMPS_THIRDPARTY_URL}/opencl-loader-2021.06.30.tar.gz" SCAFACOS_FIX_URL="${LAMMPS_THIRDPARTY_URL}/scafacos-1.0.1-fix.diff" GTEST_URL="https://github.com/google/googletest/archive/release-1.10.0.tar.gz" YAML_URL="https://pyyaml.org/download/libyaml/yaml-0.2.5.tar.gz" -MATHJAX_URL="https://github.com/mathjax/MathJax/archive/3.1.2.tar.gz" +MATHJAX_URL="https://github.com/mathjax/MathJax/archive/3.1.3.tar.gz" EIGEN3_URL="https://gitlab.com/libeigen/eigen/-/archive/3.3.7/eigen-3.3.7.tar.gz" CUB_URL="https://github.com/NVlabs/cub/archive/1.12.0.tar.gz" -KOKKOS_URL="https://github.com/kokkos/kokkos/archive/3.3.01.tar.gz" +KOKKOS_URL="https://github.com/kokkos/kokkos/archive/3.4.01.tar.gz" KIM_URL="https://s3.openkim.org/kim-api/kim-api-2.2.1.txz" MSCG_URL="https://github.com/uchicago-voth/MSCG-release/archive/1.7.3.1.tar.gz" -PLUMED_URL="https://github.com/plumed/plumed2/releases/download/v2.7.0/plumed-src-2.7.0.tgz" +PLUMED_URL="https://github.com/plumed/plumed2/releases/download/v2.7.1/plumed-src-2.7.1.tgz" PACELIB_URL="https://github.com/ICAMS/lammps-user-pace/archive/refs/tags/v.2021.4.9.tar.gz" LATTE_URL="https://github.com/lanl/LATTE/archive/v1.2.2.tar.gz" SCAFACOS_URL="https://github.com/scafacos/scafacos/releases/download/v1.0.1/scafacos-1.0.1.tar.gz" MDI_URL="https://github.com/MolSSI-MDI/MDI_Library/archive/v1.2.9.tar.gz" GTEST_FILENAME="gtest-1.10.0.tar.gz" -MATHJAX_FILENAME="mathjax-3.1.2.tar.gz" +MATHJAX_FILENAME="mathjax-3.1.3.tar.gz" CUB_FILENAME="cub-1.12.0.tar.gz" -KOKKOS_FILENAME="kokkos-3.3.01.tar.gz" +KOKKOS_FILENAME="kokkos-3.4.01.tar.gz" MSCG_FILENAME="mscg-1.7.3.1.tar.gz" LATTE_FILENAME="latte-1.2.2.tar.gz" PACELIB_FILENAME="pacelib-2021.4.9.tar.gz" From 72744ea441fb2e0b04e4a8df058c2a1063ddb456 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 21 Jul 2021 12:08:19 -0400 Subject: [PATCH 489/726] update swig interface file to the latest changes in the c library header --- tools/swig/lammps.i | 46 ++++++++++++++++++++++++++++++--------------- 1 file changed, 31 insertions(+), 15 deletions(-) diff --git a/tools/swig/lammps.i b/tools/swig/lammps.i index 56547dda53..5bf47f2463 100644 --- a/tools/swig/lammps.i +++ b/tools/swig/lammps.i @@ -128,16 +128,27 @@ extern int lammps_id_name(void *, const char *, int, char *buffer, int buf_si extern int lammps_plugin_count(); extern int lammps_plugin_name(int, char *, char *, int); /* -extern int lammps_encode_image_flags(int ix, int iy, int iz); -extern void lammps_decode_image_flags(int image, int *flags); -extern int64_t lammps_encode_image_flags(int ix, int iy, int iz); -extern void lammps_decode_image_flags(int64_t image, int *flags); -extern void lammps_set_fix_external_callback(void *, char *, FixExternalFnPtr, void*); -extern void lammps_set_fix_external_callback(void *, char *, FixExternalFnPtr, void*); -extern void lammps_set_fix_external_callback(void *, char *, FixExternalFnPtr, void*); -extern void lammps_fix_external_set_energy_global(void *, char *, double); -extern void lammps_fix_external_set_virial_global(void *, char *, double *); + * Have not found a good way to map these functions in a general way. + * So some individual customization for the specific use case and compilation is needed. + * + extern int lammps_encode_image_flags(int ix, int iy, int iz); + extern void lammps_decode_image_flags(int image, int *flags); + extern int64_t lammps_encode_image_flags(int ix, int iy, int iz); + extern void lammps_decode_image_flags(int64_t image, int *flags); + + * Supporting the fix external callback mechanism will require extra code specific to the application. + typedef void (*FixExternalFnPtr)(void *, int64_t, int, int64_t *, double **, double **); + extern void lammps_set_fix_external_callback(void *handle, const char *id, FixExternalFnPtr funcptr, void *ptr); + * these two functions can only be used from the callback, so we don't support them either + extern void lammps_fix_external_set_energy_peratom(void *handle, const char *id, double *eng); + extern void lammps_fix_external_set_virial_peratom(void *handle, const char *id, double **virial); */ +extern double **lammps_fix_external_get_force(void *handle, const char *id); +extern void lammps_fix_external_set_energy_global(void *handle, const char *id, double eng); +extern void lammps_fix_external_set_virial_global(void *handle, const char *id, double *virial); +extern void lammps_fix_external_set_vector_length(void *handle, const char *id, int len); +extern void lammps_fix_external_set_vector(void *handle, const char *id, int idx, double val); + extern void lammps_free(void *ptr); extern int lammps_is_running(void *handle); extern void lammps_force_timeout(void *handle); @@ -255,16 +266,21 @@ extern int lammps_encode_image_flags(int ix, int iy, int iz); extern void lammps_decode_image_flags(int image, int *flags); extern int64_t lammps_encode_image_flags(int ix, int iy, int iz); extern void lammps_decode_image_flags(int64_t image, int *flags); -extern void lammps_set_fix_external_callback(void *, char *, FixExternalFnPtr, void*); -extern void lammps_set_fix_external_callback(void *, char *, FixExternalFnPtr, void*); -extern void lammps_set_fix_external_callback(void *, char *, FixExternalFnPtr, void*); -extern void lammps_fix_external_set_energy_global(void *, char *, double); -extern void lammps_fix_external_set_virial_global(void *, char *, double *); +typedef void (*FixExternalFnPtr)(void *, int64_t, int, int64_t *, double **, double **); +extern void lammps_set_fix_external_callback(void *handle, const char *id, FixExternalFnPtr funcptr, void *ptr); +extern void lammps_fix_external_set_energy_peratom(void *handle, const char *id, double *eng); +extern void lammps_fix_external_set_virial_peratom(void *handle, const char *id, double **virial); */ +extern double **lammps_fix_external_get_force(void *handle, const char *id); +extern void lammps_fix_external_set_energy_global(void *handle, const char *id, double eng); +extern void lammps_fix_external_set_virial_global(void *handle, const char *id, double *virial); +extern void lammps_fix_external_set_vector_length(void *handle, const char *id, int len); +extern void lammps_fix_external_set_vector(void *handle, const char *id, int idx, double val); + extern void lammps_free(void *ptr); extern int lammps_is_running(void *handle); extern void lammps_force_timeout(void *handle); extern int lammps_has_error(void *handle); extern int lammps_get_last_error_message(void *handle, char *buffer, int buf_size); -/* last revised for LAMMPS 8 April 2021 */ +/* last revised on 21 July 2021 */ From b20fcbd686046687582d2d79dcf471062cd5bcf5 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 21 Jul 2021 16:00:28 -0400 Subject: [PATCH 490/726] implement per-atom stress and nofdotr support for reax/c/omp --- src/OPENMP/pair_reaxc_omp.cpp | 4 -- src/OPENMP/pair_reaxc_omp.h | 6 ++ src/OPENMP/reaxc_bond_orders_omp.cpp | 42 ++++--------- src/OPENMP/reaxc_bonds_omp.cpp | 16 ++--- src/OPENMP/thr_omp.cpp | 22 +++++++ src/OPENMP/thr_omp.h | 4 +- src/REAXFF/reaxc_bond_orders.cpp | 88 ++++++++++++++-------------- src/REAXFF/reaxc_bonds.cpp | 2 +- 8 files changed, 92 insertions(+), 92 deletions(-) diff --git a/src/OPENMP/pair_reaxc_omp.cpp b/src/OPENMP/pair_reaxc_omp.cpp index 2596f8390b..b65c9a391f 100644 --- a/src/OPENMP/pair_reaxc_omp.cpp +++ b/src/OPENMP/pair_reaxc_omp.cpp @@ -233,10 +233,6 @@ void PairReaxCOMP::compute(int eflag, int vflag) evdwl = ecoul = 0.0; ev_init(eflag,vflag); - if (vflag_atom) - error->all(FLERR,"Pair style reax/c/omp does not support " - "computing per-atom stress"); - api->system->n = atom->nlocal; // my atoms api->system->N = atom->nlocal + atom->nghost; // mine + ghosts api->system->bigN = static_cast (atom->natoms); // all atoms in the system diff --git a/src/OPENMP/pair_reaxc_omp.h b/src/OPENMP/pair_reaxc_omp.h index d8152656ff..81d1c35b0e 100644 --- a/src/OPENMP/pair_reaxc_omp.h +++ b/src/OPENMP/pair_reaxc_omp.h @@ -76,6 +76,12 @@ class PairReaxCOMP : public PairReaxC, public ThrOMP { ev_tally3_thr(this, i, j, k, evdwl, ecoul, fj, fk, drji, drki, thrparm); } + inline void v_tally2_newton_thr_proxy(const int i, const double *const fi, + const double *const deli, ThrData *const thrparm) + { + v_tally2_newton_thr(this, i, fi, deli, thrparm); + } + inline void v_tally3_thr_proxy(const int i, const int j, const int k, const double *const fi, const double *const fk, const double *const drij, const double *const drkj, ThrData *const thrparm) diff --git a/src/OPENMP/reaxc_bond_orders_omp.cpp b/src/OPENMP/reaxc_bond_orders_omp.cpp index 9c026ee95c..3e419792d9 100644 --- a/src/OPENMP/reaxc_bond_orders_omp.cpp +++ b/src/OPENMP/reaxc_bond_orders_omp.cpp @@ -37,8 +37,8 @@ using namespace LAMMPS_NS; namespace ReaxFF { - void Add_dBond_to_ForcesOMP(reax_system *system, int i, int pj, - storage *workspace, reax_list **lists) { + void Add_dBond_to_ForcesOMP(reax_system *system, int i, int pj, storage *workspace, reax_list **lists) + { reax_list *bonds = (*lists) + BONDS; bond_data *nbr_j, *nbr_k; bond_order_data *bo_ij, *bo_ji; @@ -94,12 +94,10 @@ namespace ReaxFF { rvec_Add(workspace->forceReduction[reductionOffset+i],temp); if (system->pair_ptr->vflag_either) { - rvec_Scale(fi_tmp, -1.0, temp); + rvec_Scale(fi_tmp, -0.5, temp); rvec_ScaledSum(delij, 1., system->my_atoms[i].x,-1., system->my_atoms[j].x); - pair_reax_ptr->ev_tally_xyz_thr_proxy(i,j,system->N,0,0,0, - fi_tmp[0],fi_tmp[1],fi_tmp[2], - delij[0],delij[1],delij[2],thr); + pair_reax_ptr->v_tally2_newton_thr_proxy(i,fi_tmp,delij,thr); } c = -(coef.C1dbo + coef.C1dDelta + coef.C2dbopi + coef.C2dbopi2); @@ -115,12 +113,9 @@ namespace ReaxFF { rvec_Add(workspace->forceReduction[reductionOffset+j],temp); if (system->pair_ptr->vflag_either) { - rvec_Scale(fj_tmp, -1.0, temp); + rvec_Scale(fj_tmp, -0.5, temp); rvec_ScaledSum(delji, 1., system->my_atoms[j].x,-1., system->my_atoms[i].x); - - pair_reax_ptr->ev_tally_xyz_thr_proxy(j,i,system->N,0,0,0, - fj_tmp[0],fj_tmp[1],fj_tmp[2], - delji[0],delji[1],delji[2],thr); + pair_reax_ptr->v_tally2_newton_thr_proxy(j,fj_tmp,delji,thr); } // forces on k: i neighbor @@ -134,17 +129,11 @@ namespace ReaxFF { rvec_Add(workspace->forceReduction[reductionOffset+k],temp); if (system->pair_ptr->vflag_either) { - rvec_Scale(fk_tmp, -1.0, temp); + rvec_Scale(fk_tmp, -0.5, temp); rvec_ScaledSum(delki,1.,system->my_atoms[k].x,-1.,system->my_atoms[i].x); - - pair_reax_ptr->ev_tally_xyz_thr_proxy(k,i,system->N,0,0,0, - fk_tmp[0],fk_tmp[1],fk_tmp[2], - delki[0],delki[1],delki[2],thr); + pair_reax_ptr->v_tally2_newton_thr_proxy(k,fk_tmp,delki,thr); rvec_ScaledSum(delkj,1.,system->my_atoms[k].x,-1.,system->my_atoms[j].x); - - pair_reax_ptr->ev_tally_xyz_thr_proxy(k,j,system->N,0,0,0, - fk_tmp[0],fk_tmp[1],fk_tmp[2], - delkj[0],delkj[1],delkj[2],thr); + pair_reax_ptr->v_tally2_newton_thr_proxy(k,fk_tmp,delkj,thr); } } @@ -159,18 +148,11 @@ namespace ReaxFF { rvec_Add(workspace->forceReduction[reductionOffset+k],temp); if (system->pair_ptr->vflag_either) { - rvec_Scale(fk_tmp, -1.0, temp); + rvec_Scale(fk_tmp, -0.5, temp); rvec_ScaledSum(delki,1.,system->my_atoms[k].x,-1.,system->my_atoms[i].x); - - pair_reax_ptr->ev_tally_xyz_thr_proxy(k,i,system->N,0,0,0, - fk_tmp[0],fk_tmp[1],fk_tmp[2], - delki[0],delki[1],delki[2],thr); - + pair_reax_ptr->v_tally2_newton_thr_proxy(k,fk_tmp,delki,thr); rvec_ScaledSum(delkj,1.,system->my_atoms[k].x,-1.,system->my_atoms[j].x); - - pair_reax_ptr->ev_tally_xyz_thr_proxy(k,j,system->N,0,0,0, - fk_tmp[0],fk_tmp[1],fk_tmp[2], - delkj[0],delkj[1],delkj[2],thr); + pair_reax_ptr->v_tally2_newton_thr_proxy(k,fk_tmp,delkj,thr); } } } diff --git a/src/OPENMP/reaxc_bonds_omp.cpp b/src/OPENMP/reaxc_bonds_omp.cpp index 2357d20690..784af432cc 100644 --- a/src/OPENMP/reaxc_bonds_omp.cpp +++ b/src/OPENMP/reaxc_bonds_omp.cpp @@ -1,14 +1,12 @@ // clang-format off /*---------------------------------------------------------------------- PuReMD - Purdue ReaxFF Molecular Dynamics Program - Website: https://www.cs.purdue.edu/puremd Copyright (2010) Purdue University - - Contributing authors: - H. M. Aktulga, J. Fogarty, S. Pandit, A. Grama - Corresponding author: - Hasan Metin Aktulga, Michigan State University, hma@cse.msu.edu + Hasan Metin Aktulga, hmaktulga@lbl.gov + Joseph Fogarty, jcfogart@mail.usf.edu + Sagar Pandit, pandit@usf.edu + Ananth Y Grama, ayg@cs.purdue.edu Please cite the related publication: H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama, @@ -122,8 +120,7 @@ namespace ReaxFF { /* tally into per-atom energy */ if (system->pair_ptr->eflag_either) - pair_reax_ptr->ev_tally_thr_proxy( i, j, natoms, 1, - ebond, 0.0, 0.0, 0.0, 0.0, 0.0, thr); + pair_reax_ptr->ev_tally_thr_proxy(i,j,natoms,1,ebond,0.0,0.0,0.0,0.0,0.0,thr); /* calculate derivatives of Bond Orders */ bo_ij->Cdbo += CEbo; @@ -153,8 +150,7 @@ namespace ReaxFF { /* tally into per-atom energy */ if (system->pair_ptr->eflag_either) - pair_reax_ptr->ev_tally_thr_proxy( i, j, natoms, 1, - estriph, 0.0, 0.0, 0.0, 0.0, 0.0, thr); + pair_reax_ptr->ev_tally_thr_proxy(i,j,natoms,1,estriph,0.0,0.0,0.0,0.0,0.0,thr); bo_ij->Cdbo += decobdbo; workspace->CdDelta[i] += decobdboua; diff --git a/src/OPENMP/thr_omp.cpp b/src/OPENMP/thr_omp.cpp index 545e3bbe88..7f4bc95e8c 100644 --- a/src/OPENMP/thr_omp.cpp +++ b/src/OPENMP/thr_omp.cpp @@ -1499,6 +1499,28 @@ void ThrOMP::v_tally2_thr(Pair *const pair, const int i, const int j, const doub } } +/* ---------------------------------------------------------------------- + tally virial into per-atom accumulators + called by RexaFF potential, newton_pair is always on + fi is magnitude of force on atom i, deli is the direction + note that the other atom (j) is not updated, due to newton on +------------------------------------------------------------------------- */ + +void ThrOMP::v_tally2_newton_thr(Pair *const pair, const int i, const double * const fi, + const double * const deli, ThrData * const thr) +{ + double v[6]; + + v[0] = deli[0]*fi[0]; + v[1] = deli[1]*fi[1]; + v[2] = deli[2]*fi[2]; + v[3] = deli[0]*fi[1]; + v[4] = deli[0]*fi[2]; + v[5] = deli[1]*fi[2]; + if (pair->vflag_global) v_tally(thr->virial_pair,v); + if (pair->vflag_atom) v_tally(thr->vatom_pair[i],v); +} + /* ---------------------------------------------------------------------- tally virial into per-atom accumulators called by AIREBO and Tersoff potential, newton_pair is always on diff --git a/src/OPENMP/thr_omp.h b/src/OPENMP/thr_omp.h index 35cd43be5d..02fdbdf25b 100644 --- a/src/OPENMP/thr_omp.h +++ b/src/OPENMP/thr_omp.h @@ -135,8 +135,8 @@ class ThrOMP { void ev_tally_xyz_full_thr(Pair *const, const int, const double, const double, const double, const double, const double, const double, const double, const double, ThrData *const); - void v_tally2_thr(Pair *const, const int, const int, const double, const double *const, - ThrData *const); + void v_tally2_thr(Pair *const, const int, const int, const double, const double *const, ThrData *const); + void v_tally2_newton_thr(Pair *const, const int, const double *const, const double *const, ThrData *const); void ev_tally3_thr(Pair *const, const int, const int, const int, const double, const double, const double *const, const double *const, const double *const, const double *const, ThrData *const); diff --git a/src/REAXFF/reaxc_bond_orders.cpp b/src/REAXFF/reaxc_bond_orders.cpp index 0e4227922b..d827e3753d 100644 --- a/src/REAXFF/reaxc_bond_orders.cpp +++ b/src/REAXFF/reaxc_bond_orders.cpp @@ -50,35 +50,37 @@ namespace ReaxFF { bo_ij = &(nbr_j->bo_data); bo_ji = &(bonds->select.bond_list[nbr_j->sym_index].bo_data); - coef.C1dbo = bo_ij->C1dbo * (bo_ij->Cdbo + bo_ji->Cdbo); - coef.C2dbo = bo_ij->C2dbo * (bo_ij->Cdbo + bo_ji->Cdbo); - coef.C3dbo = bo_ij->C3dbo * (bo_ij->Cdbo + bo_ji->Cdbo); + double c = bo_ij->Cdbo + bo_ji->Cdbo; + coef.C1dbo = bo_ij->C1dbo * c; + coef.C2dbo = bo_ij->C2dbo * c; + coef.C3dbo = bo_ij->C3dbo * c; - coef.C1dbopi = bo_ij->C1dbopi * (bo_ij->Cdbopi + bo_ji->Cdbopi); - coef.C2dbopi = bo_ij->C2dbopi * (bo_ij->Cdbopi + bo_ji->Cdbopi); - coef.C3dbopi = bo_ij->C3dbopi * (bo_ij->Cdbopi + bo_ji->Cdbopi); - coef.C4dbopi = bo_ij->C4dbopi * (bo_ij->Cdbopi + bo_ji->Cdbopi); + c = bo_ij->Cdbopi + bo_ji->Cdbopi; + coef.C1dbopi = bo_ij->C1dbopi * c; + coef.C2dbopi = bo_ij->C2dbopi * c; + coef.C3dbopi = bo_ij->C3dbopi * c; + coef.C4dbopi = bo_ij->C4dbopi * c; - coef.C1dbopi2 = bo_ij->C1dbopi2 * (bo_ij->Cdbopi2 + bo_ji->Cdbopi2); - coef.C2dbopi2 = bo_ij->C2dbopi2 * (bo_ij->Cdbopi2 + bo_ji->Cdbopi2); - coef.C3dbopi2 = bo_ij->C3dbopi2 * (bo_ij->Cdbopi2 + bo_ji->Cdbopi2); - coef.C4dbopi2 = bo_ij->C4dbopi2 * (bo_ij->Cdbopi2 + bo_ji->Cdbopi2); + c = bo_ij->Cdbopi2 + bo_ji->Cdbopi2; + coef.C1dbopi2 = bo_ij->C1dbopi2 * c; + coef.C2dbopi2 = bo_ij->C2dbopi2 * c; + coef.C3dbopi2 = bo_ij->C3dbopi2 * c; + coef.C4dbopi2 = bo_ij->C4dbopi2 * c; - coef.C1dDelta = bo_ij->C1dbo * (workspace->CdDelta[i]+workspace->CdDelta[j]); - coef.C2dDelta = bo_ij->C2dbo * (workspace->CdDelta[i]+workspace->CdDelta[j]); - coef.C3dDelta = bo_ij->C3dbo * (workspace->CdDelta[i]+workspace->CdDelta[j]); + c = workspace->CdDelta[i] + workspace->CdDelta[j]; + coef.C1dDelta = bo_ij->C1dbo * c; + coef.C2dDelta = bo_ij->C2dbo * c; + coef.C3dDelta = bo_ij->C3dbo * c; + + c = (coef.C1dbo + coef.C1dDelta + coef.C2dbopi + coef.C2dbopi2); + rvec_Scale( temp, c, bo_ij->dBOp); + + c = (coef.C2dbo + coef.C2dDelta + coef.C3dbopi + coef.C3dbopi2); + rvec_ScaledAdd(temp, c, workspace->dDeltap_self[i]); - // forces on i - rvec_Scale( temp, coef.C1dbo, bo_ij->dBOp); - rvec_ScaledAdd(temp, coef.C2dbo, workspace->dDeltap_self[i]); - rvec_ScaledAdd(temp, coef.C1dDelta, bo_ij->dBOp); - rvec_ScaledAdd(temp, coef.C2dDelta, workspace->dDeltap_self[i]); rvec_ScaledAdd(temp, coef.C1dbopi, bo_ij->dln_BOp_pi); - rvec_ScaledAdd(temp, coef.C2dbopi, bo_ij->dBOp); - rvec_ScaledAdd(temp, coef.C3dbopi, workspace->dDeltap_self[i]); rvec_ScaledAdd(temp, coef.C1dbopi2, bo_ij->dln_BOp_pi2); - rvec_ScaledAdd(temp, coef.C2dbopi2, bo_ij->dBOp); - rvec_ScaledAdd(temp, coef.C3dbopi2, workspace->dDeltap_self[i]); + rvec_Add(workspace->f[i], temp); if (system->pair_ptr->vflag_either) { @@ -87,17 +89,15 @@ namespace ReaxFF { system->pair_ptr->v_tally2_newton(i,fi_tmp,delij); } - // forces on j - rvec_Scale( temp, -coef.C1dbo, bo_ij->dBOp); - rvec_ScaledAdd(temp, coef.C3dbo, workspace->dDeltap_self[j]); - rvec_ScaledAdd(temp, -coef.C1dDelta, bo_ij->dBOp); - rvec_ScaledAdd(temp, coef.C3dDelta, workspace->dDeltap_self[j]); + c = -(coef.C1dbo + coef.C1dDelta + coef.C2dbopi + coef.C2dbopi2); + rvec_Scale( temp, c, bo_ij->dBOp); + + c = (coef.C3dbo + coef.C3dDelta + coef.C4dbopi + coef.C4dbopi2); + rvec_ScaledAdd(temp, c, workspace->dDeltap_self[j]); + rvec_ScaledAdd(temp, -coef.C1dbopi, bo_ij->dln_BOp_pi); - rvec_ScaledAdd(temp, -coef.C2dbopi, bo_ij->dBOp); - rvec_ScaledAdd(temp, coef.C4dbopi, workspace->dDeltap_self[j]); rvec_ScaledAdd(temp, -coef.C1dbopi2, bo_ij->dln_BOp_pi2); - rvec_ScaledAdd(temp, -coef.C2dbopi2, bo_ij->dBOp); - rvec_ScaledAdd(temp, coef.C4dbopi2, workspace->dDeltap_self[j]); + rvec_Add(workspace->f[j], temp); if (system->pair_ptr->vflag_either) { @@ -111,10 +111,9 @@ namespace ReaxFF { nbr_k = &(bonds->select.bond_list[pk]); k = nbr_k->nbr; - rvec_Scale( temp, -coef.C2dbo, nbr_k->bo_data.dBOp); - rvec_ScaledAdd(temp, -coef.C2dDelta, nbr_k->bo_data.dBOp); - rvec_ScaledAdd(temp, -coef.C3dbopi, nbr_k->bo_data.dBOp); - rvec_ScaledAdd(temp, -coef.C3dbopi2, nbr_k->bo_data.dBOp); + const double c = -(coef.C2dbo + coef.C2dDelta + coef.C3dbopi + coef.C3dbopi2); + rvec_Scale(temp, c, nbr_k->bo_data.dBOp); + rvec_Add(workspace->f[k], temp); if (system->pair_ptr->vflag_either) { @@ -131,10 +130,9 @@ namespace ReaxFF { nbr_k = &(bonds->select.bond_list[pk]); k = nbr_k->nbr; - rvec_Scale( temp, -coef.C3dbo, nbr_k->bo_data.dBOp); - rvec_ScaledAdd(temp, -coef.C3dDelta, nbr_k->bo_data.dBOp); - rvec_ScaledAdd(temp, -coef.C4dbopi, nbr_k->bo_data.dBOp); - rvec_ScaledAdd(temp, -coef.C4dbopi2, nbr_k->bo_data.dBOp); + const double c = -(coef.C3dbo + coef.C3dDelta + coef.C4dbopi + coef.C4dbopi2); + rvec_Scale(temp, c, nbr_k->bo_data.dBOp); + rvec_Add(workspace->f[k], temp); if (system->pair_ptr->vflag_either) { @@ -152,14 +150,14 @@ namespace ReaxFF { single_body_parameters *sbp_i, single_body_parameters *sbp_j, two_body_parameters *twbp) { int j, btop_j; - double r2, C12, C34, C56; + double rr2, C12, C34, C56; double Cln_BOp_s, Cln_BOp_pi, Cln_BOp_pi2; double BO, BO_s, BO_pi, BO_pi2; bond_data *ibond, *jbond; bond_order_data *bo_ij, *bo_ji; j = nbr_pj->nbr; - r2 = SQR(nbr_pj->d); + rr2 = 1.0 / SQR(nbr_pj->d); if (sbp_i->r_s > 0.0 && sbp_j->r_s > 0.0) { C12 = twbp->p_bo1 * pow(nbr_pj->d / twbp->r_s, twbp->p_bo2); @@ -207,9 +205,9 @@ namespace ReaxFF { bo_ji->BO_pi2 = bo_ij->BO_pi2 = BO_pi2; /* Bond Order page2-3, derivative of total bond order prime */ - Cln_BOp_s = twbp->p_bo2 * C12 / r2; - Cln_BOp_pi = twbp->p_bo4 * C34 / r2; - Cln_BOp_pi2 = twbp->p_bo6 * C56 / r2; + Cln_BOp_s = twbp->p_bo2 * C12 * rr2; + Cln_BOp_pi = twbp->p_bo4 * C34 * rr2; + Cln_BOp_pi2 = twbp->p_bo6 * C56 * rr2; /* Only dln_BOp_xx wrt. dr_i is stored here, note that dln_BOp_xx/dr_i = -dln_BOp_xx/dr_j and all others are 0 */ diff --git a/src/REAXFF/reaxc_bonds.cpp b/src/REAXFF/reaxc_bonds.cpp index 7feea043fa..cb28aaa1ca 100644 --- a/src/REAXFF/reaxc_bonds.cpp +++ b/src/REAXFF/reaxc_bonds.cpp @@ -11,7 +11,7 @@ Please cite the related publication: H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama, "Parallel Reactive Molecular Dynamics: Numerical Methods and - Algorithmic Techniques", Parallel Computing, in press. + Algorithmic Techniques", Parallel Computing, 38 (4-5), 245-259 This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as From 5436975fa2f5379a465ee1fe0eba4e2514e1986d Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 21 Jul 2021 16:01:28 -0400 Subject: [PATCH 491/726] update unit test reference data for REAXFF also with OpenMP enabled --- .../tests/atomic-pair-reax_c.yaml | 253 +++++++++-------- .../tests/atomic-pair-reax_c_lgvdw.yaml | 249 +++++++++-------- .../tests/atomic-pair-reax_c_noqeq.yaml | 261 +++++++++--------- .../tests/atomic-pair-reax_c_tabulate.yaml | 247 +++++++++-------- 4 files changed, 503 insertions(+), 507 deletions(-) diff --git a/unittest/force-styles/tests/atomic-pair-reax_c.yaml b/unittest/force-styles/tests/atomic-pair-reax_c.yaml index 22cc182b30..9eaad2a949 100644 --- a/unittest/force-styles/tests/atomic-pair-reax_c.yaml +++ b/unittest/force-styles/tests/atomic-pair-reax_c.yaml @@ -1,8 +1,7 @@ --- lammps_version: 2 Jul 2021 -date_generated: Mon Jul 12 20:56:37 2021 +date_generated: Wed Jul 21 15:49:45 2021 epsilon: 1e-11 -skip_tests: omp prerequisites: ! | pair reax/c fix qeq/reax @@ -38,139 +37,139 @@ natoms: 64 init_vdwl: -3296.3503506624793 init_coul: -327.06551252279587 init_stress: ! |- - -1.0522112314759645e+03 -1.2629480788292406e+03 -8.6765541430728683e+02 -2.5149818635822589e+02 2.0624598409299679e+02 -6.4309968343216531e+02 + -1.0522112314759656e+03 -1.2629480788292419e+03 -8.6765541430728797e+02 -2.5149818635822544e+02 2.0624598409299588e+02 -6.4309968343216440e+02 init_forces: ! |2 - 1 -8.8484559491557889e+01 -2.5824737864578637e+01 1.0916228789487674e+02 - 2 -1.1227736122976223e+02 -1.8092349731667616e+02 -2.2420586526896261e+02 - 3 -1.7210817575849026e+02 1.8292439782308702e+02 1.3552618819720569e+01 - 4 3.2997500231085269e+01 -5.1076027616185407e+01 9.0475628837095513e+01 - 5 1.8144778146274791e+02 1.6797701000587466e+01 -8.1725507301127038e+01 - 6 1.3634094180728110e+02 -3.0056789474000180e+02 2.9661495129805957e+01 - 7 -5.3287158661291762e+01 -1.2872927610192625e+02 -1.6347871108897493e+02 - 8 -1.5334883257588757e+02 4.0171483324130726e+01 1.5317461163040997e+02 - 9 1.8364155867634079e+01 8.1986572088186804e+01 2.8272397798081524e+01 - 10 8.4246730110712534e+01 1.4177487113456962e+02 1.2330079878579957e+02 - 11 -4.3218423112520902e+01 6.5551082199289709e+01 1.3464882148706636e+02 - 12 -9.7317470492933836e+01 -2.6234999414154014e+01 7.2277941881646539e+00 - 13 -6.3183329836753863e+01 -4.7368101002971272e+01 -3.7592654029315021e+01 - 14 7.8642975316486172e+01 -6.7997612991897455e+01 -9.9044775614596048e+01 - 15 -6.6373732796038979e+01 2.1787558547532143e+02 8.0103149369093387e+01 - 16 1.9216166082224373e+02 5.3228015320734819e+01 6.6260214054210593e+01 - 17 1.4496007689503062e+02 -3.9700923044583718e+01 -9.7503851828130053e+01 - 18 -4.4989550233790240e+01 -1.9360605894359739e+02 1.1274792197022482e+02 - 19 2.6657528138945770e+02 3.7189510796650950e+02 -3.3847307488287703e+02 - 20 -7.6341040242469418e+01 -8.8478925962203348e+01 1.3557778212060649e+00 - 21 -7.1188591900926752e+01 -5.1591439985136624e+01 -1.2279442803769274e+02 - 22 1.5504836733039957e+02 -1.3094504458746073e+02 8.1474408030760628e+01 - 23 7.8015302036861655e+01 -1.3272310040521637e+01 -2.2771427736544183e+01 - 24 -2.0546718065741098e+02 2.1611071031053456e+02 -1.2423208053538966e+02 - 25 -1.1402686646199034e+02 1.9100238121128132e+02 -8.3504908417580012e+01 - 26 2.8663576552098772e+02 -2.1773884754170604e+02 2.3144300100087472e+02 - 27 -6.3247409025611177e+01 6.9122196748087077e+01 1.8606936744368778e+02 - 28 -3.5426011055935240e+00 3.8764809029451875e+01 3.2874001946768900e+01 - 29 -7.1069178571876577e+01 3.5485903180427719e+01 2.7311648896320204e+01 - 30 -1.7036987830119904e+02 -1.9851827590031277e+02 -1.1511401829123537e+02 + 1 -8.8484559491557889e+01 -2.5824737864578672e+01 1.0916228789487677e+02 + 2 -1.1227736122976222e+02 -1.8092349731667619e+02 -2.2420586526896258e+02 + 3 -1.7210817575849026e+02 1.8292439782308693e+02 1.3552618819720610e+01 + 4 3.2997500231085269e+01 -5.1076027616185407e+01 9.0475628837095528e+01 + 5 1.8144778146274791e+02 1.6797701000587494e+01 -8.1725507301127109e+01 + 6 1.3634094180728098e+02 -3.0056789474000180e+02 2.9661495129805985e+01 + 7 -5.3287158661291791e+01 -1.2872927610192625e+02 -1.6347871108897493e+02 + 8 -1.5334883257588757e+02 4.0171483324130705e+01 1.5317461163041000e+02 + 9 1.8364155867634015e+01 8.1986572088186833e+01 2.8272397798081524e+01 + 10 8.4246730110712562e+01 1.4177487113456959e+02 1.2330079878579957e+02 + 11 -4.3218423112520917e+01 6.5551082199289681e+01 1.3464882148706636e+02 + 12 -9.7317470492933836e+01 -2.6234999414154061e+01 7.2277941881646433e+00 + 13 -6.3183329836753892e+01 -4.7368101002971272e+01 -3.7592654029315028e+01 + 14 7.8642975316486144e+01 -6.7997612991897398e+01 -9.9044775614596077e+01 + 15 -6.6373732796038979e+01 2.1787558547532149e+02 8.0103149369093416e+01 + 16 1.9216166082224373e+02 5.3228015320734841e+01 6.6260214054210607e+01 + 17 1.4496007689503060e+02 -3.9700923044583725e+01 -9.7503851828130109e+01 + 18 -4.4989550233790240e+01 -1.9360605894359739e+02 1.1274792197022477e+02 + 19 2.6657528138945764e+02 3.7189510796650950e+02 -3.3847307488287709e+02 + 20 -7.6341040242469404e+01 -8.8478925962203348e+01 1.3557778212060665e+00 + 21 -7.1188591900926752e+01 -5.1591439985136596e+01 -1.2279442803769271e+02 + 22 1.5504836733039957e+02 -1.3094504458746079e+02 8.1474408030760628e+01 + 23 7.8015302036861712e+01 -1.3272310040521580e+01 -2.2771427736544119e+01 + 24 -2.0546718065741095e+02 2.1611071031053456e+02 -1.2423208053538964e+02 + 25 -1.1402686646199034e+02 1.9100238121128135e+02 -8.3504908417580054e+01 + 26 2.8663576552098777e+02 -2.1773884754170615e+02 2.3144300100087472e+02 + 27 -6.3247409025611177e+01 6.9122196748087077e+01 1.8606936744368775e+02 + 28 -3.5426011055935045e+00 3.8764809029451875e+01 3.2874001946768900e+01 + 29 -7.1069178571876577e+01 3.5485903180427727e+01 2.7311648896320222e+01 + 30 -1.7036987830119904e+02 -1.9851827590031277e+02 -1.1511401829123534e+02 31 -1.3970409889743331e+02 1.6660943915628047e+02 -1.2913930522474698e+02 - 32 2.7179130444112271e+01 -6.0169059447629905e+01 -1.7669495182022038e+02 - 33 -6.2659679124099597e+01 -6.4422131921795355e+01 6.4150928205326579e+01 - 34 -2.2119065265693539e+01 1.0450386886830508e+02 -7.3998379587547845e+01 - 35 2.6982987783286291e+02 -2.1519317040003412e+02 1.3051628460669610e+02 + 32 2.7179130444112264e+01 -6.0169059447629905e+01 -1.7669495182022038e+02 + 33 -6.2659679124099576e+01 -6.4422131921795383e+01 6.4150928205326579e+01 + 34 -2.2119065265693525e+01 1.0450386886830510e+02 -7.3998379587547845e+01 + 35 2.6982987783286291e+02 -2.1519317040003423e+02 1.3051628460669625e+02 36 1.0368628874516659e+02 1.8817377639779619e+02 -1.9748944223870336e+02 - 37 -1.8009522406836990e+02 1.2993653092243849e+02 -6.3523043394051804e+01 - 38 -2.9571205878459978e+02 1.0441609933482222e+02 1.5582204859042619e+02 - 39 8.7398805727029270e+01 -6.0025559644669258e+01 2.2209742009837157e+01 - 40 2.0540672579010824e+01 -1.0735874009092363e+02 5.8655918369892206e+01 - 41 -5.8895846271372314e+01 1.1852345624639781e+01 -6.6147257724570267e+01 - 42 -9.6895512314642531e+01 3.8928741136688721e+01 -7.5791929957116210e+01 - 43 2.2476051812062417e+02 9.5505204283237461e+01 1.2309042240718740e+02 - 44 8.9817373579488660e+01 -1.0616333580628948e+02 -8.6321519086255435e+01 - 45 1.7202629662584396e+01 1.2890307246697841e+02 5.2916171301068466e+01 - 46 1.3547783972601877e+01 -2.9276223331260049e+01 2.2187412696867376e+01 - 47 3.3389762514712210e+01 -1.9217585014965047e+02 -6.9956213241088250e+01 - 48 7.3631720332112650e+01 -2.0953007324688525e+02 -2.3183566221404728e+01 - 49 -3.7589944473227274e+02 -2.4083165714763936e+01 1.0770339502610545e+02 - 50 3.8603083564823841e+01 -7.3616481568799330e+01 9.0414065019644596e+01 + 37 -1.8009522406836996e+02 1.2993653092243866e+02 -6.3523043394051889e+01 + 38 -2.9571205878459978e+02 1.0441609933482223e+02 1.5582204859042622e+02 + 39 8.7398805727029284e+01 -6.0025559644669265e+01 2.2209742009837157e+01 + 40 2.0540672579010842e+01 -1.0735874009092362e+02 5.8655918369892206e+01 + 41 -5.8895846271372335e+01 1.1852345624639781e+01 -6.6147257724570267e+01 + 42 -9.6895512314642517e+01 3.8928741136688721e+01 -7.5791929957116153e+01 + 43 2.2476051812062425e+02 9.5505204283237461e+01 1.2309042240718746e+02 + 44 8.9817373579488660e+01 -1.0616333580628947e+02 -8.6321519086255464e+01 + 45 1.7202629662584418e+01 1.2890307246697841e+02 5.2916171301068438e+01 + 46 1.3547783972601877e+01 -2.9276223331260034e+01 2.2187412696867373e+01 + 47 3.3389762514712125e+01 -1.9217585014965050e+02 -6.9956213241088321e+01 + 48 7.3631720332112678e+01 -2.0953007324688531e+02 -2.3183566221404764e+01 + 49 -3.7589944473227263e+02 -2.4083165714763936e+01 1.0770339502610540e+02 + 50 3.8603083564823876e+01 -7.3616481568799330e+01 9.0414065019644610e+01 51 1.3736420686706188e+02 -1.0204157331506994e+02 1.5813725581150808e+02 - 52 -1.0797257051087824e+02 1.1876975735151170e+02 -1.3295758126486243e+02 - 53 -5.3807540206295350e+01 3.3259462625854701e+02 -3.8426833263187632e-03 - 54 -1.0690184616186752e+01 6.2820270853646427e+01 1.8343158343321130e+02 - 55 1.1231900459987581e+02 -1.7906654831317167e+02 7.6533681064340854e+01 - 56 -4.1027190034916586e+01 -1.4085413191133770e+02 3.7483064289953241e+01 - 57 9.9904315214040494e+01 7.0938939080461637e+01 -6.8654961257661526e+01 - 58 -2.7563642882026748e+01 -6.7445498717142405e+00 -1.8442640542823220e+01 - 59 -6.6628933617875418e+01 1.0613066354110040e+02 8.7736153919831665e+01 - 60 -1.7748415247438995e+01 6.3757605316872542e+01 -1.5086907478326543e+02 - 61 -3.3560907195791366e+01 -1.0076987083174090e+02 -7.4536106106935819e+01 - 62 1.5883428926665005e+01 -5.8433760297908881e+00 2.8392494016034941e+01 - 63 1.3294494001298787e+02 -1.2724568063770238e+02 -6.4886848316806251e+01 - 64 1.0738157273930993e+02 1.2062173788161539e+02 7.4541400611710785e+01 + 52 -1.0797257051087827e+02 1.1876975735151170e+02 -1.3295758126486243e+02 + 53 -5.3807540206295386e+01 3.3259462625854701e+02 -3.8426833262903415e-03 + 54 -1.0690184616186778e+01 6.2820270853646484e+01 1.8343158343321133e+02 + 55 1.1231900459987581e+02 -1.7906654831317167e+02 7.6533681064340868e+01 + 56 -4.1027190034916501e+01 -1.4085413191133770e+02 3.7483064289953184e+01 + 57 9.9904315214040494e+01 7.0938939080461608e+01 -6.8654961257661554e+01 + 58 -2.7563642882026748e+01 -6.7445498717142298e+00 -1.8442640542823217e+01 + 59 -6.6628933617875447e+01 1.0613066354110043e+02 8.7736153919831693e+01 + 60 -1.7748415247438984e+01 6.3757605316872557e+01 -1.5086907478326543e+02 + 61 -3.3560907195791373e+01 -1.0076987083174085e+02 -7.4536106106935819e+01 + 62 1.5883428926665005e+01 -5.8433760297908881e+00 2.8392494016034934e+01 + 63 1.3294494001298784e+02 -1.2724568063770243e+02 -6.4886848316806294e+01 + 64 1.0738157273930993e+02 1.2062173788161542e+02 7.4541400611710799e+01 run_vdwl: -3296.346882377749 run_coul: -327.0653995073912 run_stress: ! |- - -1.0521225462925122e+03 -1.2628780139889509e+03 -8.6757617693085899e+02 -2.5158592653603847e+02 2.0619472152426923e+02 -6.4312943979323541e+02 + -1.0521225462925122e+03 -1.2628780139889511e+03 -8.6757617693086104e+02 -2.5158592653603904e+02 2.0619472152426832e+02 -6.4312943979323666e+02 run_forces: ! |2 - 1 -8.8486129396001530e+01 -2.5824483374473200e+01 1.0916517213634106e+02 - 2 -1.1227648453173390e+02 -1.8093214754186130e+02 -2.2420118533940354e+02 - 3 -1.7210894875994978e+02 1.8292263268451674e+02 1.3551979435686139e+01 - 4 3.2999405001009407e+01 -5.1077312719545837e+01 9.0478579144069556e+01 - 5 1.8144963583123214e+02 1.6798391906831810e+01 -8.1723378082075570e+01 - 6 1.3640835897739447e+02 -3.0059507544862095e+02 2.9594750460783345e+01 - 7 -5.3287619129789434e+01 -1.2872953167026756e+02 -1.6348317368624129e+02 - 8 -1.5334990952322434e+02 4.0171746946780843e+01 1.5317542403106131e+02 - 9 1.8362961213927139e+01 8.1984428717784255e+01 2.8273598253027259e+01 - 10 8.4245458094789043e+01 1.4177227430519346e+02 1.2329899933660965e+02 - 11 -4.3217035356344425e+01 6.5547850976510759e+01 1.3463983671946417e+02 - 12 -9.7319343004573113e+01 -2.6236499899232278e+01 7.2232061905742402e+00 - 13 -6.3184735475530402e+01 -4.7368090836538087e+01 -3.7590268076036111e+01 - 14 7.8642680121803977e+01 -6.7994653297646451e+01 -9.9042134233434012e+01 - 15 -6.6371195967082826e+01 2.1787700653339664e+02 8.0102624694807375e+01 - 16 1.9215832443892597e+02 5.3231888618093983e+01 6.6253846562695074e+01 - 17 1.4496126989603110e+02 -3.9700366098757222e+01 -9.7506725874209380e+01 - 18 -4.4989211400008614e+01 -1.9360716191976445e+02 1.1274798810455862e+02 - 19 2.6657546213782740e+02 3.7189369483257695e+02 -3.3847202166068035e+02 - 20 -7.6352829159880940e+01 -8.8469178952301604e+01 1.3384778817072185e+00 - 21 -7.1188597560667432e+01 -5.1592404200740106e+01 -1.2279357314243519e+02 - 22 1.5504965184741241e+02 -1.3094582932680530e+02 8.1473922626938005e+01 - 23 7.8017376001392932e+01 -1.3263023728607561e+01 -2.2771654676273968e+01 - 24 -2.0547634460482251e+02 2.1612342044348730e+02 -1.2423651650061706e+02 - 25 -1.1402944116091903e+02 1.9100648219391277e+02 -8.3505645569845370e+01 - 26 2.8664542299410533e+02 -2.1774609219880716e+02 2.3144720166994406e+02 - 27 -6.3243843868043029e+01 6.9123801262965273e+01 1.8607035157681673e+02 - 28 -3.5444604841998415e+00 3.8760531647714480e+01 3.2869123667281706e+01 - 29 -7.1069494158179211e+01 3.5486459158760582e+01 2.7311657876181052e+01 - 30 -1.7037059987992399e+02 -1.9851840131669357e+02 -1.1511410156295636e+02 - 31 -1.3970663440086005e+02 1.6660841802305001e+02 -1.2914070628112796e+02 - 32 2.7179939937138432e+01 -6.0162678551485513e+01 -1.7668459764117441e+02 - 33 -6.2659124615698168e+01 -6.4421915847941520e+01 6.4151176691093482e+01 - 34 -2.2118740875419455e+01 1.0450303589341144e+02 -7.3997370482692972e+01 - 35 2.6987081482968875e+02 -2.1523754104000355e+02 1.3052736086179604e+02 - 36 1.0368798521815543e+02 1.8816694370725344e+02 -1.9748485159172907e+02 - 37 -1.8012152564003850e+02 1.2997662140302859e+02 -6.3547259053587872e+01 - 38 -2.9571525697590829e+02 1.0441941743734588e+02 1.5582112543442358e+02 - 39 8.7399620724575271e+01 -6.0025787992411310e+01 2.2209357601282150e+01 - 40 2.0541458171950978e+01 -1.0735817059033018e+02 5.8656280350524320e+01 - 41 -5.8893965304899986e+01 1.1850504754314887e+01 -6.6138932259022468e+01 - 42 -9.6894702780992361e+01 3.8926449644174809e+01 -7.5794133002764795e+01 - 43 2.2475651760389383e+02 9.5503072846836503e+01 1.2308683766845400e+02 - 44 8.9821846939843113e+01 -1.0615882525757857e+02 -8.6326896770189890e+01 - 45 1.7193681344342288e+01 1.2889564928820624e+02 5.2922372841252404e+01 - 46 1.3549091739280335e+01 -2.9276447091757493e+01 2.2187152043656500e+01 - 47 3.3389460345593150e+01 -1.9217121673024420e+02 -6.9954603582952544e+01 - 48 7.3644268618852763e+01 -2.0953201921822830e+02 -2.3192562071413278e+01 - 49 -3.7593958318941031e+02 -2.4028439106859878e+01 1.0779151134441000e+02 - 50 3.8603926624328551e+01 -7.3615255297989435e+01 9.0412505212292402e+01 + 1 -8.8486129396001502e+01 -2.5824483374473179e+01 1.0916517213634110e+02 + 2 -1.1227648453173391e+02 -1.8093214754186130e+02 -2.2420118533940348e+02 + 3 -1.7210894875994978e+02 1.8292263268451674e+02 1.3551979435686095e+01 + 4 3.2999405001009350e+01 -5.1077312719545880e+01 9.0478579144069585e+01 + 5 1.8144963583123231e+02 1.6798391906831846e+01 -8.1723378082075712e+01 + 6 1.3640835897739439e+02 -3.0059507544862095e+02 2.9594750460783359e+01 + 7 -5.3287619129789448e+01 -1.2872953167026756e+02 -1.6348317368624123e+02 + 8 -1.5334990952322434e+02 4.0171746946780829e+01 1.5317542403106131e+02 + 9 1.8362961213927182e+01 8.1984428717784269e+01 2.8273598253027302e+01 + 10 8.4245458094789058e+01 1.4177227430519352e+02 1.2329899933660965e+02 + 11 -4.3217035356344425e+01 6.5547850976510773e+01 1.3463983671946411e+02 + 12 -9.7319343004573128e+01 -2.6236499899232264e+01 7.2232061905742331e+00 + 13 -6.3184735475530417e+01 -4.7368090836538116e+01 -3.7590268076036132e+01 + 14 7.8642680121804005e+01 -6.7994653297646451e+01 -9.9042134233434012e+01 + 15 -6.6371195967082826e+01 2.1787700653339661e+02 8.0102624694807389e+01 + 16 1.9215832443892597e+02 5.3231888618093954e+01 6.6253846562695017e+01 + 17 1.4496126989603121e+02 -3.9700366098757279e+01 -9.7506725874209309e+01 + 18 -4.4989211400008635e+01 -1.9360716191976442e+02 1.1274798810455859e+02 + 19 2.6657546213782734e+02 3.7189369483257695e+02 -3.3847202166068030e+02 + 20 -7.6352829159880955e+01 -8.8469178952301633e+01 1.3384778817072787e+00 + 21 -7.1188597560667404e+01 -5.1592404200740077e+01 -1.2279357314243526e+02 + 22 1.5504965184741243e+02 -1.3094582932680530e+02 8.1473922626938020e+01 + 23 7.8017376001392918e+01 -1.3263023728607578e+01 -2.2771654676273979e+01 + 24 -2.0547634460482251e+02 2.1612342044348730e+02 -1.2423651650061711e+02 + 25 -1.1402944116091902e+02 1.9100648219391277e+02 -8.3505645569845370e+01 + 26 2.8664542299410527e+02 -2.1774609219880722e+02 2.3144720166994415e+02 + 27 -6.3243843868043086e+01 6.9123801262965259e+01 1.8607035157681676e+02 + 28 -3.5444604841998202e+00 3.8760531647714458e+01 3.2869123667281691e+01 + 29 -7.1069494158179211e+01 3.5486459158760596e+01 2.7311657876181030e+01 + 30 -1.7037059987992404e+02 -1.9851840131669360e+02 -1.1511410156295638e+02 + 31 -1.3970663440086005e+02 1.6660841802305001e+02 -1.2914070628112793e+02 + 32 2.7179939937138435e+01 -6.0162678551485499e+01 -1.7668459764117441e+02 + 33 -6.2659124615698147e+01 -6.4421915847941477e+01 6.4151176691093468e+01 + 34 -2.2118740875419469e+01 1.0450303589341145e+02 -7.3997370482692958e+01 + 35 2.6987081482968881e+02 -2.1523754104000349e+02 1.3052736086179610e+02 + 36 1.0368798521815542e+02 1.8816694370725344e+02 -1.9748485159172907e+02 + 37 -1.8012152564003850e+02 1.2997662140302853e+02 -6.3547259053587815e+01 + 38 -2.9571525697590823e+02 1.0441941743734586e+02 1.5582112543442355e+02 + 39 8.7399620724575229e+01 -6.0025787992411310e+01 2.2209357601282100e+01 + 40 2.0541458171950950e+01 -1.0735817059033015e+02 5.8656280350524284e+01 + 41 -5.8893965304899957e+01 1.1850504754314873e+01 -6.6138932259022440e+01 + 42 -9.6894702780992304e+01 3.8926449644174781e+01 -7.5794133002764809e+01 + 43 2.2475651760389385e+02 9.5503072846836503e+01 1.2308683766845402e+02 + 44 8.9821846939843127e+01 -1.0615882525757857e+02 -8.6326896770189890e+01 + 45 1.7193681344342274e+01 1.2889564928820624e+02 5.2922372841252461e+01 + 46 1.3549091739280328e+01 -2.9276447091757490e+01 2.2187152043656504e+01 + 47 3.3389460345593179e+01 -1.9217121673024417e+02 -6.9954603582952572e+01 + 48 7.3644268618852792e+01 -2.0953201921822824e+02 -2.3192562071413271e+01 + 49 -3.7593958318941031e+02 -2.4028439106859906e+01 1.0779151134441003e+02 + 50 3.8603926624328523e+01 -7.3615255297989492e+01 9.0412505212292430e+01 51 1.3736689552214156e+02 -1.0204490780187869e+02 1.5814099219652564e+02 - 52 -1.0797151154267745e+02 1.1876989597626186e+02 -1.3296150756377074e+02 - 53 -5.3843453069456601e+01 3.3257024143956778e+02 -2.3416395383797806e-02 - 54 -1.0678049522667429e+01 6.2807424617056597e+01 1.8344969045860523e+02 + 52 -1.0797151154267748e+02 1.1876989597626186e+02 -1.3296150756377079e+02 + 53 -5.3843453069456565e+01 3.3257024143956778e+02 -2.3416395383840438e-02 + 54 -1.0678049522667443e+01 6.2807424617056597e+01 1.8344969045860518e+02 55 1.1232135576105661e+02 -1.7906994470561881e+02 7.6534265234548187e+01 - 56 -4.1035945990527679e+01 -1.4084577238065074e+02 3.7489705598247994e+01 - 57 9.9903872061946146e+01 7.0936213558024505e+01 -6.8656338416452527e+01 - 58 -2.7563844572724122e+01 -6.7426705471926862e+00 -1.8442803060445037e+01 - 59 -6.6637290503389465e+01 1.0613630918459926e+02 8.7741455199772943e+01 - 60 -1.7749706497437362e+01 6.3756413885635943e+01 -1.5086911682892702e+02 - 61 -3.3559889608749941e+01 -1.0076809277084801e+02 -7.4536003122046239e+01 - 62 1.5883833834736409e+01 -5.8439916924703503e+00 2.8393403991146943e+01 - 63 1.3294237052896716e+02 -1.2724619636183067e+02 -6.4882384014219042e+01 - 64 1.0738250214938945e+02 1.2062290362868877e+02 7.4541927445529197e+01 + 56 -4.1035945990527694e+01 -1.4084577238065074e+02 3.7489705598247951e+01 + 57 9.9903872061946146e+01 7.0936213558024505e+01 -6.8656338416452499e+01 + 58 -2.7563844572724129e+01 -6.7426705471926915e+00 -1.8442803060445037e+01 + 59 -6.6637290503389465e+01 1.0613630918459928e+02 8.7741455199772943e+01 + 60 -1.7749706497437348e+01 6.3756413885635929e+01 -1.5086911682892702e+02 + 61 -3.3559889608749927e+01 -1.0076809277084796e+02 -7.4536003122046253e+01 + 62 1.5883833834736409e+01 -5.8439916924703361e+00 2.8393403991146915e+01 + 63 1.3294237052896716e+02 -1.2724619636183061e+02 -6.4882384014219113e+01 + 64 1.0738250214938944e+02 1.2062290362868877e+02 7.4541927445529197e+01 ... diff --git a/unittest/force-styles/tests/atomic-pair-reax_c_lgvdw.yaml b/unittest/force-styles/tests/atomic-pair-reax_c_lgvdw.yaml index d91caa277c..59cb7b5261 100644 --- a/unittest/force-styles/tests/atomic-pair-reax_c_lgvdw.yaml +++ b/unittest/force-styles/tests/atomic-pair-reax_c_lgvdw.yaml @@ -1,8 +1,7 @@ --- lammps_version: 2 Jul 2021 -date_generated: Mon Jul 12 20:56:38 2021 +date_generated: Wed Jul 21 15:49:47 2021 epsilon: 1e-12 -skip_tests: omp prerequisites: ! | pair reax/c fix qeq/reax @@ -38,139 +37,139 @@ natoms: 64 init_vdwl: -2454.3149508399256 init_coul: -344.1380904917976 init_stress: ! |2- - 4.8195587070292022e+03 4.4865954368949351e+03 3.2679588293062784e+03 -1.8469678134590688e+03 7.6556385424846496e+02 -4.9517278307742413e+02 + 4.8195587070292022e+03 4.4865954368949333e+03 3.2679588293062807e+03 -1.8469678134590695e+03 7.6556385424846383e+02 -4.9517278307742527e+02 init_forces: ! |2 - 1 -1.9811664067580182e+02 -1.5618748554879582e+02 -1.0716617094919907e+02 - 2 -4.1075966889759563e+01 -6.7708246449675840e+01 -4.2506724189242647e+01 - 3 3.1596544789529471e+01 8.8571277602644201e+01 1.4850846557451504e+02 - 4 1.7447178183928099e+02 3.2866954415453613e+01 -3.1178861314762706e+01 - 5 1.1873199005659009e+02 5.9095115842131946e+01 2.3739439807686179e+02 - 6 1.3052453610124778e+03 -4.4208109447713031e+02 -1.4245452171137988e+03 - 7 -8.7153363585941023e+01 -1.0895261162467337e+02 -3.5604687372058106e+02 - 8 -9.1047579854191540e+01 4.4450937169776367e+01 1.1879559986803962e+02 - 9 4.7456602925193245e+01 1.7227642506022178e+02 -1.4638226748446916e+01 - 10 6.3508986324759796e+01 4.8590610415561784e+01 1.1075535682642920e+01 - 11 -5.1919052217198669e+01 7.3820742396411859e+01 5.1375340691983297e+01 - 12 -1.0171933720752882e+02 -1.9845958414353028e+01 -1.7437665462751706e+01 - 13 -7.3048376131504796e+01 -4.5586627360377669e+01 2.8533062846208733e+01 - 14 8.6287140258369817e+01 -4.1664353236768321e+01 1.7094340432182378e+01 - 15 -3.5690271737605428e+01 1.2671711108383720e+02 4.5865072089126144e+01 - 16 1.0608232372370766e+02 3.5980003156299802e+01 1.8676593635940499e+01 - 17 2.3577630118103411e+02 -9.8579505236746968e+01 4.1005658232556200e+01 - 18 -2.0815299273687735e+01 -1.1578579968450298e+02 6.5566787154472507e+01 - 19 4.3265264076046996e+01 1.0913234729250232e+02 3.0900987497773690e+02 - 20 -1.0086773950039240e+02 7.4841212143883325e+01 -1.6547856280073117e+02 - 21 -8.5974538718179744e+01 -4.5982868874732929e+00 -7.3066508052444064e+01 - 22 1.3343492132570225e+02 -1.2211943449611955e+02 9.0328124087551757e+01 - 23 5.2985077374887140e+01 2.0040750326966958e+01 -9.0416982004666480e+00 - 24 -1.8957025969382849e+02 8.1671696884795921e+01 -1.2920621849543499e+01 - 25 -1.0067836293726950e+02 1.3220054680372047e+02 -4.8975895235994550e+01 - 26 2.1849478729429609e+02 -1.9386903120078875e+02 1.7116657218419908e+02 - 27 -3.7478069218092728e+01 3.0044804022729718e+01 9.3872627169948615e+01 - 28 9.9359193467603504e+01 -5.5156189036814503e+01 -3.1541196450035848e+01 - 29 -3.9530012231991570e+01 5.6689953230829921e+01 2.5358584427671751e+01 + 1 -1.9811664067580179e+02 -1.5618748554879582e+02 -1.0716617094919901e+02 + 2 -4.1075966889759549e+01 -6.7708246449675826e+01 -4.2506724189242625e+01 + 3 3.1596544789529435e+01 8.8571277602644230e+01 1.4850846557451499e+02 + 4 1.7447178183928099e+02 3.2866954415453542e+01 -3.1178861314762706e+01 + 5 1.1873199005659021e+02 5.9095115842131932e+01 2.3739439807686179e+02 + 6 1.3052453610124783e+03 -4.4208109447713036e+02 -1.4245452171137993e+03 + 7 -8.7153363585941023e+01 -1.0895261162467335e+02 -3.5604687372058106e+02 + 8 -9.1047579854191568e+01 4.4450937169776367e+01 1.1879559986803960e+02 + 9 4.7456602925193202e+01 1.7227642506022178e+02 -1.4638226748446902e+01 + 10 6.3508986324759796e+01 4.8590610415561791e+01 1.1075535682642935e+01 + 11 -5.1919052217198654e+01 7.3820742396411859e+01 5.1375340691983297e+01 + 12 -1.0171933720752882e+02 -1.9845958414353014e+01 -1.7437665462751710e+01 + 13 -7.3048376131504796e+01 -4.5586627360377697e+01 2.8533062846208718e+01 + 14 8.6287140258369817e+01 -4.1664353236768306e+01 1.7094340432182349e+01 + 15 -3.5690271737605421e+01 1.2671711108383721e+02 4.5865072089126137e+01 + 16 1.0608232372370769e+02 3.5980003156299816e+01 1.8676593635940495e+01 + 17 2.3577630118103411e+02 -9.8579505236746911e+01 4.1005658232556200e+01 + 18 -2.0815299273687735e+01 -1.1578579968450295e+02 6.5566787154472507e+01 + 19 4.3265264076046989e+01 1.0913234729250236e+02 3.0900987497773690e+02 + 20 -1.0086773950039242e+02 7.4841212143883340e+01 -1.6547856280073117e+02 + 21 -8.5974538718179744e+01 -4.5982868874733214e+00 -7.3066508052444064e+01 + 22 1.3343492132570225e+02 -1.2211943449611955e+02 9.0328124087551771e+01 + 23 5.2985077374887155e+01 2.0040750326966961e+01 -9.0416982004666124e+00 + 24 -1.8957025969382852e+02 8.1671696884795935e+01 -1.2920621849543528e+01 + 25 -1.0067836293726948e+02 1.3220054680372053e+02 -4.8975895235994550e+01 + 26 2.1849478729429609e+02 -1.9386903120078870e+02 1.7116657218419911e+02 + 27 -3.7478069218092713e+01 3.0044804022729696e+01 9.3872627169948643e+01 + 28 9.9359193467603504e+01 -5.5156189036814489e+01 -3.1541196450035862e+01 + 29 -3.9530012231991570e+01 5.6689953230829886e+01 2.5358584427671758e+01 30 -9.7652246814367359e+01 -2.2271920242502716e+02 -1.4460601547049507e+02 - 31 -4.6192346966779532e+01 7.2790084189834928e+01 3.1159158603346764e+01 - 32 1.2013060628467292e+01 -3.4474347848945314e+01 -1.0622600014669138e+02 - 33 5.2551051115345523e+01 4.2704675585248630e+01 -3.0154896799401914e+01 - 34 1.6822864099952500e+02 -1.6889974455036809e-02 1.1832622696299902e+02 - 35 5.1185090023661428e+02 -1.3214021604987859e+03 1.1319907541000694e+03 - 36 -1.4331382529302426e+01 9.9702896436312997e+01 -1.3159358421899245e+02 - 37 -8.9317756897655033e+02 1.3544128453102780e+03 -7.5922493710251501e+02 - 38 -3.8384748878233427e+02 1.2143676601363953e+02 1.7580047976723324e+02 - 39 1.6381134310552264e+02 -1.2998574463953725e+01 -7.8542909545441546e+01 - 40 6.1412235617277197e+01 -2.0153615037331058e+01 4.3186957794586576e+01 - 41 1.3114484088383918e+01 1.7854214885793702e+00 3.3683765652624928e+01 - 42 -6.4838533708029459e+01 5.2662237041257001e+01 -6.8645855319469462e+01 + 31 -4.6192346966779525e+01 7.2790084189834928e+01 3.1159158603346764e+01 + 32 1.2013060628467285e+01 -3.4474347848945321e+01 -1.0622600014669140e+02 + 33 5.2551051115345523e+01 4.2704675585248637e+01 -3.0154896799401911e+01 + 34 1.6822864099952500e+02 -1.6889974455004834e-02 1.1832622696299902e+02 + 35 5.1185090023661456e+02 -1.3214021604987863e+03 1.1319907541000696e+03 + 36 -1.4331382529302426e+01 9.9702896436313011e+01 -1.3159358421899239e+02 + 37 -8.9317756897655045e+02 1.3544128453102783e+03 -7.5922493710251524e+02 + 38 -3.8384748878233427e+02 1.2143676601363948e+02 1.7580047976723321e+02 + 39 1.6381134310552267e+02 -1.2998574463953721e+01 -7.8542909545441532e+01 + 40 6.1412235617277204e+01 -2.0153615037331058e+01 4.3186957794586569e+01 + 41 1.3114484088383939e+01 1.7854214885793560e+00 3.3683765652624942e+01 + 42 -6.4838533708029473e+01 5.2662237041257001e+01 -6.8645855319469405e+01 43 2.0925885626252014e+02 8.2942516657430232e+01 1.1786724503954686e+02 - 44 -3.8463410277622422e+01 -7.5319916775508801e+01 -1.3445887472637639e+02 - 45 -3.4797907366084118e+01 7.6266761873332939e+01 4.3023416525122556e+01 - 46 2.3463432665038621e+01 -1.5313857576705704e+01 -3.8707451594223810e+00 - 47 -3.7271493199629646e+01 -5.4876511333920163e+01 -1.9275411927395847e+01 - 48 2.8275275023555395e+02 -1.7973942289882834e+02 -6.0167953907639014e+02 - 49 -2.0529905689923421e+03 -6.7838314309842531e+01 7.6230272883402529e+02 - 50 1.3292222637274614e+02 -9.8795036249084134e+01 9.9132259532945980e+01 + 44 -3.8463410277622415e+01 -7.5319916775508815e+01 -1.3445887472637642e+02 + 45 -3.4797907366084097e+01 7.6266761873332939e+01 4.3023416525122514e+01 + 46 2.3463432665038606e+01 -1.5313857576705701e+01 -3.8707451594223872e+00 + 47 -3.7271493199629653e+01 -5.4876511333920178e+01 -1.9275411927395869e+01 + 48 2.8275275023555378e+02 -1.7973942289882839e+02 -6.0167953907638991e+02 + 49 -2.0529905689923417e+03 -6.7838314309842517e+01 7.6230272883402574e+02 + 50 1.3292222637274611e+02 -9.8795036249084106e+01 9.9132259532945980e+01 51 2.6168921895029303e+02 -1.9761595427509062e+02 2.4062513751852873e+02 - 52 -1.2257063176561176e+02 1.3353869954874421e+02 -1.1598337420807962e+02 - 53 3.8021621191835891e+02 8.1199705966172507e+02 2.7057346247419940e+02 - 54 6.9440336670547097e+01 -1.1592524541887400e+02 2.2072297942372262e+02 - 55 8.7300666059627744e+01 -1.3907353173150560e+02 5.9541107879138558e+01 - 56 3.4771676857170326e+02 -2.4546959502036665e+02 -3.5077189358394349e+02 - 57 6.1706174952483430e+01 7.9893925286373715e+01 3.4373445887630085e+00 - 58 3.7240798760941452e+01 -1.2919400623491822e+02 3.9695110774075808e+01 - 59 -5.2076445103995331e+02 2.1046582886974142e+02 1.7083299176148790e+02 - 60 -7.8657547105875338e+01 -2.3005356890255392e+01 -1.2454833328198771e+02 + 52 -1.2257063176561179e+02 1.3353869954874421e+02 -1.1598337420807965e+02 + 53 3.8021621191835851e+02 8.1199705966172485e+02 2.7057346247419935e+02 + 54 6.9440336670547069e+01 -1.1592524541887394e+02 2.2072297942372259e+02 + 55 8.7300666059627744e+01 -1.3907353173150562e+02 5.9541107879138558e+01 + 56 3.4771676857170337e+02 -2.4546959502036671e+02 -3.5077189358394361e+02 + 57 6.1706174952483430e+01 7.9893925286373715e+01 3.4373445887630369e+00 + 58 3.7240798760941445e+01 -1.2919400623491822e+02 3.9695110774075808e+01 + 59 -5.2076445103995343e+02 2.1046582886974139e+02 1.7083299176148785e+02 + 60 -7.8657547105875310e+01 -2.3005356890255410e+01 -1.2454833328198774e+02 61 -3.9633103573229910e+01 -5.5165443660352402e+01 -4.0780192434587690e+01 - 62 -1.8742346202622763e+01 -1.3844690899539831e+01 2.2586546200036643e+00 - 63 6.5150947885422269e+01 7.1009493033300544e+01 -8.4093092375006023e+01 - 64 4.0079516427458081e+01 9.6476598333945958e+01 9.1213458480138442e+01 + 62 -1.8742346202622748e+01 -1.3844690899539831e+01 2.2586546200036359e+00 + 63 6.5150947885422283e+01 7.1009493033300544e+01 -8.4093092375006009e+01 + 64 4.0079516427458060e+01 9.6476598333945972e+01 9.1213458480138428e+01 run_vdwl: -2454.3233099608155 run_coul: -344.1379608070739 run_stress: ! |2- - 4.8194587329953674e+03 4.4865895224706956e+03 3.2679446938086498e+03 -1.8471163065259325e+03 7.6545324620049087e+02 -4.9527853267788902e+02 + 4.8194587329953692e+03 4.4865895224706946e+03 3.2679446938086485e+03 -1.8471163065259320e+03 7.6545324620049041e+02 -4.9527853267789004e+02 run_forces: ! |2 - 1 -1.9811556407056105e+02 -1.5618143620847076e+02 -1.0716119874908736e+02 - 2 -4.1073968384374822e+01 -6.7710647015369261e+01 -4.2502864658157357e+01 - 3 3.1592798331689554e+01 8.8575236369726497e+01 1.4850890801985440e+02 - 4 1.7447282006187956e+02 3.2862369867970486e+01 -3.1175721266394820e+01 - 5 1.1873112974792335e+02 5.9090963929048286e+01 2.3738916225937453e+02 - 6 1.3053008444613590e+03 -4.4210323642713990e+02 -1.4246081409032693e+03 - 7 -8.7152343512651925e+01 -1.0895314566818783e+02 -3.5604721285130660e+02 - 8 -9.1046846091347717e+01 4.4451665481009478e+01 1.1879618751723048e+02 - 9 4.7463133585713976e+01 1.7228438483982211e+02 -1.4645071927693378e+01 - 10 6.3506921990797963e+01 4.8587688349158157e+01 1.1073324095443047e+01 - 11 -5.1917951887543467e+01 7.3818630188510326e+01 5.1369234828489169e+01 - 12 -1.0172154753205886e+02 -1.9847809999838844e+01 -1.7441731987232995e+01 - 13 -7.3048126072731904e+01 -4.5586545373889699e+01 2.8534758158919548e+01 - 14 8.6288077929554390e+01 -4.1660634795038867e+01 1.7096747148188005e+01 - 15 -3.5688114877422009e+01 1.2671728980619932e+02 4.5864235397118819e+01 - 16 1.0608395201173668e+02 3.5983845233526992e+01 1.8672925070386189e+01 - 17 2.3576828121395241e+02 -9.8577850318505511e+01 4.1004495565128586e+01 - 18 -2.0815095995902741e+01 -1.1578710179047430e+02 6.5566934287391263e+01 - 19 4.3264252619509847e+01 1.0912982970441868e+02 3.0901253523346554e+02 - 20 -1.0088948935029296e+02 7.4849484282711913e+01 -1.6550538409007385e+02 - 21 -8.5974038585183081e+01 -4.5987854992617834e+00 -7.3065890363335626e+01 - 22 1.3343130763213867e+02 -1.2211553430043760e+02 9.0325064574872243e+01 - 23 5.2984912690315269e+01 2.0042805349785095e+01 -9.0417924141684995e+00 - 24 -1.8954830238390488e+02 8.1645824240164018e+01 -1.2893974448861035e+01 - 25 -1.0068116183998592e+02 1.3220505876703567e+02 -4.8977129584747800e+01 - 26 2.1847179335289820e+02 -1.9385136258527231e+02 1.7114800244815061e+02 - 27 -3.7476307441658193e+01 3.0046433191315710e+01 9.3873685757283738e+01 - 28 9.9355970623229197e+01 -5.5158350569168128e+01 -3.1544144508393853e+01 - 29 -3.9530224377035040e+01 5.6690552166969916e+01 2.5358784555346130e+01 - 30 -9.7652510697052605e+01 -2.2271892169387453e+02 -1.4460597467192864e+02 - 31 -4.6194950503295722e+01 7.2792554749932378e+01 3.1151667586195479e+01 - 32 1.2014466624027639e+01 -3.4469133688337756e+01 -1.0621837802800977e+02 - 33 5.2553699854339712e+01 4.2706400148046903e+01 -3.0154323622364608e+01 - 34 1.6822906612351349e+02 -1.7651825961895091e-02 1.1832699040444524e+02 - 35 5.1193507571856594e+02 -1.3215008853106001e+03 1.1320319719742358e+03 - 36 -1.4340338085502863e+01 9.9690347849156822e+01 -1.3158127406978679e+02 - 37 -8.9323390159980181e+02 1.3545163222654817e+03 -7.5929442355796721e+02 - 38 -3.8384755818822509e+02 1.2143789174035305e+02 1.7579570815453911e+02 - 39 1.6381197094628513e+02 -1.2998258674043836e+01 -7.8543109639931160e+01 - 40 6.1411228642100049e+01 -2.0154566391139259e+01 4.3186834298875652e+01 - 41 1.3119781105415569e+01 1.7920555043075754e+00 3.3686007139293849e+01 - 42 -6.4838490750749202e+01 5.2660553302313652e+01 -6.8647362072367542e+01 - 43 2.0926308211689772e+02 8.2945847275902722e+01 1.1786850503407649e+02 - 44 -3.8461829626420936e+01 -7.5317323697263234e+01 -1.3445959877777378e+02 - 45 -3.4805239678702840e+01 7.6262295586966061e+01 4.3024220690600892e+01 - 46 2.3465031078234954e+01 -1.5312554894709733e+01 -3.8725170500358517e+00 - 47 -3.7271036720207945e+01 -5.4879638482209749e+01 -1.9275876359755905e+01 - 48 2.8270391245290489e+02 -1.7971102191169697e+02 -6.0165064633346822e+02 - 49 -2.0529526126133592e+03 -6.7744467074995413e+01 7.6241869031244312e+02 - 50 1.3291615685330385e+02 -9.8801239572742261e+01 9.9131933784099587e+01 + 1 -1.9811556407056102e+02 -1.5618143620847070e+02 -1.0716119874908739e+02 + 2 -4.1073968384374822e+01 -6.7710647015369261e+01 -4.2502864658157385e+01 + 3 3.1592798331689583e+01 8.8575236369726497e+01 1.4850890801985437e+02 + 4 1.7447282006187959e+02 3.2862369867970457e+01 -3.1175721266394834e+01 + 5 1.1873112974792329e+02 5.9090963929048314e+01 2.3738916225937453e+02 + 6 1.3053008444613586e+03 -4.4210323642713996e+02 -1.4246081409032695e+03 + 7 -8.7152343512651953e+01 -1.0895314566818776e+02 -3.5604721285130660e+02 + 8 -9.1046846091347703e+01 4.4451665481009499e+01 1.1879618751723051e+02 + 9 4.7463133585713919e+01 1.7228438483982211e+02 -1.4645071927693349e+01 + 10 6.3506921990797963e+01 4.8587688349158142e+01 1.1073324095443047e+01 + 11 -5.1917951887543467e+01 7.3818630188510312e+01 5.1369234828489176e+01 + 12 -1.0172154753205889e+02 -1.9847809999838830e+01 -1.7441731987232995e+01 + 13 -7.3048126072731876e+01 -4.5586545373889699e+01 2.8534758158919548e+01 + 14 8.6288077929554404e+01 -4.1660634795038867e+01 1.7096747148188040e+01 + 15 -3.5688114877422024e+01 1.2671728980619932e+02 4.5864235397118847e+01 + 16 1.0608395201173666e+02 3.5983845233526999e+01 1.8672925070386196e+01 + 17 2.3576828121395238e+02 -9.8577850318505440e+01 4.1004495565128614e+01 + 18 -2.0815095995902730e+01 -1.1578710179047432e+02 6.5566934287391277e+01 + 19 4.3264252619509840e+01 1.0912982970441865e+02 3.0901253523346554e+02 + 20 -1.0088948935029293e+02 7.4849484282711913e+01 -1.6550538409007382e+02 + 21 -8.5974038585183081e+01 -4.5987854992617692e+00 -7.3065890363335626e+01 + 22 1.3343130763213867e+02 -1.2211553430043763e+02 9.0325064574872258e+01 + 23 5.2984912690315262e+01 2.0042805349785073e+01 -9.0417924141684995e+00 + 24 -1.8954830238390488e+02 8.1645824240163975e+01 -1.2893974448861021e+01 + 25 -1.0068116183998590e+02 1.3220505876703564e+02 -4.8977129584747814e+01 + 26 2.1847179335289815e+02 -1.9385136258527231e+02 1.7114800244815055e+02 + 27 -3.7476307441658179e+01 3.0046433191315703e+01 9.3873685757283724e+01 + 28 9.9355970623229169e+01 -5.5158350569168121e+01 -3.1544144508393824e+01 + 29 -3.9530224377035040e+01 5.6690552166969916e+01 2.5358784555346112e+01 + 30 -9.7652510697052577e+01 -2.2271892169387456e+02 -1.4460597467192858e+02 + 31 -4.6194950503295701e+01 7.2792554749932393e+01 3.1151667586195508e+01 + 32 1.2014466624027643e+01 -3.4469133688337770e+01 -1.0621837802800977e+02 + 33 5.2553699854339705e+01 4.2706400148046903e+01 -3.0154323622364597e+01 + 34 1.6822906612351349e+02 -1.7651825961909302e-02 1.1832699040444521e+02 + 35 5.1193507571856611e+02 -1.3215008853106001e+03 1.1320319719742361e+03 + 36 -1.4340338085502884e+01 9.9690347849156851e+01 -1.3158127406978679e+02 + 37 -8.9323390159980192e+02 1.3545163222654817e+03 -7.5929442355796743e+02 + 38 -3.8384755818822509e+02 1.2143789174035302e+02 1.7579570815453908e+02 + 39 1.6381197094628516e+02 -1.2998258674043829e+01 -7.8543109639931160e+01 + 40 6.1411228642100035e+01 -2.0154566391139259e+01 4.3186834298875652e+01 + 41 1.3119781105415534e+01 1.7920555043075754e+00 3.3686007139293856e+01 + 42 -6.4838490750749202e+01 5.2660553302313680e+01 -6.8647362072367542e+01 + 43 2.0926308211689772e+02 8.2945847275902722e+01 1.1786850503407652e+02 + 44 -3.8461829626420936e+01 -7.5317323697263234e+01 -1.3445959877777375e+02 + 45 -3.4805239678702840e+01 7.6262295586966090e+01 4.3024220690600863e+01 + 46 2.3465031078234958e+01 -1.5312554894709733e+01 -3.8725170500358588e+00 + 47 -3.7271036720207924e+01 -5.4879638482209749e+01 -1.9275876359755912e+01 + 48 2.8270391245290489e+02 -1.7971102191169686e+02 -6.0165064633346822e+02 + 49 -2.0529526126133587e+03 -6.7744467074995427e+01 7.6241869031244289e+02 + 50 1.3291615685330387e+02 -9.8801239572742261e+01 9.9131933784099587e+01 51 2.6169570171244874e+02 -1.9762541199560968e+02 2.4063463246277209e+02 - 52 -1.2256816067286560e+02 1.3353356136884040e+02 -1.1597765595389474e+02 - 53 3.8012282364003778e+02 8.1194045374755683e+02 2.7050484440708368e+02 + 52 -1.2256816067286560e+02 1.3353356136884042e+02 -1.1597765595389475e+02 + 53 3.8012282364003789e+02 8.1194045374755683e+02 2.7050484440708351e+02 54 6.9456553969440762e+01 -1.1593864337324271e+02 2.2074869335520950e+02 55 8.7303368709848343e+01 -1.3907755259033479e+02 5.9542185087028599e+01 - 56 3.4769731101937157e+02 -2.4546533348164235e+02 -3.5075782168770780e+02 - 57 6.1706155820465277e+01 7.9892471516403987e+01 3.4375912204692596e+00 - 58 3.7237511516193948e+01 -1.2919240641738722e+02 3.9695822512620317e+01 - 59 -5.2071132643271164e+02 2.1045883047165901e+02 1.7082619476821390e+02 - 60 -7.8658294909200478e+01 -2.3007149625533529e+01 -1.2454738729229325e+02 - 61 -3.9624794908666530e+01 -5.5169201638846069e+01 -4.0777145486525050e+01 - 62 -1.8741606623350261e+01 -1.3845552517299271e+01 2.2601936169388708e+00 - 63 6.5142845574860658e+01 7.0992677773634583e+01 -8.4109461087571162e+01 - 64 4.0079794681812899e+01 9.6475030340595495e+01 9.1215541718322243e+01 + 56 3.4769731101937145e+02 -2.4546533348164240e+02 -3.5075782168770780e+02 + 57 6.1706155820465291e+01 7.9892471516403972e+01 3.4375912204692454e+00 + 58 3.7237511516193933e+01 -1.2919240641738722e+02 3.9695822512620310e+01 + 59 -5.2071132643271164e+02 2.1045883047165898e+02 1.7082619476821390e+02 + 60 -7.8658294909200450e+01 -2.3007149625533501e+01 -1.2454738729229325e+02 + 61 -3.9624794908666537e+01 -5.5169201638846069e+01 -4.0777145486525072e+01 + 62 -1.8741606623350247e+01 -1.3845552517299250e+01 2.2601936169388566e+00 + 63 6.5142845574860644e+01 7.0992677773634597e+01 -8.4109461087571191e+01 + 64 4.0079794681812906e+01 9.6475030340595453e+01 9.1215541718322228e+01 ... diff --git a/unittest/force-styles/tests/atomic-pair-reax_c_noqeq.yaml b/unittest/force-styles/tests/atomic-pair-reax_c_noqeq.yaml index 9cfaaf4625..97fbc95c46 100644 --- a/unittest/force-styles/tests/atomic-pair-reax_c_noqeq.yaml +++ b/unittest/force-styles/tests/atomic-pair-reax_c_noqeq.yaml @@ -1,8 +1,7 @@ --- lammps_version: 2 Jul 2021 -date_generated: Mon Jul 12 20:56:38 2021 +date_generated: Wed Jul 21 15:49:48 2021 epsilon: 5e-13 -skip_tests: omp prerequisites: ! | pair reax/c pre_commands: ! | @@ -33,139 +32,139 @@ natoms: 64 init_vdwl: -8975.381063460629 init_coul: 0.5928529868716559 init_stress: ! |- - -1.1526162173764683e+03 -4.6218014500723461e+02 3.1954383274884901e+02 -2.2197591028227621e+03 3.4480244373669785e+02 -1.2644452447488200e+03 + -1.1526162173764687e+03 -4.6218014500723211e+02 3.1954383274884714e+02 -2.2197591028227603e+03 3.4480244373669649e+02 -1.2644452447488172e+03 init_forces: ! |2 - 1 -2.0916057489019278e+02 -1.8819573882656792e+02 -2.2843342560290171e+02 - 2 -5.9711660034805291e+01 -1.3795294129596448e+02 -6.1450415050409106e+01 - 3 1.0924699545317881e+02 5.4683388561496884e+01 8.7122903226954129e+00 - 4 2.2394129214932286e+02 -1.2607110719575815e+02 5.6116628706921283e+01 - 5 2.1339173392425103e+01 2.3982132147793212e+02 -1.1311227256425612e+02 - 6 -2.3465218593173694e+02 8.7997863600775204e+01 7.1405034243397978e+01 - 7 1.7783507933620086e+02 3.8498185748852194e+01 -2.7669272643606155e+02 - 8 -2.1014288646597468e+01 -4.0711968506334620e+02 1.5140757706928005e+02 - 9 -5.9307137188585735e+01 2.6264734812019469e+02 1.7442573676385443e+01 - 10 -8.4525778086876372e+01 1.5450140994331881e+02 6.0015146335720981e+00 - 11 -1.1159775028831375e+02 1.8656236384929730e+02 3.4449805909515084e+02 - 12 3.3347376393571255e+02 -3.8243903563632881e+02 5.1141444486612528e+01 - 13 -3.9347479057410175e+02 -9.9340014971740487e+01 2.4784035090896253e+02 - 14 1.7611459182140416e+02 -2.8017601742944402e+02 -2.7997644562222024e+02 - 15 2.5245744141516636e+02 -5.4739900421247576e+01 -1.3455773775633745e+02 - 16 1.6595098746018405e+02 1.6278076690062335e+02 4.2176787064349710e+01 - 17 4.0560547690525915e+01 2.0278202415209444e+02 1.1655337573721710e+02 - 18 1.9349019934523830e+02 -3.1749998507536635e+01 -3.0048600991173725e+01 - 19 -5.9067561742604568e+01 1.7643823088626270e+01 -1.0450409059207502e+02 - 20 1.3106558748347643e+02 2.5186173846559516e+01 1.3540015692568889e+02 - 21 -3.2006237187616756e+02 -1.1510771805635616e+02 -2.5816513201572068e+01 - 22 -1.2737471666033539e+01 -1.3033080251953407e+02 -1.4399680837176066e+02 - 23 -1.0142123148353758e+02 2.3316671624708323e+02 2.3905950409694179e+02 - 24 4.1563056415358169e+01 -1.2911164666848796e+01 -3.1668646816892700e+01 - 25 2.1166667371090460e+02 -2.0418293867725825e+02 -3.1232107629433731e+01 - 26 -2.6320989589682614e+02 1.2065128452552987e+02 2.6277305997802796e+02 - 27 -7.4498892273813865e+01 1.0778676260209129e+02 1.6095170163345196e+02 - 28 -2.4911277843488330e+02 -9.8499434443852323e+01 2.2239731087969662e+02 - 29 4.5655943120047868e+02 -5.6181584973687457e+01 -2.7582701917178326e+02 - 30 -1.1441865289035461e+02 5.2275082681973409e+01 -1.7193995473573816e+02 - 31 -1.8373014671249769e+02 -1.0039330382749462e+02 -9.6978960598961947e+01 - 32 1.5285998335729258e+02 -1.2909970668700703e+02 -1.8526770753201481e+02 - 33 2.0676721005976013e+01 3.7957156269713232e+02 -3.0331770321178414e+01 - 34 -1.8483566994370270e+02 -8.4859568901690906e+01 -1.0334717791993535e+02 - 35 -4.3920895665271935e+01 1.3832065189158040e+00 3.2302673529697479e+01 - 36 6.0407395927653840e+02 6.3222430241983602e+02 -1.5530384927410198e+01 - 37 -1.7704334275340958e+02 -3.4711199127962510e+02 2.0757920588578631e+02 - 38 -1.5990280705026578e+02 3.4383476554695534e+01 -1.1348860416567172e+02 - 39 1.2481780186485386e+02 3.1854282379699551e+01 2.4141006149778542e+02 - 40 -3.3952439214884555e+02 -5.2081203805390805e+02 -3.2749145453037904e+01 - 41 1.5953768898032132e+01 -2.5259433402085026e+01 -6.0977489335468242e+01 - 42 -3.5152692860571921e+02 1.0103192674618649e+02 1.0057493004151380e+02 - 43 1.8325251692529525e+02 -1.7843397924740284e+01 3.5813821983655600e+01 - 44 -1.7148730839833942e+02 6.5823249480752622e+01 -3.9043544554425509e+01 - 45 6.8021934986582622e+01 -5.2957926506736321e+01 -1.1278207528809645e+02 - 46 -1.9814589514445538e+02 3.1899128186018817e+02 -1.7125192460144410e+02 - 47 2.3518092199846146e+02 1.7325250425397039e+02 -4.6491315549358909e+01 - 48 -7.0934283327750434e+00 -2.1510500994703639e+02 2.8256786369777672e+02 - 49 2.4924479910930853e+02 -2.5977407369868601e+01 -1.9539857038363738e+02 - 50 9.0194565818523955e+01 2.6674460312457484e+02 4.8188042682115714e+01 - 51 2.7001317908987642e+02 -2.5024437918679871e+02 3.3082272466414395e+02 - 52 2.6770006025654067e+02 -1.3486195976744685e+02 -1.0999251813934440e+02 - 53 -3.0038447974652507e+02 1.7427208891886863e+02 -2.8369940533043155e+02 - 54 -1.8044322949045332e+02 3.2006167622599366e+02 -2.1986764638272368e+02 - 55 -6.7026995338193785e+01 2.8420556560193825e+02 -1.8256943632991815e+02 - 56 -9.3944897793228427e+02 7.6593871052490795e+02 -4.5872941120666036e+02 - 57 -2.7671724574062154e+01 -1.7257977562305285e+02 -1.6210118849324644e+02 - 58 7.1032070297632515e+02 -8.0881938208311499e+02 4.6676948457734852e+02 - 59 1.5682857500225748e+02 5.9891527233627251e+01 1.2646558890105979e+02 - 60 9.4076874705709940e+01 -1.1749874299724536e+02 -2.9919368333582653e+01 - 61 -4.8945763699767674e+01 1.6634783727405593e+02 6.7645978441449785e+01 - 62 1.6618577867039602e+02 7.3503605317082432e+01 2.2193892218236812e+02 - 63 4.6491757293229652e+00 -3.5581179274724047e+02 -3.8944419279304846e+01 - 64 -2.0021113303887086e+02 -1.1223202348830974e+02 3.0276216112541510e+02 + 1 -2.0916057489019281e+02 -1.8819573882656800e+02 -2.2843342560290168e+02 + 2 -5.9711660034805249e+01 -1.3795294129596448e+02 -6.1450415050409148e+01 + 3 1.0924699545317881e+02 5.4683388561496862e+01 8.7122903226952957e+00 + 4 2.2394129214932281e+02 -1.2607110719575809e+02 5.6116628706921283e+01 + 5 2.1339173392425174e+01 2.3982132147793220e+02 -1.1311227256425610e+02 + 6 -2.3465218593173694e+02 8.7997863600775275e+01 7.1405034243397949e+01 + 7 1.7783507933620086e+02 3.8498185748852151e+01 -2.7669272643606143e+02 + 8 -2.1014288646597382e+01 -4.0711968506334631e+02 1.5140757706927999e+02 + 9 -5.9307137188585777e+01 2.6264734812019475e+02 1.7442573676385468e+01 + 10 -8.4525778086876414e+01 1.5450140994331875e+02 6.0015146335721816e+00 + 11 -1.1159775028831368e+02 1.8656236384929727e+02 3.4449805909515095e+02 + 12 3.3347376393571255e+02 -3.8243903563632887e+02 5.1141444486612457e+01 + 13 -3.9347479057410180e+02 -9.9340014971740459e+01 2.4784035090896259e+02 + 14 1.7611459182140419e+02 -2.8017601742944402e+02 -2.7997644562222013e+02 + 15 2.5245744141516630e+02 -5.4739900421247519e+01 -1.3455773775633745e+02 + 16 1.6595098746018419e+02 1.6278076690062332e+02 4.2176787064349682e+01 + 17 4.0560547690525858e+01 2.0278202415209441e+02 1.1655337573721701e+02 + 18 1.9349019934523832e+02 -3.1749998507536677e+01 -3.0048600991173775e+01 + 19 -5.9067561742604539e+01 1.7643823088626213e+01 -1.0450409059207507e+02 + 20 1.3106558748347641e+02 2.5186173846559530e+01 1.3540015692568889e+02 + 21 -3.2006237187616756e+02 -1.1510771805635612e+02 -2.5816513201572022e+01 + 22 -1.2737471666033581e+01 -1.3033080251953402e+02 -1.4399680837176064e+02 + 23 -1.0142123148353754e+02 2.3316671624708317e+02 2.3905950409694182e+02 + 24 4.1563056415358190e+01 -1.2911164666848924e+01 -3.1668646816892771e+01 + 25 2.1166667371090466e+02 -2.0418293867725822e+02 -3.1232107629433731e+01 + 26 -2.6320989589682620e+02 1.2065128452552996e+02 2.6277305997802802e+02 + 27 -7.4498892273813851e+01 1.0778676260209129e+02 1.6095170163345199e+02 + 28 -2.4911277843488335e+02 -9.8499434443852294e+01 2.2239731087969656e+02 + 29 4.5655943120047868e+02 -5.6181584973687627e+01 -2.7582701917178315e+02 + 30 -1.1441865289035459e+02 5.2275082681973402e+01 -1.7193995473573804e+02 + 31 -1.8373014671249769e+02 -1.0039330382749465e+02 -9.6978960598961947e+01 + 32 1.5285998335729258e+02 -1.2909970668700709e+02 -1.8526770753201484e+02 + 33 2.0676721005976084e+01 3.7957156269713232e+02 -3.0331770321178464e+01 + 34 -1.8483566994370267e+02 -8.4859568901690949e+01 -1.0334717791993538e+02 + 35 -4.3920895665272049e+01 1.3832065189158744e+00 3.2302673529697394e+01 + 36 6.0407395927653863e+02 6.3222430241983591e+02 -1.5530384927410136e+01 + 37 -1.7704334275340958e+02 -3.4711199127962510e+02 2.0757920588578634e+02 + 38 -1.5990280705026572e+02 3.4383476554695449e+01 -1.1348860416567172e+02 + 39 1.2481780186485392e+02 3.1854282379699594e+01 2.4141006149778536e+02 + 40 -3.3952439214884566e+02 -5.2081203805390805e+02 -3.2749145453037933e+01 + 41 1.5953768898032115e+01 -2.5259433402084984e+01 -6.0977489335468270e+01 + 42 -3.5152692860571921e+02 1.0103192674618646e+02 1.0057493004151388e+02 + 43 1.8325251692529523e+02 -1.7843397924740334e+01 3.5813821983655501e+01 + 44 -1.7148730839833948e+02 6.5823249480752679e+01 -3.9043544554425530e+01 + 45 6.8021934986582622e+01 -5.2957926506736349e+01 -1.1278207528809644e+02 + 46 -1.9814589514445535e+02 3.1899128186018834e+02 -1.7125192460144413e+02 + 47 2.3518092199846154e+02 1.7325250425397039e+02 -4.6491315549358909e+01 + 48 -7.0934283327749368e+00 -2.1510500994703631e+02 2.8256786369777683e+02 + 49 2.4924479910930842e+02 -2.5977407369868608e+01 -1.9539857038363732e+02 + 50 9.0194565818523870e+01 2.6674460312457489e+02 4.8188042682115714e+01 + 51 2.7001317908987642e+02 -2.5024437918679871e+02 3.3082272466414389e+02 + 52 2.6770006025654061e+02 -1.3486195976744682e+02 -1.0999251813934431e+02 + 53 -3.0038447974652496e+02 1.7427208891886863e+02 -2.8369940533043155e+02 + 54 -1.8044322949045329e+02 3.2006167622599372e+02 -2.1986764638272354e+02 + 55 -6.7026995338193800e+01 2.8420556560193813e+02 -1.8256943632991832e+02 + 56 -9.3944897793228449e+02 7.6593871052490772e+02 -4.5872941120666047e+02 + 57 -2.7671724574062118e+01 -1.7257977562305288e+02 -1.6210118849324647e+02 + 58 7.1032070297632538e+02 -8.0881938208311476e+02 4.6676948457734858e+02 + 59 1.5682857500225737e+02 5.9891527233627293e+01 1.2646558890105982e+02 + 60 9.4076874705709926e+01 -1.1749874299724534e+02 -2.9919368333582668e+01 + 61 -4.8945763699767689e+01 1.6634783727405593e+02 6.7645978441449742e+01 + 62 1.6618577867039599e+02 7.3503605317082489e+01 2.2193892218236817e+02 + 63 4.6491757293230078e+00 -3.5581179274724042e+02 -3.8944419279304846e+01 + 64 -2.0021113303887074e+02 -1.1223202348830974e+02 3.0276216112541510e+02 run_vdwl: -8975.380420767826 run_coul: 0.5928530763135977 run_stress: ! |- - -1.1524045146329231e+03 -4.6202672628887268e+02 3.1947257175242231e+02 -2.2198788293036200e+03 3.4537925625758328e+02 -1.2645006400276918e+03 + -1.1524045146329215e+03 -4.6202672628887183e+02 3.1947257175242123e+02 -2.2198788293036246e+03 3.4537925625758203e+02 -1.2645006400276918e+03 run_forces: ! |2 - 1 -2.0916271375742122e+02 -1.8819704628010820e+02 -2.2843189669574852e+02 - 2 -5.9713089401385787e+01 -1.3795344000202866e+02 -6.1452818077516426e+01 - 3 1.0924320976999630e+02 5.4687819694184142e+01 8.7119001425249518e+00 - 4 2.2394063345773969e+02 -1.2606895888134676e+02 5.6116327882122533e+01 - 5 2.1344393241529360e+01 2.3982487161745496e+02 -1.1311589687086055e+02 - 6 -2.3464311544028666e+02 8.7956955368837427e+01 7.1434549534144523e+01 - 7 1.7780879390887415e+02 3.8509431501988246e+01 -2.7664422105920835e+02 - 8 -2.1021838063645568e+01 -4.0712804090199722e+02 1.5141447171445833e+02 - 9 -5.9306114388327742e+01 2.6264890826456997e+02 1.7441651570743588e+01 - 10 -8.4526898873820201e+01 1.5450366474645668e+02 6.0033453272929940e+00 - 11 -1.1159943563282735e+02 1.8656190683525134e+02 3.4449923076959345e+02 - 12 3.3352091011374790e+02 -3.8250187755922349e+02 5.1084711927225143e+01 - 13 -3.9348220819701362e+02 -9.9340584671855126e+01 2.4784344215807911e+02 - 14 1.7611207455981244e+02 -2.8017472349270184e+02 -2.7998178961052838e+02 - 15 2.5245571069035290e+02 -5.4734821409382626e+01 -1.3455249096986566e+02 - 16 1.6596243938777351e+02 1.6278821061030078e+02 4.2193739172058962e+01 - 17 4.0563209609350160e+01 2.0278198687184394e+02 1.1655244113651584e+02 - 18 1.9349048420969314e+02 -3.1742251436587967e+01 -3.0059327012827964e+01 - 19 -5.9065305354749185e+01 1.7641117222083235e+01 -1.0450807266106713e+02 - 20 1.3106409577706648e+02 2.5186488486411651e+01 1.3539864929844231e+02 - 21 -3.2006405209533727e+02 -1.1510774059461794e+02 -2.5815972761838644e+01 - 22 -1.2758648770740034e+01 -1.3030598897381913e+02 -1.4401125298080760e+02 - 23 -1.0142069915754510e+02 2.3316707339244664e+02 2.3905997646640651e+02 - 24 4.1563103349612355e+01 -1.2912528416939978e+01 -3.1670350622584593e+01 - 25 2.1168614583214108e+02 -2.0420927517565983e+02 -3.1221859837734250e+01 - 26 -2.6321230702712649e+02 1.2065335797472038e+02 2.6277789068532360e+02 - 27 -7.4500805679154823e+01 1.0778230652943388e+02 1.6094824153641918e+02 - 28 -2.4910955893577807e+02 -9.8496280842320616e+01 2.2240251270644734e+02 - 29 4.5656377692784969e+02 -5.6186906107102686e+01 -2.7582984196898542e+02 - 30 -1.1442511837997856e+02 5.2288586072111144e+01 -1.7194888884507304e+02 - 31 -1.8372666861898108e+02 -1.0040300216200654e+02 -9.6974937189118549e+01 - 32 1.5285848611243131e+02 -1.2910298326427261e+02 -1.8526958855531907e+02 - 33 2.0676324457133298e+01 3.7958042970093453e+02 -3.0330268376879861e+01 - 34 -1.8482802426276322e+02 -8.4860106696650362e+01 -1.0335087798868081e+02 - 35 -4.3757312673305961e+01 1.3332543035332394e+00 3.2176626618113424e+01 - 36 6.0396434382165080e+02 6.3211513244050911e+02 -1.5608509994293938e+01 - 37 -1.7702865323607540e+02 -3.4710307878941217e+02 2.0756937792988572e+02 - 38 -1.5990155316495603e+02 3.4380405811165133e+01 -1.1348496857139023e+02 - 39 1.2481655186335834e+02 3.1838210934905270e+01 2.4138399128801109e+02 - 40 -3.3940174784427825e+02 -5.2071078889465889e+02 -3.2710078405858489e+01 - 41 1.5894692394219231e+01 -2.5287374067694170e+01 -6.0953115361932809e+01 - 42 -3.5153052244718293e+02 1.0102830549812477e+02 1.0056790310062641e+02 - 43 1.8327499597791055e+02 -1.7817142708111650e+01 3.5817319257754193e+01 - 44 -1.7148210647983669e+02 6.5813679084638309e+01 -3.9042611994879181e+01 - 45 6.8003425377666687e+01 -5.2977048819501960e+01 -1.1277968937633442e+02 - 46 -1.9814362259114762e+02 3.1898369061349177e+02 -1.7124898143652061e+02 - 47 2.3513270166768126e+02 1.7331295501003885e+02 -4.6450664399000594e+01 - 48 -7.0870567240296412e+00 -2.1510840134220808e+02 2.8256287551251631e+02 - 49 2.4924760680789768e+02 -2.5986199354026756e+01 -1.9539743684221278e+02 - 50 9.0194077117530043e+01 2.6674400385736777e+02 4.8189887304663067e+01 + 1 -2.0916271375742122e+02 -1.8819704628010817e+02 -2.2843189669574869e+02 + 2 -5.9713089401385758e+01 -1.3795344000202869e+02 -6.1452818077516390e+01 + 3 1.0924320976999630e+02 5.4687819694184149e+01 8.7119001425249856e+00 + 4 2.2394063345773964e+02 -1.2606895888134682e+02 5.6116327882122576e+01 + 5 2.1344393241529389e+01 2.3982487161745499e+02 -1.1311589687086055e+02 + 6 -2.3464311544028661e+02 8.7956955368837384e+01 7.1434549534144637e+01 + 7 1.7780879390887415e+02 3.8509431501988217e+01 -2.7664422105920829e+02 + 8 -2.1021838063645482e+01 -4.0712804090199722e+02 1.5141447171445827e+02 + 9 -5.9306114388327757e+01 2.6264890826456991e+02 1.7441651570743552e+01 + 10 -8.4526898873820215e+01 1.5450366474645668e+02 6.0033453272930384e+00 + 11 -1.1159943563282745e+02 1.8656190683525122e+02 3.4449923076959351e+02 + 12 3.3352091011374790e+02 -3.8250187755922354e+02 5.1084711927225193e+01 + 13 -3.9348220819701362e+02 -9.9340584671855169e+01 2.4784344215807909e+02 + 14 1.7611207455981241e+02 -2.8017472349270173e+02 -2.7998178961052844e+02 + 15 2.5245571069035296e+02 -5.4734821409382555e+01 -1.3455249096986572e+02 + 16 1.6596243938777354e+02 1.6278821061030078e+02 4.2193739172058905e+01 + 17 4.0563209609350160e+01 2.0278198687184386e+02 1.1655244113651577e+02 + 18 1.9349048420969311e+02 -3.1742251436588031e+01 -3.0059327012828049e+01 + 19 -5.9065305354749214e+01 1.7641117222083306e+01 -1.0450807266106700e+02 + 20 1.3106409577706646e+02 2.5186488486411605e+01 1.3539864929844234e+02 + 21 -3.2006405209533733e+02 -1.1510774059461774e+02 -2.5815972761838673e+01 + 22 -1.2758648770740059e+01 -1.3030598897381921e+02 -1.4401125298080763e+02 + 23 -1.0142069915754507e+02 2.3316707339244658e+02 2.3905997646640648e+02 + 24 4.1563103349612369e+01 -1.2912528416939935e+01 -3.1670350622584650e+01 + 25 2.1168614583214125e+02 -2.0420927517565985e+02 -3.1221859837734193e+01 + 26 -2.6321230702712660e+02 1.2065335797472045e+02 2.6277789068532365e+02 + 27 -7.4500805679154780e+01 1.0778230652943385e+02 1.6094824153641912e+02 + 28 -2.4910955893577795e+02 -9.8496280842320559e+01 2.2240251270644745e+02 + 29 4.5656377692784969e+02 -5.6186906107102686e+01 -2.7582984196898536e+02 + 30 -1.1442511837997850e+02 5.2288586072111215e+01 -1.7194888884507304e+02 + 31 -1.8372666861898102e+02 -1.0040300216200652e+02 -9.6974937189118549e+01 + 32 1.5285848611243128e+02 -1.2910298326427264e+02 -1.8526958855531913e+02 + 33 2.0676324457133269e+01 3.7958042970093453e+02 -3.0330268376879818e+01 + 34 -1.8482802426276319e+02 -8.4860106696650320e+01 -1.0335087798868084e+02 + 35 -4.3757312673306046e+01 1.3332543035332109e+00 3.2176626618113481e+01 + 36 6.0396434382165091e+02 6.3211513244050911e+02 -1.5608509994294000e+01 + 37 -1.7702865323607537e+02 -3.4710307878941217e+02 2.0756937792988569e+02 + 38 -1.5990155316495614e+02 3.4380405811165076e+01 -1.1348496857139016e+02 + 39 1.2481655186335830e+02 3.1838210934905284e+01 2.4138399128801106e+02 + 40 -3.3940174784427819e+02 -5.2071078889465889e+02 -3.2710078405858532e+01 + 41 1.5894692394219259e+01 -2.5287374067694170e+01 -6.0953115361932859e+01 + 42 -3.5153052244718299e+02 1.0102830549812481e+02 1.0056790310062642e+02 + 43 1.8327499597791055e+02 -1.7817142708111664e+01 3.5817319257754207e+01 + 44 -1.7148210647983674e+02 6.5813679084638309e+01 -3.9042611994879181e+01 + 45 6.8003425377666758e+01 -5.2977048819501903e+01 -1.1277968937633439e+02 + 46 -1.9814362259114759e+02 3.1898369061349172e+02 -1.7124898143652064e+02 + 47 2.3513270166768126e+02 1.7331295501003882e+02 -4.6450664399000594e+01 + 48 -7.0870567240295701e+00 -2.1510840134220823e+02 2.8256287551251637e+02 + 49 2.4924760680789757e+02 -2.5986199354026777e+01 -1.9539743684221281e+02 + 50 9.0194077117530171e+01 2.6674400385736777e+02 4.8189887304663053e+01 51 2.7001321252850289e+02 -2.5024728349358162e+02 3.3082537396992757e+02 - 52 2.6774804404985821e+02 -1.3486815275053038e+02 -1.0995893066873343e+02 - 53 -3.0038420314626603e+02 1.7427256870890602e+02 -2.8369883331393498e+02 - 54 -1.8044337650670002e+02 3.2006027628882646e+02 -2.1986948976707882e+02 - 55 -6.7001753892442011e+01 2.8430150309051572e+02 -1.8265115796763561e+02 - 56 -9.3985837397072532e+02 7.6632225180339810e+02 -4.5884355139046016e+02 - 57 -2.7678338148623979e+01 -1.7258885892537234e+02 -1.6210010817478292e+02 - 58 7.1048197789438450e+02 -8.0911013609888585e+02 4.6702832864248001e+02 - 59 1.5682431931196510e+02 5.9896412584257810e+01 1.2646734132724080e+02 - 60 9.4082766259421007e+01 -1.1751801568433156e+02 -2.9921033400739130e+01 - 61 -4.8935117837153584e+01 1.6627961752299834e+02 6.7603012413403007e+01 - 62 1.6622090697397982e+02 7.3539705289790803e+01 2.2199414281313432e+02 - 63 4.6500905620167821e+00 -3.5581268146467818e+02 -3.8945035187443878e+01 - 64 -2.0020316331354053e+02 -1.1222336846987974e+02 3.0276528613232387e+02 + 52 2.6774804404985809e+02 -1.3486815275053038e+02 -1.0995893066873337e+02 + 53 -3.0038420314626609e+02 1.7427256870890602e+02 -2.8369883331393498e+02 + 54 -1.8044337650670010e+02 3.2006027628882651e+02 -2.1986948976707873e+02 + 55 -6.7001753892442125e+01 2.8430150309051584e+02 -1.8265115796763567e+02 + 56 -9.3985837397072532e+02 7.6632225180339799e+02 -4.5884355139046050e+02 + 57 -2.7678338148624022e+01 -1.7258885892537234e+02 -1.6210010817478278e+02 + 58 7.1048197789438450e+02 -8.0911013609888573e+02 4.6702832864248001e+02 + 59 1.5682431931196504e+02 5.9896412584257810e+01 1.2646734132724080e+02 + 60 9.4082766259420993e+01 -1.1751801568433152e+02 -2.9921033400739145e+01 + 61 -4.8935117837153584e+01 1.6627961752299828e+02 6.7603012413403036e+01 + 62 1.6622090697397977e+02 7.3539705289790774e+01 2.2199414281313429e+02 + 63 4.6500905620168673e+00 -3.5581268146467818e+02 -3.8945035187443779e+01 + 64 -2.0020316331354053e+02 -1.1222336846987976e+02 3.0276528613232387e+02 ... diff --git a/unittest/force-styles/tests/atomic-pair-reax_c_tabulate.yaml b/unittest/force-styles/tests/atomic-pair-reax_c_tabulate.yaml index 8afebb059b..23e046037c 100644 --- a/unittest/force-styles/tests/atomic-pair-reax_c_tabulate.yaml +++ b/unittest/force-styles/tests/atomic-pair-reax_c_tabulate.yaml @@ -1,8 +1,7 @@ --- lammps_version: 2 Jul 2021 -date_generated: Mon Jul 12 20:56:39 2021 +date_generated: Wed Jul 21 15:49:50 2021 epsilon: 1e-12 -skip_tests: omp prerequisites: ! | pair reax/c fix qeq/reax @@ -39,139 +38,139 @@ natoms: 64 init_vdwl: -3248.7357862540734 init_coul: -327.0655125227952 init_stress: ! |- - -9.1835020319343903e+02 -1.1070721188680500e+03 -7.1558466813462928e+02 -2.3040889388184371e+02 1.9640581541966435e+02 -6.6002885423290161e+02 + -9.1835020319343971e+02 -1.1070721188680495e+03 -7.1558466813462803e+02 -2.3040889388184610e+02 1.9640581541966480e+02 -6.6002885423290161e+02 init_forces: ! |2 - 1 -8.8484243142053771e+01 -2.5824351291806131e+01 1.0916231386685253e+02 - 2 -1.0451347832614758e+02 -1.8136974287862063e+02 -2.1792749625845642e+02 - 3 -1.7141330932870608e+02 1.8106971255162955e+02 1.2675253960497301e+01 - 4 3.2218812838204848e+01 -5.1411756251266169e+01 9.0007306757969332e+01 - 5 1.8144819687099243e+02 1.6798395592380494e+01 -8.1726053808337795e+01 - 6 1.3634126802325468e+02 -3.0056831863560092e+02 2.9662272655036674e+01 - 7 -5.2968391883957075e+01 -1.2850613949952665e+02 -1.6373506942005375e+02 - 8 -1.5240314403220790e+02 4.1133257093807195e+01 1.5386487473711944e+02 - 9 3.2812532468307630e+01 1.0176367686189140e+02 1.4294427965088833e+01 - 10 7.9509811085534508e+01 1.3053732532659748e+02 1.1246398073074913e+02 - 11 -4.3144361329385013e+01 6.5763458097239607e+01 1.3482625633510347e+02 - 12 -9.6706456479566398e+01 -2.5878068074726730e+01 7.8323180467847466e+00 - 13 -6.3851121453490357e+01 -4.6607020158192647e+01 -3.6458352736129619e+01 - 14 7.8283848679559682e+01 -6.3646790831912000e+01 -8.9030561188058030e+01 - 15 -6.4212540181982106e+01 2.1093128152294153e+02 7.9060299592798899e+01 - 16 1.8608410345576598e+02 5.8084942932974315e+01 5.8538920003760346e+01 - 17 1.4285494615811757e+02 -3.9754521764346137e+01 -9.7686742464543357e+01 + 1 -8.8484243142053771e+01 -2.5824351291806110e+01 1.0916231386685256e+02 + 2 -1.0451347832614756e+02 -1.8136974287862066e+02 -2.1792749625845636e+02 + 3 -1.7141330932870599e+02 1.8106971255162949e+02 1.2675253960497342e+01 + 4 3.2218812838204855e+01 -5.1411756251266183e+01 9.0007306757969360e+01 + 5 1.8144819687099243e+02 1.6798395592380508e+01 -8.1726053808337866e+01 + 6 1.3634126802325463e+02 -3.0056831863560092e+02 2.9662272655036702e+01 + 7 -5.2968391883957104e+01 -1.2850613949952665e+02 -1.6373506942005375e+02 + 8 -1.5240314403220790e+02 4.1133257093807174e+01 1.5386487473711946e+02 + 9 3.2812532468307580e+01 1.0176367686189141e+02 1.4294427965088833e+01 + 10 7.9509811085534523e+01 1.3053732532659751e+02 1.1246398073074913e+02 + 11 -4.3144361329385013e+01 6.5763458097239592e+01 1.3482625633510347e+02 + 12 -9.6706456479566398e+01 -2.5878068074726777e+01 7.8323180467847324e+00 + 13 -6.3851121453490386e+01 -4.6607020158192661e+01 -3.6458352736129626e+01 + 14 7.8283848679559611e+01 -6.3646790831912028e+01 -8.9030561188058030e+01 + 15 -6.4212540181982106e+01 2.1093128152294148e+02 7.9060299592798927e+01 + 16 1.8608410345576596e+02 5.8084942932974329e+01 5.8538920003760360e+01 + 17 1.4285494615811757e+02 -3.9754521764346144e+01 -9.7686742464543357e+01 18 -4.1881548239260340e+01 -1.8476992042512617e+02 1.0708048360801492e+02 - 19 2.6677589878662855e+02 3.7179534199157007e+02 -3.3866575926816608e+02 - 20 -7.3520359401756991e+01 -8.3905077072099573e+01 -2.3854316876052961e-01 - 21 -7.2528668519170566e+01 -5.5898051886914395e+01 -1.1976059789267009e+02 - 22 1.5613953224968657e+02 -1.3200393155013322e+02 8.2112641076919701e+01 - 23 8.1833165091702909e+01 -1.7531644917125782e+01 -2.5648343293479577e+01 - 24 -2.1833127742352656e+02 1.9453922798678227e+02 -1.0817823414171312e+02 - 25 -1.1414613109864892e+02 1.9088917707975912e+02 -8.3362585828151552e+01 - 26 2.8281696751420088e+02 -2.1478267582733659e+02 2.2873793580282316e+02 - 27 -5.9769124622217909e+01 6.5221508924768330e+01 1.7553584075622149e+02 - 28 -2.9606162623424783e+00 3.8183918395203605e+01 3.2190129571074365e+01 - 29 -7.1069178571897922e+01 3.5485903180456219e+01 2.7311648896337669e+01 - 30 -1.7036975157904502e+02 -1.9851849204561248e+02 -1.1511387046436195e+02 - 31 -1.3744101014029059e+02 1.6223817575815931e+02 -1.1915340963940670e+02 - 32 2.7247730686207166e+01 -6.0237587331413039e+01 -1.7664910575209962e+02 + 19 2.6677589878662843e+02 3.7179534199157007e+02 -3.3866575926816614e+02 + 20 -7.3520359401756977e+01 -8.3905077072099573e+01 -2.3854316876052761e-01 + 21 -7.2528668519170537e+01 -5.5898051886914395e+01 -1.1976059789267006e+02 + 22 1.5613953224968657e+02 -1.3200393155013327e+02 8.2112641076919701e+01 + 23 8.1833165091702966e+01 -1.7531644917125725e+01 -2.5648343293479527e+01 + 24 -2.1833127742352659e+02 1.9453922798678227e+02 -1.0817823414171309e+02 + 25 -1.1414613109864892e+02 1.9088917707975912e+02 -8.3362585828151580e+01 + 26 2.8281696751420094e+02 -2.1478267582733662e+02 2.2873793580282313e+02 + 27 -5.9769124622217880e+01 6.5221508924768301e+01 1.7553584075622149e+02 + 28 -2.9606162623424428e+00 3.8183918395203612e+01 3.2190129571074365e+01 + 29 -7.1069178571897922e+01 3.5485903180456219e+01 2.7311648896337690e+01 + 30 -1.7036975157904502e+02 -1.9851849204561248e+02 -1.1511387046436192e+02 + 31 -1.3744101014029056e+02 1.6223817575815926e+02 -1.1915340963940670e+02 + 32 2.7247730686207166e+01 -6.0237587331413046e+01 -1.7664910575209962e+02 33 -6.1822971861324099e+01 -6.2648749988189138e+01 6.4194672454603221e+01 - 34 -1.7144145154614481e+01 9.9612835226783460e+01 -6.7437146990430080e+01 - 35 2.7024145652918196e+02 -2.1533864682645708e+02 1.3021380112890139e+02 - 36 1.0192185945862100e+02 1.8671686332443795e+02 -1.9864174410201804e+02 - 37 -1.7944122400067195e+02 1.2994089095714943e+02 -6.4321354857450871e+01 - 38 -2.9675055634802862e+02 1.0371104129720518e+02 1.5526989537725160e+02 - 39 8.6949523213895674e+01 -5.9975159120196956e+01 2.1780252234486241e+01 - 40 2.1612729980868430e+01 -1.0242580356371293e+02 5.7270724021457731e+01 - 41 -5.7836015722979205e+01 1.2268076597657853e+01 -6.6177893589402757e+01 - 42 -9.4774792026636987e+01 3.6872244003647978e+01 -7.5003138682741707e+01 - 43 2.2327470123469593e+02 9.5798787537490540e+01 1.2250410628715080e+02 - 44 8.7959342085865870e+01 -9.8740455124804626e+01 -8.4938709742755535e+01 - 45 1.4089093363544144e+01 1.2499300233485909e+02 5.5864237375372056e+01 - 46 1.3547776948110229e+01 -2.9276229642219512e+01 2.2187402435965939e+01 - 47 3.3448457824361199e+01 -1.9209977417392150e+02 -6.9989895706263340e+01 - 48 6.7827627502625162e+01 -2.0361789453088664e+02 -2.8571736118815554e+01 - 49 -3.7476005148434922e+02 -2.4452451195186526e+01 1.0764661193358344e+02 - 50 4.0090993029105412e+01 -7.3201402054245932e+01 8.9025922810974976e+01 + 34 -1.7144145154614467e+01 9.9612835226783488e+01 -6.7437146990430065e+01 + 35 2.7024145652918202e+02 -2.1533864682645725e+02 1.3021380112890154e+02 + 36 1.0192185945862101e+02 1.8671686332443795e+02 -1.9864174410201804e+02 + 37 -1.7944122400067201e+02 1.2994089095714961e+02 -6.4321354857450956e+01 + 38 -2.9675055634802868e+02 1.0371104129720520e+02 1.5526989537725160e+02 + 39 8.6949523213895688e+01 -5.9975159120196956e+01 2.1780252234486241e+01 + 40 2.1612729980868444e+01 -1.0242580356371295e+02 5.7270724021457731e+01 + 41 -5.7836015722979198e+01 1.2268076597657853e+01 -6.6177893589402757e+01 + 42 -9.4774792026636959e+01 3.6872244003648007e+01 -7.5003138682741707e+01 + 43 2.2327470123469598e+02 9.5798787537490540e+01 1.2250410628715086e+02 + 44 8.7959342085865842e+01 -9.8740455124804612e+01 -8.4938709742755563e+01 + 45 1.4089093363544151e+01 1.2499300233485907e+02 5.5864237375372056e+01 + 46 1.3547776948110229e+01 -2.9276229642219498e+01 2.2187402435965936e+01 + 47 3.3448457824361142e+01 -1.9209977417392156e+02 -6.9989895706263411e+01 + 48 6.7827627502625162e+01 -2.0361789453088662e+02 -2.8571736118815590e+01 + 49 -3.7476005148434911e+02 -2.4452451195186555e+01 1.0764661193358336e+02 + 50 4.0090993029105427e+01 -7.3201402054245932e+01 8.9025922810974976e+01 51 1.3736420686697005e+02 -1.0204157331499377e+02 1.5813725581140889e+02 - 52 -1.1253479916199427e+02 1.2293268076535985e+02 -1.2940078007359961e+02 - 53 -5.3560738472921095e+01 3.3353082884518017e+02 -1.1314448604069298e+00 - 54 -1.0678339177259694e+01 6.2810937621378145e+01 1.8344988318246158e+02 + 52 -1.1253479916199434e+02 1.2293268076535988e+02 -1.2940078007359961e+02 + 53 -5.3560738472921159e+01 3.3353082884518022e+02 -1.1314448604069298e+00 + 54 -1.0678339177259721e+01 6.2810937621378216e+01 1.8344988318246158e+02 55 1.1231900459987534e+02 -1.7906654831317346e+02 7.6533681064342304e+01 - 56 -4.7772143767870944e+01 -1.3536779754026816e+02 3.4054518546944344e+01 - 57 9.6541690594806298e+01 7.5093838528685538e+01 -6.0858704719314126e+01 - 58 -2.0459002696752538e+01 -1.1535051272093606e+01 -1.4282722385693347e+01 - 59 -6.9459404830701018e+01 1.0185761321965332e+02 8.3383492919159224e+01 - 60 -1.6658947285275730e+01 6.4062738321772898e+01 -1.5162708730048112e+02 - 61 -3.5221540644535267e+01 -1.0209415023871217e+02 -7.4154806308030501e+01 - 62 1.5375061601631639e+01 -6.3257038363614946e+00 2.7511178147389188e+01 - 63 1.3464841040549373e+02 -1.2416888785900632e+02 -5.8961420295344652e+01 - 64 1.0701063550375264e+02 1.1895268715876718e+02 7.4448770962530915e+01 + 56 -4.7772143767870858e+01 -1.3536779754026813e+02 3.4054518546944287e+01 + 57 9.6541690594806283e+01 7.5093838528685495e+01 -6.0858704719314126e+01 + 58 -2.0459002696752535e+01 -1.1535051272093602e+01 -1.4282722385693351e+01 + 59 -6.9459404830701061e+01 1.0185761321965333e+02 8.3383492919159224e+01 + 60 -1.6658947285275733e+01 6.4062738321772926e+01 -1.5162708730048112e+02 + 61 -3.5221540644535281e+01 -1.0209415023871215e+02 -7.4154806308030501e+01 + 62 1.5375061601631639e+01 -6.3257038363614946e+00 2.7511178147389174e+01 + 63 1.3464841040549379e+02 -1.2416888785900632e+02 -5.8961420295344659e+01 + 64 1.0701063550375258e+02 1.1895268715876720e+02 7.4448770962530929e+01 run_vdwl: -3248.732462206598 run_coul: -327.0653994771387 run_stress: ! |- - -9.1826184153105692e+02 -1.1070021528099094e+03 -7.1550580149015514e+02 -2.3049698812230801e+02 1.9635464153062043e+02 -6.6005793264639442e+02 + -9.1826184153105646e+02 -1.1070021528099112e+03 -7.1550580149015627e+02 -2.3049698812231000e+02 1.9635464153062134e+02 -6.6005793264639556e+02 run_forces: ! |2 - 1 -8.8485813027206106e+01 -2.5824096764125731e+01 1.0916519811125200e+02 - 2 -1.0451269244764349e+02 -1.8137828885716391e+02 -2.1792302517211854e+02 - 3 -1.7141411648636478e+02 1.8106803267132440e+02 1.2674658958989376e+01 - 4 3.2220655253010904e+01 -5.1413086231065009e+01 9.0010227071396386e+01 - 5 1.8145005123751935e+02 1.6799086578426795e+01 -8.1723924656170567e+01 - 6 1.3640868425589994e+02 -3.0059549892327152e+02 2.9595528779455449e+01 - 7 -5.2968868171259700e+01 -1.2850640761855158e+02 -1.6373951876943795e+02 - 8 -1.5240417232930932e+02 4.1133578832982629e+01 1.5386572595284764e+02 - 9 3.2811395144161118e+01 1.0176141517530588e+02 1.4295529169373282e+01 - 10 7.9508569375402288e+01 1.3053469081285704e+02 1.1246210158699024e+02 - 11 -4.3142968406859097e+01 6.5760241919953828e+01 1.3481728343070949e+02 - 12 -9.6708250458847047e+01 -2.5879521605003774e+01 7.8278088000700450e+00 - 13 -6.3852523341823215e+01 -4.6607003335506526e+01 -3.6455965991574899e+01 - 14 7.8283534745824213e+01 -6.3643851884097081e+01 -8.9027881489336053e+01 - 15 -6.4209962316685647e+01 2.1093255387179667e+02 7.9059692211125324e+01 - 16 1.8608085162130908e+02 5.8088780803195149e+01 5.8532604899053126e+01 - 17 1.4285609630789870e+02 -3.9754014601715802e+01 -9.7689588113924358e+01 - 18 -4.1881237955183380e+01 -1.8477109777149900e+02 1.0708061287038568e+02 + 1 -8.8485813027206135e+01 -2.5824096764125731e+01 1.0916519811125200e+02 + 2 -1.0451269244764350e+02 -1.8137828885716391e+02 -2.1792302517211851e+02 + 3 -1.7141411648636486e+02 1.8106803267132440e+02 1.2674658958989427e+01 + 4 3.2220655253010918e+01 -5.1413086231064995e+01 9.0010227071396415e+01 + 5 1.8145005123751957e+02 1.6799086578426838e+01 -8.1723924656170610e+01 + 6 1.3640868425590003e+02 -3.0059549892327158e+02 2.9595528779455435e+01 + 7 -5.2968868171259714e+01 -1.2850640761855155e+02 -1.6373951876943804e+02 + 8 -1.5240417232930932e+02 4.1133578832982636e+01 1.5386572595284764e+02 + 9 3.2811395144161132e+01 1.0176141517530590e+02 1.4295529169373282e+01 + 10 7.9508569375402331e+01 1.3053469081285709e+02 1.1246210158699030e+02 + 11 -4.3142968406859097e+01 6.5760241919953813e+01 1.3481728343070949e+02 + 12 -9.6708250458847061e+01 -2.5879521605003742e+01 7.8278088000700370e+00 + 13 -6.3852523341823229e+01 -4.6607003335506541e+01 -3.6455965991574878e+01 + 14 7.8283534745824241e+01 -6.3643851884097224e+01 -8.9027881489336167e+01 + 15 -6.4209962316685690e+01 2.1093255387179667e+02 7.9059692211125295e+01 + 16 1.8608085162130908e+02 5.8088780803195142e+01 5.8532604899053133e+01 + 17 1.4285609630789864e+02 -3.9754014601715795e+01 -9.7689588113924316e+01 + 18 -4.1881237955183380e+01 -1.8477109777149900e+02 1.0708061287038571e+02 19 2.6677609377410010e+02 3.7179392086487712e+02 -3.3866472006706340e+02 - 20 -7.3532190353883053e+01 -8.3895301502997995e+01 -2.5591151698950659e-01 - 21 -7.2528695460850031e+01 -5.5899068566579935e+01 -1.1975970158720031e+02 - 22 1.5614083463623408e+02 -1.3200472837628521e+02 8.2112156159808862e+01 - 23 8.1835290134891864e+01 -1.7522433028942366e+01 -2.5648597332802922e+01 - 24 -2.1834038832017538e+02 1.9455197293610073e+02 -1.0818261235148485e+02 - 25 -1.1414871301032665e+02 1.9089327234338916e+02 -8.3363315092572321e+01 - 26 2.8282661127556162e+02 -2.1478990451658228e+02 2.2874215408671131e+02 - 27 -5.9765619577841512e+01 6.5223096224356411e+01 1.7553677772771837e+02 - 28 -2.9624987519851000e+00 3.8179667154298826e+01 3.2185280629057068e+01 - 29 -7.1069494187081830e+01 3.5486459200488397e+01 2.7311657807311487e+01 - 30 -1.7037047317028464e+02 -1.9851861739498079e+02 -1.1511395377375429e+02 - 31 -1.3744346258178371e+02 1.6223725554250467e+02 -1.1915482471876425e+02 - 32 2.7248541074999881e+01 -6.0231207974705434e+01 -1.7663875080811843e+02 - 33 -6.1822398570959187e+01 -6.2648503570177034e+01 6.4194898940197760e+01 + 20 -7.3532190353883053e+01 -8.3895301502997967e+01 -2.5591151698956521e-01 + 21 -7.2528695460850088e+01 -5.5899068566579977e+01 -1.1975970158720035e+02 + 22 1.5614083463623413e+02 -1.3200472837628527e+02 8.2112156159808862e+01 + 23 8.1835290134891864e+01 -1.7522433028942352e+01 -2.5648597332802964e+01 + 24 -2.1834038832017541e+02 1.9455197293610073e+02 -1.0818261235148486e+02 + 25 -1.1414871301032666e+02 1.9089327234338913e+02 -8.3363315092572321e+01 + 26 2.8282661127556162e+02 -2.1478990451658228e+02 2.2874215408671137e+02 + 27 -5.9765619577841541e+01 6.5223096224356439e+01 1.7553677772771840e+02 + 28 -2.9624987519851178e+00 3.8179667154298812e+01 3.2185280629057068e+01 + 29 -7.1069494187081830e+01 3.5486459200488405e+01 2.7311657807311473e+01 + 30 -1.7037047317028475e+02 -1.9851861739498079e+02 -1.1511395377375433e+02 + 31 -1.3744346258178373e+02 1.6223725554250467e+02 -1.1915482471876425e+02 + 32 2.7248541074999881e+01 -6.0231207974705420e+01 -1.7663875080811843e+02 + 33 -6.1822398570959159e+01 -6.2648503570177034e+01 6.4194898940197774e+01 34 -1.7143769208529751e+01 9.9611942509072080e+01 -6.7436075885014986e+01 - 35 2.7028238194296250e+02 -2.1538301386687789e+02 1.3022488558865325e+02 - 36 1.0192362247594352e+02 1.8671008619975407e+02 -1.9863711527085923e+02 + 35 2.7028238194296250e+02 -2.1538301386687783e+02 1.3022488558865331e+02 + 36 1.0192362247594350e+02 1.8671008619975410e+02 -1.9863711527085917e+02 37 -1.7946751638141498e+02 1.2998098195714172e+02 -6.4345576150932828e+01 - 38 -2.9675376021752191e+02 1.0371435865032235e+02 1.5526896750689889e+02 - 39 8.6950332148131110e+01 -5.9975388525042028e+01 2.1779869753193040e+01 - 40 2.1613442490343317e+01 -1.0242529062335393e+02 5.7271060256879871e+01 - 41 -5.7834219239599371e+01 1.2266148111030006e+01 -6.6169611760840567e+01 - 42 -9.4774021509187520e+01 3.6869981851995341e+01 -7.5005285702022732e+01 - 43 2.2327078175416057e+02 9.5796580610065675e+01 1.2250057895428364e+02 - 44 8.7963372590925971e+01 -9.8736166841311601e+01 -8.4943701327958067e+01 - 45 1.4080569929277514e+01 1.2498603359504317e+02 5.5870075675508225e+01 - 46 1.3549084713162141e+01 -2.9276453411015115e+01 2.2187141786216614e+01 - 47 3.3448153520154243e+01 -1.9209514330879989e+02 -6.9988284949882583e+01 - 48 6.7840148074199064e+01 -2.0361975956922109e+02 -2.8580806381848241e+01 - 49 -3.7480020999441342e+02 -2.4397739069897693e+01 1.0773474200196225e+02 - 50 4.0091767398974710e+01 -7.3200211843412532e+01 8.9024460533547710e+01 + 38 -2.9675376021752186e+02 1.0371435865032235e+02 1.5526896750689886e+02 + 39 8.6950332148131110e+01 -5.9975388525042071e+01 2.1779869753193026e+01 + 40 2.1613442490343314e+01 -1.0242529062335393e+02 5.7271060256879871e+01 + 41 -5.7834219239599364e+01 1.2266148111030034e+01 -6.6169611760840596e+01 + 42 -9.4774021509187506e+01 3.6869981851995398e+01 -7.5005285702022690e+01 + 43 2.2327078175416062e+02 9.5796580610065675e+01 1.2250057895428364e+02 + 44 8.7963372590925985e+01 -9.8736166841311601e+01 -8.4943701327958038e+01 + 45 1.4080569929277486e+01 1.2498603359504315e+02 5.5870075675508232e+01 + 46 1.3549084713162147e+01 -2.9276453411015140e+01 2.2187141786216618e+01 + 47 3.3448153520154271e+01 -1.9209514330879989e+02 -6.9988284949882569e+01 + 48 6.7840148074199092e+01 -2.0361975956922109e+02 -2.8580806381848255e+01 + 49 -3.7480020999441365e+02 -2.4397739069897636e+01 1.0773474200196219e+02 + 50 4.0091767398974682e+01 -7.3200211843412504e+01 8.9024460533547696e+01 51 1.3736689552057061e+02 -1.0204490779999098e+02 1.5814099219631356e+02 - 52 -1.1253380764229995e+02 1.2293290174735385e+02 -1.2940467151627448e+02 - 53 -5.3596650492501155e+01 3.3350644289105048e+02 -1.1510223807932292e+00 - 54 -1.0666202581574648e+01 6.2798090272532036e+01 1.8346799239172421e+02 - 55 1.1232135575968965e+02 -1.7906994470748415e+02 7.6534265236354301e+01 - 56 -4.7780797026174795e+01 -1.3535955159718560e+02 3.4061208199866762e+01 - 57 9.6541265005138669e+01 7.5091144884198542e+01 -6.0860069746425758e+01 - 58 -2.0459328007572658e+01 -1.1533053731831272e+01 -1.4282938438265621e+01 - 59 -6.9467796604507953e+01 1.0186323697055805e+02 8.3388794196804326e+01 - 60 -1.6660217426514649e+01 6.4061566362647156e+01 -1.5162714312949214e+02 - 61 -3.5220536021452773e+01 -1.0209241739133056e+02 -7.4154706185261873e+01 - 62 1.5375483178245863e+01 -6.3263099051314251e+00 2.7512110875657907e+01 - 63 1.3464595988109866e+02 -1.2416936634154251e+02 -5.8957063242418137e+01 - 64 1.0701154605982802e+02 1.1895382951205713e+02 7.4449321163285816e+01 + 52 -1.1253380764229996e+02 1.2293290174735381e+02 -1.2940467151627450e+02 + 53 -5.3596650492501162e+01 3.3350644289105031e+02 -1.1510223807932007e+00 + 54 -1.0666202581574661e+01 6.2798090272532008e+01 1.8346799239172421e+02 + 55 1.1232135575968968e+02 -1.7906994470748415e+02 7.6534265236354301e+01 + 56 -4.7780797026174810e+01 -1.3535955159718563e+02 3.4061208199866719e+01 + 57 9.6541265005138698e+01 7.5091144884198556e+01 -6.0860069746425658e+01 + 58 -2.0459328007572669e+01 -1.1533053731831259e+01 -1.4282938438265617e+01 + 59 -6.9467796604507981e+01 1.0186323697055799e+02 8.3388794196804326e+01 + 60 -1.6660217426514606e+01 6.4061566362647113e+01 -1.5162714312949211e+02 + 61 -3.5220536021452787e+01 -1.0209241739133054e+02 -7.4154706185261915e+01 + 62 1.5375483178245885e+01 -6.3263099051314251e+00 2.7512110875657893e+01 + 63 1.3464595988109866e+02 -1.2416936634154256e+02 -5.8957063242418101e+01 + 64 1.0701154605982798e+02 1.1895382951205715e+02 7.4449321163285845e+01 ... From aa885a9d8df4a432fdc1141fc73934412ff0f0c6 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 21 Jul 2021 17:06:21 -0400 Subject: [PATCH 492/726] make virial processing use the total global virial --- src/fix_external.cpp | 37 +++++++++++++++++++++++++++-------- src/library.cpp | 46 ++++++++++++++++++++++++++++++-------------- 2 files changed, 61 insertions(+), 22 deletions(-) diff --git a/src/fix_external.cpp b/src/fix_external.cpp index 99539e86cf..f95c30c28d 100644 --- a/src/fix_external.cpp +++ b/src/fix_external.cpp @@ -15,6 +15,7 @@ #include "fix_external.h" #include "atom.h" +#include "comm.h" #include "error.h" #include "memory.h" #include "update.h" @@ -185,10 +186,13 @@ void FixExternal::min_post_force(int vflag) /* ---------------------------------------------------------------------- caller invokes this method to set its contribution to global energy + this is the *total* energy across all MPI ranks of the external code + and must be set for all MPI ranks. unlike other energy/virial set methods: do not just return if eflag_global is not set b/c input script could access this quantity via compute_scalar() even if eflag is not set on a particular timestep + this function is compatible with CALLBACK and ARRAY mode ------------------------------------------------------------------------- */ void FixExternal::set_energy_global(double caller_energy) @@ -197,22 +201,32 @@ void FixExternal::set_energy_global(double caller_energy) } /* ---------------------------------------------------------------------- - caller invokes this method to set its contribution to global virial + caller invokes this method to set its contribution to the global virial + for all MPI ranks. the virial value is the *total* contribution across + all MPI ranks of the external code and thus we need to divide by the + number of MPI ranks since the tallying code expects per MPI rank contributions. + this function is compatible with PF_CALLBACK and PF_ARRAY mode ------------------------------------------------------------------------- */ void FixExternal::set_virial_global(double *caller_virial) { + const double npscale = 1.0/(double)comm->nprocs; for (int i = 0; i < 6; i++) - user_virial[i] = caller_virial[i]; + user_virial[i] = npscale * caller_virial[i]; } /* ---------------------------------------------------------------------- - caller invokes this method to set its contribution to peratom energy + caller invokes this method to set its contribution to peratom energy. + this is applied to the *local* atoms only. + this function is compatible with PF_CALLBACK mode only since it tallies + its energy contributions directly into the accumulator arrays. ------------------------------------------------------------------------- */ void FixExternal::set_energy_peratom(double *caller_energy) { if (!eflag_atom) return; + if ((mode == PF_ARRAY) && (comm->me == 0)) + error->warning(FLERR,"Can only set energy/atom for fix external in pf/callback mode"); int nlocal = atom->nlocal; for (int i = 0; i < nlocal; i++) @@ -221,6 +235,9 @@ void FixExternal::set_energy_peratom(double *caller_energy) /* ---------------------------------------------------------------------- caller invokes this method to set its contribution to peratom virial + this is applied to the *local* atoms only. + this function is compatible with PF_CALLBACK mode only since it tallies + its virial contributions directly into the accumulator arrays. ------------------------------------------------------------------------- */ void FixExternal::set_virial_peratom(double **caller_virial) @@ -228,6 +245,8 @@ void FixExternal::set_virial_peratom(double **caller_virial) int i,j; if (!vflag_atom) return; + if ((mode == PF_ARRAY) && (comm->me == 0)) + error->warning(FLERR,"Can only set virial/atom for fix external in pf/callback mode"); int nlocal = atom->nlocal; for (i = 0; i < nlocal; i++) @@ -236,8 +255,8 @@ void FixExternal::set_virial_peratom(double **caller_virial) } /* ---------------------------------------------------------------------- - caller invokes this method to set length of vector of values - assume all vector values are extensive, could make this an option + caller invokes this method to set length of global vector of values + assume all vector values are extensive. ------------------------------------------------------------------------- */ void FixExternal::set_vector_length(int n) @@ -252,14 +271,15 @@ void FixExternal::set_vector_length(int n) } /* ---------------------------------------------------------------------- - caller invokes this method to set Index value in vector - index ranges from 1 to N inclusive + caller invokes this method to set value for item at "index" in vector + index is 1-based, thus index ranges from 1 to N inclusively. + Must be called from all MPI ranks. ------------------------------------------------------------------------- */ void FixExternal::set_vector(int index, double value) { if (index > size_vector) - error->all(FLERR,"Invalid set_vector index in fix external"); + error->all(FLERR,"Invalid set_vector index ({} of {}) in fix external",index,size_vector); caller_vector[index-1] = value; } @@ -290,6 +310,7 @@ double FixExternal::compute_vector(int n) double FixExternal::memory_usage() { double bytes = 3*atom->nmax * sizeof(double); + bytes += 6*sizeof(double); return bytes; } diff --git a/src/library.cpp b/src/library.cpp index a6e4509c56..0c897538a1 100644 --- a/src/library.cpp +++ b/src/library.cpp @@ -4806,8 +4806,8 @@ void lammps_decode_image_flags(imageint image, int *flags) /* ---------------------------------------------------------------------- */ -/** Set the callback function for a fix external instance with the given ID. - Optionally also set the pointer to the calling object. +/** Set up the callback function for a fix external instance with the given ID. + \verbatim embed:rst Fix :doc:`external ` allows programs that are running LAMMPS through @@ -4821,7 +4821,15 @@ mode. The function has to have C language bindings with the prototype: void func(void *ptr, bigint timestep, int nlocal, tagint *ids, double **x, double **fexternal); -This is an alternative to the array mechanism set up by :cpp:func:`lammps_fix_external_get_force`. +The argument *ptr* to this function will be stored in fix external and +the passed as the first argument calling the callback function `func()`. +This would usually be a pointer to the LAMMPS instance, i.e. the same +pointer as the *handle* argument. This would be needed to call +functions that set the global or per-atom energy or virial +contributions. + +The callback mechanism is on of the two modes of fix external. The +alternative is the array mode set up by :cpp:func:`lammps_fix_external_get_force`. Please see the documentation for :doc:`fix external ` for more information about how to use the fix and how to couple it with an @@ -4865,16 +4873,24 @@ its library interface to add or modify certain LAMMPS properties on specific timesteps, similar to the way other fixes do. This function provides access to the per-atom force storage in the fix -to be added to the individual atoms when using the "pf/array" mode. The -*fexternal* array can be accessed similar to the "native" per-atom -*arrays accessible via the :cpp:func:`lammps_extract_atom` function. -Because the underlying data structures can change as atoms migrate -between MPI processes, this function should be always called immediately -before the forces are going to be set. +external instance to be added to the individual atoms when using the +"pf/array" mode. The *fexternal* array can be accessed similar to the +"native" per-atom *arrays accessible via the +:cpp:func:`lammps_extract_atom` function. Please note that the array +stores forces for *local* atoms, in the order determined by the neighbor +list build. Because the underlying data structures can change as well as +the order of atom as they migrate between MPI processes, this function +should be always called immediately before the forces are going to be +set to get an up-to-date pointer. You can use +e.g. :cpp:func:`lammps_get_natoms` to obtain the number of local atoms +and thus the dimensions of the returned force array (``double force[nlocal][3]``). -This is an alternative to the callback mechanism set up by -:cpp:func:`lammps_set_fix_external_callback` with out using the callback -mechanism to call out to the external program. +This is an alternative to the callback mechanism in fix external set up by +:cpp:func:`lammps_set_fix_external_callback`. The main difference is +that this mechanism can be used when forces can be pre-computed and the +control alternates between LAMMPS and the external command, while the +callback mechanism can call the external code to compute the force when +the fix is triggered and needs them. Please see the documentation for :doc:`fix external ` for more information about how to use the fix and how to couple it with an @@ -4914,9 +4930,11 @@ double **lammps_fix_external_get_force(void *handle, const char *id) This is a companion function to :cpp:func:`lammps_set_fix_external_callback` and :cpp:func:`lammps_fix_external_get_force` to also set the contribution -to the global energy from the external code. The value of the *eng* +to the global energy from the external code. The value of the *eng* argument will be stored in the fix and applied on the current and all -following timesteps until changed. +following timesteps until changed by another call to this function. +When running in parallel, the value is the per-MPI process contribution, +not the total energy. Please see the documentation for :doc:`fix external ` for more information about how to use the fix and how to couple it with an From 6d3a5a6eb98ed710a2ac1eef34af9a10e1f64337 Mon Sep 17 00:00:00 2001 From: Stan Gerald Moore Date: Wed, 21 Jul 2021 17:05:56 -0600 Subject: [PATCH 493/726] Port custom changes to atom_kokkos --- src/KOKKOS/atom_kokkos.cpp | 93 ++++++++++++++++++++++++++++---------- src/KOKKOS/atom_kokkos.h | 4 +- 2 files changed, 71 insertions(+), 26 deletions(-) diff --git a/src/KOKKOS/atom_kokkos.cpp b/src/KOKKOS/atom_kokkos.cpp index c41a42c99a..0962b11c20 100644 --- a/src/KOKKOS/atom_kokkos.cpp +++ b/src/KOKKOS/atom_kokkos.cpp @@ -248,56 +248,101 @@ void AtomKokkos::grow(unsigned int mask) { return index in ivector or dvector of its location ------------------------------------------------------------------------- */ -int AtomKokkos::add_custom(const char *name, int flag) +int AtomKokkos::add_custom(const char *name, int flag, int cols) { int index; - if (flag == 0) { + if (flag == 0 && cols == 0) { index = nivector; nivector++; - iname = (char **) memory->srealloc(iname,nivector*sizeof(char *), - "atom:iname"); + ivname = (char **) memory->srealloc(ivname,nivector*sizeof(char *), + "atom:ivname"); int n = strlen(name) + 1; - iname[index] = new char[n]; - strcpy(iname[index],name); + ivname[index] = new char[n]; + strcpy(ivname[index],name); ivector = (int **) memory->srealloc(ivector,nivector*sizeof(int *), "atom:ivector"); memory->create(ivector[index],nmax,"atom:ivector"); - } else { + + } else if (flag == 1 && cols == 0) { index = ndvector; ndvector++; - dname = (char **) memory->srealloc(dname,ndvector*sizeof(char *), - "atom:dname"); + dvname = (char **) memory->srealloc(dvname,ndvector*sizeof(char *), + "atom:dvname"); int n = strlen(name) + 1; - dname[index] = new char[n]; - strcpy(dname[index],name); + dvname[index] = new char[n]; + strcpy(dvname[index],name); + dvector = (double **) memory->srealloc(dvector,ndvector*sizeof(double *), + "atom:dvector"); this->sync(Device,DVECTOR_MASK); memoryKK->grow_kokkos(k_dvector,dvector,ndvector,nmax, "atom:dvector"); this->modified(Device,DVECTOR_MASK); - } + } else if (flag == 0 && cols) { + index = niarray; + niarray++; + ianame = (char **) memory->srealloc(ianame,niarray*sizeof(char *), + "atom:ianame"); + int n = strlen(name) + 1; + ianame[index] = new char[n]; + strcpy(ianame[index],name); + iarray = (int ***) memory->srealloc(iarray,niarray*sizeof(int **), + "atom:iarray"); + memory->create(iarray[index],nmax,cols,"atom:iarray"); + + icols = (int *) memory->srealloc(icols,niarray*sizeof(int),"atom:icols"); + icols[index] = cols; + + } else if (flag == 1 && cols) { + index = ndarray; + ndarray++; + daname = (char **) memory->srealloc(daname,ndarray*sizeof(char *), + "atom:daname"); + int n = strlen(name) + 1; + daname[index] = new char[n]; + strcpy(daname[index],name); + darray = (double ***) memory->srealloc(darray,ndarray*sizeof(double **), + "atom:darray"); + memory->create(darray[index],nmax,cols,"atom:darray"); + + dcols = (int *) memory->srealloc(dcols,ndarray*sizeof(int),"atom:dcols"); + dcols[index] = cols; + } + return index; } /* ---------------------------------------------------------------------- remove a custom variable of type flag = 0/1 for int/double at index - free memory for vector and name and set ptrs to a null pointer - ivector/dvector and iname/dname lists never shrink + free memory for vector/array and name and set ptrs to a null pointer + these lists never shrink ------------------------------------------------------------------------- */ -void AtomKokkos::remove_custom(int flag, int index) +void AtomKokkos::remove_custom(int index, int flag, int cols) { - if (flag == 0) { + if (flag == 0 && cols == 0) { memory->destroy(ivector[index]); - ivector[index] = nullptr; - delete [] iname[index]; - iname[index] = nullptr; - } else { - //memoryKK->destroy_kokkos(dvector); - dvector[index] = nullptr; - delete [] dname[index]; - dname[index] = nullptr; + ivector[index] = NULL; + delete [] ivname[index]; + ivname[index] = NULL; + + } else if (flag == 1 && cols == 0) { + dvector[index] = NULL; + delete [] dvname[index]; + dvname[index] = NULL; + + } else if (flag == 0 && cols) { + memory->destroy(iarray[index]); + iarray[index] = NULL; + delete [] ianame[index]; + ianame[index] = NULL; + + } else if (flag == 1 && cols) { + memory->destroy(darray[index]); + darray[index] = NULL; + delete [] daname[index]; + daname[index] = NULL; } } diff --git a/src/KOKKOS/atom_kokkos.h b/src/KOKKOS/atom_kokkos.h index c875817a70..09442e2c60 100644 --- a/src/KOKKOS/atom_kokkos.h +++ b/src/KOKKOS/atom_kokkos.h @@ -69,8 +69,8 @@ class AtomKokkos : public Atom { void sync_overlapping_device(const ExecutionSpace space, unsigned int mask); virtual void sort(); virtual void grow(unsigned int mask); - int add_custom(const char *, int); - void remove_custom(int, int); + int add_custom(const char *, int, int); + void remove_custom(int, int, int); virtual void deallocate_topology(); void sync_modify(ExecutionSpace, unsigned int, unsigned int); private: From f8f4af471ff0518776e470c2483070f207430599 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 21 Jul 2021 21:36:16 -0400 Subject: [PATCH 494/726] general rename of files, styles, and keywords from "reax/c", "reax", or "reaxc" to "reaxff" --- cmake/Modules/Packages/OPENMP.cmake | 18 +- doc/src/Commands_fix.rst | 6 +- doc/src/Commands_pair.rst | 2 +- doc/src/Errors_warnings.rst | 4 +- doc/src/Packages_details.rst | 8 +- doc/src/Packages_list.rst | 2 +- doc/src/Tools.rst | 15 - doc/src/compute_pair.rst | 5 +- doc/src/fix.rst | 6 +- doc/src/fix_adapt.rst | 2 +- doc/src/fix_gcmc.rst | 2 +- doc/src/fix_qeq.rst | 20 +- doc/src/fix_qeq_comb.rst | 2 +- .../{fix_qeq_reax.rst => fix_qeq_reaxff.rst} | 36 +- ...x_reaxc_bonds.rst => fix_reaxff_bonds.rst} | 20 +- ...axc_species.rst => fix_reaxff_species.rst} | 57 ++- doc/src/kim_commands.rst | 4 +- doc/src/package.rst | 3 +- doc/src/{pair_reaxc.rst => pair_reaxff.rst} | 118 ++++--- doc/src/pair_style.rst | 2 +- doc/utils/check-styles.py | 55 ++- examples/README | 2 +- examples/{reax => reaxff}/AB/README | 0 examples/{reax => reaxff}/AB/data.AB | 0 examples/{reax => reaxff}/AB/ffield.reax.AB | 0 examples/{reax => reaxff}/AB/in.AB | 0 examples/{reax => reaxff}/AB/lmp_control | 0 .../{reax => reaxff}/AB/log.8Mar18.AB.g++.1 | 0 .../{reax => reaxff}/AB/log.8Mar18.AB.g++.4 | 0 examples/{reax => reaxff}/AB/param.qeq | 0 examples/{reax => reaxff}/AuO/README | 0 examples/{reax => reaxff}/AuO/data.AuO | 0 examples/{reax => reaxff}/AuO/ffield.reax.AuO | 0 examples/{reax => reaxff}/AuO/in.AuO | 0 examples/{reax => reaxff}/AuO/lmp_control | 0 .../{reax => reaxff}/AuO/log.8Mar18.AuO.g++.1 | 0 .../{reax => reaxff}/AuO/log.8Mar18.AuO.g++.4 | 0 examples/{reax => reaxff}/AuO/param.qeq | 0 examples/{reax => reaxff}/CHO/README | 0 examples/{reax => reaxff}/CHO/data.CHO | 0 examples/{reax => reaxff}/CHO/ffield.reax.cho | 0 examples/{reax => reaxff}/CHO/in.CHO | 0 examples/{reax => reaxff}/CHO/lmp_control | 0 .../{reax => reaxff}/CHO/log.8Mar18.CHO.g++.1 | 0 .../{reax => reaxff}/CHO/log.8Mar18.CHO.g++.4 | 0 examples/{reax => reaxff}/CHO/param.qeq | 0 examples/{reax => reaxff}/FC/README | 0 examples/{reax => reaxff}/FC/data.FC | 0 examples/{reax => reaxff}/FC/ffield.reax.FC | 0 examples/{reax => reaxff}/FC/in.FC | 0 .../{reax => reaxff}/FC/log.8Mar18.FC.g++.1 | 0 .../{reax => reaxff}/FC/log.8Mar18.FC.g++.4 | 0 examples/{reax => reaxff}/FeOH3/README | 0 examples/{reax => reaxff}/FeOH3/data.FeOH3 | 0 .../FeOH3/ffield.reax.Fe_O_C_H | 0 examples/{reax => reaxff}/FeOH3/in.FeOH3 | 0 examples/{reax => reaxff}/FeOH3/lmp_control | 0 .../FeOH3/log.5Oct16.FeOH3.g++.1 | 0 .../FeOH3/log.5Oct16.FeOH3.g++.4 | 0 examples/{reax => reaxff}/FeOH3/param.qeq | 0 examples/{reax => reaxff}/HNS/README.txt | 0 examples/{reax => reaxff}/HNS/data.hns-equil | 0 examples/{reax => reaxff}/HNS/ffield.reax.hns | 0 examples/{reax => reaxff}/HNS/in.reaxc.hns | 0 .../HNS/log.8Mar18.reaxc.hns.g++.1 | 0 .../HNS/log.8Mar18.reaxc.hns.g++.4 | 0 examples/{reax => reaxff}/RDX/README | 0 examples/{reax => reaxff}/RDX/data.RDX | 0 examples/{reax => reaxff}/RDX/ffield.reax.rdx | 0 examples/{reax => reaxff}/RDX/in.RDX | 0 examples/{reax => reaxff}/RDX/lmp_control | 0 .../{reax => reaxff}/RDX/log.8Mar18.RDX.g++.1 | 0 .../{reax => reaxff}/RDX/log.8Mar18.RDX.g++.4 | 0 examples/{reax => reaxff}/RDX/param.qeq | 0 examples/{reax => reaxff}/README | 0 examples/{reax => reaxff}/VOH/README | 0 examples/{reax => reaxff}/VOH/data.VOH | 0 .../{reax => reaxff}/VOH/ffield.reax.V_O_C_H | 0 examples/{reax => reaxff}/VOH/in.VOH | 0 examples/{reax => reaxff}/VOH/lmp_control | 0 .../{reax => reaxff}/VOH/log.8Mar18.VOH.g++.1 | 0 .../{reax => reaxff}/VOH/log.8Mar18.VOH.g++.4 | 0 examples/{reax => reaxff}/VOH/param.qeq | 0 examples/{reax => reaxff}/ZnOH2/README | 0 examples/{reax => reaxff}/ZnOH2/data.ZnOH2 | 0 .../{reax => reaxff}/ZnOH2/ffield.reax.ZnOH | 0 examples/{reax => reaxff}/ZnOH2/in.ZnOH2 | 0 examples/{reax => reaxff}/ZnOH2/lmp_control | 0 .../ZnOH2/log.8Mar18.ZnOH2.g++.1 | 0 .../ZnOH2/log.8Mar18.ZnOH2.g++.4 | 0 examples/{reax => reaxff}/ZnOH2/param.qeq | 0 examples/{reax => reaxff}/ci-reaxFF/CH4.dat | 0 .../ci-reaxFF/ci-reaxFF_ZBL.dat | 0 examples/{reax => reaxff}/ci-reaxFF/control | 0 .../ci-reaxFF/ffield.ci-reax.CH | 0 .../{reax => reaxff}/ci-reaxFF/in.ci-reax.CH | 0 .../ci-reaxFF/log.8Mar18.ci-reax.CH.g++.1 | 0 .../ci-reaxFF/log.8Mar18.ci-reax.CH.g++.4 | 0 examples/{reax => reaxff}/control.reax_c.rdx | 0 examples/{reax => reaxff}/control.reax_c.tatb | 0 examples/{reax => reaxff}/data.rdx | 0 examples/{reax => reaxff}/data.tatb | 0 examples/{reax => reaxff}/ffield.reax | 0 examples/{reax => reaxff}/in.reaxc.rdx | 0 .../{reax => reaxff}/in.reaxc.rdx-shielded | 0 examples/{reax => reaxff}/in.reaxc.tatb | 0 .../{reax => reaxff}/in.reaxc.tatb-shielded | 0 .../log.21Apr21.reaxc.rdx-shielded.g++.1 | 0 .../log.21Apr21.reaxc.rdx-shielded.g++.4 | 0 .../log.21Apr21.reaxc.rdx.g++.1 | 0 .../log.21Apr21.reaxc.rdx.g++.4 | 0 .../log.21Apr21.reaxc.tatb-shielded.g++.1 | 0 .../log.21Apr21.reaxc.tatb-shielded.g++.4 | 0 .../log.21Apr21.reaxc.tatb.g++.1 | 0 .../log.21Apr21.reaxc.tatb.g++.4 | 0 ...x_kokkos.cpp => fix_qeq_reaxff_kokkos.cpp} | 196 +++++----- ..._reax_kokkos.h => fix_qeq_reaxff_kokkos.h} | 157 ++++---- ...kokkos.cpp => fix_reaxff_bonds_kokkos.cpp} | 40 +-- ...nds_kokkos.h => fix_reaxff_bonds_kokkos.h} | 23 +- ...kkos.cpp => fix_reaxff_species_kokkos.cpp} | 32 +- ...s_kokkos.h => fix_reaxff_species_kokkos.h} | 21 +- ...eaxc_kokkos.cpp => pair_reaxff_kokkos.cpp} | 334 +++++++++--------- ...ir_reaxc_kokkos.h => pair_reaxff_kokkos.h} | 89 ++--- ...eq_reax_omp.cpp => fix_qeq_reaxff_omp.cpp} | 74 ++-- ...ix_qeq_reax_omp.h => fix_qeq_reaxff_omp.h} | 15 +- ...pair_reaxc_omp.cpp => pair_reaxff_omp.cpp} | 72 ++-- .../{pair_reaxc_omp.h => pair_reaxff_omp.h} | 17 +- ...ers_omp.cpp => reaxff_bond_orders_omp.cpp} | 6 +- ...axc_bonds_omp.cpp => reaxff_bonds_omp.cpp} | 6 +- ...c_forces_omp.cpp => reaxff_forces_omp.cpp} | 6 +- ..._omp.cpp => reaxff_hydrogen_bonds_omp.cpp} | 6 +- ...init_md_omp.cpp => reaxff_init_md_omp.cpp} | 0 ...body_omp.cpp => reaxff_multi_body_omp.cpp} | 6 +- ...onded_omp.cpp => reaxff_nonbonded_omp.cpp} | 10 +- ..._omp.cpp => reaxff_torsion_angles_omp.cpp} | 6 +- ..._omp.cpp => reaxff_valence_angles_omp.cpp} | 6 +- src/Purge.list | 46 +++ src/QEQ/fix_qeq.cpp | 2 +- src/QEQ/fix_qeq_shielded.cpp | 7 +- src/REAXFF/README | 12 +- src/REAXFF/compute_spec_atom.cpp | 68 ++-- src/REAXFF/compute_spec_atom.h | 2 +- .../{fix_qeq_reax.cpp => fix_qeq_reaxff.cpp} | 180 +++++----- .../{fix_qeq_reax.h => fix_qeq_reaxff.h} | 15 +- src/REAXFF/{fix_reaxc.cpp => fix_reaxff.cpp} | 26 +- src/REAXFF/{fix_reaxc.h => fix_reaxff.h} | 16 +- ...x_reaxc_bonds.cpp => fix_reaxff_bonds.cpp} | 80 ++--- .../{fix_reaxc_bonds.h => fix_reaxff_bonds.h} | 15 +- ...axc_species.cpp => fix_reaxff_species.cpp} | 140 ++++---- ...x_reaxc_species.h => fix_reaxff_species.h} | 13 +- .../{pair_reaxc.cpp => pair_reaxff.cpp} | 116 +++--- src/REAXFF/{pair_reaxc.h => pair_reaxff.h} | 17 +- ...reaxc_allocate.cpp => reaxff_allocate.cpp} | 0 ...bond_orders.cpp => reaxff_bond_orders.cpp} | 0 .../{reaxc_bonds.cpp => reaxff_bonds.cpp} | 0 .../{reaxc_control.cpp => reaxff_control.cpp} | 0 src/REAXFF/reaxff_defs.h | 4 +- .../{reaxc_ffield.cpp => reaxff_ffield.cpp} | 0 .../{reaxc_forces.cpp => reaxff_forces.cpp} | 0 ...en_bonds.cpp => reaxff_hydrogen_bonds.cpp} | 0 .../{reaxc_init_md.cpp => reaxff_init_md.cpp} | 0 .../{reaxc_list.cpp => reaxff_list.cpp} | 0 .../{reaxc_lookup.cpp => reaxff_lookup.cpp} | 0 ...c_multi_body.cpp => reaxff_multi_body.cpp} | 0 ...axc_nonbonded.cpp => reaxff_nonbonded.cpp} | 0 ...reset_tools.cpp => reaxff_reset_tools.cpp} | 0 ...reaxc_tool_box.cpp => reaxff_tool_box.cpp} | 0 ...n_angles.cpp => reaxff_torsion_angles.cpp} | 0 ...e_angles.cpp => reaxff_valence_angles.cpp} | 0 tools/README | 1 - tools/reax/Cutoff.dic | 14 - tools/reax/README.txt | 10 - tools/reax/reaxc_bond.pl | 152 -------- 173 files changed, 1149 insertions(+), 1298 deletions(-) rename doc/src/{fix_qeq_reax.rst => fix_qeq_reaxff.rst} (82%) rename doc/src/{fix_reaxc_bonds.rst => fix_reaxff_bonds.rst} (79%) rename doc/src/{fix_reaxc_species.rst => fix_reaxff_species.rst} (77%) rename doc/src/{pair_reaxc.rst => pair_reaxff.rst} (76%) rename examples/{reax => reaxff}/AB/README (100%) rename examples/{reax => reaxff}/AB/data.AB (100%) rename examples/{reax => reaxff}/AB/ffield.reax.AB (100%) rename examples/{reax => reaxff}/AB/in.AB (100%) rename examples/{reax => reaxff}/AB/lmp_control (100%) rename examples/{reax => reaxff}/AB/log.8Mar18.AB.g++.1 (100%) rename examples/{reax => reaxff}/AB/log.8Mar18.AB.g++.4 (100%) rename examples/{reax => reaxff}/AB/param.qeq (100%) rename examples/{reax => reaxff}/AuO/README (100%) rename examples/{reax => reaxff}/AuO/data.AuO (100%) rename examples/{reax => reaxff}/AuO/ffield.reax.AuO (100%) rename examples/{reax => reaxff}/AuO/in.AuO (100%) rename examples/{reax => reaxff}/AuO/lmp_control (100%) rename examples/{reax => reaxff}/AuO/log.8Mar18.AuO.g++.1 (100%) rename examples/{reax => reaxff}/AuO/log.8Mar18.AuO.g++.4 (100%) rename examples/{reax => reaxff}/AuO/param.qeq (100%) rename examples/{reax => reaxff}/CHO/README (100%) rename examples/{reax => reaxff}/CHO/data.CHO (100%) rename examples/{reax => reaxff}/CHO/ffield.reax.cho (100%) rename examples/{reax => reaxff}/CHO/in.CHO (100%) rename examples/{reax => reaxff}/CHO/lmp_control (100%) rename examples/{reax => reaxff}/CHO/log.8Mar18.CHO.g++.1 (100%) rename examples/{reax => reaxff}/CHO/log.8Mar18.CHO.g++.4 (100%) rename examples/{reax => reaxff}/CHO/param.qeq (100%) rename examples/{reax => reaxff}/FC/README (100%) rename examples/{reax => reaxff}/FC/data.FC (100%) rename examples/{reax => reaxff}/FC/ffield.reax.FC (100%) rename examples/{reax => reaxff}/FC/in.FC (100%) rename examples/{reax => reaxff}/FC/log.8Mar18.FC.g++.1 (100%) rename examples/{reax => reaxff}/FC/log.8Mar18.FC.g++.4 (100%) rename examples/{reax => reaxff}/FeOH3/README (100%) rename examples/{reax => reaxff}/FeOH3/data.FeOH3 (100%) rename examples/{reax => reaxff}/FeOH3/ffield.reax.Fe_O_C_H (100%) rename examples/{reax => reaxff}/FeOH3/in.FeOH3 (100%) rename examples/{reax => reaxff}/FeOH3/lmp_control (100%) rename examples/{reax => reaxff}/FeOH3/log.5Oct16.FeOH3.g++.1 (100%) rename examples/{reax => reaxff}/FeOH3/log.5Oct16.FeOH3.g++.4 (100%) rename examples/{reax => reaxff}/FeOH3/param.qeq (100%) rename examples/{reax => reaxff}/HNS/README.txt (100%) rename examples/{reax => reaxff}/HNS/data.hns-equil (100%) rename examples/{reax => reaxff}/HNS/ffield.reax.hns (100%) rename examples/{reax => reaxff}/HNS/in.reaxc.hns (100%) rename examples/{reax => reaxff}/HNS/log.8Mar18.reaxc.hns.g++.1 (100%) rename examples/{reax => reaxff}/HNS/log.8Mar18.reaxc.hns.g++.4 (100%) rename examples/{reax => reaxff}/RDX/README (100%) rename examples/{reax => reaxff}/RDX/data.RDX (100%) rename examples/{reax => reaxff}/RDX/ffield.reax.rdx (100%) rename examples/{reax => reaxff}/RDX/in.RDX (100%) rename examples/{reax => reaxff}/RDX/lmp_control (100%) rename examples/{reax => reaxff}/RDX/log.8Mar18.RDX.g++.1 (100%) rename examples/{reax => reaxff}/RDX/log.8Mar18.RDX.g++.4 (100%) rename examples/{reax => reaxff}/RDX/param.qeq (100%) rename examples/{reax => reaxff}/README (100%) rename examples/{reax => reaxff}/VOH/README (100%) rename examples/{reax => reaxff}/VOH/data.VOH (100%) rename examples/{reax => reaxff}/VOH/ffield.reax.V_O_C_H (100%) rename examples/{reax => reaxff}/VOH/in.VOH (100%) rename examples/{reax => reaxff}/VOH/lmp_control (100%) rename examples/{reax => reaxff}/VOH/log.8Mar18.VOH.g++.1 (100%) rename examples/{reax => reaxff}/VOH/log.8Mar18.VOH.g++.4 (100%) rename examples/{reax => reaxff}/VOH/param.qeq (100%) rename examples/{reax => reaxff}/ZnOH2/README (100%) rename examples/{reax => reaxff}/ZnOH2/data.ZnOH2 (100%) rename examples/{reax => reaxff}/ZnOH2/ffield.reax.ZnOH (100%) rename examples/{reax => reaxff}/ZnOH2/in.ZnOH2 (100%) rename examples/{reax => reaxff}/ZnOH2/lmp_control (100%) rename examples/{reax => reaxff}/ZnOH2/log.8Mar18.ZnOH2.g++.1 (100%) rename examples/{reax => reaxff}/ZnOH2/log.8Mar18.ZnOH2.g++.4 (100%) rename examples/{reax => reaxff}/ZnOH2/param.qeq (100%) rename examples/{reax => reaxff}/ci-reaxFF/CH4.dat (100%) rename examples/{reax => reaxff}/ci-reaxFF/ci-reaxFF_ZBL.dat (100%) rename examples/{reax => reaxff}/ci-reaxFF/control (100%) rename examples/{reax => reaxff}/ci-reaxFF/ffield.ci-reax.CH (100%) rename examples/{reax => reaxff}/ci-reaxFF/in.ci-reax.CH (100%) rename examples/{reax => reaxff}/ci-reaxFF/log.8Mar18.ci-reax.CH.g++.1 (100%) rename examples/{reax => reaxff}/ci-reaxFF/log.8Mar18.ci-reax.CH.g++.4 (100%) rename examples/{reax => reaxff}/control.reax_c.rdx (100%) rename examples/{reax => reaxff}/control.reax_c.tatb (100%) rename examples/{reax => reaxff}/data.rdx (100%) rename examples/{reax => reaxff}/data.tatb (100%) rename examples/{reax => reaxff}/ffield.reax (100%) rename examples/{reax => reaxff}/in.reaxc.rdx (100%) rename examples/{reax => reaxff}/in.reaxc.rdx-shielded (100%) rename examples/{reax => reaxff}/in.reaxc.tatb (100%) rename examples/{reax => reaxff}/in.reaxc.tatb-shielded (100%) rename examples/{reax => reaxff}/log.21Apr21.reaxc.rdx-shielded.g++.1 (100%) rename examples/{reax => reaxff}/log.21Apr21.reaxc.rdx-shielded.g++.4 (100%) rename examples/{reax => reaxff}/log.21Apr21.reaxc.rdx.g++.1 (100%) rename examples/{reax => reaxff}/log.21Apr21.reaxc.rdx.g++.4 (100%) rename examples/{reax => reaxff}/log.21Apr21.reaxc.tatb-shielded.g++.1 (100%) rename examples/{reax => reaxff}/log.21Apr21.reaxc.tatb-shielded.g++.4 (100%) rename examples/{reax => reaxff}/log.21Apr21.reaxc.tatb.g++.1 (100%) rename examples/{reax => reaxff}/log.21Apr21.reaxc.tatb.g++.4 (100%) rename src/KOKKOS/{fix_qeq_reax_kokkos.cpp => fix_qeq_reaxff_kokkos.cpp} (87%) rename src/KOKKOS/{fix_qeq_reax_kokkos.h => fix_qeq_reaxff_kokkos.h} (75%) rename src/KOKKOS/{fix_reaxc_bonds_kokkos.cpp => fix_reaxff_bonds_kokkos.cpp} (69%) rename src/KOKKOS/{fix_reaxc_bonds_kokkos.h => fix_reaxff_bonds_kokkos.h} (59%) rename src/KOKKOS/{fix_reaxc_species_kokkos.cpp => fix_reaxff_species_kokkos.cpp} (83%) rename src/KOKKOS/{fix_reaxc_species_kokkos.h => fix_reaxff_species_kokkos.h} (58%) rename src/KOKKOS/{pair_reaxc_kokkos.cpp => pair_reaxff_kokkos.cpp} (91%) rename src/KOKKOS/{pair_reaxc_kokkos.h => pair_reaxff_kokkos.h} (86%) rename src/OPENMP/{fix_qeq_reax_omp.cpp => fix_qeq_reaxff_omp.cpp} (92%) rename src/OPENMP/{fix_qeq_reax_omp.h => fix_qeq_reaxff_omp.h} (84%) rename src/OPENMP/{pair_reaxc_omp.cpp => pair_reaxff_omp.cpp} (88%) rename src/OPENMP/{pair_reaxc_omp.h => pair_reaxff_omp.h} (92%) rename src/OPENMP/{reaxc_bond_orders_omp.cpp => reaxff_bond_orders_omp.cpp} (98%) rename src/OPENMP/{reaxc_bonds_omp.cpp => reaxff_bonds_omp.cpp} (97%) rename src/OPENMP/{reaxc_forces_omp.cpp => reaxff_forces_omp.cpp} (99%) rename src/OPENMP/{reaxc_hydrogen_bonds_omp.cpp => reaxff_hydrogen_bonds_omp.cpp} (98%) rename src/OPENMP/{reaxc_init_md_omp.cpp => reaxff_init_md_omp.cpp} (100%) rename src/OPENMP/{reaxc_multi_body_omp.cpp => reaxff_multi_body_omp.cpp} (98%) rename src/OPENMP/{reaxc_nonbonded_omp.cpp => reaxff_nonbonded_omp.cpp} (97%) rename src/OPENMP/{reaxc_torsion_angles_omp.cpp => reaxff_torsion_angles_omp.cpp} (99%) rename src/OPENMP/{reaxc_valence_angles_omp.cpp => reaxff_valence_angles_omp.cpp} (99%) rename src/REAXFF/{fix_qeq_reax.cpp => fix_qeq_reaxff.cpp} (83%) rename src/REAXFF/{fix_qeq_reax.h => fix_qeq_reaxff.h} (94%) rename src/REAXFF/{fix_reaxc.cpp => fix_reaxff.cpp} (87%) rename src/REAXFF/{fix_reaxc.h => fix_reaxff.h} (89%) rename src/REAXFF/{fix_reaxc_bonds.cpp => fix_reaxff_bonds.cpp} (79%) rename src/REAXFF/{fix_reaxc_bonds.h => fix_reaxff_bonds.h} (82%) rename src/REAXFF/{fix_reaxc_species.cpp => fix_reaxff_species.cpp} (85%) rename src/REAXFF/{fix_reaxc_species.h => fix_reaxff_species.h} (87%) rename src/REAXFF/{pair_reaxc.cpp => pair_reaxff.cpp} (88%) rename src/REAXFF/{pair_reaxc.h => pair_reaxff.h} (88%) rename src/REAXFF/{reaxc_allocate.cpp => reaxff_allocate.cpp} (100%) rename src/REAXFF/{reaxc_bond_orders.cpp => reaxff_bond_orders.cpp} (100%) rename src/REAXFF/{reaxc_bonds.cpp => reaxff_bonds.cpp} (100%) rename src/REAXFF/{reaxc_control.cpp => reaxff_control.cpp} (100%) rename src/REAXFF/{reaxc_ffield.cpp => reaxff_ffield.cpp} (100%) rename src/REAXFF/{reaxc_forces.cpp => reaxff_forces.cpp} (100%) rename src/REAXFF/{reaxc_hydrogen_bonds.cpp => reaxff_hydrogen_bonds.cpp} (100%) rename src/REAXFF/{reaxc_init_md.cpp => reaxff_init_md.cpp} (100%) rename src/REAXFF/{reaxc_list.cpp => reaxff_list.cpp} (100%) rename src/REAXFF/{reaxc_lookup.cpp => reaxff_lookup.cpp} (100%) rename src/REAXFF/{reaxc_multi_body.cpp => reaxff_multi_body.cpp} (100%) rename src/REAXFF/{reaxc_nonbonded.cpp => reaxff_nonbonded.cpp} (100%) rename src/REAXFF/{reaxc_reset_tools.cpp => reaxff_reset_tools.cpp} (100%) rename src/REAXFF/{reaxc_tool_box.cpp => reaxff_tool_box.cpp} (100%) rename src/REAXFF/{reaxc_torsion_angles.cpp => reaxff_torsion_angles.cpp} (100%) rename src/REAXFF/{reaxc_valence_angles.cpp => reaxff_valence_angles.cpp} (100%) delete mode 100644 tools/reax/Cutoff.dic delete mode 100644 tools/reax/README.txt delete mode 100755 tools/reax/reaxc_bond.pl diff --git a/cmake/Modules/Packages/OPENMP.cmake b/cmake/Modules/Packages/OPENMP.cmake index 922df86ef6..0a23e58b4b 100644 --- a/cmake/Modules/Packages/OPENMP.cmake +++ b/cmake/Modules/Packages/OPENMP.cmake @@ -25,15 +25,15 @@ endif() if(PKG_REAXFF) - list(APPEND OPENMP_SOURCES ${OPENMP_SOURCES_DIR}/reaxc_bond_orders_omp.cpp - ${OPENMP_SOURCES_DIR}/reaxc_hydrogen_bonds_omp.cpp - ${OPENMP_SOURCES_DIR}/reaxc_nonbonded_omp.cpp - ${OPENMP_SOURCES_DIR}/reaxc_bonds_omp.cpp - ${OPENMP_SOURCES_DIR}/reaxc_init_md_omp.cpp - ${OPENMP_SOURCES_DIR}/reaxc_torsion_angles_omp.cpp - ${OPENMP_SOURCES_DIR}/reaxc_forces_omp.cpp - ${OPENMP_SOURCES_DIR}/reaxc_multi_body_omp.cpp - ${OPENMP_SOURCES_DIR}/reaxc_valence_angles_omp.cpp) + list(APPEND OPENMP_SOURCES ${OPENMP_SOURCES_DIR}/reaxff_bond_orders_omp.cpp + ${OPENMP_SOURCES_DIR}/reaxff_hydrogen_bonds_omp.cpp + ${OPENMP_SOURCES_DIR}/reaxff_nonbonded_omp.cpp + ${OPENMP_SOURCES_DIR}/reaxff_bonds_omp.cpp + ${OPENMP_SOURCES_DIR}/reaxff_init_md_omp.cpp + ${OPENMP_SOURCES_DIR}/reaxff_torsion_angles_omp.cpp + ${OPENMP_SOURCES_DIR}/reaxff_forces_omp.cpp + ${OPENMP_SOURCES_DIR}/reaxff_multi_body_omp.cpp + ${OPENMP_SOURCES_DIR}/reaxff_valence_angles_omp.cpp) endif() target_sources(lammps PRIVATE ${OPENMP_SOURCES}) diff --git a/doc/src/Commands_fix.rst b/doc/src/Commands_fix.rst index 0ca71699a3..45a75ff394 100644 --- a/doc/src/Commands_fix.rst +++ b/doc/src/Commands_fix.rst @@ -179,14 +179,14 @@ OPT. * :doc:`qeq/dynamic ` * :doc:`qeq/fire ` * :doc:`qeq/point ` - * :doc:`qeq/reax (ko) ` + * :doc:`qeq/reaxff (ko) ` * :doc:`qeq/shielded ` * :doc:`qeq/slater ` * :doc:`qmmm ` * :doc:`qtb ` * :doc:`rattle ` - * :doc:`reax/c/bonds (k) ` - * :doc:`reax/c/species (k) ` + * :doc:`reaxff/bonds (k) ` + * :doc:`reaxff/species (k) ` * :doc:`recenter ` * :doc:`restrain ` * :doc:`rhok ` diff --git a/doc/src/Commands_pair.rst b/doc/src/Commands_pair.rst index 7abb1d582a..db3d947892 100644 --- a/doc/src/Commands_pair.rst +++ b/doc/src/Commands_pair.rst @@ -235,7 +235,7 @@ OPT. * :doc:`python ` * :doc:`quip ` * :doc:`rann ` - * :doc:`reax/c (ko) ` + * :doc:`reaxff (ko) ` * :doc:`rebo (io) ` * :doc:`resquared (go) ` * :doc:`sdpd/taitwater/isothermal ` diff --git a/doc/src/Errors_warnings.rst b/doc/src/Errors_warnings.rst index 68d6b0451a..806dec024b 100644 --- a/doc/src/Errors_warnings.rst +++ b/doc/src/Errors_warnings.rst @@ -514,7 +514,7 @@ This will most likely cause errors in kinetic fluctuations. will integrate the body motion, but it would be more efficient to use fix rigid. -*Not using real units with pair reax* +*Not using real units with pair reaxff* This is most likely an error, unless you have created your own ReaxFF parameter file in a different set of units. @@ -805,5 +805,3 @@ This will most likely cause errors in kinetic fluctuations. *Using pair tail corrections with pair_modify compute no* The tail corrections will thus not be computed. -*pair style reax is now deprecated and will soon be retired. Users should switch to pair_style reax/c* - Self-explanatory. diff --git a/doc/src/Packages_details.rst b/doc/src/Packages_details.rst index 5a4327dad6..1af1512bbf 100644 --- a/doc/src/Packages_details.rst +++ b/doc/src/Packages_details.rst @@ -2274,10 +2274,10 @@ for monitoring molecules as bonds are created and destroyed. * src/REAXFF: filenames -> commands * src/REAXFF/README -* :doc:`pair_style reax/c ` -* :doc:`fix reax/c/bonds ` -* :doc:`fix reax/c/species ` -* examples/reax +* :doc:`pair_style reaxff ` +* :doc:`fix reaxff/bonds ` +* :doc:`fix reaxff/species ` +* examples/reaxff ---------- diff --git a/doc/src/Packages_list.rst b/doc/src/Packages_list.rst index 44c05f8a39..d568976ffe 100644 --- a/doc/src/Packages_list.rst +++ b/doc/src/Packages_list.rst @@ -370,7 +370,7 @@ whether an extra library is needed to build and use the package: - no * - :ref:`REAXFF ` - ReaxFF potential (C/C++) - - :doc:`pair_style reaxc ` + - :doc:`pair_style reaxff ` - reax - no * - :ref:`REPLICA ` diff --git a/doc/src/Tools.rst b/doc/src/Tools.rst index 65a96ce44a..e7cd87aa78 100644 --- a/doc/src/Tools.rst +++ b/doc/src/Tools.rst @@ -76,7 +76,6 @@ Post-processing tools * :ref:`phonon ` * :ref:`pymol_asphere ` * :ref:`python ` - * :ref:`reax ` * :ref:`replica ` * :ref:`smd ` * :ref:`spin ` @@ -947,20 +946,6 @@ while at the Shell lab at UC Santa Barbara. (tanmoy dot 7989 at gmail.com) ---------- -.. _reax_tool: - -reax tool --------------------------- - -The reax sub-directory contains stand-alone codes that can -post-process the output of the :doc:`fix reax/c/bonds ` -command from a LAMMPS simulation using :doc:`ReaxFF `. See -the README.txt file for more info. - -These tools were written by Aidan Thompson at Sandia. - ----------- - .. _smd: smd tool diff --git a/doc/src/compute_pair.rst b/doc/src/compute_pair.rst index 1b074203aa..abfd1ebed4 100644 --- a/doc/src/compute_pair.rst +++ b/doc/src/compute_pair.rst @@ -24,7 +24,7 @@ Examples compute 1 all pair gauss compute 1 all pair lj/cut/coul/cut ecoul compute 1 all pair tersoff 2 epair - compute 1 all pair reax/c + compute 1 all pair reaxff Description """"""""""" @@ -64,7 +64,8 @@ is stored as a global scalar. :doc:`pair_modify ` command. Some pair styles tally additional quantities, e.g. a breakdown of -potential energy into 14 components is tallied by the :doc:`pair_style reax/c ` command. These values (1 or more) +potential energy into 14 components is tallied by the +:doc:`pair_style reaxff ` command. These values (1 or more) are stored as a global vector by this compute. See the doc page for :doc:`individual pair styles ` for info on these values. diff --git a/doc/src/fix.rst b/doc/src/fix.rst index 912cfad255..07a663c789 100644 --- a/doc/src/fix.rst +++ b/doc/src/fix.rst @@ -322,14 +322,14 @@ accelerated styles exist. * :doc:`qeq/dynamic ` - charge equilibration via dynamic method * :doc:`qeq/fire ` - charge equilibration via FIRE minimizer * :doc:`qeq/point ` - charge equilibration via point method -* :doc:`qeq/reax ` - charge equilibration for ReaxFF potential +* :doc:`qeq/reaxff ` - charge equilibration for ReaxFF potential * :doc:`qeq/shielded ` - charge equilibration via shielded method * :doc:`qeq/slater ` - charge equilibration via Slater method * :doc:`qmmm ` - functionality to enable a quantum mechanics/molecular mechanics coupling * :doc:`qtb ` - implement quantum thermal bath scheme * :doc:`rattle ` - RATTLE constraints on bonds and/or angles -* :doc:`reax/c/bonds ` - write out ReaxFF bond information -* :doc:`reax/c/species ` - write out ReaxFF molecule information +* :doc:`reaxff/bonds ` - write out ReaxFF bond information +* :doc:`reaxff/species ` - write out ReaxFF molecule information * :doc:`recenter ` - constrain the center-of-mass position of a group of atoms * :doc:`restrain ` - constrain a bond, angle, dihedral * :doc:`rhok ` - add bias potential for long-range ordered systems diff --git a/doc/src/fix_adapt.rst b/doc/src/fix_adapt.rst index a110d93a8d..58d86f8472 100644 --- a/doc/src/fix_adapt.rst +++ b/doc/src/fix_adapt.rst @@ -186,7 +186,7 @@ formulas for the meaning of these parameters: +------------------------------------------------------------------------------+--------------------------------------------------+-------------+ | :doc:`nm/cut/coul/cut, nm/cut/coul/long ` | E0,R0,m,n,coulombic_cutoff | type pairs | +------------------------------------------------------------------------------+--------------------------------------------------+-------------+ -| :doc:`reax/c ` | chi, eta, gamma | type global | +| :doc:`reaxff ` | chi, eta, gamma | type global | +------------------------------------------------------------------------------+--------------------------------------------------+-------------+ | :doc:`snap ` | scale | type pairs | +------------------------------------------------------------------------------+--------------------------------------------------+-------------+ diff --git a/doc/src/fix_gcmc.rst b/doc/src/fix_gcmc.rst index c65dace601..e360fab86e 100644 --- a/doc/src/fix_gcmc.rst +++ b/doc/src/fix_gcmc.rst @@ -374,7 +374,7 @@ in the context of NVT dynamics. has been reached. With some pair_styles, such as :doc:`Buckingham `, -:doc:`Born-Mayer-Huggins ` and :doc:`ReaxFF `, two +:doc:`Born-Mayer-Huggins ` and :doc:`ReaxFF `, two atoms placed close to each other may have an arbitrary large, negative potential energy due to the functional form of the potential. While these unphysical configurations are inaccessible to typical dynamical diff --git a/doc/src/fix_qeq.rst b/doc/src/fix_qeq.rst index ccacea08db..113692da9b 100644 --- a/doc/src/fix_qeq.rst +++ b/doc/src/fix_qeq.rst @@ -32,7 +32,7 @@ Syntax * cutoff = global cutoff for charge-charge interactions (distance unit) * tolerance = precision to which charges will be equilibrated * maxiter = maximum iterations to perform charge equilibration -* qfile = a filename with QEq parameters or *coul/streitz* or *reax/c* +* qfile = a filename with QEq parameters or *coul/streitz* or *reaxff* * zero or more keyword/value pairs may be appended * keyword = *alpha* or *qdamp* or *qstep* or *warn* @@ -91,11 +91,11 @@ on the current atom configuration), then remove the fix via the The :doc:`fix qeq/comb ` command must still be used to perform charge equilibration with the :doc:`COMB potential - `. The :doc:`fix qeq/reax ` command can be + `. The :doc:`fix qeq/reaxff ` command can be used to perform charge equilibration with the :doc:`ReaxFF force - field `, although fix qeq/shielded yields the same - results as fix qeq/reax if *Nevery*\ , *cutoff*\ , and *tolerance* - are the same. Eventually the fix qeq/reax command will be + field `, although fix qeq/shielded yields the same + results as fix qeq/reaxff if *Nevery*\ , *cutoff*\ , and *tolerance* + are the same. Eventually the fix qeq/reaxff command will be deprecated. The QEq method minimizes the electrostatic energy of the system (or @@ -150,11 +150,11 @@ interaction between a pair of charged particles. Interaction through the shielded Coulomb is given by equation (13) of the :ref:`ReaxFF force field ` paper. The shielding accounts for charge overlap between charged particles at small separation. This style is the same -as :doc:`fix qeq/reax `, and can be used with -:doc:`pair_style reax/c `. Only the *chi*\ , *eta*\ , and +as :doc:`fix qeq/reaxff `, and can be used with +:doc:`pair_style reaxff `. Only the *chi*\ , *eta*\ , and *gamma* parameters from the *qfile* file are used. When using the string -*reax/c* as filename, these parameters are extracted directly from an -active *reax/c* pair style. This style solves partial charges on atoms +*reaxff* as filename, these parameters are extracted directly from an +active *reaxff* pair style. This style solves partial charges on atoms via the matrix inversion method. A tolerance of 1.0e-6 is usually a good number. @@ -235,7 +235,7 @@ The qeq fixes are not compatible with the GPU and USER-INTEL packages. Related commands """""""""""""""" -:doc:`fix qeq/reax `, :doc:`fix qeq/comb ` +:doc:`fix qeq/reaxff `, :doc:`fix qeq/comb ` Default """"""" diff --git a/doc/src/fix_qeq_comb.rst b/doc/src/fix_qeq_comb.rst index 74a97720dc..8eeea6c5b4 100644 --- a/doc/src/fix_qeq_comb.rst +++ b/doc/src/fix_qeq_comb.rst @@ -41,7 +41,7 @@ Perform charge equilibration (QeQ) in conjunction with the COMB equilibration portion of the calculation using the so-called QEq method, whereby the charge on each atom is adjusted to minimize the energy of the system. This fix can only be used with the COMB -potential; see the :doc:`fix qeq/reax ` command for a QeQ +potential; see the :doc:`fix qeq/reaxff ` command for a QeQ calculation that can be used with any potential. Only charges on the atoms in the specified group are equilibrated. diff --git a/doc/src/fix_qeq_reax.rst b/doc/src/fix_qeq_reaxff.rst similarity index 82% rename from doc/src/fix_qeq_reax.rst rename to doc/src/fix_qeq_reaxff.rst index 89fffcf2a3..96a20d4ca6 100644 --- a/doc/src/fix_qeq_reax.rst +++ b/doc/src/fix_qeq_reaxff.rst @@ -1,31 +1,31 @@ -.. index:: fix qeq/reax -.. index:: fix qeq/reax/kk -.. index:: fix qeq/reax/omp +.. index:: fix qeq/reaxff +.. index:: fix qeq/reaxff/kk +.. index:: fix qeq/reaxff/omp -fix qeq/reax command -==================== +fix qeq/reaxff command +====================== -Accelerator Variants: *qeq/reax/kk*, *qeq/reax/omp* +Accelerator Variants: *qeq/reaxff/kk*, *qeq/reaxff/omp* Syntax """""" .. parsed-literal:: - fix ID group-ID qeq/reax Nevery cutlo cuthi tolerance params args + fix ID group-ID qeq/reaxff Nevery cutlo cuthi tolerance params args * ID, group-ID are documented in :doc:`fix ` command -* qeq/reax = style name of this fix command +* qeq/reaxff = style name of this fix command * Nevery = perform QEq every this many steps * cutlo,cuthi = lo and hi cutoff for Taper radius * tolerance = precision to which charges will be equilibrated -* params = reax/c or a filename +* params = reaxff or a filename * one or more keywords or keyword/value pairs may be appended .. parsed-literal:: keyword = *dual* or *maxiter* or *nowarn* - *dual* = process S and T matrix in parallel (only for qeq/reax/omp) + *dual* = process S and T matrix in parallel (only for qeq/reaxff/omp) *maxiter* N = limit the number of iterations to *N* *nowarn* = do not print a warning message if the maximum number of iterations was reached @@ -34,8 +34,8 @@ Examples .. code-block:: LAMMPS - fix 1 all qeq/reax 1 0.0 10.0 1.0e-6 reax/c - fix 1 all qeq/reax 1 0.0 10.0 1.0e-6 param.qeq maxiter 500 + fix 1 all qeq/reaxff 1 0.0 10.0 1.0e-6 reaxff + fix 1 all qeq/reaxff 1 0.0 10.0 1.0e-6 param.qeq maxiter 500 Description """"""""""" @@ -43,19 +43,19 @@ Description Perform the charge equilibration (QEq) method as described in :ref:`(Rappe and Goddard) ` and formulated in :ref:`(Nakano) `. It is typically used in conjunction with the ReaxFF force -field model as implemented in the :doc:`pair_style reax/c ` +field model as implemented in the :doc:`pair_style reaxff ` command, but it can be used with any potential in LAMMPS, so long as it defines and uses charges on each atom. The :doc:`fix qeq/comb ` command should be used to perform charge equilibration with the :doc:`COMB potential `. For more technical details -about the charge equilibration performed by fix qeq/reax, see the +about the charge equilibration performed by fix qeq/reaxff, see the :ref:`(Aktulga) ` paper. The QEq method minimizes the electrostatic energy of the system by adjusting the partial charge on individual atoms based on interactions with their neighbors. It requires some parameters for each atom type. -If the *params* setting above is the word "reax/c", then these are -extracted from the :doc:`pair_style reax/c ` command and +If the *params* setting above is the word "reaxff", then these are +extracted from the :doc:`pair_style reaxff ` command and the ReaxFF force field file it reads in. If a file name is specified for *params*\ , then the parameters are taken from the specified file and the file must contain one line for each atom type. The latter @@ -76,7 +76,7 @@ of this fix are hard-coded to be A, eV, and electronic charge. The optional *dual* keyword allows to perform the optimization of the S and T matrices in parallel. This is only supported for -the *qeq/reax/omp* style. Otherwise they are processed separately. +the *qeq/reaxff/omp* style. Otherwise they are processed separately. The optional *maxiter* keyword allows changing the max number of iterations in the linear solver. The default value is 200. @@ -119,7 +119,7 @@ periodic cell dimensions less than 10 angstroms. Related commands """""""""""""""" -:doc:`pair_style reax/c ` +:doc:`pair_style reaxff `, :doc:`fix qeq/shielded ` Default """"""" diff --git a/doc/src/fix_reaxc_bonds.rst b/doc/src/fix_reaxff_bonds.rst similarity index 79% rename from doc/src/fix_reaxc_bonds.rst rename to doc/src/fix_reaxff_bonds.rst index 9207ee7a63..5dd4df7765 100644 --- a/doc/src/fix_reaxc_bonds.rst +++ b/doc/src/fix_reaxff_bonds.rst @@ -1,17 +1,17 @@ -.. index:: fix reax/c/bonds -.. index:: fix reax/c/bonds/kk +.. index:: fix reaxff/bonds +.. index:: fix reaxff/bonds/kk -fix reax/c/bonds command +fix reaxff/bonds command ======================== -Accelerator Variants: *reax/c/bonds/kk* +Accelerator Variants: *reaxff/bonds/kk* Syntax """""" .. parsed-literal:: - fix ID group-ID reaxc/bonds Nevery filename + fix ID group-ID reaxff/bonds Nevery filename * ID, group-ID are documented in :doc:`fix ` command * reax/bonds = style name of this fix command @@ -23,17 +23,17 @@ Examples .. code-block:: LAMMPS - fix 1 all reax/c/bonds 100 bonds.reaxc + fix 1 all reaxff/bonds 100 bonds.reaxff Description """"""""""" Write out the bond information computed by the ReaxFF potential specified -by :doc:`pair_style reax/c ` in the exact same format as the +by :doc:`pair_style reaxff ` in the exact same format as the original stand-alone ReaxFF code of Adri van Duin. The bond information is written to *filename* on timesteps that are multiples of *Nevery*\ , including timestep 0. For time-averaged chemical species analysis, -please see the :doc:`fix reaxc/c/species ` command. +please see the :doc:`fix reaxff/species ` command. The specified group-ID is ignored by this fix. @@ -76,7 +76,7 @@ the :doc:`run ` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" -The fix reax/c/bonds command requires that the :doc:`pair_style reax/c ` is invoked. This fix is part of the +The fix reaxff/bonds command requires that the :doc:`pair_style reaxff ` is invoked. This fix is part of the REAXFF package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -87,7 +87,7 @@ To write gzipped bond files, you must compile LAMMPS with the Related commands """""""""""""""" -:doc:`pair_style reax/c `, :doc:`fix reax/c/species ` +:doc:`pair_style reaxff `, :doc:`fix reaxff/species ` Default """"""" diff --git a/doc/src/fix_reaxc_species.rst b/doc/src/fix_reaxff_species.rst similarity index 77% rename from doc/src/fix_reaxc_species.rst rename to doc/src/fix_reaxff_species.rst index bce140a9af..bca9c2c726 100644 --- a/doc/src/fix_reaxc_species.rst +++ b/doc/src/fix_reaxff_species.rst @@ -1,20 +1,20 @@ -.. index:: fix reax/c/species -.. index:: fix reax/c/species/kk +.. index:: fix reaxff/species +.. index:: fix reaxff/species/kk -fix reax/c/species command +fix reaxff/species command ========================== -Accelerator Variants: *reax/c/species/kk* +Accelerator Variants: *reaxff/species/kk* Syntax """""" .. parsed-literal:: - fix ID group-ID reax/c/species Nevery Nrepeat Nfreq filename keyword value ... + fix ID group-ID reaxff/species Nevery Nrepeat Nfreq filename keyword value ... * ID, group-ID are documented in :doc:`fix ` command -* reax/c/species = style name of this command +* reaxff/species = style name of this command * Nevery = sample bond-order every this many timesteps * Nrepeat = # of bond-order samples used for calculating averages * Nfreq = calculate average bond-order every this many timesteps @@ -37,15 +37,15 @@ Examples .. code-block:: LAMMPS - fix 1 all reax/c/species 10 10 100 species.out - fix 1 all reax/c/species 1 2 20 species.out cutoff 1 1 0.40 cutoff 1 2 0.55 - fix 1 all reax/c/species 1 100 100 species.out element Au O H position 1000 AuOH.pos + fix 1 all reaxff/species 10 10 100 species.out + fix 1 all reaxff/species 1 2 20 species.out cutoff 1 1 0.40 cutoff 1 2 0.55 + fix 1 all reaxff/species 1 100 100 species.out element Au O H position 1000 AuOH.pos Description """"""""""" Write out the chemical species information computed by the ReaxFF -potential specified by :doc:`pair_style reax/c `. +potential specified by :doc:`pair_style reaxff `. Bond-order values (either averaged or instantaneous, depending on value of *Nrepeat*\ ) are used to determine chemical bonds. Every *Nfreq* timesteps, chemical species information is written to @@ -73,7 +73,7 @@ symbol printed for each LAMMPS atom type. The number of symbols must match the number of LAMMPS atom types and each symbol must consist of 1 or 2 alphanumeric characters. Normally, these symbols should be chosen to match the chemical identity of each LAMMPS atom type, as -specified using the :doc:`reax/c pair_coeff ` command and +specified using the :doc:`reaxff pair_coeff ` command and the ReaxFF force field file. The optional keyword *position* writes center-of-mass positions of @@ -115,12 +115,12 @@ average bond-order for the species analysis output on timestep 100. Restart, fix_modify, output, run start/stop, minimize info """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" -No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix_modify ` options -are relevant to this fix. +No information about this fix is written to :doc:`binary restart files `. +None of the :doc:`fix_modify ` options are relevant to this fix. -This fix computes both a global vector of length 2 and a per-atom -vector, either of which can be accessed by various :doc:`output commands `. The values in the global vector are -"intensive". +This fix computes both a global vector of length 2 and a per-atom vector, +either of which can be accessed by various :doc:`output commands `. +The values in the global vector are "intensive". The 2 values in the global vector are as follows: @@ -134,7 +134,8 @@ will be the same and will be equal to the smallest atom ID of any atom in the molecule. No parameter of this fix can be used with the *start/stop* keywords of -the :doc:`run ` command. This fix is not invoked during :doc:`energy minimization `. +the :doc:`run ` command. +This fix is not invoked during :doc:`energy minimization `. ---------- @@ -145,26 +146,20 @@ the :doc:`run ` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" -The "fix reax/c/species" currently only works with :doc:`pair_style reax/c ` and it requires that the :doc:`pair_style reax/c ` be invoked. This fix is part of the -REAXFF package. It is only enabled if LAMMPS was built with that -package. See the :doc:`Build package ` doc page for more -info. +The "fix reaxff/species" requires that :doc:`pair_style reaxff ` is used. +This fix is part of the REAXFF package. It is only enabled if LAMMPS was built with that +package. See the :doc:`Build package ` doc page for more info. -To write gzipped species files, you must compile LAMMPS with the --DLAMMPS_GZIP option. - -It should be possible to extend it to other reactive pair_styles (such as -:doc:`rebo `, :doc:`airebo `, -:doc:`comb `, and :doc:`bop `), but this has not yet been done. +To write gzipped species files, you must compile LAMMPS with the -DLAMMPS_GZIP option. Related commands """""""""""""""" -:doc:`pair_style reax/c `, :doc:`fix reax/c/bonds ` +:doc:`pair_style reaxff `, :doc:`fix reaxff/bonds ` Default """"""" -The default values for bond-order cutoffs are 0.3 for all I-J pairs. The -default element symbols are C, H, O, N. Position files are not written -by default. +The default values for bond-order cutoffs are 0.3 for all I-J pairs. +The default element symbols are C, H, O, N. +Position files are not written by default. diff --git a/doc/src/kim_commands.rst b/doc/src/kim_commands.rst index f116a70922..fc00a574d2 100644 --- a/doc/src/kim_commands.rst +++ b/doc/src/kim_commands.rst @@ -372,9 +372,9 @@ the *kim interactions* command executes the following LAMMPS input commands: .. code-block:: LAMMPS - pair_style reax/c lmp_control safezone 2.0 mincap 100 + pair_style reaxff lmp_control safezone 2.0 mincap 100 pair_coeff * * ffield.reax.rdx C H N O - fix reaxqeq all qeq/reax 1 0.0 10.0 1.0e-6 param.qeq + fix reaxqeq all qeq/reaxff 1 0.0 10.0 1.0e-6 param.qeq .. note:: diff --git a/doc/src/package.rst b/doc/src/package.rst index e997dc6147..54cf74f5be 100644 --- a/doc/src/package.rst +++ b/doc/src/package.rst @@ -448,7 +448,8 @@ does not require atomic operations in the calculation of pair forces. For that reason, *full* is the default setting for GPUs. However, when running on CPUs, a *half* neighbor list is the default because it are often faster, just as it is for non-accelerated pair styles. Similarly, -the *neigh/qeq* keyword determines how neighbor lists are built for :doc:`fix qeq/reax/kk `. +the *neigh/qeq* keyword determines how neighbor lists are built for +:doc:`fix qeq/reaxff/kk `. If the *neigh/thread* keyword is set to *off*\ , then the KOKKOS package threads only over atoms. However, for small systems, this may not expose diff --git a/doc/src/pair_reaxc.rst b/doc/src/pair_reaxff.rst similarity index 76% rename from doc/src/pair_reaxc.rst rename to doc/src/pair_reaxff.rst index 352bcb4847..0389742ea5 100644 --- a/doc/src/pair_reaxc.rst +++ b/doc/src/pair_reaxff.rst @@ -1,18 +1,18 @@ -.. index:: pair_style reax/c -.. index:: pair_style reax/c/kk -.. index:: pair_style reax/c/omp +.. index:: pair_style reaxff +.. index:: pair_style reaxff/kk +.. index:: pair_style reaxff/omp -pair_style reax/c command +pair_style reaxff command ========================= -Accelerator Variants: *reax/c/kk*, *reax/c/omp* +Accelerator Variants: *reaxff/kk*, *reaxff/omp* Syntax """""" .. code-block:: LAMMPS - pair_style reax/c cfile keyword value + pair_style reaxff cfile keyword value * cfile = NULL or name of a control file * zero or more keyword/value pairs may be appended @@ -20,7 +20,7 @@ Syntax .. parsed-literal:: keyword = *checkqeq* or *lgvdw* or *safezone* or *mincap* or *minhbonds* - *checkqeq* value = *yes* or *no* = whether or not to require qeq/reax fix + *checkqeq* value = *yes* or *no* = whether or not to require qeq/reaxff fix *enobonds* value = *yes* or *no* = whether or not to tally energy of atoms with no bonds *lgvdw* value = *yes* or *no* = whether or not to use a low gradient vdW correction *safezone* = factor used for array allocation @@ -32,37 +32,38 @@ Examples .. code-block:: LAMMPS - pair_style reax/c NULL - pair_style reax/c controlfile checkqeq no - pair_style reax/c NULL lgvdw yes - pair_style reax/c NULL safezone 1.6 mincap 100 + pair_style reaxff NULL + pair_style reaxff controlfile checkqeq no + pair_style reaxff NULL lgvdw yes + pair_style reaxff NULL safezone 1.6 mincap 100 pair_coeff * * ffield.reax C H O N Description """"""""""" -Style *reax/c* computes the ReaxFF potential of van Duin, Goddard and +Style *reaxff* computes the ReaxFF potential of van Duin, Goddard and co-workers. ReaxFF uses distance-dependent bond-order functions to represent the contributions of chemical bonding to the potential energy. There is more than one version of ReaxFF. The version implemented in LAMMPS uses the functional forms documented in the -supplemental information of the following paper: :ref:`(Chenoweth et al., 2008) `. The version integrated into LAMMPS matches -the most up-to-date version of ReaxFF as of summer 2010. For more -technical details about the pair reax/c implementation of ReaxFF, see -the :ref:`(Aktulga) ` paper. The *reax/c* style was initially -implemented as a stand-alone C code and is now integrated into LAMMPS -as a package. +supplemental information of the following paper: +:ref:`(Chenoweth et al., 2008) `. The version integrated +into LAMMPS matches the version of ReaxFF From Summer 2010. For more +technical details about the pair reaxff implementation of ReaxFF, see +the :ref:`(Aktulga) ` paper. The *reaxff* style was initially +implemented as a stand-alone C code and is now converted to C++ and +integrated into LAMMPS as a package. -The *reax/c/kk* style is a Kokkos version of the ReaxFF potential that -is derived from the *reax/c* style. The Kokkos version can run on GPUs +The *reaxff/kk* style is a Kokkos version of the ReaxFF potential that +is derived from the *reaxff* style. The Kokkos version can run on GPUs and can also use OpenMP multithreading. For more information about the Kokkos package, see :doc:`Packages details ` and :doc:`Speed kokkos ` doc pages. One important -consideration when using the *reax/c/kk* style is the choice of either +consideration when using the *reaxff/kk* style is the choice of either half or full neighbor lists. This setting can be changed using the Kokkos :doc:`package ` command. -The *reax/c* style differs from the (obsolete) "pair_style reax" +The *reaxff* style differs from the (obsolete) "pair_style reax" command in the implementation details. The *reax* style was a Fortran library, linked to LAMMPS. The *reax* style has been removed from LAMMPS after the 12 December 2018 version. @@ -73,7 +74,7 @@ documented in potentials/README.reax. The default ffield.reax contains parameterizations for the following elements: C, H, O, N. The format of these files is identical to that used originally by van -Duin. We have tested the accuracy of *pair_style reax/c* potential +Duin. We have tested the accuracy of *pair_style reaxff* potential against the original ReaxFF code for the systems mentioned above. You can use other ffield files for specific chemical systems that may be available elsewhere (but note that their accuracy may not have been @@ -102,10 +103,11 @@ control variable. The format of the control file is described below. The LAMMPS default values for the ReaxFF global parameters correspond to those used by Adri van Duin's stand-alone serial - code. If these are changed by setting control variables in the control - file, the results from LAMMPS and the serial code will not agree. + code. If these are changed by setting control variables in the + control file, the results from LAMMPS and the serial code will + not agree. -Examples using *pair_style reax/c* are provided in the examples/reax +Examples using *pair_style reaxff* are provided in the examples/reax sub-directory. Use of this pair style requires that a charge be defined for every @@ -115,25 +117,28 @@ charges. The ReaxFF parameter files provided were created using a charge equilibration (QEq) model for handling the electrostatic interactions. -Therefore, by default, LAMMPS requires that the :doc:`fix qeq/reax ` command be used with *pair_style reax/c* -when simulating a ReaxFF model, to equilibrate charge each timestep. -Using the keyword *checkqeq* with the value *no* -turns off the check for *fix qeq/reax*\ , -allowing a simulation to be run without charge equilibration. -In this case, the static charges you -assign to each atom will be used for computing the electrostatic -interactions in the system. -See the :doc:`fix qeq/reax ` command for details. +Therefore, by default, LAMMPS requires that either the +:doc:`fix qeq/reaxff ` or the +:doc:`fix qeq/shielded ` command be used with +*pair_style reaxff* when simulating a ReaxFF model, to equilibrate +the charges each timestep. + +Using the keyword *checkqeq* with the value *no* turns off the check +for the QEq fixes, allowing a simulation to be run without charge +equilibration. In this case, the static charges you assign to each +atom will be used for computing the electrostatic interactions in +the system. See the :doc:`fix qeq/reaxff ` or +:doc:`fix qeq/shielded ` command documentation for more details. Using the optional keyword *lgvdw* with the value *yes* turns on the -low-gradient correction of the ReaxFF/C for long-range London -Dispersion, as described in the :ref:`(Liu) ` paper. Force field -file *ffield.reax.lg* is designed for this correction, and is trained -for several energetic materials (see "Liu"). When using lg-correction, -recommended value for parameter *thb* is 0.01, which can be set in the +low-gradient correction of ReaxFF for long-range London Dispersion, +as described in the :ref:`(Liu) ` paper. The bundled force +field file *ffield.reax.lg* is designed for this correction, and is +trained for several energetic materials (see "Liu"). When using *lgvdw yes*, +the recommended value for parameter *thb* is 0.01, which can be set in the control file. Note: Force field files are different for the original -or lg corrected pair styles, using wrong ffield file generates an -error message. +or lg corrected pair styles, using the wrong ffield file generates an +error. Using the optional keyword *enobonds* with the value *yes*\ , the energy of atoms with no bonds (i.e. isolated atoms) is included in the total @@ -144,7 +149,7 @@ discontinuities in the potential energy when the bonding of an atom drops to zero. Optional keywords *safezone*\ , *mincap*\ , and *minhbonds* are used -for allocating reax/c arrays. Increasing these values can avoid memory +for allocating reaxff arrays. Increasing these values can avoid memory problems, such as segmentation faults and bondchk failed errors, that could occur under certain conditions. These keywords are not used by the Kokkos version, which instead uses a more robust memory allocation @@ -158,7 +163,8 @@ equilibration contributions which are stored in the thermo variable :doc:`thermo ` command. This pair style tallies a breakdown of the total ReaxFF potential -energy into sub-categories, which can be accessed via the :doc:`compute pair ` command as a vector of values of length 14. +energy into sub-categories, which can be accessed via the +:doc:`compute pair ` command as a vector of values of length 14. The 14 values correspond to the following sub-categories (the variable names in italics match those used in the original FORTRAN ReaxFF code): @@ -183,14 +189,14 @@ headings) the following commands could be included in an input script: .. code-block:: LAMMPS - compute reax all pair reax/c + compute reax all pair reaxff variable eb equal c_reax[1] variable ea equal c_reax[2] [...] variable eqeq equal c_reax[14] thermo_style custom step temp epair v_eb v_ea [...] v_eqeq -Only a single pair_coeff command is used with the *reax/c* style which +Only a single pair_coeff command is used with the *reaxff* style which specifies a ReaxFF potential file with parameters for all needed elements. These are mapped to LAMMPS atom types by specifying N additional arguments after the filename in the pair_coeff command, @@ -209,7 +215,7 @@ to M. Each of the N indices you specify for the N atom types of LAMMPS atoms must be an integer from 1 to M. Atoms with LAMMPS type 1 will be mapped to whatever element you specify as the first index value, etc. If a mapping value is specified as NULL, the mapping is not -performed. This can be used when the *reax/c* style is used as part +performed. This can be used when the *reaxff* style is used as part of the *hybrid* pair style. The NULL values are placeholders for atom types that will be used with other potentials. @@ -241,7 +247,7 @@ brief description of their use and default values. *simulation_name* - Output files produced by *pair_style reax/c* carry + Output files produced by *pair_style reaxff* carry this name + extensions specific to their contents. Partial energies are reported with a ".pot" extension, while the trajectory file has ".trj" extension. @@ -286,8 +292,7 @@ brief description of their use and default values. to be considered in three body interactions. (default value = 0.00001) *write_freq* - Frequency of writes into the trajectory file. (default - value = 0) + Frequency of writes into the trajectory file. (default value = 0) *traj_title* Title of the trajectory - not the name of the trajectory file. @@ -315,7 +320,8 @@ Mixing, shift, table, tail correction, restart, rRESPA info This pair style does not support the :doc:`pair_modify ` mix, shift, table, and tail options. -This pair style does not write its information to :doc:`binary restart files `, since it is stored in potential files. Thus, you +This pair style does not write its information to :doc:`binary restart files `, +since it is stored in potential files. Thus, you need to re-specify the pair_style and pair_coeff commands in an input script that reads a restart file. @@ -333,18 +339,20 @@ Restrictions """""""""""" This pair style is part of the REAXFF package. It is only enabled -if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +if LAMMPS was built with that package. +See the :doc:`Build package ` doc page for more info. The ReaxFF potential files provided with LAMMPS in the potentials -directory are parameterized for real :doc:`units `. You can use -the ReaxFF potential with any LAMMPS units, but you would need to +directory are parameterized for *real* :doc:`units `. You can use +the ReaxFF pair style with any LAMMPS units, but you would need to create your own potential file with coefficients listed in the appropriate units if your simulation does not use "real" units. Related commands """""""""""""""" -:doc:`pair_coeff `, :doc:`fix qeq/reax `, :doc:`fix reax/c/bonds `, :doc:`fix reax/c/species ` +:doc:`pair_coeff `, :doc:`fix qeq/reaxff `, +:doc:`fix reaxff/bonds `, :doc:`fix reaxff/species ` Default """"""" diff --git a/doc/src/pair_style.rst b/doc/src/pair_style.rst index f0497cb931..50f49c87c9 100644 --- a/doc/src/pair_style.rst +++ b/doc/src/pair_style.rst @@ -299,7 +299,7 @@ accelerated styles exist. * :doc:`python ` - * :doc:`quip ` - * :doc:`rann ` - -* :doc:`reax/c ` - ReaxFF potential in C +* :doc:`reaxff ` - ReaxFF potential * :doc:`rebo ` - second generation REBO potential of Brenner * :doc:`resquared ` - Everaers RE-Squared ellipsoidal potential * :doc:`sdpd/taitwater/isothermal ` - smoothed dissipative particle dynamics for water at isothermal conditions diff --git a/doc/utils/check-styles.py b/doc/utils/check-styles.py index 16a7cf2a5c..6c1fd6dd35 100755 --- a/doc/utils/check-styles.py +++ b/doc/utils/check-styles.py @@ -254,40 +254,27 @@ for command_type, entries in index.items(): print("Total number of style index entries:", total_index) +skip_fix = ('python', 'NEIGH_HISTORY/omp','qeq/reax','reax/c/bonds','reax/c/species') +skip_pair = ('meam/c','lj/sf','reax/c') + counter = 0 -counter += check_style('Commands_all.rst', doc_dir, ":doc:`(.+) <.+>`", - command,'Command',suffix=False) -counter += check_style('Commands_compute.rst', doc_dir, ":doc:`(.+) `", - compute,'Compute',suffix=True) -counter += check_style('compute.rst', doc_dir, ":doc:`(.+) ` -", - compute,'Compute',suffix=False) -counter += check_style('Commands_fix.rst', doc_dir, ":doc:`(.+) `", - fix,'Fix',skip=('python', 'NEIGH_HISTORY/omp'),suffix=True) -counter += check_style('fix.rst', doc_dir, ":doc:`(.+) ` -", - fix,'Fix',skip=('python', 'NEIGH_HISTORY/omp'),suffix=False) -counter += check_style('Commands_pair.rst', doc_dir, ":doc:`(.+) `", - pair,'Pair',skip=('meam/c','lj/sf'),suffix=True) -counter += check_style('pair_style.rst', doc_dir, ":doc:`(.+) ` -", - pair,'Pair',skip=('meam/c','lj/sf'),suffix=False) -counter += check_style('Commands_bond.rst', doc_dir, ":doc:`(.+) `", - bond,'Bond',suffix=True) -counter += check_style('bond_style.rst', doc_dir, ":doc:`(.+) ` -", - bond,'Bond',suffix=False) -counter += check_style('Commands_bond.rst', doc_dir, ":doc:`(.+) `", - angle,'Angle',suffix=True) -counter += check_style('angle_style.rst', doc_dir, ":doc:`(.+) ` -", - angle,'Angle',suffix=False) -counter += check_style('Commands_bond.rst', doc_dir, ":doc:`(.+) `", - dihedral,'Dihedral',suffix=True) -counter += check_style('dihedral_style.rst', doc_dir, ":doc:`(.+) ` -", - dihedral,'Dihedral',suffix=False) -counter += check_style('Commands_bond.rst', doc_dir, ":doc:`(.+) `", - improper,'Improper',suffix=True) -counter += check_style('improper_style.rst', doc_dir, ":doc:`(.+) ` -", - improper,'Improper',suffix=False) -counter += check_style('Commands_kspace.rst', doc_dir, ":doc:`(.+) `", - kspace,'KSpace',suffix=True) +counter += check_style('Commands_all.rst', doc_dir, ":doc:`(.+) <.+>`",command,'Command',suffix=False) +counter += check_style('Commands_compute.rst', doc_dir, ":doc:`(.+) `",compute,'Compute',suffix=True) +counter += check_style('compute.rst', doc_dir, ":doc:`(.+) ` -",compute,'Compute',suffix=False) +counter += check_style('Commands_fix.rst', doc_dir, ":doc:`(.+) `",fix,'Fix',skip=skip_fix,suffix=True) +counter += check_style('fix.rst', doc_dir, ":doc:`(.+) ` -",fix,'Fix',skip=skip_fix,suffix=False) +counter += check_style('Commands_pair.rst', doc_dir, ":doc:`(.+) `",pair,'Pair',skip=skip_pair,suffix=True) +counter += check_style('pair_style.rst', doc_dir, ":doc:`(.+) ` -",pair,'Pair',skip=skip_pair,suffix=False) +counter += check_style('Commands_bond.rst', doc_dir, ":doc:`(.+) `",bond,'Bond',suffix=True) +counter += check_style('bond_style.rst', doc_dir, ":doc:`(.+) ` -",bond,'Bond',suffix=False) +counter += check_style('Commands_bond.rst', doc_dir, ":doc:`(.+) `",angle,'Angle',suffix=True) +counter += check_style('angle_style.rst', doc_dir, ":doc:`(.+) ` -",angle,'Angle',suffix=False) +counter += check_style('Commands_bond.rst', doc_dir, ":doc:`(.+) `",dihedral,'Dihedral',suffix=True) +counter += check_style('dihedral_style.rst', doc_dir, ":doc:`(.+) ` -",dihedral,'Dihedral',suffix=False) +counter += check_style('Commands_bond.rst', doc_dir, ":doc:`(.+) `",improper,'Improper',suffix=True) +counter += check_style('improper_style.rst', doc_dir, ":doc:`(.+) ` -",improper,'Improper',suffix=False) +counter += check_style('Commands_kspace.rst', doc_dir, ":doc:`(.+) `",kspace,'KSpace',suffix=True) if counter: print(f"Found {counter} issue(s) with style lists") @@ -295,13 +282,13 @@ if counter: counter = 0 counter += check_style_index("compute", compute, index["compute"]) -counter += check_style_index("fix", fix, index["fix"], skip=['python']) +counter += check_style_index("fix", fix, index["fix"], skip=['python','qeq/reax','reax/c/bonds','reax/c/species']) counter += check_style_index("angle_style", angle, index["angle_style"]) counter += check_style_index("bond_style", bond, index["bond_style"]) counter += check_style_index("dihedral_style", dihedral, index["dihedral_style"]) counter += check_style_index("improper_style", improper, index["improper_style"]) counter += check_style_index("kspace_style", kspace, index["kspace_style"]) -counter += check_style_index("pair_style", pair, index["pair_style"], skip=['meam/c', 'lj/sf']) +counter += check_style_index("pair_style", pair, index["pair_style"], skip=['meam/c', 'lj/sf','reax/c']) if counter: print(f"Found {counter} issue(s) with style index") diff --git a/examples/README b/examples/README index 4f4f671a29..68825a7dbd 100644 --- a/examples/README +++ b/examples/README @@ -103,7 +103,7 @@ pour: pouring of granular particles into a 3d box, then chute flow prd: parallel replica dynamics of vacancy diffusion in bulk Si python: use of PYTHON package to invoke Python code from input script qeq: use of QEQ package for charge equilibration -reax: RDX and TATB and several other models using ReaxFF +reaxff: RDX and TATB and several other models using ReaxFF rerun: use of rerun and read_dump commands rigid: rigid bodies modeled as independent or coupled shear: sideways shear applied to 2d solid, with and without a void diff --git a/examples/reax/AB/README b/examples/reaxff/AB/README similarity index 100% rename from examples/reax/AB/README rename to examples/reaxff/AB/README diff --git a/examples/reax/AB/data.AB b/examples/reaxff/AB/data.AB similarity index 100% rename from examples/reax/AB/data.AB rename to examples/reaxff/AB/data.AB diff --git a/examples/reax/AB/ffield.reax.AB b/examples/reaxff/AB/ffield.reax.AB similarity index 100% rename from examples/reax/AB/ffield.reax.AB rename to examples/reaxff/AB/ffield.reax.AB diff --git a/examples/reax/AB/in.AB b/examples/reaxff/AB/in.AB similarity index 100% rename from examples/reax/AB/in.AB rename to examples/reaxff/AB/in.AB diff --git a/examples/reax/AB/lmp_control b/examples/reaxff/AB/lmp_control similarity index 100% rename from examples/reax/AB/lmp_control rename to examples/reaxff/AB/lmp_control diff --git a/examples/reax/AB/log.8Mar18.AB.g++.1 b/examples/reaxff/AB/log.8Mar18.AB.g++.1 similarity index 100% rename from examples/reax/AB/log.8Mar18.AB.g++.1 rename to examples/reaxff/AB/log.8Mar18.AB.g++.1 diff --git a/examples/reax/AB/log.8Mar18.AB.g++.4 b/examples/reaxff/AB/log.8Mar18.AB.g++.4 similarity index 100% rename from examples/reax/AB/log.8Mar18.AB.g++.4 rename to examples/reaxff/AB/log.8Mar18.AB.g++.4 diff --git a/examples/reax/AB/param.qeq b/examples/reaxff/AB/param.qeq similarity index 100% rename from examples/reax/AB/param.qeq rename to examples/reaxff/AB/param.qeq diff --git a/examples/reax/AuO/README b/examples/reaxff/AuO/README similarity index 100% rename from examples/reax/AuO/README rename to examples/reaxff/AuO/README diff --git a/examples/reax/AuO/data.AuO b/examples/reaxff/AuO/data.AuO similarity index 100% rename from examples/reax/AuO/data.AuO rename to examples/reaxff/AuO/data.AuO diff --git a/examples/reax/AuO/ffield.reax.AuO b/examples/reaxff/AuO/ffield.reax.AuO similarity index 100% rename from examples/reax/AuO/ffield.reax.AuO rename to examples/reaxff/AuO/ffield.reax.AuO diff --git a/examples/reax/AuO/in.AuO b/examples/reaxff/AuO/in.AuO similarity index 100% rename from examples/reax/AuO/in.AuO rename to examples/reaxff/AuO/in.AuO diff --git a/examples/reax/AuO/lmp_control b/examples/reaxff/AuO/lmp_control similarity index 100% rename from examples/reax/AuO/lmp_control rename to examples/reaxff/AuO/lmp_control diff --git a/examples/reax/AuO/log.8Mar18.AuO.g++.1 b/examples/reaxff/AuO/log.8Mar18.AuO.g++.1 similarity index 100% rename from examples/reax/AuO/log.8Mar18.AuO.g++.1 rename to examples/reaxff/AuO/log.8Mar18.AuO.g++.1 diff --git a/examples/reax/AuO/log.8Mar18.AuO.g++.4 b/examples/reaxff/AuO/log.8Mar18.AuO.g++.4 similarity index 100% rename from examples/reax/AuO/log.8Mar18.AuO.g++.4 rename to examples/reaxff/AuO/log.8Mar18.AuO.g++.4 diff --git a/examples/reax/AuO/param.qeq b/examples/reaxff/AuO/param.qeq similarity index 100% rename from examples/reax/AuO/param.qeq rename to examples/reaxff/AuO/param.qeq diff --git a/examples/reax/CHO/README b/examples/reaxff/CHO/README similarity index 100% rename from examples/reax/CHO/README rename to examples/reaxff/CHO/README diff --git a/examples/reax/CHO/data.CHO b/examples/reaxff/CHO/data.CHO similarity index 100% rename from examples/reax/CHO/data.CHO rename to examples/reaxff/CHO/data.CHO diff --git a/examples/reax/CHO/ffield.reax.cho b/examples/reaxff/CHO/ffield.reax.cho similarity index 100% rename from examples/reax/CHO/ffield.reax.cho rename to examples/reaxff/CHO/ffield.reax.cho diff --git a/examples/reax/CHO/in.CHO b/examples/reaxff/CHO/in.CHO similarity index 100% rename from examples/reax/CHO/in.CHO rename to examples/reaxff/CHO/in.CHO diff --git a/examples/reax/CHO/lmp_control b/examples/reaxff/CHO/lmp_control similarity index 100% rename from examples/reax/CHO/lmp_control rename to examples/reaxff/CHO/lmp_control diff --git a/examples/reax/CHO/log.8Mar18.CHO.g++.1 b/examples/reaxff/CHO/log.8Mar18.CHO.g++.1 similarity index 100% rename from examples/reax/CHO/log.8Mar18.CHO.g++.1 rename to examples/reaxff/CHO/log.8Mar18.CHO.g++.1 diff --git a/examples/reax/CHO/log.8Mar18.CHO.g++.4 b/examples/reaxff/CHO/log.8Mar18.CHO.g++.4 similarity index 100% rename from examples/reax/CHO/log.8Mar18.CHO.g++.4 rename to examples/reaxff/CHO/log.8Mar18.CHO.g++.4 diff --git a/examples/reax/CHO/param.qeq b/examples/reaxff/CHO/param.qeq similarity index 100% rename from examples/reax/CHO/param.qeq rename to examples/reaxff/CHO/param.qeq diff --git a/examples/reax/FC/README b/examples/reaxff/FC/README similarity index 100% rename from examples/reax/FC/README rename to examples/reaxff/FC/README diff --git a/examples/reax/FC/data.FC b/examples/reaxff/FC/data.FC similarity index 100% rename from examples/reax/FC/data.FC rename to examples/reaxff/FC/data.FC diff --git a/examples/reax/FC/ffield.reax.FC b/examples/reaxff/FC/ffield.reax.FC similarity index 100% rename from examples/reax/FC/ffield.reax.FC rename to examples/reaxff/FC/ffield.reax.FC diff --git a/examples/reax/FC/in.FC b/examples/reaxff/FC/in.FC similarity index 100% rename from examples/reax/FC/in.FC rename to examples/reaxff/FC/in.FC diff --git a/examples/reax/FC/log.8Mar18.FC.g++.1 b/examples/reaxff/FC/log.8Mar18.FC.g++.1 similarity index 100% rename from examples/reax/FC/log.8Mar18.FC.g++.1 rename to examples/reaxff/FC/log.8Mar18.FC.g++.1 diff --git a/examples/reax/FC/log.8Mar18.FC.g++.4 b/examples/reaxff/FC/log.8Mar18.FC.g++.4 similarity index 100% rename from examples/reax/FC/log.8Mar18.FC.g++.4 rename to examples/reaxff/FC/log.8Mar18.FC.g++.4 diff --git a/examples/reax/FeOH3/README b/examples/reaxff/FeOH3/README similarity index 100% rename from examples/reax/FeOH3/README rename to examples/reaxff/FeOH3/README diff --git a/examples/reax/FeOH3/data.FeOH3 b/examples/reaxff/FeOH3/data.FeOH3 similarity index 100% rename from examples/reax/FeOH3/data.FeOH3 rename to examples/reaxff/FeOH3/data.FeOH3 diff --git a/examples/reax/FeOH3/ffield.reax.Fe_O_C_H b/examples/reaxff/FeOH3/ffield.reax.Fe_O_C_H similarity index 100% rename from examples/reax/FeOH3/ffield.reax.Fe_O_C_H rename to examples/reaxff/FeOH3/ffield.reax.Fe_O_C_H diff --git a/examples/reax/FeOH3/in.FeOH3 b/examples/reaxff/FeOH3/in.FeOH3 similarity index 100% rename from examples/reax/FeOH3/in.FeOH3 rename to examples/reaxff/FeOH3/in.FeOH3 diff --git a/examples/reax/FeOH3/lmp_control b/examples/reaxff/FeOH3/lmp_control similarity index 100% rename from examples/reax/FeOH3/lmp_control rename to examples/reaxff/FeOH3/lmp_control diff --git a/examples/reax/FeOH3/log.5Oct16.FeOH3.g++.1 b/examples/reaxff/FeOH3/log.5Oct16.FeOH3.g++.1 similarity index 100% rename from examples/reax/FeOH3/log.5Oct16.FeOH3.g++.1 rename to examples/reaxff/FeOH3/log.5Oct16.FeOH3.g++.1 diff --git a/examples/reax/FeOH3/log.5Oct16.FeOH3.g++.4 b/examples/reaxff/FeOH3/log.5Oct16.FeOH3.g++.4 similarity index 100% rename from examples/reax/FeOH3/log.5Oct16.FeOH3.g++.4 rename to examples/reaxff/FeOH3/log.5Oct16.FeOH3.g++.4 diff --git a/examples/reax/FeOH3/param.qeq b/examples/reaxff/FeOH3/param.qeq similarity index 100% rename from examples/reax/FeOH3/param.qeq rename to examples/reaxff/FeOH3/param.qeq diff --git a/examples/reax/HNS/README.txt b/examples/reaxff/HNS/README.txt similarity index 100% rename from examples/reax/HNS/README.txt rename to examples/reaxff/HNS/README.txt diff --git a/examples/reax/HNS/data.hns-equil b/examples/reaxff/HNS/data.hns-equil similarity index 100% rename from examples/reax/HNS/data.hns-equil rename to examples/reaxff/HNS/data.hns-equil diff --git a/examples/reax/HNS/ffield.reax.hns b/examples/reaxff/HNS/ffield.reax.hns similarity index 100% rename from examples/reax/HNS/ffield.reax.hns rename to examples/reaxff/HNS/ffield.reax.hns diff --git a/examples/reax/HNS/in.reaxc.hns b/examples/reaxff/HNS/in.reaxc.hns similarity index 100% rename from examples/reax/HNS/in.reaxc.hns rename to examples/reaxff/HNS/in.reaxc.hns diff --git a/examples/reax/HNS/log.8Mar18.reaxc.hns.g++.1 b/examples/reaxff/HNS/log.8Mar18.reaxc.hns.g++.1 similarity index 100% rename from examples/reax/HNS/log.8Mar18.reaxc.hns.g++.1 rename to examples/reaxff/HNS/log.8Mar18.reaxc.hns.g++.1 diff --git a/examples/reax/HNS/log.8Mar18.reaxc.hns.g++.4 b/examples/reaxff/HNS/log.8Mar18.reaxc.hns.g++.4 similarity index 100% rename from examples/reax/HNS/log.8Mar18.reaxc.hns.g++.4 rename to examples/reaxff/HNS/log.8Mar18.reaxc.hns.g++.4 diff --git a/examples/reax/RDX/README b/examples/reaxff/RDX/README similarity index 100% rename from examples/reax/RDX/README rename to examples/reaxff/RDX/README diff --git a/examples/reax/RDX/data.RDX b/examples/reaxff/RDX/data.RDX similarity index 100% rename from examples/reax/RDX/data.RDX rename to examples/reaxff/RDX/data.RDX diff --git a/examples/reax/RDX/ffield.reax.rdx b/examples/reaxff/RDX/ffield.reax.rdx similarity index 100% rename from examples/reax/RDX/ffield.reax.rdx rename to examples/reaxff/RDX/ffield.reax.rdx diff --git a/examples/reax/RDX/in.RDX b/examples/reaxff/RDX/in.RDX similarity index 100% rename from examples/reax/RDX/in.RDX rename to examples/reaxff/RDX/in.RDX diff --git a/examples/reax/RDX/lmp_control b/examples/reaxff/RDX/lmp_control similarity index 100% rename from examples/reax/RDX/lmp_control rename to examples/reaxff/RDX/lmp_control diff --git a/examples/reax/RDX/log.8Mar18.RDX.g++.1 b/examples/reaxff/RDX/log.8Mar18.RDX.g++.1 similarity index 100% rename from examples/reax/RDX/log.8Mar18.RDX.g++.1 rename to examples/reaxff/RDX/log.8Mar18.RDX.g++.1 diff --git a/examples/reax/RDX/log.8Mar18.RDX.g++.4 b/examples/reaxff/RDX/log.8Mar18.RDX.g++.4 similarity index 100% rename from examples/reax/RDX/log.8Mar18.RDX.g++.4 rename to examples/reaxff/RDX/log.8Mar18.RDX.g++.4 diff --git a/examples/reax/RDX/param.qeq b/examples/reaxff/RDX/param.qeq similarity index 100% rename from examples/reax/RDX/param.qeq rename to examples/reaxff/RDX/param.qeq diff --git a/examples/reax/README b/examples/reaxff/README similarity index 100% rename from examples/reax/README rename to examples/reaxff/README diff --git a/examples/reax/VOH/README b/examples/reaxff/VOH/README similarity index 100% rename from examples/reax/VOH/README rename to examples/reaxff/VOH/README diff --git a/examples/reax/VOH/data.VOH b/examples/reaxff/VOH/data.VOH similarity index 100% rename from examples/reax/VOH/data.VOH rename to examples/reaxff/VOH/data.VOH diff --git a/examples/reax/VOH/ffield.reax.V_O_C_H b/examples/reaxff/VOH/ffield.reax.V_O_C_H similarity index 100% rename from examples/reax/VOH/ffield.reax.V_O_C_H rename to examples/reaxff/VOH/ffield.reax.V_O_C_H diff --git a/examples/reax/VOH/in.VOH b/examples/reaxff/VOH/in.VOH similarity index 100% rename from examples/reax/VOH/in.VOH rename to examples/reaxff/VOH/in.VOH diff --git a/examples/reax/VOH/lmp_control b/examples/reaxff/VOH/lmp_control similarity index 100% rename from examples/reax/VOH/lmp_control rename to examples/reaxff/VOH/lmp_control diff --git a/examples/reax/VOH/log.8Mar18.VOH.g++.1 b/examples/reaxff/VOH/log.8Mar18.VOH.g++.1 similarity index 100% rename from examples/reax/VOH/log.8Mar18.VOH.g++.1 rename to examples/reaxff/VOH/log.8Mar18.VOH.g++.1 diff --git a/examples/reax/VOH/log.8Mar18.VOH.g++.4 b/examples/reaxff/VOH/log.8Mar18.VOH.g++.4 similarity index 100% rename from examples/reax/VOH/log.8Mar18.VOH.g++.4 rename to examples/reaxff/VOH/log.8Mar18.VOH.g++.4 diff --git a/examples/reax/VOH/param.qeq b/examples/reaxff/VOH/param.qeq similarity index 100% rename from examples/reax/VOH/param.qeq rename to examples/reaxff/VOH/param.qeq diff --git a/examples/reax/ZnOH2/README b/examples/reaxff/ZnOH2/README similarity index 100% rename from examples/reax/ZnOH2/README rename to examples/reaxff/ZnOH2/README diff --git a/examples/reax/ZnOH2/data.ZnOH2 b/examples/reaxff/ZnOH2/data.ZnOH2 similarity index 100% rename from examples/reax/ZnOH2/data.ZnOH2 rename to examples/reaxff/ZnOH2/data.ZnOH2 diff --git a/examples/reax/ZnOH2/ffield.reax.ZnOH b/examples/reaxff/ZnOH2/ffield.reax.ZnOH similarity index 100% rename from examples/reax/ZnOH2/ffield.reax.ZnOH rename to examples/reaxff/ZnOH2/ffield.reax.ZnOH diff --git a/examples/reax/ZnOH2/in.ZnOH2 b/examples/reaxff/ZnOH2/in.ZnOH2 similarity index 100% rename from examples/reax/ZnOH2/in.ZnOH2 rename to examples/reaxff/ZnOH2/in.ZnOH2 diff --git a/examples/reax/ZnOH2/lmp_control b/examples/reaxff/ZnOH2/lmp_control similarity index 100% rename from examples/reax/ZnOH2/lmp_control rename to examples/reaxff/ZnOH2/lmp_control diff --git a/examples/reax/ZnOH2/log.8Mar18.ZnOH2.g++.1 b/examples/reaxff/ZnOH2/log.8Mar18.ZnOH2.g++.1 similarity index 100% rename from examples/reax/ZnOH2/log.8Mar18.ZnOH2.g++.1 rename to examples/reaxff/ZnOH2/log.8Mar18.ZnOH2.g++.1 diff --git a/examples/reax/ZnOH2/log.8Mar18.ZnOH2.g++.4 b/examples/reaxff/ZnOH2/log.8Mar18.ZnOH2.g++.4 similarity index 100% rename from examples/reax/ZnOH2/log.8Mar18.ZnOH2.g++.4 rename to examples/reaxff/ZnOH2/log.8Mar18.ZnOH2.g++.4 diff --git a/examples/reax/ZnOH2/param.qeq b/examples/reaxff/ZnOH2/param.qeq similarity index 100% rename from examples/reax/ZnOH2/param.qeq rename to examples/reaxff/ZnOH2/param.qeq diff --git a/examples/reax/ci-reaxFF/CH4.dat b/examples/reaxff/ci-reaxFF/CH4.dat similarity index 100% rename from examples/reax/ci-reaxFF/CH4.dat rename to examples/reaxff/ci-reaxFF/CH4.dat diff --git a/examples/reax/ci-reaxFF/ci-reaxFF_ZBL.dat b/examples/reaxff/ci-reaxFF/ci-reaxFF_ZBL.dat similarity index 100% rename from examples/reax/ci-reaxFF/ci-reaxFF_ZBL.dat rename to examples/reaxff/ci-reaxFF/ci-reaxFF_ZBL.dat diff --git a/examples/reax/ci-reaxFF/control b/examples/reaxff/ci-reaxFF/control similarity index 100% rename from examples/reax/ci-reaxFF/control rename to examples/reaxff/ci-reaxFF/control diff --git a/examples/reax/ci-reaxFF/ffield.ci-reax.CH b/examples/reaxff/ci-reaxFF/ffield.ci-reax.CH similarity index 100% rename from examples/reax/ci-reaxFF/ffield.ci-reax.CH rename to examples/reaxff/ci-reaxFF/ffield.ci-reax.CH diff --git a/examples/reax/ci-reaxFF/in.ci-reax.CH b/examples/reaxff/ci-reaxFF/in.ci-reax.CH similarity index 100% rename from examples/reax/ci-reaxFF/in.ci-reax.CH rename to examples/reaxff/ci-reaxFF/in.ci-reax.CH diff --git a/examples/reax/ci-reaxFF/log.8Mar18.ci-reax.CH.g++.1 b/examples/reaxff/ci-reaxFF/log.8Mar18.ci-reax.CH.g++.1 similarity index 100% rename from examples/reax/ci-reaxFF/log.8Mar18.ci-reax.CH.g++.1 rename to examples/reaxff/ci-reaxFF/log.8Mar18.ci-reax.CH.g++.1 diff --git a/examples/reax/ci-reaxFF/log.8Mar18.ci-reax.CH.g++.4 b/examples/reaxff/ci-reaxFF/log.8Mar18.ci-reax.CH.g++.4 similarity index 100% rename from examples/reax/ci-reaxFF/log.8Mar18.ci-reax.CH.g++.4 rename to examples/reaxff/ci-reaxFF/log.8Mar18.ci-reax.CH.g++.4 diff --git a/examples/reax/control.reax_c.rdx b/examples/reaxff/control.reax_c.rdx similarity index 100% rename from examples/reax/control.reax_c.rdx rename to examples/reaxff/control.reax_c.rdx diff --git a/examples/reax/control.reax_c.tatb b/examples/reaxff/control.reax_c.tatb similarity index 100% rename from examples/reax/control.reax_c.tatb rename to examples/reaxff/control.reax_c.tatb diff --git a/examples/reax/data.rdx b/examples/reaxff/data.rdx similarity index 100% rename from examples/reax/data.rdx rename to examples/reaxff/data.rdx diff --git a/examples/reax/data.tatb b/examples/reaxff/data.tatb similarity index 100% rename from examples/reax/data.tatb rename to examples/reaxff/data.tatb diff --git a/examples/reax/ffield.reax b/examples/reaxff/ffield.reax similarity index 100% rename from examples/reax/ffield.reax rename to examples/reaxff/ffield.reax diff --git a/examples/reax/in.reaxc.rdx b/examples/reaxff/in.reaxc.rdx similarity index 100% rename from examples/reax/in.reaxc.rdx rename to examples/reaxff/in.reaxc.rdx diff --git a/examples/reax/in.reaxc.rdx-shielded b/examples/reaxff/in.reaxc.rdx-shielded similarity index 100% rename from examples/reax/in.reaxc.rdx-shielded rename to examples/reaxff/in.reaxc.rdx-shielded diff --git a/examples/reax/in.reaxc.tatb b/examples/reaxff/in.reaxc.tatb similarity index 100% rename from examples/reax/in.reaxc.tatb rename to examples/reaxff/in.reaxc.tatb diff --git a/examples/reax/in.reaxc.tatb-shielded b/examples/reaxff/in.reaxc.tatb-shielded similarity index 100% rename from examples/reax/in.reaxc.tatb-shielded rename to examples/reaxff/in.reaxc.tatb-shielded diff --git a/examples/reax/log.21Apr21.reaxc.rdx-shielded.g++.1 b/examples/reaxff/log.21Apr21.reaxc.rdx-shielded.g++.1 similarity index 100% rename from examples/reax/log.21Apr21.reaxc.rdx-shielded.g++.1 rename to examples/reaxff/log.21Apr21.reaxc.rdx-shielded.g++.1 diff --git a/examples/reax/log.21Apr21.reaxc.rdx-shielded.g++.4 b/examples/reaxff/log.21Apr21.reaxc.rdx-shielded.g++.4 similarity index 100% rename from examples/reax/log.21Apr21.reaxc.rdx-shielded.g++.4 rename to examples/reaxff/log.21Apr21.reaxc.rdx-shielded.g++.4 diff --git a/examples/reax/log.21Apr21.reaxc.rdx.g++.1 b/examples/reaxff/log.21Apr21.reaxc.rdx.g++.1 similarity index 100% rename from examples/reax/log.21Apr21.reaxc.rdx.g++.1 rename to examples/reaxff/log.21Apr21.reaxc.rdx.g++.1 diff --git a/examples/reax/log.21Apr21.reaxc.rdx.g++.4 b/examples/reaxff/log.21Apr21.reaxc.rdx.g++.4 similarity index 100% rename from examples/reax/log.21Apr21.reaxc.rdx.g++.4 rename to examples/reaxff/log.21Apr21.reaxc.rdx.g++.4 diff --git a/examples/reax/log.21Apr21.reaxc.tatb-shielded.g++.1 b/examples/reaxff/log.21Apr21.reaxc.tatb-shielded.g++.1 similarity index 100% rename from examples/reax/log.21Apr21.reaxc.tatb-shielded.g++.1 rename to examples/reaxff/log.21Apr21.reaxc.tatb-shielded.g++.1 diff --git a/examples/reax/log.21Apr21.reaxc.tatb-shielded.g++.4 b/examples/reaxff/log.21Apr21.reaxc.tatb-shielded.g++.4 similarity index 100% rename from examples/reax/log.21Apr21.reaxc.tatb-shielded.g++.4 rename to examples/reaxff/log.21Apr21.reaxc.tatb-shielded.g++.4 diff --git a/examples/reax/log.21Apr21.reaxc.tatb.g++.1 b/examples/reaxff/log.21Apr21.reaxc.tatb.g++.1 similarity index 100% rename from examples/reax/log.21Apr21.reaxc.tatb.g++.1 rename to examples/reaxff/log.21Apr21.reaxc.tatb.g++.1 diff --git a/examples/reax/log.21Apr21.reaxc.tatb.g++.4 b/examples/reaxff/log.21Apr21.reaxc.tatb.g++.4 similarity index 100% rename from examples/reax/log.21Apr21.reaxc.tatb.g++.4 rename to examples/reaxff/log.21Apr21.reaxc.tatb.g++.4 diff --git a/src/KOKKOS/fix_qeq_reax_kokkos.cpp b/src/KOKKOS/fix_qeq_reaxff_kokkos.cpp similarity index 87% rename from src/KOKKOS/fix_qeq_reax_kokkos.cpp rename to src/KOKKOS/fix_qeq_reaxff_kokkos.cpp index f389808cf3..77bd013ad4 100644 --- a/src/KOKKOS/fix_qeq_reax_kokkos.cpp +++ b/src/KOKKOS/fix_qeq_reaxff_kokkos.cpp @@ -17,7 +17,7 @@ Kamesh Arumugam (NVIDIA) ------------------------------------------------------------------------- */ -#include "fix_qeq_reax_kokkos.h" +#include "fix_qeq_reaxff_kokkos.h" #include "atom.h" #include "atom_kokkos.h" @@ -43,9 +43,9 @@ using namespace FixConst; /* ---------------------------------------------------------------------- */ template -FixQEqReaxKokkos:: -FixQEqReaxKokkos(LAMMPS *lmp, int narg, char **arg) : - FixQEqReax(lmp, narg, arg) +FixQEqReaxFFKokkos:: +FixQEqReaxFFKokkos(LAMMPS *lmp, int narg, char **arg) : + FixQEqReaxFF(lmp, narg, arg) { kokkosable = 1; forward_comm_device = 1; @@ -69,7 +69,7 @@ FixQEqReaxKokkos(LAMMPS *lmp, int narg, char **arg) : /* ---------------------------------------------------------------------- */ template -FixQEqReaxKokkos::~FixQEqReaxKokkos() +FixQEqReaxFFKokkos::~FixQEqReaxFFKokkos() { if (copymode) return; @@ -80,11 +80,11 @@ FixQEqReaxKokkos::~FixQEqReaxKokkos() /* ---------------------------------------------------------------------- */ template -void FixQEqReaxKokkos::init() +void FixQEqReaxFFKokkos::init() { atomKK->sync(execution_space,Q_MASK); - FixQEqReax::init(); + FixQEqReaxFF::init(); neighflag = lmp->kokkos->neighflag_qeq; int irequest = neighbor->nrequest - 1; @@ -110,7 +110,7 @@ void FixQEqReaxKokkos::init() int ntypes = atom->ntypes; k_params = Kokkos::DualView - ("FixQEqReax::params",ntypes+1); + ("FixQEqReaxFF::params",ntypes+1); params = k_params.template view(); for (int n = 1; n <= ntypes; n++) { @@ -131,7 +131,7 @@ void FixQEqReaxKokkos::init() /* ---------------------------------------------------------------------- */ template -void FixQEqReaxKokkos::init_shielding_k() +void FixQEqReaxFFKokkos::init_shielding_k() { int i,j; int ntypes = atom->ntypes; @@ -159,7 +159,7 @@ void FixQEqReaxKokkos::init_shielding_k() /* ---------------------------------------------------------------------- */ template -void FixQEqReaxKokkos::init_hist() +void FixQEqReaxFFKokkos::init_hist() { k_s_hist.clear_sync_state(); k_t_hist.clear_sync_state(); @@ -174,7 +174,7 @@ void FixQEqReaxKokkos::init_hist() /* ---------------------------------------------------------------------- */ template -void FixQEqReaxKokkos::setup_pre_force(int vflag) +void FixQEqReaxFFKokkos::setup_pre_force(int vflag) { //neighbor->build_one(list); @@ -184,7 +184,7 @@ void FixQEqReaxKokkos::setup_pre_force(int vflag) /* ---------------------------------------------------------------------- */ template -void FixQEqReaxKokkos::pre_force(int /*vflag*/) +void FixQEqReaxFFKokkos::pre_force(int /*vflag*/) { if (update->ntimestep % nevery) return; @@ -228,10 +228,10 @@ void FixQEqReaxKokkos::pre_force(int /*vflag*/) if (execution_space == Host) { // CPU if (neighflag == FULL) { - FixQEqReaxKokkosComputeHFunctor computeH_functor(this); + FixQEqReaxFFKokkosComputeHFunctor computeH_functor(this); Kokkos::parallel_scan(inum,computeH_functor); } else { // HALF and HALFTHREAD are the same - FixQEqReaxKokkosComputeHFunctor computeH_functor(this); + FixQEqReaxFFKokkosComputeHFunctor computeH_functor(this); Kokkos::parallel_scan(inum,computeH_functor); } } else { // GPU, use teams @@ -244,11 +244,11 @@ void FixQEqReaxKokkos::pre_force(int /*vflag*/) Kokkos::TeamPolicy policy(num_teams, atoms_per_team, vector_length); if (neighflag == FULL) { - FixQEqReaxKokkosComputeHFunctor computeH_functor( + FixQEqReaxFFKokkosComputeHFunctor computeH_functor( this, atoms_per_team, vector_length); Kokkos::parallel_for(policy, computeH_functor); } else { // HALF and HALFTHREAD are the same - FixQEqReaxKokkosComputeHFunctor computeH_functor( + FixQEqReaxFFKokkosComputeHFunctor computeH_functor( this, atoms_per_team, vector_length); Kokkos::parallel_for(policy, computeH_functor); } @@ -258,7 +258,7 @@ void FixQEqReaxKokkos::pre_force(int /*vflag*/) k_s_hist.template sync(); k_t_hist.template sync(); - FixQEqReaxKokkosMatVecFunctor matvec_functor(this); + FixQEqReaxFFKokkosMatVecFunctor matvec_functor(this); Kokkos::parallel_for(inum,matvec_functor); // comm->forward_comm_fix(this); //Dist_vector(s); @@ -313,7 +313,7 @@ void FixQEqReaxKokkos::pre_force(int /*vflag*/) template KOKKOS_INLINE_FUNCTION -void FixQEqReaxKokkos::num_neigh_item(int ii, int &maxneigh) const +void FixQEqReaxFFKokkos::num_neigh_item(int ii, int &maxneigh) const { const int i = d_ilist[ii]; maxneigh += d_numneigh[i]; @@ -322,7 +322,7 @@ void FixQEqReaxKokkos::num_neigh_item(int ii, int &maxneigh) const /* ---------------------------------------------------------------------- */ template -void FixQEqReaxKokkos::allocate_matrix() +void FixQEqReaxFFKokkos::allocate_matrix() { const int inum = list->inum; @@ -331,7 +331,7 @@ void FixQEqReaxKokkos::allocate_matrix() // determine the total space for the H matrix m_cap = 0; - FixQEqReaxKokkosNumNeighFunctor neigh_functor(this); + FixQEqReaxFFKokkosNumNeighFunctor neigh_functor(this); Kokkos::parallel_reduce(inum,neigh_functor,m_cap); d_firstnbr = typename AT::t_int_1d("qeq/kk:firstnbr",nmax); @@ -343,7 +343,7 @@ void FixQEqReaxKokkos::allocate_matrix() /* ---------------------------------------------------------------------- */ template -void FixQEqReaxKokkos::allocate_array() +void FixQEqReaxFFKokkos::allocate_array() { if (atom->nmax > nmax) { nmax = atom->nmax; @@ -377,7 +377,7 @@ void FixQEqReaxKokkos::allocate_array() // init_storage - FixQEqReaxKokkosZeroFunctor zero_functor(this); + FixQEqReaxFFKokkosZeroFunctor zero_functor(this); Kokkos::parallel_for(ignum,zero_functor); } @@ -385,7 +385,7 @@ void FixQEqReaxKokkos::allocate_array() template KOKKOS_INLINE_FUNCTION -void FixQEqReaxKokkos::zero_item(int ii) const +void FixQEqReaxFFKokkos::zero_item(int ii) const { const int i = d_ilist[ii]; const int itype = type(i); @@ -409,7 +409,7 @@ void FixQEqReaxKokkos::zero_item(int ii) const template template KOKKOS_INLINE_FUNCTION -void FixQEqReaxKokkos::compute_h_item(int ii, int &m_fill, const bool &final) const +void FixQEqReaxFFKokkos::compute_h_item(int ii, int &m_fill, const bool &final) const { const int i = d_ilist[ii]; int j,jj,jtype; @@ -477,7 +477,7 @@ void FixQEqReaxKokkos::compute_h_item(int ii, int &m_fill, const boo template template KOKKOS_INLINE_FUNCTION -void FixQEqReaxKokkos::compute_h_team( +void FixQEqReaxFFKokkos::compute_h_team( const typename Kokkos::TeamPolicy::member_type &team, int atoms_per_team, int vector_length) const { @@ -682,7 +682,7 @@ void FixQEqReaxKokkos::compute_h_team( template KOKKOS_INLINE_FUNCTION -double FixQEqReaxKokkos::calculate_H_k(const F_FLOAT &r, const F_FLOAT &shld) const +double FixQEqReaxFFKokkos::calculate_H_k(const F_FLOAT &r, const F_FLOAT &shld) const { F_FLOAT taper, denom; @@ -704,7 +704,7 @@ double FixQEqReaxKokkos::calculate_H_k(const F_FLOAT &r, const F_FLO template KOKKOS_INLINE_FUNCTION -void FixQEqReaxKokkos::matvec_item(int ii) const +void FixQEqReaxFFKokkos::matvec_item(int ii) const { const int i = d_ilist[ii]; const int itype = type(i); @@ -722,7 +722,7 @@ void FixQEqReaxKokkos::matvec_item(int ii) const /* ---------------------------------------------------------------------- */ template -int FixQEqReaxKokkos::cg_solve1() +int FixQEqReaxFFKokkos::cg_solve1() // b = b_s, x = s; { const int inum = list->inum; @@ -733,15 +733,15 @@ int FixQEqReaxKokkos::cg_solve1() else teamsize = 128; // sparse_matvec(&H, x, q); - FixQEqReaxKokkosSparse12Functor sparse12_functor(this); + FixQEqReaxFFKokkosSparse12Functor sparse12_functor(this); Kokkos::parallel_for(inum,sparse12_functor); if (neighflag != FULL) { Kokkos::parallel_for(Kokkos::RangePolicy(inum,ignum),*this); if (neighflag == HALF) { - FixQEqReaxKokkosSparse13Functor sparse13_functor(this); + FixQEqReaxFFKokkosSparse13Functor sparse13_functor(this); Kokkos::parallel_for(inum,sparse13_functor); } else if (neighflag == HALFTHREAD) { - FixQEqReaxKokkosSparse13Functor sparse13_functor(this); + FixQEqReaxFFKokkosSparse13Functor sparse13_functor(this); Kokkos::parallel_for(inum,sparse13_functor); } if (need_dup) @@ -760,7 +760,7 @@ int FixQEqReaxKokkos::cg_solve1() // preconditioning: d[j] = r[j] * Hdia_inv[j]; // b_norm = parallel_norm(b, nn); F_FLOAT my_norm = 0.0; - FixQEqReaxKokkosNorm1Functor norm1_functor(this); + FixQEqReaxFFKokkosNorm1Functor norm1_functor(this); Kokkos::parallel_reduce(inum,norm1_functor,my_norm); F_FLOAT norm_sqr = 0.0; MPI_Allreduce(&my_norm, &norm_sqr, 1, MPI_DOUBLE, MPI_SUM, world); @@ -768,7 +768,7 @@ int FixQEqReaxKokkos::cg_solve1() // sig_new = parallel_dot(r, d, nn); F_FLOAT my_dot = 0.0; - FixQEqReaxKokkosDot1Functor dot1_functor(this); + FixQEqReaxFFKokkosDot1Functor dot1_functor(this); Kokkos::parallel_reduce(inum,dot1_functor,my_dot); F_FLOAT dot_sqr = 0.0; MPI_Allreduce(&my_dot, &dot_sqr, 1, MPI_DOUBLE, MPI_SUM, world); @@ -784,17 +784,17 @@ int FixQEqReaxKokkos::cg_solve1() k_d.template sync(); // sparse_matvec(&H, d, q); - FixQEqReaxKokkosSparse22Functor sparse22_functor(this); + FixQEqReaxFFKokkosSparse22Functor sparse22_functor(this); Kokkos::parallel_for(inum,sparse22_functor); if (neighflag != FULL) { Kokkos::parallel_for(Kokkos::RangePolicy(inum,ignum),*this); if (need_dup) dup_o.reset_except(d_o); if (neighflag == HALF) { - FixQEqReaxKokkosSparse23Functor sparse23_functor(this); + FixQEqReaxFFKokkosSparse23Functor sparse23_functor(this); Kokkos::parallel_for(inum,sparse23_functor); } else if (neighflag == HALFTHREAD) { - FixQEqReaxKokkosSparse23Functor sparse23_functor(this); + FixQEqReaxFFKokkosSparse23Functor sparse23_functor(this); Kokkos::parallel_for(inum,sparse23_functor); } if (need_dup) @@ -811,7 +811,7 @@ int FixQEqReaxKokkos::cg_solve1() // tmp = parallel_dot(d, q, nn); my_dot = dot_sqr = 0.0; - FixQEqReaxKokkosDot2Functor dot2_functor(this); + FixQEqReaxFFKokkosDot2Functor dot2_functor(this); Kokkos::parallel_reduce(inum,dot2_functor,my_dot); MPI_Allreduce(&my_dot, &dot_sqr, 1, MPI_DOUBLE, MPI_SUM, world); tmp = dot_sqr; @@ -823,11 +823,11 @@ int FixQEqReaxKokkos::cg_solve1() // vector_add(s, alpha, d, nn); // vector_add(r, -alpha, q, nn); my_dot = dot_sqr = 0.0; - FixQEqReaxKokkosPrecon1Functor precon1_functor(this); + FixQEqReaxFFKokkosPrecon1Functor precon1_functor(this); Kokkos::parallel_for(inum,precon1_functor); // preconditioning: p[j] = r[j] * Hdia_inv[j]; // sig_new = parallel_dot(r, p, nn); - FixQEqReaxKokkosPreconFunctor precon_functor(this); + FixQEqReaxFFKokkosPreconFunctor precon_functor(this); Kokkos::parallel_reduce(inum,precon_functor,my_dot); MPI_Allreduce(&my_dot, &dot_sqr, 1, MPI_DOUBLE, MPI_SUM, world); sig_new = dot_sqr; @@ -835,12 +835,12 @@ int FixQEqReaxKokkos::cg_solve1() beta = sig_new / sig_old; // vector_sum(d, 1., p, beta, d, nn); - FixQEqReaxKokkosVecSum2Functor vecsum2_functor(this); + FixQEqReaxFFKokkosVecSum2Functor vecsum2_functor(this); Kokkos::parallel_for(inum,vecsum2_functor); } if ((loop >= imax) && maxwarn && (comm->me == 0)) - error->warning(FLERR,fmt::format("Fix qeq/reax/kk cg_solve1 convergence " + error->warning(FLERR,fmt::format("Fix qeq/reaxff/kk cg_solve1 convergence " "failed after {} iterations at step {}: " "{}", loop, update->ntimestep, sqrt(sig_new)/b_norm)); @@ -850,7 +850,7 @@ int FixQEqReaxKokkos::cg_solve1() /* ---------------------------------------------------------------------- */ template -int FixQEqReaxKokkos::cg_solve2() +int FixQEqReaxFFKokkos::cg_solve2() // b = b_t, x = t; { const int inum = list->inum; @@ -861,17 +861,17 @@ int FixQEqReaxKokkos::cg_solve2() else teamsize = 128; // sparse_matvec(&H, x, q); - FixQEqReaxKokkosSparse32Functor sparse32_functor(this); + FixQEqReaxFFKokkosSparse32Functor sparse32_functor(this); Kokkos::parallel_for(inum,sparse32_functor); if (neighflag != FULL) { Kokkos::parallel_for(Kokkos::RangePolicy(inum,ignum),*this); if (need_dup) dup_o.reset_except(d_o); if (neighflag == HALF) { - FixQEqReaxKokkosSparse33Functor sparse33_functor(this); + FixQEqReaxFFKokkosSparse33Functor sparse33_functor(this); Kokkos::parallel_for(inum,sparse33_functor); } else if (neighflag == HALFTHREAD) { - FixQEqReaxKokkosSparse33Functor sparse33_functor(this); + FixQEqReaxFFKokkosSparse33Functor sparse33_functor(this); Kokkos::parallel_for(inum,sparse33_functor); } if (need_dup) @@ -890,7 +890,7 @@ int FixQEqReaxKokkos::cg_solve2() // preconditioning: d[j] = r[j] * Hdia_inv[j]; // b_norm = parallel_norm(b, nn); F_FLOAT my_norm = 0.0; - FixQEqReaxKokkosNorm2Functor norm2_functor(this); + FixQEqReaxFFKokkosNorm2Functor norm2_functor(this); Kokkos::parallel_reduce(inum,norm2_functor,my_norm); F_FLOAT norm_sqr = 0.0; MPI_Allreduce(&my_norm, &norm_sqr, 1, MPI_DOUBLE, MPI_SUM, world); @@ -898,7 +898,7 @@ int FixQEqReaxKokkos::cg_solve2() // sig_new = parallel_dot(r, d, nn); F_FLOAT my_dot = 0.0; - FixQEqReaxKokkosDot1Functor dot1_functor(this); + FixQEqReaxFFKokkosDot1Functor dot1_functor(this); Kokkos::parallel_reduce(inum,dot1_functor,my_dot); F_FLOAT dot_sqr = 0.0; MPI_Allreduce(&my_dot, &dot_sqr, 1, MPI_DOUBLE, MPI_SUM, world); @@ -914,17 +914,17 @@ int FixQEqReaxKokkos::cg_solve2() k_d.template sync(); // sparse_matvec(&H, d, q); - FixQEqReaxKokkosSparse22Functor sparse22_functor(this); + FixQEqReaxFFKokkosSparse22Functor sparse22_functor(this); Kokkos::parallel_for(inum,sparse22_functor); if (neighflag != FULL) { Kokkos::parallel_for(Kokkos::RangePolicy(inum,ignum),*this); if (need_dup) dup_o.reset_except(d_o); if (neighflag == HALF) { - FixQEqReaxKokkosSparse23Functor sparse23_functor(this); + FixQEqReaxFFKokkosSparse23Functor sparse23_functor(this); Kokkos::parallel_for(inum,sparse23_functor); } else if (neighflag == HALFTHREAD) { - FixQEqReaxKokkosSparse23Functor sparse23_functor(this); + FixQEqReaxFFKokkosSparse23Functor sparse23_functor(this); Kokkos::parallel_for(inum,sparse23_functor); } if (need_dup) @@ -941,7 +941,7 @@ int FixQEqReaxKokkos::cg_solve2() // tmp = parallel_dot(d, q, nn); my_dot = dot_sqr = 0.0; - FixQEqReaxKokkosDot2Functor dot2_functor(this); + FixQEqReaxFFKokkosDot2Functor dot2_functor(this); Kokkos::parallel_reduce(inum,dot2_functor,my_dot); MPI_Allreduce(&my_dot, &dot_sqr, 1, MPI_DOUBLE, MPI_SUM, world); tmp = dot_sqr; @@ -953,11 +953,11 @@ int FixQEqReaxKokkos::cg_solve2() // vector_add(t, alpha, d, nn); // vector_add(r, -alpha, q, nn); my_dot = dot_sqr = 0.0; - FixQEqReaxKokkosPrecon2Functor precon2_functor(this); + FixQEqReaxFFKokkosPrecon2Functor precon2_functor(this); Kokkos::parallel_for(inum,precon2_functor); // preconditioning: p[j] = r[j] * Hdia_inv[j]; // sig_new = parallel_dot(r, p, nn); - FixQEqReaxKokkosPreconFunctor precon_functor(this); + FixQEqReaxFFKokkosPreconFunctor precon_functor(this); Kokkos::parallel_reduce(inum,precon_functor,my_dot); MPI_Allreduce(&my_dot, &dot_sqr, 1, MPI_DOUBLE, MPI_SUM, world); sig_new = dot_sqr; @@ -965,12 +965,12 @@ int FixQEqReaxKokkos::cg_solve2() beta = sig_new / sig_old; // vector_sum(d, 1., p, beta, d, nn); - FixQEqReaxKokkosVecSum2Functor vecsum2_functor(this); + FixQEqReaxFFKokkosVecSum2Functor vecsum2_functor(this); Kokkos::parallel_for(inum,vecsum2_functor); } if ((loop >= imax) && maxwarn && (comm->me == 0)) - error->warning(FLERR,fmt::format("Fix qeq/reax/kk cg_solve2 convergence " + error->warning(FLERR,fmt::format("Fix qeq/reaxff/kk cg_solve2 convergence " "failed after {} iterations at step {}: " "{}", loop, update->ntimestep, sqrt(sig_new)/b_norm)); @@ -980,21 +980,21 @@ int FixQEqReaxKokkos::cg_solve2() /* ---------------------------------------------------------------------- */ template -void FixQEqReaxKokkos::calculate_q() +void FixQEqReaxFFKokkos::calculate_q() { F_FLOAT sum, sum_all; const int inum = list->inum; // s_sum = parallel_vector_acc(s, nn); sum = sum_all = 0.0; - FixQEqReaxKokkosVecAcc1Functor vecacc1_functor(this); + FixQEqReaxFFKokkosVecAcc1Functor vecacc1_functor(this); Kokkos::parallel_reduce(inum,vecacc1_functor,sum); MPI_Allreduce(&sum, &sum_all, 1, MPI_DOUBLE, MPI_SUM, world); const F_FLOAT s_sum = sum_all; // t_sum = parallel_vector_acc(t, nn); sum = sum_all = 0.0; - FixQEqReaxKokkosVecAcc2Functor vecacc2_functor(this); + FixQEqReaxFFKokkosVecAcc2Functor vecacc2_functor(this); Kokkos::parallel_reduce(inum,vecacc2_functor,sum); MPI_Allreduce(&sum, &sum_all, 1, MPI_DOUBLE, MPI_SUM, world); const F_FLOAT t_sum = sum_all; @@ -1003,7 +1003,7 @@ void FixQEqReaxKokkos::calculate_q() delta = s_sum/t_sum; // q[i] = s[i] - u * t[i]; - FixQEqReaxKokkosCalculateQFunctor calculateQ_functor(this); + FixQEqReaxFFKokkosCalculateQFunctor calculateQ_functor(this); Kokkos::parallel_for(inum,calculateQ_functor); atomKK->modified(execution_space,Q_MASK); @@ -1016,7 +1016,7 @@ void FixQEqReaxKokkos::calculate_q() template KOKKOS_INLINE_FUNCTION -void FixQEqReaxKokkos::sparse12_item(int ii) const +void FixQEqReaxFFKokkos::sparse12_item(int ii) const { const int i = d_ilist[ii]; const int itype = type(i); @@ -1030,7 +1030,7 @@ void FixQEqReaxKokkos::sparse12_item(int ii) const template template KOKKOS_INLINE_FUNCTION -void FixQEqReaxKokkos::sparse13_item(int ii) const +void FixQEqReaxFFKokkos::sparse13_item(int ii) const { // The q array is duplicated for OpenMP, atomic for CUDA, and neither for Serial auto v_o = ScatterViewHelper::value,decltype(dup_o),decltype(ndup_o)>::get(dup_o,ndup_o); @@ -1052,7 +1052,7 @@ void FixQEqReaxKokkos::sparse13_item(int ii) const template KOKKOS_INLINE_FUNCTION -void FixQEqReaxKokkos::operator() (TagSparseMatvec1, const membertype1 &team) const +void FixQEqReaxFFKokkos::operator() (TagSparseMatvec1, const membertype1 &team) const { const int i = d_ilist[team.league_rank()]; if (mask[i] & groupbit) { @@ -1069,7 +1069,7 @@ void FixQEqReaxKokkos::operator() (TagSparseMatvec1, const membertyp template KOKKOS_INLINE_FUNCTION -void FixQEqReaxKokkos::sparse22_item(int ii) const +void FixQEqReaxFFKokkos::sparse22_item(int ii) const { const int i = d_ilist[ii]; const int itype = type(i); @@ -1083,7 +1083,7 @@ void FixQEqReaxKokkos::sparse22_item(int ii) const template template KOKKOS_INLINE_FUNCTION -void FixQEqReaxKokkos::sparse23_item(int ii) const +void FixQEqReaxFFKokkos::sparse23_item(int ii) const { // The q array is duplicated for OpenMP, atomic for CUDA, and neither for Serial auto v_o = ScatterViewHelper::value,decltype(dup_o),decltype(ndup_o)>::get(dup_o,ndup_o); @@ -1105,7 +1105,7 @@ void FixQEqReaxKokkos::sparse23_item(int ii) const template KOKKOS_INLINE_FUNCTION -void FixQEqReaxKokkos::operator() (TagSparseMatvec2, const membertype2 &team) const +void FixQEqReaxFFKokkos::operator() (TagSparseMatvec2, const membertype2 &team) const { const int i = d_ilist[team.league_rank()]; if (mask[i] & groupbit) { @@ -1120,7 +1120,7 @@ void FixQEqReaxKokkos::operator() (TagSparseMatvec2, const membertyp template KOKKOS_INLINE_FUNCTION -void FixQEqReaxKokkos::operator() (TagZeroQGhosts, const int &i) const +void FixQEqReaxFFKokkos::operator() (TagZeroQGhosts, const int &i) const { if (mask[i] & groupbit) d_o[i] = 0.0; @@ -1130,7 +1130,7 @@ void FixQEqReaxKokkos::operator() (TagZeroQGhosts, const int &i) con template KOKKOS_INLINE_FUNCTION -void FixQEqReaxKokkos::sparse32_item(int ii) const +void FixQEqReaxFFKokkos::sparse32_item(int ii) const { const int i = d_ilist[ii]; const int itype = type(i); @@ -1143,7 +1143,7 @@ void FixQEqReaxKokkos::sparse32_item(int ii) const template template KOKKOS_INLINE_FUNCTION -void FixQEqReaxKokkos::sparse33_item(int ii) const +void FixQEqReaxFFKokkos::sparse33_item(int ii) const { // The q array is duplicated for OpenMP, atomic for CUDA, and neither for Serial auto v_o = ScatterViewHelper::value,decltype(dup_o),decltype(ndup_o)>::get(dup_o,ndup_o); @@ -1165,7 +1165,7 @@ void FixQEqReaxKokkos::sparse33_item(int ii) const template KOKKOS_INLINE_FUNCTION -void FixQEqReaxKokkos::operator() (TagSparseMatvec3, const membertype3 &team) const +void FixQEqReaxFFKokkos::operator() (TagSparseMatvec3, const membertype3 &team) const { const int i = d_ilist[team.league_rank()]; if (mask[i] & groupbit) { @@ -1182,7 +1182,7 @@ void FixQEqReaxKokkos::operator() (TagSparseMatvec3, const membertyp template KOKKOS_INLINE_FUNCTION -void FixQEqReaxKokkos::vecsum2_item(int ii) const +void FixQEqReaxFFKokkos::vecsum2_item(int ii) const { const int i = d_ilist[ii]; if (mask[i] & groupbit) @@ -1193,7 +1193,7 @@ void FixQEqReaxKokkos::vecsum2_item(int ii) const template KOKKOS_INLINE_FUNCTION -double FixQEqReaxKokkos::norm1_item(int ii) const +double FixQEqReaxFFKokkos::norm1_item(int ii) const { F_FLOAT tmp = 0; const int i = d_ilist[ii]; @@ -1209,7 +1209,7 @@ double FixQEqReaxKokkos::norm1_item(int ii) const template KOKKOS_INLINE_FUNCTION -double FixQEqReaxKokkos::norm2_item(int ii) const +double FixQEqReaxFFKokkos::norm2_item(int ii) const { F_FLOAT tmp = 0; const int i = d_ilist[ii]; @@ -1225,7 +1225,7 @@ double FixQEqReaxKokkos::norm2_item(int ii) const template KOKKOS_INLINE_FUNCTION -double FixQEqReaxKokkos::dot1_item(int ii) const +double FixQEqReaxFFKokkos::dot1_item(int ii) const { F_FLOAT tmp = 0.0; const int i = d_ilist[ii]; @@ -1238,7 +1238,7 @@ double FixQEqReaxKokkos::dot1_item(int ii) const template KOKKOS_INLINE_FUNCTION -double FixQEqReaxKokkos::dot2_item(int ii) const +double FixQEqReaxFFKokkos::dot2_item(int ii) const { double tmp = 0.0; const int i = d_ilist[ii]; @@ -1252,7 +1252,7 @@ double FixQEqReaxKokkos::dot2_item(int ii) const template KOKKOS_INLINE_FUNCTION -void FixQEqReaxKokkos::precon1_item(int ii) const +void FixQEqReaxFFKokkos::precon1_item(int ii) const { const int i = d_ilist[ii]; if (mask[i] & groupbit) { @@ -1265,7 +1265,7 @@ void FixQEqReaxKokkos::precon1_item(int ii) const template KOKKOS_INLINE_FUNCTION -void FixQEqReaxKokkos::precon2_item(int ii) const +void FixQEqReaxFFKokkos::precon2_item(int ii) const { const int i = d_ilist[ii]; if (mask[i] & groupbit) { @@ -1278,7 +1278,7 @@ void FixQEqReaxKokkos::precon2_item(int ii) const template KOKKOS_INLINE_FUNCTION -double FixQEqReaxKokkos::precon_item(int ii) const +double FixQEqReaxFFKokkos::precon_item(int ii) const { F_FLOAT tmp = 0.0; const int i = d_ilist[ii]; @@ -1293,7 +1293,7 @@ double FixQEqReaxKokkos::precon_item(int ii) const template KOKKOS_INLINE_FUNCTION -double FixQEqReaxKokkos::vecacc1_item(int ii) const +double FixQEqReaxFFKokkos::vecacc1_item(int ii) const { F_FLOAT tmp = 0.0; const int i = d_ilist[ii]; @@ -1306,7 +1306,7 @@ double FixQEqReaxKokkos::vecacc1_item(int ii) const template KOKKOS_INLINE_FUNCTION -double FixQEqReaxKokkos::vecacc2_item(int ii) const +double FixQEqReaxFFKokkos::vecacc2_item(int ii) const { F_FLOAT tmp = 0.0; const int i = d_ilist[ii]; @@ -1320,7 +1320,7 @@ double FixQEqReaxKokkos::vecacc2_item(int ii) const template KOKKOS_INLINE_FUNCTION -void FixQEqReaxKokkos::calculate_q_item(int ii) const +void FixQEqReaxFFKokkos::calculate_q_item(int ii) const { const int i = d_ilist[ii]; if (mask[i] & groupbit) { @@ -1339,20 +1339,20 @@ void FixQEqReaxKokkos::calculate_q_item(int ii) const /* ---------------------------------------------------------------------- */ template -int FixQEqReaxKokkos::pack_forward_comm_fix_kokkos(int n, DAT::tdual_int_2d k_sendlist, +int FixQEqReaxFFKokkos::pack_forward_comm_fix_kokkos(int n, DAT::tdual_int_2d k_sendlist, int iswap_in, DAT::tdual_xfloat_1d &k_buf, int /*pbc_flag*/, int * /*pbc*/) { d_sendlist = k_sendlist.view(); iswap = iswap_in; d_buf = k_buf.view(); - Kokkos::parallel_for(Kokkos::RangePolicy(0,n),*this); + Kokkos::parallel_for(Kokkos::RangePolicy(0,n),*this); return n; } template KOKKOS_INLINE_FUNCTION -void FixQEqReaxKokkos::operator()(TagFixQEqReaxPackForwardComm, const int &i) const { +void FixQEqReaxFFKokkos::operator()(TagFixQEqReaxFFPackForwardComm, const int &i) const { int j = d_sendlist(iswap, i); if (pack_flag == 1) @@ -1368,11 +1368,11 @@ void FixQEqReaxKokkos::operator()(TagFixQEqReaxPackForwardComm, cons /* ---------------------------------------------------------------------- */ template -void FixQEqReaxKokkos::unpack_forward_comm_fix_kokkos(int n, int first_in, DAT::tdual_xfloat_1d &buf) +void FixQEqReaxFFKokkos::unpack_forward_comm_fix_kokkos(int n, int first_in, DAT::tdual_xfloat_1d &buf) { first = first_in; d_buf = buf.view(); - Kokkos::parallel_for(Kokkos::RangePolicy(0,n),*this); + Kokkos::parallel_for(Kokkos::RangePolicy(0,n),*this); if (pack_flag == 4) atomKK->modified(execution_space,Q_MASK); // needed for auto_sync @@ -1380,7 +1380,7 @@ void FixQEqReaxKokkos::unpack_forward_comm_fix_kokkos(int n, int fir template KOKKOS_INLINE_FUNCTION -void FixQEqReaxKokkos::operator()(TagFixQEqReaxUnpackForwardComm, const int &i) const { +void FixQEqReaxFFKokkos::operator()(TagFixQEqReaxFFUnpackForwardComm, const int &i) const { if (pack_flag == 1) d_d[i + first] = d_buf[i]; else if (pack_flag == 2) @@ -1395,7 +1395,7 @@ void FixQEqReaxKokkos::operator()(TagFixQEqReaxUnpackForwardComm, co /* ---------------------------------------------------------------------- */ template -int FixQEqReaxKokkos::pack_forward_comm(int n, int *list, double *buf, +int FixQEqReaxFFKokkos::pack_forward_comm(int n, int *list, double *buf, int /*pbc_flag*/, int * /*pbc*/) { int m; @@ -1420,7 +1420,7 @@ int FixQEqReaxKokkos::pack_forward_comm(int n, int *list, double *bu /* ---------------------------------------------------------------------- */ template -void FixQEqReaxKokkos::unpack_forward_comm(int n, int first, double *buf) +void FixQEqReaxFFKokkos::unpack_forward_comm(int n, int first, double *buf) { int i, m; @@ -1446,7 +1446,7 @@ void FixQEqReaxKokkos::unpack_forward_comm(int n, int first, double /* ---------------------------------------------------------------------- */ template -int FixQEqReaxKokkos::pack_reverse_comm(int n, int first, double *buf) +int FixQEqReaxFFKokkos::pack_reverse_comm(int n, int first, double *buf) { k_o.sync_host(); @@ -1460,7 +1460,7 @@ int FixQEqReaxKokkos::pack_reverse_comm(int n, int first, double *bu /* ---------------------------------------------------------------------- */ template -void FixQEqReaxKokkos::unpack_reverse_comm(int n, int *list, double *buf) +void FixQEqReaxFFKokkos::unpack_reverse_comm(int n, int *list, double *buf) { k_o.sync_host(); @@ -1474,7 +1474,7 @@ void FixQEqReaxKokkos::unpack_reverse_comm(int n, int *list, double /* ---------------------------------------------------------------------- */ template -void FixQEqReaxKokkos::cleanup_copy() +void FixQEqReaxFFKokkos::cleanup_copy() { id = style = nullptr; } @@ -1484,7 +1484,7 @@ void FixQEqReaxKokkos::cleanup_copy() ------------------------------------------------------------------------- */ template -double FixQEqReaxKokkos::memory_usage() +double FixQEqReaxFFKokkos::memory_usage() { double bytes; @@ -1502,7 +1502,7 @@ double FixQEqReaxKokkos::memory_usage() ------------------------------------------------------------------------- */ template -void FixQEqReaxKokkos::grow_arrays(int nmax) +void FixQEqReaxFFKokkos::grow_arrays(int nmax) { k_s_hist.template sync(); k_t_hist.template sync(); @@ -1525,7 +1525,7 @@ void FixQEqReaxKokkos::grow_arrays(int nmax) ------------------------------------------------------------------------- */ template -void FixQEqReaxKokkos::copy_arrays(int i, int j, int /*delflag*/) +void FixQEqReaxFFKokkos::copy_arrays(int i, int j, int /*delflag*/) { k_s_hist.template sync(); k_t_hist.template sync(); @@ -1544,7 +1544,7 @@ void FixQEqReaxKokkos::copy_arrays(int i, int j, int /*delflag*/) ------------------------------------------------------------------------- */ template -int FixQEqReaxKokkos::pack_exchange(int i, double *buf) +int FixQEqReaxFFKokkos::pack_exchange(int i, double *buf) { k_s_hist.template sync(); k_t_hist.template sync(); @@ -1559,7 +1559,7 @@ int FixQEqReaxKokkos::pack_exchange(int i, double *buf) ------------------------------------------------------------------------- */ template -int FixQEqReaxKokkos::unpack_exchange(int nlocal, double *buf) +int FixQEqReaxFFKokkos::unpack_exchange(int nlocal, double *buf) { k_s_hist.template sync(); k_t_hist.template sync(); @@ -1576,8 +1576,8 @@ int FixQEqReaxKokkos::unpack_exchange(int nlocal, double *buf) /* ---------------------------------------------------------------------- */ namespace LAMMPS_NS { -template class FixQEqReaxKokkos; +template class FixQEqReaxFFKokkos; #ifdef LMP_KOKKOS_GPU -template class FixQEqReaxKokkos; +template class FixQEqReaxFFKokkos; #endif } diff --git a/src/KOKKOS/fix_qeq_reax_kokkos.h b/src/KOKKOS/fix_qeq_reaxff_kokkos.h similarity index 75% rename from src/KOKKOS/fix_qeq_reax_kokkos.h rename to src/KOKKOS/fix_qeq_reaxff_kokkos.h index 8485c68122..71c0808b0f 100644 --- a/src/KOKKOS/fix_qeq_reax_kokkos.h +++ b/src/KOKKOS/fix_qeq_reaxff_kokkos.h @@ -14,16 +14,19 @@ #ifdef FIX_CLASS // clang-format off -FixStyle(qeq/reax/kk,FixQEqReaxKokkos); -FixStyle(qeq/reax/kk/device,FixQEqReaxKokkos); -FixStyle(qeq/reax/kk/host,FixQEqReaxKokkos); +FixStyle(qeq/reaxff/kk,FixQEqReaxFFKokkos); +FixStyle(qeq/reaxff/kk/device,FixQEqReaxFFKokkos); +FixStyle(qeq/reaxff/kk/host,FixQEqReaxFFKokkos); +FixStyle(qeq/reax/kk,FixQEqReaxFFKokkos); +FixStyle(qeq/reax/kk/device,FixQEqReaxFFKokkos); +FixStyle(qeq/reax/kk/host,FixQEqReaxFFKokkos); // clang-format on #else -#ifndef LMP_FIX_QEQ_REAX_KOKKOS_H -#define LMP_FIX_QEQ_REAX_KOKKOS_H +#ifndef LMP_FIX_QEQ_REAXFF_KOKKOS_H +#define LMP_FIX_QEQ_REAXFF_KOKKOS_H -#include "fix_qeq_reax.h" +#include "fix_qeq_reaxff.h" #include "kokkos_type.h" #include "neigh_list.h" #include "neigh_list_kokkos.h" @@ -35,16 +38,16 @@ struct TagSparseMatvec1 {}; struct TagSparseMatvec2 {}; struct TagSparseMatvec3 {}; struct TagZeroQGhosts{}; -struct TagFixQEqReaxPackForwardComm {}; -struct TagFixQEqReaxUnpackForwardComm {}; +struct TagFixQEqReaxFFPackForwardComm {}; +struct TagFixQEqReaxFFUnpackForwardComm {}; template -class FixQEqReaxKokkos : public FixQEqReax, public KokkosBase { +class FixQEqReaxFFKokkos : public FixQEqReaxFF, public KokkosBase { public: typedef DeviceType device_type; typedef ArrayTypes AT; - FixQEqReaxKokkos(class LAMMPS *, int, char **); - ~FixQEqReaxKokkos(); + FixQEqReaxFFKokkos(class LAMMPS *, int, char **); + ~FixQEqReaxFFKokkos(); void cleanup_copy(); void init(); @@ -141,10 +144,10 @@ class FixQEqReaxKokkos : public FixQEqReax, public KokkosBase { double calculate_H_k(const F_FLOAT &r, const F_FLOAT &shld) const; KOKKOS_INLINE_FUNCTION - void operator()(TagFixQEqReaxPackForwardComm, const int&) const; + void operator()(TagFixQEqReaxFFPackForwardComm, const int&) const; KOKKOS_INLINE_FUNCTION - void operator()(TagFixQEqReaxUnpackForwardComm, const int&) const; + void operator()(TagFixQEqReaxFFUnpackForwardComm, const int&) const; struct params_qeq{ KOKKOS_INLINE_FUNCTION @@ -241,11 +244,11 @@ class FixQEqReaxKokkos : public FixQEqReax, public KokkosBase { }; template -struct FixQEqReaxKokkosNumNeighFunctor { +struct FixQEqReaxFFKokkosNumNeighFunctor { typedef DeviceType device_type ; typedef int value_type ; - FixQEqReaxKokkos c; - FixQEqReaxKokkosNumNeighFunctor(FixQEqReaxKokkos* c_ptr):c(*c_ptr) { + FixQEqReaxFFKokkos c; + FixQEqReaxFFKokkosNumNeighFunctor(FixQEqReaxFFKokkos* c_ptr):c(*c_ptr) { c.cleanup_copy(); }; KOKKOS_INLINE_FUNCTION @@ -255,10 +258,10 @@ struct FixQEqReaxKokkosNumNeighFunctor { }; template -struct FixQEqReaxKokkosMatVecFunctor { +struct FixQEqReaxFFKokkosMatVecFunctor { typedef DeviceType device_type ; - FixQEqReaxKokkos c; - FixQEqReaxKokkosMatVecFunctor(FixQEqReaxKokkos* c_ptr):c(*c_ptr) { + FixQEqReaxFFKokkos c; + FixQEqReaxFFKokkosMatVecFunctor(FixQEqReaxFFKokkos* c_ptr):c(*c_ptr) { c.cleanup_copy(); }; KOKKOS_INLINE_FUNCTION @@ -268,17 +271,17 @@ struct FixQEqReaxKokkosMatVecFunctor { }; template -struct FixQEqReaxKokkosComputeHFunctor { +struct FixQEqReaxFFKokkosComputeHFunctor { int atoms_per_team, vector_length; typedef int value_type; typedef Kokkos::ScratchMemorySpace scratch_space; - FixQEqReaxKokkos c; + FixQEqReaxFFKokkos c; - FixQEqReaxKokkosComputeHFunctor(FixQEqReaxKokkos* c_ptr):c(*c_ptr) { + FixQEqReaxFFKokkosComputeHFunctor(FixQEqReaxFFKokkos* c_ptr):c(*c_ptr) { c.cleanup_copy(); }; - FixQEqReaxKokkosComputeHFunctor(FixQEqReaxKokkos *c_ptr, + FixQEqReaxFFKokkosComputeHFunctor(FixQEqReaxFFKokkos *c_ptr, int _atoms_per_team, int _vector_length) : atoms_per_team(_atoms_per_team), vector_length(_vector_length), c(*c_ptr) { c.cleanup_copy(); @@ -315,10 +318,10 @@ struct FixQEqReaxKokkosComputeHFunctor { }; template -struct FixQEqReaxKokkosZeroFunctor { +struct FixQEqReaxFFKokkosZeroFunctor { typedef DeviceType device_type ; - FixQEqReaxKokkos c; - FixQEqReaxKokkosZeroFunctor(FixQEqReaxKokkos* c_ptr):c(*c_ptr) { + FixQEqReaxFFKokkos c; + FixQEqReaxFFKokkosZeroFunctor(FixQEqReaxFFKokkos* c_ptr):c(*c_ptr) { c.cleanup_copy(); }; KOKKOS_INLINE_FUNCTION @@ -328,10 +331,10 @@ struct FixQEqReaxKokkosZeroFunctor { }; template -struct FixQEqReaxKokkosSparse12Functor { +struct FixQEqReaxFFKokkosSparse12Functor { typedef DeviceType device_type ; - FixQEqReaxKokkos c; - FixQEqReaxKokkosSparse12Functor(FixQEqReaxKokkos* c_ptr):c(*c_ptr) { + FixQEqReaxFFKokkos c; + FixQEqReaxFFKokkosSparse12Functor(FixQEqReaxFFKokkos* c_ptr):c(*c_ptr) { c.cleanup_copy(); }; KOKKOS_INLINE_FUNCTION @@ -341,10 +344,10 @@ struct FixQEqReaxKokkosSparse12Functor { }; template -struct FixQEqReaxKokkosSparse13Functor { +struct FixQEqReaxFFKokkosSparse13Functor { typedef DeviceType device_type ; - FixQEqReaxKokkos c; - FixQEqReaxKokkosSparse13Functor(FixQEqReaxKokkos* c_ptr):c(*c_ptr) { + FixQEqReaxFFKokkos c; + FixQEqReaxFFKokkosSparse13Functor(FixQEqReaxFFKokkos* c_ptr):c(*c_ptr) { c.cleanup_copy(); }; KOKKOS_INLINE_FUNCTION @@ -354,10 +357,10 @@ struct FixQEqReaxKokkosSparse13Functor { }; template -struct FixQEqReaxKokkosSparse22Functor { +struct FixQEqReaxFFKokkosSparse22Functor { typedef DeviceType device_type ; - FixQEqReaxKokkos c; - FixQEqReaxKokkosSparse22Functor(FixQEqReaxKokkos* c_ptr):c(*c_ptr) { + FixQEqReaxFFKokkos c; + FixQEqReaxFFKokkosSparse22Functor(FixQEqReaxFFKokkos* c_ptr):c(*c_ptr) { c.cleanup_copy(); }; KOKKOS_INLINE_FUNCTION @@ -367,10 +370,10 @@ struct FixQEqReaxKokkosSparse22Functor { }; template -struct FixQEqReaxKokkosSparse23Functor { +struct FixQEqReaxFFKokkosSparse23Functor { typedef DeviceType device_type ; - FixQEqReaxKokkos c; - FixQEqReaxKokkosSparse23Functor(FixQEqReaxKokkos* c_ptr):c(*c_ptr) { + FixQEqReaxFFKokkos c; + FixQEqReaxFFKokkosSparse23Functor(FixQEqReaxFFKokkos* c_ptr):c(*c_ptr) { c.cleanup_copy(); }; KOKKOS_INLINE_FUNCTION @@ -380,10 +383,10 @@ struct FixQEqReaxKokkosSparse23Functor { }; template -struct FixQEqReaxKokkosSparse32Functor { +struct FixQEqReaxFFKokkosSparse32Functor { typedef DeviceType device_type ; - FixQEqReaxKokkos c; - FixQEqReaxKokkosSparse32Functor(FixQEqReaxKokkos* c_ptr):c(*c_ptr) { + FixQEqReaxFFKokkos c; + FixQEqReaxFFKokkosSparse32Functor(FixQEqReaxFFKokkos* c_ptr):c(*c_ptr) { c.cleanup_copy(); }; KOKKOS_INLINE_FUNCTION @@ -393,10 +396,10 @@ struct FixQEqReaxKokkosSparse32Functor { }; template -struct FixQEqReaxKokkosSparse33Functor { +struct FixQEqReaxFFKokkosSparse33Functor { typedef DeviceType device_type ; - FixQEqReaxKokkos c; - FixQEqReaxKokkosSparse33Functor(FixQEqReaxKokkos* c_ptr):c(*c_ptr) { + FixQEqReaxFFKokkos c; + FixQEqReaxFFKokkosSparse33Functor(FixQEqReaxFFKokkos* c_ptr):c(*c_ptr) { c.cleanup_copy(); }; KOKKOS_INLINE_FUNCTION @@ -406,10 +409,10 @@ struct FixQEqReaxKokkosSparse33Functor { }; template -struct FixQEqReaxKokkosVecSum2Functor { +struct FixQEqReaxFFKokkosVecSum2Functor { typedef DeviceType device_type ; - FixQEqReaxKokkos c; - FixQEqReaxKokkosVecSum2Functor(FixQEqReaxKokkos* c_ptr):c(*c_ptr) { + FixQEqReaxFFKokkos c; + FixQEqReaxFFKokkosVecSum2Functor(FixQEqReaxFFKokkos* c_ptr):c(*c_ptr) { c.cleanup_copy(); }; KOKKOS_INLINE_FUNCTION @@ -419,11 +422,11 @@ struct FixQEqReaxKokkosVecSum2Functor { }; template -struct FixQEqReaxKokkosNorm1Functor { +struct FixQEqReaxFFKokkosNorm1Functor { typedef DeviceType device_type ; - FixQEqReaxKokkos c; + FixQEqReaxFFKokkos c; typedef double value_type; - FixQEqReaxKokkosNorm1Functor(FixQEqReaxKokkos* c_ptr):c(*c_ptr) { + FixQEqReaxFFKokkosNorm1Functor(FixQEqReaxFFKokkos* c_ptr):c(*c_ptr) { c.cleanup_copy(); }; KOKKOS_INLINE_FUNCTION @@ -433,11 +436,11 @@ struct FixQEqReaxKokkosNorm1Functor { }; template -struct FixQEqReaxKokkosNorm2Functor { +struct FixQEqReaxFFKokkosNorm2Functor { typedef DeviceType device_type ; - FixQEqReaxKokkos c; + FixQEqReaxFFKokkos c; typedef double value_type; - FixQEqReaxKokkosNorm2Functor(FixQEqReaxKokkos* c_ptr):c(*c_ptr) { + FixQEqReaxFFKokkosNorm2Functor(FixQEqReaxFFKokkos* c_ptr):c(*c_ptr) { c.cleanup_copy(); }; KOKKOS_INLINE_FUNCTION @@ -447,11 +450,11 @@ struct FixQEqReaxKokkosNorm2Functor { }; template -struct FixQEqReaxKokkosDot1Functor { +struct FixQEqReaxFFKokkosDot1Functor { typedef DeviceType device_type ; - FixQEqReaxKokkos c; + FixQEqReaxFFKokkos c; typedef double value_type; - FixQEqReaxKokkosDot1Functor(FixQEqReaxKokkos* c_ptr):c(*c_ptr) { + FixQEqReaxFFKokkosDot1Functor(FixQEqReaxFFKokkos* c_ptr):c(*c_ptr) { c.cleanup_copy(); }; KOKKOS_INLINE_FUNCTION @@ -461,11 +464,11 @@ struct FixQEqReaxKokkosDot1Functor { }; template -struct FixQEqReaxKokkosDot2Functor { +struct FixQEqReaxFFKokkosDot2Functor { typedef DeviceType device_type ; - FixQEqReaxKokkos c; + FixQEqReaxFFKokkos c; typedef double value_type; - FixQEqReaxKokkosDot2Functor(FixQEqReaxKokkos* c_ptr):c(*c_ptr) { + FixQEqReaxFFKokkosDot2Functor(FixQEqReaxFFKokkos* c_ptr):c(*c_ptr) { c.cleanup_copy(); }; KOKKOS_INLINE_FUNCTION @@ -475,10 +478,10 @@ struct FixQEqReaxKokkosDot2Functor { }; template -struct FixQEqReaxKokkosPrecon1Functor { +struct FixQEqReaxFFKokkosPrecon1Functor { typedef DeviceType device_type ; - FixQEqReaxKokkos c; - FixQEqReaxKokkosPrecon1Functor(FixQEqReaxKokkos* c_ptr):c(*c_ptr) { + FixQEqReaxFFKokkos c; + FixQEqReaxFFKokkosPrecon1Functor(FixQEqReaxFFKokkos* c_ptr):c(*c_ptr) { c.cleanup_copy(); }; KOKKOS_INLINE_FUNCTION @@ -488,10 +491,10 @@ struct FixQEqReaxKokkosPrecon1Functor { }; template -struct FixQEqReaxKokkosPrecon2Functor { +struct FixQEqReaxFFKokkosPrecon2Functor { typedef DeviceType device_type ; - FixQEqReaxKokkos c; - FixQEqReaxKokkosPrecon2Functor(FixQEqReaxKokkos* c_ptr):c(*c_ptr) { + FixQEqReaxFFKokkos c; + FixQEqReaxFFKokkosPrecon2Functor(FixQEqReaxFFKokkos* c_ptr):c(*c_ptr) { c.cleanup_copy(); }; KOKKOS_INLINE_FUNCTION @@ -501,11 +504,11 @@ struct FixQEqReaxKokkosPrecon2Functor { }; template -struct FixQEqReaxKokkosPreconFunctor { +struct FixQEqReaxFFKokkosPreconFunctor { typedef DeviceType device_type ; - FixQEqReaxKokkos c; + FixQEqReaxFFKokkos c; typedef double value_type; - FixQEqReaxKokkosPreconFunctor(FixQEqReaxKokkos* c_ptr):c(*c_ptr) { + FixQEqReaxFFKokkosPreconFunctor(FixQEqReaxFFKokkos* c_ptr):c(*c_ptr) { c.cleanup_copy(); }; KOKKOS_INLINE_FUNCTION @@ -515,11 +518,11 @@ struct FixQEqReaxKokkosPreconFunctor { }; template -struct FixQEqReaxKokkosVecAcc1Functor { +struct FixQEqReaxFFKokkosVecAcc1Functor { typedef DeviceType device_type ; - FixQEqReaxKokkos c; + FixQEqReaxFFKokkos c; typedef double value_type; - FixQEqReaxKokkosVecAcc1Functor(FixQEqReaxKokkos* c_ptr):c(*c_ptr) { + FixQEqReaxFFKokkosVecAcc1Functor(FixQEqReaxFFKokkos* c_ptr):c(*c_ptr) { c.cleanup_copy(); }; KOKKOS_INLINE_FUNCTION @@ -529,11 +532,11 @@ struct FixQEqReaxKokkosVecAcc1Functor { }; template -struct FixQEqReaxKokkosVecAcc2Functor { +struct FixQEqReaxFFKokkosVecAcc2Functor { typedef DeviceType device_type ; - FixQEqReaxKokkos c; + FixQEqReaxFFKokkos c; typedef double value_type; - FixQEqReaxKokkosVecAcc2Functor(FixQEqReaxKokkos* c_ptr):c(*c_ptr) { + FixQEqReaxFFKokkosVecAcc2Functor(FixQEqReaxFFKokkos* c_ptr):c(*c_ptr) { c.cleanup_copy(); }; KOKKOS_INLINE_FUNCTION @@ -543,10 +546,10 @@ struct FixQEqReaxKokkosVecAcc2Functor { }; template -struct FixQEqReaxKokkosCalculateQFunctor { +struct FixQEqReaxFFKokkosCalculateQFunctor { typedef DeviceType device_type ; - FixQEqReaxKokkos c; - FixQEqReaxKokkosCalculateQFunctor(FixQEqReaxKokkos* c_ptr):c(*c_ptr) { + FixQEqReaxFFKokkos c; + FixQEqReaxFFKokkosCalculateQFunctor(FixQEqReaxFFKokkos* c_ptr):c(*c_ptr) { c.cleanup_copy(); }; KOKKOS_INLINE_FUNCTION diff --git a/src/KOKKOS/fix_reaxc_bonds_kokkos.cpp b/src/KOKKOS/fix_reaxff_bonds_kokkos.cpp similarity index 69% rename from src/KOKKOS/fix_reaxc_bonds_kokkos.cpp rename to src/KOKKOS/fix_reaxff_bonds_kokkos.cpp index 3da59ce972..2fc7d4639d 100644 --- a/src/KOKKOS/fix_reaxc_bonds_kokkos.cpp +++ b/src/KOKKOS/fix_reaxff_bonds_kokkos.cpp @@ -16,22 +16,22 @@ Contributing author: Stan Moore (Sandia) ------------------------------------------------------------------------- */ -#include "fix_reaxc_bonds_kokkos.h" +#include "fix_reaxff_bonds_kokkos.h" #include "atom.h" #include "atom_masks.h" #include "error.h" #include "force.h" #include "memory_kokkos.h" -#include "pair_reaxc_kokkos.h" +#include "pair_reaxff_kokkos.h" using namespace LAMMPS_NS; using namespace FixConst; /* ---------------------------------------------------------------------- */ -FixReaxCBondsKokkos::FixReaxCBondsKokkos(LAMMPS *lmp, int narg, char **arg) : - FixReaxCBonds(lmp, narg, arg) +FixReaxFFBondsKokkos::FixReaxFFBondsKokkos(LAMMPS *lmp, int narg, char **arg) : + FixReaxFFBonds(lmp, narg, arg) { kokkosable = 1; atomKK = (AtomKokkos *) atom; @@ -42,25 +42,25 @@ FixReaxCBondsKokkos::FixReaxCBondsKokkos(LAMMPS *lmp, int narg, char **arg) : /* ---------------------------------------------------------------------- */ -FixReaxCBondsKokkos::~FixReaxCBondsKokkos() +FixReaxFFBondsKokkos::~FixReaxFFBondsKokkos() { } /* ---------------------------------------------------------------------- */ -void FixReaxCBondsKokkos::init() +void FixReaxFFBondsKokkos::init() { - Pair *pair_kk = force->pair_match("reax/c/kk",0); - if (pair_kk == nullptr) error->all(FLERR,"Cannot use fix reax/c/bonds without " - "pair_style reax/c/kk"); + Pair *pair_kk = force->pair_match("^reax../kk",0); + if (pair_kk == nullptr) error->all(FLERR,"Cannot use fix reaxff/bonds without " + "pair_style reaxff/kk"); - FixReaxCBonds::init(); + FixReaxFFBonds::init(); } /* ---------------------------------------------------------------------- */ -void FixReaxCBondsKokkos::Output_ReaxC_Bonds(bigint /*ntimestep*/, FILE * /*fp*/) +void FixReaxFFBondsKokkos::Output_ReaxFF_Bonds() { int nbuf_local; @@ -72,23 +72,23 @@ void FixReaxCBondsKokkos::Output_ReaxC_Bonds(bigint /*ntimestep*/, FILE * /*fp*/ int nlocal_tot = static_cast (atom->natoms); numbonds = 0; - if (reaxc->execution_space == Device) - ((PairReaxCKokkos*) reaxc)->FindBond(numbonds); + if (reaxff->execution_space == Device) + ((PairReaxFFKokkos*) reaxff)->FindBond(numbonds); else - ((PairReaxCKokkos*) reaxc)->FindBond(numbonds); + ((PairReaxFFKokkos*) reaxff)->FindBond(numbonds); // allocate a temporary buffer for the snapshot info MPI_Allreduce(&numbonds,&numbonds_max,1,MPI_INT,MPI_MAX,world); MPI_Allreduce(&nlocal,&nlocal_max,1,MPI_INT,MPI_MAX,world); nbuf = 1+(numbonds_max*2+10)*nlocal_max; - memoryKK->create_kokkos(k_buf,buf,nbuf,"reax/c/bonds:buf"); + memoryKK->create_kokkos(k_buf,buf,nbuf,"reaxff/bonds:buf"); // Pass information to buffer - if (reaxc->execution_space == Device) - ((PairReaxCKokkos*) reaxc)->PackBondBuffer(k_buf,nbuf_local); + if (reaxff->execution_space == Device) + ((PairReaxFFKokkos*) reaxff)->PackBondBuffer(k_buf,nbuf_local); else - ((PairReaxCKokkos*) reaxc)->PackBondBuffer(k_buf,nbuf_local); + ((PairReaxFFKokkos*) reaxff)->PackBondBuffer(k_buf,nbuf_local); buf[0] = nlocal; // Receive information from buffer for output @@ -99,12 +99,12 @@ void FixReaxCBondsKokkos::Output_ReaxC_Bonds(bigint /*ntimestep*/, FILE * /*fp*/ /* ---------------------------------------------------------------------- */ -double FixReaxCBondsKokkos::memory_usage() +double FixReaxFFBondsKokkos::memory_usage() { double bytes; bytes = nbuf*sizeof(double); - // These are accounted for in PairReaxCKokkos: + // These are accounted for in PairReaxFFKokkos: //bytes += nmax*sizeof(int); //bytes += 1.0*nmax*MAXREAXBOND*sizeof(double); //bytes += 1.0*nmax*MAXREAXBOND*sizeof(int); diff --git a/src/KOKKOS/fix_reaxc_bonds_kokkos.h b/src/KOKKOS/fix_reaxff_bonds_kokkos.h similarity index 59% rename from src/KOKKOS/fix_reaxc_bonds_kokkos.h rename to src/KOKKOS/fix_reaxff_bonds_kokkos.h index 8c1bb9bef9..b1203e472d 100644 --- a/src/KOKKOS/fix_reaxc_bonds_kokkos.h +++ b/src/KOKKOS/fix_reaxff_bonds_kokkos.h @@ -14,29 +14,32 @@ #ifdef FIX_CLASS // clang-format off -FixStyle(reax/c/bonds/kk,FixReaxCBondsKokkos); -FixStyle(reax/c/bonds/kk/device,FixReaxCBondsKokkos); -FixStyle(reax/c/bonds/kk/host,FixReaxCBondsKokkos); +FixStyle(reaxff/bonds/kk,FixReaxFFBondsKokkos); +FixStyle(reaxff/bonds/kk/device,FixReaxFFBondsKokkos); +FixStyle(reaxff/bonds/kk/host,FixReaxFFBondsKokkos); +FixStyle(reax/c/bonds/kk,FixReaxFFBondsKokkos); +FixStyle(reax/c/bonds/kk/device,FixReaxFFBondsKokkos); +FixStyle(reax/c/bonds/kk/host,FixReaxFFBondsKokkos); // clang-format on #else -#ifndef LMP_FIX_REAXC_BONDS_KOKKOS_H -#define LMP_FIX_REAXC_BONDS_KOKKOS_H +#ifndef LMP_FIX_REAXFF_BONDS_KOKKOS_H +#define LMP_FIX_REAXFF_BONDS_KOKKOS_H -#include "fix_reaxc_bonds.h" +#include "fix_reaxff_bonds.h" #include "kokkos_type.h" namespace LAMMPS_NS { -class FixReaxCBondsKokkos : public FixReaxCBonds { +class FixReaxFFBondsKokkos : public FixReaxFFBonds { public: - FixReaxCBondsKokkos(class LAMMPS *, int, char **); - virtual ~FixReaxCBondsKokkos(); + FixReaxFFBondsKokkos(class LAMMPS *, int, char **); + virtual ~FixReaxFFBondsKokkos(); void init(); private: int nbuf; - void Output_ReaxC_Bonds(bigint, FILE *); + void Output_ReaxFF_Bonds() double memory_usage(); }; } diff --git a/src/KOKKOS/fix_reaxc_species_kokkos.cpp b/src/KOKKOS/fix_reaxff_species_kokkos.cpp similarity index 83% rename from src/KOKKOS/fix_reaxc_species_kokkos.cpp rename to src/KOKKOS/fix_reaxff_species_kokkos.cpp index 9d01164b6f..d3d913eda8 100644 --- a/src/KOKKOS/fix_reaxc_species_kokkos.cpp +++ b/src/KOKKOS/fix_reaxff_species_kokkos.cpp @@ -16,7 +16,7 @@ Contributing authors: Stan Moore (Sandia) ------------------------------------------------------------------------- */ -#include "fix_reaxc_species_kokkos.h" +#include "fix_reaxff_species_kokkos.h" #include "atom.h" #include "atom_masks.h" @@ -29,7 +29,7 @@ #include "neigh_request.h" #include "fix_ave_atom.h" -#include "pair_reaxc_kokkos.h" +#include "pair_reaxff_kokkos.h" #include "reaxff_defs.h" using namespace LAMMPS_NS; @@ -37,8 +37,8 @@ using namespace FixConst; /* ---------------------------------------------------------------------- */ -FixReaxCSpeciesKokkos::FixReaxCSpeciesKokkos(LAMMPS *lmp, int narg, char **arg) : - FixReaxCSpecies(lmp, narg, arg) +FixReaxFFSpeciesKokkos::FixReaxFFSpeciesKokkos(LAMMPS *lmp, int narg, char **arg) : + FixReaxFFSpecies(lmp, narg, arg) { kokkosable = 1; atomKK = (AtomKokkos *) atom; @@ -51,25 +51,25 @@ FixReaxCSpeciesKokkos::FixReaxCSpeciesKokkos(LAMMPS *lmp, int narg, char **arg) /* ---------------------------------------------------------------------- */ -FixReaxCSpeciesKokkos::~FixReaxCSpeciesKokkos() +FixReaxFFSpeciesKokkos::~FixReaxFFSpeciesKokkos() { } /* ---------------------------------------------------------------------- */ -void FixReaxCSpeciesKokkos::init() +void FixReaxFFSpeciesKokkos::init() { - Pair* pair_kk = force->pair_match("reax/c/kk",0); - if (pair_kk == nullptr) error->all(FLERR,"Cannot use fix reax/c/species/kk without " - "pair_style reax/c/kk"); + Pair* pair_kk = force->pair_match("^reax../kk",0); + if (pair_kk == nullptr) error->all(FLERR,"Cannot use fix reaxff/species/kk without " + "pair_style reaxff/kk"); - FixReaxCSpecies::init(); + FixReaxFFSpecies::init(); } /* ---------------------------------------------------------------------- */ -void FixReaxCSpeciesKokkos::FindMolecule() +void FixReaxFFSpeciesKokkos::FindMolecule() { int i,j,ii,jj,inum,itype,jtype,loop,looptot; int change,done,anychange; @@ -77,14 +77,14 @@ void FixReaxCSpeciesKokkos::FindMolecule() double bo_tmp,bo_cut; double **spec_atom = f_SPECBOND->array_atom; - inum = reaxc->list->inum; + inum = reaxff->list->inum; typename ArrayTypes::t_int_1d ilist; - if (reaxc->execution_space == Host) { - NeighListKokkos* k_list = static_cast*>(reaxc->list); + if (reaxff->execution_space == Host) { + NeighListKokkos* k_list = static_cast*>(reaxff->list); k_list->k_ilist.sync(); ilist = k_list->k_ilist.h_view; } else { - NeighListKokkos* k_list = static_cast*>(reaxc->list); + NeighListKokkos* k_list = static_cast*>(reaxff->list); k_list->k_ilist.sync(); ilist = k_list->k_ilist.h_view; } @@ -116,7 +116,7 @@ void FixReaxCSpeciesKokkos::FindMolecule() itype = atom->type[i]; for (jj = 0; jj < MAXSPECBOND; jj++) { - j = reaxc->tmpid[i][jj]; + j = reaxff->tmpid[i][jj]; if ((j == 0) && (j < i)) continue; if (!(mask[j] & groupbit)) continue; diff --git a/src/KOKKOS/fix_reaxc_species_kokkos.h b/src/KOKKOS/fix_reaxff_species_kokkos.h similarity index 58% rename from src/KOKKOS/fix_reaxc_species_kokkos.h rename to src/KOKKOS/fix_reaxff_species_kokkos.h index 1a5f204132..ad9d02319d 100644 --- a/src/KOKKOS/fix_reaxc_species_kokkos.h +++ b/src/KOKKOS/fix_reaxff_species_kokkos.h @@ -14,25 +14,28 @@ #ifdef FIX_CLASS // clang-format off -FixStyle(reax/c/species/kk,FixReaxCSpeciesKokkos); -FixStyle(reax/c/species/kk/device,FixReaxCSpeciesKokkos); -FixStyle(reax/c/species/kk/host,FixReaxCSpeciesKokkos); +FixStyle(reaxff/species/kk,FixReaxFFSpeciesKokkos); +FixStyle(reaxff/species/kk/device,FixReaxFFSpeciesKokkos); +FixStyle(reaxff/species/kk/host,FixReaxFFSpeciesKokkos); +FixStyle(reax/c/species/kk,FixReaxFFSpeciesKokkos); +FixStyle(reax/c/species/kk/device,FixReaxFFSpeciesKokkos); +FixStyle(reax/c/species/kk/host,FixReaxFFSpeciesKokkos); // clang-format on #else -#ifndef LMP_FIX_REAXC_SPECIES_KOKKOS_H -#define LMP_FIX_REAXC_SPECIES_KOKKOS_H +#ifndef LMP_FIX_REAXFF_SPECIES_KOKKOS_H +#define LMP_FIX_REAXFF_SPECIES_KOKKOS_H -#include "fix_reaxc_species.h" +#include "fix_reaxff_species.h" #define BUFLEN 1000 namespace LAMMPS_NS { -class FixReaxCSpeciesKokkos : public FixReaxCSpecies { +class FixReaxFFSpeciesKokkos : public FixReaxFFSpecies { public: - FixReaxCSpeciesKokkos(class LAMMPS *, int, char **); - virtual ~FixReaxCSpeciesKokkos(); + FixReaxFFSpeciesKokkos(class LAMMPS *, int, char **); + virtual ~FixReaxFFSpeciesKokkos(); void init(); private: diff --git a/src/KOKKOS/pair_reaxc_kokkos.cpp b/src/KOKKOS/pair_reaxff_kokkos.cpp similarity index 91% rename from src/KOKKOS/pair_reaxc_kokkos.cpp rename to src/KOKKOS/pair_reaxff_kokkos.cpp index 266a8b09f9..6e49b5081c 100644 --- a/src/KOKKOS/pair_reaxc_kokkos.cpp +++ b/src/KOKKOS/pair_reaxff_kokkos.cpp @@ -16,7 +16,7 @@ Contributing author: Ray Shan (SNL), Stan Moore (SNL) ------------------------------------------------------------------------- */ -#include "pair_reaxc_kokkos.h" +#include "pair_reaxff_kokkos.h" #include "atom_kokkos.h" #include "atom_masks.h" @@ -44,7 +44,7 @@ using namespace MathConst; using namespace MathSpecial; template -PairReaxCKokkos::PairReaxCKokkos(LAMMPS *lmp) : PairReaxC(lmp) +PairReaxFFKokkos::PairReaxFFKokkos(LAMMPS *lmp) : PairReaxFF(lmp) { respa_enable = 0; @@ -73,7 +73,7 @@ PairReaxCKokkos::PairReaxCKokkos(LAMMPS *lmp) : PairReaxC(lmp) /* ---------------------------------------------------------------------- */ template -PairReaxCKokkos::~PairReaxCKokkos() +PairReaxFFKokkos::~PairReaxFFKokkos() { if (copymode) return; @@ -100,28 +100,28 @@ PairReaxCKokkos::~PairReaxCKokkos() /* ---------------------------------------------------------------------- */ template -void PairReaxCKokkos::allocate() +void PairReaxFFKokkos::allocate() { int n = atom->ntypes; k_params_sing = Kokkos::DualView - ("PairReaxC::params_sing",n+1); + ("PairReaxFF::params_sing",n+1); paramssing = k_params_sing.template view(); k_params_twbp = Kokkos::DualView - ("PairReaxC::params_twbp",n+1,n+1); + ("PairReaxFF::params_twbp",n+1,n+1); paramstwbp = k_params_twbp.template view(); k_params_thbp = Kokkos::DualView - ("PairReaxC::params_thbp",n+1,n+1,n+1); + ("PairReaxFF::params_thbp",n+1,n+1,n+1); paramsthbp = k_params_thbp.template view(); k_params_fbp = Kokkos::DualView - ("PairReaxC::params_fbp",n+1,n+1,n+1,n+1); + ("PairReaxFF::params_fbp",n+1,n+1,n+1,n+1); paramsfbp = k_params_fbp.template view(); k_params_hbp = Kokkos::DualView - ("PairReaxC::params_hbp",n+1,n+1,n+1); + ("PairReaxFF::params_hbp",n+1,n+1,n+1); paramshbp = k_params_hbp.template view(); k_tap = DAT::tdual_ffloat_1d("pair:tap",8); @@ -135,9 +135,9 @@ void PairReaxCKokkos::allocate() ------------------------------------------------------------------------- */ template -void PairReaxCKokkos::init_style() +void PairReaxFFKokkos::init_style() { - PairReaxC::init_style(); + PairReaxFF::init_style(); if (fix_reax) modify->delete_fix(fix_id); // not needed in the Kokkos version fix_reax = nullptr; @@ -157,7 +157,7 @@ void PairReaxCKokkos::init_style() neighbor->requests[irequest]->half = 1; neighbor->requests[irequest]->ghost = 1; } else { - error->all(FLERR,"Must use half neighbor list with pair style reax/c/kk"); + error->all(FLERR,"Must use half neighbor list with pair style reaxff/kk"); } allocate(); @@ -168,7 +168,7 @@ void PairReaxCKokkos::init_style() /* ---------------------------------------------------------------------- */ template -void PairReaxCKokkos::setup() +void PairReaxFFKokkos::setup() { int i,j,k,m; int n = atom->ntypes; @@ -335,7 +335,7 @@ void PairReaxCKokkos::setup() /* ---------------------------------------------------------------------- */ template -void PairReaxCKokkos::init_md() +void PairReaxFFKokkos::init_md() { // init_taper() F_FLOAT d1, d7, swa, swa2, swa3, swb, swb2, swb3; @@ -430,7 +430,7 @@ void PairReaxCKokkos::init_md() /* ---------------------------------------------------------------------- */ template -int PairReaxCKokkos::Init_Lookup_Tables() +int PairReaxFFKokkos::Init_Lookup_Tables() { int i, j, r; int num_atom_types; @@ -538,7 +538,7 @@ int PairReaxCKokkos::Init_Lookup_Tables() /* ---------------------------------------------------------------------- */ template -void PairReaxCKokkos::Deallocate_Lookup_Tables() +void PairReaxFFKokkos::Deallocate_Lookup_Tables() { int i, j; int ntypes; @@ -567,7 +567,7 @@ void PairReaxCKokkos::Deallocate_Lookup_Tables() /* ---------------------------------------------------------------------- */ template -void PairReaxCKokkos::LR_vdW_Coulomb(int i, int j, double r_ij, LR_data *lr) +void PairReaxFFKokkos::LR_vdW_Coulomb(int i, int j, double r_ij, LR_data *lr) { double p_vdW1 = api->system->reax_param.gp.l[28]; double p_vdW1i = 1.0 / p_vdW1; @@ -663,7 +663,7 @@ void PairReaxCKokkos::LR_vdW_Coulomb(int i, int j, double r_ij, LR_d /* ---------------------------------------------------------------------- */ template -void PairReaxCKokkos::compute(int eflag_in, int vflag_in) +void PairReaxFFKokkos::compute(int eflag_in, int vflag_in) { copymode = 1; @@ -724,14 +724,14 @@ void PairReaxCKokkos::compute(int eflag_in, int vflag_in) // Polarization (self) if (neighflag == HALF) { if (evflag) - Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,inum),*this,ev); + Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,inum),*this,ev); else - Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum),*this); + Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum),*this); } else { //if (neighflag == HALFTHREAD) { if (evflag) - Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,inum),*this,ev); + Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,inum),*this,ev); else - Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum),*this); + Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum),*this); } ev_all += ev; pvector[13] = ev.ecoul; @@ -740,26 +740,26 @@ void PairReaxCKokkos::compute(int eflag_in, int vflag_in) if (api->control->tabulate) { if (neighflag == HALF) { if (evflag) - Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,inum),*this,ev); + Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,inum),*this,ev); else - Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum),*this); + Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum),*this); } else if (neighflag == HALFTHREAD) { if (evflag) - Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,inum),*this,ev); + Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,inum),*this,ev); else - Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum),*this); + Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum),*this); } } else { if (neighflag == HALF) { if (evflag) - Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,inum),*this,ev); + Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,inum),*this,ev); else - Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum),*this); + Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum),*this); } else if (neighflag == HALFTHREAD) { if (evflag) - Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,inum),*this,ev); + Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,inum),*this,ev); else - Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum),*this); + Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum),*this); } } ev_all += ev; @@ -853,34 +853,34 @@ void PairReaxCKokkos::compute(int eflag_in, int vflag_in) // Bond energy if (neighflag == HALF) { if (evflag) - Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,inum),*this,ev); + Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,inum),*this,ev); else - Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum),*this); + Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum),*this); ev_all += ev; pvector[0] = ev.evdwl; } else { //if (neighflag == HALFTHREAD) { if (evflag) - Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,inum),*this,ev); + Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,inum),*this,ev); else - Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum),*this); + Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum),*this); ev_all += ev; pvector[0] = ev.evdwl; } // Multi-body corrections if (neighflag == HALF) { - Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum),*this); + Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum),*this); if (evflag) - Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,inum),*this,ev); + Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,inum),*this,ev); else - Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum),*this); + Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum),*this); ev_all += ev; } else { //if (neighflag == HALFTHREAD) { - Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum),*this); + Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum),*this); if (evflag) - Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,inum),*this,ev); + Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,inum),*this,ev); else - Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum),*this); + Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum),*this); ev_all += ev; } pvector[2] = ev.ereax[0]; @@ -891,15 +891,15 @@ void PairReaxCKokkos::compute(int eflag_in, int vflag_in) // Angular if (neighflag == HALF) { if (evflag) - Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,inum),*this,ev); + Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,inum),*this,ev); else - Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum),*this); + Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum),*this); ev_all += ev; } else { //if (neighflag == HALFTHREAD) { if (evflag) - Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,inum),*this,ev); + Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,inum),*this,ev); else - Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum),*this); + Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum),*this); ev_all += ev; } pvector[4] = ev.ereax[3]; @@ -910,15 +910,15 @@ void PairReaxCKokkos::compute(int eflag_in, int vflag_in) // Torsion if (neighflag == HALF) { if (evflag) - Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,inum),*this,ev); + Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,inum),*this,ev); else - Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum),*this); + Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum),*this); ev_all += ev; } else { //if (neighflag == HALFTHREAD) { if (evflag) - Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,inum),*this,ev); + Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,inum),*this,ev); else - Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum),*this); + Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum),*this); ev_all += ev; } pvector[8] = ev.ereax[6]; @@ -929,15 +929,15 @@ void PairReaxCKokkos::compute(int eflag_in, int vflag_in) if (cut_hbsq > 0.0) { if (neighflag == HALF) { if (evflag) - Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,inum),*this,ev); + Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,inum),*this,ev); else - Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum),*this); + Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum),*this); ev_all += ev; } else { //if (neighflag == HALFTHREAD) { if (evflag) - Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,inum),*this,ev); + Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,inum),*this,ev); else - Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum),*this); + Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum),*this); ev_all += ev; } } @@ -969,9 +969,9 @@ void PairReaxCKokkos::compute(int eflag_in, int vflag_in) //} if (evflag) - Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,ignum),*this,ev); + Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,ignum),*this,ev); else - Kokkos::parallel_for(Kokkos::RangePolicy >(0,ignum),*this); + Kokkos::parallel_for(Kokkos::RangePolicy >(0,ignum),*this); ev_all += ev; pvector[0] += ev.evdwl; } else { //if (neighflag == HALFTHREAD) { @@ -985,9 +985,9 @@ void PairReaxCKokkos::compute(int eflag_in, int vflag_in) //} if (evflag) - Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,ignum),*this,ev); + Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,ignum),*this,ev); else - Kokkos::parallel_for(Kokkos::RangePolicy >(0,ignum),*this); + Kokkos::parallel_for(Kokkos::RangePolicy >(0,ignum),*this); ev_all += ev; pvector[0] += ev.evdwl; } @@ -1049,7 +1049,7 @@ void PairReaxCKokkos::compute(int eflag_in, int vflag_in) template template KOKKOS_INLINE_FUNCTION -void PairReaxCKokkos::operator()(PairReaxComputePolar, const int &ii, EV_FLOAT_REAX& ev) const { +void PairReaxFFKokkos::operator()(PairReaxFFomputePolar, const int &ii, EV_FLOAT_REAX& ev) const { const int i = d_ilist[ii]; const int itype = type(i); @@ -1067,9 +1067,9 @@ void PairReaxCKokkos::operator()(PairReaxComputePolar template KOKKOS_INLINE_FUNCTION -void PairReaxCKokkos::operator()(PairReaxComputePolar, const int &ii) const { +void PairReaxFFKokkos::operator()(PairReaxFFomputePolar, const int &ii) const { EV_FLOAT_REAX ev; - this->template operator()(PairReaxComputePolar(), ii, ev); + this->template operator()(PairReaxFFomputePolar(), ii, ev); } @@ -1078,7 +1078,7 @@ void PairReaxCKokkos::operator()(PairReaxComputePolar template KOKKOS_INLINE_FUNCTION -void PairReaxCKokkos::operator()(PairReaxComputeLJCoulomb, const int &ii, EV_FLOAT_REAX& ev) const { +void PairReaxFFKokkos::operator()(PairReaxFFomputeLJCoulomb, const int &ii, EV_FLOAT_REAX& ev) const { // The f array is duplicated for OpenMP, atomic for CUDA, and neither for Serial @@ -1220,9 +1220,9 @@ void PairReaxCKokkos::operator()(PairReaxComputeLJCoulomb template KOKKOS_INLINE_FUNCTION -void PairReaxCKokkos::operator()(PairReaxComputeLJCoulomb, const int &ii) const { +void PairReaxFFKokkos::operator()(PairReaxFFomputeLJCoulomb, const int &ii) const { EV_FLOAT_REAX ev; - this->template operator()(PairReaxComputeLJCoulomb(), ii, ev); + this->template operator()(PairReaxFFomputeLJCoulomb(), ii, ev); } /* ---------------------------------------------------------------------- */ @@ -1230,7 +1230,7 @@ void PairReaxCKokkos::operator()(PairReaxComputeLJCoulomb template KOKKOS_INLINE_FUNCTION -void PairReaxCKokkos::operator()(PairReaxComputeTabulatedLJCoulomb, const int &ii, EV_FLOAT_REAX& ev) const { +void PairReaxFFKokkos::operator()(PairReaxFFomputeTabulatedLJCoulomb, const int &ii, EV_FLOAT_REAX& ev) const { // The f array is duplicated for OpenMP, atomic for CUDA, and neither for Serial @@ -1327,84 +1327,84 @@ void PairReaxCKokkos::operator()(PairReaxComputeTabulatedLJCoulomb template KOKKOS_INLINE_FUNCTION -void PairReaxCKokkos::operator()(PairReaxComputeTabulatedLJCoulomb, const int &ii) const { +void PairReaxFFKokkos::operator()(PairReaxFFomputeTabulatedLJCoulomb, const int &ii) const { EV_FLOAT_REAX ev; - this->template operator()(PairReaxComputeTabulatedLJCoulomb(), ii, ev); + this->template operator()(PairReaxFFomputeTabulatedLJCoulomb(), ii, ev); } /* ---------------------------------------------------------------------- */ template -void PairReaxCKokkos::allocate_array() +void PairReaxFFKokkos::allocate_array() { if (cut_hbsq > 0.0) { - d_hb_first = typename AT::t_int_1d("reax/c/kk:hb_first",nmax); - d_hb_num = typename AT::t_int_1d("reax/c/kk:hb_num",nmax); - d_hb_list = typename AT::t_int_1d("reax/c/kk:hb_list",nmax*maxhb); + d_hb_first = typename AT::t_int_1d("reaxff/kk:hb_first",nmax); + d_hb_num = typename AT::t_int_1d("reaxff/kk:hb_num",nmax); + d_hb_list = typename AT::t_int_1d("reaxff/kk:hb_list",nmax*maxhb); } - d_bo_first = typename AT::t_int_1d("reax/c/kk:bo_first",nmax); - d_bo_num = typename AT::t_int_1d("reax/c/kk:bo_num",nmax); - d_bo_list = typename AT::t_int_1d("reax/c/kk:bo_list",nmax*maxbo); + d_bo_first = typename AT::t_int_1d("reaxff/kk:bo_first",nmax); + d_bo_num = typename AT::t_int_1d("reaxff/kk:bo_num",nmax); + d_bo_list = typename AT::t_int_1d("reaxff/kk:bo_list",nmax*maxbo); - d_BO = typename AT::t_ffloat_2d_dl("reax/c/kk:BO",nmax,maxbo); - d_BO_s = typename AT::t_ffloat_2d_dl("reax/c/kk:BO",nmax,maxbo); - d_BO_pi = typename AT::t_ffloat_2d_dl("reax/c/kk:BO_pi",nmax,maxbo); - d_BO_pi2 = typename AT::t_ffloat_2d_dl("reax/c/kk:BO_pi2",nmax,maxbo); + d_BO = typename AT::t_ffloat_2d_dl("reaxff/kk:BO",nmax,maxbo); + d_BO_s = typename AT::t_ffloat_2d_dl("reaxff/kk:BO",nmax,maxbo); + d_BO_pi = typename AT::t_ffloat_2d_dl("reaxff/kk:BO_pi",nmax,maxbo); + d_BO_pi2 = typename AT::t_ffloat_2d_dl("reaxff/kk:BO_pi2",nmax,maxbo); - d_dln_BOp_pix = typename AT::t_ffloat_2d_dl("reax/c/kk:d_dln_BOp_pix",nmax,maxbo); - d_dln_BOp_piy = typename AT::t_ffloat_2d_dl("reax/c/kk:d_dln_BOp_piy",nmax,maxbo); - d_dln_BOp_piz = typename AT::t_ffloat_2d_dl("reax/c/kk:d_dln_BOp_piz",nmax,maxbo); + d_dln_BOp_pix = typename AT::t_ffloat_2d_dl("reaxff/kk:d_dln_BOp_pix",nmax,maxbo); + d_dln_BOp_piy = typename AT::t_ffloat_2d_dl("reaxff/kk:d_dln_BOp_piy",nmax,maxbo); + d_dln_BOp_piz = typename AT::t_ffloat_2d_dl("reaxff/kk:d_dln_BOp_piz",nmax,maxbo); - d_dln_BOp_pi2x = typename AT::t_ffloat_2d_dl("reax/c/kk:d_dln_BOp_pi2x",nmax,maxbo); - d_dln_BOp_pi2y = typename AT::t_ffloat_2d_dl("reax/c/kk:d_dln_BOp_pi2y",nmax,maxbo); - d_dln_BOp_pi2z = typename AT::t_ffloat_2d_dl("reax/c/kk:d_dln_BOp_pi2z",nmax,maxbo); + d_dln_BOp_pi2x = typename AT::t_ffloat_2d_dl("reaxff/kk:d_dln_BOp_pi2x",nmax,maxbo); + d_dln_BOp_pi2y = typename AT::t_ffloat_2d_dl("reaxff/kk:d_dln_BOp_pi2y",nmax,maxbo); + d_dln_BOp_pi2z = typename AT::t_ffloat_2d_dl("reaxff/kk:d_dln_BOp_pi2z",nmax,maxbo); - d_C1dbo = typename AT::t_ffloat_2d_dl("reax/c/kk:d_C1dbo",nmax,maxbo); - d_C2dbo = typename AT::t_ffloat_2d_dl("reax/c/kk:d_C2dbo",nmax,maxbo); - d_C3dbo = typename AT::t_ffloat_2d_dl("reax/c/kk:d_C3dbo",nmax,maxbo); + d_C1dbo = typename AT::t_ffloat_2d_dl("reaxff/kk:d_C1dbo",nmax,maxbo); + d_C2dbo = typename AT::t_ffloat_2d_dl("reaxff/kk:d_C2dbo",nmax,maxbo); + d_C3dbo = typename AT::t_ffloat_2d_dl("reaxff/kk:d_C3dbo",nmax,maxbo); - d_C1dbopi = typename AT::t_ffloat_2d_dl("reax/c/kk:d_C1dbopi",nmax,maxbo); - d_C2dbopi = typename AT::t_ffloat_2d_dl("reax/c/kk:d_C2dbopi",nmax,maxbo); - d_C3dbopi = typename AT::t_ffloat_2d_dl("reax/c/kk:d_C3dbopi",nmax,maxbo); - d_C4dbopi = typename AT::t_ffloat_2d_dl("reax/c/kk:d_C4dbopi",nmax,maxbo); + d_C1dbopi = typename AT::t_ffloat_2d_dl("reaxff/kk:d_C1dbopi",nmax,maxbo); + d_C2dbopi = typename AT::t_ffloat_2d_dl("reaxff/kk:d_C2dbopi",nmax,maxbo); + d_C3dbopi = typename AT::t_ffloat_2d_dl("reaxff/kk:d_C3dbopi",nmax,maxbo); + d_C4dbopi = typename AT::t_ffloat_2d_dl("reaxff/kk:d_C4dbopi",nmax,maxbo); - d_C1dbopi2 = typename AT::t_ffloat_2d_dl("reax/c/kk:d_C1dbopi2",nmax,maxbo); - d_C2dbopi2 = typename AT::t_ffloat_2d_dl("reax/c/kk:d_C2dbopi2",nmax,maxbo); - d_C3dbopi2 = typename AT::t_ffloat_2d_dl("reax/c/kk:d_C3dbopi2",nmax,maxbo); - d_C4dbopi2 = typename AT::t_ffloat_2d_dl("reax/c/kk:d_C4dbopi2",nmax,maxbo); + d_C1dbopi2 = typename AT::t_ffloat_2d_dl("reaxff/kk:d_C1dbopi2",nmax,maxbo); + d_C2dbopi2 = typename AT::t_ffloat_2d_dl("reaxff/kk:d_C2dbopi2",nmax,maxbo); + d_C3dbopi2 = typename AT::t_ffloat_2d_dl("reaxff/kk:d_C3dbopi2",nmax,maxbo); + d_C4dbopi2 = typename AT::t_ffloat_2d_dl("reaxff/kk:d_C4dbopi2",nmax,maxbo); - d_dBOpx = typename AT::t_ffloat_2d_dl("reax/c/kk:dBOpx",nmax,maxbo); - d_dBOpy = typename AT::t_ffloat_2d_dl("reax/c/kk:dBOpy",nmax,maxbo); - d_dBOpz = typename AT::t_ffloat_2d_dl("reax/c/kk:dBOpz",nmax,maxbo); + d_dBOpx = typename AT::t_ffloat_2d_dl("reaxff/kk:dBOpx",nmax,maxbo); + d_dBOpy = typename AT::t_ffloat_2d_dl("reaxff/kk:dBOpy",nmax,maxbo); + d_dBOpz = typename AT::t_ffloat_2d_dl("reaxff/kk:dBOpz",nmax,maxbo); - d_dDeltap_self = typename AT::t_ffloat_2d_dl("reax/c/kk:dDeltap_self",nmax,3); - d_Deltap_boc = typename AT::t_ffloat_1d("reax/c/kk:Deltap_boc",nmax); - d_Deltap = typename AT::t_ffloat_1d("reax/c/kk:Deltap",nmax); - d_total_bo = typename AT::t_ffloat_1d("reax/c/kk:total_bo",nmax); + d_dDeltap_self = typename AT::t_ffloat_2d_dl("reaxff/kk:dDeltap_self",nmax,3); + d_Deltap_boc = typename AT::t_ffloat_1d("reaxff/kk:Deltap_boc",nmax); + d_Deltap = typename AT::t_ffloat_1d("reaxff/kk:Deltap",nmax); + d_total_bo = typename AT::t_ffloat_1d("reaxff/kk:total_bo",nmax); - d_Cdbo = typename AT::t_ffloat_2d_dl("reax/c/kk:Cdbo",nmax,3*maxbo); - d_Cdbopi = typename AT::t_ffloat_2d_dl("reax/c/kk:Cdbopi",nmax,3*maxbo); - d_Cdbopi2 = typename AT::t_ffloat_2d_dl("reax/c/kk:Cdbopi2",nmax,3*maxbo); + d_Cdbo = typename AT::t_ffloat_2d_dl("reaxff/kk:Cdbo",nmax,3*maxbo); + d_Cdbopi = typename AT::t_ffloat_2d_dl("reaxff/kk:Cdbopi",nmax,3*maxbo); + d_Cdbopi2 = typename AT::t_ffloat_2d_dl("reaxff/kk:Cdbopi2",nmax,3*maxbo); - d_Delta = typename AT::t_ffloat_1d("reax/c/kk:Delta",nmax); - d_Delta_boc = typename AT::t_ffloat_1d("reax/c/kk:Delta_boc",nmax); - d_dDelta_lp = typename AT::t_ffloat_1d("reax/c/kk:dDelta_lp",nmax); - d_Delta_lp = typename AT::t_ffloat_1d("reax/c/kk:Delta_lp",nmax); - d_Delta_lp_temp = typename AT::t_ffloat_1d("reax/c/kk:Delta_lp_temp",nmax); - d_CdDelta = typename AT::t_ffloat_1d("reax/c/kk:CdDelta",nmax); - d_sum_ovun = typename AT::t_ffloat_2d_dl("reax/c/kk:sum_ovun",nmax,3); + d_Delta = typename AT::t_ffloat_1d("reaxff/kk:Delta",nmax); + d_Delta_boc = typename AT::t_ffloat_1d("reaxff/kk:Delta_boc",nmax); + d_dDelta_lp = typename AT::t_ffloat_1d("reaxff/kk:dDelta_lp",nmax); + d_Delta_lp = typename AT::t_ffloat_1d("reaxff/kk:Delta_lp",nmax); + d_Delta_lp_temp = typename AT::t_ffloat_1d("reaxff/kk:Delta_lp_temp",nmax); + d_CdDelta = typename AT::t_ffloat_1d("reaxff/kk:CdDelta",nmax); + d_sum_ovun = typename AT::t_ffloat_2d_dl("reaxff/kk:sum_ovun",nmax,3); - // FixReaxCBonds - d_abo = typename AT::t_ffloat_2d("reax/c/kk:abo",nmax,maxbo); - d_neighid = typename AT::t_tagint_2d("reax/c/kk:neighid",nmax,maxbo); - d_numneigh_bonds = typename AT::t_int_1d("reax/c/kk:numneigh_bonds",nmax); + // FixReaxFFBonds + d_abo = typename AT::t_ffloat_2d("reaxff/kk:abo",nmax,maxbo); + d_neighid = typename AT::t_tagint_2d("reaxff/kk:neighid",nmax,maxbo); + d_numneigh_bonds = typename AT::t_int_1d("reaxff/kk:numneigh_bonds",nmax); } /* ---------------------------------------------------------------------- */ template KOKKOS_INLINE_FUNCTION -void PairReaxCKokkos::operator()(PairReaxZero, const int &n) const { +void PairReaxFFKokkos::operator()(PairReaxZero, const int &n) const { d_total_bo(n) = 0.0; d_CdDelta(n) = 0.0; d_bo_num(n) = 0.0; @@ -1415,13 +1415,13 @@ void PairReaxCKokkos::operator()(PairReaxZero, const int &n) const { template KOKKOS_INLINE_FUNCTION -void PairReaxCKokkos::operator()(PairReaxZeroEAtom, const int &i) const { +void PairReaxFFKokkos::operator()(PairReaxZeroEAtom, const int &i) const { d_eatom(i) = 0.0; } template KOKKOS_INLINE_FUNCTION -void PairReaxCKokkos::operator()(PairReaxZeroVAtom, const int &i) const { +void PairReaxFFKokkos::operator()(PairReaxZeroVAtom, const int &i) const { d_vatom(i,0) = 0.0; d_vatom(i,1) = 0.0; d_vatom(i,2) = 0.0; @@ -1434,7 +1434,7 @@ void PairReaxCKokkos::operator()(PairReaxZeroVAtom, const int &i) co template KOKKOS_INLINE_FUNCTION -void PairReaxCKokkos::operator()(PairReaxBuildListsFull, const int &ii) const { +void PairReaxFFKokkos::operator()(PairReaxBuildListsFull, const int &ii) const { if (d_resize_bo() || d_resize_hb()) return; @@ -1592,7 +1592,7 @@ void PairReaxCKokkos::operator()(PairReaxBuildListsFull, const int & template template KOKKOS_INLINE_FUNCTION -void PairReaxCKokkos::operator()(PairReaxBuildListsHalf, const int &ii) const { +void PairReaxFFKokkos::operator()(PairReaxBuildListsHalf, const int &ii) const { if (d_resize_bo() || d_resize_hb()) return; @@ -1805,7 +1805,7 @@ void PairReaxCKokkos::operator()(PairReaxBuildListsHalf, template KOKKOS_INLINE_FUNCTION -void PairReaxCKokkos::operator()(PairReaxBondOrder1, const int &ii) const { +void PairReaxFFKokkos::operator()(PairReaxBondOrder1, const int &ii) const { const int i = d_ilist[ii]; const int itype = type(i); @@ -1819,7 +1819,7 @@ void PairReaxCKokkos::operator()(PairReaxBondOrder1, const int &ii) template KOKKOS_INLINE_FUNCTION -void PairReaxCKokkos::operator()(PairReaxBondOrder2, const int &ii) const { +void PairReaxFFKokkos::operator()(PairReaxBondOrder2, const int &ii) const { F_FLOAT exp_p1i, exp_p2i, exp_p1j, exp_p2j, f1, f2, f3, u1_ij, u1_ji, Cf1A_ij, Cf1B_ij, Cf1_ij, Cf1_ji; F_FLOAT f4, f5, exp_f4, exp_f5, f4f5, Cf45_ij, Cf45_ji; @@ -1953,7 +1953,7 @@ void PairReaxCKokkos::operator()(PairReaxBondOrder2, const int &ii) template KOKKOS_INLINE_FUNCTION -void PairReaxCKokkos::operator()(PairReaxBondOrder3, const int &ii) const { +void PairReaxFFKokkos::operator()(PairReaxBondOrder3, const int &ii) const { // bot part of BO() const int i = d_ilist[ii]; @@ -1989,7 +1989,7 @@ void PairReaxCKokkos::operator()(PairReaxBondOrder3, const int &ii) template template KOKKOS_INLINE_FUNCTION -void PairReaxCKokkos::operator()(PairReaxComputeMulti1, const int &ii) const { +void PairReaxFFKokkos::operator()(PairReaxFFomputeMulti1, const int &ii) const { const int i = d_ilist[ii]; const int itype = type(i); @@ -2023,7 +2023,7 @@ void PairReaxCKokkos::operator()(PairReaxComputeMulti1 template KOKKOS_INLINE_FUNCTION -void PairReaxCKokkos::operator()(PairReaxComputeMulti2, const int &ii, EV_FLOAT_REAX& ev) const { +void PairReaxFFKokkos::operator()(PairReaxFFomputeMulti2, const int &ii, EV_FLOAT_REAX& ev) const { auto v_CdDelta = ScatterViewHelper::value,decltype(dup_CdDelta),decltype(ndup_CdDelta)>::get(dup_CdDelta,ndup_CdDelta); auto a_CdDelta = v_CdDelta.template access::value>(); @@ -2164,9 +2164,9 @@ void PairReaxCKokkos::operator()(PairReaxComputeMulti2 template KOKKOS_INLINE_FUNCTION -void PairReaxCKokkos::operator()(PairReaxComputeMulti2, const int &ii) const { +void PairReaxFFKokkos::operator()(PairReaxFFomputeMulti2, const int &ii) const { EV_FLOAT_REAX ev; - this->template operator()(PairReaxComputeMulti2(), ii, ev); + this->template operator()(PairReaxFFomputeMulti2(), ii, ev); } @@ -2175,7 +2175,7 @@ void PairReaxCKokkos::operator()(PairReaxComputeMulti2 template KOKKOS_INLINE_FUNCTION -void PairReaxCKokkos::operator()(PairReaxComputeAngular, const int &ii, EV_FLOAT_REAX& ev) const { +void PairReaxFFKokkos::operator()(PairReaxFFomputeAngular, const int &ii, EV_FLOAT_REAX& ev) const { auto v_f = ScatterViewHelper::value,decltype(dup_f),decltype(ndup_f)>::get(dup_f,ndup_f); auto a_f = v_f.template access::value>(); @@ -2476,9 +2476,9 @@ void PairReaxCKokkos::operator()(PairReaxComputeAngular template KOKKOS_INLINE_FUNCTION -void PairReaxCKokkos::operator()(PairReaxComputeAngular, const int &ii) const { +void PairReaxFFKokkos::operator()(PairReaxFFomputeAngular, const int &ii) const { EV_FLOAT_REAX ev; - this->template operator()(PairReaxComputeAngular(), ii, ev); + this->template operator()(PairReaxFFomputeAngular(), ii, ev); } @@ -2487,7 +2487,7 @@ void PairReaxCKokkos::operator()(PairReaxComputeAngular template KOKKOS_INLINE_FUNCTION -void PairReaxCKokkos::operator()(PairReaxComputeTorsion, const int &ii, EV_FLOAT_REAX& ev) const { +void PairReaxFFKokkos::operator()(PairReaxFFomputeTorsion, const int &ii, EV_FLOAT_REAX& ev) const { auto v_f = ScatterViewHelper::value,decltype(dup_f),decltype(ndup_f)>::get(dup_f,ndup_f); auto a_f = v_f.template access::value>(); @@ -2497,7 +2497,7 @@ void PairReaxCKokkos::operator()(PairReaxComputeTorsion::value,Kokkos::MemoryTraits::value> > a_Cdbo = d_Cdbo; //auto a_Cdbo = dup_Cdbo.template access::value>(); - // in reaxc_torsion_angles: j = i, k = j, i = k; + // in reaxff_torsion_angles: j = i, k = j, i = k; F_FLOAT Delta_i, Delta_j, bo_ij, bo_ik, bo_jl, BOA_ij, BOA_ik, BOA_jl; F_FLOAT p_tor1, p_cot1, V1, V2, V3; @@ -2851,9 +2851,9 @@ void PairReaxCKokkos::operator()(PairReaxComputeTorsion template KOKKOS_INLINE_FUNCTION -void PairReaxCKokkos::operator()(PairReaxComputeTorsion, const int &ii) const { +void PairReaxFFKokkos::operator()(PairReaxFFomputeTorsion, const int &ii) const { EV_FLOAT_REAX ev; - this->template operator()(PairReaxComputeTorsion(), ii, ev); + this->template operator()(PairReaxFFomputeTorsion(), ii, ev); } @@ -2862,7 +2862,7 @@ void PairReaxCKokkos::operator()(PairReaxComputeTorsion template KOKKOS_INLINE_FUNCTION -void PairReaxCKokkos::operator()(PairReaxComputeHydrogen, const int &ii, EV_FLOAT_REAX& ev) const { +void PairReaxFFKokkos::operator()(PairReaxFFomputeHydrogen, const int &ii, EV_FLOAT_REAX& ev) const { auto v_f = ScatterViewHelper::value,decltype(dup_f),decltype(ndup_f)>::get(dup_f,ndup_f); auto a_f = v_f.template access::value>(); @@ -2998,9 +2998,9 @@ void PairReaxCKokkos::operator()(PairReaxComputeHydrogen template KOKKOS_INLINE_FUNCTION -void PairReaxCKokkos::operator()(PairReaxComputeHydrogen, const int &ii) const { +void PairReaxFFKokkos::operator()(PairReaxFFomputeHydrogen, const int &ii) const { EV_FLOAT_REAX ev; - this->template operator()(PairReaxComputeHydrogen(), ii, ev); + this->template operator()(PairReaxFFomputeHydrogen(), ii, ev); } @@ -3009,7 +3009,7 @@ void PairReaxCKokkos::operator()(PairReaxComputeHydrogen template KOKKOS_INLINE_FUNCTION -void PairReaxCKokkos::operator()(PairReaxUpdateBond, const int &ii) const { +void PairReaxFFKokkos::operator()(PairReaxUpdateBond, const int &ii) const { Kokkos::View::value,Kokkos::MemoryTraits::value> > a_Cdbo = d_Cdbo; Kokkos::View::value,Kokkos::MemoryTraits::value> > a_Cdbopi = d_Cdbopi; @@ -3061,7 +3061,7 @@ void PairReaxCKokkos::operator()(PairReaxUpdateBond, cons template template KOKKOS_INLINE_FUNCTION -void PairReaxCKokkos::operator()(PairReaxComputeBond1, const int &ii, EV_FLOAT_REAX& ev) const { +void PairReaxFFKokkos::operator()(PairReaxFFomputeBond1, const int &ii, EV_FLOAT_REAX& ev) const { auto v_f = ScatterViewHelper::value,decltype(dup_f),decltype(ndup_f)>::get(dup_f,ndup_f); @@ -3168,9 +3168,9 @@ void PairReaxCKokkos::operator()(PairReaxComputeBond1 template KOKKOS_INLINE_FUNCTION -void PairReaxCKokkos::operator()(PairReaxComputeBond1, const int &ii) const { +void PairReaxFFKokkos::operator()(PairReaxFFomputeBond1, const int &ii) const { EV_FLOAT_REAX ev; - this->template operator()(PairReaxComputeBond1(), ii, ev); + this->template operator()(PairReaxFFomputeBond1(), ii, ev); } @@ -3179,7 +3179,7 @@ void PairReaxCKokkos::operator()(PairReaxComputeBond1 template KOKKOS_INLINE_FUNCTION -void PairReaxCKokkos::operator()(PairReaxComputeBond2, const int &ii, EV_FLOAT_REAX& ev) const { +void PairReaxFFKokkos::operator()(PairReaxFFomputeBond2, const int &ii, EV_FLOAT_REAX& ev) const { auto v_f = ScatterViewHelper::value,decltype(dup_f),decltype(ndup_f)>::get(dup_f,ndup_f); auto a_f = v_f.template access::value>(); @@ -3369,9 +3369,9 @@ void PairReaxCKokkos::operator()(PairReaxComputeBond2 template KOKKOS_INLINE_FUNCTION -void PairReaxCKokkos::operator()(PairReaxComputeBond2, const int &ii) const { +void PairReaxFFKokkos::operator()(PairReaxFFomputeBond2, const int &ii) const { EV_FLOAT_REAX ev; - this->template operator()(PairReaxComputeBond2(), ii, ev); + this->template operator()(PairReaxFFomputeBond2(), ii, ev); } @@ -3380,7 +3380,7 @@ void PairReaxCKokkos::operator()(PairReaxComputeBond2 template KOKKOS_INLINE_FUNCTION -void PairReaxCKokkos::ev_tally(EV_FLOAT_REAX &ev, const int &i, const int &j, +void PairReaxFFKokkos::ev_tally(EV_FLOAT_REAX &ev, const int &i, const int &j, const F_FLOAT &epair, const F_FLOAT &fpair, const F_FLOAT &delx, const F_FLOAT &dely, const F_FLOAT &delz) const { @@ -3439,7 +3439,7 @@ void PairReaxCKokkos::ev_tally(EV_FLOAT_REAX &ev, const int &i, cons template template KOKKOS_INLINE_FUNCTION -void PairReaxCKokkos::e_tally(EV_FLOAT_REAX & /*ev*/, const int &i, const int &j, +void PairReaxFFKokkos::e_tally(EV_FLOAT_REAX & /*ev*/, const int &i, const int &j, const F_FLOAT &epair) const { @@ -3461,7 +3461,7 @@ void PairReaxCKokkos::e_tally(EV_FLOAT_REAX & /*ev*/, const int &i, template template KOKKOS_INLINE_FUNCTION -void PairReaxCKokkos::e_tally_single(EV_FLOAT_REAX & /*ev*/, const int &i, +void PairReaxFFKokkos::e_tally_single(EV_FLOAT_REAX & /*ev*/, const int &i, const F_FLOAT &epair) const { // The eatom array is duplicated for OpenMP, atomic for CUDA, and neither for Serial @@ -3476,7 +3476,7 @@ void PairReaxCKokkos::e_tally_single(EV_FLOAT_REAX & /*ev*/, const i template template KOKKOS_INLINE_FUNCTION -void PairReaxCKokkos::v_tally(EV_FLOAT_REAX &ev, const int &i, +void PairReaxFFKokkos::v_tally(EV_FLOAT_REAX &ev, const int &i, F_FLOAT *fi, F_FLOAT *drij) const { @@ -3512,7 +3512,7 @@ void PairReaxCKokkos::v_tally(EV_FLOAT_REAX &ev, const int &i, template template KOKKOS_INLINE_FUNCTION -void PairReaxCKokkos::v_tally3(EV_FLOAT_REAX &ev, const int &i, const int &j, const int &k, +void PairReaxFFKokkos::v_tally3(EV_FLOAT_REAX &ev, const int &i, const int &j, const int &k, F_FLOAT *fj, F_FLOAT *fk, F_FLOAT *drij, F_FLOAT *drik) const { @@ -3554,7 +3554,7 @@ void PairReaxCKokkos::v_tally3(EV_FLOAT_REAX &ev, const int &i, cons template template KOKKOS_INLINE_FUNCTION -void PairReaxCKokkos::v_tally4(EV_FLOAT_REAX &ev, const int &i, const int &j, const int &k, +void PairReaxFFKokkos::v_tally4(EV_FLOAT_REAX &ev, const int &i, const int &j, const int &k, const int &l, F_FLOAT *fi, F_FLOAT *fj, F_FLOAT *fk, F_FLOAT *dril, F_FLOAT *drjl, F_FLOAT *drkl) const { @@ -3598,7 +3598,7 @@ void PairReaxCKokkos::v_tally4(EV_FLOAT_REAX &ev, const int &i, cons template KOKKOS_INLINE_FUNCTION -void PairReaxCKokkos::v_tally3_atom(EV_FLOAT_REAX &ev, const int &i, const int & /*j*/, +void PairReaxFFKokkos::v_tally3_atom(EV_FLOAT_REAX &ev, const int &i, const int & /*j*/, const int & /*k*/, F_FLOAT *fj, F_FLOAT *fk, F_FLOAT *drji, F_FLOAT *drjk) const { @@ -3634,7 +3634,7 @@ void PairReaxCKokkos::v_tally3_atom(EV_FLOAT_REAX &ev, const int &i, ------------------------------------------------------------------------- */ template -void PairReaxCKokkos::ev_setup(int eflag, int vflag, int) +void PairReaxFFKokkos::ev_setup(int eflag, int vflag, int) { int i; @@ -3689,7 +3689,7 @@ void PairReaxCKokkos::ev_setup(int eflag, int vflag, int) /* ---------------------------------------------------------------------- */ template -double PairReaxCKokkos::memory_usage() +double PairReaxFFKokkos::memory_usage() { double bytes = 0.0; @@ -3703,13 +3703,13 @@ double PairReaxCKokkos::memory_usage() bytes += (double)nmax*17*sizeof(F_FLOAT); bytes += (double)maxbo*nmax*34*sizeof(F_FLOAT); - // FixReaxCSpecies + // FixReaxFFSpecies if (fixspecies_flag) { bytes += (double)MAXSPECBOND*nmax*sizeof(tagint); bytes += (double)MAXSPECBOND*nmax*sizeof(F_FLOAT); } - // FixReaxCBonds + // FixReaxFFBonds bytes += (double)maxbo*nmax*sizeof(tagint); bytes += (double)maxbo*nmax*sizeof(F_FLOAT); bytes += (double)nmax*sizeof(int); @@ -3720,7 +3720,7 @@ double PairReaxCKokkos::memory_usage() /* ---------------------------------------------------------------------- */ template -void PairReaxCKokkos::FindBond(int &numbonds) +void PairReaxFFKokkos::FindBond(int &numbonds) { copymode = 1; Kokkos::parallel_for(Kokkos::RangePolicy(0,nmax),*this); @@ -3735,14 +3735,14 @@ void PairReaxCKokkos::FindBond(int &numbonds) d_ilist = k_list->d_ilist; numbonds = 0; - PairReaxCKokkosFindBondFunctor find_bond_functor(this); + PairReaxFFKokkosFindBondFunctor find_bond_functor(this); Kokkos::parallel_reduce(inum,find_bond_functor,numbonds); copymode = 0; } template KOKKOS_INLINE_FUNCTION -void PairReaxCKokkos::operator()(PairReaxFindBondZero, const int &i) const { +void PairReaxFFKokkos::operator()(PairReaxFindBondZero, const int &i) const { d_numneigh_bonds[i] = 0; for (int j = 0; j < maxbo; j++) { d_neighid(i,j) = 0; @@ -3752,7 +3752,7 @@ void PairReaxCKokkos::operator()(PairReaxFindBondZero, const int &i) template KOKKOS_INLINE_FUNCTION -void PairReaxCKokkos::calculate_find_bond_item(int ii, int &numbonds) const +void PairReaxFFKokkos::calculate_find_bond_item(int ii, int &numbonds) const { const int i = d_ilist[ii]; int nj = 0; @@ -3779,7 +3779,7 @@ void PairReaxCKokkos::calculate_find_bond_item(int ii, int &numbonds /* ---------------------------------------------------------------------- */ template -void PairReaxCKokkos::PackBondBuffer(DAT::tdual_ffloat_1d k_buf, int &nbuf_local) +void PairReaxFFKokkos::PackBondBuffer(DAT::tdual_ffloat_1d k_buf, int &nbuf_local) { d_buf = k_buf.view(); k_params_sing.template sync(); @@ -3793,7 +3793,7 @@ void PairReaxCKokkos::PackBondBuffer(DAT::tdual_ffloat_1d k_buf, int copymode = 1; nlocal = atomKK->nlocal; - PairReaxCKokkosPackBondBufferFunctor pack_bond_buffer_functor(this); + PairReaxFFKokkosPackBondBufferFunctor pack_bond_buffer_functor(this); Kokkos::parallel_scan(nlocal,pack_bond_buffer_functor); copymode = 0; @@ -3807,7 +3807,7 @@ void PairReaxCKokkos::PackBondBuffer(DAT::tdual_ffloat_1d k_buf, int template KOKKOS_INLINE_FUNCTION -void PairReaxCKokkos::pack_bond_buffer_item(int i, int &j, const bool &final) const +void PairReaxFFKokkos::pack_bond_buffer_item(int i, int &j, const bool &final) const { if (i == 0) j += 2; @@ -3849,7 +3849,7 @@ void PairReaxCKokkos::pack_bond_buffer_item(int i, int &j, const boo /* ---------------------------------------------------------------------- */ template -void PairReaxCKokkos::FindBondSpecies() +void PairReaxFFKokkos::FindBondSpecies() { if (nmax > (int)k_tmpid.extent(0)) { @@ -3877,12 +3877,12 @@ void PairReaxCKokkos::FindBondSpecies() k_error_flag.sync(); if (k_error_flag.h_view()) - error->all(FLERR,"Increase MAXSPECBOND in reaxc_defs.h"); + error->all(FLERR,"Increase MAXSPECBOND in reaxff_defs.h"); } template KOKKOS_INLINE_FUNCTION -void PairReaxCKokkos::operator()(PairReaxFindBondSpeciesZero, const int &i) const { +void PairReaxFFKokkos::operator()(PairReaxFindBondSpeciesZero, const int &i) const { for (int j = 0; j < MAXSPECBOND; j++) { k_tmpbo.view()(i,j) = 0.0; k_tmpid.view()(i,j) = 0; @@ -3891,7 +3891,7 @@ void PairReaxCKokkos::operator()(PairReaxFindBondSpeciesZero, const template KOKKOS_INLINE_FUNCTION -void PairReaxCKokkos::operator()(PairReaxFindBondSpecies, const int &i) const { +void PairReaxFFKokkos::operator()(PairReaxFindBondSpecies, const int &i) const { int nj = 0; const int j_start = d_bo_first[i]; @@ -3913,8 +3913,8 @@ void PairReaxCKokkos::operator()(PairReaxFindBondSpecies, const int } } -template class PairReaxCKokkos; +template class PairReaxFFKokkos; #ifdef LMP_KOKKOS_GPU -template class PairReaxCKokkos; +template class PairReaxFFKokkos; #endif } diff --git a/src/KOKKOS/pair_reaxc_kokkos.h b/src/KOKKOS/pair_reaxff_kokkos.h similarity index 86% rename from src/KOKKOS/pair_reaxc_kokkos.h rename to src/KOKKOS/pair_reaxff_kokkos.h index d7457f54fd..08f0911292 100644 --- a/src/KOKKOS/pair_reaxc_kokkos.h +++ b/src/KOKKOS/pair_reaxff_kokkos.h @@ -15,9 +15,12 @@ #ifdef PAIR_CLASS // clang-format off -PairStyle(reax/c/kk,PairReaxCKokkos); -PairStyle(reax/c/kk/device,PairReaxCKokkos); -PairStyle(reax/c/kk/host,PairReaxCKokkos); +PairStyle(reaxff/kk,PairReaxFFKokkos); +PairStyle(reaxff/kk/device,PairReaxFFKokkos); +PairStyle(reaxff/kk/host,PairReaxFFKokkos); +PairStyle(reax/c/kk,PairReaxFFKokkos); +PairStyle(reax/c/kk/device,PairReaxFFKokkos); +PairStyle(reax/c/kk/host,PairReaxFFKokkos); // clang-format on #else @@ -25,7 +28,7 @@ PairStyle(reax/c/kk/host,PairReaxCKokkos); #define LMP_PAIR_REAXC_KOKKOS_H #include "pair_kokkos.h" -#include "pair_reaxc.h" +#include "pair_reaxff.h" #include "neigh_list_kokkos.h" #define C_ele 332.06371 @@ -53,13 +56,13 @@ struct LR_lookup_table_kk }; template -struct PairReaxComputePolar{}; +struct PairReaxFFomputePolar{}; template -struct PairReaxComputeLJCoulomb{}; +struct PairReaxFFomputeLJCoulomb{}; template -struct PairReaxComputeTabulatedLJCoulomb{}; +struct PairReaxFFomputeTabulatedLJCoulomb{}; struct PairReaxBuildListsFull{}; @@ -82,25 +85,25 @@ template struct PairReaxUpdateBond{}; template -struct PairReaxComputeBond1{}; +struct PairReaxFFomputeBond1{}; template -struct PairReaxComputeBond2{}; +struct PairReaxFFomputeBond2{}; template -struct PairReaxComputeMulti1{}; +struct PairReaxFFomputeMulti1{}; template -struct PairReaxComputeMulti2{}; +struct PairReaxFFomputeMulti2{}; template -struct PairReaxComputeAngular{}; +struct PairReaxFFomputeAngular{}; template -struct PairReaxComputeTorsion{}; +struct PairReaxFFomputeTorsion{}; template -struct PairReaxComputeHydrogen{}; +struct PairReaxFFomputeHydrogen{}; struct PairReaxFindBondZero{}; @@ -110,7 +113,7 @@ struct PairReaxFindBondSpecies{}; template -class PairReaxCKokkos : public PairReaxC { +class PairReaxFFKokkos : public PairReaxFF { public: enum {EnabledNeighFlags=FULL|HALF|HALFTHREAD}; enum {COUL_FLAG=1}; @@ -118,8 +121,8 @@ class PairReaxCKokkos : public PairReaxC { typedef ArrayTypes AT; typedef EV_FLOAT_REAX value_type; - PairReaxCKokkos(class LAMMPS *); - virtual ~PairReaxCKokkos(); + PairReaxFFKokkos(class LAMMPS *); + virtual ~PairReaxFFKokkos(); void ev_setup(int, int, int alloc = 1); void compute(int, int); @@ -131,27 +134,27 @@ class PairReaxCKokkos : public PairReaxC { template KOKKOS_INLINE_FUNCTION - void operator()(PairReaxComputePolar, const int&, EV_FLOAT_REAX&) const; + void operator()(PairReaxFFomputePolar, const int&, EV_FLOAT_REAX&) const; template KOKKOS_INLINE_FUNCTION - void operator()(PairReaxComputePolar, const int&) const; + void operator()(PairReaxFFomputePolar, const int&) const; template KOKKOS_INLINE_FUNCTION - void operator()(PairReaxComputeLJCoulomb, const int&, EV_FLOAT_REAX&) const; + void operator()(PairReaxFFomputeLJCoulomb, const int&, EV_FLOAT_REAX&) const; template KOKKOS_INLINE_FUNCTION - void operator()(PairReaxComputeLJCoulomb, const int&) const; + void operator()(PairReaxFFomputeLJCoulomb, const int&) const; template KOKKOS_INLINE_FUNCTION - void operator()(PairReaxComputeTabulatedLJCoulomb, const int&, EV_FLOAT_REAX&) const; + void operator()(PairReaxFFomputeTabulatedLJCoulomb, const int&, EV_FLOAT_REAX&) const; template KOKKOS_INLINE_FUNCTION - void operator()(PairReaxComputeTabulatedLJCoulomb, const int&) const; + void operator()(PairReaxFFomputeTabulatedLJCoulomb, const int&) const; KOKKOS_INLINE_FUNCTION void operator()(PairReaxBuildListsFull, const int&) const; @@ -184,55 +187,55 @@ class PairReaxCKokkos : public PairReaxC { template KOKKOS_INLINE_FUNCTION - void operator()(PairReaxComputeBond1, const int&, EV_FLOAT_REAX&) const; + void operator()(PairReaxFFomputeBond1, const int&, EV_FLOAT_REAX&) const; template KOKKOS_INLINE_FUNCTION - void operator()(PairReaxComputeBond1, const int&) const; + void operator()(PairReaxFFomputeBond1, const int&) const; template KOKKOS_INLINE_FUNCTION - void operator()(PairReaxComputeBond2, const int&, EV_FLOAT_REAX&) const; + void operator()(PairReaxFFomputeBond2, const int&, EV_FLOAT_REAX&) const; template KOKKOS_INLINE_FUNCTION - void operator()(PairReaxComputeBond2, const int&) const; + void operator()(PairReaxFFomputeBond2, const int&) const; template KOKKOS_INLINE_FUNCTION - void operator()(PairReaxComputeMulti1, const int&) const; + void operator()(PairReaxFFomputeMulti1, const int&) const; template KOKKOS_INLINE_FUNCTION - void operator()(PairReaxComputeMulti2, const int&, EV_FLOAT_REAX&) const; + void operator()(PairReaxFFomputeMulti2, const int&, EV_FLOAT_REAX&) const; template KOKKOS_INLINE_FUNCTION - void operator()(PairReaxComputeMulti2, const int&) const; + void operator()(PairReaxFFomputeMulti2, const int&) const; template KOKKOS_INLINE_FUNCTION - void operator()(PairReaxComputeAngular, const int&, EV_FLOAT_REAX&) const; + void operator()(PairReaxFFomputeAngular, const int&, EV_FLOAT_REAX&) const; template KOKKOS_INLINE_FUNCTION - void operator()(PairReaxComputeAngular, const int&) const; + void operator()(PairReaxFFomputeAngular, const int&) const; template KOKKOS_INLINE_FUNCTION - void operator()(PairReaxComputeTorsion, const int&, EV_FLOAT_REAX&) const; + void operator()(PairReaxFFomputeTorsion, const int&, EV_FLOAT_REAX&) const; template KOKKOS_INLINE_FUNCTION - void operator()(PairReaxComputeTorsion, const int&) const; + void operator()(PairReaxFFomputeTorsion, const int&) const; template KOKKOS_INLINE_FUNCTION - void operator()(PairReaxComputeHydrogen, const int&, EV_FLOAT_REAX&) const; + void operator()(PairReaxFFomputeHydrogen, const int&, EV_FLOAT_REAX&) const; template KOKKOS_INLINE_FUNCTION - void operator()(PairReaxComputeHydrogen, const int&) const; + void operator()(PairReaxFFomputeHydrogen, const int&) const; KOKKOS_INLINE_FUNCTION void operator()(PairReaxFindBondZero, const int&) const; @@ -433,7 +436,7 @@ class PairReaxCKokkos : public PairReaxC { int vdwflag, lgflag; F_FLOAT gp[39], p_boc1, p_boc2; - friend void pair_virial_fdotr_compute(PairReaxCKokkos*); + friend void pair_virial_fdotr_compute(PairReaxFFKokkos*); int bocnt,hbcnt,enobondsflag; @@ -458,11 +461,11 @@ class PairReaxCKokkos : public PairReaxC { }; template -struct PairReaxCKokkosFindBondFunctor { +struct PairReaxFFKokkosFindBondFunctor { typedef DeviceType device_type; typedef int value_type; - PairReaxCKokkos c; - PairReaxCKokkosFindBondFunctor(PairReaxCKokkos* c_ptr):c(*c_ptr) {}; + PairReaxFFKokkos c; + PairReaxFFKokkosFindBondFunctor(PairReaxFFKokkos* c_ptr):c(*c_ptr) {}; KOKKOS_INLINE_FUNCTION void join(volatile int &dst, @@ -477,11 +480,11 @@ struct PairReaxCKokkosFindBondFunctor { }; template -struct PairReaxCKokkosPackBondBufferFunctor { +struct PairReaxFFKokkosPackBondBufferFunctor { typedef DeviceType device_type; typedef int value_type; - PairReaxCKokkos c; - PairReaxCKokkosPackBondBufferFunctor(PairReaxCKokkos* c_ptr):c(*c_ptr) {}; + PairReaxFFKokkos c; + PairReaxFFKokkosPackBondBufferFunctor(PairReaxFFKokkos* c_ptr):c(*c_ptr) {}; KOKKOS_INLINE_FUNCTION void operator()(const int ii, int &j, const bool &final) const { diff --git a/src/OPENMP/fix_qeq_reax_omp.cpp b/src/OPENMP/fix_qeq_reaxff_omp.cpp similarity index 92% rename from src/OPENMP/fix_qeq_reax_omp.cpp rename to src/OPENMP/fix_qeq_reaxff_omp.cpp index 4cdab8a6fa..89b75bfe7a 100644 --- a/src/OPENMP/fix_qeq_reax_omp.cpp +++ b/src/OPENMP/fix_qeq_reaxff_omp.cpp @@ -18,11 +18,11 @@ Hybrid & sub-group capabilities added by Ray Shan (Materials Design) - OpenMP based threading support for fix qeq/reax/omp added + OpenMP based threading support for fix qeq/reaxff/omp added by Hasan Metin Aktulga (MSU), Chris Knight (ALCF), Paul Coffman (ALCF), Kurt O'Hearn (MSU), Ray Shan (Materials Design), Wei Jiang (ALCF) - Integration of the pair_style reax/c/omp into the OPENMP package + Integration of the pair_style reaxff/omp into the OPENMP package by Axel Kohlmeyer (Temple U.) Please cite the related publication: @@ -32,7 +32,7 @@ High Performance Computing Applications, to appear. ------------------------------------------------------------------------- */ -#include "fix_qeq_reax_omp.h" +#include "fix_qeq_reaxff_omp.h" #include "atom.h" #include "comm.h" @@ -41,7 +41,7 @@ #include "neigh_list.h" #include "update.h" -#include "pair_reaxc.h" +#include "pair_reaxff.h" #include "reaxff_defs.h" #include @@ -55,8 +55,8 @@ using namespace FixConst; /* ---------------------------------------------------------------------- */ -FixQEqReaxOMP::FixQEqReaxOMP(LAMMPS *lmp, int narg, char **arg) : - FixQEqReax(lmp, narg, arg) +FixQEqReaxFFOMP::FixQEqReaxFFOMP(LAMMPS *lmp, int narg, char **arg) : + FixQEqReaxFF(lmp, narg, arg) { b_temp = nullptr; @@ -69,14 +69,14 @@ FixQEqReaxOMP::FixQEqReaxOMP(LAMMPS *lmp, int narg, char **arg) : aspc_b = nullptr; } -FixQEqReaxOMP::~FixQEqReaxOMP() +FixQEqReaxFFOMP::~FixQEqReaxFFOMP() { memory->destroy(b_temp); } /* ---------------------------------------------------------------------- */ -void FixQEqReaxOMP::post_constructor() +void FixQEqReaxFFOMP::post_constructor() { grow_arrays(atom->nmax); for (int i = 0; i < atom->nmax; i++) @@ -88,34 +88,34 @@ void FixQEqReaxOMP::post_constructor() /* ---------------------------------------------------------------------- */ -void FixQEqReaxOMP::allocate_storage() +void FixQEqReaxFFOMP::allocate_storage() { - FixQEqReax::allocate_storage(); + FixQEqReaxFF::allocate_storage(); // dual CG support int size = nmax; if (dual_enabled) size*= 2; - memory->create(b_temp, comm->nthreads, size, "qeq/reax/omp:b_temp"); + memory->create(b_temp, comm->nthreads, size, "qeq/reaxff/omp:b_temp"); } /* ---------------------------------------------------------------------- */ -void FixQEqReaxOMP::deallocate_storage() +void FixQEqReaxFFOMP::deallocate_storage() { memory->destroy(b_temp); - FixQEqReax::deallocate_storage(); + FixQEqReaxFF::deallocate_storage(); } /* ---------------------------------------------------------------------- */ -void FixQEqReaxOMP::init() +void FixQEqReaxFFOMP::init() { - FixQEqReax::init(); + FixQEqReaxFF::init(); // APSC setup if (do_aspc) { - memory->create(aspc_b, aspc_order_max+2, "qeq/reax/aspc_b"); + memory->create(aspc_b, aspc_order_max+2, "qeq/reaxff/aspc_b"); // Calculate damping factor double o = double(aspc_order); @@ -144,7 +144,7 @@ void FixQEqReaxOMP::init() /* ---------------------------------------------------------------------- */ -void FixQEqReaxOMP::compute_H() +void FixQEqReaxFFOMP::compute_H() { double SMALL = 0.0001; @@ -224,13 +224,13 @@ void FixQEqReaxOMP::compute_H() } // omp if (m_fill >= H.m) - error->all(FLERR,fmt::format("Fix qeq/reax: H matrix size has been " + error->all(FLERR,fmt::format("Fix qeq/reaxff: H matrix size has been " "exceeded: m_fill={} H.m={}\n", m_fill, H.m)); } /* ---------------------------------------------------------------------- */ -void FixQEqReaxOMP::init_storage() +void FixQEqReaxFFOMP::init_storage() { #if defined(_OPENMP) #pragma omp parallel for schedule(static) @@ -247,18 +247,18 @@ void FixQEqReaxOMP::init_storage() /* ---------------------------------------------------------------------- */ -void FixQEqReaxOMP::pre_force(int /* vflag */) +void FixQEqReaxFFOMP::pre_force(int /* vflag */) { if (update->ntimestep % nevery) return; int n = atom->nlocal; - if (reaxc) { - nn = reaxc->list->inum; - NN = reaxc->list->inum + reaxc->list->gnum; - ilist = reaxc->list->ilist; - numneigh = reaxc->list->numneigh; - firstneigh = reaxc->list->firstneigh; + if (reaxff) { + nn = reaxff->list->inum; + NN = reaxff->list->inum + reaxff->list->gnum; + ilist = reaxff->list->ilist; + numneigh = reaxff->list->numneigh; + firstneigh = reaxff->list->firstneigh; } else { nn = list->inum; NN = list->inum + list->gnum; @@ -289,7 +289,7 @@ void FixQEqReaxOMP::pre_force(int /* vflag */) /* ---------------------------------------------------------------------- */ -void FixQEqReaxOMP::init_matvec() +void FixQEqReaxFFOMP::init_matvec() { /* fill-in H matrix */ compute_H(); @@ -363,7 +363,7 @@ void FixQEqReaxOMP::init_matvec() /* ---------------------------------------------------------------------- */ -int FixQEqReaxOMP::CG(double *b, double *x) +int FixQEqReaxFFOMP::CG(double *b, double *x) { int i; double alpha, beta, b_norm; @@ -464,7 +464,7 @@ int FixQEqReaxOMP::CG(double *b, double *x) } if ((i >= imax) && maxwarn && (comm->me == 0)) - error->warning(FLERR,fmt::format("Fix qeq/reax/omp CG convergence failed " + error->warning(FLERR,fmt::format("Fix qeq/reaxff/omp CG convergence failed " "after {} iterations at step {}", i,update->ntimestep)); return i; @@ -472,7 +472,7 @@ int FixQEqReaxOMP::CG(double *b, double *x) /* ---------------------------------------------------------------------- */ -void FixQEqReaxOMP::sparse_matvec(sparse_matrix *A, double *x, double *b) +void FixQEqReaxFFOMP::sparse_matvec(sparse_matrix *A, double *x, double *b) { #if defined(_OPENMP) #pragma omp parallel default(shared) @@ -539,7 +539,7 @@ void FixQEqReaxOMP::sparse_matvec(sparse_matrix *A, double *x, double *b) /* ---------------------------------------------------------------------- */ -void FixQEqReaxOMP::calculate_Q() +void FixQEqReaxFFOMP::calculate_Q() { int i; double *q = atom->q; @@ -592,7 +592,7 @@ void FixQEqReaxOMP::calculate_Q() /* ---------------------------------------------------------------------- */ -void FixQEqReaxOMP::vector_sum(double* dest, double c, double* v, +void FixQEqReaxFFOMP::vector_sum(double* dest, double c, double* v, double d, double* y, int k) { int i; @@ -608,7 +608,7 @@ void FixQEqReaxOMP::vector_sum(double* dest, double c, double* v, /* ---------------------------------------------------------------------- */ -void FixQEqReaxOMP::vector_add(double* dest, double c, double* v, int k) +void FixQEqReaxFFOMP::vector_add(double* dest, double c, double* v, int k) { int i; @@ -627,7 +627,7 @@ void FixQEqReaxOMP::vector_add(double* dest, double c, double* v, int k) /* dual CG support */ /* ---------------------------------------------------------------------- */ -int FixQEqReaxOMP::dual_CG(double *b1, double *b2, double *x1, double *x2) +int FixQEqReaxFFOMP::dual_CG(double *b1, double *b2, double *x1, double *x2) { int i; double alpha_s, alpha_t, beta_s, beta_t, b_norm_s, b_norm_t; @@ -791,7 +791,7 @@ int FixQEqReaxOMP::dual_CG(double *b1, double *b2, double *x1, double *x2) } if ((i >= imax) && maxwarn && (comm->me == 0)) - error->warning(FLERR,fmt::format("Fix qeq/reax/omp CG convergence failed " + error->warning(FLERR,fmt::format("Fix qeq/reaxff/omp CG convergence failed " "after {} iterations at step {}", i,update->ntimestep)); return matvecs_s + matvecs_t; @@ -799,7 +799,7 @@ int FixQEqReaxOMP::dual_CG(double *b1, double *b2, double *x1, double *x2) /* ---------------------------------------------------------------------- */ -void FixQEqReaxOMP::dual_sparse_matvec(sparse_matrix *A, double *x1, double *x2, double *b) +void FixQEqReaxFFOMP::dual_sparse_matvec(sparse_matrix *A, double *x1, double *x2, double *b) { #if defined(_OPENMP) #pragma omp parallel default(shared) @@ -890,7 +890,7 @@ void FixQEqReaxOMP::dual_sparse_matvec(sparse_matrix *A, double *x1, double *x2, /* ---------------------------------------------------------------------- */ -void FixQEqReaxOMP::dual_sparse_matvec(sparse_matrix *A, double *x, double *b) +void FixQEqReaxFFOMP::dual_sparse_matvec(sparse_matrix *A, double *x, double *b) { #if defined(_OPENMP) #pragma omp parallel default(shared) diff --git a/src/OPENMP/fix_qeq_reax_omp.h b/src/OPENMP/fix_qeq_reaxff_omp.h similarity index 84% rename from src/OPENMP/fix_qeq_reax_omp.h rename to src/OPENMP/fix_qeq_reaxff_omp.h index 62855a6f78..b99034edf0 100644 --- a/src/OPENMP/fix_qeq_reax_omp.h +++ b/src/OPENMP/fix_qeq_reaxff_omp.h @@ -13,22 +13,23 @@ #ifdef FIX_CLASS // clang-format off -FixStyle(qeq/reax/omp,FixQEqReaxOMP); +FixStyle(qeq/reaxff/omp,FixQEqReaxFFOMP); +FixStyle(qeq/reax/omp,FixQEqReaxFFOMP); // clang-format on #else -#ifndef LMP_FIX_QEQ_REAX_OMP_H -#define LMP_FIX_QEQ_REAX_OMP_H +#ifndef LMP_FIX_QEQ_REAXFF_OMP_H +#define LMP_FIX_QEQ_REAXFF_OMP_H -#include "fix_qeq_reax.h" +#include "fix_qeq_reaxff.h" namespace LAMMPS_NS { -class FixQEqReaxOMP : public FixQEqReax { +class FixQEqReaxFFOMP : public FixQEqReaxFF { public: - FixQEqReaxOMP(class LAMMPS *, int, char **); - ~FixQEqReaxOMP(); + FixQEqReaxFFOMP(class LAMMPS *, int, char **); + ~FixQEqReaxFFOMP(); virtual void init(); virtual void init_storage(); virtual void pre_force(int); diff --git a/src/OPENMP/pair_reaxc_omp.cpp b/src/OPENMP/pair_reaxff_omp.cpp similarity index 88% rename from src/OPENMP/pair_reaxc_omp.cpp rename to src/OPENMP/pair_reaxff_omp.cpp index b65c9a391f..48fa9e8312 100644 --- a/src/OPENMP/pair_reaxc_omp.cpp +++ b/src/OPENMP/pair_reaxff_omp.cpp @@ -17,14 +17,14 @@ Hasan Metin Aktulga, Michigan State University, hma@cse.msu.edu Per-atom energy/virial added by Ray Shan (Materials Design, Inc.) - Fix reax/c/bonds and fix reax/c/species for pair_style reax/c added + Fix reaxff/bonds and fix reaxff/species for pair_style reaxff added by Ray Shan (Materials Design) - OpenMP based threading support for pair_style reax/c/omp added + OpenMP based threading support for pair_style reaxff/omp added by Hasan Metin Aktulga (MSU), Chris Knight (ALCF), Paul Coffman (ALCF), Kurt O'Hearn (MSU), Ray Shan (Materials Design), Wei Jiang (ALCF) - Integration of the pair_style reax/c/omp into the OPENMP package + Integration of the pair_style reaxff/omp into the OPENMP package by Axel Kohlmeyer (Temple U.) Please cite the related publication: @@ -34,13 +34,13 @@ High Performance Computing Applications, to appear. ------------------------------------------------------------------------- */ -#include "pair_reaxc_omp.h" +#include "pair_reaxff_omp.h" #include "atom.h" #include "citeme.h" #include "comm.h" #include "error.h" -#include "fix_reaxc.h" +#include "fix_reaxff.h" #include "force.h" #include "memory.h" #include "modify.h" @@ -62,8 +62,8 @@ using namespace LAMMPS_NS; using namespace ReaxFF; -static const char cite_pair_reax_c_omp[] = - "pair reax/c/omp and fix qeq/reax/omp command:\n\n" +static const char cite_pair_reaxff_omp[] = + "pair reaxff/omp and fix qeq/reaxff/omp command:\n\n" "@Article{Aktulga17,\n" " author = {H. M. Aktulga, C. Knight, P. Coffman, K. A. OHearn, T. R. Shan, W. Jiang},\n" " title = {Optimizing the performance of reactive molecular dynamics simulations for multi-core architectures},\n" @@ -73,9 +73,9 @@ static const char cite_pair_reax_c_omp[] = /* ---------------------------------------------------------------------- */ -PairReaxCOMP::PairReaxCOMP(LAMMPS *lmp) : PairReaxC(lmp), ThrOMP(lmp, THR_PAIR) +PairReaxFFOMP::PairReaxFFOMP(LAMMPS *lmp) : PairReaxFF(lmp), ThrOMP(lmp, THR_PAIR) { - if (lmp->citeme) lmp->citeme->add(cite_pair_reax_c_omp); + if (lmp->citeme) lmp->citeme->add(cite_pair_reaxff_omp); suffix_flag |= Suffix::OMP; api->system->pair_ptr = this; @@ -86,7 +86,7 @@ PairReaxCOMP::PairReaxCOMP(LAMMPS *lmp) : PairReaxC(lmp), ThrOMP(lmp, THR_PAIR) /* ---------------------------------------------------------------------- */ -PairReaxCOMP::~PairReaxCOMP() +PairReaxFFOMP::~PairReaxFFOMP() { if (setup_flag) { reax_list * bonds = api->lists+BONDS; @@ -98,15 +98,15 @@ PairReaxCOMP::~PairReaxCOMP() /* ---------------------------------------------------------------------- */ -void PairReaxCOMP::init_style() +void PairReaxFFOMP::init_style() { if (!atom->q_flag) - error->all(FLERR,"Pair style reax/c/omp requires atom attribute q"); + error->all(FLERR,"Pair style reaxff/omp requires atom attribute q"); bool have_qeq = ((modify->find_fix_by_style("^qeq/reax") != -1) || (modify->find_fix_by_style("^qeq/shielded") != -1)); if (!have_qeq && qeqflag == 1) - error->all(FLERR,"Pair reax/c requires use of fix qeq/reax or qeq/shielded"); + error->all(FLERR,"Pair reaxff/omp requires use of fix qeq/reaxff or qeq/shielded"); api->system->n = atom->nlocal; // my atoms api->system->N = atom->nlocal + atom->nghost; // mine + ghosts @@ -114,14 +114,14 @@ void PairReaxCOMP::init_style() api->system->wsize = comm->nprocs; if (atom->tag_enable == 0) - error->all(FLERR,"Pair style reax/c/omp requires atom IDs"); + error->all(FLERR,"Pair style reaxff/omp requires atom IDs"); if (force->newton_pair == 0) - error->all(FLERR,"Pair style reax/c/omp requires newton pair on"); + error->all(FLERR,"Pair style reaxff/omp requires newton pair on"); // because system->bigN is an int, we cannot have more atoms than MAXSMALLINT if (atom->natoms > MAXSMALLINT) - error->all(FLERR,"Too many atoms for pair style reax/c/omp"); + error->all(FLERR,"Too many atoms for pair style reaxff/omp"); // need a half neighbor list w/ Newton off and ghost neighbors // built whenever re-neighboring occurs @@ -135,9 +135,9 @@ void PairReaxCOMP::init_style() error->warning(FLERR,"Total cutoff < 2*bond cutoff. May need to use an " "increased neighbor list skin."); - if (fix_reax == nullptr) { - modify->add_fix(fmt::format("{} all REAXC",fix_id)); - fix_reax = (FixReaxC *) modify->fix[modify->nfix-1]; + if (fix_reaxff == nullptr) { + modify->add_fix(fmt::format("{} all REAXFF",fix_id)); + fix_reaxff = (FixReaxFF *) modify->fix[modify->nfix-1]; } api->control->nthreads = comm->nthreads; @@ -145,7 +145,7 @@ void PairReaxCOMP::init_style() /* ---------------------------------------------------------------------- */ -void PairReaxCOMP::setup() +void PairReaxFFOMP::setup() { int oldN; int mincap = api->system->mincap; @@ -166,8 +166,8 @@ void PairReaxCOMP::setup() setup_flag = 1; - int *num_bonds = fix_reax->num_bonds; - int *num_hbonds = fix_reax->num_hbonds; + int *num_bonds = fix_reaxff->num_bonds; + int *num_hbonds = fix_reaxff->num_hbonds; // determine the local and total capacity @@ -183,7 +183,7 @@ void PairReaxCOMP::setup() int num_nbrs = estimate_reax_lists(); if (num_nbrs < 0) - error->all(FLERR,"Too many neighbors for pair style reax/c"); + error->all(FLERR,"Too many neighbors for pair style reaxff"); Make_List(api->system->total_cap,num_nbrs,TYP_FAR_NEIGHBOR,api->lists+FAR_NBRS); (api->lists+FAR_NBRS)->error_ptr=error; @@ -219,16 +219,16 @@ void PairReaxCOMP::setup() /* ---------------------------------------------------------------------- */ -void PairReaxCOMP::compute(int eflag, int vflag) +void PairReaxFFOMP::compute(int eflag, int vflag) { double evdwl,ecoul; // communicate num_bonds once every reneighboring // 2 num arrays stored by fix, grab ptr to them - if (neighbor->ago == 0) comm->forward_comm_fix(fix_reax); - int *num_bonds = fix_reax->num_bonds; - int *num_hbonds = fix_reax->num_hbonds; + if (neighbor->ago == 0) comm->forward_comm_fix(fix_reaxff); + int *num_bonds = fix_reaxff->num_bonds; + int *num_hbonds = fix_reaxff->num_hbonds; evdwl = ecoul = 0.0; ev_init(eflag,vflag); @@ -304,7 +304,7 @@ void PairReaxCOMP::compute(int eflag, int vflag) api->data->step = update->ntimestep; - // populate tmpid and tmpbo arrays for fix reax/c/species + // populate tmpid and tmpbo arrays for fix reaxff/species if (fixspecies_flag) { if (api->system->N > nmax) { @@ -330,10 +330,10 @@ void PairReaxCOMP::compute(int eflag, int vflag) /* ---------------------------------------------------------------------- */ -void PairReaxCOMP::write_reax_atoms() +void PairReaxFFOMP::write_reax_atoms() { - int *num_bonds = fix_reax->num_bonds; - int *num_hbonds = fix_reax->num_hbonds; + int *num_bonds = fix_reaxff->num_bonds; + int *num_hbonds = fix_reaxff->num_hbonds; if (api->system->N > api->system->total_cap) error->all(FLERR,"Too many ghost atoms"); @@ -355,7 +355,7 @@ void PairReaxCOMP::write_reax_atoms() /* ---------------------------------------------------------------------- */ -int PairReaxCOMP::estimate_reax_lists() +int PairReaxFFOMP::estimate_reax_lists() { int i; int *ilist = list->ilist; @@ -384,7 +384,7 @@ int PairReaxCOMP::estimate_reax_lists() /* ---------------------------------------------------------------------- */ -int PairReaxCOMP::write_reax_lists() +int PairReaxFFOMP::write_reax_lists() { int itr_i, itr_j, i, j, num_mynbrs; int *jlist; @@ -450,7 +450,7 @@ int PairReaxCOMP::write_reax_lists() /* ---------------------------------------------------------------------- */ -void PairReaxCOMP::read_reax_forces(int /* vflag */) +void PairReaxFFOMP::read_reax_forces(int /* vflag */) { #if defined(_OPENMP) #pragma omp parallel for schedule(static) default(shared) @@ -468,7 +468,7 @@ void PairReaxCOMP::read_reax_forces(int /* vflag */) /* ---------------------------------------------------------------------- */ -void PairReaxCOMP::FindBond() +void PairReaxFFOMP::FindBond() { const double bo_cut = 0.10; @@ -492,7 +492,7 @@ void PairReaxCOMP::FindBond() tmpid[i][nj] = j; tmpbo[i][nj] = bo_tmp; nj ++; - if (nj > MAXSPECBOND) error->all(FLERR,"Increase MAXSPECBOND in fix_reaxc_species.h"); + if (nj > MAXSPECBOND) error->all(FLERR,"Increase MAXSPECBOND in fix_reaxff_species.h"); } } } diff --git a/src/OPENMP/pair_reaxc_omp.h b/src/OPENMP/pair_reaxff_omp.h similarity index 92% rename from src/OPENMP/pair_reaxc_omp.h rename to src/OPENMP/pair_reaxff_omp.h index 81d1c35b0e..cced5861be 100644 --- a/src/OPENMP/pair_reaxc_omp.h +++ b/src/OPENMP/pair_reaxff_omp.h @@ -13,22 +13,23 @@ #ifdef PAIR_CLASS // clang-format off -PairStyle(reax/c/omp,PairReaxCOMP); +PairStyle(reaxff/omp,PairReaxFFOMP); +PairStyle(reax/c/omp,PairReaxFFOMP); // clang-format on #else -#ifndef LMP_PAIR_REAXC_OMP_H -#define LMP_PAIR_REAXC_OMP_H +#ifndef LMP_PAIR_REAXFF_OMP_H +#define LMP_PAIR_REAXFF_OMP_H -#include "pair_reaxc.h" +#include "pair_reaxff.h" #include "thr_omp.h" namespace LAMMPS_NS { -class PairReaxCOMP : public PairReaxC, public ThrOMP { +class PairReaxFFOMP : public PairReaxFF, public ThrOMP { public: - PairReaxCOMP(class LAMMPS *); - ~PairReaxCOMP(); + PairReaxFFOMP(class LAMMPS *); + ~PairReaxFFOMP(); virtual void compute(int, int); virtual void init_style(); @@ -120,7 +121,7 @@ class PairReaxCOMP : public PairReaxC, public ThrOMP { E: Too many ghost atoms Number of ghost atoms has increased too much during simulation and has exceeded -the size of reax/c arrays. Increase safe_zone and min_cap in pair_style reax/c +the size of reaxff arrays. Increase safe_zone and min_cap in pair_style reaxff command */ diff --git a/src/OPENMP/reaxc_bond_orders_omp.cpp b/src/OPENMP/reaxff_bond_orders_omp.cpp similarity index 98% rename from src/OPENMP/reaxc_bond_orders_omp.cpp rename to src/OPENMP/reaxff_bond_orders_omp.cpp index 3e419792d9..2fe68280d1 100644 --- a/src/OPENMP/reaxc_bond_orders_omp.cpp +++ b/src/OPENMP/reaxff_bond_orders_omp.cpp @@ -29,7 +29,7 @@ #include "reaxff_omp.h" #include "fix_omp.h" -#include "pair_reaxc_omp.h" +#include "pair_reaxff_omp.h" #include "reaxff_api.h" #include @@ -45,7 +45,7 @@ namespace ReaxFF { dbond_coefficients coef; int pk, k, j; - PairReaxCOMP *pair_reax_ptr = static_cast(system->pair_ptr); + PairReaxFFOMP *pair_reax_ptr = static_cast(system->pair_ptr); int tid = get_tid(); ThrData *thr = pair_reax_ptr->getFixOMP()->get_thr(tid); @@ -173,7 +173,7 @@ namespace ReaxFF { j = nbr_pj->nbr; rr2 = 1.0 / SQR(nbr_pj->d); - // Top portion of BOp() moved to reaxc_forces_omp.cpp::Init_Forces_noQEq_OMP() + // Top portion of BOp() moved to reaxff_forces_omp.cpp::Init_Forces_noQEq_OMP() /* Initially BO values are the uncorrected ones, page 1 */ diff --git a/src/OPENMP/reaxc_bonds_omp.cpp b/src/OPENMP/reaxff_bonds_omp.cpp similarity index 97% rename from src/OPENMP/reaxc_bonds_omp.cpp rename to src/OPENMP/reaxff_bonds_omp.cpp index 784af432cc..1a97f2a6af 100644 --- a/src/OPENMP/reaxc_bonds_omp.cpp +++ b/src/OPENMP/reaxff_bonds_omp.cpp @@ -28,7 +28,7 @@ #include "reaxff_omp.h" #include "fix_omp.h" -#include "pair_reaxc_omp.h" +#include "pair_reaxff_omp.h" #include "reaxff_api.h" #include @@ -67,8 +67,8 @@ namespace ReaxFF { int tid = get_tid(); long reductionOffset = (system->N * tid); - class PairReaxCOMP *pair_reax_ptr; - pair_reax_ptr = static_cast(system->pair_ptr); + class PairReaxFFOMP *pair_reax_ptr; + pair_reax_ptr = static_cast(system->pair_ptr); class ThrData *thr = pair_reax_ptr->getFixOMP()->get_thr(tid); pair_reax_ptr->ev_setup_thr_proxy(system->pair_ptr->eflag_either, diff --git a/src/OPENMP/reaxc_forces_omp.cpp b/src/OPENMP/reaxff_forces_omp.cpp similarity index 99% rename from src/OPENMP/reaxc_forces_omp.cpp rename to src/OPENMP/reaxff_forces_omp.cpp index 26f36f1357..77106a5e44 100644 --- a/src/OPENMP/reaxc_forces_omp.cpp +++ b/src/OPENMP/reaxff_forces_omp.cpp @@ -31,7 +31,7 @@ #include "error.h" #include "fix_omp.h" -#include "pair_reaxc_omp.h" +#include "pair_reaxff_omp.h" #include "reaxff_api.h" @@ -90,8 +90,8 @@ namespace ReaxFF { int tid = get_tid(); bond_order_data *bo_jk; - class PairReaxCOMP *pair_reax_ptr; - pair_reax_ptr = static_cast(system->pair_ptr); + class PairReaxFFOMP *pair_reax_ptr; + pair_reax_ptr = static_cast(system->pair_ptr); class ThrData *thr = pair_reax_ptr->getFixOMP()->get_thr(tid); pair_reax_ptr->ev_setup_thr_proxy(0, 1, natoms, system->pair_ptr->eatom, diff --git a/src/OPENMP/reaxc_hydrogen_bonds_omp.cpp b/src/OPENMP/reaxff_hydrogen_bonds_omp.cpp similarity index 98% rename from src/OPENMP/reaxc_hydrogen_bonds_omp.cpp rename to src/OPENMP/reaxff_hydrogen_bonds_omp.cpp index 1b174aef81..64bbbf56b1 100644 --- a/src/OPENMP/reaxc_hydrogen_bonds_omp.cpp +++ b/src/OPENMP/reaxff_hydrogen_bonds_omp.cpp @@ -30,7 +30,7 @@ #include "reaxff_omp.h" #include "fix_omp.h" -#include "pair_reaxc_omp.h" +#include "pair_reaxff_omp.h" #include "reaxff_api.h" @@ -87,8 +87,8 @@ namespace ReaxFF { long reductionOffset = (system->N * tid); - class PairReaxCOMP *pair_reax_ptr; - pair_reax_ptr = static_cast(system->pair_ptr); + class PairReaxFFOMP *pair_reax_ptr; + pair_reax_ptr = static_cast(system->pair_ptr); class ThrData *thr = pair_reax_ptr->getFixOMP()->get_thr(tid); diff --git a/src/OPENMP/reaxc_init_md_omp.cpp b/src/OPENMP/reaxff_init_md_omp.cpp similarity index 100% rename from src/OPENMP/reaxc_init_md_omp.cpp rename to src/OPENMP/reaxff_init_md_omp.cpp diff --git a/src/OPENMP/reaxc_multi_body_omp.cpp b/src/OPENMP/reaxff_multi_body_omp.cpp similarity index 98% rename from src/OPENMP/reaxc_multi_body_omp.cpp rename to src/OPENMP/reaxff_multi_body_omp.cpp index 6b7a7c76f4..17b93d7487 100644 --- a/src/OPENMP/reaxc_multi_body_omp.cpp +++ b/src/OPENMP/reaxff_multi_body_omp.cpp @@ -30,7 +30,7 @@ #include "reaxff_omp.h" #include "fix_omp.h" -#include "pair_reaxc_omp.h" +#include "pair_reaxff_omp.h" #include "reaxff_api.h" @@ -84,8 +84,8 @@ namespace ReaxFF { int tid = get_tid(); long reductionOffset = (system->N * tid); - class PairReaxCOMP *pair_reax_ptr; - pair_reax_ptr = static_cast(system->pair_ptr); + class PairReaxFFOMP *pair_reax_ptr; + pair_reax_ptr = static_cast(system->pair_ptr); class ThrData *thr = pair_reax_ptr->getFixOMP()->get_thr(tid); #if defined(_OPENMP) diff --git a/src/OPENMP/reaxc_nonbonded_omp.cpp b/src/OPENMP/reaxff_nonbonded_omp.cpp similarity index 97% rename from src/OPENMP/reaxc_nonbonded_omp.cpp rename to src/OPENMP/reaxff_nonbonded_omp.cpp index 595731b005..a57542f550 100644 --- a/src/OPENMP/reaxc_nonbonded_omp.cpp +++ b/src/OPENMP/reaxff_nonbonded_omp.cpp @@ -29,7 +29,7 @@ #include "reaxff_omp.h" -#include "pair_reaxc_omp.h" +#include "pair_reaxff_omp.h" #include "reaxff_api.h" #include @@ -72,8 +72,8 @@ namespace ReaxFF { long reductionOffset = (system->N * tid); - class PairReaxCOMP *pair_reax_ptr; - pair_reax_ptr = static_cast(system->pair_ptr); + class PairReaxFFOMP *pair_reax_ptr; + pair_reax_ptr = static_cast(system->pair_ptr); class ThrData *thr = pair_reax_ptr->getFixOMP()->get_thr(tid); e_core = 0; @@ -254,8 +254,8 @@ namespace ReaxFF { long froffset = (system->N * tid); LR_lookup_table ** & LR = system->LR; - class PairReaxCOMP *pair_reax_ptr; - pair_reax_ptr = static_cast(system->pair_ptr); + class PairReaxFFOMP *pair_reax_ptr; + pair_reax_ptr = static_cast(system->pair_ptr); class ThrData *thr = pair_reax_ptr->getFixOMP()->get_thr(tid); #if defined(_OPENMP) diff --git a/src/OPENMP/reaxc_torsion_angles_omp.cpp b/src/OPENMP/reaxff_torsion_angles_omp.cpp similarity index 99% rename from src/OPENMP/reaxc_torsion_angles_omp.cpp rename to src/OPENMP/reaxff_torsion_angles_omp.cpp index 83f49e96de..648603b143 100644 --- a/src/OPENMP/reaxc_torsion_angles_omp.cpp +++ b/src/OPENMP/reaxff_torsion_angles_omp.cpp @@ -30,7 +30,7 @@ #include "reaxff_omp.h" #include "fix_omp.h" -#include "pair_reaxc_omp.h" +#include "pair_reaxff_omp.h" #include "reaxff_api.h" #include @@ -100,8 +100,8 @@ namespace ReaxFF { int tid = get_tid(); long reductionOffset = (system->N * tid); - class PairReaxCOMP *pair_reax_ptr; - pair_reax_ptr = static_cast(system->pair_ptr); + class PairReaxFFOMP *pair_reax_ptr; + pair_reax_ptr = static_cast(system->pair_ptr); class ThrData *thr = pair_reax_ptr->getFixOMP()->get_thr(tid); #if defined(_OPENMP) diff --git a/src/OPENMP/reaxc_valence_angles_omp.cpp b/src/OPENMP/reaxff_valence_angles_omp.cpp similarity index 99% rename from src/OPENMP/reaxc_valence_angles_omp.cpp rename to src/OPENMP/reaxff_valence_angles_omp.cpp index ed457c96fe..423b6336df 100644 --- a/src/OPENMP/reaxc_valence_angles_omp.cpp +++ b/src/OPENMP/reaxff_valence_angles_omp.cpp @@ -31,7 +31,7 @@ #include "error.h" #include "fix_omp.h" -#include "pair_reaxc_omp.h" +#include "pair_reaxff_omp.h" #include "reaxff_api.h" #include @@ -154,8 +154,8 @@ namespace ReaxFF { int tid = get_tid(); long reductionOffset = (system->N * tid); - class PairReaxCOMP *pair_reax_ptr; - pair_reax_ptr = static_cast(system->pair_ptr); + class PairReaxFFOMP *pair_reax_ptr; + pair_reax_ptr = static_cast(system->pair_ptr); class ThrData *thr = pair_reax_ptr->getFixOMP()->get_thr(tid); // Run through a minimal for (jpair_match("^reax/c",0); - if (pair == nullptr) error->all(FLERR,"No pair reax/c for fix qeq/shielded"); + Pair *pair = force->pair_match("^reax..",0); + if (pair == nullptr) error->all(FLERR,"No pair reaxff for fix qeq/shielded"); int tmp; chi = (double *) pair->extract("chi",tmp); eta = (double *) pair->extract("eta",tmp); gamma = (double *) pair->extract("gamma",tmp); if (chi == nullptr || eta == nullptr || gamma == nullptr) - error->all(FLERR, - "Fix qeq/slater could not extract params from pair reax/c"); + error->all(FLERR, "Fix qeq/shielded could not extract params from pair reaxff"); } diff --git a/src/REAXFF/README b/src/REAXFF/README index 485a56785e..528b782932 100644 --- a/src/REAXFF/README +++ b/src/REAXFF/README @@ -4,16 +4,6 @@ represent the contributions of chemical bonding to the potential energy. It was originally developed by Adri van Duin and the Goddard group at CalTech. -The REAXFF version of ReaxFF (pair_style reax/c), implemented in -C, should give identical or very similar results to pair_style reax, -which is a ReaxFF implementation on top of a Fortran library, a -version of which library was originally authored by Adri van Duin. - -The reax/c version should be somewhat faster and more scalable, -particularly with respect to the charge equilibration calculation. It -should also be easier to build and use since there are no complicating -issues with Fortran memory allocation or linking to a Fortran library. - For technical details about this implementation of ReaxFF, see this paper: @@ -21,7 +11,7 @@ Parallel and Scalable Reactive Molecular Dynamics: Numerical Methods and Algorithmic Techniques, H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama, Parallel Computing, in press (2011). -See the doc page for the pair_style reax/c command for details +See the doc page for the pair_style reaxff command for details of how to use it in LAMMPS. The person who created this package is Hasan Metin Aktulga (hmaktulga diff --git a/src/REAXFF/compute_spec_atom.cpp b/src/REAXFF/compute_spec_atom.cpp index 1381f2cf96..66886cd1e2 100644 --- a/src/REAXFF/compute_spec_atom.cpp +++ b/src/REAXFF/compute_spec_atom.cpp @@ -13,13 +13,15 @@ ------------------------------------------------------------------------- */ #include "compute_spec_atom.h" -#include + #include "atom.h" -#include "update.h" +#include "error.h" #include "force.h" #include "memory.h" -#include "error.h" -#include "pair_reaxc.h" +#include "pair_reaxff.h" +#include "update.h" + +#include using namespace LAMMPS_NS; @@ -30,15 +32,15 @@ enum{KEYWORD,COMPUTE,FIX,VARIABLE}; ComputeSpecAtom::ComputeSpecAtom(LAMMPS *lmp, int narg, char **arg) : Compute(lmp, narg, arg) { - if (narg < 4) error->all(FLERR,"Illegal compute reax/c/atom command"); + if (narg < 4) error->all(FLERR,"Illegal compute spec/atom command"); peratom_flag = 1; nvalues = narg - 3; if (nvalues == 1) size_peratom_cols = 0; else size_peratom_cols = nvalues; - // Initiate reaxc - reaxc = (PairReaxC *) force->pair_match("reax/c",0); + // get reference to ReaxFF pair style + reaxff = (PairReaxFF *) force->pair_match("^reax..",0); pack_choice = new FnPtrPack[nvalues]; @@ -64,7 +66,7 @@ ComputeSpecAtom::ComputeSpecAtom(LAMMPS *lmp, int narg, char **arg) : } else if (strcmp(arg[iarg],"vz") == 0) { pack_choice[i] = &ComputeSpecAtom::pack_vz; - // from pair_reaxc + // from pair_reaxff } else if (strcmp(arg[iarg],"abo01") == 0) { pack_choice[i] = &ComputeSpecAtom::pack_abo01; } else if (strcmp(arg[iarg],"abo02") == 0) { @@ -114,7 +116,7 @@ ComputeSpecAtom::ComputeSpecAtom(LAMMPS *lmp, int narg, char **arg) : } else if (strcmp(arg[iarg],"abo24") == 0) { pack_choice[i] = &ComputeSpecAtom::pack_abo24; - } else error->all(FLERR,"Invalid keyword in compute reax/c/atom command"); + } else error->all(FLERR,"Invalid keyword in compute spec/atom command"); } nmax = 0; @@ -310,7 +312,7 @@ void ComputeSpecAtom::pack_abo01(int n) int nlocal = atom->nlocal; for (int i = 0; i < nlocal; i++) { - if (mask[i] & groupbit) buf[n] = reaxc->tmpbo[i][0]; + if (mask[i] & groupbit) buf[n] = reaxff->tmpbo[i][0]; else buf[n] = 0.0; n += nvalues; } @@ -324,7 +326,7 @@ void ComputeSpecAtom::pack_abo02(int n) int nlocal = atom->nlocal; for (int i = 0; i < nlocal; i++) { - if (mask[i] & groupbit) buf[n] = reaxc->tmpbo[i][1]; + if (mask[i] & groupbit) buf[n] = reaxff->tmpbo[i][1]; else buf[n] = 0.0; n += nvalues; } @@ -338,7 +340,7 @@ void ComputeSpecAtom::pack_abo03(int n) int nlocal = atom->nlocal; for (int i = 0; i < nlocal; i++) { - if (mask[i] & groupbit) buf[n] = reaxc->tmpbo[i][2]; + if (mask[i] & groupbit) buf[n] = reaxff->tmpbo[i][2]; else buf[n] = 0.0; n += nvalues; } @@ -352,7 +354,7 @@ void ComputeSpecAtom::pack_abo04(int n) int nlocal = atom->nlocal; for (int i = 0; i < nlocal; i++) { - if (mask[i] & groupbit) buf[n] = reaxc->tmpbo[i][3]; + if (mask[i] & groupbit) buf[n] = reaxff->tmpbo[i][3]; else buf[n] = 0.0; n += nvalues; } @@ -366,7 +368,7 @@ void ComputeSpecAtom::pack_abo05(int n) int nlocal = atom->nlocal; for (int i = 0; i < nlocal; i++) { - if (mask[i] & groupbit) buf[n] = reaxc->tmpbo[i][4]; + if (mask[i] & groupbit) buf[n] = reaxff->tmpbo[i][4]; else buf[n] = 0.0; n += nvalues; } @@ -380,7 +382,7 @@ void ComputeSpecAtom::pack_abo06(int n) int nlocal = atom->nlocal; for (int i = 0; i < nlocal; i++) { - if (mask[i] & groupbit) buf[n] = reaxc->tmpbo[i][5]; + if (mask[i] & groupbit) buf[n] = reaxff->tmpbo[i][5]; else buf[n] = 0.0; n += nvalues; } @@ -394,7 +396,7 @@ void ComputeSpecAtom::pack_abo07(int n) int nlocal = atom->nlocal; for (int i = 0; i < nlocal; i++) { - if (mask[i] & groupbit) buf[n] = reaxc->tmpbo[i][6]; + if (mask[i] & groupbit) buf[n] = reaxff->tmpbo[i][6]; else buf[n] = 0.0; n += nvalues; } @@ -408,7 +410,7 @@ void ComputeSpecAtom::pack_abo08(int n) int nlocal = atom->nlocal; for (int i = 0; i < nlocal; i++) { - if (mask[i] & groupbit) buf[n] = reaxc->tmpbo[i][7]; + if (mask[i] & groupbit) buf[n] = reaxff->tmpbo[i][7]; else buf[n] = 0.0; n += nvalues; } @@ -422,7 +424,7 @@ void ComputeSpecAtom::pack_abo09(int n) int nlocal = atom->nlocal; for (int i = 0; i < nlocal; i++) { - if (mask[i] & groupbit) buf[n] = reaxc->tmpbo[i][8]; + if (mask[i] & groupbit) buf[n] = reaxff->tmpbo[i][8]; else buf[n] = 0.0; n += nvalues; } @@ -436,7 +438,7 @@ void ComputeSpecAtom::pack_abo10(int n) int nlocal = atom->nlocal; for (int i = 0; i < nlocal; i++) { - if (mask[i] & groupbit) buf[n] = reaxc->tmpbo[i][9]; + if (mask[i] & groupbit) buf[n] = reaxff->tmpbo[i][9]; else buf[n] = 0.0; n += nvalues; } @@ -450,7 +452,7 @@ void ComputeSpecAtom::pack_abo11(int n) int nlocal = atom->nlocal; for (int i = 0; i < nlocal; i++) { - if (mask[i] & groupbit) buf[n] = reaxc->tmpbo[i][10]; + if (mask[i] & groupbit) buf[n] = reaxff->tmpbo[i][10]; else buf[n] = 0.0; n += nvalues; } @@ -464,7 +466,7 @@ void ComputeSpecAtom::pack_abo12(int n) int nlocal = atom->nlocal; for (int i = 0; i < nlocal; i++) { - if (mask[i] & groupbit) buf[n] = reaxc->tmpbo[i][11]; + if (mask[i] & groupbit) buf[n] = reaxff->tmpbo[i][11]; else buf[n] = 0.0; n += nvalues; } @@ -478,7 +480,7 @@ void ComputeSpecAtom::pack_abo13(int n) int nlocal = atom->nlocal; for (int i = 0; i < nlocal; i++) { - if (mask[i] & groupbit) buf[n] = reaxc->tmpbo[i][12]; + if (mask[i] & groupbit) buf[n] = reaxff->tmpbo[i][12]; else buf[n] = 0.0; n += nvalues; } @@ -492,7 +494,7 @@ void ComputeSpecAtom::pack_abo14(int n) int nlocal = atom->nlocal; for (int i = 0; i < nlocal; i++) { - if (mask[i] & groupbit) buf[n] = reaxc->tmpbo[i][13]; + if (mask[i] & groupbit) buf[n] = reaxff->tmpbo[i][13]; else buf[n] = 0.0; n += nvalues; } @@ -506,7 +508,7 @@ void ComputeSpecAtom::pack_abo15(int n) int nlocal = atom->nlocal; for (int i = 0; i < nlocal; i++) { - if (mask[i] & groupbit) buf[n] = reaxc->tmpbo[i][14]; + if (mask[i] & groupbit) buf[n] = reaxff->tmpbo[i][14]; else buf[n] = 0.0; n += nvalues; } @@ -520,7 +522,7 @@ void ComputeSpecAtom::pack_abo16(int n) int nlocal = atom->nlocal; for (int i = 0; i < nlocal; i++) { - if (mask[i] & groupbit) buf[n] = reaxc->tmpbo[i][15]; + if (mask[i] & groupbit) buf[n] = reaxff->tmpbo[i][15]; else buf[n] = 0.0; n += nvalues; } @@ -534,7 +536,7 @@ void ComputeSpecAtom::pack_abo17(int n) int nlocal = atom->nlocal; for (int i = 0; i < nlocal; i++) { - if (mask[i] & groupbit) buf[n] = reaxc->tmpbo[i][16]; + if (mask[i] & groupbit) buf[n] = reaxff->tmpbo[i][16]; else buf[n] = 0.0; n += nvalues; } @@ -548,7 +550,7 @@ void ComputeSpecAtom::pack_abo18(int n) int nlocal = atom->nlocal; for (int i = 0; i < nlocal; i++) { - if (mask[i] & groupbit) buf[n] = reaxc->tmpbo[i][17]; + if (mask[i] & groupbit) buf[n] = reaxff->tmpbo[i][17]; else buf[n] = 0.0; n += nvalues; } @@ -562,7 +564,7 @@ void ComputeSpecAtom::pack_abo19(int n) int nlocal = atom->nlocal; for (int i = 0; i < nlocal; i++) { - if (mask[i] & groupbit) buf[n] = reaxc->tmpbo[i][18]; + if (mask[i] & groupbit) buf[n] = reaxff->tmpbo[i][18]; else buf[n] = 0.0; n += nvalues; } @@ -576,7 +578,7 @@ void ComputeSpecAtom::pack_abo20(int n) int nlocal = atom->nlocal; for (int i = 0; i < nlocal; i++) { - if (mask[i] & groupbit) buf[n] = reaxc->tmpbo[i][19]; + if (mask[i] & groupbit) buf[n] = reaxff->tmpbo[i][19]; else buf[n] = 0.0; n += nvalues; } @@ -590,7 +592,7 @@ void ComputeSpecAtom::pack_abo21(int n) int nlocal = atom->nlocal; for (int i = 0; i < nlocal; i++) { - if (mask[i] & groupbit) buf[n] = reaxc->tmpbo[i][20]; + if (mask[i] & groupbit) buf[n] = reaxff->tmpbo[i][20]; else buf[n] = 0.0; n += nvalues; } @@ -604,7 +606,7 @@ void ComputeSpecAtom::pack_abo22(int n) int nlocal = atom->nlocal; for (int i = 0; i < nlocal; i++) { - if (mask[i] & groupbit) buf[n] = reaxc->tmpbo[i][21]; + if (mask[i] & groupbit) buf[n] = reaxff->tmpbo[i][21]; else buf[n] = 0.0; n += nvalues; } @@ -618,7 +620,7 @@ void ComputeSpecAtom::pack_abo23(int n) int nlocal = atom->nlocal; for (int i = 0; i < nlocal; i++) { - if (mask[i] & groupbit) buf[n] = reaxc->tmpbo[i][22]; + if (mask[i] & groupbit) buf[n] = reaxff->tmpbo[i][22]; else buf[n] = 0.0; n += nvalues; } @@ -632,7 +634,7 @@ void ComputeSpecAtom::pack_abo24(int n) int nlocal = atom->nlocal; for (int i = 0; i < nlocal; i++) { - if (mask[i] & groupbit) buf[n] = reaxc->tmpbo[i][23]; + if (mask[i] & groupbit) buf[n] = reaxff->tmpbo[i][23]; else buf[n] = 0.0; n += nvalues; } diff --git a/src/REAXFF/compute_spec_atom.h b/src/REAXFF/compute_spec_atom.h index ce4ce5b1cc..61dd63e272 100644 --- a/src/REAXFF/compute_spec_atom.h +++ b/src/REAXFF/compute_spec_atom.h @@ -75,7 +75,7 @@ class ComputeSpecAtom : public Compute { void pack_abo23(int); void pack_abo24(int); - class PairReaxC *reaxc; + class PairReaxFF *reaxff; }; } diff --git a/src/REAXFF/fix_qeq_reax.cpp b/src/REAXFF/fix_qeq_reaxff.cpp similarity index 83% rename from src/REAXFF/fix_qeq_reax.cpp rename to src/REAXFF/fix_qeq_reaxff.cpp index 2591813534..fd197a156a 100644 --- a/src/REAXFF/fix_qeq_reax.cpp +++ b/src/REAXFF/fix_qeq_reaxff.cpp @@ -19,7 +19,7 @@ Hybrid and sub-group capabilities: Ray Shan (Sandia) ------------------------------------------------------------------------- */ -#include "fix_qeq_reax.h" +#include "fix_qeq_reaxff.h" #include "atom.h" #include "citeme.h" @@ -37,7 +37,7 @@ #include "tokenizer.h" #include "update.h" -#include "pair_reaxc.h" +#include "pair_reaxff.h" #include "reaxff_api.h" #include @@ -57,8 +57,8 @@ public: #define SQR(x) ((x)*(x)) #define CUBE(x) ((x)*(x)*(x)) -static const char cite_fix_qeq_reax[] = - "fix qeq/reax command:\n\n" +static const char cite_fix_qeq_reaxff[] = + "fix qeq/reaxff command:\n\n" "@Article{Aktulga12,\n" " author = {H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama},\n" " title = {Parallel reactive molecular dynamics: Numerical methods and algorithmic techniques},\n" @@ -70,7 +70,7 @@ static const char cite_fix_qeq_reax[] = /* ---------------------------------------------------------------------- */ -FixQEqReax::FixQEqReax(LAMMPS *lmp, int narg, char **arg) : +FixQEqReaxFF::FixQEqReaxFF(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg), matvecs(0), pertype_option(nullptr) { scalar_flag = 1; @@ -78,10 +78,10 @@ FixQEqReax::FixQEqReax(LAMMPS *lmp, int narg, char **arg) : imax = 200; maxwarn = 1; - if ((narg < 8) || (narg > 12)) error->all(FLERR,"Illegal fix qeq/reax command"); + if ((narg < 8) || (narg > 12)) error->all(FLERR,"Illegal fix qeq/reaxff command"); nevery = utils::inumeric(FLERR,arg[3],false,lmp); - if (nevery <= 0) error->all(FLERR,"Illegal fix qeq/reax command"); + if (nevery <= 0) error->all(FLERR,"Illegal fix qeq/reaxff command"); swa = utils::numeric(FLERR,arg[4],false,lmp); swb = utils::numeric(FLERR,arg[5],false,lmp); @@ -99,10 +99,10 @@ FixQEqReax::FixQEqReax(LAMMPS *lmp, int narg, char **arg) : else if (strcmp(arg[iarg],"nowarn") == 0) maxwarn = 0; else if (strcmp(arg[iarg],"maxiter") == 0) { if (iarg+1 > narg-1) - error->all(FLERR,"Illegal fix qeq/reax command"); + error->all(FLERR,"Illegal fix qeq/reaxff command"); imax = utils::numeric(FLERR,arg[iarg+1],false,lmp); iarg++; - } else error->all(FLERR,"Illegal fix qeq/reax command"); + } else error->all(FLERR,"Illegal fix qeq/reaxff command"); iarg++; } shld = nullptr; @@ -144,7 +144,7 @@ FixQEqReax::FixQEqReax(LAMMPS *lmp, int narg, char **arg) : // perform initial allocation of atom-based arrays // register with Atom class - reaxc = (PairReaxC *) force->pair_match("^reax/c",0); + reaxff = (PairReaxFF *) force->pair_match("^reax..",0); s_hist = t_hist = nullptr; atom->add_callback(Atom::GROW); @@ -152,7 +152,7 @@ FixQEqReax::FixQEqReax(LAMMPS *lmp, int narg, char **arg) : /* ---------------------------------------------------------------------- */ -FixQEqReax::~FixQEqReax() +FixQEqReaxFF::~FixQEqReaxFF() { if (copymode) return; @@ -179,9 +179,9 @@ FixQEqReax::~FixQEqReax() /* ---------------------------------------------------------------------- */ -void FixQEqReax::post_constructor() +void FixQEqReaxFF::post_constructor() { - if (lmp->citeme) lmp->citeme->add(cite_fix_qeq_reax); + if (lmp->citeme) lmp->citeme->add(cite_fix_qeq_reaxff); grow_arrays(atom->nmax); for (int i = 0; i < atom->nmax; i++) @@ -190,12 +190,12 @@ void FixQEqReax::post_constructor() pertype_parameters(pertype_option); if (dual_enabled) - error->all(FLERR,"Dual keyword only supported with fix qeq/reax/omp"); + error->all(FLERR,"Dual keyword only supported with fix qeq/reaxff/omp"); } /* ---------------------------------------------------------------------- */ -int FixQEqReax::setmask() +int FixQEqReaxFF::setmask() { int mask = 0; mask |= PRE_FORCE; @@ -206,47 +206,47 @@ int FixQEqReax::setmask() /* ---------------------------------------------------------------------- */ -void FixQEqReax::pertype_parameters(char *arg) +void FixQEqReaxFF::pertype_parameters(char *arg) { - if (strcmp(arg,"reax/c") == 0) { + // match either new keyword "reaxff" or old keyword "reax/c" + if (utils::strmatch(arg,"^reax..$")) { reaxflag = 1; - Pair *pair = force->pair_match("^reax/c",0); - if (!pair) error->all(FLERR,"No reax/c pair style for fix qeq/reax"); + Pair *pair = force->pair_match("^reax..",0); + if (!pair) error->all(FLERR,"No reaxff pair style for fix qeq/reaxff"); int tmp; chi = (double *) pair->extract("chi",tmp); eta = (double *) pair->extract("eta",tmp); gamma = (double *) pair->extract("gamma",tmp); if (chi == nullptr || eta == nullptr || gamma == nullptr) - error->all(FLERR, - "Fix qeq/reax could not extract params from pair reax/c"); + error->all(FLERR, "Fix qeq/reaxff could not extract params from pair reaxff"); return; } reaxflag = 0; const int ntypes = atom->ntypes; - memory->create(chi,ntypes+1,"qeq/reax:chi"); - memory->create(eta,ntypes+1,"qeq/reax:eta"); - memory->create(gamma,ntypes+1,"qeq/reax:gamma"); + memory->create(chi,ntypes+1,"qeq/reaxff:chi"); + memory->create(eta,ntypes+1,"qeq/reaxff:eta"); + memory->create(gamma,ntypes+1,"qeq/reaxff:gamma"); if (comm->me == 0) { chi[0] = eta[0] = gamma[0] = 0.0; try { - TextFileReader reader(arg,"qeq/reax parameter"); + TextFileReader reader(arg,"qeq/reaxff parameter"); reader.ignore_comments = false; for (int i = 1; i <= ntypes; i++) { const char *line = reader.next_line(); if (!line) - throw parser_error("Invalid param file for fix qeq/reax"); + throw parser_error("Invalid param file for fix qeq/reaxff"); ValueTokenizer values(line); if (values.count() != 4) - throw parser_error("Fix qeq/reax: Incorrect format of param file"); + throw parser_error("Fix qeq/reaxff: Incorrect format of param file"); int itype = values.next_int(); if ((itype < 1) || (itype > ntypes)) - throw parser_error("Fix qeq/reax: invalid atom type in param file"); + throw parser_error("Fix qeq/reaxff: invalid atom type in param file"); chi[itype] = values.next_double(); eta[itype] = values.next_double(); @@ -264,7 +264,7 @@ void FixQEqReax::pertype_parameters(char *arg) /* ---------------------------------------------------------------------- */ -void FixQEqReax::allocate_storage() +void FixQEqReaxFF::allocate_storage() { nmax = atom->nmax; @@ -289,7 +289,7 @@ void FixQEqReax::allocate_storage() /* ---------------------------------------------------------------------- */ -void FixQEqReax::deallocate_storage() +void FixQEqReaxFF::deallocate_storage() { memory->destroy(s); memory->destroy(t); @@ -308,7 +308,7 @@ void FixQEqReax::deallocate_storage() /* ---------------------------------------------------------------------- */ -void FixQEqReax::reallocate_storage() +void FixQEqReaxFF::reallocate_storage() { deallocate_storage(); allocate_storage(); @@ -317,7 +317,7 @@ void FixQEqReax::reallocate_storage() /* ---------------------------------------------------------------------- */ -void FixQEqReax::allocate_matrix() +void FixQEqReaxFF::allocate_matrix() { int i,ii,n,m; @@ -325,8 +325,8 @@ void FixQEqReax::allocate_matrix() double safezone; if (reaxflag) { - mincap = reaxc->api->system->mincap; - safezone = reaxc->api->system->safezone; + mincap = reaxff->api->system->mincap; + safezone = reaxff->api->system->safezone; } else { mincap = REAX_MIN_CAP; safezone = REAX_SAFE_ZONE; @@ -354,7 +354,7 @@ void FixQEqReax::allocate_matrix() /* ---------------------------------------------------------------------- */ -void FixQEqReax::deallocate_matrix() +void FixQEqReaxFF::deallocate_matrix() { memory->destroy(H.firstnbr); memory->destroy(H.numnbrs); @@ -364,7 +364,7 @@ void FixQEqReax::deallocate_matrix() /* ---------------------------------------------------------------------- */ -void FixQEqReax::reallocate_matrix() +void FixQEqReaxFF::reallocate_matrix() { deallocate_matrix(); allocate_matrix(); @@ -372,13 +372,13 @@ void FixQEqReax::reallocate_matrix() /* ---------------------------------------------------------------------- */ -void FixQEqReax::init() +void FixQEqReaxFF::init() { if (!atom->q_flag) - error->all(FLERR,"Fix qeq/reax requires atom attribute q"); + error->all(FLERR,"Fix qeq/reaxff requires atom attribute q"); if (group->count(igroup) == 0) - error->all(FLERR,"Fix qeq/reax group has no atoms"); + error->all(FLERR,"Fix qeq/reaxff group has no atoms"); // need a half neighbor list w/ Newton off and ghost neighbors // built whenever re-neighboring occurs @@ -398,21 +398,21 @@ void FixQEqReax::init() /* ---------------------------------------------------------------------- */ -double FixQEqReax::compute_scalar() +double FixQEqReaxFF::compute_scalar() { return matvecs/2.0; } /* ---------------------------------------------------------------------- */ -void FixQEqReax::init_list(int /*id*/, NeighList *ptr) +void FixQEqReaxFF::init_list(int /*id*/, NeighList *ptr) { list = ptr; } /* ---------------------------------------------------------------------- */ -void FixQEqReax::init_shielding() +void FixQEqReaxFF::init_shielding() { int i,j; int ntypes; @@ -428,16 +428,16 @@ void FixQEqReax::init_shielding() /* ---------------------------------------------------------------------- */ -void FixQEqReax::init_taper() +void FixQEqReaxFF::init_taper() { double d7, swa2, swa3, swb2, swb3; if (fabs(swa) > 0.01 && comm->me == 0) - error->warning(FLERR,"Fix qeq/reax has non-zero lower Taper radius cutoff"); + error->warning(FLERR,"Fix qeq/reaxff has non-zero lower Taper radius cutoff"); if (swb < 0) - error->all(FLERR, "Fix qeq/reax has negative upper Taper radius cutoff"); + error->all(FLERR, "Fix qeq/reaxff has negative upper Taper radius cutoff"); else if (swb < 5 && comm->me == 0) - error->warning(FLERR,"Fix qeq/reax has very low Taper radius cutoff"); + error->warning(FLERR,"Fix qeq/reaxff has very low Taper radius cutoff"); d7 = pow(swb - swa, 7); swa2 = SQR(swa); @@ -458,14 +458,14 @@ void FixQEqReax::init_taper() /* ---------------------------------------------------------------------- */ -void FixQEqReax::setup_pre_force(int vflag) +void FixQEqReaxFF::setup_pre_force(int vflag) { - if (reaxc) { - nn = reaxc->list->inum; - NN = reaxc->list->inum + reaxc->list->gnum; - ilist = reaxc->list->ilist; - numneigh = reaxc->list->numneigh; - firstneigh = reaxc->list->firstneigh; + if (reaxff) { + nn = reaxff->list->inum; + NN = reaxff->list->inum + reaxff->list->gnum; + ilist = reaxff->list->ilist; + numneigh = reaxff->list->numneigh; + firstneigh = reaxff->list->firstneigh; } else { nn = list->inum; NN = list->inum + list->gnum; @@ -487,7 +487,7 @@ void FixQEqReax::setup_pre_force(int vflag) /* ---------------------------------------------------------------------- */ -void FixQEqReax::setup_pre_force_respa(int vflag, int ilevel) +void FixQEqReaxFF::setup_pre_force_respa(int vflag, int ilevel) { if (ilevel < nlevels_respa-1) return; setup_pre_force(vflag); @@ -495,21 +495,21 @@ void FixQEqReax::setup_pre_force_respa(int vflag, int ilevel) /* ---------------------------------------------------------------------- */ -void FixQEqReax::min_setup_pre_force(int vflag) +void FixQEqReaxFF::min_setup_pre_force(int vflag) { setup_pre_force(vflag); } /* ---------------------------------------------------------------------- */ -void FixQEqReax::init_storage() +void FixQEqReaxFF::init_storage() { int NN; int *ilist; - if (reaxc) { - NN = reaxc->list->inum + reaxc->list->gnum; - ilist = reaxc->list->ilist; + if (reaxff) { + NN = reaxff->list->inum + reaxff->list->gnum; + ilist = reaxff->list->ilist; } else { NN = list->inum + list->gnum; ilist = list->ilist; @@ -530,18 +530,18 @@ void FixQEqReax::init_storage() /* ---------------------------------------------------------------------- */ -void FixQEqReax::pre_force(int /*vflag*/) +void FixQEqReaxFF::pre_force(int /*vflag*/) { if (update->ntimestep % nevery) return; int n = atom->nlocal; - if (reaxc) { - nn = reaxc->list->inum; - NN = reaxc->list->inum + reaxc->list->gnum; - ilist = reaxc->list->ilist; - numneigh = reaxc->list->numneigh; - firstneigh = reaxc->list->firstneigh; + if (reaxff) { + nn = reaxff->list->inum; + NN = reaxff->list->inum + reaxff->list->gnum; + ilist = reaxff->list->ilist; + numneigh = reaxff->list->numneigh; + firstneigh = reaxff->list->firstneigh; } else { nn = list->inum; NN = list->inum + list->gnum; @@ -568,21 +568,21 @@ void FixQEqReax::pre_force(int /*vflag*/) /* ---------------------------------------------------------------------- */ -void FixQEqReax::pre_force_respa(int vflag, int ilevel, int /*iloop*/) +void FixQEqReaxFF::pre_force_respa(int vflag, int ilevel, int /*iloop*/) { if (ilevel == nlevels_respa-1) pre_force(vflag); } /* ---------------------------------------------------------------------- */ -void FixQEqReax::min_pre_force(int vflag) +void FixQEqReaxFF::min_pre_force(int vflag) { pre_force(vflag); } /* ---------------------------------------------------------------------- */ -void FixQEqReax::init_matvec() +void FixQEqReaxFF::init_matvec() { /* fill-in H matrix */ compute_H(); @@ -614,7 +614,7 @@ void FixQEqReax::init_matvec() /* ---------------------------------------------------------------------- */ -void FixQEqReax::compute_H() +void FixQEqReaxFF::compute_H() { int jnum; int i, j, ii, jj, flag; @@ -670,13 +670,13 @@ void FixQEqReax::compute_H() } if (m_fill >= H.m) - error->all(FLERR,fmt::format("Fix qeq/reax: H matrix size has been " + error->all(FLERR,fmt::format("Fix qeq/reaxff H matrix size has been " "exceeded: m_fill={} H.m={}\n", m_fill, H.m)); } /* ---------------------------------------------------------------------- */ -double FixQEqReax::calculate_H(double r, double gamma) +double FixQEqReaxFF::calculate_H(double r, double gamma) { double Taper, denom; @@ -696,7 +696,7 @@ double FixQEqReax::calculate_H(double r, double gamma) /* ---------------------------------------------------------------------- */ -int FixQEqReax::CG(double *b, double *x) +int FixQEqReaxFF::CG(double *b, double *x) { int i, j; double tmp, alpha, beta, b_norm; @@ -745,7 +745,7 @@ int FixQEqReax::CG(double *b, double *x) } if ((i >= imax) && maxwarn && (comm->me == 0)) - error->warning(FLERR,fmt::format("Fix qeq/reax CG convergence failed " + error->warning(FLERR,fmt::format("Fix qeq/reaxff CG convergence failed " "after {} iterations at step {}", i,update->ntimestep)); return i; @@ -754,7 +754,7 @@ int FixQEqReax::CG(double *b, double *x) /* ---------------------------------------------------------------------- */ -void FixQEqReax::sparse_matvec(sparse_matrix *A, double *x, double *b) +void FixQEqReaxFF::sparse_matvec(sparse_matrix *A, double *x, double *b) { int i, j, itr_j; int ii; @@ -786,7 +786,7 @@ void FixQEqReax::sparse_matvec(sparse_matrix *A, double *x, double *b) /* ---------------------------------------------------------------------- */ -void FixQEqReax::calculate_Q() +void FixQEqReaxFF::calculate_Q() { int i, k; double u, s_sum, t_sum; @@ -819,7 +819,7 @@ void FixQEqReax::calculate_Q() /* ---------------------------------------------------------------------- */ -int FixQEqReax::pack_forward_comm(int n, int *list, double *buf, +int FixQEqReaxFF::pack_forward_comm(int n, int *list, double *buf, int /*pbc_flag*/, int * /*pbc*/) { int m; @@ -846,7 +846,7 @@ int FixQEqReax::pack_forward_comm(int n, int *list, double *buf, /* ---------------------------------------------------------------------- */ -void FixQEqReax::unpack_forward_comm(int n, int first, double *buf) +void FixQEqReaxFF::unpack_forward_comm(int n, int first, double *buf) { int i, m; @@ -871,7 +871,7 @@ void FixQEqReax::unpack_forward_comm(int n, int first, double *buf) /* ---------------------------------------------------------------------- */ -int FixQEqReax::pack_reverse_comm(int n, int first, double *buf) +int FixQEqReaxFF::pack_reverse_comm(int n, int first, double *buf) { int i, m; if (pack_flag == 5) { @@ -891,7 +891,7 @@ int FixQEqReax::pack_reverse_comm(int n, int first, double *buf) /* ---------------------------------------------------------------------- */ -void FixQEqReax::unpack_reverse_comm(int n, int *list, double *buf) +void FixQEqReaxFF::unpack_reverse_comm(int n, int *list, double *buf) { if (pack_flag == 5) { int m = 0; @@ -909,7 +909,7 @@ void FixQEqReax::unpack_reverse_comm(int n, int *list, double *buf) memory usage of local atom-based arrays ------------------------------------------------------------------------- */ -double FixQEqReax::memory_usage() +double FixQEqReaxFF::memory_usage() { double bytes; @@ -929,7 +929,7 @@ double FixQEqReax::memory_usage() allocate fictitious charge arrays ------------------------------------------------------------------------- */ -void FixQEqReax::grow_arrays(int nmax) +void FixQEqReaxFF::grow_arrays(int nmax) { memory->grow(s_hist,nmax,nprev,"qeq:s_hist"); memory->grow(t_hist,nmax,nprev,"qeq:t_hist"); @@ -939,7 +939,7 @@ void FixQEqReax::grow_arrays(int nmax) copy values within fictitious charge arrays ------------------------------------------------------------------------- */ -void FixQEqReax::copy_arrays(int i, int j, int /*delflag*/) +void FixQEqReaxFF::copy_arrays(int i, int j, int /*delflag*/) { for (int m = 0; m < nprev; m++) { s_hist[j][m] = s_hist[i][m]; @@ -951,7 +951,7 @@ void FixQEqReax::copy_arrays(int i, int j, int /*delflag*/) pack values in local atom-based array for exchange with another proc ------------------------------------------------------------------------- */ -int FixQEqReax::pack_exchange(int i, double *buf) +int FixQEqReaxFF::pack_exchange(int i, double *buf) { for (int m = 0; m < nprev; m++) buf[m] = s_hist[i][m]; for (int m = 0; m < nprev; m++) buf[nprev+m] = t_hist[i][m]; @@ -962,7 +962,7 @@ int FixQEqReax::pack_exchange(int i, double *buf) unpack values in local atom-based array from exchange with another proc ------------------------------------------------------------------------- */ -int FixQEqReax::unpack_exchange(int nlocal, double *buf) +int FixQEqReaxFF::unpack_exchange(int nlocal, double *buf) { for (int m = 0; m < nprev; m++) s_hist[nlocal][m] = buf[m]; for (int m = 0; m < nprev; m++) t_hist[nlocal][m] = buf[nprev+m]; @@ -971,7 +971,7 @@ int FixQEqReax::unpack_exchange(int nlocal, double *buf) /* ---------------------------------------------------------------------- */ -double FixQEqReax::parallel_norm(double *v, int n) +double FixQEqReaxFF::parallel_norm(double *v, int n) { int i; double my_sum, norm_sqr; @@ -993,7 +993,7 @@ double FixQEqReax::parallel_norm(double *v, int n) /* ---------------------------------------------------------------------- */ -double FixQEqReax::parallel_dot(double *v1, double *v2, int n) +double FixQEqReaxFF::parallel_dot(double *v1, double *v2, int n) { int i; double my_dot, res; @@ -1015,7 +1015,7 @@ double FixQEqReax::parallel_dot(double *v1, double *v2, int n) /* ---------------------------------------------------------------------- */ -double FixQEqReax::parallel_vector_acc(double *v, int n) +double FixQEqReaxFF::parallel_vector_acc(double *v, int n) { int i; double my_acc, res; @@ -1037,7 +1037,7 @@ double FixQEqReax::parallel_vector_acc(double *v, int n) /* ---------------------------------------------------------------------- */ -void FixQEqReax::vector_sum(double* dest, double c, double* v, +void FixQEqReaxFF::vector_sum(double* dest, double c, double* v, double d, double* y, int k) { int kk; @@ -1051,7 +1051,7 @@ void FixQEqReax::vector_sum(double* dest, double c, double* v, /* ---------------------------------------------------------------------- */ -void FixQEqReax::vector_add(double* dest, double c, double* v, int k) +void FixQEqReaxFF::vector_add(double* dest, double c, double* v, int k) { int kk; diff --git a/src/REAXFF/fix_qeq_reax.h b/src/REAXFF/fix_qeq_reaxff.h similarity index 94% rename from src/REAXFF/fix_qeq_reax.h rename to src/REAXFF/fix_qeq_reaxff.h index cf05096fe6..b787bb9c7a 100644 --- a/src/REAXFF/fix_qeq_reax.h +++ b/src/REAXFF/fix_qeq_reaxff.h @@ -24,21 +24,22 @@ #ifdef FIX_CLASS // clang-format off -FixStyle(qeq/reax,FixQEqReax); +FixStyle(qeq/reaxff,FixQEqReaxFF); +FixStyle(qeq/reax,FixQEqReaxFF); // clang-format on #else -#ifndef LMP_FIX_QEQ_REAX_H -#define LMP_FIX_QEQ_REAX_H +#ifndef LMP_FIX_QEQ_REAXFF_H +#define LMP_FIX_QEQ_REAXFF_H #include "fix.h" namespace LAMMPS_NS { -class FixQEqReax : public Fix { +class FixQEqReaxFF : public Fix { public: - FixQEqReax(class LAMMPS *, int, char **); - ~FixQEqReax(); + FixQEqReaxFF(class LAMMPS *, int, char **); + ~FixQEqReaxFF(); int setmask(); virtual void post_constructor(); virtual void init(); @@ -63,7 +64,7 @@ class FixQEqReax : public Fix { int pack_flag; int nlevels_respa; class NeighList *list; - class PairReaxC *reaxc; + class PairReaxFF *reaxff; int *ilist, *jlist, *numneigh, **firstneigh; double swa, swb; // lower/upper Taper cutoff radius diff --git a/src/REAXFF/fix_reaxc.cpp b/src/REAXFF/fix_reaxff.cpp similarity index 87% rename from src/REAXFF/fix_reaxc.cpp rename to src/REAXFF/fix_reaxff.cpp index 2b39ef5a0e..bd95dbcb38 100644 --- a/src/REAXFF/fix_reaxc.cpp +++ b/src/REAXFF/fix_reaxff.cpp @@ -22,7 +22,7 @@ Algorithmic Techniques", Parallel Computing, in press. ------------------------------------------------------------------------- */ -#include "fix_reaxc.h" +#include "fix_reaxff.h" #include "atom.h" #include "memory.h" @@ -35,7 +35,7 @@ using namespace FixConst; /* ---------------------------------------------------------------------- */ -FixReaxC::FixReaxC(LAMMPS *lmp,int narg, char **arg) : +FixReaxFF::FixReaxFF(LAMMPS *lmp,int narg, char **arg) : Fix(lmp, narg, arg) { // perform initial allocation of atom-based arrays @@ -57,7 +57,7 @@ FixReaxC::FixReaxC(LAMMPS *lmp,int narg, char **arg) : /* ---------------------------------------------------------------------- */ -FixReaxC::~FixReaxC() +FixReaxFF::~FixReaxFF() { // unregister this fix so atom class doesn't invoke it any more @@ -71,7 +71,7 @@ FixReaxC::~FixReaxC() /* ---------------------------------------------------------------------- */ -int FixReaxC::setmask() +int FixReaxFF::setmask() { int mask = 0; return mask; @@ -81,7 +81,7 @@ int FixReaxC::setmask() memory usage of local atom-based arrays ------------------------------------------------------------------------- */ -double FixReaxC::memory_usage() +double FixReaxFF::memory_usage() { int nmax = atom->nmax; double bytes = (double)nmax * 2 * sizeof(int); @@ -92,10 +92,10 @@ double FixReaxC::memory_usage() allocate local atom-based arrays ------------------------------------------------------------------------- */ -void FixReaxC::grow_arrays(int nmax) +void FixReaxFF::grow_arrays(int nmax) { - memory->grow(num_bonds,nmax,"reaxc:num_bonds"); - memory->grow(num_hbonds,nmax,"reaxc:num_hbonds"); + memory->grow(num_bonds,nmax,"reaxff:num_bonds"); + memory->grow(num_hbonds,nmax,"reaxff:num_hbonds"); for (int i = oldnmax; i < nmax; i++) { num_hbonds[i] = MIN_REAX_HBONDS; num_bonds[i] = MIN_REAX_BONDS; @@ -107,7 +107,7 @@ void FixReaxC::grow_arrays(int nmax) copy values within local atom-based arrays ------------------------------------------------------------------------- */ -void FixReaxC::copy_arrays(int i, int j, int /*delflag*/) +void FixReaxFF::copy_arrays(int i, int j, int /*delflag*/) { num_bonds[j] = num_bonds[i]; num_hbonds[j] = num_hbonds[i]; @@ -117,7 +117,7 @@ void FixReaxC::copy_arrays(int i, int j, int /*delflag*/) pack values in local atom-based arrays for exchange with another proc ------------------------------------------------------------------------- */ -int FixReaxC::pack_exchange(int i, double *buf) +int FixReaxFF::pack_exchange(int i, double *buf) { buf[0] = num_bonds[i]; buf[1] = num_hbonds[i]; @@ -128,7 +128,7 @@ int FixReaxC::pack_exchange(int i, double *buf) unpack values in local atom-based arrays from exchange with another proc ------------------------------------------------------------------------- */ -int FixReaxC::unpack_exchange(int nlocal, double *buf) +int FixReaxFF::unpack_exchange(int nlocal, double *buf) { num_bonds[nlocal] = static_cast (buf[0]); num_hbonds[nlocal] = static_cast (buf[1]); @@ -137,7 +137,7 @@ int FixReaxC::unpack_exchange(int nlocal, double *buf) /* ---------------------------------------------------------------------- */ -int FixReaxC::pack_forward_comm(int n, int *list, double *buf, +int FixReaxFF::pack_forward_comm(int n, int *list, double *buf, int /*pbc_flag*/, int * /*pbc*/) { int i,j,m; @@ -152,7 +152,7 @@ int FixReaxC::pack_forward_comm(int n, int *list, double *buf, /* ---------------------------------------------------------------------- */ -void FixReaxC::unpack_forward_comm(int n, int first, double *buf) +void FixReaxFF::unpack_forward_comm(int n, int first, double *buf) { int i,m,last; diff --git a/src/REAXFF/fix_reaxc.h b/src/REAXFF/fix_reaxff.h similarity index 89% rename from src/REAXFF/fix_reaxc.h rename to src/REAXFF/fix_reaxff.h index 6347f30c23..0b18f6d118 100644 --- a/src/REAXFF/fix_reaxc.h +++ b/src/REAXFF/fix_reaxff.h @@ -24,24 +24,24 @@ #ifdef FIX_CLASS // clang-format off -FixStyle(REAXC,FixReaxC); +FixStyle(REAXFF,FixReaxFF); // clang-format on #else -#ifndef LMP_FIX_REAXC_H -#define LMP_FIX_REAXC_H +#ifndef LMP_FIX_REAXFF_H +#define LMP_FIX_REAXFF_H #include "fix.h" namespace LAMMPS_NS { -class FixReaxC : public Fix { - friend class PairReaxC; - friend class PairReaxCOMP; +class FixReaxFF : public Fix { + friend class PairReaxFF; + friend class PairReaxFFOMP; public: - FixReaxC(class LAMMPS *,int, char **); - ~FixReaxC(); + FixReaxFF(class LAMMPS *,int, char **); + ~FixReaxFF(); int setmask(); double memory_usage(); diff --git a/src/REAXFF/fix_reaxc_bonds.cpp b/src/REAXFF/fix_reaxff_bonds.cpp similarity index 79% rename from src/REAXFF/fix_reaxc_bonds.cpp rename to src/REAXFF/fix_reaxff_bonds.cpp index 0ef3c351e6..f13056c5b6 100644 --- a/src/REAXFF/fix_reaxc_bonds.cpp +++ b/src/REAXFF/fix_reaxff_bonds.cpp @@ -16,7 +16,7 @@ Contributing author: Ray Shan (Sandia, tnshan@sandia.gov) ------------------------------------------------------------------------- */ -#include "fix_reaxc_bonds.h" +#include "fix_reaxff_bonds.h" #include "atom.h" #include "error.h" @@ -25,7 +25,7 @@ #include "neigh_list.h" #include "update.h" -#include "pair_reaxc.h" +#include "pair_reaxff.h" #include "reaxff_api.h" #include @@ -36,10 +36,10 @@ using namespace ReaxFF; /* ---------------------------------------------------------------------- */ -FixReaxCBonds::FixReaxCBonds(LAMMPS *lmp, int narg, char **arg) : +FixReaxFFBonds::FixReaxFFBonds(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) { - if (narg != 5) error->all(FLERR,"Illegal fix reax/c/bonds command"); + if (narg != 5) error->all(FLERR,"Illegal fix reaxff/bonds command"); MPI_Comm_rank(world,&me); MPI_Comm_size(world,&nprocs); @@ -49,7 +49,7 @@ FixReaxCBonds::FixReaxCBonds(LAMMPS *lmp, int narg, char **arg) : nevery = utils::inumeric(FLERR,arg[3],false,lmp); if (nevery <= 0) - error->all(FLERR,"Illegal fix reax/c/bonds command"); + error->all(FLERR,"Illegal fix reaxff/bonds command"); if (me == 0) { char *suffix = strrchr(arg[4],'.'); @@ -67,12 +67,12 @@ FixReaxCBonds::FixReaxCBonds(LAMMPS *lmp, int narg, char **arg) : } else fp = fopen(arg[4],"w"); if (!fp) - error->one(FLERR,fmt::format("Cannot open fix reax/c/bonds file {}: " + error->one(FLERR,fmt::format("Cannot open fix reaxff/bonds file {}: " "{}",arg[4],utils::getsyserror())); } if (atom->tag_consecutive() == 0) - error->all(FLERR,"Atom IDs must be consecutive for fix reax/c bonds"); + error->all(FLERR,"Atom IDs must be consecutive for fix reaxff bonds"); abo = nullptr; neighid = nullptr; @@ -83,7 +83,7 @@ FixReaxCBonds::FixReaxCBonds(LAMMPS *lmp, int narg, char **arg) : /* ---------------------------------------------------------------------- */ -FixReaxCBonds::~FixReaxCBonds() +FixReaxFFBonds::~FixReaxFFBonds() { MPI_Comm_rank(world,&me); @@ -94,7 +94,7 @@ FixReaxCBonds::~FixReaxCBonds() /* ---------------------------------------------------------------------- */ -int FixReaxCBonds::setmask() +int FixReaxFFBonds::setmask() { int mask = 0; mask |= END_OF_STEP; @@ -103,32 +103,31 @@ int FixReaxCBonds::setmask() /* ---------------------------------------------------------------------- */ -void FixReaxCBonds::setup(int /*vflag*/) +void FixReaxFFBonds::setup(int /*vflag*/) { end_of_step(); } /* ---------------------------------------------------------------------- */ -void FixReaxCBonds::init() +void FixReaxFFBonds::init() { - reaxc = (PairReaxC *) force->pair_match("reax/c",0); - if (reaxc == nullptr) error->all(FLERR,"Cannot use fix reax/c/bonds without " - "pair_style reax/c, reax/c/kk, or reax/c/omp"); - + reaxff = (PairReaxFF *) force->pair_match("^reax..",0); + if (reaxff == nullptr) error->all(FLERR,"Cannot use fix reaxff/bonds without " + "pair_style reaxff, reaxff/kk, or reaxff/omp"); } /* ---------------------------------------------------------------------- */ -void FixReaxCBonds::end_of_step() +void FixReaxFFBonds::end_of_step() { - Output_ReaxC_Bonds(update->ntimestep,fp); + Output_ReaxFF_Bonds(); if (me == 0) fflush(fp); } /* ---------------------------------------------------------------------- */ -void FixReaxCBonds::Output_ReaxC_Bonds(bigint /*ntimestep*/, FILE * /*fp*/) +void FixReaxFFBonds::Output_ReaxFF_Bonds() { int i, j; @@ -152,16 +151,14 @@ void FixReaxCBonds::Output_ReaxC_Bonds(bigint /*ntimestep*/, FILE * /*fp*/) abo[i][j] = 0.0; } } - numbonds = 0; - - FindBond(lists, numbonds); + numbonds = FindBond(); // allocate a temporary buffer for the snapshot info MPI_Allreduce(&numbonds,&numbonds_max,1,MPI_INT,MPI_MAX,world); MPI_Allreduce(&nlocal,&nlocal_max,1,MPI_INT,MPI_MAX,world); nbuf = 1+(numbonds_max*2+10)*nlocal_max; - memory->create(buf,nbuf,"reax/c/bonds:buf"); + memory->create(buf,nbuf,"reaxff/bonds:buf"); for (i = 0; i < nbuf; i ++) buf[i] = 0.0; // Pass information to buffer @@ -176,26 +173,27 @@ void FixReaxCBonds::Output_ReaxC_Bonds(bigint /*ntimestep*/, FILE * /*fp*/) /* ---------------------------------------------------------------------- */ -void FixReaxCBonds::FindBond(struct _reax_list * /*lists*/, int &numbonds) +int FixReaxFFBonds::FindBond() { int *ilist, i, ii, inum; int j, pj, nj; tagint jtag; double bo_tmp,bo_cut; - inum = reaxc->list->inum; - ilist = reaxc->list->ilist; + inum = reaxff->list->inum; + ilist = reaxff->list->ilist; bond_data *bo_ij; - bo_cut = reaxc->api->control->bg_cut; + bo_cut = reaxff->api->control->bg_cut; tagint *tag = atom->tag; + int numbonds = 0; for (ii = 0; ii < inum; ii++) { i = ilist[ii]; nj = 0; - for (pj = Start_Index(i, reaxc->api->lists); pj < End_Index(i, reaxc->api->lists); ++pj) { - bo_ij = &(reaxc->api->lists->select.bond_list[pj]); + for (pj = Start_Index(i, reaxff->api->lists); pj < End_Index(i, reaxff->api->lists); ++pj) { + bo_ij = &(reaxff->api->lists->select.bond_list[pj]); j = bo_ij->nbr; jtag = tag[j]; bo_tmp = bo_ij->bo_data.BO; @@ -209,11 +207,11 @@ void FixReaxCBonds::FindBond(struct _reax_list * /*lists*/, int &numbonds) numneigh[i] = nj; if (nj > numbonds) numbonds = nj; } - + return numbonds; } /* ---------------------------------------------------------------------- */ -void FixReaxCBonds::PassBuffer(double *buf, int &nbuf_local) +void FixReaxFFBonds::PassBuffer(double *buf, int &nbuf_local) { int i, j, k, numbonds; int nlocal = atom->nlocal; @@ -223,8 +221,8 @@ void FixReaxCBonds::PassBuffer(double *buf, int &nbuf_local) for (i = 0; i < nlocal; i++) { buf[j-1] = atom->tag[i]; buf[j+0] = atom->type[i]; - buf[j+1] = reaxc->api->workspace->total_bond_order[i]; - buf[j+2] = reaxc->api->workspace->nlp[i]; + buf[j+1] = reaxff->api->workspace->total_bond_order[i]; + buf[j+2] = reaxff->api->workspace->nlp[i]; buf[j+3] = atom->q[i]; buf[j+4] = numneigh[i]; numbonds = nint(buf[j+4]); @@ -248,7 +246,7 @@ void FixReaxCBonds::PassBuffer(double *buf, int &nbuf_local) /* ---------------------------------------------------------------------- */ -void FixReaxCBonds::RecvBuffer(double *buf, int nbuf, int nbuf_local, +void FixReaxFFBonds::RecvBuffer(double *buf, int nbuf, int nbuf_local, int natoms, int maxnum) { int i, j, k, itype; @@ -258,7 +256,7 @@ void FixReaxCBonds::RecvBuffer(double *buf, int nbuf, int nbuf_local, bigint ntimestep = update->ntimestep; double sbotmp, nlptmp, avqtmp, abotmp; - double cutof3 = reaxc->api->control->bg_cut; + double cutof3 = reaxff->api->control->bg_cut; MPI_Request irequest, irequest2; if (me == 0) { @@ -320,7 +318,7 @@ void FixReaxCBonds::RecvBuffer(double *buf, int nbuf, int nbuf_local, /* ---------------------------------------------------------------------- */ -int FixReaxCBonds::nint(const double &r) +int FixReaxFFBonds::nint(const double &r) { int i = 0; if (r>0.0) i = static_cast(r+0.5); @@ -330,7 +328,7 @@ int FixReaxCBonds::nint(const double &r) /* ---------------------------------------------------------------------- */ -void FixReaxCBonds::destroy() +void FixReaxFFBonds::destroy() { memory->destroy(abo); memory->destroy(neighid); @@ -339,16 +337,16 @@ void FixReaxCBonds::destroy() /* ---------------------------------------------------------------------- */ -void FixReaxCBonds::allocate() +void FixReaxFFBonds::allocate() { - memory->create(abo,nmax,MAXREAXBOND,"reax/c/bonds:abo"); - memory->create(neighid,nmax,MAXREAXBOND,"reax/c/bonds:neighid"); - memory->create(numneigh,nmax,"reax/c/bonds:numneigh"); + memory->create(abo,nmax,MAXREAXBOND,"reaxff/bonds:abo"); + memory->create(neighid,nmax,MAXREAXBOND,"reaxff/bonds:neighid"); + memory->create(numneigh,nmax,"reaxff/bonds:numneigh"); } /* ---------------------------------------------------------------------- */ -double FixReaxCBonds::memory_usage() +double FixReaxFFBonds::memory_usage() { double bytes; diff --git a/src/REAXFF/fix_reaxc_bonds.h b/src/REAXFF/fix_reaxff_bonds.h similarity index 82% rename from src/REAXFF/fix_reaxc_bonds.h rename to src/REAXFF/fix_reaxff_bonds.h index fbca39fa95..ceb763b205 100644 --- a/src/REAXFF/fix_reaxc_bonds.h +++ b/src/REAXFF/fix_reaxff_bonds.h @@ -14,7 +14,8 @@ #ifdef FIX_CLASS // clang-format off -FixStyle(reax/c/bonds,FixReaxCBonds); +FixStyle(reaxff/bonds,FixReaxFFBonds); +FixStyle(reax/c/bonds,FixReaxFFBonds); // clang-format on #else @@ -25,10 +26,10 @@ FixStyle(reax/c/bonds,FixReaxCBonds); namespace LAMMPS_NS { -class FixReaxCBonds : public Fix { +class FixReaxFFBonds : public Fix { public: - FixReaxCBonds(class LAMMPS *, int, char **); - virtual ~FixReaxCBonds(); + FixReaxFFBonds(class LAMMPS *, int, char **); + virtual ~FixReaxFFBonds(); int setmask(); virtual void init(); void setup(int); @@ -43,8 +44,8 @@ class FixReaxCBonds : public Fix { void allocate(); void destroy(); - virtual void Output_ReaxC_Bonds(bigint, FILE *); - void FindBond(struct _reax_list*, int &); + virtual void Output_ReaxFF_Bonds(); + int FindBond(); void PassBuffer(double *, int &); void RecvBuffer(double *, int, int, int, int); int nint(const double &); @@ -52,7 +53,7 @@ class FixReaxCBonds : public Fix { bigint nvalid, nextvalid(); struct _reax_list *lists; - class PairReaxC *reaxc; + class PairReaxFF *reaxff; class NeighList *list; }; } diff --git a/src/REAXFF/fix_reaxc_species.cpp b/src/REAXFF/fix_reaxff_species.cpp similarity index 85% rename from src/REAXFF/fix_reaxc_species.cpp rename to src/REAXFF/fix_reaxff_species.cpp index da1307ac79..53746b968b 100644 --- a/src/REAXFF/fix_reaxc_species.cpp +++ b/src/REAXFF/fix_reaxff_species.cpp @@ -17,7 +17,7 @@ Oleg Sergeev (VNIIA, sergeev@vniia.ru) ------------------------------------------------------------------------- */ -#include "fix_reaxc_species.h" +#include "fix_reaxff_species.h" #include "atom.h" #include "comm.h" @@ -31,7 +31,7 @@ #include "neighbor.h" #include "update.h" -#include "pair_reaxc.h" +#include "pair_reaxff.h" #include "reaxff_defs.h" #include @@ -41,10 +41,10 @@ using namespace FixConst; /* ---------------------------------------------------------------------- */ -FixReaxCSpecies::FixReaxCSpecies(LAMMPS *lmp, int narg, char **arg) : +FixReaxFFSpecies::FixReaxFFSpecies(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) { - if (narg < 7) error->all(FLERR,"Illegal fix reax/c/species command"); + if (narg < 7) error->all(FLERR,"Illegal fix reaxff/species command"); force_reneighbor = 0; @@ -69,9 +69,9 @@ FixReaxCSpecies::FixReaxCSpecies(LAMMPS *lmp, int narg, char **arg) : comm_forward = 4; if (nevery <= 0 || nrepeat <= 0 || nfreq <= 0) - error->all(FLERR,"Illegal fix reax/c/species command"); + error->all(FLERR,"Illegal fix reaxff/species command"); if (nfreq % nevery || nrepeat*nevery > nfreq) - error->all(FLERR,"Illegal fix reax/c/species command"); + error->all(FLERR,"Illegal fix reaxff/species command"); // Neighbor lists must stay unchanged during averaging of bonds, // but may be updated when no averaging is performed. @@ -96,11 +96,11 @@ FixReaxCSpecies::FixReaxCSpecies(LAMMPS *lmp, int narg, char **arg) : } if (me == 0 && rene_flag) { - error->warning(FLERR,"Resetting reneighboring criteria for fix reax/c/species"); + error->warning(FLERR,"Resetting reneighboring criteria for fix reaxff/species"); } tmparg = nullptr; - memory->create(tmparg,4,4,"reax/c/species:tmparg"); + memory->create(tmparg,4,4,"reaxff/species:tmparg"); strcpy(tmparg[0],arg[3]); strcpy(tmparg[1],arg[4]); strcpy(tmparg[2],arg[5]); @@ -121,7 +121,7 @@ FixReaxCSpecies::FixReaxCSpecies(LAMMPS *lmp, int narg, char **arg) : } else fp = fopen(arg[6],"w"); if (!fp) - error->one(FLERR,fmt::format("Cannot open fix reax/c/species file {}: " + error->one(FLERR,fmt::format("Cannot open fix reaxff/species file {}: " "{}",arg[6],utils::getsyserror())); } @@ -129,8 +129,8 @@ FixReaxCSpecies::FixReaxCSpecies(LAMMPS *lmp, int narg, char **arg) : clusterID = nullptr; int ntmp = 1; - memory->create(x0,ntmp,"reax/c/species:x0"); - memory->create(clusterID,ntmp,"reax/c/species:clusterID"); + memory->create(x0,ntmp,"reaxff/species:x0"); + memory->create(clusterID,ntmp,"reaxff/species:clusterID"); vector_atom = clusterID; BOCut = nullptr; @@ -149,7 +149,7 @@ FixReaxCSpecies::FixReaxCSpecies(LAMMPS *lmp, int narg, char **arg) : double bo_cut; bg_cut = 0.30; n = ntypes+1; - memory->create(BOCut,n,n,"reax/c/species:BOCut"); + memory->create(BOCut,n,n,"reaxff/species:BOCut"); for (i = 1; i < n; i ++) for (j = 1; j < n; j ++) BOCut[i][j] = bg_cut; @@ -168,16 +168,16 @@ FixReaxCSpecies::FixReaxCSpecies(LAMMPS *lmp, int narg, char **arg) : // set BO cutoff if (strcmp(arg[iarg],"cutoff") == 0) { - if (iarg+4 > narg) error->all(FLERR,"Illegal fix reax/c/species command"); + if (iarg+4 > narg) error->all(FLERR,"Illegal fix reaxff/species command"); itype = atoi(arg[iarg+1]); jtype = atoi(arg[iarg+2]); bo_cut = atof(arg[iarg+3]); if (itype > ntypes || jtype > ntypes) - error->all(FLERR,"Illegal fix reax/c/species command"); + error->all(FLERR,"Illegal fix reaxff/species command"); if (itype <= 0 || jtype <= 0) - error->all(FLERR,"Illegal fix reax/c/species command"); + error->all(FLERR,"Illegal fix reaxff/species command"); if (bo_cut > 1.0 || bo_cut < 0.0) - error->all(FLERR,"Illegal fix reax/c/species command"); + error->all(FLERR,"Illegal fix reaxff/species command"); BOCut[itype][jtype] = bo_cut; BOCut[jtype][itype] = bo_cut; @@ -185,7 +185,7 @@ FixReaxCSpecies::FixReaxCSpecies(LAMMPS *lmp, int narg, char **arg) : // modify element type names } else if (strcmp(arg[iarg],"element") == 0) { - if (iarg+ntypes+1 > narg) error->all(FLERR,"Illegal fix reax/c/species command"); + if (iarg+ntypes+1 > narg) error->all(FLERR,"Illegal fix reaxff/species command"); eletype = (char**) malloc(ntypes*sizeof(char*)); int len; @@ -199,11 +199,11 @@ FixReaxCSpecies::FixReaxCSpecies(LAMMPS *lmp, int narg, char **arg) : // position of molecules } else if (strcmp(arg[iarg],"position") == 0) { - if (iarg+3 > narg) error->all(FLERR,"Illegal fix reax/c/species command"); + if (iarg+3 > narg) error->all(FLERR,"Illegal fix reaxff/species command"); posflag = 1; posfreq = atoi(arg[iarg+1]); if (posfreq < nfreq || (posfreq%nfreq != 0)) - error->all(FLERR,"Illegal fix reax/c/species command"); + error->all(FLERR,"Illegal fix reaxff/species command"); filepos = new char[255]; strcpy(filepos,arg[iarg+2]); @@ -212,17 +212,17 @@ FixReaxCSpecies::FixReaxCSpecies(LAMMPS *lmp, int narg, char **arg) : } else { if (me == 0) { pos = fopen(filepos, "w"); - if (pos == nullptr) error->one(FLERR,"Cannot open fix reax/c/species position file"); + if (pos == nullptr) error->one(FLERR,"Cannot open fix reaxff/species position file"); } singlepos_opened = 1; multipos = 0; } iarg += 3; - } else error->all(FLERR,"Illegal fix reax/c/species command"); + } else error->all(FLERR,"Illegal fix reaxff/species command"); } if (!eleflag) { - memory->create(ele,ntypes+1,"reax/c/species:ele"); + memory->create(ele,ntypes+1,"reaxff/species:ele"); ele[0]='C'; if (ntypes > 1) ele[1]='H'; @@ -239,7 +239,7 @@ FixReaxCSpecies::FixReaxCSpecies(LAMMPS *lmp, int narg, char **arg) : /* ---------------------------------------------------------------------- */ -FixReaxCSpecies::~FixReaxCSpecies() +FixReaxFFSpecies::~FixReaxFFSpecies() { memory->destroy(ele); memory->destroy(BOCut); @@ -265,7 +265,7 @@ FixReaxCSpecies::~FixReaxCSpecies() /* ---------------------------------------------------------------------- */ -int FixReaxCSpecies::setmask() +int FixReaxFFSpecies::setmask() { int mask = 0; mask |= POST_INTEGRATE; @@ -274,27 +274,27 @@ int FixReaxCSpecies::setmask() /* ---------------------------------------------------------------------- */ -void FixReaxCSpecies::setup(int /*vflag*/) +void FixReaxFFSpecies::setup(int /*vflag*/) { ntotal = static_cast (atom->natoms); if (Name == nullptr) - memory->create(Name,ntypes,"reax/c/species:Name"); + memory->create(Name,ntypes,"reaxff/species:Name"); post_integrate(); } /* ---------------------------------------------------------------------- */ -void FixReaxCSpecies::init() +void FixReaxFFSpecies::init() { if (atom->tag_enable == 0) - error->all(FLERR,"Cannot use fix reax/c/species unless atoms have IDs"); + error->all(FLERR,"Cannot use fix reaxff/species unless atoms have IDs"); - reaxc = (PairReaxC *) force->pair_match("reax/c",0); - if (reaxc == nullptr) error->all(FLERR,"Cannot use fix reax/c/species without " - "pair_style reax/c, reax/c/kk, or reax/c/omp"); + reaxff = (PairReaxFF *) force->pair_match("^reax..",0); + if (reaxff == nullptr) error->all(FLERR,"Cannot use fix reaxff/species without " + "pair_style reaxff, reaxff/kk, or reaxff/omp"); - reaxc->fixspecies_flag = 1; + reaxff->fixspecies_flag = 1; // reset next output timestep if not yet set or timestep has been reset if (nvalid != update->ntimestep) @@ -303,9 +303,9 @@ void FixReaxCSpecies::init() // check if this fix has been called twice int count = 0; for (int i = 0; i < modify->nfix; i++) - if (strcmp(modify->fix[i]->style,"reax/c/species") == 0) count++; + if (strcmp(modify->fix[i]->style,"reaxff/species") == 0) count++; if (count > 1 && comm->me == 0) - error->warning(FLERR,"More than one fix reax/c/species"); + error->warning(FLERR,"More than one fix reaxff/species"); if (!setupflag) { // create a compute to store properties @@ -321,7 +321,7 @@ void FixReaxCSpecies::init() /* ---------------------------------------------------------------------- */ -void FixReaxCSpecies::create_compute() +void FixReaxFFSpecies::create_compute() { int narg; char **args; @@ -368,7 +368,7 @@ void FixReaxCSpecies::create_compute() /* ---------------------------------------------------------------------- */ -void FixReaxCSpecies::create_fix() +void FixReaxFFSpecies::create_fix() { int narg; char **args; @@ -420,22 +420,22 @@ void FixReaxCSpecies::create_fix() /* ---------------------------------------------------------------------- */ -void FixReaxCSpecies::init_list(int /*id*/, NeighList *ptr) +void FixReaxFFSpecies::init_list(int /*id*/, NeighList *ptr) { list = ptr; } /* ---------------------------------------------------------------------- */ -void FixReaxCSpecies::post_integrate() +void FixReaxFFSpecies::post_integrate() { - Output_ReaxC_Bonds(update->ntimestep,fp); + Output_ReaxFF_Bonds(update->ntimestep,fp); if (me == 0) fflush(fp); } /* ---------------------------------------------------------------------- */ -void FixReaxCSpecies::Output_ReaxC_Bonds(bigint ntimestep, FILE * /*fp*/) +void FixReaxFFSpecies::Output_ReaxFF_Bonds(bigint ntimestep, FILE * /*fp*/) { int Nmole, Nspec; @@ -451,8 +451,8 @@ void FixReaxCSpecies::Output_ReaxC_Bonds(bigint ntimestep, FILE * /*fp*/) nmax = atom->nmax; memory->destroy(x0); memory->destroy(clusterID); - memory->create(x0,nmax,"reax/c/species:x0"); - memory->create(clusterID,nmax,"reax/c/species:clusterID"); + memory->create(x0,nmax,"reaxff/species:x0"); + memory->create(clusterID,nmax,"reaxff/species:clusterID"); vector_atom = clusterID; } @@ -484,7 +484,7 @@ void FixReaxCSpecies::Output_ReaxC_Bonds(bigint ntimestep, FILE * /*fp*/) /* ---------------------------------------------------------------------- */ -AtomCoord FixReaxCSpecies::chAnchor(AtomCoord in1, AtomCoord in2) +AtomCoord FixReaxFFSpecies::chAnchor(AtomCoord in1, AtomCoord in2) { if (in1.x < in2.x) return in1; @@ -501,7 +501,7 @@ AtomCoord FixReaxCSpecies::chAnchor(AtomCoord in1, AtomCoord in2) /* ---------------------------------------------------------------------- */ -void FixReaxCSpecies::FindMolecule () +void FixReaxFFSpecies::FindMolecule () { int i,j,ii,jj,inum,itype,jtype,loop,looptot; int change,done,anychange; @@ -510,8 +510,8 @@ void FixReaxCSpecies::FindMolecule () double bo_tmp,bo_cut; double **spec_atom = f_SPECBOND->array_atom; - inum = reaxc->list->inum; - ilist = reaxc->list->ilist; + inum = reaxff->list->inum; + ilist = reaxff->list->ilist; for (ii = 0; ii < inum; ii++) { i = ilist[ii]; @@ -540,7 +540,7 @@ void FixReaxCSpecies::FindMolecule () itype = atom->type[i]; for (jj = 0; jj < MAXSPECBOND; jj++) { - j = reaxc->tmpid[i][jj]; + j = reaxff->tmpid[i][jj]; if ((j == 0) || (j < i)) continue; if (!(mask[j] & groupbit)) continue; @@ -575,7 +575,7 @@ void FixReaxCSpecies::FindMolecule () /* ---------------------------------------------------------------------- */ -void FixReaxCSpecies::SortMolecule(int &Nmole) +void FixReaxFFSpecies::SortMolecule(int &Nmole) { memory->destroy(molmap); molmap = nullptr; @@ -595,16 +595,16 @@ void FixReaxCSpecies::SortMolecule(int &Nmole) MPI_Allreduce(&flag,&flagall,1,MPI_INT,MPI_SUM,world); if (flagall && me == 0) error->warning(FLERR,"Atom with cluster ID = 0 included in " - "fix reax/c/species group"); + "fix reaxff/species group"); MPI_Allreduce(&lo,&idlo,1,MPI_INT,MPI_MIN,world); MPI_Allreduce(&hi,&idhi,1,MPI_INT,MPI_MAX,world); if (idlo == ntotal) if (me == 0) error->warning(FLERR,"Atom with cluster ID = maxmol " - "included in fix reax/c/species group"); + "included in fix reaxff/species group"); int nlen = idhi - idlo + 1; - memory->create(molmap,nlen,"reax/c/species:molmap"); + memory->create(molmap,nlen,"reaxff/species:molmap"); for (n = 0; n < nlen; n++) molmap[n] = 0; for (n = 0; n < nlocal; n++) { @@ -613,7 +613,7 @@ void FixReaxCSpecies::SortMolecule(int &Nmole) } int *molmapall; - memory->create(molmapall,nlen,"reax/c/species:molmapall"); + memory->create(molmapall,nlen,"reaxff/species:molmapall"); MPI_Allreduce(molmap,molmapall,nlen,MPI_INT,MPI_MAX,world); Nmole = 0; @@ -646,7 +646,7 @@ void FixReaxCSpecies::SortMolecule(int &Nmole) /* ---------------------------------------------------------------------- */ -void FixReaxCSpecies::FindSpecies(int Nmole, int &Nspec) +void FixReaxFFSpecies::FindSpecies(int Nmole, int &Nspec) { int k, l, m, n, itype, cid; int flag_identity, flag_mol, flag_spec; @@ -656,16 +656,16 @@ void FixReaxCSpecies::FindSpecies(int Nmole, int &Nspec) memory->destroy(MolName); MolName = nullptr; - memory->create(MolName,Nmole*(ntypes+1),"reax/c/species:MolName"); + memory->create(MolName,Nmole*(ntypes+1),"reaxff/species:MolName"); memory->destroy(NMol); NMol = nullptr; - memory->create(NMol,Nmole,"reax/c/species:NMol"); + memory->create(NMol,Nmole,"reaxff/species:NMol"); for (m = 0; m < Nmole; m ++) NMol[m] = 1; - memory->create(Nameall,ntypes,"reax/c/species:Nameall"); - memory->create(NMolall,Nmole,"reax/c/species:NMolall"); + memory->create(Nameall,ntypes,"reaxff/species:Nameall"); + memory->create(NMolall,Nmole,"reaxff/species:NMolall"); for (m = 1, Nspec = 0; m <= Nmole; m ++) { for (n = 0; n < ntypes; n ++) Name[n] = 0; @@ -705,16 +705,16 @@ void FixReaxCSpecies::FindSpecies(int Nmole, int &Nspec) memory->destroy(nd); nd = nullptr; - memory->create(nd,Nspec,"reax/c/species:nd"); + memory->create(nd,Nspec,"reaxff/species:nd"); memory->destroy(MolType); MolType = nullptr; - memory->create(MolType,Nspec*(ntypes+2),"reax/c/species:MolType"); + memory->create(MolType,Nspec*(ntypes+2),"reaxff/species:MolType"); } /* ---------------------------------------------------------------------- */ -int FixReaxCSpecies::CheckExistence(int id, int ntypes) +int FixReaxFFSpecies::CheckExistence(int id, int ntypes) { int i, j, molid, flag; @@ -735,7 +735,7 @@ int FixReaxCSpecies::CheckExistence(int id, int ntypes) /* ---------------------------------------------------------------------- */ -void FixReaxCSpecies::WriteFormulas(int Nmole, int Nspec) +void FixReaxFFSpecies::WriteFormulas(int Nmole, int Nspec) { int i, j, itemp; bigint ntimestep = update->ntimestep; @@ -771,7 +771,7 @@ void FixReaxCSpecies::WriteFormulas(int Nmole, int Nspec) /* ---------------------------------------------------------------------- */ -void FixReaxCSpecies::OpenPos() +void FixReaxFFSpecies::OpenPos() { char *filecurrent; bigint ntimestep = update->ntimestep; @@ -792,7 +792,7 @@ void FixReaxCSpecies::OpenPos() if (me == 0) { pos = fopen(filecurrent, "w"); - if (pos == nullptr) error->one(FLERR,"Cannot open fix reax/c/species position file"); + if (pos == nullptr) error->one(FLERR,"Cannot open fix reaxff/species position file"); } else pos = nullptr; multipos_opened = 1; @@ -801,7 +801,7 @@ void FixReaxCSpecies::OpenPos() /* ---------------------------------------------------------------------- */ -void FixReaxCSpecies::WritePos(int Nmole, int Nspec) +void FixReaxFFSpecies::WritePos(int Nmole, int Nspec) { int i, itype, cid; int count, count_tmp, m, n, k; @@ -831,7 +831,7 @@ void FixReaxCSpecies::WritePos(int Nmole, int Nspec) } Nameall = nullptr; - memory->create(Nameall,ntypes,"reax/c/species:Nameall"); + memory->create(Nameall,ntypes,"reaxff/species:Nameall"); for (m = 1; m <= Nmole; m ++) { @@ -916,7 +916,7 @@ void FixReaxCSpecies::WritePos(int Nmole, int Nspec) /* ---------------------------------------------------------------------- */ -double FixReaxCSpecies::compute_vector(int n) +double FixReaxFFSpecies::compute_vector(int n) { if (n == 0) return vector_nmole; @@ -928,7 +928,7 @@ double FixReaxCSpecies::compute_vector(int n) /* ---------------------------------------------------------------------- */ -int FixReaxCSpecies::nint(const double &r) +int FixReaxFFSpecies::nint(const double &r) { int i = 0; if (r>0.0) i = static_cast(r+0.5); @@ -938,7 +938,7 @@ int FixReaxCSpecies::nint(const double &r) /* ---------------------------------------------------------------------- */ -int FixReaxCSpecies::pack_forward_comm(int n, int *list, double *buf, +int FixReaxFFSpecies::pack_forward_comm(int n, int *list, double *buf, int /*pbc_flag*/, int * /*pbc*/) { int i,j,m; @@ -957,7 +957,7 @@ int FixReaxCSpecies::pack_forward_comm(int n, int *list, double *buf, /* ---------------------------------------------------------------------- */ -void FixReaxCSpecies::unpack_forward_comm(int n, int first, double *buf) +void FixReaxFFSpecies::unpack_forward_comm(int n, int first, double *buf) { int i,m,last; @@ -974,7 +974,7 @@ void FixReaxCSpecies::unpack_forward_comm(int n, int first, double *buf) /* ---------------------------------------------------------------------- */ -double FixReaxCSpecies::memory_usage() +double FixReaxFFSpecies::memory_usage() { double bytes; diff --git a/src/REAXFF/fix_reaxc_species.h b/src/REAXFF/fix_reaxff_species.h similarity index 87% rename from src/REAXFF/fix_reaxc_species.h rename to src/REAXFF/fix_reaxff_species.h index 225e0bcf24..1957c1f8b1 100644 --- a/src/REAXFF/fix_reaxc_species.h +++ b/src/REAXFF/fix_reaxff_species.h @@ -14,7 +14,8 @@ #ifdef FIX_CLASS // clang-format off -FixStyle(reax/c/species,FixReaxCSpecies); +FixStyle(reaxff/species,FixReaxFFSpecies); +FixStyle(reax/c/species,FixReaxFFSpecies); // clang-format on #else @@ -31,10 +32,10 @@ typedef struct { double x, y, z; } AtomCoord; -class FixReaxCSpecies : public Fix { +class FixReaxFFSpecies : public Fix { public: - FixReaxCSpecies(class LAMMPS *, int, char **); - virtual ~FixReaxCSpecies(); + FixReaxFFSpecies(class LAMMPS *, int, char **); + virtual ~FixReaxFFSpecies(); int setmask(); virtual void init(); void init_list(int, class NeighList *); @@ -59,7 +60,7 @@ class FixReaxCSpecies : public Fix { int singlepos_opened, multipos_opened; char *ele, **eletype, *filepos; - void Output_ReaxC_Bonds(bigint, FILE *); + void Output_ReaxFF_Bonds(bigint, FILE *); void create_compute(); void create_fix(); AtomCoord chAnchor(AtomCoord, AtomCoord); @@ -80,7 +81,7 @@ class FixReaxCSpecies : public Fix { class NeighList *list; class FixAveAtom *f_SPECBOND; - class PairReaxC *reaxc; + class PairReaxFF *reaxff; }; } diff --git a/src/REAXFF/pair_reaxc.cpp b/src/REAXFF/pair_reaxff.cpp similarity index 88% rename from src/REAXFF/pair_reaxc.cpp rename to src/REAXFF/pair_reaxff.cpp index 389b7d9e13..0aea45b9cd 100644 --- a/src/REAXFF/pair_reaxc.cpp +++ b/src/REAXFF/pair_reaxff.cpp @@ -17,18 +17,18 @@ Hasan Metin Aktulga, Michigan State University, hma@cse.msu.edu Per-atom energy/virial added by Ray Shan (Sandia) - Fix reax/c/bonds and fix reax/c/species for pair_style reax/c added by + Fix reaxff/bonds and fix reaxff/species for pair_style reaxff added by Ray Shan (Sandia) Hybrid and hybrid/overlay compatibility added by Ray Shan (Sandia) ------------------------------------------------------------------------- */ -#include "pair_reaxc.h" +#include "pair_reaxff.h" #include "atom.h" #include "citeme.h" #include "comm.h" #include "error.h" -#include "fix_reaxc.h" +#include "fix_reaxff.h" #include "force.h" #include "memory.h" #include "modify.h" @@ -47,7 +47,7 @@ using namespace LAMMPS_NS; using namespace ReaxFF; static const char cite_pair_reax_c[] = - "pair reax/c command:\n\n" + "pair reaxff command:\n\n" "@Article{Aktulga12,\n" " author = {H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama},\n" " title = {Parallel reactive molecular dynamics: Numerical methods and algorithmic techniques},\n" @@ -59,7 +59,7 @@ static const char cite_pair_reax_c[] = /* ---------------------------------------------------------------------- */ -PairReaxC::PairReaxC(LAMMPS *lmp) : Pair(lmp) +PairReaxFF::PairReaxFF(LAMMPS *lmp) : Pair(lmp) { if (lmp->citeme) lmp->citeme->add(cite_pair_reax_c); @@ -70,7 +70,7 @@ PairReaxC::PairReaxC(LAMMPS *lmp) : Pair(lmp) centroidstressflag = CENTROID_NOTAVAIL; ghostneigh = 1; - fix_id = utils::strdup("REAXC_" + std::to_string(instance_me)); + fix_id = utils::strdup("REAXFF_" + std::to_string(instance_me)); api = new API; @@ -102,7 +102,7 @@ PairReaxC::PairReaxC(LAMMPS *lmp) : Pair(lmp) api->system->omp_active = 0; - fix_reax = nullptr; + fix_reaxff = nullptr; tmpid = nullptr; tmpbo = nullptr; @@ -117,11 +117,11 @@ PairReaxC::PairReaxC(LAMMPS *lmp) : Pair(lmp) /* ---------------------------------------------------------------------- */ -PairReaxC::~PairReaxC() +PairReaxFF::~PairReaxFF() { if (copymode) return; - if (fix_reax) modify->delete_fix(fix_id); + if (fix_reaxff) modify->delete_fix(fix_id); delete[] fix_id; if (setup_flag) { @@ -166,7 +166,7 @@ PairReaxC::~PairReaxC() /* ---------------------------------------------------------------------- */ -void PairReaxC::allocate() +void PairReaxFF::allocate() { allocated = 1; int n = atom->ntypes; @@ -183,7 +183,7 @@ void PairReaxC::allocate() /* ---------------------------------------------------------------------- */ -void PairReaxC::settings(int narg, char **arg) +void PairReaxFF::settings(int narg, char **arg) { if (narg < 1) error->all(FLERR,"Illegal pair_style command"); @@ -226,49 +226,49 @@ void PairReaxC::settings(int narg, char **arg) while (iarg < narg) { if (strcmp(arg[iarg],"checkqeq") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal pair_style reax/c command"); + if (iarg+2 > narg) error->all(FLERR,"Illegal pair_style reaxff command"); if (strcmp(arg[iarg+1],"yes") == 0) qeqflag = 1; else if (strcmp(arg[iarg+1],"no") == 0) qeqflag = 0; - else error->all(FLERR,"Illegal pair_style reax/c command"); + else error->all(FLERR,"Illegal pair_style reaxff command"); iarg += 2; } else if (strcmp(arg[iarg],"enobonds") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal pair_style reax/c command"); + if (iarg+2 > narg) error->all(FLERR,"Illegal pair_style reaxff command"); if (strcmp(arg[iarg+1],"yes") == 0) api->control->enobondsflag = 1; else if (strcmp(arg[iarg+1],"no") == 0) api->control->enobondsflag = 0; - else error->all(FLERR,"Illegal pair_style reax/c command"); + else error->all(FLERR,"Illegal pair_style reaxff command"); iarg += 2; } else if (strcmp(arg[iarg],"lgvdw") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal pair_style reax/c command"); + if (iarg+2 > narg) error->all(FLERR,"Illegal pair_style reaxff command"); if (strcmp(arg[iarg+1],"yes") == 0) api->control->lgflag = 1; else if (strcmp(arg[iarg+1],"no") == 0) api->control->lgflag = 0; - else error->all(FLERR,"Illegal pair_style reax/c command"); + else error->all(FLERR,"Illegal pair_style reaxff command"); iarg += 2; } else if (strcmp(arg[iarg],"safezone") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal pair_style reax/c command"); + if (iarg+2 > narg) error->all(FLERR,"Illegal pair_style reaxff command"); api->system->safezone = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (api->system->safezone < 0.0) - error->all(FLERR,"Illegal pair_style reax/c safezone command"); + error->all(FLERR,"Illegal pair_style reaxff safezone command"); api->system->saferzone = api->system->safezone*1.2 + 0.2; iarg += 2; } else if (strcmp(arg[iarg],"mincap") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal pair_style reax/c command"); + if (iarg+2 > narg) error->all(FLERR,"Illegal pair_style reaxff command"); api->system->mincap = utils::inumeric(FLERR,arg[iarg+1],false,lmp); if (api->system->mincap < 0) - error->all(FLERR,"Illegal pair_style reax/c mincap command"); + error->all(FLERR,"Illegal pair_style reaxff mincap command"); iarg += 2; } else if (strcmp(arg[iarg],"minhbonds") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal pair_style reax/c command"); + if (iarg+2 > narg) error->all(FLERR,"Illegal pair_style reaxff command"); api->system->minhbonds = utils::inumeric(FLERR,arg[iarg+1],false,lmp); if (api->system->minhbonds < 0) - error->all(FLERR,"Illegal pair_style reax/c minhbonds command"); + error->all(FLERR,"Illegal pair_style reaxff minhbonds command"); iarg += 2; - } else error->all(FLERR,"Illegal pair_style reax/c command"); + } else error->all(FLERR,"Illegal pair_style reaxff command"); } } /* ---------------------------------------------------------------------- */ -void PairReaxC::coeff(int nargs, char **args) +void PairReaxFF::coeff(int nargs, char **args) { if (!allocated) allocate(); @@ -331,15 +331,15 @@ void PairReaxC::coeff(int nargs, char **args) /* ---------------------------------------------------------------------- */ -void PairReaxC::init_style() +void PairReaxFF::init_style() { if (!atom->q_flag) - error->all(FLERR,"Pair style reax/c requires atom attribute q"); + error->all(FLERR,"Pair style reaxff requires atom attribute q"); bool have_qeq = ((modify->find_fix_by_style("^qeq/reax") != -1) || (modify->find_fix_by_style("^qeq/shielded") != -1)); if (!have_qeq && qeqflag == 1) - error->all(FLERR,"Pair reax/c requires use of fix qeq/reax or qeq/shielded"); + error->all(FLERR,"Pair reaxff requires use of fix qeq/reaxff or qeq/shielded"); api->system->n = atom->nlocal; // my atoms api->system->N = atom->nlocal + atom->nghost; // mine + ghosts @@ -347,14 +347,14 @@ void PairReaxC::init_style() api->system->wsize = comm->nprocs; if (atom->tag_enable == 0) - error->all(FLERR,"Pair style reax/c requires atom IDs"); + error->all(FLERR,"Pair style reaxff requires atom IDs"); if (force->newton_pair == 0) - error->all(FLERR,"Pair style reax/c requires newton pair on"); + error->all(FLERR,"Pair style reaxff requires newton pair on"); // because system->bigN is an int, we cannot have more atoms than MAXSMALLINT if (atom->natoms > MAXSMALLINT) - error->all(FLERR,"Too many atoms for pair style reax/c"); + error->all(FLERR,"Too many atoms for pair style reaxff"); // need a half neighbor list w/ Newton off and ghost neighbors // built whenever re-neighboring occurs @@ -368,15 +368,15 @@ void PairReaxC::init_style() error->warning(FLERR,"Total cutoff < 2*bond cutoff. May need to use an " "increased neighbor list skin."); - if (fix_reax == nullptr) { - modify->add_fix(fmt::format("{} all REAXC",fix_id)); - fix_reax = (FixReaxC *) modify->fix[modify->nfix-1]; + if (fix_reaxff == nullptr) { + modify->add_fix(fmt::format("{} all REAXFF",fix_id)); + fix_reaxff = (FixReaxFF *) modify->fix[modify->nfix-1]; } } /* ---------------------------------------------------------------------- */ -void PairReaxC::setup() +void PairReaxFF::setup() { int oldN; int mincap = api->system->mincap; @@ -391,8 +391,8 @@ void PairReaxC::setup() setup_flag = 1; - int *num_bonds = fix_reax->num_bonds; - int *num_hbonds = fix_reax->num_hbonds; + int *num_bonds = fix_reaxff->num_bonds; + int *num_hbonds = fix_reaxff->num_hbonds; // determine the local and total capacity @@ -408,7 +408,7 @@ void PairReaxC::setup() int num_nbrs = estimate_reax_lists(); if (num_nbrs < 0) - error->all(FLERR,"Too many neighbors for pair style reax/c"); + error->all(FLERR,"Too many neighbors for pair style reaxff"); Make_List(api->system->total_cap,num_nbrs,TYP_FAR_NEIGHBOR,api->lists+FAR_NBRS); (api->lists+FAR_NBRS)->error_ptr=error; @@ -440,7 +440,7 @@ void PairReaxC::setup() /* ---------------------------------------------------------------------- */ -double PairReaxC::init_one(int i, int j) +double PairReaxFF::init_one(int i, int j) { if (setflag[i][j] == 0) error->all(FLERR,"All pair coeffs are not set"); @@ -450,16 +450,16 @@ double PairReaxC::init_one(int i, int j) /* ---------------------------------------------------------------------- */ -void PairReaxC::compute(int eflag, int vflag) +void PairReaxFF::compute(int eflag, int vflag) { double evdwl,ecoul; // communicate num_bonds once every reneighboring // 2 num arrays stored by fix, grab ptr to them - if (neighbor->ago == 0) comm->forward_comm_fix(fix_reax); - int *num_bonds = fix_reax->num_bonds; - int *num_hbonds = fix_reax->num_hbonds; + if (neighbor->ago == 0) comm->forward_comm_fix(fix_reaxff); + int *num_bonds = fix_reaxff->num_bonds; + int *num_hbonds = fix_reaxff->num_hbonds; evdwl = ecoul = 0.0; ev_init(eflag,vflag); @@ -528,7 +528,7 @@ void PairReaxC::compute(int eflag, int vflag) api->data->step = update->ntimestep; - // populate tmpid and tmpbo arrays for fix reax/c/species + // populate tmpid and tmpbo arrays for fix reaxff/species int i, j; if (fixspecies_flag) { @@ -552,10 +552,10 @@ void PairReaxC::compute(int eflag, int vflag) /* ---------------------------------------------------------------------- */ -void PairReaxC::write_reax_atoms() +void PairReaxFF::write_reax_atoms() { - int *num_bonds = fix_reax->num_bonds; - int *num_hbonds = fix_reax->num_hbonds; + int *num_bonds = fix_reaxff->num_bonds; + int *num_hbonds = fix_reaxff->num_hbonds; if (api->system->N > api->system->total_cap) error->all(FLERR,"Too many ghost atoms"); @@ -574,7 +574,7 @@ void PairReaxC::write_reax_atoms() /* ---------------------------------------------------------------------- */ -void PairReaxC::get_distance(rvec xj, rvec xi, double *d_sqr, rvec *dvec) +void PairReaxFF::get_distance(rvec xj, rvec xi, double *d_sqr, rvec *dvec) { (*dvec)[0] = xj[0] - xi[0]; (*dvec)[1] = xj[1] - xi[1]; @@ -584,7 +584,7 @@ void PairReaxC::get_distance(rvec xj, rvec xi, double *d_sqr, rvec *dvec) /* ---------------------------------------------------------------------- */ -void PairReaxC::set_far_nbr(far_neighbor_data *fdest, +void PairReaxFF::set_far_nbr(far_neighbor_data *fdest, int j, double d, rvec dvec) { fdest->nbr = j; @@ -595,7 +595,7 @@ void PairReaxC::set_far_nbr(far_neighbor_data *fdest, /* ---------------------------------------------------------------------- */ -int PairReaxC::estimate_reax_lists() +int PairReaxFF::estimate_reax_lists() { int itr_i, itr_j, i, j; int num_nbrs, num_marked; @@ -641,7 +641,7 @@ int PairReaxC::estimate_reax_lists() /* ---------------------------------------------------------------------- */ -int PairReaxC::write_reax_lists() +int PairReaxFF::write_reax_lists() { int itr_i, itr_j, i, j; int num_nbrs; @@ -697,7 +697,7 @@ int PairReaxC::write_reax_lists() /* ---------------------------------------------------------------------- */ -void PairReaxC::read_reax_forces(int /*vflag*/) +void PairReaxFF::read_reax_forces(int /*vflag*/) { for (int i = 0; i < api->system->N; ++i) { api->system->my_atoms[i].f[0] = api->workspace->f[i][0]; @@ -713,7 +713,7 @@ void PairReaxC::read_reax_forces(int /*vflag*/) /* ---------------------------------------------------------------------- */ -void *PairReaxC::extract(const char *str, int &dim) +void *PairReaxFF::extract(const char *str, int &dim) { dim = 1; if (strcmp(str,"chi") == 0 && chi) { @@ -739,7 +739,7 @@ void *PairReaxC::extract(const char *str, int &dim) /* ---------------------------------------------------------------------- */ -double PairReaxC::memory_usage() +double PairReaxFF::memory_usage() { double bytes = 0.0; @@ -747,12 +747,12 @@ double PairReaxC::memory_usage() bytes += (double)1.0 * api->system->N * sizeof(int); bytes += (double)1.0 * api->system->N * sizeof(double); - // From reaxc_allocate: BO + // From reaxff_allocate: BO bytes += (double)1.0 * api->system->total_cap * sizeof(reax_atom); bytes += (double)19.0 * api->system->total_cap * sizeof(double); bytes += (double)3.0 * api->system->total_cap * sizeof(int); - // From reaxc_lists + // From reaxff_lists bytes += (double)2.0 * api->lists->n * sizeof(int); bytes += (double)api->lists->num_intrs * sizeof(three_body_interaction_data); bytes += (double)api->lists->num_intrs * sizeof(bond_data); @@ -767,7 +767,7 @@ double PairReaxC::memory_usage() /* ---------------------------------------------------------------------- */ -void PairReaxC::FindBond() +void PairReaxFF::FindBond() { int i, j, pj, nj; double bo_tmp, bo_cut; @@ -788,7 +788,7 @@ void PairReaxC::FindBond() tmpid[i][nj] = j; tmpbo[i][nj] = bo_tmp; nj ++; - if (nj > MAXSPECBOND) error->all(FLERR,"Increase MAXSPECBOND in reaxc_defs.h"); + if (nj > MAXSPECBOND) error->all(FLERR,"Increase MAXSPECBOND in reaxff_defs.h"); } } } diff --git a/src/REAXFF/pair_reaxc.h b/src/REAXFF/pair_reaxff.h similarity index 88% rename from src/REAXFF/pair_reaxc.h rename to src/REAXFF/pair_reaxff.h index 36f5bf61d5..f9f3b636c3 100644 --- a/src/REAXFF/pair_reaxc.h +++ b/src/REAXFF/pair_reaxff.h @@ -24,12 +24,13 @@ #ifdef PAIR_CLASS // clang-format off -PairStyle(reax/c,PairReaxC); +PairStyle(reaxff,PairReaxFF); +PairStyle(reax/c,PairReaxFF); // clang-format on #else -#ifndef LMP_PAIR_REAXC_H -#define LMP_PAIR_REAXC_H +#ifndef LMP_PAIR_REAXFF_H +#define LMP_PAIR_REAXFF_H #include "pair.h" @@ -40,10 +41,10 @@ namespace ReaxFF { namespace LAMMPS_NS { -class PairReaxC : public Pair { +class PairReaxFF : public Pair { public: - PairReaxC(class LAMMPS *); - ~PairReaxC(); + PairReaxFF(class LAMMPS *); + ~PairReaxFF(); void compute(int, int); void settings(int, char **); void coeff(int, char **); @@ -60,7 +61,7 @@ class PairReaxC : public Pair { protected: char *fix_id; double cutmax; - class FixReaxC *fix_reax; + class FixReaxFF *fix_reaxff; double *chi,*eta,*gamma; int qeqflag; @@ -93,7 +94,7 @@ protected: E: Too many ghost atoms Number of ghost atoms has increased too much during simulation and has exceeded -the size of reax/c arrays. Increase safe_zone and min_cap in pair_style reax/c +the size of reaxff arrays. Increase safe_zone and min_cap in pair_style reaxff command */ diff --git a/src/REAXFF/reaxc_allocate.cpp b/src/REAXFF/reaxff_allocate.cpp similarity index 100% rename from src/REAXFF/reaxc_allocate.cpp rename to src/REAXFF/reaxff_allocate.cpp diff --git a/src/REAXFF/reaxc_bond_orders.cpp b/src/REAXFF/reaxff_bond_orders.cpp similarity index 100% rename from src/REAXFF/reaxc_bond_orders.cpp rename to src/REAXFF/reaxff_bond_orders.cpp diff --git a/src/REAXFF/reaxc_bonds.cpp b/src/REAXFF/reaxff_bonds.cpp similarity index 100% rename from src/REAXFF/reaxc_bonds.cpp rename to src/REAXFF/reaxff_bonds.cpp diff --git a/src/REAXFF/reaxc_control.cpp b/src/REAXFF/reaxff_control.cpp similarity index 100% rename from src/REAXFF/reaxc_control.cpp rename to src/REAXFF/reaxff_control.cpp diff --git a/src/REAXFF/reaxff_defs.h b/src/REAXFF/reaxff_defs.h index 868f6e22c2..c6df5de0ea 100644 --- a/src/REAXFF/reaxff_defs.h +++ b/src/REAXFF/reaxff_defs.h @@ -50,8 +50,8 @@ #define DANGER_ZONE 0.90 #define LOOSE_ZONE 0.75 -#define MAXREAXBOND 24 /* used in fix_reaxc_bonds.cpp and pair_reaxc.cpp */ -#define MAXSPECBOND 24 /* used in fix_reaxc_species.cpp and pair_reaxc.cpp */ +#define MAXREAXBOND 24 /* used in fix_reaxff_bonds.cpp and pair_reaxff.cpp */ +#define MAXSPECBOND 24 /* used in fix_reaxff_species.cpp and pair_reaxff.cpp */ #define REAX_MAX_3BODY_PARAM 5 #define REAX_MAX_4BODY_PARAM 5 diff --git a/src/REAXFF/reaxc_ffield.cpp b/src/REAXFF/reaxff_ffield.cpp similarity index 100% rename from src/REAXFF/reaxc_ffield.cpp rename to src/REAXFF/reaxff_ffield.cpp diff --git a/src/REAXFF/reaxc_forces.cpp b/src/REAXFF/reaxff_forces.cpp similarity index 100% rename from src/REAXFF/reaxc_forces.cpp rename to src/REAXFF/reaxff_forces.cpp diff --git a/src/REAXFF/reaxc_hydrogen_bonds.cpp b/src/REAXFF/reaxff_hydrogen_bonds.cpp similarity index 100% rename from src/REAXFF/reaxc_hydrogen_bonds.cpp rename to src/REAXFF/reaxff_hydrogen_bonds.cpp diff --git a/src/REAXFF/reaxc_init_md.cpp b/src/REAXFF/reaxff_init_md.cpp similarity index 100% rename from src/REAXFF/reaxc_init_md.cpp rename to src/REAXFF/reaxff_init_md.cpp diff --git a/src/REAXFF/reaxc_list.cpp b/src/REAXFF/reaxff_list.cpp similarity index 100% rename from src/REAXFF/reaxc_list.cpp rename to src/REAXFF/reaxff_list.cpp diff --git a/src/REAXFF/reaxc_lookup.cpp b/src/REAXFF/reaxff_lookup.cpp similarity index 100% rename from src/REAXFF/reaxc_lookup.cpp rename to src/REAXFF/reaxff_lookup.cpp diff --git a/src/REAXFF/reaxc_multi_body.cpp b/src/REAXFF/reaxff_multi_body.cpp similarity index 100% rename from src/REAXFF/reaxc_multi_body.cpp rename to src/REAXFF/reaxff_multi_body.cpp diff --git a/src/REAXFF/reaxc_nonbonded.cpp b/src/REAXFF/reaxff_nonbonded.cpp similarity index 100% rename from src/REAXFF/reaxc_nonbonded.cpp rename to src/REAXFF/reaxff_nonbonded.cpp diff --git a/src/REAXFF/reaxc_reset_tools.cpp b/src/REAXFF/reaxff_reset_tools.cpp similarity index 100% rename from src/REAXFF/reaxc_reset_tools.cpp rename to src/REAXFF/reaxff_reset_tools.cpp diff --git a/src/REAXFF/reaxc_tool_box.cpp b/src/REAXFF/reaxff_tool_box.cpp similarity index 100% rename from src/REAXFF/reaxc_tool_box.cpp rename to src/REAXFF/reaxff_tool_box.cpp diff --git a/src/REAXFF/reaxc_torsion_angles.cpp b/src/REAXFF/reaxff_torsion_angles.cpp similarity index 100% rename from src/REAXFF/reaxc_torsion_angles.cpp rename to src/REAXFF/reaxff_torsion_angles.cpp diff --git a/src/REAXFF/reaxc_valence_angles.cpp b/src/REAXFF/reaxff_valence_angles.cpp similarity index 100% rename from src/REAXFF/reaxc_valence_angles.cpp rename to src/REAXFF/reaxff_valence_angles.cpp diff --git a/tools/README b/tools/README index 0f6f36e78a..eb329e27cd 100644 --- a/tools/README +++ b/tools/README @@ -43,7 +43,6 @@ phonon post-process output of the fix phonon command polybond Python tool for programmable polymer bonding pymol_asphere convert LAMMPS output of ellipsoids to PyMol format python Python scripts for post-processing LAMMPS output -reax Tools for analyzing output of ReaxFF simulations replica tool to reorder LAMMPS replica trajectories according to temperature singularity Singularity container descriptions suitable for LAMMPS development smd convert Smooth Mach Dynamics triangles to VTK diff --git a/tools/reax/Cutoff.dic b/tools/reax/Cutoff.dic deleted file mode 100644 index 7c52b74468..0000000000 --- a/tools/reax/Cutoff.dic +++ /dev/null @@ -1,14 +0,0 @@ -# Interesting name. This file contains -# the bond-order cut off for each -# pair of ReaxFF elements -C N 0.3 -C C 0.55 -C O 0.65 -C H 0.4 -O O 0.65 -N O 0.40 -O H 0.4 -H H 0.55 -H N 0.55 -N N 0.55 -# diff --git a/tools/reax/README.txt b/tools/reax/README.txt deleted file mode 100644 index 3c9fe4506b..0000000000 --- a/tools/reax/README.txt +++ /dev/null @@ -1,10 +0,0 @@ -=== ReaxFF tools === -=============================== - -The programs in this folder can be used to analyze the -output of simulations using the ReaxFF potentials; - -reaxc_bond.pl: reads the bonding information in the - .trj file produced by pair_style reax/c and - outputs molecule counts for each frame. - diff --git a/tools/reax/reaxc_bond.pl b/tools/reax/reaxc_bond.pl deleted file mode 100755 index cc0fd8f238..0000000000 --- a/tools/reax/reaxc_bond.pl +++ /dev/null @@ -1,152 +0,0 @@ -#!/usr/bin/perl -use Getopt::Long; -Getopt::Long::Configure ('bundling'); - -################################################################# -# # -# This script is designed to take the bond information from a # -# Lammps/reaxc *.trj file and output a molecular fraction file # -# for each frame. # -# # -# written by Mike Russo, PSU # -# modified by Aidan Thompson, 5/12/2011 # -# # -# The required .trj file is generated by running LAMMPS # -# with pair_style reax/c and the following settings in # -# the corresponding reax/c control file # -# write_freq 25 ! write trajectory after so many steps -# traj_compress 0 ! 0: no compression 1: uses zlib to compress trajectory output -# traj_title TATB ! (no white spaces) -# atom_info 0 ! 0: no atom info, 1: print basic atom info in the trajectory file -# atom_forces 0 ! 0: basic atom format, 1: print force on each atom in the trajectory file -# atom_velocities 0 ! 0: basic atom format, 1: print the velocity of each atom in the trajectory file -# bond_info 1 ! 0: do not print bonds, 1: print bonds in the trajectory file -# angle_info 0 ! 0: do not print angles, 1: print angles in the trajectory file -# # -################################################################# - -################################################################# -# Setting up some default variables, and options for the user # -# to input. # -################################################################# -$in_file = "bonds.trj"; -@test = qw(C H O N); -GetOptions ('f|file=s' => \$in_file, 'a|atoms=s' => \@atoms, 'h|help' => \$help); -if($help) { - print "Options for this program:\n-f --file for input file default= bonds.trj\n-a --atoms atom types (in correct order and input separately) default= @test\n"; - exit; -} -open INPUT, "<$in_file" or die "Cannot open $in_file: $!"; -open OUTPUT, ">frac.dat" or die "Cannot open output file: $!"; - -if(@atoms) { - @test = @atoms; -} - -print "Input for this run:\n Input file = $in_file\n Atom types = @test\n"; -################################################################# - -################################################################# -# Main loop of the script. Goes through each frames bond list. # -################################################################# -$i = 0; -$section = 0; -$at_count = -1; -while() { - if(/chars_to_skip_section/) { - $section++; - &bonds if($section > 2); - next; - } - next if($section <= 0); #skipping the header section - next if(/\s*[A-Za-z]/); #skip text lines - - split; - if ($section == 1) { - $q = $_[0]; - $temp = $_[1]; - $q--; - $at_type[$q] = $temp; - next; - } - - $_[0]--; - $_[1]--; -# Add i-j and j-i entries - push @{$list[$_[0]]}, $_[1]; - push @{$list[$_[1]]}, $_[0]; - $at_count++ if($section == 2); -} -$section++; -&bonds; -close(INPUT); -################################################################# - -################################################################# -# Subroutine bonds: Uses the bond information to generate a # -# count for each species, put them into molecules, and then # -# count the number of each molecule type. # -################################################################# -sub bonds { - $flag = (); - $k = 0; - for(0..$#list) { - if($flag[$_] == 0) { - push @{$full_list[$k]}, $_; - foreach $atom (@{$full_list[$k]}) { - for($o = 0; $o <= $#{$list[$atom]}; $o++) { - unless(grep /^$list[$atom][$o]$/, @{$full_list[$k]}) { - push @{$full_list[$k]}, $list[$atom][$o]; - $flag[$list[$atom][$o]] = 1; - } - } - } - } else { - next; - } - $k++; - } - -### Output section ### - $frame = $section - 2; - open OUTPUT2, ">temp_$frame.dat" or die "Cannot open temp file: $!"; - print OUTPUT2 "Frame # $frame\n"; - for($m = 0; $m < $k; $m++) { #cycle through each molecule - foreach $atom ((@{$full_list[$m]})) { #for each atom in this molecule - ${"$test[$at_type[$atom]]"} += 1; #Create variable named C,H,O, etc and set it to count - } - print OUTPUT2 "Mol $m = "; - foreach $atom (@test) { - print OUTPUT2 "$atom${$atom}" if(${$atom} > 0); - } - print OUTPUT2 "\n"; - for($r = 0; $r <= $#test; $r++) { - ${"$test[$r]"} = 0; - } - } - - close (OUTPUT2); #close the temp file as output - open INPUT3, ") { - next if(/Frame/); - split; - push @mol_list, $_[3] unless(grep /^$_[3]$/, @mol_list); - ${"$_[3]"}++; - } - print OUTPUT "Frame # $frame\n"; - foreach $mol (@mol_list) { - printf OUTPUT "%4d %s\n", ${"$mol"}, $mol; - ${"$mol"} = 0; - } - @mol_list = (); -### - -### Cleanup between frames ### - for(0..$at_count) { - @{$full_list[$_]} = (); - @{$list[$_]} = (); - } -### -} -################################################################# - From e12070316b4f8c30b8904a6cdd9fc29c8d6696ba Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 21 Jul 2021 22:00:18 -0400 Subject: [PATCH 495/726] fix spelling issue --- doc/utils/sphinx-config/false_positives.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/doc/utils/sphinx-config/false_positives.txt b/doc/utils/sphinx-config/false_positives.txt index 45728b5caf..778fa93e84 100644 --- a/doc/utils/sphinx-config/false_positives.txt +++ b/doc/utils/sphinx-config/false_positives.txt @@ -2744,6 +2744,7 @@ reamin reax REAXFF ReaxFF +reaxff rebo recursing Ree From 03249dec8bf86e59906db4c6cc9102847e8ac4c9 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 21 Jul 2021 22:00:27 -0400 Subject: [PATCH 496/726] reformat --- src/compute_pair.cpp | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/compute_pair.cpp b/src/compute_pair.cpp index a5bf54d5ef..7e1b6fc062 100644 --- a/src/compute_pair.cpp +++ b/src/compute_pair.cpp @@ -14,12 +14,13 @@ #include "compute_pair.h" -#include -#include -#include "update.h" +#include "error.h" #include "force.h" #include "pair.h" -#include "error.h" +#include "update.h" + +#include +#include using namespace LAMMPS_NS; @@ -89,9 +90,9 @@ ComputePair::ComputePair(LAMMPS *lmp, int narg, char **arg) : ComputePair::~ComputePair() { - delete [] pstyle; - delete [] one; - delete [] vector; + delete[] pstyle; + delete[] one; + delete[] vector; } /* ---------------------------------------------------------------------- */ From 5b46e679c818535a78723c33110c109dc954deb4 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 21 Jul 2021 22:00:43 -0400 Subject: [PATCH 497/726] update style names --- unittest/force-styles/tests/atomic-pair-reax_c.yaml | 8 ++++---- unittest/force-styles/tests/atomic-pair-reax_c_lgvdw.yaml | 8 ++++---- unittest/force-styles/tests/atomic-pair-reax_c_noqeq.yaml | 4 ++-- .../force-styles/tests/atomic-pair-reax_c_tabulate.yaml | 8 ++++---- 4 files changed, 14 insertions(+), 14 deletions(-) diff --git a/unittest/force-styles/tests/atomic-pair-reax_c.yaml b/unittest/force-styles/tests/atomic-pair-reax_c.yaml index 9eaad2a949..c4d41a2f2a 100644 --- a/unittest/force-styles/tests/atomic-pair-reax_c.yaml +++ b/unittest/force-styles/tests/atomic-pair-reax_c.yaml @@ -3,8 +3,8 @@ lammps_version: 2 Jul 2021 date_generated: Wed Jul 21 15:49:45 2021 epsilon: 1e-11 prerequisites: ! | - pair reax/c - fix qeq/reax + pair reaxff + fix qeq/reaxff pre_commands: ! | echo screen variable newton_pair delete @@ -27,9 +27,9 @@ pre_commands: ! | set type 3 charge -0.01 velocity all create 100 4534624 loop geom post_commands: ! | - fix qeq all qeq/reax 1 0.0 8.0 1.0e-20 reax/c + fix qeq all qeq/reaxff 1 0.0 8.0 1.0e-20 reaxff input_file: in.empty -pair_style: reax/c NULL checkqeq yes +pair_style: reaxff NULL checkqeq yes pair_coeff: ! | * * ffield.reax.mattsson H C O extract: ! "" diff --git a/unittest/force-styles/tests/atomic-pair-reax_c_lgvdw.yaml b/unittest/force-styles/tests/atomic-pair-reax_c_lgvdw.yaml index 59cb7b5261..c766c242f9 100644 --- a/unittest/force-styles/tests/atomic-pair-reax_c_lgvdw.yaml +++ b/unittest/force-styles/tests/atomic-pair-reax_c_lgvdw.yaml @@ -3,8 +3,8 @@ lammps_version: 2 Jul 2021 date_generated: Wed Jul 21 15:49:47 2021 epsilon: 1e-12 prerequisites: ! | - pair reax/c - fix qeq/reax + pair reaxff + fix qeq/reaxff pre_commands: ! | echo screen variable newton_pair delete @@ -27,9 +27,9 @@ pre_commands: ! | set type 3 charge -0.01 velocity all create 100 4534624 loop geom post_commands: ! | - fix qeq all qeq/reax 1 0.0 8.0 1.0e-20 reax/c + fix qeq all qeq/reaxff 1 0.0 8.0 1.0e-20 reaxff input_file: in.empty -pair_style: reax/c NULL checkqeq yes lgvdw yes safezone 1.6 +pair_style: reaxff NULL checkqeq yes lgvdw yes safezone 1.6 pair_coeff: ! | * * ffield.reax.lg H C O extract: ! "" diff --git a/unittest/force-styles/tests/atomic-pair-reax_c_noqeq.yaml b/unittest/force-styles/tests/atomic-pair-reax_c_noqeq.yaml index 97fbc95c46..de9527d99e 100644 --- a/unittest/force-styles/tests/atomic-pair-reax_c_noqeq.yaml +++ b/unittest/force-styles/tests/atomic-pair-reax_c_noqeq.yaml @@ -3,7 +3,7 @@ lammps_version: 2 Jul 2021 date_generated: Wed Jul 21 15:49:48 2021 epsilon: 5e-13 prerequisites: ! | - pair reax/c + pair reaxff pre_commands: ! | echo screen variable newton_pair delete @@ -24,7 +24,7 @@ pre_commands: ! | velocity all create 100 4534624 loop geom post_commands: ! "" input_file: in.empty -pair_style: reax/c NULL checkqeq no +pair_style: reaxff NULL checkqeq no pair_coeff: ! | * * ffield.reax.mattsson C C extract: ! "" diff --git a/unittest/force-styles/tests/atomic-pair-reax_c_tabulate.yaml b/unittest/force-styles/tests/atomic-pair-reax_c_tabulate.yaml index 23e046037c..59a7f2eea4 100644 --- a/unittest/force-styles/tests/atomic-pair-reax_c_tabulate.yaml +++ b/unittest/force-styles/tests/atomic-pair-reax_c_tabulate.yaml @@ -3,8 +3,8 @@ lammps_version: 2 Jul 2021 date_generated: Wed Jul 21 15:49:50 2021 epsilon: 1e-12 prerequisites: ! | - pair reax/c - fix qeq/reax + pair reaxff + fix qeq/reaxff pre_commands: ! | echo screen shell cp ${input_dir}/reaxff.control reaxff-1.control @@ -28,9 +28,9 @@ pre_commands: ! | set type 3 charge -0.01 velocity all create 100 4534624 loop geom post_commands: ! | - fix qeq all qeq/reax 1 0.0 8.0 1.0e-20 reax/c + fix qeq all qeq/reaxff 1 0.0 8.0 1.0e-20 reaxff input_file: in.empty -pair_style: reax/c reaxff-1.control checkqeq yes +pair_style: reaxff reaxff-1.control checkqeq yes pair_coeff: ! | * * ffield.reax.mattsson H C O extract: ! "" From 9cf50eb4db669ee7f6b9a0e5fc5647db535eba8a Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 21 Jul 2021 22:44:18 -0400 Subject: [PATCH 498/726] add allocation and reduction for per-atom stress with OpenMP --- src/OPENMP/pair_reaxff_omp.cpp | 36 ++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/src/OPENMP/pair_reaxff_omp.cpp b/src/OPENMP/pair_reaxff_omp.cpp index 48fa9e8312..69d68e67e8 100644 --- a/src/OPENMP/pair_reaxff_omp.cpp +++ b/src/OPENMP/pair_reaxff_omp.cpp @@ -58,6 +58,7 @@ #include #endif +#include "omp_compat.h" #include "suffix.h" using namespace LAMMPS_NS; using namespace ReaxFF; @@ -236,7 +237,21 @@ void PairReaxFFOMP::compute(int eflag, int vflag) api->system->n = atom->nlocal; // my atoms api->system->N = atom->nlocal + atom->nghost; // mine + ghosts api->system->bigN = static_cast (atom->natoms); // all atoms in the system + const int nall = api->system->N; +#if defined(_OPENMP) +#pragma omp parallel LMP_DEFAULT_NONE LMP_SHARED(eflag,vflag) +#endif + { +#if defined(_OPENMP) + int tid = omp_get_thread_num(); +#else + int tid = 0; +#endif + ThrData *thr = fix->get_thr(tid); + thr->timer(Timer::START); + ev_setup_thr(eflag, vflag, api->system->N, eatom, vatom, nullptr, thr); + } // setup data structures setup(); @@ -253,6 +268,27 @@ void PairReaxFFOMP::compute(int eflag, int vflag) Compute_ForcesOMP(api->system,api->control,api->data,api->workspace,&api->lists); read_reax_forces(vflag); + const int nthreads = comm->nthreads; +#if defined(_OPENMP) +#pragma omp parallel LMP_DEFAULT_NONE LMP_SHARED(vflag) +#endif + { +#if defined(_OPENMP) + int tid = omp_get_thread_num(); +#else + int tid = 0; +#endif + ThrData *thr = fix->get_thr(tid); + thr->timer(Timer::PAIR); + + // the pair style reduces energy and forces directly. so only reduce virial/ + // per-atom virial and per-atom centroid virial are the same for two-body + // many-body pair styles not yet implemented + if (vflag & (VIRIAL_ATOM | VIRIAL_CENTROID)) { + data_reduce_thr(&(vatom[0][0]), nall , nthreads, 6, tid); + } + } + #if defined(_OPENMP) #pragma omp parallel for schedule(static) #endif From c78d4eab36dcc36be52884fb93519b2d8ec05258 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 21 Jul 2021 22:52:43 -0400 Subject: [PATCH 499/726] update standard examples for new style names --- .../reaxff/{in.reaxc.rdx => in.reaxff.rdx} | 9 +- ...xc.rdx-shielded => in.reaxff.rdx-shielded} | 9 +- .../reaxff/{in.reaxc.tatb => in.reaxff.tatb} | 13 +- ....tatb-shielded => in.reaxff.tatb-shielded} | 13 +- .../log.21Apr21.reaxc.rdx-shielded.g++.4 | 154 ------------------ examples/reaxff/log.21Apr21.reaxc.rdx.g++.1 | 154 ------------------ examples/reaxff/log.21Apr21.reaxc.rdx.g++.4 | 154 ------------------ .../log.21Apr21.reaxc.tatb-shielded.g++.1 | 154 ------------------ .../log.21Apr21.reaxc.tatb-shielded.g++.4 | 154 ------------------ examples/reaxff/log.21Apr21.reaxc.tatb.g++.1 | 154 ------------------ examples/reaxff/log.21Apr21.reaxc.tatb.g++.4 | 154 ------------------ .../log.21Jul21.reaxff.rdx-shielded.g++.1 | 144 ++++++++++++++++ .../log.21Jul21.reaxff.rdx-shielded.g++.4 | 144 ++++++++++++++++ ...ded.g++.1 => log.21Jul21.reaxff.rdx.g++.1} | 60 +++---- examples/reaxff/log.21Jul21.reaxff.rdx.g++.4 | 154 ++++++++++++++++++ .../log.21Jul21.reaxff.tatb-shielded.g++.1 | 142 ++++++++++++++++ .../log.21Jul21.reaxff.tatb-shielded.g++.4 | 142 ++++++++++++++++ examples/reaxff/log.21Jul21.reaxff.tatb.g++.1 | 151 +++++++++++++++++ examples/reaxff/log.21Jul21.reaxff.tatb.g++.4 | 151 +++++++++++++++++ 19 files changed, 1078 insertions(+), 1132 deletions(-) rename examples/reaxff/{in.reaxc.rdx => in.reaxff.rdx} (84%) rename examples/reaxff/{in.reaxc.rdx-shielded => in.reaxff.rdx-shielded} (84%) rename examples/reaxff/{in.reaxc.tatb => in.reaxff.tatb} (78%) rename examples/reaxff/{in.reaxc.tatb-shielded => in.reaxff.tatb-shielded} (77%) delete mode 100644 examples/reaxff/log.21Apr21.reaxc.rdx-shielded.g++.4 delete mode 100644 examples/reaxff/log.21Apr21.reaxc.rdx.g++.1 delete mode 100644 examples/reaxff/log.21Apr21.reaxc.rdx.g++.4 delete mode 100644 examples/reaxff/log.21Apr21.reaxc.tatb-shielded.g++.1 delete mode 100644 examples/reaxff/log.21Apr21.reaxc.tatb-shielded.g++.4 delete mode 100644 examples/reaxff/log.21Apr21.reaxc.tatb.g++.1 delete mode 100644 examples/reaxff/log.21Apr21.reaxc.tatb.g++.4 create mode 100644 examples/reaxff/log.21Jul21.reaxff.rdx-shielded.g++.1 create mode 100644 examples/reaxff/log.21Jul21.reaxff.rdx-shielded.g++.4 rename examples/reaxff/{log.21Apr21.reaxc.rdx-shielded.g++.1 => log.21Jul21.reaxff.rdx.g++.1} (78%) create mode 100644 examples/reaxff/log.21Jul21.reaxff.rdx.g++.4 create mode 100644 examples/reaxff/log.21Jul21.reaxff.tatb-shielded.g++.1 create mode 100644 examples/reaxff/log.21Jul21.reaxff.tatb-shielded.g++.4 create mode 100644 examples/reaxff/log.21Jul21.reaxff.tatb.g++.1 create mode 100644 examples/reaxff/log.21Jul21.reaxff.tatb.g++.4 diff --git a/examples/reaxff/in.reaxc.rdx b/examples/reaxff/in.reaxff.rdx similarity index 84% rename from examples/reaxff/in.reaxc.rdx rename to examples/reaxff/in.reaxff.rdx index 36bf2a6e8c..82a582e958 100644 --- a/examples/reaxff/in.reaxc.rdx +++ b/examples/reaxff/in.reaxff.rdx @@ -1,15 +1,14 @@ # ReaxFF potential for RDX system -# this run is equivalent to reax/in.reax.rdx units real atom_style charge read_data data.rdx -pair_style reax/c control.reax_c.rdx +pair_style reaxff control.reax_c.rdx pair_coeff * * ffield.reax C H O N -compute reax all pair reax/c +compute reax all pair reaxff variable eb equal c_reax[1] variable ea equal c_reax[2] @@ -30,7 +29,7 @@ neighbor 2.5 bin neigh_modify every 10 delay 0 check no fix 1 all nve -fix 2 all qeq/reax 1 0.0 10.0 1.0e-6 reax/c +fix 2 all qeq/reaxff 1 0.0 10.0 1.0e-6 reaxff variable nqeq equal f_2 @@ -41,7 +40,7 @@ thermo_style custom step temp epair etotal press & timestep 1.0 -#dump 1 all atom 10 dump.reaxc.rdx +#dump 1 all atom 10 dump.reaxff.rdx #dump 2 all image 25 image.*.jpg type type & # axes yes 0.8 0.02 view 60 -30 diff --git a/examples/reaxff/in.reaxc.rdx-shielded b/examples/reaxff/in.reaxff.rdx-shielded similarity index 84% rename from examples/reaxff/in.reaxc.rdx-shielded rename to examples/reaxff/in.reaxff.rdx-shielded index 2151f63a5f..d1a5f0beaa 100644 --- a/examples/reaxff/in.reaxc.rdx-shielded +++ b/examples/reaxff/in.reaxff.rdx-shielded @@ -1,15 +1,14 @@ # ReaxFF potential for RDX system -# this run is equivalent to reax/in.reax.rdx units real atom_style charge read_data data.rdx -pair_style reax/c control.reax_c.rdx +pair_style reaxff control.reax_c.rdx pair_coeff * * ffield.reax C H O N -compute reax all pair reax/c +compute reax all pair reaxff variable eb equal c_reax[1] variable ea equal c_reax[2] @@ -30,7 +29,7 @@ neighbor 2.5 bin neigh_modify every 10 delay 0 check no fix 1 all nve -fix 2 all qeq/shielded 1 10.0 1.0e-6 100 reax/c +fix 2 all qeq/shielded 1 10.0 1.0e-6 100 reaxff variable nqeq equal f_2 thermo 10 @@ -40,7 +39,7 @@ thermo_style custom step temp epair etotal press & timestep 1.0 -#dump 1 all atom 10 dump.reaxc.rdx +#dump 1 all atom 10 dump.reaxff.rdx #dump 2 all image 25 image.*.jpg type type & # axes yes 0.8 0.02 view 60 -30 diff --git a/examples/reaxff/in.reaxc.tatb b/examples/reaxff/in.reaxff.tatb similarity index 78% rename from examples/reaxff/in.reaxc.tatb rename to examples/reaxff/in.reaxff.tatb index 474290340f..6cf7828cf1 100644 --- a/examples/reaxff/in.reaxc.tatb +++ b/examples/reaxff/in.reaxff.tatb @@ -1,15 +1,14 @@ # ReaxFF potential for TATB system -# this run is equivalent to reax/in.reax.tatb, units real atom_style charge read_data data.tatb -pair_style reax/c control.reax_c.tatb +pair_style reaxff control.reax_c.tatb pair_coeff * * ffield.reax C H O N -compute reax all pair reax/c +compute reax all pair reaxff variable eb equal c_reax[1] variable ea equal c_reax[2] @@ -30,8 +29,8 @@ neighbor 2.5 bin neigh_modify delay 0 every 5 check no fix 1 all nve -fix 2 all qeq/reax 1 0.0 10.0 1.0e-6 reax/c -fix 4 all reax/c/bonds 5 bonds.reaxc +fix 2 all qeq/reaxff 1 0.0 10.0 1.0e-6 reaxff +fix 4 all reaxff/bonds 5 bonds.reaxff variable nqeq equal f_2 thermo 5 @@ -41,7 +40,7 @@ thermo_style custom step temp epair etotal press & timestep 0.0625 -#dump 1 all custom 100 dump.reaxc.tatb id type q x y z +#dump 1 all custom 100 dump.reaxff.tatb id type q x y z #dump 2 all image 5 image.*.jpg type type & # axes yes 0.8 0.02 view 60 -30 @@ -51,6 +50,6 @@ timestep 0.0625 # axes yes 0.8 0.02 view 60 -30 #dump_modify 3 pad 3 -fix 3 all reax/c/species 1 5 5 species.tatb +fix 3 all reaxff/species 1 5 5 species.tatb run 25 diff --git a/examples/reaxff/in.reaxc.tatb-shielded b/examples/reaxff/in.reaxff.tatb-shielded similarity index 77% rename from examples/reaxff/in.reaxc.tatb-shielded rename to examples/reaxff/in.reaxff.tatb-shielded index aeac3308a8..5a809ecdd2 100644 --- a/examples/reaxff/in.reaxc.tatb-shielded +++ b/examples/reaxff/in.reaxff.tatb-shielded @@ -1,15 +1,14 @@ # ReaxFF potential for TATB system -# this run is equivalent to reax/in.reax.tatb, units real atom_style charge read_data data.tatb -pair_style reax/c control.reax_c.tatb +pair_style reaxff control.reax_c.tatb pair_coeff * * ffield.reax C H O N -compute reax all pair reax/c +compute reax all pair reaxff variable eb equal c_reax[1] variable ea equal c_reax[2] @@ -30,8 +29,8 @@ neighbor 2.5 bin neigh_modify delay 0 every 5 check no fix 1 all nve -fix 2 all qeq/shielded 1 10.0 1.0e-6 100 reax/c -fix 4 all reax/c/bonds 5 bonds.reaxc +fix 2 all qeq/shielded 1 10.0 1.0e-6 100 reaxff +fix 4 all reaxff/bonds 5 bonds.reaxff variable nqeq equal f_2 thermo 5 @@ -41,7 +40,7 @@ thermo_style custom step temp epair etotal press & timestep 0.0625 -#dump 1 all custom 100 dump.reaxc.tatb id type q x y z +#dump 1 all custom 100 dump.reaxff.tatb id type q x y z #dump 2 all image 5 image.*.jpg type type & # axes yes 0.8 0.02 view 60 -30 @@ -51,6 +50,6 @@ timestep 0.0625 # axes yes 0.8 0.02 view 60 -30 #dump_modify 3 pad 3 -fix 3 all reax/c/species 1 5 5 species.tatb +fix 3 all reaxff/species 1 5 5 species.tatb run 25 diff --git a/examples/reaxff/log.21Apr21.reaxc.rdx-shielded.g++.4 b/examples/reaxff/log.21Apr21.reaxc.rdx-shielded.g++.4 deleted file mode 100644 index 79fa5f77b2..0000000000 --- a/examples/reaxff/log.21Apr21.reaxc.rdx-shielded.g++.4 +++ /dev/null @@ -1,154 +0,0 @@ -LAMMPS (8 Apr 2021) - using 1 OpenMP thread(s) per MPI task -# ReaxFF potential for RDX system -# this run is equivalent to reax/in.reax.rdx - -units real - -atom_style charge -read_data data.rdx -Reading data file ... - orthogonal box = (35.000000 35.000000 35.000000) to (48.000000 48.000000 48.000000) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 21 atoms - read_data CPU = 0.001 seconds - -pair_style reax/c control.reax_c.rdx -WARNING: Ignoring inactive control parameter: simulation_name (src/USER-REAXC/reaxc_control.cpp:97) -WARNING: Ignoring inactive control parameter: energy_update_freq (src/USER-REAXC/reaxc_control.cpp:97) -WARNING: Support for writing native trajectories has been removed after LAMMPS version 8 April 2021 (src/USER-REAXC/reaxc_control.cpp:113) -WARNING: Ignoring inactive control parameter: traj_title (src/USER-REAXC/reaxc_control.cpp:97) -WARNING: Ignoring inactive control parameter: atom_info (src/USER-REAXC/reaxc_control.cpp:97) -WARNING: Ignoring inactive control parameter: atom_forces (src/USER-REAXC/reaxc_control.cpp:97) -WARNING: Ignoring inactive control parameter: atom_velocities (src/USER-REAXC/reaxc_control.cpp:97) -WARNING: Ignoring inactive control parameter: bond_info (src/USER-REAXC/reaxc_control.cpp:97) -WARNING: Ignoring inactive control parameter: angle_info (src/USER-REAXC/reaxc_control.cpp:97) -pair_coeff * * ffield.reax C H O N -Reading potential file ffield.reax with DATE: 2010-02-19 - -compute reax all pair reax/c - -variable eb equal c_reax[1] -variable ea equal c_reax[2] -variable elp equal c_reax[3] -variable emol equal c_reax[4] -variable ev equal c_reax[5] -variable epen equal c_reax[6] -variable ecoa equal c_reax[7] -variable ehb equal c_reax[8] -variable et equal c_reax[9] -variable eco equal c_reax[10] -variable ew equal c_reax[11] -variable ep equal c_reax[12] -variable efi equal c_reax[13] -variable eqeq equal c_reax[14] - -neighbor 2.5 bin -neigh_modify every 10 delay 0 check no - -fix 1 all nve -fix 2 all qeq/reax 1 0.0 10.0 1.0e-6 reax/c - -variable nqeq equal f_2 - -thermo 10 -thermo_style custom step temp epair etotal press v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq v_nqeq - -timestep 1.0 - -#dump 1 all atom 10 dump.reaxc.rdx - -#dump 2 all image 25 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 3 - -#dump 3 all movie 25 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 3 - -run 100 - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - -Your simulation uses code contributions which should be cited: - -- pair reax/c command: - -@Article{Aktulga12, - author = {H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama}, - title = {Parallel reactive molecular dynamics: Numerical methods and algorithmic techniques}, - journal = {Parallel Computing}, - year = 2012, - volume = 38, - pages = {245--259} -} - -- fix qeq/reax command: - -@Article{Aktulga12, - author = {H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama}, - title = {Parallel reactive molecular dynamics: Numerical methods and algorithmic techniques}, - journal = {Parallel Computing}, - year = 2012, - volume = 38, - pages = {245--259} -} - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - -Neighbor list info ... - update every 10 steps, delay 0 steps, check no - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 12.5 - ghost atom cutoff = 12.5 - binsize = 6.25, bins = 3 3 3 - 2 neighbor lists, perpetual/occasional/extra = 2 0 0 - (1) pair reax/c, perpetual - attributes: half, newton off, ghost - pair build: half/bin/newtoff/ghost - stencil: half/ghost/bin/3d/newtoff - bin: standard - (2) fix qeq/reax, perpetual, copy from (1) - attributes: half, newton off, ghost - pair build: copy - stencil: none - bin: none -Per MPI rank memory allocation (min/avg/max) = 13.36 | 13.36 | 13.36 Mbytes -Step Temp E_pair TotEng Press v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq v_nqeq - 0 0 -1884.3081 -1884.3081 27186.181 -2958.4712 79.527715 0.31082031 0 98.589783 25.846176 -0.18034154 0 16.709078 -9.1620736 938.43732 -244.79931 0 168.88396 12.5 - 10 1288.6116 -1989.6644 -1912.8422 -19456.353 -2734.6769 -15.607221 0.2017796 0 54.629557 3.125229 -77.7067 0 14.933901 -5.8108541 843.92073 -180.43321 0 107.75935 8 - 20 538.95819 -1942.7037 -1910.5731 -10725.639 -2803.7394 7.9078269 0.07792668 0 81.610053 0.22951941 -57.557107 0 30.331207 -10.178049 878.99009 -159.68914 0 89.313379 7 - 30 463.09535 -1933.5765 -1905.9686 -33255.546 -2749.859 -8.0154745 0.02762893 0 81.627395 0.11972413 -50.262293 0 20.820303 -9.6327015 851.88715 -149.49499 0 79.205727 8 - 40 885.49171 -1958.9125 -1906.1229 -4814.6856 -2795.644 9.150669 0.13747498 0 70.947982 0.24360485 -57.862663 0 19.076496 -11.141218 873.73893 -159.99393 0 92.434096 11 - 50 861.16578 -1954.4599 -1903.1205 -1896.7713 -2784.845 3.8270515 0.15793266 0 79.851823 3.3492142 -78.06613 0 32.629016 -7.956541 872.81838 -190.98567 0 114.75995 10 - 60 1167.7852 -1971.8429 -1902.224 -3482.7305 -2705.863 -17.12171 0.22749077 0 44.507654 7.8560745 -74.788955 0 16.256483 -4.6046431 835.8304 -188.33691 0 114.19413 10 - 70 1439.9966 -1989.3024 -1903.4553 23845.651 -2890.7895 31.958845 0.26671721 0 85.758695 3.1803544 -71.002903 0 24.357134 -10.31131 905.86775 -175.38471 0 106.79648 10 - 80 502.39438 -1930.7544 -1900.8035 -20356.316 -2703.8115 -18.662467 0.11286011 0 99.804201 2.0329024 -76.171317 0 19.237028 -6.2786907 826.47451 -166.03125 0 92.539398 9 - 90 749.08499 -1946.9838 -1902.3262 17798.51 -2863.7576 42.068716 0.2433807 0 96.181613 0.96184888 -69.955448 0 24.615302 -11.582765 903.68818 -190.13843 0 120.69141 11 - 100 1109.6968 -1968.5874 -1902.4315 -4490.1018 -2755.8965 -7.1231014 0.21757699 0 61.806018 7.0827673 -75.645345 0 20.114997 -6.2371964 863.5635 -198.56976 0 122.09961 10.5 -Loop time of 0.617778 on 1 procs for 100 steps with 21 atoms - -Performance: 13.986 ns/day, 1.716 hours/ns, 161.871 timesteps/s -99.8% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.52159 | 0.52159 | 0.52159 | 0.0 | 84.43 -Neigh | 0.03479 | 0.03479 | 0.03479 | 0.0 | 5.63 -Comm | 0.0017166 | 0.0017166 | 0.0017166 | 0.0 | 0.28 -Output | 0.00061226 | 0.00061226 | 0.00061226 | 0.0 | 0.10 -Modify | 0.058924 | 0.058924 | 0.058924 | 0.0 | 9.54 -Other | | 0.0001466 | | | 0.02 - -Nlocal: 21.0000 ave 21 max 21 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 546.000 ave 546 max 546 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 1096.00 ave 1096 max 1096 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 1096 -Ave neighs/atom = 52.190476 -Neighbor list builds = 10 -Dangerous builds not checked -Total wall time: 0:00:00 diff --git a/examples/reaxff/log.21Apr21.reaxc.rdx.g++.1 b/examples/reaxff/log.21Apr21.reaxc.rdx.g++.1 deleted file mode 100644 index 38347ffce7..0000000000 --- a/examples/reaxff/log.21Apr21.reaxc.rdx.g++.1 +++ /dev/null @@ -1,154 +0,0 @@ -LAMMPS (8 Apr 2021) - using 1 OpenMP thread(s) per MPI task -# ReaxFF potential for RDX system -# this run is equivalent to reax/in.reax.rdx - -units real - -atom_style charge -read_data data.rdx -Reading data file ... - orthogonal box = (35.000000 35.000000 35.000000) to (48.000000 48.000000 48.000000) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 21 atoms - read_data CPU = 0.001 seconds - -pair_style reax/c control.reax_c.rdx -WARNING: Ignoring inactive control parameter: simulation_name (src/USER-REAXC/reaxc_control.cpp:97) -WARNING: Ignoring inactive control parameter: energy_update_freq (src/USER-REAXC/reaxc_control.cpp:97) -WARNING: Support for writing native trajectories has been removed after LAMMPS version 8 April 2021 (src/USER-REAXC/reaxc_control.cpp:113) -WARNING: Ignoring inactive control parameter: traj_title (src/USER-REAXC/reaxc_control.cpp:97) -WARNING: Ignoring inactive control parameter: atom_info (src/USER-REAXC/reaxc_control.cpp:97) -WARNING: Ignoring inactive control parameter: atom_forces (src/USER-REAXC/reaxc_control.cpp:97) -WARNING: Ignoring inactive control parameter: atom_velocities (src/USER-REAXC/reaxc_control.cpp:97) -WARNING: Ignoring inactive control parameter: bond_info (src/USER-REAXC/reaxc_control.cpp:97) -WARNING: Ignoring inactive control parameter: angle_info (src/USER-REAXC/reaxc_control.cpp:97) -pair_coeff * * ffield.reax C H O N -Reading potential file ffield.reax with DATE: 2010-02-19 - -compute reax all pair reax/c - -variable eb equal c_reax[1] -variable ea equal c_reax[2] -variable elp equal c_reax[3] -variable emol equal c_reax[4] -variable ev equal c_reax[5] -variable epen equal c_reax[6] -variable ecoa equal c_reax[7] -variable ehb equal c_reax[8] -variable et equal c_reax[9] -variable eco equal c_reax[10] -variable ew equal c_reax[11] -variable ep equal c_reax[12] -variable efi equal c_reax[13] -variable eqeq equal c_reax[14] - -neighbor 2.5 bin -neigh_modify every 10 delay 0 check no - -fix 1 all nve -fix 2 all qeq/reax 1 0.0 10.0 1.0e-6 reax/c - -variable nqeq equal f_2 - -thermo 10 -thermo_style custom step temp epair etotal press v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq v_nqeq - -timestep 1.0 - -#dump 1 all atom 10 dump.reaxc.rdx - -#dump 2 all image 25 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 3 - -#dump 3 all movie 25 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 3 - -run 100 - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - -Your simulation uses code contributions which should be cited: - -- pair reax/c command: - -@Article{Aktulga12, - author = {H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama}, - title = {Parallel reactive molecular dynamics: Numerical methods and algorithmic techniques}, - journal = {Parallel Computing}, - year = 2012, - volume = 38, - pages = {245--259} -} - -- fix qeq/reax command: - -@Article{Aktulga12, - author = {H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama}, - title = {Parallel reactive molecular dynamics: Numerical methods and algorithmic techniques}, - journal = {Parallel Computing}, - year = 2012, - volume = 38, - pages = {245--259} -} - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - -Neighbor list info ... - update every 10 steps, delay 0 steps, check no - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 12.5 - ghost atom cutoff = 12.5 - binsize = 6.25, bins = 3 3 3 - 2 neighbor lists, perpetual/occasional/extra = 2 0 0 - (1) pair reax/c, perpetual - attributes: half, newton off, ghost - pair build: half/bin/newtoff/ghost - stencil: half/ghost/bin/3d/newtoff - bin: standard - (2) fix qeq/reax, perpetual, copy from (1) - attributes: half, newton off, ghost - pair build: copy - stencil: none - bin: none -Per MPI rank memory allocation (min/avg/max) = 13.36 | 13.36 | 13.36 Mbytes -Step Temp E_pair TotEng Press v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq v_nqeq - 0 0 -1884.3081 -1884.3081 27186.181 -2958.4712 79.527715 0.31082031 0 98.589783 25.846176 -0.18034154 0 16.709078 -9.1620736 938.43732 -244.79931 0 168.88396 12.5 - 10 1288.6116 -1989.6644 -1912.8422 -19456.353 -2734.6769 -15.607221 0.2017796 0 54.629557 3.125229 -77.7067 0 14.933901 -5.8108541 843.92073 -180.43321 0 107.75935 8 - 20 538.95819 -1942.7037 -1910.5731 -10725.639 -2803.7394 7.9078269 0.07792668 0 81.610053 0.22951941 -57.557107 0 30.331207 -10.178049 878.99009 -159.68914 0 89.313379 7 - 30 463.09535 -1933.5765 -1905.9686 -33255.546 -2749.859 -8.0154745 0.02762893 0 81.627395 0.11972413 -50.262293 0 20.820303 -9.6327015 851.88715 -149.49499 0 79.205727 8 - 40 885.49171 -1958.9125 -1906.1229 -4814.6856 -2795.644 9.150669 0.13747498 0 70.947982 0.24360485 -57.862663 0 19.076496 -11.141218 873.73893 -159.99393 0 92.434096 11 - 50 861.16578 -1954.4599 -1903.1205 -1896.7713 -2784.845 3.8270515 0.15793266 0 79.851823 3.3492142 -78.06613 0 32.629016 -7.956541 872.81838 -190.98567 0 114.75995 10 - 60 1167.7852 -1971.8429 -1902.224 -3482.7305 -2705.863 -17.12171 0.22749077 0 44.507654 7.8560745 -74.788955 0 16.256483 -4.6046431 835.8304 -188.33691 0 114.19413 10 - 70 1439.9966 -1989.3024 -1903.4553 23845.651 -2890.7895 31.958845 0.26671721 0 85.758695 3.1803544 -71.002903 0 24.357134 -10.31131 905.86775 -175.38471 0 106.79648 10 - 80 502.39438 -1930.7544 -1900.8035 -20356.316 -2703.8115 -18.662467 0.11286011 0 99.804201 2.0329024 -76.171317 0 19.237028 -6.2786907 826.47451 -166.03125 0 92.539398 9 - 90 749.08499 -1946.9838 -1902.3262 17798.51 -2863.7576 42.068716 0.2433807 0 96.181613 0.96184888 -69.955448 0 24.615302 -11.582765 903.68818 -190.13843 0 120.69141 11 - 100 1109.6968 -1968.5874 -1902.4315 -4490.1018 -2755.8965 -7.1231014 0.21757699 0 61.806018 7.0827673 -75.645345 0 20.114997 -6.2371964 863.5635 -198.56976 0 122.09961 10.5 -Loop time of 0.618477 on 1 procs for 100 steps with 21 atoms - -Performance: 13.970 ns/day, 1.718 hours/ns, 161.687 timesteps/s -99.9% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.52329 | 0.52329 | 0.52329 | 0.0 | 84.61 -Neigh | 0.03397 | 0.03397 | 0.03397 | 0.0 | 5.49 -Comm | 0.0017006 | 0.0017006 | 0.0017006 | 0.0 | 0.27 -Output | 0.00060892 | 0.00060892 | 0.00060892 | 0.0 | 0.10 -Modify | 0.058764 | 0.058764 | 0.058764 | 0.0 | 9.50 -Other | | 0.0001407 | | | 0.02 - -Nlocal: 21.0000 ave 21 max 21 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 546.000 ave 546 max 546 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 1096.00 ave 1096 max 1096 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 1096 -Ave neighs/atom = 52.190476 -Neighbor list builds = 10 -Dangerous builds not checked -Total wall time: 0:00:00 diff --git a/examples/reaxff/log.21Apr21.reaxc.rdx.g++.4 b/examples/reaxff/log.21Apr21.reaxc.rdx.g++.4 deleted file mode 100644 index a409cbe358..0000000000 --- a/examples/reaxff/log.21Apr21.reaxc.rdx.g++.4 +++ /dev/null @@ -1,154 +0,0 @@ -LAMMPS (8 Apr 2021) - using 1 OpenMP thread(s) per MPI task -# ReaxFF potential for RDX system -# this run is equivalent to reax/in.reax.rdx - -units real - -atom_style charge -read_data data.rdx -Reading data file ... - orthogonal box = (35.000000 35.000000 35.000000) to (48.000000 48.000000 48.000000) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 21 atoms - read_data CPU = 0.001 seconds - -pair_style reax/c control.reax_c.rdx -WARNING: Ignoring inactive control parameter: simulation_name (src/USER-REAXC/reaxc_control.cpp:97) -WARNING: Ignoring inactive control parameter: energy_update_freq (src/USER-REAXC/reaxc_control.cpp:97) -WARNING: Support for writing native trajectories has been removed after LAMMPS version 8 April 2021 (src/USER-REAXC/reaxc_control.cpp:113) -WARNING: Ignoring inactive control parameter: traj_title (src/USER-REAXC/reaxc_control.cpp:97) -WARNING: Ignoring inactive control parameter: atom_info (src/USER-REAXC/reaxc_control.cpp:97) -WARNING: Ignoring inactive control parameter: atom_forces (src/USER-REAXC/reaxc_control.cpp:97) -WARNING: Ignoring inactive control parameter: atom_velocities (src/USER-REAXC/reaxc_control.cpp:97) -WARNING: Ignoring inactive control parameter: bond_info (src/USER-REAXC/reaxc_control.cpp:97) -WARNING: Ignoring inactive control parameter: angle_info (src/USER-REAXC/reaxc_control.cpp:97) -pair_coeff * * ffield.reax C H O N -Reading potential file ffield.reax with DATE: 2010-02-19 - -compute reax all pair reax/c - -variable eb equal c_reax[1] -variable ea equal c_reax[2] -variable elp equal c_reax[3] -variable emol equal c_reax[4] -variable ev equal c_reax[5] -variable epen equal c_reax[6] -variable ecoa equal c_reax[7] -variable ehb equal c_reax[8] -variable et equal c_reax[9] -variable eco equal c_reax[10] -variable ew equal c_reax[11] -variable ep equal c_reax[12] -variable efi equal c_reax[13] -variable eqeq equal c_reax[14] - -neighbor 2.5 bin -neigh_modify every 10 delay 0 check no - -fix 1 all nve -fix 2 all qeq/reax 1 0.0 10.0 1.0e-6 reax/c - -variable nqeq equal f_2 - -thermo 10 -thermo_style custom step temp epair etotal press v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq v_nqeq - -timestep 1.0 - -#dump 1 all atom 10 dump.reaxc.rdx - -#dump 2 all image 25 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 3 - -#dump 3 all movie 25 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 3 - -run 100 - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - -Your simulation uses code contributions which should be cited: - -- pair reax/c command: - -@Article{Aktulga12, - author = {H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama}, - title = {Parallel reactive molecular dynamics: Numerical methods and algorithmic techniques}, - journal = {Parallel Computing}, - year = 2012, - volume = 38, - pages = {245--259} -} - -- fix qeq/reax command: - -@Article{Aktulga12, - author = {H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama}, - title = {Parallel reactive molecular dynamics: Numerical methods and algorithmic techniques}, - journal = {Parallel Computing}, - year = 2012, - volume = 38, - pages = {245--259} -} - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - -Neighbor list info ... - update every 10 steps, delay 0 steps, check no - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 12.5 - ghost atom cutoff = 12.5 - binsize = 6.25, bins = 3 3 3 - 2 neighbor lists, perpetual/occasional/extra = 2 0 0 - (1) pair reax/c, perpetual - attributes: half, newton off, ghost - pair build: half/bin/newtoff/ghost - stencil: half/ghost/bin/3d/newtoff - bin: standard - (2) fix qeq/reax, perpetual, copy from (1) - attributes: half, newton off, ghost - pair build: copy - stencil: none - bin: none -Per MPI rank memory allocation (min/avg/max) = 13.36 | 13.36 | 13.36 Mbytes -Step Temp E_pair TotEng Press v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq v_nqeq - 0 0 -1884.3081 -1884.3081 27186.181 -2958.4712 79.527715 0.31082031 0 98.589783 25.846176 -0.18034154 0 16.709078 -9.1620736 938.43732 -244.79931 0 168.88396 12.5 - 10 1288.6116 -1989.6644 -1912.8422 -19456.353 -2734.6769 -15.607221 0.2017796 0 54.629557 3.125229 -77.7067 0 14.933901 -5.8108541 843.92073 -180.43321 0 107.75935 8 - 20 538.95819 -1942.7037 -1910.5731 -10725.639 -2803.7394 7.9078269 0.07792668 0 81.610053 0.22951941 -57.557107 0 30.331207 -10.178049 878.99009 -159.68914 0 89.313379 7 - 30 463.09535 -1933.5765 -1905.9686 -33255.546 -2749.859 -8.0154745 0.02762893 0 81.627395 0.11972413 -50.262293 0 20.820303 -9.6327015 851.88715 -149.49499 0 79.205727 8 - 40 885.49171 -1958.9125 -1906.1229 -4814.6856 -2795.644 9.150669 0.13747498 0 70.947982 0.24360485 -57.862663 0 19.076496 -11.141218 873.73893 -159.99393 0 92.434096 11 - 50 861.16578 -1954.4599 -1903.1205 -1896.7713 -2784.845 3.8270515 0.15793266 0 79.851823 3.3492142 -78.06613 0 32.629016 -7.956541 872.81838 -190.98567 0 114.75995 10 - 60 1167.7852 -1971.8429 -1902.224 -3482.7305 -2705.863 -17.12171 0.22749077 0 44.507654 7.8560745 -74.788955 0 16.256483 -4.6046431 835.8304 -188.33691 0 114.19413 10 - 70 1439.9966 -1989.3024 -1903.4553 23845.651 -2890.7895 31.958845 0.26671721 0 85.758695 3.1803544 -71.002903 0 24.357134 -10.31131 905.86775 -175.38471 0 106.79648 10 - 80 502.39438 -1930.7544 -1900.8035 -20356.316 -2703.8115 -18.662467 0.11286011 0 99.804201 2.0329024 -76.171317 0 19.237028 -6.2786907 826.47451 -166.03125 0 92.539398 9 - 90 749.08499 -1946.9838 -1902.3262 17798.51 -2863.7576 42.068716 0.2433807 0 96.181613 0.96184888 -69.955448 0 24.615302 -11.582765 903.68818 -190.13843 0 120.69141 11 - 100 1109.6968 -1968.5874 -1902.4315 -4490.1018 -2755.8965 -7.1231014 0.21757699 0 61.806018 7.0827673 -75.645345 0 20.114997 -6.2371964 863.5635 -198.56976 0 122.09961 10.5 -Loop time of 0.618479 on 1 procs for 100 steps with 21 atoms - -Performance: 13.970 ns/day, 1.718 hours/ns, 161.687 timesteps/s -99.8% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.52299 | 0.52299 | 0.52299 | 0.0 | 84.56 -Neigh | 0.034338 | 0.034338 | 0.034338 | 0.0 | 5.55 -Comm | 0.0017166 | 0.0017166 | 0.0017166 | 0.0 | 0.28 -Output | 0.00060272 | 0.00060272 | 0.00060272 | 0.0 | 0.10 -Modify | 0.058692 | 0.058692 | 0.058692 | 0.0 | 9.49 -Other | | 0.0001385 | | | 0.02 - -Nlocal: 21.0000 ave 21 max 21 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 546.000 ave 546 max 546 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 1096.00 ave 1096 max 1096 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 1096 -Ave neighs/atom = 52.190476 -Neighbor list builds = 10 -Dangerous builds not checked -Total wall time: 0:00:00 diff --git a/examples/reaxff/log.21Apr21.reaxc.tatb-shielded.g++.1 b/examples/reaxff/log.21Apr21.reaxc.tatb-shielded.g++.1 deleted file mode 100644 index dac271442b..0000000000 --- a/examples/reaxff/log.21Apr21.reaxc.tatb-shielded.g++.1 +++ /dev/null @@ -1,154 +0,0 @@ -LAMMPS (8 Apr 2021) - using 1 OpenMP thread(s) per MPI task -# ReaxFF potential for RDX system -# this run is equivalent to reax/in.reax.rdx - -units real - -atom_style charge -read_data data.rdx -Reading data file ... - orthogonal box = (35.000000 35.000000 35.000000) to (48.000000 48.000000 48.000000) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 21 atoms - read_data CPU = 0.001 seconds - -pair_style reax/c control.reax_c.rdx -WARNING: Ignoring inactive control parameter: simulation_name (src/USER-REAXC/reaxc_control.cpp:97) -WARNING: Ignoring inactive control parameter: energy_update_freq (src/USER-REAXC/reaxc_control.cpp:97) -WARNING: Support for writing native trajectories has been removed after LAMMPS version 8 April 2021 (src/USER-REAXC/reaxc_control.cpp:113) -WARNING: Ignoring inactive control parameter: traj_title (src/USER-REAXC/reaxc_control.cpp:97) -WARNING: Ignoring inactive control parameter: atom_info (src/USER-REAXC/reaxc_control.cpp:97) -WARNING: Ignoring inactive control parameter: atom_forces (src/USER-REAXC/reaxc_control.cpp:97) -WARNING: Ignoring inactive control parameter: atom_velocities (src/USER-REAXC/reaxc_control.cpp:97) -WARNING: Ignoring inactive control parameter: bond_info (src/USER-REAXC/reaxc_control.cpp:97) -WARNING: Ignoring inactive control parameter: angle_info (src/USER-REAXC/reaxc_control.cpp:97) -pair_coeff * * ffield.reax C H O N -Reading potential file ffield.reax with DATE: 2010-02-19 - -compute reax all pair reax/c - -variable eb equal c_reax[1] -variable ea equal c_reax[2] -variable elp equal c_reax[3] -variable emol equal c_reax[4] -variable ev equal c_reax[5] -variable epen equal c_reax[6] -variable ecoa equal c_reax[7] -variable ehb equal c_reax[8] -variable et equal c_reax[9] -variable eco equal c_reax[10] -variable ew equal c_reax[11] -variable ep equal c_reax[12] -variable efi equal c_reax[13] -variable eqeq equal c_reax[14] - -neighbor 2.5 bin -neigh_modify every 10 delay 0 check no - -fix 1 all nve -fix 2 all qeq/reax 1 0.0 10.0 1.0e-6 reax/c - -variable nqeq equal f_2 - -thermo 10 -thermo_style custom step temp epair etotal press v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq v_nqeq - -timestep 1.0 - -#dump 1 all atom 10 dump.reaxc.rdx - -#dump 2 all image 25 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 3 - -#dump 3 all movie 25 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 3 - -run 100 - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - -Your simulation uses code contributions which should be cited: - -- pair reax/c command: - -@Article{Aktulga12, - author = {H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama}, - title = {Parallel reactive molecular dynamics: Numerical methods and algorithmic techniques}, - journal = {Parallel Computing}, - year = 2012, - volume = 38, - pages = {245--259} -} - -- fix qeq/reax command: - -@Article{Aktulga12, - author = {H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama}, - title = {Parallel reactive molecular dynamics: Numerical methods and algorithmic techniques}, - journal = {Parallel Computing}, - year = 2012, - volume = 38, - pages = {245--259} -} - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - -Neighbor list info ... - update every 10 steps, delay 0 steps, check no - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 12.5 - ghost atom cutoff = 12.5 - binsize = 6.25, bins = 3 3 3 - 2 neighbor lists, perpetual/occasional/extra = 2 0 0 - (1) pair reax/c, perpetual - attributes: half, newton off, ghost - pair build: half/bin/newtoff/ghost - stencil: half/ghost/bin/3d/newtoff - bin: standard - (2) fix qeq/reax, perpetual, copy from (1) - attributes: half, newton off, ghost - pair build: copy - stencil: none - bin: none -Per MPI rank memory allocation (min/avg/max) = 13.36 | 13.36 | 13.36 Mbytes -Step Temp E_pair TotEng Press v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq v_nqeq - 0 0 -1884.3081 -1884.3081 27186.181 -2958.4712 79.527715 0.31082031 0 98.589783 25.846176 -0.18034154 0 16.709078 -9.1620736 938.43732 -244.79931 0 168.88396 12.5 - 10 1288.6116 -1989.6644 -1912.8422 -19456.353 -2734.6769 -15.607221 0.2017796 0 54.629557 3.125229 -77.7067 0 14.933901 -5.8108541 843.92073 -180.43321 0 107.75935 8 - 20 538.95819 -1942.7037 -1910.5731 -10725.639 -2803.7394 7.9078269 0.07792668 0 81.610053 0.22951941 -57.557107 0 30.331207 -10.178049 878.99009 -159.68914 0 89.313379 7 - 30 463.09535 -1933.5765 -1905.9686 -33255.546 -2749.859 -8.0154745 0.02762893 0 81.627395 0.11972413 -50.262293 0 20.820303 -9.6327015 851.88715 -149.49499 0 79.205727 8 - 40 885.49171 -1958.9125 -1906.1229 -4814.6856 -2795.644 9.150669 0.13747498 0 70.947982 0.24360485 -57.862663 0 19.076496 -11.141218 873.73893 -159.99393 0 92.434096 11 - 50 861.16578 -1954.4599 -1903.1205 -1896.7713 -2784.845 3.8270515 0.15793266 0 79.851823 3.3492142 -78.06613 0 32.629016 -7.956541 872.81838 -190.98567 0 114.75995 10 - 60 1167.7852 -1971.8429 -1902.224 -3482.7305 -2705.863 -17.12171 0.22749077 0 44.507654 7.8560745 -74.788955 0 16.256483 -4.6046431 835.8304 -188.33691 0 114.19413 10 - 70 1439.9966 -1989.3024 -1903.4553 23845.651 -2890.7895 31.958845 0.26671721 0 85.758695 3.1803544 -71.002903 0 24.357134 -10.31131 905.86775 -175.38471 0 106.79648 10 - 80 502.39438 -1930.7544 -1900.8035 -20356.316 -2703.8115 -18.662467 0.11286011 0 99.804201 2.0329024 -76.171317 0 19.237028 -6.2786907 826.47451 -166.03125 0 92.539398 9 - 90 749.08499 -1946.9838 -1902.3262 17798.51 -2863.7576 42.068716 0.2433807 0 96.181613 0.96184888 -69.955448 0 24.615302 -11.582765 903.68818 -190.13843 0 120.69141 11 - 100 1109.6968 -1968.5874 -1902.4315 -4490.1018 -2755.8965 -7.1231014 0.21757699 0 61.806018 7.0827673 -75.645345 0 20.114997 -6.2371964 863.5635 -198.56976 0 122.09961 10.5 -Loop time of 0.618214 on 1 procs for 100 steps with 21 atoms - -Performance: 13.976 ns/day, 1.717 hours/ns, 161.756 timesteps/s -99.9% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.52298 | 0.52298 | 0.52298 | 0.0 | 84.60 -Neigh | 0.033964 | 0.033964 | 0.033964 | 0.0 | 5.49 -Comm | 0.001708 | 0.001708 | 0.001708 | 0.0 | 0.28 -Output | 0.00060844 | 0.00060844 | 0.00060844 | 0.0 | 0.10 -Modify | 0.058812 | 0.058812 | 0.058812 | 0.0 | 9.51 -Other | | 0.0001411 | | | 0.02 - -Nlocal: 21.0000 ave 21 max 21 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 546.000 ave 546 max 546 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 1096.00 ave 1096 max 1096 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 1096 -Ave neighs/atom = 52.190476 -Neighbor list builds = 10 -Dangerous builds not checked -Total wall time: 0:00:00 diff --git a/examples/reaxff/log.21Apr21.reaxc.tatb-shielded.g++.4 b/examples/reaxff/log.21Apr21.reaxc.tatb-shielded.g++.4 deleted file mode 100644 index 74c2a13875..0000000000 --- a/examples/reaxff/log.21Apr21.reaxc.tatb-shielded.g++.4 +++ /dev/null @@ -1,154 +0,0 @@ -LAMMPS (8 Apr 2021) - using 1 OpenMP thread(s) per MPI task -# ReaxFF potential for RDX system -# this run is equivalent to reax/in.reax.rdx - -units real - -atom_style charge -read_data data.rdx -Reading data file ... - orthogonal box = (35.000000 35.000000 35.000000) to (48.000000 48.000000 48.000000) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 21 atoms - read_data CPU = 0.001 seconds - -pair_style reax/c control.reax_c.rdx -WARNING: Ignoring inactive control parameter: simulation_name (src/USER-REAXC/reaxc_control.cpp:97) -WARNING: Ignoring inactive control parameter: energy_update_freq (src/USER-REAXC/reaxc_control.cpp:97) -WARNING: Support for writing native trajectories has been removed after LAMMPS version 8 April 2021 (src/USER-REAXC/reaxc_control.cpp:113) -WARNING: Ignoring inactive control parameter: traj_title (src/USER-REAXC/reaxc_control.cpp:97) -WARNING: Ignoring inactive control parameter: atom_info (src/USER-REAXC/reaxc_control.cpp:97) -WARNING: Ignoring inactive control parameter: atom_forces (src/USER-REAXC/reaxc_control.cpp:97) -WARNING: Ignoring inactive control parameter: atom_velocities (src/USER-REAXC/reaxc_control.cpp:97) -WARNING: Ignoring inactive control parameter: bond_info (src/USER-REAXC/reaxc_control.cpp:97) -WARNING: Ignoring inactive control parameter: angle_info (src/USER-REAXC/reaxc_control.cpp:97) -pair_coeff * * ffield.reax C H O N -Reading potential file ffield.reax with DATE: 2010-02-19 - -compute reax all pair reax/c - -variable eb equal c_reax[1] -variable ea equal c_reax[2] -variable elp equal c_reax[3] -variable emol equal c_reax[4] -variable ev equal c_reax[5] -variable epen equal c_reax[6] -variable ecoa equal c_reax[7] -variable ehb equal c_reax[8] -variable et equal c_reax[9] -variable eco equal c_reax[10] -variable ew equal c_reax[11] -variable ep equal c_reax[12] -variable efi equal c_reax[13] -variable eqeq equal c_reax[14] - -neighbor 2.5 bin -neigh_modify every 10 delay 0 check no - -fix 1 all nve -fix 2 all qeq/reax 1 0.0 10.0 1.0e-6 reax/c - -variable nqeq equal f_2 - -thermo 10 -thermo_style custom step temp epair etotal press v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq v_nqeq - -timestep 1.0 - -#dump 1 all atom 10 dump.reaxc.rdx - -#dump 2 all image 25 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 3 - -#dump 3 all movie 25 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 3 - -run 100 - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - -Your simulation uses code contributions which should be cited: - -- pair reax/c command: - -@Article{Aktulga12, - author = {H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama}, - title = {Parallel reactive molecular dynamics: Numerical methods and algorithmic techniques}, - journal = {Parallel Computing}, - year = 2012, - volume = 38, - pages = {245--259} -} - -- fix qeq/reax command: - -@Article{Aktulga12, - author = {H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama}, - title = {Parallel reactive molecular dynamics: Numerical methods and algorithmic techniques}, - journal = {Parallel Computing}, - year = 2012, - volume = 38, - pages = {245--259} -} - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - -Neighbor list info ... - update every 10 steps, delay 0 steps, check no - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 12.5 - ghost atom cutoff = 12.5 - binsize = 6.25, bins = 3 3 3 - 2 neighbor lists, perpetual/occasional/extra = 2 0 0 - (1) pair reax/c, perpetual - attributes: half, newton off, ghost - pair build: half/bin/newtoff/ghost - stencil: half/ghost/bin/3d/newtoff - bin: standard - (2) fix qeq/reax, perpetual, copy from (1) - attributes: half, newton off, ghost - pair build: copy - stencil: none - bin: none -Per MPI rank memory allocation (min/avg/max) = 13.36 | 13.36 | 13.36 Mbytes -Step Temp E_pair TotEng Press v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq v_nqeq - 0 0 -1884.3081 -1884.3081 27186.181 -2958.4712 79.527715 0.31082031 0 98.589783 25.846176 -0.18034154 0 16.709078 -9.1620736 938.43732 -244.79931 0 168.88396 12.5 - 10 1288.6116 -1989.6644 -1912.8422 -19456.353 -2734.6769 -15.607221 0.2017796 0 54.629557 3.125229 -77.7067 0 14.933901 -5.8108541 843.92073 -180.43321 0 107.75935 8 - 20 538.95819 -1942.7037 -1910.5731 -10725.639 -2803.7394 7.9078269 0.07792668 0 81.610053 0.22951941 -57.557107 0 30.331207 -10.178049 878.99009 -159.68914 0 89.313379 7 - 30 463.09535 -1933.5765 -1905.9686 -33255.546 -2749.859 -8.0154745 0.02762893 0 81.627395 0.11972413 -50.262293 0 20.820303 -9.6327015 851.88715 -149.49499 0 79.205727 8 - 40 885.49171 -1958.9125 -1906.1229 -4814.6856 -2795.644 9.150669 0.13747498 0 70.947982 0.24360485 -57.862663 0 19.076496 -11.141218 873.73893 -159.99393 0 92.434096 11 - 50 861.16578 -1954.4599 -1903.1205 -1896.7713 -2784.845 3.8270515 0.15793266 0 79.851823 3.3492142 -78.06613 0 32.629016 -7.956541 872.81838 -190.98567 0 114.75995 10 - 60 1167.7852 -1971.8429 -1902.224 -3482.7305 -2705.863 -17.12171 0.22749077 0 44.507654 7.8560745 -74.788955 0 16.256483 -4.6046431 835.8304 -188.33691 0 114.19413 10 - 70 1439.9966 -1989.3024 -1903.4553 23845.651 -2890.7895 31.958845 0.26671721 0 85.758695 3.1803544 -71.002903 0 24.357134 -10.31131 905.86775 -175.38471 0 106.79648 10 - 80 502.39438 -1930.7544 -1900.8035 -20356.316 -2703.8115 -18.662467 0.11286011 0 99.804201 2.0329024 -76.171317 0 19.237028 -6.2786907 826.47451 -166.03125 0 92.539398 9 - 90 749.08499 -1946.9838 -1902.3262 17798.51 -2863.7576 42.068716 0.2433807 0 96.181613 0.96184888 -69.955448 0 24.615302 -11.582765 903.68818 -190.13843 0 120.69141 11 - 100 1109.6968 -1968.5874 -1902.4315 -4490.1018 -2755.8965 -7.1231014 0.21757699 0 61.806018 7.0827673 -75.645345 0 20.114997 -6.2371964 863.5635 -198.56976 0 122.09961 10.5 -Loop time of 0.617311 on 1 procs for 100 steps with 21 atoms - -Performance: 13.996 ns/day, 1.715 hours/ns, 161.993 timesteps/s -99.9% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.52226 | 0.52226 | 0.52226 | 0.0 | 84.60 -Neigh | 0.033952 | 0.033952 | 0.033952 | 0.0 | 5.50 -Comm | 0.0017183 | 0.0017183 | 0.0017183 | 0.0 | 0.28 -Output | 0.00060129 | 0.00060129 | 0.00060129 | 0.0 | 0.10 -Modify | 0.058648 | 0.058648 | 0.058648 | 0.0 | 9.50 -Other | | 0.0001364 | | | 0.02 - -Nlocal: 21.0000 ave 21 max 21 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 546.000 ave 546 max 546 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 1096.00 ave 1096 max 1096 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 1096 -Ave neighs/atom = 52.190476 -Neighbor list builds = 10 -Dangerous builds not checked -Total wall time: 0:00:00 diff --git a/examples/reaxff/log.21Apr21.reaxc.tatb.g++.1 b/examples/reaxff/log.21Apr21.reaxc.tatb.g++.1 deleted file mode 100644 index d79287b694..0000000000 --- a/examples/reaxff/log.21Apr21.reaxc.tatb.g++.1 +++ /dev/null @@ -1,154 +0,0 @@ -LAMMPS (8 Apr 2021) - using 1 OpenMP thread(s) per MPI task -# ReaxFF potential for RDX system -# this run is equivalent to reax/in.reax.rdx - -units real - -atom_style charge -read_data data.rdx -Reading data file ... - orthogonal box = (35.000000 35.000000 35.000000) to (48.000000 48.000000 48.000000) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 21 atoms - read_data CPU = 0.001 seconds - -pair_style reax/c control.reax_c.rdx -WARNING: Ignoring inactive control parameter: simulation_name (src/USER-REAXC/reaxc_control.cpp:97) -WARNING: Ignoring inactive control parameter: energy_update_freq (src/USER-REAXC/reaxc_control.cpp:97) -WARNING: Support for writing native trajectories has been removed after LAMMPS version 8 April 2021 (src/USER-REAXC/reaxc_control.cpp:113) -WARNING: Ignoring inactive control parameter: traj_title (src/USER-REAXC/reaxc_control.cpp:97) -WARNING: Ignoring inactive control parameter: atom_info (src/USER-REAXC/reaxc_control.cpp:97) -WARNING: Ignoring inactive control parameter: atom_forces (src/USER-REAXC/reaxc_control.cpp:97) -WARNING: Ignoring inactive control parameter: atom_velocities (src/USER-REAXC/reaxc_control.cpp:97) -WARNING: Ignoring inactive control parameter: bond_info (src/USER-REAXC/reaxc_control.cpp:97) -WARNING: Ignoring inactive control parameter: angle_info (src/USER-REAXC/reaxc_control.cpp:97) -pair_coeff * * ffield.reax C H O N -Reading potential file ffield.reax with DATE: 2010-02-19 - -compute reax all pair reax/c - -variable eb equal c_reax[1] -variable ea equal c_reax[2] -variable elp equal c_reax[3] -variable emol equal c_reax[4] -variable ev equal c_reax[5] -variable epen equal c_reax[6] -variable ecoa equal c_reax[7] -variable ehb equal c_reax[8] -variable et equal c_reax[9] -variable eco equal c_reax[10] -variable ew equal c_reax[11] -variable ep equal c_reax[12] -variable efi equal c_reax[13] -variable eqeq equal c_reax[14] - -neighbor 2.5 bin -neigh_modify every 10 delay 0 check no - -fix 1 all nve -fix 2 all qeq/reax 1 0.0 10.0 1.0e-6 reax/c - -variable nqeq equal f_2 - -thermo 10 -thermo_style custom step temp epair etotal press v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq v_nqeq - -timestep 1.0 - -#dump 1 all atom 10 dump.reaxc.rdx - -#dump 2 all image 25 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 3 - -#dump 3 all movie 25 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 3 - -run 100 - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - -Your simulation uses code contributions which should be cited: - -- pair reax/c command: - -@Article{Aktulga12, - author = {H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama}, - title = {Parallel reactive molecular dynamics: Numerical methods and algorithmic techniques}, - journal = {Parallel Computing}, - year = 2012, - volume = 38, - pages = {245--259} -} - -- fix qeq/reax command: - -@Article{Aktulga12, - author = {H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama}, - title = {Parallel reactive molecular dynamics: Numerical methods and algorithmic techniques}, - journal = {Parallel Computing}, - year = 2012, - volume = 38, - pages = {245--259} -} - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - -Neighbor list info ... - update every 10 steps, delay 0 steps, check no - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 12.5 - ghost atom cutoff = 12.5 - binsize = 6.25, bins = 3 3 3 - 2 neighbor lists, perpetual/occasional/extra = 2 0 0 - (1) pair reax/c, perpetual - attributes: half, newton off, ghost - pair build: half/bin/newtoff/ghost - stencil: half/ghost/bin/3d/newtoff - bin: standard - (2) fix qeq/reax, perpetual, copy from (1) - attributes: half, newton off, ghost - pair build: copy - stencil: none - bin: none -Per MPI rank memory allocation (min/avg/max) = 13.36 | 13.36 | 13.36 Mbytes -Step Temp E_pair TotEng Press v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq v_nqeq - 0 0 -1884.3081 -1884.3081 27186.181 -2958.4712 79.527715 0.31082031 0 98.589783 25.846176 -0.18034154 0 16.709078 -9.1620736 938.43732 -244.79931 0 168.88396 12.5 - 10 1288.6116 -1989.6644 -1912.8422 -19456.353 -2734.6769 -15.607221 0.2017796 0 54.629557 3.125229 -77.7067 0 14.933901 -5.8108541 843.92073 -180.43321 0 107.75935 8 - 20 538.95819 -1942.7037 -1910.5731 -10725.639 -2803.7394 7.9078269 0.07792668 0 81.610053 0.22951941 -57.557107 0 30.331207 -10.178049 878.99009 -159.68914 0 89.313379 7 - 30 463.09535 -1933.5765 -1905.9686 -33255.546 -2749.859 -8.0154745 0.02762893 0 81.627395 0.11972413 -50.262293 0 20.820303 -9.6327015 851.88715 -149.49499 0 79.205727 8 - 40 885.49171 -1958.9125 -1906.1229 -4814.6856 -2795.644 9.150669 0.13747498 0 70.947982 0.24360485 -57.862663 0 19.076496 -11.141218 873.73893 -159.99393 0 92.434096 11 - 50 861.16578 -1954.4599 -1903.1205 -1896.7713 -2784.845 3.8270515 0.15793266 0 79.851823 3.3492142 -78.06613 0 32.629016 -7.956541 872.81838 -190.98567 0 114.75995 10 - 60 1167.7852 -1971.8429 -1902.224 -3482.7305 -2705.863 -17.12171 0.22749077 0 44.507654 7.8560745 -74.788955 0 16.256483 -4.6046431 835.8304 -188.33691 0 114.19413 10 - 70 1439.9966 -1989.3024 -1903.4553 23845.651 -2890.7895 31.958845 0.26671721 0 85.758695 3.1803544 -71.002903 0 24.357134 -10.31131 905.86775 -175.38471 0 106.79648 10 - 80 502.39438 -1930.7544 -1900.8035 -20356.316 -2703.8115 -18.662467 0.11286011 0 99.804201 2.0329024 -76.171317 0 19.237028 -6.2786907 826.47451 -166.03125 0 92.539398 9 - 90 749.08499 -1946.9838 -1902.3262 17798.51 -2863.7576 42.068716 0.2433807 0 96.181613 0.96184888 -69.955448 0 24.615302 -11.582765 903.68818 -190.13843 0 120.69141 11 - 100 1109.6968 -1968.5874 -1902.4315 -4490.1018 -2755.8965 -7.1231014 0.21757699 0 61.806018 7.0827673 -75.645345 0 20.114997 -6.2371964 863.5635 -198.56976 0 122.09961 10.5 -Loop time of 0.617401 on 1 procs for 100 steps with 21 atoms - -Performance: 13.994 ns/day, 1.715 hours/ns, 161.969 timesteps/s -99.8% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.52185 | 0.52185 | 0.52185 | 0.0 | 84.52 -Neigh | 0.034507 | 0.034507 | 0.034507 | 0.0 | 5.59 -Comm | 0.0017211 | 0.0017211 | 0.0017211 | 0.0 | 0.28 -Output | 0.00060844 | 0.00060844 | 0.00060844 | 0.0 | 0.10 -Modify | 0.058573 | 0.058573 | 0.058573 | 0.0 | 9.49 -Other | | 0.0001466 | | | 0.02 - -Nlocal: 21.0000 ave 21 max 21 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 546.000 ave 546 max 546 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 1096.00 ave 1096 max 1096 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 1096 -Ave neighs/atom = 52.190476 -Neighbor list builds = 10 -Dangerous builds not checked -Total wall time: 0:00:00 diff --git a/examples/reaxff/log.21Apr21.reaxc.tatb.g++.4 b/examples/reaxff/log.21Apr21.reaxc.tatb.g++.4 deleted file mode 100644 index e0cb6b6760..0000000000 --- a/examples/reaxff/log.21Apr21.reaxc.tatb.g++.4 +++ /dev/null @@ -1,154 +0,0 @@ -LAMMPS (8 Apr 2021) - using 1 OpenMP thread(s) per MPI task -# ReaxFF potential for RDX system -# this run is equivalent to reax/in.reax.rdx - -units real - -atom_style charge -read_data data.rdx -Reading data file ... - orthogonal box = (35.000000 35.000000 35.000000) to (48.000000 48.000000 48.000000) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 21 atoms - read_data CPU = 0.001 seconds - -pair_style reax/c control.reax_c.rdx -WARNING: Ignoring inactive control parameter: simulation_name (src/USER-REAXC/reaxc_control.cpp:97) -WARNING: Ignoring inactive control parameter: energy_update_freq (src/USER-REAXC/reaxc_control.cpp:97) -WARNING: Support for writing native trajectories has been removed after LAMMPS version 8 April 2021 (src/USER-REAXC/reaxc_control.cpp:113) -WARNING: Ignoring inactive control parameter: traj_title (src/USER-REAXC/reaxc_control.cpp:97) -WARNING: Ignoring inactive control parameter: atom_info (src/USER-REAXC/reaxc_control.cpp:97) -WARNING: Ignoring inactive control parameter: atom_forces (src/USER-REAXC/reaxc_control.cpp:97) -WARNING: Ignoring inactive control parameter: atom_velocities (src/USER-REAXC/reaxc_control.cpp:97) -WARNING: Ignoring inactive control parameter: bond_info (src/USER-REAXC/reaxc_control.cpp:97) -WARNING: Ignoring inactive control parameter: angle_info (src/USER-REAXC/reaxc_control.cpp:97) -pair_coeff * * ffield.reax C H O N -Reading potential file ffield.reax with DATE: 2010-02-19 - -compute reax all pair reax/c - -variable eb equal c_reax[1] -variable ea equal c_reax[2] -variable elp equal c_reax[3] -variable emol equal c_reax[4] -variable ev equal c_reax[5] -variable epen equal c_reax[6] -variable ecoa equal c_reax[7] -variable ehb equal c_reax[8] -variable et equal c_reax[9] -variable eco equal c_reax[10] -variable ew equal c_reax[11] -variable ep equal c_reax[12] -variable efi equal c_reax[13] -variable eqeq equal c_reax[14] - -neighbor 2.5 bin -neigh_modify every 10 delay 0 check no - -fix 1 all nve -fix 2 all qeq/reax 1 0.0 10.0 1.0e-6 reax/c - -variable nqeq equal f_2 - -thermo 10 -thermo_style custom step temp epair etotal press v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq v_nqeq - -timestep 1.0 - -#dump 1 all atom 10 dump.reaxc.rdx - -#dump 2 all image 25 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 3 - -#dump 3 all movie 25 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 3 - -run 100 - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - -Your simulation uses code contributions which should be cited: - -- pair reax/c command: - -@Article{Aktulga12, - author = {H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama}, - title = {Parallel reactive molecular dynamics: Numerical methods and algorithmic techniques}, - journal = {Parallel Computing}, - year = 2012, - volume = 38, - pages = {245--259} -} - -- fix qeq/reax command: - -@Article{Aktulga12, - author = {H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama}, - title = {Parallel reactive molecular dynamics: Numerical methods and algorithmic techniques}, - journal = {Parallel Computing}, - year = 2012, - volume = 38, - pages = {245--259} -} - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - -Neighbor list info ... - update every 10 steps, delay 0 steps, check no - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 12.5 - ghost atom cutoff = 12.5 - binsize = 6.25, bins = 3 3 3 - 2 neighbor lists, perpetual/occasional/extra = 2 0 0 - (1) pair reax/c, perpetual - attributes: half, newton off, ghost - pair build: half/bin/newtoff/ghost - stencil: half/ghost/bin/3d/newtoff - bin: standard - (2) fix qeq/reax, perpetual, copy from (1) - attributes: half, newton off, ghost - pair build: copy - stencil: none - bin: none -Per MPI rank memory allocation (min/avg/max) = 13.36 | 13.36 | 13.36 Mbytes -Step Temp E_pair TotEng Press v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq v_nqeq - 0 0 -1884.3081 -1884.3081 27186.181 -2958.4712 79.527715 0.31082031 0 98.589783 25.846176 -0.18034154 0 16.709078 -9.1620736 938.43732 -244.79931 0 168.88396 12.5 - 10 1288.6116 -1989.6644 -1912.8422 -19456.353 -2734.6769 -15.607221 0.2017796 0 54.629557 3.125229 -77.7067 0 14.933901 -5.8108541 843.92073 -180.43321 0 107.75935 8 - 20 538.95819 -1942.7037 -1910.5731 -10725.639 -2803.7394 7.9078269 0.07792668 0 81.610053 0.22951941 -57.557107 0 30.331207 -10.178049 878.99009 -159.68914 0 89.313379 7 - 30 463.09535 -1933.5765 -1905.9686 -33255.546 -2749.859 -8.0154745 0.02762893 0 81.627395 0.11972413 -50.262293 0 20.820303 -9.6327015 851.88715 -149.49499 0 79.205727 8 - 40 885.49171 -1958.9125 -1906.1229 -4814.6856 -2795.644 9.150669 0.13747498 0 70.947982 0.24360485 -57.862663 0 19.076496 -11.141218 873.73893 -159.99393 0 92.434096 11 - 50 861.16578 -1954.4599 -1903.1205 -1896.7713 -2784.845 3.8270515 0.15793266 0 79.851823 3.3492142 -78.06613 0 32.629016 -7.956541 872.81838 -190.98567 0 114.75995 10 - 60 1167.7852 -1971.8429 -1902.224 -3482.7305 -2705.863 -17.12171 0.22749077 0 44.507654 7.8560745 -74.788955 0 16.256483 -4.6046431 835.8304 -188.33691 0 114.19413 10 - 70 1439.9966 -1989.3024 -1903.4553 23845.651 -2890.7895 31.958845 0.26671721 0 85.758695 3.1803544 -71.002903 0 24.357134 -10.31131 905.86775 -175.38471 0 106.79648 10 - 80 502.39438 -1930.7544 -1900.8035 -20356.316 -2703.8115 -18.662467 0.11286011 0 99.804201 2.0329024 -76.171317 0 19.237028 -6.2786907 826.47451 -166.03125 0 92.539398 9 - 90 749.08499 -1946.9838 -1902.3262 17798.51 -2863.7576 42.068716 0.2433807 0 96.181613 0.96184888 -69.955448 0 24.615302 -11.582765 903.68818 -190.13843 0 120.69141 11 - 100 1109.6968 -1968.5874 -1902.4315 -4490.1018 -2755.8965 -7.1231014 0.21757699 0 61.806018 7.0827673 -75.645345 0 20.114997 -6.2371964 863.5635 -198.56976 0 122.09961 10.5 -Loop time of 0.617397 on 1 procs for 100 steps with 21 atoms - -Performance: 13.994 ns/day, 1.715 hours/ns, 161.970 timesteps/s -99.7% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.52183 | 0.52183 | 0.52183 | 0.0 | 84.52 -Neigh | 0.034217 | 0.034217 | 0.034217 | 0.0 | 5.54 -Comm | 0.0017104 | 0.0017104 | 0.0017104 | 0.0 | 0.28 -Output | 0.00059891 | 0.00059891 | 0.00059891 | 0.0 | 0.10 -Modify | 0.0589 | 0.0589 | 0.0589 | 0.0 | 9.54 -Other | | 0.0001419 | | | 0.02 - -Nlocal: 21.0000 ave 21 max 21 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 546.000 ave 546 max 546 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 1096.00 ave 1096 max 1096 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 1096 -Ave neighs/atom = 52.190476 -Neighbor list builds = 10 -Dangerous builds not checked -Total wall time: 0:00:00 diff --git a/examples/reaxff/log.21Jul21.reaxff.rdx-shielded.g++.1 b/examples/reaxff/log.21Jul21.reaxff.rdx-shielded.g++.1 new file mode 100644 index 0000000000..7a0fcf53b5 --- /dev/null +++ b/examples/reaxff/log.21Jul21.reaxff.rdx-shielded.g++.1 @@ -0,0 +1,144 @@ +LAMMPS (2 Jul 2021) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# ReaxFF potential for RDX system + +units real + +atom_style charge +read_data data.rdx +Reading data file ... + orthogonal box = (35.000000 35.000000 35.000000) to (48.000000 48.000000 48.000000) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 21 atoms + read_data CPU = 0.001 seconds + +pair_style reaxff control.reax_c.rdx +WARNING: Ignoring inactive control parameter: simulation_name (src/REAXFF/reaxff_control.cpp:97) +WARNING: Ignoring inactive control parameter: energy_update_freq (src/REAXFF/reaxff_control.cpp:97) +WARNING: Support for writing native trajectories has been removed after LAMMPS version 8 April 2021 (src/REAXFF/reaxff_control.cpp:113) +WARNING: Ignoring inactive control parameter: traj_title (src/REAXFF/reaxff_control.cpp:97) +WARNING: Ignoring inactive control parameter: atom_info (src/REAXFF/reaxff_control.cpp:97) +WARNING: Ignoring inactive control parameter: atom_forces (src/REAXFF/reaxff_control.cpp:97) +WARNING: Ignoring inactive control parameter: atom_velocities (src/REAXFF/reaxff_control.cpp:97) +WARNING: Ignoring inactive control parameter: bond_info (src/REAXFF/reaxff_control.cpp:97) +WARNING: Ignoring inactive control parameter: angle_info (src/REAXFF/reaxff_control.cpp:97) +pair_coeff * * ffield.reax C H O N +Reading potential file ffield.reax with DATE: 2010-02-19 + +compute reax all pair reaxff + +variable eb equal c_reax[1] +variable ea equal c_reax[2] +variable elp equal c_reax[3] +variable emol equal c_reax[4] +variable ev equal c_reax[5] +variable epen equal c_reax[6] +variable ecoa equal c_reax[7] +variable ehb equal c_reax[8] +variable et equal c_reax[9] +variable eco equal c_reax[10] +variable ew equal c_reax[11] +variable ep equal c_reax[12] +variable efi equal c_reax[13] +variable eqeq equal c_reax[14] + +neighbor 2.5 bin +neigh_modify every 10 delay 0 check no + +fix 1 all nve +fix 2 all qeq/shielded 1 10.0 1.0e-6 100 reaxff +variable nqeq equal f_2 + +thermo 10 +thermo_style custom step temp epair etotal press v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq v_nqeq + +timestep 1.0 + +#dump 1 all atom 10 dump.reaxff.rdx + +#dump 2 all image 25 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 3 + +#dump 3 all movie 25 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 3 + +run 100 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- pair reaxff command: + +@Article{Aktulga12, + author = {H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama}, + title = {Parallel reactive molecular dynamics: Numerical methods and algorithmic techniques}, + journal = {Parallel Computing}, + year = 2012, + volume = 38, + pages = {245--259} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Neighbor list info ... + update every 10 steps, delay 0 steps, check no + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 12.5 + ghost atom cutoff = 12.5 + binsize = 6.25, bins = 3 3 3 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair reaxff, perpetual + attributes: half, newton off, ghost + pair build: half/bin/newtoff/ghost + stencil: full/ghost/bin/3d + bin: standard + (2) fix qeq/shielded, perpetual + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 13.86 | 13.86 | 13.86 Mbytes +Step Temp E_pair TotEng Press v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq v_nqeq + 0 0 -1884.3081 -1884.3081 27186.181 -2958.4712 79.527715 0.31082031 0 98.589783 25.846176 -0.18034154 0 16.709078 -9.1620736 938.43732 -244.79932 0 168.88397 12 + 10 1288.6114 -1989.6644 -1912.8422 -19456.349 -2734.6769 -15.607218 0.20177961 0 54.629555 3.1252297 -77.7067 0 14.933901 -5.810854 843.92074 -180.43322 0 107.75935 8 + 20 538.95852 -1942.7037 -1910.5731 -10725.667 -2803.7395 7.9078343 0.077926704 0 81.610044 0.22951937 -57.557105 0 30.331203 -10.178049 878.99016 -159.69263 0 89.316862 7 + 30 463.09515 -1933.5765 -1905.9685 -33255.499 -2749.8591 -8.0154635 0.02762867 0 81.627413 0.1197239 -50.262272 0 20.82032 -9.632703 851.88721 -149.49497 0 79.205707 8 + 40 885.49689 -1958.9125 -1906.1226 -4814.6325 -2795.644 9.1505916 0.13747481 0 70.948074 0.24360544 -57.862695 0 19.076518 -11.14121 873.73893 -159.9939 0 92.434061 11 + 50 861.16008 -1954.4602 -1903.1211 -1896.648 -2784.8451 3.8269988 0.1579331 0 79.851597 3.349208 -78.066133 0 32.628942 -7.9565363 872.8186 -190.98572 0 114.76001 10 + 60 1167.7831 -1971.8435 -1902.2247 -3482.927 -2705.8639 -17.121541 0.22749081 0 44.507721 7.8559737 -74.789039 0 16.2565 -4.6046718 835.8307 -188.33687 0 114.19412 10 + 70 1439.9897 -1989.3024 -1903.4557 23845.83 -2890.7894 31.958658 0.26671716 0 85.758318 3.1804201 -71.002959 0 24.35723 -10.31128 905.86819 -175.38505 0 106.79678 10 + 80 502.39931 -1930.7551 -1900.804 -20356.375 -2703.8109 -18.66274 0.1128617 0 99.80351 2.0329611 -76.171312 0 19.236815 -6.2786426 826.47424 -166.03148 0 92.539616 9 + 90 749.08601 -1946.984 -1902.3264 17798.716 -2863.7585 42.068606 0.24338046 0 96.181674 0.96183581 -69.955564 0 24.615514 -11.582742 903.68878 -190.13822 0 120.69121 11 + 100 1109.6946 -1968.588 -1902.4322 -4490.4001 -2755.899 -7.1224954 0.21757676 0 61.805955 7.0825894 -75.645488 0 20.115437 -6.2372635 863.56481 -198.56946 0 122.09935 10 +Loop time of 0.23792 on 1 procs for 100 steps with 21 atoms + +Performance: 36.315 ns/day, 0.661 hours/ns, 420.310 timesteps/s +99.3% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.21046 | 0.21046 | 0.21046 | 0.0 | 88.46 +Neigh | 0.010947 | 0.010947 | 0.010947 | 0.0 | 4.60 +Comm | 0.00060345 | 0.00060345 | 0.00060345 | 0.0 | 0.25 +Output | 0.00071705 | 0.00071705 | 0.00071705 | 0.0 | 0.30 +Modify | 0.014873 | 0.014873 | 0.014873 | 0.0 | 6.25 +Other | | 0.0003213 | | | 0.14 + +Nlocal: 21.0000 ave 21 max 21 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 546.000 ave 546 max 546 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 1096.00 ave 1096 max 1096 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +FullNghs: 1306.00 ave 1306 max 1306 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 1306 +Ave neighs/atom = 62.190476 +Neighbor list builds = 10 +Dangerous builds not checked +Total wall time: 0:00:00 diff --git a/examples/reaxff/log.21Jul21.reaxff.rdx-shielded.g++.4 b/examples/reaxff/log.21Jul21.reaxff.rdx-shielded.g++.4 new file mode 100644 index 0000000000..4840b5fa2b --- /dev/null +++ b/examples/reaxff/log.21Jul21.reaxff.rdx-shielded.g++.4 @@ -0,0 +1,144 @@ +LAMMPS (2 Jul 2021) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# ReaxFF potential for RDX system + +units real + +atom_style charge +read_data data.rdx +Reading data file ... + orthogonal box = (35.000000 35.000000 35.000000) to (48.000000 48.000000 48.000000) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 21 atoms + read_data CPU = 0.003 seconds + +pair_style reaxff control.reax_c.rdx +WARNING: Ignoring inactive control parameter: simulation_name (src/REAXFF/reaxff_control.cpp:97) +WARNING: Ignoring inactive control parameter: energy_update_freq (src/REAXFF/reaxff_control.cpp:97) +WARNING: Support for writing native trajectories has been removed after LAMMPS version 8 April 2021 (src/REAXFF/reaxff_control.cpp:113) +WARNING: Ignoring inactive control parameter: traj_title (src/REAXFF/reaxff_control.cpp:97) +WARNING: Ignoring inactive control parameter: atom_info (src/REAXFF/reaxff_control.cpp:97) +WARNING: Ignoring inactive control parameter: atom_forces (src/REAXFF/reaxff_control.cpp:97) +WARNING: Ignoring inactive control parameter: atom_velocities (src/REAXFF/reaxff_control.cpp:97) +WARNING: Ignoring inactive control parameter: bond_info (src/REAXFF/reaxff_control.cpp:97) +WARNING: Ignoring inactive control parameter: angle_info (src/REAXFF/reaxff_control.cpp:97) +pair_coeff * * ffield.reax C H O N +Reading potential file ffield.reax with DATE: 2010-02-19 + +compute reax all pair reaxff + +variable eb equal c_reax[1] +variable ea equal c_reax[2] +variable elp equal c_reax[3] +variable emol equal c_reax[4] +variable ev equal c_reax[5] +variable epen equal c_reax[6] +variable ecoa equal c_reax[7] +variable ehb equal c_reax[8] +variable et equal c_reax[9] +variable eco equal c_reax[10] +variable ew equal c_reax[11] +variable ep equal c_reax[12] +variable efi equal c_reax[13] +variable eqeq equal c_reax[14] + +neighbor 2.5 bin +neigh_modify every 10 delay 0 check no + +fix 1 all nve +fix 2 all qeq/shielded 1 10.0 1.0e-6 100 reaxff +variable nqeq equal f_2 + +thermo 10 +thermo_style custom step temp epair etotal press v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq v_nqeq + +timestep 1.0 + +#dump 1 all atom 10 dump.reaxff.rdx + +#dump 2 all image 25 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 3 + +#dump 3 all movie 25 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 3 + +run 100 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- pair reaxff command: + +@Article{Aktulga12, + author = {H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama}, + title = {Parallel reactive molecular dynamics: Numerical methods and algorithmic techniques}, + journal = {Parallel Computing}, + year = 2012, + volume = 38, + pages = {245--259} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Neighbor list info ... + update every 10 steps, delay 0 steps, check no + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 12.5 + ghost atom cutoff = 12.5 + binsize = 6.25, bins = 3 3 3 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair reaxff, perpetual + attributes: half, newton off, ghost + pair build: half/bin/newtoff/ghost + stencil: full/ghost/bin/3d + bin: standard + (2) fix qeq/shielded, perpetual + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 9.856 | 11.02 | 12.23 Mbytes +Step Temp E_pair TotEng Press v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq v_nqeq + 0 0 -1884.3081 -1884.3081 27186.179 -2958.4712 79.527715 0.31082031 0 98.589783 25.846176 -0.18034154 0 16.709078 -9.1620736 938.43732 -244.79963 0 168.88428 12 + 10 1288.6115 -1989.6644 -1912.8422 -19456.352 -2734.6769 -15.607219 0.20177961 0 54.629556 3.1252291 -77.7067 0 14.933901 -5.8108542 843.92074 -180.43321 0 107.75934 8 + 20 538.95831 -1942.7037 -1910.5731 -10725.628 -2803.7395 7.9078316 0.077926725 0 81.610046 0.22951948 -57.55711 0 30.331206 -10.178049 878.99011 -159.68964 0 89.313879 6 + 30 463.09528 -1933.5765 -1905.9685 -33255.523 -2749.859 -8.015479 0.027628772 0 81.627413 0.11972402 -50.262283 0 20.82031 -9.6327014 851.88714 -149.49498 0 79.205717 8 + 40 885.49492 -1958.9125 -1906.1227 -4814.6646 -2795.6439 9.1506063 0.13747482 0 70.948055 0.2436053 -57.862686 0 19.076515 -11.141211 873.73888 -159.99391 0 92.434067 11 + 50 861.15982 -1954.4602 -1903.1212 -1896.7209 -2784.845 3.8269674 0.15793308 0 79.851587 3.3492059 -78.06613 0 32.628933 -7.9565341 872.81849 -190.9857 0 114.75999 10 + 60 1167.7827 -1971.8436 -1902.2248 -3482.8501 -2705.8641 -17.121497 0.22749093 0 44.507698 7.8559911 -74.78902 0 16.256511 -4.6046743 835.83081 -188.33692 0 114.19416 10 + 70 1439.9904 -1989.3026 -1903.4558 23846.02 -2890.7894 31.95863 0.26671716 0 85.758232 3.1804311 -71.002978 0 24.357223 -10.311272 905.86809 -175.38506 0 106.79678 10 + 80 502.39774 -1930.7552 -1900.8041 -20356.27 -2703.8119 -18.66246 0.11286127 0 99.803504 2.0329528 -76.171312 0 19.236983 -6.278675 826.47474 -166.03143 0 92.539573 9 + 90 749.07673 -1946.984 -1902.3269 17798.497 -2863.7581 42.06868 0.24338043 0 96.181508 0.9618341 -69.955454 0 24.615416 -11.582759 903.68853 -190.13817 0 120.69116 11 + 100 1109.6909 -1968.5881 -1902.4325 -4490.3603 -2755.8994 -7.1223998 0.21757662 0 61.805909 7.0826145 -75.645472 0 20.115466 -6.2372802 863.565 -198.56948 0 122.09938 10 +Loop time of 0.427646 on 4 procs for 100 steps with 21 atoms + +Performance: 20.204 ns/day, 1.188 hours/ns, 233.838 timesteps/s +88.6% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.1373 | 0.20047 | 0.27938 | 11.8 | 46.88 +Neigh | 0.0067 | 0.009334 | 0.01249 | 2.1 | 2.18 +Comm | 0.057132 | 0.13685 | 0.19972 | 14.4 | 32.00 +Output | 0.00078935 | 0.0013884 | 0.0031266 | 2.7 | 0.32 +Modify | 0.075213 | 0.079164 | 0.082556 | 0.9 | 18.51 +Other | | 0.0004359 | | | 0.10 + +Nlocal: 5.25000 ave 15 max 0 min +Histogram: 1 0 2 0 0 0 0 0 0 1 +Nghost: 355.500 ave 432 max 282 min +Histogram: 1 0 0 0 1 1 0 0 0 1 +Neighs: 298.750 ave 822 max 0 min +Histogram: 1 0 2 0 0 0 0 0 0 1 +FullNghs: 326.500 ave 927 max 0 min +Histogram: 1 0 2 0 0 0 0 0 0 1 + +Total # of neighbors = 1306 +Ave neighs/atom = 62.190476 +Neighbor list builds = 10 +Dangerous builds not checked +Total wall time: 0:00:00 diff --git a/examples/reaxff/log.21Apr21.reaxc.rdx-shielded.g++.1 b/examples/reaxff/log.21Jul21.reaxff.rdx.g++.1 similarity index 78% rename from examples/reaxff/log.21Apr21.reaxc.rdx-shielded.g++.1 rename to examples/reaxff/log.21Jul21.reaxff.rdx.g++.1 index 5ff8307135..89e5c606c2 100644 --- a/examples/reaxff/log.21Apr21.reaxc.rdx-shielded.g++.1 +++ b/examples/reaxff/log.21Jul21.reaxff.rdx.g++.1 @@ -1,7 +1,7 @@ -LAMMPS (8 Apr 2021) +LAMMPS (2 Jul 2021) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) using 1 OpenMP thread(s) per MPI task # ReaxFF potential for RDX system -# this run is equivalent to reax/in.reax.rdx units real @@ -14,20 +14,20 @@ Reading data file ... 21 atoms read_data CPU = 0.001 seconds -pair_style reax/c control.reax_c.rdx -WARNING: Ignoring inactive control parameter: simulation_name (src/USER-REAXC/reaxc_control.cpp:97) -WARNING: Ignoring inactive control parameter: energy_update_freq (src/USER-REAXC/reaxc_control.cpp:97) -WARNING: Support for writing native trajectories has been removed after LAMMPS version 8 April 2021 (src/USER-REAXC/reaxc_control.cpp:113) -WARNING: Ignoring inactive control parameter: traj_title (src/USER-REAXC/reaxc_control.cpp:97) -WARNING: Ignoring inactive control parameter: atom_info (src/USER-REAXC/reaxc_control.cpp:97) -WARNING: Ignoring inactive control parameter: atom_forces (src/USER-REAXC/reaxc_control.cpp:97) -WARNING: Ignoring inactive control parameter: atom_velocities (src/USER-REAXC/reaxc_control.cpp:97) -WARNING: Ignoring inactive control parameter: bond_info (src/USER-REAXC/reaxc_control.cpp:97) -WARNING: Ignoring inactive control parameter: angle_info (src/USER-REAXC/reaxc_control.cpp:97) +pair_style reaxff control.reax_c.rdx +WARNING: Ignoring inactive control parameter: simulation_name (src/REAXFF/reaxff_control.cpp:97) +WARNING: Ignoring inactive control parameter: energy_update_freq (src/REAXFF/reaxff_control.cpp:97) +WARNING: Support for writing native trajectories has been removed after LAMMPS version 8 April 2021 (src/REAXFF/reaxff_control.cpp:113) +WARNING: Ignoring inactive control parameter: traj_title (src/REAXFF/reaxff_control.cpp:97) +WARNING: Ignoring inactive control parameter: atom_info (src/REAXFF/reaxff_control.cpp:97) +WARNING: Ignoring inactive control parameter: atom_forces (src/REAXFF/reaxff_control.cpp:97) +WARNING: Ignoring inactive control parameter: atom_velocities (src/REAXFF/reaxff_control.cpp:97) +WARNING: Ignoring inactive control parameter: bond_info (src/REAXFF/reaxff_control.cpp:97) +WARNING: Ignoring inactive control parameter: angle_info (src/REAXFF/reaxff_control.cpp:97) pair_coeff * * ffield.reax C H O N Reading potential file ffield.reax with DATE: 2010-02-19 -compute reax all pair reax/c +compute reax all pair reaxff variable eb equal c_reax[1] variable ea equal c_reax[2] @@ -48,7 +48,7 @@ neighbor 2.5 bin neigh_modify every 10 delay 0 check no fix 1 all nve -fix 2 all qeq/reax 1 0.0 10.0 1.0e-6 reax/c +fix 2 all qeq/reaxff 1 0.0 10.0 1.0e-6 reaxff variable nqeq equal f_2 @@ -57,7 +57,7 @@ thermo_style custom step temp epair etotal press v_eb v_ea v_ timestep 1.0 -#dump 1 all atom 10 dump.reaxc.rdx +#dump 1 all atom 10 dump.reaxff.rdx #dump 2 all image 25 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 #dump_modify 2 pad 3 @@ -71,7 +71,7 @@ CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE Your simulation uses code contributions which should be cited: -- pair reax/c command: +- pair reaxff command: @Article{Aktulga12, author = {H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama}, @@ -82,7 +82,7 @@ Your simulation uses code contributions which should be cited: pages = {245--259} } -- fix qeq/reax command: +- fix qeq/reaxff command: @Article{Aktulga12, author = {H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama}, @@ -102,12 +102,12 @@ Neighbor list info ... ghost atom cutoff = 12.5 binsize = 6.25, bins = 3 3 3 2 neighbor lists, perpetual/occasional/extra = 2 0 0 - (1) pair reax/c, perpetual + (1) pair reaxff, perpetual attributes: half, newton off, ghost pair build: half/bin/newtoff/ghost - stencil: half/ghost/bin/3d/newtoff + stencil: full/ghost/bin/3d bin: standard - (2) fix qeq/reax, perpetual, copy from (1) + (2) fix qeq/reaxff, perpetual, copy from (1) attributes: half, newton off, ghost pair build: copy stencil: none @@ -123,22 +123,22 @@ Step Temp E_pair TotEng Press v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa v_ehb v_ 60 1167.7852 -1971.8429 -1902.224 -3482.7305 -2705.863 -17.12171 0.22749077 0 44.507654 7.8560745 -74.788955 0 16.256483 -4.6046431 835.8304 -188.33691 0 114.19413 10 70 1439.9966 -1989.3024 -1903.4553 23845.651 -2890.7895 31.958845 0.26671721 0 85.758695 3.1803544 -71.002903 0 24.357134 -10.31131 905.86775 -175.38471 0 106.79648 10 80 502.39438 -1930.7544 -1900.8035 -20356.316 -2703.8115 -18.662467 0.11286011 0 99.804201 2.0329024 -76.171317 0 19.237028 -6.2786907 826.47451 -166.03125 0 92.539398 9 - 90 749.08499 -1946.9838 -1902.3262 17798.51 -2863.7576 42.068716 0.2433807 0 96.181613 0.96184888 -69.955448 0 24.615302 -11.582765 903.68818 -190.13843 0 120.69141 11 + 90 749.08499 -1946.9838 -1902.3262 17798.51 -2863.7576 42.068717 0.2433807 0 96.181613 0.96184887 -69.955448 0 24.615302 -11.582765 903.68818 -190.13843 0 120.69141 11 100 1109.6968 -1968.5874 -1902.4315 -4490.1018 -2755.8965 -7.1231014 0.21757699 0 61.806018 7.0827673 -75.645345 0 20.114997 -6.2371964 863.5635 -198.56976 0 122.09961 10.5 -Loop time of 0.617026 on 1 procs for 100 steps with 21 atoms +Loop time of 0.231802 on 1 procs for 100 steps with 21 atoms -Performance: 14.003 ns/day, 1.714 hours/ns, 162.068 timesteps/s -99.7% CPU use with 1 MPI tasks x 1 OpenMP threads +Performance: 37.273 ns/day, 0.644 hours/ns, 431.402 timesteps/s +99.2% CPU use with 1 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 0.52176 | 0.52176 | 0.52176 | 0.0 | 84.56 -Neigh | 0.033948 | 0.033948 | 0.033948 | 0.0 | 5.50 -Comm | 0.0017188 | 0.0017188 | 0.0017188 | 0.0 | 0.28 -Output | 0.00059319 | 0.00059319 | 0.00059319 | 0.0 | 0.10 -Modify | 0.05887 | 0.05887 | 0.05887 | 0.0 | 9.54 -Other | | 0.0001347 | | | 0.02 +Pair | 0.20857 | 0.20857 | 0.20857 | 0.0 | 89.98 +Neigh | 0.010489 | 0.010489 | 0.010489 | 0.0 | 4.52 +Comm | 0.00059632 | 0.00059632 | 0.00059632 | 0.0 | 0.26 +Output | 0.00067498 | 0.00067498 | 0.00067498 | 0.0 | 0.29 +Modify | 0.011161 | 0.011161 | 0.011161 | 0.0 | 4.82 +Other | | 0.000307 | | | 0.13 Nlocal: 21.0000 ave 21 max 21 min Histogram: 1 0 0 0 0 0 0 0 0 0 diff --git a/examples/reaxff/log.21Jul21.reaxff.rdx.g++.4 b/examples/reaxff/log.21Jul21.reaxff.rdx.g++.4 new file mode 100644 index 0000000000..29c36c54f0 --- /dev/null +++ b/examples/reaxff/log.21Jul21.reaxff.rdx.g++.4 @@ -0,0 +1,154 @@ +LAMMPS (2 Jul 2021) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# ReaxFF potential for RDX system + +units real + +atom_style charge +read_data data.rdx +Reading data file ... + orthogonal box = (35.000000 35.000000 35.000000) to (48.000000 48.000000 48.000000) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 21 atoms + read_data CPU = 0.001 seconds + +pair_style reaxff control.reax_c.rdx +WARNING: Ignoring inactive control parameter: simulation_name (src/REAXFF/reaxff_control.cpp:97) +WARNING: Ignoring inactive control parameter: energy_update_freq (src/REAXFF/reaxff_control.cpp:97) +WARNING: Support for writing native trajectories has been removed after LAMMPS version 8 April 2021 (src/REAXFF/reaxff_control.cpp:113) +WARNING: Ignoring inactive control parameter: traj_title (src/REAXFF/reaxff_control.cpp:97) +WARNING: Ignoring inactive control parameter: atom_info (src/REAXFF/reaxff_control.cpp:97) +WARNING: Ignoring inactive control parameter: atom_forces (src/REAXFF/reaxff_control.cpp:97) +WARNING: Ignoring inactive control parameter: atom_velocities (src/REAXFF/reaxff_control.cpp:97) +WARNING: Ignoring inactive control parameter: bond_info (src/REAXFF/reaxff_control.cpp:97) +WARNING: Ignoring inactive control parameter: angle_info (src/REAXFF/reaxff_control.cpp:97) +pair_coeff * * ffield.reax C H O N +Reading potential file ffield.reax with DATE: 2010-02-19 + +compute reax all pair reaxff + +variable eb equal c_reax[1] +variable ea equal c_reax[2] +variable elp equal c_reax[3] +variable emol equal c_reax[4] +variable ev equal c_reax[5] +variable epen equal c_reax[6] +variable ecoa equal c_reax[7] +variable ehb equal c_reax[8] +variable et equal c_reax[9] +variable eco equal c_reax[10] +variable ew equal c_reax[11] +variable ep equal c_reax[12] +variable efi equal c_reax[13] +variable eqeq equal c_reax[14] + +neighbor 2.5 bin +neigh_modify every 10 delay 0 check no + +fix 1 all nve +fix 2 all qeq/reaxff 1 0.0 10.0 1.0e-6 reaxff + +variable nqeq equal f_2 + +thermo 10 +thermo_style custom step temp epair etotal press v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq v_nqeq + +timestep 1.0 + +#dump 1 all atom 10 dump.reaxff.rdx + +#dump 2 all image 25 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 3 + +#dump 3 all movie 25 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 3 + +run 100 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- pair reaxff command: + +@Article{Aktulga12, + author = {H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama}, + title = {Parallel reactive molecular dynamics: Numerical methods and algorithmic techniques}, + journal = {Parallel Computing}, + year = 2012, + volume = 38, + pages = {245--259} +} + +- fix qeq/reaxff command: + +@Article{Aktulga12, + author = {H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama}, + title = {Parallel reactive molecular dynamics: Numerical methods and algorithmic techniques}, + journal = {Parallel Computing}, + year = 2012, + volume = 38, + pages = {245--259} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Neighbor list info ... + update every 10 steps, delay 0 steps, check no + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 12.5 + ghost atom cutoff = 12.5 + binsize = 6.25, bins = 3 3 3 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair reaxff, perpetual + attributes: half, newton off, ghost + pair build: half/bin/newtoff/ghost + stencil: full/ghost/bin/3d + bin: standard + (2) fix qeq/reaxff, perpetual, copy from (1) + attributes: half, newton off, ghost + pair build: copy + stencil: none + bin: none +Per MPI rank memory allocation (min/avg/max) = 9.353 | 10.52 | 11.73 Mbytes +Step Temp E_pair TotEng Press v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq v_nqeq + 0 0 -1884.3081 -1884.3081 27186.18 -2958.4712 79.527715 0.31082031 0 98.589783 25.846176 -0.18034154 0 16.709078 -9.1620736 938.43732 -244.79953 0 168.88418 12 + 10 1288.6115 -1989.6644 -1912.8422 -19456.352 -2734.6769 -15.607219 0.20177961 0 54.629556 3.1252292 -77.7067 0 14.933901 -5.8108542 843.92074 -180.43321 0 107.75934 8 + 20 538.95847 -1942.7037 -1910.5731 -10725.668 -2803.7395 7.9078328 0.077926688 0 81.610045 0.22951933 -57.557103 0 30.331203 -10.178049 878.99015 -159.69262 0 89.316856 7 + 30 463.09521 -1933.5765 -1905.9685 -33255.503 -2749.8591 -8.0154614 0.027628708 0 81.627408 0.11972393 -50.262275 0 20.820319 -9.6327031 851.88721 -149.49497 0 79.205707 8 + 40 885.49559 -1958.9126 -1906.1227 -4814.661 -2795.644 9.1506103 0.13747486 0 70.948058 0.24360549 -57.862693 0 19.076514 -11.141211 873.73894 -159.9939 0 92.434063 11 + 50 861.16222 -1954.4601 -1903.1209 -1896.7328 -2784.8449 3.8269573 0.15793301 0 79.851661 3.3492101 -78.066131 0 32.628939 -7.9565311 872.81847 -190.9857 0 114.75999 10 + 60 1167.7838 -1971.8434 -1902.2246 -3482.8253 -2705.8639 -17.121553 0.22749078 0 44.507707 7.8560156 -74.789002 0 16.256509 -4.6046674 835.83076 -188.33689 0 114.19413 10 + 70 1439.9922 -1989.3024 -1903.4556 23845.682 -2890.7894 31.958742 0.26671722 0 85.758402 3.1803955 -71.002937 0 24.357176 -10.311293 905.86805 -175.38494 0 106.79668 10 + 80 502.39847 -1930.7549 -1900.8038 -20356.357 -2703.8111 -18.662668 0.11286141 0 99.803668 2.0329484 -76.17132 0 19.236866 -6.2786536 826.47435 -166.03145 0 92.539587 9 + 90 749.0857 -1946.984 -1902.3263 17798.657 -2863.7584 42.068704 0.24338054 0 96.181666 0.96183837 -69.955527 0 24.615445 -11.58275 903.68864 -190.13828 0 120.69127 11 + 100 1109.695 -1968.5879 -1902.4321 -4490.3441 -2755.8984 -7.1226574 0.21757683 0 61.806014 7.0826278 -75.645456 0 20.115306 -6.2372466 863.56451 -198.56953 0 122.09941 10.5 +Loop time of 0.371707 on 4 procs for 100 steps with 21 atoms + +Performance: 23.244 ns/day, 1.033 hours/ns, 269.029 timesteps/s +91.8% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.13518 | 0.19123 | 0.24947 | 9.7 | 51.45 +Neigh | 0.0073075 | 0.0096968 | 0.012228 | 1.8 | 2.61 +Comm | 0.034511 | 0.093329 | 0.14912 | 14.0 | 25.11 +Output | 0.00081416 | 0.0011345 | 0.0019655 | 1.4 | 0.31 +Modify | 0.073177 | 0.075449 | 0.078618 | 0.7 | 20.30 +Other | | 0.0008711 | | | 0.23 + +Nlocal: 5.25000 ave 15 max 0 min +Histogram: 1 0 2 0 0 0 0 0 0 1 +Nghost: 355.500 ave 432 max 282 min +Histogram: 1 0 0 0 1 1 0 0 0 1 +Neighs: 298.750 ave 822 max 0 min +Histogram: 1 0 2 0 0 0 0 0 0 1 + +Total # of neighbors = 1195 +Ave neighs/atom = 56.904762 +Neighbor list builds = 10 +Dangerous builds not checked +Total wall time: 0:00:00 diff --git a/examples/reaxff/log.21Jul21.reaxff.tatb-shielded.g++.1 b/examples/reaxff/log.21Jul21.reaxff.tatb-shielded.g++.1 new file mode 100644 index 0000000000..4c84081d44 --- /dev/null +++ b/examples/reaxff/log.21Jul21.reaxff.tatb-shielded.g++.1 @@ -0,0 +1,142 @@ +LAMMPS (2 Jul 2021) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# ReaxFF potential for TATB system + +units real + +atom_style charge +read_data data.tatb +Reading data file ... + triclinic box = (0.0000000 0.0000000 0.0000000) to (13.624000 17.114915 15.182639) with tilt (-5.7531563 -6.3254660 7.4257288) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 384 atoms + read_data CPU = 0.002 seconds + +pair_style reaxff control.reax_c.tatb +WARNING: Ignoring inactive control parameter: simulation_name (src/REAXFF/reaxff_control.cpp:97) +WARNING: Ignoring inactive control parameter: energy_update_freq (src/REAXFF/reaxff_control.cpp:97) +WARNING: Support for writing native trajectories has been removed after LAMMPS version 8 April 2021 (src/REAXFF/reaxff_control.cpp:113) +WARNING: Ignoring inactive control parameter: traj_title (src/REAXFF/reaxff_control.cpp:97) +WARNING: Ignoring inactive control parameter: atom_info (src/REAXFF/reaxff_control.cpp:97) +WARNING: Ignoring inactive control parameter: atom_forces (src/REAXFF/reaxff_control.cpp:97) +WARNING: Ignoring inactive control parameter: atom_velocities (src/REAXFF/reaxff_control.cpp:97) +WARNING: Ignoring inactive control parameter: bond_info (src/REAXFF/reaxff_control.cpp:97) +WARNING: Ignoring inactive control parameter: angle_info (src/REAXFF/reaxff_control.cpp:97) +pair_coeff * * ffield.reax C H O N +Reading potential file ffield.reax with DATE: 2010-02-19 + +compute reax all pair reaxff + +variable eb equal c_reax[1] +variable ea equal c_reax[2] +variable elp equal c_reax[3] +variable emol equal c_reax[4] +variable ev equal c_reax[5] +variable epen equal c_reax[6] +variable ecoa equal c_reax[7] +variable ehb equal c_reax[8] +variable et equal c_reax[9] +variable eco equal c_reax[10] +variable ew equal c_reax[11] +variable ep equal c_reax[12] +variable efi equal c_reax[13] +variable eqeq equal c_reax[14] + +neighbor 2.5 bin +neigh_modify delay 0 every 5 check no + +fix 1 all nve +fix 2 all qeq/shielded 1 10.0 1.0e-6 100 reaxff +fix 4 all reaxff/bonds 5 bonds.reaxff +variable nqeq equal f_2 + +thermo 5 +thermo_style custom step temp epair etotal press v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq v_nqeq + +timestep 0.0625 + +#dump 1 all custom 100 dump.reaxff.tatb id type q x y z + +#dump 2 all image 5 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 3 + +#dump 3 all movie 5 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 3 + +fix 3 all reaxff/species 1 5 5 species.tatb + +run 25 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- pair reaxff command: + +@Article{Aktulga12, + author = {H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama}, + title = {Parallel reactive molecular dynamics: Numerical methods and algorithmic techniques}, + journal = {Parallel Computing}, + year = 2012, + volume = 38, + pages = {245--259} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Neighbor list info ... + update every 5 steps, delay 0 steps, check no + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 12.5 + ghost atom cutoff = 12.5 + binsize = 6.25, bins = 5 4 3 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair reaxff, perpetual + attributes: half, newton off, ghost + pair build: half/bin/newtoff/ghost + stencil: full/ghost/bin/3d + bin: standard + (2) fix qeq/shielded, perpetual + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 141.3 | 141.3 | 141.3 Mbytes +Step Temp E_pair TotEng Press v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq v_nqeq + 0 0 -44760.998 -44760.998 7827.7874 -61120.591 486.4378 4.7236377 0 1574.1033 20.788929 -279.51642 -1556.4696 252.57147 -655.84699 18862.412 -8740.6395 0 6391.0275 31 + 5 0.61603968 -44761.698 -44760.994 8934.6339 -61118.769 486.81263 4.7234094 0 1573.9241 20.768834 -278.24084 -1557.6713 252.64377 -655.74435 18859.379 -8738.1905 0 6388.6665 8 + 10 2.3525543 -44763.227 -44760.541 12288.589 -61113.174 487.82738 4.7226863 0 1573.411 20.705939 -274.50357 -1560.7569 252.85309 -655.44063 18850.391 -8730.9762 0 6381.714 10 + 15 4.9013256 -44766.36 -44760.764 17716.957 -61103.434 489.14721 4.7213644 0 1572.6349 20.593139 -268.56847 -1566.3829 252.95174 -654.96611 18835.777 -8719.2536 0 6370.4198 9 + 20 7.8294699 -44769.686 -44760.747 25205.552 -61089.006 490.21314 4.7193021 0 1571.7022 20.420943 -260.85565 -1573.7378 253.3539 -654.31623 18816.07 -8703.5055 0 6355.2567 8 + 25 10.697916 -44772.904 -44760.691 34232.955 -61069.308 490.25886 4.7163736 0 1570.7397 20.181347 -251.91377 -1582.3261 253.82253 -653.53184 18791.975 -8684.308 0 6336.7889 7 +Loop time of 3.31728 on 1 procs for 25 steps with 384 atoms + +Performance: 0.041 ns/day, 589.738 hours/ns, 7.536 timesteps/s +99.4% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 1.9321 | 1.9321 | 1.9321 | 0.0 | 58.24 +Neigh | 0.6452 | 0.6452 | 0.6452 | 0.0 | 19.45 +Comm | 0.0020122 | 0.0020122 | 0.0020122 | 0.0 | 0.06 +Output | 0.00030173 | 0.00030173 | 0.00030173 | 0.0 | 0.01 +Modify | 0.73726 | 0.73726 | 0.73726 | 0.0 | 22.22 +Other | | 0.0003829 | | | 0.01 + +Nlocal: 384.000 ave 384 max 384 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 7559.00 ave 7559 max 7559 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 286828.0 ave 286828 max 286828 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +FullNghs: 336304.0 ave 336304 max 336304 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 336304 +Ave neighs/atom = 875.79167 +Neighbor list builds = 5 +Dangerous builds not checked +Total wall time: 0:00:03 diff --git a/examples/reaxff/log.21Jul21.reaxff.tatb-shielded.g++.4 b/examples/reaxff/log.21Jul21.reaxff.tatb-shielded.g++.4 new file mode 100644 index 0000000000..d4cb8a0190 --- /dev/null +++ b/examples/reaxff/log.21Jul21.reaxff.tatb-shielded.g++.4 @@ -0,0 +1,142 @@ +LAMMPS (2 Jul 2021) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# ReaxFF potential for TATB system + +units real + +atom_style charge +read_data data.tatb +Reading data file ... + triclinic box = (0.0000000 0.0000000 0.0000000) to (13.624000 17.114915 15.182639) with tilt (-5.7531563 -6.3254660 7.4257288) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 384 atoms + read_data CPU = 0.004 seconds + +pair_style reaxff control.reax_c.tatb +WARNING: Ignoring inactive control parameter: simulation_name (src/REAXFF/reaxff_control.cpp:97) +WARNING: Ignoring inactive control parameter: energy_update_freq (src/REAXFF/reaxff_control.cpp:97) +WARNING: Support for writing native trajectories has been removed after LAMMPS version 8 April 2021 (src/REAXFF/reaxff_control.cpp:113) +WARNING: Ignoring inactive control parameter: traj_title (src/REAXFF/reaxff_control.cpp:97) +WARNING: Ignoring inactive control parameter: atom_info (src/REAXFF/reaxff_control.cpp:97) +WARNING: Ignoring inactive control parameter: atom_forces (src/REAXFF/reaxff_control.cpp:97) +WARNING: Ignoring inactive control parameter: atom_velocities (src/REAXFF/reaxff_control.cpp:97) +WARNING: Ignoring inactive control parameter: bond_info (src/REAXFF/reaxff_control.cpp:97) +WARNING: Ignoring inactive control parameter: angle_info (src/REAXFF/reaxff_control.cpp:97) +pair_coeff * * ffield.reax C H O N +Reading potential file ffield.reax with DATE: 2010-02-19 + +compute reax all pair reaxff + +variable eb equal c_reax[1] +variable ea equal c_reax[2] +variable elp equal c_reax[3] +variable emol equal c_reax[4] +variable ev equal c_reax[5] +variable epen equal c_reax[6] +variable ecoa equal c_reax[7] +variable ehb equal c_reax[8] +variable et equal c_reax[9] +variable eco equal c_reax[10] +variable ew equal c_reax[11] +variable ep equal c_reax[12] +variable efi equal c_reax[13] +variable eqeq equal c_reax[14] + +neighbor 2.5 bin +neigh_modify delay 0 every 5 check no + +fix 1 all nve +fix 2 all qeq/shielded 1 10.0 1.0e-6 100 reaxff +fix 4 all reaxff/bonds 5 bonds.reaxff +variable nqeq equal f_2 + +thermo 5 +thermo_style custom step temp epair etotal press v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq v_nqeq + +timestep 0.0625 + +#dump 1 all custom 100 dump.reaxff.tatb id type q x y z + +#dump 2 all image 5 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 3 + +#dump 3 all movie 5 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 3 + +fix 3 all reaxff/species 1 5 5 species.tatb + +run 25 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- pair reaxff command: + +@Article{Aktulga12, + author = {H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama}, + title = {Parallel reactive molecular dynamics: Numerical methods and algorithmic techniques}, + journal = {Parallel Computing}, + year = 2012, + volume = 38, + pages = {245--259} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Neighbor list info ... + update every 5 steps, delay 0 steps, check no + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 12.5 + ghost atom cutoff = 12.5 + binsize = 6.25, bins = 5 4 3 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair reaxff, perpetual + attributes: half, newton off, ghost + pair build: half/bin/newtoff/ghost + stencil: full/ghost/bin/3d + bin: standard + (2) fix qeq/shielded, perpetual + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 94.50 | 94.50 | 94.50 Mbytes +Step Temp E_pair TotEng Press v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq v_nqeq + 0 0 -44760.998 -44760.998 7827.7865 -61120.591 486.4378 4.7236377 0 1574.1033 20.788929 -279.51642 -1556.4696 252.57147 -655.84699 18862.412 -8740.6398 0 6391.0278 31 + 5 0.61603964 -44761.698 -44760.994 8934.6344 -61118.769 486.81263 4.7234094 0 1573.9241 20.768834 -278.24084 -1557.6713 252.64377 -655.74435 18859.379 -8738.1911 0 6388.6671 9 + 10 2.3525559 -44763.227 -44760.541 12288.611 -61113.174 487.82738 4.7226863 0 1573.411 20.705939 -274.50357 -1560.7569 252.85309 -655.44063 18850.391 -8730.9712 0 6381.7089 11 + 15 4.9013319 -44766.36 -44760.764 17716.965 -61103.434 489.14721 4.7213644 0 1572.6349 20.593139 -268.56847 -1566.3829 252.95174 -654.96611 18835.777 -8719.2514 0 6370.4176 9 + 20 7.8294706 -44769.686 -44760.747 25205.511 -61089.006 490.21313 4.719302 0 1571.7022 20.420943 -260.85565 -1573.7378 253.3539 -654.31623 18816.07 -8703.5196 0 6355.2708 7 + 25 10.69792 -44772.904 -44760.691 34232.831 -61069.308 490.25885 4.7163736 0 1570.7397 20.181346 -251.91377 -1582.3261 253.82253 -653.53184 18791.975 -8684.353 0 6336.8339 11 +Loop time of 2.66226 on 4 procs for 25 steps with 384 atoms + +Performance: 0.051 ns/day, 473.290 hours/ns, 9.391 timesteps/s +96.9% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 1.7311 | 1.7619 | 1.794 | 2.0 | 66.18 +Neigh | 0.46483 | 0.46901 | 0.47348 | 0.5 | 17.62 +Comm | 0.039253 | 0.073989 | 0.10705 | 10.7 | 2.78 +Output | 0.0012206 | 0.0080282 | 0.010299 | 4.4 | 0.30 +Modify | 0.34359 | 0.3488 | 0.36264 | 1.4 | 13.10 +Other | | 0.0005529 | | | 0.02 + +Nlocal: 96.0000 ave 96 max 96 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Nghost: 5118.00 ave 5118 max 5118 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Neighs: 79754.0 ave 79754 max 79754 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +FullNghs: 84076.0 ave 84076 max 84076 min +Histogram: 4 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 336304 +Ave neighs/atom = 875.79167 +Neighbor list builds = 5 +Dangerous builds not checked +Total wall time: 0:00:03 diff --git a/examples/reaxff/log.21Jul21.reaxff.tatb.g++.1 b/examples/reaxff/log.21Jul21.reaxff.tatb.g++.1 new file mode 100644 index 0000000000..2e1c7a5b26 --- /dev/null +++ b/examples/reaxff/log.21Jul21.reaxff.tatb.g++.1 @@ -0,0 +1,151 @@ +LAMMPS (2 Jul 2021) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# ReaxFF potential for TATB system + +units real + +atom_style charge +read_data data.tatb +Reading data file ... + triclinic box = (0.0000000 0.0000000 0.0000000) to (13.624000 17.114915 15.182639) with tilt (-5.7531563 -6.3254660 7.4257288) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 384 atoms + read_data CPU = 0.008 seconds + +pair_style reaxff control.reax_c.tatb +WARNING: Ignoring inactive control parameter: simulation_name (src/REAXFF/reaxff_control.cpp:97) +WARNING: Ignoring inactive control parameter: energy_update_freq (src/REAXFF/reaxff_control.cpp:97) +WARNING: Support for writing native trajectories has been removed after LAMMPS version 8 April 2021 (src/REAXFF/reaxff_control.cpp:113) +WARNING: Ignoring inactive control parameter: traj_title (src/REAXFF/reaxff_control.cpp:97) +WARNING: Ignoring inactive control parameter: atom_info (src/REAXFF/reaxff_control.cpp:97) +WARNING: Ignoring inactive control parameter: atom_forces (src/REAXFF/reaxff_control.cpp:97) +WARNING: Ignoring inactive control parameter: atom_velocities (src/REAXFF/reaxff_control.cpp:97) +WARNING: Ignoring inactive control parameter: bond_info (src/REAXFF/reaxff_control.cpp:97) +WARNING: Ignoring inactive control parameter: angle_info (src/REAXFF/reaxff_control.cpp:97) +pair_coeff * * ffield.reax C H O N +Reading potential file ffield.reax with DATE: 2010-02-19 + +compute reax all pair reaxff + +variable eb equal c_reax[1] +variable ea equal c_reax[2] +variable elp equal c_reax[3] +variable emol equal c_reax[4] +variable ev equal c_reax[5] +variable epen equal c_reax[6] +variable ecoa equal c_reax[7] +variable ehb equal c_reax[8] +variable et equal c_reax[9] +variable eco equal c_reax[10] +variable ew equal c_reax[11] +variable ep equal c_reax[12] +variable efi equal c_reax[13] +variable eqeq equal c_reax[14] + +neighbor 2.5 bin +neigh_modify delay 0 every 5 check no + +fix 1 all nve +fix 2 all qeq/reaxff 1 0.0 10.0 1.0e-6 reaxff +fix 4 all reaxff/bonds 5 bonds.reaxff +variable nqeq equal f_2 + +thermo 5 +thermo_style custom step temp epair etotal press v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq v_nqeq + +timestep 0.0625 + +#dump 1 all custom 100 dump.reaxff.tatb id type q x y z + +#dump 2 all image 5 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 3 + +#dump 3 all movie 5 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 3 + +fix 3 all reaxff/species 1 5 5 species.tatb + +run 25 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- pair reaxff command: + +@Article{Aktulga12, + author = {H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama}, + title = {Parallel reactive molecular dynamics: Numerical methods and algorithmic techniques}, + journal = {Parallel Computing}, + year = 2012, + volume = 38, + pages = {245--259} +} + +- fix qeq/reaxff command: + +@Article{Aktulga12, + author = {H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama}, + title = {Parallel reactive molecular dynamics: Numerical methods and algorithmic techniques}, + journal = {Parallel Computing}, + year = 2012, + volume = 38, + pages = {245--259} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Neighbor list info ... + update every 5 steps, delay 0 steps, check no + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 12.5 + ghost atom cutoff = 12.5 + binsize = 6.25, bins = 5 4 3 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair reaxff, perpetual + attributes: half, newton off, ghost + pair build: half/bin/newtoff/ghost + stencil: full/ghost/bin/3d + bin: standard + (2) fix qeq/reaxff, perpetual, copy from (1) + attributes: half, newton off, ghost + pair build: copy + stencil: none + bin: none +Per MPI rank memory allocation (min/avg/max) = 148.1 | 148.1 | 148.1 Mbytes +Step Temp E_pair TotEng Press v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq v_nqeq + 0 0 -44760.998 -44760.998 7827.7878 -61120.591 486.4378 4.7236377 0 1574.1033 20.788929 -279.51642 -1556.4696 252.57147 -655.84699 18862.412 -8740.6394 0 6391.0274 31.5 + 5 0.61603968 -44761.698 -44760.994 8934.6346 -61118.769 486.81263 4.7234094 0 1573.9241 20.768834 -278.24084 -1557.6713 252.64377 -655.74435 18859.379 -8738.1911 0 6388.6671 9 + 10 2.3525552 -44763.227 -44760.541 12288.581 -61113.174 487.82738 4.7226863 0 1573.411 20.705939 -274.50357 -1560.7569 252.85309 -655.44063 18850.391 -8730.9765 0 6381.7142 10.5 + 15 4.9013309 -44766.36 -44760.764 17716.918 -61103.434 489.14722 4.7213644 0 1572.6349 20.593139 -268.56847 -1566.3829 252.95174 -654.96611 18835.777 -8719.2622 0 6370.4284 9.5 + 20 7.829469 -44769.686 -44760.747 25205.568 -61089.006 490.21314 4.719302 0 1571.7022 20.420943 -260.85564 -1573.7378 253.3539 -654.31623 18816.07 -8703.5126 0 6355.2639 8 + 25 10.697899 -44772.904 -44760.691 34232.788 -61069.308 490.25886 4.7163736 0 1570.7397 20.181346 -251.91377 -1582.3261 253.82253 -653.53184 18791.975 -8684.3619 0 6336.8427 11 +Loop time of 2.91659 on 1 procs for 25 steps with 384 atoms + +Performance: 0.046 ns/day, 518.504 hours/ns, 8.572 timesteps/s +99.6% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 1.9139 | 1.9139 | 1.9139 | 0.0 | 65.62 +Neigh | 0.5948 | 0.5948 | 0.5948 | 0.0 | 20.39 +Comm | 0.0020205 | 0.0020205 | 0.0020205 | 0.0 | 0.07 +Output | 0.00031287 | 0.00031287 | 0.00031287 | 0.0 | 0.01 +Modify | 0.40513 | 0.40513 | 0.40513 | 0.0 | 13.89 +Other | | 0.0003856 | | | 0.01 + +Nlocal: 384.000 ave 384 max 384 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 7559.00 ave 7559 max 7559 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 286828.0 ave 286828 max 286828 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 286828 +Ave neighs/atom = 746.94792 +Neighbor list builds = 5 +Dangerous builds not checked +Total wall time: 0:00:03 diff --git a/examples/reaxff/log.21Jul21.reaxff.tatb.g++.4 b/examples/reaxff/log.21Jul21.reaxff.tatb.g++.4 new file mode 100644 index 0000000000..100c2f7ca4 --- /dev/null +++ b/examples/reaxff/log.21Jul21.reaxff.tatb.g++.4 @@ -0,0 +1,151 @@ +LAMMPS (2 Jul 2021) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# ReaxFF potential for TATB system + +units real + +atom_style charge +read_data data.tatb +Reading data file ... + triclinic box = (0.0000000 0.0000000 0.0000000) to (13.624000 17.114915 15.182639) with tilt (-5.7531563 -6.3254660 7.4257288) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 384 atoms + read_data CPU = 0.002 seconds + +pair_style reaxff control.reax_c.tatb +WARNING: Ignoring inactive control parameter: simulation_name (src/REAXFF/reaxff_control.cpp:97) +WARNING: Ignoring inactive control parameter: energy_update_freq (src/REAXFF/reaxff_control.cpp:97) +WARNING: Support for writing native trajectories has been removed after LAMMPS version 8 April 2021 (src/REAXFF/reaxff_control.cpp:113) +WARNING: Ignoring inactive control parameter: traj_title (src/REAXFF/reaxff_control.cpp:97) +WARNING: Ignoring inactive control parameter: atom_info (src/REAXFF/reaxff_control.cpp:97) +WARNING: Ignoring inactive control parameter: atom_forces (src/REAXFF/reaxff_control.cpp:97) +WARNING: Ignoring inactive control parameter: atom_velocities (src/REAXFF/reaxff_control.cpp:97) +WARNING: Ignoring inactive control parameter: bond_info (src/REAXFF/reaxff_control.cpp:97) +WARNING: Ignoring inactive control parameter: angle_info (src/REAXFF/reaxff_control.cpp:97) +pair_coeff * * ffield.reax C H O N +Reading potential file ffield.reax with DATE: 2010-02-19 + +compute reax all pair reaxff + +variable eb equal c_reax[1] +variable ea equal c_reax[2] +variable elp equal c_reax[3] +variable emol equal c_reax[4] +variable ev equal c_reax[5] +variable epen equal c_reax[6] +variable ecoa equal c_reax[7] +variable ehb equal c_reax[8] +variable et equal c_reax[9] +variable eco equal c_reax[10] +variable ew equal c_reax[11] +variable ep equal c_reax[12] +variable efi equal c_reax[13] +variable eqeq equal c_reax[14] + +neighbor 2.5 bin +neigh_modify delay 0 every 5 check no + +fix 1 all nve +fix 2 all qeq/reaxff 1 0.0 10.0 1.0e-6 reaxff +fix 4 all reaxff/bonds 5 bonds.reaxff +variable nqeq equal f_2 + +thermo 5 +thermo_style custom step temp epair etotal press v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq v_nqeq + +timestep 0.0625 + +#dump 1 all custom 100 dump.reaxff.tatb id type q x y z + +#dump 2 all image 5 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 3 + +#dump 3 all movie 5 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 3 + +fix 3 all reaxff/species 1 5 5 species.tatb + +run 25 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- pair reaxff command: + +@Article{Aktulga12, + author = {H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama}, + title = {Parallel reactive molecular dynamics: Numerical methods and algorithmic techniques}, + journal = {Parallel Computing}, + year = 2012, + volume = 38, + pages = {245--259} +} + +- fix qeq/reaxff command: + +@Article{Aktulga12, + author = {H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama}, + title = {Parallel reactive molecular dynamics: Numerical methods and algorithmic techniques}, + journal = {Parallel Computing}, + year = 2012, + volume = 38, + pages = {245--259} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Neighbor list info ... + update every 5 steps, delay 0 steps, check no + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 12.5 + ghost atom cutoff = 12.5 + binsize = 6.25, bins = 5 4 3 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair reaxff, perpetual + attributes: half, newton off, ghost + pair build: half/bin/newtoff/ghost + stencil: full/ghost/bin/3d + bin: standard + (2) fix qeq/reaxff, perpetual, copy from (1) + attributes: half, newton off, ghost + pair build: copy + stencil: none + bin: none +Per MPI rank memory allocation (min/avg/max) = 99.27 | 99.27 | 99.27 Mbytes +Step Temp E_pair TotEng Press v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq v_nqeq + 0 0 -44760.998 -44760.998 7827.7866 -61120.591 486.4378 4.7236377 0 1574.1033 20.788929 -279.51642 -1556.4696 252.57147 -655.84699 18862.412 -8740.6397 0 6391.0277 31 + 5 0.61603941 -44761.698 -44760.994 8934.6279 -61118.769 486.81263 4.7234094 0 1573.9241 20.768834 -278.24084 -1557.6713 252.64377 -655.74435 18859.379 -8738.193 0 6388.6691 10 + 10 2.352555 -44763.227 -44760.541 12288.61 -61113.174 487.82738 4.7226863 0 1573.411 20.705939 -274.50358 -1560.7569 252.85309 -655.44063 18850.391 -8730.9686 0 6381.7064 9 + 15 4.9013339 -44766.36 -44760.764 17716.995 -61103.434 489.14721 4.7213644 0 1572.6349 20.593139 -268.56847 -1566.3829 252.95174 -654.96611 18835.777 -8719.2413 0 6370.4076 10.5 + 20 7.8294636 -44769.686 -44760.747 25205.611 -61089.006 490.21313 4.719302 0 1571.7022 20.420943 -260.85565 -1573.7378 253.3539 -654.31623 18816.07 -8703.4966 0 6355.2478 10 + 25 10.6979 -44772.904 -44760.691 34232.798 -61069.308 490.25886 4.7163736 0 1570.7397 20.181346 -251.91378 -1582.3261 253.82253 -653.53184 18791.975 -8684.3574 0 6336.8382 10.5 +Loop time of 2.53633 on 4 procs for 25 steps with 384 atoms + +Performance: 0.053 ns/day, 450.902 hours/ns, 9.857 timesteps/s +97.8% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 1.7343 | 1.7637 | 1.815 | 2.4 | 69.54 +Neigh | 0.44441 | 0.44869 | 0.45403 | 0.6 | 17.69 +Comm | 0.025287 | 0.074702 | 0.10592 | 11.9 | 2.95 +Output | 0.0016916 | 0.0080527 | 0.010178 | 4.1 | 0.32 +Modify | 0.23126 | 0.24065 | 0.25706 | 2.1 | 9.49 +Other | | 0.000566 | | | 0.02 + +Nlocal: 96.0000 ave 96 max 96 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Nghost: 5118.00 ave 5118 max 5118 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Neighs: 79754.0 ave 79754 max 79754 min +Histogram: 4 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 319016 +Ave neighs/atom = 830.77083 +Neighbor list builds = 5 +Dangerous builds not checked +Total wall time: 0:00:02 From c59dc079dbb2b453cb71bef3bd78c2704649c7e3 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 21 Jul 2021 22:53:18 -0400 Subject: [PATCH 500/726] correctly detect when to retrieve parameters from pair style reaxff --- src/QEQ/fix_qeq.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/QEQ/fix_qeq.cpp b/src/QEQ/fix_qeq.cpp index 964cc26cc9..a0d012bb5b 100644 --- a/src/QEQ/fix_qeq.cpp +++ b/src/QEQ/fix_qeq.cpp @@ -126,7 +126,7 @@ FixQEq::FixQEq(LAMMPS *lmp, int narg, char **arg) : if (strcmp(arg[7],"coul/streitz") == 0) { streitz_flag = 1; - } else if (utils::strmatch(arg[7],"^reax..") == 0) { + } else if (utils::strmatch(arg[7],"^reax..")) { reax_flag = 1; } else { read_file(arg[7]); From f79b6ac3737e95f0f6b5bf185c97ca14c93e1f99 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 21 Jul 2021 23:12:06 -0400 Subject: [PATCH 501/726] recover compilation of KOKKOS package --- src/KOKKOS/fix_reaxff_bonds_kokkos.h | 2 +- src/KOKKOS/pair_reaxff_kokkos.cpp | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/KOKKOS/fix_reaxff_bonds_kokkos.h b/src/KOKKOS/fix_reaxff_bonds_kokkos.h index b1203e472d..b39dfa3c17 100644 --- a/src/KOKKOS/fix_reaxff_bonds_kokkos.h +++ b/src/KOKKOS/fix_reaxff_bonds_kokkos.h @@ -39,7 +39,7 @@ class FixReaxFFBondsKokkos : public FixReaxFFBonds { private: int nbuf; - void Output_ReaxFF_Bonds() + void Output_ReaxFF_Bonds(); double memory_usage(); }; } diff --git a/src/KOKKOS/pair_reaxff_kokkos.cpp b/src/KOKKOS/pair_reaxff_kokkos.cpp index 6e49b5081c..26d5450046 100644 --- a/src/KOKKOS/pair_reaxff_kokkos.cpp +++ b/src/KOKKOS/pair_reaxff_kokkos.cpp @@ -138,8 +138,8 @@ template void PairReaxFFKokkos::init_style() { PairReaxFF::init_style(); - if (fix_reax) modify->delete_fix(fix_id); // not needed in the Kokkos version - fix_reax = nullptr; + if (fix_reaxff) modify->delete_fix(fix_id); // not needed in the Kokkos version + fix_reaxff = nullptr; // irequest = neigh request made by parent class From d5ba7b25784cc6c3406e5c93cc33e132c9ed1e54 Mon Sep 17 00:00:00 2001 From: Stan Gerald Moore Date: Thu, 22 Jul 2021 08:10:42 -0600 Subject: [PATCH 502/726] Propagate variable rename --- src/KOKKOS/pair_exp6_rx_kokkos.cpp | 6 +++--- src/KOKKOS/pair_table_rx_kokkos.cpp | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/KOKKOS/pair_exp6_rx_kokkos.cpp b/src/KOKKOS/pair_exp6_rx_kokkos.cpp index 5c1a3b3589..000f9dcc7d 100644 --- a/src/KOKKOS/pair_exp6_rx_kokkos.cpp +++ b/src/KOKKOS/pair_exp6_rx_kokkos.cpp @@ -1787,7 +1787,7 @@ void PairExp6rxKokkos::read_file(char *file) while ((words[nwords++] = strtok(nullptr," \t\n\r\f"))) continue; for (ispecies = 0; ispecies < nspecies; ispecies++) - if (strcmp(words[0],&atom->dname[ispecies][0]) == 0) break; + if (strcmp(words[0],&atom->dvname[ispecies][0]) == 0) break; if (ispecies == nspecies) continue; // load up parameter settings and error check their values @@ -1801,9 +1801,9 @@ void PairExp6rxKokkos::read_file(char *file) params[nparams].ispecies = ispecies; - n = strlen(&atom->dname[ispecies][0]) + 1; + n = strlen(&atom->dvname[ispecies][0]) + 1; params[nparams].name = new char[n]; - strcpy(params[nparams].name,&atom->dname[ispecies][0]); + strcpy(params[nparams].name,&atom->dvname[ispecies][0]); n = strlen(words[1]) + 1; params[nparams].potential = new char[n]; diff --git a/src/KOKKOS/pair_table_rx_kokkos.cpp b/src/KOKKOS/pair_table_rx_kokkos.cpp index b672b126ef..d5eaa7af3f 100644 --- a/src/KOKKOS/pair_table_rx_kokkos.cpp +++ b/src/KOKKOS/pair_table_rx_kokkos.cpp @@ -1047,7 +1047,7 @@ void PairTableRXKokkos::coeff(int narg, char **arg) int ispecies; for (ispecies = 0; ispecies < nspecies; ispecies++) { - if (strcmp(site1,&atom->dname[ispecies][0]) == 0) break; + if (strcmp(site1,&atom->dvname[ispecies][0]) == 0) break; } if (ispecies == nspecies && strcmp(site1,"1fluid") != 0) error->all(FLERR,"Site1 name not recognized in pair coefficients"); @@ -1057,7 +1057,7 @@ void PairTableRXKokkos::coeff(int narg, char **arg) strcpy(site2,arg[5]); for (ispecies = 0; ispecies < nspecies; ispecies++) { - if (strcmp(site2,&atom->dname[ispecies][0]) == 0) break; + if (strcmp(site2,&atom->dvname[ispecies][0]) == 0) break; } if (ispecies == nspecies && strcmp(site2,"1fluid") != 0) error->all(FLERR,"Site2 name not recognized in pair coefficients"); @@ -1124,7 +1124,7 @@ void PairTableRXKokkos::coeff(int narg, char **arg) isite1 = nspecies; for (int k = 0; k < nspecies; k++) { - if (strcmp(site1, atom->dname[k]) == 0) { + if (strcmp(site1, atom->dvname[k]) == 0) { isite1 = k; break; } @@ -1139,7 +1139,7 @@ void PairTableRXKokkos::coeff(int narg, char **arg) isite2 = nspecies; for (int k = 0; k < nspecies; k++) { - if (strcmp(site2, atom->dname[k]) == 0) { + if (strcmp(site2, atom->dvname[k]) == 0) { isite2 = ispecies; break; } From fde6cae56df482ac80aae0846810096416784702 Mon Sep 17 00:00:00 2001 From: Stan Gerald Moore Date: Thu, 22 Jul 2021 08:44:32 -0600 Subject: [PATCH 503/726] Add logic for GPU-enabled MPICH --- src/KOKKOS/kokkos.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/KOKKOS/kokkos.cpp b/src/KOKKOS/kokkos.cpp index 2588bf5d49..aa435d5b0b 100644 --- a/src/KOKKOS/kokkos.cpp +++ b/src/KOKKOS/kokkos.cpp @@ -293,9 +293,14 @@ KokkosLMP::KokkosLMP(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp) error->warning(FLERR,"MVAPICH2 'MV2_USE_CUDA' environment variable is not set. Disabling GPU-aware MPI"); // pure MPICH or some unsupported MPICH derivative #elif defined(MPICH) && !defined(MVAPICH2_VERSION) - if (me == 0) - error->warning(FLERR,"Detected MPICH. Disabling GPU-aware MPI"); + char* str; gpu_aware_flag = 0; + if ((str = getenv("MPICH_GPU_SUPPORT_ENABLED"))) + if ((strcmp(str,"1") == 0)) + gpu_aware_flag = 1; + + if (!gpu_aware_flag && me == 0) + error->warning(FLERR,"Detected MPICH. Disabling GPU-aware MPI"); #else if (me == 0) error->warning(FLERR,"Kokkos with CUDA, HIP, or SYCL assumes CUDA-aware MPI is available," From bb46dd7d1f765a3e9c5b926b102e59662ec39f9f Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 22 Jul 2021 13:14:49 -0400 Subject: [PATCH 504/726] update embedded documentation for the library interface functions for accessing fix external --- src/library.cpp | 122 ++++++++++++++++++++++++++++++++++-------------- 1 file changed, 87 insertions(+), 35 deletions(-) diff --git a/src/library.cpp b/src/library.cpp index 0c897538a1..b9c2fbe4e9 100644 --- a/src/library.cpp +++ b/src/library.cpp @@ -4823,13 +4823,14 @@ mode. The function has to have C language bindings with the prototype: The argument *ptr* to this function will be stored in fix external and the passed as the first argument calling the callback function `func()`. -This would usually be a pointer to the LAMMPS instance, i.e. the same +This would usually be a pointer to the active LAMMPS instance, i.e. the same pointer as the *handle* argument. This would be needed to call -functions that set the global or per-atom energy or virial -contributions. +functions that set the global or per-atom energy or virial contributions +from within the callback function. -The callback mechanism is on of the two modes of fix external. The -alternative is the array mode set up by :cpp:func:`lammps_fix_external_get_force`. +The callback mechanism is one of the two modes of how forces and can be +applied to a simulation with the help of fix external. The alternative +is the array mode where you call :cpp:func:`lammps_fix_external_get_force`. Please see the documentation for :doc:`fix external ` for more information about how to use the fix and how to couple it with an @@ -4872,23 +4873,25 @@ Fix :doc:`external ` allows programs that are running LAMMPS throu its library interface to add or modify certain LAMMPS properties on specific timesteps, similar to the way other fixes do. -This function provides access to the per-atom force storage in the fix -external instance to be added to the individual atoms when using the -"pf/array" mode. The *fexternal* array can be accessed similar to the -"native" per-atom *arrays accessible via the +This function provides access to the per-atom force storage in a fix +external instance with the given fix-ID to be added to the individual +atoms when using the "pf/array" mode. The *fexternal* array can be +accessed like other "native" per-atom arrays accessible via the :cpp:func:`lammps_extract_atom` function. Please note that the array -stores forces for *local* atoms, in the order determined by the neighbor -list build. Because the underlying data structures can change as well as -the order of atom as they migrate between MPI processes, this function -should be always called immediately before the forces are going to be -set to get an up-to-date pointer. You can use -e.g. :cpp:func:`lammps_get_natoms` to obtain the number of local atoms -and thus the dimensions of the returned force array (``double force[nlocal][3]``). +stores holds the forces for *local* atoms for each MPI ranks, in the +order determined by the neighbor list build. Because the underlying +data structures can change as well as the order of atom as they migrate +between MPI processes because of the domain decomposition +parallelization, this function should be always called immediately +before the forces are going to be set to get an up-to-date pointer. + You can use e.g. :cpp:func:`lammps_get_natoms` to obtain the number +of local atoms `nlocal` and then assume the dimensions of the returned +force array as ``double force[nlocal][3]``. This is an alternative to the callback mechanism in fix external set up by :cpp:func:`lammps_set_fix_external_callback`. The main difference is -that this mechanism can be used when forces can be pre-computed and the -control alternates between LAMMPS and the external command, while the +that this mechanism can be used when forces are be pre-computed and the +control alternates between LAMMPS and the external code, while the callback mechanism can call the external code to compute the force when the fix is triggered and needs them. @@ -4933,8 +4936,12 @@ This is a companion function to :cpp:func:`lammps_set_fix_external_callback` and to the global energy from the external code. The value of the *eng* argument will be stored in the fix and applied on the current and all following timesteps until changed by another call to this function. -When running in parallel, the value is the per-MPI process contribution, -not the total energy. +The energy is in energy units as determined by the current :doc:`units ` +settings and is the **total** energy of the contribution. Thus when +running in parallel all MPI processes have to call this function with +the **same** value and this will be returned as scalar property of the +fix external instance when accessed in LAMMPS input commands or from +variables. Please see the documentation for :doc:`fix external ` for more information about how to use the fix and how to couple it with an @@ -4944,7 +4951,7 @@ external code. * * \param handle pointer to a previously created LAMMPS instance cast to ``void *``. * \param id fix ID of fix external instance - * \param eng energy to be added to the global energy */ + * \param eng total energy to be added to the global energy */ void lammps_fix_external_set_energy_global(void *handle, const char *id, double eng) { @@ -4972,10 +4979,18 @@ void lammps_fix_external_set_energy_global(void *handle, const char *id, double \verbatim embed:rst This is a companion function to :cpp:func:`lammps_set_fix_external_callback` -to set the contribution to the global virial from the external code -as part of the callback function. For this to work, the handle to the -LAMMPS object must be passed as the *ptr* argument when registering the -callback function. +and :cpp:func:`lammps_fix_external_get_force` to set the contribution to +the global virial from the external code. + +The 6 values of the *virial* array will be stored in the fix and applied +on the current and all following timesteps until changed by another call +to this function. The components of the virial need to be stored in the +order: *xx*, *yy*, *zz*, *xy*, *xz*, *yz*. In LAMMPS the virial is +stored internally as `stress*volume` in units of `pressure*volume` as +determined by the current :doc:`units ` settings and is the +**total** contribution. Thus when running in parallel all MPI processes +have to call this function with the **same** value and this will then +be added by fix external. Please see the documentation for :doc:`fix external ` for more information about how to use the fix and how to couple it with an @@ -5016,8 +5031,15 @@ This is a companion function to :cpp:func:`lammps_set_fix_external_callback` to set the per-atom energy contribution due to the fix from the external code as part of the callback function. For this to work, the handle to the LAMMPS object must be passed as the *ptr* argument when registering the -callback function. No check is made whether the sum of the -contributions are consistent with any global added energy. +callback function. + +.. note:: + + This function is fully independent from :cpp:func:`lammps_fix_external_set_energy_global` + and will **NOT** add any contributions to the global energy tally + and **NOT** check whether the sum of the contributions added here are + consistent with the global added energy. + Please see the documentation for :doc:`fix external ` for more information about how to use the fix and how to couple it with an @@ -5027,7 +5049,7 @@ external code. * * \param handle pointer to a previously created LAMMPS instance cast to ``void *``. * \param id fix ID of fix external instance - * \param eng energy to be added to the per-atom energy */ + * \param eng pointer to array of length nlocal with the energy to be added to the per-atom energy */ void lammps_fix_external_set_energy_peratom(void *handle, const char *id, double *eng) { @@ -5058,8 +5080,18 @@ This is a companion function to :cpp:func:`lammps_set_fix_external_callback` to set the per-atom virial contribution due to the fix from the external code as part of the callback function. For this to work, the handle to the LAMMPS object must be passed as the *ptr* argument when registering the -callback function. No check is made whether the sum of the -contributions are consistent with any globally added virial components. +callback function. + +.. note:: + + This function is fully independent from :cpp:func:`lammps_fix_external_set_virial_global` + and will **NOT** add any contributions to the global virial tally + and **NOT** check whether the sum of the contributions added here are + consistent with the global added virial. + +The order and units of the per-atom stress tensor elements are the same +as for the global virial. The code in fix external assumes the +dimensions of the per-atom virial array is ``double virial[nlocal][6]``. Please see the documentation for :doc:`fix external ` for more information about how to use the fix and how to couple it with an @@ -5069,7 +5101,7 @@ external code. * * \param handle pointer to a previously created LAMMPS instance cast to ``void *``. * \param id fix ID of fix external instance - * \param virial the 6 per-atom stress tensor components to be added to the per-atom virial */ + * \param virial a list of nlocal entries with the 6 per-atom stress tensor components to be added to the per-atom virial */ void lammps_fix_external_set_virial_peratom(void *handle, const char *id, double **virial) { @@ -5098,7 +5130,13 @@ void lammps_fix_external_set_virial_peratom(void *handle, const char *id, double This is a companion function to :cpp:func:`lammps_set_fix_external_callback` and :cpp:func:`lammps_fix_external_get_force` to set the length of a global vector of -properties that will be stored with the fix via :cpp:func:`lammps_fix_external_set_vector`. +properties that will be stored with the fix via +:cpp:func:`lammps_fix_external_set_vector`. + +This function needs to be called **before** a call to +:cpp:func:`lammps_fix_external_set_vector` and **before** a run or minimize +command. When running in parallel it must be called from **all** MPI +processes and with the same length parameter. Please see the documentation for :doc:`fix external ` for more information about how to use the fix and how to couple it with an @@ -5137,8 +5175,22 @@ void lammps_fix_external_set_vector_length(void *handle, const char *id, int len This is a companion function to :cpp:func:`lammps_set_fix_external_callback` and :cpp:func:`lammps_fix_external_get_force` to set the values of a global vector of -properties that will be stored with the fix. The length of the vector -must be set beforehand with :cpp:func:`lammps_fix_external_set_vector_length`. +properties that will be stored with the fix. And can be accessed from +within LAMMPS input commands (e.g. fix ave/time or variables) when used +in a vector context. + +This function needs to be called **after** a call to +:cpp:func:`lammps_fix_external_set_vector_length` and the and **before** a run or minimize +command. When running in parallel it must be called from **all** MPI +processes and with the **same** index and value parameters. The value +is assumed to be extensive. + +.. note:: + + The index in the *idx* parameter is 1-based, i.e. the first element + is set with idx = 1 and the last element of the vector with idx = N, + where N is the value of the *len* parameter of the call to + :cpp:func:`lammps_fix_external_set_vector_length`. Please see the documentation for :doc:`fix external ` for more information about how to use the fix and how to couple it with an @@ -5148,7 +5200,7 @@ external code. * * \param handle pointer to a previously created LAMMPS instance cast to ``void *``. * \param id fix ID of fix external instance - * \param idx 1 based index of in global vector + * \param idx 1-based index of in global vector * \param val value to be stored in global vector */ void lammps_fix_external_set_vector(void *handle, const char *id, int idx, double val) From 2d93edab1b4b7631eaf50d87a726d237d56cbccd Mon Sep 17 00:00:00 2001 From: Aidan Thompson Date: Thu, 22 Jul 2021 12:22:34 -0600 Subject: [PATCH 505/726] Added one line of diagnostic output to create_atoms command --- src/create_atoms.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/create_atoms.cpp b/src/create_atoms.cpp index 02efba7e93..96e1476228 100644 --- a/src/create_atoms.cpp +++ b/src/create_atoms.cpp @@ -596,10 +596,13 @@ void CreateAtoms::command(int narg, char **arg) // print status MPI_Barrier(world); - if (me == 0) - utils::logmesg(lmp,"Created {} atoms\n" - " create_atoms CPU = {:.3f} seconds\n", - atom->natoms - natoms_previous, MPI_Wtime() - time1); + if (me == 0) { + utils::logmesg(lmp,"Created {} atoms\n", atom->natoms - natoms_previous); + if (scaleflag) domain->print_box(" using lattice units in "); + else domain->print_box(" using box units in "); + utils::logmesg(lmp," create_atoms CPU = {:.3f} seconds\n", + MPI_Wtime() - time1); + } } /* ---------------------------------------------------------------------- From d211cea89864d2872249ab13a9e15e40b9990708 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 22 Jul 2021 14:58:33 -0400 Subject: [PATCH 506/726] bugfix from Dan Bolintineanu. closes #2812 --- src/GRANULAR/fix_wall_gran.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/GRANULAR/fix_wall_gran.cpp b/src/GRANULAR/fix_wall_gran.cpp index 52311f64a7..a604782993 100644 --- a/src/GRANULAR/fix_wall_gran.cpp +++ b/src/GRANULAR/fix_wall_gran.cpp @@ -1193,7 +1193,7 @@ void FixWallGran::granular(double rsq, double dx, double dy, double dz, knfac = E; //Hooke a = sqrt(dR); Fne = knfac*delta; - if (normal_model != HOOKE) { + if (normal_model != NORMAL_HOOKE) { Fne *= a; knfac *= a; } From 324ae3181bcfee8b1eca651136fe78073b0067e4 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 22 Jul 2021 15:27:51 -0400 Subject: [PATCH 507/726] python interface for per-atom data for fix external --- python/lammps/core.py | 52 ++++++++++++++++++++++++-- python/lammps/numpy_wrapper.py | 20 ++++++++++ unittest/python/python-fix-external.py | 41 +++++++++++++++++++- 3 files changed, 109 insertions(+), 4 deletions(-) diff --git a/python/lammps/core.py b/python/lammps/core.py index 9ea2530cdc..e5ff88cda0 100644 --- a/python/lammps/core.py +++ b/python/lammps/core.py @@ -1749,8 +1749,8 @@ class lammps(object): - ntimestep is the current timestep - nlocal is the number of local atoms on the current MPI process - tag is a 1d NumPy array of integers representing the atom IDs of the local atoms - - x is a 2d NumPy array of floating point numbers of the coordinates of the local atoms - - f is a 2d NumPy array of floating point numbers of the forces on the local atoms that will be added + - x is a 2d NumPy array of doubles of the coordinates of the local atoms + - f is a 2d NumPy array of doubles of the forces on the local atoms that will be added :param fix_id: Fix-ID of a fix external instance :type: string @@ -1777,7 +1777,7 @@ class lammps(object): # ------------------------------------------------------------------------- def fix_external_get_force(self, fix_id): - """Get access to that array with per-atom forces of a fix external instance with a given fix ID. + """Get access to the array with per-atom forces of a fix external instance with a given fix ID. This is a wrapper around the :cpp:func:`lammps_fix_external_get_force` function of the C-library interface. @@ -1827,6 +1827,52 @@ class lammps(object): with ExceptionCheck(self): return self.lib.lammps_fix_external_set_virial_global(self.lmp, fix_id.encode(), cvirial) + # ------------------------------------------------------------------------- + + def fix_external_set_energy_peratom(self, fix_id, eatom): + """Set the global energy contribution for a fix external instance with the given ID. + + This is a wrapper around the :cpp:func:`lammps_fix_external_set_energy_peratom` function + of the C-library interface. + + :param fix_id: Fix-ID of a fix external instance + :type: string + :param eatom: list of potential energy values for local atoms to be added by fix external + :type: float + """ + + nlocal = self.extract_setting('nlocal') + ceatom = (nlocal*c_double)(*eatom) + with ExceptionCheck(self): + return self.lib.lammps_fix_external_set_energy_peratom(self.lmp, fix_id.encode(), ceatom) + + # ------------------------------------------------------------------------- + + def fix_external_set_virial_peratom(self, fix_id, virial): + """Set the global virial contribution for a fix external instance with the given ID. + + This is a wrapper around the :cpp:func:`lammps_fix_external_set_virial_peratom` function + of the C-library interface. + + :param fix_id: Fix-ID of a fix external instance + :type: string + :param eng: list of natoms lists with 6 floating point numbers to be added by fix external + :type: float + """ + + # copy virial data to C compatible buffer + nlocal = self.extract_setting('nlocal') + vbuf = (c_double * 6) + vptr = POINTER(c_double) + cvirial = (vptr * nlocal)() + for i in range(nlocal): + cvirial[i] = vbuf() + for j in range(6): + cvirial[i][j] = virial[i][j] + + with ExceptionCheck(self): + return self.lib.lammps_fix_external_set_virial_peratom(self.lmp, fix_id.encode(), cvirial) + # ------------------------------------------------------------------------- def fix_external_set_vector_length(self, fix_id, length): """Set the vector length for a global vector stored with fix external for analysis diff --git a/python/lammps/numpy_wrapper.py b/python/lammps/numpy_wrapper.py index 20fdf4cc68..1998930319 100644 --- a/python/lammps/numpy_wrapper.py +++ b/python/lammps/numpy_wrapper.py @@ -246,6 +246,26 @@ class numpy_wrapper: return np.ctypeslib.as_array(value) return value + # ------------------------------------------------------------------------- + + def fix_external_get_force(self, fix_id): + """Get access to the array with per-atom forces of a fix external instance with a given fix ID. + + This function is a wrapper around the + :py:meth:`lammps.fix_external_get_force() ` + method. It behaves the same as the original method, but returns a NumPy array instead + of a ``ctypes`` pointer. + + :param fix_id: Fix-ID of a fix external instance + :type: string + :return: requested data + :rtype: numpy.array + """ + import numpy as np + nlocal = self.lmp.extract_setting('nlocal') + value = self.lmp.fix_external_get_force(fix_id) + return self.darray(value,nlocal,3) + # ------------------------------------------------------------------------- def get_neighlist(self, idx): diff --git a/unittest/python/python-fix-external.py b/unittest/python/python-fix-external.py index 2d4c50e454..8b85d2ccd1 100644 --- a/unittest/python/python-fix-external.py +++ b/unittest/python/python-fix-external.py @@ -20,6 +20,18 @@ def callback_one(lmp, ntimestep, nlocal, tag, x, f): lmp.fix_external_set_vector("ext", 5, -1.0) lmp.fix_external_set_vector("ext", 6, 0.25) + eatom = [0.0,0.1,0.2,0.3,0.4,0.5,0.6,0.7] + vatom = [ [0.1,0.0,0.0,0.0,0.0,0.0], + [0.0,0.2,0.0,0.0,0.0,0.0], + [0.0,0.0,0.3,0.0,0.0,0.0], + [0.0,0.0,0.0,0.4,0.0,0.0], + [0.0,0.0,0.0,0.0,0.5,0.0], + [0.0,0.0,0.0,0.0,0.0,0.6], + [0.0,0.0,0.0,0.0,-7.0,0.0], + [0.0,-8.0,0.0,0.0,0.0,0.0] ] + lmp.fix_external_set_energy_peratom("ext",eatom) + lmp.fix_external_set_virial_peratom("ext",vatom) + class PythonExternal(unittest.TestCase): def testExternalCallback(self): """Test fix external from Python with pf/callback""" @@ -42,6 +54,10 @@ class PythonExternal(unittest.TestCase): thermo 5 fix 1 all nve fix ext all external pf/callback 5 1 + compute eatm all pe/atom fix + compute vatm all stress/atom NULL fix + compute sum all reduce sum c_eatm c_vatm[*] + thermo_style custom step temp pe ke etotal press c_sum[*] fix_modify ext energy yes virial yes """ lmp.commands_string(basic_system) @@ -51,6 +67,14 @@ class PythonExternal(unittest.TestCase): self.assertAlmostEqual(lmp.get_thermo("temp"),1.0/30.0,14) self.assertAlmostEqual(lmp.get_thermo("pe"),1.0/8.0,14) self.assertAlmostEqual(lmp.get_thermo("press"),0.15416666666666667,14) + reduce = lmp.extract_compute("sum", LMP_STYLE_GLOBAL, LMP_TYPE_VECTOR) + self.assertAlmostEqual(reduce[0],2.8,14) + self.assertAlmostEqual(reduce[1],-0.1,14) + self.assertAlmostEqual(reduce[2],7.8,14) + self.assertAlmostEqual(reduce[3],-0.3,14) + self.assertAlmostEqual(reduce[4],-0.4,14) + self.assertAlmostEqual(reduce[5],6.5,14) + self.assertAlmostEqual(reduce[6],-0.6,14) val = 0.0 for i in range(0,6): val += lmp.extract_fix("ext",LMP_STYLE_GLOBAL,LMP_TYPE_VECTOR,nrow=i) @@ -59,6 +83,12 @@ class PythonExternal(unittest.TestCase): def testExternalArray(self): """Test fix external from Python with pf/array""" + try: + import numpy + NUMPY_INSTALLED = True + except ImportError: + NUMPY_INSTALLED = False + machine=None if 'LAMMPS_MACHINE_NAME' in os.environ: machine=os.environ['LAMMPS_MACHINE_NAME'] @@ -93,6 +123,11 @@ class PythonExternal(unittest.TestCase): self.assertAlmostEqual(lmp.get_thermo("temp"),4.0/525.0,14) self.assertAlmostEqual(lmp.get_thermo("pe"),1.0/16.0,14) self.assertAlmostEqual(lmp.get_thermo("press"),0.06916666666666667,14) + if NUMPY_INSTALLED: + npforce = lmp.numpy.fix_external_get_force("ext") + self.assertEqual(len(npforce),8) + self.assertEqual(len(npforce[0]),3) + self.assertEqual(npforce[1][1],0.0) force = lmp.fix_external_get_force("ext"); nlocal = lmp.extract_setting("nlocal"); @@ -106,8 +141,12 @@ class PythonExternal(unittest.TestCase): self.assertAlmostEqual(lmp.get_thermo("temp"),1.0/30.0,14) self.assertAlmostEqual(lmp.get_thermo("pe"),1.0/8.0,14) self.assertAlmostEqual(lmp.get_thermo("press"),0.15416666666666667,14) + if NUMPY_INSTALLED: + npforce = lmp.numpy.fix_external_get_force("ext") + self.assertEqual(npforce[0][0],6.0) + self.assertEqual(npforce[3][1],6.0) + self.assertEqual(npforce[7][2],6.0) ############################## if __name__ == "__main__": unittest.main() - From 74c306b32bc01eb8988053dbb5a695dbaaa15c6d Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 22 Jul 2021 16:37:06 -0400 Subject: [PATCH 508/726] whitespace --- src/create_atoms.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/create_atoms.cpp b/src/create_atoms.cpp index 96e1476228..2d11a5a3bc 100644 --- a/src/create_atoms.cpp +++ b/src/create_atoms.cpp @@ -599,7 +599,7 @@ void CreateAtoms::command(int narg, char **arg) if (me == 0) { utils::logmesg(lmp,"Created {} atoms\n", atom->natoms - natoms_previous); if (scaleflag) domain->print_box(" using lattice units in "); - else domain->print_box(" using box units in "); + else domain->print_box(" using box units in "); utils::logmesg(lmp," create_atoms CPU = {:.3f} seconds\n", MPI_Wtime() - time1); } From fbf3bcae708150bfb4189ba32735e25c043828d9 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 22 Jul 2021 16:45:30 -0400 Subject: [PATCH 509/726] correct automated substition mistake --- src/KOKKOS/pair_reaxff_kokkos.cpp | 132 +++++++++++++++--------------- src/KOKKOS/pair_reaxff_kokkos.h | 58 ++++++------- 2 files changed, 95 insertions(+), 95 deletions(-) diff --git a/src/KOKKOS/pair_reaxff_kokkos.cpp b/src/KOKKOS/pair_reaxff_kokkos.cpp index 26d5450046..aac0229f87 100644 --- a/src/KOKKOS/pair_reaxff_kokkos.cpp +++ b/src/KOKKOS/pair_reaxff_kokkos.cpp @@ -724,14 +724,14 @@ void PairReaxFFKokkos::compute(int eflag_in, int vflag_in) // Polarization (self) if (neighflag == HALF) { if (evflag) - Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,inum),*this,ev); + Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,inum),*this,ev); else - Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum),*this); + Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum),*this); } else { //if (neighflag == HALFTHREAD) { if (evflag) - Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,inum),*this,ev); + Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,inum),*this,ev); else - Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum),*this); + Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum),*this); } ev_all += ev; pvector[13] = ev.ecoul; @@ -740,26 +740,26 @@ void PairReaxFFKokkos::compute(int eflag_in, int vflag_in) if (api->control->tabulate) { if (neighflag == HALF) { if (evflag) - Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,inum),*this,ev); + Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,inum),*this,ev); else - Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum),*this); + Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum),*this); } else if (neighflag == HALFTHREAD) { if (evflag) - Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,inum),*this,ev); + Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,inum),*this,ev); else - Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum),*this); + Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum),*this); } } else { if (neighflag == HALF) { if (evflag) - Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,inum),*this,ev); + Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,inum),*this,ev); else - Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum),*this); + Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum),*this); } else if (neighflag == HALFTHREAD) { if (evflag) - Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,inum),*this,ev); + Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,inum),*this,ev); else - Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum),*this); + Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum),*this); } } ev_all += ev; @@ -853,34 +853,34 @@ void PairReaxFFKokkos::compute(int eflag_in, int vflag_in) // Bond energy if (neighflag == HALF) { if (evflag) - Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,inum),*this,ev); + Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,inum),*this,ev); else - Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum),*this); + Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum),*this); ev_all += ev; pvector[0] = ev.evdwl; } else { //if (neighflag == HALFTHREAD) { if (evflag) - Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,inum),*this,ev); + Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,inum),*this,ev); else - Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum),*this); + Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum),*this); ev_all += ev; pvector[0] = ev.evdwl; } // Multi-body corrections if (neighflag == HALF) { - Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum),*this); + Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum),*this); if (evflag) - Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,inum),*this,ev); + Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,inum),*this,ev); else - Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum),*this); + Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum),*this); ev_all += ev; } else { //if (neighflag == HALFTHREAD) { - Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum),*this); + Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum),*this); if (evflag) - Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,inum),*this,ev); + Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,inum),*this,ev); else - Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum),*this); + Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum),*this); ev_all += ev; } pvector[2] = ev.ereax[0]; @@ -891,15 +891,15 @@ void PairReaxFFKokkos::compute(int eflag_in, int vflag_in) // Angular if (neighflag == HALF) { if (evflag) - Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,inum),*this,ev); + Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,inum),*this,ev); else - Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum),*this); + Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum),*this); ev_all += ev; } else { //if (neighflag == HALFTHREAD) { if (evflag) - Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,inum),*this,ev); + Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,inum),*this,ev); else - Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum),*this); + Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum),*this); ev_all += ev; } pvector[4] = ev.ereax[3]; @@ -910,15 +910,15 @@ void PairReaxFFKokkos::compute(int eflag_in, int vflag_in) // Torsion if (neighflag == HALF) { if (evflag) - Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,inum),*this,ev); + Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,inum),*this,ev); else - Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum),*this); + Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum),*this); ev_all += ev; } else { //if (neighflag == HALFTHREAD) { if (evflag) - Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,inum),*this,ev); + Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,inum),*this,ev); else - Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum),*this); + Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum),*this); ev_all += ev; } pvector[8] = ev.ereax[6]; @@ -929,15 +929,15 @@ void PairReaxFFKokkos::compute(int eflag_in, int vflag_in) if (cut_hbsq > 0.0) { if (neighflag == HALF) { if (evflag) - Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,inum),*this,ev); + Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,inum),*this,ev); else - Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum),*this); + Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum),*this); ev_all += ev; } else { //if (neighflag == HALFTHREAD) { if (evflag) - Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,inum),*this,ev); + Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,inum),*this,ev); else - Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum),*this); + Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum),*this); ev_all += ev; } } @@ -969,9 +969,9 @@ void PairReaxFFKokkos::compute(int eflag_in, int vflag_in) //} if (evflag) - Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,ignum),*this,ev); + Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,ignum),*this,ev); else - Kokkos::parallel_for(Kokkos::RangePolicy >(0,ignum),*this); + Kokkos::parallel_for(Kokkos::RangePolicy >(0,ignum),*this); ev_all += ev; pvector[0] += ev.evdwl; } else { //if (neighflag == HALFTHREAD) { @@ -985,9 +985,9 @@ void PairReaxFFKokkos::compute(int eflag_in, int vflag_in) //} if (evflag) - Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,ignum),*this,ev); + Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,ignum),*this,ev); else - Kokkos::parallel_for(Kokkos::RangePolicy >(0,ignum),*this); + Kokkos::parallel_for(Kokkos::RangePolicy >(0,ignum),*this); ev_all += ev; pvector[0] += ev.evdwl; } @@ -1049,7 +1049,7 @@ void PairReaxFFKokkos::compute(int eflag_in, int vflag_in) template template KOKKOS_INLINE_FUNCTION -void PairReaxFFKokkos::operator()(PairReaxFFomputePolar, const int &ii, EV_FLOAT_REAX& ev) const { +void PairReaxFFKokkos::operator()(PairReaxFFComputePolar, const int &ii, EV_FLOAT_REAX& ev) const { const int i = d_ilist[ii]; const int itype = type(i); @@ -1067,9 +1067,9 @@ void PairReaxFFKokkos::operator()(PairReaxFFomputePolar template KOKKOS_INLINE_FUNCTION -void PairReaxFFKokkos::operator()(PairReaxFFomputePolar, const int &ii) const { +void PairReaxFFKokkos::operator()(PairReaxFFComputePolar, const int &ii) const { EV_FLOAT_REAX ev; - this->template operator()(PairReaxFFomputePolar(), ii, ev); + this->template operator()(PairReaxFFComputePolar(), ii, ev); } @@ -1078,7 +1078,7 @@ void PairReaxFFKokkos::operator()(PairReaxFFomputePolar template KOKKOS_INLINE_FUNCTION -void PairReaxFFKokkos::operator()(PairReaxFFomputeLJCoulomb, const int &ii, EV_FLOAT_REAX& ev) const { +void PairReaxFFKokkos::operator()(PairReaxFFComputeLJCoulomb, const int &ii, EV_FLOAT_REAX& ev) const { // The f array is duplicated for OpenMP, atomic for CUDA, and neither for Serial @@ -1220,9 +1220,9 @@ void PairReaxFFKokkos::operator()(PairReaxFFomputeLJCoulomb template KOKKOS_INLINE_FUNCTION -void PairReaxFFKokkos::operator()(PairReaxFFomputeLJCoulomb, const int &ii) const { +void PairReaxFFKokkos::operator()(PairReaxFFComputeLJCoulomb, const int &ii) const { EV_FLOAT_REAX ev; - this->template operator()(PairReaxFFomputeLJCoulomb(), ii, ev); + this->template operator()(PairReaxFFComputeLJCoulomb(), ii, ev); } /* ---------------------------------------------------------------------- */ @@ -1230,7 +1230,7 @@ void PairReaxFFKokkos::operator()(PairReaxFFomputeLJCoulomb template KOKKOS_INLINE_FUNCTION -void PairReaxFFKokkos::operator()(PairReaxFFomputeTabulatedLJCoulomb, const int &ii, EV_FLOAT_REAX& ev) const { +void PairReaxFFKokkos::operator()(PairReaxFFComputeTabulatedLJCoulomb, const int &ii, EV_FLOAT_REAX& ev) const { // The f array is duplicated for OpenMP, atomic for CUDA, and neither for Serial @@ -1327,9 +1327,9 @@ void PairReaxFFKokkos::operator()(PairReaxFFomputeTabulatedLJCoulomb template template KOKKOS_INLINE_FUNCTION -void PairReaxFFKokkos::operator()(PairReaxFFomputeTabulatedLJCoulomb, const int &ii) const { +void PairReaxFFKokkos::operator()(PairReaxFFComputeTabulatedLJCoulomb, const int &ii) const { EV_FLOAT_REAX ev; - this->template operator()(PairReaxFFomputeTabulatedLJCoulomb(), ii, ev); + this->template operator()(PairReaxFFComputeTabulatedLJCoulomb(), ii, ev); } /* ---------------------------------------------------------------------- */ @@ -1989,7 +1989,7 @@ void PairReaxFFKokkos::operator()(PairReaxBondOrder3, const int &ii) template template KOKKOS_INLINE_FUNCTION -void PairReaxFFKokkos::operator()(PairReaxFFomputeMulti1, const int &ii) const { +void PairReaxFFKokkos::operator()(PairReaxFFComputeMulti1, const int &ii) const { const int i = d_ilist[ii]; const int itype = type(i); @@ -2023,7 +2023,7 @@ void PairReaxFFKokkos::operator()(PairReaxFFomputeMulti1 template KOKKOS_INLINE_FUNCTION -void PairReaxFFKokkos::operator()(PairReaxFFomputeMulti2, const int &ii, EV_FLOAT_REAX& ev) const { +void PairReaxFFKokkos::operator()(PairReaxFFComputeMulti2, const int &ii, EV_FLOAT_REAX& ev) const { auto v_CdDelta = ScatterViewHelper::value,decltype(dup_CdDelta),decltype(ndup_CdDelta)>::get(dup_CdDelta,ndup_CdDelta); auto a_CdDelta = v_CdDelta.template access::value>(); @@ -2164,9 +2164,9 @@ void PairReaxFFKokkos::operator()(PairReaxFFomputeMulti2 template KOKKOS_INLINE_FUNCTION -void PairReaxFFKokkos::operator()(PairReaxFFomputeMulti2, const int &ii) const { +void PairReaxFFKokkos::operator()(PairReaxFFComputeMulti2, const int &ii) const { EV_FLOAT_REAX ev; - this->template operator()(PairReaxFFomputeMulti2(), ii, ev); + this->template operator()(PairReaxFFComputeMulti2(), ii, ev); } @@ -2175,7 +2175,7 @@ void PairReaxFFKokkos::operator()(PairReaxFFomputeMulti2 template KOKKOS_INLINE_FUNCTION -void PairReaxFFKokkos::operator()(PairReaxFFomputeAngular, const int &ii, EV_FLOAT_REAX& ev) const { +void PairReaxFFKokkos::operator()(PairReaxFFComputeAngular, const int &ii, EV_FLOAT_REAX& ev) const { auto v_f = ScatterViewHelper::value,decltype(dup_f),decltype(ndup_f)>::get(dup_f,ndup_f); auto a_f = v_f.template access::value>(); @@ -2476,9 +2476,9 @@ void PairReaxFFKokkos::operator()(PairReaxFFomputeAngular template KOKKOS_INLINE_FUNCTION -void PairReaxFFKokkos::operator()(PairReaxFFomputeAngular, const int &ii) const { +void PairReaxFFKokkos::operator()(PairReaxFFComputeAngular, const int &ii) const { EV_FLOAT_REAX ev; - this->template operator()(PairReaxFFomputeAngular(), ii, ev); + this->template operator()(PairReaxFFComputeAngular(), ii, ev); } @@ -2487,7 +2487,7 @@ void PairReaxFFKokkos::operator()(PairReaxFFomputeAngular template KOKKOS_INLINE_FUNCTION -void PairReaxFFKokkos::operator()(PairReaxFFomputeTorsion, const int &ii, EV_FLOAT_REAX& ev) const { +void PairReaxFFKokkos::operator()(PairReaxFFComputeTorsion, const int &ii, EV_FLOAT_REAX& ev) const { auto v_f = ScatterViewHelper::value,decltype(dup_f),decltype(ndup_f)>::get(dup_f,ndup_f); auto a_f = v_f.template access::value>(); @@ -2851,9 +2851,9 @@ void PairReaxFFKokkos::operator()(PairReaxFFomputeTorsion template KOKKOS_INLINE_FUNCTION -void PairReaxFFKokkos::operator()(PairReaxFFomputeTorsion, const int &ii) const { +void PairReaxFFKokkos::operator()(PairReaxFFComputeTorsion, const int &ii) const { EV_FLOAT_REAX ev; - this->template operator()(PairReaxFFomputeTorsion(), ii, ev); + this->template operator()(PairReaxFFComputeTorsion(), ii, ev); } @@ -2862,7 +2862,7 @@ void PairReaxFFKokkos::operator()(PairReaxFFomputeTorsion template KOKKOS_INLINE_FUNCTION -void PairReaxFFKokkos::operator()(PairReaxFFomputeHydrogen, const int &ii, EV_FLOAT_REAX& ev) const { +void PairReaxFFKokkos::operator()(PairReaxFFComputeHydrogen, const int &ii, EV_FLOAT_REAX& ev) const { auto v_f = ScatterViewHelper::value,decltype(dup_f),decltype(ndup_f)>::get(dup_f,ndup_f); auto a_f = v_f.template access::value>(); @@ -2998,9 +2998,9 @@ void PairReaxFFKokkos::operator()(PairReaxFFomputeHydrogen template KOKKOS_INLINE_FUNCTION -void PairReaxFFKokkos::operator()(PairReaxFFomputeHydrogen, const int &ii) const { +void PairReaxFFKokkos::operator()(PairReaxFFComputeHydrogen, const int &ii) const { EV_FLOAT_REAX ev; - this->template operator()(PairReaxFFomputeHydrogen(), ii, ev); + this->template operator()(PairReaxFFComputeHydrogen(), ii, ev); } @@ -3061,7 +3061,7 @@ void PairReaxFFKokkos::operator()(PairReaxUpdateBond, con template template KOKKOS_INLINE_FUNCTION -void PairReaxFFKokkos::operator()(PairReaxFFomputeBond1, const int &ii, EV_FLOAT_REAX& ev) const { +void PairReaxFFKokkos::operator()(PairReaxFFComputeBond1, const int &ii, EV_FLOAT_REAX& ev) const { auto v_f = ScatterViewHelper::value,decltype(dup_f),decltype(ndup_f)>::get(dup_f,ndup_f); @@ -3168,9 +3168,9 @@ void PairReaxFFKokkos::operator()(PairReaxFFomputeBond1 template KOKKOS_INLINE_FUNCTION -void PairReaxFFKokkos::operator()(PairReaxFFomputeBond1, const int &ii) const { +void PairReaxFFKokkos::operator()(PairReaxFFComputeBond1, const int &ii) const { EV_FLOAT_REAX ev; - this->template operator()(PairReaxFFomputeBond1(), ii, ev); + this->template operator()(PairReaxFFComputeBond1(), ii, ev); } @@ -3179,7 +3179,7 @@ void PairReaxFFKokkos::operator()(PairReaxFFomputeBond1 template KOKKOS_INLINE_FUNCTION -void PairReaxFFKokkos::operator()(PairReaxFFomputeBond2, const int &ii, EV_FLOAT_REAX& ev) const { +void PairReaxFFKokkos::operator()(PairReaxFFComputeBond2, const int &ii, EV_FLOAT_REAX& ev) const { auto v_f = ScatterViewHelper::value,decltype(dup_f),decltype(ndup_f)>::get(dup_f,ndup_f); auto a_f = v_f.template access::value>(); @@ -3369,9 +3369,9 @@ void PairReaxFFKokkos::operator()(PairReaxFFomputeBond2 template KOKKOS_INLINE_FUNCTION -void PairReaxFFKokkos::operator()(PairReaxFFomputeBond2, const int &ii) const { +void PairReaxFFKokkos::operator()(PairReaxFFComputeBond2, const int &ii) const { EV_FLOAT_REAX ev; - this->template operator()(PairReaxFFomputeBond2(), ii, ev); + this->template operator()(PairReaxFFComputeBond2(), ii, ev); } diff --git a/src/KOKKOS/pair_reaxff_kokkos.h b/src/KOKKOS/pair_reaxff_kokkos.h index 08f0911292..e60533f61e 100644 --- a/src/KOKKOS/pair_reaxff_kokkos.h +++ b/src/KOKKOS/pair_reaxff_kokkos.h @@ -56,13 +56,13 @@ struct LR_lookup_table_kk }; template -struct PairReaxFFomputePolar{}; +struct PairReaxFFComputePolar{}; template -struct PairReaxFFomputeLJCoulomb{}; +struct PairReaxFFComputeLJCoulomb{}; template -struct PairReaxFFomputeTabulatedLJCoulomb{}; +struct PairReaxFFComputeTabulatedLJCoulomb{}; struct PairReaxBuildListsFull{}; @@ -85,25 +85,25 @@ template struct PairReaxUpdateBond{}; template -struct PairReaxFFomputeBond1{}; +struct PairReaxFFComputeBond1{}; template -struct PairReaxFFomputeBond2{}; +struct PairReaxFFComputeBond2{}; template -struct PairReaxFFomputeMulti1{}; +struct PairReaxFFComputeMulti1{}; template -struct PairReaxFFomputeMulti2{}; +struct PairReaxFFComputeMulti2{}; template -struct PairReaxFFomputeAngular{}; +struct PairReaxFFComputeAngular{}; template -struct PairReaxFFomputeTorsion{}; +struct PairReaxFFComputeTorsion{}; template -struct PairReaxFFomputeHydrogen{}; +struct PairReaxFFComputeHydrogen{}; struct PairReaxFindBondZero{}; @@ -134,27 +134,27 @@ class PairReaxFFKokkos : public PairReaxFF { template KOKKOS_INLINE_FUNCTION - void operator()(PairReaxFFomputePolar, const int&, EV_FLOAT_REAX&) const; + void operator()(PairReaxFFComputePolar, const int&, EV_FLOAT_REAX&) const; template KOKKOS_INLINE_FUNCTION - void operator()(PairReaxFFomputePolar, const int&) const; + void operator()(PairReaxFFComputePolar, const int&) const; template KOKKOS_INLINE_FUNCTION - void operator()(PairReaxFFomputeLJCoulomb, const int&, EV_FLOAT_REAX&) const; + void operator()(PairReaxFFComputeLJCoulomb, const int&, EV_FLOAT_REAX&) const; template KOKKOS_INLINE_FUNCTION - void operator()(PairReaxFFomputeLJCoulomb, const int&) const; + void operator()(PairReaxFFComputeLJCoulomb, const int&) const; template KOKKOS_INLINE_FUNCTION - void operator()(PairReaxFFomputeTabulatedLJCoulomb, const int&, EV_FLOAT_REAX&) const; + void operator()(PairReaxFFComputeTabulatedLJCoulomb, const int&, EV_FLOAT_REAX&) const; template KOKKOS_INLINE_FUNCTION - void operator()(PairReaxFFomputeTabulatedLJCoulomb, const int&) const; + void operator()(PairReaxFFComputeTabulatedLJCoulomb, const int&) const; KOKKOS_INLINE_FUNCTION void operator()(PairReaxBuildListsFull, const int&) const; @@ -187,55 +187,55 @@ class PairReaxFFKokkos : public PairReaxFF { template KOKKOS_INLINE_FUNCTION - void operator()(PairReaxFFomputeBond1, const int&, EV_FLOAT_REAX&) const; + void operator()(PairReaxFFComputeBond1, const int&, EV_FLOAT_REAX&) const; template KOKKOS_INLINE_FUNCTION - void operator()(PairReaxFFomputeBond1, const int&) const; + void operator()(PairReaxFFComputeBond1, const int&) const; template KOKKOS_INLINE_FUNCTION - void operator()(PairReaxFFomputeBond2, const int&, EV_FLOAT_REAX&) const; + void operator()(PairReaxFFComputeBond2, const int&, EV_FLOAT_REAX&) const; template KOKKOS_INLINE_FUNCTION - void operator()(PairReaxFFomputeBond2, const int&) const; + void operator()(PairReaxFFComputeBond2, const int&) const; template KOKKOS_INLINE_FUNCTION - void operator()(PairReaxFFomputeMulti1, const int&) const; + void operator()(PairReaxFFComputeMulti1, const int&) const; template KOKKOS_INLINE_FUNCTION - void operator()(PairReaxFFomputeMulti2, const int&, EV_FLOAT_REAX&) const; + void operator()(PairReaxFFComputeMulti2, const int&, EV_FLOAT_REAX&) const; template KOKKOS_INLINE_FUNCTION - void operator()(PairReaxFFomputeMulti2, const int&) const; + void operator()(PairReaxFFComputeMulti2, const int&) const; template KOKKOS_INLINE_FUNCTION - void operator()(PairReaxFFomputeAngular, const int&, EV_FLOAT_REAX&) const; + void operator()(PairReaxFFComputeAngular, const int&, EV_FLOAT_REAX&) const; template KOKKOS_INLINE_FUNCTION - void operator()(PairReaxFFomputeAngular, const int&) const; + void operator()(PairReaxFFComputeAngular, const int&) const; template KOKKOS_INLINE_FUNCTION - void operator()(PairReaxFFomputeTorsion, const int&, EV_FLOAT_REAX&) const; + void operator()(PairReaxFFComputeTorsion, const int&, EV_FLOAT_REAX&) const; template KOKKOS_INLINE_FUNCTION - void operator()(PairReaxFFomputeTorsion, const int&) const; + void operator()(PairReaxFFComputeTorsion, const int&) const; template KOKKOS_INLINE_FUNCTION - void operator()(PairReaxFFomputeHydrogen, const int&, EV_FLOAT_REAX&) const; + void operator()(PairReaxFFComputeHydrogen, const int&, EV_FLOAT_REAX&) const; template KOKKOS_INLINE_FUNCTION - void operator()(PairReaxFFomputeHydrogen, const int&) const; + void operator()(PairReaxFFComputeHydrogen, const int&) const; KOKKOS_INLINE_FUNCTION void operator()(PairReaxFindBondZero, const int&) const; From bf8bde5b03a4d00010375c4889d164209c965242 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 22 Jul 2021 16:59:04 -0400 Subject: [PATCH 510/726] implement numpy wrapper for setting per-atom energy. virial not yet implemented --- python/lammps/core.py | 16 ++++----- python/lammps/numpy_wrapper.py | 45 +++++++++++++++++++++++++- src/library.cpp | 2 +- unittest/python/python-fix-external.py | 7 ++++ 4 files changed, 60 insertions(+), 10 deletions(-) diff --git a/python/lammps/core.py b/python/lammps/core.py index e5ff88cda0..269b716c13 100644 --- a/python/lammps/core.py +++ b/python/lammps/core.py @@ -1830,7 +1830,7 @@ class lammps(object): # ------------------------------------------------------------------------- def fix_external_set_energy_peratom(self, fix_id, eatom): - """Set the global energy contribution for a fix external instance with the given ID. + """Set the per-atom energy contribution for a fix external instance with the given ID. This is a wrapper around the :cpp:func:`lammps_fix_external_set_energy_peratom` function of the C-library interface. @@ -1848,15 +1848,15 @@ class lammps(object): # ------------------------------------------------------------------------- - def fix_external_set_virial_peratom(self, fix_id, virial): - """Set the global virial contribution for a fix external instance with the given ID. + def fix_external_set_virial_peratom(self, fix_id, vatom): + """Set the per-atom virial contribution for a fix external instance with the given ID. This is a wrapper around the :cpp:func:`lammps_fix_external_set_virial_peratom` function of the C-library interface. :param fix_id: Fix-ID of a fix external instance :type: string - :param eng: list of natoms lists with 6 floating point numbers to be added by fix external + :param vatom: list of natoms lists with 6 floating point numbers to be added by fix external :type: float """ @@ -1864,14 +1864,14 @@ class lammps(object): nlocal = self.extract_setting('nlocal') vbuf = (c_double * 6) vptr = POINTER(c_double) - cvirial = (vptr * nlocal)() + c_virial = (vptr * nlocal)() for i in range(nlocal): - cvirial[i] = vbuf() + c_virial[i] = vbuf() for j in range(6): - cvirial[i][j] = virial[i][j] + c_virial[i][j] = vatom[i][j] with ExceptionCheck(self): - return self.lib.lammps_fix_external_set_virial_peratom(self.lmp, fix_id.encode(), cvirial) + return self.lib.lammps_fix_external_set_virial_peratom(self.lmp, fix_id.encode(), c_virial) # ------------------------------------------------------------------------- def fix_external_set_vector_length(self, fix_id, length): diff --git a/python/lammps/numpy_wrapper.py b/python/lammps/numpy_wrapper.py index 1998930319..7752d7902e 100644 --- a/python/lammps/numpy_wrapper.py +++ b/python/lammps/numpy_wrapper.py @@ -266,7 +266,50 @@ class numpy_wrapper: value = self.lmp.fix_external_get_force(fix_id) return self.darray(value,nlocal,3) - # ------------------------------------------------------------------------- + # ------------------------------------------------------------------------- + + def fix_external_set_energy_peratom(self, fix_id, eatom): + """Set the per-atom energy contribution for a fix external instance with the given ID. + + This function is an alternative to + :py:meth:`lammps.fix_external_set_energy_peratom() ` + method. It behaves the same as the original method, but accepts a NumPy array + instead of a list as argument. + + :param fix_id: Fix-ID of a fix external instance + :type: string + :param eatom: per-atom potential energy + :type: numpy.array + """ + import numpy as np + nlocal = self.lmp.extract_setting('nlocal') + c_double_p = POINTER(c_double) + value = eatom.astype(np.double) + return self.lmp.lib.lammps_fix_external_set_energy_peratom(self.lmp.lmp, fix_id.encode(), + value.ctypes.data_as(c_double_p)) + + # ------------------------------------------------------------------------- + + def fix_external_set_virial_peratom(self, fix_id, vatom): + """Set the per-atom virial contribution for a fix external instance with the given ID. + + This function is an alternative to + :py:meth:`lammps.fix_external_set_virial_peratom() ` + method. It behaves the same as the original method, but accepts a NumPy array + instead of a list as argument. + + .. note:: + + This function is not yet implemented. + + :param fix_id: Fix-ID of a fix external instance + :type: string + :param eatom: per-atom potential energy + :type: numpy.array + """ + raise Exception('fix_external_set_virial_peratom() not yet implemented for NumPy arrays') + + # ------------------------------------------------------------------------- def get_neighlist(self, idx): """Returns an instance of :class:`NumPyNeighList` which wraps access to the neighbor list with the given index diff --git a/src/library.cpp b/src/library.cpp index b9c2fbe4e9..7d49868158 100644 --- a/src/library.cpp +++ b/src/library.cpp @@ -5189,7 +5189,7 @@ is assumed to be extensive. The index in the *idx* parameter is 1-based, i.e. the first element is set with idx = 1 and the last element of the vector with idx = N, - where N is the value of the *len* parameter of the call to + where N is the value of the *len* parameter of the call to :cpp:func:`lammps_fix_external_set_vector_length`. Please see the documentation for :doc:`fix external ` for diff --git a/unittest/python/python-fix-external.py b/unittest/python/python-fix-external.py index 8b85d2ccd1..d7928ccbe2 100644 --- a/unittest/python/python-fix-external.py +++ b/unittest/python/python-fix-external.py @@ -32,6 +32,13 @@ def callback_one(lmp, ntimestep, nlocal, tag, x, f): lmp.fix_external_set_energy_peratom("ext",eatom) lmp.fix_external_set_virial_peratom("ext",vatom) + #import numpy as np + #eng = np.array(eatom) + #vir = np.array(vatom) + + #lmp.numpy.fix_external_set_energy_peratom("ext",eng) + #lmp.numpy.fix_external_set_virial_peratom("ext",vir) # not yet implemented + class PythonExternal(unittest.TestCase): def testExternalCallback(self): """Test fix external from Python with pf/callback""" From a078d1ba53f5698ea58b11456a01a6437bab7d10 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 22 Jul 2021 22:49:16 -0400 Subject: [PATCH 511/726] check energy and virial per atom arrays for correct size --- python/lammps/core.py | 6 ++++++ python/lammps/numpy_wrapper.py | 11 ++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/python/lammps/core.py b/python/lammps/core.py index 269b716c13..d981243503 100644 --- a/python/lammps/core.py +++ b/python/lammps/core.py @@ -1842,6 +1842,8 @@ class lammps(object): """ nlocal = self.extract_setting('nlocal') + if len(eatom) < nlocal: + raise Exception('per-atom energy list length must be at least nlocal') ceatom = (nlocal*c_double)(*eatom) with ExceptionCheck(self): return self.lib.lammps_fix_external_set_energy_peratom(self.lmp, fix_id.encode(), ceatom) @@ -1862,6 +1864,10 @@ class lammps(object): # copy virial data to C compatible buffer nlocal = self.extract_setting('nlocal') + if len(vatom) < nlocal: + raise Exception('per-atom virial first dimension must be at least nlocal') + if len(vatom[0]) != 6: + raise Exception('per-atom virial second dimension must be 6') vbuf = (c_double * 6) vptr = POINTER(c_double) c_virial = (vptr * nlocal)() diff --git a/python/lammps/numpy_wrapper.py b/python/lammps/numpy_wrapper.py index 7752d7902e..29a6f9d74e 100644 --- a/python/lammps/numpy_wrapper.py +++ b/python/lammps/numpy_wrapper.py @@ -283,6 +283,9 @@ class numpy_wrapper: """ import numpy as np nlocal = self.lmp.extract_setting('nlocal') + if len(eatom) < nlocal: + raise Exception('per-atom energy dimension must be at least nlocal') + c_double_p = POINTER(c_double) value = eatom.astype(np.double) return self.lmp.lib.lammps_fix_external_set_energy_peratom(self.lmp.lmp, fix_id.encode(), @@ -307,7 +310,13 @@ class numpy_wrapper: :param eatom: per-atom potential energy :type: numpy.array """ - raise Exception('fix_external_set_virial_peratom() not yet implemented for NumPy arrays') + import numpy as np + nlocal = self.lmp.extract_setting('nlocal') + if len(vatom) < nlocal: + raise Exception('per-atom virial first dimension must be at least nlocal') + if len(vatom[0]) != 6: + raise Exception('per-atom virial second dimension must be 6') + # ------------------------------------------------------------------------- From c8cc5ecb9fcc4848e2c4447a7d420fc839f433a1 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 22 Jul 2021 22:50:05 -0400 Subject: [PATCH 512/726] implement setting per-atom virial from numpy array (thanks to stackoverflow) --- python/lammps/numpy_wrapper.py | 16 +++++++--- unittest/python/python-fix-external.py | 43 ++++++++++++++++++-------- 2 files changed, 41 insertions(+), 18 deletions(-) diff --git a/python/lammps/numpy_wrapper.py b/python/lammps/numpy_wrapper.py index 29a6f9d74e..6f4503a9c8 100644 --- a/python/lammps/numpy_wrapper.py +++ b/python/lammps/numpy_wrapper.py @@ -17,7 +17,7 @@ ################################################################################ import warnings -from ctypes import POINTER, c_double, c_int, c_int32, c_int64, cast +from ctypes import POINTER, c_void_p, c_char_p, c_double, c_int, c_int32, c_int64, cast from .constants import * # lgtm [py/polluting-import] @@ -301,10 +301,6 @@ class numpy_wrapper: method. It behaves the same as the original method, but accepts a NumPy array instead of a list as argument. - .. note:: - - This function is not yet implemented. - :param fix_id: Fix-ID of a fix external instance :type: string :param eatom: per-atom potential energy @@ -317,6 +313,16 @@ class numpy_wrapper: if len(vatom[0]) != 6: raise Exception('per-atom virial second dimension must be 6') + c_double_pp = np.ctypeslib.ndpointer(dtype=np.uintp, ndim=1, flags='C') + + # recast numpy array to be compatible with library interface + value = (vatom.__array_interface__['data'][0] + + np.arange(vatom.shape[0])*vatom.strides[0]).astype(np.uintp) + + # change prototype to our custom type + self.lmp.lib.lammps_fix_external_set_virial_peratom.argtypes = [ c_void_p, c_char_p, c_double_pp ] + + self.lmp.lib.lammps_fix_external_set_virial_peratom(self.lmp.lmp, fix_id.encode(), value) # ------------------------------------------------------------------------- diff --git a/unittest/python/python-fix-external.py b/unittest/python/python-fix-external.py index d7928ccbe2..c061b9f466 100644 --- a/unittest/python/python-fix-external.py +++ b/unittest/python/python-fix-external.py @@ -2,6 +2,12 @@ import sys,os,unittest from ctypes import * from lammps import lammps, LMP_STYLE_GLOBAL, LMP_TYPE_VECTOR +try: + import numpy + NUMPY_INSTALLED = True +except ImportError: + NUMPY_INSTALLED = False + # add timestep dependent force def callback_one(lmp, ntimestep, nlocal, tag, x, f): lmp.fix_external_set_virial_global("ext",[1.0, 1.0, 1.0, 0.0, 0.0, 0.0]) @@ -29,17 +35,21 @@ def callback_one(lmp, ntimestep, nlocal, tag, x, f): [0.0,0.0,0.0,0.0,0.0,0.6], [0.0,0.0,0.0,0.0,-7.0,0.0], [0.0,-8.0,0.0,0.0,0.0,0.0] ] - lmp.fix_external_set_energy_peratom("ext",eatom) - lmp.fix_external_set_virial_peratom("ext",vatom) + if ntimestep < 5: + lmp.fix_external_set_energy_peratom("ext",eatom) + lmp.fix_external_set_virial_peratom("ext",vatom) + else: + import numpy as np + eng = np.array(eatom) + vir = np.array(vatom) - #import numpy as np - #eng = np.array(eatom) - #vir = np.array(vatom) + lmp.numpy.fix_external_set_energy_peratom("ext",eng) + lmp.numpy.fix_external_set_virial_peratom("ext",vir) - #lmp.numpy.fix_external_set_energy_peratom("ext",eng) - #lmp.numpy.fix_external_set_virial_peratom("ext",vir) # not yet implemented + # ------------------------------------------------------------------------ class PythonExternal(unittest.TestCase): + @unittest.skipIf(not NUMPY_INSTALLED, "NumPy is not available") def testExternalCallback(self): """Test fix external from Python with pf/callback""" @@ -70,10 +80,23 @@ class PythonExternal(unittest.TestCase): lmp.commands_string(basic_system) lmp.fix_external_set_vector_length("ext",6); lmp.set_fix_external_callback("ext",callback_one,lmp) + + # check setting per-atom data with python lists + lmp.command("run 0 post no") + reduce = lmp.extract_compute("sum", LMP_STYLE_GLOBAL, LMP_TYPE_VECTOR) + self.assertAlmostEqual(reduce[0],2.8,14) + self.assertAlmostEqual(reduce[1],-0.1,14) + self.assertAlmostEqual(reduce[2],7.8,14) + self.assertAlmostEqual(reduce[3],-0.3,14) + self.assertAlmostEqual(reduce[4],-0.4,14) + self.assertAlmostEqual(reduce[5],6.5,14) + self.assertAlmostEqual(reduce[6],-0.6,14) + lmp.command("run 10 post no") self.assertAlmostEqual(lmp.get_thermo("temp"),1.0/30.0,14) self.assertAlmostEqual(lmp.get_thermo("pe"),1.0/8.0,14) self.assertAlmostEqual(lmp.get_thermo("press"),0.15416666666666667,14) + # check setting per-atom data numpy arrays reduce = lmp.extract_compute("sum", LMP_STYLE_GLOBAL, LMP_TYPE_VECTOR) self.assertAlmostEqual(reduce[0],2.8,14) self.assertAlmostEqual(reduce[1],-0.1,14) @@ -90,12 +113,6 @@ class PythonExternal(unittest.TestCase): def testExternalArray(self): """Test fix external from Python with pf/array""" - try: - import numpy - NUMPY_INSTALLED = True - except ImportError: - NUMPY_INSTALLED = False - machine=None if 'LAMMPS_MACHINE_NAME' in os.environ: machine=os.environ['LAMMPS_MACHINE_NAME'] From c33bead8b1a9b2c412666f178d8edf23b5c31303 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 22 Jul 2021 23:26:22 -0400 Subject: [PATCH 513/726] silence static code analysis warning --- src/MISC/fix_pair_tracker.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/MISC/fix_pair_tracker.cpp b/src/MISC/fix_pair_tracker.cpp index 7939485aff..755025baed 100644 --- a/src/MISC/fix_pair_tracker.cpp +++ b/src/MISC/fix_pair_tracker.cpp @@ -246,7 +246,7 @@ void FixPairTracker::reallocate(int n) double FixPairTracker::memory_usage() { - double bytes = nmax * nvalues * sizeof(double); + double bytes = nmax * (double) nvalues * sizeof(double); bytes += nmax * 2 * sizeof(int); return bytes; } From fd3be6176d7c40317c23cb181aba00ae87064b54 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 23 Jul 2021 08:36:23 -0400 Subject: [PATCH 514/726] remove dead code --- python/lammps/core.py | 1 - 1 file changed, 1 deletion(-) diff --git a/python/lammps/core.py b/python/lammps/core.py index d981243503..c4639eee4f 100644 --- a/python/lammps/core.py +++ b/python/lammps/core.py @@ -1790,7 +1790,6 @@ class lammps(object): with ExceptionCheck(self): return self.lib.lammps_fix_external_get_force(self.lmp, fix_id.encode()) - return None # ------------------------------------------------------------------------- From 594bf56ee34b069341eee38fef0b2865245cf00c Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 23 Jul 2021 12:12:40 -0400 Subject: [PATCH 515/726] silence compiler warnings on macOS --- unittest/formats/test_file_operations.cpp | 1 - unittest/utils/test_tokenizer.cpp | 6 ++++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/unittest/formats/test_file_operations.cpp b/unittest/formats/test_file_operations.cpp index 794222fe5a..af2023cebb 100644 --- a/unittest/formats/test_file_operations.cpp +++ b/unittest/formats/test_file_operations.cpp @@ -281,7 +281,6 @@ TEST_F(FileOperationsTest, error_message_warn) TEST_F(FileOperationsTest, error_all_one) { - char buf[64]; BEGIN_HIDE_OUTPUT(); command("echo none"); command("log none"); diff --git a/unittest/utils/test_tokenizer.cpp b/unittest/utils/test_tokenizer.cpp index c62a947d5c..698283ea53 100644 --- a/unittest/utils/test_tokenizer.cpp +++ b/unittest/utils/test_tokenizer.cpp @@ -94,7 +94,8 @@ TEST(Tokenizer, copy_constructor) TEST(Tokenizer, move_constructor) { - Tokenizer u = std::move(Tokenizer("test new word ", " ")); + Tokenizer t("test new word ", " "); + Tokenizer u = std::move(t); ASSERT_THAT(u.next(), Eq("test")); ASSERT_THAT(u.next(), Eq("new")); ASSERT_THAT(u.next(), Eq("word")); @@ -248,7 +249,8 @@ TEST(ValueTokenizer, copy_constructor) TEST(ValueTokenizer, move_constructor) { - ValueTokenizer u = std::move(ValueTokenizer(" test new word ", " ")); + ValueTokenizer t(" test new word ", " "); + ValueTokenizer u = std::move(t); ASSERT_THAT(u.next_string(), Eq("test")); ASSERT_THAT(u.next_string(), Eq("new")); ASSERT_THAT(u.next_string(), Eq("word")); From 25aa2029769f43801d28a7bce9cdec9e8cf5a35d Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 23 Jul 2021 12:12:57 -0400 Subject: [PATCH 516/726] tweak epsilon to pass reaxff unittests on macOS --- unittest/force-styles/tests/atomic-pair-reax_c.yaml | 2 +- unittest/force-styles/tests/atomic-pair-reax_c_lgvdw.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/unittest/force-styles/tests/atomic-pair-reax_c.yaml b/unittest/force-styles/tests/atomic-pair-reax_c.yaml index c4d41a2f2a..d5bed64ae6 100644 --- a/unittest/force-styles/tests/atomic-pair-reax_c.yaml +++ b/unittest/force-styles/tests/atomic-pair-reax_c.yaml @@ -1,7 +1,7 @@ --- lammps_version: 2 Jul 2021 date_generated: Wed Jul 21 15:49:45 2021 -epsilon: 1e-11 +epsilon: 2e-11 prerequisites: ! | pair reaxff fix qeq/reaxff diff --git a/unittest/force-styles/tests/atomic-pair-reax_c_lgvdw.yaml b/unittest/force-styles/tests/atomic-pair-reax_c_lgvdw.yaml index c766c242f9..b124a6b00b 100644 --- a/unittest/force-styles/tests/atomic-pair-reax_c_lgvdw.yaml +++ b/unittest/force-styles/tests/atomic-pair-reax_c_lgvdw.yaml @@ -1,7 +1,7 @@ --- lammps_version: 2 Jul 2021 date_generated: Wed Jul 21 15:49:47 2021 -epsilon: 1e-12 +epsilon: 3e-12 prerequisites: ! | pair reaxff fix qeq/reaxff From c5872528948884d7f1fa6eece6dc6dd9b198bcf7 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 23 Jul 2021 12:13:50 -0400 Subject: [PATCH 517/726] rename unittest YAML files --- .../tests/{atomic-pair-reax_c.yaml => atomic-pair-reaxff.yaml} | 0 ...tomic-pair-reax_c_lgvdw.yaml => atomic-pair-reaxff_lgvdw.yaml} | 0 ...tomic-pair-reax_c_noqeq.yaml => atomic-pair-reaxff_noqeq.yaml} | 0 ...pair-reax_c_tabulate.yaml => atomic-pair-reaxff_tabulate.yaml} | 0 4 files changed, 0 insertions(+), 0 deletions(-) rename unittest/force-styles/tests/{atomic-pair-reax_c.yaml => atomic-pair-reaxff.yaml} (100%) rename unittest/force-styles/tests/{atomic-pair-reax_c_lgvdw.yaml => atomic-pair-reaxff_lgvdw.yaml} (100%) rename unittest/force-styles/tests/{atomic-pair-reax_c_noqeq.yaml => atomic-pair-reaxff_noqeq.yaml} (100%) rename unittest/force-styles/tests/{atomic-pair-reax_c_tabulate.yaml => atomic-pair-reaxff_tabulate.yaml} (100%) diff --git a/unittest/force-styles/tests/atomic-pair-reax_c.yaml b/unittest/force-styles/tests/atomic-pair-reaxff.yaml similarity index 100% rename from unittest/force-styles/tests/atomic-pair-reax_c.yaml rename to unittest/force-styles/tests/atomic-pair-reaxff.yaml diff --git a/unittest/force-styles/tests/atomic-pair-reax_c_lgvdw.yaml b/unittest/force-styles/tests/atomic-pair-reaxff_lgvdw.yaml similarity index 100% rename from unittest/force-styles/tests/atomic-pair-reax_c_lgvdw.yaml rename to unittest/force-styles/tests/atomic-pair-reaxff_lgvdw.yaml diff --git a/unittest/force-styles/tests/atomic-pair-reax_c_noqeq.yaml b/unittest/force-styles/tests/atomic-pair-reaxff_noqeq.yaml similarity index 100% rename from unittest/force-styles/tests/atomic-pair-reax_c_noqeq.yaml rename to unittest/force-styles/tests/atomic-pair-reaxff_noqeq.yaml diff --git a/unittest/force-styles/tests/atomic-pair-reax_c_tabulate.yaml b/unittest/force-styles/tests/atomic-pair-reaxff_tabulate.yaml similarity index 100% rename from unittest/force-styles/tests/atomic-pair-reax_c_tabulate.yaml rename to unittest/force-styles/tests/atomic-pair-reaxff_tabulate.yaml From 852f18525d8a6a93fe041036c96e1a2da7b1972d Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 23 Jul 2021 18:00:28 -0400 Subject: [PATCH 518/726] complete moving packages and styles around --- cmake/CMakeLists.txt | 7 +- cmake/presets/all_off.cmake | 7 +- cmake/presets/all_on.cmake | 7 +- cmake/presets/mingw-cross.cmake | 8 +- cmake/presets/most.cmake | 7 +- src/.gitignore | 63 ++++++++++++++-- .../pair_lj_sf_dipole_sf.cpp | 0 .../pair_lj_sf_dipole_sf.h | 0 src/Depend.sh | 24 +++--- .../compute_ackland_atom.cpp | 0 .../compute_ackland_atom.h | 0 src/{ => EXTRA-COMPUTE}/compute_adf.cpp | 0 src/{ => EXTRA-COMPUTE}/compute_adf.h | 0 .../compute_aggregate_atom.cpp | 0 .../compute_aggregate_atom.h | 0 .../compute_basal_atom.cpp | 0 .../compute_basal_atom.h | 0 .../compute_cluster_atom.cpp | 0 .../compute_cluster_atom.h | 0 .../compute_cnp_atom.cpp | 0 .../compute_cnp_atom.h | 0 .../compute_entropy_atom.cpp | 0 .../compute_entropy_atom.h | 0 .../compute_fragment_atom.cpp | 0 .../compute_fragment_atom.h | 0 .../compute_gyration_shape.cpp | 0 .../compute_gyration_shape.h | 0 .../compute_gyration_shape_chunk.cpp | 0 .../compute_gyration_shape_chunk.h | 0 .../compute_hexorder_atom.cpp | 0 .../compute_hexorder_atom.h | 0 .../compute_hma.cpp | 0 .../compute_hma.h | 0 .../compute_momentum.cpp | 0 .../compute_momentum.h | 0 .../compute_msd_nongauss.cpp | 0 .../compute_msd_nongauss.h | 0 .../compute_orientorder_atom.cpp | 0 .../compute_orientorder_atom.h | 0 .../compute_pressure_cylinder.cpp | 0 .../compute_pressure_cylinder.h | 0 .../compute_stress_mop.cpp | 0 .../compute_stress_mop.h | 0 .../compute_stress_mop_profile.cpp | 0 .../compute_stress_mop_profile.h | 0 .../compute_temp_rotate.cpp | 0 .../compute_temp_rotate.h | 0 src/{MISC => EXTRA-COMPUTE}/compute_ti.cpp | 0 src/{MISC => EXTRA-COMPUTE}/compute_ti.h | 0 src/{ => EXTRA-DUMP}/dump_dcd.cpp | 0 src/{ => EXTRA-DUMP}/dump_dcd.h | 0 src/{MISC => EXTRA-DUMP}/dump_xtc.cpp | 0 src/{MISC => EXTRA-DUMP}/dump_xtc.h | 0 src/{MISC => EXTRA-DUMP}/xdr_compat.cpp | 0 src/{MISC => EXTRA-DUMP}/xdr_compat.h | 0 src/{MISC => EXTRA-FIX}/fix_addtorque.cpp | 0 src/{MISC => EXTRA-FIX}/fix_addtorque.h | 0 .../fix_ave_correlate_long.cpp | 0 .../fix_ave_correlate_long.h | 0 src/{ => EXTRA-FIX}/fix_controller.cpp | 0 src/{ => EXTRA-FIX}/fix_controller.h | 0 src/{ => EXTRA-FIX}/fix_drag.cpp | 0 src/{ => EXTRA-FIX}/fix_drag.h | 0 .../fix_electron_stopping.cpp | 0 .../fix_electron_stopping.h | 0 .../fix_electron_stopping_fit.cpp | 0 .../fix_electron_stopping_fit.h | 0 src/{USER-MISC => EXTRA-FIX}/fix_ffl.cpp | 0 src/{USER-MISC => EXTRA-FIX}/fix_ffl.h | 0 .../fix_filter_corotate.cpp | 0 .../fix_filter_corotate.h | 0 .../fix_flow_gauss.cpp | 0 src/{USER-MISC => EXTRA-FIX}/fix_flow_gauss.h | 0 src/{MISC => EXTRA-FIX}/fix_gld.cpp | 0 src/{MISC => EXTRA-FIX}/fix_gld.h | 0 src/{USER-MISC => EXTRA-FIX}/fix_gle.cpp | 0 src/{USER-MISC => EXTRA-FIX}/fix_gle.h | 0 .../fix_momentum_chunk.cpp | 0 .../fix_momentum_chunk.h | 0 .../fix_npt_cauchy.cpp | 0 src/{USER-MISC => EXTRA-FIX}/fix_npt_cauchy.h | 0 src/{ => EXTRA-FIX}/fix_numdiff.cpp | 0 src/{ => EXTRA-FIX}/fix_numdiff.h | 0 src/{ => EXTRA-FIX}/fix_nve_noforce.cpp | 0 src/{ => EXTRA-FIX}/fix_nve_noforce.h | 0 src/{USER-MISC => EXTRA-FIX}/fix_nvk.cpp | 0 src/{USER-MISC => EXTRA-FIX}/fix_nvk.h | 0 src/{MISC => EXTRA-FIX}/fix_oneway.cpp | 0 src/{MISC => EXTRA-FIX}/fix_oneway.h | 0 src/{USER-MISC => EXTRA-FIX}/fix_pafi.cpp | 0 src/{USER-MISC => EXTRA-FIX}/fix_pafi.h | 0 src/{USER-MISC => EXTRA-FIX}/fix_pimd.cpp | 0 src/{USER-MISC => EXTRA-FIX}/fix_pimd.h | 0 src/{USER-MISC => EXTRA-FIX}/fix_rhok.cpp | 0 src/{USER-MISC => EXTRA-FIX}/fix_rhok.h | 0 src/{MISC => EXTRA-FIX}/fix_smd.cpp | 0 src/{MISC => EXTRA-FIX}/fix_smd.h | 0 src/{ => EXTRA-FIX}/fix_spring_rg.cpp | 0 src/{ => EXTRA-FIX}/fix_spring_rg.h | 0 src/{ => EXTRA-FIX}/fix_temp_csld.cpp | 0 src/{ => EXTRA-FIX}/fix_temp_csld.h | 0 src/{ => EXTRA-FIX}/fix_temp_csvr.cpp | 0 src/{ => EXTRA-FIX}/fix_temp_csvr.h | 0 .../fix_ti_spring.cpp | 0 src/{USER-MISC => EXTRA-FIX}/fix_ti_spring.h | 0 src/{ => EXTRA-FIX}/fix_tmd.cpp | 0 src/{ => EXTRA-FIX}/fix_tmd.h | 0 src/{MISC => EXTRA-FIX}/fix_ttm.cpp | 0 src/{MISC => EXTRA-FIX}/fix_ttm.h | 0 src/{USER-MISC => EXTRA-FIX}/fix_ttm_mod.cpp | 0 src/{USER-MISC => EXTRA-FIX}/fix_ttm_mod.h | 0 src/{MISC => EXTRA-FIX}/fix_viscosity.cpp | 0 src/{MISC => EXTRA-FIX}/fix_viscosity.h | 0 src/{USER-MISC => EXTRA-FIX}/fix_wall_ees.cpp | 0 src/{USER-MISC => EXTRA-FIX}/fix_wall_ees.h | 0 .../fix_wall_reflect_stochastic.cpp | 0 .../fix_wall_reflect_stochastic.h | 0 .../fix_wall_region_ees.cpp | 0 .../fix_wall_region_ees.h | 0 .../angle_cosine_delta.cpp | 0 .../angle_cosine_delta.h | 0 .../angle_cosine_periodic.cpp | 0 .../angle_cosine_periodic.h | 0 .../angle_cosine_shift.cpp | 0 .../angle_cosine_shift.h | 0 .../angle_cosine_shift_exp.cpp | 0 .../angle_cosine_shift_exp.h | 0 .../angle_fourier.cpp | 0 .../angle_fourier.h | 0 .../angle_fourier_simple.cpp | 0 .../angle_fourier_simple.h | 0 .../angle_gaussian.cpp | 0 .../angle_gaussian.h | 0 .../angle_quartic.cpp | 0 .../angle_quartic.h | 0 .../bond_gaussian.cpp | 0 .../bond_gaussian.h | 0 .../bond_harmonic_shift.cpp | 0 .../bond_harmonic_shift.h | 0 .../bond_harmonic_shift_cut.cpp | 0 .../bond_harmonic_shift_cut.h | 0 .../bond_nonlinear.cpp | 0 .../bond_nonlinear.h | 0 .../dihedral_cosine_shift_exp.cpp | 0 .../dihedral_cosine_shift_exp.h | 0 .../dihedral_fourier.cpp | 0 .../dihedral_fourier.h | 0 .../dihedral_helix.cpp | 0 .../dihedral_helix.h | 0 .../dihedral_nharmonic.cpp | 0 .../dihedral_nharmonic.h | 0 .../dihedral_quadratic.cpp | 0 .../dihedral_quadratic.h | 0 .../dihedral_spherical.cpp | 0 .../dihedral_spherical.h | 0 .../dihedral_table_cut.cpp | 0 .../dihedral_table_cut.h | 0 .../improper_cossq.cpp | 0 .../improper_cossq.h | 0 .../improper_distance.cpp | 0 .../improper_distance.h | 0 .../improper_fourier.cpp | 0 .../improper_fourier.h | 0 .../improper_ring.cpp | 0 .../improper_ring.h | 0 src/{ => EXTRA-PAIR}/pair_born_coul_dsf.cpp | 0 src/{ => EXTRA-PAIR}/pair_born_coul_dsf.h | 0 src/{ => EXTRA-PAIR}/pair_born_coul_wolf.cpp | 0 src/{ => EXTRA-PAIR}/pair_born_coul_wolf.h | 0 .../pair_buck_mdf.cpp | 0 src/{USER-MISC => EXTRA-PAIR}/pair_buck_mdf.h | 0 .../pair_cosine_squared.cpp | 0 .../pair_cosine_squared.h | 0 src/{ => EXTRA-PAIR}/pair_coul_cut_global.cpp | 0 src/{ => EXTRA-PAIR}/pair_coul_cut_global.h | 0 .../pair_coul_diel.cpp | 0 .../pair_coul_diel.h | 0 .../pair_coul_slater_cut.cpp | 0 .../pair_coul_slater_cut.h | 0 .../pair_coul_slater_long.cpp | 0 .../pair_coul_slater_long.h | 0 src/{ => EXTRA-PAIR}/pair_coul_streitz.cpp | 0 src/{ => EXTRA-PAIR}/pair_coul_streitz.h | 0 src/{USER-MISC => EXTRA-PAIR}/pair_e3b.cpp | 0 src/{USER-MISC => EXTRA-PAIR}/pair_e3b.h | 0 src/{ => EXTRA-PAIR}/pair_gauss.cpp | 0 src/{ => EXTRA-PAIR}/pair_gauss.h | 0 .../pair_gauss_cut.cpp | 0 .../pair_gauss_cut.h | 0 .../pair_lennard_mdf.cpp | 0 .../pair_lennard_mdf.h | 0 src/{ => EXTRA-PAIR}/pair_lj96_cut.cpp | 0 src/{ => EXTRA-PAIR}/pair_lj96_cut.h | 0 src/{ => EXTRA-PAIR}/pair_lj_cubic.cpp | 0 src/{ => EXTRA-PAIR}/pair_lj_cubic.h | 0 src/{ => EXTRA-PAIR}/pair_lj_cubic_const.h | 0 .../pair_lj_cut_coul_debye.cpp | 0 src/{ => EXTRA-PAIR}/pair_lj_cut_coul_debye.h | 0 src/{ => EXTRA-PAIR}/pair_lj_cut_coul_dsf.cpp | 0 src/{ => EXTRA-PAIR}/pair_lj_cut_coul_dsf.h | 0 .../pair_lj_cut_coul_wolf.cpp | 0 src/{ => EXTRA-PAIR}/pair_lj_cut_coul_wolf.h | 0 .../pair_lj_expand_coul_long.cpp | 0 .../pair_lj_expand_coul_long.h | 0 src/{ => EXTRA-PAIR}/pair_lj_gromacs.cpp | 0 src/{ => EXTRA-PAIR}/pair_lj_gromacs.h | 0 .../pair_lj_gromacs_coul_gromacs.cpp | 0 .../pair_lj_gromacs_coul_gromacs.h | 0 src/{USER-MISC => EXTRA-PAIR}/pair_lj_mdf.cpp | 0 src/{USER-MISC => EXTRA-PAIR}/pair_lj_mdf.h | 0 src/{ => EXTRA-PAIR}/pair_lj_relres.cpp | 0 src/{ => EXTRA-PAIR}/pair_lj_relres.h | 0 src/{ => EXTRA-PAIR}/pair_lj_smooth.cpp | 0 src/{ => EXTRA-PAIR}/pair_lj_smooth.h | 0 .../pair_lj_smooth_linear.cpp | 0 src/{ => EXTRA-PAIR}/pair_lj_smooth_linear.h | 0 src/{ => EXTRA-PAIR}/pair_mie_cut.cpp | 0 src/{ => EXTRA-PAIR}/pair_mie_cut.h | 0 src/{USER-MISC => EXTRA-PAIR}/pair_momb.cpp | 0 src/{USER-MISC => EXTRA-PAIR}/pair_momb.h | 0 .../pair_morse_smooth_linear.cpp | 0 .../pair_morse_smooth_linear.h | 0 src/{MISC => EXTRA-PAIR}/pair_nm_cut.cpp | 0 src/{MISC => EXTRA-PAIR}/pair_nm_cut.h | 0 .../pair_nm_cut_coul_cut.cpp | 0 .../pair_nm_cut_coul_cut.h | 0 .../pair_nm_cut_coul_long.cpp | 0 .../pair_nm_cut_coul_long.h | 0 src/{ => EXTRA-PAIR}/pair_ufm.cpp | 0 src/{ => EXTRA-PAIR}/pair_ufm.h | 0 src/{USER-MISC => EXTRA-PAIR}/pair_wf_cut.cpp | 0 src/{USER-MISC => EXTRA-PAIR}/pair_wf_cut.h | 0 src/{ => GRANULAR}/compute_contact_atom.cpp | 0 src/{ => GRANULAR}/compute_contact_atom.h | 0 src/KOKKOS/Install.sh | 16 ++-- src/{USER-MISC => MANYBODY}/pair_edip.cpp | 0 src/{USER-MISC => MANYBODY}/pair_edip.h | 0 .../pair_edip_multi.cpp | 0 src/{USER-MISC => MANYBODY}/pair_edip_multi.h | 0 src/{USER-MISC => MANYBODY}/pair_extep.cpp | 0 src/{USER-MISC => MANYBODY}/pair_extep.h | 0 .../pair_local_density.cpp | 0 .../pair_local_density.h | 0 .../pair_meam_spline.cpp | 0 .../pair_meam_spline.h | 0 .../pair_meam_sw_spline.cpp | 0 .../pair_meam_sw_spline.h | 0 .../pair_tersoff_table.cpp | 0 .../pair_tersoff_table.h | 0 .../compute_viscosity_cos.cpp | 0 .../compute_viscosity_cos.h | 0 .../fix_accelerate_cos.cpp | 0 src/{USER-MISC => MISC}/fix_accelerate_cos.h | 0 src/{USER-MISC => MISC}/fix_ipi.cpp | 0 src/{USER-MISC => MISC}/fix_ipi.h | 0 src/{USER-MISC => MISC}/fix_srp.cpp | 0 src/{USER-MISC => MISC}/fix_srp.h | 0 src/{USER-MISC => MISC}/pair_agni.cpp | 0 src/{USER-MISC => MISC}/pair_agni.h | 0 src/Makefile | 16 +++- src/{MISC => ORIENT}/fix_orient_bcc.cpp | 0 src/{MISC => ORIENT}/fix_orient_bcc.h | 0 src/{USER-MISC => ORIENT}/fix_orient_eco.cpp | 0 src/{USER-MISC => ORIENT}/fix_orient_eco.h | 0 src/{MISC => ORIENT}/fix_orient_fcc.cpp | 0 src/{MISC => ORIENT}/fix_orient_fcc.h | 0 src/Purge.list | 7 -- src/USER-MISC/README | 73 ------------------- src/{MISC => }/fix_deposit.cpp | 0 src/{MISC => }/fix_deposit.h | 0 src/{MISC => }/fix_efield.cpp | 0 src/{MISC => }/fix_efield.h | 0 src/{MISC => }/fix_evaporate.cpp | 0 src/{MISC => }/fix_evaporate.h | 0 src/{MISC => }/fix_thermal_conductivity.cpp | 0 src/{MISC => }/fix_thermal_conductivity.h | 0 276 files changed, 122 insertions(+), 113 deletions(-) rename src/{USER-MISC => DIPOLE}/pair_lj_sf_dipole_sf.cpp (100%) rename src/{USER-MISC => DIPOLE}/pair_lj_sf_dipole_sf.h (100%) rename src/{USER-MISC => EXTRA-COMPUTE}/compute_ackland_atom.cpp (100%) rename src/{USER-MISC => EXTRA-COMPUTE}/compute_ackland_atom.h (100%) rename src/{ => EXTRA-COMPUTE}/compute_adf.cpp (100%) rename src/{ => EXTRA-COMPUTE}/compute_adf.h (100%) rename src/{ => EXTRA-COMPUTE}/compute_aggregate_atom.cpp (100%) rename src/{ => EXTRA-COMPUTE}/compute_aggregate_atom.h (100%) rename src/{USER-MISC => EXTRA-COMPUTE}/compute_basal_atom.cpp (100%) rename src/{USER-MISC => EXTRA-COMPUTE}/compute_basal_atom.h (100%) rename src/{ => EXTRA-COMPUTE}/compute_cluster_atom.cpp (100%) rename src/{ => EXTRA-COMPUTE}/compute_cluster_atom.h (100%) rename src/{USER-MISC => EXTRA-COMPUTE}/compute_cnp_atom.cpp (100%) rename src/{USER-MISC => EXTRA-COMPUTE}/compute_cnp_atom.h (100%) rename src/{USER-MISC => EXTRA-COMPUTE}/compute_entropy_atom.cpp (100%) rename src/{USER-MISC => EXTRA-COMPUTE}/compute_entropy_atom.h (100%) rename src/{ => EXTRA-COMPUTE}/compute_fragment_atom.cpp (100%) rename src/{ => EXTRA-COMPUTE}/compute_fragment_atom.h (100%) rename src/{USER-MISC => EXTRA-COMPUTE}/compute_gyration_shape.cpp (100%) rename src/{USER-MISC => EXTRA-COMPUTE}/compute_gyration_shape.h (100%) rename src/{USER-MISC => EXTRA-COMPUTE}/compute_gyration_shape_chunk.cpp (100%) rename src/{USER-MISC => EXTRA-COMPUTE}/compute_gyration_shape_chunk.h (100%) rename src/{ => EXTRA-COMPUTE}/compute_hexorder_atom.cpp (100%) rename src/{ => EXTRA-COMPUTE}/compute_hexorder_atom.h (100%) rename src/{USER-MISC => EXTRA-COMPUTE}/compute_hma.cpp (100%) rename src/{USER-MISC => EXTRA-COMPUTE}/compute_hma.h (100%) rename src/{USER-MISC => EXTRA-COMPUTE}/compute_momentum.cpp (100%) rename src/{USER-MISC => EXTRA-COMPUTE}/compute_momentum.h (100%) rename src/{MISC => EXTRA-COMPUTE}/compute_msd_nongauss.cpp (100%) rename src/{MISC => EXTRA-COMPUTE}/compute_msd_nongauss.h (100%) rename src/{ => EXTRA-COMPUTE}/compute_orientorder_atom.cpp (100%) rename src/{ => EXTRA-COMPUTE}/compute_orientorder_atom.h (100%) rename src/{USER-MISC => EXTRA-COMPUTE}/compute_pressure_cylinder.cpp (100%) rename src/{USER-MISC => EXTRA-COMPUTE}/compute_pressure_cylinder.h (100%) rename src/{USER-MISC => EXTRA-COMPUTE}/compute_stress_mop.cpp (100%) rename src/{USER-MISC => EXTRA-COMPUTE}/compute_stress_mop.h (100%) rename src/{USER-MISC => EXTRA-COMPUTE}/compute_stress_mop_profile.cpp (100%) rename src/{USER-MISC => EXTRA-COMPUTE}/compute_stress_mop_profile.h (100%) rename src/{USER-MISC => EXTRA-COMPUTE}/compute_temp_rotate.cpp (100%) rename src/{USER-MISC => EXTRA-COMPUTE}/compute_temp_rotate.h (100%) rename src/{MISC => EXTRA-COMPUTE}/compute_ti.cpp (100%) rename src/{MISC => EXTRA-COMPUTE}/compute_ti.h (100%) rename src/{ => EXTRA-DUMP}/dump_dcd.cpp (100%) rename src/{ => EXTRA-DUMP}/dump_dcd.h (100%) rename src/{MISC => EXTRA-DUMP}/dump_xtc.cpp (100%) rename src/{MISC => EXTRA-DUMP}/dump_xtc.h (100%) rename src/{MISC => EXTRA-DUMP}/xdr_compat.cpp (100%) rename src/{MISC => EXTRA-DUMP}/xdr_compat.h (100%) rename src/{MISC => EXTRA-FIX}/fix_addtorque.cpp (100%) rename src/{MISC => EXTRA-FIX}/fix_addtorque.h (100%) rename src/{USER-MISC => EXTRA-FIX}/fix_ave_correlate_long.cpp (100%) rename src/{USER-MISC => EXTRA-FIX}/fix_ave_correlate_long.h (100%) rename src/{ => EXTRA-FIX}/fix_controller.cpp (100%) rename src/{ => EXTRA-FIX}/fix_controller.h (100%) rename src/{ => EXTRA-FIX}/fix_drag.cpp (100%) rename src/{ => EXTRA-FIX}/fix_drag.h (100%) rename src/{USER-MISC => EXTRA-FIX}/fix_electron_stopping.cpp (100%) rename src/{USER-MISC => EXTRA-FIX}/fix_electron_stopping.h (100%) rename src/{USER-MISC => EXTRA-FIX}/fix_electron_stopping_fit.cpp (100%) rename src/{USER-MISC => EXTRA-FIX}/fix_electron_stopping_fit.h (100%) rename src/{USER-MISC => EXTRA-FIX}/fix_ffl.cpp (100%) rename src/{USER-MISC => EXTRA-FIX}/fix_ffl.h (100%) rename src/{USER-MISC => EXTRA-FIX}/fix_filter_corotate.cpp (100%) rename src/{USER-MISC => EXTRA-FIX}/fix_filter_corotate.h (100%) rename src/{USER-MISC => EXTRA-FIX}/fix_flow_gauss.cpp (100%) rename src/{USER-MISC => EXTRA-FIX}/fix_flow_gauss.h (100%) rename src/{MISC => EXTRA-FIX}/fix_gld.cpp (100%) rename src/{MISC => EXTRA-FIX}/fix_gld.h (100%) rename src/{USER-MISC => EXTRA-FIX}/fix_gle.cpp (100%) rename src/{USER-MISC => EXTRA-FIX}/fix_gle.h (100%) rename src/{USER-MISC => EXTRA-FIX}/fix_momentum_chunk.cpp (100%) rename src/{USER-MISC => EXTRA-FIX}/fix_momentum_chunk.h (100%) rename src/{USER-MISC => EXTRA-FIX}/fix_npt_cauchy.cpp (100%) rename src/{USER-MISC => EXTRA-FIX}/fix_npt_cauchy.h (100%) rename src/{ => EXTRA-FIX}/fix_numdiff.cpp (100%) rename src/{ => EXTRA-FIX}/fix_numdiff.h (100%) rename src/{ => EXTRA-FIX}/fix_nve_noforce.cpp (100%) rename src/{ => EXTRA-FIX}/fix_nve_noforce.h (100%) rename src/{USER-MISC => EXTRA-FIX}/fix_nvk.cpp (100%) rename src/{USER-MISC => EXTRA-FIX}/fix_nvk.h (100%) rename src/{MISC => EXTRA-FIX}/fix_oneway.cpp (100%) rename src/{MISC => EXTRA-FIX}/fix_oneway.h (100%) rename src/{USER-MISC => EXTRA-FIX}/fix_pafi.cpp (100%) rename src/{USER-MISC => EXTRA-FIX}/fix_pafi.h (100%) rename src/{USER-MISC => EXTRA-FIX}/fix_pimd.cpp (100%) rename src/{USER-MISC => EXTRA-FIX}/fix_pimd.h (100%) rename src/{USER-MISC => EXTRA-FIX}/fix_rhok.cpp (100%) rename src/{USER-MISC => EXTRA-FIX}/fix_rhok.h (100%) rename src/{MISC => EXTRA-FIX}/fix_smd.cpp (100%) rename src/{MISC => EXTRA-FIX}/fix_smd.h (100%) rename src/{ => EXTRA-FIX}/fix_spring_rg.cpp (100%) rename src/{ => EXTRA-FIX}/fix_spring_rg.h (100%) rename src/{ => EXTRA-FIX}/fix_temp_csld.cpp (100%) rename src/{ => EXTRA-FIX}/fix_temp_csld.h (100%) rename src/{ => EXTRA-FIX}/fix_temp_csvr.cpp (100%) rename src/{ => EXTRA-FIX}/fix_temp_csvr.h (100%) rename src/{USER-MISC => EXTRA-FIX}/fix_ti_spring.cpp (100%) rename src/{USER-MISC => EXTRA-FIX}/fix_ti_spring.h (100%) rename src/{ => EXTRA-FIX}/fix_tmd.cpp (100%) rename src/{ => EXTRA-FIX}/fix_tmd.h (100%) rename src/{MISC => EXTRA-FIX}/fix_ttm.cpp (100%) rename src/{MISC => EXTRA-FIX}/fix_ttm.h (100%) rename src/{USER-MISC => EXTRA-FIX}/fix_ttm_mod.cpp (100%) rename src/{USER-MISC => EXTRA-FIX}/fix_ttm_mod.h (100%) rename src/{MISC => EXTRA-FIX}/fix_viscosity.cpp (100%) rename src/{MISC => EXTRA-FIX}/fix_viscosity.h (100%) rename src/{USER-MISC => EXTRA-FIX}/fix_wall_ees.cpp (100%) rename src/{USER-MISC => EXTRA-FIX}/fix_wall_ees.h (100%) rename src/{USER-MISC => EXTRA-FIX}/fix_wall_reflect_stochastic.cpp (100%) rename src/{USER-MISC => EXTRA-FIX}/fix_wall_reflect_stochastic.h (100%) rename src/{USER-MISC => EXTRA-FIX}/fix_wall_region_ees.cpp (100%) rename src/{USER-MISC => EXTRA-FIX}/fix_wall_region_ees.h (100%) rename src/{MOLECULE => EXTRA-MOLECULE}/angle_cosine_delta.cpp (100%) rename src/{MOLECULE => EXTRA-MOLECULE}/angle_cosine_delta.h (100%) rename src/{MOLECULE => EXTRA-MOLECULE}/angle_cosine_periodic.cpp (100%) rename src/{MOLECULE => EXTRA-MOLECULE}/angle_cosine_periodic.h (100%) rename src/{MOLECULE => EXTRA-MOLECULE}/angle_cosine_shift.cpp (100%) rename src/{MOLECULE => EXTRA-MOLECULE}/angle_cosine_shift.h (100%) rename src/{MOLECULE => EXTRA-MOLECULE}/angle_cosine_shift_exp.cpp (100%) rename src/{MOLECULE => EXTRA-MOLECULE}/angle_cosine_shift_exp.h (100%) rename src/{MOLECULE => EXTRA-MOLECULE}/angle_fourier.cpp (100%) rename src/{MOLECULE => EXTRA-MOLECULE}/angle_fourier.h (100%) rename src/{MOLECULE => EXTRA-MOLECULE}/angle_fourier_simple.cpp (100%) rename src/{MOLECULE => EXTRA-MOLECULE}/angle_fourier_simple.h (100%) rename src/{MOLECULE => EXTRA-MOLECULE}/angle_gaussian.cpp (100%) rename src/{MOLECULE => EXTRA-MOLECULE}/angle_gaussian.h (100%) rename src/{MOLECULE => EXTRA-MOLECULE}/angle_quartic.cpp (100%) rename src/{MOLECULE => EXTRA-MOLECULE}/angle_quartic.h (100%) rename src/{MOLECULE => EXTRA-MOLECULE}/bond_gaussian.cpp (100%) rename src/{MOLECULE => EXTRA-MOLECULE}/bond_gaussian.h (100%) rename src/{MOLECULE => EXTRA-MOLECULE}/bond_harmonic_shift.cpp (100%) rename src/{MOLECULE => EXTRA-MOLECULE}/bond_harmonic_shift.h (100%) rename src/{MOLECULE => EXTRA-MOLECULE}/bond_harmonic_shift_cut.cpp (100%) rename src/{MOLECULE => EXTRA-MOLECULE}/bond_harmonic_shift_cut.h (100%) rename src/{MOLECULE => EXTRA-MOLECULE}/bond_nonlinear.cpp (100%) rename src/{MOLECULE => EXTRA-MOLECULE}/bond_nonlinear.h (100%) rename src/{MOLECULE => EXTRA-MOLECULE}/dihedral_cosine_shift_exp.cpp (100%) rename src/{MOLECULE => EXTRA-MOLECULE}/dihedral_cosine_shift_exp.h (100%) rename src/{MOLECULE => EXTRA-MOLECULE}/dihedral_fourier.cpp (100%) rename src/{MOLECULE => EXTRA-MOLECULE}/dihedral_fourier.h (100%) rename src/{MOLECULE => EXTRA-MOLECULE}/dihedral_helix.cpp (100%) rename src/{MOLECULE => EXTRA-MOLECULE}/dihedral_helix.h (100%) rename src/{MOLECULE => EXTRA-MOLECULE}/dihedral_nharmonic.cpp (100%) rename src/{MOLECULE => EXTRA-MOLECULE}/dihedral_nharmonic.h (100%) rename src/{MOLECULE => EXTRA-MOLECULE}/dihedral_quadratic.cpp (100%) rename src/{MOLECULE => EXTRA-MOLECULE}/dihedral_quadratic.h (100%) rename src/{MOLECULE => EXTRA-MOLECULE}/dihedral_spherical.cpp (100%) rename src/{MOLECULE => EXTRA-MOLECULE}/dihedral_spherical.h (100%) rename src/{MOLECULE => EXTRA-MOLECULE}/dihedral_table_cut.cpp (100%) rename src/{MOLECULE => EXTRA-MOLECULE}/dihedral_table_cut.h (100%) rename src/{MOLECULE => EXTRA-MOLECULE}/improper_cossq.cpp (100%) rename src/{MOLECULE => EXTRA-MOLECULE}/improper_cossq.h (100%) rename src/{MOLECULE => EXTRA-MOLECULE}/improper_distance.cpp (100%) rename src/{MOLECULE => EXTRA-MOLECULE}/improper_distance.h (100%) rename src/{MOLECULE => EXTRA-MOLECULE}/improper_fourier.cpp (100%) rename src/{MOLECULE => EXTRA-MOLECULE}/improper_fourier.h (100%) rename src/{MOLECULE => EXTRA-MOLECULE}/improper_ring.cpp (100%) rename src/{MOLECULE => EXTRA-MOLECULE}/improper_ring.h (100%) rename src/{ => EXTRA-PAIR}/pair_born_coul_dsf.cpp (100%) rename src/{ => EXTRA-PAIR}/pair_born_coul_dsf.h (100%) rename src/{ => EXTRA-PAIR}/pair_born_coul_wolf.cpp (100%) rename src/{ => EXTRA-PAIR}/pair_born_coul_wolf.h (100%) rename src/{USER-MISC => EXTRA-PAIR}/pair_buck_mdf.cpp (100%) rename src/{USER-MISC => EXTRA-PAIR}/pair_buck_mdf.h (100%) rename src/{USER-MISC => EXTRA-PAIR}/pair_cosine_squared.cpp (100%) rename src/{USER-MISC => EXTRA-PAIR}/pair_cosine_squared.h (100%) rename src/{ => EXTRA-PAIR}/pair_coul_cut_global.cpp (100%) rename src/{ => EXTRA-PAIR}/pair_coul_cut_global.h (100%) rename src/{USER-MISC => EXTRA-PAIR}/pair_coul_diel.cpp (100%) rename src/{USER-MISC => EXTRA-PAIR}/pair_coul_diel.h (100%) rename src/{USER-MISC => EXTRA-PAIR}/pair_coul_slater_cut.cpp (100%) rename src/{USER-MISC => EXTRA-PAIR}/pair_coul_slater_cut.h (100%) rename src/{USER-MISC => EXTRA-PAIR}/pair_coul_slater_long.cpp (100%) rename src/{USER-MISC => EXTRA-PAIR}/pair_coul_slater_long.h (100%) rename src/{ => EXTRA-PAIR}/pair_coul_streitz.cpp (100%) rename src/{ => EXTRA-PAIR}/pair_coul_streitz.h (100%) rename src/{USER-MISC => EXTRA-PAIR}/pair_e3b.cpp (100%) rename src/{USER-MISC => EXTRA-PAIR}/pair_e3b.h (100%) rename src/{ => EXTRA-PAIR}/pair_gauss.cpp (100%) rename src/{ => EXTRA-PAIR}/pair_gauss.h (100%) rename src/{USER-MISC => EXTRA-PAIR}/pair_gauss_cut.cpp (100%) rename src/{USER-MISC => EXTRA-PAIR}/pair_gauss_cut.h (100%) rename src/{USER-MISC => EXTRA-PAIR}/pair_lennard_mdf.cpp (100%) rename src/{USER-MISC => EXTRA-PAIR}/pair_lennard_mdf.h (100%) rename src/{ => EXTRA-PAIR}/pair_lj96_cut.cpp (100%) rename src/{ => EXTRA-PAIR}/pair_lj96_cut.h (100%) rename src/{ => EXTRA-PAIR}/pair_lj_cubic.cpp (100%) rename src/{ => EXTRA-PAIR}/pair_lj_cubic.h (100%) rename src/{ => EXTRA-PAIR}/pair_lj_cubic_const.h (100%) rename src/{ => EXTRA-PAIR}/pair_lj_cut_coul_debye.cpp (100%) rename src/{ => EXTRA-PAIR}/pair_lj_cut_coul_debye.h (100%) rename src/{ => EXTRA-PAIR}/pair_lj_cut_coul_dsf.cpp (100%) rename src/{ => EXTRA-PAIR}/pair_lj_cut_coul_dsf.h (100%) rename src/{ => EXTRA-PAIR}/pair_lj_cut_coul_wolf.cpp (100%) rename src/{ => EXTRA-PAIR}/pair_lj_cut_coul_wolf.h (100%) rename src/{USER-MISC => EXTRA-PAIR}/pair_lj_expand_coul_long.cpp (100%) rename src/{USER-MISC => EXTRA-PAIR}/pair_lj_expand_coul_long.h (100%) rename src/{ => EXTRA-PAIR}/pair_lj_gromacs.cpp (100%) rename src/{ => EXTRA-PAIR}/pair_lj_gromacs.h (100%) rename src/{ => EXTRA-PAIR}/pair_lj_gromacs_coul_gromacs.cpp (100%) rename src/{ => EXTRA-PAIR}/pair_lj_gromacs_coul_gromacs.h (100%) rename src/{USER-MISC => EXTRA-PAIR}/pair_lj_mdf.cpp (100%) rename src/{USER-MISC => EXTRA-PAIR}/pair_lj_mdf.h (100%) rename src/{ => EXTRA-PAIR}/pair_lj_relres.cpp (100%) rename src/{ => EXTRA-PAIR}/pair_lj_relres.h (100%) rename src/{ => EXTRA-PAIR}/pair_lj_smooth.cpp (100%) rename src/{ => EXTRA-PAIR}/pair_lj_smooth.h (100%) rename src/{ => EXTRA-PAIR}/pair_lj_smooth_linear.cpp (100%) rename src/{ => EXTRA-PAIR}/pair_lj_smooth_linear.h (100%) rename src/{ => EXTRA-PAIR}/pair_mie_cut.cpp (100%) rename src/{ => EXTRA-PAIR}/pair_mie_cut.h (100%) rename src/{USER-MISC => EXTRA-PAIR}/pair_momb.cpp (100%) rename src/{USER-MISC => EXTRA-PAIR}/pair_momb.h (100%) rename src/{USER-MISC => EXTRA-PAIR}/pair_morse_smooth_linear.cpp (100%) rename src/{USER-MISC => EXTRA-PAIR}/pair_morse_smooth_linear.h (100%) rename src/{MISC => EXTRA-PAIR}/pair_nm_cut.cpp (100%) rename src/{MISC => EXTRA-PAIR}/pair_nm_cut.h (100%) rename src/{MISC => EXTRA-PAIR}/pair_nm_cut_coul_cut.cpp (100%) rename src/{MISC => EXTRA-PAIR}/pair_nm_cut_coul_cut.h (100%) rename src/{MISC => EXTRA-PAIR}/pair_nm_cut_coul_long.cpp (100%) rename src/{MISC => EXTRA-PAIR}/pair_nm_cut_coul_long.h (100%) rename src/{ => EXTRA-PAIR}/pair_ufm.cpp (100%) rename src/{ => EXTRA-PAIR}/pair_ufm.h (100%) rename src/{USER-MISC => EXTRA-PAIR}/pair_wf_cut.cpp (100%) rename src/{USER-MISC => EXTRA-PAIR}/pair_wf_cut.h (100%) rename src/{ => GRANULAR}/compute_contact_atom.cpp (100%) rename src/{ => GRANULAR}/compute_contact_atom.h (100%) rename src/{USER-MISC => MANYBODY}/pair_edip.cpp (100%) rename src/{USER-MISC => MANYBODY}/pair_edip.h (100%) rename src/{USER-MISC => MANYBODY}/pair_edip_multi.cpp (100%) rename src/{USER-MISC => MANYBODY}/pair_edip_multi.h (100%) rename src/{USER-MISC => MANYBODY}/pair_extep.cpp (100%) rename src/{USER-MISC => MANYBODY}/pair_extep.h (100%) rename src/{USER-MISC => MANYBODY}/pair_local_density.cpp (100%) rename src/{USER-MISC => MANYBODY}/pair_local_density.h (100%) rename src/{USER-MISC => MANYBODY}/pair_meam_spline.cpp (100%) rename src/{USER-MISC => MANYBODY}/pair_meam_spline.h (100%) rename src/{USER-MISC => MANYBODY}/pair_meam_sw_spline.cpp (100%) rename src/{USER-MISC => MANYBODY}/pair_meam_sw_spline.h (100%) rename src/{USER-MISC => MANYBODY}/pair_tersoff_table.cpp (100%) rename src/{USER-MISC => MANYBODY}/pair_tersoff_table.h (100%) rename src/{USER-MISC => MISC}/compute_viscosity_cos.cpp (100%) rename src/{USER-MISC => MISC}/compute_viscosity_cos.h (100%) rename src/{USER-MISC => MISC}/fix_accelerate_cos.cpp (100%) rename src/{USER-MISC => MISC}/fix_accelerate_cos.h (100%) rename src/{USER-MISC => MISC}/fix_ipi.cpp (100%) rename src/{USER-MISC => MISC}/fix_ipi.h (100%) rename src/{USER-MISC => MISC}/fix_srp.cpp (100%) rename src/{USER-MISC => MISC}/fix_srp.h (100%) rename src/{USER-MISC => MISC}/pair_agni.cpp (100%) rename src/{USER-MISC => MISC}/pair_agni.h (100%) rename src/{MISC => ORIENT}/fix_orient_bcc.cpp (100%) rename src/{MISC => ORIENT}/fix_orient_bcc.h (100%) rename src/{USER-MISC => ORIENT}/fix_orient_eco.cpp (100%) rename src/{USER-MISC => ORIENT}/fix_orient_eco.h (100%) rename src/{MISC => ORIENT}/fix_orient_fcc.cpp (100%) rename src/{MISC => ORIENT}/fix_orient_fcc.h (100%) delete mode 100644 src/USER-MISC/README rename src/{MISC => }/fix_deposit.cpp (100%) rename src/{MISC => }/fix_deposit.h (100%) rename src/{MISC => }/fix_efield.cpp (100%) rename src/{MISC => }/fix_efield.h (100%) rename src/{MISC => }/fix_evaporate.cpp (100%) rename src/{MISC => }/fix_evaporate.h (100%) rename src/{MISC => }/fix_thermal_conductivity.cpp (100%) rename src/{MISC => }/fix_thermal_conductivity.h (100%) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index e340a8bdb3..b2f5360020 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -161,6 +161,11 @@ set(STANDARD_PACKAGES DPD-SMOOTH DRUDE EFF + EXTRA-COMPUTE + EXTRA-DUMP + EXTRA-FIX + EXTRA-MOLECULE + EXTRA-PAIR FEP GRANULAR H5MD @@ -191,6 +196,7 @@ set(STANDARD_PACKAGES MPIIO MSCG NETCDF + ORIENT PERI PHONON PLUGIN @@ -213,7 +219,6 @@ set(STANDARD_PACKAGES SRD TALLY UEF - USER-MISC VORONOI VTK YAFF) diff --git a/cmake/presets/all_off.cmake b/cmake/presets/all_off.cmake index b873965fe4..2893bbab6b 100644 --- a/cmake/presets/all_off.cmake +++ b/cmake/presets/all_off.cmake @@ -25,6 +25,11 @@ set(ALL_PACKAGES DPD-SMOOTH DRUDE EFF + EXTRA-COMPUTE + EXTRA-DUMP + EXTRA-FIX + EXTRA-MOLECULE + EXTRA-PAIR FEP GPU GRANULAR @@ -60,6 +65,7 @@ set(ALL_PACKAGES NETCDF OPENMP OPT + ORIENT PERI PHONON PLUGIN @@ -82,7 +88,6 @@ set(ALL_PACKAGES SRD TALLY UEF - USER-MISC VORONOI VTK YAFF) diff --git a/cmake/presets/all_on.cmake b/cmake/presets/all_on.cmake index b4fe8e5303..9f38f1e1e4 100644 --- a/cmake/presets/all_on.cmake +++ b/cmake/presets/all_on.cmake @@ -27,6 +27,11 @@ set(ALL_PACKAGES DPD-SMOOTH DRUDE EFF + EXTRA-COMPUTE + EXTRA-DUMP + EXTRA-FIX + EXTRA-MOLECULE + EXTRA-PAIR FEP GPU GRANULAR @@ -62,6 +67,7 @@ set(ALL_PACKAGES NETCDF OPENMP OPT + ORIENT PERI PHONON PLUGIN @@ -84,7 +90,6 @@ set(ALL_PACKAGES SRD TALLY UEF - USER-MISC VORONOI VTK YAFF) diff --git a/cmake/presets/mingw-cross.cmake b/cmake/presets/mingw-cross.cmake index 71675ba9d7..fe828a6d9a 100644 --- a/cmake/presets/mingw-cross.cmake +++ b/cmake/presets/mingw-cross.cmake @@ -21,6 +21,11 @@ set(WIN_PACKAGES DPD-SMOOTH DRUDE EFF + EXTRA-COMPUTE + EXTRA-DUMP + EXTRA-FIX + EXTRA-MOLECULE + EXTRA-PAIR FEP GPU GRANULAR @@ -40,11 +45,13 @@ set(WIN_PACKAGES ML-HDNNP ML-IAP ML-SNAP + ML-RANN MOFFF MOLECULE MOLFILE OPENMP OPT + ORIENT PERI PHONON POEMS @@ -62,7 +69,6 @@ set(WIN_PACKAGES SRD TALLY UEF - USER-MISC VORONOI YAFF) diff --git a/cmake/presets/most.cmake b/cmake/presets/most.cmake index 8ad6ff31dc..9546f1f9a3 100644 --- a/cmake/presets/most.cmake +++ b/cmake/presets/most.cmake @@ -23,6 +23,10 @@ set(ALL_PACKAGES DPD-SMOOTH DRUDE EFF + EXTRA-COMPUTE + EXTRA-FIX + EXTRA-MOLECULE + EXTRA-PAIR FEP GRANULAR INTERLAYER @@ -38,6 +42,7 @@ set(ALL_PACKAGES MOLECULE OPENMP OPT + ORIENT PERI PHONON PLUGIN @@ -52,8 +57,8 @@ set(ALL_PACKAGES SPH SPIN SRD + TALLY UEF - USER-MISC VORONOI YAFF) diff --git a/src/.gitignore b/src/.gitignore index 42e1548c43..961901e322 100644 --- a/src/.gitignore +++ b/src/.gitignore @@ -250,6 +250,61 @@ /pair_mesont_tpm.cpp /pair_mesont_tpm.h +/compute_contact_atom.cpp +/compute_contact_atom.h +/dump_dcd.cpp +/dump_dcd.h +/fix_controller.cpp +/fix_controller.h +/fix_drag.cpp +/fix_drag.h +/fix_numdiff.cpp +/fix_numdiff.h +/fix_nve_noforce.cpp +/fix_nve_noforce.h +/fix_spring_rg.cpp +/fix_spring_rg.h +/fix_temp_csld.cpp +/fix_temp_csld.h +/fix_temp_csvr.cpp +/fix_temp_csvr.h +/fix_tmd.cpp +/fix_tmd.h +/pair_born_coul_dsf.cpp +/pair_born_coul_dsf.h +/pair_born_coul_wolf.cpp +/pair_born_coul_wolf.h +/pair_coul_cut_global.cpp +/pair_coul_cut_global.h +/pair_coul_streitz.cpp +/pair_coul_streitz.h +/pair_gauss.cpp +/pair_gauss.h +/pair_lj96_cut.cpp +/pair_lj96_cut.h +/pair_lj_cubic.cpp +/pair_lj_cubic.h +/pair_lj_cut_coul_debye.cpp +/pair_lj_cut_coul_debye.h +/pair_lj_cut_coul_dsf.cpp +/pair_lj_cut_coul_dsf.h +/pair_lj_cut_coul_wolf.cpp +/pair_lj_cut_coul_wolf.h +/pair_lj_gromacs.cpp +/pair_lj_gromacs.h +/pair_lj_gromacs_could_gromacs.cpp +/pair_lj_gromacs_could_gromacs.h +/pair_lj_relres.cpp +/pair_lj_relres.h +/pair_lj_smooth.cpp +/pair_lj_smooth.h +/pair_lj_smooth_linear.cpp +/pair_lj_smooth_linear.h +/pair_mie_cut.cpp +/pair_mie_cut.h +/pair_ufm.cpp +/pair_ufm.h + /angle_cg_cmm.cpp /angle_cg_cmm.h /angle_charmm.cpp @@ -578,12 +633,8 @@ /fix_client_md.h /fix_cmap.cpp /fix_cmap.h -/fix_deposit.cpp -/fix_deposit.h /fix_dpd_energy.cpp /fix_dpd_energy.h -/fix_efield.cpp -/fix_efield.h /fix_electron_stopping.cpp /fix_electron_stopping.h /fix_electron_stopping_fit.cpp @@ -592,8 +643,6 @@ /fix_eos_cv.h /fix_eos_table.cpp /fix_eos_table.h -/fix_evaporate.cpp -/fix_evaporate.h /fix_ffl.cpp /fix_ffl.h /fix_filter_corotate.cpp @@ -797,8 +846,6 @@ /fix_tgnpt_drude.h /fix_tgnvt_drude.cpp /fix_tgnvt_drude.h -/fix_thermal_conductivity.cpp -/fix_thermal_conductivity.h /fix_ti_rs.cpp /fix_ti_rs.h /fix_ti_spring.cpp diff --git a/src/USER-MISC/pair_lj_sf_dipole_sf.cpp b/src/DIPOLE/pair_lj_sf_dipole_sf.cpp similarity index 100% rename from src/USER-MISC/pair_lj_sf_dipole_sf.cpp rename to src/DIPOLE/pair_lj_sf_dipole_sf.cpp diff --git a/src/USER-MISC/pair_lj_sf_dipole_sf.h b/src/DIPOLE/pair_lj_sf_dipole_sf.h similarity index 100% rename from src/USER-MISC/pair_lj_sf_dipole_sf.h rename to src/DIPOLE/pair_lj_sf_dipole_sf.h diff --git a/src/Depend.sh b/src/Depend.sh index 4700b6f5f0..4bbbeb9a51 100755 --- a/src/Depend.sh +++ b/src/Depend.sh @@ -63,8 +63,11 @@ if (test $1 = "COLLOID") then depend OPENMP fi +if (test $1 = "DIELECTRIC") then + depend OPENMP +fi + if (test $1 = "DIPOLE") then - depend USER-MISC depend OPENMP fi @@ -72,6 +75,16 @@ if (test $1 = "DPD-BASIC") then depend GPU fi +if (test $1 = "EXTRA-MOLECULE") then + depend GPU + depend OPENMP +fi + +if (test $1 = "EXTRA-PAIR") then + depend GPU + depend OPENMP +fi + if (test $1 = "GRANULAR") then depend KOKKOS depend OPENMP @@ -96,14 +109,13 @@ if (test $1 = "MANYBODY") then depend KOKKOS depend OPT depend QEQ - depend USER-MISC depend OPENMP fi if (test $1 = "MOLECULE") then + depend EXTRA-MOLECULE depend GPU depend KOKKOS - depend USER-MISC depend FEP depend OPENMP depend INTEL @@ -146,12 +158,6 @@ if (test $1 = "FEP") then depend OPENMP fi -if (test $1 = "USER-MISC") then - depend GPU - depend OPENMP - depend INTEL -fi - if (test $1 = "REAXFF") then depend KOKKOS depend OPENMP diff --git a/src/USER-MISC/compute_ackland_atom.cpp b/src/EXTRA-COMPUTE/compute_ackland_atom.cpp similarity index 100% rename from src/USER-MISC/compute_ackland_atom.cpp rename to src/EXTRA-COMPUTE/compute_ackland_atom.cpp diff --git a/src/USER-MISC/compute_ackland_atom.h b/src/EXTRA-COMPUTE/compute_ackland_atom.h similarity index 100% rename from src/USER-MISC/compute_ackland_atom.h rename to src/EXTRA-COMPUTE/compute_ackland_atom.h diff --git a/src/compute_adf.cpp b/src/EXTRA-COMPUTE/compute_adf.cpp similarity index 100% rename from src/compute_adf.cpp rename to src/EXTRA-COMPUTE/compute_adf.cpp diff --git a/src/compute_adf.h b/src/EXTRA-COMPUTE/compute_adf.h similarity index 100% rename from src/compute_adf.h rename to src/EXTRA-COMPUTE/compute_adf.h diff --git a/src/compute_aggregate_atom.cpp b/src/EXTRA-COMPUTE/compute_aggregate_atom.cpp similarity index 100% rename from src/compute_aggregate_atom.cpp rename to src/EXTRA-COMPUTE/compute_aggregate_atom.cpp diff --git a/src/compute_aggregate_atom.h b/src/EXTRA-COMPUTE/compute_aggregate_atom.h similarity index 100% rename from src/compute_aggregate_atom.h rename to src/EXTRA-COMPUTE/compute_aggregate_atom.h diff --git a/src/USER-MISC/compute_basal_atom.cpp b/src/EXTRA-COMPUTE/compute_basal_atom.cpp similarity index 100% rename from src/USER-MISC/compute_basal_atom.cpp rename to src/EXTRA-COMPUTE/compute_basal_atom.cpp diff --git a/src/USER-MISC/compute_basal_atom.h b/src/EXTRA-COMPUTE/compute_basal_atom.h similarity index 100% rename from src/USER-MISC/compute_basal_atom.h rename to src/EXTRA-COMPUTE/compute_basal_atom.h diff --git a/src/compute_cluster_atom.cpp b/src/EXTRA-COMPUTE/compute_cluster_atom.cpp similarity index 100% rename from src/compute_cluster_atom.cpp rename to src/EXTRA-COMPUTE/compute_cluster_atom.cpp diff --git a/src/compute_cluster_atom.h b/src/EXTRA-COMPUTE/compute_cluster_atom.h similarity index 100% rename from src/compute_cluster_atom.h rename to src/EXTRA-COMPUTE/compute_cluster_atom.h diff --git a/src/USER-MISC/compute_cnp_atom.cpp b/src/EXTRA-COMPUTE/compute_cnp_atom.cpp similarity index 100% rename from src/USER-MISC/compute_cnp_atom.cpp rename to src/EXTRA-COMPUTE/compute_cnp_atom.cpp diff --git a/src/USER-MISC/compute_cnp_atom.h b/src/EXTRA-COMPUTE/compute_cnp_atom.h similarity index 100% rename from src/USER-MISC/compute_cnp_atom.h rename to src/EXTRA-COMPUTE/compute_cnp_atom.h diff --git a/src/USER-MISC/compute_entropy_atom.cpp b/src/EXTRA-COMPUTE/compute_entropy_atom.cpp similarity index 100% rename from src/USER-MISC/compute_entropy_atom.cpp rename to src/EXTRA-COMPUTE/compute_entropy_atom.cpp diff --git a/src/USER-MISC/compute_entropy_atom.h b/src/EXTRA-COMPUTE/compute_entropy_atom.h similarity index 100% rename from src/USER-MISC/compute_entropy_atom.h rename to src/EXTRA-COMPUTE/compute_entropy_atom.h diff --git a/src/compute_fragment_atom.cpp b/src/EXTRA-COMPUTE/compute_fragment_atom.cpp similarity index 100% rename from src/compute_fragment_atom.cpp rename to src/EXTRA-COMPUTE/compute_fragment_atom.cpp diff --git a/src/compute_fragment_atom.h b/src/EXTRA-COMPUTE/compute_fragment_atom.h similarity index 100% rename from src/compute_fragment_atom.h rename to src/EXTRA-COMPUTE/compute_fragment_atom.h diff --git a/src/USER-MISC/compute_gyration_shape.cpp b/src/EXTRA-COMPUTE/compute_gyration_shape.cpp similarity index 100% rename from src/USER-MISC/compute_gyration_shape.cpp rename to src/EXTRA-COMPUTE/compute_gyration_shape.cpp diff --git a/src/USER-MISC/compute_gyration_shape.h b/src/EXTRA-COMPUTE/compute_gyration_shape.h similarity index 100% rename from src/USER-MISC/compute_gyration_shape.h rename to src/EXTRA-COMPUTE/compute_gyration_shape.h diff --git a/src/USER-MISC/compute_gyration_shape_chunk.cpp b/src/EXTRA-COMPUTE/compute_gyration_shape_chunk.cpp similarity index 100% rename from src/USER-MISC/compute_gyration_shape_chunk.cpp rename to src/EXTRA-COMPUTE/compute_gyration_shape_chunk.cpp diff --git a/src/USER-MISC/compute_gyration_shape_chunk.h b/src/EXTRA-COMPUTE/compute_gyration_shape_chunk.h similarity index 100% rename from src/USER-MISC/compute_gyration_shape_chunk.h rename to src/EXTRA-COMPUTE/compute_gyration_shape_chunk.h diff --git a/src/compute_hexorder_atom.cpp b/src/EXTRA-COMPUTE/compute_hexorder_atom.cpp similarity index 100% rename from src/compute_hexorder_atom.cpp rename to src/EXTRA-COMPUTE/compute_hexorder_atom.cpp diff --git a/src/compute_hexorder_atom.h b/src/EXTRA-COMPUTE/compute_hexorder_atom.h similarity index 100% rename from src/compute_hexorder_atom.h rename to src/EXTRA-COMPUTE/compute_hexorder_atom.h diff --git a/src/USER-MISC/compute_hma.cpp b/src/EXTRA-COMPUTE/compute_hma.cpp similarity index 100% rename from src/USER-MISC/compute_hma.cpp rename to src/EXTRA-COMPUTE/compute_hma.cpp diff --git a/src/USER-MISC/compute_hma.h b/src/EXTRA-COMPUTE/compute_hma.h similarity index 100% rename from src/USER-MISC/compute_hma.h rename to src/EXTRA-COMPUTE/compute_hma.h diff --git a/src/USER-MISC/compute_momentum.cpp b/src/EXTRA-COMPUTE/compute_momentum.cpp similarity index 100% rename from src/USER-MISC/compute_momentum.cpp rename to src/EXTRA-COMPUTE/compute_momentum.cpp diff --git a/src/USER-MISC/compute_momentum.h b/src/EXTRA-COMPUTE/compute_momentum.h similarity index 100% rename from src/USER-MISC/compute_momentum.h rename to src/EXTRA-COMPUTE/compute_momentum.h diff --git a/src/MISC/compute_msd_nongauss.cpp b/src/EXTRA-COMPUTE/compute_msd_nongauss.cpp similarity index 100% rename from src/MISC/compute_msd_nongauss.cpp rename to src/EXTRA-COMPUTE/compute_msd_nongauss.cpp diff --git a/src/MISC/compute_msd_nongauss.h b/src/EXTRA-COMPUTE/compute_msd_nongauss.h similarity index 100% rename from src/MISC/compute_msd_nongauss.h rename to src/EXTRA-COMPUTE/compute_msd_nongauss.h diff --git a/src/compute_orientorder_atom.cpp b/src/EXTRA-COMPUTE/compute_orientorder_atom.cpp similarity index 100% rename from src/compute_orientorder_atom.cpp rename to src/EXTRA-COMPUTE/compute_orientorder_atom.cpp diff --git a/src/compute_orientorder_atom.h b/src/EXTRA-COMPUTE/compute_orientorder_atom.h similarity index 100% rename from src/compute_orientorder_atom.h rename to src/EXTRA-COMPUTE/compute_orientorder_atom.h diff --git a/src/USER-MISC/compute_pressure_cylinder.cpp b/src/EXTRA-COMPUTE/compute_pressure_cylinder.cpp similarity index 100% rename from src/USER-MISC/compute_pressure_cylinder.cpp rename to src/EXTRA-COMPUTE/compute_pressure_cylinder.cpp diff --git a/src/USER-MISC/compute_pressure_cylinder.h b/src/EXTRA-COMPUTE/compute_pressure_cylinder.h similarity index 100% rename from src/USER-MISC/compute_pressure_cylinder.h rename to src/EXTRA-COMPUTE/compute_pressure_cylinder.h diff --git a/src/USER-MISC/compute_stress_mop.cpp b/src/EXTRA-COMPUTE/compute_stress_mop.cpp similarity index 100% rename from src/USER-MISC/compute_stress_mop.cpp rename to src/EXTRA-COMPUTE/compute_stress_mop.cpp diff --git a/src/USER-MISC/compute_stress_mop.h b/src/EXTRA-COMPUTE/compute_stress_mop.h similarity index 100% rename from src/USER-MISC/compute_stress_mop.h rename to src/EXTRA-COMPUTE/compute_stress_mop.h diff --git a/src/USER-MISC/compute_stress_mop_profile.cpp b/src/EXTRA-COMPUTE/compute_stress_mop_profile.cpp similarity index 100% rename from src/USER-MISC/compute_stress_mop_profile.cpp rename to src/EXTRA-COMPUTE/compute_stress_mop_profile.cpp diff --git a/src/USER-MISC/compute_stress_mop_profile.h b/src/EXTRA-COMPUTE/compute_stress_mop_profile.h similarity index 100% rename from src/USER-MISC/compute_stress_mop_profile.h rename to src/EXTRA-COMPUTE/compute_stress_mop_profile.h diff --git a/src/USER-MISC/compute_temp_rotate.cpp b/src/EXTRA-COMPUTE/compute_temp_rotate.cpp similarity index 100% rename from src/USER-MISC/compute_temp_rotate.cpp rename to src/EXTRA-COMPUTE/compute_temp_rotate.cpp diff --git a/src/USER-MISC/compute_temp_rotate.h b/src/EXTRA-COMPUTE/compute_temp_rotate.h similarity index 100% rename from src/USER-MISC/compute_temp_rotate.h rename to src/EXTRA-COMPUTE/compute_temp_rotate.h diff --git a/src/MISC/compute_ti.cpp b/src/EXTRA-COMPUTE/compute_ti.cpp similarity index 100% rename from src/MISC/compute_ti.cpp rename to src/EXTRA-COMPUTE/compute_ti.cpp diff --git a/src/MISC/compute_ti.h b/src/EXTRA-COMPUTE/compute_ti.h similarity index 100% rename from src/MISC/compute_ti.h rename to src/EXTRA-COMPUTE/compute_ti.h diff --git a/src/dump_dcd.cpp b/src/EXTRA-DUMP/dump_dcd.cpp similarity index 100% rename from src/dump_dcd.cpp rename to src/EXTRA-DUMP/dump_dcd.cpp diff --git a/src/dump_dcd.h b/src/EXTRA-DUMP/dump_dcd.h similarity index 100% rename from src/dump_dcd.h rename to src/EXTRA-DUMP/dump_dcd.h diff --git a/src/MISC/dump_xtc.cpp b/src/EXTRA-DUMP/dump_xtc.cpp similarity index 100% rename from src/MISC/dump_xtc.cpp rename to src/EXTRA-DUMP/dump_xtc.cpp diff --git a/src/MISC/dump_xtc.h b/src/EXTRA-DUMP/dump_xtc.h similarity index 100% rename from src/MISC/dump_xtc.h rename to src/EXTRA-DUMP/dump_xtc.h diff --git a/src/MISC/xdr_compat.cpp b/src/EXTRA-DUMP/xdr_compat.cpp similarity index 100% rename from src/MISC/xdr_compat.cpp rename to src/EXTRA-DUMP/xdr_compat.cpp diff --git a/src/MISC/xdr_compat.h b/src/EXTRA-DUMP/xdr_compat.h similarity index 100% rename from src/MISC/xdr_compat.h rename to src/EXTRA-DUMP/xdr_compat.h diff --git a/src/MISC/fix_addtorque.cpp b/src/EXTRA-FIX/fix_addtorque.cpp similarity index 100% rename from src/MISC/fix_addtorque.cpp rename to src/EXTRA-FIX/fix_addtorque.cpp diff --git a/src/MISC/fix_addtorque.h b/src/EXTRA-FIX/fix_addtorque.h similarity index 100% rename from src/MISC/fix_addtorque.h rename to src/EXTRA-FIX/fix_addtorque.h diff --git a/src/USER-MISC/fix_ave_correlate_long.cpp b/src/EXTRA-FIX/fix_ave_correlate_long.cpp similarity index 100% rename from src/USER-MISC/fix_ave_correlate_long.cpp rename to src/EXTRA-FIX/fix_ave_correlate_long.cpp diff --git a/src/USER-MISC/fix_ave_correlate_long.h b/src/EXTRA-FIX/fix_ave_correlate_long.h similarity index 100% rename from src/USER-MISC/fix_ave_correlate_long.h rename to src/EXTRA-FIX/fix_ave_correlate_long.h diff --git a/src/fix_controller.cpp b/src/EXTRA-FIX/fix_controller.cpp similarity index 100% rename from src/fix_controller.cpp rename to src/EXTRA-FIX/fix_controller.cpp diff --git a/src/fix_controller.h b/src/EXTRA-FIX/fix_controller.h similarity index 100% rename from src/fix_controller.h rename to src/EXTRA-FIX/fix_controller.h diff --git a/src/fix_drag.cpp b/src/EXTRA-FIX/fix_drag.cpp similarity index 100% rename from src/fix_drag.cpp rename to src/EXTRA-FIX/fix_drag.cpp diff --git a/src/fix_drag.h b/src/EXTRA-FIX/fix_drag.h similarity index 100% rename from src/fix_drag.h rename to src/EXTRA-FIX/fix_drag.h diff --git a/src/USER-MISC/fix_electron_stopping.cpp b/src/EXTRA-FIX/fix_electron_stopping.cpp similarity index 100% rename from src/USER-MISC/fix_electron_stopping.cpp rename to src/EXTRA-FIX/fix_electron_stopping.cpp diff --git a/src/USER-MISC/fix_electron_stopping.h b/src/EXTRA-FIX/fix_electron_stopping.h similarity index 100% rename from src/USER-MISC/fix_electron_stopping.h rename to src/EXTRA-FIX/fix_electron_stopping.h diff --git a/src/USER-MISC/fix_electron_stopping_fit.cpp b/src/EXTRA-FIX/fix_electron_stopping_fit.cpp similarity index 100% rename from src/USER-MISC/fix_electron_stopping_fit.cpp rename to src/EXTRA-FIX/fix_electron_stopping_fit.cpp diff --git a/src/USER-MISC/fix_electron_stopping_fit.h b/src/EXTRA-FIX/fix_electron_stopping_fit.h similarity index 100% rename from src/USER-MISC/fix_electron_stopping_fit.h rename to src/EXTRA-FIX/fix_electron_stopping_fit.h diff --git a/src/USER-MISC/fix_ffl.cpp b/src/EXTRA-FIX/fix_ffl.cpp similarity index 100% rename from src/USER-MISC/fix_ffl.cpp rename to src/EXTRA-FIX/fix_ffl.cpp diff --git a/src/USER-MISC/fix_ffl.h b/src/EXTRA-FIX/fix_ffl.h similarity index 100% rename from src/USER-MISC/fix_ffl.h rename to src/EXTRA-FIX/fix_ffl.h diff --git a/src/USER-MISC/fix_filter_corotate.cpp b/src/EXTRA-FIX/fix_filter_corotate.cpp similarity index 100% rename from src/USER-MISC/fix_filter_corotate.cpp rename to src/EXTRA-FIX/fix_filter_corotate.cpp diff --git a/src/USER-MISC/fix_filter_corotate.h b/src/EXTRA-FIX/fix_filter_corotate.h similarity index 100% rename from src/USER-MISC/fix_filter_corotate.h rename to src/EXTRA-FIX/fix_filter_corotate.h diff --git a/src/USER-MISC/fix_flow_gauss.cpp b/src/EXTRA-FIX/fix_flow_gauss.cpp similarity index 100% rename from src/USER-MISC/fix_flow_gauss.cpp rename to src/EXTRA-FIX/fix_flow_gauss.cpp diff --git a/src/USER-MISC/fix_flow_gauss.h b/src/EXTRA-FIX/fix_flow_gauss.h similarity index 100% rename from src/USER-MISC/fix_flow_gauss.h rename to src/EXTRA-FIX/fix_flow_gauss.h diff --git a/src/MISC/fix_gld.cpp b/src/EXTRA-FIX/fix_gld.cpp similarity index 100% rename from src/MISC/fix_gld.cpp rename to src/EXTRA-FIX/fix_gld.cpp diff --git a/src/MISC/fix_gld.h b/src/EXTRA-FIX/fix_gld.h similarity index 100% rename from src/MISC/fix_gld.h rename to src/EXTRA-FIX/fix_gld.h diff --git a/src/USER-MISC/fix_gle.cpp b/src/EXTRA-FIX/fix_gle.cpp similarity index 100% rename from src/USER-MISC/fix_gle.cpp rename to src/EXTRA-FIX/fix_gle.cpp diff --git a/src/USER-MISC/fix_gle.h b/src/EXTRA-FIX/fix_gle.h similarity index 100% rename from src/USER-MISC/fix_gle.h rename to src/EXTRA-FIX/fix_gle.h diff --git a/src/USER-MISC/fix_momentum_chunk.cpp b/src/EXTRA-FIX/fix_momentum_chunk.cpp similarity index 100% rename from src/USER-MISC/fix_momentum_chunk.cpp rename to src/EXTRA-FIX/fix_momentum_chunk.cpp diff --git a/src/USER-MISC/fix_momentum_chunk.h b/src/EXTRA-FIX/fix_momentum_chunk.h similarity index 100% rename from src/USER-MISC/fix_momentum_chunk.h rename to src/EXTRA-FIX/fix_momentum_chunk.h diff --git a/src/USER-MISC/fix_npt_cauchy.cpp b/src/EXTRA-FIX/fix_npt_cauchy.cpp similarity index 100% rename from src/USER-MISC/fix_npt_cauchy.cpp rename to src/EXTRA-FIX/fix_npt_cauchy.cpp diff --git a/src/USER-MISC/fix_npt_cauchy.h b/src/EXTRA-FIX/fix_npt_cauchy.h similarity index 100% rename from src/USER-MISC/fix_npt_cauchy.h rename to src/EXTRA-FIX/fix_npt_cauchy.h diff --git a/src/fix_numdiff.cpp b/src/EXTRA-FIX/fix_numdiff.cpp similarity index 100% rename from src/fix_numdiff.cpp rename to src/EXTRA-FIX/fix_numdiff.cpp diff --git a/src/fix_numdiff.h b/src/EXTRA-FIX/fix_numdiff.h similarity index 100% rename from src/fix_numdiff.h rename to src/EXTRA-FIX/fix_numdiff.h diff --git a/src/fix_nve_noforce.cpp b/src/EXTRA-FIX/fix_nve_noforce.cpp similarity index 100% rename from src/fix_nve_noforce.cpp rename to src/EXTRA-FIX/fix_nve_noforce.cpp diff --git a/src/fix_nve_noforce.h b/src/EXTRA-FIX/fix_nve_noforce.h similarity index 100% rename from src/fix_nve_noforce.h rename to src/EXTRA-FIX/fix_nve_noforce.h diff --git a/src/USER-MISC/fix_nvk.cpp b/src/EXTRA-FIX/fix_nvk.cpp similarity index 100% rename from src/USER-MISC/fix_nvk.cpp rename to src/EXTRA-FIX/fix_nvk.cpp diff --git a/src/USER-MISC/fix_nvk.h b/src/EXTRA-FIX/fix_nvk.h similarity index 100% rename from src/USER-MISC/fix_nvk.h rename to src/EXTRA-FIX/fix_nvk.h diff --git a/src/MISC/fix_oneway.cpp b/src/EXTRA-FIX/fix_oneway.cpp similarity index 100% rename from src/MISC/fix_oneway.cpp rename to src/EXTRA-FIX/fix_oneway.cpp diff --git a/src/MISC/fix_oneway.h b/src/EXTRA-FIX/fix_oneway.h similarity index 100% rename from src/MISC/fix_oneway.h rename to src/EXTRA-FIX/fix_oneway.h diff --git a/src/USER-MISC/fix_pafi.cpp b/src/EXTRA-FIX/fix_pafi.cpp similarity index 100% rename from src/USER-MISC/fix_pafi.cpp rename to src/EXTRA-FIX/fix_pafi.cpp diff --git a/src/USER-MISC/fix_pafi.h b/src/EXTRA-FIX/fix_pafi.h similarity index 100% rename from src/USER-MISC/fix_pafi.h rename to src/EXTRA-FIX/fix_pafi.h diff --git a/src/USER-MISC/fix_pimd.cpp b/src/EXTRA-FIX/fix_pimd.cpp similarity index 100% rename from src/USER-MISC/fix_pimd.cpp rename to src/EXTRA-FIX/fix_pimd.cpp diff --git a/src/USER-MISC/fix_pimd.h b/src/EXTRA-FIX/fix_pimd.h similarity index 100% rename from src/USER-MISC/fix_pimd.h rename to src/EXTRA-FIX/fix_pimd.h diff --git a/src/USER-MISC/fix_rhok.cpp b/src/EXTRA-FIX/fix_rhok.cpp similarity index 100% rename from src/USER-MISC/fix_rhok.cpp rename to src/EXTRA-FIX/fix_rhok.cpp diff --git a/src/USER-MISC/fix_rhok.h b/src/EXTRA-FIX/fix_rhok.h similarity index 100% rename from src/USER-MISC/fix_rhok.h rename to src/EXTRA-FIX/fix_rhok.h diff --git a/src/MISC/fix_smd.cpp b/src/EXTRA-FIX/fix_smd.cpp similarity index 100% rename from src/MISC/fix_smd.cpp rename to src/EXTRA-FIX/fix_smd.cpp diff --git a/src/MISC/fix_smd.h b/src/EXTRA-FIX/fix_smd.h similarity index 100% rename from src/MISC/fix_smd.h rename to src/EXTRA-FIX/fix_smd.h diff --git a/src/fix_spring_rg.cpp b/src/EXTRA-FIX/fix_spring_rg.cpp similarity index 100% rename from src/fix_spring_rg.cpp rename to src/EXTRA-FIX/fix_spring_rg.cpp diff --git a/src/fix_spring_rg.h b/src/EXTRA-FIX/fix_spring_rg.h similarity index 100% rename from src/fix_spring_rg.h rename to src/EXTRA-FIX/fix_spring_rg.h diff --git a/src/fix_temp_csld.cpp b/src/EXTRA-FIX/fix_temp_csld.cpp similarity index 100% rename from src/fix_temp_csld.cpp rename to src/EXTRA-FIX/fix_temp_csld.cpp diff --git a/src/fix_temp_csld.h b/src/EXTRA-FIX/fix_temp_csld.h similarity index 100% rename from src/fix_temp_csld.h rename to src/EXTRA-FIX/fix_temp_csld.h diff --git a/src/fix_temp_csvr.cpp b/src/EXTRA-FIX/fix_temp_csvr.cpp similarity index 100% rename from src/fix_temp_csvr.cpp rename to src/EXTRA-FIX/fix_temp_csvr.cpp diff --git a/src/fix_temp_csvr.h b/src/EXTRA-FIX/fix_temp_csvr.h similarity index 100% rename from src/fix_temp_csvr.h rename to src/EXTRA-FIX/fix_temp_csvr.h diff --git a/src/USER-MISC/fix_ti_spring.cpp b/src/EXTRA-FIX/fix_ti_spring.cpp similarity index 100% rename from src/USER-MISC/fix_ti_spring.cpp rename to src/EXTRA-FIX/fix_ti_spring.cpp diff --git a/src/USER-MISC/fix_ti_spring.h b/src/EXTRA-FIX/fix_ti_spring.h similarity index 100% rename from src/USER-MISC/fix_ti_spring.h rename to src/EXTRA-FIX/fix_ti_spring.h diff --git a/src/fix_tmd.cpp b/src/EXTRA-FIX/fix_tmd.cpp similarity index 100% rename from src/fix_tmd.cpp rename to src/EXTRA-FIX/fix_tmd.cpp diff --git a/src/fix_tmd.h b/src/EXTRA-FIX/fix_tmd.h similarity index 100% rename from src/fix_tmd.h rename to src/EXTRA-FIX/fix_tmd.h diff --git a/src/MISC/fix_ttm.cpp b/src/EXTRA-FIX/fix_ttm.cpp similarity index 100% rename from src/MISC/fix_ttm.cpp rename to src/EXTRA-FIX/fix_ttm.cpp diff --git a/src/MISC/fix_ttm.h b/src/EXTRA-FIX/fix_ttm.h similarity index 100% rename from src/MISC/fix_ttm.h rename to src/EXTRA-FIX/fix_ttm.h diff --git a/src/USER-MISC/fix_ttm_mod.cpp b/src/EXTRA-FIX/fix_ttm_mod.cpp similarity index 100% rename from src/USER-MISC/fix_ttm_mod.cpp rename to src/EXTRA-FIX/fix_ttm_mod.cpp diff --git a/src/USER-MISC/fix_ttm_mod.h b/src/EXTRA-FIX/fix_ttm_mod.h similarity index 100% rename from src/USER-MISC/fix_ttm_mod.h rename to src/EXTRA-FIX/fix_ttm_mod.h diff --git a/src/MISC/fix_viscosity.cpp b/src/EXTRA-FIX/fix_viscosity.cpp similarity index 100% rename from src/MISC/fix_viscosity.cpp rename to src/EXTRA-FIX/fix_viscosity.cpp diff --git a/src/MISC/fix_viscosity.h b/src/EXTRA-FIX/fix_viscosity.h similarity index 100% rename from src/MISC/fix_viscosity.h rename to src/EXTRA-FIX/fix_viscosity.h diff --git a/src/USER-MISC/fix_wall_ees.cpp b/src/EXTRA-FIX/fix_wall_ees.cpp similarity index 100% rename from src/USER-MISC/fix_wall_ees.cpp rename to src/EXTRA-FIX/fix_wall_ees.cpp diff --git a/src/USER-MISC/fix_wall_ees.h b/src/EXTRA-FIX/fix_wall_ees.h similarity index 100% rename from src/USER-MISC/fix_wall_ees.h rename to src/EXTRA-FIX/fix_wall_ees.h diff --git a/src/USER-MISC/fix_wall_reflect_stochastic.cpp b/src/EXTRA-FIX/fix_wall_reflect_stochastic.cpp similarity index 100% rename from src/USER-MISC/fix_wall_reflect_stochastic.cpp rename to src/EXTRA-FIX/fix_wall_reflect_stochastic.cpp diff --git a/src/USER-MISC/fix_wall_reflect_stochastic.h b/src/EXTRA-FIX/fix_wall_reflect_stochastic.h similarity index 100% rename from src/USER-MISC/fix_wall_reflect_stochastic.h rename to src/EXTRA-FIX/fix_wall_reflect_stochastic.h diff --git a/src/USER-MISC/fix_wall_region_ees.cpp b/src/EXTRA-FIX/fix_wall_region_ees.cpp similarity index 100% rename from src/USER-MISC/fix_wall_region_ees.cpp rename to src/EXTRA-FIX/fix_wall_region_ees.cpp diff --git a/src/USER-MISC/fix_wall_region_ees.h b/src/EXTRA-FIX/fix_wall_region_ees.h similarity index 100% rename from src/USER-MISC/fix_wall_region_ees.h rename to src/EXTRA-FIX/fix_wall_region_ees.h diff --git a/src/MOLECULE/angle_cosine_delta.cpp b/src/EXTRA-MOLECULE/angle_cosine_delta.cpp similarity index 100% rename from src/MOLECULE/angle_cosine_delta.cpp rename to src/EXTRA-MOLECULE/angle_cosine_delta.cpp diff --git a/src/MOLECULE/angle_cosine_delta.h b/src/EXTRA-MOLECULE/angle_cosine_delta.h similarity index 100% rename from src/MOLECULE/angle_cosine_delta.h rename to src/EXTRA-MOLECULE/angle_cosine_delta.h diff --git a/src/MOLECULE/angle_cosine_periodic.cpp b/src/EXTRA-MOLECULE/angle_cosine_periodic.cpp similarity index 100% rename from src/MOLECULE/angle_cosine_periodic.cpp rename to src/EXTRA-MOLECULE/angle_cosine_periodic.cpp diff --git a/src/MOLECULE/angle_cosine_periodic.h b/src/EXTRA-MOLECULE/angle_cosine_periodic.h similarity index 100% rename from src/MOLECULE/angle_cosine_periodic.h rename to src/EXTRA-MOLECULE/angle_cosine_periodic.h diff --git a/src/MOLECULE/angle_cosine_shift.cpp b/src/EXTRA-MOLECULE/angle_cosine_shift.cpp similarity index 100% rename from src/MOLECULE/angle_cosine_shift.cpp rename to src/EXTRA-MOLECULE/angle_cosine_shift.cpp diff --git a/src/MOLECULE/angle_cosine_shift.h b/src/EXTRA-MOLECULE/angle_cosine_shift.h similarity index 100% rename from src/MOLECULE/angle_cosine_shift.h rename to src/EXTRA-MOLECULE/angle_cosine_shift.h diff --git a/src/MOLECULE/angle_cosine_shift_exp.cpp b/src/EXTRA-MOLECULE/angle_cosine_shift_exp.cpp similarity index 100% rename from src/MOLECULE/angle_cosine_shift_exp.cpp rename to src/EXTRA-MOLECULE/angle_cosine_shift_exp.cpp diff --git a/src/MOLECULE/angle_cosine_shift_exp.h b/src/EXTRA-MOLECULE/angle_cosine_shift_exp.h similarity index 100% rename from src/MOLECULE/angle_cosine_shift_exp.h rename to src/EXTRA-MOLECULE/angle_cosine_shift_exp.h diff --git a/src/MOLECULE/angle_fourier.cpp b/src/EXTRA-MOLECULE/angle_fourier.cpp similarity index 100% rename from src/MOLECULE/angle_fourier.cpp rename to src/EXTRA-MOLECULE/angle_fourier.cpp diff --git a/src/MOLECULE/angle_fourier.h b/src/EXTRA-MOLECULE/angle_fourier.h similarity index 100% rename from src/MOLECULE/angle_fourier.h rename to src/EXTRA-MOLECULE/angle_fourier.h diff --git a/src/MOLECULE/angle_fourier_simple.cpp b/src/EXTRA-MOLECULE/angle_fourier_simple.cpp similarity index 100% rename from src/MOLECULE/angle_fourier_simple.cpp rename to src/EXTRA-MOLECULE/angle_fourier_simple.cpp diff --git a/src/MOLECULE/angle_fourier_simple.h b/src/EXTRA-MOLECULE/angle_fourier_simple.h similarity index 100% rename from src/MOLECULE/angle_fourier_simple.h rename to src/EXTRA-MOLECULE/angle_fourier_simple.h diff --git a/src/MOLECULE/angle_gaussian.cpp b/src/EXTRA-MOLECULE/angle_gaussian.cpp similarity index 100% rename from src/MOLECULE/angle_gaussian.cpp rename to src/EXTRA-MOLECULE/angle_gaussian.cpp diff --git a/src/MOLECULE/angle_gaussian.h b/src/EXTRA-MOLECULE/angle_gaussian.h similarity index 100% rename from src/MOLECULE/angle_gaussian.h rename to src/EXTRA-MOLECULE/angle_gaussian.h diff --git a/src/MOLECULE/angle_quartic.cpp b/src/EXTRA-MOLECULE/angle_quartic.cpp similarity index 100% rename from src/MOLECULE/angle_quartic.cpp rename to src/EXTRA-MOLECULE/angle_quartic.cpp diff --git a/src/MOLECULE/angle_quartic.h b/src/EXTRA-MOLECULE/angle_quartic.h similarity index 100% rename from src/MOLECULE/angle_quartic.h rename to src/EXTRA-MOLECULE/angle_quartic.h diff --git a/src/MOLECULE/bond_gaussian.cpp b/src/EXTRA-MOLECULE/bond_gaussian.cpp similarity index 100% rename from src/MOLECULE/bond_gaussian.cpp rename to src/EXTRA-MOLECULE/bond_gaussian.cpp diff --git a/src/MOLECULE/bond_gaussian.h b/src/EXTRA-MOLECULE/bond_gaussian.h similarity index 100% rename from src/MOLECULE/bond_gaussian.h rename to src/EXTRA-MOLECULE/bond_gaussian.h diff --git a/src/MOLECULE/bond_harmonic_shift.cpp b/src/EXTRA-MOLECULE/bond_harmonic_shift.cpp similarity index 100% rename from src/MOLECULE/bond_harmonic_shift.cpp rename to src/EXTRA-MOLECULE/bond_harmonic_shift.cpp diff --git a/src/MOLECULE/bond_harmonic_shift.h b/src/EXTRA-MOLECULE/bond_harmonic_shift.h similarity index 100% rename from src/MOLECULE/bond_harmonic_shift.h rename to src/EXTRA-MOLECULE/bond_harmonic_shift.h diff --git a/src/MOLECULE/bond_harmonic_shift_cut.cpp b/src/EXTRA-MOLECULE/bond_harmonic_shift_cut.cpp similarity index 100% rename from src/MOLECULE/bond_harmonic_shift_cut.cpp rename to src/EXTRA-MOLECULE/bond_harmonic_shift_cut.cpp diff --git a/src/MOLECULE/bond_harmonic_shift_cut.h b/src/EXTRA-MOLECULE/bond_harmonic_shift_cut.h similarity index 100% rename from src/MOLECULE/bond_harmonic_shift_cut.h rename to src/EXTRA-MOLECULE/bond_harmonic_shift_cut.h diff --git a/src/MOLECULE/bond_nonlinear.cpp b/src/EXTRA-MOLECULE/bond_nonlinear.cpp similarity index 100% rename from src/MOLECULE/bond_nonlinear.cpp rename to src/EXTRA-MOLECULE/bond_nonlinear.cpp diff --git a/src/MOLECULE/bond_nonlinear.h b/src/EXTRA-MOLECULE/bond_nonlinear.h similarity index 100% rename from src/MOLECULE/bond_nonlinear.h rename to src/EXTRA-MOLECULE/bond_nonlinear.h diff --git a/src/MOLECULE/dihedral_cosine_shift_exp.cpp b/src/EXTRA-MOLECULE/dihedral_cosine_shift_exp.cpp similarity index 100% rename from src/MOLECULE/dihedral_cosine_shift_exp.cpp rename to src/EXTRA-MOLECULE/dihedral_cosine_shift_exp.cpp diff --git a/src/MOLECULE/dihedral_cosine_shift_exp.h b/src/EXTRA-MOLECULE/dihedral_cosine_shift_exp.h similarity index 100% rename from src/MOLECULE/dihedral_cosine_shift_exp.h rename to src/EXTRA-MOLECULE/dihedral_cosine_shift_exp.h diff --git a/src/MOLECULE/dihedral_fourier.cpp b/src/EXTRA-MOLECULE/dihedral_fourier.cpp similarity index 100% rename from src/MOLECULE/dihedral_fourier.cpp rename to src/EXTRA-MOLECULE/dihedral_fourier.cpp diff --git a/src/MOLECULE/dihedral_fourier.h b/src/EXTRA-MOLECULE/dihedral_fourier.h similarity index 100% rename from src/MOLECULE/dihedral_fourier.h rename to src/EXTRA-MOLECULE/dihedral_fourier.h diff --git a/src/MOLECULE/dihedral_helix.cpp b/src/EXTRA-MOLECULE/dihedral_helix.cpp similarity index 100% rename from src/MOLECULE/dihedral_helix.cpp rename to src/EXTRA-MOLECULE/dihedral_helix.cpp diff --git a/src/MOLECULE/dihedral_helix.h b/src/EXTRA-MOLECULE/dihedral_helix.h similarity index 100% rename from src/MOLECULE/dihedral_helix.h rename to src/EXTRA-MOLECULE/dihedral_helix.h diff --git a/src/MOLECULE/dihedral_nharmonic.cpp b/src/EXTRA-MOLECULE/dihedral_nharmonic.cpp similarity index 100% rename from src/MOLECULE/dihedral_nharmonic.cpp rename to src/EXTRA-MOLECULE/dihedral_nharmonic.cpp diff --git a/src/MOLECULE/dihedral_nharmonic.h b/src/EXTRA-MOLECULE/dihedral_nharmonic.h similarity index 100% rename from src/MOLECULE/dihedral_nharmonic.h rename to src/EXTRA-MOLECULE/dihedral_nharmonic.h diff --git a/src/MOLECULE/dihedral_quadratic.cpp b/src/EXTRA-MOLECULE/dihedral_quadratic.cpp similarity index 100% rename from src/MOLECULE/dihedral_quadratic.cpp rename to src/EXTRA-MOLECULE/dihedral_quadratic.cpp diff --git a/src/MOLECULE/dihedral_quadratic.h b/src/EXTRA-MOLECULE/dihedral_quadratic.h similarity index 100% rename from src/MOLECULE/dihedral_quadratic.h rename to src/EXTRA-MOLECULE/dihedral_quadratic.h diff --git a/src/MOLECULE/dihedral_spherical.cpp b/src/EXTRA-MOLECULE/dihedral_spherical.cpp similarity index 100% rename from src/MOLECULE/dihedral_spherical.cpp rename to src/EXTRA-MOLECULE/dihedral_spherical.cpp diff --git a/src/MOLECULE/dihedral_spherical.h b/src/EXTRA-MOLECULE/dihedral_spherical.h similarity index 100% rename from src/MOLECULE/dihedral_spherical.h rename to src/EXTRA-MOLECULE/dihedral_spherical.h diff --git a/src/MOLECULE/dihedral_table_cut.cpp b/src/EXTRA-MOLECULE/dihedral_table_cut.cpp similarity index 100% rename from src/MOLECULE/dihedral_table_cut.cpp rename to src/EXTRA-MOLECULE/dihedral_table_cut.cpp diff --git a/src/MOLECULE/dihedral_table_cut.h b/src/EXTRA-MOLECULE/dihedral_table_cut.h similarity index 100% rename from src/MOLECULE/dihedral_table_cut.h rename to src/EXTRA-MOLECULE/dihedral_table_cut.h diff --git a/src/MOLECULE/improper_cossq.cpp b/src/EXTRA-MOLECULE/improper_cossq.cpp similarity index 100% rename from src/MOLECULE/improper_cossq.cpp rename to src/EXTRA-MOLECULE/improper_cossq.cpp diff --git a/src/MOLECULE/improper_cossq.h b/src/EXTRA-MOLECULE/improper_cossq.h similarity index 100% rename from src/MOLECULE/improper_cossq.h rename to src/EXTRA-MOLECULE/improper_cossq.h diff --git a/src/MOLECULE/improper_distance.cpp b/src/EXTRA-MOLECULE/improper_distance.cpp similarity index 100% rename from src/MOLECULE/improper_distance.cpp rename to src/EXTRA-MOLECULE/improper_distance.cpp diff --git a/src/MOLECULE/improper_distance.h b/src/EXTRA-MOLECULE/improper_distance.h similarity index 100% rename from src/MOLECULE/improper_distance.h rename to src/EXTRA-MOLECULE/improper_distance.h diff --git a/src/MOLECULE/improper_fourier.cpp b/src/EXTRA-MOLECULE/improper_fourier.cpp similarity index 100% rename from src/MOLECULE/improper_fourier.cpp rename to src/EXTRA-MOLECULE/improper_fourier.cpp diff --git a/src/MOLECULE/improper_fourier.h b/src/EXTRA-MOLECULE/improper_fourier.h similarity index 100% rename from src/MOLECULE/improper_fourier.h rename to src/EXTRA-MOLECULE/improper_fourier.h diff --git a/src/MOLECULE/improper_ring.cpp b/src/EXTRA-MOLECULE/improper_ring.cpp similarity index 100% rename from src/MOLECULE/improper_ring.cpp rename to src/EXTRA-MOLECULE/improper_ring.cpp diff --git a/src/MOLECULE/improper_ring.h b/src/EXTRA-MOLECULE/improper_ring.h similarity index 100% rename from src/MOLECULE/improper_ring.h rename to src/EXTRA-MOLECULE/improper_ring.h diff --git a/src/pair_born_coul_dsf.cpp b/src/EXTRA-PAIR/pair_born_coul_dsf.cpp similarity index 100% rename from src/pair_born_coul_dsf.cpp rename to src/EXTRA-PAIR/pair_born_coul_dsf.cpp diff --git a/src/pair_born_coul_dsf.h b/src/EXTRA-PAIR/pair_born_coul_dsf.h similarity index 100% rename from src/pair_born_coul_dsf.h rename to src/EXTRA-PAIR/pair_born_coul_dsf.h diff --git a/src/pair_born_coul_wolf.cpp b/src/EXTRA-PAIR/pair_born_coul_wolf.cpp similarity index 100% rename from src/pair_born_coul_wolf.cpp rename to src/EXTRA-PAIR/pair_born_coul_wolf.cpp diff --git a/src/pair_born_coul_wolf.h b/src/EXTRA-PAIR/pair_born_coul_wolf.h similarity index 100% rename from src/pair_born_coul_wolf.h rename to src/EXTRA-PAIR/pair_born_coul_wolf.h diff --git a/src/USER-MISC/pair_buck_mdf.cpp b/src/EXTRA-PAIR/pair_buck_mdf.cpp similarity index 100% rename from src/USER-MISC/pair_buck_mdf.cpp rename to src/EXTRA-PAIR/pair_buck_mdf.cpp diff --git a/src/USER-MISC/pair_buck_mdf.h b/src/EXTRA-PAIR/pair_buck_mdf.h similarity index 100% rename from src/USER-MISC/pair_buck_mdf.h rename to src/EXTRA-PAIR/pair_buck_mdf.h diff --git a/src/USER-MISC/pair_cosine_squared.cpp b/src/EXTRA-PAIR/pair_cosine_squared.cpp similarity index 100% rename from src/USER-MISC/pair_cosine_squared.cpp rename to src/EXTRA-PAIR/pair_cosine_squared.cpp diff --git a/src/USER-MISC/pair_cosine_squared.h b/src/EXTRA-PAIR/pair_cosine_squared.h similarity index 100% rename from src/USER-MISC/pair_cosine_squared.h rename to src/EXTRA-PAIR/pair_cosine_squared.h diff --git a/src/pair_coul_cut_global.cpp b/src/EXTRA-PAIR/pair_coul_cut_global.cpp similarity index 100% rename from src/pair_coul_cut_global.cpp rename to src/EXTRA-PAIR/pair_coul_cut_global.cpp diff --git a/src/pair_coul_cut_global.h b/src/EXTRA-PAIR/pair_coul_cut_global.h similarity index 100% rename from src/pair_coul_cut_global.h rename to src/EXTRA-PAIR/pair_coul_cut_global.h diff --git a/src/USER-MISC/pair_coul_diel.cpp b/src/EXTRA-PAIR/pair_coul_diel.cpp similarity index 100% rename from src/USER-MISC/pair_coul_diel.cpp rename to src/EXTRA-PAIR/pair_coul_diel.cpp diff --git a/src/USER-MISC/pair_coul_diel.h b/src/EXTRA-PAIR/pair_coul_diel.h similarity index 100% rename from src/USER-MISC/pair_coul_diel.h rename to src/EXTRA-PAIR/pair_coul_diel.h diff --git a/src/USER-MISC/pair_coul_slater_cut.cpp b/src/EXTRA-PAIR/pair_coul_slater_cut.cpp similarity index 100% rename from src/USER-MISC/pair_coul_slater_cut.cpp rename to src/EXTRA-PAIR/pair_coul_slater_cut.cpp diff --git a/src/USER-MISC/pair_coul_slater_cut.h b/src/EXTRA-PAIR/pair_coul_slater_cut.h similarity index 100% rename from src/USER-MISC/pair_coul_slater_cut.h rename to src/EXTRA-PAIR/pair_coul_slater_cut.h diff --git a/src/USER-MISC/pair_coul_slater_long.cpp b/src/EXTRA-PAIR/pair_coul_slater_long.cpp similarity index 100% rename from src/USER-MISC/pair_coul_slater_long.cpp rename to src/EXTRA-PAIR/pair_coul_slater_long.cpp diff --git a/src/USER-MISC/pair_coul_slater_long.h b/src/EXTRA-PAIR/pair_coul_slater_long.h similarity index 100% rename from src/USER-MISC/pair_coul_slater_long.h rename to src/EXTRA-PAIR/pair_coul_slater_long.h diff --git a/src/pair_coul_streitz.cpp b/src/EXTRA-PAIR/pair_coul_streitz.cpp similarity index 100% rename from src/pair_coul_streitz.cpp rename to src/EXTRA-PAIR/pair_coul_streitz.cpp diff --git a/src/pair_coul_streitz.h b/src/EXTRA-PAIR/pair_coul_streitz.h similarity index 100% rename from src/pair_coul_streitz.h rename to src/EXTRA-PAIR/pair_coul_streitz.h diff --git a/src/USER-MISC/pair_e3b.cpp b/src/EXTRA-PAIR/pair_e3b.cpp similarity index 100% rename from src/USER-MISC/pair_e3b.cpp rename to src/EXTRA-PAIR/pair_e3b.cpp diff --git a/src/USER-MISC/pair_e3b.h b/src/EXTRA-PAIR/pair_e3b.h similarity index 100% rename from src/USER-MISC/pair_e3b.h rename to src/EXTRA-PAIR/pair_e3b.h diff --git a/src/pair_gauss.cpp b/src/EXTRA-PAIR/pair_gauss.cpp similarity index 100% rename from src/pair_gauss.cpp rename to src/EXTRA-PAIR/pair_gauss.cpp diff --git a/src/pair_gauss.h b/src/EXTRA-PAIR/pair_gauss.h similarity index 100% rename from src/pair_gauss.h rename to src/EXTRA-PAIR/pair_gauss.h diff --git a/src/USER-MISC/pair_gauss_cut.cpp b/src/EXTRA-PAIR/pair_gauss_cut.cpp similarity index 100% rename from src/USER-MISC/pair_gauss_cut.cpp rename to src/EXTRA-PAIR/pair_gauss_cut.cpp diff --git a/src/USER-MISC/pair_gauss_cut.h b/src/EXTRA-PAIR/pair_gauss_cut.h similarity index 100% rename from src/USER-MISC/pair_gauss_cut.h rename to src/EXTRA-PAIR/pair_gauss_cut.h diff --git a/src/USER-MISC/pair_lennard_mdf.cpp b/src/EXTRA-PAIR/pair_lennard_mdf.cpp similarity index 100% rename from src/USER-MISC/pair_lennard_mdf.cpp rename to src/EXTRA-PAIR/pair_lennard_mdf.cpp diff --git a/src/USER-MISC/pair_lennard_mdf.h b/src/EXTRA-PAIR/pair_lennard_mdf.h similarity index 100% rename from src/USER-MISC/pair_lennard_mdf.h rename to src/EXTRA-PAIR/pair_lennard_mdf.h diff --git a/src/pair_lj96_cut.cpp b/src/EXTRA-PAIR/pair_lj96_cut.cpp similarity index 100% rename from src/pair_lj96_cut.cpp rename to src/EXTRA-PAIR/pair_lj96_cut.cpp diff --git a/src/pair_lj96_cut.h b/src/EXTRA-PAIR/pair_lj96_cut.h similarity index 100% rename from src/pair_lj96_cut.h rename to src/EXTRA-PAIR/pair_lj96_cut.h diff --git a/src/pair_lj_cubic.cpp b/src/EXTRA-PAIR/pair_lj_cubic.cpp similarity index 100% rename from src/pair_lj_cubic.cpp rename to src/EXTRA-PAIR/pair_lj_cubic.cpp diff --git a/src/pair_lj_cubic.h b/src/EXTRA-PAIR/pair_lj_cubic.h similarity index 100% rename from src/pair_lj_cubic.h rename to src/EXTRA-PAIR/pair_lj_cubic.h diff --git a/src/pair_lj_cubic_const.h b/src/EXTRA-PAIR/pair_lj_cubic_const.h similarity index 100% rename from src/pair_lj_cubic_const.h rename to src/EXTRA-PAIR/pair_lj_cubic_const.h diff --git a/src/pair_lj_cut_coul_debye.cpp b/src/EXTRA-PAIR/pair_lj_cut_coul_debye.cpp similarity index 100% rename from src/pair_lj_cut_coul_debye.cpp rename to src/EXTRA-PAIR/pair_lj_cut_coul_debye.cpp diff --git a/src/pair_lj_cut_coul_debye.h b/src/EXTRA-PAIR/pair_lj_cut_coul_debye.h similarity index 100% rename from src/pair_lj_cut_coul_debye.h rename to src/EXTRA-PAIR/pair_lj_cut_coul_debye.h diff --git a/src/pair_lj_cut_coul_dsf.cpp b/src/EXTRA-PAIR/pair_lj_cut_coul_dsf.cpp similarity index 100% rename from src/pair_lj_cut_coul_dsf.cpp rename to src/EXTRA-PAIR/pair_lj_cut_coul_dsf.cpp diff --git a/src/pair_lj_cut_coul_dsf.h b/src/EXTRA-PAIR/pair_lj_cut_coul_dsf.h similarity index 100% rename from src/pair_lj_cut_coul_dsf.h rename to src/EXTRA-PAIR/pair_lj_cut_coul_dsf.h diff --git a/src/pair_lj_cut_coul_wolf.cpp b/src/EXTRA-PAIR/pair_lj_cut_coul_wolf.cpp similarity index 100% rename from src/pair_lj_cut_coul_wolf.cpp rename to src/EXTRA-PAIR/pair_lj_cut_coul_wolf.cpp diff --git a/src/pair_lj_cut_coul_wolf.h b/src/EXTRA-PAIR/pair_lj_cut_coul_wolf.h similarity index 100% rename from src/pair_lj_cut_coul_wolf.h rename to src/EXTRA-PAIR/pair_lj_cut_coul_wolf.h diff --git a/src/USER-MISC/pair_lj_expand_coul_long.cpp b/src/EXTRA-PAIR/pair_lj_expand_coul_long.cpp similarity index 100% rename from src/USER-MISC/pair_lj_expand_coul_long.cpp rename to src/EXTRA-PAIR/pair_lj_expand_coul_long.cpp diff --git a/src/USER-MISC/pair_lj_expand_coul_long.h b/src/EXTRA-PAIR/pair_lj_expand_coul_long.h similarity index 100% rename from src/USER-MISC/pair_lj_expand_coul_long.h rename to src/EXTRA-PAIR/pair_lj_expand_coul_long.h diff --git a/src/pair_lj_gromacs.cpp b/src/EXTRA-PAIR/pair_lj_gromacs.cpp similarity index 100% rename from src/pair_lj_gromacs.cpp rename to src/EXTRA-PAIR/pair_lj_gromacs.cpp diff --git a/src/pair_lj_gromacs.h b/src/EXTRA-PAIR/pair_lj_gromacs.h similarity index 100% rename from src/pair_lj_gromacs.h rename to src/EXTRA-PAIR/pair_lj_gromacs.h diff --git a/src/pair_lj_gromacs_coul_gromacs.cpp b/src/EXTRA-PAIR/pair_lj_gromacs_coul_gromacs.cpp similarity index 100% rename from src/pair_lj_gromacs_coul_gromacs.cpp rename to src/EXTRA-PAIR/pair_lj_gromacs_coul_gromacs.cpp diff --git a/src/pair_lj_gromacs_coul_gromacs.h b/src/EXTRA-PAIR/pair_lj_gromacs_coul_gromacs.h similarity index 100% rename from src/pair_lj_gromacs_coul_gromacs.h rename to src/EXTRA-PAIR/pair_lj_gromacs_coul_gromacs.h diff --git a/src/USER-MISC/pair_lj_mdf.cpp b/src/EXTRA-PAIR/pair_lj_mdf.cpp similarity index 100% rename from src/USER-MISC/pair_lj_mdf.cpp rename to src/EXTRA-PAIR/pair_lj_mdf.cpp diff --git a/src/USER-MISC/pair_lj_mdf.h b/src/EXTRA-PAIR/pair_lj_mdf.h similarity index 100% rename from src/USER-MISC/pair_lj_mdf.h rename to src/EXTRA-PAIR/pair_lj_mdf.h diff --git a/src/pair_lj_relres.cpp b/src/EXTRA-PAIR/pair_lj_relres.cpp similarity index 100% rename from src/pair_lj_relres.cpp rename to src/EXTRA-PAIR/pair_lj_relres.cpp diff --git a/src/pair_lj_relres.h b/src/EXTRA-PAIR/pair_lj_relres.h similarity index 100% rename from src/pair_lj_relres.h rename to src/EXTRA-PAIR/pair_lj_relres.h diff --git a/src/pair_lj_smooth.cpp b/src/EXTRA-PAIR/pair_lj_smooth.cpp similarity index 100% rename from src/pair_lj_smooth.cpp rename to src/EXTRA-PAIR/pair_lj_smooth.cpp diff --git a/src/pair_lj_smooth.h b/src/EXTRA-PAIR/pair_lj_smooth.h similarity index 100% rename from src/pair_lj_smooth.h rename to src/EXTRA-PAIR/pair_lj_smooth.h diff --git a/src/pair_lj_smooth_linear.cpp b/src/EXTRA-PAIR/pair_lj_smooth_linear.cpp similarity index 100% rename from src/pair_lj_smooth_linear.cpp rename to src/EXTRA-PAIR/pair_lj_smooth_linear.cpp diff --git a/src/pair_lj_smooth_linear.h b/src/EXTRA-PAIR/pair_lj_smooth_linear.h similarity index 100% rename from src/pair_lj_smooth_linear.h rename to src/EXTRA-PAIR/pair_lj_smooth_linear.h diff --git a/src/pair_mie_cut.cpp b/src/EXTRA-PAIR/pair_mie_cut.cpp similarity index 100% rename from src/pair_mie_cut.cpp rename to src/EXTRA-PAIR/pair_mie_cut.cpp diff --git a/src/pair_mie_cut.h b/src/EXTRA-PAIR/pair_mie_cut.h similarity index 100% rename from src/pair_mie_cut.h rename to src/EXTRA-PAIR/pair_mie_cut.h diff --git a/src/USER-MISC/pair_momb.cpp b/src/EXTRA-PAIR/pair_momb.cpp similarity index 100% rename from src/USER-MISC/pair_momb.cpp rename to src/EXTRA-PAIR/pair_momb.cpp diff --git a/src/USER-MISC/pair_momb.h b/src/EXTRA-PAIR/pair_momb.h similarity index 100% rename from src/USER-MISC/pair_momb.h rename to src/EXTRA-PAIR/pair_momb.h diff --git a/src/USER-MISC/pair_morse_smooth_linear.cpp b/src/EXTRA-PAIR/pair_morse_smooth_linear.cpp similarity index 100% rename from src/USER-MISC/pair_morse_smooth_linear.cpp rename to src/EXTRA-PAIR/pair_morse_smooth_linear.cpp diff --git a/src/USER-MISC/pair_morse_smooth_linear.h b/src/EXTRA-PAIR/pair_morse_smooth_linear.h similarity index 100% rename from src/USER-MISC/pair_morse_smooth_linear.h rename to src/EXTRA-PAIR/pair_morse_smooth_linear.h diff --git a/src/MISC/pair_nm_cut.cpp b/src/EXTRA-PAIR/pair_nm_cut.cpp similarity index 100% rename from src/MISC/pair_nm_cut.cpp rename to src/EXTRA-PAIR/pair_nm_cut.cpp diff --git a/src/MISC/pair_nm_cut.h b/src/EXTRA-PAIR/pair_nm_cut.h similarity index 100% rename from src/MISC/pair_nm_cut.h rename to src/EXTRA-PAIR/pair_nm_cut.h diff --git a/src/MISC/pair_nm_cut_coul_cut.cpp b/src/EXTRA-PAIR/pair_nm_cut_coul_cut.cpp similarity index 100% rename from src/MISC/pair_nm_cut_coul_cut.cpp rename to src/EXTRA-PAIR/pair_nm_cut_coul_cut.cpp diff --git a/src/MISC/pair_nm_cut_coul_cut.h b/src/EXTRA-PAIR/pair_nm_cut_coul_cut.h similarity index 100% rename from src/MISC/pair_nm_cut_coul_cut.h rename to src/EXTRA-PAIR/pair_nm_cut_coul_cut.h diff --git a/src/MISC/pair_nm_cut_coul_long.cpp b/src/EXTRA-PAIR/pair_nm_cut_coul_long.cpp similarity index 100% rename from src/MISC/pair_nm_cut_coul_long.cpp rename to src/EXTRA-PAIR/pair_nm_cut_coul_long.cpp diff --git a/src/MISC/pair_nm_cut_coul_long.h b/src/EXTRA-PAIR/pair_nm_cut_coul_long.h similarity index 100% rename from src/MISC/pair_nm_cut_coul_long.h rename to src/EXTRA-PAIR/pair_nm_cut_coul_long.h diff --git a/src/pair_ufm.cpp b/src/EXTRA-PAIR/pair_ufm.cpp similarity index 100% rename from src/pair_ufm.cpp rename to src/EXTRA-PAIR/pair_ufm.cpp diff --git a/src/pair_ufm.h b/src/EXTRA-PAIR/pair_ufm.h similarity index 100% rename from src/pair_ufm.h rename to src/EXTRA-PAIR/pair_ufm.h diff --git a/src/USER-MISC/pair_wf_cut.cpp b/src/EXTRA-PAIR/pair_wf_cut.cpp similarity index 100% rename from src/USER-MISC/pair_wf_cut.cpp rename to src/EXTRA-PAIR/pair_wf_cut.cpp diff --git a/src/USER-MISC/pair_wf_cut.h b/src/EXTRA-PAIR/pair_wf_cut.h similarity index 100% rename from src/USER-MISC/pair_wf_cut.h rename to src/EXTRA-PAIR/pair_wf_cut.h diff --git a/src/compute_contact_atom.cpp b/src/GRANULAR/compute_contact_atom.cpp similarity index 100% rename from src/compute_contact_atom.cpp rename to src/GRANULAR/compute_contact_atom.cpp diff --git a/src/compute_contact_atom.h b/src/GRANULAR/compute_contact_atom.h similarity index 100% rename from src/compute_contact_atom.h rename to src/GRANULAR/compute_contact_atom.h diff --git a/src/KOKKOS/Install.sh b/src/KOKKOS/Install.sh index a28b17270a..073f094836 100755 --- a/src/KOKKOS/Install.sh +++ b/src/KOKKOS/Install.sh @@ -137,12 +137,12 @@ action fix_nvt_kokkos.cpp action fix_nvt_kokkos.h action fix_property_atom_kokkos.cpp action fix_property_atom_kokkos.h -action fix_qeq_reax_kokkos.cpp fix_qeq_reax.cpp -action fix_qeq_reax_kokkos.h fix_qeq_reax.h -action fix_reaxc_bonds_kokkos.cpp fix_reaxc_bonds.cpp -action fix_reaxc_bonds_kokkos.h fix_reaxc_bonds.h -action fix_reaxc_species_kokkos.cpp fix_reaxc_species.cpp -action fix_reaxc_species_kokkos.h fix_reaxc_species.h +action fix_qeq_reaxff_kokkos.cpp fix_qeq_reaxff.cpp +action fix_qeq_reaxff_kokkos.h fix_qeq_reaxff.h +action fix_reaxff_bonds_kokkos.cpp fix_reaxff_bonds.cpp +action fix_reaxff_bonds_kokkos.h fix_reaxff_bonds.h +action fix_reaxff_species_kokkos.cpp fix_reaxff_species.cpp +action fix_reaxff_species_kokkos.h fix_reaxff_species.h action fix_setforce_kokkos.cpp action fix_setforce_kokkos.h action fix_shake_kokkos.cpp fix_shake.cpp @@ -271,8 +271,8 @@ action pair_morse_kokkos.cpp action pair_morse_kokkos.h action pair_multi_lucy_rx_kokkos.cpp pair_multi_lucy_rx.cpp action pair_multi_lucy_rx_kokkos.h pair_multi_lucy_rx.h -action pair_reaxc_kokkos.cpp pair_reaxc.cpp -action pair_reaxc_kokkos.h pair_reaxc.h +action pair_reaxff_kokkos.cpp pair_reaxff.cpp +action pair_reaxff_kokkos.h pair_reaxff.h action pair_snap_kokkos.cpp pair_snap.cpp action pair_snap_kokkos.h pair_snap.h action pair_snap_kokkos_impl.h pair_snap.cpp diff --git a/src/USER-MISC/pair_edip.cpp b/src/MANYBODY/pair_edip.cpp similarity index 100% rename from src/USER-MISC/pair_edip.cpp rename to src/MANYBODY/pair_edip.cpp diff --git a/src/USER-MISC/pair_edip.h b/src/MANYBODY/pair_edip.h similarity index 100% rename from src/USER-MISC/pair_edip.h rename to src/MANYBODY/pair_edip.h diff --git a/src/USER-MISC/pair_edip_multi.cpp b/src/MANYBODY/pair_edip_multi.cpp similarity index 100% rename from src/USER-MISC/pair_edip_multi.cpp rename to src/MANYBODY/pair_edip_multi.cpp diff --git a/src/USER-MISC/pair_edip_multi.h b/src/MANYBODY/pair_edip_multi.h similarity index 100% rename from src/USER-MISC/pair_edip_multi.h rename to src/MANYBODY/pair_edip_multi.h diff --git a/src/USER-MISC/pair_extep.cpp b/src/MANYBODY/pair_extep.cpp similarity index 100% rename from src/USER-MISC/pair_extep.cpp rename to src/MANYBODY/pair_extep.cpp diff --git a/src/USER-MISC/pair_extep.h b/src/MANYBODY/pair_extep.h similarity index 100% rename from src/USER-MISC/pair_extep.h rename to src/MANYBODY/pair_extep.h diff --git a/src/USER-MISC/pair_local_density.cpp b/src/MANYBODY/pair_local_density.cpp similarity index 100% rename from src/USER-MISC/pair_local_density.cpp rename to src/MANYBODY/pair_local_density.cpp diff --git a/src/USER-MISC/pair_local_density.h b/src/MANYBODY/pair_local_density.h similarity index 100% rename from src/USER-MISC/pair_local_density.h rename to src/MANYBODY/pair_local_density.h diff --git a/src/USER-MISC/pair_meam_spline.cpp b/src/MANYBODY/pair_meam_spline.cpp similarity index 100% rename from src/USER-MISC/pair_meam_spline.cpp rename to src/MANYBODY/pair_meam_spline.cpp diff --git a/src/USER-MISC/pair_meam_spline.h b/src/MANYBODY/pair_meam_spline.h similarity index 100% rename from src/USER-MISC/pair_meam_spline.h rename to src/MANYBODY/pair_meam_spline.h diff --git a/src/USER-MISC/pair_meam_sw_spline.cpp b/src/MANYBODY/pair_meam_sw_spline.cpp similarity index 100% rename from src/USER-MISC/pair_meam_sw_spline.cpp rename to src/MANYBODY/pair_meam_sw_spline.cpp diff --git a/src/USER-MISC/pair_meam_sw_spline.h b/src/MANYBODY/pair_meam_sw_spline.h similarity index 100% rename from src/USER-MISC/pair_meam_sw_spline.h rename to src/MANYBODY/pair_meam_sw_spline.h diff --git a/src/USER-MISC/pair_tersoff_table.cpp b/src/MANYBODY/pair_tersoff_table.cpp similarity index 100% rename from src/USER-MISC/pair_tersoff_table.cpp rename to src/MANYBODY/pair_tersoff_table.cpp diff --git a/src/USER-MISC/pair_tersoff_table.h b/src/MANYBODY/pair_tersoff_table.h similarity index 100% rename from src/USER-MISC/pair_tersoff_table.h rename to src/MANYBODY/pair_tersoff_table.h diff --git a/src/USER-MISC/compute_viscosity_cos.cpp b/src/MISC/compute_viscosity_cos.cpp similarity index 100% rename from src/USER-MISC/compute_viscosity_cos.cpp rename to src/MISC/compute_viscosity_cos.cpp diff --git a/src/USER-MISC/compute_viscosity_cos.h b/src/MISC/compute_viscosity_cos.h similarity index 100% rename from src/USER-MISC/compute_viscosity_cos.h rename to src/MISC/compute_viscosity_cos.h diff --git a/src/USER-MISC/fix_accelerate_cos.cpp b/src/MISC/fix_accelerate_cos.cpp similarity index 100% rename from src/USER-MISC/fix_accelerate_cos.cpp rename to src/MISC/fix_accelerate_cos.cpp diff --git a/src/USER-MISC/fix_accelerate_cos.h b/src/MISC/fix_accelerate_cos.h similarity index 100% rename from src/USER-MISC/fix_accelerate_cos.h rename to src/MISC/fix_accelerate_cos.h diff --git a/src/USER-MISC/fix_ipi.cpp b/src/MISC/fix_ipi.cpp similarity index 100% rename from src/USER-MISC/fix_ipi.cpp rename to src/MISC/fix_ipi.cpp diff --git a/src/USER-MISC/fix_ipi.h b/src/MISC/fix_ipi.h similarity index 100% rename from src/USER-MISC/fix_ipi.h rename to src/MISC/fix_ipi.h diff --git a/src/USER-MISC/fix_srp.cpp b/src/MISC/fix_srp.cpp similarity index 100% rename from src/USER-MISC/fix_srp.cpp rename to src/MISC/fix_srp.cpp diff --git a/src/USER-MISC/fix_srp.h b/src/MISC/fix_srp.h similarity index 100% rename from src/USER-MISC/fix_srp.h rename to src/MISC/fix_srp.h diff --git a/src/USER-MISC/pair_agni.cpp b/src/MISC/pair_agni.cpp similarity index 100% rename from src/USER-MISC/pair_agni.cpp rename to src/MISC/pair_agni.cpp diff --git a/src/USER-MISC/pair_agni.h b/src/MISC/pair_agni.h similarity index 100% rename from src/USER-MISC/pair_agni.h rename to src/MISC/pair_agni.h diff --git a/src/Makefile b/src/Makefile index 5e26de47ce..f7ec0a06f4 100644 --- a/src/Makefile +++ b/src/Makefile @@ -55,7 +55,7 @@ PACKAGE = \ body \ brownian \ cg-dna \ - cg-sdk\ + cg-sdk \ class2 \ colloid \ colvars \ @@ -69,6 +69,11 @@ PACKAGE = \ dpd-smooth \ drude \ eff \ + extra-compute \ + extra-dump \ + extra-fix \ + extra-molecule \ + extra-pair \ fep \ gpu \ granular \ @@ -103,6 +108,7 @@ PACKAGE = \ netcdf \ openmp \ opt \ + orient \ peri \ plugin \ plumed \ @@ -124,7 +130,6 @@ PACKAGE = \ srd \ tally \ uef \ - user-misc \ voronoi \ vtk \ yaff \ @@ -156,6 +161,11 @@ PACKMOST = \ dpd-smooth \ drude \ eff \ + extra-compute \ + extra-dump \ + extra-fix \ + extra-molecule \ + extra-pair \ fep \ granular \ interlayer \ @@ -169,6 +179,7 @@ PACKMOST = \ molecule \ openmp \ opt \ + orient \ peri \ plugin \ poems \ @@ -182,7 +193,6 @@ PACKMOST = \ spin \ srd \ uef \ - user-misc \ yaff \ dielectric \ ml-iap \ diff --git a/src/MISC/fix_orient_bcc.cpp b/src/ORIENT/fix_orient_bcc.cpp similarity index 100% rename from src/MISC/fix_orient_bcc.cpp rename to src/ORIENT/fix_orient_bcc.cpp diff --git a/src/MISC/fix_orient_bcc.h b/src/ORIENT/fix_orient_bcc.h similarity index 100% rename from src/MISC/fix_orient_bcc.h rename to src/ORIENT/fix_orient_bcc.h diff --git a/src/USER-MISC/fix_orient_eco.cpp b/src/ORIENT/fix_orient_eco.cpp similarity index 100% rename from src/USER-MISC/fix_orient_eco.cpp rename to src/ORIENT/fix_orient_eco.cpp diff --git a/src/USER-MISC/fix_orient_eco.h b/src/ORIENT/fix_orient_eco.h similarity index 100% rename from src/USER-MISC/fix_orient_eco.h rename to src/ORIENT/fix_orient_eco.h diff --git a/src/MISC/fix_orient_fcc.cpp b/src/ORIENT/fix_orient_fcc.cpp similarity index 100% rename from src/MISC/fix_orient_fcc.cpp rename to src/ORIENT/fix_orient_fcc.cpp diff --git a/src/MISC/fix_orient_fcc.h b/src/ORIENT/fix_orient_fcc.h similarity index 100% rename from src/MISC/fix_orient_fcc.h rename to src/ORIENT/fix_orient_fcc.h diff --git a/src/Purge.list b/src/Purge.list index 40bdc50d0d..feb30a9ad7 100644 --- a/src/Purge.list +++ b/src/Purge.list @@ -97,11 +97,6 @@ reaxc_reset_tools.cpp reaxc_tool_box.cpp reaxc_torsion_angles.cpp reaxc_valence_angles.cpp -# moved to DPD-BASIC package on 1 July 2021 -pair_dpd.cpp -pair_dpd.h -pair_dpd_tstat.cpp -pair_dpd_tstat.h # removed on 14 May 2021 nstencil_half_bin_2d_newton_ssa.cpp nstencil_half_bin_2d_newton_ssa.h @@ -170,8 +165,6 @@ pair_reax.h pair_reax_fortran.h fix_reax_bonds.cpp fix_reax_bonds.h -pair_meam.cpp -pair_meam.h # removed on 27 September 2018 pair_nb3b_harmonic_omp.h pair_nb3b_harmonic_omp.cpp diff --git a/src/USER-MISC/README b/src/USER-MISC/README deleted file mode 100644 index a5416c6804..0000000000 --- a/src/USER-MISC/README +++ /dev/null @@ -1,73 +0,0 @@ -The files in this package are a potpourri of (mostly) unrelated -features contributed to LAMMPS by users. Each feature is a single -pair of files (*.cpp and *.h). - -More information about each feature can be found by reading its doc -page in the LAMMPS doc directory. The doc page which lists all LAMMPS -input script commands is as follows: - -doc/Commands_all.html - -User-contributed features are listed at the bottom of the fix, -compute, pair, etc sections. - -The list of features and author of each is given below. - -You should contact the author directly if you have specific questions -about the feature or its coding. - ------------------------------------------------------------- - -compute ackland/atom, Gerolf Ziegenhain, gerolf at ziegenhain.com, 4 Oct 2007 -compute basal/atom, Christopher Barrett, cdb333 at cavs.msstate.edu, 3 Mar 2013 -compute cnp/atom, Paulo Branicio (USC), branicio at usc.edu, 31 May 2017 -compute entropy/atom, Pablo Piaggi (EPFL), pablo.piaggi at epfl.ch, 15 June 2018 -compute gyration/shape, Evangelos Voyiatzis, evoyiatzis at gmail.com, 25 July 2019 -compute gyration/shape/chunk, Evangelos Voyiatzis, evoyiatzis at gmail.com, 22 October 2019 -compute hma, Andrew Schultz & David Kofke (UB), ajs42 at buffalo.edu & kofke at buffalo.edu, 1 Jul 2019 -compute pressure/cylinder, Cody K. Addington (NCSU), , 2 Oct 2018 -compute momentum, Rupert Nash (University of Edinburgh), r.nash at epcc.ed.ac.uk, 28 June 2019 -compute stress/mop, Romain Vermorel (U Pau) & Laurent Joly (U Lyon), romain.vermorel at univ-pau.fr & ljoly.ulyon at gmail.com, 5 Sep 18 -compute stress/mop/profile, Romain Vermorel (U Pau) & Laurent Joly (U Lyon), romain.vermorel at univ-pau.fr & ljoly.ulyon at gmail.com, 5 Sep 18 -compute temp/rotate, Laurent Joly (U Lyon), ljoly.ulyon at gmail.com, 8 Aug 11 -compute viscosity/cos, Zheng Gong (ENS de Lyon), z.gong@outlook.com, 24 Apr 20 -fix accelerate/cos, Zheng Gong (ENS de Lyon), z.gong@outlook.com, 24 Apr 20 -fix ave/correlate/long, Jorge Ramirez (UPM Madrid), jorge.ramirez at upm.es, 21 Oct 2015 -fix electron/stopping/fit, James Stewart (SNL), jstewa .at. sandia.gov, 23 Sep 2020 -fix electron/stopping, Konstantin Avchaciov, k.avchachov at gmail.com, 26 Feb 2019 -fix ffl, David Wilkins (EPFL Lausanne), david.wilkins @ epfl.ch, 28 Sep 2018 -fix filter/corotate, Lukas Fath (KIT), lukas.fath at kit.edu, 15 Mar 2017 -fix flow/gauss, Joel Eaves (CU Boulder), Joel.Eaves@Colorado.edu, 23 Aug 2016 -fix ipi, Michele Ceriotti (EPFL Lausanne), michele.ceriotti at gmail.com, 24 Nov 2014 -fix momentum/chunk, Jiang Xiao (Hong Kong Polytechnic University), polyu-xiao.jiang at connect.polyu.hk, 19 Aug 2020 -fix npt/cauchy, R. E. Miller (Carleton University), F. Pavia and S. Pattamatta, 12 Jan 2020 -fix nvk, Efrem Braun (UC Berkeley), efrem.braun at gmail.com, https://github.com/lammps/lammps/pull/310 -fix orient/eco Adrian A. Schratt and Volker Mohles (Ruhr-Uni Bochum), volker.mohles at rub.de, 6 Jun 2020 -fix pafi, Thomas Swinburne (CNRS), swinburne at cinam.univ-mrs.fr, 1st Sep 2020 -fix pimd, Yuxing Peng (U Chicago), yuxing at uchicago.edu, 24 Nov 2014 -fix rhok, Ulf Pedersen (Roskilde U), ulf at urp.dk, 25 Sep 2017 -fix ti/spring, Rodrigo Freitas (Unicamp/Brazil), rodrigohb at gmail.com, 7 Nov 2013 -fix ttm/mod, Sergey Starikov and Vasily Pisarev (JIHT), pisarevvv at gmail.com, 2 Feb 2015 -fix wall/ees, Abdoreza Ershadinia, a.ershadinia at gmail.com, Jul 2017 -fix wall/reflect/stochastic, Quy-Dong To (U Gustave Eiffel), toquydong at gmail.com, Jan 2020 -fix wall/region/ees, Abdoreza Ershadinia, a.ershadinia at gmail.com, Jul 2017 -pair_style agni, Axel Kohlmeyer, akohlmey at gmail.com, 9 Nov 16 -pair_style buck/mdf, Paolo Raiteri, p.raiteri at curtin.edu.au, 2 Dec 15 -pair_style cosine/squared, Eugen Rozic, eugen.rozic.17 at ucl.ac.uk, 9 Aug 19 -pair_style coul/diel, Axel Kohlmeyer, akohlmey at gmail.com, 1 Dec 11 -pair_style coul/slater/cut, Evangelos Voyiatzis, evoyiatzis at gmail.com, 26 February 2020 -pair_style coul/slater/long, Evangelos Voyiatzis, evoyiatzis at gmail.com, 26 February 2020 -pair_style dipole/sf, Mario Orsi, orsimario at gmail.com, 8 Aug 11 -pair_style e3b, Steven Strong (U Chicago), stevene.strong at gmail dot com, 16 Apr 19 -pair_style edip, Luca Ferraro, luca.ferraro at caspur.it, 15 Sep 11 -pair_style extep, Jaap Kroes (Radboud U), jaapkroes at gmail dot com, 28 Nov 17 -pair_style gauss/cut, Axel Kohlmeyer, akohlmey at gmail.com, 1 Dec 11 -pair_style lennard/mdf, Paolo Raiteri, p.raiteri at curtin.edu.au, 2 Dec 15 -pair_style lj/mdf, Paolo Raiteri, p.raiteri at curtin.edu.au, 2 Dec 15 -pair_style local/density, Tanmoy Sanyal (tanmoy dot 7989 at gmail.com) and M. Scott Shell (UCSB), and David Rosenberger (TU Darmstadt), 9 Sept 19 -pair_style meam/spline, Alexander Stukowski (LLNL), alex at stukowski.com, 1 Feb 12 -pair_style meam/sw/spline, Robert Rudd (LLNL), robert.rudd at llnl.gov, 1 Oct 12 -pair_style morse/smooth/linear, Stefan Paquay (TU Eindhoven), stefanpaquay at gmail.com, 29 Feb 16 -pair_style tersoff/table, Luca Ferraro, luca.ferraro@caspur.it, 1 Dec 11 -pair_style momb, Kristen Fichthorn, Tonnam Balankura, Ya Zhou, fichthorn@psu.edu, 18 Mar 17 -pair_style wf_cut, Simon Ramirez-Hinestrosa, Xipeng Wang, sr802 at cam.ac.uk, 4 Nov 20 diff --git a/src/MISC/fix_deposit.cpp b/src/fix_deposit.cpp similarity index 100% rename from src/MISC/fix_deposit.cpp rename to src/fix_deposit.cpp diff --git a/src/MISC/fix_deposit.h b/src/fix_deposit.h similarity index 100% rename from src/MISC/fix_deposit.h rename to src/fix_deposit.h diff --git a/src/MISC/fix_efield.cpp b/src/fix_efield.cpp similarity index 100% rename from src/MISC/fix_efield.cpp rename to src/fix_efield.cpp diff --git a/src/MISC/fix_efield.h b/src/fix_efield.h similarity index 100% rename from src/MISC/fix_efield.h rename to src/fix_efield.h diff --git a/src/MISC/fix_evaporate.cpp b/src/fix_evaporate.cpp similarity index 100% rename from src/MISC/fix_evaporate.cpp rename to src/fix_evaporate.cpp diff --git a/src/MISC/fix_evaporate.h b/src/fix_evaporate.h similarity index 100% rename from src/MISC/fix_evaporate.h rename to src/fix_evaporate.h diff --git a/src/MISC/fix_thermal_conductivity.cpp b/src/fix_thermal_conductivity.cpp similarity index 100% rename from src/MISC/fix_thermal_conductivity.cpp rename to src/fix_thermal_conductivity.cpp diff --git a/src/MISC/fix_thermal_conductivity.h b/src/fix_thermal_conductivity.h similarity index 100% rename from src/MISC/fix_thermal_conductivity.h rename to src/fix_thermal_conductivity.h From add7565d9f4c599b53a03dbf0db7dc275f4edbb3 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 23 Jul 2021 18:24:40 -0400 Subject: [PATCH 519/726] recover unit test compilation --- unittest/formats/test_potential_file_reader.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/unittest/formats/test_potential_file_reader.cpp b/unittest/formats/test_potential_file_reader.cpp index 646ce5dd0e..af6abfa25f 100644 --- a/unittest/formats/test_potential_file_reader.cpp +++ b/unittest/formats/test_potential_file_reader.cpp @@ -22,7 +22,7 @@ #include "MANYBODY/pair_tersoff_mod_c.h" #include "MANYBODY/pair_tersoff_zbl.h" #include "MANYBODY/pair_vashishta.h" -#include "USER-MISC/pair_tersoff_table.h" +#include "MANYBODY/pair_tersoff_table.h" #include "info.h" #include "input.h" #include "potential_file_reader.h" From 57270c5339609748f26a18ad05250a5a45aba981 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 24 Jul 2021 13:46:13 -0400 Subject: [PATCH 520/726] set flag to tell CMake to not use/link the MPI C++ interface in the correct place --- cmake/CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index a5861ab885..6c446bdb1b 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -238,20 +238,20 @@ if(PKG_ADIOS) endif() if(NOT CMAKE_CROSSCOMPILING) - set(MPI_CXX_SKIP_MPICXX TRUE) find_package(MPI QUIET) option(BUILD_MPI "Build MPI version" ${MPI_FOUND}) else() - set(MPI_CXX_SKIP_MPICXX TRUE) option(BUILD_MPI "Build MPI version" OFF) endif() if(BUILD_MPI) # We use a non-standard procedure to cross-compile with MPI on Windows if((CMAKE_SYSTEM_NAME STREQUAL "Windows") AND CMAKE_CROSSCOMPILING) + set(MPI_CXX_SKIP_MPICXX TRUE) include(MPI4WIN) target_link_libraries(lammps PUBLIC MPI::MPI_CXX) else() + set(MPI_CXX_SKIP_MPICXX TRUE) find_package(MPI REQUIRED) target_link_libraries(lammps PUBLIC MPI::MPI_CXX) option(LAMMPS_LONGLONG_TO_LONG "Workaround if your system or MPI version does not recognize 'long long' data types" OFF) From f192102da98b47e60421a4b2cf20410f15e079d1 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 24 Jul 2021 20:53:23 -0400 Subject: [PATCH 521/726] move examples away from USER-MISC now that the package folder is gone --- .../{USER-MISC => PACKAGES}/agni/Al_jpc.agni | 0 .../{USER-MISC => PACKAGES}/agni/adatom.data | 0 .../{USER-MISC => PACKAGES}/agni/in.adatom | 0 .../{USER-MISC => PACKAGES}/agni/in.vacancy | 0 .../agni/log.20Jan21.adatom.g++.1 | 0 .../agni/log.20Jan21.adatom.g++.4 | 0 .../agni/log.20Jan21.vacancy.g++.1 | 0 .../agni/log.20Jan21.vacancy.g++.4 | 0 .../{USER-MISC => PACKAGES}/agni/vacancy.data | 0 .../{USER-MISC => PACKAGES}/basal/almg.liu | 0 .../{USER-MISC => PACKAGES}/basal/in.basal | 0 .../cauchy/NiAlH_jea.eam.alloy | 0 .../{USER-MISC => PACKAGES}/cauchy/README | 0 .../cauchy/in.cauchystat | 0 .../cauchy/log.2Jun2020.cauchystat.g++.1 | 0 .../charge_regulation/README | 0 .../charge_regulation/data.chreg-acid | 0 .../charge_regulation/data.chreg-acid-real | 0 .../charge_regulation/data.chreg-polymer | 0 .../charge_regulation/in.chreg-acid | 0 .../charge_regulation/in.chreg-acid-real | 0 .../charge_regulation/in.chreg-polymer | 0 .../log.10Feb21.chreg-acid.g++.1 | 0 .../log.10Feb21.chreg-acid.g++.4 | 0 .../log.10Feb21.chreg-polymer.g++.1 | 0 .../log.10Feb21.chreg-polymer.g++.4 | 0 .../log.11Apr21.chreg-acid-real.g++.1 | 0 .../log.11Apr21.chreg-acid-real.g++.4 | 0 .../cnp/Cu_Mishin1.eam | 0 examples/{USER-MISC => PACKAGES}/cnp/in.cnp | 0 .../cnp/log.31May17.cnp.g++.4 | 0 examples/{USER-MISC => PACKAGES}/e3b/README | 0 .../{USER-MISC => PACKAGES}/e3b/e3b_box.data | 0 .../e3b/in.e3b-tip4p2005 | 0 .../e3b/log.29Mar2019.e3b-tip4p2005.g++.1 | 0 .../e3b/log.29Mar2019.e3b-tip4p2005.g++.4 | 0 examples/{USER-MISC => PACKAGES}/edip/Si.edip | 0 .../{USER-MISC => PACKAGES}/edip/SiC.edip | 0 .../{USER-MISC => PACKAGES}/edip/data.SiC | 0 .../{USER-MISC => PACKAGES}/edip/in.edip-Si | 0 .../edip/in.edip-Si-multi | 0 .../{USER-MISC => PACKAGES}/edip/in.edip-SiC | 0 .../edip/log.4May2017.g++.edip-Si-multi.1 | 0 .../edip/log.4May2017.g++.edip-Si-multi.4 | 0 .../edip/log.4May2017.g++.edip-Si.1 | 0 .../edip/log.4May2017.g++.edip-Si.4 | 0 .../edip/log.4May2017.g++.edip-SiC.1 | 0 .../edip/log.4May2017.g++.edip-SiC.4 | 0 .../{USER-MISC => PACKAGES}/ees/Data_region | 0 .../{USER-MISC => PACKAGES}/ees/Data_wall | 0 examples/{USER-MISC => PACKAGES}/ees/README | 0 .../{USER-MISC => PACKAGES}/ees/in.fix_wall | 0 .../ees/in.fix_wall_region | 0 .../ees/log.23Jun17.fix_wall.g++.1 | 0 .../ees/log.23Jun17.fix_wall.g++.4 | 0 .../ees/log.23Jun17.fix_wall_region.g++.1 | 0 .../ees/log.23Jun17.fix_wall_region.g++.4 | 0 .../electron_stopping/Si.Si.elstop | 0 .../electron_stopping/Si.sw | 0 .../electron_stopping/in.cascade_AlCu | 0 .../electron_stopping/in.cascade_SiSi | 0 .../electron_stopping/in.elstop | 0 .../electron_stopping/in.elstop.only | 0 .../log.18Sep2020.cascade_AlCu.intel.1 | 0 .../log.18Sep2020.cascade_AlCu.intel.4 | 0 .../log.18Sep2020.cascade_SiSi.intel.1 | 0 .../log.18Sep2020.cascade_SiSi.intel.4 | 0 .../log.20Mar19.elstop.g++.1 | 0 .../log.20Mar19.elstop.g++.4 | 0 .../log.20Mar19.elstop.only.g++.1 | 0 .../log.20Mar19.elstop.only.g++.4 | 0 .../entropy/Na_MendelevM_2014.eam.fs | 0 .../entropy/data.interface | 0 .../entropy/in.entropy | 0 .../entropy/log.entropy | 0 .../{USER-MISC => PACKAGES}/extep/BN.data | 0 .../{USER-MISC => PACKAGES}/extep/in.extep-bn | 0 .../extep/log.23Oct17.extep-bn.g++.1 | 0 .../extep/log.23Oct17.extep-bn.g++.4 | 0 .../filter_corotate/data.bpti | 0 .../filter_corotate/data.peptide | 0 .../filter_corotate/in.bpti | 0 .../filter_corotate/in.peptide | 0 .../filter_corotate/log.22Jun2017.bpti.g++.1 | 0 .../filter_corotate/log.22Jun2017.bpti.g++.4 | 0 .../log.22Jun2017.peptide.g++.1 | 0 .../log.22Jun2017.peptide.g++.4 | 0 .../{USER-MISC => PACKAGES}/flow_gauss/README | 0 .../{USER-MISC => PACKAGES}/flow_gauss/in.GD | 0 .../flow_gauss/log.6Jul17.GD.g++.1 | 0 .../flow_gauss/log.6Jul17.GD.g++.4 | 0 .../flow_gauss/output-files/GD.out | 0 .../flow_gauss/output-files/Vy_profile | 0 .../flow_gauss/output-files/x_profiles | 0 .../gauss_diel/data.gauss-diel | 0 .../gauss_diel/in.gauss-diel | 0 .../gauss_diel/in.gauss-diel-cg | 0 .../gauss_diel/in.gauss-diel-split | 0 .../gauss_diel/log.gauss-diel | 0 .../gauss_diel/log.gauss-diel-cg | 0 .../gauss_diel/log.gauss-diel-split | 0 examples/{USER-MISC => PACKAGES}/hma/README | 0 examples/{USER-MISC => PACKAGES}/hma/hma.in | 0 .../hma/log.6Nov18.hma.g++.1 | 0 .../hma/log.6Nov18.hma.g++.4 | 0 .../{USER-MISC => PACKAGES}/ipi/C.opt.tersoff | 0 examples/{USER-MISC => PACKAGES}/ipi/README | 0 .../{USER-MISC => PACKAGES}/ipi/data.graphene | 0 .../ipi/i-pi_input.xml | 0 .../ipi/i-pi_positions.xyz | 0 .../{USER-MISC => PACKAGES}/ipi/in.graphene | 0 .../benzene_water/benzene_water.data | 0 .../benzene_water/benzene_water.in | 0 .../benzene_water.localdensity.table | 0 .../benzene_water/benzene_water.pair.table | 0 .../benzene_water/log.04Sep19.g++.1 | 0 .../methanol_implicit_water/log.04Sep19.g++.1 | 0 .../methanol_implicit_water.data | 0 .../methanol_implicit_water.in | 0 ...methanol_implicit_water.localdensity.table | 0 .../methanol_implicit_water.pair.table | 0 .../meam_spline/Si_1.meam.spline | 0 .../meam_spline/TiO.meam.spline | 0 .../meam_spline/in.meam-spline.Si | 0 .../meam_spline/in.meam-spline.TiO2 | 0 .../log.4May2017.meam-spline.Si.g++.1 | 0 .../log.4May2017.meam-spline.Si.g++.4 | 0 .../log.4May2017.meam-spline.TiO2.g++.1 | 0 .../log.4May2017.meam-spline.TiO2.g++.4 | 0 .../meam_sw_spline/Si/bcc.in | 0 .../meam_sw_spline/Si/bcc_relax.in | 0 .../meam_sw_spline/Si/dc.in | 0 .../meam_sw_spline/Si/dc_relax.in | 0 .../Si/energy_conservation.meam.sw.in | 0 .../meam_sw_spline/Si/fcc.in | 0 .../meam_sw_spline/Si/fcc_relax.in | 0 .../meam_sw_spline/Si/hcp_relax.in | 0 .../meam_sw_spline/Si/sc.in | 0 .../meam_sw_spline/Si/sc_relax.in | 0 .../meam_sw_spline/Si/single_atom.in | 0 .../meam_sw_spline/Ti/alpha.in | 0 .../meam_sw_spline/Ti/alpha_relaxation.in | 0 .../meam_sw_spline/Ti/beta.in | 0 .../Ti/energy_conservation.meam.sw.in | 0 .../meam_sw_spline/Ti/fcc.in | 0 .../meam_sw_spline/Ti/hexagonal.in | 0 .../meam_sw_spline/Ti/omega.in | 0 .../meam_sw_spline/Ti/single_atom.in | 0 .../momb/Ag_O1X5.5_O2X0.55.eam.fs | 0 examples/{USER-MISC => PACKAGES}/momb/README | 0 .../{USER-MISC => PACKAGES}/momb/in.system | 0 .../momb/log.17Mar2017.system.g++.1 | 0 .../momb/log.17Mar2017.system.g++.4 | 0 .../{USER-MISC => PACKAGES}/momb/system.data | 0 .../momentum/in.momentum | 0 examples/{USER-MISC => PACKAGES}/mop/data.mop | 0 .../mop/in.compute_stress_mop | 0 .../mop/log.5Sep18.compute_stress_mop.g++.1 | 0 .../mop/log.5Sep18.compute_stress_mop.g++.4 | 0 .../mop/moppz.time.reference | 0 .../mop/mopz0.time.reference | 0 .../orient_eco/Ni_u3.eam | 0 .../orient_eco/data.sigma5 | 0 .../orient_eco/in.orient_eco | 0 .../orient_eco/log.2Jun2020.orent_eco.g++.1 | 0 .../orient_eco/log.2Jun2020.orent_eco.g++.4 | 0 .../orient_eco/sigma5.ori | 0 .../{USER-MISC => PACKAGES}/pafi/.gitignore | 0 examples/{USER-MISC => PACKAGES}/pafi/README | 0 examples/{USER-MISC => PACKAGES}/pafi/in.pafi | 0 .../pafi/log.15Apr20.pafi.g++.1 | 0 .../pafi/log.15Apr20.pafi.g++.4 | 0 .../pafi/pafipath.4.data | 0 .../pimd/para-h2/H2.data | 0 .../pimd/para-h2/H2.xyz | 0 .../pimd/para-h2/NM.info | 0 .../pimd/para-h2/in.scp | 0 .../pimd/para-h2/pair.table | 0 .../pimd/para-h2/run.sh | 0 .../pimd/para-h2/vmd.src | 0 .../pimd/prot-hairpin/in.scp | 0 .../pimd/prot-hairpin/run.sh | 0 .../pimd/prot-hairpin/system.data | 0 .../{USER-MISC => PACKAGES}/rhok/README.md | 0 .../{USER-MISC => PACKAGES}/rhok/in.crystal | 0 .../{USER-MISC => PACKAGES}/rhok/in.pinning | 0 .../{USER-MISC => PACKAGES}/rhok/in.setup | 0 .../rhok/log.22Sep2017.crystal.g++.1 | 0 .../rhok/log.22Sep2017.crystal.g++.4 | 0 .../rhok/log.22Sep2017.pinning.g++.1 | 0 .../rhok/log.22Sep2017.pinning.g++.4 | 0 .../rhok/log.22Sep2017.setup.g++.1 | 0 .../rhok/log.22Sep2017.setup.g++.4 | 0 .../slater/data.after_equilibration | 0 .../slater/data.after_production_run | 0 .../{USER-MISC => PACKAGES}/slater/in.slater | 0 .../{USER-MISC => PACKAGES}/slater/log.lammps | 0 .../slater/tmp_1_1.rdf | 0 .../slater/tmp_1_2.rdf | 0 .../slater/tmp_1_3.rdf | 0 .../slater/tmp_2_2.rdf | 0 .../slater/tmp_2_3.rdf | 0 .../slater/tmp_3_3.rdf | 0 .../temper_npt/data.peptide | 0 .../temper_npt/in.temper_npt | 0 .../temper_npt/log.temper_npt-17Aug17.g++.8 | 0 .../temper_npt/log.temper_npt-17Aug17.g++.8.0 | 0 .../temper_npt/log.temper_npt-17Aug17.g++.8.1 | 0 .../temper_npt/log.temper_npt-17Aug17.g++.8.2 | 0 .../temper_npt/log.temper_npt-17Aug17.g++.8.3 | 0 .../temper_npt/log.temper_npt-17Aug17.g++.8.4 | 0 .../temper_npt/log.temper_npt-17Aug17.g++.8.5 | 0 .../temper_npt/log.temper_npt-17Aug17.g++.8.6 | 0 .../temper_npt/log.temper_npt-17Aug17.g++.8.7 | 0 .../{USER-MISC => PACKAGES}/ti/in.ti_spring | 0 examples/README | 19 +++++++------------ 216 files changed, 7 insertions(+), 12 deletions(-) rename examples/{USER-MISC => PACKAGES}/agni/Al_jpc.agni (100%) rename examples/{USER-MISC => PACKAGES}/agni/adatom.data (100%) rename examples/{USER-MISC => PACKAGES}/agni/in.adatom (100%) rename examples/{USER-MISC => PACKAGES}/agni/in.vacancy (100%) rename examples/{USER-MISC => PACKAGES}/agni/log.20Jan21.adatom.g++.1 (100%) rename examples/{USER-MISC => PACKAGES}/agni/log.20Jan21.adatom.g++.4 (100%) rename examples/{USER-MISC => PACKAGES}/agni/log.20Jan21.vacancy.g++.1 (100%) rename examples/{USER-MISC => PACKAGES}/agni/log.20Jan21.vacancy.g++.4 (100%) rename examples/{USER-MISC => PACKAGES}/agni/vacancy.data (100%) rename examples/{USER-MISC => PACKAGES}/basal/almg.liu (100%) rename examples/{USER-MISC => PACKAGES}/basal/in.basal (100%) rename examples/{USER-MISC => PACKAGES}/cauchy/NiAlH_jea.eam.alloy (100%) rename examples/{USER-MISC => PACKAGES}/cauchy/README (100%) rename examples/{USER-MISC => PACKAGES}/cauchy/in.cauchystat (100%) rename examples/{USER-MISC => PACKAGES}/cauchy/log.2Jun2020.cauchystat.g++.1 (100%) rename examples/{USER-MISC => PACKAGES}/charge_regulation/README (100%) rename examples/{USER-MISC => PACKAGES}/charge_regulation/data.chreg-acid (100%) rename examples/{USER-MISC => PACKAGES}/charge_regulation/data.chreg-acid-real (100%) rename examples/{USER-MISC => PACKAGES}/charge_regulation/data.chreg-polymer (100%) rename examples/{USER-MISC => PACKAGES}/charge_regulation/in.chreg-acid (100%) rename examples/{USER-MISC => PACKAGES}/charge_regulation/in.chreg-acid-real (100%) rename examples/{USER-MISC => PACKAGES}/charge_regulation/in.chreg-polymer (100%) rename examples/{USER-MISC => PACKAGES}/charge_regulation/log.10Feb21.chreg-acid.g++.1 (100%) rename examples/{USER-MISC => PACKAGES}/charge_regulation/log.10Feb21.chreg-acid.g++.4 (100%) rename examples/{USER-MISC => PACKAGES}/charge_regulation/log.10Feb21.chreg-polymer.g++.1 (100%) rename examples/{USER-MISC => PACKAGES}/charge_regulation/log.10Feb21.chreg-polymer.g++.4 (100%) rename examples/{USER-MISC => PACKAGES}/charge_regulation/log.11Apr21.chreg-acid-real.g++.1 (100%) rename examples/{USER-MISC => PACKAGES}/charge_regulation/log.11Apr21.chreg-acid-real.g++.4 (100%) rename examples/{USER-MISC => PACKAGES}/cnp/Cu_Mishin1.eam (100%) rename examples/{USER-MISC => PACKAGES}/cnp/in.cnp (100%) rename examples/{USER-MISC => PACKAGES}/cnp/log.31May17.cnp.g++.4 (100%) rename examples/{USER-MISC => PACKAGES}/e3b/README (100%) rename examples/{USER-MISC => PACKAGES}/e3b/e3b_box.data (100%) rename examples/{USER-MISC => PACKAGES}/e3b/in.e3b-tip4p2005 (100%) rename examples/{USER-MISC => PACKAGES}/e3b/log.29Mar2019.e3b-tip4p2005.g++.1 (100%) rename examples/{USER-MISC => PACKAGES}/e3b/log.29Mar2019.e3b-tip4p2005.g++.4 (100%) rename examples/{USER-MISC => PACKAGES}/edip/Si.edip (100%) rename examples/{USER-MISC => PACKAGES}/edip/SiC.edip (100%) rename examples/{USER-MISC => PACKAGES}/edip/data.SiC (100%) rename examples/{USER-MISC => PACKAGES}/edip/in.edip-Si (100%) rename examples/{USER-MISC => PACKAGES}/edip/in.edip-Si-multi (100%) rename examples/{USER-MISC => PACKAGES}/edip/in.edip-SiC (100%) rename examples/{USER-MISC => PACKAGES}/edip/log.4May2017.g++.edip-Si-multi.1 (100%) rename examples/{USER-MISC => PACKAGES}/edip/log.4May2017.g++.edip-Si-multi.4 (100%) rename examples/{USER-MISC => PACKAGES}/edip/log.4May2017.g++.edip-Si.1 (100%) rename examples/{USER-MISC => PACKAGES}/edip/log.4May2017.g++.edip-Si.4 (100%) rename examples/{USER-MISC => PACKAGES}/edip/log.4May2017.g++.edip-SiC.1 (100%) rename examples/{USER-MISC => PACKAGES}/edip/log.4May2017.g++.edip-SiC.4 (100%) rename examples/{USER-MISC => PACKAGES}/ees/Data_region (100%) rename examples/{USER-MISC => PACKAGES}/ees/Data_wall (100%) rename examples/{USER-MISC => PACKAGES}/ees/README (100%) rename examples/{USER-MISC => PACKAGES}/ees/in.fix_wall (100%) rename examples/{USER-MISC => PACKAGES}/ees/in.fix_wall_region (100%) rename examples/{USER-MISC => PACKAGES}/ees/log.23Jun17.fix_wall.g++.1 (100%) rename examples/{USER-MISC => PACKAGES}/ees/log.23Jun17.fix_wall.g++.4 (100%) rename examples/{USER-MISC => PACKAGES}/ees/log.23Jun17.fix_wall_region.g++.1 (100%) rename examples/{USER-MISC => PACKAGES}/ees/log.23Jun17.fix_wall_region.g++.4 (100%) rename examples/{USER-MISC => PACKAGES}/electron_stopping/Si.Si.elstop (100%) rename examples/{USER-MISC => PACKAGES}/electron_stopping/Si.sw (100%) rename examples/{USER-MISC => PACKAGES}/electron_stopping/in.cascade_AlCu (100%) rename examples/{USER-MISC => PACKAGES}/electron_stopping/in.cascade_SiSi (100%) rename examples/{USER-MISC => PACKAGES}/electron_stopping/in.elstop (100%) rename examples/{USER-MISC => PACKAGES}/electron_stopping/in.elstop.only (100%) rename examples/{USER-MISC => PACKAGES}/electron_stopping/log.18Sep2020.cascade_AlCu.intel.1 (100%) rename examples/{USER-MISC => PACKAGES}/electron_stopping/log.18Sep2020.cascade_AlCu.intel.4 (100%) rename examples/{USER-MISC => PACKAGES}/electron_stopping/log.18Sep2020.cascade_SiSi.intel.1 (100%) rename examples/{USER-MISC => PACKAGES}/electron_stopping/log.18Sep2020.cascade_SiSi.intel.4 (100%) rename examples/{USER-MISC => PACKAGES}/electron_stopping/log.20Mar19.elstop.g++.1 (100%) rename examples/{USER-MISC => PACKAGES}/electron_stopping/log.20Mar19.elstop.g++.4 (100%) rename examples/{USER-MISC => PACKAGES}/electron_stopping/log.20Mar19.elstop.only.g++.1 (100%) rename examples/{USER-MISC => PACKAGES}/electron_stopping/log.20Mar19.elstop.only.g++.4 (100%) rename examples/{USER-MISC => PACKAGES}/entropy/Na_MendelevM_2014.eam.fs (100%) rename examples/{USER-MISC => PACKAGES}/entropy/data.interface (100%) rename examples/{USER-MISC => PACKAGES}/entropy/in.entropy (100%) rename examples/{USER-MISC => PACKAGES}/entropy/log.entropy (100%) rename examples/{USER-MISC => PACKAGES}/extep/BN.data (100%) rename examples/{USER-MISC => PACKAGES}/extep/in.extep-bn (100%) rename examples/{USER-MISC => PACKAGES}/extep/log.23Oct17.extep-bn.g++.1 (100%) rename examples/{USER-MISC => PACKAGES}/extep/log.23Oct17.extep-bn.g++.4 (100%) rename examples/{USER-MISC => PACKAGES}/filter_corotate/data.bpti (100%) rename examples/{USER-MISC => PACKAGES}/filter_corotate/data.peptide (100%) rename examples/{USER-MISC => PACKAGES}/filter_corotate/in.bpti (100%) rename examples/{USER-MISC => PACKAGES}/filter_corotate/in.peptide (100%) rename examples/{USER-MISC => PACKAGES}/filter_corotate/log.22Jun2017.bpti.g++.1 (100%) rename examples/{USER-MISC => PACKAGES}/filter_corotate/log.22Jun2017.bpti.g++.4 (100%) rename examples/{USER-MISC => PACKAGES}/filter_corotate/log.22Jun2017.peptide.g++.1 (100%) rename examples/{USER-MISC => PACKAGES}/filter_corotate/log.22Jun2017.peptide.g++.4 (100%) rename examples/{USER-MISC => PACKAGES}/flow_gauss/README (100%) rename examples/{USER-MISC => PACKAGES}/flow_gauss/in.GD (100%) rename examples/{USER-MISC => PACKAGES}/flow_gauss/log.6Jul17.GD.g++.1 (100%) rename examples/{USER-MISC => PACKAGES}/flow_gauss/log.6Jul17.GD.g++.4 (100%) rename examples/{USER-MISC => PACKAGES}/flow_gauss/output-files/GD.out (100%) rename examples/{USER-MISC => PACKAGES}/flow_gauss/output-files/Vy_profile (100%) rename examples/{USER-MISC => PACKAGES}/flow_gauss/output-files/x_profiles (100%) rename examples/{USER-MISC => PACKAGES}/gauss_diel/data.gauss-diel (100%) rename examples/{USER-MISC => PACKAGES}/gauss_diel/in.gauss-diel (100%) rename examples/{USER-MISC => PACKAGES}/gauss_diel/in.gauss-diel-cg (100%) rename examples/{USER-MISC => PACKAGES}/gauss_diel/in.gauss-diel-split (100%) rename examples/{USER-MISC => PACKAGES}/gauss_diel/log.gauss-diel (100%) rename examples/{USER-MISC => PACKAGES}/gauss_diel/log.gauss-diel-cg (100%) rename examples/{USER-MISC => PACKAGES}/gauss_diel/log.gauss-diel-split (100%) rename examples/{USER-MISC => PACKAGES}/hma/README (100%) rename examples/{USER-MISC => PACKAGES}/hma/hma.in (100%) rename examples/{USER-MISC => PACKAGES}/hma/log.6Nov18.hma.g++.1 (100%) rename examples/{USER-MISC => PACKAGES}/hma/log.6Nov18.hma.g++.4 (100%) rename examples/{USER-MISC => PACKAGES}/ipi/C.opt.tersoff (100%) rename examples/{USER-MISC => PACKAGES}/ipi/README (100%) rename examples/{USER-MISC => PACKAGES}/ipi/data.graphene (100%) rename examples/{USER-MISC => PACKAGES}/ipi/i-pi_input.xml (100%) rename examples/{USER-MISC => PACKAGES}/ipi/i-pi_positions.xyz (100%) rename examples/{USER-MISC => PACKAGES}/ipi/in.graphene (100%) rename examples/{USER-MISC => PACKAGES}/local_density/benzene_water/benzene_water.data (100%) rename examples/{USER-MISC => PACKAGES}/local_density/benzene_water/benzene_water.in (100%) rename examples/{USER-MISC => PACKAGES}/local_density/benzene_water/benzene_water.localdensity.table (100%) rename examples/{USER-MISC => PACKAGES}/local_density/benzene_water/benzene_water.pair.table (100%) rename examples/{USER-MISC => PACKAGES}/local_density/benzene_water/log.04Sep19.g++.1 (100%) rename examples/{USER-MISC => PACKAGES}/local_density/methanol_implicit_water/log.04Sep19.g++.1 (100%) rename examples/{USER-MISC => PACKAGES}/local_density/methanol_implicit_water/methanol_implicit_water.data (100%) rename examples/{USER-MISC => PACKAGES}/local_density/methanol_implicit_water/methanol_implicit_water.in (100%) rename examples/{USER-MISC => PACKAGES}/local_density/methanol_implicit_water/methanol_implicit_water.localdensity.table (100%) rename examples/{USER-MISC => PACKAGES}/local_density/methanol_implicit_water/methanol_implicit_water.pair.table (100%) rename examples/{USER-MISC => PACKAGES}/meam_spline/Si_1.meam.spline (100%) rename examples/{USER-MISC => PACKAGES}/meam_spline/TiO.meam.spline (100%) rename examples/{USER-MISC => PACKAGES}/meam_spline/in.meam-spline.Si (100%) rename examples/{USER-MISC => PACKAGES}/meam_spline/in.meam-spline.TiO2 (100%) rename examples/{USER-MISC => PACKAGES}/meam_spline/log.4May2017.meam-spline.Si.g++.1 (100%) rename examples/{USER-MISC => PACKAGES}/meam_spline/log.4May2017.meam-spline.Si.g++.4 (100%) rename examples/{USER-MISC => PACKAGES}/meam_spline/log.4May2017.meam-spline.TiO2.g++.1 (100%) rename examples/{USER-MISC => PACKAGES}/meam_spline/log.4May2017.meam-spline.TiO2.g++.4 (100%) rename examples/{USER-MISC => PACKAGES}/meam_sw_spline/Si/bcc.in (100%) rename examples/{USER-MISC => PACKAGES}/meam_sw_spline/Si/bcc_relax.in (100%) rename examples/{USER-MISC => PACKAGES}/meam_sw_spline/Si/dc.in (100%) rename examples/{USER-MISC => PACKAGES}/meam_sw_spline/Si/dc_relax.in (100%) rename examples/{USER-MISC => PACKAGES}/meam_sw_spline/Si/energy_conservation.meam.sw.in (100%) rename examples/{USER-MISC => PACKAGES}/meam_sw_spline/Si/fcc.in (100%) rename examples/{USER-MISC => PACKAGES}/meam_sw_spline/Si/fcc_relax.in (100%) rename examples/{USER-MISC => PACKAGES}/meam_sw_spline/Si/hcp_relax.in (100%) rename examples/{USER-MISC => PACKAGES}/meam_sw_spline/Si/sc.in (100%) rename examples/{USER-MISC => PACKAGES}/meam_sw_spline/Si/sc_relax.in (100%) rename examples/{USER-MISC => PACKAGES}/meam_sw_spline/Si/single_atom.in (100%) rename examples/{USER-MISC => PACKAGES}/meam_sw_spline/Ti/alpha.in (100%) rename examples/{USER-MISC => PACKAGES}/meam_sw_spline/Ti/alpha_relaxation.in (100%) rename examples/{USER-MISC => PACKAGES}/meam_sw_spline/Ti/beta.in (100%) rename examples/{USER-MISC => PACKAGES}/meam_sw_spline/Ti/energy_conservation.meam.sw.in (100%) rename examples/{USER-MISC => PACKAGES}/meam_sw_spline/Ti/fcc.in (100%) rename examples/{USER-MISC => PACKAGES}/meam_sw_spline/Ti/hexagonal.in (100%) rename examples/{USER-MISC => PACKAGES}/meam_sw_spline/Ti/omega.in (100%) rename examples/{USER-MISC => PACKAGES}/meam_sw_spline/Ti/single_atom.in (100%) rename examples/{USER-MISC => PACKAGES}/momb/Ag_O1X5.5_O2X0.55.eam.fs (100%) rename examples/{USER-MISC => PACKAGES}/momb/README (100%) rename examples/{USER-MISC => PACKAGES}/momb/in.system (100%) rename examples/{USER-MISC => PACKAGES}/momb/log.17Mar2017.system.g++.1 (100%) rename examples/{USER-MISC => PACKAGES}/momb/log.17Mar2017.system.g++.4 (100%) rename examples/{USER-MISC => PACKAGES}/momb/system.data (100%) rename examples/{USER-MISC => PACKAGES}/momentum/in.momentum (100%) rename examples/{USER-MISC => PACKAGES}/mop/data.mop (100%) rename examples/{USER-MISC => PACKAGES}/mop/in.compute_stress_mop (100%) rename examples/{USER-MISC => PACKAGES}/mop/log.5Sep18.compute_stress_mop.g++.1 (100%) rename examples/{USER-MISC => PACKAGES}/mop/log.5Sep18.compute_stress_mop.g++.4 (100%) rename examples/{USER-MISC => PACKAGES}/mop/moppz.time.reference (100%) rename examples/{USER-MISC => PACKAGES}/mop/mopz0.time.reference (100%) rename examples/{USER-MISC => PACKAGES}/orient_eco/Ni_u3.eam (100%) rename examples/{USER-MISC => PACKAGES}/orient_eco/data.sigma5 (100%) rename examples/{USER-MISC => PACKAGES}/orient_eco/in.orient_eco (100%) rename examples/{USER-MISC => PACKAGES}/orient_eco/log.2Jun2020.orent_eco.g++.1 (100%) rename examples/{USER-MISC => PACKAGES}/orient_eco/log.2Jun2020.orent_eco.g++.4 (100%) rename examples/{USER-MISC => PACKAGES}/orient_eco/sigma5.ori (100%) rename examples/{USER-MISC => PACKAGES}/pafi/.gitignore (100%) rename examples/{USER-MISC => PACKAGES}/pafi/README (100%) rename examples/{USER-MISC => PACKAGES}/pafi/in.pafi (100%) rename examples/{USER-MISC => PACKAGES}/pafi/log.15Apr20.pafi.g++.1 (100%) rename examples/{USER-MISC => PACKAGES}/pafi/log.15Apr20.pafi.g++.4 (100%) rename examples/{USER-MISC => PACKAGES}/pafi/pafipath.4.data (100%) rename examples/{USER-MISC => PACKAGES}/pimd/para-h2/H2.data (100%) rename examples/{USER-MISC => PACKAGES}/pimd/para-h2/H2.xyz (100%) rename examples/{USER-MISC => PACKAGES}/pimd/para-h2/NM.info (100%) rename examples/{USER-MISC => PACKAGES}/pimd/para-h2/in.scp (100%) rename examples/{USER-MISC => PACKAGES}/pimd/para-h2/pair.table (100%) rename examples/{USER-MISC => PACKAGES}/pimd/para-h2/run.sh (100%) rename examples/{USER-MISC => PACKAGES}/pimd/para-h2/vmd.src (100%) rename examples/{USER-MISC => PACKAGES}/pimd/prot-hairpin/in.scp (100%) rename examples/{USER-MISC => PACKAGES}/pimd/prot-hairpin/run.sh (100%) rename examples/{USER-MISC => PACKAGES}/pimd/prot-hairpin/system.data (100%) rename examples/{USER-MISC => PACKAGES}/rhok/README.md (100%) rename examples/{USER-MISC => PACKAGES}/rhok/in.crystal (100%) rename examples/{USER-MISC => PACKAGES}/rhok/in.pinning (100%) rename examples/{USER-MISC => PACKAGES}/rhok/in.setup (100%) rename examples/{USER-MISC => PACKAGES}/rhok/log.22Sep2017.crystal.g++.1 (100%) rename examples/{USER-MISC => PACKAGES}/rhok/log.22Sep2017.crystal.g++.4 (100%) rename examples/{USER-MISC => PACKAGES}/rhok/log.22Sep2017.pinning.g++.1 (100%) rename examples/{USER-MISC => PACKAGES}/rhok/log.22Sep2017.pinning.g++.4 (100%) rename examples/{USER-MISC => PACKAGES}/rhok/log.22Sep2017.setup.g++.1 (100%) rename examples/{USER-MISC => PACKAGES}/rhok/log.22Sep2017.setup.g++.4 (100%) rename examples/{USER-MISC => PACKAGES}/slater/data.after_equilibration (100%) rename examples/{USER-MISC => PACKAGES}/slater/data.after_production_run (100%) rename examples/{USER-MISC => PACKAGES}/slater/in.slater (100%) rename examples/{USER-MISC => PACKAGES}/slater/log.lammps (100%) rename examples/{USER-MISC => PACKAGES}/slater/tmp_1_1.rdf (100%) rename examples/{USER-MISC => PACKAGES}/slater/tmp_1_2.rdf (100%) rename examples/{USER-MISC => PACKAGES}/slater/tmp_1_3.rdf (100%) rename examples/{USER-MISC => PACKAGES}/slater/tmp_2_2.rdf (100%) rename examples/{USER-MISC => PACKAGES}/slater/tmp_2_3.rdf (100%) rename examples/{USER-MISC => PACKAGES}/slater/tmp_3_3.rdf (100%) rename examples/{USER-MISC => PACKAGES}/temper_npt/data.peptide (100%) rename examples/{USER-MISC => PACKAGES}/temper_npt/in.temper_npt (100%) rename examples/{USER-MISC => PACKAGES}/temper_npt/log.temper_npt-17Aug17.g++.8 (100%) rename examples/{USER-MISC => PACKAGES}/temper_npt/log.temper_npt-17Aug17.g++.8.0 (100%) rename examples/{USER-MISC => PACKAGES}/temper_npt/log.temper_npt-17Aug17.g++.8.1 (100%) rename examples/{USER-MISC => PACKAGES}/temper_npt/log.temper_npt-17Aug17.g++.8.2 (100%) rename examples/{USER-MISC => PACKAGES}/temper_npt/log.temper_npt-17Aug17.g++.8.3 (100%) rename examples/{USER-MISC => PACKAGES}/temper_npt/log.temper_npt-17Aug17.g++.8.4 (100%) rename examples/{USER-MISC => PACKAGES}/temper_npt/log.temper_npt-17Aug17.g++.8.5 (100%) rename examples/{USER-MISC => PACKAGES}/temper_npt/log.temper_npt-17Aug17.g++.8.6 (100%) rename examples/{USER-MISC => PACKAGES}/temper_npt/log.temper_npt-17Aug17.g++.8.7 (100%) rename examples/{USER-MISC => PACKAGES}/ti/in.ti_spring (100%) diff --git a/examples/USER-MISC/agni/Al_jpc.agni b/examples/PACKAGES/agni/Al_jpc.agni similarity index 100% rename from examples/USER-MISC/agni/Al_jpc.agni rename to examples/PACKAGES/agni/Al_jpc.agni diff --git a/examples/USER-MISC/agni/adatom.data b/examples/PACKAGES/agni/adatom.data similarity index 100% rename from examples/USER-MISC/agni/adatom.data rename to examples/PACKAGES/agni/adatom.data diff --git a/examples/USER-MISC/agni/in.adatom b/examples/PACKAGES/agni/in.adatom similarity index 100% rename from examples/USER-MISC/agni/in.adatom rename to examples/PACKAGES/agni/in.adatom diff --git a/examples/USER-MISC/agni/in.vacancy b/examples/PACKAGES/agni/in.vacancy similarity index 100% rename from examples/USER-MISC/agni/in.vacancy rename to examples/PACKAGES/agni/in.vacancy diff --git a/examples/USER-MISC/agni/log.20Jan21.adatom.g++.1 b/examples/PACKAGES/agni/log.20Jan21.adatom.g++.1 similarity index 100% rename from examples/USER-MISC/agni/log.20Jan21.adatom.g++.1 rename to examples/PACKAGES/agni/log.20Jan21.adatom.g++.1 diff --git a/examples/USER-MISC/agni/log.20Jan21.adatom.g++.4 b/examples/PACKAGES/agni/log.20Jan21.adatom.g++.4 similarity index 100% rename from examples/USER-MISC/agni/log.20Jan21.adatom.g++.4 rename to examples/PACKAGES/agni/log.20Jan21.adatom.g++.4 diff --git a/examples/USER-MISC/agni/log.20Jan21.vacancy.g++.1 b/examples/PACKAGES/agni/log.20Jan21.vacancy.g++.1 similarity index 100% rename from examples/USER-MISC/agni/log.20Jan21.vacancy.g++.1 rename to examples/PACKAGES/agni/log.20Jan21.vacancy.g++.1 diff --git a/examples/USER-MISC/agni/log.20Jan21.vacancy.g++.4 b/examples/PACKAGES/agni/log.20Jan21.vacancy.g++.4 similarity index 100% rename from examples/USER-MISC/agni/log.20Jan21.vacancy.g++.4 rename to examples/PACKAGES/agni/log.20Jan21.vacancy.g++.4 diff --git a/examples/USER-MISC/agni/vacancy.data b/examples/PACKAGES/agni/vacancy.data similarity index 100% rename from examples/USER-MISC/agni/vacancy.data rename to examples/PACKAGES/agni/vacancy.data diff --git a/examples/USER-MISC/basal/almg.liu b/examples/PACKAGES/basal/almg.liu similarity index 100% rename from examples/USER-MISC/basal/almg.liu rename to examples/PACKAGES/basal/almg.liu diff --git a/examples/USER-MISC/basal/in.basal b/examples/PACKAGES/basal/in.basal similarity index 100% rename from examples/USER-MISC/basal/in.basal rename to examples/PACKAGES/basal/in.basal diff --git a/examples/USER-MISC/cauchy/NiAlH_jea.eam.alloy b/examples/PACKAGES/cauchy/NiAlH_jea.eam.alloy similarity index 100% rename from examples/USER-MISC/cauchy/NiAlH_jea.eam.alloy rename to examples/PACKAGES/cauchy/NiAlH_jea.eam.alloy diff --git a/examples/USER-MISC/cauchy/README b/examples/PACKAGES/cauchy/README similarity index 100% rename from examples/USER-MISC/cauchy/README rename to examples/PACKAGES/cauchy/README diff --git a/examples/USER-MISC/cauchy/in.cauchystat b/examples/PACKAGES/cauchy/in.cauchystat similarity index 100% rename from examples/USER-MISC/cauchy/in.cauchystat rename to examples/PACKAGES/cauchy/in.cauchystat diff --git a/examples/USER-MISC/cauchy/log.2Jun2020.cauchystat.g++.1 b/examples/PACKAGES/cauchy/log.2Jun2020.cauchystat.g++.1 similarity index 100% rename from examples/USER-MISC/cauchy/log.2Jun2020.cauchystat.g++.1 rename to examples/PACKAGES/cauchy/log.2Jun2020.cauchystat.g++.1 diff --git a/examples/USER-MISC/charge_regulation/README b/examples/PACKAGES/charge_regulation/README similarity index 100% rename from examples/USER-MISC/charge_regulation/README rename to examples/PACKAGES/charge_regulation/README diff --git a/examples/USER-MISC/charge_regulation/data.chreg-acid b/examples/PACKAGES/charge_regulation/data.chreg-acid similarity index 100% rename from examples/USER-MISC/charge_regulation/data.chreg-acid rename to examples/PACKAGES/charge_regulation/data.chreg-acid diff --git a/examples/USER-MISC/charge_regulation/data.chreg-acid-real b/examples/PACKAGES/charge_regulation/data.chreg-acid-real similarity index 100% rename from examples/USER-MISC/charge_regulation/data.chreg-acid-real rename to examples/PACKAGES/charge_regulation/data.chreg-acid-real diff --git a/examples/USER-MISC/charge_regulation/data.chreg-polymer b/examples/PACKAGES/charge_regulation/data.chreg-polymer similarity index 100% rename from examples/USER-MISC/charge_regulation/data.chreg-polymer rename to examples/PACKAGES/charge_regulation/data.chreg-polymer diff --git a/examples/USER-MISC/charge_regulation/in.chreg-acid b/examples/PACKAGES/charge_regulation/in.chreg-acid similarity index 100% rename from examples/USER-MISC/charge_regulation/in.chreg-acid rename to examples/PACKAGES/charge_regulation/in.chreg-acid diff --git a/examples/USER-MISC/charge_regulation/in.chreg-acid-real b/examples/PACKAGES/charge_regulation/in.chreg-acid-real similarity index 100% rename from examples/USER-MISC/charge_regulation/in.chreg-acid-real rename to examples/PACKAGES/charge_regulation/in.chreg-acid-real diff --git a/examples/USER-MISC/charge_regulation/in.chreg-polymer b/examples/PACKAGES/charge_regulation/in.chreg-polymer similarity index 100% rename from examples/USER-MISC/charge_regulation/in.chreg-polymer rename to examples/PACKAGES/charge_regulation/in.chreg-polymer diff --git a/examples/USER-MISC/charge_regulation/log.10Feb21.chreg-acid.g++.1 b/examples/PACKAGES/charge_regulation/log.10Feb21.chreg-acid.g++.1 similarity index 100% rename from examples/USER-MISC/charge_regulation/log.10Feb21.chreg-acid.g++.1 rename to examples/PACKAGES/charge_regulation/log.10Feb21.chreg-acid.g++.1 diff --git a/examples/USER-MISC/charge_regulation/log.10Feb21.chreg-acid.g++.4 b/examples/PACKAGES/charge_regulation/log.10Feb21.chreg-acid.g++.4 similarity index 100% rename from examples/USER-MISC/charge_regulation/log.10Feb21.chreg-acid.g++.4 rename to examples/PACKAGES/charge_regulation/log.10Feb21.chreg-acid.g++.4 diff --git a/examples/USER-MISC/charge_regulation/log.10Feb21.chreg-polymer.g++.1 b/examples/PACKAGES/charge_regulation/log.10Feb21.chreg-polymer.g++.1 similarity index 100% rename from examples/USER-MISC/charge_regulation/log.10Feb21.chreg-polymer.g++.1 rename to examples/PACKAGES/charge_regulation/log.10Feb21.chreg-polymer.g++.1 diff --git a/examples/USER-MISC/charge_regulation/log.10Feb21.chreg-polymer.g++.4 b/examples/PACKAGES/charge_regulation/log.10Feb21.chreg-polymer.g++.4 similarity index 100% rename from examples/USER-MISC/charge_regulation/log.10Feb21.chreg-polymer.g++.4 rename to examples/PACKAGES/charge_regulation/log.10Feb21.chreg-polymer.g++.4 diff --git a/examples/USER-MISC/charge_regulation/log.11Apr21.chreg-acid-real.g++.1 b/examples/PACKAGES/charge_regulation/log.11Apr21.chreg-acid-real.g++.1 similarity index 100% rename from examples/USER-MISC/charge_regulation/log.11Apr21.chreg-acid-real.g++.1 rename to examples/PACKAGES/charge_regulation/log.11Apr21.chreg-acid-real.g++.1 diff --git a/examples/USER-MISC/charge_regulation/log.11Apr21.chreg-acid-real.g++.4 b/examples/PACKAGES/charge_regulation/log.11Apr21.chreg-acid-real.g++.4 similarity index 100% rename from examples/USER-MISC/charge_regulation/log.11Apr21.chreg-acid-real.g++.4 rename to examples/PACKAGES/charge_regulation/log.11Apr21.chreg-acid-real.g++.4 diff --git a/examples/USER-MISC/cnp/Cu_Mishin1.eam b/examples/PACKAGES/cnp/Cu_Mishin1.eam similarity index 100% rename from examples/USER-MISC/cnp/Cu_Mishin1.eam rename to examples/PACKAGES/cnp/Cu_Mishin1.eam diff --git a/examples/USER-MISC/cnp/in.cnp b/examples/PACKAGES/cnp/in.cnp similarity index 100% rename from examples/USER-MISC/cnp/in.cnp rename to examples/PACKAGES/cnp/in.cnp diff --git a/examples/USER-MISC/cnp/log.31May17.cnp.g++.4 b/examples/PACKAGES/cnp/log.31May17.cnp.g++.4 similarity index 100% rename from examples/USER-MISC/cnp/log.31May17.cnp.g++.4 rename to examples/PACKAGES/cnp/log.31May17.cnp.g++.4 diff --git a/examples/USER-MISC/e3b/README b/examples/PACKAGES/e3b/README similarity index 100% rename from examples/USER-MISC/e3b/README rename to examples/PACKAGES/e3b/README diff --git a/examples/USER-MISC/e3b/e3b_box.data b/examples/PACKAGES/e3b/e3b_box.data similarity index 100% rename from examples/USER-MISC/e3b/e3b_box.data rename to examples/PACKAGES/e3b/e3b_box.data diff --git a/examples/USER-MISC/e3b/in.e3b-tip4p2005 b/examples/PACKAGES/e3b/in.e3b-tip4p2005 similarity index 100% rename from examples/USER-MISC/e3b/in.e3b-tip4p2005 rename to examples/PACKAGES/e3b/in.e3b-tip4p2005 diff --git a/examples/USER-MISC/e3b/log.29Mar2019.e3b-tip4p2005.g++.1 b/examples/PACKAGES/e3b/log.29Mar2019.e3b-tip4p2005.g++.1 similarity index 100% rename from examples/USER-MISC/e3b/log.29Mar2019.e3b-tip4p2005.g++.1 rename to examples/PACKAGES/e3b/log.29Mar2019.e3b-tip4p2005.g++.1 diff --git a/examples/USER-MISC/e3b/log.29Mar2019.e3b-tip4p2005.g++.4 b/examples/PACKAGES/e3b/log.29Mar2019.e3b-tip4p2005.g++.4 similarity index 100% rename from examples/USER-MISC/e3b/log.29Mar2019.e3b-tip4p2005.g++.4 rename to examples/PACKAGES/e3b/log.29Mar2019.e3b-tip4p2005.g++.4 diff --git a/examples/USER-MISC/edip/Si.edip b/examples/PACKAGES/edip/Si.edip similarity index 100% rename from examples/USER-MISC/edip/Si.edip rename to examples/PACKAGES/edip/Si.edip diff --git a/examples/USER-MISC/edip/SiC.edip b/examples/PACKAGES/edip/SiC.edip similarity index 100% rename from examples/USER-MISC/edip/SiC.edip rename to examples/PACKAGES/edip/SiC.edip diff --git a/examples/USER-MISC/edip/data.SiC b/examples/PACKAGES/edip/data.SiC similarity index 100% rename from examples/USER-MISC/edip/data.SiC rename to examples/PACKAGES/edip/data.SiC diff --git a/examples/USER-MISC/edip/in.edip-Si b/examples/PACKAGES/edip/in.edip-Si similarity index 100% rename from examples/USER-MISC/edip/in.edip-Si rename to examples/PACKAGES/edip/in.edip-Si diff --git a/examples/USER-MISC/edip/in.edip-Si-multi b/examples/PACKAGES/edip/in.edip-Si-multi similarity index 100% rename from examples/USER-MISC/edip/in.edip-Si-multi rename to examples/PACKAGES/edip/in.edip-Si-multi diff --git a/examples/USER-MISC/edip/in.edip-SiC b/examples/PACKAGES/edip/in.edip-SiC similarity index 100% rename from examples/USER-MISC/edip/in.edip-SiC rename to examples/PACKAGES/edip/in.edip-SiC diff --git a/examples/USER-MISC/edip/log.4May2017.g++.edip-Si-multi.1 b/examples/PACKAGES/edip/log.4May2017.g++.edip-Si-multi.1 similarity index 100% rename from examples/USER-MISC/edip/log.4May2017.g++.edip-Si-multi.1 rename to examples/PACKAGES/edip/log.4May2017.g++.edip-Si-multi.1 diff --git a/examples/USER-MISC/edip/log.4May2017.g++.edip-Si-multi.4 b/examples/PACKAGES/edip/log.4May2017.g++.edip-Si-multi.4 similarity index 100% rename from examples/USER-MISC/edip/log.4May2017.g++.edip-Si-multi.4 rename to examples/PACKAGES/edip/log.4May2017.g++.edip-Si-multi.4 diff --git a/examples/USER-MISC/edip/log.4May2017.g++.edip-Si.1 b/examples/PACKAGES/edip/log.4May2017.g++.edip-Si.1 similarity index 100% rename from examples/USER-MISC/edip/log.4May2017.g++.edip-Si.1 rename to examples/PACKAGES/edip/log.4May2017.g++.edip-Si.1 diff --git a/examples/USER-MISC/edip/log.4May2017.g++.edip-Si.4 b/examples/PACKAGES/edip/log.4May2017.g++.edip-Si.4 similarity index 100% rename from examples/USER-MISC/edip/log.4May2017.g++.edip-Si.4 rename to examples/PACKAGES/edip/log.4May2017.g++.edip-Si.4 diff --git a/examples/USER-MISC/edip/log.4May2017.g++.edip-SiC.1 b/examples/PACKAGES/edip/log.4May2017.g++.edip-SiC.1 similarity index 100% rename from examples/USER-MISC/edip/log.4May2017.g++.edip-SiC.1 rename to examples/PACKAGES/edip/log.4May2017.g++.edip-SiC.1 diff --git a/examples/USER-MISC/edip/log.4May2017.g++.edip-SiC.4 b/examples/PACKAGES/edip/log.4May2017.g++.edip-SiC.4 similarity index 100% rename from examples/USER-MISC/edip/log.4May2017.g++.edip-SiC.4 rename to examples/PACKAGES/edip/log.4May2017.g++.edip-SiC.4 diff --git a/examples/USER-MISC/ees/Data_region b/examples/PACKAGES/ees/Data_region similarity index 100% rename from examples/USER-MISC/ees/Data_region rename to examples/PACKAGES/ees/Data_region diff --git a/examples/USER-MISC/ees/Data_wall b/examples/PACKAGES/ees/Data_wall similarity index 100% rename from examples/USER-MISC/ees/Data_wall rename to examples/PACKAGES/ees/Data_wall diff --git a/examples/USER-MISC/ees/README b/examples/PACKAGES/ees/README similarity index 100% rename from examples/USER-MISC/ees/README rename to examples/PACKAGES/ees/README diff --git a/examples/USER-MISC/ees/in.fix_wall b/examples/PACKAGES/ees/in.fix_wall similarity index 100% rename from examples/USER-MISC/ees/in.fix_wall rename to examples/PACKAGES/ees/in.fix_wall diff --git a/examples/USER-MISC/ees/in.fix_wall_region b/examples/PACKAGES/ees/in.fix_wall_region similarity index 100% rename from examples/USER-MISC/ees/in.fix_wall_region rename to examples/PACKAGES/ees/in.fix_wall_region diff --git a/examples/USER-MISC/ees/log.23Jun17.fix_wall.g++.1 b/examples/PACKAGES/ees/log.23Jun17.fix_wall.g++.1 similarity index 100% rename from examples/USER-MISC/ees/log.23Jun17.fix_wall.g++.1 rename to examples/PACKAGES/ees/log.23Jun17.fix_wall.g++.1 diff --git a/examples/USER-MISC/ees/log.23Jun17.fix_wall.g++.4 b/examples/PACKAGES/ees/log.23Jun17.fix_wall.g++.4 similarity index 100% rename from examples/USER-MISC/ees/log.23Jun17.fix_wall.g++.4 rename to examples/PACKAGES/ees/log.23Jun17.fix_wall.g++.4 diff --git a/examples/USER-MISC/ees/log.23Jun17.fix_wall_region.g++.1 b/examples/PACKAGES/ees/log.23Jun17.fix_wall_region.g++.1 similarity index 100% rename from examples/USER-MISC/ees/log.23Jun17.fix_wall_region.g++.1 rename to examples/PACKAGES/ees/log.23Jun17.fix_wall_region.g++.1 diff --git a/examples/USER-MISC/ees/log.23Jun17.fix_wall_region.g++.4 b/examples/PACKAGES/ees/log.23Jun17.fix_wall_region.g++.4 similarity index 100% rename from examples/USER-MISC/ees/log.23Jun17.fix_wall_region.g++.4 rename to examples/PACKAGES/ees/log.23Jun17.fix_wall_region.g++.4 diff --git a/examples/USER-MISC/electron_stopping/Si.Si.elstop b/examples/PACKAGES/electron_stopping/Si.Si.elstop similarity index 100% rename from examples/USER-MISC/electron_stopping/Si.Si.elstop rename to examples/PACKAGES/electron_stopping/Si.Si.elstop diff --git a/examples/USER-MISC/electron_stopping/Si.sw b/examples/PACKAGES/electron_stopping/Si.sw similarity index 100% rename from examples/USER-MISC/electron_stopping/Si.sw rename to examples/PACKAGES/electron_stopping/Si.sw diff --git a/examples/USER-MISC/electron_stopping/in.cascade_AlCu b/examples/PACKAGES/electron_stopping/in.cascade_AlCu similarity index 100% rename from examples/USER-MISC/electron_stopping/in.cascade_AlCu rename to examples/PACKAGES/electron_stopping/in.cascade_AlCu diff --git a/examples/USER-MISC/electron_stopping/in.cascade_SiSi b/examples/PACKAGES/electron_stopping/in.cascade_SiSi similarity index 100% rename from examples/USER-MISC/electron_stopping/in.cascade_SiSi rename to examples/PACKAGES/electron_stopping/in.cascade_SiSi diff --git a/examples/USER-MISC/electron_stopping/in.elstop b/examples/PACKAGES/electron_stopping/in.elstop similarity index 100% rename from examples/USER-MISC/electron_stopping/in.elstop rename to examples/PACKAGES/electron_stopping/in.elstop diff --git a/examples/USER-MISC/electron_stopping/in.elstop.only b/examples/PACKAGES/electron_stopping/in.elstop.only similarity index 100% rename from examples/USER-MISC/electron_stopping/in.elstop.only rename to examples/PACKAGES/electron_stopping/in.elstop.only diff --git a/examples/USER-MISC/electron_stopping/log.18Sep2020.cascade_AlCu.intel.1 b/examples/PACKAGES/electron_stopping/log.18Sep2020.cascade_AlCu.intel.1 similarity index 100% rename from examples/USER-MISC/electron_stopping/log.18Sep2020.cascade_AlCu.intel.1 rename to examples/PACKAGES/electron_stopping/log.18Sep2020.cascade_AlCu.intel.1 diff --git a/examples/USER-MISC/electron_stopping/log.18Sep2020.cascade_AlCu.intel.4 b/examples/PACKAGES/electron_stopping/log.18Sep2020.cascade_AlCu.intel.4 similarity index 100% rename from examples/USER-MISC/electron_stopping/log.18Sep2020.cascade_AlCu.intel.4 rename to examples/PACKAGES/electron_stopping/log.18Sep2020.cascade_AlCu.intel.4 diff --git a/examples/USER-MISC/electron_stopping/log.18Sep2020.cascade_SiSi.intel.1 b/examples/PACKAGES/electron_stopping/log.18Sep2020.cascade_SiSi.intel.1 similarity index 100% rename from examples/USER-MISC/electron_stopping/log.18Sep2020.cascade_SiSi.intel.1 rename to examples/PACKAGES/electron_stopping/log.18Sep2020.cascade_SiSi.intel.1 diff --git a/examples/USER-MISC/electron_stopping/log.18Sep2020.cascade_SiSi.intel.4 b/examples/PACKAGES/electron_stopping/log.18Sep2020.cascade_SiSi.intel.4 similarity index 100% rename from examples/USER-MISC/electron_stopping/log.18Sep2020.cascade_SiSi.intel.4 rename to examples/PACKAGES/electron_stopping/log.18Sep2020.cascade_SiSi.intel.4 diff --git a/examples/USER-MISC/electron_stopping/log.20Mar19.elstop.g++.1 b/examples/PACKAGES/electron_stopping/log.20Mar19.elstop.g++.1 similarity index 100% rename from examples/USER-MISC/electron_stopping/log.20Mar19.elstop.g++.1 rename to examples/PACKAGES/electron_stopping/log.20Mar19.elstop.g++.1 diff --git a/examples/USER-MISC/electron_stopping/log.20Mar19.elstop.g++.4 b/examples/PACKAGES/electron_stopping/log.20Mar19.elstop.g++.4 similarity index 100% rename from examples/USER-MISC/electron_stopping/log.20Mar19.elstop.g++.4 rename to examples/PACKAGES/electron_stopping/log.20Mar19.elstop.g++.4 diff --git a/examples/USER-MISC/electron_stopping/log.20Mar19.elstop.only.g++.1 b/examples/PACKAGES/electron_stopping/log.20Mar19.elstop.only.g++.1 similarity index 100% rename from examples/USER-MISC/electron_stopping/log.20Mar19.elstop.only.g++.1 rename to examples/PACKAGES/electron_stopping/log.20Mar19.elstop.only.g++.1 diff --git a/examples/USER-MISC/electron_stopping/log.20Mar19.elstop.only.g++.4 b/examples/PACKAGES/electron_stopping/log.20Mar19.elstop.only.g++.4 similarity index 100% rename from examples/USER-MISC/electron_stopping/log.20Mar19.elstop.only.g++.4 rename to examples/PACKAGES/electron_stopping/log.20Mar19.elstop.only.g++.4 diff --git a/examples/USER-MISC/entropy/Na_MendelevM_2014.eam.fs b/examples/PACKAGES/entropy/Na_MendelevM_2014.eam.fs similarity index 100% rename from examples/USER-MISC/entropy/Na_MendelevM_2014.eam.fs rename to examples/PACKAGES/entropy/Na_MendelevM_2014.eam.fs diff --git a/examples/USER-MISC/entropy/data.interface b/examples/PACKAGES/entropy/data.interface similarity index 100% rename from examples/USER-MISC/entropy/data.interface rename to examples/PACKAGES/entropy/data.interface diff --git a/examples/USER-MISC/entropy/in.entropy b/examples/PACKAGES/entropy/in.entropy similarity index 100% rename from examples/USER-MISC/entropy/in.entropy rename to examples/PACKAGES/entropy/in.entropy diff --git a/examples/USER-MISC/entropy/log.entropy b/examples/PACKAGES/entropy/log.entropy similarity index 100% rename from examples/USER-MISC/entropy/log.entropy rename to examples/PACKAGES/entropy/log.entropy diff --git a/examples/USER-MISC/extep/BN.data b/examples/PACKAGES/extep/BN.data similarity index 100% rename from examples/USER-MISC/extep/BN.data rename to examples/PACKAGES/extep/BN.data diff --git a/examples/USER-MISC/extep/in.extep-bn b/examples/PACKAGES/extep/in.extep-bn similarity index 100% rename from examples/USER-MISC/extep/in.extep-bn rename to examples/PACKAGES/extep/in.extep-bn diff --git a/examples/USER-MISC/extep/log.23Oct17.extep-bn.g++.1 b/examples/PACKAGES/extep/log.23Oct17.extep-bn.g++.1 similarity index 100% rename from examples/USER-MISC/extep/log.23Oct17.extep-bn.g++.1 rename to examples/PACKAGES/extep/log.23Oct17.extep-bn.g++.1 diff --git a/examples/USER-MISC/extep/log.23Oct17.extep-bn.g++.4 b/examples/PACKAGES/extep/log.23Oct17.extep-bn.g++.4 similarity index 100% rename from examples/USER-MISC/extep/log.23Oct17.extep-bn.g++.4 rename to examples/PACKAGES/extep/log.23Oct17.extep-bn.g++.4 diff --git a/examples/USER-MISC/filter_corotate/data.bpti b/examples/PACKAGES/filter_corotate/data.bpti similarity index 100% rename from examples/USER-MISC/filter_corotate/data.bpti rename to examples/PACKAGES/filter_corotate/data.bpti diff --git a/examples/USER-MISC/filter_corotate/data.peptide b/examples/PACKAGES/filter_corotate/data.peptide similarity index 100% rename from examples/USER-MISC/filter_corotate/data.peptide rename to examples/PACKAGES/filter_corotate/data.peptide diff --git a/examples/USER-MISC/filter_corotate/in.bpti b/examples/PACKAGES/filter_corotate/in.bpti similarity index 100% rename from examples/USER-MISC/filter_corotate/in.bpti rename to examples/PACKAGES/filter_corotate/in.bpti diff --git a/examples/USER-MISC/filter_corotate/in.peptide b/examples/PACKAGES/filter_corotate/in.peptide similarity index 100% rename from examples/USER-MISC/filter_corotate/in.peptide rename to examples/PACKAGES/filter_corotate/in.peptide diff --git a/examples/USER-MISC/filter_corotate/log.22Jun2017.bpti.g++.1 b/examples/PACKAGES/filter_corotate/log.22Jun2017.bpti.g++.1 similarity index 100% rename from examples/USER-MISC/filter_corotate/log.22Jun2017.bpti.g++.1 rename to examples/PACKAGES/filter_corotate/log.22Jun2017.bpti.g++.1 diff --git a/examples/USER-MISC/filter_corotate/log.22Jun2017.bpti.g++.4 b/examples/PACKAGES/filter_corotate/log.22Jun2017.bpti.g++.4 similarity index 100% rename from examples/USER-MISC/filter_corotate/log.22Jun2017.bpti.g++.4 rename to examples/PACKAGES/filter_corotate/log.22Jun2017.bpti.g++.4 diff --git a/examples/USER-MISC/filter_corotate/log.22Jun2017.peptide.g++.1 b/examples/PACKAGES/filter_corotate/log.22Jun2017.peptide.g++.1 similarity index 100% rename from examples/USER-MISC/filter_corotate/log.22Jun2017.peptide.g++.1 rename to examples/PACKAGES/filter_corotate/log.22Jun2017.peptide.g++.1 diff --git a/examples/USER-MISC/filter_corotate/log.22Jun2017.peptide.g++.4 b/examples/PACKAGES/filter_corotate/log.22Jun2017.peptide.g++.4 similarity index 100% rename from examples/USER-MISC/filter_corotate/log.22Jun2017.peptide.g++.4 rename to examples/PACKAGES/filter_corotate/log.22Jun2017.peptide.g++.4 diff --git a/examples/USER-MISC/flow_gauss/README b/examples/PACKAGES/flow_gauss/README similarity index 100% rename from examples/USER-MISC/flow_gauss/README rename to examples/PACKAGES/flow_gauss/README diff --git a/examples/USER-MISC/flow_gauss/in.GD b/examples/PACKAGES/flow_gauss/in.GD similarity index 100% rename from examples/USER-MISC/flow_gauss/in.GD rename to examples/PACKAGES/flow_gauss/in.GD diff --git a/examples/USER-MISC/flow_gauss/log.6Jul17.GD.g++.1 b/examples/PACKAGES/flow_gauss/log.6Jul17.GD.g++.1 similarity index 100% rename from examples/USER-MISC/flow_gauss/log.6Jul17.GD.g++.1 rename to examples/PACKAGES/flow_gauss/log.6Jul17.GD.g++.1 diff --git a/examples/USER-MISC/flow_gauss/log.6Jul17.GD.g++.4 b/examples/PACKAGES/flow_gauss/log.6Jul17.GD.g++.4 similarity index 100% rename from examples/USER-MISC/flow_gauss/log.6Jul17.GD.g++.4 rename to examples/PACKAGES/flow_gauss/log.6Jul17.GD.g++.4 diff --git a/examples/USER-MISC/flow_gauss/output-files/GD.out b/examples/PACKAGES/flow_gauss/output-files/GD.out similarity index 100% rename from examples/USER-MISC/flow_gauss/output-files/GD.out rename to examples/PACKAGES/flow_gauss/output-files/GD.out diff --git a/examples/USER-MISC/flow_gauss/output-files/Vy_profile b/examples/PACKAGES/flow_gauss/output-files/Vy_profile similarity index 100% rename from examples/USER-MISC/flow_gauss/output-files/Vy_profile rename to examples/PACKAGES/flow_gauss/output-files/Vy_profile diff --git a/examples/USER-MISC/flow_gauss/output-files/x_profiles b/examples/PACKAGES/flow_gauss/output-files/x_profiles similarity index 100% rename from examples/USER-MISC/flow_gauss/output-files/x_profiles rename to examples/PACKAGES/flow_gauss/output-files/x_profiles diff --git a/examples/USER-MISC/gauss_diel/data.gauss-diel b/examples/PACKAGES/gauss_diel/data.gauss-diel similarity index 100% rename from examples/USER-MISC/gauss_diel/data.gauss-diel rename to examples/PACKAGES/gauss_diel/data.gauss-diel diff --git a/examples/USER-MISC/gauss_diel/in.gauss-diel b/examples/PACKAGES/gauss_diel/in.gauss-diel similarity index 100% rename from examples/USER-MISC/gauss_diel/in.gauss-diel rename to examples/PACKAGES/gauss_diel/in.gauss-diel diff --git a/examples/USER-MISC/gauss_diel/in.gauss-diel-cg b/examples/PACKAGES/gauss_diel/in.gauss-diel-cg similarity index 100% rename from examples/USER-MISC/gauss_diel/in.gauss-diel-cg rename to examples/PACKAGES/gauss_diel/in.gauss-diel-cg diff --git a/examples/USER-MISC/gauss_diel/in.gauss-diel-split b/examples/PACKAGES/gauss_diel/in.gauss-diel-split similarity index 100% rename from examples/USER-MISC/gauss_diel/in.gauss-diel-split rename to examples/PACKAGES/gauss_diel/in.gauss-diel-split diff --git a/examples/USER-MISC/gauss_diel/log.gauss-diel b/examples/PACKAGES/gauss_diel/log.gauss-diel similarity index 100% rename from examples/USER-MISC/gauss_diel/log.gauss-diel rename to examples/PACKAGES/gauss_diel/log.gauss-diel diff --git a/examples/USER-MISC/gauss_diel/log.gauss-diel-cg b/examples/PACKAGES/gauss_diel/log.gauss-diel-cg similarity index 100% rename from examples/USER-MISC/gauss_diel/log.gauss-diel-cg rename to examples/PACKAGES/gauss_diel/log.gauss-diel-cg diff --git a/examples/USER-MISC/gauss_diel/log.gauss-diel-split b/examples/PACKAGES/gauss_diel/log.gauss-diel-split similarity index 100% rename from examples/USER-MISC/gauss_diel/log.gauss-diel-split rename to examples/PACKAGES/gauss_diel/log.gauss-diel-split diff --git a/examples/USER-MISC/hma/README b/examples/PACKAGES/hma/README similarity index 100% rename from examples/USER-MISC/hma/README rename to examples/PACKAGES/hma/README diff --git a/examples/USER-MISC/hma/hma.in b/examples/PACKAGES/hma/hma.in similarity index 100% rename from examples/USER-MISC/hma/hma.in rename to examples/PACKAGES/hma/hma.in diff --git a/examples/USER-MISC/hma/log.6Nov18.hma.g++.1 b/examples/PACKAGES/hma/log.6Nov18.hma.g++.1 similarity index 100% rename from examples/USER-MISC/hma/log.6Nov18.hma.g++.1 rename to examples/PACKAGES/hma/log.6Nov18.hma.g++.1 diff --git a/examples/USER-MISC/hma/log.6Nov18.hma.g++.4 b/examples/PACKAGES/hma/log.6Nov18.hma.g++.4 similarity index 100% rename from examples/USER-MISC/hma/log.6Nov18.hma.g++.4 rename to examples/PACKAGES/hma/log.6Nov18.hma.g++.4 diff --git a/examples/USER-MISC/ipi/C.opt.tersoff b/examples/PACKAGES/ipi/C.opt.tersoff similarity index 100% rename from examples/USER-MISC/ipi/C.opt.tersoff rename to examples/PACKAGES/ipi/C.opt.tersoff diff --git a/examples/USER-MISC/ipi/README b/examples/PACKAGES/ipi/README similarity index 100% rename from examples/USER-MISC/ipi/README rename to examples/PACKAGES/ipi/README diff --git a/examples/USER-MISC/ipi/data.graphene b/examples/PACKAGES/ipi/data.graphene similarity index 100% rename from examples/USER-MISC/ipi/data.graphene rename to examples/PACKAGES/ipi/data.graphene diff --git a/examples/USER-MISC/ipi/i-pi_input.xml b/examples/PACKAGES/ipi/i-pi_input.xml similarity index 100% rename from examples/USER-MISC/ipi/i-pi_input.xml rename to examples/PACKAGES/ipi/i-pi_input.xml diff --git a/examples/USER-MISC/ipi/i-pi_positions.xyz b/examples/PACKAGES/ipi/i-pi_positions.xyz similarity index 100% rename from examples/USER-MISC/ipi/i-pi_positions.xyz rename to examples/PACKAGES/ipi/i-pi_positions.xyz diff --git a/examples/USER-MISC/ipi/in.graphene b/examples/PACKAGES/ipi/in.graphene similarity index 100% rename from examples/USER-MISC/ipi/in.graphene rename to examples/PACKAGES/ipi/in.graphene diff --git a/examples/USER-MISC/local_density/benzene_water/benzene_water.data b/examples/PACKAGES/local_density/benzene_water/benzene_water.data similarity index 100% rename from examples/USER-MISC/local_density/benzene_water/benzene_water.data rename to examples/PACKAGES/local_density/benzene_water/benzene_water.data diff --git a/examples/USER-MISC/local_density/benzene_water/benzene_water.in b/examples/PACKAGES/local_density/benzene_water/benzene_water.in similarity index 100% rename from examples/USER-MISC/local_density/benzene_water/benzene_water.in rename to examples/PACKAGES/local_density/benzene_water/benzene_water.in diff --git a/examples/USER-MISC/local_density/benzene_water/benzene_water.localdensity.table b/examples/PACKAGES/local_density/benzene_water/benzene_water.localdensity.table similarity index 100% rename from examples/USER-MISC/local_density/benzene_water/benzene_water.localdensity.table rename to examples/PACKAGES/local_density/benzene_water/benzene_water.localdensity.table diff --git a/examples/USER-MISC/local_density/benzene_water/benzene_water.pair.table b/examples/PACKAGES/local_density/benzene_water/benzene_water.pair.table similarity index 100% rename from examples/USER-MISC/local_density/benzene_water/benzene_water.pair.table rename to examples/PACKAGES/local_density/benzene_water/benzene_water.pair.table diff --git a/examples/USER-MISC/local_density/benzene_water/log.04Sep19.g++.1 b/examples/PACKAGES/local_density/benzene_water/log.04Sep19.g++.1 similarity index 100% rename from examples/USER-MISC/local_density/benzene_water/log.04Sep19.g++.1 rename to examples/PACKAGES/local_density/benzene_water/log.04Sep19.g++.1 diff --git a/examples/USER-MISC/local_density/methanol_implicit_water/log.04Sep19.g++.1 b/examples/PACKAGES/local_density/methanol_implicit_water/log.04Sep19.g++.1 similarity index 100% rename from examples/USER-MISC/local_density/methanol_implicit_water/log.04Sep19.g++.1 rename to examples/PACKAGES/local_density/methanol_implicit_water/log.04Sep19.g++.1 diff --git a/examples/USER-MISC/local_density/methanol_implicit_water/methanol_implicit_water.data b/examples/PACKAGES/local_density/methanol_implicit_water/methanol_implicit_water.data similarity index 100% rename from examples/USER-MISC/local_density/methanol_implicit_water/methanol_implicit_water.data rename to examples/PACKAGES/local_density/methanol_implicit_water/methanol_implicit_water.data diff --git a/examples/USER-MISC/local_density/methanol_implicit_water/methanol_implicit_water.in b/examples/PACKAGES/local_density/methanol_implicit_water/methanol_implicit_water.in similarity index 100% rename from examples/USER-MISC/local_density/methanol_implicit_water/methanol_implicit_water.in rename to examples/PACKAGES/local_density/methanol_implicit_water/methanol_implicit_water.in diff --git a/examples/USER-MISC/local_density/methanol_implicit_water/methanol_implicit_water.localdensity.table b/examples/PACKAGES/local_density/methanol_implicit_water/methanol_implicit_water.localdensity.table similarity index 100% rename from examples/USER-MISC/local_density/methanol_implicit_water/methanol_implicit_water.localdensity.table rename to examples/PACKAGES/local_density/methanol_implicit_water/methanol_implicit_water.localdensity.table diff --git a/examples/USER-MISC/local_density/methanol_implicit_water/methanol_implicit_water.pair.table b/examples/PACKAGES/local_density/methanol_implicit_water/methanol_implicit_water.pair.table similarity index 100% rename from examples/USER-MISC/local_density/methanol_implicit_water/methanol_implicit_water.pair.table rename to examples/PACKAGES/local_density/methanol_implicit_water/methanol_implicit_water.pair.table diff --git a/examples/USER-MISC/meam_spline/Si_1.meam.spline b/examples/PACKAGES/meam_spline/Si_1.meam.spline similarity index 100% rename from examples/USER-MISC/meam_spline/Si_1.meam.spline rename to examples/PACKAGES/meam_spline/Si_1.meam.spline diff --git a/examples/USER-MISC/meam_spline/TiO.meam.spline b/examples/PACKAGES/meam_spline/TiO.meam.spline similarity index 100% rename from examples/USER-MISC/meam_spline/TiO.meam.spline rename to examples/PACKAGES/meam_spline/TiO.meam.spline diff --git a/examples/USER-MISC/meam_spline/in.meam-spline.Si b/examples/PACKAGES/meam_spline/in.meam-spline.Si similarity index 100% rename from examples/USER-MISC/meam_spline/in.meam-spline.Si rename to examples/PACKAGES/meam_spline/in.meam-spline.Si diff --git a/examples/USER-MISC/meam_spline/in.meam-spline.TiO2 b/examples/PACKAGES/meam_spline/in.meam-spline.TiO2 similarity index 100% rename from examples/USER-MISC/meam_spline/in.meam-spline.TiO2 rename to examples/PACKAGES/meam_spline/in.meam-spline.TiO2 diff --git a/examples/USER-MISC/meam_spline/log.4May2017.meam-spline.Si.g++.1 b/examples/PACKAGES/meam_spline/log.4May2017.meam-spline.Si.g++.1 similarity index 100% rename from examples/USER-MISC/meam_spline/log.4May2017.meam-spline.Si.g++.1 rename to examples/PACKAGES/meam_spline/log.4May2017.meam-spline.Si.g++.1 diff --git a/examples/USER-MISC/meam_spline/log.4May2017.meam-spline.Si.g++.4 b/examples/PACKAGES/meam_spline/log.4May2017.meam-spline.Si.g++.4 similarity index 100% rename from examples/USER-MISC/meam_spline/log.4May2017.meam-spline.Si.g++.4 rename to examples/PACKAGES/meam_spline/log.4May2017.meam-spline.Si.g++.4 diff --git a/examples/USER-MISC/meam_spline/log.4May2017.meam-spline.TiO2.g++.1 b/examples/PACKAGES/meam_spline/log.4May2017.meam-spline.TiO2.g++.1 similarity index 100% rename from examples/USER-MISC/meam_spline/log.4May2017.meam-spline.TiO2.g++.1 rename to examples/PACKAGES/meam_spline/log.4May2017.meam-spline.TiO2.g++.1 diff --git a/examples/USER-MISC/meam_spline/log.4May2017.meam-spline.TiO2.g++.4 b/examples/PACKAGES/meam_spline/log.4May2017.meam-spline.TiO2.g++.4 similarity index 100% rename from examples/USER-MISC/meam_spline/log.4May2017.meam-spline.TiO2.g++.4 rename to examples/PACKAGES/meam_spline/log.4May2017.meam-spline.TiO2.g++.4 diff --git a/examples/USER-MISC/meam_sw_spline/Si/bcc.in b/examples/PACKAGES/meam_sw_spline/Si/bcc.in similarity index 100% rename from examples/USER-MISC/meam_sw_spline/Si/bcc.in rename to examples/PACKAGES/meam_sw_spline/Si/bcc.in diff --git a/examples/USER-MISC/meam_sw_spline/Si/bcc_relax.in b/examples/PACKAGES/meam_sw_spline/Si/bcc_relax.in similarity index 100% rename from examples/USER-MISC/meam_sw_spline/Si/bcc_relax.in rename to examples/PACKAGES/meam_sw_spline/Si/bcc_relax.in diff --git a/examples/USER-MISC/meam_sw_spline/Si/dc.in b/examples/PACKAGES/meam_sw_spline/Si/dc.in similarity index 100% rename from examples/USER-MISC/meam_sw_spline/Si/dc.in rename to examples/PACKAGES/meam_sw_spline/Si/dc.in diff --git a/examples/USER-MISC/meam_sw_spline/Si/dc_relax.in b/examples/PACKAGES/meam_sw_spline/Si/dc_relax.in similarity index 100% rename from examples/USER-MISC/meam_sw_spline/Si/dc_relax.in rename to examples/PACKAGES/meam_sw_spline/Si/dc_relax.in diff --git a/examples/USER-MISC/meam_sw_spline/Si/energy_conservation.meam.sw.in b/examples/PACKAGES/meam_sw_spline/Si/energy_conservation.meam.sw.in similarity index 100% rename from examples/USER-MISC/meam_sw_spline/Si/energy_conservation.meam.sw.in rename to examples/PACKAGES/meam_sw_spline/Si/energy_conservation.meam.sw.in diff --git a/examples/USER-MISC/meam_sw_spline/Si/fcc.in b/examples/PACKAGES/meam_sw_spline/Si/fcc.in similarity index 100% rename from examples/USER-MISC/meam_sw_spline/Si/fcc.in rename to examples/PACKAGES/meam_sw_spline/Si/fcc.in diff --git a/examples/USER-MISC/meam_sw_spline/Si/fcc_relax.in b/examples/PACKAGES/meam_sw_spline/Si/fcc_relax.in similarity index 100% rename from examples/USER-MISC/meam_sw_spline/Si/fcc_relax.in rename to examples/PACKAGES/meam_sw_spline/Si/fcc_relax.in diff --git a/examples/USER-MISC/meam_sw_spline/Si/hcp_relax.in b/examples/PACKAGES/meam_sw_spline/Si/hcp_relax.in similarity index 100% rename from examples/USER-MISC/meam_sw_spline/Si/hcp_relax.in rename to examples/PACKAGES/meam_sw_spline/Si/hcp_relax.in diff --git a/examples/USER-MISC/meam_sw_spline/Si/sc.in b/examples/PACKAGES/meam_sw_spline/Si/sc.in similarity index 100% rename from examples/USER-MISC/meam_sw_spline/Si/sc.in rename to examples/PACKAGES/meam_sw_spline/Si/sc.in diff --git a/examples/USER-MISC/meam_sw_spline/Si/sc_relax.in b/examples/PACKAGES/meam_sw_spline/Si/sc_relax.in similarity index 100% rename from examples/USER-MISC/meam_sw_spline/Si/sc_relax.in rename to examples/PACKAGES/meam_sw_spline/Si/sc_relax.in diff --git a/examples/USER-MISC/meam_sw_spline/Si/single_atom.in b/examples/PACKAGES/meam_sw_spline/Si/single_atom.in similarity index 100% rename from examples/USER-MISC/meam_sw_spline/Si/single_atom.in rename to examples/PACKAGES/meam_sw_spline/Si/single_atom.in diff --git a/examples/USER-MISC/meam_sw_spline/Ti/alpha.in b/examples/PACKAGES/meam_sw_spline/Ti/alpha.in similarity index 100% rename from examples/USER-MISC/meam_sw_spline/Ti/alpha.in rename to examples/PACKAGES/meam_sw_spline/Ti/alpha.in diff --git a/examples/USER-MISC/meam_sw_spline/Ti/alpha_relaxation.in b/examples/PACKAGES/meam_sw_spline/Ti/alpha_relaxation.in similarity index 100% rename from examples/USER-MISC/meam_sw_spline/Ti/alpha_relaxation.in rename to examples/PACKAGES/meam_sw_spline/Ti/alpha_relaxation.in diff --git a/examples/USER-MISC/meam_sw_spline/Ti/beta.in b/examples/PACKAGES/meam_sw_spline/Ti/beta.in similarity index 100% rename from examples/USER-MISC/meam_sw_spline/Ti/beta.in rename to examples/PACKAGES/meam_sw_spline/Ti/beta.in diff --git a/examples/USER-MISC/meam_sw_spline/Ti/energy_conservation.meam.sw.in b/examples/PACKAGES/meam_sw_spline/Ti/energy_conservation.meam.sw.in similarity index 100% rename from examples/USER-MISC/meam_sw_spline/Ti/energy_conservation.meam.sw.in rename to examples/PACKAGES/meam_sw_spline/Ti/energy_conservation.meam.sw.in diff --git a/examples/USER-MISC/meam_sw_spline/Ti/fcc.in b/examples/PACKAGES/meam_sw_spline/Ti/fcc.in similarity index 100% rename from examples/USER-MISC/meam_sw_spline/Ti/fcc.in rename to examples/PACKAGES/meam_sw_spline/Ti/fcc.in diff --git a/examples/USER-MISC/meam_sw_spline/Ti/hexagonal.in b/examples/PACKAGES/meam_sw_spline/Ti/hexagonal.in similarity index 100% rename from examples/USER-MISC/meam_sw_spline/Ti/hexagonal.in rename to examples/PACKAGES/meam_sw_spline/Ti/hexagonal.in diff --git a/examples/USER-MISC/meam_sw_spline/Ti/omega.in b/examples/PACKAGES/meam_sw_spline/Ti/omega.in similarity index 100% rename from examples/USER-MISC/meam_sw_spline/Ti/omega.in rename to examples/PACKAGES/meam_sw_spline/Ti/omega.in diff --git a/examples/USER-MISC/meam_sw_spline/Ti/single_atom.in b/examples/PACKAGES/meam_sw_spline/Ti/single_atom.in similarity index 100% rename from examples/USER-MISC/meam_sw_spline/Ti/single_atom.in rename to examples/PACKAGES/meam_sw_spline/Ti/single_atom.in diff --git a/examples/USER-MISC/momb/Ag_O1X5.5_O2X0.55.eam.fs b/examples/PACKAGES/momb/Ag_O1X5.5_O2X0.55.eam.fs similarity index 100% rename from examples/USER-MISC/momb/Ag_O1X5.5_O2X0.55.eam.fs rename to examples/PACKAGES/momb/Ag_O1X5.5_O2X0.55.eam.fs diff --git a/examples/USER-MISC/momb/README b/examples/PACKAGES/momb/README similarity index 100% rename from examples/USER-MISC/momb/README rename to examples/PACKAGES/momb/README diff --git a/examples/USER-MISC/momb/in.system b/examples/PACKAGES/momb/in.system similarity index 100% rename from examples/USER-MISC/momb/in.system rename to examples/PACKAGES/momb/in.system diff --git a/examples/USER-MISC/momb/log.17Mar2017.system.g++.1 b/examples/PACKAGES/momb/log.17Mar2017.system.g++.1 similarity index 100% rename from examples/USER-MISC/momb/log.17Mar2017.system.g++.1 rename to examples/PACKAGES/momb/log.17Mar2017.system.g++.1 diff --git a/examples/USER-MISC/momb/log.17Mar2017.system.g++.4 b/examples/PACKAGES/momb/log.17Mar2017.system.g++.4 similarity index 100% rename from examples/USER-MISC/momb/log.17Mar2017.system.g++.4 rename to examples/PACKAGES/momb/log.17Mar2017.system.g++.4 diff --git a/examples/USER-MISC/momb/system.data b/examples/PACKAGES/momb/system.data similarity index 100% rename from examples/USER-MISC/momb/system.data rename to examples/PACKAGES/momb/system.data diff --git a/examples/USER-MISC/momentum/in.momentum b/examples/PACKAGES/momentum/in.momentum similarity index 100% rename from examples/USER-MISC/momentum/in.momentum rename to examples/PACKAGES/momentum/in.momentum diff --git a/examples/USER-MISC/mop/data.mop b/examples/PACKAGES/mop/data.mop similarity index 100% rename from examples/USER-MISC/mop/data.mop rename to examples/PACKAGES/mop/data.mop diff --git a/examples/USER-MISC/mop/in.compute_stress_mop b/examples/PACKAGES/mop/in.compute_stress_mop similarity index 100% rename from examples/USER-MISC/mop/in.compute_stress_mop rename to examples/PACKAGES/mop/in.compute_stress_mop diff --git a/examples/USER-MISC/mop/log.5Sep18.compute_stress_mop.g++.1 b/examples/PACKAGES/mop/log.5Sep18.compute_stress_mop.g++.1 similarity index 100% rename from examples/USER-MISC/mop/log.5Sep18.compute_stress_mop.g++.1 rename to examples/PACKAGES/mop/log.5Sep18.compute_stress_mop.g++.1 diff --git a/examples/USER-MISC/mop/log.5Sep18.compute_stress_mop.g++.4 b/examples/PACKAGES/mop/log.5Sep18.compute_stress_mop.g++.4 similarity index 100% rename from examples/USER-MISC/mop/log.5Sep18.compute_stress_mop.g++.4 rename to examples/PACKAGES/mop/log.5Sep18.compute_stress_mop.g++.4 diff --git a/examples/USER-MISC/mop/moppz.time.reference b/examples/PACKAGES/mop/moppz.time.reference similarity index 100% rename from examples/USER-MISC/mop/moppz.time.reference rename to examples/PACKAGES/mop/moppz.time.reference diff --git a/examples/USER-MISC/mop/mopz0.time.reference b/examples/PACKAGES/mop/mopz0.time.reference similarity index 100% rename from examples/USER-MISC/mop/mopz0.time.reference rename to examples/PACKAGES/mop/mopz0.time.reference diff --git a/examples/USER-MISC/orient_eco/Ni_u3.eam b/examples/PACKAGES/orient_eco/Ni_u3.eam similarity index 100% rename from examples/USER-MISC/orient_eco/Ni_u3.eam rename to examples/PACKAGES/orient_eco/Ni_u3.eam diff --git a/examples/USER-MISC/orient_eco/data.sigma5 b/examples/PACKAGES/orient_eco/data.sigma5 similarity index 100% rename from examples/USER-MISC/orient_eco/data.sigma5 rename to examples/PACKAGES/orient_eco/data.sigma5 diff --git a/examples/USER-MISC/orient_eco/in.orient_eco b/examples/PACKAGES/orient_eco/in.orient_eco similarity index 100% rename from examples/USER-MISC/orient_eco/in.orient_eco rename to examples/PACKAGES/orient_eco/in.orient_eco diff --git a/examples/USER-MISC/orient_eco/log.2Jun2020.orent_eco.g++.1 b/examples/PACKAGES/orient_eco/log.2Jun2020.orent_eco.g++.1 similarity index 100% rename from examples/USER-MISC/orient_eco/log.2Jun2020.orent_eco.g++.1 rename to examples/PACKAGES/orient_eco/log.2Jun2020.orent_eco.g++.1 diff --git a/examples/USER-MISC/orient_eco/log.2Jun2020.orent_eco.g++.4 b/examples/PACKAGES/orient_eco/log.2Jun2020.orent_eco.g++.4 similarity index 100% rename from examples/USER-MISC/orient_eco/log.2Jun2020.orent_eco.g++.4 rename to examples/PACKAGES/orient_eco/log.2Jun2020.orent_eco.g++.4 diff --git a/examples/USER-MISC/orient_eco/sigma5.ori b/examples/PACKAGES/orient_eco/sigma5.ori similarity index 100% rename from examples/USER-MISC/orient_eco/sigma5.ori rename to examples/PACKAGES/orient_eco/sigma5.ori diff --git a/examples/USER-MISC/pafi/.gitignore b/examples/PACKAGES/pafi/.gitignore similarity index 100% rename from examples/USER-MISC/pafi/.gitignore rename to examples/PACKAGES/pafi/.gitignore diff --git a/examples/USER-MISC/pafi/README b/examples/PACKAGES/pafi/README similarity index 100% rename from examples/USER-MISC/pafi/README rename to examples/PACKAGES/pafi/README diff --git a/examples/USER-MISC/pafi/in.pafi b/examples/PACKAGES/pafi/in.pafi similarity index 100% rename from examples/USER-MISC/pafi/in.pafi rename to examples/PACKAGES/pafi/in.pafi diff --git a/examples/USER-MISC/pafi/log.15Apr20.pafi.g++.1 b/examples/PACKAGES/pafi/log.15Apr20.pafi.g++.1 similarity index 100% rename from examples/USER-MISC/pafi/log.15Apr20.pafi.g++.1 rename to examples/PACKAGES/pafi/log.15Apr20.pafi.g++.1 diff --git a/examples/USER-MISC/pafi/log.15Apr20.pafi.g++.4 b/examples/PACKAGES/pafi/log.15Apr20.pafi.g++.4 similarity index 100% rename from examples/USER-MISC/pafi/log.15Apr20.pafi.g++.4 rename to examples/PACKAGES/pafi/log.15Apr20.pafi.g++.4 diff --git a/examples/USER-MISC/pafi/pafipath.4.data b/examples/PACKAGES/pafi/pafipath.4.data similarity index 100% rename from examples/USER-MISC/pafi/pafipath.4.data rename to examples/PACKAGES/pafi/pafipath.4.data diff --git a/examples/USER-MISC/pimd/para-h2/H2.data b/examples/PACKAGES/pimd/para-h2/H2.data similarity index 100% rename from examples/USER-MISC/pimd/para-h2/H2.data rename to examples/PACKAGES/pimd/para-h2/H2.data diff --git a/examples/USER-MISC/pimd/para-h2/H2.xyz b/examples/PACKAGES/pimd/para-h2/H2.xyz similarity index 100% rename from examples/USER-MISC/pimd/para-h2/H2.xyz rename to examples/PACKAGES/pimd/para-h2/H2.xyz diff --git a/examples/USER-MISC/pimd/para-h2/NM.info b/examples/PACKAGES/pimd/para-h2/NM.info similarity index 100% rename from examples/USER-MISC/pimd/para-h2/NM.info rename to examples/PACKAGES/pimd/para-h2/NM.info diff --git a/examples/USER-MISC/pimd/para-h2/in.scp b/examples/PACKAGES/pimd/para-h2/in.scp similarity index 100% rename from examples/USER-MISC/pimd/para-h2/in.scp rename to examples/PACKAGES/pimd/para-h2/in.scp diff --git a/examples/USER-MISC/pimd/para-h2/pair.table b/examples/PACKAGES/pimd/para-h2/pair.table similarity index 100% rename from examples/USER-MISC/pimd/para-h2/pair.table rename to examples/PACKAGES/pimd/para-h2/pair.table diff --git a/examples/USER-MISC/pimd/para-h2/run.sh b/examples/PACKAGES/pimd/para-h2/run.sh similarity index 100% rename from examples/USER-MISC/pimd/para-h2/run.sh rename to examples/PACKAGES/pimd/para-h2/run.sh diff --git a/examples/USER-MISC/pimd/para-h2/vmd.src b/examples/PACKAGES/pimd/para-h2/vmd.src similarity index 100% rename from examples/USER-MISC/pimd/para-h2/vmd.src rename to examples/PACKAGES/pimd/para-h2/vmd.src diff --git a/examples/USER-MISC/pimd/prot-hairpin/in.scp b/examples/PACKAGES/pimd/prot-hairpin/in.scp similarity index 100% rename from examples/USER-MISC/pimd/prot-hairpin/in.scp rename to examples/PACKAGES/pimd/prot-hairpin/in.scp diff --git a/examples/USER-MISC/pimd/prot-hairpin/run.sh b/examples/PACKAGES/pimd/prot-hairpin/run.sh similarity index 100% rename from examples/USER-MISC/pimd/prot-hairpin/run.sh rename to examples/PACKAGES/pimd/prot-hairpin/run.sh diff --git a/examples/USER-MISC/pimd/prot-hairpin/system.data b/examples/PACKAGES/pimd/prot-hairpin/system.data similarity index 100% rename from examples/USER-MISC/pimd/prot-hairpin/system.data rename to examples/PACKAGES/pimd/prot-hairpin/system.data diff --git a/examples/USER-MISC/rhok/README.md b/examples/PACKAGES/rhok/README.md similarity index 100% rename from examples/USER-MISC/rhok/README.md rename to examples/PACKAGES/rhok/README.md diff --git a/examples/USER-MISC/rhok/in.crystal b/examples/PACKAGES/rhok/in.crystal similarity index 100% rename from examples/USER-MISC/rhok/in.crystal rename to examples/PACKAGES/rhok/in.crystal diff --git a/examples/USER-MISC/rhok/in.pinning b/examples/PACKAGES/rhok/in.pinning similarity index 100% rename from examples/USER-MISC/rhok/in.pinning rename to examples/PACKAGES/rhok/in.pinning diff --git a/examples/USER-MISC/rhok/in.setup b/examples/PACKAGES/rhok/in.setup similarity index 100% rename from examples/USER-MISC/rhok/in.setup rename to examples/PACKAGES/rhok/in.setup diff --git a/examples/USER-MISC/rhok/log.22Sep2017.crystal.g++.1 b/examples/PACKAGES/rhok/log.22Sep2017.crystal.g++.1 similarity index 100% rename from examples/USER-MISC/rhok/log.22Sep2017.crystal.g++.1 rename to examples/PACKAGES/rhok/log.22Sep2017.crystal.g++.1 diff --git a/examples/USER-MISC/rhok/log.22Sep2017.crystal.g++.4 b/examples/PACKAGES/rhok/log.22Sep2017.crystal.g++.4 similarity index 100% rename from examples/USER-MISC/rhok/log.22Sep2017.crystal.g++.4 rename to examples/PACKAGES/rhok/log.22Sep2017.crystal.g++.4 diff --git a/examples/USER-MISC/rhok/log.22Sep2017.pinning.g++.1 b/examples/PACKAGES/rhok/log.22Sep2017.pinning.g++.1 similarity index 100% rename from examples/USER-MISC/rhok/log.22Sep2017.pinning.g++.1 rename to examples/PACKAGES/rhok/log.22Sep2017.pinning.g++.1 diff --git a/examples/USER-MISC/rhok/log.22Sep2017.pinning.g++.4 b/examples/PACKAGES/rhok/log.22Sep2017.pinning.g++.4 similarity index 100% rename from examples/USER-MISC/rhok/log.22Sep2017.pinning.g++.4 rename to examples/PACKAGES/rhok/log.22Sep2017.pinning.g++.4 diff --git a/examples/USER-MISC/rhok/log.22Sep2017.setup.g++.1 b/examples/PACKAGES/rhok/log.22Sep2017.setup.g++.1 similarity index 100% rename from examples/USER-MISC/rhok/log.22Sep2017.setup.g++.1 rename to examples/PACKAGES/rhok/log.22Sep2017.setup.g++.1 diff --git a/examples/USER-MISC/rhok/log.22Sep2017.setup.g++.4 b/examples/PACKAGES/rhok/log.22Sep2017.setup.g++.4 similarity index 100% rename from examples/USER-MISC/rhok/log.22Sep2017.setup.g++.4 rename to examples/PACKAGES/rhok/log.22Sep2017.setup.g++.4 diff --git a/examples/USER-MISC/slater/data.after_equilibration b/examples/PACKAGES/slater/data.after_equilibration similarity index 100% rename from examples/USER-MISC/slater/data.after_equilibration rename to examples/PACKAGES/slater/data.after_equilibration diff --git a/examples/USER-MISC/slater/data.after_production_run b/examples/PACKAGES/slater/data.after_production_run similarity index 100% rename from examples/USER-MISC/slater/data.after_production_run rename to examples/PACKAGES/slater/data.after_production_run diff --git a/examples/USER-MISC/slater/in.slater b/examples/PACKAGES/slater/in.slater similarity index 100% rename from examples/USER-MISC/slater/in.slater rename to examples/PACKAGES/slater/in.slater diff --git a/examples/USER-MISC/slater/log.lammps b/examples/PACKAGES/slater/log.lammps similarity index 100% rename from examples/USER-MISC/slater/log.lammps rename to examples/PACKAGES/slater/log.lammps diff --git a/examples/USER-MISC/slater/tmp_1_1.rdf b/examples/PACKAGES/slater/tmp_1_1.rdf similarity index 100% rename from examples/USER-MISC/slater/tmp_1_1.rdf rename to examples/PACKAGES/slater/tmp_1_1.rdf diff --git a/examples/USER-MISC/slater/tmp_1_2.rdf b/examples/PACKAGES/slater/tmp_1_2.rdf similarity index 100% rename from examples/USER-MISC/slater/tmp_1_2.rdf rename to examples/PACKAGES/slater/tmp_1_2.rdf diff --git a/examples/USER-MISC/slater/tmp_1_3.rdf b/examples/PACKAGES/slater/tmp_1_3.rdf similarity index 100% rename from examples/USER-MISC/slater/tmp_1_3.rdf rename to examples/PACKAGES/slater/tmp_1_3.rdf diff --git a/examples/USER-MISC/slater/tmp_2_2.rdf b/examples/PACKAGES/slater/tmp_2_2.rdf similarity index 100% rename from examples/USER-MISC/slater/tmp_2_2.rdf rename to examples/PACKAGES/slater/tmp_2_2.rdf diff --git a/examples/USER-MISC/slater/tmp_2_3.rdf b/examples/PACKAGES/slater/tmp_2_3.rdf similarity index 100% rename from examples/USER-MISC/slater/tmp_2_3.rdf rename to examples/PACKAGES/slater/tmp_2_3.rdf diff --git a/examples/USER-MISC/slater/tmp_3_3.rdf b/examples/PACKAGES/slater/tmp_3_3.rdf similarity index 100% rename from examples/USER-MISC/slater/tmp_3_3.rdf rename to examples/PACKAGES/slater/tmp_3_3.rdf diff --git a/examples/USER-MISC/temper_npt/data.peptide b/examples/PACKAGES/temper_npt/data.peptide similarity index 100% rename from examples/USER-MISC/temper_npt/data.peptide rename to examples/PACKAGES/temper_npt/data.peptide diff --git a/examples/USER-MISC/temper_npt/in.temper_npt b/examples/PACKAGES/temper_npt/in.temper_npt similarity index 100% rename from examples/USER-MISC/temper_npt/in.temper_npt rename to examples/PACKAGES/temper_npt/in.temper_npt diff --git a/examples/USER-MISC/temper_npt/log.temper_npt-17Aug17.g++.8 b/examples/PACKAGES/temper_npt/log.temper_npt-17Aug17.g++.8 similarity index 100% rename from examples/USER-MISC/temper_npt/log.temper_npt-17Aug17.g++.8 rename to examples/PACKAGES/temper_npt/log.temper_npt-17Aug17.g++.8 diff --git a/examples/USER-MISC/temper_npt/log.temper_npt-17Aug17.g++.8.0 b/examples/PACKAGES/temper_npt/log.temper_npt-17Aug17.g++.8.0 similarity index 100% rename from examples/USER-MISC/temper_npt/log.temper_npt-17Aug17.g++.8.0 rename to examples/PACKAGES/temper_npt/log.temper_npt-17Aug17.g++.8.0 diff --git a/examples/USER-MISC/temper_npt/log.temper_npt-17Aug17.g++.8.1 b/examples/PACKAGES/temper_npt/log.temper_npt-17Aug17.g++.8.1 similarity index 100% rename from examples/USER-MISC/temper_npt/log.temper_npt-17Aug17.g++.8.1 rename to examples/PACKAGES/temper_npt/log.temper_npt-17Aug17.g++.8.1 diff --git a/examples/USER-MISC/temper_npt/log.temper_npt-17Aug17.g++.8.2 b/examples/PACKAGES/temper_npt/log.temper_npt-17Aug17.g++.8.2 similarity index 100% rename from examples/USER-MISC/temper_npt/log.temper_npt-17Aug17.g++.8.2 rename to examples/PACKAGES/temper_npt/log.temper_npt-17Aug17.g++.8.2 diff --git a/examples/USER-MISC/temper_npt/log.temper_npt-17Aug17.g++.8.3 b/examples/PACKAGES/temper_npt/log.temper_npt-17Aug17.g++.8.3 similarity index 100% rename from examples/USER-MISC/temper_npt/log.temper_npt-17Aug17.g++.8.3 rename to examples/PACKAGES/temper_npt/log.temper_npt-17Aug17.g++.8.3 diff --git a/examples/USER-MISC/temper_npt/log.temper_npt-17Aug17.g++.8.4 b/examples/PACKAGES/temper_npt/log.temper_npt-17Aug17.g++.8.4 similarity index 100% rename from examples/USER-MISC/temper_npt/log.temper_npt-17Aug17.g++.8.4 rename to examples/PACKAGES/temper_npt/log.temper_npt-17Aug17.g++.8.4 diff --git a/examples/USER-MISC/temper_npt/log.temper_npt-17Aug17.g++.8.5 b/examples/PACKAGES/temper_npt/log.temper_npt-17Aug17.g++.8.5 similarity index 100% rename from examples/USER-MISC/temper_npt/log.temper_npt-17Aug17.g++.8.5 rename to examples/PACKAGES/temper_npt/log.temper_npt-17Aug17.g++.8.5 diff --git a/examples/USER-MISC/temper_npt/log.temper_npt-17Aug17.g++.8.6 b/examples/PACKAGES/temper_npt/log.temper_npt-17Aug17.g++.8.6 similarity index 100% rename from examples/USER-MISC/temper_npt/log.temper_npt-17Aug17.g++.8.6 rename to examples/PACKAGES/temper_npt/log.temper_npt-17Aug17.g++.8.6 diff --git a/examples/USER-MISC/temper_npt/log.temper_npt-17Aug17.g++.8.7 b/examples/PACKAGES/temper_npt/log.temper_npt-17Aug17.g++.8.7 similarity index 100% rename from examples/USER-MISC/temper_npt/log.temper_npt-17Aug17.g++.8.7 rename to examples/PACKAGES/temper_npt/log.temper_npt-17Aug17.g++.8.7 diff --git a/examples/USER-MISC/ti/in.ti_spring b/examples/PACKAGES/ti/in.ti_spring similarity index 100% rename from examples/USER-MISC/ti/in.ti_spring rename to examples/PACKAGES/ti/in.ti_spring diff --git a/examples/README b/examples/README index 68825a7dbd..9e873b49b9 100644 --- a/examples/README +++ b/examples/README @@ -5,8 +5,7 @@ problems you can run with LAMMPS. lower-case directories = simple test problems for LAMMPS and its packages upper-case directories = more complex problems -PACKAGES directory with its own sub-directories = tests for specific packages -USER-MISC directory with its own sub-directories = tests for commands in USER-MISC package +PACKAGES directory with its own sub-directories = tests for styles from specific packages Each is discussed below. @@ -172,10 +171,12 @@ energy-evaluation engine in a iterative Monte Carlo energy-relaxation loop. The PACKAGES directory contains subdirectories of example scripts for -individual packages. Most of those are contributed by the corresponding -package developers. See the README files in those directories -for more info. See the doc/html/Build_package.html file for more info -about installing and building packages. +individual packages or additional individual styles. Most of those are +contributed by the corresponding package or style developers. +See the README files in those directories (if available) or the +corresponding doc page in the manual for more info. See the +https://docs.lammps.org/Build_package.html page for more info about +installing and building packages. The TIP4P directory has an example for testing forces computed on a GPU. @@ -186,12 +187,6 @@ lj, real, and metal. So that you can see how to scale/unscale input and output values read/written by LAMMPS to verify you are performing the same simulation in different unit systems. -The USER-MISC directory contains subdirectories of example scripts for -individual commands in the USER-MISC package. Most of those are contributed -by the corresponding developers. See the README files in those directories -for more info. See the doc/html/Build_package.html file for more info -about installing and building packages. - The VISCOSITY directory has example scripts for computing the viscosity of a LJ liquid using 4 different methods. See the VISCOSITY/README file for more info. From 2e4119dca7d1b0d515c013024908b48462f76aad Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 24 Jul 2021 20:54:24 -0400 Subject: [PATCH 522/726] update package list and details for newly created packages and removed USER-MISC --- doc/src/Packages_details.rst | 145 +++++++++++++++++++++++++++-------- doc/src/Packages_list.rst | 35 +++++++-- 2 files changed, 141 insertions(+), 39 deletions(-) diff --git a/doc/src/Packages_details.rst b/doc/src/Packages_details.rst index 6d3df5c955..5051ce937c 100644 --- a/doc/src/Packages_details.rst +++ b/doc/src/Packages_details.rst @@ -49,6 +49,11 @@ page gives those details. * :ref:`DPD-SMOOTH ` * :ref:`DRUDE ` * :ref:`EFF ` + * :ref:`EXTRA-COMPUTE ` + * :ref:`EXTRA-DUMP ` + * :ref:`EXTRA-FIX ` + * :ref:`EXTRA-MOLECULE ` + * :ref:`EXTRA-PAIR ` * :ref:`FEP ` * :ref:`GPU ` * :ref:`GRANULAR ` @@ -84,6 +89,7 @@ page gives those details. * :ref:`NETCDF ` * :ref:`OPENMP ` * :ref:`OPT ` + * :ref:`ORIENT ` * :ref:`PERI ` * :ref:`PHONON ` * :ref:`PLUGIN ` @@ -109,7 +115,6 @@ page gives those details. * :ref:`VORONOI ` * :ref:`VTK ` * :ref:`YAFF ` - * :ref:`USER-MISC ` ---------- @@ -757,6 +762,86 @@ tools/eff; see its README file. * tools/eff * https://www.lammps.org/movies.html#eff +------------------- + +.. _PKG-EXTRA-COMPUTE: + +EXTRA-COMPUTE package +--------------------- + +**Contents:** + +Additional compute styles that are less commonly used. + +**Supporting info:** + +* src/EXTRA-COMPUTE: filenames -> commands +* :doc:`compute ` + +---------- + +.. _PKG-EXTRA-DUMP: + +EXTRA-DUMP package +------------------ + +**Contents:** + +Additional dump styles that are less commonly used. + +**Supporting info:** + +* src/EXTRA-DUMP: filenames -> commands +* :doc:`dump ` + +---------- + +.. _PKG-EXTRA-FIX: + +EXTRA-FIX package +----------------- + +**Contents:** + +Additional fix styles that are less commonly used. + +**Supporting info:** + +* src/EXTRA-FIX: filenames -> commands +* :doc:`fix ` + +---------- + +.. _PKG-EXTRA-MOLECULE: + +EXTRA-MOLECULE package +---------------------- + +**Contents:** + +Additional bond, angle, dihedral, and improper styles that are less commonly used. + +**Supporting info:** + +* src/EXTRA-MOLECULE: filenames -> commands +* :doc:`molecular styles ` + +---------- + +.. _PKG-EXTRA-PAIR: + +EXTRA-PAIR package +------------------ + +**Contents:** + +Additional pair styles that are less commonly used. + +**Supporting info:** + +* src/EXTRA-PAIR: filenames -> commands +* :doc:`pair_style ` + ---------- .. _PKG-FEP: @@ -1448,7 +1533,7 @@ MISC package **Contents:** -A variety of compute, fix, pair, dump styles with specialized +A variety of compute, fix, pair, bond styles with specialized capabilities that don't align with other packages. Do a directory listing, "ls src/MISC", to see the list of commands. @@ -1461,20 +1546,15 @@ listing, "ls src/MISC", to see the list of commands. * src/MISC: filenames -> commands * :doc:`bond_style special ` -* :doc:`compute ti ` -* :doc:`fix deposit ` -* :doc:`fix evaporate ` +* :doc:`compute viscosity/cos ` +* :doc:`fix accelerate/cos ` * :doc:`fix imd ` -* :doc:`fix oneway ` -* :doc:`fix orient/fcc ` -* :doc:`fix ttm ` -* :doc:`fix thermal/conductivity ` -* :doc:`fix viscosity ` +* :doc:`fix ipi ` +* :doc:`pair_style agni ` * :doc:`pair_style list ` -* examples/KAPPA -* examples/VISCOSITY -* https://www.lammps.org/pictures.html#ttm -* https://www.lammps.org/movies.html#evaporation +* :doc:`pair_style srp ` +* :doc:`pair_style tracker ` +* :doc:`fix pair/tracker ` ---------- @@ -1959,6 +2039,23 @@ This package has :ref:`specific installation instructions ` on the :doc:`Bu * Search the :doc:`pair style ` page for styles followed by (t) * `Benchmarks page `_ of web site +.. _PKG-ORIENT: + +ORIENT package +-------------- + +**Contents:** + +A few fixes that apply orientation dependent forces for studying +grain boundary migration. + +**Supporting info:** + +* src/ORIENT: filenames -> commands +* :doc:`fix orient/bcc ` +* :doc:`fix orient/fcc ` +* :doc:`fix orient/eco ` + ---------- .. _PKG-PERI: @@ -2687,23 +2784,3 @@ which discuss the `QuickFF `_ methodology. ---------- -.. _PKG-USER-MISC: - -USER-MISC package ------------------ - -**Contents:** - -A potpourri of (mostly) unrelated features contributed to LAMMPS by -users. Each feature is a single fix, compute, pair, bond, angle, -dihedral, improper, or command style. - -**Authors:** The author for each style in the package is listed in the -src/USER-MISC/README file. - -**Supporting info:** - -* src/USER-MISC: filenames -> commands -* src/USER-MISC/README -* one page per individual command listed in src/USER-MISC/README -* examples/USER-MISC diff --git a/doc/src/Packages_list.rst b/doc/src/Packages_list.rst index 913389dcc6..22dfa2c69e 100644 --- a/doc/src/Packages_list.rst +++ b/doc/src/Packages_list.rst @@ -143,6 +143,31 @@ whether an extra library is needed to build and use the package: - :doc:`pair_style eff/cut ` - PACKAGES/eff - no + * - :ref:`EXTRA-COMPUTE ` + - additional compute styles + - :doc:`compute ` + - n/a + - no + * - :ref:`EXTRA-DUMP ` + - additional dump styles + - :doc:`dump ` + - n/a + - no + * - :ref:`EXTRA-FIX ` + - additional fix styles + - :doc:`fix ` + - n/a + - no + * - :ref:`EXTRA-MOLECULE ` + - additional molecular styles + - :doc:`molecular styles ` + - n/a + - no + * - :ref:`EXTRA-PAIR ` + - additional pair styles + - :doc:`pair_style ` + - n/a + - no * - :ref:`FEP ` - free energy perturbation - :doc:`compute fep ` @@ -318,6 +343,11 @@ whether an extra library is needed to build and use the package: - :doc:`Speed opt ` - `Benchmarks `_ - no + * - :ref:`ORIENT ` + - fixes for orientation depended forces + - :doc:`fix orient/* ` + - PACKAGES/orient_eco + - no * - :ref:`PERI ` - Peridynamics models - :doc:`pair_style peri ` @@ -428,11 +458,6 @@ whether an extra library is needed to build and use the package: - :doc:`fix nvt/uef ` - PACKAGES/uef - no - * - :ref:`USER-MISC ` - - single-file contributions - - USER-MISC/README - - USER-MISC - - no * - :ref:`VORONOI ` - Voronoi tesselation - :doc:`compute voronoi/atom ` From 9d162d865a7a05ab804ee5e7d02bb03cee95f202 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 25 Jul 2021 09:59:56 -0400 Subject: [PATCH 523/726] move pimd to REPLICA --- src/{EXTRA-FIX => REPLICA}/fix_pimd.cpp | 0 src/{EXTRA-FIX => REPLICA}/fix_pimd.h | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename src/{EXTRA-FIX => REPLICA}/fix_pimd.cpp (100%) rename src/{EXTRA-FIX => REPLICA}/fix_pimd.h (100%) diff --git a/src/EXTRA-FIX/fix_pimd.cpp b/src/REPLICA/fix_pimd.cpp similarity index 100% rename from src/EXTRA-FIX/fix_pimd.cpp rename to src/REPLICA/fix_pimd.cpp diff --git a/src/EXTRA-FIX/fix_pimd.h b/src/REPLICA/fix_pimd.h similarity index 100% rename from src/EXTRA-FIX/fix_pimd.h rename to src/REPLICA/fix_pimd.h From 9d9b0897003d81e350cb2ce1b6d0870fbb795405 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 25 Jul 2021 10:03:16 -0400 Subject: [PATCH 524/726] get rid of references to USER-MISC in the general discussion --- doc/src/Developer_org.rst | 2 +- doc/src/Errors_bugs.rst | 5 ++- doc/src/Examples.rst | 7 +-- doc/src/Howto_cmake.rst | 2 +- doc/src/Howto_replica.rst | 49 ++++++++++---------- doc/src/Intro_website.rst | 3 +- doc/src/Modify_contribute.rst | 84 ++++++++++++++++++----------------- doc/src/Packages_details.rst | 3 -- 8 files changed, 77 insertions(+), 78 deletions(-) diff --git a/doc/src/Developer_org.rst b/doc/src/Developer_org.rst index 133d567cb3..b5acdf5631 100644 --- a/doc/src/Developer_org.rst +++ b/doc/src/Developer_org.rst @@ -17,7 +17,7 @@ currently supports building with :doc:`conventional makefiles differ in how packages are enabled or disabled for inclusion into a LAMMPS binary so they cannot be mixed. The source files for each package are in all-uppercase sub-directories of the ``src`` folder, for -example ``src/MOLECULE`` or ``src/USER-MISC``. The ``src/STUBS`` +example ``src/MOLECULE`` or ``src/EXTRA-MOLECULE``. The ``src/STUBS`` sub-directory is not a package but contains a dummy MPI library, that is used when building a serial version of the code. The ``src/MAKE`` directory and its sub-directories contain makefiles with settings and diff --git a/doc/src/Errors_bugs.rst b/doc/src/Errors_bugs.rst index 1ea368a5a3..dbec1ef895 100644 --- a/doc/src/Errors_bugs.rst +++ b/doc/src/Errors_bugs.rst @@ -17,8 +17,9 @@ the steps outlined below: if your issue has already been reported and if it is still open. * Check the `GitHub Pull Requests page `_ to see if there is already a fix for your bug pending. - * Check the `mailing list archives `_ - to see if the issue has been discussed before. + * Check the `mailing list archives `_ or + the `LAMMPS forum `_ to see if the + issue has been discussed before. If none of these steps yields any useful information, please file a new bug report on the `GitHub Issue page `_. diff --git a/doc/src/Examples.rst b/doc/src/Examples.rst index df9d1616a6..043820c5dd 100644 --- a/doc/src/Examples.rst +++ b/doc/src/Examples.rst @@ -207,14 +207,12 @@ Uppercase directories +------------+--------------------------------------------------------------------------------------------------+ | MC | using LAMMPS in a Monte Carlo mode to relax the energy of a system | +------------+--------------------------------------------------------------------------------------------------+ -| PACKAGES | examples for specific packages and contributed commands in USER-MISC | +| PACKAGES | examples for specific packages and contributed commands | +------------+--------------------------------------------------------------------------------------------------+ | SPIN | examples for features of the SPIN package | +------------+--------------------------------------------------------------------------------------------------+ | UNITS | examples that run the same simulation in lj, real, metal units | +------------+--------------------------------------------------------------------------------------------------+ -| USER-MISC | examples for commands in the USER-MISC packages | -+------------+--------------------------------------------------------------------------------------------------+ | VISCOSITY | compute viscosity via several methods | +------------+--------------------------------------------------------------------------------------------------+ @@ -228,7 +226,4 @@ of the sub-directories have their own README files which give further instructions. See the :doc:`Packages_details ` doc page for more info on specific packages. -Similarly the USER-MISC directory has sub-directories for examples -corresponding to individual commands or styles in the USER-MISC package. - .. _openkim: https://openkim.org diff --git a/doc/src/Howto_cmake.rst b/doc/src/Howto_cmake.rst index 244bcf6323..832a8b8770 100644 --- a/doc/src/Howto_cmake.rst +++ b/doc/src/Howto_cmake.rst @@ -362,7 +362,7 @@ have to be enabled to be included into a LAMMPS executable. Packages are enabled through setting variables of the kind ``PKG_`` to ``on`` and disabled by setting them to ``off`` (or using ``yes``, ``no``, ``1``, ``0`` correspondingly). ```` has to be replaced by -the name of the package, e.g. ``MOLECULE`` or ``USER-MISC``. +the name of the package, e.g. ``MOLECULE`` or ``EXTRA-PAIR``. Using presets diff --git a/doc/src/Howto_replica.rst b/doc/src/Howto_replica.rst index e9fba37dcd..e34f3523f0 100644 --- a/doc/src/Howto_replica.rst +++ b/doc/src/Howto_replica.rst @@ -8,34 +8,33 @@ periodically. These are the relevant commands: -* :doc:`neb ` for nudged elastic band calculations +* :doc:`hyper ` for bond boost hyperdynamics (HD) +* :doc:`neb ` for nudged elastic band calculations (NEB) * :doc:`neb_spin ` for magnetic nudged elastic band calculations -* :doc:`prd ` for parallel replica dynamics -* :doc:`tad ` for temperature accelerated dynamics -* :doc:`temper ` for parallel tempering +* :doc:`prd ` for parallel replica dynamics (PRD) +* :doc:`tad ` for temperature accelerated dynamics (TAD) +* :doc:`temper ` for parallel tempering with fixed volume +* :doc:`temper/npt ` for parallel tempering extended for NPT +* :doc:`temper/grem ` for parallel tempering with generalized replica exchange (gREM) * :doc:`fix pimd ` for path-integral molecular dynamics (PIMD) -NEB is a method for finding transition states and barrier energies. -PRD and TAD are methods for performing accelerated dynamics to find -and perform infrequent events. Parallel tempering or replica exchange -runs different replicas at a series of temperature to facilitate -rare-event sampling. +NEB is a method for finding transition states and barrier potential energies. +HD, PRD, and TAD are methods for performing accelerated dynamics to find and +perform infrequent events. Parallel tempering or replica exchange runs +different replicas at a series of temperature to facilitate rare-event +sampling. PIMD runs different replicas whose individual particles in different +replicas are coupled together by springs to model a system of ring-polymers which +can represent the quantum nature of atom cores. These commands can only be used if LAMMPS was built with the REPLICA package. See the :doc:`Build package ` doc page for more info. -PIMD runs different replicas whose individual particles are coupled -together by springs to model a system or ring-polymers. - -This commands can only be used if LAMMPS was built with the USER-MISC -package. See the :doc:`Build package ` doc page for more -info. - In all these cases, you must run with one or more processors per replica. The processors assigned to each replica are determined at -run-time by using the :doc:`-partition command-line switch ` to launch LAMMPS on multiple partitions, -which in this context are the same as replicas. E.g. these commands: +run-time by using the :doc:`-partition command-line switch +` to launch LAMMPS on multiple partitions, which in this +context are the same as replicas. E.g. these commands: .. code-block:: bash @@ -46,9 +45,11 @@ would each run 8 replicas, on either 16 or 8 processors. Note the use of the :doc:`-in command-line switch ` to specify the input script which is required when running in multi-replica mode. -Also note that with MPI installed on a machine (e.g. your desktop), -you can run on more (virtual) processors than you have physical -processors. Thus the above commands could be run on a -single-processor (or few-processor) desktop so that you can run -a multi-replica simulation on more replicas than you have -physical processors. +Also note that with MPI installed on a machine (e.g. your desktop), you +can run on more (virtual) processors than you have physical processors. +Thus the above commands could be run on a single-processor (or +few-processor) desktop so that you can run a multi-replica simulation on +more replicas than you have physical processors. This is useful for +testing and debugging, since with most modern processors and MPI +libraries the efficiency of a calculation can severely diminish when +oversubscribing processors. diff --git a/doc/src/Intro_website.rst b/doc/src/Intro_website.rst index 3fccaf4dca..2ea1969f2a 100644 --- a/doc/src/Intro_website.rst +++ b/doc/src/Intro_website.rst @@ -20,7 +20,8 @@ available online are listed below. * `Glossary of terms relevant to LAMMPS `_ * `LAMMPS highlights with images `_ * `LAMMPS highlights with movies `_ -* `Mail list `_ +* `Mailing list `_ +* `LAMMPS forum `_ * `Workshops `_ * `Tutorials `_ diff --git a/doc/src/Modify_contribute.rst b/doc/src/Modify_contribute.rst index 42ce8d2498..bcd368c3a3 100644 --- a/doc/src/Modify_contribute.rst +++ b/doc/src/Modify_contribute.rst @@ -25,13 +25,16 @@ the work of others (and possibly get scooped by them) or have your work duplicated by others. For informal communication with (some of) the LAMMPS developers you may -ask to join the `LAMMPS developers on Slack `_. -This slack work space is by invitation only. Thus for access, please -send an e-mail to ``slack@lammps.org`` explaining what part of LAMMPS -you are working on. Only discussions related to LAMMPS development are -tolerated, so this is **NOT** for people that look for help with compiling, -installing, or using LAMMPS. Please contact the `lammps-users mailing -list `_ for those purposes instead. +ask to join the `LAMMPS developers on Slack +`_. This slack work space is by invitation +only. Thus for access, please send an e-mail to ``slack@lammps.org`` +explaining what part of LAMMPS you are working on. Only discussions +related to LAMMPS development are tolerated, so this is **NOT** for +people that look for help with compiling, installing, or using +LAMMPS. Please contact the +`lammps-users mailing list `_ or the +`LAMMPS forum `_ for those purposes +instead. How quickly your contribution will be integrated depends largely on how much effort it will cause to integrate and test it, how many and what @@ -49,11 +52,9 @@ with gzip. Please only use gzip compression, as this works well and is available on all platforms. If the new features/files are broadly useful we may add them as core -files to LAMMPS or as part of a :doc:`package `. The -USER-MISC package is simply a collection of (mostly) unrelated single -files, which is the simplest way to have your contribution quickly added -to the LAMMPS distribution. All packages are listed and described -on the :doc:`Packages details ` doc page. +files to LAMMPS or as part of a :doc:`package `. All +packages are listed and described on the :doc:`Packages details +` doc page. Note that by providing us files to release, you are agreeing to make them open-source, i.e. we can release them under the terms of the GPL @@ -92,7 +93,7 @@ trivial change is making a parent-class method "virtual" when you derive a new child class from it. Here is a checklist of steps you need to follow to submit a single file -or user package for our consideration. Following these steps will save +or package for our consideration. Following these steps will save both you and us time. Please have a look at the existing files in packages in the src directory for examples. If you are uncertain, please ask. @@ -150,37 +151,40 @@ packages in the src directory for examples. If you are uncertain, please ask. You may also use ``// clang-format on/off`` throughout your file to protect sections of the file from being reformatted. -* If you want your contribution to be added as a user-contributed - feature, and it's a single file (actually a \*.cpp and \*.h file) it can - rapidly be added to the USER-MISC directory. Send us the one-line - entry to add to the USER-MISC/README file in that dir, along with the - 2 source files. You can do this multiple times if you wish to - contribute several individual features. +* Please review the list of :doc:`available Packages ` + to see if your contribution could be added to be added to one of them. + It should fit into the general purposed of that package. If it does not + fit well, it can be added to one of the EXTRA- packages or the MISC package. -* If you want your contribution to be added and it has several related - features or is dependent on an external or bundled library, it is best - to make it a package directory with a name like FOO. In addition to - your new files, the directory should contain a README text file. The - README should contain your name and contact information and a brief - description of what your new package does. If your files depend on - other LAMMPS style files also being installed (e.g. because your file - is a derived class from the other LAMMPS class), then an Install.sh - file is also needed to check for those dependencies. See other README - and Install.sh files in other directories as examples. Submit a pull - request on GitHub or send us a tarball of this FOO directory. Pull - requests are strongly encouraged since the greatly reduce the effort - to integrate a contribution and simplify the process of adjusting the - contributed code to cleanly integrate into the LAMMPS distribution. +* If your contribution has several related features that are not covered + by one of the existing packages or is dependent on a library (bundled + or external), it is best to make it a package directory with a name + like FOO. In addition to your new files, the directory should contain + a README text file. The README should contain your name and contact + information and a brief description of what your new package does. If + your files depend on other LAMMPS style files also being installed + (e.g. because your file is a derived class from the other LAMMPS + class), then an Install.sh file is also needed to check for those + dependencies and modifications to src/Depend.sh to trigger the checks. + See other README and Install.sh files in other directories as examples. + Similarly for CMake support changes need to be made to cmake/CMakeLists.txt, + the files in cmake/presets, and possibly a file to cmake/Modules/Packages/ + added. Please check out how this is handled for existing packages and + ask the LAMMPS developers if you need assistance. Please submit a pull + request on GitHub or send us a tarball of this FOO directory and all + modified files. Pull requests are strongly encouraged since they greatly + reduce the effort required to integrate a contribution and simplify the + process of adjusting the contributed code to cleanly fit into the + LAMMPS distribution. * Your new source files need to have the LAMMPS copyright, GPL notice, and your name and email address at the top, like other user-contributed LAMMPS source files. They need to create a class - that is inside the LAMMPS namespace. If the file is for one of the - USER packages, including USER-MISC, then we are not as picky about the - coding style (see above). I.e. the files do not need to be in the - same stylistic format and syntax as other LAMMPS files, though that - would be nice for developers as well as users who try to read your - code. + that is inside the LAMMPS namespace. To simplify maintenance, we + may ask to adjust the progamming style and formatting style to closer + match the rest of LAMMPS. We bundle a clang-format configuration file + that can help with adjusting the formatting, although this is not a + strict requirement. * You **must** also create a **documentation** file for each new command or style you are adding to LAMMPS. For simplicity and convenience, @@ -205,7 +209,7 @@ packages in the src directory for examples. If you are uncertain, please ask. cite itself. Citation labels must be unique across all .rst files. The "Restrictions" section of the doc page should indicate if your command is only available if LAMMPS is built with the appropriate - USER-MISC or FOO package. See other package doc files for examples of + FOO package. See other package doc files for examples of how to do this. Please run at least "make html" and "make spelling" and carefully inspect and proofread the resulting HTML format doc page before submitting your code. Upon submission of a pull request, diff --git a/doc/src/Packages_details.rst b/doc/src/Packages_details.rst index 5051ce937c..28ae032d34 100644 --- a/doc/src/Packages_details.rst +++ b/doc/src/Packages_details.rst @@ -2781,6 +2781,3 @@ which discuss the `QuickFF `_ methodology. * :doc:`pair_style mm3/switch3/coulgauss/long ` * :doc:`pair_style lj/switch3/coulgauss/long ` * examples/PACKAGES/yaff - ----------- - From 513e792eced8ce5530f3155051c74a1d4cae5b50 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 25 Jul 2021 10:15:15 -0400 Subject: [PATCH 525/726] fix required package message --- doc/src/pair_kolmogorov_crespi_full.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/pair_kolmogorov_crespi_full.rst b/doc/src/pair_kolmogorov_crespi_full.rst index 265299cfdd..9408148e72 100644 --- a/doc/src/pair_kolmogorov_crespi_full.rst +++ b/doc/src/pair_kolmogorov_crespi_full.rst @@ -119,7 +119,7 @@ that reads a restart file. Restrictions """""""""""" -This pair style is part of the USER-MISCt package. It is only enabled +This pair style is part of the INTERLAYER package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. From 41db4235d647b1d60ece03e728b5474f94e40400 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 25 Jul 2021 10:28:40 -0400 Subject: [PATCH 526/726] update package names for pair style moved away from USER-MISC --- doc/src/pair_agni.rst | 4 ++-- doc/src/pair_cosine_squared.rst | 2 +- doc/src/pair_coul_diel.rst | 2 +- doc/src/pair_coul_slater.rst | 2 +- doc/src/pair_dipole.rst | 13 +++++-------- doc/src/pair_e3b.rst | 4 ++-- doc/src/pair_edip.rst | 2 +- doc/src/pair_gauss.rst | 6 +++--- doc/src/pair_local_density.rst | 5 +++-- doc/src/pair_mdf.rst | 2 +- doc/src/pair_meam_spline.rst | 2 +- doc/src/pair_meam_sw_spline.rst | 4 ++-- doc/src/pair_momb.rst | 2 +- doc/src/pair_morse.rst | 3 ++- doc/src/pair_srp.rst | 2 +- doc/src/pair_wf_cut.rst | 2 +- 16 files changed, 28 insertions(+), 29 deletions(-) diff --git a/doc/src/pair_agni.rst b/doc/src/pair_agni.rst index cfbcfb0c05..2e4d95760f 100644 --- a/doc/src/pair_agni.rst +++ b/doc/src/pair_agni.rst @@ -63,7 +63,7 @@ to specify the path for the force field file. An AGNI force field is fully specified by the filename which contains the parameters of the force field, i.e., the reference training environments used to construct the machine learning force field. Example force field -and input files are provided in the examples/USER-MISC/agni directory. +and input files are provided in the examples/PACKAGES/agni directory. ---------- @@ -112,7 +112,7 @@ It should work with damped dynamics based minimizers like *fire* or *quickmin*\ . However, one can access the energy via thermodynamic integration of the forces as discussed in :ref:`(Botu3) `. This pair style is part of the -USER-MISC package. It is only enabled if LAMMPS was built with that +MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. diff --git a/doc/src/pair_cosine_squared.rst b/doc/src/pair_cosine_squared.rst index faa45c9286..185bffff99 100644 --- a/doc/src/pair_cosine_squared.rst +++ b/doc/src/pair_cosine_squared.rst @@ -107,7 +107,7 @@ These pair styles can only be used via the *pair* keyword of the Restrictions """""""""""" -The *cosine/squared* style is part of the USER-MISC package. It is only +The *cosine/squared* style is part of the EXTRA-PAIR package. It is only enabled if LAMMPS is build with that package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/pair_coul_diel.rst b/doc/src/pair_coul_diel.rst index bcf0c48e4d..573329a1bb 100644 --- a/doc/src/pair_coul_diel.rst +++ b/doc/src/pair_coul_diel.rst @@ -95,7 +95,7 @@ This pair style can only be used via the *pair* keyword of the Restrictions """""""""""" -This style is part of the USER-MISC package. It is only enabled if +This style is part of the EXTRA-PAIR package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/pair_coul_slater.rst b/doc/src/pair_coul_slater.rst index a4d8b253b1..f3dab4c778 100644 --- a/doc/src/pair_coul_slater.rst +++ b/doc/src/pair_coul_slater.rst @@ -100,7 +100,7 @@ Restrictions The *coul/slater/long* style requires the long-range solvers included in the KSPACE package. -These styles are part of the USER-MISC package. They are only enabled if +These styles are part of the EXTRA-PAIR package. They are only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/pair_dipole.rst b/doc/src/pair_dipole.rst index 602c374d9f..7645966229 100644 --- a/doc/src/pair_dipole.rst +++ b/doc/src/pair_dipole.rst @@ -325,15 +325,12 @@ This pair style can only be used via the *pair* keyword of the Restrictions """""""""""" -The *lj/cut/dipole/cut*\ , *lj/cut/dipole/long*\ , and -*lj/long/dipole/long* styles are part of the DIPOLE package. They are -only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +The *lj/cut/dipole/cut*\ , *lj/cut/dipole/long*\ , *lj/long/dipole/long*, +and lj/sf/dipole/sf* styles are part of the DIPOLE package. They are only +enabled if LAMMPS was built with that package. See the +:doc:`Build package ` doc page for more info. -The *lj/sf/dipole/sf* style is part of the USER-MISC package. It is -only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. - -Using dipole pair styles with *electron* :doc:`units ` is not -currently supported. +Using dipole pair styles with *electron* :doc:`units ` is not currently supported. Related commands """""""""""""""" diff --git a/doc/src/pair_e3b.rst b/doc/src/pair_e3b.rst index 2083e61119..9aeebfc020 100644 --- a/doc/src/pair_e3b.rst +++ b/doc/src/pair_e3b.rst @@ -111,7 +111,7 @@ If the neigh setting is too large, the pair style will use more memory than nece This pair style tallies a breakdown of the total E3B potential energy into sub-categories, which can be accessed via the :doc:`compute pair ` command as a vector of values of length 4. The 4 values correspond to the terms in the first equation above: the E2 term, the Ea term, the Eb term, and the Ec term. -See the examples/USER-MISC/e3b directory for a complete example script. +See the examples/PACKAGES/e3b directory for a complete example script. ---------- @@ -132,7 +132,7 @@ This pair style is incompatible with :doc:`respa `. Restrictions """""""""""" -This pair style is part of the USER-MISC package. It is only enabled +This pair style is part of the EXTRA-PAIR package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. This pair style requires the :doc:`newton ` setting to be "on" diff --git a/doc/src/pair_edip.rst b/doc/src/pair_edip.rst index 8f8d70f2f6..b57ba3d162 100644 --- a/doc/src/pair_edip.rst +++ b/doc/src/pair_edip.rst @@ -150,7 +150,7 @@ Restrictions """""""""""" This pair style can only be used if LAMMPS was built with the -USER-MISC package. See the :doc:`Build package ` doc +MANYBODY package. See the :doc:`Build package ` doc page for more info. This pair style requires the :doc:`newton ` setting to be "on" diff --git a/doc/src/pair_gauss.rst b/doc/src/pair_gauss.rst index 9b516cce7b..71b8df6e3a 100644 --- a/doc/src/pair_gauss.rst +++ b/doc/src/pair_gauss.rst @@ -163,9 +163,9 @@ heading) the following commands could be included in an input script: Restrictions """""""""""" -The *gauss/cut* style is part of the USER-MISC package. It is only -enabled if LAMMPS is build with that package. See the :doc:`Build -package ` doc page for more info. +The *gauss* and *gauss/cut* styles are part of the EXTRA-PAIR package. +They are only enabled if LAMMPS is build with that package. See the +:doc:`Build package ` doc page for more info. The *gauss* style does not apply :doc:`special_bonds ` factors. When using this pair style on a system that has bonds, the diff --git a/doc/src/pair_local_density.rst b/doc/src/pair_local_density.rst index 8fab58ef12..c2bae5ced9 100644 --- a/doc/src/pair_local_density.rst +++ b/doc/src/pair_local_density.rst @@ -220,8 +220,9 @@ an input script that reads a restart file. Restrictions """""""""""" -The local/density pair style is a part of the USER-MISC package. It is only -enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +The local/density pair style is a part of the MANYBODY package. It is +only enabled if LAMMPS was built with that package. See the +:doc:`Build package ` doc page for more info. Related commands """""""""""""""" diff --git a/doc/src/pair_mdf.rst b/doc/src/pair_mdf.rst index 84d312e47c..1e4ad1f8d6 100644 --- a/doc/src/pair_mdf.rst +++ b/doc/src/pair_mdf.rst @@ -167,7 +167,7 @@ Restrictions """""""""""" These pair styles can only be used if LAMMPS was built with the -USER-MISC package. See the :doc:`Build package ` doc +EXTRA-PAIR package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/pair_meam_spline.rst b/doc/src/pair_meam_spline.rst index a24b74bc7f..e7680ddc15 100644 --- a/doc/src/pair_meam_spline.rst +++ b/doc/src/pair_meam_spline.rst @@ -144,7 +144,7 @@ for pair interactions. This pair style does not support mapping multiple atom types to the same element. -This pair style is only enabled if LAMMPS was built with the USER-MISC +This pair style is only enabled if LAMMPS was built with the MANYBODY package. See the :doc:`Build package ` doc page for more info. diff --git a/doc/src/pair_meam_sw_spline.rst b/doc/src/pair_meam_sw_spline.rst index b57d122774..79236819b9 100644 --- a/doc/src/pair_meam_sw_spline.rst +++ b/doc/src/pair_meam_sw_spline.rst @@ -94,7 +94,7 @@ potentials. systems in the future. Example input scripts that use this pair style are provided -in the examples/USER-MISC/meam_sw_spline directory. +in the examples/PACKAGES/meam_sw_spline directory. ---------- @@ -124,7 +124,7 @@ Restrictions This pair style requires the :doc:`newton ` setting to be "on" for pair interactions. -This pair style is only enabled if LAMMPS was built with the USER-MISC +This pair style is only enabled if LAMMPS was built with the MANYBODY package. See the :doc:`Build package ` doc page for more info. diff --git a/doc/src/pair_momb.rst b/doc/src/pair_momb.rst index b1d43252fd..71dfe84087 100644 --- a/doc/src/pair_momb.rst +++ b/doc/src/pair_momb.rst @@ -55,7 +55,7 @@ read by the :doc:`read_data ` as described below: Restrictions """""""""""" -This style is part of the USER-MISC package. It is only enabled if +This style is part of the EXTRA-PAIR package. It is only enabled if LAMMPS is built with that package. See the :doc:`Build package ` doc page on for more info. diff --git a/doc/src/pair_morse.rst b/doc/src/pair_morse.rst index 87638e16f4..b977c58eaa 100644 --- a/doc/src/pair_morse.rst +++ b/doc/src/pair_morse.rst @@ -127,7 +127,8 @@ Restrictions """""""""""" The *morse/smooth/linear* pair style is only enabled if LAMMPS was -built with the USER-MISC package. See the :doc:`Build package ` doc page for more info. +built with the EXTRA-PAIR package. +See the :doc:`Build package ` doc page for more info. Related commands """""""""""""""" diff --git a/doc/src/pair_srp.rst b/doc/src/pair_srp.rst index 05168ce1ba..c1e8403022 100644 --- a/doc/src/pair_srp.rst +++ b/doc/src/pair_srp.rst @@ -150,7 +150,7 @@ This pair style can only be used via the *pair* keyword of the Restrictions """""""""""" -This pair style is part of the USER-MISC package. It is only enabled +This pair style is part of the MISC package. It is only enabled if LAMMPS was built with that package. See the Making LAMMPS section for more info. diff --git a/doc/src/pair_wf_cut.rst b/doc/src/pair_wf_cut.rst index e69b982d8a..6ae1c3e897 100644 --- a/doc/src/pair_wf_cut.rst +++ b/doc/src/pair_wf_cut.rst @@ -99,7 +99,7 @@ and *outer* keywords of the :doc:`run_style respa ` command. Restrictions """""""""""" This pair style can only be used if LAMMPS was built with the -USER-MISC package. See the :doc:`Build package ` doc +EXTRA-PAIR package. See the :doc:`Build package ` doc page for more info. Related commands From afc54639c464491bd8636ef8382c3c1801e3c46e Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 25 Jul 2021 10:42:35 -0400 Subject: [PATCH 527/726] update references to USER-MISC package --- doc/src/compute_ackland_atom.rst | 2 +- doc/src/compute_basal_atom.rst | 4 ++-- doc/src/compute_cnp_atom.rst | 4 ++-- doc/src/compute_entropy_atom.rst | 2 +- doc/src/compute_gyration_shape.rst | 2 +- doc/src/compute_gyration_shape_chunk.rst | 2 +- doc/src/compute_hma.rst | 2 +- doc/src/compute_momentum.rst | 2 +- doc/src/compute_pressure_cylinder.rst | 2 +- doc/src/compute_stress_mop.rst | 2 +- doc/src/compute_temp_rotate.rst | 2 +- doc/src/compute_viscosity_cos.rst | 2 +- doc/src/fix_accelerate_cos.rst | 2 +- doc/src/fix_ave_correlate_long.rst | 2 +- doc/src/fix_electron_stopping.rst | 4 ++-- doc/src/fix_ffl.rst | 2 +- doc/src/fix_filter_corotate.rst | 2 +- doc/src/fix_flow_gauss.rst | 2 +- doc/src/fix_gle.rst | 2 +- doc/src/fix_ipi.rst | 9 +++++---- doc/src/fix_momentum.rst | 2 +- doc/src/fix_npt_cauchy.rst | 2 +- doc/src/fix_nvk.rst | 5 +++-- doc/src/fix_orient.rst | 4 ++-- doc/src/fix_orient_eco.rst | 2 +- doc/src/fix_pafi.rst | 4 ++-- doc/src/fix_pimd.rst | 5 +++-- doc/src/fix_rhok.rst | 4 ++-- doc/src/fix_ti_spring.rst | 5 +++-- doc/src/fix_ttm.rst | 5 ++--- doc/src/fix_wall_ees.rst | 4 ++-- doc/src/fix_wall_reflect_stochastic.rst | 2 +- 32 files changed, 50 insertions(+), 47 deletions(-) diff --git a/doc/src/compute_ackland_atom.rst b/doc/src/compute_ackland_atom.rst index 74922ba17b..b4d4268244 100644 --- a/doc/src/compute_ackland_atom.rst +++ b/doc/src/compute_ackland_atom.rst @@ -69,7 +69,7 @@ LAMMPS output options. Restrictions """""""""""" -This compute is part of the USER-MISC package. It is only enabled if +This compute is part of the EXTRA-COMPUTE package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. The per-atom vector values will be unitless since they are the diff --git a/doc/src/compute_basal_atom.rst b/doc/src/compute_basal_atom.rst index 8d8037e54e..e1b04d48c4 100644 --- a/doc/src/compute_basal_atom.rst +++ b/doc/src/compute_basal_atom.rst @@ -42,7 +42,7 @@ too frequently or to have multiple compute/dump commands, each of which computes this quantity. An example input script that uses this compute is provided -in examples/USER-MISC/basal. +in examples/PACKAGES/basal. Output info """"""""""" @@ -58,7 +58,7 @@ components of a unit vector. Restrictions """""""""""" -This compute is part of the USER-MISC package. It is only enabled if +This compute is part of the EXTRA-COMPUTE package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. The output of this compute will be meaningless unless the atoms are on diff --git a/doc/src/compute_cnp_atom.rst b/doc/src/compute_cnp_atom.rst index 1a1b509162..30f045a67b 100644 --- a/doc/src/compute_cnp_atom.rst +++ b/doc/src/compute_cnp_atom.rst @@ -40,7 +40,7 @@ This parameter is computed using the following formula from .. math:: - Q_{i} = \frac{1}{n_i}\sum_{j = 1}^{n_i} | \sum_{k = 1}^{n_{ij}} \vec{R}_{ik} + \vec{R}_{jk} |^2 + Q_{i} = \frac{1}{n_i}\sum_{j = 1}^{n_i} \left | \sum_{k = 1}^{n_{ij}} \vec{R}_{ik} + \vec{R}_{jk} \right | ^{2} where the index *j* goes over the :math:`n_i` nearest neighbors of atom *i*\ , and the index *k* goes over the :math:`n_{ij}` common nearest neighbors @@ -110,7 +110,7 @@ values: Restrictions """""""""""" -This compute is part of the USER-MISC package. It is only enabled if +This compute is part of the EXTRA-COMPUTE package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/compute_entropy_atom.rst b/doc/src/compute_entropy_atom.rst index 59b0059376..0ca07815d3 100644 --- a/doc/src/compute_entropy_atom.rst +++ b/doc/src/compute_entropy_atom.rst @@ -124,7 +124,7 @@ ordered environments. Restrictions """""""""""" -This compute is part of the USER-MISC package. It is only enabled if +This compute is part of the EXTRA-COMPUTE package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/compute_gyration_shape.rst b/doc/src/compute_gyration_shape.rst index fced528015..b2b22df9ef 100644 --- a/doc/src/compute_gyration_shape.rst +++ b/doc/src/compute_gyration_shape.rst @@ -80,7 +80,7 @@ distance\^2 :doc:`units ` while the sixth one is dimensionless. Restrictions """""""""""" -This compute is part of the USER-MISC package. It is only enabled if +This compute is part of the EXTRA-COMPUTE package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/compute_gyration_shape_chunk.rst b/doc/src/compute_gyration_shape_chunk.rst index 375dc85134..fd0b08cae6 100644 --- a/doc/src/compute_gyration_shape_chunk.rst +++ b/doc/src/compute_gyration_shape_chunk.rst @@ -81,7 +81,7 @@ distance\^2 :doc:`units ` while the sixth one is dimensionless. Restrictions """""""""""" -This compute is part of the USER-MISC package. It is only enabled if +This compute is part of the EXTRA-COMPUTE package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/compute_hma.rst b/doc/src/compute_hma.rst index 0f5b32b8d1..575740a2d5 100644 --- a/doc/src/compute_hma.rst +++ b/doc/src/compute_hma.rst @@ -169,7 +169,7 @@ scalar value will be in energy :doc:`units `. Restrictions """""""""""" -This compute is part of the USER-MISC package. It is enabled only +This compute is part of the EXTRA-COMPUTE package. It is enabled only if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Usage restricted to canonical (NVT) ensemble simulation only. diff --git a/doc/src/compute_momentum.rst b/doc/src/compute_momentum.rst index bcc5f3d421..266e4b5e18 100644 --- a/doc/src/compute_momentum.rst +++ b/doc/src/compute_momentum.rst @@ -43,7 +43,7 @@ value will be in mass\*velocity :doc:`units `. Restrictions """""""""""" -This compute is part of the USER-MISC package. It is only enabled if +This compute is part of the EXTRA-COMPUTE package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/compute_pressure_cylinder.rst b/doc/src/compute_pressure_cylinder.rst index d1102cd9bc..cc94c339c8 100644 --- a/doc/src/compute_pressure_cylinder.rst +++ b/doc/src/compute_pressure_cylinder.rst @@ -67,7 +67,7 @@ calculations are also excluded. Note that this pressure compute outputs the configurational terms only; the kinetic contribution is not included and may be calculated from the number density output by P_kin=density\*k\*T. -This compute is part of the USER-MISC package. It is only enabled +This compute is part of the EXTRA-COMPUTE package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/compute_stress_mop.rst b/doc/src/compute_stress_mop.rst index feda7ee193..f02d279414 100644 --- a/doc/src/compute_stress_mop.rst +++ b/doc/src/compute_stress_mop.rst @@ -92,7 +92,7 @@ The values produced by this compute can be accessed by various :doc:`output comm Restrictions """""""""""" -These styles are part of the USER-MISC package. They are only enabled if +These styles are part of the EXTRA-COMPUTE package. They are only enabled if LAMMPS is built with that package. See the :doc:`Build package ` doc page on for more info. diff --git a/doc/src/compute_temp_rotate.rst b/doc/src/compute_temp_rotate.rst index e489136d2b..b4adea43bf 100644 --- a/doc/src/compute_temp_rotate.rst +++ b/doc/src/compute_temp_rotate.rst @@ -84,7 +84,7 @@ vector values will be in energy :doc:`units `. Restrictions """""""""""" -This compute is part of the USER-MISC package. It is only enabled if +This compute is part of the EXTRA-COMPUTE package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/compute_viscosity_cos.rst b/doc/src/compute_viscosity_cos.rst index 862f65a482..880b1ff3d3 100644 --- a/doc/src/compute_viscosity_cos.rst +++ b/doc/src/compute_viscosity_cos.rst @@ -137,7 +137,7 @@ The 7-th element of vector value will be in velocity :doc:`units `. Restrictions """""""""""" -This command is only available when LAMMPS was built with the USER-MISC package. +This command is only available when LAMMPS was built with the MISC package. Since this compute depends on :doc:`fix accelerate/cos ` which can only work for 3d systems, it cannot be used for 2d systems. diff --git a/doc/src/fix_accelerate_cos.rst b/doc/src/fix_accelerate_cos.rst index 7fad6be913..46e08e68b4 100644 --- a/doc/src/fix_accelerate_cos.rst +++ b/doc/src/fix_accelerate_cos.rst @@ -86,7 +86,7 @@ This fix is not invoked during energy minimization. Restrictions """""""""""" -This command is only available when LAMMPS was built with the USER-MISC package. +This command is only available when LAMMPS was built with the MISC package. Since this fix depends on the z-coordinate of atoms, it cannot be used in 2d simulations. Related commands diff --git a/doc/src/fix_ave_correlate_long.rst b/doc/src/fix_ave_correlate_long.rst index c740099aae..e3e118744a 100644 --- a/doc/src/fix_ave_correlate_long.rst +++ b/doc/src/fix_ave_correlate_long.rst @@ -127,7 +127,7 @@ the run command. This fix is not invoked during energy minimization. Restrictions """""""""""" -This compute is part of the USER-MISC package. It is only enabled if +This compute is part of the EXTRA-FIX package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/fix_electron_stopping.rst b/doc/src/fix_electron_stopping.rst index 62037e66c7..d2bc65608d 100644 --- a/doc/src/fix_electron_stopping.rst +++ b/doc/src/fix_electron_stopping.rst @@ -153,7 +153,7 @@ atoms moving above some minimum cutoff velocity (i.e., kinetic energy). These coefficients can be determined by fitting a quadratic polynomial to electronic stopping data predicted by, for example, SRIM or TD-DFT. Multiple 'Ecut c1 c2' values can be provided for multi-species simulations in the order -of the atom types. There is an examples/USER-MISC/electron_stopping/ directory, +of the atom types. There is an examples/PACKAGES/electron_stopping/ directory, which illustrates uses of this command. Details of this implementation are further described in :ref:`Stewart2018 ` and :ref:`Lee2020 `. @@ -175,7 +175,7 @@ on this fix. Restrictions """""""""""" -This pair style is part of the USER-MISC package. It is only enabled if +This pair style is part of the EXTRA-FIX package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. diff --git a/doc/src/fix_ffl.rst b/doc/src/fix_ffl.rst index 0bfdaf87c9..02bcaa710d 100644 --- a/doc/src/fix_ffl.rst +++ b/doc/src/fix_ffl.rst @@ -110,7 +110,7 @@ In order to perform constant-pressure simulations please use :doc:`fix npt `, to avoid duplicate integration of the equations of motion. -This fix is part of the USER-MISC package. It is only enabled if +This fix is part of the EXTRA-FIX package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/fix_filter_corotate.rst b/doc/src/fix_filter_corotate.rst index e33fc0ac4a..6bfcad27e8 100644 --- a/doc/src/fix_filter_corotate.rst +++ b/doc/src/fix_filter_corotate.rst @@ -72,7 +72,7 @@ fixes are not invoked during :doc:`energy minimization `. Restrictions """""""""""" -This fix is part of the USER-MISC package. It is only enabled if +This fix is part of the EXTRA-FIX package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Currently, it does not support :doc:`molecule templates `. diff --git a/doc/src/fix_flow_gauss.rst b/doc/src/fix_flow_gauss.rst index 343bf083ae..ce114fdfcd 100644 --- a/doc/src/fix_flow_gauss.rst +++ b/doc/src/fix_flow_gauss.rst @@ -158,7 +158,7 @@ This fix is not invoked during :doc:`energy minimization `. Restrictions """""""""""" -This fix is part of the USER-MISC package. It is only enabled if +This fix is part of the EXTRA-FIX package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. diff --git a/doc/src/fix_gle.rst b/doc/src/fix_gle.rst index a341e0fa08..c7d46c09fa 100644 --- a/doc/src/fix_gle.rst +++ b/doc/src/fix_gle.rst @@ -142,7 +142,7 @@ In order to perform constant-pressure simulations please use :doc:`fix npt `, to avoid duplicate integration of the equations of motion. -This fix is part of the USER-MISC package. It is only enabled if +This fix is part of the EXTRA-FIX package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/fix_ipi.rst b/doc/src/fix_ipi.rst index ccd1c9f58c..f8ea49c845 100644 --- a/doc/src/fix_ipi.rst +++ b/doc/src/fix_ipi.rst @@ -84,10 +84,11 @@ coordinates are transferred. However, one could use this strategy to define an external potential acting on the atoms that are moved by i-PI. -This fix is part of the USER-MISC package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Because of the -use of UNIX domain sockets, this fix will only work in a UNIX -environment. +This fix is part of the MISC package. It is only enabled if +LAMMPS was built with that package. See the +:doc:`Build package ` doc page for more info. +Because of the use of UNIX domain sockets, this fix will only +work in a UNIX environment. Related commands """""""""""""""" diff --git a/doc/src/fix_momentum.rst b/doc/src/fix_momentum.rst index 393a6a16cd..71b50ddcdb 100644 --- a/doc/src/fix_momentum.rst +++ b/doc/src/fix_momentum.rst @@ -97,7 +97,7 @@ the :doc:`run ` command. This fix is not invoked during Restrictions """""""""""" -Fix momentum/chunk is part of the USER-MISC package. It is only enabled +Fix momentum/chunk is part of the EXTRA-FIX package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. diff --git a/doc/src/fix_npt_cauchy.rst b/doc/src/fix_npt_cauchy.rst index 8ef74b25c9..01bf34927c 100644 --- a/doc/src/fix_npt_cauchy.rst +++ b/doc/src/fix_npt_cauchy.rst @@ -554,7 +554,7 @@ This fix is not invoked during :doc:`energy minimization `. Restrictions """""""""""" -This fix is part of the USER-MISC package. It is only enabled if +This fix is part of the EXTRA-FIX package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. *X*\ , *y*\ , *z* cannot be barostatted if the associated dimension is not diff --git a/doc/src/fix_nvk.rst b/doc/src/fix_nvk.rst index 6226635010..30f5a0e004 100644 --- a/doc/src/fix_nvk.rst +++ b/doc/src/fix_nvk.rst @@ -56,8 +56,9 @@ the simulation box. Therefore, the group must be set to all. This fix has not yet been implemented to work with the RESPA integrator. -This fix is part of the USER-MISC package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +This fix is part of the EXTRA-FIX package. It is only enabled if +LAMMPS was built with that package. See the +:doc:`Build package ` doc page for more info. Related commands """""""""""""""" diff --git a/doc/src/fix_orient.rst b/doc/src/fix_orient.rst index 3397261552..02fda71a0a 100644 --- a/doc/src/fix_orient.rst +++ b/doc/src/fix_orient.rst @@ -177,11 +177,11 @@ This fix is not invoked during :doc:`energy minimization `. Restrictions """""""""""" -This fix is part of the MISC package. It is only enabled if LAMMPS +These fixes are part of the ORIENT package. They are only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. -This fix should only be used with fcc or bcc lattices. +These fixes should only be used with fcc or bcc lattices. Related commands """""""""""""""" diff --git a/doc/src/fix_orient_eco.rst b/doc/src/fix_orient_eco.rst index 1db83338d4..b58cf2dd8e 100644 --- a/doc/src/fix_orient_eco.rst +++ b/doc/src/fix_orient_eco.rst @@ -122,7 +122,7 @@ the run command. This fix is not invoked during energy minimization. Restrictions """""""""""" -This fix is part of the USER-MISC package. It is only enabled if +This fix is part of the ORIENT package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. diff --git a/doc/src/fix_pafi.rst b/doc/src/fix_pafi.rst index f50dc1dc0e..4c38123dd3 100644 --- a/doc/src/fix_pafi.rst +++ b/doc/src/fix_pafi.rst @@ -45,7 +45,7 @@ projection is also calculated, whose time integral can be shown to be equal to the true free energy gradient along the minimum free energy path local to the reference pathway. A detailed discussion of the projection technique can be found in :ref:`(Swinburne) `. -This fix can be used with LAMMPS as demonstrated in examples/USER-MISC/pafi, +This fix can be used with LAMMPS as demonstrated in examples/PACKAGES/pafi, though it is primarily intended to be coupled with the PAFI C++ code, developed at `https://github.com/tomswinburne/pafi `_, which distributes multiple LAMMPS workers in parallel to compute and collate @@ -84,7 +84,7 @@ This fix produces a global vector each timestep which can be accessed by various Restrictions """""""""""" -This fix is part of the USER-MISC package. It is only enabled if +This fix is part of the EXTRA-FIX package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. diff --git a/doc/src/fix_pimd.rst b/doc/src/fix_pimd.rst index 5bc7b75c90..60e0847eab 100644 --- a/doc/src/fix_pimd.rst +++ b/doc/src/fix_pimd.rst @@ -152,8 +152,9 @@ related tasks for each of the partitions, e.g. Restrictions """""""""""" -This fix is part of the USER-MISC package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +This fix is part of the REPLICA package. It is only enabled if +LAMMPS was built with that package. See the +:doc:`Build package ` doc page for more info. A PIMD simulation can be initialized with a single data file read via the :doc:`read_data ` command. However, this means all diff --git a/doc/src/fix_rhok.rst b/doc/src/fix_rhok.rst index 71a575810c..f48b562ca8 100644 --- a/doc/src/fix_rhok.rst +++ b/doc/src/fix_rhok.rst @@ -43,7 +43,7 @@ used to study crystal-liquid interfaces and determine melting temperatures :ref:`(Pedersen) `. An example of using the interface pinning method is located in the -*examples/USER-MISC/rhok* directory. +*examples/PACKAGES/rhok* directory. Restart, fix_modify, output, run start/stop, minimize info """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" @@ -70,7 +70,7 @@ This fix is not invoked during :doc:`energy minimization `. Restrictions """""""""""" -This fix is part of the USER-MISC package. It is only enabled if +This fix is part of the EXTRA-FIX package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. diff --git a/doc/src/fix_ti_spring.rst b/doc/src/fix_ti_spring.rst index 7003100631..e7758350f7 100644 --- a/doc/src/fix_ti_spring.rst +++ b/doc/src/fix_ti_spring.rst @@ -170,8 +170,9 @@ Related commands Restrictions """""""""""" -This fix is part of the USER-MISC package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +This fix is part of the EXTRA-FIX package. It is only enabled if +LAMMPS was built with that package. See the +:doc:`Build package ` doc page for more info. Default """"""" diff --git a/doc/src/fix_ttm.rst b/doc/src/fix_ttm.rst index 24bc6f297f..92a884ee58 100644 --- a/doc/src/fix_ttm.rst +++ b/doc/src/fix_ttm.rst @@ -322,9 +322,8 @@ of the :doc:`run ` command. The fixes are not invoked during Restrictions """""""""""" -Fix *ttm* is part of the MISC package. It is only enabled if LAMMPS -was built with that package. Fix *ttm/mod* is part of the USER-MISC -package. It is only enabled if LAMMPS was built with that package. +Fix *ttm* and *ttm/mod* are part of the EXTRA-FIX package. They are +only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. These fixes can only be used for 3d simulations and orthogonal diff --git a/doc/src/fix_wall_ees.rst b/doc/src/fix_wall_ees.rst index 1b1e904126..a2aab975ca 100644 --- a/doc/src/fix_wall_ees.rst +++ b/doc/src/fix_wall_ees.rst @@ -117,7 +117,7 @@ ellipsoidal particles according to the EES potential introduced above. Other details of this command are the same as for the :doc:`fix wall/region ` command. One may also find an example -of using this fix in the examples/USER-MISC/ees/ directory. +of using this fix in the examples/PACKAGES/ees/ directory. ---------- @@ -160,7 +160,7 @@ minimization, invoked by the :doc:`minimize ` command. Restrictions """""""""""" -These fixes are part of the USER-MISC package. They are only enabled +These fixes are part of the EXTRA-FIX package. They are only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. diff --git a/doc/src/fix_wall_reflect_stochastic.rst b/doc/src/fix_wall_reflect_stochastic.rst index ddeebfbe38..e03e8db5bc 100644 --- a/doc/src/fix_wall_reflect_stochastic.rst +++ b/doc/src/fix_wall_reflect_stochastic.rst @@ -106,7 +106,7 @@ bodies such as those defined by the :doc:`fix rigid ` command. The wall velocity must lie on the same plane as the wall itself. -This fix is part of the USER-MISC package. It is only enabled if +This fix is part of the EXTRA-FIX package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands From 1ebd60e35e5956c6d0691bbe4098da393e9f80f6 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 25 Jul 2021 10:56:38 -0400 Subject: [PATCH 528/726] update and add explanation --- cmake/CMakeLists.txt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 6c446bdb1b..7269fc5c9b 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -245,13 +245,14 @@ else() endif() if(BUILD_MPI) + # do not include the (obsolete) MPI C++ bindings which makes + # for leaner object files and avoids namespace conflicts + set(MPI_CXX_SKIP_MPICXX TRUE) # We use a non-standard procedure to cross-compile with MPI on Windows if((CMAKE_SYSTEM_NAME STREQUAL "Windows") AND CMAKE_CROSSCOMPILING) - set(MPI_CXX_SKIP_MPICXX TRUE) include(MPI4WIN) target_link_libraries(lammps PUBLIC MPI::MPI_CXX) else() - set(MPI_CXX_SKIP_MPICXX TRUE) find_package(MPI REQUIRED) target_link_libraries(lammps PUBLIC MPI::MPI_CXX) option(LAMMPS_LONGLONG_TO_LONG "Workaround if your system or MPI version does not recognize 'long long' data types" OFF) From 5a79429f034640bafa1c75b4fa4e3f113ec17a17 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 25 Jul 2021 20:23:37 -0400 Subject: [PATCH 529/726] fix up some more package designations and clean up some legacy formatting --- doc/src/Bibliography.rst | 4 +- doc/src/Commands_category.rst | 2 +- doc/src/Commands_input.rst | 2 +- doc/src/Commands_parse.rst | 2 +- doc/src/Errors_messages.rst | 32 ++--- doc/src/Errors_warnings.rst | 2 +- doc/src/Examples.rst | 4 +- doc/src/Howto_barostat.rst | 2 +- doc/src/Howto_bioFF.rst | 2 +- doc/src/Howto_body.rst | 10 +- doc/src/Howto_chunk.rst | 2 +- doc/src/Howto_client_server.rst | 4 +- doc/src/Howto_coreshell.rst | 4 +- doc/src/Howto_couple.rst | 2 +- doc/src/Howto_drude2.rst | 16 +-- doc/src/Howto_github.rst | 4 +- doc/src/Howto_kappa.rst | 4 +- doc/src/Howto_manifold.rst | 2 +- doc/src/Howto_mdi.rst | 4 +- doc/src/Howto_output.rst | 4 +- doc/src/Howto_replica.rst | 2 +- doc/src/Howto_thermostat.rst | 4 +- doc/src/Howto_triclinic.rst | 30 ++-- doc/src/Howto_viscosity.rst | 2 +- doc/src/Howto_viz.rst | 2 +- doc/src/Howto_walls.rst | 2 +- doc/src/Intro_nonfeatures.rst | 8 +- doc/src/Intro_overview.rst | 2 +- doc/src/Modify_body.rst | 2 +- doc/src/Modify_contribute.rst | 10 +- doc/src/Modify_fix.rst | 2 +- doc/src/Packages.rst | 2 +- doc/src/Python_call.rst | 2 +- doc/src/Python_objects.rst | 2 +- doc/src/Python_trouble.rst | 2 +- doc/src/Run_basics.rst | 2 +- doc/src/Run_options.rst | 12 +- doc/src/Run_output.rst | 2 +- doc/src/Speed_gpu.rst | 6 +- doc/src/Speed_intel.rst | 4 +- doc/src/Speed_kokkos.rst | 6 +- doc/src/Speed_omp.rst | 6 +- doc/src/Speed_opt.rst | 2 +- doc/src/Tools.rst | 2 +- doc/src/accel_styles.rst | 6 +- doc/src/angle_charmm.rst | 6 +- doc/src/angle_cosine_delta.rst | 2 +- doc/src/angle_cosine_periodic.rst | 2 +- doc/src/angle_hybrid.rst | 2 +- doc/src/angle_sdk.rst | 2 +- doc/src/angle_style.rst | 4 +- doc/src/atc_control_thermal.rst | 2 +- doc/src/atom_modify.rst | 2 +- doc/src/atom_style.rst | 26 ++-- doc/src/balance.rst | 16 +-- doc/src/bond_class2.rst | 2 +- doc/src/bond_fene.rst | 2 +- doc/src/bond_fene_expand.rst | 2 +- doc/src/bond_gromos.rst | 2 +- doc/src/bond_harmonic.rst | 2 +- doc/src/bond_hybrid.rst | 2 +- doc/src/bond_morse.rst | 2 +- doc/src/bond_nonlinear.rst | 4 +- doc/src/bond_oxdna.rst | 4 +- doc/src/bond_quartic.rst | 2 +- doc/src/bond_style.rst | 2 +- doc/src/bond_table.rst | 2 +- doc/src/boundary.rst | 12 +- doc/src/box.rst | 6 +- doc/src/change_box.rst | 30 ++-- doc/src/comm_modify.rst | 10 +- doc/src/compute.rst | 12 +- doc/src/compute_ackland_atom.rst | 4 +- doc/src/compute_adf.rst | 23 ++-- doc/src/compute_angle.rst | 2 +- doc/src/compute_angle_local.rst | 2 +- doc/src/compute_angmom_chunk.rst | 2 +- doc/src/compute_basal_atom.rst | 2 +- doc/src/compute_body_local.rst | 6 +- doc/src/compute_bond.rst | 2 +- doc/src/compute_bond_local.rst | 8 +- doc/src/compute_centro_atom.rst | 6 +- doc/src/compute_chunk_atom.rst | 128 +++++++++--------- doc/src/compute_chunk_spread_atom.rst | 2 +- doc/src/compute_cluster_atom.rst | 9 +- doc/src/compute_cna_atom.rst | 2 +- doc/src/compute_cnp_atom.rst | 6 +- doc/src/compute_contact_atom.rst | 6 +- doc/src/compute_coord_atom.rst | 4 +- doc/src/compute_damage_atom.rst | 4 +- doc/src/compute_dihedral.rst | 2 +- doc/src/compute_dihedral_local.rst | 2 +- doc/src/compute_dilatation_atom.rst | 4 +- doc/src/compute_dipole.rst | 4 +- doc/src/compute_dipole_chunk.rst | 4 +- doc/src/compute_dpd.rst | 4 +- doc/src/compute_dpd_atom.rst | 4 +- doc/src/compute_edpd_temp_atom.rst | 4 +- doc/src/compute_efield_atom.rst | 2 +- doc/src/compute_entropy_atom.rst | 6 +- doc/src/compute_erotate_asphere.rst | 2 +- doc/src/compute_erotate_rigid.rst | 4 +- doc/src/compute_erotate_sphere.rst | 2 +- doc/src/compute_erotate_sphere_atom.rst | 2 +- doc/src/compute_event_displace.rst | 2 +- doc/src/compute_fep.rst | 8 +- doc/src/compute_global_atom.rst | 4 +- doc/src/compute_group_group.rst | 10 +- doc/src/compute_gyration.rst | 2 +- doc/src/compute_gyration_chunk.rst | 2 +- doc/src/compute_gyration_shape.rst | 4 +- doc/src/compute_gyration_shape_chunk.rst | 4 +- doc/src/compute_heat_flux.rst | 4 +- doc/src/compute_hexorder_atom.rst | 6 +- doc/src/compute_hma.rst | 6 +- doc/src/compute_improper.rst | 2 +- doc/src/compute_improper_local.rst | 2 +- doc/src/compute_inertia_chunk.rst | 2 +- doc/src/compute_ke_atom.rst | 2 +- doc/src/compute_ke_atom_eff.rst | 4 +- doc/src/compute_ke_eff.rst | 4 +- doc/src/compute_ke_rigid.rst | 4 +- doc/src/compute_mesont.rst | 2 +- doc/src/compute_mliap.rst | 2 +- doc/src/compute_modify.rst | 4 +- doc/src/compute_momentum.rst | 4 +- doc/src/compute_msd_chunk.rst | 2 +- doc/src/compute_msd_nongauss.rst | 6 +- doc/src/compute_omega_chunk.rst | 2 +- doc/src/compute_orientorder_atom.rst | 4 +- doc/src/compute_pair.rst | 10 +- doc/src/compute_pair_local.rst | 20 +-- doc/src/compute_pe_atom.rst | 2 +- doc/src/compute_plasticity_atom.rst | 4 +- doc/src/compute_pressure.rst | 2 +- doc/src/compute_pressure_cylinder.rst | 2 +- doc/src/compute_pressure_uef.rst | 2 +- doc/src/compute_property_atom.rst | 14 +- doc/src/compute_property_chunk.rst | 8 +- doc/src/compute_property_local.rst | 12 +- doc/src/compute_ptm_atom.rst | 4 +- doc/src/compute_rdf.rst | 10 +- doc/src/compute_reduce.rst | 6 +- doc/src/compute_reduce_chunk.rst | 2 +- doc/src/compute_rigid_local.rst | 28 ++-- doc/src/compute_saed.rst | 4 +- doc/src/compute_slice.rst | 8 +- doc/src/compute_smd_contact_radius.rst | 4 +- doc/src/compute_smd_damage.rst | 2 +- doc/src/compute_smd_hourglass_error.rst | 4 +- doc/src/compute_smd_internal_energy.rst | 4 +- doc/src/compute_smd_plastic_strain.rst | 4 +- doc/src/compute_smd_plastic_strain_rate.rst | 4 +- doc/src/compute_smd_rho.rst | 4 +- doc/src/compute_smd_tlsph_defgrad.rst | 2 +- doc/src/compute_smd_tlsph_dt.rst | 4 +- doc/src/compute_smd_tlsph_num_neighs.rst | 4 +- doc/src/compute_smd_tlsph_shape.rst | 4 +- doc/src/compute_smd_tlsph_strain.rst | 2 +- doc/src/compute_smd_tlsph_strain_rate.rst | 2 +- doc/src/compute_smd_tlsph_stress.rst | 2 +- doc/src/compute_smd_triangle_vertices.rst | 4 +- doc/src/compute_smd_ulsph_effm.rst | 4 +- doc/src/compute_smd_ulsph_num_neighs.rst | 4 +- doc/src/compute_smd_ulsph_strain.rst | 4 +- doc/src/compute_smd_ulsph_strain_rate.rst | 2 +- doc/src/compute_smd_ulsph_stress.rst | 2 +- doc/src/compute_smd_vol.rst | 4 +- doc/src/compute_sna_atom.rst | 24 ++-- doc/src/compute_sph_e_atom.rst | 4 +- doc/src/compute_sph_rho_atom.rst | 4 +- doc/src/compute_sph_t_atom.rst | 4 +- doc/src/compute_spin.rst | 2 +- doc/src/compute_stress_atom.rst | 2 +- doc/src/compute_stress_mop.rst | 4 +- doc/src/compute_tally.rst | 4 +- doc/src/compute_tdpd_cc_atom.rst | 4 +- doc/src/compute_temp.rst | 4 +- doc/src/compute_temp_asphere.rst | 6 +- doc/src/compute_temp_body.rst | 6 +- doc/src/compute_temp_chunk.rst | 4 +- doc/src/compute_temp_com.rst | 4 +- doc/src/compute_temp_cs.rst | 4 +- doc/src/compute_temp_deform.rst | 4 +- doc/src/compute_temp_deform_eff.rst | 4 +- doc/src/compute_temp_drude.rst | 2 +- doc/src/compute_temp_eff.rst | 4 +- doc/src/compute_temp_partial.rst | 4 +- doc/src/compute_temp_profile.rst | 14 +- doc/src/compute_temp_ramp.rst | 4 +- doc/src/compute_temp_region.rst | 4 +- doc/src/compute_temp_region_eff.rst | 4 +- doc/src/compute_temp_rotate.rst | 6 +- doc/src/compute_temp_sphere.rst | 4 +- doc/src/compute_temp_uef.rst | 2 +- doc/src/compute_ti.rst | 6 +- doc/src/compute_vcm_chunk.rst | 2 +- doc/src/compute_viscosity_cos.rst | 4 +- doc/src/compute_voronoi_atom.rst | 8 +- doc/src/compute_xrd.rst | 2 +- doc/src/create_atoms.rst | 12 +- doc/src/create_bonds.rst | 8 +- doc/src/create_box.rst | 6 +- doc/src/delete_atoms.rst | 8 +- doc/src/delete_bonds.rst | 10 +- doc/src/dihedral_charmm.rst | 2 +- doc/src/dihedral_helix.rst | 2 +- doc/src/dihedral_hybrid.rst | 2 +- doc/src/dihedral_style.rst | 4 +- doc/src/dimension.rst | 2 +- doc/src/displace_atoms.rst | 2 +- doc/src/dump.rst | 78 +++++------ doc/src/dump_adios.rst | 2 +- doc/src/dump_cfg_uef.rst | 2 +- doc/src/dump_h5md.rst | 8 +- doc/src/dump_image.rst | 32 ++--- doc/src/dump_modify.rst | 82 +++++------ doc/src/dump_molfile.rst | 2 +- doc/src/dump_netcdf.rst | 2 +- doc/src/dump_vtk.rst | 6 +- doc/src/dynamical_matrix.rst | 2 +- doc/src/fix.rst | 14 +- doc/src/fix_adapt.rst | 8 +- doc/src/fix_adapt_fep.rst | 8 +- doc/src/fix_addforce.rst | 6 +- doc/src/fix_addtorque.rst | 6 +- doc/src/fix_append_atoms.rst | 4 +- doc/src/fix_atom_swap.rst | 8 +- doc/src/fix_ave_atom.rst | 4 +- doc/src/fix_ave_chunk.rst | 42 +++--- doc/src/fix_ave_correlate.rst | 24 ++-- doc/src/fix_ave_correlate_long.rst | 8 +- doc/src/fix_ave_histo.rst | 20 +-- doc/src/fix_ave_time.rst | 18 +-- doc/src/fix_aveforce.rst | 2 +- doc/src/fix_balance.rst | 2 +- doc/src/fix_bocs.rst | 10 +- doc/src/fix_bond_break.rst | 2 +- doc/src/fix_bond_create.rst | 10 +- doc/src/fix_bond_react.rst | 6 +- doc/src/fix_bond_swap.rst | 4 +- doc/src/fix_box_relax.rst | 34 ++--- doc/src/fix_charge_regulation.rst | 2 +- doc/src/fix_client_md.rst | 4 +- doc/src/fix_cmap.rst | 4 +- doc/src/fix_colvars.rst | 4 +- doc/src/fix_controller.rst | 14 +- doc/src/fix_deform.rst | 52 +++---- doc/src/fix_deposit.rst | 5 +- doc/src/fix_dpd_energy.rst | 8 +- doc/src/fix_dpd_source.rst | 2 +- doc/src/fix_drag.rst | 4 +- doc/src/fix_drude_transform.rst | 2 +- doc/src/fix_dt_reset.rst | 4 +- doc/src/fix_efield.rst | 9 +- doc/src/fix_ehex.rst | 4 +- doc/src/fix_electron_stopping.rst | 4 +- doc/src/fix_eos_cv.rst | 2 +- doc/src/fix_eos_table.rst | 2 +- doc/src/fix_eos_table_rx.rst | 6 +- doc/src/fix_evaporate.rst | 7 +- doc/src/fix_external.rst | 2 +- doc/src/fix_ffl.rst | 2 +- doc/src/fix_filter_corotate.rst | 2 +- doc/src/fix_flow_gauss.rst | 4 +- doc/src/fix_freeze.rst | 2 +- doc/src/fix_gcmc.rst | 8 +- doc/src/fix_gld.rst | 10 +- doc/src/fix_gle.rst | 4 +- doc/src/fix_gravity.rst | 2 +- doc/src/fix_grem.rst | 2 +- doc/src/fix_halt.rst | 8 +- doc/src/fix_hyper_global.rst | 14 +- doc/src/fix_hyper_local.rst | 20 +-- doc/src/fix_imd.rst | 4 +- doc/src/fix_indent.rst | 14 +- doc/src/fix_ipi.rst | 6 +- doc/src/fix_langevin.rst | 10 +- doc/src/fix_langevin_drude.rst | 10 +- doc/src/fix_langevin_eff.rst | 6 +- doc/src/fix_langevin_spin.rst | 2 +- doc/src/fix_latte.rst | 4 +- doc/src/fix_lb_fluid.rst | 6 +- doc/src/fix_lb_momentum.rst | 4 +- doc/src/fix_lb_pc.rst | 4 +- doc/src/fix_lb_rigid_pc_sphere.rst | 2 +- doc/src/fix_lb_viscous.rst | 2 +- doc/src/fix_manifoldforce.rst | 2 +- doc/src/fix_mdi_engine.rst | 2 +- doc/src/fix_meso_move.rst | 6 +- doc/src/fix_modify.rst | 4 +- doc/src/fix_momentum.rst | 2 +- doc/src/fix_move.rst | 4 +- doc/src/fix_mscg.rst | 4 +- doc/src/fix_msst.rst | 8 +- doc/src/fix_mvv_dpd.rst | 2 +- doc/src/fix_neb.rst | 16 +-- doc/src/fix_nh.rst | 56 ++++---- doc/src/fix_nh_eff.rst | 8 +- doc/src/fix_nh_uef.rst | 10 +- doc/src/fix_nph_asphere.rst | 6 +- doc/src/fix_nph_body.rst | 6 +- doc/src/fix_nph_sphere.rst | 4 +- doc/src/fix_nphug.rst | 18 +-- doc/src/fix_npt_asphere.rst | 8 +- doc/src/fix_npt_body.rst | 8 +- doc/src/fix_npt_cauchy.rst | 56 ++++---- doc/src/fix_npt_sphere.rst | 6 +- doc/src/fix_numdiff.rst | 4 +- doc/src/fix_nve_asphere.rst | 2 +- doc/src/fix_nve_asphere_noforce.rst | 2 +- doc/src/fix_nve_awpmd.rst | 2 +- doc/src/fix_nve_body.rst | 4 +- doc/src/fix_nve_dot.rst | 2 +- doc/src/fix_nve_dotc_langevin.rst | 2 +- doc/src/fix_nve_eff.rst | 2 +- doc/src/fix_nve_line.rst | 4 +- doc/src/fix_nve_manifold_rattle.rst | 2 +- doc/src/fix_nve_noforce.rst | 4 +- doc/src/fix_nve_spin.rst | 2 +- doc/src/fix_nve_tri.rst | 4 +- doc/src/fix_nvk.rst | 2 +- doc/src/fix_nvt_asphere.rst | 2 +- doc/src/fix_nvt_body.rst | 2 +- doc/src/fix_nvt_manifold_rattle.rst | 2 +- doc/src/fix_nvt_sllod_eff.rst | 2 +- doc/src/fix_oneway.rst | 2 +- doc/src/fix_orient.rst | 2 +- doc/src/fix_orient_eco.rst | 2 +- doc/src/fix_pafi.rst | 2 +- doc/src/fix_pair_tracker.rst | 4 +- doc/src/fix_phonon.rst | 14 +- doc/src/fix_pimd.rst | 2 +- doc/src/fix_plumed.rst | 2 +- doc/src/fix_poems.rst | 8 +- doc/src/fix_polarize.rst | 2 +- doc/src/fix_pour.rst | 10 +- doc/src/fix_precession_spin.rst | 2 +- doc/src/fix_press_berendsen.rst | 16 +-- doc/src/fix_propel_self.rst | 2 +- doc/src/fix_property_atom.rst | 6 +- doc/src/fix_python_invoke.rst | 2 +- doc/src/fix_python_move.rst | 2 +- doc/src/fix_qbmsst.rst | 14 +- doc/src/fix_qeq.rst | 14 +- doc/src/fix_qeq_reaxff.rst | 4 +- doc/src/fix_qmmm.rst | 2 +- doc/src/fix_qtb.rst | 2 +- doc/src/fix_reaxff_bonds.rst | 4 +- doc/src/fix_reaxff_species.rst | 8 +- doc/src/fix_recenter.rst | 2 +- doc/src/fix_rhok.rst | 2 +- doc/src/fix_rigid.rst | 34 ++--- doc/src/fix_rigid_meso.rst | 10 +- doc/src/fix_rx.rst | 8 +- doc/src/fix_saed_vtk.rst | 10 +- doc/src/fix_setforce.rst | 10 +- doc/src/fix_shake.rst | 6 +- doc/src/fix_shardlow.rst | 6 +- doc/src/fix_smd.rst | 2 +- doc/src/fix_smd_adjust_dt.rst | 2 +- doc/src/fix_smd_integrate_tlsph.rst | 2 +- doc/src/fix_smd_integrate_ulsph.rst | 2 +- doc/src/fix_smd_move_triangulated_surface.rst | 2 +- doc/src/fix_smd_setvel.rst | 6 +- doc/src/fix_smd_wall_surface.rst | 2 +- doc/src/fix_sph.rst | 2 +- doc/src/fix_sph_stationary.rst | 2 +- doc/src/fix_spring_rg.rst | 4 +- doc/src/fix_srd.rst | 8 +- doc/src/fix_store_state.rst | 2 +- doc/src/fix_temp_berendsen.rst | 2 +- doc/src/fix_temp_csvr.rst | 5 +- doc/src/fix_temp_rescale.rst | 2 +- doc/src/fix_temp_rescale_eff.rst | 2 +- doc/src/fix_tfmc.rst | 4 +- doc/src/fix_tgnh_drude.rst | 20 +-- doc/src/fix_thermal_conductivity.rst | 3 - doc/src/fix_ti_spring.rst | 2 +- doc/src/fix_tmd.rst | 3 + doc/src/fix_ttm.rst | 2 +- doc/src/fix_tune_kspace.rst | 2 +- doc/src/fix_vector.rst | 6 +- doc/src/fix_viscosity.rst | 4 +- doc/src/fix_wall.rst | 24 ++-- doc/src/fix_wall_body_polygon.rst | 6 +- doc/src/fix_wall_body_polyhedron.rst | 6 +- doc/src/fix_wall_ees.rst | 4 +- doc/src/fix_wall_gran.rst | 20 +-- doc/src/fix_wall_gran_region.rst | 14 +- doc/src/fix_wall_piston.rst | 2 +- doc/src/fix_wall_reflect.rst | 6 +- doc/src/fix_wall_reflect_stochastic.rst | 10 +- doc/src/fix_wall_region.rst | 12 +- doc/src/fix_wall_srd.rst | 8 +- doc/src/fix_widom.rst | 2 +- doc/src/group.rst | 6 +- doc/src/group2ndx.rst | 2 +- doc/src/hyper.rst | 4 +- doc/src/if.rst | 2 +- doc/src/improper_harmonic.rst | 6 +- doc/src/improper_style.rst | 4 +- doc/src/info.rst | 6 +- doc/src/kim_commands.rst | 2 +- doc/src/kspace_modify.rst | 30 ++-- doc/src/kspace_style.rst | 12 +- doc/src/lattice.rst | 8 +- doc/src/log.rst | 2 +- doc/src/mdi_engine.rst | 4 +- doc/src/message.rst | 20 +-- doc/src/min_modify.rst | 12 +- doc/src/min_spin.rst | 2 +- doc/src/min_style.rst | 12 +- doc/src/minimize.rst | 10 +- doc/src/molecule.rst | 12 +- doc/src/neb.rst | 12 +- doc/src/neb_spin.rst | 12 +- doc/src/neigh_modify.rst | 8 +- doc/src/neighbor.rst | 2 +- doc/src/next.rst | 6 +- doc/src/package.rst | 28 ++-- doc/src/pair_adp.rst | 4 +- doc/src/pair_agni.rst | 10 +- doc/src/pair_airebo.rst | 10 +- doc/src/pair_atm.rst | 4 +- doc/src/pair_awpmd.rst | 8 +- doc/src/pair_beck.rst | 2 +- doc/src/pair_body_nparticle.rst | 8 +- doc/src/pair_body_rounded_polygon.rst | 6 +- doc/src/pair_body_rounded_polyhedron.rst | 6 +- doc/src/pair_bop.rst | 4 +- doc/src/pair_born.rst | 14 +- doc/src/pair_brownian.rst | 6 +- doc/src/pair_buck.rst | 10 +- doc/src/pair_buck6d_coul_gauss.rst | 2 +- doc/src/pair_buck_long.rst | 16 +-- doc/src/pair_charmm.rst | 6 +- doc/src/pair_class2.rst | 10 +- doc/src/pair_coeff.rst | 2 +- doc/src/pair_colloid.rst | 4 +- doc/src/pair_comb.rst | 16 +-- doc/src/pair_cosine_squared.rst | 6 +- doc/src/pair_coul.rst | 22 +-- doc/src/pair_coul_diel.rst | 4 +- doc/src/pair_coul_shield.rst | 4 +- doc/src/pair_coul_slater.rst | 4 +- doc/src/pair_coul_tt.rst | 4 +- doc/src/pair_cs.rst | 4 +- doc/src/pair_dielectric.rst | 4 +- doc/src/pair_dipole.rst | 16 +-- doc/src/pair_dpd.rst | 14 +- doc/src/pair_dpd_ext.rst | 12 +- doc/src/pair_dpd_fdt.rst | 4 +- doc/src/pair_drip.rst | 2 +- doc/src/pair_dsmc.rst | 4 +- doc/src/pair_e3b.rst | 4 +- doc/src/pair_eam.rst | 14 +- doc/src/pair_edip.rst | 4 +- doc/src/pair_eff.rst | 6 +- doc/src/pair_eim.rst | 2 +- doc/src/pair_exp6_rx.rst | 4 +- doc/src/pair_fep_soft.rst | 8 +- doc/src/pair_gauss.rst | 4 +- doc/src/pair_gayberne.rst | 4 +- doc/src/pair_gran.rst | 8 +- doc/src/pair_granular.rst | 42 +++--- doc/src/pair_gromacs.rst | 7 +- doc/src/pair_gw.rst | 6 +- doc/src/pair_hbond_dreiding.rst | 10 +- doc/src/pair_hdnnp.rst | 2 +- doc/src/pair_hybrid.rst | 14 +- doc/src/pair_ilp_graphene_hbn.rst | 4 +- doc/src/pair_kim.rst | 2 +- doc/src/pair_kolmogorov_crespi_full.rst | 4 +- doc/src/pair_kolmogorov_crespi_z.rst | 4 +- doc/src/pair_lcbop.rst | 6 +- doc/src/pair_lebedeva_z.rst | 4 +- doc/src/pair_line_lj.rst | 8 +- doc/src/pair_list.rst | 4 +- doc/src/pair_lj.rst | 4 +- doc/src/pair_lj96.rst | 7 +- doc/src/pair_lj_cubic.rst | 7 +- doc/src/pair_lj_cut_coul.rst | 14 +- doc/src/pair_lj_cut_tip4p.rst | 8 +- doc/src/pair_lj_expand.rst | 2 +- doc/src/pair_lj_long.rst | 24 ++-- doc/src/pair_lj_relres.rst | 9 +- doc/src/pair_lj_smooth.rst | 7 +- doc/src/pair_lj_smooth_linear.rst | 7 +- doc/src/pair_lj_switch3_coulgauss_long.rst | 4 +- doc/src/pair_local_density.rst | 6 +- doc/src/pair_lubricate.rst | 8 +- doc/src/pair_lubricateU.rst | 10 +- doc/src/pair_mdf.rst | 14 +- doc/src/pair_meam.rst | 6 +- doc/src/pair_meam_spline.rst | 8 +- doc/src/pair_meam_sw_spline.rst | 6 +- doc/src/pair_mesocnt.rst | 4 +- doc/src/pair_mesodpd.rst | 10 +- doc/src/pair_mgpt.rst | 4 +- doc/src/pair_mie.rst | 7 +- doc/src/pair_mliap.rst | 6 +- doc/src/pair_modify.rst | 8 +- doc/src/pair_momb.rst | 2 +- doc/src/pair_morse.rst | 8 +- doc/src/pair_multi_lucy.rst | 6 +- doc/src/pair_multi_lucy_rx.rst | 6 +- doc/src/pair_nb3b_harmonic.rst | 6 +- doc/src/pair_nm.rst | 9 +- doc/src/pair_none.rst | 2 +- doc/src/pair_oxdna.rst | 4 +- doc/src/pair_oxdna2.rst | 6 +- doc/src/pair_oxrna2.rst | 6 +- doc/src/pair_pace.rst | 6 +- doc/src/pair_peri.rst | 4 +- doc/src/pair_polymorphic.rst | 4 +- doc/src/pair_python.rst | 6 +- doc/src/pair_quip.rst | 6 +- doc/src/pair_reaxff.rst | 8 +- doc/src/pair_resquared.rst | 4 +- doc/src/pair_sdk.rst | 2 +- doc/src/pair_sdpd_taitwater_isothermal.rst | 6 +- doc/src/pair_smd_hertz.rst | 2 +- doc/src/pair_smd_tlsph.rst | 2 +- doc/src/pair_smd_triangulated_surface.rst | 2 +- doc/src/pair_smd_ulsph.rst | 2 +- doc/src/pair_smtbq.rst | 20 +-- doc/src/pair_snap.rst | 14 +- doc/src/pair_soft.rst | 2 +- doc/src/pair_sph_heatconduction.rst | 6 +- doc/src/pair_sph_idealgas.rst | 6 +- doc/src/pair_sph_lj.rst | 6 +- doc/src/pair_sph_rhosum.rst | 6 +- doc/src/pair_sph_taitwater.rst | 6 +- doc/src/pair_sph_taitwater_morris.rst | 6 +- doc/src/pair_spin_dipole.rst | 2 +- doc/src/pair_spin_dmi.rst | 2 +- doc/src/pair_spin_exchange.rst | 2 +- doc/src/pair_spin_magelec.rst | 2 +- doc/src/pair_spin_neel.rst | 2 +- doc/src/pair_srp.rst | 6 +- doc/src/pair_style.rst | 2 +- doc/src/pair_sw.rst | 14 +- doc/src/pair_table.rst | 6 +- doc/src/pair_table_rx.rst | 8 +- doc/src/pair_tersoff.rst | 6 +- doc/src/pair_tersoff_mod.rst | 4 +- doc/src/pair_tersoff_zbl.rst | 6 +- doc/src/pair_thole.rst | 6 +- doc/src/pair_tracker.rst | 2 +- doc/src/pair_tri_lj.rst | 6 +- doc/src/pair_ufm.rst | 7 +- doc/src/pair_vashishta.rst | 14 +- doc/src/pair_wf_cut.rst | 2 +- doc/src/pair_write.rst | 8 +- doc/src/pair_yukawa.rst | 2 +- doc/src/pair_yukawa_colloid.rst | 4 +- doc/src/pair_zbl.rst | 2 +- doc/src/pair_zero.rst | 2 +- doc/src/partition.rst | 2 +- doc/src/plugin.rst | 2 +- doc/src/prd.rst | 10 +- doc/src/processors.rst | 8 +- doc/src/python.rst | 8 +- doc/src/read_data.rst | 22 +-- doc/src/read_dump.rst | 32 ++--- doc/src/region.rst | 40 +++--- doc/src/rerun.rst | 14 +- doc/src/run.rst | 8 +- doc/src/run_style.rst | 6 +- doc/src/server.rst | 8 +- doc/src/server_mc.rst | 6 +- doc/src/server_md.rst | 6 +- doc/src/set.rst | 24 ++-- doc/src/shell.rst | 2 +- doc/src/special_bonds.rst | 6 +- doc/src/suffix.rst | 6 +- doc/src/tad.rst | 8 +- doc/src/temper.rst | 2 +- doc/src/temper_grem.rst | 2 +- doc/src/temper_npt.rst | 2 +- doc/src/thermo_modify.rst | 14 +- doc/src/thermo_style.rst | 16 +-- doc/src/third_order.rst | 2 +- doc/src/timer.rst | 2 +- doc/src/timestep.rst | 2 +- doc/src/units.rst | 18 +-- doc/src/variable.rst | 34 ++--- doc/src/velocity.rst | 6 +- doc/src/write_data.rst | 4 +- .../pair_coul_streitz.cpp | 0 .../pair_coul_streitz.h | 0 592 files changed, 2074 insertions(+), 2019 deletions(-) rename src/{EXTRA-PAIR => KSPACE}/pair_coul_streitz.cpp (100%) rename src/{EXTRA-PAIR => KSPACE}/pair_coul_streitz.h (100%) diff --git a/doc/src/Bibliography.rst b/doc/src/Bibliography.rst index a4a1076831..0256552332 100644 --- a/doc/src/Bibliography.rst +++ b/doc/src/Bibliography.rst @@ -191,7 +191,7 @@ Bibliography A.\ Calhoun, M. Pavese, G. Voth, Chem Phys Letters, 262, 415 (1996). **(Campana)** - C.\ Campana and M. H. Muser, *Practical Green's function approach to the simulation of elastic semi-infinite solids*\ , `Phys. Rev. B [74], 075420 (2006) `_ + C.\ Campana and M. H. Muser, *Practical Green's function approach to the simulation of elastic semi-infinite solids*, `Phys. Rev. B [74], 075420 (2006) `_ **(Cao1)** J.\ Cao and B. Berne, J Chem Phys, 99, 2902 (1993). @@ -767,7 +767,7 @@ Bibliography Morris, Fox, Zhu, J Comp Physics, 136, 214-226 (1997). **(Moustafa)** - Sabry G. Moustafa, Andrew J. Schultz, and David A. Kofke, *Very fast averaging of thermal properties of crystals by molecular simulation*\ , `Phys. Rev. E [92], 043303 (2015) `_ + Sabry G. Moustafa, Andrew J. Schultz, and David A. Kofke, *Very fast averaging of thermal properties of crystals by molecular simulation*, `Phys. Rev. E [92], 043303 (2015) `_ **(Muller-Plathe1)** Muller-Plathe, J Chem Phys, 106, 6082 (1997). diff --git a/doc/src/Commands_category.rst b/doc/src/Commands_category.rst index da40ada999..4a08d040b7 100644 --- a/doc/src/Commands_category.rst +++ b/doc/src/Commands_category.rst @@ -2,7 +2,7 @@ Commands by category ==================== This page lists most of the LAMMPS commands, grouped by category. The -:doc:`General commands ` doc page lists all general commands +:doc:`General commands ` page lists all general commands alphabetically. Style options for entries like fix, compute, pair etc. have their own pages where they are listed alphabetically. diff --git a/doc/src/Commands_input.rst b/doc/src/Commands_input.rst index 8fc658a215..3313474686 100644 --- a/doc/src/Commands_input.rst +++ b/doc/src/Commands_input.rst @@ -50,6 +50,6 @@ values are not desired, the :doc:`processors ` and tell LAMMPS how to map processors to the simulation box. Many input script errors are detected by LAMMPS and an ERROR or -WARNING message is printed. The :doc:`Errors ` doc page gives +WARNING message is printed. The :doc:`Errors ` page gives more information on what errors mean. The documentation for each command lists restrictions on how the command can be used. diff --git a/doc/src/Commands_parse.rst b/doc/src/Commands_parse.rst index 563b18a4c2..efc3c5030d 100644 --- a/doc/src/Commands_parse.rst +++ b/doc/src/Commands_parse.rst @@ -47,7 +47,7 @@ LAMMPS: named "x" followed by an "x" character. How the variable is converted to a text string depends on what style - of variable it is; see the :doc:`variable ` doc page for + of variable it is; see the :doc:`variable ` page for details. It can be a variable that stores multiple text strings, and return one of them. The returned text string can be multiple "words" (space separated) which will then be interpreted as multiple diff --git a/doc/src/Errors_messages.rst b/doc/src/Errors_messages.rst index 3bbee1dc36..a26857ebf5 100644 --- a/doc/src/Errors_messages.rst +++ b/doc/src/Errors_messages.rst @@ -570,10 +570,10 @@ Doc page with :doc:`WARNING messages ` See the region prism command for details. *Can only use -plog with multiple partitions* - Self-explanatory. See doc page discussion of command-line switches. + Self-explanatory. See page discussion of command-line switches. *Can only use -pscreen with multiple partitions* - Self-explanatory. See doc page discussion of command-line switches. + Self-explanatory. See page discussion of command-line switches. *Can only use Kokkos supported regions with Kokkos package* Self-explanatory. @@ -1154,7 +1154,7 @@ Doc page with :doc:`WARNING messages ` Self-explanatory. *Cannot use -reorder after -partition* - Self-explanatory. See doc page discussion of command-line switches. + Self-explanatory. See page discussion of command-line switches. *Cannot use Ewald with 2d simulation* The kspace style ewald cannot be used in 2d simulations. You can use @@ -2347,14 +2347,14 @@ Doc page with :doc:`WARNING messages ` *Compute used in variable between runs is not current* Computes cannot be invoked by a variable in between runs. Thus they must have been evaluated on the last timestep of the previous run in - order for their value(s) to be accessed. See the doc page for the + order for their value(s) to be accessed. See the page for the variable command for more info. *Compute used in variable thermo keyword between runs is not current* Some thermo keywords rely on a compute to calculate their value(s). Computes cannot be invoked by a variable in between runs. Thus they must have been evaluated on the last timestep of the previous run in - order for their value(s) to be accessed. See the doc page for the + order for their value(s) to be accessed. See the page for the variable command for more info. *Compute vcm/chunk does not use chunk/atom compute* @@ -3126,7 +3126,7 @@ Doc page with :doc:`WARNING messages ` *Energy was not tallied on needed timestep* You are using a thermo keyword that requires potentials to have tallied energy, but they did not on this timestep. See the - variable doc page for ideas on how to make this work. + variable page for ideas on how to make this work. *Epsilon or sigma reference not set by pair style in PPPMDisp* Self-explanatory. @@ -4535,10 +4535,10 @@ Doc page with :doc:`WARNING messages ` particles. *Incorrect # of floating-point values in Bodies section of data file* - See doc page for body style. + See page for body style. *Incorrect # of integer values in Bodies section of data file* - See doc page for body style. + See page for body style. *Incorrect %s format in data file* A section of the data file being read by fix property/atom does @@ -4573,7 +4573,7 @@ Doc page with :doc:`WARNING messages ` The number of fields per line is not what expected. *Incorrect bonus data format in data file* - See the read_data doc page for a description of how various kinds of + See the read_data page for a description of how various kinds of bonus data must be formatted for certain atom styles. *Incorrect boundaries with slab Ewald* @@ -4641,7 +4641,7 @@ Doc page with :doc:`WARNING messages ` Incorrect number of words per line in the potential file. *Incorrect integer value in Bodies section of data file* - See doc page for body style. + See page for body style. *Incorrect multiplicity arg for dihedral coefficients* Self-explanatory. Check the input script or data file. @@ -5996,7 +5996,7 @@ Doc page with :doc:`WARNING messages ` Self-explanatory. *Needed bonus data not in data file* - Some atom styles require bonus data. See the read_data doc page for + Some atom styles require bonus data. See the read_data page for details. *Needed molecular topology not in data file* @@ -6198,7 +6198,7 @@ keyword to allow for additional bonds to be formed *One or more atom IDs is too big* The limit on atom IDs is set by the SMALLBIG, BIGBIG, SMALLSMALL - setting in your LAMMPS build. See the :doc:`Build settings ` doc page for more info. + setting in your LAMMPS build. See the :doc:`Build settings ` page for more info. *One or more atom IDs is zero* Either all atoms IDs must be zero or none of them. @@ -6593,7 +6593,7 @@ keyword to allow for additional bonds to be formed *Pair style bop requires comm ghost cutoff at least 3x larger than %g* Use the communicate ghost command to set this. See the pair bop - doc page for more details. + page for more details. *Pair style born/coul/long requires atom attribute q* An atom style that defines this attribute must be used. @@ -6913,7 +6913,7 @@ keyword to allow for additional bonds to be formed *Per-atom energy was not tallied on needed timestep* You are using a thermo keyword that requires potentials to have tallied energy, but they did not on this timestep. See the - variable doc page for ideas on how to make this work. + variable page for ideas on how to make this work. *Per-atom fix in equal-style variable formula* Equal-style variables cannot use per-atom quantities. @@ -6921,7 +6921,7 @@ keyword to allow for additional bonds to be formed *Per-atom virial was not tallied on needed timestep* You are using a thermo keyword that requires potentials to have tallied the virial, but they did not on this timestep. See the - variable doc page for ideas on how to make this work. + variable page for ideas on how to make this work. *Per-processor system is too big* The number of owned atoms plus ghost atoms on a single @@ -8408,7 +8408,7 @@ keyword to allow for additional bonds to be formed *Virial was not tallied on needed timestep* You are using a thermo keyword that requires potentials to have tallied the virial, but they did not on this timestep. See the - variable doc page for ideas on how to make this work. + variable page for ideas on how to make this work. *Voro++ error: narea and neigh have a different size* This error is returned by the Voro++ library. diff --git a/doc/src/Errors_warnings.rst b/doc/src/Errors_warnings.rst index 806dec024b..d7a97c1507 100644 --- a/doc/src/Errors_warnings.rst +++ b/doc/src/Errors_warnings.rst @@ -213,7 +213,7 @@ Doc page with :doc:`ERROR messages ` in unexpected behavior. *Fix bond/swap will ignore defined angles* - See the doc page for fix bond/swap for more info on this + See the page for fix bond/swap for more info on this restriction. *Fix deposit near setting < possible overlap separation %g* diff --git a/doc/src/Examples.rst b/doc/src/Examples.rst index 043820c5dd..649be52ab7 100644 --- a/doc/src/Examples.rst +++ b/doc/src/Examples.rst @@ -174,10 +174,10 @@ web site. If you uncomment the :doc:`dump image ` line(s) in the input script a series of JPG images will be produced by the run (assuming you built LAMMPS with JPG support; see the -:doc:`Build_settings ` doc page for details). These can +:doc:`Build_settings ` page for details). These can be viewed individually or turned into a movie or animated by tools like ImageMagick or QuickTime or various Windows-based tools. See the -:doc:`dump image ` doc page for more details. E.g. this +:doc:`dump image ` page for more details. E.g. this Imagemagick command would create a GIF file suitable for viewing in a browser. diff --git a/doc/src/Howto_barostat.rst b/doc/src/Howto_barostat.rst index 87dab8dd95..0c25e2c53c 100644 --- a/doc/src/Howto_barostat.rst +++ b/doc/src/Howto_barostat.rst @@ -50,7 +50,7 @@ a temperature or pressure compute to a barostatting fix. Thermodynamic output, which can be setup via the :doc:`thermo_style ` command, often includes pressure -values. As explained on the doc page for the +values. As explained on the page for the :doc:`thermo_style ` command, the default pressure is setup by the thermo command itself. It is NOT the pressure associated with any barostatting fix you have defined or with any compute you diff --git a/doc/src/Howto_bioFF.rst b/doc/src/Howto_bioFF.rst index 9bffe5d4c9..172ba3da3a 100644 --- a/doc/src/Howto_bioFF.rst +++ b/doc/src/Howto_bioFF.rst @@ -49,7 +49,7 @@ command's documentation for the formula it computes. COMPASS is a general force field for atomistic simulation of common organic molecules, inorganic small molecules, and polymers which was developed using ab initio and empirical parameterization techniques. -See the :doc:`Tools ` doc page for the msi2lmp tool for creating +See the :doc:`Tools ` page for the msi2lmp tool for creating LAMMPS template input and data files from BIOVIA's Materials Studio files. Please note that the msi2lmp tool is very old and largely unmaintained, so it does not support all features of Materials Studio diff --git a/doc/src/Howto_body.rst b/doc/src/Howto_body.rst index 0c0a930221..cc02e3d52f 100644 --- a/doc/src/Howto_body.rst +++ b/doc/src/Howto_body.rst @@ -10,7 +10,7 @@ deformable objects, etc. Note that other kinds of finite-size spherical and aspherical particles are also supported by LAMMPS, such as spheres, ellipsoids, line segments, and triangles, but they are simpler entities than body particles. See the :doc:`Howto spherical -` doc page for a general overview of all these +` page for a general overview of all these particle types. Body particles are used via the :doc:`atom_style body ` @@ -170,14 +170,14 @@ with this body style to compute body/body and body/non-body interactions. The *rounded/polygon* body style represents body particles as a 2d polygon with a variable number of N vertices. This style can only be used for 2d models; see the :doc:`boundary ` command. See the -"pair_style body/rounded/polygon" doc page for a diagram of two +"pair_style body/rounded/polygon" page for a diagram of two squares with rounded circles at the vertices. Special cases for N = 1 (circle) and N = 2 (rod with rounded ends) can also be specified. One use of this body style is for 2d discrete element models, as described in :ref:`Fraige `. -Similar to body style *nparticle*\ , the atom_style body command for +Similar to body style *nparticle*, the atom_style body command for this body style takes two additional arguments: .. parsed-literal:: @@ -284,7 +284,7 @@ The *rounded/polyhedron* body style represents body particles as a 3d polyhedron with a variable number of N vertices, E edges and F faces. This style can only be used for 3d models; see the :doc:`boundary ` command. See the "pair_style -body/rounded/polygon" doc page for a diagram of a two 2d squares with +body/rounded/polygon" page for a diagram of a two 2d squares with rounded circles at the vertices. A 3d cube with rounded spheres at the 8 vertices and 12 rounded edges would be similar. Special cases for N = 1 (sphere) and N = 2 (rod with rounded ends) can also be @@ -293,7 +293,7 @@ specified. This body style is for 3d discrete element models, as described in :ref:`Wang `. -Similar to body style *rounded/polygon*\ , the atom_style body command +Similar to body style *rounded/polygon*, the atom_style body command for this body style takes two additional arguments: .. parsed-literal:: diff --git a/doc/src/Howto_chunk.rst b/doc/src/Howto_chunk.rst index c0a7792448..858e8241d1 100644 --- a/doc/src/Howto_chunk.rst +++ b/doc/src/Howto_chunk.rst @@ -51,7 +51,7 @@ scales the floating point value to spread it across multiple integers. Spatial bins can be of various kinds, e.g. 1d bins = slabs, 2d bins = pencils, 3d bins = boxes, spherical bins, cylindrical bins. -This compute also calculates the number of chunks *Nchunk*\ , which is +This compute also calculates the number of chunks *Nchunk*, which is used by other commands to tally per-chunk data. *Nchunk* can be a static value or change over time (e.g. the number of clusters). The chunk ID for an individual atom can also be static (e.g. a molecule diff --git a/doc/src/Howto_client_server.rst b/doc/src/Howto_client_server.rst index c22e1ca3ab..7e21b78dfd 100644 --- a/doc/src/Howto_client_server.rst +++ b/doc/src/Howto_client_server.rst @@ -119,7 +119,7 @@ server code. Another code could be substituted for either. The examples below show launching both codes from the same window (or batch script), using the "&" character to launch the first code in the -background. For all modes except *mpi/one*\ , you could also launch the +background. For all modes except *mpi/one*, you could also launch the codes in separate windows on your desktop machine. It does not matter whether you launch the client or server first. @@ -132,7 +132,7 @@ mpirun, even if one or both of them runs on a single processor. This is so that MPI can figure out how to connect both MPI processes together to exchange MPI messages between them. -For message exchange in *file*\ , *zmq*\ , or *mpi/two* modes: +For message exchange in *file*, *zmq*, or *mpi/two* modes: .. code-block:: bash diff --git a/doc/src/Howto_coreshell.rst b/doc/src/Howto_coreshell.rst index 0c1fc924ac..bffee0ca01 100644 --- a/doc/src/Howto_coreshell.rst +++ b/doc/src/Howto_coreshell.rst @@ -5,7 +5,7 @@ The adiabatic core-shell model by :ref:`Mitchell and Fincham ` to a system. In order to mimic the electron shell of an ion, a satellite particle is attached to it. This way the ions are split into a core and a shell where the latter is meant to react to the -electrostatic environment inducing polarizability. See the :doc:`Howto polarizable ` doc page for a discussion of all +electrostatic environment inducing polarizability. See the :doc:`Howto polarizable ` page for a discussion of all the polarizable models available in LAMMPS. Technically, shells are attached to the cores by a spring force f = @@ -78,7 +78,7 @@ satellite particle if desired. Since the core/shell model permits distances of r = 0.0 between the core and shell, a pair style with a "cs" suffix needs to be used to implement a valid long-range Coulombic correction. Several such pair -styles are provided in the CORESHELL package. See :doc:`this doc page ` for details. All of the core/shell enabled pair +styles are provided in the CORESHELL package. See :doc:`this page ` for details. All of the core/shell enabled pair styles require the use of a long-range Coulombic solver, as specified by the :doc:`kspace_style ` command. Either the PPPM or Ewald solvers can be used. diff --git a/doc/src/Howto_couple.rst b/doc/src/Howto_couple.rst index 36ba2a526e..31cafd1f94 100644 --- a/doc/src/Howto_couple.rst +++ b/doc/src/Howto_couple.rst @@ -42,7 +42,7 @@ context of your application. stand-alone code could communicate with LAMMPS through files that the command writes and reads. - See the :doc:`Modify command ` doc page for info on how + See the :doc:`Modify command ` page for info on how to add a new command to LAMMPS. .. spacer diff --git a/doc/src/Howto_drude2.rst b/doc/src/Howto_drude2.rst index 46d400c9e8..589e9d7b9a 100644 --- a/doc/src/Howto_drude2.rst +++ b/doc/src/Howto_drude2.rst @@ -91,7 +91,7 @@ DRUDE package) to convert a non-polarizable data file (here This will automatically insert the new atoms and bonds. The masses and charges of DCs and DPs are computed -from *phenol.dff*\ , as well as the DC-DP bond constants. The file +from *phenol.dff*, as well as the DC-DP bond constants. The file *phenol.dff* contains the polarizabilities of the atom types and the mass of the Drude particles, for instance: @@ -106,7 +106,7 @@ and the mass of the Drude particles, for instance: The hydrogen atoms are absent from this file, so they will be treated as non-polarizable atoms. In the non-polarizable data file -*data.102494.lmp*\ , atom names corresponding to the atom type numbers +*data.102494.lmp*, atom names corresponding to the atom type numbers have to be specified as comments at the end of lines of the *Masses* section. You probably need to edit it to add these names. It should look like @@ -125,7 +125,7 @@ look like **Basic input file** -The atom style should be set to (or derive from) *full*\ , so that you +The atom style should be set to (or derive from) *full*, so that you can define atomic charges and molecular bonds, angles, dihedrals... The *polarizer* tool also outputs certain lines related to the input @@ -143,7 +143,7 @@ and N for non-polarizable atoms. Here the atom types 1 to 3 (C and O atoms) are DC, atom types 4 and 5 (H atoms) are non-polarizable and the atom types 6 to 8 are the newly created DPs. -By recognizing the fix *drude*\ , LAMMPS will find and store matching +By recognizing the fix *drude*, LAMMPS will find and store matching DC-DP pairs and will treat DP as equivalent to their DC in the *special bonds* relations. It may be necessary to extend the space for storing such special relations. In this case extra space should @@ -340,11 +340,11 @@ For the *thole* pair style the coefficients are The special neighbors have charge-charge and charge-dipole interactions screened by the *coul* factors of the *special_bonds* command (0.0, 0.0, and 0.5 in the example above). Without using the -pair_style *thole*\ , dipole-dipole interactions are screened by the -same factor. By using the pair_style *thole*\ , dipole-dipole +pair_style *thole*, dipole-dipole interactions are screened by the +same factor. By using the pair_style *thole*, dipole-dipole interactions are screened by Thole's function, whatever their special relationship (except within each DC-DP pair of course). Consider for -example 1-2 neighbors: using the pair_style *thole*\ , their dipoles +example 1-2 neighbors: using the pair_style *thole*, their dipoles will see each other (despite the *coul* factor being 0.) and the interactions between these dipoles will be damped by Thole's function. @@ -384,7 +384,7 @@ For our phenol example, the groups would be defined as group CORES type 1 2 3 # DCs group DRUDES type 6 7 8 # DPs -Note that with the fixes *drude/transform*\ , it is not required to +Note that with the fixes *drude/transform*, it is not required to specify *comm_modify vel yes* because the fixes do it anyway (several times and for the forces also). diff --git a/doc/src/Howto_github.rst b/doc/src/Howto_github.rst index 311d716f18..0bb931fccd 100644 --- a/doc/src/Howto_github.rst +++ b/doc/src/Howto_github.rst @@ -140,8 +140,8 @@ After everything is done, add the files to the branch and commit them: flag) will automatically include **all** modified **and** new files and that is rarely the behavior you want. It can easily lead to accidentally adding unrelated and unwanted changes into the - repository. Instead it is preferable to explicitly use *git add*\ , - *git rm*\ , *git mv* for adding, removing, renaming individual files, + repository. Instead it is preferable to explicitly use *git add*, + *git rm*, *git mv* for adding, removing, renaming individual files, respectively, and then *git commit* to finalize the commit. Carefully check all pending changes with *git status* before committing them. If you find doing this on the command line too diff --git a/doc/src/Howto_kappa.rst b/doc/src/Howto_kappa.rst index 08697ecc84..ca9a418d5e 100644 --- a/doc/src/Howto_kappa.rst +++ b/doc/src/Howto_kappa.rst @@ -4,7 +4,7 @@ Calculate thermal conductivity The thermal conductivity kappa of a material can be measured in at least 4 ways using various options in LAMMPS. See the examples/KAPPA directory for scripts that implement the 4 methods discussed here for -a simple Lennard-Jones fluid model. Also, see the :doc:`Howto viscosity ` doc page for an analogous discussion +a simple Lennard-Jones fluid model. Also, see the :doc:`Howto viscosity ` page for an analogous discussion for viscosity. The thermal conductivity tensor kappa is a measure of the propensity @@ -58,7 +58,7 @@ between hot and cold regions of the simulation box. The :doc:`compute heat/flux ` command can calculate the needed heat flux and describes how to implement the Green_Kubo formalism using additional LAMMPS commands, such as the :doc:`fix ave/correlate ` command to calculate the needed -auto-correlation. See the doc page for the :doc:`compute heat/flux ` command for an example input script +auto-correlation. See the page for the :doc:`compute heat/flux ` command for an example input script that calculates the thermal conductivity of solid Ar via the GK formalism. diff --git a/doc/src/Howto_manifold.rst b/doc/src/Howto_manifold.rst index f09e3017be..8c2cbadc42 100644 --- a/doc/src/Howto_manifold.rst +++ b/doc/src/Howto_manifold.rst @@ -3,7 +3,7 @@ Manifolds (surfaces) **Overview:** -This doc page is not about a LAMMPS input script command, but about +This page is not about a LAMMPS input script command, but about manifolds, which are generalized surfaces, as defined and used by the MANIFOLD package, to track particle motion on the manifolds. See the src/MANIFOLD/README file for more details about the package diff --git a/doc/src/Howto_mdi.rst b/doc/src/Howto_mdi.rst index 7cfcd01a50..12c4cfa527 100644 --- a/doc/src/Howto_mdi.rst +++ b/doc/src/Howto_mdi.rst @@ -3,7 +3,7 @@ Using LAMMPS with the MDI library for code coupling .. note:: - This Howto doc page will eventually replace the + This Howto page will eventually replace the :doc:`Howto client/server ` doc page. Client/server coupling of two codes is where one code is the "client" @@ -120,7 +120,7 @@ input script will continue. After finishing execution of the input script, the instance of LAMMPS will be destroyed. LAMMPS supports the full set of MD-appropriate engine commands defined -by the MDI library. See the :doc:`mdi/engine ` doc page for +by the MDI library. See the :doc:`mdi/engine ` page for a list of these. If those commands are not sufficient for a user-developed driver to use diff --git a/doc/src/Howto_output.rst b/doc/src/Howto_output.rst index 61afce17ae..d17b865bbd 100644 --- a/doc/src/Howto_output.rst +++ b/doc/src/Howto_output.rst @@ -268,7 +268,7 @@ Computes that generate values to output Every :doc:`compute ` in LAMMPS produces either global or per-atom or local values. The values can be scalars or vectors or arrays of data. These values can be output using the other commands -described in this section. The doc page for each compute command +described in this section. The page for each compute command describes what it produces. Computes that produce per-atom or local values have the word "atom" or "local" in their style name. Computes without the word "atom" or "local" produce global values. @@ -281,7 +281,7 @@ Fixes that generate values to output Some :doc:`fixes ` in LAMMPS produces either global or per-atom or local values which can be accessed by other commands. The values can be scalars or vectors or arrays of data. These values can be output -using the other commands described in this section. The doc page for +using the other commands described in this section. The page for each fix command tells whether it produces any output quantities and describes them. diff --git a/doc/src/Howto_replica.rst b/doc/src/Howto_replica.rst index e34f3523f0..d286762e01 100644 --- a/doc/src/Howto_replica.rst +++ b/doc/src/Howto_replica.rst @@ -27,7 +27,7 @@ replicas are coupled together by springs to model a system of ring-polymers whic can represent the quantum nature of atom cores. These commands can only be used if LAMMPS was built with the REPLICA -package. See the :doc:`Build package ` doc page for more +package. See the :doc:`Build package ` page for more info. In all these cases, you must run with one or more processors per diff --git a/doc/src/Howto_thermostat.rst b/doc/src/Howto_thermostat.rst index 7bddb1c89d..fbeb1f7785 100644 --- a/doc/src/Howto_thermostat.rst +++ b/doc/src/Howto_thermostat.rst @@ -28,7 +28,7 @@ can be invoked via the *dpd/tstat* pair style: :doc:`Fix nvt ` only thermostats the translational velocity of particles. :doc:`Fix nvt/sllod ` also does this, except that it subtracts out a velocity bias due to a deforming box and -integrates the SLLOD equations of motion. See the :doc:`Howto nemd ` doc page for further details. :doc:`Fix nvt/sphere ` and :doc:`fix nvt/asphere ` thermostat not only translation +integrates the SLLOD equations of motion. See the :doc:`Howto nemd ` page for further details. :doc:`Fix nvt/sphere ` and :doc:`fix nvt/asphere ` thermostat not only translation velocities but also rotational velocities for spherical and aspherical particles. @@ -88,7 +88,7 @@ Below is a list of some custom temperature computes that can be used like that: Thermodynamic output, which can be setup via the :doc:`thermo_style ` command, often includes temperature -values. As explained on the doc page for the +values. As explained on the page for the :doc:`thermo_style ` command, the default temperature is setup by the thermo command itself. It is NOT the temperature associated with any thermostatting fix you have defined or with any diff --git a/doc/src/Howto_triclinic.rst b/doc/src/Howto_triclinic.rst index 13383f44df..5e952709c9 100644 --- a/doc/src/Howto_triclinic.rst +++ b/doc/src/Howto_triclinic.rst @@ -23,21 +23,21 @@ origin given by **a** = (xhi-xlo,0,0); **b** = (xy,yhi-ylo,0); **c** = and are called "tilt factors" because they are the amount of displacement applied to faces of an originally orthogonal box to transform it into the parallelepiped. In LAMMPS the triclinic -simulation box edge vectors **a**\ , **b**\ , and **c** cannot be arbitrary +simulation box edge vectors **a**, **b**, and **c** cannot be arbitrary vectors. As indicated, **a** must lie on the positive x axis. **b** must lie in the xy plane, with strictly positive y component. **c** may have any orientation with strictly positive z component. The requirement -that **a**\ , **b**\ , and **c** have strictly positive x, y, and z components, -respectively, ensures that **a**\ , **b**\ , and **c** form a complete +that **a**, **b**, and **c** have strictly positive x, y, and z components, +respectively, ensures that **a**, **b**, and **c** form a complete right-handed basis. These restrictions impose no loss of generality, since it is possible to rotate/invert any set of 3 crystal basis vectors so that they conform to the restrictions. -For example, assume that the 3 vectors **A**\ ,\ **B**\ ,\ **C** are the edge +For example, assume that the 3 vectors **A**,\ **B**,\ **C** are the edge vectors of a general parallelepiped, where there is no restriction on -**A**\ ,\ **B**\ ,\ **C** other than they form a complete right-handed basis i.e. -**A** x **B** . **C** > 0. The equivalent LAMMPS **a**\ ,\ **b**\ ,\ **c** are a linear -rotation of **A**\ , **B**\ , and **C** and can be computed as follows: +**A**,\ **B**,\ **C** other than they form a complete right-handed basis i.e. +**A** x **B** . **C** > 0. The equivalent LAMMPS **a**,\ **b**,\ **c** are a linear +rotation of **A**, **B**, and **C** and can be computed as follows: .. math:: @@ -57,9 +57,9 @@ rotation of **A**\ , **B**\ , and **C** and can be computed as follows: where A = \| **A** \| indicates the scalar length of **A**\ . The hat symbol (\^) indicates the corresponding unit vector. :math:`\beta` and :math:`\gamma` are angles between the vectors described below. Note that by construction, -**a**\ , **b**\ , and **c** have strictly positive x, y, and z components, respectively. +**a**, **b**, and **c** have strictly positive x, y, and z components, respectively. If it should happen that -**A**\ , **B**\ , and **C** form a left-handed basis, then the above equations +**A**, **B**, and **C** form a left-handed basis, then the above equations are not valid for **c**\ . In this case, it is necessary to first apply an inversion. This can be achieved by interchanging two basis vectors or by changing the sign of one of them. @@ -95,7 +95,7 @@ for details. The 9 parameters (xlo,xhi,ylo,yhi,zlo,zhi,xy,xz,yz) are defined at the time the simulation box is created. This happens in one of 3 ways. If the :doc:`create_box ` command is used with a region of -style *prism*\ , then a triclinic box is setup. See the +style *prism*, then a triclinic box is setup. See the :doc:`region ` command for details. If the :doc:`read_data ` command is used to define the simulation box, and the header of the data file contains a line with the "xy xz @@ -135,7 +135,7 @@ example), then configurations with tilt = ..., -15, -5, 5, 15, 25, ... are geometrically all equivalent. If the box tilt exceeds this limit during a dynamics run (e.g. via the :doc:`fix deform ` command), then the box is "flipped" to an equivalent shape with a tilt -factor within the bounds, so the run can continue. See the :doc:`fix deform ` doc page for further details. +factor within the bounds, so the run can continue. See the :doc:`fix deform ` page for further details. One exception to this rule is if the first dimension in the tilt factor (x for xy) is non-periodic. In that case, the limits on the @@ -160,10 +160,10 @@ For extreme values of tilt, LAMMPS may also lose atoms and generate an error. Triclinic crystal structures are often defined using three lattice -constants *a*\ , *b*\ , and *c*\ , and three angles :math:`\alpha`, +constants *a*, *b*, and *c*, and three angles :math:`\alpha`, :math:`\beta`, and :math:`\gamma`. Note that in this nomenclature, the a, b, and c lattice constants are the scalar lengths of the edge -vectors **a**\ , **b**\ , and **c** defined above. The relationship +vectors **a**, **b**, and **c** defined above. The relationship between these 6 quantities (a, b, c, :math:`\alpha`, :math:`\beta`, :math:`\gamma`) and the LAMMPS box sizes (lx,ly,lz) = (xhi-xlo,yhi-ylo,zhi-zlo) and tilt factors (xy,xz,yz) is as follows: @@ -188,10 +188,10 @@ The inverse relationship can be written as follows: {\rm yz} = & \frac{b*c \cos{\alpha} - {\rm xy}*{\rm xz}}{\rm ly} \\ {\rm lz}^2 = & c^2 - {\rm xz}^2 - {\rm yz}^2 \\ -The values of *a*\ , *b*\ , *c* , :math:`\alpha` , :math:`\beta`, and +The values of *a*, *b*, *c*, :math:`\alpha` , :math:`\beta`, and :math:`\gamma` can be printed out or accessed by computes using the :doc:`thermo_style custom ` keywords -*cella*\ , *cellb*\ , *cellc*\ , *cellalpha*\ , *cellbeta*\ , *cellgamma*\ , +*cella*, *cellb*, *cellc*, *cellalpha*, *cellbeta*, *cellgamma*, respectively. As discussed on the :doc:`dump ` command doc page, when the BOX diff --git a/doc/src/Howto_viscosity.rst b/doc/src/Howto_viscosity.rst index cfe9497665..5cabf63de3 100644 --- a/doc/src/Howto_viscosity.rst +++ b/doc/src/Howto_viscosity.rst @@ -42,7 +42,7 @@ command, which determines grad(Vstream) in the equation above. E.g. the derivative in the y-direction of the Vx component of fluid motion or grad(Vstream) = dVx/dy. The Pxy off-diagonal component of the pressure or stress tensor, as calculated by the :doc:`compute pressure ` command, can also be monitored, which -is the J term in the equation above. See the :doc:`Howto nemd ` doc page for details on NEMD simulations. +is the J term in the equation above. See the :doc:`Howto nemd ` page for details on NEMD simulations. The third method is to perform a reverse non-equilibrium MD simulation using the :doc:`fix viscosity ` command which implements diff --git a/doc/src/Howto_viz.rst b/doc/src/Howto_viz.rst index 2eb009c185..5a313615ef 100644 --- a/doc/src/Howto_viz.rst +++ b/doc/src/Howto_viz.rst @@ -13,7 +13,7 @@ by several popular visualization tools. The :doc:`dump image ` and : output internally rendered images and convert a sequence of them to a movie during the MD run. Several programs included with LAMMPS as auxiliary tools can convert between LAMMPS format files and other -formats. See the :doc:`Tools ` doc page for details. +formats. See the :doc:`Tools ` page for details. A Python-based toolkit distributed by our group can read native LAMMPS dump files, including custom dump files with additional columns of diff --git a/doc/src/Howto_walls.rst b/doc/src/Howto_walls.rst index 6e3e22a3f0..a77f116fd4 100644 --- a/doc/src/Howto_walls.rst +++ b/doc/src/Howto_walls.rst @@ -53,7 +53,7 @@ granular particles; all the other commands create smooth walls. * :doc:`fix wall/region ` - use region surface as wall * :doc:`fix wall/gran ` - flat or curved walls with :doc:`pair_style granular ` potential -The *lj93*\ , *lj126*\ , *colloid*\ , *harmonic*\ , and *morse* styles all +The *lj93*, *lj126*, *colloid*, *harmonic*, and *morse* styles all allow the flat walls to move with a constant velocity, or oscillate in time. The :doc:`fix wall/region ` command offers the most generality, since the region surface is treated as a wall, and diff --git a/doc/src/Intro_nonfeatures.rst b/doc/src/Intro_nonfeatures.rst index d034ccb443..84981e1496 100644 --- a/doc/src/Intro_nonfeatures.rst +++ b/doc/src/Intro_nonfeatures.rst @@ -32,7 +32,7 @@ Here are suggestions on how to perform these tasks: are simple programs that will build simple molecular systems, such as linear bead-spring polymer chains. The moltemplate program is a true molecular builder that will generate complex molecular models. See - the :doc:`Tools ` doc page for details on tools packaged with + the :doc:`Tools ` page for details on tools packaged with LAMMPS. The `Pre/post processing page `_ of the LAMMPS website describes a variety of third party tools for this task. Furthermore, some LAMMPS internal commands allow to reconstruct, or selectively add @@ -49,7 +49,7 @@ Here are suggestions on how to perform these tasks: * **Simulation analysis:** If you want to perform analysis on-the-fly as your simulation runs, see the :doc:`compute ` and :doc:`fix ` doc pages, which list commands that can be used in a - LAMMPS input script. Also see the :doc:`Modify ` doc page for + LAMMPS input script. Also see the :doc:`Modify ` page for info on how to add your own analysis code or algorithms to LAMMPS. For post-processing, LAMMPS output such as :doc:`dump file snapshots ` can be converted into formats used by other MD or post-processing codes. To some degree, that conversion can be done @@ -61,7 +61,7 @@ Here are suggestions on how to perform these tasks: LAMMPS will do these conversions. Scripts provided in the tools/python directory can extract and massage data in dump files to make it easier to import into other programs. See the - :doc:`Tools ` doc page for details on these various options. + :doc:`Tools ` page for details on these various options. * **Visualization:** LAMMPS can produce NETPBM, JPG or PNG snapshot images on-the-fly via its :doc:`dump image ` command and pass them to an external program, `FFmpeg `_ to generate @@ -71,7 +71,7 @@ Here are suggestions on how to perform these tasks: LAMMPS website for visualization packages that can process LAMMPS output data. * **Plotting:** See the next bullet about Pizza.py as well as the - :doc:`Python ` doc page for examples of plotting LAMMPS + :doc:`Python ` page for examples of plotting LAMMPS output. Scripts provided with the *python* tool in the tools directory will extract and massage data in log and dump files to make it easier to analyze and plot. See the :doc:`Tools ` doc page diff --git a/doc/src/Intro_overview.rst b/doc/src/Intro_overview.rst index 8ab85a0d99..930c7a6a16 100644 --- a/doc/src/Intro_overview.rst +++ b/doc/src/Intro_overview.rst @@ -25,7 +25,7 @@ the website for details. All versions can be downloaded from the LAMMPS is designed to be easy to modify or extend with new capabilities, such as new force fields, atom types, boundary -conditions, or diagnostics. See the :doc:`Modify ` doc page for +conditions, or diagnostics. See the :doc:`Modify ` page for more details. In the most general sense, LAMMPS integrates Newton's equations of diff --git a/doc/src/Modify_body.rst b/doc/src/Modify_body.rst index b923416bdc..3435b673e3 100644 --- a/doc/src/Modify_body.rst +++ b/doc/src/Modify_body.rst @@ -6,7 +6,7 @@ Body particles can represent complex entities, such as surface meshes of discrete points, collections of sub-particles, deformable objects, etc. -See the :doc:`Howto body ` doc page for an overview of using +See the :doc:`Howto body ` page for an overview of using body particles and the various body styles LAMMPS supports. New styles can be created to add new kinds of body particles to LAMMPS. diff --git a/doc/src/Modify_contribute.rst b/doc/src/Modify_contribute.rst index bcd368c3a3..caf31a9196 100644 --- a/doc/src/Modify_contribute.rst +++ b/doc/src/Modify_contribute.rst @@ -62,7 +62,7 @@ them open-source, i.e. we can release them under the terms of the GPL a LGPL (version 2.1) distribution that we make available to developers on request only and with files that are authorized for that kind of distribution removed (e.g. interface to FFTW). See the -:doc:`LAMMPS license ` doc page for details. +:doc:`LAMMPS license ` page for details. .. note:: @@ -80,7 +80,7 @@ distribution removed (e.g. interface to FFTW). See the .. _lws: https://www.lammps.org -The previous sections of this doc page describe how to add new "style" +The previous sections of this page describe how to add new "style" files of various kinds to LAMMPS. Packages are simply collections of one or more new class files which are invoked as a new style within a LAMMPS input script. If designed correctly, these additions typically @@ -107,7 +107,7 @@ packages in the src directory for examples. If you are uncertain, please ask. your contribution(s) to be added to main LAMMPS code or one of its standard packages, it needs to be written in a style compatible with other LAMMPS source files. This means: 2-character indentation per - level, **no tabs**\ , no lines over 100 characters. I/O is done via + level, **no tabs**, no lines over 100 characters. I/O is done via the C-style stdio library (mixing of stdio and iostreams is generally discouraged), class header files should not import any system headers outside of , STL containers should be avoided in headers, @@ -203,11 +203,11 @@ packages in the src directory for examples. If you are uncertain, please ask. pdf" in the doc folder. As appropriate, the text files can include inline mathematical expression or figures (see doc/JPG for examples). Additional PDF files with further details (see doc/PDF for examples) - may also be included. The doc page should also include literature + may also be included. The page should also include literature citations as appropriate; see the bottom of doc/fix_nh.rst for examples and the earlier part of the same file for how to format the cite itself. Citation labels must be unique across all .rst files. - The "Restrictions" section of the doc page should indicate if your + The "Restrictions" section of the page should indicate if your command is only available if LAMMPS is built with the appropriate FOO package. See other package doc files for examples of how to do this. Please run at least "make html" and "make spelling" diff --git a/doc/src/Modify_fix.rst b/doc/src/Modify_fix.rst index 556c858735..f065664c6a 100644 --- a/doc/src/Modify_fix.rst +++ b/doc/src/Modify_fix.rst @@ -129,7 +129,7 @@ derived class. See fix.h for details. Typically, only a small fraction of these methods are defined for a particular fix. Setmask is mandatory, as it determines when the fix will be invoked during the timestep. Fixes that perform time -integration (\ *nve*\ , *nvt*\ , *npt*\ ) implement initial_integrate() and +integration (\ *nve*, *nvt*, *npt*\ ) implement initial_integrate() and final_integrate() to perform velocity Verlet updates. Fixes that constrain forces implement post_force(). diff --git a/doc/src/Packages.rst b/doc/src/Packages.rst index 31ac02df3c..933294a9f7 100644 --- a/doc/src/Packages.rst +++ b/doc/src/Packages.rst @@ -7,7 +7,7 @@ specific set of features. For example, force fields for molecular systems or rigid-body constraints are in packages. You can see the list of all packages and "make" commands to manage them by typing "make package" from within the src directory of the LAMMPS -distribution. The :doc:`Build package ` doc page gives +distribution. The :doc:`Build package ` page gives general info on how to install and un-install packages as part of the LAMMPS build process. diff --git a/doc/src/Python_call.rst b/doc/src/Python_call.rst index 3a09678539..796adfe1c0 100644 --- a/doc/src/Python_call.rst +++ b/doc/src/Python_call.rst @@ -43,7 +43,7 @@ complex loop with branching logic, than can be created using the simple looping and branching logic enabled by the :doc:`next ` and :doc:`if ` commands. -See the :doc:`python ` doc page and the :doc:`variable ` +See the :doc:`python ` page and the :doc:`variable ` doc page for its python-style variables for more info, including examples of Python code you can write for both pure Python operations and callbacks to LAMMPS. diff --git a/doc/src/Python_objects.rst b/doc/src/Python_objects.rst index 4c8161b8bd..4a1496632e 100644 --- a/doc/src/Python_objects.rst +++ b/doc/src/Python_objects.rst @@ -20,7 +20,7 @@ computes, fixes, or variables in LAMMPS using the :py:mod:`lammps` module. global vector or array, a single double value from the vector or array is returned, indexed by I (vector) or I and J (array). I,J are zero-based indices. - See the :doc:`Howto output ` doc page for a discussion of + See the :doc:`Howto output ` page for a discussion of global, per-atom, and local data, and of scalar, vector, and array data types. See the doc pages for individual :doc:`computes ` and :doc:`fixes ` for a description of what they calculate and diff --git a/doc/src/Python_trouble.rst b/doc/src/Python_trouble.rst index b94a043a6a..aae96d6701 100644 --- a/doc/src/Python_trouble.rst +++ b/doc/src/Python_trouble.rst @@ -41,4 +41,4 @@ first importing from the ``lammps`` module: >>> CDLL("liblammps.so") If an error occurs, carefully go through the steps in :ref:`python_install_guides` and on the -:doc:`Build_basics ` doc page about building a shared library. +:doc:`Build_basics ` page about building a shared library. diff --git a/doc/src/Run_basics.rst b/doc/src/Run_basics.rst index 35d5f829a0..3d57633df2 100644 --- a/doc/src/Run_basics.rst +++ b/doc/src/Run_basics.rst @@ -42,7 +42,7 @@ single processor. In theory you should get identical answers on any number of processors and on any machine. In practice, numerical round-off due to using floating-point math can cause slight differences and an eventual divergence of molecular dynamics trajectories. See the -:doc:`Errors common ` doc page for discussion of this. +:doc:`Errors common ` page for discussion of this. LAMMPS can run as large a problem as will fit in the physical memory of one or more processors. If you run out of memory, you must run on more diff --git a/doc/src/Run_options.rst b/doc/src/Run_options.rst index f8c6925dba..c4004c87e0 100644 --- a/doc/src/Run_options.rst +++ b/doc/src/Run_options.rst @@ -365,7 +365,7 @@ to insure that a specific Kspace processor (in the second partition) is matched up with a specific set of processors in the first partition. See the :doc:`General tips ` page for more details. -If the keyword *nth* is used with a setting *N*\ , then it means every +If the keyword *nth* is used with a setting *N*, then it means every Nth processor will be moved to the end of the ranking. This is useful when using the :doc:`run_style verlet/split ` command with 2 partitions via the -partition command-line switch. The first set of @@ -397,7 +397,7 @@ so that the processors in each partition will be See the "processors" command for how to insure processors from each partition could then be grouped optimally for quad-core nodes. -If the keyword is *custom*\ , then a file that specifies a permutation +If the keyword is *custom*, then a file that specifies a permutation of the processor ranks is also specified. The format of the reorder file is as follows. Any number of initial blank or comment lines (starting with a "#" character) can be present. These should be @@ -464,7 +464,7 @@ The syntax following restartfile (or remap), namely datafile keyword value ... is identical to the arguments of the :doc:`write_data ` -command. See its doc page for details. This includes its +command. See its page for details. This includes its optional keyword/value settings. ---------- @@ -505,11 +505,11 @@ The syntax following restartfile (or remap), namely group-ID dumpstyle dumpfile arg1 arg2 ... is identical to the arguments of the :doc:`write_dump ` -command. See its doc page for details. This includes what per-atom +command. See its page for details. This includes what per-atom fields are written to the dump file and optional dump_modify settings, including ones that affect how parallel dump files are written, e.g. the *nfile* and *fileper* keywords. See the -:doc:`dump_modify ` doc page for details. +:doc:`dump_modify ` page for details. ---------- @@ -537,7 +537,7 @@ partition screen files file.N. **-suffix style args** Use variants of various styles if they exist. The specified style can -be *gpu*\ , *intel*\ , *kk*\ , *omp*\ , *opt*\ , or *hybrid*\ . These +be *gpu*, *intel*, *kk*, *omp*, *opt*, or *hybrid*\ . These refer to optional packages that LAMMPS can be built with, as described in :doc:`Accelerate performance `. The "gpu" style corresponds to the GPU package, the "intel" style to the INTEL package, the "kk" diff --git a/doc/src/Run_output.rst b/doc/src/Run_output.rst index d7d92dc5ee..8adfd4b293 100644 --- a/doc/src/Run_output.rst +++ b/doc/src/Run_output.rst @@ -152,7 +152,7 @@ information is provided about the line search and statistics on how many iterations and force-evaluations the minimizer required. Multiple force evaluations are typically done at each iteration to perform a 1d line minimization in the search direction. See the -:doc:`minimize ` doc page for more details. +:doc:`minimize ` page for more details. ---------- diff --git a/doc/src/Speed_gpu.rst b/doc/src/Speed_gpu.rst index 3b6bb8845b..656ce08bbc 100644 --- a/doc/src/Speed_gpu.rst +++ b/doc/src/Speed_gpu.rst @@ -71,7 +71,7 @@ by AMD. **Building LAMMPS with the GPU package:** -See the :ref:`Build extras ` doc page for +See the :ref:`Build extras ` page for instructions. **Run with the GPU package from the command line:** @@ -118,7 +118,7 @@ automatic selection of the number of GPUs to use. Using the "-pk" switch explicitly allows for setting of the number of GPUs/node to use and additional options. Its syntax is the same as the "package gpu" command. See the :doc:`package ` -command doc page for details, including the default values used for +command page for details, including the default values used for all its options if it is not specified. Note that the default for the :doc:`package gpu ` command is to @@ -182,7 +182,7 @@ deterministic results. calculations can be dynamically balanced across the CPU cores and GPUs. GPU-specific settings can be made which can be optimized for different hardware. See the :doc:`package ` command - doc page for details. + page for details. * As described by the :doc:`package gpu ` command, GPU accelerated pair styles can perform computations asynchronously with CPU computations. The "Pair" time reported by LAMMPS will be the diff --git a/doc/src/Speed_intel.rst b/doc/src/Speed_intel.rst index 20371b4256..6526f836b2 100644 --- a/doc/src/Speed_intel.rst +++ b/doc/src/Speed_intel.rst @@ -103,7 +103,7 @@ Quick Start for Experienced Users """"""""""""""""""""""""""""""""" LAMMPS should be built with the INTEL package installed. -Simulations should be run with 1 MPI task per physical *core*\ , +Simulations should be run with 1 MPI task per physical *core*, not *hardware thread*\ . * Edit src/MAKE/OPTIONS/Makefile.intel_cpu_intelmpi as necessary. @@ -205,7 +205,7 @@ this information can normally be obtained with: Building LAMMPS with the INTEL package """"""""""""""""""""""""""""""""""""""""""" -See the :ref:`Build extras ` doc page for +See the :ref:`Build extras ` page for instructions. Some additional details are covered here. For building with make, several example Makefiles for building with diff --git a/doc/src/Speed_kokkos.rst b/doc/src/Speed_kokkos.rst index c24c22e926..400db9585c 100644 --- a/doc/src/Speed_kokkos.rst +++ b/doc/src/Speed_kokkos.rst @@ -67,7 +67,7 @@ produce an executable compatible with a specific hardware. Building LAMMPS with the KOKKOS package """"""""""""""""""""""""""""""""""""""" -See the :ref:`Build extras ` doc page for instructions. +See the :ref:`Build extras ` page for instructions. Running LAMMPS with the KOKKOS package """""""""""""""""""""""""""""""""""""" @@ -217,7 +217,7 @@ threads/task as Nt. The product of these two values should be N, i.e. be best for many-body potentials. For simpler pair-wise potentials, it may be faster to use a "full" neighbor list with Newton flag to "off". Use the "-pk kokkos" :doc:`command-line switch ` to change - the default :doc:`package kokkos ` options. See its doc page for + the default :doc:`package kokkos ` options. See its page for details and default settings. Experimenting with its options can provide a speed-up for specific calculations. For example: @@ -279,7 +279,7 @@ one or more nodes, each with two GPUs: setting the neighbor binsize equal to twice the CPU default value will give speedup, which is the default when running on GPUs. Use the "-pk kokkos" :doc:`command-line switch ` to change the default - :doc:`package kokkos ` options. See its doc page for details and + :doc:`package kokkos ` options. See its page for details and default settings. Experimenting with its options can provide a speed-up for specific calculations. For example: diff --git a/doc/src/Speed_omp.rst b/doc/src/Speed_omp.rst index 060944e81b..3d9cbe19e0 100644 --- a/doc/src/Speed_omp.rst +++ b/doc/src/Speed_omp.rst @@ -18,7 +18,7 @@ launched by each MPI task on the local node (using shared memory). Building LAMMPS with the OPENMP package """"""""""""""""""""""""""""""""""""""""" -See the :ref:`Build extras ` doc page for +See the :ref:`Build extras ` page for instructions. Run with the OPENMP package from the command line @@ -50,7 +50,7 @@ threads per MPI task via the OMP_NUM_THREADS environment variable. You can also use the "-pk omp Nt" :doc:`command-line switch `, to explicitly set Nt = # of OpenMP threads per MPI task to use, as well as additional options. Its syntax is the -same as the :doc:`package omp ` command whose doc page gives +same as the :doc:`package omp ` command whose page gives details, including the default values used if it is not specified. It also gives more details on how to set the number of threads via the OMP_NUM_THREADS environment variable. @@ -70,7 +70,7 @@ Use the :doc:`suffix omp ` command, or you can explicitly add an You must also use the :doc:`package omp ` command to enable the OPENMP package. When you do this you also specify how many threads -per MPI task to use. The command doc page explains other options and +per MPI task to use. The command page explains other options and how to set the number of threads via the OMP_NUM_THREADS environment variable. diff --git a/doc/src/Speed_opt.rst b/doc/src/Speed_opt.rst index 338c4f2030..e115393017 100644 --- a/doc/src/Speed_opt.rst +++ b/doc/src/Speed_opt.rst @@ -15,7 +15,7 @@ Any hardware. Any compiler. Building LAMMPS with the OPT package """""""""""""""""""""""""""""""""""" -See the :ref:`Build extras ` doc page for instructions. +See the :ref:`Build extras ` page for instructions. Run with the OPT package from the command line """""""""""""""""""""""""""""""""""""""""""""" diff --git a/doc/src/Tools.rst b/doc/src/Tools.rst index e7cd87aa78..1165ff5a82 100644 --- a/doc/src/Tools.rst +++ b/doc/src/Tools.rst @@ -363,7 +363,7 @@ michele.ceriotti at gmail.com, to interface to a variety of molecular dynamics codes. See the tools/i-pi/manual.pdf file for an overview of i-PI, and the -:doc:`fix ipi ` doc page for further details on running PIMD +:doc:`fix ipi ` page for further details on running PIMD calculations with LAMMPS. ---------- diff --git a/doc/src/accel_styles.rst b/doc/src/accel_styles.rst index bd7d88f9d7..27a798d731 100644 --- a/doc/src/accel_styles.rst +++ b/doc/src/accel_styles.rst @@ -1,4 +1,4 @@ -Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are +Styles with a *gpu*, *intel*, *kk*, *omp*, or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available hardware, as discussed on the :doc:`Speed packages ` doc @@ -7,11 +7,11 @@ produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, INTEL, KOKKOS, OPENMP and OPT packages, respectively. They are only enabled if -LAMMPS was built with those packages. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with those packages. See the :doc:`Build package ` page for more info. You can specify the accelerated styles explicitly in your input script by including their suffix, or you can use the :doc:`-suffix command-line switch ` when you invoke LAMMPS, or you can use the :doc:`suffix ` command in your input script. -See the :doc:`Speed packages ` doc page for more +See the :doc:`Speed packages ` page for more instructions on how to use the accelerated styles effectively. diff --git a/doc/src/angle_charmm.rst b/doc/src/angle_charmm.rst index d411599eaf..0da31e54e7 100644 --- a/doc/src/angle_charmm.rst +++ b/doc/src/angle_charmm.rst @@ -56,7 +56,7 @@ radian\^2. ---------- -Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are +Styles with a *gpu*, *intel*, *kk*, *omp*, or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available hardware, as discussed on the :doc:`Speed packages ` doc @@ -65,13 +65,13 @@ produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, INTEL, KOKKOS, OPENMP and OPT packages, respectively. They are only enabled if -LAMMPS was built with those packages. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with those packages. See the :doc:`Build package ` page for more info. You can specify the accelerated styles explicitly in your input script by including their suffix, or you can use the :doc:`-suffix command-line switch ` when you invoke LAMMPS, or you can use the :doc:`suffix ` command in your input script. -See :doc:`Speed packages ` doc page for more +See :doc:`Speed packages ` page for more instructions on how to use the accelerated styles effectively. ---------- diff --git a/doc/src/angle_cosine_delta.rst b/doc/src/angle_cosine_delta.rst index 280e6ea2c4..b417b7a4a2 100644 --- a/doc/src/angle_cosine_delta.rst +++ b/doc/src/angle_cosine_delta.rst @@ -54,7 +54,7 @@ Restrictions """""""""""" This angle style can only be used if LAMMPS was built with the -MOLECULE package. See the :doc:`Build package ` doc page +EXTRA-MOLECULE package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/angle_cosine_periodic.rst b/doc/src/angle_cosine_periodic.rst index 4983745618..1eb5240011 100644 --- a/doc/src/angle_cosine_periodic.rst +++ b/doc/src/angle_cosine_periodic.rst @@ -58,7 +58,7 @@ Restrictions """""""""""" This angle style can only be used if LAMMPS was built with the -MOLECULE package. See the :doc:`Build package ` doc page +EXTRA-MOLECULE package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/angle_hybrid.rst b/doc/src/angle_hybrid.rst index 1a562b0118..cf8ea1a3fb 100644 --- a/doc/src/angle_hybrid.rst +++ b/doc/src/angle_hybrid.rst @@ -58,7 +58,7 @@ specifying additional BondBond (and BondAngle) coefficients either via the input script or in the data file. I.e. *class2* must be added to each line after the angle type. For lines in the BondBond (or BondAngle) section of the data file for angle types that are not -*class2*\ , you must use an angle style of *skip* as a placeholder, e.g. +*class2*, you must use an angle style of *skip* as a placeholder, e.g. .. parsed-literal:: diff --git a/doc/src/angle_sdk.rst b/doc/src/angle_sdk.rst index fe0cd3968b..50f4a5b360 100644 --- a/doc/src/angle_sdk.rst +++ b/doc/src/angle_sdk.rst @@ -37,7 +37,7 @@ where :math:`\theta_0` is the equilibrium value of the angle and *lj/sdk* pair style between the atoms 1 and 3. This angle potential is intended for coarse grained MD simulations with the CMM parameterization using the :doc:`pair_style lj/sdk `. Relative to the -pair_style *lj/sdk*\ , however, the energy is shifted by +pair_style *lj/sdk*, however, the energy is shifted by :math:`\epsilon`, to avoid sudden jumps. Note that the usual 1/2 factor is included in :math:`K`. diff --git a/doc/src/angle_style.rst b/doc/src/angle_style.rst index 540d15fee2..0715625d45 100644 --- a/doc/src/angle_style.rst +++ b/doc/src/angle_style.rst @@ -66,7 +66,7 @@ specified by the associated :doc:`angle_coeff ` command. There are also additional accelerated pair styles included in the LAMMPS distribution for faster performance on CPUs, GPUs, and KNLs. -The individual style names on the :ref:`Commands angle ` doc page are followed by one or more +The individual style names on the :ref:`Commands angle ` page are followed by one or more of (g,i,k,o,t) to indicate which accelerated styles exist. * :doc:`none ` - turn off angle interactions @@ -103,7 +103,7 @@ Angle styles can only be set for atom_styles that allow angles to be defined. Most angle styles are part of the MOLECULE package. They are only -enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. The doc pages for +enabled if LAMMPS was built with that package. See the :doc:`Build package ` page for more info. The doc pages for individual bond potentials tell if it is part of a package. Related commands diff --git a/doc/src/atc_control_thermal.rst b/doc/src/atc_control_thermal.rst index d6d6c25405..7a17701c5c 100644 --- a/doc/src/atc_control_thermal.rst +++ b/doc/src/atc_control_thermal.rst @@ -66,7 +66,7 @@ Restrictions Only for be used with the specific controllers *thermal* or *momentum*. They are ignored if a lumped solution is requested. -*control thermal* is only for be used with specific transfers: thermal (*rescale*\ , *hoover*\ , *flux*\ ), *two_temperature* (*flux*\ ). +*control thermal* is only for be used with specific transfers: thermal (*rescale*, *hoover*, *flux*\ ), *two_temperature* (*flux*\ ). *rescale* not valid with time filtering activated *correction_max_iterations* is only for use with *thermal* physics using diff --git a/doc/src/atom_modify.rst b/doc/src/atom_modify.rst index c142fb6519..2f01877ac7 100644 --- a/doc/src/atom_modify.rst +++ b/doc/src/atom_modify.rst @@ -40,7 +40,7 @@ command. The *id* and *map* keywords must be specified before a simulation box is defined; other keywords can be specified any time. The *id* keyword determines whether non-zero atom IDs can be assigned -to each atom. If the value is *yes*\ , which is the default, IDs are +to each atom. If the value is *yes*, which is the default, IDs are assigned, whether you use the :doc:`create atoms ` or :doc:`read_data ` or :doc:`read_restart ` commands to initialize atoms. If the value is *no* the IDs for all diff --git a/doc/src/atom_style.rst b/doc/src/atom_style.rst index 4d880077d1..bade8c2f79 100644 --- a/doc/src/atom_style.rst +++ b/doc/src/atom_style.rst @@ -61,7 +61,7 @@ command. Restrictions section. Once a style is assigned, it cannot be changed, so use a style general -enough to encompass all attributes. E.g. with style *bond*\ , angular +enough to encompass all attributes. E.g. with style *bond*, angular terms cannot be used or added later to the model. It is OK to use a style more general than needed, though it may be slightly inefficient. @@ -136,13 +136,13 @@ quantities. It is possible to add some attributes, such as a molecule ID, to atom styles that do not have them via the :doc:`fix property/atom ` command. This command also allows new custom attributes consisting of extra integer or - floating-point values to be added to atoms. See the :doc:`fix property/atom ` doc page for examples of cases + floating-point values to be added to atoms. See the :doc:`fix property/atom ` page for examples of cases where this is useful and details on how to initialize, access, and output the custom values. -All of the above styles define point particles, except the *sphere*\ , -*ellipsoid*\ , *electron*\ , *peri*\ , *wavepacket*\ , *line*\ , *tri*\ , and -*body* styles, which define finite-size particles. See the :doc:`Howto spherical ` doc page for an overview of using +All of the above styles define point particles, except the *sphere*, +*ellipsoid*, *electron*, *peri*, *wavepacket*, *line*, *tri*, and +*body* styles, which define finite-size particles. See the :doc:`Howto spherical ` page for an overview of using finite-size particle models with LAMMPS. All of the point-particle styles assign mass to particles on a @@ -236,7 +236,7 @@ individual physical bodies from penetrating each other. For the *spin* style, a magnetic spin is associated to each atom. Those spins have a norm (their magnetic moment) and a direction. -The *wavepacket* style is similar to *electron*\ , but the electrons may +The *wavepacket* style is similar to *electron*, but the electrons may consist of several Gaussian wave packets, summed up with coefficients cs= (cs_re,cs_im). Each of the wave packets is treated as a separate particle in LAMMPS, wave packets belonging to the same electron must @@ -256,7 +256,7 @@ command. The template stores one or more molecules with a single copy of the topology info (bonds,angles,etc) of each. Individual atoms only store a template index and template atom to identify which molecule and which atom-within-the-molecule they represent. Using the -*template* style instead of the *bond*\ , *angle*\ , *molecular* styles +*template* style instead of the *bond*, *angle*, *molecular* styles can save memory for systems comprised of a large number of small molecules, all of a single type (or small number of types). See the paper by Grime and Voth, in :ref:`(Grime) `, for examples of how this @@ -283,7 +283,7 @@ the *bstyle* argument. Body particles can represent complex entities, such as surface meshes of discrete points, collections of sub-particles, deformable objects, etc. -The :doc:`Howto body ` doc page describes the body styles +The :doc:`Howto body ` page describes the body styles LAMMPS currently supports, and provides more details as to the kind of body particles they represent. For all styles, each body particle stores moments of inertia and a quaternion 4-vector, so that its @@ -332,14 +332,14 @@ styles. The accelerated styles are part of the KOKKOS package. They are only enabled if LAMMPS was built with those packages. See the :doc:`Build -package ` doc page for more info. +package ` page for more info. You can specify the accelerated styles explicitly in your input script by including their suffix, or you can use the :doc:`-suffix command-line switch ` when you invoke LAMMPS, or you can use the :doc:`suffix ` command in your input script. -See the :doc:`Speed packages ` doc page for more +See the :doc:`Speed packages ` page for more instructions on how to use the accelerated styles effectively. Restrictions @@ -350,9 +350,9 @@ This command cannot be used after the simulation box is defined by a Many of the styles listed above are only enabled if LAMMPS was built with a specific package, as listed below. See the :doc:`Build package -` doc page for more info. +` page for more info. -The *angle*\ , *bond*\ , *full*\ , *molecular*\ , and *template* styles are +The *angle*, *bond*, *full*, *molecular*, and *template* styles are part of the MOLECULE package. The *line* and *tri* styles are part of the ASPHERE package. @@ -370,7 +370,7 @@ The *electron* style is part of the EFF package for :doc:`electronic force field The *dpd* style is part of the DPD-REACT package for dissipative particle dynamics (DPD). -The *edpd*\ , *mdpd*\ , and *tdpd* styles are part of the DPD-MESO package +The *edpd*, *mdpd*, and *tdpd* styles are part of the DPD-MESO package for energy-conserving dissipative particle dynamics (eDPD), many-body dissipative particle dynamics (mDPD), and transport dissipative particle dynamics (tDPD), respectively. diff --git a/doc/src/balance.rst b/doc/src/balance.rst index 5d42fabb21..b3ac360ca2 100644 --- a/doc/src/balance.rst +++ b/doc/src/balance.rst @@ -11,7 +11,7 @@ Syntax balance thresh style args ... keyword args ... * thresh = imbalance threshold that must be exceeded to perform a re-balance -* one style/arg pair can be used (or multiple for *x*\ ,\ *y*\ ,\ *z*\ ) +* one style/arg pair can be used (or multiple for *x*,\ *y*,\ *z*\ ) * style = *x* or *y* or *z* or *shift* or *rcb* .. parsed-literal:: @@ -170,10 +170,10 @@ fractions of the box length) are also printed. ---------- The method used to perform a load balance is specified by one of the -listed styles (or more in the case of *x*\ ,\ *y*\ ,\ *z*\ ), which are +listed styles (or more in the case of *x*,\ *y*,\ *z*\ ), which are described in detail below. There are 2 kinds of styles. -The *x*\ , *y*\ , *z*\ , and *shift* styles are "grid" methods which +The *x*, *y*, *z*, and *shift* styles are "grid" methods which produce a logical 3d grid of processors. They operate by changing the cutting planes (or lines) between processors in 3d (or 2d), to adjust the volume (area in 2d) assigned to each processor, as in the @@ -222,7 +222,7 @@ from scratch. ---------- -The *x*\ , *y*\ , and *z* styles invoke a "grid" method for balancing, as +The *x*, *y*, and *z* styles invoke a "grid" method for balancing, as described above. Note that any or all of these 3 styles can be specified together, one after the other, but they cannot be used with any other style. This style adjusts the position of cutting planes @@ -263,7 +263,7 @@ once. You should normally only list dimensions where you expect there to be a density variation in the particles. Balancing proceeds by adjusting the cutting planes in each of the -dimensions listed in *dimstr*\ , one dimension at a time. For a single +dimensions listed in *dimstr*, one dimension at a time. For a single dimension, the balancing operation (described below) is iterated on up to *Niter* times. After each dimension finishes, the imbalance factor is re-computed, and the balancing operation halts if the *stopthresh* @@ -428,8 +428,8 @@ weights. It assigns the same weight to each particle owned by a processor based on the total computational time spent by that processor. See details below on what time window is used. It uses the same timing information as is used for the :doc:`MPI task timing -breakdown `, namely, for sections *Pair*\ , *Bond*\ , -*Kspace*\ , and *Neigh*\ . The time spent in those portions of the +breakdown `, namely, for sections *Pair*, *Bond*, +*Kspace*, and *Neigh*\ . The time spent in those portions of the timestep are measured for each MPI rank, summed, then divided by the number of particles owned by that processor. I.e. the weight is an effective CPU time/particle averaged over the particles on that @@ -455,7 +455,7 @@ are for the entire previous run. For the *fix balance* command the timing data is for only the timesteps since the last balancing operation was performed. If timing information for the required sections is not available, e.g. at the beginning of a run, or when the -:doc:`timer ` command is set to either *loop* or *off*\ , a warning +:doc:`timer ` command is set to either *loop* or *off*, a warning is issued. In this case no weights are computed. .. note:: diff --git a/doc/src/bond_class2.rst b/doc/src/bond_class2.rst index aea503738f..559e031229 100644 --- a/doc/src/bond_class2.rst +++ b/doc/src/bond_class2.rst @@ -55,7 +55,7 @@ Restrictions """""""""""" This bond style can only be used if LAMMPS was built with the CLASS2 -package. See the :doc:`Build package ` doc page for more +package. See the :doc:`Build package ` page for more info. Related commands diff --git a/doc/src/bond_fene.rst b/doc/src/bond_fene.rst index 0c6a37ca62..108f538628 100644 --- a/doc/src/bond_fene.rst +++ b/doc/src/bond_fene.rst @@ -58,7 +58,7 @@ Restrictions """""""""""" This bond style can only be used if LAMMPS was built with the MOLECULE -package. See the :doc:`Build package ` doc page for more +package. See the :doc:`Build package ` page for more info. You typically should specify :doc:`special_bonds fene ` diff --git a/doc/src/bond_fene_expand.rst b/doc/src/bond_fene_expand.rst index 1be06561e9..8e04da6146 100644 --- a/doc/src/bond_fene_expand.rst +++ b/doc/src/bond_fene_expand.rst @@ -60,7 +60,7 @@ Restrictions """""""""""" This bond style can only be used if LAMMPS was built with the MOLECULE -package. See the :doc:`Build package ` doc page for more +package. See the :doc:`Build package ` page for more info. You typically should specify :doc:`special_bonds fene ` diff --git a/doc/src/bond_gromos.rst b/doc/src/bond_gromos.rst index d4eb958ebe..16b5cb0f36 100644 --- a/doc/src/bond_gromos.rst +++ b/doc/src/bond_gromos.rst @@ -51,7 +51,7 @@ Restrictions """""""""""" This bond style can only be used if LAMMPS was built with the MOLECULE -package. See the :doc:`Build package ` doc page for more +package. See the :doc:`Build package ` page for more info. Related commands diff --git a/doc/src/bond_harmonic.rst b/doc/src/bond_harmonic.rst index e3320f2e19..a76cc54746 100644 --- a/doc/src/bond_harmonic.rst +++ b/doc/src/bond_harmonic.rst @@ -53,7 +53,7 @@ Restrictions """""""""""" This bond style can only be used if LAMMPS was built with the MOLECULE -package. See the :doc:`Build package ` doc page for more +package. See the :doc:`Build package ` page for more info. Related commands diff --git a/doc/src/bond_hybrid.rst b/doc/src/bond_hybrid.rst index 0da93ccade..1ffd4a1c98 100644 --- a/doc/src/bond_hybrid.rst +++ b/doc/src/bond_hybrid.rst @@ -64,7 +64,7 @@ Restrictions """""""""""" This bond style can only be used if LAMMPS was built with the MOLECULE -package. See the :doc:`Build package ` doc page for more +package. See the :doc:`Build package ` page for more info. Unlike other bond styles, the hybrid bond style does not store bond diff --git a/doc/src/bond_morse.rst b/doc/src/bond_morse.rst index f096624ba0..4aa76a6712 100644 --- a/doc/src/bond_morse.rst +++ b/doc/src/bond_morse.rst @@ -52,7 +52,7 @@ Restrictions """""""""""" This bond style can only be used if LAMMPS was built with the MOLECULE -package. See the :doc:`Build package ` doc page for more +package. See the :doc:`Build package ` page for more info. Related commands diff --git a/doc/src/bond_nonlinear.rst b/doc/src/bond_nonlinear.rst index 77271502ea..91bd03421a 100644 --- a/doc/src/bond_nonlinear.rst +++ b/doc/src/bond_nonlinear.rst @@ -51,8 +51,8 @@ or :doc:`read_restart ` commands: Restrictions """""""""""" -This bond style can only be used if LAMMPS was built with the MOLECULE -package. See the :doc:`Build package ` doc page for more +This bond style can only be used if LAMMPS was built with the EXTRA-MOLECULE +package. See the :doc:`Build package ` page for more info. Related commands diff --git a/doc/src/bond_oxdna.rst b/doc/src/bond_oxdna.rst index 3b35f92d89..f863c0e98f 100644 --- a/doc/src/bond_oxdna.rst +++ b/doc/src/bond_oxdna.rst @@ -39,7 +39,7 @@ Examples Description """"""""""" -The *oxdna/fene* , *oxdna2/fene* and *oxrna2/fene* bond styles use the potential +The *oxdna/fene*, *oxdna2/fene*, and *oxrna2/fene* bond styles use the potential .. math:: @@ -118,7 +118,7 @@ Restrictions This bond style can only be used if LAMMPS was built with the CG-DNA package and the MOLECULE and ASPHERE package. See the -:doc:`Build package ` doc page for more info. +:doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/bond_quartic.rst b/doc/src/bond_quartic.rst index 8c5b363e54..89c33607ac 100644 --- a/doc/src/bond_quartic.rst +++ b/doc/src/bond_quartic.rst @@ -96,7 +96,7 @@ Restrictions """""""""""" This bond style can only be used if LAMMPS was built with the MOLECULE -package. See the :doc:`Build package ` doc page for more +package. See the :doc:`Build package ` page for more info. The *quartic* style requires that :doc:`special_bonds ` diff --git a/doc/src/bond_style.rst b/doc/src/bond_style.rst index e302ea792d..177dc8cc05 100644 --- a/doc/src/bond_style.rst +++ b/doc/src/bond_style.rst @@ -111,7 +111,7 @@ Bond styles can only be set for atom styles that allow bonds to be defined. Most bond styles are part of the MOLECULE package. They are only -enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. The doc pages for +enabled if LAMMPS was built with that package. See the :doc:`Build package ` page for more info. The doc pages for individual bond potentials tell if it is part of a package. Related commands diff --git a/doc/src/bond_table.rst b/doc/src/bond_table.rst index fedb50355d..898503b951 100644 --- a/doc/src/bond_table.rst +++ b/doc/src/bond_table.rst @@ -143,7 +143,7 @@ Restrictions """""""""""" This bond style can only be used if LAMMPS was built with the MOLECULE -package. See the :doc:`Build package ` doc page for more +package. See the :doc:`Build package ` page for more info. Related commands diff --git a/doc/src/boundary.rst b/doc/src/boundary.rst index aa68357e1d..d6458e7c39 100644 --- a/doc/src/boundary.rst +++ b/doc/src/boundary.rst @@ -10,7 +10,7 @@ Syntax boundary x y z -* x,y,z = *p* or *s* or *f* or *m*\ , one or two letters +* x,y,z = *p* or *s* or *f* or *m*, one or two letters .. parsed-literal:: @@ -45,17 +45,17 @@ the other end. A periodic dimension can change in size due to constant pressure boundary conditions or box deformation (see the :doc:`fix npt ` and :doc:`fix deform ` commands). The *p* style must be applied to both faces of a dimension. -The styles *f*\ , *s*\ , and *m* mean the box is non-periodic, so that +The styles *f*, *s*, and *m* mean the box is non-periodic, so that particles do not interact across the boundary and do not move from one side of the box to the other. -For style *f*\ , the position of the face is fixed. If an atom moves +For style *f*, the position of the face is fixed. If an atom moves outside the face it will be deleted on the next timestep that reneighboring occurs. This will typically generate an error unless you have set the :doc:`thermo_modify lost ` option to allow for lost atoms. -For style *s*\ , the position of the face is set so as to encompass the +For style *s*, the position of the face is set so as to encompass the atoms in that dimension (shrink-wrapping), no matter how far they move. Note that when the difference between the current box dimensions and the shrink-wrap box dimensions is large, this can lead to lost @@ -67,7 +67,7 @@ This is best addressed by setting initial box dimensions to match the shrink-wrapped dimensions more closely, by using *m* style boundaries (see below). -For style *m*\ , shrink-wrapping occurs, but is bounded by the value +For style *m*, shrink-wrapping occurs, but is bounded by the value specified in the data or restart file or set by the :doc:`create_box ` command. For example, if the upper z face has a value of 50.0 in the data file, the face will always be @@ -85,7 +85,7 @@ and xhi faces of the box are planes tilting in the +y direction as y increases. These tilted planes are shrink-wrapped around the atoms to determine the x extent of the box. -See the :doc:`Howto triclinic ` doc page for a +See the :doc:`Howto triclinic ` page for a geometric description of triclinic boxes, as defined by LAMMPS, and how to transform these parameters to and from other commonly used triclinic representations. diff --git a/doc/src/box.rst b/doc/src/box.rst index c5937df75c..b9c586b6f7 100644 --- a/doc/src/box.rst +++ b/doc/src/box.rst @@ -34,15 +34,15 @@ For triclinic (non-orthogonal) simulation boxes, the *tilt* keyword allows simulation domains to be created with arbitrary tilt factors, e.g. via the :doc:`create_box ` or :doc:`read_data ` commands. Tilt factors determine how -skewed the triclinic box is; see the :doc:`Howto triclinic ` doc page for a discussion of triclinic +skewed the triclinic box is; see the :doc:`Howto triclinic ` page for a discussion of triclinic boxes in LAMMPS. LAMMPS normally requires that no tilt factor can skew the box more than half the distance of the parallel box length, which is the first dimension in the tilt factor (x for xz). If *tilt* is set to -*small*\ , which is the default, then an error will be +*small*, which is the default, then an error will be generated if a box is created which exceeds this limit. If *tilt* -is set to *large*\ , then no limit is enforced. You can create +is set to *large*, then no limit is enforced. You can create a box with any tilt factors you wish. Note that if a simulation box has a large tilt factor, LAMMPS will run diff --git a/doc/src/change_box.rst b/doc/src/change_box.rst index 328326a83a..f63949bcd8 100644 --- a/doc/src/change_box.rst +++ b/doc/src/change_box.rst @@ -16,7 +16,7 @@ Syntax .. parsed-literal:: parameter = *x* or *y* or *z* or *xy* or *xz* or *yz* or *boundary* or *ortho* or *triclinic* or *set* or *remap* - *x*\ , *y*\ , *z* args = style value(s) + *x*, *y*, *z* args = style value(s) style = *final* or *delta* or *scale* or *volume* *final* values = lo hi lo hi = box boundaries after displacement (distance units) @@ -25,14 +25,14 @@ Syntax *scale* values = factor factor = multiplicative factor for change in box length after displacement *volume* value = none = adjust this dim to preserve volume of system - *xy*\ , *xz*\ , *yz* args = style value + *xy*, *xz*, *yz* args = style value style = *final* or *delta* *final* value = tilt tilt = tilt factor after displacement (distance units) *delta* value = dtilt dtilt = change in tilt factor after displacement (distance units) *boundary* args = x y z - x,y,z = *p* or *s* or *f* or *m*\ , one or two letters + x,y,z = *p* or *s* or *f* or *m*, one or two letters *p* is periodic *f* is non-periodic and fixed *s* is non-periodic and shrink-wrapped @@ -82,7 +82,7 @@ The :doc:`create_box `, :doc:`read data `, and simulation box is orthogonal or triclinic and their doc pages explain the meaning of the xy,xz,yz tilt factors. -See the :doc:`Howto triclinic ` doc page for a +See the :doc:`Howto triclinic ` page for a geometric description of triclinic boxes, as defined by LAMMPS, and how to transform these parameters to and from other commonly used triclinic representations. @@ -179,18 +179,18 @@ new owning processors. ---------- -For the *x*\ , *y*\ , and *z* parameters, this is the meaning of their +For the *x*, *y*, and *z* parameters, this is the meaning of their styles and values. -For style *final*\ , the final lo and hi box boundaries of a dimension +For style *final*, the final lo and hi box boundaries of a dimension are specified. The values can be in lattice or box distance units. See the discussion of the units keyword below. -For style *delta*\ , plus or minus changes in the lo/hi box boundaries +For style *delta*, plus or minus changes in the lo/hi box boundaries of a dimension are specified. The values can be in lattice or box distance units. See the discussion of the units keyword below. -For style *scale*\ , a multiplicative factor to apply to the box length +For style *scale*, a multiplicative factor to apply to the box length of a dimension is specified. For example, if the initial box length is 10, and the factor is 1.1, then the final box length will be 11. A factor less than 1.0 means compression. @@ -199,7 +199,7 @@ The *volume* style changes the specified dimension in such a way that the overall box volume remains constant with respect to the operation performed by the preceding keyword. The *volume* style can only be used following a keyword that changed the volume, which is any of the -*x*\ , *y*\ , *z* keywords. If the preceding keyword "key" had a *volume* +*x*, *y*, *z* keywords. If the preceding keyword "key" had a *volume* style, then both it and the current keyword apply to the keyword preceding "key". I.e. this sequence of keywords is allowed: @@ -249,15 +249,15 @@ compressed around its mid point. ---------- -For the *xy*\ , *xz*\ , and *yz* parameters, this is the meaning of their +For the *xy*, *xz*, and *yz* parameters, this is the meaning of their styles and values. Note that changing the tilt factors of a triclinic box does not change its volume. -For style *final*\ , the final tilt factor is specified. The value +For style *final*, the final tilt factor is specified. The value can be in lattice or box distance units. See the discussion of the units keyword below. -For style *delta*\ , a plus or minus change in the tilt factor is +For style *delta*, a plus or minus change in the tilt factor is specified. The value can be in lattice or box distance units. See the discussion of the units keyword below. @@ -281,10 +281,10 @@ and upper face of the box. Two letters assigns the first style to the lower face and the second style to the upper face. The style *p* means the box is periodic; the other styles mean -non-periodic. For style *f*\ , the position of the face is fixed. For -style *s*\ , the position of the face is set so as to encompass the +non-periodic. For style *f*, the position of the face is fixed. For +style *s*, the position of the face is set so as to encompass the atoms in that dimension (shrink-wrapping), no matter how far they -move. For style *m*\ , shrink-wrapping occurs, but is bounded by the +move. For style *m*, shrink-wrapping occurs, but is bounded by the current box edge in that dimension, so that the box will become no smaller. See the :doc:`boundary ` command for more explanation of these style options. diff --git a/doc/src/comm_modify.rst b/doc/src/comm_modify.rst index 27b370c941..914509b14d 100644 --- a/doc/src/comm_modify.rst +++ b/doc/src/comm_modify.rst @@ -80,7 +80,7 @@ with the *multi* neighbor style. The *multi/old* communication mode is comparabl with both the *multi* and *multi/old* neighbor styles. The *cutoff* keyword allows you to extend the ghost cutoff distance -for communication mode *single*\ , which is the distance from the borders +for communication mode *single*, which is the distance from the borders of a processor's sub-domain at which ghost atoms are acquired from other processors. By default the ghost cutoff = neighbor cutoff = pairwise force cutoff + neighbor skin. See the :doc:`neighbor ` command @@ -96,7 +96,7 @@ style present and no *comm_modify cutoff* command used. Otherwise a warning is printed, if this bond based estimate is larger than the communication cutoff used. -The *cutoff/multi* option is equivalent to *cutoff*\ , but applies to +The *cutoff/multi* option is equivalent to *cutoff*, but applies to communication mode *multi* instead. Since the communication cutoffs are determined per atom collections, a collection specifier is needed and cutoff for one or multiple collections can be extended. Also ranges of @@ -132,9 +132,9 @@ different processors, or when the interaction straddles a periodic boundary. The appropriate ghost cutoff depends on the :doc:`newton bond ` -setting. For newton bond *off*\ , the distance needs to be the furthest +setting. For newton bond *off*, the distance needs to be the furthest distance between any two atoms in the bond, angle, etc. E.g. the -distance between 1-4 atoms in a dihedral. For newton bond *on*\ , the +distance between 1-4 atoms in a dihedral. For newton bond *on*, the distance between the central atom in the bond, angle, etc and any other atom is sufficient. E.g. the distance between 2-4 atoms in a dihedral. @@ -173,7 +173,7 @@ The *vel* keyword enables velocity information to be communicated with ghost particles. Depending on the :doc:`atom_style `, velocity info includes the translational velocity, angular velocity, and angular momentum of a particle. If the *vel* option is set to -*yes*\ , then ghost atoms store these quantities; if *no* then they do +*yes*, then ghost atoms store these quantities; if *no* then they do not. The *yes* setting is needed by some pair styles which require the velocity state of both the I and J particles to compute a pairwise I,J interaction, as well as by some compute and fix commands. diff --git a/doc/src/compute.rst b/doc/src/compute.rst index 7a89c6cc87..71d3bada76 100644 --- a/doc/src/compute.rst +++ b/doc/src/compute.rst @@ -35,7 +35,7 @@ information about a previous state of the system. Defining a compute does not perform a computation. Instead computes are invoked by other LAMMPS commands as needed, e.g. to calculate a temperature needed for a thermostat fix or to generate thermodynamic or dump file output. -See the :doc:`Howto output ` doc page for a summary of +See the :doc:`Howto output ` page for a summary of various LAMMPS output options, many of which involve computes. The ID of a compute can only contain alphanumeric characters and @@ -59,7 +59,7 @@ style produce global quantities. Note that a single compute can produce either global or per-atom or local quantities, but not both global and per-atom. It can produce local quantities in tandem with global or per-atom quantities. The -compute doc page will explain. +compute page will explain. Global, per-atom, and local quantities each come in three kinds: a single scalar value, a vector of values, or a 2d array of values. The @@ -119,7 +119,7 @@ values by the number of atoms in the system, depending on the "thermo_modify norm" setting. It will not normalize intensive values. If a compute value is accessed in another way, e.g. by a :doc:`variable `, you may want to know whether it is an -intensive or extensive value. See the doc page for individual +intensive or extensive value. See the page for individual computes for further info. ---------- @@ -153,19 +153,19 @@ via the :doc:`compute_modify ` command. Computes can be deleted with the :doc:`uncompute ` command. Code for new computes can be added to LAMMPS; see the -:doc:`Modify ` doc page for details. The results of their +:doc:`Modify ` page for details. The results of their calculations accessed in the various ways described above. ---------- -Each compute style has its own doc page which describes its arguments +Each compute style has its own page which describes its arguments and what it does. Here is an alphabetic list of compute styles available in LAMMPS. They are also listed in more compact form on the :doc:`Commands compute ` doc page. There are also additional accelerated compute styles included in the LAMMPS distribution for faster performance on CPUs, GPUs, and KNLs. -The individual style names on the :doc:`Commands compute ` doc page are followed by one or more of +The individual style names on the :doc:`Commands compute ` page are followed by one or more of (g,i,k,o,t) to indicate which accelerated styles exist. * :doc:`ackland/atom ` - determines the local lattice structure based on the Ackland formulation diff --git a/doc/src/compute_ackland_atom.rst b/doc/src/compute_ackland_atom.rst index b4d4268244..0dc6630980 100644 --- a/doc/src/compute_ackland_atom.rst +++ b/doc/src/compute_ackland_atom.rst @@ -63,14 +63,14 @@ Output info This compute calculates a per-atom vector, which can be accessed by any command that uses per-atom values from a compute as input. See -the :doc:`Howto output ` doc page for an overview of +the :doc:`Howto output ` page for an overview of LAMMPS output options. Restrictions """""""""""" This compute is part of the EXTRA-COMPUTE package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. The per-atom vector values will be unitless since they are the integers defined above. diff --git a/doc/src/compute_adf.rst b/doc/src/compute_adf.rst index 6ec5c5bc10..31351a547c 100644 --- a/doc/src/compute_adf.rst +++ b/doc/src/compute_adf.rst @@ -62,7 +62,7 @@ neighbor atom in each requested ADF. command, and means those pairwise interactions do not appear in the neighbor list. Because this fix uses a neighbor list, it also means those pairs will not be included in the ADF. This does not apply when - using long-range coulomb interactions (\ *coul/long*\ , *coul/msm*\ , + using long-range coulomb interactions (\ *coul/long*, *coul/msm*, *coul/wolf* or similar. One way to get around this would be to set special_bond scaling factors to very tiny numbers that are not exactly zero (e.g. 1.0e-50). Another workaround is to write a dump file, and @@ -81,7 +81,7 @@ neighbor atom in each requested ADF. cannot be performed, and LAMMPS will give an error message. The *skin* value is what is specified with the :doc:`neighbor ` command. -The *itypeN*\ ,\ *jtypeN*\ ,\ *ktypeN* settings can be specified in one of two +The *itypeN*,\ *jtypeN*,\ *ktypeN* settings can be specified in one of two ways. An explicit numeric value can be used, as in the first example above. Or a wild-card asterisk can be used to specify a range of atom types as in the second example above. @@ -92,10 +92,10 @@ all types from 1 to N. A leading asterisk means all types from 1 to n (inclusive). A middle asterisk means all types from m to n (inclusive). -If *itypeN*\ , *jtypeN*\ , and *ktypeN* are single values, as in the first example +If *itypeN*, *jtypeN*, and *ktypeN* are single values, as in the first example above, this means that the ADF is computed where atoms of type *itypeN* are the central atom, and neighbor atoms of type *jtypeN* and *ktypeN* -are forming the angle. If any of *itypeN*\ , *jtypeN*\ , or *ktypeN* +are forming the angle. If any of *itypeN*, *jtypeN*, or *ktypeN* represent a range of values via the wild-card asterisk, as in the second example above, this means that the ADF is computed where atoms of any of the range of types represented @@ -103,7 +103,7 @@ by *itypeN* are the central atom, and the angle is formed by two neighbors, one neighbor in the range of types represented by *jtypeN* and another neighbor in the range of types represented by *ktypeN*\ . -If no *itypeN*\ , *jtypeN*\ , *ktypeN* settings are specified, then +If no *itypeN*, *jtypeN*, *ktypeN* settings are specified, then LAMMPS will generate a single ADF for all atoms in the group. The inner cutoff is set to zero and the outer cutoff is set to the force cutoff. If no pair_style is specified, there is no @@ -135,7 +135,7 @@ Each unique angle satisfying the above criteria is counted only once, regardless of whether either or both of the neighbor atoms making up the angle appear in both the J and K lists. It is OK if a particular angle is included in more than -one individual histogram, due to the way the *itypeN*\ , *jtypeN*\ , *ktypeN* +one individual histogram, due to the way the *itypeN*, *jtypeN*, *ktypeN* arguments are specified. The first ADF value for a bin is calculated from the histogram count by @@ -177,13 +177,13 @@ Output info """"""""""" This compute calculates a global array with the number of rows = -*Nbins*\ , and the number of columns = 1 + 2\*Ntriples, where Ntriples is the +*Nbins*, and the number of columns = 1 + 2\*Ntriples, where Ntriples is the number of I,J,K triples specified. The first column has the bin coordinate (angle-related ordinate at midpoint of bin). Each subsequent column has -the two ADF values for a specific set of (\ *itypeN*\ ,\ *jtypeN*\ ,\ *ktypeN*\ ) +the two ADF values for a specific set of (\ *itypeN*,\ *jtypeN*,\ *ktypeN*\ ) interactions, as described above. These values can be used by any command that uses a global values from a compute as input. See -the :doc:`Howto output ` doc page for an overview of +the :doc:`Howto output ` page for an overview of LAMMPS output options. The array values calculated by this compute are all "intensive". @@ -191,7 +191,7 @@ The array values calculated by this compute are all "intensive". The first column of array values is the angle-related ordinate, either the angle in degrees or radians, or the cosine of the angle. Each subsequent pair of columns gives the first and second kinds of ADF -for a specific set of (\ *itypeN*\ ,\ *jtypeN*\ ,\ *ktypeN*\ ). The values +for a specific set of (\ *itypeN*,\ *jtypeN*,\ *ktypeN*\ ). The values in the first ADF column are normalized numbers >= 0.0, whose integral w.r.t. the ordinate is 1, i.e. the first ADF is a normalized probability distribution. @@ -204,6 +204,9 @@ angles per atom satisfying the ADF criteria. Restrictions """""""""""" +This compute is part of the EXTRA-COMPUTE package. It is only enabled if +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. + The ADF is not computed for neighbors outside the force cutoff, since processors (in parallel) don't know about atom coordinates for atoms further away than that distance. If you want an ADF for larger diff --git a/doc/src/compute_angle.rst b/doc/src/compute_angle.rst index f3e5ee93c0..93677b4953 100644 --- a/doc/src/compute_angle.rst +++ b/doc/src/compute_angle.rst @@ -38,7 +38,7 @@ Output info This compute calculates a global vector of length N where N is the number of sub_styles defined by the :doc:`angle_style hybrid ` command, which can be accessed by indices 1-N. These values can be used by any command that uses global scalar -or vector values from a compute as input. See the :doc:`Howto output ` doc page for an overview of LAMMPS output +or vector values from a compute as input. See the :doc:`Howto output ` page for an overview of LAMMPS output options. The vector values are "extensive" and will be in energy diff --git a/doc/src/compute_angle_local.rst b/doc/src/compute_angle_local.rst index 169ef4f238..688bfbeecb 100644 --- a/doc/src/compute_angle_local.rst +++ b/doc/src/compute_angle_local.rst @@ -128,7 +128,7 @@ array is the number of angles. If a single value is specified, a local vector is produced. If two or more values are specified, a local array is produced where the number of columns = the number of values. The vector or array can be accessed by any command that uses -local values from a compute as input. See the :doc:`Howto output ` doc page for an overview of LAMMPS output +local values from a compute as input. See the :doc:`Howto output ` page for an overview of LAMMPS output options. The output for *theta* will be in degrees. The output for *eng* will diff --git a/doc/src/compute_angmom_chunk.rst b/doc/src/compute_angmom_chunk.rst index da27cb3d19..10678c4e47 100644 --- a/doc/src/compute_angmom_chunk.rst +++ b/doc/src/compute_angmom_chunk.rst @@ -75,7 +75,7 @@ This compute calculates a global array where the number of rows = the number of chunks *Nchunk* as calculated by the specified :doc:`compute chunk/atom ` command. The number of columns = 3 for the 3 xyz components of the angular momentum for each chunk. These values can be accessed by any command that uses global array -values from a compute as input. See the :doc:`Howto output ` doc page for an overview of LAMMPS output +values from a compute as input. See the :doc:`Howto output ` page for an overview of LAMMPS output options. The array values are "intensive". The array values will be in diff --git a/doc/src/compute_basal_atom.rst b/doc/src/compute_basal_atom.rst index e1b04d48c4..3a74379acb 100644 --- a/doc/src/compute_basal_atom.rst +++ b/doc/src/compute_basal_atom.rst @@ -59,7 +59,7 @@ Restrictions """""""""""" This compute is part of the EXTRA-COMPUTE package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. The output of this compute will be meaningless unless the atoms are on (or near) hcp lattice sites, since the calculation assumes a diff --git a/doc/src/compute_body_local.rst b/doc/src/compute_body_local.rst index e0369049cb..662838b08f 100644 --- a/doc/src/compute_body_local.rst +++ b/doc/src/compute_body_local.rst @@ -36,7 +36,7 @@ Define a computation that calculates properties of individual body sub-particles. The number of datums generated, aggregated across all processors, equals the number of body sub-particles plus the number of non-body particles in the system, modified by the group parameter as -explained below. See the :doc:`Howto body ` doc page for +explained below. See the :doc:`Howto body ` page for more details on using body particles. The local data stored by this command is generated by looping over all @@ -52,7 +52,7 @@ For both body particles and non-body particles, the *type* keyword will store the type of the particle. The *integer* keywords mean different things for body and non-body -particles. If the atom is not a body particle, only its *x*\ , *y*\ , *z* +particles. If the atom is not a body particle, only its *x*, *y*, *z* coordinates can be referenced, using the *integer* keywords 1,2,3. Note that this means that if you want to access more fields than this for body particles, then you cannot include non-body particles in the @@ -84,7 +84,7 @@ is specified, a local vector is produced. If two or more keywords are specified, a local array is produced where the number of columns = the number of keywords. The vector or array can be accessed by any command that uses local values from a compute as input. See the -:doc:`Howto output ` doc page for an overview of LAMMPS +:doc:`Howto output ` page for an overview of LAMMPS output options. The :doc:`units ` for output values depend on the body style. diff --git a/doc/src/compute_bond.rst b/doc/src/compute_bond.rst index 00b99d1f9f..ddca97420d 100644 --- a/doc/src/compute_bond.rst +++ b/doc/src/compute_bond.rst @@ -38,7 +38,7 @@ Output info This compute calculates a global vector of length N where N is the number of sub_styles defined by the :doc:`bond_style hybrid ` command, which can be accessed by indices 1-N. These values can be used by any command that uses global scalar or -vector values from a compute as input. See the :doc:`Howto output ` doc page for an overview of LAMMPS output +vector values from a compute as input. See the :doc:`Howto output ` page for an overview of LAMMPS output options. The vector values are "extensive" and will be in energy diff --git a/doc/src/compute_bond_local.rst b/doc/src/compute_bond_local.rst index 5264a86634..8bdde70dd9 100644 --- a/doc/src/compute_bond_local.rst +++ b/doc/src/compute_bond_local.rst @@ -21,7 +21,7 @@ Syntax *engpot* = bond potential energy *force* = bond force - *fx*\ ,\ *fy*\ ,\ *fz* = components of bond force + *fx*,\ *fy*,\ *fz* = components of bond force *engvib* = bond kinetic energy of vibration *engrot* = bond kinetic energy of rotation *engtrans* = bond kinetic energy of translation @@ -70,7 +70,7 @@ based on the current separation of the pair of atoms in the bond. The value *force* is the magnitude of the force acting between the pair of atoms in the bond. -The values *fx*\ , *fy*\ , and *fz* are the xyz components of +The values *fx*, *fy*, and *fz* are the xyz components of *force* between the pair of atoms in the bond. The remaining properties are all computed for motion of the two atoms @@ -178,13 +178,13 @@ array is the number of bonds. If a single value is specified, a local vector is produced. If two or more values are specified, a local array is produced where the number of columns = the number of values. The vector or array can be accessed by any command that uses local -values from a compute as input. See the :doc:`Howto output ` doc page for an overview of LAMMPS output +values from a compute as input. See the :doc:`Howto output ` page for an overview of LAMMPS output options. The output for *dist* will be in distance :doc:`units `. The output for *velvib* will be in velocity :doc:`units `. The output for *omega* will be in velocity/distance :doc:`units `. The -output for *engtrans*\ , *engvib*\ , *engrot*\ , and *engpot* will be in +output for *engtrans*, *engvib*, *engrot*, and *engpot* will be in energy :doc:`units `. The output for *force* will be in force :doc:`units `. diff --git a/doc/src/compute_centro_atom.rst b/doc/src/compute_centro_atom.rst index b250634b5c..3d32b75459 100644 --- a/doc/src/compute_centro_atom.rst +++ b/doc/src/compute_centro_atom.rst @@ -76,7 +76,7 @@ positive parameter. If the atom does not have :math:`N` neighbors (within the potential cutoff), then its centro-symmetry parameter is set to 0.0. -If the keyword *axes* has the setting *yes*\ , then this compute also +If the keyword *axes* has the setting *yes*, then this compute also estimates three symmetry axes for each atom's local neighborhood. The first two of these are the vectors joining the two pairs of neighbor atoms with smallest contributions to the centrosymmetry parameter, @@ -106,10 +106,10 @@ Output info By default, this compute calculates the centrosymmetry value for each atom as a per-atom vector, which can be accessed by any command that -uses per-atom values from a compute as input. See the :doc:`Howto output ` doc page for an overview of LAMMPS output +uses per-atom values from a compute as input. See the :doc:`Howto output ` page for an overview of LAMMPS output options. -If the *axes* keyword setting is *yes*\ , then a per-atom array is +If the *axes* keyword setting is *yes*, then a per-atom array is calculated. The first column is the centrosymmetry parameter. The next three columns are the x, y, and z components of the first symmetry axis, followed by the second, and third symmetry axes in diff --git a/doc/src/compute_chunk_atom.rst b/doc/src/compute_chunk_atom.rst index a650c8fb0a..42a5ca9301 100644 --- a/doc/src/compute_chunk_atom.rst +++ b/doc/src/compute_chunk_atom.rst @@ -108,7 +108,7 @@ can simply be accessed by any command that uses per-atom values from a compute as input, as discussed on the :doc:`Howto output ` doc page. -See the :doc:`Howto chunk ` doc page for an overview of how +See the :doc:`Howto chunk ` page for an overview of how this compute can be used with a variety of other commands to tabulate properties of a simulation. The page gives several examples of input script commands that can be used to calculate interesting properties. @@ -130,7 +130,7 @@ those chunks, or not assigned to any chunk. There are many options for specifying for how and when *Nchunk* is calculated, and how and when chunk IDs are assigned to atoms. The -details depend on the chunk *style* and its *args*\ , as well as +details depend on the chunk *style* and its *args*, as well as optional keyword settings. They can also depend on whether a :doc:`fix ave/chunk ` command is using this compute, since that command requires *Nchunk* to remain static across windows of timesteps it specifies, while it accumulates per-chunk averages. @@ -153,13 +153,13 @@ size changes. This also depends on the setting of the *units* keyword; e.g. for *reduced* units the number of chunks may not change even if the box size does. -The *bin/1d*\ , *bin/2d*\ , and *bin/3d* styles define bins as 1d layers -(slabs), 2d pencils, or 3d boxes. The *dim*\ , *origin*\ , and *delta* +The *bin/1d*, *bin/2d*, and *bin/3d* styles define bins as 1d layers +(slabs), 2d pencils, or 3d boxes. The *dim*, *origin*, and *delta* settings are specified 1, 2, or 3 times. For 2d or 3d bins, there is no restriction on specifying dim = x before dim = y or z, or dim = y before dim = z. Bins in a particular *dim* have a bin size in that dimension given by *delta*\ . In each dimension, bins are defined -relative to a specified *origin*\ , which may be the lower/upper edge of +relative to a specified *origin*, which may be the lower/upper edge of the simulation box (in that dimension), or its center point, or a specified coordinate value. Starting at the origin, sufficient bins are created in both directions to completely span the simulation box @@ -168,7 +168,7 @@ or the bounds specified by the optional *bounds* keyword. For orthogonal simulation boxes, the bins are layers, pencils, or boxes aligned with the xyz coordinate axes. For triclinic (non-orthogonal) simulation boxes, the bin faces are parallel to the -tilted faces of the simulation box. See the :doc:`Howto triclinic ` doc page for a discussion of the +tilted faces of the simulation box. See the :doc:`Howto triclinic ` page for a discussion of the geometry of triclinic boxes in LAMMPS. As described there, a tilted simulation box has edge vectors a,b,c. In that nomenclature, bins in the x dimension have faces with normals in the "b" cross "c" @@ -188,7 +188,7 @@ means there will be 10 layers from 0.0 to 1.0, regardless of the current size or shape of the simulation box. The *bin/sphere* style defines a set of spherical shell bins around -the origin (\ *xorig*\ ,\ *yorig*\ ,\ *zorig*\ ), using *nsbin* bins with radii +the origin (\ *xorig*,\ *yorig*,\ *zorig*\ ), using *nsbin* bins with radii equally spaced between *srmin* and *srmax*\ . This is effectively a 1d vector of bins. For example, if *srmin* = 1.0 and *srmax* = 10.0 and *nsbin* = 9, then the first bin spans 1.0 < r < 2.0, and the last bin @@ -199,12 +199,12 @@ transform them into ellipsoidal shells. The *bin/cylinder* style defines bins for a cylinder oriented along the axis *dim* with the axis coordinates in the other two radial -dimensions at (\ *c1*\ ,\ *c2*\ ). For dim = x, c1/c2 = y/z; for dim = y, +dimensions at (\ *c1*,\ *c2*\ ). For dim = x, c1/c2 = y/z; for dim = y, c1/c2 = x/z; for dim = z, c1/c2 = x/y. This is effectively a 2d array of bins. The first dimension is along the cylinder axis, the second dimension is radially outward from the cylinder axis. The bin size and positions along the cylinder axis are specified by the *origin* -and *delta* values, the same as for the *bin/1d*\ , *bin/2d*\ , and +and *delta* values, the same as for the *bin/1d*, *bin/2d*, and *bin/3d* styles. There are *ncbin* concentric circle bins in the radial direction from the cylinder axis with radii equally spaced between *crmin* and *crmax*\ . For example, if *crmin* = 1.0 and @@ -216,12 +216,12 @@ scaled differently in the two different dimensions to transform them into ellipses. The created bins (and hence the chunk IDs) are numbered consecutively -from 1 to the number of bins = *Nchunk*\ . For *bin2d* and *bin3d*\ , the +from 1 to the number of bins = *Nchunk*\ . For *bin2d* and *bin3d*, the numbering varies most rapidly in the first dimension (which could be x, y, or z), next rapidly in the second dimension, and most slowly in the -third dimension. For *bin/sphere*\ , the bin with smallest radii is chunk +third dimension. For *bin/sphere*, the bin with smallest radii is chunk 1 and the bni with largest radii is chunk Nchunk = *ncbin*\ . For -*bin/cylinder*\ , the numbering varies most rapidly in the dimension +*bin/cylinder*, the numbering varies most rapidly in the dimension along the cylinder axis and most slowly in the radial direction. Each time this compute is invoked, each atom is mapped to a bin based @@ -254,7 +254,7 @@ only the first time that *Nchunk* is calculated. Note that atoms with a molecule ID = 0, which may be non-molecular solvent atoms, have an out-of-range chunk ID. These atoms are -discarded (not assigned to any chunk) or assigned to *Nchunk*\ , +discarded (not assigned to any chunk) or assigned to *Nchunk*, depending on the value of the *discard* keyword. ---------- @@ -304,14 +304,14 @@ explained below, the *nchunk* keyword can be set to *once* which means If a :doc:`fix ave/chunk ` command uses this compute, it can also turn off the re-calculation of *Nchunk* for one or more windows of timesteps. The extent of the windows, during which Nchunk -is held constant, are determined by the *Nevery*\ , *Nrepeat*\ , *Nfreq* +is held constant, are determined by the *Nevery*, *Nrepeat*, *Nfreq* values and the *ave* keyword setting that are used by the :doc:`fix ave/chunk ` command. -Specifically, if *ave* = *one*\ , then for each span of *Nfreq* +Specifically, if *ave* = *one*, then for each span of *Nfreq* timesteps, *Nchunk* is held constant between the first timestep when averaging is done (within the Nfreq-length window), and the last timestep when averaging is done (multiple of Nfreq). If *ave* = -*running* or *window*\ , then *Nchunk* is held constant forever, +*running* or *window*, then *Nchunk* is held constant forever, starting on the first timestep when the :doc:`fix ave/chunk ` command invokes this compute. Note that multiple :doc:`fix ave/chunk ` commands can use @@ -336,9 +336,9 @@ The *nchunk* keyword applies to all chunk styles. It specifies how often *Nchunk* is recalculated, which in turn can affect the chunk IDs assigned to individual atoms. -If *nchunk* is set to *once*\ , then *Nchunk* is only calculated once, +If *nchunk* is set to *once*, then *Nchunk* is only calculated once, the first time this compute is invoked. If *nchunk* is set to -*every*\ , then *Nchunk* is re-calculated every time the compute is +*every*, then *Nchunk* is re-calculated every time the compute is invoked. Note that, as described above, the use of this compute by the :doc:`fix ave/chunk ` command can override the *every* setting. @@ -358,12 +358,12 @@ any atom. The *limit* keyword is used by all chunk styles except the can be tailored using the *bound* keyword (described below) which effectively limits the size of *Nchunk*\ . -If *limit* is set to *Nc* = 0, then no limit is imposed on *Nchunk*\ , -though the *compress* keyword can still be used to reduce *Nchunk*\ , as +If *limit* is set to *Nc* = 0, then no limit is imposed on *Nchunk*, +though the *compress* keyword can still be used to reduce *Nchunk*, as described below. If *Nc* > 0, then the effect of the *limit* keyword depends on whether -the *compress* keyword is also used with a setting of *yes*\ , and +the *compress* keyword is also used with a setting of *yes*, and whether the *compress* keyword is specified before the *limit* keyword or after. @@ -371,11 +371,11 @@ In all cases, *Nchunk* is first calculated in the usual way for each chunk style, as described above. First, here is what occurs if *compress yes* is not set. If *limit* -is set to *Nc max*\ , then *Nchunk* is reset to the smaller of *Nchunk* -and *Nc*\ . If *limit* is set to *Nc exact*\ , then *Nchunk* is reset to -*Nc*\ , whether the original *Nchunk* was larger or smaller than *Nc*\ . +is set to *Nc max*, then *Nchunk* is reset to the smaller of *Nchunk* +and *Nc*\ . If *limit* is set to *Nc exact*, then *Nchunk* is reset to +*Nc*, whether the original *Nchunk* was larger or smaller than *Nc*\ . If *Nchunk* shrank due to the *limit* setting, then atom chunk IDs > -*Nchunk* will be reset to 0 or *Nchunk*\ , depending on the setting of +*Nchunk* will be reset to 0 or *Nchunk*, depending on the setting of the *discard* keyword. If *Nchunk* grew, there will simply be some chunks with no atoms assigned to them. @@ -384,21 +384,21 @@ If *compress yes* is set, and the *compress* keyword comes before the described below, which resets *Nchunk*\ . The *limit* keyword is then applied to the new *Nchunk* value, exactly as described in the preceding paragraph. Note that in this case, all atoms will end up -with chunk IDs <= *Nc*\ , but their original values (e.g. molecule ID or -compute/fix/variable) may have been > *Nc*\ , because of the compression +with chunk IDs <= *Nc*, but their original values (e.g. molecule ID or +compute/fix/variable) may have been > *Nc*, because of the compression operation. If *compress yes* is set, and the *compress* keyword comes after the *limit* keyword, then the *limit* value of *Nc* is applied first to -the uncompressed value of *Nchunk*\ , but only if *Nc* < *Nchunk* +the uncompressed value of *Nchunk*, but only if *Nc* < *Nchunk* (whether *Nc max* or *Nc exact* is used). This effectively means all -atoms with chunk IDs > *Nc* have their chunk IDs reset to 0 or *Nc*\ , +atoms with chunk IDs > *Nc* have their chunk IDs reset to 0 or *Nc*, depending on the setting of the *discard* keyword. The compression operation is then performed, which may shrink *Nchunk* further. If the new *Nchunk* < *Nc* and *limit* = *Nc exact* is specified, then -*Nchunk* is reset to *Nc*\ , which results in extra chunks with no atoms +*Nchunk* is reset to *Nc*, which results in extra chunks with no atoms assigned to them. Note that in this case, all atoms will end up with -chunk IDs <= *Nc*\ , and their original values (e.g. molecule ID or +chunk IDs <= *Nc*, and their original values (e.g. molecule ID or compute/fix/variable value) will also have been <= *Nc*\ . ---------- @@ -413,7 +413,7 @@ time windows (discussed above), the chunk ID's assigned to atoms on the first step of the time window will persist until the end of the time window. -If the setting is *every*\ , which is the default, then chunk IDs are +If the setting is *every*, which is the default, then chunk IDs are re-calculated on any timestep this compute is invoked. .. note:: @@ -435,18 +435,18 @@ set of IDs, where every chunk has one or more atoms assigned to it. Two possible use cases are as follows. If a large simulation box is mostly empty space, then the *binning* style may produce many bins -with no atoms. If *compress* is set to *yes*\ , only bins with atoms +with no atoms. If *compress* is set to *yes*, only bins with atoms will be contribute to *Nchunk*\ . Likewise, the *molecule* or *compute/fix/variable* styles may produce large *Nchunk* values. For example, the :doc:`compute cluster/atom ` command assigns every atom an atom ID for one of the atoms it is clustered with. For a million-atom system with 5 clusters, there would only be 5 unique chunk IDs, but the largest chunk ID might be 1 million, -resulting in *Nchunk* = 1 million. If *compress* is set to *yes*\ , +resulting in *Nchunk* = 1 million. If *compress* is set to *yes*, *Nchunk* will be reset to 5. -If *compress* is set to *no*\ , which is the default, no compression is -done. If it is set to *yes*\ , all chunk IDs with no atoms are removed +If *compress* is set to *no*, which is the default, no compression is +done. If it is set to *yes*, all chunk IDs with no atoms are removed from the list of chunk IDs, and the list is sorted. The remaining chunk IDs are renumbered from 1 to *Nchunk* where *Nchunk* is the new length of the list. The chunk IDs assigned to each atom reflect @@ -498,23 +498,23 @@ return chunk IDs that are invalid for the previously calculated *Nchunk*\ . All the chunk styles except the *binning* styles, must use *discard* -set to either *yes* or *no*\ . If *discard* is set to *yes*\ , which is +set to either *yes* or *no*\ . If *discard* is set to *yes*, which is the default, then every "discard" atom has its chunk ID set to 0. If -*discard* is set to *no*\ , every "discard" atom has its chunk ID set to +*discard* is set to *no*, every "discard" atom has its chunk ID set to *Nchunk*\ . I.e. it becomes part of the last chunk. The *binning* styles use the *discard* keyword to decide whether to discard atoms outside the spatial domain covered by bins, or to assign them to the bin they are nearest to. -For the *bin/1d*\ , *bin/2d*\ , *bin/3d* styles the details are as -follows. If *discard* is set to *yes*\ , an out-of-domain atom will -have its chunk ID set to 0. If *discard* is set to *no*\ , the atom +For the *bin/1d*, *bin/2d*, *bin/3d* styles the details are as +follows. If *discard* is set to *yes*, an out-of-domain atom will +have its chunk ID set to 0. If *discard* is set to *no*, the atom will have its chunk ID set to the first or last bin in that dimension. -If *discard* is set to *mixed*\ , which is the default, it will only +If *discard* is set to *mixed*, which is the default, it will only have its chunk ID set to the first or last bin if bins extend to the simulation box boundary in that dimension. This is the case if the -*bound* keyword settings are *lower* and *upper*\ , which is the +*bound* keyword settings are *lower* and *upper*, which is the default. If the *bound* keyword settings are numeric values, then the atom will have its chunk ID set to 0 if it is outside the bounds of any bin. Note that in this case, it is possible that the first or @@ -524,24 +524,24 @@ is only set to 0 if it is outside the first or last bin, not if it is simply outside the numeric *bounds* setting. For the *bin/sphere* style the details are as follows. If *discard* -is set to *yes*\ , an out-of-domain atom will have its chunk ID set to -0. If *discard* is set to *no* or *mixed*\ , the atom will have its +is set to *yes*, an out-of-domain atom will have its chunk ID set to +0. If *discard* is set to *no* or *mixed*, the atom will have its chunk ID set to the first or last bin, i.e. the innermost or outermost spherical shell. If the distance of the atom from the origin is less -than *rmin*\ , it will be assigned to the first bin. If the distance of -the atom from the origin is greater than *rmax*\ , it will be assigned +than *rmin*, it will be assigned to the first bin. If the distance of +the atom from the origin is greater than *rmax*, it will be assigned to the last bin. For the *bin/cylinder* style the details are as follows. If *discard* -is set to *yes*\ , an out-of-domain atom will have its chunk ID set to -0. If *discard* is set to *no*\ , the atom will have its chunk ID set +is set to *yes*, an out-of-domain atom will have its chunk ID set to +0. If *discard* is set to *no*, the atom will have its chunk ID set to the first or last bin in both the radial and axis dimensions. If -*discard* is set to *mixed*\ , which is the default, the radial +*discard* is set to *mixed*, which is the default, the radial dimension is treated the same as for *discard* = no. But for the axis dimension, it will only have its chunk ID set to the first or last bin if bins extend to the simulation box boundary in the axis dimension. This is the case if the *bound* keyword settings are -*lower* and *upper*\ , which is the default. If the *bound* keyword +*lower* and *upper*, which is the default. If the *bound* keyword settings are numeric values, then the atom will have its chunk ID set to 0 if it is outside the bounds of any bin. Note that in this case, it is possible that the first or last bin extends beyond the numeric @@ -550,22 +550,22 @@ the case, the chunk ID of the atom is only set to 0 if it is outside the first or last bin, not if it is simply outside the numeric *bounds* setting. -If *discard* is set to *no* or *mixed*\ , the atom will have its +If *discard* is set to *no* or *mixed*, the atom will have its chunk ID set to the first or last bin, i.e. the innermost or outermost spherical shell. If the distance of the atom from the origin is less -than *rmin*\ , it will be assigned to the first bin. If the distance of -the atom from the origin is greater than *rmax*\ , it will be assigned +than *rmin*, it will be assigned to the first bin. If the distance of +the atom from the origin is greater than *rmax*, it will be assigned to the last bin. ---------- -The *bound* keyword only applies to the *bin/1d*\ , *bin/2d*\ , *bin/3d* +The *bound* keyword only applies to the *bin/1d*, *bin/2d*, *bin/3d* styles and to the axis dimension of the *bin/cylinder* style; otherwise it is ignored. It can be used one or more times to limit the extent of bin coverage in a specified dimension, i.e. to only bin a portion of the box. If the *lo* setting is *lower* or the *hi* -setting is *upper*\ , the bin extent in that direction extends to the -box boundary. If a numeric value is used for *lo* and/or *hi*\ , then +setting is *upper*, the bin extent in that direction extends to the +box boundary. If a numeric value is used for *lo* and/or *hi*, then the bin extent in the *lo* or *hi* direction extends only to that value, which is assumed to be inside (or at least near) the simulation box boundaries, though LAMMPS does not check for this. Note that @@ -573,7 +573,7 @@ using the *bound* keyword typically reduces the total number of bins and thus the number of chunks *Nchunk*\ . The *pbc* keyword only applies to the *bin/sphere* and *bin/cylinder* -styles. If set to *yes*\ , the distance an atom is from the sphere +styles. If set to *yes*, the distance an atom is from the sphere origin or cylinder axis is calculated in a minimum image sense with respect to periodic dimensions, when determining which bin the atom is in. I.e. if x is a periodic dimension and the distance between the @@ -582,18 +582,18 @@ simulation box length in x, then a box length is subtracted to give a distance < 0.5 \* simulation box length. This allosws the sphere or cylinder center to be near a box edge, and atoms on the other side of the periodic box will still be close to the center point/axis. Note -that with a setting of *yes*\ , the outer sphere or cylinder radius must +that with a setting of *yes*, the outer sphere or cylinder radius must also be <= 0.5 \* simulation box length in any periodic dimension except for the cylinder axis dimension, or an error is generated. The *units* keyword only applies to the *binning* styles; otherwise it -is ignored. For the *bin/1d*\ , *bin/2d*\ , *bin/3d* styles, it +is ignored. For the *bin/1d*, *bin/2d*, *bin/3d* styles, it determines the meaning of the distance units used for the bin sizes *delta* and for *origin* and *bounds* values if they are coordinate values. For the *bin/sphere* style it determines the meaning of the -distance units used for *xorig*\ ,\ *yorig*\ ,\ *zorig* and the radii *srmin* +distance units used for *xorig*,\ *yorig*,\ *zorig* and the radii *srmin* and *srmax*\ . For the *bin/cylinder* style it determines the meaning -of the distance units used for *delta*\ ,\ *c1*\ ,\ *c2* and the radii *crmin* +of the distance units used for *delta*,\ *c1*,\ *c2* and the radii *crmin* and *crmax*\ . For orthogonal simulation boxes, any of the 3 options may @@ -627,7 +627,7 @@ This compute calculates a per-atom vector (the chunk ID), which can be accessed by any command that uses per-atom values from a compute as input. It also calculates a global scalar (the number of chunks), which can be similarly accessed everywhere outside of a per-atom context. -See the :doc:`Howto output ` doc page for an overview of +See the :doc:`Howto output ` page for an overview of LAMMPS output options. The per-atom vector values are unitless chunk IDs, ranging from 1 to @@ -637,7 +637,7 @@ belonging to a chunk. The scalar contains the value of *Nchunk*. Restrictions """""""""""" -Even if the *nchunk* keyword is set to *once*\ , the chunk IDs assigned +Even if the *nchunk* keyword is set to *once*, the chunk IDs assigned to each atom are not stored in a restart files. This means you cannot expect those assignments to persist in a restarted simulation. Instead you must re-specify this command and assign atoms to chunks when diff --git a/doc/src/compute_chunk_spread_atom.rst b/doc/src/compute_chunk_spread_atom.rst index 9e6489f828..1fd260ab2c 100644 --- a/doc/src/compute_chunk_spread_atom.rst +++ b/doc/src/compute_chunk_spread_atom.rst @@ -193,7 +193,7 @@ Output info This compute calculates a per-atom vector or array, which can be accessed by any command that uses per-atom values from a compute as -input. See the :doc:`Howto output ` doc page for an +input. See the :doc:`Howto output ` page for an overview of LAMMPS output options. The output is a per-atom vector if a single input value is specified, diff --git a/doc/src/compute_cluster_atom.rst b/doc/src/compute_cluster_atom.rst index ab47aed9b3..f82b2affa5 100644 --- a/doc/src/compute_cluster_atom.rst +++ b/doc/src/compute_cluster_atom.rst @@ -89,7 +89,7 @@ style computes. command, and means those pairwise interactions do not appear in the neighbor list. Because this fix uses the neighbor list, it also means those pairs will not be included when computing the clusters. This - does not apply when using long-range coulomb (\ *coul/long*\ , *coul/msm*\ , + does not apply when using long-range coulomb (\ *coul/long*, *coul/msm*, *coul/wolf* or similar. One way to get around this would be to set special_bond scaling factors to very tiny numbers that are not exactly zero (e.g. 1.0e-50). Another workaround is to write a dump file, and @@ -111,14 +111,16 @@ Output info This compute calculates a per-atom vector, which can be accessed by any command that uses per-atom values from a compute as input. See -the :doc:`Howto output ` doc page for an overview of +the :doc:`Howto output ` page for an overview of LAMMPS output options. The per-atom vector values will be an ID > 0, as explained above. Restrictions """""""""""" - none + +These computes are part of the EXTRA-COMPUTE package. They are only enabled if +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" @@ -128,6 +130,5 @@ Related commands Default """"""" - The default for fragment/atom is single no. diff --git a/doc/src/compute_cna_atom.rst b/doc/src/compute_cna_atom.rst index 41d7113b60..756a9d932c 100644 --- a/doc/src/compute_cna_atom.rst +++ b/doc/src/compute_cna_atom.rst @@ -84,7 +84,7 @@ Output info This compute calculates a per-atom vector, which can be accessed by any command that uses per-atom values from a compute as input. See -the :doc:`Howto output ` doc page for an overview of +the :doc:`Howto output ` page for an overview of LAMMPS output options. The per-atom vector values will be a number from 0 to 5, as explained diff --git a/doc/src/compute_cnp_atom.rst b/doc/src/compute_cnp_atom.rst index 30f045a67b..59c45107b3 100644 --- a/doc/src/compute_cnp_atom.rst +++ b/doc/src/compute_cnp_atom.rst @@ -43,7 +43,7 @@ This parameter is computed using the following formula from Q_{i} = \frac{1}{n_i}\sum_{j = 1}^{n_i} \left | \sum_{k = 1}^{n_{ij}} \vec{R}_{ik} + \vec{R}_{jk} \right | ^{2} where the index *j* goes over the :math:`n_i` nearest neighbors of atom -*i*\ , and the index *k* goes over the :math:`n_{ij}` common nearest neighbors +*i*, and the index *k* goes over the :math:`n_{ij}` common nearest neighbors between atom *i* and atom *j*\ . :math:`\vec{R}_{ik}` and :math:`\vec{R}_{jk}` are the vectors connecting atom *k* to atoms *i* and *j*\ . The quantity in the double sum is computed @@ -91,7 +91,7 @@ Output info This compute calculates a per-atom vector, which can be accessed by any command that uses per-atom values from a compute as input. See -the :doc:`Howto output ` doc page for an overview of +the :doc:`Howto output ` page for an overview of LAMMPS output options. The per-atom vector values will be real positive numbers. Some typical CNP @@ -111,7 +111,7 @@ Restrictions """""""""""" This compute is part of the EXTRA-COMPUTE package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/compute_contact_atom.rst b/doc/src/compute_contact_atom.rst index f22a78c63c..20dcbfae29 100644 --- a/doc/src/compute_contact_atom.rst +++ b/doc/src/compute_contact_atom.rst @@ -39,7 +39,7 @@ Output info This compute calculates a per-atom vector, whose values can be accessed by any command that uses per-atom values from a compute as -input. See the :doc:`Howto output ` doc page for an +input. See the :doc:`Howto output ` page for an overview of LAMMPS output options. The per-atom vector values will be a number >= 0.0, as explained @@ -48,6 +48,10 @@ above. Restrictions """""""""""" +This compute is part of the GRANULAR package. It is only enabled if +LAMMPS was built with that package. See the +:doc:`Build package ` page for more info. + This compute requires that atoms store a radius as defined by the :doc:`atom_style sphere ` command. diff --git a/doc/src/compute_coord_atom.rst b/doc/src/compute_coord_atom.rst index f3c6f818af..bff2a8a8af 100644 --- a/doc/src/compute_coord_atom.rst +++ b/doc/src/compute_coord_atom.rst @@ -73,7 +73,7 @@ from 1 to N. A leading asterisk means all types from 1 to n (inclusive). The *orientorder* cstyle calculates the number of "connected" neighbor -atoms J around each central atom I. For this *cstyle*\ , connected is +atoms J around each central atom I. For this *cstyle*, connected is defined by the orientational order parameter calculated by the :doc:`compute orientorder/atom ` command. This *cstyle* thus allows one to apply the ten Wolde's criterion to @@ -85,7 +85,7 @@ calculate components of the *Ybar_lm* vector for each atoms, as described in its documentation. Note that orientorder/atom compute defines its own criteria for identifying neighboring atoms. If the scalar product (*Ybar_lm(i)*,*Ybar_lm(j)*), calculated by the -orientorder/atom compute is larger than the specified *threshold*\ , +orientorder/atom compute is larger than the specified *threshold*, then I and J are connected, and the coordination value of I is incremented by one. diff --git a/doc/src/compute_damage_atom.rst b/doc/src/compute_damage_atom.rst index 2439bd5a1b..3847a4de66 100644 --- a/doc/src/compute_damage_atom.rst +++ b/doc/src/compute_damage_atom.rst @@ -45,7 +45,7 @@ Output info This compute calculates a per-atom vector, which can be accessed by any command that uses per-atom values from a compute as input. See -the :doc:`Howto output ` doc page for an overview of +the :doc:`Howto output ` page for an overview of LAMMPS output options. The per-atom vector values are unitless numbers (damage) >= 0.0. @@ -54,7 +54,7 @@ Restrictions """""""""""" This compute is part of the PERI package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/compute_dihedral.rst b/doc/src/compute_dihedral.rst index 0bbcb370b5..d4198dde3c 100644 --- a/doc/src/compute_dihedral.rst +++ b/doc/src/compute_dihedral.rst @@ -37,7 +37,7 @@ Output info This compute calculates a global vector of length N where N is the number of sub_styles defined by the :doc:`dihedral_style hybrid ` command. which can be accessed by indices 1-N. These values can be used by any command that uses global scalar -or vector values from a compute as input. See the :doc:`Howto output ` doc page for an overview of LAMMPS output +or vector values from a compute as input. See the :doc:`Howto output ` page for an overview of LAMMPS output options. The vector values are "extensive" and will be in energy diff --git a/doc/src/compute_dihedral_local.rst b/doc/src/compute_dihedral_local.rst index 75c0e69790..82d3c3ab72 100644 --- a/doc/src/compute_dihedral_local.rst +++ b/doc/src/compute_dihedral_local.rst @@ -122,7 +122,7 @@ array is the number of dihedrals. If a single value is specified, a local vector is produced. If two or more values are specified, a local array is produced where the number of columns = the number of values. The vector or array can be accessed by any command that uses -local values from a compute as input. See the :doc:`Howto output ` doc page for an overview of LAMMPS output +local values from a compute as input. See the :doc:`Howto output ` page for an overview of LAMMPS output options. The output for *phi* will be in degrees. diff --git a/doc/src/compute_dilatation_atom.rst b/doc/src/compute_dilatation_atom.rst index 85b5770c64..0e3159ffe7 100644 --- a/doc/src/compute_dilatation_atom.rst +++ b/doc/src/compute_dilatation_atom.rst @@ -48,7 +48,7 @@ Output info This compute calculates a per-atom vector, which can be accessed by any command that uses per-atom values from a compute as input. See -the :doc:`Howto output ` doc page for an overview of +the :doc:`Howto output ` page for an overview of LAMMPS output options. The per-atom vector values are unitless numbers (theta) >= 0.0. @@ -57,7 +57,7 @@ Restrictions """""""""""" This compute is part of the PERI package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/compute_dipole.rst b/doc/src/compute_dipole.rst index c0e17f27d3..243efc0576 100644 --- a/doc/src/compute_dipole.rst +++ b/doc/src/compute_dipole.rst @@ -12,7 +12,7 @@ Syntax * ID, group-ID are documented in :doc:`compute ` command * dipole = style name of this compute command -* charge-correction = *mass* or *geometry*\ , use COM or geometric center for charged chunk correction (optional) +* charge-correction = *mass* or *geometry*, use COM or geometric center for charged chunk correction (optional) Examples """""""" @@ -51,7 +51,7 @@ Output info This compute calculations a global scalar containing the magnitude of the computed dipole moment and a global vector of length 3 with the -dipole vector. See the :doc:`Howto output ` doc page for +dipole vector. See the :doc:`Howto output ` page for an overview of LAMMPS output options. The computed values are "intensive". The array values will be in diff --git a/doc/src/compute_dipole_chunk.rst b/doc/src/compute_dipole_chunk.rst index 4207d3d180..fc1e8d7709 100644 --- a/doc/src/compute_dipole_chunk.rst +++ b/doc/src/compute_dipole_chunk.rst @@ -13,7 +13,7 @@ Syntax * ID, group-ID are documented in :doc:`compute ` command * dipole/chunk = style name of this compute command * chunkID = ID of :doc:`compute chunk/atom ` command -* charge-correction = *mass* or *geometry*\ , use COM or geometric center for charged chunk correction (optional) +* charge-correction = *mass* or *geometry*, use COM or geometric center for charged chunk correction (optional) Examples """""""" @@ -84,7 +84,7 @@ chunk/atom ` command. The number of columns = 4 for the x,y,z dipole vector components and the total dipole of each chunk. These values can be accessed by any command that uses global array values from a compute as input. See the :doc:`Howto output -` doc page for an overview of LAMMPS output options. +` page for an overview of LAMMPS output options. The array values are "intensive". The array values will be in dipole units, i.e. charge units times distance :doc:`units `. diff --git a/doc/src/compute_dpd.rst b/doc/src/compute_dpd.rst index 72cae28c22..bc6e1d2321 100644 --- a/doc/src/compute_dpd.rst +++ b/doc/src/compute_dpd.rst @@ -52,7 +52,7 @@ Output info This compute calculates a global vector of length 5 (:math:`U^{cond}`, :math:`U^{mech}`, :math:`U^{chem}`, :math:`\theta_{avg}`, :math:`N`), which can be accessed by indices 1-5. -See the :doc:`Howto output ` doc page for an overview of +See the :doc:`Howto output ` page for an overview of LAMMPS output options. The vector values will be in energy and temperature :doc:`units `. @@ -61,7 +61,7 @@ Restrictions """""""""""" This command is part of the DPD-REACT package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. This command also requires use of the :doc:`atom_style dpd ` command. diff --git a/doc/src/compute_dpd_atom.rst b/doc/src/compute_dpd_atom.rst index 6abbce10f0..6104c4a273 100644 --- a/doc/src/compute_dpd_atom.rst +++ b/doc/src/compute_dpd_atom.rst @@ -40,7 +40,7 @@ This compute calculates a per-particle array with 4 columns (:math:`u^{cond}`, :math:`u^{mech}`, :math:`u^{chem}`, :math:`\theta`), which can be accessed by indices 1-4 by any command that uses per-particle values from a compute as input. See -the :doc:`Howto output ` doc page for an overview of +the :doc:`Howto output ` page for an overview of LAMMPS output options. The per-particle array values will be in energy (:math:`u^{cond}`, @@ -51,7 +51,7 @@ Restrictions """""""""""" This command is part of the DPD-REACT package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. This command also requires use of the :doc:`atom_style dpd ` command. diff --git a/doc/src/compute_edpd_temp_atom.rst b/doc/src/compute_edpd_temp_atom.rst index 920bda1a87..3568a6364f 100644 --- a/doc/src/compute_edpd_temp_atom.rst +++ b/doc/src/compute_edpd_temp_atom.rst @@ -36,7 +36,7 @@ Output info This compute calculates a per-atom vector, which can be accessed by any command that uses per-atom values from a compute as input. See the -:doc:`Howto output ` doc page for an overview of LAMMPS +:doc:`Howto output ` page for an overview of LAMMPS output options. The per-atom vector values will be in temperature :doc:`units `. @@ -45,7 +45,7 @@ Restrictions """""""""""" This compute is part of the DPD-MESO package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/compute_efield_atom.rst b/doc/src/compute_efield_atom.rst index 04f3e4dc37..a3d2cb888d 100644 --- a/doc/src/compute_efield_atom.rst +++ b/doc/src/compute_efield_atom.rst @@ -52,7 +52,7 @@ Output info This compute calculates a per-atom vector, which can be accessed by any command that uses per-atom values from a compute as input. See -the :doc:`Howto output ` doc page for an overview of +the :doc:`Howto output ` page for an overview of LAMMPS output options. The per-atom vector values will be in electric field :doc:`units `. diff --git a/doc/src/compute_entropy_atom.rst b/doc/src/compute_entropy_atom.rst index 0ca07815d3..e3d585dfde 100644 --- a/doc/src/compute_entropy_atom.rst +++ b/doc/src/compute_entropy_atom.rst @@ -67,7 +67,7 @@ is a parameter to control the smoothing. The input parameters are *sigma* the smoothing parameter :math:`\sigma`, and the *cutoff* for the calculation of g(r). -If the keyword *avg* has the setting *yes*\ , then this compute also +If the keyword *avg* has the setting *yes*, then this compute also averages the parameter over the neighbors of atom i according to: .. math:: @@ -114,7 +114,7 @@ Output info By default, this compute calculates the pair entropy value for each atom as a per-atom vector, which can be accessed by any command that -uses per-atom values from a compute as input. See the :doc:`Howto output ` doc page for an overview of LAMMPS output +uses per-atom values from a compute as input. See the :doc:`Howto output ` page for an overview of LAMMPS output options. The pair entropy values have units of the Boltzmann constant. They are @@ -125,7 +125,7 @@ Restrictions """""""""""" This compute is part of the EXTRA-COMPUTE package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/compute_erotate_asphere.rst b/doc/src/compute_erotate_asphere.rst index 0210279560..2b4edc8017 100644 --- a/doc/src/compute_erotate_asphere.rst +++ b/doc/src/compute_erotate_asphere.rst @@ -45,7 +45,7 @@ Output info This compute calculates a global scalar (the KE). This value can be used by any command that uses a global scalar value from a compute as -input. See the :doc:`Howto output ` doc page for an +input. See the :doc:`Howto output ` page for an overview of LAMMPS output options. The scalar value calculated by this compute is "extensive". The diff --git a/doc/src/compute_erotate_rigid.rst b/doc/src/compute_erotate_rigid.rst index b5b594f781..acbcf5cb0c 100644 --- a/doc/src/compute_erotate_rigid.rst +++ b/doc/src/compute_erotate_rigid.rst @@ -43,7 +43,7 @@ Output info This compute calculates a global scalar (the summed rotational energy of all the rigid bodies). This value can be used by any command that -uses a global scalar value from a compute as input. See the :doc:`Howto output ` doc page for an overview of LAMMPS output +uses a global scalar value from a compute as input. See the :doc:`Howto output ` page for an overview of LAMMPS output options. The scalar value calculated by this compute is "extensive". The @@ -53,7 +53,7 @@ Restrictions """""""""""" This compute is part of the RIGID package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/compute_erotate_sphere.rst b/doc/src/compute_erotate_sphere.rst index c10d13c318..6890f18212 100644 --- a/doc/src/compute_erotate_sphere.rst +++ b/doc/src/compute_erotate_sphere.rst @@ -40,7 +40,7 @@ Output info This compute calculates a global scalar (the KE). This value can be used by any command that uses a global scalar value from a compute as -input. See the :doc:`Howto output ` doc page for an +input. See the :doc:`Howto output ` page for an overview of LAMMPS output options. The scalar value calculated by this compute is "extensive". The diff --git a/doc/src/compute_erotate_sphere_atom.rst b/doc/src/compute_erotate_sphere_atom.rst index b12669ed0c..76025b36f7 100644 --- a/doc/src/compute_erotate_sphere_atom.rst +++ b/doc/src/compute_erotate_sphere_atom.rst @@ -44,7 +44,7 @@ Output info This compute calculates a per-atom vector, which can be accessed by any command that uses per-atom values from a compute as input. See -the :doc:`Howto output ` doc page for an overview of +the :doc:`Howto output ` page for an overview of LAMMPS output options. The per-atom vector values will be in energy :doc:`units `. diff --git a/doc/src/compute_event_displace.rst b/doc/src/compute_event_displace.rst index a147ca0d7d..6cf04e83ba 100644 --- a/doc/src/compute_event_displace.rst +++ b/doc/src/compute_event_displace.rst @@ -48,7 +48,7 @@ Output info This compute calculates a global scalar (the flag). This value can be used by any command that uses a global scalar value from a compute as -input. See the :doc:`Howto output ` doc page for an +input. See the :doc:`Howto output ` page for an overview of LAMMPS output options. The scalar value calculated by this compute is "intensive". The diff --git a/doc/src/compute_fep.rst b/doc/src/compute_fep.rst index 5427538a73..5275716c45 100644 --- a/doc/src/compute_fep.rst +++ b/doc/src/compute_fep.rst @@ -269,7 +269,7 @@ activated via the :doc:`pair_modify ` command. If the perturbation is small, the tail contribution to the energy difference between the reference and perturbed systems should be negligible. -If the keyword *volume* = *yes*\ , then the Boltzmann term is multiplied +If the keyword *volume* = *yes*, then the Boltzmann term is multiplied by the volume so that correct ensemble averaging can be performed over trajectories during which the volume fluctuates or changes :ref:`(Allen and Tildesley) `: @@ -295,7 +295,7 @@ unperturbed parameters. The energies include kspace terms if these are used in the simulation. These output results can be used by any command that uses a global -scalar or vector from a compute as input. See the :doc:`Howto output ` doc page for an overview of LAMMPS output +scalar or vector from a compute as input. See the :doc:`Howto output ` page for an overview of LAMMPS output options. For example, the computed values can be averaged using :doc:`fix ave/time `. The values calculated by this compute are "extensive". @@ -304,7 +304,7 @@ Restrictions """""""""""" This compute is distributed as the FEP package. It is only -enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +enabled if LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" @@ -315,7 +315,7 @@ Related commands Default """"""" -The option defaults are *tail* = *no*\ , *volume* = *no*\ . +The option defaults are *tail* = *no*, *volume* = *no*\ . ---------- diff --git a/doc/src/compute_global_atom.rst b/doc/src/compute_global_atom.rst index 1c8ff6c85e..1ee4abdde0 100644 --- a/doc/src/compute_global_atom.rst +++ b/doc/src/compute_global_atom.rst @@ -146,7 +146,7 @@ to effectively specify multiple values. If *index* begins with "f\_", a fix ID must follow which has been previously defined in the input script. The Fix must generate -per-atom quantities. See the individual :doc:`fix ` doc page for +per-atom quantities. See the individual :doc:`fix ` page for details. Note that some fixes only produce their values on certain timesteps, which must be compatible with when compute global/atom references the values, else an error results. If no bracketed integer @@ -213,7 +213,7 @@ vector. If multiple inputs are specified, this compute produces a per-atom array values, where the number of columns is equal to the number of inputs specified. These values can be used by any command that uses per-atom vector or array values from a compute as input. -See the :doc:`Howto output ` doc page for an overview of +See the :doc:`Howto output ` page for an overview of LAMMPS output options. The per-atom vector or array values will be in whatever units the diff --git a/doc/src/compute_group_group.rst b/doc/src/compute_group_group.rst index b22689d4b3..d361bc806d 100644 --- a/doc/src/compute_group_group.rst +++ b/doc/src/compute_group_group.rst @@ -39,7 +39,7 @@ Define a computation that calculates the total energy and force interaction between two groups of atoms: the compute group and the specified group2. The two groups can be the same. -If the *pair* keyword is set to *yes*\ , which is the default, then the +If the *pair* keyword is set to *yes*, which is the default, then the the interaction energy will include a pair component which is defined as the pairwise energy between all pairs of atoms where one atom in the pair is in the first group and the other is in the second group. @@ -60,7 +60,7 @@ force. For the *inter* setting, the two atoms must be in different molecules. For the *intra* setting, the two atoms must be in the same molecule. -If the *kspace* keyword is set to *yes*\ , which is not the default, and +If the *kspace* keyword is set to *yes*, which is not the default, and if a :doc:`kspace_style ` is defined, then the interaction energy will include a Kspace component which is the long-range Coulombic energy between all the atoms in the first group and all the @@ -73,7 +73,7 @@ charge of the unit cell is zero. However, one can assume the net charge of the system is neutralized by a uniform background plasma, and a correction to the system energy can be applied to reduce artifacts. For more information see :ref:`(Bogusz) `. If the -*boundary* keyword is set to *yes*\ , which is the default, and *kspace* +*boundary* keyword is set to *yes*, which is the default, and *kspace* contributions are included, then this energy correction term will be added to the total group-group energy. This correction term does not affect the force calculation and will be zero if one or both of the @@ -108,7 +108,7 @@ frequently. neighbor list. Because this compute uses a neighbor list, it also means those pairs will not be included in the group/group interaction. This does not apply when using long-range coulomb interactions - (\ *coul/long*\ , *coul/msm*\ , *coul/wolf* or similar. One way to get + (\ *coul/long*, *coul/msm*, *coul/wolf* or similar. One way to get around this would be to set special_bond scaling factors to very tiny numbers that are not exactly zero (e.g. 1.0e-50). Another workaround is to write a dump file, and use the :doc:`rerun ` command to @@ -134,7 +134,7 @@ Output info This compute calculates a global scalar (the energy) and a global vector of length 3 (force), which can be accessed by indices 1-3. These values can be used by any command that uses global scalar or -vector values from a compute as input. See the :doc:`Howto output ` doc page for an overview of LAMMPS output +vector values from a compute as input. See the :doc:`Howto output ` page for an overview of LAMMPS output options. Both the scalar and vector values calculated by this compute are diff --git a/doc/src/compute_gyration.rst b/doc/src/compute_gyration.rst index da0b14abe8..18c46f4772 100644 --- a/doc/src/compute_gyration.rst +++ b/doc/src/compute_gyration.rst @@ -62,7 +62,7 @@ Output info This compute calculates a global scalar (:math:`R_g`) and a global vector of length 6 (:math:`{R_g}^2` tensor), which can be accessed by indices 1-6. These values can be used by any command that uses a global scalar value or -vector values from a compute as input. See the :doc:`Howto output ` doc page for an overview of LAMMPS output +vector values from a compute as input. See the :doc:`Howto output ` page for an overview of LAMMPS output options. The scalar and vector values calculated by this compute are diff --git a/doc/src/compute_gyration_chunk.rst b/doc/src/compute_gyration_chunk.rst index eaa048c111..0255d4f95a 100644 --- a/doc/src/compute_gyration_chunk.rst +++ b/doc/src/compute_gyration_chunk.rst @@ -101,7 +101,7 @@ number of rows in the array = the number of chunks *Nchunk* as calculated by the specified :doc:`compute chunk/atom ` command. If the *tensor* keyword is specified, the global array has 6 columns. The vector or array can be accessed by any command that uses global values from a compute as -input. See the :doc:`Howto output ` doc page for an +input. See the :doc:`Howto output ` page for an overview of LAMMPS output options. All the vector or array values calculated by this compute are diff --git a/doc/src/compute_gyration_shape.rst b/doc/src/compute_gyration_shape.rst index b2b22df9ef..8eee14e787 100644 --- a/doc/src/compute_gyration_shape.rst +++ b/doc/src/compute_gyration_shape.rst @@ -70,7 +70,7 @@ This compute calculates a global vector of length 6, which can be accessed by indices 1-6. The first three values are the eigenvalues of the gyration tensor followed by the asphericity, the acylindricity and the relative shape anisotropy. The computed values can be used by any command -that uses global vector values from a compute as input. See the :doc:`Howto output ` doc page for an overview of LAMMPS output +that uses global vector values from a compute as input. See the :doc:`Howto output ` page for an overview of LAMMPS output options. The vector values calculated by this compute are @@ -81,7 +81,7 @@ Restrictions """""""""""" This compute is part of the EXTRA-COMPUTE package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/compute_gyration_shape_chunk.rst b/doc/src/compute_gyration_shape_chunk.rst index fd0b08cae6..f9d9df8db0 100644 --- a/doc/src/compute_gyration_shape_chunk.rst +++ b/doc/src/compute_gyration_shape_chunk.rst @@ -71,7 +71,7 @@ This compute calculates a global array with six columns, which can be accessed by indices 1-6. The first three columns are the eigenvalues of the gyration tensor followed by the asphericity, the acylindricity and the relative shape anisotropy. The computed values can be used by any command -that uses global array values from a compute as input. See the :doc:`Howto output ` doc page for an overview of LAMMPS output +that uses global array values from a compute as input. See the :doc:`Howto output ` page for an overview of LAMMPS output options. The array calculated by this compute is @@ -82,7 +82,7 @@ Restrictions """""""""""" This compute is part of the EXTRA-COMPUTE package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/compute_heat_flux.rst b/doc/src/compute_heat_flux.rst index 3e8469617f..94d6f09700 100644 --- a/doc/src/compute_heat_flux.rst +++ b/doc/src/compute_heat_flux.rst @@ -41,7 +41,7 @@ which can add or subtract heat from groups of atoms. The compute takes three arguments which are IDs of other :doc:`computes `. One calculates per-atom kinetic energy -(\ *ke-ID*\ ), one calculates per-atom potential energy (\ *pe-ID)*\ , and the +(\ *ke-ID*\ ), one calculates per-atom potential energy (\ *pe-ID)*, and the third calculates per-atom stress (\ *stress-ID*\ ). .. note:: @@ -131,7 +131,7 @@ of just the convective portion of the flux, i.e. the first term in the equation for :math:`\mathbf{J}`. Each component can be accessed by indices 1-6. These values can be used by any command that -uses global vector values from a compute as input. See the :doc:`Howto output ` doc page for an overview of LAMMPS output +uses global vector values from a compute as input. See the :doc:`Howto output ` page for an overview of LAMMPS output options. The vector values calculated by this compute are "extensive", meaning diff --git a/doc/src/compute_hexorder_atom.rst b/doc/src/compute_hexorder_atom.rst index a8e70245df..8b8bc3f4d0 100644 --- a/doc/src/compute_hexorder_atom.rst +++ b/doc/src/compute_hexorder_atom.rst @@ -48,7 +48,7 @@ is formed by the bond vector :math:`r_{ij}` and the *x* axis. :math:`\theta` is calculated only using the *x* and *y* components, whereas the distance from the central atom is calculated using all three -*x*\ , *y*\ , and *z* components of the bond vector. +*x*, *y*, and *z* components of the bond vector. Neighbor atoms not in the group are included in the order parameter of atoms in the group. @@ -110,7 +110,9 @@ page for an overview of LAMMPS output options. Restrictions """""""""""" - none + +This compute is part of the EXTRA-COMPUTE package. It is only enabled if +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/compute_hma.rst b/doc/src/compute_hma.rst index 575740a2d5..e9c3133ebb 100644 --- a/doc/src/compute_hma.rst +++ b/doc/src/compute_hma.rst @@ -161,7 +161,7 @@ Output info This compute calculates a global vector that includes the n properties requested as arguments to the command (the potential energy, pressure and/or heat capacity). The elements of the vector can be accessed by indices 1-n by any -command that uses global vector values as input. See the :doc:`Howto output ` doc page for an overview of LAMMPS output options. +command that uses global vector values as input. See the :doc:`Howto output ` page for an overview of LAMMPS output options. The vector values calculated by this compute are "extensive". The scalar value will be in energy :doc:`units `. @@ -170,7 +170,7 @@ Restrictions """""""""""" This compute is part of the EXTRA-COMPUTE package. It is enabled only -if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +if LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Usage restricted to canonical (NVT) ensemble simulation only. @@ -192,5 +192,5 @@ none .. _hma-Moustafa: -**(Moustafa)** Sabry G. Moustafa, Andrew J. Schultz, and David A. Kofke, *Very fast averaging of thermal properties of crystals by molecular simulation*\ , +**(Moustafa)** Sabry G. Moustafa, Andrew J. Schultz, and David A. Kofke, *Very fast averaging of thermal properties of crystals by molecular simulation*, `Phys. Rev. E [92], 043303 (2015) `_ diff --git a/doc/src/compute_improper.rst b/doc/src/compute_improper.rst index 3eb008c3b2..2d6684b240 100644 --- a/doc/src/compute_improper.rst +++ b/doc/src/compute_improper.rst @@ -37,7 +37,7 @@ Output info This compute calculates a global vector of length N where N is the number of sub_styles defined by the :doc:`improper_style hybrid ` command. which can be accessed by indices 1-N. These values can be used by any command that uses global scalar -or vector values from a compute as input. See the :doc:`Howto output ` doc page for an overview of LAMMPS output +or vector values from a compute as input. See the :doc:`Howto output ` page for an overview of LAMMPS output options. The vector values are "extensive" and will be in energy diff --git a/doc/src/compute_improper_local.rst b/doc/src/compute_improper_local.rst index 4c4af36149..3a849bf20c 100644 --- a/doc/src/compute_improper_local.rst +++ b/doc/src/compute_improper_local.rst @@ -69,7 +69,7 @@ array is the number of impropers. If a single keyword is specified, a local vector is produced. If two or more keywords are specified, a local array is produced where the number of columns = the number of keywords. The vector or array can be accessed by any command that -uses local values from a compute as input. See the :doc:`Howto output ` doc page for an overview of LAMMPS output +uses local values from a compute as input. See the :doc:`Howto output ` page for an overview of LAMMPS output options. The output for *chi* will be in degrees. diff --git a/doc/src/compute_inertia_chunk.rst b/doc/src/compute_inertia_chunk.rst index 638a0baec8..42f5725d92 100644 --- a/doc/src/compute_inertia_chunk.rst +++ b/doc/src/compute_inertia_chunk.rst @@ -74,7 +74,7 @@ This compute calculates a global array where the number of rows = the number of chunks *Nchunk* as calculated by the specified :doc:`compute chunk/atom ` command. The number of columns = 6 for the 6 components of the inertia tensor for each chunk, ordered as listed above. These values can be accessed by any command that -uses global array values from a compute as input. See the :doc:`Howto output ` doc page for an overview of LAMMPS output +uses global array values from a compute as input. See the :doc:`Howto output ` page for an overview of LAMMPS output options. The array values are "intensive". The array values will be in diff --git a/doc/src/compute_ke_atom.rst b/doc/src/compute_ke_atom.rst index 8828ee4e3f..277b6ea6d6 100644 --- a/doc/src/compute_ke_atom.rst +++ b/doc/src/compute_ke_atom.rst @@ -37,7 +37,7 @@ Output info This compute calculates a per-atom vector, which can be accessed by any command that uses per-atom values from a compute as input. See -the :doc:`Howto output ` doc page for an overview of +the :doc:`Howto output ` page for an overview of LAMMPS output options. The per-atom vector values will be in energy :doc:`units `. diff --git a/doc/src/compute_ke_atom_eff.rst b/doc/src/compute_ke_atom_eff.rst index e364b20f31..4587632818 100644 --- a/doc/src/compute_ke_atom_eff.rst +++ b/doc/src/compute_ke_atom_eff.rst @@ -65,7 +65,7 @@ Output info This compute calculates a scalar quantity for each atom, which can be accessed by any command that uses per-atom computes as input. See the -:doc:`Howto output ` doc page for an overview of LAMMPS +:doc:`Howto output ` page for an overview of LAMMPS output options. The per-atom vector values will be in energy :doc:`units `. @@ -74,7 +74,7 @@ Restrictions """""""""""" This compute is part of the EFF package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/compute_ke_eff.rst b/doc/src/compute_ke_eff.rst index 6028099d07..233352ba7a 100644 --- a/doc/src/compute_ke_eff.rst +++ b/doc/src/compute_ke_eff.rst @@ -69,7 +69,7 @@ Output info This compute calculates a global scalar (the KE). This value can be used by any command that uses a global scalar value from a compute as -input. See the :doc:`Howto output ` doc page for an +input. See the :doc:`Howto output ` page for an overview of LAMMPS output options. The scalar value calculated by this compute is "extensive". The @@ -79,7 +79,7 @@ Restrictions """""""""""" This compute is part of the EFF package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/compute_ke_rigid.rst b/doc/src/compute_ke_rigid.rst index c8bd663da7..680b1a60fc 100644 --- a/doc/src/compute_ke_rigid.rst +++ b/doc/src/compute_ke_rigid.rst @@ -42,7 +42,7 @@ Output info This compute calculates a global scalar (the summed KE of all the rigid bodies). This value can be used by any command that uses a -global scalar value from a compute as input. See the :doc:`Howto output ` doc page for an overview of LAMMPS output +global scalar value from a compute as input. See the :doc:`Howto output ` page for an overview of LAMMPS output options. The scalar value calculated by this compute is "extensive". The @@ -52,7 +52,7 @@ Restrictions """""""""""" This compute is part of the RIGID package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/compute_mesont.rst b/doc/src/compute_mesont.rst index c449a0a175..c396a33dbc 100644 --- a/doc/src/compute_mesont.rst +++ b/doc/src/compute_mesont.rst @@ -36,7 +36,7 @@ Output info These computes calculate per-node (per-atom) vectors, which can be accessed by any command that uses per-atom values from a compute as input, and global -scalars. See the :doc:`Howto output ` doc page for an overview of +scalars. See the :doc:`Howto output ` page for an overview of LAMMPS output options. The computed values are provided in energy :doc:`units `. diff --git a/doc/src/compute_mliap.rst b/doc/src/compute_mliap.rst index 86dfe5a856..350f4c800c 100644 --- a/doc/src/compute_mliap.rst +++ b/doc/src/compute_mliap.rst @@ -169,7 +169,7 @@ This compute is part of the ML-IAP package. It is only enabled if LAMMPS was built with that package. In addition, building LAMMPS with the ML-IAP package requires building LAMMPS with the ML-SNAP package. The *mliappy* model also requires building LAMMPS with the PYTHON -package. See the :doc:`Build package ` doc page for more +package. See the :doc:`Build package ` page for more info. Related commands diff --git a/doc/src/compute_modify.rst b/doc/src/compute_modify.rst index 3b8f613744..a68f3c14e1 100644 --- a/doc/src/compute_modify.rst +++ b/doc/src/compute_modify.rst @@ -18,10 +18,10 @@ Syntax *extra/dof* value = N N = # of extra degrees of freedom to subtract - *extra* syntax is identical to *extra/dof*\ , will be disabled at some point + *extra* syntax is identical to *extra/dof*, will be disabled at some point *dynamic/dof* value = *yes* or *no* yes/no = do or do not re-compute the number of degrees of freedom (DOF) contributing to the temperature - *dynamic* syntax is identical to *dynamic/dof*\ , will be disabled at some point + *dynamic* syntax is identical to *dynamic/dof*, will be disabled at some point Examples """""""" diff --git a/doc/src/compute_momentum.rst b/doc/src/compute_momentum.rst index 266e4b5e18..c86901933b 100644 --- a/doc/src/compute_momentum.rst +++ b/doc/src/compute_momentum.rst @@ -34,7 +34,7 @@ Output info This compute calculates a global vector (the summed momentum) of length 3. This value can be used by any command that uses a global -vector value from a compute as input. See the :doc:`Howto output ` doc page for an overview of LAMMPS output +vector value from a compute as input. See the :doc:`Howto output ` page for an overview of LAMMPS output options. The vector value calculated by this compute is "extensive". The vector @@ -44,7 +44,7 @@ Restrictions """""""""""" This compute is part of the EXTRA-COMPUTE package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/compute_msd_chunk.rst b/doc/src/compute_msd_chunk.rst index ee2c4612d7..ed13a32b7c 100644 --- a/doc/src/compute_msd_chunk.rst +++ b/doc/src/compute_msd_chunk.rst @@ -112,7 +112,7 @@ This compute calculates a global array where the number of rows = the number of chunks *Nchunk* as calculated by the specified :doc:`compute chunk/atom ` command. The number of columns = 4 for dx,dy,dz and the total displacement. These values can be accessed by any command that uses global array values from a compute -as input. See the :doc:`Howto output ` doc page for an +as input. See the :doc:`Howto output ` page for an overview of LAMMPS output options. The array values are "intensive". The array values will be in diff --git a/doc/src/compute_msd_nongauss.rst b/doc/src/compute_msd_nongauss.rst index 63d8deb2cd..70f4505d7f 100644 --- a/doc/src/compute_msd_nongauss.rst +++ b/doc/src/compute_msd_nongauss.rst @@ -56,7 +56,7 @@ If the *com* option is set to *yes* then the effect of any drift in the center-of-mass of the group of atoms is subtracted out before the displacement of each atom is calculated. -See the :doc:`compute msd ` doc page for further important +See the :doc:`compute msd ` page for further important NOTEs, which also apply to this compute. Output info @@ -74,8 +74,8 @@ the third is dimensionless. Restrictions """""""""""" -This compute is part of the MISC package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +This compute is part of the EXTRA-COMPUTE package. It is only enabled if +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/compute_omega_chunk.rst b/doc/src/compute_omega_chunk.rst index d0af88b1a4..90baf9e2b3 100644 --- a/doc/src/compute_omega_chunk.rst +++ b/doc/src/compute_omega_chunk.rst @@ -75,7 +75,7 @@ This compute calculates a global array where the number of rows = the number of chunks *Nchunk* as calculated by the specified :doc:`compute chunk/atom ` command. The number of columns = 3 for the 3 xyz components of the angular velocity for each chunk. These values can be accessed by any command that uses global array -values from a compute as input. See the :doc:`Howto output ` doc page for an overview of LAMMPS output +values from a compute as input. See the :doc:`Howto output ` page for an overview of LAMMPS output options. The array values are "intensive". The array values will be in diff --git a/doc/src/compute_orientorder_atom.rst b/doc/src/compute_orientorder_atom.rst index af4e6a21e8..2efea311a0 100644 --- a/doc/src/compute_orientorder_atom.rst +++ b/doc/src/compute_orientorder_atom.rst @@ -181,7 +181,9 @@ page for an overview of LAMMPS output options. Restrictions """""""""""" - none + +This compute is part of the EXTRA-COMPUTE package. It is only enabled if +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/compute_pair.rst b/doc/src/compute_pair.rst index abfd1ebed4..b43c4bd6d7 100644 --- a/doc/src/compute_pair.rst +++ b/doc/src/compute_pair.rst @@ -50,11 +50,11 @@ two parts: *evdwl* and *ecoul* such that *epair* = *evdwl* + *ecoul*\ . If the pair style calculates Coulombic interactions, their energy will be tallied in *ecoul*\ . Everything else (whether it is a Lennard-Jones style van der Waals interaction or not) is tallied in *evdwl*\ . If -*evalue* is blank or specified as *epair*\ , then *epair* is stored +*evalue* is blank or specified as *epair*, then *epair* is stored as a global scalar by this compute. This is useful when using :doc:`pair_style hybrid ` if you want to know the portion of the total energy contributed by one sub-style. If *evalue* is -specified as *evdwl* or *ecoul*\ , then just that portion of the energy +specified as *evdwl* or *ecoul*, then just that portion of the energy is stored as a global scalar. .. note:: @@ -66,7 +66,7 @@ is stored as a global scalar. Some pair styles tally additional quantities, e.g. a breakdown of potential energy into 14 components is tallied by the :doc:`pair_style reaxff ` command. These values (1 or more) -are stored as a global vector by this compute. See the doc page for +are stored as a global vector by this compute. See the page for :doc:`individual pair styles ` for info on these values. Output info @@ -84,7 +84,7 @@ The scalar and vector values calculated by this compute are The scalar value will be in energy :doc:`units `. The vector values will typically also be in energy :doc:`units `, but see -the doc page for the pair style for details. +the page for the pair style for details. Restrictions """""""""""" @@ -98,4 +98,4 @@ Related commands Default """"""" -The keyword defaults are *evalue* = *epair*\ , nsub = 0. +The keyword defaults are *evalue* = *epair*, nsub = 0. diff --git a/doc/src/compute_pair_local.rst b/doc/src/compute_pair_local.rst index e269aaadfe..f464c7cec6 100644 --- a/doc/src/compute_pair_local.rst +++ b/doc/src/compute_pair_local.rst @@ -20,7 +20,7 @@ Syntax *dist* = pairwise distance *eng* = pairwise energy *force* = pairwise force - *fx*\ ,\ *fy*\ ,\ *fz* = components of pairwise force + *fx*,\ *fy*,\ *fz* = components of pairwise force *pN* = pair style specific quantities for allowed N values * zero or more keyword/arg pairs may be appended @@ -61,20 +61,20 @@ The value *eng* is the interaction energy for the pair of atoms. The value *force* is the force acting between the pair of atoms, which is positive for a repulsive force and negative for an attractive -force. The values *fx*\ , *fy*\ , and *fz* are the xyz components of +force. The values *fx*, *fy*, and *fz* are the xyz components of *force* on atom I. A pair style may define additional pairwise quantities which can be -accessed as *p1* to *pN*\ , where N is defined by the pair style. Most +accessed as *p1* to *pN*, where N is defined by the pair style. Most pair styles do not define any additional quantities, so N = 0. An example of ones that do are the :doc:`granular pair styles ` which calculate the tangential force between two particles and return its components and magnitude acting on atom I for N = 1,2,3,4. See individual pair styles for details. -When using *pN* with pair style *hybrid*\ , the output will be the Nth +When using *pN* with pair style *hybrid*, the output will be the Nth quantity from the sub-style that computes the pairwise interaction -(based on atom types). If that sub-style does not define a *pN*\ , +(based on atom types). If that sub-style does not define a *pN*, the output will be 0.0. The maximum allowed N is the maximum number of quantities provided by any sub-style. @@ -90,12 +90,12 @@ is not computed for the specific pairwise interaction (based on atom types), then the output will be 0.0. The value *dist* will be in distance :doc:`units `. The value -*eng* will be in energy :doc:`units `. The values *force*\ , *fx*\ , -*fy*\ , and *fz* will be in force :doc:`units `. The values *pN* +*eng* will be in energy :doc:`units `. The values *force*, *fx*, +*fy*, and *fz* will be in force :doc:`units `. The values *pN* will be in whatever units the pair style defines. The optional *cutoff* keyword determines how the force cutoff distance -for an interaction is determined. For the default setting of *type*\ , +for an interaction is determined. For the default setting of *type*, the pairwise cutoff defined by the :doc:`pair_style ` command for the types of the two atoms is used. For the *radius* setting, the sum of the radii of the two particles is used as a @@ -147,12 +147,12 @@ array is the number of pairs. If a single keyword is specified, a local vector is produced. If two or more keywords are specified, a local array is produced where the number of columns = the number of keywords. The vector or array can be accessed by any command that -uses local values from a compute as input. See the :doc:`Howto output ` doc page for an overview of LAMMPS output +uses local values from a compute as input. See the :doc:`Howto output ` page for an overview of LAMMPS output options. The output for *dist* will be in distance :doc:`units `. The output for *eng* will be in energy :doc:`units `. The output for -*force*\ , *fx*\ , *fy*\ , and *fz* will be in force :doc:`units `. +*force*, *fx*, *fy*, and *fz* will be in force :doc:`units `. The output for *pN* will be in whatever units the pair style defines. Restrictions diff --git a/doc/src/compute_pe_atom.rst b/doc/src/compute_pe_atom.rst index 91aaaf867c..ab6db9c786 100644 --- a/doc/src/compute_pe_atom.rst +++ b/doc/src/compute_pe_atom.rst @@ -89,7 +89,7 @@ Output info This compute calculates a per-atom vector, which can be accessed by any command that uses per-atom values from a compute as input. See -the :doc:`Howto output ` doc page for an overview of +the :doc:`Howto output ` page for an overview of LAMMPS output options. The per-atom vector values will be in energy :doc:`units `. diff --git a/doc/src/compute_plasticity_atom.rst b/doc/src/compute_plasticity_atom.rst index b78f706afd..6861dd7cfc 100644 --- a/doc/src/compute_plasticity_atom.rst +++ b/doc/src/compute_plasticity_atom.rst @@ -43,7 +43,7 @@ Output info This compute calculates a per-atom vector, which can be accessed by any command that uses per-atom values from a compute as input. See -the :doc:`Howto output ` doc page for an overview of +the :doc:`Howto output ` page for an overview of LAMMPS output options. The per-atom vector values are unitless numbers (lambda) >= 0.0. @@ -52,7 +52,7 @@ Restrictions """""""""""" This compute is part of the PERI package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/compute_pressure.rst b/doc/src/compute_pressure.rst index 3c98208261..6d76713b41 100644 --- a/doc/src/compute_pressure.rst +++ b/doc/src/compute_pressure.rst @@ -124,7 +124,7 @@ This compute calculates a global scalar (the pressure) and a global vector of length 6 (pressure tensor), which can be accessed by indices 1-6. These values can be used by any command that uses global scalar or vector values from a compute as input. See the :doc:`Howto output -` doc page for an overview of LAMMPS output options. +` page for an overview of LAMMPS output options. The ordering of values in the symmetric pressure tensor is as follows: pxx, pyy, pzz, pxy, pxz, pyz. diff --git a/doc/src/compute_pressure_cylinder.rst b/doc/src/compute_pressure_cylinder.rst index cc94c339c8..a008254540 100644 --- a/doc/src/compute_pressure_cylinder.rst +++ b/doc/src/compute_pressure_cylinder.rst @@ -68,7 +68,7 @@ the configurational terms only; the kinetic contribution is not included and may be calculated from the number density output by P_kin=density\*k\*T. This compute is part of the EXTRA-COMPUTE package. It is only enabled -if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +if LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/compute_pressure_uef.rst b/doc/src/compute_pressure_uef.rst index 1e32c4d9b4..2e53961d00 100644 --- a/doc/src/compute_pressure_uef.rst +++ b/doc/src/compute_pressure_uef.rst @@ -42,7 +42,7 @@ Restrictions """""""""""" This fix is part of the UEF package. It is only enabled if LAMMPS -was built with that package. See the :doc:`Build package ` doc page for more info. +was built with that package. See the :doc:`Build package ` page for more info. This command can only be used when :doc:`fix nvt/uef ` or :doc:`fix npt/uef ` is active. diff --git a/doc/src/compute_property_atom.rst b/doc/src/compute_property_atom.rst index 32cda56659..333f31d013 100644 --- a/doc/src/compute_property_atom.rst +++ b/doc/src/compute_property_atom.rst @@ -130,25 +130,25 @@ quantities that are not defined for a particular particle in the group The additional quantities only accessible via this command, and not directly via the :doc:`dump custom ` command, are as follows. -*Shapex*\ , *shapey*\ , and *shapez* are defined for ellipsoidal particles +*Shapex*, *shapey*, and *shapez* are defined for ellipsoidal particles and define the 3d shape of each particle. -*Quatw*\ , *quati*\ , *quatj*\ , and *quatk* are defined for ellipsoidal +*Quatw*, *quati*, *quatj*, and *quatk* are defined for ellipsoidal particles and body particles and store the 4-vector quaternion representing the orientation of each particle. See the :doc:`set ` command for an explanation of the quaternion vector. -*End1x*\ , *end1y*\ , *end1z*\ , *end2x*\ , *end2y*\ , *end2z*\ , are +*End1x*, *end1y*, *end1z*, *end2x*, *end2y*, *end2z*, are defined for line segment particles and define the end points of each line segment. -*Corner1x*\ , *corner1y*\ , *corner1z*\ , *corner2x*\ , *corner2y*\ , -*corner2z*\ , *corner3x*\ , *corner3y*\ , *corner3z*\ , are defined for +*Corner1x*, *corner1y*, *corner1z*, *corner2x*, *corner2y*, +*corner2z*, *corner3x*, *corner3y*, *corner3z*, are defined for triangular particles and define the corner points of each triangle. *Nbonds* is available for all molecular atom styles and refers to the number of explicit bonds assigned to an atom. Note that if the -:doc:`newton bond ` command is set to *on*\ , which is the +:doc:`newton bond ` command is set to *on*, which is the default, then every bond in the system is assigned to only one of the two atoms in the bond. Thus a bond between atoms I,J may be tallied for either atom I or atom J. If :doc:`newton bond off ` is @@ -169,7 +169,7 @@ per-atom vector is produced. If two or more inputs are specified, a per-atom array is produced where the number of columns = the number of inputs. The vector or array can be accessed by any command that uses per-atom values from a compute as input. See the :doc:`Howto output -` doc page for an overview of LAMMPS output options. +` page for an overview of LAMMPS output options. The vector or array values will be in whatever :doc:`units ` the corresponding attribute is in, e.g. velocity units for vx, charge diff --git a/doc/src/compute_property_chunk.rst b/doc/src/compute_property_chunk.rst index 246ab09120..48b3641e84 100644 --- a/doc/src/compute_property_chunk.rst +++ b/doc/src/compute_property_chunk.rst @@ -67,14 +67,14 @@ then be 415 for the third chunk. The *coordN* attributes can only be used if a *binning* style was used in the :doc:`compute chunk/atom ` command referenced -by chunkID. For *bin/1d*\ , *bin/2d*\ , and *bin/3d* styles the attribute +by chunkID. For *bin/1d*, *bin/2d*, and *bin/3d* styles the attribute is the center point of the bin in the corresponding dimension. Style *bin/1d* only defines a *coord1* attribute. Style *bin/2d* adds a *coord2* attribute. Style *bin/3d* adds a *coord3* attribute. -Note that if the value of the *units* keyword used in the :doc:`compute chunk/atom command ` is *box* or *lattice*\ , the +Note that if the value of the *units* keyword used in the :doc:`compute chunk/atom command ` is *box* or *lattice*, the *coordN* attributes will be in distance :doc:`units `. If the -value of the *units* keyword is *reduced*\ , the *coordN* attributes +value of the *units* keyword is *reduced*, the *coordN* attributes will be in unitless reduced units (0-1). The simplest way to output the results of the compute property/chunk @@ -102,7 +102,7 @@ single input is specified, a global vector is produced. If two or more inputs are specified, a global array is produced where the number of columns = the number of inputs. The vector or array can be accessed by any command that uses global values from a compute as -input. See the :doc:`Howto output ` doc page for an +input. See the :doc:`Howto output ` page for an overview of LAMMPS output options. The vector or array values are "intensive". The values will be diff --git a/doc/src/compute_property_local.rst b/doc/src/compute_property_local.rst index dd92334266..357f46b70d 100644 --- a/doc/src/compute_property_local.rst +++ b/doc/src/compute_property_local.rst @@ -72,17 +72,17 @@ property/local command. If the inputs are pair attributes, the local data is generated by looping over the pairwise neighbor list. Info about an individual pairwise interaction will only be included if both atoms in the pair -are in the specified compute group. For *natom1* and *natom2*\ , all +are in the specified compute group. For *natom1* and *natom2*, all atom pairs in the neighbor list are considered (out to the neighbor cutoff = force cutoff + :doc:`neighbor skin `). For *patom1* -and *patom2*\ , the distance between the atoms must be less than the +and *patom2*, the distance between the atoms must be less than the force cutoff distance for that pair to be included, as defined by the :doc:`pair_style ` and :doc:`pair_coeff ` commands. The optional *cutoff* keyword determines how the force cutoff distance for an interaction is determined for the *patom1* and *patom2* -attributes. For the default setting of *type*\ , the pairwise cutoff +attributes. For the default setting of *type*, the pairwise cutoff defined by the :doc:`pair_style ` command for the types of the two atoms is used. For the *radius* setting, the sum of the radii of the two particles is used as a cutoff. For example, this is @@ -113,10 +113,10 @@ same for local vectors or arrays generated by other compute commands. For example, output from the :doc:`compute bond/local ` command can be combined with bond atom indices from this command and output by the :doc:`dump local ` command in a consistent way. -The *natom1* and *natom2*\ , or *patom1* and *patom2* attributes refer +The *natom1* and *natom2*, or *patom1* and *patom2* attributes refer to the atom IDs of the 2 atoms in each pairwise interaction computed by the :doc:`pair_style ` command. The *ntype1* and -*ntype2*\ , or *ptype1* and *ptype2* attributes refer to the atom types +*ntype2*, or *ptype1* and *ptype2* attributes refer to the atom types of the 2 atoms in each pairwise interaction. .. note:: @@ -149,7 +149,7 @@ the array is the number of bonds, angles, etc. If a single input is specified, a local vector is produced. If two or more inputs are specified, a local array is produced where the number of columns = the number of inputs. The vector or array can be accessed by any command -that uses local values from a compute as input. See the :doc:`Howto output ` doc page for an overview of LAMMPS output +that uses local values from a compute as input. See the :doc:`Howto output ` page for an overview of LAMMPS output options. The vector or array values will be integers that correspond to the diff --git a/doc/src/compute_ptm_atom.rst b/doc/src/compute_ptm_atom.rst index e271131987..3e209d1dc5 100644 --- a/doc/src/compute_ptm_atom.rst +++ b/doc/src/compute_ptm_atom.rst @@ -89,7 +89,7 @@ Output info This compute calculates a per-atom array, which can be accessed by any command that uses per-atom values from a compute as input. See -the :doc:`Howto output ` doc page for an overview of +the :doc:`Howto output ` page for an overview of LAMMPS output options. Results are stored in the per-atom array in the following order: @@ -113,7 +113,7 @@ Restrictions """""""""""" This fix is part of the PTM package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/compute_rdf.rst b/doc/src/compute_rdf.rst index a9e6674816..85366eab2a 100644 --- a/doc/src/compute_rdf.rst +++ b/doc/src/compute_rdf.rst @@ -55,7 +55,7 @@ shell of distances in 3d and a thin ring of distances in 2d. command, and means those pairwise interactions do not appear in the neighbor list. Because this fix uses a neighbor list, it also means those pairs will not be included in the RDF. This does not apply when - using long-range coulomb interactions (\ *coul/long*\ , *coul/msm*\ , + using long-range coulomb interactions (\ *coul/long*, *coul/msm*, *coul/wolf* or similar. One way to get around this would be to set special_bond scaling factors to very tiny numbers that are not exactly zero (e.g. 1.0e-50). Another workaround is to write a dump file, and @@ -94,7 +94,7 @@ The *itypeN* and *jtypeN* arguments are optional. These arguments must come in pairs. If no pairs are listed, then a single histogram is computed for g(r) between all atom types. If one or more pairs are listed, then a separate histogram is generated for each -*itype*\ ,\ *jtype* pair. +*itype*,\ *jtype* pair. The *itypeN* and *jtypeN* settings can be specified in one of two ways. An explicit numeric value can be used, as in the fourth example @@ -156,13 +156,13 @@ Output info """"""""""" This compute calculates a global array with the number of rows = -*Nbins*\ , and the number of columns = 1 + 2\*Npairs, where Npairs is the +*Nbins*, and the number of columns = 1 + 2\*Npairs, where Npairs is the number of I,J pairings specified. The first column has the bin coordinate (center of the bin), Each successive set of 2 columns has the g(r) and coord(r) values for a specific set of *itypeN* versus *jtypeN* interactions, as described above. These values can be used by any command that uses a global values from a compute as input. See -the :doc:`Howto output ` doc page for an overview of +the :doc:`Howto output ` page for an overview of LAMMPS output options. The array values calculated by this compute are all "intensive". @@ -186,7 +186,7 @@ your model. The definition of g(r) used by LAMMPS is only appropriate for characterizing atoms that are uniformly distributed throughout the simulation cell. In such cases, the coordination number is still correct and meaningful. As an example, if a large simulation cell -contains only one atom of type *itypeN* and one of *jtypeN*\ , then g(r) +contains only one atom of type *itypeN* and one of *jtypeN*, then g(r) will register an arbitrarily large spike at whatever distance they happen to be at, and zero everywhere else. Coord(r) will show a step change from zero to one at the location of the spike in g(r). diff --git a/doc/src/compute_reduce.rst b/doc/src/compute_reduce.rst index 660ef87042..1793830e0a 100644 --- a/doc/src/compute_reduce.rst +++ b/doc/src/compute_reduce.rst @@ -74,7 +74,7 @@ or *max* options find the minimum or maximum value across all vector values. The *ave* setting adds the vector values into a global total, then divides by the number of values in the vector. The *sumsq* option sums the square of the values in the vector into a global -total. The *avesq* setting does the same as *sumsq*\ , then divides the +total. The *avesq* setting does the same as *sumsq*, then divides the sum of squares by the number of values. The last two options can be useful for calculating the variance of some quantity, e.g. variance = sumsq - ave\^2. @@ -126,7 +126,7 @@ an input value from that compute. If a value begins with "c\_", a compute ID must follow which has been previously defined in the input script. Computes can generate per-atom or local quantities. See the individual -:doc:`compute ` doc page for details. If no bracketed integer +:doc:`compute ` page for details. If no bracketed integer is appended, the vector calculated by the compute is used. If a bracketed integer is appended, the Ith column of the array calculated by the compute is used. Users can also write code for their own @@ -136,7 +136,7 @@ to effectively specify multiple values. If a value begins with "f\_", a fix ID must follow which has been previously defined in the input script. Fixes can generate per-atom -or local quantities. See the individual :doc:`fix ` doc page for +or local quantities. See the individual :doc:`fix ` page for details. Note that some fixes only produce their values on certain timesteps, which must be compatible with when compute reduce references the values, else an error results. If no bracketed integer diff --git a/doc/src/compute_reduce_chunk.rst b/doc/src/compute_reduce_chunk.rst index 342c6ceb05..256ff15920 100644 --- a/doc/src/compute_reduce_chunk.rst +++ b/doc/src/compute_reduce_chunk.rst @@ -169,7 +169,7 @@ in the array is the number of inputs provided. The length of the vector or the number of vector elements or array rows = the number of chunks *Nchunk* as calculated by the specified :doc:`compute chunk/atom ` command. The vector or array can be accessed by any command that uses global values from a compute as -input. See the :doc:`Howto output ` doc page for an +input. See the :doc:`Howto output ` page for an overview of LAMMPS output options. The per-atom values for the vector or each column of the array will be diff --git a/doc/src/compute_rigid_local.rst b/doc/src/compute_rigid_local.rst index f7bb6d6166..574f3343be 100644 --- a/doc/src/compute_rigid_local.rst +++ b/doc/src/compute_rigid_local.rst @@ -61,7 +61,7 @@ command and its variants. The ID of the :doc:`fix rigid/small ` comm be specified as *rigidID*\ . The :doc:`fix rigid ` command is typically used to define a handful of (potentially very large) rigid bodies. It outputs similar per-body information as this command -directly from the fix as global data; see the :doc:`fix rigid ` doc page for details +directly from the fix as global data; see the :doc:`fix rigid ` page for details The local data stored by this command is generated by looping over all the atoms owned on a processor. If the atom is not in the specified @@ -107,43 +107,43 @@ rigid bodies. The *mass* attribute is the total mass of the rigid body. There are two options for outputting the coordinates of the center of -mass (COM) of the body. The *x*\ , *y*\ , *z* attributes write the COM +mass (COM) of the body. The *x*, *y*, *z* attributes write the COM "unscaled", in the appropriate distance :doc:`units ` (Angstroms, -sigma, etc). Use *xu*\ , *yu*\ , *zu* if you want the COM "unwrapped" by +sigma, etc). Use *xu*, *yu*, *zu* if you want the COM "unwrapped" by the image flags for each body. Unwrapped means that if the body COM has passed through a periodic boundary one or more times, the value is generated what the COM coordinate would be if it had not been wrapped back into the periodic box. -The image flags for the body can be generated directly using the *ix*\ , -*iy*\ , *iz* attributes. For periodic dimensions, they specify which +The image flags for the body can be generated directly using the *ix*, +*iy*, *iz* attributes. For periodic dimensions, they specify which image of the simulation box the COM is considered to be in. An image of 0 means it is inside the box as defined. A value of 2 means add 2 box lengths to get the true value. A value of -1 means subtract 1 box length to get the true value. LAMMPS updates these flags as the rigid body COMs cross periodic boundaries during the simulation. -The *vx*\ , *vy*\ , *vz*\ , *fx*\ , *fy*\ , *fz* attributes are components of +The *vx*, *vy*, *vz*, *fx*, *fy*, *fz* attributes are components of the COM velocity and force on the COM of the body. -The *omegax*\ , *omegay*\ , and *omegaz* attributes are the angular +The *omegax*, *omegay*, and *omegaz* attributes are the angular velocity components of the body around its COM. -The *angmomx*\ , *angmomy*\ , and *angmomz* attributes are the angular +The *angmomx*, *angmomy*, and *angmomz* attributes are the angular momentum components of the body around its COM. -The *quatw*\ , *quati*\ , *quatj*\ , and *quatk* attributes are the +The *quatw*, *quati*, *quatj*, and *quatk* attributes are the components of the 4-vector quaternion representing the orientation of the rigid body. See the :doc:`set ` command for an explanation of the quaternion vector. -The *angmomx*\ , *angmomy*\ , and *angmomz* attributes are the angular +The *angmomx*, *angmomy*, and *angmomz* attributes are the angular momentum components of the body around its COM. -The *tqx*\ , *tqy*\ , *tqz* attributes are components of the torque acting +The *tqx*, *tqy*, *tqz* attributes are components of the torque acting on the body around its COM. -The *inertiax*\ , *inertiay*\ , *inertiaz* attributes are components of +The *inertiax*, *inertiay*, *inertiaz* attributes are components of diagonalized inertia tensor for the body, i.e the 3 moments of inertia for the body around its principal axes, as computed internally by LAMMPS. @@ -160,7 +160,7 @@ specified, a local vector is produced. If two or more keywords are specified, a local array is produced where the number of columns = the number of keywords. The vector or array can be accessed by any command that uses local values from a compute as input. See the -:doc:`Howto output ` doc page for an overview of LAMMPS +:doc:`Howto output ` page for an overview of LAMMPS output options. The vector or array values will be in whatever :doc:`units ` the @@ -181,7 +181,7 @@ Restrictions """""""""""" This compute is part of the RIGID package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/compute_saed.rst b/doc/src/compute_saed.rst index 989fe63d3d..37ee302f8f 100644 --- a/doc/src/compute_saed.rst +++ b/doc/src/compute_saed.rst @@ -90,7 +90,7 @@ unless small spacing parameters <0.05 Angstrom\^(-1) are implemented. Meshes with manual spacing do not require a periodic boundary. The limits of the reciprocal lattice mesh are determined by the use of -the *Kmax*\ , *Zone*\ , and *dR_Ewald* parameters. The rectilinear mesh +the *Kmax*, *Zone*, and *dR_Ewald* parameters. The rectilinear mesh created about the origin of reciprocal space is terminated at the boundary of a sphere of radius *Kmax* centered at the origin. If *Zone* parameters z1=z2=z3=0 are used, diffraction intensities are @@ -246,7 +246,7 @@ Restrictions """""""""""" This compute is part of the DIFFRACTION package. It is only -enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +enabled if LAMMPS was built with that package. See the :doc:`Build package ` page for more info. The compute_saed command does not work for triclinic cells. diff --git a/doc/src/compute_slice.rst b/doc/src/compute_slice.rst index 2d558b871f..9b4e7df626 100644 --- a/doc/src/compute_slice.rst +++ b/doc/src/compute_slice.rst @@ -44,9 +44,9 @@ quantities; they cannot be per-atom or local quantities. group specified with this command is ignored. The values extracted from the input vector(s) are determined by the -*Nstart*\ , *Nstop*\ , and *Nskip* parameters. The elements of an input +*Nstart*, *Nstop*, and *Nskip* parameters. The elements of an input vector of length N are indexed from 1 to N. Starting at element -*Nstart*\ , every Mth element is extracted, where M = *Nskip*\ , until +*Nstart*, every Mth element is extracted, where M = *Nskip*, until element *Nstop* is reached. The extracted quantities are stored as a vector, which is typically shorter than the input vector. @@ -65,7 +65,7 @@ used. Users can also write code for their own compute styles and :doc:`add them If a value begins with "f\_", a fix ID must follow which has been previously defined in the input script and which generates a global -vector or array. See the individual :doc:`fix ` doc page for +vector or array. See the individual :doc:`fix ` page for details. Note that some fixes only produce their values on certain timesteps, which must be compatible with when compute slice references the values, else an error results. If no bracketed integer is @@ -97,7 +97,7 @@ specified or a global array with N columns where N is the number of inputs. The length of the vector or the number of rows in the array is equal to the number of values extracted from each input vector. These values can be used by any command that uses global vector or -array values from a compute as input. See the :doc:`Howto output ` doc page for an overview of LAMMPS output +array values from a compute as input. See the :doc:`Howto output ` page for an overview of LAMMPS output options. The vector or array values calculated by this compute are simply diff --git a/doc/src/compute_smd_contact_radius.rst b/doc/src/compute_smd_contact_radius.rst index d310de826a..25f346625c 100644 --- a/doc/src/compute_smd_contact_radius.rst +++ b/doc/src/compute_smd_contact_radius.rst @@ -40,7 +40,7 @@ Output info This compute calculates a per-particle vector, which can be accessed by any command that uses per-particle values from a compute as input. -See the :doc:`Howto output ` doc page for an overview of +See the :doc:`Howto output ` page for an overview of LAMMPS output options. The per-particle vector values will be in distance :doc:`units `. @@ -49,7 +49,7 @@ Restrictions """""""""""" This compute is part of the MACHDYN package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/compute_smd_damage.rst b/doc/src/compute_smd_damage.rst index e11fce1e9e..10070eaf0e 100644 --- a/doc/src/compute_smd_damage.rst +++ b/doc/src/compute_smd_damage.rst @@ -32,7 +32,7 @@ See `this PDF guide `_ to use Smooth Mach Dynamics This compute calculates a per-particle vector, which can be accessed by any command that uses per-particle values from a compute as input. -See the :doc:`Howto output ` doc page for an overview of +See the :doc:`Howto output ` page for an overview of LAMMPS output options. The per-particle values are dimensionless an in the range of zero to one. diff --git a/doc/src/compute_smd_hourglass_error.rst b/doc/src/compute_smd_hourglass_error.rst index c3664997f9..aee87592aa 100644 --- a/doc/src/compute_smd_hourglass_error.rst +++ b/doc/src/compute_smd_hourglass_error.rst @@ -41,7 +41,7 @@ Mach Dynamics in LAMMPS. This compute calculates a per-particle vector, which can be accessed by any command that uses per-particle values from a compute as input. -See the :doc:`Howto output ` doc page for an overview of +See the :doc:`Howto output ` page for an overview of LAMMPS output options. The per-particle vector values will are dimensionless. See @@ -51,7 +51,7 @@ Restrictions """""""""""" This compute is part of the MACHDYN package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. This quantity will be computed only for particles which interact with tlsph pair style. diff --git a/doc/src/compute_smd_internal_energy.rst b/doc/src/compute_smd_internal_energy.rst index f596b0ce54..535384e38b 100644 --- a/doc/src/compute_smd_internal_energy.rst +++ b/doc/src/compute_smd_internal_energy.rst @@ -34,7 +34,7 @@ Output Info This compute calculates a per-particle vector, which can be accessed by any command that uses per-particle values from a compute as input. -See the :doc:`Howto output ` doc page for an overview of +See the :doc:`Howto output ` page for an overview of LAMMPS output options. The per-particle vector values will be given in :doc:`units ` of energy. @@ -43,7 +43,7 @@ Restrictions """""""""""" This compute is part of the MACHDYN package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. This compute can +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. This compute can only be used for particles which interact via the updated Lagrangian or total Lagrangian SPH pair styles. diff --git a/doc/src/compute_smd_plastic_strain.rst b/doc/src/compute_smd_plastic_strain.rst index 018b999716..17614df548 100644 --- a/doc/src/compute_smd_plastic_strain.rst +++ b/doc/src/compute_smd_plastic_strain.rst @@ -34,7 +34,7 @@ Mach Dynamics in LAMMPS. This compute calculates a per-particle vector, which can be accessed by any command that uses per-particle values from a compute as input. -See the :doc:`Howto output ` doc page for an overview of +See the :doc:`Howto output ` page for an overview of LAMMPS output options. The per-particle values will be given dimensionless. See :doc:`units `. @@ -43,7 +43,7 @@ Restrictions """""""""""" This compute is part of the MACHDYN package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. This compute can +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. This compute can only be used for particles which interact via the updated Lagrangian or total Lagrangian SPH pair styles. diff --git a/doc/src/compute_smd_plastic_strain_rate.rst b/doc/src/compute_smd_plastic_strain_rate.rst index 4edb7c2ae5..dc78b627ef 100644 --- a/doc/src/compute_smd_plastic_strain_rate.rst +++ b/doc/src/compute_smd_plastic_strain_rate.rst @@ -34,7 +34,7 @@ Mach Dynamics in LAMMPS. This compute calculates a per-particle vector, which can be accessed by any command that uses per-particle values from a compute as input. -See the :doc:`Howto output ` doc page for an overview of +See the :doc:`Howto output ` page for an overview of LAMMPS output options. The per-particle values will be given in :doc:`units ` of one over time. @@ -43,7 +43,7 @@ Restrictions """""""""""" This compute is part of the MACHDYN package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. This compute can +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. This compute can only be used for particles which interact via the updated Lagrangian or total Lagrangian SPH pair styles. diff --git a/doc/src/compute_smd_rho.rst b/doc/src/compute_smd_rho.rst index 672fe225f0..0adbc9db34 100644 --- a/doc/src/compute_smd_rho.rst +++ b/doc/src/compute_smd_rho.rst @@ -36,7 +36,7 @@ Output info This compute calculates a per-particle vector, which can be accessed by any command that uses per-particle values from a compute as input. -See the :doc:`Howto output ` doc page for an overview of +See the :doc:`Howto output ` page for an overview of LAMMPS output options. The per-particle values will be in :doc:`units ` of mass over volume. @@ -45,7 +45,7 @@ Restrictions """""""""""" This compute is part of the MACHDYN package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/compute_smd_tlsph_defgrad.rst b/doc/src/compute_smd_tlsph_defgrad.rst index a8c2e80a12..813bd32507 100644 --- a/doc/src/compute_smd_tlsph_defgrad.rst +++ b/doc/src/compute_smd_tlsph_defgrad.rst @@ -48,7 +48,7 @@ Restrictions """""""""""" This compute is part of the MACHDYN package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. TThis compute can +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. TThis compute can only be used for particles which interact via the total Lagrangian SPH pair style. diff --git a/doc/src/compute_smd_tlsph_dt.rst b/doc/src/compute_smd_tlsph_dt.rst index 6c6ad54187..44b2311898 100644 --- a/doc/src/compute_smd_tlsph_dt.rst +++ b/doc/src/compute_smd_tlsph_dt.rst @@ -40,7 +40,7 @@ Output info This compute calculates a per-particle vector, which can be accessed by any command that uses per-particle values from a compute as input. -See the :doc:`Howto output ` doc page for an overview of +See the :doc:`Howto output ` page for an overview of LAMMPS output options. The per-particle values will be given in :doc:`units ` of time. @@ -49,7 +49,7 @@ Restrictions """""""""""" This compute is part of the MACHDYN package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. This compute can only be used for particles interacting with the Total-Lagrangian SPH pair style. diff --git a/doc/src/compute_smd_tlsph_num_neighs.rst b/doc/src/compute_smd_tlsph_num_neighs.rst index 1a42373717..bc76ec260f 100644 --- a/doc/src/compute_smd_tlsph_num_neighs.rst +++ b/doc/src/compute_smd_tlsph_num_neighs.rst @@ -35,7 +35,7 @@ Output info This compute calculates a per-particle vector, which can be accessed by any command that uses per-particle values from a compute as input. -See the :doc:`Howto output ` doc page for an overview of +See the :doc:`Howto output ` page for an overview of LAMMPS output options. The per-particle values are dimensionless. See :doc:`units `. @@ -44,7 +44,7 @@ Restrictions """""""""""" This compute is part of the MACHDYN package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. This quantity will be computed only for particles which interact with the Total-Lagrangian pair style. diff --git a/doc/src/compute_smd_tlsph_shape.rst b/doc/src/compute_smd_tlsph_shape.rst index 33bd02d894..aefedb64eb 100644 --- a/doc/src/compute_smd_tlsph_shape.rst +++ b/doc/src/compute_smd_tlsph_shape.rst @@ -36,7 +36,7 @@ Output info This compute calculates a per-particle vector of vectors, which can be accessed by any command that uses per-particle values from a compute -as input. See the :doc:`Howto output ` doc page for an +as input. See the :doc:`Howto output ` page for an overview of LAMMPS output options. The per-particle vector has 7 entries. The first three entries @@ -51,7 +51,7 @@ Restrictions """""""""""" This compute is part of the MACHDYN package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. This quantity will be computed only for particles which interact with the Total-Lagrangian SPH pair style. diff --git a/doc/src/compute_smd_tlsph_strain.rst b/doc/src/compute_smd_tlsph_strain.rst index a05dbab8d7..3ecb509e9f 100644 --- a/doc/src/compute_smd_tlsph_strain.rst +++ b/doc/src/compute_smd_tlsph_strain.rst @@ -47,7 +47,7 @@ Restrictions """""""""""" This compute is part of the MACHDYN package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. This quantity will be computed only for particles which interact with the Total-Lagrangian SPH pair style. diff --git a/doc/src/compute_smd_tlsph_strain_rate.rst b/doc/src/compute_smd_tlsph_strain_rate.rst index f75db80d94..41251d7095 100644 --- a/doc/src/compute_smd_tlsph_strain_rate.rst +++ b/doc/src/compute_smd_tlsph_strain_rate.rst @@ -46,7 +46,7 @@ Restrictions """""""""""" This compute is part of the MACHDYN package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. This quantity will be computed only for particles which interact with Total-Lagrangian SPH pair style. diff --git a/doc/src/compute_smd_tlsph_stress.rst b/doc/src/compute_smd_tlsph_stress.rst index 0a194bea3d..11cec3bda8 100644 --- a/doc/src/compute_smd_tlsph_stress.rst +++ b/doc/src/compute_smd_tlsph_stress.rst @@ -48,7 +48,7 @@ Restrictions """""""""""" This compute is part of the MACHDYN package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. This quantity will be computed only for particles which interact with the Total-Lagrangian SPH pair style. diff --git a/doc/src/compute_smd_triangle_vertices.rst b/doc/src/compute_smd_triangle_vertices.rst index 0f2f1cdd45..9f478b7262 100644 --- a/doc/src/compute_smd_triangle_vertices.rst +++ b/doc/src/compute_smd_triangle_vertices.rst @@ -34,7 +34,7 @@ Output info This compute returns a per-particle vector of vectors, which can be accessed by any command that uses per-particle values from a compute -as input. See the :doc:`Howto output ` doc page for an +as input. See the :doc:`Howto output ` page for an overview of LAMMPS output options. The per-particle vector has nine entries, (x1/y1/z1), (x2/y2/z2), and @@ -54,7 +54,7 @@ Restrictions """""""""""" This compute is part of the MACHDYN package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/compute_smd_ulsph_effm.rst b/doc/src/compute_smd_ulsph_effm.rst index 388969f4ae..4b4959fbe1 100644 --- a/doc/src/compute_smd_ulsph_effm.rst +++ b/doc/src/compute_smd_ulsph_effm.rst @@ -34,7 +34,7 @@ Output info This compute calculates a per-particle vector, which can be accessed by any command that uses per-particle values from a compute as input. -See the :doc:`Howto output ` doc page for an overview of +See the :doc:`Howto output ` page for an overview of LAMMPS output options. The per-particle vector contains the current effective per atom shear @@ -45,7 +45,7 @@ Restrictions """""""""""" This compute is part of the MACHDYN package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. This compute can +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. This compute can only be used for particles which interact with the updated Lagrangian SPH pair style. diff --git a/doc/src/compute_smd_ulsph_num_neighs.rst b/doc/src/compute_smd_ulsph_num_neighs.rst index b356b8adaa..c446c477c0 100644 --- a/doc/src/compute_smd_ulsph_num_neighs.rst +++ b/doc/src/compute_smd_ulsph_num_neighs.rst @@ -35,7 +35,7 @@ Output info This compute returns a per-particle vector, which can be accessed by any command that uses per-particle values from a compute as input. -See the :doc:`Howto output ` doc page for an overview of +See the :doc:`Howto output ` page for an overview of LAMMPS output options. The per-particle values will be given dimensionless, see :doc:`units `. @@ -44,7 +44,7 @@ Restrictions """""""""""" This compute is part of the MACHDYN package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. This compute can +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. This compute can only be used for particles which interact with the updated Lagrangian SPH pair style. diff --git a/doc/src/compute_smd_ulsph_strain.rst b/doc/src/compute_smd_ulsph_strain.rst index 5a3617fd24..31defe4b32 100644 --- a/doc/src/compute_smd_ulsph_strain.rst +++ b/doc/src/compute_smd_ulsph_strain.rst @@ -34,7 +34,7 @@ Output info This compute calculates a per-particle tensor, which can be accessed by any command that uses per-particle values from a compute as input. -See the :doc:`Howto output ` doc page for an overview of +See the :doc:`Howto output ` page for an overview of LAMMPS output options. The per-particle vector has 6 entries, corresponding to the xx, yy, @@ -47,7 +47,7 @@ Restrictions """""""""""" This compute is part of the MACHDYN package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. This compute can +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. This compute can only be used for particles which interact with the updated Lagrangian SPH pair style. diff --git a/doc/src/compute_smd_ulsph_strain_rate.rst b/doc/src/compute_smd_ulsph_strain_rate.rst index 4fe5d53936..0a2ca91081 100644 --- a/doc/src/compute_smd_ulsph_strain_rate.rst +++ b/doc/src/compute_smd_ulsph_strain_rate.rst @@ -47,7 +47,7 @@ Restrictions """""""""""" This compute is part of the MACHDYN package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. This compute can only be used for particles which interact with the updated Lagrangian SPH pair style. diff --git a/doc/src/compute_smd_ulsph_stress.rst b/doc/src/compute_smd_ulsph_stress.rst index 392b72e0fd..a993a08c06 100644 --- a/doc/src/compute_smd_ulsph_stress.rst +++ b/doc/src/compute_smd_ulsph_stress.rst @@ -47,7 +47,7 @@ Restrictions """""""""""" This compute is part of the MACHDYN package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. This compute can +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. This compute can only be used for particles which interact with the updated Lagrangian SPH pair style. diff --git a/doc/src/compute_smd_vol.rst b/doc/src/compute_smd_vol.rst index 862ed15a3e..f09c48e0ed 100644 --- a/doc/src/compute_smd_vol.rst +++ b/doc/src/compute_smd_vol.rst @@ -34,7 +34,7 @@ Output info This compute calculates a per-particle vector, which can be accessed by any command that uses per-particle values from a compute as input. -See the :doc:`Howto output ` doc page for an overview of +See the :doc:`Howto output ` page for an overview of LAMMPS output options. The per-particle vector values will be given in :doc:`units ` of @@ -47,7 +47,7 @@ Restrictions """""""""""" This compute is part of the MACHDYN package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/compute_sna_atom.rst b/doc/src/compute_sna_atom.rst index 4165c4e47a..f156133521 100644 --- a/doc/src/compute_sna_atom.rst +++ b/doc/src/compute_sna_atom.rst @@ -161,7 +161,7 @@ components summed separately for each LAMMPS atom type: -\sum_{i' \in I} \frac{\partial {B^{i'}_{j_1,j_2,j} }}{\partial {\bf r}_i} -The sum is over all atoms *i'* of atom type *I*\ . For each atom *i*\ , +The sum is over all atoms *i'* of atom type *I*\ . For each atom *i*, this compute evaluates the above expression for each direction, each atom type, and each bispectrum component. See section below on output for a detailed explanation. @@ -174,12 +174,12 @@ derivatives: -{\bf r}_i \otimes \sum_{i' \in I} \frac{\partial {B^{i'}_{j_1,j_2,j}}}{\partial {\bf r}_i} Again, the sum is over all atoms *i'* of atom type *I*\ . For each atom -*i*\ , this compute evaluates the above expression for each of the six +*i*, this compute evaluates the above expression for each of the six virial components, each atom type, and each bispectrum component. See section below on output for a detailed explanation. Compute *snap* calculates a global array containing information related -to all three of the above per-atom computes *sna/atom*\ , *snad/atom*\ , +to all three of the above per-atom computes *sna/atom*, *snad/atom*, and *snav/atom*\ . The first row of the array contains the summation of *sna/atom* over all atoms, but broken out by type. The last six rows of the array contain the summation of *snav/atom* over all atoms, broken @@ -225,7 +225,7 @@ ordered in which they are listed. The keyword *switchflag* can be used to turn off the switching function :math:`f_c(r)`. -The keyword *bzeroflag* determines whether or not *B0*\ , the bispectrum +The keyword *bzeroflag* determines whether or not *B0*, the bispectrum components of an atom with no neighbors, are subtracted from the calculated bispectrum components. This optional keyword normally only affects compute *sna/atom*\ . However, when *quadraticflag* is on, it @@ -318,7 +318,7 @@ Output info Compute *sna/atom* calculates a per-atom array, each column corresponding to a particular bispectrum component. The total number of columns and the identity of the bispectrum component contained in each -column depend of the value of *twojmax*\ , as described by the following +column depend of the value of *twojmax*, as described by the following piece of python code: .. parsed-literal:: @@ -339,15 +339,15 @@ For even twojmax = 2(*m*\ -1), :math:`K = m(m+1)(2m+1)/6`, the *m*\ -th pyramida Compute *snad/atom* evaluates a per-atom array. The columns are arranged into *ntypes* blocks, listed in order of atom type *I*\ . Each block -contains three sub-blocks corresponding to the *x*\ , *y*\ , and *z* +contains three sub-blocks corresponding to the *x*, *y*, and *z* components of the atom position. Each of these sub-blocks contains *K* columns for the *K* bispectrum components, the same as for compute *sna/atom* Compute *snav/atom* evaluates a per-atom array. The columns are arranged into *ntypes* blocks, listed in order of atom type *I*\ . Each block -contains six sub-blocks corresponding to the *xx*\ , *yy*\ , *zz*\ , -*yz*\ , *xz*\ , and *xy* components of the virial tensor in Voigt +contains six sub-blocks corresponding to the *xx*, *yy*, *zz*, +*yz*, *xz*, and *xy* components of the virial tensor in Voigt notation. Each of these sub-blocks contains *K* columns for the *K* bispectrum components, the same as for compute *sna/atom* @@ -363,7 +363,7 @@ appear in the following order: * 6 rows: *snav/atom* quantities summed for all atoms of type *I* For example, if *K* =30 and ntypes=1, the number of columns in the -per-atom arrays generated by *sna/atom*\ , *snad/atom*\ , and +per-atom arrays generated by *sna/atom*, *snad/atom*, and *snav/atom* are 30, 90, and 180, respectively. With *quadratic* value=1, the numbers of columns are 930, 2790, and 5580, respectively. The number of columns in the global array generated by *snap* are 31, and @@ -372,11 +372,11 @@ is the total number of atoms. If the *quadratic* keyword value is set to 1, then additional columns are generated, corresponding to the products of all distinct pairs of -bispectrum components. If the number of bispectrum components is *K*\ , +bispectrum components. If the number of bispectrum components is *K*, then the number of distinct pairs is *K*\ (\ *K*\ +1)/2. For compute *sna/atom* these columns are appended to existing *K* columns. The ordering of quadratic terms is upper-triangular, (1,1),(1,2)...(1,\ *K*\ -),(2,1)...(\ *K*\ -1,\ *K*\ -1),(\ *K*\ -1,\ *K*\ ),(\ *K*\ ,\ *K*\ ). +),(2,1)...(\ *K*\ -1,\ *K*\ -1),(\ *K*\ -1,\ *K*\ ),(\ *K*,\ *K*\ ). For computes *snad/atom* and *snav/atom* each set of *K*\ (\ *K*\ +1)/2 additional columns is inserted directly after each of sub-block of linear terms i.e. linear and quadratic terms are contiguous. So the @@ -402,7 +402,7 @@ Restrictions These computes are part of the ML-SNAP package. They are only enabled if LAMMPS was built with that package. See the :doc:`Build package -` doc page for more info. +` page for more info. Related commands """""""""""""""" diff --git a/doc/src/compute_sph_e_atom.rst b/doc/src/compute_sph_e_atom.rst index a0410825aa..5e6706fa27 100644 --- a/doc/src/compute_sph_e_atom.rst +++ b/doc/src/compute_sph_e_atom.rst @@ -41,7 +41,7 @@ Output info This compute calculates a per-atom vector, which can be accessed by any command that uses per-atom values from a compute as input. See -the :doc:`Howto output ` doc page for an overview of +the :doc:`Howto output ` page for an overview of LAMMPS output options. The per-atom vector values will be in energy :doc:`units `. @@ -50,7 +50,7 @@ Restrictions """""""""""" This compute is part of the SPH package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/compute_sph_rho_atom.rst b/doc/src/compute_sph_rho_atom.rst index a7aad3c6fa..7fcec0c9da 100644 --- a/doc/src/compute_sph_rho_atom.rst +++ b/doc/src/compute_sph_rho_atom.rst @@ -40,7 +40,7 @@ Output info This compute calculates a per-atom vector, which can be accessed by any command that uses per-atom values from a compute as input. See -the :doc:`Howto output ` doc page for an overview of +the :doc:`Howto output ` page for an overview of LAMMPS output options. The per-atom vector values will be in mass/volume :doc:`units `. @@ -49,7 +49,7 @@ Restrictions """""""""""" This compute is part of the SPH package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/compute_sph_t_atom.rst b/doc/src/compute_sph_t_atom.rst index d09a20c963..702d81027d 100644 --- a/doc/src/compute_sph_t_atom.rst +++ b/doc/src/compute_sph_t_atom.rst @@ -45,7 +45,7 @@ Output info This compute calculates a per-atom vector, which can be accessed by any command that uses per-atom values from a compute as input. See -the :doc:`Howto output ` doc page for an overview of +the :doc:`Howto output ` page for an overview of LAMMPS output options. The per-atom vector values will be in temperature :doc:`units `. @@ -54,7 +54,7 @@ Restrictions """""""""""" This compute is part of the SPH package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/compute_spin.rst b/doc/src/compute_spin.rst index aaf9d8cc74..6694da000b 100644 --- a/doc/src/compute_spin.rst +++ b/doc/src/compute_spin.rst @@ -65,7 +65,7 @@ Restrictions """""""""""" The *spin* compute is part of the SPIN package. This compute is only -enabled if LAMMPS was built with this package. See the :doc:`Build package ` doc page for more info. The atom_style +enabled if LAMMPS was built with this package. See the :doc:`Build package ` page for more info. The atom_style has to be "spin" for this compute to be valid. **Related commands:** diff --git a/doc/src/compute_stress_atom.rst b/doc/src/compute_stress_atom.rst index 0f90f9bafe..cdb464a9d0 100644 --- a/doc/src/compute_stress_atom.rst +++ b/doc/src/compute_stress_atom.rst @@ -213,7 +213,7 @@ which can be accessed by indices 1-6 by any command that uses per-atom values from a compute as input. Compute *centroid/stress/atom* produces a per-atom array with 9 columns, but otherwise can be used in an identical manner to compute *stress/atom*. See the :doc:`Howto -output ` doc page for an overview of LAMMPS output +output ` page for an overview of LAMMPS output options. The ordering of the 6 columns for *stress/atom* is as follows: xx, yy, diff --git a/doc/src/compute_stress_mop.rst b/doc/src/compute_stress_mop.rst index f02d279414..bcc1a87e5f 100644 --- a/doc/src/compute_stress_mop.rst +++ b/doc/src/compute_stress_mop.rst @@ -45,8 +45,8 @@ Description Compute *stress/mop* and compute *stress/mop/profile* define computations that calculate components of the local stress tensor using the method of planes :ref:`(Todd) `. Specifically in compute *stress/mop* calculates 3 -components are computed in directions *dir*\ ,\ *x*\ ; *dir*\ ,\ *y*\ ; and -*dir*\ ,\ *z*\ ; where *dir* is the direction normal to the plane, while +components are computed in directions *dir*,\ *x*\ ; *dir*,\ *y*\ ; and +*dir*,\ *z*\ ; where *dir* is the direction normal to the plane, while in compute *stress/mop/profile* the profile of the stress is computed. Contrary to methods based on histograms of atomic stress (i.e. using diff --git a/doc/src/compute_tally.rst b/doc/src/compute_tally.rst index 8aca53bb3c..313b54645c 100644 --- a/doc/src/compute_tally.rst +++ b/doc/src/compute_tally.rst @@ -54,7 +54,7 @@ Except for *heat/flux/virial/tally*, the two groups can be the same. This is similar to :doc:`compute group/group ` only that the data is accumulated directly during the non-bonded force computation. The -computes *force/tally*\ , *pe/tally*\ , *stress/tally*\ , and +computes *force/tally*, *pe/tally*, *stress/tally*, and *heat/flux/tally* are primarily provided as example how to program additional, more sophisticated computes using the tally callback mechanism. Compute *pe/mol/tally* is one such style, that can @@ -180,7 +180,7 @@ Restrictions """""""""""" This compute is part of the TALLY package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Not all pair styles can be evaluated in a pairwise mode as required by this compute. For example, 3-body and other many-body potentials, diff --git a/doc/src/compute_tdpd_cc_atom.rst b/doc/src/compute_tdpd_cc_atom.rst index 4c32fc448c..d12cca7591 100644 --- a/doc/src/compute_tdpd_cc_atom.rst +++ b/doc/src/compute_tdpd_cc_atom.rst @@ -37,7 +37,7 @@ Output info This compute calculates a per-atom vector, which can be accessed by any command that uses per-atom values from a compute as input. See the -:doc:`Howto output ` doc page for an overview of LAMMPS +:doc:`Howto output ` page for an overview of LAMMPS output options. The per-atom vector values will be in the units of chemical species @@ -47,7 +47,7 @@ Restrictions """""""""""" This compute is part of the DPD-MESO package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/compute_temp.rst b/doc/src/compute_temp.rst index a82046367e..3163de2272 100644 --- a/doc/src/compute_temp.rst +++ b/doc/src/compute_temp.rst @@ -63,7 +63,7 @@ LAMMPS starts up, as if this command were in the input script: See the "thermo_style" command for more details. -See the :doc:`Howto thermostat ` doc page for a +See the :doc:`Howto thermostat ` page for a discussion of different ways to compute temperature and perform thermostatting. @@ -79,7 +79,7 @@ Output info This compute calculates a global scalar (the temperature) and a global vector of length 6 (KE tensor), which can be accessed by indices 1-6. These values can be used by any command that uses global scalar or -vector values from a compute as input. See the :doc:`Howto output ` doc page for an overview of LAMMPS output +vector values from a compute as input. See the :doc:`Howto output ` page for an overview of LAMMPS output options. The scalar value calculated by this compute is "intensive". The diff --git a/doc/src/compute_temp_asphere.rst b/doc/src/compute_temp_asphere.rst index ef04cad327..815a42f76c 100644 --- a/doc/src/compute_temp_asphere.rst +++ b/doc/src/compute_temp_asphere.rst @@ -99,7 +99,7 @@ computed correctly. If needed, the subtracted degrees-of-freedom can be altered using the *extra* option of the :doc:`compute_modify ` command. -See the :doc:`Howto thermostat ` doc page for a +See the :doc:`Howto thermostat ` page for a discussion of different ways to compute temperature and perform thermostatting. @@ -129,7 +129,7 @@ Output info This compute calculates a global scalar (the temperature) and a global vector of length 6 (KE tensor), which can be accessed by indices 1-6. These values can be used by any command that uses global scalar or -vector values from a compute as input. See the :doc:`Howto output ` doc page for an overview of LAMMPS output +vector values from a compute as input. See the :doc:`Howto output ` page for an overview of LAMMPS output options. The scalar value calculated by this compute is "intensive". The @@ -142,7 +142,7 @@ Restrictions """""""""""" This compute is part of the ASPHERE package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. This compute requires that atoms store angular momentum and a quaternion as defined by the :doc:`atom_style ellipsoid ` diff --git a/doc/src/compute_temp_body.rst b/doc/src/compute_temp_body.rst index f334c1e11b..72d74d0c4a 100644 --- a/doc/src/compute_temp_body.rst +++ b/doc/src/compute_temp_body.rst @@ -79,7 +79,7 @@ computed correctly. If needed, the subtracted degrees-of-freedom can be altered using the *extra* option of the :doc:`compute_modify ` command. -See the :doc:`Howto thermostat ` doc page for a +See the :doc:`Howto thermostat ` page for a discussion of different ways to compute temperature and perform thermostatting. @@ -109,7 +109,7 @@ Output info This compute calculates a global scalar (the temperature) and a global vector of length 6 (KE tensor), which can be accessed by indices 1-6. These values can be used by any command that uses global scalar or -vector values from a compute as input. See the :doc:`Howto output ` doc page for an overview of LAMMPS output +vector values from a compute as input. See the :doc:`Howto output ` page for an overview of LAMMPS output options. The scalar value calculated by this compute is "intensive". The @@ -122,7 +122,7 @@ Restrictions """""""""""" This compute is part of the BODY package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. This compute requires that atoms store angular momentum and a quaternion as defined by the :doc:`atom_style body ` diff --git a/doc/src/compute_temp_chunk.rst b/doc/src/compute_temp_chunk.rst index f1c34b42fa..1bd5ecbb40 100644 --- a/doc/src/compute_temp_chunk.rst +++ b/doc/src/compute_temp_chunk.rst @@ -172,7 +172,7 @@ allows calculation of the global or per-chunk temperature using only the thermal temperature of atoms in each chunk after the translational kinetic energy components have been altered in a prescribed way, e.g. to remove a velocity profile. It also applies to the calculation -of the other per-chunk values, such as *kecom* or *internal*\ , which +of the other per-chunk values, such as *kecom* or *internal*, which involve the center-of-mass velocity of each chunk, which is calculated after the velocity bias is removed from each atom. Note that the temperature compute will apply its bias globally to the entire system, @@ -207,7 +207,7 @@ Output info This compute calculates a global scalar (the temperature) and a global vector of length 6 (KE tensor), which can be accessed by indices 1-6. These values can be used by any command that uses global scalar or -vector values from a compute as input. See the :doc:`Howto output ` doc page for an overview of LAMMPS output +vector values from a compute as input. See the :doc:`Howto output ` page for an overview of LAMMPS output options. This compute also optionally calculates a global array, if one or more diff --git a/doc/src/compute_temp_com.rst b/doc/src/compute_temp_com.rst index 07ae9ad648..d233029ea0 100644 --- a/doc/src/compute_temp_com.rst +++ b/doc/src/compute_temp_com.rst @@ -63,7 +63,7 @@ atoms that include these constraints will be computed correctly. If needed, the subtracted degrees-of-freedom can be altered using the *extra* option of the :doc:`compute_modify ` command. -See the :doc:`Howto thermostat ` doc page for a +See the :doc:`Howto thermostat ` page for a discussion of different ways to compute temperature and perform thermostatting. @@ -73,7 +73,7 @@ Output info This compute calculates a global scalar (the temperature) and a global vector of length 6 (KE tensor), which can be accessed by indices 1-6. These values can be used by any command that uses global scalar or -vector values from a compute as input. See the :doc:`Howto output ` doc page for an overview of LAMMPS output +vector values from a compute as input. See the :doc:`Howto output ` page for an overview of LAMMPS output options. The scalar value calculated by this compute is "intensive". The diff --git a/doc/src/compute_temp_cs.rst b/doc/src/compute_temp_cs.rst index 6b9f0a7e83..8a7fd0a3a5 100644 --- a/doc/src/compute_temp_cs.rst +++ b/doc/src/compute_temp_cs.rst @@ -30,7 +30,7 @@ Define a computation that calculates the temperature of a system based on the center-of-mass velocity of atom pairs that are bonded to each other. This compute is designed to be used with the adiabatic core/shell model of :ref:`(Mitchell and Finchham) `. See -the :doc:`Howto coreshell ` doc page for an overview of +the :doc:`Howto coreshell ` page for an overview of the model as implemented in LAMMPS. Specifically, this compute enables correct temperature calculation and thermostatting of core/shell pairs where it is desirable for the internal degrees of @@ -81,7 +81,7 @@ Thermostatting fixes that work in this way include :doc:`fix nvt `, :doc The internal energy of core/shell pairs can be calculated by the :doc:`compute temp/chunk ` command, if chunks are -defined as core/shell pairs. See the :doc:`Howto coreshell ` doc page doc page for more discussion +defined as core/shell pairs. See the :doc:`Howto coreshell ` page doc page for more discussion on how to do this. Output info diff --git a/doc/src/compute_temp_deform.rst b/doc/src/compute_temp_deform.rst index 026064000c..bc4d1ae3f3 100644 --- a/doc/src/compute_temp_deform.rst +++ b/doc/src/compute_temp_deform.rst @@ -104,7 +104,7 @@ atoms that include these constraints will be computed correctly. If needed, the subtracted degrees-of-freedom can be altered using the *extra* option of the :doc:`compute_modify ` command. -See the :doc:`Howto thermostat ` doc page for a +See the :doc:`Howto thermostat ` page for a discussion of different ways to compute temperature and perform thermostatting. @@ -114,7 +114,7 @@ Output info This compute calculates a global scalar (the temperature) and a global vector of length 6 (KE tensor), which can be accessed by indices 1-6. These values can be used by any command that uses global scalar or -vector values from a compute as input. See the :doc:`Howto output ` doc page for an overview of LAMMPS output +vector values from a compute as input. See the :doc:`Howto output ` page for an overview of LAMMPS output options. The scalar value calculated by this compute is "intensive". The diff --git a/doc/src/compute_temp_deform_eff.rst b/doc/src/compute_temp_deform_eff.rst index bff5fb3bfb..b03aa00702 100644 --- a/doc/src/compute_temp_deform_eff.rst +++ b/doc/src/compute_temp_deform_eff.rst @@ -49,7 +49,7 @@ Output info This compute calculates a global scalar (the temperature) and a global vector of length 6 (KE tensor), which can be accessed by indices 1-6. These values can be used by any command that uses global scalar or -vector values from a compute as input. See the :doc:`Howto output ` doc page for an overview of LAMMPS output +vector values from a compute as input. See the :doc:`Howto output ` page for an overview of LAMMPS output options. The scalar value calculated by this compute is "intensive". The @@ -62,7 +62,7 @@ Restrictions """""""""""" This compute is part of the EFF package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/compute_temp_drude.rst b/doc/src/compute_temp_drude.rst index 7b92198cb9..c2a0479cae 100644 --- a/doc/src/compute_temp_drude.rst +++ b/doc/src/compute_temp_drude.rst @@ -60,7 +60,7 @@ are 6. kinetic energy of the dipoles (energy units) These values can be used by any command that uses global scalar or -vector values from a compute as input. See the :doc:`Howto output ` doc page for an overview of LAMMPS output +vector values from a compute as input. See the :doc:`Howto output ` page for an overview of LAMMPS output options. Both the scalar value and the first two values of the vector diff --git a/doc/src/compute_temp_eff.rst b/doc/src/compute_temp_eff.rst index 7bd0559090..ba139dd547 100644 --- a/doc/src/compute_temp_eff.rst +++ b/doc/src/compute_temp_eff.rst @@ -74,7 +74,7 @@ atoms that include these constraints will be computed correctly. If needed, the subtracted degrees-of-freedom can be altered using the *extra* option of the :doc:`compute_modify ` command. -See the :doc:`Howto thermostat ` doc page for a +See the :doc:`Howto thermostat ` page for a discussion of different ways to compute temperature and perform thermostatting. @@ -90,7 +90,7 @@ Restrictions """""""""""" This compute is part of the EFF package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/compute_temp_partial.rst b/doc/src/compute_temp_partial.rst index fc3bfc5c88..471f3bcfd4 100644 --- a/doc/src/compute_temp_partial.rst +++ b/doc/src/compute_temp_partial.rst @@ -63,7 +63,7 @@ atoms that include these constraints will be computed correctly. If needed, the subtracted degrees-of-freedom can be altered using the *extra* option of the :doc:`compute_modify ` command. -See the :doc:`Howto thermostat ` doc page for a +See the :doc:`Howto thermostat ` page for a discussion of different ways to compute temperature and perform thermostatting. @@ -79,7 +79,7 @@ Output info This compute calculates a global scalar (the temperature) and a global vector of length 6 (KE tensor), which can be accessed by indices 1-6. These values can be used by any command that uses global scalar or -vector values from a compute as input. See the :doc:`Howto output ` doc page for an overview of LAMMPS output +vector values from a compute as input. See the :doc:`Howto output ` page for an overview of LAMMPS output options. The scalar value calculated by this compute is "intensive". The diff --git a/doc/src/compute_temp_profile.rst b/doc/src/compute_temp_profile.rst index 0fa8ce5807..b70206781f 100644 --- a/doc/src/compute_temp_profile.rst +++ b/doc/src/compute_temp_profile.rst @@ -54,14 +54,14 @@ flow, e.g. via a profile-unbiased thermostat (PUT) as described in that computes a temperature, e.g. :doc:`thermo_modify `, :doc:`fix temp/rescale `, :doc:`fix npt `, etc. -The *xflag*\ , *yflag*\ , *zflag* settings determine which components of +The *xflag*, *yflag*, *zflag* settings determine which components of average velocity are subtracted out. -The *binstyle* setting and its *Nx*\ , *Ny*\ , *Nz* arguments determine +The *binstyle* setting and its *Nx*, *Ny*, *Nz* arguments determine how bins are setup to perform spatial averaging. "Bins" can be 1d slabs, 2d pencils, or 3d bricks depending on which *binstyle* is used. The simulation box is partitioned conceptually into *Nx* by *Ny* by -*Nz* bins. Depending on the *binstyle*\ , you may only specify one or +*Nz* bins. Depending on the *binstyle*, you may only specify one or two of these values; the others are effectively set to 1 (no binning in that dimension). For non-orthogonal (triclinic) simulation boxes, the bins are "tilted" slabs or pencils or bricks that are parallel to @@ -122,13 +122,13 @@ needed, the subtracted degrees-of-freedom can be altered using the .. note:: - When using the *out* keyword with a value of *bin*\ , the + When using the *out* keyword with a value of *bin*, the calculated temperature for each bin does not include the degrees-of-freedom adjustment described in the preceding paragraph, for fixes that constrain molecular motion. It does include the adjustment due to the *extra* option, which is applied to each bin. -See the :doc:`Howto thermostat ` doc page for a +See the :doc:`Howto thermostat ` page for a discussion of different ways to compute temperature and perform thermostatting. Using this compute in conjunction with a thermostatting fix, as explained there, will effectively implement a @@ -139,7 +139,7 @@ Output info This compute calculates a global scalar (the temperature). Depending on the setting of the *out* keyword, it also calculates a global -vector or array. For *out* = *tensor*\ , it calculates a vector of +vector or array. For *out* = *tensor*, it calculates a vector of length 6 (KE tensor), which can be accessed by indices 1-6. For *out* = *bin* it calculates a global array which has 2 columns and N rows, where N is the number of bins. The first column contains the number @@ -152,7 +152,7 @@ indices ix,iy,iz = 2,3,4 would map to row M = (iz-1)\*10\*10 + (iy-1)\*10 indices are numbered from 1 to 10 in each dimension. These values can be used by any command that uses global scalar or -vector or array values from a compute as input. See the :doc:`Howto output ` doc page for an overview of LAMMPS output +vector or array values from a compute as input. See the :doc:`Howto output ` page for an overview of LAMMPS output options. The scalar value calculated by this compute is "intensive". The diff --git a/doc/src/compute_temp_ramp.rst b/doc/src/compute_temp_ramp.rst index 078ac66002..9cda8bef30 100644 --- a/doc/src/compute_temp_ramp.rst +++ b/doc/src/compute_temp_ramp.rst @@ -84,7 +84,7 @@ atoms that include these constraints will be computed correctly. If needed, the subtracted degrees-of-freedom can be altered using the *extra* option of the :doc:`compute_modify ` command. -See the :doc:`Howto thermostat ` doc page for a +See the :doc:`Howto thermostat ` page for a discussion of different ways to compute temperature and perform thermostatting. @@ -94,7 +94,7 @@ Output info This compute calculates a global scalar (the temperature) and a global vector of length 6 (KE tensor), which can be accessed by indices 1-6. These values can be used by any command that uses global scalar or -vector values from a compute as input. See the :doc:`Howto output ` doc page for an overview of LAMMPS output +vector values from a compute as input. See the :doc:`Howto output ` page for an overview of LAMMPS output options. The scalar value calculated by this compute is "intensive". The diff --git a/doc/src/compute_temp_region.rst b/doc/src/compute_temp_region.rst index 5bf80c8f09..86ae03be9b 100644 --- a/doc/src/compute_temp_region.rst +++ b/doc/src/compute_temp_region.rst @@ -77,7 +77,7 @@ If needed the number of subtracted degrees-of-freedom can be set explicitly using the *extra* option of the :doc:`compute_modify ` command. -See the :doc:`Howto thermostat ` doc page for a +See the :doc:`Howto thermostat ` page for a discussion of different ways to compute temperature and perform thermostatting. @@ -87,7 +87,7 @@ Output info This compute calculates a global scalar (the temperature) and a global vector of length 6 (KE tensor), which can be accessed by indices 1-6. These values can be used by any command that uses global scalar or -vector values from a compute as input. See the :doc:`Howto output ` doc page for an overview of LAMMPS output +vector values from a compute as input. See the :doc:`Howto output ` page for an overview of LAMMPS output options. The scalar value calculated by this compute is "intensive". The diff --git a/doc/src/compute_temp_region_eff.rst b/doc/src/compute_temp_region_eff.rst index 84baf00aaa..d6623ec02d 100644 --- a/doc/src/compute_temp_region_eff.rst +++ b/doc/src/compute_temp_region_eff.rst @@ -41,7 +41,7 @@ Output info This compute calculates a global scalar (the temperature) and a global vector of length 6 (KE tensor), which can be accessed by indices 1-6. These values can be used by any command that uses global scalar or -vector values from a compute as input. See the :doc:`Howto output ` doc page for an overview of LAMMPS output +vector values from a compute as input. See the :doc:`Howto output ` page for an overview of LAMMPS output options. The scalar value calculated by this compute is "intensive". The @@ -54,7 +54,7 @@ Restrictions """""""""""" This compute is part of the EFF package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/compute_temp_rotate.rst b/doc/src/compute_temp_rotate.rst index b4adea43bf..a0e2cb14ac 100644 --- a/doc/src/compute_temp_rotate.rst +++ b/doc/src/compute_temp_rotate.rst @@ -62,7 +62,7 @@ atoms that include these constraints will be computed correctly. If needed, the subtracted degrees-of-freedom can be altered using the *extra* option of the :doc:`compute_modify ` command. -See the :doc:`Howto thermostat ` doc page for a +See the :doc:`Howto thermostat ` page for a discussion of different ways to compute temperature and perform thermostatting. @@ -72,7 +72,7 @@ Output info This compute calculates a global scalar (the temperature) and a global vector of length 6 (KE tensor), which can be accessed by indices 1-6. These values can be used by any command that uses global scalar or -vector values from a compute as input. See the :doc:`Howto output ` doc page for an overview of LAMMPS output +vector values from a compute as input. See the :doc:`Howto output ` page for an overview of LAMMPS output options. The scalar value calculated by this compute is "intensive". The @@ -85,7 +85,7 @@ Restrictions """""""""""" This compute is part of the EXTRA-COMPUTE package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/compute_temp_sphere.rst b/doc/src/compute_temp_sphere.rst index b39bad80c0..b752719741 100644 --- a/doc/src/compute_temp_sphere.rst +++ b/doc/src/compute_temp_sphere.rst @@ -86,7 +86,7 @@ computed correctly. If needed, the subtracted degrees-of-freedom can be altered using the *extra* option of the :doc:`compute_modify ` command. -See the :doc:`Howto thermostat ` doc page for a +See the :doc:`Howto thermostat ` page for a discussion of different ways to compute temperature and perform thermostatting. @@ -116,7 +116,7 @@ Output info This compute calculates a global scalar (the temperature) and a global vector of length 6 (KE tensor), which can be accessed by indices 1-6. These values can be used by any command that uses global scalar or -vector values from a compute as input. See the :doc:`Howto output ` doc page for an overview of LAMMPS output +vector values from a compute as input. See the :doc:`Howto output ` page for an overview of LAMMPS output options. The scalar value calculated by this compute is "intensive". The diff --git a/doc/src/compute_temp_uef.rst b/doc/src/compute_temp_uef.rst index 18fc4a9fdf..782b5b9acb 100644 --- a/doc/src/compute_temp_uef.rst +++ b/doc/src/compute_temp_uef.rst @@ -39,7 +39,7 @@ Restrictions """""""""""" This fix is part of the UEF package. It is only enabled if LAMMPS -was built with that package. See the :doc:`Build package ` doc page for more info. +was built with that package. See the :doc:`Build package ` page for more info. This command can only be used when :doc:`fix nvt/uef ` or :doc:`fix npt/uef ` is active. diff --git a/doc/src/compute_ti.rst b/doc/src/compute_ti.rst index 4a2f9cca21..e377042dcf 100644 --- a/doc/src/compute_ti.rst +++ b/doc/src/compute_ti.rst @@ -42,7 +42,7 @@ Description """"""""""" Define a computation that calculates the derivative of the interaction -potential with respect to *lambda*\ , the coupling parameter used in a +potential with respect to *lambda*, the coupling parameter used in a thermodynamic integration. This derivative can be used to infer a free energy difference resulting from an alchemical simulation, as described in :ref:`Eike `. @@ -128,8 +128,8 @@ The scalar value will be in energy :doc:`units `. Restrictions """""""""""" -This compute is part of the MISC package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +This compute is part of the EXTRA-COMPUTE package. It is only enabled if +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/compute_vcm_chunk.rst b/doc/src/compute_vcm_chunk.rst index fd874998ab..190947b087 100644 --- a/doc/src/compute_vcm_chunk.rst +++ b/doc/src/compute_vcm_chunk.rst @@ -64,7 +64,7 @@ This compute calculates a global array where the number of rows = the number of chunks *Nchunk* as calculated by the specified :doc:`compute chunk/atom ` command. The number of columns = 3 for the x,y,z center-of-mass velocity coordinates of each chunk. These values can be accessed by any command that uses global array -values from a compute as input. See the :doc:`Howto output ` doc page for an overview of LAMMPS output +values from a compute as input. See the :doc:`Howto output ` page for an overview of LAMMPS output options. The array values are "intensive". The array values will be in diff --git a/doc/src/compute_viscosity_cos.rst b/doc/src/compute_viscosity_cos.rst index 880b1ff3d3..d08217a590 100644 --- a/doc/src/compute_viscosity_cos.rst +++ b/doc/src/compute_viscosity_cos.rst @@ -108,7 +108,7 @@ atoms that include these constraints will be computed correctly. If needed, the subtracted degrees-of-freedom can be altered using the *extra* option of the :doc:`compute_modify ` command. -See the :doc:`Howto thermostat ` doc page for a +See the :doc:`Howto thermostat ` page for a discussion of different ways to compute temperature and perform thermostatting. @@ -124,7 +124,7 @@ and the 7-th is the cosine-shaped velocity amplitude :math:`V`, which can be used to calculate the reciprocal viscosity, as shown in the example. These values can be used by any command that uses global scalar or vector values from a compute as input. -See the :doc:`Howto output ` doc page for an overview of LAMMPS output options. +See the :doc:`Howto output ` page for an overview of LAMMPS output options. The scalar value calculated by this compute is "intensive". The first 6 elements of vector values are "extensive", diff --git a/doc/src/compute_voronoi_atom.rst b/doc/src/compute_voronoi_atom.rst index 8998115841..a84590ff02 100644 --- a/doc/src/compute_voronoi_atom.rst +++ b/doc/src/compute_voronoi_atom.rst @@ -134,7 +134,7 @@ Voronoi cell. The 3 columns are the atom ID of the atom that owns the cell, the atom ID of the atom in the neighboring cell (or zero if the face is external), and the area of the face. The array can be accessed by any command that uses local values from a compute as -input. See the :doc:`Howto output ` doc page for an +input. See the :doc:`Howto output ` page for an overview of LAMMPS output options. More specifically, the array can be accessed by a :doc:`dump local ` command to write a file containing all the Voronoi neighbors in a system: @@ -196,7 +196,7 @@ columns. In regular dynamic tessellation mode the first column is the Voronoi volume, the second is the neighbor count, as described above (read above for the output data in case the *occupation* keyword is specified). These values can be accessed by any command that uses -per-atom values from a compute as input. See the :doc:`Howto output ` doc page for an overview of LAMMPS output +per-atom values from a compute as input. See the :doc:`Howto output ` page for an overview of LAMMPS output options. If the *peratom* keyword is set to "no", the per-atom array is still created, but it is not accessible. @@ -216,7 +216,7 @@ Voronoi cell. quantity. This effect can be eliminated by using the *peratom* keyword to turn off the production of the per-atom quantities. For the default value *yes* both quantities are produced. For the value - *no*\ , only the local array is produced. + *no*, only the local array is produced. The Voronoi cell volume will be in distance :doc:`units ` cubed. The Voronoi face area will be in distance :doc:`units ` squared. @@ -225,7 +225,7 @@ Restrictions """""""""""" This compute is part of the VORONOI package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. It also requires you have a copy of the Voro++ library built and installed on your system. See instructions on obtaining and diff --git a/doc/src/compute_xrd.rst b/doc/src/compute_xrd.rst index a0684109ea..480bee6150 100644 --- a/doc/src/compute_xrd.rst +++ b/doc/src/compute_xrd.rst @@ -224,7 +224,7 @@ Restrictions """""""""""" This compute is part of the DIFFRACTION package. It is only -enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +enabled if LAMMPS was built with that package. See the :doc:`Build package ` page for more info. The compute_xrd command does not work for triclinic cells. diff --git a/doc/src/create_atoms.rst b/doc/src/create_atoms.rst index 26da54573a..d10498baf2 100644 --- a/doc/src/create_atoms.rst +++ b/doc/src/create_atoms.rst @@ -80,7 +80,7 @@ with units = box or the *random* style. For the remainder of this doc page, a created atom or molecule is referred to as a "particle". If created particles are individual atoms, they are assigned the -specified atom *type*\ , though this can be altered via the *basis* +specified atom *type*, though this can be altered via the *basis* keyword as discussed below. If molecules are being created, the type of each atom in the created molecule is specified in the file read by the :doc:`molecule ` command, and those values are added to @@ -116,7 +116,7 @@ positions. For the *random* style, N particles are added to the system at randomly generated coordinates, which can be useful for generating an amorphous system. The particles are created one by one using the -specified random number *seed*\ , resulting in the same set of particles +specified random number *seed*, resulting in the same set of particles coordinates, independent of how many processors are being used in the simulation. If the *region-ID* argument is specified as NULL, then the created particles will be anywhere in the simulation box. If a @@ -159,7 +159,7 @@ used to remove overlapping atoms or molecules. However, you can first use the :doc:`change_box ` command to temporarily expand the box, then add atoms via create_atoms, then finally use change_box command again if needed to re-shrink-wrap the - new atoms. See the :doc:`change_box ` doc page for an + new atoms. See the :doc:`change_box ` page for an example of how to do this, using the create_atoms *single* style to insert a new atom outside the current simulation box. @@ -227,9 +227,9 @@ fashion. Which lattice sites are selected will change with the number of processors used. The *remap* keyword only applies to the *single* style. If it is set -to *yes*\ , then if the specified position is outside the simulation +to *yes*, then if the specified position is outside the simulation box, it will mapped back into the box, assuming the relevant -dimensions are periodic. If it is set to *no*\ , no remapping is done +dimensions are periodic. If it is set to *no*, no remapping is done and no particle is created if its position is outside the box. The *var* and *set* keywords can be used together to provide a @@ -288,7 +288,7 @@ determined by the rotation vector (Rx,Ry,Rz) that goes through the insertion point. The specified *theta* determines the angle of rotation around that axis. Note that the direction of rotation for the atoms around the rotation axis is consistent with the right-hand -rule: if your right-hand's thumb points along *R*\ , then your fingers +rule: if your right-hand's thumb points along *R*, then your fingers wrap around the axis in the direction of rotation. The *units* keyword determines the meaning of the distance units used diff --git a/doc/src/create_bonds.rst b/doc/src/create_bonds.rst index 056b60c7aa..664d870cb0 100644 --- a/doc/src/create_bonds.rst +++ b/doc/src/create_bonds.rst @@ -105,7 +105,7 @@ data file for a complex system of molecules. The *many* style will create bonds between pairs of atoms I,J where I is in one of the two specified groups, and J is in the other. The two groups can be the same, e.g. group "all". The created bonds will be -of bond type *btype*\ , where *btype* must be a value between 1 and the +of bond type *btype*, where *btype* must be a value between 1 and the number of bond types defined. For a bond to be created, an I,J pair of atoms must be a distance D @@ -156,7 +156,7 @@ two atoms with IDs *batom1* and *batom2*\ . *Btype* must be a value between 1 and the number of bond types defined. The *single/angle* style creates a single angle of type *atype* -between three atoms with IDs *aatom1*\ , *aatom2*\ , and *aatom3*\ . The +between three atoms with IDs *aatom1*, *aatom2*, and *aatom3*\ . The ordering of the atoms is the same as in the *Angles* section of a data file read by the :doc:`read_data ` command. I.e. the 3 atoms are ordered linearly within the angle; the central atom is *aatom2*\ . @@ -164,14 +164,14 @@ ordered linearly within the angle; the central atom is *aatom2*\ . defined. The *single/dihedral* style creates a single dihedral of type *dtype* -between four atoms with IDs *datom1*\ , *datom2*\ , *datom3*\ , and *datom4*\ . The +between four atoms with IDs *datom1*, *datom2*, *datom3*, and *datom4*\ . The ordering of the atoms is the same as in the *Dihedrals* section of a data file read by the :doc:`read_data ` command. I.e. the 4 atoms are ordered linearly within the dihedral. *dtype* must be a value between 1 and the number of dihedral types defined. The *single/improper* style creates a single improper of type *itype* -between four atoms with IDs *iatom1*\ , *iatom2*\ , *iatom3*\ , and *iatom4*\ . The +between four atoms with IDs *iatom1*, *iatom2*, *iatom3*, and *iatom4*\ . The ordering of the atoms is the same as in the *Impropers* section of a data file read by the :doc:`read_data ` command. I.e. the 4 atoms are ordered linearly within the improper. *itype* must be a value between 1 and diff --git a/doc/src/create_box.rst b/doc/src/create_box.rst index 9b7b5a1a65..aa01be43cd 100644 --- a/doc/src/create_box.rst +++ b/doc/src/create_box.rst @@ -49,11 +49,11 @@ changed by the :doc:`balance ` or :doc:`fix balance ` comm The argument N is the number of atom types that will be used in the simulation. -If the region is not of style *prism*\ , then LAMMPS encloses the region +If the region is not of style *prism*, then LAMMPS encloses the region (block, sphere, etc) with an axis-aligned orthogonal bounding box which becomes the simulation domain. -If the region is of style *prism*\ , LAMMPS creates a non-orthogonal +If the region is of style *prism*, LAMMPS creates a non-orthogonal simulation domain shaped as a parallelepiped with triclinic symmetry. As defined by the :doc:`region prism ` command, the parallelepiped has its "origin" at (xlo,ylo,zlo) and is defined by 3 @@ -76,7 +76,7 @@ factors that exceed these limits, you can use the :doc:`box tilt ` command, with a setting of *large*\ ; a setting of *small* is the default. -See the :doc:`Howto triclinic ` doc page for a +See the :doc:`Howto triclinic ` page for a geometric description of triclinic boxes, as defined by LAMMPS, and how to transform these parameters to and from other commonly used triclinic representations. diff --git a/doc/src/delete_atoms.rst b/doc/src/delete_atoms.rst index 127518535f..d47743071b 100644 --- a/doc/src/delete_atoms.rst +++ b/doc/src/delete_atoms.rst @@ -52,9 +52,9 @@ Delete the specified atoms. This command can be used to carve out voids from a block of material or to delete created atoms that are too close to each other (e.g. at a grain boundary). -For style *group*\ , all atoms belonging to the group are deleted. +For style *group*, all atoms belonging to the group are deleted. -For style *region*\ , all atoms in the region volume are deleted. +For style *region*, all atoms in the region volume are deleted. Additional atoms can be deleted if they are in a molecule for which one or more atoms were deleted within the region; see the *mol* keyword discussion below. @@ -83,7 +83,7 @@ randomly. There is no guarantee that the exact fraction of atoms will be deleted, or that the same atoms will be deleted when running on different numbers of processors. -If the *compress* keyword is set to *yes*\ , then after atoms are +If the *compress* keyword is set to *yes*, then after atoms are deleted, then atom IDs are re-assigned so that they run from 1 to the number of atoms in the system. Note that this is not done for molecular systems (see the :doc:`atom_style ` command), @@ -117,7 +117,7 @@ atoms. Note that simply deleting interactions due to dangling bonds (e.g. at a surface) may result in a inaccurate or invalid model for the remaining atoms. -It the *mol* keyword is set to *yes*\ , then for every atom that is +It the *mol* keyword is set to *yes*, then for every atom that is deleted, all other atoms in the same molecule (with the same molecule ID) will also be deleted. This is not done for atoms with molecule ID = 0, since such an ID is assumed to flag isolated atoms that are not diff --git a/doc/src/delete_bonds.rst b/doc/src/delete_bonds.rst index ffb06e55b2..5603214b2f 100644 --- a/doc/src/delete_bonds.rst +++ b/doc/src/delete_bonds.rst @@ -52,7 +52,7 @@ For all styles, by default, an interaction is only turned off (or on) if all the atoms involved are in the specified group. See the *any* keyword to change the behavior. -Several of the styles (\ *atom*\ , *bond*\ , *angle*\ , *dihedral*\ , +Several of the styles (\ *atom*, *bond*, *angle*, *dihedral*, *improper*\ ) take a *type* as an argument. The specified *type* should be an integer from 0 to N, where N is the number of relevant types (atom types, bond types, etc). A value of 0 is only relevant for @@ -73,11 +73,11 @@ Style *atom* is the same as style *multi* except that in addition, one or more of the atoms involved in the bond, angle, dihedral, or improper interaction must also be of the specified atom type. -For style *bond*\ , only bonds are candidates for turn-off, and the bond -must also be of the specified type. Styles *angle*\ , *dihedral*\ , and +For style *bond*, only bonds are candidates for turn-off, and the bond +must also be of the specified type. Styles *angle*, *dihedral*, and *improper* are treated similarly. -For style *bond*\ , you can set the type to 0 to delete bonds that have +For style *bond*, you can set the type to 0 to delete bonds that have been previously broken by a bond-breaking potential (which sets the bond type to 0 when a bond is broken); e.g. see the :doc:`bond_style quartic ` command. @@ -108,7 +108,7 @@ keyword is used). The *undo* keyword inverts the delete_bonds command so that the specified bonds, angles, etc are turned on if they are currently turned off. This means a negative value is toggled to positive. For -example, for style *angle*\ , if *type* is specified as 2, then all +example, for style *angle*, if *type* is specified as 2, then all angles with current type = -2, are reset to type = 2. Note that the :doc:`fix shake ` command also sets bond and angle types negative, so this option should not be used on those interactions. diff --git a/doc/src/dihedral_charmm.rst b/doc/src/dihedral_charmm.rst index 9588cf8272..cc792693a2 100644 --- a/doc/src/dihedral_charmm.rst +++ b/doc/src/dihedral_charmm.rst @@ -107,7 +107,7 @@ i.e. within the outer cutoff specified for the pair style. The :doc:`pair_style lj/charmmfsw/coul/long ` commands. Use the *charmm* style with the older :doc:`pair_style ` commands that have just "charmm" in their style name. See the -discussion on the :doc:`CHARMM pair_style ` doc page for +discussion on the :doc:`CHARMM pair_style ` page for details. Note that for AMBER force fields, which use pair styles with "lj/cut", diff --git a/doc/src/dihedral_helix.rst b/doc/src/dihedral_helix.rst index 89258cff35..cd5bed7cd2 100644 --- a/doc/src/dihedral_helix.rst +++ b/doc/src/dihedral_helix.rst @@ -59,7 +59,7 @@ Restrictions """""""""""" This dihedral style can only be used if LAMMPS was built with the -MOLECULE package. See the :doc:`Build package ` doc page +EXTRA-MOLECULE package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/dihedral_hybrid.rst b/doc/src/dihedral_hybrid.rst index c0a803755d..add0d4d282 100644 --- a/doc/src/dihedral_hybrid.rst +++ b/doc/src/dihedral_hybrid.rst @@ -58,7 +58,7 @@ for specifying additional AngleTorsion (and EndBondTorsion, etc) coefficients either via the input script or in the data file. I.e. *class2* must be added to each line after the dihedral type. For lines in the AngleTorsion (or EndBondTorsion, etc) section of the data -file for dihedral types that are not *class2*\ , you must use an +file for dihedral types that are not *class2*, you must use an dihedral style of *skip* as a placeholder, e.g. .. parsed-literal:: diff --git a/doc/src/dihedral_style.rst b/doc/src/dihedral_style.rst index 4301824b40..f037d95226 100644 --- a/doc/src/dihedral_style.rst +++ b/doc/src/dihedral_style.rst @@ -93,7 +93,7 @@ command. There are also additional accelerated pair styles included in the LAMMPS distribution for faster performance on CPUs, GPUs, and KNLs. -The individual style names on the :ref:`Commands dihedral ` doc page are followed by one or +The individual style names on the :ref:`Commands dihedral ` page are followed by one or more of (g,i,k,o,t) to indicate which accelerated styles exist. * :doc:`none ` - turn off dihedral interactions @@ -124,7 +124,7 @@ Dihedral styles can only be set for atom styles that allow dihedrals to be defined. Most dihedral styles are part of the MOLECULE package. They are only -enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. The doc pages for +enabled if LAMMPS was built with that package. See the :doc:`Build package ` page for more info. The doc pages for individual dihedral potentials tell if it is part of a package. Related commands diff --git a/doc/src/dimension.rst b/doc/src/dimension.rst index be711815a6..d22d3f19fa 100644 --- a/doc/src/dimension.rst +++ b/doc/src/dimension.rst @@ -28,7 +28,7 @@ prior to setting up a simulation box via the :doc:`create_box ` or :doc:`read_data ` commands. Restart files also store this setting. -See the discussion on the :doc:`Howto 2d ` doc page for +See the discussion on the :doc:`Howto 2d ` page for additional instructions on how to run 2d simulations. .. note:: diff --git a/doc/src/displace_atoms.rst b/doc/src/displace_atoms.rst index efc6f9230b..9916126dad 100644 --- a/doc/src/displace_atoms.rst +++ b/doc/src/displace_atoms.rst @@ -93,7 +93,7 @@ The *rotate* style rotates each atom in the group by the angle *theta* around a rotation axis *R* = (Rx,Ry,Rz) that goes through a point *P* = (Px,Py,Pz). The direction of rotation for the atoms around the rotation axis is consistent with the right-hand rule: if your -right-hand thumb points along *R*\ , then your fingers wrap around the +right-hand thumb points along *R*, then your fingers wrap around the axis in the direction of positive theta. If the defined :doc:`atom_style ` assigns an orientation to diff --git a/doc/src/dump.rst b/doc/src/dump.rst index a5f11a792a..5bdf38fd4e 100644 --- a/doc/src/dump.rst +++ b/doc/src/dump.rst @@ -52,7 +52,7 @@ Syntax *cfg/gz* args = same as *custom* args, see below *cfg/zstd* args = same as *custom* args, see below *cfg/mpiio* args = same as *custom* args, see below - *custom*\ , *custom/gz*\ , *custom/zstd* , *custom/mpiio* args = see below + *custom*, *custom/gz*, *custom/zstd*, *custom/mpiio* args = see below *custom/adios* args = same as *custom* args, discussed on :doc:`dump custom/adios ` doc page *dcd* args = none *h5md* args = discussed on :doc:`dump h5md ` doc page @@ -185,12 +185,12 @@ or multiple smaller files). parallel, because data for a single snapshot is collected from multiple processors, each of which owns a subset of the atoms. -For the *atom*\ , *custom*\ , *cfg*\ , and *local* styles, sorting is off by -default. For the *dcd*\ , *xtc*\ , *xyz*\ , and *molfile* styles, sorting by +For the *atom*, *custom*, *cfg*, and *local* styles, sorting is off by +default. For the *dcd*, *xtc*, *xyz*, and *molfile* styles, sorting by atom ID is on by default. See the :doc:`dump_modify ` doc page for details. -The *atom/gz*\ , *cfg/gz*\ , *custom/gz*\ , *local/gz*, and *xyz/gz* styles are identical +The *atom/gz*, *cfg/gz*, *custom/gz*, *local/gz*, and *xyz/gz* styles are identical in command syntax to the corresponding styles without "gz", however, they generate compressed files using the zlib library. Thus the filename suffix ".gz" is mandatory. This is an alternative approach to writing @@ -201,13 +201,13 @@ For the remainder of this doc page, you should thus consider the *atom* and *atom/gz* styles (etc) to be inter-changeable, with the exception of the required filename suffix. -Similarly, the *atom/zstd*\ , *cfg/zstd*\ , *custom/zstd*\ , *local/zstd*, +Similarly, the *atom/zstd*, *cfg/zstd*, *custom/zstd*, *local/zstd*, and *xyz/zstd* styles are identical to the gz styles, but use the Zstd compression library instead and require the ".zst" suffix. See the -:doc:`dump_modify ` doc page for details on how to control +:doc:`dump_modify ` page for details on how to control the compression level in both variants. -As explained below, the *atom/mpiio*\ , *cfg/mpiio*\ , *custom/mpiio*\ , and +As explained below, the *atom/mpiio*, *cfg/mpiio*, *custom/mpiio*, and *xyz/mpiio* styles are identical in command syntax and in the format of the dump files they create, to the corresponding styles without "mpiio", except the single dump file they produce is written in @@ -227,13 +227,13 @@ file and in what format. Settings made via the :doc:`dump_modify ` command can also alter the format of individual values and the file itself. -The *atom*\ , *local*\ , and *custom* styles create files in a simple text +The *atom*, *local*, and *custom* styles create files in a simple text format that is self-explanatory when viewing a dump file. Some of the LAMMPS post-processing tools described on the :doc:`Tools ` doc page, including `Pizza.py `_, work with this format, as does the :doc:`rerun ` command. -For post-processing purposes the *atom*\ , *local*\ , and *custom* text +For post-processing purposes the *atom*, *local*, and *custom* text files are self-describing in the following sense. The dimensions of the simulation box are included in each snapshot. @@ -272,7 +272,7 @@ This bounding box is convenient for many visualization programs. The meaning of the 6 character flags for "xx yy zz" is the same as above. Note that the first two numbers on each line are now xlo_bound instead -of xlo, etc, since they represent a bounding box. See the :doc:`Howto triclinic ` doc page for a geometric description +of xlo, etc, since they represent a bounding box. See the :doc:`Howto triclinic ` page for a geometric description of triclinic boxes, as defined by LAMMPS, simple formulas for how the 6 bounding box extents (xlo_bound,xhi_bound,etc) are calculated from the triclinic parameters, and how to transform those parameters to and @@ -283,7 +283,7 @@ the per-atom lines that follow. For example, the descriptors would be "id type xs ys zs" for the default *atom* style, and would be the atom attributes you specify in the dump command for the *custom* style. -For style *atom*\ , atom coordinates are written to the file, along with +For style *atom*, atom coordinates are written to the file, along with the atom ID and atom type. By default, atom coords are written in a scaled format (from 0 to 1). I.e. an x value of 0.25 means the atom is at a location 1/4 of the distance from xlo to xhi of the box @@ -295,13 +295,13 @@ Style *custom* allows you to specify a list of atom attributes to be written to the dump file for each atom. Possible attributes are listed above and will appear in the order specified. You cannot specify a quantity that is not defined for a particular simulation - -such as *q* for atom style *bond*\ , since that atom style does not +such as *q* for atom style *bond*, since that atom style does not assign charges. Dumps occur at the very end of a timestep, so atom attributes will include effects due to fixes that are applied during the timestep. An explanation of the possible dump custom attributes is given below. -For style *local*\ , local output generated by :doc:`computes ` +For style *local*, local output generated by :doc:`computes ` and :doc:`fixes ` is used to generate lines of output that is written to the dump file. This local data is typically calculated by each processor based on the atoms it owns, but there may be zero or @@ -326,7 +326,7 @@ explicitly in the file). Any remaining attributes will be stored as want to use the :doc:`dump_modify element ` command with CFG-formatted files, to associate element names with atom types, so that AtomEye can render atoms appropriately. When unwrapped -coordinates *xsu*\ , *ysu*\ , and *zsu* are requested, the nominal AtomEye +coordinates *xsu*, *ysu*, and *zsu* are requested, the nominal AtomEye periodic cell dimensions are expanded by a large factor UNWRAPEXPAND = 10.0, which ensures atoms that are displayed correctly for up to UNWRAPEXPAND/2 periodic boundary crossings in any direction. Beyond @@ -374,7 +374,7 @@ from using the (numerical) atom type to an element name (or some other label). This will help many visualization programs to guess bonds and colors. -Note that *atom*\ , *custom*\ , *dcd*\ , *xtc*\ , and *xyz* style dump files +Note that *atom*, *custom*, *dcd*, *xtc*, and *xyz* style dump files can be read directly by `VMD `_, a popular molecular viewing program. @@ -417,7 +417,7 @@ with the processor ID from 0 to P-1. For example, tmp.dump.% becomes tmp.dump.0, tmp.dump.1, ... tmp.dump.P-1, etc. This creates smaller files and can be a fast mode of output on parallel machines that support parallel I/O for output. This option is not available for the -*dcd*\ , *xtc*\ , and *xyz* styles. +*dcd*, *xtc*, and *xyz* styles. By default, P = the number of processors meaning one file per processor, but P can be set to a smaller value via the *nfile* or @@ -428,7 +428,7 @@ when running on large numbers of processors. Note that using the "\*" and "%" characters together can produce a large number of small dump files! -For the *atom/mpiio*\ , *cfg/mpiio*\ , *custom/mpiio*\ , and *xyz/mpiio* +For the *atom/mpiio*, *cfg/mpiio*, *custom/mpiio*, and *xyz/mpiio* styles, a single dump file is written in parallel via the MPI-IO library, which is part of the MPI standard for versions 2.0 and above. Using MPI-IO requires two steps. First, build LAMMPS with its MPIIO @@ -474,7 +474,7 @@ styles. ---------- Note that in the discussion which follows, for styles which can -reference values from a compute or fix, like the *custom*\ , *cfg*\ , or +reference values from a compute or fix, like the *custom*, *cfg*, or *local* styles, the bracketed index I can be specified using a wildcard asterisk with the index to effectively specify multiple values. This takes the form "\*" or "\*n" or "n\*" or "m\*n". If N = the @@ -557,8 +557,8 @@ the distance and energy of each bond: This section explains the atom attributes that can be specified as part of the *custom* and *cfg* styles. -The *id*\ , *mol*\ , *proc*\ , *procp1*\ , *type*\ , *element*\ , *mass*\ , *vx*\ , -*vy*\ , *vz*\ , *fx*\ , *fy*\ , *fz*\ , *q* attributes are self-explanatory. +The *id*, *mol*, *proc*, *procp1*, *type*, *element*, *mass*, *vx*, +*vy*, *vz*, *fx*, *fy*, *fz*, *q* attributes are self-explanatory. *Id* is the atom ID. *Mol* is the molecule ID, included in the data file for molecular systems. *Proc* is the ID of the processor (0 to @@ -568,31 +568,31 @@ for coloring atoms in a visualization program. *Type* is the atom type (1 to Ntypes). *Element* is typically the chemical name of an element, which you must assign to each type via the :doc:`dump_modify element ` command. More generally, it can be any string you wish to associated with an atom type. *Mass* is the atom -mass. *Vx*\ , *vy*\ , *vz*\ , *fx*\ , *fy*\ , *fz*\ , and *q* are components of +mass. *Vx*, *vy*, *vz*, *fx*, *fy*, *fz*, and *q* are components of atom velocity and force and atomic charge. -There are several options for outputting atom coordinates. The *x*\ , -*y*\ , *z* attributes write atom coordinates "unscaled", in the +There are several options for outputting atom coordinates. The *x*, +*y*, *z* attributes write atom coordinates "unscaled", in the appropriate distance :doc:`units ` (Angstroms, sigma, etc). Use -*xs*\ , *ys*\ , *zs* if you want the coordinates "scaled" to the box size, +*xs*, *ys*, *zs* if you want the coordinates "scaled" to the box size, so that each value is 0.0 to 1.0. If the simulation box is triclinic (tilted), then all atom coords will still be between 0.0 and 1.0. I.e. actual unscaled (x,y,z) = xs\*A + ys\*B + zs\*C, where (A,B,C) are the non-orthogonal vectors of the simulation box edges, as discussed on the :doc:`Howto triclinic ` doc page. -Use *xu*\ , *yu*\ , *zu* if you want the coordinates "unwrapped" by the +Use *xu*, *yu*, *zu* if you want the coordinates "unwrapped" by the image flags for each atom. Unwrapped means that if the atom has passed through a periodic boundary one or more times, the value is printed for what the coordinate would be if it had not been wrapped -back into the periodic box. Note that using *xu*\ , *yu*\ , *zu* means +back into the periodic box. Note that using *xu*, *yu*, *zu* means that the coordinate values may be far outside the box bounds printed -with the snapshot. Using *xsu*\ , *ysu*\ , *zsu* is similar to using -*xu*\ , *yu*\ , *zu*\ , except that the unwrapped coordinates are scaled by +with the snapshot. Using *xsu*, *ysu*, *zsu* is similar to using +*xu*, *yu*, *zu*, except that the unwrapped coordinates are scaled by the box size. Atoms that have passed through a periodic boundary will have the corresponding coordinate increased or decreased by 1.0. -The image flags can be printed directly using the *ix*\ , *iy*\ , *iz* +The image flags can be printed directly using the *ix*, *iy*, *iz* attributes. For periodic dimensions, they specify which image of the simulation box the atom is considered to be in. An image of 0 means it is inside the box as defined. A value of 2 means add 2 box lengths @@ -600,7 +600,7 @@ to get the true value. A value of -1 means subtract 1 box length to get the true value. LAMMPS updates these flags as atoms cross periodic boundaries during the simulation. -The *mux*\ , *muy*\ , *muz* attributes are specific to dipolar systems +The *mux*, *muy*, *muz* attributes are specific to dipolar systems defined with an atom style of *dipole*\ . They give the orientation of the atom's point dipole moment. The *mu* attribute gives the magnitude of the atom's dipole moment. @@ -609,15 +609,15 @@ The *radius* and *diameter* attributes are specific to spherical particles that have a finite size, such as those defined with an atom style of *sphere*\ . -The *omegax*\ , *omegay*\ , and *omegaz* attributes are specific to +The *omegax*, *omegay*, and *omegaz* attributes are specific to finite-size spherical particles that have an angular velocity. Only certain atom styles, such as *sphere* define this quantity. -The *angmomx*\ , *angmomy*\ , and *angmomz* attributes are specific to +The *angmomx*, *angmomy*, and *angmomz* attributes are specific to finite-size aspherical particles that have an angular momentum. Only the *ellipsoid* atom style defines this quantity. -The *tqx*\ , *tqy*\ , *tqz* attributes are for finite-size particles that +The *tqx*, *tqy*, *tqz* attributes are for finite-size particles that can sustain a rotational torque due to interactions with other particles. @@ -673,7 +673,7 @@ The *d_name* and *i_name* attributes allow to output custom per atom floating point or integer properties that are managed by :doc:`fix property/atom `. -See the :doc:`Modify ` doc page for information on how to add +See the :doc:`Modify ` page for information on how to add new compute and fix styles to LAMMPS to calculate per-atom quantities which could then be output into dump files. @@ -684,20 +684,20 @@ Restrictions To write gzipped dump files, you must either compile LAMMPS with the -DLAMMPS_GZIP option or use the styles from the COMPRESS package. -See the :doc:`Build settings ` doc page for details. +See the :doc:`Build settings ` page for details. -The *atom/gz*\ , *cfg/gz*\ , *custom/gz*\ , and *xyz/gz* styles are part of +The *atom/gz*, *cfg/gz*, *custom/gz*, and *xyz/gz* styles are part of the COMPRESS package. They are only enabled if LAMMPS was built with -that package. See the :doc:`Build package ` doc page for +that package. See the :doc:`Build package ` page for more info. -The *atom/mpiio*\ , *cfg/mpiio*\ , *custom/mpiio*\ , and *xyz/mpiio* styles +The *atom/mpiio*, *cfg/mpiio*, *custom/mpiio*, and *xyz/mpiio* styles are part of the MPIIO package. They are only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. The *xtc* style is part of the MISC package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/dump_adios.rst b/doc/src/dump_adios.rst index 74c8dae189..71ab6a07d9 100644 --- a/doc/src/dump_adios.rst +++ b/doc/src/dump_adios.rst @@ -66,7 +66,7 @@ its size is changing every step. The *atom/adios* and *custom/adios* dump styles are part of the ADIOS package. They are only enabled if LAMMPS was built with that package. -See the :doc:`Build package ` doc page for more info. +See the :doc:`Build package ` page for more info. ---------- diff --git a/doc/src/dump_cfg_uef.rst b/doc/src/dump_cfg_uef.rst index 9e33291880..7e95d8f30d 100644 --- a/doc/src/dump_cfg_uef.rst +++ b/doc/src/dump_cfg_uef.rst @@ -43,7 +43,7 @@ Restrictions """""""""""" This fix is part of the UEF package. It is only enabled if LAMMPS -was built with that package. See the :doc:`Build package ` doc page for more info. +was built with that package. See the :doc:`Build package ` page for more info. This command can only be used when :doc:`fix nvt/uef ` or :doc:`fix npt/uef ` is active. diff --git a/doc/src/dump_h5md.rst b/doc/src/dump_h5md.rst index 2f66e2863b..202d5fb89d 100644 --- a/doc/src/dump_h5md.rst +++ b/doc/src/dump_h5md.rst @@ -32,7 +32,7 @@ Syntax Note that at least one element must be specified and image may only be present if position is specified first. -For the elements *position*\ , *velocity*\ , *force* and *species*\ , a +For the elements *position*, *velocity*, *force* and *species*, a sub-interval may be specified to write the data only every N_element iterations of the dump (i.e. every N\*N_element time steps). This is specified by this option directly following the element declaration: @@ -66,7 +66,7 @@ another particle group must specify *create_group yes*. .. _h5md: http://nongnu.org/h5md/ -Each data element is written every N\*N_element steps. For *image*\ , no +Each data element is written every N\*N_element steps. For *image*, no sub-interval is needed as it must be present at the same interval as *position*\ . *image* must be given after *position* in any case. The box information (edges in each dimension) is stored at the same @@ -107,8 +107,8 @@ note above). Only orthogonal domains are currently supported. This is a limitation of the present dump h5md command and not of H5MD itself. The *h5md* dump style is part of the H5MD package. It is only -enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. It also requires -(i) building the ch5md library provided with LAMMPS (See the :doc:`Build package ` doc page for more info.) and (ii) having +enabled if LAMMPS was built with that package. See the :doc:`Build package ` page for more info. It also requires +(i) building the ch5md library provided with LAMMPS (See the :doc:`Build package ` page for more info.) and (ii) having the `HDF5 `_ library installed (C bindings are sufficient) on your system. The library ch5md is compiled with the h5cc wrapper provided by the HDF5 library. diff --git a/doc/src/dump_image.rst b/doc/src/dump_image.rst index 3923d5c2dc..f54b69321b 100644 --- a/doc/src/dump_image.rst +++ b/doc/src/dump_image.rst @@ -153,7 +153,7 @@ framerate can be set using the :doc:`dump_modify ` command. To write out JPEG and PNG format files, you must build LAMMPS with support for the corresponding JPEG or PNG library. To convert images into movies, LAMMPS has to be compiled with the -DLAMMPS_FFMPEG -flag. See the :doc:`Build settings ` doc page for +flag. See the :doc:`Build settings ` page for details. .. note:: @@ -261,7 +261,7 @@ The *atom* keyword allow you to turn off the drawing of all atoms, if the specified value is *no*\ . Note that this will not turn off the drawing of particles that are represented as lines, triangles, or bodies, as discussed below. These particles can be drawn separately -if the *line*\ , *tri*\ , or *body* keywords are used. +if the *line*, *tri*, or *body* keywords are used. The *adiam* keyword allows you to override the *diameter* setting to set a single numeric *size*\ . All atoms will be drawn with that @@ -318,7 +318,7 @@ The *line* keyword can be used when :doc:`atom_style line ` is used to define particles as line segments, and will draw them as lines. If this keyword is not used, such particles will be drawn as spheres, the same as if they were regular atoms. The only setting -currently allowed for the *color* value is *type*\ , which will color +currently allowed for the *color* value is *type*, which will color the lines according to the atom type of the particle. By default the mapping of types to colors is as follows: @@ -345,7 +345,7 @@ or edges (3 lines) or both, depending on the setting for *tflag*\ . If edges are drawn, the *width* setting determines the diameters of the line segments. If this keyword is not used, triangle particles will be drawn as spheres, the same as if they were regular atoms. The only -setting currently allowed for the *color* value is *type*\ , which will +setting currently allowed for the *color* value is *type*, which will color the triangles according to the atom type of the particle. By default the mapping of types to colors is as follows: @@ -367,7 +367,7 @@ is used to define body particles with internal state body style. If this keyword is not used, such particles will be drawn as spheres, the same as if they were regular atoms. -The :doc:`Howto body ` doc page describes the body styles +The :doc:`Howto body ` page describes the body styles LAMMPS currently supports, and provides more details as to the kind of body particles they represent and how they are drawn by this dump image command. For all the body styles, individual atoms can be @@ -375,10 +375,10 @@ either a body particle or a usual point (non-body) particle. Non-body particles will be drawn the same way they would be as a regular atom. The *bflag1* and *bflag2* settings are numerical values which are passed to the body style to affect how the drawing of a body particle -is done. See the :doc:`Howto body ` doc page for a +is done. See the :doc:`Howto body ` page for a description of what these parameters mean for each body style. -The only setting currently allowed for the *color* value is *type*\ , +The only setting currently allowed for the *color* value is *type*, which will color the body particles according to the atom type of the particle. By default the mapping of types to colors is as follows: @@ -399,10 +399,10 @@ objects to be drawn. The *fflag1* and *fflag2* settings are numerical values which are passed to the fix to affect how the drawing of its objects is done. -See the individual fix doc page for a description of what these +See the individual fix page for a description of what these parameters mean for a particular fix. -The only setting currently allowed for the *color* value is *type*\ , +The only setting currently allowed for the *color* value is *type*, which will color the fix objects according to their type. By default the mapping of types to colors is as follows: @@ -423,11 +423,11 @@ i.e. the number of pixels in each direction. ---------- -The *view*\ , *center*\ , *up*\ , and *zoom* values determine how +The *view*, *center*, *up*, and *zoom* values determine how 3d simulation space is mapped to the 2d plane of the image. Basically they control how the simulation box appears in the image. -All of the *view*\ , *center*\ , *up*\ , and *zoom* values can be +All of the *view*, *center*, *up*, and *zoom* values can be specified as numeric quantities, whose meaning is explained below. Any of them can also be specified as an :doc:`equal-style variable `, by using v_name as the value, where "name" is @@ -447,13 +447,13 @@ specified via variables, then the variable values should be in degrees. The *center* keyword determines the point in simulation space that -will be at the center of the image. *Cx*\ , *Cy*\ , and *Cz* are +will be at the center of the image. *Cx*, *Cy*, and *Cz* are specified as fractions of the box dimensions, so that (0.5,0.5,0.5) is the center of the simulation box. These values do not have to be between 0.0 and 1.0, if you want the simulation box to be offset from the center of the image. Note, however, that if you choose strange -values for *Cx*\ , *Cy*\ , or *Cz* you may get a blank image. Internally, -*Cx*\ , *Cy*\ , and *Cz* are converted into a point in simulation space. +values for *Cx*, *Cy*, or *Cz* you may get a blank image. Internally, +*Cx*, *Cy*, and *Cz* are converted into a point in simulation space. If *flag* is set to "s" for static, then this conversion is done once, at the time the dump command is issued. If *flag* is set to "d" for dynamic then the conversion is performed every time a new image is @@ -607,7 +607,7 @@ Play the movie: ---------- -See the :doc:`Modify ` doc page for information on how to add +See the :doc:`Modify ` page for information on how to add new compute and fix styles to LAMMPS to calculate per-atom quantities which could then be output into dump files. @@ -626,7 +626,7 @@ building LAMMPS and have the FFmpeg executable available on the machine where LAMMPS is being run. Typically it's name is lowercase, i.e. ffmpeg. -See the :doc:`Build settings ` doc page for details. +See the :doc:`Build settings ` page for details. Note that since FFmpeg is run as an external program via a pipe, LAMMPS has limited control over its execution and no knowledge about diff --git a/doc/src/dump_modify.rst b/doc/src/dump_modify.rst index a66c571dea..5fea976e70 100644 --- a/doc/src/dump_modify.rst +++ b/doc/src/dump_modify.rst @@ -152,8 +152,8 @@ Description Modify the parameters of a previously defined dump command. Not all parameters are relevant to all dump styles. -As explained on the :doc:`dump ` doc page, the *atom/mpiio*\ , -*custom/mpiio*\ , and *xyz/mpiio* dump styles are identical in command +As explained on the :doc:`dump ` doc page, the *atom/mpiio*, +*custom/mpiio*, and *xyz/mpiio* dump styles are identical in command syntax and in the format of the dump files they create, to the corresponding styles without "mpiio", except the single dump file they produce is written in parallel via the MPI-IO library. Thus if a @@ -170,9 +170,9 @@ description gives details. The *append* keyword applies to all dump styles except *cfg* and *xtc* and *dcd*\ . It also applies only to text output files, not to binary -or gzipped or image/movie files. If specified as *yes*\ , then dump +or gzipped or image/movie files. If specified as *yes*, then dump snapshots are appended to the end of an existing dump file. If -specified as *no*\ , then a new dump file will be created which will +specified as *no*, then a new dump file will be created which will overwrite an existing file with the same name. ---------- @@ -180,7 +180,7 @@ overwrite an existing file with the same name. The *at* keyword only applies to the *netcdf* dump style. It can only be used if the *append yes* keyword is also used. The *N* argument is the index of which frame to append to. A negative value can be -specified for *N*\ , which means a frame counted from the end of the +specified for *N*, which means a frame counted from the end of the file. The *at* keyword can only be used if the dump_modify command is before the first command that causes dump snapshots to be output, e.g. a :doc:`run ` or :doc:`minimize ` command. Once the @@ -188,13 +188,13 @@ dump file has been opened, this keyword has no further effect. ---------- -The *buffer* keyword applies only to dump styles *atom*\ , *cfg*\ , -*custom*\ , *local*\ , and *xyz*\ . It also applies only to text output -files, not to binary or gzipped files. If specified as *yes*\ , which +The *buffer* keyword applies only to dump styles *atom*, *cfg*, +*custom*, *local*, and *xyz*\ . It also applies only to text output +files, not to binary or gzipped files. If specified as *yes*, which is the default, then each processor writes its output into an internal text buffer, which is then sent to the processor(s) which perform file writes, and written by those processors(s) as one large chunk of text. -If specified as *no*\ , each processor sends its per-atom data in binary +If specified as *no*, each processor sends its per-atom data in binary format to the processor(s) which perform file wirtes, and those processor(s) format and write it line by line into the output file. @@ -213,16 +213,16 @@ during an equilibration phase. ---------- -The *element* keyword applies only to the dump *cfg*\ , *xyz*\ , and +The *element* keyword applies only to the dump *cfg*, *xyz*, and *image* styles. It associates element names (e.g. H, C, Fe) with LAMMPS atom types. See the list of element names at the bottom of this page. -In the case of dump *cfg*\ , this allows the `AtomEye `_ +In the case of dump *cfg*, this allows the `AtomEye `_ visualization package to read the dump file and render atoms with the appropriate size and color. -In the case of dump *image*\ , the output images will follow the same +In the case of dump *image*, the output images will follow the same `AtomEye `_ convention. An element name is specified for each atom type (1 to Ntype) in the simulation. The same element name can be given to multiple atom types. @@ -298,7 +298,7 @@ the very first timestep after the dump command is invoked. This will always occur if the current timestep is a multiple of N, the frequency specified in the :doc:`dump ` command, including timestep 0. But if this is not the case, a dump snapshot will only be written if the -setting of this keyword is *yes*\ . If it is *no*\ , which is the +setting of this keyword is *yes*\ . If it is *no*, which is the default, then it will not be written. ---------- @@ -312,7 +312,7 @@ performed with dump style *xtc*\ . ---------- The *format* keyword can be used to change the default numeric format output -by the text-based dump styles: *atom*\ , *local*\ , *custom*\ , *cfg*\ , and +by the text-based dump styles: *atom*, *local*, *custom*, *cfg*, and *xyz* styles, and their MPIIO variants. Only the *line* or *none* options can be used with the *atom* and *xyz* styles. @@ -381,7 +381,7 @@ The *fileper* keyword is documented below with the *nfile* keyword. ---------- The *image* keyword applies only to the dump *atom* style. If the -image value is *yes*\ , 3 flags are appended to each atom's coords which +image value is *yes*, 3 flags are appended to each atom's coords which are the absolute box image of the atom in each dimension. For example, an x image flag of -2 with a normalized coord of 0.5 means the atom is in the center of the box, but has passed through the box @@ -423,7 +423,7 @@ files produced, even if you run for 1000s of steps. The *nfile* or *fileper* keywords can be used in conjunction with the "%" wildcard character in the specified dump file name, for all dump -styles except the *dcd*\ , *image*\ , *movie*\ , *xtc*\ , and *xyz* styles +styles except the *dcd*, *image*, *movie*, *xtc*, and *xyz* styles (for which "%" is not allowed). As explained on the :doc:`dump ` command doc page, the "%" character causes the dump file to be written in pieces, one piece for each of P processors. By default P = the @@ -461,7 +461,7 @@ slightly outside the simulation box. This is because periodic boundary conditions are enforced only on timesteps when neighbor lists are rebuilt, which will not typically coincide with the timesteps dump snapshots are written. If the setting of this keyword is set to -*yes*\ , then all atoms will be remapped to the periodic box before the +*yes*, then all atoms will be remapped to the periodic box before the snapshot is written, then restored to their original position. If it is set to *no* they will not be. The *no* setting is the default because it requires no extra computation. @@ -475,8 +475,8 @@ nanometer accuracy, e.g. for N = 1000, the coordinates are written to ---------- -The *refresh* keyword only applies to the dump *custom*\ , *cfg*\ , -*image*\ , and *movie* styles. It allows an "incremental" dump file to +The *refresh* keyword only applies to the dump *custom*, *cfg*, +*image*, and *movie* styles. It allows an "incremental" dump file to be written, by refreshing a compute that is used as a threshold for determining which atoms are included in a dump snapshot. The specified *c_ID* gives the ID of the compute. It is prefixed by "c\_" @@ -544,8 +544,8 @@ simply do nothing. ---------- -The *region* keyword only applies to the dump *custom*\ , *cfg*\ , -*image*\ , and *movie* styles. If specified, only atoms in the region +The *region* keyword only applies to the dump *custom*, *cfg*, +*image*, and *movie* styles. If specified, only atoms in the region will be written to the dump file or included in the image/movie. Only one region can be applied as a filter (the last one specified). See the :doc:`region ` command for more details. Note that a region @@ -590,7 +590,7 @@ order. The dump *local* style cannot be sorted by atom ID, since there are typically multiple lines of output per atom. Some dump styles, such -as *dcd* and *xtc*\ , require sorting by atom ID to format the output +as *dcd* and *xtc*, require sorting by atom ID to format the output file correctly. If multiple processors are writing the dump file, via the "%" wildcard in the dump filename, then sorting cannot be performed. @@ -610,8 +610,8 @@ identical to the values specified by :doc:`thermo_style `. ---------- -The *thresh* keyword only applies to the dump *custom*\ , *cfg*\ , -*image*\ , and *movie* styles. Multiple thresholds can be specified. +The *thresh* keyword only applies to the dump *custom*, *cfg*, +*image*, and *movie* styles. Multiple thresholds can be specified. Specifying *none* turns off all threshold criteria. If thresholds are specified, only atoms whose attributes meet all the threshold criteria are written to the dump file or included in the image. The possible @@ -626,7 +626,7 @@ produce continuous numeric values or effective Boolean 0/1 values which may be useful for the comparison operator. Boolean values can be generated by variable formulas that use comparison or Boolean math operators or special functions like gmask() and rmask() and grmask(). -See the :doc:`variable ` command doc page for details. +See the :doc:`variable ` command page for details. The specified value must be a simple numeric value or the word LAST. If LAST is used, it refers to the value of the attribute the last time @@ -670,9 +670,9 @@ threshold criterion is met. Otherwise it is not met. ---------- -The *time* keyword only applies to the dump *atom*\ , *custom*\ , and -*local* styles (and their COMPRESS package versions *atom/gz*\ , -*custom/gz* and *local/gz*\ ). If set to *yes*\ , each frame will will +The *time* keyword only applies to the dump *atom*, *custom*, and +*local* styles (and their COMPRESS package versions *atom/gz*, +*custom/gz* and *local/gz*\ ). If set to *yes*, each frame will will contain two extra lines before the "ITEM: TIMESTEP" entry: .. parsed-literal:: @@ -688,9 +688,9 @@ The default setting is *no*\ . ---------- -The *units* keyword only applies to the dump *atom*\ , *custom*\ , and -*local* styles (and their COMPRESS package versions *atom/gz*\ , -*custom/gz* and *local/gz*\ ). If set to *yes*\ , each individual dump +The *units* keyword only applies to the dump *atom*, *custom*, and +*local* styles (and their COMPRESS package versions *atom/gz*, +*custom/gz* and *local/gz*\ ). If set to *yes*, each individual dump file will contain two extra lines at the very beginning with: .. parsed-literal:: @@ -706,7 +706,7 @@ The default setting is *no*\ . ---------- The *unwrap* keyword only applies to the dump *dcd* and *xtc* styles. -If set to *yes*\ , coordinates will be written "unwrapped" by the image +If set to *yes*, coordinates will be written "unwrapped" by the image flags for each atom. Unwrapped means that if the atom has passed through a periodic boundary one or more times, the value is printed for what the coordinate would be if it had not been wrapped back into the @@ -723,7 +723,7 @@ images. Some of the keywords only affect the :doc:`dump movie ` sty ---------- The *acolor* keyword can be used with the :doc:`dump image ` -command, when its atom color setting is *type*\ , to set the color that +command, when its atom color setting is *type*, to set the color that atoms of each type will be drawn in the image. The specified *type* should be an integer from 1 to Ntypes = the @@ -747,7 +747,7 @@ of the specified atom types. ---------- The *adiam* keyword can be used with the :doc:`dump image ` -command, when its atom diameter setting is *type*\ , to set the size +command, when its atom diameter setting is *type*, to set the size that atoms of each type will be drawn in the image. The specified *type* should be an integer from 1 to Ntypes. As with the *acolor* keyword, a wildcard asterisk can be used as part of the *type* @@ -776,7 +776,7 @@ There are many possible options for the color map, enabled by the *amap* keyword. Here are the details. The *lo* and *hi* settings determine the range of values allowed for -the atom attribute. If numeric values are used for *lo* and/or *hi*\ , +the atom attribute. If numeric values are used for *lo* and/or *hi*, then values that are lower/higher than that value are set to the value. I.e. the range is static. If *lo* is specified as *min* or *hi* as *max* then the range is dynamic, and the lower and/or @@ -847,7 +847,7 @@ for the color map. Here is how the entries are used to determine the color of an individual atom, given the value X of its atom attribute. The entries are scanned from first to last. The first time that *lo* <= X <= -*hi*\ , X is assigned the color associated with that entry. You can +*hi*, X is assigned the color associated with that entry. You can think of the last entry as assigning a default color (since it will always be matched by X), and the earlier entries as colors that override the default. Also note that no interpolation of a color RGB @@ -894,7 +894,7 @@ name defined by the dump_modify color option. ---------- The *bcolor* keyword can be used with the :doc:`dump image ` -command, with its *bond* keyword, when its color setting is *type*\ , to +command, with its *bond* keyword, when its color setting is *type*, to set the color that bonds of each type will be drawn in the image. The specified *type* should be an integer from 1 to Nbondtypes = the @@ -918,7 +918,7 @@ of the specified bond types. ---------- The *bdiam* keyword can be used with the :doc:`dump image ` -command, with its *bond* keyword, when its diam setting is *type*\ , to +command, with its *bond* keyword, when its diam setting is *type*, to set the diameter that bonds of each type will be drawn in the image. The specified *type* should be an integer from 1 to Nbondtypes. As with the *bcolor* keyword, a wildcard asterisk can be used as part of @@ -1024,7 +1024,7 @@ Default The option defaults are * append = no -* buffer = yes for dump styles *atom*\ , *custom*\ , *loca*\ , and *xyz* +* buffer = yes for dump styles *atom*, *custom*, *loca*, and *xyz* * element = "C" for every atom type * every = whatever it was set to via the :doc:`dump ` command * fileper = # of processors @@ -1040,8 +1040,8 @@ The option defaults are * precision = 1000 * region = none * scale = yes -* sort = off for dump styles *atom*\ , *custom*\ , *cfg*\ , and *local* -* sort = id for dump styles *dcd*\ , *xtc*\ , and *xyz* +* sort = off for dump styles *atom*, *custom*, *cfg*, and *local* +* sort = id for dump styles *dcd*, *xtc*, and *xyz* * thresh = none * units = no * unwrap = no diff --git a/doc/src/dump_molfile.rst b/doc/src/dump_molfile.rst index aa8e04b22c..c1f0b48fe6 100644 --- a/doc/src/dump_molfile.rst +++ b/doc/src/dump_molfile.rst @@ -93,7 +93,7 @@ Restrictions """""""""""" The *molfile* dump style is part of the MOLFILE package. It is -only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +only enabled if LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Molfile plugins provide a consistent programming interface to read and write file formats commonly used in molecular simulations. The diff --git a/doc/src/dump_netcdf.rst b/doc/src/dump_netcdf.rst index c14ec02871..d53a0a3b12 100644 --- a/doc/src/dump_netcdf.rst +++ b/doc/src/dump_netcdf.rst @@ -70,7 +70,7 @@ Restrictions The *netcdf* and *netcdf/mpiio* dump styles are part of the NETCDF package. They are only enabled if LAMMPS was built with -that package. See the :doc:`Build package ` doc page for +that package. See the :doc:`Build package ` page for more info. The *netcdf* and *netcdf/mpiio* dump styles currently cannot dump diff --git a/doc/src/dump_vtk.rst b/doc/src/dump_vtk.rst index 8eea1def94..8eec479292 100644 --- a/doc/src/dump_vtk.rst +++ b/doc/src/dump_vtk.rst @@ -70,7 +70,7 @@ determine the kind of output. of which owns a subset of the atoms. For the *vtk* style, sorting is off by default. See the -:doc:`dump_modify ` doc page for details. +:doc:`dump_modify ` page for details. ---------- @@ -88,7 +88,7 @@ hexahedrons in either legacy .vtk or .vtu XML format. Style *vtk* allows you to specify a list of atom attributes to be written to the dump file for each atom. The list of possible attributes is the same as for the :doc:`dump_style custom ` command; see -its doc page for a listing and an explanation of each attribute. +its page for a listing and an explanation of each attribute. .. note:: @@ -163,7 +163,7 @@ Restrictions The *vtk* style does not support writing of gzipped dump files. The *vtk* dump style is part of the VTK package. It is only -enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +enabled if LAMMPS was built with that package. See the :doc:`Build package ` page for more info. To use this dump style, you also must link to the VTK library. See the info in lib/vtk/README and insure the Makefile.lammps file in that diff --git a/doc/src/dynamical_matrix.rst b/doc/src/dynamical_matrix.rst index 8d17f0aa1e..37b9e5b4a5 100644 --- a/doc/src/dynamical_matrix.rst +++ b/doc/src/dynamical_matrix.rst @@ -65,7 +65,7 @@ for large systems. This command is part of the PHONON package. It is only enabled if LAMMPS was built with that package. -See the :doc:`Build package ` doc page for more info. +See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/fix.rst b/doc/src/fix.rst index 07a663c789..81c0c87320 100644 --- a/doc/src/fix.rst +++ b/doc/src/fix.rst @@ -34,7 +34,7 @@ positions and velocities due to time integration, controlling temperature, applying constraint forces to atoms, enforcing boundary conditions, computing diagnostics, etc. There are hundreds of fixes defined in LAMMPS and new ones can be added; see the -:doc:`Modify ` doc page for details. +:doc:`Modify ` page for details. Fixes perform their operations at different stages of the timestep. If 2 or more fixes operate at the same stage of the timestep, they are @@ -65,7 +65,7 @@ was. Note that this operation also wipes out any additional changes made to the old fix via the :doc:`fix_modify ` command. The :doc:`fix modify ` command allows settings for some -fixes to be reset. See the doc page for individual fixes for details. +fixes to be reset. See the page for individual fixes for details. Some fixes store an internal "state" which is written to binary restart files via the :doc:`restart ` or @@ -90,7 +90,7 @@ more per atoms. Note that a single fix can produce either global or per-atom or local quantities (or none at all), but not both global and per-atom. It can produce local quantities in tandem with global or per-atom quantities. -The fix doc page will explain. +The fix page will explain. Global, per-atom, and local quantities each come in three kinds: a single scalar value, a vector of values, or a 2d array of values. The @@ -136,7 +136,7 @@ In LAMMPS, the values generated by a fix can be used in several ways: command. Or the per-atom values can be referenced in an :doc:`atom-style variable `. * Local values can be reduced by the :doc:`compute reduce ` command, or histogrammed by the :doc:`fix ave/histo ` command. -See the :doc:`Howto output ` doc page for a summary of +See the :doc:`Howto output ` page for a summary of various LAMMPS output options, many of which involve fixes. The results of fixes that calculate global quantities can be either @@ -149,12 +149,12 @@ values by the number of atoms in the system, depending on the "thermo_modify norm" setting. It will not normalize intensive values. If a fix value is accessed in another way, e.g. by a :doc:`variable `, you may want to know whether it is an -intensive or extensive value. See the doc page for individual fixes +intensive or extensive value. See the page for individual fixes for further info. ---------- -Each fix style has its own doc page which describes its arguments and +Each fix style has its own page which describes its arguments and what it does, as listed below. Here is an alphabetic list of fix styles available in LAMMPS. They are also listed in more compact form on the :doc:`Commands fix ` doc page. @@ -407,7 +407,7 @@ Restrictions """""""""""" Some fix styles are part of specific packages. They are only enabled -if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. The doc pages for +if LAMMPS was built with that package. See the :doc:`Build package ` page for more info. The doc pages for individual fixes tell if it is part of a package. Related commands diff --git a/doc/src/fix_adapt.rst b/doc/src/fix_adapt.rst index 58d86f8472..b7151334db 100644 --- a/doc/src/fix_adapt.rst +++ b/doc/src/fix_adapt.rst @@ -85,19 +85,19 @@ variable that is time-dependent. Depending on the value of the *reset* keyword, attributes changed by this fix will or will not be reset back to their original values at -the end of a simulation. Even if *reset* is specified as *yes*\ , a +the end of a simulation. Even if *reset* is specified as *yes*, a restart file written during a simulation will contain the modified settings. -If the *scale* keyword is set to *no*\ , which is the default, then +If the *scale* keyword is set to *no*, which is the default, then the value of the altered parameter will be whatever the variable -generates. If the *scale* keyword is set to *yes*\ , then the value +generates. If the *scale* keyword is set to *yes*, then the value of the altered parameter will be the initial value of that parameter multiplied by whatever the variable generates. I.e. the variable is now a "scale factor" applied in (presumably) a time-varying fashion to the parameter. -Note that whether scale is *no* or *yes*\ , internally, the parameters +Note that whether scale is *no* or *yes*, internally, the parameters themselves are actually altered by this fix. Make sure you use the *reset yes* option if you want the parameters to be restored to their initial values after the run. diff --git a/doc/src/fix_adapt_fep.rst b/doc/src/fix_adapt_fep.rst index 0f669eade3..affb893117 100644 --- a/doc/src/fix_adapt_fep.rst +++ b/doc/src/fix_adapt_fep.rst @@ -84,13 +84,13 @@ variable that is time-dependent. Depending on the value of the *reset* keyword, attributes changed by this fix will or will not be reset back to their original values at -the end of a simulation. Even if *reset* is specified as *yes*\ , a +the end of a simulation. Even if *reset* is specified as *yes*, a restart file written during a simulation will contain the modified settings. -If the *scale* keyword is set to *no*\ , then the value the parameter is +If the *scale* keyword is set to *no*, then the value the parameter is set to will be whatever the variable generates. If the *scale* -keyword is set to *yes*\ , then the value of the altered parameter will +keyword is set to *yes*, then the value of the altered parameter will be the initial value of that parameter multiplied by whatever the variable generates. I.e. the variable is now a "scale factor" applied in (presumably) a time-varying fashion to the parameter. Internally, @@ -98,7 +98,7 @@ the parameters themselves are actually altered; make sure you use the *reset yes* option if you want the parameters to be restored to their initial values after the run. -If the *after* keyword is set to *yes*\ , then the parameters are +If the *after* keyword is set to *yes*, then the parameters are changed one timestep after the multiple of N. In this manner, if a fix such as "fix ave/time" is used to calculate averages at every N timesteps, all the contributions to the average will be obtained with diff --git a/doc/src/fix_addforce.rst b/doc/src/fix_addforce.rst index 0137066ff7..15f433f520 100644 --- a/doc/src/fix_addforce.rst +++ b/doc/src/fix_addforce.rst @@ -48,8 +48,8 @@ atoms in a simulation, such as for a simulation of Poiseuille flow in a channel. Any of the 3 quantities defining the force components can be specified -as an equal-style or atom-style :doc:`variable `, namely *fx*\ , -*fy*\ , *fz*\ . If the value is a variable, it should be specified as +as an equal-style or atom-style :doc:`variable `, namely *fx*, +*fy*, *fz*\ . If the value is a variable, it should be specified as v_name, where name is the variable name. In this case, the variable will be evaluated each timestep, and its value(s) used to determine the force component. @@ -98,7 +98,7 @@ one or more variables, and you are performing energy minimization via the "minimize" command. The keyword specifies the name of an atom-style :doc:`variable ` which is used to compute the energy of each atom as function of its position. Like variables used -for *fx*\ , *fy*\ , *fz*\ , the energy variable is specified as v_name, +for *fx*, *fy*, *fz*, the energy variable is specified as v_name, where name is the variable name. Note that when the *energy* keyword is used during an energy diff --git a/doc/src/fix_addtorque.rst b/doc/src/fix_addtorque.rst index e03ed2b160..4e1ca12228 100644 --- a/doc/src/fix_addtorque.rst +++ b/doc/src/fix_addtorque.rst @@ -37,8 +37,8 @@ the group such that: This command can be used to drive a group of atoms into rotation. Any of the 3 quantities defining the torque components can be specified -as an equal-style :doc:`variable `, namely *Tx*\ , -*Ty*\ , *Tz*\ . If the value is a variable, it should be specified as +as an equal-style :doc:`variable `, namely *Tx*, +*Ty*, *Tz*\ . If the value is a variable, it should be specified as v_name, where name is the variable name. In this case, the variable will be evaluated each timestep, and its value used to determine the torque component. @@ -101,7 +101,7 @@ Restrictions This fix is part of the MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package -` doc page for more info. +` page for more info. Related commands """""""""""""""" diff --git a/doc/src/fix_append_atoms.rst b/doc/src/fix_append_atoms.rst index 754183b55b..c175fa429f 100644 --- a/doc/src/fix_append_atoms.rst +++ b/doc/src/fix_append_atoms.rst @@ -31,7 +31,7 @@ Syntax seed = random number seed for langevin kicks extent = extent of thermostatted region (distance units) *random* args = xmax ymax zmax seed - *xmax*\ , *ymax*\ , *zmax* = maximum displacement in particular direction (distance units) + *xmax*, *ymax*, *zmax* = maximum displacement in particular direction (distance units) *seed* = random number seed for random displacement *units* value = *lattice* or *box* *lattice* = the wall position is defined in lattice units @@ -99,7 +99,7 @@ Restrictions """""""""""" This fix style is part of the SHOCK package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. The boundary on which atoms are added with append/atoms must be shrink/minimum. The opposite boundary may be any boundary type other diff --git a/doc/src/fix_atom_swap.rst b/doc/src/fix_atom_swap.rst index a2d365dbe2..eb56572db7 100644 --- a/doc/src/fix_atom_swap.rst +++ b/doc/src/fix_atom_swap.rst @@ -66,7 +66,7 @@ The *types* keyword is required. At least two atom types must be specified. The *ke* keyword can be set to *no* to turn off kinetic energy -conservation for swaps. The default is *yes*\ , which means that swapped +conservation for swaps. The default is *yes*, which means that swapped atoms have their velocities scaled by the ratio of the masses of the swapped atom types. This ensures that the kinetic energy of each atom is the same after the swap as it was before the swap, even though the @@ -75,12 +75,12 @@ atom masses have changed. The *semi-grand* keyword can be set to *yes* to switch to the semi-grand canonical ensemble as discussed in :ref:`(Sadigh) `. This means that the total number of each particle type does not need to be -conserved. The default is *no*\ , which means that the only kind of swap +conserved. The default is *no*, which means that the only kind of swap allowed exchanges an atom of one type with an atom of a different given type. In other words, the relative mole fractions of the swapped atoms remains constant. Whereas in the semi-grand canonical ensemble, the composition of the system can change. Note that when using -*semi-grand*\ , atoms in the fix group whose type is not listed +*semi-grand*, atoms in the fix group whose type is not listed in the *types* keyword are ineligible for attempted conversion. An attempt is made to switch the selected atom (if eligible) to one of the other listed types @@ -111,7 +111,7 @@ If not using *semi-grand* this fix checks to ensure all atoms of the given types have the same atomic charge. LAMMPS does not enforce this in general, but it is needed for this fix to simplify the swapping procedure. Successful swaps will swap the atom type and charge -of the swapped atoms. Conversely, when using *semi-grand*\ , it is assumed that all the atom +of the swapped atoms. Conversely, when using *semi-grand*, it is assumed that all the atom types involved in switches have the same charge. Otherwise, charge would not be conserved. As a consequence, no checks on atomic charges are performed, and successful switches update the atom type but not the diff --git a/doc/src/fix_ave_atom.rst b/doc/src/fix_ave_atom.rst index e506b62cfa..7719dfa7e1 100644 --- a/doc/src/fix_ave_atom.rst +++ b/doc/src/fix_ave_atom.rst @@ -89,7 +89,7 @@ command creates a per-atom array with 6 columns: ---------- -The *Nevery*\ , *Nrepeat*\ , and *Nfreq* arguments specify on what +The *Nevery*, *Nrepeat*, and *Nfreq* arguments specify on what timesteps the input values will be used in order to contribute to the average. The final averaged quantities are generated on timesteps that are a multiple of *Nfreq*\ . The average is over *Nrepeat* @@ -136,7 +136,7 @@ appended, the per-atom vector calculated by the fix is used. If a bracketed term containing an index I is appended, the Ith column of the per-atom array calculated by the fix is used. Note that some fixes only produce their values on certain timesteps, which must be -compatible with *Nevery*\ , else an error will result. Users can also +compatible with *Nevery*, else an error will result. Users can also write code for their own fix styles and :doc:`add them to LAMMPS `. See the discussion above for how I can be specified with a wildcard asterisk to effectively specify multiple values. diff --git a/doc/src/fix_ave_chunk.rst b/doc/src/fix_ave_chunk.rst index ce7fcd1fca..6d5e0b0380 100644 --- a/doc/src/fix_ave_chunk.rst +++ b/doc/src/fix_ave_chunk.rst @@ -102,7 +102,7 @@ a file. In LAMMPS, chunks are collections of atoms defined by a :doc:`compute chunk/atom ` command, which assigns each atom to a single chunk (or no chunk). The ID for this command is specified as chunkID. For example, a single chunk could be the atoms in a -molecule or atoms in a spatial bin. See the :doc:`compute chunk/atom ` doc page and the :doc:`Howto chunk ` doc page for details of how chunks can be +molecule or atoms in a spatial bin. See the :doc:`compute chunk/atom ` page and the :doc:`Howto chunk ` page for details of how chunks can be defined and examples of how they can be used to measure properties of a system. @@ -168,7 +168,7 @@ case, a per-atom array with 3 columns: ---------- -The *Nevery*\ , *Nrepeat*\ , and *Nfreq* arguments specify on what +The *Nevery*, *Nrepeat*, and *Nfreq* arguments specify on what timesteps the input values will be accessed and contribute to the average. The final averaged quantities are generated on timesteps that are a multiples of *Nfreq*\ . The average is over *Nrepeat* @@ -199,14 +199,14 @@ discussed below. remain constant for the duration of the simulation. This fix forces the chunk/atom compute specified by chunkID to hold *Nchunk* constant for the appropriate time windows, by not allowing it to re-calculate - *Nchunk*\ , which can also affect how it assigns chunk IDs to atoms. + *Nchunk*, which can also affect how it assigns chunk IDs to atoms. This is particularly important to understand if the chunks defined by the :doc:`compute chunk/atom ` command are spatial - bins. If its *units* keyword is set to *box* or *lattice*\ , then the + bins. If its *units* keyword is set to *box* or *lattice*, then the number of bins *Nchunk* and size of each bin will be fixed over the *Nfreq* time window, which can affect which atoms are discarded if the simulation box size changes. If its *units* keyword is set to - *reduced*\ , then the number of bins *Nchunk* will still be fixed, but + *reduced*, then the number of bins *Nchunk* will still be fixed, but the size of each bin can vary at each timestep if the simulation box size changes, e.g. for an NPT simulation. @@ -221,7 +221,7 @@ The *density/number* value means the number density is computed for each chunk, i.e. number/volume. The *density/mass* value means the mass density is computed for each chunk, i.e. total-mass/volume. The output values are in units of 1/volume or density (mass/volume). See -the :doc:`units ` command doc page for the definition of density +the :doc:`units ` command page for the definition of density for each choice of units, e.g. gram/cm\^3. If the chunks defined by the :doc:`compute chunk/atom ` command are spatial bins, the volume is the bin volume. Otherwise it is the volume of the @@ -280,7 +280,7 @@ appended, the per-atom vector calculated by the fix is used. If a bracketed integer is appended, the Ith column of the per-atom array calculated by the fix is used. Note that some fixes only produce their values on certain timesteps, which must be compatible with -*Nevery*\ , else an error results. Users can also write code for their +*Nevery*, else an error results. Users can also write code for their own fix styles and :doc:`add them to LAMMPS `. See the discussion above for how I can be specified with a wildcard asterisk to effectively specify multiple values. @@ -300,7 +300,7 @@ and its outputs. The *norm* keyword affects how averaging is done for the per-chunk values that are output every *Nfreq* timesteps. -It the *norm* setting is *all*\ , which is the default, a chunk value is +It the *norm* setting is *all*, which is the default, a chunk value is summed over all atoms in all *Nrepeat* samples, as is the count of atoms in the chunk. The averaged output value for the chunk on the *Nfreq* timesteps is Total-sum / Total-count. In other words it is an @@ -311,7 +311,7 @@ the final *Nfreq* timestep. For the *temp* values, degrees of freedom and kinetic energy are summed separately across the entire *Nfreq* timescale, and the output value is calculated by dividing those two sums. -If the *norm* setting is *sample*\ , the chunk value is summed over +If the *norm* setting is *sample*, the chunk value is summed over atoms for each sample, as is the count, and an "average sample value" is computed for each sample, i.e. Sample-sum / Sample-count. The output value for the chunk on the *Nfreq* timesteps is the average of @@ -322,7 +322,7 @@ values, the volume (bin volume or system volume) used in the per-sample normalization will be the current volume at each sampling step. -If the *norm* setting is *none*\ , a similar computation as for the +If the *norm* setting is *none*, a similar computation as for the *sample* setting is done, except the individual "average sample values" are "summed sample values". A summed sample value is simply the chunk value summed over atoms in the sample, without dividing by @@ -335,15 +335,15 @@ normalization will be the current volume at each sampling step. The *ave* keyword determines how the per-chunk values produced every *Nfreq* steps are averaged with values produced on previous steps that -were multiples of *Nfreq*\ , before they are accessed by another output +were multiples of *Nfreq*, before they are accessed by another output command or written to a file. -If the *ave* setting is *one*\ , which is the default, then the chunk +If the *ave* setting is *one*, which is the default, then the chunk values produced on timesteps that are multiples of *Nfreq* are independent of each other; they are output as-is without further averaging. -If the *ave* setting is *running*\ , then the chunk values produced on +If the *ave* setting is *running*, then the chunk values produced on timesteps that are multiples of *Nfreq* are summed and averaged in a cumulative sense before being output. Each output chunk value is thus the average of the chunk value produced on that timestep with all @@ -352,7 +352,7 @@ the fix is defined; it can only be restarted by deleting the fix via the :doc:`unfix ` command, or re-defining the fix by re-specifying it. -If the *ave* setting is *window*\ , then the chunk values produced on +If the *ave* setting is *window*, then the chunk values produced on timesteps that are multiples of *Nfreq* are summed and averaged within a moving "window" of time, so that the last M values for the same chunk are used to produce the output. E.g. if M = 3 and Nfreq = 1000, @@ -440,18 +440,18 @@ chunk ID of 3 may correspond to an original chunk ID or molecule ID of 415. The OrigID column will list 415 for the third chunk. The CoordN columns only appear if a *binning* style was used in the -:doc:`compute chunk/atom ` command. For *bin/1d*\ , -*bin/2d*\ , and *bin/3d* styles the column values are the center point +:doc:`compute chunk/atom ` command. For *bin/1d*, +*bin/2d*, and *bin/3d* styles the column values are the center point of the bin in the corresponding dimension. Just Coord1 is used for -*bin/1d*\ , Coord2 is added for *bin/2d*\ , Coord3 is added for *bin/3d*\ . -For *bin/sphere*\ , just Coord1 is used, and it is the radial -coordinate. For *bin/cylinder*\ , Coord1 and Coord2 are used. Coord1 +*bin/1d*, Coord2 is added for *bin/2d*, Coord3 is added for *bin/3d*\ . +For *bin/sphere*, just Coord1 is used, and it is the radial +coordinate. For *bin/cylinder*, Coord1 and Coord2 are used. Coord1 is the radial coordinate (away from the cylinder axis), and coord2 is the coordinate along the cylinder axis. -Note that if the value of the *units* keyword used in the :doc:`compute chunk/atom command ` is *box* or *lattice*\ , the +Note that if the value of the *units* keyword used in the :doc:`compute chunk/atom command ` is *box* or *lattice*, the coordinate values will be in distance :doc:`units `. If the -value of the *units* keyword is *reduced*\ , the coordinate values will +value of the *units* keyword is *reduced*, the coordinate values will be in unitless reduced units (0-1). This is not true for the Coord1 value of style *bin/sphere* or *bin/cylinder* which both represent radial dimensions. Those values are always in distance :doc:`units `. diff --git a/doc/src/fix_ave_correlate.rst b/doc/src/fix_ave_correlate.rst index 58aff114af..23086d465f 100644 --- a/doc/src/fix_ave_correlate.rst +++ b/doc/src/fix_ave_correlate.rst @@ -130,7 +130,7 @@ values. ---------- -The *Nevery*\ , *Nrepeat*\ , and *Nfreq* arguments specify on what +The *Nevery*, *Nrepeat*, and *Nfreq* arguments specify on what timesteps the input values will be used to calculate correlation data. The input values are sampled every *Nevery* timesteps. The correlation data for the preceding samples is computed on timesteps @@ -194,7 +194,7 @@ be specified with a wildcard asterisk to effectively specify multiple values. Note that some fixes only produce their values on certain timesteps, -which must be compatible with *Nevery*\ , else an error will result. +which must be compatible with *Nevery*, else an error will result. Users can also write code for their own fix styles and :doc:`add them to LAMMPS `. If a value begins with "v\_", a variable name must follow which has @@ -237,14 +237,14 @@ pair Vi(t)\*Vj(t+delta) is always the one sampled at the later time. The *ave* keyword determines what happens to the accumulation of correlation samples every *Nfreq* timesteps. If the *ave* setting is -*one*\ , then the accumulation is restarted or zeroed every *Nfreq* +*one*, then the accumulation is restarted or zeroed every *Nfreq* timesteps. Thus the outputs on successive *Nfreq* timesteps are essentially independent of each other. The exception is that the Cij(0) = Vi(T)\*Vj(T) value at a timestep T, where T is a multiple of -*Nfreq*\ , contributes to the correlation output both at time T and at +*Nfreq*, contributes to the correlation output both at time T and at time T+Nfreq. -If the *ave* setting is *running*\ , then the accumulation is never +If the *ave* setting is *running*, then the accumulation is never zeroed. Thus the output of correlation data at any timestep is the average over samples accumulated every *Nevery* steps since the fix was defined. it can only be restarted by deleting the fix via the @@ -263,7 +263,7 @@ the size of the time window or other unit conversions. The *file* keyword allows a filename to be specified. Every *Nfreq* steps, an array of correlation data is written to the file. The -number of rows is *Nrepeat*\ , as described above. The number of +number of rows is *Nrepeat*, as described above. The number of columns is the Npair+2, also as described above. Thus the file ends up to be a series of these array sections. @@ -327,19 +327,19 @@ samples contributing to the correlation average, as described above. The remaining Npair columns are for I,J pairs of the N input values, as determined by the *type* keyword, as described above. -* For *type* = *auto*\ , the Npair = N columns are ordered: C11, C22, ..., +* For *type* = *auto*, the Npair = N columns are ordered: C11, C22, ..., CNN. -* For *type* = *upper*\ , the Npair = N\*(N-1)/2 columns are ordered: C12, +* For *type* = *upper*, the Npair = N\*(N-1)/2 columns are ordered: C12, C13, ..., C1N, C23, ..., C2N, C34, ..., CN-1N. -* For *type* = *lower*\ , the Npair = N\*(N-1)/2 columns are ordered: C21, +* For *type* = *lower*, the Npair = N\*(N-1)/2 columns are ordered: C21, C31, C32, C41, C42, C43, ..., CN1, CN2, ..., CNN-1. -* For *type* = *auto/upper*\ , the Npair = N\*(N+1)/2 columns are ordered: +* For *type* = *auto/upper*, the Npair = N\*(N+1)/2 columns are ordered: C11, C12, C13, ..., C1N, C22, C23, ..., C2N, C33, C34, ..., CN-1N, CNN. -* For *type* = *auto/lower*\ , the Npair = N\*(N+1)/2 columns are ordered: +* For *type* = *auto/lower*, the Npair = N\*(N+1)/2 columns are ordered: C11, C21, C22, C31, C32, C33, C41, ..., C44, CN1, CN2, ..., CNN-1, CNN. -* For *type* = *full*\ , the Npair = N\^2 columns are ordered: C11, C12, +* For *type* = *full*, the Npair = N\^2 columns are ordered: C11, C12, ..., C1N, C21, C22, ..., C2N, C31, ..., C3N, ..., CN1, ..., CNN-1, CNN. diff --git a/doc/src/fix_ave_correlate_long.rst b/doc/src/fix_ave_correlate_long.rst index e3e118744a..a69d8f5695 100644 --- a/doc/src/fix_ave_correlate_long.rst +++ b/doc/src/fix_ave_correlate_long.rst @@ -78,18 +78,18 @@ specified values may represent calculations performed by computes and fixes which store their own "group" definitions. Each listed value can be the result of a compute or fix or the -evaluation of an equal-style variable. See the :doc:`fix ave/correlate ` doc page for details. +evaluation of an equal-style variable. See the :doc:`fix ave/correlate ` page for details. The *Nevery* and *Nfreq* arguments specify on what timesteps the input values will be used to calculate correlation data, and the frequency with which the time correlation functions will be output to a file. Note that there is no *Nrepeat* argument, unlike the :doc:`fix ave/correlate ` command. -The optional keywords *ncorr*\ , *nlen*\ , and *ncount* are unique to this +The optional keywords *ncorr*, *nlen*, and *ncount* are unique to this command and determine the number of correlation points calculated and the memory and CPU overhead used by this calculation. *Nlen* and *ncount* determine the amount of averaging done at longer correlation -times. The default values *nlen=16*\ , *ncount=2* ensure that the +times. The default values *nlen=16*, *ncount=2* ensure that the systematic error of the multiple-tau correlator is always below the level of the statistical error of a typical simulation (which depends on the ensemble size and the simulation length). @@ -128,7 +128,7 @@ Restrictions """""""""""" This compute is part of the EXTRA-FIX package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/fix_ave_histo.rst b/doc/src/fix_ave_histo.rst index 3a2857f383..05c63a6faf 100644 --- a/doc/src/fix_ave_histo.rst +++ b/doc/src/fix_ave_histo.rst @@ -100,7 +100,7 @@ component) or can be the result of a :doc:`compute ` or atom-style :doc:`variable `. The set of input values can be either all global, all per-atom, or all local quantities. Inputs of different kinds (e.g. global and per-atom) cannot be mixed. Atom -attributes are per-atom vector values. See the doc page for +attributes are per-atom vector values. See the page for individual "compute" and "fix" commands to see what kinds of quantities they generate. See the optional *kind* keyword below for how to force the fix ave/histo command to disambiguate if necessary. @@ -153,7 +153,7 @@ the first vector. ---------- -The *Nevery*\ , *Nrepeat*\ , and *Nfreq* arguments specify on what +The *Nevery*, *Nrepeat*, and *Nfreq* arguments specify on what timesteps the input values will be used in order to contribute to the histogram. The final histogram is generated on timesteps that are multiple of *Nfreq*\ . It is averaged over *Nrepeat* histograms, @@ -210,7 +210,7 @@ be specified with a wildcard asterisk to effectively specify multiple values. Note that some fixes only produce their values on certain timesteps, -which must be compatible with *Nevery*\ , else an error will result. +which must be compatible with *Nevery*, else an error will result. Users can also write code for their own fix styles and :doc:`add them to LAMMPS `. If a value begins with "v\_", a variable name must follow which has @@ -223,7 +223,7 @@ atom-style variables can be used, which produce a global or per-atom vector respectively. The vector-style variable must be used without a bracketed term. See the :doc:`variable ` command for details. -Note that variables of style *equal*\ , *vector*\ , and *atom* define a +Note that variables of style *equal*, *vector*, and *atom* define a formula which can reference individual atom properties or thermodynamic keywords, or they can invoke other computes, fixes, or variables when they are evaluated, so this is a very general means of @@ -233,9 +233,9 @@ specifying quantities to histogram. Additional optional keywords also affect the operation of this fix. -If the *mode* keyword is set to *scalar*\ , then all input values must +If the *mode* keyword is set to *scalar*, then all input values must be global scalars, or elements of global vectors. If the *mode* -keyword is set to *vector*\ , then all input values must be global or +keyword is set to *vector*, then all input values must be global or per-atom or local vectors, or columns of global or per-atom or local arrays. @@ -263,14 +263,14 @@ values > *hi* are counted in the last bin (Nbins+2). Values between The *ave* keyword determines how the histogram produced every *Nfreq* steps are averaged with histograms produced on previous steps that -were multiples of *Nfreq*\ , before they are accessed by another output +were multiples of *Nfreq*, before they are accessed by another output command or written to a file. -If the *ave* setting is *one*\ , then the histograms produced on +If the *ave* setting is *one*, then the histograms produced on timesteps that are multiples of *Nfreq* are independent of each other; they are output as-is without further averaging. -If the *ave* setting is *running*\ , then the histograms produced on +If the *ave* setting is *running*, then the histograms produced on timesteps that are multiples of *Nfreq* are summed and averaged in a cumulative sense before being output. Each bin value in the histogram is thus the average of the bin value produced on that timestep with @@ -279,7 +279,7 @@ when the fix is defined; it can only be restarted by deleting the fix via the :doc:`unfix ` command, or by re-defining the fix by re-specifying it. -If the *ave* setting is *window*\ , then the histograms produced on +If the *ave* setting is *window*, then the histograms produced on timesteps that are multiples of *Nfreq* are summed within a moving "window" of time, so that the last M histograms are used to produce the output. E.g. if M = 3 and Nfreq = 1000, then the output on step diff --git a/doc/src/fix_ave_time.rst b/doc/src/fix_ave_time.rst index ad1aca233c..dfa385ea46 100644 --- a/doc/src/fix_ave_time.rst +++ b/doc/src/fix_ave_time.rst @@ -136,7 +136,7 @@ with 3 columns, each of length 50: ---------- -The *Nevery*\ , *Nrepeat*\ , and *Nfreq* arguments specify on what +The *Nevery*, *Nrepeat*, and *Nfreq* arguments specify on what timesteps the input values will be used in order to contribute to the average. The final averaged quantities are generated on timesteps that are a multiple of *Nfreq*\ . The average is over *Nrepeat* @@ -185,7 +185,7 @@ for how I can be specified with a wildcard asterisk to effectively specify multiple values. Note that some fixes only produce their values on certain timesteps, -which must be compatible with *Nevery*\ , else an error will result. +which must be compatible with *Nevery*, else an error will result. Users can also write code for their own fix styles and :doc:`add them to LAMMPS `. If a value begins with "v\_", a variable name must follow which has @@ -207,23 +207,23 @@ quantities to time average. Additional optional keywords also affect the operation of this fix. -If the *mode* keyword is set to *scalar*\ , then all input values must +If the *mode* keyword is set to *scalar*, then all input values must be global scalars, or elements of global vectors. If the *mode* -keyword is set to *vector*\ , then all input values must be global +keyword is set to *vector*, then all input values must be global vectors, or columns of global arrays. They can also be global arrays, which are converted into a series of global vectors (one per column), as explained above. The *ave* keyword determines how the values produced every *Nfreq* steps are averaged with values produced on previous steps that were -multiples of *Nfreq*\ , before they are accessed by another output +multiples of *Nfreq*, before they are accessed by another output command or written to a file. -If the *ave* setting is *one*\ , then the values produced on timesteps +If the *ave* setting is *one*, then the values produced on timesteps that are multiples of *Nfreq* are independent of each other; they are output as-is without further averaging. -If the *ave* setting is *running*\ , then the values produced on +If the *ave* setting is *running*, then the values produced on timesteps that are multiples of *Nfreq* are summed and averaged in a cumulative sense before being output. Each output value is thus the average of the value produced on that timestep with all preceding @@ -231,7 +231,7 @@ values. This running average begins when the fix is defined; it can only be restarted by deleting the fix via the :doc:`unfix ` command, or by re-defining the fix by re-specifying it. -If the *ave* setting is *window*\ , then the values produced on +If the *ave* setting is *window*, then the values produced on timesteps that are multiples of *Nfreq* are summed and averaged within a moving "window" of time, so that the last M values are used to produce the output. E.g. if M = 3 and Nfreq = 1000, then the output @@ -332,7 +332,7 @@ element are "intensive" or "extensive". If the fix produces an array, then all elements in the array must be the same, either "intensive" or "extensive". If a compute or fix provides the value being time averaged, then the compute or fix determines whether the value is -intensive or extensive; see the doc page for that compute or fix for +intensive or extensive; see the page for that compute or fix for further info. Values produced by a variable are treated as intensive. No parameter of this fix can be used with the *start/stop* keywords of diff --git a/doc/src/fix_aveforce.rst b/doc/src/fix_aveforce.rst index 36e1e28ea6..414fa497ed 100644 --- a/doc/src/fix_aveforce.rst +++ b/doc/src/fix_aveforce.rst @@ -54,7 +54,7 @@ same as specifying a 0.0 value, since that sets all forces to the same average value without adding in any additional force. Any of the 3 quantities defining the force components can be specified -as an equal-style :doc:`variable `, namely *fx*\ , *fy*\ , *fz*\ . +as an equal-style :doc:`variable `, namely *fx*, *fy*, *fz*\ . If the value is a variable, it should be specified as v_name, where name is the variable name. In this case, the variable will be evaluated each timestep, and its value used to determine the average diff --git a/doc/src/fix_balance.rst b/doc/src/fix_balance.rst index 8bab8ebefc..b0f070e5e4 100644 --- a/doc/src/fix_balance.rst +++ b/doc/src/fix_balance.rst @@ -222,7 +222,7 @@ once. You should normally only list dimensions where you expect there to be a density variation in the particles. Balancing proceeds by adjusting the cutting planes in each of the -dimensions listed in *dimstr*\ , one dimension at a time. For a single +dimensions listed in *dimstr*, one dimension at a time. For a single dimension, the balancing operation (described below) is iterated on up to *Niter* times. After each dimension finishes, the imbalance factor is re-computed, and the balancing operation halts if the *stopthresh* diff --git a/doc/src/fix_bocs.rst b/doc/src/fix_bocs.rst index c6c7ed41aa..566bf8e68d 100644 --- a/doc/src/fix_bocs.rst +++ b/doc/src/fix_bocs.rst @@ -41,10 +41,10 @@ The first half of the command mimics a standard fix npt command: fix 1 all bocs temp Tstart Tstop Tcoupl cgiso Pstart Pstop Pdamp -The two differences are replacing *npt* with *bocs*\ , and replacing +The two differences are replacing *npt* with *bocs*, and replacing *iso*\ /\ *aniso*\ /\ *etc* with *cgiso*\ . The rest of the command details what form you would like to use for -the pressure correction equation. The choices are: *analytic*\ , *linear_spline*, +the pressure correction equation. The choices are: *analytic*, *linear_spline*, or *cubic_spline*. With either spline method, the only argument that needs to follow it @@ -58,7 +58,7 @@ as a function of volume. The file must be formatted so each line has: Note both the COMMA and the SPACE separating the volume's value and its corresponding pressure correction. The volumes in the file must be uniformly spaced. Both the volumes and the pressure corrections -should be provided in the proper units, e.g. if you are using *units real*\ , +should be provided in the proper units, e.g. if you are using *units real*, the volumes should all be in cubic angstroms, and the pressure corrections should all be in atmospheres. Furthermore, the table should start/end at a volume considerably smaller/larger than you expect your system to sample @@ -72,7 +72,7 @@ With the *analytic* option, the arguments are as follows: ... analytic V_avg N_particles N_coeff Coeff_1 Coeff_2 ... Coeff_N Note that *V_avg* and *Coeff_i* should all be in the proper units, e.g. if you -are using *units real*\ , *V_avg* should be in cubic angstroms, and the +are using *units real*, *V_avg* should be in cubic angstroms, and the coefficients should all be in atmospheres \* cubic angstroms. ---------- @@ -125,7 +125,7 @@ XXXX_press, where XXXX is the ID given to the fix bocs command (in the example, the ID of the fix bocs command is 1 ). This fix is part of the BOCS package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Further information """"""""""""""""""" diff --git a/doc/src/fix_bond_break.rst b/doc/src/fix_bond_break.rst index 4f2e2840ab..9538fa8ef3 100644 --- a/doc/src/fix_bond_break.rst +++ b/doc/src/fix_bond_break.rst @@ -51,7 +51,7 @@ interactions from timestep to timestep as atoms move. A check for possible bond breakage is performed every *Nevery* timesteps. If two bonded atoms I,J are further than a distance *Rmax* -of each other, if the bond is of type *bondtype*\ , and if both I and J +of each other, if the bond is of type *bondtype*, and if both I and J are in the specified fix group, then I,J is labeled as a "possible" bond to break. diff --git a/doc/src/fix_bond_create.rst b/doc/src/fix_bond_create.rst index 34f0d19f8d..c286482f81 100644 --- a/doc/src/fix_bond_create.rst +++ b/doc/src/fix_bond_create.rst @@ -64,7 +64,7 @@ context, a bond means an interaction between a pair of atoms computed by the :doc:`bond_style ` command. Once the bond is created it will be permanently in place. Optionally, the creation of a bond can also create angle, dihedral, and improper interactions that bond -is part of. See the discussion of the *atype*\ , *dtype*\ , and *itype* +is part of. See the discussion of the *atype*, *dtype*, and *itype* keywords below. This is different than a :doc:`pairwise ` bond-order @@ -75,7 +75,7 @@ interactions from timestep to timestep as atoms move. A check for possible new bonds is performed every *Nevery* timesteps. If two atoms I,J are within a distance *Rmin* of each other, if I is -of atom type *itype*\ , if J is of atom type *jtype*\ , if both I and J +of atom type *itype*, if J is of atom type *jtype*, if both I and J are in the specified fix group, if a bond does not already exist between I and J, and if both I and J meet their respective *maxbond* requirement (explained below), then I,J is labeled as a "possible" @@ -133,7 +133,7 @@ When a bond is created, data structures within LAMMPS that store bond topology are updated to reflect the creation. If the bond is part of new 3-body (angle) or 4-body (dihedral, improper) interactions, you can choose to create new angles, dihedrals, impropers as well, using -the *atype*\ , *dtype*\ , and *itype* keywords. All of these changes +the *atype*, *dtype*, and *itype* keywords. All of these changes typically affect pairwise interactions between atoms that are now part of new bonds, angles, etc. @@ -147,7 +147,7 @@ of new bonds, angles, etc. If the *atype* keyword is used and if an angle potential is defined via the :doc:`angle_style ` command, then any new 3-body interactions inferred by the creation of a bond will create new angles -of type *angletype*\ , with parameters assigned by the corresponding +of type *angletype*, with parameters assigned by the corresponding :doc:`angle_coeff ` command. Likewise, the *dtype* and *itype* keywords will create new dihedrals and impropers of type *dihedraltype* and *impropertype*\ . @@ -183,7 +183,7 @@ of type *angletype*\ , with parameters assigned by the corresponding .. note:: - Even if you do not use the *atype*\ , *dtype*\ , or *itype* + Even if you do not use the *atype*, *dtype*, or *itype* keywords, the list of topological neighbors is updated for atoms affected by the new bond. This in turn affects which neighbors are considered for pairwise interactions, using the weighting rules set by diff --git a/doc/src/fix_bond_react.rst b/doc/src/fix_bond_react.rst index baf7985ef5..a48675dcf2 100644 --- a/doc/src/fix_bond_react.rst +++ b/doc/src/fix_bond_react.rst @@ -424,7 +424,7 @@ The constraint of type 'angle' has the following syntax: angle *ID1* *ID2* *ID3* *amin* *amax* -where 'angle' is the required keyword, *ID1*\ , *ID2* and *ID3* are +where 'angle' is the required keyword, *ID1*, *ID2* and *ID3* are pre-reaction atom IDs (or molecule-fragment IDs, see below), and these three atoms must form an angle between *amin* and *amax* for the reaction to occur (where *ID2* is the central atom). Angles must be @@ -437,7 +437,7 @@ The constraint of type 'dihedral' has the following syntax: dihedral *ID1* *ID2* *ID3* *ID4* *amin* *amax* *amin2* *amax2* -where 'dihedral' is the required keyword, and *ID1*\ , *ID2*\ , *ID3* +where 'dihedral' is the required keyword, and *ID1*, *ID2*, *ID3* and *ID4* are pre-reaction atom IDs (or molecule-fragment IDs, see below). Dihedral angles are calculated in the interval (-180,180]. Refer to the :doc:`dihedral style ` documentation for @@ -669,7 +669,7 @@ Restrictions This fix is part of the REACTION package. It is only enabled if LAMMPS was built with that package. See the -:doc:`Build package ` doc page for more info. +:doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/fix_bond_swap.rst b/doc/src/fix_bond_swap.rst index 248c4cc8e9..71bb122c90 100644 --- a/doc/src/fix_bond_swap.rst +++ b/doc/src/fix_bond_swap.rst @@ -67,7 +67,7 @@ initial swap. For each monomer A1, its neighbors are examined to find a possible B1 monomer. Both A1 and B1 must be in the fix group, their separation -must be less than the specified *cutoff*\ , and the molecule IDs of A1 +must be less than the specified *cutoff*, and the molecule IDs of A1 and B1 must be the same (see below). If a suitable partner is found, the energy change due to swapping the 2 bonds is computed. This includes changes in pairwise, bond, and angle energies due to the @@ -117,7 +117,7 @@ ends of a chain swap with each other. This fix computes a temperature each time it is invoked for use by the Boltzmann criterion. To do this, the fix creates its own compute of -style *temp*\ , as if this command had been issued: +style *temp*, as if this command had been issued: .. code-block:: LAMMPS diff --git a/doc/src/fix_box_relax.rst b/doc/src/fix_box_relax.rst index 7a9abdfe26..5827fe3732 100644 --- a/doc/src/fix_box_relax.rst +++ b/doc/src/fix_box_relax.rst @@ -53,7 +53,7 @@ pressure typically allows the box to expand. ---------- The external pressure tensor is specified using one or more of the -*iso*\ , *aniso*\ , *tri*\ , *x*\ , *y*\ , *z*\ , *xy*\ , *xz*\ , *yz*\ , and *couple* +*iso*, *aniso*, *tri*, *x*, *y*, *z*, *xy*, *xz*, *yz*, and *couple* keywords. These keywords give you the ability to specify all 6 components of an external stress tensor, and to couple various of these components together so that the dimensions they represent are @@ -66,25 +66,25 @@ specify whether the simulation box is orthogonal or non-orthogonal (triclinic) and explain the meaning of the xy,xz,yz tilt factors. The target pressures *Ptarget* for each of the 6 components of the -stress tensor can be specified independently via the *x*\ , *y*\ , *z*\ , -*xy*\ , *xz*\ , *yz* keywords, which correspond to the 6 simulation box +stress tensor can be specified independently via the *x*, *y*, *z*, +*xy*, *xz*, *yz* keywords, which correspond to the 6 simulation box dimensions. For example, if the *y* keyword is used, the y-box length will change during the minimization. If the *xy* keyword is used, the xy tilt factor will change. A box dimension will not change if that component is not specified. -Note that in order to use the *xy*\ , *xz*\ , or *yz* keywords, the +Note that in order to use the *xy*, *xz*, or *yz* keywords, the simulation box must be triclinic, even if its initial tilt factors are 0.0. When the size of the simulation box changes, all atoms are re-scaled to new positions, unless the keyword *dilate* is specified with a -value of *partial*\ , in which case only the atoms in the fix group are +value of *partial*, in which case only the atoms in the fix group are re-scaled. This can be useful for leaving the coordinates of atoms in a solid substrate unchanged and controlling the pressure of a surrounding fluid. -The *scaleyz*\ , *scalexz*\ , and *scalexy* keywords control whether or +The *scaleyz*, *scalexz*, and *scalexy* keywords control whether or not the corresponding tilt factors are scaled with the associated box dimensions when relaxing triclinic periodic cells. The default values *yes* will turn on scaling, which corresponds to adjusting the @@ -99,7 +99,7 @@ The *fixedpoint* keyword specifies the fixed point for cell relaxation. By default, it is the center of the box. Whatever point is chosen will not move during the simulation. For example, if the lower periodic boundaries pass through (0,0,0), and this point is provided -to *fixedpoint*\ , then the lower periodic boundaries will remain at +to *fixedpoint*, then the lower periodic boundaries will remain at (0,0,0), while the upper periodic boundaries will move twice as far. In all cases, the particle positions at each iteration are unaffected by the chosen value, except that all particles are @@ -107,7 +107,7 @@ displaced by the same amount, different on each iteration. .. note:: - Applying an external pressure to tilt dimensions *xy*\ , *xz*\ , *yz* + Applying an external pressure to tilt dimensions *xy*, *xz*, *yz* can sometimes result in arbitrarily large values of the tilt factors, i.e. a dramatically deformed simulation box. This typically indicates that there is something badly wrong with how the simulation was @@ -149,7 +149,7 @@ simply ignored. ---------- -The *iso*\ , *aniso*\ , and *tri* keywords are simply shortcuts that are +The *iso*, *aniso*, and *tri* keywords are simply shortcuts that are equivalent to specifying several other keywords together. The keyword *iso* means couple all 3 diagonal components together when @@ -164,8 +164,8 @@ these 4 keywords: z Ptarget couple xyz -The keyword *aniso* means *x*\ , *y*\ , and *z* dimensions are controlled -independently using the *Pxx*\ , *Pyy*\ , and *Pzz* components of the +The keyword *aniso* means *x*, *y*, and *z* dimensions are controlled +independently using the *Pxx*, *Pyy*, and *Pzz* components of the stress tensor as the driving forces, and the specified scalar external pressure. Using "aniso Ptarget" is the same as specifying these 4 keywords: @@ -177,7 +177,7 @@ keywords: z Ptarget couple none -The keyword *tri* means *x*\ , *y*\ , *z*\ , *xy*\ , *xz*\ , and *yz* dimensions +The keyword *tri* means *x*, *y*, *z*, *xy*, *xz*, and *yz* dimensions are controlled independently using their individual stress components as the driving forces, and the specified scalar pressure as the external normal stress. Using "tri Ptarget" is the same as specifying @@ -246,7 +246,7 @@ minimization steps, the reference dimensions are set to those of the current simulation domain. Note that resetting the reference dimensions changes the objective function and gradients, which sometimes causes the minimization to fail. This can be resolved by -changing the value of *nreset*\ , or simply continuing the minimization +changing the value of *nreset*, or simply continuing the minimization from a restart file. .. note:: @@ -362,8 +362,8 @@ Restrictions """""""""""" Only dimensions that are available can be adjusted by this fix. -Non-periodic dimensions are not available. *z*\ , *xz*\ , and *yz*\ , are -not available for 2D simulations. *xy*\ , *xz*\ , and *yz* are only +Non-periodic dimensions are not available. *z*, *xz*, and *yz*, are +not available for 2D simulations. *xy*, *xz*, and *yz* are only available if the simulation domain is non-orthogonal. The :doc:`create_box `, :doc:`read data `, and :doc:`read_restart ` commands specify whether the @@ -371,10 +371,10 @@ simulation box is orthogonal or non-orthogonal (triclinic) and explain the meaning of the xy,xz,yz tilt factors. The *scaleyz yes* and *scalexz yes* keyword/value pairs can not be used -for 2D simulations. *scaleyz yes*\ , *scalexz yes*\ , and *scalexy yes* options +for 2D simulations. *scaleyz yes*, *scalexz yes*, and *scalexy yes* options can only be used if the second dimension in the keyword is periodic, and if the tilt factor is not coupled to the barostat via keywords -*tri*\ , *yz*\ , *xz*\ , and *xy*\ . +*tri*, *yz*, *xz*, and *xy*\ . Related commands """""""""""""""" diff --git a/doc/src/fix_charge_regulation.rst b/doc/src/fix_charge_regulation.rst index 06c1d92b79..9ff28b6ac3 100644 --- a/doc/src/fix_charge_regulation.rst +++ b/doc/src/fix_charge_regulation.rst @@ -227,7 +227,7 @@ Restrictions This fix is part of the MC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package -` doc page for more info. +` page for more info. The :doc:`atom_style `, used must contain the charge property, for example, the style could be *charge* or *full*. Only diff --git a/doc/src/fix_client_md.rst b/doc/src/fix_client_md.rst index 3bcc6bdaa5..a688d38e25 100644 --- a/doc/src/fix_client_md.rst +++ b/doc/src/fix_client_md.rst @@ -27,7 +27,7 @@ This fix style enables LAMMPS to run as a "client" code and communicate each timestep with a separate "server" code to perform an MD simulation together. -The :doc:`Howto client/server ` doc page gives an +The :doc:`Howto client/server ` page gives an overview of client/server coupling of LAMMPS with another code where one code is the "client" and sends request messages to a "server" code. The server responds to each request with a reply message. This @@ -101,7 +101,7 @@ Restrictions This fix is part of the MESSAGE package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package -` doc page for more info. +` page for more info. A script that uses this command must also use the :doc:`message ` command to setup and shut down the messaging diff --git a/doc/src/fix_cmap.rst b/doc/src/fix_cmap.rst index e6e8d0c627..6475e538a2 100644 --- a/doc/src/fix_cmap.rst +++ b/doc/src/fix_cmap.rst @@ -73,7 +73,7 @@ remaining 5 columns are the atom IDs of the atoms in the two 4-atom dihedrals that overlap to create the CMAP 5-body interaction. Note that the "crossterm" and "CMAP" keywords for the header and body sections match those specified in the read_data command following the -data file name; see the :doc:`read_data ` doc page for +data file name; see the :doc:`read_data ` page for more details. A data file containing CMAP cross-terms can be generated from a PDB @@ -147,7 +147,7 @@ To function as expected this fix command must be issued *before* a :doc:`read_restart ` command. This fix can only be used if LAMMPS was built with the MOLECULE -package. See the :doc:`Build package ` doc page for more +package. See the :doc:`Build package ` page for more info. Related commands diff --git a/doc/src/fix_colvars.rst b/doc/src/fix_colvars.rst index 6de30a3d84..21b235cb6b 100644 --- a/doc/src/fix_colvars.rst +++ b/doc/src/fix_colvars.rst @@ -80,7 +80,7 @@ that will be used in the colvars module. The *unwrap* keyword controls whether wrapped or unwrapped coordinates are passed to the colvars library for calculation of the collective -variables and the resulting forces. The default is *yes*\ , i.e. to use +variables and the resulting forces. The default is *yes*, i.e. to use the image flags to reconstruct the absolute atom positions. Setting this to *no* will use the current local coordinates that are wrapped back into the simulation cell at each re-neighboring instead. @@ -124,7 +124,7 @@ Restrictions This fix is part of the COLVARS package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package -` doc page for more info. +` page for more info. There can only be one colvars fix active at a time. Since the interface communicates only the minimum amount of information and colvars module diff --git a/doc/src/fix_controller.rst b/doc/src/fix_controller.rst index 0b7332cdd7..0ff38ae010 100644 --- a/doc/src/fix_controller.rst +++ b/doc/src/fix_controller.rst @@ -127,17 +127,17 @@ When choosing the values of the four constants, it is best to first pick a value and sign for :math:`\alpha` that is consistent with the magnitudes and signs of *pvar* and *cvar*\ . The magnitude of :math:`K_p` should then be tested over a large positive range keeping :math:`K_i = K_d =0`. -A good value for :math:`K_p` will produce a fast response in *pvar*\ , +A good value for :math:`K_p` will produce a fast response in *pvar*, without overshooting the *setpoint*\ . For many applications, proportional feedback is sufficient, and so :math:`K_i` = K_d =0` can be used. In cases where there is a substantial lag time in the response of *pvar* to a change -in *cvar*\ , this can be counteracted by increasing :math:`K_d`. In situations -where *pvar* plateaus without reaching *setpoint*\ , this can be +in *cvar*, this can be counteracted by increasing :math:`K_d`. In situations +where *pvar* plateaus without reaching *setpoint*, this can be counteracted by increasing :math:`K_i`. In the language of Charles Dickens, :math:`K_p` represents the error of the present, :math:`K_i` the error of the past, and :math:`K_d` the error yet to come. -Because this fix updates *cvar*\ , but does not initialize its value, +Because this fix updates *cvar*, but does not initialize its value, the initial value is that assigned by the user in the input script via the :doc:`internal-style variable ` command. This value is used (by the other LAMMPS command that used the variable) until this @@ -162,7 +162,7 @@ used. Users can also write code for their own compute styles and :doc:`add them If *pvar* begins with "f\_", a fix ID must follow which has been previously defined in the input script and which generates a global -scalar or vector. See the individual :doc:`fix ` doc page for +scalar or vector. See the individual :doc:`fix ` page for details. Note that some fixes only produce their values on certain timesteps, which must be compatible with when fix controller references the values, or else an error results. If no bracketed integer @@ -215,7 +215,9 @@ the :doc:`run ` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" - none + +This fix is part of the EXTRA-FIX package. It is only enabled if LAMMPS +was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/fix_deform.rst b/doc/src/fix_deform.rst index 90192c6c00..a21a3a6044 100644 --- a/doc/src/fix_deform.rst +++ b/doc/src/fix_deform.rst @@ -21,7 +21,7 @@ Syntax .. parsed-literal:: parameter = *x* or *y* or *z* or *xy* or *xz* or *yz* - *x*\ , *y*\ , *z* args = style value(s) + *x*, *y*, *z* args = style value(s) style = *final* or *delta* or *scale* or *vel* or *erate* or *trate* or *volume* or *wiggle* or *variable* *final* values = lo hi lo hi = box boundaries at end of run (distance units) @@ -43,7 +43,7 @@ Syntax *variable* values = v_name1 v_name2 v_name1 = variable with name1 for box length change as function of time v_name2 = variable with name2 for change rate as function of time - *xy*\ , *xz*\ , *yz* args = style value + *xy*, *xz*, *yz* args = style value style = *final* or *delta* or *vel* or *erate* or *trate* or *wiggle* *final* value = tilt tilt = tilt factor at end of run (distance units) @@ -102,8 +102,8 @@ of a continuously strained system. See the :doc:`fix nvt/sllod ` that simulation of a continuously extended system (extensional flow) can be modeled using the :ref:`UEF package ` and its :doc:`fix commands `. -For the *x*\ , *y*\ , *z* parameters, the associated dimension cannot be -shrink-wrapped. For the *xy*\ , *yz*\ , *xz* parameters, the associated +For the *x*, *y*, *z* parameters, the associated dimension cannot be +shrink-wrapped. For the *xy*, *yz*, *xz* parameters, the associated second dimension cannot be shrink-wrapped. Dimensions not varied by this command can be periodic or non-periodic. Dimensions corresponding to unspecified parameters can also be controlled by a :doc:`fix npt ` or :doc:`fix nph ` command. @@ -127,29 +127,29 @@ and final values. ---------- -For the *x*\ , *y*\ , and *z* parameters, this is the meaning of their +For the *x*, *y*, and *z* parameters, this is the meaning of their styles and values. -The *final*\ , *delta*\ , *scale*\ , *vel*\ , and *erate* styles all change +The *final*, *delta*, *scale*, *vel*, and *erate* styles all change the specified dimension of the box via "constant displacement" which is effectively a "constant engineering strain rate". This means the box dimension changes linearly with time from its initial to final value. -For style *final*\ , the final lo and hi box boundaries of a dimension +For style *final*, the final lo and hi box boundaries of a dimension are specified. The values can be in lattice or box distance units. See the discussion of the units keyword below. -For style *delta*\ , plus or minus changes in the lo/hi box boundaries +For style *delta*, plus or minus changes in the lo/hi box boundaries of a dimension are specified. The values can be in lattice or box distance units. See the discussion of the units keyword below. -For style *scale*\ , a multiplicative factor to apply to the box length +For style *scale*, a multiplicative factor to apply to the box length of a dimension is specified. For example, if the initial box length is 10, and the factor is 1.1, then the final box length will be 11. A factor less than 1.0 means compression. -For style *vel*\ , a velocity at which the box length changes is +For style *vel*, a velocity at which the box length changes is specified in units of distance/time. This is effectively a "constant engineering strain rate", where rate = V/L0 and L0 is the initial box length. The distance can be in lattice or box distance units. See @@ -207,7 +207,7 @@ triple every picosecond. R = ln(0.99) means the box length will shrink by 1% of its current length every picosecond. Note that for a "true" rate the change is continuous and based on the current length, so running with R = ln(2) for 10 picoseconds does not expand the box -length by a factor of 11 as it would with *erate*\ , but by a factor of +length by a factor of 11 as it would with *erate*, but by a factor of 1024 since the box length will double every picosecond. Note that to change the volume (or cross-sectional area) of the @@ -288,30 +288,30 @@ assume that the current timestep = 0. variable rate equal "2*PI*v_A/v_Tp * cos(2*PI * step*dt/v_Tp)" fix 2 all deform 1 x variable v_displace v_rate remap v -For the *scale*\ , *vel*\ , *erate*\ , *trate*\ , *volume*\ , *wiggle*\ , and +For the *scale*, *vel*, *erate*, *trate*, *volume*, *wiggle*, and *variable* styles, the box length is expanded or compressed around its mid point. ---------- -For the *xy*\ , *xz*\ , and *yz* parameters, this is the meaning of their +For the *xy*, *xz*, and *yz* parameters, this is the meaning of their styles and values. Note that changing the tilt factors of a triclinic box does not change its volume. -The *final*\ , *delta*\ , *vel*\ , and *erate* styles all change the shear +The *final*, *delta*, *vel*, and *erate* styles all change the shear strain at a "constant engineering shear strain rate". This means the tilt factor changes linearly with time from its initial to final value. -For style *final*\ , the final tilt factor is specified. The value +For style *final*, the final tilt factor is specified. The value can be in lattice or box distance units. See the discussion of the units keyword below. -For style *delta*\ , a plus or minus change in the tilt factor is +For style *delta*, a plus or minus change in the tilt factor is specified. The value can be in lattice or box distance units. See the discussion of the units keyword below. -For style *vel*\ , a velocity at which the tilt factor changes is +For style *vel*, a velocity at which the tilt factor changes is specified in units of distance/time. This is effectively an "engineering shear strain rate", where rate = V/L0 and L0 is the initial box length perpendicular to the direction of shear. The @@ -449,7 +449,7 @@ example), then configurations with tilt = ..., -15, -5, 5, 15, 25, ... are all equivalent. To obey this constraint and allow for large shear deformations to be -applied via the *xy*\ , *xz*\ , or *yz* parameters, the following +applied via the *xy*, *xz*, or *yz* parameters, the following algorithm is used. If *prd* is the associated parallel box length (10 in the example above), then if the tilt factor exceeds the accepted range of -5 to 5 during the simulation, then the box is flipped to the @@ -476,13 +476,13 @@ Each time the box size or shape is changed, the *remap* keyword determines whether atom positions are remapped to the new box. If *remap* is set to *x* (the default), atoms in the fix group are remapped; otherwise they are not. Note that their velocities are not -changed, just their positions are altered. If *remap* is set to *v*\ , +changed, just their positions are altered. If *remap* is set to *v*, then any atom in the fix group that crosses a periodic boundary will have a delta added to its velocity equal to the difference in velocities between the lo and hi boundaries. Note that this velocity difference can include tilt components, e.g. a delta in the x velocity when an atom crosses the y periodic boundary. If *remap* is set to -*none*\ , then neither of these remappings take place. +*none*, then neither of these remappings take place. Conceptually, setting *remap* to *x* forces the atoms to deform via an affine transformation that exactly matches the box deformation. This @@ -529,20 +529,20 @@ box without explicit remapping of their coordinates. .. note:: If a :doc:`fix rigid ` is defined for rigid bodies, and - *remap* is set to *x*\ , then the center-of-mass coordinates of rigid + *remap* is set to *x*, then the center-of-mass coordinates of rigid bodies will be remapped to the changing simulation box. This will be done regardless of whether atoms in the rigid bodies are in the fix deform group or not. The velocity of the centers of mass are not - remapped even if *remap* is set to *v*\ , since :doc:`fix nvt/sllod ` does not currently do anything special + remapped even if *remap* is set to *v*, since :doc:`fix nvt/sllod ` does not currently do anything special for rigid particles. If you wish to perform a NEMD simulation of rigid particles, you can either thermostat them independently or include a background fluid and thermostat the fluid via :doc:`fix nvt/sllod `. The *flip* keyword allows the tilt factors for a triclinic box to exceed half the distance of the parallel box length, as discussed -above. If the *flip* value is set to *yes*\ , the bound is enforced by +above. If the *flip* value is set to *yes*, the bound is enforced by flipping the box when it is exceeded. If the *flip* value is set to -*no*\ , the tilt will continue to change without flipping. Note that if +*no*, the tilt will continue to change without flipping. Note that if you apply large deformations, this means the box shape can tilt dramatically LAMMPS will run less efficiently, due to the large volume of communication needed to acquire ghost atoms around a processor's @@ -557,8 +557,8 @@ in lattice spacings. The :doc:`lattice ` command must have been previously used to define the lattice spacing. Note that the units choice also affects the *vel* style parameters since it is defined in terms of distance/time. Also note that the units keyword -does not affect the *variable* style. You should use the *xlat*\ , -*ylat*\ , *zlat* keywords of the :doc:`thermo_style ` +does not affect the *variable* style. You should use the *xlat*, +*ylat*, *zlat* keywords of the :doc:`thermo_style ` command if you want to include lattice spacings in a variable formula. ---------- diff --git a/doc/src/fix_deposit.rst b/doc/src/fix_deposit.rst index 42975eb0b2..ad3c37b24c 100644 --- a/doc/src/fix_deposit.rst +++ b/doc/src/fix_deposit.rst @@ -220,7 +220,7 @@ ignored if the *global* or *local* keywords are used, since those options choose a z-coordinate for insertion independently. The vx, vy, and vz components of velocity for the inserted particle -are set using the values specified for the *vx*\ , *vy*\ , and *vz* +are set using the values specified for the *vx*, *vy*, and *vz* keywords. Note that normally, new particles should be a assigned a negative vertical velocity so that they move towards the surface. For molecules, the same velocity is given to every particle (no rotation @@ -296,9 +296,6 @@ of this fix can be used with the *start/stop* keywords of the Restrictions """""""""""" -This fix is part of the MISC package. It is only enabled if LAMMPS -was built with that package. See the :doc:`Build package ` doc page for more info. - The specified insertion region cannot be a "dynamic" region, as defined by the :doc:`region ` command. diff --git a/doc/src/fix_dpd_energy.rst b/doc/src/fix_dpd_energy.rst index a1e8ef2faf..d6e8dd7230 100644 --- a/doc/src/fix_dpd_energy.rst +++ b/doc/src/fix_dpd_energy.rst @@ -32,7 +32,7 @@ the group at each timestep. It must be used in conjunction with a deterministic integrator (e.g. :doc:`fix nve `) that updates the particle positions and velocities. -For fix *dpd/energy*\ , the particle internal temperature is related to +For fix *dpd/energy*, the particle internal temperature is related to the particle internal energy through a mesoparticle equation of state. An additional fix must be specified that defines the equation of state for each particle, e.g. :doc:`fix eos/cv `. @@ -41,9 +41,9 @@ This fix must be used with the :doc:`pair_style dpd/fdt/energy ` com Note that numerous variants of DPD can be specified by choosing an appropriate combination of the integrator and :doc:`pair_style dpd/fdt/energy ` command. DPD under isoenergetic conditions -can be specified by using fix *dpd/energy*\ , fix *nve* and pair_style +can be specified by using fix *dpd/energy*, fix *nve* and pair_style *dpd/fdt/energy*\ . DPD under isoenthalpic conditions can -be specified by using fix *dpd/energy*\ , fix *nph* and pair_style +be specified by using fix *dpd/energy*, fix *nph* and pair_style *dpd/fdt/energy*\ . Examples of each DPD variant are provided in the examples/PACKAGES/dpd-react directory. @@ -57,7 +57,7 @@ Restrictions """""""""""" This command is part of the DPD-REACT package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. This fix must be used with an additional fix that specifies time integration, e.g. :doc:`fix nve `. diff --git a/doc/src/fix_dpd_source.rst b/doc/src/fix_dpd_source.rst index 5e1b92ae66..ef1a70c3d4 100644 --- a/doc/src/fix_dpd_source.rst +++ b/doc/src/fix_dpd_source.rst @@ -78,7 +78,7 @@ Restrictions """""""""""" This fix is part of the DPD-MESO package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Fix *edpd/source* must be used with the :doc:`pair_style edpd ` command. Fix *tdpd/source* must be used with the :doc:`pair_style tdpd ` command. diff --git a/doc/src/fix_drag.rst b/doc/src/fix_drag.rst index 6bf9b909c6..3bfc5420de 100644 --- a/doc/src/fix_drag.rst +++ b/doc/src/fix_drag.rst @@ -57,7 +57,9 @@ the :doc:`run ` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" - none + +This fix is part of the EXTRA-FIX package. It is only enabled if LAMMPS +was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/fix_drude_transform.rst b/doc/src/fix_drude_transform.rst index 9943ea0710..bd63a411be 100644 --- a/doc/src/fix_drude_transform.rst +++ b/doc/src/fix_drude_transform.rst @@ -152,7 +152,7 @@ temperatures of cores and Drude particles, in center-of-mass and relative coordinates, are calculated using :doc:`compute temp/drude ` In addition, if you want to use a barostat to simulate a system at -constant pressure, only one of the Nose-Hoover fixes must be *npt*\ , +constant pressure, only one of the Nose-Hoover fixes must be *npt*, the other one should be *nvt*\ . You must add a *compute temp/com* and a *fix_modify* command so that the temperature of the *npt* fix be just that of its group (the Drude cores) but the pressure be the overall diff --git a/doc/src/fix_dt_reset.rst b/doc/src/fix_dt_reset.rst index a413f8f60d..c3aa431e18 100644 --- a/doc/src/fix_dt_reset.rst +++ b/doc/src/fix_dt_reset.rst @@ -59,7 +59,7 @@ displace *Xmax* on the next integration step, as a function of its current velocity and force. Since performing this calculation exactly would require the solution to a quartic equation, a cheaper estimate is generated. The estimate is conservative in that the atom's -displacement is guaranteed not to exceed *Xmax*\ , though it may be +displacement is guaranteed not to exceed *Xmax*, though it may be smaller. In addition if the *emax* keyword is used, the specified *Emax* value @@ -72,7 +72,7 @@ across all atoms is computed. Then the *Tmin* and *Tmax* bounds are applied, if specified. If one (or both) is specified as NULL, it is not applied. -When the :doc:`run style ` is *respa*\ , this fix resets the +When the :doc:`run style ` is *respa*, this fix resets the outer loop (largest) timestep, which is the same timestep that the :doc:`timestep ` command sets. diff --git a/doc/src/fix_efield.rst b/doc/src/fix_efield.rst index 86dcda9bc5..7d958e0afe 100644 --- a/doc/src/fix_efield.rst +++ b/doc/src/fix_efield.rst @@ -42,7 +42,7 @@ external electric field. For charges, any of the 3 quantities defining the E-field components can be specified as an equal-style or atom-style -:doc:`variable `, namely *ex*\ , *ey*\ , *ez*\ . If the value is a +:doc:`variable `, namely *ex*, *ey*, *ez*\ . If the value is a variable, it should be specified as v_name, where name is the variable name. In this case, the variable will be evaluated each timestep, and its value used to determine the E-field component. @@ -100,8 +100,8 @@ minimize the orientation of dipoles in an applied electric field. The *energy* keyword specifies the name of an atom-style :doc:`variable ` which is used to compute the energy of each -atom as function of its position. Like variables used for *ex*\ , -*ey*\ , *ez*\ , the energy variable is specified as v_name, where name +atom as function of its position. Like variables used for *ex*, +*ey*, *ez*, the energy variable is specified as v_name, where name is the variable name. Note that when the *energy* keyword is used during an energy @@ -169,8 +169,7 @@ the iteration count during the minimization. Restrictions """""""""""" -This fix is part of the MISC package. It is only enabled if LAMMPS -was built with that package. See the :doc:`Build package ` doc page for more info. +None Related commands """""""""""""""" diff --git a/doc/src/fix_ehex.rst b/doc/src/fix_ehex.rst index 2065ec5033..186ed7065e 100644 --- a/doc/src/fix_ehex.rst +++ b/doc/src/fix_ehex.rst @@ -92,7 +92,7 @@ The thermostatting force is given by where :math:`m_i` is the mass and :math:`k(\mathbf r_i)` maps the particle position to the respective reservoir. The quantity :math:`F_{\Gamma_{k(\mathbf r_i)}}` corresponds to the input parameter -*F*\ , which is the energy flux into the reservoir. Furthermore, +*F*, which is the energy flux into the reservoir. Furthermore, :math:`K_{\Gamma_{k(\mathbf r_i)}}` and :math:`v_{\Gamma_{k(\mathbf r_i)}}` denote the non-translational kinetic energy and the center of mass velocity of that reservoir. The thermostatting force does not affect @@ -176,7 +176,7 @@ Restrictions """""""""""" This fix is part of the RIGID package. It is only enabled if LAMMPS -was built with that package. See the :doc:`Build package ` doc page for more info. +was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/fix_electron_stopping.rst b/doc/src/fix_electron_stopping.rst index d2bc65608d..fa0fc763f5 100644 --- a/doc/src/fix_electron_stopping.rst +++ b/doc/src/fix_electron_stopping.rst @@ -92,7 +92,7 @@ its velocity and :math:`S_e` is the stopping power of the ion. atomic subsystems with the two-temperature model (:doc:`fix_ttm `). At low velocities the electronic stopping is negligible. The electronic -friction is not applied to atoms whose kinetic energy is smaller than *Ecut*\ , +friction is not applied to atoms whose kinetic energy is smaller than *Ecut*, or smaller than the lowest energy value given in the table in *file*\ . Electronic stopping should be applied only when a projectile reaches bulk material. This fix scans neighbor list and excludes atoms with fewer than @@ -133,7 +133,7 @@ For example: 750 100 150 If an atom which would have electronic stopping applied to it has a -kinetic energy higher than the largest energy given in *file*\ , LAMMPS +kinetic energy higher than the largest energy given in *file*, LAMMPS will exit with an error message. The stopping power depends on the energy of the ion and the target diff --git a/doc/src/fix_eos_cv.rst b/doc/src/fix_eos_cv.rst index 57f8c914ab..c43b5461b1 100644 --- a/doc/src/fix_eos_cv.rst +++ b/doc/src/fix_eos_cv.rst @@ -44,7 +44,7 @@ Restrictions """""""""""" This command is part of the DPD-REACT package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. This command also requires use of the :doc:`atom_style dpd ` command. diff --git a/doc/src/fix_eos_table.rst b/doc/src/fix_eos_table.rst index 06310e9685..bfb8ec2c3c 100644 --- a/doc/src/fix_eos_table.rst +++ b/doc/src/fix_eos_table.rst @@ -103,7 +103,7 @@ Restrictions """""""""""" This command is part of the DPD-REACT package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. This command also requires use of the :doc:`atom_style dpd ` command. diff --git a/doc/src/fix_eos_table_rx.rst b/doc/src/fix_eos_table_rx.rst index eadac5d56c..2e91b7dd88 100644 --- a/doc/src/fix_eos_table_rx.rst +++ b/doc/src/fix_eos_table_rx.rst @@ -48,9 +48,9 @@ computed according to the following relation: U_{i} = \displaystyle\sum_{j=1}^{m} c_{i,j}(u_{j} + \Delta H_{f,j}) + \frac{3k_{b}T}{2} + Nk_{b}T \\ where *m* is the number of species, :math:`c_{i,j}` is the -concentration of species *j* in particle *i*\ , :math:`u_j` is the +concentration of species *j* in particle *i*, :math:`u_j` is the internal energy of species j, :math:`\Delta H_{f,j} is the heat of -formation of species *j*\ , N is the number of molecules represented +formation of species *j*, N is the number of molecules represented by the coarse-grained particle, :math:`k_b` is the Boltzmann constant, and *T* is the temperature of the system. Additionally, it is possible to modify the concentration-dependent particle internal @@ -178,7 +178,7 @@ Restrictions """""""""""" This command is part of the DPD-REACT package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. This command also requires use of the :doc:`atom_style dpd ` command. diff --git a/doc/src/fix_evaporate.rst b/doc/src/fix_evaporate.rst index 5eae16b196..4fa888273c 100644 --- a/doc/src/fix_evaporate.rst +++ b/doc/src/fix_evaporate.rst @@ -41,14 +41,14 @@ fix group and within the specified region are counted. M of these are chosen at random and deleted. If there are less than M eligible particles, then all of them are deleted. -If the setting for the *molecule* keyword is *no*\ , then only single +If the setting for the *molecule* keyword is *no*, then only single atoms are deleted. In this case, you should insure you do not delete only a portion of a molecule (only some of its atoms), or LAMMPS will soon generate an error when it tries to find those atoms. LAMMPS will warn you if any of the atoms eligible for deletion have a non-zero molecule ID, but does not check for this at the time of deletion. -If the setting for the *molecule* keyword is *yes*\ , then when an atom +If the setting for the *molecule* keyword is *yes*, then when an atom is chosen for deletion, the entire molecule it is part of is deleted. The count of deleted atoms is incremented by the number of atoms in the molecule, which may make it exceed *M*\ . If the molecule ID of the @@ -89,8 +89,7 @@ the :doc:`run ` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" -This fix is part of the MISC package. It is only enabled if LAMMPS -was built with that package. See the :doc:`Build package ` doc page for more info. +None Related commands """""""""""""""" diff --git a/doc/src/fix_external.rst b/doc/src/fix_external.rst index 938b798ddf..d251eb65e9 100644 --- a/doc/src/fix_external.rst +++ b/doc/src/fix_external.rst @@ -46,7 +46,7 @@ If mode is *pf/callback* then the fix will make a callback every The external program computes forces on atoms by setting values in an array owned by the fix. The fix then adds these forces to each atom in the group, once every *Napply* steps, similar to the way the :doc:`fix addforce ` command works. Note that if *Ncall* > -*Napply*\ , the force values produced by one callback will persist, and +*Napply*, the force values produced by one callback will persist, and be used multiple times to update atom forces. The callback function "foo" is invoked by the fix as: diff --git a/doc/src/fix_ffl.rst b/doc/src/fix_ffl.rst index 02bcaa710d..6058b0ed3e 100644 --- a/doc/src/fix_ffl.rst +++ b/doc/src/fix_ffl.rst @@ -111,7 +111,7 @@ In order to perform constant-pressure simulations please use equations of motion. This fix is part of the EXTRA-FIX package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/fix_filter_corotate.rst b/doc/src/fix_filter_corotate.rst index 6bfcad27e8..c0a2216be3 100644 --- a/doc/src/fix_filter_corotate.rst +++ b/doc/src/fix_filter_corotate.rst @@ -73,7 +73,7 @@ Restrictions """""""""""" This fix is part of the EXTRA-FIX package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Currently, it does not support :doc:`molecule templates `. diff --git a/doc/src/fix_flow_gauss.rst b/doc/src/fix_flow_gauss.rst index ce114fdfcd..3697142a37 100644 --- a/doc/src/fix_flow_gauss.rst +++ b/doc/src/fix_flow_gauss.rst @@ -81,7 +81,7 @@ above, see the examples/PACKAGES/flow_gauss directory. velocities of the group-ID atoms are coupled to the velocities of other atoms in the simulation, the flux will not be conserved. For example, in a simulation with fluid atoms and harmonically constrained - wall atoms, if a single thermostat is applied to group *all*\ , the + wall atoms, if a single thermostat is applied to group *all*, the fluid atom velocities will be coupled to the wall atom velocities, and the flux will not be conserved. This issue can be avoided by thermostatting the fluid and wall groups separately. @@ -160,7 +160,7 @@ Restrictions This fix is part of the EXTRA-FIX package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package -` doc page for more info. +` page for more info. Related commands """""""""""""""" diff --git a/doc/src/fix_freeze.rst b/doc/src/fix_freeze.rst index a7370c7f44..ce79ce3caf 100644 --- a/doc/src/fix_freeze.rst +++ b/doc/src/fix_freeze.rst @@ -59,7 +59,7 @@ Restrictions """""""""""" This fix is part of the GRANULAR package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. There can only be a single freeze fix defined. This is because other the :doc:`granular pair styles ` treat frozen particles diff --git a/doc/src/fix_gcmc.rst b/doc/src/fix_gcmc.rst index e360fab86e..9955390454 100644 --- a/doc/src/fix_gcmc.rst +++ b/doc/src/fix_gcmc.rst @@ -24,7 +24,7 @@ Syntax .. parsed-literal:: - keyword = *mol*\ , *region*\ , *maxangle*\ , *pressure*\ , *fugacity_coeff*, *full_energy*, *charge*\ , *group*\ , *grouptype*\ , *intra_energy*, *tfac_insert*, or *overlap_cutoff* + keyword = *mol*, *region*, *maxangle*, *pressure*, *fugacity_coeff*, *full_energy*, *charge*, *group*, *grouptype*, *intra_energy*, *tfac_insert*, or *overlap_cutoff* *mol* value = template-ID template-ID = ID of molecule template specified in a separate :doc:`molecule ` command *mcmoves* values = Patomtrans Pmoltrans Pmolrotate @@ -208,8 +208,8 @@ their bonds or angles constrained via SHAKE, use the *shake* keyword, specifying as its value the ID of a separate :doc:`fix shake ` command which also appears in your input script. Optionally, users may specify the relative amounts of different MC -moves using the *mcmoves* keyword. The values *Patomtrans*\ , -*Pmoltrans*\ , *Pmolrotate* specify the average proportion of +moves using the *mcmoves* keyword. The values *Patomtrans*, +*Pmoltrans*, *Pmolrotate* specify the average proportion of atom translations, molecule translations, and molecule rotations, respectively. The values must be non-negative integers or real numbers, with at least one non-zero value. For example, (10,30,0) @@ -272,7 +272,7 @@ styles except *lj* it is defined as the thermal de Broglie wavelength \Lambda = \sqrt{ \frac{h^2}{2 \pi m k T}} where *h* is Planck's constant, and *m* is the mass of the exchanged atom -or molecule. For unit style *lj*\ , :math:`\Lambda` is simply set to +or molecule. For unit style *lj*, :math:`\Lambda` is simply set to unity. Note that prior to March 2017, :math:`\Lambda` for unit style *lj* was calculated using the above formula with *h* set to the rather specific value of 0.18292026. Chemical potential under the old definition can diff --git a/doc/src/fix_gld.rst b/doc/src/fix_gld.rst index c47e30a880..d0fd6a4c9e 100644 --- a/doc/src/fix_gld.rst +++ b/doc/src/fix_gld.rst @@ -81,7 +81,7 @@ correlated random forces as specified in the third term of the force. Presently, the Prony series coefficients are limited to being greater than or equal to zero, and the time constants are limited to being greater than zero. To this end, the value of series MUST be set to -*pprony*\ , for now. Future updates will allow for negative coefficients +*pprony*, for now. Future updates will allow for negative coefficients and other representations of the memory kernel. It is with these updates in mind that the series option was included. @@ -107,7 +107,7 @@ The keyword/value option pairs are used in the following ways. The keyword *frozen* can be used to specify how the extended variables associated with the GLD memory kernel are initialized. Specifying no (the default), the initial values are drawn at random from an -equilibrium distribution at *Tstart*\ , consistent with the +equilibrium distribution at *Tstart*, consistent with the Fluctuation-Dissipation Theorem. Specifying yes, initializes the extended variables to zero. @@ -116,7 +116,7 @@ thermostat. Because the random forces on different atoms are independent, they do not sum exactly to zero. As a result, this fix applies a small random force to the entire system, and the center-of-mass of the system undergoes a slow random walk. If the -keyword *zero* is set to *yes*\ , the total random force is set exactly +keyword *zero* is set to *yes*, the total random force is set exactly to zero by subtracting off an equal part of it from each atom in the group. As a result, the center-of-mass of a system with zero initial momentum will not drift over time. @@ -146,8 +146,8 @@ This fix is not invoked during :doc:`energy minimization `. Restrictions """""""""""" -This fix is part of the MISC package. It is only enabled if LAMMPS -was built with that package. See the :doc:`Build package ` doc page for more info. +This fix is part of the EXTRA-FIX package. It is only enabled if LAMMPS +was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/fix_gle.rst b/doc/src/fix_gle.rst index c7d46c09fa..a42fddf7f5 100644 --- a/doc/src/fix_gle.rst +++ b/doc/src/fix_gle.rst @@ -63,7 +63,7 @@ un-correlated Gaussian random forces. The A matrix couples the physical and makes it possible to obtain effectively a history-dependent noise and friction kernel. -The drift matrix should be given as an external file *Afile*\ , +The drift matrix should be given as an external file *Afile*, as a (Ns+1 x Ns+1) matrix in inverse time units. Matrices that are optimal for a given application and the system of choice can be obtained from :ref:`(GLE4MD) `. @@ -143,7 +143,7 @@ In order to perform constant-pressure simulations please use equations of motion. This fix is part of the EXTRA-FIX package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/fix_gravity.rst b/doc/src/fix_gravity.rst index bd585b1312..7b0f7669ed 100644 --- a/doc/src/fix_gravity.rst +++ b/doc/src/fix_gravity.rst @@ -77,7 +77,7 @@ Style *vector* imposes an acceleration in the vector direction given by (x,y,z). Only the direction of the vector is important; it's length is ignored. For 2d systems, the *z* component is ignored. -Any of the quantities *magnitude*\ , *angle*\ , *phi*\ , *theta*\ , *x*\ , *y*\ , +Any of the quantities *magnitude*, *angle*, *phi*, *theta*, *x*, *y*, *z* which define the gravitational magnitude and direction, can be specified as an equal-style :doc:`variable `. If the value is a variable, it should be specified as v_name, where name is the diff --git a/doc/src/fix_grem.rst b/doc/src/fix_grem.rst index 8716fc8cd5..3e3ec02994 100644 --- a/doc/src/fix_grem.rst +++ b/doc/src/fix_grem.rst @@ -101,7 +101,7 @@ Restrictions """""""""""" This fix is part of the REPLICA package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/fix_halt.rst b/doc/src/fix_halt.rst index 06f068bb7d..d7f7f75515 100644 --- a/doc/src/fix_halt.rst +++ b/doc/src/fix_halt.rst @@ -54,7 +54,7 @@ dynamics or minimization iterations, as specified by the :doc:`run The specified group-ID is ignored by this fix. The specified *attribute* can be one of the options listed above, namely -*bondmax*, *tlimit*\ , *diskfree*\ , or an :doc:`equal-style variable +*bondmax*, *tlimit*, *diskfree*, or an :doc:`equal-style variable ` referenced as *v_name*, where "name" is the name of a variable that has been defined previously in the input script. @@ -138,16 +138,16 @@ The specified *avalue* must be a numeric value. ---------- The optional *error* keyword determines how the current run is halted. -If its value is *hard*\ , then LAMMPS will stop with an error message. +If its value is *hard*, then LAMMPS will stop with an error message. -If its value is *soft*\ , LAMMPS will exit the current run, but continue +If its value is *soft*, LAMMPS will exit the current run, but continue to execute subsequent commands in the input script. However, additional :doc:`run ` or :doc:`minimize ` commands will be skipped. For example, this allows a script to output the current state of the system, e.g. via a :doc:`write_dump ` or :doc:`write_restart ` command. -If its value is *continue*\ , the behavior is the same as for *soft*\ , +If its value is *continue*, the behavior is the same as for *soft*, except subsequent :doc:`run ` or :doc:`minimize ` commands are executed. This allows your script to remedy the condition that triggered the halt, if necessary. Note that you may wish use the diff --git a/doc/src/fix_hyper_global.rst b/doc/src/fix_hyper_global.rst index 0b46616c5e..c8643b3b86 100644 --- a/doc/src/fix_hyper_global.rst +++ b/doc/src/fix_hyper_global.rst @@ -46,7 +46,7 @@ This can lead to a dramatic speed-up in the rate at which events occurs, without altering their relative frequencies, thus leading to an overall increase in the elapsed real time of the simulation as compared to running for the same number of timesteps with normal MD. -See the :doc:`hyper ` doc page for a more general discussion of +See the :doc:`hyper ` page for a more general discussion of hyperdynamics and citations that explain both GHD and LHD. The equations and logic used by this fix and described here to perform @@ -56,8 +56,8 @@ Fichthorn as described in :ref:`(Miron) `. In LAMMPS we use a simplified version of bond-boost GHD where a single bond in the system is biased at any one timestep. -Bonds are defined between each pair of atoms *ij*\ , whose :math:`R^0_{ij}` -distance is less than *cutbond*\ , when the system is in a quenched state +Bonds are defined between each pair of atoms *ij*, whose :math:`R^0_{ij}` +distance is less than *cutbond*, when the system is in a quenched state (minimum) energy. Note that these are not "bonds" in a covalent sense. A bond is simply any pair of atoms that meet the distance criterion. *Cutbond* is an argument to this fix; it is discussed @@ -70,7 +70,7 @@ The current strain of bond *ij* (when running dynamics) is defined as E_{ij} = \frac{R_{ij} - R^0_{ij}}{R^0_{ij}} -where :math:`R_{ij}` is the current distance between atoms *i* and *j*\ , +where :math:`R_{ij}` is the current distance between atoms *i* and *j*, and :math:`R^0_{ij}` is the equilibrium distance in the quenched state. The bias energy :math:`V_{ij}` of any bond between atoms *i* and *j* @@ -136,7 +136,7 @@ Note that in GHD, the boost factor varies from timestep to timestep. Likewise, which bond has :math:`E^{max}` strain and thus which pair of atoms the bias potential is added to, will also vary from timestep to timestep. This is in contrast to local hyperdynamics (LHD) where the boost -factor is an input parameter; see the :doc:`fix hyper/local ` doc page for details. +factor is an input parameter; see the :doc:`fix hyper/local ` page for details. ---------- @@ -192,7 +192,7 @@ beta term in the exponential factor that determines how much boost is achieved as a function of the bias potential. In general, the lower the value of *Tequil* and the higher the value -of *Vmax*\ , the more time boost will be achievable by the GHD +of *Vmax*, the more time boost will be achievable by the GHD algorithm. ---------- @@ -264,7 +264,7 @@ Restrictions """""""""""" This command can only be used if LAMMPS was built with the REPLICA -package. See the :doc:`Build package ` doc page for more +package. See the :doc:`Build package ` page for more info. Related commands diff --git a/doc/src/fix_hyper_local.rst b/doc/src/fix_hyper_local.rst index 90238e0b4a..22de3bc3ca 100644 --- a/doc/src/fix_hyper_local.rst +++ b/doc/src/fix_hyper_local.rst @@ -61,7 +61,7 @@ This can lead to a dramatic speed-up in the rate at which events occurs, without altering their relative frequencies, thus leading to an overall increase in the elapsed real time of the simulation as compared to running for the same number of timesteps with normal MD. -See the :doc:`hyper ` doc page for a more general discussion of +See the :doc:`hyper ` page for a more general discussion of hyperdynamics and citations that explain both GHD and LHD. The equations and logic used by this fix and described here to perform @@ -139,7 +139,7 @@ to this fix. running constant-temperature (NVT) dynamics. LAMMPS does not check that this is done. -Note that if *ij*\ == *kl*\ , then bond *ij* is a biased bond on that +Note that if *ij*\ == *kl*, then bond *ij* is a biased bond on that timestep, otherwise it is not. But regardless, the boost factor :math:`B_{ij}` can be thought of an estimate of time boost currently being applied within a local region centered on bond *ij*. For LHD, @@ -162,15 +162,15 @@ Note that in LHD, the boost factor :math:`B_{target}` is specified by the user. This is in contrast to global hyperdynamics (GHD) where the boost factor varies each timestep and is computed as a function of :math:`V_{max}`, :math:`E_{max}`, and :math:`T_{equil}`; see the -:doc:`fix hyper/global ` doc page for details. +:doc:`fix hyper/global ` page for details. ---------- Here is additional information on the input parameters for LHD. -Note that the *cutbond*\ , *qfactor*\ , and *Tequil* arguments have the +Note that the *cutbond*, *qfactor*, and *Tequil* arguments have the same meaning as for GHD. The *Vmax* argument is slightly different. -The *Dcut*\ , *alpha*\ , and *Btarget* parameters are unique to LHD. +The *Dcut*, *alpha*, and *Btarget* parameters are unique to LHD. The *cutbond* argument is the cutoff distance for defining bonds between pairs of nearby atoms. A pair of I,J atoms in their @@ -310,7 +310,7 @@ Here is additional information on the optional keywords for this fix. The *bound* keyword turns on min/max bounds for bias coefficients :math:`C_{ij}` for all bonds. :math:`C_{ij}` is a prefactor for each bond on the bias potential of maximum strength :math:`V^{max}`. Depending on the -choice of *alpha* and *Btarget* and *Vmax*\ , the boostostatting can cause +choice of *alpha* and *Btarget* and *Vmax*, the boostostatting can cause individual :math:`C_{ij}` values to fluctuate. If the fluctuations are too large :math:`C_{ij} \cdot V^{max}` can exceed low barrier heights and induce bad event dynamics. Bounding the :math:`C_{ij}` values is a way to prevent @@ -326,7 +326,7 @@ The *reset* keyword allow *Vmax* to be adjusted dynamically depending on the average value of all :math:`C_{ij}` prefactors. This can be useful if you are unsure what value of *Vmax* will match the *Btarget* boost for the system. The :math:`C_{ij}` values will then adjust in aggregate (up or down) -so that :math:`C_{ij} \cdot V^{max}` produces a boost of *Btarget*\ , but this +so that :math:`C_{ij} \cdot V^{max}` produces a boost of *Btarget*, but this may conflict with the *bound* keyword settings. By using *bound* and *reset* together, :math:`V^{max}` itself can be reset, and desired bounds still applied to the :math:`C_{ij}` values. @@ -354,7 +354,7 @@ The *check/bias* keyword turns on extra computation and communication to check if any biased bonds are closer than *Dcut* to each other, which should not be the case if LHD is operating correctly. Thus it is a debugging check. The *Nevery* setting determines how often the -check is made. The *error*\ , *warn*\ , or *ignore* setting determines +check is made. The *error*, *warn*, or *ignore* setting determines what is done if the count of too-close bonds is not zero. Either the code will exit, or issue a warning, or silently tally the count. The count can be output as vector value 17, as described below. If this @@ -447,13 +447,13 @@ next event occurs they may move further than *Dcut* away from the sub-box boundary. Value 19 is the furthest (from the sub-box) any ghost atom in the neighbor list with maxstrain < *qfactor* was accessed during the run. Value 20 is the same except that the ghost -atom's maxstrain may be >= *qfactor*\ , which may mean it is about to +atom's maxstrain may be >= *qfactor*, which may mean it is about to participate in an event. Value 21 is a count of how many ghost atoms could not be found on reneighbor steps, presumably because they moved too far away due to their participation in an event (which will likely be detected at the next quench). -Typical values for 19 and 20 should be slightly larger than *Dcut*\ , +Typical values for 19 and 20 should be slightly larger than *Dcut*, which accounts for ghost atoms initially at a *Dcut* distance moving thermally before the next event takes place. diff --git a/doc/src/fix_imd.rst b/doc/src/fix_imd.rst index 5bb4075873..004bc0b614 100644 --- a/doc/src/fix_imd.rst +++ b/doc/src/fix_imd.rst @@ -78,7 +78,7 @@ fixes would be active at the same time, each needs to use a different port number. The *nowait* keyword controls the behavior of the fix when no IMD -client is connected. With the default setting of *off*\ , LAMMPS will +client is connected. With the default setting of *off*, LAMMPS will wait until a connection is made before continuing with the execution. Setting *nowait* to *on* will have the LAMMPS code be ready to connect to a client, but continue with the simulation. This can for @@ -150,7 +150,7 @@ Restrictions """""""""""" This fix is part of the MISC package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. When used in combination with VMD, a topology or coordinate file has to be loaded, which matches (in number and ordering of atoms) the diff --git a/doc/src/fix_indent.rst b/doc/src/fix_indent.rst index e9dab5141f..bb4b450c94 100644 --- a/doc/src/fix_indent.rst +++ b/doc/src/fix_indent.rst @@ -96,9 +96,9 @@ the plane's current position will feel no force. Vice versa if *side* is specified as *hi*\ . Any of the 4 quantities defining a spherical indenter's geometry can -be specified as an equal-style :doc:`variable `, namely *x*\ , -*y*\ , *z*\ , or *R*\ . Similarly, for a cylindrical indenter, any of *c1*\ , -*c2*\ , or *R*\ , can be a variable. For a planar indenter, *pos* can be +be specified as an equal-style :doc:`variable `, namely *x*, +*y*, *z*, or *R*\ . Similarly, for a cylindrical indenter, any of *c1*, +*c2*, or *R*, can be a variable. For a planar indenter, *pos* can be a variable. If the value is a variable, it should be specified as v_name, where name is the variable name. In this case, the variable will be evaluated each timestep, and its value used to define the @@ -139,10 +139,10 @@ rate. variable rate equal 1.0 variable r equal "v_r0 + step*dt*v_rate" -If the *side* keyword is specified as *out*\ , which is the default, +If the *side* keyword is specified as *out*, which is the default, then particles outside the indenter are pushed away from its outer surface, as described above. This only applies to spherical or -cylindrical indenters. If the *side* keyword is specified as *in*\ , +cylindrical indenters. If the *side* keyword is specified as *in*, the action of the indenter is reversed. Particles inside the indenter are pushed away from its inner surface. In other words, the indenter is now a containing wall that traps the particles inside it. If the @@ -160,7 +160,7 @@ cylindrical indenter is scaled by the x lattice spacing. Note that the units keyword only affects indenter geometry parameters specified directly with numbers, not those specified as variables. In -the latter case, you should use the *xlat*\ , *ylat*\ , *zlat* keywords of +the latter case, you should use the *xlat*, *ylat*, *zlat* keywords of the :doc:`thermo_style ` command if you want to include lattice spacings in a variable formula. @@ -168,7 +168,7 @@ The force constant *K* is not affected by the *units* keyword. It is always in force/distance\^2 units where force and distance are defined by the :doc:`units ` command. If you wish K to be scaled by the lattice spacing, you can define K with a variable whose formula -contains *xlat*\ , *ylat*\ , *zlat* keywords of the +contains *xlat*, *ylat*, *zlat* keywords of the :doc:`thermo_style ` command, e.g. .. code-block:: LAMMPS diff --git a/doc/src/fix_ipi.rst b/doc/src/fix_ipi.rst index f8ea49c845..bd4b4d84e8 100644 --- a/doc/src/fix_ipi.rst +++ b/doc/src/fix_ipi.rst @@ -14,8 +14,8 @@ Syntax * ipi = style name of this fix command * address = internet address (FQDN or IP), or UNIX socket name * port = port number (ignored for UNIX sockets) -* optional keyword = *unix*\ , if present uses a unix socket -* optional keyword = *reset*\ , if present reset electrostatics at each call +* optional keyword = *unix*, if present uses a unix socket +* optional keyword = *reset*, if present reset electrostatics at each call Examples """""""" @@ -86,7 +86,7 @@ i-PI. This fix is part of the MISC package. It is only enabled if LAMMPS was built with that package. See the -:doc:`Build package ` doc page for more info. +:doc:`Build package ` page for more info. Because of the use of UNIX domain sockets, this fix will only work in a UNIX environment. diff --git a/doc/src/fix_langevin.rst b/doc/src/fix_langevin.rst index 918573fc6b..c8be9afc31 100644 --- a/doc/src/fix_langevin.rst +++ b/doc/src/fix_langevin.rst @@ -112,7 +112,7 @@ thermostatting takes place; see the description below. fix - e.g. by :doc:`fix nvt ` or :doc:`fix temp/rescale ` commands. -See the :doc:`Howto thermostat ` doc page for +See the :doc:`Howto thermostat ` page for a discussion of different ways to compute temperature and perform thermostatting. @@ -239,7 +239,7 @@ thermostat. Because the random forces on different atoms are independent, they do not sum exactly to zero. As a result, this fix applies a small random force to the entire system, and the center-of-mass of the system undergoes a slow random walk. If the -keyword *zero* is set to *yes*\ , the total random force is set exactly +keyword *zero* is set to *yes*, the total random force is set exactly to zero by subtracting off an equal part of it from each atom in the group. As a result, the center-of-mass of a system with zero initial momentum will not drift over time. @@ -252,7 +252,7 @@ limit of the integrator), while still producing the correct Boltzmann distribution of atom positions. The current implementation provides the user with the option to output -the velocity in one of two forms: *vfull* or *vhalf*\ , which replaces +the velocity in one of two forms: *vfull* or *vhalf*, which replaces the outdated option *yes*\ . The *gjf* option *vfull* outputs the on-site velocity given in :ref:`Gronbech-Jensen/Farago `; this velocity is shown to be systematically lower @@ -291,8 +291,8 @@ this fix and by the compute should be the same. The cumulative energy change in the system imposed by this fix is included in the :doc:`thermodynamic output ` keywords -*ecouple* and *econserve*\ , but only if the *tally* keyword to set to -*yes*\ . See the :doc:`thermo_style ` doc page for +*ecouple* and *econserve*, but only if the *tally* keyword to set to +*yes*\ . See the :doc:`thermo_style ` page for details. This fix computes a global scalar which can be accessed by various diff --git a/doc/src/fix_langevin_drude.rst b/doc/src/fix_langevin_drude.rst index 77e59a0848..3486723a67 100644 --- a/doc/src/fix_langevin_drude.rst +++ b/doc/src/fix_langevin_drude.rst @@ -100,7 +100,7 @@ transform: f = \frac m {M'}\, F' + f' This fix also thermostats non-polarizable atoms in the group at -temperature *Tcom*\ , as if they had a massless Drude partner. The +temperature *Tcom*, as if they had a massless Drude partner. The Drude particles themselves need not be in the group. The center of mass and the dipole are thermostatted iff the core atom is in the group. @@ -122,7 +122,7 @@ from them before thermostatting takes place; see the description below. Likewise, this fix should not normally be used on atoms that also have their temperature controlled by another fix - e.g. by :doc:`fix nvt ` or :doc:`fix temp/rescale ` commands. -See the :doc:`Howto thermostat ` doc page for a +See the :doc:`Howto thermostat ` page for a discussion of different ways to compute temperature and perform thermostatting. @@ -207,7 +207,7 @@ thermostat on centers of mass. Because the random forces on different centers of mass are independent, they do not sum exactly to zero. As a result, this fix applies a small random force to the entire system, and the momentum of the total center of mass of the system undergoes a -slow random walk. If the keyword *zero* is set to *yes*\ , the total +slow random walk. If the keyword *zero* is set to *yes*, the total random force on the centers of mass is set exactly to zero by subtracting off an equal part of it from each center of mass in the group. As a result, the total center of mass of a system with zero @@ -239,7 +239,7 @@ Comments: * *zero yes* avoids a drift of the center of mass of the system, but is a bit slower. * Use two different random seeds to avoid unphysical correlations. -* Temperature is controlled by the fix *langevin/drude*\ , so the +* Temperature is controlled by the fix *langevin/drude*, so the time-integration fixes do not thermostat. Don't forget to time-integrate both cores and Drude particles. * Pressure is time-integrated only once by using *nve* for Drude @@ -251,7 +251,7 @@ Comments: fix *npt* and :doc:`fix drude/transform `, the *fix_modify* command is not required here, because the fix *nph* computes the global pressure even if its group is *ATOMS*\ . This is - what we want. If we thermostatted *ATOMS* using *npt*\ , the pressure + what we want. If we thermostatted *ATOMS* using *npt*, the pressure should be the global one, but the temperature should be only that of the cores. That's why the command *fix_modify* should be called in that case. diff --git a/doc/src/fix_langevin_eff.rst b/doc/src/fix_langevin_eff.rst index 383980b232..506b5052d5 100644 --- a/doc/src/fix_langevin_eff.rst +++ b/doc/src/fix_langevin_eff.rst @@ -83,8 +83,8 @@ this fix and by the compute should be the same. The cumulative energy change in the system imposed by this fix is included in the :doc:`thermodynamic output ` keywords -*ecouple* and *econserve*\ , but only if the *tally* keyword to set to -*yes*\ . See the :doc:`thermo_style ` doc page for +*ecouple* and *econserve*, but only if the *tally* keyword to set to +*yes*\ . See the :doc:`thermo_style ` page for details. This fix computes a global scalar which can be accessed by various @@ -105,7 +105,7 @@ Restrictions none This fix is part of the EFF package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/fix_langevin_spin.rst b/doc/src/fix_langevin_spin.rst index c73968df48..0926881eef 100644 --- a/doc/src/fix_langevin_spin.rst +++ b/doc/src/fix_langevin_spin.rst @@ -85,7 +85,7 @@ Restrictions """""""""""" The *langevin/spin* fix is part of the SPIN package. This style is -only enabled if LAMMPS was built with this package. See the :doc:`Build package ` doc page for more info. +only enabled if LAMMPS was built with this package. See the :doc:`Build package ` page for more info. The numerical integration has to be performed with *fix nve/spin* when *fix langevin/spin* is enabled. diff --git a/doc/src/fix_latte.rst b/doc/src/fix_latte.rst index 58a8ddbe20..f75d44e3a4 100644 --- a/doc/src/fix_latte.rst +++ b/doc/src/fix_latte.rst @@ -153,7 +153,7 @@ Restrictions This fix is part of the LATTE package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package -` doc page for more info. +` page for more info. You must use metal units, as set by the :doc:`units ` command to use this fix. @@ -171,7 +171,7 @@ doing 99% or more of the work to compute quantum-accurate forces. NEB calculations can be done using this fix using multiple replicas and running LAMMPS in parallel. However, each replica must be run on a single MPI task. For details, see the :doc:`neb ` - command doc page and the :doc:`-partition command-line switch ` + command page and the :doc:`-partition command-line switch ` Related commands """""""""""""""" diff --git a/doc/src/fix_lb_fluid.rst b/doc/src/fix_lb_fluid.rst index 127e846589..21d5d0cb84 100644 --- a/doc/src/fix_lb_fluid.rst +++ b/doc/src/fix_lb_fluid.rst @@ -210,7 +210,7 @@ By default, :math:`\frac{\tau}{dt} = \frac{3\eta dt}{\rho dx^2}` is approximately equal to 1. However, the user has the option of specifying their own values for :math:`dm_{LB}`, and :math:`dx_{LB}`, by using -the optional keywords *dm*\ , and *dx* respectively. +the optional keywords *dm*, and *dx* respectively. .. note:: @@ -224,7 +224,7 @@ the optional keywords *dm*\ , and *dx* respectively. :math:`dx_{LB}` is used, this will automatically be satisfied. Physical parameters describing the fluid are specified through -*viscosity*\ , *density*\ , and *a0*\ . If the force coupling constant is +*viscosity*, *density*, and *a0*\ . If the force coupling constant is set the default way, the surface area associated with the MD particles is specified using the *setArea* keyword. If the user chooses to specify a value for the force coupling constant, this is set using the @@ -342,7 +342,7 @@ Restrictions """""""""""" This fix is part of the LATBOLTZ package. It is only enabled if LAMMPS -was built with that package. See the :doc:`Build package ` doc page for more info. +was built with that package. See the :doc:`Build package ` page for more info. This fix can only be used with an orthogonal simulation domain. diff --git a/doc/src/fix_lb_momentum.rst b/doc/src/fix_lb_momentum.rst index 5a01e1916e..f967c1300a 100644 --- a/doc/src/fix_lb_momentum.rst +++ b/doc/src/fix_lb_momentum.rst @@ -46,7 +46,7 @@ and the fluid velocities at each lattice site. This fix only considers the linear momentum of the system. By default, the subtraction is performed for each dimension. This can -be changed by specifying the keyword *linear*\ , along with a set of +be changed by specifying the keyword *linear*, along with a set of three flags set to 0/1 in order to exclude/ include the corresponding dimension. @@ -67,7 +67,7 @@ Can only be used if a lattice-Boltzmann fluid has been created via the command. This fix is part of the LATBOLTZ package. It is only enabled if LAMMPS -was built with that package. See the :doc:`Build package ` doc page for more info. +was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/fix_lb_pc.rst b/doc/src/fix_lb_pc.rst index 6ba28ec309..6ba3e72482 100644 --- a/doc/src/fix_lb_pc.rst +++ b/doc/src/fix_lb_pc.rst @@ -24,7 +24,7 @@ Description """"""""""" Update the positions and velocities of the individual particles -described by *group-ID*\ , experiencing velocity-dependent hydrodynamic +described by *group-ID*, experiencing velocity-dependent hydrodynamic forces, using the integration algorithm described in :ref:`Mackay et al. `. This integration algorithm should only be used if a user-specified value for the force-coupling constant used in :doc:`fix lb/fluid ` has been set; do not use this integration algorithm if the force coupling constant has been set by default. @@ -42,7 +42,7 @@ Restrictions """""""""""" This fix is part of the LATBOLTZ package. It is only enabled if LAMMPS -was built with that package. See the :doc:`Build package ` doc page for more info. +was built with that package. See the :doc:`Build package ` page for more info. Can only be used if a lattice-Boltzmann fluid has been created via the :doc:`fix lb/fluid ` command, and must come after this diff --git a/doc/src/fix_lb_rigid_pc_sphere.rst b/doc/src/fix_lb_rigid_pc_sphere.rst index 5ee32c29f0..16e00ba12f 100644 --- a/doc/src/fix_lb_rigid_pc_sphere.rst +++ b/doc/src/fix_lb_rigid_pc_sphere.rst @@ -141,7 +141,7 @@ Restrictions This fix is part of the LATBOLTZ package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package -` doc page for more info. +` page for more info. Can only be used if a lattice-Boltzmann fluid has been created via the :doc:`fix lb/fluid ` command, and must come after this diff --git a/doc/src/fix_lb_viscous.rst b/doc/src/fix_lb_viscous.rst index 5bd6889808..cd3712aac4 100644 --- a/doc/src/fix_lb_viscous.rst +++ b/doc/src/fix_lb_viscous.rst @@ -72,7 +72,7 @@ Restrictions """""""""""" This fix is part of the LATBOLTZ package. It is only enabled if LAMMPS -was built with that package. See the :doc:`Build package ` doc page for more info. +was built with that package. See the :doc:`Build package ` page for more info. Can only be used if a lattice-Boltzmann fluid has been created via the :doc:`fix lb/fluid ` command, and must come after this diff --git a/doc/src/fix_manifoldforce.rst b/doc/src/fix_manifoldforce.rst index 964fc1ad1f..2d72743707 100644 --- a/doc/src/fix_manifoldforce.rst +++ b/doc/src/fix_manifoldforce.rst @@ -49,7 +49,7 @@ Restrictions """""""""""" This fix is part of the MANIFOLD package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Only use this with *min_style hftn* or *min_style quickmin*. If not, the constraints will not be satisfied very well at all. A warning is diff --git a/doc/src/fix_mdi_engine.rst b/doc/src/fix_mdi_engine.rst index ca667bfe3b..51a4545fd8 100644 --- a/doc/src/fix_mdi_engine.rst +++ b/doc/src/fix_mdi_engine.rst @@ -46,7 +46,7 @@ Restrictions This command is part of the MDI package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package -` doc page for more info. +` page for more info. Related commands """""""""""""""" diff --git a/doc/src/fix_meso_move.rst b/doc/src/fix_meso_move.rst index 6b290382a3..7b3609a8c7 100644 --- a/doc/src/fix_meso_move.rst +++ b/doc/src/fix_meso_move.rst @@ -125,7 +125,7 @@ notation as where *X0* = (x0,y0,z0) is their position at the time the fix is specified, *A* is the specified amplitude vector with components -(Ax,Ay,Az), *omega* is 2 PI / *period*\ , and *delta* is the time +(Ax,Ay,Az), *omega* is 2 PI / *period*, and *delta* is the time elapsed since the fix was specified. This style also sets the velocity of each particle to the time derivative of this expression. If any of the amplitude components is specified as NULL, then the @@ -150,7 +150,7 @@ The *rotate* style rotates particles around a rotation axis *R* = (Rx,Ry,Rz) that goes through a point *P* = (Px,Py,Pz). The *period* of the rotation is also specified. The direction of rotation for the particles around the rotation axis is consistent with the right-hand -rule: if your right-hand thumb points along *R*\ , then your fingers wrap +rule: if your right-hand thumb points along *R*, then your fingers wrap around the axis in the direction of rotation. This style also sets the velocity of each particle to (omega cross @@ -240,7 +240,7 @@ Restrictions This fix is part of the DPD-SMOOTH package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package -` doc page for more info. +` page for more info. This fix requires that atoms store density and internal energy as defined by the :doc:`atom_style sph ` command. diff --git a/doc/src/fix_modify.rst b/doc/src/fix_modify.rst index a6bac6ac44..47080fcd58 100644 --- a/doc/src/fix_modify.rst +++ b/doc/src/fix_modify.rst @@ -85,7 +85,7 @@ appropriate fix. For most fixes that support the *energy* keyword, the default setting is *no*. For a few it is *yes*, when a user would expect - that to be the case. The doc page of each fix gives the default. + that to be the case. The page of each fix gives the default. The *virial* keyword can be used with fixes that support it, which is explained at the bottom of their doc page. *Virial yes* will add a @@ -110,7 +110,7 @@ option to include or exclude the contribution from fixes. For most fixes that support the *virial* keyword, the default setting is *no*. For a few it is *yes*, when a user would expect - that to be the case. The doc page of each fix gives the default. + that to be the case. The page of each fix gives the default. For fixes that set or modify forces, it may be possible to select at which :doc:`r-RESPA ` level the fix operates via the *respa* diff --git a/doc/src/fix_momentum.rst b/doc/src/fix_momentum.rst index 71b50ddcdb..7d00a4c67b 100644 --- a/doc/src/fix_momentum.rst +++ b/doc/src/fix_momentum.rst @@ -99,7 +99,7 @@ Restrictions Fix momentum/chunk is part of the EXTRA-FIX package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package -` doc page for more info. +` page for more info. Related commands diff --git a/doc/src/fix_move.rst b/doc/src/fix_move.rst index 7ede1f3050..5d3a9de47f 100644 --- a/doc/src/fix_move.rst +++ b/doc/src/fix_move.rst @@ -118,7 +118,7 @@ notation as where *X0* = (x0,y0,z0) is their position at the time the fix is specified, *A* is the specified amplitude vector with components -(Ax,Ay,Az), *omega* is 2 PI / *period*\ , and *delta* is the time +(Ax,Ay,Az), *omega* is 2 PI / *period*, and *delta* is the time elapsed since the fix was specified. This style also sets the velocity of each atom to the time derivative of this expression. If any of the amplitude components is specified as NULL, then the @@ -143,7 +143,7 @@ The *rotate* style rotates atoms around a rotation axis *R* = (Rx,Ry,Rz) that goes through a point *P* = (Px,Py,Pz). The *period* of the rotation is also specified. The direction of rotation for the atoms around the rotation axis is consistent with the right-hand rule: -if your right-hand thumb points along *R*\ , then your fingers wrap +if your right-hand thumb points along *R*, then your fingers wrap around the axis in the direction of rotation. This style also sets the velocity of each atom to (omega cross Rperp) diff --git a/doc/src/fix_mscg.rst b/doc/src/fix_mscg.rst index fe32acdbd5..5e9bc520b5 100644 --- a/doc/src/fix_mscg.rst +++ b/doc/src/fix_mscg.rst @@ -93,8 +93,8 @@ for more info. ---------- The *range* keyword specifies which MS-CG library functionality should -be invoked. If *on*\ , the step 4 range finder functionality is invoked. -*off*\ , the step 5 force matching functionality is invoked. +be invoked. If *on*, the step 4 range finder functionality is invoked. +*off*, the step 5 force matching functionality is invoked. If the *name* keyword is used, string names are defined to associate with the integer atom types in LAMMPS. *Ntype* names must be diff --git a/doc/src/fix_msst.rst b/doc/src/fix_msst.rst index e3996776a1..9502fe21b8 100644 --- a/doc/src/fix_msst.rst +++ b/doc/src/fix_msst.rst @@ -71,7 +71,7 @@ kinetic energy at the start of the simulation. Setting this parameter to a non-zero value may assist in compression at the start of simulations where it is slow to occur. -If keywords *e0*\ , *p0*\ ,or *v0* are not supplied, these quantities will +If keywords *e0*, *p0*,or *v0* are not supplied, these quantities will be calculated on the first step, after the energy specified by *tscale* is removed. The value of *e0* is not used in the dynamical equations, but is used in calculating the deviation from the Hugoniot. @@ -112,7 +112,7 @@ new computes are the fix-ID + "_MSST_temp" or "MSST_press" or The *dftb* keyword is to allow this fix to be used when LAMMPS is being driven by DFTB+, a density-functional tight-binding code. If the -keyword *dftb* is used with a value of *yes*\ , then the MSST equations +keyword *dftb* is used with a value of *yes*, then the MSST equations are altered to account for the electron entropy contribution to the Hugonio relations and total energy. See :ref:`(Reed2) ` and :ref:`(Goldman) ` for details on this contribution. In this case, @@ -152,7 +152,7 @@ integration of the dynamic equations. The global vector contains four values in the following order. The vector values output by this fix are "intensive". -[\ *dhugoniot*\ , *drayleigh*\ , *lagrangian_speed*, +[\ *dhugoniot*, *drayleigh*, *lagrangian_speed*, *lagrangian_position*] 1. *dhugoniot* is the departure from the Hugoniot (temperature units). @@ -177,7 +177,7 @@ Restrictions This fix style is part of the SHOCK package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package -` doc page for more info. +` page for more info. All cell dimensions must be periodic. This fix can not be used with a triclinic cell. The MSST fix has been tested only for the group-ID diff --git a/doc/src/fix_mvv_dpd.rst b/doc/src/fix_mvv_dpd.rst index 429c1c3bb7..efabab2183 100644 --- a/doc/src/fix_mvv_dpd.rst +++ b/doc/src/fix_mvv_dpd.rst @@ -91,7 +91,7 @@ Restrictions """""""""""" This fix is part of the DPD-MESO package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/fix_neb.rst b/doc/src/fix_neb.rst index 848369d3ea..222e1d5fbf 100644 --- a/doc/src/fix_neb.rst +++ b/doc/src/fix_neb.rst @@ -96,7 +96,7 @@ and the relaxation procedure is continued to a new converged MEP. ---------- The keyword *parallel* specifies how the parallel nudging force is -computed. With a value of *neigh*\ , the parallel nudging force is +computed. With a value of *neigh*, the parallel nudging force is computed as in :ref:`(Henkelman1) ` by connecting each intermediate replica with the previous and the next image: @@ -107,7 +107,7 @@ intermediate replica with the previous and the next image: Note that in this case the specified *Kspring* is in force/distance units. -With a value of *ideal*\ , the spring force is computed as suggested in +With a value of *ideal*, the spring force is computed as suggested in ref`(WeinanE) ` .. parsed-literal:: @@ -151,7 +151,7 @@ force is added. By default, no additional forces act on the first and last replicas during the NEB relaxation, so these replicas simply relax toward their -respective local minima. By using the key word *end*\ , additional +respective local minima. By using the key word *end*, additional forces can be applied to the first and/or last replicas, to enable them to relax toward a MEP while constraining their energy E to the target energy ETarget. @@ -166,8 +166,8 @@ If ETarget>E, the interatomic force Fi for the specified replica becomes: The "spring" constant on the difference in energies is the specified *Kspring3* value. -When *estyle* is specified as *first*\ , the force is applied to the -first replica. When *estyle* is specified as *last*\ , the force is +When *estyle* is specified as *first*, the force is applied to the +first replica. When *estyle* is specified as *last*, the force is applied to the last replica. Note that the *end* keyword can be used twice to add forces to both the first and last replicas. @@ -175,13 +175,13 @@ For both these *estyle* settings, the target energy *ETarget* is set to the initial energy of the replica (at the start of the NEB calculation). -If the *estyle* is specified as *last/efirst* or *last/efirst/middle*\ , +If the *estyle* is specified as *last/efirst* or *last/efirst/middle*, force is applied to the last replica, but the target energy *ETarget* is continuously set to the energy of the first replica, as it evolves during the NEB relaxation. The difference between these two *estyle* options is as follows. When -*estyle* is specified as *last/efirst*\ , no change is made to the +*estyle* is specified as *last/efirst*, no change is made to the inter-replica force applied to the intermediate replicas (neither first or last). If the initial path is too far from the MEP, an intermediate replica may relax "faster" and reach a lower energy than @@ -195,7 +195,7 @@ than the first replica. This should effectively prevent the intermediate replicas from over-relaxing. After converging a NEB calculation using an *estyle* of -*last/efirst/middle*\ , you should check that all intermediate replicas +*last/efirst/middle*, you should check that all intermediate replicas have a larger energy than the first replica. If this is not the case, the path is probably not a MEP. diff --git a/doc/src/fix_nh.rst b/doc/src/fix_nh.rst index f40ce0c463..46b343fdce 100644 --- a/doc/src/fix_nh.rst +++ b/doc/src/fix_nh.rst @@ -104,7 +104,7 @@ addition to basic thermostatting and barostatting, these fixes can also create a chain of thermostats coupled to the particle thermostat, and another chain of thermostats coupled to the barostat variables. The barostat can be coupled to the overall box volume, or -to individual dimensions, including the *xy*\ , *xz* and *yz* tilt +to individual dimensions, including the *xy*, *xz* and *yz* tilt dimensions. The external pressure of the barostat can be specified as either a scalar pressure (isobaric ensemble) or as components of a symmetric stress tensor (constant stress ensemble). When used @@ -124,7 +124,7 @@ integrators derived by Tuckerman et al in :ref:`(Tuckerman) `. The thermostat parameters for fix styles *nvt* and *npt* are specified using the *temp* keyword. Other thermostat-related keywords are -*tchain*\ , *tloop* and *drag*\ , which are discussed below. +*tchain*, *tloop* and *drag*, which are discussed below. The thermostat is applied to only the translational degrees of freedom for the particles. The translational degrees of freedom can also have @@ -156,15 +156,15 @@ by the velocity/position update portion of the integration. ---------- The barostat parameters for fix styles *npt* and *nph* is specified -using one or more of the *iso*\ , *aniso*\ , *tri*\ , *x*\ , *y*\ , *z*\ , *xy*\ , -*xz*\ , *yz*\ , and *couple* keywords. These keywords give you the +using one or more of the *iso*, *aniso*, *tri*, *x*, *y*, *z*, *xy*, +*xz*, *yz*, and *couple* keywords. These keywords give you the ability to specify all 6 components of an external stress tensor, and to couple various of these components together so that the dimensions they represent are varied together during a constant-pressure simulation. -Other barostat-related keywords are *pchain*\ , *mtk*\ , *ploop*\ , -*nreset*\ , *drag*\ , and *dilate*\ , which are discussed below. +Other barostat-related keywords are *pchain*, *mtk*, *ploop*, +*nreset*, *drag*, and *dilate*, which are discussed below. Orthogonal simulation boxes have 3 adjustable dimensions (x,y,z). Triclinic (non-orthogonal) simulation boxes have 6 adjustable @@ -173,7 +173,7 @@ specify whether the simulation box is orthogonal or non-orthogonal (triclinic) and explain the meaning of the xy,xz,yz tilt factors. The target pressures for each of the 6 components of the stress tensor -can be specified independently via the *x*\ , *y*\ , *z*\ , *xy*\ , *xz*\ , *yz* +can be specified independently via the *x*, *y*, *z*, *xy*, *xz*, *yz* keywords, which correspond to the 6 simulation box dimensions. For each component, the external pressure or tensor component at each timestep is a ramped value during the run from *Pstart* to *Pstop*\ . @@ -184,7 +184,7 @@ the *xy* keyword is used, the xy tilt factor will change. A box dimension will not change if that component is not specified, although you have the option to change that dimension via the :doc:`fix deform ` command. -Note that in order to use the *xy*\ , *xz*\ , or *yz* keywords, the +Note that in order to use the *xy*, *xz*, or *yz* keywords, the simulation box must be triclinic, even if its initial tilt factors are 0.0. @@ -253,13 +253,13 @@ things: the instantaneous stress will be computed as an average of the corresponding diagonal components, and the coupled box dimensions will be changed together in lockstep, meaning coupled dimensions will be dilated or contracted by the same percentage every timestep. The -*Pstart*\ , *Pstop*\ , *Pdamp* parameters for any coupled dimensions must +*Pstart*, *Pstop*, *Pdamp* parameters for any coupled dimensions must be identical. *Couple xyz* can be used for a 2d simulation; the *z* dimension is simply ignored. ---------- -The *iso*\ , *aniso*\ , and *tri* keywords are simply shortcuts that are +The *iso*, *aniso*, and *tri* keywords are simply shortcuts that are equivalent to specifying several other keywords together. The keyword *iso* means couple all 3 diagonal components together when @@ -274,8 +274,8 @@ specifying these 4 keywords: z Pstart Pstop Pdamp couple xyz -The keyword *aniso* means *x*\ , *y*\ , and *z* dimensions are controlled -independently using the *Pxx*\ , *Pyy*\ , and *Pzz* components of the +The keyword *aniso* means *x*, *y*, and *z* dimensions are controlled +independently using the *Pxx*, *Pyy*, and *Pzz* components of the stress tensor as the driving forces, and the specified scalar external pressure. Using "aniso Pstart Pstop Pdamp" is the same as specifying these 4 keywords: @@ -287,7 +287,7 @@ these 4 keywords: z Pstart Pstop Pdamp couple none -The keyword *tri* means *x*\ , *y*\ , *z*\ , *xy*\ , *xz*\ , and *yz* dimensions +The keyword *tri* means *x*, *y*, *z*, *xy*, *xz*, and *yz* dimensions are controlled independently using their individual stress components as the driving forces, and the specified scalar pressure as the external normal stress. Using "tri Pstart Pstop Pdamp" is the same as @@ -352,7 +352,7 @@ specified values of the external stress tensor. A value of *nstep* means that every *nstep* timesteps, the reference dimensions are set to those of the current simulation domain. -The *scaleyz*\ , *scalexz*\ , and *scalexy* keywords control whether or +The *scaleyz*, *scalexz*, and *scalexy* keywords control whether or not the corresponding tilt factors are scaled with the associated box dimensions when barostatting triclinic periodic cells. The default values *yes* will turn on scaling, which corresponds to adjusting the @@ -365,9 +365,9 @@ scale keywords to *no*\ . The *flip* keyword allows the tilt factors for a triclinic box to exceed half the distance of the parallel box length, as discussed -below. If the *flip* value is set to *yes*\ , the bound is enforced by +below. If the *flip* value is set to *yes*, the bound is enforced by flipping the box when it is exceeded. If the *flip* value is set to -*no*\ , the tilt will continue to change without flipping. Note that if +*no*, the tilt will continue to change without flipping. Note that if applied stress induces large deformations (e.g. in a liquid), this means the box shape can tilt dramatically and LAMMPS will run less efficiently, due to the large volume of communication needed to @@ -379,7 +379,7 @@ The *fixedpoint* keyword specifies the fixed point for barostat volume changes. By default, it is the center of the box. Whatever point is chosen will not move during the simulation. For example, if the lower periodic boundaries pass through (0,0,0), and this point is provided -to *fixedpoint*\ , then the lower periodic boundaries will remain at +to *fixedpoint*, then the lower periodic boundaries will remain at (0,0,0), while the upper periodic boundaries will move twice as far. In all cases, the particle trajectories are unaffected by the chosen value, except for a time-dependent constant translation of @@ -402,7 +402,7 @@ at only a small additional computational cost. .. note:: - Using a barostat coupled to tilt dimensions *xy*\ , *xz*\ , *yz* can + Using a barostat coupled to tilt dimensions *xy*, *xz*, *yz* can sometimes result in arbitrarily large values of the tilt dimensions, i.e. a dramatically deformed simulation box. LAMMPS allows the tilt factors to grow a small amount beyond the normal limit of half the box @@ -410,7 +410,7 @@ at only a small additional computational cost. an equivalent periodic cell. See the discussion of the *flip* keyword above, to allow this bound to be exceeded, if desired. -The flip operation is described in more detail in the doc page for +The flip operation is described in more detail in the page for :doc:`fix deform `. Both the barostat dynamics and the atom trajectories are unaffected by this operation. However, if a tilt factor is incremented by a large amount (1.5 times the box length) on @@ -504,7 +504,7 @@ thermal degrees of freedom, and the bias is added back in. These fixes can be used with either the *verlet* or *respa* :doc:`integrators `. When using one of the barostat fixes -with *respa*\ , LAMMPS uses an integrator constructed +with *respa*, LAMMPS uses an integrator constructed according to the following factorization of the Liouville propagator (for two rRESPA levels): @@ -557,7 +557,7 @@ of the underlying non-Hamiltonian equations of motion. The fix npt and fix nph commands can be used with rigid bodies or mixtures of rigid bodies and non-rigid particles (e.g. solvent). But there are also :doc:`fix rigid/npt ` and :doc:`fix rigid/nph ` commands, which are typically a more natural -choice. See the doc page for those commands for more discussion of +choice. See the page for those commands for more discussion of the various ways to do this. ---------- @@ -599,7 +599,7 @@ compute temperature on a subset of atoms. The cumulative energy change in the system imposed by these fixes, via either thermostatting and/or barostatting, is included in the :doc:`thermodynamic output ` keywords *ecouple* and -*econserve*. See the :doc:`thermo_style ` doc page for +*econserve*. See the :doc:`thermo_style ` page for details. These fixes compute a global scalar which can be accessed by various @@ -613,7 +613,7 @@ vector values are "intensive". The vector stores internal Nose/Hoover thermostat and barostat variables. The number and meaning of the vector values depends on -which fix is used and the settings for keywords *tchain* and *pchain*\ , +which fix is used and the settings for keywords *tchain* and *pchain*, which specify the number of Nose/Hoover chains for the thermostat and barostat. If no thermostatting is done, then *tchain* is 0. If no barostatting is done, then *pchain* is 0. In the following list, @@ -653,10 +653,10 @@ These fixes are not invoked during :doc:`energy minimization `. Restrictions """""""""""" -*X*\ , *y*\ , *z* cannot be barostatted if the associated dimension is not -periodic. *Xy*\ , *xz*\ , and *yz* can only be barostatted if the +*X*, *y*, *z* cannot be barostatted if the associated dimension is not +periodic. *Xy*, *xz*, and *yz* can only be barostatted if the simulation domain is triclinic and the second dimension in the keyword -(\ *y* dimension in *xy*\ ) is periodic. *Z*\ , *xz*\ , and *yz*\ , cannot be +(\ *y* dimension in *xy*\ ) is periodic. *Z*, *xz*, and *yz*, cannot be barostatted for 2D simulations. The :doc:`create_box `, :doc:`read data `, and :doc:`read_restart ` commands specify whether the simulation box is orthogonal or @@ -668,10 +668,10 @@ make the external T = 0.0 at some timestep during the simulation which is not allowed in the Nose/Hoover formulation. The *scaleyz yes* and *scalexz yes* keyword/value pairs can not be used -for 2D simulations. *scaleyz yes*\ , *scalexz yes*\ , and *scalexy yes* options +for 2D simulations. *scaleyz yes*, *scalexz yes*, and *scalexy yes* options can only be used if the second dimension in the keyword is periodic, and if the tilt factor is not coupled to the barostat via keywords -*tri*\ , *yz*\ , *xz*\ , and *xy*\ . +*tri*, *yz*, *xz*, and *xy*\ . These fixes can be used with dynamic groups as defined by the :doc:`group ` command. Likewise they can be used with groups to diff --git a/doc/src/fix_nh_eff.rst b/doc/src/fix_nh_eff.rst index 2dbd5aa85e..11990d365b 100644 --- a/doc/src/fix_nh_eff.rst +++ b/doc/src/fix_nh_eff.rst @@ -68,7 +68,7 @@ domain dimensions (barostatting). In addition to basic thermostatting and barostatting, these fixes can also create a chain of thermostats coupled to the particle thermostat, and another chain of thermostats coupled to the barostat variables. The barostat can be coupled to the -overall box volume, or to individual dimensions, including the *xy*\ , +overall box volume, or to individual dimensions, including the *xy*, *xz* and *yz* tilt dimensions. The external pressure of the barostat can be specified as either a scalar pressure (isobaric ensemble) or as components of a symmetric stress tensor (constant stress ensemble). @@ -110,16 +110,16 @@ to the temperature or kinetic energy from the electron radial velocity. Restart, fix_modify, output, run start/stop, minimize info """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" -See the doc page for the :doc:`fix nvt, npt, and nph ` commands +See the page for the :doc:`fix nvt, npt, and nph ` commands for details. Restrictions """""""""""" This fix is part of the EFF package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. -Other restriction discussed on the doc page for the :doc:`fix nvt, npt, and nph ` commands also apply. +Other restriction discussed on the page for the :doc:`fix nvt, npt, and nph ` commands also apply. .. note:: diff --git a/doc/src/fix_nh_uef.rst b/doc/src/fix_nh_uef.rst index e33b2a639d..b51e232a3c 100644 --- a/doc/src/fix_nh_uef.rst +++ b/doc/src/fix_nh_uef.rst @@ -16,7 +16,7 @@ Syntax * ID, group-ID are documented in :doc:`fix ` command * style_name = *nvt/uef* or *npt/uef* -* *Tstart*\ , *Tstop*\ , and *Tdamp* are documented in the :doc:`fix npt ` command +* *Tstart*, *Tstop*, and *Tdamp* are documented in the :doc:`fix npt ` command * *edot_x* and *edot_y* are the strain rates in the x and y directions (1/(time units)) * one or more keyword/value pairs may be appended @@ -27,7 +27,7 @@ Syntax sets the external dimensions used to calculate the scalar pressure *strain* values = e_x e_y = initial strain usually not needed, but may be needed to resume a run with a data file. - *iso*\ , *x*\ , *y*\ , *z*\ , *tchain*\ , *pchain*\ , *tloop*\ , *ploop*\ , *mtk* keywords + *iso*, *x*, *y*, *z*, *tchain*, *pchain*, *tloop*, *ploop*, *mtk* keywords documented by the :doc:`fix npt ` command Examples @@ -111,7 +111,7 @@ pressure using this fix. The first method involves using the *ext* keyword along with the *iso* pressure style. With this method, the pressure is controlled by scaling the simulation box isotropically to achieve the average pressure only in the directions specified by -*ext*\ . For example, if the *ext* value is set to *xy*\ , the average +*ext*\ . For example, if the *ext* value is set to *xy*, the average pressure (Pxx+Pyy)/2 will be controlled. This example command will control the total hydrostatic pressure under @@ -130,7 +130,7 @@ drawing with uniaxial tension: fix f2 all npt/uef temp 0.7 0.7 0.5 iso 1 1 5 erate -0.5 -0.5 ext xy The second method for pressure control involves setting the normal -stresses using the *x*\ , *y* , and/or *z* keywords. When using this +stresses using the *x*, *y*, and/or *z* keywords. When using this method, the same pressure must be specified via *Pstart* and *Pstop* for all dimensions controlled. Any choice of pressure conditions that would cause LAMMPS to compute a deviatoric stress are not permissible @@ -200,7 +200,7 @@ Restrictions """""""""""" This fix is part of the UEF package. It is only enabled if LAMMPS -was built with that package. See the :doc:`Build package ` doc page for more info. +was built with that package. See the :doc:`Build package ` page for more info. Due to requirements of the boundary conditions, when the *strain* keyword is set to zero (or unset), the initial simulation box must be diff --git a/doc/src/fix_nph_asphere.rst b/doc/src/fix_nph_asphere.rst index 011630a534..a1028efacc 100644 --- a/doc/src/fix_nph_asphere.rst +++ b/doc/src/fix_nph_asphere.rst @@ -41,7 +41,7 @@ point particles and only updates their position and velocity. Additional parameters affecting the barostat are specified by keywords and values documented with the :doc:`fix nph ` command. See, -for example, discussion of the *aniso*\ , and *dilate* keywords. +for example, discussion of the *aniso*, and *dilate* keywords. The particles in the fix group are the only ones whose velocities and positions are updated by the velocity/position update portion of the @@ -50,7 +50,7 @@ NPH integration. Regardless of what particles are in the fix group, a global pressure is computed for all particles. Similarly, when the size of the simulation box is changed, all particles are re-scaled to new positions, unless the -keyword *dilate* is specified with a value of *partial*\ , in which case +keyword *dilate* is specified with a value of *partial*, in which case only the particles in the fix group are re-scaled. The latter can be useful for leaving the coordinates of particles in a solid substrate unchanged and controlling the pressure of a surrounding fluid. @@ -120,7 +120,7 @@ Restrictions """""""""""" This fix is part of the ASPHERE package. It is only enabled if LAMMPS -was built with that package. See the :doc:`Build package ` doc page for more info. +was built with that package. See the :doc:`Build package ` page for more info. This fix requires that atoms store torque and angular momentum and a quaternion as defined by the :doc:`atom_style ellipsoid ` diff --git a/doc/src/fix_nph_body.rst b/doc/src/fix_nph_body.rst index 4c91d28588..1b740a5ae2 100644 --- a/doc/src/fix_nph_body.rst +++ b/doc/src/fix_nph_body.rst @@ -38,7 +38,7 @@ point particles and only updates their position and velocity. Additional parameters affecting the barostat are specified by keywords and values documented with the :doc:`fix nph ` command. See, -for example, discussion of the *aniso*\ , and *dilate* keywords. +for example, discussion of the *aniso*, and *dilate* keywords. The particles in the fix group are the only ones whose velocities and positions are updated by the velocity/position update portion of the @@ -47,7 +47,7 @@ NPH integration. Regardless of what particles are in the fix group, a global pressure is computed for all particles. Similarly, when the size of the simulation box is changed, all particles are re-scaled to new positions, unless the -keyword *dilate* is specified with a value of *partial*\ , in which case +keyword *dilate* is specified with a value of *partial*, in which case only the particles in the fix group are re-scaled. The latter can be useful for leaving the coordinates of particles in a solid substrate unchanged and controlling the pressure of a surrounding fluid. @@ -117,7 +117,7 @@ Restrictions """""""""""" This fix is part of the BODY package. It is only enabled if LAMMPS -was built with that package. See the :doc:`Build package ` doc page for more info. +was built with that package. See the :doc:`Build package ` page for more info. This fix requires that atoms store torque and angular momentum and a quaternion as defined by the :doc:`atom_style body ` diff --git a/doc/src/fix_nph_sphere.rst b/doc/src/fix_nph_sphere.rst index 6062faa50e..2ef85953e5 100644 --- a/doc/src/fix_nph_sphere.rst +++ b/doc/src/fix_nph_sphere.rst @@ -54,7 +54,7 @@ moment of inertia, as used in the time integration. Additional parameters affecting the barostat are specified by keywords and values documented with the :doc:`fix nph ` command. See, -for example, discussion of the *aniso*\ , and *dilate* keywords. +for example, discussion of the *aniso*, and *dilate* keywords. The particles in the fix group are the only ones whose velocities and positions are updated by the velocity/position update portion of the @@ -63,7 +63,7 @@ NPH integration. Regardless of what particles are in the fix group, a global pressure is computed for all particles. Similarly, when the size of the simulation box is changed, all particles are re-scaled to new positions, unless the -keyword *dilate* is specified with a value of *partial*\ , in which case +keyword *dilate* is specified with a value of *partial*, in which case only the particles in the fix group are re-scaled. The latter can be useful for leaving the coordinates of particles in a solid substrate unchanged and controlling the pressure of a surrounding fluid. diff --git a/doc/src/fix_nphug.rst b/doc/src/fix_nphug.rst index 776b3e4849..b45cfe964f 100644 --- a/doc/src/fix_nphug.rst +++ b/doc/src/fix_nphug.rst @@ -63,8 +63,8 @@ jump conditions for steady shocks. The compression can be performed either -hydrostatically (using keyword *iso*\ , *aniso*\ , or *tri*\ ) or uniaxially -(using keywords *x*\ , *y*\ , or *z*\ ). In the hydrostatic case, +hydrostatically (using keyword *iso*, *aniso*, or *tri*\ ) or uniaxially +(using keywords *x*, *y*, or *z*\ ). In the hydrostatic case, the cell dimensions change dynamically so that the average axial stress in all three directions converges towards the specified target value. In the uniaxial case, the chosen cell dimension changes dynamically @@ -74,10 +74,10 @@ other two cell dimensions are kept fixed (zero lateral strain). This leads to the following additional restrictions on the keywords: -* One and only one of the following keywords should be used: *iso*\ , *aniso*\ , *tri*\ , *x*\ , *y*\ , *z* +* One and only one of the following keywords should be used: *iso*, *aniso*, *tri*, *x*, *y*, *z* * The specified initial and final target pressures must be the same. -* The keywords *xy*\ , *xz*\ , *yz* may not be used. -* The only admissible value for the couple keyword is *xyz*\ , which has the same effect as keyword *iso* +* The keywords *xy*, *xz*, *yz* may not be used. +* The only admissible value for the couple keyword is *xyz*, which has the same effect as keyword *iso* * The *temp* keyword must be used to specify the time constant for kinetic energy relaxation, but initial and final target temperature values are ignored. Essentially, a Hugoniostat simulation is an NPT simulation in which the @@ -100,8 +100,8 @@ When the system reaches a stable equilibrium, the value of :math:`\Delta` should fluctuate about zero. The values of :math:`E_0`, :math:`V_0`, and :math:`P_0` are the instantaneous values at the start of -the simulation. These can be overridden using the fix_modify keywords *e0*\ , -*v0*\ , and *p0* described below. +the simulation. These can be overridden using the fix_modify keywords *e0*, +*v0*, and *p0* described below. ---------- @@ -159,7 +159,7 @@ as well as the state of all the thermostat and barostat variables to script that reads a restart file, so that the operation of the fix continues in an uninterrupted fashion. -The :doc:`fix_modify ` *e0*\ , *v0* and *p0* keywords can be +The :doc:`fix_modify ` *e0*, *v0* and *p0* keywords can be used to define the values of :math:`E_0`, :math:`V_0`, and :math:`P_0`. Note the the values for *e0* and *v0* are extensive, and so must correspond to the total energy and volume of the entire system, not @@ -205,7 +205,7 @@ Restrictions This fix style is part of the SHOCK package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package -` doc page for more info. +` page for more info. All the usual restrictions for :doc:`fix npt ` apply, plus the additional ones mentioned above. diff --git a/doc/src/fix_npt_asphere.rst b/doc/src/fix_npt_asphere.rst index f65ecd8d19..28edb59f8d 100644 --- a/doc/src/fix_npt_asphere.rst +++ b/doc/src/fix_npt_asphere.rst @@ -48,8 +48,8 @@ can also have a bias velocity removed from them before thermostatting takes place; see the description below. Additional parameters affecting the thermostat and barostat are -specified by keywords and values documented with the :doc:`fix npt ` command. See, for example, discussion of the *temp*\ , -*iso*\ , *aniso*\ , and *dilate* keywords. +specified by keywords and values documented with the :doc:`fix npt ` command. See, for example, discussion of the *temp*, +*iso*, *aniso*, and *dilate* keywords. The particles in the fix group are the only ones whose velocities and positions are updated by the velocity/position update portion of the @@ -58,7 +58,7 @@ NPT integration. Regardless of what particles are in the fix group, a global pressure is computed for all particles. Similarly, when the size of the simulation box is changed, all particles are re-scaled to new positions, unless the -keyword *dilate* is specified with a value of *partial*\ , in which case +keyword *dilate* is specified with a value of *partial*, in which case only the particles in the fix group are re-scaled. The latter can be useful for leaving the coordinates of particles in a solid substrate unchanged and controlling the pressure of a surrounding fluid. @@ -143,7 +143,7 @@ Restrictions """""""""""" This fix is part of the ASPHERE package. It is only enabled if LAMMPS -was built with that package. See the :doc:`Build package ` doc page for more info. +was built with that package. See the :doc:`Build package ` page for more info. This fix requires that atoms store torque and angular momentum and a quaternion as defined by the :doc:`atom_style ellipsoid ` diff --git a/doc/src/fix_npt_body.rst b/doc/src/fix_npt_body.rst index af0a0fb252..d44870a4fb 100644 --- a/doc/src/fix_npt_body.rst +++ b/doc/src/fix_npt_body.rst @@ -46,8 +46,8 @@ takes place; see the description below. Additional parameters affecting the thermostat and barostat are specified by keywords and values documented with the :doc:`fix npt -` command. See, for example, discussion of the *temp*\ , -*iso*\ , *aniso*\ , and *dilate* keywords. +` command. See, for example, discussion of the *temp*, +*iso*, *aniso*, and *dilate* keywords. The particles in the fix group are the only ones whose velocities and positions are updated by the velocity/position update portion of the @@ -56,7 +56,7 @@ NPT integration. Regardless of what particles are in the fix group, a global pressure is computed for all particles. Similarly, when the size of the simulation box is changed, all particles are re-scaled to new positions, unless the -keyword *dilate* is specified with a value of *partial*\ , in which case +keyword *dilate* is specified with a value of *partial*, in which case only the particles in the fix group are re-scaled. The latter can be useful for leaving the coordinates of particles in a solid substrate unchanged and controlling the pressure of a surrounding fluid. @@ -141,7 +141,7 @@ Restrictions """""""""""" This fix is part of the BODY package. It is only enabled if LAMMPS -was built with that package. See the :doc:`Build package ` doc page for more info. +was built with that package. See the :doc:`Build package ` page for more info. This fix requires that atoms store torque and angular momentum and a quaternion as defined by the :doc:`atom_style body ` diff --git a/doc/src/fix_npt_cauchy.rst b/doc/src/fix_npt_cauchy.rst index 01bf34927c..13b5b7bf70 100644 --- a/doc/src/fix_npt_cauchy.rst +++ b/doc/src/fix_npt_cauchy.rst @@ -73,7 +73,7 @@ addition to basic thermostatting and barostatting, this fix can also create a chain of thermostats coupled to the particle thermostat, and another chain of thermostats coupled to the barostat variables. The barostat can be coupled to the overall box volume, or -to individual dimensions, including the *xy*\ , *xz* and *yz* tilt +to individual dimensions, including the *xy*, *xz* and *yz* tilt dimensions. The external pressure of the barostat can be specified as either a scalar pressure (isobaric ensemble) or as components of a symmetric stress tensor (constant stress ensemble). When used @@ -92,7 +92,7 @@ integrators derived by Tuckerman et al in :ref:`(Tuckerman) `. ---------- The thermostat parameters are specified using the *temp* keyword. -Other thermostat-related keywords are *tchain*\ , *tloop* and *drag*\ , +Other thermostat-related keywords are *tchain*, *tloop* and *drag*, which are discussed below. The thermostat is applied to only the translational degrees of freedom @@ -118,15 +118,15 @@ by the velocity/position update portion of the integration. ---------- -The barostat parameters are specified using one or more of the *iso*\ , -*aniso*\ , *tri*\ , *x*\ , *y*\ , *z*\ , *xy*\ , *xz*\ , *yz*\ , and *couple* keywords. +The barostat parameters are specified using one or more of the *iso*, +*aniso*, *tri*, *x*, *y*, *z*, *xy*, *xz*, *yz*, and *couple* keywords. These keywords give you the ability to specify all 6 components of an external stress tensor, and to couple various of these components together so that the dimensions they represent are varied together during a constant-pressure simulation. -Other barostat-related keywords are *pchain*\ , *mtk*\ , *ploop*\ , -*nreset*\ , *drag*\ , and *dilate*\ , which are discussed below. +Other barostat-related keywords are *pchain*, *mtk*, *ploop*, +*nreset*, *drag*, and *dilate*, which are discussed below. Orthogonal simulation boxes have 3 adjustable dimensions (x,y,z). Triclinic (non-orthogonal) simulation boxes have 6 adjustable @@ -135,7 +135,7 @@ specify whether the simulation box is orthogonal or non-orthogonal (triclinic) and explain the meaning of the xy,xz,yz tilt factors. The target pressures for each of the 6 components of the stress tensor -can be specified independently via the *x*\ , *y*\ , *z*\ , *xy*\ , *xz*\ , *yz* +can be specified independently via the *x*, *y*, *z*, *xy*, *xz*, *yz* keywords, which correspond to the 6 simulation box dimensions. For each component, the external pressure or tensor component at each timestep is a ramped value during the run from *Pstart* to *Pstop*\ . @@ -146,7 +146,7 @@ the *xy* keyword is used, the xy tilt factor will change. A box dimension will not change if that component is not specified, although you have the option to change that dimension via the :doc:`fix deform ` command. -Note that in order to use the *xy*\ , *xz*\ , or *yz* keywords, the +Note that in order to use the *xy*, *xz*, or *yz* keywords, the simulation box must be triclinic, even if its initial tilt factors are 0.0. @@ -193,13 +193,13 @@ things: the instantaneous stress will be computed as an average of the corresponding diagonal components, and the coupled box dimensions will be changed together in lockstep, meaning coupled dimensions will be dilated or contracted by the same percentage every timestep. The -*Pstart*\ , *Pstop*\ , *Pdamp* parameters for any coupled dimensions must +*Pstart*, *Pstop*, *Pdamp* parameters for any coupled dimensions must be identical. *Couple xyz* can be used for a 2d simulation; the *z* dimension is simply ignored. ---------- -The *iso*\ , *aniso*\ , and *tri* keywords are simply shortcuts that are +The *iso*, *aniso*, and *tri* keywords are simply shortcuts that are equivalent to specifying several other keywords together. The keyword *iso* means couple all 3 diagonal components together when @@ -214,8 +214,8 @@ specifying these 4 keywords: z Pstart Pstop Pdamp couple xyz -The keyword *aniso* means *x*\ , *y*\ , and *z* dimensions are controlled -independently using the *Pxx*\ , *Pyy*\ , and *Pzz* components of the +The keyword *aniso* means *x*, *y*, and *z* dimensions are controlled +independently using the *Pxx*, *Pyy*, and *Pzz* components of the stress tensor as the driving forces, and the specified scalar external pressure. Using "aniso Pstart Pstop Pdamp" is the same as specifying these 4 keywords: @@ -227,7 +227,7 @@ these 4 keywords: z Pstart Pstop Pdamp couple none -The keyword *tri* means *x*\ , *y*\ , *z*\ , *xy*\ , *xz*\ , and *yz* dimensions +The keyword *tri* means *x*, *y*, *z*, *xy*, *xz*, and *yz* dimensions are controlled independently using their individual stress components as the driving forces, and the specified scalar pressure as the external normal stress. Using "tri Pstart Pstop Pdamp" is the same as @@ -292,7 +292,7 @@ specified values of the external stress tensor. A value of *nstep* means that every *nstep* timesteps, the reference dimensions are set to those of the current simulation domain. -The *scaleyz*\ , *scalexz*\ , and *scalexy* keywords control whether or +The *scaleyz*, *scalexz*, and *scalexy* keywords control whether or not the corresponding tilt factors are scaled with the associated box dimensions when barostatting triclinic periodic cells. The default values *yes* will turn on scaling, which corresponds to adjusting the @@ -305,9 +305,9 @@ scale keywords to *no*\ . The *flip* keyword allows the tilt factors for a triclinic box to exceed half the distance of the parallel box length, as discussed -below. If the *flip* value is set to *yes*\ , the bound is enforced by +below. If the *flip* value is set to *yes*, the bound is enforced by flipping the box when it is exceeded. If the *flip* value is set to -*no*\ , the tilt will continue to change without flipping. Note that if +*no*, the tilt will continue to change without flipping. Note that if applied stress induces large deformations (e.g. in a liquid), this means the box shape can tilt dramatically and LAMMPS will run less efficiently, due to the large volume of communication needed to @@ -319,7 +319,7 @@ The *fixedpoint* keyword specifies the fixed point for barostat volume changes. By default, it is the center of the box. Whatever point is chosen will not move during the simulation. For example, if the lower periodic boundaries pass through (0,0,0), and this point is provided -to *fixedpoint*\ , then the lower periodic boundaries will remain at +to *fixedpoint*, then the lower periodic boundaries will remain at (0,0,0), while the upper periodic boundaries will move twice as far. In all cases, the particle trajectories are unaffected by the chosen value, except for a time-dependent constant translation of @@ -329,7 +329,7 @@ positions. .. note:: - Using a barostat coupled to tilt dimensions *xy*\ , *xz*\ , *yz* can + Using a barostat coupled to tilt dimensions *xy*, *xz*, *yz* can sometimes result in arbitrarily large values of the tilt dimensions, i.e. a dramatically deformed simulation box. LAMMPS allows the tilt factors to grow a small amount beyond the normal limit of half the box @@ -337,7 +337,7 @@ positions. an equivalent periodic cell. See the discussion of the *flip* keyword above, to allow this bound to be exceeded, if desired. -The flip operation is described in more detail in the doc page for +The flip operation is described in more detail in the page for :doc:`fix deform `. Both the barostat dynamics and the atom trajectories are unaffected by this operation. However, if a tilt factor is incremented by a large amount (1.5 times the box length) on @@ -418,7 +418,7 @@ thermal degrees of freedom, and the bias is added back in. This fix can be used with either the *verlet* or *respa* :doc:`integrators `. When using this fix -with *respa*\ , LAMMPS uses an integrator constructed +with *respa*, LAMMPS uses an integrator constructed according to the following factorization of the Liouville propagator (for two rRESPA levels): @@ -500,7 +500,7 @@ compute temperature on a subset of atoms. The cumulative energy change in the system imposed by this fix, due to thermostatting and/or barostatting, is included in the :doc:`thermodynamic output ` keywords *ecouple* and -*econserve*. See the :doc:`thermo_style ` doc page for +*econserve*. See the :doc:`thermo_style ` page for details. This fix computes a global scalar which can be accessed by various @@ -514,7 +514,7 @@ values are "intensive". The vector stores internal Nose/Hoover thermostat and barostat variables. The number and meaning of the vector values depends on -which fix is used and the settings for keywords *tchain* and *pchain*\ , +which fix is used and the settings for keywords *tchain* and *pchain*, which specify the number of Nose/Hoover chains for the thermostat and barostat. If no thermostatting is done, then *tchain* is 0. If no barostatting is done, then *pchain* is 0. In the following list, @@ -555,12 +555,12 @@ Restrictions """""""""""" This fix is part of the EXTRA-FIX package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. -*X*\ , *y*\ , *z* cannot be barostatted if the associated dimension is not -periodic. *Xy*\ , *xz*\ , and *yz* can only be barostatted if the +*X*, *y*, *z* cannot be barostatted if the associated dimension is not +periodic. *Xy*, *xz*, and *yz* can only be barostatted if the simulation domain is triclinic and the second dimension in the keyword -(\ *y* dimension in *xy*\ ) is periodic. *Z*\ , *xz*\ , and *yz*\ , cannot be +(\ *y* dimension in *xy*\ ) is periodic. *Z*, *xz*, and *yz*, cannot be barostatted for 2D simulations. The :doc:`create_box `, :doc:`read data `, and :doc:`read_restart ` commands specify whether the simulation box is orthogonal or @@ -572,10 +572,10 @@ make the external T = 0.0 at some timestep during the simulation which is not allowed in the Nose/Hoover formulation. The *scaleyz yes* and *scalexz yes* keyword/value pairs can not be used -for 2D simulations. *scaleyz yes*\ , *scalexz yes*\ , and *scalexy yes* options +for 2D simulations. *scaleyz yes*, *scalexz yes*, and *scalexy yes* options can only be used if the second dimension in the keyword is periodic, and if the tilt factor is not coupled to the barostat via keywords -*tri*\ , *yz*\ , *xz*\ , and *xy*\ . +*tri*, *yz*, *xz*, and *xy*\ . The *alpha* keyword modifies the barostat as per Miller et al. (Miller)_"#nc-Miller" so that the Cauchy stress is controlled. diff --git a/doc/src/fix_npt_sphere.rst b/doc/src/fix_npt_sphere.rst index dd78cebbf1..75e4c9a4ec 100644 --- a/doc/src/fix_npt_sphere.rst +++ b/doc/src/fix_npt_sphere.rst @@ -61,8 +61,8 @@ The only difference between discs and spheres in this context is their moment of inertia, as used in the time integration. Additional parameters affecting the thermostat and barostat are -specified by keywords and values documented with the :doc:`fix npt ` command. See, for example, discussion of the *temp*\ , -*iso*\ , *aniso*\ , and *dilate* keywords. +specified by keywords and values documented with the :doc:`fix npt ` command. See, for example, discussion of the *temp*, +*iso*, *aniso*, and *dilate* keywords. The particles in the fix group are the only ones whose velocities and positions are updated by the velocity/position update portion of the @@ -71,7 +71,7 @@ NPT integration. Regardless of what particles are in the fix group, a global pressure is computed for all particles. Similarly, when the size of the simulation box is changed, all particles are re-scaled to new positions, unless the -keyword *dilate* is specified with a value of *partial*\ , in which case +keyword *dilate* is specified with a value of *partial*, in which case only the particles in the fix group are re-scaled. The latter can be useful for leaving the coordinates of particles in a solid substrate unchanged and controlling the pressure of a surrounding fluid. diff --git a/doc/src/fix_numdiff.rst b/doc/src/fix_numdiff.rst index 22c1c59748..b0686f471f 100644 --- a/doc/src/fix_numdiff.rst +++ b/doc/src/fix_numdiff.rst @@ -101,7 +101,9 @@ minimization `. Restrictions """""""""""" - none + +This fix is part of the EXTRA-FIX package. It is only enabled if LAMMPS +was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/fix_nve_asphere.rst b/doc/src/fix_nve_asphere.rst index c49de34d0b..fbba2bc8dd 100644 --- a/doc/src/fix_nve_asphere.rst +++ b/doc/src/fix_nve_asphere.rst @@ -54,7 +54,7 @@ Restrictions """""""""""" This fix is part of the ASPHERE package. It is only enabled if LAMMPS -was built with that package. See the :doc:`Build package ` doc page for more info. +was built with that package. See the :doc:`Build package ` page for more info. This fix requires that atoms store torque and angular momentum and a quaternion as defined by the :doc:`atom_style ellipsoid ` diff --git a/doc/src/fix_nve_asphere_noforce.rst b/doc/src/fix_nve_asphere_noforce.rst index 6bc4b98c7f..7d904bef1c 100644 --- a/doc/src/fix_nve_asphere_noforce.rst +++ b/doc/src/fix_nve_asphere_noforce.rst @@ -48,7 +48,7 @@ Restrictions """""""""""" This fix is part of the ASPHERE package. It is only enabled if LAMMPS -was built with that package. See the :doc:`Build package ` doc page for more info. +was built with that package. See the :doc:`Build package ` page for more info. This fix requires that atoms store torque and angular momentum and a quaternion as defined by the :doc:`atom_style ellipsoid ` diff --git a/doc/src/fix_nve_awpmd.rst b/doc/src/fix_nve_awpmd.rst index a294cebd73..c716a94a84 100644 --- a/doc/src/fix_nve_awpmd.rst +++ b/doc/src/fix_nve_awpmd.rst @@ -46,7 +46,7 @@ Restrictions """""""""""" This fix is part of the AWPMD package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/fix_nve_body.rst b/doc/src/fix_nve_body.rst index 7a763e7d42..45beee0659 100644 --- a/doc/src/fix_nve_body.rst +++ b/doc/src/fix_nve_body.rst @@ -26,7 +26,7 @@ Description Perform constant NVE integration to update position, velocity, orientation, and angular velocity for body particles in the group each timestep. V is volume; E is energy. This creates a system trajectory -consistent with the microcanonical ensemble. See the :doc:`Howto body ` doc page for more details on using body +consistent with the microcanonical ensemble. See the :doc:`Howto body ` page for more details on using body particles. This fix differs from the :doc:`fix nve ` command, which @@ -45,7 +45,7 @@ Restrictions """""""""""" This fix is part of the BODY package. It is only enabled if LAMMPS -was built with that package. See the :doc:`Build package ` doc page for more info. +was built with that package. See the :doc:`Build package ` page for more info. This fix requires that atoms store torque and angular momentum and a quaternion as defined by the :doc:`atom_style body ` diff --git a/doc/src/fix_nve_dot.rst b/doc/src/fix_nve_dot.rst index 26af6efb4b..0a99e11452 100644 --- a/doc/src/fix_nve_dot.rst +++ b/doc/src/fix_nve_dot.rst @@ -47,7 +47,7 @@ Restrictions These pair styles can only be used if LAMMPS was built with the :ref:`CG-DNA ` package and the MOLECULE and ASPHERE package. -See the :doc:`Build package ` doc page for more info. +See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/fix_nve_dotc_langevin.rst b/doc/src/fix_nve_dotc_langevin.rst index 944767ff51..c2835aaccd 100644 --- a/doc/src/fix_nve_dotc_langevin.rst +++ b/doc/src/fix_nve_dotc_langevin.rst @@ -131,7 +131,7 @@ Restrictions These pair styles can only be used if LAMMPS was built with the :ref:`CG-DNA ` package and the MOLECULE and ASPHERE package. -See the :doc:`Build package ` doc page for more info. +See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/fix_nve_eff.rst b/doc/src/fix_nve_eff.rst index 87e64a9661..60bece43d0 100644 --- a/doc/src/fix_nve_eff.rst +++ b/doc/src/fix_nve_eff.rst @@ -43,7 +43,7 @@ Restrictions """""""""""" This fix is part of the EFF package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/fix_nve_line.rst b/doc/src/fix_nve_line.rst index b65c543529..5bb6fd4213 100644 --- a/doc/src/fix_nve_line.rst +++ b/doc/src/fix_nve_line.rst @@ -26,7 +26,7 @@ Description Perform constant NVE integration to update position, velocity, orientation, and angular velocity for line segment particles in the group each timestep. V is volume; E is energy. This creates a system -trajectory consistent with the microcanonical ensemble. See :doc:`Howto spherical ` doc page for an overview of using line +trajectory consistent with the microcanonical ensemble. See :doc:`Howto spherical ` page for an overview of using line segment particles. This fix differs from the :doc:`fix nve ` command, which @@ -45,7 +45,7 @@ Restrictions """""""""""" This fix is part of the ASPHERE package. It is only enabled if LAMMPS -was built with that package. See the :doc:`Build package ` doc page for more info. +was built with that package. See the :doc:`Build package ` page for more info. This fix requires that particles be line segments as defined by the :doc:`atom_style line ` command. diff --git a/doc/src/fix_nve_manifold_rattle.rst b/doc/src/fix_nve_manifold_rattle.rst index e0c0c10b4a..a9bf07de60 100644 --- a/doc/src/fix_nve_manifold_rattle.rst +++ b/doc/src/fix_nve_manifold_rattle.rst @@ -84,7 +84,7 @@ Restrictions """""""""""" This fix is part of the MANIFOLD package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. ---------- diff --git a/doc/src/fix_nve_noforce.rst b/doc/src/fix_nve_noforce.rst index 167da24475..ee02f795a1 100644 --- a/doc/src/fix_nve_noforce.rst +++ b/doc/src/fix_nve_noforce.rst @@ -48,7 +48,9 @@ the :doc:`run ` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" - none + +This fix is part of the EXTRA-FIX package. It is only enabled if LAMMPS +was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/fix_nve_spin.rst b/doc/src/fix_nve_spin.rst index 143ddb2426..e35647aef4 100644 --- a/doc/src/fix_nve_spin.rst +++ b/doc/src/fix_nve_spin.rst @@ -58,7 +58,7 @@ Restrictions """""""""""" This fix style can only be used if LAMMPS was built with the SPIN -package. See the :doc:`Build package ` doc page for more +package. See the :doc:`Build package ` page for more info. To use the spin algorithm, it is necessary to define a map with diff --git a/doc/src/fix_nve_tri.rst b/doc/src/fix_nve_tri.rst index ad4376e8ec..b511d9b318 100644 --- a/doc/src/fix_nve_tri.rst +++ b/doc/src/fix_nve_tri.rst @@ -27,7 +27,7 @@ Perform constant NVE integration to update position, velocity, orientation, and angular momentum for triangular particles in the group each timestep. V is volume; E is energy. This creates a system trajectory consistent with the microcanonical ensemble. See the -:doc:`Howto spherical ` doc page for an overview of +:doc:`Howto spherical ` page for an overview of using triangular particles. This fix differs from the :doc:`fix nve ` command, which @@ -46,7 +46,7 @@ Restrictions """""""""""" This fix is part of the ASPHERE package. It is only enabled if LAMMPS -was built with that package. See the :doc:`Build package ` doc page for more info. +was built with that package. See the :doc:`Build package ` page for more info. This fix requires that particles be triangles as defined by the :doc:`atom_style tri ` command. diff --git a/doc/src/fix_nvk.rst b/doc/src/fix_nvk.rst index 30f5a0e004..0d83a4b1be 100644 --- a/doc/src/fix_nvk.rst +++ b/doc/src/fix_nvk.rst @@ -58,7 +58,7 @@ This fix has not yet been implemented to work with the RESPA integrator. This fix is part of the EXTRA-FIX package. It is only enabled if LAMMPS was built with that package. See the -:doc:`Build package ` doc page for more info. +:doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/fix_nvt_asphere.rst b/doc/src/fix_nvt_asphere.rst index 98e8a5b495..00f4588f7f 100644 --- a/doc/src/fix_nvt_asphere.rst +++ b/doc/src/fix_nvt_asphere.rst @@ -121,7 +121,7 @@ Restrictions """""""""""" This fix is part of the ASPHERE package. It is only enabled if LAMMPS -was built with that package. See the :doc:`Build package ` doc page for more info. +was built with that package. See the :doc:`Build package ` page for more info. This fix requires that atoms store torque and angular momentum and a quaternion as defined by the :doc:`atom_style ellipsoid ` diff --git a/doc/src/fix_nvt_body.rst b/doc/src/fix_nvt_body.rst index 02b7d0c66c..28ad3e7857 100644 --- a/doc/src/fix_nvt_body.rst +++ b/doc/src/fix_nvt_body.rst @@ -118,7 +118,7 @@ Restrictions """""""""""" This fix is part of the BODY package. It is only enabled if LAMMPS -was built with that package. See the :doc:`Build package ` doc page for more info. +was built with that package. See the :doc:`Build package ` page for more info. This fix requires that atoms store torque and angular momentum and a quaternion as defined by the :doc:`atom_style body ` diff --git a/doc/src/fix_nvt_manifold_rattle.rst b/doc/src/fix_nvt_manifold_rattle.rst index 3815138064..fe889bda79 100644 --- a/doc/src/fix_nvt_manifold_rattle.rst +++ b/doc/src/fix_nvt_manifold_rattle.rst @@ -64,7 +64,7 @@ Restrictions """""""""""" This fix is part of the MANIFOLD package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. ---------- diff --git a/doc/src/fix_nvt_sllod_eff.rst b/doc/src/fix_nvt_sllod_eff.rst index 328ff7d4e5..7500735054 100644 --- a/doc/src/fix_nvt_sllod_eff.rst +++ b/doc/src/fix_nvt_sllod_eff.rst @@ -70,7 +70,7 @@ Restrictions """""""""""" This fix is part of the EFF package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. This fix works best without Nose-Hoover chain thermostats, i.e. using tchain = 1. Setting tchain to larger values can result in poor diff --git a/doc/src/fix_oneway.rst b/doc/src/fix_oneway.rst index e899703fc1..f54cc42ed0 100644 --- a/doc/src/fix_oneway.rst +++ b/doc/src/fix_oneway.rst @@ -52,7 +52,7 @@ Restrictions """""""""""" This fix is part of the MISC package. It is only enabled if LAMMPS -was built with that package. See the :doc:`Build package ` doc page for more info. +was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/fix_orient.rst b/doc/src/fix_orient.rst index 02fda71a0a..68522209b7 100644 --- a/doc/src/fix_orient.rst +++ b/doc/src/fix_orient.rst @@ -179,7 +179,7 @@ Restrictions These fixes are part of the ORIENT package. They are only enabled if LAMMPS was built with that package. See the :doc:`Build package -` doc page for more info. +` page for more info. These fixes should only be used with fcc or bcc lattices. diff --git a/doc/src/fix_orient_eco.rst b/doc/src/fix_orient_eco.rst index b58cf2dd8e..b2fc71f1f7 100644 --- a/doc/src/fix_orient_eco.rst +++ b/doc/src/fix_orient_eco.rst @@ -124,7 +124,7 @@ Restrictions This fix is part of the ORIENT package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package -` doc page for more info. +` page for more info. Related commands diff --git a/doc/src/fix_pafi.rst b/doc/src/fix_pafi.rst index 4c38123dd3..c8830316a2 100644 --- a/doc/src/fix_pafi.rst +++ b/doc/src/fix_pafi.rst @@ -85,7 +85,7 @@ Restrictions """""""""""" This fix is part of the EXTRA-FIX package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Default diff --git a/doc/src/fix_pair_tracker.rst b/doc/src/fix_pair_tracker.rst index 6e544b1c80..5c2ecf5774 100644 --- a/doc/src/fix_pair_tracker.rst +++ b/doc/src/fix_pair_tracker.rst @@ -99,7 +99,7 @@ the array is the number of recorded, lost interactions. If a single input is specified, a local vector is produced. If two or more inputs are specified, a local array is produced where the number of columns = the number of inputs. The vector or array can be accessed by any command -that uses local values from a compute as input. See the :doc:`Howto output ` doc page for an overview of LAMMPS output +that uses local values from a compute as input. See the :doc:`Howto output ` page for an overview of LAMMPS output options. The vector or array values will be doubles that correspond to the @@ -111,7 +111,7 @@ Restrictions Must be used in conjunction with :doc:`pair style tracker `. This fix is part of the MISC package. It is only enabled if LAMMPS -was built with that package. See the :doc:`Build package ` doc page for more info. +was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/fix_phonon.rst b/doc/src/fix_phonon.rst index e151d8a671..d1b19173ce 100644 --- a/doc/src/fix_phonon.rst +++ b/doc/src/fix_phonon.rst @@ -138,7 +138,7 @@ code, `latgen `_, can be employed to generate the compatible map file for various crystals. In case one simulates a non-periodic system, where the whole simulation -box is treated as a unit cell, one can set *map_file* as *GAMMA*\ , so +box is treated as a unit cell, one can set *map_file* as *GAMMA*, so that the mapping info will be generated internally and a file is not needed. In this case, the dynamical matrix at only the gamma-point will/can be evaluated. Please keep in mind that fix-phonon is designed @@ -182,9 +182,9 @@ temperature of the system should not exceed the melting temperature to keep the system in its solid state. This fix is part of the PHONON package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. -This fix requires LAMMPS be built with an FFT library. See the :doc:`Build settings ` doc page for details. +This fix requires LAMMPS be built with an FFT library. See the :doc:`Build settings ` page for details. Related commands """""""""""""""" @@ -204,19 +204,19 @@ the :doc:`dimension ` command, and nasr = 20. **(Campana)** C. Campana and M. H. Muser, *Practical Green's function approach to the -simulation of elastic semi-infinite solids*\ , `Phys. Rev. B [74], 075420 (2006) `_ +simulation of elastic semi-infinite solids*, `Phys. Rev. B [74], 075420 (2006) `_ .. _Kong: **(Kong)** L.T. Kong, G. Bartels, C. Campana, C. Denniston, and Martin H. Muser, *Implementation of Green's -function molecular dynamics: An extension to LAMMPS*\ , `Computer Physics Communications [180](6):1004-1010 (2009). `_ +function molecular dynamics: An extension to LAMMPS*, `Computer Physics Communications [180](6):1004-1010 (2009). `_ L.T. Kong, C. Denniston, and Martin H. Muser, *An improved version of the Green's function molecular dynamics -method*\ , `Computer Physics Communications [182](2):540-541 (2011). `_ +method*, `Computer Physics Communications [182](2):540-541 (2011). `_ .. _Kong2011: **(Kong2011)** L.T. Kong, *Phonon dispersion measured directly from -molecular dynamics simulations*\ , `Computer Physics Communications [182](10):2201-2207, (2011). `_ +molecular dynamics simulations*, `Computer Physics Communications [182](10):2201-2207, (2011). `_ diff --git a/doc/src/fix_pimd.rst b/doc/src/fix_pimd.rst index 60e0847eab..9735284280 100644 --- a/doc/src/fix_pimd.rst +++ b/doc/src/fix_pimd.rst @@ -154,7 +154,7 @@ Restrictions This fix is part of the REPLICA package. It is only enabled if LAMMPS was built with that package. See the -:doc:`Build package ` doc page for more info. +:doc:`Build package ` page for more info. A PIMD simulation can be initialized with a single data file read via the :doc:`read_data ` command. However, this means all diff --git a/doc/src/fix_plumed.rst b/doc/src/fix_plumed.rst index fda37ff64e..c562ecc81d 100644 --- a/doc/src/fix_plumed.rst +++ b/doc/src/fix_plumed.rst @@ -115,7 +115,7 @@ Restrictions This fix is part of the PLUMED package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package -` doc page for more info. +` page for more info. There can only be one fix plumed command active at a time. diff --git a/doc/src/fix_poems.rst b/doc/src/fix_poems.rst index b782b7809e..7ecb4eef7d 100644 --- a/doc/src/fix_poems.rst +++ b/doc/src/fix_poems.rst @@ -57,14 +57,14 @@ Each body must have a non-degenerate inertia tensor, which means if must contain at least 3 non-collinear atoms. Which atoms are in which bodies can be defined via several options. -For option *group*\ , each of the listed groups is treated as a rigid +For option *group*, each of the listed groups is treated as a rigid body. Note that only atoms that are also in the fix group are included in each rigid body. -For option *molecule*\ , each set of atoms in the group with a different +For option *molecule*, each set of atoms in the group with a different molecule ID is treated as a rigid body. -For option *file*\ , sets of atoms are read from the specified file and +For option *file*, sets of atoms are read from the specified file and each set is treated as a rigid body. Each line of the file specifies a rigid body in the following format: @@ -136,7 +136,7 @@ Restrictions This fix is part of the :ref:`POEMS ` package. It is only enabled if LAMMPS was built with that package, which also requires the POEMS library be built and linked with LAMMPS. See the :doc:`Build -package ` doc page for more info. +package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/fix_polarize.rst b/doc/src/fix_polarize.rst index bebed3aba0..e130d3010d 100644 --- a/doc/src/fix_polarize.rst +++ b/doc/src/fix_polarize.rst @@ -88,7 +88,7 @@ Restrictions These fixes are part of the DIELECTRIC package. It is only enabled if LAMMPS was built with that package, which requires that also the KSPACE package is installed. See the :doc:`Build package -` doc page for more info. +` page for more info. Related commands diff --git a/doc/src/fix_pour.rst b/doc/src/fix_pour.rst index 7757191482..742648ac76 100644 --- a/doc/src/fix_pour.rst +++ b/doc/src/fix_pour.rst @@ -158,10 +158,10 @@ many timesteps until the desired # of particles has been inserted. All other keywords are optional with defaults as shown below. The *diam* option is only used when inserting atoms and specifies the -diameters of inserted particles. There are 3 styles: *one*\ , *range*\ , -or *poly*\ . For *one*\ , all particles will have diameter *D*\ . For -*range*\ , the diameter of each particle will be chosen randomly and -uniformly between the specified *Dlo* and *Dhi* bounds. For *poly*\ , a +diameters of inserted particles. There are 3 styles: *one*, *range*, +or *poly*\ . For *one*, all particles will have diameter *D*\ . For +*range*, the diameter of each particle will be chosen randomly and +uniformly between the specified *Dlo* and *Dhi* bounds. For *poly*, a series of *Npoly* diameters is specified. For each diameter a percentage value from 0.0 to 1.0 is also specified. The *Npoly* percentages must sum to 1.0. For the example shown above with "diam 2 @@ -252,7 +252,7 @@ Restrictions """""""""""" This fix is part of the GRANULAR package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. For 3d simulations, a gravity fix in the -z direction must be defined for use in conjunction with this fix. For 2d simulations, gravity diff --git a/doc/src/fix_precession_spin.rst b/doc/src/fix_precession_spin.rst index 6a563bc32f..36a10c8ce6 100644 --- a/doc/src/fix_precession_spin.rst +++ b/doc/src/fix_precession_spin.rst @@ -175,7 +175,7 @@ Restrictions The *precession/spin* style is part of the SPIN package. This style is only enabled if LAMMPS was built with this package, and if the atom_style "spin" was declared. See the :doc:`Build package -` doc page for more info. +` page for more info. Related commands """""""""""""""" diff --git a/doc/src/fix_press_berendsen.rst b/doc/src/fix_press_berendsen.rst index eb7adafc57..6d92a00178 100644 --- a/doc/src/fix_press_berendsen.rst +++ b/doc/src/fix_press_berendsen.rst @@ -46,7 +46,7 @@ timestep. Regardless of what atoms are in the fix group, a global pressure is computed for all atoms. Similarly, when the size of the simulation box is changed, all atoms are re-scaled to new positions, unless the -keyword *dilate* is specified with a value of *partial*\ , in which case +keyword *dilate* is specified with a value of *partial*, in which case only the atoms in the fix group are re-scaled. The latter can be useful for leaving the coordinates of atoms in a solid substrate unchanged and controlling the pressure of a surrounding fluid. @@ -61,13 +61,13 @@ unchanged and controlling the pressure of a surrounding fluid. atoms. This fix can be used in conjunction with thermostatting fixes to control the temperature, such as :doc:`fix nvt ` or :doc:`fix langevin ` or :doc:`fix temp/berendsen `. -See the :doc:`Howto baroostat ` doc page for a +See the :doc:`Howto baroostat ` page for a discussion of different ways to perform barostatting. ---------- -The barostat is specified using one or more of the *iso*\ , *aniso*\ , -*x*\ , *y*\ , *z*\ , and *couple* keywords. These keywords give you the +The barostat is specified using one or more of the *iso*, *aniso*, +*x*, *y*, *z*, and *couple* keywords. These keywords give you the ability to specify the 3 diagonal components of an external stress tensor, and to couple various of these components together so that the dimensions they represent are varied together during a @@ -77,7 +77,7 @@ constant-pressure simulation. Unlike the :doc:`fix npt ` and general pressure tensor. The target pressures for each of the 3 diagonal components of the -stress tensor can be specified independently via the *x*\ , *y*\ , *z*\ , +stress tensor can be specified independently via the *x*, *y*, *z*, keywords, which correspond to the 3 simulation box dimensions. For each component, the external pressure or tensor component at each timestep is a ramped value during the run from *Pstart* to *Pstop*\ . @@ -131,7 +131,7 @@ things: the instantaneous stress will be computed as an average of the corresponding diagonal components, and the coupled box dimensions will be changed together in lockstep, meaning coupled dimensions will be dilated or contracted by the same percentage every timestep. The -*Pstart*\ , *Pstop*\ , *Pdamp* parameters for any coupled dimensions must +*Pstart*, *Pstop*, *Pdamp* parameters for any coupled dimensions must be identical. *Couple xyz* can be used for a 2d simulation; the *z* dimension is simply ignored. @@ -152,8 +152,8 @@ specifying these 4 keywords: z Pstart Pstop Pdamp couple xyz -The keyword *aniso* means *x*\ , *y*\ , and *z* dimensions are controlled -independently using the *Pxx*\ , *Pyy*\ , and *Pzz* components of the +The keyword *aniso* means *x*, *y*, and *z* dimensions are controlled +independently using the *Pxx*, *Pyy*, and *Pzz* components of the stress tensor as the driving forces, and the specified scalar external pressure. Using "aniso Pstart Pstop Pdamp" is the same as specifying these 4 keywords: diff --git a/doc/src/fix_propel_self.rst b/doc/src/fix_propel_self.rst index a086cb442b..863d43b6f2 100644 --- a/doc/src/fix_propel_self.rst +++ b/doc/src/fix_propel_self.rst @@ -146,7 +146,7 @@ Restrictions """""""""""" With keyword *dipole*, this fix only works when the DIPOLE package is enabled. -See the :doc:`Build package ` doc page for more info. +See the :doc:`Build package ` page for more info. This fix is part of the BROWNIAN package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` diff --git a/doc/src/fix_property_atom.rst b/doc/src/fix_property_atom.rst index 0768c59ac8..8ac19af25d 100644 --- a/doc/src/fix_property_atom.rst +++ b/doc/src/fix_property_atom.rst @@ -56,7 +56,7 @@ is read. This fix will augment the set of properties with new custom ones. This can be useful in several scenarios. If the atom style does not define molecule IDs, per-atom charge, -or per-atom mass, they can be added using the *mol*\ , *q* or *rmass* +or per-atom mass, they can be added using the *mol*, *q* or *rmass* keywords. This can be useful, e.g, to define "molecules" to use as rigid bodies with the :doc:`fix rigid ` command, or just to carry around an extra flag with the atoms (stored as a molecule ID) @@ -80,7 +80,7 @@ and second, it may define additional properties that are not needed such as bond lists, which has some overhead when there are no bonds. In the future, we may add additional per-atom properties similar to -*mol*\ , *q* or *rmass*\ , which "turn-on" specific properties defined +*mol*, *q* or *rmass*, which "turn-on" specific properties defined by some atom styles, so they can be used by atom styles that do not define them. @@ -108,7 +108,7 @@ new properties are also defined for the ghost atoms. .. admonition:: Properties on ghost atoms :class: note - If you use this command with the *mol*\ , *q* or *rmass* vectors, + If you use this command with the *mol*, *q* or *rmass* vectors, then you most likely want to set *ghost* yes, since these properties are stored with ghost atoms if you use an :doc:`atom_style ` that defines them, and many LAMMPS operations that use molecule IDs or diff --git a/doc/src/fix_python_invoke.rst b/doc/src/fix_python_invoke.rst index 94bad11f00..c82fb91a27 100644 --- a/doc/src/fix_python_invoke.rst +++ b/doc/src/fix_python_invoke.rst @@ -70,7 +70,7 @@ Restrictions """""""""""" This fix is part of the PYTHON package. It is only enabled if LAMMPS -was built with that package. See the :doc:`Build package ` doc page for more info. +was built with that package. See the :doc:`Build package ` page for more info. Building LAMMPS with the PYTHON package will link LAMMPS with the Python library on your system. Settings to enable this are in the diff --git a/doc/src/fix_python_move.rst b/doc/src/fix_python_move.rst index 15014ef4fe..b338dcbfac 100644 --- a/doc/src/fix_python_move.rst +++ b/doc/src/fix_python_move.rst @@ -95,7 +95,7 @@ Restrictions """""""""""" This pair style is part of the PYTHON package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/fix_qbmsst.rst b/doc/src/fix_qbmsst.rst index abf8ed1aae..5428eeb637 100644 --- a/doc/src/fix_qbmsst.rst +++ b/doc/src/fix_qbmsst.rst @@ -100,10 +100,10 @@ command :doc:`fix qtb ` at constant temperature *T_init* could be used before applying this command to introduce self-consistent quantum nuclear effects into the initial state. -The parameters *q*\ , *mu*\ , *e0*\ , *p0*\ , *v0* and *tscale* are described -in the command :doc:`fix msst `. The values of *e0*\ , *p0*\ , or +The parameters *q*, *mu*, *e0*, *p0*, *v0* and *tscale* are described +in the command :doc:`fix msst `. The values of *e0*, *p0*, or *v0* will be calculated on the first step if not specified. The -parameter of *damp*\ , *f_max*, and *N_f* are described in the command +parameter of *damp*, *f_max*, and *N_f* are described in the command :doc:`fix qtb `. The *fix qbmsst* command couples the shock system to a quantum thermal @@ -152,8 +152,8 @@ Because the state of the random number generator is not written to "exactly" in an uninterrupted fashion. However, in a statistical sense, a restarted simulation should produce similar behaviors of the system as if it is not interrupted. To achieve such a restart, one -should write explicitly the same value for *q*\ , *mu*\ , *damp*\ , -*f_max*, *N_f*, *eta*\ , and *beta* and set *tscale* = 0 if the system +should write explicitly the same value for *q*, *mu*, *damp*, +*f_max*, *N_f*, *eta*, and *beta* and set *tscale* = 0 if the system is compressed during the first run. The cumulative energy change in the system imposed by this fix is @@ -177,7 +177,7 @@ integration of the dynamic equations. The global vector contains five values in the following order. The vector values output by this fix are "intensive". -[\ *dhugoniot*\ , *drayleigh*\ , *lagrangian_speed*, *lagrangian_position*, +[\ *dhugoniot*, *drayleigh*, *lagrangian_speed*, *lagrangian_position*, *quantum_temperature*] 1. *dhugoniot* is the departure from the Hugoniot (temperature units). @@ -210,7 +210,7 @@ Restrictions This fix style is part of the QTB package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package -` doc page for more info. +` page for more info. All cell dimensions must be periodic. This fix can not be used with a triclinic cell. The QBMSST fix has been tested only for the group-ID diff --git a/doc/src/fix_qeq.rst b/doc/src/fix_qeq.rst index 113692da9b..eab35391b5 100644 --- a/doc/src/fix_qeq.rst +++ b/doc/src/fix_qeq.rst @@ -94,7 +94,7 @@ on the current atom configuration), then remove the fix via the `. The :doc:`fix qeq/reaxff ` command can be used to perform charge equilibration with the :doc:`ReaxFF force field `, although fix qeq/shielded yields the same - results as fix qeq/reaxff if *Nevery*\ , *cutoff*\ , and *tolerance* + results as fix qeq/reaxff if *Nevery*, *cutoff*, and *tolerance* are the same. Eventually the fix qeq/reaxff command will be deprecated. @@ -151,7 +151,7 @@ the shielded Coulomb is given by equation (13) of the :ref:`ReaxFF force field ` paper. The shielding accounts for charge overlap between charged particles at small separation. This style is the same as :doc:`fix qeq/reaxff `, and can be used with -:doc:`pair_style reaxff `. Only the *chi*\ , *eta*\ , and +:doc:`pair_style reaxff `. Only the *chi*, *eta*, and *gamma* parameters from the *qfile* file are used. When using the string *reaxff* as filename, these parameters are extracted directly from an active *reaxff* pair style. This style solves partial charges on atoms @@ -163,7 +163,7 @@ charge densities centered around atoms via the Slater 1\ *s* orbital, so that the interaction between a pair of charged particles is the product of two Slater 1\ *s* orbitals. The expression for the Slater 1\ *s* orbital is given under equation (6) of the :ref:`Streitz-Mintmire -` paper. Only the *chi*\ , *eta*\ , *zeta*\ , and *qcore* +` paper. Only the *chi*, *eta*, *zeta*, and *qcore* parameters from the *qfile* file are used. When using the string *coul/streitz* as filename, these parameters are extracted directly from an active *coul/streitz* pair style. This style solves partial charges @@ -186,16 +186,16 @@ minimization algorithm to solve for equilibrium charges. Keyword *qdamp* can be used to change the damping factor, while keyword *qstep* can be used to change the time step size. -Note that *qeq/point*\ , *qeq/shielded*\ , and *qeq/slater* describe +Note that *qeq/point*, *qeq/shielded*, and *qeq/slater* describe different charge models, whereas the matrix inversion method and the extended Lagrangian method (\ *qeq/dynamic* and *qeq/fire*\ ) are different solvers. -Note that *qeq/point*\ , *qeq/dynamic* and *qeq/fire* styles all +Note that *qeq/point*, *qeq/dynamic* and *qeq/fire* styles all describe charges as point charges that interact through 1/r relationship, but solve partial charges on atoms using different solvers. These three styles should yield comparable results if the QEq -parameters and *Nevery*\ , *cutoff*\ , and *tolerance* are the same. +parameters and *Nevery*, *cutoff*, and *tolerance* are the same. Style *qeq/point* is typically faster, *qeq/dynamic* scales better on larger sizes, and *qeq/fire* is faster than *qeq/dynamic*\ . @@ -228,7 +228,7 @@ Restrictions These fixes are part of the QEQ package. They are only enabled if LAMMPS was built with that package. See the :doc:`Build package -` doc page for more info. +` page for more info. The qeq fixes are not compatible with the GPU and USER-INTEL packages. diff --git a/doc/src/fix_qeq_reaxff.rst b/doc/src/fix_qeq_reaxff.rst index 96a20d4ca6..ada9e22ed7 100644 --- a/doc/src/fix_qeq_reaxff.rst +++ b/doc/src/fix_qeq_reaxff.rst @@ -57,7 +57,7 @@ with their neighbors. It requires some parameters for each atom type. If the *params* setting above is the word "reaxff", then these are extracted from the :doc:`pair_style reaxff ` command and the ReaxFF force field file it reads in. If a file name is specified -for *params*\ , then the parameters are taken from the specified file +for *params*, then the parameters are taken from the specified file and the file must contain one line for each atom type. The latter form must be used when performing QeQ with a non-ReaxFF potential. Each line should be formatted as follows: @@ -110,7 +110,7 @@ Restrictions This fix is part of the REAXFF package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package -` doc page for more info. +` page for more info. This fix does not correctly handle interactions involving multiple periodic images of the same atom. Hence, it should not be used for diff --git a/doc/src/fix_qmmm.rst b/doc/src/fix_qmmm.rst index acbafccded..a62bd5ab1e 100644 --- a/doc/src/fix_qmmm.rst +++ b/doc/src/fix_qmmm.rst @@ -56,7 +56,7 @@ Restrictions This fix is part of the QMMM package. It is only enabled if LAMMPS was built with that package. It also requires building a -library provided with LAMMPS. See the :doc:`Build package ` doc page for more info. +library provided with LAMMPS. See the :doc:`Build package ` page for more info. The fix is only functional when LAMMPS is built as a library and linked with a compatible QM program and a QM/MM front end into a QM/MM diff --git a/doc/src/fix_qtb.rst b/doc/src/fix_qtb.rst index 6ea3e97f9a..e6975748c4 100644 --- a/doc/src/fix_qtb.rst +++ b/doc/src/fix_qtb.rst @@ -163,7 +163,7 @@ Restrictions This fix style is part of the QTB package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package -` doc page for more info. +` page for more info. ---------- diff --git a/doc/src/fix_reaxff_bonds.rst b/doc/src/fix_reaxff_bonds.rst index 5dd4df7765..15b2eb6da9 100644 --- a/doc/src/fix_reaxff_bonds.rst +++ b/doc/src/fix_reaxff_bonds.rst @@ -31,7 +31,7 @@ Description Write out the bond information computed by the ReaxFF potential specified by :doc:`pair_style reaxff ` in the exact same format as the original stand-alone ReaxFF code of Adri van Duin. The bond information -is written to *filename* on timesteps that are multiples of *Nevery*\ , +is written to *filename* on timesteps that are multiples of *Nevery*, including timestep 0. For time-averaged chemical species analysis, please see the :doc:`fix reaxff/species ` command. @@ -78,7 +78,7 @@ Restrictions The fix reaxff/bonds command requires that the :doc:`pair_style reaxff ` is invoked. This fix is part of the REAXFF package. It is only enabled if LAMMPS was built with that -package. See the :doc:`Build package ` doc page for more +package. See the :doc:`Build package ` page for more info. To write gzipped bond files, you must compile LAMMPS with the diff --git a/doc/src/fix_reaxff_species.rst b/doc/src/fix_reaxff_species.rst index bca9c2c726..434e18d8a5 100644 --- a/doc/src/fix_reaxff_species.rst +++ b/doc/src/fix_reaxff_species.rst @@ -87,15 +87,15 @@ chemical formula, total charge, and center-of-mass xyz positions of this molecule. The xyz positions are in fractional coordinates relative to the box dimensions. -For the keyword *position*\ , the *filepos* is the name of the output +For the keyword *position*, the *filepos* is the name of the output file. It can contain the wildcard character "\*". If the "\*" -character appears in *filepos*\ , then one file per snapshot is written +character appears in *filepos*, then one file per snapshot is written at *posfreq* and the "\*" character is replaced with the timestep value. For example, AuO.pos.\* becomes AuO.pos.0, AuO.pos.1000, etc. ---------- -The *Nevery*\ , *Nrepeat*\ , and *Nfreq* arguments specify on what +The *Nevery*, *Nrepeat*, and *Nfreq* arguments specify on what timesteps the bond-order values are sampled to get the average bond order. The species analysis is performed using the average bond-order on timesteps that are a multiple of *Nfreq*\ . The average is over @@ -148,7 +148,7 @@ Restrictions The "fix reaxff/species" requires that :doc:`pair_style reaxff ` is used. This fix is part of the REAXFF package. It is only enabled if LAMMPS was built with that -package. See the :doc:`Build package ` doc page for more info. +package. See the :doc:`Build package ` page for more info. To write gzipped species files, you must compile LAMMPS with the -DLAMMPS_GZIP option. diff --git a/doc/src/fix_recenter.rst b/doc/src/fix_recenter.rst index 583b4d46c5..a6243e693f 100644 --- a/doc/src/fix_recenter.rst +++ b/doc/src/fix_recenter.rst @@ -58,7 +58,7 @@ example, the COM could be computed on a protein to keep it in the center of the simulation box. But the entire system (protein + water) could be shifted. -If the *units* keyword is set to *box*\ , then the distance units of +If the *units* keyword is set to *box*, then the distance units of x,y,z are defined by the :doc:`units ` command - e.g. Angstroms for *real* units. A *lattice* value means the distance units are in lattice spacings. The :doc:`lattice ` command must have been diff --git a/doc/src/fix_rhok.rst b/doc/src/fix_rhok.rst index f48b562ca8..9d6114328f 100644 --- a/doc/src/fix_rhok.rst +++ b/doc/src/fix_rhok.rst @@ -72,7 +72,7 @@ Restrictions This fix is part of the EXTRA-FIX package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package -` doc page for more info. +` page for more info. Related commands """""""""""""""" diff --git a/doc/src/fix_rigid.rst b/doc/src/fix_rigid.rst index 43750d59a1..5b367a48a4 100644 --- a/doc/src/fix_rigid.rst +++ b/doc/src/fix_rigid.rst @@ -253,7 +253,7 @@ differences may accumulate to produce divergent trajectories. they effect any computation of per-atom forces or torques. If the keyword *reinit* is set to *yes* (the default), the rigid body data structures will be recreated at the beginning of each *run* command; - if the keyword *reinit* is set to *no*\ , the rigid body data structures + if the keyword *reinit* is set to *no*, the rigid body data structures will be built only at the very first *run* command and maintained for as long as the rigid fix is defined. For example, you might think you could displace the atoms in a body or add a large velocity to each atom @@ -275,7 +275,7 @@ via several options. .. note:: With the *rigid/small* styles, which require that *bodystyle* be - specified as *molecule* or *custom*\ , you can define a system that has + specified as *molecule* or *custom*, you can define a system that has no rigid bodies initially. This is useful when you are using the *mol* keyword in conjunction with another fix that is adding rigid bodies on-the-fly as molecules, such as :doc:`fix deposit ` @@ -284,7 +284,7 @@ via several options. For bodystyle *single* the entire fix group of atoms is treated as one rigid body. This option is only allowed for the *rigid* styles. -For bodystyle *molecule*\ , atoms are grouped into rigid bodies by their +For bodystyle *molecule*, atoms are grouped into rigid bodies by their respective molecule IDs: each set of atoms in the fix group with the same molecule ID is treated as a different rigid body. This option is allowed for both the *rigid* and *rigid/small* styles. Note that @@ -300,7 +300,7 @@ of atoms that form rigid bodies. An integer vector defined by the :doc:`fix property/atom ` command can be used. Or an :doc:`atom-style or atomfile-style variable ` can be used; the floating-point value produced by the variable is rounded to an -integer. As with bodystyle *molecule*\ , each set of atoms in the fix +integer. As with bodystyle *molecule*, each set of atoms in the fix groups with the same integer value is treated as a different rigid body. Since fix property/atom vectors and atom-style variables produce values for all atoms, you should be careful to use a fix group @@ -388,7 +388,7 @@ body. ---------- -The *rigid*\ , *rigid/nve*\ , *rigid/small*\ , and *rigid/small/nve* styles +The *rigid*, *rigid/nve*, *rigid/small*, and *rigid/small/nve* styles perform constant NVE time integration. They are referred to below as the 4 NVE rigid styles. The only difference is that the *rigid* and *rigid/small* styles use an integration technique based on Richardson @@ -404,14 +404,14 @@ of the rigid bodies. They are referred to below as the 2 NVT rigid styles. The rigid-body algorithm used by *rigid/nvt* is described in the paper by :ref:`Kamberaj `. -The *rigid/npt*\ , *rigid/nph*\ , *rigid/npt/small*\ , and *rigid/nph/small* +The *rigid/npt*, *rigid/nph*, *rigid/npt/small*, and *rigid/nph/small* styles perform constant NPT or NPH integration using a Nose/Hoover barostat with chains. They are referred to below as the 4 NPT and NPH rigid styles. For the NPT case, the same Nose/Hoover thermostat is also used as with *rigid/nvt* and *rigid/nvt/small*\ . -The barostat parameters are specified using one or more of the *iso*\ , -*aniso*\ , *x*\ , *y*\ , *z* and *couple* keywords. These keywords give you +The barostat parameters are specified using one or more of the *iso*, +*aniso*, *x*, *y*, *z* and *couple* keywords. These keywords give you the ability to specify 3 diagonal components of the external stress tensor, and to couple these components together so that the dimensions they represent are varied together during a constant-pressure @@ -420,12 +420,12 @@ defined in :doc:`fix npt/nph ` .. note:: - Currently the *rigid/npt*\ , *rigid/nph*\ , *rigid/npt/small*\ , and + Currently the *rigid/npt*, *rigid/nph*, *rigid/npt/small*, and *rigid/nph/small* styles do not support triclinic (non-orthogonal) boxes. The target pressures for each of the 6 components of the stress tensor -can be specified independently via the *x*\ , *y*\ , *z* keywords, which +can be specified independently via the *x*, *y*, *z* keywords, which correspond to the 3 simulation box dimensions. For each component, the external pressure or tensor component at each timestep is a ramped value during the run from *Pstart* to *Pstop*\ . If a target pressure is @@ -465,7 +465,7 @@ things: the instantaneous stress will be computed as an average of the corresponding diagonal components, and the coupled box dimensions will be changed together in lockstep, meaning coupled dimensions will be dilated or contracted by the same percentage every timestep. The -*Pstart*\ , *Pstop*\ , *Pdamp* parameters for any coupled dimensions must +*Pstart*, *Pstop*, *Pdamp* parameters for any coupled dimensions must be identical. *Couple xyz* can be used for a 2d simulation; the *z* dimension is simply ignored. @@ -484,8 +484,8 @@ specifying these 4 keywords: z Pstart Pstop Pdamp couple xyz -The keyword *aniso* means *x*\ , *y*\ , and *z* dimensions are controlled -independently using the *Pxx*\ , *Pyy*\ , and *Pzz* components of the +The keyword *aniso* means *x*, *y*, and *z* dimensions are controlled +independently using the *Pxx*, *Pyy*, and *Pzz* components of the stress tensor as the driving forces, and the specified scalar external pressure. Using "aniso Pstart Pstop Pdamp" is the same as specifying these 4 keywords: @@ -517,8 +517,8 @@ discussed below. The *langevin* keyword applies a Langevin thermostat to the constant NVE time integration performed by any of the 4 NVE rigid styles: -*rigid*\ , *rigid/nve*\ , *rigid/small*\ , *rigid/small/nve*\ . It cannot be -used with the 2 NVT rigid styles: *rigid/nvt*\ , *rigid/small/nvt*\ . The +*rigid*, *rigid/nve*, *rigid/small*, *rigid/small/nve*\ . It cannot be +used with the 2 NVT rigid styles: *rigid/nvt*, *rigid/small/nvt*\ . The desired temperature at each timestep is a ramped value during the run from *Tstart* to *Tstop*\ . The *Tdamp* parameter is specified in time units and determines how rapidly the temperature is relaxed. For @@ -531,7 +531,7 @@ The way that Langevin thermostatting operates is explained on the :doc:`fix lang damp the rotational motion without thermostatting, you can set *Tstart* and *Tstop* to 0.0, which means only the viscous drag term in the Langevin thermostat will be applied. See the discussion on the -:doc:`fix viscous ` doc page for details. +:doc:`fix viscous ` page for details. .. note:: @@ -851,7 +851,7 @@ Restrictions """""""""""" These fixes are all part of the RIGID package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Assigning a temperature via the :doc:`velocity create ` command to a system with :doc:`rigid bodies ` may not have diff --git a/doc/src/fix_rigid_meso.rst b/doc/src/fix_rigid_meso.rst index 32ad4aa6c6..0883897aae 100644 --- a/doc/src/fix_rigid_meso.rst +++ b/doc/src/fix_rigid_meso.rst @@ -104,7 +104,7 @@ internal energy and extrapolated velocity are also updated. they effect any computation of per-particle forces or torques. If the keyword *reinit* is set to *yes* (the default), the rigid body data structures will be recreated at the beginning of each *run* command; - if the keyword *reinit* is set to *no*\ , the rigid body data structures + if the keyword *reinit* is set to *no*, the rigid body data structures will be built only at the very first *run* command and maintained for as long as the rigid fix is defined. For example, you might think you could displace the particles in a body or add a large velocity to each particle @@ -126,7 +126,7 @@ defined via several options. For bodystyle *single* the entire fix group of particles is treated as one rigid body. -For bodystyle *molecule*\ , particles are grouped into rigid bodies by their +For bodystyle *molecule*, particles are grouped into rigid bodies by their respective molecule IDs: each set of particles in the fix group with the same molecule ID is treated as a different rigid body. Note that particles with a molecule ID = 0 will be treated as a single rigid body. For a @@ -141,13 +141,13 @@ of particles that form rigid bodies. An integer vector defined by the :doc:`fix property/atom ` command can be used. Or an :doc:`atom-style or atomfile-style variable ` can be used; the floating-point value produced by the variable is rounded to an -integer. As with bodystyle *molecule*\ , each set of particles in the fix +integer. As with bodystyle *molecule*, each set of particles in the fix groups with the same integer value is treated as a different rigid body. Since fix property/atom vectors and atom-style variables produce values for all particles, you should be careful to use a fix group that only includes particles you want to be part of rigid bodies. -For bodystyle *group*\ , each of the listed groups is treated as a +For bodystyle *group*, each of the listed groups is treated as a separate rigid body. Only particles that are also in the fix group are included in each rigid body. @@ -346,7 +346,7 @@ Restrictions This fix is part of the DPD-SMOOTH package and also depends on the RIGID package. It is only enabled if LAMMPS was built with both packages. See -the :doc:`Build package ` doc page for more info. +the :doc:`Build package ` page for more info. This fix requires that atoms store density and internal energy as defined by the :doc:`atom_style sph ` command. diff --git a/doc/src/fix_rx.rst b/doc/src/fix_rx.rst index c3406df5d0..4028a4e7e1 100644 --- a/doc/src/fix_rx.rst +++ b/doc/src/fix_rx.rst @@ -62,7 +62,7 @@ in concentration of a given species as a function of time are then constructed based on the *n* reaction rate equations. The ODE systems are solved over the full DPD timestep *dt* using either a fourth -order Runge-Kutta *rk4* method with a fixed step-size *h*\ , specified +order Runge-Kutta *rk4* method with a fixed step-size *h*, specified by the *lammps_rk4* keyword, or a fourth order Runge-Kutta-Fehlberg (rkf45) method with an adaptive step-size for *h*\ . The number of ODE steps per DPD timestep for the rk4 method is optionally specified immediately after the rk4 @@ -182,8 +182,8 @@ through its stoichiometric coefficient and a species tag. Reactant species are specified on the left-hand side of the equation and product species are specified on the right-hand side of the equation. After specifying the reactant and product species, the final three -arguments of each line represent the Arrhenius parameter *A*\ , the -temperature exponent *n*\ , and the activation energy *Ea*\ . +arguments of each line represent the Arrhenius parameter *A*, the +temperature exponent *n*, and the activation energy *Ea*\ . Note that the species tags that are defined in the reaction equations are used by the :doc:`fix eos/table/rx ` command to @@ -207,7 +207,7 @@ Restrictions """""""""""" This command is part of the DPD-REACT package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. This command also requires use of the :doc:`atom_style dpd ` command. diff --git a/doc/src/fix_saed_vtk.rst b/doc/src/fix_saed_vtk.rst index 9dd8fb8641..a9e8f154e6 100644 --- a/doc/src/fix_saed_vtk.rst +++ b/doc/src/fix_saed_vtk.rst @@ -72,7 +72,7 @@ values, e.g. ---------- -The *Nevery*\ , *Nrepeat*\ , and *Nfreq* arguments specify on what +The *Nevery*, *Nrepeat*, and *Nfreq* arguments specify on what timesteps the input values will be used in order to contribute to the average. The final averaged quantities are generated on timesteps that are a multiple of *Nfreq*\ . The average is over *Nrepeat* @@ -126,14 +126,14 @@ Additional optional keywords also affect the operation of this fix. The *ave* keyword determines how the values produced every *Nfreq* steps are averaged with values produced on previous steps that were -multiples of *Nfreq*\ , before they are accessed by another output +multiples of *Nfreq*, before they are accessed by another output command or written to a file. -If the *ave* setting is *one*\ , then the values produced on timesteps +If the *ave* setting is *one*, then the values produced on timesteps that are multiples of *Nfreq* are independent of each other; they are output as-is without further averaging. -If the *ave* setting is *running*\ , then the values produced on +If the *ave* setting is *running*, then the values produced on timesteps that are multiples of *Nfreq* are summed and averaged in a cumulative sense before being output. Each output value is thus the average of the value produced on that timestep with all preceding @@ -141,7 +141,7 @@ values. This running average begins when the fix is defined; it can only be restarted by deleting the fix via the :doc:`unfix ` command, or by re-defining the fix by re-specifying it. -If the *ave* setting is *window*\ , then the values produced on +If the *ave* setting is *window*, then the values produced on timesteps that are multiples of *Nfreq* are summed and averaged within a moving "window" of time, so that the last M values are used to produce the output. E.g. if M = 3 and Nfreq = 1000, then the output diff --git a/doc/src/fix_setforce.rst b/doc/src/fix_setforce.rst index 406826e5b9..fd1eb70c4a 100644 --- a/doc/src/fix_setforce.rst +++ b/doc/src/fix_setforce.rst @@ -54,8 +54,8 @@ Any of the fx,fy,fz values can be specified as NULL which means do not alter the force component in that dimension. Any of the 3 quantities defining the force components can be specified -as an equal-style or atom-style :doc:`variable `, namely *fx*\ , -*fy*\ , *fz*\ . If the value is a variable, it should be specified as +as an equal-style or atom-style :doc:`variable `, namely *fx*, +*fy*, *fz*\ . If the value is a variable, it should be specified as v_name, where name is the variable name. In this case, the variable will be evaluated each timestep, and its value used to determine the force component. @@ -89,7 +89,7 @@ precession vectors instead of the forces. ---------- -Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are +Styles with a *gpu*, *intel*, *kk*, *omp*, or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available hardware, as discussed on the :doc:`Speed packages ` doc @@ -101,13 +101,13 @@ region must be used. See the region :doc:`region ` command for more information. These accelerated styles are part of the r Kokkos package. They are -only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +only enabled if LAMMPS was built with that package. See the :doc:`Build package ` page for more info. You can specify the accelerated styles explicitly in your input script by including their suffix, or you can use the :doc:`-suffix command-line switch ` when you invoke LAMMPS, or you can use the :doc:`suffix ` command in your input script. -See the :doc:`Speed packages ` doc page for more +See the :doc:`Speed packages ` page for more instructions on how to use the accelerated styles effectively. ---------- diff --git a/doc/src/fix_shake.rst b/doc/src/fix_shake.rst index 8e8f3e0988..f0c847cb5e 100644 --- a/doc/src/fix_shake.rst +++ b/doc/src/fix_shake.rst @@ -71,8 +71,8 @@ required in order to eliminate velocity components along the bonds In order to formulate individual constraints for SHAKE and RATTLE, focus on a single molecule whose bonds are constrained. Let Ri and Vi -be the position and velocity of atom *i* at time *n*\ , for -*i* =1,...,\ *N*\ , where *N* is the number of sites of our reference +be the position and velocity of atom *i* at time *n*, for +*i* =1,...,\ *N*, where *N* is the number of sites of our reference molecule. The distance vector between sites *i* and *j* is given by .. math:: @@ -213,7 +213,7 @@ Restrictions These fixes are part of the RIGID package. They are only enabled if LAMMPS was built with that package. See the :doc:`Build package -` doc page for more info. +` page for more info. For computational efficiency, there can only be one shake or rattle fix defined in a simulation. diff --git a/doc/src/fix_shardlow.rst b/doc/src/fix_shardlow.rst index 9f60df7e75..94e4b557f5 100644 --- a/doc/src/fix_shardlow.rst +++ b/doc/src/fix_shardlow.rst @@ -42,9 +42,9 @@ necessary). Note that numerous variants of DPD can be specified by choosing an appropriate combination of the integrator and :doc:`pair_style dpd/fdt ` command. DPD under isothermal conditions can -be specified by using fix *shardlow*\ , fix *nve* and pair_style +be specified by using fix *shardlow*, fix *nve* and pair_style *dpd/fdt*\ . DPD under isoenergetic conditions can be specified by -using fix *shardlow*\ , fix *nve* and pair_style *dpd/fdt/energy*\ . DPD +using fix *shardlow*, fix *nve* and pair_style *dpd/fdt/energy*\ . DPD under isobaric conditions can be specified by using fix shardlow, fix *nph* and pair_style *dpd/fdt*\ . DPD under isoenthalpic conditions can be specified by using fix shardlow, fix *nph* and pair_style @@ -61,7 +61,7 @@ Restrictions """""""""""" This command is part of the DPD-REACT package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. This fix is currently limited to orthogonal simulation cell geometries. diff --git a/doc/src/fix_smd.rst b/doc/src/fix_smd.rst index f59a852be6..93554a4510 100644 --- a/doc/src/fix_smd.rst +++ b/doc/src/fix_smd.rst @@ -145,7 +145,7 @@ Restrictions """""""""""" This fix is part of the MISC package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/fix_smd_adjust_dt.rst b/doc/src/fix_smd_adjust_dt.rst index c1dc008c55..0f1be7ed24 100644 --- a/doc/src/fix_smd_adjust_dt.rst +++ b/doc/src/fix_smd_adjust_dt.rst @@ -55,7 +55,7 @@ Restrictions """""""""""" This fix is part of the MACHDYN package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/fix_smd_integrate_tlsph.rst b/doc/src/fix_smd_integrate_tlsph.rst index 4f19b98c49..c4f5e61c7e 100644 --- a/doc/src/fix_smd_integrate_tlsph.rst +++ b/doc/src/fix_smd_integrate_tlsph.rst @@ -51,7 +51,7 @@ Restrictions """""""""""" This fix is part of the MACHDYN package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/fix_smd_integrate_ulsph.rst b/doc/src/fix_smd_integrate_ulsph.rst index d6bcdd68a5..8f2e0b2b88 100644 --- a/doc/src/fix_smd_integrate_ulsph.rst +++ b/doc/src/fix_smd_integrate_ulsph.rst @@ -59,7 +59,7 @@ Restrictions """""""""""" This fix is part of the MACHDYN package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/fix_smd_move_triangulated_surface.rst b/doc/src/fix_smd_move_triangulated_surface.rst index 2da904400a..76f7240007 100644 --- a/doc/src/fix_smd_move_triangulated_surface.rst +++ b/doc/src/fix_smd_move_triangulated_surface.rst @@ -73,7 +73,7 @@ Restrictions """""""""""" This fix is part of the MACHDYN package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/fix_smd_setvel.rst b/doc/src/fix_smd_setvel.rst index bc475914df..9dcc3c636c 100644 --- a/doc/src/fix_smd_setvel.rst +++ b/doc/src/fix_smd_setvel.rst @@ -42,8 +42,8 @@ alter the velocity component in that dimension. This fix is indented to be used together with a time integration fix. Any of the 3 quantities defining the velocity components can be specified -as an equal-style or atom-style :doc:`variable `, namely *vx*\ , -*vy*\ , *vz*\ . If the value is a variable, it should be specified as +as an equal-style or atom-style :doc:`variable `, namely *vx*, +*vy*, *vz*\ . If the value is a variable, it should be specified as v_name, where name is the variable name. In this case, the variable will be evaluated each timestep, and its value used to determine the force component. @@ -82,7 +82,7 @@ Restrictions """""""""""" This fix is part of the MACHDYN package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/fix_smd_wall_surface.rst b/doc/src/fix_smd_wall_surface.rst index 040cfa7483..192ab7a518 100644 --- a/doc/src/fix_smd_wall_surface.rst +++ b/doc/src/fix_smd_wall_surface.rst @@ -60,7 +60,7 @@ Restrictions """""""""""" This fix is part of the MACHDYN package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. The molecule ID given to the particles created by this fix have to be equal to or larger than 65535. diff --git a/doc/src/fix_sph.rst b/doc/src/fix_sph.rst index 624209660c..1133142f05 100644 --- a/doc/src/fix_sph.rst +++ b/doc/src/fix_sph.rst @@ -45,7 +45,7 @@ Restrictions """""""""""" This fix is part of the SPH package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/fix_sph_stationary.rst b/doc/src/fix_sph_stationary.rst index a239ce478e..4496a10eca 100644 --- a/doc/src/fix_sph_stationary.rst +++ b/doc/src/fix_sph_stationary.rst @@ -45,7 +45,7 @@ Restrictions """""""""""" This fix is part of the SPH package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/fix_spring_rg.rst b/doc/src/fix_spring_rg.rst index 21035f9def..aba35c8134 100644 --- a/doc/src/fix_spring_rg.rst +++ b/doc/src/fix_spring_rg.rst @@ -83,7 +83,9 @@ integrator the fix is adding its forces. Default is the outermost level. Restrictions """""""""""" - none + +This fix is part of the EXTRA-FIX package. It is only enabled if LAMMPS +was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/fix_srd.rst b/doc/src/fix_srd.rst index 4ff260f575..872bee181c 100644 --- a/doc/src/fix_srd.rst +++ b/doc/src/fix_srd.rst @@ -185,7 +185,7 @@ needed. The *radius* keyword scales the effective size of big particles. If big particles will overlap as they undergo dynamics, then this keyword can be used to scale down their effective collision radius by an -amount *rfactor*\ , so that SRD particle will only collide with one big +amount *rfactor*, so that SRD particle will only collide with one big particle at a time. For example, in a Lennard-Jones system at a temperature of 1.0 (in reduced LJ units), the minimum separation between two big particles is as small as about 0.88 sigma. Thus an @@ -267,15 +267,15 @@ vector. The specified random number *shiftseed* is used to generate these vectors. This operation sufficiently randomizes which SRD particles are in the same bin, even if :math:`lambda` is small. -If the *shift* flag is set to *no*\ , then no shifting is performed, but +If the *shift* flag is set to *no*, then no shifting is performed, but bin data will be communicated if bins overlap processor boundaries. An error will be generated if :math:`\lambda < 0.6` of the SRD bin size. -If the *shift* flag is set to *possible*\ , then shifting is performed +If the *shift* flag is set to *possible*, then shifting is performed only if :math:`\lambda < 0.6` of the SRD bin size. A warning is generated to let you know this is occurring. If the *shift* flag is set to *yes* then shifting is performed regardless of the magnitude of :math:`\lambda`. Note that the *shiftseed* is not used if the *shift* -flag is set to *no*\ , but must still be specified. +flag is set to *no*, but must still be specified. Note that shifting of SRD coordinates requires extra communication, hence it should not normally be enabled unless required. diff --git a/doc/src/fix_store_state.rst b/doc/src/fix_store_state.rst index 3841ef6359..829a25b517 100644 --- a/doc/src/fix_store_state.rst +++ b/doc/src/fix_store_state.rst @@ -94,7 +94,7 @@ steps. The list of possible attributes is the same as that used by the :doc:`dump custom ` command, which describes their meaning. -If the *com* keyword is set to *yes* then the *xu*\ , *yu*\ , and *zu* +If the *com* keyword is set to *yes* then the *xu*, *yu*, and *zu* inputs store the position of each atom relative to the center-of-mass of the group of atoms, instead of storing the absolute position. diff --git a/doc/src/fix_temp_berendsen.rst b/doc/src/fix_temp_berendsen.rst index 59f4de64a9..89fc2392f4 100644 --- a/doc/src/fix_temp_berendsen.rst +++ b/doc/src/fix_temp_berendsen.rst @@ -76,7 +76,7 @@ time. Thus it is easy to specify a time-dependent temperature. be used on atoms that also have their temperature controlled by another fix - e.g. by :doc:`fix nvt ` or :doc:`fix langevin ` commands. -See the :doc:`Howto thermostat ` doc page for a +See the :doc:`Howto thermostat ` page for a discussion of different ways to compute temperature and perform thermostatting. diff --git a/doc/src/fix_temp_csvr.rst b/doc/src/fix_temp_csvr.rst index 3652635340..81379f346b 100644 --- a/doc/src/fix_temp_csvr.rst +++ b/doc/src/fix_temp_csvr.rst @@ -85,7 +85,7 @@ time. Thus it is easy to specify a time-dependent temperature. normally be used on atoms that also have their temperature controlled by another fix - e.g. by :doc:`fix nvt ` or :doc:`fix langevin ` commands. -See the :doc:`Howto thermostat ` doc page for a +See the :doc:`Howto thermostat ` page for a discussion of different ways to compute temperature and perform thermostatting. @@ -178,6 +178,9 @@ Restrictions Fix *temp/csld* is not compatible with :doc:`fix shake `. +These fixes are part of the EXTRA-FIX package. They are only enabled if LAMMPS +was built with that package. See the :doc:`Build package ` page for more info. + These fixes can be used with dynamic groups as defined by the :doc:`group ` command. Likewise it can be used with groups to which atoms are added or deleted over time, e.g. a deposition diff --git a/doc/src/fix_temp_rescale.rst b/doc/src/fix_temp_rescale.rst index 125f74306e..a61773d2a2 100644 --- a/doc/src/fix_temp_rescale.rst +++ b/doc/src/fix_temp_rescale.rst @@ -83,7 +83,7 @@ value. be used on atoms that also have their temperature controlled by another fix - e.g. by :doc:`fix nvt ` or :doc:`fix langevin ` commands. -See the :doc:`Howto thermostat ` doc page for a +See the :doc:`Howto thermostat ` page for a discussion of different ways to compute temperature and perform thermostatting. diff --git a/doc/src/fix_temp_rescale_eff.rst b/doc/src/fix_temp_rescale_eff.rst index 1eaa8cf360..ea3996e9b6 100644 --- a/doc/src/fix_temp_rescale_eff.rst +++ b/doc/src/fix_temp_rescale_eff.rst @@ -67,7 +67,7 @@ Restrictions """""""""""" This fix is part of the EFF package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/fix_tfmc.rst b/doc/src/fix_tfmc.rst index ae8420089a..7eb4d24935 100644 --- a/doc/src/fix_tfmc.rst +++ b/doc/src/fix_tfmc.rst @@ -84,7 +84,7 @@ and the :doc:`simulated time ` as calculated by LAMMPS is meaningless. The critical parameter determining the success of a tfMC simulation is -*Delta*\ , the maximal displacement length of the lightest element in +*Delta*, the maximal displacement length of the lightest element in the system: the larger it is, the longer the effective time scale of the simulation will be (there is an approximately quadratic dependence). However, *Delta* must also be chosen sufficiently small @@ -92,7 +92,7 @@ in order to comply with detailed balance; in general values between 5 and 10 % of the nearest neighbor distance are found to be a good choice. For a more extensive discussion with specific examples, please refer to :ref:`(Bal) `, which also describes how the code calculates -element-specific maximal displacements from *Delta*\ , based on the +element-specific maximal displacements from *Delta*, based on the fourth root of their mass. Because of the uncorrelated movements of the atoms, the center-of-mass diff --git a/doc/src/fix_tgnh_drude.rst b/doc/src/fix_tgnh_drude.rst index 744c7e75f3..7088692353 100644 --- a/doc/src/fix_tgnh_drude.rst +++ b/doc/src/fix_tgnh_drude.rst @@ -139,7 +139,7 @@ The parameter *Tdrude* is the desired temperature for Drude motion at each times Similar to *Tdamp*, the *Tdamp_drude* parameter determines the relaxation speed for Drude motion. Fix group are the only ones whose velocities and positions are updated by the velocity/position update portion of the integration. -Other thermostat-related keywords are *tchain*\ and *tloop*\ , +Other thermostat-related keywords are *tchain*\ and *tloop*, which are detailed in :doc:`fix nvt `. .. note:: @@ -158,13 +158,13 @@ which are detailed in :doc:`fix nvt `. ---------- The barostat parameters for fix style *tgnpt/drude* is specified -using one or more of the *iso*\ , *aniso*\ , *tri*\ , *x*\ , *y*\ , *z*\ , *xy*\ , -*xz*\ , *yz*\ , and *couple* keywords. These keywords give you the +using one or more of the *iso*, *aniso*, *tri*, *x*, *y*, *z*, *xy*, +*xz*, *yz*, and *couple* keywords. These keywords give you the ability to specify all 6 components of an external stress tensor, and to couple various of these components together so that the dimensions they represent are varied together during a constant-pressure -simulation. Other barostat-related keywords are *pchain*\ , *mtk*\ , *ploop*\ , -*nreset*\ , *scalexy*\ , *scaleyz*\ , *scalexz*\ , *flip*\ and *fixedpoint*. +simulation. Other barostat-related keywords are *pchain*, *mtk*, *ploop*, +*nreset*, *scalexy*, *scaleyz*, *scalexz*, *flip*\ and *fixedpoint*. The meaning of barostat parameters are detailed in :doc:`fix npt `. Regardless of what atoms are in the fix group (the only atoms which @@ -244,7 +244,7 @@ compute temperature on a subset of atoms. The cumulative energy change in the system imposed by these fixes, due to thermostatting and/or barostatting, are included in the :doc:`thermodynamic output ` keywords *ecouple* and -*econserve*. See the :doc:`thermo_style ` doc page for +*econserve*. See the :doc:`thermo_style ` page for details. These fixes compute a global scalar which can be accessed by various @@ -275,8 +275,8 @@ DRUDE package. These fixes cannot be used with dynamic groups as defined by the :doc:`group ` command. These fixes cannot be used in 2D simulations. -*X*\ , *y*\ , *z* cannot be barostatted if the associated dimension is not -periodic. *Xy*\ , *xz*\ , and *yz* can only be barostatted if the +*X*, *y*, *z* cannot be barostatted if the associated dimension is not +periodic. *Xy*, *xz*, and *yz* can only be barostatted if the simulation domain is triclinic and the second dimension in the keyword (\ *y* dimension in *xy*\ ) is periodic. The :doc:`create_box `, :doc:`read data `, and :doc:`read_restart ` @@ -288,10 +288,10 @@ For the *temp* keyword, the final *Tstop* cannot be 0.0 since it would make the external T = 0.0 at some timestep during the simulation which is not allowed in the Nose/Hoover formulation. -The *scaleyz yes*\ , *scalexz yes*\ , and *scalexy yes* options +The *scaleyz yes*, *scalexz yes*, and *scalexy yes* options can only be used if the second dimension in the keyword is periodic, and if the tilt factor is not coupled to the barostat via keywords -*tri*\ , *yz*\ , *xz*\ , and *xy*\ . +*tri*, *yz*, *xz*, and *xy*\ . Related commands """""""""""""""" diff --git a/doc/src/fix_thermal_conductivity.rst b/doc/src/fix_thermal_conductivity.rst index 96dbc43540..0652810267 100644 --- a/doc/src/fix_thermal_conductivity.rst +++ b/doc/src/fix_thermal_conductivity.rst @@ -129,9 +129,6 @@ the :doc:`run ` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" -This fix is part of the MISC package. It is only enabled if LAMMPS -was built with that package. See the :doc:`Build package ` doc page for more info. - Swaps conserve both momentum and kinetic energy, even if the masses of the swapped atoms are not equal. Thus you should not need to thermostat the system. If you do use a thermostat, you may want to diff --git a/doc/src/fix_ti_spring.rst b/doc/src/fix_ti_spring.rst index e7758350f7..d519f36157 100644 --- a/doc/src/fix_ti_spring.rst +++ b/doc/src/fix_ti_spring.rst @@ -172,7 +172,7 @@ Restrictions This fix is part of the EXTRA-FIX package. It is only enabled if LAMMPS was built with that package. See the -:doc:`Build package ` doc page for more info. +:doc:`Build package ` page for more info. Default """"""" diff --git a/doc/src/fix_tmd.rst b/doc/src/fix_tmd.rst index 9c9d77820d..b4595d24cd 100644 --- a/doc/src/fix_tmd.rst +++ b/doc/src/fix_tmd.rst @@ -105,6 +105,9 @@ This fix is not invoked during :doc:`energy minimization `. Restrictions """""""""""" +This fix is part of the EXTRA-FIX package. It is only enabled if LAMMPS +was built with that package. See the :doc:`Build package ` page for more info. + All TMD fixes must be listed in the input script after all integrator fixes (nve, nvt, npt) are applied. This ensures that atoms are moved before their positions are corrected to comply with the constraint. diff --git a/doc/src/fix_ttm.rst b/doc/src/fix_ttm.rst index 92a884ee58..ee416304c4 100644 --- a/doc/src/fix_ttm.rst +++ b/doc/src/fix_ttm.rst @@ -324,7 +324,7 @@ Restrictions Fix *ttm* and *ttm/mod* are part of the EXTRA-FIX package. They are only enabled if LAMMPS was built with that package. -See the :doc:`Build package ` doc page for more info. +See the :doc:`Build package ` page for more info. These fixes can only be used for 3d simulations and orthogonal simulation boxes. You must also use periodic diff --git a/doc/src/fix_tune_kspace.rst b/doc/src/fix_tune_kspace.rst index 744db9dcf3..6a3cba16e4 100644 --- a/doc/src/fix_tune_kspace.rst +++ b/doc/src/fix_tune_kspace.rst @@ -81,7 +81,7 @@ Restrictions """""""""""" This fix is part of the KSPACE package. It is only enabled if LAMMPS -was built with that package. See the :doc:`Build package ` doc page for more info. +was built with that package. See the :doc:`Build package ` page for more info. Do not set "neigh_modify once yes" or else this fix will never be called. Reneighboring is required. diff --git a/doc/src/fix_vector.rst b/doc/src/fix_vector.rst index b2c05b1af7..f4eee41269 100644 --- a/doc/src/fix_vector.rst +++ b/doc/src/fix_vector.rst @@ -75,7 +75,7 @@ be used, since they produce per-atom values. The *Nevery* argument specifies on what timesteps the input values will be used in order to be stored. Only timesteps that are a -multiple of *Nevery*\ , including timestep 0, will contribute values. +multiple of *Nevery*, including timestep 0, will contribute values. Note that if you perform multiple runs, using the "pre no" option of the :doc:`run ` command to avoid initialization on subsequent runs, @@ -107,7 +107,7 @@ bracketed term is appended, the Ith element of the global vector calculated by the fix is used. Note that some fixes only produce their values on certain timesteps, -which must be compatible with *Nevery*\ , else an error will result. +which must be compatible with *Nevery*, else an error will result. Users can also write code for their own fix styles and :doc:`add them to LAMMPS `. If a value begins with "v\_", a variable name must follow which has @@ -144,7 +144,7 @@ the vector are "intensive" or "extensive". If the fix produces an array, then all elements in the array must be the same, either "intensive" or "extensive". If a compute or fix provides the value stored, then the compute or fix determines whether the value is -intensive or extensive; see the doc page for that compute or fix for +intensive or extensive; see the page for that compute or fix for further info. Values produced by a variable are treated as intensive. This fix can allocate storage for stored values accumulated over diff --git a/doc/src/fix_viscosity.rst b/doc/src/fix_viscosity.rst index d238c099b5..e077af19f4 100644 --- a/doc/src/fix_viscosity.rst +++ b/doc/src/fix_viscosity.rst @@ -134,8 +134,8 @@ the :doc:`run ` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" -This fix is part of the MISC package. It is only enabled if LAMMPS -was built with that package. See the :doc:`Build package ` doc page for more info. +This fix is part of the EXTRA-FIX package. It is only enabled if LAMMPS +was built with that package. See the :doc:`Build package ` page for more info. Swaps conserve both momentum and kinetic energy, even if the masses of the swapped atoms are not equal. Thus you should not need to diff --git a/doc/src/fix_wall.rst b/doc/src/fix_wall.rst index 2a2aba777d..bcbead8824 100644 --- a/doc/src/fix_wall.rst +++ b/doc/src/fix_wall.rst @@ -103,7 +103,7 @@ wall that interacts with the atoms in the group by generating a force on the atom in a direction perpendicular to the wall. The energy of wall-particle interactions depends on the style. -For style *wall/lj93*\ , the energy E is given by the 9/3 potential: +For style *wall/lj93*, the energy E is given by the 9/3 potential: .. math:: @@ -111,7 +111,7 @@ For style *wall/lj93*\ , the energy E is given by the 9/3 potential: \left(\frac{\sigma}{r}\right)^3 \right] \qquad r < r_c -For style *wall/lj126*\ , the energy E is given by the 12/6 potential: +For style *wall/lj126*, the energy E is given by the 12/6 potential: .. math:: @@ -119,7 +119,7 @@ For style *wall/lj126*\ , the energy E is given by the 12/6 potential: \left(\frac{\sigma}{r}\right)^6 \right] \qquad r < r_c -For style *wall/lj1043*\ , the energy E is given by the 10/4/3 potential: +For style *wall/lj1043*, the energy E is given by the 10/4/3 potential: .. math:: @@ -128,7 +128,7 @@ For style *wall/lj1043*\ , the energy E is given by the 10/4/3 potential: \frac{\sqrt(2)\sigma^3}{3\left(r+\left(0.61/\sqrt(2)\right)\sigma\right)^3}\right] \qquad r < r_c -For style *wall/colloid*\ , the energy E is given by an integrated form +For style *wall/colloid*, the energy E is given by an integrated form of the :doc:`pair_style colloid ` potential: .. math:: @@ -138,14 +138,14 @@ of the :doc:`pair_style colloid ` potential: & \left. - \frac{1}{6} \left(\frac{2R(D+R) + D(D+2R) \left[ \ln D - \ln (D+2R) \right]}{D(D+2R)} \right) \right] \qquad r < r_c -For style *wall/harmonic*\ , the energy E is given by a harmonic spring +For style *wall/harmonic*, the energy E is given by a harmonic spring potential: .. math:: E = \epsilon \quad (r - r_c)^2 \qquad r < r_c -For style *wall/morse*\ , the energy E is given by a Morse potential: +For style *wall/morse*, the energy E is given by a Morse potential: .. math:: @@ -153,13 +153,13 @@ For style *wall/morse*\ , the energy E is given by a Morse potential: \qquad r < r_c In all cases, *r* is the distance from the particle to the wall at -position *coord*\ , and :math:`r_c` is the *cutoff* distance at which the +position *coord*, and :math:`r_c` is the *cutoff* distance at which the particle and wall no longer interact. The energy of the wall potential is shifted so that the wall-particle interaction energy is 0.0 at the cutoff distance. -Up to 6 walls or faces can be specified in a single command: *xlo*\ , -*xhi*\ , *ylo*\ , *yhi*\ , *zlo*\ , *zhi*\ . A *lo* face interacts with +Up to 6 walls or faces can be specified in a single command: *xlo*, +*xhi*, *ylo*, *yhi*, *zlo*, *zhi*\ . A *lo* face interacts with particles near the lower side of the simulation box in that dimension. A *hi* face interacts with particles near the upper side of the simulation box in that dimension. @@ -267,13 +267,13 @@ The *fld* keyword can be used with a *yes* setting to invoke the wall constraint before pairwise interactions are computed. This allows an implicit FLD model using :doc:`pair_style lubricateU ` to include the wall force in its calculations. If the setting is -*no*\ , wall forces are imposed after pairwise interactions, in the +*no*, wall forces are imposed after pairwise interactions, in the usual manner. The *pbc* keyword can be used with a *yes* setting to allow walls to be specified in a periodic dimension. See the :doc:`boundary ` command for options on simulation box -boundaries. The default for *pbc* is *no*\ , which means the system +boundaries. The default for *pbc* is *no*, which means the system must be non-periodic when using a wall. But you may wish to use a periodic box. E.g. to allow some particles to interact with the wall via the fix group-ID, and others to pass through it and wrap around a @@ -306,7 +306,7 @@ sigma) could be varied with additional variable definitions. The *ramp(lo,hi)* function adjusts the wall position linearly from *lo* to *hi* over the course of a run. The *vdisplace(c0,velocity)* function does -something similar using the equation *position = c0 + velocity\*delta*\ , +something similar using the equation *position = c0 + velocity\*delta*, where *delta* is the elapsed time. The *swiggle(c0,A,period)* function causes the wall position to diff --git a/doc/src/fix_wall_body_polygon.rst b/doc/src/fix_wall_body_polygon.rst index 079bd633ea..ac0a58f55c 100644 --- a/doc/src/fix_wall_body_polygon.rst +++ b/doc/src/fix_wall_body_polygon.rst @@ -51,7 +51,7 @@ particles in the group interact with the wall when they are close enough to touch it. The nature of the interaction between the wall and the polygon particles is the same as that between the polygon particles themselves, which is similar to a Hookean potential. See -the :doc:`Howto body ` doc page for more details on using +the :doc:`Howto body ` page for more details on using body particles. The parameters *k_n*, *c_n*, *c_t* have the same meaning and units as @@ -83,7 +83,7 @@ is set according to this equation: position = coord + A - A cos (omega \* delta) where *coord* is the specified initial position of the wall, *A* is -the *amplitude*\ , *omega* is 2 PI / *period*\ , and *delta* is the time +the *amplitude*, *omega* is 2 PI / *period*, and *delta* is the time elapsed since the fix was specified. The velocity of the wall is set to the derivative of this expression. @@ -100,7 +100,7 @@ Restrictions """""""""""" This fix is part of the BODY package. It is only enabled if LAMMPS -was built with that package. See the :doc:`Build package ` doc page for more info. +was built with that package. See the :doc:`Build package ` page for more info. Any dimension (xy) that has a wall must be non-periodic. diff --git a/doc/src/fix_wall_body_polyhedron.rst b/doc/src/fix_wall_body_polyhedron.rst index ad6540de1d..9930c10f74 100644 --- a/doc/src/fix_wall_body_polyhedron.rst +++ b/doc/src/fix_wall_body_polyhedron.rst @@ -50,7 +50,7 @@ All particles in the group interact with the wall when they are close enough to touch it. The nature of the interaction between the wall and the polygon particles is the same as that between the polygon particles themselves, which is similar to a Hookean potential. See -the :doc:`Howto body ` doc page for more details on using +the :doc:`Howto body ` page for more details on using body particles. The parameters *k_n*, *c_n*, *c_t* have the same meaning and units as @@ -79,7 +79,7 @@ is set according to this equation: position = coord + A - A cos (omega \* delta) where *coord* is the specified initial position of the wall, *A* is -the *amplitude*\ , *omega* is 2 PI / *period*\ , and *delta* is the time +the *amplitude*, *omega* is 2 PI / *period*, and *delta* is the time elapsed since the fix was specified. The velocity of the wall is set to the derivative of this expression. @@ -96,7 +96,7 @@ Restrictions """""""""""" This fix is part of the BODY package. It is only enabled if LAMMPS -was built with that package. See the :doc:`Build package ` doc page for more info. +was built with that package. See the :doc:`Build package ` page for more info. Any dimension (xyz) that has a wall must be non-periodic. diff --git a/doc/src/fix_wall_ees.rst b/doc/src/fix_wall_ees.rst index a2aab975ca..13a7935d0d 100644 --- a/doc/src/fix_wall_ees.rst +++ b/doc/src/fix_wall_ees.rst @@ -73,7 +73,7 @@ energy of wall-particle interactions E is given by: Introduced by Babadi and Ejtehadi in :ref:`(Babadi) `. Here, *r* is the distance from the particle to the -wall at position *coord*\ , and Rc is the *cutoff* distance at which +wall at position *coord*, and Rc is the *cutoff* distance at which the particle and wall no longer interact. Also, :math:`\sigma_n` is the distance between center of ellipsoid and the nearest point of its surface to the wall as shown below. @@ -162,7 +162,7 @@ Restrictions These fixes are part of the EXTRA-FIX package. They are only enabled if LAMMPS was built with that package. See the :doc:`Build package -` doc page for more info. +` page for more info. These fixes requires that atoms be ellipsoids as defined by the :doc:`atom_style ellipsoid ` command. diff --git a/doc/src/fix_wall_gran.rst b/doc/src/fix_wall_gran.rst index 57bec679e4..cf8b659df0 100644 --- a/doc/src/fix_wall_gran.rst +++ b/doc/src/fix_wall_gran.rst @@ -22,7 +22,7 @@ Syntax .. parsed-literal:: - For *hooke*\ , *hooke/history*\ , and *hertz/history*\ , *fstyle_params* are: + For *hooke*, *hooke/history*, and *hertz/history*, *fstyle_params* are: Kn = elastic constant for normal particle repulsion (force/distance units or pressure units - see discussion below) Kt = elastic constant for tangential contact (force/distance units or pressure units - see discussion below) gamma_n = damping coefficient for collisions in normal direction (1/time units or 1/time-distance units - see discussion below) @@ -33,7 +33,7 @@ Syntax .. parsed-literal:: - For *granular*\ , *fstyle_params* are set using the same syntax as for the *pair_coeff* command of :doc:`pair_style granular ` + For *granular*, *fstyle_params* are set using the same syntax as for the *pair_coeff* command of :doc:`pair_style granular ` * wallstyle = *xplane* or *yplane* or *zplane* or *zcylinder* * args = list of arguments for a particular style @@ -85,7 +85,7 @@ The nature of the wall/particle interactions are determined by the *fstyle* setting. It can be any of the styles defined by the :doc:`pair_style gran/\* ` or the more general :doc:`pair_style granular ` commands. Currently the -options are *hooke*\ , *hooke/history*\ , or *hertz/history* for the +options are *hooke*, *hooke/history*, or *hertz/history* for the former, and *granular* with all the possible options of the associated *pair_coeff* command for the latter. The equation for the force between the wall and particles touching it is the same as the @@ -96,12 +96,12 @@ Specifically, delta = radius - r = overlap of particle with wall, m_eff = mass of particle, and the effective radius of contact = RiRj/Ri+Rj is set to the radius of the particle. -The parameters *Kn*\ , *Kt*\ , *gamma_n*, *gamma_t*, *xmu*, *dampflag*, +The parameters *Kn*, *Kt*, *gamma_n*, *gamma_t*, *xmu*, *dampflag*, and the optional keyword *limit_damping* have the same meaning and units as those specified with the :doc:`pair_style gran/\* ` commands. This means a NULL can be used for either *Kt* or *gamma_t* as described on that page. If a -NULL is used for *Kt*\ , then a default value is used where *Kt* = 2/7 +NULL is used for *Kt*, then a default value is used where *Kt* = 2/7 *Kn*\ . If a NULL is used for *gamma_t*, then a default value is used where *gamma_t* = 1/2 *gamma_n*. @@ -117,7 +117,7 @@ material. .. note:: - As discussed on the doc page for :doc:`pair_style gran/\* `, + As discussed on the page for :doc:`pair_style gran/\* `, versions of LAMMPS before 9Jan09 used a different equation for Hertzian interactions. This means Hertizian wall/particle interactions have also changed. They now include a @@ -131,7 +131,7 @@ material. Kt, gamma_n, and gamma_s should be set sqrt(2.0) larger than they were previously. -The effective mass *m_eff* in the formulas listed on the :doc:`pair_style granular ` doc page is the mass of the particle for +The effective mass *m_eff* in the formulas listed on the :doc:`pair_style granular ` page is the mass of the particle for particle/wall interactions (mass of wall is infinite). If the particle is part of a rigid body, its mass is replaced by the mass of the rigid body in those formulas. This is determined by searching for @@ -163,13 +163,13 @@ is set according to this equation: position = coord + A - A cos (omega \* delta) where *coord* is the specified initial position of the wall, *A* is -the *amplitude*\ , *omega* is 2 PI / *period*\ , and *delta* is the time +the *amplitude*, *omega* is 2 PI / *period*, and *delta* is the time elapsed since the fix was specified. The velocity of the wall is set to the derivative of this expression. For the *shear* keyword, the wall moves continuously in the specified dimension with velocity *vshear*\ . The dimension must be tangential to -walls with a planar *wallstyle*\ , e.g. in the *y* or *z* directions for +walls with a planar *wallstyle*, e.g. in the *y* or *z* directions for an *xplane* wall. For *zcylinder* walls, a dimension of *z* means the cylinder is moving in the z-direction along it's axis. A dimension of *x* or *y* means the cylinder is spinning around the z-axis, either in @@ -225,7 +225,7 @@ Restrictions """""""""""" This fix is part of the GRANULAR package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Any dimension (xyz) that has a granular wall must be non-periodic. diff --git a/doc/src/fix_wall_gran_region.rst b/doc/src/fix_wall_gran_region.rst index 35995fedf0..95634238aa 100644 --- a/doc/src/fix_wall_gran_region.rst +++ b/doc/src/fix_wall_gran_region.rst @@ -22,7 +22,7 @@ Syntax .. parsed-literal:: - For *hooke*\ , *hooke/history*\ , and *hertz/history*\ , *fstyle_params* are: + For *hooke*, *hooke/history*, and *hertz/history*, *fstyle_params* are: Kn = elastic constant for normal particle repulsion (force/distance units or pressure units - see discussion below) Kt = elastic constant for tangential contact (force/distance units or pressure units - see discussion below) gamma_n = damping coefficient for collisions in normal direction (1/time units or 1/time-distance units - see discussion below) @@ -32,7 +32,7 @@ Syntax .. parsed-literal:: - For *granular*\ , *fstyle_params* are set using the same syntax as for the *pair_coeff* command of :doc:`pair_style granular ` + For *granular*, *fstyle_params* are set using the same syntax as for the *pair_coeff* command of :doc:`pair_style granular ` * wallstyle = region (see :doc:`fix wall/gran ` for options for other kinds of walls) * region-ID = region whose boundary will act as wall @@ -106,7 +106,7 @@ or combinations of primitive shapes specified via the *union* or construct particle containers with complex shapes. Regions can also move dynamically via the :doc:`region ` command -keywords (move) and *rotate*\ , or change their shape by use of variables +keywords (move) and *rotate*, or change their shape by use of variables as inputs to the :doc:`region ` command. If such a region is used with this fix, then the region surface will move in time in the corresponding manner. @@ -163,7 +163,7 @@ The nature of the wall/particle interactions are determined by the *fstyle* setting. It can be any of the styles defined by the :doc:`pair_style gran/\* ` or the more general :doc:`pair_style granular ` commands. Currently the -options are *hooke*\ , *hooke/history*\ , or *hertz/history* for the +options are *hooke*, *hooke/history*, or *hertz/history* for the former, and *granular* with all the possible options of the associated *pair_coeff* command for the latter. The equation for the force between the wall and particles touching it is the same as the @@ -181,12 +181,12 @@ radius - r = overlap of particle with wall, m_eff = mass of particle, and the effective radius of contact is just the radius of the particle. -The parameters *Kn*\ , *Kt*\ , *gamma_n*, *gamma_t*, *xmu*, *dampflag*, +The parameters *Kn*, *Kt*, *gamma_n*, *gamma_t*, *xmu*, *dampflag*, and the optional keyword *limit_damping* have the same meaning and units as those specified with the :doc:`pair_style gran/\* ` commands. This means a NULL can be used for either *Kt* or *gamma_t* as described on that page. If a -NULL is used for *Kt*\ , then a default value is used where *Kt* = 2/7 +NULL is used for *Kt*, then a default value is used where *Kt* = 2/7 *Kn*\ . If a NULL is used for *gamma_t*, then a default value is used where *gamma_t* = 1/2 *gamma_n*. @@ -265,7 +265,7 @@ Restrictions """""""""""" This fix is part of the GRANULAR package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/fix_wall_piston.rst b/doc/src/fix_wall_piston.rst index 00cad094eb..af3dece2f5 100644 --- a/doc/src/fix_wall_piston.rst +++ b/doc/src/fix_wall_piston.rst @@ -103,7 +103,7 @@ Restrictions """""""""""" This fix style is part of the SHOCK package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. The face that has the wall/piston must be boundary type 's' (shrink-wrapped). The opposing face can be diff --git a/doc/src/fix_wall_reflect.rst b/doc/src/fix_wall_reflect.rst index 4f014cc628..8bb895280c 100644 --- a/doc/src/fix_wall_reflect.rst +++ b/doc/src/fix_wall_reflect.rst @@ -62,8 +62,8 @@ divides the corresponding timestep asymmetrically, energy conservation is only satisfied to O(dt), rather than to O(dt\^2) as it would be for velocity-Verlet integration without reflective walls. -Up to 6 walls or faces can be specified in a single command: *xlo*\ , -*xhi*\ , *ylo*\ , *yhi*\ , *zlo*\ , *zhi*\ . A *lo* face reflects particles +Up to 6 walls or faces can be specified in a single command: *xlo*, +*xhi*, *ylo*, *yhi*, *zlo*, *zhi*\ . A *lo* face reflects particles that move to a coordinate less than the wall position, back in the *hi* direction. A *hi* face reflects particles that move to a coordinate higher than the wall position, back in the *lo* direction. @@ -117,7 +117,7 @@ in a time-dependent fashion using equal-style The *ramp(lo,hi)* function adjusts the wall position linearly from *lo* to *hi* over the course of a run. The *vdisplace(c0,velocity)* function does -something similar using the equation *position = c0 + velocity\*delta*\ , +something similar using the equation *position = c0 + velocity\*delta*, where *delta* is the elapsed time. The *swiggle(c0,A,period)* function causes the wall position to diff --git a/doc/src/fix_wall_reflect_stochastic.rst b/doc/src/fix_wall_reflect_stochastic.rst index e03e8db5bc..64e3d759c1 100644 --- a/doc/src/fix_wall_reflect_stochastic.rst +++ b/doc/src/fix_wall_reflect_stochastic.rst @@ -66,25 +66,25 @@ particle is treated stochastically. The randomness can come from many sources: thermal motion of the wall atoms, surface roughness, etc. Three stochastic reflection models are currently implemented. -For rstyle *diffusive*\ , particles are reflected diffusively. Their +For rstyle *diffusive*, particles are reflected diffusively. Their velocity distribution corresponds to an equilibrium distribution of particles at the wall temperature. No accommodation coefficients are specified. -For rstyle *maxwell*\ , particle reflection is Maxwellian which means +For rstyle *maxwell*, particle reflection is Maxwellian which means partially diffusive and partially specular (:ref:`Maxwell `). A single accommodation coeff is specified which must be between 0.0 and 1.0 inclusive. It determines the fraction of the collision which is diffusive versus specular. An accommodation coefficient of 1.0 is fully diffusive; a coefficient of 0.0 is fully specular. -For rstyle *cll*\ , particle collisions are computed by the +For rstyle *cll*, particle collisions are computed by the Cercignani/Lampis model. See :ref:`CL ` and :ref:`To ` for details. Three accommodations coefficient are specified. Each must be between 0.0 and 1.0 inclusive. Two are velocity accommodation coefficients; one is a normal kinetic energy accommodation. The normal coeff is the one corresponding to the normal of the wall itself. For example if -the wall is *ylo* or *yhi*\ , *accomx* and *accomz* are the tangential +the wall is *ylo* or *yhi*, *accomx* and *accomz* are the tangential velocity accommodation coefficients, and *accomy* is the normal kinetic energy accommodation coefficient. @@ -107,7 +107,7 @@ command. The wall velocity must lie on the same plane as the wall itself. This fix is part of the EXTRA-FIX package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/fix_wall_region.rst b/doc/src/fix_wall_region.rst index 3803d4b74b..f79a9d6da0 100644 --- a/doc/src/fix_wall_region.rst +++ b/doc/src/fix_wall_region.rst @@ -127,7 +127,7 @@ region surface will move over time in the corresponding manner. The energy of wall-particle interactions depends on the specified style. -For style *lj93*\ , the energy E is given by the 9/3 potential: +For style *lj93*, the energy E is given by the 9/3 potential: .. math:: @@ -135,7 +135,7 @@ For style *lj93*\ , the energy E is given by the 9/3 potential: \left(\frac{\sigma}{r}\right)^3 \right] \qquad r < r_c -For style *lj126*\ , the energy E is given by the 12/6 potential: +For style *lj126*, the energy E is given by the 12/6 potential: .. math:: @@ -143,7 +143,7 @@ For style *lj126*\ , the energy E is given by the 12/6 potential: \left(\frac{\sigma}{r}\right)^6 \right] \qquad r < r_c -For style *wall/lj1043*\ , the energy E is given by the 10/4/3 potential: +For style *wall/lj1043*, the energy E is given by the 10/4/3 potential: .. math:: @@ -152,7 +152,7 @@ For style *wall/lj1043*\ , the energy E is given by the 10/4/3 potential: \frac{\sqrt(2)\sigma^3}{3\left(r+\left(0.61/\sqrt(2)\right)\sigma\right)^3}\right] \qquad r < r_c -For style *colloid*\ , the energy E is given by an integrated form of +For style *colloid*, the energy E is given by an integrated form of the :doc:`pair_style colloid ` potential: .. math:: @@ -162,14 +162,14 @@ the :doc:`pair_style colloid ` potential: & \left. - \frac{1}{6} \left(\frac{2R(D+R) + D(D+2R) \left[ \ln D - \ln (D+2R) \right]}{D(D+2R)} \right) \right] \qquad r < r_c -For style *wall/harmonic*\ , the energy E is given by a harmonic spring +For style *wall/harmonic*, the energy E is given by a harmonic spring potential (the distance parameter is ignored): .. math:: E = \epsilon \quad (r - r_c)^2 \qquad r < r_c -For style *wall/morse*\ , the energy E is given by the Morse potential: +For style *wall/morse*, the energy E is given by the Morse potential: .. math:: diff --git a/doc/src/fix_wall_srd.rst b/doc/src/fix_wall_srd.rst index 72e7c771b7..6363995988 100644 --- a/doc/src/fix_wall_srd.rst +++ b/doc/src/fix_wall_srd.rst @@ -17,11 +17,11 @@ Syntax .. parsed-literal:: - *xlo*\ ,\ *ylo*\ ,\ *zlo* arg = EDGE or constant or variable + *xlo*,\ *ylo*,\ *zlo* arg = EDGE or constant or variable EDGE = current lo edge of simulation box constant = number like 0.0 or -30.0 (distance units) variable = :doc:`equal-style variable ` like v_x or v_wiggle - *xhi*\ ,\ *yhi*\ ,\ *zhi* arg = EDGE or constant or variable + *xhi*,\ *yhi*,\ *zhi* arg = EDGE or constant or variable EDGE = current hi edge of simulation box constant = number like 50.0 or 100.3 (distance units) variable = :doc:`equal-style variable ` like v_x or v_wiggle @@ -72,8 +72,8 @@ tangential direction for the SRD velocity is chosen randomly. This collision style imparts both a normal and tangential force to the wall. -Up to 6 walls or faces can be specified in a single command: *xlo*\ , -*xhi*\ , *ylo*\ , *yhi*\ , *zlo*\ , *zhi*\ . A *lo* face reflects particles +Up to 6 walls or faces can be specified in a single command: *xlo*, +*xhi*, *ylo*, *yhi*, *zlo*, *zhi*\ . A *lo* face reflects particles that move to a coordinate less than the wall position, back in the *hi* direction. A *hi* face reflects particles that move to a coordinate higher than the wall position, back in the *lo* direction. diff --git a/doc/src/fix_widom.rst b/doc/src/fix_widom.rst index 8ec5a1308d..34b9ae44f6 100644 --- a/doc/src/fix_widom.rst +++ b/doc/src/fix_widom.rst @@ -21,7 +21,7 @@ Syntax .. parsed-literal:: - keyword = *mol*\ , *region*\ , *full_energy*, *charge*\ , *intra_energy* + keyword = *mol*, *region*, *full_energy*, *charge*, *intra_energy* *mol* value = template-ID template-ID = ID of molecule template specified in a separate :doc:`molecule ` command *region* value = region-ID diff --git a/doc/src/group.rst b/doc/src/group.rst index 3ce885bdc5..aedf1d39bc 100644 --- a/doc/src/group.rst +++ b/doc/src/group.rst @@ -113,7 +113,7 @@ Note that this is a static one-time assignment. The atoms remain assigned (or not assigned) to the group even in they later move out of the region volume. -The *type*\ , *id*\ , and *molecule* styles put all atoms with the +The *type*, *id*, and *molecule* styles put all atoms with the specified atom types, atom IDs, or molecule IDs into the group. These 3 styles can use arguments specified in one of two formats. @@ -181,7 +181,7 @@ pe/atom compute was actually invoked during the run. Printing the thermodynamic info for compute 2 insures that this is the case, since it sums the pe/atom compute values (in the reduce compute) to output them to the screen. See the "Variable Accuracy" section of the -:doc:`variable ` doc page for more details on insuring that +:doc:`variable ` page for more details on insuring that variables are current when they are evaluated between runs. The *include* style with its arg *molecule* adds atoms to a group that @@ -236,7 +236,7 @@ per-atom property. The per-atom property is evaluated and atoms whose values are 0.0 are removed from the dynamic group. The assignment of atoms to a dynamic group is done at the beginning of -each run and on every timestep that is a multiple of *N*\ , which is the +each run and on every timestep that is a multiple of *N*, which is the argument for the *every* keyword (N = 1 is the default). For an energy minimization, via the :doc:`minimize ` command, an assignment is made at the beginning of the minimization, but not diff --git a/doc/src/group2ndx.rst b/doc/src/group2ndx.rst index 31b46ce2ce..7d66db367b 100644 --- a/doc/src/group2ndx.rst +++ b/doc/src/group2ndx.rst @@ -58,7 +58,7 @@ This command requires that atoms have atom IDs, since this is the information that is written to the index file. These commands are part of the COLVARS package. They are only -enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +enabled if LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/hyper.rst b/doc/src/hyper.rst index 5b2c931b1f..9266a95523 100644 --- a/doc/src/hyper.rst +++ b/doc/src/hyper.rst @@ -72,7 +72,7 @@ the system and runs dynamics on each independently with a normal unbiased potential until an event occurs in one of the replicas. The time between events is reduced by a factor of Nr replicas. For both methods, per CPU second, more physical time elapses and more events -occur. See the :doc:`prd ` doc page for more info about PRD. +occur. See the :doc:`prd ` page for more info about PRD. An HD run has several stages, which are repeated each time an event occurs, as explained below. The logic for an HD run is as follows: @@ -148,7 +148,7 @@ the specified *dump-ID* to output a snapshot each time an event is detected. It can be specified multiple times with different *dump-ID* values, as in the example above. These snapshots will be for the quenched state of the system on a timestep that is a multiple of -*Nevent*\ , i.e. a timestep after the event has occurred. Note that any +*Nevent*, i.e. a timestep after the event has occurred. Note that any dump command in the input script will also output snapshots at whatever timestep interval it defines via its *N* argument; see the :doc:`dump ` command for details. This means if you only want a diff --git a/doc/src/if.rst b/doc/src/if.rst index e779ec5a04..08ec6f2c3e 100644 --- a/doc/src/if.rst +++ b/doc/src/if.rst @@ -68,7 +68,7 @@ above. If a command itself requires a quoted argument (e.g. a :doc:`print ` command), then double and single quotes can be used and nested in the usual manner, as in the examples above and below. - The :doc:`Commands parse ` doc page has more details on + The :doc:`Commands parse ` page has more details on using quotes in arguments. Only one of level of nesting is allowed, but that should be sufficient for most use cases. diff --git a/doc/src/improper_harmonic.rst b/doc/src/improper_harmonic.rst index 41d533eebe..42cd3b75c5 100644 --- a/doc/src/improper_harmonic.rst +++ b/doc/src/improper_harmonic.rst @@ -64,7 +64,7 @@ radian\^2. ---------- -Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are +Styles with a *gpu*, *intel*, *kk*, *omp*, or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available hardware, as discussed on the :doc:`Speed packages ` doc @@ -74,14 +74,14 @@ produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, INTEL, KOKKOS, OPENMP and OPT packages, respectively. They are only enabled if LAMMPS was built with those packages. See the :doc:`Build package -` doc page for more info. +` page for more info. You can specify the accelerated styles explicitly in your input script by including their suffix, or you can use the :doc:`-suffix command-line switch ` when you invoke LAMMPS, or you can use the :doc:`suffix ` command in your input script. -See the :doc:`Speed packages ` doc page for more +See the :doc:`Speed packages ` page for more instructions on how to use the accelerated styles effectively. ---------- diff --git a/doc/src/improper_style.rst b/doc/src/improper_style.rst index 0667b8f5b9..ca7c31a923 100644 --- a/doc/src/improper_style.rst +++ b/doc/src/improper_style.rst @@ -70,7 +70,7 @@ command. There are also additional accelerated pair styles included in the LAMMPS distribution for faster performance on CPUs, GPUs, and KNLs. -The individual style names on the :ref:`Commands improper ` doc page are followed by one or +The individual style names on the :ref:`Commands improper ` page are followed by one or more of (g,i,k,o,t) to indicate which accelerated styles exist. * :doc:`none ` - turn off improper interactions @@ -99,7 +99,7 @@ Improper styles can only be set for atom_style choices that allow impropers to be defined. Most improper styles are part of the MOLECULE package. They are only -enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. The doc pages for +enabled if LAMMPS was built with that package. See the :doc:`Build package ` page for more info. The doc pages for individual improper potentials tell if it is part of a package. Related commands diff --git a/doc/src/info.rst b/doc/src/info.rst index b3eb6d7000..853e5020fc 100644 --- a/doc/src/info.rst +++ b/doc/src/info.rst @@ -10,9 +10,9 @@ Syntax info args -* args = one or more of the following keywords: *out*\ , *all*\ , *system*\ , *memory*\ , *communication*\ , *computes*\ , *dumps*\ , *fixes*\ , *groups*\ , *regions*\ , *variables*\ , *coeffs*\ , *styles*\ , *time*\ , *accelerator*\ , or *configuration* -* *out* values = *screen*\ , *log*\ , *append* filename, *overwrite* filename -* *styles* values = *all*\ , *angle*\ , *atom*\ , *bond*\ , *compute*\ , *command*\ , *dump*\ , *dihedral*\ , *fix*\ , *improper*\ , *integrate*\ , *kspace*\ , *minimize*\ , *pair*\ , *region* +* args = one or more of the following keywords: *out*, *all*, *system*, *memory*, *communication*, *computes*, *dumps*, *fixes*, *groups*, *regions*, *variables*, *coeffs*, *styles*, *time*, *accelerator*, or *configuration* +* *out* values = *screen*, *log*, *append* filename, *overwrite* filename +* *styles* values = *all*, *angle*, *atom*, *bond*, *compute*, *command*, *dump*, *dihedral*, *fix*, *improper*, *integrate*, *kspace*, *minimize*, *pair*, *region* Examples """""""" diff --git a/doc/src/kim_commands.rst b/doc/src/kim_commands.rst index fc00a574d2..1be907888c 100644 --- a/doc/src/kim_commands.rst +++ b/doc/src/kim_commands.rst @@ -476,7 +476,7 @@ performed. The second required argument *query_function* is the name of the query function to be called (e.g. *get_lattice_constant_cubic*\ ). All following :doc:`arguments ` are parameters handed over to the web query in -the format *keyword=value*\ , where *value* is always an array of one or more +the format *keyword=value*, where *value* is always an array of one or more comma-separated items in brackets. The list of supported keywords and the type and format of their values depend on the query function used. The current list of query functions is available on the OpenKIM webpage at diff --git a/doc/src/kspace_modify.rst b/doc/src/kspace_modify.rst index afe3a8c381..5d603782c0 100644 --- a/doc/src/kspace_modify.rst +++ b/doc/src/kspace_modify.rst @@ -75,7 +75,7 @@ relevant to all kspace styles. The *collective* keyword applies only to PPPM. It is set to *no* by default, except on IBM BlueGene machines. If this option is set to -*yes*\ , LAMMPS will use MPI collective operations to remap data for +*yes*, LAMMPS will use MPI collective operations to remap data for 3d-FFT operations instead of the default point-to-point communication. This is faster on IBM BlueGene machines, and may also be faster on other machines if they have an efficient implementation of MPI @@ -131,11 +131,11 @@ always used for MSM. ---------- The *disp/auto* option controls whether the pppm/disp is allowed to -generate PPPM parameters automatically. If set to *no*\ , parameters have -to be specified using the *gewald/disp*\ , *mesh/disp*\ , +generate PPPM parameters automatically. If set to *no*, parameters have +to be specified using the *gewald/disp*, *mesh/disp*, *force/disp/real* or *force/disp/kspace* keywords, or the code will stop with an error message. When this option is set to -*yes*\ , the error message will not appear and the simulation will start. +*yes*, the error message will not appear and the simulation will start. For a typical application, using the automatic parameter generation will provide simulations that are either inaccurate or slow. Using this option is thus not recommended. For guidelines on how to obtain good @@ -165,8 +165,8 @@ calculated by the long-range solver and is thus specified in force units. A negative value for the accuracy setting means to use the relative accuracy parameter. The accuracy setting is used in conjunction with the pairwise cutoff to determine the number of -K-space vectors for style *ewald*\ , the FFT grid size for style -*pppm*\ , or the real space grid size for style *msm*\ . +K-space vectors for style *ewald*, the FFT grid size for style +*pppm*, or the real space grid size for style *msm*\ . ---------- @@ -223,7 +223,7 @@ The *minorder* keyword allows LAMMPS to reduce the *order* setting if necessary to keep the communication of ghost grid point limited to exchanges between nearest-neighbor processors. See the discussion of the *overlap* keyword for details. If the *overlap* keyword is set to -*yes*\ , which is the default, this is never needed. If it set to *no* +*yes*, which is the default, this is never needed. If it set to *no* and overlap occurs, then LAMMPS will reduce the order setting, one step at a time, until the ghost grid overlap only extends to nearest neighbor processors. The *minorder* keyword limits how small the @@ -237,13 +237,13 @@ MSM. ---------- The *mix/disp* keyword selects the mixing rule for the dispersion -coefficients. With *pair*\ , the dispersion coefficients of unlike +coefficients. With *pair*, the dispersion coefficients of unlike types are computed as indicated with :doc:`pair_modify `. -With *geom*\ , geometric mixing is enforced on the dispersion +With *geom*, geometric mixing is enforced on the dispersion coefficients in the kspace coefficients. When using the arithmetic mixing rule, this will speed-up the simulations but introduces some error in the force computations, as shown in :ref:`(Wennberg) `. -With *none*\ , it is assumed that no mixing rule is +With *none*, it is assumed that no mixing rule is applicable. Splitting of the dispersion coefficients will be performed as described in :ref:`(Isele-Holder) `. @@ -398,8 +398,8 @@ boundaries can be set using :doc:`boundary ` (the slab approximation in not needed). The *slab* keyword is not currently supported by Ewald or PPPM when using a triclinic simulation cell. The slab correction has also been extended to point dipole interactions -:ref:`(Klapp) ` in :doc:`kspace_style ` *ewald/disp*\ , -*ewald/dipole*\ , and *pppm/dipole*\ . +:ref:`(Klapp) ` in :doc:`kspace_style ` *ewald/disp*, +*ewald/dipole*, and *pppm/dipole*\ . .. note:: @@ -419,10 +419,10 @@ optimal performance and accuracy in the results is obtained when these values are different. The *disp/auto* option controls whether the pppm/disp is allowed to -generate PPPM parameters automatically. If set to *no*\ , parameters -have to be specified using the *gewald/disp*\ , *mesh/disp*\ , +generate PPPM parameters automatically. If set to *no*, parameters +have to be specified using the *gewald/disp*, *mesh/disp*, *force/disp/real* or *force/disp/kspace* keywords, or the code will -stop with an error message. When this option is set to *yes*\ , the +stop with an error message. When this option is set to *yes*, the error message will not appear and the simulation will start. For a typical application, using the automatic parameter generation will provide simulations that are either inaccurate or slow. Using this diff --git a/doc/src/kspace_style.rst b/doc/src/kspace_style.rst index dc72915b35..055f0b02b2 100644 --- a/doc/src/kspace_style.rst +++ b/doc/src/kspace_style.rst @@ -408,7 +408,7 @@ relative RMS error. ---------- -Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are +Styles with a *gpu*, *intel*, *kk*, *omp*, or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available hardware, as discussed on the :doc:`Speed packages ` doc @@ -431,9 +431,9 @@ on the CPU when using OpenMP and FFTW3. These accelerated styles are part of the GPU, INTEL, KOKKOS, OPENMP, and OPT packages respectively. They are only enabled if -LAMMPS was built with those packages. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with those packages. See the :doc:`Build package ` page for more info. -See the :doc:`Speed packages ` doc page for more +See the :doc:`Speed packages ` page for more instructions on how to use the accelerated styles effectively. ---------- @@ -445,19 +445,19 @@ Note that the long-range electrostatic solvers in LAMMPS assume conducting metal (tinfoil) boundary conditions for both charge and dipole interactions. Vacuum boundary conditions are not currently supported. -The *ewald/disp*\ , *ewald*\ , *pppm*\ , and *msm* styles support +The *ewald/disp*, *ewald*, *pppm*, and *msm* styles support non-orthogonal (triclinic symmetry) simulation boxes. However, triclinic simulation cells may not yet be supported by all suffix versions of these styles. Most of the base kspace styles are part of the KSPACE package. They are only enabled if LAMMPS was built with that package. See the :doc:`Build -package ` doc page for more info. +package ` page for more info. The *msm/dielectric* and *pppm/dielectric* kspace styles are part of the DIELECTRIC package. They are only enabled if LAMMPS was built with that package **and** the KSPACE package. See the :doc:`Build package -` doc page for more info. +` page for more info. For MSM, a simulation must be 3d and one can use any combination of periodic, non-periodic, or shrink-wrapped boundaries (specified using diff --git a/doc/src/lattice.rst b/doc/src/lattice.rst index b87ddaaf70..a03036de1c 100644 --- a/doc/src/lattice.rst +++ b/doc/src/lattice.rst @@ -30,7 +30,7 @@ Syntax i,j,k = integer lattice directions *spacing* values = dx dy dz dx,dy,dz = lattice spacings in the x,y,z box directions - *a1*\ ,\ *a2*\ ,\ *a3* values = x y z + *a1*,\ *a2*,\ *a3* values = x y z x,y,z = primitive vector components that define unit cell *basis* values = x y z x,y,z = fractional coords of a basis atom (0 <= x,y,z < 1) @@ -102,7 +102,7 @@ default, a "lattice none 1.0" is defined, which means the lattice spacing is the same as one distance unit, as defined by the :doc:`units ` command. -Lattices of style *sc*\ , *fcc*\ , *bcc*\ , and *diamond* are 3d lattices +Lattices of style *sc*, *fcc*, *bcc*, and *diamond* are 3d lattices that define a cubic unit cell with edge length = 1.0. This means a1 = 1 0 0, a2 = 0 1 0, and a3 = 0 0 1. Style *hcp* has a1 = 1 0 0, a2 = 0 sqrt(3) 0, and a3 = 0 0 sqrt(8/3). The placement of the basis atoms @@ -147,14 +147,14 @@ lattice of the desired size and distance units in the simulation box. The meaning of the *scale* argument depends on the :doc:`units ` being used in your simulation. -For all unit styles except *lj*\ , the scale argument is specified in +For all unit styles except *lj*, the scale argument is specified in the distance units defined by the unit style. For example, in *real* or *metal* units, if the unit cell is a unit cube with edge length 1.0, specifying scale = 3.52 would create a cubic lattice with a spacing of 3.52 Angstroms. In *cgs* units, the spacing would be 3.52 cm. -For unit style *lj*\ , the scale argument is the Lennard-Jones reduced +For unit style *lj*, the scale argument is the Lennard-Jones reduced density, typically written as rho\*. LAMMPS converts this value into the multiplicative factor via the formula "factor\^dim = rho/rho\*", where rho = N/V with V = the volume of the lattice unit cell and N = diff --git a/doc/src/log.rst b/doc/src/log.rst index 2632f34b68..5d4036dc06 100644 --- a/doc/src/log.rst +++ b/doc/src/log.rst @@ -26,7 +26,7 @@ Description This command closes the current LAMMPS log file, opens a new file with the specified name, and begins logging information to it. If the -specified file name is *none*\ , then no new log file is opened. If the +specified file name is *none*, then no new log file is opened. If the optional keyword *append* is specified, then output will be appended to an existing log file, instead of overwriting it. diff --git a/doc/src/mdi_engine.rst b/doc/src/mdi_engine.rst index d26a1f8cd3..e06f571922 100644 --- a/doc/src/mdi_engine.rst +++ b/doc/src/mdi_engine.rst @@ -21,7 +21,7 @@ More specifically, this command causes LAMMPS to begin using the `MDI Library `_ to run as an MDI engine (server), responding to commands made by an external MDI driver code (client). See the :doc:`Howto mdi -` doc page for more information about how LAMMPS can work +` page for more information about how LAMMPS can work as both an MDI driver or engine. General information about launching codes that communicate using the @@ -75,7 +75,7 @@ Restrictions This command is part of the MDI package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package -` doc page for more info. +` page for more info. Related commands """""""""""""""" diff --git a/doc/src/message.rst b/doc/src/message.rst index 718a68f994..83ce965e91 100644 --- a/doc/src/message.rst +++ b/doc/src/message.rst @@ -50,7 +50,7 @@ Description Establish a messaging protocol between LAMMPS and another code for the purpose of client/server coupling. -The :doc:`Howto client/server ` doc page gives an +The :doc:`Howto client/server ` page gives an overview of client/server coupling of LAMMPS with another code where one code is the "client" and sends request messages to a "server" code. The server responds to each request with a reply message. This @@ -73,10 +73,10 @@ are: * md = run dynamics with another code * mc = perform Monte Carlo moves with another code -For protocol *md*\ , LAMMPS can be either a client or server. See the -:doc:`server md ` doc page for details on the protocol. +For protocol *md*, LAMMPS can be either a client or server. See the +:doc:`server md ` page for details on the protocol. -For protocol *mc*\ , LAMMPS can be the server. See the :doc:`server mc ` doc page for details on the protocol. +For protocol *mc*, LAMMPS can be the server. See the :doc:`server mc ` page for details on the protocol. ---------- @@ -84,13 +84,13 @@ The *mode* argument specifies how messages are exchanged between the client and server codes. Both codes must use the same mode and use consistent parameters. -For mode *file*\ , the 2 codes communicate via binary files. They must +For mode *file*, the 2 codes communicate via binary files. They must use the same filename, which is actually a file prefix. Several files with that prefix will be created and deleted as a simulation runs. The filename can include a path. Both codes must be able to access the path/file in a common filesystem. -For mode *zmq*\ , the 2 codes communicate via a socket on the server +For mode *zmq*, the 2 codes communicate via a socket on the server code's machine. Support for socket messaging is provided by the open-source `ZeroMQ library `_, which must be installed on your system. The client specifies an IP address (IPv4 @@ -130,7 +130,7 @@ what the client specifies. Additional explanation is needed here about how to use the *zmq* mode on a parallel machine, e.g. a cluster with many nodes. -For mode *mpi/one*\ , the 2 codes communicate via MPI and are launched +For mode *mpi/one*, the 2 codes communicate via MPI and are launched by the same mpirun command, e.g. with this syntax for OpenMPI: .. code-block:: bash @@ -139,10 +139,10 @@ by the same mpirun command, e.g. with this syntax for OpenMPI: mpirun -np 2 othercode args : -np 4 lmp_mpi -mpicolor 1 -in in.server # LAMMPS is server Note the use of the "-mpicolor color" command-line argument with -LAMMPS. See the :doc:`command-line args ` doc page for +LAMMPS. See the :doc:`command-line args ` page for further explanation. -For mode *mpi/two*\ , the 2 codes communicate via MPI, but are launched +For mode *mpi/two*, the 2 codes communicate via MPI, but are launched be 2 separate mpirun commands. The specified *filename* argument is a file the 2 MPI processes will use to exchange info so that an MPI inter-communicator can be established to enable the 2 codes to send @@ -191,7 +191,7 @@ Restrictions """""""""""" This command is part of the MESSAGE package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/min_modify.rst b/doc/src/min_modify.rst index 731d2ace62..6b416a9b6a 100644 --- a/doc/src/min_modify.rst +++ b/doc/src/min_modify.rst @@ -81,8 +81,8 @@ energy after) and that difference may be smaller than machine epsilon even if atoms could move in the gradient direction to reduce forces further. -The choice of a norm can be modified for the min styles *cg*\ , *sd*\ -, *quickmin*\ , *fire*\ , *fire/old*\ , *spin*\ , *spin/cg* and +The choice of a norm can be modified for the min styles *cg*, *sd*\ +, *quickmin*, *fire*, *fire/old*, *spin*, *spin/cg* and *spin/lbfgs* using the *norm* keyword. The default *two* norm computes the 2-norm (Euclidean length) of the global force vector: @@ -104,7 +104,7 @@ all atoms in the system: || \vec{F} ||_{inf} = {\rm max}\left(|F_1^1|, |F_1^2|, |F_1^3| \cdots, |F_N^1|, |F_N^2|, |F_N^3|\right) -For the min styles *spin*\ , *spin/cg* and *spin/lbfgs*\ , the force +For the min styles *spin*, *spin/cg* and *spin/lbfgs*, the force norm is replaced by the spin-torque norm. Keywords *alpha_damp* and *discrete_factor* only make sense when @@ -138,8 +138,8 @@ minimization is 4fs. Note that parameter defaults has been chosen to be reliable in most cases, but one should consider adjusting :doc:`timestep ` and *tmax* to optimize the minimization for large or complex systems. Other -parameters of the *fire* minimization can be tuned (\ *tmin*\ , -*delaystep*\ , *dtgrow*\ , *dtshrink*\ , *alpha0*\ , and +parameters of the *fire* minimization can be tuned (\ *tmin*, +*delaystep*, *dtgrow*, *dtshrink*, *alpha0*, and *alphashrink*\ ). Please refer to the references describing the :doc:`min_style ` *fire*. An additional stopping criteria *vdfmax* is used by *fire* in order to avoid @@ -176,7 +176,7 @@ Default The option defaults are dmax = 0.1, line = quadratic and norm = two. -For the *spin*\ , *spin/cg* and *spin/lbfgs* styles, the option +For the *spin*, *spin/cg* and *spin/lbfgs* styles, the option defaults are alpha_damp = 1.0, discrete_factor = 10.0, line = spin_none, and norm = euclidean. diff --git a/doc/src/min_spin.rst b/doc/src/min_spin.rst index 46fd08b838..4aef3e0fe2 100644 --- a/doc/src/min_spin.rst +++ b/doc/src/min_spin.rst @@ -81,7 +81,7 @@ The :doc:`min_modify ` command can be used to activate the line search procedure, and to modify the discretization factor *discrete_factor*. -For more information about styles *spin/cg* and *spin/lbfgs*\ , +For more information about styles *spin/cg* and *spin/lbfgs*, see their implementation reported in :ref:`(Ivanov) `. .. note:: diff --git a/doc/src/min_style.rst b/doc/src/min_style.rst index caf2ebd7b2..03a6073994 100644 --- a/doc/src/min_style.rst +++ b/doc/src/min_style.rst @@ -42,7 +42,7 @@ of the energy is not formed directly, but approximated in each conjugate search direction by a finite difference directional derivative. When close to an energy minimum, the algorithm behaves like a Newton method and exhibits a quadratic convergence rate to high -accuracy. In most cases the behavior of *hftn* is similar to *cg*\ , +accuracy. In most cases the behavior of *hftn* is similar to *cg*, but it offers an alternative if *cg* seems to perform poorly. This style is not affected by the :doc:`min_modify ` command. @@ -88,14 +88,14 @@ Style *spin/lbfgs* uses an orthogonal spin optimization (OSO) combined to a limited-memory Broyden-Fletcher-Goldfarb-Shanno (LBFGS) approach to minimize spin configurations. -See the :doc:`min/spin ` doc page for more information about -the *spin*\ , *spin/cg* and *spin/lbfgs* styles. +See the :doc:`min/spin ` page for more information about +the *spin*, *spin/cg* and *spin/lbfgs* styles. -Either the *quickmin*\ , *fire* and *fire/old* styles are useful in the +Either the *quickmin*, *fire* and *fire/old* styles are useful in the context of nudged elastic band (NEB) calculations via the :doc:`neb ` command. -Either the *spin*\ , *spin/cg* and *spin/lbfgs* styles are useful in +Either the *spin*, *spin/cg* and *spin/lbfgs* styles are useful in the context of magnetic geodesic nudged elastic band (GNEB) calculations via the :doc:`neb/spin ` command. @@ -110,7 +110,7 @@ calculations via the :doc:`neb/spin ` command. .. note:: - The *quickmin*\ , *fire*\ , *fire/old*\ , *hftn*\ , and *cg/kk* styles do not yet + The *quickmin*, *fire*, *fire/old*, *hftn*, and *cg/kk* styles do not yet support the use of the :doc:`fix box/relax ` command or minimizations involving the electron radius in :doc:`eFF ` models. diff --git a/doc/src/minimize.rst b/doc/src/minimize.rst index a9f60fe8f6..14bc4d0d21 100644 --- a/doc/src/minimize.rst +++ b/doc/src/minimize.rst @@ -57,7 +57,7 @@ coordinates of other atoms fixed by applying :doc:`fix setforce ` to the other atoms. See a fuller discussion of using fixes while minimizing below. -The :doc:`minimization styles ` *cg*\ , *sd*\ , and *hftn* +The :doc:`minimization styles ` *cg*, *sd*, and *hftn* involves an outer iteration loop which sets the search direction along which atom coordinates are changed. An inner iteration is then performed using a line search algorithm. The line search typically @@ -68,7 +68,7 @@ be more robust than previous line searches we have tried. The backtracking method is described in Nocedal and Wright's Numerical Optimization (Procedure 3.1 on p 41). -The :doc:`minimization styles ` *quickmin*\ , *fire* and +The :doc:`minimization styles ` *quickmin*, *fire* and *fire/old* perform damped dynamics using an Euler integration step. Thus they require a :doc:`timestep ` be defined. @@ -118,12 +118,12 @@ The minimization procedure stops if any of several criteria are met: .. note:: - the :doc:`minimization style ` *spin*\ , - *spin/cg*\ , and *spin/lbfgs* replace + the :doc:`minimization style ` *spin*, + *spin/cg*, and *spin/lbfgs* replace the force tolerance *ftol* by a torque tolerance. The minimization procedure stops if the 2-norm (length) of the torque vector on atom (defined as the cross product between the - atomic spin and its precession vectors omega) is less than *ftol*\ , + atomic spin and its precession vectors omega) is less than *ftol*, or if any of the other criteria are met. Torque have the same units as the energy. .. note:: diff --git a/doc/src/molecule.rst b/doc/src/molecule.rst index b86983766d..f380d82c7d 100644 --- a/doc/src/molecule.rst +++ b/doc/src/molecule.rst @@ -79,7 +79,7 @@ make it easy to use the same molecule file in different molecule templates or in different simulations. You can specify the same file multiple times with different optional keywords. -The *offset*\ , *toff*\ , *boff*\ , *aoff*\ , *doff*\ , *ioff* keywords +The *offset*, *toff*, *boff*, *aoff*, *doff*, *ioff* keywords add the specified offset values to the atom types, bond types, angle types, dihedral types, and/or improper types as they are read from the molecule file. E.g. if *toff* = 2, and the file uses atom types @@ -150,7 +150,7 @@ appear if the value(s) are different than the default. * Xc Yc Zc *com* = coordinates of center-of-mass of molecule * Ixx Iyy Izz Ixy Ixz Iyz *inertia* = 6 components of inertia tensor of molecule -For *mass*\ , *com*\ , and *inertia*\ , the default is for LAMMPS to +For *mass*, *com*, and *inertia*, the default is for LAMMPS to calculate this quantity itself if needed, assuming the molecules consists of a set of point particles or finite-size particles (with a non-zero diameter) that do not overlap. If finite-size particles in @@ -349,7 +349,7 @@ the doc pages for individual styles for details. N1, N2, N3 are the number of 1-2, 1-3, 1-4 neighbors respectively of this atom within the topology of the molecule. See the -:doc:`special_bonds ` doc page for more discussion of +:doc:`special_bonds ` page for more discussion of 1-2, 1-3, 1-4 neighbors. If this section appears, the Special Bonds section must also appear. @@ -390,7 +390,7 @@ This section is only needed when molecules created using the template will be constrained by SHAKE via the "fix shake" command. The other two Shake sections must also appear in the file, following this one. -The meaning of the flag for each atom is as follows. See the :doc:`fix shake ` doc page for a further description of SHAKE +The meaning of the flag for each atom is as follows. See the :doc:`fix shake ` page for a further description of SHAKE clusters. * 0 = not part of a SHAKE cluster @@ -432,7 +432,7 @@ and b,c = IDs of other two atoms bonded to the central atom. If flag = 4, a,b,c,d are listed, where a = ID of central atom, and b,c,d = IDs of other three atoms bonded to the central atom. -See the :doc:`fix shake ` doc page for a further description +See the :doc:`fix shake ` page for a further description of SHAKE clusters. ---------- @@ -477,7 +477,7 @@ the second non-central atom (value c in the Shake Atoms section), and c = bondtype of the bond between the central atom and the third non-central atom (value d in the Shake Atoms section). -See the :doc:`fix shake ` doc page for a further description +See the :doc:`fix shake ` page for a further description of SHAKE clusters. ---------- diff --git a/doc/src/neb.rst b/doc/src/neb.rst index fdccdf3d9f..69a0877f3a 100644 --- a/doc/src/neb.rst +++ b/doc/src/neb.rst @@ -114,7 +114,7 @@ closer to the MEP and read them in. ---------- -For a *file-style* setting of *final*\ , a filename is specified which +For a *file-style* setting of *final*, a filename is specified which contains atomic coordinates for zero or more atoms, in the format described below. For each atom that appears in the file, the new coordinates are assigned to that atom in the final replica. Each @@ -143,7 +143,7 @@ case. interpolation is outside the periodic box, the atom will be wrapped back into the box when the NEB calculation begins. -For a *file-style* setting of *each*\ , a filename is specified which is +For a *file-style* setting of *each*, a filename is specified which is assumed to be unique to each replica. This can be done by using a variable in the filename, e.g. @@ -162,7 +162,7 @@ as described below, and for any atom that appears in the file, assign the specified coordinates to its atom. The various files do not need to contain the same set of atoms. -For a *file-style* setting of *none*\ , no filename is specified. Each +For a *file-style* setting of *none*, no filename is specified. Each replica is assumed to already be in its initial configuration at the time the neb command is issued. This allows each replica to define its own configuration by reading a replica-specific data or restart or @@ -185,13 +185,13 @@ that a long calculation can be restarted if needed. A NEB calculation proceeds in two stages, each of which is a minimization procedure, performed via damped dynamics. To enable this, you must first define a damped dynamics -:doc:`min_style `, such as *quickmin* or *fire*\ . The *cg*\ , -*sd*\ , and *hftn* styles cannot be used, since they perform iterative +:doc:`min_style `, such as *quickmin* or *fire*\ . The *cg*, +*sd*, and *hftn* styles cannot be used, since they perform iterative line searches in their inner loop, which cannot be easily synchronized across multiple replicas. The minimizer tolerances for energy and force are set by *etol* and -*ftol*\ , the same as for the :doc:`minimize ` command. +*ftol*, the same as for the :doc:`minimize ` command. A non-zero *etol* means that the NEB calculation will terminate if the energy criterion is met by every replica. The energies being compared diff --git a/doc/src/neb_spin.rst b/doc/src/neb_spin.rst index 10b08f674b..9f714096dc 100644 --- a/doc/src/neb_spin.rst +++ b/doc/src/neb_spin.rst @@ -114,7 +114,7 @@ closer to the MEP and read them in. ---------- -For a *file-style* setting of *final*\ , a filename is specified which +For a *file-style* setting of *final*, a filename is specified which contains atomic and spin coordinates for zero or more atoms, in the format described below. For each atom that appears in the file, the new coordinates are @@ -168,12 +168,12 @@ opposite directions, an arbitrary rotation vector belonging to the plane perpendicular to initial and final spins is chosen. In this case, a warning message is displayed. -For a *file-style* setting of *each*\ , a filename is specified which is +For a *file-style* setting of *each*, a filename is specified which is assumed to be unique to each replica. See the :doc:`neb ` documentation page for more information about this option. -For a *file-style* setting of *none*\ , no filename is specified. Each +For a *file-style* setting of *none*, no filename is specified. Each replica is assumed to already be in its initial configuration at the time the neb command is issued. This allows each replica to define its own configuration by reading a replica-specific data or restart or @@ -196,14 +196,14 @@ that a long calculation can be restarted if needed. A NEB calculation proceeds in two stages, each of which is a minimization procedure. To enable this, you must first define a -:doc:`min_style `, using either the *spin*\ , -*spin/cg*\ , or *spin/lbfgs* style (see +:doc:`min_style `, using either the *spin*, +*spin/cg*, or *spin/lbfgs* style (see :doc:`min_spin ` for more information). The other styles cannot be used, since they relax the lattice degrees of freedom instead of the spins. The minimizer tolerances for energy and force are set by *etol* and -*ttol*\ , the same as for the :doc:`minimize ` command. +*ttol*, the same as for the :doc:`minimize ` command. A non-zero *etol* means that the GNEB calculation will terminate if the energy criterion is met by every replica. The energies being compared diff --git a/doc/src/neigh_modify.rst b/doc/src/neigh_modify.rst index 25c2c2ac77..d6fa12f713 100644 --- a/doc/src/neigh_modify.rst +++ b/doc/src/neigh_modify.rst @@ -75,13 +75,13 @@ pairwise neighbor lists. Depending on what pair interactions and other commands are defined, a simulation may require one or more neighbor lists. -The *every*\ , *delay*\ , *check*\ , and *once* options affect how often +The *every*, *delay*, *check*, and *once* options affect how often lists are built as a simulation runs. The *delay* setting means never build new lists until at least N steps after the previous build. The *every* setting means build lists every M steps (after the delay has -passed). If the *check* setting is *no*\ , the lists are built on the +passed). If the *check* setting is *no*, the lists are built on the first step that satisfies the *delay* and *every* settings. If the -*check* setting is *yes*\ , then the *every* and *delay* settings +*check* setting is *yes*, then the *every* and *delay* settings determine when a build may possibly be performed, but an actual build only occurs if some atom has moved more than half the skin distance (specified in the :doc:`neighbor ` command) since the last @@ -112,7 +112,7 @@ pairwise cutoff is so short that atoms that are part of the same interaction are not communicated as ghost atoms. This is an unusual model (e.g. no pair interactions at all) and the problem can be fixed by use of the :doc:`comm_modify cutoff ` command. Note -that to save time, the default *cluster* setting is *no*\ , so that this +that to save time, the default *cluster* setting is *no*, so that this check is not performed. The *include* option limits the building of pairwise neighbor lists to diff --git a/doc/src/neighbor.rst b/doc/src/neighbor.rst index 1b10ec8998..0cfedfc090 100644 --- a/doc/src/neighbor.rst +++ b/doc/src/neighbor.rst @@ -87,7 +87,7 @@ stored in the list. When a run is finished, counts of the number of neighbors stored in the pairwise list and the number of times neighbor lists were built -are printed to the screen and log file. See the :doc:`Run output ` doc page for details. +are printed to the screen and log file. See the :doc:`Run output ` page for details. Restrictions """""""""""" diff --git a/doc/src/next.rst b/doc/src/next.rst index 2b578a43f5..46d39660eb 100644 --- a/doc/src/next.rst +++ b/doc/src/next.rst @@ -37,8 +37,8 @@ be used in an input script command as $a or $z. If it is multiple letters, it can be used as ${myTemp}. If multiple variables are used as arguments to the *next* command, -then all must be of the same variable style: *index*\ , *loop*\ , *file*\ , -*universe*\ , or *uloop*\ . An exception is that *universe*\ - and +then all must be of the same variable style: *index*, *loop*, *file*, +*universe*, or *uloop*\ . An exception is that *universe*\ - and *uloop*\ -style variables can be mixed in the same *next* command. All the variables specified with the next command are incremented by @@ -93,7 +93,7 @@ directories run1 through run8. next d jump in.polymer -If the variable "d" were of style *universe*\ , and the same in.polymer +If the variable "d" were of style *universe*, and the same in.polymer input script were run on 3 partitions of processors, then the first 3 simulations would begin, one on each set of processors. Whichever partition finished first, it would assign variable "d" the fourth value diff --git a/doc/src/package.rst b/doc/src/package.rst index 54cf74f5be..cbff28cee3 100644 --- a/doc/src/package.rst +++ b/doc/src/package.rst @@ -166,7 +166,7 @@ intel", or "package omp" command with default settings. set, either to default values or to specified settings. I.e. settings from previous invocations do not persist across multiple invocations. -See the :doc:`Speed packages ` doc page for more details +See the :doc:`Speed packages ` page for more details about using the various accelerator packages for speeding up LAMMPS simulations. @@ -192,8 +192,8 @@ Optional keyword/value pairs can also be specified. Each has a default value as listed below. The *neigh* keyword specifies where neighbor lists for pair style -computation will be built. If *neigh* is *yes*\ , which is the default, -neighbor list building is performed on the GPU. If *neigh* is *no*\ , +computation will be built. If *neigh* is *yes*, which is the default, +neighbor list building is performed on the GPU. If *neigh* is *no*, neighbor list building is performed on the CPU. GPU neighbor list building currently cannot be used with a triclinic box. GPU neighbor lists are not compatible with commands that are not GPU-enabled. When @@ -202,7 +202,7 @@ built on the CPU. In these cases, it will typically be more efficient to only use CPU neighbor list builds. The *newton* keyword sets the Newton flags for pairwise (not bonded) -interactions to *off* or *on*\ , the same as the :doc:`newton ` +interactions to *off* or *on*, the same as the :doc:`newton ` command allows. Currently, only an *off* value is allowed, since all the GPU package pair styles require this setting. This means more computation is done, but less communication. In the future a value of @@ -288,7 +288,7 @@ The *Nthreads* value for the *omp* keyword sets the number of OpenMP threads allocated for each MPI task. This setting controls OpenMP parallelism only for routines run on the CPUs. For more details on setting the number of OpenMP threads, see the discussion of the -*Nthreads* setting on this doc page for the "package omp" command. +*Nthreads* setting on this page for the "package omp" command. The meaning of *Nthreads* is exactly the same for the GPU, INTEL, and GPU packages. @@ -350,14 +350,14 @@ The *Nthreads* value for the *omp* keyword sets the number of OpenMP threads allocated for each MPI task. This setting controls OpenMP parallelism only for routines run on the CPUs. For more details on setting the number of OpenMP threads, see the discussion of the -*Nthreads* setting on this doc page for the "package omp" command. +*Nthreads* setting on this page for the "package omp" command. The meaning of *Nthreads* is exactly the same for the GPU, INTEL, and GPU packages. The *mode* keyword determines the precision mode to use for computing pair style forces, either on the CPU or on the co-processor, when using a INTEL supported :doc:`pair style `. It -can take a value of *single*\ , *mixed* which is the default, or +can take a value of *single*, *mixed* which is the default, or *double*\ . *Single* means single precision is used for the entire force calculation. *Mixed* means forces between a pair of atoms are computed in single precision, but accumulated and stored in double @@ -451,11 +451,11 @@ often faster, just as it is for non-accelerated pair styles. Similarly, the *neigh/qeq* keyword determines how neighbor lists are built for :doc:`fix qeq/reaxff/kk `. -If the *neigh/thread* keyword is set to *off*\ , then the KOKKOS package +If the *neigh/thread* keyword is set to *off*, then the KOKKOS package threads only over atoms. However, for small systems, this may not expose -enough parallelism to keep a GPU busy. When this keyword is set to *on*\ , +enough parallelism to keep a GPU busy. When this keyword is set to *on*, the KOKKOS package threads over both atoms and neighbors of atoms. When -using *neigh/thread* *on*\ , a full neighbor list must also be used. Using +using *neigh/thread* *on*, a full neighbor list must also be used. Using *neigh/thread* *on* may be slower for large systems, so this this option is turned on by default only when there are 16K atoms or less owned by an MPI rank and when using a full neighbor list. Not all KOKKOS-enabled @@ -464,7 +464,7 @@ simple pair-wise potentials such as Lennard-Jones do support threading over both atoms and neighbors. The *newton* keyword sets the Newton flags for pairwise and bonded -interactions to *off* or *on*\ , the same as the :doc:`newton ` +interactions to *off* or *on*, the same as the :doc:`newton ` command allows. The default for GPUs is *off* because this will almost always give better performance for the KOKKOS package. This means more computation is done, but less communication. However, when running on @@ -531,7 +531,7 @@ performing the exchange pack/unpack on the host CPU can give speedup since it reduces the number of CUDA kernel launches. The *gpu/aware* keyword chooses whether GPU-aware MPI will be used. When -this keyword is set to *on*\ , buffers in GPU memory are passed directly +this keyword is set to *on*, buffers in GPU memory are passed directly through MPI send/receive calls. This reduces overhead of first copying the data to the host CPU. However GPU-aware MPI is not supported on all systems, which can lead to segmentation faults and would require using a @@ -539,7 +539,7 @@ value of *off*\ . If LAMMPS can safely detect that GPU-aware MPI is not available (currently only possible with OpenMPI v2.0.0 or later), then the *gpu/aware* keyword is automatically set to *off* by default. When the *gpu/aware* keyword is set to *off* while any of the *comm* -keywords are set to *device*\ , the value for these *comm* keywords will +keywords are set to *device*, the value for these *comm* keywords will be automatically changed to *no*\ . This setting has no effect if not running on GPUs or if using only one MPI rank. GPU-aware MPI is available for OpenMPI 1.8 (or later versions), Mvapich2 1.9 (or later) when the @@ -643,7 +643,7 @@ with the GPU package. See the :doc:`Build package ` doc page for more info. The intel style of this command can only be invoked if LAMMPS was -built with the INTEL package. See the :doc:`Build package ` doc page for more info. +built with the INTEL package. See the :doc:`Build package ` page for more info. The kk style of this command can only be invoked if LAMMPS was built with the KOKKOS package. See the :doc:`Build package ` diff --git a/doc/src/pair_adp.rst b/doc/src/pair_adp.rst index abc8cb3c4c..87493724b0 100644 --- a/doc/src/pair_adp.rst +++ b/doc/src/pair_adp.rst @@ -72,7 +72,7 @@ where :math:`N` is the number of LAMMPS atom types: * filename * :math:`N` element names = mapping of extended *setfl* elements to atom types -See the :doc:`pair_coeff ` doc page for alternate ways to +See the :doc:`pair_coeff ` page for alternate ways to specify the path for the potential file. As an example, the potentials/AlCu.adp file, included in the @@ -156,7 +156,7 @@ an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa ` command. It does not support the -*inner*\ , *middle*\ , *outer* keywords. +*inner*, *middle*, *outer* keywords. ---------- diff --git a/doc/src/pair_agni.rst b/doc/src/pair_agni.rst index 2e4d95760f..8e91e57b72 100644 --- a/doc/src/pair_agni.rst +++ b/doc/src/pair_agni.rst @@ -57,7 +57,7 @@ pair_coeff command, where :math:`N` is the number of LAMMPS atom types: * filename * :math:`N` element names = mapping of AGNI elements to atom types -See the :doc:`pair_coeff ` doc page for alternate ways +See the :doc:`pair_coeff ` page for alternate ways to specify the path for the force field file. An AGNI force field is fully specified by the filename which contains the @@ -74,13 +74,13 @@ the same arguments and should produce the same results, except for round-off and precision issues. The accelerated style is part of the OPENMP. They are only enabled -if LAMMPS was built with those packages. See the :doc:`Build package ` doc page for more info. +if LAMMPS was built with those packages. See the :doc:`Build package ` page for more info. You can specify the accelerated style explicitly in your input script by including their suffix, or you can use the :doc:`-suffix command-line switch ` when you invoke LAMMPS, or you can use the :doc:`suffix ` command in your input script. -See the :doc:`Speed packages ` doc page for more +See the :doc:`Speed packages ` page for more instructions on how to use the accelerated styles effectively. ---------- @@ -97,7 +97,7 @@ script that reads a restart file. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa ` command. It does not support the -*inner*\ , *middle*\ , *outer* keywords. +*inner*, *middle*, *outer* keywords. ---------- @@ -113,7 +113,7 @@ It should work with damped dynamics based minimizers like *fire* or integration of the forces as discussed in :ref:`(Botu3) `. This pair style is part of the MISC package. It is only enabled if LAMMPS was built with that -package. See the :doc:`Build package ` doc page for more +package. See the :doc:`Build package ` page for more info. The AGNI force field files provided with LAMMPS (see the diff --git a/doc/src/pair_airebo.rst b/doc/src/pair_airebo.rst index d631d0a3d0..28d7811f06 100644 --- a/doc/src/pair_airebo.rst +++ b/doc/src/pair_airebo.rst @@ -122,7 +122,7 @@ would be 10.2 Angstroms. By default, the longer-ranged interaction is smoothly switched off between 2.16 and 3.0 :math:`\sigma`. By specifying *cutoff_min* in addition -to *cutoff*\ , the switching can be configured to take place between +to *cutoff*, the switching can be configured to take place between *cutoff_min* and *cutoff*\ . *cutoff_min* can only be specified if all optional arguments are given. @@ -131,7 +131,7 @@ various dihedral angle preferences in hydrocarbon configurations. ---------- -Only a single pair_coeff command is used with the *airebo*\ , *airebo* +Only a single pair_coeff command is used with the *airebo*, *airebo* or *rebo* style which specifies an AIREBO, REBO, or AIREBO-M potential file with parameters for C and H. Note that as of LAMMPS version 15 May 2019 the *rebo* style in LAMMPS uses its own potential @@ -142,7 +142,7 @@ where N is the number of LAMMPS atom types: * filename * :math:`N` element names = mapping of AIREBO elements to atom types -See the :doc:`pair_coeff ` doc page for alternate ways +See the :doc:`pair_coeff ` page for alternate ways to specify the path for the potential file. As an example, if your LAMMPS simulation has 4 atom types and you want @@ -211,13 +211,13 @@ script that reads a restart file. These pair styles can only be used via the *pair* keyword of the :doc:`run_style respa ` command. They do not support the -*inner* , *middle*, *outer* keywords. +*inner*, *middle*, *outer* keywords. Restrictions """""""""""" These pair styles are part of the MANYBODY package. They are only -enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +enabled if LAMMPS was built with that package. See the :doc:`Build package ` page for more info. These pair potentials require the :doc:`newton ` setting to be "on" for pair interactions. diff --git a/doc/src/pair_atm.rst b/doc/src/pair_atm.rst index 0bdfecd517..18c66961fb 100644 --- a/doc/src/pair_atm.rst +++ b/doc/src/pair_atm.rst @@ -155,7 +155,7 @@ re-specified in the restart input script. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa ` command. It does not support the -*inner* , *middle* , *outer* keywords. +*inner*, *middle*, and *outer* keywords. ---------- @@ -163,7 +163,7 @@ Restrictions """""""""""" This pair style is part of the MANYBODY package. It is only enabled -if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +if LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/pair_awpmd.rst b/doc/src/pair_awpmd.rst index 919656a8f5..604baceb8a 100644 --- a/doc/src/pair_awpmd.rst +++ b/doc/src/pair_awpmd.rst @@ -52,7 +52,7 @@ Rc is the cutoff. The pair_style command allows for several optional keywords to be specified. -The *hartree*\ , *dproduct*\ , and *uhf* keywords specify the form of the +The *hartree*, *dproduct*, and *uhf* keywords specify the form of the initial trial wave function for the system. If the *hartree* keyword is used, then a Hartree multielectron trial wave function is used. If the *dproduct* keyword is used, then a trial function which is a @@ -60,7 +60,7 @@ product of two determinants for each spin type is used. If the *uhf* keyword is used, then an unrestricted Hartree-Fock trial wave function is used. -The *free*\ , *pbc*\ , and *fix* keywords specify a width constraint on +The *free*, *pbc*, and *fix* keywords specify a width constraint on the electron wave packets. If the *free* keyword is specified, then there is no constraint. If the *pbc* keyword is used and *Plen* is specified as -1, then the maximum width is half the shortest box length. If *Plen* @@ -91,7 +91,7 @@ commands, or by mixing as described below: * cutoff (distance units) -For *awpmd/cut*\ , the cutoff coefficient is optional. If it is not +For *awpmd/cut*, the cutoff coefficient is optional. If it is not used (as in some of the examples above), the default global value specified in the pair_style command is used. @@ -108,7 +108,7 @@ to be specified in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa ` command. It does not support the -*inner*\ , *middle*\ , *outer* keywords. +*inner*, *middle*, *outer* keywords. ---------- diff --git a/doc/src/pair_beck.rst b/doc/src/pair_beck.rst index 44bc317138..d220e0abdd 100644 --- a/doc/src/pair_beck.rst +++ b/doc/src/pair_beck.rst @@ -78,7 +78,7 @@ to be specified in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa ` command. It does not support the -*inner*\ , *middle*\ , *outer* keywords. +*inner*, *middle*, *outer* keywords. ---------- diff --git a/doc/src/pair_body_nparticle.rst b/doc/src/pair_body_nparticle.rst index 963f9f4b50..24d5beeb3d 100644 --- a/doc/src/pair_body_nparticle.rst +++ b/doc/src/pair_body_nparticle.rst @@ -31,7 +31,7 @@ for more details on using body particles. This pair style is designed for use with the "nparticle" body style, which is specified as an argument to the "atom-style body" command. -See the :doc:`Howto body ` doc page for more details about +See the :doc:`Howto body ` page for more details about the body styles LAMMPS supports. The "nparticle" style treats a body particle as a rigid body composed of N sub-particles. @@ -74,7 +74,7 @@ interaction, using the standard formula where :math:`R_c` is the cutoff. As explained above, an interaction involving one or two body sub-particles may be computed even for :math:`r > R_c`. -For style *body*\ , the following coefficients must be defined for each +For style *body*, the following coefficients must be defined for each pair of atoms types via the :doc:`pair_coeff ` command as in the examples above, or in the data file or restart files read by the :doc:`read_data ` or :doc:`read_restart ` @@ -104,7 +104,7 @@ This pair style does not write its information to :doc:`binary restart files ` command. It does not support the -*inner*\ , *middle*\ , *outer* keywords. +*inner*, *middle*, *outer* keywords. ---------- @@ -112,7 +112,7 @@ Restrictions """""""""""" This style is part of the BODY package. It is only enabled if LAMMPS -was built with that package. See the :doc:`Build package ` doc page for more info. +was built with that package. See the :doc:`Build package ` page for more info. Defining particles to be bodies so they participate in body/body or body/particle interactions requires the use of the :doc:`atom_style body ` command. diff --git a/doc/src/pair_body_rounded_polygon.rst b/doc/src/pair_body_rounded_polygon.rst index 6301bf23b1..6757d9d60e 100644 --- a/doc/src/pair_body_rounded_polygon.rst +++ b/doc/src/pair_body_rounded_polygon.rst @@ -34,7 +34,7 @@ Style *body/rounded/polygon* is for use with 2d models of body particles of style *rounded/polygon*\ . It calculates pairwise body/body interactions which can include body particles modeled as 1-vertex circular disks with a specified diameter. See the -:doc:`Howto body ` doc page for more details on using body +:doc:`Howto body ` page for more details on using body rounded/polygon particles. This pairwise interaction between rounded polygons is described in @@ -127,13 +127,13 @@ pair_coeff commands in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa ` command. It does not support the -*inner*\ , *middle*\ , *outer* keywords. +*inner*, *middle*, *outer* keywords. Restrictions """""""""""" These pair styles are part of the BODY package. They are only enabled -if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +if LAMMPS was built with that package. See the :doc:`Build package ` page for more info. This pair style requires the :doc:`newton ` setting to be "on" for pair interactions. diff --git a/doc/src/pair_body_rounded_polyhedron.rst b/doc/src/pair_body_rounded_polyhedron.rst index 3ef4fb7ca2..f2f7c1676a 100644 --- a/doc/src/pair_body_rounded_polyhedron.rst +++ b/doc/src/pair_body_rounded_polyhedron.rst @@ -34,7 +34,7 @@ Style *body/rounded/polygon* is for use with 3d models of body particles of style *rounded/polyhedron*\ . It calculates pairwise body/body interactions which can include body particles modeled as 1-vertex spheres with a specified diameter. See the -:doc:`Howto body ` doc page for more details on using body +:doc:`Howto body ` page for more details on using body rounded/polyhedron particles. This pairwise interaction between the rounded polyhedra is described @@ -122,13 +122,13 @@ commands in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa ` command. It does not support the -*inner*\ , *middle*\ , *outer* keywords. +*inner*, *middle*, *outer* keywords. Restrictions """""""""""" These pair styles are part of the BODY package. They are only enabled -if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +if LAMMPS was built with that package. See the :doc:`Build package ` page for more info. This pair style requires the :doc:`newton ` setting to be "on" for pair interactions. diff --git a/doc/src/pair_bop.rst b/doc/src/pair_bop.rst index f566d41e2c..42b9c54406 100644 --- a/doc/src/pair_bop.rst +++ b/doc/src/pair_bop.rst @@ -372,7 +372,7 @@ script that reads a restart file. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa ` command. It does not support the -*inner*\ , *middle*\ , *outer* keywords. +*inner*, *middle*, *outer* keywords. ---------- @@ -380,7 +380,7 @@ Restrictions """""""""""" These pair styles are part of the MANYBODY package. They are only -enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +enabled if LAMMPS was built with that package. See the :doc:`Build package ` page for more info. These pair potentials require the :doc:`newtion ` setting to be "on" for pair interactions. diff --git a/doc/src/pair_born.rst b/doc/src/pair_born.rst index 65be948f82..555e78eecd 100644 --- a/doc/src/pair_born.rst +++ b/doc/src/pair_born.rst @@ -147,7 +147,7 @@ The second coefficient, rho, must be greater than zero. The last coefficient is optional. If not specified, the global A,C,D cutoff specified in the pair_style command is used. -For *born/coul/long*\ , *born/coul/wolf* and *born/coul/dsf* no +For *born/coul/long*, *born/coul/wolf* and *born/coul/dsf* no Coulombic cutoff can be specified for an individual I,J type pair. All type pairs use the same global Coulombic cutoff specified in the pair_style command. @@ -179,8 +179,8 @@ Thess styles writes thei information to binary :doc:`restart ` files, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. -These styles can only be used via the *pair* keyword of the :doc:`run_style respa ` command. They do not support the *inner*\ , -*middle*\ , *outer* keywords. +These styles can only be used via the *pair* keyword of the :doc:`run_style respa ` command. They do not support the *inner*, +*middle*, *outer* keywords. ---------- @@ -188,7 +188,13 @@ Restrictions """""""""""" The *born/coul/long* style is part of the KSPACE package. It is only -enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +enabled if LAMMPS was built with that package. See the +:doc:`Build package ` page for more info. + +The *born/coul/dsf* and *born/coul/wolf* pair styles are part of the +EXTRA-PAIR package. They are only enabled if LAMMPS was built with +that package. See the :doc:`Build package ` page +for more info. Related commands """""""""""""""" diff --git a/doc/src/pair_brownian.rst b/doc/src/pair_brownian.rst index 43c17c9087..780a181a69 100644 --- a/doc/src/pair_brownian.rst +++ b/doc/src/pair_brownian.rst @@ -50,7 +50,7 @@ spherical particles. These pair styles are designed to be used with either the :doc:`pair_style lubricate ` or :doc:`pair_style lubricateU ` commands to provide thermostatting when dissipative lubrication forces are acting. Thus the parameters -*mu*\ , *flaglog*\ , *flagfld*\ , *cutinner*\ , and *cutoff* should be +*mu*, *flaglog*, *flagfld*, *cutinner*, and *cutoff* should be specified consistent with the settings in the lubrication pair styles. For details, refer to either of the lubrication pair styles. @@ -104,7 +104,7 @@ to be specified in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa ` command. It does not support the -*inner*\ , *middle*\ , *outer* keywords. +*inner*, *middle*, *outer* keywords. ---------- @@ -112,7 +112,7 @@ Restrictions """""""""""" These styles are part of the COLLOID package. They are only enabled -if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +if LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Only spherical monodisperse particles are allowed for pair_style brownian. diff --git a/doc/src/pair_buck.rst b/doc/src/pair_buck.rst index 5f255ece39..eb88d09fd0 100644 --- a/doc/src/pair_buck.rst +++ b/doc/src/pair_buck.rst @@ -100,7 +100,7 @@ where :math:`\rho` is an ionic-pair dependent length parameter, and The styles with *coul/cut* or *coul/long* or *coul/msm* add a Coulombic term as described for the :doc:`lj/cut ` pair styles. -For *buck/coul/long* and *buc/coul/msm*\ , an additional damping factor +For *buck/coul/long* and *buc/coul/msm*, an additional damping factor is applied to the Coulombic term so it can be used in conjunction with the :doc:`kspace_style ` command and its *ewald* or *pppm* or *msm* option. The Coulombic cutoff specified for this style means @@ -145,7 +145,7 @@ A,C and Coulombic cutoffs are used. If only one cutoff is specified, it is used as the cutoff for both A,C and Coulombic interactions for this type pair. If both coefficients are specified, they are used as the A,C and Coulombic cutoffs for this type pair. You cannot specify -2 cutoffs for style *buck*\ , since it has no Coulombic terms. +2 cutoffs for style *buck*, since it has no Coulombic terms. For *buck/coul/long* only the LJ cutoff can be specified since a Coulombic cutoff cannot be specified for an individual I,J type pair. All type pairs use the same global Coulombic cutoff specified in the @@ -177,14 +177,14 @@ pair interaction. These styles write their information to :doc:`binary restart files `, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. -These styles can only be used via the *pair* keyword of the :doc:`run_style respa ` command. They do not support the *inner*\ , -*middle*\ , *outer* keywords. +These styles can only be used via the *pair* keyword of the :doc:`run_style respa ` command. They do not support the *inner*, +*middle*, *outer* keywords. Restrictions """""""""""" The *buck/coul/long* style is part of the KSPACE package. They are -only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +only enabled if LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/pair_buck6d_coul_gauss.rst b/doc/src/pair_buck6d_coul_gauss.rst index 740ed0292f..be23f11416 100644 --- a/doc/src/pair_buck6d_coul_gauss.rst +++ b/doc/src/pair_buck6d_coul_gauss.rst @@ -136,7 +136,7 @@ Restrictions """""""""""" These styles are part of the MOFFF package. They are only -enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +enabled if LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/pair_buck_long.rst b/doc/src/pair_buck_long.rst index 0e19873500..82dd41ff6f 100644 --- a/doc/src/pair_buck_long.rst +++ b/doc/src/pair_buck_long.rst @@ -64,22 +64,22 @@ settings. The :ref:`Ismail ` paper has more details on when it is appropriate to include long-range 1/r\^6 interactions, using this potential. -If *flag_buck* is set to *long*\ , no cutoff is used on the Buckingham +If *flag_buck* is set to *long*, no cutoff is used on the Buckingham 1/r\^6 dispersion term. The long-range portion can be calculated by using the :doc:`kspace_style ewald/disp or pppm/disp ` commands. The specified Buckingham cutoff then determines which portion of the Buckingham interactions are computed directly by the pair potential versus which part is computed in reciprocal space via -the Kspace style. If *flag_buck* is set to *cut*\ , the Buckingham +the Kspace style. If *flag_buck* is set to *cut*, the Buckingham interactions are simply cutoff, as with :doc:`pair_style buck `. -If *flag_coul* is set to *long*\ , no cutoff is used on the Coulombic +If *flag_coul* is set to *long*, no cutoff is used on the Coulombic interactions. The long-range portion can calculated by using any of several :doc:`kspace_style ` command options such as *pppm* or *ewald*\ . Note that if *flag_buck* is also set to long, then the *ewald/disp* or *pppm/disp* Kspace style needs to be used to perform the long-range calculations for both the Buckingham and -Coulombic interactions. If *flag_coul* is set to *off*\ , Coulombic +Coulombic interactions. If *flag_coul* is set to *off*, Coulombic interactions are not computed. The following coefficients must be defined for each pair of atoms @@ -102,9 +102,9 @@ are used. If only one cutoff is specified, it is used as the cutoff for both Buckingham and Coulombic interactions for this type pair. If both coefficients are specified, they are used as the Buckingham and Coulombic cutoffs for this type pair. Note that if you are using -*flag_buck* set to *long*\ , you cannot specify a Buckingham cutoff for +*flag_buck* set to *long*, you cannot specify a Buckingham cutoff for an atom type pair, since only one global Buckingham cutoff is allowed. -Similarly, if you are using *flag_coul* set to *long*\ , you cannot +Similarly, if you are using *flag_coul* set to *long*, you cannot specify a Coulombic cutoff for an atom type pair, since only one global Coulombic cutoff is allowed. @@ -135,7 +135,7 @@ the long-range Coulombic and dispersion interactions. This pair style write its information to :doc:`binary restart files `, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. -This pair style supports the use of the *inner*\ , *middle*\ , and *outer* +This pair style supports the use of the *inner*, *middle*, and *outer* keywords of the :doc:`run_style respa ` command, meaning the pairwise forces can be partitioned by distance at different levels of the rRESPA hierarchy. See the :doc:`run_style ` command for @@ -147,7 +147,7 @@ Restrictions """""""""""" This style is part of the KSPACE package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/pair_charmm.rst b/doc/src/pair_charmm.rst index b3d2a2b878..d45ef58060 100644 --- a/doc/src/pair_charmm.rst +++ b/doc/src/pair_charmm.rst @@ -169,7 +169,7 @@ where S(r) is the energy switching function mentioned above for the functional forms of the force switching and force shifting functions used in the *charmmfsw* and *charmmfsh* styles. -When using the *lj/charmm/coul/charmm styles*\ , both the LJ and +When using the *lj/charmm/coul/charmm styles*, both the LJ and Coulombic terms require an inner and outer cutoff. They can be the same for both formulas or different depending on whether 2 or 4 arguments are used in the pair_style command. For the @@ -193,7 +193,7 @@ biomolecule (no explicit water molecules). Styles *lj/charmm/coul/long* and *lj/charmm/coul/msm* compute the same formulas as style *lj/charmm/coul/charmm* and style *lj/charmmfsw/coul/long* computes the same formulas as style -*lj/charmmfsw/coul/charmmfsh*\ , except that an additional damping +*lj/charmmfsw/coul/charmmfsh*, except that an additional damping factor is applied to the Coulombic term, so it can be used in conjunction with the :doc:`kspace_style ` command and its *ewald* or *pppm* or *msm* option. Only one Coulombic cutoff is @@ -260,7 +260,7 @@ pair_coeff commands do not need to be specified in an input script that reads a restart file. The *lj/charmm/coul/long* and *lj/charmmfsw/coul/long* pair styles -support the use of the *inner*\ , *middle*\ , and *outer* keywords of the +support the use of the *inner*, *middle*, and *outer* keywords of the :doc:`run_style respa ` command, meaning the pairwise forces can be partitioned by distance at different levels of the rRESPA hierarchy. The other styles only support the *pair* keyword of diff --git a/doc/src/pair_class2.rst b/doc/src/pair_class2.rst index f88663d36b..8c6f90efa8 100644 --- a/doc/src/pair_class2.rst +++ b/doc/src/pair_class2.rst @@ -100,7 +100,7 @@ class 2 and Coulombic cutoffs are used. If only one cutoff is specified, it is used as the cutoff for both class 2 and Coulombic interactions for this type pair. If both coefficients are specified, they are used as the class 2 and Coulombic cutoffs for this type pair. -You cannot specify 2 cutoffs for style *lj/class2*\ , since it has no +You cannot specify 2 cutoffs for style *lj/class2*, since it has no Coulombic terms. For *lj/class2/coul/long* only the class 2 cutoff can be specified @@ -120,10 +120,10 @@ for mixing the cutoff distance. ---------- -A version of these styles with a soft core, *lj/cut/soft*\ , suitable for use in +A version of these styles with a soft core, *lj/cut/soft*, suitable for use in free energy calculations, is part of the FEP package and is documented with the :doc:`pair_style */soft ` styles. The version with soft core is -only available if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +only available if LAMMPS was built with that package. See the :doc:`Build package ` page for more info. ---------- @@ -158,7 +158,7 @@ All of the lj/class2 pair styles write their information to :doc:`binary restart not need to be specified in an input script that reads a restart file. Only the *lj/class2* and *lj/class2/coul/long* pair styles support the use of the -*inner*\ , *middle*\ , and *outer* keywords of the :doc:`run_style respa ` command, meaning the pairwise forces can be +*inner*, *middle*, and *outer* keywords of the :doc:`run_style respa ` command, meaning the pairwise forces can be partitioned by distance at different levels of the rRESPA hierarchy. The other styles only support the *pair* keyword of run_style respa. See the :doc:`run_style ` command for details. @@ -167,7 +167,7 @@ Restrictions """""""""""" These styles are part of the CLASS2 package. They are only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/pair_coeff.rst b/doc/src/pair_coeff.rst index ea62d839ab..147b9177ec 100644 --- a/doc/src/pair_coeff.rst +++ b/doc/src/pair_coeff.rst @@ -78,7 +78,7 @@ not set explicitly by a pair_coeff command, the values are inferred from the I,I and J,J settings by mixing rules; see the :doc:`pair_modify ` command for a discussion. Details on this option as it pertains to individual potentials are described on -the doc page for the potential. +the page for the potential. Many pair styles, typically for many-body potentials, use tabulated potential files as input, when specifying the pair_coeff command. diff --git a/doc/src/pair_colloid.rst b/doc/src/pair_colloid.rst index 040bea2487..9e68e65778 100644 --- a/doc/src/pair_colloid.rst +++ b/doc/src/pair_colloid.rst @@ -187,7 +187,7 @@ to be specified in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa ` command. It does not support the -*inner*\ , *middle*\ , *outer* keywords. +*inner*, *middle*, *outer* keywords. ---------- @@ -195,7 +195,7 @@ Restrictions """""""""""" This style is part of the COLLOID package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Normally, this pair style should be used with finite-size particles which have a diameter, e.g. see the :doc:`atom_style sphere ` command. However, this is not a requirement, diff --git a/doc/src/pair_comb.rst b/doc/src/pair_comb.rst index 2e164d46fc..aff28cd892 100644 --- a/doc/src/pair_comb.rst +++ b/doc/src/pair_comb.rst @@ -52,7 +52,7 @@ total energy :math:`E_T` of a system of atoms is given by where :math:`E_i^{self}` is the self-energy of atom *i* (including atomic ionization energies and electron affinities), :math:`E_{ij}^{short}` is the bond-order potential between atoms *i* and -*j*\ , :math:`E_{ij}^{Coul}` is the Coulomb interactions, +*j*, :math:`E_{ij}^{Coul}` is the Coulomb interactions, :math:`E^{polar}` is the polarization term for organic systems (style *comb3* only), :math:`E^{vdW}` is the van der Waals energy (style *comb3* only), :math:`E^{barr}` is a charge barrier function, and @@ -93,10 +93,10 @@ This can be used when a *comb* potential is used as part of the *hybrid* pair style. The NULL values are placeholders for atom types that will be used with other potentials. -For style *comb*\ , the provided potential file *ffield.comb* contains +For style *comb*, the provided potential file *ffield.comb* contains all currently-available second generation COMB parameterizations: for Si, Cu, Hf, Ti, O, their oxides and Zr, Zn and U metals. For style -*comb3*\ , the potential file *ffield.comb3* contains all +*comb3*, the potential file *ffield.comb3* contains all currently-available third generation COMB parameterizations: O, Cu, N, C, H, Ti, Zn and Zr. The status of the optimization of the compounds, for example Cu2O, TiN and hydrocarbons, are given in the @@ -126,8 +126,8 @@ following table: * M = Only optimized for dimer molecule * P = in progress, but have it from mixing rule -For style *comb3*\ , in addition to ffield.comb3, a special parameter -file, *lib.comb3*\ , that is exclusively used for C/O/H systems, will be +For style *comb3*, in addition to ffield.comb3, a special parameter +file, *lib.comb3*, that is exclusively used for C/O/H systems, will be automatically loaded if carbon atom is detected in LAMMPS input structure. This file must be in your working directory or in the directories listed in the environment variable ``LAMMPS_POTENTIALS``, as @@ -139,7 +139,7 @@ has not yet been implemented, it can only set polar_off at present. .. note:: - You can not use potential file *ffield.comb* with style *comb3*\ , + You can not use potential file *ffield.comb* with style *comb3*, nor file *ffield.comb3* with style *comb*\ . ---------- @@ -164,7 +164,7 @@ restart file. These pair styles can only be used via the *pair* keyword of the :doc:`run_style respa ` command. It does not support the -*inner*\ , *middle*\ , *outer* keywords. +*inner*, *middle*, *outer* keywords. ---------- @@ -172,7 +172,7 @@ Restrictions """""""""""" These pair styles are part of the MANYBODY package. It is only -enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +enabled if LAMMPS was built with that package. See the :doc:`Build package ` page for more info. These pair styles requires the :doc:`newton ` setting to be "on" for pair interactions. diff --git a/doc/src/pair_cosine_squared.rst b/doc/src/pair_cosine_squared.rst index 185bffff99..f68df419a4 100644 --- a/doc/src/pair_cosine_squared.rst +++ b/doc/src/pair_cosine_squared.rst @@ -93,14 +93,14 @@ Mixing, shift, table, tail correction, restart, rRESPA info Mixing is not supported for this style. -The *shift*\ , *table* and *tail* options are not relevant for this style. +The *shift*, *table* and *tail* options are not relevant for this style. This pair style writes its information to :doc:`binary restart files `, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. These pair styles can only be used via the *pair* keyword of the :doc:`run_style respa ` command. They do not support the -*inner*\ , *middle*\ , *outer* keywords. +*inner*, *middle*, *outer* keywords. ---------- @@ -108,7 +108,7 @@ Restrictions """""""""""" The *cosine/squared* style is part of the EXTRA-PAIR package. It is only -enabled if LAMMPS is build with that package. See the :doc:`Build package ` doc page for more info. +enabled if LAMMPS is build with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/pair_coul.rst b/doc/src/pair_coul.rst index b8303622aa..990458887d 100644 --- a/doc/src/pair_coul.rst +++ b/doc/src/pair_coul.rst @@ -283,7 +283,7 @@ Coulombic solver (Ewald or PPPM). atom. For example, if the atom ID of an O atom in a TIP4P water molecule is 500, then its 2 H atoms must have IDs 501 and 502. -See the :doc:`Howto tip4p ` doc page for more information +See the :doc:`Howto tip4p ` page for more information on how to use the TIP4P pair styles and lists of parameters to set. Note that the neighbor list cutoff for Coulomb interactions is effectively extended by a distance 2\*qdist when using the TIP4P pair @@ -311,14 +311,14 @@ commands, or by mixing as described below: * cutoff (distance units) -For *coul/cut* and *coul/debye*\ , the cutoff coefficient is optional. +For *coul/cut* and *coul/debye* the cutoff coefficient is optional. If it is not used (as in some of the examples above), the default global value specified in the pair_style command is used. -For *coul/long* and *coul/msm* no cutoff can be specified for an -individual I,J type pair via the pair_coeff command. All type pairs -use the same global Coulomb cutoff specified in the pair_style -command. +For *coul/cut/global*, *coul/long* and *coul/msm* no cutoff can be +specified for an individual I,J type pair via the pair_coeff command. +All type pairs use the same global Coulomb cutoff specified in the +pair_style command. ---------- @@ -349,17 +349,17 @@ to be specified in an input script that reads a restart file. These pair styles can only be used via the *pair* keyword of the :doc:`run_style respa ` command. They do not support the -*inner*\ , *middle*\ , *outer* keywords. +*inner*, *middle*, *outer* keywords. ---------- Restrictions """""""""""" -The *coul/long*\ , *coul/msm* and *tip4p/long* styles are part of the -KSPACE package. They are only enabled if LAMMPS was built with that -package. See the :doc:`Build package ` doc page for more -info. +The *coul/cut/global*, *coul/long*, *coul/msm*, *coul/streitz*, and *tip4p/long* styles +are part of the KSPACE package. They are only enabled if LAMMPS was built +with that package. See the :doc:`Build package ` doc page +for more info. Related commands """""""""""""""" diff --git a/doc/src/pair_coul_diel.rst b/doc/src/pair_coul_diel.rst index 573329a1bb..7dc245f449 100644 --- a/doc/src/pair_coul_diel.rst +++ b/doc/src/pair_coul_diel.rst @@ -90,13 +90,13 @@ pressure. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa ` command. It does not support the -*inner*\ , *middle*\ , *outer* keywords. +*inner*, *middle*, *outer* keywords. Restrictions """""""""""" This style is part of the EXTRA-PAIR package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/pair_coul_shield.rst b/doc/src/pair_coul_shield.rst index 0ca656092e..a7f99500f5 100644 --- a/doc/src/pair_coul_shield.rst +++ b/doc/src/pair_coul_shield.rst @@ -77,14 +77,14 @@ pressure. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa ` command. It does not support the -*inner*\ , *middle*\ , *outer* keywords. +*inner*, *middle*, *outer* keywords. Restrictions """""""""""" This pair style is part of the INTERLAYER package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package -` doc page for more info. +` page for more info. Related commands """""""""""""""" diff --git a/doc/src/pair_coul_slater.rst b/doc/src/pair_coul_slater.rst index f3dab4c778..443de4262b 100644 --- a/doc/src/pair_coul_slater.rst +++ b/doc/src/pair_coul_slater.rst @@ -93,7 +93,7 @@ to be specified in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa ` command. It does not support the -*inner*\ , *middle*\ , *outer* keywords. +*inner*, *middle*, *outer* keywords. Restrictions """""""""""" @@ -101,7 +101,7 @@ Restrictions The *coul/slater/long* style requires the long-range solvers included in the KSPACE package. These styles are part of the EXTRA-PAIR package. They are only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/pair_coul_tt.rst b/doc/src/pair_coul_tt.rst index d1465ef147..f6c3a1f6f2 100644 --- a/doc/src/pair_coul_tt.rst +++ b/doc/src/pair_coul_tt.rst @@ -70,7 +70,7 @@ interactions between the (non-polarizable part of the) charge of a core, The :math:`b_{ij}` and :math:`c_{ij}` are equal to :math:`b_{ji}` and :math:`c_{ji}` in the case of core-core interactions. -For pair_style *coul/tt*\ , the following coefficients must be defined for +For pair_style *coul/tt*, the following coefficients must be defined for each pair of atoms types via the :doc:`pair_coeff ` command as in the example above. @@ -97,7 +97,7 @@ Restrictions These pair styles are part of the DRUDE package. They are only enabled if LAMMPS was built with that package. See the :doc:`Build package -` doc page for more info. +` page for more info. This pair_style should currently not be used with the :doc:`charmm dihedral style ` if the latter has non-zero 1-4 weighting diff --git a/doc/src/pair_cs.rst b/doc/src/pair_cs.rst index f41d840216..ef40eb310f 100644 --- a/doc/src/pair_cs.rst +++ b/doc/src/pair_cs.rst @@ -115,7 +115,7 @@ Description These pair styles are designed to be used with the adiabatic core/shell model of :ref:`(Mitchell and Finchham) `. See -the :doc:`Howto coreshell ` doc page for an overview of +the :doc:`Howto coreshell ` page for an overview of the model as implemented in LAMMPS. All the styles are identical to the corresponding pair style without @@ -181,7 +181,7 @@ Restrictions """""""""""" These pair styles are part of the CORESHELL package. They are only -enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +enabled if LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/pair_dielectric.rst b/doc/src/pair_dielectric.rst index 1af26a0921..c1f28c2089 100644 --- a/doc/src/pair_dielectric.rst +++ b/doc/src/pair_dielectric.rst @@ -105,13 +105,13 @@ to be specified in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa ` command. It does not support the -*inner*\ , *middle*\ , *outer* keywords. +*inner*, *middle*, *outer* keywords. Restrictions """""""""""" These styles are part of the DIELECTRIC package. They are only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/pair_dipole.rst b/doc/src/pair_dipole.rst index 7645966229..372ea26794 100644 --- a/doc/src/pair_dipole.rst +++ b/doc/src/pair_dipole.rst @@ -242,19 +242,19 @@ dipole-charge, and charge-charge interactions are all supported, along with the standard 12/6 Lennard-Jones interactions. LJ interactions can be cutoff or long-ranged. -For style *lj/long/dipole/long*\ , if *flag_lj* is set to *long*\ , no +For style *lj/long/dipole/long*, if *flag_lj* is set to *long*, no cutoff is used on the LJ 1/r\^6 dispersion term. The long-range portion is calculated by using the :doc:`kspace_style ewald_disp ` command. The specified LJ cutoff then determines which portion of the LJ interactions are computed directly by the pair potential versus which part is computed in reciprocal -space via the Kspace style. If *flag_lj* is set to *cut*\ , the LJ -interactions are simply cutoff, as with :doc:`pair_style lj/cut `. If *flag_lj* is set to *off*\ , LJ interactions +space via the Kspace style. If *flag_lj* is set to *cut*, the LJ +interactions are simply cutoff, as with :doc:`pair_style lj/cut `. If *flag_lj* is set to *off*, LJ interactions are not computed at all. -If *flag_coul* is set to *long*\ , no cutoff is used on the Coulombic or +If *flag_coul* is set to *long*, no cutoff is used on the Coulombic or dipole interactions. The long-range portion is calculated by using *ewald_disp* of the :doc:`kspace_style ` command. If -*flag_coul* is set to *off*\ , Coulombic and dipole interactions are not +*flag_coul* is set to *off*, Coulombic and dipole interactions are not computed at all. Atoms with dipole moments should be integrated using the :doc:`fix nve/sphere update dipole ` or the :doc:`fix nvt/sphere update dipole ` command to rotate the @@ -320,15 +320,15 @@ to be specified in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa ` command. It does not support the -*inner*\ , *middle*\ , *outer* keywords. +*inner*, *middle*, *outer* keywords. Restrictions """""""""""" -The *lj/cut/dipole/cut*\ , *lj/cut/dipole/long*\ , *lj/long/dipole/long*, +The *lj/cut/dipole/cut*, *lj/cut/dipole/long*, *lj/long/dipole/long*, and lj/sf/dipole/sf* styles are part of the DIPOLE package. They are only enabled if LAMMPS was built with that package. See the -:doc:`Build package ` doc page for more info. +:doc:`Build package ` page for more info. Using dipole pair styles with *electron* :doc:`units ` is not currently supported. diff --git a/doc/src/pair_dpd.rst b/doc/src/pair_dpd.rst index aa8323379a..8a8b35e50a 100644 --- a/doc/src/pair_dpd.rst +++ b/doc/src/pair_dpd.rst @@ -57,7 +57,7 @@ Nose Hoover as implemented by :doc:`fix nvt `. To use *dpd/tstat* as a thermostat for another pair style, use the :doc:`pair_style hybrid/overlay ` command to compute both the desired pair interaction and the thermostat for each pair of particles. -For style *dpd*\ , the force on atom I due to atom J is given as a sum +For style *dpd*, the force on atom I due to atom J is given as a sum of 3 terms .. math:: @@ -79,18 +79,18 @@ is set equal to :math:`\sqrt{2 k_B T \gamma}`, where :math:`k_B` is the Boltzmann constant and T is the temperature parameter in the pair_style command. -For style *dpd/tstat*\ , the force on atom I due to atom J is the same +For style *dpd/tstat*, the force on atom I due to atom J is the same as the above equation, except that the conservative Fc term is dropped. Also, during the run, T is set each timestep to a ramped value from Tstart to Tstop. -For style *dpd*\ , the pairwise energy associated with style *dpd* is +For style *dpd*, the pairwise energy associated with style *dpd* is only due to the conservative force term Fc, and is shifted to be zero at the cutoff distance Rc. The pairwise virial is calculated using all 3 terms. For style *dpd/tstat* there is no pairwise energy, but the last two terms of the formula make a contribution to the virial. -For style *dpd*\ , the following coefficients must be defined for each +For style *dpd*, the following coefficients must be defined for each pair of atoms types via the :doc:`pair_coeff ` command as in the examples above, or in the data file or restart files read by the :doc:`read_data ` or :doc:`read_restart ` @@ -105,7 +105,7 @@ cutoff is used. Note that sigma is set equal to sqrt(2 T gamma), where T is the temperature set by the :doc:`pair_style ` command so it does not need to be specified. -For style *dpd/tstat*\ , the coefficients defined for each pair of +For style *dpd/tstat*, the coefficients defined for each pair of atoms types via the :doc:`pair_coeff ` command is the same, except that A is not included. @@ -165,7 +165,7 @@ if the original simulation had continued past the restart time. These pair styles can only be used via the *pair* keyword of the :doc:`run_style respa ` command. They do not support the -*inner*\ , *middle*\ , *outer* keywords. +*inner*, *middle*, *outer* keywords. The *dpd/tstat* style can ramp its target temperature over multiple runs, using the *start* and *stop* keywords of the :doc:`run ` @@ -179,7 +179,7 @@ Restrictions These styles are part of the DPD-BASIC package. They are only enabled if LAMMPS was built with that package. See the :doc:`Build package -` doc page for more info. +` page for more info. The default frequency for rebuilding neighbor lists is every 10 steps (see the :doc:`neigh_modify ` command). This may be too diff --git a/doc/src/pair_dpd_ext.rst b/doc/src/pair_dpd_ext.rst index 0523a19e0b..7512f8e688 100644 --- a/doc/src/pair_dpd_ext.rst +++ b/doc/src/pair_dpd_ext.rst @@ -49,7 +49,7 @@ style, use the :doc:`pair_style hybrid/overlay ` command to compute both the desired pair interaction and the thermostat for each pair of particles. -For the style *dpd/ext*\ , the force on atom I due to atom J is given as +For the style *dpd/ext*, the force on atom I due to atom J is given as a sum of 3 terms .. math:: @@ -78,12 +78,12 @@ unit matrix, :math:`\sigma_{\alpha} = \sqrt{2 k T \gamma_{\alpha}}`, where :math:`k` is the Boltzmann constant and :math:`T` is the temperature in the pair\_style command. -For the style *dpd/ext/tstat*\ , the force on atom I due to atom J is +For the style *dpd/ext/tstat*, the force on atom I due to atom J is the same as the above equation, except that the conservative :math:`\mathbf{f}^C` term is dropped. Also, during the run, T is set each timestep to a ramped value from Tstart to Tstop. -For the style *dpd/ext*\ , the pairwise energy associated with style +For the style *dpd/ext*, the pairwise energy associated with style *dpd/ext* is only due to the conservative force term :math:`\mathbf{f}^C`, and is shifted to be zero at the cutoff distance :math:`r_c`. The pairwise virial is calculated using all three @@ -95,7 +95,7 @@ same as the above equation, except that the conservative :math:`\mathbf{f}^C` term is dropped. Also, during the run, T is set each timestep to a ramped value from Tstart to Tstop. -For the style *dpd/ext*\ , the pairwise energy associated with style +For the style *dpd/ext*, the pairwise energy associated with style *dpd/ext* is only due to the conservative force term :math:`\mathbf{f}^C`, and is shifted to be zero at the cutoff distance :math:`r_c`. The pairwise virial is calculated using all three @@ -157,7 +157,7 @@ energy and pressure. The pair styles can only be used via the pair keyword of the :doc:`run_style respa ` command. They do not support the -*inner*\ , *middle*\ , and *outer*\ keywords. +*inner*, *middle*, and *outer*\ keywords. The style *dpd/ext/tstat* can ramp its target temperature over multiple runs, using the start and stop keywords of the :doc:`run ` @@ -171,7 +171,7 @@ Restrictions These styles are part of the DPD-BASIC package. They are only enabled if LAMMPS was built with that package. See the :doc:`Build package -` doc page for more info. +` page for more info. The default frequency for rebuilding neighbor lists is every 10 steps (see the :doc:`neigh_modify ` command). This may be too diff --git a/doc/src/pair_dpd_fdt.rst b/doc/src/pair_dpd_fdt.rst index 8767c5b99e..25fe2581db 100644 --- a/doc/src/pair_dpd_fdt.rst +++ b/doc/src/pair_dpd_fdt.rst @@ -77,7 +77,7 @@ following functional form: Note that alternative definitions of the weighting function exist, but would have to be implemented as a separate pair style command. -For style *dpd/fdt*\ , the fluctuation-dissipation theorem defines :math:`\gamma` +For style *dpd/fdt*, the fluctuation-dissipation theorem defines :math:`\gamma` to be set equal to :math:`\sigma^2/(2 T)`, where T is the set point temperature specified as a pair style parameter in the above examples. The following coefficients must be defined for each pair of atoms types @@ -163,7 +163,7 @@ Restrictions """""""""""" These commands are part of the DPD-REACT package. They are only -enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +enabled if LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Pair styles *dpd/fdt* and *dpd/fdt/energy* require use of the :doc:`comm_modify vel yes ` option so that velocities are diff --git a/doc/src/pair_drip.rst b/doc/src/pair_drip.rst index 39a5e8bbef..f7b01eee25 100644 --- a/doc/src/pair_drip.rst +++ b/doc/src/pair_drip.rst @@ -119,7 +119,7 @@ Restrictions This pair style is part of the INTERLAYER package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package -` doc page for more info. +` page for more info. This pair style requires the :doc:`newton ` setting to be "on" for pair interactions. diff --git a/doc/src/pair_dsmc.rst b/doc/src/pair_dsmc.rst index d7542ea801..b0a508b054 100644 --- a/doc/src/pair_dsmc.rst +++ b/doc/src/pair_dsmc.rst @@ -131,7 +131,7 @@ continued past the restart time. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa ` command. It does not support the -*inner*\ , *middle*\ , *outer* keywords. +*inner*, *middle*, *outer* keywords. ---------- @@ -139,7 +139,7 @@ Restrictions """""""""""" This style is part of the MC package. It is only enabled if LAMMPS -was built with that package. See the :doc:`Build package ` doc page for more info. +was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/pair_e3b.rst b/doc/src/pair_e3b.rst index 9aeebfc020..b75fb8450c 100644 --- a/doc/src/pair_e3b.rst +++ b/doc/src/pair_e3b.rst @@ -98,7 +98,7 @@ The *preset 2015* option should be used with the :doc:`TIP4P/2005 water model ` doc page for more info. +if LAMMPS was built with that package. See the :doc:`Build package ` page for more info. This pair style requires the :doc:`newton ` setting to be "on" for pair interactions. diff --git a/doc/src/pair_eam.rst b/doc/src/pair_eam.rst index a8b67e7f41..fd05d7189e 100644 --- a/doc/src/pair_eam.rst +++ b/doc/src/pair_eam.rst @@ -145,7 +145,7 @@ provides EAM potentials that can be used directly in LAMMPS with the ---------- -For style *eam*\ , potential values are read from a file that is in the +For style *eam*, potential values are read from a file that is in the DYNAMO single-element *funcfl* format. If the DYNAMO file was created by a Fortran program, it cannot have "D" values in it for exponents. C only recognizes "e" or "E" for scientific notation. @@ -225,7 +225,7 @@ above, *setfl* files contain explicit tabulated values for alloy interactions. Thus they allow more generality than *funcfl* files for modeling alloys. -For style *eam/alloy*\ , potential values are read from a file that is +For style *eam/alloy*, potential values are read from a file that is in the DYNAMO multi-element *setfl* format, except that element names (Ni, Cu, etc) are added to one of the lines in the file. If the DYNAMO file was created by a Fortran program, it cannot have "D" @@ -372,7 +372,7 @@ require that; the user can tabulate any functional form desired in the FS potential files. For style *eam/fs* and *eam/he* the form of the pair_coeff command is exactly -the same as for style *eam/alloy*\ , e.g. +the same as for style *eam/alloy*, e.g. .. code-block:: LAMMPS @@ -383,13 +383,13 @@ the number of LAMMPS atom types. See the :doc:`pair_coeff ` doc page for alternate ways to specify the path for the potential file. The N values determine the mapping of LAMMPS atom types to EAM elements in the file, as described above for style *eam/alloy*\ . As -with *eam/alloy*\ , if a mapping value is NULL, the mapping is not +with *eam/alloy*, if a mapping value is NULL, the mapping is not performed. This can be used when an *eam/fs* or *eam/he* potential is used as part of a *hybrid* pair style. The NULL values are used as placeholders for atom types that will be used with other potentials. FS EAM and HE EAM files include more information than the DYNAMO *setfl* -format files read by *eam/alloy*\ , in that i,j density functionals for +format files read by *eam/alloy*, in that i,j density functionals for all pairs of elements are included as needed by the Finnis/Sinclair formulation of the EAM. @@ -465,7 +465,7 @@ an input script that reads a restart file. The eam pair styles can only be used via the *pair* keyword of the :doc:`run_style respa ` command. They do not support the -*inner*\ , *middle*\ , *outer* keywords. +*inner*, *middle*, *outer* keywords. ---------- @@ -473,7 +473,7 @@ Restrictions """""""""""" All of these styles are part of the MANYBODY package. They are only -enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +enabled if LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/pair_edip.rst b/doc/src/pair_edip.rst index b57ba3d162..6b6bfbb11b 100644 --- a/doc/src/pair_edip.rst +++ b/doc/src/pair_edip.rst @@ -69,7 +69,7 @@ where N is the number of LAMMPS atom types: * filename * N element names = mapping of EDIP elements to atom types -See the :doc:`pair_coeff ` doc page for alternate ways +See the :doc:`pair_coeff ` page for alternate ways to specify the path for the potential file. As an example, imagine a file Si.edip has EDIP values for Si. @@ -142,7 +142,7 @@ script that reads a restart file. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa ` command. It does not support the -*inner*\ , *middle*\ , *outer* keywords. +*inner*, *middle*, *outer* keywords. ---------- diff --git a/doc/src/pair_eff.rst b/doc/src/pair_eff.rst index ceb571a58d..b104b01b40 100644 --- a/doc/src/pair_eff.rst +++ b/doc/src/pair_eff.rst @@ -141,7 +141,7 @@ commands, or by mixing as described below: * cutoff (distance units) -For *eff/cut*\ , the cutoff coefficient is optional. If it is not used +For *eff/cut*, the cutoff coefficient is optional. If it is not used (as in some of the examples above), the default global value specified in the pair_style command is used. @@ -283,7 +283,7 @@ to be specified in an input script that reads a restart file. These pair styles can only be used via the *pair* keyword of the :doc:`run_style respa ` command. They do not support the -*inner*\ , *middle*\ , *outer* keywords. +*inner*, *middle*, *outer* keywords. ---------- @@ -292,7 +292,7 @@ Restrictions These pair styles will only be enabled if LAMMPS is built with the EFF package. It will only be enabled if LAMMPS was built with -that package. See the :doc:`Build package ` doc page for +that package. See the :doc:`Build package ` page for more info. These pair styles require that particles store electron attributes diff --git a/doc/src/pair_eim.rst b/doc/src/pair_eim.rst index 8360dbab64..c84bce9d53 100644 --- a/doc/src/pair_eim.rst +++ b/doc/src/pair_eim.rst @@ -105,7 +105,7 @@ command, where N is the number of LAMMPS atom types: * EIM potential file * N element names = mapping of EIM elements to atom types -See the :doc:`pair_coeff ` doc page for alternate ways +See the :doc:`pair_coeff ` page for alternate ways to specify the path for the potential file. As an example like one of those above, suppose you want to model a diff --git a/doc/src/pair_exp6_rx.rst b/doc/src/pair_exp6_rx.rst index e9550c2152..55395bcd0d 100644 --- a/doc/src/pair_exp6_rx.rst +++ b/doc/src/pair_exp6_rx.rst @@ -71,7 +71,7 @@ to be the internal chemical energy (uChem). The fourth argument specifies the type of scaling that will be used to scale the EXP-6 parameters as reactions occur. Currently, there -are three scaling options: *exponent*\ , *polynomial* and *none*\ . +are three scaling options: *exponent*, *polynomial* and *none*\ . Exponent scaling requires two additional arguments for scaling the :math:`R_m` and :math:`\epsilon` parameters, respectively. The scaling factor @@ -179,7 +179,7 @@ Restrictions """""""""""" This command is part of the DPD-REACT package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/pair_fep_soft.rst b/doc/src/pair_fep_soft.rst index 6f8954a0a7..400ad0cc4a 100644 --- a/doc/src/pair_fep_soft.rst +++ b/doc/src/pair_fep_soft.rst @@ -259,7 +259,7 @@ LJ and Coulombic cutoffs specified in the pair_style command are used. If only one cutoff is specified, it is used as the cutoff for both LJ and Coulombic interactions for this type pair. If both coefficients are specified, they are used as the LJ and Coulombic cutoffs for this -type pair. You cannot specify 2 cutoffs for style *lj/cut/soft*\ , +type pair. You cannot specify 2 cutoffs for style *lj/cut/soft*, since it has no Coulombic terms. For the *coul/cut/soft* and *coul/long/soft* only lambda and the optional cutoff2 are to be specified. @@ -290,7 +290,7 @@ activation parameter lambda is introduced as an argument of the the :doc:`pair_coeff ` command, after :math:`\epsilon` and :math:`\sigma` and before the optional cutoffs. -The *coul/cut/soft*\ , *coul/long/soft* and *tip4p/long/soft* sub-styles are +The *coul/cut/soft*, *coul/long/soft* and *tip4p/long/soft* sub-styles are designed to be combined with other pair potentials via the :doc:`pair_style hybrid/overlay ` command. This is because they have no repulsive core. Hence, if used by themselves, there will be no repulsion to keep two @@ -304,7 +304,7 @@ the second coefficient. .. note:: When using the soft-core Coulomb potentials with long-range solvers (\ - *coul/long/soft*\ , *lj/cut/coul/long/soft*\ , etc.) in a free energy + *coul/long/soft*, *lj/cut/coul/long/soft*, etc.) in a free energy calculation in which sites holding electrostatic charges are being created or annihilated (using :doc:`fix adapt/fep ` and :doc:`compute fep `) it is important to adapt both the :math:`\lambda` activation @@ -417,7 +417,7 @@ The pair styles with soft core are only enabled if LAMMPS was built with the FEP package. The *long* versions also require the KSPACE package to be installed. The soft *tip4p* versions also require the MOLECULE package to be installed. These styles are only enabled if LAMMPS was built with those -packages. See the :doc:`Build package ` doc page for more +packages. See the :doc:`Build package ` page for more info. Related commands diff --git a/doc/src/pair_gauss.rst b/doc/src/pair_gauss.rst index 71b8df6e3a..4eb45a416b 100644 --- a/doc/src/pair_gauss.rst +++ b/doc/src/pair_gauss.rst @@ -143,7 +143,7 @@ to be specified in an input script that reads a restart file. These pair styles can only be used via the *pair* keyword of the :doc:`run_style respa ` command. They do not support the -*inner*\ , *middle*\ , *outer* keywords. +*inner*, *middle*, *outer* keywords. The *gauss* pair style tallies an "occupancy" count of how many Gaussian-well sites have an atom within the distance at which the force is a maximum @@ -165,7 +165,7 @@ Restrictions The *gauss* and *gauss/cut* styles are part of the EXTRA-PAIR package. They are only enabled if LAMMPS is build with that package. See the -:doc:`Build package ` doc page for more info. +:doc:`Build package ` page for more info. The *gauss* style does not apply :doc:`special_bonds ` factors. When using this pair style on a system that has bonds, the diff --git a/doc/src/pair_gayberne.rst b/doc/src/pair_gayberne.rst index 448f3a26de..09bc3706c2 100644 --- a/doc/src/pair_gayberne.rst +++ b/doc/src/pair_gayberne.rst @@ -178,7 +178,7 @@ to be specified in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa ` command. It does not support the -*inner*\ , *middle*\ , *outer* keywords. +*inner*, *middle*, *outer* keywords. ---------- @@ -186,7 +186,7 @@ Restrictions """""""""""" The *gayberne* style is part of the ASPHERE package. It is only -enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +enabled if LAMMPS was built with that package. See the :doc:`Build package ` page for more info. These pair styles require that atoms store torque and a quaternion to represent their orientation, as defined by the diff --git a/doc/src/pair_gran.rst b/doc/src/pair_gran.rst index fbcacb5c76..c4024a391a 100644 --- a/doc/src/pair_gran.rst +++ b/doc/src/pair_gran.rst @@ -101,7 +101,7 @@ damping force. The tangential force also has 2 terms: a shear force and a damping force. The shear force is a "history" effect that accounts for the tangential displacement between the particles for the duration of the time they are in contact. This term is included in -pair styles *hooke/history* and *hertz/history*\ , but is not included +pair styles *hooke/history* and *hertz/history*, but is not included in pair style *hooke*\ . The tangential damping force term is included in all three pair styles if *dampflag* is set to 1; it is not included if *dampflag* is set to 0. @@ -240,7 +240,7 @@ specified in an input script that reads a restart file. These pair styles can only be used via the *pair* keyword of the :doc:`run_style respa ` command. They do not support the -*inner*\ , *middle*\ , *outer* keywords. +*inner*, *middle*, *outer* keywords. The single() function of these pair styles returns 0.0 for the energy of a pairwise interaction, since energy is not conserved in these @@ -254,7 +254,7 @@ normal direction (along the line joining the 2 sphere centers). The last 3 (8-10) the components of the relative velocity in the tangential direction. -These extra quantities can be accessed by the :doc:`compute pair/local ` command, as *p1*\ , *p2*\ , ..., +These extra quantities can be accessed by the :doc:`compute pair/local ` command, as *p1*, *p2*, ..., *p10*\ . ---------- @@ -263,7 +263,7 @@ Restrictions """""""""""" All the granular pair styles are part of the GRANULAR package. It is -only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +only enabled if LAMMPS was built with that package. See the :doc:`Build package ` page for more info. These pair styles require that atoms store torque and angular velocity (omega) as defined by the :doc:`atom_style `. They also diff --git a/doc/src/pair_granular.rst b/doc/src/pair_granular.rst index dea862b62d..b7f9da9f8b 100644 --- a/doc/src/pair_granular.rst +++ b/doc/src/pair_granular.rst @@ -99,8 +99,8 @@ Where :math:`\delta_{ij} = R_i + R_j - \|\mathbf{r}_{ij}\|` is the particle overlap, :math:`R_i, R_j` are the particle radii, :math:`\mathbf{r}_{ij} = \mathbf{r}_i - \mathbf{r}_j` is the vector separating the two particle centers (note the i-j ordering so that :math:`F_{ne}` is positive for repulsion), and :math:`\mathbf{n} = \frac{\mathbf{r}_{ij}}{\|\mathbf{r}_{ij}\|}`. Therefore, -for *hooke*\ , the units of the spring constant :math:`k_n` are -*force*\ /\ *distance*\ , or equivalently *mass*\ /*time\^2*. +for *hooke*, the units of the spring constant :math:`k_n` are +*force*\ /\ *distance*, or equivalently *mass*\ /*time\^2*. For the *hertz* model, the normal component of force is given by: @@ -109,7 +109,7 @@ For the *hertz* model, the normal component of force is given by: \mathbf{F}_{ne, Hertz} = k_n R_{eff}^{1/2}\delta_{ij}^{3/2} \mathbf{n} Here, :math:`R_{eff} = \frac{R_i R_j}{R_i + R_j}` is the effective -radius, denoted for simplicity as *R* from here on. For *hertz*\ , the +radius, denoted for simplicity as *R* from here on. For *hertz*, the units of the spring constant :math:`k_n` are *force*\ /\ *length*\ \^2, or equivalently *pressure*\ . @@ -188,7 +188,7 @@ for the damping model currently supported are: If the *damping* keyword is not specified, the *viscoelastic* model is used by default. -For *damping velocity*\ , the normal damping is simply equal to the +For *damping velocity*, the normal damping is simply equal to the user-specified damping coefficient in the *normal* model: .. math:: @@ -219,8 +219,8 @@ damping is given by: \eta_n = \eta_{n0}\ a m_{eff} Here, *a* is the contact radius, given by :math:`a =\sqrt{R\delta}` -for all models except *jkr*\ , for which it is given implicitly according -to :math:`\delta = a^2/R - 2\sqrt{\pi \gamma a/E}`. For *damping viscoelastic*\ , +for all models except *jkr*, for which it is given implicitly according +to :math:`\delta = a^2/R - 2\sqrt{\pi \gamma a/E}`. For *damping viscoelastic*, :math:`\eta_{n0}` is in units of 1/(\ *time*\ \*\ *distance*\ ). The *tsuji* model is based on the work of :ref:`(Tsuji et al) `. Here, the damping coefficient specified as part of @@ -302,14 +302,14 @@ The direction of the applied force is :math:`\mathbf{t} = \mathbf{v_{t,rel}}/\|\ The normal force value :math:`F_{n0}` used to compute the critical force depends on the form of the contact model. For non-cohesive models -(\ *hertz*\ , *hertz/material*\ , *hooke*\ ), it is given by the magnitude of +(\ *hertz*, *hertz/material*, *hooke*\ ), it is given by the magnitude of the normal force: .. math:: F_{n0} = \|\mathbf{F}_n\| -For cohesive models such as *jkr* and *dmt*\ , the critical force is +For cohesive models such as *jkr* and *dmt*, the critical force is adjusted so that the critical tangential force approaches :math:`\mu_t F_{pulloff}`, see :ref:`Marshall `, equation 43, and :ref:`Thornton `. For both models, :math:`F_{n0}` takes the form: @@ -318,7 +318,7 @@ form: F_{n0} = \|\mathbf{F}_{ne} + 2 F_{pulloff}\| -Where :math:`F_{pulloff} = 3\pi \gamma R` for *jkr*\ , and +Where :math:`F_{pulloff} = 3\pi \gamma R` for *jkr*, and :math:`F_{pulloff} = 4\pi \gamma R` for *dmt*\ . The remaining tangential options all use accumulated tangential @@ -392,7 +392,7 @@ overlap region) to induce a torque on each particle according to: \mathbf{\tau}_j = -(R_j - 0.5 \delta) \mathbf{n} \times \mathbf{F}_t -For *tangential mindlin*\ , the :ref:`Mindlin ` no-slip solution +For *tangential mindlin*, the :ref:`Mindlin ` no-slip solution is used which differs from the *linear_history* option by an additional factor of :math:`a`, the radius of the contact region. The tangential force is given by: @@ -402,7 +402,7 @@ of :math:`a`, the radius of the contact region. The tangential force is given by Here, :math:`a` is the radius of the contact region, given by :math:`a =\sqrt{R\delta}` -for all normal contact models, except for *jkr*\ , where it is given +for all normal contact models, except for *jkr*, where it is given implicitly by :math:`\delta = a^2/R - 2\sqrt{\pi \gamma a/E}`, see discussion above. To match the Mindlin solution, one should set :math:`k_t = 8G_{eff}`, where :math:`G_{eff}` is the effective shear modulus given by: @@ -415,7 +415,7 @@ where :math:`G` is the shear modulus, related to Young's modulus :math:`E` and Poisson's ratio :math:`\nu` by :math:`G = E/(2(1+\nu))`. This can also be achieved by specifying *NULL* for :math:`k_t`, in which case a normal contact model that specifies material parameters :math:`E` and -:math:`\nu` is required (e.g. *hertz/material*\ , *dmt* or *jkr*\ ). In this +:math:`\nu` is required (e.g. *hertz/material*, *dmt* or *jkr*\ ). In this case, mixing of the shear modulus for different particle types *i* and *j* is done according to the formula above. @@ -455,7 +455,7 @@ the critical force: The same rules as those described for *mindlin* apply regarding the tangential stiffness and mixing of the shear modulus for different particle types. -The *mindlin_rescale* option uses the same form as *mindlin*\ , but the +The *mindlin_rescale* option uses the same form as *mindlin*, but the magnitude of the tangential displacement is re-scaled as the contact unloads, i.e. if :math:`a < a_{t_{n-1}}`: @@ -504,7 +504,7 @@ pure rolling motion of particles. The options currently supported are: If the *rolling* keyword is not specified, the model defaults to *none*\ . -For *rolling sds*\ , rolling friction is computed via a +For *rolling sds*, rolling friction is computed via a spring-dashpot-slider, using a 'pseudo-force' formulation, as detailed by :ref:`Luding `. Unlike the formulation in :ref:`Marshall `, this allows for the required adjustment of @@ -564,7 +564,7 @@ supported are: If the *twisting* keyword is not specified, the model defaults to *none*\ . -For both *twisting sds* and *twisting marshall*\ , a history-dependent +For both *twisting sds* and *twisting marshall*, a history-dependent spring-dashpot-slider is used to compute the twisting torque. Because twisting displacement is a scalar, there is no need to adjust for changes in the frame of reference due to rotations of the particle @@ -591,7 +591,7 @@ if the twisting torque exceeds this critical value: \xi_{twist} = \frac{1}{k_{twist}} (\mu_{twist} F_{n,0}sgn(\Omega_{twist}) - \gamma_{twist}\Omega_{twist}) -For *twisting sds*\ , the coefficients :math:`k_{twist}, \gamma_{twist}` +For *twisting sds*, the coefficients :math:`k_{twist}, \gamma_{twist}` and :math:`\mu_{twist}` are simply the user input parameters that follow the *twisting sds* keywords in the *pair_coeff* command. @@ -684,7 +684,7 @@ interactions is set to :math:`\mu_1`, and friction coefficient for type for type1-type2 interactions is computed as :math:`\sqrt{\mu_1\mu_2}` (unless explicitly specified to a different value by a *pair_coeff 1 2 ...* command). The exception to this is elastic modulus, only -applicable to *hertz/material*\ , *dmt* and *jkr* normal contact +applicable to *hertz/material*, *dmt* and *jkr* normal contact models. In that case, the effective elastic modulus is computed as: .. math:: @@ -709,7 +709,7 @@ specified in an input script that reads a restart file. These pair styles can only be used via the *pair* keyword of the :doc:`run_style respa ` command. They do not support the -*inner*\ , *middle*\ , *outer* keywords. +*inner*, *middle*, *outer* keywords. The single() function of these pair styles returns 0.0 for the energy of a pairwise interaction, since energy is not conserved in these @@ -725,7 +725,7 @@ about the vector connecting the two particle centers. The last 3 (10-12) are the components of the vector connecting the centers of the two particles (x_I - x_J). -These extra quantities can be accessed by the :doc:`compute pair/local ` command, as *p1*\ , *p2*\ , ..., +These extra quantities can be accessed by the :doc:`compute pair/local ` command, as *p1*, *p2*, ..., *p12*\ . ---------- @@ -734,7 +734,7 @@ Restrictions """""""""""" All the granular pair styles are part of the GRANULAR package. It is -only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +only enabled if LAMMPS was built with that package. See the :doc:`Build package ` page for more info. These pair styles require that atoms store torque and angular velocity (omega) as defined by the :doc:`atom_style `. They also @@ -759,7 +759,7 @@ Related commands Default """"""" -For the *pair_coeff* settings: *damping viscoelastic*\ , *rolling none*\ , +For the *pair_coeff* settings: *damping viscoelastic*, *rolling none*, *twisting none*\ . References diff --git a/doc/src/pair_gromacs.rst b/doc/src/pair_gromacs.rst index 88cb4ce880..ed24b481f9 100644 --- a/doc/src/pair_gromacs.rst +++ b/doc/src/pair_gromacs.rst @@ -140,13 +140,16 @@ not need to be specified in an input script that reads a restart file. All of the GROMACS pair styles can only be used via the *pair* keyword of the :doc:`run_style respa ` command. They do not -support the *inner*\ , *middle*\ , *outer* keywords. +support the *inner*, *middle*, *outer* keywords. ---------- Restrictions """""""""""" - none + +This pair style is part of the EXTRA-PAIR package. It is only enabled if +LAMMPS was built with that package. See the +:doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/pair_gw.rst b/doc/src/pair_gw.rst index d0a7e69b00..6945356ecd 100644 --- a/doc/src/pair_gw.rst +++ b/doc/src/pair_gw.rst @@ -51,7 +51,7 @@ command, where N is the number of LAMMPS atom types: * filename * N element names = mapping of GW elements to atom types -See the :doc:`pair_coeff ` doc page for alternate ways +See the :doc:`pair_coeff ` page for alternate ways to specify the path for the potential file. As an example, imagine a file SiC.gw has Gao-Weber values for Si and C. @@ -96,7 +96,7 @@ script that reads a restart file. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa ` command. It does not support the -*inner*\ , *middle*\ , *outer* keywords. +*inner*, *middle*, *outer* keywords. ---------- @@ -104,7 +104,7 @@ Restrictions """""""""""" This pair style is part of the MANYBODY package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. This pair style requires the :doc:`newton ` setting to be "on" for pair interactions. diff --git a/doc/src/pair_hbond_dreiding.rst b/doc/src/pair_hbond_dreiding.rst index 5e7183a348..f9b2a010fd 100644 --- a/doc/src/pair_hbond_dreiding.rst +++ b/doc/src/pair_hbond_dreiding.rst @@ -88,7 +88,7 @@ potential for the Donor-Acceptor interactions. :ref:`(Liu) ` showed that the Morse form gives improved results for Dendrimer simulations, when n = 2. -See the :doc:`Howto bioFF ` doc page for more information +See the :doc:`Howto bioFF ` page for more information on the DREIDING force field. .. note:: @@ -170,11 +170,11 @@ A single hydrogen atom type K can be specified, or a wild-card asterisk can be used in place of or in conjunction with the K arguments to select multiple types as hydrogen atoms. This takes the form "\*" or "\*n" or "n\*" or "m\*n". See the :doc:`pair_coeff ` -command doc page for details. +command page for details. -If the donor flag is *i*\ , then the atom of type I in the pair_coeff +If the donor flag is *i*, then the atom of type I in the pair_coeff command is treated as the donor, and J is the acceptor. If the donor -flag is *j*\ , then the atom of type J in the pair_coeff command is +flag is *j*, then the atom of type J in the pair_coeff command is treated as the donor and I is the donor. This option is required because the :doc:`pair_coeff ` command requires that I <= J. @@ -219,7 +219,7 @@ re-specified in an input script that reads a restart file. These pair styles can only be used via the *pair* keyword of the :doc:`run_style respa ` command. They do not support the -*inner*\ , *middle*\ , *outer* keywords. +*inner*, *middle*, *outer* keywords. These pair styles tally a count of how many hydrogen bonding interactions they calculate each timestep and the hbond energy. These diff --git a/doc/src/pair_hdnnp.rst b/doc/src/pair_hdnnp.rst index ff1739aa9a..1bd3030bf5 100644 --- a/doc/src/pair_hdnnp.rst +++ b/doc/src/pair_hdnnp.rst @@ -182,7 +182,7 @@ Thus, you need to re-specify the pair_style and pair_coeff commands in an input script that reads a restart file. This style can only be used via the *pair* keyword of the :doc:`run_style respa -` command. It does not support the *inner*\ , *middle*\ , *outer* +` command. It does not support the *inner*, *middle*, *outer* keywords. Restrictions diff --git a/doc/src/pair_hybrid.rst b/doc/src/pair_hybrid.rst index b9b51e04c0..972c30c36f 100644 --- a/doc/src/pair_hybrid.rst +++ b/doc/src/pair_hybrid.rst @@ -83,7 +83,7 @@ general any combination of pair potentials can be used together in to produce an interaction that is not encoded in any single pair_style file, e.g. adding Coulombic forces between granular particles. -If the *hybrid/scaled* style is used instead of *hybrid/overlay*\ , +If the *hybrid/scaled* style is used instead of *hybrid/overlay*, contributions from sub-styles are weighted by their scale factors, which may be fractional or even negative. Furthermore the scale factors may be variables that may change during a simulation. This enables @@ -288,7 +288,7 @@ command can be used to selectively turn off processing of the compute tally styles, for example, if those pair styles (e.g. many-body styles) do not support this feature. -See the :doc:`pair_modify ` doc page for details on +See the :doc:`pair_modify ` page for details on the specific syntax, requirements and restrictions. ---------- @@ -375,7 +375,7 @@ coefficients to 0.0. ---------- -Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are +Styles with a *gpu*, *intel*, *kk*, *omp*, or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available hardware, as discussed on the :doc:`Speed packages ` doc @@ -391,13 +391,13 @@ exist. Otherwise the non-accelerated version will be used. The individual accelerated sub-styles are part of the GPU, KOKKOS, INTEL, OPENMP, and OPT packages, respectively. They are only enabled if LAMMPS was built with those packages. See the :doc:`Build -package ` doc page for more info. +package ` page for more info. You can specify the accelerated styles explicitly in your input script by including their suffix, or you can use the :doc:`-suffix command-line switch ` when you invoke LAMMPS, or you can use the :doc:`suffix ` command in your input script. -See the :doc:`Speed packages ` doc page for more +See the :doc:`Speed packages ` page for more instructions on how to use the accelerated styles effectively. ---------- @@ -422,7 +422,7 @@ generated, even if the sub-styles support mixing, and I,J pair coefficients must be explicitly defined. See the :doc:`pair_modify ` command for -details of mixing rules. See the See the doc page for the sub-style to +details of mixing rules. See the See the page for the sub-style to see if allows for mixing. The hybrid pair styles supports the :doc:`pair_modify ` @@ -439,7 +439,7 @@ style *hybrid/scaled* also the names of any variables used as scale factors are restored, but not the variables themselves, so those may need to be redefined when continuing from a restart. -These pair styles support the use of the *inner*\ , *middle*\ , and +These pair styles support the use of the *inner*, *middle*, and *outer* keywords of the :doc:`run_style respa ` command, if their sub-styles do. diff --git a/doc/src/pair_ilp_graphene_hbn.rst b/doc/src/pair_ilp_graphene_hbn.rst index 63357dc926..c188b4011e 100644 --- a/doc/src/pair_ilp_graphene_hbn.rst +++ b/doc/src/pair_ilp_graphene_hbn.rst @@ -77,7 +77,7 @@ calculating the normals. The parameter file (e.g. BNCH.ILP), is intended for use with *metal* :doc:`units `, with energies in meV. Two additional parameters, -*S*\ , and *rcut* are included in the parameter file. *S* is designed to +*S*, and *rcut* are included in the parameter file. *S* is designed to facilitate scaling of energies. *rcut* is designed to build the neighbor list for calculating the normals for each atom pair. @@ -141,7 +141,7 @@ Restrictions This pair style is part of the INTERLAYER package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package -` doc page for more info. +` page for more info. This pair style requires the newton setting to be *on* for pair interactions. diff --git a/doc/src/pair_kim.rst b/doc/src/pair_kim.rst index 551a0bc46e..fcc86e0d77 100644 --- a/doc/src/pair_kim.rst +++ b/doc/src/pair_kim.rst @@ -99,7 +99,7 @@ an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa ` command. It does not support the -*inner*\ , *middle*\ , *outer* keywords. +*inner*, *middle*, *outer* keywords. ---------- diff --git a/doc/src/pair_kolmogorov_crespi_full.rst b/doc/src/pair_kolmogorov_crespi_full.rst index 9408148e72..1a33a3f4bb 100644 --- a/doc/src/pair_kolmogorov_crespi_full.rst +++ b/doc/src/pair_kolmogorov_crespi_full.rst @@ -64,7 +64,7 @@ can be found in pair style :doc:`ilp/graphene/hbn `. thus a data file with the "full" atom style is required to use this potential. The parameter file (e.g. CH.KC), is intended for use with *metal* -:doc:`units `, with energies in meV. Two additional parameters, *S*\ , +:doc:`units `, with energies in meV. Two additional parameters, *S*, and *rcut* are included in the parameter file. *S* is designed to facilitate scaling of energies. *rcut* is designed to build the neighbor list for calculating the normals for each atom pair. @@ -121,7 +121,7 @@ Restrictions This pair style is part of the INTERLAYER package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package -` doc page for more info. +` page for more info. This pair style requires the newton setting to be *on* for pair interactions. diff --git a/doc/src/pair_kolmogorov_crespi_z.rst b/doc/src/pair_kolmogorov_crespi_z.rst index 60c012c47c..937d868b55 100644 --- a/doc/src/pair_kolmogorov_crespi_z.rst +++ b/doc/src/pair_kolmogorov_crespi_z.rst @@ -48,7 +48,7 @@ each layer should have a separate atom type and interactions should only be computed between atom types of neighboring layers. The parameter file (e.g. CC.KC), is intended for use with metal -:doc:`units `, with energies in meV. An additional parameter, *S*\ , +:doc:`units `, with energies in meV. An additional parameter, *S*, is available to facilitate scaling of energies in accordance with :ref:`(vanWijk) `. @@ -60,7 +60,7 @@ Restrictions This fix is part of the INTERLAYER package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package -` doc page for more info. +` page for more info. Related commands """""""""""""""" diff --git a/doc/src/pair_lcbop.rst b/doc/src/pair_lcbop.rst index c44ad1f8a4..e8a6ccd7a4 100644 --- a/doc/src/pair_lcbop.rst +++ b/doc/src/pair_lcbop.rst @@ -34,7 +34,7 @@ where N is the number of LAMMPS atom types: * filename * N element names = mapping of LCBOP elements to atom types -See the :doc:`pair_coeff ` doc page for alternate ways +See the :doc:`pair_coeff ` page for alternate ways to specify the path for the potential file. As an example, if your LAMMPS simulation has 4 atom types and you want @@ -70,14 +70,14 @@ script that reads a restart file. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa ` command. It does not support the -*inner*\ , *middle*\ , *outer* keywords. +*inner*, *middle*, *outer* keywords. Restrictions """""""""""" This pair style is part of the MANYBODY package. It is only enabled if LAMMPS was built with that package. -See the :doc:`Build package ` doc page for more info. +See the :doc:`Build package ` page for more info. This pair potential requires the :doc:`newton ` setting to be "on" for pair interactions. diff --git a/doc/src/pair_lebedeva_z.rst b/doc/src/pair_lebedeva_z.rst index 369828784c..5afd0da92c 100644 --- a/doc/src/pair_lebedeva_z.rst +++ b/doc/src/pair_lebedeva_z.rst @@ -44,7 +44,7 @@ that the exponential part of :math:`V_{ij}` (first term) decays sufficiently fas This shift is achieved by the last term in the equation for :math:`V_{ij}` above. The parameter file (e.g. CC.Lebedeva), is intended for use with metal -:doc:`units `, with energies in meV. An additional parameter, *S*\ , +:doc:`units `, with energies in meV. An additional parameter, *S*, is available to facilitate scaling of energies. This potential must be used in combination with hybrid/overlay. @@ -55,7 +55,7 @@ Restrictions This pair style is part of the INTERLAYER package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package -` doc page for more info. +` page for more info. Related commands """""""""""""""" diff --git a/doc/src/pair_line_lj.rst b/doc/src/pair_line_lj.rst index c803d327e2..bfea7d172a 100644 --- a/doc/src/pair_line_lj.rst +++ b/doc/src/pair_line_lj.rst @@ -32,7 +32,7 @@ spherical particles, are calculated as the pairwise sum of N1\*N2 Lennard-Jones interactions. Interactions between a line segment with N spherical particles and a point particle are treated as the pairwise sum of N Lennard-Jones interactions. See the :doc:`pair_style lj/cut -` doc page for the definition of Lennard-Jones interactions. +` page for the definition of Lennard-Jones interactions. The set of non-overlapping spherical sub-particles that represent a line segment are generated in the following manner. Their size is a @@ -76,7 +76,7 @@ the pair of particles to be included in the neighbor list. setting that is consistent with the length of the line segments you are using and the sub-particle cutoff settings. -For style *line/lj*\ , the following coefficients must be defined for +For style *line/lj*, the following coefficients must be defined for each pair of atom types via the :doc:`pair_coeff ` command as in the examples above, or in the data file or restart files read by the :doc:`read_data ` or :doc:`read_restart ` @@ -126,7 +126,7 @@ This pair style does not write its information to :doc:`binary restart files ` command. It does not support the -*inner*\ , *middle*\ , *outer* keywords. +*inner*, *middle*, *outer* keywords. ---------- @@ -134,7 +134,7 @@ Restrictions """""""""""" This style is part of the ASPHERE package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Defining particles to be line segments so they participate in line/line or line/particle interactions requires the use the diff --git a/doc/src/pair_list.rst b/doc/src/pair_list.rst index ea0ac282da..321bf61be9 100644 --- a/doc/src/pair_list.rst +++ b/doc/src/pair_list.rst @@ -125,7 +125,7 @@ to be specified in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa ` command. It does not support the -*inner*\ , *middle*\ , *outer* keywords. +*inner*, *middle*, *outer* keywords. ---------- @@ -143,7 +143,7 @@ atom J (assuming the images are within the cutoff distance), but only with the nearest image. This style is part of the MISC package. It is only enabled if -LAMMPS is build with that package. See the :doc:`Build package ` doc page on for more info. +LAMMPS is build with that package. See the :doc:`Build package ` page on for more info. Related commands """""""""""""""" diff --git a/doc/src/pair_lj.rst b/doc/src/pair_lj.rst index c42f3ffbb8..939756e550 100644 --- a/doc/src/pair_lj.rst +++ b/doc/src/pair_lj.rst @@ -72,7 +72,7 @@ LJ cutoff specified in the pair_style command are used. ---------- -A version of these styles with a soft core, *lj/cut/soft*\ , suitable +A version of these styles with a soft core, *lj/cut/soft*, suitable for use in free energy calculations, is part of the FEP package and is documented with the :doc:`pair_style */soft ` styles. @@ -104,7 +104,7 @@ All of the *lj/cut* pair styles write their information to :doc:`binary restart not need to be specified in an input script that reads a restart file. The *lj/cut* pair styles support the use of the -*inner*\ , *middle*\ , and *outer* keywords of the :doc:`run_style respa ` command, meaning the pairwise forces can be +*inner*, *middle*, and *outer* keywords of the :doc:`run_style respa ` command, meaning the pairwise forces can be partitioned by distance at different levels of the rRESPA hierarchy. The other styles only support the *pair* keyword of run_style respa. See the :doc:`run_style ` command for details. diff --git a/doc/src/pair_lj96.rst b/doc/src/pair_lj96.rst index 3f1172618b..47000fe70a 100644 --- a/doc/src/pair_lj96.rst +++ b/doc/src/pair_lj96.rst @@ -79,7 +79,7 @@ pressure of the pair interaction. This pair style writes its information to :doc:`binary restart files `, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. -This pair style supports the use of the *inner*\ , *middle*\ , and *outer* +This pair style supports the use of the *inner*, *middle*, and *outer* keywords of the :doc:`run_style respa ` command, meaning the pairwise forces can be partitioned by distance at different levels of the rRESPA hierarchy. See the :doc:`run_style ` command for @@ -89,7 +89,10 @@ details. Restrictions """""""""""" -none + +This pair style is part of the EXTRA-PAIR package. It is only enabled if +LAMMPS was built with that package. See the +:doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/pair_lj_cubic.rst b/doc/src/pair_lj_cubic.rst index e220e6e67c..d6470b26be 100644 --- a/doc/src/pair_lj_cubic.rst +++ b/doc/src/pair_lj_cubic.rst @@ -98,13 +98,16 @@ not need to be specified in an input script that reads a restart file. The lj/cubic pair style can only be used via the *pair* keyword of the :doc:`run_style respa ` command. It does not -support the *inner*\ , *middle*\ , *outer* keywords. +support the *inner*, *middle*, *outer* keywords. ---------- Restrictions """""""""""" - none + +This pair style is part of the EXTRA-PAIR package. It is only enabled if +LAMMPS was built with that package. See the +:doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/pair_lj_cut_coul.rst b/doc/src/pair_lj_cut_coul.rst index 30ea469071..e04da852dd 100644 --- a/doc/src/pair_lj_cut_coul.rst +++ b/doc/src/pair_lj_cut_coul.rst @@ -244,7 +244,7 @@ the pair_style command. ---------- A version of these styles with a soft core, *lj/cut/coul/soft*\ and -*lj/cut/coul/long/soft*\ , suitable for use in free energy calculations, is +*lj/cut/coul/long/soft*, suitable for use in free energy calculations, is part of the FEP package and is documented with the :doc:`pair_style */soft ` styles. ---------- @@ -278,7 +278,7 @@ All of the *lj/cut* pair styles write their information to :doc:`binary restart not need to be specified in an input script that reads a restart file. The *lj/cut/coul/long* pair styles support the use of the -*inner*\ , *middle*\ , and *outer* keywords of the :doc:`run_style respa ` command, meaning the pairwise forces can be +*inner*, *middle*, and *outer* keywords of the :doc:`run_style respa ` command, meaning the pairwise forces can be partitioned by distance at different levels of the rRESPA hierarchy. The other styles only support the *pair* keyword of run_style respa. See the :doc:`run_style ` command for details. @@ -288,9 +288,13 @@ See the :doc:`run_style ` command for details. Restrictions """""""""""" -The *lj/cut/coul/long* styles are part of the KSPACE package. -These styles are only enabled if LAMMPS was built with those -packages. See the :doc:`Build package ` doc page for +The *lj/cut/coul/long* and *lj/cut/coul/msm* styles are part of the KSPACE package. + +The *lj/cut/coul/debye*, *lj/cut/coul/dsf*, and *lj/cut/coul/wolf* styles are part +of the EXTRA-PAIR package. + +These styles are only enabled if LAMMPS was built with those respective +packages. See the :doc:`Build package ` page for more info. Related commands diff --git a/doc/src/pair_lj_cut_tip4p.rst b/doc/src/pair_lj_cut_tip4p.rst index 273483c941..7198b60159 100644 --- a/doc/src/pair_lj_cut_tip4p.rst +++ b/doc/src/pair_lj_cut_tip4p.rst @@ -109,7 +109,7 @@ long-range Coulombic solver (Ewald or PPPM). atom. For example, if the atom ID of an O atom in a TIP4P water molecule is 500, then its 2 H atoms must have IDs 501 and 502. -See the :doc:`Howto tip4p ` doc page for more information +See the :doc:`Howto tip4p ` page for more information on how to use the TIP4P pair styles and lists of parameters to set. Note that the neighbor list cutoff for Coulomb interactions is effectively extended by a distance 2\*qdist when using the TIP4P pair @@ -163,7 +163,7 @@ the pair_style command. ---------- -A version of these styles with a soft core, *lj/cut/tip4p/long/soft*\ , suitable +A version of these styles with a soft core, *lj/cut/tip4p/long/soft*, suitable for use in free energy calculations, is part of the FEP package and is documented with the :doc:`pair_style */soft ` styles. @@ -199,7 +199,7 @@ All of the *lj/cut* pair styles write their information to :doc:`binary restart not need to be specified in an input script that reads a restart file. The *lj/cut* and *lj/cut/coul/long* pair styles support the use of the -*inner*\ , *middle*\ , and *outer* keywords of the :doc:`run_style respa ` command, meaning the pairwise forces can be +*inner*, *middle*, and *outer* keywords of the :doc:`run_style respa ` command, meaning the pairwise forces can be partitioned by distance at different levels of the rRESPA hierarchy. The other styles only support the *pair* keyword of run_style respa. See the :doc:`run_style ` command for details. @@ -212,7 +212,7 @@ Restrictions The *lj/cut/tip4p/long* styles are part of the KSPACE package. The *lj/cut/tip4p/cut* style is part of the MOLECULE package. These styles are only enabled if LAMMPS was built with those -packages. See the :doc:`Build package ` doc page for +packages. See the :doc:`Build package ` page for more info. Related commands diff --git a/doc/src/pair_lj_expand.rst b/doc/src/pair_lj_expand.rst index 4d619a67e2..dca7a2dd2f 100644 --- a/doc/src/pair_lj_expand.rst +++ b/doc/src/pair_lj_expand.rst @@ -108,7 +108,7 @@ to be specified in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa ` command. It does not support the -*inner*\ , *middle*\ , *outer* keywords. +*inner*, *middle*, *outer* keywords. ---------- diff --git a/doc/src/pair_lj_long.rst b/doc/src/pair_lj_long.rst index f190d7b502..f7bdf49189 100644 --- a/doc/src/pair_lj_long.rst +++ b/doc/src/pair_lj_long.rst @@ -113,7 +113,7 @@ massless charge site are specified as pair_style arguments. atom. For example, if the atom ID of an O atom in a TIP4P water molecule is 500, then its 2 H atoms must have IDs 501 and 502. -See the :doc:`Howto tip4p ` doc page for more +See the :doc:`Howto tip4p ` page for more information on how to use the TIP4P pair style. Note that the neighbor list cutoff for Coulomb interactions is effectively extended by a distance 2\*qdist when using the TIP4P pair style, to account for @@ -123,22 +123,22 @@ LJ cutoff >= Coulombic cutoff + 2\*qdist, to shrink the size of the neighbor list. This leads to slightly larger cost for the long-range calculation, so you can test the trade-off for your model. -If *flag_lj* is set to *long*\ , no cutoff is used on the LJ 1/r\^6 +If *flag_lj* is set to *long*, no cutoff is used on the LJ 1/r\^6 dispersion term. The long-range portion can be calculated by using the :doc:`kspace_style ewald/disp or pppm/disp ` commands. The specified LJ cutoff then determines which portion of the LJ interactions are computed directly by the pair potential versus which part is computed in reciprocal space via the Kspace style. If -*flag_lj* is set to *cut*\ , the LJ interactions are simply cutoff, as +*flag_lj* is set to *cut*, the LJ interactions are simply cutoff, as with :doc:`pair_style lj/cut `. -If *flag_coul* is set to *long*\ , no cutoff is used on the Coulombic +If *flag_coul* is set to *long*, no cutoff is used on the Coulombic interactions. The long-range portion can calculated by using any of several :doc:`kspace_style ` command options such as *pppm* or *ewald*\ . Note that if *flag_lj* is also set to long, then the *ewald/disp* or *pppm/disp* Kspace style needs to be used to perform the long-range calculations for both the LJ and Coulombic -interactions. If *flag_coul* is set to *off*\ , Coulombic interactions +interactions. If *flag_coul* is set to *off*, Coulombic interactions are not computed. The following coefficients must be defined for each pair of atoms @@ -163,10 +163,10 @@ and Coulombic interactions for this type pair. If both coefficients are specified, they are used as the LJ and Coulombic cutoffs for this type pair. -Note that if you are using *flag_lj* set to *long*\ , you +Note that if you are using *flag_lj* set to *long*, you cannot specify a LJ cutoff for an atom type pair, since only one global LJ cutoff is allowed. Similarly, if you are using *flag_coul* -set to *long*\ , you cannot specify a Coulombic cutoff for an atom type +set to *long*, you cannot specify a Coulombic cutoff for an atom type pair, since only one global Coulombic cutoff is allowed. For *lj/long/tip4p/long* only the LJ cutoff can be specified @@ -176,10 +176,10 @@ specified in the pair_style command. ---------- -A version of these styles with a soft core, *lj/cut/soft*\ , suitable for use in +A version of these styles with a soft core, *lj/cut/soft*, suitable for use in free energy calculations, is part of the FEP package and is documented with the :doc:`pair_style */soft ` styles. The version with soft core is -only available if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +only available if LAMMPS was built with that package. See the :doc:`Build package ` page for more info. ---------- @@ -210,8 +210,8 @@ Lennard-Jones portion of the energy and pressure. These pair styles write their information to :doc:`binary restart files `, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. -The pair lj/long/coul/long styles support the use of the *inner*\ , -*middle*\ , and *outer* keywords of the :doc:`run_style respa ` +The pair lj/long/coul/long styles support the use of the *inner*, +*middle*, and *outer* keywords of the :doc:`run_style respa ` command, meaning the pairwise forces can be partitioned by distance at different levels of the rRESPA hierarchy. See the :doc:`run_style ` command for details. @@ -222,7 +222,7 @@ Restrictions """""""""""" These styles are part of the KSPACE package. They are only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/pair_lj_relres.rst b/doc/src/pair_lj_relres.rst index 20a705d876..df5227ebbb 100644 --- a/doc/src/pair_lj_relres.rst +++ b/doc/src/pair_lj_relres.rst @@ -235,7 +235,7 @@ For atom type pairs :math:`I,\:J` with :math:`I\;!=J`, the :math:`\sigma^{CG}`, :math:`r_{si}`, :math:`r_{so}`, :math:`r_{ci}`, and :math:`r_{co}` parameters for this pair style can be mixed, if not defined explicitly. All parameters are mixed according to the -pair_modify mix option. The default mix value is *geometric*\ , +pair_modify mix option. The default mix value is *geometric*, and it is recommended to use with this *lj/relres* style. See the "pair_modify" command for details. @@ -259,13 +259,16 @@ specified in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa ` command. It does not support the -*inner*\ , *middle*\ , *outer* keywords. +*inner*, *middle*, *outer* keywords. ---------- Restrictions """""""""""" -none + +This pair style is part of the EXTRA-PAIR package. It is only enabled if +LAMMPS was built with that package. See the +:doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/pair_lj_smooth.rst b/doc/src/pair_lj_smooth.rst index a77eefd023..4799ca3277 100644 --- a/doc/src/pair_lj_smooth.rst +++ b/doc/src/pair_lj_smooth.rst @@ -102,13 +102,16 @@ to be specified in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa ` command. It does not support the -*inner*\ , *middle*\ , *outer* keywords. +*inner*, *middle*, *outer* keywords. ---------- Restrictions """""""""""" -none + +This pair style is part of the EXTRA-PAIR package. It is only enabled if +LAMMPS was built with that package. See the +:doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/pair_lj_smooth_linear.rst b/doc/src/pair_lj_smooth_linear.rst index b105fc4911..7a3ba7a3d5 100644 --- a/doc/src/pair_lj_smooth_linear.rst +++ b/doc/src/pair_lj_smooth_linear.rst @@ -82,13 +82,16 @@ to be specified in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa ` command. It does not support the -*inner*\ , *middle*\ , *outer* keywords. +*inner*, *middle*, *outer* keywords. ---------- Restrictions """""""""""" - none + +This pair style is part of the EXTRA-PAIR package. It is only enabled if +LAMMPS was built with that package. See the +:doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/pair_lj_switch3_coulgauss_long.rst b/doc/src/pair_lj_switch3_coulgauss_long.rst index 631addeb57..19ca8df973 100644 --- a/doc/src/pair_lj_switch3_coulgauss_long.rst +++ b/doc/src/pair_lj_switch3_coulgauss_long.rst @@ -130,14 +130,14 @@ to be specified in an input script that reads a restart file. These pair styles can only be used via the *pair* keyword of the :doc:`run_style respa ` command. They do not support the -*inner*\ , *middle*\ , *outer* keywords. +*inner*, *middle*, *outer* keywords. Restrictions """""""""""" These styles are part of the YAFF package. They are only enabled if LAMMPS was built with that package. See the :doc:`Build package -` doc page for more info. +` page for more info. Related commands """""""""""""""" diff --git a/doc/src/pair_local_density.rst b/doc/src/pair_local_density.rst index c2bae5ced9..f7e26389c3 100644 --- a/doc/src/pair_local_density.rst +++ b/doc/src/pair_local_density.rst @@ -114,8 +114,8 @@ with the LD expressed as \rho_i = \sum_{j \neq i} b_\beta \varphi(r_{ij}) -where :math:`\alpha` gives the type of atom *i*\ , :math:`\beta` the -type of atom *j*\ , and the coefficients *a* and *b* filter for atom +where :math:`\alpha` gives the type of atom *i*, :math:`\beta` the +type of atom *j*, and the coefficients *a* and *b* filter for atom types as specified by the user. *a* is called the central atom filter as it determines to which atoms the potential applies; :math:`a_{\alpha} = 1` if the LD potential applies to atom type :math:`\alpha` else zero. On the @@ -222,7 +222,7 @@ Restrictions The local/density pair style is a part of the MANYBODY package. It is only enabled if LAMMPS was built with that package. See the -:doc:`Build package ` doc page for more info. +:doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/pair_lubricate.rst b/doc/src/pair_lubricate.rst index e83a16c80b..49872c31f2 100644 --- a/doc/src/pair_lubricate.rst +++ b/doc/src/pair_lubricate.rst @@ -139,8 +139,8 @@ Since lubrication forces are dissipative, it is usually desirable to thermostat the system at a constant temperature. If Brownian motion (at a constant temperature) is desired, it can be set using the :doc:`pair_style brownian ` command. These pair styles -and the brownian style should use consistent parameters for *mu*\ , -*flaglog*\ , *flagfld*\ , *cutinner*\ , *cutoff*\ , *flagHI* and *flagVF*\ . +and the brownian style should use consistent parameters for *mu*, +*flaglog*, *flagfld*, *cutinner*, *cutoff*, *flagHI* and *flagVF*\ . ---------- @@ -185,7 +185,7 @@ to be specified in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa ` command. It does not support the -*inner*\ , *middle*\ , *outer* keywords. +*inner*, *middle*, *outer* keywords. ---------- @@ -193,7 +193,7 @@ Restrictions """""""""""" These styles are part of the COLLOID package. They are only enabled -if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +if LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Only spherical monodisperse particles are allowed for pair_style lubricate. diff --git a/doc/src/pair_lubricateU.rst b/doc/src/pair_lubricateU.rst index a9382556c5..2706291da1 100644 --- a/doc/src/pair_lubricateU.rst +++ b/doc/src/pair_lubricateU.rst @@ -137,15 +137,15 @@ for with the following types of walls: :doc:`wall/lj93 `, volume fraction will be used when walls do not coincide with the box boundary, as well as when walls move and thereby cause a change in the volume fraction. To use these wall styles with pair_style *lubricateU* -or *lubricateU/poly*\ , the *fld yes* option must be specified in the +or *lubricateU/poly*, the *fld yes* option must be specified in the fix wall command. Since lubrication forces are dissipative, it is usually desirable to thermostat the system at a constant temperature. If Brownian motion (at a constant temperature) is desired, it can be set using the :doc:`pair_style brownian ` command. These pair styles -and the brownian style should use consistent parameters for *mu*\ , -*flaglog*\ , *flagfld*\ , *cutinner*\ , *cutoff*\ , *flagHI* and *flagVF*\ . +and the brownian style should use consistent parameters for *mu*, +*flaglog*, *flagfld*, *cutinner*, *cutoff*, *flagHI* and *flagVF*\ . ---------- @@ -186,7 +186,7 @@ to be specified in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa ` command. It does not support the -*inner*\ , *middle*\ , *outer* keywords. +*inner*, *middle*, *outer* keywords. ---------- @@ -194,7 +194,7 @@ Restrictions """""""""""" These styles are part of the COLLOID package. They are only enabled -if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +if LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Currently, these pair styles assume that all other types of forces/torques on the particles have been already been computed when diff --git a/doc/src/pair_mdf.rst b/doc/src/pair_mdf.rst index 1e4ad1f8d6..dc2667dba7 100644 --- a/doc/src/pair_mdf.rst +++ b/doc/src/pair_mdf.rst @@ -53,7 +53,7 @@ Examples Description """"""""""" -The *lj/mdf*\ , *buck/mdf* and *lennard/mdf* compute the standard 12-6 +The *lj/mdf*, *buck/mdf* and *lennard/mdf* compute the standard 12-6 Lennard-Jones and Buckingham potential with the addition of a taper function that ramps the energy and force smoothly to zero between an inner and outer cutoff. @@ -62,7 +62,7 @@ inner and outer cutoff. E_{smooth}(r) = E(r)*f(r) -The tapering, *f(r)*\ , is done by using the Mei, Davenport, Fernando +The tapering, *f(r)*, is done by using the Mei, Davenport, Fernando function :ref:`(Mei) `. .. math:: @@ -82,7 +82,7 @@ outer cutoff radius. ---------- -For the *lj/mdf* pair_style, the potential energy, *E(r)*\ , is the +For the *lj/mdf* pair_style, the potential energy, *E(r)*, is the standard 12-6 Lennard-Jones written in the epsilon/sigma form: .. math:: @@ -104,7 +104,7 @@ described below: ---------- -For the *buck/mdf* pair_style, the potential energy, *E(r)*\ , is the +For the *buck/mdf* pair_style, the potential energy, *E(r)*, is the standard Buckingham potential with three required coefficients. The two cutoffs can be omitted and default to the corresponding global values: @@ -121,7 +121,7 @@ global values: ---------- -For the *lennard/mdf* pair_style, the potential energy, *E(r)*\ , is the +For the *lennard/mdf* pair_style, the potential energy, *E(r)*, is the standard 12-6 Lennard-Jones written in the A/B form: .. math:: @@ -158,8 +158,8 @@ tail corrections to pressure and energy. These styles write their information to :doc:`binary restart files `, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. -These styles can only be used via the *pair* keyword of the :doc:`run_style respa ` command. They do not support the *inner*\ , -*middle*\ , *outer* keywords. +These styles can only be used via the *pair* keyword of the :doc:`run_style respa ` command. They do not support the *inner*, +*middle*, *outer* keywords. ---------- diff --git a/doc/src/pair_meam.rst b/doc/src/pair_meam.rst index c55967a756..d091496325 100644 --- a/doc/src/pair_meam.rst +++ b/doc/src/pair_meam.rst @@ -79,7 +79,7 @@ command, where N is the number of LAMMPS atom types: * MEAM parameter file * N element names = mapping of MEAM elements to atom types -See the :doc:`pair_coeff ` doc page for alternate ways +See the :doc:`pair_coeff ` page for alternate ways to specify the path for the potential files. As an example, the potentials/library.meam file has generic MEAM @@ -376,7 +376,7 @@ script that reads a restart file. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa ` command. It does not support the -*inner*\ , *middle*\ , *outer* keywords. +*inner*, *middle*, *outer* keywords. ---------- @@ -385,7 +385,7 @@ Restrictions The *meam* style is provided in the MEAM package. It is only enabled if LAMMPS was built with that package. -See the :doc:`Build package ` doc page for more info. +See the :doc:`Build package ` page for more info. The maximum number of elements, that can be read from the MEAM library file, is determined at compile time. The default is 5. diff --git a/doc/src/pair_meam_spline.rst b/doc/src/pair_meam_spline.rst index e7680ddc15..9f231cb78c 100644 --- a/doc/src/pair_meam_spline.rst +++ b/doc/src/pair_meam_spline.rst @@ -50,7 +50,7 @@ the total energy E is given by where the five functions :math:`\phi, U, \rho, f,` and *g* depend on the chemistry of the atoms in the interaction. In particular, if there are -N different chemistries, there are N different *U*\ , :math:`\rho`, and +N different chemistries, there are N different *U*, :math:`\rho`, and *f* functions, while there are N(N+1)/2 different :math:`\phi` and *g* functions. The new style multicomponent MEAM potential files are indicated by the second line in the file starts with "meam/spline" @@ -81,7 +81,7 @@ where N is the number of LAMMPS atom types: * filename * N element names = mapping of spline-based MEAM elements to atom types -See the :doc:`pair_coeff ` doc page for alternate ways +See the :doc:`pair_coeff ` page for alternate ways to specify the path for the potential file. As an example, imagine the Ti.meam.spline file has values for Ti (old style). @@ -132,7 +132,7 @@ and pair_coeff commands in an input script that reads a restart file. The *meam/spline* pair style can only be used via the *pair* keyword of the :doc:`run_style respa ` command. They do not support the -*inner*\ , *middle*\ , *outer* keywords. +*inner*, *middle*, *outer* keywords. ---------- @@ -145,7 +145,7 @@ for pair interactions. This pair style does not support mapping multiple atom types to the same element. This pair style is only enabled if LAMMPS was built with the MANYBODY -package. See the :doc:`Build package ` doc page for more +package. See the :doc:`Build package ` page for more info. Related commands diff --git a/doc/src/pair_meam_sw_spline.rst b/doc/src/pair_meam_sw_spline.rst index 79236819b9..686081e854 100644 --- a/doc/src/pair_meam_sw_spline.rst +++ b/doc/src/pair_meam_sw_spline.rst @@ -67,7 +67,7 @@ where N is the number of LAMMPS atom types: * filename * N element names = mapping of spline-based MEAM+SW elements to atom types -See the :doc:`pair_coeff ` doc page for alternate ways +See the :doc:`pair_coeff ` page for alternate ways to specify the path for the potential file. As an example, imagine the Ti.meam.sw.spline file has values for Ti. @@ -114,7 +114,7 @@ and pair_coeff commands in an input script that reads a restart file. The *meam/sw/spline* pair style can only be used via the *pair* keyword of the :doc:`run_style respa ` command. They do not -support the *inner*\ , *middle*\ , *outer* keywords. +support the *inner*, *middle*, *outer* keywords. ---------- @@ -125,7 +125,7 @@ This pair style requires the :doc:`newton ` setting to be "on" for pair interactions. This pair style is only enabled if LAMMPS was built with the MANYBODY -package. See the :doc:`Build package ` doc page for more +package. See the :doc:`Build package ` page for more info. Related commands diff --git a/doc/src/pair_mesocnt.rst b/doc/src/pair_mesocnt.rst index ca461aee7a..78a6680b6b 100644 --- a/doc/src/pair_mesocnt.rst +++ b/doc/src/pair_mesocnt.rst @@ -115,7 +115,7 @@ an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa ` command. They do not support the -*inner*\ , *middle*\ , *outer* keywords. +*inner*, *middle*, *outer* keywords. ---------- @@ -123,7 +123,7 @@ Restrictions """""""""""" This style is part of the MESONT package. It is only -enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +enabled if LAMMPS was built with that package. See the :doc:`Build package ` page for more info. This pair potential requires the :doc:`newton ` setting to be "on" for pair interactions. diff --git a/doc/src/pair_mesodpd.rst b/doc/src/pair_mesodpd.rst index 567c14f0ea..e5cd2643dd 100644 --- a/doc/src/pair_mesodpd.rst +++ b/doc/src/pair_mesodpd.rst @@ -284,13 +284,13 @@ concentration profiles of the two chemical species as Mixing, shift, table, tail correction, restart, rRESPA info """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" -The styles *edpd*\ , *mdpd*\ , *mdpd/rhosum* and *tdpd* do not support +The styles *edpd*, *mdpd*, *mdpd/rhosum* and *tdpd* do not support mixing. Thus, coefficients for all I,J pairs must be specified explicitly. -The styles *edpd*\ , *mdpd*\ , *mdpd/rhosum* and *tdpd* do not support +The styles *edpd*, *mdpd*, *mdpd/rhosum* and *tdpd* do not support the :doc:`pair_modify ` shift, table, and tail options. -The styles *edpd*\ , *mdpd*\ , *mdpd/rhosum* and *tdpd* do not write +The styles *edpd*, *mdpd*, *mdpd/rhosum* and *tdpd* do not write information to :doc:`binary restart files `. Thus, you need to re-specify the pair_style and pair_coeff commands in an input script that reads a restart file. @@ -298,9 +298,9 @@ that reads a restart file. Restrictions """""""""""" -The pair styles *edpd*\ , *mdpd*\ , *mdpd/rhosum* and *tdpd* are part of +The pair styles *edpd*, *mdpd*, *mdpd/rhosum* and *tdpd* are part of the DPD-MESO package. It is only enabled if LAMMPS was built with -that package. See the :doc:`Build package ` doc page for +that package. See the :doc:`Build package ` page for more info. Related commands diff --git a/doc/src/pair_mgpt.rst b/doc/src/pair_mgpt.rst index ea6621a3fd..6ef9f52fac 100644 --- a/doc/src/pair_mgpt.rst +++ b/doc/src/pair_mgpt.rst @@ -161,7 +161,7 @@ script that reads a restart file. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa ` command. It does not support the -*inner*\ , *middle*\ , *outer* keywords. +*inner*, *middle*, *outer* keywords. ---------- @@ -169,7 +169,7 @@ Restrictions """""""""""" This pair style is part of the MGPT package and is only enabled -if LAMMPS is built with that package. See the :doc:`Build package ` doc page for more info. +if LAMMPS is built with that package. See the :doc:`Build package ` page for more info. The MGPT potentials require the :doc:`newtion ` setting to be "on" for pair style interactions. diff --git a/doc/src/pair_mie.rst b/doc/src/pair_mie.rst index e1a34893c9..089f8d3d29 100644 --- a/doc/src/pair_mie.rst +++ b/doc/src/pair_mie.rst @@ -82,7 +82,7 @@ pressure of the pair interaction. This pair style writes its information to :doc:`binary restart files `, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. -This pair style supports the use of the *inner*\ , *middle*\ , and *outer* +This pair style supports the use of the *inner*, *middle*, and *outer* keywords of the :doc:`run_style respa ` command, meaning the pairwise forces can be partitioned by distance at different levels of the rRESPA hierarchy. See the :doc:`run_style ` command for @@ -92,7 +92,10 @@ details. Restrictions """""""""""" -none + +This pair style is part of the EXTRA-PAIR package. It is only enabled if +LAMMPS was built with that package. See the +:doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/pair_mliap.rst b/doc/src/pair_mliap.rst index 199f23e1b2..900a2c2e6a 100644 --- a/doc/src/pair_mliap.rst +++ b/doc/src/pair_mliap.rst @@ -156,7 +156,7 @@ contains a few more arguments (e.g., *nmax* and *alpha*). The preparation of SO3 descriptor and model files can be done with the `Pyxtal_FF `_ package. -See the :doc:`pair_coeff ` doc page for alternate ways +See the :doc:`pair_coeff ` page for alternate ways to specify the path for these *model* and *descriptor* files. .. note:: @@ -185,7 +185,7 @@ that reads a restart file. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa ` command. It does not support the -*inner*\ , *middle*\ , *outer* keywords. +*inner*, *middle*, *outer* keywords. ---------- @@ -196,7 +196,7 @@ This pair style is part of the ML-IAP package. It is only enabled if LAMMPS was built with that package. In addition, building LAMMPS with the ML-IAP package requires building LAMMPS with the ML-SNAP package. The *mliappy* model requires building LAMMPS with the PYTHON package. -See the :doc:`Build package ` doc page for more info. +See the :doc:`Build package ` page for more info. Related commands diff --git a/doc/src/pair_modify.rst b/doc/src/pair_modify.rst index 9c021e60a4..1a62a4c1a0 100644 --- a/doc/src/pair_modify.rst +++ b/doc/src/pair_modify.rst @@ -82,7 +82,7 @@ as sigma. Note that not all pair styles support mixing and some mix options are not available for certain pair styles. Also, there are additional restrictions when using :doc:`pair style hybrid or hybrid/overlay `. -See the doc page for individual pair styles for those restrictions. Note also that the +See the page for individual pair styles for those restrictions. Note also that the :doc:`pair_coeff ` command also can be used to directly set coefficients for a specific I != J pairing, in which case no mixing is performed. @@ -117,7 +117,7 @@ option. The *table* and *table/disp* keywords apply to pair styles with a long-range Coulombic term or long-range dispersion term respectively; -see the doc page for individual styles to see which potentials support +see the page for individual styles to see which potentials support these options. If N is non-zero, a table of length 2\^N is pre-computed for forces and energies, which can shrink their computational cost by up to a factor of 2. The table is indexed via a @@ -149,11 +149,11 @@ pairwise interactions are computed via table lookup for simulations with "real" units, but some close pairs may be computed directly (non-table) for simulations with "lj" units. -When the *tail* keyword is set to *yes*\ , certain pair styles will +When the *tail* keyword is set to *yes*, certain pair styles will add a long-range VanderWaals tail "correction" to the energy and pressure. These corrections are bookkeeping terms which do not affect dynamics, unless a constant-pressure simulation is being performed. -See the doc page for individual styles to see which support this +See the page for individual styles to see which support this option. These corrections are included in the calculation and printing of thermodynamic quantities (see the :doc:`thermo_style ` command). Their effect will also be included in diff --git a/doc/src/pair_momb.rst b/doc/src/pair_momb.rst index 71dfe84087..982ef86603 100644 --- a/doc/src/pair_momb.rst +++ b/doc/src/pair_momb.rst @@ -57,7 +57,7 @@ Restrictions This style is part of the EXTRA-PAIR package. It is only enabled if LAMMPS is built with that package. See the :doc:`Build package -` doc page on for more info. +` page on for more info. Related commands """""""""""""""" diff --git a/doc/src/pair_morse.rst b/doc/src/pair_morse.rst index b977c58eaa..686dd6e511 100644 --- a/doc/src/pair_morse.rst +++ b/doc/src/pair_morse.rst @@ -85,12 +85,12 @@ the *morse* and *morse/smooth/linear* styles. ---------- -A version of the *morse* style with a soft core, *morse/soft*\ , +A version of the *morse* style with a soft core, *morse/soft*, suitable for use in free energy calculations, is part of the FEP package and is documented with the :doc:`pair_style */soft ` styles. The version with soft core is only available if LAMMPS was built with that package. See the :doc:`Build package -` doc page for more info. +` page for more info. ---------- @@ -119,7 +119,7 @@ to be specified in an input script that reads a restart file. These pair styles can only be used via the *pair* keyword of the :doc:`run_style respa ` command. They do not support the -*inner*\ , *middle*\ , *outer* keywords. +*inner*, *middle*, *outer* keywords. ---------- @@ -128,7 +128,7 @@ Restrictions The *morse/smooth/linear* pair style is only enabled if LAMMPS was built with the EXTRA-PAIR package. -See the :doc:`Build package ` doc page for more info. +See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/pair_multi_lucy.rst b/doc/src/pair_multi_lucy.rst index 8f65d8f438..c8c8551df5 100644 --- a/doc/src/pair_multi_lucy.rst +++ b/doc/src/pair_multi_lucy.rst @@ -11,7 +11,7 @@ Syntax pair_style multi/lucy style N keyword ... * style = *lookup* or *linear* = method of interpolation -* N = use N values in *lookup*\ , *linear* tables +* N = use N values in *lookup*, *linear* tables Examples """""""" @@ -186,7 +186,7 @@ commands do need to be specified in the restart input script. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa ` command. It does not support the -*inner*\ , *middle*\ , *outer* keywords. +*inner*, *middle*, *outer* keywords. ---------- @@ -194,7 +194,7 @@ Restrictions """""""""""" This command is part of the DPD-REACT package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/pair_multi_lucy_rx.rst b/doc/src/pair_multi_lucy_rx.rst index b39bd02b6d..6cb56360ba 100644 --- a/doc/src/pair_multi_lucy_rx.rst +++ b/doc/src/pair_multi_lucy_rx.rst @@ -14,7 +14,7 @@ Syntax pair_style multi/lucy/rx style N keyword ... * style = *lookup* or *linear* = method of interpolation -* N = use N values in *lookup*\ , *linear* tables +* N = use N values in *lookup*, *linear* tables * weighting = fractional or molecular (optional) Examples @@ -214,7 +214,7 @@ commands do need to be specified in the restart input script. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa ` command. It does not support the -*inner*\ , *middle*\ , *outer* keywords. +*inner*, *middle*, *outer* keywords. ---------- @@ -226,7 +226,7 @@ Restrictions """""""""""" This command is part of the DPD-REACT package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/pair_nb3b_harmonic.rst b/doc/src/pair_nb3b_harmonic.rst index 853da9d821..203c707ec0 100644 --- a/doc/src/pair_nb3b_harmonic.rst +++ b/doc/src/pair_nb3b_harmonic.rst @@ -30,7 +30,7 @@ energy E of a system of atoms as where :math:`\theta_0` is the equilibrium value of the angle and *K* is a prefactor. Note that the usual 1/2 factor is included in *K*\ . The form -of the potential is identical to that used in angle_style *harmonic*\ , +of the potential is identical to that used in angle_style *harmonic*, but in this case, the atoms do not need to be explicitly bonded. Only a single pair_coeff command is used with this style which @@ -42,7 +42,7 @@ number of LAMMPS atom types: * filename * N element names = mapping of elements to atom types -See the :doc:`pair_coeff ` doc page for alternate ways +See the :doc:`pair_coeff ` page for alternate ways to specify the path for the potential file. As an example, imagine a file SiC.nb3b.harmonic has potential values @@ -100,7 +100,7 @@ Restrictions """""""""""" This pair style can only be used if LAMMPS was built with the MANYBODY -package. See the :doc:`Build package ` doc page for more +package. See the :doc:`Build package ` page for more info. Related commands diff --git a/doc/src/pair_nm.rst b/doc/src/pair_nm.rst index d38e21fd15..2c356bb4ca 100644 --- a/doc/src/pair_nm.rst +++ b/doc/src/pair_nm.rst @@ -114,7 +114,7 @@ N-M and Coulombic cutoffs specified in the pair_style command are used. If only one cutoff is specified, it is used as the cutoff for both N-M and Coulombic interactions for this type pair. If both coefficients are specified, they are used as the N-M and Coulombic cutoffs for this -type pair. You cannot specify 2 cutoffs for style *nm*\ , since it +type pair. You cannot specify 2 cutoffs for style *nm*, since it has no Coulombic terms. For *nm/cut/coul/long* only the N-M cutoff can be specified since a @@ -147,7 +147,7 @@ to be specified in an input script that reads a restart file. All of the *nm* pair styles can only be used via the *pair* keyword of the :doc:`run_style respa ` command. They do not support the -*inner*\ , *middle*\ , *outer* keywords. +*inner*, *middle*, *outer* keywords. ---------- @@ -156,8 +156,9 @@ the :doc:`run_style respa ` command. They do not support the Restrictions """""""""""" -These pair styles are part of the MISC package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +These pair styles are part of the EXTRA-PAIR package. They are only enabled if +LAMMPS was built with that package. See the +:doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/pair_none.rst b/doc/src/pair_none.rst index b2f27c355e..3dc87a7815 100644 --- a/doc/src/pair_none.rst +++ b/doc/src/pair_none.rst @@ -30,7 +30,7 @@ skin distance is large enough to acquire atoms needed for computing bonds, angles, etc. A pair style of *none* will also prevent pairwise neighbor lists from -being built. However if the :doc:`neighbor ` style is *bin*\ , +being built. However if the :doc:`neighbor ` style is *bin*, data structures for binning are still allocated. If the neighbor skin distance is small, then these data structures can consume a large amount of memory. So you should either set the neighbor style to diff --git a/doc/src/pair_oxdna.rst b/doc/src/pair_oxdna.rst index 38fb19a8b0..fcc7dc2e49 100644 --- a/doc/src/pair_oxdna.rst +++ b/doc/src/pair_oxdna.rst @@ -63,7 +63,7 @@ Description The *oxdna* pair styles compute the pairwise-additive parts of the oxDNA force field for coarse-grained modelling of DNA. The effective interaction between the nucleotides consists of potentials for the -excluded volume interaction *oxdna/excv*\ , the stacking *oxdna/stk*\ , cross-stacking *oxdna/xstk* +excluded volume interaction *oxdna/excv*, the stacking *oxdna/stk*, cross-stacking *oxdna/xstk* and coaxial stacking interaction *oxdna/coaxstk* as well as the hydrogen-bonding interaction *oxdna/hbond* between complementary pairs of nucleotides on opposite strands. Average sequence or sequence-dependent stacking and base-pairing strengths @@ -120,7 +120,7 @@ Restrictions These pair styles can only be used if LAMMPS was built with the CG-DNA package and the MOLECULE and ASPHERE package. See the -:doc:`Build package ` doc page for more info. +:doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/pair_oxdna2.rst b/doc/src/pair_oxdna2.rst index 3dce3c2d1b..f253c4ae10 100644 --- a/doc/src/pair_oxdna2.rst +++ b/doc/src/pair_oxdna2.rst @@ -72,8 +72,8 @@ Description The *oxdna2* pair styles compute the pairwise-additive parts of the oxDNA force field for coarse-grained modelling of DNA. The effective interaction between the nucleotides consists of potentials for the -excluded volume interaction *oxdna2/excv*\ , the stacking *oxdna2/stk*\ , cross-stacking *oxdna2/xstk* -and coaxial stacking interaction *oxdna2/coaxstk*\ , electrostatic Debye-Hueckel interaction *oxdna2/dh* +excluded volume interaction *oxdna2/excv*, the stacking *oxdna2/stk*, cross-stacking *oxdna2/xstk* +and coaxial stacking interaction *oxdna2/coaxstk*, electrostatic Debye-Hueckel interaction *oxdna2/dh* as well as the hydrogen-bonding interaction *oxdna2/hbond* between complementary pairs of nucleotides on opposite strands. Average sequence or sequence-dependent stacking and base-pairing strengths are supported :ref:`(Sulc) `. Quasi-unique base-pairing between nucleotides can be achieved by using @@ -127,7 +127,7 @@ Restrictions These pair styles can only be used if LAMMPS was built with the CG-DNA package and the MOLECULE and ASPHERE package. See the -:doc:`Build package ` doc page for more info. +:doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/pair_oxrna2.rst b/doc/src/pair_oxrna2.rst index 63a5c9308b..7b8220740c 100644 --- a/doc/src/pair_oxrna2.rst +++ b/doc/src/pair_oxrna2.rst @@ -73,8 +73,8 @@ Description The *oxrna2* pair styles compute the pairwise-additive parts of the oxDNA force field for coarse-grained modelling of DNA. The effective interaction between the nucleotides consists of potentials for the -excluded volume interaction *oxrna2/excv*\ , the stacking *oxrna2/stk*\ , cross-stacking *oxrna2/xstk* -and coaxial stacking interaction *oxrna2/coaxstk*\ , electrostatic Debye-Hueckel interaction *oxrna2/dh* +excluded volume interaction *oxrna2/excv*, the stacking *oxrna2/stk*, cross-stacking *oxrna2/xstk* +and coaxial stacking interaction *oxrna2/coaxstk*, electrostatic Debye-Hueckel interaction *oxrna2/dh* as well as the hydrogen-bonding interaction *oxrna2/hbond* between complementary pairs of nucleotides on opposite strands. Average sequence or sequence-dependent stacking and base-pairing strengths are supported :ref:`(Sulc2) `. Quasi-unique base-pairing between nucleotides can be achieved by using @@ -128,7 +128,7 @@ Restrictions These pair styles can only be used if LAMMPS was built with the CG-DNA package and the MOLECULE and ASPHERE package. See the -:doc:`Build package ` doc page for more info. +:doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/pair_pace.rst b/doc/src/pair_pace.rst index e737072e7b..ad66febdf5 100644 --- a/doc/src/pair_pace.rst +++ b/doc/src/pair_pace.rst @@ -64,7 +64,7 @@ The pair_style *pace* command may be followed by an optional keyword is used for the calculation of basis functions and derivatives. The default is *recursive*. -See the :doc:`pair_coeff ` doc page for alternate ways +See the :doc:`pair_coeff ` page for alternate ways to specify the path for the ACE coefficient file. Mixing, shift, table, tail correction, restart, rRESPA info @@ -84,7 +84,7 @@ script that reads a restart file. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa ` command. It does not support the -*inner*\ , *middle*\ , *outer* keywords. +*inner*, *middle*, *outer* keywords. ---------- @@ -93,7 +93,7 @@ Restrictions This pair style is part of the ML-PACE package. It is only enabled if LAMMPS was built with that package. -See the :doc:`Build package ` doc page for more info. +See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/pair_peri.rst b/doc/src/pair_peri.rst index 2a1c7f6aa5..45b406dd61 100644 --- a/doc/src/pair_peri.rst +++ b/doc/src/pair_peri.rst @@ -170,7 +170,7 @@ to be specified in an input script that reads a restart file. These pair styles can only be used via the *pair* keyword of the :doc:`run_style respa ` command. They do not support the -*inner*\ , *middle*\ , *outer* keywords. +*inner*, *middle*, *outer* keywords. ---------- @@ -178,7 +178,7 @@ Restrictions """""""""""" All of these styles are part of the PERI package. They are only -enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +enabled if LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/pair_polymorphic.rst b/doc/src/pair_polymorphic.rst index 3df70a017c..8968c9d7d2 100644 --- a/doc/src/pair_polymorphic.rst +++ b/doc/src/pair_polymorphic.rst @@ -195,7 +195,7 @@ atom types: * filename * N element names = mapping of polymorphic potential elements to atom types -See the pair_coeff doc page for alternate ways to specify the path for +See the pair_coeff page for alternate ways to specify the path for the potential file. Several files for polymorphic potentials are included in the potentials directory of the LAMMPS distribution. They have a "poly" suffix. @@ -317,7 +317,7 @@ atomic structure data file. This pair style is part of the MANYBODY package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package -` doc page for more info. +` page for more info. This pair potential requires the :doc:`newton ` setting to be "on" for pair interactions. diff --git a/doc/src/pair_python.rst b/doc/src/pair_python.rst index 99b8ebd766..3d087565be 100644 --- a/doc/src/pair_python.rst +++ b/doc/src/pair_python.rst @@ -184,7 +184,7 @@ always **append** to a table file, while pair style table will use the class, the table pair style will still read the old variant unless the table file is first deleted. -After switching the pair style to *table*\ , the potential tables need +After switching the pair style to *table*, the potential tables need to be assigned to the LAMMPS atom types like this: .. code-block:: LAMMPS @@ -215,7 +215,7 @@ script that reads a restart file. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa ` command. It does not support the -*inner*\ , *middle*\ , *outer* keywords. +*inner*, *middle*, *outer* keywords. ---------- @@ -223,7 +223,7 @@ Restrictions """""""""""" This pair style is part of the PYTHON package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/pair_quip.rst b/doc/src/pair_quip.rst index 5f520f3d03..c150561cb1 100644 --- a/doc/src/pair_quip.rst +++ b/doc/src/pair_quip.rst @@ -42,7 +42,7 @@ number of LAMMPS atom types: * QUIP initialization string * N atomic numbers = mapping of QUIP elements to atom types -See the :doc:`pair_coeff ` doc page for alternate ways +See the :doc:`pair_coeff ` page for alternate ways to specify the path for the potential file. A QUIP potential is fully specified by the filename which contains the @@ -70,13 +70,13 @@ script that reads a restart file. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa ` command. It does not support the -*inner*\ , *middle*\ , *outer* keywords. +*inner*, *middle*, *outer* keywords. Restrictions """""""""""" This pair style is part of the ML-QUIP package. It is only enabled -if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +if LAMMPS was built with that package. See the :doc:`Build package ` page for more info. QUIP potentials are parameterized in electron-volts and Angstroms and therefore should be used with LAMMPS metal :doc:`units `. diff --git a/doc/src/pair_reaxff.rst b/doc/src/pair_reaxff.rst index 0389742ea5..a3a9c81cb8 100644 --- a/doc/src/pair_reaxff.rst +++ b/doc/src/pair_reaxff.rst @@ -140,7 +140,7 @@ control file. Note: Force field files are different for the original or lg corrected pair styles, using the wrong ffield file generates an error. -Using the optional keyword *enobonds* with the value *yes*\ , the energy +Using the optional keyword *enobonds* with the value *yes*, the energy of atoms with no bonds (i.e. isolated atoms) is included in the total potential energy and the per-atom energy of that atom. If the value *no* is specified then the energy of atoms with no bonds is set to @@ -148,7 +148,7 @@ zero. The latter behavior is usual not desired, as it causes discontinuities in the potential energy when the bonding of an atom drops to zero. -Optional keywords *safezone*\ , *mincap*\ , and *minhbonds* are used +Optional keywords *safezone*, *mincap*, and *minhbonds* are used for allocating reaxff arrays. Increasing these values can avoid memory problems, such as segmentation faults and bondchk failed errors, that could occur under certain conditions. These keywords are not used by @@ -327,7 +327,7 @@ script that reads a restart file. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa ` command. It does not support the -*inner*\ , *middle*\ , *outer* keywords. +*inner*, *middle*, *outer* keywords. ---------- @@ -340,7 +340,7 @@ Restrictions This pair style is part of the REAXFF package. It is only enabled if LAMMPS was built with that package. -See the :doc:`Build package ` doc page for more info. +See the :doc:`Build package ` page for more info. The ReaxFF potential files provided with LAMMPS in the potentials directory are parameterized for *real* :doc:`units `. You can use diff --git a/doc/src/pair_resquared.rst b/doc/src/pair_resquared.rst index 0932730469..8d7b5eca5b 100644 --- a/doc/src/pair_resquared.rst +++ b/doc/src/pair_resquared.rst @@ -191,7 +191,7 @@ to be specified in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa ` command. It does not support the -*inner*\ , *middle*\ , *outer* keywords of the :doc:`run_style command `. +*inner*, *middle*, *outer* keywords of the :doc:`run_style command `. ---------- @@ -199,7 +199,7 @@ Restrictions """""""""""" This style is part of the ASPHERE package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. This pair style requires that atoms be ellipsoids as defined by the :doc:`atom_style ellipsoid ` command. diff --git a/doc/src/pair_sdk.rst b/doc/src/pair_sdk.rst index a89a833998..f389079e15 100644 --- a/doc/src/pair_sdk.rst +++ b/doc/src/pair_sdk.rst @@ -141,7 +141,7 @@ All of the lj/sdk pair styles write their information to :doc:`binary restart fi not need to be specified in an input script that reads a restart file. The lj/sdk and lj/cut/coul/long pair styles do not support -the use of the *inner*\ , *middle*\ , and *outer* keywords of the :doc:`run_style respa ` command. +the use of the *inner*, *middle*, and *outer* keywords of the :doc:`run_style respa ` command. ---------- diff --git a/doc/src/pair_sdpd_taitwater_isothermal.rst b/doc/src/pair_sdpd_taitwater_isothermal.rst index 15a4eb5374..7eaab203c9 100644 --- a/doc/src/pair_sdpd_taitwater_isothermal.rst +++ b/doc/src/pair_sdpd_taitwater_isothermal.rst @@ -91,14 +91,14 @@ shift, table, and tail options. This style does not write information to :doc:`binary restart files `. Thus, you need to re-specify the pair_style and pair_coeff commands in an input script that reads a restart file. -This style can only be used via the *pair* keyword of the :doc:`run_style respa ` command. It does not support the *inner*\ , -*middle*\ , *outer* keywords. +This style can only be used via the *pair* keyword of the :doc:`run_style respa ` command. It does not support the *inner*, +*middle*, *outer* keywords. Restrictions """""""""""" This pair style is part of the DPD-SMOOTH package. It is only enabled -if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +if LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/pair_smd_hertz.rst b/doc/src/pair_smd_hertz.rst index a10edde6b0..deb3f69ec5 100644 --- a/doc/src/pair_smd_hertz.rst +++ b/doc/src/pair_smd_hertz.rst @@ -51,7 +51,7 @@ Restrictions """""""""""" This fix is part of the MACHDYN package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/pair_smd_tlsph.rst b/doc/src/pair_smd_tlsph.rst index cab156167e..3884b0fec3 100644 --- a/doc/src/pair_smd_tlsph.rst +++ b/doc/src/pair_smd_tlsph.rst @@ -66,7 +66,7 @@ Restrictions """""""""""" This fix is part of the MACHDYN package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/pair_smd_triangulated_surface.rst b/doc/src/pair_smd_triangulated_surface.rst index 957ff1ca19..76385ae7fb 100644 --- a/doc/src/pair_smd_triangulated_surface.rst +++ b/doc/src/pair_smd_triangulated_surface.rst @@ -52,7 +52,7 @@ Restrictions """""""""""" This fix is part of the MACHDYN package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/pair_smd_ulsph.rst b/doc/src/pair_smd_ulsph.rst index c69fbf2a43..fd63908e3d 100644 --- a/doc/src/pair_smd_ulsph.rst +++ b/doc/src/pair_smd_ulsph.rst @@ -77,7 +77,7 @@ Restrictions """""""""""" This fix is part of the MACHDYN package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/pair_smtbq.rst b/doc/src/pair_smtbq.rst index 96ccc5c4c7..50b4afaf2d 100644 --- a/doc/src/pair_smtbq.rst +++ b/doc/src/pair_smtbq.rst @@ -94,8 +94,8 @@ ffield.SMTBQ.Syst. The energy band term is given by: \delta Q_i \bigl( 2\frac{n_0}{\eta_i} - \delta Q_i \bigr) \biggr\}^{1/2} \\ \delta Q_i & = | Q_i^{F} | - | Q_i | -where :math:`\eta_i` is the stoichiometry of atom *i*\ , -:math:`\delta Q_i` is the charge delocalization of atom *i*\ , +where :math:`\eta_i` is the stoichiometry of atom *i*, +:math:`\delta Q_i` is the charge delocalization of atom *i*, compared to its formal charge :math:`Q^F_i`. :math:`n_0`, the number of hybridized orbitals, is calculated with to the atomic orbitals shared @@ -161,7 +161,7 @@ For the anion (oxygen) * Name of element (char) and stoichiometry in oxide * Formal charge and mass of element * Principal quantum number of outer orbital n), electronegativity (:math:`\chi^0_i`) and hardness (:math:`J^0_i`) -* Ionic radius parameters : max coordination number (\ *coordBB* = 6 by default), bulk coordination number *(coordB)*\ , surface coordination number *(coordS)* and *rBB, rB and rS* the slater radius for each coordination number. (**note : If you don't want to change the slater radius, use three identical radius values**) +* Ionic radius parameters : max coordination number (\ *coordBB* = 6 by default), bulk coordination number *(coordB)*, surface coordination number *(coordS)* and *rBB, rB and rS* the slater radius for each coordination number. (**note : If you don't want to change the slater radius, use three identical radius values**) * Number of orbital shared by the element in the oxide (:math:`d_i`) * Divider line @@ -169,7 +169,7 @@ For each cations (metal): * Name of element (char) and stoichiometry in oxide * Formal charge and mass of element -* Number of electron in outer orbital *(ne)*\ , electronegativity (:math:`\chi^0_i`), hardness (:math:`J^0_i`) and :math:`r_{Slater}` the slater radius for the cation. +* Number of electron in outer orbital *(ne)*, electronegativity (:math:`\chi^0_i`), hardness (:math:`J^0_i`) and :math:`r_{Slater}` the slater radius for the cation. * Number of orbitals shared by the elements in the oxide (:math:`d_i`) * Divider line @@ -244,7 +244,7 @@ For each cations (metal): :math:`N_{Energy}` time steps. If the value is 'false' then :math:`N_{Energy} = 0`. The file takes into account the possibility to have several QEq groups *g* then it writes: time step, number of atoms - in group *g*\ , electrostatic part of energy, :math:`E_{ES}`, the + in group *g*, electrostatic part of energy, :math:`E_{ES}`, the interaction between oxygen, :math:`E_{OO}`, and short range metal-oxygen interaction, :math:`E_{MO}`. * If you want to print to the file 'Electroneg_component.txt' the @@ -252,9 +252,9 @@ For each cations (metal): Q_i}`) or not: 'true' or 'false' and :math:`N_{Electroneg}`. This option writes to the file every :math:`N_{Electroneg}` time steps. If the value is 'false' then :math:`N_{Electroneg} = 0`. The file - consist of atom number *i*\ , atom type (1 for oxygen and # higher - than 1 for metal), atom position: *x*\ , *y* and *z*\ , atomic charge - of atom *i*\ , electrostatic part of atom *i* electronegativity, + consist of atom number *i*, atom type (1 for oxygen and # higher + than 1 for metal), atom position: *x*, *y* and *z*, atomic charge + of atom *i*, electrostatic part of atom *i* electronegativity, covalent part of atom *i* electronegativity, the hopping integral of atom *i* :math:`(Z\beta^2)_i` and box electronegativity. @@ -277,7 +277,7 @@ script that reads a restart file. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa ` command. It does not support the -*inner*\ , *middle*\ , *outer* keywords. +*inner*, *middle*, *outer* keywords. ---------- @@ -285,7 +285,7 @@ Restrictions """""""""""" This pair style is part of the SMTBQ package and is only enabled -if LAMMPS is built with that package. See the :doc:`Build package ` doc page for more info. +if LAMMPS is built with that package. See the :doc:`Build package ` page for more info. This potential requires using atom type 1 for oxygen and atom type higher than 1 for metal atoms. diff --git a/doc/src/pair_snap.rst b/doc/src/pair_snap.rst index 5638087d78..381250f57b 100644 --- a/doc/src/pair_snap.rst +++ b/doc/src/pair_snap.rst @@ -40,7 +40,7 @@ atom *i* is expressed as a weighted sum over bispectrum components. E^i_{SNAP}(B_1^i,...,B_K^i) = \beta^{\mu_i}_0 + \sum_{k=1}^K \beta_k^{\mu_i} B_k^i -where :math:`B_k^i` is the *k*\ -th bispectrum component of atom *i*\ , +where :math:`B_k^i` is the *k*\ -th bispectrum component of atom *i*, and :math:`\beta_k^{\mu_i}` is the corresponding linear coefficient that depends on :math:`\mu_i`, the SNAP element of atom *i*\ . The number of bispectrum components used and their definitions depend on the value of @@ -90,7 +90,7 @@ elements not in the pair_coeff command, except when using *chemflag* (see below). The name of the SNAP parameter file usually ends in the ".snapparam" extension. It contains a small number of parameters that define the overall form of the SNAP potential. See the :doc:`pair_coeff -` doc page for alternate ways to specify the path for these +` page for alternate ways to specify the path for these files. SNAP potentials are quite commonly combined with one or more other @@ -133,9 +133,9 @@ This line is followed by *ncoeff* coefficients, one per line. The SNAP parameter file can contain blank and comment lines (start with #) anywhere. Each non-blank non-comment line must contain one keyword/value pair. The required keywords are *rcutfac* and -*twojmax*\ . Optional keywords are *rfac0*\ , *rmin0*\ , -*switchflag*\ , *bzeroflag*\ , *quadraticflag*\ , *chemflag*\ , -*bnormflag*\ , *wselfallflag*\ , and *chunksize*\ . +*twojmax*\ . Optional keywords are *rfac0*, *rmin0*, +*switchflag*, *bzeroflag*, *quadraticflag*, *chemflag*, +*bnormflag*, *wselfallflag*, and *chunksize*\ . The default values for these keywords are @@ -225,7 +225,7 @@ that reads a restart file. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa ` command. It does not support the -*inner*\ , *middle*\ , *outer* keywords. +*inner*, *middle*, *outer* keywords. ---------- @@ -238,7 +238,7 @@ Restrictions This style is part of the ML-SNAP package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package -` doc page for more info. +` page for more info. Related commands """""""""""""""" diff --git a/doc/src/pair_soft.rst b/doc/src/pair_soft.rst index cc024cb6dd..7986b1286e 100644 --- a/doc/src/pair_soft.rst +++ b/doc/src/pair_soft.rst @@ -113,7 +113,7 @@ to be specified in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa ` command. It does not support the -*inner*\ , *middle*\ , *outer* keywords. +*inner*, *middle*, *outer* keywords. ---------- diff --git a/doc/src/pair_sph_heatconduction.rst b/doc/src/pair_sph_heatconduction.rst index 03e9606750..4716ed54fb 100644 --- a/doc/src/pair_sph_heatconduction.rst +++ b/doc/src/pair_sph_heatconduction.rst @@ -48,14 +48,14 @@ shift, table, and tail options. This style does not write information to :doc:`binary restart files `. Thus, you need to re-specify the pair_style and pair_coeff commands in an input script that reads a restart file. -This style can only be used via the *pair* keyword of the :doc:`run_style respa ` command. It does not support the *inner*\ , -*middle*\ , *outer* keywords. +This style can only be used via the *pair* keyword of the :doc:`run_style respa ` command. It does not support the *inner*, +*middle*, *outer* keywords. Restrictions """""""""""" This pair style is part of the SPH package. It is only enabled -if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +if LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/pair_sph_idealgas.rst b/doc/src/pair_sph_idealgas.rst index a62db85133..02949849c4 100644 --- a/doc/src/pair_sph_idealgas.rst +++ b/doc/src/pair_sph_idealgas.rst @@ -57,14 +57,14 @@ shift, table, and tail options. This style does not write information to :doc:`binary restart files `. Thus, you need to re-specify the pair_style and pair_coeff commands in an input script that reads a restart file. -This style can only be used via the *pair* keyword of the :doc:`run_style respa ` command. It does not support the *inner*\ , -*middle*\ , *outer* keywords. +This style can only be used via the *pair* keyword of the :doc:`run_style respa ` command. It does not support the *inner*, +*middle*, *outer* keywords. Restrictions """""""""""" This pair style is part of the SPH package. It is only enabled -if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +if LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/pair_sph_lj.rst b/doc/src/pair_sph_lj.rst index ca25dedbbf..b5c02c41ff 100644 --- a/doc/src/pair_sph_lj.rst +++ b/doc/src/pair_sph_lj.rst @@ -52,8 +52,8 @@ shift, table, and tail options. This style does not write information to :doc:`binary restart files `. Thus, you need to re-specify the pair_style and pair_coeff commands in an input script that reads a restart file. -This style can only be used via the *pair* keyword of the :doc:`run_style respa ` command. It does not support the *inner*\ , -*middle*\ , *outer* keywords. +This style can only be used via the *pair* keyword of the :doc:`run_style respa ` command. It does not support the *inner*, +*middle*, *outer* keywords. Restrictions """""""""""" @@ -62,7 +62,7 @@ As noted above, the Lennard-Jones parameters epsilon and sigma are set to unity. This pair style is part of the SPH package. It is only enabled -if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +if LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/pair_sph_rhosum.rst b/doc/src/pair_sph_rhosum.rst index 42c5c2d222..ecbff98486 100644 --- a/doc/src/pair_sph_rhosum.rst +++ b/doc/src/pair_sph_rhosum.rst @@ -49,14 +49,14 @@ shift, table, and tail options. This style does not write information to :doc:`binary restart files `. Thus, you need to re-specify the pair_style and pair_coeff commands in an input script that reads a restart file. -This style can only be used via the *pair* keyword of the :doc:`run_style respa ` command. It does not support the *inner*\ , -*middle*\ , *outer* keywords. +This style can only be used via the *pair* keyword of the :doc:`run_style respa ` command. It does not support the *inner*, +*middle*, *outer* keywords. Restrictions """""""""""" This pair style is part of the SPH package. It is only enabled -if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +if LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/pair_sph_taitwater.rst b/doc/src/pair_sph_taitwater.rst index 88fa65eb90..34eb65f005 100644 --- a/doc/src/pair_sph_taitwater.rst +++ b/doc/src/pair_sph_taitwater.rst @@ -61,14 +61,14 @@ shift, table, and tail options. This style does not write information to :doc:`binary restart files `. Thus, you need to re-specify the pair_style and pair_coeff commands in an input script that reads a restart file. -This style can only be used via the *pair* keyword of the :doc:`run_style respa ` command. It does not support the *inner*\ , -*middle*\ , *outer* keywords. +This style can only be used via the *pair* keyword of the :doc:`run_style respa ` command. It does not support the *inner*, +*middle*, *outer* keywords. Restrictions """""""""""" This pair style is part of the SPH package. It is only enabled -if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +if LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/pair_sph_taitwater_morris.rst b/doc/src/pair_sph_taitwater_morris.rst index b9c1710a3d..cd8346364b 100644 --- a/doc/src/pair_sph_taitwater_morris.rst +++ b/doc/src/pair_sph_taitwater_morris.rst @@ -60,14 +60,14 @@ shift, table, and tail options. This style does not write information to :doc:`binary restart files `. Thus, you need to re-specify the pair_style and pair_coeff commands in an input script that reads a restart file. -This style can only be used via the *pair* keyword of the :doc:`run_style respa ` command. It does not support the *inner*\ , -*middle*\ , *outer* keywords. +This style can only be used via the *pair* keyword of the :doc:`run_style respa ` command. It does not support the *inner*, +*middle*, *outer* keywords. Restrictions """""""""""" This pair style is part of the SPH package. It is only enabled -if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +if LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/pair_spin_dipole.rst b/doc/src/pair_spin_dipole.rst index d1bbf3b699..c38bba03ae 100644 --- a/doc/src/pair_spin_dipole.rst +++ b/doc/src/pair_spin_dipole.rst @@ -97,7 +97,7 @@ Restrictions The *spin/dipole/cut* and *spin/dipole/long* styles are part of the SPIN package. They are only enabled if LAMMPS was built with that -package. See the :doc:`Build package ` doc page for more +package. See the :doc:`Build package ` page for more info. Using dipole/spin pair styles with *electron* :doc:`units ` is not diff --git a/doc/src/pair_spin_dmi.rst b/doc/src/pair_spin_dmi.rst index eb945acc04..3d1498b769 100644 --- a/doc/src/pair_spin_dmi.rst +++ b/doc/src/pair_spin_dmi.rst @@ -81,7 +81,7 @@ Restrictions All the *pair/spin* styles are part of the SPIN package. These styles are only enabled if LAMMPS was built with this package, and if the -atom_style "spin" was declared. See the :doc:`Build package ` doc page for more info. +atom_style "spin" was declared. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/pair_spin_exchange.rst b/doc/src/pair_spin_exchange.rst index 630ec6608e..553af72983 100644 --- a/doc/src/pair_spin_exchange.rst +++ b/doc/src/pair_spin_exchange.rst @@ -196,7 +196,7 @@ Restrictions All the *pair/spin* styles are part of the SPIN package. These styles are only enabled if LAMMPS was built with this package, and if the atom_style "spin" was declared. -See the :doc:`Build package ` doc page for more info. +See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/pair_spin_magelec.rst b/doc/src/pair_spin_magelec.rst index 1860ed4677..b422b6a070 100644 --- a/doc/src/pair_spin_magelec.rst +++ b/doc/src/pair_spin_magelec.rst @@ -60,7 +60,7 @@ Restrictions All the *pair/spin* styles are part of the SPIN package. These styles are only enabled if LAMMPS was built with this package, and if the -atom_style "spin" was declared. See the :doc:`Build package ` doc page for more info. +atom_style "spin" was declared. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/pair_spin_neel.rst b/doc/src/pair_spin_neel.rst index c0df74187d..e5d655f196 100644 --- a/doc/src/pair_spin_neel.rst +++ b/doc/src/pair_spin_neel.rst @@ -80,7 +80,7 @@ Restrictions All the *pair/spin* styles are part of the SPIN package. These styles are only enabled if LAMMPS was built with this package, and if the -atom_style "spin" was declared. See the :doc:`Build package ` doc page for more info. +atom_style "spin" was declared. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/pair_srp.rst b/doc/src/pair_srp.rst index c1e8403022..ea094aa720 100644 --- a/doc/src/pair_srp.rst +++ b/doc/src/pair_srp.rst @@ -91,7 +91,7 @@ is used. .. note:: Pair style srp considers each bond of type *btype* to be a - fictitious "particle" of type *bptype*\ , where *bptype* is either the + fictitious "particle" of type *bptype*, where *bptype* is either the largest atom type in the system, or the type set by the *bptype* flag. Any actual existing particles with this atom type will be deleted at the beginning of a run. This means you must specify the number of @@ -108,7 +108,7 @@ is used. The optional *exclude* keyword determines if forces are computed between first neighbor (directly connected) bonds. For a setting of -*no*\ , first neighbor forces are computed; for *yes* they are not +*no*, first neighbor forces are computed; for *yes* they are not computed. A setting of *no* cannot be used with the *min* option for distance calculation because the minimum distance between directly connected bonds is zero. @@ -143,7 +143,7 @@ specified in the input script when reading a restart file. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa ` command. It does not support the -*inner*\ , *middle*\ , *outer* keywords. +*inner*, *middle*, *outer* keywords. ---------- diff --git a/doc/src/pair_style.rst b/doc/src/pair_style.rst index 50f49c87c9..7677cd9535 100644 --- a/doc/src/pair_style.rst +++ b/doc/src/pair_style.rst @@ -358,7 +358,7 @@ This command must be used before any coefficients are set by the :doc:`read_restart ` commands. Some pair styles are part of specific packages. They are only enabled -if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. The doc pages for +if LAMMPS was built with that package. See the :doc:`Build package ` page for more info. The doc pages for individual pair potentials tell if it is part of a package. Related commands diff --git a/doc/src/pair_sw.rst b/doc/src/pair_sw.rst index a4b39be3c9..f207b25863 100644 --- a/doc/src/pair_sw.rst +++ b/doc/src/pair_sw.rst @@ -57,7 +57,7 @@ where N is the number of LAMMPS atom types: * filename * N element names = mapping of SW elements to atom types -See the :doc:`pair_coeff ` doc page for alternate ways +See the :doc:`pair_coeff ` page for alternate ways to specify the path for the potential file. As an example, imagine a file SiC.sw has Stillinger-Weber values for @@ -155,11 +155,11 @@ parameters used only for two-body interactions (A, B, p, and q) in entries whose second and third element are different (e.g. SiCSi) are not used for anything and can be set to 0.0 if desired. This is also true for the parameters in :math:`\phi_3` that are -taken from the ij and ik pairs (:math:`\sigma`, *a*\ , :math:`\gamma`) +taken from the ij and ik pairs (:math:`\sigma`, *a*, :math:`\gamma`) ---------- -Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are +Styles with a *gpu*, *intel*, *kk*, *omp*, or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available hardware, as discussed on the :doc:`Speed packages ` doc @@ -168,7 +168,7 @@ produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, INTEL, KOKKOS, OPENMP and OPT packages, respectively. They are only enabled if -LAMMPS was built with those packages. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with those packages. See the :doc:`Build package ` page for more info. You can specify the accelerated styles explicitly in your input script by including their suffix, or you can use the :doc:`-suffix command-line switch ` when you invoke LAMMPS, or you can use the @@ -179,7 +179,7 @@ additional 5 to 10 percent performance improvement when the Stillinger-Weber parameters p and q are set to 4 and 0 respectively. These parameters are common for modeling silicon and water. -See the :doc:`Speed packages ` doc page for more +See the :doc:`Speed packages ` page for more instructions on how to use the accelerated styles effectively. ---------- @@ -200,7 +200,7 @@ script that reads a restart file. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa ` command. It does not support the -*inner*\ , *middle*\ , *outer* keywords. +*inner*, *middle*, *outer* keywords. ---------- @@ -208,7 +208,7 @@ Restrictions """""""""""" This pair style is part of the MANYBODY package. It is only enabled -if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +if LAMMPS was built with that package. See the :doc:`Build package ` page for more info. This pair style requires the :doc:`newton ` setting to be "on" for pair interactions. diff --git a/doc/src/pair_table.rst b/doc/src/pair_table.rst index 39ed690551..79eb8f5b42 100644 --- a/doc/src/pair_table.rst +++ b/doc/src/pair_table.rst @@ -16,7 +16,7 @@ Syntax pair_style table style N keyword ... * style = *lookup* or *linear* or *spline* or *bitmap* = method of interpolation -* N = use N values in *lookup*\ , *linear*\ , *spline* tables +* N = use N values in *lookup*, *linear*, *spline* tables * N = use 2\^N values in *bitmap* tables * zero or more keywords may be appended * keyword = *ewald* or *pppm* or *msm* or *dispersion* or *tip4p* @@ -47,7 +47,7 @@ cubic splines to the file values and interpolating energy and force values at each of *N* distances. During a simulation, the tables are used to interpolate energy and force values as needed for each pair of particles separated by a distance *R*\ . The interpolation is done in -one of 4 styles: *lookup*\ , *linear*\ , *spline*\ , or *bitmap*\ . +one of 4 styles: *lookup*, *linear*, *spline*, or *bitmap*\ . For the *lookup* style, the distance *R* is used to find the nearest table entry, which is the energy or force. @@ -240,7 +240,7 @@ commands do need to be specified in the restart input script. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa ` command. It does not support the -*inner*\ , *middle*\ , *outer* keywords. +*inner*, *middle*, *outer* keywords. ---------- diff --git a/doc/src/pair_table_rx.rst b/doc/src/pair_table_rx.rst index 1c860b90ad..094107d9ef 100644 --- a/doc/src/pair_table_rx.rst +++ b/doc/src/pair_table_rx.rst @@ -14,7 +14,7 @@ Syntax pair_style table style N ... * style = *lookup* or *linear* or *spline* or *bitmap* = method of interpolation -* N = use N values in *lookup*\ , *linear*\ , *spline* tables +* N = use N values in *lookup*, *linear*, *spline* tables * weighting = fractional or molecular (optional) Examples @@ -47,7 +47,7 @@ The interpolation tables are created by fitting cubic splines to the file values and interpolating energy and force values at each of *N* distances. During a simulation, these tables are used to interpolate energy and force values as needed. The interpolation is done in one -of 4 styles: *lookup*\ , *linear*\ , *spline*\ , or *bitmap*\ . +of 4 styles: *lookup*, *linear*, *spline*, or *bitmap*\ . For the *lookup* style, the distance between 2 atoms is used to find the nearest table entry, which is the energy or force. @@ -221,7 +221,7 @@ commands do need to be specified in the restart input script. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa ` command. It does not support the -*inner*\ , *middle*\ , *outer* keywords. +*inner*, *middle*, *outer* keywords. ---------- @@ -233,7 +233,7 @@ Restrictions """""""""""" This command is part of the DPD-REACT package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/pair_tersoff.rst b/doc/src/pair_tersoff.rst index 4fa77fc032..ab88806ca6 100644 --- a/doc/src/pair_tersoff.rst +++ b/doc/src/pair_tersoff.rst @@ -90,7 +90,7 @@ where N is the number of LAMMPS atom types: * filename * N element names = mapping of Tersoff elements to atom types -See the :doc:`pair_coeff ` doc page for alternate ways +See the :doc:`pair_coeff ` page for alternate ways to specify the path for the potential file. As an example, imagine the SiC.tersoff file has Tersoff values for Si @@ -288,7 +288,7 @@ that reads a restart file. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa ` command. It does not support the -*inner*\ , *middle*\ , *outer* keywords. +*inner*, *middle*, *outer* keywords. ---------- @@ -297,7 +297,7 @@ Restrictions This pair style is part of the MANYBODY package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package -` doc page for more info. +` page for more info. This pair style requires the :doc:`newton ` setting to be "on" for pair interactions. diff --git a/doc/src/pair_tersoff_mod.rst b/doc/src/pair_tersoff_mod.rst index e59005c2b0..8c9605d62c 100644 --- a/doc/src/pair_tersoff_mod.rst +++ b/doc/src/pair_tersoff_mod.rst @@ -189,7 +189,7 @@ script that reads a restart file. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa ` command. It does not support the -*inner*\ , *middle*\ , *outer* keywords. +*inner*, *middle*, *outer* keywords. ---------- @@ -197,7 +197,7 @@ Restrictions """""""""""" This pair style is part of the MANYBODY package. It is only enabled -if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +if LAMMPS was built with that package. See the :doc:`Build package ` page for more info. This pair style requires the :doc:`newton ` setting to be "on" for pair interactions. diff --git a/doc/src/pair_tersoff_zbl.rst b/doc/src/pair_tersoff_zbl.rst index 345ebf3e03..276905163f 100644 --- a/doc/src/pair_tersoff_zbl.rst +++ b/doc/src/pair_tersoff_zbl.rst @@ -101,7 +101,7 @@ where N is the number of LAMMPS atom types: * filename * N element names = mapping of Tersoff/ZBL elements to atom types -See the :doc:`pair_coeff ` doc page for alternate ways +See the :doc:`pair_coeff ` page for alternate ways to specify the path for the potential file. As an example, imagine the SiC.tersoff.zbl file has Tersoff/ZBL values @@ -270,7 +270,7 @@ that reads a restart file. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa ` command. It does not support the -*inner*\ , *middle*\ , *outer* keywords. +*inner*, *middle*, *outer* keywords. ---------- @@ -279,7 +279,7 @@ Restrictions This pair style is part of the MANYBODY package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package -` doc page for more info. +` page for more info. This pair style requires the :doc:`newton ` setting to be "on" for pair interactions. diff --git a/doc/src/pair_thole.rst b/doc/src/pair_thole.rst index 68966a3d9b..5a1e72f569 100644 --- a/doc/src/pair_thole.rst +++ b/doc/src/pair_thole.rst @@ -107,7 +107,7 @@ non-polarizable atoms are also subject to these weighting factors. The Drude particles inherit the 1-2, 1-3 and 1-4 neighbor relations from their respective cores. -For pair_style *thole*\ , the following coefficients must be defined for +For pair_style *thole*, the following coefficients must be defined for each pair of atoms types via the :doc:`pair_coeff ` command as in the example above. @@ -120,7 +120,7 @@ Thole damping parameter or global cutoff specified in the pair_style command are used. In order to specify a cutoff (third argument) a damp parameter (second argument) must also be specified. -For pair style *lj/cut/thole/long*\ , the following coefficients must be +For pair style *lj/cut/thole/long*, the following coefficients must be defined for each pair of atoms types via the :doc:`pair_coeff ` command. @@ -156,7 +156,7 @@ Restrictions """""""""""" These pair styles are part of the DRUDE package. They are only -enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +enabled if LAMMPS was built with that package. See the :doc:`Build package ` page for more info. This pair_style should currently not be used with the :doc:`charmm dihedral style ` if the latter has non-zero 1-4 weighting factors. This is because the *thole* pair style does not know which diff --git a/doc/src/pair_tracker.rst b/doc/src/pair_tracker.rst index 5a85a7f048..d2cee1d879 100644 --- a/doc/src/pair_tracker.rst +++ b/doc/src/pair_tracker.rst @@ -84,7 +84,7 @@ This pair style is currently incompatible with granular pair styles that extend beyond the contact (e.g. JKR and DMT). This fix is part of the MISC package. It is only enabled if LAMMPS -was built with that package. See the :doc:`Build package ` doc page for more info. +was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/pair_tri_lj.rst b/doc/src/pair_tri_lj.rst index 5516f60408..d72a061bf3 100644 --- a/doc/src/pair_tri_lj.rst +++ b/doc/src/pair_tri_lj.rst @@ -66,7 +66,7 @@ using only sigma_II values, specific to the triangles's type, this means that any specified sigma_IJ values (for I != J) are effectively ignored. -For style *tri/lj*\ , the following coefficients must be defined for +For style *tri/lj*, the following coefficients must be defined for each pair of atoms types via the :doc:`pair_coeff ` command as in the examples above, or in the data file or restart files read by the :doc:`read_data ` or :doc:`read_restart ` @@ -96,7 +96,7 @@ This pair style does not write its information to :doc:`binary restart files ` command. It does not support the -*inner*\ , *middle*\ , *outer* keywords. +*inner*, *middle*, *outer* keywords. ---------- @@ -104,7 +104,7 @@ Restrictions """""""""""" This style is part of the ASPHERE package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Defining particles to be triangles so they participate in tri/tri or tri/particle interactions requires the use the :doc:`atom_style tri ` command. diff --git a/doc/src/pair_ufm.rst b/doc/src/pair_ufm.rst index 140bb75ee7..22438d559b 100644 --- a/doc/src/pair_ufm.rst +++ b/doc/src/pair_ufm.rst @@ -107,13 +107,16 @@ to be specified in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa ` command. It does not support the -*inner*\ , *middle*\ , *outer* keywords. +*inner*, *middle*, *outer* keywords. ---------- Restrictions """""""""""" -none + +This pair style is part of the EXTRA-PAIR package. It is only enabled if +LAMMPS was built with that package. See the +:doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/pair_vashishta.rst b/doc/src/pair_vashishta.rst index 9edb77ecbe..d38ac02a96 100644 --- a/doc/src/pair_vashishta.rst +++ b/doc/src/pair_vashishta.rst @@ -93,7 +93,7 @@ where N is the number of LAMMPS atom types: * filename * N element names = mapping of Vashishta elements to atom types -See the :doc:`pair_coeff ` doc page for alternate ways +See the :doc:`pair_coeff ` page for alternate ways to specify the path for the potential file. As an example, imagine a file SiC.vashishta has parameters for @@ -156,13 +156,13 @@ unambiguous, general, and simple to code, LAMMPS uses a slightly confusing method for specifying parameters. All parameters are divided into two classes: two-body and three-body. Two-body and three-body parameters are handled differently, as described below. -The two-body parameters are *H*\ , :math:`\eta`, :math:`\lambda_1`, -*D*\ , :math:`\lambda_4`, *W*, :math:`r_c`, :math:`\gamma`, +The two-body parameters are *H*, :math:`\eta`, :math:`\lambda_1`, +*D*, :math:`\lambda_4`, *W*, :math:`r_c`, :math:`\gamma`, and :math:`r_0`. They appear in the above formulae with two subscripts. The parameters :math:`Z_i` and :math:`Z_j` are also classified as two-body parameters, even -though they only have 1 subscript. The three-body parameters are *B*\ , -*C*\ , :math:`\cos\theta_0`. They appear in the above formulae with +though they only have 1 subscript. The three-body parameters are *B*, +*C*, :math:`\cos\theta_0`. They appear in the above formulae with three subscripts. Two-body and three-body parameters are handled differently, as described below. @@ -210,7 +210,7 @@ script that reads a restart file. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa ` command. It does not support the -*inner*\ , *middle*\ , *outer* keywords. +*inner*, *middle*, *outer* keywords. ---------- @@ -218,7 +218,7 @@ Restrictions """""""""""" These pair styles are part of the MANYBODY package. They are only -enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +enabled if LAMMPS was built with that package. See the :doc:`Build package ` page for more info. These pair styles requires the :doc:`newton ` setting to be "on" for pair interactions. diff --git a/doc/src/pair_wf_cut.rst b/doc/src/pair_wf_cut.rst index 6ae1c3e897..8f6e352665 100644 --- a/doc/src/pair_wf_cut.rst +++ b/doc/src/pair_wf_cut.rst @@ -91,7 +91,7 @@ This pair style writes its information to :doc:`binary restart files `, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. -This pair style does not support the use of the *inner*\ , *middle*\ , +This pair style does not support the use of the *inner*, *middle*, and *outer* keywords of the :doc:`run_style respa ` command. ---------- diff --git a/doc/src/pair_write.rst b/doc/src/pair_write.rst index 340c151226..1d88137255 100644 --- a/doc/src/pair_write.rst +++ b/doc/src/pair_write.rst @@ -44,13 +44,13 @@ will refuse to add a table if the units are not the same. The energy and force values are computed at distances from inner to outer for 2 interacting atoms of type itype and jtype, using the appropriate :doc:`pair_coeff ` coefficients. If the style -is *r*\ , then N distances are used, evenly spaced in r; if the style is -*rsq*\ , N distances are used, evenly spaced in r\^2. +is *r*, then N distances are used, evenly spaced in r; if the style is +*rsq*, N distances are used, evenly spaced in r\^2. -For example, for N = 7, style = *r*\ , inner = 1.0, and outer = 4.0, +For example, for N = 7, style = *r*, inner = 1.0, and outer = 4.0, values are computed at r = 1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0. -If the style is *bitmap*\ , then 2\^N values are written to the file in a +If the style is *bitmap*, then 2\^N values are written to the file in a format and order consistent with how they are read in by the :doc:`pair_coeff ` command for pair style *table*\ . For reasonable accuracy in a bitmapped table, choose N >= 12, an *inner* diff --git a/doc/src/pair_yukawa.rst b/doc/src/pair_yukawa.rst index 057adbd60f..2b832f187a 100644 --- a/doc/src/pair_yukawa.rst +++ b/doc/src/pair_yukawa.rst @@ -79,7 +79,7 @@ to be specified in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa ` command. It does not support the -*inner*\ , *middle*\ , *outer* keywords. +*inner*, *middle*, *outer* keywords. ---------- diff --git a/doc/src/pair_yukawa_colloid.rst b/doc/src/pair_yukawa_colloid.rst index 4d21d8e8c3..6611ea04e4 100644 --- a/doc/src/pair_yukawa_colloid.rst +++ b/doc/src/pair_yukawa_colloid.rst @@ -112,7 +112,7 @@ to be specified in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa ` command. It does not support the -*inner*\ , *middle*\ , *outer* keywords. +*inner*, *middle*, *outer* keywords. ---------- @@ -120,7 +120,7 @@ Restrictions """""""""""" This style is part of the COLLOID package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. This pair style requires that atoms be finite-size spheres with a diameter, as defined by the :doc:`atom_style sphere ` diff --git a/doc/src/pair_zbl.rst b/doc/src/pair_zbl.rst index e01cbf45f2..bbf9f6bc29 100644 --- a/doc/src/pair_zbl.rst +++ b/doc/src/pair_zbl.rst @@ -117,7 +117,7 @@ specified in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa ` command. It does not support the -*inner*\ , *middle*\ , *outer* keywords. +*inner*, *middle*, *outer* keywords. ---------- diff --git a/doc/src/pair_zero.rst b/doc/src/pair_zero.rst index 416958de1b..062b5204f8 100644 --- a/doc/src/pair_zero.rst +++ b/doc/src/pair_zero.rst @@ -72,7 +72,7 @@ shift, table, and tail options. This pair style writes its information to :doc:`binary restart files `, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. -This pair style supports the use of the *inner*\ , *middle*\ , +This pair style supports the use of the *inner*, *middle*, and *outer* keywords of the :doc:`run_style respa ` command. ---------- diff --git a/doc/src/partition.rst b/doc/src/partition.rst index e63a4941bb..f05c3fa446 100644 --- a/doc/src/partition.rst +++ b/doc/src/partition.rst @@ -42,7 +42,7 @@ script operate differently on different partitions. It is basically a prefix on any LAMMPS command. The command will only be invoked on the partition(s) specified by the *style* and *N* arguments. -If the *style* is *yes*\ , the command will be invoked on any partition +If the *style* is *yes*, the command will be invoked on any partition which matches the *N* argument. If the *style* is *no* the command will be invoked on all the partitions which do not match the Np argument. diff --git a/doc/src/plugin.rst b/doc/src/plugin.rst index 02228636bc..7995ddc369 100644 --- a/doc/src/plugin.rst +++ b/doc/src/plugin.rst @@ -62,7 +62,7 @@ Restrictions The *plugin* command is part of the PLUGIN package. It is only enabled if LAMMPS was built with that package. -See the :doc:`Build package ` doc page for +See the :doc:`Build package ` page for more info. Plugins are not available on Windows. For the loading of plugins to work the LAMMPS library must be diff --git a/doc/src/prd.rst b/doc/src/prd.rst index d1acaf645e..758aa4f570 100644 --- a/doc/src/prd.rst +++ b/doc/src/prd.rst @@ -30,8 +30,8 @@ Syntax *temp* value = Tdephase Tdephase = target temperature for velocity randomization, used in dephasing *vel* values = loop dist - loop = *all* or *local* or *geom*\ , used in dephasing - dist = *uniform* or *gaussian*\ , used in dephasing + loop = *all* or *local* or *geom*, used in dephasing + dist = *uniform* or *gaussian*, used in dephasing *time* value = *steps* or *clock* *steps* = simulation runs for N timesteps on each replica (default) *clock* = simulation runs for N timesteps across all replicas @@ -72,7 +72,7 @@ reduced by a factor of Nr replicas. HD uses a single replica of the system and accelerates time by biasing the interaction potential in a manner such that each timestep is effectively longer. For both methods, per CPU second, more physical time elapses and more events -occur. See the :doc:`hyper ` doc page for more info about HD. +occur. See the :doc:`hyper ` page for more info about HD. In PRD, each replica runs on a partition of one or more processors. Processor partitions are defined at run-time using the :doc:`-partition command-line switch `. Note that if you have MPI @@ -171,8 +171,8 @@ dynamics have been performed. Note that *N* only includes the dynamics of stages 2 and 3, not the steps taken during dephasing or the minimization iterations of quenching. The specified *N* is interpreted in one of two ways, depending on the *time* keyword. If -the *time* value is *steps*\ , which is the default, then each replica -runs for *N* timesteps. If the *time* value is *clock*\ , then the +the *time* value is *steps*, which is the default, then each replica +runs for *N* timesteps. If the *time* value is *clock*, then the simulation runs until *N* aggregate timesteps across all replicas have elapsed. This aggregate time is the "clock" time defined below, which typically advances nearly M times faster than the timestepping on a diff --git a/doc/src/processors.rst b/doc/src/processors.rst index 899c87f4b0..d717fa9b73 100644 --- a/doc/src/processors.rst +++ b/doc/src/processors.rst @@ -85,7 +85,7 @@ communication costs due to the high surface area of each processor's sub-domain. Also note that if multiple partitions are being used then P is the -number of processors in this partition; see the :doc:`-partition command-line switch ` doc page for details. Also note +number of processors in this partition; see the :doc:`-partition command-line switch ` page for details. Also note that you can prefix the processors command with the :doc:`partition ` command to easily specify different Px,Py,Pz values for different partitions. @@ -140,7 +140,7 @@ For example if *Nc* is 4, then 2x2x1 or 2x1x2 or 1x2x2 sub-sections of the 3d grid will correspond to the cores of each node. This affects both the factorization and mapping steps. -The *Cx*\ , *Cy*\ , *Cz* settings are similar to the *Px*\ , *Py*\ , *Pz* +The *Cx*, *Cy*, *Cz* settings are similar to the *Px*, *Py*, *Pz* settings, only their product should equal *Nc*\ . Any of the 3 parameters can be specified with an asterisk "\*", which means LAMMPS will choose the number of cores in that dimension of the node's @@ -222,7 +222,7 @@ The *cart/reorder* style does the same thing as the *cart* style except it sets the reorder flag to 1, so that MPI can reorder processors if it desires. -The *xyz*\ , *xzy*\ , *yxz*\ , *yzx*\ , *zxy*\ , and *zyx* styles are all +The *xyz*, *xzy*, *yxz*, *yzx*, *zxy*, and *zyx* styles are all similar. If the style is IJK, then it maps the P processors to the grid so that the processor ID in the I direction varies fastest, the processor ID in the J direction varies next fastest, and the processor @@ -275,7 +275,7 @@ regular 3d grid and will use the sender's Px,Py,Pz values as a constraint. The nature of the constraint is determined by the *cstyle* argument. -For a *cstyle* of *multiple*\ , each dimension of the sender's processor +For a *cstyle* of *multiple*, each dimension of the sender's processor grid is required to be an integer multiple of the corresponding dimension in the receiver's processor grid. This is a requirement of the :doc:`run_style verlet/split ` command. diff --git a/doc/src/python.rst b/doc/src/python.rst index a4c3d7097c..aad2f636d3 100644 --- a/doc/src/python.rst +++ b/doc/src/python.rst @@ -185,12 +185,12 @@ output as a string, then the default maximum length of that string is a longer string, the *length* keyword can be specified with its *Nlen* value set to a larger number (the code allocates space for Nlen+1 to include the string terminator). If the Python function generates a -string longer than the default 63 or the specified *Nlen*\ , it will be +string longer than the default 63 or the specified *Nlen*, it will be truncated. ---------- -Either the *file*\ , *here*\ , or *exists* keyword must be used, but only +Either the *file*, *here*, or *exists* keyword must be used, but only one of them. These keywords specify what Python code to load into the Python interpreter. The *file* keyword gives the name of a file, which should end with a ".py" suffix, which contains Python code. The @@ -340,7 +340,7 @@ to the screen and log file. Note that since the LAMMPS print command itself takes a string in quotes as its argument, the Python string must be delimited with a different style of quotes. -The :doc:`Python_head` doc page describes the syntax +The :doc:`Python_head` page describes the syntax for how Python wraps the various functions included in the LAMMPS library interface. @@ -495,7 +495,7 @@ Restrictions """""""""""" This command is part of the PYTHON package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Building LAMMPS with the PYTHON package will link LAMMPS with the Python library on your system. Settings to enable this are in the diff --git a/doc/src/read_data.rst b/doc/src/read_data.rst index bd7c480af2..e0cd38416e 100644 --- a/doc/src/read_data.rst +++ b/doc/src/read_data.rst @@ -70,7 +70,7 @@ Also see the explanation of the :doc:`-restart command-line switch file. This command can be used multiple times to add new atoms and their -properties to an existing system by using the *add*\ , *offset*\ , and +properties to an existing system by using the *add*, *offset*, and *shift* keywords. See more details below, which includes the use case for the *extra* keywords. @@ -105,7 +105,7 @@ other side of the fluid. The third set of atoms could be rotated to an opposing direction using the :doc:`displace_atoms ` command, after the third read_data command is used. -The *add*\ , *offset*\ , *shift*\ , *extra*\ , and *group* keywords are +The *add*, *offset*, *shift*, *extra*, and *group* keywords are useful in this context. If a simulation box does not yet exist, the *add* keyword cannot be @@ -249,7 +249,7 @@ a fix that will be used to process a specific portion of the data file. Any header line containing *header-string* and any section with a name containing *section-string* will be passed to the specified fix. See the :doc:`fix property/atom ` command for -an example of a fix that operates in this manner. The doc page for +an example of a fix that operates in this manner. The page for the fix defines the syntax of the header line(s) and section(s) that it reads from the data file. Note that the *header-string* can be specified as NULL, in which case no header lines are passed to the @@ -332,7 +332,7 @@ example), then configurations with tilt = ..., -15, -5, 5, 15, 25, with tilt factors that exceed these limits, you can use the :doc:`box tilt ` command, with a setting of *large*\ ; a setting of *small* is the default. -See the :doc:`Howto triclinic ` doc page for a +See the :doc:`Howto triclinic ` page for a geometric description of triclinic boxes, as defined by LAMMPS, and how to transform these parameters to and from other commonly used triclinic representations. @@ -460,9 +460,9 @@ are point particles. See the discussion of ellipsoidflag and the For :doc:`atom_style template `, the molecular topology (bonds,angles,etc) is contained in the molecule templates read-in by the :doc:`molecule ` command. This means you - cannot set the *bonds*\ , *angles*\ , etc header keywords in the data - file, nor can you define *Bonds*\ , *Angles*\ , etc sections as discussed - below. You can set the *bond types*\ , *angle types*\ , etc header + cannot set the *bonds*, *angles*, etc header keywords in the data + file, nor can you define *Bonds*, *Angles*, etc sections as discussed + below. You can set the *bond types*, *angle types*, etc header keywords, though it is not necessary. If specified, they must match the maximum values defined in any of the template molecules. @@ -491,7 +491,7 @@ For example, these lines: Pair Coeffs # lj/cut will check if the currently-defined :doc:`atom_style ` is -*sphere*\ , and the current :doc:`pair_style ` is *lj/cut*\ . +*sphere*, and the current :doc:`pair_style ` is *lj/cut*\ . If not, LAMMPS will issue a warning to indicate that the data file section likely does not contain the correct number or type of parameters expected for the currently-defined style. @@ -722,8 +722,8 @@ The ellipsoidflag, lineflag, triangleflag, and bodyflag determine whether the particle is a finite-size ellipsoid or line or triangle or body of finite size, or whether the particle is a point particle. Additional attributes must be defined for each ellipsoid, line, -triangle, or body in the corresponding *Ellipsoids*\ , *Lines*\ , -*Triangles*\ , or *Bodies* section. +triangle, or body in the corresponding *Ellipsoids*, *Lines*, +*Triangles*, or *Bodies* section. The *template-index* and *template-atom* are only defined used by :doc:`atom_style template `. In this case the @@ -1051,7 +1051,7 @@ The 3 shape values specify the 3 diameters or aspect ratios of a finite-size ellipsoidal particle, when it is oriented along the 3 coordinate axes. They must all be non-zero values. -The values *quatw*\ , *quati*\ , *quatj*\ , and *quatk* set the orientation +The values *quatw*, *quati*, *quatj*, and *quatk* set the orientation of the atom as a quaternion (4-vector). Note that the shape attributes specify the aspect ratios of an ellipsoidal particle, which is oriented by default with its x-axis along the simulation box's diff --git a/doc/src/read_dump.rst b/doc/src/read_dump.rst index 5a51e9ad7a..c873156a38 100644 --- a/doc/src/read_dump.rst +++ b/doc/src/read_dump.rst @@ -17,11 +17,11 @@ Syntax .. parsed-literal:: field = *x* or *y* or *z* or *vx* or *vy* or *vz* or *q* or *ix* or *iy* or *iz* or *fx* or *fy* or *fz* - *x*\ ,\ *y*\ ,\ *z* = atom coordinates - *vx*\ ,\ *vy*\ ,\ *vz* = velocity components + *x*,\ *y*,\ *z* = atom coordinates + *vx*,\ *vy*,\ *vz* = velocity components *q* = charge - *ix*\ ,\ *iy*\ ,\ *iz* = image flags in each dimension - *fx*\ ,\ *fy*\ ,\ *fz* = force components + *ix*,\ *iy*,\ *iz* = image flags in each dimension + *fx*,\ *fy*,\ *fz* = force components * zero or more keyword/value pairs may be appended * keyword = *nfile* or *box* or *replace* or *purge* or *trim* or *add* or *label* or *scaled* or *wrapped* or *format* @@ -197,11 +197,11 @@ always work perfectly. Per-atom information from the dump file snapshot is then read from the dump file snapshot. This corresponds to the specified *fields* listed in the read_dump command. It is an error to specify a z-dimension -field, namely *z*\ , *vz*\ , or *iz*\ , for a 2d simulation. +field, namely *z*, *vz*, or *iz*, for a 2d simulation. For dump files in *native* format, each column of per-atom data has a text label listed in the file. A matching label for each field must -appear, e.g. the label "vy" for the field *vy*\ . For the *x*\ , *y*\ , *z* +appear, e.g. the label "vy" for the field *vy*\ . For the *x*, *y*, *z* fields any of the following labels are considered a match: .. parsed-literal:: @@ -217,7 +217,7 @@ file, in order, until a match is found. The dump file must also contain atom IDs, with a column label of "id". -If the *add* keyword is specified with a value of *yes* or *keep*\ , as +If the *add* keyword is specified with a value of *yes* or *keep*, as discussed below, the dump file must contain atom types, with a column label of "type". @@ -230,7 +230,7 @@ will then have a label corresponding to the fix-ID rather than "x" or "xs". The *label* keyword can also be used to specify new column labels for fields *id* and *type*\ . -For dump files in *xyz* format, only the *x*\ , *y*\ , and *z* fields are +For dump files in *xyz* format, only the *x*, *y*, and *z* fields are supported. The dump file does not store atom IDs, so these are assigned consecutively to the atoms as they appear in the dump file, starting from 1. Thus you should insure that order of atoms is @@ -238,7 +238,7 @@ consistent from snapshot to snapshot in the XYZ dump file. See the :doc:`dump_modify sort ` command if the XYZ dump file was written by LAMMPS. -For dump files in *molfile* format, the *x*\ , *y*\ , *z*\ , *vx*\ , *vy*\ , and +For dump files in *molfile* format, the *x*, *y*, *z*, *vx*, *vy*, and *vz* fields can be specified. However, not all molfile formats store velocities, or their respective plugins may not support reading of velocities. The molfile dump files do not store atom IDs, so these @@ -277,7 +277,7 @@ current simulation box is unchanged. If the *purge* keyword is specified with a *yes* value, then all current atoms in the system are deleted before any of the operations -invoked by the *replace*\ , *trim*\ , or *add* keywords take place. +invoked by the *replace*, *trim*, or *add* keywords take place. If the *replace* keyword is specified with a *yes* value, then atoms with IDs that are in both the current system and the dump snapshot @@ -330,7 +330,7 @@ atom will be lost if it is outside the simulation box. For *native* format dump files, the 3 xyz image flags for an atom in the dump file are set to the corresponding values appearing in the -dump file if the *ix*\ , *iy*\ , *iz* fields are specified. If not +dump file if the *ix*, *iy*, *iz* fields are specified. If not specified, the image flags for replaced atoms are not changed and image flags for new atoms are set to default values. If coordinates read from the dump file are in unwrapped format (e.g. *xu*\ ) then the @@ -343,13 +343,13 @@ conditions are applied to remap an atom back into the simulation box. If you get a warning about inconsistent image flags after reading in a dump snapshot, it means one or more pairs of bonded atoms - now have inconsistent image flags. As discussed on the :doc:`Errors common ` doc page this may or may not cause problems + now have inconsistent image flags. As discussed on the :doc:`Errors common ` page this may or may not cause problems for subsequent simulations. One way this can happen is if you read image flag fields from the dump file but do not also use the dump file box parameters. LAMMPS knows how to compute unscaled and remapped coordinates for the -snapshot column labels discussed above, e.g. *x*\ , *xs*\ , *xu*\ , *xsu*\ . +snapshot column labels discussed above, e.g. *x*, *xs*, *xu*, *xsu*\ . If another column label is assigned to the *x* or *y* or *z* field via the *label* keyword, e.g. for coordinates output by the :doc:`fix ave/atom ` command, then LAMMPS needs to know whether the coordinate information in the dump file is scaled and/or wrapped. @@ -359,10 +359,10 @@ the value of the *scaled* and *wrapped* keywords is ignored for fields column label to that field. The scaled/unscaled and wrapped/unwrapped setting must be identical -for any of the *x*\ , *y*\ , *z* fields that are specified. Thus you +for any of the *x*, *y*, *z* fields that are specified. Thus you cannot read *xs* and *yu* from the dump file. Also, if the dump file coordinates are scaled and the simulation box is triclinic, then all 3 -of the *x*\ , *y*\ , *z* fields must be specified, since they are all +of the *x*, *y*, *z* fields must be specified, since they are all needed to generate absolute, unscaled coordinates. ---------- @@ -378,7 +378,7 @@ doc page for details. The *molfile* dump file formats are part of the MOLFILE package. They are only enabled if LAMMPS was built with that packages. See the -:doc:`Build package ` doc page for more info. +:doc:`Build package ` page for more info. To write and read adios .bp files, you must compile LAMMPS with the :ref:`ADIOS ` package. diff --git a/doc/src/region.rst b/doc/src/region.rst index 9f2d996b20..d891a69410 100644 --- a/doc/src/region.rst +++ b/doc/src/region.rst @@ -147,24 +147,24 @@ non-zero, then xlo and xhi cannot both be INF, nor can ylo and yhi. define the region so that its intersection with the 2d x-y plane of the simulation has the 2d geometric extent you want. -For style *cone*\ , an axis-aligned cone is defined which is like a +For style *cone*, an axis-aligned cone is defined which is like a *cylinder* except that two different radii (one at each end) can be defined. Either of the radii (but not both) can be 0.0. -For style *cone* and *cylinder*\ , the c1,c2 params are coordinates in +For style *cone* and *cylinder*, the c1,c2 params are coordinates in the 2 other dimensions besides the cylinder axis dimension. For dim = x, c1/c2 = y/z; for dim = y, c1/c2 = x/z; for dim = z, c1/c2 = x/y. Thus the third example above specifies a cylinder with its axis in the y-direction located at x = 2.0 and z = 3.0, with a radius of 5.0, and extending in the y-direction from -5.0 to the upper box boundary. -For style *plane*\ , a plane is defined which contain the point +For style *plane*, a plane is defined which contain the point (px,py,pz) and has a normal vector (nx,ny,nz). The normal vector does not have to be of unit length. The "inside" of the plane is the half-space in the direction of the normal vector; see the discussion of the *side* option below. -For style *prism*\ , a parallelepiped is defined (it's too hard to spell +For style *prism*, a parallelepiped is defined (it's too hard to spell parallelepiped in an input script!). The parallelepiped has its "origin" at (xlo,ylo,zlo) and is defined by 3 edge vectors starting from the origin given by A = (xhi-xlo,0,0); B = (xy,yhi-ylo,0); C = @@ -200,7 +200,7 @@ keywords for the simulation box parameters and timestep and elapsed time. Thus it is easy to specify a time-dependent radius or have a time dependent position of the sphere or cylinder region. -See the :doc:`Howto tricilinc ` doc page for a +See the :doc:`Howto tricilinc ` page for a geometric description of triclinic boxes, as defined by LAMMPS, and how to transform these parameters to and from other commonly used triclinic representations. @@ -239,25 +239,25 @@ A *lattice* value means the distance units are in lattice spacings. The :doc:`lattice ` command must have been previously used to define the lattice spacings which are used as follows: -* For style *block*\ , the lattice spacing in dimension x is applied to +* For style *block*, the lattice spacing in dimension x is applied to xlo and xhi, similarly the spacings in dimensions y,z are applied to ylo/yhi and zlo/zhi. -* For style *cone*\ , the lattice spacing in argument *dim* is applied to +* For style *cone*, the lattice spacing in argument *dim* is applied to lo and hi. The spacings in the two radial dimensions are applied to c1 and c2. The two cone radii are scaled by the lattice spacing in the dimension corresponding to c1. -* For style *cylinder*\ , the lattice spacing in argument *dim* is applied +* For style *cylinder*, the lattice spacing in argument *dim* is applied to lo and hi. The spacings in the two radial dimensions are applied to c1 and c2. The cylinder radius is scaled by the lattice spacing in the dimension corresponding to c1. -* For style *plane*\ , the lattice spacing in dimension x is applied to +* For style *plane*, the lattice spacing in dimension x is applied to px and nx, similarly the spacings in dimensions y,z are applied to py/ny and pz/nz. -* For style *prism*\ , the lattice spacing in dimension x is applied to +* For style *prism*, the lattice spacing in dimension x is applied to xlo and xhi, similarly for ylo/yhi and zlo/zhi. The lattice spacing in dimension x is applied to xy and xz, and the spacing in dimension y to yz. -* For style *sphere*\ , the lattice spacing in dimensions x,y,z are +* For style *sphere*, the lattice spacing in dimensions x,y,z are applied to the sphere center x,y,z. The spacing in dimension x is applied to the sphere radius. @@ -311,7 +311,7 @@ angle is calculated, presumably as a function of time, by a variable specified as v_theta, where theta is the variable name. The variable should generate its result in radians. The direction of rotation for the region around the rotation axis is consistent with the right-hand -rule: if your right-hand thumb points along *R*\ , then your fingers +rule: if your right-hand thumb points along *R*, then your fingers wrap around the axis in the direction of rotation. The *move* and *rotate* keywords can be used together. In this case, @@ -341,25 +341,25 @@ sub-regions that use them. The indices specified as part of the *open* keyword have the following meanings: -For style *block*\ , indices 1-6 correspond to the xlo, xhi, ylo, yhi, +For style *block*, indices 1-6 correspond to the xlo, xhi, ylo, yhi, zlo, zhi surfaces of the block. I.e. 1 is the yz plane at x = xlo, 2 is the yz-plane at x = xhi, 3 is the xz plane at y = ylo, 4 is the xz plane at y = yhi, 5 is the xy plane at z = zlo, 6 is the xy plane at z = zhi). In the second-to-last example above, the region is a box open at both xy planes. -For style *prism*\ , values 1-6 have the same mapping as for style -*block*\ . I.e. in an untilted *prism*\ , *open* indices correspond to +For style *prism*, values 1-6 have the same mapping as for style +*block*\ . I.e. in an untilted *prism*, *open* indices correspond to the xlo, xhi, ylo, yhi, zlo, zhi surfaces. -For style *cylinder*\ , index 1 corresponds to the flat end cap at the +For style *cylinder*, index 1 corresponds to the flat end cap at the low coordinate along the cylinder axis, index 2 corresponds to the high-coordinate flat end cap along the cylinder axis, and index 3 is the curved cylinder surface. For example, a *cylinder* region with *open 1 open 2* keywords will be open at both ends (e.g. a section of pipe), regardless of the cylinder orientation. -For style *cone*\ , the mapping is the same as for style *cylinder*\ . +For style *cone*, the mapping is the same as for style *cylinder*\ . Index 1 is the low-coordinate flat end cap, index 2 is the high-coordinate flat end cap, and index 3 is the curved cone surface. In the last example above, a *cone* region is defined along the z-axis @@ -371,7 +371,7 @@ sub-regions can be defined with the *open* keyword. ---------- -Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are +Styles with a *gpu*, *intel*, *kk*, *omp*, or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available hardware, as discussed on the :doc:`Speed packages ` doc @@ -383,13 +383,13 @@ by Kokkos or no acceleration will occur. Currently, only *block* style regions are supported by Kokkos. These accelerated styles are part of the Kokkos package. They are -only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +only enabled if LAMMPS was built with that package. See the :doc:`Build package ` page for more info. You can specify the accelerated styles explicitly in your input script by including their suffix, or you can use the :doc:`-suffix command-line switch ` when you invoke LAMMPS, or you can use the :doc:`suffix ` command in your input script. -See the :doc:`Speed packages ` doc page for more +See the :doc:`Speed packages ` page for more instructions on how to use the accelerated styles effectively. ---------- diff --git a/doc/src/rerun.rst b/doc/src/rerun.rst index e9e23afba8..21c6f68643 100644 --- a/doc/src/rerun.rst +++ b/doc/src/rerun.rst @@ -114,11 +114,11 @@ Note that the dump files specified as part of the *dump* keyword can be parallel files, i.e. written as multiple files either per processor and/or per snapshot. If that is the case they will also be read in parallel which can make the rerun command operate dramatically faster -for large systems. See the doc page for the :doc:`read_dump +for large systems. See the page for the :doc:`read_dump ` and :doc:`dump ` commands which describe how to read and write parallel dump files. -The *first*\ , *last*\ , *every*\ , *skip* keywords determine which +The *first*, *last*, *every*, *skip* keywords determine which snapshots are read from the dump file(s). Snapshots are skipped until they have a timestep >= *Nfirst*\ . When a snapshot with a timestep > *Nlast* is encountered, the rerun command finishes. Note that @@ -145,7 +145,7 @@ do for the :doc:`run ` command. They only need to be defined if (a) you are using a :doc:`fix ` command that changes some value over time, and (b) you want the reference point for elapsed time (from start to stop) to be different than the *first* and *last* settings. -See the doc page for individual fixes to see which ones can be used +See the page for individual fixes to see which ones can be used with the *start/stop* keywords. Note that if you define neither of the *start*\ /\ *stop* or *first*\ /\ *last* keywords, then LAMMPS treats the pseudo run as going from 0 to a huge value (effectively infinity). @@ -163,7 +163,7 @@ The *dump* keyword is required and must be the last keyword specified. Its arguments are passed internally to the :doc:`read_dump ` command. The first argument following the *dump* keyword should be the *field1* argument of the :doc:`read_dump ` command. See -the :doc:`read_dump ` doc page for details on the various +the :doc:`read_dump ` page for details on the various options it allows for extracting information from the dump file snapshots, and for using that information to alter the LAMMPS simulation. @@ -192,14 +192,14 @@ angle evaluations, if no pair style is being used. Every time a snapshot is read, the timestep for the simulation is reset, as if the :doc:`reset_timestep ` command were used. This command has some restrictions as to what fixes can be -defined. See its doc page for details. For example, the :doc:`fix deposit ` and :doc:`fix dt/reset ` fixes +defined. See its page for details. For example, the :doc:`fix deposit ` and :doc:`fix dt/reset ` fixes are in this category. They also make no sense to use with a rerun command. If time-averaging fixes like :doc:`fix ave/time ` are used, they are invoked on timesteps that are a function of their -*Nevery*\ , *Nrepeat*\ , and *Nfreq* settings. As an example, see the -:doc:`fix ave/time ` doc page for details. You must +*Nevery*, *Nrepeat*, and *Nfreq* settings. As an example, see the +:doc:`fix ave/time ` page for details. You must insure those settings are consistent with the snapshot timestamps that are read from the dump file(s). If an averaging fix is not invoked on a timestep it expects to be, LAMMPS will flag an error. diff --git a/doc/src/run.rst b/doc/src/run.rst index 6c47721e91..75c3bc93f0 100644 --- a/doc/src/run.rst +++ b/doc/src/run.rst @@ -45,7 +45,7 @@ Description Run or continue dynamics for a specified number of timesteps. -When the :doc:`run style ` is *respa*\ , N refers to outer +When the :doc:`run style ` is *respa*, N refers to outer loop (largest) timesteps. A value of N = 0 is acceptable; only the thermodynamics of the system @@ -64,7 +64,7 @@ completes. The *start* or *stop* keywords can be used if multiple runs are being performed and you want a :doc:`fix ` command that changes some value over time (e.g. temperature) to make the change across the -entire set of runs and not just a single run. See the doc page for +entire set of runs and not just a single run. See the page for individual fixes to see which ones can be used with the *start/stop* keywords. @@ -136,7 +136,7 @@ be useful for invoking a command you have added to LAMMPS that wraps some other code (e.g. as a library) to perform a computation periodically during a long LAMMPS run. See the :doc:`Modify ` doc page for info about how to add new commands to LAMMPS. See the -:doc:`Howto couple ` doc page for ideas about how to +:doc:`Howto couple ` page for ideas about how to couple LAMMPS to other codes. With the *every* option, N total steps are simulated, in shorter runs @@ -203,7 +203,7 @@ Restrictions When not using the *upto* keyword, the number of specified timesteps N must fit in a signed 32-bit integer, so you are limited to slightly -more than 2 billion steps (2\^31) in a single run. When using *upto*\ , +more than 2 billion steps (2\^31) in a single run. When using *upto*, N can be larger than a signed 32-bit integer, however the difference between N and the current timestep must still be no larger than 2\^31 steps. diff --git a/doc/src/run_style.rst b/doc/src/run_style.rst index 3cb5e28597..bcfa3d7b54 100644 --- a/doc/src/run_style.rst +++ b/doc/src/run_style.rst @@ -125,7 +125,7 @@ screen.0 by default; see the :doc:`-plog and -pscreen command-line switches ` doc page for performance +See the :doc:`Speed packages ` page for performance details of the speed-up offered by the *verlet/split* style. One important performance consideration is the assignment of logical processors in the 2 partitions to the physical cores of a parallel @@ -298,7 +298,7 @@ can use the :doc:`-suffix command-line switch ` when you invoke LAMMPS, or you can use the :doc:`suffix ` command in your input script. -See the :doc:`Speed packages ` doc page for more +See the :doc:`Speed packages ` page for more instructions on how to use the accelerated styles effectively. ---------- @@ -308,7 +308,7 @@ Restrictions The *verlet/split* style can only be used if LAMMPS was built with the REPLICA package. Correspondingly the *respa/omp* style is available -only if the OPENMP package was included. See the :doc:`Build package ` doc page for more info. +only if the OPENMP package was included. See the :doc:`Build package ` page for more info. Whenever using rRESPA, the user should experiment with trade-offs in speed and accuracy for their system, and verify that they are diff --git a/doc/src/server.rst b/doc/src/server.rst index f305f314c1..7423653c14 100644 --- a/doc/src/server.rst +++ b/doc/src/server.rst @@ -28,7 +28,7 @@ message back to the client. The specified *protocol* determines the format and content of messages LAMMPS expects to receive and how it responds. -The :doc:`Howto client/server ` doc page gives an +The :doc:`Howto client/server ` page gives an overview of client/server coupling of LAMMPS with another code where one code is the "client" and sends request messages to a "server" code. The server responds to each request with a reply message. This @@ -47,9 +47,9 @@ are: * :doc:`md ` = run dynamics with another code * :doc:`mc ` = perform Monte Carlo moves with another code -For protocol *md*\ , LAMMPS can be either a client (via the :doc:`fix client/md ` command) or server. See the :doc:`server md ` doc page for details on the protocol. +For protocol *md*, LAMMPS can be either a client (via the :doc:`fix client/md ` command) or server. See the :doc:`server md ` page for details on the protocol. -For protocol *mc*\ , LAMMPS can be the server. See the :doc:`server mc ` doc page for details on the protocol. +For protocol *mc*, LAMMPS can be the server. See the :doc:`server mc ` page for details on the protocol. ---------- @@ -57,7 +57,7 @@ Restrictions """""""""""" This command is part of the MESSAGE package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. A script that uses this command must also use the :doc:`message ` command to setup the messaging protocol with diff --git a/doc/src/server_mc.rst b/doc/src/server_mc.rst index eae3ead5b4..f5ddf2f468 100644 --- a/doc/src/server_mc.rst +++ b/doc/src/server_mc.rst @@ -27,7 +27,7 @@ expect messages from a separate "client" code that match the *mc* protocol for format and content explained below. For each message LAMMPS receives it will send a message back to the client. -The :doc:`Howto client/server ` doc page gives an +The :doc:`Howto client/server ` page gives an overview of client/server coupling of LAMMPS with another code where one code is the "client" and sends request messages to a "server" code. The server responds to each request with a reply message. This @@ -39,7 +39,7 @@ signals when it is done sending messages to LAMMPS, at which point the loop will exit, and the remainder of the LAMMPS script will be processed. -The :doc:`server ` doc page gives other options for using LAMMPS +The :doc:`server ` page gives other options for using LAMMPS See an example of how this command is used in examples/COUPLE/lammps_mc/in.server. @@ -109,7 +109,7 @@ Restrictions """""""""""" This command is part of the MESSAGE package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. A script that uses this command must also use the :doc:`message ` command to setup the messaging protocol with diff --git a/doc/src/server_md.rst b/doc/src/server_md.rst index 86a8225e7a..f9a25a4718 100644 --- a/doc/src/server_md.rst +++ b/doc/src/server_md.rst @@ -27,7 +27,7 @@ expect messages from a separate "client" code that match the *md* protocol for format and content explained below. For each message LAMMPS receives it will send a message back to the client. -The :doc:`Howto client/server ` doc page gives an +The :doc:`Howto client/server ` page gives an overview of client/server coupling of LAMMPS with another code where one code is the "client" and sends request messages to a "server" code. The server responds to each request with a reply message. This @@ -39,7 +39,7 @@ signals when it is done sending messages to LAMMPS, at which point the loop will exit, and the remainder of the LAMMPS script will be processed. -The :doc:`server ` doc page gives other options for using LAMMPS +The :doc:`server ` page gives other options for using LAMMPS in server mode. See an example of how this command is used in examples/message/in.message.server. @@ -148,7 +148,7 @@ Restrictions """""""""""" This command is part of the MESSAGE package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/set.rst b/doc/src/set.rst index dd136f867e..e61c288a74 100644 --- a/doc/src/set.rst +++ b/doc/src/set.rst @@ -42,9 +42,9 @@ Syntax seed = random # seed (positive integer) *mol* value = molecule ID value can be an atom-style variable (see below) - *x*\ ,\ *y*\ ,\ *z* value = atom coordinate (distance units) + *x*,\ *y*,\ *z* value = atom coordinate (distance units) value can be an atom-style variable (see below) - *vx*\ ,\ *vy*\ ,\ *vz* value = atom velocity (velocity units) + *vx*,\ *vy*,\ *vz* value = atom velocity (velocity units) value can be an atom-style variable (see below) *charge* value = atomic charge (charge units) value can be an atom-style variable (see below) @@ -175,12 +175,12 @@ style *type* selects all the atoms in a range of types. The style In each of the range cases, the range can be specified as a single numeric value, or a wildcard asterisk can be used to specify a range of values. This takes the form "\*" or "\*n" or "n\*" or "m\*n". For -example, for the style *type*\ , if N = the number of atom types, then +example, for the style *type*, if N = the number of atom types, then an asterisk with no numeric values means all types from 1 to N. A leading asterisk means all types from 1 to n (inclusive). A trailing asterisk means all types from n to N (inclusive). A middle asterisk means all types from m to n (inclusive). For all the styles except -*mol*\ , the lowest value for the wildcard is 1; for *mol* it is 0. +*mol*, the lowest value for the wildcard is 1; for *mol* it is 0. The style *group* selects all the atoms in the specified group. The style *region* selects all the atoms in the specified geometric @@ -250,10 +250,10 @@ Keyword *mol* sets the molecule ID for all selected atoms. The :doc:`atom style ` being used must support the use of molecule IDs. -Keywords *x*\ , *y*\ , *z*\ , and *charge* set the coordinates or -charge of all selected atoms. For *charge*\ , the :doc:`atom style +Keywords *x*, *y*, *z*, and *charge* set the coordinates or +charge of all selected atoms. For *charge*, the :doc:`atom style ` being used must support the use of atomic -charge. Keywords *vx*\ , *vy*\ , and *vz* set the velocities of all +charge. Keywords *vx*, *vy*, and *vz* set the velocities of all selected atoms. Keyword *dipole* uses the specified x,y,z values as components of a @@ -303,7 +303,7 @@ the :doc:`atom_style ` command. Random numbers are used in such a way that the orientation of a particular atom is the same, regardless of how many processors are being used. For 2d systems, only orientations in the xy plane are generated. As with keyword -*quat*\ , for ellipsoidal particles, the 3 shape values must be non-zero +*quat*, for ellipsoidal particles, the 3 shape values must be non-zero for each particle set by this command. This keyword does not allow use of an atom-style variable. @@ -316,7 +316,7 @@ a density, e.g. via the :doc:`read_data ` command. Keyword *shape* sets the size and shape of the selected atoms. The particles must be ellipsoids as defined by the :doc:`atom_style -ellipsoid ` command. The *Sx*\ , *Sy*\ , *Sz* settings +ellipsoid ` command. The *Sx*, *Sy*, *Sz* settings are the 3 diameters of the ellipsoid in each direction. All 3 can be set to the same value, which means the ellipsoid is effectively a sphere. They can also all be set to 0.0 which means the particle will @@ -430,16 +430,16 @@ up analysis of the trajectories if a LAMMPS diagnostic or your own analysis relies on the image flags to unwrap a molecule which straddles the periodic box. -Keywords *bond*\ , *angle*\ , *dihedral*\ , and *improper*\ , set the bond +Keywords *bond*, *angle*, *dihedral*, and *improper*, set the bond type (angle type, etc) of all bonds (angles, etc) of selected atoms to the specified value from 1 to nbondtypes (nangletypes, etc). All atoms in a particular bond (angle, etc) must be selected atoms in order for the change to be made. The value of nbondtype (nangletypes, -etc) was set by the *bond types* (\ *angle types*\ , etc) field in the +etc) was set by the *bond types* (\ *angle types*, etc) field in the header of the data file read by the :doc:`read_data ` command. These keywords do not allow use of an atom-style variable. -Keywords *sph/e*\ , *sph/cv*\ , and *sph/rho* set the energy, heat +Keywords *sph/e*, *sph/cv*, and *sph/rho* set the energy, heat capacity, and density of smoothed particle hydrodynamics (SPH) particles. See `this PDF guide `_ to using SPH in LAMMPS. diff --git a/doc/src/shell.rst b/doc/src/shell.rst index 95f72a27ba..af5c110fee 100644 --- a/doc/src/shell.rst +++ b/doc/src/shell.rst @@ -58,7 +58,7 @@ of the input script. Or you can run a program that pre-processes data for input into LAMMPS. Or you can run a program that post-processes LAMMPS output data. -With the exception of *cd*\ , all commands, including ones invoked via a +With the exception of *cd*, all commands, including ones invoked via a system() call, are executed by only a single processor, so that files/directories are not being manipulated by multiple processors. diff --git a/doc/src/special_bonds.rst b/doc/src/special_bonds.rst index 779056f87a..4b197fbf3a 100644 --- a/doc/src/special_bonds.rst +++ b/doc/src/special_bonds.rst @@ -148,7 +148,7 @@ LJ and Coulombic interactions, which is consistent with a coarse-grained polymer model with :doc:`FENE bonds `. See :ref:`(Kremer) ` for a description of FENE bonds. -The *lj/coul*\ , *lj*\ , and *coul* keywords allow the 3 coefficients to +The *lj/coul*, *lj*, and *coul* keywords allow the 3 coefficients to be set explicitly. The *lj/coul* keyword sets both the LJ and Coulombic coefficients to the same 3 values. The *lj* and *coul* keywords only set either the LJ or Coulombic coefficients. Use both @@ -165,7 +165,7 @@ as an angle, but does not define 2-3-4 as an angle or 1-2-3-4 as a dihedral, then the pairwise interaction between atoms 1 and 3 will always be weighted by 0.5, but different force fields use different rules for weighting the pairwise interaction between atoms 2 and 4. -If the *angle* keyword is specified as *yes*\ , then the pairwise +If the *angle* keyword is specified as *yes*, then the pairwise interaction between atoms 2 and 4 will be unaffected (full weighting of 1.0). If the *angle* keyword is specified as *no* which is the default, then the 2,4 interaction will also be weighted by 0.5. @@ -179,7 +179,7 @@ defines 1-2-3-4 as a dihedral, but does not define 2-3-4-5 as a dihedral, then the pairwise interaction between atoms 1 and 4 will always be weighted by 0.5, but different force fields use different rules for weighting the pairwise interaction between atoms 2 and 5. -If the *dihedral* keyword is specified as *yes*\ , then the pairwise +If the *dihedral* keyword is specified as *yes*, then the pairwise interaction between atoms 2 and 5 will be unaffected (full weighting of 1.0). If the *dihedral* keyword is specified as *no* which is the default, then the 2,5 interaction will also be weighted by 0.5. diff --git a/doc/src/suffix.rst b/doc/src/suffix.rst index 1ece739f55..4789229800 100644 --- a/doc/src/suffix.rst +++ b/doc/src/suffix.rst @@ -32,7 +32,7 @@ This command allows you to use variants of various styles if they exist. In that respect it operates the same as the :doc:`-suffix command-line switch `. It also has options to turn off or back on any suffix setting made via the command line. -The specified style can be *gpu*\ , *intel*\ , *kk*\ , *omp*\ , *opt* or +The specified style can be *gpu*, *intel*, *kk*, *omp*, *opt* or *hybrid*\ . These refer to optional packages that LAMMPS can be built with, as described on the :doc:`Build package ` doc page. The "gpu" style corresponds to the GPU package, the "intel" style to @@ -78,9 +78,9 @@ example, "hybrid intel omp" will use styles from the INTEL package as a first choice and styles from the OPENMP package as a second choice if no INTEL variant is available. -If the specified style is *off*\ , then any previously specified suffix +If the specified style is *off*, then any previously specified suffix is temporarily disabled, whether it was specified by a command-line -switch or a previous suffix command. If the specified style is *on*\ , +switch or a previous suffix command. If the specified style is *on*, a disabled suffix is turned back on. The use of these 2 commands lets your input script use a standard LAMMPS style (i.e. a non-accelerated variant), which can be useful for testing or benchmarking purposes. diff --git a/doc/src/tad.rst b/doc/src/tad.rst index c3cd3b825b..b36ad2e431 100644 --- a/doc/src/tad.rst +++ b/doc/src/tad.rst @@ -160,7 +160,7 @@ events must be generated before one is finally executed. Conversely, if this criterion is too aggressive, high-entropy high-barrier events will be over-sampled, while low-entropy low-barrier events will be under-sampled. If the lowest pre-exponential factor is known fairly -accurately, then it can be used to estimate *tmax*\ , and the value of +accurately, then it can be used to estimate *tmax*, and the value of *delta* can be set to the desired confidence level e.g. *delta* = 0.05 corresponds to 95% confidence. However, for systems where the dynamics are not well characterized (the most common case), it will be @@ -181,7 +181,7 @@ files, and restart files. Event statistics are printed to the screen and master log.lammps file each time an event is executed. The quantities are the timestep, CPU -time, global event number *N*\ , local event number *M*\ , event status, +time, global event number *N*, local event number *M*, event status, energy barrier, time margin, *t_lo* and *delt_lo*. The timestep is the usual LAMMPS timestep, which corresponds to the high-temperature time at which the event was detected, in units of timestep. The CPU @@ -204,7 +204,7 @@ high-temperature time since entering the current basin, scaled by an exponential factor that depends on the hi/lo temperature ratio and the energy barrier for that event. -On lines for executed events, with status *E*\ , the global event number +On lines for executed events, with status *E*, the global event number is incremented by one, the local event number and time margin are reset to zero, while the global event number, energy barrier, and @@ -304,7 +304,7 @@ Default """"""" The option defaults are *min* = 0.1 0.1 40 50, *neb* = 0.01 100 100 -10, *neb_style* = *quickmin*\ , *neb_step* = the same timestep set by +10, *neb_style* = *quickmin*, *neb_step* = the same timestep set by the :doc:`timestep ` command, and *neb_log* = "none". ---------- diff --git a/doc/src/temper.rst b/doc/src/temper.rst index bdc0e426ec..363e0102fc 100644 --- a/doc/src/temper.rst +++ b/doc/src/temper.rst @@ -45,7 +45,7 @@ Each replica's temperature is controlled at a different value by a fix with *fix-ID* that controls temperature. Most thermostat fix styles (with and without included time integration) are supported. The command will print an error message and abort, if the chosen fix is unsupported. -The desired temperature is specified by *temp*\ , which is typically a +The desired temperature is specified by *temp*, which is typically a variable previously set in the input script, so that each partition is assigned a different temperature. See the :doc:`variable ` command for more details. For example: diff --git a/doc/src/temper_grem.rst b/doc/src/temper_grem.rst index f45755da50..312df21254 100644 --- a/doc/src/temper_grem.rst +++ b/doc/src/temper_grem.rst @@ -48,7 +48,7 @@ discussed there in greater detail. Instead of temperature, this command performs replica exchanges in lambda as per the generalized ensemble enforced by :doc:`fix grem -`. The desired lambda is specified by *lambda*\ , which is +`. The desired lambda is specified by *lambda*, which is typically a variable previously set in the input script, so that each partition is assigned a different temperature. See the :doc:`variable ` command for more details. For example: diff --git a/doc/src/temper_npt.rst b/doc/src/temper_npt.rst index 9c5ba242e9..a8f5999dbe 100644 --- a/doc/src/temper_npt.rst +++ b/doc/src/temper_npt.rst @@ -52,7 +52,7 @@ Restrictions """""""""""" This command can only be used if LAMMPS was built with the REPLICA -package. See the :doc:`Build package ` doc page for more +package. See the :doc:`Build package ` page for more info. This command should be used with a fix that maintains the diff --git a/doc/src/thermo_modify.rst b/doc/src/thermo_modify.rst index 1815a7cb76..31de925492 100644 --- a/doc/src/thermo_modify.rst +++ b/doc/src/thermo_modify.rst @@ -59,8 +59,8 @@ simulation box :doc:`boundary ` or if it moves more than a box length outside the simulation domain (or more than a processor sub-domain length) before reneighboring occurs. The latter case is typically due to bad dynamics, e.g. too large a timestep or huge -forces and velocities. If the value is *ignore*\ , LAMMPS does not -check for lost atoms. If the value is *error* or *warn*\ , LAMMPS +forces and velocities. If the value is *ignore*, LAMMPS does not +check for lost atoms. If the value is *error* or *warn*, LAMMPS checks and either issues an error or warning. The code will exit with an error and continue with a warning. A warning will only be issued once, the first time an atom is lost. This can be a useful debugging @@ -117,15 +117,15 @@ The *norm* keyword determines whether various thermodynamic output values are normalized by the number of atoms or not, depending on whether it is set to *yes* or *no*\ . Different unit styles have different defaults for this setting (see below). Even if *norm* is -set to *yes*\ , a value is only normalized if it is an "extensive" +set to *yes*, a value is only normalized if it is an "extensive" quantity, meaning that it scales with the number of atoms in the -system. For the thermo keywords described by the doc page for the +system. For the thermo keywords described by the page for the :doc:`thermo_style ` command, all energy-related keywords are extensive, such as *pe* or *ebond* or *enthalpy*\ . Other keywords such as *temp* or *press* are "intensive" meaning their value is independent (in a statistical sense) of the number of atoms in the system and thus are never normalized. For thermodynamic output values -extracted from fixes and computes in a :doc:`thermo_style custom ` command, the doc page for the individual +extracted from fixes and computes in a :doc:`thermo_style custom ` command, the page for the individual :doc:`fix ` or :doc:`compute ` lists whether the value is "extensive" or "intensive" and thus whether it is normalized. Thermodynamic output values calculated by a variable formula are @@ -174,7 +174,7 @@ settings, reverting all values to their default format. a "%d"-style format identifier in the format string and LAMMPS will convert this to the corresponding 8-byte form when it is applied to those keywords. However, when specifying the *line* option or *format - M string* option for *step* and *natoms*\ , you should specify a format + M string* option for *step* and *natoms*, you should specify a format string appropriate for an 8-byte signed integer, e.g. one with "%ld". The *temp* keyword is used to determine how thermodynamic temperature @@ -222,7 +222,7 @@ Default """"""" The option defaults are lost = error, warn = 100, norm = yes for unit -style of *lj*\ , norm = no for unit style of *real* and *metal*\ , +style of *lj*, norm = no for unit style of *real* and *metal*, flush = no, and temp/press = compute IDs defined by thermo_style. The defaults for the line and format options depend on the thermo diff --git a/doc/src/thermo_style.rst b/doc/src/thermo_style.rst index 8ea487fd0a..a04504b1a6 100644 --- a/doc/src/thermo_style.rst +++ b/doc/src/thermo_style.rst @@ -117,7 +117,7 @@ thermodynamic timestep. Note that the keywords c_ID, f_ID, v_name are references to :doc:`computes `, :doc:`fixes `, and equal-style :doc:`variables ` that have been defined elsewhere in the input script or can even be new styles which users have added -to LAMMPS. See the :doc:`Modify ` doc page for details on the +to LAMMPS. See the :doc:`Modify ` page for details on the latter. Thus the *custom* style provides a flexible means of outputting essentially any desired quantity as a simulation proceeds. @@ -218,16 +218,16 @@ to see which ones contribute and whether their default A long-range tail correction *etail* for the van der Waals pairwise energy will be non-zero only if the :doc:`pair_modify tail ` option is turned on. The *etail* contribution is -included in *evdwl*\ , *epair*\ , *pe*\ , and *etotal*\ , and the +included in *evdwl*, *epair*, *pe*, and *etotal*, and the corresponding tail correction to the pressure is included in *press* -and *pxx*\ , *pyy*\ , etc. +and *pxx*, *pyy*, etc. ---------- Here is more information on other keywords whose meaning may not be clear: -The *step*\ , *elapsed*\ , and *elaplong* keywords refer to timestep +The *step*, *elapsed*, and *elaplong* keywords refer to timestep count. *Step* is the current timestep, or iteration count when a :doc:`minimization ` is being performed. *Elapsed* is the number of timesteps elapsed since the beginning of this run. @@ -318,13 +318,13 @@ to reduce the delay factor to insure no force interactions are missed by atoms moving beyond the neighbor skin distance before a rebuild takes place. -The keywords *cella*\ , *cellb*\ , *cellc*\ , *cellalpha*\ , -*cellbeta*\ , *cellgamma*\ , correspond to the usual crystallographic +The keywords *cella*, *cellb*, *cellc*, *cellalpha*, +*cellbeta*, *cellgamma*, correspond to the usual crystallographic quantities that define the periodic unit cell of a crystal. See the -:doc:`Howto triclinic ` doc page for a geometric +:doc:`Howto triclinic ` page for a geometric description of triclinic periodic cells, including a precise definition of these quantities in terms of the internal LAMMPS cell -dimensions *lx*\ , *ly*\ , *lz*\ , *yz*\ , *xz*\ , *xy*\ . +dimensions *lx*, *ly*, *lz*, *yz*, *xz*, *xy*\ . ---------- diff --git a/doc/src/third_order.rst b/doc/src/third_order.rst index 513d96b9e8..f020511aad 100644 --- a/doc/src/third_order.rst +++ b/doc/src/third_order.rst @@ -56,7 +56,7 @@ The command collects a 9 times the number of atoms in the group on every single so the memory requirements can be very significant for large systems. This command is part of the PHONON package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/doc/src/timer.rst b/doc/src/timer.rst index eac86656af..a604cc2212 100644 --- a/doc/src/timer.rst +++ b/doc/src/timer.rst @@ -81,7 +81,7 @@ which can be set with the *every* keyword. Default is checking every 10 steps. After the timer timeout has expired all subsequent run or minimize commands in the input script will be skipped. The remaining time or timer status can be accessed with the -:doc:`thermo ` variable *timeremain*\ , which will be +:doc:`thermo ` variable *timeremain*, which will be zero, if the timeout is inactive (default setting), it will be negative, if the timeout time is expired and positive if there is time remaining and in this case the value of the variable are diff --git a/doc/src/timestep.rst b/doc/src/timestep.rst index e512eed1b2..3142509611 100644 --- a/doc/src/timestep.rst +++ b/doc/src/timestep.rst @@ -30,7 +30,7 @@ each choice of units that LAMMPS supports. The default value for the timestep size also depends on the choice of units for the simulation; see the default values below. -When the :doc:`run style ` is *respa*\ , dt is the timestep for +When the :doc:`run style ` is *respa*, dt is the timestep for the outer loop (largest) timestep. Restrictions diff --git a/doc/src/units.rst b/doc/src/units.rst index 3c0f4a220a..da81c17078 100644 --- a/doc/src/units.rst +++ b/doc/src/units.rst @@ -29,7 +29,7 @@ and data file, as well as quantities output to the screen, log file, and dump files. Typically, this command is used at the very beginning of an input script. -For all units except *lj*\ , LAMMPS uses physical constants from +For all units except *lj*, LAMMPS uses physical constants from www.physics.nist.gov. For the definition of Kcal in real units, LAMMPS uses the thermochemical calorie = 4.184 J. @@ -60,7 +60,7 @@ automatic conversion has happened is printed to the screen. ---------- -For style *lj*\ , all quantities are unitless. Without loss of +For style *lj*, all quantities are unitless. Without loss of generality, LAMMPS sets the fundamental quantities mass, :math:`\sigma`, :math:`\epsilon`, and the Boltzmann constant :math:`k_B = 1`. The masses, distances, energies you specify are multiples of these @@ -97,7 +97,7 @@ energy/atom. Temperature is intensive since it is already normalized by the number of atoms, so it is output as-is. This behavior can be changed via the :doc:`thermo_modify norm ` command. -For style *real*\ , these are the units: +For style *real*, these are the units: * mass = grams/mole * distance = Angstroms @@ -114,7 +114,7 @@ For style *real*\ , these are the units: * electric field = volts/Angstrom * density = gram/cm\^dim -For style *metal*\ , these are the units: +For style *metal*, these are the units: * mass = grams/mole * distance = Angstroms @@ -131,7 +131,7 @@ For style *metal*\ , these are the units: * electric field = volts/Angstrom * density = gram/cm\^dim -For style *si*\ , these are the units: +For style *si*, these are the units: * mass = kilograms * distance = meters @@ -148,7 +148,7 @@ For style *si*\ , these are the units: * electric field = volts/meter * density = kilograms/meter\^dim -For style *cgs*\ , these are the units: +For style *cgs*, these are the units: * mass = grams * distance = centimeters @@ -165,7 +165,7 @@ For style *cgs*\ , these are the units: * electric field = statvolt/cm or dyne/esu * density = grams/cm\^dim -For style *electron*\ , these are the units: +For style *electron*, these are the units: * mass = atomic mass units * distance = Bohr @@ -179,7 +179,7 @@ For style *electron*\ , these are the units: * dipole moment = Debye * electric field = volts/cm -For style *micro*\ , these are the units: +For style *micro*, these are the units: * mass = picograms * distance = micrometers @@ -196,7 +196,7 @@ For style *micro*\ , these are the units: * electric field = volt/micrometer * density = picograms/micrometer\^dim -For style *nano*\ , these are the units: +For style *nano*, these are the units: * mass = attograms * distance = nanometers diff --git a/doc/src/variable.rst b/doc/src/variable.rst index f24c262e58..25861ae17b 100644 --- a/doc/src/variable.rst +++ b/doc/src/variable.rst @@ -189,7 +189,7 @@ executed. override a corresponding index variable setting in the input script. There are two exceptions to this rule. First, variables of style -*string*\ , *getenv*\ , *internal*\ , *equal*\ , *vector*\ , *atom*\ , and +*string*, *getenv*, *internal*, *equal*, *vector*, *atom*, and *python* ARE redefined each time the command is encountered. This allows these style of variables to be redefined multiple times in an input script. In a loop, this means the formula associated with an @@ -204,14 +204,14 @@ the same thing. ---------- -The :doc:`Commands parse ` doc page explains how +The :doc:`Commands parse ` page explains how occurrences of a variable name in an input script line are replaced by the variable's string. The variable name can be referenced as $x if the name "x" is a single character, or as ${LoopVar} if the name "LoopVar" is one or more characters. -As described below, for variable styles *index*\ , *loop*\ , *file*\ , -*universe*\ , and *uloop*\ , which string is assigned to a variable can be +As described below, for variable styles *index*, *loop*, *file*, +*universe*, and *uloop*, which string is assigned to a variable can be incremented via the :doc:`next ` command. When there are no more strings to assign, the variable is exhausted and a flag is set that causes the next :doc:`jump ` command encountered in the input @@ -439,7 +439,7 @@ compute, fix, or other vector-style variable. For *atom*\ -style variables the formula computes one quantity for each atom whenever it is evaluated. -Note that *equal*\ , *vector*\ , and *atom* variables can produce +Note that *equal*, *vector*, and *atom* variables can produce different values at different stages of the input script or at different times during a run. For example, if an *equal* variable is used in a :doc:`fix print ` command, different values could @@ -451,7 +451,7 @@ of Variables". The next command cannot be used with *equal* or *vector* or *atom* style variables, since there is only one string. -The formula for an *equal*\ , *vector*\ , or *atom* variable can contain a +The formula for an *equal*, *vector*, or *atom* variable can contain a variety of quantities. The syntax for each kind of quantity is simple, but multiple quantities can be nested and combined in various ways to build up formulas of arbitrary complexity. For example, this @@ -527,8 +527,8 @@ Numbers can contain digits, scientific notation (3.0e20,3.0e-20,3.0E20,3.0E-20), and leading minus signs. Constants are set at compile time and cannot be changed. *PI* will -return the number 3.14159265358979323846; *on*\ , *true* or *yes* will -return 1.0; *off*\ , *false* or *no* will return 0.0; *version* will +return the number 3.14159265358979323846; *on*, *true* or *yes* will +return 1.0; *off*, *false* or *no* will return 0.0; *version* will return a numeric version code of the current LAMMPS version (e.g. version 2 Sep 2015 will return the number 20150902). The corresponding value for newer versions of LAMMPS will be larger, for older versions @@ -788,7 +788,7 @@ Group and Region Functions Group functions are specified as keywords followed by one or two parenthesized arguments. The first argument *ID* is the group-ID. The *dim* argument, if it exists, is *x* or *y* or *z*\ . The *dir* -argument, if it exists, is *xmin*\ , *xmax*\ , *ymin*\ , *ymax*\ , *zmin*\ , or +argument, if it exists, is *xmin*, *xmax*, *ymin*, *ymax*, *zmin*, or *zmax*\ . The *dimdim* argument, if it exists, is *xx* or *yy* or *zz* or *xy* or *yz* or *xz*\ . @@ -958,21 +958,21 @@ Example 2: use r-RESPA with inner/outer cutoff, if supported by pair style, othe timestep $(2.0*(1.0+2.0*is_active(pair,respa)) if $(is_active(pair,respa)) then "run_style respa 4 3 2 2 improper 1 inner 2 5.5 7.0 outer 3 kspace 4" else "run_style respa 3 3 2 improper 1 pair 2 kspace 3" -The *is_defined()* function allows to query categories like *compute*\ , -*dump*\ , *fix*\ , *group*\ , *region*\ , and *variable* whether an entry +The *is_defined()* function allows to query categories like *compute*, +*dump*, *fix*, *group*, *region*, and *variable* whether an entry with the provided name or id is defined. The *is_available(category,name)* function allows to query whether a specific optional feature is available, i.e. compiled in. -This currently works for the following categories: *command*\ , -*compute*\ , *fix*\ , *pair_style* and *feature*\ . For all categories +This currently works for the following categories: *command*, +*compute*, *fix*, *pair_style* and *feature*\ . For all categories except *command* and *feature* also appending active suffixes is tried before reporting failure. The *feature* category is used to check the availability of compiled in features such as GZIP support, PNG support, JPEG support, FFMPEG support, and C++ exceptions for error handling. Corresponding values for name are -*gzip*\ , *png*\ , *jpeg*\ , *ffmpeg* and *exceptions*\ . +*gzip*, *png*, *jpeg*, *ffmpeg* and *exceptions*\ . This enables writing input scripts which only dump using a given format if the compiled binary supports it. @@ -1025,7 +1025,7 @@ Compute References Compute references access quantities calculated by a :doc:`compute `. The ID in the reference should be replaced by the ID of a compute defined elsewhere in the input script. As -discussed in the doc page for the :doc:`compute ` command, +discussed in the page for the :doc:`compute ` command, computes can produce global, per-atom, or local values. Only global and per-atom values can be used in a variable. Computes can also produce a scalar, vector, or array. @@ -1086,7 +1086,7 @@ Fix References Fix references access quantities calculated by a :doc:`fix `. The ID in the reference should be replaced by the ID of a fix defined -elsewhere in the input script. As discussed in the doc page for the +elsewhere in the input script. As discussed in the page for the :doc:`fix ` command, fixes can produce global, per-atom, or local values. Only global and per-atom values can be used in a variable. Fixes can also produce a scalar, vector, or array. An equal-style @@ -1198,7 +1198,7 @@ Immediate Evaluation of Variables If you want an equal-style variable to be evaluated immediately, it may be the case that you do not need to define a variable at all. See -the :doc:`Commands parse ` doc page for info on how to +the :doc:`Commands parse ` page for info on how to use "immediate" variables in an input script, specified as $(formula) with parenthesis, where the formula has the same syntax as equal-style variables described on this page. This effectively evaluates a diff --git a/doc/src/velocity.rst b/doc/src/velocity.rst index d8823d6b7e..0c8de5b854 100644 --- a/doc/src/velocity.rst +++ b/doc/src/velocity.rst @@ -115,7 +115,7 @@ body. All temperatures specified in the velocity command are in temperature units; see the :doc:`units ` command. The units of velocities and coordinates depend on whether the *units* keyword is set to *box* or -*lattice*\ , as discussed below. +*lattice*, as discussed below. For all styles, no atoms are assigned z-component velocities if the simulation is 2d; see the :doc:`dimension ` command. @@ -161,12 +161,12 @@ appropriate fix command must be specified before the velocity command is issued. The *bias* keyword with a *yes* setting is used by *create* and -*scale*\ , but only if the *temp* keyword is also used to specify a +*scale*, but only if the *temp* keyword is also used to specify a :doc:`compute ` that calculates temperature in a desired way. If the temperature compute also calculates a velocity bias, the bias is subtracted from atom velocities before the *create* and *scale* operations are performed. After the operations, the bias is -added back to the atom velocities. See the :doc:`Howto thermostat ` doc page for more discussion of +added back to the atom velocities. See the :doc:`Howto thermostat ` page for more discussion of temperature computes with biases. Note that the velocity bias is only applied to atoms in the temperature compute specified with the *temp* keyword. diff --git a/doc/src/write_data.rst b/doc/src/write_data.rst index 0aa26f8bbf..e14d1b7f4c 100644 --- a/doc/src/write_data.rst +++ b/doc/src/write_data.rst @@ -107,7 +107,7 @@ from :doc:`fix property/atom `. The *pair* keyword lets you specify in what format the pair coefficient information is written into the data file. If the value -is specified as *ii*\ , then one line per atom type is written, to +is specified as *ii*, then one line per atom type is written, to specify the coefficients for each of the I=J interactions. This means that no cross-interactions for I != J will be specified in the data file and the pair style will apply its mixing rule, as documented on @@ -116,7 +116,7 @@ behavior can be overridden in the input script after reading the data file, by specifying additional :doc:`pair_coeff ` commands for any desired I,J pairs. -If the value is specified as *ij*\ , then one line of coefficients is +If the value is specified as *ij*, then one line of coefficients is written for all I,J pairs where I <= J. These coefficients will include any specific settings made in the input script up to that point. The presence of these I != J coefficients in the data file diff --git a/src/EXTRA-PAIR/pair_coul_streitz.cpp b/src/KSPACE/pair_coul_streitz.cpp similarity index 100% rename from src/EXTRA-PAIR/pair_coul_streitz.cpp rename to src/KSPACE/pair_coul_streitz.cpp diff --git a/src/EXTRA-PAIR/pair_coul_streitz.h b/src/KSPACE/pair_coul_streitz.h similarity index 100% rename from src/EXTRA-PAIR/pair_coul_streitz.h rename to src/KSPACE/pair_coul_streitz.h From 0513ba2df53fac08189dcb89033c113fee769588 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 25 Jul 2021 20:28:14 -0400 Subject: [PATCH 530/726] spelling --- doc/src/Modify_contribute.rst | 2 +- doc/utils/sphinx-config/false_positives.txt | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/doc/src/Modify_contribute.rst b/doc/src/Modify_contribute.rst index caf31a9196..ff39773764 100644 --- a/doc/src/Modify_contribute.rst +++ b/doc/src/Modify_contribute.rst @@ -181,7 +181,7 @@ packages in the src directory for examples. If you are uncertain, please ask. and your name and email address at the top, like other user-contributed LAMMPS source files. They need to create a class that is inside the LAMMPS namespace. To simplify maintenance, we - may ask to adjust the progamming style and formatting style to closer + may ask to adjust the programming style and formatting style to closer match the rest of LAMMPS. We bundle a clang-format configuration file that can help with adjusting the formatting, although this is not a strict requirement. diff --git a/doc/utils/sphinx-config/false_positives.txt b/doc/utils/sphinx-config/false_positives.txt index 778fa93e84..c866a9409b 100644 --- a/doc/utils/sphinx-config/false_positives.txt +++ b/doc/utils/sphinx-config/false_positives.txt @@ -448,6 +448,7 @@ clo Clovertown cmake CMake +CMakeLists cmap Cmax cmd From 7e6a06b1cc76ed475419baf4073427bff5397185 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 25 Jul 2021 21:04:26 -0400 Subject: [PATCH 531/726] update Pizza.py URLs --- doc/src/Howto_viz.rst | 2 +- doc/src/Python_examples.rst | 4 ++-- doc/src/Tools.rst | 2 +- doc/src/balance.rst | 2 +- doc/src/dump.rst | 2 +- doc/src/dump_image.rst | 4 ++-- doc/src/fix_balance.rst | 2 +- 7 files changed, 9 insertions(+), 9 deletions(-) diff --git a/doc/src/Howto_viz.rst b/doc/src/Howto_viz.rst index 2eb009c185..bcad6dddec 100644 --- a/doc/src/Howto_viz.rst +++ b/doc/src/Howto_viz.rst @@ -25,7 +25,7 @@ RasMol visualization programs. Pizza.py has tools that do interactive 3d OpenGL visualization and one that creates SVG images of dump file snapshots. -.. _pizza: https://pizza.sandia.gov +.. _pizza: https://lammps.github.io/pizza .. _ensight: https://www.ansys.com/products/fluids/ansys-ensight diff --git a/doc/src/Python_examples.rst b/doc/src/Python_examples.rst index 7466b52ba9..fe5fe812c5 100644 --- a/doc/src/Python_examples.rst +++ b/doc/src/Python_examples.rst @@ -35,9 +35,9 @@ visualization package you have installed. Note that for GL, you need to be able to run the Pizza.py GL tool, which is included in the pizza sub-directory. See the Pizza.py doc pages for more info: -* `https://pizza.sandia.gov `_ +* `https://lammps.github.io/pizza `_ -.. _pizza: https://pizza.sandia.gov +.. _pizza: https://lammps.github.io/pizza Note that for AtomEye, you need version 3, and there is a line in the scripts that specifies the path and name of the executable. See the diff --git a/doc/src/Tools.rst b/doc/src/Tools.rst index e7cd87aa78..7eb6515fad 100644 --- a/doc/src/Tools.rst +++ b/doc/src/Tools.rst @@ -15,7 +15,7 @@ Sandia which provides tools for doing setup, analysis, plotting, and visualization for LAMMPS simulations. .. _lws: https://www.lammps.org -.. _pizza: https://pizza.sandia.gov +.. _pizza: https://lammps.github.io/pizza .. _python: https://www.python.org Additional tools included in the LAMMPS distribution are described on diff --git a/doc/src/balance.rst b/doc/src/balance.rst index 5d42fabb21..f7ae4c6bff 100644 --- a/doc/src/balance.rst +++ b/doc/src/balance.rst @@ -558,7 +558,7 @@ Related commands :doc:`group `, :doc:`processors `, :doc:`fix balance `, :doc:`comm_style ` -.. _pizza: https://pizza.sandia.gov +.. _pizza: https://lammps.github.io/pizza Default """"""" diff --git a/doc/src/dump.rst b/doc/src/dump.rst index a5f11a792a..b55cde650e 100644 --- a/doc/src/dump.rst +++ b/doc/src/dump.rst @@ -230,7 +230,7 @@ individual values and the file itself. The *atom*\ , *local*\ , and *custom* styles create files in a simple text format that is self-explanatory when viewing a dump file. Some of the LAMMPS post-processing tools described on the :doc:`Tools ` doc -page, including `Pizza.py `_, +page, including `Pizza.py `_, work with this format, as does the :doc:`rerun ` command. For post-processing purposes the *atom*\ , *local*\ , and *custom* text diff --git a/doc/src/dump_image.rst b/doc/src/dump_image.rst index 3923d5c2dc..291aeae9c3 100644 --- a/doc/src/dump_image.rst +++ b/doc/src/dump_image.rst @@ -590,8 +590,8 @@ Play the movie: % mplayer foo.mpg % ffplay bar.avi -* c) Use the `Pizza.py `_ - `animate tool `_, +* c) Use the `Pizza.py `_ + `animate tool `_, which works directly on a series of image files. .. code-block:: python diff --git a/doc/src/fix_balance.rst b/doc/src/fix_balance.rst index 8bab8ebefc..772f049461 100644 --- a/doc/src/fix_balance.rst +++ b/doc/src/fix_balance.rst @@ -403,7 +403,7 @@ Related commands :doc:`group `, :doc:`processors `, :doc:`balance `, :doc:`comm_style ` -.. _pizza: https://pizza.sandia.gov +.. _pizza: https://lammps.github.io/pizza Default """"""" From ef244c3061cd37614b0d6fc6693fddeffb22dfe8 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 25 Jul 2021 21:05:33 -0400 Subject: [PATCH 532/726] small updates to the introduction --- doc/src/Intro_features.rst | 23 +++++++++++++++-------- doc/src/Intro_nonfeatures.rst | 2 +- doc/src/Intro_overview.rst | 20 +++++++++++--------- 3 files changed, 27 insertions(+), 18 deletions(-) diff --git a/doc/src/Intro_features.rst b/doc/src/Intro_features.rst index 648c427b11..f1c04bdb23 100644 --- a/doc/src/Intro_features.rst +++ b/doc/src/Intro_features.rst @@ -24,11 +24,15 @@ General features ^^^^^^^^^^^^^^^^ * runs on a single processor or in parallel -* distributed-memory message-passing parallelism (MPI) -* spatial-decomposition of simulation domain for parallelism -* open-source distribution -* highly portable C++ -* optional libraries used: MPI and single-processor FFT +* distributed memory message-passing parallelism (MPI) +* shared memory multi-threading parallelism (OpenMP) +* spatial decomposition of simulation domain for MPI parallelism +* particle decomposition inside of spatial decomposition for OpenMP parallelism +* GPLv2 licensed open-source distribution +* highly portable C++-11 +* modular code with most functionality in optional packages +* only depends on MPI library for basic parallel functionality +* other libraries are optional and only required for specific packages * GPU (CUDA and OpenCL), Intel Xeon Phi, and OpenMP support for many code features * easy to extend with new features and functionality * runs from an input script @@ -68,9 +72,9 @@ Interatomic potentials (force fields) :doc:`improper style `, :doc:`kspace style ` commands) -* pairwise potentials: Lennard-Jones, Buckingham, Morse, Born-Mayer-Huggins, Yukawa, soft, class 2 (COMPASS), hydrogen bond, tabulated +* pairwise potentials: Lennard-Jones, Buckingham, Morse, Born-Mayer-Huggins, Yukawa, soft, class 2 (COMPASS), hydrogen bond, tabulated * charged pairwise potentials: Coulombic, point-dipole -* many-body potentials: EAM, Finnis/Sinclair EAM, modified EAM (MEAM), embedded ion method (EIM), EDIP, ADP, Stillinger-Weber, Tersoff, REBO, AIREBO, ReaxFF, COMB, SNAP, Streitz-Mintmire, 3-body polymorphic +* many-body potentials: EAM, Finnis/Sinclair EAM, modified EAM (MEAM), embedded ion method (EIM), EDIP, ADP, Stillinger-Weber, Tersoff, REBO, AIREBO, ReaxFF, COMB, SNAP, Streitz-Mintmire, 3-body polymorphic * long-range interactions for charge, point-dipoles, and LJ dispersion: Ewald, Wolf, PPPM (similar to particle-mesh Ewald) * polarization models: :doc:`QEq `, :doc:`core/shell model `, :doc:`Drude dipole model ` * charge equilibration (QEq via dynamic, point, shielded, Slater methods) @@ -170,9 +174,12 @@ Multi-replica models ^^^^^^^^^^^^^^^^^^^^ * :doc:`nudged elastic band ` +* :doc:`hyperdynamics ` * :doc:`parallel replica dynamics ` * :doc:`temperature accelerated dynamics ` * :doc:`parallel tempering ` +* :doc:`path-integral MD ` +* multi-walker collective variables with :doc:`Colvars ` and :doc:`Plumed ` .. _prepost: @@ -187,7 +194,7 @@ Pre- and post-processing plotting, and visualization for LAMMPS simulations. Pizza.py is written in `Python `_ and is available for download from `the Pizza.py WWW site `_. -.. _pizza: https://pizza.sandia.gov +.. _pizza: https://lammps.github.io/pizza .. _python: http://www.python.org diff --git a/doc/src/Intro_nonfeatures.rst b/doc/src/Intro_nonfeatures.rst index d034ccb443..af406a127e 100644 --- a/doc/src/Intro_nonfeatures.rst +++ b/doc/src/Intro_nonfeatures.rst @@ -77,7 +77,7 @@ Here are suggestions on how to perform these tasks: it easier to analyze and plot. See the :doc:`Tools ` doc page for more discussion of the various tools. * **Pizza.py:** Our group has also written a separate toolkit called - `Pizza.py `_ which can do certain kinds of + `Pizza.py `_ which can do certain kinds of setup, analysis, plotting, and visualization (via OpenGL) for LAMMPS simulations. It thus provides some functionality for several of the above bullets. Pizza.py is written in `Python `_ diff --git a/doc/src/Intro_overview.rst b/doc/src/Intro_overview.rst index 8ab85a0d99..8d8d4eae83 100644 --- a/doc/src/Intro_overview.rst +++ b/doc/src/Intro_overview.rst @@ -18,10 +18,11 @@ supercomputers. .. _mpi: https://en.wikipedia.org/wiki/Message_Passing_Interface .. _lws: https://www.lammps.org -LAMMPS is written in C++. Earlier versions were written in F77 and -F90. See the `History page `_ of -the website for details. All versions can be downloaded from the -`LAMMPS website `_. +LAMMPS is written in C++ and requires a compiler that is at least +compatible with the C++-11 standard. +Earlier versions were written in F77 and F90. See the `History page +`_ of the website for details. All +versions can be downloaded from the `LAMMPS website `_. LAMMPS is designed to be easy to modify or extend with new capabilities, such as new force fields, atom types, boundary @@ -41,8 +42,9 @@ short distances, so that the local density of particles never becomes too large. This is in contrast to methods used for modeling plasma or gravitational bodies (e.g. galaxy formation). -On parallel machines, LAMMPS uses spatial-decomposition techniques to -partition the simulation domain into small sub-domains of equal -computational cost, one of which is assigned to each processor. -Processors communicate and store "ghost" atom information for atoms -that border their sub-domain. +On parallel machines, LAMMPS uses spatial-decomposition techniques with +MPI parallelization to partition the simulation domain into small +sub-domains of equal computational cost, one of which is assigned to +each processor. Processors communicate and store "ghost" atom +information for atoms that border their sub-domain. Multi-threading +parallelization with with particle-decomposition can be used in addition. From 1fa621d02d3e4d9ba83de7fc7c9bdf829b155b62 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 25 Jul 2021 21:18:52 -0400 Subject: [PATCH 533/726] correct quoted screen output --- doc/src/Build_manual.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/src/Build_manual.rst b/doc/src/Build_manual.rst index a2683e773b..bd96a8dafb 100644 --- a/doc/src/Build_manual.rst +++ b/doc/src/Build_manual.rst @@ -204,9 +204,9 @@ be multiple tests run automatically: .. parsed-literal:: - Found 74 packages - Standard package NEWPACKAGE missing in Packages_standard.rst - Standard package NEWPACKAGE missing in Packages_details.rst + Found 88 packages + Package NEWPACKAGE missing in Packages_list.rst + Package NEWPACKAGE missing in Packages_details.rst - A test that only standard, printable ASCII text characters are used. This runs the command ``env LC_ALL=C grep -n '[^ -~]' src/*.rst`` and From cca17feb27c91944ef4a8e4a2ff6e5fa6e61e5f8 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 26 Jul 2021 12:31:09 -0400 Subject: [PATCH 534/726] silence compiler warnings, remove dead code --- src/DIELECTRIC/pppm_disp_dielectric.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/DIELECTRIC/pppm_disp_dielectric.cpp b/src/DIELECTRIC/pppm_disp_dielectric.cpp index bb00a74922..b6a82296b2 100644 --- a/src/DIELECTRIC/pppm_disp_dielectric.cpp +++ b/src/DIELECTRIC/pppm_disp_dielectric.cpp @@ -647,7 +647,6 @@ void PPPMDispDielectric::fieldforce_c_ad() // convert E-field to force and substract self forces const double qfactor = qqrd2e * scale; - double qtmp = eps[i]*q[i]; s1 = x[i][0]*hx_inv; s2 = x[i][1]*hy_inv; @@ -751,7 +750,7 @@ void PPPMDispDielectric::fieldforce_c_peratom() extended to non-neutral systems (J. Chem. Phys. 131, 094107). ------------------------------------------------------------------------- */ -void PPPMDispDielectric::slabcorr(int eflag) +void PPPMDispDielectric::slabcorr(int /*eflag*/) { // compute local contribution to global dipole moment From fefcd0e2af255056a0dc49a1604e02b9fa92a8c8 Mon Sep 17 00:00:00 2001 From: Mike Brown Date: Mon, 26 Jul 2021 11:22:21 -0700 Subject: [PATCH 535/726] Converting cilk vectorization directives to the openmp standard and changing some more depracated vector intrinsics. Data alignment directives for compiler vectorization are still mostly intel specific. --- src/INTEL/angle_charmm_intel.cpp | 8 + src/INTEL/angle_harmonic_intel.cpp | 8 + src/INTEL/bond_fene_intel.cpp | 8 + src/INTEL/bond_harmonic_intel.cpp | 8 + src/INTEL/dihedral_charmm_intel.cpp | 19 +- src/INTEL/dihedral_fourier_intel.cpp | 8 + src/INTEL/dihedral_harmonic_intel.cpp | 8 + src/INTEL/dihedral_opls_intel.cpp | 8 + src/INTEL/fix_intel.cpp | 32 ++- src/INTEL/fix_nh_intel.cpp | 66 ++++- src/INTEL/fix_nve_asphere_intel.cpp | 24 +- src/INTEL/fix_nve_intel.cpp | 36 ++- src/INTEL/improper_cvff_intel.cpp | 12 + src/INTEL/improper_harmonic_intel.cpp | 8 + src/INTEL/intel_intrinsics.h | 3 +- src/INTEL/intel_intrinsics_airebo.h | 36 +-- src/INTEL/intel_preprocess.h | 200 +++++++++++++++ src/INTEL/intel_simd.h | 239 +++++++++++------- src/INTEL/npair_full_bin_ghost_intel.cpp | 26 +- src/INTEL/npair_intel.cpp | 40 ++- src/INTEL/pair_buck_coul_cut_intel.cpp | 10 +- src/INTEL/pair_buck_coul_long_intel.cpp | 9 +- src/INTEL/pair_buck_intel.cpp | 10 +- src/INTEL/pair_dpd_intel.cpp | 9 +- src/INTEL/pair_eam_intel.cpp | 39 ++- src/INTEL/pair_gayberne_intel.cpp | 15 +- .../pair_lj_charmm_coul_charmm_intel.cpp | 9 +- src/INTEL/pair_lj_charmm_coul_long_intel.cpp | 9 +- src/INTEL/pair_lj_cut_coul_long_intel.cpp | 9 +- src/INTEL/pair_lj_cut_intel.cpp | 8 +- src/INTEL/pair_sw_intel.cpp | 6 +- src/INTEL/pppm_disp_intel.cpp | 214 +++++++++++++++- src/INTEL/pppm_intel.cpp | 58 ++++- 33 files changed, 1013 insertions(+), 189 deletions(-) diff --git a/src/INTEL/angle_charmm_intel.cpp b/src/INTEL/angle_charmm_intel.cpp index 29b7ec208b..26943934be 100644 --- a/src/INTEL/angle_charmm_intel.cpp +++ b/src/INTEL/angle_charmm_intel.cpp @@ -162,7 +162,11 @@ void AngleCharmmIntel::eval(const int vflag, if (VFLAG && vflag) { sv0 = sv1 = sv2 = sv3 = sv4 = sv5 = (acc_t)0.0; } +#if defined(USE_OMP_SIMD) + #pragma omp simd reduction(+:seangle, sv0, sv1, sv2, sv3, sv4, sv5) +#else #pragma simd reduction(+:seangle, sv0, sv1, sv2, sv3, sv4, sv5) +#endif for (int n = nfrom; n < nto; n ++) { #else for (int n = nfrom; n < nto; n += npl) { @@ -246,7 +250,11 @@ void AngleCharmmIntel::eval(const int vflag, // apply force to each of 3 atoms #ifdef LMP_INTEL_USE_SIMDOFF +#if defined(USE_OMP_SIMD) + #pragma omp ordered simd +#else #pragma simdoff +#endif #endif { if (NEWTON_BOND || i1 < nlocal) { diff --git a/src/INTEL/angle_harmonic_intel.cpp b/src/INTEL/angle_harmonic_intel.cpp index a2d8cc7d13..e392730edc 100644 --- a/src/INTEL/angle_harmonic_intel.cpp +++ b/src/INTEL/angle_harmonic_intel.cpp @@ -162,7 +162,11 @@ void AngleHarmonicIntel::eval(const int vflag, if (VFLAG && vflag) { sv0 = sv1 = sv2 = sv3 = sv4 = sv5 = (acc_t)0.0; } +#if defined(USE_OMP_SIMD) + #pragma omp simd reduction(+:seangle, sv0, sv1, sv2, sv3, sv4, sv5) +#else #pragma simd reduction(+:seangle, sv0, sv1, sv2, sv3, sv4, sv5) +#endif for (int n = nfrom; n < nto; n ++) { #else for (int n = nfrom; n < nto; n += npl) { @@ -228,7 +232,11 @@ void AngleHarmonicIntel::eval(const int vflag, // apply force to each of 3 atoms #ifdef LMP_INTEL_USE_SIMDOFF +#if defined(USE_OMP_SIMD) + #pragma omp ordered simd +#else #pragma simdoff +#endif #endif { if (NEWTON_BOND || i1 < nlocal) { diff --git a/src/INTEL/bond_fene_intel.cpp b/src/INTEL/bond_fene_intel.cpp index 44a8c0d3cf..1ab8da68d9 100644 --- a/src/INTEL/bond_fene_intel.cpp +++ b/src/INTEL/bond_fene_intel.cpp @@ -158,7 +158,11 @@ void BondFENEIntel::eval(const int vflag, if (VFLAG && vflag) { sv0 = sv1 = sv2 = sv3 = sv4 = sv5 = (acc_t)0.0; } +#if defined(USE_OMP_SIMD) + #pragma omp simd reduction(+:sebond, sv0, sv1, sv2, sv3, sv4, sv5) +#else #pragma simd reduction(+:sebond, sv0, sv1, sv2, sv3, sv4, sv5) +#endif for (int n = nfrom; n < nto; n ++) { #else for (int n = nfrom; n < nto; n += npl) { @@ -215,7 +219,11 @@ void BondFENEIntel::eval(const int vflag, // apply force to each of 2 atoms #ifdef LMP_INTEL_USE_SIMDOFF +#if defined(USE_OMP_SIMD) + #pragma omp ordered simd +#else #pragma simdoff +#endif #endif { if (NEWTON_BOND || i1 < nlocal) { diff --git a/src/INTEL/bond_harmonic_intel.cpp b/src/INTEL/bond_harmonic_intel.cpp index a37ae091a0..35b194f0fa 100644 --- a/src/INTEL/bond_harmonic_intel.cpp +++ b/src/INTEL/bond_harmonic_intel.cpp @@ -155,7 +155,11 @@ void BondHarmonicIntel::eval(const int vflag, if (VFLAG && vflag) { sv0 = sv1 = sv2 = sv3 = sv4 = sv5 = (acc_t)0.0; } +#if defined(USE_OMP_SIMD) + #pragma omp simd reduction(+:sebond, sv0, sv1, sv2, sv3, sv4, sv5) +#else #pragma simd reduction(+:sebond, sv0, sv1, sv2, sv3, sv4, sv5) +#endif for (int n = nfrom; n < nto; n ++) { #else for (int n = nfrom; n < nto; n += npl) { @@ -184,7 +188,11 @@ void BondHarmonicIntel::eval(const int vflag, // apply force to each of 2 atoms #ifdef LMP_INTEL_USE_SIMDOFF +#if defined(USE_OMP_SIMD) + #pragma omp ordered simd +#else #pragma simdoff +#endif #endif { if (NEWTON_BOND || i1 < nlocal) { diff --git a/src/INTEL/dihedral_charmm_intel.cpp b/src/INTEL/dihedral_charmm_intel.cpp index a317be00fb..4116d9134f 100644 --- a/src/INTEL/dihedral_charmm_intel.cpp +++ b/src/INTEL/dihedral_charmm_intel.cpp @@ -181,9 +181,16 @@ void DihedralCharmmIntel::eval(const int vflag, } #if defined(LMP_SIMD_COMPILER_TEST) - #pragma vector aligned +#if defined(USE_OMP_SIMD) + #pragma omp simd reduction(+:sedihedral, sevdwl, secoul, sv0, sv1, sv2, \ + sv3, sv4, sv5, spv0, spv1, spv2, spv3, spv4, \ + spv5) +#else #pragma simd reduction(+:sedihedral, sevdwl, secoul, sv0, sv1, sv2, \ - sv3, sv4, sv5, spv0, spv1, spv2, spv3, spv4, spv5) + sv3, sv4, sv5, spv0, spv1, spv2, spv3, spv4, \ + spv5) +#endif + #pragma vector aligned for (int n = nfrom; n < nto; n++) { #endif for (int n = nfrom; n < nto; n += npl) { @@ -329,7 +336,11 @@ void DihedralCharmmIntel::eval(const int vflag, #if defined(LMP_SIMD_COMPILER_TEST) +#if defined(USE_OMP_SIMD) + #pragma omp ordered simd +#else #pragma simdoff +#endif #endif { if (NEWTON_BOND || i2 < nlocal) { @@ -408,7 +419,11 @@ void DihedralCharmmIntel::eval(const int vflag, // apply force to each of 4 atoms #if defined(LMP_SIMD_COMPILER_TEST) +#if defined(USE_OMP_SIMD) + #pragma omp ordered simd +#else #pragma simdoff +#endif #endif { if (NEWTON_BOND || i1 < nlocal) { diff --git a/src/INTEL/dihedral_fourier_intel.cpp b/src/INTEL/dihedral_fourier_intel.cpp index 4d44ea36d2..d952ac7506 100644 --- a/src/INTEL/dihedral_fourier_intel.cpp +++ b/src/INTEL/dihedral_fourier_intel.cpp @@ -154,7 +154,11 @@ void DihedralFourierIntel::eval(const int vflag, if (VFLAG && vflag) { sv0 = sv1 = sv2 = sv3 = sv4 = sv5 = (acc_t)0.0; } +#if defined(USE_OMP_SIMD) + #pragma omp simd reduction(+:sedihedral, sv0, sv1, sv2, sv3, sv4, sv5) +#else #pragma simd reduction(+:sedihedral, sv0, sv1, sv2, sv3, sv4, sv5) +#endif for (int n = nfrom; n < nto; n ++) { #else for (int n = nfrom; n < nto; n += npl) { @@ -304,7 +308,11 @@ void DihedralFourierIntel::eval(const int vflag, } #ifdef LMP_INTEL_USE_SIMDOFF +#if defined(USE_OMP_SIMD) + #pragma omp ordered simd +#else #pragma simdoff +#endif #endif { if (NEWTON_BOND || i1 < nlocal) { diff --git a/src/INTEL/dihedral_harmonic_intel.cpp b/src/INTEL/dihedral_harmonic_intel.cpp index f7009689c7..df9304b6ba 100644 --- a/src/INTEL/dihedral_harmonic_intel.cpp +++ b/src/INTEL/dihedral_harmonic_intel.cpp @@ -154,7 +154,11 @@ void DihedralHarmonicIntel::eval(const int vflag, if (VFLAG && vflag) { sv0 = sv1 = sv2 = sv3 = sv4 = sv5 = (acc_t)0.0; } +#if defined(USE_OMP_SIMD) + #pragma omp simd reduction(+:sedihedral, sv0, sv1, sv2, sv3, sv4, sv5) +#else #pragma simd reduction(+:sedihedral, sv0, sv1, sv2, sv3, sv4, sv5) +#endif for (int n = nfrom; n < nto; n ++) { #else for (int n = nfrom; n < nto; n += npl) { @@ -299,7 +303,11 @@ void DihedralHarmonicIntel::eval(const int vflag, } #ifdef LMP_INTEL_USE_SIMDOFF +#if defined(USE_OMP_SIMD) + #pragma omp ordered simd +#else #pragma simdoff +#endif #endif { if (NEWTON_BOND || i1 < nlocal) { diff --git a/src/INTEL/dihedral_opls_intel.cpp b/src/INTEL/dihedral_opls_intel.cpp index ab007dad8c..89f06773d5 100644 --- a/src/INTEL/dihedral_opls_intel.cpp +++ b/src/INTEL/dihedral_opls_intel.cpp @@ -158,7 +158,11 @@ void DihedralOPLSIntel::eval(const int vflag, if (VFLAG && vflag) { sv0 = sv1 = sv2 = sv3 = sv4 = sv5 = (acc_t)0.0; } +#if defined(USE_OMP_SIMD) + #pragma omp simd reduction(+:sedihedral, sv0, sv1, sv2, sv3, sv4, sv5) +#else #pragma simd reduction(+:sedihedral, sv0, sv1, sv2, sv3, sv4, sv5) +#endif for (int n = nfrom; n < nto; n ++) { #else for (int n = nfrom; n < nto; n += npl) { @@ -319,7 +323,11 @@ void DihedralOPLSIntel::eval(const int vflag, } #ifdef LMP_INTEL_USE_SIMDOFF +#if defined(USE_OMP_SIMD) + #pragma omp ordered simd +#else #pragma simdoff +#endif #endif { if (NEWTON_BOND || i1 < nlocal) { diff --git a/src/INTEL/fix_intel.cpp b/src/INTEL/fix_intel.cpp index 59eea4961a..d0633d7791 100644 --- a/src/INTEL/fix_intel.cpp +++ b/src/INTEL/fix_intel.cpp @@ -635,19 +635,31 @@ void FixIntel::reduce_results(acc_t * _noalias const f_scalar) if (_nthreads == 4) { acc_t *f_scalar3 = f_scalar2 + f_stride4; acc_t *f_scalar4 = f_scalar3 + f_stride4; - _use_simd_pragma("vector aligned") - _use_simd_pragma("simd") + #if defined(USE_OMP_SIMD) + #pragma omp simd aligned(f_scalar,f_scalar2,f_scalar3,f_scalar4:64) + #elif defined(LMP_SIMD_COMPILER) + #pragma vector aligned + #pragma simd + #endif for (int n = 0; n < o_range; n++) f_scalar[n] += f_scalar2[n] + f_scalar3[n] + f_scalar4[n]; } else if (_nthreads == 2) { - _use_simd_pragma("vector aligned") - _use_simd_pragma("simd") + #if defined(USE_OMP_SIMD) + #pragma omp simd aligned(f_scalar,f_scalar2:64) + #elif defined(LMP_SIMD_COMPILER) + #pragma vector aligned + #pragma simd + #endif for (int n = 0; n < o_range; n++) f_scalar[n] += f_scalar2[n]; } else { acc_t *f_scalar3 = f_scalar2 + f_stride4; - _use_simd_pragma("vector aligned") - _use_simd_pragma("simd") + #if defined(USE_OMP_SIMD) + #pragma omp simd aligned(f_scalar,f_scalar2,f_scalar3:64) + #elif defined(LMP_SIMD_COMPILER) + #pragma vector aligned + #pragma simd + #endif for (int n = 0; n < o_range; n++) f_scalar[n] += f_scalar2[n] + f_scalar3[n]; } @@ -662,8 +674,12 @@ void FixIntel::reduce_results(acc_t * _noalias const f_scalar) acc_t *f_scalar2 = f_scalar + f_stride4; for (int t = 1; t < _nthreads; t++) { - _use_simd_pragma("vector aligned") - _use_simd_pragma("simd") + #if defined(USE_OMP_SIMD) + #pragma omp simd aligned(f_scalar,f_scalar2:64) + #elif defined(LMP_SIMD_COMPILER) + #pragma vector aligned + #pragma simd + #endif for (int n = iifrom; n < iito; n++) f_scalar[n] += f_scalar2[n]; f_scalar2 += f_stride4; diff --git a/src/INTEL/fix_nh_intel.cpp b/src/INTEL/fix_nh_intel.cpp index 5370e3a13f..a4fdecbd96 100644 --- a/src/INTEL/fix_nh_intel.cpp +++ b/src/INTEL/fix_nh_intel.cpp @@ -99,8 +99,12 @@ void FixNHIntel::remap() if (allremap) { #if defined(LMP_SIMD_COMPILER) - #pragma vector aligned +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif + #pragma vector aligned #endif for (int i = 0; i < nlocal; i++) { const double d0 = x[i].x - b0; @@ -112,8 +116,12 @@ void FixNHIntel::remap() } } else { #if defined(LMP_SIMD_COMPILER) - #pragma vector aligned +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif + #pragma vector aligned #endif for (int i = 0; i < nlocal; i++) { if (mask[i] & dilate_group_bit) { @@ -278,8 +286,12 @@ void FixNHIntel::remap() if (allremap) { #if defined(LMP_SIMD_COMPILER) - #pragma vector aligned +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif + #pragma vector aligned #endif for (int i = 0; i < nlocal; i++) { x[i].x = h0*x[i].x + h5*x[i].y + h4*x[i].z + nb0; @@ -288,8 +300,12 @@ void FixNHIntel::remap() } } else { #if defined(LMP_SIMD_COMPILER) - #pragma vector aligned +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif + #pragma vector aligned #endif for (int i = 0; i < nlocal; i++) { if (mask[i] & dilate_group_bit) { @@ -415,8 +431,12 @@ void FixNHIntel::nh_v_press() if (igroup == 0) { #if defined(LMP_SIMD_COMPILER) - #pragma vector aligned +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif + #pragma vector aligned #endif for (int i = 0; i < nlocal; i++) { v[i].x *= f0; @@ -425,8 +445,12 @@ void FixNHIntel::nh_v_press() } } else { #if defined(LMP_SIMD_COMPILER) - #pragma vector aligned +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif + #pragma vector aligned #endif for (int i = 0; i < nlocal; i++) { if (mask[i] & groupbit) { @@ -448,8 +472,12 @@ void FixNHIntel::nve_v() double * _noalias const v = atom->v[0]; const double * _noalias const f = atom->f[0]; #if defined(LMP_SIMD_COMPILER) - #pragma vector aligned +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif + #pragma vector aligned #endif for (int i = 0; i < _nlocal3; i++) v[i] += _dtfm[i] * f[i]; @@ -468,15 +496,23 @@ void FixNHIntel::nve_x() if (igroup == 0) { #if defined(LMP_SIMD_COMPILER) - #pragma vector aligned +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif + #pragma vector aligned #endif for (int i = 0; i < _nlocal3; i++) x[i] += dtv * v[i]; } else { #if defined(LMP_SIMD_COMPILER) - #pragma vector aligned +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif + #pragma vector aligned #endif for (int i = 0; i < _nlocal3; i++) { if (_dtfm[i] != 0.0) @@ -500,15 +536,23 @@ void FixNHIntel::nh_v_temp() if (igroup == 0) { #if defined(LMP_SIMD_COMPILER) - #pragma vector aligned +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif + #pragma vector aligned #endif for (int i = 0; i < _nlocal3; i++) v[i] *= factor_eta; } else { #if defined(LMP_SIMD_COMPILER) - #pragma vector aligned +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif + #pragma vector aligned #endif for (int i = 0; i < _nlocal3; i++) { if (_dtfm[i] != 0.0) diff --git a/src/INTEL/fix_nve_asphere_intel.cpp b/src/INTEL/fix_nve_asphere_intel.cpp index 78504c237a..eda8b48a67 100644 --- a/src/INTEL/fix_nve_asphere_intel.cpp +++ b/src/INTEL/fix_nve_asphere_intel.cpp @@ -97,8 +97,12 @@ void FixNVEAsphereIntel::initial_integrate(int /*vflag*/) dtq = 0.5 * dtv; #if defined(LMP_SIMD_COMPILER) - #pragma vector aligned +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif + #pragma vector aligned #endif for (int i = 0; i < _nlocal3; i++) { v[i] += _dtfm[i] * f[i]; @@ -108,8 +112,12 @@ void FixNVEAsphereIntel::initial_integrate(int /*vflag*/) // update angular momentum by 1/2 step if (igroup == 0) { #if defined(LMP_SIMD_COMPILER) - #pragma vector aligned +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif + #pragma vector aligned #endif for (int i = 0; i < nlocal; i++) { double *quat = bonus[ellipsoid[i]].quat; @@ -118,8 +126,12 @@ void FixNVEAsphereIntel::initial_integrate(int /*vflag*/) } } else { #if defined(LMP_SIMD_COMPILER) - #pragma vector aligned +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif + #pragma vector aligned #endif for (int i = 0; i < nlocal; i++) { if (mask[i] & groupbit) { @@ -143,8 +155,12 @@ void FixNVEAsphereIntel::final_integrate() const double * _noalias const torque = atom->torque[0]; #if defined(LMP_SIMD_COMPILER) - #pragma vector aligned +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif + #pragma vector aligned #endif for (int i = 0; i < _nlocal3; i++) { v[i] += _dtfm[i] * f[i]; diff --git a/src/INTEL/fix_nve_intel.cpp b/src/INTEL/fix_nve_intel.cpp index fb90946da0..9670af65c2 100644 --- a/src/INTEL/fix_nve_intel.cpp +++ b/src/INTEL/fix_nve_intel.cpp @@ -68,8 +68,12 @@ void FixNVEIntel::initial_integrate(int /*vflag*/) if (igroup == 0 && atom->ntypes == 1 && !atom->rmass) { const double dtfm = dtf / atom->mass[1]; #if defined(LMP_SIMD_COMPILER) - #pragma vector aligned +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif + #pragma vector aligned #endif for (int i = 0; i < _nlocal3; i++) { v[i] += dtfm * f[i]; @@ -78,8 +82,12 @@ void FixNVEIntel::initial_integrate(int /*vflag*/) } else if (igroup == 0) { if (neighbor->ago == 0) reset_dt(); #if defined(LMP_SIMD_COMPILER) - #pragma vector aligned +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif + #pragma vector aligned #endif for (int i = 0; i < _nlocal3; i++) { v[i] += _dtfm[i] * f[i]; @@ -88,8 +96,12 @@ void FixNVEIntel::initial_integrate(int /*vflag*/) } else { if (neighbor->ago == 0) reset_dt(); #if defined(LMP_SIMD_COMPILER) - #pragma vector aligned +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif + #pragma vector aligned #endif for (int i = 0; i < _nlocal3; i++) { if (_dtfm[i] != 0.0) { @@ -112,16 +124,24 @@ void FixNVEIntel::final_integrate() _nlocal3 = 3 * atom->nlocal; const double dtfm = dtf / atom->mass[1]; #if defined(LMP_SIMD_COMPILER) - #pragma vector aligned +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif + #pragma vector aligned #endif for (int i = 0; i < _nlocal3; i++) v[i] += dtfm * f[i]; } else if (igroup == 0) { if (neighbor->ago == 0) reset_dt(); #if defined(LMP_SIMD_COMPILER) - #pragma vector aligned +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif + #pragma vector aligned #endif for (int i = 0; i < _nlocal3; i++) { v[i] += _dtfm[i] * f[i]; @@ -129,8 +149,12 @@ void FixNVEIntel::final_integrate() } else { if (neighbor->ago == 0) reset_dt(); #if defined(LMP_SIMD_COMPILER) - #pragma vector aligned +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif + #pragma vector aligned #endif for (int i = 0; i < _nlocal3; i++) v[i] += _dtfm[i] * f[i]; diff --git a/src/INTEL/improper_cvff_intel.cpp b/src/INTEL/improper_cvff_intel.cpp index 62dcde36b9..4d473de7aa 100644 --- a/src/INTEL/improper_cvff_intel.cpp +++ b/src/INTEL/improper_cvff_intel.cpp @@ -165,7 +165,11 @@ void ImproperCvffIntel::eval(const int vflag, if (VFLAG && vflag) { sv0 = sv1 = sv2 = sv3 = sv4 = sv5 = (acc_t)0.0; } +#if defined(USE_OMP_SIMD) + #pragma omp simd reduction(+:seimproper, sv0, sv1, sv2, sv3, sv4, sv5) +#else #pragma simd reduction(+:seimproper, sv0, sv1, sv2, sv3, sv4, sv5) +#endif for (int n = nfrom; n < nto; n++) { #else for (int n = nfrom; n < nto; n += npl) { @@ -247,7 +251,11 @@ void ImproperCvffIntel::eval(const int vflag, flt_t p, pd; #ifdef LMP_INTEL_USE_SIMDOFF_FIX +#if defined(USE_OMP_SIMD) + #pragma omp ordered simd +#else #pragma simdoff +#endif #endif { if (m == 2) { @@ -319,7 +327,11 @@ void ImproperCvffIntel::eval(const int vflag, // apply force to each of 4 atoms #ifdef LMP_INTEL_USE_SIMDOFF_FIX +#if defined(USE_OMP_SIMD) + #pragma omp ordered simd +#else #pragma simdoff +#endif #endif { if (NEWTON_BOND || i1 < nlocal) { diff --git a/src/INTEL/improper_harmonic_intel.cpp b/src/INTEL/improper_harmonic_intel.cpp index b3d4c342d9..1a637fa1a6 100644 --- a/src/INTEL/improper_harmonic_intel.cpp +++ b/src/INTEL/improper_harmonic_intel.cpp @@ -167,7 +167,11 @@ void ImproperHarmonicIntel::eval(const int vflag, if (VFLAG && vflag) { sv0 = sv1 = sv2 = sv3 = sv4 = sv5 = (acc_t)0.0; } +#if defined(USE_OMP_SIMD) + #pragma omp simd reduction(+:seimproper, sv0, sv1, sv2, sv3, sv4, sv5) +#else #pragma simd reduction(+:seimproper, sv0, sv1, sv2, sv3, sv4, sv5) +#endif for (int n = nfrom; n < nto; n++) { #else for (int n = nfrom; n < nto; n += npl) { @@ -276,7 +280,11 @@ void ImproperHarmonicIntel::eval(const int vflag, // apply force to each of 4 atoms #ifdef LMP_INTEL_USE_SIMDOFF +#if defined(USE_OMP_SIMD) + #pragma omp ordered simd +#else #pragma simdoff +#endif #endif { if (NEWTON_BOND || i1 < nlocal) { diff --git a/src/INTEL/intel_intrinsics.h b/src/INTEL/intel_intrinsics.h index 295310283d..567f04c5dc 100644 --- a/src/INTEL/intel_intrinsics.h +++ b/src/INTEL/intel_intrinsics.h @@ -127,7 +127,8 @@ struct vector_ops { } template static fvec gather(const fvec &from, bvec mask, const ivec &idx, const void *base) { - return _mm512_mask_i32logather_pd(from, mask, idx, base, scale); + return _mm512_mask_i32gather_pd(from, mask, _mm512_castsi512_si256(idx), + base, scale); } static fvec blend(const bvec &mask, const fvec &a, const fvec &b) { return _mm512_mask_blend_pd(mask, a, b); diff --git a/src/INTEL/intel_intrinsics_airebo.h b/src/INTEL/intel_intrinsics_airebo.h index ac58ca2438..ea29888ea1 100644 --- a/src/INTEL/intel_intrinsics_airebo.h +++ b/src/INTEL/intel_intrinsics_airebo.h @@ -511,7 +511,8 @@ public: const int scale) { assert(scale == sizeof(FVEC_SCAL_T)); # if FVEC_LEN==8 - return FVEC_SUFFIX(_mm512_i32logather_)(idx.val_, mem, sizeof(FVEC_SCAL_T)); + return FVEC_SUFFIX(_mm512_i32gather_)(_mm512_castsi512_si256(idx.val_), + mem, sizeof(FVEC_SCAL_T)); # else return FVEC_SUFFIX(_mm512_i32gather_)(idx.val_, mem, sizeof(FVEC_SCAL_T)); # endif @@ -522,8 +523,8 @@ public: ) { assert(scale == sizeof(FVEC_SCAL_T)); # if FVEC_LEN==8 - return FVEC_SUFFIX(_mm512_mask_i32logather_)(src.val_, mask.val_, idx.val_, - mem, sizeof(FVEC_SCAL_T)); + return FVEC_SUFFIX(_mm512_mask_i32gather_)(src.val_, mask.val_, + _mm512_castsi512_si256(idx.val_), mem, sizeof(FVEC_SCAL_T)); # else return FVEC_SUFFIX(_mm512_mask_i32gather_)(src.val_, mask.val_, idx.val_, mem, sizeof(FVEC_SCAL_T)); @@ -609,8 +610,8 @@ public: ) { assert(scale == sizeof(FVEC_SCAL_T)); # if FVEC_LEN==8 - return FVEC_SUFFIX(_mm512_mask_i32logather_)(src.val_, mask.val_, idx.val_, - mem, sizeof(FVEC_SCAL_T)); + return FVEC_SUFFIX(_mm512_mask_i32gather_)(src.val_, mask.val_, + _mm512_castsi512_si256(idx.val_), mem, sizeof(FVEC_SCAL_T)); # else return FVEC_SUFFIX(_mm512_mask_i32gather_)(src.val_, mask.val_, idx.val_, mem, sizeof(FVEC_SCAL_T)); @@ -622,8 +623,9 @@ public: ) { assert(scale == sizeof(FVEC_SCAL_T)); # if FVEC_LEN==8 - FVEC_SUFFIX(_mm512_mask_i32loscatter_)(mem, mask.val_, idx.val_, a.val_, - sizeof(FVEC_SCAL_T)); + FVEC_SUFFIX(_mm512_mask_i32scatter_)(mem, mask.val_, + _mm512_castsi512_si256(idx.val_), + a.val_, sizeof(FVEC_SCAL_T)); # else FVEC_SUFFIX(_mm512_mask_i32scatter_)(mem, mask.val_, idx.val_, a.val_, sizeof(FVEC_SCAL_T)); @@ -666,11 +668,11 @@ public: const double * mem, const int scale ) { assert(scale == sizeof(double)); - __m512d lo = _mm512_mask_i32logather_pd(src.lo_, mask.val_, idx.val_, mem, - sizeof(double)); - __m512d hi = _mm512_mask_i32logather_pd(src.hi_, get_bvec_hi(mask.val_), - get_ivec_hi(idx.val_), mem, - sizeof(double)); + __m512d lo = _mm512_mask_i32gather_pd(src.lo_, mask.val_, + _mm512_castsi512_si256(idx.val_), + mem, sizeof(double)); + __m512d hi = _mm512_mask_i32gather_pd(src.hi_, get_bvec_hi(mask.val_), + _mm512_castsi512_si256(get_ivec_hi(idx.val_)), mem, sizeof(double)); return avec16pd(lo, hi); } VEC_INLINE static void mask_i32loscatter( @@ -678,10 +680,12 @@ public: const avec16pd &a, const int scale ) { assert(scale == sizeof(double)); - _mm512_mask_i32loscatter_pd(mem, mask.val_, idx.val_, a.lo_, - sizeof(double)); - _mm512_mask_i32loscatter_pd(mem, get_bvec_hi(mask.val_), - get_ivec_hi(idx.val_), a.hi_, sizeof(double)); + _mm512_mask_i32scatter_pd(mem, mask.val_, + _mm512_castsi512_si256(idx.val_), a.lo_, + sizeof(double)); + _mm512_mask_i32scatter_pd(mem, get_bvec_hi(mask.val_), + _mm512_castsi512_si256(get_ivec_hi(idx.val_)), + a.hi_, sizeof(double)); } #define AVEC2_BINOP(the_sym, the_name) \ diff --git a/src/INTEL/intel_preprocess.h b/src/INTEL/intel_preprocess.h index 0bec9935db..41c91d1578 100644 --- a/src/INTEL/intel_preprocess.h +++ b/src/INTEL/intel_preprocess.h @@ -17,8 +17,13 @@ ------------------------------------------------------------------------- */ #ifdef __INTEL_LLVM_COMPILER +#define USE_OMP_SIMD #define __INTEL_COMPILER __INTEL_LLVM_COMPILER #define __INTEL_COMPILER_BUILD_DATE __INTEL_LLVM_COMPILER +#define _MM_SCALE_1 1 +#define _MM_SCALE_2 2 +#define _MM_SCALE_4 4 +#define _MM_SCALE_8 8 #endif #ifdef __INTEL_COMPILER @@ -332,6 +337,9 @@ enum {TIME_PACK, TIME_HOST_NEIGHBOR, TIME_HOST_PAIR, TIME_OFFLOAD_NEIGHBOR, #endif +// TO BE DEPRECATED +#ifndef USE_OMP_SIMD + #define IP_PRE_fdotr_acc_force_l5(lf, lt, minlocal, nthreads, f_start, \ f_stride, pos, ov0, ov1, ov2, \ ov3, ov4, ov5) \ @@ -526,6 +534,198 @@ enum {TIME_PACK, TIME_HOST_NEIGHBOR, TIME_HOST_PAIR, TIME_OFFLOAD_NEIGHBOR, } \ } +#else + +#define IP_PRE_fdotr_acc_force_l5(lf, lt, minlocal, nthreads, f_start, \ + f_stride, pos, ov0, ov1, ov2, \ + ov3, ov4, ov5) \ +{ \ + acc_t *f_scalar = &f_start[0].x; \ + flt_t *x_scalar = &pos[minlocal].x; \ + int f_stride4 = f_stride * 4; \ + _alignvar(acc_t ovv[16],64); \ + int vwidth; \ + if (sizeof(acc_t) == sizeof(double)) \ + vwidth = INTEL_COMPILE_WIDTH/2; \ + else \ + vwidth = INTEL_COMPILE_WIDTH; \ + if (vwidth < 4) vwidth = 4; \ + _use_simd_pragma("omp simd aligned(ovv:64)") \ + for (int v = 0; v < vwidth; v++) ovv[v] = (acc_t)0.0; \ + int remainder = lt % vwidth; \ + if (lf > lt) remainder = 0; \ + const int v_range = lt - remainder; \ + if (nthreads == 2) { \ + acc_t *f_scalar2 = f_scalar + f_stride4; \ + for (int n = lf; n < v_range; n += vwidth) { \ + _use_simd_pragma("omp simd aligned(f_scalar,f_scalar2,ovv,x_scalar:64)")\ + for (int v = 0; v < vwidth; v++) { \ + f_scalar[n+v] += f_scalar2[n+v]; \ + ovv[v] += f_scalar[n+v] * x_scalar[n+v]; \ + } \ + ov3 += f_scalar[n+1] * x_scalar[n+0]; \ + ov4 += f_scalar[n+2] * x_scalar[n+0]; \ + ov5 += f_scalar[n+2] * x_scalar[n+1]; \ + if (vwidth > 4) { \ + ov3 += f_scalar[n+5] * x_scalar[n+4]; \ + ov4 += f_scalar[n+6] * x_scalar[n+4]; \ + ov5 += f_scalar[n+6] * x_scalar[n+5]; \ + } \ + if (vwidth > 8) { \ + ov3 += f_scalar[n+9] * x_scalar[n+8]; \ + ov3 += f_scalar[n+13] * x_scalar[n+12]; \ + ov4 += f_scalar[n+10] * x_scalar[n+8]; \ + ov4 += f_scalar[n+14] * x_scalar[n+12]; \ + ov5 += f_scalar[n+10] * x_scalar[n+9]; \ + ov5 += f_scalar[n+14] * x_scalar[n+13]; \ + } \ + } \ + _use_simd_pragma("vector aligned") \ + _use_simd_pragma("ivdep") \ + _use_simd_pragma("loop_count min(4) max(INTEL_COMPILE_WIDTH)") \ + for (int n = v_range; n < lt; n++) \ + f_scalar[n] += f_scalar2[n]; \ + } else if (nthreads==4) { \ + acc_t *f_scalar2 = f_scalar + f_stride4; \ + acc_t *f_scalar3 = f_scalar2 + f_stride4; \ + acc_t *f_scalar4 = f_scalar3 + f_stride4; \ + for (int n = lf; n < v_range; n += vwidth) { \ + _use_simd_pragma("omp simd aligned(f_scalar,f_scalar2,f_scalar3,f_scalar4,ovv:64)") \ + for (int v = 0; v < vwidth; v++) { \ + f_scalar[n+v] += f_scalar2[n+v] + f_scalar3[n+v] + \ + f_scalar4[n+v]; \ + ovv[v] += f_scalar[n+v] * x_scalar[n+v]; \ + } \ + ov3 += f_scalar[n+1] * x_scalar[n+0]; \ + ov4 += f_scalar[n+2] * x_scalar[n+0]; \ + ov5 += f_scalar[n+2] * x_scalar[n+1]; \ + if (vwidth > 4) { \ + ov3 += f_scalar[n+5] * x_scalar[n+4]; \ + ov4 += f_scalar[n+6] * x_scalar[n+4]; \ + ov5 += f_scalar[n+6] * x_scalar[n+5]; \ + } \ + if (vwidth > 8) { \ + ov3 += f_scalar[n+9] * x_scalar[n+8]; \ + ov3 += f_scalar[n+13] * x_scalar[n+12]; \ + ov4 += f_scalar[n+10] * x_scalar[n+8]; \ + ov4 += f_scalar[n+14] * x_scalar[n+12]; \ + ov5 += f_scalar[n+10] * x_scalar[n+9]; \ + ov5 += f_scalar[n+14] * x_scalar[n+13]; \ + } \ + } \ + _use_simd_pragma("vector aligned") \ + _use_simd_pragma("ivdep") \ + _use_simd_pragma("loop_count min(4) max(INTEL_COMPILE_WIDTH)") \ + for (int n = v_range; n < lt; n++) \ + f_scalar[n] += f_scalar2[n] + f_scalar3[n] + f_scalar4[n]; \ + } else if (nthreads==1) { \ + for (int n = lf; n < v_range; n += vwidth) { \ + _use_simd_pragma("omp simd aligned(ovv,f_scalar,x_scalar:64)") \ + for (int v = 0; v < vwidth; v++) \ + ovv[v] += f_scalar[n+v] * x_scalar[n+v]; \ + ov3 += f_scalar[n+1] * x_scalar[n+0]; \ + ov4 += f_scalar[n+2] * x_scalar[n+0]; \ + ov5 += f_scalar[n+2] * x_scalar[n+1]; \ + if (vwidth > 4) { \ + ov3 += f_scalar[n+5] * x_scalar[n+4]; \ + ov4 += f_scalar[n+6] * x_scalar[n+4]; \ + ov5 += f_scalar[n+6] * x_scalar[n+5]; \ + } \ + if (vwidth > 8) { \ + ov3 += f_scalar[n+9] * x_scalar[n+8]; \ + ov3 += f_scalar[n+13] * x_scalar[n+12]; \ + ov4 += f_scalar[n+10] * x_scalar[n+8]; \ + ov4 += f_scalar[n+14] * x_scalar[n+12]; \ + ov5 += f_scalar[n+10] * x_scalar[n+9]; \ + ov5 += f_scalar[n+14] * x_scalar[n+13]; \ + } \ + } \ + } else if (nthreads==3) { \ + acc_t *f_scalar2 = f_scalar + f_stride4; \ + acc_t *f_scalar3 = f_scalar2 + f_stride4; \ + for (int n = lf; n < v_range; n += vwidth) { \ + _use_simd_pragma("omp simd aligned(f_scalar,f_scalar2,f_scalar3,ovv,x_scalar:64)") \ + for (int v = 0; v < vwidth; v++) { \ + f_scalar[n+v] += f_scalar2[n+v] + f_scalar3[n+v]; \ + ovv[v] += f_scalar[n+v] * x_scalar[n+v]; \ + } \ + ov3 += f_scalar[n+1] * x_scalar[n+0]; \ + ov4 += f_scalar[n+2] * x_scalar[n+0]; \ + ov5 += f_scalar[n+2] * x_scalar[n+1]; \ + if (vwidth > 4) { \ + ov3 += f_scalar[n+5] * x_scalar[n+4]; \ + ov4 += f_scalar[n+6] * x_scalar[n+4]; \ + ov5 += f_scalar[n+6] * x_scalar[n+5]; \ + } \ + if (vwidth > 8) { \ + ov3 += f_scalar[n+9] * x_scalar[n+8]; \ + ov3 += f_scalar[n+13] * x_scalar[n+12]; \ + ov4 += f_scalar[n+10] * x_scalar[n+8]; \ + ov4 += f_scalar[n+14] * x_scalar[n+12]; \ + ov5 += f_scalar[n+10] * x_scalar[n+9]; \ + ov5 += f_scalar[n+14] * x_scalar[n+13]; \ + } \ + } \ + _use_simd_pragma("vector aligned") \ + _use_simd_pragma("ivdep") \ + _use_simd_pragma("loop_count min(4) max(INTEL_COMPILE_WIDTH)") \ + for (int n = v_range; n < lt; n++) \ + f_scalar[n] += f_scalar2[n] + f_scalar3[n]; \ + } \ + for (int n = v_range; n < lt; n += 4) { \ + _use_simd_pragma("vector aligned") \ + _use_simd_pragma("ivdep") \ + for (int v = 0; v < 4; v++) \ + ovv[v] += f_scalar[n+v] * x_scalar[n+v]; \ + ov3 += f_scalar[n+1] * x_scalar[n+0]; \ + ov4 += f_scalar[n+2] * x_scalar[n+0]; \ + ov5 += f_scalar[n+2] * x_scalar[n+1]; \ + } \ + ov0 += ovv[0]; \ + ov1 += ovv[1]; \ + ov2 += ovv[2]; \ + if (vwidth > 4) { \ + ov0 += ovv[4]; \ + ov1 += ovv[5]; \ + ov2 += ovv[6]; \ + } \ + if (vwidth > 8) { \ + ov0 += ovv[8] + ovv[12]; \ + ov1 += ovv[9] + ovv[13]; \ + ov2 += ovv[10] + ovv[14]; \ + } \ +} + +#define IP_PRE_fdotr_acc_force(nall, minlocal, nthreads, f_start, \ + f_stride, pos, offload, vflag, ov0, ov1, \ + ov2, ov3, ov4, ov5) \ +{ \ + int o_range = (nall - minlocal) * 4; \ + IP_PRE_omp_range_id_align(iifrom, iito, tid, o_range, nthreads, \ + sizeof(acc_t)); \ + \ + acc_t *f_scalar = &f_start[0].x; \ + int f_stride4 = f_stride * 4; \ + int t; \ + if (vflag == VIRIAL_FDOTR) t = 4; else t = 1; \ + acc_t *f_scalar2 = f_scalar + f_stride4 * t; \ + for ( ; t < nthreads; t++) { \ + _use_simd_pragma("omp simd aligned(f_scalar,f_scalar2:64)") \ + for (int n = iifrom; n < iito; n++) \ + f_scalar[n] += f_scalar2[n]; \ + f_scalar2 += f_stride4; \ + } \ + \ + if (vflag == VIRIAL_FDOTR) { \ + int nt_min = MIN(4,nthreads); \ + IP_PRE_fdotr_acc_force_l5(iifrom, iito, minlocal, nt_min, f_start, \ + f_stride, pos, ov0, ov1, ov2, ov3, ov4, \ + ov5); \ + } \ +} + +#endif + #ifdef _LMP_INTEL_OFFLOAD #include diff --git a/src/INTEL/intel_simd.h b/src/INTEL/intel_simd.h index 165455a33d..eb5d9857a5 100644 --- a/src/INTEL/intel_simd.h +++ b/src/INTEL/intel_simd.h @@ -173,7 +173,7 @@ namespace ip_simd { } inline SIMD_double SIMD_gather(const double *p, const SIMD_int &i) { - return _mm512_i32logather_pd(i, p, _MM_SCALE_8); + return _mm512_i32gather_pd(_mm512_castsi512_si256(i), p, _MM_SCALE_8); } inline SIMD_int SIMD_gather(const SIMD_mask &m, const int *p, @@ -190,8 +190,8 @@ namespace ip_simd { inline SIMD_double SIMD_gather(const SIMD_mask &m, const double *p, const SIMD_int &i) { - return _mm512_mask_i32logather_pd(_mm512_undefined_pd(), m, i, p, - _MM_SCALE_8); + return _mm512_mask_i32gather_pd(_mm512_undefined_pd(), m, + _mm512_castsi512_si256(i), p, _MM_SCALE_8); } template @@ -227,8 +227,8 @@ namespace ip_simd { inline SIMD_double SIMD_gatherz(const SIMD_mask &m, const double *p, const SIMD_int &i) { - return _mm512_mask_i32logather_pd( _mm512_set1_pd(0.0), m, i, p, - _MM_SCALE_8); + return _mm512_mask_i32gather_pd( _mm512_set1_pd(0.0), m, + _mm512_castsi512_si256(i),p, _MM_SCALE_8); } // ------- Store Operations @@ -257,7 +257,8 @@ namespace ip_simd { inline void SIMD_scatter(const SIMD_mask &m, double *p, const SIMD_int &i, const SIMD_double &vec) { - _mm512_mask_i32loscatter_pd(p, m, i, vec, _MM_SCALE_8); + _mm512_mask_i32scatter_pd(p, m, _mm512_castsi512_si256(i), vec, + _MM_SCALE_8); } // ------- Arithmetic Operations @@ -834,23 +835,29 @@ namespace ip_simd { inline void SIMD_atom_gather(const SIMD_mask &m, const double *atom, const SIMD_int &i, SIMD_double &x, SIMD_double &y, SIMD_double &z) { - x = _mm512_mask_i32logather_pd(_mm512_undefined_pd(), m, i, atom, - _MM_SCALE_2); - y = _mm512_mask_i32logather_pd(_mm512_undefined_pd(), m, i, atom+1, - _MM_SCALE_2); - z = _mm512_mask_i32logather_pd(_mm512_undefined_pd(), m, i, atom+2, - _MM_SCALE_2); + x = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), m, + _mm512_castsi512_si256(i), atom, + _MM_SCALE_2); + y = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), m, + _mm512_castsi512_si256(i), atom+1, + _MM_SCALE_2); + z = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), m, + _mm512_castsi512_si256(i), atom+2, + _MM_SCALE_2); } inline void SIMD_atom_gather(const SIMD_mask &m, const double *atom, const SIMD_int &i, SIMD_double &x, SIMD_double &y, SIMD_double &z, SIMD_int &type) { - x = _mm512_mask_i32logather_pd(_mm512_undefined_pd(), m, i, atom, - _MM_SCALE_2); - y = _mm512_mask_i32logather_pd(_mm512_undefined_pd(), m, i, atom+1, - _MM_SCALE_2); - z = _mm512_mask_i32logather_pd(_mm512_undefined_pd(), m, i, atom+2, - _MM_SCALE_2); + x = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), m, + _mm512_castsi512_si256(i), atom, + _MM_SCALE_2); + y = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), m, + _mm512_castsi512_si256(i), atom+1, + _MM_SCALE_2); + z = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), m, + _mm512_castsi512_si256(i), atom+2, + _MM_SCALE_2); type = _mm512_mask_i32gather_epi32(_mm512_undefined_epi32(), m, i, atom+3, _MM_SCALE_2); } @@ -888,10 +895,12 @@ namespace ip_simd { const SIMD_int &joffset, SIMD_double &eng) { SIMD_double jeng; SIMD_conflict_pi_reduce1(rmask, joffset, eng); - jeng = _mm512_mask_i32logather_pd(_mm512_undefined_pd(), rmask, joffset, - force, _MM_SCALE_2); + jeng = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), rmask, + _mm512_castsi512_si256(joffset), + force, _MM_SCALE_2); jeng = jeng + eng; - _mm512_mask_i32loscatter_pd(force, rmask, joffset, jeng, _MM_SCALE_2); + _mm512_mask_i32scatter_pd(force, rmask, _mm512_castsi512_si256(joffset), + jeng, _MM_SCALE_2); } inline void SIMD_jeng_update(const SIMD_mask &rmask, double *force, @@ -899,20 +908,24 @@ namespace ip_simd { SIMD_double engd, jeng; engd = _mm512_cvtps_pd(_mm512_castps512_ps256(eng)); SIMD_conflict_pi_reduce1(rmask, joffset, engd); - jeng = _mm512_mask_i32logather_pd(_mm512_undefined_pd(), rmask, joffset, - force, _MM_SCALE_2); + jeng = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), rmask, + _mm512_castsi512_si256(joffset), + force, _MM_SCALE_2); jeng = jeng + engd; - _mm512_mask_i32loscatter_pd(force, rmask, joffset, jeng, _MM_SCALE_2); + _mm512_mask_i32scatter_pd(force, rmask, _mm512_castsi512_si256(joffset), + jeng, _MM_SCALE_2); SIMD_mask rmask2 = rmask >> 8; engd = _mm512_cvtps_pd(_mm512_castps512_ps256( _mm512_shuffle_f32x4(eng,eng,238))); SIMD_int joffset2 = _mm512_shuffle_i32x4(joffset, joffset, 238); SIMD_conflict_pi_reduce1(rmask2, joffset2, engd); - jeng = _mm512_mask_i32logather_pd(_mm512_undefined_pd(), rmask2, joffset2, - force, _MM_SCALE_2); + jeng = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), rmask2, + _mm512_castsi512_si256(joffset2), + force, _MM_SCALE_2); jeng = jeng + engd; - _mm512_mask_i32loscatter_pd(force, rmask2, joffset2, jeng, _MM_SCALE_2); + _mm512_mask_i32scatter_pd(force, rmask2, _mm512_castsi512_si256(joffset2), + jeng, _MM_SCALE_2); } inline void SIMD_jeng_update_hi(const SIMD_mask &mask, float *force, @@ -926,10 +939,12 @@ namespace ip_simd { SIMD_double jeng; SIMD_conflict_pi_reduce1(rmask, joffset, eng); - jeng = _mm512_mask_i32logather_pd(_mm512_undefined_pd(), rmask, joffset, - force, _MM_SCALE_2); + jeng = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), rmask, + _mm512_castsi512_si256(joffset), + force, _MM_SCALE_2); jeng = jeng + eng; - _mm512_mask_i32loscatter_pd(force, rmask, joffset, jeng, _MM_SCALE_2); + _mm512_mask_i32scatter_pd(force, rmask, _mm512_castsi512_si256(joffset), + jeng, _MM_SCALE_2); } inline void SIMD_safe_jforce(const SIMD_mask &m, float *force, @@ -956,18 +971,24 @@ namespace ip_simd { SIMD_double &fy, SIMD_double &fz) { SIMD_conflict_pi_reduce3(m, i, fx, fy, fz); SIMD_double jfrc; - jfrc = _mm512_mask_i32logather_pd(_mm512_undefined_pd(), m, i, force, - _MM_SCALE_2); + jfrc = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), m, + _mm512_castsi512_si256(i), force, + _MM_SCALE_2); jfrc = jfrc + fx; - _mm512_mask_i32loscatter_pd(force, m, i, jfrc, _MM_SCALE_2); - jfrc = _mm512_mask_i32logather_pd(_mm512_undefined_pd(), m, i, force + 1, - _MM_SCALE_2); + _mm512_mask_i32scatter_pd(force, m, _mm512_castsi512_si256(i), jfrc, + _MM_SCALE_2); + jfrc = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), m, + _mm512_castsi512_si256(i), force + 1, + _MM_SCALE_2); jfrc = jfrc + fy; - _mm512_mask_i32loscatter_pd(force+1, m, i, jfrc, _MM_SCALE_2); - jfrc = _mm512_mask_i32logather_pd(_mm512_undefined_pd(), m, i, force + 2, - _MM_SCALE_2); + _mm512_mask_i32scatter_pd(force+1, m, _mm512_castsi512_si256(i), jfrc, + _MM_SCALE_2); + jfrc = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), m, + _mm512_castsi512_si256(i), force + 2, + _MM_SCALE_2); jfrc = jfrc + fz; - _mm512_mask_i32loscatter_pd(force+2, m, i, jfrc, _MM_SCALE_2); + _mm512_mask_i32scatter_pd(force+2, m, _mm512_castsi512_si256(i), jfrc, + _MM_SCALE_2); } inline void SIMD_safe_jforce(const SIMD_mask &rmask, double *force, @@ -979,40 +1000,54 @@ namespace ip_simd { amzd = _mm512_cvtps_pd(_mm512_castps512_ps256(amz)); SIMD_conflict_pi_reduce3(rmask, joffset, amxd, amyd, amzd); SIMD_double jfrc; - jfrc = _mm512_mask_i32logather_pd(_mm512_undefined_pd(), rmask, joffset, - force, _MM_SCALE_2); + jfrc = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), rmask, + _mm512_castsi512_si256(joffset), + force, _MM_SCALE_2); jfrc = jfrc + amxd; - _mm512_mask_i32loscatter_pd(force, rmask, joffset, jfrc, _MM_SCALE_2); - jfrc = _mm512_mask_i32logather_pd(_mm512_undefined_pd(), rmask, joffset, - force + 1, _MM_SCALE_2); + _mm512_mask_i32scatter_pd(force, rmask, _mm512_castsi512_si256(joffset), + jfrc, _MM_SCALE_2); + jfrc = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), rmask, + _mm512_castsi512_si256(joffset), + force + 1, _MM_SCALE_2); jfrc = jfrc + amyd; - _mm512_mask_i32loscatter_pd(force+1, rmask, joffset, jfrc, _MM_SCALE_2); - jfrc = _mm512_mask_i32logather_pd(_mm512_undefined_pd(), rmask, joffset, - force + 2, _MM_SCALE_2); + _mm512_mask_i32scatter_pd(force+1, rmask, _mm512_castsi512_si256(joffset), + jfrc, _MM_SCALE_2); + jfrc = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), rmask, + _mm512_castsi512_si256(joffset), + force + 2, _MM_SCALE_2); jfrc = jfrc + amzd; - _mm512_mask_i32loscatter_pd(force+2, rmask, joffset, jfrc, _MM_SCALE_2); + _mm512_mask_i32scatter_pd(force+2, rmask, _mm512_castsi512_si256(joffset), + jfrc, _MM_SCALE_2); SIMD_mask rmask2 = rmask >> 8; amxd = _mm512_cvtps_pd(_mm512_castps512_ps256( - _mm512_shuffle_f32x4(amx,amx,238))); + _mm512_shuffle_f32x4(amx,amx,238))); amyd = _mm512_cvtps_pd(_mm512_castps512_ps256( - _mm512_shuffle_f32x4(amy,amy,238))); + _mm512_shuffle_f32x4(amy,amy,238))); amzd = _mm512_cvtps_pd(_mm512_castps512_ps256( - _mm512_shuffle_f32x4(amz,amz,238))); + _mm512_shuffle_f32x4(amz,amz,238))); SIMD_int joffset2 = _mm512_shuffle_i32x4(joffset, joffset, 238); SIMD_conflict_pi_reduce3(rmask2, joffset2, amxd, amyd, amzd); - jfrc = _mm512_mask_i32logather_pd(_mm512_undefined_pd(), rmask2, joffset2, - force, _MM_SCALE_2); + jfrc = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), rmask2, + _mm512_castsi512_si256(joffset2), + force, _MM_SCALE_2); jfrc = jfrc + amxd; - _mm512_mask_i32loscatter_pd(force, rmask2, joffset2, jfrc, _MM_SCALE_2); - jfrc = _mm512_mask_i32logather_pd(_mm512_undefined_pd(), rmask2, joffset2, - force + 1, _MM_SCALE_2); + _mm512_mask_i32scatter_pd(force, rmask2, _mm512_castsi512_si256(joffset2), + jfrc, _MM_SCALE_2); + jfrc = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), rmask2, + _mm512_castsi512_si256(joffset2), + force + 1, _MM_SCALE_2); jfrc = jfrc + amyd; - _mm512_mask_i32loscatter_pd(force+1, rmask2, joffset2, jfrc, _MM_SCALE_2); - jfrc = _mm512_mask_i32logather_pd(_mm512_undefined_pd(), rmask2, joffset2, - force + 2, _MM_SCALE_2); + _mm512_mask_i32scatter_pd(force+1, rmask2, + _mm512_castsi512_si256(joffset2), jfrc, + _MM_SCALE_2); + jfrc = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), rmask2, + _mm512_castsi512_si256(joffset2), + force + 2, _MM_SCALE_2); jfrc = jfrc + amzd; - _mm512_mask_i32loscatter_pd(force+2, rmask2, joffset2, jfrc, _MM_SCALE_2); + _mm512_mask_i32scatter_pd(force+2, rmask2, + _mm512_castsi512_si256(joffset2), jfrc, + _MM_SCALE_2); } inline void SIMD_jforce_update(const SIMD_mask &m, float *force, @@ -1064,18 +1099,24 @@ namespace ip_simd { const SIMD_int &i, const SIMD_double &fx, const SIMD_double &fy, const SIMD_double &fz) { SIMD_double jfrc; - jfrc = _mm512_mask_i32logather_pd(_mm512_undefined_pd(), m, i, force, - _MM_SCALE_2); + jfrc = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), m, + _mm512_castsi512_si256(i), force, + _MM_SCALE_2); jfrc = jfrc - fx; - _mm512_mask_i32loscatter_pd(force, m, i, jfrc, _MM_SCALE_2); - jfrc = _mm512_mask_i32logather_pd(_mm512_undefined_pd(), m, i, force + 1, - _MM_SCALE_2); + _mm512_mask_i32scatter_pd(force, m, _mm512_castsi512_si256(i), jfrc, + _MM_SCALE_2); + jfrc = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), m, + _mm512_castsi512_si256(i), force + 1, + _MM_SCALE_2); jfrc = jfrc - fy; - _mm512_mask_i32loscatter_pd(force+1, m, i, jfrc, _MM_SCALE_2); - jfrc = _mm512_mask_i32logather_pd(_mm512_undefined_pd(), m, i, force + 2, - _MM_SCALE_2); + _mm512_mask_i32scatter_pd(force+1, m, _mm512_castsi512_si256(i), jfrc, + _MM_SCALE_2); + jfrc = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), m, + _mm512_castsi512_si256(i), force + 2, + _MM_SCALE_2); jfrc = jfrc - fz; - _mm512_mask_i32loscatter_pd(force+2, m, i, jfrc, _MM_SCALE_2); + _mm512_mask_i32scatter_pd(force+2, m, _mm512_castsi512_si256(i), jfrc, + _MM_SCALE_2); } inline void SIMD_jforce_update(const SIMD_mask &rmask, @@ -1502,11 +1543,12 @@ namespace ip_simd { fwtmp = SIMD_add(fwtmp, hmask, fwtmp, hevdwl); fjtmp = SIMD_add(fjtmp, hmask, fjtmp, hevdwl); SIMD_conflict_pi_reduce1(hmask, k, hevdwl); - SIMD_double keng = _mm512_mask_i32logather_pd(_mm512_undefined_pd(), - hmask, k, force + 3, - _MM_SCALE_2); + SIMD_double keng = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), hmask, + _mm512_castsi512_si256(k), + force + 3, _MM_SCALE_2); keng = keng + hevdwl; - _mm512_mask_i32loscatter_pd(force + 3, hmask, k, keng, _MM_SCALE_2); + _mm512_mask_i32scatter_pd(force + 3, hmask, _mm512_castsi512_si256(k), + keng, _MM_SCALE_2); } } @@ -1523,11 +1565,12 @@ namespace ip_simd { fwtmp = SIMD_add(fwtmp, hmask, fwtmp, hevdwl); fjtmp = SIMD_add(fjtmp, hmask, fjtmp, hevdwl); SIMD_conflict_pi_reduce1(hmask, k, hevdwl); - SIMD_double keng = _mm512_mask_i32logather_pd(_mm512_undefined_pd(), - hmask, k, force + 3, - _MM_SCALE_2); + SIMD_double keng = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), hmask, + _mm512_castsi512_si256(k), + force + 3, _MM_SCALE_2); keng = keng + hevdwl; - _mm512_mask_i32loscatter_pd(force + 3, hmask, k, keng, _MM_SCALE_2); + _mm512_mask_i32scatter_pd(force + 3, hmask, _mm512_castsi512_si256(k), + keng, _MM_SCALE_2); } SIMD_mask hmask2 = hmask >> 8; facradd = _mm512_cvtps_pd(_mm512_castps512_ps256( @@ -1539,11 +1582,13 @@ namespace ip_simd { fjtmp2 = SIMD_add(fjtmp2, hmask2, fjtmp2, hevdwl); SIMD_int k2 = _mm512_shuffle_i32x4(k, k, 238); SIMD_conflict_pi_reduce1(hmask2, k2, hevdwl); - SIMD_double keng = _mm512_mask_i32logather_pd(_mm512_undefined_pd(), - hmask2, k2, force + 3, - _MM_SCALE_2); + SIMD_double keng = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), + hmask2, + _mm512_castsi512_si256(k2), + force + 3, _MM_SCALE_2); keng = keng + hevdwl; - _mm512_mask_i32loscatter_pd(force + 3, hmask2, k2, keng, _MM_SCALE_2); + _mm512_mask_i32scatter_pd(force + 3, hmask2, _mm512_castsi512_si256(k2), + keng, _MM_SCALE_2); } } @@ -1815,24 +1860,32 @@ namespace ip_simd { const int EFLAG, const int eatom, const SIMD_double &fwtmp) { SIMD_double jfrc; - jfrc = _mm512_mask_i32logather_pd(_mm512_undefined_pd(), m, i, force, - _MM_SCALE_2); + jfrc = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), m, + _mm512_castsi512_si256(i), force, + _MM_SCALE_2); jfrc = jfrc + fx; - _mm512_mask_i32loscatter_pd(force, m, i, jfrc, _MM_SCALE_2); - jfrc = _mm512_mask_i32logather_pd(_mm512_undefined_pd(), m, i, force + 1, - _MM_SCALE_2); + _mm512_mask_i32scatter_pd(force, m, _mm512_castsi512_si256(i), jfrc, + _MM_SCALE_2); + jfrc = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), m, + _mm512_castsi512_si256(i), force + 1, + _MM_SCALE_2); jfrc = jfrc + fy; - _mm512_mask_i32loscatter_pd(force+1, m, i, jfrc, _MM_SCALE_2); - jfrc = _mm512_mask_i32logather_pd(_mm512_undefined_pd(), m, i, force + 2, - _MM_SCALE_2); + _mm512_mask_i32scatter_pd(force+1, m, _mm512_castsi512_si256(i), jfrc, + _MM_SCALE_2); + jfrc = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), m, + _mm512_castsi512_si256(i), force + 2, + _MM_SCALE_2); jfrc = jfrc + fz; - _mm512_mask_i32loscatter_pd(force+2, m, i, jfrc, _MM_SCALE_2); + _mm512_mask_i32scatter_pd(force+2, m, _mm512_castsi512_si256(i), jfrc, + _MM_SCALE_2); if (EFLAG) { if (eatom) { - jfrc = _mm512_mask_i32logather_pd(_mm512_undefined_pd(), m, i, - force + 3, _MM_SCALE_2); + jfrc = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), m, + _mm512_castsi512_si256(i), + force + 3, _MM_SCALE_2); jfrc = jfrc + fwtmp; - _mm512_mask_i32loscatter_pd(force+3, m, i, jfrc, _MM_SCALE_2); + _mm512_mask_i32scatter_pd(force+3, m, _mm512_castsi512_si256(i), jfrc, + _MM_SCALE_2); } } } diff --git a/src/INTEL/npair_full_bin_ghost_intel.cpp b/src/INTEL/npair_full_bin_ghost_intel.cpp index 082f95721f..e96f2c713d 100644 --- a/src/INTEL/npair_full_bin_ghost_intel.cpp +++ b/src/INTEL/npair_full_bin_ghost_intel.cpp @@ -324,7 +324,11 @@ void NPairFullBinGhostIntel::fbi(const int offload, NeighList * list, const int bstart = binhead[ibin + binstart[k]]; const int bend = binhead[ibin + binend[k]]; #if defined(LMP_SIMD_COMPILER) +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif #endif for (int jj = bstart; jj < bend; jj++) tj[ncount++] = binpacked[jj]; @@ -345,15 +349,23 @@ void NPairFullBinGhostIntel::fbi(const int offload, NeighList * list, const int bstart = binhead[ibin + stencil[k]]; const int bend = binhead[ibin + stencil[k] + 1]; #if defined(LMP_SIMD_COMPILER) +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif #endif for (int jj = bstart; jj < bend; jj++) tj[ncount++] = binpacked[jj]; } } // if i < nlocal #if defined(LMP_SIMD_COMPILER) - #pragma vector aligned +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif + #pragma vector aligned #endif for (int u = 0; u < ncount; u++) { const int j = tj[u]; @@ -425,12 +437,16 @@ void NPairFullBinGhostIntel::fbi(const int offload, NeighList * list, int alln = n; n = 0; #if defined(LMP_SIMD_COMPILER) - #pragma vector aligned #ifdef LMP_INTEL_NBOR_COMPAT #pragma ivdep #else +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif #endif + #pragma vector aligned #endif for (int u = 0; u < alln; u++) { int which; @@ -454,12 +470,16 @@ void NPairFullBinGhostIntel::fbi(const int offload, NeighList * list, alln = n2; n2 = maxnbors * 2; #if defined(LMP_SIMD_COMPILER) - #pragma vector aligned #ifdef LMP_INTEL_NBOR_COMPAT #pragma ivdep #else +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif #endif + #pragma vector aligned #endif for (int u = n2; u < alln; u++) { int which; diff --git a/src/INTEL/npair_intel.cpp b/src/INTEL/npair_intel.cpp index 643ceff8f3..395e50006c 100644 --- a/src/INTEL/npair_intel.cpp +++ b/src/INTEL/npair_intel.cpp @@ -344,14 +344,22 @@ void NPairIntel::bin_newton(const int offload, NeighList *list, const int bstart = binhead[ibin + binstart[k]]; const int bend = binhead[ibin + binend[k]]; #if defined(LMP_SIMD_COMPILER) +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif #endif for (int jj = bstart; jj < bend; jj++) tj[ncount++] = binpacked[jj]; } #if defined(LMP_SIMD_COMPILER) - #pragma vector aligned +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif + #pragma vector aligned #endif for (int u = 0; u < ncount; u++) { const int j = tj[u]; @@ -375,7 +383,11 @@ void NPairIntel::bin_newton(const int offload, NeighList *list, const int bstart = binhead[ibin]; const int bend = binhead[ibin + 1]; #if defined(LMP_SIMD_COMPILER) +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif #endif for (int jj = bstart; jj < bend; jj++) { const int j = binpacked[jj]; @@ -533,12 +545,16 @@ void NPairIntel::bin_newton(const int offload, NeighList *list, n = pack_offset; #if defined(LMP_SIMD_COMPILER) - #pragma vector aligned #ifdef LMP_INTEL_NBOR_COMPAT #pragma ivdep #else +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif #endif + #pragma vector aligned #endif for (int u = n; u < alln; u++) { int which; @@ -566,12 +582,16 @@ void NPairIntel::bin_newton(const int offload, NeighList *list, n2 = pack_offset + maxnbors; #if defined(LMP_SIMD_COMPILER) - #pragma vector aligned #ifdef LMP_INTEL_NBOR_COMPAT #pragma ivdep #else +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif #endif + #pragma vector aligned #endif for (int u = n2; u < alln; u++) { int which; @@ -737,8 +757,14 @@ void NPairIntel::bin_newton(const int offload, NeighList *list, int jnum = numneigh[i]; if (!THREE) IP_PRE_neighbor_pad(jnum, offload); #if __INTEL_COMPILER+0 > 1499 +#if defined(USE_OMP_SIMD) + #pragma omp simd reduction(max:vlmax,vgmax) \ + reduction(min:vlmin, vgmin) +#else + #pragma simd reduction(max:vlmax,vgmax) \ + reduction(min:vlmin, vgmin) +#endif #pragma vector aligned - #pragma simd reduction(max:vlmax,vgmax) reduction(min:vlmin, vgmin) #endif for (int jj = 0; jj < jnum; jj++) { const int j = jlist[jj] & NEIGHMASK; @@ -782,8 +808,12 @@ void NPairIntel::bin_newton(const int offload, NeighList *list, int jnum = numneigh[i]; if (!THREE) IP_PRE_neighbor_pad(jnum, offload); int jj = 0; - #pragma vector aligned +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif + #pragma vector aligned for (jj = 0; jj < jnum; jj++) { const int which = jlist[jj] >> SBBITS & 3; const int j = jlist[jj] & NEIGHMASK; diff --git a/src/INTEL/pair_buck_coul_cut_intel.cpp b/src/INTEL/pair_buck_coul_cut_intel.cpp index 99905bfaa0..c67450fbc1 100644 --- a/src/INTEL/pair_buck_coul_cut_intel.cpp +++ b/src/INTEL/pair_buck_coul_cut_intel.cpp @@ -248,12 +248,18 @@ void PairBuckCoulCutIntel::eval(const int offload, const int vflag, fxtmp = fytmp = fztmp = (acc_t)0; if (EFLAG) fwtmp = sevdwl = secoul = (acc_t)0; if (NEWTON_PAIR == 0) - if (vflag == VIRIAL_PAIR) sv0 = sv1 = sv2 = sv3 = sv4 = sv5 = (acc_t)0; + if (vflag == VIRIAL_PAIR) + sv0 = sv1 = sv2 = sv3 = sv4 = sv5 = (acc_t)0; #if defined(LMP_SIMD_COMPILER) - #pragma vector aligned +#if defined(USE_OMP_SIMD) + #pragma omp simd reduction(+:fxtmp, fytmp, fztmp, fwtmp, sevdwl, \ + sv0, sv1, sv2, sv3, sv4, sv5) +#else #pragma simd reduction(+:fxtmp, fytmp, fztmp, fwtmp, sevdwl, \ sv0, sv1, sv2, sv3, sv4, sv5) +#endif + #pragma vector aligned #endif for (int jj = 0; jj < jnum; jj++) { flt_t forcecoul, forcebuck, evdwl, ecoul; diff --git a/src/INTEL/pair_buck_coul_long_intel.cpp b/src/INTEL/pair_buck_coul_long_intel.cpp index 1566ec23b6..7c795d5914 100644 --- a/src/INTEL/pair_buck_coul_long_intel.cpp +++ b/src/INTEL/pair_buck_coul_long_intel.cpp @@ -309,9 +309,14 @@ void PairBuckCoulLongIntel::eval(const int offload, const int vflag, } #if defined(LMP_SIMD_COMPILER) +#if defined(USE_OMP_SIMD) + #pragma omp simd reduction(+:fxtmp, fytmp, fztmp, fwtmp, sevdwl, \ + secoul, sv0, sv1, sv2, sv3, sv4, sv5) +#else + #pragma simd reduction(+:fxtmp, fytmp, fztmp, fwtmp, sevdwl, \ + secoul, sv0, sv1, sv2, sv3, sv4, sv5) +#endif #pragma vector aligned - #pragma simd reduction(+:fxtmp, fytmp, fztmp, fwtmp, sevdwl, secoul, \ - sv0, sv1, sv2, sv3, sv4, sv5) #endif for (int jj = 0; jj < ej; jj++) { flt_t forcecoul, forcebuck, evdwl, ecoul; diff --git a/src/INTEL/pair_buck_intel.cpp b/src/INTEL/pair_buck_intel.cpp index 26ef13be9a..ddab17765b 100644 --- a/src/INTEL/pair_buck_intel.cpp +++ b/src/INTEL/pair_buck_intel.cpp @@ -230,12 +230,18 @@ void PairBuckIntel::eval(const int offload, const int vflag, fxtmp = fytmp = fztmp = (acc_t)0; if (EFLAG) fwtmp = sevdwl = (acc_t)0; if (NEWTON_PAIR == 0) - if (vflag == VIRIAL_PAIR) sv0 = sv1 = sv2 = sv3 = sv4 = sv5 = (acc_t)0; + if (vflag == VIRIAL_PAIR) + sv0 = sv1 = sv2 = sv3 = sv4 = sv5 = (acc_t)0; #if defined(LMP_SIMD_COMPILER) - #pragma vector aligned +#if defined(USE_OMP_SIMD) + #pragma omp simd reduction(+:fxtmp, fytmp, fztmp, fwtmp, sevdwl, \ + sv0, sv1, sv2, sv3, sv4, sv5) +#else #pragma simd reduction(+:fxtmp, fytmp, fztmp, fwtmp, sevdwl, \ sv0, sv1, sv2, sv3, sv4, sv5) +#endif + #pragma vector aligned #endif for (int jj = 0; jj < jnum; jj++) { diff --git a/src/INTEL/pair_dpd_intel.cpp b/src/INTEL/pair_dpd_intel.cpp index e7514a1f95..a9eb4fe6a4 100644 --- a/src/INTEL/pair_dpd_intel.cpp +++ b/src/INTEL/pair_dpd_intel.cpp @@ -289,9 +289,14 @@ void PairDPDIntel::eval(const int offload, const int vflag, } #if defined(LMP_SIMD_COMPILER) - #pragma vector aligned +#if defined(USE_OMP_SIMD) + #pragma omp simd reduction(+:fxtmp, fytmp, fztmp, fwtmp, sevdwl, \ + sv0, sv1, sv2, sv3, sv4, sv5) +#else #pragma simd reduction(+:fxtmp, fytmp, fztmp, fwtmp, sevdwl, \ - sv0, sv1, sv2, sv3, sv4, sv5) + sv0, sv1, sv2, sv3, sv4, sv5) +#endif + #pragma vector aligned #endif for (int jj = 0; jj < jnum; jj++) { flt_t forcelj, evdwl; diff --git a/src/INTEL/pair_eam_intel.cpp b/src/INTEL/pair_eam_intel.cpp index dcff8957fd..13dbd60cb3 100644 --- a/src/INTEL/pair_eam_intel.cpp +++ b/src/INTEL/pair_eam_intel.cpp @@ -327,8 +327,12 @@ void PairEAMIntel::eval(const int offload, const int vflag, } #if defined(LMP_SIMD_COMPILER) - #pragma vector aligned +#if defined(USE_OMP_SIMD) + #pragma omp simd reduction(+:rhoi) +#else #pragma simd reduction(+:rhoi) +#endif + #pragma vector aligned #endif for (int jj = 0; jj < ej; jj++) { int jtype; @@ -369,23 +373,35 @@ void PairEAMIntel::eval(const int offload, const int vflag, const int rcount = nall; if (nthreads == 2) { double *trho2 = rho + nmax; - #pragma vector aligned +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif + #pragma vector aligned for (int n = 0; n < rcount; n++) rho[n] += trho2[n]; } else if (nthreads == 4) { double *trho2 = rho + nmax; double *trho3 = trho2 + nmax; double *trho4 = trho3 + nmax; - #pragma vector aligned +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif + #pragma vector aligned for (int n = 0; n < rcount; n++) rho[n] += trho2[n] + trho3[n] + trho4[n]; } else { double *trhon = rho + nmax; for (int t = 1; t < nthreads; t++) { - #pragma vector aligned +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif + #pragma vector aligned for (int n = 0; n < rcount; n++) rho[n] += trhon[n]; trhon += nmax; @@ -414,8 +430,12 @@ void PairEAMIntel::eval(const int offload, const int vflag, if (EFLAG) tevdwl = (acc_t)0.0; #if defined(LMP_SIMD_COMPILER) - #pragma vector aligned +#if defined(USE_OMP_SIMD) + #pragma omp simd reduction(+:tevdwl) +#else #pragma simd reduction(+:tevdwl) +#endif + #pragma vector aligned #endif for (int ii = iifrom; ii < iito; ++ii) { const int i = ilist[ii]; @@ -510,9 +530,14 @@ void PairEAMIntel::eval(const int offload, const int vflag, } #if defined(LMP_SIMD_COMPILER) - #pragma vector aligned +#if defined(USE_OMP_SIMD) + #pragma omp simd reduction(+:fxtmp, fytmp, fztmp, fwtmp, sevdwl, \ + sv0, sv1, sv2, sv3, sv4, sv5) +#else #pragma simd reduction(+:fxtmp, fytmp, fztmp, fwtmp, sevdwl, \ - sv0, sv1, sv2, sv3, sv4, sv5) + sv0, sv1, sv2, sv3, sv4, sv5) +#endif + #pragma vector aligned #endif for (int jj = 0; jj < ej; jj++) { int jtype; diff --git a/src/INTEL/pair_gayberne_intel.cpp b/src/INTEL/pair_gayberne_intel.cpp index d7becc7585..c3abf68c12 100644 --- a/src/INTEL/pair_gayberne_intel.cpp +++ b/src/INTEL/pair_gayberne_intel.cpp @@ -449,9 +449,14 @@ void PairGayBerneIntel::eval(const int offload, const int vflag, __assume(packed_j % INTEL_MIC_VECTOR_WIDTH == 0); #endif #if defined(LMP_SIMD_COMPILER) +#if defined(USE_OMP_SIMD) + #pragma omp simd reduction(+:fxtmp,fytmp,fztmp,fwtmp,t1tmp,t2tmp, \ + t3tmp,sevdwl,sv0,sv1,sv2,sv3,sv4,sv5) +#else + #pragma simd reduction(+:fxtmp,fytmp,fztmp,fwtmp,t1tmp,t2tmp, \ + t3tmp,sevdwl,sv0,sv1,sv2,sv3,sv4,sv5) +#endif #pragma vector aligned - #pragma simd reduction(+:fxtmp,fytmp,fztmp,fwtmp,t1tmp,t2tmp,t3tmp, \ - sevdwl,sv0,sv1,sv2,sv3,sv4,sv5) #endif for (int jj = 0; jj < packed_j; jj++) { flt_t a2_0, a2_1, a2_2, a2_3, a2_4, a2_5, a2_6, a2_7, a2_8; @@ -806,8 +811,12 @@ void PairGayBerneIntel::eval(const int offload, const int vflag, acc_t *f_scalar2 = f_scalar + fst4; for (int t = 1; t < nthreads; t++) { #if defined(LMP_SIMD_COMPILER) - #pragma vector aligned +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif + #pragma vector aligned #endif for (int n = iifrom * 8; n < sto; n++) f_scalar[n] += f_scalar2[n]; diff --git a/src/INTEL/pair_lj_charmm_coul_charmm_intel.cpp b/src/INTEL/pair_lj_charmm_coul_charmm_intel.cpp index ad8ef4d84f..ef26f8f2d5 100644 --- a/src/INTEL/pair_lj_charmm_coul_charmm_intel.cpp +++ b/src/INTEL/pair_lj_charmm_coul_charmm_intel.cpp @@ -294,9 +294,14 @@ void PairLJCharmmCoulCharmmIntel::eval(const int offload, const int vflag, } #if defined(LMP_SIMD_COMPILER) +#if defined(USE_OMP_SIMD) + #pragma omp simd reduction(+:fxtmp, fytmp, fztmp, fwtmp, sevdwl, \ + secoul, sv0, sv1, sv2, sv3, sv4, sv5) +#else + #pragma simd reduction(+:fxtmp, fytmp, fztmp, fwtmp, sevdwl, \ + secoul, sv0, sv1, sv2, sv3, sv4, sv5) +#endif #pragma vector aligned - #pragma simd reduction(+:fxtmp, fytmp, fztmp, fwtmp, sevdwl, secoul, \ - sv0, sv1, sv2, sv3, sv4, sv5) #endif for (int jj = 0; jj < ej; jj++) { flt_t forcecoul, forcelj, evdwl; diff --git a/src/INTEL/pair_lj_charmm_coul_long_intel.cpp b/src/INTEL/pair_lj_charmm_coul_long_intel.cpp index a910c74acb..6f6bb3618e 100644 --- a/src/INTEL/pair_lj_charmm_coul_long_intel.cpp +++ b/src/INTEL/pair_lj_charmm_coul_long_intel.cpp @@ -314,9 +314,14 @@ void PairLJCharmmCoulLongIntel::eval(const int offload, const int vflag, } #if defined(LMP_SIMD_COMPILER) +#if defined(USE_OMP_SIMD) + #pragma omp simd reduction(+:fxtmp, fytmp, fztmp, fwtmp, sevdwl, \ + secoul, sv0, sv1, sv2, sv3, sv4, sv5) +#else + #pragma simd reduction(+:fxtmp, fytmp, fztmp, fwtmp, sevdwl, \ + secoul, sv0, sv1, sv2, sv3, sv4, sv5) +#endif #pragma vector aligned - #pragma simd reduction(+:fxtmp, fytmp, fztmp, fwtmp, sevdwl, secoul, \ - sv0, sv1, sv2, sv3, sv4, sv5) #endif for (int jj = 0; jj < ej; jj++) { flt_t forcecoul, forcelj, evdwl, ecoul; diff --git a/src/INTEL/pair_lj_cut_coul_long_intel.cpp b/src/INTEL/pair_lj_cut_coul_long_intel.cpp index 51e208314b..0d94fdb4c3 100644 --- a/src/INTEL/pair_lj_cut_coul_long_intel.cpp +++ b/src/INTEL/pair_lj_cut_coul_long_intel.cpp @@ -305,9 +305,14 @@ void PairLJCutCoulLongIntel::eval(const int offload, const int vflag, } #if defined(LMP_SIMD_COMPILER) +#if defined(USE_OMP_SIMD) + #pragma omp simd reduction(+:fxtmp, fytmp, fztmp, fwtmp, sevdwl, \ + secoul, sv0, sv1, sv2, sv3, sv4, sv5) +#else + #pragma simd reduction(+:fxtmp, fytmp, fztmp, fwtmp, sevdwl, \ + secoul, sv0, sv1, sv2, sv3, sv4, sv5) +#endif #pragma vector aligned - #pragma simd reduction(+:fxtmp, fytmp, fztmp, fwtmp, sevdwl, secoul, \ - sv0, sv1, sv2, sv3, sv4, sv5) #endif for (int jj = 0; jj < ej; jj++) { flt_t forcecoul, forcelj, evdwl, ecoul; diff --git a/src/INTEL/pair_lj_cut_intel.cpp b/src/INTEL/pair_lj_cut_intel.cpp index 84bc664e18..cf84cb3ca5 100644 --- a/src/INTEL/pair_lj_cut_intel.cpp +++ b/src/INTEL/pair_lj_cut_intel.cpp @@ -241,9 +241,15 @@ void PairLJCutIntel::eval(const int offload, const int vflag, if (vflag == VIRIAL_PAIR) sv0 = sv1 = sv2 = sv3 = sv4 = sv5 = (acc_t)0; #if defined(LMP_SIMD_COMPILER) - #pragma vector aligned +#if defined(USE_OMP_SIMD) + #pragma omp simd reduction(+:fxtmp, fytmp, fztmp, fwtmp, sevdwl, \ + sv0, sv1, sv2, sv3, sv4, sv5) \ + aligned(jlist,x,ljc12oi,special_lj,f,lj34i:64) +#else #pragma simd reduction(+:fxtmp, fytmp, fztmp, fwtmp, sevdwl, \ sv0, sv1, sv2, sv3, sv4, sv5) + #pragma vector aligned +#endif #endif for (int jj = 0; jj < jnum; jj++) { flt_t forcelj, evdwl; diff --git a/src/INTEL/pair_sw_intel.cpp b/src/INTEL/pair_sw_intel.cpp index 17dffa2843..57a6b29945 100644 --- a/src/INTEL/pair_sw_intel.cpp +++ b/src/INTEL/pair_sw_intel.cpp @@ -371,8 +371,12 @@ void PairSWIntel::eval(const int offload, const int vflag, } #if defined(LMP_SIMD_COMPILER) - #pragma vector aligned +#if defined(USE_OMP_SIMD) + #pragma omp simd reduction(+:fxtmp, fytmp, fztmp, fwtmp, sevdwl) +#else #pragma simd reduction(+:fxtmp, fytmp, fztmp, fwtmp, sevdwl) +#endif + #pragma vector aligned #endif for (int jj = 0; jj < ejnum_pad; jj++) { acc_t fjxtmp, fjytmp, fjztmp, fjtmp; diff --git a/src/INTEL/pppm_disp_intel.cpp b/src/INTEL/pppm_disp_intel.cpp index 8d4ed1778d..6b732ccfac 100644 --- a/src/INTEL/pppm_disp_intel.cpp +++ b/src/INTEL/pppm_disp_intel.cpp @@ -770,8 +770,12 @@ void PPPMDispIntel::particle_map(double delx, double dely, double delz, IP_PRE_omp_range_id_align(iifrom, iito, tid, nlocal, nthr, sizeof(ATOM_T)); #if defined(LMP_SIMD_COMPILER) - #pragma vector aligned +#if defined(USE_OMP_SIMD) + #pragma omp simd reduction(+:flag) +#else #pragma simd reduction(+:flag) +#endif + #pragma vector aligned #endif for (int i = iifrom; i < iito; i++) { @@ -876,7 +880,11 @@ void PPPMDispIntel::make_rho_c(IntelBuffers * /*buffers*/) dz = dz*half_rho_scale + half_rho_scale_plus; int idz = dz; #if defined(LMP_SIMD_COMPILER) +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif #endif for (int k = 0; k < INTEL_P3M_ALIGNED_MAXORDER; k++) { rho[0][k] = rho_lookup[idx][k]; @@ -885,7 +893,11 @@ void PPPMDispIntel::make_rho_c(IntelBuffers * /*buffers*/) } } else { #if defined(LMP_SIMD_COMPILER) +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif #endif for (int k = nlower; k <= nupper; k++) { FFT_SCALAR r1,r2,r3; @@ -917,8 +929,12 @@ void PPPMDispIntel::make_rho_c(IntelBuffers * /*buffers*/) int mzy = m*nix + mz; FFT_SCALAR x0 = y0*rho[1][m]; #if defined(LMP_SIMD_COMPILER) - #pragma loop_count min(2), max(INTEL_P3M_ALIGNED_MAXORDER), avg(7) +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif + #pragma loop_count min(2), max(INTEL_P3M_ALIGNED_MAXORDER), avg(7) #endif for (int l = 0; l < order; l++) { int mzyx = l + mzy; @@ -939,7 +955,11 @@ void PPPMDispIntel::make_rho_c(IntelBuffers * /*buffers*/) IP_PRE_omp_range_id(ifrom, ito, tid, ngrid, nthr); #if defined(LMP_SIMD_COMPILER) +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif #endif for (int i = ifrom; i < ito; i++) { for (int j = 1; j < nthr; j++) { @@ -1025,7 +1045,11 @@ void PPPMDispIntel::make_rho_g(IntelBuffers * /*buffers*/) dz = dz*half_rho_scale + half_rho_scale_plus; int idz = dz; #if defined(LMP_SIMD_COMPILER) +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif #endif for (int k = 0; k < INTEL_P3M_ALIGNED_MAXORDER; k++) { rho[0][k] = rho6_lookup[idx][k]; @@ -1034,7 +1058,11 @@ void PPPMDispIntel::make_rho_g(IntelBuffers * /*buffers*/) } } else { #if defined(LMP_SIMD_COMPILER) +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif #endif for (int k = nlower_6; k <= nupper_6; k++) { FFT_SCALAR r1,r2,r3; @@ -1067,8 +1095,12 @@ void PPPMDispIntel::make_rho_g(IntelBuffers * /*buffers*/) int mzy = m*nix + mz; FFT_SCALAR x0 = y0*rho[1][m]; #if defined(LMP_SIMD_COMPILER) - #pragma loop_count min(2), max(INTEL_P3M_ALIGNED_MAXORDER), avg(7) +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif + #pragma loop_count min(2), max(INTEL_P3M_ALIGNED_MAXORDER), avg(7) #endif for (int l = 0; l < order; l++) { int mzyx = l + mzy; @@ -1089,7 +1121,11 @@ void PPPMDispIntel::make_rho_g(IntelBuffers * /*buffers*/) IP_PRE_omp_range_id(ifrom, ito, tid, ngrid_6, nthr); #if defined(LMP_SIMD_COMPILER) +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif #endif for (int i = ifrom; i < ito; i++) { for (int j = 1; j < nthr; j++) { @@ -1173,7 +1209,11 @@ void PPPMDispIntel::make_rho_a(IntelBuffers * /*buffers*/) dz = dz*half_rho_scale + half_rho_scale_plus; int idz = dz; #if defined(LMP_SIMD_COMPILER) +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif #endif for (int k = 0; k < INTEL_P3M_ALIGNED_MAXORDER; k++) { rho[0][k] = rho6_lookup[idx][k]; @@ -1182,7 +1222,11 @@ void PPPMDispIntel::make_rho_a(IntelBuffers * /*buffers*/) } } else { #if defined(LMP_SIMD_COMPILER) +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif #endif for (int k = nlower_6; k <= nupper_6; k++) { FFT_SCALAR r1,r2,r3; @@ -1215,8 +1259,12 @@ void PPPMDispIntel::make_rho_a(IntelBuffers * /*buffers*/) int my = m + nysum; FFT_SCALAR x0 = y0*rho[1][m]; #if defined(LMP_SIMD_COMPILER) - #pragma loop_count min(2), max(INTEL_P3M_ALIGNED_MAXORDER), avg(7) +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif + #pragma loop_count min(2), max(INTEL_P3M_ALIGNED_MAXORDER), avg(7) #endif for (int l = 0; l < order; l++) { int mx = l + nxsum; @@ -1307,7 +1355,11 @@ void PPPMDispIntel::make_rho_none(IntelBuffers * /*buffers*/) dz = dz*half_rho_scale + half_rho_scale_plus; int idz = dz; #if defined(LMP_SIMD_COMPILER) +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif #endif for (int k = 0; k < INTEL_P3M_ALIGNED_MAXORDER; k++) { rho[0][k] = rho6_lookup[idx][k]; @@ -1316,7 +1368,11 @@ void PPPMDispIntel::make_rho_none(IntelBuffers * /*buffers*/) } } else { #if defined(LMP_SIMD_COMPILER) +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif #endif for (int k = nlower_6; k <= nupper_6; k++) { FFT_SCALAR r1,r2,r3; @@ -1349,8 +1405,12 @@ void PPPMDispIntel::make_rho_none(IntelBuffers * /*buffers*/) int mzy = m*nix + mz; FFT_SCALAR x0 = y0*rho[1][m]; #if defined(LMP_SIMD_COMPILER) - #pragma loop_count min(2), max(INTEL_P3M_ALIGNED_MAXORDER), avg(7) +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif + #pragma loop_count min(2), max(INTEL_P3M_ALIGNED_MAXORDER), avg(7) #endif for (int l = 0; l < order; l++) { int mzyx = l + mzy; @@ -1373,7 +1433,11 @@ void PPPMDispIntel::make_rho_none(IntelBuffers * /*buffers*/) IP_PRE_omp_range_id(ifrom, ito, tid, ngrid_6*nsplit, nthr); #if defined(LMP_SIMD_COMPILER) +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif #endif for (int i = ifrom; i < ito; i++) { for (int j = 1; j < nthr; j++) { @@ -1454,7 +1518,11 @@ void PPPMDispIntel::fieldforce_c_ik(IntelBuffers * /*buffers*/) dz = dz*half_rho_scale + half_rho_scale_plus; int idz = dz; #if defined(LMP_SIMD_COMPILER) +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif #endif for (int k = 0; k < INTEL_P3M_ALIGNED_MAXORDER; k++) { rho0[k] = rho_lookup[idx][k]; @@ -1463,7 +1531,11 @@ void PPPMDispIntel::fieldforce_c_ik(IntelBuffers * /*buffers*/) } } else { #if defined(LMP_SIMD_COMPILER) +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif #endif for (int k = nlower; k <= nupper; k++) { FFT_SCALAR r1 = rho_coeff[order-1][k]; @@ -1498,8 +1570,12 @@ void PPPMDispIntel::fieldforce_c_ik(IntelBuffers * /*buffers*/) int my = m+nysum; FFT_SCALAR y0 = z0*rho1[m]; #if defined(LMP_SIMD_COMPILER) - #pragma loop_count min(2), max(INTEL_P3M_ALIGNED_MAXORDER), avg(7) +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif + #pragma loop_count min(2), max(INTEL_P3M_ALIGNED_MAXORDER), avg(7) #endif for (int l = 0; l < order; l++) { int mx = l+nxsum; @@ -1624,7 +1700,11 @@ void PPPMDispIntel::fieldforce_c_ad(IntelBuffers * /*buffers*/) int idz = dz; #if defined(LMP_SIMD_COMPILER) +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif #endif for (int k = 0; k < INTEL_P3M_ALIGNED_MAXORDER; k++) { rho[0][k] = rho_lookup[idx][k]; @@ -1636,7 +1716,11 @@ void PPPMDispIntel::fieldforce_c_ad(IntelBuffers * /*buffers*/) } } else { #if defined(LMP_SIMD_COMPILER) +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif #endif for (int k = nlower; k <= nupper; k++) { FFT_SCALAR r1,r2,r3,dr1,dr2,dr3; @@ -1680,8 +1764,12 @@ void PPPMDispIntel::fieldforce_c_ad(IntelBuffers * /*buffers*/) FFT_SCALAR eky_p = drho[1][m] * rho[2][n]; FFT_SCALAR ekz_p = rho[1][m] * drho[2][n]; #if defined(LMP_SIMD_COMPILER) - #pragma loop_count min(2), max(INTEL_P3M_ALIGNED_MAXORDER), avg(7) +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif + #pragma loop_count min(2), max(INTEL_P3M_ALIGNED_MAXORDER), avg(7) #endif for (int l = 0; l < order; l++) { int mx = l + nxsum; @@ -1702,7 +1790,11 @@ void PPPMDispIntel::fieldforce_c_ad(IntelBuffers * /*buffers*/) } } #if defined(LMP_SIMD_COMPILER) +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif #endif for (int i = ifrom; i < ito; i++) { particle_ekx[i] *= hx_inv; @@ -1802,7 +1894,11 @@ void PPPMDispIntel::fieldforce_g_ik(IntelBuffers * /*buffers*/) dz = dz*half_rho_scale + half_rho_scale_plus; int idz = dz; #if defined(LMP_SIMD_COMPILER) +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif #endif for (int k = 0; k < INTEL_P3M_ALIGNED_MAXORDER; k++) { rho0[k] = rho6_lookup[idx][k]; @@ -1811,7 +1907,11 @@ void PPPMDispIntel::fieldforce_g_ik(IntelBuffers * /*buffers*/) } } else { #if defined(LMP_SIMD_COMPILER) +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif #endif for (int k = nlower_6; k <= nupper_6; k++) { FFT_SCALAR r1 = rho_coeff_6[order_6-1][k]; @@ -1846,8 +1946,12 @@ void PPPMDispIntel::fieldforce_g_ik(IntelBuffers * /*buffers*/) int my = m+nysum; FFT_SCALAR y0 = z0*rho1[m]; #if defined(LMP_SIMD_COMPILER) - #pragma loop_count min(2), max(INTEL_P3M_ALIGNED_MAXORDER), avg(7) +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif + #pragma loop_count min(2), max(INTEL_P3M_ALIGNED_MAXORDER), avg(7) #endif for (int l = 0; l < order; l++) { int mx = l+nxsum; @@ -1967,7 +2071,11 @@ void PPPMDispIntel::fieldforce_g_ad(IntelBuffers * /*buffers*/) int idz = dz; #if defined(LMP_SIMD_COMPILER) +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif #endif for (int k = 0; k < INTEL_P3M_ALIGNED_MAXORDER; k++) { rho[0][k] = rho6_lookup[idx][k]; @@ -1979,7 +2087,11 @@ void PPPMDispIntel::fieldforce_g_ad(IntelBuffers * /*buffers*/) } } else { #if defined(LMP_SIMD_COMPILER) +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif #endif for (int k = nlower_6; k <= nupper_6; k++) { FFT_SCALAR r1,r2,r3,dr1,dr2,dr3; @@ -2023,8 +2135,12 @@ void PPPMDispIntel::fieldforce_g_ad(IntelBuffers * /*buffers*/) FFT_SCALAR eky_p = drho[1][m] * rho[2][n]; FFT_SCALAR ekz_p = rho[1][m] * drho[2][n]; #if defined(LMP_SIMD_COMPILER) - #pragma loop_count min(2), max(INTEL_P3M_ALIGNED_MAXORDER), avg(7) +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif + #pragma loop_count min(2), max(INTEL_P3M_ALIGNED_MAXORDER), avg(7) #endif for (int l = 0; l < order; l++) { int mx = l + nxsum; @@ -2045,7 +2161,11 @@ void PPPMDispIntel::fieldforce_g_ad(IntelBuffers * /*buffers*/) } } #if defined(LMP_SIMD_COMPILER) +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif #endif for (int i = ifrom; i < ito; i++) { particle_ekx[i] *= hx_inv; @@ -2143,7 +2263,11 @@ void PPPMDispIntel::fieldforce_a_ik(IntelBuffers * /*buffers*/) dz = dz*half_rho_scale + half_rho_scale_plus; int idz = dz; #if defined(LMP_SIMD_COMPILER) +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif #endif for (int k = 0; k < INTEL_P3M_ALIGNED_MAXORDER; k++) { rho0[k] = rho6_lookup[idx][k]; @@ -2152,7 +2276,11 @@ void PPPMDispIntel::fieldforce_a_ik(IntelBuffers * /*buffers*/) } } else { #if defined(LMP_SIMD_COMPILER) +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif #endif for (int k = nlower_6; k <= nupper_6; k++) { FFT_SCALAR r1 = rho_coeff_6[order_6-1][k]; @@ -2206,8 +2334,12 @@ void PPPMDispIntel::fieldforce_a_ik(IntelBuffers * /*buffers*/) int my = m+nysum; FFT_SCALAR y0 = z0*rho1[m]; #if defined(LMP_SIMD_COMPILER) - #pragma loop_count min(2), max(INTEL_P3M_ALIGNED_MAXORDER), avg(7) +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif + #pragma loop_count min(2), max(INTEL_P3M_ALIGNED_MAXORDER), avg(7) #endif for (int l = 0; l < order; l++) { int mx = l+nxsum; @@ -2398,7 +2530,11 @@ void PPPMDispIntel::fieldforce_a_ad(IntelBuffers * /*buffers*/) int idz = dz; #if defined(LMP_SIMD_COMPILER) +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif #endif for (int k = 0; k < INTEL_P3M_ALIGNED_MAXORDER; k++) { rho[0][k] = rho6_lookup[idx][k]; @@ -2410,7 +2546,11 @@ void PPPMDispIntel::fieldforce_a_ad(IntelBuffers * /*buffers*/) } } else { #if defined(LMP_SIMD_COMPILER) +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif #endif for (int k = nlower_6; k <= nupper_6; k++) { FFT_SCALAR r1,r2,r3,dr1,dr2,dr3; @@ -2479,8 +2619,12 @@ void PPPMDispIntel::fieldforce_a_ad(IntelBuffers * /*buffers*/) FFT_SCALAR eky_p = drho[1][m] * rho[2][n]; FFT_SCALAR ekz_p = rho[1][m] * drho[2][n]; #if defined(LMP_SIMD_COMPILER) - #pragma loop_count min(2), max(INTEL_P3M_ALIGNED_MAXORDER), avg(7) +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif + #pragma loop_count min(2), max(INTEL_P3M_ALIGNED_MAXORDER), avg(7) #endif for (int l = 0; l < order; l++) { int mx = l + nxsum; @@ -2541,7 +2685,11 @@ void PPPMDispIntel::fieldforce_a_ad(IntelBuffers * /*buffers*/) } } #if defined(LMP_SIMD_COMPILER) +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif #endif for (int i = ifrom; i < ito; i++) { particle_ekx0[i] *= hx_inv; @@ -2671,7 +2819,11 @@ void PPPMDispIntel::fieldforce_none_ik(IntelBuffers * /*buffers*/) dz = dz*half_rho_scale + half_rho_scale_plus; int idz = dz; #if defined(LMP_SIMD_COMPILER) +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif #endif for (int k = 0; k < INTEL_P3M_ALIGNED_MAXORDER; k++) { rho0[k] = rho6_lookup[idx][k]; @@ -2680,7 +2832,11 @@ void PPPMDispIntel::fieldforce_none_ik(IntelBuffers * /*buffers*/) } } else { #if defined(LMP_SIMD_COMPILER) +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif #endif for (int k = nlower_6; k <= nupper_6; k++) { FFT_SCALAR r1 = rho_coeff_6[order_6-1][k]; @@ -2721,8 +2877,12 @@ void PPPMDispIntel::fieldforce_none_ik(IntelBuffers * /*buffers*/) int my = m+nysum; FFT_SCALAR y0 = z0*rho1[m]; #if defined(LMP_SIMD_COMPILER) - #pragma loop_count min(2), max(INTEL_P3M_ALIGNED_MAXORDER), avg(7) +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif + #pragma loop_count min(2), max(INTEL_P3M_ALIGNED_MAXORDER), avg(7) #endif for (int l = 0; l < order; l++) { int mx = l+nxsum; @@ -2848,7 +3008,11 @@ void PPPMDispIntel::fieldforce_none_ad(IntelBuffers * /*buffers*/) int idz = dz; #if defined(LMP_SIMD_COMPILER) +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif #endif for (int k = 0; k < INTEL_P3M_ALIGNED_MAXORDER; k++) { rho[0][k] = rho6_lookup[idx][k]; @@ -2860,7 +3024,11 @@ void PPPMDispIntel::fieldforce_none_ad(IntelBuffers * /*buffers*/) } } else { #if defined(LMP_SIMD_COMPILER) +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif #endif for (int k = nlower_6; k <= nupper_6; k++) { FFT_SCALAR r1,r2,r3,dr1,dr2,dr3; @@ -2909,8 +3077,12 @@ void PPPMDispIntel::fieldforce_none_ad(IntelBuffers * /*buffers*/) FFT_SCALAR eky_p = drho[1][m] * rho[2][n]; FFT_SCALAR ekz_p = rho[1][m] * drho[2][n]; #if defined(LMP_SIMD_COMPILER) - #pragma loop_count min(2), max(INTEL_P3M_ALIGNED_MAXORDER), avg(7) +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif + #pragma loop_count min(2), max(INTEL_P3M_ALIGNED_MAXORDER), avg(7) #endif for (int l = 0; l < order; l++) { int mx = l + nxsum; @@ -2992,7 +3164,11 @@ void PPPMDispIntel::precompute_rho() for (int i = 0; i < rho_points; i++) { FFT_SCALAR dx = -1. + 1./half_rho_scale * (FFT_SCALAR)i; #if defined(LMP_SIMD_COMPILER) +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif #endif for (int k=nlower; k<=nupper;k++) { FFT_SCALAR r1 = ZEROF; @@ -3006,7 +3182,11 @@ void PPPMDispIntel::precompute_rho() } if (differentiation_flag == 1) { #if defined(LMP_SIMD_COMPILER) +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif #endif for (int k=nlower; k<=nupper;k++) { FFT_SCALAR r1 = ZEROF; @@ -3026,7 +3206,11 @@ void PPPMDispIntel::precompute_rho() for (int i = 0; i < rho_points; i++) { FFT_SCALAR dx = -1. + 1./half_rho_scale * (FFT_SCALAR)i; #if defined(LMP_SIMD_COMPILER) +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif #endif for (int k=nlower_6; k<=nupper_6;k++) { FFT_SCALAR r1 = ZEROF; @@ -3040,7 +3224,11 @@ void PPPMDispIntel::precompute_rho() } if (differentiation_flag == 1) { #if defined(LMP_SIMD_COMPILER) +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif #endif for (int k=nlower_6; k<=nupper_6;k++) { FFT_SCALAR r1 = ZEROF; diff --git a/src/INTEL/pppm_intel.cpp b/src/INTEL/pppm_intel.cpp index 8b0542d770..8041709ebc 100644 --- a/src/INTEL/pppm_intel.cpp +++ b/src/INTEL/pppm_intel.cpp @@ -394,8 +394,12 @@ void PPPMIntel::particle_map(IntelBuffers *buffers) IP_PRE_omp_range_id_align(iifrom, iito, tid, nlocal, nthr, sizeof(ATOM_T)); #if defined(LMP_SIMD_COMPILER) - #pragma vector aligned +#if defined(USE_OMP_SIMD) + #pragma omp simd reduction(+:flag) +#else #pragma simd reduction(+:flag) +#endif + #pragma vector aligned #endif for (int i = iifrom; i < iito; i++) { @@ -500,7 +504,11 @@ void PPPMIntel::make_rho(IntelBuffers *buffers) dz = dz*half_rho_scale + half_rho_scale_plus; int idz = dz; #if defined(LMP_SIMD_COMPILER) +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif #endif for (int k = 0; k < INTEL_P3M_ALIGNED_MAXORDER; k++) { rho[0][k] = rho_lookup[idx][k]; @@ -509,7 +517,11 @@ void PPPMIntel::make_rho(IntelBuffers *buffers) } } else { #if defined(LMP_SIMD_COMPILER) +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif #endif for (int k = nlower; k <= nupper; k++) { FFT_SCALAR r1,r2,r3; @@ -541,7 +553,11 @@ void PPPMIntel::make_rho(IntelBuffers *buffers) int mzy = m*nix + mz; FFT_SCALAR x0 = y0*rho[1][m]; #if defined(LMP_SIMD_COMPILER) +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif #endif for (int l = 0; l < INTEL_P3M_ALIGNED_MAXORDER; l++) { int mzyx = l + mzy; @@ -563,7 +579,11 @@ void PPPMIntel::make_rho(IntelBuffers *buffers) IP_PRE_omp_range_id(ifrom, ito, tid, ngrid, nthr); #if defined(LMP_SIMD_COMPILER) +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif #endif for (int i = ifrom; i < ito; i++) { for (int j = 1; j < nthr; j++) { @@ -645,7 +665,11 @@ void PPPMIntel::fieldforce_ik(IntelBuffers *buffers) dz = dz*half_rho_scale + half_rho_scale_plus; int idz = dz; #if defined(LMP_SIMD_COMPILER) +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif #endif for (int k = 0; k < INTEL_P3M_ALIGNED_MAXORDER; k++) { rho0[k] = rho_lookup[idx][k]; @@ -654,7 +678,11 @@ void PPPMIntel::fieldforce_ik(IntelBuffers *buffers) } } else { #if defined(LMP_SIMD_COMPILER) +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif #endif for (int k = nlower; k <= nupper; k++) { FFT_SCALAR r1 = rho_coeff[order-1][k]; @@ -690,7 +718,11 @@ void PPPMIntel::fieldforce_ik(IntelBuffers *buffers) int my = m+nysum; FFT_SCALAR y0 = z0*rho1[m]; #if defined(LMP_SIMD_COMPILER) +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif #endif for (int l = 0; l < INTEL_P3M_ALIGNED_MAXORDER; l++) { int mx = l+nxsum; @@ -813,7 +845,11 @@ void PPPMIntel::fieldforce_ad(IntelBuffers *buffers) dz = dz*half_rho_scale + half_rho_scale_plus; int idz = dz; #if defined(LMP_SIMD_COMPILER) +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif #endif for (int k = 0; k < INTEL_P3M_ALIGNED_MAXORDER; k++) { rho[0][k] = rho_lookup[idx][k]; @@ -825,7 +861,11 @@ void PPPMIntel::fieldforce_ad(IntelBuffers *buffers) } } else { #if defined(LMP_SIMD_COMPILER) +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif #endif for (int k = nlower; k <= nupper; k++) { FFT_SCALAR r1,r2,r3,dr1,dr2,dr3; @@ -871,7 +911,11 @@ void PPPMIntel::fieldforce_ad(IntelBuffers *buffers) FFT_SCALAR eky_p = drho[1][m] * rho[2][n]; FFT_SCALAR ekz_p = rho[1][m] * drho[2][n]; #if defined(LMP_SIMD_COMPILER) +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif #endif for (int l = 0; l < INTEL_P3M_ALIGNED_MAXORDER; l++) { int mx = l + nxsum; @@ -893,7 +937,11 @@ void PPPMIntel::fieldforce_ad(IntelBuffers *buffers) } #if defined(LMP_SIMD_COMPILER) +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif #endif for (int i = ifrom; i < ito; i++) { particle_ekx[i] *= hx_inv; @@ -942,7 +990,11 @@ void PPPMIntel::precompute_rho() for (int i = 0; i < rho_points; i++) { FFT_SCALAR dx = -1. + 1./half_rho_scale * (FFT_SCALAR)i; #if defined(LMP_SIMD_COMPILER) +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif #endif for (int k=nlower; k<=nupper;k++) { FFT_SCALAR r1 = ZEROF; @@ -956,7 +1008,11 @@ void PPPMIntel::precompute_rho() } if (differentiation_flag == 1) { #if defined(LMP_SIMD_COMPILER) +#if defined(USE_OMP_SIMD) + #pragma omp simd +#else #pragma simd +#endif #endif for (int k=nlower; k<=nupper;k++) { FFT_SCALAR r1 = ZEROF; From af359df04255b491aafeefd8fc6a49e12f86ad43 Mon Sep 17 00:00:00 2001 From: Mike Brown Date: Mon, 26 Jul 2021 12:04:31 -0700 Subject: [PATCH 536/726] Allowing nofdotr for Intel package with newton off. --- src/INTEL/pair_airebo_intel.cpp | 5 +++-- src/INTEL/pair_buck_coul_cut_intel.cpp | 5 +++-- src/INTEL/pair_buck_coul_long_intel.cpp | 5 +++-- src/INTEL/pair_buck_intel.cpp | 5 +++-- src/INTEL/pair_dpd_intel.cpp | 5 +++-- src/INTEL/pair_eam_intel.cpp | 5 +++-- src/INTEL/pair_gayberne_intel.cpp | 5 +++-- src/INTEL/pair_lj_charmm_coul_charmm_intel.cpp | 5 +++-- src/INTEL/pair_lj_charmm_coul_long_intel.cpp | 5 +++-- src/INTEL/pair_lj_cut_coul_long_intel.cpp | 5 +++-- src/INTEL/pair_lj_cut_intel.cpp | 5 +++-- src/INTEL/pair_sw_intel.cpp | 5 +++-- src/INTEL/pair_tersoff_intel.cpp | 5 +++-- 13 files changed, 39 insertions(+), 26 deletions(-) diff --git a/src/INTEL/pair_airebo_intel.cpp b/src/INTEL/pair_airebo_intel.cpp index 5ea0d3168b..be38bbe418 100644 --- a/src/INTEL/pair_airebo_intel.cpp +++ b/src/INTEL/pair_airebo_intel.cpp @@ -292,8 +292,9 @@ void PairAIREBOIntel::compute( ev_init(eflag,vflag); if (vflag_atom) error->all(FLERR,"INTEL package does not support per-atom stress"); - if (vflag && !vflag_fdotr) - error->all(FLERR,"INTEL package does not support pair_modify nofdotr"); + if (vflag && !vflag_fdotr && force->newton_pair) + error->all(FLERR,"INTEL package does not support pair_modify nofdotr " + "with newton on"); pvector[0] = pvector[1] = pvector[2] = 0.0; diff --git a/src/INTEL/pair_buck_coul_cut_intel.cpp b/src/INTEL/pair_buck_coul_cut_intel.cpp index c67450fbc1..9181b15aae 100644 --- a/src/INTEL/pair_buck_coul_cut_intel.cpp +++ b/src/INTEL/pair_buck_coul_cut_intel.cpp @@ -77,8 +77,9 @@ void PairBuckCoulCutIntel::compute(int eflag, int vflag, ev_init(eflag,vflag); if (vflag_atom) error->all(FLERR,"INTEL package does not support per-atom stress"); - if (vflag && !vflag_fdotr) - error->all(FLERR,"INTEL package does not support pair_modify nofdotr"); + if (vflag && !vflag_fdotr && force->newton_pair) + error->all(FLERR,"INTEL package does not support pair_modify nofdotr " + "with newton on"); const int inum = list->inum; const int nthreads = comm->nthreads; diff --git a/src/INTEL/pair_buck_coul_long_intel.cpp b/src/INTEL/pair_buck_coul_long_intel.cpp index 7c795d5914..fdf78ff5d9 100644 --- a/src/INTEL/pair_buck_coul_long_intel.cpp +++ b/src/INTEL/pair_buck_coul_long_intel.cpp @@ -77,8 +77,9 @@ void PairBuckCoulLongIntel::compute(int eflag, int vflag, ev_init(eflag,vflag); if (vflag_atom) error->all(FLERR,"INTEL package does not support per-atom stress"); - if (vflag && !vflag_fdotr) - error->all(FLERR,"INTEL package does not support pair_modify nofdotr"); + if (vflag && !vflag_fdotr && force->newton_pair) + error->all(FLERR,"INTEL package does not support pair_modify nofdotr " + "with newton on"); const int inum = list->inum; const int nthreads = comm->nthreads; diff --git a/src/INTEL/pair_buck_intel.cpp b/src/INTEL/pair_buck_intel.cpp index ddab17765b..2dae75f920 100644 --- a/src/INTEL/pair_buck_intel.cpp +++ b/src/INTEL/pair_buck_intel.cpp @@ -70,8 +70,9 @@ void PairBuckIntel::compute(int eflag, int vflag, ev_init(eflag,vflag); if (vflag_atom) error->all(FLERR,"INTEL package does not support per-atom stress"); - if (vflag && !vflag_fdotr) - error->all(FLERR,"INTEL package does not support pair_modify nofdotr"); + if (vflag && !vflag_fdotr && force->newton_pair) + error->all(FLERR,"INTEL package does not support pair_modify nofdotr " + "with newton on"); const int inum = list->inum; const int nthreads = comm->nthreads; diff --git a/src/INTEL/pair_dpd_intel.cpp b/src/INTEL/pair_dpd_intel.cpp index a9eb4fe6a4..b69473fbbf 100644 --- a/src/INTEL/pair_dpd_intel.cpp +++ b/src/INTEL/pair_dpd_intel.cpp @@ -89,8 +89,9 @@ void PairDPDIntel::compute(int eflag, int vflag, ev_init(eflag, vflag); if (vflag_atom) error->all(FLERR,"INTEL package does not support per-atom stress"); - if (vflag && !vflag_fdotr) - error->all(FLERR,"INTEL package does not support pair_modify nofdotr"); + if (vflag && !vflag_fdotr && force->newton_pair) + error->all(FLERR,"INTEL package does not support pair_modify nofdotr " + "with newton on"); const int inum = list->inum; const int nthreads = comm->nthreads; diff --git a/src/INTEL/pair_eam_intel.cpp b/src/INTEL/pair_eam_intel.cpp index 13dbd60cb3..911a623d6d 100644 --- a/src/INTEL/pair_eam_intel.cpp +++ b/src/INTEL/pair_eam_intel.cpp @@ -82,8 +82,9 @@ void PairEAMIntel::compute(int eflag, int vflag, ev_init(eflag, vflag); if (vflag_atom) error->all(FLERR,"INTEL package does not support per-atom stress"); - if (vflag && !vflag_fdotr) - error->all(FLERR,"INTEL package does not support pair_modify nofdotr"); + if (vflag && !vflag_fdotr && force->newton_pair) + error->all(FLERR,"INTEL package does not support pair_modify nofdotr " + "with newton on"); const int inum = list->inum; const int nthreads = comm->nthreads; diff --git a/src/INTEL/pair_gayberne_intel.cpp b/src/INTEL/pair_gayberne_intel.cpp index c3abf68c12..285dd9661b 100644 --- a/src/INTEL/pair_gayberne_intel.cpp +++ b/src/INTEL/pair_gayberne_intel.cpp @@ -76,8 +76,9 @@ void PairGayBerneIntel::compute(int eflag, int vflag, ev_init(eflag, vflag); if (vflag_atom) error->all(FLERR,"INTEL package does not support per-atom stress"); - if (vflag && !vflag_fdotr) - error->all(FLERR,"INTEL package does not support pair_modify nofdotr"); + if (vflag && !vflag_fdotr && force->newton_pair) + error->all(FLERR,"INTEL package does not support pair_modify nofdotr " + "with newton on"); const int inum = list->inum; const int nall = atom->nlocal + atom->nghost; diff --git a/src/INTEL/pair_lj_charmm_coul_charmm_intel.cpp b/src/INTEL/pair_lj_charmm_coul_charmm_intel.cpp index ef26f8f2d5..3a7ab5276e 100644 --- a/src/INTEL/pair_lj_charmm_coul_charmm_intel.cpp +++ b/src/INTEL/pair_lj_charmm_coul_charmm_intel.cpp @@ -73,8 +73,9 @@ void PairLJCharmmCoulCharmmIntel::compute(int eflag, int vflag, ev_init(eflag,vflag); if (vflag_atom) error->all(FLERR,"INTEL package does not support per-atom stress"); - if (vflag && !vflag_fdotr) - error->all(FLERR,"INTEL package does not support pair_modify nofdotr"); + if (vflag && !vflag_fdotr && force->newton_pair) + error->all(FLERR,"INTEL package does not support pair_modify nofdotr " + "with newton on"); const int inum = list->inum; const int nthreads = comm->nthreads; diff --git a/src/INTEL/pair_lj_charmm_coul_long_intel.cpp b/src/INTEL/pair_lj_charmm_coul_long_intel.cpp index 6f6bb3618e..8a4595dd99 100644 --- a/src/INTEL/pair_lj_charmm_coul_long_intel.cpp +++ b/src/INTEL/pair_lj_charmm_coul_long_intel.cpp @@ -77,8 +77,9 @@ void PairLJCharmmCoulLongIntel::compute(int eflag, int vflag, ev_init(eflag,vflag); if (vflag_atom) error->all(FLERR,"INTEL package does not support per-atom stress"); - if (vflag && !vflag_fdotr) - error->all(FLERR,"INTEL package does not support pair_modify nofdotr"); + if (vflag && !vflag_fdotr && force->newton_pair) + error->all(FLERR,"INTEL package does not support pair_modify nofdotr " + "with newton on"); const int inum = list->inum; const int nthreads = comm->nthreads; diff --git a/src/INTEL/pair_lj_cut_coul_long_intel.cpp b/src/INTEL/pair_lj_cut_coul_long_intel.cpp index 0d94fdb4c3..a53d74f72a 100644 --- a/src/INTEL/pair_lj_cut_coul_long_intel.cpp +++ b/src/INTEL/pair_lj_cut_coul_long_intel.cpp @@ -76,8 +76,9 @@ void PairLJCutCoulLongIntel::compute(int eflag, int vflag, ev_init(eflag,vflag); if (vflag_atom) error->all(FLERR,"INTEL package does not support per-atom stress"); - if (vflag && !vflag_fdotr) - error->all(FLERR,"INTEL package does not support pair_modify nofdotr"); + if (vflag && !vflag_fdotr && force->newton_pair) + error->all(FLERR,"INTEL package does not support pair_modify nofdotr " + "with newton on"); const int inum = list->inum; const int nthreads = comm->nthreads; diff --git a/src/INTEL/pair_lj_cut_intel.cpp b/src/INTEL/pair_lj_cut_intel.cpp index cf84cb3ca5..133b6079a1 100644 --- a/src/INTEL/pair_lj_cut_intel.cpp +++ b/src/INTEL/pair_lj_cut_intel.cpp @@ -68,8 +68,9 @@ void PairLJCutIntel::compute(int eflag, int vflag, ev_init(eflag, vflag); if (vflag_atom) error->all(FLERR,"INTEL package does not support per-atom stress"); - if (vflag && !vflag_fdotr) - error->all(FLERR,"INTEL package does not support pair_modify nofdotr"); + if (vflag && !vflag_fdotr && force->newton_pair) + error->all(FLERR,"INTEL package does not support pair_modify nofdotr " + "with newton on"); const int inum = list->inum; const int nthreads = comm->nthreads; diff --git a/src/INTEL/pair_sw_intel.cpp b/src/INTEL/pair_sw_intel.cpp index 57a6b29945..f494965ff8 100644 --- a/src/INTEL/pair_sw_intel.cpp +++ b/src/INTEL/pair_sw_intel.cpp @@ -97,8 +97,9 @@ void PairSWIntel::compute(int eflag, int vflag, ev_init(eflag, vflag); if (vflag_atom) error->all(FLERR,"INTEL package does not support per-atom stress"); - if (vflag && !vflag_fdotr) - error->all(FLERR,"INTEL package does not support pair_modify nofdotr"); + if (vflag && !vflag_fdotr && force->newton_pair) + error->all(FLERR,"INTEL package does not support pair_modify nofdotr " + "with newton on"); const int inum = list->inum; const int nthreads = comm->nthreads; diff --git a/src/INTEL/pair_tersoff_intel.cpp b/src/INTEL/pair_tersoff_intel.cpp index d4b8f7d499..732d100927 100644 --- a/src/INTEL/pair_tersoff_intel.cpp +++ b/src/INTEL/pair_tersoff_intel.cpp @@ -91,8 +91,9 @@ void PairTersoffIntel::compute(int eflag, int vflag, ev_init(eflag,vflag); if (vflag_atom) error->all(FLERR,"INTEL package does not support per-atom stress"); - if (vflag && !vflag_fdotr) - error->all(FLERR,"INTEL package does not support pair_modify nofdotr"); + if (vflag && !vflag_fdotr && force->newton_pair) + error->all(FLERR,"INTEL package does not support pair_modify nofdotr " + "with newton on"); const int inum = list->inum; const int nthreads = comm->nthreads; From fdc75dcf35f1a2331cc0cd7568b45564d5841a02 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 26 Jul 2021 18:32:06 -0400 Subject: [PATCH 537/726] add lammps_gather_bonds() function to the C library interface --- doc/src/Library_scatter.rst | 5 ++ src/library.cpp | 107 ++++++++++++++++++++++++++++++++++++ src/library.h | 2 + tools/swig/lammps.i | 2 + 4 files changed, 116 insertions(+) diff --git a/doc/src/Library_scatter.rst b/doc/src/Library_scatter.rst index b45f45f6fb..a01610bdce 100644 --- a/doc/src/Library_scatter.rst +++ b/doc/src/Library_scatter.rst @@ -17,6 +17,7 @@ It documents the following functions: - :cpp:func:`lammps_gather_atoms_subset` - :cpp:func:`lammps_scatter_atoms` - :cpp:func:`lammps_scatter_atoms_subset` +- :cpp:func:`lammps_gather_bonds` - :cpp:func:`lammps_gather` - :cpp:func:`lammps_gather_concat` - :cpp:func:`lammps_gather_subset` @@ -51,6 +52,10 @@ It documents the following functions: ----------------------- +.. doxygenfunction:: lammps_gather_bonds + :project: progguide + +----------------------- .. doxygenfunction:: lammps_gather :project: progguide diff --git a/src/library.cpp b/src/library.cpp index 4847c705af..d745e05755 100644 --- a/src/library.cpp +++ b/src/library.cpp @@ -2686,6 +2686,113 @@ void lammps_scatter_atoms_subset(void *handle, char *name, int type, int count, END_CAPTURE } +/** Gather type and constituent atom info for all bonds + * +\verbatim embed:rst + +This function copies the list of all bonds into a buffer provided by +the calling code. The buffer will be filled with bond type, bond atom 1, +bond atom 2 for each bond. Thus the buffer has to be allocated to the +dimension of 3 times the **total** number of bonds times the size of +the LAMMPS "tagint" type, which is either 4 or 8 bytes depending on + whether they are stored in 32-bit or 64-bit integers, respectively. +This size depends on the compile time settings used when compiling +the LAMMPS library and can be queried by calling + :cpp:func:`lammps_extract_setting()` with the keyword "tagint". + +When running in parallel, the data buffer must be allocated on **all** +MPI ranks and will be filled with the information for **all** bonds +in the system. + +Below is a brief C code demonstrating accessing this collected bond information. + +.. code-block:: c + + #include + #include + #include + #include "library.h" + + int main(int argc, char **argv) + { + int tagintsize; + int64_t i, nbonds; + void *handle, *bonds; + + handle = lammps_open_no_mpi(0, NULL, NULL); + lammps_file(handle, "in.some_input"); + + tagintsize = lammps_extract_setting(handle, "tagint"); + if (tagintsize == 4) + nbonds = *(int32_t *)lammps_extract_global(handle, "nbonds"); + else + nbonds = *(int64_t *)lammps_extract_global(handle, "nbonds"); + bonds = malloc(nbonds * 3 * tagintsize); + + lammps_gather_bonds(handle, bonds); + + if (lammps_extract_setting(handle, "world_rank") == 0) { + if (tagintsize == 4) { + int32_t *bonds_real = (int32_t *)bonds; + for (i = 0; i < nbonds; ++i) { + printf("bond % 4ld: type = %d, atoms: % 4d % 4d\n",i, + bonds_real[3*i], bonds_real[3*i+1], bonds_real[3*i+2]); + } + } else { + int64_t *bonds_real = (int64_t *)bonds; + for (i = 0; i < nbonds; ++i) { + printf("bond % 4ld: type = %ld, atoms: % 4ld % 4ld\n",i, + bonds_real[3*i], bonds_real[3*i+1], bonds_real[3*i+2]); + } + } + } + + lammps_close(handle); + lammps_mpi_finalize(); + free(bonds); + return 0; + } + +\endverbatim + * + * \param handle pointer to a previously created LAMMPS instance + * \param data pointer to data to copy the result to */ + +void lammps_gather_bonds(void *handle, void *data) +{ + LAMMPS *lmp = (LAMMPS *)handle; + BEGIN_CAPTURE { + void *val = lammps_extract_global(handle,"nbonds"); + bigint nbonds = *(bigint *)val; + + // no bonds + if (nbonds == 0) return; + + // count per MPI rank bonds, determine offsets and allocate local buffers + int localbonds = lmp->atom->avec->pack_bond(nullptr); + int nprocs = lmp->comm->nprocs; + int *bufsizes = new int[nprocs]; + int *bufoffsets = new int[nprocs]; + MPI_Allgather(&localbonds, 1, MPI_INT, bufsizes, 1, MPI_INT, lmp->world); + bufoffsets[0] = 0; + bufsizes[0] *= 3; // 3 items per bond: type, atom1, atom2 + for (int i = 1; i < nprocs; ++i) { + bufoffsets[i] = bufoffsets[i-1] + bufsizes[i-1]; + bufsizes[i] *= 3; // 3 items per bond: type, atom1, atom2 + } + + tagint **bonds; + lmp->memory->create(bonds, localbonds, 3, "library:gather_bonds:localbonds"); + lmp->atom->avec->pack_bond(bonds); + MPI_Allgatherv(&bonds[0][0], 3*localbonds, MPI_LMP_TAGINT, data, bufsizes, + bufoffsets, MPI_LMP_TAGINT, lmp->world); + lmp->memory->destroy(bonds); + delete[] bufsizes; + delete[] bufoffsets; + } + END_CAPTURE +} + /* ---------------------------------------------------------------------- Contributing author: Thomas Swinburne (CNRS & CINaM, Marseille, France) gather the named atom-based entity for all atoms diff --git a/src/library.h b/src/library.h index 654eda38fa..91146e8526 100644 --- a/src/library.h +++ b/src/library.h @@ -152,6 +152,8 @@ void lammps_scatter_atoms(void *handle, char *name, int type, int count, void *d void lammps_scatter_atoms_subset(void *handle, char *name, int type, int count, int ndata, int *ids, void *data); +void lammps_gather_bonds(void *handle, void *data); + void lammps_gather(void *handle, char *name, int type, int count, void *data); void lammps_gather_concat(void *handle, char *name, int type, int count, void *data); void lammps_gather_subset(void *handle, char *name, int type, int count, int ndata, int *ids, diff --git a/tools/swig/lammps.i b/tools/swig/lammps.i index 5bf47f2463..2767e4c068 100644 --- a/tools/swig/lammps.i +++ b/tools/swig/lammps.i @@ -91,6 +91,7 @@ extern void lammps_gather_atoms_concat(void *, char *, int, int, void *); extern void lammps_gather_atoms_subset(void *, char *, int, int, int, int *, void *); extern void lammps_scatter_atoms(void *, char *, int, int, void *); extern void lammps_scatter_atoms_subset(void *, char *, int, int, int, int *, void *); +extern void lammps_gather_bonds(void *handle, void *data); extern void lammps_gather(void *, char *, int, int, void *); extern void lammps_gather_concat(void *, char *, int, int, void *); extern void lammps_gather_subset(void *, char *, int, int, int, int *, void *); @@ -225,6 +226,7 @@ extern void lammps_gather_atoms_concat(void *, char *, int, int, void *); extern void lammps_gather_atoms_subset(void *, char *, int, int, int, int *, void *); extern void lammps_scatter_atoms(void *, char *, int, int, void *); extern void lammps_scatter_atoms_subset(void *, char *, int, int, int, int *, void *); +extern void lammps_gather_bonds(void *handle, void *data); extern void lammps_gather(void *, char *, int, int, void *); extern void lammps_gather_concat(void *, char *, int, int, void *); extern void lammps_gather_subset(void *, char *, int, int, int, int *, void *); From 829bc8a617910d2226f67d8ee27c57daced0eb1f Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 26 Jul 2021 18:45:37 -0400 Subject: [PATCH 538/726] update equation for updated NEB code --- doc/src/fix_neb.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/fix_neb.rst b/doc/src/fix_neb.rst index 848369d3ea..5e57da328a 100644 --- a/doc/src/fix_neb.rst +++ b/doc/src/fix_neb.rst @@ -89,7 +89,7 @@ first stage) is changed to: .. parsed-literal:: - Fi = -Grad(V) + 2 (Grad(V) dot T') T' + Fi = -Grad(V) + 2 (Grad(V) dot T') T' + Fnudge_perp and the relaxation procedure is continued to a new converged MEP. From cc87e7eee3ba9c842ff8166971183daedd317f08 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 26 Jul 2021 20:59:14 -0400 Subject: [PATCH 539/726] add unit test for c-library interface function lammps_gather_bonds() --- unittest/c-library/CMakeLists.txt | 6 + unittest/c-library/test_library_external.cpp | 2 +- .../c-library/test_library_scatter_gather.cpp | 133 ++++++++++++++++++ 3 files changed, 140 insertions(+), 1 deletion(-) create mode 100644 unittest/c-library/test_library_scatter_gather.cpp diff --git a/unittest/c-library/CMakeLists.txt b/unittest/c-library/CMakeLists.txt index b01cd64677..ee7f323c0f 100644 --- a/unittest/c-library/CMakeLists.txt +++ b/unittest/c-library/CMakeLists.txt @@ -17,6 +17,12 @@ target_compile_definitions(test_library_properties PRIVATE -DTEST_INPUT_FOLDER=$ add_test(LibraryProperties test_library_properties) set_tests_properties(LibraryProperties PROPERTIES ENVIRONMENT "LAMMPS_POTENTIALS=${LAMMPS_POTENTIALS_DIR}") +add_executable(test_library_scatter_gather test_library_scatter_gather.cpp test_main.cpp) +target_link_libraries(test_library_scatter_gather PRIVATE lammps GTest::GTest GTest::GMock) +target_compile_definitions(test_library_scatter_gather PRIVATE -DTEST_INPUT_FOLDER=${CMAKE_CURRENT_SOURCE_DIR}) +add_test(LibraryScatterGather test_library_scatter_gather) +set_tests_properties(LibraryScatterGather PROPERTIES ENVIRONMENT "LAMMPS_POTENTIALS=${LAMMPS_POTENTIALS_DIR}") + set(TEST_CONFIG_DEFS "-DTEST_INPUT_FOLDER=${CMAKE_CURRENT_SOURCE_DIR};-DLAMMPS_${LAMMPS_SIZES}") set(PKG_COUNT 0) foreach(PKG ${STANDARD_PACKAGES} ${SUFFIX_PACKAGES}) diff --git a/unittest/c-library/test_library_external.cpp b/unittest/c-library/test_library_external.cpp index 005b31fcab..15edd5f113 100644 --- a/unittest/c-library/test_library_external.cpp +++ b/unittest/c-library/test_library_external.cpp @@ -1,4 +1,4 @@ -// unit tests creating LAMMPS instances via the library interface +// unit tests for interfacing with fix external via the library interface #include "library.h" diff --git a/unittest/c-library/test_library_scatter_gather.cpp b/unittest/c-library/test_library_scatter_gather.cpp new file mode 100644 index 0000000000..34022f617e --- /dev/null +++ b/unittest/c-library/test_library_scatter_gather.cpp @@ -0,0 +1,133 @@ +// unit tests for testing scatter/gather operations through the library interface + +#include "lammps.h" +#include "library.h" +#include "lmptype.h" +#include + +#include "gmock/gmock.h" +#include "gtest/gtest.h" + +#include "test_main.h" + +#define STRINGIFY(val) XSTR(val) +#define XSTR(val) #val + +using ::LAMMPS_NS::bigint; +using ::LAMMPS_NS::tagint; +using ::testing::HasSubstr; +using ::testing::StartsWith; + +class GatherProperties : public ::testing::Test { +protected: + void *lmp; + std::string INPUT_DIR = STRINGIFY(TEST_INPUT_FOLDER); + + GatherProperties(){}; + ~GatherProperties() override{}; + + void SetUp() override + { + const char *args[] = {"LAMMPS_test", "-log", "none", + "-echo", "screen", "-nocite", + "-var", "input_dir", STRINGIFY(TEST_INPUT_FOLDER)}; + + char **argv = (char **)args; + int argc = sizeof(args) / sizeof(char *); + + ::testing::internal::CaptureStdout(); + lmp = lammps_open_no_mpi(argc, argv, NULL); + std::string output = ::testing::internal::GetCapturedStdout(); + if (verbose) std::cout << output; + EXPECT_THAT(output, StartsWith("LAMMPS (")); + } + void TearDown() override + { + ::testing::internal::CaptureStdout(); + lammps_close(lmp); + std::string output = ::testing::internal::GetCapturedStdout(); + EXPECT_THAT(output, HasSubstr("Total wall time:")); + if (verbose) std::cout << output; + lmp = nullptr; + } +}; + +TEST_F(GatherProperties, gather_bonds_newton_on) +{ + if (!lammps_has_style(lmp, "atom", "full")) GTEST_SKIP(); + std::string input = INPUT_DIR + PATH_SEP + "in.fourmol"; + if (!verbose) ::testing::internal::CaptureStdout(); + lammps_command(lmp, "newton on on"); + lammps_file(lmp, input.c_str()); + if (!verbose) ::testing::internal::GetCapturedStdout(); + + bigint nbonds = *(bigint *)lammps_extract_global(lmp, "nbonds"); + EXPECT_EQ(nbonds, 24); + + tagint *bonds = new tagint[3 * nbonds]; + lammps_gather_bonds(lmp, bonds); + +#define CHECK_BOND(idx, type, atom1, atom2) \ + if (((bonds[3 * idx + 1] == atom1) && (bonds[3 * idx + 2] == atom2)) || \ + ((bonds[3 * idx + 1] == atom2) && (bonds[3 * idx + 2] == atom1))) { \ + EXPECT_EQ(bonds[3 * idx], type); \ + ++count; \ + } + + // check validity of a few bonds by comparing the bond type and counting the matches. + int count = 0; + for (bigint i = 0; i < nbonds; ++i) { + CHECK_BOND(i, 5, 1, 2); + CHECK_BOND(i, 3, 1, 3); + CHECK_BOND(i, 2, 3, 4); + CHECK_BOND(i, 2, 3, 5); + CHECK_BOND(i, 1, 3, 6); + CHECK_BOND(i, 3, 6, 8); + CHECK_BOND(i, 4, 6, 7); + CHECK_BOND(i, 5, 8, 9); + CHECK_BOND(i, 5, 27, 28); + CHECK_BOND(i, 5, 27, 29); + } + EXPECT_EQ(count, 10); + delete[] bonds; +}; + +TEST_F(GatherProperties, gather_bonds_newton_off) +{ + if (!lammps_has_style(lmp, "atom", "full")) GTEST_SKIP(); + std::string input = INPUT_DIR + PATH_SEP + "in.fourmol"; + if (!verbose) ::testing::internal::CaptureStdout(); + lammps_command(lmp, "newton off off"); + lammps_file(lmp, input.c_str()); + if (!verbose) ::testing::internal::GetCapturedStdout(); + + bigint nbonds = *(bigint *)lammps_extract_global(lmp, "nbonds"); + EXPECT_EQ(nbonds, 24); + + tagint *bonds = new tagint[3 * nbonds]; + lammps_gather_bonds(lmp, bonds); + +#define CHECK_BOND(idx, type, atom1, atom2) \ + if (((bonds[3 * idx + 1] == atom1) && (bonds[3 * idx + 2] == atom2)) || \ + ((bonds[3 * idx + 1] == atom2) && (bonds[3 * idx + 2] == atom1))) { \ + EXPECT_EQ(bonds[3 * idx], type); \ + ++count; \ + } + + // check validity of a few bonds by comparing the bond type and counting the matches. + int count = 0; + for (bigint i = 0; i < nbonds; ++i) { + CHECK_BOND(i, 5, 1, 2); + CHECK_BOND(i, 3, 1, 3); + CHECK_BOND(i, 2, 3, 4); + CHECK_BOND(i, 2, 3, 5); + CHECK_BOND(i, 1, 3, 6); + CHECK_BOND(i, 3, 6, 8); + CHECK_BOND(i, 4, 6, 7); + CHECK_BOND(i, 5, 8, 9); + CHECK_BOND(i, 5, 27, 28); + CHECK_BOND(i, 5, 27, 29); + } + EXPECT_EQ(count, 10); + delete[] bonds; +}; From 458253b452aff5a906de890bcf775a868b6a4b5c Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 26 Jul 2021 22:36:00 -0400 Subject: [PATCH 540/726] add python interface with optional numpy support for lammps_gather_bonds() unit tests are included --- doc/src/Library_scatter.rst | 1 + python/lammps/core.py | 29 ++++ python/lammps/numpy_wrapper.py | 18 ++ src/library.cpp | 6 +- unittest/python/CMakeLists.txt | 7 + unittest/python/data.fourmol | 210 +++++++++++++++++++++++ unittest/python/in.fourmol | 25 +++ unittest/python/python-numpy.py | 63 +++++++ unittest/python/python-scatter-gather.py | 90 ++++++++++ 9 files changed, 447 insertions(+), 2 deletions(-) create mode 100644 unittest/python/data.fourmol create mode 100644 unittest/python/in.fourmol create mode 100644 unittest/python/python-scatter-gather.py diff --git a/doc/src/Library_scatter.rst b/doc/src/Library_scatter.rst index a01610bdce..8380ef91bd 100644 --- a/doc/src/Library_scatter.rst +++ b/doc/src/Library_scatter.rst @@ -56,6 +56,7 @@ It documents the following functions: :project: progguide ----------------------- + .. doxygenfunction:: lammps_gather :project: progguide diff --git a/python/lammps/core.py b/python/lammps/core.py index d981243503..03378f471d 100644 --- a/python/lammps/core.py +++ b/python/lammps/core.py @@ -201,6 +201,9 @@ class lammps(object): [c_void_p,c_char_p,c_int,c_int,c_int,POINTER(c_int),c_void_p] self.lib.lammps_scatter_atoms_subset.restype = None + self.lib.lammps_gather_bonds.argtypes = [c_void_p,c_void_p] + self.lib.lammps_gather_bonds.restype = None + self.lib.lammps_gather.argtypes = \ [c_void_p,c_char_p,c_int,c_int,c_void_p] self.lib.lammps_gather.restype = None @@ -1206,6 +1209,32 @@ class lammps(object): with ExceptionCheck(self): self.lib.lammps_scatter_atoms_subset(self.lmp,name,dtype,count,ndata,ids,data) + + # ------------------------------------------------------------------------- + + def gather_bonds(self): + """Retrieve global list of bonds + + This is a wrapper around the :cpp:func:`lammps_gather_bonds` + function of the C-library interface. + + This function returns a tuple with the number of bonds and a + flat list of ctypes integer values with the bond type, bond atom1, + bond atom2 for each bond. + + .. versionadded:: 28Jul2021 + + :return: a tuple with the number of bonds and a list of c_int or c_long + :rtype: (int, 3*nbonds*c_tagint) + """ + nbonds = self.extract_global("nbonds") + with ExceptionCheck(self): + data = ((3*nbonds)*self.c_tagint)() + self.lib.lammps_gather_bonds(self.lmp,data) + return nbonds,data + + # ------------------------------------------------------------------------- + # return vector of atom/compute/fix properties gathered across procs # 3 variants to match src/library.cpp # name = atom property recognized by LAMMPS in atom->extract() diff --git a/python/lammps/numpy_wrapper.py b/python/lammps/numpy_wrapper.py index 6f4503a9c8..a6cde93b95 100644 --- a/python/lammps/numpy_wrapper.py +++ b/python/lammps/numpy_wrapper.py @@ -248,6 +248,24 @@ class numpy_wrapper: # ------------------------------------------------------------------------- + def gather_bonds(self): + """Retrieve global list of bonds as NumPy array + + This is a wrapper around :py:meth:`lammps.gather_bonds() ` + It behaves the same as the original method, but returns a NumPy array instead + of a ``ctypes`` list. + + .. versionadded:: 28Jul2021 + + :return: the requested data as a 2d-integer numpy array + :rtype: numpy.array(nbonds,3) + """ + import numpy as np + nbonds, value = self.lmp.gather_bonds() + return np.ctypeslib.as_array(value).reshape(nbonds,3) + + # ------------------------------------------------------------------------- + def fix_external_get_force(self, fix_id): """Get access to the array with per-atom forces of a fix external instance with a given fix ID. diff --git a/src/library.cpp b/src/library.cpp index d745e05755..5cb101d6a4 100644 --- a/src/library.cpp +++ b/src/library.cpp @@ -2695,15 +2695,17 @@ the calling code. The buffer will be filled with bond type, bond atom 1, bond atom 2 for each bond. Thus the buffer has to be allocated to the dimension of 3 times the **total** number of bonds times the size of the LAMMPS "tagint" type, which is either 4 or 8 bytes depending on - whether they are stored in 32-bit or 64-bit integers, respectively. +whether they are stored in 32-bit or 64-bit integers, respectively. This size depends on the compile time settings used when compiling the LAMMPS library and can be queried by calling - :cpp:func:`lammps_extract_setting()` with the keyword "tagint". +:cpp:func:`lammps_extract_setting()` with the keyword "tagint". When running in parallel, the data buffer must be allocated on **all** MPI ranks and will be filled with the information for **all** bonds in the system. +.. versionadded:: 28Jul2021 + Below is a brief C code demonstrating accessing this collected bond information. .. code-block:: c diff --git a/unittest/python/CMakeLists.txt b/unittest/python/CMakeLists.txt index 9c9b7832ad..6832f7e028 100644 --- a/unittest/python/CMakeLists.txt +++ b/unittest/python/CMakeLists.txt @@ -29,6 +29,7 @@ if(Python_EXECUTABLE) # prepare to augment the environment so that the LAMMPS python module and the shared library is found. set(PYTHON_TEST_ENVIRONMENT PYTHONPATH=${LAMMPS_PYTHON_DIR}:$ENV{PYTHONPATH}) list(APPEND PYTHON_TEST_ENVIRONMENT "LAMMPS_POTENTIALS=${LAMMPS_POTENTIALS_DIR}") + list(APPEND PYTHON_TEST_ENVIRONMENT "TEST_INPUT_DIR=${CMAKE_CURRENT_SOURCE_DIR}") if(APPLE) list(APPEND PYTHON_TEST_ENVIRONMENT "DYLD_LIBRARY_PATH=${CMAKE_BINARY_DIR}:$ENV{DYLD_LIBRARY_PATH};LAMMPS_CMAKE_CACHE=${CMAKE_BINARY_DIR}/CMakeCache.txt") else() @@ -90,6 +91,12 @@ if(Python_EXECUTABLE) COMMAND ${PYTHON_TEST_RUNNER} ${CMAKE_CURRENT_SOURCE_DIR}/python-fix-external.py -v WORKING_DIRECTORY ${EXECUTABLE_OUTPUT_PATH}) set_tests_properties(PythonFixExternal PROPERTIES ENVIRONMENT "${PYTHON_TEST_ENVIRONMENT}") + + add_test(NAME PythonScatterGather + COMMAND ${PYTHON_TEST_RUNNER} ${CMAKE_CURRENT_SOURCE_DIR}/python-scatter-gather.py -v + WORKING_DIRECTORY ${EXECUTABLE_OUTPUT_PATH}) + set_tests_properties(PythonScatterGather PROPERTIES ENVIRONMENT "${PYTHON_TEST_ENVIRONMENT}") + else() message(STATUS "Skipping Tests for the LAMMPS Python Module: no suitable Python interpreter") endif() diff --git a/unittest/python/data.fourmol b/unittest/python/data.fourmol new file mode 100644 index 0000000000..386ad81c49 --- /dev/null +++ b/unittest/python/data.fourmol @@ -0,0 +1,210 @@ +LAMMPS data file via write_data, version 5 May 2020, timestep = 0 + +29 atoms +5 atom types +24 bonds +5 bond types +30 angles +4 angle types +31 dihedrals +5 dihedral types +2 impropers +2 improper types + + -6.024572 8.975428 xlo xhi + -7.692866 7.307134 ylo yhi + -8.086924 6.913076 zlo zhi + +Masses + +1 12.0107 +2 4.00794 +3 14.0067 +4 15.9994 +5 15.9994 + +Pair Coeffs # zero + +1 +2 +3 +4 +5 + +Bond Coeffs # zero + +1 1.5 +2 1.1 +3 1.3 +4 1.2 +5 1 + +Angle Coeffs # zero + +1 110.1 +2 111 +3 120 +4 108.5 + +Atoms # full + +10 2 1 7.0000000000000007e-02 2.0185283555536988e+00 -1.4283966846517357e+00 -9.6733527271133024e-01 0 0 0 +11 2 2 8.9999999999999997e-02 1.7929780509347666e+00 -1.9871047540768743e+00 -1.8840626643185674e+00 0 0 0 +12 2 1 -2.7000000000000002e-01 3.0030247876861225e+00 -4.8923319967572748e-01 -1.6188658531537248e+00 0 0 0 +13 2 2 8.9999999999999997e-02 4.0447273787895934e+00 -9.0131998547446246e-01 -1.6384447268320836e+00 0 0 0 +14 2 2 8.9999999999999997e-02 2.6033152817257075e+00 -4.0789761505963579e-01 -2.6554413538823063e+00 0 0 0 +2 1 2 3.1000000000000000e-01 3.0197083955402204e-01 2.9515239068888608e+00 -8.5689735572907566e-01 0 0 0 +3 1 1 -2.0000000000000000e-02 -6.9435377880558602e-01 1.2440473127136711e+00 -6.2233801468892025e-01 0 0 0 +4 1 2 8.9999999999999997e-02 -1.5771614164685133e+00 1.4915333140468066e+00 -1.2487126845040522e+00 0 0 0 +6 1 1 5.1000000000000001e-01 2.9412607937706009e-01 2.2719282656652909e-01 -1.2843094067857870e+00 0 0 0 +7 1 4 -5.1000000000000001e-01 3.4019871062879609e-01 -9.1277350075786561e-03 -2.4633113224304561e+00 0 0 0 +19 3 2 4.2359999999999998e-01 1.5349125211132961e+00 2.6315969880333707e+00 -4.2472859440220647e+00 0 0 0 +15 2 2 8.9999999999999997e-02 2.9756315249791303e+00 5.6334269722969288e-01 -1.2437650754599008e+00 0 0 0 +18 3 4 -8.4719999999999995e-01 2.1384791188033843e+00 3.0177261773770208e+00 -3.5160827596876225e+00 0 0 0 +20 3 2 4.2359999999999998e-01 2.7641167828863153e+00 3.6833419064000221e+00 -3.9380850623312638e+00 0 0 0 +8 2 3 -4.6999999999999997e-01 1.1641187171852805e+00 -4.8375305955385234e-01 -6.7659823767368688e-01 0 0 0 +9 2 2 3.1000000000000000e-01 1.3777459838125838e+00 -2.5366338669522998e-01 2.6877644730326306e-01 0 0 0 +16 2 1 5.1000000000000001e-01 2.6517554244980306e+00 -2.3957110424978438e+00 3.2908335999178327e-02 0 0 0 +17 2 4 -5.1000000000000001e-01 2.2309964792710639e+00 -2.1022918943319384e+00 1.1491948328949437e+00 0 0 0 +1 1 3 -4.6999999999999997e-01 -2.7993683669226832e-01 2.4726588069312840e+00 -1.7200860244148433e-01 0 0 0 +5 1 2 8.9999999999999997e-02 -8.9501761359359255e-01 9.3568128743071344e-01 4.0227731871484346e-01 0 0 0 +21 4 5 -8.4719999999999995e-01 4.9064454390208301e+00 -4.0751205255383196e+00 -3.6215576073601046e+00 0 0 0 +22 4 2 4.2359999999999998e-01 4.3687453488627543e+00 -4.2054270536772504e+00 -4.4651491269372565e+00 0 0 0 +23 4 2 4.2359999999999998e-01 5.7374928154769504e+00 -3.5763355905184966e+00 -3.8820297194230728e+00 0 0 0 +24 5 5 -8.4719999999999995e-01 2.0684115301174013e+00 3.1518221747664397e+00 3.1554242678474576e+00 0 0 0 +25 5 2 4.2359999999999998e-01 1.2998381073113014e+00 3.2755513587518097e+00 2.5092990173114837e+00 0 0 0 +26 5 2 4.2359999999999998e-01 2.5807438597688113e+00 4.0120175892854135e+00 3.2133398379059099e+00 0 0 0 +27 6 5 -8.4719999999999995e-01 -1.9613581876744359e+00 -4.3556300596085160e+00 2.1101467673534788e+00 0 0 0 +28 6 2 4.2359999999999998e-01 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00 0 0 0 +29 6 2 4.2359999999999998e-01 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00 0 0 0 + +Velocities + +1 7.7867804888392077e-04 5.8970331623292821e-04 -2.2179517633030531e-04 +2 2.7129529964126462e-03 4.6286427111164284e-03 3.5805549693846352e-03 +3 -1.2736791029204805e-03 1.6108674226414498e-03 -3.3618185901550799e-04 +4 -9.2828595122009308e-04 -1.2537885319521818e-03 -4.1204974953432108e-03 +5 -1.1800848061603740e-03 7.5424401975844038e-04 6.9023177964912290e-05 +6 -3.0914004879905335e-04 1.2755385764678133e-03 7.9574303350202582e-04 +7 -1.1037894966874103e-04 -7.6764845099077425e-04 -7.7217630460203659e-04 +8 3.9060281273221989e-04 -8.1444231918053418e-04 1.5134641148324972e-04 +9 1.2475530960659720e-03 -2.6608454451432528e-03 1.1117602907112732e-03 +10 4.5008983776042893e-04 4.9530197647538077e-04 -2.3336234361093645e-04 +11 -3.6977669078869707e-04 -1.5289071951960539e-03 -2.9176389881837113e-03 +12 1.0850834530183159e-03 -6.4965897903201833e-04 -1.2971152622619948e-03 +13 4.0754559196230639e-03 3.5043502394946119e-03 -7.8324487687854666e-04 +14 -1.3837220448746613e-04 -4.0656048637594394e-03 -3.9333461173944500e-03 +15 -4.3301707382721859e-03 -3.1802661664634938e-03 3.2037919043360571e-03 +16 -9.6715751018414326e-05 -5.0016572678960377e-04 1.4945658875149626e-03 +17 6.5692180538157174e-04 3.6635779995305095e-04 8.3495414466050911e-04 +18 -6.0936815808025862e-04 -9.3774557532468582e-04 -3.3558072507805731e-04 +19 -6.9919768291957119e-04 -3.6060777270430031e-03 4.2833405289822791e-03 +20 4.7777805013736515e-03 5.1003745845520452e-03 1.8002873923729241e-03 +21 -9.5568188553430398e-04 1.6594630943762931e-04 -1.8199788009966615e-04 +22 -3.3137518957653462e-03 -2.8683968287936054e-03 3.6384389958326871e-03 +23 2.4209481134686401e-04 -4.5457709985051130e-03 2.7663581642115042e-03 +24 2.5447450568861086e-04 4.8412447786110117e-04 -4.8021914527341357e-04 +25 4.3722771097312743e-03 -4.5184411669545515e-03 2.5200952006556795e-03 +26 -1.9250110555001179e-03 -3.0342169883610837e-03 3.5062814567984532e-03 +27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 +28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 +29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 + +Bonds + +1 5 1 2 +2 3 1 3 +3 2 3 4 +4 2 3 5 +5 1 3 6 +6 3 6 8 +7 4 6 7 +8 5 8 9 +9 3 8 10 +10 2 10 11 +11 1 10 12 +12 1 10 16 +13 2 12 13 +14 2 12 14 +15 2 12 15 +16 4 16 17 +17 5 18 19 +18 5 18 20 +19 5 21 22 +20 5 21 23 +21 5 24 25 +22 5 24 26 +23 5 27 28 +24 5 27 29 + +Angles + +1 4 2 1 3 +2 4 1 3 5 +3 4 1 3 4 +4 4 1 3 6 +5 4 4 3 5 +6 2 5 3 6 +7 2 4 3 6 +8 3 3 6 7 +9 3 3 6 8 +10 3 7 6 8 +11 2 6 8 9 +12 2 9 8 10 +13 3 6 8 10 +14 2 8 10 11 +15 3 8 10 16 +16 2 11 10 12 +17 1 12 10 16 +18 1 8 10 12 +19 2 11 10 16 +20 2 10 12 15 +21 2 10 12 14 +22 2 10 12 13 +23 4 13 12 15 +24 4 13 12 14 +25 4 14 12 15 +26 4 10 16 17 +27 1 19 18 20 +28 1 22 21 23 +29 1 25 24 26 +30 1 28 27 29 + +Dihedrals + +1 2 2 1 3 6 +2 2 2 1 3 4 +3 3 2 1 3 5 +4 1 1 3 6 8 +5 1 1 3 6 7 +6 5 4 3 6 8 +7 5 4 3 6 7 +8 5 5 3 6 8 +9 5 5 3 6 7 +10 4 3 6 8 9 +11 3 3 6 8 10 +12 3 7 6 8 9 +13 4 7 6 8 10 +14 2 6 8 10 12 +15 2 6 8 10 16 +16 2 6 8 10 11 +17 2 9 8 10 12 +18 4 9 8 10 16 +19 5 9 8 10 11 +20 5 8 10 12 13 +21 1 8 10 12 14 +22 5 8 10 12 15 +23 4 8 10 16 17 +24 5 11 10 12 13 +25 5 11 10 12 14 +26 5 11 10 12 15 +27 2 11 10 16 17 +28 2 12 10 16 17 +29 5 16 10 12 13 +30 5 16 10 12 14 +31 5 16 10 12 15 + +Impropers + +1 1 6 3 8 7 +2 2 8 6 10 9 diff --git a/unittest/python/in.fourmol b/unittest/python/in.fourmol new file mode 100644 index 0000000000..e0c3dfc7c1 --- /dev/null +++ b/unittest/python/in.fourmol @@ -0,0 +1,25 @@ +variable units index real +variable input_dir index . +variable data_file index ${input_dir}/data.fourmol +variable pair_style index 'zero 8.0' +variable bond_style index zero +variable angle_style index zero +variable dihedral_style index zero +variable improper_style index zero + +atom_style full +atom_modify map array +neigh_modify delay 2 every 2 check no +units ${units} +timestep 0.1 + +pair_style ${pair_style} +bond_style ${bond_style} +angle_style ${angle_style} +dihedral_style ${dihedral_style} +improper_style ${improper_style} + +read_data ${data_file} +dihedral_coeff * +improper_coeff * + diff --git a/unittest/python/python-numpy.py b/unittest/python/python-numpy.py index dc121691ab..010255a81e 100644 --- a/unittest/python/python-numpy.py +++ b/unittest/python/python-numpy.py @@ -15,6 +15,17 @@ try: except: pass +has_full=False +try: + machine=None + if 'LAMMPS_MACHINE_NAME' in os.environ: + machine=os.environ['LAMMPS_MACHINE_NAME'] + lmp=lammps(name=machine) + has_full = lmp.has_style("atom","full") + lmp.close() +except: + pass + try: import numpy NUMPY_INSTALLED = True @@ -32,6 +43,14 @@ class PythonNumpy(unittest.TestCase): def tearDown(self): del self.lmp + def checkBond(self, vals, btype, batom1, batom2): + if ((vals[1] == batom1 and vals[2] == batom2) + or (vals[1] == batom2 and vals[2] == batom1)): + self.assertEqual(vals[0], btype) + return 1 + else: + return 0 + def testLammpsPointer(self): self.assertEqual(type(self.lmp.lmp), c_void_p) @@ -148,6 +167,50 @@ class PythonNumpy(unittest.TestCase): self.assertTrue((x[1] == (1.0, 1.0, 1.5)).all()) self.assertEqual(len(v), 2) + @unittest.skipIf(not has_full,"Gather bonds test") + def testGatherBond_newton_on(self): + self.lmp.command('shell cd ' + os.environ['TEST_INPUT_DIR']) + self.lmp.command("newton on on") + self.lmp.file("in.fourmol") + self.lmp.command("run 0 post no") + bonds = self.lmp.numpy.gather_bonds() + self.assertEqual(len(bonds),24) + count = 0 + for bond in bonds: + count += self.checkBond(bond, 5, 1, 2) + count += self.checkBond(bond, 3, 1, 3) + count += self.checkBond(bond, 2, 3, 4) + count += self.checkBond(bond, 2, 3, 5) + count += self.checkBond(bond, 1, 6, 3) + count += self.checkBond(bond, 3, 6, 8) + count += self.checkBond(bond, 4, 6, 7) + count += self.checkBond(bond, 5, 8, 9) + count += self.checkBond(bond, 5, 27, 28) + count += self.checkBond(bond, 5, 29, 27) + self.assertEqual(count,10) + + @unittest.skipIf(not has_full,"Gather bonds test") + def testGatherBond_newton_off(self): + self.lmp.command('shell cd ' + os.environ['TEST_INPUT_DIR']) + self.lmp.command("newton off off") + self.lmp.file("in.fourmol") + self.lmp.command("run 0 post no") + bonds = self.lmp.numpy.gather_bonds() + self.assertEqual(len(bonds),24) + count = 0 + for bond in bonds: + count += self.checkBond(bond, 5, 1, 2) + count += self.checkBond(bond, 3, 1, 3) + count += self.checkBond(bond, 2, 3, 4) + count += self.checkBond(bond, 2, 3, 5) + count += self.checkBond(bond, 1, 6, 3) + count += self.checkBond(bond, 3, 6, 8) + count += self.checkBond(bond, 4, 6, 7) + count += self.checkBond(bond, 5, 8, 9) + count += self.checkBond(bond, 5, 27, 28) + count += self.checkBond(bond, 5, 29, 27) + self.assertEqual(count,10) + def testNeighborListSimple(self): self.lmp.commands_string(""" units lj diff --git a/unittest/python/python-scatter-gather.py b/unittest/python/python-scatter-gather.py new file mode 100644 index 0000000000..cd606c2992 --- /dev/null +++ b/unittest/python/python-scatter-gather.py @@ -0,0 +1,90 @@ + +import sys,os,unittest +from lammps import lammps + +has_full=False +try: + machine=None + if 'LAMMPS_MACHINE_NAME' in os.environ: + machine=os.environ['LAMMPS_MACHINE_NAME'] + lmp=lammps(name=machine) + has_full = lmp.has_style("atom","full") + lmp.close() +except: + pass + +class PythonGather(unittest.TestCase): + + def setUp(self): + machine=None + if 'LAMMPS_MACHINE_NAME' in os.environ: + machine=os.environ['LAMMPS_MACHINE_NAME'] + self.lmp=lammps(name=machine, + cmdargs=['-nocite', + '-log','none', + '-echo','screen']) + self.lmp.command('shell cd ' + os.environ['TEST_INPUT_DIR']) + + # clean up temporary files + def tearDown(self): + self.lmp.close() + + # bond data comparison + def checkBond(self, vals, btype, batom1, batom2): + if ((vals[1] == batom1 and vals[2] == batom2) + or (vals[1] == batom2 and vals[2] == batom1)): + self.assertEqual(vals[0], btype) + return 1 + else: + return 0 + + ############################## + @unittest.skipIf(not has_full, "Gather_bonds test") + def testGatherBond_newton_on(self): + """Test gather_bonds() with newton on""" + self.lmp.command("newton on on") + self.lmp.file("in.fourmol") + self.lmp.command("run 0 post no") + nbonds, bonds = self.lmp.gather_bonds() + self.assertEqual(nbonds, 24) + self.assertEqual(len(bonds), 3*24) + count = 0; + for i in range(0,nbonds): + count += self.checkBond(bonds[3*i:3*i+3], 5, 1, 2) + count += self.checkBond(bonds[3*i:3*i+3], 3, 1, 3) + count += self.checkBond(bonds[3*i:3*i+3], 2, 3, 4) + count += self.checkBond(bonds[3*i:3*i+3], 2, 3, 5) + count += self.checkBond(bonds[3*i:3*i+3], 1, 6, 3) + count += self.checkBond(bonds[3*i:3*i+3], 3, 6, 8) + count += self.checkBond(bonds[3*i:3*i+3], 4, 6, 7) + count += self.checkBond(bonds[3*i:3*i+3], 5, 8, 9) + count += self.checkBond(bonds[3*i:3*i+3], 5, 27, 28) + count += self.checkBond(bonds[3*i:3*i+3], 5, 29, 27) + self.assertEqual(count,10) + + @unittest.skipIf(not has_full, "Gather_bonds test") + def testGatherBond_newton_off(self): + """Test gather_bonds() with newton off""" + self.lmp.command("newton off off") + self.lmp.file("in.fourmol") + self.lmp.command("run 0 post no") + nbonds, bonds = self.lmp.gather_bonds() + self.assertEqual(nbonds, 24) + self.assertEqual(len(bonds), 3*24) + count = 0; + for i in range(0,nbonds): + count += self.checkBond(bonds[3*i:3*i+3], 5, 1, 2) + count += self.checkBond(bonds[3*i:3*i+3], 3, 1, 3) + count += self.checkBond(bonds[3*i:3*i+3], 2, 3, 4) + count += self.checkBond(bonds[3*i:3*i+3], 2, 3, 5) + count += self.checkBond(bonds[3*i:3*i+3], 1, 3, 6) + count += self.checkBond(bonds[3*i:3*i+3], 3, 6, 8) + count += self.checkBond(bonds[3*i:3*i+3], 4, 6, 7) + count += self.checkBond(bonds[3*i:3*i+3], 5, 8, 9) + count += self.checkBond(bonds[3*i:3*i+3], 5, 27, 28) + count += self.checkBond(bonds[3*i:3*i+3], 5, 27, 29) + self.assertEqual(count,10) + +############################## +if __name__ == "__main__": + unittest.main() From 044fe2e49d8ad241834800326c05c41c3c4a6875 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 26 Jul 2021 23:09:18 -0400 Subject: [PATCH 541/726] step version number strings for the next patch release --- doc/lammps.1 | 2 +- src/version.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/lammps.1 b/doc/lammps.1 index 414d0e7139..de496d1af1 100644 --- a/doc/lammps.1 +++ b/doc/lammps.1 @@ -1,4 +1,4 @@ -.TH LAMMPS "2 July 2021" "2021-07-2" +.TH LAMMPS "28 July 2021" "2021-07-28" .SH NAME .B LAMMPS \- Molecular Dynamics Simulator. diff --git a/src/version.h b/src/version.h index 43064d25ab..e206353a44 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define LAMMPS_VERSION "2 Jul 2021" +#define LAMMPS_VERSION "28 Jul 2021" From a4ffffad3364123479642134d2f8adb4963d1113 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 26 Jul 2021 23:10:24 -0400 Subject: [PATCH 542/726] update some version strings for library and python APIs --- python/lammps/core.py | 16 ++++++++++++++++ python/lammps/numpy_wrapper.py | 6 ++++++ src/library.cpp | 18 +++++++++++++++++- 3 files changed, 39 insertions(+), 1 deletion(-) diff --git a/python/lammps/core.py b/python/lammps/core.py index 03378f471d..c89c115d1f 100644 --- a/python/lammps/core.py +++ b/python/lammps/core.py @@ -1781,6 +1781,8 @@ class lammps(object): - x is a 2d NumPy array of doubles of the coordinates of the local atoms - f is a 2d NumPy array of doubles of the forces on the local atoms that will be added + .. versionchanged:: 28Jul2021 + :param fix_id: Fix-ID of a fix external instance :type: string :param callback: Python function that will be called from fix external @@ -1811,6 +1813,8 @@ class lammps(object): This is a wrapper around the :cpp:func:`lammps_fix_external_get_force` function of the C-library interface. + .. versionadded:: 28Jul2021 + :param fix_id: Fix-ID of a fix external instance :type: string :return: requested data @@ -1829,6 +1833,8 @@ class lammps(object): This is a wrapper around the :cpp:func:`lammps_fix_external_set_energy_global` function of the C-library interface. + .. versionadded:: 28Jul2021 + :param fix_id: Fix-ID of a fix external instance :type: string :param eng: potential energy value to be added by fix external @@ -1846,6 +1852,8 @@ class lammps(object): This is a wrapper around the :cpp:func:`lammps_fix_external_set_virial_global` function of the C-library interface. + .. versionadded:: 28Jul2021 + :param fix_id: Fix-ID of a fix external instance :type: string :param eng: list of 6 floating point numbers with the virial to be added by fix external @@ -1864,6 +1872,8 @@ class lammps(object): This is a wrapper around the :cpp:func:`lammps_fix_external_set_energy_peratom` function of the C-library interface. + .. versionadded:: 28Jul2021 + :param fix_id: Fix-ID of a fix external instance :type: string :param eatom: list of potential energy values for local atoms to be added by fix external @@ -1885,6 +1895,8 @@ class lammps(object): This is a wrapper around the :cpp:func:`lammps_fix_external_set_virial_peratom` function of the C-library interface. + .. versionadded:: 28Jul2021 + :param fix_id: Fix-ID of a fix external instance :type: string :param vatom: list of natoms lists with 6 floating point numbers to be added by fix external @@ -1915,6 +1927,8 @@ class lammps(object): This is a wrapper around the :cpp:func:`lammps_fix_external_set_vector_length` function of the C-library interface. + .. versionadded:: 28Jul2021 + :param fix_id: Fix-ID of a fix external instance :type: string :param length: length of the global vector @@ -1931,6 +1945,8 @@ class lammps(object): This is a wrapper around the :cpp:func:`lammps_fix_external_set_vector` function of the C-library interface. + .. versionadded:: 28Jul2021 + :param fix_id: Fix-ID of a fix external instance :type: string :param idx: 1-based index of the value in the global vector diff --git a/python/lammps/numpy_wrapper.py b/python/lammps/numpy_wrapper.py index a6cde93b95..2f0f74594e 100644 --- a/python/lammps/numpy_wrapper.py +++ b/python/lammps/numpy_wrapper.py @@ -274,6 +274,8 @@ class numpy_wrapper: method. It behaves the same as the original method, but returns a NumPy array instead of a ``ctypes`` pointer. + .. versionchanged:: 28Jul2021 + :param fix_id: Fix-ID of a fix external instance :type: string :return: requested data @@ -294,6 +296,8 @@ class numpy_wrapper: method. It behaves the same as the original method, but accepts a NumPy array instead of a list as argument. + .. versionadded:: 28Jul2021 + :param fix_id: Fix-ID of a fix external instance :type: string :param eatom: per-atom potential energy @@ -319,6 +323,8 @@ class numpy_wrapper: method. It behaves the same as the original method, but accepts a NumPy array instead of a list as argument. + .. versionadded:: 28Jul2021 + :param fix_id: Fix-ID of a fix external instance :type: string :param eatom: per-atom potential energy diff --git a/src/library.cpp b/src/library.cpp index 5cb101d6a4..f534af0925 100644 --- a/src/library.cpp +++ b/src/library.cpp @@ -367,7 +367,7 @@ must be explicitly shut down after any LAMMPS instance using it is closed (to release associated resources). After calling this function no Kokkos functionality may be used. -.. versionadded:: TBD +.. versionadded:: 2Jul2021 \endverbatim */ @@ -4945,6 +4945,8 @@ Please see the documentation for :doc:`fix external ` for more information about how to use the fix and how to couple it with an external code. +.. versionchanged:: 28Jul2021 + \endverbatim * * \param handle pointer to a previously created LAMMPS instance cast to ``void *``. @@ -5008,6 +5010,8 @@ Please see the documentation for :doc:`fix external ` for more information about how to use the fix and how to couple it with an external code. +.. versionadded:: 28Jul2021 + \endverbatim * * \param handle pointer to a previously created LAMMPS instance cast to ``void *``. @@ -5056,6 +5060,8 @@ Please see the documentation for :doc:`fix external ` for more information about how to use the fix and how to couple it with an external code. +.. versionadded:: 28Jul2021 + \endverbatim * * \param handle pointer to a previously created LAMMPS instance cast to ``void *``. @@ -5105,6 +5111,8 @@ Please see the documentation for :doc:`fix external ` for more information about how to use the fix and how to couple it with an external code. +.. versionadded:: 28Jul2021 + \endverbatim * * \param handle pointer to a previously created LAMMPS instance cast to ``void *``. @@ -5154,6 +5162,8 @@ Please see the documentation for :doc:`fix external ` for more information about how to use the fix and how to couple it with an external code. +.. versionadded:: 28Jul2021 + \endverbatim * * \param handle pointer to a previously created LAMMPS instance cast to ``void *``. @@ -5206,6 +5216,8 @@ Please see the documentation for :doc:`fix external ` for more information about how to use the fix and how to couple it with an external code. +.. versionadded:: 28Jul2021 + \endverbatim * * \param handle pointer to a previously created LAMMPS instance cast to ``void *``. @@ -5251,6 +5263,8 @@ Please see the documentation for :doc:`fix external ` for more information about how to use the fix and how to couple it with an external code. +.. versionadded:: 28Jul2021 + \endverbatim * * \param handle pointer to a previously created LAMMPS instance cast to ``void *``. @@ -5305,6 +5319,8 @@ Please see the documentation for :doc:`fix external ` for more information about how to use the fix and how to couple it with an external code. +.. versionadded:: 28Jul2021 + \endverbatim * * \param handle pointer to a previously created LAMMPS instance cast to ``void *``. From 16fae72670b9eebaf3dbec4805d7dd8094f1ca61 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 27 Jul 2021 08:44:59 -0400 Subject: [PATCH 543/726] small tweak for MinGW-64 compilation on Fedora 34 --- cmake/CMakeLists.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 7269fc5c9b..b76163aaef 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -363,6 +363,8 @@ if(PKG_MSCG OR PKG_ATC OR PKG_AWPMD OR PKG_ML-QUIP OR PKG_LATTE) endif() endif() +# tweak jpeg library names to avoid linker errors with MinGW cross-compilation +set(JPEG_NAMES libjpeg libjpeg-62) find_package(JPEG QUIET) option(WITH_JPEG "Enable JPEG support" ${JPEG_FOUND}) if(WITH_JPEG) From f39c5178d81276070bc4b29c7c487e21494e7e5f Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 27 Jul 2021 09:56:52 -0400 Subject: [PATCH 544/726] update plumed to version 2.7.2 and drop workaround for 2.7.1 --- cmake/Modules/Packages/PLUMED.cmake | 5 ++--- lib/plumed/Install.py | 1 + tools/offline/scripts/init_http_cache.sh | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/cmake/Modules/Packages/PLUMED.cmake b/cmake/Modules/Packages/PLUMED.cmake index e9eba779f5..0f063f3e14 100644 --- a/cmake/Modules/Packages/PLUMED.cmake +++ b/cmake/Modules/Packages/PLUMED.cmake @@ -54,8 +54,8 @@ if(DOWNLOAD_PLUMED) set(PLUMED_BUILD_BYPRODUCTS "/lib/libplumedWrapper.a") endif() - set(PLUMED_URL "https://github.com/plumed/plumed2/releases/download/v2.7.1/plumed-src-2.7.1.tgz" CACHE STRING "URL for PLUMED tarball") - set(PLUMED_MD5 "4eac6a462ec84dfe0cec96c82421b8e8" CACHE STRING "MD5 checksum of PLUMED tarball") + set(PLUMED_URL "https://github.com/plumed/plumed2/releases/download/v2.7.2/plumed-src-2.7.2.tgz" CACHE STRING "URL for PLUMED tarball") + set(PLUMED_MD5 "cfa0b4dd90a81c25d3302e8d97bfeaea" CACHE STRING "MD5 checksum of PLUMED tarball") mark_as_advanced(PLUMED_URL) mark_as_advanced(PLUMED_MD5) @@ -72,7 +72,6 @@ if(DOWNLOAD_PLUMED) ${PLUMED_CONFIG_OMP} CXX=${PLUMED_CONFIG_CXX} CC=${PLUMED_CONFIG_CC} - PATCH_COMMAND sed -i "/^#include /a #include " /src/lepton/Operation.h BUILD_BYPRODUCTS ${PLUMED_BUILD_BYPRODUCTS} ) ExternalProject_get_property(plumed_build INSTALL_DIR) diff --git a/lib/plumed/Install.py b/lib/plumed/Install.py index e3858b39d3..548e51a5bc 100644 --- a/lib/plumed/Install.py +++ b/lib/plumed/Install.py @@ -53,6 +53,7 @@ checksums = { \ '2.6.3' : 'a9f8028fd74528c2024781ea1fdefeee', \ '2.7.0' : '95f29dd0c067577f11972ff90dfc7d12', \ '2.7.1' : '4eac6a462ec84dfe0cec96c82421b8e8', \ + '2.7.2' : 'cfa0b4dd90a81c25d3302e8d97bfeaea', \ } # parse and process arguments diff --git a/tools/offline/scripts/init_http_cache.sh b/tools/offline/scripts/init_http_cache.sh index 55856bbf21..44a07da35a 100755 --- a/tools/offline/scripts/init_http_cache.sh +++ b/tools/offline/scripts/init_http_cache.sh @@ -50,7 +50,7 @@ CUB_URL="https://github.com/NVlabs/cub/archive/1.12.0.tar.gz" KOKKOS_URL="https://github.com/kokkos/kokkos/archive/3.4.01.tar.gz" KIM_URL="https://s3.openkim.org/kim-api/kim-api-2.2.1.txz" MSCG_URL="https://github.com/uchicago-voth/MSCG-release/archive/1.7.3.1.tar.gz" -PLUMED_URL="https://github.com/plumed/plumed2/releases/download/v2.7.1/plumed-src-2.7.1.tgz" +PLUMED_URL="https://github.com/plumed/plumed2/releases/download/v2.7.2/plumed-src-2.7.2.tgz" PACELIB_URL="https://github.com/ICAMS/lammps-user-pace/archive/refs/tags/v.2021.4.9.tar.gz" LATTE_URL="https://github.com/lanl/LATTE/archive/v1.2.2.tar.gz" SCAFACOS_URL="https://github.com/scafacos/scafacos/releases/download/v1.0.1/scafacos-1.0.1.tar.gz" From ec069595f767b5285c55dda69834e819ad3c3824 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 27 Jul 2021 11:16:40 -0400 Subject: [PATCH 545/726] move compute orientorder/atom because compute coord/atom depends on it --- doc/src/compute_orientorder_atom.rst | 3 +-- src/{EXTRA-COMPUTE => }/compute_orientorder_atom.cpp | 0 src/{EXTRA-COMPUTE => }/compute_orientorder_atom.h | 0 3 files changed, 1 insertion(+), 2 deletions(-) rename src/{EXTRA-COMPUTE => }/compute_orientorder_atom.cpp (100%) rename src/{EXTRA-COMPUTE => }/compute_orientorder_atom.h (100%) diff --git a/doc/src/compute_orientorder_atom.rst b/doc/src/compute_orientorder_atom.rst index 2efea311a0..bc608e21d7 100644 --- a/doc/src/compute_orientorder_atom.rst +++ b/doc/src/compute_orientorder_atom.rst @@ -182,8 +182,7 @@ page for an overview of LAMMPS output options. Restrictions """""""""""" -This compute is part of the EXTRA-COMPUTE package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` page for more info. +none Related commands """""""""""""""" diff --git a/src/EXTRA-COMPUTE/compute_orientorder_atom.cpp b/src/compute_orientorder_atom.cpp similarity index 100% rename from src/EXTRA-COMPUTE/compute_orientorder_atom.cpp rename to src/compute_orientorder_atom.cpp diff --git a/src/EXTRA-COMPUTE/compute_orientorder_atom.h b/src/compute_orientorder_atom.h similarity index 100% rename from src/EXTRA-COMPUTE/compute_orientorder_atom.h rename to src/compute_orientorder_atom.h From f7f85822a932c63d95a9a2c0bb93a451ea5519ee Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 27 Jul 2021 12:07:12 -0400 Subject: [PATCH 546/726] move some more computes from EXTRA-COMPUTE back to src because of dependencies --- doc/src/compute_cluster_atom.rst | 3 +-- src/{EXTRA-COMPUTE => }/compute_aggregate_atom.cpp | 0 src/{EXTRA-COMPUTE => }/compute_aggregate_atom.h | 0 src/{EXTRA-COMPUTE => }/compute_cluster_atom.cpp | 0 src/{EXTRA-COMPUTE => }/compute_cluster_atom.h | 0 src/{EXTRA-COMPUTE => }/compute_fragment_atom.cpp | 0 src/{EXTRA-COMPUTE => }/compute_fragment_atom.h | 0 7 files changed, 1 insertion(+), 2 deletions(-) rename src/{EXTRA-COMPUTE => }/compute_aggregate_atom.cpp (100%) rename src/{EXTRA-COMPUTE => }/compute_aggregate_atom.h (100%) rename src/{EXTRA-COMPUTE => }/compute_cluster_atom.cpp (100%) rename src/{EXTRA-COMPUTE => }/compute_cluster_atom.h (100%) rename src/{EXTRA-COMPUTE => }/compute_fragment_atom.cpp (100%) rename src/{EXTRA-COMPUTE => }/compute_fragment_atom.h (100%) diff --git a/doc/src/compute_cluster_atom.rst b/doc/src/compute_cluster_atom.rst index f82b2affa5..32954480cc 100644 --- a/doc/src/compute_cluster_atom.rst +++ b/doc/src/compute_cluster_atom.rst @@ -119,8 +119,7 @@ The per-atom vector values will be an ID > 0, as explained above. Restrictions """""""""""" -These computes are part of the EXTRA-COMPUTE package. They are only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` page for more info. +none Related commands """""""""""""""" diff --git a/src/EXTRA-COMPUTE/compute_aggregate_atom.cpp b/src/compute_aggregate_atom.cpp similarity index 100% rename from src/EXTRA-COMPUTE/compute_aggregate_atom.cpp rename to src/compute_aggregate_atom.cpp diff --git a/src/EXTRA-COMPUTE/compute_aggregate_atom.h b/src/compute_aggregate_atom.h similarity index 100% rename from src/EXTRA-COMPUTE/compute_aggregate_atom.h rename to src/compute_aggregate_atom.h diff --git a/src/EXTRA-COMPUTE/compute_cluster_atom.cpp b/src/compute_cluster_atom.cpp similarity index 100% rename from src/EXTRA-COMPUTE/compute_cluster_atom.cpp rename to src/compute_cluster_atom.cpp diff --git a/src/EXTRA-COMPUTE/compute_cluster_atom.h b/src/compute_cluster_atom.h similarity index 100% rename from src/EXTRA-COMPUTE/compute_cluster_atom.h rename to src/compute_cluster_atom.h diff --git a/src/EXTRA-COMPUTE/compute_fragment_atom.cpp b/src/compute_fragment_atom.cpp similarity index 100% rename from src/EXTRA-COMPUTE/compute_fragment_atom.cpp rename to src/compute_fragment_atom.cpp diff --git a/src/EXTRA-COMPUTE/compute_fragment_atom.h b/src/compute_fragment_atom.h similarity index 100% rename from src/EXTRA-COMPUTE/compute_fragment_atom.h rename to src/compute_fragment_atom.h From d292da78ca705254536b05f2f799bbbf230398d5 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 27 Jul 2021 12:29:44 -0400 Subject: [PATCH 547/726] address CodeQL warnings and reformat with clang-format --- src/EXTRA-COMPUTE/compute_hma.cpp | 28 ++-- src/TALLY/compute_force_tally.cpp | 101 +++++++-------- src/TALLY/compute_heat_flux_tally.cpp | 101 +++++++-------- src/TALLY/compute_heat_flux_virial_tally.cpp | 2 +- src/TALLY/compute_pe_mol_tally.cpp | 62 +++++---- src/TALLY/compute_pe_tally.cpp | 85 ++++++------- src/TALLY/compute_stress_tally.cpp | 127 ++++++++++--------- 7 files changed, 239 insertions(+), 267 deletions(-) diff --git a/src/EXTRA-COMPUTE/compute_hma.cpp b/src/EXTRA-COMPUTE/compute_hma.cpp index b74280a8e5..09a2840906 100644 --- a/src/EXTRA-COMPUTE/compute_hma.cpp +++ b/src/EXTRA-COMPUTE/compute_hma.cpp @@ -116,7 +116,7 @@ ComputeHMA::ComputeHMA(LAMMPS *lmp, int narg, char **arg) : computeU = computeP = computeCv = -1; returnAnharmonic = 0; size_vector = 0; - memory->create(extlist, 3, "hma:extlist"); + extlist = new int[3]; for (int iarg=4; iarg-1) continue; @@ -145,20 +145,11 @@ ComputeHMA::ComputeHMA(LAMMPS *lmp, int narg, char **arg) : } } - if (size_vector == 0) { - error->all(FLERR,"Illegal compute hma command"); - } - if (size_vector<3) { - memory->grow(extlist, size_vector, "hma:extlist"); - } - memory->create(vector, size_vector, "hma:vector"); + if (size_vector == 0) error->all(FLERR,"Illegal compute hma command"); + vector = new double[size_vector]; - if (computeU>-1 || computeCv>-1) { - peflag = 1; - } - if (computeP>-1) { - pressflag = 1; - } + if (computeU>-1 || computeCv>-1) peflag = 1; + if (computeP>-1) pressflag = 1; nmax = 0; } @@ -170,10 +161,11 @@ ComputeHMA::~ComputeHMA() // check nfix in case all fixes have already been deleted if (modify->nfix) modify->delete_fix(id_fix); - delete [] id_fix; - delete [] id_temp; - memory->destroy(extlist); - memory->destroy(vector); + delete[] id_fix; + delete[] id_temp; + delete[] extlist; + delete[] vector; + memory->destroy(deltaR); } diff --git a/src/TALLY/compute_force_tally.cpp b/src/TALLY/compute_force_tally.cpp index bc9a79713b..8216269fe0 100644 --- a/src/TALLY/compute_force_tally.cpp +++ b/src/TALLY/compute_force_tally.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -14,28 +13,26 @@ #include "compute_force_tally.h" -#include #include "atom.h" -#include "group.h" -#include "pair.h" -#include "update.h" -#include "memory.h" +#include "comm.h" #include "error.h" #include "force.h" -#include "comm.h" +#include "group.h" +#include "memory.h" +#include "pair.h" +#include "update.h" +#include using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -ComputeForceTally::ComputeForceTally(LAMMPS *lmp, int narg, char **arg) : - Compute(lmp, narg, arg) +ComputeForceTally::ComputeForceTally(LAMMPS *lmp, int narg, char **arg) : Compute(lmp, narg, arg) { - if (narg < 4) error->all(FLERR,"Illegal compute force/tally command"); + if (narg < 4) error->all(FLERR, "Illegal compute force/tally command"); igroup2 = group->find(arg[3]); - if (igroup2 == -1) - error->all(FLERR,"Could not find compute force/tally second group ID"); + if (igroup2 == -1) error->all(FLERR, "Could not find compute force/tally second group ID"); groupbit2 = group->bitmask[igroup2]; scalar_flag = 1; @@ -46,7 +43,7 @@ ComputeForceTally::ComputeForceTally(LAMMPS *lmp, int narg, char **arg) : comm_reverse = size_peratom_cols = 3; extscalar = 1; - peflag = 1; // we need Pair::ev_tally() to be run + peflag = 1; // we need Pair::ev_tally() to be run did_setup = invoked_peratom = invoked_scalar = -1; nmax = -1; @@ -68,17 +65,16 @@ ComputeForceTally::~ComputeForceTally() void ComputeForceTally::init() { if (force->pair == nullptr) - error->all(FLERR,"Trying to use compute force/tally without pair style"); + error->all(FLERR, "Trying to use compute force/tally without pair style"); else force->pair->add_tally_callback(this); if (comm->me == 0) { if (force->pair->single_enable == 0 || force->pair->manybody_flag) - error->warning(FLERR,"Compute force/tally used with incompatible pair style"); + error->warning(FLERR, "Compute force/tally used with incompatible pair style"); - if (force->bond || force->angle || force->dihedral - || force->improper || force->kspace) - error->warning(FLERR,"Compute force/tally only called from pair style"); + if (force->bond || force->angle || force->dihedral || force->improper || force->kspace) + error->warning(FLERR, "Compute force/tally only called from pair style"); } did_setup = -1; } @@ -99,51 +95,48 @@ void ComputeForceTally::pair_setup_callback(int, int) if (atom->nmax > nmax) { memory->destroy(fatom); nmax = atom->nmax; - memory->create(fatom,nmax,size_peratom_cols,"force/tally:fatom"); + memory->create(fatom, nmax, size_peratom_cols, "force/tally:fatom"); array_atom = fatom; } // clear storage - for (int i=0; i < ntotal; ++i) - for (int j=0; j < size_peratom_cols; ++j) - fatom[i][j] = 0.0; + for (int i = 0; i < ntotal; ++i) + for (int j = 0; j < size_peratom_cols; ++j) fatom[i][j] = 0.0; - for (int i=0; i < size_peratom_cols; ++i) - vector[i] = ftotal[i] = 0.0; + for (int i = 0; i < size_peratom_cols; ++i) vector[i] = ftotal[i] = 0.0; did_setup = update->ntimestep; } /* ---------------------------------------------------------------------- */ -void ComputeForceTally::pair_tally_callback(int i, int j, int nlocal, int newton, - double, double, double fpair, - double dx, double dy, double dz) +void ComputeForceTally::pair_tally_callback(int i, int j, int nlocal, int newton, double, double, + double fpair, double dx, double dy, double dz) { - const int * const mask = atom->mask; + const int *const mask = atom->mask; - if ( ((mask[i] & groupbit) && (mask[j] & groupbit2)) - || ((mask[i] & groupbit2) && (mask[j] & groupbit))) { + if (((mask[i] & groupbit) && (mask[j] & groupbit2)) || + ((mask[i] & groupbit2) && (mask[j] & groupbit))) { if (newton || i < nlocal) { if (mask[i] & groupbit) { - ftotal[0] += fpair*dx; - ftotal[1] += fpair*dy; - ftotal[2] += fpair*dz; + ftotal[0] += fpair * dx; + ftotal[1] += fpair * dy; + ftotal[2] += fpair * dz; } - fatom[i][0] += fpair*dx; - fatom[i][1] += fpair*dy; - fatom[i][2] += fpair*dz; + fatom[i][0] += fpair * dx; + fatom[i][1] += fpair * dy; + fatom[i][2] += fpair * dz; } if (newton || j < nlocal) { if (mask[j] & groupbit) { - ftotal[0] -= fpair*dx; - ftotal[1] -= fpair*dy; - ftotal[2] -= fpair*dz; + ftotal[0] -= fpair * dx; + ftotal[1] -= fpair * dy; + ftotal[2] -= fpair * dz; } - fatom[j][0] -= fpair*dx; - fatom[j][1] -= fpair*dy; - fatom[j][2] -= fpair*dz; + fatom[j][0] -= fpair * dx; + fatom[j][1] -= fpair * dy; + fatom[j][2] -= fpair * dz; } } } @@ -152,7 +145,7 @@ void ComputeForceTally::pair_tally_callback(int i, int j, int nlocal, int newton int ComputeForceTally::pack_reverse_comm(int n, int first, double *buf) { - int i,m,last; + int i, m, last; m = 0; last = first + n; @@ -168,7 +161,7 @@ int ComputeForceTally::pack_reverse_comm(int n, int first, double *buf) void ComputeForceTally::unpack_reverse_comm(int n, int *list, double *buf) { - int i,j,m; + int i, j, m; m = 0; for (i = 0; i < n; i++) { @@ -184,15 +177,14 @@ void ComputeForceTally::unpack_reverse_comm(int n, int *list, double *buf) double ComputeForceTally::compute_scalar() { invoked_scalar = update->ntimestep; - if ((did_setup != invoked_scalar) - || (update->eflag_global != invoked_scalar)) - error->all(FLERR,"Energy was not tallied on needed timestep"); + if ((did_setup != invoked_scalar) || (update->eflag_global != invoked_scalar)) + error->all(FLERR, "Energy was not tallied on needed timestep"); // sum accumulated forces across procs - MPI_Allreduce(ftotal,vector,size_peratom_cols,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(ftotal, vector, size_peratom_cols, MPI_DOUBLE, MPI_SUM, world); - scalar = sqrt(vector[0]*vector[0]+vector[1]*vector[1]+vector[2]*vector[2]); + scalar = sqrt(vector[0] * vector[0] + vector[1] * vector[1] + vector[2] * vector[2]); return scalar; } @@ -201,9 +193,8 @@ double ComputeForceTally::compute_scalar() void ComputeForceTally::compute_peratom() { invoked_peratom = update->ntimestep; - if ((did_setup != invoked_peratom) - || (update->eflag_global != invoked_peratom)) - error->all(FLERR,"Energy was not tallied on needed timestep"); + if ((did_setup != invoked_peratom) || (update->eflag_global != invoked_peratom)) + error->all(FLERR, "Energy was not tallied on needed timestep"); // collect contributions from ghost atoms @@ -213,8 +204,7 @@ void ComputeForceTally::compute_peratom() // clear out ghost atom data after it has been collected to local atoms const int nall = atom->nlocal + atom->nghost; for (int i = atom->nlocal; i < nall; ++i) - for (int j = 0; j < size_peratom_cols; ++j) - fatom[i][j] = 0.0; + for (int j = 0; j < size_peratom_cols; ++j) fatom[i][j] = 0.0; } } @@ -224,7 +214,6 @@ void ComputeForceTally::compute_peratom() double ComputeForceTally::memory_usage() { - double bytes = (nmax < 0) ? 0 : nmax*size_peratom_cols * sizeof(double); + double bytes = (nmax < 0) ? 0 : nmax * (double)size_peratom_cols * sizeof(double); return bytes; } - diff --git a/src/TALLY/compute_heat_flux_tally.cpp b/src/TALLY/compute_heat_flux_tally.cpp index 96456bf775..7bff99eeb7 100644 --- a/src/TALLY/compute_heat_flux_tally.cpp +++ b/src/TALLY/compute_heat_flux_tally.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -15,26 +14,25 @@ #include "compute_heat_flux_tally.h" #include "atom.h" -#include "group.h" -#include "pair.h" -#include "update.h" -#include "memory.h" +#include "comm.h" #include "error.h" #include "force.h" -#include "comm.h" +#include "group.h" +#include "memory.h" +#include "pair.h" +#include "update.h" using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ ComputeHeatFluxTally::ComputeHeatFluxTally(LAMMPS *lmp, int narg, char **arg) : - Compute(lmp, narg, arg) + Compute(lmp, narg, arg) { - if (narg < 4) error->all(FLERR,"Illegal compute heat/flux/tally command"); + if (narg < 4) error->all(FLERR, "Illegal compute heat/flux/tally command"); igroup2 = group->find(arg[3]); - if (igroup2 == -1) - error->all(FLERR,"Could not find compute heat/flux/tally second group ID"); + if (igroup2 == -1) error->all(FLERR, "Could not find compute heat/flux/tally second group ID"); groupbit2 = group->bitmask[igroup2]; vector_flag = 1; @@ -44,7 +42,7 @@ ComputeHeatFluxTally::ComputeHeatFluxTally(LAMMPS *lmp, int narg, char **arg) : comm_reverse = 7; extvector = 1; size_vector = 6; - peflag = 1; // we need Pair::ev_tally() to be run + peflag = 1; // we need Pair::ev_tally() to be run did_setup = 0; invoked_peratom = invoked_scalar = -1; @@ -71,17 +69,16 @@ ComputeHeatFluxTally::~ComputeHeatFluxTally() void ComputeHeatFluxTally::init() { if (force->pair == nullptr) - error->all(FLERR,"Trying to use compute heat/flux/tally without pair style"); + error->all(FLERR, "Trying to use compute heat/flux/tally without pair style"); else force->pair->add_tally_callback(this); if (comm->me == 0) { if (force->pair->single_enable == 0 || force->pair->manybody_flag) - error->warning(FLERR,"Compute heat/flux/tally used with incompatible pair style"); + error->warning(FLERR, "Compute heat/flux/tally used with incompatible pair style"); - if (force->bond || force->angle || force->dihedral - || force->improper || force->kspace) - error->warning(FLERR,"Compute heat/flux/tally only called from pair style"); + if (force->bond || force->angle || force->dihedral || force->improper || force->kspace) + error->warning(FLERR, "Compute heat/flux/tally only called from pair style"); } did_setup = -1; } @@ -102,13 +99,13 @@ void ComputeHeatFluxTally::pair_setup_callback(int, int) memory->destroy(stress); memory->destroy(eatom); nmax = atom->nmax; - memory->create(stress,nmax,6,"heat/flux/tally:stress"); - memory->create(eatom,nmax,"heat/flux/tally:eatom"); + memory->create(stress, nmax, 6, "heat/flux/tally:stress"); + memory->create(eatom, nmax, "heat/flux/tally:eatom"); } // clear storage - for (int i=0; i < ntotal; ++i) { + for (int i = 0; i < ntotal; ++i) { eatom[i] = 0.0; stress[i][0] = 0.0; stress[i][1] = 0.0; @@ -118,30 +115,29 @@ void ComputeHeatFluxTally::pair_setup_callback(int, int) stress[i][5] = 0.0; } - for (int i=0; i < size_vector; ++i) - vector[i] = heatj[i] = 0.0; + for (int i = 0; i < size_vector; ++i) vector[i] = heatj[i] = 0.0; did_setup = update->ntimestep; } /* ---------------------------------------------------------------------- */ -void ComputeHeatFluxTally::pair_tally_callback(int i, int j, int nlocal, int newton, - double evdwl, double ecoul, double fpair, - double dx, double dy, double dz) +void ComputeHeatFluxTally::pair_tally_callback(int i, int j, int nlocal, int newton, double evdwl, + double ecoul, double fpair, double dx, double dy, + double dz) { - const int * const mask = atom->mask; + const int *const mask = atom->mask; - if ( ((mask[i] & groupbit) && (mask[j] & groupbit2)) - || ((mask[i] & groupbit2) && (mask[j] & groupbit))) { + if (((mask[i] & groupbit) && (mask[j] & groupbit2)) || + ((mask[i] & groupbit2) && (mask[j] & groupbit))) { const double epairhalf = 0.5 * (evdwl + ecoul); fpair *= 0.5; - const double v0 = dx*dx*fpair; // dx*fpair = Fij_x - const double v1 = dy*dy*fpair; - const double v2 = dz*dz*fpair; - const double v3 = dx*dy*fpair; - const double v4 = dx*dz*fpair; - const double v5 = dy*dz*fpair; + const double v0 = dx * dx * fpair; // dx*fpair = Fij_x + const double v1 = dy * dy * fpair; + const double v2 = dz * dz * fpair; + const double v3 = dx * dy * fpair; + const double v4 = dx * dz * fpair; + const double v5 = dy * dz * fpair; if (newton || i < nlocal) { eatom[i] += epairhalf; @@ -168,7 +164,7 @@ void ComputeHeatFluxTally::pair_tally_callback(int i, int j, int nlocal, int new int ComputeHeatFluxTally::pack_reverse_comm(int n, int first, double *buf) { - int i,m,last; + int i, m, last; m = 0; last = first + n; @@ -188,7 +184,7 @@ int ComputeHeatFluxTally::pack_reverse_comm(int n, int first, double *buf) void ComputeHeatFluxTally::unpack_reverse_comm(int n, int *list, double *buf) { - int i,j,m; + int i, j, m; m = 0; for (i = 0; i < n; i++) { @@ -209,7 +205,7 @@ void ComputeHeatFluxTally::compute_vector() { invoked_vector = update->ntimestep; if ((did_setup != invoked_vector) || (update->eflag_global != invoked_vector)) - error->all(FLERR,"Energy was not tallied on needed timestep"); + error->all(FLERR, "Energy was not tallied on needed timestep"); // collect contributions from ghost atoms @@ -244,26 +240,28 @@ void ComputeHeatFluxTally::compute_vector() double *rmass = atom->rmass; int *type = atom->type; - double jc[3] = {0.0,0.0,0.0}; - double jv[3] = {0.0,0.0,0.0}; + double jc[3] = {0.0, 0.0, 0.0}; + double jv[3] = {0.0, 0.0, 0.0}; for (int i = 0; i < nlocal; i++) { if (mask[i] & groupbit) { - const double * const vi = v[i]; - const double * const si = stress[i]; + const double *const vi = v[i]; + const double *const si = stress[i]; double ke_i; - if (rmass) ke_i = pfactor * rmass[i]; - else ke_i = pfactor * mass[type[i]]; - ke_i *= (vi[0]*vi[0] + vi[1]*vi[1] + vi[2]*vi[2]); + if (rmass) + ke_i = pfactor * rmass[i]; + else + ke_i = pfactor * mass[type[i]]; + ke_i *= (vi[0] * vi[0] + vi[1] * vi[1] + vi[2] * vi[2]); ke_i += eatom[i]; - jc[0] += ke_i*vi[0]; - jc[1] += ke_i*vi[1]; - jc[2] += ke_i*vi[2]; - jv[0] += si[0]*vi[0] + si[3]*vi[1] + si[4]*vi[2]; - jv[1] += si[3]*vi[0] + si[1]*vi[1] + si[5]*vi[2]; - jv[2] += si[4]*vi[0] + si[5]*vi[1] + si[2]*vi[2]; + jc[0] += ke_i * vi[0]; + jc[1] += ke_i * vi[1]; + jc[2] += ke_i * vi[2]; + jv[0] += si[0] * vi[0] + si[3] * vi[1] + si[4] * vi[2]; + jv[1] += si[3] * vi[0] + si[1] * vi[1] + si[5] * vi[2]; + jv[2] += si[4] * vi[0] + si[5] * vi[1] + si[2] * vi[2]; } } @@ -274,7 +272,7 @@ void ComputeHeatFluxTally::compute_vector() heatj[3] = jc[0]; heatj[4] = jc[1]; heatj[5] = jc[2]; - MPI_Allreduce(heatj,vector,size_vector,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(heatj, vector, size_vector, MPI_DOUBLE, MPI_SUM, world); } /* ---------------------------------------------------------------------- @@ -283,7 +281,6 @@ void ComputeHeatFluxTally::compute_vector() double ComputeHeatFluxTally::memory_usage() { - double bytes = (nmax < 0) ? 0 : nmax*comm_reverse * sizeof(double); + double bytes = (nmax < 0) ? 0 : nmax * (double)comm_reverse * sizeof(double); return bytes; } - diff --git a/src/TALLY/compute_heat_flux_virial_tally.cpp b/src/TALLY/compute_heat_flux_virial_tally.cpp index 1a594c1b36..8605b9c546 100644 --- a/src/TALLY/compute_heat_flux_virial_tally.cpp +++ b/src/TALLY/compute_heat_flux_virial_tally.cpp @@ -233,6 +233,6 @@ void ComputeHeatFluxVirialTally::compute_peratom() double ComputeHeatFluxVirialTally::memory_usage() { - double bytes = (nmax < 0) ? 0 : nmax * size_peratom_cols * sizeof(double); + double bytes = (nmax < 0) ? 0 : nmax * (double)size_peratom_cols * sizeof(double); return bytes; } diff --git a/src/TALLY/compute_pe_mol_tally.cpp b/src/TALLY/compute_pe_mol_tally.cpp index 329c9ff429..fc3efb272b 100644 --- a/src/TALLY/compute_pe_mol_tally.cpp +++ b/src/TALLY/compute_pe_mol_tally.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -15,25 +14,23 @@ #include "compute_pe_mol_tally.h" #include "atom.h" +#include "comm.h" +#include "error.h" +#include "force.h" #include "group.h" #include "pair.h" #include "update.h" -#include "error.h" -#include "force.h" -#include "comm.h" using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -ComputePEMolTally::ComputePEMolTally(LAMMPS *lmp, int narg, char **arg) : - Compute(lmp, narg, arg) +ComputePEMolTally::ComputePEMolTally(LAMMPS *lmp, int narg, char **arg) : Compute(lmp, narg, arg) { - if (narg < 4) error->all(FLERR,"Illegal compute pe/mol/tally command"); + if (narg < 4) error->all(FLERR, "Illegal compute pe/mol/tally command"); igroup2 = group->find(arg[3]); - if (igroup2 == -1) - error->all(FLERR,"Could not find compute pe/mol/tally second group ID"); + if (igroup2 == -1) error->all(FLERR, "Could not find compute pe/mol/tally second group ID"); groupbit2 = group->bitmask[igroup2]; vector_flag = 1; @@ -42,7 +39,7 @@ ComputePEMolTally::ComputePEMolTally(LAMMPS *lmp, int narg, char **arg) : dynamic_group_allow = 0; extvector = 1; - peflag = 1; // we need Pair::ev_tally() to be run + peflag = 1; // we need Pair::ev_tally() to be run did_setup = invoked_vector = -1; vector = new double[size_vector]; @@ -61,20 +58,18 @@ ComputePEMolTally::~ComputePEMolTally() void ComputePEMolTally::init() { if (force->pair == nullptr) - error->all(FLERR,"Trying to use compute pe/mol/tally without pair style"); + error->all(FLERR, "Trying to use compute pe/mol/tally without pair style"); else force->pair->add_tally_callback(this); - if (atom->molecule_flag == 0) - error->all(FLERR,"Compute pe/mol/tally requires molecule IDs"); + if (atom->molecule_flag == 0) error->all(FLERR, "Compute pe/mol/tally requires molecule IDs"); if (comm->me == 0) { if (force->pair->single_enable == 0 || force->pair->manybody_flag) - error->warning(FLERR,"Compute pe/mol/tally used with incompatible pair style"); + error->warning(FLERR, "Compute pe/mol/tally used with incompatible pair style"); - if (force->bond || force->angle || force->dihedral - || force->improper || force->kspace) - error->warning(FLERR,"Compute pe/mol/tally only called from pair style"); + if (force->bond || force->angle || force->dihedral || force->improper || force->kspace) + error->warning(FLERR, "Compute pe/mol/tally only called from pair style"); } did_setup = -1; } @@ -93,29 +88,33 @@ void ComputePEMolTally::pair_setup_callback(int, int) } /* ---------------------------------------------------------------------- */ -void ComputePEMolTally::pair_tally_callback(int i, int j, int nlocal, int newton, - double evdwl, double ecoul, double, - double, double, double) +void ComputePEMolTally::pair_tally_callback(int i, int j, int nlocal, int newton, double evdwl, + double ecoul, double, double, double, double) { - const int * const mask = atom->mask; - const tagint * const molid = atom->molecule; + const int *const mask = atom->mask; + const tagint *const molid = atom->molecule; - if ( ((mask[i] & groupbit) && (mask[j] & groupbit2)) - || ((mask[i] & groupbit2) && (mask[j] & groupbit))) { + if (((mask[i] & groupbit) && (mask[j] & groupbit2)) || + ((mask[i] & groupbit2) && (mask[j] & groupbit))) { - evdwl *= 0.5; ecoul *= 0.5; + evdwl *= 0.5; + ecoul *= 0.5; if (newton || i < nlocal) { if (molid[i] == molid[j]) { - etotal[0] += evdwl; etotal[1] += ecoul; + etotal[0] += evdwl; + etotal[1] += ecoul; } else { - etotal[2] += evdwl; etotal[3] += ecoul; + etotal[2] += evdwl; + etotal[3] += ecoul; } } if (newton || j < nlocal) { if (molid[i] == molid[j]) { - etotal[0] += evdwl; etotal[1] += ecoul; + etotal[0] += evdwl; + etotal[1] += ecoul; } else { - etotal[2] += evdwl; etotal[3] += ecoul; + etotal[2] += evdwl; + etotal[3] += ecoul; } } } @@ -127,10 +126,9 @@ void ComputePEMolTally::compute_vector() { invoked_vector = update->ntimestep; if ((did_setup != invoked_vector) || (update->eflag_global != invoked_vector)) - error->all(FLERR,"Energy was not tallied on needed timestep"); + error->all(FLERR, "Energy was not tallied on needed timestep"); // sum accumulated energies across procs - MPI_Allreduce(etotal,vector,size_vector,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(etotal, vector, size_vector, MPI_DOUBLE, MPI_SUM, world); } - diff --git a/src/TALLY/compute_pe_tally.cpp b/src/TALLY/compute_pe_tally.cpp index dae233f830..07cb500e44 100644 --- a/src/TALLY/compute_pe_tally.cpp +++ b/src/TALLY/compute_pe_tally.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -15,26 +14,24 @@ #include "compute_pe_tally.h" #include "atom.h" -#include "group.h" -#include "pair.h" -#include "update.h" -#include "memory.h" +#include "comm.h" #include "error.h" #include "force.h" -#include "comm.h" +#include "group.h" +#include "memory.h" +#include "pair.h" +#include "update.h" using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -ComputePETally::ComputePETally(LAMMPS *lmp, int narg, char **arg) : - Compute(lmp, narg, arg) +ComputePETally::ComputePETally(LAMMPS *lmp, int narg, char **arg) : Compute(lmp, narg, arg) { - if (narg < 4) error->all(FLERR,"Illegal compute pe/tally command"); + if (narg < 4) error->all(FLERR, "Illegal compute pe/tally command"); igroup2 = group->find(arg[3]); - if (igroup2 == -1) - error->all(FLERR,"Could not find compute pe/tally second group ID"); + if (igroup2 == -1) error->all(FLERR, "Could not find compute pe/tally second group ID"); groupbit2 = group->bitmask[igroup2]; scalar_flag = 1; @@ -45,7 +42,7 @@ ComputePETally::ComputePETally(LAMMPS *lmp, int narg, char **arg) : comm_reverse = size_peratom_cols = 2; extscalar = 1; - peflag = 1; // we need Pair::ev_tally() to be run + peflag = 1; // we need Pair::ev_tally() to be run did_setup = invoked_peratom = invoked_scalar = -1; nmax = -1; @@ -67,17 +64,16 @@ ComputePETally::~ComputePETally() void ComputePETally::init() { if (force->pair == nullptr) - error->all(FLERR,"Trying to use compute pe/tally without a pair style"); + error->all(FLERR, "Trying to use compute pe/tally without a pair style"); else force->pair->add_tally_callback(this); if (comm->me == 0) { if (force->pair->single_enable == 0 || force->pair->manybody_flag) - error->warning(FLERR,"Compute pe/tally used with incompatible pair style"); + error->warning(FLERR, "Compute pe/tally used with incompatible pair style"); - if (force->bond || force->angle || force->dihedral - || force->improper || force->kspace) - error->warning(FLERR,"Compute pe/tally only called from pair style"); + if (force->bond || force->angle || force->dihedral || force->improper || force->kspace) + error->warning(FLERR, "Compute pe/tally only called from pair style"); } did_setup = -1; } @@ -98,14 +94,13 @@ void ComputePETally::pair_setup_callback(int, int) if (atom->nmax > nmax) { memory->destroy(eatom); nmax = atom->nmax; - memory->create(eatom,nmax,size_peratom_cols,"pe/tally:eatom"); + memory->create(eatom, nmax, size_peratom_cols, "pe/tally:eatom"); array_atom = eatom; } // clear storage - for (int i=0; i < ntotal; ++i) - eatom[i][0] = eatom[i][1] = 0.0; + for (int i = 0; i < ntotal; ++i) eatom[i][0] = eatom[i][1] = 0.0; vector[0] = etotal[0] = vector[1] = etotal[1] = 0.0; @@ -113,23 +108,27 @@ void ComputePETally::pair_setup_callback(int, int) } /* ---------------------------------------------------------------------- */ -void ComputePETally::pair_tally_callback(int i, int j, int nlocal, int newton, - double evdwl, double ecoul, double, - double, double, double) +void ComputePETally::pair_tally_callback(int i, int j, int nlocal, int newton, double evdwl, + double ecoul, double, double, double, double) { - const int * const mask = atom->mask; + const int *const mask = atom->mask; - if ( ((mask[i] & groupbit) && (mask[j] & groupbit2)) - || ((mask[i] & groupbit2) && (mask[j] & groupbit))) { + if (((mask[i] & groupbit) && (mask[j] & groupbit2)) || + ((mask[i] & groupbit2) && (mask[j] & groupbit))) { - evdwl *= 0.5; ecoul *= 0.5; + evdwl *= 0.5; + ecoul *= 0.5; if (newton || i < nlocal) { - etotal[0] += evdwl; eatom[i][0] += evdwl; - etotal[1] += ecoul; eatom[i][1] += ecoul; + etotal[0] += evdwl; + eatom[i][0] += evdwl; + etotal[1] += ecoul; + eatom[i][1] += ecoul; } if (newton || j < nlocal) { - etotal[0] += evdwl; eatom[j][0] += evdwl; - etotal[1] += ecoul; eatom[j][1] += ecoul; + etotal[0] += evdwl; + eatom[j][0] += evdwl; + etotal[1] += ecoul; + eatom[j][1] += ecoul; } } } @@ -138,7 +137,7 @@ void ComputePETally::pair_tally_callback(int i, int j, int nlocal, int newton, int ComputePETally::pack_reverse_comm(int n, int first, double *buf) { - int i,m,last; + int i, m, last; m = 0; last = first + n; @@ -153,7 +152,7 @@ int ComputePETally::pack_reverse_comm(int n, int first, double *buf) void ComputePETally::unpack_reverse_comm(int n, int *list, double *buf) { - int i,j,m; + int i, j, m; m = 0; for (i = 0; i < n; i++) { @@ -168,15 +167,14 @@ void ComputePETally::unpack_reverse_comm(int n, int *list, double *buf) double ComputePETally::compute_scalar() { invoked_scalar = update->ntimestep; - if ((did_setup != invoked_scalar) - || (update->eflag_global != invoked_scalar)) - error->all(FLERR,"Energy was not tallied on needed timestep"); + if ((did_setup != invoked_scalar) || (update->eflag_global != invoked_scalar)) + error->all(FLERR, "Energy was not tallied on needed timestep"); // sum accumulated energies across procs - MPI_Allreduce(etotal,vector,size_peratom_cols,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(etotal, vector, size_peratom_cols, MPI_DOUBLE, MPI_SUM, world); - scalar = vector[0]+vector[1]; + scalar = vector[0] + vector[1]; return scalar; } @@ -185,9 +183,8 @@ double ComputePETally::compute_scalar() void ComputePETally::compute_peratom() { invoked_peratom = update->ntimestep; - if ((did_setup != invoked_peratom) - || (update->eflag_global != invoked_peratom)) - error->all(FLERR,"Energy was not tallied on needed timestep"); + if ((did_setup != invoked_peratom) || (update->eflag_global != invoked_peratom)) + error->all(FLERR, "Energy was not tallied on needed timestep"); // collect contributions from ghost atoms @@ -196,8 +193,7 @@ void ComputePETally::compute_peratom() // clear out ghost atom data after it has been collected to local atoms const int nall = atom->nlocal + atom->nghost; - for (int i = atom->nlocal; i < nall; ++i) - eatom[i][0] = eatom[i][1] = 0.0; + for (int i = atom->nlocal; i < nall; ++i) eatom[i][0] = eatom[i][1] = 0.0; } } @@ -207,7 +203,6 @@ void ComputePETally::compute_peratom() double ComputePETally::memory_usage() { - double bytes = (nmax < 0) ? 0 : nmax*size_peratom_cols * sizeof(double); + double bytes = (nmax < 0) ? 0 : nmax * (double)size_peratom_cols * sizeof(double); return bytes; } - diff --git a/src/TALLY/compute_stress_tally.cpp b/src/TALLY/compute_stress_tally.cpp index 8ae42ddf02..dea65ade26 100644 --- a/src/TALLY/compute_stress_tally.cpp +++ b/src/TALLY/compute_stress_tally.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -15,27 +14,25 @@ #include "compute_stress_tally.h" #include "atom.h" -#include "group.h" -#include "pair.h" -#include "update.h" -#include "memory.h" -#include "error.h" -#include "force.h" #include "comm.h" #include "domain.h" +#include "error.h" +#include "force.h" +#include "group.h" +#include "memory.h" +#include "pair.h" +#include "update.h" using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -ComputeStressTally::ComputeStressTally(LAMMPS *lmp, int narg, char **arg) : - Compute(lmp, narg, arg) +ComputeStressTally::ComputeStressTally(LAMMPS *lmp, int narg, char **arg) : Compute(lmp, narg, arg) { - if (narg < 4) error->all(FLERR,"Illegal compute stress/tally command"); + if (narg < 4) error->all(FLERR, "Illegal compute stress/tally command"); igroup2 = group->find(arg[3]); - if (igroup2 == -1) - error->all(FLERR,"Could not find compute stress/tally second group ID"); + if (igroup2 == -1) error->all(FLERR, "Could not find compute stress/tally second group ID"); groupbit2 = group->bitmask[igroup2]; scalar_flag = 1; @@ -46,7 +43,7 @@ ComputeStressTally::ComputeStressTally(LAMMPS *lmp, int narg, char **arg) : comm_reverse = size_peratom_cols = 6; extscalar = 0; - peflag = 1; // we need Pair::ev_tally() to be run + peflag = 1; // we need Pair::ev_tally() to be run did_setup = invoked_peratom = invoked_scalar = -1; nmax = -1; @@ -70,17 +67,16 @@ ComputeStressTally::~ComputeStressTally() void ComputeStressTally::init() { if (force->pair == nullptr) - error->all(FLERR,"Trying to use compute stress/tally without pair style"); + error->all(FLERR, "Trying to use compute stress/tally without pair style"); else force->pair->add_tally_callback(this); if (comm->me == 0) { if (force->pair->single_enable == 0 || force->pair->manybody_flag) - error->warning(FLERR,"Compute stress/tally used with incompatible pair style"); + error->warning(FLERR, "Compute stress/tally used with incompatible pair style"); - if (force->bond || force->angle || force->dihedral - || force->improper || force->kspace) - error->warning(FLERR,"Compute stress/tally only called from pair style"); + if (force->bond || force->angle || force->dihedral || force->improper || force->kspace) + error->warning(FLERR, "Compute stress/tally only called from pair style"); } did_setup = -1; } @@ -101,55 +97,64 @@ void ComputeStressTally::pair_setup_callback(int, int) if (atom->nmax > nmax) { memory->destroy(stress); nmax = atom->nmax; - memory->create(stress,nmax,size_peratom_cols,"stress/tally:stress"); + memory->create(stress, nmax, size_peratom_cols, "stress/tally:stress"); array_atom = stress; } // clear storage - for (int i=0; i < ntotal; ++i) - for (int j=0; j < size_peratom_cols; ++j) - stress[i][j] = 0.0; + for (int i = 0; i < ntotal; ++i) + for (int j = 0; j < size_peratom_cols; ++j) stress[i][j] = 0.0; - for (int i=0; i < size_peratom_cols; ++i) - vector[i] = virial[i] = 0.0; + for (int i = 0; i < size_peratom_cols; ++i) vector[i] = virial[i] = 0.0; did_setup = update->ntimestep; } /* ---------------------------------------------------------------------- */ -void ComputeStressTally::pair_tally_callback(int i, int j, int nlocal, int newton, - double, double, double fpair, - double dx, double dy, double dz) +void ComputeStressTally::pair_tally_callback(int i, int j, int nlocal, int newton, double, double, + double fpair, double dx, double dy, double dz) { - const int * const mask = atom->mask; + const int *const mask = atom->mask; - if ( ((mask[i] & groupbit) && (mask[j] & groupbit2)) - || ((mask[i] & groupbit2) && (mask[j] & groupbit))) { + if (((mask[i] & groupbit) && (mask[j] & groupbit2)) || + ((mask[i] & groupbit2) && (mask[j] & groupbit))) { fpair *= 0.5; - const double v0 = dx*dx*fpair; - const double v1 = dy*dy*fpair; - const double v2 = dz*dz*fpair; - const double v3 = dx*dy*fpair; - const double v4 = dx*dz*fpair; - const double v5 = dy*dz*fpair; + const double v0 = dx * dx * fpair; + const double v1 = dy * dy * fpair; + const double v2 = dz * dz * fpair; + const double v3 = dx * dy * fpair; + const double v4 = dx * dz * fpair; + const double v5 = dy * dz * fpair; if (newton || i < nlocal) { - virial[0] += v0; stress[i][0] += v0; - virial[1] += v1; stress[i][1] += v1; - virial[2] += v2; stress[i][2] += v2; - virial[3] += v3; stress[i][3] += v3; - virial[4] += v4; stress[i][4] += v4; - virial[5] += v5; stress[i][5] += v5; + virial[0] += v0; + stress[i][0] += v0; + virial[1] += v1; + stress[i][1] += v1; + virial[2] += v2; + stress[i][2] += v2; + virial[3] += v3; + stress[i][3] += v3; + virial[4] += v4; + stress[i][4] += v4; + virial[5] += v5; + stress[i][5] += v5; } if (newton || j < nlocal) { - virial[0] += v0; stress[j][0] += v0; - virial[1] += v1; stress[j][1] += v1; - virial[2] += v2; stress[j][2] += v2; - virial[3] += v3; stress[j][3] += v3; - virial[4] += v4; stress[j][4] += v4; - virial[5] += v5; stress[j][5] += v5; + virial[0] += v0; + stress[j][0] += v0; + virial[1] += v1; + stress[j][1] += v1; + virial[2] += v2; + stress[j][2] += v2; + virial[3] += v3; + stress[j][3] += v3; + virial[4] += v4; + stress[j][4] += v4; + virial[5] += v5; + stress[j][5] += v5; } } } @@ -158,7 +163,7 @@ void ComputeStressTally::pair_tally_callback(int i, int j, int nlocal, int newto int ComputeStressTally::pack_reverse_comm(int n, int first, double *buf) { - int i,m,last; + int i, m, last; m = 0; last = first + n; @@ -177,7 +182,7 @@ int ComputeStressTally::pack_reverse_comm(int n, int first, double *buf) void ComputeStressTally::unpack_reverse_comm(int n, int *list, double *buf) { - int i,j,m; + int i, j, m; m = 0; for (i = 0; i < n; i++) { @@ -196,18 +201,17 @@ void ComputeStressTally::unpack_reverse_comm(int n, int *list, double *buf) double ComputeStressTally::compute_scalar() { invoked_scalar = update->ntimestep; - if ((did_setup != invoked_scalar) - || (update->eflag_global != invoked_scalar)) - error->all(FLERR,"Energy was not tallied on needed timestep"); + if ((did_setup != invoked_scalar) || (update->eflag_global != invoked_scalar)) + error->all(FLERR, "Energy was not tallied on needed timestep"); // sum accumulated forces across procs - MPI_Allreduce(virial,vector,size_peratom_cols,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(virial, vector, size_peratom_cols, MPI_DOUBLE, MPI_SUM, world); if (domain->dimension == 3) - scalar = (vector[0]+vector[1]+vector[2])/3.0; + scalar = (vector[0] + vector[1] + vector[2]) / 3.0; else - scalar = (vector[0]+vector[1])/2.0; + scalar = (vector[0] + vector[1]) / 2.0; return scalar; } @@ -217,9 +221,8 @@ double ComputeStressTally::compute_scalar() void ComputeStressTally::compute_peratom() { invoked_peratom = update->ntimestep; - if ((did_setup != invoked_peratom) - || (update->eflag_global != invoked_peratom)) - error->all(FLERR,"Energy was not tallied on needed timestep"); + if ((did_setup != invoked_peratom) || (update->eflag_global != invoked_peratom)) + error->all(FLERR, "Energy was not tallied on needed timestep"); // collect contributions from ghost atoms @@ -228,8 +231,7 @@ void ComputeStressTally::compute_peratom() const int nall = atom->nlocal + atom->nghost; for (int i = atom->nlocal; i < nall; ++i) - for (int j = 0; j < size_peratom_cols; ++j) - stress[i][j] = 0.0; + for (int j = 0; j < size_peratom_cols; ++j) stress[i][j] = 0.0; } // convert to stress*volume units = -pressure*volume @@ -251,7 +253,6 @@ void ComputeStressTally::compute_peratom() double ComputeStressTally::memory_usage() { - double bytes = (nmax < 0) ? 0 : nmax*size_peratom_cols * sizeof(double); + double bytes = (nmax < 0) ? 0 : nmax * (double)size_peratom_cols * sizeof(double); return bytes; } - From dbe14d9ee733bfee3e5f020ec532dea7e0cfeb3a Mon Sep 17 00:00:00 2001 From: Stan Gerald Moore Date: Tue, 27 Jul 2021 11:22:20 -0600 Subject: [PATCH 548/726] Add missing method to Kokkos verlet --- src/KOKKOS/verlet_kokkos.cpp | 33 +++++++++++++++++---------------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/src/KOKKOS/verlet_kokkos.cpp b/src/KOKKOS/verlet_kokkos.cpp index 492eac3e49..0758f7eefd 100644 --- a/src/KOKKOS/verlet_kokkos.cpp +++ b/src/KOKKOS/verlet_kokkos.cpp @@ -76,12 +76,12 @@ VerletKokkos::VerletKokkos(LAMMPS *lmp, int narg, char **arg) : void VerletKokkos::setup(int flag) { if (comm->me == 0 && screen) { - fprintf(screen,"Setting up Verlet run ...\n"); + fputs("Setting up Verlet run ...\n",screen); if (flag) { - fprintf(screen," Unit style : %s\n", update->unit_style); - fprintf(screen," Current step : " BIGINT_FORMAT "\n", - update->ntimestep); - fprintf(screen," Time step : %g\n", update->dt); + fmt::print(screen," Unit style : {}\n" + " Current step : {}\n" + " Time step : {}\n", + update->unit_style,update->ntimestep,update->dt); timer->print_timeout(screen); } } @@ -132,6 +132,7 @@ void VerletKokkos::setup(int flag) // compute all forces + force->setup(); ev_set(update->ntimestep); force_clear(); modify->setup_pre_force(vflag); @@ -140,11 +141,10 @@ void VerletKokkos::setup(int flag) atomKK->sync(force->pair->execution_space,force->pair->datamask_read); force->pair->compute(eflag,vflag); atomKK->modified(force->pair->execution_space,force->pair->datamask_modify); - timer->stamp(Timer::PAIR); } else if (force->pair) force->pair->compute_dummy(eflag,vflag); - if (atomKK->molecular) { + if (atomKK->molecular != Atomic::ATOMIC) { if (force->bond) { atomKK->sync(force->bond->execution_space,force->bond->datamask_read); force->bond->compute(eflag,vflag); @@ -165,7 +165,6 @@ void VerletKokkos::setup(int flag) force->improper->compute(eflag,vflag); atomKK->modified(force->improper->execution_space,force->improper->datamask_modify); } - timer->stamp(Timer::BOND); } if (force->kspace) { @@ -174,9 +173,10 @@ void VerletKokkos::setup(int flag) atomKK->sync(force->kspace->execution_space,force->kspace->datamask_read); force->kspace->compute(eflag,vflag); atomKK->modified(force->kspace->execution_space,force->kspace->datamask_modify); - timer->stamp(Timer::KSPACE); } else force->kspace->compute_dummy(eflag,vflag); } + + modify->setup_pre_reverse(eflag,vflag); if (force->newton) comm->reverse_comm(); lmp->kokkos->auto_sync = 0; @@ -244,11 +244,10 @@ void VerletKokkos::setup_minimal(int flag) atomKK->sync(force->pair->execution_space,force->pair->datamask_read); force->pair->compute(eflag,vflag); atomKK->modified(force->pair->execution_space,force->pair->datamask_modify); - timer->stamp(Timer::PAIR); } else if (force->pair) force->pair->compute_dummy(eflag,vflag); - if (atomKK->molecular) { + if (atomKK->molecular != Atom::ATOMIC) { if (force->bond) { atomKK->sync(force->bond->execution_space,force->bond->datamask_read); force->bond->compute(eflag,vflag); @@ -269,7 +268,6 @@ void VerletKokkos::setup_minimal(int flag) force->improper->compute(eflag,vflag); atomKK->modified(force->improper->execution_space,force->improper->datamask_modify); } - timer->stamp(Timer::BOND); } if (force->kspace) { @@ -278,10 +276,10 @@ void VerletKokkos::setup_minimal(int flag) atomKK->sync(force->kspace->execution_space,force->kspace->datamask_read); force->kspace->compute(eflag,vflag); atomKK->modified(force->kspace->execution_space,force->kspace->datamask_modify); - timer->stamp(Timer::KSPACE); } else force->kspace->compute_dummy(eflag,vflag); } + modify->setup_pre_reverse(eflag,vflag); if (force->newton) comm->reverse_comm(); lmp->kokkos->auto_sync = 0; @@ -302,6 +300,7 @@ void VerletKokkos::run(int n) int n_post_integrate = modify->n_post_integrate; int n_pre_exchange = modify->n_pre_exchange; int n_pre_neighbor = modify->n_pre_neighbor; + int n_post_neighbor = modify->n_post_neighbor; int n_pre_force = modify->n_pre_force; int n_pre_reverse = modify->n_pre_reverse; int n_post_force = modify->n_post_force; @@ -320,11 +319,11 @@ void VerletKokkos::run(int n) timer->init_timeout(); for (int i = 0; i < n; i++) { - if (timer->check_timeout(i)) { update->nsteps = i; break; } + ntimestep = ++update->ntimestep; ev_set(ntimestep); @@ -388,6 +387,10 @@ void VerletKokkos::run(int n) } neighbor->build(1); timer->stamp(Timer::NEIGH); + if (n_post_neighbor) { + modify->post_neighbor(); + timer->stamp(Timer::MODIFY); + timer->stamp(Timer::NEIGH); } // force computations @@ -648,5 +651,3 @@ void VerletKokkos::force_clear() } } } - - From de4322b54cb61cc39025996bcd33579a27b118f4 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 27 Jul 2021 14:32:04 -0400 Subject: [PATCH 549/726] whitespace fixes --- src/INTEL/intel_intrinsics_airebo.h | 4 ++-- src/INTEL/intel_preprocess.h | 2 +- src/INTEL/intel_simd.h | 36 ++++++++++++++--------------- src/INTEL/pair_buck_intel.cpp | 2 +- 4 files changed, 22 insertions(+), 22 deletions(-) diff --git a/src/INTEL/intel_intrinsics_airebo.h b/src/INTEL/intel_intrinsics_airebo.h index ea29888ea1..5a7959c683 100644 --- a/src/INTEL/intel_intrinsics_airebo.h +++ b/src/INTEL/intel_intrinsics_airebo.h @@ -623,7 +623,7 @@ public: ) { assert(scale == sizeof(FVEC_SCAL_T)); # if FVEC_LEN==8 - FVEC_SUFFIX(_mm512_mask_i32scatter_)(mem, mask.val_, + FVEC_SUFFIX(_mm512_mask_i32scatter_)(mem, mask.val_, _mm512_castsi512_si256(idx.val_), a.val_, sizeof(FVEC_SCAL_T)); # else @@ -668,7 +668,7 @@ public: const double * mem, const int scale ) { assert(scale == sizeof(double)); - __m512d lo = _mm512_mask_i32gather_pd(src.lo_, mask.val_, + __m512d lo = _mm512_mask_i32gather_pd(src.lo_, mask.val_, _mm512_castsi512_si256(idx.val_), mem, sizeof(double)); __m512d hi = _mm512_mask_i32gather_pd(src.hi_, get_bvec_hi(mask.val_), diff --git a/src/INTEL/intel_preprocess.h b/src/INTEL/intel_preprocess.h index 41c91d1578..9f4c78c9bc 100644 --- a/src/INTEL/intel_preprocess.h +++ b/src/INTEL/intel_preprocess.h @@ -338,7 +338,7 @@ enum {TIME_PACK, TIME_HOST_NEIGHBOR, TIME_HOST_PAIR, TIME_OFFLOAD_NEIGHBOR, #endif // TO BE DEPRECATED -#ifndef USE_OMP_SIMD +#ifndef USE_OMP_SIMD #define IP_PRE_fdotr_acc_force_l5(lf, lt, minlocal, nthreads, f_start, \ f_stride, pos, ov0, ov1, ov2, \ diff --git a/src/INTEL/intel_simd.h b/src/INTEL/intel_simd.h index eb5d9857a5..2affa6a394 100644 --- a/src/INTEL/intel_simd.h +++ b/src/INTEL/intel_simd.h @@ -838,10 +838,10 @@ namespace ip_simd { x = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), m, _mm512_castsi512_si256(i), atom, _MM_SCALE_2); - y = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), m, + y = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), m, _mm512_castsi512_si256(i), atom+1, _MM_SCALE_2); - z = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), m, + z = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), m, _mm512_castsi512_si256(i), atom+2, _MM_SCALE_2); } @@ -852,10 +852,10 @@ namespace ip_simd { x = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), m, _mm512_castsi512_si256(i), atom, _MM_SCALE_2); - y = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), m, + y = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), m, _mm512_castsi512_si256(i), atom+1, _MM_SCALE_2); - z = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), m, + z = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), m, _mm512_castsi512_si256(i), atom+2, _MM_SCALE_2); type = _mm512_mask_i32gather_epi32(_mm512_undefined_epi32(), m, i, atom+3, @@ -895,7 +895,7 @@ namespace ip_simd { const SIMD_int &joffset, SIMD_double &eng) { SIMD_double jeng; SIMD_conflict_pi_reduce1(rmask, joffset, eng); - jeng = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), rmask, + jeng = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), rmask, _mm512_castsi512_si256(joffset), force, _MM_SCALE_2); jeng = jeng + eng; @@ -908,7 +908,7 @@ namespace ip_simd { SIMD_double engd, jeng; engd = _mm512_cvtps_pd(_mm512_castps512_ps256(eng)); SIMD_conflict_pi_reduce1(rmask, joffset, engd); - jeng = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), rmask, + jeng = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), rmask, _mm512_castsi512_si256(joffset), force, _MM_SCALE_2); jeng = jeng + engd; @@ -920,7 +920,7 @@ namespace ip_simd { _mm512_shuffle_f32x4(eng,eng,238))); SIMD_int joffset2 = _mm512_shuffle_i32x4(joffset, joffset, 238); SIMD_conflict_pi_reduce1(rmask2, joffset2, engd); - jeng = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), rmask2, + jeng = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), rmask2, _mm512_castsi512_si256(joffset2), force, _MM_SCALE_2); jeng = jeng + engd; @@ -939,7 +939,7 @@ namespace ip_simd { SIMD_double jeng; SIMD_conflict_pi_reduce1(rmask, joffset, eng); - jeng = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), rmask, + jeng = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), rmask, _mm512_castsi512_si256(joffset), force, _MM_SCALE_2); jeng = jeng + eng; @@ -971,7 +971,7 @@ namespace ip_simd { SIMD_double &fy, SIMD_double &fz) { SIMD_conflict_pi_reduce3(m, i, fx, fy, fz); SIMD_double jfrc; - jfrc = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), m, + jfrc = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), m, _mm512_castsi512_si256(i), force, _MM_SCALE_2); jfrc = jfrc + fx; @@ -983,7 +983,7 @@ namespace ip_simd { jfrc = jfrc + fy; _mm512_mask_i32scatter_pd(force+1, m, _mm512_castsi512_si256(i), jfrc, _MM_SCALE_2); - jfrc = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), m, + jfrc = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), m, _mm512_castsi512_si256(i), force + 2, _MM_SCALE_2); jfrc = jfrc + fz; @@ -1000,13 +1000,13 @@ namespace ip_simd { amzd = _mm512_cvtps_pd(_mm512_castps512_ps256(amz)); SIMD_conflict_pi_reduce3(rmask, joffset, amxd, amyd, amzd); SIMD_double jfrc; - jfrc = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), rmask, + jfrc = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), rmask, _mm512_castsi512_si256(joffset), force, _MM_SCALE_2); jfrc = jfrc + amxd; _mm512_mask_i32scatter_pd(force, rmask, _mm512_castsi512_si256(joffset), jfrc, _MM_SCALE_2); - jfrc = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), rmask, + jfrc = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), rmask, _mm512_castsi512_si256(joffset), force + 1, _MM_SCALE_2); jfrc = jfrc + amyd; @@ -1028,13 +1028,13 @@ namespace ip_simd { _mm512_shuffle_f32x4(amz,amz,238))); SIMD_int joffset2 = _mm512_shuffle_i32x4(joffset, joffset, 238); SIMD_conflict_pi_reduce3(rmask2, joffset2, amxd, amyd, amzd); - jfrc = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), rmask2, + jfrc = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), rmask2, _mm512_castsi512_si256(joffset2), force, _MM_SCALE_2); jfrc = jfrc + amxd; _mm512_mask_i32scatter_pd(force, rmask2, _mm512_castsi512_si256(joffset2), jfrc, _MM_SCALE_2); - jfrc = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), rmask2, + jfrc = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), rmask2, _mm512_castsi512_si256(joffset2), force + 1, _MM_SCALE_2); jfrc = jfrc + amyd; @@ -1045,7 +1045,7 @@ namespace ip_simd { _mm512_castsi512_si256(joffset2), force + 2, _MM_SCALE_2); jfrc = jfrc + amzd; - _mm512_mask_i32scatter_pd(force+2, rmask2, + _mm512_mask_i32scatter_pd(force+2, rmask2, _mm512_castsi512_si256(joffset2), jfrc, _MM_SCALE_2); } @@ -1099,7 +1099,7 @@ namespace ip_simd { const SIMD_int &i, const SIMD_double &fx, const SIMD_double &fy, const SIMD_double &fz) { SIMD_double jfrc; - jfrc = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), m, + jfrc = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), m, _mm512_castsi512_si256(i), force, _MM_SCALE_2); jfrc = jfrc - fx; @@ -1866,7 +1866,7 @@ namespace ip_simd { jfrc = jfrc + fx; _mm512_mask_i32scatter_pd(force, m, _mm512_castsi512_si256(i), jfrc, _MM_SCALE_2); - jfrc = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), m, + jfrc = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), m, _mm512_castsi512_si256(i), force + 1, _MM_SCALE_2); jfrc = jfrc + fy; @@ -1880,7 +1880,7 @@ namespace ip_simd { _MM_SCALE_2); if (EFLAG) { if (eatom) { - jfrc = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), m, + jfrc = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), m, _mm512_castsi512_si256(i), force + 3, _MM_SCALE_2); jfrc = jfrc + fwtmp; diff --git a/src/INTEL/pair_buck_intel.cpp b/src/INTEL/pair_buck_intel.cpp index 2dae75f920..f15669e1d3 100644 --- a/src/INTEL/pair_buck_intel.cpp +++ b/src/INTEL/pair_buck_intel.cpp @@ -231,7 +231,7 @@ void PairBuckIntel::eval(const int offload, const int vflag, fxtmp = fytmp = fztmp = (acc_t)0; if (EFLAG) fwtmp = sevdwl = (acc_t)0; if (NEWTON_PAIR == 0) - if (vflag == VIRIAL_PAIR) + if (vflag == VIRIAL_PAIR) sv0 = sv1 = sv2 = sv3 = sv4 = sv5 = (acc_t)0; #if defined(LMP_SIMD_COMPILER) From c4eee478b1b749249864e2e53caea7730d520532 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 27 Jul 2021 15:53:35 -0400 Subject: [PATCH 550/726] move back to src for dependencies --- doc/src/fix_nve_noforce.rst | 3 +-- src/{EXTRA-FIX => }/fix_nve_noforce.cpp | 0 src/{EXTRA-FIX => }/fix_nve_noforce.h | 0 3 files changed, 1 insertion(+), 2 deletions(-) rename src/{EXTRA-FIX => }/fix_nve_noforce.cpp (100%) rename src/{EXTRA-FIX => }/fix_nve_noforce.h (100%) diff --git a/doc/src/fix_nve_noforce.rst b/doc/src/fix_nve_noforce.rst index ee02f795a1..ed13123403 100644 --- a/doc/src/fix_nve_noforce.rst +++ b/doc/src/fix_nve_noforce.rst @@ -49,8 +49,7 @@ the :doc:`run ` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" -This fix is part of the EXTRA-FIX package. It is only enabled if LAMMPS -was built with that package. See the :doc:`Build package ` page for more info. +none Related commands """""""""""""""" diff --git a/src/EXTRA-FIX/fix_nve_noforce.cpp b/src/fix_nve_noforce.cpp similarity index 100% rename from src/EXTRA-FIX/fix_nve_noforce.cpp rename to src/fix_nve_noforce.cpp diff --git a/src/EXTRA-FIX/fix_nve_noforce.h b/src/fix_nve_noforce.h similarity index 100% rename from src/EXTRA-FIX/fix_nve_noforce.h rename to src/fix_nve_noforce.h From f20479f10e3bb276e383a06c96b681fb4a0ae898 Mon Sep 17 00:00:00 2001 From: Stan Gerald Moore Date: Tue, 27 Jul 2021 15:47:42 -0600 Subject: [PATCH 551/726] Fix typo --- src/KOKKOS/verlet_kokkos.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/KOKKOS/verlet_kokkos.cpp b/src/KOKKOS/verlet_kokkos.cpp index 0758f7eefd..a4a72c0778 100644 --- a/src/KOKKOS/verlet_kokkos.cpp +++ b/src/KOKKOS/verlet_kokkos.cpp @@ -144,7 +144,7 @@ void VerletKokkos::setup(int flag) } else if (force->pair) force->pair->compute_dummy(eflag,vflag); - if (atomKK->molecular != Atomic::ATOMIC) { + if (atomKK->molecular != Atom::ATOMIC) { if (force->bond) { atomKK->sync(force->bond->execution_space,force->bond->datamask_read); force->bond->compute(eflag,vflag); From 416048e939451a3ad9123e685175b1792adada61 Mon Sep 17 00:00:00 2001 From: Stan Gerald Moore Date: Tue, 27 Jul 2021 15:57:06 -0600 Subject: [PATCH 552/726] Fix compile error --- src/KOKKOS/verlet_kokkos.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/KOKKOS/verlet_kokkos.cpp b/src/KOKKOS/verlet_kokkos.cpp index a4a72c0778..909c6930cf 100644 --- a/src/KOKKOS/verlet_kokkos.cpp +++ b/src/KOKKOS/verlet_kokkos.cpp @@ -390,7 +390,7 @@ void VerletKokkos::run(int n) if (n_post_neighbor) { modify->post_neighbor(); timer->stamp(Timer::MODIFY); - timer->stamp(Timer::NEIGH); + } } // force computations From fe34fe26b2e4c1521c605e0be1cd92c199a7e3d4 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 27 Jul 2021 18:21:08 -0400 Subject: [PATCH 553/726] add a hard dependency on EXTRA-PAIR to the DIELECTRIC package --- cmake/CMakeLists.txt | 1 + src/DIELECTRIC/Install.sh | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index f1fc2e5068..a778c89d42 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -312,6 +312,7 @@ pkg_depends(LATBOLTZ MPI) pkg_depends(PHONON KSPACE) pkg_depends(SCAFACOS MPI) pkg_depends(DIELECTRIC KSPACE) +pkg_depends(DIELECTRIC EXTRA-PAIR) pkg_depends(CG-DNA MOLECULE) pkg_depends(CG-DNA ASPHERE) diff --git a/src/DIELECTRIC/Install.sh b/src/DIELECTRIC/Install.sh index f07446e15b..2505eb1a59 100644 --- a/src/DIELECTRIC/Install.sh +++ b/src/DIELECTRIC/Install.sh @@ -34,6 +34,10 @@ if (test $1 = 1) then echo "Must install KSPACE package with DIELECTRIC package" exit 1 fi + if (test ! -e ../pair_lj_cut_coul_debye.cpp) then + echo "Must install EXTRA-PAIR package with DIELECTRIC package" + exit 1 + fi fi for file in *.cpp *.h; do From 269690b771882997a3bcc462526dcfcc5f057eea Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 27 Jul 2021 18:21:22 -0400 Subject: [PATCH 554/726] document hard package dependencies --- doc/src/Packages_details.rst | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/doc/src/Packages_details.rst b/doc/src/Packages_details.rst index 28ae032d34..b4e50fad75 100644 --- a/doc/src/Packages_details.rst +++ b/doc/src/Packages_details.rst @@ -189,6 +189,7 @@ atomic information to continuum fields. **Install:** This package has :ref:`specific installation instructions ` on the :doc:`Build extras ` page. +The ATC package requires that also the `MANYBODY `_ package is installed. **Supporting info:** @@ -518,6 +519,11 @@ compute for simulating systems using boundary element solvers for computing the induced charges at the interface between two media with different dielectric constants. +**Install:** + +To use this package, also the :ref:`KSPACE ` and +:ref:`EXTRA-PAIR ` packages need to be installed. + **Author:** Trung Nguyen and Monica Olvera de la Cruz (Northwestern U) **Supporting info:** @@ -1210,6 +1216,10 @@ can be used to model MD particles influenced by hydrodynamic forces. **Authors:** Frances Mackay and Colin Denniston (University of Western Ontario). +**Install:** + +The LATBOLTZ package requires that LAMMPS is build in :ref:`MPI parallel mode `. + **Supporting info:** * src/LATBOLTZ: filenames -> commands @@ -1603,9 +1613,9 @@ A general interface for machine-learning interatomic potentials, including PyTor **Install:** -To use this package, also the :ref:`ML-SNAP package ` package needs +To use this package, also the :ref:`ML-SNAP ` package needs to be installed. To make the *mliappy* model available, also the -:ref:`PYTHON package ` package needs to be installed, the version +:ref:`PYTHON ` package needs to be installed, the version of Python must be 3.6 or later, and the `cython `_ software must be installed. @@ -1870,6 +1880,10 @@ MPIIO library. It adds :doc:`dump styles ` with a "mpiio" in their style name. Restart files with an ".mpiio" suffix are also written and read in parallel. +**Install:** + +The MPIIO package requires that LAMMPS is build in :ref:`MPI parallel mode `. + **Supporting info:** * src/MPIIO: filenames -> commands @@ -2103,6 +2117,12 @@ And a :doc:`dynamical_matrix ` as well as a :doc:`third_order ` command to compute the dynamical matrix and third order tensor from finite differences. +**Install:** + +The PHONON package requires that also the `KSPACE `_ +package is installed. + + **Authors:** Ling-Ti Kong (Shanghai Jiao Tong University) for "fix phonon" and Charlie Sievers (UC Davis) for "dynamical_matrix" and "third_order" @@ -2486,6 +2506,7 @@ the Forschungszentrum Juelich. **Install:** This package has :ref:`specific installation instructions ` on the :doc:`Build extras ` page. +The SCAFACOS package requires that LAMMPS is build in :ref:`MPI parallel mode `. **Supporting info:** From bb5da016d413768ee54a9c7e9d02b96596bd098a Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 27 Jul 2021 18:21:45 -0400 Subject: [PATCH 555/726] add dependencies for KOKKOS style to the conventional build --- src/KOKKOS/Install.sh | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/KOKKOS/Install.sh b/src/KOKKOS/Install.sh index 073f094836..5e7285a75f 100755 --- a/src/KOKKOS/Install.sh +++ b/src/KOKKOS/Install.sh @@ -251,20 +251,20 @@ action pair_lj_class2_kokkos.cpp pair_lj_class2.cpp action pair_lj_class2_kokkos.h pair_lj_class2.h action pair_lj_cut_coul_cut_kokkos.cpp action pair_lj_cut_coul_cut_kokkos.h -action pair_lj_cut_coul_debye_kokkos.cpp -action pair_lj_cut_coul_debye_kokkos.h -action pair_lj_cut_coul_dsf_kokkos.cpp -action pair_lj_cut_coul_dsf_kokkos.h +action pair_lj_cut_coul_debye_kokkos.cpp pair_lj_cut_coul_debye.cpp +action pair_lj_cut_coul_debye_kokkos.h pair_lj_cut_coul_debye.h +action pair_lj_cut_coul_dsf_kokkos.cpp pair_lj_cut_coul_dsf.cpp +action pair_lj_cut_coul_dsf_kokkos.h pair_lj_cut_coul_dsf.h action pair_lj_cut_coul_long_kokkos.cpp pair_lj_cut_coul_long.cpp action pair_lj_cut_coul_long_kokkos.h pair_lj_cut_coul_long.h action pair_lj_cut_kokkos.cpp action pair_lj_cut_kokkos.h action pair_lj_expand_kokkos.cpp action pair_lj_expand_kokkos.h -action pair_lj_gromacs_coul_gromacs_kokkos.cpp -action pair_lj_gromacs_coul_gromacs_kokkos.h -action pair_lj_gromacs_kokkos.cpp -action pair_lj_gromacs_kokkos.h +action pair_lj_gromacs_coul_gromacs_kokkos.cpp pair_lj_gromacs_coul_gromacs.cpp +action pair_lj_gromacs_coul_gromacs_kokkos.h pair_lj_gromacs_coul_gromacs.h +action pair_lj_gromacs_kokkos.cpp pair_lj_gromacs.cpp +action pair_lj_gromacs_kokkos.h pair_lj_gromacs.h action pair_lj_sdk_kokkos.cpp pair_lj_sdk.cpp action pair_lj_sdk_kokkos.h pair_lj_sdk.h action pair_morse_kokkos.cpp From 74a27c102e8edcdc084e45dbd4a8d7e87a104083 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 28 Jul 2021 12:11:35 -0400 Subject: [PATCH 556/726] correct prerequisite --- unittest/force-styles/tests/atomic-pair-lj_relres.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/unittest/force-styles/tests/atomic-pair-lj_relres.yaml b/unittest/force-styles/tests/atomic-pair-lj_relres.yaml index 99a83e0c8d..704bb46785 100644 --- a/unittest/force-styles/tests/atomic-pair-lj_relres.yaml +++ b/unittest/force-styles/tests/atomic-pair-lj_relres.yaml @@ -3,7 +3,7 @@ lammps_version: 10 Feb 2021 date_generated: Sun Feb 28 23:32:03 2021 epsilon: 5e-13 prerequisites: ! | - pair born + pair lj/relres pre_commands: ! "" post_commands: ! "" input_file: in.metal From 600471d07f2af2664dbbb996e3a28ca3bb659b0c Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 28 Jul 2021 12:11:54 -0400 Subject: [PATCH 557/726] skip run test with fix when fix is not available --- unittest/formats/test_dump_custom.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/unittest/formats/test_dump_custom.cpp b/unittest/formats/test_dump_custom.cpp index 772acaacb6..90876dcb2d 100644 --- a/unittest/formats/test_dump_custom.cpp +++ b/unittest/formats/test_dump_custom.cpp @@ -143,6 +143,8 @@ TEST_F(DumpCustomTest, compute_run0) TEST_F(DumpCustomTest, fix_run0) { + if (!info->has_style("fix", "numdiff")) GTEST_SKIP(); + BEGIN_HIDE_OUTPUT(); command("fix numdiff all numdiff 1 0.0001"); END_HIDE_OUTPUT(); From 32be894ae2b120ffc8eaac4111b783f251a1c765 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 28 Jul 2021 16:16:22 -0400 Subject: [PATCH 558/726] silence compiler warnings --- src/CG-DNA/atom_vec_oxdna.cpp | 2 +- src/CG-DNA/pair_oxdna_stk.cpp | 1 - src/CG-DNA/pair_oxrna2_stk.cpp | 1 - src/DIELECTRIC/pppm_disp_dielectric.cpp | 1 - src/DPD-SMOOTH/fix_meso_move.cpp | 2 +- 5 files changed, 2 insertions(+), 5 deletions(-) diff --git a/src/CG-DNA/atom_vec_oxdna.cpp b/src/CG-DNA/atom_vec_oxdna.cpp index 7ce2189a64..f5d56eef31 100644 --- a/src/CG-DNA/atom_vec_oxdna.cpp +++ b/src/CG-DNA/atom_vec_oxdna.cpp @@ -80,7 +80,7 @@ void AtomVecOxdna::data_atom_post(int ilocal) store 5' partner to inform 3'->5' bond directionality ------------------------------------------------------------------------- */ -void AtomVecOxdna::data_bonds_post(int m, int num_bond, tagint atom1, tagint atom2, +void AtomVecOxdna::data_bonds_post(int /*m*/, int /*num_bond*/, tagint atom1, tagint atom2, tagint id_offset) { int n; diff --git a/src/CG-DNA/pair_oxdna_stk.cpp b/src/CG-DNA/pair_oxdna_stk.cpp index 63439e3ac4..2f1a0bf1b6 100644 --- a/src/CG-DNA/pair_oxdna_stk.cpp +++ b/src/CG-DNA/pair_oxdna_stk.cpp @@ -255,7 +255,6 @@ void PairOxdnaStk::compute(int eflag, int vflag) double f1,f4t4,f4t5,f4t6,f5c1,f5c2; double df1,df4t4,df4t5,df4t6,df5c1,df5c2; - double tptofp; evdwl = 0.0; ev_init(eflag,vflag); diff --git a/src/CG-DNA/pair_oxrna2_stk.cpp b/src/CG-DNA/pair_oxrna2_stk.cpp index b6b68662d5..4d733f53b5 100644 --- a/src/CG-DNA/pair_oxrna2_stk.cpp +++ b/src/CG-DNA/pair_oxrna2_stk.cpp @@ -272,7 +272,6 @@ void PairOxrna2Stk::compute(int eflag, int vflag) double f1,f4t5,f4t6,f4t9,f4t10,f5c1,f5c2; double df1,df4t5,df4t6,df4t9,df4t10,df5c1,df5c2; - double tptofp; evdwl = 0.0; ev_init(eflag,vflag); diff --git a/src/DIELECTRIC/pppm_disp_dielectric.cpp b/src/DIELECTRIC/pppm_disp_dielectric.cpp index b6a82296b2..944225dd43 100644 --- a/src/DIELECTRIC/pppm_disp_dielectric.cpp +++ b/src/DIELECTRIC/pppm_disp_dielectric.cpp @@ -609,7 +609,6 @@ void PPPMDispDielectric::fieldforce_c_ad() double *q = atom->q; double **x = atom->x; double **f = atom->f; - double *eps = atom->epsilon; int nlocal = atom->nlocal; for (i = 0; i < nlocal; i++) { diff --git a/src/DPD-SMOOTH/fix_meso_move.cpp b/src/DPD-SMOOTH/fix_meso_move.cpp index 220019ea98..85eee5ffbe 100644 --- a/src/DPD-SMOOTH/fix_meso_move.cpp +++ b/src/DPD-SMOOTH/fix_meso_move.cpp @@ -68,7 +68,7 @@ FixMesoMove::FixMesoMove (LAMMPS *lmp, int narg, char **arg) : // parse args - int iarg; + int iarg = narg; if (strcmp(arg[3],"linear") == 0) { if (narg < 7) error->all(FLERR,"Illegal fix meso/move command"); From f46e1c98f71447cf078c512f8ad92ed25ceabc54 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 28 Jul 2021 16:16:42 -0400 Subject: [PATCH 559/726] removed dead code and make consistent with non-OPENMP version --- src/OPENMP/pair_lj_cut_coul_cut_dielectric_omp.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/OPENMP/pair_lj_cut_coul_cut_dielectric_omp.cpp b/src/OPENMP/pair_lj_cut_coul_cut_dielectric_omp.cpp index 22ae388236..eacb774372 100644 --- a/src/OPENMP/pair_lj_cut_coul_cut_dielectric_omp.cpp +++ b/src/OPENMP/pair_lj_cut_coul_cut_dielectric_omp.cpp @@ -104,11 +104,11 @@ void PairLJCutCoulCutDielectricOMP::compute(int eflag, int vflag) template void PairLJCutCoulCutDielectricOMP::eval(int iifrom, int iito, ThrData *const thr) { - int i, j, ii, jj, jnum, itype, jtype, itable; - double qtmp, etmp, xtmp, ytmp, ztmp, delx, dely, delz, evdwl, ecoul, fpair; + int i, j, ii, jj, jnum, itype, jtype; + double qtmp, etmp, xtmp, ytmp, ztmp, delx, dely, delz, evdwl, ecoul; double fpair_i, fpair_j; - double r, rsq, r2inv, r6inv, forcecoul, forcelj, factor_coul, factor_lj; - double grij, expm2, prefactor, t, erfc, prefactorE, efield_i, epot_i; + double rsq, r2inv, r6inv, forcecoul, forcelj, factor_coul, factor_lj; + double efield_i, epot_i; int *ilist, *jlist, *numneigh, **firstneigh; evdwl = ecoul = 0.0; @@ -221,7 +221,7 @@ void PairLJCutCoulCutDielectricOMP::eval(int iifrom, int iito, ThrData *const th } if (EVFLAG) - ev_tally_thr(this, i, j, nlocal, NEWTON_PAIR, evdwl, ecoul, fpair, delx, dely, delz, thr); + ev_tally_thr(this, i, j, nlocal, NEWTON_PAIR, evdwl, ecoul, fpair_i, delx, dely, delz, thr); } } f[i].x += fxtmp; From 9a4bc8eda12124606f4156a623ff60f759c03715 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 28 Jul 2021 16:16:54 -0400 Subject: [PATCH 560/726] apply citation reminder --- src/ML-RANN/pair_rann.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/ML-RANN/pair_rann.cpp b/src/ML-RANN/pair_rann.cpp index 73ff747c81..01ef76ec87 100644 --- a/src/ML-RANN/pair_rann.cpp +++ b/src/ML-RANN/pair_rann.cpp @@ -61,7 +61,7 @@ DISTRIBUTION A. Approved for public release; distribution unlimited. OPSEC#4918 using namespace LAMMPS_NS; -static const char cite_user_rann_package[] = +static const char cite_ml_rann_package[] = "ML-RANN package:\n\n" "@Article{Nitol2021,\n" " author = {Nitol, Mashroor S and Dickel, Doyl E and Barrett, Christopher D},\n" @@ -75,6 +75,8 @@ static const char cite_user_rann_package[] = PairRANN::PairRANN(LAMMPS *lmp) : Pair(lmp) { + lmp->citeme->add(cite_ml_rann_package); + //initialize ints and bools single_enable = 0; restartinfo = 0; @@ -353,7 +355,7 @@ void PairRANN::read_file(char *filename) int eof = 0; std::string line,line1; const int longline = 4096; - int linenum; + int linenum=0; char linetemp[longline]; std::string strtemp; char *ptr; From 218467b38553a1885da565a0b4a4225523c22863 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 28 Jul 2021 16:17:12 -0400 Subject: [PATCH 561/726] use fabs() instead of abs() on floating point number --- src/MDI/fix_mdi_engine.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/MDI/fix_mdi_engine.cpp b/src/MDI/fix_mdi_engine.cpp index db9e114488..81eb87a0f3 100644 --- a/src/MDI/fix_mdi_engine.cpp +++ b/src/MDI/fix_mdi_engine.cpp @@ -554,7 +554,7 @@ void FixMDIEngine::send_charges(Error *error) void FixMDIEngine::send_energy(Error *error) { // get conversion factor to atomic units - double energy_conv; + double energy_conv = 1.0; if (lmpunits == REAL) { double kelvin_to_hartree; MDI_Conversion_factor("kelvin_energy", "hartree", &kelvin_to_hartree); @@ -884,10 +884,9 @@ void FixMDIEngine::receive_cell(Error *error) // ensure that the new cell vector is orthogonal double small = std::numeric_limits::min(); - if (abs(celldata[1]) > small or abs(celldata[2]) > small or abs(celldata[3]) > small or - abs(celldata[5]) > small or abs(celldata[6]) > small or abs(celldata[7]) > small) { - error->all(FLERR, - "MDI: LAMMPS currently only supports the >CELL command for orthogonal cell vectors"); + if (fabs(celldata[1]) > small or fabs(celldata[2]) > small or fabs(celldata[3]) > small or + fabs(celldata[5]) > small or fabs(celldata[6]) > small or fabs(celldata[7]) > small) { + error->all(FLERR, "MDI: LAMMPS currently only supports the >CELL command for orthogonal cell vectors"); } // set the new LAMMPS cell dimensions From 3a5d3fc5416b72b57d20c38e6a1bf30d00548f3a Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 28 Jul 2021 18:11:59 -0400 Subject: [PATCH 562/726] fix compilation --- src/ML-RANN/pair_rann.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/ML-RANN/pair_rann.cpp b/src/ML-RANN/pair_rann.cpp index 01ef76ec87..00043323c3 100644 --- a/src/ML-RANN/pair_rann.cpp +++ b/src/ML-RANN/pair_rann.cpp @@ -32,6 +32,7 @@ DISTRIBUTION A. Approved for public release; distribution unlimited. OPSEC#4918 #include "pair_rann.h" #include "atom.h" +#include "citeme.h" #include "comm.h" #include "error.h" #include "force.h" From 6fcfbb7793a2dd9aaa22a8b7778587373ea85395 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 28 Jul 2021 18:18:54 -0400 Subject: [PATCH 563/726] add missing dependency for conventional build --- src/GPU/Install.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/GPU/Install.sh b/src/GPU/Install.sh index 8d55cd5857..e2bdf0566b 100755 --- a/src/GPU/Install.sh +++ b/src/GPU/Install.sh @@ -47,8 +47,8 @@ action pair_born_coul_long_gpu.cpp pair_born_coul_long.cpp action pair_born_coul_long_gpu.h pair_born_coul_long.cpp action pair_born_coul_long_cs_gpu.cpp pair_born_coul_long_cs.cpp action pair_born_coul_long_cs_gpu.h pair_born_coul_long_cs.cpp -action pair_born_coul_wolf_gpu.cpp -action pair_born_coul_wolf_gpu.h +action pair_born_coul_wolf_gpu.cpp pair_born_coul_wolf.cpp +action pair_born_coul_wolf_gpu.h pair_born_coul_wolf.h action pair_born_coul_wolf_cs_gpu.cpp pair_born_coul_wolf_cs.cpp action pair_born_coul_wolf_cs_gpu.h pair_born_coul_wolf_cs.cpp action pair_born_gpu.cpp From 294ac76f41dfc037771cc5f8a1a1f98021d5e773 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 28 Jul 2021 18:33:33 -0400 Subject: [PATCH 564/726] forgot to move pair style beck to EXTRA-PAIR --- doc/src/pair_beck.rst | 5 ++++- src/{ => EXTRA-PAIR}/pair_beck.cpp | 0 src/{ => EXTRA-PAIR}/pair_beck.h | 0 3 files changed, 4 insertions(+), 1 deletion(-) rename src/{ => EXTRA-PAIR}/pair_beck.cpp (100%) rename src/{ => EXTRA-PAIR}/pair_beck.h (100%) diff --git a/doc/src/pair_beck.rst b/doc/src/pair_beck.rst index d220e0abdd..2bf027515c 100644 --- a/doc/src/pair_beck.rst +++ b/doc/src/pair_beck.rst @@ -84,7 +84,10 @@ This pair style can only be used via the *pair* keyword of the Restrictions """""""""""" -none + +This pair style is part of the EXTRA-PAIR package. It is only enabled if +LAMMPS was built with that package. See the +:doc:`Build package ` page for more info. Related commands """""""""""""""" diff --git a/src/pair_beck.cpp b/src/EXTRA-PAIR/pair_beck.cpp similarity index 100% rename from src/pair_beck.cpp rename to src/EXTRA-PAIR/pair_beck.cpp diff --git a/src/pair_beck.h b/src/EXTRA-PAIR/pair_beck.h similarity index 100% rename from src/pair_beck.h rename to src/EXTRA-PAIR/pair_beck.h From d33863839e68ff455c21ed2f3a21d03e78a9d2d0 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 28 Jul 2021 18:37:59 -0400 Subject: [PATCH 565/726] update pair style installation dependencies --- src/GPU/Install.sh | 44 ++++++++++++++++++++++---------------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/src/GPU/Install.sh b/src/GPU/Install.sh index e2bdf0566b..2e2b32d96a 100755 --- a/src/GPU/Install.sh +++ b/src/GPU/Install.sh @@ -41,8 +41,8 @@ action fix_npt_gpu.cpp action fix_nve_asphere_gpu.h fix_nve_asphere.h action fix_nve_asphere_gpu.cpp fix_nve_asphere.cpp action gpu_extra.h -action pair_beck_gpu.cpp -action pair_beck_gpu.h +action pair_beck_gpu.cpp pair_beck.cpp +action pair_beck_gpu.h pair_beck.h action pair_born_coul_long_gpu.cpp pair_born_coul_long.cpp action pair_born_coul_long_gpu.h pair_born_coul_long.cpp action pair_born_coul_long_cs_gpu.cpp pair_born_coul_long_cs.cpp @@ -71,10 +71,10 @@ action pair_coul_long_gpu.cpp pair_coul_long.cpp action pair_coul_long_gpu.h pair_coul_long.cpp action pair_coul_long_cs_gpu.cpp pair_coul_long_cs.cpp action pair_coul_long_cs_gpu.h pair_coul_long_cs.cpp -action pair_dpd_gpu.cpp -action pair_dpd_gpu.h -action pair_dpd_tstat_gpu.cpp -action pair_dpd_tstat_gpu.h +action pair_dpd_gpu.cpp pair_dpd.cpp +action pair_dpd_gpu.h pair_dpd.h +action pair_dpd_tstat_gpu.cpp pair_dpd_tstat.cpp +action pair_dpd_tstat_gpu.h pair_dpd_tstat.h action pair_lj_cut_dipole_cut_gpu.cpp pair_lj_cut_dipole_cut.cpp action pair_lj_cut_dipole_cut_gpu.h pair_lj_cut_dipole_cut.cpp action pair_lj_sf_dipole_sf_gpu.cpp pair_lj_sf_dipole_sf.cpp @@ -85,12 +85,12 @@ action pair_eam_fs_gpu.cpp pair_eam.cpp action pair_eam_fs_gpu.h pair_eam.cpp action pair_eam_gpu.cpp pair_eam.cpp action pair_eam_gpu.h pair_eam.cpp -action pair_gauss_gpu.cpp -action pair_gauss_gpu.h +action pair_gauss_gpu.cpp pair_gauss.cpp +action pair_gauss_gpu.h pair_gauss.h action pair_gayberne_gpu.cpp pair_gayberne.cpp action pair_gayberne_gpu.h pair_gayberne.cpp -action pair_lj96_cut_gpu.cpp -action pair_lj96_cut_gpu.h +action pair_lj96_cut_gpu.cpp pair_lj96_cut.cpp +action pair_lj96_cut_gpu.h pair_lj96_cut.h action pair_lj_charmm_coul_long_gpu.cpp pair_lj_charmm_coul_long.cpp action pair_lj_charmm_coul_long_gpu.h pair_lj_charmm_coul_long.cpp action pair_lj_charmm_coul_charmm_gpu.cpp pair_lj_charmm_coul_charmm.cpp @@ -99,14 +99,14 @@ action pair_lj_class2_coul_long_gpu.cpp pair_lj_class2_coul_long.cpp action pair_lj_class2_coul_long_gpu.h pair_lj_class2_coul_long.cpp action pair_lj_class2_gpu.cpp pair_lj_class2.cpp action pair_lj_class2_gpu.h pair_lj_class2.cpp -action pair_lj_cubic_gpu.cpp -action pair_lj_cubic_gpu.h +action pair_lj_cubic_gpu.cpp pair_lj_cubic.cpp +action pair_lj_cubic_gpu.h pair_lj_cubic.h action pair_lj_cut_coul_cut_gpu.cpp action pair_lj_cut_coul_cut_gpu.h -action pair_lj_cut_coul_debye_gpu.cpp -action pair_lj_cut_coul_debye_gpu.h -action pair_lj_cut_coul_dsf_gpu.cpp -action pair_lj_cut_coul_dsf_gpu.h +action pair_lj_cut_coul_debye_gpu.cpp pair_lj_cut_coul_debye.cpp +action pair_lj_cut_coul_debye_gpu.h pair_lj_cut_coul_debye.h +action pair_lj_cut_coul_dsf_gpu.cpp pair_lj_cut_coul_dsf.cpp +action pair_lj_cut_coul_dsf_gpu.h pair_lj_cut_coul_dsf.h action pair_lj_cut_coul_long_gpu.cpp pair_lj_cut_coul_long.cpp action pair_lj_cut_coul_long_gpu.h pair_lj_cut_coul_long.cpp action pair_lj_cut_coul_msm_gpu.cpp pair_lj_cut_coul_msm.cpp @@ -119,14 +119,14 @@ action pair_lj_expand_gpu.cpp action pair_lj_expand_gpu.h action pair_lj_expand_coul_long_gpu.cpp pair_lj_expand_coul_long.cpp action pair_lj_expand_coul_long_gpu.h pair_lj_expand_coul_long.cpp -action pair_lj_gromacs_gpu.cpp -action pair_lj_gromacs_gpu.h +action pair_lj_gromacs_gpu.cpp pair_lj_gromacs.cpp +action pair_lj_gromacs_gpu.h pair_lj_gromacs.h action pair_lj_sdk_coul_long_gpu.cpp pair_lj_sdk_coul_long.cpp action pair_lj_sdk_coul_long_gpu.h pair_lj_sdk_coul_long.cpp action pair_lj_sdk_gpu.cpp pair_lj_sdk.cpp action pair_lj_sdk_gpu.h pair_lj_sdk.cpp -action pair_mie_cut_gpu.cpp -action pair_mie_cut_gpu.h +action pair_mie_cut_gpu.cpp pair_mie_cut.cpp +action pair_mie_cut_gpu.h pair_mie_cut.h action pair_morse_gpu.cpp action pair_morse_gpu.h action pair_resquared_gpu.cpp pair_resquared.cpp @@ -153,8 +153,8 @@ action pair_zbl_gpu.cpp action pair_zbl_gpu.h action pppm_gpu.cpp pppm.cpp action pppm_gpu.h pppm.cpp -action pair_ufm_gpu.cpp -action pair_ufm_gpu.h +action pair_ufm_gpu.cpp pair_ufm.cpp +action pair_ufm_gpu.h pair_ufm.h action pair_lj_cut_dipole_long_gpu.cpp pair_lj_cut_dipole_long.cpp action pair_lj_cut_dipole_long_gpu.h pair_lj_cut_dipole_long.cpp action pair_lj_cut_tip4p_long_gpu.h pair_lj_cut_tip4p_long.cpp From b8d32976593c1f3190030bb36de689732dbe8762 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 28 Jul 2021 18:45:09 -0400 Subject: [PATCH 566/726] add missing package dependency --- src/Depend.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/Depend.sh b/src/Depend.sh index 4bbbeb9a51..af88f24bb4 100755 --- a/src/Depend.sh +++ b/src/Depend.sh @@ -73,6 +73,8 @@ fi if (test $1 = "DPD-BASIC") then depend GPU + depend OPENMP + depend INTEL fi if (test $1 = "EXTRA-MOLECULE") then From bf6c982b4910a436c997e8c073b0ed745f12d441 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 28 Jul 2021 21:30:06 -0400 Subject: [PATCH 567/726] skip using neighbor list load balancing weight when using KOKKOS with GPU --- src/imbalance_neigh.cpp | 47 +++++++++++++++++++++++++---------------- 1 file changed, 29 insertions(+), 18 deletions(-) diff --git a/src/imbalance_neigh.cpp b/src/imbalance_neigh.cpp index 3a523114ee..0a1c2a87cc 100644 --- a/src/imbalance_neigh.cpp +++ b/src/imbalance_neigh.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -14,6 +13,7 @@ #include "imbalance_neigh.h" +#include "accelerator_kokkos.h" #include "atom.h" #include "comm.h" #include "error.h" @@ -36,9 +36,9 @@ ImbalanceNeigh::ImbalanceNeigh(LAMMPS *lmp) : Imbalance(lmp) int ImbalanceNeigh::options(int narg, char **arg) { - if (narg < 1) error->all(FLERR,"Illegal balance weight command"); - factor = utils::numeric(FLERR,arg[0],false,lmp); - if (factor <= 0.0) error->all(FLERR,"Illegal balance weight command"); + if (narg < 1) error->all(FLERR, "Illegal balance weight command"); + factor = utils::numeric(FLERR, arg[0], false, lmp); + if (factor <= 0.0) error->all(FLERR, "Illegal balance weight command"); return 1; } @@ -50,19 +50,30 @@ void ImbalanceNeigh::compute(double *weight) if (factor == 0.0) return; + // cannot use neighbor list weight with KOKKOS using GPUs + + if (lmp->kokkos && lmp->kokkos->kokkos_exists) { + if (lmp->kokkos->ngpus > 0) { + if (comm->me == 0 && !did_warn) + error->warning(FLERR, "Balance weight neigh skipped with KOKKOS using GPUs"); + did_warn = 1; + return; + } + } + // find suitable neighbor list // can only use certain conventional neighbor lists // NOTE: why not full list, if half does not exist? for (req = 0; req < neighbor->old_nrequest; ++req) { - if (neighbor->old_requests[req]->half && - neighbor->old_requests[req]->skip == 0 && - neighbor->lists[req] && neighbor->lists[req]->numneigh) break; + if (neighbor->old_requests[req]->half && neighbor->old_requests[req]->skip == 0 && + neighbor->lists[req] && neighbor->lists[req]->numneigh) + break; } if (req >= neighbor->old_nrequest || neighbor->ago < 0) { if (comm->me == 0 && !did_warn) - error->warning(FLERR,"Balance weight neigh skipped b/c no list found"); + error->warning(FLERR, "Balance weight neigh skipped b/c no list found"); did_warn = 1; return; } @@ -72,16 +83,16 @@ void ImbalanceNeigh::compute(double *weight) NeighList *list = neighbor->lists[req]; const int inum = list->inum; - const int * const ilist = list->ilist; - const int * const numneigh = list->numneigh; + const int *const ilist = list->ilist; + const int *const numneigh = list->numneigh; int nlocal = atom->nlocal; bigint neighsum = 0; for (int i = 0; i < inum; ++i) neighsum += numneigh[ilist[i]]; double localwt = 0.0; - if (nlocal) localwt = 1.0*neighsum/nlocal; + if (nlocal) localwt = 1.0 * neighsum / nlocal; - if (nlocal && localwt <= 0.0) error->one(FLERR,"Balance weight <= 0.0"); + if (nlocal && localwt <= 0.0) error->one(FLERR, "Balance weight <= 0.0"); // apply factor if specified != 1.0 // wtlo,wthi = lo/hi values excluding 0.0 due to no atoms on this proc @@ -90,15 +101,15 @@ void ImbalanceNeigh::compute(double *weight) // expand/contract all localwt values from lo->hi to lo->newhi if (factor != 1.0) { - double wtlo,wthi; + double wtlo, wthi; if (localwt == 0.0) localwt = BIG; - MPI_Allreduce(&localwt,&wtlo,1,MPI_DOUBLE,MPI_MIN,world); + MPI_Allreduce(&localwt, &wtlo, 1, MPI_DOUBLE, MPI_MIN, world); if (localwt == BIG) localwt = 0.0; - MPI_Allreduce(&localwt,&wthi,1,MPI_DOUBLE,MPI_MAX,world); + MPI_Allreduce(&localwt, &wthi, 1, MPI_DOUBLE, MPI_MAX, world); if (wtlo == wthi) return; - double newhi = wthi*factor; - localwt = wtlo + ((localwt-wtlo)/(wthi-wtlo)) * (newhi-wtlo); + double newhi = wthi * factor; + localwt = wtlo + ((localwt - wtlo) / (wthi - wtlo)) * (newhi - wtlo); } for (int i = 0; i < nlocal; i++) weight[i] *= localwt; @@ -108,5 +119,5 @@ void ImbalanceNeigh::compute(double *weight) std::string ImbalanceNeigh::info() { - return fmt::format(" neighbor weight factor: {}\n",factor); + return fmt::format(" neighbor weight factor: {}\n", factor); } From b9ab0eb607895306b64134dcf3747803760c48ff Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 28 Jul 2021 21:32:52 -0400 Subject: [PATCH 568/726] fix broken symbolic links --- examples/PACKAGES/cauchy/NiAlH_jea.eam.alloy | 2 +- examples/PACKAGES/electron_stopping/Si.sw | 2 +- examples/PACKAGES/orient_eco/Ni_u3.eam | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/examples/PACKAGES/cauchy/NiAlH_jea.eam.alloy b/examples/PACKAGES/cauchy/NiAlH_jea.eam.alloy index 9d763bffe4..da57022dd3 120000 --- a/examples/PACKAGES/cauchy/NiAlH_jea.eam.alloy +++ b/examples/PACKAGES/cauchy/NiAlH_jea.eam.alloy @@ -1 +1 @@ -../../../../potentials/NiAlH_jea.eam.alloy \ No newline at end of file +../../../potentials/NiAlH_jea.eam.alloy \ No newline at end of file diff --git a/examples/PACKAGES/electron_stopping/Si.sw b/examples/PACKAGES/electron_stopping/Si.sw index e575921334..f2bb3ce799 120000 --- a/examples/PACKAGES/electron_stopping/Si.sw +++ b/examples/PACKAGES/electron_stopping/Si.sw @@ -1 +1 @@ -../../../../potentials/Si.sw \ No newline at end of file +../../../potentials/Si.sw \ No newline at end of file diff --git a/examples/PACKAGES/orient_eco/Ni_u3.eam b/examples/PACKAGES/orient_eco/Ni_u3.eam index 0abe5fb328..7a9c552e94 120000 --- a/examples/PACKAGES/orient_eco/Ni_u3.eam +++ b/examples/PACKAGES/orient_eco/Ni_u3.eam @@ -1 +1 @@ -../../../../potentials/Ni_u3.eam \ No newline at end of file +../../../potentials/Ni_u3.eam \ No newline at end of file From 1e48be92aa7cb86dcd37e87135b013827448f01c Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 28 Jul 2021 21:50:20 -0400 Subject: [PATCH 569/726] avoid segfault --- src/ML-RANN/pair_rann.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ML-RANN/pair_rann.cpp b/src/ML-RANN/pair_rann.cpp index 00043323c3..faab2d1b2f 100644 --- a/src/ML-RANN/pair_rann.cpp +++ b/src/ML-RANN/pair_rann.cpp @@ -76,7 +76,7 @@ static const char cite_ml_rann_package[] = PairRANN::PairRANN(LAMMPS *lmp) : Pair(lmp) { - lmp->citeme->add(cite_ml_rann_package); + if (lmp->citeme) lmp->citeme->add(cite_ml_rann_package); //initialize ints and bools single_enable = 0; From 5f2b947b99bd01f0924268599ce6d086ad88170a Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 29 Jul 2021 11:48:24 -0400 Subject: [PATCH 570/726] fix typo --- src/utils.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/utils.h b/src/utils.h index 7df9368b4d..b761534d66 100644 --- a/src/utils.h +++ b/src/utils.h @@ -45,7 +45,7 @@ namespace utils { * * \param text the text to be matched against the pattern * \param pattern the search pattern, which may contain regexp markers - * \return the string that matches the patters or an empty one */ + * \return the string that matches the pattern or an empty one */ std::string strfind(const std::string &text, const std::string &pattern); From 211d6636b43593589e8bf019d36599c4d414ad65 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 29 Jul 2021 11:50:11 -0400 Subject: [PATCH 571/726] modernize and simplify code to find best matching restart file --- src/read_restart.cpp | 110 ++++++++++++++----------------------------- src/read_restart.h | 2 +- 2 files changed, 37 insertions(+), 75 deletions(-) diff --git a/src/read_restart.cpp b/src/read_restart.cpp index ac00a7d086..faf9fd1620 100644 --- a/src/read_restart.cpp +++ b/src/read_restart.cpp @@ -71,16 +71,18 @@ void ReadRestart::command(int narg, char **arg) // if filename contains "*", search dir for latest restart file - char *file = new char[strlen(arg[0]) + 16]; + char *file; if (strchr(arg[0],'*')) { - int n; + int n=0; if (me == 0) { - file_search(arg[0],file); - n = strlen(file) + 1; + auto fn = file_search(arg[0]); + n = fn.size()+1; + file = utils::strdup(fn); } MPI_Bcast(&n,1,MPI_INT,0,world); + if (me != 0) file = new char[n]; MPI_Bcast(file,n,MPI_CHAR,0,world); - } else strcpy(file,arg[0]); + } else file = utils::strdup(arg[0]); // check for multiproc files and an MPI-IO filename @@ -90,14 +92,12 @@ void ReadRestart::command(int narg, char **arg) else mpiioflag = 0; if (multiproc && mpiioflag) - error->all(FLERR, - "Read restart MPI-IO input not allowed with % in filename"); + error->all(FLERR,"Read restart MPI-IO input not allowed with % in filename"); if (mpiioflag) { mpiio = new RestartMPIIO(lmp); if (!mpiio->mpiio_exists) - error->all(FLERR,"Reading from MPI-IO filename when " - "MPIIO package is not installed"); + error->all(FLERR,"Reading from MPI-IO filename when MPIIO package is not installed"); } // open single restart file or base file for multiproc case @@ -538,83 +538,45 @@ void ReadRestart::command(int narg, char **arg) only called by proc 0 ------------------------------------------------------------------------- */ -void ReadRestart::file_search(char *inpfile, char *outfile) +std::string ReadRestart::file_search(const std::string &inpfile) { - char *ptr; - // separate inpfile into dir + filename - char *dirname = new char[strlen(inpfile) + 1]; - char *filename = new char[strlen(inpfile) + 1]; - - if (strchr(inpfile,'/')) { - ptr = strrchr(inpfile,'/'); - *ptr = '\0'; - strcpy(dirname,inpfile); - strcpy(filename,ptr+1); - *ptr = '/'; - } else { - strcpy(dirname,"./"); - strcpy(filename,inpfile); - } + auto dirname = utils::path_dirname(inpfile); + auto filename = utils::path_basename(inpfile); // if filename contains "%" replace "%" with "base" - char *pattern = new char[strlen(filename) + 16]; + auto pattern = filename; + auto loc = pattern.find('%'); + if (loc != std::string::npos) pattern.replace(loc,1,"base"); - if ((ptr = strchr(filename,'%'))) { - *ptr = '\0'; - sprintf(pattern,"%s%s%s",filename,"base",ptr+1); - *ptr = '%'; - } else strcpy(pattern,filename); + // scan all files in directory, searching for files that match regexp pattern + // maxnum = largest integer that matches "*" - // scan all files in directory, searching for files that match pattern - // maxnum = largest int that matches "*" - - int n = strlen(pattern) + 16; - char *begin = new char[n]; - char *middle = new char[n]; - char *end = new char[n]; - - ptr = strchr(pattern,'*'); - *ptr = '\0'; - strcpy(begin,pattern); - strcpy(end,ptr+1); - int nbegin = strlen(begin); bigint maxnum = -1; + loc = pattern.find('*'); + if (loc != std::string::npos) { + // convert pattern to equivalent regexp + pattern.replace(loc,1,"\\d+"); + struct dirent *ep; + DIR *dp = opendir(dirname.c_str()); + if (dp == nullptr) + error->one(FLERR,"Cannot open directory {} to search for restart file: {}", + dirname, utils::getsyserror()); - struct dirent *ep; - DIR *dp = opendir(dirname); - if (dp == nullptr) - error->one(FLERR,"Cannot open dir to search for restart file"); - while ((ep = readdir(dp))) { - if (strstr(ep->d_name,begin) != ep->d_name) continue; - if ((ptr = strstr(&ep->d_name[nbegin],end)) == nullptr) continue; - if (strlen(end) == 0) ptr = ep->d_name + strlen(ep->d_name); - *ptr = '\0'; - if ((int)strlen(&ep->d_name[nbegin]) < n) { - strcpy(middle,&ep->d_name[nbegin]); - if (ATOBIGINT(middle) > maxnum) maxnum = ATOBIGINT(middle); + while ((ep = readdir(dp))) { + std::string candidate(ep->d_name); + if (utils::strmatch(candidate,pattern)) { + bigint num = ATOBIGINT(utils::strfind(candidate.substr(loc),"\\d+").c_str()); + if (num > maxnum) maxnum = num; + } } + closedir(dp); + if (maxnum < 0) error->one(FLERR,"Found no restart file matching pattern"); + filename.replace(filename.find('*'),1,std::to_string(maxnum)); } - closedir(dp); - if (maxnum < 0) error->one(FLERR,"Found no restart file matching pattern"); - - // create outfile with maxint substituted for "*" - // use original inpfile, not pattern, since need to retain "%" in filename - - std::string newoutfile = inpfile; - newoutfile.replace(newoutfile.find("*"),1,fmt::format("{}",maxnum)); - strcpy(outfile,newoutfile.c_str()); - - // clean up - - delete [] dirname; - delete [] filename; - delete [] pattern; - delete [] begin; - delete [] middle; - delete [] end; + return utils::path_join(dirname,filename); } /* ---------------------------------------------------------------------- diff --git a/src/read_restart.h b/src/read_restart.h index a3f889fbc3..9de52a5f28 100644 --- a/src/read_restart.h +++ b/src/read_restart.h @@ -46,7 +46,7 @@ class ReadRestart : public Command { bigint assignedChunkSize; MPI_Offset assignedChunkOffset, headerOffset; - void file_search(char *, char *); + std::string file_search(const std::string &); void header(); void type_arrays(); void force_fields(); From a9271b6d9a096e3ea5c6967a0e29712d075dede3 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 29 Jul 2021 12:36:50 -0400 Subject: [PATCH 572/726] replace temporary char buffer with using fmtlib --- src/SRD/fix_srd.cpp | 58 +++++++++++++++++++-------------------------- 1 file changed, 24 insertions(+), 34 deletions(-) diff --git a/src/SRD/fix_srd.cpp b/src/SRD/fix_srd.cpp index dcb62e534d..04fb33eec4 100644 --- a/src/SRD/fix_srd.cpp +++ b/src/SRD/fix_srd.cpp @@ -1277,6 +1277,7 @@ void FixSRD::collisions_single() double **v = atom->v; double **f = atom->f; double **torque = atom->torque; + tagint *tag = atom->tag; int *mask = atom->mask; int nlocal = atom->nlocal; @@ -1329,29 +1330,23 @@ void FixSRD::collisions_single() } #ifdef SRD_DEBUG - if (update->ntimestep == SRD_DEBUG_TIMESTEP && atom->tag[i] == SRD_DEBUG_ATOMID) + if (update->ntimestep == SRD_DEBUG_TIMESTEP && tag[i] == SRD_DEBUG_ATOMID) print_collision(i, j, ibounce, t_remain, dt, xscoll, xbcoll, norm, type); #endif if (t_remain > dt) { ninside++; if (insideflag == INSIDE_ERROR || insideflag == INSIDE_WARN) { - char str[128]; - if (type != WALL) { - sprintf(str, - "SRD particle " TAGINT_FORMAT " started " - "inside big particle " TAGINT_FORMAT " on step " BIGINT_FORMAT " bounce %d", - atom->tag[i], atom->tag[j], update->ntimestep, ibounce + 1); - if (insideflag == INSIDE_ERROR) error->one(FLERR, str); - error->warning(FLERR, str); - } else { - sprintf(str, - "SRD particle " TAGINT_FORMAT " started " - "inside wall %d on step " BIGINT_FORMAT " bounce %d", - atom->tag[i], j, update->ntimestep, ibounce + 1); - if (insideflag == INSIDE_ERROR) error->one(FLERR, str); - error->warning(FLERR, str); - } + std::string mesg; + if (type != WALL) + mesg = fmt::format("SRD particle {} started inside big particle {} on step {} " + " bounce {}", tag[i], tag[j], update->ntimestep, ibounce + 1); + else + mesg = fmt::format("SRD particle {} started inside wall {} on step {} " + "bounce {}", tag[i], j, update->ntimestep, ibounce + 1); + + if (insideflag == INSIDE_ERROR) error->one(FLERR, mesg); + else error->warning(FLERR, mesg); } break; } @@ -1435,6 +1430,7 @@ void FixSRD::collisions_multi() double **v = atom->v; double **f = atom->f; double **torque = atom->torque; + tagint *tag = atom->tag; int *mask = atom->mask; int nlocal = atom->nlocal; @@ -1484,29 +1480,23 @@ void FixSRD::collisions_multi() t_remain = collision_wall_exact(x[i], j, v[i], xscoll, xbcoll, norm); #ifdef SRD_DEBUG - if (update->ntimestep == SRD_DEBUG_TIMESTEP && atom->tag[i] == SRD_DEBUG_ATOMID) + if (update->ntimestep == SRD_DEBUG_TIMESTEP && tag[i] == SRD_DEBUG_ATOMID) print_collision(i, j, ibounce, t_remain, dt, xscoll, xbcoll, norm, type); #endif if (t_remain > dt || t_remain < 0.0) { ninside++; if (insideflag == INSIDE_ERROR || insideflag == INSIDE_WARN) { - char str[128]; - if (type != WALL) { - sprintf(str, - "SRD particle " TAGINT_FORMAT " started " - "inside big particle " TAGINT_FORMAT " on step " BIGINT_FORMAT " bounce %d", - atom->tag[i], atom->tag[j], update->ntimestep, ibounce + 1); - if (insideflag == INSIDE_ERROR) error->one(FLERR, str); - error->warning(FLERR, str); - } else { - sprintf(str, - "SRD particle " TAGINT_FORMAT " started " - "inside wall %d on step " BIGINT_FORMAT " bounce %d", - atom->tag[i], j, update->ntimestep, ibounce + 1); - if (insideflag == INSIDE_ERROR) error->one(FLERR, str); - error->warning(FLERR, str); - } + std::string mesg; + if (type != WALL) + mesg = fmt::format("SRD particle {} started inside big particle {} on step {} " + "bounce {}", tag[i], tag[j], update->ntimestep, ibounce + 1); + else + mesg = fmt::format("SRD particle {} started inside wall {} on step {} " + "bounce {}", tag[i], j, update->ntimestep, ibounce + 1); + + if (insideflag == INSIDE_ERROR) error->one(FLERR, mesg); + error->warning(FLERR, mesg); } t_first = 0.0; break; From 508798ab2be3cfeeb47dd5f6b2d94f7d29a40e5f Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 29 Jul 2021 13:25:06 -0400 Subject: [PATCH 573/726] simplify code, make use of fmtlib and utils --- src/ATC/fix_atc.cpp | 26 ++++++++++---------------- src/SCAFACOS/scafacos.cpp | 32 ++++++++++++++------------------ 2 files changed, 24 insertions(+), 34 deletions(-) diff --git a/src/ATC/fix_atc.cpp b/src/ATC/fix_atc.cpp index d9770d86de..577a488f5e 100644 --- a/src/ATC/fix_atc.cpp +++ b/src/ATC/fix_atc.cpp @@ -700,20 +700,17 @@ int FixATC::size_restart(int /* nlocal */) { void FixATC::write_restart(FILE * /* fp */) { - char ** args = new char*[2]; - args[0] = new char[50]; - args[1] = new char[50]; - sprintf(args[0],"write_restart"); - sprintf(args[1],"ATC.restart"); + char *args[2]; + args[0] = utils::strdup("write_restart"); + args[1] = utils::strdup("sprintf(args[1],"ATC.restart"); // Then call all objects I own to write their data if (comm->me == 0) { atc_->modify(2,args); } - delete [] args[0]; - delete [] args[1]; - delete [] args; + delete[] args[0]; + delete[] args[1]; } /* ---------------------------------------------------------------------- @@ -722,20 +719,17 @@ void FixATC::write_restart(FILE * /* fp */) { void FixATC::restart(char * /* buf */) { - char ** args = new char*[2]; - args[0] = new char[50]; - args[1] = new char[50]; - sprintf(args[0],"read_restart"); - sprintf(args[1],"ATC.restart"); + char *args[2]; + args[0] = utils::strdup("read_restart"); + args[1] = utils::strdup("ATC.restart"); // Then call all objects I own to write their data if (comm->me == 0) { atc_->modify(2,args); } - delete [] args[0]; - delete [] args[1]; - delete [] args; + delete[] args[0]; + delete[] args[1]; } /* ---------------------------------------------------------------------- diff --git a/src/SCAFACOS/scafacos.cpp b/src/SCAFACOS/scafacos.cpp index 51bf4fb45e..6d4db28fb6 100644 --- a/src/SCAFACOS/scafacos.cpp +++ b/src/SCAFACOS/scafacos.cpp @@ -80,7 +80,7 @@ void Scafacos::settings(int narg, char **arg) Scafacos::~Scafacos() { - delete [] method; + delete[] method; memory->destroy(xpbc); memory->destroy(epot); @@ -95,16 +95,15 @@ Scafacos::~Scafacos() void Scafacos::init() { // error checks - if (screen && me == 0) fprintf(screen, - "Setting up ScaFaCoS with solver %s ...\n",method); - if (logfile && me == 0) fprintf(logfile, - "Setting up ScaFaCoS with solver %s ...\n",method); + if (me == 0) { + utils::logmesg(lmp,"Setting up ScaFaCoS with solver {} ...\n",method); - if ((strcmp(method,"p3m") == 0) && (me == 0)) - error->warning(FLERR,"Virial computation for P3M not available"); + if (strcmp(method,"p3m") == 0) + error->warning(FLERR,"Virial computation for P3M not available"); - if ((strcmp(method,"ewald") == 0) && (me == 0)) - error->warning(FLERR,"Virial computation for Ewald not available"); + if (strcmp(method,"ewald") == 0) + error->warning(FLERR,"Virial computation for Ewald not available"); + } if (!atom->q_flag) error->all(FLERR,"Kspace style requires atom attribute q"); @@ -119,8 +118,7 @@ void Scafacos::init() error->all(FLERR,"Scafacos atom count exceeds 2B"); if (atom->molecular != Atom::ATOMIC) - error->all(FLERR, - "Cannot use Scafacos with molecular charged systems yet"); + error->all(FLERR, "Cannot use Scafacos with molecular charged systems yet"); FCSResult result; @@ -358,15 +356,13 @@ int Scafacos::modify_param(int narg, char **arg) // value1 = 0, 1 // 0 -> homogenous system (default) // 1 -> inhomogenous system (more internal tuning is provided (sequential!)) - if (strcmp(arg[1],"fmm_tuning") == 0) - { - if (screen && me == 0) fprintf(screen, - "ScaFaCoS setting fmm inhomogen tuning ...\n"); - if (logfile && me == 0) fprintf(logfile, - "ScaFaCoS setting fmm inhomogen tuning ...\n"); + if (strcmp(arg[1],"fmm_tuning") == 0) { + if (me == 0) + utils::logmesg(lmp, "ScaFaCoS setting fmm inhomogen tuning ...\n"); + if (narg < 3) error->all(FLERR, "Illegal kspace_modify command (fmm_tuning)"); - fmm_tuning_flag = atoi(arg[2]); + fmm_tuning_flag = utils::inumeric(FLERR, arg[2], false, tmp); return 3; } From 2a1177fa92619c2955e27242fdb19201b7086ca0 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 29 Jul 2021 13:29:56 -0400 Subject: [PATCH 574/726] reformat with clang-format --- src/SCAFACOS/scafacos.cpp | 270 +++++++++++++++----------------------- 1 file changed, 109 insertions(+), 161 deletions(-) diff --git a/src/SCAFACOS/scafacos.cpp b/src/SCAFACOS/scafacos.cpp index 6d4db28fb6..451dd7aca9 100644 --- a/src/SCAFACOS/scafacos.cpp +++ b/src/SCAFACOS/scafacos.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -25,10 +24,8 @@ #include "force.h" #include "memory.h" -#include #include -#include -#include +#include // ScaFaCoS library @@ -54,25 +51,24 @@ Scafacos::Scafacos(LAMMPS *lmp) : KSpace(lmp) void Scafacos::settings(int narg, char **arg) { - if (narg != 2) error->all(FLERR,"Illegal scafacos command"); + if (narg != 2) error->all(FLERR, "Illegal scafacos command"); method = utils::strdup(arg[0]); - tolerance = utils::numeric(FLERR,arg[1],false,lmp); + tolerance = utils::numeric(FLERR, arg[1], false, lmp); // optional ScaFaCoS library setting defaults // choose the correct default tolerance type for chosen method // throw an error if a not yet supported solver is chosen - if (strcmp(method,"fmm") == 0) { + if (strcmp(method, "fmm") == 0) { tolerance_type = FCS_TOLERANCE_TYPE_ENERGY; fmm_tuning_flag = 0; - } else if (strcmp(method,"p3m") == 0 || - strcmp(method,"p2nfft") == 0 || - strcmp(method,"ewald") == 0) { + } else if (strcmp(method, "p3m") == 0 || strcmp(method, "p2nfft") == 0 || + strcmp(method, "ewald") == 0) { tolerance_type = FCS_TOLERANCE_TYPE_FIELD; - } else if (strcmp(method,"direct") == 0) { - ; // direct summation has no tolerance type + } else if (strcmp(method, "direct") == 0) { + ; // direct summation has no tolerance type } else { - error->all(FLERR,"Unsupported ScaFaCoS method"); + error->all(FLERR, "Unsupported ScaFaCoS method"); } } @@ -87,7 +83,7 @@ Scafacos::~Scafacos() memory->destroy(efield); // clean up of the ScaFaCoS handle and internal arrays - fcs_destroy((FCS)fcs); + fcs_destroy((FCS) fcs); } /* ---------------------------------------------------------------------- */ @@ -96,26 +92,23 @@ void Scafacos::init() { // error checks if (me == 0) { - utils::logmesg(lmp,"Setting up ScaFaCoS with solver {} ...\n",method); + utils::logmesg(lmp, "Setting up ScaFaCoS with solver {} ...\n", method); - if (strcmp(method,"p3m") == 0) - error->warning(FLERR,"Virial computation for P3M not available"); + if (strcmp(method, "p3m") == 0) + error->warning(FLERR, "Virial computation for P3M not available"); - if (strcmp(method,"ewald") == 0) - error->warning(FLERR,"Virial computation for Ewald not available"); + if (strcmp(method, "ewald") == 0) + error->warning(FLERR, "Virial computation for Ewald not available"); } - if (!atom->q_flag) - error->all(FLERR,"Kspace style requires atom attribute q"); + if (!atom->q_flag) error->all(FLERR, "Kspace style requires atom attribute q"); - if (domain->dimension == 2) - error->all(FLERR,"Cannot use ScaFaCoS with 2d simulation"); + if (domain->dimension == 2) error->all(FLERR, "Cannot use ScaFaCoS with 2d simulation"); - if (domain->triclinic) - error->all(FLERR,"Cannot use ScaFaCoS with triclinic domain yet"); + if (domain->triclinic) error->all(FLERR, "Cannot use ScaFaCoS with triclinic domain yet"); if (atom->natoms > INT_MAX && sizeof(int) != 8) - error->all(FLERR,"Scafacos atom count exceeds 2B"); + error->all(FLERR, "Scafacos atom count exceeds 2B"); if (atom->molecular != Atom::ATOMIC) error->all(FLERR, "Cannot use Scafacos with molecular charged systems yet"); @@ -127,47 +120,44 @@ void Scafacos::init() qqrd2e = force->qqrd2e; if (!initialized) { - result = fcs_init((FCS*)&fcs,method,world); - check_result((void*)&result); + result = fcs_init((FCS *) &fcs, method, world); + check_result((void *) &result); setup_handle(); // using other methods lead to termination of the program, // since they have no tolerance tuning methods - if ( strcmp(method,"fmm") == 0 || - strcmp(method,"p3m") == 0 || - strcmp(method,"p2nfft") == 0 || - strcmp(method,"ewald") == 0) - { - result = fcs_set_tolerance((FCS)fcs,tolerance_type,tolerance); - check_result((void*)&result); + if (strcmp(method, "fmm") == 0 || strcmp(method, "p3m") == 0 || strcmp(method, "p2nfft") == 0 || + strcmp(method, "ewald") == 0) { + result = fcs_set_tolerance((FCS) fcs, tolerance_type, tolerance); + check_result((void *) &result); } double **x = atom->x; double *q = atom->q; int nlocal = atom->nlocal; - if (strcmp(method,"fmm") == 0) { + if (strcmp(method, "fmm") == 0) { if (fmm_tuning_flag == 1) - fcs_fmm_set_internal_tuning((FCS)fcs,FCS_FMM_INHOMOGENOUS_SYSTEM); + fcs_fmm_set_internal_tuning((FCS) fcs, FCS_FMM_INHOMOGENOUS_SYSTEM); else - fcs_fmm_set_internal_tuning((FCS)fcs,FCS_FMM_HOMOGENOUS_SYSTEM); + fcs_fmm_set_internal_tuning((FCS) fcs, FCS_FMM_HOMOGENOUS_SYSTEM); } // for the FMM at least one particle is required per process - if (strcmp(method,"fmm") == 0) { - int empty = (nlocal==0)?1:0; - MPI_Allreduce(MPI_IN_PLACE,&empty,1,MPI_INT,MPI_SUM,world); + if (strcmp(method, "fmm") == 0) { + int empty = (nlocal == 0) ? 1 : 0; + MPI_Allreduce(MPI_IN_PLACE, &empty, 1, MPI_INT, MPI_SUM, world); if (empty > 0) - fcs_set_redistribute((FCS)fcs,1); + fcs_set_redistribute((FCS) fcs, 1); else - fcs_set_redistribute((FCS)fcs,0); + fcs_set_redistribute((FCS) fcs, 0); } - result = fcs_tune((FCS)fcs,nlocal,&x[0][0],q); - check_result((void*)&result); + result = fcs_tune((FCS) fcs, nlocal, &x[0][0], q); + check_result((void *) &result); // more useful here, since the parameters should be tuned now - if (me == 0) fcs_print_parameters((FCS)fcs); + if (me == 0) fcs_print_parameters((FCS) fcs); } initialized = 1; @@ -185,17 +175,16 @@ void Scafacos::compute(int eflag, int vflag) FCSResult result; // for the FMM at least one particle is required per process - if (strcmp(method,"fmm")) - { - int empty = (nlocal==0)?1:0; - MPI_Allreduce(MPI_IN_PLACE,&empty,1,MPI_INT,MPI_SUM,world); + if (strcmp(method, "fmm")) { + int empty = (nlocal == 0) ? 1 : 0; + MPI_Allreduce(MPI_IN_PLACE, &empty, 1, MPI_INT, MPI_SUM, world); if (empty > 0) - fcs_set_redistribute((FCS)fcs,1); + fcs_set_redistribute((FCS) fcs, 1); else - fcs_set_redistribute((FCS)fcs,0); + fcs_set_redistribute((FCS) fcs, 0); } - ev_init(eflag,vflag); + ev_init(eflag, vflag); // grow xpbc, epot, efield if necessary @@ -204,28 +193,26 @@ void Scafacos::compute(int eflag, int vflag) memory->destroy(epot); memory->destroy(efield); maxatom = atom->nmax; - memory->create(xpbc,3*maxatom,"scafacos:xpbc"); - memory->create(epot,maxatom,"scafacos:epot"); - memory->create(efield,maxatom,3,"scafacos:efield"); + memory->create(xpbc, 3 * maxatom, "scafacos:xpbc"); + memory->create(epot, maxatom, "scafacos:epot"); + memory->create(efield, maxatom, 3, "scafacos:efield"); } if (vflag_global) { // for P3M or Ewald we cannot compute the virial. skip it. - if ((strcmp(method,"p3m") != 0) - && (strcmp(method,"ewald") != 0)) { - result = fcs_set_compute_virial((FCS)fcs,1); - check_result((void*)&result); + if ((strcmp(method, "p3m") != 0) && (strcmp(method, "ewald") != 0)) { + result = fcs_set_compute_virial((FCS) fcs, 1); + check_result((void *) &result); } } // pack coords into xpbc and apply PBC - memcpy(xpbc,&x[0][0],3*nlocal*sizeof(double)); + memcpy(xpbc, &x[0][0], 3 * nlocal * sizeof(double)); - - if (domain->xperiodic || domain -> yperiodic || domain -> zperiodic) { - int j = 0; + if (domain->xperiodic || domain->yperiodic || domain->zperiodic) { + int j = 0; for (int i = 0; i < nlocal; i++) { domain->remap(&xpbc[j]); j += 3; @@ -236,14 +223,14 @@ void Scafacos::compute(int eflag, int vflag) if (box_has_changed()) { setup_handle(); - result = fcs_tune((FCS)fcs,nlocal,xpbc,q); - check_result((void*)&result); + result = fcs_tune((FCS) fcs, nlocal, xpbc, q); + check_result((void *) &result); } // invoke ScaFaCoS solver - result = fcs_run((FCS)fcs,nlocal,xpbc,q,&efield[0][0],epot); - check_result((void*)&result); + result = fcs_run((FCS) fcs, nlocal, xpbc, q, &efield[0][0], epot); + check_result((void *) &result); // extract virial @@ -251,10 +238,9 @@ void Scafacos::compute(int eflag, int vflag) // for P3M or Ewald we cannot compute the virial. skip it. - if ((strcmp(method,"p3m") != 0) - && (strcmp(method,"ewald") != 0)) { - result = fcs_get_virial((FCS)fcs,virial_int); - check_result((void*)&result); + if ((strcmp(method, "p3m") != 0) && (strcmp(method, "ewald") != 0)) { + result = fcs_get_virial((FCS) fcs, virial_int); + check_result((void *) &result); virial[0] = virial_int[0]; virial[1] = virial_int[1]; @@ -282,11 +268,10 @@ void Scafacos::compute(int eflag, int vflag) } if (eflag_atom) { - for (int i = 0; i < nlocal; i++) - eatom[i] = 0.5 * qscale * q[i] * epot[i]; + for (int i = 0; i < nlocal; i++) eatom[i] = 0.5 * qscale * q[i] * epot[i]; } - MPI_Allreduce(&myeng,&energy,1,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(&myeng, &energy, 1, MPI_DOUBLE, MPI_SUM, world); } /* ---------------------------------------------------------------------- */ @@ -299,55 +284,34 @@ int Scafacos::modify_param(int narg, char **arg) // value1 = energy, energy_rel, etc // everyone of these should have a default, so user doesn't need to set - if (strcmp(arg[0],"scafacos") != 0) return 0; + if (strcmp(arg[0], "scafacos") != 0) return 0; - if (strcmp(arg[1],"tolerance") == 0) { - if (narg < 3) error->all(FLERR, - "Illegal kspace_modify command (tolerance)"); - if (strcmp(arg[2],"energy") == 0) + if (strcmp(arg[1], "tolerance") == 0) { + if (narg < 3) error->all(FLERR, "Illegal kspace_modify command (tolerance)"); + if (strcmp(arg[2], "energy") == 0) tolerance_type = FCS_TOLERANCE_TYPE_ENERGY; - else if (strcmp(arg[2],"energy_rel") == 0) + else if (strcmp(arg[2], "energy_rel") == 0) tolerance_type = FCS_TOLERANCE_TYPE_ENERGY_REL; - else if (strcmp(arg[2],"field") == 0) + else if (strcmp(arg[2], "field") == 0) tolerance_type = FCS_TOLERANCE_TYPE_FIELD; - else if (strcmp(arg[2],"field_rel") == 0) + else if (strcmp(arg[2], "field_rel") == 0) tolerance_type = FCS_TOLERANCE_TYPE_FIELD_REL; - else if (strcmp(arg[2],"potential") == 0) + else if (strcmp(arg[2], "potential") == 0) tolerance_type = FCS_TOLERANCE_TYPE_POTENTIAL; - else if (strcmp(arg[2],"potential_rel") == 0) + else if (strcmp(arg[2], "potential_rel") == 0) tolerance_type = FCS_TOLERANCE_TYPE_POTENTIAL_REL; - else error->all(FLERR, - "Illegal kspace_modify command (tolerance argument)"); + else + error->all(FLERR, "Illegal kspace_modify command (tolerance argument)"); // check if method is compatatible to chosen tolerance type - if ( - ( - strcmp(method,"fmm") == 0 && - ( - tolerance_type != FCS_TOLERANCE_TYPE_ENERGY && - tolerance_type != FCS_TOLERANCE_TYPE_ENERGY_REL - ) - ) || - ( - strcmp(method,"p2nfft") == 0 && - ( - tolerance_type != FCS_TOLERANCE_TYPE_FIELD && - tolerance_type != FCS_TOLERANCE_TYPE_POTENTIAL - ) - ) || - ( - strcmp(method,"p3m") == 0 && - ( - tolerance_type != FCS_TOLERANCE_TYPE_FIELD - ) - ) || - ( - strcmp(method,"ewald") == 0 && - ( - tolerance_type != FCS_TOLERANCE_TYPE_FIELD - ) - ) - ) - error->all(FLERR,"Illegal kspace_modify command \ + if ((strcmp(method, "fmm") == 0 && + (tolerance_type != FCS_TOLERANCE_TYPE_ENERGY && + tolerance_type != FCS_TOLERANCE_TYPE_ENERGY_REL)) || + (strcmp(method, "p2nfft") == 0 && + (tolerance_type != FCS_TOLERANCE_TYPE_FIELD && + tolerance_type != FCS_TOLERANCE_TYPE_POTENTIAL)) || + (strcmp(method, "p3m") == 0 && (tolerance_type != FCS_TOLERANCE_TYPE_FIELD)) || + (strcmp(method, "ewald") == 0 && (tolerance_type != FCS_TOLERANCE_TYPE_FIELD))) + error->all(FLERR, "Illegal kspace_modify command \ (invalid tolerance / method combination)"); return 3; } @@ -356,13 +320,11 @@ int Scafacos::modify_param(int narg, char **arg) // value1 = 0, 1 // 0 -> homogenous system (default) // 1 -> inhomogenous system (more internal tuning is provided (sequential!)) - if (strcmp(arg[1],"fmm_tuning") == 0) { - if (me == 0) - utils::logmesg(lmp, "ScaFaCoS setting fmm inhomogen tuning ...\n"); + if (strcmp(arg[1], "fmm_tuning") == 0) { + if (me == 0) utils::logmesg(lmp, "ScaFaCoS setting fmm inhomogen tuning ...\n"); - if (narg < 3) error->all(FLERR, - "Illegal kspace_modify command (fmm_tuning)"); - fmm_tuning_flag = utils::inumeric(FLERR, arg[2], false, tmp); + if (narg < 3) error->all(FLERR, "Illegal kspace_modify command (fmm_tuning)"); + fmm_tuning_flag = utils::inumeric(FLERR, arg[2], false, lmp); return 3; } @@ -376,8 +338,8 @@ int Scafacos::modify_param(int narg, char **arg) double Scafacos::memory_usage() { double bytes = 0.0; - bytes += (double)maxatom * sizeof(double); - bytes += (double)3*maxatom * sizeof(double); + bytes += (double) maxatom * sizeof(double); + bytes += (double) 3 * maxatom * sizeof(double); return bytes; } @@ -413,23 +375,23 @@ void Scafacos::setup_handle() old_natoms = atom->natoms; // store parameters to ScaFaCoS handle - result = fcs_set_box_a((FCS)fcs,old_box_x); - check_result((void*)&result); + result = fcs_set_box_a((FCS) fcs, old_box_x); + check_result((void *) &result); - result = fcs_set_box_b((FCS)fcs,old_box_y); - check_result((void*)&result); + result = fcs_set_box_b((FCS) fcs, old_box_y); + check_result((void *) &result); - result = fcs_set_box_c((FCS)fcs,old_box_z); - check_result((void*)&result); + result = fcs_set_box_c((FCS) fcs, old_box_z); + check_result((void *) &result); - result = fcs_set_box_origin((FCS)fcs,old_origin); - check_result((void*)&result); + result = fcs_set_box_origin((FCS) fcs, old_origin); + check_result((void *) &result); - result = fcs_set_periodicity((FCS)fcs,old_periodicity); - check_result((void*)&result); + result = fcs_set_periodicity((FCS) fcs, old_periodicity); + check_result((void *) &result); - result = fcs_set_total_particles((FCS)fcs,old_natoms); - check_result((void*)&result); + result = fcs_set_total_particles((FCS) fcs, old_natoms); + check_result((void *) &result); // allow ScaFaCoS to calculate the near field computations for now // TODO: allow the delegation of the near field computations @@ -437,8 +399,8 @@ void Scafacos::setup_handle() // (near_field_flag = 1 -> enables the internal near field calcs // 0 -> disables the internal near field calcs int near_field_flag = 1; - result = fcs_set_near_field_flag((FCS)fcs,near_field_flag); - check_result((void*)&result); + result = fcs_set_near_field_flag((FCS) fcs, near_field_flag); + check_result((void *) &result); } /* ---------------------------------------------------------------------- @@ -450,17 +412,11 @@ bool Scafacos::box_has_changed() int *periodicity = domain->periodicity; double *prd = domain->prd; - bool changed = - (periodicity[0] != old_periodicity[0]) || - (periodicity[1] != old_periodicity[1]) || - (periodicity[2] != old_periodicity[2]) || - (domain->boundary[0][0] != old_origin[0]) || - (domain->boundary[1][0] != old_origin[1]) || - (domain->boundary[2][0] != old_origin[2]) || - (prd[0] != old_box_x[0]) || - (prd[1] != old_box_y[1]) || - (prd[2] != old_box_z[2]) || - (atom->natoms != old_natoms); + bool changed = (periodicity[0] != old_periodicity[0]) || (periodicity[1] != old_periodicity[1]) || + (periodicity[2] != old_periodicity[2]) || (domain->boundary[0][0] != old_origin[0]) || + (domain->boundary[1][0] != old_origin[1]) || (domain->boundary[2][0] != old_origin[2]) || + (prd[0] != old_box_x[0]) || (prd[1] != old_box_y[1]) || (prd[2] != old_box_z[2]) || + (atom->natoms != old_natoms); return changed; } @@ -469,19 +425,11 @@ bool Scafacos::box_has_changed() check ScaFaCoS result for error condition ------------------------------------------------------------------------- */ -void Scafacos::check_result(void* result_p) +void Scafacos::check_result(void *result_p) { - FCSResult result = *(FCSResult*)result_p; - + FCSResult result = *(FCSResult *) result_p; if (!result) return; - std::stringstream ss; - ss << "ScaFaCoS: " << fcs_result_get_function(result) << "\n" - << fcs_result_get_message(result) << "\n"; - fcs_result_destroy(result); - std::string err_msg = ss.str(); - const char *str = err_msg.c_str(); - - error->one(FLERR,str); + error->one(FLERR, "ScaFaCoS: {}\n{}\n", fcs_result_get_function(result), + fcs_result_get_message(result)); } - From 43b3c97cc06a83f43ceb667299af158bb58afd65 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 29 Jul 2021 13:57:02 -0400 Subject: [PATCH 575/726] add unit tests for scafacos kspace solver (skipping p3m) --- .../tests/kspace-scafacos_direct.yaml | 175 +++++++++++++++++ .../tests/kspace-scafacos_ewald.yaml | 175 +++++++++++++++++ .../tests/kspace-scafacos_fmm.yaml | 176 +++++++++++++++++ .../tests/kspace-scafacos_fmm_tuned.yaml | 177 ++++++++++++++++++ .../tests/kspace-scafacos_p2nfft.yaml | 175 +++++++++++++++++ 5 files changed, 878 insertions(+) create mode 100644 unittest/force-styles/tests/kspace-scafacos_direct.yaml create mode 100644 unittest/force-styles/tests/kspace-scafacos_ewald.yaml create mode 100644 unittest/force-styles/tests/kspace-scafacos_fmm.yaml create mode 100644 unittest/force-styles/tests/kspace-scafacos_fmm_tuned.yaml create mode 100644 unittest/force-styles/tests/kspace-scafacos_p2nfft.yaml diff --git a/unittest/force-styles/tests/kspace-scafacos_direct.yaml b/unittest/force-styles/tests/kspace-scafacos_direct.yaml new file mode 100644 index 0000000000..5c7570f15a --- /dev/null +++ b/unittest/force-styles/tests/kspace-scafacos_direct.yaml @@ -0,0 +1,175 @@ +--- +lammps_version: 28 Jul 2021 +date_generated: Thu Jul 29 13:45:54 2021 +epsilon: 7.5e-14 +skip_tests: extract gpu intel omp opt single +prerequisites: ! | + atom full + pair zero + kspace scafacos +pre_commands: ! | + echo screen + variable newton_pair delete + variable newton_pair index on + atom_modify map array + units metal + atom_style charge + lattice diamond 3.77 + region box block 0 2 0 2 0 2 + create_box 2 box + create_atoms 1 box + displace_atoms all random 0.1 0.1 0.1 623426 + mass 1 28.0 + mass 2 16.0 + set type 1 type/fraction 2 0.666667 998877 + set type 1 charge 0.8 + set type 2 charge 0.4 + velocity all create 100 4534624 loop geom +post_commands: ! | + pair_modify compute no + kspace_style scafacos direct 1.0e-6 +input_file: in.empty +pair_style: zero 2.0 +pair_coeff: ! | + * * +extract: ! "" +natoms: 64 +init_vdwl: 0 +init_coul: 0 +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 5.9853519421758639e-01 1.3735181867021682e+00 1.3553118398123448e+01 + 2 1.5495977417051812e+01 4.0901064482224800e+00 3.9689142760273075e+00 + 3 3.9634699227586596e+00 8.4304133468572440e-01 3.5938772222134912e+00 + 4 3.1090997442702091e+00 3.1184313377967317e+00 1.4537232639476148e+01 + 5 1.8022164864743666e+00 2.1524343587962651e+00 2.6722293652717743e+00 + 6 2.5854516104749719e+00 5.4074418485650408e+00 4.7591159965835574e+00 + 7 4.5085861300980330e+00 1.8504344092729441e+00 4.4351554812905318e+00 + 8 9.1242912082495682e+00 1.0407382122243890e+01 2.9241157747521451e+00 + 9 6.3580755255701185e+00 4.5098168804963995e-01 5.2063224557530008e-01 + 10 1.3738254895326291e+01 5.9506335651750595e+00 8.3292051140478023e+00 + 11 2.1591140939862260e+01 2.7838359219866938e+01 9.0468184139203149e+00 + 12 2.6272501643226271e+01 1.1878243620706814e+00 2.9975025845644470e+01 + 13 7.9415746212212115e+00 -1.1156978846139244e-01 1.8691275434341446e+00 + 14 8.2732070516002327e+00 6.4976544568072994e+00 6.1393908897773857e+00 + 15 2.5378490179307608e+01 4.5477024819835226e+00 1.1921452546985176e+01 + 16 1.4456996027678150e+01 4.4987408448045425e+00 1.9033670617692025e+00 + 17 1.4411570771822808e+01 6.7274638192885536e+00 1.4870406187417796e+01 + 18 1.4331749175474449e+01 1.0482464376802829e+01 3.1864156534011063e+00 + 19 2.7427223228525572e+00 6.1128411765767288e+00 3.5982851250987258e+00 + 20 7.2275885421191202e+00 2.1315254859284153e+01 3.0891430823104247e+00 + 21 1.4746202231787546e+00 7.5758871882707695e+00 2.7923168502816673e+00 + 22 6.7427592804762371e-01 1.3468088160213579e+01 4.3760415389126726e+00 + 23 5.4159829386157137e+00 8.6996838351548753e+00 5.0576797231796533e+00 + 24 5.5283986126712401e+00 1.2497361525533321e+01 2.8535356015135558e+00 + 25 8.1600952427161459e+00 6.3653061368403447e+00 1.3583765810182960e+01 + 26 5.7946796146598682e+00 1.1809911136103421e+01 5.3350205480717268e+00 + 27 2.3222078223313545e+01 1.4308615577735122e+01 7.9092893085218252e+00 + 28 1.1102013281586586e+01 1.0806678378903460e+01 5.1440895554828647e-01 + 29 1.8287359787648683e+01 1.7998425806477186e+01 4.7050771715632216e+00 + 30 8.4046655442031053e+00 1.1872406117021130e+01 6.1860069056212152e+00 + 31 1.3623050695718087e+01 8.6702031218446933e+00 4.8870810919460919e+00 + 32 1.3179418229306243e+01 1.2191288089092163e+01 -9.8263947106764393e-01 + 33 1.4297279301696596e+01 1.4239887480993310e+01 7.3729256817488258e+00 + 34 1.3998947344436507e+01 3.1776048016159746e+00 1.1298717537028205e+01 + 35 2.9468286823910446e+00 1.3366823450409385e+01 1.0833085454578157e+01 + 36 4.1478963603586596e+00 5.0950647007156658e+00 5.0657716704360372e+00 + 37 1.1983433489467215e+00 1.9399632404407634e+00 1.9304077852965200e+01 + 38 2.1980043519192014e+00 5.1125475297242176e+00 1.3004703369812349e+01 + 39 4.8211124323100654e+00 1.8702770784992377e+00 1.2710071889334980e+01 + 40 1.0936291037020300e+01 1.0747641274703362e+01 1.6783616809840488e+01 + 41 1.3681312560017849e+01 -1.8629158790112621e+00 1.1701821524793388e+01 + 42 6.9467381765232679e+00 4.7637060577094568e+00 1.2746150480727133e+01 + 43 1.1453606929182719e+01 1.3963112680120156e+01 9.6285078064788561e+00 + 44 1.0957946143799083e+01 4.5241091407661083e+00 7.3426239053057962e+00 + 45 1.9993282728601553e+01 4.1095133032426308e+00 1.6164225011879978e+01 + 46 1.5413197005131515e+01 1.6418790133489544e+01 2.1119218973543749e+01 + 47 1.2975684850695831e+01 7.1446810179661902e-01 1.1664958010444126e+01 + 48 1.1811812370221400e+01 4.2851600826393925e+00 9.3546818776967093e+00 + 49 -5.6481136417776590e-01 1.3549234536083771e+01 1.2941870658558324e+01 + 50 1.4033321448990980e+01 1.0945883537328035e+01 9.0731604549063700e+00 + 51 1.0488346642598131e+01 1.2929293844407319e+01 2.4595750765559014e+01 + 52 7.4407692960476446e+00 2.1319903892877445e+01 1.2750776806561440e+01 + 53 -4.3710058608084712e-01 1.2125072915100851e+01 5.2435758235292766e+00 + 54 1.9049722161470140e+00 2.5506232233588406e+01 2.2648326082900361e+01 + 55 1.1447689112166964e+01 1.9561298290794014e+01 2.4876888053233074e+01 + 56 4.2811648374703983e+00 1.0489509124813502e+01 9.4149155422649500e+00 + 57 8.1948850775391833e+00 7.1137784539961881e+00 6.6071482357158144e+00 + 58 7.4000003036917663e+00 1.0621833679267610e+01 9.2458799718524940e+00 + 59 9.8498619100924500e+00 7.4220159457480621e+00 9.9248619306627575e+00 + 60 1.0686271366672448e+01 9.6778845008794434e+00 6.9750966510655816e+00 + 61 8.6872704836408019e+00 9.9086708918987974e+00 8.7659162700421884e+00 + 62 1.7584082487193914e+01 2.5499739543551133e+01 2.5412753418556658e+01 + 63 2.3929248594802253e+01 1.8678998611072483e+01 2.5689434150334090e+01 + 64 1.2397999591043442e+01 1.2131018694288985e+01 8.7020726387695753e+00 +run_vdwl: 0 +run_coul: 0 +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 6.0139042170565893e-01 1.3750160429895943e+00 1.3549432149993946e+01 + 2 1.5496275026359035e+01 4.0949723913340845e+00 3.9698806725185958e+00 + 3 3.9625951436825182e+00 8.4924799774622872e-01 3.5978087147727069e+00 + 4 3.1103880081589423e+00 3.1188031216258425e+00 1.4539630781212376e+01 + 5 1.8031214860193321e+00 2.1551460580678690e+00 2.6725757139049380e+00 + 6 2.5883246391385732e+00 5.4071946143330818e+00 4.7604710081232939e+00 + 7 4.5094367673327076e+00 1.8523516990890936e+00 4.4374897283022205e+00 + 8 9.1244164207710163e+00 1.0411954482576713e+01 2.9308103053136705e+00 + 9 6.3605067793505352e+00 4.5303910662708602e-01 5.2050085410680846e-01 + 10 1.3736540355121967e+01 5.9548454101194324e+00 8.3352340425069329e+00 + 11 2.1582211856395837e+01 2.7838896482977876e+01 9.0520243290723599e+00 + 12 2.6270681124810483e+01 1.2218578747065352e+00 2.9976316523426174e+01 + 13 7.9480630797425968e+00 -1.1352932738544609e-01 1.8643756804170037e+00 + 14 8.2714273683833266e+00 6.4969847340805797e+00 6.1397581400074470e+00 + 15 2.5373846818471524e+01 4.5561957914239288e+00 1.1930381641603802e+01 + 16 1.4461377278952787e+01 4.5043803025306728e+00 1.9121539902164404e+00 + 17 1.4413248865635788e+01 6.7283945480308871e+00 1.4871009800489965e+01 + 18 1.4332929534926723e+01 1.0480164740797379e+01 3.1870257912613416e+00 + 19 2.7434449476378275e+00 6.1146169188819410e+00 3.5977334668455438e+00 + 20 7.2425618295159664e+00 2.1308311673342512e+01 3.0987392400834244e+00 + 21 1.4758389050070446e+00 7.5750516387526483e+00 2.7933687185161387e+00 + 22 6.7141478473514049e-01 1.3469958638520374e+01 4.3779943760891724e+00 + 23 5.4194369765828867e+00 8.6978601132143734e+00 5.0591216171859807e+00 + 24 5.5269673036893865e+00 1.2492417922963574e+01 2.8556988065312927e+00 + 25 8.1538318258710483e+00 6.3767706624530396e+00 1.3577558102403296e+01 + 26 5.7988021772932461e+00 1.1809741951167283e+01 5.3291185078128738e+00 + 27 2.3226095349652184e+01 1.4311727939045955e+01 7.9117025537454069e+00 + 28 1.1106051994046600e+01 1.0805276884057864e+01 5.1741579430793549e-01 + 29 1.8283448546268271e+01 1.8000100700054563e+01 4.7091092030728285e+00 + 30 8.4024182744895626e+00 1.1874886095684852e+01 6.1852771028177811e+00 + 31 1.3624103369498467e+01 8.6692203361512892e+00 4.8904689470229918e+00 + 32 1.3186838517089031e+01 1.2182289900601420e+01 -9.9163567174173251e-01 + 33 1.4296699965522233e+01 1.4239129431431815e+01 7.3747962232206747e+00 + 34 1.3998700828162860e+01 3.1780110975159825e+00 1.1298459882457337e+01 + 35 2.9476483912265317e+00 1.3372010557159966e+01 1.0833719280799219e+01 + 36 4.1619654895335971e+00 5.1021008206871654e+00 5.0682195894306412e+00 + 37 1.1906514433043405e+00 1.9338014046160006e+00 1.9308431436871658e+01 + 38 2.2004201638762293e+00 5.1128284500759102e+00 1.3004657109728548e+01 + 39 4.8225894348852600e+00 1.8704934261044597e+00 1.2708889640723802e+01 + 40 1.0942823706366436e+01 1.0750486291561124e+01 1.6783164135136751e+01 + 41 1.3678519514274345e+01 -1.8710666990776754e+00 1.1702680149745367e+01 + 42 6.9519207253357109e+00 4.7611724662984853e+00 1.2733394319022967e+01 + 43 1.1455028602857045e+01 1.3963680816565688e+01 9.6305987540808538e+00 + 44 1.0954586155653484e+01 4.5217883307253395e+00 7.3439167992671770e+00 + 45 1.9990174535486407e+01 4.1204539526286199e+00 1.6179740550310733e+01 + 46 1.5411748565687001e+01 1.6381737861635120e+01 2.1116969444357832e+01 + 47 1.2973223321151385e+01 7.1619934622740544e-01 1.1664597770401203e+01 + 48 1.1808986724646296e+01 4.2841322182295656e+00 9.3555144063144020e+00 + 49 -5.5907851791814800e-01 1.3548137759415885e+01 1.2938286795065835e+01 + 50 1.4032179586654296e+01 1.0950006910295924e+01 9.0738475969917101e+00 + 51 1.0490031569389913e+01 1.2914536741406692e+01 2.4603680675209912e+01 + 52 7.4515661707089169e+00 2.1314249566536457e+01 1.2750795317923926e+01 + 53 -4.2891500334442334e-01 1.2141839613036224e+01 5.2345380029690300e+00 + 54 1.8924899954262138e+00 2.5513221718364392e+01 2.2640910998339503e+01 + 55 1.1456302635076725e+01 1.9550899159435200e+01 2.4883232267123113e+01 + 56 4.2820647067979252e+00 1.0494041439836217e+01 9.4156042088084035e+00 + 57 8.1930970714021889e+00 7.1119105312648907e+00 6.6053895450460978e+00 + 58 7.4041507676105507e+00 1.0620775993452371e+01 9.2472586957965639e+00 + 59 9.8451346851328267e+00 7.4219942369368415e+00 9.9290864520233093e+00 + 60 1.0684506271990418e+01 9.6783712531058708e+00 6.9769563413720874e+00 + 61 8.6907078696016260e+00 9.9128629285142456e+00 8.7704672517543916e+00 + 62 1.7585196927509358e+01 2.5509211310704064e+01 2.5408875052384264e+01 + 63 2.3929744498794761e+01 1.8683317441060030e+01 2.5686386698970402e+01 + 64 1.2397983733377961e+01 1.2131876247227028e+01 8.7023314905664169e+00 +... diff --git a/unittest/force-styles/tests/kspace-scafacos_ewald.yaml b/unittest/force-styles/tests/kspace-scafacos_ewald.yaml new file mode 100644 index 0000000000..ecd6ffc221 --- /dev/null +++ b/unittest/force-styles/tests/kspace-scafacos_ewald.yaml @@ -0,0 +1,175 @@ +--- +lammps_version: 28 Jul 2021 +date_generated: Thu Jul 29 13:45:55 2021 +epsilon: 7.5e-14 +skip_tests: extract gpu intel omp opt single +prerequisites: ! | + atom full + pair zero + kspace scafacos +pre_commands: ! | + echo screen + variable newton_pair delete + variable newton_pair index on + atom_modify map array + units metal + atom_style charge + lattice diamond 3.77 + region box block 0 2 0 2 0 2 + create_box 2 box + create_atoms 1 box + displace_atoms all random 0.1 0.1 0.1 623426 + mass 1 28.0 + mass 2 16.0 + set type 1 type/fraction 2 0.666667 998877 + set type 1 charge 0.8 + set type 2 charge 0.4 + velocity all create 100 4534624 loop geom +post_commands: ! | + pair_modify compute no + kspace_style scafacos ewald 1.0e-6 +input_file: in.empty +pair_style: zero 2.0 +pair_coeff: ! | + * * +extract: ! "" +natoms: 64 +init_vdwl: 0 +init_coul: 0 +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 -3.5775283244914063e-01 7.7865587603851194e-01 8.1307158947787922e-02 + 2 1.2922670590315029e+00 1.2619641981421184e-01 -1.6451193957400917e-01 + 3 -3.7565791702998952e-01 4.8404562205520851e-01 5.0527543874176983e-01 + 4 -2.7873801854386121e-01 -4.8541575968174866e-01 5.2967586744669226e-01 + 5 -1.0334790644240251e-01 5.0145230724995660e-01 7.4440584335513060e-01 + 6 1.6991890109622967e-01 -4.8597285067395801e-01 -1.1155285749064632e+00 + 7 -6.1361115113833331e-01 1.7593891815657139e-01 -1.0492721870394777e+00 + 8 -2.2803883914334380e+00 -8.3759535112438399e-01 5.9290646469975239e-01 + 9 -2.0766421586072484e-01 2.3212491098505297e-01 -9.8891758370881194e-03 + 10 -1.6344533547600255e+00 -1.3880924457341388e+00 1.9431710875846784e+00 + 11 -7.3362792833822799e-01 4.9488845383504998e-01 1.5364768266064170e+00 + 12 5.5588074623242250e+00 -6.1331374125708491e+00 2.0415907387734937e+00 + 13 -9.5439920921902188e-01 -2.4883242903650578e+00 7.6114693047507764e-01 + 14 -3.8887904860117584e-01 8.5477116770823836e-01 9.6044593562908342e-01 + 15 1.2422675493506932e+00 1.1218549628173435e+00 8.1110164044734756e-01 + 16 2.1400268605383865e+00 -2.4965492266203748e-01 2.9338413334557539e-01 + 17 3.4606863573420726e-01 -1.6253293955348258e-01 8.3788046585182652e-01 + 18 5.3913298050650360e-01 -3.6306149880845018e-01 -1.3644433880848611e-01 + 19 -8.8565742855485685e-01 -5.1283565338418813e-01 3.4184803877678438e-01 + 20 9.0201055596643320e-01 -1.5432441180973949e-01 2.5019120318328372e+00 + 21 -8.4304500718502740e-01 -1.1086241169281315e+00 1.0670338984329906e+00 + 22 -7.5370453705195994e-01 1.2324120063268100e+00 -1.2900280857825857e+00 + 23 6.4692284686214085e-01 5.8355643703399025e-02 9.9059773176904661e-02 + 24 4.1808267149116718e-01 2.1972271676460478e-01 9.0178136144889520e-01 + 25 9.5067109947159567e-01 -7.1001433761041055e-01 -2.2522611168143675e-01 + 26 -1.4189628945994965e+00 1.1872355559570493e+00 1.8776854869746780e+00 + 27 1.0876515764273502e+00 1.2659836451876101e+00 1.0886562769829036e+00 + 28 8.3074242334347670e-01 -2.9897327097090359e-01 1.9689055942185812e-01 + 29 9.1437695980628020e-01 -7.3645308473250570e-01 4.8968453448768196e-01 + 30 -1.0806269189961477e+00 -5.6190140339787442e-01 6.4734766260678434e-01 + 31 4.0753460927129886e-01 1.5929817993141845e-01 1.0999321370539653e-01 + 32 1.5183149717553066e+00 -6.5521087383005372e-01 -2.9884632754653433e+00 + 33 3.4940746921888372e-01 2.4326964612621163e-01 1.8192329656334594e-01 + 34 -1.8514129574914248e-01 -8.5852923547760740e-01 1.5455206847313827e-01 + 35 -8.2318178425600952e-01 -3.7842148103659906e-01 7.4317998433186316e-01 + 36 1.1078460070367759e+00 1.9365273733857606e+00 -2.6462424050606739e+00 + 37 -3.0180451316474803e+00 -1.9904234042232416e+00 1.7771282489729818e+00 + 38 1.5764259089536867e-01 -3.1529189165768895e-01 6.6059888155910329e-01 + 39 -2.3668217912482145e-01 1.3757062374735296e-01 1.0037889196678336e+00 + 40 -2.6348865021259882e-01 3.2916510203781731e-02 -5.6628882436553807e-01 + 41 1.1794997157712829e-01 -1.6779742092028040e+00 -3.8148351644750282e+00 + 42 -6.8069226854761511e-01 1.6485138974765121e+00 2.5129563187088899e+00 + 43 1.1330055931126801e+00 1.8497009211030632e-01 -5.6178878220343542e-01 + 44 5.6001340635605568e-01 8.8632610654150024e-01 3.4696759176263675e-01 + 45 3.3423204575671814e+00 3.4033830981377544e-01 -1.1708909898289344e+00 + 46 -3.6144030387785393e+00 6.5548828390316887e+00 -5.2136158572092164e+00 + 47 9.4553668521870238e-01 -7.5577753243620149e-01 -5.9680986967337046e-01 + 48 -1.0326779744043906e+00 -1.6034389840656762e+00 1.1086690830890802e-01 + 49 -5.5577910058369606e-01 -9.3520444938668762e-02 -2.6925160445930993e+00 + 50 -1.3887033917109509e-01 9.9499172345067610e-01 -1.0240555859311622e+00 + 51 4.0222806983901824e+00 -2.6927171397195577e+00 4.2047087014461537e+00 + 52 1.4941233993562599e+00 -3.2009776995700562e-01 -3.3036642779540681e-01 + 53 -2.7624520563920005e+00 3.5611723050032595e+00 -3.9545682501497672e+00 + 54 -1.7603059084766748e+00 1.9529648015896386e+00 -2.2186008176797536e+00 + 55 -7.1872078762525493e-01 1.8064721624337217e+00 -1.0168159662875087e+00 + 56 -1.2592023882495484e+00 -2.6444989788589122e+00 6.0847035235226699e-01 + 57 4.8517138132357318e-01 5.6759693047054770e-02 -1.2104792340960526e+00 + 58 -3.4860996323348342e-01 -5.7331276673498255e-01 -1.0767352946786732e+00 + 59 -1.3340708971796025e+00 3.1332888501297240e-01 -2.9301153736024926e-01 + 60 -1.2164435443163023e-01 -5.1460205871102127e-01 -9.9131864736457537e-03 + 61 4.7522326618707372e-01 1.1558250091010862e+00 -6.1902528991311094e-02 + 62 -2.6660583681422884e-01 8.5591351075782474e-01 5.1116288252156949e-01 + 63 -9.1518968073666329e-01 3.6620871834082208e-01 1.3717009379775633e+00 + 64 -2.0903769339836684e-01 -1.7115807284710055e-01 2.9013399354910757e-01 +run_vdwl: 0 +run_coul: 0 +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 -3.5594687246513851e-01 7.7635110360774062e-01 7.8606244010327925e-02 + 2 1.2912266918676170e+00 1.3173381338846049e-01 -1.6704486024539100e-01 + 3 -3.7771141209754272e-01 4.9113558222546644e-01 5.0843892096618404e-01 + 4 -2.8162602960214750e-01 -4.8885853055479250e-01 5.2872399967143768e-01 + 5 -1.0246509700813915e-01 5.0042161721801071e-01 7.4250173304617095e-01 + 6 1.7024292544564612e-01 -4.8571891643482573e-01 -1.1177736113985253e+00 + 7 -6.1156967647734628e-01 1.7777988770524997e-01 -1.0482593066403549e+00 + 8 -2.2803053652233527e+00 -8.3128853505189815e-01 5.9769610005980611e-01 + 9 -2.0412528982842673e-01 2.3429494633207595e-01 -1.0718228842943205e-02 + 10 -1.6394516410017825e+00 -1.3846084270060846e+00 1.9488592729039023e+00 + 11 -7.4381489395859790e-01 4.9587049221612645e-01 1.5417789661786050e+00 + 12 5.5521653745187747e+00 -6.1072463139592683e+00 2.0379322079766378e+00 + 13 -9.4756462470809255e-01 -2.4877736891899804e+00 7.5226803309043055e-01 + 14 -3.9200446837711395e-01 8.5283753206902235e-01 9.6064721369950445e-01 + 15 1.2362638802582744e+00 1.1275448796921670e+00 8.2038494169656861e-01 + 16 2.1458459966364862e+00 -2.4601526846582616e-01 3.0249484994513204e-01 + 17 3.5033252494564954e-01 -1.6019812976896347e-01 8.3743480500334844e-01 + 18 5.4153945202106868e-01 -3.6539157854410403e-01 -1.3890940478155159e-01 + 19 -8.8373351593798388e-01 -5.1375999600198863e-01 3.3838086377173826e-01 + 20 9.1083776558591201e-01 -1.5901783311179693e-01 2.5120277485392197e+00 + 21 -8.4451326390188375e-01 -1.1114371254461546e+00 1.0683708100111888e+00 + 22 -7.5900351136317357e-01 1.2362948592624003e+00 -1.2904719882957465e+00 + 23 6.4750144905585549e-01 5.7210394561653576e-02 9.9656845183695053e-02 + 24 4.1744599463524096e-01 2.1259307452400425e-01 9.0015278557498735e-01 + 25 9.4150711414692834e-01 -6.9696766946953348e-01 -2.3037907884929940e-01 + 26 -1.4147111014268414e+00 1.1852592022735329e+00 1.8714120935328260e+00 + 27 1.0913575316042794e+00 1.2631798236759981e+00 1.0886692662671837e+00 + 28 8.3606994982976401e-01 -2.9870115604791653e-01 2.0104887913912675e-01 + 29 9.0856098036906352e-01 -7.3344458789491729e-01 4.9044023023818029e-01 + 30 -1.0826205727094163e+00 -5.5988039025050618e-01 6.4711232608099511e-01 + 31 4.1011224141770930e-01 1.5686079255087973e-01 1.1174665384422497e-01 + 32 1.5236800901120839e+00 -6.6447541904097751e-01 -3.0029066595762131e+00 + 33 3.4809924424174560e-01 2.4258774026080121e-01 1.8547873786962699e-01 + 34 -1.8566489516093215e-01 -8.5962613022982770e-01 1.5500121503004105e-01 + 35 -8.2326371527234010e-01 -3.7446494006548797e-01 7.4176901677619744e-01 + 36 1.1216694832071858e+00 1.9435674071483879e+00 -2.6466616874103202e+00 + 37 -3.0242947522582693e+00 -2.0020088295323104e+00 1.7833212234562072e+00 + 38 1.5640855555189809e-01 -3.1385685146909081e-01 6.5939257465479251e-01 + 39 -2.3890624212376724e-01 1.3695249846310167e-01 9.9925648137039358e-01 + 40 -2.5999157346479995e-01 3.1168411923911173e-02 -5.6835334563867468e-01 + 41 1.0984936858413677e-01 -1.6871555450051683e+00 -3.8133642116431425e+00 + 42 -6.7414007843013279e-01 1.6420809941145773e+00 2.4984072206822328e+00 + 43 1.1316433346480113e+00 1.8319724981366828e-01 -5.5898271604147332e-01 + 44 5.5889273038048737e-01 8.8041312264921745e-01 3.4955044314737682e-01 + 45 3.3430620322843434e+00 3.5313991497815123e-01 -1.1569589542118532e+00 + 46 -3.6149781281961069e+00 6.5164580687961173e+00 -5.2150521432106514e+00 + 47 9.4289751736799332e-01 -7.5493583256778529e-01 -5.9703277588756754e-01 + 48 -1.0351254888362169e+00 -1.6064123120606622e+00 1.0928015294629903e-01 + 49 -5.5396348052819100e-01 -9.6219620467544717e-02 -2.7002439840435759e+00 + 50 -1.4230413604720668e-01 9.9949989127967187e-01 -1.0208667027739642e+00 + 51 4.0260347553297775e+00 -2.7092363330661420e+00 4.2163103565049731e+00 + 52 1.5014049017371378e+00 -3.2543162578864432e-01 -3.2804850620113690e-01 + 53 -2.7576475211158806e+00 3.5778880455472803e+00 -3.9634126284559739e+00 + 54 -1.7747042614438060e+00 1.9611723222936202e+00 -2.2286537149711774e+00 + 55 -7.0961411904806315e-01 1.7930263654460663e+00 -1.0103406695277632e+00 + 56 -1.2555251271044243e+00 -2.6388664033178353e+00 6.0588514885091604e-01 + 57 4.8145762540712084e-01 5.2468545137975810e-02 -1.2118211778405148e+00 + 58 -3.4694058897032376e-01 -5.7441401293929450e-01 -1.0787871369640367e+00 + 59 -1.3396085055318709e+00 3.1539675285445645e-01 -2.8946834728313148e-01 + 60 -1.2379671513099984e-01 -5.1727876413981821e-01 -7.3649497602094284e-03 + 61 4.7619944721043755e-01 1.1605170517221104e+00 -5.6890430461321161e-02 + 62 -2.6435363946227447e-01 8.6148926212607924e-01 5.0426612977179008e-01 + 63 -9.1855671177225018e-01 3.7209804640882943e-01 1.3718520221233417e+00 + 64 -2.0776194241579457e-01 -1.6779892537766616e-01 2.9221070734089666e-01 +... diff --git a/unittest/force-styles/tests/kspace-scafacos_fmm.yaml b/unittest/force-styles/tests/kspace-scafacos_fmm.yaml new file mode 100644 index 0000000000..f1cc00db5a --- /dev/null +++ b/unittest/force-styles/tests/kspace-scafacos_fmm.yaml @@ -0,0 +1,176 @@ +--- +lammps_version: 28 Jul 2021 +date_generated: Thu Jul 29 13:51:18 2021 +epsilon: 7.5e-14 +skip_tests: extract gpu intel omp opt single +prerequisites: ! | + atom full + pair zero + kspace scafacos +pre_commands: ! | + echo screen + variable newton_pair delete + variable newton_pair index on + atom_modify map array + units metal + atom_style charge + lattice diamond 3.77 + region box block 0 2 0 2 0 2 + create_box 2 box + create_atoms 1 box + displace_atoms all random 0.1 0.1 0.1 623426 + mass 1 28.0 + mass 2 16.0 + set type 1 type/fraction 2 0.666667 998877 + set type 1 charge 0.8 + set type 2 charge 0.4 + velocity all create 100 4534624 loop geom +post_commands: ! | + pair_modify compute no + kspace_style scafacos fmm 1.0e-6 + kspace_modify scafacos tolerance energy +input_file: in.empty +pair_style: zero 2.0 +pair_coeff: ! | + * * +extract: ! "" +natoms: 64 +init_vdwl: 0 +init_coul: 0 +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.7344321564545199e-01 1.0399389340459080e+00 1.3876659205276564e+01 + 2 1.5449492805477314e+01 3.9807611230601410e+00 3.8452246197298656e+00 + 3 3.7922326387058978e+00 8.3278630398292453e-01 3.4558724384105806e+00 + 4 2.9439011885186255e+00 2.9425289669765928e+00 1.4537825698476643e+01 + 5 1.5918381870117293e+00 1.9466983955760999e+00 2.4920283819610658e+00 + 6 2.6259105850931714e+00 5.3690549282090387e+00 4.7280710550656844e+00 + 7 4.4364137899372924e+00 1.8830119807345869e+00 4.3927142420671821e+00 + 8 8.9994986945653537e+00 1.0319345073350034e+01 3.1325097793340606e+00 + 9 6.2639497792534637e+00 3.5466245249326556e-01 4.4168044703814741e-01 + 10 1.3728949086169523e+01 5.9021795755719113e+00 8.3457486071450901e+00 + 11 2.1935277755276061e+01 2.7869562552965171e+01 8.7269231486518812e+00 + 12 2.6501414582988151e+01 9.2944945967416792e-01 2.9893684135007220e+01 + 13 8.0017877748191459e+00 -2.0479866024583404e-01 1.8886128149553960e+00 + 14 8.2751915637684714e+00 6.4950203286788843e+00 6.1408889770973660e+00 + 15 2.5492627306320166e+01 4.5129392612334049e+00 1.1790352768101927e+01 + 16 1.4548021362622153e+01 4.4129658170857944e+00 1.8763057824176370e+00 + 17 1.4501850921677406e+01 6.7172445683893223e+00 1.4946451374355608e+01 + 18 1.4380224167589164e+01 1.0657328311630781e+01 3.0305280185680523e+00 + 19 2.7117028415674902e+00 6.0958515694152835e+00 3.5888694749409322e+00 + 20 6.8588249090287832e+00 2.1685089048264814e+01 3.0689398605986988e+00 + 21 1.3970677084551384e+00 7.6485731075275760e+00 2.7541504068649560e+00 + 22 6.4444276115387433e-01 1.3543586508616185e+01 4.2755739385279030e+00 + 23 5.4068662708568285e+00 8.7086354605093970e+00 5.0428937664048483e+00 + 24 5.4312713624595412e+00 1.2571266358559207e+01 2.7852427311946037e+00 + 25 8.1530931814725847e+00 6.3515371417579880e+00 1.3439260563417083e+01 + 26 5.7966876253992297e+00 1.1833226279599716e+01 5.3217673083792665e+00 + 27 2.3267860762229891e+01 1.4309271416080643e+01 7.8963457432862878e+00 + 28 1.1260953746938771e+01 1.0982420982569744e+01 5.4782100561044245e-01 + 29 1.8364366816567017e+01 1.8114567006254543e+01 4.7963915777200725e+00 + 30 8.4699064361448997e+00 1.1831127571942893e+01 6.1292910736400543e+00 + 31 1.3574885121129002e+01 8.7336240590005261e+00 4.8188299300991302e+00 + 32 1.3385383391635896e+01 1.2337138351659931e+01 -1.1407697768669256e+00 + 33 1.4431230413397703e+01 1.4323234795228856e+01 7.3412835919167643e+00 + 34 1.3969000840127091e+01 3.0497552961987666e+00 1.1438187958657586e+01 + 35 2.8274638159884948e+00 1.3310584236809728e+01 1.0934799925612198e+01 + 36 4.1227766989196537e+00 5.0496806339038391e+00 5.0760662362820828e+00 + 37 1.0778695907734519e+00 1.7886854478960579e+00 1.9429658878866263e+01 + 38 2.1507826238910930e+00 5.0163985923792263e+00 1.3059978336793199e+01 + 39 4.7184812399996909e+00 1.8254153845821235e+00 1.2785381430623547e+01 + 40 1.0914696730747435e+01 1.0718508242219331e+01 1.6788193635066108e+01 + 41 1.3586482319031427e+01 -1.5239623554047868e+00 1.1745281944028184e+01 + 42 6.9398860475408766e+00 4.7619431190908390e+00 1.2768073133896067e+01 + 43 1.1588156942589237e+01 1.3899372094598682e+01 9.7231617836570958e+00 + 44 1.0965239807623258e+01 4.5248616203907224e+00 7.3388155089857969e+00 + 45 2.0005963749269888e+01 4.2227735756718454e+00 1.6223929793670294e+01 + 46 1.5526017105694056e+01 1.6284929674841809e+01 2.0992367380450514e+01 + 47 1.3127375507045139e+01 5.9613317928545073e-01 1.1818646444579961e+01 + 48 1.1752015469377881e+01 4.2624365718078785e+00 9.3936741324803013e+00 + 49 -1.8079546156243201e-01 1.3484378614909382e+01 1.2968496634781358e+01 + 50 1.3977239289088862e+01 1.1069385506148057e+01 9.1718995954572584e+00 + 51 1.0501584745309099e+01 1.2924452952562842e+01 2.4635331182036264e+01 + 52 7.4312440416195518e+00 2.1362430287074549e+01 1.2684482744099313e+01 + 53 -3.9423378960196026e-01 1.2140650466573046e+01 5.2721840335806291e+00 + 54 1.6486724505756662e+00 2.5799329956672310e+01 2.2930937959414567e+01 + 55 1.1381714926886266e+01 1.9619404013427232e+01 2.4718571006780024e+01 + 56 4.2372057514979335e+00 1.0391112686338122e+01 9.4444056811085204e+00 + 57 8.1940113668230694e+00 7.1104968470235610e+00 6.6029641159913739e+00 + 58 7.4171987227707223e+00 1.0606486204110411e+01 9.2591371200280381e+00 + 59 9.8492228684575540e+00 7.4248619970948182e+00 9.9383790371280565e+00 + 60 1.0703930971193111e+01 9.6975089632661309e+00 6.9600296320772648e+00 + 61 8.6943568640125886e+00 9.9063210411691909e+00 8.7603044365223557e+00 + 62 1.7747505488128564e+01 2.5570881878277447e+01 2.5486645140403137e+01 + 63 2.4039569847433405e+01 1.8842330744592978e+01 2.5780922573255157e+01 + 64 1.2463187447287556e+01 1.2183741551363838e+01 8.7353181028151692e+00 +run_vdwl: 0 +run_coul: 0 +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.7651197008406392e-01 1.0415678720698729e+00 1.3872779280956753e+01 + 2 1.5449759395644167e+01 3.9855855054817644e+00 3.8461983571873790e+00 + 3 3.7911997862296709e+00 8.3904670578733764e-01 3.4596764550266497e+00 + 4 2.9451794453200502e+00 2.9429333416401793e+00 1.4539905421385628e+01 + 5 1.5928739082338745e+00 1.9493358736373028e+00 2.4923949279780495e+00 + 6 2.6287567021955258e+00 5.3687720704968056e+00 4.7294762789274083e+00 + 7 4.4371727251964055e+00 1.8849030266615783e+00 4.3950133233595050e+00 + 8 8.9995619482820768e+00 1.0323826143877110e+01 3.1392473059420039e+00 + 9 6.2661777272152639e+00 3.5669414245675257e-01 4.4142832480338445e-01 + 10 1.3727322971707833e+01 5.9063385106156829e+00 8.3518208426500653e+00 + 11 2.1926479844297599e+01 2.7870186233913397e+01 8.7321323974980842e+00 + 12 2.6499840856249261e+01 9.6334231599157905e-01 2.9894678616837652e+01 + 13 8.0083245849009455e+00 -2.0662691830711327e-01 1.8836318629385369e+00 + 14 8.2734278851929588e+00 6.4943521153642392e+00 6.1412708017805970e+00 + 15 2.5488061118032654e+01 4.5213547499959432e+00 1.1799158997410883e+01 + 16 1.4552510395622944e+01 4.4186293928129361e+00 1.8852988616957091e+00 + 17 1.4503677326625587e+01 6.7180175990614028e+00 1.4946852464355752e+01 + 18 1.4381409845727509e+01 1.0654931903189308e+01 3.0312435986608013e+00 + 19 2.7124833930550141e+00 6.0976684772914878e+00 3.5882411745935676e+00 + 20 6.8736353394442133e+00 2.1678276577478638e+01 3.0788227833491426e+00 + 21 1.3982101172000410e+00 7.6478016226010919e+00 2.7552664131408222e+00 + 22 6.4165287851175445e-01 1.3545380494978804e+01 4.2776533346466232e+00 + 23 5.4103203059394964e+00 8.7067977369120033e+00 5.0443785937167185e+00 + 24 5.4297787167004739e+00 1.2566179323562508e+01 2.7871981984985559e+00 + 25 8.1468708309406459e+00 6.3628954278084935e+00 1.3433082052665378e+01 + 26 5.8007775598268116e+00 1.1833060785653855e+01 5.3158441970938508e+00 + 27 2.3271898130087564e+01 1.4312479526039127e+01 7.8988005138596940e+00 + 28 1.1264982854142273e+01 1.0981090427962860e+01 5.5114657128401012e-01 + 29 1.8360475666296047e+01 1.8116213282364310e+01 4.8005153364581687e+00 + 30 8.4676827902592962e+00 1.1833601197660210e+01 6.1285507516936439e+00 + 31 1.3576019178494166e+01 8.7326484174082530e+00 4.8222850257089043e+00 + 32 1.3392834293156350e+01 1.2328158960160978e+01 -1.1499265946201753e+00 + 33 1.4430657860970262e+01 1.4322553032339890e+01 7.3429611976555123e+00 + 34 1.3968718066334933e+01 3.0501935928985864e+00 1.1437920471232577e+01 + 35 2.8282015137638550e+00 1.3315777129063504e+01 1.0935554228914423e+01 + 36 4.1367964153236239e+00 5.0566506601763361e+00 5.0786104316094578e+00 + 37 1.0703378922264071e+00 1.7823190196209198e+00 1.9433986085653753e+01 + 38 2.1530664235557073e+00 5.0165958073490193e+00 1.3059881276991907e+01 + 39 4.7199366925331354e+00 1.8255865421137283e+00 1.2784193925972824e+01 + 40 1.0921240412276147e+01 1.0721353053339275e+01 1.6787748198188012e+01 + 41 1.3583625314875771e+01 -1.5319616145707560e+00 1.1746213735704959e+01 + 42 6.9450188200223204e+00 4.7593292629512449e+00 1.2755291668492266e+01 + 43 1.1589742925168665e+01 1.3899892638039299e+01 9.7253294013139477e+00 + 44 1.0961867009301859e+01 4.5225370661374633e+00 7.3400899132574153e+00 + 45 2.0002822406002132e+01 4.2338956487569925e+00 1.6239535666450255e+01 + 46 1.5524528724029626e+01 1.6247843935047122e+01 2.0990184675085441e+01 + 47 1.3124986938639472e+01 5.9786426712579610e-01 1.1818358403314216e+01 + 48 1.1749182513644152e+01 4.2614857224962961e+00 9.3944809519814623e+00 + 49 -1.7518331942173446e-01 1.3483181307872760e+01 1.2965159543102937e+01 + 50 1.3975895178424322e+01 1.1073548771278318e+01 9.1725615152146194e+00 + 51 1.0503392645304775e+01 1.2909679177891126e+01 2.4643385301924013e+01 + 52 7.4419899358623356e+00 2.1356769669062444e+01 1.2684434373290401e+01 + 53 -3.8607658405206186e-01 1.2157465333393549e+01 5.2631428549295682e+00 + 54 1.6360271583187511e+00 2.5806448449298628e+01 2.2923307834686828e+01 + 55 1.1390250487781625e+01 1.9609063402086711e+01 2.4725021107985334e+01 + 56 4.2381343760165091e+00 1.0395725713994882e+01 9.4450980706100012e+00 + 57 8.1922339516941101e+00 7.1086378058488044e+00 6.6012158192831887e+00 + 58 7.4214030094107608e+00 1.0605483796243540e+01 9.2605304646178155e+00 + 59 9.8444881364839958e+00 7.4248108566067454e+00 9.9426307778310061e+00 + 60 1.0702238644489983e+01 9.6979949572741546e+00 6.9618733394800447e+00 + 61 8.6978096405466658e+00 9.9105244542061097e+00 8.7648658602181566e+00 + 62 1.7748711620965818e+01 2.5580453958857554e+01 2.5482823034836599e+01 + 63 2.4039899519931453e+01 1.8846637147914485e+01 2.5778055934319141e+01 + 64 1.2463078463241402e+01 1.2184586889655829e+01 8.7354368948584202e+00 +... diff --git a/unittest/force-styles/tests/kspace-scafacos_fmm_tuned.yaml b/unittest/force-styles/tests/kspace-scafacos_fmm_tuned.yaml new file mode 100644 index 0000000000..26eed51ded --- /dev/null +++ b/unittest/force-styles/tests/kspace-scafacos_fmm_tuned.yaml @@ -0,0 +1,177 @@ +--- +lammps_version: 28 Jul 2021 +date_generated: Thu Jul 29 13:50:59 2021 +epsilon: 7.5e-14 +skip_tests: extract gpu intel omp opt single +prerequisites: ! | + atom full + pair zero + kspace scafacos +pre_commands: ! | + echo screen + variable newton_pair delete + variable newton_pair index on + atom_modify map array + units metal + atom_style charge + lattice diamond 3.77 + region box block 0 2 0 2 0 2 + create_box 2 box + create_atoms 1 box + displace_atoms all random 0.1 0.1 0.1 623426 + mass 1 28.0 + mass 2 16.0 + set type 1 type/fraction 2 0.666667 998877 + set type 1 charge 0.8 + set type 2 charge 0.4 + velocity all create 100 4534624 loop geom +post_commands: ! | + pair_modify compute no + kspace_style scafacos fmm 1.0e-6 + kspace_modify scafacos tolerance energy_rel + kspace_modify scafacos fmm_tuning 1 +input_file: in.empty +pair_style: zero 2.0 +pair_coeff: ! | + * * +extract: ! "" +natoms: 64 +init_vdwl: 0 +init_coul: 0 +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.7348813331578381e-01 1.0398337508932620e+00 1.3876159757936122e+01 + 2 1.5449500445625777e+01 3.9807925711395882e+00 3.8451554469155158e+00 + 3 3.7922392638729674e+00 8.3276903399611857e-01 3.4558923758723239e+00 + 4 2.9438818801998288e+00 2.9425326004887702e+00 1.4537787108189372e+01 + 5 1.5917206214898922e+00 1.9466982917982683e+00 2.4919869295950248e+00 + 6 2.6259075371703107e+00 5.3690587559849874e+00 4.7280760809090063e+00 + 7 4.4364253542789553e+00 1.8829999380617202e+00 4.3927130682638200e+00 + 8 8.9995014275062033e+00 1.0319344496761227e+01 3.1326023537694150e+00 + 9 6.2638175569366439e+00 3.5476316668194763e-01 4.4166040431977632e-01 + 10 1.3728953726809353e+01 5.9021860546627147e+00 8.3457830077413675e+00 + 11 2.1935169943515557e+01 2.7869616573716833e+01 8.7269888071726189e+00 + 12 2.6501474360021167e+01 9.2945619739867102e-01 2.9893788084785779e+01 + 13 8.0018212209254269e+00 -2.0476829653122275e-01 1.8886468465456818e+00 + 14 8.2751943329581028e+00 6.4950216944197710e+00 6.1408909216811107e+00 + 15 2.5492590440688410e+01 4.5129690225059003e+00 1.1790361371298170e+01 + 16 1.4548053703176246e+01 4.4129859630113533e+00 1.8762729984357014e+00 + 17 1.4501911070441551e+01 6.7171318111851042e+00 1.4946375871215359e+01 + 18 1.4380223720786740e+01 1.0657290731886400e+01 3.0305611923330629e+00 + 19 2.7117054831254972e+00 6.0958452763802571e+00 3.5888843335705802e+00 + 20 6.8588609322722185e+00 2.1685247490849857e+01 3.0689061298679143e+00 + 21 1.3970943275510144e+00 7.6485816765308989e+00 2.7541768792668018e+00 + 22 6.4448316569476405e-01 1.3543545509046767e+01 4.2755852447120430e+00 + 23 5.4068708057498780e+00 8.7086355398483786e+00 5.0428988259149952e+00 + 24 5.4312833896029256e+00 1.2571294549302225e+01 2.7852213701107713e+00 + 25 8.1530954705085517e+00 6.3515410254013185e+00 1.3439303825948702e+01 + 26 5.7966900211547721e+00 1.1833237493134883e+01 5.3217633843164807e+00 + 27 2.3267888779838575e+01 1.4309269348619916e+01 7.8963242010371877e+00 + 28 1.1260947273678511e+01 1.0982376414198882e+01 5.4781815763630859e-01 + 29 1.8364371291956008e+01 1.8114567435533047e+01 4.7963836742107802e+00 + 30 8.4699088067619392e+00 1.1831148231360789e+01 6.1292915173424580e+00 + 31 1.3574908849755397e+01 8.7336218936043508e+00 4.8188371166218111e+00 + 32 1.3385387163964113e+01 1.2337118159363795e+01 -1.1407524184510009e+00 + 33 1.4431168712277392e+01 1.4323208687692121e+01 7.3414504006410386e+00 + 34 1.3969041828620703e+01 3.0496943860655836e+00 1.1438260036991002e+01 + 35 2.8274003881940502e+00 1.3310589799922836e+01 1.0934862963723306e+01 + 36 4.1227887871968436e+00 5.0496895120609047e+00 5.0760680028349290e+00 + 37 1.0778839329208072e+00 1.7887023254017091e+00 1.9429711913612689e+01 + 38 2.1507942905958108e+00 5.0163776336856483e+00 1.3059976489761368e+01 + 39 4.7184683151918598e+00 1.8254262730434008e+00 1.2785388468062990e+01 + 40 1.0914703578871686e+01 1.0718511584407898e+01 1.6788195605985212e+01 + 41 1.3586528046198101e+01 -1.5240408132233365e+00 1.1745234629327168e+01 + 42 6.9398937131136336e+00 4.7619476312053433e+00 1.2768071613391614e+01 + 43 1.1588227900962954e+01 1.3899375234447838e+01 9.7231426518202095e+00 + 44 1.0965233207481576e+01 4.5248581872753171e+00 7.3388192421583183e+00 + 45 2.0005981603238130e+01 4.2227511758916396e+00 1.6223915605052568e+01 + 46 1.5526027660178757e+01 1.6284925837425668e+01 2.0992424515018055e+01 + 47 1.3127360638599988e+01 5.9612362528876883e-01 1.1818654631355532e+01 + 48 1.1751986404039938e+01 4.2624387920065523e+00 9.3936834836215191e+00 + 49 -1.8088745899087394e-01 1.3484430039477767e+01 1.2968484808313010e+01 + 50 1.3977286184112062e+01 1.1069454884631591e+01 9.1718660232339886e+00 + 51 1.0501587646222809e+01 1.2924465595968570e+01 2.4635324740606578e+01 + 52 7.4312485865974578e+00 2.1362396858961155e+01 1.2684502423254669e+01 + 53 -3.9424068307842736e-01 1.2140657200136484e+01 5.2721812571653501e+00 + 54 1.6485961493725905e+00 2.5799336851785167e+01 2.2930957175651425e+01 + 55 1.1381721034165544e+01 1.9619406419408808e+01 2.4718628489144805e+01 + 56 4.2371998207450279e+00 1.0391058816708153e+01 9.4444200256590882e+00 + 57 8.1940124415452154e+00 7.1104964926316265e+00 6.6029660024819821e+00 + 58 7.4171992229434318e+00 1.0606471694757657e+01 9.2591404855050907e+00 + 59 9.8492150170007964e+00 7.4248614672958269e+00 9.9383803157301998e+00 + 60 1.0703943615781606e+01 9.6975161414304889e+00 6.9600326393690422e+00 + 61 8.6943592534555965e+00 9.9063199807746116e+00 8.7603057701106710e+00 + 62 1.7747508836217346e+01 2.5570847046642644e+01 2.5486626980773114e+01 + 63 2.4039557027481166e+01 1.8842345704546617e+01 2.5780849026032008e+01 + 64 1.2463226569826761e+01 1.2183760586283075e+01 8.7353269230481754e+00 +run_vdwl: 0 +run_coul: 0 +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.7655614077038770e-01 1.0414626143997929e+00 1.3872281044882385e+01 + 2 1.5449766942760903e+01 3.9856168870747379e+00 3.8461293438372790e+00 + 3 3.7912065186298132e+00 8.3902947798816940e-01 3.4596964702210671e+00 + 4 2.9451602238760008e+00 2.9429370858672668e+00 1.4539866735118618e+01 + 5 1.5927561638347016e+00 1.9493352486036057e+00 2.4923532256852292e+00 + 6 2.6287536719745823e+00 5.3687758985279252e+00 4.7294812963949129e+00 + 7 4.4371843565440887e+00 1.8848910506914887e+00 4.3950121035880807e+00 + 8 8.9995646852940840e+00 1.0323825531388316e+01 3.1393397431003773e+00 + 9 6.2660457365220648e+00 3.5679472756364977e-01 4.4140788476336190e-01 + 10 1.3727327649282635e+01 5.9063449929569556e+00 8.3518552034510591e+00 + 11 2.1926372209609372e+01 2.7870240309194713e+01 8.7321979226291049e+00 + 12 2.6499900558225651e+01 9.6334889661224665e-01 2.9894782842760570e+01 + 13 8.0083579713387767e+00 -2.0659652450187993e-01 1.8836657841036355e+00 + 14 8.2734306616064099e+00 6.4943534748345870e+00 6.1412727378626544e+00 + 15 2.5488024372384881e+01 4.5213844941317838e+00 1.1799167617793602e+01 + 16 1.4552542699098790e+01 4.4186495472922793e+00 1.8852661034736871e+00 + 17 1.4503737595959898e+01 6.7179050792379611e+00 1.4946776837792390e+01 + 18 1.4381409435231228e+01 1.0654894302462434e+01 3.0312767493334012e+00 + 19 2.7124860711088656e+00 6.0976621976484635e+00 3.5882560105608561e+00 + 20 6.8736710874219931e+00 2.1678434988867846e+01 3.0787890906385686e+00 + 21 1.3982367460894576e+00 7.6478102680775519e+00 2.7552928293027943e+00 + 22 6.4169326306508845e-01 1.3545339589741861e+01 4.2776645822412247e+00 + 23 5.4103248493900837e+00 8.7067978227779843e+00 5.0443836366850539e+00 + 24 5.4297907842916224e+00 1.2566207486059163e+01 2.7871769607932020e+00 + 25 8.1468730822611093e+00 6.3628993051274767e+00 1.3433125255649120e+01 + 26 5.8007799584797075e+00 1.1833072017157374e+01 5.3158402827220064e+00 + 27 2.3271926144411747e+01 1.4312477430258067e+01 7.8987789997376181e+00 + 28 1.1264976472326568e+01 1.0981045834527897e+01 5.5114366602934151e-01 + 29 1.8360480179925911e+01 1.8116213711345623e+01 4.8005074793206548e+00 + 30 8.4676851576636274e+00 1.1833621876668358e+01 6.1285512025545916e+00 + 31 1.3576042847021148e+01 8.7326462658984134e+00 4.8222921579271674e+00 + 32 1.3392837978387369e+01 1.2328138924567323e+01 -1.1499093150899995e+00 + 33 1.4430596032798116e+01 1.4322526693890415e+01 7.3431281073933219e+00 + 34 1.3968759042112440e+01 3.0501328584960681e+00 1.1437992430217433e+01 + 35 2.8281380771191573e+00 1.3315782732548923e+01 1.0935617245655472e+01 + 36 4.1368084680450741e+00 5.0566595585926750e+00 5.0786122099441879e+00 + 37 1.0703522301098087e+00 1.7823359592203234e+00 1.9434039156473521e+01 + 38 2.1530780772696327e+00 5.0165748615997767e+00 1.3059879461907968e+01 + 39 4.7199237473338425e+00 1.8255974081293400e+00 1.2784201000972180e+01 + 40 1.0921247275304767e+01 1.0721356400594475e+01 1.6787750162718144e+01 + 41 1.3583671245197891e+01 -1.5320398875481835e+00 1.1746166324691798e+01 + 42 6.9450264839149582e+00 4.7593338045337736e+00 1.2755290145911962e+01 + 43 1.1589813961300360e+01 1.3899896007891060e+01 9.7253102896186281e+00 + 44 1.0961860458506010e+01 4.5225336343607268e+00 7.3400936222246091e+00 + 45 2.0002840354073204e+01 4.2338732914616370e+00 1.6239521371602699e+01 + 46 1.5524539285930016e+01 1.6247840060528361e+01 2.0990241708216441e+01 + 47 1.3124971903636380e+01 5.9785477708513912e-01 1.1818366531227719e+01 + 48 1.1749153529429060e+01 4.2614879359139017e+00 9.3944902939537496e+00 + 49 -1.7527515462349436e-01 1.3483232497861167e+01 1.2965147624216133e+01 + 50 1.3975942039948640e+01 1.1073618153900194e+01 9.1725280413813692e+00 + 51 1.0503395570218585e+01 1.2909691804831095e+01 2.4643378857208571e+01 + 52 7.4419945907157885e+00 2.1356736284156529e+01 1.2684453946465149e+01 + 53 -3.8608341815151459e-01 1.2157472041148559e+01 5.2631401097631194e+00 + 54 1.6359505523220670e+00 2.5806455026771221e+01 2.2923327128942180e+01 + 55 1.1390256585246158e+01 1.9609065799837822e+01 2.4725078576748771e+01 + 56 4.2381284706319988e+00 1.0395671908445410e+01 9.4451124007703342e+00 + 57 8.1922350329752511e+00 7.1086374466494924e+00 6.6012176987006228e+00 + 58 7.4214035215815111e+00 1.0605469307739222e+01 9.2605338196606368e+00 + 59 9.8444802995072678e+00 7.4248103039388100e+00 9.9426320787676286e+00 + 60 1.0702251275564446e+01 9.6980021484872179e+00 6.9618763522862226e+00 + 61 8.6978120433876391e+00 9.9105234066795997e+00 8.7648671872123618e+00 + 62 1.7748715084812812e+01 2.5580419195546956e+01 2.5482804840636767e+01 + 63 2.4039886899787696e+01 1.8846652126082969e+01 2.5777982490636418e+01 + 64 1.2463117502673011e+01 1.2184605937034160e+01 8.7354457321354815e+00 +... diff --git a/unittest/force-styles/tests/kspace-scafacos_p2nfft.yaml b/unittest/force-styles/tests/kspace-scafacos_p2nfft.yaml new file mode 100644 index 0000000000..4d942c0684 --- /dev/null +++ b/unittest/force-styles/tests/kspace-scafacos_p2nfft.yaml @@ -0,0 +1,175 @@ +--- +lammps_version: 28 Jul 2021 +date_generated: Thu Jul 29 13:45:55 2021 +epsilon: 7.5e-14 +skip_tests: extract gpu intel omp opt single +prerequisites: ! | + atom full + pair zero + kspace scafacos +pre_commands: ! | + echo screen + variable newton_pair delete + variable newton_pair index on + atom_modify map array + units metal + atom_style charge + lattice diamond 3.77 + region box block 0 2 0 2 0 2 + create_box 2 box + create_atoms 1 box + displace_atoms all random 0.1 0.1 0.1 623426 + mass 1 28.0 + mass 2 16.0 + set type 1 type/fraction 2 0.666667 998877 + set type 1 charge 0.8 + set type 2 charge 0.4 + velocity all create 100 4534624 loop geom +post_commands: ! | + pair_modify compute no + kspace_style scafacos p2nfft 1.0e-6 +input_file: in.empty +pair_style: zero 2.0 +pair_coeff: ! | + * * +extract: ! "" +natoms: 64 +init_vdwl: 0 +init_coul: 0 +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 -3.5780085265127770e-01 7.7863976884689778e-01 8.1309435467640190e-02 + 2 1.2922844907752580e+00 1.2617353620515021e-01 -1.6455823742639325e-01 + 3 -3.7573025528065984e-01 4.8404099820901941e-01 5.0527564662430480e-01 + 4 -2.7871835080748381e-01 -4.8533790320940795e-01 5.2971652145288373e-01 + 5 -1.0334757758043411e-01 5.0146818454848385e-01 7.4439669266606512e-01 + 6 1.6994100006738755e-01 -4.8596028890184417e-01 -1.1155467819435494e+00 + 7 -6.1361226431521321e-01 1.7596436024569542e-01 -1.0492912504155925e+00 + 8 -2.2803855631628340e+00 -8.3759709226825729e-01 5.9297120974572937e-01 + 9 -2.0766700827147561e-01 2.3210985744108728e-01 -9.9414887901143056e-03 + 10 -1.6345268803939015e+00 -1.3881009194911340e+00 1.9432492599696523e+00 + 11 -7.3365718913973699e-01 4.9495192619582723e-01 1.5364153798840783e+00 + 12 5.5588866694584471e+00 -6.1330805899451262e+00 2.0415867813193076e+00 + 13 -9.5437646198899539e-01 -2.4883734666800250e+00 7.6111758657297612e-01 + 14 -3.8894783660145515e-01 8.5479214904251943e-01 9.6045059763897767e-01 + 15 1.2422769989298912e+00 1.1218121119058631e+00 8.1111530135350296e-01 + 16 2.1400030020232768e+00 -2.4964129257045650e-01 2.9334364533542473e-01 + 17 3.4605493199199827e-01 -1.6245457119545237e-01 8.3791339271169252e-01 + 18 5.3921802475361413e-01 -3.6306588338753015e-01 -1.3643801942048081e-01 + 19 -8.8564486509567664e-01 -5.1280311157875569e-01 3.4189452371378615e-01 + 20 9.0199869755368822e-01 -1.5438594886161169e-01 2.5018807235162450e+00 + 21 -8.4306432770331152e-01 -1.1086122791050077e+00 1.0670112041584534e+00 + 22 -7.5370542273115437e-01 1.2324093767050341e+00 -1.2900469723801509e+00 + 23 6.4694997778696761e-01 5.8326863628016111e-02 9.9042262644465875e-02 + 24 4.1807597395619162e-01 2.1970422875787554e-01 9.0175261706012111e-01 + 25 9.5070421618820644e-01 -7.1000907447189987e-01 -2.2522424240825395e-01 + 26 -1.4190122120224835e+00 1.1872197340350161e+00 1.8777069287446524e+00 + 27 1.0876171833808459e+00 1.2659568409984263e+00 1.0887050534686826e+00 + 28 8.3074879582524142e-01 -2.9903248606562183e-01 1.9688028219637457e-01 + 29 9.1446004698611993e-01 -7.3648908061130480e-01 4.8971588398224725e-01 + 30 -1.0806496963048899e+00 -5.6194899575245605e-01 6.4737904874501273e-01 + 31 4.0748872588326579e-01 1.5931983570425615e-01 1.1007904844298623e-01 + 32 1.5183422906765025e+00 -6.5520492347733528e-01 -2.9884551390565299e+00 + 33 3.4940717708684493e-01 2.4331903350211614e-01 1.8192795361205777e-01 + 34 -1.8506798197394539e-01 -8.5855506937629600e-01 1.5453618644299572e-01 + 35 -8.2315610861914990e-01 -3.7842441602683485e-01 7.4320784531703932e-01 + 36 1.1078345676821617e+00 1.9365206211001422e+00 -2.6462863074877290e+00 + 37 -3.0179819419253957e+00 -1.9903934289919694e+00 1.7770878311570411e+00 + 38 1.5762694264847721e-01 -3.1528290994028468e-01 6.6060440331789860e-01 + 39 -2.3668961472223182e-01 1.3758070564376421e-01 1.0038071017732935e+00 + 40 -2.6354974417212534e-01 3.2895859882109753e-02 -5.6623994456379567e-01 + 41 1.1795033887687183e-01 -1.6780278035635190e+00 -3.8149014900721743e+00 + 42 -6.8070892131582916e-01 1.6485351522884506e+00 2.5129752962183050e+00 + 43 1.1330337873027332e+00 1.8499156983709580e-01 -5.6176595095281412e-01 + 44 5.5997784986440435e-01 8.8637728505322155e-01 3.4697045321897801e-01 + 45 3.3423529485365053e+00 3.4038384858239051e-01 -1.1708815718073544e+00 + 46 -3.6144176704788360e+00 6.5549069124831325e+00 -5.2136549304833135e+00 + 47 9.4554648103638772e-01 -7.5576666911119417e-01 -5.9677264479171332e-01 + 48 -1.0326975682445696e+00 -1.6034151810142667e+00 1.1080098611982625e-01 + 49 -5.5577414429957672e-01 -9.3455057999570823e-02 -2.6925948328593057e+00 + 50 -1.3886703048963892e-01 9.9499821510491460e-01 -1.0240210089677995e+00 + 51 4.0221556136848591e+00 -2.6927643592781254e+00 4.2047442126568475e+00 + 52 1.4942101177103158e+00 -3.2009381779203661e-01 -3.3033399086403192e-01 + 53 -2.7624774194263360e+00 3.5611583359451511e+00 -3.9545461178665033e+00 + 54 -1.7601771337961456e+00 1.9528817541486010e+00 -2.2185978459566549e+00 + 55 -7.1863965766425175e-01 1.8064448727609259e+00 -1.0168921615510227e+00 + 56 -1.2591654137805013e+00 -2.6445258416521047e+00 6.0847677630810204e-01 + 57 4.8515929186083201e-01 5.6800969610901336e-02 -1.2105082904352986e+00 + 58 -3.4867557627872392e-01 -5.7335255353531400e-01 -1.0767583930439875e+00 + 59 -1.3340915504468165e+00 3.1329653267889523e-01 -2.9296881695668997e-01 + 60 -1.2169996221839811e-01 -5.1456385311797637e-01 -9.8030018204557264e-03 + 61 4.7531716366255333e-01 1.1558482949352020e+00 -6.1949686313014223e-02 + 62 -2.6665969633550657e-01 8.5591252724206024e-01 5.1105211294860375e-01 + 63 -9.1523646674273162e-01 3.6618705261747708e-01 1.3716381151254511e+00 + 64 -2.0905212181142560e-01 -1.7117728320901313e-01 2.9013599408630292e-01 +run_vdwl: 0 +run_coul: 0 +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 -3.5599465277874337e-01 7.7633563210201439e-01 7.8608287114398531e-02 + 2 1.2912444513221386e+00 1.3171074778431663e-01 -1.6709077934812025e-01 + 3 -3.7778394309723595e-01 4.9113040113955064e-01 5.0843913734857116e-01 + 4 -2.8160590164110361e-01 -4.8878002393520997e-01 5.2876504771411781e-01 + 5 -1.0246398111325765e-01 5.0042314656761777e-01 7.4249943608168201e-01 + 6 1.7026412976482125e-01 -4.8569149755207264e-01 -1.1177979176537638e+00 + 7 -6.1157150536632754e-01 1.7780526280974610e-01 -1.0482785227682809e+00 + 8 -2.2803033602270113e+00 -8.3129136327922382e-01 5.9776125803763147e-01 + 9 -2.0412884204250900e-01 2.3427962224815385e-01 -1.0770528415536308e-02 + 10 -1.6395249183522340e+00 -1.3846171682090063e+00 1.9489368073674458e+00 + 11 -7.4384398462075541e-01 4.9593348161567763e-01 1.5417172674238946e+00 + 12 5.5522457751993306e+00 -6.1071890124408590e+00 2.0379295184209441e+00 + 13 -9.4754136611890361e-01 -2.4878234814503268e+00 7.5223931626223006e-01 + 14 -3.9207159478920939e-01 8.5285000504462738e-01 9.6066600572919925e-01 + 15 1.2362731881630049e+00 1.1275018638056002e+00 8.2039786516951951e-01 + 16 2.1458216451669467e+00 -2.4600152585358967e-01 3.0245420353190700e-01 + 17 3.5031822937838691e-01 -1.6012009083925022e-01 8.3746799365378788e-01 + 18 5.4162411674577549e-01 -3.6539600304717962e-01 -1.3890268979540130e-01 + 19 -8.8372161780756198e-01 -5.1372696193270195e-01 3.3842788077218255e-01 + 20 9.1082593999160222e-01 -1.5907936723559218e-01 2.5119960949326550e+00 + 21 -8.4453240105018001e-01 -1.1114249926510182e+00 1.0683480182334557e+00 + 22 -7.5901812032485194e-01 1.2362829517602851e+00 -1.2904928786440111e+00 + 23 6.4749652714435890e-01 5.7183792030700724e-02 9.9630367903745021e-02 + 24 4.1743877222754944e-01 2.1257500035865246e-01 9.0012441506337237e-01 + 25 9.4154054368717621e-01 -6.9696307546168668e-01 -2.3037754991060369e-01 + 26 -1.4147606322450448e+00 1.1852438384397077e+00 1.8714334967463950e+00 + 27 1.0913232723293391e+00 1.2631536555896299e+00 1.0887179972260461e+00 + 28 8.3607624699610106e-01 -2.9876033153742881e-01 2.0103809983435189e-01 + 29 9.0867666153903059e-01 -7.3348359738843760e-01 4.9048017891692930e-01 + 30 -1.0826435302980415e+00 -5.5992774065913897e-01 6.4714350012480903e-01 + 31 4.1006603285049326e-01 1.5688269091624402e-01 1.1183257356568566e-01 + 32 1.5237080034236907e+00 -6.6446962259938114e-01 -3.0028977178372305e+00 + 33 3.4809903460421671e-01 2.4263707670092263e-01 1.8548272388516152e-01 + 34 -1.8559179106825602e-01 -8.5965212491687493e-01 1.5498510256295175e-01 + 35 -8.2323811568016536e-01 -3.7446777289783217e-01 7.4179734435525690e-01 + 36 1.1216577568476001e+00 1.9435602775878549e+00 -2.6467050407020145e+00 + 37 -3.0242325221471873e+00 -2.0019779960672435e+00 1.7832800324601961e+00 + 38 1.5639331727398945e-01 -3.1384844053781685e-01 6.5939848308959670e-01 + 39 -2.3891287935735561e-01 1.3696242649001544e-01 9.9927544788075251e-01 + 40 -2.6005244701964797e-01 3.1148344174346039e-02 -5.6830454389140284e-01 + 41 1.0984955793817870e-01 -1.6872092943648189e+00 -3.8134304123272802e+00 + 42 -6.7415702739884864e-01 1.6421029029708696e+00 2.4984265716567360e+00 + 43 1.1316721879007416e+00 1.8321921143065667e-01 -5.5896015264209020e-01 + 44 5.5887069723897620e-01 8.8047366986242992e-01 3.4955517217254256e-01 + 45 3.3430941347488128e+00 3.5318437490380933e-01 -1.1569499934166860e+00 + 46 -3.6149934072318781e+00 6.5164821545447662e+00 -5.2150916858833742e+00 + 47 9.4291455215930775e-01 -7.5491185109055670e-01 -5.9698837432145690e-01 + 48 -1.0351450961955566e+00 -1.6063882052618959e+00 1.0921430875137585e-01 + 49 -5.5395759954278168e-01 -9.6154620179743772e-02 -2.7003218453569198e+00 + 50 -1.4230032022250677e-01 9.9950629772014710e-01 -1.0208325819496138e+00 + 51 4.0259086743816832e+00 -2.7092834758220055e+00 4.2163452584481842e+00 + 52 1.5014916340191014e+00 -3.2542712320455991e-01 -3.2801716278067305e-01 + 53 -2.7576726796548323e+00 3.5778743692015618e+00 -3.9633908627944878e+00 + 54 -1.7745752034899882e+00 1.9610887449781207e+00 -2.2286504726179523e+00 + 55 -7.0953378422719982e-01 1.7929999880092451e+00 -1.0104167898343672e+00 + 56 -1.2554884038218002e+00 -2.6388935478749458e+00 6.0589183486957654e-01 + 57 4.8143879217236130e-01 5.2496567995491412e-02 -1.2118576178317293e+00 + 58 -3.4700718412581655e-01 -5.7444460503038808e-01 -1.0788240405951006e+00 + 59 -1.3396290256712649e+00 3.1536346198386150e-01 -2.8942564038883140e-01 + 60 -1.2385218215819434e-01 -5.1724001128706532e-01 -7.2550429081412703e-03 + 61 4.7629383517182111e-01 1.1605401610189616e+00 -5.6938017636594000e-02 + 62 -2.6440699771965498e-01 8.6148870676117095e-01 5.0415651630294822e-01 + 63 -9.1860291220907786e-01 3.7207635298197222e-01 1.3717887100670061e+00 + 64 -2.0777660840087850e-01 -1.6781857712494050e-01 2.9221204134120399e-01 +... From b4e3795913676db759d1ee6d50a6449a293a1cc2 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 29 Jul 2021 13:58:27 -0400 Subject: [PATCH 576/726] fix copy-n-paste error --- src/ATC/fix_atc.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ATC/fix_atc.cpp b/src/ATC/fix_atc.cpp index 577a488f5e..21306e01bd 100644 --- a/src/ATC/fix_atc.cpp +++ b/src/ATC/fix_atc.cpp @@ -702,7 +702,7 @@ void FixATC::write_restart(FILE * /* fp */) { char *args[2]; args[0] = utils::strdup("write_restart"); - args[1] = utils::strdup("sprintf(args[1],"ATC.restart"); + args[1] = utils::strdup("ATC.restart"); // Then call all objects I own to write their data if (comm->me == 0) { From 3a968b81adb7821ebbeb8fffed828879699d0069 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 29 Jul 2021 13:59:59 -0400 Subject: [PATCH 577/726] update --- .../tests/kspace-scafacos_fmm.yaml | 258 +++++++++--------- 1 file changed, 129 insertions(+), 129 deletions(-) diff --git a/unittest/force-styles/tests/kspace-scafacos_fmm.yaml b/unittest/force-styles/tests/kspace-scafacos_fmm.yaml index f1cc00db5a..f0e6d4b7e3 100644 --- a/unittest/force-styles/tests/kspace-scafacos_fmm.yaml +++ b/unittest/force-styles/tests/kspace-scafacos_fmm.yaml @@ -1,6 +1,6 @@ --- lammps_version: 28 Jul 2021 -date_generated: Thu Jul 29 13:51:18 2021 +date_generated: Thu Jul 29 13:59:36 2021 epsilon: 7.5e-14 skip_tests: extract gpu intel omp opt single prerequisites: ! | @@ -40,137 +40,137 @@ init_coul: 0 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.7344321564545199e-01 1.0399389340459080e+00 1.3876659205276564e+01 - 2 1.5449492805477314e+01 3.9807611230601410e+00 3.8452246197298656e+00 - 3 3.7922326387058978e+00 8.3278630398292453e-01 3.4558724384105806e+00 - 4 2.9439011885186255e+00 2.9425289669765928e+00 1.4537825698476643e+01 - 5 1.5918381870117293e+00 1.9466983955760999e+00 2.4920283819610658e+00 - 6 2.6259105850931714e+00 5.3690549282090387e+00 4.7280710550656844e+00 - 7 4.4364137899372924e+00 1.8830119807345869e+00 4.3927142420671821e+00 - 8 8.9994986945653537e+00 1.0319345073350034e+01 3.1325097793340606e+00 - 9 6.2639497792534637e+00 3.5466245249326556e-01 4.4168044703814741e-01 - 10 1.3728949086169523e+01 5.9021795755719113e+00 8.3457486071450901e+00 - 11 2.1935277755276061e+01 2.7869562552965171e+01 8.7269231486518812e+00 - 12 2.6501414582988151e+01 9.2944945967416792e-01 2.9893684135007220e+01 - 13 8.0017877748191459e+00 -2.0479866024583404e-01 1.8886128149553960e+00 - 14 8.2751915637684714e+00 6.4950203286788843e+00 6.1408889770973660e+00 - 15 2.5492627306320166e+01 4.5129392612334049e+00 1.1790352768101927e+01 - 16 1.4548021362622153e+01 4.4129658170857944e+00 1.8763057824176370e+00 - 17 1.4501850921677406e+01 6.7172445683893223e+00 1.4946451374355608e+01 - 18 1.4380224167589164e+01 1.0657328311630781e+01 3.0305280185680523e+00 - 19 2.7117028415674902e+00 6.0958515694152835e+00 3.5888694749409322e+00 - 20 6.8588249090287832e+00 2.1685089048264814e+01 3.0689398605986988e+00 - 21 1.3970677084551384e+00 7.6485731075275760e+00 2.7541504068649560e+00 - 22 6.4444276115387433e-01 1.3543586508616185e+01 4.2755739385279030e+00 - 23 5.4068662708568285e+00 8.7086354605093970e+00 5.0428937664048483e+00 - 24 5.4312713624595412e+00 1.2571266358559207e+01 2.7852427311946037e+00 - 25 8.1530931814725847e+00 6.3515371417579880e+00 1.3439260563417083e+01 - 26 5.7966876253992297e+00 1.1833226279599716e+01 5.3217673083792665e+00 - 27 2.3267860762229891e+01 1.4309271416080643e+01 7.8963457432862878e+00 - 28 1.1260953746938771e+01 1.0982420982569744e+01 5.4782100561044245e-01 - 29 1.8364366816567017e+01 1.8114567006254543e+01 4.7963915777200725e+00 - 30 8.4699064361448997e+00 1.1831127571942893e+01 6.1292910736400543e+00 - 31 1.3574885121129002e+01 8.7336240590005261e+00 4.8188299300991302e+00 - 32 1.3385383391635896e+01 1.2337138351659931e+01 -1.1407697768669256e+00 - 33 1.4431230413397703e+01 1.4323234795228856e+01 7.3412835919167643e+00 - 34 1.3969000840127091e+01 3.0497552961987666e+00 1.1438187958657586e+01 - 35 2.8274638159884948e+00 1.3310584236809728e+01 1.0934799925612198e+01 - 36 4.1227766989196537e+00 5.0496806339038391e+00 5.0760662362820828e+00 - 37 1.0778695907734519e+00 1.7886854478960579e+00 1.9429658878866263e+01 - 38 2.1507826238910930e+00 5.0163985923792263e+00 1.3059978336793199e+01 - 39 4.7184812399996909e+00 1.8254153845821235e+00 1.2785381430623547e+01 - 40 1.0914696730747435e+01 1.0718508242219331e+01 1.6788193635066108e+01 - 41 1.3586482319031427e+01 -1.5239623554047868e+00 1.1745281944028184e+01 - 42 6.9398860475408766e+00 4.7619431190908390e+00 1.2768073133896067e+01 - 43 1.1588156942589237e+01 1.3899372094598682e+01 9.7231617836570958e+00 - 44 1.0965239807623258e+01 4.5248616203907224e+00 7.3388155089857969e+00 - 45 2.0005963749269888e+01 4.2227735756718454e+00 1.6223929793670294e+01 - 46 1.5526017105694056e+01 1.6284929674841809e+01 2.0992367380450514e+01 - 47 1.3127375507045139e+01 5.9613317928545073e-01 1.1818646444579961e+01 - 48 1.1752015469377881e+01 4.2624365718078785e+00 9.3936741324803013e+00 - 49 -1.8079546156243201e-01 1.3484378614909382e+01 1.2968496634781358e+01 - 50 1.3977239289088862e+01 1.1069385506148057e+01 9.1718995954572584e+00 - 51 1.0501584745309099e+01 1.2924452952562842e+01 2.4635331182036264e+01 - 52 7.4312440416195518e+00 2.1362430287074549e+01 1.2684482744099313e+01 - 53 -3.9423378960196026e-01 1.2140650466573046e+01 5.2721840335806291e+00 - 54 1.6486724505756662e+00 2.5799329956672310e+01 2.2930937959414567e+01 - 55 1.1381714926886266e+01 1.9619404013427232e+01 2.4718571006780024e+01 - 56 4.2372057514979335e+00 1.0391112686338122e+01 9.4444056811085204e+00 - 57 8.1940113668230694e+00 7.1104968470235610e+00 6.6029641159913739e+00 - 58 7.4171987227707223e+00 1.0606486204110411e+01 9.2591371200280381e+00 - 59 9.8492228684575540e+00 7.4248619970948182e+00 9.9383790371280565e+00 - 60 1.0703930971193111e+01 9.6975089632661309e+00 6.9600296320772648e+00 - 61 8.6943568640125886e+00 9.9063210411691909e+00 8.7603044365223557e+00 - 62 1.7747505488128564e+01 2.5570881878277447e+01 2.5486645140403137e+01 - 63 2.4039569847433405e+01 1.8842330744592978e+01 2.5780922573255157e+01 - 64 1.2463187447287556e+01 1.2183741551363838e+01 8.7353181028151692e+00 + 1 2.7339063940784997e-01 1.0398584642438784e+00 1.3876677115623822e+01 + 2 1.5449478859210185e+01 3.9807646407771706e+00 3.8452108818218989e+00 + 3 3.7922292228486154e+00 8.3278982858858719e-01 3.4558764596299913e+00 + 4 2.9439022400900794e+00 2.9425316358213460e+00 1.4537815418061934e+01 + 5 1.5918282318857477e+00 1.9466923187369278e+00 2.4920164317022322e+00 + 6 2.6259096626027763e+00 5.3690548045118343e+00 4.7280720643143459e+00 + 7 4.4364149858373381e+00 1.8830106981777381e+00 4.3927140926847876e+00 + 8 8.9994919943878458e+00 1.0319333719054111e+01 3.1325190470862920e+00 + 9 6.2639430983643916e+00 3.5465942237364662e-01 4.4164563773324500e-01 + 10 1.3728947295581174e+01 5.9021794828109329e+00 8.3457490577608819e+00 + 11 2.1935266392605453e+01 2.7869586818581052e+01 8.7269386758322902e+00 + 12 2.6501417953214947e+01 9.2944515357453383e-01 2.9893694846480891e+01 + 13 8.0017868283361864e+00 -2.0480000477307078e-01 1.8886125899896180e+00 + 14 8.2751915063617449e+00 6.4950207170647731e+00 6.1408889527755424e+00 + 15 2.5492629057139158e+01 4.5129447136617618e+00 1.1790354529401226e+01 + 16 1.4548033550943442e+01 4.4129760535816764e+00 1.8762996654089177e+00 + 17 1.4501886004384486e+01 6.7172333741966659e+00 1.4946456457253671e+01 + 18 1.4380231352803651e+01 1.0657318078844025e+01 3.0305380619556992e+00 + 19 2.7117040760869258e+00 6.0958489966828280e+00 3.5888701332617345e+00 + 20 6.8588289047326523e+00 2.1685100075630384e+01 3.0689530559241094e+00 + 21 1.3970715864233743e+00 7.6485696628868984e+00 2.7541521458281810e+00 + 22 6.4444947706839140e-01 1.3543590120400586e+01 4.2755781402495483e+00 + 23 5.4068674827365575e+00 8.7086349833601417e+00 5.0428947328516447e+00 + 24 5.4312827345604582e+00 1.2571272098914946e+01 2.7852358900175327e+00 + 25 8.1530893267042561e+00 6.3515315765007285e+00 1.3439268304017853e+01 + 26 5.7966912448449950e+00 1.1833229940174480e+01 5.3217642673833669e+00 + 27 2.3267869472127863e+01 1.4309275826859356e+01 7.8963367708422210e+00 + 28 1.1260944199011011e+01 1.0982416624809950e+01 5.4781008218826555e-01 + 29 1.8364373932483506e+01 1.8114575936962201e+01 4.7963843887110995e+00 + 30 8.4699118725892095e+00 1.1831131679525390e+01 6.1292867917739171e+00 + 31 1.3574891076770147e+01 8.7336295926551148e+00 4.8188233566036978e+00 + 32 1.3385358645582031e+01 1.2337136139430978e+01 -1.1407537543363280e+00 + 33 1.4431254414797383e+01 1.4323270722985020e+01 7.3412982059852405e+00 + 34 1.3969015814731950e+01 3.0497527065417538e+00 1.1438193011115416e+01 + 35 2.8274612870452827e+00 1.3310596649189844e+01 1.0934800402627175e+01 + 36 4.1227796527672247e+00 5.0496833005488906e+00 5.0760639160996570e+00 + 37 1.0778865198577798e+00 1.7886986861195175e+00 1.9429656730727547e+01 + 38 2.1507912036772274e+00 5.0163999162886705e+00 1.3059973398218787e+01 + 39 4.7184837576582739e+00 1.8254210730825249e+00 1.2785375095381566e+01 + 40 1.0914698093337906e+01 1.0718509088271100e+01 1.6788193438507498e+01 + 41 1.3586481981709722e+01 -1.5239863081915879e+00 1.1745282987768370e+01 + 42 6.9398875726161808e+00 4.7619430688781792e+00 1.2768071567242616e+01 + 43 1.1588164715834184e+01 1.3899359269764020e+01 9.7231579194054252e+00 + 44 1.0965239173076537e+01 4.5248617513930398e+00 7.3388171142222944e+00 + 45 2.0005964012876234e+01 4.2227699805208117e+00 1.6223931818222106e+01 + 46 1.5526014505006465e+01 1.6284924134272789e+01 2.0992375692042025e+01 + 47 1.3127373945008495e+01 5.9613676972817820e-01 1.1818649380998295e+01 + 48 1.1752011760073165e+01 4.2624325952007052e+00 9.3936800804301743e+00 + 49 -1.8083114119102686e-01 1.3484382451495406e+01 1.2968496483400171e+01 + 50 1.3977230877784629e+01 1.1069395735976926e+01 9.1718913973014065e+00 + 51 1.0501583772570205e+01 1.2924455613895539e+01 2.4635326394635712e+01 + 52 7.4312466935226507e+00 2.1362429208023588e+01 1.2684489311596673e+01 + 53 -3.9423472393928005e-01 1.2140651778404555e+01 5.2721832783360920e+00 + 54 1.6486683063194796e+00 2.5799339448561621e+01 2.2930940200560425e+01 + 55 1.1381711105261633e+01 1.9619397164808387e+01 2.4718572378018937e+01 + 56 4.2371990707925189e+00 1.0391111164264462e+01 9.4444112139484186e+00 + 57 8.1940110299887845e+00 7.1104964509274149e+00 6.6029642542276257e+00 + 58 7.4171966479935518e+00 1.0606484741894738e+01 9.2591367752523972e+00 + 59 9.8492217557475890e+00 7.4248599602856826e+00 9.9383796190193223e+00 + 60 1.0703934587591242e+01 9.6975123527339750e+00 6.9600273027828559e+00 + 61 8.6943566928347042e+00 9.9063208481752607e+00 8.7603038680622749e+00 + 62 1.7747503909004458e+01 2.5570884925267926e+01 2.5486642748089793e+01 + 63 2.4039571595079909e+01 1.8842327788463692e+01 2.5780918017439593e+01 + 64 1.2463201275251899e+01 1.2183751842880715e+01 8.7353099160217837e+00 run_vdwl: 0 run_coul: 0 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.7651197008406392e-01 1.0415678720698729e+00 1.3872779280956753e+01 - 2 1.5449759395644167e+01 3.9855855054817644e+00 3.8461983571873790e+00 - 3 3.7911997862296709e+00 8.3904670578733764e-01 3.4596764550266497e+00 - 4 2.9451794453200502e+00 2.9429333416401793e+00 1.4539905421385628e+01 - 5 1.5928739082338745e+00 1.9493358736373028e+00 2.4923949279780495e+00 - 6 2.6287567021955258e+00 5.3687720704968056e+00 4.7294762789274083e+00 - 7 4.4371727251964055e+00 1.8849030266615783e+00 4.3950133233595050e+00 - 8 8.9995619482820768e+00 1.0323826143877110e+01 3.1392473059420039e+00 - 9 6.2661777272152639e+00 3.5669414245675257e-01 4.4142832480338445e-01 - 10 1.3727322971707833e+01 5.9063385106156829e+00 8.3518208426500653e+00 - 11 2.1926479844297599e+01 2.7870186233913397e+01 8.7321323974980842e+00 - 12 2.6499840856249261e+01 9.6334231599157905e-01 2.9894678616837652e+01 - 13 8.0083245849009455e+00 -2.0662691830711327e-01 1.8836318629385369e+00 - 14 8.2734278851929588e+00 6.4943521153642392e+00 6.1412708017805970e+00 - 15 2.5488061118032654e+01 4.5213547499959432e+00 1.1799158997410883e+01 - 16 1.4552510395622944e+01 4.4186293928129361e+00 1.8852988616957091e+00 - 17 1.4503677326625587e+01 6.7180175990614028e+00 1.4946852464355752e+01 - 18 1.4381409845727509e+01 1.0654931903189308e+01 3.0312435986608013e+00 - 19 2.7124833930550141e+00 6.0976684772914878e+00 3.5882411745935676e+00 - 20 6.8736353394442133e+00 2.1678276577478638e+01 3.0788227833491426e+00 - 21 1.3982101172000410e+00 7.6478016226010919e+00 2.7552664131408222e+00 - 22 6.4165287851175445e-01 1.3545380494978804e+01 4.2776533346466232e+00 - 23 5.4103203059394964e+00 8.7067977369120033e+00 5.0443785937167185e+00 - 24 5.4297787167004739e+00 1.2566179323562508e+01 2.7871981984985559e+00 - 25 8.1468708309406459e+00 6.3628954278084935e+00 1.3433082052665378e+01 - 26 5.8007775598268116e+00 1.1833060785653855e+01 5.3158441970938508e+00 - 27 2.3271898130087564e+01 1.4312479526039127e+01 7.8988005138596940e+00 - 28 1.1264982854142273e+01 1.0981090427962860e+01 5.5114657128401012e-01 - 29 1.8360475666296047e+01 1.8116213282364310e+01 4.8005153364581687e+00 - 30 8.4676827902592962e+00 1.1833601197660210e+01 6.1285507516936439e+00 - 31 1.3576019178494166e+01 8.7326484174082530e+00 4.8222850257089043e+00 - 32 1.3392834293156350e+01 1.2328158960160978e+01 -1.1499265946201753e+00 - 33 1.4430657860970262e+01 1.4322553032339890e+01 7.3429611976555123e+00 - 34 1.3968718066334933e+01 3.0501935928985864e+00 1.1437920471232577e+01 - 35 2.8282015137638550e+00 1.3315777129063504e+01 1.0935554228914423e+01 - 36 4.1367964153236239e+00 5.0566506601763361e+00 5.0786104316094578e+00 - 37 1.0703378922264071e+00 1.7823190196209198e+00 1.9433986085653753e+01 - 38 2.1530664235557073e+00 5.0165958073490193e+00 1.3059881276991907e+01 - 39 4.7199366925331354e+00 1.8255865421137283e+00 1.2784193925972824e+01 - 40 1.0921240412276147e+01 1.0721353053339275e+01 1.6787748198188012e+01 - 41 1.3583625314875771e+01 -1.5319616145707560e+00 1.1746213735704959e+01 - 42 6.9450188200223204e+00 4.7593292629512449e+00 1.2755291668492266e+01 - 43 1.1589742925168665e+01 1.3899892638039299e+01 9.7253294013139477e+00 - 44 1.0961867009301859e+01 4.5225370661374633e+00 7.3400899132574153e+00 - 45 2.0002822406002132e+01 4.2338956487569925e+00 1.6239535666450255e+01 - 46 1.5524528724029626e+01 1.6247843935047122e+01 2.0990184675085441e+01 - 47 1.3124986938639472e+01 5.9786426712579610e-01 1.1818358403314216e+01 - 48 1.1749182513644152e+01 4.2614857224962961e+00 9.3944809519814623e+00 - 49 -1.7518331942173446e-01 1.3483181307872760e+01 1.2965159543102937e+01 - 50 1.3975895178424322e+01 1.1073548771278318e+01 9.1725615152146194e+00 - 51 1.0503392645304775e+01 1.2909679177891126e+01 2.4643385301924013e+01 - 52 7.4419899358623356e+00 2.1356769669062444e+01 1.2684434373290401e+01 - 53 -3.8607658405206186e-01 1.2157465333393549e+01 5.2631428549295682e+00 - 54 1.6360271583187511e+00 2.5806448449298628e+01 2.2923307834686828e+01 - 55 1.1390250487781625e+01 1.9609063402086711e+01 2.4725021107985334e+01 - 56 4.2381343760165091e+00 1.0395725713994882e+01 9.4450980706100012e+00 - 57 8.1922339516941101e+00 7.1086378058488044e+00 6.6012158192831887e+00 - 58 7.4214030094107608e+00 1.0605483796243540e+01 9.2605304646178155e+00 - 59 9.8444881364839958e+00 7.4248108566067454e+00 9.9426307778310061e+00 - 60 1.0702238644489983e+01 9.6979949572741546e+00 6.9618733394800447e+00 - 61 8.6978096405466658e+00 9.9105244542061097e+00 8.7648658602181566e+00 - 62 1.7748711620965818e+01 2.5580453958857554e+01 2.5482823034836599e+01 - 63 2.4039899519931453e+01 1.8846637147914485e+01 2.5778055934319141e+01 - 64 1.2463078463241402e+01 1.2184586889655829e+01 8.7354368948584202e+00 + 1 2.7645928342823628e-01 1.0414874769541569e+00 1.3872797098516825e+01 + 2 1.5449745448213404e+01 3.9855889682500787e+00 3.8461846982438397e+00 + 3 3.7911963698636382e+00 8.3905020702338851e-01 3.4596804857200909e+00 + 4 2.9451805373111259e+00 2.9429360447301640e+00 1.4539895148633079e+01 + 5 1.5928640303290815e+00 1.9493297547333217e+00 2.4923829469251837e+00 + 6 2.6287557853063563e+00 5.3687719540688095e+00 4.7294772891780914e+00 + 7 4.4371739403868107e+00 1.8849017497472327e+00 4.3950131667175851e+00 + 8 8.9995552533340284e+00 1.0323814819903413e+01 3.1392565388523828e+00 + 9 6.2661710933366166e+00 3.5669104363007026e-01 4.4139344865180674e-01 + 10 1.3727321185765140e+01 5.9063384173823508e+00 8.3518213011316043e+00 + 11 2.1926468508652672e+01 2.7870210465669690e+01 8.7321479530188899e+00 + 12 2.6499844153058724e+01 9.6333797077266248e-01 2.9894689320447924e+01 + 13 8.0083236474777291e+00 -2.0662823393531574e-01 1.8836316231156054e+00 + 14 8.2734278269892751e+00 6.4943525019197601e+00 6.1412707790183365e+00 + 15 2.5488062874804260e+01 4.5213602111696538e+00 1.1799160787844972e+01 + 16 1.4552522552077164e+01 4.4186396154772440e+00 1.8852927829496786e+00 + 17 1.4503712415238203e+01 6.7180064720703658e+00 1.4946857421636633e+01 + 18 1.4381417038107156e+01 1.0654921699623603e+01 3.0312536171817612e+00 + 19 2.7124846362912209e+00 6.0976659150598191e+00 3.5882418308553188e+00 + 20 6.8736393061624899e+00 2.1678287592962189e+01 3.0788359545854989e+00 + 21 1.3982139967723153e+00 7.6477981913429236e+00 2.7552681437631419e+00 + 22 6.4165959030028696e-01 1.3545384100560090e+01 4.2776575229086742e+00 + 23 5.4103215168535854e+00 8.7067972627561456e+00 5.0443795559127391e+00 + 24 5.4297900680169500e+00 1.2566185041689424e+01 2.7871913745225161e+00 + 25 8.1468669639101581e+00 6.3628898647501009e+00 1.3433089797918450e+01 + 26 5.8007811688792899e+00 1.1833064445498119e+01 5.3158411580484470e+00 + 27 2.3271906822465620e+01 1.4312483920301059e+01 7.8987915691260380e+00 + 28 1.1264973350418927e+01 1.0981086093328537e+01 5.5113566639098988e-01 + 29 1.8360482750843289e+01 1.8116222197750265e+01 4.8005081911592908e+00 + 30 8.4676882156895292e+00 1.1833605316139382e+01 6.1285464872550097e+00 + 31 1.3576025097019080e+01 8.7326539393785705e+00 4.8222784679966155e+00 + 32 1.3392809588244059e+01 1.2328156756648957e+01 -1.1499105363143864e+00 + 33 1.4430681800164272e+01 1.4322588936507534e+01 7.3429758520213433e+00 + 34 1.3968732976270516e+01 3.0501910387948552e+00 1.1437925490838637e+01 + 35 2.8281989792122930e+00 1.3315789510170605e+01 1.0935554719620333e+01 + 36 4.1367993635988647e+00 5.0566533382073100e+00 5.0786081191192647e+00 + 37 1.0703547950036052e+00 1.7823323008988323e+00 1.9433983977291188e+01 + 38 2.1530749965147367e+00 5.0165971258695849e+00 1.3059876360959187e+01 + 39 4.7199391959772772e+00 1.8255922410203618e+00 1.2784187608356872e+01 + 40 1.0921241773228969e+01 1.0721353900841990e+01 1.6787748008063314e+01 + 41 1.3583625074225633e+01 -1.5319855542348462e+00 1.1746214735518668e+01 + 42 6.9450203445377880e+00 4.7593292234126858e+00 1.2755290109879242e+01 + 43 1.1589750720538559e+01 1.3899879825058838e+01 9.7253255001354439e+00 + 44 1.0961866377642739e+01 4.5225371936228944e+00 7.3400915139637259e+00 + 45 2.0002822688042535e+01 4.2338920307134398e+00 1.6239537657955605e+01 + 46 1.5524526110327377e+01 1.6247838396911423e+01 2.0990192968324511e+01 + 47 1.3124985358203457e+01 5.9786786463874553e-01 1.1818361316796681e+01 + 48 1.1749178820490608e+01 4.2614817541886705e+00 9.3944868952059188e+00 + 49 -1.7521891902775272e-01 1.3483185129164747e+01 1.2965159377047359e+01 + 50 1.3975886783039433e+01 1.1073558987514561e+01 9.1725533408802917e+00 + 51 1.0503391666236078e+01 1.2909681836133306e+01 2.4643380530938064e+01 + 52 7.4419925959909525e+00 2.1356768584097249e+01 1.2684440920085301e+01 + 53 -3.8607751569896770e-01 1.2157466643553416e+01 5.2631421085673731e+00 + 54 1.6360229488516205e+00 2.5806457903826317e+01 2.2923310115486363e+01 + 55 1.1390246660004443e+01 1.9609056547183688e+01 2.4725022474251180e+01 + 56 4.2381277162112960e+00 1.0395724192373043e+01 9.4451035915336430e+00 + 57 8.1922336154166828e+00 7.1086374091057305e+00 6.6012159565487876e+00 + 58 7.4214009399531689e+00 1.0605482334487448e+01 9.2605301160066631e+00 + 59 9.8444870318141771e+00 7.4248088210650991e+00 9.9426313645506497e+00 + 60 1.0702242256884325e+01 9.6979983507969294e+00 6.9618710188678543e+00 + 61 8.6978094734358660e+00 9.9105242643572851e+00 8.7648652912736189e+00 + 62 1.7748710075687107e+01 2.5580457003967556e+01 2.5482820645277481e+01 + 63 2.4039901318373158e+01 1.8846634202899530e+01 2.5778051415591129e+01 + 64 1.2463092247507770e+01 1.2184597182851650e+01 8.7354287381704836e+00 ... From 9cf790a2fed1ca3e55da0c31fb6f202b847ff3ff Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 29 Jul 2021 14:09:49 -0400 Subject: [PATCH 578/726] simplify and use fmtlib --- src/CG-DNA/bond_oxdna_fene.cpp | 60 +++++++++++++--------------------- src/CG-DNA/bond_oxdna_fene.h | 3 +- 2 files changed, 23 insertions(+), 40 deletions(-) diff --git a/src/CG-DNA/bond_oxdna_fene.cpp b/src/CG-DNA/bond_oxdna_fene.cpp index 483e54e809..0075ec6bb0 100644 --- a/src/CG-DNA/bond_oxdna_fene.cpp +++ b/src/CG-DNA/bond_oxdna_fene.cpp @@ -17,25 +17,30 @@ #include "bond_oxdna_fene.h" -#include #include "atom.h" -#include "neighbor.h" -#include "comm.h" -#include "update.h" -#include "force.h" -#include "memory.h" -#include "error.h" - #include "atom_vec_ellipsoid.h" +#include "comm.h" +#include "error.h" +#include "force.h" #include "math_extra.h" +#include "memory.h" +#include "neighbor.h" +#include "update.h" + +#include using namespace LAMMPS_NS; -/* ---------------------------------------------------------------------- */ - -BondOxdnaFene::BondOxdnaFene(LAMMPS *lmp) : Bond(lmp) +/* ---------------------------------------------------------------------- + compute vector COM-sugar-phosphate backbone interaction site in oxDNA +------------------------------------------------------------------------- */ +static void compute_interaction_sites(const double e1[3], double r[3]) { + constexpr double d_cs=-0.4; + r[0] = d_cs*e1[0]; + r[1] = d_cs*e1[1]; + r[2] = d_cs*e1[2]; } /* ---------------------------------------------------------------------- */ @@ -43,30 +48,14 @@ BondOxdnaFene::BondOxdnaFene(LAMMPS *lmp) : Bond(lmp) BondOxdnaFene::~BondOxdnaFene() { if (allocated) { - memory->destroy(setflag); memory->destroy(k); memory->destroy(Delta); memory->destroy(r0); - } } -/* ---------------------------------------------------------------------- - compute vector COM-sugar-phosphate backbone interaction site in oxDNA -------------------------------------------------------------------------- */ -void BondOxdnaFene::compute_interaction_sites(double e1[3], double /*e2*/[3], - double /*e3*/[3], double r[3]) -{ - double d_cs=-0.4; - - r[0] = d_cs*e1[0]; - r[1] = d_cs*e1[1]; - r[2] = d_cs*e1[2]; - -} - /* ---------------------------------------------------------------------- tally energy and virial into global and per-atom accumulators ------------------------------------------------------------------------- */ @@ -198,8 +187,8 @@ void BondOxdnaFene::compute(int eflag, int vflag) MathExtra::q_to_exyz(qb,bx,by,bz); // vector COM-backbone site a and b - compute_interaction_sites(ax,ay,az,ra_cs); - compute_interaction_sites(bx,by,bz,rb_cs); + compute_interaction_sites(ax,ra_cs); + compute_interaction_sites(bx,rb_cs); // vector backbone site b to a delr[0] = x[a][0] + ra_cs[0] - x[b][0] - rb_cs[0]; @@ -218,11 +207,8 @@ void BondOxdnaFene::compute(int eflag, int vflag) // if r > 2*Delta something serious is wrong, abort if (rlogarg < 0.1) { - char str[128]; - sprintf(str,"FENE bond too long: " BIGINT_FORMAT " " - TAGINT_FORMAT " " TAGINT_FORMAT " %g", - update->ntimestep,atom->tag[a],atom->tag[b],r); - error->warning(FLERR,str); + error->warning(FLERR,"FENE bond too long: {} {} {} {}", + update->ntimestep,atom->tag[a],atom->tag[b],r); rlogarg = 0.1; } @@ -398,10 +384,8 @@ double BondOxdnaFene::single(int type, double rsq, int /*i*/, int /*j*/, // if r > 2*Delta something serious is wrong, abort if (rlogarg < 0.1) { - char str[128]; - sprintf(str,"FENE bond too long: " BIGINT_FORMAT " %g", - update->ntimestep,sqrt(rsq)); - error->warning(FLERR,str); + error->warning(FLERR,"FENE bond too long: {} {:.8}", + update->ntimestep,sqrt(rsq)); rlogarg = 0.1; } diff --git a/src/CG-DNA/bond_oxdna_fene.h b/src/CG-DNA/bond_oxdna_fene.h index d0151da4af..6e2272d597 100644 --- a/src/CG-DNA/bond_oxdna_fene.h +++ b/src/CG-DNA/bond_oxdna_fene.h @@ -26,9 +26,8 @@ namespace LAMMPS_NS { class BondOxdnaFene : public Bond { public: - BondOxdnaFene(class LAMMPS *); + BondOxdnaFene(class LAMMPS *lmp) : Bond(lmp) {} virtual ~BondOxdnaFene(); - virtual void compute_interaction_sites(double *, double *, double *, double *); virtual void compute(int, int); void coeff(int, char **); void init_style(); From b5830b672a998ab45645540f88505c07bbb07129 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 29 Jul 2021 14:18:38 -0400 Subject: [PATCH 579/726] simplify logging code --- src/DIELECTRIC/fix_polarize_bem_gmres.cpp | 15 +++------- src/DRUDE/fix_drude.cpp | 35 +++++++++-------------- 2 files changed, 18 insertions(+), 32 deletions(-) diff --git a/src/DIELECTRIC/fix_polarize_bem_gmres.cpp b/src/DIELECTRIC/fix_polarize_bem_gmres.cpp index 5c52299b2a..667f0efc26 100644 --- a/src/DIELECTRIC/fix_polarize_bem_gmres.cpp +++ b/src/DIELECTRIC/fix_polarize_bem_gmres.cpp @@ -523,13 +523,9 @@ void FixPolarizeBEMGMRES::gmres_solve(double *x, double *r) rho = fabs(g[k]); #ifdef _POLARIZE_DEBUG - if (comm->me == 0) { - char message[256]; - sprintf(message, "itr = %d: k = %d, norm(r) = %g norm(b) = %g", itr, k, rho, normb); - error->warning(FLERR, message); - } + if (comm->me == 0) + error->warning(FLERR,"itr = {}: k = {}, norm(r) = {} norm(b) = {}", itr, k, rho, normb); #endif - if (rho <= rho_tol && rho <= tol_abs) break; } @@ -560,11 +556,8 @@ void FixPolarizeBEMGMRES::gmres_solve(double *x, double *r) rho = sqrt(vec_dot(r, r, n)); #ifdef _POLARIZE_DEBUG - if (comm->me == 0) { - char message[256]; - sprintf(message, "itr = %d: norm(r) = %g norm(b) = %g", itr, rho, normb); - error->warning(FLERR, message); - } + if (comm->me == 0) + error->warning(FLERR, "itr = {}: norm(r) = {} norm(b) = {}", itr, rho, normb); #endif // Barros et al. suggested the condition: norm(r) < EPSILON norm(b) diff --git a/src/DRUDE/fix_drude.cpp b/src/DRUDE/fix_drude.cpp index 1856b5455c..e0b313c35e 100644 --- a/src/DRUDE/fix_drude.cpp +++ b/src/DRUDE/fix_drude.cpp @@ -14,16 +14,16 @@ #include "fix_drude.h" -#include -#include #include "atom.h" +#include "atom_vec.h" #include "comm.h" -#include "modify.h" #include "error.h" #include "memory.h" +#include "modify.h" #include "molecule.h" -#include "atom_vec.h" +#include +#include #include #include @@ -311,20 +311,17 @@ void FixDrude::rebuild_special() { //build_drudeid(); // Log info - if (comm->me == 0) { - if (screen) fprintf(screen, "Rebuild special list taking Drude particles into account\n"); - if (logfile) fprintf(logfile, "Rebuild special list taking Drude particles into account\n"); - } + if (comm->me == 0) + utils::logmesg(lmp, "Rebuild special list taking Drude particles into account\n"); + int nspecmax, nspecmax_old, nspecmax_loc; nspecmax_loc = 0; for (int i=0; ime == 0) { - if (screen) fprintf(screen, "Old max number of 1-2 to 1-4 neighbors: %d\n", nspecmax_old); - if (logfile) fprintf(logfile, "Old max number of 1-2 to 1-4 neighbors: %d\n", nspecmax_old); - } + if (comm->me == 0) + utils::logmesg(lmp, "Old max number of 1-2 to 1-4 neighbors: {}\n", nspecmax_old); // Build lists of drude and core-drude pairs std::vector drude_vec, core_drude_vec, core_special_vec; @@ -351,15 +348,11 @@ void FixDrude::rebuild_special() { if (nspecmax_loc < nspecial[i][2]) nspecmax_loc = nspecial[i][2]; } MPI_Allreduce(&nspecmax_loc, &nspecmax, 1, MPI_INT, MPI_MAX, world); - if (comm->me == 0) { - if (screen) fprintf(screen, "New max number of 1-2 to 1-4 neighbors: %d (+%d)\n", nspecmax, nspecmax - nspecmax_old); - if (logfile) fprintf(logfile, "New max number of 1-2 to 1-4 neighbors: %d (+%d)\n", nspecmax, nspecmax - nspecmax_old); - } - if (atom->maxspecial < nspecmax) { - char str[1024]; - sprintf(str, "Not enough space in special: extra/special/per/atom should be at least %d", nspecmax - nspecmax_old); - error->all(FLERR, str); - } + if (comm->me == 0) + utils::logmesg(lmp, "New max number of 1-2 to 1-4 neighbors: {} (+{})\n", nspecmax, nspecmax - nspecmax_old); + + if (atom->maxspecial < nspecmax) + error->all(FLERR, "Not enough space in special: extra/special/per/atom should be at least {}", nspecmax - nspecmax_old); // Build list of cores' special lists to communicate to ghost drude particles for (int i=0; i Date: Thu, 29 Jul 2021 14:33:41 -0400 Subject: [PATCH 580/726] simplify and use utils functions --- src/EXTRA-COMPUTE/compute_cnp_atom.cpp | 14 +++------ src/EXTRA-FIX/fix_ave_correlate_long.cpp | 8 ++--- src/EXTRA-FIX/fix_electron_stopping.cpp | 7 ++--- src/EXTRA-FIX/fix_gle.cpp | 40 +++++++++--------------- src/EXTRA-FIX/fix_tmd.cpp | 8 ++--- src/EXTRA-FIX/fix_ttm_mod.cpp | 34 +++++++++----------- 6 files changed, 42 insertions(+), 69 deletions(-) diff --git a/src/EXTRA-COMPUTE/compute_cnp_atom.cpp b/src/EXTRA-COMPUTE/compute_cnp_atom.cpp index 350567004e..a056b4c991 100644 --- a/src/EXTRA-COMPUTE/compute_cnp_atom.cpp +++ b/src/EXTRA-COMPUTE/compute_cnp_atom.cpp @@ -204,11 +204,8 @@ void ComputeCNPAtom::compute_peratom() int nerrorall; MPI_Allreduce(&nerror,&nerrorall,1,MPI_INT,MPI_SUM,world); - if (nerrorall && comm->me == 0) { - char str[128]; - sprintf(str,"Too many neighbors in CNP for %d atoms",nerrorall); - error->warning(FLERR,str); - } + if (nerrorall && comm->me == 0) + error->warning(FLERR,"Too many neighbors in CNP for {} atoms",nerrorall); // compute CNP value for each atom in group // only performed if # of nearest neighbors = 12 or 14 (fcc,hcp) @@ -311,11 +308,8 @@ void ComputeCNPAtom::compute_peratom() // warning message MPI_Allreduce(&nerror,&nerrorall,1,MPI_INT,MPI_SUM,world); - if (nerrorall && comm->me == 0) { - char str[128]; - sprintf(str,"Too many common neighbors in CNP %d times",nerrorall); - error->warning(FLERR,str); - } + if (nerrorall && comm->me == 0) + error->warning(FLERR,"Too many common neighbors in CNP {} times",nerrorall); } /* ---------------------------------------------------------------------- diff --git a/src/EXTRA-FIX/fix_ave_correlate_long.cpp b/src/EXTRA-FIX/fix_ave_correlate_long.cpp index b45823d509..32a304d08f 100644 --- a/src/EXTRA-FIX/fix_ave_correlate_long.cpp +++ b/src/EXTRA-FIX/fix_ave_correlate_long.cpp @@ -145,11 +145,9 @@ FixAveCorrelateLong::FixAveCorrelateLong(LAMMPS * lmp, int narg, char **arg): error->all(FLERR,"Illegal fix ave/correlate/long command"); if (me == 0) { fp = fopen(arg[iarg+1],"w"); - if (fp == nullptr) { - char str[128]; - snprintf(str,128,"Cannot open fix ave/correlate/long file %s",arg[iarg+1]); - error->one(FLERR,str); - } + if (fp == nullptr) + error->one(FLERR,"Cannot open fix ave/correlate/long file {}: {}", + arg[iarg+1],utils::getsyserror()); } iarg += 2; } else if (strcmp(arg[iarg],"overwrite") == 0) { diff --git a/src/EXTRA-FIX/fix_electron_stopping.cpp b/src/EXTRA-FIX/fix_electron_stopping.cpp index e6aedb014b..bd54fea97d 100644 --- a/src/EXTRA-FIX/fix_electron_stopping.cpp +++ b/src/EXTRA-FIX/fix_electron_stopping.cpp @@ -243,11 +243,8 @@ void FixElectronStopping::read_table(const char *file) char line[MAXLINE]; FILE *fp = utils::open_potential(file,lmp,nullptr); - if (fp == nullptr) { - char str[128]; - snprintf(str, 128, "Cannot open stopping range table %s", file); - error->one(FLERR, str); - } + if (fp == nullptr) + error->one(FLERR,"Cannot open stopping range table {}: {}", file, utils::getsyserror()); const int ncol = atom->ntypes + 1; diff --git a/src/EXTRA-FIX/fix_gle.cpp b/src/EXTRA-FIX/fix_gle.cpp index 782ea89792..563295d8c1 100644 --- a/src/EXTRA-FIX/fix_gle.cpp +++ b/src/EXTRA-FIX/fix_gle.cpp @@ -19,18 +19,18 @@ #include "fix_gle.h" +#include "atom.h" +#include "comm.h" +#include "error.h" +#include "force.h" +#include "memory.h" +#include "random_mars.h" +#include "respa.h" +#include "update.h" + #include #include -#include "atom.h" -#include "force.h" -#include "update.h" -#include "respa.h" -#include "comm.h" -#include "random_mars.h" -#include "memory.h" -#include "error.h" - using namespace LAMMPS_NS; using namespace FixConst; @@ -225,13 +225,9 @@ FixGLE::FixGLE(LAMMPS *lmp, int narg, char **arg) : char *fname = arg[7]; if (comm->me == 0) { fgle = utils::open_potential(fname,lmp,nullptr); - if (fgle == nullptr) { - char str[128]; - snprintf(str,128,"Cannot open A-matrix file %s",fname); - error->one(FLERR,str); - } - if (screen) fprintf(screen,"Reading A-matrix from %s\n", fname); - if (logfile) fprintf(logfile,"Reading A-matrix from %s\n", fname); + if (fgle == nullptr) + error->one(FLERR,"Cannot open A-matrix file {}: {}",fname, utils::getsyserror()); + utils::logmesg(lmp,"Reading A-matrix from {}\n", fname); } // read each line of the file, skipping blank lines or leading '#' @@ -295,15 +291,9 @@ FixGLE::FixGLE(LAMMPS *lmp, int narg, char **arg) : } else { if (comm->me == 0) { fgle = utils::open_potential(fname,lmp,nullptr); - if (fgle == nullptr) { - char str[128]; - snprintf(str,128,"Cannot open C-matrix file %s",fname); - error->one(FLERR,str); - } - if (screen) - fprintf(screen,"Reading C-matrix from %s\n", fname); - if (logfile) - fprintf(logfile,"Reading C-matrix from %s\n", fname); + if (fgle == nullptr) + error->one(FLERR,"Cannot open C-matrix file {}: {}",fname, utils::getsyserror()); + utils::logmesg(lmp,"Reading C-matrix from {}\n", fname); } // read each line of the file, skipping blank lines or leading '#' diff --git a/src/EXTRA-FIX/fix_tmd.cpp b/src/EXTRA-FIX/fix_tmd.cpp index c8dd39910b..335c1a5e6b 100644 --- a/src/EXTRA-FIX/fix_tmd.cpp +++ b/src/EXTRA-FIX/fix_tmd.cpp @@ -75,8 +75,7 @@ nfileevery(0), fp(nullptr), xf(nullptr), xold(nullptr) if (me == 0) { fp = fopen(arg[6],"w"); if (fp == nullptr) - error->one(FLERR,"Cannot open fix tmd file {}: {}", - arg[6], utils::getsyserror()); + error->one(FLERR,"Cannot open fix tmd file {}: {}", arg[6], utils::getsyserror()); fprintf(fp,"%s %s\n","# Step rho_target rho_old gamma_back", "gamma_forward lambda work_lambda work_analytical"); } @@ -381,7 +380,7 @@ int FixTMD::unpack_exchange(int nlocal, double *buf) void FixTMD::readfile(char *file) { if (me == 0) { - if (screen) fprintf(screen,"Reading TMD target file %s ...\n",file); + utils::logmesg(lmp,"Reading TMD target file {} ...\n",file); open(file); } @@ -541,8 +540,7 @@ void FixTMD::open(char *file) } if (fp == nullptr) - error->one(FLERR,"Cannot open file {}: {}", - file, utils::getsyserror()); + error->one(FLERR,"Cannot open file {}: {}",file, utils::getsyserror()); } /* ---------------------------------------------------------------------- */ diff --git a/src/EXTRA-FIX/fix_ttm_mod.cpp b/src/EXTRA-FIX/fix_ttm_mod.cpp index 211b2eadb2..7d89d89e6f 100644 --- a/src/EXTRA-FIX/fix_ttm_mod.cpp +++ b/src/EXTRA-FIX/fix_ttm_mod.cpp @@ -20,22 +20,21 @@ #include "fix_ttm_mod.h" +#include "atom.h" +#include "citeme.h" +#include "comm.h" +#include "domain.h" +#include "error.h" +#include "force.h" +#include "math_const.h" +#include "memory.h" +#include "random_mars.h" +#include "respa.h" +#include "tokenizer.h" +#include "update.h" + #include #include -#include "atom.h" -#include "force.h" -#include "update.h" -#include "domain.h" -#include "respa.h" -#include "comm.h" -#include "random_mars.h" -#include "memory.h" -#include "error.h" -#include "citeme.h" -#include "math_const.h" - - -#include "tokenizer.h" using namespace LAMMPS_NS; using namespace FixConst; @@ -104,11 +103,8 @@ FixTTMMod::FixTTMMod(LAMMPS *lmp, int narg, char **arg) : if (narg != 11) error->all(FLERR,"Illegal fix ttm/mod command"); if (comm->me == 0) { fp = fopen(arg[10],"w"); - if (fp == nullptr) { - char str[128]; - snprintf(str,128,"Cannot open fix ttm/mod file %s",arg[10]); - error->one(FLERR,str); - } + if (fp == nullptr) + error->one(FLERR,"Cannot open fix ttm/mod file {}: {}",arg[10],utils::getsyserror()); } } From ebe5e6c02492e8ea3eae4607e6c6096b5a3da462 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 29 Jul 2021 14:44:15 -0400 Subject: [PATCH 581/726] reformat --- src/INTERLAYER/pair_coul_shield.cpp | 223 ++++++++++++++-------------- 1 file changed, 115 insertions(+), 108 deletions(-) diff --git a/src/INTERLAYER/pair_coul_shield.cpp b/src/INTERLAYER/pair_coul_shield.cpp index 2cda85ead6..dbb12abf2e 100644 --- a/src/INTERLAYER/pair_coul_shield.cpp +++ b/src/INTERLAYER/pair_coul_shield.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -20,22 +19,24 @@ ------------------------------------------------------------------------- */ #include "pair_coul_shield.h" -#include + #include "atom.h" #include "comm.h" -#include "force.h" -#include "neighbor.h" -#include "neigh_list.h" -#include "memory.h" -#include "math_special.h" #include "error.h" +#include "force.h" +#include "math_special.h" +#include "memory.h" +#include "neigh_list.h" +#include "neighbor.h" +#include using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -PairCoulShield::PairCoulShield(LAMMPS *lmp) : Pair(lmp) { +PairCoulShield::PairCoulShield(LAMMPS *lmp) : Pair(lmp) +{ tap_flag = 1; } @@ -57,13 +58,13 @@ PairCoulShield::~PairCoulShield() void PairCoulShield::compute(int eflag, int vflag) { - int i,j,ii,jj,inum,jnum,itype,jtype; - double qtmp,xtmp,ytmp,ztmp,delx,dely,delz,ecoul,fpair,Tap,dTap; - double rsq,r,r3,rarg,th,depsdr,epsr,forcecoul,factor_coul,Vc,fvc; - int *ilist,*jlist,*numneigh,**firstneigh; + int i, j, ii, jj, inum, jnum, itype, jtype; + double qtmp, xtmp, ytmp, ztmp, delx, dely, delz, ecoul, fpair, Tap, dTap; + double rsq, r, r3, rarg, th, depsdr, epsr, forcecoul, factor_coul, Vc, fvc; + int *ilist, *jlist, *numneigh, **firstneigh; ecoul = 0.0; - ev_init(eflag,vflag); + ev_init(eflag, vflag); double **x = atom->x; double **f = atom->f; @@ -100,47 +101,51 @@ void PairCoulShield::compute(int eflag, int vflag) delx = xtmp - x[j][0]; dely = ytmp - x[j][1]; delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; + rsq = delx * delx + dely * dely + delz * delz; jtype = type[j]; // only include the interaction between different layers if (rsq < cutsq[itype][jtype] && atom->molecule[i] != atom->molecule[j]) { r = sqrt(rsq); - r3 = rsq*r; - rarg = 1.0/sigmae[itype][jtype]; + r3 = rsq * r; + rarg = 1.0 / sigmae[itype][jtype]; th = r3 + MathSpecial::cube(rarg); - epsr = 1.0/pow(th,0.333333333333333333333333); + epsr = 1.0 / pow(th, 1.0 / 3.0); depsdr = MathSpecial::square(epsr); depsdr *= depsdr; - Vc = qqrd2e*qtmp*q[j]*epsr; + Vc = qqrd2e * qtmp * q[j] * epsr; // turn on/off taper function if (tap_flag) { - Tap = calc_Tap(r,cut[itype][jtype]); - dTap = calc_dTap(r,cut[itype][jtype]); - } else {Tap = 1.0; dTap = 0.0;} + Tap = calc_Tap(r, cut[itype][jtype]); + dTap = calc_dTap(r, cut[itype][jtype]); + } else { + Tap = 1.0; + dTap = 0.0; + } - forcecoul = qqrd2e*qtmp*q[j]*r*depsdr; - fvc = forcecoul*Tap - Vc*dTap/r; - fpair = factor_coul*fvc; + forcecoul = qqrd2e * qtmp * q[j] * r * depsdr; + fvc = forcecoul * Tap - Vc * dTap / r; + fpair = factor_coul * fvc; - f[i][0] += delx*fpair; - f[i][1] += dely*fpair; - f[i][2] += delz*fpair; + f[i][0] += delx * fpair; + f[i][1] += dely * fpair; + f[i][2] += delz * fpair; if (newton_pair || j < nlocal) { - f[j][0] -= delx*fpair; - f[j][1] -= dely*fpair; - f[j][2] -= delz*fpair; + f[j][0] -= delx * fpair; + f[j][1] -= dely * fpair; + f[j][2] -= delz * fpair; } if (eflag) { - if (tap_flag) ecoul = Vc*Tap; - else ecoul = Vc - offset[itype][jtype]; + if (tap_flag) + ecoul = Vc * Tap; + else + ecoul = Vc - offset[itype][jtype]; ecoul *= factor_coul; } - if (evflag) ev_tally(i,j,nlocal,newton_pair,0.0, - ecoul,fpair,delx,dely,delz); + if (evflag) ev_tally(i, j, nlocal, newton_pair, 0.0, ecoul, fpair, delx, dely, delz); } } } @@ -157,15 +162,14 @@ void PairCoulShield::allocate() allocated = 1; int n = atom->ntypes; - memory->create(setflag,n+1,n+1,"pair:setflag"); + memory->create(setflag, n + 1, n + 1, "pair:setflag"); for (int i = 1; i <= n; i++) - for (int j = i; j <= n; j++) - setflag[i][j] = 0; + for (int j = i; j <= n; j++) setflag[i][j] = 0; - memory->create(cutsq,n+1,n+1,"pair:cutsq"); - memory->create(cut,n+1,n+1,"pair:cut"); - memory->create(sigmae,n+1,n+1,"pair:sigmae"); - memory->create(offset,n+1,n+1,"pair:offset"); + memory->create(cutsq, n + 1, n + 1, "pair:cutsq"); + memory->create(cut, n + 1, n + 1, "pair:cut"); + memory->create(sigmae, n + 1, n + 1, "pair:sigmae"); + memory->create(offset, n + 1, n + 1, "pair:offset"); } /* ---------------------------------------------------------------------- @@ -174,17 +178,17 @@ void PairCoulShield::allocate() void PairCoulShield::settings(int narg, char **arg) { - if (narg < 1 || narg > 2) error->all(FLERR,"Illegal pair_style command"); + if (narg < 1 || narg > 2) error->all(FLERR, "Illegal pair_style command"); - cut_global = utils::numeric(FLERR,arg[0],false,lmp); - if (narg == 2) tap_flag = utils::numeric(FLERR,arg[1],false,lmp); + cut_global = utils::numeric(FLERR, arg[0], false, lmp); + if (narg == 2) tap_flag = utils::numeric(FLERR, arg[1], false, lmp); // reset cutoffs that have been explicitly set if (allocated) { - int i,j; + int i, j; for (i = 1; i <= atom->ntypes; i++) - for (j = i+1; j <= atom->ntypes; j++) + for (j = i + 1; j <= atom->ntypes; j++) if (setflag[i][j]) cut[i][j] = cut_global; } } @@ -195,21 +199,21 @@ void PairCoulShield::settings(int narg, char **arg) void PairCoulShield::coeff(int narg, char **arg) { - if (narg < 3 || narg > 4) error->all(FLERR,"Incorrect args for pair coefficients"); + if (narg < 3 || narg > 4) error->all(FLERR, "Incorrect args for pair coefficients"); if (!allocated) allocate(); - int ilo,ihi,jlo,jhi; - utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); - utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); + int ilo, ihi, jlo, jhi; + utils::bounds(FLERR, arg[0], 1, atom->ntypes, ilo, ihi, error); + utils::bounds(FLERR, arg[1], 1, atom->ntypes, jlo, jhi, error); - double sigmae_one = utils::numeric(FLERR,arg[2],false,lmp); + double sigmae_one = utils::numeric(FLERR, arg[2], false, lmp); double cut_one = cut_global; - if (narg == 4) cut_one = utils::numeric(FLERR,arg[3],false,lmp); + if (narg == 4) cut_one = utils::numeric(FLERR, arg[3], false, lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { - for (int j = MAX(jlo,i); j <= jhi; j++) { + for (int j = MAX(jlo, i); j <= jhi; j++) { sigmae[i][j] = sigmae_one; cut[i][j] = cut_one; setflag[i][j] = 1; @@ -217,22 +221,20 @@ void PairCoulShield::coeff(int narg, char **arg) } } - if (count == 0) error->all(FLERR,"Incorrect args for pair coefficients"); + if (count == 0) error->all(FLERR, "Incorrect args for pair coefficients"); } - /* ---------------------------------------------------------------------- init specific to this pair style ------------------------------------------------------------------------- */ void PairCoulShield::init_style() { - if (!atom->q_flag) - error->all(FLERR,"Pair style coul/shield requires atom attribute q"); + if (!atom->q_flag) error->all(FLERR, "Pair style coul/shield requires atom attribute q"); if (!atom->molecule_flag) - error->all(FLERR,"Pair style coul/shield requires atom attribute molecule"); + error->all(FLERR, "Pair style coul/shield requires atom attribute molecule"); - neighbor->request(this,instance_me); + neighbor->request(this, instance_me); } /* ---------------------------------------------------------------------- @@ -242,22 +244,23 @@ void PairCoulShield::init_style() double PairCoulShield::init_one(int i, int j) { if (setflag[i][j] == 0) { - error->all(FLERR,"for pair style coul/shield, parameters need to be set explicitly for all pairs."); + error->all(FLERR, + "for pair style coul/shield, parameters need to be set explicitly for all pairs."); } double *q = atom->q; double qqrd2e = force->qqrd2e; - double r,r3,rarg,th,epsr; + double r, r3, rarg, th, epsr; if (offset_flag) { - r = cut[i][j]; - r3 = r*r*r; - rarg = 1.0/sigmae[i][j]; - th = r3 + MathSpecial::cube(rarg); - epsr = 1.0/pow(th,0.333333333333333333); - offset[i][j] = qqrd2e*q[i]*q[j]*epsr; - } else offset[i][j] = 0.0; - + r = cut[i][j]; + r3 = r * r * r; + rarg = 1.0 / sigmae[i][j]; + th = r3 + MathSpecial::cube(rarg); + epsr = 1.0 / pow(th, 1.0/3.0); + offset[i][j] = qqrd2e * q[i] * q[j] * epsr; + } else + offset[i][j] = 0.0; sigmae[j][i] = sigmae[i][j]; offset[j][i] = offset[i][j]; @@ -274,13 +277,13 @@ void PairCoulShield::write_restart(FILE *fp) { write_restart_settings(fp); - int i,j; + int i, j; for (i = 1; i <= atom->ntypes; i++) for (j = i; j <= atom->ntypes; j++) { - fwrite(&setflag[i][j],sizeof(int),1,fp); + fwrite(&setflag[i][j], sizeof(int), 1, fp); if (setflag[i][j]) { - fwrite(&sigmae[i][j],sizeof(double),1,fp); - fwrite(&cut[i][j],sizeof(double),1,fp); + fwrite(&sigmae[i][j], sizeof(double), 1, fp); + fwrite(&cut[i][j], sizeof(double), 1, fp); } } } @@ -294,19 +297,19 @@ void PairCoulShield::read_restart(FILE *fp) read_restart_settings(fp); allocate(); - int i,j; + int i, j; int me = comm->me; for (i = 1; i <= atom->ntypes; i++) for (j = i; j <= atom->ntypes; j++) { - if (me == 0) utils::sfread(FLERR,&setflag[i][j],sizeof(int),1,fp,nullptr,error); - MPI_Bcast(&setflag[i][j],1,MPI_INT,0,world); + if (me == 0) utils::sfread(FLERR, &setflag[i][j], sizeof(int), 1, fp, nullptr, error); + MPI_Bcast(&setflag[i][j], 1, MPI_INT, 0, world); if (setflag[i][j]) { if (me == 0) { - utils::sfread(FLERR,&sigmae[i][j],sizeof(double),1,fp,nullptr,error); - utils::sfread(FLERR,&cut[i][j],sizeof(double),1,fp,nullptr,error); + utils::sfread(FLERR, &sigmae[i][j], sizeof(double), 1, fp, nullptr, error); + utils::sfread(FLERR, &cut[i][j], sizeof(double), 1, fp, nullptr, error); } - MPI_Bcast(&sigmae[i][j],1,MPI_DOUBLE,0,world); - MPI_Bcast(&cut[i][j],1,MPI_DOUBLE,0,world); + MPI_Bcast(&sigmae[i][j], 1, MPI_DOUBLE, 0, world); + MPI_Bcast(&cut[i][j], 1, MPI_DOUBLE, 0, world); } } } @@ -317,9 +320,9 @@ void PairCoulShield::read_restart(FILE *fp) void PairCoulShield::write_restart_settings(FILE *fp) { - fwrite(&cut_global,sizeof(double),1,fp); - fwrite(&offset_flag,sizeof(int),1,fp); - fwrite(&mix_flag,sizeof(int),1,fp); + fwrite(&cut_global, sizeof(double), 1, fp); + fwrite(&offset_flag, sizeof(int), 1, fp); + fwrite(&mix_flag, sizeof(int), 1, fp); } /* ---------------------------------------------------------------------- @@ -329,23 +332,22 @@ void PairCoulShield::write_restart_settings(FILE *fp) void PairCoulShield::read_restart_settings(FILE *fp) { if (comm->me == 0) { - utils::sfread(FLERR,&cut_global,sizeof(double),1,fp,nullptr,error); - utils::sfread(FLERR,&offset_flag,sizeof(int),1,fp,nullptr,error); - utils::sfread(FLERR,&mix_flag,sizeof(int),1,fp,nullptr,error); + utils::sfread(FLERR, &cut_global, sizeof(double), 1, fp, nullptr, error); + utils::sfread(FLERR, &offset_flag, sizeof(int), 1, fp, nullptr, error); + utils::sfread(FLERR, &mix_flag, sizeof(int), 1, fp, nullptr, error); } - MPI_Bcast(&cut_global,1,MPI_DOUBLE,0,world); - MPI_Bcast(&offset_flag,1,MPI_INT,0,world); - MPI_Bcast(&mix_flag,1,MPI_INT,0,world); + MPI_Bcast(&cut_global, 1, MPI_DOUBLE, 0, world); + MPI_Bcast(&offset_flag, 1, MPI_INT, 0, world); + MPI_Bcast(&mix_flag, 1, MPI_INT, 0, world); } /* ---------------------------------------------------------------------- */ -double PairCoulShield::single(int i, int j, int itype, int jtype, - double rsq, double factor_coul, double /*factor_lj*/, - double &fforce) +double PairCoulShield::single(int i, int j, int itype, int jtype, double rsq, double factor_coul, + double /*factor_lj*/, double &fforce) { - double r, rarg,Vc,fvc,forcecoul,phishieldec; - double r3,th,epsr,depsdr,Tap,dTap; + double r, rarg, Vc, fvc, forcecoul, phishieldec; + double r3, th, epsr, depsdr, Tap, dTap; double *q = atom->q; double qqrd2e = force->qqrd2e; @@ -357,25 +359,30 @@ double PairCoulShield::single(int i, int j, int itype, int jtype, } r = sqrt(rsq); - r3 = rsq*r; - rarg = 1.0/sigmae[itype][jtype]; + r3 = rsq * r; + rarg = 1.0 / sigmae[itype][jtype]; th = r3 + MathSpecial::cube(rarg); - epsr = 1.0/pow(th,0.333333333333333333); - depsdr = epsr*epsr; + epsr = 1.0 / pow(th, 1.0/3.0); + depsdr = epsr * epsr; depsdr *= depsdr; - Vc = qqrd2e*q[i]*q[j]*epsr; + Vc = qqrd2e * q[i] * q[j] * epsr; // turn on/off taper function if (tap_flag) { - Tap = calc_Tap(r,cut[itype][jtype]); - dTap = calc_dTap(r,cut[itype][jtype]); - } else {Tap = 1.0; dTap = 0.0;} + Tap = calc_Tap(r, cut[itype][jtype]); + dTap = calc_dTap(r, cut[itype][jtype]); + } else { + Tap = 1.0; + dTap = 0.0; + } - forcecoul = qqrd2e*q[i]*q[j]*r*depsdr; - fvc = forcecoul*Tap - Vc*dTap/r; - fforce = factor_coul*fvc; + forcecoul = qqrd2e * q[i] * q[j] * r * depsdr; + fvc = forcecoul * Tap - Vc * dTap / r; + fforce = factor_coul * fvc; - if (tap_flag) phishieldec = Vc*Tap; - else phishieldec = Vc - offset[itype][jtype]; - return factor_coul*phishieldec; + if (tap_flag) + phishieldec = Vc * Tap; + else + phishieldec = Vc - offset[itype][jtype]; + return factor_coul * phishieldec; } From 520109bda0a073c387c03ebc179bda49744883a0 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 29 Jul 2021 14:44:45 -0400 Subject: [PATCH 582/726] simplify --- src/INTERLAYER/pair_drip.cpp | 7 ++--- src/INTERLAYER/pair_ilp_graphene_hbn.cpp | 7 ++--- .../pair_kolmogorov_crespi_full.cpp | 7 ++--- src/INTERLAYER/pair_kolmogorov_crespi_z.cpp | 7 ++--- src/INTERLAYER/pair_lebedeva_z.cpp | 4 +-- src/MANYBODY/pair_edip.cpp | 7 ++--- src/MANYBODY/pair_edip_multi.cpp | 7 ++--- src/MANYBODY/pair_extep.cpp | 7 ++--- src/MANYBODY/pair_lcbop.cpp | 7 ++--- src/MANYBODY/pair_local_density.cpp | 28 ++++++++----------- src/MANYBODY/pair_meam_spline.cpp | 7 ++--- src/MANYBODY/pair_meam_sw_spline.cpp | 7 ++--- 12 files changed, 34 insertions(+), 68 deletions(-) diff --git a/src/INTERLAYER/pair_drip.cpp b/src/INTERLAYER/pair_drip.cpp index a59d74bab9..71281623ac 100644 --- a/src/INTERLAYER/pair_drip.cpp +++ b/src/INTERLAYER/pair_drip.cpp @@ -161,11 +161,8 @@ void PairDRIP::read_file(char *filename) FILE *fp; if (comm->me == 0) { fp = utils::open_potential(filename,lmp,nullptr); - if (fp == nullptr) { - char str[128]; - snprintf(str,128,"Cannot open DRIP potential file %s",filename); - error->one(FLERR,str); - } + if (fp == nullptr) + error->one(FLERR,"Cannot open DRIP potential file {}: {}",filename,utils::getsyserror()); } // read each line out of file, skipping blank lines or leading '#' diff --git a/src/INTERLAYER/pair_ilp_graphene_hbn.cpp b/src/INTERLAYER/pair_ilp_graphene_hbn.cpp index 8317567f69..3a35c281c1 100644 --- a/src/INTERLAYER/pair_ilp_graphene_hbn.cpp +++ b/src/INTERLAYER/pair_ilp_graphene_hbn.cpp @@ -202,11 +202,8 @@ void PairILPGrapheneHBN::read_file(char *filename) FILE *fp; if (comm->me == 0) { fp = utils::open_potential(filename,lmp,nullptr); - if (fp == nullptr) { - char str[128]; - snprintf(str,128,"Cannot open ILP potential file %s",filename); - error->one(FLERR,str); - } + if (fp == nullptr) + error->one(FLERR,"Cannot open ILP potential file {}: {}",filename,utils::getsyserror()); } // read each line out of file, skipping blank lines or leading '#' diff --git a/src/INTERLAYER/pair_kolmogorov_crespi_full.cpp b/src/INTERLAYER/pair_kolmogorov_crespi_full.cpp index c5a2781762..bd5050401e 100644 --- a/src/INTERLAYER/pair_kolmogorov_crespi_full.cpp +++ b/src/INTERLAYER/pair_kolmogorov_crespi_full.cpp @@ -203,11 +203,8 @@ void PairKolmogorovCrespiFull::read_file(char *filename) FILE *fp; if (comm->me == 0) { fp = utils::open_potential(filename,lmp,nullptr); - if (fp == nullptr) { - char str[128]; - snprintf(str,128,"Cannot open KC potential file %s",filename); - error->one(FLERR,str); - } + if (fp == nullptr) + error->one(FLERR,"Cannot open KC potential file {}: {}",filename,utils::getsyserror()); } // read each line out of file, skipping blank lines or leading '#' diff --git a/src/INTERLAYER/pair_kolmogorov_crespi_z.cpp b/src/INTERLAYER/pair_kolmogorov_crespi_z.cpp index d5a60bd2c9..481e9f6604 100644 --- a/src/INTERLAYER/pair_kolmogorov_crespi_z.cpp +++ b/src/INTERLAYER/pair_kolmogorov_crespi_z.cpp @@ -280,11 +280,8 @@ void PairKolmogorovCrespiZ::read_file(char *filename) FILE *fp; if (comm->me == 0) { fp = utils::open_potential(filename,lmp,nullptr); - if (fp == nullptr) { - char str[128]; - snprintf(str,128,"Cannot open KC potential file %s",filename); - error->one(FLERR,str); - } + if (fp == nullptr) + error->one(FLERR,"Cannot open KC potential file {}: {}",filename, utils::getsyserror()); } // read each line out of file, skipping blank lines or leading '#' diff --git a/src/INTERLAYER/pair_lebedeva_z.cpp b/src/INTERLAYER/pair_lebedeva_z.cpp index 57e9535a1c..13a7797534 100644 --- a/src/INTERLAYER/pair_lebedeva_z.cpp +++ b/src/INTERLAYER/pair_lebedeva_z.cpp @@ -187,8 +187,8 @@ void PairLebedevaZ::allocate() void PairLebedevaZ::settings(int narg, char **arg) { if (narg != 1) error->all(FLERR,"Illegal pair_style command"); - if (strcmp(force->pair_style,"hybrid/overlay")!=0) - error->all(FLERR,"ERROR: requires hybrid/overlay pair_style"); + if (!utils::strmatch(force->pair_style,"^hybrid/overlay")) + error->all(FLERR,"Pair style lebedeva/z requires using hybrid/overlay"); cut_global = utils::numeric(FLERR,arg[0],false,lmp); diff --git a/src/MANYBODY/pair_edip.cpp b/src/MANYBODY/pair_edip.cpp index 1624d7c908..5efc5b7980 100644 --- a/src/MANYBODY/pair_edip.cpp +++ b/src/MANYBODY/pair_edip.cpp @@ -777,11 +777,8 @@ void PairEDIP::read_file(char *file) FILE *fp; if (comm->me == 0) { fp = utils::open_potential(file, lmp, nullptr); - if (fp == nullptr) { - char str[128]; - snprintf(str, 128, "Cannot open EDIP potential file %s", file); - error->one(FLERR, str); - } + if (fp == nullptr) + error->one(FLERR,"Cannot open EDIP potential file {}: {}", file,utils::getsyserror()); } // read each set of params from potential file diff --git a/src/MANYBODY/pair_edip_multi.cpp b/src/MANYBODY/pair_edip_multi.cpp index 73cc1ef1f9..47cc5a90fa 100644 --- a/src/MANYBODY/pair_edip_multi.cpp +++ b/src/MANYBODY/pair_edip_multi.cpp @@ -590,11 +590,8 @@ void PairEDIPMulti::read_file(char *file) FILE *fp; if (comm->me == 0) { fp = utils::open_potential(file,lmp,nullptr); - if (fp == nullptr) { - char str[128]; - snprintf(str,128,"Cannot open EDIP potential file %s",file); - error->one(FLERR,str); - } + if (fp == nullptr) + error->one(FLERR,"Cannot open EDIP potential file {}: {}",file,utils::getsyserror()); } // read each set of params from potential file diff --git a/src/MANYBODY/pair_extep.cpp b/src/MANYBODY/pair_extep.cpp index efb5b0e7fb..bc96a40c57 100644 --- a/src/MANYBODY/pair_extep.cpp +++ b/src/MANYBODY/pair_extep.cpp @@ -529,11 +529,8 @@ void PairExTeP::read_file(char *file) FILE *fp; if (comm->me == 0) { fp = utils::open_potential(file,lmp,nullptr); - if (fp == nullptr) { - char str[128]; - snprintf(str,128,"Cannot open ExTeP potential file %s",file); - error->one(FLERR,str); - } + if (fp == nullptr) + error->one(FLERR,"Cannot open ExTeP potential file {}: {}",file,utils::getsyserror()); } // read each line out of file, skipping blank lines or leading '#' diff --git a/src/MANYBODY/pair_lcbop.cpp b/src/MANYBODY/pair_lcbop.cpp index f1223e1eba..3c6f08a7e7 100644 --- a/src/MANYBODY/pair_lcbop.cpp +++ b/src/MANYBODY/pair_lcbop.cpp @@ -930,11 +930,8 @@ void PairLCBOP::read_file(char *filename) if (comm->me == 0) { FILE *fp = utils::open_potential(filename,lmp,nullptr); - if (fp == nullptr) { - char str[128]; - snprintf(str,128,"Cannot open LCBOP potential file %s",filename); - error->one(FLERR,str); - } + if (fp == nullptr) + error->one(FLERR,"Cannot open LCBOP potential file {}: {}",filename,utils::getsyserror()); // skip initial comment lines diff --git a/src/MANYBODY/pair_local_density.cpp b/src/MANYBODY/pair_local_density.cpp index f5944ac826..5fefd33dea 100644 --- a/src/MANYBODY/pair_local_density.cpp +++ b/src/MANYBODY/pair_local_density.cpp @@ -663,29 +663,25 @@ void PairLocalDensity::parse_file(char *filename) { char line[MAXLINE]; double ratio, lc2, uc2, denom; - if (me == 0) { fptr = fopen(filename, "r"); - if (fptr == nullptr) { - char str[128]; - sprintf(str,"Cannot open Local Density potential file %s",filename); - error->one(FLERR,str); - } + if (fptr == nullptr) + error->one(FLERR,"Cannot open Local Density potential file {}: {}",filename,utils::getsyserror()); } - double *ftmp; // tmp var to extract the complete 2D frho array from file + double *ftmp; // tmp var to extract the complete 2D frho array from file - // broadcast number of LD potentials and number of (rho,frho) pairs - if (me == 0) { + // broadcast number of LD potentials and number of (rho,frho) pairs + if (me == 0) { - // first 2 comment lines ignored - utils::sfgets(FLERR,line,MAXLINE,fptr,filename,error); - utils::sfgets(FLERR,line,MAXLINE,fptr,filename,error); + // first 2 comment lines ignored + utils::sfgets(FLERR,line,MAXLINE,fptr,filename,error); + utils::sfgets(FLERR,line,MAXLINE,fptr,filename,error); - // extract number of potentials and number of (frho, rho) points - utils::sfgets(FLERR,line,MAXLINE,fptr,filename,error); - sscanf(line, "%d %d", &nLD, &nrho); - utils::sfgets(FLERR,line,MAXLINE,fptr,filename,error); + // extract number of potentials and number of (frho, rho) points + utils::sfgets(FLERR,line,MAXLINE,fptr,filename,error); + sscanf(line, "%d %d", &nLD, &nrho); + utils::sfgets(FLERR,line,MAXLINE,fptr,filename,error); } MPI_Bcast(&nLD,1,MPI_INT,0,world); diff --git a/src/MANYBODY/pair_meam_spline.cpp b/src/MANYBODY/pair_meam_spline.cpp index a63b61c7b2..0425fbcc8e 100644 --- a/src/MANYBODY/pair_meam_spline.cpp +++ b/src/MANYBODY/pair_meam_spline.cpp @@ -445,11 +445,8 @@ void PairMEAMSpline::read_file(const char* filename) if (comm->me == 0) { FILE *fp = utils::open_potential(filename,lmp,nullptr); - if (fp == nullptr) { - char str[1024]; - snprintf(str,128,"Cannot open spline MEAM potential file %s", filename); - error->one(FLERR,str); - } + if (fp == nullptr) + error->one(FLERR,"Cannot open spline MEAM potential file {}: {}", filename,utils::getsyserror()); // Skip first line of file. It's a comment. char line[MAXLINE]; diff --git a/src/MANYBODY/pair_meam_sw_spline.cpp b/src/MANYBODY/pair_meam_sw_spline.cpp index 74437b70f6..b74b2a01de 100644 --- a/src/MANYBODY/pair_meam_sw_spline.cpp +++ b/src/MANYBODY/pair_meam_sw_spline.cpp @@ -399,11 +399,8 @@ void PairMEAMSWSpline::read_file(const char* filename) { if (comm->me == 0) { FILE *fp = utils::open_potential(filename,lmp,nullptr); - if (fp == nullptr) { - char str[1024]; - snprintf(str,1024,"Cannot open spline MEAM potential file %s", filename); - error->one(FLERR,str); - } + if (fp == nullptr) + error->one(FLERR,"Cannot open spline MEAM potential file {}: {}", filename,utils::getsyserror()); // Skip first line of file. char line[MAXLINE]; From dcff3d70e09e56f908f548a4f6a3046653918694 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 29 Jul 2021 15:18:58 -0400 Subject: [PATCH 583/726] simplify fix instance creation --- .../tracker/reference/contact_history.dat | 8122 +++++++++++++++++ examples/tracker/reference/lifetime_hist.dat | 65 + src/MISC/pair_tracker.cpp | 11 +- 3 files changed, 8189 insertions(+), 9 deletions(-) create mode 100644 examples/tracker/reference/contact_history.dat create mode 100644 examples/tracker/reference/lifetime_hist.dat diff --git a/examples/tracker/reference/contact_history.dat b/examples/tracker/reference/contact_history.dat new file mode 100644 index 0000000000..8ae3885e5c --- /dev/null +++ b/examples/tracker/reference/contact_history.dat @@ -0,0 +1,8122 @@ +16 36 0 0.5 +64 193 0 0.505 +175 194 0 0.505 +63 80 0 0.51 +31 50 0 0.51 +12 188 0 0.515 +18 135 0 0.515 +22 166 0 0.515 +82 70 0 0.515 +61 26 0 0.525 +90 80 0 0.525 +169 197 0 0.53 +90 87 0 0.53 +52 96 0 0.53 +94 163 0 0.53 +31 52 0 0.535 +34 82 0 0.535 +173 93 0 0.54 +163 206 0 0.54 +64 80 0 0.545 +173 201 0 0.545 +18 54 0 0.55 +175 196 0 0.55 +60 197 0 0.555 +3 179 0 0.555 +82 118 0 0.555 +169 187 0 0.56 +44 66 0.06 0.56 +20 164 0 0.565 +44 90 0 0.565 +167 203 0 0.565 +28 173 0 0.57 +55 166 0.065 0.57 +81 96 0 0.575 +60 88 0 0.58 +36 56 0 0.58 +54 134 0 0.58 +8 36 0 0.585 +82 55 0 0.585 +3 180 0 0.59 +90 204 0 0.59 +31 36 0 0.59 +46 27 0 0.59 +41 25 0 0.595 +46 52 0 0.595 +44 121 0.05 0.6 +161 94 0 0.61 +161 194 0 0.61 +50 194 0 0.61 +22 169 0 0.615 +46 29 0 0.615 +46 32 0 0.615 +81 87 0.07 0.615 +143 164 0 0.62 +24 52 0 0.62 +56 92 0 0.62 +94 195 0 0.62 +31 34 0 0.625 +38 60 0 0.625 +59 56 0.045 0.63 +23 167 0 0.63 +167 215 0 0.63 +94 164 0 0.63 +25 55 0.045 0.635 +16 192 0 0.64 +27 43 0 0.64 +36 50 0 0.64 +20 22 0.05 0.645 +31 3 0 0.645 +4 129 0.06 0.655 +31 33 0 0.655 +32 49 0 0.655 +49 68 0.05 0.655 +4 29 0 0.66 +23 20 0.12 0.66 +14 32 0 0.66 +50 193 0 0.66 +34 65 0 0.665 +32 48 0 0.67 +167 87 0 0.67 +4 23 0.105 0.675 +74 109 0 0.675 +52 68 0 0.675 +90 76 0 0.68 +40 59 0.17 0.68 +167 195 0 0.68 +129 22 0.04 0.68 +51 44 0.055 0.685 +129 49 0 0.685 +161 81 0 0.69 +77 66 0.065 0.69 +39 220 0 0.695 +24 132 0.17 0.7 +44 56 0 0.7 +4 24 0 0.705 +27 63 0 0.705 +56 72 0 0.705 +59 80 0 0.71 +59 167 0 0.715 +78 85 0.17 0.715 +40 68 0 0.715 +44 75 0 0.715 +70 220 0 0.715 +28 144 0 0.72 +28 172 0 0.72 +58 166 0 0.72 +161 205 0 0.725 +3 47 0 0.725 +20 133 0 0.725 +70 246 0 0.725 +40 88 0 0.73 +70 80 0.045 0.735 +93 75 0 0.735 +19 55 0 0.74 +11 47 0 0.74 +44 220 0 0.74 +44 80 0 0.74 +27 41 0 0.745 +86 91 0 0.745 +57 19 0.18 0.745 +53 89 0.15 0.745 +4 143 0.05 0.75 +55 197 0 0.75 +42 29 0 0.75 +44 92 0 0.75 +93 126 0 0.75 +63 193 0 0.76 +161 206 0 0.77 +62 193 0 0.775 +19 81 0.175 0.775 +20 81 0.09 0.775 +58 202 0 0.775 +36 53 0 0.775 +20 36 0 0.78 +38 43 0 0.78 +81 53 0 0.78 +143 19 0 0.785 +78 34 0.145 0.785 +143 63 0 0.79 +59 53 0.1 0.79 +163 213 0 0.79 +8 41 0 0.795 +46 51 0 0.795 +52 194 0 0.795 +20 56 0 0.8 +90 199 0 0.8 +23 58 0 0.8 +38 36 0.3 0.8 +169 199 0.23 0.805 +53 66 0 0.805 +53 197 0.19 0.81 +137 130 0.045 0.815 +169 183 0 0.815 +169 89 0 0.815 +8 178 0 0.815 +161 82 0 0.82 +44 72 0 0.82 +48 96 0 0.82 +52 179 0.305 0.82 +20 165 0 0.825 +52 207 0 0.825 +161 209 0 0.83 +48 80 0 0.83 +78 82 0.105 0.835 +86 122 0 0.84 +62 131 0 0.845 +163 200 0 0.845 +31 175 0.27 0.845 +38 178 0 0.845 +54 162 0 0.845 +60 166 0 0.85 +55 163 0.3 0.85 +40 76 0 0.85 +42 218 0 0.85 +44 86 0 0.85 +50 55 0 0.85 +161 193 0 0.865 +19 54 0 0.865 +19 7 0.165 0.87 +62 164 0 0.875 +59 218 0.065 0.875 +163 166 0 0.875 +78 51 0 0.88 +19 133 0 0.885 +86 76 0 0.885 +37 214 0 0.885 +70 106 0 0.885 +74 86 0 0.89 +40 216 0 0.89 +63 96 0 0.895 +31 144 0.38 0.895 +51 68 0 0.895 +70 91 0 0.895 +20 51 0 0.9 +24 55 0 0.905 +48 65 0 0.905 +163 196 0 0.91 +78 205 0.035 0.91 +70 93 0.335 0.91 +55 165 0 0.915 +50 86 0 0.915 +66 216 0 0.92 +63 205 0 0.925 +20 175 0 0.93 +78 67 0 0.93 +12 37 0 0.935 +55 199 0 0.935 +50 175 0 0.935 +73 250 0 0.935 +81 164 0.395 0.94 +12 43 0 0.945 +19 165 0 0.945 +52 168 0 0.945 +61 77 0 0.95 +60 205 0 0.95 +19 56 0 0.95 +163 181 0 0.95 +129 149 0 0.95 +73 246 0 0.95 +81 98 0 0.955 +10 143 0.405 0.96 +3 23 0.28 0.96 +23 131 0.14 0.96 +73 215 0 0.96 +55 171 0 0.965 +60 202 0 0.97 +27 144 0.135 0.97 +57 37 0 0.97 +16 49 0 0.975 +74 220 0 0.975 +31 174 0.245 0.975 +66 113 0 0.975 +3 51 0.385 0.99 +44 85 0 0.99 +35 214 0 0.99 +94 65 0.21 0.99 +139 165 0.41 0.995 +163 199 0 0.995 +56 89 0 0.995 +70 92 0 0.995 +129 159 0 0.995 +129 173 0.325 1.005 +137 166 0 1.01 +19 38 0 1.01 +58 205 0 1.01 +57 43 0 1.01 +139 133 0.45 1.015 +20 130 0 1.015 +57 34 0.44 1.015 +42 192 0 1.015 +37 213 0.48 1.015 +23 51 0 1.02 +23 56 0 1.02 +20 53 0 1.025 +70 121 0 1.025 +137 144 0 1.03 +139 172 0 1.03 +60 176 0 1.03 +163 198 0 1.03 +37 44 0 1.03 +35 216 0 1.03 +139 167 0 1.035 +16 58 0.41 1.04 +63 79 0 1.045 +62 205 0 1.045 +139 166 0 1.045 +3 53 0 1.045 +31 173 0 1.045 +32 60 0 1.045 +201 229 0.22 1.045 +7 10 0 1.05 +8 25 0 1.055 +73 106 0 1.055 +44 71 0 1.055 +19 52 0 1.06 +3 39 0.36 1.065 +85 76 0 1.065 +139 60 0 1.07 +66 94 0.135 1.07 +3 38 0 1.07 +37 73 0 1.07 +62 206 0 1.08 +90 207 0 1.08 +31 58 0 1.08 +42 77 0 1.08 +42 54 0.41 1.085 +201 124 0.43 1.085 +169 204 0.31 1.09 +169 203 0.225 1.09 +23 133 0 1.09 +24 139 0.43 1.09 +5 53 0.375 1.09 +173 164 0 1.09 +94 79 0.06 1.09 +85 121 0 1.09 +8 44 0.255 1.095 +40 214 0 1.095 +35 73 0.53 1.095 +60 175 0.205 1.1 +16 57 0 1.1 +23 139 0 1.1 +169 202 0 1.105 +19 36 0 1.105 +7 25 0 1.11 +66 79 0 1.115 +165 183 0 1.115 +66 114 0.48 1.12 +24 166 0 1.13 +58 191 0.62 1.135 +78 212 0.29 1.135 +56 200 0 1.14 +53 162 0.63 1.14 +175 51 0.315 1.14 +81 90 0.54 1.14 +60 204 0 1.15 +66 211 0.385 1.15 +38 35 0 1.15 +93 79 0 1.15 +73 72 0 1.155 +66 242 0 1.16 +19 23 0 1.16 +93 68 0 1.16 +61 60 0 1.165 +61 169 0.525 1.17 +3 20 0.42 1.17 +139 90 0.515 1.175 +60 94 0.42 1.175 +73 101 0.465 1.175 +55 169 0 1.175 +7 185 0 1.175 +60 170 0 1.185 +8 56 0.575 1.19 +14 48 0.685 1.19 +31 161 0 1.195 +16 64 0 1.2 +46 94 0 1.2 +61 28 0 1.21 +66 222 0 1.21 +31 139 0.62 1.21 +201 220 0.055 1.21 +12 32 0 1.215 +12 54 0 1.215 +19 40 0 1.215 +24 162 0 1.215 +61 43 0 1.22 +8 20 0 1.22 +55 64 0.15 1.22 +14 29 0 1.22 +60 206 0.405 1.225 +16 62 0 1.23 +31 64 0 1.23 +165 52 0 1.23 +201 213 0.28 1.23 +7 188 0 1.235 +60 173 0 1.24 +61 171 0.54 1.25 +20 24 0 1.25 +173 202 0 1.25 +161 179 0 1.255 +25 133 0.08 1.255 +14 62 0.275 1.255 +61 25 0.33 1.26 +55 88 0 1.26 +8 28 0.515 1.265 +38 69 0 1.265 +48 222 0 1.265 +137 58 0.605 1.27 +74 71 0 1.27 +16 25 0.395 1.275 +93 86 0.135 1.275 +78 76 0.775 1.28 +8 57 0 1.28 +23 169 0 1.295 +39 51 0 1.295 +51 167 0 1.295 +16 47 0 1.3 +46 52 0.7 1.3 +34 72 0.66 1.305 +38 85 0 1.305 +48 175 0.195 1.305 +81 197 0.25 1.305 +36 70 0.8 1.31 +70 82 0.69 1.31 +21 57 0 1.31 +59 86 0 1.315 +173 177 0 1.315 +18 28 0.48 1.32 +49 85 0 1.32 +28 166 0 1.325 +60 198 0 1.33 +28 131 0.47 1.33 +81 205 0 1.33 +137 155 0 1.335 +38 51 0 1.335 +53 52 0 1.335 +173 221 0 1.335 +56 193 0 1.34 +50 197 0 1.34 +50 85 0 1.345 +36 84 0.6 1.35 +16 20 0.625 1.36 +27 93 0.795 1.36 +36 212 0.44 1.36 +12 58 0 1.37 +78 109 0 1.375 +9 186 0.305 1.375 +38 86 0.57 1.375 +23 59 0 1.385 +7 42 0 1.385 +61 139 0 1.395 +23 29 0.865 1.395 +55 102 0.85 1.395 +165 201 0.81 1.395 +165 172 0 1.395 +169 133 0.49 1.395 +54 199 0.5 1.4 +21 161 0.73 1.4 +53 27 0.325 1.405 +4 65 0.82 1.41 +78 80 0 1.41 +46 62 0 1.41 +34 65 0.83 1.415 +36 67 0 1.415 +48 76 0 1.415 +40 67 0 1.42 +3 181 0 1.425 +39 67 0.695 1.425 +3 63 0.81 1.43 +61 90 0 1.435 +46 65 0 1.435 +16 63 0 1.44 +32 52 0.74 1.44 +93 233 0.345 1.44 +54 198 0 1.445 +66 84 0.445 1.45 +4 52 0 1.455 +42 188 0 1.455 +32 138 0 1.46 +56 172 0.465 1.46 +12 31 0.445 1.465 +169 217 0 1.465 +173 162 0.47 1.465 +46 81 0 1.47 +48 60 0 1.47 +161 193 0.945 1.475 +16 3 0.9 1.475 +73 224 0.665 1.475 +51 193 0 1.475 +70 218 0.27 1.475 +82 205 0.26 1.48 +90 221 0.595 1.48 +163 88 0 1.48 +27 48 0 1.48 +73 77 0 1.49 +48 52 0.75 1.49 +47 64 0.875 1.49 +23 41 0 1.495 +31 45 0 1.495 +45 63 0 1.495 +61 52 0 1.5 +74 125 0.67 1.5 +47 80 0 1.5 +167 202 0 1.5 +66 212 0 1.505 +58 174 0 1.505 +37 41 0 1.505 +53 81 0.905 1.505 +53 86 0 1.505 +167 176 0.575 1.505 +5 9 0 1.505 +46 35 0 1.51 +46 77 0 1.51 +12 29 0 1.515 +90 174 0.85 1.515 +175 195 0.84 1.515 +85 102 0 1.515 +27 55 0 1.52 +58 86 0 1.52 +70 74 0 1.52 +59 47 0.865 1.525 +32 140 0 1.525 +165 170 0.24 1.525 +163 166 1.005 1.53 +70 75 0 1.53 +61 94 0 1.535 +28 138 0 1.535 +74 75 0 1.535 +70 59 0 1.535 +55 48 0.495 1.54 +90 84 0.39 1.545 +73 93 0 1.545 +39 218 0 1.545 +61 47 0 1.55 +12 21 0 1.55 +18 136 0 1.55 +93 102 0.8 1.55 +12 27 0 1.555 +73 48 0 1.555 +48 96 0.955 1.555 +10 63 0.985 1.57 +14 63 0.475 1.57 +48 90 0 1.57 +54 172 0 1.57 +70 101 0 1.57 +19 131 0 1.575 +55 218 0.92 1.575 +81 67 0 1.575 +173 201 0.95 1.575 +33 81 0 1.58 +31 3 0.945 1.58 +60 122 0.135 1.585 +32 132 0.85 1.585 +33 31 1.01 1.59 +70 118 0 1.59 +30 174 0 1.59 +161 191 0 1.595 +74 106 0 1.595 +31 48 0 1.595 +34 52 0 1.595 +29 129 0 1.595 +5 40 0.74 1.595 +28 173 1.075 1.6 +46 93 0.53 1.6 +7 35 0.97 1.6 +16 43 0 1.605 +64 84 0.61 1.61 +42 73 0 1.615 +63 96 1.12 1.62 +61 93 0 1.62 +32 174 0 1.62 +57 201 0.945 1.62 +54 197 0 1.62 +47 223 0 1.62 +61 44 0.215 1.625 +90 95 0 1.625 +10 62 0.395 1.63 +19 163 0 1.63 +89 94 0.51 1.63 +175 177 0.605 1.63 +42 39 0 1.635 +53 82 0 1.635 +90 234 0 1.645 +167 200 0 1.645 +18 135 0.655 1.65 +9 39 0.77 1.65 +60 76 0 1.655 +89 125 0.62 1.655 +32 18 1.05 1.655 +50 174 0.265 1.655 +52 113 1.12 1.655 +74 95 0 1.66 +34 82 0.66 1.66 +32 129 0 1.665 +40 59 0.975 1.665 +165 213 0 1.665 +49 164 0.695 1.665 +45 224 0.83 1.67 +4 163 0.87 1.675 +90 125 0 1.675 +27 20 0.97 1.675 +38 188 0 1.675 +66 86 0.74 1.68 +85 164 1.01 1.68 +64 201 0 1.685 +73 80 0 1.685 +42 186 0 1.685 +48 62 0 1.685 +52 96 0.725 1.685 +47 191 1.12 1.685 +78 113 0 1.69 +12 40 0.65 1.695 +34 180 0.97 1.695 +36 82 0 1.695 +42 47 0 1.695 +10 4 1.065 1.7 +57 70 0 1.7 +173 193 0 1.7 +61 74 0 1.705 +61 81 1.095 1.705 +3 18 0.495 1.705 +57 86 0 1.705 +10 48 0.555 1.71 +23 165 0 1.71 +52 85 0 1.71 +61 27 0 1.715 +27 62 0 1.715 +14 8 0.155 1.715 +18 162 0 1.72 +51 195 0 1.72 +70 102 0 1.72 +23 135 0 1.725 +27 144 1.145 1.725 +36 224 0.745 1.725 +21 135 0.665 1.725 +39 59 0 1.73 +173 163 0.62 1.73 +39 45 0.88 1.735 +36 97 0.555 1.735 +4 81 0.47 1.74 +10 143 0.985 1.74 +27 44 0 1.74 +74 94 0 1.74 +14 37 0.88 1.74 +16 27 0 1.745 +27 64 0 1.745 +89 110 0.845 1.745 +73 45 0.925 1.75 +34 62 0.21 1.75 +57 165 0.935 1.75 +51 87 0 1.75 +52 88 0 1.75 +18 56 1.24 1.755 +175 207 0 1.755 +34 68 1.165 1.76 +57 140 1.08 1.76 +48 58 0 1.76 +61 190 1.125 1.765 +46 192 0 1.765 +175 221 0 1.765 +28 171 0 1.77 +39 74 0 1.775 +52 68 0.845 1.775 +81 96 0.68 1.775 +74 90 0 1.78 +175 84 0 1.78 +78 72 1.13 1.785 +60 197 1.005 1.785 +28 151 1.035 1.79 +165 174 1.28 1.79 +175 209 0 1.79 +34 78 1.09 1.795 +10 19 1.055 1.8 +51 197 0 1.8 +85 229 0 1.8 +173 185 1.025 1.805 +36 72 0.305 1.81 +28 136 0.4 1.815 +57 48 0 1.815 +49 82 0 1.815 +10 20 0.81 1.825 +4 64 0.72 1.83 +70 121 1.045 1.83 +14 21 0.925 1.835 +49 162 0.64 1.84 +66 98 0 1.845 +59 36 1.255 1.845 +38 74 0 1.845 +2 7 0 1.845 +64 163 0.89 1.85 +49 174 0.73 1.85 +74 110 0.73 1.855 +36 79 0 1.855 +85 76 1.205 1.855 +167 185 0 1.855 +4 47 0 1.86 +78 125 0.805 1.86 +19 29 1.055 1.865 +46 44 0.81 1.865 +81 77 0 1.865 +62 176 1.35 1.87 +42 43 0 1.87 +81 65 0 1.875 +70 86 0 1.875 +40 71 0 1.88 +64 203 0 1.885 +62 82 0.93 1.885 +78 97 0 1.89 +24 57 0 1.895 +173 203 0.06 1.895 +62 59 0 1.9 +89 48 0 1.9 +38 66 0 1.9 +62 165 1.385 1.905 +23 18 0 1.905 +74 102 0.625 1.905 +58 203 0.1 1.905 +48 81 0 1.905 +50 167 0 1.905 +4 161 0.28 1.91 +90 121 0 1.91 +163 191 0.615 1.91 +36 65 0 1.91 +59 171 0 1.915 +3 53 1.165 1.915 +3 66 1.125 1.915 +35 214 1.245 1.92 +32 48 0.72 1.92 +34 81 0 1.925 +175 196 0.84 1.925 +12 53 0 1.93 +27 59 0 1.93 +55 93 0.105 1.93 +89 78 0.8 1.93 +94 203 0 1.93 +137 139 0 1.935 +8 66 1 1.935 +34 131 1.38 1.935 +20 189 1.275 1.94 +55 45 1.275 1.94 +49 56 0 1.94 +27 143 0 1.945 +42 55 0 1.945 +49 173 0.205 1.945 +59 167 1.35 1.95 +74 87 0 1.95 +78 82 1.065 1.955 +62 177 1.415 1.96 +58 96 0.585 1.96 +66 54 1.35 1.965 +66 117 0 1.97 +74 121 0 1.97 +44 77 0.31 1.97 +70 216 0 1.97 +94 92 0.45 1.97 +12 54 1.365 1.975 +55 74 0 1.975 +37 81 0.915 1.975 +51 88 0 1.975 +175 82 0 1.975 +44 48 0 1.98 +78 163 1.335 1.985 +61 129 1.35 1.985 +175 162 0.575 1.985 +78 92 0.91 1.995 +66 73 0.945 2.005 +4 62 0 2.01 +30 170 1.355 2.01 +55 91 0 2.01 +34 161 0.805 2.01 +70 76 0 2.015 +30 159 1.385 2.025 +42 89 0 2.025 +90 52 0.29 2.03 +55 214 0.91 2.03 +32 78 1.525 2.03 +21 134 1.49 2.03 +55 121 0.585 2.035 +40 89 0 2.035 +2 51 1.48 2.035 +33 68 1.205 2.035 +4 53 0 2.04 +28 59 0 2.04 +78 90 0 2.05 +94 195 0.86 2.05 +70 188 0 2.05 +60 168 1.38 2.055 +56 117 1.445 2.055 +73 54 1.52 2.06 +85 121 1.155 2.06 +19 161 0 2.06 +62 18 0.31 2.065 +55 58 0 2.065 +169 181 1.14 2.065 +20 174 0 2.07 +34 85 0 2.07 +18 36 1.535 2.075 +89 58 0 2.075 +37 65 0.8 2.075 +81 205 1.375 2.075 +28 139 0 2.08 +81 79 0 2.08 +55 76 0 2.09 +59 173 0 2.095 +40 86 0 2.095 +32 36 1.49 2.1 +40 167 1.425 2.1 +163 88 1.595 2.105 +28 170 0 2.105 +36 93 0.92 2.105 +56 84 1.055 2.105 +53 161 0.55 2.105 +4 66 0.75 2.11 +61 175 0 2.11 +44 85 1.565 2.11 +165 201 1.495 2.11 +74 60 0 2.115 +90 204 0.625 2.12 +23 42 0 2.12 +135 138 0 2.12 +40 68 1.25 2.12 +61 59 0 2.125 +20 162 0 2.125 +63 162 1.57 2.13 +61 57 0 2.13 +74 214 0 2.13 +38 45 1.045 2.13 +63 68 0 2.135 +78 110 0 2.135 +90 191 0.39 2.135 +34 163 0.635 2.135 +39 76 0 2.14 +94 173 0 2.15 +18 63 1.28 2.15 +27 153 1.515 2.15 +34 54 0.6 2.15 +90 199 1.17 2.16 +47 81 0 2.16 +135 182 0.375 2.165 +58 172 0 2.165 +61 161 0 2.17 +59 47 1.59 2.17 +59 118 1.575 2.17 +90 198 1.485 2.175 +34 56 0 2.175 +46 66 1.115 2.175 +64 174 0.76 2.18 +90 208 0 2.18 +14 18 0.845 2.185 +18 161 0 2.19 +36 62 0 2.19 +36 52 0 2.19 +70 242 1.65 2.19 +23 27 0 2.2 +167 179 1.31 2.2 +47 242 1.7 2.2 +188 216 1.32 2.205 +175 192 1.07 2.205 +28 32 0 2.21 +25 24 0 2.21 +163 83 0 2.215 +20 175 1.295 2.22 +32 140 1.625 2.22 +37 63 0.89 2.22 +32 171 0 2.225 +56 194 0 2.225 +139 151 0 2.225 +82 229 0 2.225 +61 173 0 2.23 +12 48 0.275 2.23 +29 189 1.35 2.23 +167 206 1.68 2.23 +54 92 0.505 2.23 +169 217 1.715 2.23 +47 51 1.52 2.23 +61 78 0 2.235 +64 161 0 2.24 +63 85 1.115 2.24 +61 51 1.225 2.24 +8 41 1.605 2.24 +16 36 0.735 2.24 +58 176 0 2.24 +40 83 0 2.24 +56 161 0 2.24 +37 85 0.905 2.24 +165 27 1.625 2.245 +81 97 0 2.245 +78 205 0.97 2.255 +74 57 0 2.255 +49 24 0 2.255 +70 98 0 2.255 +90 176 0 2.26 +60 206 1.35 2.265 +135 147 0 2.265 +167 88 0 2.265 +52 197 0 2.265 +53 10 1.73 2.265 +4 51 0 2.27 +16 74 1.5 2.275 +27 136 1.66 2.275 +47 63 0 2.275 +188 211 1.395 2.28 +32 170 0 2.28 +47 93 0 2.28 +25 140 0.06 2.285 +38 58 0.925 2.29 +61 45 0 2.295 +33 51 1.005 2.295 +63 83 0.345 2.3 +8 183 1.61 2.3 +20 64 0.64 2.3 +29 20 0 2.3 +167 176 1.74 2.3 +46 37 0.58 2.3 +94 208 0 2.3 +23 50 0 2.305 +32 45 1.57 2.305 +48 91 0 2.305 +63 126 1.46 2.31 +169 168 0 2.31 +4 78 0.62 2.32 +44 93 0 2.32 +49 165 0.75 2.32 +45 36 0 2.325 +44 71 1.605 2.325 +8 73 1.525 2.33 +35 81 0 2.33 +82 179 1.795 2.33 +163 179 0 2.33 +49 161 0 2.33 +25 135 0 2.33 +4 35 0 2.335 +90 202 0 2.335 +46 47 0 2.335 +60 96 0 2.34 +50 137 0.985 2.345 +16 186 0 2.35 +3 69 1.565 2.35 +12 61 0 2.355 +12 32 1.585 2.355 +29 62 0 2.355 +52 195 0 2.355 +63 82 0.315 2.365 +29 143 0 2.365 +137 150 0.075 2.37 +165 57 1.825 2.37 +46 35 1.78 2.37 +64 171 0 2.375 +20 173 0 2.375 +73 74 0 2.375 +25 32 0 2.375 +81 114 0 2.38 +9 185 1.8 2.38 +94 191 0.825 2.38 +94 237 0 2.385 +32 59 0 2.39 +169 185 0 2.39 +81 100 0.99 2.39 +21 165 0.595 2.39 +78 126 1.03 2.395 +64 206 0 2.4 +45 93 1.11 2.4 +42 20 1.16 2.4 +74 109 1.815 2.405 +32 57 0 2.405 +64 126 1.185 2.41 +24 161 0 2.41 +201 96 0 2.41 +8 51 0 2.415 +52 207 0.875 2.415 +21 57 1.855 2.415 +8 24 0 2.42 +35 63 1.635 2.42 +55 163 1.91 2.42 +25 53 0 2.425 +78 62 0 2.43 +50 134 1.245 2.43 +137 131 0.385 2.435 +175 95 0.35 2.435 +163 86 0 2.435 +38 87 1.115 2.435 +55 81 1.94 2.45 +12 185 1.695 2.455 +38 188 1.77 2.455 +42 36 1.125 2.455 +49 175 0 2.455 +21 51 1.345 2.455 +46 43 0 2.46 +70 82 1.945 2.46 +64 60 0 2.465 +63 56 1.255 2.465 +60 117 1.075 2.465 +163 198 1.73 2.465 +50 28 0.345 2.465 +23 24 0 2.47 +94 161 1.81 2.47 +33 222 0 2.47 +50 136 0 2.475 +201 208 1.015 2.475 +53 44 0 2.48 +40 52 1.855 2.485 +53 27 1.61 2.485 +78 175 0.14 2.49 +78 58 1.22 2.49 +10 41 1.745 2.49 +55 117 0.91 2.5 +55 83 1.765 2.5 +49 70 1.93 2.5 +63 95 0 2.505 +39 51 1.59 2.505 +167 58 0 2.505 +48 70 1.94 2.505 +49 81 0 2.505 +38 27 0 2.515 +33 209 0 2.525 +74 58 0 2.53 +48 65 0.95 2.53 +70 81 0.715 2.53 +38 59 0 2.535 +19 51 0 2.54 +28 165 0 2.54 +52 168 1.095 2.54 +81 87 1.875 2.54 +70 95 2.035 2.54 +137 248 0.945 2.545 +163 212 2.02 2.545 +42 43 2.025 2.545 +70 47 1.585 2.55 +89 220 1.805 2.55 +61 64 0 2.555 +12 74 0.62 2.555 +36 95 0.78 2.555 +48 95 0 2.555 +94 92 2.055 2.555 +28 134 0 2.56 +52 95 0.77 2.56 +163 197 0 2.565 +94 174 1.15 2.565 +188 93 1.645 2.57 +89 119 0.675 2.57 +49 45 1.805 2.575 +18 51 0.88 2.585 +39 211 1.93 2.585 +38 42 0 2.585 +54 171 0 2.585 +25 169 2.085 2.585 +52 177 1.61 2.59 +163 195 0 2.595 +7 53 0 2.595 +50 135 0 2.6 +51 87 1.87 2.605 +52 85 1.835 2.605 +74 92 0 2.61 +50 168 0 2.61 +163 84 0 2.615 +163 54 0 2.62 +32 169 0 2.62 +58 161 2.055 2.62 +52 208 1.385 2.62 +173 186 1.625 2.62 +33 70 1.56 2.62 +61 36 0 2.625 +139 132 0.99 2.625 +78 193 1.72 2.635 +52 56 0 2.635 +131 149 0 2.635 +64 169 0 2.64 +35 83 1.485 2.64 +37 44 2.065 2.64 +33 43 0.81 2.64 +188 48 0.205 2.645 +20 159 1.37 2.65 +90 167 0 2.65 +89 77 0.39 2.65 +66 193 2.145 2.655 +90 126 0.245 2.655 +37 56 2.095 2.655 +64 173 0 2.66 +60 203 0 2.66 +12 64 1.73 2.66 +52 212 1.78 2.66 +60 93 0 2.665 +90 172 0 2.665 +74 68 2.075 2.67 +51 54 0 2.67 +42 94 1.86 2.675 +29 144 0.075 2.68 +89 117 0.645 2.68 +42 78 0.25 2.68 +139 171 0 2.68 +12 53 2.175 2.685 +66 163 0.78 2.685 +55 51 0 2.685 +39 214 0 2.685 +61 48 0 2.69 +16 64 1.99 2.69 +4 21 0 2.695 +42 77 1.78 2.695 +51 168 0.82 2.695 +24 51 0 2.705 +55 82 1.955 2.705 +165 181 0 2.705 +55 201 0 2.71 +89 96 0 2.71 +89 80 0 2.715 +54 168 0 2.715 +131 164 0 2.715 +59 201 0 2.72 +175 77 2 2.725 +39 59 1.81 2.725 +56 196 1.73 2.725 +58 201 0 2.73 +51 167 2.14 2.73 +4 40 0.51 2.735 +190 187 0 2.735 +53 168 0.89 2.735 +56 164 0.37 2.74 +49 8 0 2.74 +21 37 0 2.74 +94 206 0 2.74 +8 57 1.455 2.745 +45 76 2.25 2.755 +48 224 0 2.755 +49 21 0.105 2.755 +8 50 0 2.76 +35 55 1.54 2.765 +38 51 1.42 2.765 +37 72 1.245 2.775 +49 35 1.74 2.775 +94 223 1.63 2.775 +8 35 0 2.78 +19 24 0 2.78 +8 54 0 2.79 +24 55 2.175 2.79 +190 176 0 2.795 +93 201 0.095 2.81 +73 45 2.14 2.815 +56 199 0 2.815 +66 52 0.575 2.82 +40 44 0 2.82 +50 164 0 2.82 +33 210 0 2.82 +8 36 1.23 2.825 +12 73 1.145 2.83 +46 94 2.335 2.835 +190 209 0 2.84 +10 64 0.495 2.84 +74 106 1.68 2.84 +78 100 0.815 2.85 +78 52 0 2.855 +12 60 1.685 2.855 +33 192 0 2.855 +57 86 2.19 2.86 +6 39 1.085 2.86 +7 40 0 2.86 +81 77 1.91 2.86 +163 196 1.16 2.865 +62 202 2.23 2.87 +23 37 0 2.87 +74 220 1.775 2.87 +33 69 1.405 2.87 +66 100 1.635 2.875 +74 95 1.795 2.875 +23 40 0 2.88 +137 58 2.38 2.885 +12 169 2.21 2.885 +59 54 0 2.885 +18 135 2.025 2.885 +173 191 0 2.885 +19 37 0 2.89 +74 96 0 2.89 +60 91 0 2.905 +90 94 0 2.905 +38 135 1.275 2.905 +165 169 0 2.905 +50 132 0.215 2.905 +139 160 1.285 2.905 +38 29 2.34 2.91 +38 165 1.055 2.91 +56 118 1.02 2.91 +53 66 0.83 2.91 +81 72 0 2.91 +137 165 0 2.915 +38 169 1.015 2.915 +44 214 0 2.915 +48 68 0.97 2.915 +53 37 0 2.92 +2 178 1.33 2.925 +175 208 0 2.925 +163 85 0 2.925 +55 71 0.6 2.925 +38 167 1.42 2.925 +48 79 0 2.925 +129 147 0 2.93 +137 60 2.4 2.935 +12 90 2.19 2.935 +45 77 0 2.935 +12 27 1.59 2.94 +58 166 1.5 2.94 +40 57 0 2.94 +63 164 1.235 2.945 +12 137 2.3 2.945 +19 63 0.515 2.945 +131 63 2.045 2.95 +29 169 0.69 2.95 +62 94 0 2.955 +30 133 2.215 2.955 +27 60 0 2.955 +28 40 1.325 2.955 +55 118 0.635 2.955 +39 71 0 2.955 +38 89 0 2.955 +188 60 1.805 2.96 +173 198 2.37 2.96 +137 130 1.605 2.965 +30 63 1.83 2.965 +93 79 1.42 2.965 +12 89 1.445 2.97 +28 59 2.25 2.97 +53 86 2.405 2.97 +78 97 2.22 2.975 +20 21 0 2.975 +89 56 2.185 2.975 +40 89 2.4 2.985 +19 143 0.87 2.99 +44 218 0 2.99 +7 37 0 2.99 +66 195 2.185 2.995 +73 118 2.39 2.995 +74 90 2.065 2.995 +6 57 2.075 2.995 +190 35 0.85 3 +73 218 0 3 +3 61 1.24 3 +8 70 1.415 3.005 +60 58 0 3.005 +28 167 0 3.005 +74 79 0 3.005 +165 179 0 3.005 +21 129 0 3.005 +9 33 2.355 3.005 +42 33 1.175 3.01 +34 35 0 3.015 +12 54 2.04 3.02 +175 223 1.13 3.02 +73 91 0 3.02 +38 85 1.335 3.02 +53 70 0 3.02 +57 63 2.415 3.025 +46 51 1.755 3.025 +188 87 1.35 3.035 +16 19 0.835 3.035 +54 89 0 3.035 +169 93 1.955 3.04 +4 30 2.315 3.045 +8 18 0 3.045 +57 93 0.57 3.045 +42 4 1.04 3.045 +73 68 2.355 3.05 +52 83 0 3.05 +64 57 0 3.055 +54 58 0 3.055 +81 113 0 3.055 +27 90 0.465 3.06 +34 69 2.285 3.06 +46 57 2.32 3.06 +3 18 2.245 3.06 +190 44 2.425 3.065 +89 233 2.015 3.07 +54 92 2.455 3.07 +54 197 2.495 3.07 +78 81 0 3.075 +2 37 0 3.075 +27 167 1.22 3.075 +32 138 2.51 3.075 +38 66 2.38 3.075 +173 202 1.88 3.075 +81 68 0 3.085 +201 185 2.355 3.09 +24 162 1.325 3.1 +44 64 0 3.1 +33 20 2.425 3.1 +66 86 1.745 3.105 +90 77 2.09 3.105 +42 49 1.365 3.105 +46 44 2.415 3.105 +169 118 2.59 3.105 +89 93 0 3.11 +165 164 0 3.11 +10 63 2.115 3.115 +44 91 0 3.115 +53 162 2.25 3.12 +27 58 0 3.125 +55 188 0.695 3.125 +89 88 1.77 3.125 +51 161 0 3.13 +173 185 1.86 3.13 +89 86 0 3.135 +38 73 0 3.14 +66 113 2.14 3.145 +23 18 2.015 3.145 +27 175 2.055 3.145 +62 132 0.97 3.15 +64 52 0 3.155 +19 23 2.225 3.155 +44 48 2.585 3.155 +38 69 1.39 3.16 +139 63 1.9 3.165 +33 38 2.505 3.165 +137 167 2.045 3.17 +82 210 2.44 3.175 +61 63 0 3.175 +169 233 2.545 3.175 +137 31 2.305 3.18 +28 58 0 3.18 +89 85 0 3.18 +63 161 0 3.185 +66 211 2.62 3.185 +32 51 2.245 3.185 +50 130 0.34 3.185 +2 20 0 3.19 +36 52 2.345 3.19 +46 139 2.54 3.19 +49 52 0 3.19 +62 165 2.7 3.2 +57 91 2.395 3.2 +78 96 0 3.205 +82 161 1 3.21 +93 171 2.015 3.21 +58 171 0 3.215 +51 164 0.405 3.215 +137 173 2.17 3.22 +175 172 1.12 3.225 +49 180 2.115 3.23 +7 59 2.315 3.23 +82 191 2.735 3.235 +93 223 2.39 3.235 +23 183 2.605 3.24 +49 165 2.57 3.245 +7 54 2.07 3.245 +78 72 2.07 3.25 +62 36 2.675 3.255 +60 172 0 3.255 +46 62 2.185 3.255 +17 50 2.68 3.26 +175 166 2.31 3.26 +173 167 1.675 3.26 +62 57 2.65 3.265 +175 191 0 3.265 +40 81 0 3.265 +46 50 2.115 3.265 +49 66 0 3.265 +44 74 0 3.27 +82 193 0 3.275 +33 186 1.455 3.275 +175 192 2.43 3.28 +82 166 2.14 3.28 +49 139 2.625 3.28 +85 95 1.115 3.28 +66 81 0 3.285 +82 164 0 3.285 +39 50 2.605 3.285 +27 176 2.09 3.29 +49 93 2.675 3.29 +18 28 1.5 3.295 +46 30 2.17 3.295 +173 203 2 3.295 +163 167 0 3.3 +49 37 0 3.3 +85 97 1.195 3.31 +56 81 0 3.31 +32 57 2.58 3.315 +90 203 0 3.32 +36 81 0 3.32 +94 122 2.81 3.32 +63 206 1.72 3.33 +4 50 0 3.33 +34 163 2.25 3.335 +2 50 0.535 3.34 +2 55 2.705 3.345 +175 233 2.11 3.345 +48 66 1.425 3.345 +27 32 0 3.35 +4 37 0 3.355 +37 50 0.875 3.355 +175 126 0.72 3.36 +169 203 1.34 3.36 +82 200 0 3.365 +54 201 0 3.365 +4 58 2.675 3.37 +62 169 1.945 3.37 +57 166 2.045 3.37 +48 40 2.07 3.37 +54 198 1.8 3.37 +82 215 1.91 3.375 +34 24 0 3.38 +4 31 0 3.39 +4 45 0 3.395 +78 110 2.545 3.395 +10 166 2.435 3.395 +64 76 2.855 3.4 +33 51 2.375 3.4 +4 53 2.885 3.405 +73 35 1.335 3.405 +36 165 2.56 3.405 +60 198 1.37 3.41 +169 185 2.86 3.425 +90 96 0 3.43 +139 163 2.55 3.43 +11 176 1.245 3.435 +16 27 2.17 3.435 +49 175 2.805 3.435 +63 96 2.555 3.44 +78 85 1.785 3.44 +70 50 1.545 3.45 +205 124 2.055 3.45 +61 42 0 3.455 +85 35 0 3.455 +89 75 2.84 3.46 +89 119 2.88 3.46 +33 47 0 3.46 +63 85 2.91 3.465 +62 42 0 3.465 +12 185 2.54 3.465 +33 35 0 3.465 +90 204 2.935 3.475 +51 167 2.8 3.475 +173 172 0 3.475 +17 61 1.36 3.48 +137 55 2.54 3.485 +49 143 0 3.485 +173 201 1.66 3.49 +33 94 2.535 3.49 +33 58 2.82 3.5 +12 74 2.66 3.505 +59 169 0 3.505 +62 27 1.9 3.51 +89 77 3.005 3.51 +56 198 0 3.51 +64 81 0 3.515 +3 50 2.425 3.515 +54 70 0.585 3.52 +54 173 1.79 3.525 +33 50 2.415 3.525 +93 128 2.93 3.525 +39 213 0 3.53 +90 233 0 3.535 +139 52 2.33 3.535 +7 70 1.015 3.535 +12 61 2.98 3.54 +58 51 2.58 3.54 +63 47 2.755 3.545 +63 83 2.855 3.545 +18 130 0 3.545 +40 167 2.165 3.545 +60 117 2.87 3.55 +81 88 0 3.55 +173 92 2.52 3.55 +93 125 0 3.55 +82 198 0 3.555 +3 21 0 3.555 +12 186 0 3.56 +59 201 3.025 3.57 +10 140 2.04 3.575 +20 130 1.41 3.575 +62 64 0 3.58 +48 35 1.55 3.585 +53 167 0 3.59 +173 135 1.68 3.59 +58 50 2.61 3.595 +53 134 1.66 3.595 +53 130 2.3 3.595 +93 79 3.02 3.595 +93 68 2.995 3.595 +4 148 0 3.6 +139 166 2.275 3.6 +64 122 2.665 3.61 +56 196 2.915 3.615 +133 150 2.03 3.615 +56 162 0 3.62 +59 110 3.055 3.625 +32 170 3.115 3.625 +32 161 0 3.625 +173 166 1.66 3.625 +19 31 2.865 3.625 +78 58 2.92 3.63 +7 217 2.49 3.63 +48 51 1.51 3.635 +205 63 1.16 3.64 +85 169 2.6 3.64 +34 51 0 3.64 +139 161 1.025 3.64 +188 224 0.5 3.65 +20 159 2.8 3.65 +55 51 2.91 3.65 +49 51 0 3.65 +39 214 3.025 3.655 +31 174 3.1 3.655 +58 163 2.475 3.66 +58 94 0 3.66 +31 143 0 3.66 +64 205 0 3.665 +54 139 2.805 3.665 +12 46 0.945 3.67 +89 64 0 3.67 +129 130 0 3.67 +133 136 0 3.67 +66 117 2.665 3.675 +28 39 1.555 3.675 +85 92 2.42 3.675 +139 42 1.79 3.675 +21 10 2.535 3.675 +12 32 2.52 3.68 +74 63 0 3.685 +73 216 0 3.69 +89 80 2.845 3.69 +12 48 2.91 3.695 +173 193 1.915 3.695 +90 106 2.75 3.7 +180 79 3.04 3.705 +58 77 2.995 3.705 +64 90 0 3.715 +46 10 0 3.72 +90 218 3.035 3.725 +55 59 0 3.725 +169 198 0 3.725 +61 143 0 3.73 +39 60 1 3.73 +49 94 0 3.73 +20 162 2.175 3.735 +93 164 2.515 3.735 +44 218 3.105 3.735 +21 39 1.62 3.735 +36 56 2.025 3.74 +38 37 0 3.74 +89 214 0.915 3.74 +42 63 0 3.74 +82 201 1.47 3.745 +40 88 2.625 3.745 +59 87 0 3.75 +17 37 2.585 3.755 +28 40 3.115 3.76 +85 201 1.32 3.765 +73 45 3.265 3.77 +48 37 1.62 3.77 +169 197 2.555 3.77 +180 210 0 3.775 +175 202 0 3.775 +175 203 0 3.775 +73 219 2.805 3.775 +93 110 2.705 3.785 +36 210 3.25 3.785 +37 63 2.79 3.785 +173 155 0 3.785 +173 91 3.245 3.785 +139 57 1.8 3.785 +73 80 2.875 3.79 +44 58 0 3.79 +31 63 3.12 3.79 +90 86 0 3.795 +55 201 2.9 3.8 +81 202 3.095 3.8 +49 163 0 3.81 +30 50 1.81 3.815 +36 72 2.24 3.815 +23 3 1.155 3.82 +61 10 0 3.82 +93 237 0 3.82 +7 21 0 3.82 +37 51 0 3.825 +70 214 0 3.825 +188 75 0 3.83 +73 59 0 3.83 +38 41 2.895 3.83 +56 194 2.545 3.83 +37 83 3 3.83 +49 21 3.045 3.83 +70 102 3.165 3.83 +10 174 2.715 3.835 +60 195 2.215 3.84 +89 74 0 3.84 +70 41 3.135 3.84 +129 50 0 3.845 +53 60 0 3.845 +36 68 0 3.85 +205 235 0.075 3.855 +129 161 0 3.855 +70 76 2.51 3.855 +20 174 2.92 3.86 +23 40 3.345 3.86 +38 90 3.265 3.86 +89 102 0 3.86 +82 60 2.05 3.865 +36 82 3.095 3.865 +129 165 0 3.865 +64 50 3.105 3.87 +78 91 0.45 3.87 +205 86 2.99 3.87 +85 71 0 3.87 +36 77 0 3.87 +36 67 1.97 3.87 +36 83 0 3.87 +87 76 0 3.87 +37 79 3.03 3.875 +8 69 1.52 3.88 +46 186 0.55 3.88 +40 60 0.875 3.885 +44 85 3.175 3.885 +51 114 3.005 3.885 +205 202 0 3.89 +38 183 0.725 3.89 +54 39 1.2 3.89 +21 44 2.97 3.89 +87 102 0 3.89 +87 91 0 3.89 +92 86 0 3.89 +44 76 0 3.895 +23 39 0.385 3.9 +70 211 0.9 3.9 +20 177 3.285 3.905 +45 76 3.03 3.905 +92 206 3.045 3.905 +32 174 1.69 3.91 +36 163 1.45 3.91 +38 60 0.755 3.91 +63 77 0 3.92 +38 87 3.33 3.92 +20 93 3.405 3.93 +7 16 1.51 3.93 +180 77 2.225 3.935 +49 178 2.15 3.935 +92 167 3.34 3.935 +41 198 3.36 3.935 +58 193 2.21 3.94 +131 81 3.305 3.94 +70 65 0.85 3.94 +205 223 0 3.945 +92 128 2.045 3.945 +36 47 0 3.95 +64 193 0.815 3.955 +60 174 3.405 3.955 +93 174 2.27 3.955 +55 67 1.725 3.955 +55 118 3.27 3.955 +85 120 0.63 3.955 +73 98 1.615 3.96 +46 42 0 3.96 +62 176 1.99 3.965 +90 237 0 3.965 +73 75 0 3.965 +58 206 0.34 3.965 +89 91 0 3.97 +180 224 0 3.975 +62 191 0.115 3.975 +62 164 0.9 3.975 +54 170 0 3.975 +87 106 2.39 3.975 +44 169 1.49 3.98 +51 238 3.29 3.98 +58 174 1.78 3.985 +46 43 3.255 3.985 +70 35 0 3.985 +62 165 3.425 3.99 +60 197 2.415 3.99 +25 54 0 3.99 +55 88 1.515 3.99 +92 199 0 3.99 +18 134 1.32 3.995 +34 28 1.49 3.995 +90 63 0 4 +12 59 0 4.005 +27 136 2.43 4.005 +20 165 2.11 4.005 +46 59 0.4 4.005 +173 163 2.77 4.005 +7 45 1.43 4.005 +16 139 2.25 4.01 +16 44 0.615 4.01 +73 65 2.315 4.01 +92 88 0 4.01 +92 237 0 4.01 +41 76 2.945 4.015 +62 193 0.9 4.02 +2 25 2.85 4.02 +16 64 3.075 4.02 +87 68 2.245 4.02 +87 97 1.645 4.02 +82 55 3.05 4.025 +40 163 0.94 4.025 +41 46 1.265 4.025 +41 176 0.6 4.025 +2 39 2.56 4.03 +46 64 0 4.03 +7 69 1.35 4.03 +16 63 2.195 4.035 +25 137 0 4.035 +34 165 0.86 4.035 +62 177 2.64 4.04 +60 193 3.51 4.04 +28 60 0 4.04 +173 93 2.2 4.04 +62 91 3.495 4.045 +16 30 2.105 4.045 +92 110 3.06 4.045 +42 91 2.435 4.05 +53 136 1.66 4.05 +2 137 2.615 4.055 +188 91 1.29 4.055 +16 57 1.445 4.055 +51 168 3.015 4.055 +137 132 3.235 4.06 +60 136 2.985 4.06 +12 40 3.435 4.06 +188 55 3.145 4.06 +46 74 0.575 4.06 +25 139 2.055 4.065 +45 91 1.815 4.065 +188 87 3.405 4.07 +45 57 1.31 4.07 +19 40 3.49 4.07 +8 181 2.395 4.075 +48 66 3.465 4.075 +23 16 1.545 4.08 +39 57 0 4.08 +42 93 0 4.08 +173 206 0 4.08 +82 66 0 4.085 +41 180 3.45 4.085 +78 224 0 4.1 +20 51 1.2 4.1 +58 74 2.62 4.1 +21 40 0.96 4.1 +25 21 0 4.105 +90 193 0.13 4.105 +40 165 1.05 4.105 +51 96 2.725 4.105 +131 40 2.11 4.105 +20 40 2.045 4.11 +30 174 2.75 4.11 +218 75 0 4.115 +85 207 3.585 4.115 +57 40 2.99 4.115 +51 194 2.67 4.115 +53 168 2.955 4.115 +92 193 2.95 4.115 +188 219 0 4.12 +32 50 2.16 4.12 +218 118 3.345 4.125 +57 121 3.475 4.125 +29 135 1.73 4.125 +20 24 1.395 4.13 +42 64 0 4.13 +85 35 3.535 4.135 +49 190 2.16 4.135 +70 82 2.91 4.135 +6 185 3.59 4.135 +64 83 2.955 4.14 +93 206 0.395 4.14 +32 163 2.3 4.14 +38 36 2.2 4.14 +131 149 2.8 4.14 +27 153 2.25 4.145 +49 173 3.57 4.145 +31 138 2.38 4.145 +54 82 0.715 4.145 +180 191 0 4.15 +180 188 2.925 4.15 +30 48 3.475 4.15 +205 204 1.305 4.15 +57 118 3.63 4.15 +63 66 0 4.16 +57 175 1.835 4.16 +180 187 2.36 4.165 +188 80 0.515 4.165 +82 72 2.855 4.17 +28 138 3.245 4.17 +42 76 3.44 4.17 +46 63 0 4.17 +18 165 0 4.175 +52 202 2.795 4.175 +55 121 2.36 4.175 +64 63 0 4.18 +188 214 0 4.18 +16 28 2.165 4.18 +52 209 1.425 4.185 +173 159 3.45 4.185 +61 131 3.56 4.195 +85 194 2.99 4.195 +41 55 2.45 4.195 +188 102 1.415 4.2 +93 163 2.535 4.2 +32 131 2.275 4.2 +45 63 1.67 4.2 +49 59 3.565 4.2 +63 193 1.145 4.205 +52 126 3.44 4.21 +218 95 1.84 4.215 +28 170 2.99 4.215 +44 45 0 4.215 +53 66 3.35 4.215 +218 84 3.325 4.22 +205 240 0.22 4.225 +36 222 3.215 4.225 +205 126 0 4.23 +38 39 0 4.23 +51 126 3.465 4.23 +39 56 2.05 4.24 +64 110 2.78 4.245 +12 45 0 4.245 +39 121 2.975 4.245 +46 78 0 4.245 +73 88 3.565 4.25 +32 170 3.73 4.25 +50 72 3.64 4.255 +53 39 0 4.255 +59 63 0 4.26 +93 207 2.585 4.26 +58 189 3.27 4.26 +89 76 0 4.26 +3 67 2.99 4.26 +53 87 3.575 4.26 +40 82 0 4.265 +89 45 1.305 4.265 +63 94 0 4.27 +58 30 1.8 4.27 +10 189 2.455 4.275 +39 42 2.975 4.275 +41 48 2.9 4.275 +175 94 0 4.28 +131 159 1.005 4.28 +41 74 0 4.28 +12 39 0 4.285 +57 201 1.805 4.285 +56 66 0 4.285 +54 44 0 4.285 +93 126 0.9 4.29 +59 118 3.675 4.295 +63 83 3.71 4.3 +175 50 2.93 4.3 +93 82 3.4 4.3 +57 166 3.47 4.305 +48 35 3.68 4.305 +53 44 3.54 4.305 +21 29 2.405 4.305 +28 44 1.28 4.31 +86 226 1.79 4.31 +86 230 0 4.31 +90 166 1.5 4.315 +169 174 1.925 4.315 +81 125 3.72 4.315 +49 175 3.695 4.32 +90 172 3.62 4.325 +92 64 0 4.325 +92 47 3.62 4.33 +58 63 0 4.33 +58 171 3.425 4.33 +57 170 2.75 4.33 +46 18 3.83 4.33 +41 43 0 4.33 +86 117 0 4.33 +64 175 0 4.335 +20 159 3.725 4.335 +90 174 1.715 4.34 +180 63 2.805 4.345 +12 92 3.775 4.345 +90 118 1.205 4.345 +169 118 3.77 4.345 +62 159 1.21 4.35 +85 136 3.845 4.35 +56 121 3.485 4.35 +91 80 0 4.35 +91 207 3.55 4.35 +27 174 2.04 4.355 +175 163 0 4.355 +175 106 3.66 4.355 +53 89 3.735 4.355 +91 233 1.76 4.36 +86 198 3.81 4.36 +218 119 3.265 4.365 +59 94 0 4.365 +73 97 1.7 4.365 +85 168 3.15 4.365 +89 67 1.795 4.365 +44 67 3.645 4.365 +173 192 0.49 4.365 +173 161 0 4.365 +188 220 0 4.37 +36 35 0 4.37 +46 20 0 4.37 +169 197 3.785 4.37 +70 97 1.4 4.37 +10 30 0 4.375 +180 39 3.865 4.38 +78 111 2.455 4.385 +62 192 1.97 4.395 +62 132 3.27 4.395 +10 138 2.425 4.395 +12 60 3.345 4.395 +2 44 3.205 4.4 +54 87 0.74 4.405 +85 163 3.53 4.41 +48 47 0 4.415 +49 30 1.14 4.415 +70 118 2.4 4.415 +41 217 0.52 4.415 +81 77 3.16 4.415 +218 71 3.38 4.42 +6 38 0 4.42 +92 217 3.725 4.42 +70 169 3.875 4.42 +73 56 3.895 4.425 +218 205 3.21 4.43 +44 121 2.35 4.43 +78 65 0 4.435 +50 177 3.38 4.435 +131 85 3.79 4.435 +27 192 3.455 4.44 +78 67 1.985 4.445 +12 73 3.335 4.445 +18 137 0.045 4.45 +44 56 3.025 4.45 +70 114 1.455 4.455 +44 60 0 4.46 +17 21 0 4.465 +169 204 2.7 4.47 +180 66 2.485 4.475 +175 77 3.115 4.475 +91 223 3.835 4.475 +53 137 0.695 4.475 +12 183 1.355 4.48 +27 165 3.385 4.48 +16 20 2.055 4.495 +78 210 2.185 4.5 +8 178 0.84 4.5 +28 89 3.45 4.5 +41 28 3.995 4.5 +218 175 3.25 4.505 +32 189 0.065 4.505 +51 195 2.22 4.505 +180 43 0.195 4.51 +16 29 0 4.51 +51 207 3 4.51 +50 161 0 4.51 +169 206 0.45 4.51 +180 177 0 4.515 +16 90 2.62 4.515 +93 85 3.615 4.515 +32 129 2.165 4.515 +32 90 0.18 4.515 +70 68 0.995 4.52 +57 31 2.89 4.525 +70 86 1.925 4.525 +70 83 0 4.535 +18 132 0 4.54 +93 90 0 4.54 +173 60 1.355 4.545 +180 47 0 4.55 +175 161 0 4.55 +44 72 3.735 4.55 +91 240 3.85 4.55 +70 121 2.41 4.55 +91 162 3.985 4.555 +51 87 2.97 4.555 +31 189 2.46 4.555 +54 70 3.7 4.555 +180 35 0 4.56 +49 21 3.95 4.56 +59 170 3.855 4.565 +90 52 2.16 4.565 +42 121 3.415 4.565 +60 170 3.265 4.57 +70 36 1.485 4.57 +21 63 4.04 4.57 +175 162 2.935 4.575 +32 143 0 4.575 +36 66 0 4.575 +180 77 4.035 4.58 +38 135 3.13 4.58 +8 36 2.86 4.585 +73 55 0 4.585 +73 118 3.25 4.585 +7 73 0.935 4.585 +32 139 0 4.585 +38 27 3.22 4.585 +169 87 1.795 4.585 +17 36 2.86 4.595 +55 83 4.035 4.595 +91 125 0 4.595 +218 90 3.88 4.6 +36 83 3.96 4.6 +41 39 0 4.6 +16 36 3.52 4.605 +18 40 1.36 4.605 +93 3 3.91 4.605 +31 59 4.005 4.605 +19 63 3.21 4.605 +78 95 0 4.62 +32 52 2.23 4.62 +180 17 3.19 4.625 +91 79 0 4.625 +70 88 0 4.625 +21 132 4.12 4.625 +48 3 1.63 4.63 +48 50 2.455 4.63 +171 87 3.32 4.635 +46 190 0 4.64 +54 181 3.995 4.64 +78 68 0 4.645 +60 206 3.245 4.645 +8 37 0 4.65 +175 96 0 4.65 +30 192 3.145 4.65 +19 131 3.485 4.655 +59 57 0 4.66 +175 237 0.07 4.665 +81 85 0 4.665 +81 225 1.66 4.665 +8 78 4.055 4.67 +25 46 2.2 4.67 +91 83 3.91 4.67 +54 132 3.61 4.67 +54 168 2.99 4.67 +78 72 3.32 4.675 +171 203 0 4.675 +81 195 0 4.675 +52 177 2.75 4.675 +81 207 1.585 4.68 +16 33 0 4.685 +7 188 1.425 4.685 +89 217 2.54 4.685 +81 240 3.555 4.685 +173 206 4.115 4.69 +41 92 3.58 4.69 +8 87 4.165 4.695 +59 171 3.855 4.695 +59 206 3.965 4.695 +58 60 3.08 4.695 +89 122 0 4.695 +51 79 4.06 4.695 +78 79 0 4.7 +89 102 4.19 4.7 +51 114 3.93 4.7 +173 45 3.27 4.7 +34 44 3.09 4.71 +54 155 3.58 4.71 +86 120 0.93 4.71 +205 233 0.125 4.715 +89 218 0.35 4.715 +49 143 3.895 4.715 +50 225 4.15 4.72 +173 59 2.455 4.72 +81 122 3.935 4.72 +17 18 2.545 4.725 +175 164 0 4.725 +8 18 3.14 4.73 +7 190 4.225 4.73 +51 225 3.02 4.73 +81 96 2.55 4.73 +175 51 1.25 4.735 +91 119 0 4.735 +54 134 1.81 4.735 +173 63 0 4.735 +27 60 3.38 4.74 +18 28 3.375 4.74 +34 48 1.875 4.74 +91 110 0 4.74 +51 162 0.61 4.74 +169 181 3.84 4.74 +52 194 1.36 4.74 +92 233 0 4.745 +53 70 3.565 4.745 +41 218 3.085 4.745 +52 168 3.01 4.75 +171 122 2.68 4.76 +33 45 0 4.765 +50 87 3.61 4.765 +49 131 0 4.775 +7 10 1.59 4.78 +44 85 3.9 4.78 +62 162 0.505 4.785 +73 220 0 4.79 +12 188 0.555 4.795 +86 114 2.42 4.795 +170 191 3.83 4.8 +180 20 3.955 4.805 +38 24 0 4.805 +92 22 4.13 4.81 +18 24 0 4.815 +18 163 0.67 4.815 +175 63 0 4.815 +175 84 1.91 4.815 +205 164 2.735 4.815 +40 44 3.045 4.815 +48 96 4.26 4.82 +86 233 0 4.825 +205 174 1.14 4.825 +21 10 3.73 4.825 +170 166 0 4.83 +93 110 3.845 4.83 +70 117 0 4.83 +56 172 3.99 4.835 +50 194 3.195 4.835 +16 19 3.725 4.84 +7 28 1.4 4.84 +56 204 3.16 4.84 +91 121 0 4.845 +173 174 0 4.845 +25 59 3.995 4.855 +41 59 0 4.855 +37 215 3.925 4.86 +56 168 0 4.865 +31 90 3.25 4.865 +81 237 2.845 4.865 +8 21 0 4.875 +25 190 3.905 4.88 +30 140 4.215 4.88 +205 128 0.2 4.88 +45 224 4.285 4.88 +62 163 0 4.885 +17 53 2.995 4.885 +56 130 4.29 4.885 +50 162 0 4.885 +173 140 3.955 4.885 +7 89 2.405 4.89 +42 54 2.53 4.89 +62 161 0 4.895 +60 91 3.15 4.9 +5 44 3.39 4.9 +18 165 4.3 4.91 +92 76 0 4.91 +37 71 3.205 4.91 +21 27 2.605 4.91 +66 79 1.385 4.91 +66 211 3.88 4.91 +170 163 3.98 4.915 +180 40 3.665 4.915 +25 89 3.815 4.92 +36 189 4.42 4.92 +62 193 4.405 4.93 +59 76 0 4.93 +38 44 0 4.93 +56 163 0 4.93 +37 241 3.635 4.93 +66 84 1.54 4.935 +30 163 2.495 4.94 +167 168 0 4.94 +205 135 4.375 4.945 +57 188 1.73 4.945 +37 245 3.995 4.945 +29 90 3.385 4.945 +86 249 3.065 4.95 +29 171 4.33 4.95 +8 60 4.285 4.96 +36 163 3.95 4.96 +64 219 3.665 4.965 +85 68 0.915 4.965 +50 168 3 4.965 +25 38 0 4.975 +51 68 1.02 4.975 +21 151 3.735 4.985 +10 188 3.72 4.99 +46 64 4.14 4.99 +55 82 4.045 4.99 +31 27 0 4.99 +30 255 3.88 4.995 +33 70 4.395 4.995 +31 28 2.215 4.995 +48 193 4.445 5 +17 133 0 0.5 +92 231 0 0.505 +114 86 0 0.505 +79 255 0 0.51 +89 197 0 0.51 +199 227 0 0.52 +79 242 0 0.52 +117 133 0 0.52 +92 236 0 0.525 +92 117 0 0.53 +121 21 0 0.53 +107 150 0 0.535 +128 137 0 0.545 +107 14 0 0.545 +6 150 0 0.545 +127 1 0 0.55 +97 125 0 0.55 +123 61 0.045 0.555 +98 111 0 0.56 +98 14 0 0.56 +199 91 0 0.565 +80 126 0 0.565 +98 6 0 0.57 +113 1 0 0.575 +229 241 0 0.58 +102 2 0 0.58 +128 28 0 0.585 +197 92 0 0.585 +112 97 0 0.585 +114 230 0 0.585 +119 2 0 0.59 +84 228 0 0.595 +17 22 0.06 0.595 +80 122 0 0.6 +195 215 0 0.605 +96 116 0 0.61 +6 37 0 0.61 +119 19 0 0.61 +128 228 0 0.615 +83 127 0 0.615 +92 229 0 0.615 +110 1 0 0.615 +114 130 0 0.625 +76 88 0 0.63 +98 18 0 0.63 +97 253 0 0.635 +100 120 0 0.635 +118 133 0 0.635 +71 9 0.135 0.64 +68 193 0.09 0.645 +97 158 0 0.645 +80 127 0 0.65 +83 207 0 0.65 +97 5 0 0.65 +126 14 0 0.655 +95 14 0.035 0.655 +114 133 0 0.655 +119 232 0.06 0.655 +104 152 0 0.66 +13 27 0 0.66 +70 105 0 0.665 +84 238 0 0.665 +227 141 0.095 0.665 +21 1 0 0.67 +100 8 0 0.67 +127 227 0 0.675 +113 101 0 0.675 +225 255 0 0.675 +9 29 0 0.68 +106 126 0 0.68 +115 31 0 0.68 +233 250 0.065 0.685 +83 200 0.07 0.685 +84 17 0.155 0.685 +84 120 0 0.685 +98 127 0 0.685 +121 9 0 0.685 +120 20 0 0.685 +128 251 0.05 0.69 +100 101 0 0.69 +123 239 0.18 0.69 +95 115 0 0.695 +26 54 0 0.7 +95 107 0.115 0.7 +110 2 0 0.7 +30 130 0 0.71 +121 104 0 0.71 +95 111 0 0.715 +113 229 0 0.72 +26 57 0 0.725 +113 21 0 0.725 +231 129 0.13 0.725 +100 21 0 0.73 +110 115 0 0.73 +68 195 0.205 0.735 +84 30 0.09 0.735 +231 243 0 0.735 +30 238 0 0.74 +95 29 0.055 0.74 +100 117 0 0.74 +118 245 0.05 0.74 +26 12 0 0.745 +91 235 0 0.745 +85 113 0 0.745 +95 98 0 0.75 +100 148 0 0.75 +6 26 0.25 0.75 +117 17 0 0.755 +117 23 0.185 0.755 +227 143 0 0.76 +6 18 0 0.765 +233 245 0 0.77 +233 253 0.08 0.77 +85 193 0 0.77 +98 116 0 0.775 +106 29 0 0.775 +125 14 0 0.78 +30 4 0 0.78 +100 5 0 0.785 +6 231 0.215 0.785 +99 158 0 0.79 +87 195 0 0.79 +66 99 0.1 0.79 +98 110 0 0.795 +120 130 0 0.795 +127 4 0 0.8 +87 231 0 0.8 +124 23 0 0.8 +100 18 0 0.8 +6 124 0 0.8 +233 108 0.21 0.805 +9 14 0.2 0.805 +118 6 0 0.805 +80 94 0 0.81 +104 4 0.175 0.81 +127 18 0 0.815 +105 21 0.1 0.815 +126 112 0 0.82 +80 92 0 0.82 +84 229 0 0.82 +227 149 0 0.82 +87 230 0.225 0.82 +92 108 0 0.82 +110 15 0.095 0.82 +127 99 0 0.825 +99 105 0.145 0.825 +98 17 0 0.825 +97 145 0.315 0.83 +22 130 0 0.83 +91 201 0 0.835 +102 248 0 0.835 +104 150 0 0.835 +117 103 0 0.835 +68 101 0 0.845 +98 84 0 0.845 +102 5 0 0.845 +115 239 0.165 0.85 +237 255 0 0.85 +80 96 0 0.855 +83 102 0 0.855 +227 132 0 0.855 +91 124 0 0.855 +72 105 0 0.86 +17 24 0 0.86 +83 205 0.145 0.865 +9 110 0.255 0.865 +9 125 0.21 0.865 +102 99 0 0.865 +88 204 0 0.87 +96 225 0.32 0.87 +100 4 0 0.87 +100 29 0 0.87 +6 24 0 0.87 +116 132 0 0.87 +117 84 0 0.87 +6 27 0 0.875 +102 114 0 0.875 +110 99 0 0.875 +68 205 0.28 0.88 +199 234 0 0.88 +199 247 0.245 0.88 +102 115 0 0.88 +105 23 0.38 0.88 +71 103 0 0.885 +68 85 0 0.885 +201 219 0 0.885 +199 236 0 0.885 +110 116 0 0.885 +141 62 0 0.885 +125 239 0 0.89 +122 10 0 0.89 +66 101 0 0.89 +127 15 0 0.895 +201 208 0 0.895 +227 145 0 0.895 +91 233 0 0.895 +116 22 0.11 0.895 +116 231 0.12 0.9 +26 173 0 0.905 +101 150 0 0.91 +97 84 0.22 0.91 +201 215 0 0.915 +17 131 0 0.915 +229 239 0.215 0.92 +6 42 0 0.92 +117 18 0 0.925 +92 249 0.05 0.93 +13 153 0 0.93 +91 118 0 0.935 +100 158 0 0.935 +104 1 0 0.935 +108 231 0.07 0.935 +108 128 0 0.935 +120 131 0 0.935 +128 144 0 0.94 +71 252 0 0.945 +91 108 0 0.945 +71 107 0 0.955 +84 227 0 0.955 +77 97 0 0.955 +72 121 0 0.96 +80 97 0 0.96 +98 1 0 0.96 +98 21 0 0.96 +110 30 0 0.965 +119 133 0 0.965 +119 8 0 0.97 +71 91 0 0.975 +88 196 0.235 0.975 +117 5 0 0.975 +119 18 0 0.975 +22 136 0 0.975 +229 211 0 0.98 +121 10 0 0.98 +118 226 0 0.98 +71 248 0 0.99 +71 108 0 0.99 +6 28 0 0.995 +79 84 0.34 1 +6 53 0 1 +30 16 0.4 1.005 +123 240 0.4 1.005 +2 30 0 1.005 +96 112 0 1.01 +84 110 0 1.015 +30 131 0 1.015 +13 25 0.46 1.015 +124 240 0.22 1.015 +114 101 0.48 1.015 +79 96 0.08 1.02 +227 238 0 1.02 +6 57 0 1.02 +106 154 0 1.02 +17 141 0 1.02 +17 61 0 1.02 +229 121 0.125 1.025 +79 112 0 1.025 +121 6 0 1.025 +72 246 0.43 1.03 +229 249 0 1.03 +101 8 0.405 1.03 +79 98 0 1.03 +99 7 0.175 1.03 +100 15 0 1.035 +17 34 0 1.035 +6 10 0 1.04 +87 108 0 1.045 +98 113 0 1.045 +102 21 0 1.045 +112 124 0.49 1.045 +83 101 0 1.05 +6 154 0 1.05 +113 120 0 1.05 +126 227 0 1.055 +99 148 0 1.055 +13 41 0.28 1.055 +17 49 0 1.055 +68 116 0.165 1.06 +95 30 0.055 1.06 +114 196 0 1.06 +2 38 0.475 1.06 +128 157 0.115 1.065 +29 174 0.26 1.065 +71 250 0 1.065 +99 150 0 1.065 +117 116 0 1.07 +17 161 0 1.07 +6 112 0.28 1.075 +6 123 0 1.075 +126 143 0.135 1.08 +76 112 0 1.085 +22 19 0 1.085 +123 138 0.105 1.085 +17 50 0 1.085 +124 10 0 1.09 +104 12 0 1.09 +121 231 0 1.09 +227 239 0 1.095 +100 30 0 1.095 +100 20 0.48 1.095 +17 143 0 1.095 +83 227 0 1.1 +118 21 0 1.105 +104 25 0 1.11 +233 219 0 1.115 +26 31 0 1.115 +95 112 0 1.115 +17 62 0 1.115 +127 129 0 1.12 +233 251 0 1.12 +99 4 0 1.12 +95 123 0 1.12 +123 231 0 1.12 +120 129 0 1.12 +117 113 0 1.12 +72 119 0 1.125 +76 95 0.46 1.13 +237 228 0 1.13 +88 116 0 1.13 +30 227 0 1.13 +100 3 0 1.13 +6 19 0 1.13 +102 103 0 1.13 +68 96 0 1.135 +126 31 0.535 1.135 +22 131 0 1.135 +17 32 0 1.135 +72 76 0 1.14 +99 15 0 1.14 +95 121 0.5 1.14 +72 89 0 1.145 +108 154 0 1.145 +95 203 0.34 1.15 +102 252 0 1.15 +84 128 0.135 1.155 +225 141 0.215 1.155 +95 92 0.455 1.155 +120 19 0 1.155 +126 129 0 1.16 +76 109 0 1.16 +124 251 0.21 1.16 +114 30 0 1.16 +91 84 0.61 1.17 +122 138 0 1.17 +111 160 0 1.17 +111 11 0 1.17 +229 215 0 1.18 +2 148 0 1.18 +127 143 0 1.195 +122 251 0.24 1.195 +121 29 0.6 1.195 +113 129 0 1.195 +114 200 0 1.195 +233 22 0.65 1.2 +225 145 0 1.2 +30 14 0 1.2 +5 12 0.525 1.2 +91 68 0.63 1.205 +120 8 0.38 1.21 +105 7 0.04 1.21 +96 124 0.42 1.215 +116 130 0 1.215 +118 125 0.545 1.215 +95 122 0 1.22 +120 134 0 1.22 +26 133 0.36 1.225 +89 88 0 1.23 +95 128 0 1.23 +17 46 0 1.23 +127 27 0.685 1.235 +76 123 0 1.235 +22 139 0 1.235 +110 10 0 1.235 +110 29 0 1.235 +119 27 0.475 1.235 +110 14 0 1.245 +126 229 0.735 1.25 +92 208 0 1.25 +239 232 0.57 1.25 +126 196 0.63 1.26 +100 16 0 1.26 +120 28 0.375 1.26 +116 238 0 1.26 +68 115 0 1.265 +205 219 0.745 1.265 +199 227 0.695 1.27 +115 232 0.715 1.27 +110 16 0.165 1.275 +22 232 0 1.28 +68 244 0 1.285 +116 232 0.515 1.285 +68 127 0 1.29 +121 127 0.685 1.29 +114 129 0 1.29 +89 199 0 1.295 +91 113 0.645 1.295 +17 15 0 1.295 +100 104 0 1.295 +122 231 0 1.295 +95 106 0 1.3 +117 225 0.34 1.3 +80 95 0 1.3 +126 228 0 1.31 +102 88 0 1.31 +122 113 0.72 1.31 +123 113 0.765 1.315 +120 123 0.65 1.315 +113 29 0.33 1.315 +122 207 0 1.32 +239 138 0 1.32 +126 115 0 1.325 +22 10 0.44 1.325 +22 169 0.675 1.325 +225 245 0 1.325 +30 115 0 1.325 +102 233 0.645 1.325 +121 26 0 1.325 +68 125 0 1.33 +121 112 0 1.335 +203 84 0.245 1.335 +83 116 0 1.34 +119 10 0 1.34 +111 154 0 1.34 +237 116 0 1.34 +127 26 0.56 1.345 +118 249 0.275 1.345 +127 141 0 1.35 +22 235 0.67 1.35 +113 14 0 1.35 +237 138 0 1.35 +127 25 0.555 1.355 +112 113 0 1.355 +87 229 0 1.365 +124 139 0.3 1.365 +102 77 0.825 1.365 +92 123 0 1.375 +121 107 0 1.375 +205 225 0 1.38 +77 250 0.7 1.38 +239 132 0 1.38 +76 125 0 1.385 +111 46 0.78 1.395 +237 219 0 1.395 +68 17 0.635 1.4 +87 197 0.735 1.4 +128 238 0 1.405 +76 122 0 1.405 +100 1 0 1.405 +97 243 0 1.405 +101 107 0.445 1.41 +100 256 0.585 1.41 +108 57 0.775 1.41 +110 255 0.155 1.41 +80 255 0.51 1.41 +22 165 0 1.415 +95 116 0 1.415 +22 57 0 1.42 +89 233 0 1.42 +89 203 0 1.42 +106 12 0.81 1.42 +201 249 0 1.42 +114 193 0 1.425 +118 108 0 1.425 +205 238 0 1.43 +88 193 0 1.43 +118 123 0 1.43 +25 59 0.755 1.43 +125 105 0.465 1.435 +104 113 0 1.44 +118 26 0.32 1.44 +92 234 0 1.445 +104 116 0.18 1.445 +122 249 0.26 1.445 +97 14 0.895 1.445 +126 142 0.635 1.45 +17 29 0 1.45 +114 232 0 1.45 +117 2 0 1.45 +83 104 0 1.455 +118 227 0 1.455 +97 238 0.52 1.455 +95 109 0 1.46 +116 120 0 1.46 +111 148 0 1.465 +87 104 0 1.47 +237 225 0 1.47 +122 202 0.26 1.475 +98 149 0.97 1.48 +117 21 0 1.48 +119 236 0.24 1.48 +76 118 0 1.485 +92 202 0 1.49 +96 202 0.435 1.49 +112 27 0 1.49 +195 116 0 1.495 +92 230 0 1.495 +114 228 0 1.495 +97 245 0.755 1.495 +231 136 0.38 1.5 +91 203 0 1.5 +126 29 0 1.505 +229 130 0 1.505 +100 255 0.27 1.505 +121 230 0.17 1.51 +112 26 0 1.51 +229 18 0 1.515 +231 150 0.495 1.515 +124 135 0.865 1.515 +6 37 0.64 1.515 +104 229 0.865 1.515 +108 5 0.625 1.515 +108 21 0 1.515 +118 104 0 1.515 +111 4 0 1.515 +25 141 0.39 1.515 +119 24 0 1.52 +120 235 1.025 1.525 +137 249 0.875 1.53 +205 195 0.125 1.53 +227 136 0 1.535 +91 128 0 1.535 +116 229 0 1.535 +195 208 0.285 1.54 +128 225 0 1.545 +97 2 0 1.545 +76 246 0 1.55 +116 24 0.54 1.55 +118 115 0 1.55 +195 245 0 1.555 +88 104 0 1.56 +108 27 0 1.56 +108 8 0.725 1.565 +119 230 1.05 1.565 +119 29 0.615 1.565 +239 243 0 1.565 +99 116 0.49 1.57 +92 128 0 1.575 +118 232 0 1.575 +111 16 0 1.575 +239 32 0.98 1.58 +137 130 0.925 1.585 +227 243 0 1.585 +91 233 1.08 1.585 +17 10 0.4 1.585 +98 248 0.655 1.585 +121 128 0 1.585 +119 128 0.775 1.585 +126 234 0 1.59 +72 146 1.025 1.59 +229 129 0 1.59 +99 31 1.035 1.595 +91 112 0 1.595 +97 5 0.865 1.595 +91 237 0 1.6 +96 234 0 1.6 +127 32 0 1.605 +195 211 0 1.605 +118 137 0 1.605 +26 142 0 1.61 +83 199 0 1.61 +17 30 0 1.61 +17 129 0 1.61 +116 131 0 1.61 +26 157 0.07 1.615 +117 105 0 1.615 +94 122 0.585 1.62 +88 194 0 1.62 +111 104 0.94 1.62 +68 99 0 1.625 +115 228 0.825 1.625 +119 112 0.495 1.625 +119 235 0.325 1.625 +97 1 0 1.625 +72 17 1.1 1.63 +88 232 0.39 1.635 +108 137 0.13 1.635 +121 235 0 1.635 +31 63 0 1.635 +92 235 0 1.64 +195 191 0.94 1.645 +71 86 1.005 1.65 +72 104 0 1.65 +229 21 0.17 1.65 +124 138 0 1.65 +87 233 0 1.655 +227 135 0.92 1.66 +121 203 0 1.66 +111 31 0.46 1.665 +111 3 0 1.665 +128 137 1.035 1.67 +26 155 0.05 1.67 +229 248 0.33 1.675 +84 208 0 1.68 +92 204 0 1.68 +26 240 0 1.685 +86 122 0.93 1.69 +114 199 0 1.69 +114 226 0 1.69 +205 113 0.305 1.695 +115 239 1.175 1.695 +119 12 0 1.695 +31 2 0 1.695 +120 228 1.085 1.7 +93 84 0.405 1.7 +26 144 0 1.705 +100 123 1.125 1.705 +97 13 1.015 1.705 +31 15 0 1.705 +233 137 0 1.71 +126 226 0.66 1.715 +72 113 0 1.715 +26 143 0 1.715 +17 16 0 1.715 +115 31 0.86 1.715 +207 255 1.21 1.715 +77 113 1.13 1.72 +84 191 0.905 1.725 +100 128 0.56 1.725 +112 30 0 1.725 +117 113 1.22 1.725 +17 128 0 1.73 +237 249 0 1.735 +114 197 0 1.735 +26 239 0.525 1.745 +227 165 1.015 1.745 +91 100 0.715 1.745 +225 30 0 1.745 +6 149 0.855 1.745 +26 58 0 1.75 +100 107 0.615 1.75 +100 106 0.68 1.75 +128 129 0 1.755 +229 243 0 1.755 +99 7 1.105 1.755 +6 3 0.5 1.755 +116 10 1.24 1.755 +5 15 0.995 1.755 +80 100 0.705 1.755 +71 6 0.295 1.76 +225 243 0 1.76 +117 231 0 1.765 +100 96 0.915 1.775 +76 107 0 1.78 +123 20 1.145 1.78 +106 26 0.955 1.78 +114 231 0 1.78 +102 124 0 1.785 +123 236 0.235 1.785 +123 139 0 1.785 +119 110 0.94 1.785 +96 207 0 1.79 +102 125 0.505 1.79 +108 38 0.86 1.79 +120 226 0 1.79 +112 160 0 1.79 +93 100 1.255 1.79 +91 127 0.355 1.795 +106 29 0.81 1.795 +94 110 0.515 1.8 +96 113 0 1.81 +233 247 0 1.815 +96 84 0 1.815 +25 134 1.14 1.815 +5 33 0 1.825 +126 17 0 1.835 +120 236 0.535 1.84 +104 231 1.205 1.85 +77 127 1.135 1.85 +112 20 1 1.85 +108 42 0.755 1.855 +115 6 0 1.855 +115 231 0.11 1.86 +227 161 0.555 1.865 +6 150 0.695 1.865 +77 97 1.025 1.865 +22 12 0 1.87 +118 236 0 1.87 +119 231 0 1.87 +5 14 0.165 1.87 +237 110 1.355 1.875 +77 107 0.79 1.875 +83 193 0 1.88 +92 110 1.18 1.88 +205 196 0 1.885 +87 101 0 1.885 +17 20 0 1.885 +6 53 1.275 1.885 +117 146 1.11 1.885 +79 98 1.2 1.895 +22 7 1.115 1.895 +123 116 1.36 1.895 +237 113 0.54 1.9 +225 20 0.815 1.9 +233 220 0.425 1.905 +123 137 0 1.905 +5 148 0 1.905 +133 150 0.11 1.91 +108 26 0 1.91 +25 169 0 1.91 +98 243 0.705 1.915 +124 134 0 1.915 +239 227 1.215 1.92 +120 232 0 1.92 +104 9 1.26 1.925 +84 238 1.395 1.93 +98 113 1.135 1.935 +124 247 0.055 1.935 +114 126 0 1.935 +126 238 0 1.945 +76 110 0.515 1.96 +83 197 0 1.96 +205 221 0 1.965 +87 218 1.235 1.965 +17 120 0 1.965 +68 82 0 1.97 +133 153 0.36 1.97 +25 139 0 1.97 +124 24 0.625 1.975 +124 249 0.035 1.98 +122 240 0 1.98 +95 195 0.975 1.99 +95 88 1.13 1.99 +124 141 0 1.99 +117 82 0 1.99 +5 53 1.39 1.99 +25 236 0.245 1.99 +82 113 0 1.99 +71 146 0.77 1.995 +117 6 0 1.995 +118 125 1.47 2 +26 169 0 2.005 +122 30 0 2.005 +114 239 0 2.005 +22 232 1.4 2.01 +99 248 0 2.015 +87 106 0 2.015 +17 8 0 2.015 +128 143 0 2.02 +106 120 1.335 2.02 +31 129 0 2.02 +229 249 1.41 2.025 +227 236 0.925 2.025 +68 93 1.41 2.03 +195 239 0.27 2.03 +106 22 0.89 2.03 +106 10 0 2.03 +118 25 0 2.03 +72 119 1.355 2.035 +6 120 0 2.035 +133 49 1.46 2.04 +22 134 0 2.04 +67 146 0.07 2.04 +128 20 0.785 2.045 +126 195 0 2.045 +71 106 0 2.05 +108 120 0 2.055 +119 8 1.48 2.055 +122 236 0 2.06 +126 82 0.46 2.065 +25 235 0 2.065 +121 229 1.52 2.07 +128 61 1.5 2.075 +233 25 1.4 2.08 +84 17 1.515 2.08 +95 82 0.39 2.08 +31 18 0 2.08 +101 106 0.555 2.095 +133 161 0.545 2.095 +99 6 0 2.095 +227 142 0 2.095 +17 239 0 2.095 +84 227 1.57 2.1 +17 227 0 2.1 +19 62 0 2.105 +128 113 0.275 2.11 +128 116 0 2.11 +122 10 1.45 2.11 +116 62 1.39 2.11 +82 120 1.205 2.11 +121 237 0 2.115 +110 128 0 2.115 +116 144 1.4 2.115 +79 256 0.63 2.12 +227 49 1.29 2.12 +102 110 0.77 2.12 +112 45 0.935 2.12 +116 29 0 2.12 +2 15 0 2.12 +87 93 0.255 2.125 +96 208 0 2.125 +128 144 1.02 2.135 +83 229 0 2.135 +99 103 0 2.135 +95 17 0.29 2.14 +116 161 0.585 2.14 +26 125 0 2.145 +83 17 0.955 2.145 +67 244 0 2.145 +239 18 0 2.15 +99 149 0 2.15 +225 130 0 2.15 +122 231 1.46 2.15 +68 126 0 2.16 +71 246 0 2.165 +125 10 0 2.165 +84 229 0.85 2.17 +114 82 0 2.17 +125 235 0 2.175 +83 118 0 2.175 +127 10 0 2.185 +113 21 1.525 2.185 +88 231 0 2.19 +237 116 1.37 2.19 +121 199 0 2.19 +72 101 0 2.195 +84 86 1.475 2.195 +123 42 1.095 2.195 +201 229 1.435 2.2 +84 197 0 2.2 +22 50 0 2.2 +127 122 0 2.205 +237 127 0 2.205 +114 121 1.35 2.205 +79 244 0 2.21 +2 24 0 2.21 +85 92 0 2.21 +85 98 0 2.22 +84 120 1.53 2.225 +14 116 0 2.225 +96 235 0 2.23 +104 24 0.495 2.235 +233 231 0 2.24 +26 53 1.675 2.24 +22 235 1.455 2.24 +2 39 1.6 2.24 +68 117 0 2.25 +95 237 0 2.25 +110 122 0 2.25 +87 96 0.855 2.255 +100 31 0 2.26 +97 255 0 2.26 +30 25 1.01 2.26 +94 239 1.095 2.26 +26 23 0 2.265 +99 227 1.245 2.265 +239 225 0 2.27 +31 235 1.6 2.27 +99 22 1.31 2.27 +26 57 1.075 2.275 +237 31 1.57 2.275 +124 125 0 2.275 +122 137 0 2.275 +94 240 1.455 2.275 +26 21 1.69 2.28 +100 239 1.23 2.28 +121 110 0.545 2.28 +119 125 0.47 2.28 +2 46 0 2.28 +26 32 0 2.285 +239 19 1.24 2.285 +229 122 1.55 2.29 +125 25 0.305 2.29 +114 86 0.78 2.29 +115 137 1.71 2.29 +195 231 0 2.31 +14 30 1.795 2.31 +14 36 0.515 2.31 +100 18 1.79 2.31 +113 227 0 2.31 +97 84 1.55 2.31 +128 32 0 2.315 +225 137 1.795 2.315 +93 110 0.49 2.315 +124 232 0 2.32 +193 253 1.315 2.32 +127 128 0 2.325 +119 229 0 2.325 +205 207 0 2.33 +117 201 1.445 2.33 +121 6 1.34 2.335 +116 141 0 2.335 +116 232 1.735 2.345 +127 15 1.685 2.35 +22 236 0 2.35 +116 139 1.42 2.35 +79 126 1.58 2.355 +127 29 0 2.355 +26 30 0 2.355 +95 205 0 2.355 +98 225 1.775 2.355 +104 152 1.39 2.355 +97 225 1.765 2.355 +193 234 1.18 2.355 +117 96 1.755 2.36 +88 201 0 2.365 +30 235 0 2.365 +2 148 1.355 2.365 +201 124 1.375 2.375 +76 93 0 2.375 +99 18 0.935 2.375 +14 45 0 2.375 +121 125 0 2.375 +123 32 0 2.385 +14 48 1.375 2.39 +121 201 0.175 2.39 +195 227 0 2.395 +118 231 0 2.395 +79 114 1.545 2.4 +193 228 1.605 2.4 +26 232 1.58 2.4 +195 115 0.225 2.405 +96 203 0 2.415 +96 102 1.23 2.415 +96 240 0.355 2.415 +14 12 1.755 2.425 +89 98 1.845 2.43 +22 34 1.52 2.435 +89 216 1.805 2.435 +127 123 0 2.44 +96 124 1.46 2.44 +126 100 0 2.445 +17 225 0 2.445 +207 197 0.475 2.445 +126 110 0 2.45 +207 241 0 2.45 +195 133 1.595 2.46 +233 125 0.125 2.465 +17 31 0 2.465 +108 7 0 2.465 +119 7 1.55 2.47 +207 100 1.56 2.47 +83 111 1.72 2.475 +14 10 0 2.475 +83 98 0 2.49 +17 18 0 2.49 +225 24 1.37 2.495 +108 127 0.345 2.495 +76 245 1.875 2.5 +17 16 1.77 2.5 +107 155 1.895 2.5 +31 113 0.525 2.505 +91 105 0 2.51 +92 125 0 2.52 +121 112 1.865 2.52 +124 24 2.02 2.525 +124 27 0 2.525 +117 229 0 2.525 +83 110 2.015 2.53 +227 8 0.89 2.53 +193 222 1.915 2.535 +88 133 1.98 2.54 +199 133 1.95 2.54 +233 251 1.22 2.545 +125 29 0 2.545 +106 127 0 2.545 +117 195 0 2.555 +93 239 1.985 2.555 +92 80 1.785 2.56 +98 22 1.64 2.56 +207 253 0 2.56 +31 19 0 2.565 +121 77 0.83 2.57 +121 25 0 2.57 +118 93 1.58 2.57 +92 102 0 2.575 +225 30 2.03 2.575 +121 93 0 2.575 +98 21 1.995 2.58 +116 24 1.765 2.58 +117 91 1.16 2.585 +26 151 1.155 2.59 +116 130 1.42 2.59 +31 49 0 2.605 +113 133 1.635 2.61 +92 123 1.815 2.615 +101 115 0 2.62 +205 125 0 2.62 +122 104 1.72 2.62 +193 226 0 2.625 +91 250 0.79 2.625 +233 29 1.465 2.63 +127 228 2.04 2.635 +14 34 0.29 2.635 +123 235 0 2.635 +233 239 1.655 2.645 +96 109 2.035 2.645 +2 149 0.745 2.65 +95 67 1.8 2.655 +205 239 0.225 2.66 +124 23 0.855 2.66 +91 112 1.735 2.67 +114 102 1.875 2.675 +118 235 0 2.675 +207 243 0.58 2.675 +193 142 1.6 2.68 +100 120 1.655 2.68 +79 253 0.645 2.685 +193 195 0 2.69 +92 126 0.345 2.69 +115 8 0 2.695 +79 83 1.445 2.7 +233 22 1.39 2.7 +199 234 0.995 2.7 +71 83 0.51 2.705 +95 88 2.15 2.705 +207 206 2.075 2.715 +88 100 1.57 2.72 +77 92 0.88 2.72 +76 77 0 2.725 +108 42 2.13 2.725 +107 148 1.92 2.725 +233 141 0.74 2.73 +96 100 1.955 2.73 +127 21 2.235 2.735 +76 96 0 2.735 +113 240 1.32 2.735 +114 21 0 2.735 +193 221 0 2.74 +99 149 2.2 2.74 +225 21 1.235 2.74 +124 133 0 2.74 +114 244 1.635 2.74 +124 28 0 2.745 +108 46 2.075 2.745 +120 24 0 2.745 +76 109 1.23 2.75 +225 2 1.805 2.75 +119 10 1.415 2.75 +207 85 2.12 2.755 +207 208 0 2.755 +207 255 1.83 2.755 +101 3 1.96 2.76 +67 83 0 2.76 +122 29 0 2.765 +80 251 0.695 2.765 +126 234 2.145 2.77 +233 236 0 2.77 +115 49 1.465 2.775 +225 20 1.995 2.78 +84 226 0 2.785 +97 110 0 2.785 +5 178 0 2.785 +100 225 1.21 2.79 +96 119 1.03 2.795 +115 3 0.33 2.795 +115 24 0 2.795 +205 234 0 2.8 +22 57 1.49 2.8 +5 4 0 2.8 +237 236 0 2.8 +101 150 2.05 2.81 +227 165 2.04 2.82 +101 182 2.07 2.825 +123 27 0 2.825 +14 115 0 2.83 +237 219 2.115 2.83 +237 251 0 2.835 +86 205 2.19 2.84 +25 8 1.405 2.845 +227 50 0.6 2.845 +22 8 0 2.845 +22 7 2.005 2.845 +112 1 1.06 2.845 +76 107 2.04 2.85 +110 115 1.865 2.855 +114 124 1.14 2.86 +119 103 1.845 2.86 +129 248 1.495 2.86 +71 100 2.27 2.865 +84 100 0.135 2.865 +14 2 0 2.865 +86 122 1.965 2.865 +5 37 0 2.865 +99 34 1.455 2.87 +87 205 2.205 2.875 +110 1 1.685 2.875 +5 149 0 2.875 +115 50 0.66 2.88 +106 16 0.905 2.885 +129 120 2.255 2.885 +88 122 1.885 2.89 +121 96 0 2.895 +80 15 2.215 2.895 +121 128 1.82 2.9 +112 20 2.375 2.9 +229 140 2.055 2.91 +71 91 1.1 2.915 +115 30 2.015 2.915 +119 107 2.305 2.915 +67 100 1.005 2.915 +207 144 2.395 2.915 +122 26 0 2.92 +121 205 1.745 2.92 +101 153 1.725 2.925 +128 10 0 2.935 +227 248 2.19 2.935 +112 17 0 2.935 +119 16 1.975 2.94 +122 25 0 2.945 +227 130 0 2.95 +128 140 1.785 2.955 +117 6 2.415 2.955 +228 248 0.49 2.955 +122 141 0 2.96 +119 12 1.995 2.96 +195 223 0.695 2.97 +118 96 0.515 2.97 +97 13 1.715 2.97 +128 231 1.89 2.975 +17 20 1.985 2.975 +68 13 1.97 2.98 +227 20 0 2.98 +110 16 1.505 2.98 +117 80 1.785 2.98 +100 3 2.32 2.985 +108 103 0 2.985 +193 113 1.135 2.99 +99 102 1.645 2.99 +112 49 2.465 2.99 +61 131 2.39 2.99 +95 17 2.215 2.995 +117 25 2.27 2.995 +80 249 0.67 2.995 +17 101 2.425 3 +80 25 2.215 3 +113 30 0 3.005 +96 31 1.915 3.015 +115 131 2.37 3.015 +127 3 2.245 3.02 +14 3 0 3.02 +113 20 0.79 3.02 +114 110 2.125 3.02 +97 255 2.28 3.02 +110 17 0 3.025 +237 31 2.455 3.025 +29 58 0 3.025 +6 184 1.925 3.025 +128 137 1.78 3.03 +110 19 1.71 3.03 +117 100 2.265 3.035 +228 130 0 3.035 +68 17 1.505 3.04 +107 17 1.365 3.04 +102 103 1.51 3.045 +122 31 1.575 3.045 +127 129 2.185 3.05 +5 12 2.52 3.05 +127 104 2.33 3.055 +76 118 1.52 3.055 +104 3 0 3.055 +106 79 1.65 3.055 +106 109 0 3.055 +31 140 2.485 3.06 +110 4 1.92 3.06 +17 125 0 3.065 +100 104 1.77 3.065 +128 251 1.135 3.07 +83 164 2.445 3.07 +199 237 1.685 3.07 +110 31 0.095 3.07 +228 255 0 3.07 +79 17 1.345 3.075 +112 42 0.385 3.075 +72 76 1.24 3.08 +88 98 0 3.08 +117 242 0.525 3.08 +91 109 0 3.09 +102 156 2.295 3.09 +94 100 1.025 3.095 +233 229 0 3.095 +227 236 2.135 3.095 +110 99 1.89 3.1 +115 231 2.56 3.1 +128 16 2.34 3.105 +218 108 2.525 3.105 +83 118 2.33 3.105 +120 128 1.985 3.105 +112 11 0 3.105 +14 148 0 3.11 +126 212 2.45 3.12 +97 243 2.12 3.12 +22 236 2.475 3.125 +93 203 0 3.125 +94 164 1.145 3.13 +29 24 2.405 3.13 +114 17 0 3.13 +125 32 2.5 3.135 +96 203 2.58 3.135 +106 31 0.935 3.135 +85 113 2.125 3.135 +141 252 1.13 3.14 +118 98 1.67 3.14 +119 31 1.96 3.14 +79 14 2.27 3.145 +87 98 0 3.145 +122 120 0.94 3.145 +207 232 1.37 3.15 +5 1 0 3.15 +126 31 1.545 3.155 +233 93 1.88 3.155 +201 200 0 3.155 +79 112 1.505 3.16 +107 190 2.19 3.17 +9 186 1.435 3.175 +205 208 0 3.18 +104 116 2.605 3.18 +116 120 2.06 3.18 +118 115 2.545 3.185 +6 31 2.58 3.19 +199 115 2.535 3.19 +122 22 0.59 3.19 +98 17 1.01 3.195 +201 202 0 3.195 +61 50 1.275 3.2 +79 244 2.39 3.205 +116 132 0.99 3.205 +84 115 0 3.21 +106 6 0 3.21 +120 19 2.04 3.21 +141 158 0.28 3.215 +67 254 0 3.215 +97 254 0 3.215 +121 22 0.145 3.22 +116 50 0.645 3.22 +61 2 1.33 3.22 +233 197 0.825 3.225 +117 122 1.145 3.225 +126 203 0 3.23 +94 205 0 3.23 +106 14 1.855 3.23 +110 256 0 3.23 +72 242 0 3.235 +83 127 2.005 3.235 +14 149 0.91 3.235 +5 39 2.35 3.235 +233 202 2.71 3.24 +227 247 2.06 3.24 +225 127 0 3.24 +84 127 0 3.245 +9 44 0.74 3.25 +116 17 0 3.25 +228 230 2.35 3.25 +141 20 2.74 3.255 +207 20 2.4 3.26 +88 22 1.335 3.265 +108 156 0.29 3.265 +127 5 2.525 3.27 +92 203 0 3.27 +128 138 0 3.275 +225 22 1.395 3.275 +127 142 1.675 3.28 +199 128 1.95 3.28 +81 86 1.41 3.28 +110 15 1.795 3.285 +120 25 0 3.285 +100 149 2.775 3.295 +108 7 2.53 3.295 +127 30 0 3.3 +120 28 1.73 3.3 +193 239 0.295 3.305 +108 10 0 3.305 +120 23 0 3.305 +110 116 1.575 3.31 +120 18 0 3.31 +14 20 0 3.315 +6 10 1.345 3.315 +72 115 0 3.32 +79 254 0 3.325 +96 164 2.8 3.325 +116 16 2.51 3.325 +84 239 0 3.33 +87 197 2.8 3.33 +199 123 2.76 3.33 +67 245 0 3.33 +86 241 2.475 3.335 +229 131 2.835 3.34 +196 245 0 3.345 +99 3 0 3.345 +80 125 0 3.345 +227 131 0 3.35 +107 12 2.83 3.355 +19 131 2.075 3.355 +125 20 1.99 3.36 +225 97 2.65 3.36 +14 30 2.335 3.365 +199 104 2.535 3.37 +228 24 0.895 3.37 +110 154 2.36 3.375 +207 30 0.115 3.375 +106 29 2.005 3.385 +110 68 0 3.385 +118 203 0.3 3.385 +107 31 0.945 3.385 +127 20 0 3.395 +101 152 1.59 3.395 +199 22 1.865 3.395 +227 34 1.345 3.4 +14 42 0.535 3.4 +100 15 2.645 3.4 +67 99 0 3.4 +196 232 0.165 3.405 +22 140 0 3.405 +22 24 0 3.405 +141 143 0 3.405 +101 115 2.745 3.41 +91 107 0 3.41 +80 253 0.375 3.41 +128 27 0 3.415 +22 135 0 3.415 +141 16 2.515 3.415 +228 53 2.9 3.415 +71 245 0.75 3.42 +101 38 2.14 3.42 +99 119 1.445 3.42 +100 1 1.575 3.42 +106 239 1.945 3.42 +122 29 2.87 3.42 +101 156 1.625 3.425 +19 40 2.01 3.425 +104 53 1.35 3.425 +108 28 0 3.43 +107 156 0 3.43 +22 133 0 3.435 +141 135 2.84 3.435 +141 159 1.385 3.435 +117 216 0.56 3.435 +91 112 2.69 3.44 +80 6 1.425 3.44 +22 53 0 3.445 +118 29 2.885 3.445 +125 29 2.905 3.45 +141 155 2.625 3.45 +121 199 2.25 3.45 +113 5 2.925 3.45 +98 8 2.705 3.455 +107 239 2.925 3.455 +116 139 2.48 3.46 +80 13 0.525 3.46 +233 208 0 3.465 +196 237 2.775 3.465 +227 129 0 3.465 +141 62 2.45 3.465 +67 216 0 3.47 +207 227 2.72 3.47 +83 199 2.39 3.475 +115 38 2.44 3.475 +127 34 1.955 3.48 +125 16 1.575 3.48 +86 203 0 3.48 +121 216 1.385 3.48 +118 200 0 3.48 +86 124 1.365 3.485 +99 101 0 3.49 +115 8 2.945 3.49 +72 199 2.045 3.495 +87 124 0 3.495 +91 123 0 3.495 +225 21 2.785 3.495 +108 120 2.885 3.495 +115 4 0 3.495 +196 157 2.59 3.5 +9 58 2.68 3.5 +225 124 1.43 3.505 +225 87 2.245 3.51 +95 13 2.17 3.51 +99 1 0 3.515 +5 4 2.975 3.515 +6 29 2.24 3.52 +106 104 3.015 3.52 +119 115 0 3.52 +88 99 1.78 3.525 +116 157 1.41 3.525 +22 16 2.255 3.53 +100 61 2.1 3.53 +119 2 2.01 3.53 +79 72 1.105 3.535 +79 114 2.475 3.535 +6 155 1.975 3.535 +115 49 2.92 3.535 +207 133 1.52 3.535 +6 112 1.2 3.545 +119 21 0 3.545 +5 156 0 3.545 +193 221 2.795 3.55 +118 26 1.47 3.55 +107 251 0 3.55 +193 157 2.865 3.555 +101 114 1.245 3.555 +92 204 2.07 3.56 +92 123 2.705 3.56 +19 50 0 3.565 +6 251 2.905 3.565 +6 21 0 3.565 +123 21 2.94 3.565 +106 25 0 3.565 +47 67 1.36 3.565 +87 204 2.995 3.57 +104 29 2.42 3.57 +233 220 2.47 3.575 +239 27 2.82 3.575 +114 124 3.07 3.575 +119 137 0 3.575 +9 32 2.54 3.575 +14 128 3.075 3.58 +9 251 2.875 3.58 +195 145 2.685 3.585 +127 1 1.54 3.59 +126 30 0 3.59 +127 32 1.82 3.595 +102 23 1.735 3.595 +117 246 2.44 3.595 +117 21 2.12 3.595 +9 48 2.475 3.595 +84 88 0 3.6 +123 27 2.87 3.6 +95 88 2.735 3.605 +108 23 0 3.605 +76 252 3.025 3.61 +94 88 2.705 3.61 +108 12 0 3.61 +88 228 2.035 3.615 +104 108 0 3.615 +104 137 1.335 3.615 +107 128 3.1 3.615 +112 12 0 3.62 +22 57 2.935 3.625 +127 33 2.625 3.63 +102 91 0 3.63 +119 229 2.755 3.63 +123 137 1.95 3.635 +92 120 2.775 3.64 +115 61 2.075 3.64 +207 237 0 3.64 +99 227 2.82 3.645 +22 8 3.05 3.65 +107 25 1.77 3.65 +96 61 3.08 3.66 +100 5 2.45 3.66 +106 120 2.705 3.66 +228 245 2.395 3.66 +126 61 2.655 3.665 +108 11 0.26 3.665 +121 110 3.14 3.665 +92 124 0 3.67 +121 124 0 3.67 +14 12 2.82 3.68 +22 139 2.995 3.69 +225 241 2.755 3.69 +123 30 0 3.69 +110 13 0 3.69 +71 100 3.195 3.695 +233 253 2.985 3.7 +119 6 0 3.705 +9 125 2.585 3.705 +141 116 2.445 3.705 +95 109 1.765 3.71 +114 242 1.615 3.71 +84 226 2.9 3.715 +4 63 0 3.715 +227 19 0.485 3.72 +22 18 0 3.72 +79 244 3.215 3.725 +72 92 2.37 3.725 +84 116 0 3.725 +4 178 0.575 3.725 +95 242 3.17 3.73 +116 227 0 3.73 +116 240 0 3.73 +118 229 0 3.73 +107 119 2.985 3.73 +5 227 2.91 3.74 +199 234 3.2 3.74 +79 13 1.025 3.745 +121 123 0 3.745 +117 229 2.57 3.745 +5 108 2.635 3.745 +218 105 2.375 3.75 +126 123 0 3.755 +102 112 0.41 3.755 +112 22 2.675 3.755 +133 50 0 3.755 +128 116 2.665 3.76 +118 104 1.81 3.76 +141 256 3.18 3.76 +125 32 3.195 3.765 +101 153 3.065 3.765 +83 118 3.155 3.765 +121 105 0 3.765 +141 61 2.5 3.765 +80 98 2.44 3.77 +128 61 2.51 3.775 +79 67 0 3.78 +71 242 0 3.78 +95 67 3.075 3.78 +4 190 0.175 3.78 +193 83 2.025 3.785 +117 113 2.43 3.785 +97 19 3.06 3.785 +5 119 1.42 3.785 +72 84 0.2 3.79 +99 228 3.06 3.79 +199 241 1.35 3.79 +114 84 0 3.795 +114 226 3.065 3.795 +207 157 1.13 3.805 +102 120 0 3.81 +118 227 1.55 3.81 +119 28 0 3.81 +199 203 0 3.815 +225 118 1.7 3.82 +71 83 3.035 3.825 +77 109 0 3.825 +9 153 3.27 3.825 +35 71 0.665 3.83 +124 138 2.91 3.835 +218 109 0 3.84 +88 194 3.05 3.84 +114 125 2.5 3.84 +4 48 0.515 3.84 +122 120 3.275 3.845 +117 195 2.8 3.845 +71 120 0.955 3.85 +121 104 0.825 3.85 +96 228 3.315 3.855 +128 157 1.165 3.86 +99 125 2.62 3.86 +86 122 3.205 3.86 +117 2 2.23 3.86 +233 223 2.835 3.87 +97 244 0 3.87 +120 29 2.27 3.875 +97 118 3.165 3.875 +193 110 3.1 3.88 +195 227 2.745 3.88 +26 248 2.72 3.88 +97 119 2.745 3.88 +233 126 1.225 3.885 +218 193 3.37 3.885 +115 232 3.275 3.885 +117 201 3.18 3.89 +97 76 3.31 3.89 +126 145 2.415 3.9 +141 129 0 3.9 +121 101 0 3.9 +129 177 2.845 3.905 +233 215 0 3.91 +218 250 0 3.915 +26 232 2.44 3.915 +72 100 0.925 3.92 +196 145 2.455 3.925 +199 220 3.095 3.925 +22 7 2.985 3.925 +22 27 0 3.925 +14 48 2.825 3.925 +207 194 3.265 3.925 +71 5 2.61 3.93 +68 96 2.33 3.93 +118 101 2.665 3.93 +196 200 0 3.935 +102 122 0 3.935 +117 25 3.09 3.935 +95 72 1.035 3.94 +100 125 0 3.94 +67 76 1.105 3.945 +228 61 2.78 3.945 +230 248 2.06 3.945 +91 108 1.155 3.95 +76 101 3.225 3.955 +95 238 2.975 3.96 +218 107 0.305 3.965 +233 197 3.245 3.97 +195 201 1.52 3.97 +83 226 2.42 3.97 +76 122 3.275 3.975 +22 54 0 3.975 +22 31 2.145 3.975 +102 124 1.82 3.975 +66 81 3.41 3.975 +102 25 0 3.98 +108 239 2.86 3.98 +114 119 0 3.98 +128 25 0 3.985 +96 238 2.9 3.985 +123 240 2.72 3.985 +112 240 2.74 3.985 +113 239 0 3.985 +113 229 1.025 3.99 +133 27 3.355 3.99 +71 99 0.71 3.995 +84 228 1.53 4 +4 36 0 4.01 +196 241 0 4.015 +118 197 0 4.015 +81 221 3.005 4.02 +81 241 2.845 4.02 +120 128 3.43 4.02 +127 228 3.325 4.025 +76 118 3.29 4.025 +133 34 3.515 4.025 +239 145 0 4.03 +112 129 3.51 4.03 +22 231 0 4.035 +102 107 0 4.035 +126 226 2.92 4.04 +26 234 2.59 4.04 +101 128 3.335 4.045 +80 122 1.27 4.045 +129 173 3.5 4.045 +133 22 3.485 4.05 +79 256 2.29 4.055 +141 25 2.52 4.055 +112 100 0 4.055 +113 133 3.38 4.055 +4 8 0 4.055 +83 99 0.38 4.06 +96 83 2.205 4.06 +207 145 1.33 4.06 +228 2 3.495 4.06 +233 195 1.675 4.07 +239 138 2.12 4.07 +76 91 0 4.075 +83 194 3.185 4.075 +118 193 3.5 4.075 +81 226 1.985 4.08 +22 137 0 4.08 +227 236 3.465 4.085 +113 22 3.585 4.085 +106 124 0 4.09 +79 255 0.55 4.1 +68 120 2.855 4.1 +88 226 0 4.1 +110 124 3.34 4.1 +19 133 1.4 4.105 +106 126 1.09 4.11 +83 116 2.14 4.115 +96 223 2.525 4.12 +104 25 1.195 4.12 +71 101 0 4.125 +129 34 3.575 4.125 +113 227 2.415 4.125 +201 215 1.48 4.125 +72 99 0 4.13 +14 17 0 4.13 +9 42 0 4.13 +106 98 2.645 4.13 +107 11 0 4.13 +22 10 1.5 4.14 +225 99 1.725 4.145 +129 149 1.69 4.15 +14 190 0.15 4.15 +9 190 2.095 4.15 +23 184 1.865 4.15 +233 101 3.615 4.155 +83 127 3.445 4.155 +99 22 3.085 4.16 +19 228 2.675 4.16 +129 31 2.91 4.165 +115 17 0 4.165 +72 119 2.105 4.17 +142 235 2.71 4.17 +225 127 3.56 4.17 +106 193 3.13 4.17 +106 101 2.14 4.17 +23 31 3.625 4.17 +19 48 3.335 4.17 +9 45 0.34 4.175 +122 204 0 4.175 +116 17 3.495 4.175 +66 86 3.255 4.175 +233 231 3.01 4.18 +125 139 3.62 4.18 +101 21 0 4.18 +22 229 0 4.18 +117 230 3.295 4.18 +119 26 0 4.185 +125 157 3.59 4.19 +84 194 2.765 4.19 +22 21 0 4.19 +86 207 3.675 4.19 +119 25 0 4.19 +4 5 3.66 4.19 +125 158 3.66 4.195 +199 128 3.515 4.195 +121 86 0 4.2 +96 144 3.71 4.21 +94 193 0 4.21 +61 45 3.25 4.21 +114 133 3.465 4.215 +61 17 3.555 4.215 +124 173 3.71 4.22 +114 101 3.58 4.22 +66 225 3.295 4.22 +4 3 0 4.22 +123 144 3.59 4.225 +106 237 2.44 4.225 +116 120 3.695 4.225 +80 101 0.895 4.225 +71 88 0.555 4.23 +127 17 0 4.23 +102 114 2.79 4.23 +66 121 3.72 4.23 +72 195 1.51 4.235 +99 120 0.445 4.24 +118 91 1.04 4.24 +199 26 1.63 4.245 +108 16 0.275 4.245 +117 99 0 4.245 +83 125 2.135 4.25 +112 49 3.195 4.25 +114 230 3.43 4.25 +66 207 3.37 4.25 +129 139 1.155 4.255 +96 235 3.415 4.255 +123 107 0 4.255 +227 25 0.98 4.26 +225 231 0.125 4.26 +141 170 1.08 4.26 +104 6 0 4.26 +122 223 2.735 4.26 +122 239 0 4.26 +4 20 0 4.26 +233 236 2.86 4.265 +112 173 3.595 4.265 +100 115 0 4.27 +9 28 2.475 4.275 +120 247 3.745 4.275 +4 104 3.61 4.275 +4 152 0.625 4.28 +61 13 1.4 4.28 +106 127 3.565 4.285 +113 34 3.6 4.285 +114 124 3.645 4.285 +116 229 1.93 4.285 +119 193 3.75 4.285 +81 142 3.72 4.29 +225 22 3.415 4.29 +112 113 1.44 4.29 +97 103 3.165 4.29 +106 201 3.065 4.295 +23 44 0 4.295 +61 36 3.355 4.305 +77 193 2.19 4.305 +106 123 0 4.305 +225 2 3.53 4.31 +77 207 2.95 4.31 +126 194 3.455 4.315 +239 58 3.655 4.315 +123 127 3.35 4.315 +77 113 2.07 4.315 +120 18 3.52 4.32 +116 46 3.445 4.32 +117 227 0 4.32 +4 207 3.765 4.32 +128 247 3.82 4.325 +84 116 3.815 4.325 +95 228 2.985 4.325 +96 142 2.73 4.325 +61 34 1.175 4.33 +106 233 1.33 4.335 +237 247 3.73 4.34 +124 236 0 4.34 +104 244 3.35 4.34 +80 123 1.105 4.34 +61 33 1.12 4.345 +66 196 3.345 4.345 +199 194 3.02 4.35 +123 235 2.825 4.35 +125 115 2.12 4.355 +239 16 2.305 4.355 +77 100 0.915 4.355 +112 142 2.51 4.355 +87 197 3.37 4.355 +127 16 0 4.36 +124 253 3.425 4.36 +4 34 0 4.36 +122 230 0.145 4.365 +119 31 3.63 4.365 +61 63 3.255 4.37 +126 212 3.385 4.37 +227 57 3.795 4.375 +96 123 0 4.385 +61 115 3.71 4.395 +23 53 0 4.395 +96 124 3.42 4.395 +120 137 0 4.395 +80 100 3.53 4.395 +239 228 0 4.4 +227 53 1.02 4.4 +19 8 0 4.4 +96 113 1.94 4.4 +120 235 2.94 4.4 +26 170 0 4.4 +196 120 3.02 4.405 +19 3 0 4.405 +141 189 0 4.405 +101 110 3.275 4.41 +83 100 0 4.41 +19 23 3.315 4.41 +95 122 2.605 4.41 +96 14 3.395 4.41 +122 123 0 4.41 +237 157 0.26 4.415 +106 94 3.6 4.415 +71 119 0.205 4.42 +239 49 3.125 4.42 +141 156 3.52 4.425 +106 84 3.51 4.425 +199 247 0.985 4.43 +141 158 3.335 4.43 +100 207 3.11 4.43 +102 5 1.77 4.43 +5 227 3.86 4.43 +23 55 0 4.435 +125 228 2.195 4.44 +117 199 0 4.44 +119 14 3.66 4.44 +99 207 2.875 4.445 +196 113 1.4 4.45 +88 249 3.605 4.45 +23 41 1.76 4.45 +112 46 0.97 4.45 +233 108 3.23 4.455 +237 142 0 4.455 +23 152 1 4.455 +96 107 2.875 4.455 +118 96 3.435 4.465 +100 116 0 4.47 +84 113 0 4.475 +96 116 2.525 4.475 +94 107 3.79 4.475 +104 8 0 4.475 +80 94 3.615 4.475 +23 42 2.465 4.48 +201 124 2.605 4.48 +96 141 3.435 4.48 +196 199 0.765 4.485 +68 196 3.305 4.49 +193 194 2.32 4.49 +102 103 3.395 4.49 +106 95 1.65 4.49 +127 142 3.77 4.495 +233 125 3.97 4.495 +199 228 3.925 4.495 +95 239 0.29 4.495 +117 233 0.67 4.495 +84 195 0 4.5 +126 158 3.37 4.505 +193 234 3.99 4.505 +233 96 0 4.505 +95 108 3.345 4.505 +108 103 3.815 4.505 +110 25 3.755 4.505 +126 129 2.415 4.51 +4 160 3.84 4.51 +96 61 3.79 4.51 +71 216 0 4.515 +23 6 0 4.515 +115 34 1.26 4.515 +83 199 3.595 4.525 +227 135 1.915 4.53 +122 120 3.95 4.53 +112 20 3.71 4.53 +126 113 0 4.545 +99 21 0 4.545 +106 125 0 4.545 +193 212 0.17 4.55 +4 112 1.22 4.55 +95 14 2.39 4.55 +95 99 1.77 4.55 +79 112 3.23 4.555 +193 144 3.875 4.56 +88 122 3.53 4.56 +225 19 1.19 4.56 +94 125 0 4.56 +124 125 3.625 4.56 +100 61 3.615 4.56 +71 80 0.06 4.565 +77 119 3.61 4.565 +98 227 3.8 4.575 +102 146 1.095 4.575 +112 207 2.72 4.58 +97 17 0.785 4.58 +2 40 1.31 4.585 +233 193 2.66 4.59 +101 227 2.865 4.59 +196 116 2.575 4.59 +123 125 0 4.59 +79 99 0.91 4.6 +79 61 3.8 4.6 +201 234 3.59 4.6 +124 247 2.055 4.6 +102 216 0 4.6 +102 154 2.46 4.6 +117 122 3.32 4.6 +67 226 4.035 4.605 +107 99 3.49 4.61 +95 112 1.87 4.61 +9 156 0 4.61 +77 66 1.645 4.61 +99 116 1.94 4.62 +26 25 0 4.62 +225 230 1.43 4.62 +104 133 3.58 4.62 +201 120 3.115 4.63 +201 229 4.095 4.63 +88 98 3.585 4.635 +104 116 3.475 4.635 +207 133 3.565 4.635 +127 20 3.8 4.645 +72 115 3.375 4.645 +67 246 3.935 4.645 +201 230 0 4.65 +124 216 4.095 4.65 +79 108 3.385 4.655 +225 145 2.08 4.655 +77 112 2.1 4.655 +22 230 0 4.66 +14 160 0 4.66 +201 240 3.59 4.66 +26 38 3.73 4.665 +201 216 3.67 4.665 +128 230 1.8 4.67 +88 230 0 4.67 +123 128 0 4.67 +196 115 3.33 4.68 +14 45 2.805 4.68 +118 128 1.715 4.68 +22 128 1.8 4.685 +201 96 3.575 4.69 +9 160 0 4.69 +108 127 2.86 4.69 +23 27 3.77 4.695 +110 46 3.93 4.695 +116 34 1.76 4.695 +126 112 1.81 4.7 +22 26 0 4.705 +113 20 3.73 4.71 +101 14 3.325 4.72 +94 207 0 4.72 +129 49 0.795 4.72 +87 195 1.655 4.725 +112 19 1.075 4.725 +115 230 3.4 4.725 +94 97 3.895 4.73 +9 182 3.345 4.73 +94 225 2.705 4.735 +97 207 3.58 4.735 +233 253 3.77 4.745 +116 63 4.09 4.745 +94 100 3.225 4.75 +77 250 4.08 4.755 +229 247 0 4.755 +94 110 2.63 4.76 +100 15 3.85 4.765 +141 137 2.05 4.77 +80 22 4.11 4.77 +229 137 0 4.775 +83 228 2.21 4.785 +88 227 0 4.785 +94 113 0 4.785 +79 207 3.255 4.795 +84 110 1.785 4.795 +9 5 3.25 4.795 +104 119 0 4.795 +199 22 3.54 4.8 +66 113 3.73 4.8 +68 211 1.84 4.805 +201 164 4.265 4.805 +114 227 0 4.805 +114 21 2.905 4.81 +115 24 2.95 4.81 +98 119 0 4.815 +95 107 2.52 4.82 +122 22 3.44 4.83 +108 61 1.91 4.83 +201 197 0 4.835 +123 61 1.01 4.835 +110 207 2.7 4.835 +233 239 2.875 4.84 +239 143 0 4.84 +127 49 1.79 4.845 +126 253 2.27 4.845 +126 235 0 4.845 +98 28 4.055 4.845 +29 38 3.145 4.845 +23 230 3.865 4.85 +123 32 3.605 4.85 +115 137 2.6 4.85 +29 54 2.045 4.855 +72 98 0 4.86 +87 98 4.31 4.86 +199 122 0 4.86 +141 10 1.975 4.86 +105 182 3.5 4.86 +119 101 0 4.865 +83 104 3.11 4.87 +122 235 0 4.87 +118 235 2.87 4.87 +68 98 0 4.875 +113 17 0 4.875 +23 141 4.205 4.88 +95 61 2.555 4.88 +115 231 3.175 4.88 +72 211 0.585 4.885 +83 229 2.395 4.885 +126 61 4.12 4.89 +125 157 4.325 4.89 +4 116 1.175 4.89 +199 203 4.38 4.89 +227 235 3.395 4.895 +110 100 0 4.9 +79 126 4.35 4.905 +126 110 2.605 4.905 +237 216 3.535 4.905 +193 207 0 4.91 +87 211 4.29 4.91 +239 138 4.235 4.91 +98 112 4.365 4.91 +141 61 4.01 4.91 +108 23 3.775 4.91 +68 87 4.15 4.915 +112 16 0 4.915 +119 126 3.91 4.915 +227 248 4.38 4.92 +110 141 4.405 4.92 +239 157 0 4.925 +239 27 3.74 4.925 +121 98 1.425 4.925 +118 98 3.37 4.925 +80 95 2.29 4.925 +126 141 0 4.93 +98 124 3.73 4.93 +196 125 2.92 4.935 +14 6 2.565 4.935 +14 11 0 4.935 +9 23 0 4.935 +123 230 2 4.935 +110 116 3.485 4.935 +127 2 0 4.94 +22 141 2.505 4.94 +225 127 4.27 4.94 +123 21 4.39 4.94 +114 116 0 4.94 +119 23 0 4.94 +68 2 4.37 4.945 +105 14 2.23 4.945 +239 235 0 4.945 +88 113 0 4.945 +114 211 3.625 4.945 +79 84 1.645 4.95 +95 4 3.37 4.95 +115 123 4.385 4.95 +123 90 4.44 4.955 +112 28 4.01 4.955 +239 189 2.56 4.96 +112 58 3.91 4.96 +196 241 4.225 4.965 +121 104 4.075 4.965 +237 26 4.425 4.97 +196 240 3.57 4.97 +119 203 4.43 4.97 +68 88 0 4.975 +68 120 4.25 4.975 +120 129 4.425 4.975 +79 83 2.82 4.98 +83 115 0 4.985 +108 141 4.395 4.985 +113 22 4.435 4.985 +116 49 1.115 4.985 +117 99 4.455 4.985 +119 125 3.62 4.985 +239 253 0 4.99 +98 38 3.91 4.99 +113 98 3.675 4.99 +113 38 4.435 4.99 +114 124 4.37 4.99 +23 112 4.21 4.995 +106 128 0 5 +196 212 0 5 +100 147 4.145 5 +9 125 3.92 5 +125 141 0 5 +194 114 0 0.5 +206 195 0 0.5 +180 48 0 0.51 +192 220 0 0.515 +190 218 0 0.52 +37 70 0 0.52 +148 8 0 0.525 +37 85 0 0.525 +155 187 0 0.53 +45 65 0 0.535 +213 229 0 0.535 +179 214 0 0.545 +155 188 0 0.55 +181 215 0.035 0.55 +192 80 0 0.555 +172 218 0 0.555 +198 246 0 0.555 +15 36 0 0.56 +188 40 0 0.56 +73 192 0 0.56 +183 246 0.045 0.565 +1 16 0 0.565 +137 149 0 0.565 +151 187 0 0.57 +149 156 0 0.57 +11 187 0 0.575 +151 162 0 0.575 +39 215 0 0.575 +206 194 0 0.575 +134 162 0 0.58 +151 178 0 0.58 +176 164 0 0.58 +144 172 0 0.585 +11 218 0.07 0.585 +39 67 0 0.585 +1 31 0 0.59 +194 84 0 0.595 +15 49 0 0.595 +168 188 0 0.595 +73 45 0 0.595 +189 43 0 0.6 +209 242 0 0.6 +180 66 0 0.6 +184 65 0 0.605 +15 34 0 0.61 +15 29 0 0.61 +37 185 0 0.61 +15 5 0.045 0.615 +144 190 0 0.615 +191 218 0 0.62 +209 225 0 0.625 +179 67 0 0.625 +147 15 0 0.63 +170 11 0.03 0.63 +177 3 0 0.63 +198 216 0 0.63 +189 11 0 0.635 +213 230 0 0.635 +1 19 0 0.64 +69 68 0 0.64 +179 65 0 0.645 +209 253 0 0.65 +73 224 0 0.65 +189 166 0.04 0.66 +209 77 0 0.66 +144 185 0 0.665 +221 201 0 0.665 +150 12 0 0.67 +165 60 0 0.67 +190 65 0 0.675 +182 162 0 0.675 +178 214 0 0.675 +69 81 0 0.675 +41 53 0 0.68 +148 34 0 0.68 +152 185 0 0.68 +135 55 0 0.68 +150 11 0 0.69 +45 221 0 0.69 +150 185 0 0.7 +197 87 0 0.7 +189 222 0 0.705 +7 43 0 0.705 +45 191 0 0.705 +166 215 0.13 0.71 +173 186 0.08 0.735 +210 226 0.185 0.735 +139 186 0.085 0.735 +43 75 0 0.74 +184 215 0 0.74 +171 237 0.075 0.74 +177 35 0 0.74 +69 53 0.145 0.74 +47 34 0 0.745 +165 201 0.22 0.755 +198 234 0 0.755 +139 175 0.13 0.755 +33 77 0 0.76 +172 191 0.05 0.76 +174 186 0 0.76 +206 179 0 0.76 +168 215 0 0.765 +45 27 0 0.77 +148 35 0 0.775 +191 33 0 0.78 +191 224 0 0.78 +183 201 0 0.785 +147 35 0 0.79 +190 35 0 0.795 +47 64 0.07 0.795 +171 186 0.13 0.805 +150 8 0 0.805 +182 172 0 0.805 +136 7 0.305 0.81 +189 164 0 0.81 +162 183 0 0.81 +187 201 0 0.81 +164 192 0.265 0.815 +197 215 0 0.815 +43 70 0 0.82 +47 49 0 0.82 +159 153 0.085 0.82 +170 221 0 0.82 +172 208 0.305 0.82 +197 183 0 0.82 +131 152 0.045 0.825 +156 8 0.245 0.825 +135 57 0 0.825 +217 208 0 0.825 +41 70 0 0.835 +171 219 0 0.835 +183 200 0 0.835 +206 238 0 0.84 +191 210 0 0.845 +136 54 0 0.845 +198 187 0 0.845 +221 188 0 0.85 +206 253 0 0.855 +191 212 0 0.86 +144 175 0 0.86 +135 149 0 0.865 +155 177 0.045 0.87 +33 51 0 0.875 +221 249 0.215 0.875 +191 219 0 0.88 +180 77 0 0.88 +45 218 0 0.885 +191 185 0.39 0.89 +136 37 0.31 0.89 +148 16 0 0.89 +132 165 0 0.9 +45 93 0 0.9 +151 149 0 0.905 +182 43 0 0.905 +217 245 0 0.905 +144 62 0 0.91 +172 192 0 0.91 +33 61 0.25 0.915 +156 43 0 0.915 +206 180 0 0.915 +198 188 0 0.915 +156 184 0.395 0.92 +183 202 0 0.92 +190 77 0 0.925 +160 191 0 0.925 +182 34 0 0.925 +143 52 0 0.925 +191 178 0 0.93 +187 215 0 0.93 +187 253 0.29 0.94 +147 194 0.12 0.945 +155 191 0 0.945 +188 215 0 0.945 +176 180 0 0.945 +177 186 0.075 0.945 +135 152 0.425 0.945 +148 186 0.26 0.95 +135 144 0.27 0.95 +131 52 0 0.955 +191 47 0 0.955 +156 37 0 0.955 +168 214 0 0.955 +45 177 0 0.955 +132 152 0 0.96 +152 168 0 0.96 +156 57 0.175 0.96 +69 83 0 0.96 +217 246 0 0.96 +188 37 0 0.965 +132 181 0 0.98 +162 184 0 0.98 +39 216 0 0.98 +176 177 0 0.98 +41 61 0.25 0.99 +217 197 0 0.995 +186 222 0 1 +171 199 0 1.005 +188 216 0 1.005 +186 180 0.12 1.01 +213 195 0 1.01 +69 36 0 1.02 +192 178 0.385 1.025 +47 67 0.095 1.025 +156 10 0 1.025 +135 198 0.29 1.025 +182 187 0 1.03 +160 10 0 1.035 +213 246 0 1.035 +162 152 0 1.04 +176 223 0 1.04 +213 241 0 1.045 +69 51 0 1.05 +41 10 0 1.055 +176 209 0 1.055 +164 208 0 1.065 +39 72 0 1.07 +179 47 0 1.07 +69 246 0 1.07 +135 60 0 1.075 +150 154 0 1.08 +39 187 0 1.08 +170 181 0.365 1.08 +168 170 0.57 1.09 +154 7 0 1.095 +206 164 0 1.095 +149 162 0 1.1 +179 221 0.105 1.105 +154 10 0 1.115 +149 179 0.44 1.12 +197 210 0.48 1.12 +197 245 0.395 1.125 +182 154 0.18 1.125 +133 166 0 1.13 +179 223 0 1.13 +183 216 0 1.135 +132 164 0 1.14 +210 193 0.435 1.14 +144 58 0 1.145 +178 211 0.645 1.145 +11 25 0.495 1.145 +188 71 0 1.155 +180 193 0.615 1.155 +151 144 0.14 1.16 +158 180 0.655 1.165 +11 57 0 1.165 +1 177 0.32 1.165 +41 192 0 1.17 +151 160 0.475 1.17 +11 27 0 1.17 +192 78 0 1.185 +189 180 0 1.185 +43 64 0.19 1.19 +131 167 0.185 1.19 +140 159 0.09 1.2 +35 53 0 1.2 +209 219 0.185 1.2 +178 67 0.265 1.2 +217 71 0 1.2 +168 204 0.17 1.205 +135 183 0.2 1.205 +43 63 0 1.21 +140 183 0.355 1.21 +151 39 0.38 1.21 +187 209 0.57 1.215 +168 180 0.47 1.215 +169 144 0 1.215 +162 167 0 1.22 +69 34 0 1.235 +140 160 0.445 1.24 +171 89 0 1.24 +176 47 0.445 1.24 +139 54 0 1.24 +184 216 0 1.245 +139 59 0 1.245 +189 209 0.615 1.25 +209 205 0 1.25 +170 198 0 1.255 +130 174 0 1.26 +217 44 0.645 1.26 +190 210 0.76 1.265 +164 180 0 1.265 +167 179 0.645 1.265 +186 77 0.52 1.265 +140 182 0.3 1.27 +150 9 0 1.27 +69 74 0.425 1.27 +35 49 0 1.275 +179 193 0 1.275 +198 176 0.16 1.275 +151 9 0.49 1.28 +182 214 0 1.28 +198 92 0 1.28 +167 89 0 1.285 +154 42 0.64 1.29 +15 63 0.77 1.29 +178 164 0 1.29 +140 172 0 1.295 +213 230 0.72 1.295 +206 177 0 1.295 +206 209 0 1.295 +189 217 0.53 1.3 +140 186 0 1.305 +35 55 0.75 1.31 +138 132 0.8 1.31 +144 191 0 1.315 +144 171 0 1.32 +213 226 0 1.32 +180 211 0.615 1.32 +170 191 0 1.325 +140 176 0 1.33 +140 181 0.375 1.33 +189 45 0 1.33 +148 47 0 1.33 +192 210 0.65 1.335 +144 153 0 1.34 +164 181 0 1.345 +182 168 0 1.345 +206 84 0 1.345 +35 83 0.63 1.35 +182 210 0 1.355 +132 33 0.22 1.36 +144 185 0.735 1.36 +174 190 0 1.36 +178 212 0.41 1.36 +153 160 0 1.365 +145 190 0 1.365 +33 181 0 1.37 +148 191 0 1.37 +186 214 0.705 1.375 +178 166 0.435 1.375 +129 177 0 1.38 +43 55 0 1.385 +210 40 0 1.385 +139 57 0 1.385 +170 188 0 1.39 +65 51 0 1.39 +33 145 0.21 1.395 +171 234 0.085 1.395 +147 183 0 1.4 +153 186 0 1.4 +65 40 0 1.405 +179 200 0 1.41 +152 166 0 1.42 +178 168 0 1.42 +189 15 0.745 1.425 +131 178 0.92 1.43 +164 221 0 1.43 +209 226 0 1.43 +147 191 0 1.435 +156 42 0 1.435 +159 47 0.345 1.44 +180 181 0 1.44 +148 45 0 1.45 +180 196 0 1.45 +183 194 0 1.455 +168 183 0 1.455 +170 202 0 1.455 +209 200 0 1.455 +209 198 0.95 1.455 +170 187 0 1.46 +210 36 0 1.46 +177 193 0.675 1.46 +65 63 0 1.46 +167 183 0 1.465 +170 201 0 1.47 +69 245 0.84 1.47 +65 85 0.915 1.47 +43 39 0 1.475 +190 179 0 1.475 +184 36 0 1.475 +209 238 0 1.475 +11 59 0 1.475 +217 233 0 1.475 +217 80 0.885 1.475 +133 168 0.895 1.48 +11 23 0.59 1.48 +217 224 0.75 1.48 +43 214 0 1.485 +11 31 0.465 1.485 +217 192 0 1.485 +184 212 0 1.49 +167 233 0.395 1.49 +189 162 0.83 1.495 +171 233 0.245 1.495 +206 122 0.785 1.495 +69 102 0 1.495 +130 182 0.96 1.5 +184 72 0.56 1.5 +148 16 0.97 1.5 +168 185 0 1.5 +69 218 0.5 1.5 +160 188 0.63 1.505 +210 226 0.98 1.505 +160 44 0.765 1.51 +153 5 0.84 1.51 +69 200 0.91 1.51 +217 230 0 1.51 +192 77 0 1.515 +143 147 1.005 1.515 +148 36 0.16 1.52 +166 39 0.575 1.52 +172 230 0.665 1.52 +69 101 0 1.52 +130 5 0.965 1.525 +168 184 0 1.525 +206 235 0.96 1.525 +143 191 0.695 1.525 +180 81 1.015 1.53 +148 181 0 1.535 +180 63 0.905 1.535 +222 238 0 1.535 +140 143 0.74 1.54 +213 245 0 1.54 +35 63 0 1.54 +133 181 0.335 1.545 +190 63 0.615 1.545 +192 36 0.41 1.55 +184 71 0.68 1.55 +11 61 0 1.55 +217 250 0 1.55 +209 181 0 1.555 +190 79 1.05 1.56 +170 174 0 1.56 +41 40 0 1.565 +41 70 1.05 1.565 +152 14 0.985 1.565 +183 204 0 1.565 +168 193 0 1.565 +192 79 0.76 1.57 +160 47 0 1.57 +182 23 1.07 1.575 +179 192 0.36 1.575 +132 191 0 1.58 +160 42 0 1.58 +170 183 0 1.58 +209 242 0.89 1.58 +147 190 0 1.585 +209 253 0.93 1.585 +192 35 1.08 1.59 +191 179 0 1.59 +134 139 0.38 1.59 +213 202 0.97 1.59 +188 47 0.64 1.59 +135 156 0.725 1.59 +1 150 0.295 1.59 +134 155 0 1.595 +159 179 0.355 1.595 +182 55 1.025 1.595 +182 40 0 1.595 +209 79 0.925 1.595 +144 162 1.09 1.6 +156 166 0 1.6 +178 46 0 1.6 +206 207 0 1.6 +33 40 0 1.605 +171 96 0 1.605 +159 221 0.725 1.605 +180 223 0 1.605 +11 38 0 1.605 +168 191 1.03 1.61 +209 207 0 1.61 +158 45 0 1.61 +139 64 0 1.61 +139 185 0 1.61 +15 152 0.98 1.615 +152 210 0.38 1.615 +177 221 0 1.62 +178 14 0.96 1.62 +15 35 0.985 1.625 +189 43 0.745 1.625 +171 93 0 1.625 +222 45 0 1.625 +189 221 0 1.63 +179 196 0 1.63 +133 149 0 1.635 +186 39 0.58 1.635 +180 77 1.055 1.635 +150 168 1.01 1.64 +209 195 0 1.64 +217 43 0 1.64 +190 44 1.1 1.645 +183 43 0 1.645 +159 45 0 1.645 +162 193 0 1.645 +182 35 0 1.645 +155 16 0.985 1.65 +187 249 0.21 1.65 +210 245 0 1.655 +206 196 0 1.655 +158 174 0 1.655 +149 181 0 1.66 +164 229 1.11 1.66 +133 54 0 1.665 +148 35 0.82 1.665 +15 10 0 1.67 +155 43 0 1.67 +156 176 1.12 1.67 +153 183 0.85 1.67 +187 223 0 1.675 +166 200 0.93 1.675 +43 73 0 1.68 +159 46 0.65 1.68 +186 73 0.54 1.68 +192 74 0 1.685 +130 181 0 1.685 +184 198 0 1.685 +171 221 0 1.685 +181 37 0 1.685 +15 47 0 1.69 +133 151 0 1.695 +180 45 0 1.695 +210 223 0 1.7 +15 34 0.96 1.705 +184 65 0.7 1.705 +103 37 0.18 1.705 +170 41 0.595 1.71 +206 224 0.715 1.71 +185 221 0 1.715 +206 43 1.2 1.725 +222 193 0.73 1.73 +159 185 0.44 1.73 +187 215 1.125 1.73 +210 200 0 1.73 +209 208 0 1.73 +158 178 0.85 1.73 +217 221 0 1.73 +176 45 0.305 1.735 +153 169 0.795 1.735 +136 148 0 1.74 +15 37 0.895 1.74 +166 210 0.535 1.74 +210 98 0.645 1.74 +11 39 0 1.74 +155 174 0 1.745 +177 47 0 1.745 +178 174 1.155 1.745 +164 166 0.61 1.75 +170 11 1.255 1.755 +176 177 1.045 1.755 +190 37 0.845 1.76 +185 201 0 1.76 +188 204 0.225 1.765 +166 211 1.015 1.765 +156 188 0 1.775 +217 39 0 1.775 +149 7 0 1.78 +171 94 0 1.78 +164 83 1.14 1.78 +182 3 0 1.78 +43 110 1.255 1.785 +133 163 0.945 1.785 +149 182 0 1.785 +130 151 1.015 1.785 +164 205 0 1.785 +217 249 0 1.785 +177 65 1.115 1.79 +159 187 0.805 1.795 +188 198 0.965 1.795 +185 204 0.47 1.8 +160 12 0 1.8 +69 75 0.035 1.805 +160 3 1.22 1.81 +179 65 0.7 1.81 +147 15 0.815 1.815 +187 79 0.63 1.815 +147 35 0.94 1.82 +183 202 0.96 1.82 +181 35 0 1.82 +132 173 0 1.825 +103 2 0 1.825 +131 166 0 1.83 +172 192 1.33 1.835 +152 213 1.065 1.84 +183 40 0.695 1.84 +41 192 1.24 1.845 +130 3 1.005 1.845 +164 208 1.135 1.845 +139 156 1.31 1.845 +189 64 1 1.855 +188 192 0 1.855 +174 194 1.28 1.855 +178 7 0 1.855 +129 136 0 1.86 +186 224 0.78 1.86 +170 192 0 1.86 +188 221 0.96 1.865 +184 66 0 1.87 +147 174 0 1.87 +213 196 0 1.87 +174 168 1.115 1.87 +176 224 0 1.88 +143 206 1.34 1.88 +135 86 1.245 1.885 +136 149 0 1.89 +213 37 1.225 1.89 +187 253 0.965 1.89 +222 36 0 1.895 +156 38 0 1.895 +188 215 1.125 1.895 +177 213 1.16 1.895 +174 179 0 1.905 +152 41 0 1.91 +151 188 0 1.915 +143 171 1.26 1.915 +153 149 0 1.915 +198 216 0.69 1.915 +43 44 0 1.92 +152 40 0.67 1.92 +164 88 0.635 1.92 +217 67 1.31 1.92 +147 210 0.065 1.925 +198 249 0 1.925 +131 174 0 1.93 +147 213 0.95 1.93 +174 82 1.205 1.93 +217 200 0 1.93 +222 97 0 1.94 +143 176 1.255 1.94 +198 88 0 1.94 +194 207 0 1.945 +188 172 0 1.95 +182 37 0 1.95 +148 150 0.71 1.955 +152 35 0 1.955 +159 163 1.355 1.955 +178 66 0 1.955 +129 174 0 1.96 +143 64 0 1.96 +198 75 1.41 1.96 +183 35 0 1.965 +217 199 0 1.97 +164 199 0.76 1.98 +174 196 1.23 1.98 +171 86 0 1.985 +178 65 0 1.985 +166 188 0 1.99 +168 88 0.865 1.99 +143 154 1.245 1.99 +213 199 0 1.995 +138 169 0 1.995 +176 201 0 1.995 +198 229 0 1.995 +186 221 0 2 +181 186 1.455 2.005 +206 164 1.165 2.005 +166 199 0.195 2.01 +149 8 0.9 2.02 +213 41 1.01 2.03 +168 200 0 2.03 +185 219 1.525 2.04 +164 200 0 2.04 +153 139 0 2.04 +144 130 1.3 2.045 +164 211 0.38 2.045 +155 206 1.32 2.05 +185 76 1.485 2.06 +138 171 1.545 2.065 +182 45 1.405 2.065 +176 204 0 2.065 +198 230 0 2.07 +148 248 1.325 2.075 +178 212 1.385 2.075 +69 98 0 2.075 +43 93 0 2.08 +155 188 0.605 2.08 +183 87 1.525 2.08 +69 85 0 2.08 +43 89 0 2.085 +134 138 0 2.085 +166 69 0.905 2.085 +135 179 1.4 2.085 +190 221 0 2.09 +187 180 0.165 2.09 +179 185 1.33 2.095 +187 250 0.285 2.1 +33 65 0 2.1 +160 222 1.37 2.105 +43 80 0 2.11 +131 140 1.5 2.11 +198 118 0 2.11 +198 226 0 2.11 +187 109 1.34 2.115 +166 220 1.34 2.115 +131 153 1.56 2.12 +166 41 0.62 2.125 +187 47 0 2.13 +170 60 1.495 2.13 +153 11 0 2.13 +9 38 0.4 2.13 +41 55 0 2.135 +138 150 1.3 2.135 +140 181 1.39 2.14 +147 166 0 2.14 +103 11 0 2.14 +173 93 0.75 2.145 +198 234 1.395 2.15 +170 165 1.545 2.15 +190 65 0.725 2.155 +166 214 0 2.155 +189 90 0.555 2.16 +194 166 0.295 2.16 +166 204 0.155 2.16 +210 217 1.19 2.16 +210 216 0 2.16 +158 16 0 2.16 +222 242 0.755 2.165 +187 221 0 2.165 +187 77 0 2.165 +154 7 1.62 2.17 +209 198 1.62 2.17 +198 212 1.57 2.175 +172 118 1.165 2.175 +172 92 0 2.175 +138 182 1.36 2.18 +69 220 0 2.18 +184 166 0 2.185 +151 54 1.1 2.19 +176 221 0 2.19 +191 82 0.97 2.19 +3 70 1.58 2.19 +194 216 0.335 2.195 +187 80 0.385 2.195 +198 233 0 2.2 +194 204 1.675 2.2 +131 178 1.505 2.205 +210 72 0.49 2.205 +155 172 0 2.21 +185 39 0 2.21 +159 175 1.095 2.21 +136 210 1.305 2.215 +190 77 0.965 2.215 +155 217 1.285 2.22 +152 38 0 2.225 +152 21 1.315 2.23 +210 183 0 2.235 +206 217 0.52 2.24 +158 46 0.56 2.24 +198 245 0 2.245 +164 86 0.78 2.245 +170 57 1.11 2.245 +136 156 0 2.25 +183 216 1.21 2.25 +166 179 0 2.25 +206 185 0.6 2.25 +213 75 0.8 2.255 +172 191 1.555 2.255 +134 156 0 2.26 +140 58 0 2.26 +184 188 0 2.26 +209 211 0 2.26 +155 169 0 2.265 +69 185 0.565 2.265 +192 65 0 2.27 +144 156 0.815 2.27 +213 188 0 2.27 +170 90 0.15 2.27 +209 67 0 2.27 +129 177 1.495 2.275 +185 74 1.545 2.275 +129 148 1.095 2.28 +194 183 1.595 2.28 +209 184 0 2.28 +159 222 1.01 2.285 +131 151 1.01 2.29 +134 179 1.77 2.29 +176 234 0.125 2.29 +190 224 0.84 2.295 +136 171 1.66 2.3 +171 181 1.505 2.3 +136 69 1.72 2.305 +210 39 0 2.31 +131 181 0 2.315 +194 199 0 2.315 +178 183 0 2.315 +132 3 1.6 2.32 +174 221 0.77 2.32 +136 103 0.705 2.325 +136 155 1.64 2.325 +156 39 0 2.325 +192 193 0.985 2.33 +131 179 0 2.33 +15 19 0.85 2.33 +164 181 1.825 2.33 +176 193 1.315 2.33 +69 212 0 2.33 +202 251 0.17 2.33 +176 74 1.735 2.335 +153 9 0 2.335 +149 37 0.42 2.34 +140 57 1.835 2.34 +15 36 0.66 2.34 +213 76 1.405 2.34 +143 155 0.72 2.34 +160 16 0 2.345 +187 204 0 2.35 +138 103 0.95 2.35 +132 190 0 2.355 +132 33 1.56 2.355 +192 221 0 2.36 +132 180 0 2.36 +162 166 0 2.36 +149 180 1.815 2.365 +15 49 1.825 2.37 +144 190 0.69 2.37 +138 9 1 2.37 +172 186 0 2.37 +192 223 0 2.375 +132 179 0 2.375 +158 9 1.015 2.375 +1 37 1.8 2.375 +189 172 0 2.38 +191 241 1.22 2.38 +190 191 0 2.385 +182 214 1.415 2.385 +190 174 1.435 2.39 +130 1 0.445 2.395 +159 171 1.025 2.4 +139 154 1.085 2.4 +160 178 1.65 2.405 +217 89 1.865 2.405 +131 148 0.87 2.41 +144 186 0 2.41 +206 92 0.485 2.41 +69 216 0 2.41 +139 158 1.255 2.41 +179 196 1.7 2.415 +180 70 1.525 2.415 +144 1 0.965 2.42 +184 194 0 2.43 +131 209 1.455 2.44 +41 76 1.165 2.44 +176 177 1.865 2.44 +154 185 0 2.445 +213 187 1.82 2.445 +162 222 1.415 2.445 +180 66 0.78 2.445 +134 163 1.905 2.45 +189 41 1.82 2.45 +184 211 0 2.45 +154 46 1.255 2.455 +184 180 0 2.455 +184 214 0 2.455 +206 186 0.56 2.455 +47 72 1.36 2.46 +159 206 0.71 2.46 +43 36 0.745 2.465 +131 167 1.37 2.465 +144 11 0.955 2.465 +144 177 0 2.465 +248 7 0 2.465 +41 214 0 2.47 +148 184 0.71 2.47 +155 158 0 2.47 +176 205 0 2.47 +178 168 1.93 2.47 +154 12 0 2.475 +15 43 0.66 2.475 +130 103 0.895 2.475 +47 37 1.445 2.475 +190 185 1.48 2.48 +178 222 0 2.48 +154 45 0 2.485 +140 165 0 2.485 +15 12 1.64 2.485 +189 156 1.01 2.485 +155 12 1.82 2.485 +47 83 1.52 2.49 +191 207 0.45 2.49 +69 242 0 2.495 +202 76 1.655 2.5 +136 86 1.65 2.505 +166 183 0 2.505 +43 68 1.375 2.51 +82 118 0.605 2.51 +202 235 2.005 2.51 +189 187 0 2.51 +152 180 0.535 2.51 +176 222 0 2.51 +178 67 1.485 2.51 +198 196 0.54 2.515 +202 75 1.02 2.515 +202 233 0 2.525 +178 194 0.35 2.525 +69 76 0 2.525 +192 218 0 2.53 +164 198 0.55 2.53 +192 208 0.4 2.535 +202 183 1.88 2.54 +69 47 1.815 2.54 +162 212 1.475 2.55 +11 10 0 2.55 +192 224 0 2.555 +131 150 0.645 2.555 +180 213 0.505 2.555 +41 220 1.43 2.565 +194 192 1.895 2.565 +132 15 0.135 2.57 +213 196 1.94 2.575 +135 163 0 2.575 +191 237 1.27 2.575 +168 211 0 2.58 +191 254 1.35 2.585 +190 218 1.095 2.59 +132 174 0 2.595 +189 185 0 2.595 +144 15 0.8 2.595 +178 182 0 2.595 +189 169 0 2.6 +182 38 0 2.6 +132 164 1.325 2.605 +149 153 2.09 2.605 +144 176 0 2.605 +180 221 0 2.605 +192 35 1.765 2.61 +41 218 0 2.61 +160 187 0.71 2.61 +210 48 2.03 2.61 +176 218 0 2.61 +167 185 1.94 2.615 +178 70 1.435 2.62 +178 47 0 2.62 +134 169 1.04 2.625 +189 190 0 2.625 +159 52 1.64 2.625 +189 15 1.9 2.63 +160 48 0.7 2.63 +210 223 1.855 2.63 +140 171 0 2.635 +138 15 2.025 2.635 +182 37 2.065 2.635 +140 167 0.58 2.64 +152 35 2 2.64 +159 179 1.64 2.64 +178 7 1.87 2.64 +190 188 1.01 2.645 +189 43 1.84 2.645 +159 33 0 2.645 +159 164 1.6 2.645 +159 43 0.97 2.645 +191 65 1.885 2.645 +1 16 0.825 2.65 +41 38 0 2.65 +15 177 0 2.65 +187 48 0.21 2.65 +191 126 1.37 2.65 +191 240 1.315 2.65 +198 199 0 2.655 +198 211 0 2.655 +130 148 0 2.655 +184 162 1.34 2.66 +167 203 0.62 2.66 +159 173 0 2.66 +160 173 1.555 2.66 +191 253 1.235 2.66 +191 238 1.28 2.66 +1 36 1.815 2.665 +210 36 2.03 2.665 +136 164 0.625 2.675 +147 164 0 2.675 +150 165 0.62 2.675 +167 118 0.67 2.675 +172 194 2.135 2.675 +160 33 0 2.68 +187 222 0 2.68 +191 205 0 2.68 +191 218 1.97 2.68 +82 72 0 2.685 +132 209 1.345 2.69 +184 36 2.035 2.69 +209 197 0.475 2.69 +177 47 1.87 2.69 +174 212 1.54 2.695 +11 188 0 2.695 +217 245 1.775 2.7 +82 172 2.19 2.705 +151 162 1.9 2.705 +164 85 1.905 2.705 +152 162 1.93 2.71 +148 36 1.78 2.715 +168 85 1.405 2.715 +168 199 0 2.715 +150 166 0 2.72 +170 187 2 2.72 +174 222 1.16 2.72 +189 11 1.165 2.725 +209 219 2.13 2.725 +43 253 2.105 2.73 +151 152 0 2.735 +156 16 0.21 2.735 +135 162 0 2.735 +43 76 0 2.745 +164 197 0 2.745 +182 9 0.355 2.745 +197 212 1.295 2.745 +189 209 2.1 2.75 +183 211 0 2.75 +160 43 0 2.75 +164 167 0.475 2.75 +192 212 0.34 2.755 +147 194 0.975 2.76 +134 149 0 2.765 +136 161 0 2.765 +209 193 0 2.765 +177 48 1.8 2.765 +41 16 0 2.77 +82 207 0 2.775 +164 213 0 2.775 +152 183 0 2.78 +160 46 0 2.78 +197 81 1.43 2.78 +41 48 0 2.785 +180 68 1.025 2.785 +191 234 1.215 2.785 +167 233 1.615 2.79 +167 199 0 2.79 +213 242 0 2.79 +103 9 0 2.79 +170 11 1.995 2.79 +174 219 2.065 2.79 +192 219 0 2.795 +167 204 0 2.795 +183 218 0.425 2.795 +170 150 1.27 2.795 +155 9 0.425 2.8 +156 190 2.12 2.8 +217 218 0 2.805 +178 46 1.685 2.81 +185 218 0 2.815 +160 191 2.29 2.815 +202 240 0.285 2.82 +161 210 2.235 2.82 +69 68 1.205 2.825 +161 196 2.02 2.825 +177 213 1.955 2.825 +192 210 1.485 2.83 +167 87 0.785 2.83 +177 69 1.67 2.83 +177 181 0 2.83 +180 194 0 2.83 +180 67 0 2.83 +151 165 0 2.835 +164 180 1.62 2.835 +152 6 0.8 2.84 +183 215 0 2.84 +82 223 1.73 2.845 +167 92 0 2.845 +161 223 2.155 2.845 +35 100 2.27 2.845 +178 103 0.975 2.85 +143 164 2.145 2.85 +149 103 0 2.855 +164 179 0 2.855 +209 208 2.04 2.86 +174 180 0 2.865 +198 195 0 2.87 +135 82 2.155 2.875 +192 48 0 2.88 +134 162 1.76 2.88 +171 219 2.175 2.88 +168 201 0 2.88 +178 40 0 2.88 +103 37 2.075 2.89 +133 162 0 2.89 +189 164 2.215 2.91 +186 209 2.08 2.91 +181 211 0.82 2.91 +194 217 0.4 2.91 +147 163 0.085 2.915 +171 215 2.4 2.915 +69 87 0 2.92 +192 179 1.835 2.925 +151 11 0 2.925 +138 11 1.01 2.93 +179 215 1.71 2.93 +11 43 0 2.93 +47 97 1.165 2.93 +152 69 0.56 2.935 +180 219 2.315 2.935 +135 58 0 2.935 +189 63 2.44 2.94 +171 234 2.06 2.94 +150 162 0.76 2.94 +209 223 0 2.94 +217 200 2.075 2.94 +186 220 1.2 2.95 +210 39 2.43 2.955 +143 63 1.16 2.955 +143 51 2.355 2.955 +168 226 1.985 2.96 +168 200 2.135 2.96 +150 37 0 2.965 +152 156 0 2.965 +138 58 2.435 2.965 +202 215 0 2.97 +202 214 0.295 2.97 +184 155 2.465 2.97 +147 165 0 2.97 +150 6 1.935 2.97 +187 249 2.43 2.975 +166 186 0 2.975 +180 79 0.885 2.975 +151 202 2.385 2.98 +138 186 0.985 2.98 +201 217 0 2.985 +147 192 2.1 2.99 +185 219 2.23 2.99 +183 74 1.16 2.995 +35 51 0 2.995 +201 234 0 2.995 +185 215 2.35 3 +181 70 2.46 3 +41 202 2.245 3.005 +174 223 1.465 3.005 +136 210 2.43 3.015 +148 35 1.725 3.015 +171 223 2.455 3.015 +178 213 0 3.015 +187 215 1.965 3.02 +136 178 0 3.025 +170 217 0 3.025 +181 44 2.28 3.025 +143 58 0 3.025 +103 69 2.5 3.03 +133 149 1.695 3.03 +133 147 0 3.03 +43 65 0.96 3.035 +206 209 2.14 3.04 +151 201 2.43 3.04 +183 87 2.495 3.04 +174 208 1.445 3.04 +181 188 0 3.04 +136 149 2.395 3.045 +162 181 0 3.045 +140 160 2.345 3.05 +148 9 2.34 3.05 +162 180 0 3.05 +180 69 0.915 3.05 +181 215 1.65 3.05 +24 147 1.575 3.05 +222 196 0 3.05 +149 162 1.89 3.055 +198 202 0 3.06 +198 200 0 3.065 +172 216 2.495 3.065 +155 202 2.28 3.065 +183 40 2.49 3.065 +162 213 0 3.065 +174 209 0.615 3.065 +189 202 0 3.07 +151 69 2.505 3.07 +166 215 1.145 3.07 +15 3 0 3.075 +43 223 2.3 3.08 +202 209 2.175 3.08 +180 65 0 3.08 +133 163 2.44 3.08 +35 181 2.035 3.085 +129 162 0 3.085 +135 197 2.47 3.085 +151 197 2.5 3.09 +213 70 0.845 3.09 +187 91 1.425 3.09 +170 41 2.045 3.09 +168 217 0 3.095 +217 241 2.185 3.095 +140 176 2.225 3.1 +150 217 1.725 3.1 +213 226 2.265 3.1 +166 233 2.54 3.1 +181 241 2.335 3.1 +167 217 0 3.105 +159 209 0.675 3.105 +170 58 0 3.105 +172 200 0.15 3.11 +41 148 2.585 3.115 +136 217 1.45 3.115 +213 97 2.095 3.115 +183 57 2.42 3.115 +136 152 0 3.12 +130 56 2.485 3.12 +35 241 2.375 3.125 +172 230 1.61 3.13 +151 174 2.56 3.13 +35 214 2.6 3.13 +206 222 0 3.135 +206 253 1.175 3.135 +43 91 0.635 3.14 +171 208 0 3.145 +184 35 0 3.15 +206 238 2.355 3.155 +15 42 0.2 3.155 +35 194 0.495 3.155 +147 35 2.11 3.165 +134 156 2.375 3.17 +189 58 0.265 3.175 +153 176 2.4 3.175 +222 223 0 3.175 +182 168 2.49 3.18 +179 241 1.59 3.18 +172 235 2.225 3.185 +160 4 2.685 3.185 +206 224 2.34 3.19 +11 149 2.65 3.19 +134 185 2.03 3.195 +43 234 2.42 3.2 +134 170 1.125 3.2 +177 47 2.695 3.2 +184 67 0 3.205 +167 179 2.6 3.205 +168 211 2.65 3.205 +176 45 1.91 3.205 +135 86 2.15 3.205 +213 76 2.545 3.21 +186 42 2.06 3.21 +43 210 1.745 3.215 +149 8 2.225 3.215 +150 167 2.205 3.215 +187 44 0.49 3.215 +222 255 1.88 3.22 +149 37 2.4 3.225 +186 64 2.385 3.225 +153 198 2.355 3.23 +186 44 0.615 3.235 +176 208 0 3.235 +191 203 0.25 3.235 +184 168 1.845 3.24 +151 189 0.375 3.245 +152 37 0 3.245 +213 187 2.515 3.245 +177 35 0.925 3.25 +43 109 1.36 3.255 +171 191 0 3.255 +135 201 2.065 3.255 +192 47 0 3.26 +15 19 2.73 3.26 +43 80 2.545 3.265 +151 173 1.415 3.265 +186 178 2.635 3.27 +69 194 0.525 3.275 +170 201 2.155 3.275 +213 75 2.61 3.28 +198 41 2.315 3.285 +140 198 2.23 3.285 +167 81 1.965 3.285 +153 183 2.585 3.285 +198 73 2.775 3.29 +147 198 2.125 3.295 +181 194 0 3.295 +190 3 0 3.295 +132 160 0.355 3.3 +140 173 0 3.3 +152 38 2.34 3.3 +147 162 0 3.305 +171 161 2.105 3.305 +171 43 2.445 3.31 +168 164 0 3.31 +177 186 1.02 3.31 +190 37 2.57 3.31 +190 17 2.575 3.32 +138 171 2.82 3.325 +138 161 2.46 3.335 +191 196 0 3.335 +202 218 0 3.335 +192 209 0 3.34 +206 196 2.225 3.34 +159 11 0 3.345 +143 147 1.745 3.345 +202 249 1.95 3.345 +1 8 0 3.35 +155 45 0 3.35 +24 60 2.47 3.35 +52 126 0.905 3.355 +155 12 2.655 3.355 +222 218 0 3.355 +202 76 2.84 3.355 +151 160 1.72 3.36 +151 187 2.02 3.36 +155 161 2.855 3.36 +209 254 0 3.36 +52 96 2.515 3.365 +43 76 2.87 3.37 +138 143 0 3.37 +1 2 0 3.375 +151 217 0.43 3.375 +186 222 1.055 3.375 +186 224 1.925 3.375 +170 203 2.875 3.375 +41 28 2.535 3.38 +189 169 2.71 3.38 +222 254 0 3.38 +170 181 1.155 3.38 +150 213 1.215 3.385 +103 136 2.425 3.39 +156 8 1.615 3.395 +11 33 1.55 3.395 +190 63 2.415 3.395 +202 253 0 3.4 +1 184 2.815 3.405 +148 152 0 3.405 +43 77 0 3.41 +189 171 0 3.41 +190 61 2.285 3.41 +134 198 2.06 3.415 +190 32 2.515 3.42 +171 186 0.865 3.425 +186 218 0 3.425 +135 189 2.735 3.425 +43 220 0 3.43 +43 79 0.6 3.43 +134 167 1.865 3.43 +187 222 2.81 3.435 +182 213 0 3.435 +150 209 2.94 3.44 +156 23 1.69 3.44 +103 179 2.435 3.44 +156 25 2.135 3.445 +1 37 2.42 3.455 +151 251 2.78 3.455 +222 242 2.28 3.455 +176 201 2.115 3.46 +24 55 2.85 3.46 +189 206 0 3.47 +69 36 1.985 3.47 +148 17 1.795 3.475 +150 168 1.81 3.48 +140 189 0 3.485 +15 17 1.34 3.49 +191 37 2.99 3.49 +206 162 2.76 3.495 +167 209 2.845 3.495 +134 168 1.85 3.5 +181 67 1.66 3.505 +1 61 1.595 3.51 +52 94 0 3.51 +168 172 0 3.51 +186 47 0 3.51 +189 166 1.505 3.515 +189 162 2.365 3.515 +174 177 0 3.515 +43 221 0 3.52 +131 150 2.885 3.52 +160 12 2.9 3.52 +24 198 2.25 3.52 +192 188 2.995 3.525 +43 111 2.505 3.525 +132 209 2.77 3.525 +131 167 2.53 3.525 +155 15 0.425 3.525 +185 197 2.465 3.525 +178 67 2.585 3.53 +198 195 2.995 3.535 +155 148 1.905 3.535 +176 180 2.295 3.54 +217 59 2.975 3.54 +43 35 1.635 3.545 +156 16 2.965 3.55 +155 188 2.985 3.555 +69 68 2.93 3.555 +131 209 2.885 3.56 +156 12 0 3.56 +202 111 2.985 3.56 +156 44 0.545 3.575 +151 41 0 3.58 +182 172 2.565 3.58 +168 185 2.375 3.585 +69 111 3.045 3.59 +134 138 2.235 3.595 +155 159 0 3.595 +103 39 0.825 3.595 +163 94 0.785 3.595 +162 198 0 3.6 +11 4 2.01 3.6 +69 40 0 3.605 +177 37 1.145 3.605 +206 221 0 3.605 +191 193 0 3.61 +1 34 1.575 3.615 +1 19 0.755 3.62 +151 172 0 3.62 +69 97 1.285 3.62 +162 167 1.35 3.62 +183 211 3.025 3.625 +185 39 2.985 3.625 +209 196 0 3.625 +172 86 0 3.635 +24 170 2.535 3.635 +131 147 0 3.64 +180 212 0 3.64 +171 217 0 3.645 +151 213 0.985 3.645 +222 194 0 3.645 +161 193 1.975 3.645 +176 188 0 3.645 +11 58 3.05 3.645 +217 210 2.24 3.65 +192 132 1.165 3.655 +171 187 0 3.655 +187 234 0.195 3.655 +222 211 1.6 3.655 +186 48 0 3.655 +182 73 0 3.655 +24 57 2.975 3.665 +187 208 0 3.67 +180 111 2.81 3.67 +172 73 2.885 3.675 +103 185 1.735 3.68 +170 187 2.855 3.68 +206 163 2.355 3.68 +15 178 0 3.685 +27 42 0 3.685 +155 190 0 3.69 +135 174 2.655 3.69 +43 208 1.945 3.695 +3 182 2.905 3.695 +130 1 2.89 3.7 +190 12 1.645 3.7 +134 179 2.465 3.705 +182 188 0 3.705 +24 40 1.035 3.705 +130 194 2.805 3.71 +155 217 2.375 3.71 +177 69 2.945 3.71 +192 45 0 3.715 +172 188 2.595 3.715 +151 171 0.69 3.715 +184 156 0.995 3.72 +24 162 3.2 3.72 +130 56 3.195 3.725 +183 59 1.87 3.725 +130 191 2.935 3.73 +183 215 3.205 3.735 +179 111 3.18 3.735 +33 66 0 3.735 +134 166 0 3.745 +217 197 1.325 3.745 +147 191 2.92 3.75 +1 179 2.805 3.76 +198 86 0 3.76 +165 196 2.255 3.76 +6 2 0 3.76 +186 59 1.975 3.76 +202 180 2.345 3.76 +147 210 2.04 3.765 +209 211 2.75 3.765 +217 249 2.01 3.765 +153 41 0 3.77 +172 69 2.925 3.775 +69 75 3.15 3.78 +6 28 1.57 3.78 +182 69 0 3.78 +161 179 1.755 3.785 +172 41 2.7 3.79 +192 222 0 3.795 +149 162 3.26 3.795 +222 208 0 3.795 +170 153 0 3.795 +190 177 0 3.795 +170 182 0 3.805 +181 214 0 3.805 +43 48 0 3.81 +167 203 3.11 3.81 +163 84 3.035 3.81 +150 69 1.515 3.815 +13 16 3.005 3.815 +192 178 1.08 3.82 +134 27 1.39 3.82 +168 199 3.215 3.82 +202 221 0 3.82 +178 48 1.715 3.82 +163 193 0 3.82 +158 148 0 3.82 +185 203 2.34 3.825 +139 171 2.765 3.825 +251 182 3.235 3.83 +192 180 0 3.835 +170 198 1.88 3.835 +179 211 0 3.835 +147 69 1.975 3.84 +15 12 2.58 3.845 +156 148 3.275 3.845 +183 74 3.32 3.845 +177 152 0 3.845 +135 139 0 3.845 +191 213 3.23 3.845 +213 111 3.155 3.845 +161 180 2.22 3.855 +181 220 1.59 3.855 +150 23 3.355 3.865 +156 45 0 3.865 +11 48 0 3.875 +69 55 0.37 3.88 +179 212 0 3.88 +33 63 0 3.885 +213 199 3.165 3.885 +69 41 0.425 3.89 +251 153 0 3.89 +184 11 3.245 3.895 +151 170 0 3.895 +160 178 2.535 3.895 +130 82 2.495 3.9 +222 68 0 3.9 +33 64 2.08 3.9 +135 82 3.385 3.9 +132 140 3.345 3.905 +187 204 2.64 3.905 +179 180 0 3.905 +213 249 2.15 3.905 +172 76 2.755 3.91 +222 109 0 3.91 +170 136 0.14 3.91 +147 136 0 3.915 +160 185 0 3.915 +147 222 2.97 3.92 +217 45 3.01 3.92 +222 69 2.595 3.925 +185 45 0 3.93 +186 219 1.21 3.93 +182 23 1.745 3.93 +191 179 2.69 3.93 +213 35 0 3.93 +184 67 3.325 3.935 +179 36 2.94 3.935 +11 59 1.7 3.935 +251 148 2.53 3.935 +37 211 2.995 3.935 +179 35 0 3.94 +143 1 3.44 3.94 +74 91 0 3.94 +172 183 0 3.945 +147 161 0 3.945 +143 209 3.12 3.95 +183 45 1.37 3.955 +11 23 2.725 3.955 +198 241 1.255 3.96 +159 46 3.46 3.96 +179 65 1.935 3.96 +43 59 0 3.965 +192 175 3.45 3.97 +1 152 0 3.97 +185 219 3.045 3.97 +184 209 2.83 3.975 +162 179 0 3.975 +130 167 2.425 3.98 +209 180 0 3.985 +192 41 2.07 3.99 +206 185 3.48 3.99 +159 180 0 3.995 +176 219 0 4.01 +178 47 2.7 4.01 +132 135 3.43 4.015 +172 52 3.475 4.015 +156 183 0 4.015 +69 78 2.365 4.02 +171 197 2.48 4.025 +69 35 0 4.025 +52 237 2.77 4.03 +140 136 0 4.035 +151 177 3.41 4.035 +43 78 0 4.04 +15 74 2.875 4.04 +217 234 0 4.04 +130 69 3.44 4.045 +206 187 0 4.05 +222 48 1.315 4.05 +209 181 1.575 4.055 +186 180 1.095 4.06 +181 3 2.78 4.06 +172 191 3.485 4.065 +198 219 3.41 4.075 +172 223 3.51 4.08 +130 140 1.995 4.08 +153 166 0.725 4.08 +190 161 3.16 4.08 +37 181 2.02 4.08 +33 43 3.575 4.085 +52 148 3.115 4.09 +156 187 3.05 4.09 +168 196 0 4.09 +213 216 0 4.09 +74 42 0 4.095 +151 149 3.455 4.1 +143 148 0.955 4.1 +24 82 2.22 4.105 +191 78 3.09 4.115 +192 172 2.805 4.12 +206 219 0 4.12 +186 44 3.385 4.125 +202 209 3.125 4.125 +217 216 0 4.125 +217 80 3.005 4.125 +251 190 3.12 4.125 +143 81 3.32 4.13 +147 78 3.385 4.135 +156 170 0 4.135 +186 220 3.225 4.135 +179 214 1.51 4.135 +74 94 1.91 4.135 +130 185 3.165 4.14 +151 56 3.35 4.14 +152 39 0.3 4.145 +15 48 0.655 4.15 +143 160 1.29 4.15 +190 78 0.305 4.15 +153 185 0 4.155 +190 36 0 4.155 +1 78 2.95 4.165 +183 121 2.915 4.165 +190 178 0 4.165 +74 92 3.5 4.17 +1 222 3.275 4.175 +130 210 3.02 4.185 +148 210 3.345 4.185 +202 250 2.65 4.185 +151 167 0 4.195 +217 203 0 4.195 +179 70 2.17 4.2 +181 210 0 4.2 +37 85 2.31 4.205 +163 148 3.28 4.205 +13 152 2.345 4.21 +206 84 2.125 4.21 +172 208 0.99 4.215 +159 176 0 4.215 +160 177 0 4.215 +251 177 3.67 4.215 +132 152 1.775 4.22 +178 67 3.695 4.22 +186 198 3.245 4.225 +209 81 2.36 4.225 +179 241 3.285 4.225 +213 211 0 4.225 +13 177 3.65 4.23 +37 55 0 4.23 +1 36 2.78 4.235 +162 226 3.41 4.235 +186 7 2.49 4.24 +179 67 0.73 4.24 +13 190 2.535 4.25 +74 36 1 4.25 +15 43 3.315 4.255 +189 156 3.295 4.255 +189 90 3.545 4.255 +152 178 0 4.255 +33 190 0 4.255 +183 55 0.915 4.265 +160 187 3 4.265 +251 176 3.355 4.275 +156 13 3.365 4.28 +137 170 0 4.28 +198 203 0 4.285 +202 111 3.595 4.285 +143 191 2.59 4.285 +136 178 3.635 4.29 +82 94 0 4.29 +187 164 3.16 4.29 +176 148 2.465 4.29 +130 182 2.405 4.3 +130 37 3.755 4.3 +26 189 3.33 4.3 +149 190 1.945 4.305 +130 3 3.055 4.305 +192 166 2.835 4.315 +132 136 0 4.315 +37 198 3.645 4.315 +33 74 1.595 4.315 +1 17 0 4.32 +82 87 0 4.32 +160 174 0.335 4.325 +160 74 2.92 4.325 +168 148 3.625 4.325 +150 177 1.215 4.33 +160 191 2.93 4.335 +37 44 3.225 4.335 +251 174 3.385 4.335 +130 148 2.805 4.34 +167 194 0 4.345 +160 33 2.91 4.345 +37 224 3.71 4.345 +37 97 3.445 4.345 +202 223 0 4.355 +139 174 0 4.355 +43 209 1.37 4.36 +134 26 0.195 4.36 +159 156 3.255 4.36 +217 42 3.7 4.36 +24 149 3.37 4.365 +147 2 3.83 4.365 +138 90 3.64 4.365 +168 226 3.33 4.365 +132 50 3.385 4.37 +160 180 0.11 4.37 +209 195 3.875 4.375 +159 190 0 4.38 +162 126 3.755 4.38 +161 202 2.255 4.38 +152 38 3.72 4.385 +206 118 3.475 4.39 +171 118 3.25 4.395 +162 202 3 4.4 +174 190 3.75 4.4 +39 36 1.71 4.405 +148 164 3.335 4.41 +171 220 1.61 4.41 +202 240 3.86 4.41 +179 217 1.305 4.41 +171 164 2.68 4.415 +165 87 3.595 4.42 +138 172 3.83 4.42 +174 220 3.84 4.425 +43 178 2.695 4.43 +52 165 1.275 4.43 +1 3 0 4.44 +206 198 3.385 4.44 +177 224 3.88 4.44 +130 33 3.59 4.445 +192 171 0.345 4.45 +148 36 3.75 4.45 +244 8 2.09 4.45 +186 217 0.475 4.45 +190 222 0 4.45 +152 183 3.93 4.455 +187 121 3.575 4.455 +202 222 0 4.455 +202 193 1.335 4.46 +161 193 3.765 4.46 +179 78 2.67 4.46 +52 223 1.445 4.465 +147 136 3.935 4.47 +171 233 2.05 4.47 +82 229 3.895 4.475 +185 214 0 4.475 +222 223 3.935 4.48 +222 80 3.71 4.48 +190 47 0 4.48 +52 212 2.74 4.485 +159 162 0 4.485 +191 193 3.785 4.485 +184 2 1.975 4.49 +189 164 3.49 4.495 +137 55 3.635 4.495 +11 12 0 4.495 +172 118 3.875 4.5 +155 251 0 4.5 +251 43 3.97 4.5 +186 188 0 4.505 +185 215 3.155 4.51 +162 195 2.77 4.51 +198 211 2.8 4.515 +198 234 3.955 4.52 +130 191 3.785 4.52 +160 45 0 4.52 +184 78 3.71 4.525 +209 238 3.86 4.53 +139 90 2.415 4.53 +39 51 3.95 4.53 +198 67 3.96 4.535 +202 148 2.985 4.535 +1 147 0 4.545 +202 212 2.21 4.545 +178 183 3.855 4.545 +209 226 3.43 4.55 +178 36 0 4.55 +172 86 3.91 4.555 +185 71 3.96 4.555 +39 68 3.995 4.555 +6 183 3.345 4.555 +150 12 3.995 4.56 +37 73 1.265 4.56 +149 43 3.855 4.565 +170 202 1.925 4.565 +178 69 0 4.565 +6 188 3.91 4.565 +43 177 1.215 4.57 +172 213 0 4.57 +37 83 3.995 4.57 +182 136 0 4.57 +209 78 2.635 4.57 +177 164 0 4.57 +160 244 3.63 4.58 +170 203 4 4.58 +155 217 3.945 4.585 +174 187 1.625 4.585 +130 159 0 4.59 +166 179 3.38 4.59 +182 217 0 4.605 +174 223 3.34 4.61 +147 180 0 4.62 +82 200 3.97 4.62 +170 167 0 4.62 +177 241 4.075 4.62 +206 199 3.965 4.625 +187 203 0 4.625 +187 234 4.045 4.625 +82 207 3.26 4.63 +191 223 0 4.63 +172 219 0 4.635 +206 233 0.45 4.635 +183 67 0.77 4.64 +149 74 4.13 4.645 +209 223 3.795 4.645 +176 217 0 4.65 +39 85 0 4.66 +162 210 0 4.66 +6 45 2.125 4.665 +172 69 3.98 4.665 +182 69 3.965 4.665 +170 185 0 4.68 +251 11 2.315 4.68 +147 44 3.91 4.685 +167 203 4.01 4.685 +185 203 4.06 4.685 +6 10 3.76 4.69 +172 215 0 4.69 +167 122 3.58 4.69 +170 135 0 4.69 +152 44 3.895 4.695 +155 7 1.51 4.695 +174 237 2.815 4.695 +191 241 3.265 4.695 +170 201 3.55 4.7 +176 237 4.145 4.7 +184 217 0 4.705 +178 194 3.79 4.705 +37 194 3.87 4.71 +6 58 3.975 4.715 +140 43 4.205 4.72 +206 96 0 4.72 +178 181 0 4.72 +172 183 4.15 4.725 +172 75 1.61 4.725 +179 194 0 4.725 +179 197 0 4.725 +174 208 4.16 4.73 +165 215 4.13 4.74 +170 164 3.54 4.74 +182 135 2.43 4.745 +174 201 2.305 4.745 +1 48 1.91 4.75 +189 148 0 4.75 +185 191 4.24 4.75 +139 161 3.685 4.75 +198 194 0 4.755 +213 226 3.305 4.76 +24 55 3.825 4.765 +172 197 0 4.765 +150 166 2.82 4.765 +155 6 3.58 4.77 +166 190 4.19 4.775 +202 71 4.19 4.78 +135 183 4.145 4.78 +103 183 4.175 4.78 +213 220 0 4.785 +39 188 0 4.785 +155 41 0 4.785 +1 187 3.675 4.79 +136 217 3.945 4.79 +149 184 0.475 4.79 +206 235 2.11 4.79 +103 44 2.21 4.79 +132 148 0 4.795 +202 80 3.045 4.795 +244 148 3.615 4.8 +176 220 0.22 4.805 +143 175 0 4.805 +191 210 1 4.805 +191 219 0.95 4.81 +213 65 1.175 4.815 +151 167 4.26 4.82 +156 166 3.23 4.82 +158 130 3.955 4.82 +213 200 0 4.825 +147 183 2.84 4.825 +206 128 2.955 4.83 +184 136 0.21 4.83 +191 213 3.905 4.835 +190 73 4.225 4.835 +74 48 0 4.835 +198 201 0 4.84 +176 183 0.265 4.84 +165 171 3.825 4.845 +202 164 2.515 4.845 +161 194 1.965 4.845 +43 64 1.96 4.85 +82 204 2.87 4.85 +156 135 3.4 4.85 +165 204 3.855 4.855 +11 74 0.505 4.855 +172 181 0 4.86 +182 89 4.355 4.86 +190 48 0 4.86 +150 135 0.135 4.865 +132 52 3.67 4.87 +24 171 4.29 4.87 +151 168 0 4.87 +155 184 3.175 4.87 +202 47 2.44 4.875 +190 106 4.26 4.875 +244 130 3.625 4.88 +130 194 3.765 4.885 +156 43 3.335 4.885 +165 209 2.325 4.89 +206 126 0.285 4.89 +82 221 4.1 4.89 +147 8 2.39 4.9 +174 194 4.275 4.9 +159 52 2.84 4.91 +155 179 3.875 4.915 +162 238 3.16 4.915 +176 249 4.105 4.915 +6 185 4.4 4.925 +82 241 1.65 4.925 +183 220 0 4.925 +192 164 1.505 4.93 +147 182 0 4.93 +202 191 0 4.935 +139 156 3.405 4.935 +165 198 0 4.94 +15 61 0 4.94 +135 179 3.89 4.94 +150 198 1.9 4.945 +159 43 2.865 4.945 +151 171 4.105 4.95 +155 187 0.755 4.95 +156 130 4.445 4.95 +177 194 0 4.95 +192 212 4.445 4.955 +183 218 4.445 4.955 +185 148 4.37 4.955 +174 209 4.31 4.955 +190 59 2.36 4.955 +162 241 2.59 4.96 +171 181 4.02 4.96 +179 73 2.06 4.96 +192 202 0 4.965 +136 176 3.32 4.965 +24 255 4.2 4.965 +172 216 3.36 4.965 +136 249 4.04 4.97 +206 212 2.195 4.975 +192 64 4.35 4.98 +158 1 4.08 4.98 +39 87 1.04 4.985 +155 183 0.655 4.985 +187 71 3.86 4.985 +165 179 3.9 4.99 +206 208 0 4.99 +7 185 1.435 4.99 +206 220 0.71 4.995 +138 135 2.19 4.995 +168 238 3.9 4.995 +74 220 3.86 4.995 +33 38 4.49 5 +43 181 4.385 5 +222 194 3.75 5 +211 255 0 0.5 +254 106 0 0.505 +226 246 0 0.505 +227 247 0 0.51 +224 240 0 0.51 +158 46 0 0.515 +130 151 0 0.515 +146 14 0 0.52 +154 42 0 0.52 +256 1 0 0.525 +212 228 0 0.525 +212 101 0 0.525 +254 112 0 0.53 +224 251 0 0.53 +244 112 0 0.535 +219 236 0 0.54 +249 224 0 0.54 +67 110 0 0.545 +208 228 0 0.545 +228 256 0 0.545 +247 152 0 0.545 +256 14 0 0.55 +141 58 0 0.55 +242 110 0 0.55 +249 105 0 0.55 +130 255 0 0.55 +196 116 0 0.56 +244 159 0 0.56 +202 207 0 0.565 +241 132 0.065 0.565 +244 152 0 0.565 +208 256 0 0.57 +233 232 0 0.57 +249 71 0 0.57 +158 242 0 0.58 +203 236 0 0.585 +231 149 0 0.59 +211 227 0 0.59 +238 200 0.09 0.59 +141 28 0 0.595 +111 146 0 0.6 +211 99 0 0.6 +212 99 0 0.605 +141 170 0 0.605 +146 15 0 0.605 +252 149 0 0.605 +223 251 0 0.61 +111 46 0.06 0.615 +134 169 0 0.615 +200 246 0 0.62 +253 110 0.04 0.62 +234 246 0 0.625 +244 160 0 0.625 +252 152 0 0.63 +254 251 0 0.635 +211 145 0.085 0.64 +216 232 0 0.64 +249 211 0.05 0.64 +134 185 0 0.64 +245 137 0.11 0.645 +256 144 0 0.655 +158 110 0 0.655 +153 189 0 0.655 +250 108 0 0.66 +238 242 0 0.66 +245 71 0 0.66 +193 116 0.045 0.665 +203 251 0 0.665 +153 166 0 0.665 +207 125 0 0.67 +103 115 0 0.675 +207 127 0.125 0.675 +232 252 0 0.685 +247 135 0 0.69 +218 65 0.045 0.69 +208 194 0.045 0.695 +158 112 0 0.695 +245 250 0.08 0.695 +246 232 0 0.695 +134 132 0.055 0.695 +251 239 0 0.7 +243 252 0.05 0.7 +194 225 0 0.7 +97 14 0 0.705 +234 252 0 0.705 +235 255 0 0.72 +240 132 0 0.72 +111 10 0 0.725 +247 130 0 0.725 +232 151 0 0.73 +67 100 0 0.74 +214 66 0 0.74 +230 252 0 0.74 +249 232 0 0.74 +224 67 0.24 0.745 +196 216 0 0.75 +239 32 0 0.75 +196 215 0.12 0.76 +254 95 0.045 0.76 +211 225 0 0.76 +220 101 0 0.76 +138 186 0 0.765 +145 14 0.24 0.765 +245 251 0.22 0.765 +103 21 0 0.77 +1 115 0 0.77 +1 34 0 0.77 +67 113 0 0.775 +204 226 0.235 0.775 +146 158 0 0.775 +252 104 0 0.775 +142 139 0 0.775 +254 15 0.095 0.78 +216 226 0 0.78 +145 5 0 0.78 +249 137 0 0.78 +203 238 0 0.79 +240 174 0.065 0.79 +67 104 0 0.795 +111 9 0.17 0.795 +1 7 0.245 0.8 +241 101 0 0.8 +212 77 0 0.805 +232 152 0 0.805 +244 113 0.265 0.805 +248 107 0.285 0.805 +157 186 0 0.81 +67 243 0 0.83 +1 101 0 0.83 +241 240 0 0.83 +246 109 0.06 0.83 +146 132 0 0.835 +157 170 0 0.845 +111 106 0 0.85 +219 73 0 0.85 +241 256 0 0.85 +157 11 0 0.855 +224 244 0 0.855 +65 80 0 0.855 +241 227 0 0.855 +240 159 0 0.86 +195 243 0.24 0.86 +65 113 0.285 0.865 +239 174 0.045 0.865 +247 101 0 0.865 +218 254 0 0.87 +223 67 0 0.875 +239 131 0 0.875 +75 13 0.135 0.88 +211 228 0 0.88 +235 155 0 0.88 +193 113 0 0.885 +109 108 0 0.885 +250 111 0 0.885 +142 15 0.335 0.885 +109 9 0 0.895 +224 111 0 0.895 +230 140 0.05 0.895 +243 101 0 0.895 +235 238 0 0.9 +67 248 0 0.905 +157 177 0 0.905 +241 158 0 0.905 +203 253 0 0.91 +204 253 0 0.91 +142 190 0 0.91 +111 125 0 0.915 +200 120 0.315 0.915 +235 256 0.17 0.915 +248 104 0 0.915 +103 119 0 0.92 +220 106 0 0.92 +65 110 0 0.92 +251 111 0 0.92 +244 103 0.265 0.92 +196 227 0 0.925 +103 1 0.15 0.925 +142 111 0.045 0.925 +219 212 0.25 0.93 +249 109 0 0.945 +207 235 0 0.95 +228 159 0 0.95 +107 153 0 0.95 +256 148 0 0.955 +240 153 0.4 0.955 +224 241 0 0.96 +224 106 0 0.96 +245 252 0 0.96 +138 27 0.385 0.965 +138 173 0 0.965 +75 79 0 0.965 +224 238 0 0.965 +230 123 0.385 0.965 +240 155 0 0.965 +255 155 0.44 0.97 +75 253 0 0.975 +251 159 0 0.975 +134 170 0 0.975 +214 248 0.05 0.98 +236 256 0 0.98 +245 236 0 0.98 +109 15 0.425 0.985 +226 149 0 0.985 +239 158 0.475 0.985 +75 154 0.165 0.99 +230 119 0.1 0.99 +234 254 0.44 0.99 +236 253 0 0.99 +245 227 0 0.99 +224 255 0 0.995 +248 154 0.21 0.995 +234 255 0 1 +247 253 0.425 1 +232 140 0 1.005 +240 140 0.435 1.005 +142 155 0 1.01 +111 159 0 1.015 +75 125 0 1.015 +252 5 0 1.015 +234 109 0.18 1.015 +242 150 0.405 1.015 +9 27 0 1.015 +111 190 0.06 1.025 +248 1 0 1.025 +142 173 0 1.03 +75 112 0 1.035 +242 228 0 1.035 +247 149 0 1.035 +75 109 0 1.04 +146 37 0.39 1.04 +248 250 0.065 1.04 +233 138 0 1.04 +220 223 0.33 1.045 +9 57 0 1.045 +134 154 0.25 1.05 +208 255 0 1.055 +146 178 0 1.055 +65 244 0.06 1.055 +244 110 0 1.055 +231 139 0.48 1.055 +236 170 0.505 1.06 +141 159 0 1.06 +9 8 0.36 1.06 +207 255 0 1.065 +230 250 0 1.065 +235 142 0 1.065 +239 161 0.54 1.065 +105 150 0 1.065 +224 95 0.075 1.07 +228 1 0.3 1.07 +141 145 0 1.07 +254 78 0 1.075 +220 109 0 1.075 +251 137 0 1.075 +239 130 0 1.075 +242 247 0.5 1.08 +211 238 0 1.085 +194 238 0 1.09 +228 158 0 1.09 +228 174 0.24 1.095 +251 151 0.49 1.095 +200 227 0 1.1 +218 246 0 1.1 +105 25 0 1.1 +141 255 0 1.1 +146 100 0 1.105 +226 247 0 1.105 +146 136 0 1.11 +224 249 0.59 1.11 +146 148 0 1.115 +224 251 0.6 1.115 +249 107 0 1.115 +235 144 0 1.115 +105 10 0 1.115 +235 253 0 1.12 +141 161 0 1.12 +13 29 0 1.12 +138 174 0 1.125 +207 227 0 1.125 +248 251 0.45 1.125 +231 23 0 1.125 +157 190 0 1.13 +223 111 0.275 1.13 +9 104 0 1.14 +146 147 0 1.14 +146 182 0.37 1.14 +246 106 0.445 1.14 +196 145 0.645 1.145 +226 255 0 1.145 +142 160 0 1.145 +239 31 0.52 1.145 +141 31 0 1.145 +13 125 0 1.145 +193 211 0.35 1.15 +142 177 0 1.15 +221 109 0 1.15 +13 186 0 1.15 +80 68 0 1.155 +256 159 0 1.16 +236 144 0 1.16 +146 156 0.385 1.165 +232 147 0 1.165 +239 255 0 1.165 +247 136 0 1.165 +103 107 0 1.17 +103 251 0.62 1.175 +243 111 0.675 1.175 +220 248 0.37 1.18 +223 145 0.65 1.18 +247 157 0.14 1.185 +218 249 0 1.185 +157 174 0 1.195 +157 156 0 1.195 +105 5 0 1.195 +13 61 0 1.195 +237 196 0 1.2 +236 157 0 1.2 +247 107 0.205 1.2 +141 174 0 1.205 +226 134 0 1.21 +13 108 0 1.21 +232 132 0 1.215 +248 105 0 1.215 +211 99 0.73 1.23 +232 136 0 1.235 +157 153 0 1.24 +79 76 0.375 1.24 +219 247 0.41 1.245 +223 228 0 1.245 +228 146 0 1.245 +65 99 0.07 1.245 +13 156 0 1.245 +246 154 0 1.245 +215 134 0.63 1.25 +250 158 0.435 1.25 +196 255 0 1.255 +236 136 0.49 1.255 +247 240 0.65 1.255 +247 256 0.31 1.255 +141 10 0.275 1.255 +220 236 0.74 1.26 +193 200 0 1.265 +254 250 0 1.265 +200 134 0.665 1.265 +157 140 0 1.265 +215 231 0.69 1.265 +220 245 0 1.265 +145 161 0.68 1.265 +232 18 0 1.27 +246 256 0.22 1.27 +207 200 0.51 1.275 +223 225 0 1.275 +13 12 0 1.275 +242 6 0.74 1.275 +79 113 0 1.28 +196 97 0.61 1.285 +196 244 0.475 1.285 +231 138 0 1.285 +138 25 0.135 1.285 +103 154 0 1.285 +142 232 0.64 1.29 +220 235 0.64 1.295 +79 106 0 1.295 +219 235 0 1.3 +79 83 0 1.3 +223 80 0.41 1.305 +236 103 0.715 1.305 +238 138 0.57 1.305 +75 77 0 1.315 +223 77 0 1.315 +254 251 0.765 1.32 +223 250 0 1.32 +251 134 0.235 1.32 +240 109 0.6 1.32 +109 145 0.63 1.325 +215 243 0 1.33 +109 113 0.415 1.335 +254 142 0.77 1.34 +241 109 0.305 1.34 +242 2 0 1.34 +247 155 0.135 1.34 +220 240 0.775 1.35 +207 232 0.755 1.355 +146 134 0 1.355 +243 230 0 1.355 +214 247 0.54 1.36 +75 248 0.25 1.36 +215 103 0.61 1.36 +13 155 0 1.365 +248 9 0 1.365 +223 218 0 1.37 +216 230 0.815 1.38 +226 216 0.825 1.38 +194 230 0.85 1.385 +240 252 0.75 1.385 +240 143 0.56 1.385 +232 131 0 1.39 +253 138 0 1.395 +253 1 0.87 1.395 +244 132 0 1.395 +220 77 0 1.4 +251 11 0.8 1.4 +145 99 0 1.4 +196 224 0.395 1.405 +255 138 0 1.41 +214 224 0.835 1.42 +253 100 0.89 1.42 +5 181 0.585 1.425 +207 219 0.13 1.425 +222 211 0.615 1.425 +208 225 0 1.43 +203 223 0 1.43 +196 67 0.155 1.435 +142 244 0 1.435 +243 136 0 1.435 +212 215 0.87 1.44 +208 142 0.79 1.445 +13 159 0 1.445 +145 5 0.92 1.445 +212 71 0.94 1.455 +222 80 0 1.455 +146 9 0.725 1.455 +252 106 0 1.455 +232 135 0 1.455 +109 99 0.885 1.465 +145 111 0 1.465 +212 99 0.75 1.47 +241 239 0 1.47 +254 80 0 1.475 +242 145 0 1.475 +243 153 0.885 1.475 +13 42 0 1.48 +243 3 0.75 1.48 +145 152 0 1.48 +256 106 0 1.49 +109 16 0.97 1.49 +253 228 0 1.49 +79 250 0.57 1.49 +241 142 0 1.49 +13 45 0 1.495 +203 207 0 1.495 +255 16 0.97 1.5 +243 152 0 1.5 +247 9 0.54 1.5 +200 202 0.99 1.505 +109 68 0 1.505 +109 14 0 1.505 +212 100 0.965 1.505 +223 245 0.785 1.505 +193 229 0 1.51 +219 212 1 1.51 +142 162 0.395 1.51 +67 246 0 1.515 +194 204 0.415 1.515 +204 218 0.595 1.52 +142 149 0.09 1.525 +253 97 0.695 1.53 +208 241 0 1.53 +254 149 0.885 1.535 +109 125 0 1.535 +199 119 0 1.535 +75 72 0.315 1.535 +203 239 0.9 1.535 +216 218 0.66 1.54 +241 149 0 1.545 +145 245 0.61 1.55 +215 235 0.67 1.55 +142 1 0.395 1.555 +253 77 0.76 1.56 +219 238 0 1.56 +256 153 0 1.565 +215 218 0.325 1.565 +79 238 1.045 1.565 +219 255 0.105 1.57 +241 1 0 1.57 +142 147 0 1.575 +241 99 0 1.585 +75 104 0.935 1.59 +202 80 0.965 1.59 +236 240 0 1.59 +241 157 0.775 1.59 +211 229 1.005 1.595 +212 146 0.85 1.595 +220 256 0.375 1.595 +241 130 0 1.595 +243 131 0.64 1.595 +211 248 0 1.6 +215 153 0.645 1.6 +253 110 0.745 1.605 +196 65 0.675 1.61 +223 97 0 1.61 +226 146 0 1.61 +142 174 0 1.61 +220 107 0 1.615 +241 221 0.62 1.615 +145 136 0 1.62 +234 207 0 1.62 +253 244 0 1.63 +202 230 0.17 1.63 +234 122 0 1.63 +247 135 0.845 1.63 +145 146 0 1.635 +234 124 0 1.64 +241 79 0.845 1.64 +208 122 0 1.645 +223 211 0 1.645 +1 31 1 1.645 +208 226 0.815 1.65 +142 32 0 1.65 +248 138 0.965 1.65 +241 240 0.89 1.655 +228 136 0.36 1.66 +254 216 0.995 1.665 +228 150 0.64 1.665 +234 26 0.56 1.665 +241 253 0 1.665 +145 150 0.145 1.67 +247 141 1.095 1.67 +211 232 0 1.675 +223 79 0 1.675 +236 169 0.925 1.675 +242 228 1.14 1.675 +145 174 0 1.69 +141 137 0 1.69 +194 232 0.965 1.69 +220 101 0.94 1.69 +223 244 0 1.69 +247 154 0 1.69 +255 159 0 1.695 +254 146 0 1.695 +141 153 1.1 1.695 +141 173 0 1.695 +215 248 0 1.7 +203 236 1.065 1.7 +215 80 0.805 1.705 +238 154 1.11 1.715 +241 145 0 1.715 +254 98 0.135 1.72 +242 104 0 1.725 +242 103 0 1.725 +200 67 0.885 1.73 +216 232 0.92 1.73 +202 235 0.115 1.73 +75 224 0 1.735 +223 65 0 1.735 +252 12 0 1.735 +1 37 0.24 1.74 +252 41 0.7 1.74 +13 190 0 1.74 +221 249 0.995 1.745 +238 13 1.11 1.75 +13 10 0 1.75 +248 6 0.7 1.755 +145 162 0 1.76 +193 194 0 1.76 +234 239 0 1.76 +234 238 0 1.77 +191 65 1.19 1.77 +145 178 0 1.775 +1 159 0 1.775 +194 229 0 1.78 +215 251 0.54 1.78 +212 98 0.255 1.785 +254 99 0 1.795 +199 202 0 1.795 +142 189 0 1.8 +158 192 0.385 1.8 +212 72 0.83 1.805 +105 12 0.065 1.805 +220 247 0.4 1.805 +75 87 0 1.81 +13 33 1.13 1.815 +247 250 0 1.815 +193 241 0.305 1.82 +245 150 0 1.82 +111 125 1.085 1.82 +80 127 0.72 1.825 +231 23 1.215 1.825 +249 240 0 1.83 +141 255 1.21 1.835 +244 150 0.71 1.835 +133 245 0 1.835 +193 197 0 1.84 +252 112 0.34 1.84 +215 98 0.835 1.845 +157 244 0 1.85 +202 249 0 1.85 +145 189 1.29 1.855 +197 120 1.16 1.855 +215 101 0 1.86 +75 110 0 1.865 +215 252 0 1.865 +142 154 1.035 1.865 +228 244 0 1.865 +240 154 0.425 1.865 +246 182 1.3 1.865 +241 225 0 1.87 +142 148 0 1.875 +236 28 0.265 1.875 +242 232 0 1.875 +244 147 0.835 1.875 +146 7 0 1.88 +13 144 0.975 1.88 +246 256 1.285 1.88 +212 216 0 1.885 +219 246 0 1.885 +235 134 0.47 1.885 +254 107 0 1.89 +252 13 0 1.89 +242 75 0.9 1.89 +246 134 0.55 1.89 +218 253 0 1.89 +199 211 0 1.895 +215 219 0 1.895 +215 105 0.64 1.895 +228 148 0 1.895 +245 134 0 1.895 +247 182 1.275 1.895 +247 136 1.305 1.9 +67 75 0.805 1.905 +157 111 0 1.905 +249 253 0 1.905 +238 30 0.84 1.905 +254 251 1.34 1.91 +211 230 0 1.91 +249 157 0 1.91 +238 248 1.355 1.915 +255 112 0.985 1.92 +204 221 0 1.92 +146 115 1.045 1.92 +219 157 0.5 1.92 +252 139 1.335 1.92 +255 5 1.085 1.925 +230 248 0 1.925 +158 156 0.78 1.925 +207 128 0 1.93 +214 146 1.16 1.935 +243 150 0 1.935 +226 134 1.39 1.94 +172 211 1.13 1.94 +172 221 0 1.945 +215 102 1.155 1.95 +80 111 0 1.95 +142 159 0 1.955 +158 112 0.955 1.955 +228 161 0.585 1.97 +193 128 1.38 1.975 +226 244 0 1.975 +65 216 0 1.98 +249 134 0 1.98 +199 220 1.375 1.985 +67 101 0 1.99 +141 132 0 1.99 +146 8 0 1.99 +236 24 0.88 1.99 +200 220 0.44 2.01 +215 243 1.42 2.01 +215 250 0 2.01 +65 71 0.9 2.01 +111 15 0 2.015 +216 219 1.48 2.015 +109 97 0 2.02 +13 123 0 2.025 +254 77 0 2.04 +220 230 0.415 2.045 +240 29 0.46 2.045 +255 248 1.355 2.05 +216 87 1.205 2.05 +247 251 0 2.05 +203 125 0 2.05 +196 242 0 2.055 +196 239 0 2.055 +250 103 0 2.055 +142 62 1.105 2.055 +240 139 0.73 2.055 +193 225 0 2.06 +219 102 1.4 2.065 +226 239 0 2.065 +226 253 1.005 2.065 +241 98 0.515 2.07 +158 186 0 2.07 +196 253 0 2.075 +107 101 1.51 2.075 +228 147 0 2.075 +145 154 1.095 2.08 +230 250 1.21 2.08 +246 149 0.72 2.08 +212 244 0 2.085 +245 255 1.09 2.09 +200 207 1.305 2.095 +142 161 0 2.095 +228 144 0.96 2.1 +75 230 1.545 2.105 +252 16 1.16 2.105 +231 25 0 2.11 +223 111 1.46 2.11 +223 242 0 2.11 +107 10 0 2.115 +221 77 0 2.115 +80 93 0 2.125 +207 227 1.5 2.125 +196 211 0 2.13 +228 253 1.58 2.13 +238 1 0.71 2.135 +223 256 0 2.15 +246 99 0.605 2.15 +245 149 0 2.16 +224 97 0 2.165 +13 31 0 2.165 +105 13 0 2.17 +226 211 0 2.17 +5 22 1.09 2.17 +207 18 1.62 2.17 +249 107 1.2 2.175 +214 101 0 2.185 +207 141 0.21 2.185 +105 110 0.53 2.19 +203 221 0 2.19 +254 250 1.58 2.195 +5 38 0 2.195 +219 111 1.56 2.205 +243 103 0 2.205 +5 39 0.57 2.205 +145 3 0 2.21 +211 244 0 2.21 +252 134 0 2.21 +249 9 1.665 2.21 +247 147 1.6 2.21 +245 228 0 2.215 +219 106 1.205 2.22 +255 100 1.675 2.225 +219 110 0.93 2.225 +242 79 0.845 2.225 +215 231 1.725 2.235 +224 93 1.145 2.235 +251 29 1.48 2.24 +13 11 0 2.24 +240 225 0 2.245 +248 179 1.605 2.255 +202 109 1.455 2.26 +107 119 0.73 2.265 +219 13 1.36 2.265 +249 256 0 2.265 +13 113 1.75 2.265 +248 177 1.65 2.265 +251 143 1.75 2.27 +219 105 0.875 2.275 +191 220 1.675 2.275 +216 218 1.725 2.28 +202 250 0 2.28 +249 156 1.335 2.28 +203 236 1.745 2.285 +109 102 1.31 2.29 +253 105 1.78 2.29 +215 236 0 2.29 +232 18 1.605 2.29 +248 6 1.79 2.3 +237 106 1.305 2.305 +237 29 0 2.305 +142 149 1.79 2.305 +249 140 0.86 2.305 +252 158 0.75 2.31 +228 134 0.585 2.315 +238 245 0.695 2.315 +218 71 0 2.32 +218 105 0.68 2.32 +145 162 1.81 2.32 +219 77 0 2.32 +256 16 0 2.325 +234 107 1.535 2.325 +245 130 0 2.325 +203 124 0 2.325 +200 134 1.44 2.33 +219 254 0 2.33 +219 252 0 2.335 +237 30 0 2.34 +247 244 1.495 2.34 +111 19 0.9 2.345 +232 137 0 2.345 +141 20 0 2.35 +105 138 1.4 2.35 +220 221 0 2.35 +249 103 1.39 2.35 +196 243 0 2.355 +141 228 0 2.355 +65 253 1.83 2.355 +157 130 1.235 2.36 +232 140 1.3 2.36 +200 203 1.835 2.365 +231 165 1.815 2.37 +241 145 1.75 2.37 +107 138 1.36 2.375 +219 255 1.775 2.38 +232 131 1.455 2.38 +13 106 0 2.38 +145 134 1.845 2.385 +204 250 0 2.385 +216 91 1.83 2.385 +234 154 1.325 2.385 +235 256 1.76 2.385 +223 65 1.82 2.39 +235 154 1.605 2.39 +142 29 0.275 2.395 +241 248 0 2.395 +200 130 1.73 2.4 +250 153 0 2.4 +13 16 0 2.4 +238 130 0 2.405 +197 238 1.75 2.41 +212 97 0 2.41 +226 130 0 2.415 +234 138 0 2.415 +13 108 1.42 2.415 +218 93 0.045 2.42 +226 227 0 2.42 +142 130 0 2.42 +212 68 0 2.425 +220 252 0 2.425 +111 112 0 2.43 +223 243 0.64 2.43 +221 80 0.4 2.43 +247 149 1.225 2.43 +253 243 1 2.435 +251 9 0.54 2.435 +203 239 1.615 2.435 +204 246 0 2.44 +223 251 0.75 2.44 +249 138 0 2.44 +244 130 0 2.44 +111 113 0 2.445 +212 215 1.525 2.45 +223 109 0 2.45 +252 109 0 2.45 +235 27 1.225 2.45 +246 138 1.31 2.45 +145 139 1.365 2.455 +254 110 0 2.455 +223 197 1.36 2.455 +13 125 1.54 2.455 +254 1 0 2.46 +204 252 1.565 2.46 +220 251 0 2.46 +251 13 0 2.46 +238 146 1.84 2.46 +204 211 0.215 2.465 +220 109 1.225 2.465 +240 243 1.855 2.465 +197 228 1.875 2.47 +107 12 0 2.47 +226 116 0 2.47 +235 139 0 2.47 +111 115 0.83 2.475 +219 238 1.895 2.475 +226 231 0 2.475 +236 146 1.875 2.475 +255 130 0.655 2.48 +145 152 1.855 2.48 +145 177 0 2.485 +75 89 0 2.485 +231 146 1.88 2.485 +157 155 0 2.495 +142 19 1.33 2.495 +203 251 1.025 2.495 +145 15 0 2.5 +200 153 1.745 2.5 +234 256 0 2.5 +145 161 1.345 2.505 +254 68 0 2.505 +197 242 1.915 2.505 +141 153 1.91 2.505 +212 67 0 2.505 +154 151 0 2.505 +237 221 0.285 2.51 +111 5 0.805 2.51 +145 160 0 2.515 +111 2 0 2.525 +251 30 1.195 2.525 +200 75 1.05 2.535 +219 256 0 2.535 +221 68 2.03 2.535 +203 75 1.87 2.54 +146 130 0 2.54 +154 176 1.885 2.54 +216 114 1.645 2.545 +220 91 1.76 2.545 +250 144 1.59 2.545 +228 19 1.69 2.545 +141 250 1.195 2.55 +141 155 0 2.55 +251 145 1.255 2.55 +47 254 0.625 2.55 +200 227 1.575 2.555 +228 149 0 2.555 +251 238 0 2.555 +111 72 1.26 2.56 +235 137 0 2.56 +111 149 0.715 2.57 +133 28 0 2.575 +145 24 1.9 2.58 +200 26 1.82 2.58 +75 153 1.78 2.58 +238 149 0.745 2.58 +246 107 0 2.58 +197 247 1.86 2.585 +246 151 2.025 2.585 +111 114 1.205 2.59 +252 185 2 2.59 +244 115 1.475 2.59 +158 4 1.64 2.59 +197 216 2.005 2.595 +253 110 2.03 2.595 +75 242 2.035 2.595 +247 137 0 2.595 +65 83 0 2.605 +249 141 0.85 2.605 +235 142 1.14 2.605 +247 151 0 2.605 +196 215 1.635 2.61 +158 33 0 2.61 +241 244 0 2.61 +256 112 0 2.62 +141 238 0 2.625 +141 145 1.255 2.625 +252 144 0.9 2.625 +241 221 1.71 2.625 +197 254 1.965 2.635 +197 232 1.12 2.635 +75 103 0 2.635 +212 232 2.045 2.645 +226 240 0.99 2.645 +13 2 1.045 2.645 +200 248 0 2.655 +231 53 1.91 2.655 +254 253 0 2.66 +216 104 0 2.665 +236 157 1.435 2.665 +254 17 1.095 2.67 +200 246 0.775 2.67 +197 225 0 2.67 +75 9 0.105 2.67 +229 130 1.81 2.67 +200 146 1.025 2.675 +221 228 2.11 2.675 +242 104 1.815 2.675 +200 242 0 2.68 +109 125 1.575 2.68 +157 139 0 2.68 +194 214 0.375 2.68 +145 148 0 2.685 +158 131 2.035 2.685 +238 30 2.085 2.685 +141 154 1.045 2.69 +250 138 0 2.69 +244 104 0.17 2.69 +75 6 0.495 2.695 +250 158 1.375 2.695 +242 102 1.945 2.695 +222 253 0 2.695 +255 3 0.96 2.7 +200 133 1.3 2.7 +208 239 0 2.7 +243 148 0 2.7 +238 13 1.815 2.705 +13 5 2.055 2.705 +247 155 2.205 2.705 +248 1 1.15 2.705 +249 242 2.09 2.71 +154 189 0.43 2.71 +194 242 0.55 2.715 +248 162 1.665 2.715 +208 141 0.565 2.72 +105 16 1.195 2.72 +252 151 0 2.72 +157 148 0 2.725 +215 242 0 2.725 +241 246 0.815 2.73 +247 138 0 2.73 +235 245 2.2 2.735 +75 156 2.19 2.74 +154 140 0 2.74 +154 170 0.435 2.745 +158 14 0 2.75 +158 190 0 2.75 +245 102 1.545 2.75 +204 141 2.165 2.755 +224 106 1.485 2.755 +252 5 2.1 2.755 +254 149 1.54 2.76 +252 150 0 2.76 +218 253 1.955 2.765 +75 256 0 2.765 +219 251 0 2.765 +194 67 0.425 2.765 +204 251 0 2.77 +226 113 1.24 2.77 +231 28 0 2.775 +215 102 2.13 2.775 +244 101 0 2.775 +245 105 1.415 2.775 +158 3 0 2.78 +158 162 2.135 2.78 +252 170 1.375 2.78 +252 7 0 2.78 +244 216 0.47 2.785 +253 15 2.245 2.79 +214 91 1.34 2.795 +221 110 2.095 2.795 +223 113 2.08 2.8 +248 178 1.295 2.805 +242 3 2.265 2.805 +254 99 1.865 2.81 +219 240 0 2.81 +254 240 0 2.815 +224 240 2.25 2.815 +194 207 2.11 2.82 +249 101 1.6 2.825 +157 1 0.735 2.83 +245 101 0 2.83 +158 146 2.295 2.835 +145 1 0 2.84 +111 98 0.72 2.84 +75 251 0 2.84 +224 76 0.375 2.84 +238 65 1.885 2.84 +158 248 1.89 2.845 +214 101 2.265 2.845 +248 131 0.96 2.85 +111 1 0 2.85 +157 107 0 2.85 +240 109 2.13 2.855 +242 101 0 2.86 +256 4 2.14 2.865 +212 240 1.87 2.865 +247 130 0.855 2.865 +212 228 2.055 2.87 +231 170 2.255 2.875 +111 14 0 2.88 +223 241 0 2.88 +214 87 0.815 2.885 +157 15 0 2.885 +223 225 1.3 2.885 +216 72 0 2.89 +236 139 0 2.89 +216 119 1.385 2.895 +226 65 2.18 2.895 +228 247 1.24 2.895 +242 110 2.34 2.895 +235 246 2.05 2.9 +256 17 1.87 2.905 +212 219 1.835 2.905 +216 108 1.655 2.905 +244 246 0.855 2.905 +214 218 0 2.91 +105 104 0 2.91 +238 109 0.205 2.92 +241 98 2.165 2.92 +248 179 2.41 2.925 +204 232 1.105 2.925 +212 243 0 2.925 +221 207 0 2.925 +224 238 2.225 2.93 +238 244 0 2.93 +241 228 0 2.93 +242 2 1.99 2.93 +255 110 1.71 2.94 +212 142 2.425 2.94 +236 160 2.35 2.945 +254 207 0.535 2.95 +254 98 1.99 2.95 +111 17 0.4 2.95 +111 127 0 2.955 +211 101 0 2.955 +248 3 1.315 2.96 +222 238 1.88 2.96 +197 234 2.355 2.96 +256 108 1.335 2.965 +145 13 0.945 2.985 +226 249 2.32 3 +13 3 0.99 3.01 +247 101 1.62 3.015 +226 204 1.975 3.02 +249 102 1.535 3.02 +214 250 0 3.025 +252 134 2.325 3.025 +248 101 0 3.03 +208 142 1.595 3.035 +212 207 0.54 3.035 +235 153 0 3.035 +200 203 2.44 3.04 +109 108 1.325 3.04 +105 41 2.43 3.04 +247 102 2.42 3.04 +26 16 2.425 3.04 +234 141 0.22 3.045 +247 182 2.455 3.045 +141 160 1.425 3.05 +221 107 2.13 3.05 +234 128 0 3.05 +238 242 0.685 3.05 +75 109 1.285 3.055 +255 148 0 3.06 +158 133 2.26 3.06 +141 256 1.06 3.07 +208 128 0 3.075 +105 182 2.165 3.075 +158 107 0 3.08 +154 7 2.575 3.08 +75 91 0 3.08 +212 253 0 3.08 +142 256 0 3.08 +244 110 1.83 3.08 +145 147 0 3.085 +208 196 0 3.085 +243 3 1.625 3.085 +196 255 2.535 3.095 +221 218 0 3.095 +230 251 0 3.095 +145 152 2.565 3.1 +13 146 1.96 3.105 +241 97 0 3.105 +247 250 1.85 3.105 +211 114 2.08 3.11 +252 109 2.605 3.11 +235 216 2.495 3.11 +211 76 1.335 3.115 +144 163 2.585 3.115 +194 65 0.675 3.12 +195 113 0 3.125 +146 3 0 3.13 +229 235 1.6 3.13 +224 95 1.43 3.13 +76 246 1.74 3.13 +157 252 0 3.135 +249 71 2.255 3.14 +196 240 0 3.145 +109 9 1.21 3.145 +146 1 0 3.145 +241 71 2.235 3.145 +111 107 0 3.15 +76 122 1.55 3.15 +105 155 1.925 3.155 +250 101 0.695 3.155 +243 98 2.185 3.155 +144 173 0 3.16 +196 210 0 3.165 +109 17 0.985 3.17 +204 252 2.55 3.175 +216 156 2.66 3.175 +244 107 2.085 3.18 +226 210 2.295 3.185 +240 252 2.68 3.185 +250 11 2.2 3.19 +195 115 2.49 3.19 +202 235 2.56 3.19 +204 240 2.615 3.195 +111 158 0 3.195 +236 150 0 3.195 +133 236 0 3.195 +203 124 2.59 3.2 +230 246 0 3.2 +242 103 2.495 3.2 +26 173 2.485 3.2 +111 253 0 3.205 +249 76 1.94 3.205 +249 154 0 3.205 +204 253 2.345 3.21 +65 110 1.76 3.21 +235 31 2.315 3.21 +76 101 0 3.21 +158 11 0 3.215 +111 80 2.325 3.215 +111 99 0 3.215 +157 154 0 3.215 +164 210 0 3.22 +210 200 2.53 3.225 +243 153 2.26 3.225 +214 242 0 3.235 +164 207 0 3.235 +144 148 0.695 3.235 +111 95 1.05 3.24 +111 218 2.555 3.245 +164 195 0 3.245 +204 128 1.89 3.25 +204 245 0 3.25 +219 91 1.15 3.25 +234 218 0.455 3.25 +144 131 2.095 3.255 +98 115 0 3.255 +98 120 0 3.255 +256 155 0 3.26 +211 121 2.4 3.26 +157 189 0 3.265 +75 67 2.745 3.265 +158 17 1.7 3.27 +208 218 2.055 3.27 +226 146 1.7 3.27 +154 148 1.05 3.275 +146 156 2.18 3.275 +220 246 0 3.275 +133 153 2.015 3.275 +204 208 0 3.28 +111 110 0 3.28 +157 138 0 3.28 +226 216 2.465 3.28 +204 231 0 3.285 +216 99 0 3.285 +220 245 1.335 3.285 +144 154 0.47 3.285 +111 145 2.355 3.29 +253 107 0 3.295 +231 146 2.62 3.295 +249 105 0.82 3.295 +224 91 0.535 3.3 +249 146 1.4 3.31 +158 154 0 3.315 +158 178 1.82 3.315 +256 190 2.155 3.32 +158 100 2.76 3.32 +158 190 2.81 3.32 +220 218 0 3.32 +244 190 2.785 3.32 +254 216 2 3.325 +204 26 1.745 3.325 +75 245 0.945 3.325 +230 133 0 3.325 +256 11 0 3.33 +212 145 2.38 3.33 +236 146 2.555 3.33 +241 230 2.165 3.33 +154 159 0 3.335 +211 244 2.345 3.335 +249 128 2.8 3.335 +236 245 1.02 3.335 +145 146 1.815 3.34 +245 252 1.02 3.34 +210 216 2.835 3.345 +249 251 0 3.345 +211 99 1.745 3.35 +146 149 0 3.355 +144 243 2.795 3.355 +154 255 0 3.36 +157 160 0 3.36 +146 182 2.35 3.36 +230 245 0 3.36 +204 236 0 3.37 +240 61 2.745 3.37 +142 138 0 3.37 +105 160 2.49 3.375 +256 148 1.28 3.38 +238 132 0.29 3.38 +210 254 0 3.385 +212 79 0 3.385 +212 200 0 3.385 +240 143 2.785 3.39 +244 98 0 3.39 +244 160 2.775 3.39 +220 224 0 3.395 +256 132 2.035 3.4 +254 100 0 3.4 +211 5 2.6 3.4 +195 124 1.535 3.4 +204 229 0 3.405 +246 119 1.375 3.405 +153 8 2.57 3.405 +221 251 1.15 3.41 +243 216 0 3.41 +237 112 2.595 3.415 +238 243 0 3.42 +255 129 1.97 3.425 +199 228 2.075 3.425 +158 250 2.785 3.43 +204 124 0 3.43 +241 204 1.995 3.43 +246 12 2.85 3.43 +247 5 1.665 3.43 +248 8 2.36 3.435 +247 242 1.155 3.435 +145 244 0 3.44 +164 253 2.94 3.44 +236 182 2.38 3.44 +216 152 2.81 3.445 +234 102 2.68 3.445 +246 99 2.265 3.445 +246 107 2.655 3.445 +211 117 1.795 3.45 +238 30 2.83 3.45 +241 220 2.38 3.45 +254 247 2.22 3.455 +253 145 0 3.455 +223 109 2.695 3.455 +250 100 2.925 3.455 +241 247 1.255 3.455 +153 136 0 3.455 +145 247 2.58 3.46 +109 125 2.915 3.46 +236 135 0 3.46 +248 136 0.375 3.465 +255 160 0 3.47 +211 102 1.555 3.47 +223 250 2.905 3.47 +224 76 2.91 3.47 +231 53 2.83 3.475 +226 132 2.695 3.475 +242 216 0 3.475 +248 135 0.94 3.48 +211 243 0 3.48 +226 116 2.845 3.48 +221 144 2.595 3.48 +246 155 2.105 3.48 +246 184 2.355 3.48 +75 117 0.675 3.485 +75 97 2.9 3.485 +246 8 2.31 3.485 +231 136 1.645 3.49 +223 158 2.895 3.49 +13 125 2.505 3.49 +241 249 2.06 3.495 +226 129 0 3.5 +243 148 2.865 3.5 +65 216 2.15 3.505 +164 226 0.44 3.505 +213 254 2.08 3.505 +157 149 1.7 3.51 +65 13 1.83 3.51 +164 254 1.76 3.51 +243 100 2.65 3.51 +246 251 0 3.51 +197 254 2.985 3.515 +13 113 2.77 3.515 +246 25 2.655 3.515 +158 248 2.98 3.52 +146 184 2.36 3.52 +250 112 0 3.52 +197 247 2.85 3.52 +141 32 0 3.52 +252 155 0 3.525 +244 148 0 3.525 +245 99 0.76 3.525 +144 149 1.71 3.53 +109 243 2.885 3.53 +109 1 0.75 3.53 +223 255 0 3.53 +219 77 2.57 3.535 +249 98 2.32 3.535 +109 251 0 3.545 +226 158 2.745 3.545 +142 62 2.945 3.545 +242 132 2.92 3.55 +145 256 0 3.555 +223 145 1.395 3.555 +145 242 2.41 3.565 +215 236 2.535 3.565 +65 243 1.81 3.565 +256 100 2.67 3.57 +144 155 0 3.57 +158 152 1.9 3.57 +109 112 0 3.57 +220 236 2.815 3.575 +246 23 1.905 3.575 +105 12 1.85 3.575 +224 13 1.52 3.58 +238 256 0 3.58 +242 1 0 3.585 +248 181 1.065 3.59 +75 236 1.75 3.59 +216 97 0 3.59 +105 13 2.57 3.595 +105 251 0.615 3.595 +158 242 2.43 3.6 +216 5 0.955 3.6 +240 31 2.48 3.6 +158 147 0 3.605 +142 32 1.825 3.605 +255 17 1.405 3.62 +232 147 1.525 3.62 +240 189 2.82 3.62 +144 174 0 3.625 +158 15 0 3.625 +224 253 0 3.625 +13 112 0 3.625 +229 236 0 3.625 +241 145 2.65 3.63 +238 253 0 3.635 +243 5 0 3.635 +220 230 2.47 3.64 +232 236 0 3.64 +154 112 0 3.65 +142 19 2.66 3.65 +216 101 0 3.655 +237 26 0 3.655 +13 108 2.51 3.655 +245 133 2.075 3.655 +199 236 0.99 3.67 +211 79 2.72 3.67 +240 129 0 3.67 +158 245 3.135 3.675 +215 219 2.21 3.675 +216 6 0.81 3.675 +245 132 2.98 3.675 +65 77 0 3.68 +194 211 0 3.68 +220 98 3.005 3.685 +224 68 0 3.685 +240 138 0 3.69 +158 130 0 3.695 +109 68 1.78 3.695 +109 99 2.935 3.695 +199 245 0 3.695 +212 197 2.965 3.695 +237 221 2.59 3.7 +224 110 0 3.7 +249 140 2.625 3.7 +238 128 2.935 3.7 +240 145 0 3.705 +103 38 0.205 3.705 +237 238 0 3.71 +224 254 0 3.71 +252 5 3.14 3.71 +249 153 0 3.71 +215 252 2.595 3.715 +215 98 2.15 3.715 +252 108 0 3.715 +142 31 1.41 3.715 +144 140 0 3.72 +212 211 0 3.72 +224 256 0 3.72 +154 12 2.615 3.73 +237 123 0 3.73 +224 242 2.645 3.735 +105 112 0 3.74 +242 2 3.16 3.74 +103 3 0 3.75 +203 236 2.835 3.755 +214 72 0 3.76 +230 138 0 3.76 +144 161 0 3.765 +197 203 1.9 3.765 +211 255 2.485 3.775 +221 211 2.94 3.775 +245 150 3.12 3.775 +247 98 2.39 3.775 +224 100 1.11 3.78 +252 101 0 3.78 +249 219 0 3.78 +208 105 2.99 3.785 +237 219 3.13 3.785 +250 127 3.27 3.79 +232 18 2.475 3.795 +236 105 1.835 3.795 +219 252 2.665 3.8 +255 127 3.115 3.805 +80 252 0.555 3.805 +154 5 3.3 3.805 +247 152 1.51 3.805 +75 119 0.485 3.81 +236 134 0 3.81 +144 132 0 3.815 +224 255 1.545 3.815 +249 211 1.23 3.815 +249 250 0 3.815 +211 254 0 3.825 +231 138 1.455 3.825 +252 98 2.44 3.825 +245 149 3.13 3.825 +223 256 2.785 3.83 +226 227 2.61 3.83 +256 189 2.05 3.835 +154 140 3.325 3.835 +215 242 2.855 3.835 +197 211 0 3.835 +256 127 3.015 3.84 +80 246 0.475 3.84 +241 216 0 3.84 +243 247 0 3.84 +144 170 0 3.845 +203 230 0 3.845 +216 80 1.285 3.85 +146 252 0.145 3.85 +200 242 2.875 3.86 +111 211 1.755 3.86 +226 115 2.615 3.86 +243 178 3.295 3.865 +232 131 2.59 3.87 +252 107 0 3.875 +234 138 3.21 3.875 +246 11 2.745 3.875 +247 6 3.205 3.88 +204 211 3.165 3.885 +215 254 2.1 3.885 +220 105 0 3.885 +107 6 0 3.89 +238 113 2.07 3.895 +247 146 0 3.895 +211 35 0.485 3.9 +243 140 3.38 3.9 +107 101 2.485 3.905 +249 248 0 3.91 +142 256 3.115 3.915 +246 104 0.385 3.915 +144 61 2.99 3.92 +211 247 0 3.92 +248 137 2.84 3.93 +236 248 0 3.93 +229 132 2.855 3.935 +238 115 2.77 3.94 +65 5 3.04 3.945 +236 103 1.515 3.945 +242 104 3.36 3.945 +224 77 0 3.95 +214 247 2.4 3.955 +247 105 0 3.955 +158 1 0 3.955 +111 243 1.26 3.96 +204 219 0 3.965 +157 245 3.12 3.965 +215 76 1.115 3.965 +247 182 3.21 3.965 +111 244 0 3.975 +249 245 0 3.975 +105 109 0 3.975 +248 24 1.62 3.98 +65 104 3.4 3.985 +144 156 3.37 3.995 +142 243 0 3.995 +247 245 0 3.995 +254 152 3.1 4 +240 230 2.7 4 +75 110 2.91 4.005 +197 120 3.215 4.005 +220 247 2.38 4.01 +226 207 0 4.01 +157 244 2.205 4.015 +215 235 2.16 4.015 +240 29 2.82 4.015 +238 239 0 4.02 +111 97 0 4.025 +158 138 0.175 4.03 +157 138 3.425 4.035 +229 140 2.955 4.035 +256 108 3.45 4.04 +248 132 1.54 4.04 +200 236 0.715 4.04 +240 26 2.48 4.04 +215 231 2.91 4.045 +215 247 0 4.05 +235 138 0 4.05 +103 183 1.785 4.055 +254 146 1.865 4.06 +229 24 1.65 4.06 +203 215 1.37 4.065 +103 130 2.605 4.065 +226 120 2.54 4.07 +226 247 1.17 4.07 +47 210 0 4.07 +234 140 3.445 4.075 +238 116 1.45 4.075 +238 243 3.485 4.075 +250 153 3.065 4.085 +248 184 1.53 4.09 +253 27 3.39 4.09 +111 146 0.655 4.09 +144 32 0 4.095 +200 140 3.025 4.095 +256 190 3.565 4.1 +234 107 2.705 4.1 +154 45 2.62 4.105 +203 141 3.445 4.105 +224 210 1.62 4.11 +223 141 2.76 4.115 +203 247 3.22 4.12 +47 84 3.34 4.12 +256 243 1.74 4.125 +255 14 0.66 4.125 +253 107 3.325 4.125 +195 231 2.7 4.125 +252 150 3.55 4.125 +245 134 2.66 4.125 +237 236 2.925 4.13 +238 125 2.81 4.135 +200 243 0 4.14 +230 27 2.96 4.14 +200 146 2.8 4.145 +47 66 0 4.145 +248 149 0 4.15 +154 192 2.645 4.15 +245 231 0 4.15 +253 192 3.62 4.155 +250 98 2.97 4.155 +200 134 2.995 4.16 +248 130 0 4.165 +249 231 0 4.165 +76 98 0.985 4.165 +212 142 3.655 4.17 +231 18 0 4.17 +249 232 0.83 4.17 +212 255 0 4.18 +234 251 0 4.18 +232 149 0 4.185 +236 135 3.56 4.185 +47 100 1.19 4.185 +214 80 0.6 4.19 +103 244 0.97 4.19 +204 247 0 4.195 +245 5 1.055 4.195 +235 27 2.89 4.2 +47 91 0.845 4.2 +200 26 2.66 4.205 +195 249 3.005 4.205 +242 5 0 4.205 +65 117 2.795 4.21 +242 103 3.315 4.21 +243 131 2.855 4.21 +245 145 2.485 4.21 +109 108 3.275 4.215 +241 243 0 4.215 +144 27 1.815 4.22 +253 105 2.35 4.22 +65 152 3.395 4.22 +235 250 0.05 4.22 +240 228 0 4.22 +242 19 3.355 4.22 +245 255 2.385 4.22 +248 182 0.8 4.225 +146 8 2.29 4.23 +248 140 0.515 4.245 +229 18 1.705 4.245 +65 83 2.86 4.25 +232 140 2.495 4.25 +214 250 3.47 4.26 +157 232 2.79 4.26 +216 98 0 4.26 +230 134 0 4.265 +248 6 2.765 4.27 +157 149 3.625 4.27 +203 214 3.1 4.27 +203 250 3.095 4.27 +240 255 0 4.27 +242 33 3.685 4.27 +236 173 3.61 4.275 +245 109 3.145 4.275 +253 29 3.48 4.28 +234 215 0 4.28 +211 232 2.235 4.29 +242 98 0 4.29 +243 143 2.83 4.29 +103 2 1.925 4.295 +133 30 3.675 4.295 +158 177 0 4.3 +103 104 0 4.3 +240 250 0 4.3 +224 65 0 4.31 +252 155 3.565 4.31 +242 127 2.56 4.31 +242 113 3.05 4.31 +243 1 0 4.31 +194 232 3.285 4.315 +226 249 3.23 4.32 +252 182 0.27 4.32 +103 99 2.23 4.32 +13 178 3.385 4.32 +232 130 0 4.325 +234 153 3.115 4.33 +242 17 1.535 4.33 +243 177 2.84 4.33 +107 16 0 4.335 +249 236 0 4.335 +197 220 2.345 4.34 +157 154 3.52 4.345 +103 23 0.14 4.345 +214 108 3.62 4.35 +253 189 3.005 4.355 +153 138 0 4.355 +208 154 3.01 4.36 +248 7 2.63 4.365 +146 6 0.625 4.365 +252 139 3.605 4.365 +232 244 0.76 4.365 +250 255 0 4.37 +252 186 3.655 4.37 +234 156 3.5 4.37 +229 134 0 4.37 +76 96 3.84 4.37 +254 149 2.87 4.38 +253 153 3.1 4.38 +223 239 0 4.38 +223 255 3.55 4.39 +103 22 3.635 4.39 +229 243 1.91 4.39 +254 231 3.07 4.395 +214 121 1.405 4.395 +219 71 3.86 4.395 +252 151 3.595 4.395 +144 62 1.065 4.4 +208 141 3.41 4.4 +194 229 3.165 4.4 +69 121 2.955 4.4 +248 17 2.955 4.405 +109 149 3.785 4.41 +252 138 0 4.41 +245 103 0 4.41 +76 119 0 4.41 +153 160 2.47 4.41 +194 228 3.265 4.415 +195 212 1.845 4.42 +231 132 2.66 4.42 +208 255 1.95 4.425 +65 80 3.92 4.425 +158 62 3.385 4.435 +146 23 2.21 4.435 +144 192 0.655 4.44 +223 256 3.92 4.445 +105 160 3.765 4.445 +35 106 3.935 4.445 +154 112 3.845 4.45 +256 189 3.895 4.455 +154 123 3.46 4.455 +67 121 2.345 4.455 +245 229 0 4.455 +231 152 3.715 4.46 +221 250 0.33 4.46 +35 113 3.445 4.46 +69 68 3.78 4.465 +13 17 0.585 4.465 +146 19 3.84 4.47 +240 124 2.735 4.475 +146 22 3.83 4.485 +109 9 3.205 4.49 +241 107 3.985 4.49 +247 28 3.875 4.49 +221 244 2.185 4.495 +235 153 3.11 4.495 +240 247 3.7 4.495 +199 231 0 4.5 +154 110 3.74 4.5 +250 251 0 4.5 +144 145 0.63 4.505 +208 236 2.88 4.505 +35 114 3.15 4.51 +238 144 0.92 4.515 +248 99 3.765 4.52 +144 132 3.885 4.525 +145 20 1.4 4.525 +154 4 3.825 4.525 +157 250 0 4.525 +224 157 2.3 4.525 +238 255 0 4.525 +144 255 0.66 4.53 +208 158 2.94 4.53 +238 65 4.015 4.53 +75 109 3.28 4.535 +242 246 0 4.54 +248 5 0 4.545 +200 242 3.94 4.545 +250 46 3.97 4.545 +65 98 0 4.55 +221 232 3.19 4.555 +238 210 3.98 4.555 +248 244 0 4.56 +238 111 0.105 4.56 +111 95 3.335 4.565 +208 79 3.01 4.565 +142 132 0 4.565 +214 219 0 4.575 +238 109 3.63 4.58 +142 232 1.565 4.58 +15 123 3.995 4.58 +248 154 4.03 4.585 +47 108 3.96 4.585 +142 131 0 4.585 +224 107 0 4.59 +219 9 4.095 4.595 +221 144 3.515 4.595 +232 132 1.635 4.595 +242 211 0 4.595 +243 159 2.435 4.595 +248 147 0.82 4.6 +224 250 0 4.6 +245 244 0.61 4.6 +215 230 0 4.605 +232 147 3.77 4.605 +247 29 3.78 4.605 +221 251 3.72 4.61 +247 144 3.835 4.61 +76 117 0 4.615 +212 157 2.28 4.62 +238 242 3.685 4.62 +234 102 3.675 4.625 +103 15 4.1 4.625 +194 242 4.1 4.63 +235 156 3.805 4.63 +232 242 1.9 4.635 +197 230 0 4.64 +252 108 3.96 4.645 +241 255 0 4.645 +219 108 3.47 4.65 +249 219 3.855 4.65 +228 242 4.09 4.65 +243 184 3.92 4.655 +242 153 4.075 4.66 +215 242 4 4.665 +221 107 3.38 4.665 +246 134 1.975 4.665 +154 46 3.11 4.675 +133 2 3.335 4.675 +195 245 1.71 4.68 +220 47 3.6 4.68 +238 245 2.44 4.68 +35 107 3.725 4.68 +200 210 3.98 4.685 +208 216 3.37 4.69 +47 241 3.825 4.69 +236 13 4.165 4.7 +75 67 4.2 4.705 +195 142 3.79 4.71 +153 5 1.615 4.71 +111 255 0 4.72 +69 226 3.925 4.725 +238 204 4.075 4.725 +256 139 3.74 4.73 +109 110 0 4.73 +203 47 3.785 4.73 +226 247 4.16 4.73 +164 47 3.675 4.73 +254 143 3.6 4.735 +75 101 0.12 4.735 +75 153 3.04 4.74 +250 127 3.985 4.74 +164 220 3.52 4.745 +241 68 3.91 4.745 +47 102 3.975 4.745 +228 30 0 4.745 +109 46 3.94 4.75 +154 108 1.545 4.75 +194 69 3.86 4.75 +236 182 3.525 4.75 +35 110 3.43 4.75 +232 158 2.28 4.755 +254 159 3.345 4.76 +75 146 0.945 4.76 +224 241 3.315 4.765 +214 117 1.36 4.775 +26 57 3.715 4.78 +109 14 1.565 4.79 +142 19 3.965 4.79 +111 250 2.355 4.795 +144 140 3.97 4.8 +75 117 4.165 4.8 +203 233 0 4.805 +223 242 4.125 4.805 +234 233 0 4.805 +35 96 4.195 4.805 +245 254 0.785 4.805 +212 245 0.585 4.81 +153 11 2.19 4.81 +65 77 3.95 4.81 +145 137 3.44 4.815 +75 22 4.16 4.815 +224 77 3.985 4.815 +249 246 0 4.815 +251 52 4.16 4.815 +200 145 2.85 4.82 +154 14 1.535 4.82 +221 158 2.25 4.82 +157 15 4.16 4.83 +226 158 4.295 4.83 +245 99 3.615 4.83 +249 164 3.975 4.835 +200 217 4.325 4.84 +234 105 1.49 4.84 +238 248 4.145 4.84 +203 111 3.77 4.845 +203 157 3.415 4.845 +210 117 4.315 4.845 +254 30 3.8 4.85 +197 216 2.735 4.85 +238 158 0 4.855 +200 69 4.03 4.86 +214 243 4.34 4.86 +203 216 3.25 4.86 +203 230 4.22 4.86 +226 246 3.845 4.86 +164 157 2.87 4.86 +215 246 0 4.865 +220 218 3.51 4.865 +153 135 0 4.87 +249 217 4.3 4.87 +240 216 3.625 4.87 +241 79 3.885 4.87 +111 110 3.58 4.875 +208 13 3.04 4.875 +235 30 4.37 4.875 +146 127 4.29 4.88 +230 21 3.405 4.88 +254 13 0 4.885 +200 243 4.37 4.885 +129 130 4.04 4.885 +144 228 2.195 4.89 +154 155 0 4.89 +223 158 3.695 4.89 +76 121 0 4.89 +111 13 0 4.895 +153 186 3.01 4.895 +197 249 1.915 4.895 +220 105 4.115 4.9 +199 227 1.835 4.9 +244 180 3.72 4.9 +246 5 0.57 4.905 +76 110 2.975 4.905 +228 143 0 4.905 +229 235 3.88 4.905 +13 146 3.81 4.91 +13 152 4.33 4.91 +65 13 4.155 4.91 +236 1 4.17 4.91 +242 158 3.81 4.91 +107 61 1.885 4.91 +203 109 3.58 4.915 +220 71 0 4.915 +142 143 0 4.915 +76 71 0 4.915 +153 105 0.2 4.92 +146 2 0 4.92 +220 80 0 4.92 +226 255 1.235 4.92 +234 251 4.25 4.92 +76 105 0 4.92 +224 35 1.645 4.925 +253 156 3.27 4.93 +154 150 4.09 4.935 +219 35 3.735 4.935 +235 29 0 4.94 +35 84 3.19 4.94 +194 35 4.245 4.945 +232 255 1.52 4.945 +195 248 4.365 4.955 +203 144 4.19 4.96 +35 80 3.715 4.96 +243 246 0 4.96 +142 189 2.485 4.96 +152 130 0 4.96 +103 155 0.76 4.965 +254 256 0 4.97 +203 252 2.74 4.97 +232 131 4.04 4.97 +234 247 0 4.97 +76 108 0 4.97 +109 1 3.865 4.975 +65 255 1.71 4.975 +226 109 3.99 4.975 +76 211 3.14 4.975 +152 113 4.355 4.975 +244 184 3.64 4.975 +219 216 2.48 4.98 +103 25 2.225 4.98 +195 227 4.325 4.985 +215 75 0 4.99 +224 252 4.145 4.99 +107 16 4.45 4.995 +234 154 2.415 5 diff --git a/examples/tracker/reference/lifetime_hist.dat b/examples/tracker/reference/lifetime_hist.dat new file mode 100644 index 0000000000..002e269896 --- /dev/null +++ b/examples/tracker/reference/lifetime_hist.dat @@ -0,0 +1,65 @@ +# Histogrammed data for fix 3 +# TimeStep Number-of-bins Total-counts Missing-counts Min-value Max-value +# Bin Coord Count Count/Total +0 30 0 0 1e+20 -1e+20 +1 0.1 0 0 +2 0.3 0 0 +3 0.5 0 0 +4 0.7 0 0 +5 0.9 0 0 +6 1.1 0 0 +7 1.3 0 0 +8 1.5 0 0 +9 1.7 0 0 +10 1.9 0 0 +11 2.1 0 0 +12 2.3 0 0 +13 2.5 0 0 +14 2.7 0 0 +15 2.9 0 0 +16 3.1 0 0 +17 3.3 0 0 +18 3.5 0 0 +19 3.7 0 0 +20 3.9 0 0 +21 4.1 0 0 +22 4.3 0 0 +23 4.5 0 0 +24 4.7 0 0 +25 4.9 0 0 +26 5.1 0 0 +27 5.3 0 0 +28 5.5 0 0 +29 5.7 0 0 +30 5.9 0 0 +1000 30 8122 0 0.5 5 +1 0.1 0 0 +2 0.3 0 0 +3 0.5 910 0.112041 +4 0.7 1253 0.154272 +5 0.9 953 0.117336 +6 1.1 747 0.0919724 +7 1.3 559 0.0688254 +8 1.5 501 0.0616843 +9 1.7 421 0.0518345 +10 1.9 356 0.0438316 +11 2.1 300 0.0369367 +12 2.3 281 0.0345974 +13 2.5 242 0.0297956 +14 2.7 226 0.0278257 +15 2.9 175 0.0215464 +16 3.1 168 0.0206846 +17 3.3 162 0.0199458 +18 3.5 129 0.0158828 +19 3.7 151 0.0185915 +20 3.9 137 0.0168678 +21 4.1 98 0.012066 +22 4.3 104 0.0128047 +23 4.5 83 0.0102192 +24 4.7 77 0.00948042 +25 4.9 86 0.0105885 +26 5.1 3 0.000369367 +27 5.3 0 0 +28 5.5 0 0 +29 5.7 0 0 +30 5.9 0 0 diff --git a/src/MISC/pair_tracker.cpp b/src/MISC/pair_tracker.cpp index 2069561ee9..f2fdb71081 100644 --- a/src/MISC/pair_tracker.cpp +++ b/src/MISC/pair_tracker.cpp @@ -283,15 +283,8 @@ void PairTracker::init_style() // this is so its order in the fix list is preserved if (fix_history == nullptr) { - char dnumstr[16]; - sprintf(dnumstr, "%d", size_history); - char **fixarg = new char *[4]; - fixarg[0] = (char *) "NEIGH_HISTORY_TRACK"; - fixarg[1] = (char *) "all"; - fixarg[2] = (char *) "NEIGH_HISTORY"; - fixarg[3] = dnumstr; - modify->replace_fix("NEIGH_HISTORY_TRACK_DUMMY", 4, fixarg, 1); - delete[] fixarg; + modify->replace_fix("NEIGH_HISTORY_TRACK_DUMMY", + fmt::format("NEIGH_HISTORY_TRACK all NEIGH_HISTORY {}", size_history), 1); int ifix = modify->find_fix("NEIGH_HISTORY_TRACK"); fix_history = (FixNeighHistory *) modify->fix[ifix]; fix_history->pair = this; From b108da3e5c73bbacec79583eaa4b01d7670e2e5d Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 29 Jul 2021 15:26:29 -0400 Subject: [PATCH 584/726] simplify format handling --- src/MISC/fix_ipi.cpp | 19 +++++++++---------- src/MISC/fix_srp.cpp | 24 +++++++---------------- src/MISC/pair_srp.cpp | 44 +++++++++++++++---------------------------- 3 files changed, 31 insertions(+), 56 deletions(-) diff --git a/src/MISC/fix_ipi.cpp b/src/MISC/fix_ipi.cpp index 277ddc8489..6fc3ec97b5 100644 --- a/src/MISC/fix_ipi.cpp +++ b/src/MISC/fix_ipi.cpp @@ -18,18 +18,19 @@ #include "fix_ipi.h" -#include #include "atom.h" -#include "force.h" -#include "update.h" +#include "comm.h" +#include "compute.h" +#include "domain.h" #include "error.h" +#include "force.h" +#include "irregular.h" #include "kspace.h" #include "modify.h" -#include "compute.h" -#include "comm.h" #include "neighbor.h" -#include "irregular.h" -#include "domain.h" +#include "update.h" + +#include using namespace LAMMPS_NS; using namespace FixConst; @@ -83,15 +84,13 @@ static void open_socket(int &sockfd, int inet, int port, char* host, // fetches information on the host struct addrinfo hints, *res; - char service[256]; memset(&hints, 0, sizeof(hints)); hints.ai_socktype = SOCK_STREAM; hints.ai_family = AF_UNSPEC; hints.ai_flags = AI_PASSIVE; - sprintf(service,"%d",port); // convert the port number to a string - ai_err = getaddrinfo(host, service, &hints, &res); + ai_err = getaddrinfo(host, std::to_string(port).c_str(), &hints, &res); if (ai_err!=0) error->one(FLERR,"Error fetching host data. Wrong host name?"); diff --git a/src/MISC/fix_srp.cpp b/src/MISC/fix_srp.cpp index fb502febaf..b7263dbb48 100644 --- a/src/MISC/fix_srp.cpp +++ b/src/MISC/fix_srp.cpp @@ -246,10 +246,8 @@ void FixSRP::setup_pre_force(int /*zz*/) int nadd_all = 0, ndel_all = 0; MPI_Allreduce(&ndel,&ndel_all,1,MPI_INT,MPI_SUM,world); MPI_Allreduce(&nadd,&nadd_all,1,MPI_INT,MPI_SUM,world); - if (comm->me == 0) { - sprintf(str, "Removed/inserted %d/%d bond particles.", ndel_all,nadd_all); - error->message(FLERR,str); - } + if (comm->me == 0) + error->message(FLERR,"Removed/inserted {}/{} bond particles.", ndel_all,nadd_all); // check ghost comm distances // warn and change if shorter from estimate @@ -276,11 +274,9 @@ void FixSRP::setup_pre_force(int /*zz*/) cutghostmin = comm->cutghost[2]/length2; // stop if cutghost is insufficient - if (cutneighmax_srp > cutghostmin) { - sprintf(str, "Communication cutoff too small for fix srp. " - "Need %f, current %f.", cutneighmax_srp, cutghostmin); - error->all(FLERR,str); - } + if (cutneighmax_srp > cutghostmin) + error->all(FLERR,"Communication cutoff too small for fix srp. " + "Need {:.8}, current {:.8}", cutneighmax_srp, cutghostmin); // assign tags for new atoms, update map atom->tag_extend(); @@ -515,14 +511,8 @@ void FixSRP::post_run() bigint ndelete = natoms_previous - atom->natoms; - if (comm->me == 0) { - if (screen) fprintf(screen,"Deleted " BIGINT_FORMAT - " atoms, new total = " BIGINT_FORMAT "\n", - ndelete,atom->natoms); - if (logfile) fprintf(logfile,"Deleted " BIGINT_FORMAT - " atoms, new total = " BIGINT_FORMAT "\n", - ndelete,atom->natoms); - } + if (comm->me == 0) + utils::logmesg(lmp,"Deleted {} atoms, new total = {}\n",ndelete,atom->natoms); // verlet calls box_too_small_check() in post_run // this check maps all bond partners diff --git a/src/MISC/pair_srp.cpp b/src/MISC/pair_srp.cpp index e3a31dda96..67690c8d11 100644 --- a/src/MISC/pair_srp.cpp +++ b/src/MISC/pair_srp.cpp @@ -28,24 +28,23 @@ Please contact Timothy Sirk for questions (tim.sirk@us.army.mil). #include "pair_srp.h" -#include - -#include #include "atom.h" +#include "citeme.h" #include "comm.h" -#include "force.h" -#include "neighbor.h" -#include "neigh_list.h" -#include "memory.h" -#include "error.h" #include "domain.h" -#include "modify.h" +#include "error.h" #include "fix.h" #include "fix_srp.h" -#include "thermo.h" +#include "force.h" +#include "memory.h" +#include "modify.h" +#include "neigh_list.h" +#include "neighbor.h" #include "output.h" -#include "citeme.h" +#include "thermo.h" +#include +#include using namespace LAMMPS_NS; @@ -79,26 +78,15 @@ PairSRP::PairSRP(LAMMPS *lmp) : Pair(lmp) nextra = 1; segment = nullptr; - // generate unique fix-id for this pair style instance - - fix_id = strdup("XX_FIX_SRP"); - fix_id[0] = '0' + srp_instance / 10; - fix_id[1] = '0' + srp_instance % 10; - ++srp_instance; - - // create fix SRP instance here + // create fix SRP instance here with unique fix id // similar to granular pair styles with history, // this should be early enough that FixSRP::pre_exchange() // will be invoked before other fixes that migrate atoms // this is checked for in FixSRP - char **fixarg = new char*[3]; - fixarg[0] = fix_id; - fixarg[1] = (char *) "all"; - fixarg[2] = (char *) "SRP"; - modify->add_fix(3,fixarg); + modify->add_fix(fmt::format("{:02d}_FIX_SRP all SRP",srp_instance)); f_srp = (FixSRP *) modify->fix[modify->nfix-1]; - delete [] fixarg; + ++srp_instance; } /* ---------------------------------------------------------------------- @@ -468,10 +456,8 @@ void PairSRP::init_style() if (f_srp != (FixSRP *)modify->fix[ifix]) error->all(FLERR,"Fix SRP has been changed unexpectedly"); - if (comm->me == 0) { - if (screen) fprintf(screen,"Using type %d for bond particles\n",bptype); - if (logfile) fprintf(logfile,"Using type %d for bond particles\n",bptype); - } + if (comm->me == 0) + utils::logmesg(lmp,"Using type {} for bond particles\n",bptype); // set bond and bond particle types in fix srp // bonds of this type will be represented by bond particles From c49a533ad9b8c8585dd033571b8e20e2be223e4b Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 29 Jul 2021 15:40:43 -0400 Subject: [PATCH 585/726] reformat, simplify, add reference log files --- examples/PACKAGES/srp/in.srp | 4 +- examples/PACKAGES/srp/log.28Jul2021.srp.g++.1 | 156 ++++++++++++++++++ examples/PACKAGES/srp/log.28Jul2021.srp.g++.4 | 156 ++++++++++++++++++ src/MISC/fix_srp.cpp | 8 +- src/MISC/pair_srp.cpp | 65 ++++---- 5 files changed, 348 insertions(+), 41 deletions(-) create mode 100644 examples/PACKAGES/srp/log.28Jul2021.srp.g++.1 create mode 100644 examples/PACKAGES/srp/log.28Jul2021.srp.g++.4 diff --git a/examples/PACKAGES/srp/in.srp b/examples/PACKAGES/srp/in.srp index 018d916292..7f168acbd5 100644 --- a/examples/PACKAGES/srp/in.srp +++ b/examples/PACKAGES/srp/in.srp @@ -35,8 +35,8 @@ thermo_style custom step temp pe v_nPotEng press atoms v_natoms lx ly lz fix 1 all nve timestep 0.01 -restart 500 mid-run-*.restart +#restart 500 mid-run-*.restart run 1000 -write_restart end-run.restart +#write_restart end-run.restart diff --git a/examples/PACKAGES/srp/log.28Jul2021.srp.g++.1 b/examples/PACKAGES/srp/log.28Jul2021.srp.g++.1 new file mode 100644 index 0000000000..6cf252cba4 --- /dev/null +++ b/examples/PACKAGES/srp/log.28Jul2021.srp.g++.1 @@ -0,0 +1,156 @@ +LAMMPS (28 Jul 2021) + using 1 OpenMP thread(s) per MPI task +units lj +atom_style full +boundary p p p + +special_bonds lj/coul 1 1 1 +newton on on + +# save an extra atom type for bond particles +read_data data.chain +Reading data file ... + orthogonal box = (0.0000000 0.0000000 0.0000000) to (10.000000 10.000000 10.000000) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 3000 atoms + reading velocities ... + 3000 velocities + scanning bonds ... + 1 = max bonds/atom + reading bonds ... + 2700 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 1 1 1 + special bond factors coul: 1 1 1 + 2 = max # of 1-2 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.013 seconds + +neighbor 2.0 bin +neigh_modify every 10 check yes + +bond_style harmonic +bond_coeff * 225.0 0.85 + +comm_modify vel yes +comm_modify cutoff 3.6 + +# must use pair hybrid, since srp bond particles +# do not interact with other atoms types +pair_style hybrid dpd 1.0 1.0 373692 srp 0.8 1 mid +pair_coeff 1 1 dpd 60.0 4.5 1.0 +pair_coeff 1 2 none +pair_coeff 2 2 srp 100.0 + +# auto normalization of thermo quantities is turned off by pair srp +# just divide by natoms +variable natoms equal count(all) +variable nPotEng equal c_thermo_pe/v_natoms + +thermo 50 +thermo_style custom step temp pe v_nPotEng press atoms v_natoms lx ly lz + +fix 1 all nve +timestep 0.01 + +#restart 500 mid-run-*.restart + +run 1000 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- @Article{Sirk2012 + author = {T. Sirk and Y. Sliozberg and J. Brennan and M. Lisal and J. Andzelm}, + title = {An enhanced entangled polymer model for dissipative particle dynamics}, + journal = {J.~Chem.~Phys.}, + year = 2012, + volume = 136, + pages = {134903} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Using type 2 for bond particles +Thermo normalization turned off by pair srp (src/MISC/pair_srp.cpp:486) +Neighbor list info ... + update every 10 steps, delay 10 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 3 + ghost atom cutoff = 3.6 + binsize = 1.5, bins = 7 7 7 + 3 neighbor lists, perpetual/occasional/extra = 3 0 0 + (1) pair dpd, perpetual, skip from (3) + attributes: half, newton on + pair build: skip + stencil: none + bin: none + (2) pair srp, perpetual, skip from (3) + attributes: half, newton on + pair build: skip + stencil: none + bin: none + (3) neighbor class addition, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Removed/inserted 0/2700 bond particles. (src/MISC/fix_srp.cpp:250) +Per MPI rank memory allocation (min/avg/max) = 21.70 | 21.70 | 21.70 Mbytes +Step Temp PotEng v_nPotEng Press Atoms v_natoms Lx Ly Lz + 0 0.98262092 31772.336 10.590779 60.690437 5700 3000 10 10 10 + 50 0.99678169 31789.37 10.596457 61.967133 5700 3000 10 10 10 + 100 1.016953 31770.946 10.590315 61.808425 5700 3000 10 10 10 + 150 1.0151677 31737.965 10.579322 61.034423 5700 3000 10 10 10 + 200 0.99241972 31766.458 10.588819 60.99902 5700 3000 10 10 10 + 250 1.0101747 31816.098 10.605366 61.484391 5700 3000 10 10 10 + 300 1.0058287 31824.98 10.608327 60.656545 5700 3000 10 10 10 + 350 1.0093409 31839.963 10.613321 61.485931 5700 3000 10 10 10 + 400 1.029692 31713.44 10.571147 61.442428 5700 3000 10 10 10 + 450 1.0292264 31739.234 10.579745 61.026996 5700 3000 10 10 10 + 500 1.0141131 31796.032 10.598677 61.099407 5700 3000 10 10 10 + 550 0.99860738 31887.879 10.629293 61.412249 5700 3000 10 10 10 + 600 1.0104436 31830.675 10.610225 60.725018 5700 3000 10 10 10 + 650 1.0060939 31871.441 10.623814 61.12217 5700 3000 10 10 10 + 700 1.0394405 31724.09 10.574697 60.652294 5700 3000 10 10 10 + 750 1.0094386 31827.328 10.609109 61.274573 5700 3000 10 10 10 + 800 0.99986353 31777.205 10.592402 60.652922 5700 3000 10 10 10 + 850 0.9762615 31752.585 10.584195 61.448972 5700 3000 10 10 10 + 900 0.99324534 31794.723 10.598241 61.191199 5700 3000 10 10 10 + 950 1.0139717 31719.123 10.573041 61.876053 5700 3000 10 10 10 + 1000 0.99850758 31774.801 10.5916 60.960607 5700 3000 10 10 10 +Deleted 2700 atoms, new total = 3000 +Loop time of 6.54135 on 1 procs for 1000 steps with 3000 atoms + +Performance: 132082.911 tau/day, 152.874 timesteps/s +99.9% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 4.5403 | 4.5403 | 4.5403 | 0.0 | 69.41 +Bond | 0.030682 | 0.030682 | 0.030682 | 0.0 | 0.47 +Neigh | 1.7065 | 1.7065 | 1.7065 | 0.0 | 26.09 +Comm | 0.20647 | 0.20647 | 0.20647 | 0.0 | 3.16 +Output | 0.00084543 | 0.00084543 | 0.00084543 | 0.0 | 0.01 +Modify | 0.034479 | 0.034479 | 0.034479 | 0.0 | 0.53 +Other | | 0.022 | | | 0.34 + +Nlocal: 3000.00 ave 3000 max 3000 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 12269.0 ave 12269 max 12269 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0.00000 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0.0000000 +Ave special neighs/atom = 1.8000000 +Neighbor list builds = 21 +Dangerous builds = 0 + +#write_restart end-run.restart +Total wall time: 0:00:06 diff --git a/examples/PACKAGES/srp/log.28Jul2021.srp.g++.4 b/examples/PACKAGES/srp/log.28Jul2021.srp.g++.4 new file mode 100644 index 0000000000..ca41ab915a --- /dev/null +++ b/examples/PACKAGES/srp/log.28Jul2021.srp.g++.4 @@ -0,0 +1,156 @@ +LAMMPS (28 Jul 2021) + using 1 OpenMP thread(s) per MPI task +units lj +atom_style full +boundary p p p + +special_bonds lj/coul 1 1 1 +newton on on + +# save an extra atom type for bond particles +read_data data.chain +Reading data file ... + orthogonal box = (0.0000000 0.0000000 0.0000000) to (10.000000 10.000000 10.000000) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 3000 atoms + reading velocities ... + 3000 velocities + scanning bonds ... + 1 = max bonds/atom + reading bonds ... + 2700 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 1 1 1 + special bond factors coul: 1 1 1 + 2 = max # of 1-2 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.011 seconds + +neighbor 2.0 bin +neigh_modify every 10 check yes + +bond_style harmonic +bond_coeff * 225.0 0.85 + +comm_modify vel yes +comm_modify cutoff 3.6 + +# must use pair hybrid, since srp bond particles +# do not interact with other atoms types +pair_style hybrid dpd 1.0 1.0 373692 srp 0.8 1 mid +pair_coeff 1 1 dpd 60.0 4.5 1.0 +pair_coeff 1 2 none +pair_coeff 2 2 srp 100.0 + +# auto normalization of thermo quantities is turned off by pair srp +# just divide by natoms +variable natoms equal count(all) +variable nPotEng equal c_thermo_pe/v_natoms + +thermo 50 +thermo_style custom step temp pe v_nPotEng press atoms v_natoms lx ly lz + +fix 1 all nve +timestep 0.01 + +#restart 500 mid-run-*.restart + +run 1000 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- @Article{Sirk2012 + author = {T. Sirk and Y. Sliozberg and J. Brennan and M. Lisal and J. Andzelm}, + title = {An enhanced entangled polymer model for dissipative particle dynamics}, + journal = {J.~Chem.~Phys.}, + year = 2012, + volume = 136, + pages = {134903} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Using type 2 for bond particles +Thermo normalization turned off by pair srp (src/MISC/pair_srp.cpp:486) +Neighbor list info ... + update every 10 steps, delay 10 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 3 + ghost atom cutoff = 3.6 + binsize = 1.5, bins = 7 7 7 + 3 neighbor lists, perpetual/occasional/extra = 3 0 0 + (1) pair dpd, perpetual, skip from (3) + attributes: half, newton on + pair build: skip + stencil: none + bin: none + (2) pair srp, perpetual, skip from (3) + attributes: half, newton on + pair build: skip + stencil: none + bin: none + (3) neighbor class addition, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Removed/inserted 0/2700 bond particles. (src/MISC/fix_srp.cpp:250) +Per MPI rank memory allocation (min/avg/max) = 10.35 | 10.35 | 10.35 Mbytes +Step Temp PotEng v_nPotEng Press Atoms v_natoms Lx Ly Lz + 0 0.98262092 31772.336 10.590779 60.908146 5700 3000 10 10 10 + 50 1.0094645 31632.293 10.544098 61.107394 5700 3000 10 10 10 + 100 1.0067657 31633.525 10.544508 61.721089 5700 3000 10 10 10 + 150 0.99163624 31751.06 10.583687 60.437789 5700 3000 10 10 10 + 200 0.98701756 31674.754 10.558251 60.897782 5700 3000 10 10 10 + 250 0.99422545 31689.944 10.563315 61.748317 5700 3000 10 10 10 + 300 0.98351268 31756.124 10.585375 61.164735 5700 3000 10 10 10 + 350 0.99570183 31840.098 10.613366 61.210337 5700 3000 10 10 10 + 400 1.0025719 31832.008 10.610669 61.270633 5700 3000 10 10 10 + 450 0.99464256 31812.213 10.604071 60.625168 5700 3000 10 10 10 + 500 0.98753036 31822.577 10.607526 61.007786 5700 3000 10 10 10 + 550 0.98085348 31779.406 10.593135 61.268608 5700 3000 10 10 10 + 600 1.0031999 31849.695 10.616565 61.938464 5700 3000 10 10 10 + 650 1.0102644 31912.564 10.637521 61.298438 5700 3000 10 10 10 + 700 1.0238545 31799.622 10.599874 61.424427 5700 3000 10 10 10 + 750 1.0186874 31781.261 10.593754 60.706143 5700 3000 10 10 10 + 800 1.0245821 31738.473 10.579491 61.550865 5700 3000 10 10 10 + 850 1.0179726 31720.521 10.573507 61.881576 5700 3000 10 10 10 + 900 1.0154591 31760.887 10.586962 61.673156 5700 3000 10 10 10 + 950 0.99349056 31834.644 10.611548 61.624864 5700 3000 10 10 10 + 1000 1.0033121 31820.089 10.606696 60.698277 5700 3000 10 10 10 +Deleted 2700 atoms, new total = 3000 +Loop time of 2.18923 on 4 procs for 1000 steps with 3000 atoms + +Performance: 394659.660 tau/day, 456.782 timesteps/s +98.1% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 1.2744 | 1.2921 | 1.3222 | 1.6 | 59.02 +Bond | 0.0092027 | 0.0093722 | 0.009696 | 0.2 | 0.43 +Neigh | 0.47767 | 0.47768 | 0.47769 | 0.0 | 21.82 +Comm | 0.34932 | 0.37877 | 0.39403 | 2.9 | 17.30 +Output | 0.001045 | 0.0015711 | 0.003145 | 2.3 | 0.07 +Modify | 0.015498 | 0.016073 | 0.017271 | 0.6 | 0.73 +Other | | 0.01362 | | | 0.62 + +Nlocal: 750.000 ave 754 max 743 min +Histogram: 1 0 0 0 0 0 1 0 0 2 +Nghost: 6941.25 ave 6967 max 6911 min +Histogram: 1 0 0 0 0 1 1 0 0 1 +Neighs: 0.00000 ave 0 max 0 min +Histogram: 4 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0.0000000 +Ave special neighs/atom = 1.8000000 +Neighbor list builds = 21 +Dangerous builds = 0 + +#write_restart end-run.restart +Total wall time: 0:00:02 diff --git a/src/MISC/fix_srp.cpp b/src/MISC/fix_srp.cpp index b7263dbb48..055d3119b7 100644 --- a/src/MISC/fix_srp.cpp +++ b/src/MISC/fix_srp.cpp @@ -449,10 +449,10 @@ int FixSRP::unpack_border(int n, int first, double *buf) int m = 0; last = first + n; - for (i = first; i < last; i++) { - array[i][0] = buf[m++]; - array[i][1] = buf[m++]; - } + for (i = first; i < last; i++) { + array[i][0] = buf[m++]; + array[i][1] = buf[m++]; + } return m; } diff --git a/src/MISC/pair_srp.cpp b/src/MISC/pair_srp.cpp index 67690c8d11..332e103b12 100644 --- a/src/MISC/pair_srp.cpp +++ b/src/MISC/pair_srp.cpp @@ -68,7 +68,7 @@ static int srp_instance = 0; set size of pair comms in constructor ---------------------------------------------------------------------- */ -PairSRP::PairSRP(LAMMPS *lmp) : Pair(lmp) +PairSRP::PairSRP(LAMMPS *lmp) : Pair(lmp), fix_id(nullptr) { writedata = 1; single_enable = 0; @@ -118,18 +118,16 @@ void PairSRP::allocate() PairSRP::~PairSRP() { - if (allocated) - { - memory->destroy(setflag); - memory->destroy(cutsq); - memory->destroy(cut); - memory->destroy(a0); - memory->destroy(segment); - } + if (allocated) { + memory->destroy(setflag); + memory->destroy(cutsq); + memory->destroy(cut); + memory->destroy(a0); + memory->destroy(segment); + } // check nfix in case all fixes have already been deleted - if (modify->nfix) modify->delete_fix(fix_id); - free(fix_id); + if (modify->nfix) modify->delete_fix(f_srp->id); } /* ---------------------------------------------------------------------- @@ -412,33 +410,31 @@ void PairSRP::settings(int narg, char **arg) void PairSRP::coeff(int narg, char **arg) { - if (narg < 3 || narg > 4) - error->all(FLERR,"PairSRP: Incorrect args for pair coeff"); - if (!allocated) allocate(); + if (narg < 3 || narg > 4) + error->all(FLERR,"PairSRP: Incorrect args for pair coeff"); + if (!allocated) allocate(); - // set ij bond-bond cutoffs - int ilo, ihi, jlo, jhi; - utils::bounds(FLERR,arg[0], 1, bptype, ilo, ihi, error); - utils::bounds(FLERR,arg[1], 1, bptype, jlo, jhi, error); + // set ij bond-bond cutoffs + int ilo, ihi, jlo, jhi; + utils::bounds(FLERR,arg[0], 1, bptype, ilo, ihi, error); + utils::bounds(FLERR,arg[1], 1, bptype, jlo, jhi, error); - double a0_one = utils::numeric(FLERR,arg[2],false,lmp); - double cut_one = cut_global; - if (narg == 4) cut_one = utils::numeric(FLERR,arg[3],false,lmp); + double a0_one = utils::numeric(FLERR,arg[2],false,lmp); + double cut_one = cut_global; + if (narg == 4) cut_one = utils::numeric(FLERR,arg[3],false,lmp); - int count = 0; - for (int i = ilo; i <= ihi; i++) - { - for (int j = MAX(jlo,i); j <= jhi; j++) - { - a0[i][j] = a0_one; - cut[i][j] = cut_one; - cutsq[i][j] = cut_one * cut_one; - setflag[i][j] = 1; - count++; - } + int count = 0; + for (int i = ilo; i <= ihi; i++) { + for (int j = MAX(jlo,i); j <= jhi; j++) { + a0[i][j] = a0_one; + cut[i][j] = cut_one; + cutsq[i][j] = cut_one * cut_one; + setflag[i][j] = 1; + count++; } + } - if (count == 0) error->warning(FLERR,"PairSRP: No pair coefficients were set"); + if (count == 0) error->warning(FLERR,"PairSRP: No pair coefficients were set"); } /* ---------------------------------------------------------------------- @@ -452,8 +448,7 @@ void PairSRP::init_style() // verify that fix SRP is still defined and has not been changed. - int ifix = modify->find_fix(fix_id); - if (f_srp != (FixSRP *)modify->fix[ifix]) + if (strcmp(f_srp->style,"SRP") != 0) error->all(FLERR,"Fix SRP has been changed unexpectedly"); if (comm->me == 0) From 246b70ae461c9637e28089b7d06d119b652ed895 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 29 Jul 2021 15:56:21 -0400 Subject: [PATCH 586/726] update codeowners list --- .github/CODEOWNERS | 63 +++++++++++++++++++++++----------------------- 1 file changed, 32 insertions(+), 31 deletions(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index b20118794f..f2a73c3cf2 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -22,42 +22,42 @@ src/MESSAGE/* @sjplimp src/MLIAP/* @athomps src/SNAP/* @athomps src/SPIN/* @julient31 -src/BROWNIAN/* @samueljmcameron -src/CG-DNA/* @ohenrich -src/CG-SDK/* @akohlmey -src/COLVARS/* @giacomofiorin -src/DIELECTRIC/* @ndtrung81 -src/FEP/* @agiliopadua -src/ML-HDNNP/* @singraber -src/INTEL/* @wmbrownintel -src/MANIFOLD/* @Pakketeretet2 -src/MDI/* @taylor-a-barnes -src/MEAM/* @martok -src/MESONT/* @iafoss -src/MOFFF/* @hheenen -src/MOLFILE/* @akohlmey -src/NETCDF/* @pastewka -src/ML-PACE/* @yury-lysogorskiy -src/PLUMED/* @gtribello -src/PHONON/* @lingtikong -src/PTM/* @pmla -src/OPENMP/* @akohlmey -src/QMMM/* @akohlmey -src/REAXFF/* @hasanmetin -src/REACTION/* @jrgissing -src/SCAFACOS/* @rhalver -src/TALLY/* @akohlmey -src/UEF/* @danicholson -src/VTK/* @rbberger - +src/BROWNIAN/* @samueljmcameron +src/CG-DNA/* @ohenrich +src/CG-SDK/* @akohlmey +src/COLVARS/* @giacomofiorin +src/DIELECTRIC/* @ndtrung81 +src/FEP/* @agiliopadua +src/ML-HDNNP/* @singraber +src/INTEL/* @wmbrownintel +src/MANIFOLD/* @Pakketeretet2 +src/MDI/* @taylor-a-barnes +src/MEAM/* @martok +src/MESONT/* @iafoss +src/MOFFF/* @hheenen +src/MOLFILE/* @akohlmey +src/NETCDF/* @pastewka +src/ML-PACE/* @yury-lysogorskiy +src/PLUMED/* @gtribello +src/PHONON/* @lingtikong +src/PTM/* @pmla +src/OPENMP/* @akohlmey +src/QMMM/* @akohlmey +src/REAXFF/* @hasanmetin @stanmoore1 +src/REACTION/* @jrgissing +src/SCAFACOS/* @rhalver +src/TALLY/* @akohlmey +src/UEF/* @danicholson +src/VTK/* @rbberger # individual files in packages src/GPU/pair_vashishta_gpu.* @andeplane src/KOKKOS/pair_vashishta_kokkos.* @andeplane src/MANYBODY/pair_vashishta_table.* @andeplane src/MANYBODY/pair_atm.* @sergeylishchuk -src/USER-MISC/*_grem.* @dstelter92 -src/USER-MISC/compute_stress_mop*.* @RomainVermorel +src/REPLICA/*_grem.* @dstelter92 +src/EXTRA-COMPUTE/compute_stress_mop*.* @RomainVermorel +src/MISC/*_tracker.* @jtclemm # core LAMMPS classes src/lammps.* @sjplimp @@ -81,6 +81,7 @@ src/kspace.* @sjplimp src/lmptyp.h @sjplimp src/library.* @sjplimp src/main.cpp @sjplimp +src/min_*.* @sjplimp src/memory.* @sjplimp src/modify.* @sjplimp src/molecule.* @sjplimp @@ -109,7 +110,6 @@ src/thermo.* @sjplimp src/universe.* @sjplimp src/update.* @sjplimp src/variable.* @sjplimp -src/verlet.* @sjplimp src/velocity.* @sjplimp src/write_data.* @sjplimp src/write_restart.* @sjplimp @@ -122,6 +122,7 @@ src/info.* @akohlmey @rbberger src/timer.* @akohlmey src/min* @sjplimp @stanmoore1 src/utils.* @akohlmey @rbberger +src/verlet.* @sjplimp @stanmoore1 src/math_eigen_impl.h @jewettaij # tools From 33905fd68954d1fd9624cffd0345ba60e35a693c Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 29 Jul 2021 16:07:14 -0400 Subject: [PATCH 587/726] fix one more KOKKOS package installation dependency --- cmake/Modules/Packages/KOKKOS.cmake | 1 + src/KOKKOS/Install.sh | 1 + 2 files changed, 2 insertions(+) diff --git a/cmake/Modules/Packages/KOKKOS.cmake b/cmake/Modules/Packages/KOKKOS.cmake index aea766b79c..6ddfe1adc8 100644 --- a/cmake/Modules/Packages/KOKKOS.cmake +++ b/cmake/Modules/Packages/KOKKOS.cmake @@ -97,6 +97,7 @@ set(KOKKOS_PKG_SOURCES ${KOKKOS_PKG_SOURCES_DIR}/kokkos.cpp if(PKG_KSPACE) list(APPEND KOKKOS_PKG_SOURCES ${KOKKOS_PKG_SOURCES_DIR}/fft3d_kokkos.cpp + ${KOKKOS_PKG_SOURCES_DIR}/kissfft_kokkos.cpp ${KOKKOS_PKG_SOURCES_DIR}/gridcomm_kokkos.cpp ${KOKKOS_PKG_SOURCES_DIR}/remap_kokkos.cpp) if(Kokkos_ENABLE_CUDA) diff --git a/src/KOKKOS/Install.sh b/src/KOKKOS/Install.sh index 5e7285a75f..dacbb31a0a 100755 --- a/src/KOKKOS/Install.sh +++ b/src/KOKKOS/Install.sh @@ -165,6 +165,7 @@ action improper_class2_kokkos.cpp improper_class2.cpp action improper_class2_kokkos.h improper_class2.h action improper_harmonic_kokkos.cpp improper_harmonic.cpp action improper_harmonic_kokkos.h improper_harmonic.h +action kissfft_kokkos.cpp kissfft.h action kissfft_kokkos.h kissfft.h action kokkos.cpp action kokkos.h From a6d66c35186f616d2c90d28d4d8fc9043d7588a2 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 29 Jul 2021 16:07:23 -0400 Subject: [PATCH 588/726] update .gitignore --- src/.gitignore | 65 ++++++++++++++++++++++++++++---------------------- 1 file changed, 36 insertions(+), 29 deletions(-) diff --git a/src/.gitignore b/src/.gitignore index 961901e322..6c0a838c1b 100644 --- a/src/.gitignore +++ b/src/.gitignore @@ -77,6 +77,7 @@ /compute_mliap.h /mliap_*.cpp /mliap_*.h +/mliap_model_python_couple.pyx /pair_mliap.cpp /pair_mliap.h @@ -250,8 +251,12 @@ /pair_mesont_tpm.cpp /pair_mesont_tpm.h +/compute_adf.cpp +/compute_adf.h /compute_contact_atom.cpp /compute_contact_atom.h +/compute_hexorder_atom.cpp +/compute_hexorder_atom.h /dump_dcd.cpp /dump_dcd.h /fix_controller.cpp @@ -270,6 +275,8 @@ /fix_temp_csvr.h /fix_tmd.cpp /fix_tmd.h +/pair_beck.cpp +/pair_beck.h /pair_born_coul_dsf.cpp /pair_born_coul_dsf.h /pair_born_coul_wolf.cpp @@ -284,6 +291,7 @@ /pair_lj96_cut.h /pair_lj_cubic.cpp /pair_lj_cubic.h +/pair_lj_cubic_const.h /pair_lj_cut_coul_debye.cpp /pair_lj_cut_coul_debye.h /pair_lj_cut_coul_dsf.cpp @@ -292,8 +300,8 @@ /pair_lj_cut_coul_wolf.h /pair_lj_gromacs.cpp /pair_lj_gromacs.h -/pair_lj_gromacs_could_gromacs.cpp -/pair_lj_gromacs_could_gromacs.h +/pair_lj_gromacs_coul_gromacs.cpp +/pair_lj_gromacs_coul_gromacs.h /pair_lj_relres.cpp /pair_lj_relres.h /pair_lj_smooth.cpp @@ -783,18 +791,18 @@ /fix_pour.h /fix_qeq_comb.cpp /fix_qeq_comb.h -/fix_qeq_reax.cpp /fix_qeq_fire.cpp /fix_qeq_fire.h -/fix_qeq_reax.h +/fix_qeq_reaxff.cpp +/fix_qeq_reaxff.h /fix_qmmm.cpp /fix_qmmm.h -/fix_reaxc.cpp -/fix_reaxc.h -/fix_reaxc_bonds.cpp -/fix_reaxc_bonds.h -/fix_reaxc_species.cpp -/fix_reaxc_species.h +/fix_reaxff.cpp +/fix_reaxff.h +/fix_reaxff_bonds.cpp +/fix_reaxff_bonds.h +/fix_reaxff_species.cpp +/fix_reaxff_species.h /fix_rhok.cpp /fix_rhok.h /fix_rigid.cpp @@ -1182,8 +1190,8 @@ /pair_peri_ves.h /pair_quip.cpp /pair_quip.h -/pair_reaxc.cpp -/pair_reaxc.h +/pair_reaxff.cpp +/pair_reaxff.h /pair_rebo.cpp /pair_rebo.h /pair_resquared.cpp @@ -1270,23 +1278,22 @@ /reader_adios.h /reader_molfile.cpp /reader_molfile.h -/reaxc_allocate.cpp -/reaxc_basic_comm.cpp -/reaxc_bond_orders.cpp -/reaxc_bonds.cpp -/reaxc_control.cpp -/reaxc_ffield.cpp -/reaxc_forces.cpp -/reaxc_hydrogen_bonds.cpp -/reaxc_init_md.cpp -/reaxc_list.cpp -/reaxc_lookup.cpp -/reaxc_multi_body.cpp -/reaxc_nonbonded.cpp -/reaxc_reset_tools.cpp -/reaxc_tool_box.cpp -/reaxc_torsion_angles.cpp -/reaxc_valence_angles.cpp +/reaxff_allocate.cpp +/reaxff_bond_orders.cpp +/reaxff_bonds.cpp +/reaxff_control.cpp +/reaxff_ffield.cpp +/reaxff_forces.cpp +/reaxff_hydrogen_bonds.cpp +/reaxff_init_md.cpp +/reaxff_list.cpp +/reaxff_lookup.cpp +/reaxff_multi_body.cpp +/reaxff_nonbonded.cpp +/reaxff_reset_tools.cpp +/reaxff_tool_box.cpp +/reaxff_torsion_angles.cpp +/reaxff_valence_angles.cpp /reaxff_api.h /reaxff_defs.h /reaxff_inline.h From a80829bd79b1ad38198bfd4a3c4a4795ec91589b Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 29 Jul 2021 16:14:52 -0400 Subject: [PATCH 589/726] avoid compilation error --- cmake/Modules/Packages/KOKKOS.cmake | 1 - src/KOKKOS/Install.sh | 1 - 2 files changed, 2 deletions(-) diff --git a/cmake/Modules/Packages/KOKKOS.cmake b/cmake/Modules/Packages/KOKKOS.cmake index 6ddfe1adc8..aea766b79c 100644 --- a/cmake/Modules/Packages/KOKKOS.cmake +++ b/cmake/Modules/Packages/KOKKOS.cmake @@ -97,7 +97,6 @@ set(KOKKOS_PKG_SOURCES ${KOKKOS_PKG_SOURCES_DIR}/kokkos.cpp if(PKG_KSPACE) list(APPEND KOKKOS_PKG_SOURCES ${KOKKOS_PKG_SOURCES_DIR}/fft3d_kokkos.cpp - ${KOKKOS_PKG_SOURCES_DIR}/kissfft_kokkos.cpp ${KOKKOS_PKG_SOURCES_DIR}/gridcomm_kokkos.cpp ${KOKKOS_PKG_SOURCES_DIR}/remap_kokkos.cpp) if(Kokkos_ENABLE_CUDA) diff --git a/src/KOKKOS/Install.sh b/src/KOKKOS/Install.sh index dacbb31a0a..5e7285a75f 100755 --- a/src/KOKKOS/Install.sh +++ b/src/KOKKOS/Install.sh @@ -165,7 +165,6 @@ action improper_class2_kokkos.cpp improper_class2.cpp action improper_class2_kokkos.h improper_class2.h action improper_harmonic_kokkos.cpp improper_harmonic.cpp action improper_harmonic_kokkos.h improper_harmonic.h -action kissfft_kokkos.cpp kissfft.h action kissfft_kokkos.h kissfft.h action kokkos.cpp action kokkos.h From ca2abd22be3ef4e788544e80dbc87cc3fe242396 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 29 Jul 2021 17:08:16 -0400 Subject: [PATCH 590/726] remove unused file --- src/KOKKOS/kissfft_kokkos.cpp | 21 --------------------- 1 file changed, 21 deletions(-) delete mode 100644 src/KOKKOS/kissfft_kokkos.cpp diff --git a/src/KOKKOS/kissfft_kokkos.cpp b/src/KOKKOS/kissfft_kokkos.cpp deleted file mode 100644 index f0695edb10..0000000000 --- a/src/KOKKOS/kissfft_kokkos.cpp +++ /dev/null @@ -1,21 +0,0 @@ -// clang-format off -/* ---------------------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - https://www.lammps.org/, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - - -namespace LAMMPS_NS { -template class KissFFTKokkos; -#ifdef LMP_KOKKOS_GPU -template class KissFFTKokkos; -#endif -} From 5cdf55937d6228b3b6db301a0613b14227a4bed3 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 29 Jul 2021 17:17:06 -0400 Subject: [PATCH 591/726] move pair style tracker to a better location --- doc/src/Commands_pair.rst | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/doc/src/Commands_pair.rst b/doc/src/Commands_pair.rst index db3d947892..184fb25300 100644 --- a/doc/src/Commands_pair.rst +++ b/doc/src/Commands_pair.rst @@ -29,7 +29,7 @@ OPT. * :doc:`hybrid/scaled ` * :doc:`kim ` * :doc:`list ` - * + * :doc:`tracker ` * * * @@ -273,7 +273,6 @@ OPT. * :doc:`tip4p/cut (o) ` * :doc:`tip4p/long (o) ` * :doc:`tip4p/long/soft (o) ` - * :doc:`tracker ` * :doc:`tri/lj ` * :doc:`ufm (got) ` * :doc:`vashishta (gko) ` From 4710b7bc9e5a35f1e77583dcec86bff059aac6a2 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 29 Jul 2021 11:50:11 -0400 Subject: [PATCH 592/726] modernize and simplify code to find best matching restart file --- src/read_restart.cpp | 110 ++++++++++++++----------------------------- src/read_restart.h | 2 +- 2 files changed, 37 insertions(+), 75 deletions(-) diff --git a/src/read_restart.cpp b/src/read_restart.cpp index ac00a7d086..faf9fd1620 100644 --- a/src/read_restart.cpp +++ b/src/read_restart.cpp @@ -71,16 +71,18 @@ void ReadRestart::command(int narg, char **arg) // if filename contains "*", search dir for latest restart file - char *file = new char[strlen(arg[0]) + 16]; + char *file; if (strchr(arg[0],'*')) { - int n; + int n=0; if (me == 0) { - file_search(arg[0],file); - n = strlen(file) + 1; + auto fn = file_search(arg[0]); + n = fn.size()+1; + file = utils::strdup(fn); } MPI_Bcast(&n,1,MPI_INT,0,world); + if (me != 0) file = new char[n]; MPI_Bcast(file,n,MPI_CHAR,0,world); - } else strcpy(file,arg[0]); + } else file = utils::strdup(arg[0]); // check for multiproc files and an MPI-IO filename @@ -90,14 +92,12 @@ void ReadRestart::command(int narg, char **arg) else mpiioflag = 0; if (multiproc && mpiioflag) - error->all(FLERR, - "Read restart MPI-IO input not allowed with % in filename"); + error->all(FLERR,"Read restart MPI-IO input not allowed with % in filename"); if (mpiioflag) { mpiio = new RestartMPIIO(lmp); if (!mpiio->mpiio_exists) - error->all(FLERR,"Reading from MPI-IO filename when " - "MPIIO package is not installed"); + error->all(FLERR,"Reading from MPI-IO filename when MPIIO package is not installed"); } // open single restart file or base file for multiproc case @@ -538,83 +538,45 @@ void ReadRestart::command(int narg, char **arg) only called by proc 0 ------------------------------------------------------------------------- */ -void ReadRestart::file_search(char *inpfile, char *outfile) +std::string ReadRestart::file_search(const std::string &inpfile) { - char *ptr; - // separate inpfile into dir + filename - char *dirname = new char[strlen(inpfile) + 1]; - char *filename = new char[strlen(inpfile) + 1]; - - if (strchr(inpfile,'/')) { - ptr = strrchr(inpfile,'/'); - *ptr = '\0'; - strcpy(dirname,inpfile); - strcpy(filename,ptr+1); - *ptr = '/'; - } else { - strcpy(dirname,"./"); - strcpy(filename,inpfile); - } + auto dirname = utils::path_dirname(inpfile); + auto filename = utils::path_basename(inpfile); // if filename contains "%" replace "%" with "base" - char *pattern = new char[strlen(filename) + 16]; + auto pattern = filename; + auto loc = pattern.find('%'); + if (loc != std::string::npos) pattern.replace(loc,1,"base"); - if ((ptr = strchr(filename,'%'))) { - *ptr = '\0'; - sprintf(pattern,"%s%s%s",filename,"base",ptr+1); - *ptr = '%'; - } else strcpy(pattern,filename); + // scan all files in directory, searching for files that match regexp pattern + // maxnum = largest integer that matches "*" - // scan all files in directory, searching for files that match pattern - // maxnum = largest int that matches "*" - - int n = strlen(pattern) + 16; - char *begin = new char[n]; - char *middle = new char[n]; - char *end = new char[n]; - - ptr = strchr(pattern,'*'); - *ptr = '\0'; - strcpy(begin,pattern); - strcpy(end,ptr+1); - int nbegin = strlen(begin); bigint maxnum = -1; + loc = pattern.find('*'); + if (loc != std::string::npos) { + // convert pattern to equivalent regexp + pattern.replace(loc,1,"\\d+"); + struct dirent *ep; + DIR *dp = opendir(dirname.c_str()); + if (dp == nullptr) + error->one(FLERR,"Cannot open directory {} to search for restart file: {}", + dirname, utils::getsyserror()); - struct dirent *ep; - DIR *dp = opendir(dirname); - if (dp == nullptr) - error->one(FLERR,"Cannot open dir to search for restart file"); - while ((ep = readdir(dp))) { - if (strstr(ep->d_name,begin) != ep->d_name) continue; - if ((ptr = strstr(&ep->d_name[nbegin],end)) == nullptr) continue; - if (strlen(end) == 0) ptr = ep->d_name + strlen(ep->d_name); - *ptr = '\0'; - if ((int)strlen(&ep->d_name[nbegin]) < n) { - strcpy(middle,&ep->d_name[nbegin]); - if (ATOBIGINT(middle) > maxnum) maxnum = ATOBIGINT(middle); + while ((ep = readdir(dp))) { + std::string candidate(ep->d_name); + if (utils::strmatch(candidate,pattern)) { + bigint num = ATOBIGINT(utils::strfind(candidate.substr(loc),"\\d+").c_str()); + if (num > maxnum) maxnum = num; + } } + closedir(dp); + if (maxnum < 0) error->one(FLERR,"Found no restart file matching pattern"); + filename.replace(filename.find('*'),1,std::to_string(maxnum)); } - closedir(dp); - if (maxnum < 0) error->one(FLERR,"Found no restart file matching pattern"); - - // create outfile with maxint substituted for "*" - // use original inpfile, not pattern, since need to retain "%" in filename - - std::string newoutfile = inpfile; - newoutfile.replace(newoutfile.find("*"),1,fmt::format("{}",maxnum)); - strcpy(outfile,newoutfile.c_str()); - - // clean up - - delete [] dirname; - delete [] filename; - delete [] pattern; - delete [] begin; - delete [] middle; - delete [] end; + return utils::path_join(dirname,filename); } /* ---------------------------------------------------------------------- diff --git a/src/read_restart.h b/src/read_restart.h index a3f889fbc3..9de52a5f28 100644 --- a/src/read_restart.h +++ b/src/read_restart.h @@ -46,7 +46,7 @@ class ReadRestart : public Command { bigint assignedChunkSize; MPI_Offset assignedChunkOffset, headerOffset; - void file_search(char *, char *); + std::string file_search(const std::string &); void header(); void type_arrays(); void force_fields(); From 6b20da754984fb94830eb5fda806910090ddf7af Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 29 Jul 2021 17:44:29 -0400 Subject: [PATCH 593/726] update lammps shell test to use a fix that is always available --- unittest/tools/test_lammps_shell.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/unittest/tools/test_lammps_shell.py b/unittest/tools/test_lammps_shell.py index 1768bcf753..15cb259f84 100644 --- a/unittest/tools/test_lammps_shell.py +++ b/unittest/tools/test_lammps_shell.py @@ -94,25 +94,25 @@ class LammpsShell(unittest.TestCase): def testExpandComputeGroup(self): """Test expansion of a group-ID and a compute command""" - matches = re.findall(cmd_group_re, self.InputRunner(b'compute test al\tcentro/at\t\n'), re.MULTILINE) + matches = re.findall(cmd_group_re, self.InputRunner(b'compute test al\tstress/at\t\n'), re.MULTILINE) if self.timeout: self.fail("Timeout") else: self.assertEqual(matches[0][1],"compute") self.assertEqual(matches[0][2],"test") self.assertEqual(matches[0][3],"all") - self.assertEqual(matches[0][4],"centro/atom") + self.assertEqual(matches[0][4],"stress/atom") def testExpandFixGroup(self): """Test expansion of a group-ID and a fix command""" - matches = re.findall(cmd_group_re, self.InputRunner(b'fix test al\tcontroll\t\n'), re.MULTILINE) + matches = re.findall(cmd_group_re, self.InputRunner(b'fix test al\tpropert\t\n'), re.MULTILINE) if self.timeout: self.fail("Timeout") else: self.assertEqual(matches[0][1],"fix") self.assertEqual(matches[0][2],"test") self.assertEqual(matches[0][3],"all") - self.assertEqual(matches[0][4],"controller") + self.assertEqual(matches[0][4],"property/atom") def testExpandSource(self): """Test expansion of a shell command and a file name""" From cb32bb972bf56a0e0c96937bcf368af0299d523a Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 29 Jul 2021 20:57:42 -0400 Subject: [PATCH 594/726] fix bugs in ArgInfo class --- src/arg_info.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/arg_info.cpp b/src/arg_info.cpp index b83bb141fa..a274b47b92 100644 --- a/src/arg_info.cpp +++ b/src/arg_info.cpp @@ -68,11 +68,11 @@ ArgInfo::ArgInfo(const std::string &arg, int allowed) : type(NONE), dim(0), inde } else has_idx2 = arg.size(); - if (arg[has_idx2 - 1] != ']') { + if ((arg[has_idx2 - 1] != ']') || ((dim == 1) && (arg.find(']') != has_idx2 - 1))) { type = UNKNOWN; } else { try { - index1 = std::stoi(arg.substr(has_idx1 + 1, arg.size() - (has_idx2 + 2))); + index1 = std::stoi(arg.substr(has_idx1 + 1, arg.size() - (has_idx1 + 2))); } catch (std::invalid_argument &) { type = UNKNOWN; } From d211bbc0d6249302b5172bae3a5065d37ac3b9b5 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 29 Jul 2021 20:58:02 -0400 Subject: [PATCH 595/726] expand ArgInfo class unit tests --- unittest/utils/test_argutils.cpp | 56 +++++++++++++++++++++++++++++--- 1 file changed, 51 insertions(+), 5 deletions(-) diff --git a/unittest/utils/test_argutils.cpp b/unittest/utils/test_argutils.cpp index 7d4653cc13..a527df6fe7 100644 --- a/unittest/utils/test_argutils.cpp +++ b/unittest/utils/test_argutils.cpp @@ -51,10 +51,10 @@ TEST(ArgInfo, compute0) TEST(ArgInfo, compute1) { - ArgInfo arg("c_1[5]", ArgInfo::COMPUTE); + ArgInfo arg("c_1[15]", ArgInfo::COMPUTE); ASSERT_EQ(arg.get_dim(), 1); ASSERT_EQ(arg.get_type(), ArgInfo::COMPUTE); - ASSERT_EQ(arg.get_index1(), 5); + ASSERT_EQ(arg.get_index1(), 15); ASSERT_EQ(arg.get_index2(), -1); ASSERT_THAT(arg.get_name(), StrEq("1")); } @@ -69,6 +69,26 @@ TEST(ArgInfo, compute2) ASSERT_THAT(arg.get_name(), StrEq("text")); } +TEST(ArgInfo, compute3) +{ + ArgInfo arg("c_text[08123][51]", ArgInfo::COMPUTE | ArgInfo::FIX); + ASSERT_EQ(arg.get_dim(), 2); + ASSERT_EQ(arg.get_type(), ArgInfo::COMPUTE); + ASSERT_EQ(arg.get_index1(), 8123); + ASSERT_EQ(arg.get_index2(), 51); + ASSERT_THAT(arg.get_name(), StrEq("text")); +} + +TEST(ArgInfo, compute4) +{ + ArgInfo arg("c_text[111][0125]", ArgInfo::COMPUTE | ArgInfo::FIX); + ASSERT_EQ(arg.get_dim(), 2); + ASSERT_EQ(arg.get_type(), ArgInfo::COMPUTE); + ASSERT_EQ(arg.get_index1(), 111); + ASSERT_EQ(arg.get_index2(), 125); + ASSERT_THAT(arg.get_name(), StrEq("text")); +} + TEST(ArgInfo, fix0) { ArgInfo arg("f_2"); @@ -99,6 +119,26 @@ TEST(ArgInfo, fix2) ASSERT_THAT(arg.get_name(), StrEq("text")); } +TEST(ArgInfo, fix3) +{ + ArgInfo arg("f_text[1234][5]", ArgInfo::FIX); + ASSERT_EQ(arg.get_dim(), 2); + ASSERT_EQ(arg.get_type(), ArgInfo::FIX); + ASSERT_EQ(arg.get_index1(), 1234); + ASSERT_EQ(arg.get_index2(), 5); + ASSERT_THAT(arg.get_name(), StrEq("text")); +} + +TEST(ArgInfo, fix4) +{ + ArgInfo arg("f_text[22][120]", ArgInfo::FIX); + ASSERT_EQ(arg.get_dim(), 2); + ASSERT_EQ(arg.get_type(), ArgInfo::FIX); + ASSERT_EQ(arg.get_index1(), 22); + ASSERT_EQ(arg.get_index2(), 120); + ASSERT_THAT(arg.get_name(), StrEq("text")); +} + TEST(ArgInfo, variable0) { ArgInfo arg("v_text"); @@ -169,19 +209,25 @@ TEST(ArgInfo, unsupported3) TEST(ArgInfo, no_bracket1) { - ArgInfo arg("v_text[2"); + ArgInfo arg("v_text[22"); ASSERT_EQ(arg.get_type(), ArgInfo::UNKNOWN); } TEST(ArgInfo, no_bracket2) { - ArgInfo arg("v_text[2][1"); + ArgInfo arg("v_text[123][12"); ASSERT_EQ(arg.get_type(), ArgInfo::UNKNOWN); } TEST(ArgInfo, no_bracket3) { - ArgInfo arg("v_text[2[1]"); + ArgInfo arg("v_text[2[11]"); + ASSERT_EQ(arg.get_type(), ArgInfo::UNKNOWN); +} + +TEST(ArgInfo, no_bracket4) +{ + ArgInfo arg("v_text[25]021]"); ASSERT_EQ(arg.get_type(), ArgInfo::UNKNOWN); } From 9dc662973e1b9bd1aaf18dc845633515b55c127c Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 29 Jul 2021 21:18:03 -0400 Subject: [PATCH 596/726] step version strings for next patch release --- doc/lammps.1 | 2 +- src/version.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/lammps.1 b/doc/lammps.1 index de496d1af1..a111f7e092 100644 --- a/doc/lammps.1 +++ b/doc/lammps.1 @@ -1,4 +1,4 @@ -.TH LAMMPS "28 July 2021" "2021-07-28" +.TH LAMMPS "30 July 2021" "2021-07-30" .SH NAME .B LAMMPS \- Molecular Dynamics Simulator. diff --git a/src/version.h b/src/version.h index e206353a44..a48d6f1873 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define LAMMPS_VERSION "28 Jul 2021" +#define LAMMPS_VERSION "30 Jul 2021" From 5f401da462b23143f45f720333d4f76a5b3f584b Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 30 Jul 2021 10:48:15 -0400 Subject: [PATCH 597/726] correct bug in derived CG-DNA FENE bond classes and optimize code --- src/CG-DNA/bond_oxdna2_fene.cpp | 29 ++++++---------------- src/CG-DNA/bond_oxdna2_fene.h | 6 ++--- src/CG-DNA/bond_oxdna_fene.cpp | 43 +++++++++++++++++---------------- src/CG-DNA/bond_oxdna_fene.h | 1 + src/CG-DNA/bond_oxrna2_fene.cpp | 30 ++++++----------------- src/CG-DNA/bond_oxrna2_fene.h | 7 +++--- 6 files changed, 45 insertions(+), 71 deletions(-) diff --git a/src/CG-DNA/bond_oxdna2_fene.cpp b/src/CG-DNA/bond_oxdna2_fene.cpp index 0fad5bfaae..54f2dab9d2 100644 --- a/src/CG-DNA/bond_oxdna2_fene.cpp +++ b/src/CG-DNA/bond_oxdna2_fene.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -19,30 +18,16 @@ using namespace LAMMPS_NS; -/* ---------------------------------------------------------------------- */ - -BondOxdna2Fene::BondOxdna2Fene(LAMMPS *lmp) : BondOxdnaFene(lmp) -{ - -} - -/* ---------------------------------------------------------------------- */ - -BondOxdna2Fene::~BondOxdna2Fene() -{ - -} - /* ---------------------------------------------------------------------- compute vector COM-sugar-phosphate backbone interaction site in oxDNA2 ------------------------------------------------------------------------- */ -void BondOxdna2Fene::compute_interaction_sites(double e1[3], double e2[3], - double /*e3*/[3], double r[3]) +void BondOxdna2Fene::compute_interaction_sites(double e1[3], double e2[3], double /*e3*/[3], + double r[3]) const { - double d_cs_x=-0.34, d_cs_y=+0.3408; - - r[0] = d_cs_x*e1[0] + d_cs_y*e2[0]; - r[1] = d_cs_x*e1[1] + d_cs_y*e2[1]; - r[2] = d_cs_x*e1[2] + d_cs_y*e2[2]; + constexpr double d_cs_x = -0.34; + constexpr double d_cs_y = +0.3408; + r[0] = d_cs_x * e1[0] + d_cs_y * e2[0]; + r[1] = d_cs_x * e1[1] + d_cs_y * e2[1]; + r[2] = d_cs_x * e1[2] + d_cs_y * e2[2]; } diff --git a/src/CG-DNA/bond_oxdna2_fene.h b/src/CG-DNA/bond_oxdna2_fene.h index 98a74e3551..6c932f9421 100644 --- a/src/CG-DNA/bond_oxdna2_fene.h +++ b/src/CG-DNA/bond_oxdna2_fene.h @@ -26,9 +26,9 @@ namespace LAMMPS_NS { class BondOxdna2Fene : public BondOxdnaFene { public: - BondOxdna2Fene(class LAMMPS *); - virtual ~BondOxdna2Fene(); - virtual void compute_interaction_sites(double *, double *, double *, double *); + BondOxdna2Fene(class LAMMPS *lmp) : BondOxdnaFene(lmp) {} + virtual ~BondOxdna2Fene() {} + virtual void compute_interaction_sites(double *, double *, double *, double *) const; }; } // namespace LAMMPS_NS diff --git a/src/CG-DNA/bond_oxdna_fene.cpp b/src/CG-DNA/bond_oxdna_fene.cpp index 0075ec6bb0..5a332a0b8c 100644 --- a/src/CG-DNA/bond_oxdna_fene.cpp +++ b/src/CG-DNA/bond_oxdna_fene.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -18,31 +17,20 @@ #include "bond_oxdna_fene.h" #include "atom.h" -#include "atom_vec_ellipsoid.h" -#include "comm.h" -#include "error.h" -#include "force.h" -#include "math_extra.h" -#include "memory.h" #include "neighbor.h" +#include "comm.h" #include "update.h" +#include "force.h" +#include "memory.h" +#include "error.h" + +#include "atom_vec_ellipsoid.h" +#include "math_extra.h" #include using namespace LAMMPS_NS; -/* ---------------------------------------------------------------------- - compute vector COM-sugar-phosphate backbone interaction site in oxDNA -------------------------------------------------------------------------- */ -static void compute_interaction_sites(const double e1[3], double r[3]) -{ - constexpr double d_cs=-0.4; - - r[0] = d_cs*e1[0]; - r[1] = d_cs*e1[1]; - r[2] = d_cs*e1[2]; -} - /* ---------------------------------------------------------------------- */ BondOxdnaFene::~BondOxdnaFene() @@ -56,6 +44,19 @@ BondOxdnaFene::~BondOxdnaFene() } +/* ---------------------------------------------------------------------- + compute vector COM-sugar-phosphate backbone interaction site in oxDNA +------------------------------------------------------------------------- */ +void BondOxdnaFene::compute_interaction_sites(double e1[3], double /*e2*/[3], + double /*e3*/[3], double r[3]) const +{ + constexpr double d_cs=-0.4; + + r[0] = d_cs*e1[0]; + r[1] = d_cs*e1[1]; + r[2] = d_cs*e1[2]; +} + /* ---------------------------------------------------------------------- tally energy and virial into global and per-atom accumulators ------------------------------------------------------------------------- */ @@ -187,8 +188,8 @@ void BondOxdnaFene::compute(int eflag, int vflag) MathExtra::q_to_exyz(qb,bx,by,bz); // vector COM-backbone site a and b - compute_interaction_sites(ax,ra_cs); - compute_interaction_sites(bx,rb_cs); + compute_interaction_sites(ax,ay,az,ra_cs); + compute_interaction_sites(bx,by,bz,rb_cs); // vector backbone site b to a delr[0] = x[a][0] + ra_cs[0] - x[b][0] - rb_cs[0]; diff --git a/src/CG-DNA/bond_oxdna_fene.h b/src/CG-DNA/bond_oxdna_fene.h index 6e2272d597..42b542a6fb 100644 --- a/src/CG-DNA/bond_oxdna_fene.h +++ b/src/CG-DNA/bond_oxdna_fene.h @@ -28,6 +28,7 @@ class BondOxdnaFene : public Bond { public: BondOxdnaFene(class LAMMPS *lmp) : Bond(lmp) {} virtual ~BondOxdnaFene(); + virtual void compute_interaction_sites(double *, double *, double *, double *) const; virtual void compute(int, int); void coeff(int, char **); void init_style(); diff --git a/src/CG-DNA/bond_oxrna2_fene.cpp b/src/CG-DNA/bond_oxrna2_fene.cpp index 71c5d9edf3..24de5f7714 100644 --- a/src/CG-DNA/bond_oxrna2_fene.cpp +++ b/src/CG-DNA/bond_oxrna2_fene.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -19,30 +18,17 @@ using namespace LAMMPS_NS; -/* ---------------------------------------------------------------------- */ - -BondOxrna2Fene::BondOxrna2Fene(LAMMPS *lmp) : BondOxdnaFene(lmp) -{ - -} - -/* ---------------------------------------------------------------------- */ - -BondOxrna2Fene::~BondOxrna2Fene() -{ - -} - /* ---------------------------------------------------------------------- compute vector COM-sugar-phosphate backbone interaction site in oxRNA2 ------------------------------------------------------------------------- */ -void BondOxrna2Fene::compute_interaction_sites(double e1[3], double /*e2*/[3], - double e3[3], double r[3]) + +void BondOxrna2Fene::compute_interaction_sites(double e1[3], double /*e2*/[3], double e3[3], + double r[3]) const { - double d_cs_x=-0.4, d_cs_z=+0.2; - - r[0] = d_cs_x*e1[0] + d_cs_z*e3[0]; - r[1] = d_cs_x*e1[1] + d_cs_z*e3[1]; - r[2] = d_cs_x*e1[2] + d_cs_z*e3[2]; + constexpr double d_cs_x = -0.4; + constexpr double d_cs_z = +0.2; + r[0] = d_cs_x * e1[0] + d_cs_z * e3[0]; + r[1] = d_cs_x * e1[1] + d_cs_z * e3[1]; + r[2] = d_cs_x * e1[2] + d_cs_z * e3[2]; } diff --git a/src/CG-DNA/bond_oxrna2_fene.h b/src/CG-DNA/bond_oxrna2_fene.h index 901daf2eb0..a805cd005f 100644 --- a/src/CG-DNA/bond_oxrna2_fene.h +++ b/src/CG-DNA/bond_oxrna2_fene.h @@ -26,9 +26,10 @@ namespace LAMMPS_NS { class BondOxrna2Fene : public BondOxdnaFene { public: - BondOxrna2Fene(class LAMMPS *); - virtual ~BondOxrna2Fene(); - virtual void compute_interaction_sites(double *, double *, double *, double *); + BondOxrna2Fene(class LAMMPS *lmp) : BondOxdnaFene(lmp) {} + virtual ~BondOxrna2Fene() {} + + virtual void compute_interaction_sites(double *, double *, double *, double *) const; }; } // namespace LAMMPS_NS From 82936b1e4f9b9d1e4694a7a572a5157f43a2dce8 Mon Sep 17 00:00:00 2001 From: Evangelos Voyiatzis Date: Fri, 30 Jul 2021 18:14:44 +0200 Subject: [PATCH 598/726] fixing indexing bug The gyration_tensor[4] element as computed by "compute gyration" corresponds to the xz component of the gyration tensor and the gyration_tensor[5] to the yz component. The code assumed that gyration_tensor[4] corresponds to the yz component and the gyration_tensor[5] to the xz. --- src/EXTRA-COMPUTE/compute_gyration_shape.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/EXTRA-COMPUTE/compute_gyration_shape.cpp b/src/EXTRA-COMPUTE/compute_gyration_shape.cpp index d64594d219..47c94ac48d 100644 --- a/src/EXTRA-COMPUTE/compute_gyration_shape.cpp +++ b/src/EXTRA-COMPUTE/compute_gyration_shape.cpp @@ -92,8 +92,8 @@ void ComputeGyrationShape::compute_vector() ione[1][1] = gyration_tensor[1]; ione[2][2] = gyration_tensor[2]; ione[0][1] = ione[1][0] = gyration_tensor[3]; - ione[1][2] = ione[2][1] = gyration_tensor[4]; - ione[0][2] = ione[2][0] = gyration_tensor[5]; + ione[0][2] = ione[2][0] = gyration_tensor[4]; + ione[1][2] = ione[2][1] = gyration_tensor[5]; int ierror = MathEigen::jacobi3(ione,evalues,evectors); if (ierror) error->all(FLERR, "Insufficient Jacobi rotations " From db4fcd7537984cc7bb0f09cf58c773f62b3f061e Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 30 Jul 2021 15:24:23 -0400 Subject: [PATCH 599/726] update package dependency --- src/OPT/Install.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/OPT/Install.sh b/src/OPT/Install.sh index b059dab491..0423df143d 100755 --- a/src/OPT/Install.sh +++ b/src/OPT/Install.sh @@ -46,5 +46,5 @@ action pair_lj_long_coul_long_opt.cpp pair_lj_long_coul_long.cpp action pair_lj_long_coul_long_opt.h pair_lj_long_coul_long.cpp action pair_morse_opt.cpp action pair_morse_opt.h -action pair_ufm_opt.cpp -action pair_ufm_opt.h +action pair_ufm_opt.cpp pair_ufm.cpp +action pair_ufm_opt.h pair_ufm.h From 45858be1b6d565330e882ffa1327708a474d9cbb Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 2 Aug 2021 15:22:21 -0400 Subject: [PATCH 600/726] avoid uninitialized data access for hybrid styles with OPENMP --- src/dihedral_hybrid.cpp | 16 ++++++++++++++++ src/improper_hybrid.cpp | 16 ++++++++++++++++ 2 files changed, 32 insertions(+) diff --git a/src/dihedral_hybrid.cpp b/src/dihedral_hybrid.cpp index 8088719491..48d879d435 100644 --- a/src/dihedral_hybrid.cpp +++ b/src/dihedral_hybrid.cpp @@ -33,7 +33,11 @@ using namespace LAMMPS_NS; DihedralHybrid::DihedralHybrid(LAMMPS *lmp) : Dihedral(lmp) { + writedata = 0; nstyles = 0; + ndihedrallist = nullptr; + dihedrallist = nullptr; + maxdihedral = nullptr; } /* ---------------------------------------------------------------------- */ @@ -108,6 +112,18 @@ void DihedralHybrid::compute(int eflag, int vflag) ev_init(eflag,vflag); + // need to clear per-thread storage here, when using multiple threads + // with thread-enabled substyles to avoid uninitlialized data access. + + const int nthreads = comm->nthreads; + if (comm->nthreads > 1) { + const bigint nall = atom->nlocal + atom->nghost; + if (eflag_atom) + memset(&eatom[0],0,nall*nthreads*sizeof(double)); + if (vflag_atom) + memset(&vatom[0][0],0,6*nall*nthreads*sizeof(double)); + } + for (m = 0; m < nstyles; m++) { neighbor->ndihedrallist = ndihedrallist[m]; neighbor->dihedrallist = dihedrallist[m]; diff --git a/src/improper_hybrid.cpp b/src/improper_hybrid.cpp index a5781beba2..ed1a8075a9 100644 --- a/src/improper_hybrid.cpp +++ b/src/improper_hybrid.cpp @@ -32,7 +32,11 @@ using namespace LAMMPS_NS; ImproperHybrid::ImproperHybrid(LAMMPS *lmp) : Improper(lmp) { + writedata = 0; nstyles = 0; + nimproperlist = nullptr; + improperlist = nullptr; + maximproper = nullptr; } /* ---------------------------------------------------------------------- */ @@ -107,6 +111,18 @@ void ImproperHybrid::compute(int eflag, int vflag) ev_init(eflag,vflag); + // need to clear per-thread storage here, when using multiple threads + // with thread-enabled substyles to avoid uninitlialized data access. + + const int nthreads = comm->nthreads; + if (comm->nthreads > 1) { + const bigint nall = atom->nlocal + atom->nghost; + if (eflag_atom) + memset(&eatom[0],0,nall*nthreads*sizeof(double)); + if (vflag_atom) + memset(&vatom[0][0],0,6*nall*nthreads*sizeof(double)); + } + for (m = 0; m < nstyles; m++) { neighbor->nimproperlist = nimproperlist[m]; neighbor->improperlist = improperlist[m]; From 8aa39a6c409b81351e6c5cdbcfacdec02ee20c72 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 2 Aug 2021 15:23:16 -0400 Subject: [PATCH 601/726] make compatible with CLASS2 --- src/dihedral_hybrid.cpp | 10 ++++++++++ src/improper_hybrid.cpp | 6 +++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/dihedral_hybrid.cpp b/src/dihedral_hybrid.cpp index 48d879d435..752b1818a5 100644 --- a/src/dihedral_hybrid.cpp +++ b/src/dihedral_hybrid.cpp @@ -286,6 +286,16 @@ void DihedralHybrid::coeff(int narg, char **arg) if (m == nstyles) { if (strcmp(arg[1],"none") == 0) none = 1; else if (strcmp(arg[1],"skip") == 0) none = skip = 1; + else if (strcmp(arg[1],"mbt") == 0) + error->all(FLERR,"MiddleBondTorsion coeff for hybrid dihedral has invalid format"); + else if (strcmp(arg[1],"ebt") == 0) + error->all(FLERR,"EndBondTorsion coeff for hybrid dihedral has invalid format"); + else if (strcmp(arg[1],"at") == 0) + error->all(FLERR,"AngleTorsion coeff for hybrid dihedral has invalid format"); + else if (strcmp(arg[1],"aat") == 0) + error->all(FLERR,"AngleAngleTorsion coeff for hybrid dihedral has invalid format"); + else if (strcmp(arg[1],"bb13") == 0) + error->all(FLERR,"BondBond13 coeff for hybrid dihedral has invalid format"); else error->all(FLERR,"Dihedral coeff for hybrid has invalid style"); } diff --git a/src/improper_hybrid.cpp b/src/improper_hybrid.cpp index ed1a8075a9..ffee2e2fc8 100644 --- a/src/improper_hybrid.cpp +++ b/src/improper_hybrid.cpp @@ -283,15 +283,19 @@ void ImproperHybrid::coeff(int narg, char **arg) utils::bounds(FLERR,arg[0],1,atom->nimpropertypes,ilo,ihi,error); // 2nd arg = improper sub-style name - // allow for "none" as valid sub-style name + // allow for "none" or "skip" as valid sub-style name int m; for (m = 0; m < nstyles; m++) if (strcmp(arg[1],keywords[m]) == 0) break; int none = 0; + int skip = 0; if (m == nstyles) { if (strcmp(arg[1],"none") == 0) none = 1; + else if (strcmp(arg[1],"skip") == 0) none = skip = 1; + else if (strcmp(arg[1],"aa") == 0) + error->all(FLERR,"AngleAngle coeff for hybrid improper has invalid format"); else error->all(FLERR,"Improper coeff for hybrid has invalid style"); } From 848db31a771ba4f0b4245467588cabdf4656929e Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 2 Aug 2021 15:25:01 -0400 Subject: [PATCH 602/726] reformat with clang-format --- src/angle_hybrid.cpp | 163 ++++++++++++++++++------------------ src/bond_hybrid.cpp | 154 +++++++++++++++++----------------- src/dihedral_hybrid.cpp | 177 +++++++++++++++++++-------------------- src/improper_hybrid.cpp | 179 ++++++++++++++++++++-------------------- 4 files changed, 327 insertions(+), 346 deletions(-) diff --git a/src/angle_hybrid.cpp b/src/angle_hybrid.cpp index 4fb382790e..12bc9aa97a 100644 --- a/src/angle_hybrid.cpp +++ b/src/angle_hybrid.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -15,14 +14,14 @@ #include "angle_hybrid.h" #include "atom.h" -#include "neighbor.h" #include "comm.h" +#include "error.h" #include "force.h" #include "memory.h" -#include "error.h" +#include "neighbor.h" -#include #include +#include using namespace LAMMPS_NS; @@ -45,19 +44,18 @@ AngleHybrid::~AngleHybrid() { if (nstyles) { for (int i = 0; i < nstyles; i++) delete styles[i]; - delete [] styles; - for (int i = 0; i < nstyles; i++) delete [] keywords[i]; - delete [] keywords; + delete[] styles; + for (int i = 0; i < nstyles; i++) delete[] keywords[i]; + delete[] keywords; } if (allocated) { memory->destroy(setflag); memory->destroy(map); - delete [] nanglelist; - delete [] maxangle; - for (int i = 0; i < nstyles; i++) - memory->destroy(anglelist[i]); - delete [] anglelist; + delete[] nanglelist; + delete[] maxangle; + for (int i = 0; i < nstyles; i++) memory->destroy(anglelist[i]); + delete[] anglelist; } } @@ -65,7 +63,7 @@ AngleHybrid::~AngleHybrid() void AngleHybrid::compute(int eflag, int vflag) { - int i,j,m,n; + int i, j, m, n; // save ptrs to original anglelist @@ -87,7 +85,7 @@ void AngleHybrid::compute(int eflag, int vflag) if (nanglelist[m] > maxangle[m]) { memory->destroy(anglelist[m]); maxangle[m] = nanglelist[m] + EXTRA; - memory->create(anglelist[m],maxangle[m],4,"angle_hybrid:anglelist"); + memory->create(anglelist[m], maxangle[m], 4, "angle_hybrid:anglelist"); } nanglelist[m] = 0; } @@ -107,7 +105,7 @@ void AngleHybrid::compute(int eflag, int vflag) // set neighbor->anglelist to sub-style anglelist before call // accumulate sub-style global/peratom energy/virial in hybrid - ev_init(eflag,vflag); + ev_init(eflag, vflag); // need to clear per-thread storage here, when using multiple threads // with thread-enabled substyles to avoid uninitlialized data access. @@ -115,17 +113,15 @@ void AngleHybrid::compute(int eflag, int vflag) const int nthreads = comm->nthreads; if (comm->nthreads > 1) { const bigint nall = atom->nlocal + atom->nghost; - if (eflag_atom) - memset(&eatom[0],0,nall*nthreads*sizeof(double)); - if (vflag_atom) - memset(&vatom[0][0],0,6*nall*nthreads*sizeof(double)); + if (eflag_atom) memset(&eatom[0], 0, nall * nthreads * sizeof(double)); + if (vflag_atom) memset(&vatom[0][0], 0, 6 * nall * nthreads * sizeof(double)); } for (m = 0; m < nstyles; m++) { neighbor->nanglelist = nanglelist[m]; neighbor->anglelist = anglelist[m]; - styles[m]->compute(eflag,vflag); + styles[m]->compute(eflag, vflag); if (eflag_global) energy += styles[m]->energy; if (vflag_global) @@ -141,16 +137,14 @@ void AngleHybrid::compute(int eflag, int vflag) if (force->newton_bond) n += atom->nghost; double **vatom_substyle = styles[m]->vatom; for (i = 0; i < n; i++) - for (j = 0; j < 6; j++) - vatom[i][j] += vatom_substyle[i][j]; + for (j = 0; j < 6; j++) vatom[i][j] += vatom_substyle[i][j]; } if (cvflag_atom) { n = atom->nlocal; if (force->newton_bond) n += atom->nghost; double **cvatom_substyle = styles[m]->cvatom; for (i = 0; i < n; i++) - for (j = 0; j < 9; j++) - cvatom[i][j] += cvatom_substyle[i][j]; + for (j = 0; j < 9; j++) cvatom[i][j] += cvatom_substyle[i][j]; } } @@ -167,13 +161,13 @@ void AngleHybrid::allocate() allocated = 1; int n = atom->nangletypes; - memory->create(map,n+1,"angle:map"); - memory->create(setflag,n+1,"angle:setflag"); + memory->create(map, n + 1, "angle:map"); + memory->create(setflag, n + 1, "angle:setflag"); for (int i = 1; i <= n; i++) setflag[i] = 0; nanglelist = new int[nstyles]; maxangle = new int[nstyles]; - anglelist = new int**[nstyles]; + anglelist = new int **[nstyles]; for (int m = 0; m < nstyles; m++) maxangle[m] = 0; for (int m = 0; m < nstyles; m++) anglelist[m] = nullptr; } @@ -184,27 +178,26 @@ void AngleHybrid::allocate() void AngleHybrid::settings(int narg, char **arg) { - int i, m,istyle; + int i, m, istyle; - if (narg < 1) error->all(FLERR,"Illegal angle_style command"); + if (narg < 1) error->all(FLERR, "Illegal angle_style command"); // delete old lists, since cannot just change settings if (nstyles) { for (i = 0; i < nstyles; i++) delete styles[i]; - delete [] styles; - for (i = 0; i < nstyles; i++) delete [] keywords[i]; - delete [] keywords; + delete[] styles; + for (i = 0; i < nstyles; i++) delete[] keywords[i]; + delete[] keywords; } if (allocated) { memory->destroy(setflag); memory->destroy(map); - delete [] nanglelist; - delete [] maxangle; - for (i = 0; i < nstyles; i++) - memory->destroy(anglelist[i]); - delete [] anglelist; + delete[] nanglelist; + delete[] maxangle; + for (i = 0; i < nstyles; i++) memory->destroy(anglelist[i]); + delete[] anglelist; } allocated = 0; @@ -215,7 +208,7 @@ void AngleHybrid::settings(int narg, char **arg) nstyles = 0; i = 0; while (i < narg) { - if (strcmp(arg[i],"table") == 0) i++; + if (strcmp(arg[i], "table") == 0) i++; i++; while (i < narg && !isalpha(arg[i][0])) i++; nstyles++; @@ -223,8 +216,8 @@ void AngleHybrid::settings(int narg, char **arg) // allocate list of sub-styles - styles = new Angle*[nstyles]; - keywords = new char*[nstyles]; + styles = new Angle *[nstyles]; + keywords = new char *[nstyles]; // allocate each sub-style and call its settings() with subset of args // allocate uses suffix, but don't store suffix version in keywords, @@ -239,22 +232,21 @@ void AngleHybrid::settings(int narg, char **arg) while (i < narg) { for (m = 0; m < nstyles; m++) - if (strcmp(arg[i],keywords[m]) == 0) - error->all(FLERR,"Angle style hybrid cannot use " - "same angle style twice"); - if (strcmp(arg[i],"hybrid") == 0) - error->all(FLERR,"Angle style hybrid cannot have hybrid as an argument"); - if (strcmp(arg[i],"none") == 0) - error->all(FLERR,"Angle style hybrid cannot have none as an argument"); + if (strcmp(arg[i], keywords[m]) == 0) + error->all(FLERR, "Angle style hybrid cannot use same angle style twice"); + if (strcmp(arg[i], "hybrid") == 0) + error->all(FLERR, "Angle style hybrid cannot have hybrid as an argument"); + if (strcmp(arg[i], "none") == 0) + error->all(FLERR, "Angle style hybrid cannot have none as an argument"); - styles[nstyles] = force->new_angle(arg[i],1,dummy); - force->store_style(keywords[nstyles],arg[i],0); + styles[nstyles] = force->new_angle(arg[i], 1, dummy); + force->store_style(keywords[nstyles], arg[i], 0); istyle = i; - if (strcmp(arg[i],"table") == 0) i++; + if (strcmp(arg[i], "table") == 0) i++; i++; while (i < narg && !isalpha(arg[i][0])) i++; - styles[nstyles]->settings(i-istyle-1,&arg[istyle+1]); + styles[nstyles]->settings(i - istyle - 1, &arg[istyle + 1]); nstyles++; } } @@ -267,26 +259,29 @@ void AngleHybrid::coeff(int narg, char **arg) { if (!allocated) allocate(); - int ilo,ihi; - utils::bounds(FLERR,arg[0],1,atom->nangletypes,ilo,ihi,error); + int ilo, ihi; + utils::bounds(FLERR, arg[0], 1, atom->nangletypes, ilo, ihi, error); // 2nd arg = angle sub-style name // allow for "none" or "skip" as valid sub-style name int m; for (m = 0; m < nstyles; m++) - if (strcmp(arg[1],keywords[m]) == 0) break; + if (strcmp(arg[1], keywords[m]) == 0) break; int none = 0; int skip = 0; if (m == nstyles) { - if (strcmp(arg[1],"none") == 0) none = 1; - else if (strcmp(arg[1],"skip") == 0) none = skip = 1; - else if (strcmp(arg[1],"ba") == 0) - error->all(FLERR,"BondAngle coeff for hybrid angle has invalid format"); - else if (strcmp(arg[1],"bb") == 0) - error->all(FLERR,"BondBond coeff for hybrid angle has invalid format"); - else error->all(FLERR,"Angle coeff for hybrid has invalid style"); + if (strcmp(arg[1], "none") == 0) + none = 1; + else if (strcmp(arg[1], "skip") == 0) + none = skip = 1; + else if (strcmp(arg[1], "ba") == 0) + error->all(FLERR, "BondAngle coeff for hybrid angle has invalid format"); + else if (strcmp(arg[1], "bb") == 0) + error->all(FLERR, "BondBond coeff for hybrid angle has invalid format"); + else + error->all(FLERR, "Angle coeff for hybrid has invalid style"); } // move 1st arg to 2nd arg @@ -296,14 +291,15 @@ void AngleHybrid::coeff(int narg, char **arg) // invoke sub-style coeff() starting with 1st arg - if (!none) styles[m]->coeff(narg-1,&arg[1]); + if (!none) styles[m]->coeff(narg - 1, &arg[1]); // set setflag and which type maps to which sub-style // if sub-style is skip: auxiliary class2 setting in data file so ignore // if sub-style is none: set hybrid setflag, wipe out map for (int i = ilo; i <= ihi; i++) { - if (skip) continue; + if (skip) + continue; else if (none) { setflag[i] = 1; map[i] = -1; @@ -330,8 +326,7 @@ void AngleHybrid::init_style() double AngleHybrid::equilibrium_angle(int i) { - if (map[i] < 0) - error->one(FLERR,"Invoked angle equil angle on angle style none"); + if (map[i] < 0) error->one(FLERR, "Invoked angle equil angle on angle style none"); return styles[map[i]]->equilibrium_angle(i); } @@ -341,13 +336,13 @@ double AngleHybrid::equilibrium_angle(int i) void AngleHybrid::write_restart(FILE *fp) { - fwrite(&nstyles,sizeof(int),1,fp); + fwrite(&nstyles, sizeof(int), 1, fp); int n; for (int m = 0; m < nstyles; m++) { n = strlen(keywords[m]) + 1; - fwrite(&n,sizeof(int),1,fp); - fwrite(keywords[m],sizeof(char),n,fp); + fwrite(&n, sizeof(int), 1, fp); + fwrite(keywords[m], sizeof(char), n, fp); styles[m]->write_restart_settings(fp); } } @@ -359,21 +354,21 @@ void AngleHybrid::write_restart(FILE *fp) void AngleHybrid::read_restart(FILE *fp) { int me = comm->me; - if (me == 0) utils::sfread(FLERR,&nstyles,sizeof(int),1,fp,nullptr,error); - MPI_Bcast(&nstyles,1,MPI_INT,0,world); - styles = new Angle*[nstyles]; - keywords = new char*[nstyles]; + if (me == 0) utils::sfread(FLERR, &nstyles, sizeof(int), 1, fp, nullptr, error); + MPI_Bcast(&nstyles, 1, MPI_INT, 0, world); + styles = new Angle *[nstyles]; + keywords = new char *[nstyles]; allocate(); - int n,dummy; + int n, dummy; for (int m = 0; m < nstyles; m++) { - if (me == 0) utils::sfread(FLERR,&n,sizeof(int),1,fp,nullptr,error); - MPI_Bcast(&n,1,MPI_INT,0,world); + if (me == 0) utils::sfread(FLERR, &n, sizeof(int), 1, fp, nullptr, error); + MPI_Bcast(&n, 1, MPI_INT, 0, world); keywords[m] = new char[n]; - if (me == 0) utils::sfread(FLERR,keywords[m],sizeof(char),n,fp,nullptr,error); - MPI_Bcast(keywords[m],n,MPI_CHAR,0,world); - styles[m] = force->new_angle(keywords[m],0,dummy); + if (me == 0) utils::sfread(FLERR, keywords[m], sizeof(char), n, fp, nullptr, error); + MPI_Bcast(keywords[m], n, MPI_CHAR, 0, world); + styles[m] = force->new_angle(keywords[m], 0, dummy); styles[m]->read_restart_settings(fp); } } @@ -382,8 +377,8 @@ void AngleHybrid::read_restart(FILE *fp) double AngleHybrid::single(int type, int i1, int i2, int i3) { - if (map[type] < 0) error->one(FLERR,"Invoked angle single on angle style none"); - return styles[map[type]]->single(type,i1,i2,i3); + if (map[type] < 0) error->one(FLERR, "Invoked angle single on angle style none"); + return styles[map[type]]->single(type, i1, i2, i3); } /* ---------------------------------------------------------------------- @@ -392,10 +387,10 @@ double AngleHybrid::single(int type, int i1, int i2, int i3) double AngleHybrid::memory_usage() { - double bytes = (double)maxeatom * sizeof(double); - bytes += (double)maxvatom*6 * sizeof(double); - bytes += (double)maxcvatom*9 * sizeof(double); - for (int m = 0; m < nstyles; m++) bytes += (double)maxangle[m]*4 * sizeof(int); + double bytes = (double) maxeatom * sizeof(double); + bytes += (double) maxvatom * 6 * sizeof(double); + bytes += (double) maxcvatom * 9 * sizeof(double); + for (int m = 0; m < nstyles; m++) bytes += (double) maxangle[m] * 4 * sizeof(int); for (int m = 0; m < nstyles; m++) if (styles[m]) bytes += styles[m]->memory_usage(); return bytes; diff --git a/src/bond_hybrid.cpp b/src/bond_hybrid.cpp index 920c251f55..dad1010a1e 100644 --- a/src/bond_hybrid.cpp +++ b/src/bond_hybrid.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -21,8 +20,8 @@ #include "memory.h" #include "neighbor.h" -#include #include +#include using namespace LAMMPS_NS; @@ -46,19 +45,18 @@ BondHybrid::~BondHybrid() { if (nstyles) { for (int i = 0; i < nstyles; i++) delete styles[i]; - delete [] styles; - for (int i = 0; i < nstyles; i++) delete [] keywords[i]; - delete [] keywords; + delete[] styles; + for (int i = 0; i < nstyles; i++) delete[] keywords[i]; + delete[] keywords; } if (allocated) { memory->destroy(setflag); memory->destroy(map); - delete [] nbondlist; - delete [] maxbond; - for (int i = 0; i < nstyles; i++) - memory->destroy(bondlist[i]); - delete [] bondlist; + delete[] nbondlist; + delete[] maxbond; + for (int i = 0; i < nstyles; i++) memory->destroy(bondlist[i]); + delete[] bondlist; } } @@ -66,7 +64,7 @@ BondHybrid::~BondHybrid() void BondHybrid::compute(int eflag, int vflag) { - int i,j,m,n; + int i, j, m, n; // save ptrs to original bondlist @@ -88,7 +86,7 @@ void BondHybrid::compute(int eflag, int vflag) if (nbondlist[m] > maxbond[m]) { memory->destroy(bondlist[m]); maxbond[m] = nbondlist[m] + EXTRA; - memory->create(bondlist[m],maxbond[m],3,"bond_hybrid:bondlist"); + memory->create(bondlist[m], maxbond[m], 3, "bond_hybrid:bondlist"); } nbondlist[m] = 0; } @@ -107,7 +105,7 @@ void BondHybrid::compute(int eflag, int vflag) // set neighbor->bondlist to sub-style bondlist before call // accumulate sub-style global/peratom energy/virial in hybrid - ev_init(eflag,vflag); + ev_init(eflag, vflag); // need to clear per-thread storage once here, when using multiple threads // with thread-enabled substyles to avoid uninitlialized data access. @@ -115,17 +113,15 @@ void BondHybrid::compute(int eflag, int vflag) const int nthreads = comm->nthreads; if (nthreads > 1) { const bigint nall = atom->nlocal + atom->nghost; - if (eflag_atom) - memset(&eatom[0],0,nall*nthreads*sizeof(double)); - if (vflag_atom) - memset(&vatom[0][0],0,6*nall*nthreads*sizeof(double)); + if (eflag_atom) memset(&eatom[0], 0, nall * nthreads * sizeof(double)); + if (vflag_atom) memset(&vatom[0][0], 0, 6 * nall * nthreads * sizeof(double)); } for (m = 0; m < nstyles; m++) { neighbor->nbondlist = nbondlist[m]; neighbor->bondlist = bondlist[m]; - styles[m]->compute(eflag,vflag); + styles[m]->compute(eflag, vflag); if (eflag_global) energy += styles[m]->energy; if (vflag_global) @@ -141,8 +137,7 @@ void BondHybrid::compute(int eflag, int vflag) if (force->newton_bond) n += atom->nghost; double **vatom_substyle = styles[m]->vatom; for (i = 0; i < n; i++) - for (j = 0; j < 6; j++) - vatom[i][j] += vatom_substyle[i][j]; + for (j = 0; j < 6; j++) vatom[i][j] += vatom_substyle[i][j]; } } @@ -159,13 +154,13 @@ void BondHybrid::allocate() allocated = 1; int n = atom->nbondtypes; - memory->create(map,n+1,"bond:map"); - memory->create(setflag,n+1,"bond:setflag"); + memory->create(map, n + 1, "bond:map"); + memory->create(setflag, n + 1, "bond:setflag"); for (int i = 1; i <= n; i++) setflag[i] = 0; nbondlist = new int[nstyles]; maxbond = new int[nstyles]; - bondlist = new int**[nstyles]; + bondlist = new int **[nstyles]; for (int m = 0; m < nstyles; m++) maxbond[m] = 0; for (int m = 0; m < nstyles; m++) bondlist[m] = nullptr; } @@ -176,28 +171,27 @@ void BondHybrid::allocate() void BondHybrid::settings(int narg, char **arg) { - int i,m,istyle; + int i, m, istyle; - if (narg < 1) error->all(FLERR,"Illegal bond_style command"); + if (narg < 1) error->all(FLERR, "Illegal bond_style command"); // delete old lists, since cannot just change settings if (nstyles) { for (i = 0; i < nstyles; i++) delete styles[i]; - delete [] styles; - for (i = 0; i < nstyles; i++) delete [] keywords[i]; - delete [] keywords; + delete[] styles; + for (i = 0; i < nstyles; i++) delete[] keywords[i]; + delete[] keywords; has_quartic = -1; } if (allocated) { memory->destroy(setflag); memory->destroy(map); - delete [] nbondlist; - delete [] maxbond; - for (i = 0; i < nstyles; i++) - memory->destroy(bondlist[i]); - delete [] bondlist; + delete[] nbondlist; + delete[] maxbond; + for (i = 0; i < nstyles; i++) memory->destroy(bondlist[i]); + delete[] bondlist; } allocated = 0; @@ -208,7 +202,7 @@ void BondHybrid::settings(int narg, char **arg) nstyles = 0; i = 0; while (i < narg) { - if (strcmp(arg[i],"table") == 0) i++; + if (strcmp(arg[i], "table") == 0) i++; i++; while (i < narg && !isalpha(arg[i][0])) i++; nstyles++; @@ -216,8 +210,8 @@ void BondHybrid::settings(int narg, char **arg) // allocate list of sub-styles - styles = new Bond*[nstyles]; - keywords = new char*[nstyles]; + styles = new Bond *[nstyles]; + keywords = new char *[nstyles]; // allocate each sub-style and call its settings() with subset of args // allocate uses suffix, but don't store suffix version in keywords, @@ -233,29 +227,28 @@ void BondHybrid::settings(int narg, char **arg) while (i < narg) { for (m = 0; m < nstyles; m++) - if (strcmp(arg[i],keywords[m]) == 0) - error->all(FLERR,"Bond style hybrid cannot use same bond style twice"); + if (strcmp(arg[i], keywords[m]) == 0) + error->all(FLERR, "Bond style hybrid cannot use same bond style twice"); - if (strcmp(arg[i],"hybrid") == 0) - error->all(FLERR,"Bond style hybrid cannot have hybrid as an argument"); + if (strcmp(arg[i], "hybrid") == 0) + error->all(FLERR, "Bond style hybrid cannot have hybrid as an argument"); - if (strcmp(arg[i],"none") == 0) - error->all(FLERR,"Bond style hybrid cannot have none as an argument"); + if (strcmp(arg[i], "none") == 0) + error->all(FLERR, "Bond style hybrid cannot have none as an argument"); // register index of quartic bond type, // so that bond type 0 can be mapped to it - if (strncmp(arg[i],"quartic",7) == 0) - has_quartic = m; + if (strncmp(arg[i], "quartic", 7) == 0) has_quartic = m; - styles[nstyles] = force->new_bond(arg[i],1,dummy); - force->store_style(keywords[nstyles],arg[i],0); + styles[nstyles] = force->new_bond(arg[i], 1, dummy); + force->store_style(keywords[nstyles], arg[i], 0); istyle = i; - if (strcmp(arg[i],"table") == 0) i++; + if (strcmp(arg[i], "table") == 0) i++; i++; while (i < narg && !isalpha(arg[i][0])) i++; - styles[nstyles]->settings(i-istyle-1,&arg[istyle+1]); + styles[nstyles]->settings(i - istyle - 1, &arg[istyle + 1]); nstyles++; } } @@ -268,20 +261,22 @@ void BondHybrid::coeff(int narg, char **arg) { if (!allocated) allocate(); - int ilo,ihi; - utils::bounds(FLERR,arg[0],1,atom->nbondtypes,ilo,ihi,error); + int ilo, ihi; + utils::bounds(FLERR, arg[0], 1, atom->nbondtypes, ilo, ihi, error); // 2nd arg = bond sub-style name // allow for "none" as valid sub-style name int m; for (m = 0; m < nstyles; m++) - if (strcmp(arg[1],keywords[m]) == 0) break; + if (strcmp(arg[1], keywords[m]) == 0) break; int none = 0; if (m == nstyles) { - if (strcmp(arg[1],"none") == 0) none = 1; - else error->all(FLERR,"Bond coeff for hybrid has invalid style"); + if (strcmp(arg[1], "none") == 0) + none = 1; + else + error->all(FLERR, "Bond coeff for hybrid has invalid style"); } // move 1st arg to 2nd arg @@ -291,15 +286,17 @@ void BondHybrid::coeff(int narg, char **arg) // invoke sub-style coeff() starting with 1st arg - if (!none) styles[m]->coeff(narg-1,&arg[1]); + if (!none) styles[m]->coeff(narg - 1, &arg[1]); // set setflag and which type maps to which sub-style // if sub-style is none: set hybrid setflag, wipe out map for (int i = ilo; i <= ihi; i++) { setflag[i] = 1; - if (none) map[i] = -1; - else map[i] = m; + if (none) + map[i] = -1; + else + map[i] = m; } } @@ -313,8 +310,7 @@ void BondHybrid::init_style() // bond style quartic will set broken bonds to bond type 0, so we need // to create an entry for it in the bond type to sub-style map - if (has_quartic >= 0) - map[0] = has_quartic; + if (has_quartic >= 0) map[0] = has_quartic; } /* ---------------------------------------------------------------------- @@ -323,8 +319,7 @@ void BondHybrid::init_style() double BondHybrid::equilibrium_distance(int i) { - if (map[i] < 0) - error->one(FLERR,"Invoked bond equil distance on bond style none"); + if (map[i] < 0) error->one(FLERR, "Invoked bond equil distance on bond style none"); return styles[map[i]]->equilibrium_distance(i); } @@ -334,13 +329,13 @@ double BondHybrid::equilibrium_distance(int i) void BondHybrid::write_restart(FILE *fp) { - fwrite(&nstyles,sizeof(int),1,fp); + fwrite(&nstyles, sizeof(int), 1, fp); int n; for (int m = 0; m < nstyles; m++) { n = strlen(keywords[m]) + 1; - fwrite(&n,sizeof(int),1,fp); - fwrite(keywords[m],sizeof(char),n,fp); + fwrite(&n, sizeof(int), 1, fp); + fwrite(keywords[m], sizeof(char), n, fp); styles[m]->write_restart_settings(fp); } } @@ -352,33 +347,32 @@ void BondHybrid::write_restart(FILE *fp) void BondHybrid::read_restart(FILE *fp) { int me = comm->me; - if (me == 0) utils::sfread(FLERR,&nstyles,sizeof(int),1,fp,nullptr,error); - MPI_Bcast(&nstyles,1,MPI_INT,0,world); - styles = new Bond*[nstyles]; - keywords = new char*[nstyles]; + if (me == 0) utils::sfread(FLERR, &nstyles, sizeof(int), 1, fp, nullptr, error); + MPI_Bcast(&nstyles, 1, MPI_INT, 0, world); + styles = new Bond *[nstyles]; + keywords = new char *[nstyles]; allocate(); - int n,dummy; + int n, dummy; for (int m = 0; m < nstyles; m++) { - if (me == 0) utils::sfread(FLERR,&n,sizeof(int),1,fp,nullptr,error); - MPI_Bcast(&n,1,MPI_INT,0,world); + if (me == 0) utils::sfread(FLERR, &n, sizeof(int), 1, fp, nullptr, error); + MPI_Bcast(&n, 1, MPI_INT, 0, world); keywords[m] = new char[n]; - if (me == 0) utils::sfread(FLERR,keywords[m],sizeof(char),n,fp,nullptr,error); - MPI_Bcast(keywords[m],n,MPI_CHAR,0,world); - styles[m] = force->new_bond(keywords[m],0,dummy); + if (me == 0) utils::sfread(FLERR, keywords[m], sizeof(char), n, fp, nullptr, error); + MPI_Bcast(keywords[m], n, MPI_CHAR, 0, world); + styles[m] = force->new_bond(keywords[m], 0, dummy); styles[m]->read_restart_settings(fp); } } /* ---------------------------------------------------------------------- */ -double BondHybrid::single(int type, double rsq, int i, int j, - double &fforce) +double BondHybrid::single(int type, double rsq, int i, int j, double &fforce) { - if (map[type] < 0) error->one(FLERR,"Invoked bond single on bond style none"); - return styles[map[type]]->single(type,rsq,i,j,fforce); + if (map[type] < 0) error->one(FLERR, "Invoked bond single on bond style none"); + return styles[map[type]]->single(type, rsq, i, j, fforce); } /* ---------------------------------------------------------------------- @@ -387,9 +381,9 @@ double BondHybrid::single(int type, double rsq, int i, int j, double BondHybrid::memory_usage() { - double bytes = (double)maxeatom * sizeof(double); - bytes += (double)maxvatom*6 * sizeof(double); - for (int m = 0; m < nstyles; m++) bytes += (double)maxbond[m]*3 * sizeof(int); + double bytes = (double) maxeatom * sizeof(double); + bytes += (double) maxvatom * 6 * sizeof(double); + for (int m = 0; m < nstyles; m++) bytes += (double) maxbond[m] * 3 * sizeof(int); for (int m = 0; m < nstyles; m++) if (styles[m]) bytes += styles[m]->memory_usage(); return bytes; diff --git a/src/dihedral_hybrid.cpp b/src/dihedral_hybrid.cpp index 752b1818a5..24a18e6783 100644 --- a/src/dihedral_hybrid.cpp +++ b/src/dihedral_hybrid.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -14,19 +13,18 @@ #include "dihedral_hybrid.h" -#include -#include #include "atom.h" -#include "neighbor.h" #include "comm.h" +#include "error.h" #include "force.h" #include "memory.h" -#include "error.h" +#include "neighbor.h" +#include +#include using namespace LAMMPS_NS; - #define EXTRA 1000 /* ---------------------------------------------------------------------- */ @@ -46,19 +44,18 @@ DihedralHybrid::~DihedralHybrid() { if (nstyles) { for (int i = 0; i < nstyles; i++) delete styles[i]; - delete [] styles; - for (int i = 0; i < nstyles; i++) delete [] keywords[i]; - delete [] keywords; + delete[] styles; + for (int i = 0; i < nstyles; i++) delete[] keywords[i]; + delete[] keywords; } if (allocated) { memory->destroy(setflag); memory->destroy(map); - delete [] ndihedrallist; - delete [] maxdihedral; - for (int i = 0; i < nstyles; i++) - memory->destroy(dihedrallist[i]); - delete [] dihedrallist; + delete[] ndihedrallist; + delete[] maxdihedral; + for (int i = 0; i < nstyles; i++) memory->destroy(dihedrallist[i]); + delete[] dihedrallist; } } @@ -66,7 +63,7 @@ DihedralHybrid::~DihedralHybrid() void DihedralHybrid::compute(int eflag, int vflag) { - int i,j,m,n; + int i, j, m, n; // save ptrs to original dihedrallist @@ -88,8 +85,7 @@ void DihedralHybrid::compute(int eflag, int vflag) if (ndihedrallist[m] > maxdihedral[m]) { memory->destroy(dihedrallist[m]); maxdihedral[m] = ndihedrallist[m] + EXTRA; - memory->create(dihedrallist[m],maxdihedral[m],5, - "dihedral_hybrid:dihedrallist"); + memory->create(dihedrallist[m], maxdihedral[m], 5, "dihedral_hybrid:dihedrallist"); } ndihedrallist[m] = 0; } @@ -110,7 +106,7 @@ void DihedralHybrid::compute(int eflag, int vflag) // set neighbor->dihedrallist to sub-style dihedrallist before call // accumulate sub-style global/peratom energy/virial in hybrid - ev_init(eflag,vflag); + ev_init(eflag, vflag); // need to clear per-thread storage here, when using multiple threads // with thread-enabled substyles to avoid uninitlialized data access. @@ -118,17 +114,15 @@ void DihedralHybrid::compute(int eflag, int vflag) const int nthreads = comm->nthreads; if (comm->nthreads > 1) { const bigint nall = atom->nlocal + atom->nghost; - if (eflag_atom) - memset(&eatom[0],0,nall*nthreads*sizeof(double)); - if (vflag_atom) - memset(&vatom[0][0],0,6*nall*nthreads*sizeof(double)); + if (eflag_atom) memset(&eatom[0], 0, nall * nthreads * sizeof(double)); + if (vflag_atom) memset(&vatom[0][0], 0, 6 * nall * nthreads * sizeof(double)); } for (m = 0; m < nstyles; m++) { neighbor->ndihedrallist = ndihedrallist[m]; neighbor->dihedrallist = dihedrallist[m]; - styles[m]->compute(eflag,vflag); + styles[m]->compute(eflag, vflag); if (eflag_global) energy += styles[m]->energy; if (vflag_global) @@ -144,16 +138,14 @@ void DihedralHybrid::compute(int eflag, int vflag) if (force->newton_bond) n += atom->nghost; double **vatom_substyle = styles[m]->vatom; for (i = 0; i < n; i++) - for (j = 0; j < 6; j++) - vatom[i][j] += vatom_substyle[i][j]; + for (j = 0; j < 6; j++) vatom[i][j] += vatom_substyle[i][j]; } if (cvflag_atom) { n = atom->nlocal; if (force->newton_bond) n += atom->nghost; double **cvatom_substyle = styles[m]->cvatom; for (i = 0; i < n; i++) - for (j = 0; j < 9; j++) - cvatom[i][j] += cvatom_substyle[i][j]; + for (j = 0; j < 9; j++) cvatom[i][j] += cvatom_substyle[i][j]; } } @@ -170,13 +162,13 @@ void DihedralHybrid::allocate() allocated = 1; int n = atom->ndihedraltypes; - memory->create(map,n+1,"dihedral:map"); - memory->create(setflag,n+1,"dihedral:setflag"); + memory->create(map, n + 1, "dihedral:map"); + memory->create(setflag, n + 1, "dihedral:setflag"); for (int i = 1; i <= n; i++) setflag[i] = 0; ndihedrallist = new int[nstyles]; maxdihedral = new int[nstyles]; - dihedrallist = new int**[nstyles]; + dihedrallist = new int **[nstyles]; for (int m = 0; m < nstyles; m++) maxdihedral[m] = 0; for (int m = 0; m < nstyles; m++) dihedrallist[m] = nullptr; } @@ -187,27 +179,26 @@ void DihedralHybrid::allocate() void DihedralHybrid::settings(int narg, char **arg) { - int i,m,istyle; + int i, m, istyle; - if (narg < 1) error->all(FLERR,"Illegal dihedral_style command"); + if (narg < 1) error->all(FLERR, "Illegal dihedral_style command"); // delete old lists, since cannot just change settings if (nstyles) { for (i = 0; i < nstyles; i++) delete styles[i]; - delete [] styles; - for (i = 0; i < nstyles; i++) delete [] keywords[i]; - delete [] keywords; + delete[] styles; + for (i = 0; i < nstyles; i++) delete[] keywords[i]; + delete[] keywords; } if (allocated) { memory->destroy(setflag); memory->destroy(map); - delete [] ndihedrallist; - delete [] maxdihedral; - for (i = 0; i < nstyles; i++) - memory->destroy(dihedrallist[i]); - delete [] dihedrallist; + delete[] ndihedrallist; + delete[] maxdihedral; + for (i = 0; i < nstyles; i++) memory->destroy(dihedrallist[i]); + delete[] dihedrallist; } allocated = 0; @@ -218,7 +209,7 @@ void DihedralHybrid::settings(int narg, char **arg) nstyles = 0; i = 0; while (i < narg) { - if (strcmp(arg[i],"table") == 0) i++; + if (strcmp(arg[i], "table") == 0) i++; i++; while (i < narg && !isalpha(arg[i][0])) i++; nstyles++; @@ -226,8 +217,8 @@ void DihedralHybrid::settings(int narg, char **arg) // allocate list of sub-styles - styles = new Dihedral*[nstyles]; - keywords = new char*[nstyles]; + styles = new Dihedral *[nstyles]; + keywords = new char *[nstyles]; // allocate each sub-style and call its settings() with subset of args // allocate uses suffix, but don't store suffix version in keywords, @@ -242,23 +233,21 @@ void DihedralHybrid::settings(int narg, char **arg) while (i < narg) { for (m = 0; m < nstyles; m++) - if (strcmp(arg[i],keywords[m]) == 0) - error->all(FLERR,"Dihedral style hybrid cannot use " - "same dihedral style twice"); - if (strcmp(arg[i],"hybrid") == 0) - error->all(FLERR, - "Dihedral style hybrid cannot have hybrid as an argument"); - if (strcmp(arg[i],"none") == 0) - error->all(FLERR,"Dihedral style hybrid cannot have none as an argument"); + if (strcmp(arg[i], keywords[m]) == 0) + error->all(FLERR, "Dihedral style hybrid cannot use same dihedral style twice"); + if (strcmp(arg[i], "hybrid") == 0) + error->all(FLERR, "Dihedral style hybrid cannot have hybrid as an argument"); + if (strcmp(arg[i], "none") == 0) + error->all(FLERR, "Dihedral style hybrid cannot have none as an argument"); - styles[nstyles] = force->new_dihedral(arg[i],1,dummy); - force->store_style(keywords[nstyles],arg[i],0); + styles[nstyles] = force->new_dihedral(arg[i], 1, dummy); + force->store_style(keywords[nstyles], arg[i], 0); istyle = i; - if (strcmp(arg[i],"table") == 0) i++; + if (strcmp(arg[i], "table") == 0) i++; i++; while (i < narg && !isalpha(arg[i][0])) i++; - styles[nstyles]->settings(i-istyle-1,&arg[istyle+1]); + styles[nstyles]->settings(i - istyle - 1, &arg[istyle + 1]); nstyles++; } } @@ -271,32 +260,35 @@ void DihedralHybrid::coeff(int narg, char **arg) { if (!allocated) allocate(); - int ilo,ihi; - utils::bounds(FLERR,arg[0],1,atom->ndihedraltypes,ilo,ihi,error); + int ilo, ihi; + utils::bounds(FLERR, arg[0], 1, atom->ndihedraltypes, ilo, ihi, error); // 2nd arg = dihedral sub-style name // allow for "none" or "skip" as valid sub-style name int m; for (m = 0; m < nstyles; m++) - if (strcmp(arg[1],keywords[m]) == 0) break; + if (strcmp(arg[1], keywords[m]) == 0) break; int none = 0; int skip = 0; if (m == nstyles) { - if (strcmp(arg[1],"none") == 0) none = 1; - else if (strcmp(arg[1],"skip") == 0) none = skip = 1; - else if (strcmp(arg[1],"mbt") == 0) - error->all(FLERR,"MiddleBondTorsion coeff for hybrid dihedral has invalid format"); - else if (strcmp(arg[1],"ebt") == 0) - error->all(FLERR,"EndBondTorsion coeff for hybrid dihedral has invalid format"); - else if (strcmp(arg[1],"at") == 0) - error->all(FLERR,"AngleTorsion coeff for hybrid dihedral has invalid format"); - else if (strcmp(arg[1],"aat") == 0) - error->all(FLERR,"AngleAngleTorsion coeff for hybrid dihedral has invalid format"); - else if (strcmp(arg[1],"bb13") == 0) - error->all(FLERR,"BondBond13 coeff for hybrid dihedral has invalid format"); - else error->all(FLERR,"Dihedral coeff for hybrid has invalid style"); + if (strcmp(arg[1], "none") == 0) + none = 1; + else if (strcmp(arg[1], "skip") == 0) + none = skip = 1; + else if (strcmp(arg[1], "mbt") == 0) + error->all(FLERR, "MiddleBondTorsion coeff for hybrid dihedral has invalid format"); + else if (strcmp(arg[1], "ebt") == 0) + error->all(FLERR, "EndBondTorsion coeff for hybrid dihedral has invalid format"); + else if (strcmp(arg[1], "at") == 0) + error->all(FLERR, "AngleTorsion coeff for hybrid dihedral has invalid format"); + else if (strcmp(arg[1], "aat") == 0) + error->all(FLERR, "AngleAngleTorsion coeff for hybrid dihedral has invalid format"); + else if (strcmp(arg[1], "bb13") == 0) + error->all(FLERR, "BondBond13 coeff for hybrid dihedral has invalid format"); + else + error->all(FLERR, "Dihedral coeff for hybrid has invalid style"); } // move 1st arg to 2nd arg @@ -306,14 +298,15 @@ void DihedralHybrid::coeff(int narg, char **arg) // invoke sub-style coeff() starting with 1st arg - if (!none) styles[m]->coeff(narg-1,&arg[1]); + if (!none) styles[m]->coeff(narg - 1, &arg[1]); // set setflag and which type maps to which sub-style // if sub-style is skip: auxiliary class2 setting in data file so ignore // if sub-style is none and not skip: set hybrid setflag, wipe out map for (int i = ilo; i <= ihi; i++) { - if (skip) continue; + if (skip) + continue; else if (none) { setflag[i] = 1; map[i] = -1; @@ -324,7 +317,9 @@ void DihedralHybrid::coeff(int narg, char **arg) } } -/* ---------------------------------------------------------------------- */ +/* ---------------------------------------------------------------------- + run dihedral style specific initialization +------------------------------------------------------------------------- */ void DihedralHybrid::init_style() { @@ -338,13 +333,13 @@ void DihedralHybrid::init_style() void DihedralHybrid::write_restart(FILE *fp) { - fwrite(&nstyles,sizeof(int),1,fp); + fwrite(&nstyles, sizeof(int), 1, fp); int n; for (int m = 0; m < nstyles; m++) { n = strlen(keywords[m]) + 1; - fwrite(&n,sizeof(int),1,fp); - fwrite(keywords[m],sizeof(char),n,fp); + fwrite(&n, sizeof(int), 1, fp); + fwrite(keywords[m], sizeof(char), n, fp); styles[m]->write_restart_settings(fp); } } @@ -356,21 +351,21 @@ void DihedralHybrid::write_restart(FILE *fp) void DihedralHybrid::read_restart(FILE *fp) { int me = comm->me; - if (me == 0) utils::sfread(FLERR,&nstyles,sizeof(int),1,fp,nullptr,error); - MPI_Bcast(&nstyles,1,MPI_INT,0,world); - styles = new Dihedral*[nstyles]; - keywords = new char*[nstyles]; + if (me == 0) utils::sfread(FLERR, &nstyles, sizeof(int), 1, fp, nullptr, error); + MPI_Bcast(&nstyles, 1, MPI_INT, 0, world); + styles = new Dihedral *[nstyles]; + keywords = new char *[nstyles]; allocate(); - int n,dummy; + int n, dummy; for (int m = 0; m < nstyles; m++) { - if (me == 0) utils::sfread(FLERR,&n,sizeof(int),1,fp,nullptr,error); - MPI_Bcast(&n,1,MPI_INT,0,world); + if (me == 0) utils::sfread(FLERR, &n, sizeof(int), 1, fp, nullptr, error); + MPI_Bcast(&n, 1, MPI_INT, 0, world); keywords[m] = new char[n]; - if (me == 0) utils::sfread(FLERR,keywords[m],sizeof(char),n,fp,nullptr,error); - MPI_Bcast(keywords[m],n,MPI_CHAR,0,world); - styles[m] = force->new_dihedral(keywords[m],0,dummy); + if (me == 0) utils::sfread(FLERR, keywords[m], sizeof(char), n, fp, nullptr, error); + MPI_Bcast(keywords[m], n, MPI_CHAR, 0, world); + styles[m] = force->new_dihedral(keywords[m], 0, dummy); styles[m]->read_restart_settings(fp); } } @@ -381,10 +376,10 @@ void DihedralHybrid::read_restart(FILE *fp) double DihedralHybrid::memory_usage() { - double bytes = (double)maxeatom * sizeof(double); - bytes += (double)maxvatom*6 * sizeof(double); - bytes += (double)maxcvatom*9 * sizeof(double); - for (int m = 0; m < nstyles; m++) bytes += (double)maxdihedral[m]*5 * sizeof(int); + double bytes = (double) maxeatom * sizeof(double); + bytes += (double) maxvatom * 6 * sizeof(double); + bytes += (double) maxcvatom * 9 * sizeof(double); + for (int m = 0; m < nstyles; m++) bytes += (double) maxdihedral[m] * 5 * sizeof(int); for (int m = 0; m < nstyles; m++) if (styles[m]) bytes += styles[m]->memory_usage(); return bytes; diff --git a/src/improper_hybrid.cpp b/src/improper_hybrid.cpp index ffee2e2fc8..d3a9403a6b 100644 --- a/src/improper_hybrid.cpp +++ b/src/improper_hybrid.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -14,15 +13,15 @@ #include "improper_hybrid.h" -#include -#include #include "atom.h" -#include "neighbor.h" #include "comm.h" +#include "error.h" #include "force.h" #include "memory.h" -#include "error.h" +#include "neighbor.h" +#include +#include using namespace LAMMPS_NS; @@ -45,19 +44,18 @@ ImproperHybrid::~ImproperHybrid() { if (nstyles) { for (int i = 0; i < nstyles; i++) delete styles[i]; - delete [] styles; - for (int i = 0; i < nstyles; i++) delete [] keywords[i]; - delete [] keywords; + delete[] styles; + for (int i = 0; i < nstyles; i++) delete[] keywords[i]; + delete[] keywords; } if (allocated) { memory->destroy(setflag); memory->destroy(map); - delete [] nimproperlist; - delete [] maximproper; - for (int i = 0; i < nstyles; i++) - memory->destroy(improperlist[i]); - delete [] improperlist; + delete[] nimproperlist; + delete[] maximproper; + for (int i = 0; i < nstyles; i++) memory->destroy(improperlist[i]); + delete[] improperlist; } } @@ -65,7 +63,7 @@ ImproperHybrid::~ImproperHybrid() void ImproperHybrid::compute(int eflag, int vflag) { - int i,j,m,n; + int i, j, m, n; // save ptrs to original improperlist @@ -87,8 +85,7 @@ void ImproperHybrid::compute(int eflag, int vflag) if (nimproperlist[m] > maximproper[m]) { memory->destroy(improperlist[m]); maximproper[m] = nimproperlist[m] + EXTRA; - memory->create(improperlist[m],maximproper[m],5, - "improper_hybrid:improperlist"); + memory->create(improperlist[m], maximproper[m], 5, "improper_hybrid:improperlist"); } nimproperlist[m] = 0; } @@ -109,7 +106,7 @@ void ImproperHybrid::compute(int eflag, int vflag) // set neighbor->improperlist to sub-style improperlist before call // accumulate sub-style global/peratom energy/virial in hybrid - ev_init(eflag,vflag); + ev_init(eflag, vflag); // need to clear per-thread storage here, when using multiple threads // with thread-enabled substyles to avoid uninitlialized data access. @@ -117,17 +114,15 @@ void ImproperHybrid::compute(int eflag, int vflag) const int nthreads = comm->nthreads; if (comm->nthreads > 1) { const bigint nall = atom->nlocal + atom->nghost; - if (eflag_atom) - memset(&eatom[0],0,nall*nthreads*sizeof(double)); - if (vflag_atom) - memset(&vatom[0][0],0,6*nall*nthreads*sizeof(double)); + if (eflag_atom) memset(&eatom[0], 0, nall * nthreads * sizeof(double)); + if (vflag_atom) memset(&vatom[0][0], 0, 6 * nall * nthreads * sizeof(double)); } for (m = 0; m < nstyles; m++) { neighbor->nimproperlist = nimproperlist[m]; neighbor->improperlist = improperlist[m]; - styles[m]->compute(eflag,vflag); + styles[m]->compute(eflag, vflag); if (eflag_global) energy += styles[m]->energy; if (vflag_global) @@ -143,16 +138,14 @@ void ImproperHybrid::compute(int eflag, int vflag) if (force->newton_bond) n += atom->nghost; double **vatom_substyle = styles[m]->vatom; for (i = 0; i < n; i++) - for (j = 0; j < 6; j++) - vatom[i][j] += vatom_substyle[i][j]; + for (j = 0; j < 6; j++) vatom[i][j] += vatom_substyle[i][j]; } if (cvflag_atom) { n = atom->nlocal; if (force->newton_bond) n += atom->nghost; double **cvatom_substyle = styles[m]->cvatom; for (i = 0; i < n; i++) - for (j = 0; j < 9; j++) - cvatom[i][j] += cvatom_substyle[i][j]; + for (j = 0; j < 9; j++) cvatom[i][j] += cvatom_substyle[i][j]; } } @@ -169,53 +162,43 @@ void ImproperHybrid::allocate() allocated = 1; int n = atom->nimpropertypes; - memory->create(map,n+1,"improper:map"); - memory->create(setflag,n+1,"improper:setflag"); + memory->create(map, n + 1, "improper:map"); + memory->create(setflag, n + 1, "improper:setflag"); for (int i = 1; i <= n; i++) setflag[i] = 0; nimproperlist = new int[nstyles]; maximproper = new int[nstyles]; - improperlist = new int**[nstyles]; + improperlist = new int **[nstyles]; for (int m = 0; m < nstyles; m++) maximproper[m] = 0; for (int m = 0; m < nstyles; m++) improperlist[m] = nullptr; } -/* ---------------------------------------------------------------------- */ - -void ImproperHybrid::init_style() -{ - for (int i = 0; i < nstyles; i++) - styles[i]->init_style(); -} - - /* ---------------------------------------------------------------------- create one improper style for each arg in list ------------------------------------------------------------------------- */ void ImproperHybrid::settings(int narg, char **arg) { - int i,m,istyle; + int i, m, istyle; - if (narg < 1) error->all(FLERR,"Illegal improper_style command"); + if (narg < 1) error->all(FLERR, "Illegal improper_style command"); // delete old lists, since cannot just change settings if (nstyles) { for (i = 0; i < nstyles; i++) delete styles[i]; - delete [] styles; - for (i = 0; i < nstyles; i++) delete [] keywords[i]; - delete [] keywords; + delete[] styles; + for (i = 0; i < nstyles; i++) delete[] keywords[i]; + delete[] keywords; } if (allocated) { memory->destroy(setflag); memory->destroy(map); - delete [] nimproperlist; - delete [] maximproper; - for (i = 0; i < nstyles; i++) - memory->destroy(improperlist[i]); - delete [] improperlist; + delete[] nimproperlist; + delete[] maximproper; + for (i = 0; i < nstyles; i++) memory->destroy(improperlist[i]); + delete[] improperlist; } allocated = 0; @@ -226,7 +209,7 @@ void ImproperHybrid::settings(int narg, char **arg) nstyles = 0; i = 0; while (i < narg) { - if (strcmp(arg[i],"table") == 0) i++; + if (strcmp(arg[i], "table") == 0) i++; i++; while (i < narg && !isalpha(arg[i][0])) i++; nstyles++; @@ -234,8 +217,8 @@ void ImproperHybrid::settings(int narg, char **arg) // allocate list of sub-styles - styles = new Improper*[nstyles]; - keywords = new char*[nstyles]; + styles = new Improper *[nstyles]; + keywords = new char *[nstyles]; // allocate each sub-style and call its settings() with subset of args // allocate uses suffix, but don't store suffix version in keywords, @@ -250,23 +233,21 @@ void ImproperHybrid::settings(int narg, char **arg) while (i < narg) { for (m = 0; m < nstyles; m++) - if (strcmp(arg[i],keywords[m]) == 0) - error->all(FLERR,"Improper style hybrid cannot use " - "same improper style twice"); - if (strcmp(arg[i],"hybrid") == 0) - error->all(FLERR, - "Improper style hybrid cannot have hybrid as an argument"); - if (strcmp(arg[i],"none") == 0) - error->all(FLERR,"Improper style hybrid cannot have none as an argument"); + if (strcmp(arg[i], keywords[m]) == 0) + error->all(FLERR, "Improper style hybrid cannot use same improper style twice"); + if (strcmp(arg[i], "hybrid") == 0) + error->all(FLERR, "Improper style hybrid cannot have hybrid as an argument"); + if (strcmp(arg[i], "none") == 0) + error->all(FLERR, "Improper style hybrid cannot have none as an argument"); - styles[nstyles] = force->new_improper(arg[i],1,dummy); - force->store_style(keywords[nstyles],arg[i],0); + styles[nstyles] = force->new_improper(arg[i], 1, dummy); + force->store_style(keywords[nstyles], arg[i], 0); istyle = i; - if (strcmp(arg[i],"table") == 0) i++; + if (strcmp(arg[i], "table") == 0) i++; i++; while (i < narg && !isalpha(arg[i][0])) i++; - styles[nstyles]->settings(i-istyle-1,&arg[istyle+1]); + styles[nstyles]->settings(i - istyle - 1, &arg[istyle + 1]); nstyles++; } } @@ -279,24 +260,27 @@ void ImproperHybrid::coeff(int narg, char **arg) { if (!allocated) allocate(); - int ilo,ihi; - utils::bounds(FLERR,arg[0],1,atom->nimpropertypes,ilo,ihi,error); + int ilo, ihi; + utils::bounds(FLERR, arg[0], 1, atom->nimpropertypes, ilo, ihi, error); // 2nd arg = improper sub-style name // allow for "none" or "skip" as valid sub-style name int m; for (m = 0; m < nstyles; m++) - if (strcmp(arg[1],keywords[m]) == 0) break; + if (strcmp(arg[1], keywords[m]) == 0) break; int none = 0; int skip = 0; if (m == nstyles) { - if (strcmp(arg[1],"none") == 0) none = 1; - else if (strcmp(arg[1],"skip") == 0) none = skip = 1; - else if (strcmp(arg[1],"aa") == 0) - error->all(FLERR,"AngleAngle coeff for hybrid improper has invalid format"); - else error->all(FLERR,"Improper coeff for hybrid has invalid style"); + if (strcmp(arg[1], "none") == 0) + none = 1; + else if (strcmp(arg[1], "skip") == 0) + none = skip = 1; + else if (strcmp(arg[1], "aa") == 0) + error->all(FLERR, "AngleAngle coeff for hybrid improper has invalid format"); + else + error->all(FLERR, "Improper coeff for hybrid has invalid style"); } // move 1st arg to 2nd arg @@ -306,13 +290,16 @@ void ImproperHybrid::coeff(int narg, char **arg) // invoke sub-style coeff() starting with 1st arg - if (!none) styles[m]->coeff(narg-1,&arg[1]); + if (!none) styles[m]->coeff(narg - 1, &arg[1]); // set setflag and which type maps to which sub-style - // if sub-style is none: set hybrid setflag, wipe out map + // if sub-style is skip: auxiliary class2 setting in data file so ignore + // if sub-style is none and not skip: set hybrid setflag, wipe out map for (int i = ilo; i <= ihi; i++) { - if (none) { + if (skip) + continue; + else if (none) { setflag[i] = 1; map[i] = -1; } else { @@ -322,19 +309,29 @@ void ImproperHybrid::coeff(int narg, char **arg) } } +/* ---------------------------------------------------------------------- + run improper style specific initialization +------------------------------------------------------------------------- */ + +void ImproperHybrid::init_style() +{ + for (int m = 0; m < nstyles; m++) + if (styles[m]) styles[m]->init_style(); +} + /* ---------------------------------------------------------------------- proc 0 writes to restart file ------------------------------------------------------------------------- */ void ImproperHybrid::write_restart(FILE *fp) { - fwrite(&nstyles,sizeof(int),1,fp); + fwrite(&nstyles, sizeof(int), 1, fp); int n; for (int m = 0; m < nstyles; m++) { n = strlen(keywords[m]) + 1; - fwrite(&n,sizeof(int),1,fp); - fwrite(keywords[m],sizeof(char),n,fp); + fwrite(&n, sizeof(int), 1, fp); + fwrite(keywords[m], sizeof(char), n, fp); styles[m]->write_restart_settings(fp); } } @@ -346,21 +343,21 @@ void ImproperHybrid::write_restart(FILE *fp) void ImproperHybrid::read_restart(FILE *fp) { int me = comm->me; - if (me == 0) utils::sfread(FLERR,&nstyles,sizeof(int),1,fp,nullptr,error); - MPI_Bcast(&nstyles,1,MPI_INT,0,world); - styles = new Improper*[nstyles]; - keywords = new char*[nstyles]; + if (me == 0) utils::sfread(FLERR, &nstyles, sizeof(int), 1, fp, nullptr, error); + MPI_Bcast(&nstyles, 1, MPI_INT, 0, world); + styles = new Improper *[nstyles]; + keywords = new char *[nstyles]; allocate(); - int n,dummy; + int n, dummy; for (int m = 0; m < nstyles; m++) { - if (me == 0) utils::sfread(FLERR,&n,sizeof(int),1,fp,nullptr,error); - MPI_Bcast(&n,1,MPI_INT,0,world); + if (me == 0) utils::sfread(FLERR, &n, sizeof(int), 1, fp, nullptr, error); + MPI_Bcast(&n, 1, MPI_INT, 0, world); keywords[m] = new char[n]; - if (me == 0) utils::sfread(FLERR,keywords[m],sizeof(char),n,fp,nullptr,error); - MPI_Bcast(keywords[m],n,MPI_CHAR,0,world); - styles[m] = force->new_improper(keywords[m],0,dummy); + if (me == 0) utils::sfread(FLERR, keywords[m], sizeof(char), n, fp, nullptr, error); + MPI_Bcast(keywords[m], n, MPI_CHAR, 0, world); + styles[m] = force->new_improper(keywords[m], 0, dummy); styles[m]->read_restart_settings(fp); } } @@ -371,10 +368,10 @@ void ImproperHybrid::read_restart(FILE *fp) double ImproperHybrid::memory_usage() { - double bytes = (double)maxeatom * sizeof(double); - bytes += (double)maxvatom*6 * sizeof(double); - bytes += (double)maxcvatom*9 * sizeof(double); - for (int m = 0; m < nstyles; m++) bytes += (double)maximproper[m]*5 * sizeof(int); + double bytes = (double) maxeatom * sizeof(double); + bytes += (double) maxvatom * 6 * sizeof(double); + bytes += (double) maxcvatom * 9 * sizeof(double); + for (int m = 0; m < nstyles; m++) bytes += (double) maximproper[m] * 5 * sizeof(int); for (int m = 0; m < nstyles; m++) if (styles[m]) bytes += styles[m]->memory_usage(); return bytes; From a3bfcc68ef4438b3ef1f693167a30f0dfd0672b8 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 2 Aug 2021 15:45:15 -0400 Subject: [PATCH 603/726] add libgomp suppression for newer GCC --- tools/valgrind/OpenMP.supp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/tools/valgrind/OpenMP.supp b/tools/valgrind/OpenMP.supp index 64ee61febd..0820100b94 100644 --- a/tools/valgrind/OpenMP.supp +++ b/tools/valgrind/OpenMP.supp @@ -112,3 +112,14 @@ ... obj:* } +{ + OpnMP_init_part10 + Memcheck:Leak + match-leak-kinds: reachable + fun:malloc + ... + fun:call_init + fun:_dl_init + ... + obj:* +} From 53050a04296cdcded9bd0bd5c8bbdb479b8ae91a Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 2 Aug 2021 15:45:32 -0400 Subject: [PATCH 604/726] add suppressions for FlexiBLAS on Fedora --- tools/valgrind/FlexiBLAS.supp | 61 +++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 tools/valgrind/FlexiBLAS.supp diff --git a/tools/valgrind/FlexiBLAS.supp b/tools/valgrind/FlexiBLAS.supp new file mode 100644 index 0000000000..d5dda4e54f --- /dev/null +++ b/tools/valgrind/FlexiBLAS.supp @@ -0,0 +1,61 @@ +{ + FL_BLAS_init_part1 + Memcheck:Leak + match-leak-kinds: reachable + fun:malloc + ... + fun:flexiblas_init + ... + fun:call_init + fun:_dl_init + ... + obj:* +} +{ + FL_BLAS_init_part2 + Memcheck:Leak + match-leak-kinds: reachable + fun:calloc + ... + fun:dl_open_worker + ... + fun:dlopen_doit + ... + fun:flexiblas_init +} +{ + FL_BLAS_init_part3 + Memcheck:Leak + match-leak-kinds: reachable + fun:calloc + ... + fun:flexiblas_init + ... + fun:call_init + ... + obj:* +} +{ + FL_BLAS_exception1 + Memcheck:Leak + match-leak-kinds: reachable + fun:malloc + ... + fun:dl_open_worker + ... + fun:dlopen_doit + ... + obj:* +} +{ + FL_BLAS_exception2 + Memcheck:Leak + match-leak-kinds: reachable + fun:calloc + ... + fun:dl_open_worker + ... + fun:dlopen_doit + ... + obj:* +} From b7be9415defecf1790f9bc5de055e6d4f843d4b2 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 2 Aug 2021 15:49:26 -0400 Subject: [PATCH 605/726] fix segfault with pair style sw/intel --- src/INTEL/pair_sw_intel.cpp | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/src/INTEL/pair_sw_intel.cpp b/src/INTEL/pair_sw_intel.cpp index f494965ff8..0a7e3baca0 100644 --- a/src/INTEL/pair_sw_intel.cpp +++ b/src/INTEL/pair_sw_intel.cpp @@ -1277,6 +1277,7 @@ template void PairSWIntel::ForceConst::set_ntypes(const int ntypes, Memory *memory, const int cop) { + if (memory != nullptr) _memory = memory; if (ntypes != _ntypes) { if (_ntypes > 0) { fc_packed0 *op2 = p2[0]; @@ -1293,19 +1294,19 @@ void PairSWIntel::ForceConst::set_ntypes(const int ntypes, } #endif - memory->destroy(p2); - memory->destroy(p2f); - memory->destroy(p2f2); - memory->destroy(p2e); - memory->destroy(p3); + _memory->destroy(p2); + _memory->destroy(p2f); + _memory->destroy(p2f2); + _memory->destroy(p2e); + _memory->destroy(p3); } if (ntypes > 0) { _cop = cop; - memory->create(p2,ntypes,ntypes,"fc.p2"); - memory->create(p2f,ntypes,ntypes,"fc.p2f"); - memory->create(p2f2,ntypes,ntypes,"fc.p2f2"); - memory->create(p2e,ntypes,ntypes,"fc.p2e"); - memory->create(p3,ntypes,ntypes,ntypes,"fc.p3"); + _memory->create(p2,ntypes,ntypes,"fc.p2"); + _memory->create(p2f,ntypes,ntypes,"fc.p2f"); + _memory->create(p2f2,ntypes,ntypes,"fc.p2f2"); + _memory->create(p2e,ntypes,ntypes,"fc.p2e"); + _memory->create(p3,ntypes,ntypes,ntypes,"fc.p3"); #ifdef _LMP_INTEL_OFFLOAD fc_packed0 *op2 = p2[0]; @@ -1325,5 +1326,4 @@ void PairSWIntel::ForceConst::set_ntypes(const int ntypes, } } _ntypes = ntypes; - _memory = memory; } From 37ca6a8e0bd8f0fdca1b9bcf83ac446f3f0c40f7 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 2 Aug 2021 15:50:44 -0400 Subject: [PATCH 606/726] make handling of reference to Memory class in ForceConst class more robust --- src/INTEL/pair_buck_coul_cut_intel.cpp | 11 +++++----- src/INTEL/pair_buck_coul_long_intel.cpp | 20 +++++++++---------- src/INTEL/pair_buck_intel.cpp | 7 +++---- src/INTEL/pair_dpd_intel.cpp | 8 ++++---- src/INTEL/pair_eam_intel.cpp | 16 +++++++-------- src/INTEL/pair_gayberne_intel.cpp | 20 +++++++++---------- .../pair_lj_charmm_coul_charmm_intel.cpp | 6 +++--- src/INTEL/pair_lj_charmm_coul_long_intel.cpp | 18 ++++++++--------- src/INTEL/pair_lj_cut_coul_long_intel.cpp | 18 ++++++++--------- src/INTEL/pair_lj_cut_intel.cpp | 6 +++--- src/INTEL/pair_tersoff_intel.cpp | 16 +++++++-------- 11 files changed, 72 insertions(+), 74 deletions(-) diff --git a/src/INTEL/pair_buck_coul_cut_intel.cpp b/src/INTEL/pair_buck_coul_cut_intel.cpp index 9181b15aae..2633fd4ab2 100644 --- a/src/INTEL/pair_buck_coul_cut_intel.cpp +++ b/src/INTEL/pair_buck_coul_cut_intel.cpp @@ -504,7 +504,8 @@ void PairBuckCoulCutIntel::ForceConst::set_ntypes(const int ntypes, const int ntable, Memory *memory, const int cop) { - if ((ntypes != _ntypes || ntable != _ntable)) { + if (memory != nullptr) _memory = memory; + if ((ntypes != _ntypes) || (ntable != _ntable)) { if (_ntypes > 0) { #ifdef _LMP_INTEL_OFFLOAD flt_t * ospecial_lj = special_lj; @@ -526,13 +527,12 @@ void PairBuckCoulCutIntel::ForceConst::set_ntypes(const int ntypes, _memory->destroy(c_force); _memory->destroy(c_energy); _memory->destroy(c_cut); - } if (ntypes > 0) { _cop = cop; - memory->create(c_force,ntypes,ntypes,"fc.c_force"); - memory->create(c_energy,ntypes,ntypes,"fc.c_energy"); - memory->create(c_cut,ntypes,ntypes,"fc.c_cut"); + _memory->create(c_force,ntypes,ntypes,"fc.c_force"); + _memory->create(c_energy,ntypes,ntypes,"fc.c_energy"); + _memory->create(c_cut,ntypes,ntypes,"fc.c_cut"); #ifdef _LMP_INTEL_OFFLOAD @@ -558,5 +558,4 @@ void PairBuckCoulCutIntel::ForceConst::set_ntypes(const int ntypes, } _ntypes=ntypes; _ntable=ntable; - _memory=memory; } diff --git a/src/INTEL/pair_buck_coul_long_intel.cpp b/src/INTEL/pair_buck_coul_long_intel.cpp index fdf78ff5d9..d9d618e4a8 100644 --- a/src/INTEL/pair_buck_coul_long_intel.cpp +++ b/src/INTEL/pair_buck_coul_long_intel.cpp @@ -615,7 +615,8 @@ void PairBuckCoulLongIntel::ForceConst::set_ntypes(const int ntypes, const int ntable, Memory *memory, const int cop) { - if ((ntypes != _ntypes || ntable != _ntable)) { + if (memory != nullptr) _memory = memory; + if ((ntypes != _ntypes) || (ntable != _ntable)) { if (_ntypes > 0) { #ifdef _LMP_INTEL_OFFLOAD flt_t * ospecial_lj = special_lj; @@ -652,14 +653,14 @@ void PairBuckCoulLongIntel::ForceConst::set_ntypes(const int ntypes, } if (ntypes > 0) { _cop = cop; - memory->create(c_force,ntypes,ntypes,"fc.c_force"); - memory->create(c_energy,ntypes,ntypes,"fc.c_energy"); - memory->create(rho_inv,ntypes,ntypes,"fc.rho_inv"); - memory->create(table,ntable,"pair:fc.table"); - memory->create(etable,ntable,"pair:fc.etable"); - memory->create(detable,ntable,"pair:fc.detable"); - memory->create(ctable,ntable,"pair:fc.ctable"); - memory->create(dctable,ntable,"pair:fc.dctable"); + _memory->create(c_force,ntypes,ntypes,"fc.c_force"); + _memory->create(c_energy,ntypes,ntypes,"fc.c_energy"); + _memory->create(rho_inv,ntypes,ntypes,"fc.rho_inv"); + _memory->create(table,ntable,"pair:fc.table"); + _memory->create(etable,ntable,"pair:fc.etable"); + _memory->create(detable,ntable,"pair:fc.detable"); + _memory->create(ctable,ntable,"pair:fc.ctable"); + _memory->create(dctable,ntable,"pair:fc.dctable"); #ifdef _LMP_INTEL_OFFLOAD flt_t * ospecial_lj = special_lj; @@ -692,7 +693,6 @@ void PairBuckCoulLongIntel::ForceConst::set_ntypes(const int ntypes, } _ntypes=ntypes; _ntable=ntable; - _memory=memory; } diff --git a/src/INTEL/pair_buck_intel.cpp b/src/INTEL/pair_buck_intel.cpp index f15669e1d3..9bad314fcf 100644 --- a/src/INTEL/pair_buck_intel.cpp +++ b/src/INTEL/pair_buck_intel.cpp @@ -455,6 +455,7 @@ template void PairBuckIntel::ForceConst::set_ntypes(const int ntypes, Memory *memory, const int cop) { + if (memory != nullptr) _memory = memory; if ((ntypes != _ntypes )) { if (_ntypes > 0) { #ifdef _LMP_INTEL_OFFLOAD @@ -477,9 +478,8 @@ void PairBuckIntel::ForceConst::set_ntypes(const int ntypes, } if (ntypes > 0) { _cop = cop; - memory->create(c_force,ntypes,ntypes,"fc.c_force"); - memory->create(c_energy,ntypes,ntypes,"fc.c_energy"); - + _memory->create(c_force,ntypes,ntypes,"fc.c_force"); + _memory->create(c_energy,ntypes,ntypes,"fc.c_energy"); #ifdef _LMP_INTEL_OFFLOAD flt_t * ospecial_lj = special_lj; @@ -499,7 +499,6 @@ void PairBuckIntel::ForceConst::set_ntypes(const int ntypes, } } _ntypes=ntypes; - _memory=memory; } diff --git a/src/INTEL/pair_dpd_intel.cpp b/src/INTEL/pair_dpd_intel.cpp index b69473fbbf..e6ffd1ca44 100644 --- a/src/INTEL/pair_dpd_intel.cpp +++ b/src/INTEL/pair_dpd_intel.cpp @@ -558,6 +558,7 @@ void PairDPDIntel::ForceConst::set_ntypes(const int ntypes, const int max_nbors, Memory *memory, const int cop) { + if (memory != nullptr) _memory = memory; if (ntypes != _ntypes) { if (_ntypes > 0) { _memory->destroy(param); @@ -566,15 +567,14 @@ void PairDPDIntel::ForceConst::set_ntypes(const int ntypes, } if (ntypes > 0) { _cop = cop; - memory->create(param,ntypes,ntypes,"fc.param"); - memory->create(rand_buffer_thread, nthreads, max_nbors, + _memory->create(param,ntypes,ntypes,"fc.param"); + _memory->create(rand_buffer_thread, nthreads, max_nbors, "fc.rand_buffer_thread"); - memory->create(rngi,nthreads,"fc.param"); + _memory->create(rngi,nthreads,"fc.param"); for (int i = 0; i < nthreads; i++) rngi[i] = max_nbors; } } _ntypes = ntypes; - _memory = memory; } /* ---------------------------------------------------------------------- diff --git a/src/INTEL/pair_eam_intel.cpp b/src/INTEL/pair_eam_intel.cpp index 911a623d6d..8a42e6bbaa 100644 --- a/src/INTEL/pair_eam_intel.cpp +++ b/src/INTEL/pair_eam_intel.cpp @@ -781,7 +781,8 @@ void PairEAMIntel::ForceConst::set_ntypes(const int ntypes, const int nr, const int nrho, Memory *memory, const int cop) { - if (ntypes != _ntypes || nr + 1 > _nr || nrho + 1 > _nrho) { + if (memory != nullptr) _memory = memory; + if ((ntypes != _ntypes) || (nr + 1 > _nr) || (nrho + 1 > _nrho)) { if (_ntypes > 0) { _memory->destroy(rhor_spline_f); _memory->destroy(rhor_spline_e); @@ -794,18 +795,17 @@ void PairEAMIntel::ForceConst::set_ntypes(const int ntypes, _cop = cop; _nr = nr + 1; IP_PRE_edge_align(_nr, sizeof(flt_t)); - memory->create(rhor_spline_f,ntypes*ntypes*_nr,"fc.rhor_spline_f"); - memory->create(rhor_spline_e,ntypes*ntypes*_nr,"fc.rhor_spline_e"); - memory->create(z2r_spline_t,ntypes*ntypes*_nr,"fc.z2r_spline_t"); + _memory->create(rhor_spline_f,ntypes*ntypes*_nr,"fc.rhor_spline_f"); + _memory->create(rhor_spline_e,ntypes*ntypes*_nr,"fc.rhor_spline_e"); + _memory->create(z2r_spline_t,ntypes*ntypes*_nr,"fc.z2r_spline_t"); _nrho = nrho + 1; IP_PRE_edge_align(_nrho, sizeof(flt_t)); - memory->create(frho_spline_f,ntypes*_nrho,"fc.frho_spline_f"); - memory->create(frho_spline_e,ntypes*_nrho,"fc.frho_spline_e"); - memory->create(scale_f,ntypes,ntypes,"fc.scale_f"); + _memory->create(frho_spline_f,ntypes*_nrho,"fc.frho_spline_f"); + _memory->create(frho_spline_e,ntypes*_nrho,"fc.frho_spline_e"); + _memory->create(scale_f,ntypes,ntypes,"fc.scale_f"); } } _ntypes = ntypes; - _memory = memory; } /* ---------------------------------------------------------------------- */ diff --git a/src/INTEL/pair_gayberne_intel.cpp b/src/INTEL/pair_gayberne_intel.cpp index 285dd9661b..139792e543 100644 --- a/src/INTEL/pair_gayberne_intel.cpp +++ b/src/INTEL/pair_gayberne_intel.cpp @@ -990,6 +990,7 @@ void PairGayBerneIntel::ForceConst::set_ntypes(const int ntypes, const int nthreads, Memory *memory, const int cop) { + if (memory != nullptr) _memory = memory; if (ntypes != _ntypes) { if (_ntypes > 0) { fc_packed3 *oic = ic; @@ -1029,15 +1030,15 @@ void PairGayBerneIntel::ForceConst::set_ntypes(const int ntypes, if (ntypes > 0) { _cop = cop; - memory->create(ijc, ntypes, ntypes, "fc.ijc"); - memory->create(lj34, ntypes, ntypes, "fc.lj34"); - memory->create(ic, ntypes, "fc.ic"); - memory->create(rsq_form, nthreads, one_length, "rsq_form"); - memory->create(delx_form, nthreads, one_length, "delx_form"); - memory->create(dely_form, nthreads, one_length, "dely_form"); - memory->create(delz_form, nthreads, one_length, "delz_form"); - memory->create(jtype_form, nthreads, one_length, "jtype_form"); - memory->create(jlist_form, nthreads, one_length, "jlist_form"); + _memory->create(ijc, ntypes, ntypes, "fc.ijc"); + _memory->create(lj34, ntypes, ntypes, "fc.lj34"); + _memory->create(ic, ntypes, "fc.ic"); + _memory->create(rsq_form, nthreads, one_length, "rsq_form"); + _memory->create(delx_form, nthreads, one_length, "delx_form"); + _memory->create(dely_form, nthreads, one_length, "dely_form"); + _memory->create(delz_form, nthreads, one_length, "delz_form"); + _memory->create(jtype_form, nthreads, one_length, "jtype_form"); + _memory->create(jlist_form, nthreads, one_length, "jlist_form"); for (int zn = 0; zn < nthreads; zn++) for (int zo = 0; zo < one_length; zo++) { @@ -1082,5 +1083,4 @@ void PairGayBerneIntel::ForceConst::set_ntypes(const int ntypes, } } _ntypes = ntypes; - _memory = memory; } diff --git a/src/INTEL/pair_lj_charmm_coul_charmm_intel.cpp b/src/INTEL/pair_lj_charmm_coul_charmm_intel.cpp index 3a7ab5276e..23e357516f 100644 --- a/src/INTEL/pair_lj_charmm_coul_charmm_intel.cpp +++ b/src/INTEL/pair_lj_charmm_coul_charmm_intel.cpp @@ -559,6 +559,7 @@ void PairLJCharmmCoulCharmmIntel::pack_force_const(ForceConst &fc, template void PairLJCharmmCoulCharmmIntel::ForceConst::set_ntypes( const int ntypes, Memory *memory, const int cop) { + if (memory != nullptr) _memory = memory; if (ntypes != _ntypes) { if (_ntypes > 0) { #ifdef _LMP_INTEL_OFFLOAD @@ -579,8 +580,8 @@ void PairLJCharmmCoulCharmmIntel::ForceConst::set_ntypes( } if (ntypes > 0) { _cop = cop; - memory->create(cutsq,ntypes,ntypes,"fc.cutsq"); - memory->create(lj,ntypes,ntypes,"fc.lj"); + _memory->create(cutsq,ntypes,ntypes,"fc.cutsq"); + _memory->create(lj,ntypes,ntypes,"fc.lj"); #ifdef _LMP_INTEL_OFFLOAD flt_t * ospecial_lj = special_lj; @@ -599,5 +600,4 @@ void PairLJCharmmCoulCharmmIntel::ForceConst::set_ntypes( } } _ntypes=ntypes; - _memory=memory; } diff --git a/src/INTEL/pair_lj_charmm_coul_long_intel.cpp b/src/INTEL/pair_lj_charmm_coul_long_intel.cpp index 8a4595dd99..696f5948ac 100644 --- a/src/INTEL/pair_lj_charmm_coul_long_intel.cpp +++ b/src/INTEL/pair_lj_charmm_coul_long_intel.cpp @@ -654,7 +654,8 @@ void PairLJCharmmCoulLongIntel::ForceConst::set_ntypes(const int ntypes, const int ntable, Memory *memory, const int cop) { - if ((ntypes != _ntypes || ntable != _ntable)) { + if (memory != nullptr) _memory = memory; + if ((ntypes != _ntypes) || (ntable != _ntable)) { if (_ntypes > 0) { #ifdef _LMP_INTEL_OFFLOAD flt_t * ospecial_lj = special_lj; @@ -688,13 +689,13 @@ void PairLJCharmmCoulLongIntel::ForceConst::set_ntypes(const int ntypes, } if (ntypes > 0) { _cop = cop; - memory->create(cutsq,ntypes,ntypes,"fc.cutsq"); - memory->create(lj,ntypes,ntypes,"fc.lj"); - memory->create(table,ntable,"pair:fc.table"); - memory->create(etable,ntable,"pair:fc.etable"); - memory->create(detable,ntable,"pair:fc.detable"); - memory->create(ctable,ntable,"pair:fc.ctable"); - memory->create(dctable,ntable,"pair:fc.dctable"); + _memory->create(cutsq,ntypes,ntypes,"fc.cutsq"); + _memory->create(lj,ntypes,ntypes,"fc.lj"); + _memory->create(table,ntable,"pair:fc.table"); + _memory->create(etable,ntable,"pair:fc.etable"); + _memory->create(detable,ntable,"pair:fc.detable"); + _memory->create(ctable,ntable,"pair:fc.ctable"); + _memory->create(dctable,ntable,"pair:fc.dctable"); #ifdef _LMP_INTEL_OFFLOAD flt_t * ospecial_lj = special_lj; @@ -724,5 +725,4 @@ void PairLJCharmmCoulLongIntel::ForceConst::set_ntypes(const int ntypes, } _ntypes=ntypes; _ntable=ntable; - _memory=memory; } diff --git a/src/INTEL/pair_lj_cut_coul_long_intel.cpp b/src/INTEL/pair_lj_cut_coul_long_intel.cpp index a53d74f72a..f78f579a9a 100644 --- a/src/INTEL/pair_lj_cut_coul_long_intel.cpp +++ b/src/INTEL/pair_lj_cut_coul_long_intel.cpp @@ -610,7 +610,8 @@ void PairLJCutCoulLongIntel::ForceConst::set_ntypes(const int ntypes, const int ntable, Memory *memory, const int cop) { - if ((ntypes != _ntypes || ntable != _ntable)) { + if (memory != nullptr) _memory = memory; + if ((ntypes != _ntypes) || (ntable != _ntable)) { if (_ntypes > 0) { #ifdef _LMP_INTEL_OFFLOAD flt_t * ospecial_lj = special_lj; @@ -644,13 +645,13 @@ void PairLJCutCoulLongIntel::ForceConst::set_ntypes(const int ntypes, } if (ntypes > 0) { _cop = cop; - memory->create(c_force,ntypes,ntypes,"fc.c_force"); - memory->create(c_energy,ntypes,ntypes,"fc.c_energy"); - memory->create(table,ntable,"pair:fc.table"); - memory->create(etable,ntable,"pair:fc.etable"); - memory->create(detable,ntable,"pair:fc.detable"); - memory->create(ctable,ntable,"pair:fc.ctable"); - memory->create(dctable,ntable,"pair:fc.dctable"); + _memory->create(c_force,ntypes,ntypes,"fc.c_force"); + _memory->create(c_energy,ntypes,ntypes,"fc.c_energy"); + _memory->create(table,ntable,"pair:fc.table"); + _memory->create(etable,ntable,"pair:fc.etable"); + _memory->create(detable,ntable,"pair:fc.detable"); + _memory->create(ctable,ntable,"pair:fc.ctable"); + _memory->create(dctable,ntable,"pair:fc.dctable"); #ifdef _LMP_INTEL_OFFLOAD flt_t * ospecial_lj = special_lj; @@ -681,5 +682,4 @@ void PairLJCutCoulLongIntel::ForceConst::set_ntypes(const int ntypes, } _ntypes=ntypes; _ntable=ntable; - _memory=memory; } diff --git a/src/INTEL/pair_lj_cut_intel.cpp b/src/INTEL/pair_lj_cut_intel.cpp index 133b6079a1..afd01e9919 100644 --- a/src/INTEL/pair_lj_cut_intel.cpp +++ b/src/INTEL/pair_lj_cut_intel.cpp @@ -471,6 +471,7 @@ template void PairLJCutIntel::ForceConst::set_ntypes(const int ntypes, Memory *memory, const int cop) { + if (memory != nullptr) _memory = memory; if (ntypes != _ntypes) { if (_ntypes > 0) { _memory->destroy(ljc12o); @@ -478,10 +479,9 @@ void PairLJCutIntel::ForceConst::set_ntypes(const int ntypes, } if (ntypes > 0) { _cop = cop; - memory->create(ljc12o,ntypes,ntypes,"fc.c12o"); - memory->create(lj34,ntypes,ntypes,"fc.lj34"); + _memory->create(ljc12o,ntypes,ntypes,"fc.c12o"); + _memory->create(lj34,ntypes,ntypes,"fc.lj34"); } } _ntypes = ntypes; - _memory = memory; } diff --git a/src/INTEL/pair_tersoff_intel.cpp b/src/INTEL/pair_tersoff_intel.cpp index 732d100927..3c963cb850 100644 --- a/src/INTEL/pair_tersoff_intel.cpp +++ b/src/INTEL/pair_tersoff_intel.cpp @@ -550,6 +550,7 @@ template void PairTersoffIntel::ForceConst::set_ntypes(const int ntypes, Memory *memory, const int cop) { + if (memory != nullptr) _memory = memory; if ((ntypes != _ntypes)) { if (_ntypes > 0) { #ifdef _LMP_INTEL_OFFLOAD @@ -581,13 +582,13 @@ void PairTersoffIntel::ForceConst::set_ntypes(const int ntypes, _cop = cop; size_t VL = 512 / 8 / sizeof(flt_t); int ntypes_pad = ntypes + VL - ntypes % VL; - memory->create(c_first_loop,ntypes,ntypes,"fc.c_first_loop"); - memory->create(c_second_loop,ntypes,ntypes,"fc.c_second_loop"); - memory->create(c_cutoff_outer,ntypes,ntypes,"fc.c_cutoff_outer"); - memory->create(c_inner_loop,ntypes,ntypes,ntypes,"fc.c_inner_loop"); - memory->create(c_cutoff_inner,ntypes,ntypes,ntypes_pad,"fc.c_cutoff_inner"); - memory->create(c_inner,ntypes,ntypes,ntypes,"fc.c_inner"); - memory->create(c_outer,ntypes,ntypes,"fc.c_outer"); + _memory->create(c_first_loop,ntypes,ntypes,"fc.c_first_loop"); + _memory->create(c_second_loop,ntypes,ntypes,"fc.c_second_loop"); + _memory->create(c_cutoff_outer,ntypes,ntypes,"fc.c_cutoff_outer"); + _memory->create(c_inner_loop,ntypes,ntypes,ntypes,"fc.c_inner_loop"); + _memory->create(c_cutoff_inner,ntypes,ntypes,ntypes_pad,"fc.c_cutoff_inner"); + _memory->create(c_inner,ntypes,ntypes,ntypes,"fc.c_inner"); + _memory->create(c_outer,ntypes,ntypes,"fc.c_outer"); #ifdef _LMP_INTEL_OFFLOAD c_first_loop_t * oc_first_loop = c_first_loop[0]; c_second_loop_t * oc_second_loop = c_second_loop[0]; @@ -614,7 +615,6 @@ void PairTersoffIntel::ForceConst::set_ntypes(const int ntypes, } } _ntypes=ntypes; - _memory=memory; } #ifdef _LMP_INTEL_OFFLOAD From 04c7e7543e12c54a0da8c713e861473cf16d9f31 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 2 Aug 2021 21:34:30 -0400 Subject: [PATCH 607/726] use friend statement instead of (incorrect) cast to give access to protected class member --- src/pair.h | 1 + src/pair_hybrid.cpp | 2 +- src/pair_hybrid_scaled.cpp | 3 +-- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/pair.h b/src/pair.h index c4a5d3678c..0c082fa1c5 100644 --- a/src/pair.h +++ b/src/pair.h @@ -30,6 +30,7 @@ class Pair : protected Pointers { friend class FixOMP; friend class FixQEq; friend class PairHybrid; + friend class PairHybridScaled; friend class ThrOMP; friend class Info; diff --git a/src/pair_hybrid.cpp b/src/pair_hybrid.cpp index 8f97451347..550f5c6873 100644 --- a/src/pair_hybrid.cpp +++ b/src/pair_hybrid.cpp @@ -569,7 +569,7 @@ void PairHybrid::init_style() // same style must not be used multiple times for (istyle = 0; istyle < nstyles; istyle++) { - bool is_gpu = (((PairHybrid *)styles[istyle])->suffix_flag & Suffix::GPU); + bool is_gpu = styles[istyle]->suffix_flag & Suffix::GPU; if (multiple[istyle] && is_gpu) error->all(FLERR,"GPU package styles must not be used multiple times"); } diff --git a/src/pair_hybrid_scaled.cpp b/src/pair_hybrid_scaled.cpp index 90d1747075..367afe7809 100644 --- a/src/pair_hybrid_scaled.cpp +++ b/src/pair_hybrid_scaled.cpp @@ -340,8 +340,7 @@ void PairHybridScaled::settings(int narg, char **arg) special_lj[nstyles] = special_coul[nstyles] = nullptr; compute_tally[nstyles] = 1; - if ((((PairHybridScaled *)styles[nstyles])->suffix_flag - & (Suffix::INTEL|Suffix::GPU|Suffix::OMP)) != 0) + if ((styles[nstyles]->suffix_flag & (Suffix::INTEL|Suffix::GPU|Suffix::OMP)) != 0) error->all(FLERR,"Pair style hybrid/scaled does not support " "accelerator styles"); From c1c31c6b04490718d42c4ef2ba3c21fd23660440 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 2 Aug 2021 21:35:25 -0400 Subject: [PATCH 608/726] may not call memmove() on a null pointer, even if 'n' is 0. --- src/variable.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/variable.cpp b/src/variable.cpp index 953d0ddf85..2ef1957a09 100644 --- a/src/variable.cpp +++ b/src/variable.cpp @@ -5122,7 +5122,7 @@ int VarReader::read_scalar(char *str) if (n == 1) continue; // skip if blank line break; } - memmove(str,ptr,n); // move trimmed string back + if (n > 0) memmove(str,ptr,n); // move trimmed string back } MPI_Bcast(&n,1,MPI_INT,0,world); if (n == 0) return 1; From 0938bc89997e8940a43fd75517a59591aefa5bd0 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 2 Aug 2021 21:53:31 -0400 Subject: [PATCH 609/726] update docs for hybrid style updates --- doc/src/dihedral_hybrid.rst | 2 +- doc/src/improper_hybrid.rst | 39 ++++++++++++++++++++++++++++++------- 2 files changed, 33 insertions(+), 8 deletions(-) diff --git a/doc/src/dihedral_hybrid.rst b/doc/src/dihedral_hybrid.rst index add0d4d282..998a752275 100644 --- a/doc/src/dihedral_hybrid.rst +++ b/doc/src/dihedral_hybrid.rst @@ -57,7 +57,7 @@ If *class2* is one of the dihedral hybrid styles, the same rule holds for specifying additional AngleTorsion (and EndBondTorsion, etc) coefficients either via the input script or in the data file. I.e. *class2* must be added to each line after the dihedral type. For -lines in the AngleTorsion (or EndBondTorsion, etc) section of the data +lines in the AngleTorsion (or EndBondTorsion, etc) Coeffs section of the data file for dihedral types that are not *class2*, you must use an dihedral style of *skip* as a placeholder, e.g. diff --git a/doc/src/improper_hybrid.rst b/doc/src/improper_hybrid.rst index cc26e14ce5..7c070d2e9c 100644 --- a/doc/src/improper_hybrid.rst +++ b/doc/src/improper_hybrid.rst @@ -40,13 +40,38 @@ potential with coefficients 120.0, 30 for :math:`K`, :math:`\chi_0`. Improper type 2 would be computed with a *cvff* potential with coefficients 20.0, -1, 2 for K, d, and n, respectively. -If the improper *class2* potential is one of the hybrid styles, it -requires additional AngleAngle coefficients be specified in the data -file. These lines must also have an additional "class2" argument -added after the improper type. For improper types which are assigned -to other hybrid styles, use the style name (e.g. "harmonic") -appropriate to that style. The AngleAngle coeffs for that improper -type will then be ignored. +If improper coefficients are specified in the data file read via the +:doc:`read_data ` command, then the same rule applies. +E.g. "harmonic" or "cvff", must be added after the improper type, for +each line in the "Improper Coeffs" section, e.g. + +.. parsed-literal:: + + Improper Coeffs + + 1 harmonic 120.0 30 + 2 cvff 20.0 -1 2 + ... + +If *class2* is one of the improper hybrid styles, the same rule holds +for specifying additional AngleAngle coefficients either via the input +script or in the data file. I.e. *class2* must be added to each line +after the improper type. For +lines in the AngleAngle Coeffs section of the data +file for dihedral types that are not *class2*, you must use an +improper style of *skip* as a placeholder, e.g. + +.. parsed-literal:: + + AngleAngle Coeffs + + 1 skip + 2 class2 0.0 0.0 0.0 115.06 130.01 115.06 + ... + +Note that it is not necessary to use the improper style *skip* in the +input script, since AngleAngle coefficients +need not be specified at all for improper types that are not *class2*. An improper style of *none* can be specified as the second argument to the improper_coeff command, if you desire to turn off certain improper From 2a9be4275850a8ed653e6b5ae055c6a5db81534b Mon Sep 17 00:00:00 2001 From: Giacomo Fiorin Date: Tue, 3 Aug 2021 18:03:09 -0400 Subject: [PATCH 610/726] Update Colvars to version 2021-08-03 --- lib/colvars/Makefile.common | 1 + lib/colvars/Makefile.deps | 19 +- lib/colvars/colvar.cpp | 147 +++++-- lib/colvars/colvar.h | 13 +- lib/colvars/colvar_arithmeticpath.h | 12 + lib/colvars/colvaratoms.cpp | 83 ++-- lib/colvars/colvaratoms.h | 34 +- lib/colvars/colvarbias_abf.cpp | 13 +- lib/colvars/colvarbias_abf.h | 2 + lib/colvars/colvarbias_histogram.cpp | 4 +- lib/colvars/colvarbias_histogram.h | 1 - lib/colvars/colvarbias_meta.cpp | 199 +++++---- lib/colvars/colvarbias_meta.h | 6 +- lib/colvars/colvarcomp.cpp | 12 +- lib/colvars/colvarcomp.h | 106 ++++- lib/colvars/colvarcomp_alchlambda.cpp | 56 +++ lib/colvars/colvarcomp_apath.cpp | 42 +- lib/colvars/colvarcomp_distances.cpp | 35 +- lib/colvars/colvarcomp_gpath.cpp | 8 +- lib/colvars/colvarcomp_rotations.cpp | 332 +++++++++++++++ lib/colvars/colvarcomp_volmaps.cpp | 93 ++++- lib/colvars/colvardeps.cpp | 34 +- lib/colvars/colvardeps.h | 5 + lib/colvars/colvargrid.cpp | 101 ++++- lib/colvars/colvargrid.h | 29 +- lib/colvars/colvarmodule.cpp | 111 +++-- lib/colvars/colvarmodule.h | 33 +- lib/colvars/colvarmodule_utils.h | 80 ++++ lib/colvars/colvarparse.cpp | 24 ++ lib/colvars/colvarparse.h | 10 +- lib/colvars/colvarproxy.cpp | 173 +++++++- lib/colvars/colvarproxy.h | 164 +++++++- lib/colvars/colvarproxy_tcl.cpp | 2 + lib/colvars/colvarproxy_tcl.h | 8 +- lib/colvars/colvarproxy_volmaps.cpp | 73 +++- lib/colvars/colvarproxy_volmaps.h | 58 ++- lib/colvars/colvars_version.h | 2 +- lib/colvars/colvarscript.cpp | 447 +++++++++++++++++++-- lib/colvars/colvarscript.h | 135 +++++-- lib/colvars/colvarscript_commands.cpp | 48 +++ lib/colvars/colvarscript_commands.h | 169 +++++++- lib/colvars/colvarscript_commands_bias.h | 40 +- lib/colvars/colvarscript_commands_colvar.h | 89 ++-- lib/colvars/colvartypes.cpp | 3 + lib/colvars/colvarvalue.cpp | 14 +- lib/colvars/colvarvalue.h | 6 +- src/COLVARS/colvarproxy_lammps_version.h | 2 +- src/COLVARS/fix_colvars.cpp | 6 +- 48 files changed, 2557 insertions(+), 527 deletions(-) create mode 100644 lib/colvars/colvarcomp_alchlambda.cpp create mode 100644 lib/colvars/colvarmodule_utils.h diff --git a/lib/colvars/Makefile.common b/lib/colvars/Makefile.common index ce501dc5f3..5743507507 100644 --- a/lib/colvars/Makefile.common +++ b/lib/colvars/Makefile.common @@ -30,6 +30,7 @@ COLVARS_SRCS = \ colvarbias_histogram.cpp \ colvarbias_meta.cpp \ colvarbias_restraint.cpp \ + colvarcomp_alchlambda.cpp \ colvarcomp_angles.cpp \ colvarcomp_apath.cpp \ colvarcomp_coordnums.cpp \ diff --git a/lib/colvars/Makefile.deps b/lib/colvars/Makefile.deps index 78e8768edd..cdf948a471 100644 --- a/lib/colvars/Makefile.deps +++ b/lib/colvars/Makefile.deps @@ -86,6 +86,20 @@ $(COLVARS_OBJ_DIR)colvarbias_restraint.o: colvarbias_restraint.cpp \ lepton/include/lepton/Operation.h lepton/include/lepton/CustomFunction.h \ lepton/include/lepton/Exception.h \ lepton/include/lepton/ParsedExpression.h lepton/include/lepton/Parser.h +$(COLVARS_OBJ_DIR)colvarcomp_alchlambda.o: colvarcomp_alchlambda.cpp \ + colvarmodule.h colvars_version.h colvar.h colvarvalue.h colvartypes.h \ + colvarparse.h colvarparams.h colvardeps.h lepton/include/Lepton.h \ + lepton/include/lepton/CompiledExpression.h \ + lepton/include/lepton/ExpressionTreeNode.h \ + lepton/include/lepton/windowsIncludes.h \ + lepton/include/lepton/CustomFunction.h \ + lepton/include/lepton/ExpressionProgram.h \ + lepton/include/lepton/ExpressionTreeNode.h \ + lepton/include/lepton/Operation.h lepton/include/lepton/CustomFunction.h \ + lepton/include/lepton/Exception.h \ + lepton/include/lepton/ParsedExpression.h lepton/include/lepton/Parser.h \ + colvarcomp.h colvaratoms.h colvarproxy.h colvarproxy_tcl.h \ + colvarproxy_volmaps.h colvar_arithmeticpath.h colvar_geometricpath.h $(COLVARS_OBJ_DIR)colvarcomp_angles.o: colvarcomp_angles.cpp \ colvarmodule.h colvars_version.h colvar.h colvarvalue.h colvartypes.h \ colvarparse.h colvarparams.h colvardeps.h lepton/include/Lepton.h \ @@ -285,7 +299,7 @@ $(COLVARS_OBJ_DIR)colvarproxy.o: colvarproxy.cpp colvarmodule.h \ lepton/include/lepton/Exception.h \ lepton/include/lepton/ParsedExpression.h lepton/include/lepton/Parser.h \ colvarscript_commands.h colvarscript_commands_colvar.h \ - colvarscript_commands_bias.h colvaratoms.h + colvarscript_commands_bias.h colvaratoms.h colvarmodule_utils.h $(COLVARS_OBJ_DIR)colvarproxy_replicas.o: colvarproxy_replicas.cpp \ colvarmodule.h colvars_version.h colvarproxy.h colvartypes.h \ colvarvalue.h colvarproxy_tcl.h colvarproxy_volmaps.h @@ -294,7 +308,8 @@ $(COLVARS_OBJ_DIR)colvarproxy_tcl.o: colvarproxy_tcl.cpp colvarmodule.h \ colvarproxy_tcl.h colvarproxy_volmaps.h colvaratoms.h colvarparse.h \ colvarparams.h colvardeps.h $(COLVARS_OBJ_DIR)colvarproxy_volmaps.o: colvarproxy_volmaps.cpp \ - colvarmodule.h colvars_version.h colvarproxy_volmaps.h + colvarmodule.h colvars_version.h colvarproxy_volmaps.h \ + colvarmodule_utils.h $(COLVARS_OBJ_DIR)colvarscript.o: colvarscript.cpp colvarproxy.h \ colvarmodule.h colvars_version.h colvartypes.h colvarvalue.h \ colvarproxy_tcl.h colvarproxy_volmaps.h colvardeps.h colvarparse.h \ diff --git a/lib/colvars/colvar.cpp b/lib/colvars/colvar.cpp index ed6fec1ac5..54e11aaa75 100644 --- a/lib/colvars/colvar.cpp +++ b/lib/colvars/colvar.cpp @@ -96,7 +96,7 @@ int colvar::init(std::string const &conf) "", colvarparse::parse_silent)) { enable(f_cv_scripted); - cvm::log("This colvar uses scripted function \"" + scripted_function + "\"."); + cvm::log("This colvar uses scripted function \"" + scripted_function + "\".\n"); std::string type_str; get_keyval(conf, "scriptedFunctionType", type_str, "scalar"); @@ -134,7 +134,7 @@ int colvar::init(std::string const &conf) std::sort(cvcs.begin(), cvcs.end(), compare); if(cvcs.size() > 1) { - cvm::log("Sorted list of components for this scripted colvar:"); + cvm::log("Sorted list of components for this scripted colvar:\n"); for (i = 0; i < cvcs.size(); i++) { cvm::log(cvm::to_str(i+1) + " " + cvcs[i]->name); } @@ -298,6 +298,11 @@ int colvar::init(std::string const &conf) error_code |= init_extended_Lagrangian(conf); error_code |= init_output_flags(conf); + // Detect if we have one component that is an alchemical lambda + if (is_enabled(f_cv_single_cvc) && cvcs[0]->function_type == "alch_lambda") { + enable(f_cv_external); + } + // Now that the children are defined we can solve dependencies enable(f_cv_active); @@ -636,7 +641,6 @@ int colvar::init_extended_Lagrangian(std::string const &conf) x_ext.type(colvarvalue::type_notset); v_ext.type(value()); fr.type(value()); - const bool found = get_keyval(conf, "extendedTemp", temp, cvm::temperature()); if (temp <= 0.0) { if (found) @@ -654,7 +658,7 @@ int colvar::init_extended_Lagrangian(std::string const &conf) return INPUT_ERROR; } ext_force_k = cvm::boltzmann() * temp / (tolerance * tolerance); - cvm::log("Computed extended system force constant: " + cvm::to_str(ext_force_k) + " [E]/U^2"); + cvm::log("Computed extended system force constant: " + cvm::to_str(ext_force_k) + " [E]/U^2\n"); get_keyval(conf, "extendedTimeConstant", extended_period, 200.0); if (extended_period <= 0.0) { @@ -662,7 +666,7 @@ int colvar::init_extended_Lagrangian(std::string const &conf) } ext_mass = (cvm::boltzmann() * temp * extended_period * extended_period) / (4.0 * PI * PI * tolerance * tolerance); - cvm::log("Computed fictitious mass: " + cvm::to_str(ext_mass) + " [E]/(U/fs)^2 (U: colvar unit)"); + cvm::log("Computed fictitious mass: " + cvm::to_str(ext_mass) + " [E]/(U/fs)^2 (U: colvar unit)\n"); { bool b_output_energy; @@ -770,7 +774,9 @@ template int colvar::init_components_type(std::string c if ( (cvcp->function_type != std::string("distance_z")) && (cvcp->function_type != std::string("dihedral")) && (cvcp->function_type != std::string("polar_phi")) && - (cvcp->function_type != std::string("spin_angle")) ) { + (cvcp->function_type != std::string("spin_angle")) && + (cvcp->function_type != std::string("euler_phi")) && + (cvcp->function_type != std::string("euler_psi"))) { cvm::error("Error: invalid use of period and/or " "wrapAround in a \""+ std::string(def_config_key)+ @@ -860,6 +866,7 @@ int colvar::init_components(std::string const &conf) "inertia", "inertia"); error_code |= init_components_type(conf, "moment of inertia around an axis", "inertiaZ"); error_code |= init_components_type(conf, "eigenvector", "eigenvector"); + error_code |= init_components_type(conf, "alchemical coupling parameter", "alchLambda"); error_code |= init_components_type(conf, "geometrical path collective variables (s)", "gspath"); error_code |= init_components_type(conf, "geometrical path collective variables (z)", "gzpath"); error_code |= init_components_type(conf, "linear combination of other collective variables", "linearCombination"); @@ -867,6 +874,9 @@ int colvar::init_components(std::string const &conf) error_code |= init_components_type(conf, "geometrical path collective variables (z) for other CVs", "gzpathCV"); error_code |= init_components_type(conf, "arithmetic path collective variables (s) for other CVs", "aspathCV"); error_code |= init_components_type(conf, "arithmetic path collective variables (s) for other CVs", "azpathCV"); + error_code |= init_components_type(conf, "euler phi angle of the optimal orientation", "eulerPhi"); + error_code |= init_components_type(conf, "euler psi angle of the optimal orientation", "eulerPsi"); + error_code |= init_components_type(conf, "euler theta angle of the optimal orientation", "eulerTheta"); error_code |= init_components_type(conf, "total value of atomic map", "mapTotal"); @@ -1074,6 +1084,7 @@ int colvar::init_dependencies() { init_feature(f_cv_hide_Jacobian, "hide_Jacobian_force", f_type_user); require_feature_self(f_cv_hide_Jacobian, f_cv_Jacobian); // can only hide if calculated + exclude_feature_self(f_cv_hide_Jacobian, f_cv_extended_Lagrangian); init_feature(f_cv_extended_Lagrangian, "extended_Lagrangian", f_type_user); require_feature_self(f_cv_extended_Lagrangian, f_cv_scalar); @@ -1082,6 +1093,9 @@ int colvar::init_dependencies() { init_feature(f_cv_Langevin, "Langevin_dynamics", f_type_user); require_feature_self(f_cv_Langevin, f_cv_extended_Lagrangian); + init_feature(f_cv_external, "external", f_type_user); + require_feature_self(f_cv_external, f_cv_single_cvc); + init_feature(f_cv_single_cvc, "single_component", f_type_static); init_feature(f_cv_linear, "linear", f_type_static); @@ -1195,6 +1209,21 @@ std::vector > colvar::get_atom_lists() } +std::vector const &colvar::get_volmap_ids() +{ + volmap_ids_.resize(cvcs.size()); + for (size_t i = 0; i < cvcs.size(); i++) { + if (cvcs[i]->param_exists("mapID") == COLVARS_OK) { + volmap_ids_[i] = + *(reinterpret_cast(cvcs[i]->get_param_ptr("mapID"))); + } else { + volmap_ids_[i] = -1; + } + } + return volmap_ids_; +} + + colvar::~colvar() { // There is no need to call free_children_deps() here @@ -1552,9 +1581,11 @@ int colvar::collect_cvc_total_forces() } } - if (!is_enabled(f_cv_hide_Jacobian)) { + if (!(is_enabled(f_cv_hide_Jacobian) && is_enabled(f_cv_subtract_applied_force))) { // add the Jacobian force to the total force, and don't apply any silent // correction internally: biases such as colvarbias_abf will handle it + // If f_cv_hide_Jacobian is enabled, a force of -fj is present in ft due to the + // Jacobian-compensating force ft += fj; } } @@ -1687,14 +1718,16 @@ cvm::real colvar::update_forces_energy() // add the biases' force, which at this point should already have // been summed over each bias using this colvar + // fb is already multiplied by the relevant time step factor for each bias f += fb; if (is_enabled(f_cv_Jacobian)) { // the instantaneous Jacobian force was not included in the reported total force; // instead, it is subtracted from the applied force (silent Jacobian correction) // This requires the Jacobian term for the *current* timestep + // Need to scale it for impulse MTS if (is_enabled(f_cv_hide_Jacobian)) - f -= fj; + f -= fj * cvm::real(time_step_factor); } // At this point f is the force f from external biases that will be applied to the @@ -1727,26 +1760,44 @@ cvm::real colvar::update_forces_energy() colvarvalue f_ext(fr.type()); // force acting on the extended variable f_ext.reset(); - // the total force is applied to the fictitious mass, while the - // atoms only feel the harmonic force + wall force - // fr: bias force on extended variable (without harmonic spring), for output in trajectory - // f_ext: total force on extended variable (including harmonic spring) - // f: - initially, external biasing force - // - after this code block, colvar force to be applied to atomic coordinates - // ie. spring force (fb_actual will be added just below) + if (is_enabled(f_cv_external)) { + // There are no forces on the "actual colvar" bc there is no gradient wrt atomic coordinates + // So we apply this to the extended DOF + f += fb_actual; + } + fr = f; // External force has been scaled for a 1-timestep impulse, scale it back because we will // integrate it with the colvar's own timestep factor f_ext = f / cvm::real(time_step_factor); - f_ext += (-0.5 * ext_force_k) * this->dist2_lgrad(x_ext, x); - f = (-0.5 * ext_force_k) * this->dist2_rgrad(x_ext, x); - // Coupling force is a slow force, to be applied to atomic coords impulse-style - f *= cvm::real(time_step_factor); + + colvarvalue f_system(fr.type()); // force exterted by the system on the extended DOF + + if (is_enabled(f_cv_external)) { + // Add "alchemical" force from external variable + f_system = cvcs[0]->total_force(); + // f is now irrelevant because we are not applying atomic forces in the simulation + // just driving the external variable lambda + } else { + // the total force is applied to the fictitious mass, while the + // atoms only feel the harmonic force + wall force + // fr: bias force on extended variable (without harmonic spring), for output in trajectory + // f_ext: total force on extended variable (including harmonic spring) + // f: - initially, external biasing force + // - after this code block, colvar force to be applied to atomic coordinates + // ie. spring force (fb_actual will be added just below) + f_system = (-0.5 * ext_force_k) * this->dist2_lgrad(x_ext, x); + f = -1.0 * f_system; + // Coupling force is a slow force, to be applied to atomic coords impulse-style + // over a single MD timestep + f *= cvm::real(time_step_factor); + } + f_ext += f_system; if (is_enabled(f_cv_subtract_applied_force)) { // Report a "system" force without the biases on this colvar - // that is, just the spring force - ft_reported = (-0.5 * ext_force_k) * this->dist2_lgrad(x_ext, x); + // that is, just the spring force (or alchemical force) + ft_reported = f_system; } else { // The total force acting on the extended variable is f_ext // This will be used in the next timestep @@ -1778,10 +1829,19 @@ cvm::real colvar::update_forces_energy() (is_enabled(f_cv_reflecting_upper_boundary) && (delta = x_ext - upper_boundary) > 0)) { x_ext -= 2.0 * delta; v_ext *= -1.0; + if ((is_enabled(f_cv_reflecting_lower_boundary) && (delta = x_ext - lower_boundary) < 0) || + (is_enabled(f_cv_reflecting_upper_boundary) && (delta = x_ext - upper_boundary) > 0)) { + cvm::error("Error: extended coordinate value " + cvm::to_str(x_ext) + " is still outside boundaries after reflection.\n"); + } } x_ext.apply_constraints(); this->wrap(x_ext); + if (is_enabled(f_cv_external)) { + // Colvar value is constrained to the extended value + x = x_ext; + cvcs[0]->set_value(x_ext); + } } else { // If this is a postprocessing run (eg. in VMD), the extended DOF // is equal to the actual coordinate @@ -1789,9 +1849,11 @@ cvm::real colvar::update_forces_energy() } } - // Now adding the force on the actual colvar (for those biases that - // bypass the extended Lagrangian mass) - f += fb_actual; + if (!is_enabled(f_cv_external)) { + // Now adding the force on the actual colvar (for those biases that + // bypass the extended Lagrangian mass) + f += fb_actual; + } if (cvm::debug()) cvm::log("Done updating colvar \""+this->name+"\".\n"); @@ -1954,7 +2016,7 @@ int colvar::update_cvc_flags() int colvar::update_cvc_config(std::vector const &confs) { - cvm::log("Updating configuration for colvar \""+name+"\""); + cvm::log("Updating configuration for colvar \""+name+"\"\n"); if (confs.size() != cvcs.size()) { return cvm::error("Error: Wrong number of CVC config strings. " @@ -2076,6 +2138,15 @@ bool colvar::periodic_boundaries() const cvm::real colvar::dist2(colvarvalue const &x1, colvarvalue const &x2) const { + if ( is_enabled(f_cv_scripted) || is_enabled(f_cv_custom_function) ) { + if (is_enabled(f_cv_periodic) && is_enabled(f_cv_scalar)) { + cvm::real diff = x1.real_value - x2.real_value; + const cvm::real period_lower_boundary = wrap_center - period / 2.0; + const cvm::real period_upper_boundary = wrap_center + period / 2.0; + diff = (diff < period_lower_boundary ? diff + period : ( diff > period_upper_boundary ? diff - period : diff)); + return diff * diff; + } + } if (is_enabled(f_cv_homogeneous)) { return (cvcs[0])->dist2(x1, x2); } else { @@ -2086,6 +2157,15 @@ cvm::real colvar::dist2(colvarvalue const &x1, colvarvalue colvar::dist2_lgrad(colvarvalue const &x1, colvarvalue const &x2) const { + if ( is_enabled(f_cv_scripted) || is_enabled(f_cv_custom_function) ) { + if (is_enabled(f_cv_periodic) && is_enabled(f_cv_scalar)) { + cvm::real diff = x1.real_value - x2.real_value; + const cvm::real period_lower_boundary = wrap_center - period / 2.0; + const cvm::real period_upper_boundary = wrap_center + period / 2.0; + diff = (diff < period_lower_boundary ? diff + period : ( diff > period_upper_boundary ? diff - period : diff)); + return 2.0 * diff; + } + } if (is_enabled(f_cv_homogeneous)) { return (cvcs[0])->dist2_lgrad(x1, x2); } else { @@ -2096,6 +2176,15 @@ colvarvalue colvar::dist2_lgrad(colvarvalue const &x1, colvarvalue colvar::dist2_rgrad(colvarvalue const &x1, colvarvalue const &x2) const { + if ( is_enabled(f_cv_scripted) || is_enabled(f_cv_custom_function) ) { + if (is_enabled(f_cv_periodic) && is_enabled(f_cv_scalar)) { + cvm::real diff = x1.real_value - x2.real_value; + const cvm::real period_lower_boundary = wrap_center - period / 2.0; + const cvm::real period_upper_boundary = wrap_center + period / 2.0; + diff = (diff < period_lower_boundary ? diff + period : ( diff > period_upper_boundary ? diff - period : diff)); + return (-2.0) * diff; + } + } if (is_enabled(f_cv_homogeneous)) { return (cvcs[0])->dist2_rgrad(x1, x2); } else { @@ -2302,7 +2391,7 @@ std::ostream & colvar::write_traj_label(std::ostream & os) os << " " << cvm::wrap_string(this->name, this_cv_width); - if (is_enabled(f_cv_extended_Lagrangian)) { + if (is_enabled(f_cv_extended_Lagrangian) && !is_enabled(f_cv_external)) { // extended DOF os << " r_" << cvm::wrap_string(this->name, this_cv_width-2); @@ -2314,7 +2403,7 @@ std::ostream & colvar::write_traj_label(std::ostream & os) os << " v_" << cvm::wrap_string(this->name, this_cv_width-2); - if (is_enabled(f_cv_extended_Lagrangian)) { + if (is_enabled(f_cv_extended_Lagrangian) && !is_enabled(f_cv_external)) { // extended DOF os << " vr_" << cvm::wrap_string(this->name, this_cv_width-3); @@ -2347,7 +2436,7 @@ std::ostream & colvar::write_traj(std::ostream &os) os << " "; if (is_enabled(f_cv_output_value)) { - if (is_enabled(f_cv_extended_Lagrangian)) { + if (is_enabled(f_cv_extended_Lagrangian) && !is_enabled(f_cv_external)) { os << " " << std::setprecision(cvm::cv_prec) << std::setw(cvm::cv_width) << x; @@ -2360,7 +2449,7 @@ std::ostream & colvar::write_traj(std::ostream &os) if (is_enabled(f_cv_output_velocity)) { - if (is_enabled(f_cv_extended_Lagrangian)) { + if (is_enabled(f_cv_extended_Lagrangian) && !is_enabled(f_cv_external)) { os << " " << std::setprecision(cvm::cv_prec) << std::setw(cvm::cv_width) << v_fdiff; diff --git a/lib/colvars/colvar.h b/lib/colvars/colvar.h index 5cf0077a39..2856170727 100644 --- a/lib/colvars/colvar.h +++ b/lib/colvars/colvar.h @@ -192,7 +192,7 @@ protected: /// Amplitude of Gaussian white noise for Langevin extended dynamics cvm::real ext_sigma; - /// \brief Harmonic restraint force + /// \brief Applied force on extended DOF, for output (unscaled if using MTS) colvarvalue fr; /// \brief Jacobian force, when Jacobian_force is enabled @@ -591,6 +591,7 @@ public: class alpha_dihedrals; class alpha_angles; class dihedPC; + class alch_lambda; class componentDisabled; class CartesianBasedPath; class gspath; @@ -601,6 +602,9 @@ public: class gzpathCV; class aspathCV; class azpathCV; + class euler_phi; + class euler_psi; + class euler_theta; // non-scalar components class distance_vec; @@ -658,6 +662,9 @@ protected: static std::map> global_cvc_map; #endif + /// Volmap numeric IDs, one for each CVC (-1 if not available) + std::vector volmap_ids_; + public: /// \brief Sorted array of (zero-based) IDs for all atoms involved @@ -670,6 +677,10 @@ public: /// \brief Get vector of vectors of atom IDs for all atom groups virtual std::vector > get_atom_lists(); + + /// Volmap numeric IDs, one for each CVC (-1 if not available) + std::vector const &get_volmap_ids(); + }; diff --git a/lib/colvars/colvar_arithmeticpath.h b/lib/colvars/colvar_arithmeticpath.h index 552edf23e3..cf613af389 100644 --- a/lib/colvars/colvar_arithmeticpath.h +++ b/lib/colvars/colvar_arithmeticpath.h @@ -7,6 +7,7 @@ #include #include #include +#include namespace ArithmeticPathCV { @@ -24,6 +25,7 @@ public: virtual void computeValue(); virtual void computeDerivatives(); virtual void compute(); + virtual void reComputeLambda(const vector& rmsd_between_refs); protected: scalar_type lambda; vector weights; @@ -124,6 +126,16 @@ void ArithmeticPathBase::computeDerivative } } +template +void ArithmeticPathBase::reComputeLambda(const vector& rmsd_between_refs) { + scalar_type mean_square_displacements = 0.0; + for (size_t i_frame = 1; i_frame < total_frames; ++i_frame) { + cvm::log(std::string("Distance between frame ") + cvm::to_str(i_frame) + " and " + cvm::to_str(i_frame + 1) + " is " + cvm::to_str(rmsd_between_refs[i_frame - 1]) + std::string("\n")); + mean_square_displacements += rmsd_between_refs[i_frame - 1] * rmsd_between_refs[i_frame - 1]; + } + mean_square_displacements /= scalar_type(total_frames - 1); + lambda = 1.0 / mean_square_displacements; +} } #endif // ARITHMETICPATHCV_H diff --git a/lib/colvars/colvaratoms.cpp b/lib/colvars/colvaratoms.cpp index 1a4280a202..9bbd91cf05 100644 --- a/lib/colvars/colvaratoms.cpp +++ b/lib/colvars/colvaratoms.cpp @@ -37,6 +37,7 @@ cvm::atom::atom(int atom_number) } id = p->get_atom_id(index); update_mass(); + update_charge(); reset_data(); } @@ -53,6 +54,7 @@ cvm::atom::atom(cvm::residue_id const &residue, } id = p->get_atom_id(index); update_mass(); + update_charge(); reset_data(); } @@ -62,6 +64,7 @@ cvm::atom::atom(atom const &a) { id = (cvm::proxy)->get_atom_id(index); update_mass(); + update_charge(); reset_data(); } @@ -214,8 +217,6 @@ int cvm::atom_group::init() index = -1; b_dummy = false; - b_center = false; - b_rotate = false; b_user_defined_fit = false; fitting_group = NULL; @@ -240,8 +241,9 @@ int cvm::atom_group::init_dependencies() { } init_feature(f_ag_active, "active", f_type_dynamic); - init_feature(f_ag_center, "translational_fit", f_type_static); - init_feature(f_ag_rotate, "rotational_fit", f_type_static); + init_feature(f_ag_center, "center_to_reference", f_type_user); + init_feature(f_ag_center_origin, "center_to_origin", f_type_user); + init_feature(f_ag_rotate, "rotate_to_origin", f_type_user); init_feature(f_ag_fitting_group, "fitting_group", f_type_static); init_feature(f_ag_explicit_gradient, "explicit_atom_gradient", f_type_dynamic); init_feature(f_ag_fit_gradients, "fit_gradients", f_type_user); @@ -272,6 +274,10 @@ int cvm::atom_group::init_dependencies() { // Features that are implemented (or not) by all atom groups feature_states[f_ag_active].available = true; + feature_states[f_ag_center].available = true; + feature_states[f_ag_center_origin].available = true; + feature_states[f_ag_rotate].available = true; + // f_ag_scalable_com is provided by the CVC iff it is COM-based feature_states[f_ag_scalable_com].available = false; // TODO make f_ag_scalable depend on f_ag_scalable_com (or something else) @@ -317,6 +323,9 @@ void cvm::atom_group::update_total_mass() total_mass += ai->mass; } } + if (total_mass < 1e-15) { + cvm::error("ERROR: " + description + " has zero total mass.\n"); + } } @@ -381,12 +390,22 @@ int cvm::atom_group::parse(std::string const &group_conf) // We need to know about fitting to decide whether the group is scalable // and we need to know about scalability before adding atoms - bool b_defined_center = get_keyval(group_conf, "centerReference", b_center, false); - bool b_defined_rotate = get_keyval(group_conf, "rotateReference", b_rotate, false); + bool b_defined_center = get_keyval_feature(this, group_conf, "centerToOrigin", f_ag_center_origin, false); + // Legacy alias + b_defined_center |= get_keyval_feature(this, group_conf, "centerReference", f_ag_center, is_enabled(f_ag_center_origin), parse_deprecated); + b_defined_center |= get_keyval_feature(this, group_conf, "centerToReference", f_ag_center, is_enabled(f_ag_center)); + + if (is_enabled(f_ag_center_origin) && ! is_enabled(f_ag_center)) { + return cvm::error("centerToReference may not be disabled if centerToOrigin is enabled.\n"); + } + // Legacy alias + bool b_defined_rotate = get_keyval_feature(this, group_conf, "rotateReference", f_ag_rotate, false, parse_deprecated); + b_defined_rotate |= get_keyval_feature(this, group_conf, "rotateToReference", f_ag_rotate, is_enabled(f_ag_rotate)); + // is the user setting explicit options? b_user_defined_fit = b_defined_center || b_defined_rotate; - if (is_available(f_ag_scalable_com) && !b_rotate && !b_center) { + if (is_available(f_ag_scalable_com) && !is_enabled(f_ag_rotate) && !is_enabled(f_ag_center)) { enable(f_ag_scalable_com); enable(f_ag_scalable); } @@ -507,12 +526,8 @@ int cvm::atom_group::parse(std::string const &group_conf) // whether these atoms will ever receive forces or not bool enable_forces = true; - // disableForces is deprecated - if (get_keyval(group_conf, "enableForces", enable_forces, true)) { - noforce = !enable_forces; - } else { - get_keyval(group_conf, "disableForces", noforce, false, colvarparse::parse_silent); - } + get_keyval(group_conf, "enableForces", enable_forces, true, colvarparse::parse_silent); + noforce = !enable_forces; } // Now that atoms are defined we can parse the detailed fitting options @@ -760,10 +775,10 @@ std::string const cvm::atom_group::print_atom_ids() const int cvm::atom_group::parse_fitting_options(std::string const &group_conf) { - if (b_center || b_rotate) { + if (is_enabled(f_ag_center) || is_enabled(f_ag_rotate)) { if (b_dummy) - cvm::error("Error: centerReference or rotateReference " + cvm::error("Error: centerToReference or rotateToReference " "cannot be defined for a dummy atom.\n"); bool b_ref_pos_group = false; @@ -827,7 +842,7 @@ int cvm::atom_group::parse_fitting_options(std::string const &group_conf) if (ref_pos.size()) { - if (b_rotate) { + if (is_enabled(f_ag_rotate)) { if (ref_pos.size() != group_for_fit->size()) cvm::error("Error: the number of reference positions provided("+ cvm::to_str(ref_pos.size())+ @@ -846,7 +861,7 @@ int cvm::atom_group::parse_fitting_options(std::string const &group_conf) return COLVARS_ERROR; } - if (b_rotate && !noforce) { + if (is_enabled(f_ag_rotate) && !noforce) { cvm::log("Warning: atom group \""+key+ "\" will be aligned to a fixed orientation given by the reference positions provided. " "If the internal structure of the group changes too much (i.e. its RMSD is comparable " @@ -865,7 +880,7 @@ int cvm::atom_group::parse_fitting_options(std::string const &group_conf) bool b_fit_gradients; get_keyval(group_conf, "enableFitGradients", b_fit_gradients, true); - if (b_fit_gradients && (b_center || b_rotate)) { + if (b_fit_gradients && (is_enabled(f_ag_center) || is_enabled(f_ag_rotate))) { enable(f_ag_fit_gradients); } } @@ -879,7 +894,7 @@ void cvm::atom_group::do_feature_side_effects(int id) // If enabled features are changed upstream, the features below should be refreshed switch (id) { case f_ag_fit_gradients: - if (b_center || b_rotate) { + if (is_enabled(f_ag_center) || is_enabled(f_ag_rotate)) { atom_group *group_for_fit = fitting_group ? fitting_group : this; group_for_fit->fit_gradients.assign(group_for_fit->size(), cvm::atom_pos(0.0, 0.0, 0.0)); rot.request_group1_gradients(group_for_fit->size()); @@ -971,7 +986,7 @@ int cvm::atom_group::calc_required_properties() calc_center_of_geometry(); if (!is_enabled(f_ag_scalable)) { - if (b_center || b_rotate) { + if (is_enabled(f_ag_center) || is_enabled(f_ag_rotate)) { if (fitting_group) { fitting_group->calc_center_of_geometry(); } @@ -1001,7 +1016,7 @@ void cvm::atom_group::calc_apply_roto_translation() fitting_group->cog_orig = fitting_group->center_of_geometry(); } - if (b_center) { + if (is_enabled(f_ag_center)) { // center on the origin first cvm::atom_pos const rpg_cog = fitting_group ? fitting_group->center_of_geometry() : this->center_of_geometry(); @@ -1011,9 +1026,9 @@ void cvm::atom_group::calc_apply_roto_translation() } } - if (b_rotate) { - // rotate the group (around the center of geometry if b_center is - // true, around the origin otherwise) + if (is_enabled(f_ag_rotate)) { + // rotate the group (around the center of geometry if f_ag_center is + // enabled, around the origin otherwise) rot.calc_optimal_rotation(fitting_group ? fitting_group->positions() : this->positions(), @@ -1030,7 +1045,7 @@ void cvm::atom_group::calc_apply_roto_translation() } } - if (b_center) { + if (is_enabled(f_ag_center) && !is_enabled(f_ag_center_origin)) { // align with the center of geometry of ref_pos apply_translation(ref_pos_cog); if (fitting_group) { @@ -1063,7 +1078,7 @@ void cvm::atom_group::read_velocities() { if (b_dummy) return; - if (b_rotate) { + if (is_enabled(f_ag_rotate)) { for (cvm::atom_iter ai = this->begin(); ai != this->end(); ai++) { ai->read_velocity(); @@ -1084,7 +1099,7 @@ void cvm::atom_group::read_total_forces() { if (b_dummy) return; - if (b_rotate) { + if (is_enabled(f_ag_rotate)) { for (cvm::atom_iter ai = this->begin(); ai != this->end(); ai++) { ai->read_total_force(); @@ -1172,14 +1187,14 @@ void cvm::atom_group::calc_fit_gradients() cvm::atom_group *group_for_fit = fitting_group ? fitting_group : this; - if (b_center) { + if (is_enabled(f_ag_center)) { // add the center of geometry contribution to the gradients cvm::rvector atom_grad; for (size_t i = 0; i < this->size(); i++) { atom_grad += atoms[i].grad; } - if (b_rotate) atom_grad = (rot.inverse()).rotate(atom_grad); + if (is_enabled(f_ag_rotate)) atom_grad = (rot.inverse()).rotate(atom_grad); atom_grad *= (-1.0)/(cvm::real(group_for_fit->size())); for (size_t j = 0; j < group_for_fit->size(); j++) { @@ -1187,7 +1202,7 @@ void cvm::atom_group::calc_fit_gradients() } } - if (b_rotate) { + if (is_enabled(f_ag_rotate)) { // add the rotation matrix contribution to the gradients cvm::rotation const rot_inv = rot.inverse(); @@ -1196,7 +1211,7 @@ void cvm::atom_group::calc_fit_gradients() // compute centered, unrotated position cvm::atom_pos const pos_orig = - rot_inv.rotate((b_center ? (atoms[i].pos - ref_pos_cog) : (atoms[i].pos))); + rot_inv.rotate((is_enabled(f_ag_center) ? (atoms[i].pos - ref_pos_cog) : (atoms[i].pos))); // calculate \partial(R(q) \vec{x}_i)/\partial q) \cdot \partial\xi/\partial\vec{x}_i cvm::quaternion const dxdq = @@ -1340,7 +1355,7 @@ void cvm::atom_group::apply_colvar_force(cvm::real const &force) return; } - if (b_rotate) { + if (is_enabled(f_ag_rotate)) { // rotate forces back to the original frame cvm::rotation const rot_inv = rot.inverse(); @@ -1355,7 +1370,7 @@ void cvm::atom_group::apply_colvar_force(cvm::real const &force) } } - if ((b_center || b_rotate) && is_enabled(f_ag_fit_gradients)) { + if ((is_enabled(f_ag_center) || is_enabled(f_ag_rotate)) && is_enabled(f_ag_fit_gradients)) { atom_group *group_for_fit = fitting_group ? fitting_group : this; @@ -1386,7 +1401,7 @@ void cvm::atom_group::apply_force(cvm::rvector const &force) return; } - if (b_rotate) { + if (is_enabled(f_ag_rotate)) { cvm::rotation const rot_inv = rot.inverse(); for (cvm::atom_iter ai = this->begin(); ai != this->end(); ai++) { diff --git a/lib/colvars/colvaratoms.h b/lib/colvars/colvaratoms.h index af6a529f8a..490b008d06 100644 --- a/lib/colvars/colvaratoms.h +++ b/lib/colvars/colvaratoms.h @@ -101,18 +101,14 @@ public: inline void update_mass() { colvarproxy *p = cvm::proxy; - if (p->updated_masses()) { - mass = p->get_atom_mass(index); - } + mass = p->get_atom_mass(index); } /// Get the latest value of the charge inline void update_charge() { colvarproxy *p = cvm::proxy; - if (p->updated_charges()) { - charge = p->get_atom_charge(index); - } + charge = p->get_atom_charge(index); } /// Get the current position @@ -328,35 +324,23 @@ public: /// If yes, returns 1-based number of a common atom; else, returns 0 static int overlap(const atom_group &g1, const atom_group &g2); - /// \brief When updating atomic coordinates, translate them to align with the - /// center of mass of the reference coordinates - bool b_center; - - /// \brief When updating atom coordinates (and after - /// centering them if b_center is set), rotate the group to - /// align with the reference coordinates. - /// - /// Note: gradients will be calculated in the rotated frame: when - /// forces will be applied, they will rotated back to the original - /// frame - bool b_rotate; - /// The rotation calculated automatically if b_rotate is defined + /// The rotation calculated automatically if f_ag_rotate is defined cvm::rotation rot; - /// \brief Indicates that the user has explicitly set centerReference or + /// \brief Indicates that the user has explicitly set centerToReference or /// rotateReference, and the corresponding reference: /// cvc's (eg rmsd, eigenvector) will not override the user's choice bool b_user_defined_fit; - /// \brief use reference coordinates for b_center or b_rotate + /// \brief use reference coordinates for f_ag_center or f_ag_rotate std::vector ref_pos; /// \brief Center of geometry of the reference coordinates; regardless - /// of whether b_center is true, ref_pos is centered to zero at + /// of whether f_ag_center is true, ref_pos is centered to zero at /// initialization, and ref_pos_cog serves to center the positions cvm::atom_pos ref_pos_cog; - /// \brief If b_center or b_rotate is true, use this group to + /// \brief If f_ag_center or f_ag_rotate is true, use this group to /// define the transformation (default: this group itself) atom_group *fitting_group; @@ -395,12 +379,12 @@ public: void apply_translation(cvm::rvector const &t); /// \brief Get the current velocities; this must be called always - /// *after* read_positions(); if b_rotate is defined, the same + /// *after* read_positions(); if f_ag_rotate is defined, the same /// rotation applied to the coordinates will be used void read_velocities(); /// \brief Get the current total_forces; this must be called always - /// *after* read_positions(); if b_rotate is defined, the same + /// *after* read_positions(); if f_ag_rotate is defined, the same /// rotation applied to the coordinates will be used void read_total_forces(); diff --git a/lib/colvars/colvarbias_abf.cpp b/lib/colvars/colvarbias_abf.cpp index a84ec358dd..4893ceb46d 100644 --- a/lib/colvars/colvarbias_abf.cpp +++ b/lib/colvars/colvarbias_abf.cpp @@ -136,10 +136,11 @@ int colvarbias_abf::init(std::string const &conf) colvars[i]->enable(f_cv_hide_Jacobian); } - // If any colvar is extended-system, we need to collect the extended - // system gradient - if (colvars[i]->is_enabled(f_cv_extended_Lagrangian)) + // If any colvar is extended-system (restrained style, not external with constraint), we are running eABF + if (colvars[i]->is_enabled(f_cv_extended_Lagrangian) + && !colvars[i]->is_enabled(f_cv_external)) { b_extended = true; + } // Cannot mix and match coarse time steps with ABF because it gives // wrong total force averages - total force needs to be averaged over @@ -475,7 +476,7 @@ int colvarbias_abf::update() last_gradients->copy_grid(*gradients); last_samples->copy_grid(*samples); shared_last_step = cvm::step_absolute(); - cvm::log("Prepared sample and gradient buffers at step "+cvm::to_str(cvm::step_absolute())+"."); + cvm::log("Prepared sample and gradient buffers at step "+cvm::to_str(cvm::step_absolute())+".\n"); } // update UI estimator every step @@ -812,8 +813,10 @@ int colvarbias_abf::write_output_files() cvm::log("ABF bias trying to write gradients and samples to disk"); } - if (shared_on && cvm::main()->proxy->replica_index() > 0) { + if (shared_on && cvm::main()->proxy->replica_index() > 0 + && ! (b_CZAR_estimator || b_UI_estimator) ) { // No need to report the same data as replica 0, let it do the I/O job + // except if using an eABF FE estimator return COLVARS_OK; } diff --git a/lib/colvars/colvarbias_abf.h b/lib/colvars/colvarbias_abf.h index 15c81e9466..3a3120a058 100644 --- a/lib/colvars/colvarbias_abf.h +++ b/lib/colvars/colvarbias_abf.h @@ -121,6 +121,8 @@ private: } else { system_force[i] = colvars[i]->total_force().real_value - colvar_forces[i].real_value; + // If hideJacobian is active then total_force has an extra term of -fj + // which is the Jacobian-compensating force at the colvar level } if (cvm::debug()) cvm::log("ABF System force calc: cv " + cvm::to_str(i) + diff --git a/lib/colvars/colvarbias_histogram.cpp b/lib/colvars/colvarbias_histogram.cpp index 3efe0b0acc..92cc112845 100644 --- a/lib/colvars/colvarbias_histogram.cpp +++ b/lib/colvars/colvarbias_histogram.cpp @@ -129,14 +129,14 @@ int colvarbias_histogram::update() // output_prefix is unset during the constructor if (cvm::step_relative() == 0) { out_name = cvm::output_prefix() + "." + this->name + ".dat"; - cvm::log("Histogram " + this->name + " will be written to file \"" + out_name + "\""); + cvm::log("Histogram " + this->name + " will be written to file \"" + out_name + "\"\n"); } } if (out_name_dx.size() == 0) { if (cvm::step_relative() == 0) { out_name_dx = cvm::output_prefix() + "." + this->name + ".dx"; - cvm::log("Histogram " + this->name + " will be written to file \"" + out_name_dx + "\""); + cvm::log("Histogram " + this->name + " will be written to file \"" + out_name_dx + "\"\n"); } } diff --git a/lib/colvars/colvarbias_histogram.h b/lib/colvars/colvarbias_histogram.h index 2e6c6884fb..6044fa189e 100644 --- a/lib/colvars/colvarbias_histogram.h +++ b/lib/colvars/colvarbias_histogram.h @@ -35,7 +35,6 @@ protected: colvar_grid_scalar *grid; std::vector bin; std::string out_name, out_name_dx; - size_t output_freq; /// If one or more of the variables are \link colvarvalue::type_vector \endlink, treat them as arrays of this length size_t colvar_array_size; diff --git a/lib/colvars/colvarbias_meta.cpp b/lib/colvars/colvarbias_meta.cpp index d448b1f2e4..ccbd6c406f 100644 --- a/lib/colvars/colvarbias_meta.cpp +++ b/lib/colvars/colvarbias_meta.cpp @@ -50,6 +50,7 @@ colvarbias_meta::colvarbias_meta(char const *key) dump_fes = true; keep_hills = false; + restart_keep_hills = false; dump_fes_save = false; dump_replica_fes = false; @@ -902,7 +903,7 @@ void colvarbias_meta::project_hills(colvarbias_meta::hill_iter h_first, count++) { size_t i; for (i = 0; i < num_variables(); i++) { - new_colvar_values[i] = hills_energy->bin_to_value_scalar(he_ix[i], i); + new_colvar_values[i] = he->bin_to_value_scalar(he_ix[i], i); } // loop over the hills and increment the energy grid locally @@ -934,40 +935,12 @@ void colvarbias_meta::project_hills(colvarbias_meta::hill_iter h_first, } } else { - - // TODO delete this (never used) - - // simpler version, with just the energy - - for ( ; (he->index_ok(he_ix)); ) { - - for (size_t i = 0; i < num_variables(); i++) { - new_colvar_values[i] = hills_energy->bin_to_value_scalar(he_ix[i], i); - } - - hills_energy_here = 0.0; - calc_hills(h_first, h_last, hills_energy_here, &new_colvar_values); - he->acc_value(he_ix, hills_energy_here); - - he->incr(he_ix); - - count++; - if ((count % print_frequency) == 0) { - if (print_progress) { - cvm::real const progress = cvm::real(count) / cvm::real(he->number_of_points()); - std::ostringstream os; - os.setf(std::ios::fixed, std::ios::floatfield); - os << std::setw(6) << std::setprecision(2) - << 100.0 * progress - << "% done."; - cvm::log(os.str()); - } - } - } + cvm::error("No grid object provided in metadynamics::project_hills()\n", + BUG_ERROR); } if (print_progress) { - cvm::log("100.00% done."); + cvm::log("100.00% done.\n"); } if (! keep_hills) { @@ -1281,9 +1254,25 @@ int colvarbias_meta::set_state_params(std::string const &state_conf) return error_code; } + colvarparse::get_keyval(state_conf, "keepHills", restart_keep_hills, false, + colvarparse::parse_restart); + + if ((!restart_keep_hills) && (cvm::main()->restart_version_number() < 20210604)) { + if (keep_hills) { + cvm::log("Warning: could not ensure that keepHills was enabled when " + "this state file was written; because it is enabled now, " + "it is assumed that it was also then, but please verify.\n"); + restart_keep_hills = true; + } + } else { + if (restart_keep_hills) { + cvm::log("This state file/stream contains explicit hills.\n"); + } + } + std::string check_replica = ""; if (colvarparse::get_keyval(state_conf, "replicaID", check_replica, - std::string(""), colvarparse::parse_silent) && + std::string(""), colvarparse::parse_restart) && (check_replica != this->replica_id)) { return cvm::error("Error: in the state file , the " "\"metadynamics\" block has a different replicaID ("+ @@ -1297,8 +1286,6 @@ int colvarbias_meta::set_state_params(std::string const &state_conf) std::istream & colvarbias_meta::read_state_data(std::istream& is) { - bool grids_from_restart_file = use_grids; - if (use_grids) { if (expand_grids) { @@ -1343,7 +1330,6 @@ std::istream & colvarbias_meta::read_state_data(std::istream& is) !(hills_energy->read_restart(is))) { is.clear(); is.seekg(hills_energy_pos, std::ios::beg); - grids_from_restart_file = false; if (!rebin_grids) { if (hills_energy_backup == NULL) cvm::fatal_error("Error: couldn't read the free energy grid for metadynamics bias \""+ @@ -1381,7 +1367,6 @@ std::istream & colvarbias_meta::read_state_data(std::istream& is) !(hills_energy_gradients->read_restart(is))) { is.clear(); is.seekg(hills_energy_gradients_pos, std::ios::beg); - grids_from_restart_file = false; if (!rebin_grids) { if (hills_energy_backup == NULL) cvm::fatal_error("Error: couldn't read the free energy gradients grid for metadynamics bias \""+ @@ -1419,28 +1404,29 @@ std::istream & colvarbias_meta::read_state_data(std::istream& is) } } + // Save references to the end of the list of existing hills, so that it can + // be cleared if hills are read successfully state bool const existing_hills = !hills.empty(); size_t const old_hills_size = hills.size(); hill_iter old_hills_end = hills.end(); hill_iter old_hills_off_grid_end = hills_off_grid.end(); - // read the hills explicitly written (if there are any) + // Read any hills following the grid data (if any) while (read_hill(is)) { - if (cvm::debug()) + if (cvm::debug()) { cvm::log("Read a previously saved hill under the " "metadynamics bias \""+ this->name+"\", created at step "+ cvm::to_str((hills.back()).it)+".\n"); + } } is.clear(); new_hills_begin = hills.end(); - if (grids_from_restart_file) { - if (hills.size() > old_hills_size) - cvm::log("Read "+cvm::to_str(hills.size())+ - " hills in addition to the grids.\n"); - } else { - if (!hills.empty()) - cvm::log("Read "+cvm::to_str(hills.size())+" hills.\n"); + cvm::log("Read "+cvm::to_str(hills.size() - old_hills_size)+" hills.\n"); + + if (existing_hills) { + hills.erase(hills.begin(), old_hills_end); + hills_off_grid.erase(hills_off_grid.begin(), old_hills_off_grid_end); } if (rebin_grids) { @@ -1454,7 +1440,16 @@ std::istream & colvarbias_meta::read_state_data(std::istream& is) colvar_grid_gradient *new_hills_energy_gradients = new colvar_grid_gradient(colvars); - if (!grids_from_restart_file || (keep_hills && !hills.empty())) { + if (cvm::debug()) { + std::ostringstream tmp_os; + tmp_os << "hills_energy parameters:\n"; + hills_energy->write_params(tmp_os); + tmp_os << "new_hills_energy parameters:\n"; + new_hills_energy->write_params(tmp_os); + cvm::log(tmp_os.str()); + } + + if (restart_keep_hills && !hills.empty()) { // if there are hills, recompute the new grids from them cvm::log("Rebinning the energy and forces grids from "+ cvm::to_str(hills.size())+" hills (this may take a while)...\n"); @@ -1494,11 +1489,6 @@ std::istream & colvarbias_meta::read_state_data(std::istream& is) if (cvm::debug()) cvm::log("colvarbias_meta::read_restart() done\n"); - if (existing_hills) { - hills.erase(hills.begin(), old_hills_end); - hills_off_grid.erase(hills_off_grid.begin(), old_hills_off_grid_end); - } - has_data = true; if (comm != single_replica) { @@ -1509,6 +1499,15 @@ std::istream & colvarbias_meta::read_state_data(std::istream& is) } +inline std::istream & reset_istream(std::istream &is, size_t start_pos) +{ + is.clear(); + is.seekg(start_pos, std::ios::beg); + is.setstate(std::ios::failbit); + return is; +} + + std::istream & colvarbias_meta::read_hill(std::istream &is) { if (!is) return is; // do nothing if failbit is set @@ -1518,45 +1517,72 @@ std::istream & colvarbias_meta::read_hill(std::istream &is) std::string data; if ( !(is >> read_block("hill", &data)) ) { - is.clear(); - is.seekg(start_pos, std::ios::beg); - is.setstate(std::ios::failbit); - return is; + return reset_istream(is, start_pos); } + std::istringstream data_is(data); + cvm::step_number h_it = 0L; - get_keyval(data, "step", h_it, h_it, parse_restart); - if (h_it <= state_file_step) { - if (cvm::debug()) - cvm::log("Skipping a hill older than the state file for metadynamics bias \""+ - this->name+"\""+ - ((comm != single_replica) ? ", replica \""+replica_id+"\"" : "")+"\n"); - return is; - } - cvm::real h_weight; - get_keyval(data, "weight", h_weight, hill_weight, parse_restart); - std::vector h_centers(num_variables()); for (i = 0; i < num_variables(); i++) { h_centers[i].type(variables(i)->value()); } - get_keyval(data, "centers", h_centers, h_centers, parse_restart); - std::vector h_sigmas(num_variables()); - get_keyval(data, "widths", h_sigmas, h_sigmas, parse_restart); - for (i = 0; i < num_variables(); i++) { - // For backward compatibility, read the widths instead of the sigmas - h_sigmas[i] /= 2.0; - } + std::string h_replica; - std::string h_replica = ""; - if (comm != single_replica) { - get_keyval(data, "replicaID", h_replica, replica_id, parse_restart); - if (h_replica != replica_id) - cvm::fatal_error("Error: trying to read a hill created by replica \""+h_replica+ - "\" for replica \""+replica_id+ - "\"; did you swap output files?\n"); + std::string keyword; + while (data_is >> keyword) { + + if (keyword == "step") { + if ( !(data_is >> h_it)) { + return reset_istream(is, start_pos); + } + if ((h_it <= state_file_step) && !restart_keep_hills) { + if (cvm::debug()) + cvm::log("Skipping a hill older than the state file for metadynamics bias \""+ + this->name+"\""+ + ((comm != single_replica) ? ", replica \""+replica_id+"\"" : "")+"\n"); + return is; + } + } + + if (keyword == "weight") { + if ( !(data_is >> h_weight)) { + return reset_istream(is, start_pos); + } + } + + if (keyword == "centers") { + for (i = 0; i < num_variables(); i++) { + if ( !(data_is >> h_centers[i])) { + return reset_istream(is, start_pos); + } + } + } + + if (keyword == "widths") { + for (i = 0; i < num_variables(); i++) { + if ( !(data_is >> h_sigmas[i])) { + return reset_istream(is, start_pos); + } + // For backward compatibility, read the widths instead of the sigmas + h_sigmas[i] /= 2.0; + } + } + + if (comm != single_replica) { + if (keyword == "replicaID") { + if ( !(data_is >> h_replica)) { + return reset_istream(is, start_pos); + } + if (h_replica != replica_id) { + cvm::error("Error: trying to read a hill created by replica \""+ + h_replica+"\" for replica \""+replica_id+ + "\"; did you swap output files?\n", INPUT_ERROR); + } + } + } } hill_iter const hills_end = hills.end(); @@ -1699,8 +1725,12 @@ std::string const colvarbias_meta::hills_traj_file_name() const std::string const colvarbias_meta::get_state_params() const { std::ostringstream os; - if (this->comm != single_replica) + if (keep_hills) { + os << "keepHills on" << "\n"; + } + if (this->comm != single_replica) { os << "replicaID " << this->replica_id << "\n"; + } return (colvarbias::get_state_params() + os.str()); } @@ -1944,6 +1974,7 @@ colvarbias_meta::hill::hill(cvm::step_number it_in, sigmas(cv_values.size()), replica(replica_in) { + hill_value = 0.0; for (size_t i = 0; i < cv_values.size(); i++) { centers[i].type(cv_values[i]); centers[i] = cv_values[i]; @@ -1967,7 +1998,9 @@ colvarbias_meta::hill::hill(colvarbias_meta::hill const &h) centers(h.centers), sigmas(h.sigmas), replica(h.replica) -{} +{ + hill_value = 0.0; +} colvarbias_meta::hill::~hill() diff --git a/lib/colvars/colvarbias_meta.h b/lib/colvars/colvarbias_meta.h index 2f34abcc77..bf1710170e 100644 --- a/lib/colvars/colvarbias_meta.h +++ b/lib/colvars/colvarbias_meta.h @@ -155,10 +155,12 @@ protected: /// \brief How often the hills should be projected onto the grids size_t grids_freq; - /// \brief Whether to keep the hills in the restart file (e.g. to do - /// meaningful accurate rebinning afterwards) + /// Keep hills in the restart file (e.g. to accurately rebin later) bool keep_hills; + /// value of keepHills saved in the most recent restart file + bool restart_keep_hills; + /// \brief Dump the free energy surface (.pmf file) every restartFrequency bool dump_fes; diff --git a/lib/colvars/colvarcomp.cpp b/lib/colvars/colvarcomp.cpp index a1542d05bf..8938e64a0e 100644 --- a/lib/colvars/colvarcomp.cpp +++ b/lib/colvars/colvarcomp.cpp @@ -51,7 +51,7 @@ int colvar::cvc::init(std::string const &conf) std::string const old_name(name); if (name.size() > 0) { - cvm::log("Updating configuration for component \""+name+"\""); + cvm::log("Updating configuration for component \""+name+"\"\n"); } if (get_keyval(conf, "name", name, name)) { @@ -112,7 +112,7 @@ int colvar::cvc::init_total_force_params(std::string const &conf) } if (get_keyval_feature(this, conf, "oneSiteTotalForce", f_cvc_one_site_total_force, is_enabled(f_cvc_one_site_total_force))) { - cvm::log("Computing total force on group 1 only"); + cvm::log("Computing total force on group 1 only\n"); } if (! is_enabled(f_cvc_one_site_total_force)) { @@ -426,7 +426,7 @@ void colvar::cvc::collect_gradients(std::vector const &atom_ids, std::vecto // If necessary, apply inverse rotation to get atomic // gradient in the laboratory frame - if (ag.b_rotate) { + if (ag.is_enabled(f_ag_rotate)) { cvm::rotation const rot_inv = ag.rot.inverse(); for (size_t k = 0; k < ag.size(); k++) { @@ -505,7 +505,7 @@ void colvar::cvc::debug_gradients() cvm::atom_pos fit_gradient_sum, gradient_sum; // print the values of the fit gradients - if (group->b_rotate || group->b_center) { + if (group->is_enabled(f_ag_center) || group->is_enabled(f_ag_rotate)) { if (group->is_enabled(f_ag_fit_gradients)) { size_t j; @@ -514,7 +514,7 @@ void colvar::cvc::debug_gradients() for (j = 0; j < group_for_fit->fit_gradients.size(); j++) { cvm::log((group->fitting_group ? std::string("refPosGroup") : group->key) + "[" + cvm::to_str(j) + "] = " + - (group->b_rotate ? + (group->is_enabled(f_ag_rotate) ? cvm::to_str(rot_0.rotate(group_for_fit->fit_gradients[j])) : cvm::to_str(group_for_fit->fit_gradients[j]))); } @@ -525,7 +525,7 @@ void colvar::cvc::debug_gradients() for (size_t ia = 0; ia < group->size(); ia++) { // tests are best conducted in the unrotated (simulation) frame - cvm::rvector const atom_grad = (group->b_rotate ? + cvm::rvector const atom_grad = (group->is_enabled(f_ag_rotate) ? rot_inv.rotate((*group)[ia].grad) : (*group)[ia].grad); gradient_sum += atom_grad; diff --git a/lib/colvars/colvarcomp.h b/lib/colvars/colvarcomp.h index 57df68ab6e..2f68ac6abc 100644 --- a/lib/colvars/colvarcomp.h +++ b/lib/colvars/colvarcomp.h @@ -271,6 +271,12 @@ public: /// \brief Whether or not this CVC will be computed in parallel whenever possible bool b_try_scalable; + /// Forcibly set value of CVC - useful for driving an external coordinate, + /// eg. lambda dynamics + inline void set_value(colvarvalue const &new_value) { + x = new_value; + } + protected: /// \brief Cached value @@ -1344,6 +1350,71 @@ public: }; +class colvar::euler_phi + : public colvar::orientation +{ +public: + euler_phi(std::string const &conf); + euler_phi(); + virtual int init(std::string const &conf); + virtual ~euler_phi() {} + virtual void calc_value(); + virtual void calc_gradients(); + virtual void apply_force(colvarvalue const &force); + virtual cvm::real dist2(colvarvalue const &x1, + colvarvalue const &x2) const; + virtual colvarvalue dist2_lgrad(colvarvalue const &x1, + colvarvalue const &x2) const; + virtual colvarvalue dist2_rgrad(colvarvalue const &x1, + colvarvalue const &x2) const; + /// Redefined to handle the 2*PI periodicity + virtual void wrap(colvarvalue &x_unwrapped) const; +}; + + +class colvar::euler_psi + : public colvar::orientation +{ +public: + euler_psi(std::string const &conf); + euler_psi(); + virtual int init(std::string const &conf); + virtual ~euler_psi() {} + virtual void calc_value(); + virtual void calc_gradients(); + virtual void apply_force(colvarvalue const &force); + virtual cvm::real dist2(colvarvalue const &x1, + colvarvalue const &x2) const; + virtual colvarvalue dist2_lgrad(colvarvalue const &x1, + colvarvalue const &x2) const; + virtual colvarvalue dist2_rgrad(colvarvalue const &x1, + colvarvalue const &x2) const; + /// Redefined to handle the 2*PI periodicity + virtual void wrap(colvarvalue &x_unwrapped) const; +}; + + +class colvar::euler_theta + : public colvar::orientation +{ +public: + euler_theta(std::string const &conf); + euler_theta(); + virtual int init(std::string const &conf); + virtual ~euler_theta() {} + virtual void calc_value(); + virtual void calc_gradients(); + virtual void apply_force(colvarvalue const &force); + // theta angle is a scalar variable and not periodic + // we need to override the virtual functions from orientation + virtual cvm::real dist2(colvarvalue const &x1, + colvarvalue const &x2) const; + virtual colvarvalue dist2_lgrad(colvarvalue const &x1, + colvarvalue const &x2) const; + virtual colvarvalue dist2_rgrad(colvarvalue const &x1, + colvarvalue const &x2) const; +}; + /// \brief Colvar component: root mean square deviation (RMSD) of a /// group with respect to a set of reference coordinates; uses \link @@ -1406,6 +1477,28 @@ public: }; +// \brief Colvar component: alch_lambda +// To communicate value with back-end in lambda-dynamics +class colvar::alch_lambda + : public colvar::cvc +{ +protected: + // No atom groups needed +public: + alch_lambda(std::string const &conf); + alch_lambda(); + virtual ~alch_lambda() {} + virtual void calc_value(); + virtual void calc_gradients(); + virtual void apply_force(colvarvalue const &force); + virtual cvm::real dist2(colvarvalue const &x1, + colvarvalue const &x2) const; + virtual colvarvalue dist2_lgrad(colvarvalue const &x1, + colvarvalue const &x2) const; + virtual colvarvalue dist2_rgrad(colvarvalue const &x1, + colvarvalue const &x2) const; +}; + class colvar::componentDisabled : public colvar::cvc @@ -1681,11 +1774,20 @@ public: protected: - /// Identifier of the map object (as used by the simulation engine) - std::string map_name; + /// String identifier of the map object (as used by the simulation engine) + std::string volmap_name; + + /// Numeric identifier of the map object (as used by the simulation engine) + int volmap_id; /// Index of the map objet in the proxy arrays int volmap_index; + + /// Group of atoms selected internally (optional) + cvm::atom_group *atoms; + + /// Weights assigned to each atom (default: uniform weights) + std::vector atom_weights; }; diff --git a/lib/colvars/colvarcomp_alchlambda.cpp b/lib/colvars/colvarcomp_alchlambda.cpp new file mode 100644 index 0000000000..5e10a1dab5 --- /dev/null +++ b/lib/colvars/colvarcomp_alchlambda.cpp @@ -0,0 +1,56 @@ +// -*- c++ -*- + +// This file is part of the Collective Variables module (Colvars). +// The original version of Colvars and its updates are located at: +// https://github.com/Colvars/colvars +// Please update all Colvars source files before making any changes. +// If you wish to distribute your changes, please submit them to the +// Colvars repository at GitHub. + + +#include + +#include "colvarmodule.h" +#include "colvarvalue.h" +#include "colvarparse.h" +#include "colvar.h" +#include "colvarcomp.h" + + +colvar::alch_lambda::alch_lambda(std::string const &conf) + : cvc(conf) +{ + function_type = "alch_lambda"; + + disable(f_cvc_explicit_gradient); + disable(f_cvc_gradient); + + x.type(colvarvalue::type_scalar); + // Query initial value from back-end + cvm::proxy->get_alch_lambda(&x.real_value); +} + + +void colvar::alch_lambda::calc_value() +{ + // Special workflow: + // at the beginning of the timestep we get a force instead of calculating the value + + cvm::proxy->get_dE_dLambda(&ft.real_value); + ft.real_value *= -1.0; // Energy derivative to force +} + + +void colvar::alch_lambda::calc_gradients() +{ +} + + +void colvar::alch_lambda::apply_force(colvarvalue const &force) +{ + // Special workflow: + // at the end of the time step we send a new value + cvm::proxy->set_alch_lambda(&x.real_value); +} + +simple_scalar_dist_functions(alch_lambda) diff --git a/lib/colvars/colvarcomp_apath.cpp b/lib/colvars/colvarcomp_apath.cpp index 591d8d0012..a4d1df9e50 100644 --- a/lib/colvars/colvarcomp_apath.cpp +++ b/lib/colvars/colvarcomp_apath.cpp @@ -19,17 +19,8 @@ colvar::aspathCV::aspathCV(std::string const &conf): CVBasedPath(conf) { get_keyval(conf, "weights", p_weights, std::vector(cv.size(), 1.0)); x.type(colvarvalue::type_scalar); use_explicit_gradients = true; - std::vector rmsd_between_refs(total_reference_frames - 1, 0.0); - computeDistanceBetweenReferenceFrames(rmsd_between_refs); - cvm::real mean_square_displacements = 0.0; - for (size_t i_frame = 1; i_frame < total_reference_frames; ++i_frame) { - cvm::log(std::string("Distance between frame ") + cvm::to_str(i_frame) + " and " + cvm::to_str(i_frame + 1) + " is " + cvm::to_str(rmsd_between_refs[i_frame - 1]) + std::string("\n")); - mean_square_displacements += rmsd_between_refs[i_frame - 1] * rmsd_between_refs[i_frame - 1]; - } - mean_square_displacements /= cvm::real(total_reference_frames - 1); - cvm::real suggested_lambda = 1.0 / mean_square_displacements; cvm::real p_lambda; - get_keyval(conf, "lambda", p_lambda, suggested_lambda); + get_keyval(conf, "lambda", p_lambda, -1.0); ArithmeticPathCV::ArithmeticPathBase::initialize(cv.size(), total_reference_frames, p_lambda, ref_cv[0], p_weights); cvm::log(std::string("Lambda is ") + cvm::to_str(lambda) + std::string("\n")); for (size_t i_cv = 0; i_cv < cv.size(); ++i_cv) { @@ -58,6 +49,16 @@ void colvar::aspathCV::updateDistanceToReferenceFrames() { } void colvar::aspathCV::calc_value() { + if (lambda < 0) { + // this implies that the user may not set a valid lambda value + // so recompute it by the suggested value in Parrinello's paper + cvm::log("A non-positive value of lambda is detected, which implies that it may not set in the configuration.\n"); + cvm::log("This component (aspathCV) will recompute a value for lambda following the suggestion in the origin paper.\n"); + std::vector rmsd_between_refs(total_reference_frames - 1, 0.0); + computeDistanceBetweenReferenceFrames(rmsd_between_refs); + reComputeLambda(rmsd_between_refs); + cvm::log("Ok, the value of lambda is updated to " + cvm::to_str(lambda)); + } computeValue(); x = s; } @@ -107,17 +108,8 @@ colvar::azpathCV::azpathCV(std::string const &conf): CVBasedPath(conf) { get_keyval(conf, "weights", p_weights, std::vector(cv.size(), 1.0)); x.type(colvarvalue::type_scalar); use_explicit_gradients = true; - std::vector rmsd_between_refs(total_reference_frames - 1, 0.0); - computeDistanceBetweenReferenceFrames(rmsd_between_refs); - cvm::real mean_square_displacements = 0.0; - for (size_t i_frame = 1; i_frame < total_reference_frames; ++i_frame) { - cvm::log(std::string("Distance between frame ") + cvm::to_str(i_frame) + " and " + cvm::to_str(i_frame + 1) + " is " + cvm::to_str(rmsd_between_refs[i_frame - 1]) + std::string("\n")); - mean_square_displacements += rmsd_between_refs[i_frame - 1] * rmsd_between_refs[i_frame - 1]; - } - mean_square_displacements /= cvm::real(total_reference_frames - 1); - cvm::real suggested_lambda = 1.0 / mean_square_displacements; cvm::real p_lambda; - get_keyval(conf, "lambda", p_lambda, suggested_lambda); + get_keyval(conf, "lambda", p_lambda, -1.0); ArithmeticPathCV::ArithmeticPathBase::initialize(cv.size(), total_reference_frames, p_lambda, ref_cv[0], p_weights); cvm::log(std::string("Lambda is ") + cvm::to_str(lambda) + std::string("\n")); for (size_t i_cv = 0; i_cv < cv.size(); ++i_cv) { @@ -146,6 +138,16 @@ void colvar::azpathCV::updateDistanceToReferenceFrames() { } void colvar::azpathCV::calc_value() { + if (lambda < 0) { + // this implies that the user may not set a valid lambda value + // so recompute it by the suggested value in Parrinello's paper + cvm::log("A non-positive value of lambda is detected, which implies that it may not set in the configuration.\n"); + cvm::log("This component (azpathCV) will recompute a value for lambda following the suggestion in the origin paper.\n"); + std::vector rmsd_between_refs(total_reference_frames - 1, 0.0); + computeDistanceBetweenReferenceFrames(rmsd_between_refs); + reComputeLambda(rmsd_between_refs); + cvm::log("Ok, the value of lambda is updated to " + cvm::to_str(lambda)); + } computeValue(); x = z; } diff --git a/lib/colvars/colvarcomp_distances.cpp b/lib/colvars/colvarcomp_distances.cpp index 1b1b295ff1..c044da86b3 100644 --- a/lib/colvars/colvarcomp_distances.cpp +++ b/lib/colvars/colvarcomp_distances.cpp @@ -194,10 +194,10 @@ colvar::distance_z::distance_z(std::string const &conf) ref2 = parse_group(conf, "ref2", true); if ( ref2 ) { - cvm::log("Using axis joining the centers of mass of groups \"ref\" and \"ref2\""); + cvm::log("Using axis joining the centers of mass of groups \"ref\" and \"ref2\"\n"); fixed_axis = false; if (key_lookup(conf, "axis")) - cvm::log("Warning: explicit axis definition will be ignored!"); + cvm::log("Warning: explicit axis definition will be ignored!\n"); } else { if (get_keyval(conf, "axis", axis, cvm::rvector(0.0, 0.0, 1.0))) { if (axis.norm2() == 0.0) { @@ -808,9 +808,9 @@ colvar::gyration::gyration(std::string const &conf) atoms = parse_group(conf, "atoms"); if (atoms->b_user_defined_fit) { - cvm::log("WARNING: explicit fitting parameters were provided for atom group \"atoms\"."); + cvm::log("WARNING: explicit fitting parameters were provided for atom group \"atoms\".\n"); } else { - atoms->b_center = true; + atoms->enable(f_ag_center); atoms->ref_pos.assign(1, cvm::atom_pos(0.0, 0.0, 0.0)); atoms->fit_gradients.assign(atoms->size(), cvm::rvector(0.0, 0.0, 0.0)); } @@ -1025,13 +1025,13 @@ colvar::rmsd::rmsd(std::string const &conf) } if (atoms->b_user_defined_fit) { - cvm::log("WARNING: explicit fitting parameters were provided for atom group \"atoms\"."); + cvm::log("WARNING: explicit fitting parameters were provided for atom group \"atoms\".\n"); } else { // Default: fit everything - cvm::log("Enabling \"centerReference\" and \"rotateReference\", to minimize RMSD before calculating it as a variable: " + cvm::log("Enabling \"centerToReference\" and \"rotateToReference\", to minimize RMSD before calculating it as a variable: " "if this is not the desired behavior, disable them explicitly within the \"atoms\" block.\n"); - atoms->b_center = true; - atoms->b_rotate = true; + atoms->enable(f_ag_center); + atoms->enable(f_ag_rotate); // default case: reference positions for calculating the rmsd are also those used // for fitting atoms->ref_pos = ref_pos; @@ -1156,7 +1156,7 @@ void colvar::rmsd::calc_Jacobian_derivative() cvm::real rotation_term = 0.0; // The rotation term only applies is coordinates are rotated - if (atoms->b_rotate) { + if (atoms->is_enabled(f_ag_rotate)) { // gradient of the rotation matrix cvm::matrix2d grad_rot_mat(3, 3); @@ -1202,7 +1202,7 @@ void colvar::rmsd::calc_Jacobian_derivative() } // The translation term only applies is coordinates are centered - cvm::real translation_term = atoms->b_center ? 3.0 : 0.0; + cvm::real translation_term = atoms->is_enabled(f_ag_center) ? 3.0 : 0.0; jd.real_value = x.real_value > 0.0 ? (3.0 * atoms->size() - 1.0 - translation_term - rotation_term) / x.real_value : @@ -1284,10 +1284,10 @@ colvar::eigenvector::eigenvector(std::string const &conf) cvm::log("WARNING: explicit fitting parameters were provided for atom group \"atoms\".\n"); } else { // default: fit everything - cvm::log("Enabling \"centerReference\" and \"rotateReference\", to minimize RMSD before calculating the vector projection: " + cvm::log("Enabling \"centerToReference\" and \"rotateToReference\", to minimize RMSD before calculating the vector projection: " "if this is not the desired behavior, disable them explicitly within the \"atoms\" block.\n"); - atoms->b_center = true; - atoms->b_rotate = true; + atoms->enable(f_ag_center); + atoms->enable(f_ag_rotate); atoms->ref_pos = ref_pos; atoms->center_ref_pos(); atoms->disable(f_ag_fit_gradients); // cancel out if group is fitted on itself @@ -1355,14 +1355,14 @@ colvar::eigenvector::eigenvector(std::string const &conf) if (b_difference_vector) { - if (atoms->b_center) { + if (atoms->is_enabled(f_ag_center)) { // both sets should be centered on the origin for fitting for (size_t i = 0; i < atoms->size(); i++) { eigenvec[i] -= eig_center; ref_pos[i] -= ref_pos_center; } } - if (atoms->b_rotate) { + if (atoms->is_enabled(f_ag_rotate)) { atoms->rot.calc_optimal_rotation(eigenvec, ref_pos); for (size_t i = 0; i < atoms->size(); i++) { eigenvec[i] = atoms->rot.rotate(eigenvec[i]); @@ -1372,7 +1372,7 @@ colvar::eigenvector::eigenvector(std::string const &conf) for (size_t i = 0; i < atoms->size(); i++) { eigenvec[i] -= ref_pos[i]; } - if (atoms->b_center) { + if (atoms->is_enabled(f_ag_center)) { // bring back the ref positions to where they were for (size_t i = 0; i < atoms->size(); i++) { ref_pos[i] += ref_pos_center; @@ -1521,7 +1521,8 @@ colvar::cartesian::cartesian(std::string const &conf) x.type(colvarvalue::type_vector); disable(f_cvc_explicit_gradient); - x.vector1d_value.resize(atoms->size() * axes.size()); + // Don't try to access atoms if creation of the atom group failed + if (atoms != NULL) x.vector1d_value.resize(atoms->size() * axes.size()); } diff --git a/lib/colvars/colvarcomp_gpath.cpp b/lib/colvars/colvarcomp_gpath.cpp index 8849f9dbe4..884dfdaee9 100644 --- a/lib/colvars/colvarcomp_gpath.cpp +++ b/lib/colvars/colvarcomp_gpath.cpp @@ -65,8 +65,8 @@ colvar::CartesianBasedPath::CartesianBasedPath(std::string const &conf): cvc(con cvm::atom_group* tmp_atoms = parse_group(conf, "atoms"); if (!has_user_defined_fitting) { // Swipe from the rmsd class - tmp_atoms->b_center = true; - tmp_atoms->b_rotate = true; + tmp_atoms->enable(f_ag_center); + tmp_atoms->enable(f_ag_rotate); tmp_atoms->ref_pos = reference_frames[i_frame]; tmp_atoms->center_ref_pos(); tmp_atoms->enable(f_ag_fit_gradients); @@ -87,8 +87,8 @@ colvar::CartesianBasedPath::CartesianBasedPath(std::string const &conf): cvc(con std::vector reference_fitting_position(tmp_fitting_atoms->size()); cvm::load_coords(reference_position_filename.c_str(), &reference_fitting_position, tmp_fitting_atoms, reference_column, reference_column_value); // setup the atom group for calculating - tmp_atoms->b_center = true; - tmp_atoms->b_rotate = true; + tmp_atoms->enable(f_ag_center); + tmp_atoms->enable(f_ag_rotate); tmp_atoms->b_user_defined_fit = true; tmp_atoms->disable(f_ag_scalable); tmp_atoms->disable(f_ag_scalable_com); diff --git a/lib/colvars/colvarcomp_rotations.cpp b/lib/colvars/colvarcomp_rotations.cpp index c7a414b006..fbf572b3f3 100644 --- a/lib/colvars/colvarcomp_rotations.cpp +++ b/lib/colvars/colvarcomp_rotations.cpp @@ -442,3 +442,335 @@ void colvar::spin_angle::wrap(colvarvalue &x_unwrapped) const return; } + + +colvar::euler_phi::euler_phi(std::string const &conf) + : orientation() +{ + function_type = "euler_phi"; + period = 360.0; + enable(f_cvc_periodic); + enable(f_cvc_explicit_gradient); + x.type(colvarvalue::type_scalar); + init(conf); +} + + +colvar::euler_phi::euler_phi() + : orientation() +{ + function_type = "euler_phi"; + period = 360.0; + enable(f_cvc_periodic); + enable(f_cvc_explicit_gradient); + x.type(colvarvalue::type_scalar); +} + + +int colvar::euler_phi::init(std::string const &conf) +{ + int error_code = COLVARS_OK; + error_code |= orientation::init(conf); + return error_code; +} + + +void colvar::euler_phi::calc_value() +{ + atoms_cog = atoms->center_of_geometry(); + + rot.calc_optimal_rotation(ref_pos, atoms->positions_shifted(-1.0 * atoms_cog)); + + const cvm::real& q0 = rot.q.q0; + const cvm::real& q1 = rot.q.q1; + const cvm::real& q2 = rot.q.q2; + const cvm::real& q3 = rot.q.q3; + const cvm::real tmp_y = 2 * (q0 * q1 + q2 * q3); + const cvm::real tmp_x = 1 - 2 * (q1 * q1 + q2 * q2); + x.real_value = cvm::atan2(tmp_y, tmp_x) * (180.0/PI); +} + + +void colvar::euler_phi::calc_gradients() +{ + const cvm::real& q0 = rot.q.q0; + const cvm::real& q1 = rot.q.q1; + const cvm::real& q2 = rot.q.q2; + const cvm::real& q3 = rot.q.q3; + const cvm::real denominator = (2 * q0 * q1 + 2 * q2 * q3) * (2 * q0 * q1 + 2 * q2 * q3) + (-2 * q1 * q1 - 2 * q2 * q2 + 1) * (-2 * q1 * q1 - 2 * q2 * q2 + 1); + const cvm::real dxdq0 = (180.0/PI) * 2 * q1 * (-2 * q1 * q1 - 2 * q2 * q2 + 1) / denominator; + const cvm::real dxdq1 = (180.0/PI) * (2 * q0 * (-2 * q1 * q1 - 2 * q2 * q2 + 1) - 4 * q1 * (-2 * q0 * q1 - 2 * q2 * q3)) / denominator; + const cvm::real dxdq2 = (180.0/PI) * (-4 * q2 * (-2 * q0 * q1 - 2 * q2 * q3) + 2 * q3 * (-2 * q1 * q1 - 2 * q2 * q2 + 1)) / denominator; + const cvm::real dxdq3 = (180.0/PI) * 2 * q2 * (-2 * q1 * q1 - 2 * q2 * q2 + 1) / denominator; + for (size_t ia = 0; ia < atoms->size(); ia++) { + (*atoms)[ia].grad = (dxdq0 * (rot.dQ0_2[ia])[0]) + + (dxdq1 * (rot.dQ0_2[ia])[1]) + + (dxdq2 * (rot.dQ0_2[ia])[2]) + + (dxdq3 * (rot.dQ0_2[ia])[3]); + } +} + + +void colvar::euler_phi::apply_force(colvarvalue const &force) +{ + cvm::real const &fw = force.real_value; + if (!atoms->noforce) { + atoms->apply_colvar_force(fw); + } +} + + +cvm::real colvar::euler_phi::dist2(colvarvalue const &x1, + colvarvalue const &x2) const +{ + cvm::real diff = x1.real_value - x2.real_value; + diff = (diff < -180.0 ? diff + 360.0 : (diff > 180.0 ? diff - 360.0 : diff)); + return diff * diff; +} + + +colvarvalue colvar::euler_phi::dist2_lgrad(colvarvalue const &x1, + colvarvalue const &x2) const +{ + cvm::real diff = x1.real_value - x2.real_value; + diff = (diff < -180.0 ? diff + 360.0 : (diff > 180.0 ? diff - 360.0 : diff)); + return 2.0 * diff; +} + + +colvarvalue colvar::euler_phi::dist2_rgrad(colvarvalue const &x1, + colvarvalue const &x2) const +{ + cvm::real diff = x1.real_value - x2.real_value; + diff = (diff < -180.0 ? diff + 360.0 : (diff > 180.0 ? diff - 360.0 : diff)); + return (-2.0) * diff; +} + + +void colvar::euler_phi::wrap(colvarvalue &x_unwrapped) const +{ + if ((x_unwrapped.real_value - wrap_center) >= 180.0) { + x_unwrapped.real_value -= 360.0; + return; + } + + if ((x_unwrapped.real_value - wrap_center) < -180.0) { + x_unwrapped.real_value += 360.0; + return; + } + + return; +} + + +colvar::euler_psi::euler_psi(std::string const &conf) + : orientation() +{ + function_type = "euler_psi"; + period = 360.0; + enable(f_cvc_periodic); + enable(f_cvc_explicit_gradient); + x.type(colvarvalue::type_scalar); + init(conf); +} + + +colvar::euler_psi::euler_psi() + : orientation() +{ + function_type = "euler_psi"; + period = 360.0; + enable(f_cvc_periodic); + enable(f_cvc_explicit_gradient); + x.type(colvarvalue::type_scalar); +} + + +int colvar::euler_psi::init(std::string const &conf) +{ + int error_code = COLVARS_OK; + error_code |= orientation::init(conf); + return error_code; +} + + +void colvar::euler_psi::calc_value() +{ + atoms_cog = atoms->center_of_geometry(); + + rot.calc_optimal_rotation(ref_pos, atoms->positions_shifted(-1.0 * atoms_cog)); + + const cvm::real& q0 = rot.q.q0; + const cvm::real& q1 = rot.q.q1; + const cvm::real& q2 = rot.q.q2; + const cvm::real& q3 = rot.q.q3; + const cvm::real tmp_y = 2 * (q0 * q3 + q1 * q2); + const cvm::real tmp_x = 1 - 2 * (q2 * q2 + q3 * q3); + x.real_value = cvm::atan2(tmp_y, tmp_x) * (180.0/PI); +} + + +void colvar::euler_psi::calc_gradients() +{ + const cvm::real& q0 = rot.q.q0; + const cvm::real& q1 = rot.q.q1; + const cvm::real& q2 = rot.q.q2; + const cvm::real& q3 = rot.q.q3; + const cvm::real denominator = (2 * q0 * q3 + 2 * q1 * q2) * (2 * q0 * q3 + 2 * q1 * q2) + (-2 * q2 * q2 - 2 * q3 * q3 + 1) * (-2 * q2 * q2 - 2 * q3 * q3 + 1); + const cvm::real dxdq0 = (180.0/PI) * 2 * q3 * (-2 * q2 * q2 - 2 * q3 * q3 + 1) / denominator; + const cvm::real dxdq1 = (180.0/PI) * 2 * q2 * (-2 * q2 * q2 - 2 * q3 * q3 + 1) / denominator; + const cvm::real dxdq2 = (180.0/PI) * (2 * q1 * (-2 * q2 * q2 - 2 * q3 * q3 + 1) - 4 * q2 * (-2 * q0 * q3 - 2 * q1 * q2)) / denominator; + const cvm::real dxdq3 = (180.0/PI) * (2 * q0 * (-2 * q2 * q2 - 2 * q3 * q3 + 1) - 4 * q3 * (-2 * q0 * q3 - 2 * q1 * q2)) / denominator; + for (size_t ia = 0; ia < atoms->size(); ia++) { + (*atoms)[ia].grad = (dxdq0 * (rot.dQ0_2[ia])[0]) + + (dxdq1 * (rot.dQ0_2[ia])[1]) + + (dxdq2 * (rot.dQ0_2[ia])[2]) + + (dxdq3 * (rot.dQ0_2[ia])[3]); + } +} + + +void colvar::euler_psi::apply_force(colvarvalue const &force) +{ + cvm::real const &fw = force.real_value; + if (!atoms->noforce) { + atoms->apply_colvar_force(fw); + } +} + + +cvm::real colvar::euler_psi::dist2(colvarvalue const &x1, + colvarvalue const &x2) const +{ + cvm::real diff = x1.real_value - x2.real_value; + diff = (diff < -180.0 ? diff + 360.0 : (diff > 180.0 ? diff - 360.0 : diff)); + return diff * diff; +} + + +colvarvalue colvar::euler_psi::dist2_lgrad(colvarvalue const &x1, + colvarvalue const &x2) const +{ + cvm::real diff = x1.real_value - x2.real_value; + diff = (diff < -180.0 ? diff + 360.0 : (diff > 180.0 ? diff - 360.0 : diff)); + return 2.0 * diff; +} + + +colvarvalue colvar::euler_psi::dist2_rgrad(colvarvalue const &x1, + colvarvalue const &x2) const +{ + cvm::real diff = x1.real_value - x2.real_value; + diff = (diff < -180.0 ? diff + 360.0 : (diff > 180.0 ? diff - 360.0 : diff)); + return (-2.0) * diff; +} + + +void colvar::euler_psi::wrap(colvarvalue &x_unwrapped) const +{ + if ((x_unwrapped.real_value - wrap_center) >= 180.0) { + x_unwrapped.real_value -= 360.0; + return; + } + + if ((x_unwrapped.real_value - wrap_center) < -180.0) { + x_unwrapped.real_value += 360.0; + return; + } + + return; +} + + +colvar::euler_theta::euler_theta(std::string const &conf) + : orientation() +{ + function_type = "euler_theta"; + enable(f_cvc_explicit_gradient); + x.type(colvarvalue::type_scalar); + init(conf); +} + + +colvar::euler_theta::euler_theta() + : orientation() +{ + function_type = "euler_theta"; + enable(f_cvc_explicit_gradient); + x.type(colvarvalue::type_scalar); +} + + +int colvar::euler_theta::init(std::string const &conf) +{ + int error_code = COLVARS_OK; + error_code |= orientation::init(conf); + return error_code; +} + + +void colvar::euler_theta::calc_value() +{ + atoms_cog = atoms->center_of_geometry(); + + rot.calc_optimal_rotation(ref_pos, atoms->positions_shifted(-1.0 * atoms_cog)); + + const cvm::real& q0 = rot.q.q0; + const cvm::real& q1 = rot.q.q1; + const cvm::real& q2 = rot.q.q2; + const cvm::real& q3 = rot.q.q3; + x.real_value = cvm::asin(2 * (q0 * q2 - q3 * q1)) * (180.0/PI); +} + + +void colvar::euler_theta::calc_gradients() +{ + const cvm::real& q0 = rot.q.q0; + const cvm::real& q1 = rot.q.q1; + const cvm::real& q2 = rot.q.q2; + const cvm::real& q3 = rot.q.q3; + const cvm::real denominator = cvm::sqrt(1 - (2 * q0 * q2 - 2 * q1 * q3) * (2 * q0 * q2 - 2 * q1 * q3)); + const cvm::real dxdq0 = (180.0/PI) * 2 * q2 / denominator; + const cvm::real dxdq1 = (180.0/PI) * -2 * q3 / denominator; + const cvm::real dxdq2 = (180.0/PI) * 2 * q0 / denominator; + const cvm::real dxdq3 = (180.0/PI) * -2 * q1 / denominator; + for (size_t ia = 0; ia < atoms->size(); ia++) { + (*atoms)[ia].grad = (dxdq0 * (rot.dQ0_2[ia])[0]) + + (dxdq1 * (rot.dQ0_2[ia])[1]) + + (dxdq2 * (rot.dQ0_2[ia])[2]) + + (dxdq3 * (rot.dQ0_2[ia])[3]); + } +} + + +void colvar::euler_theta::apply_force(colvarvalue const &force) +{ + cvm::real const &fw = force.real_value; + if (!atoms->noforce) { + atoms->apply_colvar_force(fw); + } +} + + +cvm::real colvar::euler_theta::dist2(colvarvalue const &x1, + colvarvalue const &x2) const +{ + // theta angle is not periodic + return cvc::dist2(x1, x2); +} + + +colvarvalue colvar::euler_theta::dist2_lgrad(colvarvalue const &x1, + colvarvalue const &x2) const +{ + // theta angle is not periodic + return cvc::dist2_lgrad(x1, x2); +} + + +colvarvalue colvar::euler_theta::dist2_rgrad(colvarvalue const &x1, + colvarvalue const &x2) const +{ + // theta angle is not periodic + return cvc::dist2_rgrad(x1, x2); +} diff --git a/lib/colvars/colvarcomp_volmaps.cpp b/lib/colvars/colvarcomp_volmaps.cpp index 8ea2b76de4..5f80e46717 100644 --- a/lib/colvars/colvarcomp_volmaps.cpp +++ b/lib/colvars/colvarcomp_volmaps.cpp @@ -19,6 +19,9 @@ colvar::map_total::map_total() : cvc(), volmap_index(-1) { function_type = "map_total"; + volmap_id = -1; + volmap_index = -1; + atoms = NULL; x.type(colvarvalue::type_scalar); } @@ -27,6 +30,9 @@ colvar::map_total::map_total(std::string const &conf) : cvc(), volmap_index(-1) { function_type = "map_total"; + volmap_id = -1; + volmap_index = -1; + atoms = NULL; x.type(colvarvalue::type_scalar); map_total::init(conf); } @@ -35,26 +41,101 @@ colvar::map_total::map_total(std::string const &conf) int colvar::map_total::init(std::string const &conf) { int error_code = cvc::init(conf); - get_keyval(conf, "mapName", map_name, map_name); - volmap_index = (cvm::proxy)->init_volmap(map_name); - error_code |= volmap_index > 0 ? COLVARS_OK : INPUT_ERROR; + colvarproxy *proxy = cvm::main()->proxy; + get_keyval(conf, "mapName", volmap_name, volmap_name); + get_keyval(conf, "mapID", volmap_id, volmap_id); + register_param("mapID", reinterpret_cast(&volmap_id)); + + if ((volmap_name.size() > 0) && (volmap_id >= 0)) { + error_code |= + cvm::error("Error: mapName and mapID are mutually exclusive.\n"); + } + + // Parse optional group + atoms = parse_group(conf, "atoms", true); + if (atoms != NULL) { + + // Using internal selection + if (volmap_name.size()) { + error_code |= proxy->check_volmap_by_name(volmap_name); + } + if (volmap_id >= 0) { + error_code |= proxy->check_volmap_by_id(volmap_id); + } + + } else { + + // Using selection from the MD engine + if (volmap_name.size()) { + volmap_index = proxy->init_volmap_by_name(volmap_name); + } + if (volmap_id >= 0) { + volmap_index = proxy->init_volmap_by_id(volmap_id); + } + error_code |= volmap_index > 0 ? COLVARS_OK : INPUT_ERROR; + } + + if (get_keyval(conf, "atomWeights", atom_weights, atom_weights)) { + if (atoms == NULL) { + error_code |= cvm::error("Error: weights can only be assigned when atoms " + "are selected explicitly in Colvars.\n", + INPUT_ERROR); + } else { + if (atoms->size() != atom_weights.size()) { + error_code |= cvm::error("Error: if defined, the number of weights ("+ + cvm::to_str(atom_weights.size())+ + ") must equal the number of atoms ("+ + cvm::to_str(atoms->size())+ + ").\n", INPUT_ERROR); + } + } + } + + if (volmap_name.size() > 0) { + volmap_id = proxy->get_volmap_id_from_name(volmap_name.c_str()); + } + return error_code; } void colvar::map_total::calc_value() { - x.real_value = (cvm::proxy)->get_volmap_value(volmap_index); + colvarproxy *proxy = cvm::main()->proxy; + int flags = is_enabled(f_cvc_gradient) ? colvarproxy::volmap_flag_gradients : + colvarproxy::volmap_flag_gradients; + + if (atoms != NULL) { + // Compute the map inside Colvars + x.real_value = 0.0; + + cvm::real *w = NULL; + if (atom_weights.size() > 0) { + flags |= colvarproxy::volmap_flag_use_atom_field; + w = &(atom_weights[0]); + } + proxy->compute_volmap(flags, volmap_id, atoms->begin(), atoms->end(), + &(x.real_value), w); + } else { + // Get the externally computed value + x.real_value = proxy->get_volmap_value(volmap_index); + } } void colvar::map_total::calc_gradients() { - // Atomic coordinates are not available here + // Computed in calc_value() or by the MD engine } void colvar::map_total::apply_force(colvarvalue const &force) { - (cvm::proxy)->apply_volmap_force(volmap_index, force.real_value); + colvarproxy *proxy = cvm::main()->proxy; + if (atoms) { + if (!atoms->noforce) + atoms->apply_colvar_force(force.real_value); + } else { + proxy->apply_volmap_force(volmap_index, force.real_value); + } } diff --git a/lib/colvars/colvardeps.cpp b/lib/colvars/colvardeps.cpp index 94c5cfbda7..c240ce5a96 100644 --- a/lib/colvars/colvardeps.cpp +++ b/lib/colvars/colvardeps.cpp @@ -49,7 +49,7 @@ void colvardeps::free_children_deps() { // Cannot be in the base class destructor because it needs the derived class features() size_t i,j,fid; - if (cvm::debug()) cvm::log("DEPS: freeing children deps for " + description); + if (cvm::debug()) cvm::log("DEPS: freeing children deps for " + description + "\n"); cvm::increase_depth(); for (fid = 0; fid < feature_states.size(); fid++) { @@ -58,7 +58,7 @@ void colvardeps::free_children_deps() { int g = features()[fid]->requires_children[i]; for (j=0; jfeatures()[g]->description); + + children[j]->features()[g]->description + "\n"); children[j]->decr_ref_count(g); } } @@ -80,7 +80,7 @@ void colvardeps::restore_children_deps() { int g = features()[fid]->requires_children[i]; for (j=0; jfeatures()[g]->description); + + children[j]->features()[g]->description + "\n"); children[j]->enable(g, false, false); } } @@ -135,7 +135,7 @@ int colvardeps::enable(int feature_id, if (cvm::debug()) { cvm::log("DEPS: " + description + (dry_run ? " testing " : " enabling ") + - "\"" + f->description +"\""); + "\"" + f->description +"\"\n"); } if (fs->enabled) { @@ -144,7 +144,7 @@ int colvardeps::enable(int feature_id, // as requirement is enabled fs->ref_count++; if (cvm::debug()) - cvm::log("DEPS: bumping ref_count to " + cvm::to_str(fs->ref_count)); + cvm::log("DEPS: bumping ref_count to " + cvm::to_str(fs->ref_count) + "\n"); } // Do not try to further resolve deps return COLVARS_OK; @@ -243,7 +243,7 @@ int colvardeps::enable(int feature_id, enable(g, false, false); // Just for printing error output } cvm::decrease_depth(); - cvm::log("-----------------------------------------"); + cvm::log("-----------------------------------------\n"); if (toplevel) { cvm::error("Error: Failed dependency in " + description + "."); } @@ -285,7 +285,7 @@ int colvardeps::enable(int feature_id, do_feature_side_effects(feature_id); if (cvm::debug()) cvm::log("DEPS: feature \"" + f->description + "\" in " - + description + " enabled, ref_count = 1."); + + description + " enabled, ref_count = 1." + "\n"); } return COLVARS_OK; } @@ -297,7 +297,7 @@ int colvardeps::disable(int feature_id) { feature_state *fs = &feature_states[feature_id]; if (cvm::debug()) cvm::log("DEPS: disabling feature \"" - + f->description + "\" in " + description); + + f->description + "\" in " + description + "\n"); if (fs->enabled == false) { return COLVARS_OK; @@ -313,14 +313,14 @@ int colvardeps::disable(int feature_id) { // internal deps (self) for (i=0; irequires_self.size(); i++) { if (cvm::debug()) cvm::log("DEPS: dereferencing self " - + features()[f->requires_self[i]]->description); + + features()[f->requires_self[i]]->description + "\n"); decr_ref_count(f->requires_self[i]); } // alternates for (i=0; ialternate_refs.size(); i++) { if (cvm::debug()) cvm::log("DEPS: dereferencing alt " - + features()[fs->alternate_refs[i]]->description); + + features()[fs->alternate_refs[i]]->description + "\n"); decr_ref_count(fs->alternate_refs[i]); } // Forget these, now that they are dereferenced @@ -337,7 +337,7 @@ int colvardeps::disable(int feature_id) { int g = f->requires_children[i]; for (j=0; jfeatures()[g]->description); + + children[j]->features()[g]->description + "\n"); children[j]->decr_ref_count(g); } } @@ -430,11 +430,13 @@ void colvardeps::require_feature_alt(int f, int g, int h, int i, int j) { void colvardeps::print_state() { size_t i; - cvm::log("Features of \"" + description + "\" ON/OFF (refcount)"); + cvm::log("Features of \"" + description + "\" (refcount)\n"); for (i = 0; i < feature_states.size(); i++) { - std::string onoff = is_enabled(i) ? "ON" : "OFF"; - cvm::log("- " + features()[i]->description + " " + onoff + " (" - + cvm::to_str(feature_states[i].ref_count) + ")"); + std::string onoff = is_enabled(i) ? "ON " : " "; + // Only display refcount if non-zero for less clutter + std::string refcount = feature_states[i].ref_count != 0 ? + " (" + cvm::to_str(feature_states[i].ref_count) + ") " : ""; + cvm::log("- " + onoff + features()[i]->description + refcount + "\n"); } cvm::increase_depth(); for (i=0; irequires_children.size(); i++) { int g = features()[fid]->requires_children[i]; if (cvm::debug()) cvm::log("DEPS: re-enabling children's " - + child->features()[g]->description); + + child->features()[g]->description + "\n"); child->enable(g, false, false); } } diff --git a/lib/colvars/colvardeps.h b/lib/colvars/colvardeps.h index f4f543f336..9fd441ffec 100644 --- a/lib/colvars/colvardeps.h +++ b/lib/colvars/colvardeps.h @@ -283,6 +283,10 @@ public: /// center with fictitious mass; bias forces will be applied to /// the center f_cv_extended_Lagrangian, + /// \brief An extended variable that sets an external variable in the + /// back-end (eg. an alchemical coupling parameter for lambda-dynamics) + /// Can have a single component + f_cv_external, /// \brief The extended system coordinate undergoes Langevin dynamics f_cv_Langevin, /// \brief Output the potential and kinetic energies @@ -375,6 +379,7 @@ public: enum features_atomgroup { f_ag_active, f_ag_center, + f_ag_center_origin, f_ag_rotate, f_ag_fitting_group, /// Perform a standard minimum msd fit for given atoms diff --git a/lib/colvars/colvargrid.cpp b/lib/colvars/colvargrid.cpp index df122b1be4..2074c97aca 100644 --- a/lib/colvars/colvargrid.cpp +++ b/lib/colvars/colvargrid.cpp @@ -122,17 +122,83 @@ cvm::real colvar_grid_scalar::entropy() const colvar_grid_gradient::colvar_grid_gradient() - : colvar_grid(), samples(NULL) + : colvar_grid(), + samples(NULL), + weights(NULL) {} colvar_grid_gradient::colvar_grid_gradient(std::vector const &nx_i) - : colvar_grid(nx_i, 0.0, nx_i.size()), samples(NULL) + : colvar_grid(nx_i, 0.0, nx_i.size()), + samples(NULL), + weights(NULL) {} colvar_grid_gradient::colvar_grid_gradient(std::vector &colvars) - : colvar_grid(colvars, 0.0, colvars.size()), samples(NULL) + : colvar_grid(colvars, 0.0, colvars.size()), + samples(NULL), + weights(NULL) {} + +colvar_grid_gradient::colvar_grid_gradient(std::string &filename) + : colvar_grid(), + samples(NULL), + weights(NULL) +{ + std::ifstream is; + is.open(filename.c_str()); + if (!is.is_open()) { + cvm::error("Error opening multicol gradient file " + filename + " for reading.\n"); + return; + } + + // Data in the header: nColvars, then for each + // xiMin, dXi, nPoints, periodic flag + + std::string hash; + size_t i; + + if ( !(is >> hash) || (hash != "#") ) { + cvm::error("Error reading grid at position "+ + cvm::to_str(static_cast(is.tellg()))+ + " in stream(read \"" + hash + "\")\n"); + return; + } + + is >> nd; + mult = nd; + std::vector lower_in(nd), widths_in(nd); + std::vector nx_in(nd); + std::vector periodic_in(nd); + + for (i = 0; i < nd; i++ ) { + if ( !(is >> hash) || (hash != "#") ) { + cvm::error("Error reading grid at position "+ + cvm::to_str(static_cast(is.tellg()))+ + " in stream(read \"" + hash + "\")\n"); + return; + } + + is >> lower_in[i] >> widths_in[i] >> nx_in[i] >> periodic_in[i]; + } + + this->setup(nx_in, 0., mult); + + widths = widths_in; + + for (i = 0; i < nd; i++ ) { + lower_boundaries.push_back(colvarvalue(lower_in[i])); + periodic.push_back(static_cast(periodic_in[i])); + } + + // Reset the istream for read_multicol, which expects the whole file + is.clear(); + is.seekg(0); + read_multicol(is); + is.close(); +} + + void colvar_grid_gradient::write_1D_integral(std::ostream &os) { cvm::real bin, min, integral; @@ -202,7 +268,7 @@ integrate_potential::integrate_potential(std::vector &colvars, colvar_ // Compute inverse of Laplacian diagonal for Jacobi preconditioning // For now all code related to preconditioning is commented out // until a method better than Jacobi is implemented -// cvm::log("Preparing inverse diagonal for preconditioning..."); +// cvm::log("Preparing inverse diagonal for preconditioning...\n"); // inv_lap_diag.resize(nt); // std::vector id(nt), lap_col(nt); // for (int i = 0; i < nt; i++) { @@ -213,7 +279,30 @@ integrate_potential::integrate_potential(std::vector &colvars, colvar_ // id[i] = 0.; // inv_lap_diag[i] = 1. / lap_col[i]; // } -// cvm::log("Done."); +// cvm::log("Done.\n"); + } +} + + +integrate_potential::integrate_potential(colvar_grid_gradient * gradients) + : gradients(gradients) +{ + nd = gradients->num_variables(); + nx = gradients->number_of_points_vec(); + widths = gradients->widths; + periodic = gradients->periodic; + + // Expand grid by 1 bin in non-periodic dimensions + for (size_t i = 0; i < nd; i++ ) { + if (!periodic[i]) nx[i]++; + // Shift the grid by half the bin width (values at edges instead of center of bins) + lower_boundaries.push_back(gradients->lower_boundaries[i].real_value - 0.5 * widths[i]); + } + + setup(nx); + + if (nd > 1) { + divergence.resize(nt); } } @@ -246,7 +335,7 @@ int integrate_potential::integrate(const int itmax, const cvm::real &tol, cvm::r } else if (nd <= 3) { nr_linbcg_sym(divergence, data, tol, itmax, iter, err); - cvm::log("Integrated in " + cvm::to_str(iter) + " steps, error: " + cvm::to_str(err)); + cvm::log("Integrated in " + cvm::to_str(iter) + " steps, error: " + cvm::to_str(err) + "\n"); } else { cvm::error("Cannot integrate PMF in dimension > 3\n"); diff --git a/lib/colvars/colvargrid.h b/lib/colvars/colvargrid.h index 17d049a6eb..3642ae387c 100644 --- a/lib/colvars/colvargrid.h +++ b/lib/colvars/colvargrid.h @@ -102,6 +102,12 @@ public: return nd; } + /// Return the numbers of points in all dimensions + inline std::vector const &number_of_points_vec() const + { + return nx; + } + /// Return the number of points in the i-th direction, if provided, or /// the total number inline size_t number_of_points(int const icv = -1) const @@ -199,6 +205,7 @@ public: { nd = nt = 0; mult = 1; + has_parent_data = false; this->setup(); } @@ -222,9 +229,9 @@ public: hard_lower_boundaries(g.hard_lower_boundaries), hard_upper_boundaries(g.hard_upper_boundaries), widths(g.widths), + has_parent_data(false), has_data(false) - { - } + {} /// \brief Constructor from explicit grid sizes \param nx_i Number /// of grid points along each dimension \param t Initial value for @@ -233,7 +240,7 @@ public: colvar_grid(std::vector const &nx_i, T const &t = T(), size_t mult_i = 1) - : has_data(false) + : has_parent_data(false), has_data(false) { this->setup(nx_i, t, mult_i); } @@ -245,7 +252,7 @@ public: T const &t = T(), size_t mult_i = 1, bool add_extra_bin = false) - : has_data(false) + : has_parent_data(false), has_data(false) { this->init_from_colvars(colvars, t, mult_i, add_extra_bin); } @@ -1066,8 +1073,8 @@ public: std::vector nx_read; std::vector bin; - if ( cv.size() != nd ) { - cvm::error("Cannot read grid file: missing reference to colvars."); + if ( cv.size() > 0 && cv.size() != nd ) { + cvm::error("Cannot read grid file: number of variables in file differs from number referenced by grid.\n"); return is; } @@ -1525,6 +1532,9 @@ public: /// Constructor from a vector of colvars colvar_grid_gradient(std::vector &colvars); + /// Constructor from a multicol file + colvar_grid_gradient(std::string &filename); + /// \brief Get a vector with the binned value(s) indexed by ix, normalized if applicable inline void vector_value(std::vector const &ix, std::vector &v) const { @@ -1658,10 +1668,13 @@ class integrate_potential : public colvar_grid_scalar {} /// Constructor from a vector of colvars + gradient grid - integrate_potential (std::vector &colvars, colvar_grid_gradient * gradients); + integrate_potential(std::vector &colvars, colvar_grid_gradient * gradients); + + /// Constructor from a gradient grid (for processing grid files without a Colvars config) + integrate_potential(colvar_grid_gradient * gradients); /// \brief Calculate potential from divergence (in 2D); return number of steps - int integrate (const int itmax, const cvm::real & tol, cvm::real & err); + int integrate(const int itmax, const cvm::real & tol, cvm::real & err); /// \brief Update matrix containing divergence and boundary conditions /// based on new gradient point value, in neighboring bins diff --git a/lib/colvars/colvarmodule.cpp b/lib/colvars/colvarmodule.cpp index 95d42560fc..405c68244b 100644 --- a/lib/colvars/colvarmodule.cpp +++ b/lib/colvars/colvarmodule.cpp @@ -34,6 +34,9 @@ colvarmodule::colvarmodule(colvarproxy *proxy_in) xyz_reader_use_count = 0; + restart_version_str.clear(); + restart_version_int = 0; + if (proxy == NULL) { proxy = proxy_in; // Pointer to the proxy object parse = new colvarparse(); // Parsing object for global options @@ -48,7 +51,7 @@ colvarmodule::colvarmodule(colvarproxy *proxy_in) cvm::log(cvm::line_marker); cvm::log("Initializing the collective variables module, version "+ - cvm::to_str(COLVARS_VERSION)+".\n"); + version()+".\n"); cvm::log("Please cite Fiorin et al, Mol Phys 2013:\n " "https://dx.doi.org/10.1080/00268976.2013.813594\n" "in any publication based on this calculation.\n"); @@ -58,7 +61,7 @@ colvarmodule::colvarmodule(colvarproxy *proxy_in) } #if (__cplusplus >= 201103L) - cvm::log("This version was built with the C++11 standard or higher."); + cvm::log("This version was built with the C++11 standard or higher.\n"); #else cvm::log("This version was built without the C++11 standard: some features are disabled.\n" "Please see the following link for details:\n" @@ -186,6 +189,7 @@ std::istream & colvarmodule::getline(std::istream &is, std::string &line) size_t const sz = l.size(); if (sz > 0) { if (l[sz-1] == '\r' ) { + // Replace Windows newlines with Unix newlines line = l.substr(0, sz-1); } else { line = l; @@ -200,6 +204,7 @@ std::istream & colvarmodule::getline(std::istream &is, std::string &line) int colvarmodule::parse_config(std::string &conf) { + // Auto-generated additional configuration extra_conf.clear(); // Check that the input has matching braces @@ -208,6 +213,9 @@ int colvarmodule::parse_config(std::string &conf) INPUT_ERROR); } + // Check that the input has only ASCII characters, and warn otherwise + colvarparse::check_ascii(conf); + // Parse global options if (catch_input_errors(parse_global_params(conf))) { return get_error(); @@ -472,7 +480,7 @@ int colvarmodule::parse_biases(std::string const &conf) if (use_scripted_forces) { cvm::log(cvm::line_marker); cvm::increase_depth(); - cvm::log("User forces script will be run at each bias update."); + cvm::log("User forces script will be run at each bias update.\n"); cvm::decrease_depth(); } @@ -754,6 +762,9 @@ int colvarmodule::calc() error_code |= end_of_step(); + // TODO move this to a base-class proxy method that calls this function + error_code |= proxy->end_of_step(); + return error_code; } @@ -1311,21 +1322,23 @@ std::istream & colvarmodule::read_restart(std::istream &is) colvarparse::parse_restart); it = it_restart; - std::string restart_version; - int restart_version_int = 0; + restart_version_str.clear(); + restart_version_int = 0; parse->get_keyval(restart_conf, "version", - restart_version, std::string(""), + restart_version_str, std::string(""), colvarparse::parse_restart); - if (restart_version.size()) { - if (restart_version != std::string(COLVARS_VERSION)) { - cvm::log("This state file was generated with version "+ - restart_version+"\n"); - } + if (restart_version_str.size()) { + // Initialize integer version number of this restart file restart_version_int = - proxy->get_version_from_string(restart_version.c_str()); + proxy->get_version_from_string(restart_version_str.c_str()); } - if (restart_version_int < 20160810) { + if (restart_version() != version()) { + cvm::log("This state file was generated with version "+ + restart_version()+"\n"); + } + + if (restart_version_number() < 20160810) { // check for total force change if (proxy->total_forces_enabled()) { warn_total_forces = true; @@ -1769,6 +1782,8 @@ int cvm::read_index_file(char const *filename) cvm::error("Error: in opening index file \""+ std::string(filename)+"\".\n", FILE_ERROR); + } else { + index_file_names.push_back(std::string(filename)); } while (is.good()) { @@ -1861,6 +1876,7 @@ int colvarmodule::reset_index_groups() } index_group_names.clear(); index_groups.clear(); + index_file_names.clear(); return COLVARS_OK; } @@ -1924,48 +1940,75 @@ int cvm::load_coords_xyz(char const *filename, std::string line; cvm::real x = 0.0, y = 0.0, z = 0.0; + std::string const error_msg("Error: cannot parse XYZ file \""+ + std::string(filename)+"\".\n"); + if ( ! (xyz_is >> natoms) ) { - cvm::error("Error: cannot parse XYZ file " - + std::string(filename) + ".\n", INPUT_ERROR); + return cvm::error(error_msg, INPUT_ERROR); } ++xyz_reader_use_count; if (xyz_reader_use_count < 2) { - cvm::log("Warning: beginning from 2019-11-26 the XYZ file reader assumes Angstrom units."); + cvm::log("Warning: beginning from 2019-11-26 the XYZ file reader assumes Angstrom units.\n"); } - // skip comment line - cvm::getline(xyz_is, line); - cvm::getline(xyz_is, line); - xyz_is.width(255); - std::vector::iterator pos_i = pos->begin(); + if (xyz_is.good()) { + // skip comment line + cvm::getline(xyz_is, line); + cvm::getline(xyz_is, line); + xyz_is.width(255); + } else { + return cvm::error(error_msg, INPUT_ERROR); + } + std::vector::iterator pos_i = pos->begin(); + size_t xyz_natoms = 0; if (pos->size() != natoms) { // Use specified indices int next = 0; // indices are zero-based std::vector::const_iterator index = atoms->sorted_ids().begin(); - for ( ; pos_i != pos->end() ; pos_i++, index++) { + for ( ; pos_i != pos->end() ; pos_i++, index++) { while ( next < *index ) { cvm::getline(xyz_is, line); next++; } - xyz_is >> symbol; - xyz_is >> x >> y >> z; - // XYZ files are assumed to be in Angstrom (as eg. VMD will) - (*pos_i)[0] = proxy->angstrom_to_internal(x); - (*pos_i)[1] = proxy->angstrom_to_internal(y); - (*pos_i)[2] = proxy->angstrom_to_internal(z); + if (xyz_is.good()) { + xyz_is >> symbol; + xyz_is >> x >> y >> z; + // XYZ files are assumed to be in Angstrom (as eg. VMD will) + (*pos_i)[0] = proxy->angstrom_to_internal(x); + (*pos_i)[1] = proxy->angstrom_to_internal(y); + (*pos_i)[2] = proxy->angstrom_to_internal(z); + xyz_natoms++; + } else { + return cvm::error(error_msg, INPUT_ERROR); + } } + } else { // Use all positions + for ( ; pos_i != pos->end() ; pos_i++) { - xyz_is >> symbol; - xyz_is >> x >> y >> z; - (*pos_i)[0] = proxy->angstrom_to_internal(x); - (*pos_i)[1] = proxy->angstrom_to_internal(y); - (*pos_i)[2] = proxy->angstrom_to_internal(z); + if (xyz_is.good()) { + xyz_is >> symbol; + xyz_is >> x >> y >> z; + (*pos_i)[0] = proxy->angstrom_to_internal(x); + (*pos_i)[1] = proxy->angstrom_to_internal(y); + (*pos_i)[2] = proxy->angstrom_to_internal(z); + xyz_natoms++; + } else { + return cvm::error(error_msg, INPUT_ERROR); + } } } - return (cvm::get_error() ? COLVARS_ERROR : COLVARS_OK); + + if (xyz_natoms != pos->size()) { + return cvm::error("Error: The number of positions read from file \""+ + std::string(filename)+"\" does not match the number of "+ + "positions required: "+cvm::to_str(xyz_natoms)+" vs. "+ + cvm::to_str(pos->size())+".\n", INPUT_ERROR); + } + + return COLVARS_OK; } diff --git a/lib/colvars/colvarmodule.h b/lib/colvars/colvarmodule.h index 1cad4195d6..3d4296a4c9 100644 --- a/lib/colvars/colvarmodule.h +++ b/lib/colvars/colvarmodule.h @@ -81,6 +81,12 @@ private: public: + /// Get the version string (YYYY-MM-DD format) + std::string version() const + { + return std::string(COLVARS_VERSION); + } + /// Get the version number (higher = more recent) int version_number() const { @@ -150,6 +156,12 @@ public: return ::cos(static_cast(x)); } + /// Reimplemented to work around MS compiler issues + static inline real asin(real const &x) + { + return ::asin(static_cast(x)); + } + /// Reimplemented to work around MS compiler issues static inline real acos(real const &x) { @@ -685,6 +697,9 @@ public: static rvector position_distance(atom_pos const &pos1, atom_pos const &pos2); + /// \brief Names of .ndx files that have been loaded + std::vector index_file_names; + /// \brief Names of groups from one or more Gromacs .ndx files std::vector index_group_names; @@ -758,7 +773,11 @@ protected: /// Write labels at the next iteration bool cv_traj_write_labels; -private: + /// Version of the most recent state file read + std::string restart_version_str; + + /// Integer version of the most recent state file read + int restart_version_int; /// Counter for the current depth in the object hierarchy (useg e.g. in output) size_t depth_s; @@ -771,6 +790,18 @@ private: public: + /// Version of the most recent state file read + inline std::string restart_version() const + { + return restart_version_str; + } + + /// Integer version of the most recent state file read + inline int restart_version_number() const + { + return restart_version_int; + } + /// Get the current object depth in the hierarchy static size_t & depth(); diff --git a/lib/colvars/colvarmodule_utils.h b/lib/colvars/colvarmodule_utils.h new file mode 100644 index 0000000000..a7004edd92 --- /dev/null +++ b/lib/colvars/colvarmodule_utils.h @@ -0,0 +1,80 @@ +// -*- c++ -*- + +// This file is part of the Collective Variables module (Colvars). +// The original version of Colvars and its updates are located at: +// https://github.com/Colvars/colvars +// Please update all Colvars source files before making any changes. +// If you wish to distribute your changes, please submit them to the +// Colvars repository at GitHub. + + +#ifndef COLVARMODULE_UTILS_H +#define COLVARMODULE_UTILS_H + + +#include "colvarmodule.h" + + +template +cvm::real get_force_norm2(T const &x) +{ + return x.norm2(); +} + + +template <> +inline cvm::real get_force_norm2(cvm::real const &x) +{ + return x*x; +} + + +template +cvm::real compute_norm2_stats(std::vector const &v, + int *minmax_index = NULL) +{ + cvm::real result = 0.0; + if (flag == -1) { + // Initialize for minimum search, using approx. largest float32 value + result = 1.0e38; + } + + typename std::vector::const_iterator xi = v.begin(); + size_t i = 0; + + if (get_index) *minmax_index = -1; // Let's not assume minmax_index is initialized to -1 + + for ( ; xi != v.end(); xi++, i++) { + cvm::real const norm2 = get_force_norm2(*xi); + if (flag == 0) { + result += norm2; + } + if (flag == 1) { + if (norm2 > result) { + result = norm2; + if (get_index) *minmax_index = i; + } + } + if (flag == -1) { + if (norm2 < result) { + result = norm2; + if (get_index) *minmax_index = i; + } + } + } + + size_t const n = v.size(); + + if (flag == 0) { + if (n > 0) { + result /= cvm::real(n); + } + } + + result = cvm::sqrt(result); + + return result; +} + + +#endif diff --git a/lib/colvars/colvarparse.cpp b/lib/colvars/colvarparse.cpp index cbe19c1914..3449a681f3 100644 --- a/lib/colvars/colvarparse.cpp +++ b/lib/colvars/colvarparse.cpp @@ -125,6 +125,10 @@ void colvarparse::mark_key_set_user(std::string const &key_str, cvm::log("# "+key_str+" = "+cvm::to_str(value)+"\n", cvm::log_user_params()); } + if (parse_mode & parse_deprecation_warning) { + cvm::log("Warning: keyword "+key_str+ + " is deprecated. Check the documentation for the current equivalent.\n"); + } } @@ -919,6 +923,26 @@ int colvarparse::check_braces(std::string const &conf, return (brace_count != 0) ? INPUT_ERROR : COLVARS_OK; } + +int colvarparse::check_ascii(std::string const &conf) +{ + // Check for non-ASCII characters + std::string line; + std::istringstream is(conf); + while (cvm::getline(is, line)) { + unsigned char const * const uchars = + reinterpret_cast(line.c_str()); + for (size_t i = 0; i < line.size(); i++) { + if (uchars[i] & 0x80U) { + cvm::log("Warning: non-ASCII character detected in this line: \""+ + line+"\".\n"); + } + } + } + return COLVARS_OK; +} + + void colvarparse::split_string(const std::string& data, const std::string& delim, std::vector& dest) { size_t index = 0, new_index = 0; std::string tmpstr; diff --git a/lib/colvars/colvarparse.h b/lib/colvars/colvarparse.h index b7d42fdffa..8e35896f89 100644 --- a/lib/colvars/colvarparse.h +++ b/lib/colvars/colvarparse.h @@ -56,6 +56,8 @@ public: parse_echo = (1<<1), /// Print the default value of a keyword, if it is NOT given parse_echo_default = (1<<2), + /// Print a deprecation warning if the keyword is given + parse_deprecation_warning = (1<<3), /// Do not print the keyword parse_silent = 0, /// Raise error if the keyword is not provided @@ -66,7 +68,9 @@ public: /// The call is being executed from a read_restart() function parse_restart = (1<<18), /// Alias for old default behavior (should be phased out) - parse_normal = (1<<2) | (1<<1) | (1<<17) + parse_normal = (1<<2) | (1<<1) | (1<<17), + /// Settings for a deprecated keyword + parse_deprecated = (1<<1) | (1<<3) | (1<<17) }; /// \brief Check that all the keywords within "conf" are in the list @@ -317,6 +321,10 @@ public: /// from this position static int check_braces(std::string const &conf, size_t const start_pos); + /// \brief Check that a config string contains non-ASCII characters + /// \param conf The configuration string + static int check_ascii(std::string const &conf); + /// \brief Split a string with a specified delimiter into a vector /// \param data The string to be splitted /// \param delim A delimiter diff --git a/lib/colvars/colvarproxy.cpp b/lib/colvars/colvarproxy.cpp index 24f833f857..d0f83c70a7 100644 --- a/lib/colvars/colvarproxy.cpp +++ b/lib/colvars/colvarproxy.cpp @@ -24,12 +24,15 @@ #include "colvarproxy.h" #include "colvarscript.h" #include "colvaratoms.h" +#include "colvarmodule_utils.h" colvarproxy_system::colvarproxy_system() { angstrom_value = 0.0; + kcal_mol_value = 0.0; + boundaries_type = boundaries_unsupported; total_force_requested = false; reset_pbc_lattice(); } @@ -38,6 +41,46 @@ colvarproxy_system::colvarproxy_system() colvarproxy_system::~colvarproxy_system() {} +int colvarproxy_system::set_unit_system(std::string const & /* units */, + bool /* check_only */) +{ + return COLVARS_NOT_IMPLEMENTED; +} + + +cvm::real colvarproxy_system::backend_angstrom_value() +{ + return 1.0; +} + + +cvm::real colvarproxy_system::boltzmann() +{ + return 0.001987191; +} + + +cvm::real colvarproxy_system::temperature() +{ + // TODO define, document and implement a user method to set the value of this + return 300.0; +} + + +cvm::real colvarproxy_system::dt() +{ + // TODO define, document and implement a user method to set the value of this + return 1.0; +} + + +cvm::real colvarproxy_system::rand_gaussian() +{ + // TODO define, document and implement a user method to set the value of this + return 0.0; +} + + void colvarproxy_system::add_energy(cvm::real /* energy */) {} @@ -139,9 +182,31 @@ int colvarproxy_system::get_molid(int &) } +int colvarproxy_system::get_alch_lambda(cvm::real* lambda) +{ + return cvm::error("Error in get_alch_lambda: alchemical lambda dynamics is not supported by this build.", + COLVARS_NOT_IMPLEMENTED); +} + + +int colvarproxy_system::set_alch_lambda(cvm::real* lambda) +{ + return cvm::error("Error in set_alch_lambda: alchemical lambda dynamics is not supported by this build.", + COLVARS_NOT_IMPLEMENTED); +} + + +int colvarproxy_system::get_dE_dLambda(cvm::real* force) +{ + return cvm::error("Error in get_dE_dLambda: alchemical lambda dynamics is not supported by this build.", + COLVARS_NOT_IMPLEMENTED); +} + colvarproxy_atoms::colvarproxy_atoms() { + atoms_rms_applied_force_ = atoms_max_applied_force_ = 0.0; + atoms_max_applied_force_id_ = -1; updated_masses_ = updated_charges_ = false; } @@ -178,6 +243,18 @@ int colvarproxy_atoms::add_atom_slot(int atom_id) } +int colvarproxy_atoms::init_atom(int /* atom_number */) +{ + return COLVARS_NOT_IMPLEMENTED; +} + + +int colvarproxy_atoms::check_atom_id(int /* atom_number */) +{ + return COLVARS_NOT_IMPLEMENTED; +} + + int colvarproxy_atoms::init_atom(cvm::residue_id const & /* residue */, std::string const & /* atom_name */, std::string const & /* segment_id */) @@ -232,8 +309,39 @@ int colvarproxy_atoms::load_coords(char const * /* filename */, } +void colvarproxy_atoms::compute_rms_atoms_applied_force() +{ + atoms_rms_applied_force_ = + compute_norm2_stats(atoms_new_colvar_forces); +} -colvarproxy_atom_groups::colvarproxy_atom_groups() {} + +void colvarproxy_atoms::compute_max_atoms_applied_force() +{ + int minmax_index = -1; + size_t const n_atoms_ids = atoms_ids.size(); + if ((n_atoms_ids > 0) && (n_atoms_ids == atoms_new_colvar_forces.size())) { + atoms_max_applied_force_ = + compute_norm2_stats(atoms_new_colvar_forces, + &minmax_index); + if (minmax_index >= 0) { + atoms_max_applied_force_id_ = atoms_ids[minmax_index]; + } else { + atoms_max_applied_force_id_ = -1; + } + } else { + atoms_max_applied_force_ = + compute_norm2_stats(atoms_new_colvar_forces); + atoms_max_applied_force_id_ = -1; + } +} + + + +colvarproxy_atom_groups::colvarproxy_atom_groups() +{ + atom_groups_rms_applied_force_ = atom_groups_max_applied_force_ = 0.0; +} colvarproxy_atom_groups::~colvarproxy_atom_groups() @@ -296,6 +404,20 @@ void colvarproxy_atom_groups::clear_atom_group(int index) } +void colvarproxy_atom_groups::compute_rms_atom_groups_applied_force() +{ + atom_groups_rms_applied_force_ = + compute_norm2_stats(atom_groups_new_colvar_forces); +} + + +void colvarproxy_atom_groups::compute_max_atom_groups_applied_force() +{ + atom_groups_max_applied_force_ = + compute_norm2_stats(atom_groups_new_colvar_forces); +} + + colvarproxy_smp::colvarproxy_smp() { @@ -464,28 +586,14 @@ int colvarproxy_smp::smp_unlock() colvarproxy_script::colvarproxy_script() { script = NULL; + force_script_defined = false; + have_scripts = false; } colvarproxy_script::~colvarproxy_script() {} -char const *colvarproxy_script::script_obj_to_str(unsigned char *obj) -{ - cvm::error("Error: trying to print a script object without a scripting " - "language interface.\n", BUG_ERROR); - return reinterpret_cast(obj); -} - - -std::vector colvarproxy_script::script_obj_to_str_vector(unsigned char * /* obj */) -{ - cvm::error("Error: trying to print a script object without a scripting " - "language interface.\n", BUG_ERROR); - return std::vector(); -} - - int colvarproxy_script::run_force_callback() { return COLVARS_NOT_IMPLEMENTED; @@ -512,6 +620,7 @@ int colvarproxy_script::run_colvar_gradient_callback(std::string const & /* name colvarproxy_io::colvarproxy_io() { input_buffer_ = NULL; + restart_frequency_engine = 0; } @@ -660,6 +769,23 @@ int colvarproxy::update_output() } +int colvarproxy::end_of_step() +{ + // Disable flags that Colvars doesn't need any more + updated_masses_ = updated_charges_ = false; + + // Compute force statistics + compute_rms_atoms_applied_force(); + compute_max_atoms_applied_force(); + compute_rms_atom_groups_applied_force(); + compute_max_atom_groups_applied_force(); + compute_rms_volmaps_applied_force(); + compute_max_volmaps_applied_force(); + + return COLVARS_OK; +} + + int colvarproxy::post_run() { int error_code = COLVARS_OK; @@ -672,6 +798,19 @@ int colvarproxy::post_run() } +void colvarproxy::log(std::string const &message) +{ + fprintf(stdout, "colvars: %s", message.c_str()); +} + + +void colvarproxy::error(std::string const &message) +{ + // TODO handle errors? + colvarproxy::log(message); +} + + void colvarproxy::add_error_msg(std::string const &message) { std::istringstream is(message); diff --git a/lib/colvars/colvarproxy.h b/lib/colvars/colvarproxy.h index 7a60292092..c9841ebdf4 100644 --- a/lib/colvars/colvarproxy.h +++ b/lib/colvars/colvarproxy.h @@ -59,7 +59,7 @@ public: std::string units; /// \brief Request to set the units used internally by Colvars - virtual int set_unit_system(std::string const &units, bool check_only) = 0; + virtual int set_unit_system(std::string const &units, bool check_only); /// \brief Value of 1 Angstrom in the internal (front-end) Colvars unit for atomic coordinates /// * defaults to 0. in the base class; derived proxy classes must set it @@ -68,7 +68,7 @@ public: cvm::real angstrom_value; /// \brief Value of 1 Angstrom in the backend's unit for atomic coordinates - virtual cvm::real backend_angstrom_value() = 0; + virtual cvm::real backend_angstrom_value(); /// \brief Value of 1 kcal/mol in the internal Colvars unit for energy cvm::real kcal_mol_value; @@ -79,6 +79,12 @@ public: return l * angstrom_value; } + /// \brief Convert a length from internal to Angstrom + inline cvm::real internal_to_angstrom(cvm::real l) const + { + return l / angstrom_value; + } + // /// \brief Convert a length from back-end unit to internal // inline cvm::real back_end_to_internal_unit(cvm::real l) { // if (angstrom_value == 0.) { @@ -88,19 +94,19 @@ public: // } /// \brief Boltzmann constant in internal Colvars units - virtual cvm::real boltzmann() = 0; + virtual cvm::real boltzmann(); /// \brief Target temperature of the simulation (K units) - virtual cvm::real temperature() = 0; + virtual cvm::real temperature(); /// \brief Time step of the simulation (fs) - virtual cvm::real dt() = 0; + virtual cvm::real dt(); /// \brief Pseudo-random number with Gaussian distribution - virtual cvm::real rand_gaussian(void) = 0; + virtual cvm::real rand_gaussian(void); /// Pass restraint energy value for current timestep to MD engine - virtual void add_energy(cvm::real energy) = 0; + virtual void add_energy(cvm::real energy); /// \brief Get the PBC-aware distance vector between two positions virtual cvm::rvector position_distance(cvm::atom_pos const &pos1, @@ -126,6 +132,15 @@ public: /// \param molid Set this argument equal to the current VMD molid virtual int get_molid(int &molid); + /// Get value of alchemical lambda parameter from back-end (if available) + virtual int get_alch_lambda(cvm::real* lambda); + + /// Set value of alchemical lambda parameter in back-end (if available) + virtual int set_alch_lambda(cvm::real* lambda); + + /// Get energy derivative with respect to lambda (if available) + virtual int get_dE_dLambda(cvm::real* force); + protected: /// Whether the total forces have been requested @@ -167,11 +182,11 @@ public: /// Prepare this atom for collective variables calculation, selecting it by /// numeric index (1-based) - virtual int init_atom(int atom_number) = 0; + virtual int init_atom(int atom_number); /// Check that this atom number is valid, but do not initialize the /// corresponding atom yet - virtual int check_atom_id(int atom_number) = 0; + virtual int check_atom_id(int atom_number); /// Select this atom for collective variables calculation, using name and /// residue number. Not all programs support this: leave this function as @@ -262,11 +277,16 @@ public: return cvm::rvector(0.0); } - inline std::vector *modify_atom_ids() + inline std::vector const *get_atom_ids() const { return &atoms_ids; } + inline std::vector const *get_atom_masses() const + { + return &atoms_masses; + } + inline std::vector *modify_atom_masses() { // assume that we are requesting masses to change them @@ -274,6 +294,11 @@ public: return &atoms_masses; } + inline std::vector const *get_atom_charges() + { + return &atoms_charges; + } + inline std::vector *modify_atom_charges() { // assume that we are requesting charges to change them @@ -281,21 +306,60 @@ public: return &atoms_charges; } + inline std::vector const *get_atom_positions() const + { + return &atoms_positions; + } + inline std::vector *modify_atom_positions() { return &atoms_positions; } + inline std::vector const *get_atom_total_forces() const + { + return &atoms_total_forces; + } + inline std::vector *modify_atom_total_forces() { return &atoms_total_forces; } - inline std::vector *modify_atom_new_colvar_forces() + inline std::vector const *get_atom_applied_forces() const { return &atoms_new_colvar_forces; } + inline std::vector *modify_atom_applied_forces() + { + return &atoms_new_colvar_forces; + } + + /// Compute the root-mean-square of the applied forces + void compute_rms_atoms_applied_force(); + + /// Compute the maximum norm among all applied forces + void compute_max_atoms_applied_force(); + + /// Get the root-mean-square of the applied forces + inline cvm::real rms_atoms_applied_force() const + { + return atoms_rms_applied_force_; + } + + /// Get the maximum norm among all applied forces + inline cvm::real max_atoms_applied_force() const + { + return atoms_max_applied_force_; + } + + /// Get the atom ID with the largest applied force + inline int max_atoms_applied_force_id() const + { + return atoms_max_applied_force_id_; + } + /// Record whether masses have been updated inline bool updated_masses() const { @@ -326,6 +390,15 @@ protected: /// \brief Forces applied from colvars, to be communicated to the MD integrator std::vector atoms_new_colvar_forces; + /// Root-mean-square of the applied forces + cvm::real atoms_rms_applied_force_; + + /// Maximum norm among all applied forces + cvm::real atoms_max_applied_force_; + + /// ID of the atom with the maximum norm among all applied forces + int atoms_max_applied_force_id_; + /// Whether the masses and charges have been updated from the host code bool updated_masses_, updated_charges_; @@ -404,6 +477,56 @@ public: return cvm::rvector(0.0); } + inline std::vector const *get_atom_group_ids() const + { + return &atom_groups_ids; + } + + inline std::vector *modify_atom_group_masses() + { + // TODO updated_masses + return &atom_groups_masses; + } + + inline std::vector *modify_atom_group_charges() + { + // TODO updated masses + return &atom_groups_charges; + } + + inline std::vector *modify_atom_group_positions() + { + return &atom_groups_coms; + } + + inline std::vector *modify_atom_group_total_forces() + { + return &atom_groups_total_forces; + } + + inline std::vector *modify_atom_group_applied_forces() + { + return &atom_groups_new_colvar_forces; + } + + /// Compute the root-mean-square of the applied forces + void compute_rms_atom_groups_applied_force(); + + /// Compute the maximum norm among all applied forces + void compute_max_atom_groups_applied_force(); + + /// Get the root-mean-square of the applied forces + inline cvm::real rms_atom_groups_applied_force() const + { + return atom_groups_rms_applied_force_; + } + + /// Get the maximum norm among all applied forces + inline cvm::real max_atom_groups_applied_force() const + { + return atom_groups_max_applied_force_; + } + protected: /// \brief Array of 0-based integers used to uniquely associate atom groups @@ -422,6 +545,12 @@ protected: /// \brief Forces applied from colvars, to be communicated to the MD integrator std::vector atom_groups_new_colvar_forces; + /// Root-mean-square of the applied group forces + cvm::real atom_groups_rms_applied_force_; + + /// Maximum norm among all applied group forces + cvm::real atom_groups_max_applied_force_; + /// Used by all init_atom_group() functions: create a slot for an atom group not requested yet int add_atom_group_slot(int atom_group_id); }; @@ -519,12 +648,6 @@ public: /// Destructor virtual ~colvarproxy_script(); - /// Convert a script object (Tcl or Python call argument) to a C string - virtual char const *script_obj_to_str(unsigned char *obj); - - /// Convert a script object (Tcl or Python call argument) to a vector of strings - virtual std::vector script_obj_to_str_vector(unsigned char *obj); - /// Pointer to the scripting interface object /// (does not need to be allocated in a new interface) colvarscript *script; @@ -706,11 +829,14 @@ public: /// \brief Update data based from the results of a module update (e.g. send forces) virtual int update_output(); + /// Carry out operations needed before next step is run + int end_of_step(); + /// Print a message to the main log - virtual void log(std::string const &message) = 0; + virtual void log(std::string const &message); /// Print a message to the main log and/or let the host code know about it - virtual void error(std::string const &message) = 0; + virtual void error(std::string const &message); /// Record error message (used by VMD to collect them after a script call) void add_error_msg(std::string const &message); diff --git a/lib/colvars/colvarproxy_tcl.cpp b/lib/colvars/colvarproxy_tcl.cpp index a799bead7d..0a5473cae9 100644 --- a/lib/colvars/colvarproxy_tcl.cpp +++ b/lib/colvars/colvarproxy_tcl.cpp @@ -11,6 +11,8 @@ #if defined(NAMD_TCL) || defined(VMDTCL) #define COLVARS_TCL +#endif +#ifdef COLVARS_TCL #include #endif diff --git a/lib/colvars/colvarproxy_tcl.h b/lib/colvars/colvarproxy_tcl.h index 371b3c0224..badb62f900 100644 --- a/lib/colvars/colvarproxy_tcl.h +++ b/lib/colvars/colvarproxy_tcl.h @@ -27,7 +27,7 @@ public: /// Is Tcl available? (trigger initialization if needed) int tcl_available(); - /// Tcl implementation of script_obj_to_str() + /// Get a string representation of the Tcl object pointed to by obj char const *tcl_get_str(void *obj); /// Tcl implementation of run_force_callback() @@ -51,6 +51,12 @@ public: return tcl_interp_; } + /// Set the pointer to the Tcl interpreter + inline void set_tcl_interp(void *interp) + { + tcl_interp_ = interp; + } + protected: /// Pointer to Tcl interpreter object diff --git a/lib/colvars/colvarproxy_volmaps.cpp b/lib/colvars/colvarproxy_volmaps.cpp index fc665eec99..03e5d303d1 100644 --- a/lib/colvars/colvarproxy_volmaps.cpp +++ b/lib/colvars/colvarproxy_volmaps.cpp @@ -9,9 +9,13 @@ #include "colvarmodule.h" #include "colvarproxy_volmaps.h" +#include "colvarmodule_utils.h" -colvarproxy_volmaps::colvarproxy_volmaps() {} +colvarproxy_volmaps::colvarproxy_volmaps() +{ + volmaps_rms_applied_force_ = volmaps_max_applied_force_ = 0.0; +} colvarproxy_volmaps::~colvarproxy_volmaps() {} @@ -46,25 +50,41 @@ int colvarproxy_volmaps::add_volmap_slot(int volmap_id) } -int colvarproxy_volmaps::init_volmap(int volmap_id) +int colvarproxy_volmaps::check_volmap_by_id(int /* volmap_id */) { - return cvm::error("Error: access to volumetric maps is unavailable " - "in this build.\n", + return cvm::error("Error: selecting volumetric maps is not available.\n", COLVARS_NOT_IMPLEMENTED); } -int colvarproxy_volmaps::init_volmap(const char *volmap_name) +int colvarproxy_volmaps::check_volmap_by_name(const char * /* volmap_name */) { - return cvm::error("Error: access to volumetric maps is unavailable " - "in this build.\n", - COLVARS_NOT_IMPLEMENTED); + return cvm::error("Error: selecting volumetric maps by name is not " + "available.\n", COLVARS_NOT_IMPLEMENTED); } -int colvarproxy_volmaps::init_volmap(const std::string &volmap_name) +int colvarproxy_volmaps::init_volmap_by_name(char const *volmap_name) { - return init_volmap(volmap_name.c_str()); + return -1; +} + + +int colvarproxy_volmaps::init_volmap_by_id(int volmap_id) +{ + return -1; +} + + +int colvarproxy_volmaps::init_volmap_by_name(std::string const &volmap_name) +{ + return init_volmap_by_name(volmap_name.c_str()); +} + + +int colvarproxy_volmaps::check_volmap_by_name(std::string const &volmap_name) +{ + return check_volmap_by_name(volmap_name.c_str()); } @@ -79,3 +99,36 @@ void colvarproxy_volmaps::clear_volmap(int index) volmaps_ncopies[index] -= 1; } } + + +int colvarproxy_volmaps::get_volmap_id_from_name(char const *volmap_name) +{ + // Raise error + colvarproxy_volmaps::check_volmap_by_name(volmap_name); + return -1; +} + + +int colvarproxy_volmaps::compute_volmap(int /* flags */, + int /* volmap_id */, + cvm::atom_iter /* atom_begin */, + cvm::atom_iter /* atom_end */, + cvm::real * /* value */, + cvm::real * /* atom_field */) +{ + return COLVARS_NOT_IMPLEMENTED; +} + + +void colvarproxy_volmaps::compute_rms_volmaps_applied_force() +{ + volmaps_rms_applied_force_ = + compute_norm2_stats(volmaps_new_colvar_forces); +} + + +void colvarproxy_volmaps::compute_max_volmaps_applied_force() +{ + volmaps_max_applied_force_ = + compute_norm2_stats(volmaps_new_colvar_forces); +} diff --git a/lib/colvars/colvarproxy_volmaps.h b/lib/colvars/colvarproxy_volmaps.h index 67cbb2cd2d..6e88ee83f9 100644 --- a/lib/colvars/colvarproxy_volmaps.h +++ b/lib/colvars/colvarproxy_volmaps.h @@ -25,17 +25,37 @@ public: int add_volmap_slot(int volmap_id); /// Request and prepare this volumetric map for use by Colvars - virtual int init_volmap(int volmap_id); + /// \param volmap_id Numeric ID used by the MD engine + /// \returns Index of the map in the colvarproxy arrays + virtual int init_volmap_by_id(int volmap_id); /// Request and prepare this volumetric map for use by Colvars - virtual int init_volmap(char const *volmap_name); + /// \param volmap_name Name used by the MD engine + /// \returns Index of the map in the colvarproxy arrays + virtual int init_volmap_by_name(char const *volmap_name); + + /// Check that the given volmap ID is valid (return COLVARS_OK if it is) + /// \param volmap_id Numeric ID used by the MD engine + /// \returns Error code + virtual int check_volmap_by_id(int volmap_id); + + /// Check that the given volmap name is valid (return COLVARS_OK if it is) + /// \param volmap_name Name used by the MD engine + /// \returns Error code + virtual int check_volmap_by_name(char const *volmap_name); /// Request and prepare this volumetric map for use by Colvars - int init_volmap(std::string const &volmap_name); + int init_volmap_by_name(std::string const &volmap_name); + + /// Check that the given volmap name is valid (return COLVARS_OK if it is) + int check_volmap_by_name(std::string const &volmap_name); /// \brief Used by the CVC destructors virtual void clear_volmap(int index); + /// Get the numeric ID of the given volumetric map (for the MD program) + virtual int get_volmap_id_from_name(char const *volmap_name); + /// Get the numeric ID of the given volumetric map (for the MD program) inline int get_volmap_id(int index) const { @@ -54,6 +74,32 @@ public: volmaps_new_colvar_forces[index] += new_force; } + /// Re-weigh an atomic field (e.g. a colvar) by the value of a volumetric map + /// \param flags Combination of flags + /// \param volmap_id Numeric index of the map (no need to request it) + /// \param atom_begin Iterator pointing to first atom + /// \param atom_end Iterator pointing past the last atom + /// \param value Pointer to location of total to increment + /// \param atom_field Array of atomic field values (if NULL, ones are used) + virtual int compute_volmap(int flags, + int volmap_id, + cvm::atom_iter atom_begin, + cvm::atom_iter atom_end, + cvm::real *value, + cvm::real *atom_field); + + /// Flags controlling what computation is done on the map + enum { + volmap_flag_null = 0, + volmap_flag_gradients = 1, + volmap_flag_use_atom_field = (1<<8) + }; + + /// Compute the root-mean-square of the applied forces + void compute_rms_volmaps_applied_force(); + + /// Compute the maximum norm among all applied forces + void compute_max_volmaps_applied_force(); protected: @@ -70,6 +116,12 @@ protected: /// \brief Forces applied from colvars, to be communicated to the MD /// integrator std::vector volmaps_new_colvar_forces; + + /// Root-mean-square of the the applied forces + cvm::real volmaps_rms_applied_force_; + + /// Maximum norm among all applied forces + cvm::real volmaps_max_applied_force_; }; diff --git a/lib/colvars/colvars_version.h b/lib/colvars/colvars_version.h index 33e05d72d1..7847bd4aba 100644 --- a/lib/colvars/colvars_version.h +++ b/lib/colvars/colvars_version.h @@ -1,3 +1,3 @@ #ifndef COLVARS_VERSION -#define COLVARS_VERSION "2020-09-17" +#define COLVARS_VERSION "2021-08-03" #endif diff --git a/lib/colvars/colvarscript.cpp b/lib/colvars/colvarscript.cpp index ebd52b10ad..490ff6e81c 100644 --- a/lib/colvars/colvarscript.cpp +++ b/lib/colvars/colvarscript.cpp @@ -13,6 +13,8 @@ #if defined(NAMD_TCL) || defined(VMDTCL) #define COLVARS_TCL +#endif +#ifdef COLVARS_TCL #include #endif @@ -23,6 +25,19 @@ +#ifdef COLVARS_TCL +/// Run the script API via Tcl command-line interface +/// \param clientData Not used +/// \param my_interp Pointer to Tcl_Interp object (read from Colvars if NULL) +/// \param objc Number of Tcl command parameters +/// \param objv Array of command parameters +/// \return Result of the script command +extern "C" int tcl_run_colvarscript_command(ClientData clientData, + Tcl_Interp *interp_in, + int objc, Tcl_Obj *const objv[]); +#endif + + colvarscript::colvarscript(colvarproxy *p) : proxy_(p), colvars(p->colvars), @@ -57,9 +72,11 @@ int colvarscript::init_commands() } cmd_help.resize(colvarscript::cv_n_commands); + cmd_rethelp.resize(colvarscript::cv_n_commands); cmd_n_args_min.resize(colvarscript::cv_n_commands); cmd_n_args_max.resize(colvarscript::cv_n_commands); cmd_arghelp.resize(colvarscript::cv_n_commands); + cmd_full_help.resize(colvarscript::cv_n_commands); cmd_fns.resize(colvarscript::cv_n_commands); if (cmd_names) { @@ -95,24 +112,60 @@ int colvarscript::init_command(colvarscript::command const &comm, { cmd_str_map[std::string(name)] = comm; cmd_names[comm] = name; - cmd_help[comm] = help; + + // Initialize short help string and return-value help string (if present) + { + std::string const help_str(help); + std::istringstream is(help_str); + std::string line; + std::getline(is, line); + cmd_help[comm] = line; + cmd_rethelp[comm] = ""; + while (std::getline(is, line)) { + cmd_rethelp[comm] += line + "\n"; + } + } + + // Initialize arguments' help strings cmd_n_args_min[comm] = n_args_min; cmd_n_args_max[comm] = n_args_max; - std::string const arghelp_str(arghelp); - std::istringstream is(arghelp_str); - std::string line; - for (int iarg = 0; iarg < n_args_max; iarg++) { - if (! std::getline(is, line)) { - return cvm::error("Error: could not initialize help string for scripting " - "command \""+std::string(name)+"\".\n", BUG_ERROR); + { + std::string const arghelp_str(arghelp); + std::istringstream is(arghelp_str); + std::string line; + for (int iarg = 0; iarg < n_args_max; iarg++) { + if (! std::getline(is, line)) { + return cvm::error("Error: could not initialize help string for scripting " + "command \""+std::string(name)+"\".\n", BUG_ERROR); + } + cmd_arghelp[comm].push_back(line); } - cmd_arghelp[comm].push_back(line); } + + cmd_full_help[comm] = cmd_help[comm]+"\n"; + if (cmd_n_args_min[comm] > 0) { + cmd_full_help[comm] += "\nParameters\n"; + cmd_full_help[comm] += "----------\n\n"; + size_t i; + for (i = 0; i < cmd_n_args_min[comm]; i++) { + cmd_full_help[comm] += cmd_arghelp[comm][i]+"\n"; + } + for (i = cmd_n_args_min[comm]; i < cmd_n_args_max[comm]; i++) { + cmd_full_help[comm] += cmd_arghelp[comm][i]+" (optional)\n"; + } + } + if (cmd_rethelp[comm].size() > 0) { + cmd_full_help[comm] += "\nReturns\n"; + cmd_full_help[comm] += "-------\n\n"; + cmd_full_help[comm] += cmd_rethelp[comm]+"\n"; + } + cmd_fns[comm] = fn; if (cvm::debug()) { cvm::log("Defined command \""+std::string(name)+"\", with help string:\n"); - cvm::log(get_command_help(name)); + cvm::log(get_command_full_help(name)); } + return COLVARS_OK; } @@ -133,27 +186,76 @@ std::string colvarscript::get_cmd_prefix(colvarscript::Object_type t) } -std::string colvarscript::get_command_help(char const *cmd) + +char const *colvarscript::get_command_help(char const *cmd) { if (cmd_str_map.count(cmd) > 0) { colvarscript::command const c = cmd_str_map[std::string(cmd)]; - std::string new_result(cmd_help[c]+"\n"); - if (cmd_n_args_max[c] == 0) return new_result; - new_result += "\nParameters\n"; - new_result += "----------\n\n"; - size_t i; - for (i = 0; i < cmd_n_args_min[c]; i++) { - new_result += cmd_arghelp[c][i]+"\n"; - } - for (i = cmd_n_args_min[c]; i < cmd_n_args_max[c]; i++) { - new_result += cmd_arghelp[c][i]+" (optional)\n"; - } - return new_result; + return cmd_help[c].c_str(); } - cvm::error("Error: command "+std::string(cmd)+ " is not implemented.\n", INPUT_ERROR); - return std::string(""); + return NULL; +} + + +char const *colvarscript::get_command_rethelp(char const *cmd) +{ + if (cmd_str_map.count(cmd) > 0) { + colvarscript::command const c = cmd_str_map[std::string(cmd)]; + return cmd_rethelp[c].c_str(); + } + cvm::error("Error: command "+std::string(cmd)+ + " is not implemented.\n", INPUT_ERROR); + return NULL; +} + + +char const *colvarscript::get_command_arghelp(char const *cmd, int i) +{ + if (cmd_str_map.count(cmd) > 0) { + colvarscript::command const c = cmd_str_map[std::string(cmd)]; + return cmd_arghelp[c][i].c_str(); + } + cvm::error("Error: command "+std::string(cmd)+ + " is not implemented.\n", INPUT_ERROR); + return NULL; +} + + +int colvarscript::get_command_n_args_min(char const *cmd) +{ + if (cmd_str_map.count(cmd) > 0) { + colvarscript::command const c = cmd_str_map[std::string(cmd)]; + return cmd_n_args_min[c]; + } + cvm::error("Error: command "+std::string(cmd)+ + " is not implemented.\n", INPUT_ERROR); + return -1; +} + + +int colvarscript::get_command_n_args_max(char const *cmd) +{ + if (cmd_str_map.count(cmd) > 0) { + colvarscript::command const c = cmd_str_map[std::string(cmd)]; + return cmd_n_args_max[c]; + } + cvm::error("Error: command "+std::string(cmd)+ + " is not implemented.\n", INPUT_ERROR); + return -1; +} + + +char const *colvarscript::get_command_full_help(char const *cmd) +{ + if (cmd_str_map.count(cmd) > 0) { + colvarscript::command const c = cmd_str_map[std::string(cmd)]; + return cmd_full_help[c].c_str(); + } + cvm::error("Error: command "+std::string(cmd)+ + " is not implemented.\n", INPUT_ERROR); + return NULL; } @@ -234,7 +336,7 @@ std::string colvarscript::get_command_cmdline_help(colvarscript::Object_type t, if (cmd_str_map.count(cmdkey) > 0) { command const c = cmd_str_map[cmdkey]; return get_command_cmdline_syntax(t, c)+"\n\n"+ - get_command_help(cmd_names[c]); + get_command_full_help(cmd_names[c]); } cvm::error("Error: could not find scripting command \""+cmd+"\".", INPUT_ERROR); @@ -244,7 +346,7 @@ std::string colvarscript::get_command_cmdline_help(colvarscript::Object_type t, int colvarscript::run(int objc, unsigned char *const objv[]) { - result.clear(); + clear_str_result(); if (cvm::debug()) { cvm::log("Called script run with " + cvm::to_str(objc) + " args:"); @@ -346,6 +448,60 @@ int colvarscript::run(int objc, unsigned char *const objv[]) } +char *colvarscript::obj_to_str(unsigned char *obj) +{ + char *strobj = reinterpret_cast(obj); + if (cvm::debug()) { + cvm::log("Using simple-cast script::obj_to_str(): result = \"" + + (strobj ? std::string(strobj) : std::string("(null)")) + "\""); + } + return strobj; +} + + +std::vector colvarscript::obj_to_str_vector(unsigned char *obj) +{ + if (cvm::debug()) { + cvm::log("Using simple-cast colvarscript::obj_to_str_vector().\n"); + } + + std::vector new_result; + std::string const str(reinterpret_cast(obj)); + + // TODO get rid of this once colvarscript can handle both fix_modify and Tcl? + // LAMMPS has a nicer function in the utils class + + for (size_t i = 0; i < str.length(); i++) { + char const c = str[i]; + if (c == '\"') { + i++; + if (i >= str.length()) { + cvm::error("Error: could not split the following string:\n"+ + str+"\n", INPUT_ERROR); + break; + } + new_result.push_back(std::string("")); + while (str[i] != '\"') { + new_result.back().append(1, str[i]); + if (i >= str.length()) { + cvm::error("Error: could not split the following string:\n"+ + str+"\n", INPUT_ERROR); + break; + } else { + i++; + } + } + } + } + + if (cvm::debug()) { + cvm::log("result = "+cvm::to_str(new_result)+".\n"); + } + + return new_result; +} + + int colvarscript::proc_features(colvardeps *obj, int objc, unsigned char *const objv[]) { @@ -428,9 +584,9 @@ int colvarscript::set_result_str(std::string const &s) { if (cvm::get_error() != COLVARS_OK) { // Avoid overwriting the error message - result += s; + modify_str_result() += s; } else { - result = s; + modify_str_result() = s; } return COLVARS_OK; } @@ -438,17 +594,17 @@ int colvarscript::set_result_str(std::string const &s) void colvarscript::add_error_msg(std::string const &s) { - result += s; + modify_str_result() += s; // Ensure terminating newlines if (s[s.size()-1] != '\n') { - result += "\n"; + modify_str_result() += "\n"; } } int colvarscript::clear_str_result() { - result.clear(); + modify_str_result().clear(); return COLVARS_OK; } @@ -487,32 +643,69 @@ const char * get_colvarscript_result() int tcl_colvars_vmd_init(Tcl_Interp *interp, int molid); #endif -extern "C" -int tcl_run_colvarscript_command(ClientData /* clientData */, - Tcl_Interp *my_interp, - int objc, Tcl_Obj *const objv[]) +#if !defined(VMDTCL) && !defined(NAMD_TCL) +extern "C" { + int Colvars_Init(Tcl_Interp *interp) { + colvarproxy *proxy = new colvarproxy(); + colvarmodule *colvars = new colvarmodule(proxy); + proxy->set_tcl_interp(reinterpret_cast(interp)); + proxy->colvars = colvars; + proxy->script = new colvarscript(proxy); + Tcl_CreateObjCommand(interp, "cv", tcl_run_colvarscript_command, + (ClientData *) NULL, (Tcl_CmdDeleteProc *) NULL); + Tcl_EvalEx(interp, "package provide colvars", -1, 0); + return TCL_OK; + } +} +#endif + + +extern "C" int tcl_run_colvarscript_command(ClientData /* clientData */, + Tcl_Interp *my_interp, + int objc, Tcl_Obj *const objv[]) { colvarmodule *colvars = cvm::main(); if (!colvars) { #if defined(VMDTCL) + + if (objc == 2) { + if (!strcmp(Tcl_GetString(objv[1]), "molid")) { + // return invalid molid + Tcl_SetResult(my_interp, (char *) "-1", TCL_STATIC); + } + if (!strcmp(Tcl_GetString(objv[1]), "delete") || + !strcmp(Tcl_GetString(objv[1]), "reset")) { + // nothing to delete or reset + Tcl_SetResult(my_interp, NULL, TCL_STATIC); + } + if (!strcmp(Tcl_GetString(objv[1]), "help")) { + // print message + Tcl_SetResult(my_interp, + (char *) "First, setup the Colvars module with: " + "cv molid |top", TCL_STATIC); + } + return TCL_OK; + } + if (objc >= 3) { // require a molid to create the module if (!strcmp(Tcl_GetString(objv[1]), "molid")) { - int molid = -1; + int molid = -(1<<16); // This value is used to indicate "top" if (strcmp(Tcl_GetString(objv[2]), "top")) { // If this is not "top", get the integer value Tcl_GetIntFromObj(my_interp, objv[2], &molid); } return tcl_colvars_vmd_init(my_interp, molid); } else { - // TODO allow calling cv help after this - Tcl_SetResult(my_interp, (char *) "Syntax error.", TCL_STATIC); + Tcl_SetResult(my_interp, (char *) "Syntax error. First, setup the Colvars module with cv molid |top", TCL_STATIC); return TCL_ERROR; } } + Tcl_SetResult(my_interp, (char *) "First, setup the Colvars module with: " - "cv molid ", TCL_STATIC); + "cv molid |top", TCL_STATIC); + #else Tcl_SetResult(my_interp, const_cast("Error: Colvars module not yet initialized"), @@ -534,10 +727,19 @@ int tcl_run_colvarscript_command(ClientData /* clientData */, cvm::clear_error(); - int retval = script->run(objc, - reinterpret_cast(objv)); + unsigned char * arg_pointers_[100]; + if (objc > 100) { + std::string const errstr = "Too many positional arguments ("+ + cvm::to_str(objc)+") passed to the \"cv\" command.\n"; + Tcl_SetResult(interp, const_cast(errstr.c_str()), TCL_VOLATILE); + return TCL_ERROR; + } + for (int i = 0; i < objc; i++) { + arg_pointers_[i] = reinterpret_cast(const_cast(proxy->tcl_get_str(objv[i]))); + } + int retval = script->run(objc, arg_pointers_); - std::string result = proxy->get_error_msgs() + script->result; + std::string result = proxy->get_error_msgs() + script->str_result(); Tcl_SetResult(interp, const_cast(result.c_str()), TCL_VOLATILE); @@ -558,3 +760,162 @@ int tcl_run_colvarscript_command(ClientData /* clientData */, } #endif // #if defined(COLVARS_TCL) + + + + +int colvarscript::set_result_text_from_str(std::string const &x_str, + unsigned char *obj) { + if (obj) { + strcpy(reinterpret_cast(obj), x_str.c_str()); + } else { + set_result_str(x_str); + } + return COLVARS_OK; +} + +// Template to convert everything to string and use the above + +template +int colvarscript::set_result_text(T const &x, unsigned char *obj) { + std::string const x_str = x.to_simple_string(); + return set_result_text_from_str(x_str, obj); +} + + +template +int colvarscript::pack_vector_elements_text(std::vector const &x, + std::string &x_str) { + x_str.clear(); + for (size_t i = 0; i < x.size(); ++i) { + if (i > 0) x_str.append(1, ' '); + x_str += cvm::to_str(x[i]); + } + return COLVARS_OK; +} + + +// Specializations for plain old data types that don't have a stringifier member + +template <> +int colvarscript::set_result_text(int const &x, unsigned char *obj) { + std::string const x_str = cvm::to_str(x); + return set_result_text_from_str(x_str, obj); +} + +template <> +int colvarscript::set_result_text(std::vector const &x, + unsigned char *obj) { + std::string x_str(""); + pack_vector_elements_text(x, x_str); + return set_result_text_from_str(x_str, obj); +} + + +template <> +int colvarscript::set_result_text(long int const &x, unsigned char *obj) { + std::string const x_str = cvm::to_str(x); + return set_result_text_from_str(x_str, obj); +} + +template <> +int colvarscript::set_result_text(std::vector const &x, + unsigned char *obj) { + std::string x_str(""); + pack_vector_elements_text(x, x_str); + return set_result_text_from_str(x_str, obj); +} + + +template <> +int colvarscript::set_result_text(cvm::real const &x, unsigned char *obj) { + std::string const x_str = cvm::to_str(x); + return set_result_text_from_str(x_str, obj); +} + +template <> +int colvarscript::set_result_text(std::vector const &x, + unsigned char *obj) { + std::string x_str(""); + pack_vector_elements_text(x, x_str); + return set_result_text_from_str(x_str, obj); +} + + +// TODO these can be removed after the Tcl backend is ready (otherwise, the +// default template syntax may break scripts or the Dashboard) + +template <> +int colvarscript::set_result_text(std::vector const &x, + unsigned char *obj) { + std::string x_str(""); + for (size_t i = 0; i < x.size(); i++) { + if (i > 0) x_str.append(1, ' '); + x_str += "{ "+x[i].to_simple_string()+" }"; + } + return set_result_text_from_str(x_str, obj); +} + +template <> +int colvarscript::set_result_text(std::vector const &x, + unsigned char *obj) { + std::string x_str(""); + for (size_t i = 0; i < x.size(); i++) { + if (i > 0) x_str.append(1, ' '); + x_str += "{ "+x[i].to_simple_string()+" }"; + } + return set_result_text_from_str(x_str, obj); +} + + +// Member functions to set script results for each typexc + +int colvarscript::set_result_int(int const &x, unsigned char *obj) { + return set_result_text(x, obj); +} + +int colvarscript::set_result_int_vec(std::vector const &x, + unsigned char *obj) { + return set_result_text< std::vector >(x, obj); +} + + +int colvarscript::set_result_long_int(long int const &x, unsigned char *obj) { + return set_result_text(x, obj); +} + +int colvarscript::set_result_long_int_vec(std::vector const &x, + unsigned char *obj) { + return set_result_text< std::vector >(x, obj); +} + + +int colvarscript::set_result_real(cvm::real const &x, unsigned char *obj) { + return set_result_text(x, obj); +} + +int colvarscript::set_result_real_vec(std::vector const &x, + unsigned char *obj) { + return set_result_text< std::vector >(x, obj); +} + + +int colvarscript::set_result_rvector(cvm::rvector const &x, unsigned char *obj) { + return set_result_text(x, obj); +} + +int colvarscript::set_result_rvector_vec(std::vector const &x, + unsigned char *obj) { + return set_result_text< std::vector >(x, obj); +} + + +int colvarscript::set_result_colvarvalue(colvarvalue const &x, + unsigned char *obj) { + return set_result_text(x, obj); +} + +int colvarscript::set_result_colvarvalue_vec(std::vector const &x, + unsigned char *obj) { + return set_result_text< std::vector >(x, obj); +} diff --git a/lib/colvars/colvarscript.h b/lib/colvars/colvarscript.h index d6f77668e6..7eac15c09d 100644 --- a/lib/colvars/colvarscript.h +++ b/lib/colvars/colvarscript.h @@ -46,9 +46,8 @@ public: /// COLVARSCRIPT_ERROR int proxy_error; - /// If an error is returned by one of the methods, it should set this to the - /// error message - std::string result; + /// String representation of the result of a script call + std::string str_result_; /// Run a script command with space-separated positional arguments (objects) int run(int objc, unsigned char *const objv[]); @@ -56,13 +55,13 @@ public: /// Get the string result of the current scripting call inline std::string const &str_result() const { - return result; + return str_result_; } /// Modify the string result of the current scripting call inline std::string &modify_str_result() { - return result; + return str_result_; } /// Set the return value to the given string @@ -137,21 +136,38 @@ public: template int cmd_arg_shift(); - /// Use scripting language to get the string representation of an object - inline char const *obj_to_str(unsigned char *const obj) - { - return (obj == NULL ? NULL : proxy_->script_obj_to_str(obj)); - } - /// Get names of all commands inline char const **get_command_names() const { return cmd_names; } + /// Get one-line help summary for a command + /// \param cmd Name of the command's function (e.g. "cv_units") + char const *get_command_help(char const *cmd); + + /// Get description of the return value of a command + /// \param cmd Name of the command's function (e.g. "cv_units") + char const *get_command_rethelp(char const *cmd); + + /// Get description of the argument of a command (excluding prefix) + /// \param cmd Name of the command's function (e.g. "cv_units") + /// \param i Index of the argument; 0 is the first argument after the + /// prefix, e.g. "value" has an index of 0 in the array of arguments: + /// { "cv", "colvar", "xi", "value" } + char const *get_command_arghelp(char const *cmd, int i); + + /// Get number of required arguments (excluding prefix) + /// \param cmd Name of the command's function (e.g. "cv_units") + int get_command_n_args_min(char const *cmd); + + /// Get number of total arguments (excluding prefix) + /// \param cmd Name of the command's function (e.g. "cv_units") + int get_command_n_args_max(char const *cmd); + /// Get help string for a command (does not specify how it is launched) /// \param cmd Name of the command's function (e.g. "cv_units") - std::string get_command_help(char const *cmd); + char const *get_command_full_help(char const *cmd); /// Get summary of command line syntax for all commands of a given context /// \param t One of use_module, use_colvar or use_bias @@ -182,6 +198,53 @@ public: return this->proxy_; } + // Input functions - get the string reps of script argument objects + + /// Get the string representation of an object (by default, a simple cast) + char *obj_to_str(unsigned char *obj); + + /// Get a list of strings from an object (does not work with a simple cast) + std::vector obj_to_str_vector(unsigned char *obj); + + + // Output functions - convert internal objects to representations suitable + // for use in the scripting language. At the moment only conversion to C + // strings is supported, and obj is assumed to be a char * pointer. + + /// Copy x into obj if not NULL, or into the script object's result otherwise + int set_result_int(int const &x, unsigned char *obj = NULL); + + /// Copy x into obj if not NULL, or into the script object's result otherwise + int set_result_int_vec(std::vector const &x, unsigned char *obj = NULL); + + /// Copy x into obj if not NULL, or into the script object's result otherwise + int set_result_long_int(long int const &x, unsigned char *obj = NULL); + + /// Copy x into obj if not NULL, or into the script object's result otherwise + int set_result_long_int_vec(std::vector const &x, + unsigned char *obj = NULL); + + /// Copy x into obj if not NULL, or into the script object's result otherwise + int set_result_real(cvm::real const &x, unsigned char *obj = NULL); + + /// Copy x into obj if not NULL, or into the script object's result otherwise + int set_result_real_vec(std::vector const &x, + unsigned char *obj = NULL); + + /// Copy x into obj if not NULL, or into the script object's result otherwise + int set_result_rvector(cvm::rvector const &x, unsigned char *obj = NULL); + + /// Copy x into obj if not NULL, or into the script object's result otherwise + int set_result_rvector_vec(std::vector const &x, + unsigned char *obj = NULL); + + /// Copy x into obj if not NULL, or into the script object's result otherwise + int set_result_colvarvalue(colvarvalue const &x, unsigned char *obj = NULL); + + /// Copy x into obj if not NULL, or into the script object's result otherwise + int set_result_colvarvalue_vec(std::vector const &x, + unsigned char *obj = NULL); + private: /// Set up all script API functions @@ -193,14 +256,6 @@ private: int n_args_min, int n_args_max, char const *arghelp, int (*fn)(void *, int, unsigned char * const *)); - /// Execute a script command - inline int exec_command(command c, - void *pobj, - int objc, unsigned char * const *objv) - { - return (*(cmd_fns[c]))(pobj, objc, objv); - } - public: // TODO this function will be removed soon /// Run subcommands on base colvardeps object (colvar, bias, ...) @@ -218,6 +273,9 @@ private: // TODO /// Help strings for each command std::vector cmd_help; + /// Description of the return values of each command (may be empty) + std::vector cmd_rethelp; + /// Minimum number of arguments for each command std::vector cmd_n_args_min; @@ -227,6 +285,9 @@ private: // TODO /// Help strings for each command argument std::vector< std::vector > cmd_arghelp; + /// Full help strings for each command + std::vector cmd_full_help; + /// Implementations of each command std::vector cmd_fns; @@ -241,6 +302,18 @@ private: // TODO return NULL; } + /// Set obj equal to x, using its string representation + template + int set_result_text(T const &x, unsigned char *obj); + + /// Code reused by instances of set_result_text() + template + int pack_vector_elements_text(std::vector const &x, std::string &x_str); + + /// Code reused by all instances of set_result_text() + int set_result_text_from_str(std::string const &x_str, unsigned char *obj); + + }; @@ -305,13 +378,15 @@ int colvarscript::check_cmd_nargs(char const *cmd, { int const shift = cmd_arg_shift(); if (objc < shift+n_args_min) { - add_error_msg("Missing arguments for script function \""+std::string(cmd)+ - "\":\n"+get_command_help(cmd)); + add_error_msg("Insufficient number of arguments ("+cvm::to_str(objc)+ + ") for script function \""+std::string(cmd)+ + "\":\n"+get_command_full_help(cmd)); return COLVARSCRIPT_ERROR; } if (objc > shift+n_args_max) { - add_error_msg("Too many arguments for script function \""+std::string(cmd)+ - "\":\n"+get_command_help(cmd)); + add_error_msg("Too many arguments ("+cvm::to_str(objc)+ + ") for script function \""+std::string(cmd)+ + "\":\n"+get_command_full_help(cmd)); return COLVARSCRIPT_ERROR; } return COLVARSCRIPT_OK; @@ -364,18 +439,6 @@ int colvarscript::cmd_arg_shift() extern "C" { -#if defined(COLVARS_TCL) - /// Run the script API via Tcl command-line interface - /// \param clientData Not used - /// \param my_interp Pointer to Tcl_Interp object (read from Colvars if NULL) - /// \param objc Number of Tcl command parameters - /// \param objv Array of command parameters - /// \return Result of the script command - int tcl_run_colvarscript_command(ClientData clientData, - Tcl_Interp *interp_in, - int objc, Tcl_Obj *const objv[]); -#endif // #if defined(COLVARS_TCL) - /// Generic wrapper for string-based scripting int run_colvarscript_command(int objc, unsigned char *const objv[]); diff --git a/lib/colvars/colvarscript_commands.cpp b/lib/colvars/colvarscript_commands.cpp index c74663d2fd..0029979912 100644 --- a/lib/colvars/colvarscript_commands.cpp +++ b/lib/colvars/colvarscript_commands.cpp @@ -33,6 +33,54 @@ char const **cvscript_command_names() } +extern "C" +char const *cvscript_command_help(char const *c) +{ + colvarscript *script = colvarscript_obj(); + return script->get_command_help(c); +} + + +extern "C" +char const *cvscript_command_rethelp(char const *c) +{ + colvarscript *script = colvarscript_obj(); + return script->get_command_rethelp(c); +} + + +extern "C" +char const *cvscript_command_arghelp(char const *c, int i) +{ + colvarscript *script = colvarscript_obj(); + return script->get_command_arghelp(c, i); +} + + +extern "C" +char const *cvscript_command_full_help(char const *c) +{ + colvarscript *script = colvarscript_obj(); + return script->get_command_full_help(c); +} + + +extern "C" +int cvscript_command_n_args_min(char const *c) +{ + colvarscript *script = colvarscript_obj(); + return script->get_command_n_args_min(c); +} + + +extern "C" +int cvscript_command_n_args_max(char const *c) +{ + colvarscript *script = colvarscript_obj(); + return script->get_command_n_args_max(c); +} + + // Instantiate the body of all script commands #define CVSCRIPT_COMM_FN(COMM,N_ARGS_MIN,N_ARGS_MAX,ARGS,FN_BODY) \ diff --git a/lib/colvars/colvarscript_commands.h b/lib/colvars/colvarscript_commands.h index d90a3ac422..021aae1cc6 100644 --- a/lib/colvars/colvarscript_commands.h +++ b/lib/colvars/colvarscript_commands.h @@ -25,7 +25,8 @@ // COMM = the id of the command (must be a member of colvarscript::command) -// HELP = a one-line description (C string literal) for the command +// HELP = short description (C string literal) for the command; the second line +// is optional, and documents the return value (if any) // N_ARGS_MIN = the lowest number of arguments allowed @@ -68,6 +69,33 @@ extern "C" { /// Get the names of all commands (array of strings) char const ** cvscript_command_names(); + /// Get the help summary of the given command + /// \param cmd Name of the command's function (e.g. "cv_units") + char const *cvscript_command_help(char const *cmd); + + /// Get description of the return value of a command + /// \param cmd Name of the command's function (e.g. "cv_units") + char const *cvscript_command_rethelp(char const *cmd); + + /// Get description of the arguments of a command (excluding prefix) + /// \param cmd Name of the command's function (e.g. "cv_units") + /// \param i Index of the argument; 0 is the first argument after the + /// prefix, e.g. "value" has an index of 0 in the array of arguments: + /// { "cv", "colvar", "xi", "value" } + char const *cvscript_command_arghelp(char const *cmd, int i); + + /// Get the full help string of a command + /// \param cmd Name of the command's function (e.g. "cv_units") + char const *cvscript_command_full_help(char const *cmd); + + /// Get number of required arguments (excluding prefix) + /// \param cmd Name of the command's function (e.g. "cv_units") + int cvscript_command_n_args_min(char const *cmd); + + /// Get number of total arguments (excluding prefix) + /// \param cmd Name of the command's function (e.g. "cv_units") + int cvscript_command_n_args_max(char const *cmd); + } #endif @@ -135,7 +163,8 @@ CVSCRIPT(cv_delete, ) CVSCRIPT(cv_frame, - "Get or set current frame number (VMD only)", + "Get or set current frame number (VMD only)\n" + "frame : integer - Frame number", 0, 1, "frame : integer - Frame number", char const *arg = @@ -143,7 +172,7 @@ CVSCRIPT(cv_frame, if (arg == NULL) { long int f = -1; if (script->proxy()->get_frame(f) == COLVARS_OK) { - script->set_result_str(cvm::to_str(f)); + script->set_result_long_int(f); return COLVARS_OK; } else { script->add_error_msg("Frame number is not available"); @@ -161,8 +190,90 @@ CVSCRIPT(cv_frame, return COLVARS_OK; ) +CVSCRIPT(cv_getatomappliedforces, + "Get the list of forces applied by Colvars to atoms\n" + "forces : array of arrays of floats - Atomic forces", + 0, 0, + "", + script->set_result_rvector_vec(*(script->proxy()->get_atom_applied_forces())); + return COLVARS_OK; + ) + +CVSCRIPT(cv_getatomappliedforcesmax, + "Get the maximum norm of forces applied by Colvars to atoms\n" + "force : float - Maximum atomic force", + 0, 0, + "", + script->set_result_real(script->proxy()->max_atoms_applied_force()); + return COLVARS_OK; + ) + +CVSCRIPT(cv_getatomappliedforcesmaxid, + "Get the atom ID with the largest applied force\n" + "id : int - ID of the atom with the maximum atomic force", + 0, 0, + "", + script->set_result_int(script->proxy()->max_atoms_applied_force_id()); + return COLVARS_OK; + ) + +CVSCRIPT(cv_getatomappliedforcesrms, + "Get the root-mean-square norm of forces applied by Colvars to atoms\n" + "force : float - RMS atomic force", + 0, 0, + "", + script->set_result_real(script->proxy()->rms_atoms_applied_force()); + return COLVARS_OK; + ) + +CVSCRIPT(cv_getatomids, + "Get the list of indices of atoms used in Colvars\n" + "indices : array of ints - Atomic indices", + 0, 0, + "", + script->set_result_int_vec(*(script->proxy()->get_atom_ids())); + return COLVARS_OK; + ) + +CVSCRIPT(cv_getatomcharges, + "Get the list of charges of atoms used in Colvars\n" + "charges : array of floats - Atomic charges", + 0, 0, + "", + script->set_result_real_vec(*(script->proxy()->get_atom_charges())); + return COLVARS_OK; + ) + +CVSCRIPT(cv_getatommasses, + "Get the list of masses of atoms used in Colvars\n" + "masses : array of floats - Atomic masses", + 0, 0, + "", + script->set_result_real_vec(*(script->proxy()->get_atom_masses())); + return COLVARS_OK; + ) + +CVSCRIPT(cv_getatompositions, + "Get the list of cached positions of atoms used in Colvars\n" + "positions : array of arrays of floats - Atomic positions", + 0, 0, + "", + script->set_result_rvector_vec(*(script->proxy()->get_atom_positions())); + return COLVARS_OK; + ) + +CVSCRIPT(cv_getatomtotalforces, + "Get the list of cached total forces of atoms used in Colvars\n" + "forces : array of arrays of floats - Atomic total foces", + 0, 0, + "", + script->set_result_rvector_vec(*(script->proxy()->get_atom_total_forces())); + return COLVARS_OK; + ) + CVSCRIPT(cv_getconfig, - "Get the module's configuration string read so far", + "Get the module's configuration string read so far\n" + "conf : string - Current configuration string", 0, 0, "", script->set_result_str(cvm::main()->get_config()); @@ -170,15 +281,17 @@ CVSCRIPT(cv_getconfig, ) CVSCRIPT(cv_getenergy, - "Get the current Colvars energy", + "Get the current Colvars energy\n" + "E : float - Amount of energy (internal units)", 0, 0, "", - script->set_result_str(cvm::to_str(cvm::main()->total_bias_energy)); + script->set_result_real(cvm::main()->total_bias_energy); return COLVARS_OK; ) CVSCRIPT(cv_help, - "Get the help string of the Colvars scripting interface", + "Get the help string of the Colvars scripting interface\n" + "help : string - Help string", 0, 1, "command : string - Get the help string of this specific command", unsigned char *const cmdobj = @@ -205,7 +318,8 @@ CVSCRIPT(cv_help, ) CVSCRIPT(cv_list, - "Return a list of all variables or biases", + "Return a list of all variables or biases\n" + "list : sequence of strings - List of elements", 0, 1, "param : string - \"colvars\" or \"biases\"; default is \"colvars\"", std::string res; @@ -235,7 +349,8 @@ CVSCRIPT(cv_list, ) CVSCRIPT(cv_listcommands, - "Get the list of script functions, prefixed with \"cv_\", \"colvar_\" or \"bias_\"", + "Get the list of script functions, prefixed with \"cv_\", \"colvar_\" or \"bias_\"\n" + "list : sequence of strings - List of commands", 0, 0, "", int const n_commands = cvscript_n_commands(); @@ -249,6 +364,20 @@ CVSCRIPT(cv_listcommands, return COLVARS_OK; ) +CVSCRIPT(cv_listindexfiles, + "Get a list of the index files loaded in this session", + 0, 0, + "", + int const n_files = script->module()->index_file_names.size(); + std::string result; + for (int i = 0; i < n_files; i++) { + if (i > 0) result.append(1, ' '); + result.append(script->module()->index_file_names[i]); + } + script->set_result_str(result); + return COLVARS_OK; + ) + CVSCRIPT(cv_load, "Load data from a state file into all matching colvars and biases", 1, 1, @@ -280,15 +409,16 @@ CVSCRIPT(cv_loadfromstring, ) CVSCRIPT(cv_molid, - "Get or set the molecule ID on which Colvars is defined (VMD only)", + "Get or set the molecule ID on which Colvars is defined (VMD only)\n" + "molid : integer - Current molecule ID", 0, 1, - "molid : integer - Molecule ID; -1 means undefined", + "molid : integer - New molecule ID; -1 means undefined", char const *arg = script->obj_to_str(script->get_module_cmd_arg(0, objc, objv)); if (arg == NULL) { int molid = -1; script->proxy()->get_molid(molid); - script->set_result_str(cvm::to_str(molid)); + script->set_result_int(molid); return COLVARS_OK; } else { script->add_error_msg("Error: To change the molecule ID in VMD, use cv delete first."); @@ -297,7 +427,8 @@ CVSCRIPT(cv_molid, ) CVSCRIPT(cv_printframe, - "Return the values that would be written to colvars.traj", + "Return the values that would be written to colvars.traj\n" + "values : string - The values\n", 0, 0, "", std::ostringstream os; @@ -307,7 +438,8 @@ CVSCRIPT(cv_printframe, ) CVSCRIPT(cv_printframelabels, - "Return the labels that would be written to colvars.traj", + "Return the labels that would be written to colvars.traj\n" + "Labels : string - The labels", 0, 0, "", std::ostringstream os; @@ -348,14 +480,16 @@ CVSCRIPT(cv_save, ) CVSCRIPT(cv_savetostring, - "Write the Colvars state to a string and return it", + "Write the Colvars state to a string and return it\n" + "state : string - The saved state", 0, 0, "", return script->module()->write_restart_string(script->modify_str_result()); ) CVSCRIPT(cv_units, - "Get or set the current Colvars unit system", + "Get or set the current Colvars unit system\n" + "units : string - The current unit system", 0, 1, "units : string - The new unit system", char const *argstr = @@ -390,7 +524,8 @@ CVSCRIPT(cv_update, ) CVSCRIPT(cv_version, - "Get the Colvars Module version number", + "Get the Colvars Module version number\n" + "version : string - Colvars version", 0, 0, "", script->set_result_str(COLVARS_VERSION); diff --git a/lib/colvars/colvarscript_commands_bias.h b/lib/colvars/colvarscript_commands_bias.h index 990902e239..f83b3422ff 100644 --- a/lib/colvars/colvarscript_commands_bias.h +++ b/lib/colvars/colvarscript_commands_bias.h @@ -9,15 +9,17 @@ CVSCRIPT(bias_bin, - "Get the current grid bin index (1D ABF only for now)", + "Get the current grid bin index (1D ABF only for now)\n" + "bin : integer - Bin index", 0, 0, "", - script->set_result_str(cvm::to_str(this_bias->current_bin())); + script->set_result_int(this_bias->current_bin()); return COLVARS_OK; ) CVSCRIPT(bias_bincount, - "Get the number of samples at the given grid bin (1D ABF only for now)", + "Get the number of samples at the given grid bin (1D ABF only for now)\n" + "samples : integer - Number of samples", 0, 1, "index : integer - Grid index; defaults to current bin", int index = this_bias->current_bin(); @@ -30,12 +32,13 @@ CVSCRIPT(bias_bincount, return COLVARSCRIPT_ERROR; } } - script->set_result_str(cvm::to_str(this_bias->bin_count(index))); + script->set_result_int(this_bias->bin_count(index)); return COLVARS_OK; ) CVSCRIPT(bias_binnum, - "Get the total number of grid points of this bias (1D ABF only for now)", + "Get the total number of grid points of this bias (1D ABF only for now)\n" + "Bins : integer - Number of grid points", 0, 0, "", int r = this_bias->bin_num(); @@ -44,7 +47,7 @@ CVSCRIPT(bias_binnum, this_bias->name); return COLVARSCRIPT_ERROR; } - script->set_result_str(cvm::to_str(r)); + script->set_result_int(r); return COLVARS_OK; ) @@ -57,22 +60,25 @@ CVSCRIPT(bias_delete, ) CVSCRIPT(bias_energy, - "Get the current energy of this bias", + "Get the current energy of this bias\n" + "E : float - Energy value", 0, 0, "", - script->set_result_str(cvm::to_str(this_bias->get_energy())); + script->set_result_real(this_bias->get_energy()); return COLVARS_OK; ) CVSCRIPT(bias_get, - "Get the value of the given feature for this bias", + "Get the value of the given feature for this bias\n" + "state : 1/0 - State of the given feature", 1, 1, "feature : string - Name of the feature", return script->proc_features(this_bias, objc, objv); ) CVSCRIPT(bias_getconfig, - "Return the configuration string of this bias", + "Return the configuration string of this bias\n" + "conf : string - Current configuration string", 0, 0, "", script->set_result_str(this_bias->get_config()); @@ -80,7 +86,8 @@ CVSCRIPT(bias_getconfig, ) CVSCRIPT(bias_help, - "Get a help summary or the help string of one bias subcommand", + "Get a help summary or the help string of one bias subcommand\n" + "help : string - Help string", 0, 1, "command : string - Get the help string of this specific command", unsigned char *const cmdobj = @@ -129,7 +136,8 @@ CVSCRIPT(bias_save, ) CVSCRIPT(bias_savetostring, - "Save data from this bias into a string and return it", + "Save data from this bias into a string and return it\n" + "state : string - The bias state", 0, 0, "", return this_bias->write_state_string(script->modify_str_result()); @@ -156,7 +164,8 @@ CVSCRIPT(bias_share, ) CVSCRIPT(bias_state, - "Print a string representation of the feature state of this bias", + "Print a string representation of the feature state of this bias\n" + "state : string - String representation of the bias features", 0, 0, "", this_bias->print_state(); @@ -164,10 +173,11 @@ CVSCRIPT(bias_state, ) CVSCRIPT(bias_update, - "Recompute this bias and return its up-to-date energy", + "Recompute this bias and return its up-to-date energy\n" + "E : float - Energy value", 0, 0, "", this_bias->update(); - script->set_result_str(cvm::to_str(this_bias->get_energy())); + script->set_result_colvarvalue(this_bias->get_energy()); return COLVARS_OK; ) diff --git a/lib/colvars/colvarscript_commands_colvar.h b/lib/colvars/colvarscript_commands_colvar.h index b880b5b8be..7c4c2d67f7 100644 --- a/lib/colvars/colvarscript_commands_colvar.h +++ b/lib/colvars/colvarscript_commands_colvar.h @@ -9,7 +9,8 @@ CVSCRIPT(colvar_addforce, - "Apply the given force onto this colvar and return the same", + "Apply the given force onto this colvar and return the same\n" + "force : float or array - Applied force; matches colvar dimensionality", 1, 1, "force : float or array - Applied force; must match colvar dimensionality", std::string const f_str(script->obj_to_str(script->get_colvar_cmd_arg(0, objc, objv))); @@ -23,7 +24,7 @@ CVSCRIPT(colvar_addforce, return COLVARSCRIPT_ERROR; } this_colvar->add_bias_force(force); - script->set_result_str(force.to_simple_string()); + script->set_result_colvarvalue(force); return COLVARS_OK; ) @@ -56,22 +57,25 @@ CVSCRIPT(colvar_delete, ) CVSCRIPT(colvar_get, - "Get the value of the given feature for this colvar", + "Get the value of the given feature for this colvar\n" + "state : 1/0 - State of the given feature", 1, 1, "feature : string - Name of the feature", return script->proc_features(this_colvar, objc, objv); ) CVSCRIPT(colvar_getappliedforce, - "Return the total of the forces applied to this colvar", + "Return the total of the forces applied to this colvar\n" + "force : float - Applied force; matches the colvar dimensionality", 0, 0, "", - script->set_result_str((this_colvar->applied_force()).to_simple_string()); + script->set_result_colvarvalue(this_colvar->applied_force()); return COLVARS_OK; ) CVSCRIPT(colvar_getatomgroups, - "Return the atom indices used by this colvar as a list of lists", + "Return the atom indices used by this colvar as a list of lists\n" + "groups : array of arrays of ints - Atom indices", 0, 0, "", std::string result; @@ -91,21 +95,17 @@ CVSCRIPT(colvar_getatomgroups, ) CVSCRIPT(colvar_getatomids, - "Return the list of atom indices used by this colvar", + "Return the list of atom indices used by this colvar\n" + "indices : array of ints - Atom indices", 0, 0, "", - std::string result; - std::vector::iterator li = this_colvar->atom_ids.begin(); - for ( ; li != this_colvar->atom_ids.end(); ++li) { - result += cvm::to_str(*li); - result += " "; - } - script->set_result_str(result); + script->set_result_int_vec(this_colvar->atom_ids); return COLVARS_OK; ) CVSCRIPT(colvar_getconfig, - "Return the configuration string of this colvar", + "Return the configuration string of this colvar\n" + "conf : string - Current configuration string", 0, 0, "", script->set_result_str(this_colvar->get_config()); @@ -113,35 +113,34 @@ CVSCRIPT(colvar_getconfig, ) CVSCRIPT(colvar_getgradients, - "Return the atomic gradients of this colvar", + "Return the atomic gradients of this colvar\n" + "gradients : array of arrays of floats - Atomic gradients", 0, 0, "", - std::string result; - std::vector::iterator li = - this_colvar->atomic_gradients.begin(); - for ( ; li != this_colvar->atomic_gradients.end(); ++li) { - result += "{"; - int j; - for (j = 0; j < 3; ++j) { - result += cvm::to_str((*li)[j]); - result += " "; - } - result += "} "; - } - script->set_result_str(result); + script->set_result_rvector_vec(this_colvar->atomic_gradients); return COLVARS_OK; ) CVSCRIPT(colvar_gettotalforce, - "Return the sum of internal and external forces to this colvar", + "Return the sum of internal and external forces to this colvar\n" + "force : float - Total force; matches the colvar dimensionality", 0, 0, "", - script->set_result_str((this_colvar->total_force()).to_simple_string()); + script->set_result_colvarvalue(this_colvar->total_force()); + return COLVARS_OK; + ) + +CVSCRIPT(colvar_getvolmapids, + "Return the list of volumetric map indices used by this colvar", + 0, 0, + "", + script->set_result_int_vec(this_colvar->get_volmap_ids()); return COLVARS_OK; ) CVSCRIPT(colvar_help, - "Get a help summary or the help string of one colvar subcommand", + "Get a help summary or the help string of one colvar subcommand\n" + "help : string - Help string", 0, 1, "command : string - Get the help string of this specific command", unsigned char *const cmdobj = @@ -167,7 +166,7 @@ CVSCRIPT(colvar_modifycvcs, "Modify configuration of individual components by passing string arguments", 1, 1, "confs : sequence of strings - New configurations; empty strings are skipped", - std::vector const confs(script->proxy()->script_obj_to_str_vector(script->get_colvar_cmd_arg(0, objc, objv))); + std::vector const confs(script->obj_to_str_vector(script->get_colvar_cmd_arg(0, objc, objv))); cvm::increase_depth(); int res = this_colvar->update_cvc_config(confs); cvm::decrease_depth(); @@ -180,10 +179,11 @@ CVSCRIPT(colvar_modifycvcs, ) CVSCRIPT(colvar_run_ave, - "Get the current running average of the value of this colvar", + "Get the current running average of the value of this colvar\n" + "value : float or array - Averaged value; matches the colvar dimensionality", 0, 0, "", - script->set_result_str(this_colvar->run_ave().to_simple_string()); + script->set_result_colvarvalue(this_colvar->run_ave()); return COLVARS_OK; ) @@ -196,7 +196,8 @@ CVSCRIPT(colvar_set, ) CVSCRIPT(colvar_state, - "Print a string representation of the feature state of this colvar", + "Print a string representation of the feature state of this colvar\n" + "state : string - The feature state", 0, 0, "", this_colvar->print_state(); @@ -204,7 +205,8 @@ CVSCRIPT(colvar_state, ) CVSCRIPT(colvar_type, - "Get the type description of this colvar", + "Get the type description of this colvar\n" + "type : string - Type description", 0, 0, "", script->set_result_str(this_colvar->value().type_desc(this_colvar->value().value_type)); @@ -212,25 +214,28 @@ CVSCRIPT(colvar_type, ) CVSCRIPT(colvar_update, - "Recompute this colvar and return its up-to-date value", + "Recompute this colvar and return its up-to-date value\n" + "value : float or array - Current value; matches the colvar dimensionality", 0, 0, "", this_colvar->calc(); this_colvar->update_forces_energy(); - script->set_result_str((this_colvar->value()).to_simple_string()); + script->set_result_colvarvalue(this_colvar->value()); return COLVARS_OK; ) CVSCRIPT(colvar_value, - "Get the current value of this colvar", + "Get the current value of this colvar\n" + "value : float or array - Current value; matches the colvar dimensionality", 0, 0, "", - script->set_result_str(this_colvar->value().to_simple_string()); + script->set_result_colvarvalue(this_colvar->value()); return COLVARS_OK; ) CVSCRIPT(colvar_width, - "Get the width of this colvar", + "Get the width of this colvar\n" + "width : float - Value of the width", 0, 0, "", script->set_result_str(cvm::to_str(this_colvar->width, 0, diff --git a/lib/colvars/colvartypes.cpp b/lib/colvars/colvartypes.cpp index 3cbaed63a8..4117a7a68f 100644 --- a/lib/colvars/colvartypes.cpp +++ b/lib/colvars/colvartypes.cpp @@ -256,6 +256,7 @@ namespace { colvarmodule::rotation::rotation() { b_debug_gradients = false; + lambda = 0.0; #ifdef COLVARS_LAMMPS jacobi = new_Jacobi_solver(4); #else @@ -268,6 +269,7 @@ colvarmodule::rotation::rotation(cvm::quaternion const &qi) : q(qi) { b_debug_gradients = false; + lambda = 0.0; #ifdef COLVARS_LAMMPS jacobi = new_Jacobi_solver(4); #else @@ -283,6 +285,7 @@ colvarmodule::rotation::rotation(cvm::real angle, cvm::rvector const &axis) cvm::real const sina = cvm::sin(angle/2.0); q = cvm::quaternion(cvm::cos(angle/2.0), sina * axis_n.x, sina * axis_n.y, sina * axis_n.z); + lambda = 0.0; #ifdef COLVARS_LAMMPS jacobi = new_Jacobi_solver(4); #else diff --git a/lib/colvars/colvarvalue.cpp b/lib/colvars/colvarvalue.cpp index 7ab617bc44..24a2790f6e 100644 --- a/lib/colvars/colvarvalue.cpp +++ b/lib/colvars/colvarvalue.cpp @@ -224,7 +224,7 @@ void colvarvalue::is_derivative() colvarvalue::colvarvalue(colvarvalue const &x) - : value_type(x.type()) + : value_type(x.type()), real_value(0.0) { switch (x.type()) { case type_scalar: @@ -252,6 +252,7 @@ colvarvalue::colvarvalue(colvarvalue const &x) colvarvalue::colvarvalue(cvm::vector1d const &v, Type vti) + : real_value(0.0) { if ((vti != type_vector) && (v.size() != num_dimensions(vti))) { cvm::error("Error: trying to initialize a variable of type \""+type_desc(vti)+ @@ -579,16 +580,7 @@ colvarvalue colvarvalue::dist2_grad(colvarvalue const &x2) const cvm::rvector const &v1 = this->rvector_value; cvm::rvector const &v2 = x2.rvector_value; cvm::real const cos_t = v1 * v2; - cvm::real const sin_t = cvm::sqrt(1.0 - cos_t*cos_t); - return colvarvalue( 2.0 * sin_t * - cvm::rvector((-1.0) * sin_t * v2.x + - cos_t/sin_t * (v1.x - cos_t*v2.x), - (-1.0) * sin_t * v2.y + - cos_t/sin_t * (v1.y - cos_t*v2.y), - (-1.0) * sin_t * v2.z + - cos_t/sin_t * (v1.z - cos_t*v2.z) - ), - colvarvalue::type_unit3vectorderiv ); + return colvarvalue(2.0 * (cos_t * v1 - v2), colvarvalue::type_unit3vectorderiv); } case colvarvalue::type_quaternion: case colvarvalue::type_quaternionderiv: diff --git a/lib/colvars/colvarvalue.h b/lib/colvars/colvarvalue.h index ca367dd43f..3f26c35df4 100644 --- a/lib/colvars/colvarvalue.h +++ b/lib/colvars/colvarvalue.h @@ -124,7 +124,7 @@ public: /// Constructor from a type specification inline colvarvalue(Type const &vti) - : value_type(vti) + : value_type(vti), real_value(0.0) { reset(); } @@ -138,12 +138,12 @@ public: /// by default a type \link type_3vector \endlink , if you want a /// \link type_unit3vector \endlink you must set it explicitly) inline colvarvalue(cvm::rvector const &v, Type vti = type_3vector) - : value_type(vti), rvector_value(v) + : value_type(vti), real_value(0.0), rvector_value(v) {} /// \brief Copy constructor from quaternion base type inline colvarvalue(cvm::quaternion const &q, Type vti = type_quaternion) - : value_type(vti), quaternion_value(q) + : value_type(vti), real_value(0.0), quaternion_value(q) {} /// Copy constructor from vector1d base type diff --git a/src/COLVARS/colvarproxy_lammps_version.h b/src/COLVARS/colvarproxy_lammps_version.h index d9f2955233..0399595533 100644 --- a/src/COLVARS/colvarproxy_lammps_version.h +++ b/src/COLVARS/colvarproxy_lammps_version.h @@ -1,3 +1,3 @@ #ifndef COLVARPROXY_VERSION -#define COLVARPROXY_VERSION "2020-04-07" +#define COLVARPROXY_VERSION "2021-03-02" #endif diff --git a/src/COLVARS/fix_colvars.cpp b/src/COLVARS/fix_colvars.cpp index f4f6974c70..45e12951bb 100644 --- a/src/COLVARS/fix_colvars.cpp +++ b/src/COLVARS/fix_colvars.cpp @@ -480,7 +480,7 @@ void FixColvars::one_time_init() memory->create(force_buf,3*num_coords,"colvars:force_buf"); if (me == 0) { - std::vector &tl = *(proxy->modify_atom_ids()); + std::vector const &tl = *(proxy->get_atom_ids()); inthash_t *hashtable=new inthash_t; inthash_init(hashtable, num_coords); idmap = (void *)hashtable; @@ -563,7 +563,7 @@ void FixColvars::setup(int vflag) if (me == 0) { - std::vector &id = *(proxy->modify_atom_ids()); + std::vector const &id = *(proxy->get_atom_ids()); std::vector &tp = *(proxy->modify_atom_types()); std::vector &cd = *(proxy->modify_atom_positions()); std::vector &of = *(proxy->modify_atom_total_forces()); @@ -836,7 +836,7 @@ void FixColvars::post_force(int /*vflag*/) if (me == 0) { - std::vector &fo = *(proxy->modify_atom_new_colvar_forces()); + std::vector &fo = *(proxy->modify_atom_applied_forces()); double *fbuf = force_buf; for (int j=0; j < num_coords; ++j) { From 7068f3e77beaea64e6077a17cef1a607bf920165 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 4 Aug 2021 12:02:55 -0400 Subject: [PATCH 611/726] add a few more test cases for testing utils::split_words() --- unittest/utils/test_utils.cpp | 38 +++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/unittest/utils/test_utils.cpp b/unittest/utils/test_utils.cpp index 4ce4733a6a..08922e648f 100644 --- a/unittest/utils/test_utils.cpp +++ b/unittest/utils/test_utils.cpp @@ -120,6 +120,44 @@ TEST(Utils, split_words_simple) ASSERT_THAT(list[2], StrEq("three")); } +TEST(Utils, split_words_leading_whitespace) +{ + auto list = utils::split_words(" one two three"); + ASSERT_EQ(list.size(), 3); + ASSERT_THAT(list[0], StrEq("one")); + ASSERT_THAT(list[1], StrEq("two")); + ASSERT_THAT(list[2], StrEq("three")); +} + +TEST(Utils, split_words_trailing_whitespace) +{ + auto list = utils::split_words("one two three "); + ASSERT_EQ(list.size(), 3); + ASSERT_THAT(list[0], StrEq("one")); + ASSERT_THAT(list[1], StrEq("two")); + ASSERT_THAT(list[2], StrEq("three")); +} + +TEST(Utils, split_words_heredoc) +{ + auto list = utils::split_words("one two three \"\"\""); + ASSERT_EQ(list.size(), 4); + ASSERT_THAT(list[0], StrEq("one")); + ASSERT_THAT(list[1], StrEq("two")); + ASSERT_THAT(list[2], StrEq("three")); + ASSERT_THAT(list[3], StrEq("\"\"\"")); +} + +TEST(Utils, split_words_heredoc_whitespace) +{ + auto list = utils::split_words("one two three \"\"\" "); + ASSERT_EQ(list.size(), 4); + ASSERT_THAT(list[0], StrEq("one")); + ASSERT_THAT(list[1], StrEq("two")); + ASSERT_THAT(list[2], StrEq("three")); + ASSERT_THAT(list[3], StrEq("\"\"\"")); +} + TEST(Utils, split_words_quoted) { auto list = utils::split_words("one 'two' \"three\""); From c4442206d44e7ab9efd793f22e273f3a508501a5 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 4 Aug 2021 12:03:34 -0400 Subject: [PATCH 612/726] add special case for heredocs in utils::split_words() to avoid segfaults --- src/utils.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/utils.cpp b/src/utils.cpp index 654d5d3301..c0c15d0f3b 100644 --- a/src/utils.cpp +++ b/src/utils.cpp @@ -855,6 +855,13 @@ std::vector utils::split_words(const std::string &text) if (c != '\'') ++len; c = *++buf; + // handle triple double quotation marks + } else if ((c == '"') && (buf[1] == '"') && (buf[2] == '"') && (buf[3] != '"')) { + len = 3; + add = 1; + buf += 3; + c = *buf; + // handle double quote } else if (c == '"') { ++beg; From bb9c0630f879b33e4765feec35497bd7f778a28e Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 4 Aug 2021 17:06:02 -0400 Subject: [PATCH 613/726] suppressions for readline function calls from lammps-shell --- tools/valgrind/readline.supp | 169 +++++++++++++++++++++++++++++++++++ 1 file changed, 169 insertions(+) create mode 100644 tools/valgrind/readline.supp diff --git a/tools/valgrind/readline.supp b/tools/valgrind/readline.supp new file mode 100644 index 0000000000..f1e1c6df1e --- /dev/null +++ b/tools/valgrind/readline.supp @@ -0,0 +1,169 @@ +{ + Readline_init_part1 + Memcheck:Leak + match-leak-kinds: reachable + fun:malloc + fun:xmalloc + ... + fun:rl_initialize + fun:readline + ... + obj:* +} +{ + Readline_init_part2 + Memcheck:Leak + match-leak-kinds: reachable + fun:malloc + fun:strdup + ... + fun:rl_initialize + fun:readline + ... + obj:* +} +{ + Readline_init_part3 + Memcheck:Leak + match-leak-kinds: reachable + fun:realloc + ... + fun:rl_initialize + fun:readline + ... + obj:* +} +{ + Readline_init_part4 + Memcheck:Leak + match-leak-kinds: reachable + fun:malloc + fun:rl_initialize + fun:readline + ... + obj:* +} +{ + Readline_init_part5 + Memcheck:Leak + match-leak-kinds: reachable + fun:malloc + ... + fun:tgetent_sp + ... + fun:rl_initialize + fun:readline + ... + obj:* +} +{ + Readline_init_part6 + Memcheck:Leak + match-leak-kinds: reachable + fun:calloc + ... + fun:tgetent_sp + ... + fun:rl_initialize + fun:readline + ... + obj:* +} +{ + Readline_init_part7 + Memcheck:Leak + match-leak-kinds: reachable + fun:realloc + ... + fun:tgetent_sp + ... + fun:rl_initialize + fun:readline + ... + obj:* +} +{ + Readline_init_part8 + Memcheck:Leak + match-leak-kinds: reachable + fun:malloc + ... + fun:tgetent_sp + ... + fun:rl_initialize + fun:readline + ... + obj:* +} +{ + Readline_init_part9 + Memcheck:Leak + match-leak-kinds: reachable + fun:calloc + ... + fun:tgetstr_sp + ... + fun:rl_initialize + fun:readline + obj:* +} +{ + Readline_prompt_part1 + Memcheck:Leak + match-leak-kinds: reachable + fun:realloc + fun:xrealloc + ... + fun:rl_set_prompt + fun:readline + ... + obj:* +} +{ + Readline_prompt_part2 + Memcheck:Leak + match-leak-kinds: reachable + fun:malloc + fun:xmalloc + ... + fun:rl_set_prompt + fun:readline + ... + obj:* +} +{ + Readline_history_part1 + Memcheck:Leak + match-leak-kinds: reachable + fun:malloc + fun:xmalloc + ... + fun:readline_internal_teardown + fun:readline + ... + obj:* +} +{ + Readline_history_part2 + Memcheck:Leak + match-leak-kinds: reachable + fun:malloc + fun:xmalloc + ... + fun:readline_internal_teardown + fun:readline + ... + obj:* +} +{ + Readline_history_part3 + Memcheck:Leak + match-leak-kinds: reachable + fun:malloc + fun:xmalloc + ... + fun:add_history + fun:shell_cmd + ... + obj:* +} From 2e7b3081a10384d6aabfde0e1cacf6df887e1e9e Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 4 Aug 2021 17:07:16 -0400 Subject: [PATCH 614/726] fix bug enumerating output when using python invoke with multiple functions --- src/PYTHON/python_impl.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/PYTHON/python_impl.cpp b/src/PYTHON/python_impl.cpp index 793fedf00e..2e043dab73 100644 --- a/src/PYTHON/python_impl.cpp +++ b/src/PYTHON/python_impl.cpp @@ -138,7 +138,7 @@ void PythonImpl::command(int narg, char **arg) if (ifunc < 0) error->all(FLERR,"Python invoke of undefined function"); char *str = nullptr; - if (noutput) { + if (pfuncs[ifunc].noutput) { str = input->variable->pythonstyle(pfuncs[ifunc].ovarname, pfuncs[ifunc].name); if (!str) From 08a727d510d3cad16589dc9473bb2fc84115fd62 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 4 Aug 2021 17:19:23 -0400 Subject: [PATCH 615/726] make some class members temporaries since they don't need to persist --- src/PYTHON/python_impl.cpp | 22 +++++++++------------- src/PYTHON/python_impl.h | 5 +---- 2 files changed, 10 insertions(+), 17 deletions(-) diff --git a/src/PYTHON/python_impl.cpp b/src/PYTHON/python_impl.cpp index 2e043dab73..61092e90ed 100644 --- a/src/PYTHON/python_impl.cpp +++ b/src/PYTHON/python_impl.cpp @@ -47,12 +47,6 @@ enum{NONE,INT,DOUBLE,STRING,PTR}; PythonImpl::PythonImpl(LAMMPS *lmp) : Pointers(lmp) { - ninput = noutput = 0; - istr = nullptr; - ostr = nullptr; - format = nullptr; - length_longstr = 0; - // pfuncs stores interface info for each Python function nfunc = 0; @@ -168,11 +162,12 @@ void PythonImpl::command(int narg, char **arg) // parse optional args, invoke is not allowed in this mode - ninput = noutput = 0; - istr = nullptr; - ostr = nullptr; - format = nullptr; - length_longstr = 0; + int ninput = 0; + int noutput = 0; + char **istr = nullptr; + char *ostr = nullptr; + char *format = nullptr; + int length_longstr = 0; char *pyfile = nullptr; char *herestr = nullptr; int existflag = 0; @@ -223,7 +218,7 @@ void PythonImpl::command(int narg, char **arg) // create or overwrite entry in pfuncs vector with name = arg[0] - int ifunc = create_entry(arg[0]); + int ifunc = create_entry(arg[0],ninput,noutput,length_longstr, istr, ostr, format); PyUtils::GIL lock; @@ -409,7 +404,8 @@ char *PythonImpl::long_string(int ifunc) /* ------------------------------------------------------------------ */ -int PythonImpl::create_entry(char *name) +int PythonImpl::create_entry(char *name, int ninput, int noutput, int length_longstr, + char **istr, char *ostr, char *format) { // ifunc = index to entry by name in pfuncs vector, can be old or new // free old vectors if overwriting old pfunc diff --git a/src/PYTHON/python_impl.h b/src/PYTHON/python_impl.h index 0190e8d7c2..dd215fdedf 100644 --- a/src/PYTHON/python_impl.h +++ b/src/PYTHON/python_impl.h @@ -35,9 +35,6 @@ class PythonImpl : protected Pointers, public PythonInterface { bool has_minimum_version(int major, int minor); private: - int ninput, noutput, length_longstr; - char **istr; - char *ostr, *format; void *pyMain; struct PyFunc { @@ -57,7 +54,7 @@ class PythonImpl : protected Pointers, public PythonInterface { PyFunc *pfuncs; int nfunc; - int create_entry(char *); + int create_entry(char *, int, int, int, char **, char *, char *); void deallocate(int); }; From bc6dfdb65648d7d1219957fcce469ec4362ea383 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 4 Aug 2021 17:44:56 -0400 Subject: [PATCH 616/726] update readme --- tools/valgrind/README | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tools/valgrind/README b/tools/valgrind/README index fb35b4586a..8a32f7928c 100644 --- a/tools/valgrind/README +++ b/tools/valgrind/README @@ -10,7 +10,9 @@ valgrind --show-leak-kinds=all --track-origins=yes \ --suppressions=/path/to/lammps/tools/valgrind/OpenMPI.supp \ --suppressions=/path/to/lammps/tools/valgrind/Python3.supp \ --suppressions=/path/to/lammps/tools/valgrind/GTest.supp \ + --suppressions=/path/to/lammps/tools/valgrind/FlexiBLAS.supp \ + --suppressions=/path/to/lammps/tools/valgrind/readline.supp \ lmp -in in.melt -Last update: 2020-07-09 +Last update: 2021-08-04 From 9a60ab0c23063f790b2509dfdef63b860afa16c3 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 4 Aug 2021 21:31:42 -0400 Subject: [PATCH 617/726] correctly insert atoms/molecules any nfreq timesteps even with multiple run this changes the computation of "next_reneighbor" so that it is based on "nfirst" which is set during the constructor of the class. This still maintains the property that the first deposit attempt is not done during setup, but on the next step. --- src/fix_deposit.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/fix_deposit.cpp b/src/fix_deposit.cpp index f3b175fc78..7f153cd172 100644 --- a/src/fix_deposit.cpp +++ b/src/fix_deposit.cpp @@ -195,7 +195,7 @@ FixDeposit::FixDeposit(LAMMPS *lmp, int narg, char **arg) : force_reneighbor = 1; next_reneighbor = update->ntimestep + 1; - nfirst = next_reneighbor; + nfirst = next_reneighbor-nfreq; ninserted = 0; } @@ -288,8 +288,7 @@ void FixDeposit::init() double separation = MAX(2.0*maxradinsert,maxradall+maxradinsert); if (sqrt(nearsq) < separation && comm->me == 0) - error->warning(FLERR,"Fix deposit near setting < possible " - "overlap separation {}",separation); + error->warning(FLERR,"Fix deposit near setting < possible overlap separation {}",separation); } } @@ -297,7 +296,7 @@ void FixDeposit::init() void FixDeposit::setup_pre_exchange() { - if (ninserted < ninsert) next_reneighbor = update->ntimestep+1; + if (ninserted < ninsert) next_reneighbor = nfirst + ((update->ntimestep - nfirst)/nfreq)*nfreq + nfreq; else next_reneighbor = 0; } From 5295bb51098394803fee730e9c85d4c590adc4d3 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 5 Aug 2021 12:20:20 -0400 Subject: [PATCH 618/726] fix refactoring bugs --- src/REPLICA/fix_grem.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/REPLICA/fix_grem.cpp b/src/REPLICA/fix_grem.cpp index 07b8051225..743d31fe96 100644 --- a/src/REPLICA/fix_grem.cpp +++ b/src/REPLICA/fix_grem.cpp @@ -76,20 +76,19 @@ FixGrem::FixGrem(LAMMPS *lmp, int narg, char **arg) : // pass id_temp as 4th arg to pressure constructor id_press = utils::strdup(std::string(id) + "_press"); - modify->add_compute(fmt::format("{} all PRESSURE/GREM {}", - id_press, id_temp)); + modify->add_compute(fmt::format("{} all PRESSURE/GREM {} {}", id_press, id_temp, id)); // create a new compute ke style // id = fix-ID + ke id_ke = utils::strdup(std::string(id) + "_ke"); - modify->add_compute(fmt::format("{} all ke",id_temp)); + modify->add_compute(fmt::format("{} all ke",id_ke)); // create a new compute pe style // id = fix-ID + pe id_pe = utils::strdup(std::string(id) + "_pe"); - modify->add_compute(fmt::format("{} all pe",id_temp)); + modify->add_compute(fmt::format("{} all pe",id_pe)); int ifix = modify->find_fix(id_nh); if (ifix < 0) From 980b817f3ff3c107013dcaf574b90e7a992ed352 Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Thu, 5 Aug 2021 18:03:05 -0400 Subject: [PATCH 619/726] Allow python pair style to load class from __main__ --- src/PYTHON/pair_python.cpp | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/src/PYTHON/pair_python.cpp b/src/PYTHON/pair_python.cpp index 2cffcb8b05..5b4e841927 100644 --- a/src/PYTHON/pair_python.cpp +++ b/src/PYTHON/pair_python.cpp @@ -253,20 +253,24 @@ void PairPython::coeff(int narg, char **arg) if (strcmp(arg[0],"*") != 0 || strcmp(arg[1],"*") != 0) error->all(FLERR,"Incorrect args for pair coefficients"); - // check if python potential file exists and source it + + // check if python potential class type exists + // load module if necessary std::string full_cls_name = arg[2]; + std::string module_name = "__main__"; + std::string cls_name = full_cls_name; + size_t lastpos = full_cls_name.rfind("."); - if (lastpos == std::string::npos) { - error->all(FLERR,"Python pair style requires fully qualified class name"); + if (lastpos != std::string::npos) { + module_name = full_cls_name.substr(0, lastpos); + cls_name = full_cls_name.substr(lastpos+1); } - std::string module_name = full_cls_name.substr(0, lastpos); - std::string cls_name = full_cls_name.substr(lastpos+1); - PyUtils::GIL lock; PyObject * pModule = PyImport_ImportModule(module_name.c_str()); + if (!pModule) { PyUtils::Print_Errors(); error->all(FLERR,"Loading python pair style module failure"); @@ -278,7 +282,7 @@ void PairPython::coeff(int narg, char **arg) PyObject *py_pair_type = PyObject_GetAttrString(pModule, cls_name.c_str()); if (!py_pair_type) { PyUtils::Print_Errors(); - error->all(FLERR,"Could not find pair style class in module'"); + error->all(FLERR, "Could not find pair style class {} in module {}", cls_name, module_name); } PyObject * py_pair_instance = PyObject_CallObject(py_pair_type, nullptr); From 53b94ac94d5cfdbd39cd8ab8c7c449b723794bb4 Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Thu, 5 Aug 2021 18:10:19 -0400 Subject: [PATCH 620/726] Allow fix python/move to load class from __main__ --- src/PYTHON/fix_python_move.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/PYTHON/fix_python_move.cpp b/src/PYTHON/fix_python_move.cpp index 72b61a834c..eef2c4083f 100644 --- a/src/PYTHON/fix_python_move.cpp +++ b/src/PYTHON/fix_python_move.cpp @@ -51,15 +51,15 @@ FixPythonMove::FixPythonMove(LAMMPS *lmp, int narg, char **arg) : // create integrator instance std::string full_cls_name = arg[3]; + std::string module_name = "__main__"; + std::string cls_name = full_cls_name; size_t lastpos = full_cls_name.rfind("."); - if (lastpos == std::string::npos) { - error->all(FLERR,"Fix python/integrate requires fully qualified class name"); + if (lastpos != std::string::npos) { + module_name = full_cls_name.substr(0, lastpos); + cls_name = full_cls_name.substr(lastpos+1); } - std::string module_name = full_cls_name.substr(0, lastpos); - std::string cls_name = full_cls_name.substr(lastpos+1); - PyObject *pModule = PyImport_ImportModule(module_name.c_str()); if (!pModule) { PyUtils::Print_Errors(); @@ -72,7 +72,7 @@ FixPythonMove::FixPythonMove(LAMMPS *lmp, int narg, char **arg) : PyObject *py_move_type = PyObject_GetAttrString(pModule, cls_name.c_str()); if (!py_move_type) { PyUtils::Print_Errors(); - error->all(FLERR,"Could not find integrator class in module'"); + error->all(FLERR,"Could not find integrator class {} in module {}", cls_name, module_name); } PyObject *ptr = PY_VOID_POINTER(lmp); From f3a03d6a84c41a18b8fff40e1a49c31841424a98 Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Fri, 6 Aug 2021 10:21:40 -0400 Subject: [PATCH 621/726] Catch ValueError instead of base exception --- python/lammps/core.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/python/lammps/core.py b/python/lammps/core.py index 5dcc31854b..7dea6e5e6e 100644 --- a/python/lammps/core.py +++ b/python/lammps/core.py @@ -1393,7 +1393,7 @@ class lammps(object): id_lmp = (self.c_tagint*n)() try: id_lmp[:] = id[0:n] - except: # lgtm [py/catch-base-exception] + except ValueError: return 0 else: id_lmp = None @@ -1401,21 +1401,21 @@ class lammps(object): type_lmp = (c_int*n)() try: type_lmp[:] = type[0:n] - except: # lgtm [py/catch-base-exception] + except ValueError: return 0 three_n = 3*n x_lmp = (c_double*three_n)() try: x_lmp[:] = x[0:three_n] - except: # lgtm [py/catch-base-exception] + except ValueError: return 0 if v: v_lmp = (c_double*(three_n))() try: v_lmp[:] = v[0:three_n] - except: # lgtm [py/catch-base-exception] + except ValueError: return 0 else: v_lmp = None @@ -1424,7 +1424,7 @@ class lammps(object): img_lmp = (self.c_imageint*n)() try: img_lmp[:] = image[0:n] - except: # lgtm [py/catch-base-exception] + except ValueError: return 0 else: img_lmp = None From b9fa4e1db2523d56449c85d18bf7a3ed413716ad Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 6 Aug 2021 08:13:03 -0400 Subject: [PATCH 622/726] avoid memory leaks on specifying keywords multiple times --- src/PYTHON/python_impl.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/PYTHON/python_impl.cpp b/src/PYTHON/python_impl.cpp index 61092e90ed..2da5f68895 100644 --- a/src/PYTHON/python_impl.cpp +++ b/src/PYTHON/python_impl.cpp @@ -179,6 +179,7 @@ void PythonImpl::command(int narg, char **arg) ninput = utils::inumeric(FLERR,arg[iarg+1],false,lmp); if (ninput < 0) error->all(FLERR,"Invalid python command"); iarg += 2; + delete[] istr; istr = new char*[ninput]; if (iarg+ninput > narg) error->all(FLERR,"Invalid python command"); for (int i = 0; i < ninput; i++) istr[i] = arg[iarg+i]; @@ -186,6 +187,7 @@ void PythonImpl::command(int narg, char **arg) } else if (strcmp(arg[iarg],"return") == 0) { if (iarg+2 > narg) error->all(FLERR,"Invalid python command"); noutput = 1; + delete[] ostr; ostr = arg[iarg+1]; iarg += 2; } else if (strcmp(arg[iarg],"format") == 0) { From eb52f7c290316d019c7097a08682cbe8e9439e03 Mon Sep 17 00:00:00 2001 From: Giacomo Fiorin Date: Fri, 6 Aug 2021 10:25:12 -0400 Subject: [PATCH 623/726] Update Colvars to version 2021-08-06 (silence Coverity Scan warnings) Also include PDF copy of the manual forgotten in previous PR. --- doc/src/PDF/colvars-refman-lammps.pdf | Bin 577960 -> 1362479 bytes lib/colvars/colvarcomp_volmaps.cpp | 2 +- lib/colvars/colvargrid.cpp | 8 ++++++++ lib/colvars/colvars_version.h | 2 +- 4 files changed, 10 insertions(+), 2 deletions(-) diff --git a/doc/src/PDF/colvars-refman-lammps.pdf b/doc/src/PDF/colvars-refman-lammps.pdf index 8fcc37c26ed28a0426c6146a5e68e793525e653b..8b6e5bffdcc71ae69d68a9449b3ec259b7478a9a 100644 GIT binary patch delta 1146175 zcmZsCQ;;sqmSx$tZQHhO+qS>5>y&NRDW0-@%C>FWn*ZLO?&*%6my8t|85#MId+*G( z)~+ZftxHi&;DTp@VU#m>uynH`VrJt=pCbpM2GnS7IBaqt`R~+aj2se2Ny(%%L4mY6 zdOABy#{X-NUH2=ah$W~L{C)^sV0;qB1}CL zEG8skqD)3YM?6MEft(CS9u;av2faZPiK&v5guJJC7Dy&)Bux#+JE}yh5!&W18o^V7bOF|i<9|JcilN9I!2AtF0z(xpT0*5zADR*wd8>|MEKMbi?nj+! zQ%GKlEUEj9hz#SxfEmV+gv z3LTQE$ZhV#2pX_e9}ffmuoF}dlEW=aCXPb~rk0S@ss)4HP-yIAGb=(PMI=Egg%X&cjK>I;lBkC+6VcBuia*v72!=ID(_&tffXJ344VZ*T zP=&@jB~zV(z#&SI5_R3NYDQ9$g=WCUqb*#UJtbe7g9vd4=}4jznzScdgED3^O^^?} zByhE@=c*7BSNUgeQC60b%~WDsp=CO_zpBibkuqv<=-^x`Q6`|H(!r;%3Z+T#MCH&I zL{wt;F()%;YrHz#n{@~Tc=||3nuEV*20bZ9d0|01;KNPHRrTXC zYkm08&Dr%wZh+uX-I}q%#eqWk=CNbDIS(h_Tl8Yzii+P&6sZ7zEOF`p2?cqe)zT!%;~Sa{QCqpUc0(iT77 zMskyzrq*1_sL^6a`r8ah1a$Fq?lpCb6>=0ZlcZ7hJj`EzL8-pX#^x{^cBeTU7)C3LYq_!IER1bP zun*9gpI+;IM;xtH-bC9&ajYq>b*1WLI0jdW02c7mdmi~?kCmqgILQfYqHSECguxn;TcI$!*xQNX(%<8ym%%z_i<0N*J-5*;7ta*m+U@+WpT7qZ$IM}+Rr^*IXz;iIq zAez=Xn{Jm!7q%tXF0Bwh{B#5J05O$M8`NjM zMT)a~Y@hxu_pBxP5_*`2^1AengLl+58|MRjf5ytGS2J9`TrdJww%pVUV7*W#?L&Sa zvZKj_{E|Ce-(9`s{YyYb zXLI0}c&By?;F3L-<2y zXK&i$8=^=Y5xq?!x8ggJyl7gdt4Z`*_-}Uv?q zll{M?c5cpeXL=B-Lnvs-6oC3W~E>{jRN?bKb!?hvA(}Q0qZ3*@iPTqqGQA zQfUq}G4+_~=QLH^Tb8O08kw0`=09t_Lto5Aya!fN?vrjX)uaGDX=*9KVk8x4Z*sf2 zEEBi9#az*=qsC@J3W>&e^+9L{XzeA?u}L>2QhCLt;IVMO%gJLwt}_d?V3<)eLlbZD zi6%fw&4m=&rtwChcfnzzR1p$Exl_F;AziWtXdzw3qmG59`+}(gb4t(T(1fO4j-f}n zlYt(&(koiPT=D>W=4RNK$Ra613}isEM3{P*tC2A%^)f{1BqY%O`z&!5D1V2{A&xU6 zp?b*{Q4#|ooU4pLK#`QABx_7e5~xpjjl{(K%FTj|gxG@uS*f*PhJzeLSP()(u$0ip zh2!ub5|UGHfViy*na^HHwcFV&i_L21q-PP)ELq1$EE50~2OVZ1-e4Ja)YENO8O0g! zM3~gLa)c3q!9|Cs)Qu2o(BO#;8Dp^*mW<(%tFSQRP-e1JRHo0t!9*Yi+^VX7g6M>i z;A#bpLnb5?WdmX@S)sv|$s9z57l$RL$@lQ7s8G!)J7t`3VTyn_oH(amkrNst;k_)R zMWp|FV~znXk7RxB!VJ1vG1CmX3N3rIeY#;^6stB>t>cGudnb(La zh2>MK_K8FGa0pcRl+L6&f2VXI#P*ET;U2KV$MXZ|-P`6m%A8ECFYFqBTA4<$#4-1} zTX^yDlD4XxqWG$!4cnL9YI2k(WE6>tu|`*YB)Chv8+FUODb=-^YIts&w=;C=#ugQk z#rm|)lBtz_(^^{f7lRPixgy^hgU1=Hz}1d0JX+0w`1nc@JJxL_W9rcC2r;$Y7)h4z z zTgi>+OVDRnrG|VM2gFW4gt{|2Ek90geik5pi>bm#-d7jj2Ck&?dM5m2FT+4X5IaWt z<72w!=9ROWT(iL)0-CyfwsbwN!!q|HOcl^X`y{Xr4?_GCG?(HmU5avBjb_U+9(V(iHEAW({Ybjv%NwY01*zu~KAj>yDzzV7@??ml+HT~7WOJB#z^ zAjn>HTfM?msQM%N(_DVVWGB0^XbWDi*FxSq)xqzv6I>T}PY-Csst`sJK{Z@Qu5Ac9h0PJ=?G#vyo{><6jLSRJ zl-TsGoLRQnakwW=_Uu9!=78CZ7wHXv^#8VtU6^dMga|kcG#V8se>fm&rNuxl<9b>D zSyy1OpZuFK);*?YN@E*O*@cn2Tw;6G0(l>|QBhBx36BkTVSJ64af{Edzzp#BEmK}= zJvopbKe+$?x@5JUyis@}tbB!O&p(q27Oml_=rN{HO2Om3`c`w^eNem!FJ$pSNy75T za766&F>R4wsUgMPC!R!<&gJ8oQnIjg$j8cvK>CvL)Aj8Z)tu2*k^6dKSy%jV?5I4p zLawF?yzD_G19+89I;y#cIRfULGe{*2ry#@NRYZ~fV!+EMLlvVh9Tr|D-ls8tPQbR* z&FUd=zO^z9Rs<1)KH8=n&V({a>O6e?(jCkDo~9bw4wJJKQ$5~i{XU%|Nq-#I!q`_} z%pJ^J-CWF#?f-=wO>AJ;*w~4fi2jB6`2MR9uyb<&6aBjq0OC|-RX3QBdOkEysiuqy z%gLWGM7%=H0(a*{&-&%@_BmQ2N($o*cT&k&!x32dr9a+1UN*K4{G12p4g`!(k(u4T zZ)9uk4S%{)^H2~3;GE6C#xn|aip_JqQdzLsFb(W1|T)kcS32Im|H&NzZO>KC&lN6r9?7aeCT-gbX zZ)kz4)D;ITV2tDJdvNKU4cck_?F=||JZKw4bx}rbTj0hVSu>8;d?+c$NS2GtE2$8D z148N?8cVe#+pNeqD3?_&Z$c`+(JO$IbJ`%f(bC zz-BM_!+)kn!%8O4u>{fj{QR_C-PS>_S{bqDGf40cp&mu!b9idRC3}I`#B*5+$L3l- zHQ1{3Vg0!y6lG?ThUM#Z)u)i9Q=MLmtkSbVonRO+;yKM7Gtw@eY99~35%yqlww-lB z6D+uR0C}224K=2}8pq>1&E=T$f_ zSpzeHE!q5d++Iq(zu*5Pb)#5=-Ic@J&EZ&C!DKY(Dg7I?`ottYJ+yk4cn~rRj>UsX zdZK%iQO+&6S2g7BuzsLzVDL;4K4JQgcI_SeDx`b#8z!vEW>qcqGDGYm{Y5>{UbDL)Yg9-THG0l3d{MON|f^$rZmK4G4rf6@NO)n5oPo zO`^M0oUvQmkpiuZo66udQB@S!TQtK2{*F`XFvDiymOhacpG(C;CnaN!NgWg ze!urRl1L5u=Ik5*+r>HAu$lN^GN^en(2m?$W># zQ(JiR9X688O&t1g9L50L`)8YtU)g}fae?eR#X#Zo<#Z$vGy=w;X$$3X6~&5pOb7XD zCyRZWmHcZz6S+DrBc0K91D}a{LSTb&F%P}Qy_cWUhQ)cRZKSI#XJGR$-om~5buD-| zwMZ!I>6XuC$@l_KPm;AhEW;g&o1_MR>6WT-SKaPc-#d9%`ELOdixismvH)7OZhV!x zl{q|S*3)8yLEC}xkkTpCu%+J0_U(T@!SYzJC-=>Ooh@_HaluK%G;ykXg}i{{FfH86(ej8S4G++6-?)RdNKtH!#I}qEz6O*{^2;Ssh{Ja-Sr2w|5&|2Q zV~olu-^gx4NH5HJCt7TUV4vV4Ox_+m03OMdJAHNr(!1wa2FspqV9GvfqIyf#TOtkueriUmuuVt1(WwkT6# zXUD~_2+2#QPI!cO=%6mOa@MO6PgqE|Vn7cX8IG+tN|E(FRagdF5=)fTwJ#b}g|@7S z*soJ|ZzS%b#!Zp0jN7}rdDKz=CL~yeSi(WLJr33$Y}R9vP99%UKqDEyRZ1h6FxO{g z?UDrKExhDKo+<47rSOj-yU4?yg*Teb!VZ4WORkK|xZEK@sb)5>wU|pFr<*#V#GjrK z$eoPmi3L|Y=j|Vs`!hV)zOSuEQHfxER{RlbBcf0EM&a{*J3Ln*P(mZgGcT!A49&`a zj_{}Oq!S1ncg`T`STs-XPR(SMxB=039t#W*NU+{j1xoD}b(0CFRpNm$!RD{;Tg6fJ ztgZ_+MIf3vdQeC_!25!P;kR|}WvpAyh=09vfqg*JboL9@%cLd6d z7a0lc5%T7tV5$?TXGI_Ecg>S0hWtDiqeSkr;jB6$W?WZ^_q&3UDiUAYm_0B8$JR~+q>HRWnli%~E ztx(kdFB@ik>~gC40upJ=)k@64lLrywS3hL2P65Y`&0A1Vj7a6rg?s&3b`0hZD9}*~ z`~NPk>B8LL=%CD8T;3X*YAr?<1fuW7L=Yk*dkrYCPZSGLMDW?K1W_LHCSsJ701xox`cTz_V{eFG z;HSA$-6khBts;(&dFIWdnDHfc^sRi_kJO>~$%X^jM>xNK&iwaVX>w8n#+CG8M=rXQ zf7(K>!Oes*ABwn~uQb}+;JfYK9P(xaYgp8gZMbJ=v%u@6eZ0(LW)*U6h>#G}bC291>%wF)G$N zBAxEt)^~Ul?uh?ZoJ_q!xyO#(u^-so?E=&;v8$&4o;(>-bO-mcGbcJgU=mDucgT6O z32569cnEa~g7Eoyp%On-4VD>`TK>{}pD25mt4(n6I(zW;pauXO$oV)H@NSpO4s(fGb}HN$eYxo%_P2|WvaH>HvS%6 zHMTGHXOQVVFJg}I>KfnDxPCJ{? z!9;=LooAoynG^tx&ED3p0zth8vE+>G5&Zrf2IDFVjL zEk&kTfgU8^cEsf~AERDT#fn9NVe1Z7R$%scj()o$Jbz50-z~uT8DBB?wI8TWk$iM> z2gU@F6&Rlb4D2H*meJ>h{^ISE>r4^f&qo-p!)mEFG629Q>rAy(2 zcFgoF1&M1eRc+R4@vWB?VhA+I!#aCiTs1|Pg~?co8$olC&0Y?*bkm1DxyJEp`6p0n z&Nf9g^E+rH0qKc<%ICgNdt}Gx5Fahv-2Pu+x}?EM)Vh)k*)(m+(kLe$g$s?`hF*Wd zvdJ_yzAFGR%`xC>ilSPYEYyE>uiHU(phXJ99Xa@I#o%@msqO@3CvNL|vK^k78_PIi zTD0hbg@*C(J;%?pH~O*&t3&Y{tgOalcy)|m9g7KiTXZ8+XJkIPfG=a?SsPsh!wd&)*GEeYV%cl_A6YXi2vLUynp?wO$LhIg|! z4)>#<6s(Hle6Daw#Evz@b!vhxt^v4pPM`9>+NO%_L3 zaeQ6||LrTKG&a9)#dGQA#X-2#_a)vNddLO7opmWCXL$o*v6;%<;|~h8th%VK6I5PT zO97xe&b0UX7zk@uQ_h9iou>!a6zdCXX`^^I;_FT{=)H=ABkgsK%(~QKlH7A! zj(o`-Ie7}`d=T{$-fx~zfce%@0+>MNy)fgatr4YOqpI14i1L&Tqa%~_-0|0J#=#Qi z(ERU-wVm1alCw<(3-vH+fxVqD!RvTIme-wH)FDj=4&6I)T+8U14mN$I$Ld1UUO~X) zst`b$k}xJIW&DgwQP!=)WdgPKI!m?cZfxd*l+l&&^d00axK8d4ntp|B?vUYt{ zEZdJjcUJeXm$US(hp8=GBqmZxqu(Jh9yaP;7il%&-7j?eorbsy)}<_aB!t#<7Ncay zR)LmzMO@NDPEG&)u0YoAQx@v!Nl$q^=X z3er#SYuHF6%3q17^c;(9EM{OWnz(<9@r{KZ>JNS>OixNR13 z`}a+}c_4vaj7{eIcAMYod0~Ck{J4-EyYZr?(Kb;2?yk>->B06y>5K)yyog-f%>Tuz zuyAsvBa4Gm1DbU=9B{c&{8uz@o$r~@s-joIko%-5GJ$wAh^9drabJa7Qnh$Hz*KmX zKfm(M%W}u2_93=_L1b!<&lb$;70_dz6=GSp$w`6bIk0yk;gEY!aPMO|uwfo z!@*b9u&0r0u#EG(pM~ZwglK~~aBt>du=8PbID%#g0r4;f8&)FERxweb%e<)Kx-86P zna}drUIJN3{gD2n^#Ql9NI@_he+$m;w4#w`U_feRSa$P@6cPIW#GIlR8G8gAi-G{i zF&d2P6rsF|BUkQ_>r$N7Kyw@S#W?o+7D4r?K$-U0#jSzV{N@ejq)M0`kR9{*4A?D5 zxoHu409f0-o53xb?ui;^RvVs=>`+Hi{RfwwYJ6o>uLj#P7` z8FmZ9HkP{NSX>x4R-t$w0+)8R&kaWff5nnsWWTGa%fmBvRlRHe-J>fk>&ye+Tsg z>Fwk%%J=}W8?BI5KzAZRh=#(a258+;S1AY6wkK`T^pze^KaqCi~bov`2EhO7S1U7Le?(+8OYPu#-cLwGv6Aws&X?0nFaA37!W2V z9GW-QtqwpRZuc(BM>?lEvmKiKZ96VX-)vid7B06l!rHqG>~_wNzV2tQFstleb_2TD zcE37S9X&Rd{#jIS066#Kn&(CA{sFYFGhlu^JD8t(_%wU1)NC`#U;S7$b4>!?ZXMbU z?b9}<`LwU*%)QO0HL|mxM0g2-DL9FKJQ}YxG^1Vm5M!F#4e&d*Hoi2N8dONlBs+X&-i`zv`zRve09N*ry?*LUy?mg22 z4xK|0#vSR94;H-}8C&l*?VLC1zT_T=V&7&WRmN&l9xL>{*LOPjwXBR&pJ$c4D+-j9 zjc--)H)$5%CU+j(*@D~lypxN--!!MWjc*f2#-5G6dIUa}n}+Z9-px9E>;6o2_zYrn zqiU~y5Ru)}4Tx-;o*m$EApq|!+Yo_gzvng5j~&Yg$xi<5#u1m32g8$@llVLEm^;1v zfVIq(u??sZy)OEWYJT18bibw?&}*K~_R~PFh_x?nL4NMDyOZ*-)5)3RAD=h9pC7j^ z_Zx(tj2TAHiQvef#h^24 zbZOn0{3lQul0|1!?^3(_pFp!q@6Kgt0-f=H0GT0L^g6XJmAmL(%l@S!llQ0lt0&2? z^v);AW#JxE07jFN7_#ndc>N#wL+6d(Z+VV5dWRKsB2AU8B6eYHC1Yu#ZRz0gGa{=z zabG05al%EIF; zd>@Vqv5~G@GNcdwf->8kC-j9tKD?Ba zn0SsUDX}1MA(X4cFwre*Y^+ql9?_Z8oxX|)Ura5~nZbk`8NgCjPCiRXbL{O_eAri?#NXK>BMzdy`P;dmD zP6Asha!l?9m|bH3lt6Ijn%E(M*?3dH2Ah-h0kaa>pC6TL>En=f7IoTcnM+St3?1X) zK+D&6K~)|>2T>=G~H+R{hSg|eXK^z>@G*(O>^F74wNK5SjVXrzwf%oV@SIcN{BcEKtvc! zjNZrH4B?0m1&3To3)wn;sBr?GGKnbZ;Ri=jAPkL&}_F}HvX1_{{KV&70``&%Ws9ryd$%|Q1WFAZUXJzdD z?HvK}&GOAt&G<6ZJ_ANpzgy4&@iYYLe3f2mcNP1}L&eb}=<&1!ntZihdUtL6&O-

6SIn=f6O>d{hEA+cYb({DQ=xmNvdHBq@wML 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

Ctjz+{%J{(JgkJ=WRBElw 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

Hdfg1^QHka3)baF!t7y*h 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∾?v{-|rXR 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

%S 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∋MU!nJ>kT=- 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

gVz4T$*^D$6h(-1KD(5#H+T!M{fCvg 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%0Ance|qXG+R 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

UdVVC<&3+zI< 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

2^2>#jy*CT@dqTOvCZBO(HoJ(nceAZ>?xUwT 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

UFN>+L zP(ZTecV3m(>XHf}yF{J2NfTAXL>rK+n@t9vpnzvI#h4a`keW&!f-=6s5jVZv@qt8P z2#&C7NZyIKdEjVEFdD zk{8mlM85fnx3Q%I-l>H0=)a-sPg2SJfEg$8vYnvURdxdN9Bx6Vp>f%`#C3swLn~Mi z>7##7h`|{SOXRzK8c&!kR6`?CH4Mgle^R45ss&7{2MY5{)NHWUDRPvszit+BNWT&- zM;O3N;_5BVrp64KO6K7f6T`dV(2>7N z;^|}#6Hvr!pEz_?eh0Cb;Qk(WFh-gPf@wg(PsCE9RKD=-2uC$k|F32V1Fi0xptAcCL`zEe7DA$b9{6a|Y9Jj{kTtY#De5 z{ZsV&J*ddQzvu1w2HXv5y1&oYHk~(QI(OM|`t{@d2R0GieuUN;h*Ht`+<4+v#G&%(EMs!Rd66>L0`Un_u|Ux!#-sSaz6x zm?oHOboc5wmi^;&V|3N*>wHZ$?CZe))&EKz`x{@={}Q&lx14gQC`<j zw(@ON8sUPp&;GZcnbsM0tyz84=^fEwDHo#wWFGfoqe%aBe@xUAUWs)t#Nw#!Z~JyZ z>z^BaS4=KD(cqobxljAE5N5Zl7*mX}gJeK|w4R(16S5G|7bK{#rO@aXoXK*Ll-hBB zIM(8upAg5ac~gOXxsH2LK@Ic@fbH9>uE1RDI zFuLPQR|pDDoO8eNjD`}0!+O+&&K!UMV^9Leubp(b3Cp4M41zLTlo|syvX)y02*SgG z4cRK0n$Xg~TdGWS(%|_2-bO{l%pjSZG#clqS&yur0fS1KEe7k>Fv_!&HaJg)de_t!{499o*4$t+x#pL4OmuDEGPEivW7yrJuX3n*r2+S5GKn~oL zWKU*QBcgP15saZnDrxZxLwx%*P74PcEc}KwU{_nD=UDsYNz$qHk7;sn4lXhmi}Z5V z2P3YHbN4FD^8JsT0pW>Q!W=OxQdaD1dQj8?Pi+K1M@C+*2KLD3<>-GC7p!&v$0>w4g6gR(MwL|2j5q?zG+cf3*TE|B{Pl zV6;GsmV)a#4_f!J<_U~?4bL-GMpo~hwxiyDqkh(!?2)iseHdQUef)x%KyN_jpM08e zwQQM10|>B95b0mbo5-)HpO2E0xoe(&j~x3=6PlN&A6xnsXzD<7nd9nOb_oUgy+cX0|$lH}ymPrZRg{206{PK62(sO-eKGB_0+@L?Zd*+y-l>3&?+xf|w26eH}v7upqjHemIdQAJK#r!i-zSiwT<|?OdKN^yg zdcjVwt#)4{&Rq;S;BI5V71Y)LL0oKeZI^nwShjl7621Vf$o2Je33JMYP%kAB;piLC zReD!j67V5?S<1BOqKh@9=hCXxtu{Qu91>?#vmFR&$kuPaGt~5fo+e4DgUho~zl#~5 z(rr)ozVN{~eKvK66-$2Mw5RDHvA^6^BlfhxI55ia>OPvcpI7;eM!q7E8fo{06qv-3 zZEo1Uixn{Bo0Y|^vX*T5$0NX55}6E`aeuD$1S`GMzT+s0SntC$=WX&C$|p?1(xJ$h zy{Tkl9e50#poaB?rHIckFI#VYa7Eo>J>zKk+;? z*b|KGc3|ol`A+^zS|L$xbI|+lZyJB5bOVuv30_};s$m*uz}NhQ83=vf zL?kLZ1-o=K1B#f@yNbnZUlfPn7y=o-bkY}%^(#4HlB9g%(Z8Og$Wl+h%R{4~X{2Qa z)Wa5;7V-$S1S)PzpfFj1+_8^k59>ZbcMOkd<-uSl(HS-c0&bPK-9sL%R)^?VPCNft zlaJR>Syu^Ny6F~QvxT34*VZt<)Sl{;gv1oSYw#uuch4jWLUPd0KYf^#7ANT{alrlW z95|vXfMd0?cwe!8FFgTV%OGp>8Ody>H>i53x9ygP9sP*689_(N3LWm1_Q_ZcrcTAT z^Wc(dnnAa*?k%O!eAr`~3~Huz^|$NLi~QsAF!F&}DL&0qxnxfy+qN<+P~Dq%y)Cvl z*5AjWr1Z0fHZezqyN3 zO=c2%4^=#SiF zOG`Ac{l#IqnYFLl3*s3F3D&+ClG6*1bQe!OP-4IEJj?=0rAeB4kI|AN@uFlOC2M7d zQHL-O@UptcIepMv`XnQ7=JcA@2SSXHFhyt*qx3F^!h`{BQB7pGPn>nRWfbzYoOSJN zT*-i2Z_J(b-!lSCcOj|No>(i__dx_2L<4}ZwYKyRay^=bI#3spk7Gip<|R* zJ54$%=zVlwhA%878yImJZUMUW+#mzlLLUrmiln4;#pM(I;sOzA&{(7RV9Zk>q(>s8 zX2Gp3;a7eBG5#bY&4U|o7}{UuqyJ~#+l@cu0zLo-iO;lGoc{9=#lk^Xik$SZAcyAO z${(wa%OXYY@lGJYQX{#9~ zTT>)($MNa<2ifoyEXrPCkk}6~j9&|3l5r`ZW!Ur}Tt8{FcfD~%JmM>PxRvsJ(*;0m zS$t3}qGJ&=SIRF48ym%rAN*G)k^L4#lN72KSM2?M>QK30Zv7zZjLxluUsp0WF zv5)_hBt1pWZ5-blb=A-JyD8nnh0~>{9eCo#Vc(eeuczSshd;8-yKyin;8pV2RD=Z`iQkX92kFNh*N$vkpF_GP?D+8tW zF1cNYsc&sFt8ae(Uv5uhtYrH?(rtULGi@cs;b4P)p~VC?)Q~DIERFmK4@%8NCowiP zv)#9{HQzDYF`kwu|96M*EYRNvCMH^FcV!0oZYX9Xtrmn7d(_GWWPib8xq#sD_!FUW zIlU4TT_8Y=;k1L}q=O>ZWk*kDBM^W{`as13&})27U}lpslL&ztAe8Lj(EKC_KjLe0 zx%UZjo{oY zyNTNq$_F)nHIm37k9KKw`&VykDX$XUl_BO8J zfD?i!S_lUQ<^=sY#wYI^-+-~&e_jp+F%ibkAMBm@n^ysRQVvMYjEEzXaJ#xR?iUxa zzqHZoNTKWC=c5x2Tee8pMTgnd)C6%U#N3hTX^Ik zZ0hYwP0k+pBPfOZ28gYC=R~iXksV*>%lvXbf3`!!di~nZZp`RNC_$Y4gW5Oww@wvU zeC?%__%?<2rEVsPwKOxwhtobd3p{d=!^8I_ff{{g{6++Eds`?iYH4tPB><~;^|<}i z0~n#xd)I!XKnhdeEEjx{YJlYIY!5-@qrYaYfVvHQk#bRi)7`%8|0My#BI zy4?ck?173ej;{-&r_B53KY_3MCy3|0fA6luEboxtn~mT8 zBTvZh3+~U*0cU)l;6m;>pFw#oPM^>LYfdltxI$qYUqN}IL|+46XJq7-&=E6P2fYq# zd5n*apUaB~5S^egMyc3#G3~(&XTf|#wh&Hw){g*dI*esjnix!MS=BRO{2`OW7l7n{ zm7>Bs=g6^ppd6j)o`lc&m~UU&Q<-WmolxxQmhUkB(GSJlF0lHcu;?^NQr*_m1%YD= z6hckD)p!N+^mg~Bd`{FxP*?8ucQh=WYsGvwxCc>hw>)Ijd-Y$36aZ}v3>BX*dXV@Wo>7J*uM$KgGD8S%7|xs6qU@ zuwu3iy8xY5EckWBzNE5teUvO21Lez>3xP(#+y3o2kGr4bQWjv{W+&A*{nj5v+{p1I z!T0<}Ja#`4BF`}d2>~OLrrsX!h&0DjI>lt*LG5CERApbInUFRtKEexJGXyF!tcm@+ zlh~`0QjwhmE4G}_P#a?%ihOr6&r;Q^nlY79^i*otBoYdDBs~whc^Zs*eD???`F-iK zrV7#glKU?gO#vX9LfPlWOL^>87O}*Ly@SYmwarfZE*}|XVj03; zW&BC#U2}VD2X}4I+;n%X2(8Uoyd<~^Mz+C8IV-nk20|d=80s=1$qAn$PhSSq@{E>s z8fnmJfEb7G(DKajVEP`lg7(T88HAbF8IpBj=RsVr0G;wJDTN8O@R0Q2;oh6@ueOr@aWByx+5v75 zp(ha%$p*lE0TL61Zi5>PONTcLOsZ>-!`L>R`bRSePu+07fI8oGvllai%l^1(NxyaZ z5V+w>HVaD@#@9=IygD5Go0YJ%Rle2K2-(jigPk%4b16N_bLom{Pt?NnD>njndf)BU zG_w!wgI7_H_TKuRi+Dx9$84ZliFc8~zL_!*$4vki41i3PHfEIkyvJHUKE_90hl*Xs+FF8f2ha_^X_zXZGSz8|VK=3x;vqsEOR!b3!d zTR*A1u`+#}7%AlD?=54AN-_$IoH8CAp~RnfZ~=B6S3T*MOMy|m+3szgu>SO)aWM0`>C)J5E03K{&bsu(h0;|r)Z6$<9O)v@KL&K>aXi4tbEK^pG}H%u zjhW}>f3|=2_k$oWs}HAk%6H`oU#N$u*kq1`(w4s>cIq-O7X>?o!~G>LWVqd)e>C{d=e zUvg`cjs8H7g{mJeqPu+2i+f)}T}Mu3ieO^bq1-EecCRX54!pT|Z0`_rFznrRP?bNBLM%Z~uxkk;Y}YuCioWC9g{h*4<gd}1LkHw^h4>UZw~VJbN)8@Y&JiE zSVs+{nYE^9v35nlA(6gJ54hOUN-2TfdXoU6zz8D7pf&i`9ityGM-Gfg|tLTQ_H;I0u~v0%HAW%iXYbm2jZ-plz*A zQX~YL&ewxok@fo{+))#2wzS)%?aKUmlz8m+&xru8I1sB4BqV03dWj5+l$2Uc-DK!a z?K|47lT%#69J1P~G=CDgH(7gg;+(_VuKMWcB_<1pGmLkpq-OItX%3%rGFhQ`4DGdy zWPYx#J&^-1bcUSB>NfB~asibw6ued)8v1bM19h(d9$A3ahawP zlL9G3p+S!6@_OsVG_j@Yb(6TVZ8Iie)?hv?+Mx0|?NOFgbhvmP4e?=3ePw@J>WYqT z9C!1mIfO&7XlHDHiSR3uGC`(>e{j29_Kv0YsQe0Et-`Mkr2t6Lt4ybgj)*W6?Y1%3 zd3ve|kqux@$?+^fT;1-%zVZsKbtir^_3>u%wE=s-fD9hADxkv~4S}o*EK!OHGvS6; ztkECSv;@1{qu?h+e?2z#^~3EU-RutDRnn^p;j3+ttD;X;NR3CFc2(hUdTtGai@0ti z#NRR0!OM??`UFn25cgmmcx;hLI-8@mJ0Hy4Dy+b(*2&!%kuTDJ%|)vT&M4=_LnltW zYOyC^wzHdbB5O9WDYcLP*zdR5_Xyx8^kEu1>uNl;m*yrA#rIraOTJ2>kpsCRxq8C4 zw!L>ELIL~8F2Z{Pu_`?a#b#;*-!8Xx0oAH7IZ7OH{Rv!HXc=3L@IeH~b+6XmG-TOB zxy(x@4}~H{-;@qWu!B1^;5fIb{2HC(Db2DhG4WTHl)dtP#45Yn?&X~@i8IXe-mQP= zv)@~f$cr1lo`n8v^gJt%PN-z5F(-6Z`p`Z9)?W(062D{#%F-OVA~V(!La4mp za&9Us&X0`mxiG4J&=eLrH(=>d(J&}&stB%+L{amKlc(Eu>m4ZEFu7W*Oq6Z?+^Zar zE12PHQ@DrQ3&vL5mHg63>gi4oyOfB>JW$4T?FVYU9F5yESZZU!3=(X-$7 zs=f5$RUxfBpyTl|_VH>sFte^1Sq?7y>`?8n`ZJalikBC5+b$=Tfm6%0;Jpn8_eYRO z*>qgK(_~hxAvR}n{GP2on4uUSRv1~gB?g*ng}+kHVNEqkH^%}^vbQ1Lq&Of(dYXY@ z5}DK1&PT!e-7*)5UAUYQ={|P%rHV~EHlYm$45+!L_#hHuEabJZ)Om70a^9GQKfl8w zzx~K4sxycZuJhYX081mjUh0!dQCv{#=uh%0`+`+r9~Q0Jk8!bOJLj7*E43@FBL@t9 zQ{uq6E41$%P~PL_gtq>?4tVV*z`h^qk!!kK+L&cHNnJet+?A{*Ly{azbwHTfHz#rW z?))z8Z9c8eXb-)mptS_iR-gYKP`)~a7X z8+YQQ7PT~xb??iuyN;_%DEnZg^99yjUGOa|O7)#3!t@7Rmif9oW8_g=CD$F0DR;8qzrxr!H@z?Ourhd#1H`X?9e?w!yeLFrj@PGHksk7K7 zi^q7tD2C2jtK~=py^?JH`L)o`p07$ePs7iV$CCs0DwkLxfqAXPpTlqyivURJA2<58 zoMgG~dA|)SFameUqGh5AeC-2nof7=R(9l`>J+yj?b&G}Izb)P+Vm64dsdKa24zNX{ ze=mtEzG*?6>w&eY<%lXk(;8onQ>ENH$M-UXn*QrSnbboJRA;t$a#h+YF z9u5;1WVT+FElbSw&r~{Vxd8-4L!!^Ca6F4YyV;<3g(7MftFtyW52kt?#hp%3EMPGF zD4Uu38pQiT%Qb(V{TP$8BCK~n_^PEuS_+|{d#chkKeo8}fbU4);EL@j5FhP9SezuU z8ybXM(l9bo4SHdF@tI>Ti`<&n&&Ha!*7;Q8{p}AqiT-WS>7pZM&=?>J{yiq|bYkge z+VOG3DuU}4;H^_Z>pmBrdu5UkeOJ1x!rlO%q``nb`z&%negfIn)1#zHD8(V8jMCy| zjY_`Mua;JV0!Nr4=*SS6Q;Qc7Prnsf+wcO#@8MSAW0QfQGXWWc@Z+qwRPw{hJ-YAF zE~-W;LISPx%w#lKNfh7=RoCHIFOpwOX9kUB07HQMd&Tgbn^5``IErEZX32Y%n3DDjkX9rk-sW*EtCFc{{#&yNtp(f5Y>q zu)e5hF0K7{(jS!gyUqof-beL2`(fi>g`YuB`~l)E){YkmeHQ>V{7`qQ(jr5r`dSKB z`e^-kb}Q#bw5Amcj1T~0WYPzof6YM}AxCeFa9M;&6CZi+poJIQ)D_eA*=nYSzhIzY z%!Q}$IR|+)B^~-`$Cd1H6I0HPvRp;WuRFIGEh@iLQWid6|? z^wN{FYrM%bG6=w?87!=$jYk>Gae*0B)2+xaK(ph6HJ3lLQ$OJHr=!WtmMwl1Gvs0} z;5&4bWr1E0Yfjm`VL-r{$|xW+BK$d`)8 z%UGwP&m-WS9pZmQgo{uD&-RO^hnMK*ucpedork64r`t3I6wEG5R_USLi+Gyr ztvY$Iu6i`xMI;~j?kI{-xfrx7FKFzYa@dp@uOhxU-LFpwEgT9TLc3z^eVA4vtvGPm zH4}F951u6uB*!pgnygotQZ%Ez%$}9ZAYDxtgc)Fr%dS+Gl7GsO{5lYdc$P~x~m^i!ytm-G~H8>U~k)V8-o;su5*AY(^p4X3|Dr^J9m z>fbFi;i^foZ`UjYt&;8(eKfia?L^*o6gq&G-}%V6G*y;VK3VZcB|*&qxpkB5J51!M zC}}+6HdwLL%h$KU(&&95(*21ngrCxzSKHssN(f}9F{G*L;5YWBiuTKUoHf)Nu}YRY zc2cezTnT=qX?kGhD9E@ai!x)=p62su*6SGk@)Roc^?SBK9jgwqd`^qc~_(+CE%)@|tWjtZ$pNk5X=Vl8tm8J09xr7<)|& zcG8ESMdRZ4JNgh!QiuTcU3Y3``oh!HeG5Nnx8d@_k-%uErF%!p|xaZmrJvdp-}G%G3~Fsrhd z*iyRj6zo{+*109dm6gvahprgEi^tT!sk-98$2eV(M`k!TyEF9)hZS5_WqDct^w-HnbMQu>wI5X9}$L(6$)*t>IE|*hP+O3(OQu6-! zO>s%S8oLV&M`kTS-vF9Lspa6yE^)7qoo^x!c=BBlDQ*a4eii+R4TH!sp>jgvh714g0XAdyO%{f z(j;J|f$GFmV_5|$LtBVaCwPoXaJ}vCVNe1!V?dNkEi~{jw+}hgY6W4HK=JX?D z3Bw8JFkvtSozN0YEahPliTo1TSb)iN=evqdk*TF-EfkT>s|w|0CCMf2rgEKz+)DBW zV;zfTP%c=C-#P4v$Bg7@4rk11vp8T?VEtP}<;j(qDJkv4u=@abrj4Dnhl$PVZVe)Z zev+#WT4J_1=3^!-avgcb|1R8BtFq6A+XeHmtMr%aZw)t#>8|*T%(*EB3=^^{p*T$S z$WfQdQlCO%tr}ES#>M6fxs0@Q#2Es*QX|`)8CcG(x0mz6;lmH|UuDeD6_CT);goYI z)dbs0f?vYh1*p+LIX$$^NzIZ#MW=)2+A^g8~*N%QjF8+l1_zSgLrPOgMxW+lDR5A0F zdP<$fJW0pQ=yqCh9XPDJ!=Y#akp!z42fcwTpceo0l3K|e@MWfjAeJ`@JxNaIaJxf% z{$#P|JL=Zoa~By8ALa~Q;ZwbO_dh?;y$9(H8UYs}MwfdQgD6yu`lf;UL#vJ2lczK} zS%P&bIDk>;(qRu%*{O+CZF*uA2eYD~kh;q*M^eV#$W@HpTa;r>SJ-`s(K%Q;w~suh9**%)!TNdeNfqJ`n-T&d0T#oW=TY zz)A!UX1bKT`aK5rz4?B{McQ#8WgJBV!*TtXU$zTgt)`Dfx(~wg$oHdxOy7jipfTt= z>Z(G!Aq0gYwo{6*SG?%lp4Q*Nlp9HD{gZM5GQg6$%vd$`_!DkSv*mn3B0aO{GyZ`# z7EPmg3cuF$5b{*?ULu{uDI}rsjkTmj!f@vH-nxhY1Dj=3`=J}fGC?{Wto8y~=x=!I zL9{H=KYQkCl>5o^geT|cE0W)s=0zn@0J_5f8(3Jl+Z6>m^h}j-ZzO}eXF&)B8a9j;%X+lzp z4DYIA26wQ8jGM?&H|i`_zCNrgOIaoUXaGivuaw=>odjSF^g3}}$fO_F&nO)ScxYvu zkCMPETOnn7$1yS(rAu;aFJw53gU8?`@*ZOS>|9jf*eQtE#XpGF8bA_}C?0va1ptkj zKR@j9rlyOm!@^gB_X_XF413Wyzhe2&bKkuW?nn}6?*~jc7=f#jU=`PNu)K>9OyGoH zOry>V)MMYncsBkDXrz*F&G0K}dtL`M{%sJq;;6kX(Z!rLpJ%{U0MBMuZXrEFAbwcV zmz>q}S7l01P_)3?tEk0c*!jRy4+8VATS|dj(laDNO>fJh=T)C3&Y1|8x)R0%=)90o z2?lrUkwH^Bu!9{aDdCHf(PxHo32Y6pq>S!eV|0gVyJ#DuIly4a$@?9w+7hAt*s+}u z(#flu;d!rlG$!48)5CjNg5e@j|0LMxZ&onY!e*Q{Io2W4`!StT+p%dP$Q^eT(p`oh z{KHhAdr6nrCDW8Wy?T5nSD*Xr;FQX@@9HIDI4Sv?@zP|(vJg#u00N3CA#edt)>m}q z0v&0)^h_~5zUDr7=QePcZJtsTW}g(!H|zV9X}{Yc7tuyQb={8>n|oj2|4lv65P=$M zJ>bo4F?_0~8PP3tdt?|@7y4na0^U5J=As6hWNk@kwjgJ-&lG)sLa%gpjsM==+)8<^ zOYrc%9>qm5A^%>+?dhHigawopVjchKu2#OWtepxYMPZ5sZi@ zjbunRWKYIFD8rODLlSAqwj23p1iy7Z&NNG3@%yJ%wMBv`c8_BFMvh#_C=tuN=lfq9 zi|Ls9sE${QY>VzfHDGUDqHDTG4DVak5|sBEVQ@uuw_uuu6GSq>fGuQrShle^1lWussG6GP-RQ@kz1HuU9U0seD4I&o^~!6 zG-u*42Aawe;#$GRdkbRBKI05HR>#IDBr5iT9=5uC*u&LF6@V$O9Rq0FkxQ~2m0R79 zDh14szrF9#J(eN?r-rx(HM_SLi~>(QY}Hy~>{zW1r1I+_4p3N8-3{!q1))bO?2+rc z=EyNp_KQzzupiR=kUs)Ou~189CmN(uyd`~Z?{Dw%mQ-8wiZts^SQ&zhFNOBmRW>cZM#bTSbW52F!hN=sX-J8UOO zm&(zB=i*T42;qpjN{E=T|1keTW!O_HmKWgzK5wP>8E87wWe zFB6}NLFb8zijI-*?`Ek<72(uov|$z(coQ}$`Sh**c>#8Lv8W(>3;3qwX-eR~<4&B{6$tD|(GbGLwvKwL4Q~6TL<0N~cx7pJ<^3MdH@d9v%Yva zK}A;BpfnBFs4{J!?)u^ef(?B-cRGvjl~yOa$IZGJmr7R3e*6r0nWjH}7ogmazYGZ; z0Olg}kaeRFPHN!|LE=RJK1YqFU8gA+hejZo+XjP<-uem@-EF}#+Lsw_UirnNwU|qR z9^$H7tH+lo_k4&=x!;^V;K;ry`pWU%uNN(R4DNi-oJe|#E`izO5xhR)>|Mw`%#>n* zs@5j70@oKcmyX0SrTgX)MSHBUPz#|(16Uxp78cM&YCG^0wHGV5tVD`lL;4>`i_p>c z>GnUQ;q{+XCcWZdSUKZEh5^IJ+ zEPcPQslhI99G0e$_uLNuM+RY;+VVW^&gYm_0eQzI7Gpt)WToPjMGG7R0`Qm|0XD4c zTDvj#GNPfqu$TV>aX^m0z4Q5!?>r@3vNLI{@;;2iEle|)STn8#NpC?9opxuXgb+Dr zP^El5+Hz`gqQn&IWo3q&7un|)h}>~aQ?np1z*{nTcAn&@bn?JIrO0eA2AUl<49#vO zx-L#Sn3>Xa@~m;a@WAd$AbA9E%^H2Z?>c|Kj?>%TawLWaNX+NiGH(#E80x2-kj{H1 zm69J;I*YB5J~mwn(lPPpp`%U=;PTISK6JC>mFrP%KB6zEVy!xwCHQC&ZGX|paPdA* z-#rN8s+qLNn45Aj0k#l?uk#uwqdhat-y|5Hn?MnX%jAOlAzLs>WmAju!BYvE)R2E{ z!uh#TF>1nc-?M}o;2rK5v8=!omtA||{hSsc#iRQzqa7`#4b4Jwsz$L?Ew4rTlvCmG z)1eniI8>L@7i>-b_PeNBqJRQDCnQrVe7nE}F@A_a_*it`#a=OF|EZ+a*Get^xvWfY zSQa0QJ;zG?!K}c8YJBv(Xd>c6QMi8tmaE{4@MTx5yY~KJZrAh&zng?#Y6Rm2Vg!4e zKKJbL%Q3PAvU262lnL-rqh}_G2r5h;oQ~v|rb@`?H$CavQ@5GC&d@V6*3EtoBu(+M z)CzhE3>zB1s4gwx_tCp$bjN?6nHQY! zGOghvR3qL~WRan2K!T6x&sy-F!*t5b(mDB)ZsRU!N=#SGYvIeQQn{FlwAd#t2)PKd z)7@rUpV^KeVyN%9zbT2cQX6>dx3Rj75NPEp)A%C?Km}|m8pB~GUlApTI4))&wHVl^ z+yp$C@yu<@BqfQyHa_PD?10}#Kse= z_oiq)cFmOq`xrKNf<#ZidLYhsx?8j{3Fs3hhu*Fs-Jhjdg4uBN%}8II1y|bs!R<%B zU%qLj&or!-@hwd>RPNp8d|{<4UU#kLKhdlDj(1L#eV!*mar_;uAwz!=bPH)-_>u$2iI-#rho1aOe|?@ z^6#zp4{;FaeFCI7tpYg4B<+-dnbt%OExd8gAHFPUa+{n=(dV$?cUNFT-+>CqmDSfEAL>j7Kru0(6gFCsNvJEtj8wx-lq z)ahk}&R2w4=L2IAsqR)YaxL=HIM^7|0ci`Bxm9ZIk}QSo)zi;r>OuPA1*P4Zj+B4V zreeE|pt~cm*6(W15TbQx5QKfVXQ*VBO7CMCjku!zKC6E{YV~5?n^~GD^n`}!j6_i# z#|f~n-%f~fK#$wAMpbF&hEY-L-HPXe(9^(=rHyc^2fFJyEjo9chRBHHGwV*tEy(6u z8zF9Bf{Avq`V||b>-Q96wG_kr2@F^!D6;ksIm}=>=|)^b+ESG*PcArNqp3x=Kx>ZP zT5m5F^|ycieQxd=bWbzGyc7U&aSqI^Ml>+D>v-C*t6`*)*JE3 zl<)3F(xiN!`IG6*Imny}BU4$`;@EAGjxh!r@00_$#17i8jYdE1VJ{tTlg&MbNi)*1 zCx;oZY;WHYUcDn_JnP*zW~`?t#55{R&~xf7Ygm6heFOs!TZ6>>CnR}6{bhJoGFD~! zueGtaO1dHf*wEX1uXA*G=cbTmhrE~?vAPU2^?5|zVdBh~Q=YLxCFV-S3(RB!ZRosL zW-Q$;5X6K05TS-94tlmNYkb)#DCmP+saERK_GFsAHfXCu z&PSddNkH8DC^=T1#LiO>uU5H{oqdkFbGCnx-_H^Jcy>|(Un()R^4#2E{yL~L`y6Ar zl--=JWOK4ca$;D)fZP~cE>iqeSp$2ZR$NfaWN3>$pY@T%(t9FrQJxc0{)?Sp6=ka1 zVN;P2KPY_ngbb*r)@|PLdubg(#3q%bE99Gwnu9wJE}U<0j?7UOWHWmA8^ zJ88Z2wl2)93ynr~dlB?$p4iqii3Ju_0srp~z2rMuBBAbHKo@Hr*|)?;0 ze3=(ho;7Kzw)L;PRKB{_YV$1h*07t6aKa^Rg+{Gi#yNj{(*$8 z7V+Vza=G|{Z~1P-@C!9Gg#i|iX}+n%_-A*rm?UPI!uShBBkzDYi;_ah7{xPzjk}+T zCQATQ&rboyAZ;4fj|+^oAaeKbaR_XlZX!ALikvSi>!T^h=X*)I&n4so`4NBoo>O%k zjSs>A>K{P`iT7Fv^(0aD8~TRIvR?Vqm=rf@bC!%+r_K@mHI*`l|aOaD({~Ge$3wCmKh3^+Q^6 z_u7M;N12GYg2iTk9+`KQl?;DTV9HVtQizklmF;CwL}f=FV+wh}yt)8Et@D;mU$25N z8At|rec^w9HJ7EtEMT0CC_JBFwXcbW7d>XXrmBCPvaPQbMnNVu z2?tq)6G(waa2KUChLI@vt)G&mDe4{@e-{(WVOS12aaY(Y!3Mwq$JDHW9wxLl%eSSP zlDNAwIVm6JvIBBcJM;?W)^DtHaVn5y6lyRDlTWh@hKgJf+G=6%T-SBHTN4{Lnu6!g z#+4!p;wmcb-KAd!W?+8!iQP!H3^|NZ*V~X7+UTN^_r~htBi56R-rlK@W$NjcG2eFu8?D zkh(>XsN!)_8lrz?W_U)aXOW}Thv^a!dZ{z}CV^Fl4nCEaH~fErvnDgIe@@A)9pQQz zID72A&f|QW+L%OaGE(^S`q2F#-evyU8tmdErW&(9l-uVV%X+&*WZA`w!(<F-wKEZ{^;;c%Hq7>hyH%uv*~R`JOSm34>~j?P zuJZ!FL1G%k>?`*3Uk`q%zf}FsNS1%QSA^=*t(T$M+8jXW|Y0)YB2)SDZ zg5JyCOHyd(neBGFszQ*l3o0B&<0Iq#oQ04+2Gs}ZCoeg4#nS$;z7tfvjqHX57J)V( zN8HXNhOQpX!&>WcGR(3d!J;JYh)IDv+Y_lL;0J$}nHVk1Q&!Q?^1}eBxgRtxDHPpEw?=0OO0JmMPdxajMtlAu$}o!O^a2dw!E+;=TuO@bHjI98j{*3>hvwf^VYsaiFENZruNnB5(i#%jF&adDQ5z*{k4E5088rU=KTnlc z#)4K9>PS9q!G#N36K_0Sh8$gwnDI*A`~-iEyJhhhPU16JU~hz-f4jOwn6O1AMZ-OX zDXhRjYV&jHL0YSVik-f8Trtm|=`KOH8$@V3AAn+^&CLW!Kv_FGbfSX|X2l`*EL^v$ zMZX;>c*UKS!WY*Nm}PuqD~xrr9#xNo{>#)KhU0~>4GO{;1*M7N5N>IpQ_|7`kAix<5S3rEugGqhA}Y*F zNJB&dKB$C^4zw*>l&MLzp`3J)jZ@$%ZfUtM6f!>Zdm1_&`S<3YMUGjGL(G5aY+?Hu|Gb@@Cf5V2HV^JJd6WXZG7o>+mA7+`{`a0q6j6mT0=7McE zR;*RYb8HWojj%yhLixuI?GhJHWzAInMU3HWzo8Tj$*D09lM?BW;vg-u05*xO7D?}x-}`*42{F?dxU{Gr{& zZx;^#gu+bpEyD8&aF;42{PenfMM|I!H9@>v($f2}S;^PDqGc5N=QjKmM@1jVYA(ku zPrkP=hHx-pbQbyDEQ6Vh98QeRzm&|Pzx$of_y`!>Iet9UH@jFGlUj8|Aq61BSf3rS z|L#&iT|w}*QQD2#HdBANB?!3*zWtc1v{rK6J+Ru)%_a)*#)OBT7YiQEA3Ejk#7$Mt z1rvR7<@DyCGLMr2WC$isW`($pr>A-z@fK*WaKdKdv_$G@ zdoH!V$8pw)QsVMK589h2;vAA>u$WxS^$b+Mjkt?c%3(CBKkprgW5@ z2U-uMCx%+!@R9`xsUx9ZUxg z^^zv27)~O-=|A*h%W;`VL-}#)_;~1*?dhVmkzqr}1|gmb7Q74ZJSffc-0Fj~rO?+Iq_n8=d3DV*{^0a1m&Omt zT>s|44mE#>5f$@Jmu!{{xMJIXrig0k>t@V)dO5uwKT#*zPfakTx<(_VR691bTgWX5 z+=b27dbMQFo1CV@m>!!t{34|KWJ(+XcyhjD+@j7)m`z?_Vh9rA5P9#R(El57fr za*y_n69x93Jl92noYK$N^VxAIZNV`ztB}J;hV!eEy)O>SYMankjucuAhM~()Y7q5F z{N1e3@C2TRBJ;tAppCZ=gsgr0HfH_^^wW1zXC4doI+Sfgv?BON5$a5m8!6J-d>DsZ z;$VMQcCQFY5|b>pb=}_GfFpn7ODs^)=?V2Fvsv>X!j)x%R7 z@vHDYpSZZc(gqWhTTV_cf-NYfGK}iOwCCb1Q6#>AivEeUrxDyvwlMmh(4@FAXCK3D zpS2lFxd5_sUN&gRHC}BsI7bQ8vpk2vp@Jr}%pXH}7}wEBKz5YxpREm1iIF*}#tZK6ap&uDNCYS1*o zr5mqd-*^N3N411-rsq%)eJX=;ZHRvi?rGs3hQ@&+HjA9b%Fom4W-khTQS9Pbum`*TN>6~{$@{m`vevVpTk@KKN<{Ocf?AmT& zi|1J6OBNd8)kx_0V$S&;jjVrE`V%=vt5L1YzM2~mcB$0*9i({()G-bK)1{xrl0#xm zg=HYrf!gL5QxJcECk!Pj0eT}4&Lqc^ZvG>9>F9z{n0B!v8d9XbB4+L1?S`4Z0#c58 zTG%0SaEhGixc%b3ik<%s*-uw8rm>fW)f|kzu=szS)%$B9$|q+^ zZtn}<0SeeRyG!9*|Ix7aOVHd15LjW!xj-b-?8R0GCs{Uks$TgMv|K%<#lvO_^BARh zi?QXwAw~=*6~`7}()aLWZpu@#B$VcBxsAsazHEIL#Y6;ZYm3y2(YqV`IScDayi6}o zYvCszdu8FQ0Ptx5j);HQOk)1c=0?78U|=(dXhD}Hl!doX9wYulE#oLgYFpO!{4V9Q;S=Z(TG`~FOy_iB7 zu#kBzWqTvHd*)Ok7lGO%rIcz04|m$lHN%t5>h>03uoxTP_0)ehOx0zg4MCqB;>+tT z8x=BV<9z7-$qkz#jlu&n{&)rSiH?USS6!i-w ze(dmtb&Aqiu%&;*56xM4F~l^#h`G!?`L^yj!iC&=JllIl;6*2r^S>54xKt$cUwALh z3pJz#GaRB{L9mxYG%PDyI2z2F#x1Wz4^-l33inEgKx`B3xI%L!DBn&iG~v*E5Z9@D zpHO`Ll^(Vs+w^6w*?-{SAx_eL+}va2{-`nL`LTQrYbtxFF-yWGz0{b(oX!Nb zbaOsbWh`b-LD1)4;Ec-Oytf)>BOex(`zeZ8uP)P2TH7N}psUJF-+vqeyM6=>q`n~z zbQ|9}U;;(dD&mC}Da@l#rNYRRJ4`#j9GXN9*gb#$=56RUk$r1` zn2;rv_pZE@s&B@uixLNVcTEp&8-9#3P1aWxJJeu;Hh~FKzd68CvidqA_JMJl>MW7v zCr?F!rscS>(AT}4Yo&jKyutM`l5;O(i(3FYxk&FOp^`S$Bpx-3KZhrhG%;F z3IAQbF6aDPh_R4}Q~Dn_66wq+aN~=ge~e#Vb5h-!JL4{8w?VN1M`ae? z304ABvdiVKzXP=HAT)Cf>jsOSaPc?SL!C%DXO$cp{r1)-DQ2N7SoBCuBh)J1?j?VA zcfc6Gn2g6nXgXI&74;eVcecNsh8c+2;<_J>z=G43U;xu--mg=Y*7HNo3pcdArc817 zWPVTl@;yN(zX<OyBfOUjY&o1X@=kR@QRdQT^CBf`2ri@cE_6n zfm7BUnx4ArX{$srP>~)-9MeCT%xJ(YHN^2_K+Uwp8+OB(!LA64MV66y%4 zKG!E_L>$VzK9o;7Dnd#y-4;dM+xv|R>14}Ku_p9!|_v?oL0xQLVekv7RJKJ z|0~oCEA!siLmK!%>mS2TdGoSq0Y#Cb8U&yDsouMr5b}fi|W5@uZn*C*V ztg_Sp{`9NU?x}yYzj^atx%6RnWDa&mQdK_$1P+vnwgrsjK$^)PV6tn|Q2PDI(6ot{ z+z11%5=EpC<>R~A99P${50&hXno_9qqSP0#gk1Q}H+Ga6zbK9!Mk1Qwu*cQAv3kq! zRYF(qztZDw*K~02`D>hTTp5y@hM+%aDg7F>iLFNnS<8RNIs&zuZJvs;C1PB^@onDJ zN8@z1bx(%jDe{g-4KEPGt#5t}fEVrk4%Yb{E(o+DgYi8Hm0R1Y!V$I%FAC&Rk=$$% zteQX2cA#>QyQ6LIR7}rO9cJE2C%T`69e1z~`y_@S8(WI=&I+_q8Gdx&#O>f%dJA;; zPhjZ;Vl;o!l6>Ye?|oo)fi;j@I*xs^Wo9KUDp#=ftwK;(zs1eI0JIRjRUY_4UW0VK z9{qhH5uavG3G5@C@d=3fl!Nd~-a4yiSWuWI7J_`14LFL?ubuKnyb@*_R`(P8US zf~kwebNzt@+D=vDQB=+4CU~QH%SyIbplM|HDb{~HIfrf$9){+3{&Cj~Ag$s$QCr4s zR|Ly&40WtrVu$desMU{QO$v3yb!{6NJyATw!RoUDNf|QVqO-MqibHu!>IV9FOssk3 z>kLjV8h_1+eGcF1A0(}^k_~CrBt^GX`OrUH{BysXYgSsHq@iDRS?F$Yin@*fct8li=Rdx*}GkcCStL{Xa5#PU4ewMvGlSx5L1;aixRJooi!`dwmo zJOmOMJl60>rMiGt4drBu0y*X)X^VTEHo)rV5g zT&ZGOfmA8(@5w>k$0r@2{b|REvjMiAN*3}cL?QTjlyf0h$4Cp6*Kjz4uq-LG2|Rz_ z)=6Ih4i$?^*^^UQ{DExnZwO$dzV0~(Tu&9 zMMKnFst^cCe+;I#E$9GOK$L6+rmP)AECCsC5O(hIgAo${^={i^F7~kK2!KM}*7{xX z9vEekc5!e+>1bXMB;zeYO4YE_xXX1v3!5{D5v z$Gm!0P~tqYBiyPYD79`-qPc(H_&nOXjB6HUCt$<_DJGUEi8ul0GCFNt4qXy1K zWKPxJz`VPk(!n;yGi{L|2i9SF$vRqc)yl6CYJC7Em5C^mc_qyquPUp{MD0T`vSQaV z7REDUrLE|vj*GjliXU^f-yKXT*sD=PA$!3U>d@}a_z{F;nM zc%Rtj&qQ6u=$@-T_}zN#amwRAx%#5fx=wg{!qJv@kS1s*I7q8j2M!e4%7(l)95lr0 zq}0Iy!L+_-4H;LO*-NjEEvBY z5jfqssca|TFG-3=Or;)+gSa>sDtMcE^Q;q$6k7P{-G!*W!zcEc06hJ>ePq&LRw98& zA5Q0rWMTi1ltF6%Z!?nk%X)wyUi~saOiF_9f*x_EzN0Bo>Hio~DV8^k6|ku_Mw!i! zw`wbqahcrt|8;*ZNC2f01w5yY^s1||5KGYg`1o1mU$-dH-0Ct*o`g8UjndJv6Ubje zZ!?@BRsE0bO?t)f2Dn;70D~LG#(N6%!gT&K3&gp)8|Il(oTO(7i1wCCmv%0o(;04u zjL7s@GAUG-wv+Xu(EN?`R_?N>c6=n@+BeF=IV0tmG`@fOlBtg6mGm!n@WjKhM`f$! z#wK2E=`V9hY}3k4ZRuKTND7=C?<#cNebHR*xkX~K-l5@gGG1mg%FdtH!p)}>4C8Qt zdG+rViVcWJ!kFcwu^b#Fefv z#$3G<>$piJ?F3(bNM^uDFf&HdX=sIvj@Thr<7e|lXr8iWFNP`a@=*Lgy4w&9#vFT^ zp++jOJyJ0S!=uf4TD4w;`Aj!TU5b{=J@8>rFn)hSg?;ZVq&!0!s7XVMEGhHNjc))P ze(6p-JfC@5m~LIzj$CNL-~|#LA{>t^O4u~9z&$v0PH-(&Bjp5CDE6+LcB#31Yb~rw zje+42k#m5Lrst(nakJ-C6?+T^Ex1kM9;bly;N*HdXzmR`4_6$}uR}_8)x2-%ZG(|r zu&aOBBOp1-544WZzxW)sVObhYYv0c(Tq0{K%?sgtTs%Gt8UojnvaF7AVrgd=hL+X* z_c($8d67B7&FpxwkvpX&XE4v|4p^*ZaY5v%9u&N>m~=+x^YOiTbhKO#1*M9E64}d2 zm70xM!D_awizTJ7gMuh9j^*IV%&7J;d)|Kz=O$~TgJw3DIr@p3s|<{4{{#^vM&zz_ z9b#F6kPyEzAzjZWT+&r=H|_8kx+TV(f0~H;2Fp_2AWq^26&QwI31Asu^f953MH=4w zaLrdR(=+{~D`Y28Kw=4;FAH1YP0?8@WhmRP5LWP_DB2j`_uCTM)AmO>GVa`FvAln} zTy#?62VP>-X3`f-8Sp~Q760d1>>2>f!WS}jIy05}d7?PmLG@2pEDv(+oC^3$k(Sxg zUOWu9*6mT%^LmjQu2Mt9lEJW6ropKvuLLjc`>9l%t67-n`R(1}6Alwg#F%>!&i&Z7 z;ky#Di1XrkPtW?A0>JZp`WUf@T>yXHZ4Gz|Lj)AXODhdUIXCZ_7||$ys51I1o%lF` zLI`qEfh+dfMXa@;`%8S`NXDyrx7RwghJ71=VJ=Qs7Y#TcS~4DlCT{(Gpth5+q}@8*g-ryud7->$4FT|e@Lhk@x|o)V zGH;16}(%|LRBl96=g_`|~I`!^E=3(RHTT z3z%q@zSTIurJL1*g0nbieeY_z z2B4xX*x0bX%V78EIK0_OkR-TRyO~nK*`%3P4m@x>fDLZ+VK_&Q`@w&rZG1PsJo_d= zh`c>iXiKfy)!=q)tFKT)J?qcug^C@9aW&k^0CIA z$BONbb|v;!-QTD5bi;ouqp zGSHti$(T_YSDzbthe-aqwICcm)}9-5FK{qx!ISwC9XjXQv-LT#vl%{>H*KB)P?VWA z_N+`yHM#5XSQ1Vsz&@4KWid;rrA5;V80IIX0K!r4bebHaRqxLCFCpf1G;-P@P-0W^lKl zK@SeW-QC^YorAl(yK8U=!GgO>@Zba|1b265&h37ElkS=KW@?Hm_`jv!UVE**|8uG! zCstIU6Ed|oHWRnEbD?9RXXFM**_qheIosP9xfpo?S?QF`EL?4joB$vl6B|4^xhl}b z#_Yedf+trub8-gSf7@~YZ7 zUxxNh+yFVCiKUU54M4@x$jQMBo?OJHp147HDE-=WJ#Q zaJ4fva{{PH$pXwl`vS1}ryOJqkTA0|a{`sp6kzNL_-oU|L3GUi%Fn^b!NLfjvUG8A z;AUX>%g_8Te-*v6IlY~k3j;N%#A0@)BKEenW_B*l@Jx&VQ=o|pz}UmS146a z5Jx6}shRmdv7C{M6VL;o!${A_$OK^g>*wz$Jy0o3?d@zlf1AsLiVI*+QWaOwR-yTC zy6A6XVPSg@fHxz6j){WkuZV&huc~e)1e=Wf6 zpN$8g`bXnY1O7dfyuAykh5)MHyQa&?#%Kci#q{5_(LW6Sr|$X7_s=%?GvL44=wGe# z58dD0^FMn2M;raCb^fyX&+hrlgf7$#;Maci3X6gTXe*XVv=6{@%|NC?> zh`ZX@fBd5hss3m`0I2_*0RPp1|JfJfMz%m3&;QK_s`Lj`_T#P`h zgzPMA{uTk9#ep7Xriwrp6H9=(k&Uz2KjmtFEyf0DXQpWH4E*b$1dRk6ErBN1 zc4p4bfd5jN*_r+a0WlDJQ=pv%fSHXQVC3Xvf8+_z2pVQ)Ha37a695Q`u&ReQAf1mdFc8-ciJ{zf1!T7M%h5Et#=2;^t< zH(~{G0S%Lx6VTcEw+Sei@!yDv8N|sLbYT9i2Cc@}$;iao40QdPyZn~3{4M|IWc{rG z(J}cOv4NtS*xP`*>u(aQe@Sd@f74=Oe*|$h{R4thn*ELdDumg;WnlkH@8}Ae^4~6? zm6`u`0dX@2y8RL3FSWg^(;p5X6N}#wL3)e7UIWbjGyxH{{7oCQJC>dfmS%Q;Sb$`} zKOl&y)gKU4d+R?Ss1m;!vxAmw^VeMc)`RM1`x}C88iwDg*g&!DK=b&w0CZ_Ff7rR& z8vk|qSo}eW2~->V-=sk??f>v%VgfDH;kO!;!@pTey>a^kf|$AgF%lqe zk3S$NyyqVfR8p_sfa7Z6IUltOAnH(NhZKFC=?ABE1|!Ng0sgE*S8~p;e?S81V%jmbBvfVuNioYEXoLYdhUFn%sWvdnCmlSTW#?9e z54bBqHMyi&8D%;jpteLOHk<~on1Z3&hPoBaoD-Rd`@ww3e0D4^k$+wbb!5;WNg5$1 z1GZ&@^|R73m6i~AF{X3^`^k(=$dhbDM7s8w!j(UyjvN&kl6+}3f5VGX*y%&{)Dr$i z{9z=Dn<9&3!zSxx@<`7cM=HlOHw%k^n2j$bL;QSJ+)z49D%B#W1Y29AqP=6xSEE>m zufMu@v0S<4NyDk=r)G8WIz6t)LNgmzS%pgkI2KbNQb7&Nj(kBiySC^>H{kX2-9#qA z!V=-@r{}~EY?L>%f9dRgQ8!4NFHr32x-rp3l~^mEU3;2Hu(%-0klMlE-~}=0CTCk8 z#Dqevl~Y}gjTPDm;s>@Z=`d1o?>=cZmY67slv0;~my!)W>Y;iV!=>7A6vJYDrA@2< zF+E13Zaq#y{{r5WscVFdTlOJ1BWxLQ2SU@%vx?6|9@20&e@2eU>e0wfg`7BHJ#gbN zueS;A#~2rE!JHI+k4*QJNGsEL9huaDEmy5}Zs77qq#X`>9+>qDh97W?0WBWKF^Pmc zL}XRep9YL6pOR3yjCZ>2+3s;n<{#K!g{ejLB`$UCnsu@GN?5a&oRa*ur4^t^g>?;g zqMRb`zSQ^Ie+Q8jt8GQ{8^PoGQ`I=%yUJ{QB!jt4&P8-LQr#KJ?N5bmEukC{twR8Y7mbErrlXxXw=c)r`p_E0Lm{)O_jr$g!)% zp8qnWOjNdD=1WY)mSUd}YbcHH^)3lYgglz>T&j@be+oaXe+8+_T0CN+>l$#SHrYSL z@>ni9i1wIVM_khXHd11mbVm`QP3paD8elZjG-@av2lX6xN}WjYu*glH)rk7uqvcC0 z=9kc2=nj@2;@}mZZLHQvTE3@1d9d(TgNsGz>YnxJG^QWk8pqPk;>a3U zB1K*6D!79+$dgyDsoGXkZC)ZxS?^_B{PPbFc5R^p-G?Xf^||h^`s_wqohS`!EJ!q@ zx>S(q%{11zb{Ax(?{kx>hp&y&hFMhU0(seye{*pQ)YgZ8QVwUTPYQEg7fk~_=f*k3 zyHo-ZpSYy9<U#Y2CNmYBwP=obz~(#aA23DUsBuFEX`Mdm98-uvEzAsTBq_%jt#{+T1W zf2T%5EL{Us3}5w)9oZ*jB9xOT_iOEu{p4OtYVYWF$^w!B4REZ^SA4fmNZRah(;!Q1f06MW zrg|+*MJ^9g8(YiYuvqD7dcw4>!g*(Y;Aht~IidV6y2&>@!@^*^l8%Dq}r!q?zgj)7gm}f^u|jBJ!whx z9WegRUFCYeMBMcad&P74-4$3@e<*JHW$AZU(Za?@d4z8?O)} zil`ONVM<@#kwVQTD3mlr>_OIi%uY!|2n+1Fu!6xh>FD2cb4C;Y2q8N#e>*W!*dV)G zD7VpN$Gfl66H4juL0UHGR;ZO<;PUKD!AP>)TNv;4k<|)xwq3NbcJR~fS0C%vx$F6o zUeFiL`Yx|X3Ve@CzseGx$U&v{e>H@A=m|QLrKw19x_nW;TQ(wb$rj7c=XGFdc1tSs z=oo2CgWhelWFVHY{X$8Ye^X|z(kgLpc5b3!gOLe2I-cFfdf1FS8%kFbSQ{=Tga6KW zJmNN5_!Bi*C~7mX;5~Jj3kCa0oIP|y`S=BOU3&;ObHVQH0&T}s5p3(C^kVT>t7y>{ zMvKQ9EMmIu$`kFE#Ql``jLMj4-q^X|tj6;rs9ZmQbiKOXC=&)Ye+Fb9gg#^#n+7gC zn_RxLI5ttBmzawKvS|zTJ%c?t5h^anCX40?COzpqRN){;5e70!vlySaRwG=LW!?fh zVs)}2xPfC>Z-gS?JF^30NxV2<)JTmc;cIgf`=o1eTQ=3cHAhTS+caJU)I6?(z4G;ImaDer<@ z*w^@;(P`IJ>wOt=DRXzyhkGF~;HC9MFcVs4JF* zDMO}nZ;|9&Da}ycijMAvLj*gI9_sWj+Y!Ia3_&>bsBK^e=DrS!>{YR4KBd_(M}V|R+3f=Co8nX zBCsDzcZTWKU#iuEH64?adQy`|Cu!}H2-wxL=k&8wY7_D;GS|6(1e}m0wXVY&o)eEouV!$PGE+Vhw45$qT=xQ^2vB5 zHFdTrb)y9l%B?MHAoG50#pT`n*3H2EUR=i415Q!k)D1oc32YF7ltQ(ah{7!hv4$M*8Rom5eGo7XB@{Oye-XIj#y(;x}^33-mAYQ%0){%#&3Z_aX0oIrl#J8|TY0aU2uZT$z~ zJSZZGAvNpwFb@sgBZXA6UbGi%w8R|-H~HyPgq$#Ub41vyR2*$mJMnP{4+2L!e_qR4 zHDtY=3ZwZU#?b}RL(lRoYqmqhI#6(KmJ9YSl#fl45)}>g(++*EtruUJ)EAgO#D3k5 zCYOX9d2es^&TBs1EC)p<%X_^GZ)R8|2EF{E@&k0Kq%YP^s)t7VJ%B+8f+-^2WE%ZJ zgBB9~ekh?+Z@)U|vx}-7#|tn6f5+5!R!vkfuYFN>R|BV&_M?tTdYs~rtjHE3J7vXQ zd(Foo61H#7NkFd$gNBRh#j$G=wJSET`Gig$xR?o*U*`495GdxK5mg))%bq6b8IJEX zUVX0(aP~IG(tJ`c@#d@FdcI^~v`@k1_neddn0K%lgOU=ACVF9J{2n$Ye=$sw=;nZv zkO0nziQ3vB7Np6^pOR*?{HY>6!&)~XacW1O9!7?bXDc?Z;lYMhRSQ3K)?413#%!!Q zrJxmo`8|C1JuKx)mva0ag2fnQ8nU6*Z5PGS{e-IWAeNWV+|0LXceoI;cjD%4A#AUx z$Hw$sSSMKicCQg{<$(3oe{%L@-3n_2mTn8-z5YymA@qJS#z*jr0|?ACy$sTCiuU(q zIa^qMf=tE=@ZX8UFuGhYEmCYIJxEZfwzWfQ-q;30d!s)L;wcS2!s(0FyBsA=Q5T2W^;t5?wD-%}>ok?7ualhIHN4XpUNY*9pWyjtM1C3ci)(*a zz3nHws-b94Rf_9?GUY3Nm@b4sNgdJu#KmflRwwcH-8pIde^BT6W2rLPUEe1QA_(I2 zmd*;;avk1~#Z)dp{YB-RN5O;6^~+}#VH*!ElAHz#jAHrjhSh-do~4?n)Gux&kvCa< zT6(h*Fu4V4(&DhMDPjo|c8lhs@3nlw^{jB-LTh~z90qc?)$Sf3dwu(`hss6`W$y*? zsIqZi-2S~l>QhkUWNnmzs6NsAeNTog2;3kVp zF1=!9fRJc81`jB|PKsPpkTfqjT2w*j2*V_rvKDnFEsKK;Tz{bnU?+WUrNoAl{|@A} zqVf}LP%veiimbARlP`5qYLDfPUwZVzBq<^ZwAo!t<}Z1saA=(MKpw|p8`~-k+%C3! zYAZ+fsGiGg4izgXmuEQ>z&JUcTx7^}U7hu~L%TcvC|$EWiGGCDL7hGI`DnS;Y{N5k zA$}=aBc!f*Xnz3ipp|Egnr)oCH5>WvQ+b$Gln)i9z82Uk`_?)X@fgey=J)9~1Vs9a zFhr^pDPPZf#caJkAqAn;%jlDnQe3&q+=bzxmjs@#Uu~wN6N(kxhZs?yF6soGPoNk$ zif}k(cx4&Q)SZ#}BSX{TP3or%+^!uzTW+{}o1kmXK7WIu9I#)FRj(nE!EWWS-RS%u z`jjR?W%>Z)?bFXJ-f*!ET`+2Jpw$bsj9pEXZhbXT7GXNpYyUgmK9XJp+vf@q$y~Zu z2j3c9loHaVZN?JM$w+XniwCuwG#(ga)d#Oag272drMoyXtH)pz7mY3qBR`62l@*%e zo2IcZ4}VAj?c=|?*f=fPNn97p(dyMxxZLLlWks(gPc0AU&@>C%$VS%RYzg?b)-G?T zsYb)k7jsEwGo@>`ETs~}E6TCpA6MgCe+qFrj#i+JP|&II`P8!OZC!5TJw!3q;4{0M z?j{tg`8OPJcW`-N(9;`@^<>hRFFP)Fkp$b>u3IS$@mu%I(5C~Ph6uZ8<7LSC*9Fq$}c-zglCiMMevuFtbe0|W3y^gf-4HI;3?zA_CyHC&0felVikq6 zG7LzM@<(8r#u|#fdM3*5kehkqJ@K%rekI8IillZEV@imbr#*Ax7-b;+!io~t+HQ5w zc}7Bdez{<5MR#^IDIqP}BT|$r{vlDlKe@6P5cw#pdoIIso>u2lrZBGY;lf18zkkV& zh0BQnK*Fc}WA3E?K%#>7X8BBudjK*`XSI3$PNNU}9WoF{`Aaa5EG-5@9i*?F^E;P` z`)&D>XC$gO{-{~qd-c_J=5q4OsQDr!?L9Do%wIoDC(63xF=eBy4v1-q-U;TRg;cS{ z+Uu$^uaqrqX?Nn=!MjM}A@FF1o_{F~r)e!#)aI4H<7sV}z*Z_wV4`>l=#*lo^q?g> zK_yHrD55ZYM2aH2oD1h3QMg~XKuB9P4?xE;dew0vQ1F&|%WAC9+x)iO{Ki!XW~#Q~ zw1yZ@j;XmmlLGp*Wa(rVKq$94V)z`p$Oc0SN!x-_h+Uc|M`cyZnN{S8e}4e=brtHf zH>RB87+^`B$~JeBLR)^mxD~k>nWlNDkH8yX_1`g{CfAeiT2;+|4v{pnGfQ zYiGBKxuDg4YRI>yT$fJWf);bfP4y<&^A(TSiYjB52LpkY)NC#~6B#y8E_P*dVcF(at! z>o*DaPimyMP=g`8!`TQ9cV=>}C-;oXRBbWCfb^~`vD&%u8-C$k8$Ad&y6lYQHe7Fx zLz71eo6^N<+7&pKGWW`u3WVHlET+JF_2tQ*My3+%SPlJ~xMM2434eI=q3FNVO&$rH zN;t3N3bSyO?SxYdc+mvLib6Hi`K#P(Jy)|JDzfiCX!RFAl9_?&d!VO)qX~IRiZWep z(s6F1qL^`xp+vGqJ_ehmfkpAPO<`lCY!P?Qj2>r6p0tmzA8MgxM0I+H?Z^yzQa0pC zT%?&HSbs#PCWt^W9)Cx~GkC8-FF=5wGyU_zb2L#zq_{d#w1SpyRrLm%T_`w8^Ap9* zHd{w>G+Cf7eTQ}v2Gr=5(nAt)y-*a%)dYe{^{^nm7#;P8-SXw;Z<@K76`1j<*%YRt?UpamH1LVSwh;DGY zGk~hC4vUIPU-EE%!Onb#;$De(lTk^6VRE`#v6~1q!{@NpsuwT~EoE8qQayem6Ms{yI?;S%AtxvJHR@x1^d%EDn6EN zrXz&R`%tOq&wp-31KzrY6@T~=NA(|8498&i@!5;6TdE}=iLQLd_{44VW4k%#Y*t#H zcHN7T(dpVG`o*G&u9{%(gU-f~sa4R=9pN})SF82Nj&EAZw~ziVEeM~L5ZTs*ynv4H z!9@h~bHY5|iR~KuT@4V$PZ&MT3~d1`MNNle>n-XKH%k&16!-Tw0R2S|0+uEiaKe0wHsf05`%`p0PdzvMnYqkg*v#Rg7 zFMbt>8a!0T&Diuq*{dDn0RQ~m)SEsrrx!80jbvP`hkc-nD{4j4jy9K{Snv#6dvLHX z-Z76S+kXVBDWl%;i}FidMP^4((176kpC|y@i;j`FA^a9&7q@f1y1*s@TYtIiZVY3e z+D?0F6iQjhh5RkS^I7)Qns1j;h$Kr?7U(QYp-?_^)|&ktn{x-p&?$NoFv@HNl?uXk z0aui!rLaFWijPj)A^{No?A&0ZJYukN?$(iH(0?p~C+(FcFPh1fKON6GV#i)Q+i%Q8 zLfh`211Uc>(T=K2KTLL^7-UM9SeW0^`00g{QE}tM)NgJRM}5e&x+}1-We6_#7PCnT zUh}XCfuUzut!d~26Fw823ZM=+4W1U|&V#Sv{F>SD5lt#`?hvcbN&xjIp6rbPP(|!*yMK2=px!?Ia-x!;j-W z?o7~B^oAl@#`C%n1Q7|3_%VCl6YvT~9r8&A9KcycxDp!Pg zESMa#ir0%_;AwWW*1l#xqM3wUk{W=5h+ZA{;3+H)dUu}bCV93))7z01jIw^Irr{L)+m$cQ5k_UC) zTY_ml2+jCCX$0c0~=eHW^Z25<{icWzFTe6<;@n*BLtbvJl~*p4f7HdV3_ z%QT7XP5YjV{KTjO%lD)X!p`75e1D7ju>{2Tk18jWr{Uw;pC~1;8_;8cG>RXRKRW9s z$SzNfioQ-&hxp$}Oe*uRlfio0y`&2h$ZBIK-R1^bq)0bMa4=ahtKXh|7tJ10d;Iu= z-0MlLPAZS6-gT4h;*+l1d zPs|@4BfjBa6XvzXX<_$Q@-+ysaM&I^5gXKhOX5Dv9EyloimDsa_Y1s;RmLZ!B^Tmh z{lVNzN`zURCEYmE763f$z<*%Hx$m(Ok8e=T&cE^*Fl;%!kO?oEIE-8!Mq$zm=j;L95DQU)$FCx=pv^Q2>X5c_z)6j zLwMVT+NmH79E*R-G?s~O|L&Fijm7#Eskpj(FJP0Wo_JY}_LXCz%76M~w%fL%=Y8)4 zs)$y~Y(b0MrQA$@HFuHsTj)e*xK~$ld*FZ%n8L@7pIzuoOHFKEKbHMYwvJ0#oG1u} ze`;|a75k#uqCE_`loAX$%JALi5l@&sE#hdX+OWEZ$yY@%QR(?v4=dt05XP%xKCJ#& zhC!0g6RJaYY{hJ2T7R6Ff8tVr*2aJ(5>i9aNmt`P8ry`1=&c~mT)P$P4%C)66_1m8 zIET_OG*OgtJ%w3kvkqDM9QdrL0<#0%Xm)+m*k-W{If3cEt?PUD&>%?uN$kjaSR5(v zy&HTEciQEs)dqmv%a5$97E$Yqa(%b;V-45(^F>3;G=hs5P=8Yys}i$l4Ds661GPdf zs+Safcs3et|JH4=%5gr|QXcT8DSY2H-Zxv@gv4V0)h6N-i#t&mrJc>|MzK0F8#aGS zXQpkz@R`1*hPSR#9&s2q8SrN^ay4d!MPS8qr?{j1sjAArID0W#x9*LIj916q)i_;` zm@05ONS#20=YJ#*X1wx84%vv$X#R3CEIh`?ZhgUAf398h829)MD~1%rTa#Z{AF32S z*4WQCo_c!xs3K_`iv4wbj)J>D4!OG9o+0bG*b23>)9X+~%E(n#Zu8!P`S@!L8>GC} z-LmpLzO0MGoYl~3&hp;-M`mrNvY3{6($$n7NB9LnT|q8&X2oskza4f# zI6d?XuHqpp&|w6Yk&cFk;FSH}480@w+cyU$4$Moid0M`NeM zx)k7K^U z>7EA~HWo|24nZi{o-LTXk^H1x&Pc-A=S+NkEu%7dQ4%?OSUnT-wk^w!CsOtRX8*?v zet(+TM|eH`M+MqxiKD>xatvUfMPh9ZC@N+L>aelcA#x6okVYfL$%BTiCze8O!h-Yn zw|@>~#9`Lj%0Kw6L_bqf4}DLM-=0|M=V{7k3fUF1ehQNx;=2aRk zUAMOzZc5%%GZ561S-?8-CM3;nj#%cz#h@(nc8%;5Wa+qt7ZXnpOLcs}owP=lo0M|l z*~pX1#~l>ip+P~YaK^{k>{1#meb6XCvVVyTVpn@Xe)lPHU3_0?VbA&Ur?C+{`)Mx? zoJ4y$5fbcFXH`nUs_gK^%Gr6U{Lf|5X8nFJTBp2X{K_v{!WQk?wf!7Ei0Z+!fX$X- z@XA1(-EjU;|FCC~lYqQesIqfLn+TK7w^^SFtJK}Z@6WRfZy^#btpW&7b~?AD*?&F| z9A?dTWn5q+*!i=WHPlz^7E6Yd{P;o6m7Q2N{yD$x(&N3=!`fNO4M6evh1gjGRsglU zZSw9)JIkbLo;q4W|1B)G;p)Sz>y4AOhLZcV^3idp`LB`P_WjGQsj)i*PFl@Z2%!m$ z6~IDG?11B!@J|>QeEDgML1Rf|Fn_7LTrG&P>XxYho_rubQ^2%iIBLF31f}6JSNm9R znQEcwtg|;o`YS=9c|JS;OS(!HmZMI5<=D|N+0V(f>!a*e@Sl$0a9Xa7V5aBZ+0KtZ zre6Uq*fNMBH|-_#KI$Rw#&YlYkHMbuj$>jc&PTtYz%Sr@o<}D=O%?x1Y=4*Nwk(?= z>3hRP^+gJ}xFs{F6^H^$&LaK(yG_#>?dr0xS-ns6oE)Ex^yi2>9!xQfzOe%GfhuE> zkUh+9qdm73u<#Sq0OYQRLl4lY{JMD~%p8SYfs3BpmVTpD@S*4Ivgy;~+^^6*tt0VW z5{*Z_w(Fn=69|Cst@-Tc`hNg~U54r9?DQFwD$VV9tu=ZoUb+E`O$rIW)NS8b>DLwN zL%Pei!dtT{nodu|ksq;QN(ZrB3%a!5lkvLIvk^$bg0LOZ$GU-?@w&j<9+(v3W2+t?4+f#pnq^_!hf1HZbX!sl^_j{{von12;2G;l$8RYxh)=$M}BIs5*b0%$vB;M>Sw2g9znCwmxx=C+p` zt7Bx^TjJUh9Dq(wv2s7sz``m06KxOK=sa@dRgsGb7mXIk=8>qPb1>jl#QvC+2$hI8 zA4#;T-(;kk;GtjLwYyX1Yy&2A&_TqvxIQQO`kh1?PL&_IwDC$i?=%S24(4Xl$2%El)FK0wHO}HYZEE6nR!=*Z| z&h+8Lk8oXTaMXq;njaH+XvmrkvD)+)?@cCWYE`Ee?C^=g09(|=OEJr)zSK{Rnu%9H z>h}L6ief~JeSf|m+xIvRZS;dq&DxZV5{mS2pKK<;1fyx zvB)XWHAICrpXRd!0KI*`ZUaYRaI)DkC$JUexar+1F!MAYOof`4a^>)ADu%}-ZZTX_ z!ko%L*H!mfE?0uo(vF)CUtB^b9jTQV_AbMuJ_T64RDZB2KHJax2>CHp@ql-*wo!dM zBNXyV7Lr=;q2AAHFa{NzM&*9#oSo+&8@;>RU|cKQkKT*fhcEZxvmZH+q}wQ@tM`{& z%_D%1@iaNb+L1Y1le6O>)DBMRZ?BWUi@(Cw8rp8qO{5 zPp}n_d^O<8vgU;oyBx%plDk}#t)VcbA87#Zx-&-F?QJc8YzIZTZdz8Bk5NUGfQ{+) z6s7%CY&_AS4`v)vw2Z_jFN5hSVGOQ8w%C8Rd4G1P>i#IU*CWg>HCv_PLqejLrIIypmY;V1dS!C7Pi;xC}(Lz5FS(&KTpzvZbnA-+9Nl&HS3@flyMqTY?;0ELq zj2Le@4tDVL%UN-OH4M!!o*dI>9ul!v8}>VJ_oz##E%mGt|Th_QPF2&Cw0y>2yf&P zg<8;3g^Bk)LfQ7d`8e?jlUU~Lp-@w{Em9m(S=aZ5Mz^ujFT_@!6%UQc5tyg88-JNN zrM)o592pkENoQ#Q3sY&g8T43OwQHaeRR8~0>DqNND zx7V}ZM>9Hd5|{HMyQmuwUK?ApTP^8h%YUrzH#L2FC8LQPq2DcaKH_h_ya#Klm!YmR z0PrhtIN@bDNbROE*$_>)p|CUM@_(Ah(1xR7w4++5-@04`FETeqW->i{`Cx+FnvZi&VM7rc5Gje zsew4-@F4`Q(|L&#sh4DId=1(J^zpY=y0x~KMwN%fDFa;aAZSYW#5RxjoZm?E41!o` zqeAjhLpE^S3%(H=7qEU+puRmqrEv26_({W+(clOxd)rkyhl!S28OLFyPs-pSp?zCr=<2ekx?w8AiB&JVUJ~M+(q*R4LE(swAQ6nt$FjIMLtTAm z^hdd1eh;A_@YGS-HP*xmh04%La#PB^N0K1%FgE14vX2=+-w3 zmM9-?@?Rr8f6!^uCW*IRUE!_Agyf6$uhC=~@CP(bSPmXW^x=olB;Fb)uZrY;LnpQ| zzpb>9y@9`@jz{SNIVanE5m$>mM`C-GQA&M*-y}U{K8%|aU4Tux2|h*IJI0`!3nMUm z;hBLrCrAmf^QFRB2K6AVE!qx2mj5lVrVCNob4lk{ze7VM;lj|?sB zC5BSa#%bypWSt~5%A45R6_#Hp7TaT9!Sg)}i`q(M4mn$xvni32hDa5vheR9X@5V6A zg=0O45K_S$WG)e?h0vo`mbgqgrp`nvAR=IXtlX;Rntq`2T7RMWcBj3tBbg(!Hrm{Q zhdcLy1a>X1`LmHQ0>8}0)%C!06Z~}CXxi;bRAh>Klc&~xNqqA;t0c@%`>BI%H4c~p z&4#4&FJuz3+5NuHUt;D@F8MEgm1Ea)fJ7*+y0@KLd=Bl|_fOd+#ZI5VVNC3wrhy{5 zxlXvPRfNOgIe+K7bHEC_ZruSTvn2$2wF`iEJ{T6N&_m~@aa^N~{CEmK@5qF#cJ4%^ zB1Dz*CAjYpmxNtb)pSHe%UA`v3gd^3S@M~r!LnsD=R%0QE{=@I3825bKU3iRDW5+ue*MDFJZZuLIOPUR2x-susZF;aX z6T!Z^uL+VAj+|zI>9)vUOl$~qJrw}dSD!hgLQatHn{+3lR!}#8CYVt#R+MVSJ%`nh zI}(}9++;(N$o9#XQ&MM#zEGicO<;8@AbOjacGmaPJSC(yvyAXA(3aIUooKRD%e{-eL0Z;^+!A)!f`e~ z0MV;Jo*C)|1NSt_Djh4C!QLnOY`k=4DRn;GG=KjnIWRb?wKSs$x?Q>2VL>X4-dMKk zJ{IP?nooR@T_f91cO*Oa)c;tR(b5cCO^V`iEi*E!Gfx|t}cDxbm< z%>}&6e@PA7$l`u*fx=dqY)=n))FtRD(YL-?(Fs5r%lK}di>g^*EB<&Lyi^kLm505% zM}N0#D+8j6Bjhu*X&#MqVLEJd8R0h0dyIWuut}+-P)cNN_+O-YS3-!#^$KI^a(qe1 zWrL0V(g^s6x+mo(xROXU34Y!~Xr}6w>Lw|MZG)Af^p%}tVtfO0j-HyY9J$4PSP)d! zUE9)j6{s}1JaArOL`g7oFys7(Q&{?ak$?8+7AFF%aQ(m}C;Q9SZtrIEcd$pziBTQ# z8%$$v@yi27KLWsjikTJsc$cmUyO2|-47!mY8BV@D&@76 z?d2Jjom{X-a-24YE~yAH_iLTy;(uYUkus*f_wFib$RA&ld!vBbmLkj?aIP)|17v~3 zR24%U-1sl6^K6nUyLTrcNmM3hIE+tuZd`0+$`&!|Rj6ZG*ebK|c0^&{syAmAg5Bf- zkaXL;FQ^wa6k2@{DC;)Dp|POir!s;1Og)T>Y;i^pDIq3H=p=C3rhFT==YJM&z=xH6 zX6O&(rZ1& zvz?ze>RBz$3%r?quINqJswP>J&*#B-LSiJiXk-@V=8Y;4gpjR=5g|vhxG0jxSpA+3 zTzGahsp4k>eFd6SQpKiKV&CeI&3Ye*K0aRr=2)+UP$GlHcDbs`%1zpe#xc6aH=| z>d_vR=83W?`q&@GR@CaprRKM%3^)qDn-ngx1o_z0UYEbv&1@WiZ(4b7xWf@X*jBw2T{zz{9r zrUi!d-RS)L^&zVal!>(H2B5%wl|IbGp8DV&ClACyk8Y3KR4RxYaE0N_A%t$k3pCcv zvrD#Wq2Z$uPu+9XDD;QVm`R1K5TE6~U)j@P`a?%YDP zB@7w#hoa&x;xY$kwq~AbY-ikUfyIfvOd3Sfj8+*9>J3PV1^UEquGJ_3$dAe>OhWFq zx=@WimJe(aJ%xu|PL=loj9Vr#0uP!bBq*Nzeua7E_1PH4QZ9sV^;LyS)IB%vt%Q3K zP=C<}K9%(3%;o3Qo@vd}Ar_${vv=%JZ(6E$C|_6|%B~qnP)zG@`@tt=xg>nGfqq%) z!Ex~$yIdf_s2vYiZMgB-DS{Iwwuprvpr43Wk(nAXzZ-@WYl_e$?mC6$nqG;wIP4Ro zE+s9EQ8fPU+uF-KR)G}n8V_qYrgGuNIzoH}m;BCx6JTeBm{Ors^hhWak=)PJk7sF3z-Og>0$iX)R!>1PdlEyw9c! zV(4*nf4($*O*AQ32J2U5t6Wx*ZQ(3#h3uQ8>Iz zKNeYLuvDai3?}7l3!UCXnJ={cN=H(#Ar6xBI~9Il5Th1rs6K?%xxq0!t+K@=Tm!tV zHgBa|RrHAkU2ftI#?CP|u<=A){cpqIVhpNAq9Q(f=LVMfib+l~<6A=T=>06T$Rie( z%ybdL^QIaNh@Y%xM~M;H(wFacC4bEDNlKz>+CDmx)sjzK)N#)Fu6Z+sGOJxOuEq*8 zKd7rp|Ljk|1uf6$F7AMV-neFrV{g{q4p)20DNSepU~n`WWC9sHZLMkAZFz<3xJ4}B z)RQVjXmPHre_l79$&?o-DR+{ENnpnkMA1*R_At7+>1nDc!f+)yC_AVw&V1aIob&ZE>n(LZ`|*z!R;t z#`)EvN}by-;5vmw>g2rZ>*Jvonilfm6r{xg;Uh`=MGq^u<4DGQ`!A2ea9lm_Z*k8^ z6ZLTe`<{tZxg3G_bd4xOtbe{Si9tyZ+hwntQ1fW^yV4_SGigM2G)9jdF8zBbSG`j> zNZeITn!%8wUyZ?L#qeb*?!W#ph7cdA2X`J2BWgXx3HiBMEuB9coTD9}Sr0kSeRHaK zZtk3tJ8Uy`Fekl|>yN$=xjLu!gL539tr)v<02}mu&i=E_Ym6S9yMHFfF8v*f02-|- z;-y!Zy*nh=xj&T!N&9X^9mf1sU~QTcBFu@QwVhb|JF0hXAt>(bA0l$<+SA{)|5BQ$ zdD;|wgKclolx2z7f;((5;X+P2L$isWM=YW)!b=a@c{q)fp@C20h*!=9o z!i#Hm4AAw1<|&auTz|rO$BfaXcer3kYWgY4x!&|JrjK(1t6r=3Ove9N3+{<-X@~Tj?js%e4D>ej2f-?K+(#C4;MJ$eq|I?(& z-Tr+C!o*iOH#ENJ7ZHz@42vO}Ef=tT77FW~Pt$cd$-FV@XGT-o`^f2>-+YoCfALxm zwGW`aEJqw_uz%4*XNDD}gSM1iQm3lZ2uYq{F*%rWT78ptjIHYo6Mtz*WpR9#p*3pS zibq9eaE=5xqXu&;>I=!6cnVwc2k9E5`26^gWh*Xkr z6`2(oxV=_`#i@sms2AUC0N;cU&sDJY@)y^_K0rfHQy@nfQyGC^i zZ}Tx;)2BC-a7wu>_h;-gG%_ON1Irc8Ce(2)eWnMqU<&zOT z0*E}svtI7LiqeO+)#4i$!9Jt2%HAztSK6-_d zpY#6_xPQk`g!xXiST}D6EMbojZoV+}+Z*(my??Xdh6Z+&cc)cbbC(8NUc8;rG50&} z8SY_u+R!x&;N|;ooWh^flqf^>IO47&vY^8o zhUgYKJj>psi2ZFMQreu>2 z;<9_+F@pXV%Ncoj_ z_Xlp&dGmxpI>xziu`oL8;;@ezN}r8>P8yzzm7iq+UyBi7*xtMiCx#Z|lO8U*jX}F^!%;P1yx|s zjc%GdH*#d%Q{_4Q(bPHj2S}4qM7g*bvu;$ioY{O!-{JJ}jF-8aOn#0qLQBNlEI|D^ zR^7;l4SSVZe95fP3|Tnp`0`#B27g8+Gt-7`3e07VV`6bS4~V|(O9_srVm^WIWX)5l z;pHNkb(M?nJ&mnfMi+z9BZg(sdmK7~XcYC(zUxe&hZ>}tfGcZ3?D(WX34;VDa@ml4)U^o8WaiOZO%k8${wa8=ke)aO8%*?xx3b1lz(Zuk8{Ykd58 zM^so?z|8)p?Q@h1Da*4R#K7IIH4$?1>iF4LMH3jKU#R`S za1kUXuNU{(3a+J0R0noYg@3CpvO1(2&HW03%M(F_sONnXdML$ndpoGx5kv^cj7J*odqu~~RX{$O zs?Bp2Faw`A_+S>Qg3^IGX$V;!kQ_?To&20J=xGPBj_u$v0xtq{8-K>~-iz0JaN3$F z@EiTUS&X!KWUaQvYetU9Wej{u4sTykv!r~rm^{SMl8z+&J*5_r9U=WQ6$!iyOlWfi z;jg6rq9K<1v7ks>PX?vWeN09iLd!rh@L!Iz{76pQf zd_7bCBjX@H{bf%DB%_#`NfH{Vgi4C*^`2qA|K;arme@Ke=6`+bnd!IYP#cJdKec%8 zrlV#gN1s?~BDkF8zq#EmSo0Dy&Pz<5F;~`Gj_qhu8(+)u13gN&Y149k1dq2% zLbY#CzvA-9P-)e-^Z}xQryKQs<@9P4U6Z09NyzXpgcWZ;m@!i&1-JpSf2SwoeZp-y zN3BJs*>>}=?0=4@gGeDqB`9qiw1j^h6X*m>^A-#O2AIYFxcE>*Oxw*+Rt9vbq&_hr z@icaQSD`LXspSjY;Qs~#AA-qUILxQ|xxz8~P9?L(Gf3>D`4Q)*J6-V{Px&|6@%;9b z4#wHB%*qzchKRlDHef6rnSj(RbcPwG2tRT^nQFni*)^ zjjK(R$8pHf;e|Ed*Pxq*d``X_aws@XLDQTqlaXpRs|)tS@y5u)-+5&!@{X{X25n;Q zjYmgND1Xm(mPs0k|}PO0w7X?_h#+Z0o=`@BxHlQYK)$_NST?<$>wm zQVn4(!hks9WYn5mOpXg6&INvF#~=JQ#bU$iHv)C8zrCS_zl+@fM`8O?%{ zc_k*}s^dwnlZ+q^uY@&05c|u(5Sz3S$ok@t;C~9GX2Okv7)*Ea-M1Rvu`Yjhu3R#Z znqrQ14!4oV;AJ1Ly4u_xST=4`7|&k0_qf;Z#m&Mq=&w2mLU_DMjKV#{13uHE(Y2^?%g7=dLUUj~#*p z0Au|mJN34=uUXoTI*bHI?6#15%uchj8z&R1 z*}mJV9^K;UC2i2Xsl|hF&~$?mcz@-rU{e(jd|>?oGqPN)neQchQu-Er1#Z~j#UC+e zyPPC?|1;VkZ!bzleS>4ni_vyQ&`Dgn5tu1I8volHUm7Wt<7z<-_z~siDltyAg-H~d zwpFWj$M0=R{7hf;1utUG4`!<&2@<+K;rr%q{7&rOEh0A8;BNnnG)y{Apnq*-oZs>m z{u5noy;9kJ@H(BZ{}pAzL2PSs3HX6a@1Z{&5d(8R0(XdFOc6wTS-o4O78WT>X+))* z;WN#9h5mSMO4->NkDFx^6t>l?wF&Q0$GE-RJkX(04sXMo;1h_jLq$r6Lh%Fp0J4C5 z2M)Y~fLJIN?rkqTRK&e1Y>TM%Ib}3nz&wcaL-7^>AmB%qOr; zB}d3uX@PC0YDXAi-KG*ldZQg)sO{K>;c!jnl1^Qw8UXKZe$#g)yXk1+W5XzB2!Rur}NXS(U>EAmoa(nL8gB&*Sgz%Mv zO~T`^3vGsfr|SW7Z+ZLsq?eFVk1|G>EOy6%MZ*X)UA-R{U7q1Gda06 zo~Dp;B;^v{gAKdtD!8FX9$$4{uL)~`A@yWS5Axq=R>FfG4qh@=>MIQYpP>JM{9tbv z3R*2N!Rk{Z$A5I37{=;Uc;cKYII#Ud*zUpc=xH78SVy%NpgXSS*YK<>diG?`T)NC7 zG%w#2ZYVv&*;(DKQ4KswwL zh5EbR6C$~vUNwqIQ`QdKVG?94xlJ?HGv<}60b;uRG4;H`ucstX$Vk}g z003l74S!CIz8pr;Jc*&^z1LzIe^K5qQgK@wq4ii15<%R{rxhpl5mYl=lFk1R;)V!oy_(QHpv(6e#(zvqiy=kxD@6UU{d50#lJ zjHnb5AFpo6#>Zn+m5=SnsJtPU@gk5LV7It7m48`FzB?h-=n$-iNh-TQG5I}xguY8o1*hywr=S!+I zGJna-W>6`YLY@>G2ZW7#*oA@<`v5B3Wq&Um?N!3xJ;eL#JjCNtKK@06ws1$T8A9N9 zv$(qo%f07=Ne7YW9(AB%xU8}T;}4#^)uYh+CDf~ifG|_(R-A5Dj>X+GSV3dB0}55& z0b~c7$l29Ob%)v4fPIO#mA~QR*y%pWR)2oL;XkfjN%T#nuV(jVney)UBB(q=f?L#p z2lJiX;J&GlyKIF*DCeuFPZpFGTsQdmV#iA2fPZt zRrVPNn61g)K5roQ+xTQ_$3;|kREwM5%z}QqFsce%0Mqo&`sx2T&{Sx17baW0b$_KR z0GVOcy5LIyro|dt0??U`U;m=YvjfDrk}o#|N&^HaSFFc1Lf-Eb07Io`rJj^s1*stR zEa|lGfZRF1C96B#(lnq%@?1+dfKapnmf;+y&F#6Pb85E=Q%szj%Fwyj_7M5h5mf>X zS=)#WR;o+zR&f%>GO*?tz@4;wIDe5q$(QNM`$-YJy&@f3-MFw9N55%ys?!9@jd$Ut z+o_PRLk1vuC_{f~8;THjQ(5c+jqd9v1pK!1p>WHn*-zg0?C(GO-nepKl9!AxhV%X% z94=VUDIA*VtCm`;Riq|@yrHL|$4c89Q`7LK03b(}yEFS9(8D;`l?!zQXn!cAs3|p8 z$@Y}5pB9IO_>_c2fK*e4q4cNQ_MW@zQ+se4B%DO3331jrAvem4{_z^~JNZ1yAOO<- zI+u$D#$u<4ohTiNHYth#9fBsnh!Q0$sL}dxD^Pu5+=alWoWJx7^Hvi3mgmXn%$G`*9Yg=IDwvpT{X0#3%2L~x+T&Wo$uI>cD8d97NC3litM1KmS$&dMqe!F5Q=Oo(kv#s7F#c+jDtQ70!lPHvDkXD(;(H^d8dR+Xw zA7^xot^x3g<&6Xb3oB z(JAj!8!FZz-~PMhXC(U_4T8S{lvh$%sj24I)KH81BY&7> zaS?I``IDZ(LL>uPq#gMrf?DtLnR#o$M{zK1ru`HNbkg9cQL|Td@aY^!fd=fy3T19& zb98cLVV4R!6AA+`Ff*5-oe~tcvse=FCj&4rHJ72C5*D|-fD+;y128Z*x1pU9R2>5_ zFgcf@oe~tc47(Cu8v`&gF_)p85)`+A))G}G128c&m!X{!6u0gD5=JlsFflckp`8*H zw@WS)$qWN9F*lc?oe~tcD?1bB2mvscf#whswFHU9Rn~j zGnb*A5)_vwZ4(XyG&ePu;iVB212-}>m%)Y(DSvfVby$?!z6R-5Q7M5@LUI^{A%>7n z=^Q|XfdPh?83u+1>24%cN>V^dLOKPc8w6<(kdjV;i+kUF_C5QY`+R?VYrXGpy}wxR z_dFll15F)XX$uq#u7E;1@$v&f5P&+u9)@+)F+)D()rMPP0oNedjFgQ{7vW?F{}1|_ zkblL%&72S@q@0=4HLq)p1*n-}0FOZceh>sC0s-@1uR#KT1)?wzfF=fEk8%fS!kyq4 zI|TBYl0%te?cqo#9V{Achk#pX!yQprj5*v90_4*tWKn2048qFV3BaMJZNSOR z&GR?HFDfbufVus}0Oa6~2rDFj{d(aHw|_&Se`mUuP=q7lnCqe~e#dHBn#o%roPM_p z;IMXbLPPlY(3WQKYYgaU2}Hu3_&Bc%l}B30qU?VQIFkOJnH&NGH@|Mmjqjgxvqhp@ zkRJa5TOyDaf3#$QMf2$)5e`_mvfTd$UqhsSV^(k{02uTbBno;AfI9%-uIAQ!zkgHe zx}o8Jko>=4Go*!=2O5P2Sen^6!o3id@aq?;hohM@9N>h(!o58HFY)g?Qht7b1;X43 z0E1gyU&G((*D&1j&%K(N69(Z5Fa`lZAbtSo_w%pSv+E1BKq2ki{tj0+vxfutWOQX@ z)ug%q+55kuWMoj+lDz!Ff&kvfB7fj(r(7$Ff(8DmsA-1y--d&CIgTu@= zK|WI0#a2|N0Z4S4I`H-lrBM1!V7a(DgnWmXV{jMLMjsnNo0R@T)~!S7=Yzr{D4V2g z-))^B)ZLeiCq}Dl4jP0EOodrRBpPb~en5f0hyMr2i+$J9j)w@t^!Kg&>nUycSTk~)3dfiXbyg&~c7O^?s48&stlahrK^ z!ZIGM?(_AMUCwuLjgk}6#>Xz<#M!9t6DN~Acy`0anBy7zIsfJ@ zZEaLtSn90cq&T6D9It=)@Dvd`)hxry ztQOAXR$~Y2O~dl9>YV;;5P9VL@hGsB6nSKPpB3Boo_%}E1XCbx+;yt`K7ieV`{7vM z{aIoe38t%hP@p!|8#|^)1{R@_*?8YFloWrAEry?*hw99RRKC>B8=J8L_+&(c;E`uO zQpd?IiKi7@y)2e&eJOurS7`8xEjr{gnZFN%#1>a*c;}O{H+NMJoo|;4n5rDOzlSAD zsQ0Sl=|3uqyO?XlmLJD<4-Yf~0rnkumt$2Swc;VSxN=}-KyDB|M z9J&}Pd9eDpPa4}S1BJ*~373p(Q}fh5+}NWTzr+9Obx-vZ5pp7m zr)WOk?F3*!n5%!VBqg47AAy#J?e8DGCm&ko{BX=w%o<&d{yDU`bUV7)Kpzq+#@Zm! z8Usjc+^O#!G|p>;`UgPE$evg9-eGwWH8o(U>%LJmsUc;1-#%eiD?iRZVik9^ginm) zcGNRM0rn09wS~PHPe^Is zU!0HQM3K35CDqjagiUD>4eT?m^ZWAyC)7?g_h4cc@7oJSpnm~{uw9>TQ2oziawf^7H0UKI`#))f;y=HJTAabKQhsVZP>Wt=pN zUi4z8o-ks_Me^U2Flp6SttPOdTKJmEz*s?YZk2W3$s%Dl>Lgy9p9T%*Ep|is)(gD@ zw)=!sQ+do}e82Dy&apoZQgNhPGmkf|%$6rC4_|-1?K5O8`tmg^@zPp-e54X_VM6bT znzN)ryoJ-Ime@~n@CA*Jj{x3{LQAUS4@~Sduif6aYgTaS8Haz6{vjg8?&U?FK(8Ci z>$>GA8S_(eg{4`dMKuzD@1Q$ARyvJ8<7JpC5U+FC-Q@RDSvMvo6I81&k9SoLJ5e%B zq+@^hfn9i9)=EC&w-L3;=_eq_LCj2Yz}`^br{W~BBIfR&aKu(CG)b*-9{S24jkKOv z!G1h5JR$d15{}%?_|<8~kO1v7xzjPmo;O)0wZMliDb&--uS`s}#hOLA3CI$p8uFIu zq_cjN@(~kK@^ppPN>bMtHqRNA#2!+-u`PeJ5qb1Rj`L%D3{(qjqNbt&Z=%N}xI}a91T@4a}5&~o4b zt1?x+#7P|~+uiSPTSn$5>%*LSCS>O{`|K#~SoY%$oP$UsK3#H z#ae%T$vw|*`DlfCjI3q_(*oX(`PTkH$n%nZtC%&Z?o4Z@YqH{F0XqJ$-aLP*hM{lT zfD;j;)g;?`Mnr~K>cwMollDi_1Y8#xsm z8*w&B+TP=fe6WLLeB7fVX#jtFlMyD_ujd617EE^&g%xU7Zna7aAcsj}K$_gp-a{w?dh4=Itl450a3J75HrlLuI<$Ge-iQAsn)rTHhY1A1%$l=fJWjO>5M<+kO9nHwVHUxj_9?l+TfpLZT>f4H}_5=J}R{BXukz(dR+ zINkk?k_JtWM>)4-cFBaQ0Ra<~x}2*B&zT9|tcJq7@qWm!8auO=X;&WAZy6p*c81k1 zq*xZ_NW+{DtRy5uTcC+wQZ|PlyjepZ7mem_Hk4whyz-c&;7@-v52#f}X)8}DXxgg- z>uOCe$>-U9X-iyF^dwJ04zETim>cnS366kL6ICuASEm*NhVMSSWdCGTYJlzC1HYwD zsZx)m?|5HF9(RysM<2`u#Fi}6)&RHN2PXE1t9O0D`kMgv)uD};5ri<``k-n~QH|p%)CUQzX*-9%wzpO(q34Ir@K;5X{pKn|R6rtPKdTUlkjk zc{P%~o#R!Pg}zUU_ppxkWW02`n^CL;R0Jqg8d${J2dE`pSp^5B?aT&W>}m#_EsQ2z zsQ~2P>=opXn#08`2>Yy-Z>?QCA7^vX$?X_4O6!m{tD4+A#_@f-bil0& zo6b=WDZPI|Otdw{eEG}=(jeScISU|%<)8%pi@E7V^lF|gc)yFA54*H3aRAwi=e8%g zmRu&0Qzr2r^h48UEcad(tAWpQ+B+(yp}h&C^!+hv!s^fKIYs?7 z?iHF}88Lrq%(mR`}+2G6P zT3*VR%@)B;nb<_rsBDDmy#oYFR{2(Nq&mptg96@a@!vPnSF<5A1ut>Wx$yE6x|Z!=^jU$7?` zrv-mp(NS&I&sqCvIYqzdoV0TcIVW- z20F8eF`3}Y(~-tgWaZD`IC$Dd|6&plEXa|jM{|!YZxU-k$Y_9Xy21+daHY&9V?7r- zC?bldac?>3Bm>f7#mtNwmzM$WOu=`foIii;(b#^V8-Khs`%2%qqK9hP-Xjd8^7d)@ zO5(kVlmP0=fR{O%(APtE^>>xgg*D5mSah8$h?fRmuhL58**g{&#sOs$z1L2BNLVo; zzE3{DhQ;&-{qV-jC$esLueKj|&I$qh{p<5x)qT=)z*|k~@NwyJtib?iM^=y{^DBSc zwk~mjar6xHNheA4`TV7W%}r0a$KYS~Ta_X!d#%02o_ISXU`A?zQZS{aXv>4)g3V^p zF-;?O5komwmUM82C;mqN0nJs2nEY0>HX^lO5zP|!fcBe4L!w#nY9N(&gMo$Ylvh|$9%29NBU44F@O!#~OuGh34SGRV z&m_L!Zbjk;5GYTNHk91PNMlaxkg3hrHZq-7CEKzJGu{q%+&XqU2ifCRG`P&GfKL z=A9c+6G=4>)Q(Qznqhs2;M5;y6SuP7;cYe2!HMjWS{1!YrdN4L1yQme5vXXj`|m%- z%J?`=5ZIasK#Su)@rYYM;<0~qvYao5i3?ISFzWA_oplUQ#w1Xa4$v>KX2+dq;i|Wq zCn*oo)4rUv$RPOB;iE^nniXf=zZNgKf?!*Y;G(ZF=ho zbU3Swo-tGhoEJIj*5zk4q)rN7|Eq>ej?9KnCIxZf{&=(sb>%<&HST{P#mr8mv{jJP zwQr06a=Ge;hwYJ9`T6Q<>uc^S*Q@q$YAI>rqp&0dyA<(O-qy4(y*BaBC6^=CSe6+f z`Ndw+h40|4VInlanCwL*Y?xb8ikWwp&JeTdNg>zS%lxR?{i|r7{@dZ*I(FEtZcJ%1 zlEi?j_3Z^^2MKU@S1W%9XW_@X1^1ry*b#HXj%3?x`E$uVPZjsXaW$1?OmoVY7W%Rp zx!Q@jEVtHzRY#H5t8w{i(+;BC5$#fy&sH64B~P~@z05)H4#}(qzD+IUDM~j)+u88! z(ws;hZy&Qd5>});Mz?K?)QrF1&jY+6C1J<$i|^?~SBl3iN}hjz9176Otld2*w*KO@ zD_(q}$7w)*TW_(AP&isPFJ%TczAhe0ofTC)irR%wis5Ky#kx_ZvS4|;Mdy=~P=;wy z4hrTSWJID&CULs^`LV9AIMm> zSRq^IQaxEe;ZG?DfK2K2z%9`%Os6ZH>ctFAKm_RCc;GpmABoM$J0ULouq=2?nI`r^ z+8l9ufXle_kRi)kESqUg@<`XV@oi2W!3p&4O-9D3%UXXog?<~68241e=i=(iEvnK1 zRgeWCTcw6qq-cUuKkA=+%+P0vZm3P~7cFP6F}?<~BA#pHHgoeacKXhPhoTe0KXvZ7 zw%5qS7F$CfZ1Wi!(x#(B_vXpx6u@1GhM)J_#IP@T%NyjGWdlYliN3JgY??h4gnl_|QQmz1qiZ)A z#jworuS#Y5Q>HT04V$L8^KDc+pM?n%vO33V566Gj_jVmgF16x3n?eHP-L72KRqyWI zFs@wX{uHyyOWmeiF)2DYsOP5ZM(Xw;EH={*=Wf4kZfOvwFnQOeOVG~YMhwK`*TS8r zZMYy1>?kJEpO@TgP}Rj#jz1yn6@7o=MDlvm)!NMipR0JLg98^b$gq5)pVRYu11zt$ zw=jPyu|Zijx{~7Zkr9P~}ken4$R0bh*2RR^gk z<1-bMnnuTeI3ODyQ3@h@5((SRtw>l|l;T%!NZIt(lui!V81o#k)FWuBuh<&DNhqW& znPR>Gb@RKC7?)^nR}6HlqHmvm$eoS(R1ImddO z7v;mWZr_J+i$dm(12IWA;;3kcA{HXKEbASnQl~2)`U8wTOG5ZV-o2eyzJ+db^wqpq zW7?}V^~#3nF7_`R14gUAdz_`5-i&{R4y4eTaC+_YxOGglQ#xf)Z2|dM5?iW`LM;q$ zjKE=Xo8hnWT4tEPHH%j7M*ZmZD18Z0izGNmy+h_y=A+v@)!D2*W>LbiHB7^DEbTbt zcU1D@()uvv>1>E1!Q12YjK^!Pr}hzw{(Nn?>Lf__n^Sd#2a^%K`fab$PhWo@M`;Ck zhU(|8Q#g=X^xIHRX~{g7#er6(rBr)aTX_LfqJqT63u`$g7_g&w%zgJwER`L zZ^WZFFCJHBK)E0zGaPwz9S< z2)Z}Sr4rNSQYR>_M_=7FeG|wKw$PojsZq&I5pyJ~i5EN6T*W^<7VCaw4wS!Wt$Lkk z{>|B_#ur%fKq~$X`W^CJebn6jl3tsmj6D+%?X#cfa-{7jI$}t!vJ!v6y&Y9y_>DI` zi%N774MExJ8!6khw2`beK)sp%h@6&E6WOTLuERmN)9M~tz^*tVZ;^SC=mrgZ>{*pU zx*Nv0&}a_04ehH#4&1S&R4*+pth*Ow{|okBt*Z<1otkdGPSym0!+Jq&-*?OXhpeyC z%Wt4IUL87BoqJ|VDV%?g$Yc}`SIY#hl%SlQ>5=BbMVmbSu|!lXsjkJ{nIULuYQ>?D zC(4m)H^ft#(;EbJHmv~2Psp^s5SrKY!X(m_-fCVyg92F&;&a5$BgrBIOrZAN5K-#y z8OYK#7szBdp&VyX8cE}^P(?@;`||jgk)T|W%i*NNH-~NZQPO|y4Xy=Bn2dzCHRWL~ zkB&guwC-{GWp*A^HXx$($no8PpoO=RIL_1_mXu9&-abZL6p*l`WzctNj$>Z7r@xDkH@{Y1x{U;U${nu3vTQPKQa>?NBJWm4XxdxIs+=R7g2fpNf=QjIGY zFR(zeq5r}SmsVTHz#DsV^>cyKIPmn*?6+Lq`er_N?iFsMy<0ohp}Xe#CfoD}rQM`6 z^YmMwyS`!2@dvfBZS1pH8oG4DAls26epR7hyC;6^gWP|Iy8{U_rmzznk11BX*G$W1d80uW7rS*^$UGw4&DbkRyxndFVeVZGPP3E>*@~I#Q6AY zS#ui$efkVq=`kbd*I#vRJJ$gUFA6T66B5hm|m<=o&C z;w|2~Q{#V7AEC6rIL>VAu`HCVULM=Pin_^NvRF)zA#@L~6bTh&#xLUSfgL>_%x|EL zmM2S)Hba+NFOoZXHHmA|@>wMU zJ9SH2AmpB3-*HaQe(psjm9*8SnI$!r1%WezFBPbc>X>HYDGB{Dk-6 z-SdA@6+)ZA@;!iVN2eiPP9HXS&N2GYc@;EuqF|RE{o;RP8qs)d!XjrPd5_}7<*~6`MEbhF9~3wo+X|Ng zI};KEFfuilp`8*Gw_S=8ehC9GGB=l@oe~tc@{<#l6$3CbIhUcG5)`+dsS{{K128i& zm!X{!6t^Aj6WvY&Ff%ikp`8*G5;in93NK7$ZfA68G9WQEF)=uo;iVB21u-=_H#C<) z$pI&St+!)%WnH%>9NTtwY};1Fwz(^|U9oK&6|-VhY}*x^6?UHY?bD~P^L_oN`~2AZ zT65fUXx?LtwI&6Lk}89UnZ1d*q`jRB0}CTFFF*lkYvSsxVsEQp&m+g6Vs7aw<6>+B z_`*2gC@937%#B@u_IBdNF6O)dO>;AVxVb5RfRz=%!o$M@M*$GCckpxqT3WdPsMS?8 zY3S(a|5NhM7J!N8e;{9)&Ol2$0Oi+%o4Jj>gRQxp%a@7&YeiLabAXGLIluyFV-65g zRMM7FkOELkDX0Ua%>UL)4PBuV0^DmPBb-rIp%*_7zDx)|G; zeU;w-5`X*yo4PtVeKG#8Y4DZ#f2{x21m@-*=B99~OZKLGKfb4DWw_K~=lz}#*X{3R z0skH1P}ZncTo_Pe-{YSizQa>x^i~_f*fhoa(eAl;>hON>jrMS)7t4mKC)ND2fWViG zrmqlnld^-0?l6eSpbRnNOf%a1YC&!rLWh%C<9~2>LRrP2^bLw|s)Nl5=IV(ifXuBh z0E7I|0m;uatsxGx6Qv0Rt*+?wj56u?>5*!1bolpB&kbbX0X|)B94rN&F}7dIDM_-6 zr;*crqv;3aiyN0KygQ;ddd9meS)d(hy1iJv*W6#$0P2piyWlB3(KP4ARjVduudCnp zR)1mwWPmV&khe@OpFqhvvRKp5+iR4Ae!d4}W`dM0x^L>4U2a+d4~;9Sh(3}`)NGmO zG9I_a`I^RB>{hLOl55l|>x5bGs*j?s$}PwKco>NVIm<2+zYAu1Vu))SWcwOR>?EiX zj$ad@3P-oG+>fP8edLGLCSll6ZGKRod4DD3y_}Ffo;!)E)Tml837*!k7c!SteP4~f z^?GZt;*$28Qo-m(FF>F3H5ins2K5=fVR~w1X{jj`H@WLM65Hy+smNX9oC*2K33i#3 z%TFu(nxcGvcmkmr8*^P#x(kc42+&LLmZ+P#m#fSWEPZ3dJ{4;dG^uLD#%`Qm4u76g z3x$!ZBrv0uPs5G3icm)MGaC5?FWtTXMmql;6t8#$BdWw7OScsVlYJXb+k2AmZ`_jj zyC5%YA$}cBkEx#tl8nOH4}MME4M$KDjNKeW0dV-p+?w)m(#y1!U!Pq}Dh#~+cQRC| zL^xRpSp1v@9U>s%Cpx-wAb;oq7o_0s|x!(8*-+mN+{%)g}9^Izxfs4 z*dXOo#hexp(;eFWY^oFM@gQ!-#FHma=qX&_fnkh(%Gc}s!NXg@LmIf8x6ys?^G1F>rzTuBDqA5MMV9{K{SzIq6S40Ts6uE`Ws^Ll82{ z^R#OEocpb64&T6vr2c}N6f4K&dK;RrgMvDJe=vNf+W9LW!jS@p3hpmxkD)bifYR)k zh$Fe0_rX0^5Z0KaWoQ@dMSo`l1jhNh%{B)eINZ)RG=ILmbwI{3XYF7m__1~6maQKHfbc!iW>5+K`R(2eo^bm5r z{*yL;H~ptXc;V@v+<#S4Ln6}Ns$Ms&exKE?S0q z@5b%P*`6PAA-(Y&*#)Wx2|72Bm~W44$K6T3*Z%bWrhA748HpG>cixID{!S^@rp<6V z0|fWnRQD**V38e;EK@qcudQ*3_FtI@u9Wl1HZH-EIbz4!HGi1ex;;U5WO!EPqq7yQ zDU5`9E}&O1ZhWxw(4|kYI&>&M(Uv3TS)NvVK3no4W3^e?VFd?(F`gbo07V1_2fGE+R#I7W#qM3B=~AqZ!a-e@ zp?O_5$Wtk$q?)^k%4TGg8@Izz3i?rm)+q5_E1s`=x+6c;v>exvs$$;$3k<45!e*X< zTD79KnqbZUfepfofxqDf;k4(^3{t=}8$AJ=*!gN+HRey=kEZo5Z`ARb=Ayuati$|xM z*E2Fpc!@Su!vPEfQT)e^E0LeDkfExLL4*rm@?VqwNE9gBamD!ZczugNFAb&d5H{}I zBb+M|Yk!)w$LJvqXb+N%h-#cXLq1OwsH6fLZ`J|YfrOrQuu5z!VnoK-7W0bSPW$A# zlTKX_!bw7$y{kV$C5=0cG5&b%k`f@RFBHOO`YlX~Iy1wf5P)4-Wydf!F6F(+{i6Sq zS}lL`aY*@BpuZ)VB=k@#S%!?$kA$K6y?`3J!SdM6Fj{?lsf$jrLtKp4S00YS zi+`bN%UZe6D1b)X^egc91cTxfWJ&V|oba;JA>FMHEr(E_H*b^jH(?u+;S!BWq!aUztC#H&;x5%#cp(H9Y?A3~ln)T({e9T&?Lxw@yB^y-6riM~NI|Fv)`B z&R~RC=F2=(bwESfex+dUb;7>SK>ddegrXaz?g(^Y{}O1B{_y_aj?Mf8Ds^IS=YJ(g zH;o{Z2I?$o|2E0;L@LRV!%M-!4OPnwkts(yndLtHA63d`Bxw1&un6}OBD8M^J2gGE z5jE?0j57#a4D4I1j%6r%D9zl>=g{K8&rT^A!Zs#PD9}wF7BMy>2Y`Q zKR!^gQ%H8BhNsysbKBAd;vu)!hkwu4JcU%fTCm8oz_l)Ses(8_X^r3~Y)&B*9roLl zQqmGqGb84HC;x$-BK>H5rFZB;F;_!FsJYtrz?jwWf@*3hUd{VbdB}5eA4gB}+!PG$ ziX!g&Q5{>HN#AGgiWuKW%Zzj}{%R_te0n0fu!IieCj=ydq*eMOROV%{;D3AQ>3B8^ z6iz4FqO^WjK9ju2?f2v1Z8>rIE~ZO}vGW3he%yL6Zf8Ol`5QhoyB?Zb0}5pmvuB8_ zOoMB28dlEF4`{SGB7d}sHq`StftF$COrPv&d7jyv1Y2*F zDcd4NpK!5(X9cdI%(mZBtbbl)nnm1r0K{$M-#kWCE80-<75n_Dr*5=6ZC_g!*aTb28A5InP?>%hXM>@Svc)Y32*82s2K78nq@0I%d zwx}O`DKT9Z?Bs{m9|@+dXE2_{bD8Wg$_WmfJx@k3!|@PGd32WE7zL0gBE z?hY2&D(}Z^`c``j4c)Wk?}cJc=iJcJ61H^cZx zS1NgoDD^3O4XVn1$YK3uQS)~zj6>+Z)j6z*TzAcOP?7ceyDcJEd87o+ypPfixKW`F z*?w`Pe}5mLS`h^@@qZ*X*(49cxGn~5X&Q)r&n@41lC-3$d|dUudKB$49iE@&54J4r z!w(qQr8CK_Wc&=pu@MeUpof*kx;6f-TRXIkN46S{>FrvMQtgh!ay9hYBEg*AO%utJ zv5IRZH)5lUxS1cd;>Os)k$>q((;*--l0dCrJ7c)l zQqcjrTydc1-E}rw@?NP3iS19|6MN{b7ssFpf+Fi3POb=#>}ri3Q{kqO z*un7H@LUCf$A6Noi+RJw5FU|AqT{zX86s-vw4o@l{o!aB^s?c(O8L|Gu$?x<=y}4t zWz^4q(p}5-v;nw44QjL~R`c587;noIW2_rG9;0xejy+YsTtfT+t}` z*85<2<>;9&mIjpw@XJkf;A+6zx@64ye7CWI+%uHS@0;xp6U(MKi<>OIX5|4TO$8OL zT`Os`+JE}4M;BXUmE&5jQ7^A408kv>B1??d3h{tQq+YBeH5}xe%of}hn4O>3;kUXe z*3~J`2%F;KiBYX`em`q$Uls&>w4B%-q3rPPYx$S~ObPyOo86%R7~uKCy8|6;?IL}8 zG(Z@OWC9l*M|ecj-U5XW1(@MlX=2KW-#^3*MSozX2alV^b8xXolPNqI+$jv0j=p(Y z)1B_BB4A=I8jL=QeFb_bJJ0?HM@Y8Az?b_p7|Rr+?%yfvN^s21 za?8^l&aa$hzO#z4FSX*IOpQq$#J*Dcy|=*Y|kRkl$ z^nYvHL$9{2@7S?~a`>JLwib^f)p>Wm%lU?LeTqeu*bgt?jy4uc_}#p*jrW3S){2vW z4Npl&-oh5IE!aP7onk6b(l|1}-8Q17aHfnH!7A(-W%JovI(%q7oON`@#3bO6%?vh- z1u4d^^gL!2wHa-k;QB(oz&D@$B3(O7t$!7IM$h_aKQ`x}D(4WXXuHpbVpSQ~j^AB} zVRduUMD`#N*X+7ESa@7Gg@P#fB*XndK21HfX_L6ZbC4GLKdwxjWTvD?!5ShOV6{5G zPZ2C06^fH;iwWq`Hi|?QGlicI`xoCSkKyu|i?GoGCKS7a?;~yOYt32b>16$ow12!w zq@^$xEfOoBskSLYlFU5`_|9DC&?;|7hmxb3LcoL^VALoxqRrG%KP@TYB?RDZ)|;im>==glo~GxDyEZ1?=R0+mPkJb+(Nnd|bG zK9#;i12@;z$woEE*P+tL8;5L`xmfkhGpisNc2q-#q9qrbYM5xiSlLny% z_#1-|C>I!`EY|qw#0dqtcN4+4aYZN>G(R9!bIZ$E$E;L+R;LlDDfz8C%YWoccd|W| zTNni~^CP9mlYTQ_=yz@CvD<`V|Dh_hhl_Ya`XkI%^UEf`N|m8XBobB4rwykVO8!g^ zk1I%hIe34R3vnOODy+K=W-T5vUR%#k+|5;4g9n~rn)O`Lds|DNovPm=QBerxb+GcT z(p_+hXOjvuIIug@O;M|d%YR$Bbx11|u=`HAVR1Odj+6CX6vQZOwSfi77SL^p`9dv+ zLYOQZC@gh~eUSfCWnKM~v;VaYC5I5TskRAghG%pGMbP?I# zR0>wBDT6jUNU%G5)`h~9aSAcdIEqqqX=DS-N{!*QN*vB+9`hD zH5<#Lv@)0H7X3=_C!;0!q(EqN_v!Bw189Y!Yg4eiWKDd}j(?n{<~XhE$2}T<4=hBG zOFlZv;W;83$poOQ$;_n5aAZ0_q7B6c-xCnEYeJShd#mu$bA>i=zgwaO{z3xR?*1JX z5(bXyGGu`YmPKZ-UTfdES{s7D5CG1!Ko3h$7@QtQ>m_a_0KM;j6|@^WPce|bBlDI* ztWSC}kc?@!rOp z`)X}`^UG$Y*OV9sKP&)c85URE>Rkm)v{@|6M9sZ|$sD6C-8A+|H&MzDmF)W(pr@Pk zg)2l0)XWv@TZybkHqmSn>b+PNY8Y5Az9EKs2f{-#i+^cTzTCBA@gyvQV9&ajw#SIEHS|sgdZEp^EL%cRcM2PP~dT_y`|{8OJEHk|a~C$@m%o zY2#;}Xu^f_GjK^nwN4_r&i-1`$rI1i(OD(qZf38&-k%F&YFtn&zkEGfLDh)BN z?OukTKS~d%cVUU)JS7fsSRZ zE4M*i_`I4|m;q36_~_B^*|aafJXHiMvl>nLK*YVG|KJ5f4T&f}#m&iv!Y~?YRewkJ zo4&{3uALet-9mG`>b?$huVRAHsnXX*b8U(jp|khC-7fMOi($ z;MqNF@SVA|+Mqrc1OwSO?ym^TFY3vo9_yO2u_N``>7l1hMF|dC*n(x5YEM!Bak}Y{ zL3*Nol37@?U%rVdov$n!@_Ga!7(F=kFc>@bYkF%!YaPxK5S-&#A%jin!+$rl$a=#X ziNFvmecrx+1Sh)?vG_(_1tJJ~hv69tBd!GA7-xnnlVw$;Jq07|N*bco$D9TC%L2Ft zDsNmPk@%h&!|NhoAo2{gg5#RwZfZw)D`6nG>Uup-eETrI5n7%w?NK&|50(Cf{c1rJSMPbGZX+N9cOo!kan+970pb%J6>hnKcL+>vCnV zhp1SABP9Nvc5KD}om7tBxeMRh%VU+=^&U+1i5&)SY$P|XBm2?MCV$;^b3$#PAk+(4 zrmHE!#71eMYlWB|PSZ5)=fXRvJFh|40Q$jgU(dL5F9@7pLRG0QIU`Rx#d)~gTP@x_ zEB@=1+xFo?);&7O>46;x+uu22YMxR@|E68b78rE1xjJz>Ovntq;86t!T+&K@;aZ3L z&bHR6Y)qVF5asxDz<>LhvkRzuZj2GJ!7=YRhzQ%ZQQj;s4`VrE3pL5L&XH&ul+E?z z>Vs(7mNevd{p#9wtT~>dvLrBZ3FwDymNB^d`LpgB!o8Qt{fGP@wRs(DOjbOCBZXL0 z&wjJaDq+!9FI)}s)VP9V%#}(}*E@{}&#KwZQRvXvXnk~-p?|*{%v>@310v7q5DPdQ z`Kk*B(Ve<|Y3@aLabv{_Ad%OY&<}1Rb+u2}VoKx4krK@cjE*L7!}1Vr$4Szx2$)YQ zF$I$4vX#OqC&3&<1MZyBHG+9Ku#iZSN z4njtxg!erwD`rn63`OTRoI~WFJm$LPdnNn1d>Dr6YUkGOl1B+cu)Fd6CTE50*8`yH zO;P=Xv?K!tv2**!KIN)ojwVr`Kj;4%hL5YU$b%_jQ{Jvo@caPU)k-VHpE@BaL{lqBdACtTDX-o~uS(o4jww$dz)I6>!vH$%0s z*=|cgJb$nBaol4TVgDsvhgZ9IQamE^5ckT8O2@LVn#tr+|9XqS5h51u9eeUKnKY~P z7x?3xKuI1|IV0)orBJqSz`|evNqO^0(oFlC6h)07Xk|5{-e=#jX&$RXStNwni=TfE z4H?S&wXAbfR1x&Ynb%HM!;T%o4Pj#R1 z-LvdfNRTp5VNskIWVc$evzs~9bl=5vDu2Jmk3Z6NBl8aB$Cg-D~ zb|on4Xc7HJvw3A%z4{<(0f_q&Zk{x4#*6|!0T?|XZXipV%hDrQ+z65oJYs)JSeb?} zj2%46jcJ1b-<-AP3vyC{$@0imOXaCY=M4u42$qi;Yy44ZQRAGF-5s>UM8RAcVt;(u zlX@3@9Dg@{p!*ftpFsm+`nIVMk^2by|I+O{A(Kq>)4Mx^82W*l&=&tnW%mYppD2Sz zou>#zmx8V3R}Gz&y+_?5V&ZOQvm*lQ2qIn%H}-W(X=8M?g>~K^LWuo_J8}0N3-0C9 zVub5cAvPX>jLqT-Tl&X}(*lhoAAf>u@lj%eZe5ojVze@%HPm5~;8&al9g87~>5_3Y z7u(7gZn`{j(1_tN=S#t7vCZ0R=g2$@cm7}O zJ2#}Yzev=EDUtH>!u^D9V&~B04b*az*6gA@mf(g5W4vK&+f|(ADel0DqW1(sgb@^4 zd|wB0i(op|jqva|%KB;=ChjW6ClWDr4S=?Jh+p6MVIBl*Empd^$baUwZAwIiGLlJr zK)8h`t4+06v|>OJV&~RAy3Dn$>@DRm?k@y&mTez={=)gP5I&?FX|yJa9FX7m9@vLJD)0>0Kqz7DN?QrZTL$64YYShY;aaTIj#Oi@kK& zLX{azy^JC(<6TtfIe(o#CVwTaWH+C7>DhM(2`mxT^4gM~9a(nH(Xct*L+3oeN#*!1 zFa%#Bj8yh%dK9wpc#AIG?MDpZ;gbLMW<+TLxFXSuACBitx%ko8`#G9QrzVfO9T6sC zbi=s*$mD>L2-I>unBgVkg;0pBIUyp54E1B6rC9IGB>3D+<$v-ECQ@8k=GH?sAkBM; z^i;G&rNO{W-7kuGsM$w7YOJ$76Z0_!t<{yH@9jT94Ey_&V0+1`(^H4)Zz{2Odm4PXNN|cQT@uy0vUNf- zlxCJU`Cp(f>3@iNI;d6a8|}D7-GRsoua!@K4$G(*A(hcx1wi1@E24YZaxtVS+^mOZ z!on-#N{S+By)S%D@EU{RtpJudSlcGzeY$h{%G3gw0%0MWcuTBBFkuY*+2JlZTVo#B zHFPvAM0M_ z4`rj)F@NH#-9CTpteKuRZCOMP1T}M+_hpIVtO@+UN8tL{p+oCJ2fZPWP`TvNVjc3& zop@a7BYG=|navlP3S-?;BQl5-c?;WpD;Y`RRImN(Fgdkv_wrNBHKpd`_%>W&K9Yb0 zK4&{Ecpy#dcB?sz5wropfPeS^Nq4j1d86Dvc` z4SW}yv?5_X)xPAck~R^@TcLGFPNKuS2GJFdJ!dVZ=M!B9;*z!-o9v$-So?0Yo2ObN zOn-(J(|pd+_n`Iqh*D?_AC%?mlgnI6C4HaP?9=^VZPZk0-F*pW%Jc!VzmJ3H;?#x? z0<-k?l&7}y@uIdksSMoag?&uQiEDd1x>cb*NUhOw#IEYcuzta#`OPB&8E!|NKDw>q`hreMR zT*NG#Y1~am^PcH78R1kRjlLT zgE=t@2_VqB&6j!|x{#7z_j6+}?8P?)mO~H7;J^xNPlc;vb zogk}1N0~QAcZKr(&pB+1bO5sh(m7$n#;lC5wIRmE1PZtcIpQQWPLrbYb%&C}ftT9c zcLD%)K#ITikUdkd0)_o-Q%u!L((Hflr_mU7XMU4bM7B2ryYHf4WEuydz#t3kAU9%hewGOqW6@P+I{a44vBxHhh_4f`d_& zJO%Hdmx@G{$qCJh$A7Cs!i`XH7)n^YI53h*_|#`N{}HRXeGHm;xX62MTK;f^e#!3<6-1%)O z8=~kV%kvGF(IP2DgW#YW3TjW+-5(OPWCvn|YO~l3*)dB}0iLDQwlD&@u>}M=6Szg} zT!@bz0m94flZ6*clHPyXo&whmH*xh#faWu5LFuapwtnf56F2=@<-Aae`r~W`T|Mxi zhK-0%+L@8|&=&u>I6t1BTzrkPUXQ_XZnM8CKPlXiB~QH`{VwQE<`GOt|EWZIyf{PDFnIz)@m@3 zpTBpRW7+Qv5zU=+CRTpfxY`SQbJTo&wSseZW()^CBPj?o&Xk6cA0{4QPrpsUBas#R z!^x!;!Wa_Of-m7^Pzw|Vxk&12g0!?EvFOYA>-zYKi=HiIY>Tf;KNSxXj(} zS3B?P8K}<&F74@s$T@Q}l;Vk?U}7_1j}|A^GfXs@lQ(}GrVZ~iMPMmZWd!e^Q69Sf z-rZYz`piG-eO&a`kN?rdBNJ3kYz<+qrQRt5C`A{iexmIn`N$@nSLmYSkH4Z0`?ZvP zQtc%Qn>luoNpi+EWqq6@{1dUs8RLX!aG0tm^81?3^w$Myxxj}(&WS_yG4G(|6Fw)m$OYA$$b9}*s&hS3Iay8>m2#p;F zNNfk5(ShQLfJAzlUo+cm*qX)bo!-pRiR<4e5S-xZvMWa?ohq3R5E9XtoyiWOsCC{( z`I4xC5Cj{a{`IcWJ~~evrZB5;P&fEgbS5suyyAWxnsGSZm^nBdUc=et!oc7Il{0^k zRkJx4?|oW5lPN+OfFMwK{}>a$Ux8&ni5w8_(jukn06qVi#vf^t@N!+e6n*cVrofG~ zhgjAbr(MVgDUkaj5tM^3_)f5AOweTg+N%1E=CyV3hxE{Zq)OB%OrNb#hDEeavDg+M zES)R=Xv);x4vJTEvW$^3{*mj)rI&wykv457TX>|2VFV<#gOg6wCibkfOTMa(c1HE2 zCTp`JF&U>1D)pqqhw(h9uoWt;m=1=SW}PMa_V8=;;V--fj$Pb}%esqqMp$e$KFK~y z%g)`q8&(?S!Y7{LG_b5ngyqq{tAmkKQj{MGEg=|rPz^lq!XMAPl|}cDk+FZ&Z5V_{ z4*eTcAH{k{FOoA{;zrG+FJ&GnoU3RXnA|lTvuv8UFNv~tLU7*#G?&4bXTpN)AoZN5 z4XdK8o&`TGw#4G!vtyhvocfAZI3at)(`3X=C0-P$1sj*Wtb7o(K~)bLU6gBc6P4zJ zLwlK%88}6PF2-!77EV|07fOGzHS9>8F2Y%kpXlG*BZL(8=2RF; zB^XP1(w;y$C5*oQ$#Pep;yaDp_6UR0Rgiqv005@)DxUiN_0-p#t$KQV+6n4JCK`vr zhPi2~H930nRk%0%`fl12joZ${#yxV6Pf*Pj9rw1+)MW2dlmUMwywl~UUz>u{ta`kq zXZQ{fG=u0PAL#ZV(`8dwubTS-&W1$OWGsX32Zlg=7b6D-zrQC{8rZ8+x3reuhV2Xn zwZITG2gYzKBh!Ha=}mF45Lv+jl3gh7;mH;+p6hSRG(?@c`x-+7M1Dvg{yUjY!u2+j^m^%OZ59mz2uBVhy(f zXd=p7rgf!UThg*V+A(>C(Ct{}hBRP;O!A%ueTia@(A{~{u{P}+)8Bn-om!T<_>2fo zru3aXVH+TKb73ynD=rha^*s113NCc5IkR62OAj%0Plq8Z3GaTyZKRPY%bP`Sh>?#{SO&T7)h^S|Nqj#!dekyCpdmPVR=w9fvVGE5e7aqz{^EI@+zzF4uTWiBPO0%ZgFyDooT*PUL zFYgtB{S5i|#GM;2_;}SxTw_S86W3D)`z`MkHCL25i;-uGBCXq*cXYsdVEKBoW9%JH zdLe)N_qu{lx^AjtCfEOEH6C5h>e;}E;z^JiS=1}!4^IOsDsq`g#loXO0#!DDJ>NM? zajTpc?n(8j(Ixeo)@*1zJ1aF-0cGn0$7g9QS`>D{V4IG@ni;F0WA9QM3ZG#6i8B>X z$2pPimGBAH`dn-I4gp{(eIKM&}232maUqsU6F96wuG@?GLpj|dDw8vXS;?ICm<+xKgCV(M$IcG{qAHtlDuhTUCXB;P5}|)4 zfo3u(Oz`l%?^;lMSq|EKkzbpN|`NOU27hy;#9f?A| z1}XbIN-WeW?bL!QZ7w!)QT@!yC9#iRHQ3C$rr!dh%IQdFNFlu4u&>}$tU~OnS6U?j zqB0ywd6&TRF$KP!ckz(mn(I)%%B{&^L@o2rr@1=~^h0C_+)9h|JXC8E~?DUihMhe8IY9WR@`0ho64b4 z7|9K*`5Cm1HjcIMq*4f2LhFv5i9MGVp=A8zmblLr&~j+tGJe+%IJK2WHL*1b%z})z zsIxdkzDWC8j}Oo3J?AtgGXsCJ;ooK7J9EZc7DTOoclnu%IZJ{3XWn&A!iCSRcY`NJA7gQp7f z`-@K8g$uX^I<4|FvsDhx)-uB)6%Cu^H_`JH`vP0 zXEX&8P0hMQQDfVwk?McMg?O9~*mhi}6!xXipn>vHAHk8*);}gdEiIM+E0rU9zx;}k zIT=jX4`7#=KgHAt6Pq)8qMj-$d|1J-EUk^$&x$qlNV~Fzb$o z2!#3wo01rPw{_3Gz#E50Y%p7z<)srD)evK_f8NBU@rn+A|JHw#Jhq93$#>j^pvwuh zCu&xba>U?F%Xk{Zs!w?fHb0v~;W;-g5kkW&5$ZD@tFZlBRyF91YNkf%{@Zg|d}oyr z#sEYtg?Mauk=5EzGecun@`D@NYG@$V56!*}>9*)4itOq0pdxkLN)D8#I~#4e55Y}# z96V}OpHVL{ragbA;}7r!YM(3$PztCJv;fZI;GxJ@ynffHKfi0UE*N^UQ(`?KX>8~A zqp#7h5nAiLLg3n~(vOx{Ge#B@wZB#JUMQkk3qC`Wtc?Qo(kk4II(jWi3B!`K`*4Nq zTwX+1_Sd7aR^^MYgy=+mo>MnsT3vZEz zHDym+LeoPK2fsJ_uAAC6KrmexT z&JhHb*{257l%?QGGZ)Nmhy83yeO5Xj;R5X&Si?y(Eoi-aNbxZCzAF}X!|Z~kUN3mjC6sb;RFO1lZP-+?Y# z6B0CDY6#xL->&N%GM&1IwhW09nr_7X+usJz%Fp9NAXbc!-eC^}o<4MIxfhcLDp)-* zOBv0o?Ga=;d(V$r1ZdFjdDAlE4q_#vs_}p9>t3qX_f}cg9@}oH5th{>dgB@bS#~os zBItvTvmj)fSM~0H(a<$V%GQCA=h(ZJTD7}Jd^}NWPtB$m3rKZR7-5l&N3%3eumB_L zDn%D;%>`34Z=-(AmOoVpQV-1uV@8E4=mbwPqs;b+Ow?Z9d3SF)hXmJCtm7Ro+rocf zYGTNNAF|~SI&^eO;2_4`i2e|->WHV|j<+s^!;RIFhVLE_k*rt-5v3|L#5T-lKeuH=ZKA(T&LB}cCBAVq69ypb{Nj}M1@4^71KY@geLqFbX zb}(>l;q@0&e=1(R==52h1!9b0T_6EHRFx_M@=Rj0Nm>0*;4N9_am_)bA+z>&V^i|U zw;D^`zb8+$VrvNk9e&9$$dO$6~2X!0Bu-1I;Vdq|(KON`m51D_@$Mscz z|Kj<}`XuBTF@M0YGP;?C2XjleP?!umE`mvHJf7CY#U2x!U4r`Cw1yX$z>LTUM)AJc zGrpjGL9D(ADlX#_-tG58z3HJ4`-O)!E-OwR3(L`~W^Xa#KyP{2vPECKiEe$c8g%5N zf{Xw@zu@Q_p>(#LtB_9#E9QUFO@4MBlRBkRmOa}pZ^O(|9@fxc!#C>oBgEr$eZDH{ znddFTm64A!Cq;O>z`*(zJ~-US#XRwcUu`G`-&(emHwijaFbwD1!M*g^VWa5_dOqxhXjJT zSFp6uy7w{JXP6c9`6i5)&=@i$6EmozS{3^(NAxSR*BXreqT@cCOCAA@7=IQ?#s;bK zQ3ro^gRN|9;mj74q9EF8;WINKW8a|Ma^ij&0C4DxN@ljP=4HX<^r(nx#S`2jJ@dBk zerv-B>x`**2+u&#)~bK*kb6V)d5f0Rb@N_|-$fE}Ivs8vdb3Am&)aqSmI>m4tfCq22dgB*A~a^%=Md{u zxj4=ac^|9Ez*{ZzOX1YmT;w_Qo>(WV!|XDR?R>v6lyOJHBvF6KR%FP>P}U>3ZziX} z8-9<~nVFHPR~2ey_#dtVT)c^lS31i&Qat((V2w;vnj|iWsdCGxs7v{i{A^+II7CcC z@W6JA%M!tNOmVzLjcO#!F%jq(0~HwPp$ML)G*(#$e;()n$4c zf6{UNBtJ|K+mL^8(Im=kX5a%|S=b3TQ2TaMjXL^RdIQ2^^2nW9)Pm}G)1Z_g16SUp zq_#>BQcwmE*I;2C{{9qj&e6uN{-8ulQF}VxK2ym%-F2%x~JbEjX+d=M4wnR|R zXwjF<)2Nv~p}g@fKW^GjQC02xlTkFZ#&xBi}Ap^xv2BBr>LKruj;w$o|SX_ItIQCujon&{SBZMn<*`g;x+nUa^-X)t%2 z=}4j^iszi?tfU-KW^I;dlrxbDibt6lmQgEhMj3~ORvF_4ub4~-4GkqTX>x3+OjGQm zbY_HWm<%4+g9bcKb9_ugPliKVjpKi7HzrV!xxyBlDvqOSkx`AEt;WZ4#|(B63|p>? z#g@rf&hkBIS!gNj2Qo04Lq9>Wg{%ndM-2=rfIG%OE-D#=7H~}^7a&y*gG#*1h2vDB zq}CH+!cvd} zB}cBT%`+*e02-ENQd#V0c_zL1R%A*#{H@HC<*o&AE0oe&z?(|M)SApFWFrSAje#4` zVwt7LWDaZq{&Wvoz%HOB@gj_$3(yG5DF~J$X=uW@xy|t@3hV*8I4DX8QQs7(XsLi2>WzOHM-9|Kc`gCQoTHs_A+U)$H4M4ss3Ld_g+UD(>#%c5 z0_n6C>k z?lzha2A}qR`)z$ku6uuQaf^;Q?SXvlj!%Bn&(7k*5K5H|A3i0D%uD9(z2&M_x_G*XL!Oeay(K@wo1OxHgJ9RoIR=`%$F+ri2M+%8j654( zj5E;fza{`)Pln^a*R z5C~8KW)g7m9z=3r2BHyUKVeu8^6PpgG<|R&PzeT8R{(!Pa1Ow1P=;m?#{-lPy&OUl zH?jwInQ;pMKuN-_?m;Tuz=V20CYT2E%fK3X5`f?$?@3S!SG31A=)&X=$%5@^NN}8T z@KL}40|it^P^0#!RvVajK!e~yfq_9SsUSc=ktZz#D~MGR;n=`J%Q;y8F#}Xk#DutoG|6$SV{x;Rxg6A_CCEBlgc9;Gcq|fHOcp71oX}%7m*7=|*ur zhbw;($YeZ<+%tlLMqzLO$E?a10)~y^;sQSC8vr3rR8c&H7)N#LQ2u&sB-Z_9hi z9HZf2D3sH250hKmltM%{?~QRZw%CXMVeE#6qv-d>VM(bw39vh0!zC*HVbfXe9NOs|7>>`hD{EbGD4vGKfYlRE9W}VhHdxvKneEY|?7}V`nUybxSYVCGQU1DWdhU;{$=Nd=E&>upQ+xs3)R4fDI zK4H>R)7JFBC2@%XOj1Ex!z^0_^Mv^gjskOEpaVt?N!jg{A4g&OwP?DK#jp!h-I!f5 z>M85uj*GBHXne@UARGYLgP9t#z+it5k=v1S5lvxq)=b!eG^{6KI_z3ud&c+R4W2`xkb-CkD2zMXlL;ljf@#ttt)ttM2G}Q9}7l#`h z1!E0gkw>HvkEv|f#w}jg;n{zde294%KaPPs;t@AT(~TvAwrQe?$T`kNQpB1>fG1Ez zv{V?x`u~&D{}KEo^x`OH}M;pz|Q`diq(jh(9;S< zRE@ghHE$x}8us=5R~aY%Y+>0r-K)eH%eKlZ2zoF!s0P}VtVt}h5lQF2oLF#-X2Zn7 z^TxUwOH$ffS+E3dViA94+`Y!?v|02EmYR;^tLtRY)I6o3?aTrXJM#?3^m_A5Xq(WE z_nT*eMZ|ku^W^xx6*4Iv@z(&I%+j4wESaY}Y2}tCf<+b^PYP_^wKe^XSZru)IhC!D zv7{LMK}|4#G~+jl!RJE1=DED}XL7`ooQ{jJ@`%#a_7>|u!k}aa! zJlD~S2O9LE{1E~0;6@HwYG_@EHnpUe#&cvI(A-ohDE9*azJhsVDpJ%Oi0QzE5sPav zaD;1N^REZ8bX%#uP9b(5^|jqfwA2(cO+3cznyS5VD{!Bt$PAnF{l#;ilGl3pKIOQa zT~Dh?J)ZjaD=&YGA>28C{o?TLn@7(_*W=M_JSghouS)D6jt70{H7IUoneg2Y-H$x> zDa-cpw>y%;Ojh9wz=PQ}{?bEfzDJIV$?s)#a|@@;>=7i1_x7old*pdt465sc(aoUD z@;!21m&3OirEHJ94-W~YVT{{iif?uPMGnXzIU>j8IXQnNFUc!%LEe)0vg%CGZc0O)_NzJU_P^C{@zW?B|N0Q7PDb8=gboLatsVg}`G=Cm`a zMkN`|hgaovR^6bs#&BUmCirV1$A@cqE+)Y1xKDp3gZYen1*J}_(G6&JRt_uA)2#dk zL}t|wG8+`LThMuZJ1t96e;+&Te3dsy`sC-sC>qq@AA7K45@n+%Gd&3Rq^s27?!gkjT@FHI~ zIlCd#qF-GXgTthay<)SDE#Nz}zLitpl+@LrUw*IpCHV$?m!tlyLQFe)=ey|r^3CDF z^8?WP>GO4Z=MWB=e?{RIgA$LoqUG_1ryhTgH&e~;Q?b(L+q(Bo7~RZyRd5pL03BK7 zF0!8gd46&B8e~0NC#uM!s1V$KLDa^`m0c_7+Q{U?&gyUhaiW8O-UWfTr!P+4egFi{ z&(}eqsD}X4h?aIe0(iOw0@@@92$3T2wIj+-dF$zu%fquH6y?L(fMv6N7q2MA#m;{u zRe@^nXSf*XwhCI^h((I&bo@OuLy8&}^{r1*#k7AlSOhHJ3f3?vhrm|!2yYzWWH`UR zbuQwsV#{3`RwKwK!}*}DCWD`3JSj(4^TD8u`3B{Lp?u!)ohQ?3SjKPz`DR!_`gg;& zl|*;SD({b89=(4LO1ijM>vCXjSSWu&>8h+s%#G5Pitw~i5!B+lJKPhf9L|%n$`@6! zr1DAnYbdOIdi~y!eW%F!{MEtXAMc#(X0_-NMaSQ;)AxA5I=saI5#Xc7QUJjOIJ+S#yj#nKyb_#{ZPo5lH zet7h<8eYw3=f&t`)7(aL6v@4O#wllFcKF8!sZe;jFgvQ(&29u;h$T5&UBEwgg*%q* zi=w>%N5t7pbirxYF4<1O=J0>w@aXg)g#l+V>tMjRW86Ddnpw#c7-$;?+J<4>G{(pT z1;$sQ;3qMEkQac&nVYo0bme+pmo6l2n2vmIPd5gOc}8$+Um#80%mL>M^%nC3wo^1a z{PXPhlV^|4>tfW0Y<2!~c(MjrgEf@p?r(^2-6(N>nRlFDw*s4418slm{^)57WRJ^1 zU65B5Bt*zum?kIFaesbYli3`=tE=&-BlJ#@?)~et)02yq(EI0uVpRVJ#aaBriqAU^ zwr^L+-;%xkBC0r91nObRk6hFARp%f`CG8PDg>WO7@P3H(2+$nHP*Q zt1jj+nZ&1mR2`Id3Zs87j!*u$I17GvHXgnl+mn6#o0&BTDFYEmgx@{b*7}NVmt{7c zNwVCojX0xln*h1g%wqrPYD1!){y+_)5Oc%NZIkG{$ua zwV~@7PkiTvx8G-VfbEoFE>AE2xO~!4@rLM%DrP3C*#DJ4Tta^{EfvdFZ9~--(N)O& zu0^7|bnK&Ux>U4I<)Log5S}6KOv_m{BmHrW6?nB+KN|K?DKJlW2Unw)Kd!+)Q;Qia zmX-=QUvE11TT|M`l-$|kdbF?Y7o%`pVhf|=JLU7Uw{H&K9T!^Mo2dS{LP?$FwbLgC5idfW%| z01P3&fCG&1PbNPyC(0nR&UP}Y8>h&4?hQQSJUBtdWn$AAw<&uoWo;bR*|x_q;FYcs zIT;*gXp&w;hp%%uXTHvmy_Y)QiuN5W9p+qKIho=Oun>Q&?g}=UVJqTI5?nINTk!?* zU*dhMmi)gYi~e7eW&fbBjB=I4Cdh?)lL3Tq7DJK`P|kfb2-;07!(S@+Ao*!Ky>qYd zwnjz%->gQzeArqtS))XlJm2wVVS^G={H?y97MZ|Rpij%OG5JF^ya@5EcPHOnP3_XBd6z!L>0_dRlml}Q4!Vn=OB}Gx2GCM~ z*`0oOeQ$~Wk^u_aV!);h@ZA~cEV3=pS9j3YDSdyoJN@oj*b)OvCTLi~fN3d!-opbn zz1m*#hb4PdGDU;6xCtLbh!Nj^iDP$w?s&bt#N(31vX;v*kvgq-5FXdApLLmIY%_o@ zbFyZMIeQNaTf3^Y#N4v4iIh2$r_AYxVQ%HB&=O}$UZ~PEz*s8^h*qq zVG!)RI#{x>C8e4)^R`gaD=HuSKFth2P&3D=YxAiYhM#6}1HY*HGyGzR|0;|K-<0vc zB0O_%)7(+`&&Npr6`D`?A|k^#Xr%VvtC4>u9KE_T<=;WWoJriDi1G_kFfaEE2Q}UY-IvSUQL6hBG2!z7#@kh9gCy410#J5_qh$9d z5xzFU-q;wcN!D*gn~HOx+AR7!@1H&OVfK;b(^VL1SQ4H7Ac*k?!GbV$XIALV~0 zju#A!(qLhf1`MHcmA^oW`iKF;2pSvV>r7O#*odUmFOiC0a-u;)lm&Z$aw|~4KS1)0 zUn0fgC!$y|bINRxljlJyP6H{<)i03ZGLYg?JRX7r<q@slwg6B;BjCP z02Gl6q2et~e}$BZ1KS{sjP@o&grFcXqEi1CX!j*0RU9u`y^Od?8_ZutcC=c!@P7f7 zj)!KK0Xq{D128iNGKvZVN#eMrd*;!RlkwmB9RcC#jaU$ZJs65s6Q7b9Lz)^B&eSDTcoyMXD?$5vU zAkVK-3@J-U6hkHoDVC6H!Y752DM+uOl02kKsD++EtrmRd&@2rHK%B6rbhEO1c;lnqW=!k>|t z`v^sY+{YCflvwD2jYz|YD5C;FIDZI~q*SGErrc0f+`u8h~+#%7d+fMeh&l z98#&EwzZHdgrx?N8!(1csWUi+tf_+lsvL40dq7R5p&sTb^Vm}`CK88en12(gK*kW{ zl(7fJL;uuPN&Q1x1BtM8altCNC z7JxSfEn(5H84Z>}FZwGP9izQc2&0LerN@Bg%Agj#m4>8ft+XB==&X#vL1Q&SBlJ~A zEoiG^qEK$ATv0Yc#sH$HDu4JpTB4vH0on`RA{IF(fzS zen(C`fiqMdpGD^9xP``NYtKSL2gm`%I%cG+6LS00bOlj-3z%Jp?Mx&9ZeDdUy0)osdrOX-*2 ziekwYi|$xQGYggyU$?~9YOu0{RaJ(XcUZ;NMIM$)RINl;^nvAdRh8{hx6y{}>aksv z?IJ$bjCLz2%5UEC%iUB`&8VGa&QUwcJV#BIlv!oS%iVA$nSUv>*KStgGwq_2DR>^6 zE0)TT>K4n$;MSE?h9p}oBTDi_Nh*r;9hR7(Pu|drvMpP-MGTfV^rGC$3+`vMcx;QZ z&D$e}?bzB=?JRSSTDGTJT~e}&!mB7=gRI2U_HKx##IyOML^gNBdG+GpCDn%(eWE!E z$eTJ+MTmCM(SPVeo<5}d#Ja^YcY|A3RN@!&U8sxR{HxpY)@`|)`DZ&R(a1n{Qj$%{ zYSG+Zc*9Y!GdHY;&8uNA&l=S{Yn(LAirF~!W#{MM(3Imw0~y2V}G3zA3D^#4rj}+CP%%T7caNU z7q442Z(huM2{s~lPR{D&yg0dq%0>gXDs^aH9D0E=f)q~>wQFAN+CmwJWzVfy-I^D- zX3zOp9huXPTVu#qPsb>nPZ4tzQs15BtiH{%lfc-vU%c8j%T5C0yX?6(t84S(+Gq5# zUwP);K!3B5Ow1D@8=JnaUht+i&Ad~}JQ(=JtAjJ`Brtw>wql{wnR#*MD|%vi4#?`v zOyoz;+@2S+dNIe12IG~}y$xf4XI+N|ivjYIQ5~C4`#myVNeQA-l+1+dST@@?PVn+hk}zX*{|;>YCl2d0xyf6;-D! z>YPbt%K4gWjaGFEZ=>(e4dZRDgQdLZw!_NBV0m?ARUxM>meHhmnq<`^M;~iOXKx;o z@_(DkMo}_NouhIndR93VJ=l9SzezPoiza81V~D(Nld2$X7cHjX`Mt>U>$WtMz3abm-cKu2&-WL-##8o2!nV+Cn zjgz;d#usn$)TkGquJ?iQ+)!zj6EzF&EuNt-H#hES4o&V<0uYSAO zts%TQBd=atHv?}E>2n;WZtXtq=QEanuBtV!&U`l%&)L*s7l*Zxce<-Xw|ebjwPzOQ zPPbdlMfc*e2F7@-XR+$Ai@{o$`@!zHtD0-}S$#%&&Z@?`^VMWnHTSGB)oSn9vgEp` zPyRFLd@bd$t#&Hg|HYAce68lkbh@7{=Sz(1c`mO1BhmNi_8?^QuJ|nV|CdIorOl59obZ8(oFgY}r;g|s^f1O<0j^s9yefL-BacTkE;+*f{b&5WH5NC61=J_ zZY#qoE-NN^#o=crDyE?rN_Zup&{k5hN>+-4UJV7xSo{!`mF^Sx0L{84nW`9ritweO zJz?<6e?W7l#xGkj>qyUm87|;Ufj}s%0VcS{A8Q3TtfMbc38pRB02LueJyi))lT=s2 zNra+IB{|pl1z@E@yUJD4)C#_IT}h|0Ofw)+JNyC`(jpcuDy1Fr&_K}<53MR)JG7>C zrMaWJrUH0WW-DzN>A6Zfi*5sghL2yYGSXrVf5R)IB_cJVGR85mVPs_-Iohbo*3`1m zmF2|E7;q^=zkr9WBCi=&S;G;ttt)FSvIO7`oef{Sa=ga&tf-vOXahRHDTXauRRM8q z52`s!z5-~hW}2!%hd?({I}Sb#!%y%$gZ@O@&{>QLa*5;cscUS(3G8L7z?8#5!X#pM zf6(__XlemEpDTx$fgs~nQ7KpxHTeicOb9dqhTv0Smjf#JG}tK&7%^F6kFr|e$Q1P_ z@QH&|)&@(#8uT+&!=Yw0>4G)saC9<2$`k`o@CnwGL?;0+_|({U4E|xtaw-LDx)xN5 zgP$814vc{{twsffV;H*wd{8k{GaSI+e`031Mr#bL8S*&;5ikr%oCKd7 zUCp3HW(CeUoB}XitO08{0j&m`@Cnwe5%dYxtQBa28=O633t-LFLf|J@a|}Bcd<&o4 z(hLS`PU7Ha0<6JkKnzfUIW5E|fBy3)pa0YiyS9R&y87Xh&%dakHhsNq`t~s3f7Bm; z?Av!3BIt+j+Ydt}H2v_GzXZ(yim4f{Z!{yrW_YF*y5c%o=Lg-d6c-{5qVFvf6InN&d{MGRSZG5U@W3%h^ zEmNWES;qCV=UJf@su?-^`)1#sf2;rd)2rj|UDKaG-R_Q$&F*DA{`fDmjja z>QCPe?fx_N0D+Z^`~w`_?YrUku<>pDW9g2uynX;TYZsaWd$1(xu!v)ke+)rEiM4f5 zAh3W11riJR683D>E9G%1tSo}oG~!e|C^1wL>R2j~L5U-F6Ygd>?myl3$II#EsT+pw zu>Bf;0883rVFHL^r37}M*tbt_kLPaaj)yb0t`hs9#yCc-o*cgJhW4{Bn|^ayuRC7X zNJ=sn3j5};xqt?W!3)l)e^7ckpHYAg6Wj!nS1>Tzo;gci5q8PB$RMenkRKJg_4)`d z0^9#0dkQ#r1`q- z`=%d(Fa*LxG72+zvz7BiUw6m8JAeX=dF96>NxtqckNeARhkkO3f7pbWziAIx4?Tb> zNGchpqX_AIb9~pJ1c}xxs&jcHJCf|^EXNS)vR0nlx6R>j`Sn-y3QlQW2NvHn9duL8 z$za%nZ`$tALf>Mba3+?Vn=SMpqv`6xzWuHNXzgy-P2DKC%}c2lg>zYkG2UF=JkPiA zPv4A?nc`tD{?MSze@`MA!TRCS{rc&5#{(!F!HdL7gsgsiZVwY=6^+ZEpW$DSV0S4I z`e@T0{x(2^V37KMT*?xrA>vHMlqM|+k1*+89zUL%^ZBnIh89+(&6{QmA!OS%2b>-A zn7XP@i^&6}&x!N^?UTqPBADc-%kbAj+iyRTiYut#0)+~$e@+z6LwouKy!%x%H0X^w z2~@v{Sh2}letO@7TYviY?RT%yGE2ct3O_dc)2=;}5(|}Hz&tJaM#shHQ!_lj`a4Zx z6^YguSI>l5ySUc+cI7IjnKXXKta>_pdL9H7!~3s9ImnusEX-mt+_YB6i`Xdu}&< zv%`UB?ztvqmNZlH&Zav7{xAF(w+j#`{I1y^y5X`Re+9QtfaH{@Ys0gWueu&*fyxTM zJ-ox3dEr~=gEQ7G(T||#YnNG%T7PfXXhCKH{LlX)xV-Ea6p6g(rTNeSaKl|ezHhn% z%5^~wxf+VgyaVw0+V^;q7DppCi{a(z*st5~k8i(x1xhSWbe`R25iw&0G{f?P*0t4$?7{!@yv47OJ0FM2Ko1wu*cm%nn8;I9y*06 zwiN9l6|!}v99IG7;xM`W*f-PEcCmZ5zxuXJrhHsc>QXpNu_o0^G@rjb9yaL1*ul@R z?|5^3-}Y0ZxXjlk)%ow!X`vI(TgcD)p=*#Yf6obU%D8wW?LgG@ua5i2?l3vajiDmL ze1c!DTjITo$(hBHHzq%N5#AxmhHyIfpe+e~r^dj(jd+ z?&o&*^eRXSOY=TYCfiEMALmnd9j-CaSv0L(PR6rg=yn56gP8jzjtFLv1-|b#80J{* z7fQ&b2=`|UPr#HcEpP$QxK6@smP$H-e{!Z?Sdw)3=fB0Brpo zTY6l7MmuOOcq*WyKp|4WxEYtJz~OK+Njaz8wyJM1aSzKHWhx-Xqf>5GYKhb7e}_#4 zIDAB{Q^9zullp~^$4aSR_;}(cifl%Fiz+wi7&>>!(6J=Qpr+$Ek=773oglkZK&Q<% z^^Bl%nem*kM8`ZVtK6a^1hqJUgCu2tJap@yo89i_0g3Xb_rAu}#-8;(F`*@}rfBBgDE zXT{Co$8NiCkdE-nRiyUZ?RGyyX8epeg|a1;DS!*VEJhlK_Wd`Y6l{@UZIc`C926X>JI|Sn3Q=e0_ZE>BFe?HEP1vTFO zxUhubm5&ZfIOda4GXnRE>?Wx^p1FQPW)whBF?9q`;kHhOB@jl8zv>xF46axrEP?rN zEDuXC#HPvkY<1Sk0|OV#N3df-jmuhy0%MmIkq({&`2}_?!NpKTwQwCYHj9ftT$Kv2 zaJh7$cQDAh$b%S!oIfQWe@k$Elu-$;aVl&FZw`dZ!%`2kQXUotQ>Q}^g3^|7oMHHM zHgpaK3FpFY6qKUWp-+XPbf(TCL%XwD0U9nsH4jI#FjN%5#r2~W5jwixkRcX{SzqWh ziHk_BSRR~yxT@vBNnC5{Xe3L@>r7;pGCCJhkmM*AQjm1B6isc3f7}_*`wnf-Y6W

PJ>AZ34n@A<c`CLU4M_;ldH2$Lvk# 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 int flags = is_enabled(f_cvc_gradient) ? colvarproxy::volmap_flag_gradients : - colvarproxy::volmap_flag_gradients; + colvarproxy::volmap_flag_null; if (atoms != NULL) { // Compute the map inside Colvars diff --git a/lib/colvars/colvargrid.cpp b/lib/colvars/colvargrid.cpp index 2074c97aca..b3768a47f6 100644 --- a/lib/colvars/colvargrid.cpp +++ b/lib/colvars/colvargrid.cpp @@ -166,6 +166,14 @@ colvar_grid_gradient::colvar_grid_gradient(std::string &filename) } is >> nd; + + if (nd > 50) { + cvm::error("Error: excessive number of dimensions in file \""+ + filename+"\". Please ensure that the file is not corrupt.\n", + INPUT_ERROR); + return; + } + mult = nd; std::vector lower_in(nd), widths_in(nd); std::vector nx_in(nd); diff --git a/lib/colvars/colvars_version.h b/lib/colvars/colvars_version.h index 7847bd4aba..dd56c39f3a 100644 --- a/lib/colvars/colvars_version.h +++ b/lib/colvars/colvars_version.h @@ -1,3 +1,3 @@ #ifndef COLVARS_VERSION -#define COLVARS_VERSION "2021-08-03" +#define COLVARS_VERSION "2021-08-06" #endif From 5861577a72529815c9a18c47a80f396f8a85b997 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 6 Aug 2021 11:32:49 -0400 Subject: [PATCH 624/726] use temporary vector container to avoid explicit delete[] --- src/modify.cpp | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/src/modify.cpp b/src/modify.cpp index c617bf1477..a498d5c909 100644 --- a/src/modify.cpp +++ b/src/modify.cpp @@ -1018,13 +1018,12 @@ void Modify::replace_fix(const std::string &oldfix, const std::string &fixcmd, int trysuffix) { auto args = utils::split_words(fixcmd); - char **newarg = new char*[args.size()]; - int i=0; + std::vector newarg(args.size()); + int i = 0; for (const auto &arg : args) { newarg[i++] = (char *)arg.c_str(); } - replace_fix(oldfix.c_str(),args.size(),newarg,trysuffix); - delete[] newarg; + replace_fix(oldfix.c_str(),args.size(),newarg.data(),trysuffix); } /* ---------------------------------------------------------------------- @@ -1279,13 +1278,12 @@ void Modify::add_compute(int narg, char **arg, int trysuffix) void Modify::add_compute(const std::string &computecmd, int trysuffix) { auto args = utils::split_words(computecmd); - char **newarg = new char*[args.size()]; + std::vectornewarg(args.size()); int i=0; for (const auto &arg : args) { newarg[i++] = (char *)arg.c_str(); } - add_compute(args.size(),newarg,trysuffix); - delete[] newarg; + add_compute(args.size(),newarg.data(),trysuffix); } From 06f6434b381a3b281604812afa9b570ad1249e8b Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 6 Aug 2021 12:00:54 -0400 Subject: [PATCH 625/726] when creating or replacing a fix or compute, return pointer to new instance --- src/modify.cpp | 25 ++++++++++++------------- src/modify.h | 12 ++++++------ 2 files changed, 18 insertions(+), 19 deletions(-) diff --git a/src/modify.cpp b/src/modify.cpp index a498d5c909..a114beb938 100644 --- a/src/modify.cpp +++ b/src/modify.cpp @@ -803,7 +803,7 @@ int Modify::min_reset_ref() add a new fix or replace one with same ID ------------------------------------------------------------------------- */ -void Modify::add_fix(int narg, char **arg, int trysuffix) +Fix *Modify::add_fix(int narg, char **arg, int trysuffix) { if (narg < 3) error->all(FLERR,"Illegal fix command"); @@ -956,13 +956,14 @@ void Modify::add_fix(int narg, char **arg, int trysuffix) if (newflag) nfix++; fmask[ifix] = fix[ifix]->setmask(); fix[ifix]->post_constructor(); + return fix[ifix]; } /* ---------------------------------------------------------------------- convenience function to allow adding a fix from a single string ------------------------------------------------------------------------- */ -void Modify::add_fix(const std::string &fixcmd, int trysuffix) +Fix *Modify::add_fix(const std::string &fixcmd, int trysuffix) { auto args = utils::split_words(fixcmd); std::vector newarg(args.size()); @@ -970,7 +971,7 @@ void Modify::add_fix(const std::string &fixcmd, int trysuffix) for (const auto &arg : args) { newarg[i++] = (char *)arg.c_str(); } - add_fix(args.size(),newarg.data(),trysuffix); + return add_fix(args.size(),newarg.data(),trysuffix); } @@ -981,8 +982,7 @@ void Modify::add_fix(const std::string &fixcmd, int trysuffix) replace it later with the desired Fix instance ------------------------------------------------------------------------- */ -void Modify::replace_fix(const char *replaceID, - int narg, char **arg, int trysuffix) +Fix *Modify::replace_fix(const char *replaceID, int narg, char **arg, int trysuffix) { int ifix = find_fix(replaceID); if (ifix < 0) error->all(FLERR,"Modify replace_fix ID could not be found"); @@ -1007,15 +1007,14 @@ void Modify::replace_fix(const char *replaceID, // invoke add_fix // it will find and overwrite the replaceID fix - add_fix(narg,arg,trysuffix); + return add_fix(narg,arg,trysuffix); } /* ---------------------------------------------------------------------- convenience function to allow replacing a fix from a single string ------------------------------------------------------------------------- */ -void Modify::replace_fix(const std::string &oldfix, - const std::string &fixcmd, int trysuffix) +Fix *Modify::replace_fix(const std::string &oldfix, const std::string &fixcmd, int trysuffix) { auto args = utils::split_words(fixcmd); std::vector newarg(args.size()); @@ -1023,7 +1022,7 @@ void Modify::replace_fix(const std::string &oldfix, for (const auto &arg : args) { newarg[i++] = (char *)arg.c_str(); } - replace_fix(oldfix.c_str(),args.size(),newarg.data(),trysuffix); + return replace_fix(oldfix.c_str(),args.size(),newarg.data(),trysuffix); } /* ---------------------------------------------------------------------- @@ -1213,7 +1212,7 @@ int Modify::check_rigid_list_overlap(int *select) add a new compute ------------------------------------------------------------------------- */ -void Modify::add_compute(int narg, char **arg, int trysuffix) +Compute *Modify::add_compute(int narg, char **arg, int trysuffix) { if (narg < 3) error->all(FLERR,"Illegal compute command"); @@ -1268,14 +1267,14 @@ void Modify::add_compute(int narg, char **arg, int trysuffix) if (compute[ncompute] == nullptr) error->all(FLERR,utils::check_packages_for_style("compute",arg[2],lmp)); - ncompute++; + return compute[ncompute++]; } /* ---------------------------------------------------------------------- convenience function to allow adding a compute from a single string ------------------------------------------------------------------------- */ -void Modify::add_compute(const std::string &computecmd, int trysuffix) +Compute *Modify::add_compute(const std::string &computecmd, int trysuffix) { auto args = utils::split_words(computecmd); std::vectornewarg(args.size()); @@ -1283,7 +1282,7 @@ void Modify::add_compute(const std::string &computecmd, int trysuffix) for (const auto &arg : args) { newarg[i++] = (char *)arg.c_str(); } - add_compute(args.size(),newarg.data(),trysuffix); + return add_compute(args.size(),newarg.data(),trysuffix); } diff --git a/src/modify.h b/src/modify.h index 5111ef43ab..9446f285e7 100644 --- a/src/modify.h +++ b/src/modify.h @@ -100,18 +100,18 @@ class Modify : protected Pointers { virtual int min_dof(); virtual int min_reset_ref(); - void add_fix(int, char **, int trysuffix = 1); - void add_fix(const std::string &, int trysuffix = 1); - void replace_fix(const char *, int, char **, int trysuffix = 1); - void replace_fix(const std::string &, const std::string &, int trysuffix = 1); + Fix *add_fix(int, char **, int trysuffix = 1); + Fix *add_fix(const std::string &, int trysuffix = 1); + Fix *replace_fix(const char *, int, char **, int trysuffix = 1); + Fix *replace_fix(const std::string &, const std::string &, int trysuffix = 1); void modify_fix(int, char **); void delete_fix(const std::string &); void delete_fix(int); int find_fix(const std::string &); int find_fix_by_style(const char *); - void add_compute(int, char **, int trysuffix = 1); - void add_compute(const std::string &, int trysuffix = 1); + Compute *add_compute(int, char **, int trysuffix = 1); + Compute *add_compute(const std::string &, int trysuffix = 1); void modify_compute(int, char **); void delete_compute(const std::string &); void delete_compute(int); From b16bca2f45d5b4de23957a30e36b8b66db7b7501 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 6 Aug 2021 12:09:06 -0400 Subject: [PATCH 626/726] simplify --- src/velocity.cpp | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/src/velocity.cpp b/src/velocity.cpp index acc374fa4a..9397e41861 100644 --- a/src/velocity.cpp +++ b/src/velocity.cpp @@ -849,15 +849,11 @@ void Velocity::options(int narg, char **arg) iarg += 2; } else if (strcmp(arg[iarg],"temp") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal velocity command"); - int icompute; - for (icompute = 0; icompute < modify->ncompute; icompute++) - if (strcmp(arg[iarg+1],modify->compute[icompute]->id) == 0) break; - if (icompute == modify->ncompute) - error->all(FLERR,"Could not find velocity temperature ID"); + int icompute = modify->find_compute(arg[iarg+1]); + if (icompute < 0) error->all(FLERR,"Could not find velocity temperature ID"); temperature = modify->compute[icompute]; if (temperature->tempflag == 0) - error->all(FLERR, - "Velocity temperature ID does not compute temperature"); + error->all(FLERR,"Velocity temperature ID does not compute temperature"); iarg += 2; } else if (strcmp(arg[iarg],"bias") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal velocity command"); From a7d05cff0932de4c04c0e0f1ddeaa667d300d61f Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 6 Aug 2021 12:12:34 -0400 Subject: [PATCH 627/726] streamline code by using changes in Modify class --- src/velocity.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/velocity.cpp b/src/velocity.cpp index 9397e41861..fa09f451df 100644 --- a/src/velocity.cpp +++ b/src/velocity.cpp @@ -187,11 +187,11 @@ void Velocity::create(double t_desired, int seed) Compute *temperature_nobias = nullptr; if (temperature == nullptr || bias_flag) { - modify->add_compute(fmt::format("velocity_temp {} temp",group->names[igroup])); + auto newcompute = modify->add_compute(fmt::format("velocity_temp {} temp",group->names[igroup])); if (temperature == nullptr) { - temperature = modify->compute[modify->ncompute-1]; + temperature = newcompute; tcreate_flag = 1; - } else temperature_nobias = modify->compute[modify->ncompute-1]; + } else temperature_nobias = newcompute; } // initialize temperature computation(s) @@ -575,8 +575,7 @@ void Velocity::scale(int /*narg*/, char **arg) int tflag = 0; if (temperature == nullptr) { - modify->add_compute(fmt::format("velocity_temp {} temp",group->names[igroup])); - temperature = modify->compute[modify->ncompute-1]; + temperature = modify->add_compute(fmt::format("velocity_temp {} temp",group->names[igroup])); tflag = 1; } From 8baaed57247d6b13f409672e1aabcf577e893fc8 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 6 Aug 2021 08:38:06 -0400 Subject: [PATCH 628/726] use const std::string & instead of const char *. avoid exception in sfree() --- src/REAXFF/reaxff_api.h | 6 +++--- src/REAXFF/reaxff_tool_box.cpp | 26 ++++++++++---------------- 2 files changed, 13 insertions(+), 19 deletions(-) diff --git a/src/REAXFF/reaxff_api.h b/src/REAXFF/reaxff_api.h index ae3b013541..540012ab8f 100644 --- a/src/REAXFF/reaxff_api.h +++ b/src/REAXFF/reaxff_api.h @@ -141,9 +141,9 @@ namespace ReaxFF // toolbox - extern void *scalloc(LAMMPS_NS::Error *, rc_bigint, rc_bigint, const char *); - extern void *smalloc(LAMMPS_NS::Error *, rc_bigint, const char *); - extern void sfree(LAMMPS_NS::Error *, void *, const char *); + extern void *scalloc(LAMMPS_NS::Error *, rc_bigint, rc_bigint, const std::string &); + extern void *smalloc(LAMMPS_NS::Error *, rc_bigint, const std::string &); + extern void sfree(LAMMPS_NS::Error *, void *, const std::string &); // torsion angles diff --git a/src/REAXFF/reaxff_tool_box.cpp b/src/REAXFF/reaxff_tool_box.cpp index 15ad4b85e3..5ea87ca769 100644 --- a/src/REAXFF/reaxff_tool_box.cpp +++ b/src/REAXFF/reaxff_tool_box.cpp @@ -36,13 +36,12 @@ namespace ReaxFF { /* safe malloc */ - void *smalloc(LAMMPS_NS::Error *error_ptr, rc_bigint n, const char *name) + void *smalloc(LAMMPS_NS::Error *error_ptr, rc_bigint n, const std::string &name) { void *ptr; if (n <= 0) { - auto errmsg = fmt::format("Trying to allocate {} bytes for array {}. " - "returning NULL.", n, name); + auto errmsg = fmt::format("Invalid size {} for array {}. Returning NULL.", n, name); if (error_ptr) error_ptr->one(FLERR,errmsg); else fputs(errmsg.c_str(),stderr); @@ -51,8 +50,7 @@ namespace ReaxFF { ptr = malloc(n); if (ptr == nullptr) { - auto errmsg = fmt::format("Failed to allocate {} bytes for array {}", - n, name); + auto errmsg = fmt::format("Failed to allocate {} bytes for array {}", n, name); if (error_ptr) error_ptr->one(FLERR,errmsg); else fputs(errmsg.c_str(),stderr); } @@ -61,21 +59,19 @@ namespace ReaxFF { } /* safe calloc */ - void *scalloc(LAMMPS_NS::Error *error_ptr, rc_bigint n, rc_bigint size, const char *name) + void *scalloc(LAMMPS_NS::Error *error_ptr, rc_bigint n, rc_bigint size, const std::string &name) { void *ptr; if (n <= 0) { - auto errmsg = fmt::format("Trying to allocate {} elements for array {}. " - "returning NULL.\n", n, name); + auto errmsg = fmt::format("Invalid size {} for array {}. Returning NULL.\n", n, name); if (error_ptr) error_ptr->one(FLERR,errmsg); else fputs(errmsg.c_str(),stderr); return nullptr; } if (size <= 0) { - auto errmsg = fmt::format("Elements size for array {} is {}. " - "returning NULL", name, size); + auto errmsg = fmt::format("Elements size for array {} is {}. Returning NULL", name, size); if (error_ptr) error_ptr->one(FLERR,errmsg); else fputs(errmsg.c_str(),stderr); return nullptr; @@ -83,8 +79,7 @@ namespace ReaxFF { ptr = calloc(n, size); if (ptr == nullptr) { - auto errmsg = fmt::format("Failed to allocate {} bytes for array {}", - n*size, name); + auto errmsg = fmt::format("Failed to allocate {} bytes for array {}", n*size, name); if (error_ptr) error_ptr->one(FLERR,errmsg); else fputs(errmsg.c_str(),stderr); } @@ -93,12 +88,11 @@ namespace ReaxFF { } /* safe free */ - void sfree(LAMMPS_NS::Error* error_ptr, void *ptr, const char *name) + void sfree(LAMMPS_NS::Error *error_ptr, void *ptr, const std::string &name) { if (ptr == nullptr) { - auto errmsg = fmt::format("Trying to free the already free()'d pointer {}", - name); - if (error_ptr) error_ptr->one(FLERR,errmsg); + auto errmsg = std::string("Trying to free the already free()'d pointer: ") + name; + if (error_ptr) error_ptr->one(FLERR, errmsg); else fputs(errmsg.c_str(),stderr); return; } From aeef6e67738fc948967c72f6bf29f086767a1a0b Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 6 Aug 2021 08:39:32 -0400 Subject: [PATCH 629/726] reformat with clang-format --- src/REAXFF/reaxff_tool_box.cpp | 131 ++++++++++++++++++--------------- 1 file changed, 71 insertions(+), 60 deletions(-) diff --git a/src/REAXFF/reaxff_tool_box.cpp b/src/REAXFF/reaxff_tool_box.cpp index 5ea87ca769..550668197c 100644 --- a/src/REAXFF/reaxff_tool_box.cpp +++ b/src/REAXFF/reaxff_tool_box.cpp @@ -1,4 +1,3 @@ -// clang-format off /*---------------------------------------------------------------------- PuReMD - Purdue ReaxFF Molecular Dynamics Program @@ -35,69 +34,81 @@ namespace ReaxFF { - /* safe malloc */ - void *smalloc(LAMMPS_NS::Error *error_ptr, rc_bigint n, const std::string &name) - { - void *ptr; +/* safe malloc */ +void *smalloc(LAMMPS_NS::Error *error_ptr, rc_bigint n, const std::string &name) +{ + void *ptr; - if (n <= 0) { - auto errmsg = fmt::format("Invalid size {} for array {}. Returning NULL.", n, name); - if (error_ptr) error_ptr->one(FLERR,errmsg); - else fputs(errmsg.c_str(),stderr); + if (n <= 0) { + auto errmsg = fmt::format("Invalid size {} for array {}. Returning NULL.", n, name); + if (error_ptr) + error_ptr->one(FLERR, errmsg); + else + fputs(errmsg.c_str(), stderr); - return nullptr; - } - - ptr = malloc(n); - if (ptr == nullptr) { - auto errmsg = fmt::format("Failed to allocate {} bytes for array {}", n, name); - if (error_ptr) error_ptr->one(FLERR,errmsg); - else fputs(errmsg.c_str(),stderr); - } - - return ptr; + return nullptr; } - /* safe calloc */ - void *scalloc(LAMMPS_NS::Error *error_ptr, rc_bigint n, rc_bigint size, const std::string &name) - { - void *ptr; - - if (n <= 0) { - auto errmsg = fmt::format("Invalid size {} for array {}. Returning NULL.\n", n, name); - if (error_ptr) error_ptr->one(FLERR,errmsg); - else fputs(errmsg.c_str(),stderr); - return nullptr; - } - - if (size <= 0) { - auto errmsg = fmt::format("Elements size for array {} is {}. Returning NULL", name, size); - if (error_ptr) error_ptr->one(FLERR,errmsg); - else fputs(errmsg.c_str(),stderr); - return nullptr; - } - - ptr = calloc(n, size); - if (ptr == nullptr) { - auto errmsg = fmt::format("Failed to allocate {} bytes for array {}", n*size, name); - if (error_ptr) error_ptr->one(FLERR,errmsg); - else fputs(errmsg.c_str(),stderr); - } - - return ptr; + ptr = malloc(n); + if (ptr == nullptr) { + auto errmsg = fmt::format("Failed to allocate {} bytes for array {}", n, name); + if (error_ptr) + error_ptr->one(FLERR, errmsg); + else + fputs(errmsg.c_str(), stderr); } - /* safe free */ - void sfree(LAMMPS_NS::Error *error_ptr, void *ptr, const std::string &name) - { - if (ptr == nullptr) { - auto errmsg = std::string("Trying to free the already free()'d pointer: ") + name; - if (error_ptr) error_ptr->one(FLERR, errmsg); - else fputs(errmsg.c_str(),stderr); - return; - } - - free(ptr); - ptr = nullptr; - } + return ptr; } + +/* safe calloc */ +void *scalloc(LAMMPS_NS::Error *error_ptr, rc_bigint n, rc_bigint size, const std::string &name) +{ + void *ptr; + + if (n <= 0) { + auto errmsg = fmt::format("Invalid size {} for array {}. Returning NULL.\n", n, name); + if (error_ptr) + error_ptr->one(FLERR, errmsg); + else + fputs(errmsg.c_str(), stderr); + return nullptr; + } + + if (size <= 0) { + auto errmsg = fmt::format("Elements size for array {} is {}. Returning NULL", name, size); + if (error_ptr) + error_ptr->one(FLERR, errmsg); + else + fputs(errmsg.c_str(), stderr); + return nullptr; + } + + ptr = calloc(n, size); + if (ptr == nullptr) { + auto errmsg = fmt::format("Failed to allocate {} bytes for array {}", n * size, name); + if (error_ptr) + error_ptr->one(FLERR, errmsg); + else + fputs(errmsg.c_str(), stderr); + } + + return ptr; +} + +/* safe free */ +void sfree(LAMMPS_NS::Error *error_ptr, void *ptr, const std::string &name) +{ + if (ptr == nullptr) { + auto errmsg = std::string("Trying to free the already free()'d pointer: ") + name; + if (error_ptr) + error_ptr->one(FLERR, errmsg); + else + fputs(errmsg.c_str(), stderr); + return; + } + + free(ptr); + ptr = nullptr; +} +} // namespace ReaxFF From 93465f98d8c6e7cb4ce80682c1b5d75015748793 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 6 Aug 2021 09:13:37 -0400 Subject: [PATCH 630/726] improve error message --- src/modify.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modify.cpp b/src/modify.cpp index c617bf1477..b2670fe5f9 100644 --- a/src/modify.cpp +++ b/src/modify.cpp @@ -985,7 +985,7 @@ void Modify::replace_fix(const char *replaceID, int narg, char **arg, int trysuffix) { int ifix = find_fix(replaceID); - if (ifix < 0) error->all(FLERR,"Modify replace_fix ID could not be found"); + if (ifix < 0) error->all(FLERR,"Modify replace_fix ID {} could not be found", replaceID); // change ID, igroup, style of fix being replaced to match new fix // requires some error checking on arguments for new fix From e29bd3d157ed394088d9c599e570afcb1ac670b2 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 6 Aug 2021 14:07:43 -0400 Subject: [PATCH 631/726] update defines from -DLMP_USER- to -DLMP_ for consistency --- cmake/Modules/Packages/INTEL.cmake | 2 +- cmake/Modules/Packages/MDI.cmake | 4 ++-- cmake/Modules/Packages/OPENMP.cmake | 2 +- src/INTEL/Install.sh | 2 +- src/INTEL/intel_preprocess.h | 2 +- src/MDI/Install.sh | 2 +- src/OPENMP/Install.sh | 6 +++--- src/accelerator_omp.h | 4 ++-- src/atom.cpp | 4 ++-- src/finish.cpp | 8 ++++---- src/info.cpp | 4 ++-- src/lammps.cpp | 2 +- src/main.cpp | 4 ++-- src/memory.cpp | 4 ++-- src/my_page.cpp | 2 +- src/my_pool_chunk.cpp | 2 +- 16 files changed, 27 insertions(+), 27 deletions(-) diff --git a/cmake/Modules/Packages/INTEL.cmake b/cmake/Modules/Packages/INTEL.cmake index fee86dc870..af08249090 100644 --- a/cmake/Modules/Packages/INTEL.cmake +++ b/cmake/Modules/Packages/INTEL.cmake @@ -3,7 +3,7 @@ if(NOT FOUND_IMMINTRIN) message(FATAL_ERROR "immintrin.h header not found, Intel package won't work without it") endif() -target_compile_definitions(lammps PRIVATE -DLMP_USER_INTEL) +target_compile_definitions(lammps PRIVATE -DLMP_INTEL) set(INTEL_ARCH "cpu" CACHE STRING "Architectures used by INTEL (cpu or knl)") set(INTEL_ARCH_VALUES cpu knl) diff --git a/cmake/Modules/Packages/MDI.cmake b/cmake/Modules/Packages/MDI.cmake index a75160a6d6..047c30c603 100644 --- a/cmake/Modules/Packages/MDI.cmake +++ b/cmake/Modules/Packages/MDI.cmake @@ -114,5 +114,5 @@ else() target_link_libraries(lmp PRIVATE ${mdi_LIBRARY}) endif() -target_compile_definitions(lammps PRIVATE -DLMP_USER_MDI) -target_compile_definitions(lmp PRIVATE -DLMP_USER_MDI) +target_compile_definitions(lammps PRIVATE -DLMP_MDI) +target_compile_definitions(lmp PRIVATE -DLMP_MDI) diff --git a/cmake/Modules/Packages/OPENMP.cmake b/cmake/Modules/Packages/OPENMP.cmake index 0a23e58b4b..a69a81acec 100644 --- a/cmake/Modules/Packages/OPENMP.cmake +++ b/cmake/Modules/Packages/OPENMP.cmake @@ -5,7 +5,7 @@ ${OPENMP_SOURCES_DIR}/fix_nh_omp.cpp ${OPENMP_SOURCES_DIR}/fix_nh_sphere_omp.cpp ${OPENMP_SOURCES_DIR}/domain_omp.cpp) - target_compile_definitions(lammps PRIVATE -DLMP_USER_OMP) + target_compile_definitions(lammps PRIVATE -DLMP_OPENMP) set_property(GLOBAL PROPERTY "OMP_SOURCES" "${OPENMP_SOURCES}") # detects styles which have OPENMP version diff --git a/src/INTEL/Install.sh b/src/INTEL/Install.sh index 8c291f0ae2..94d967b194 100755 --- a/src/INTEL/Install.sh +++ b/src/INTEL/Install.sh @@ -56,7 +56,7 @@ if (test $mode = 1) then if (test -e ../Makefile.package) then sed -i -e 's/[^ \t]*INTEL[^ \t]* //' ../Makefile.package - sed -i -e 's|^PKG_INC =[ \t]*|&-DLMP_USER_INTEL |' ../Makefile.package + sed -i -e 's|^PKG_INC =[ \t]*|&-DLMP_INTEL |' ../Makefile.package fi elif (test $mode = 0) then diff --git a/src/INTEL/intel_preprocess.h b/src/INTEL/intel_preprocess.h index 9f4c78c9bc..27daa5f3d2 100644 --- a/src/INTEL/intel_preprocess.h +++ b/src/INTEL/intel_preprocess.h @@ -50,7 +50,7 @@ #ifndef LMP_INTEL_PREPROCESS_H #define LMP_INTEL_PREPROCESS_H -// LAMMPS_MEMALIGN is set to 64 by default for -DLMP_USER_INTEL +// LAMMPS_MEMALIGN is set to 64 by default for -DLMP_INTEL // so we only need to error out in case of a different alignment #if LAMMPS_MEMALIGN && (LAMMPS_MEMALIGN != 64) #error Please set -DLAMMPS_MEMALIGN=64 in CCFLAGS of your LAMMPS makefile for INTEL package diff --git a/src/MDI/Install.sh b/src/MDI/Install.sh index 4f1ea6dfba..bc19162a17 100755 --- a/src/MDI/Install.sh +++ b/src/MDI/Install.sh @@ -40,7 +40,7 @@ if (test $1 = 1) then sed -i -e 's/[^ \t]*mdi[^ \t]* //g' ../Makefile.package sed -i -e 's|^PKG_INC =[ \t]*|&-I../../lib/mdi/includelink |' ../Makefile.package sed -i -e 's/[^ \t]*MDI[^ \t]* //' ../Makefile.package - sed -i -e 's|^PKG_INC =[ \t]*|&-DLMP_USER_MDI |' ../Makefile.package + sed -i -e 's|^PKG_INC =[ \t]*|&-DLMP_MDI |' ../Makefile.package sed -i -e 's|^PKG_PATH =[ \t]*|&-L../../lib/mdi/liblink |' ../Makefile.package sed -i -e 's|^PKG_LIB =[ \t]*|&-lmdi |' ../Makefile.package sed -i -e 's|^PKG_SYSINC =[ \t]*|&$(mdi_SYSINC) |' ../Makefile.package diff --git a/src/OPENMP/Install.sh b/src/OPENMP/Install.sh index 6d9423033e..1802f068e9 100755 --- a/src/OPENMP/Install.sh +++ b/src/OPENMP/Install.sh @@ -54,7 +54,7 @@ if (test $mode = 1) then if (test -e ../Makefile.package) then sed -i -e 's/[^ \t]*OMP[^ \t]* //' ../Makefile.package - sed -i -e 's|^PKG_INC =[ \t]*|&-DLMP_USER_OMP |' ../Makefile.package + sed -i -e 's|^PKG_INC =[ \t]*|&-DLMP_OPENMP |' ../Makefile.package fi # need to delete a bunch of dependency files because they @@ -65,7 +65,7 @@ if (test $mode = 1) then rm -f ../Obj_*/$f done - # force rebuild of files with LMP_USER_OMP switch + # force rebuild of files with LMP_OPENMP switch touch ../accelerator_omp.h @@ -83,7 +83,7 @@ elif (test $mode = 0) then rm -f ../Obj_*/$f done - # force rebuild of files with LMP_USER_OMP switch + # force rebuild of files with LMP_OPENMP switch touch ../accelerator_omp.h diff --git a/src/accelerator_omp.h b/src/accelerator_omp.h index 437ce3e413..0a85816684 100644 --- a/src/accelerator_omp.h +++ b/src/accelerator_omp.h @@ -13,7 +13,7 @@ // NOTE: this file is *supposed* to be included multiple times -#ifdef LMP_USER_OMP +#ifdef LMP_OPENMP // true interface to OPENMP @@ -41,4 +41,4 @@ class DomainOMP : public Domain { #endif /* LMP_DOMAIN_OMP_H */ -#endif /* !LMP_USER_OMP */ +#endif /* !LMP_OPENMP */ diff --git a/src/atom.cpp b/src/atom.cpp index 6063398f40..0a629e2fe6 100644 --- a/src/atom.cpp +++ b/src/atom.cpp @@ -38,7 +38,7 @@ #include #include -#ifdef LMP_USER_INTEL +#ifdef LMP_INTEL #include "neigh_request.h" #endif @@ -2196,7 +2196,7 @@ void Atom::setup_sort_bins() bininvy = nbiny / (bboxhi[1]-bboxlo[1]); bininvz = nbinz / (bboxhi[2]-bboxlo[2]); -#ifdef LMP_USER_INTEL +#ifdef LMP_INTEL int intel_neigh = 0; if (neighbor->nrequest) { if (neighbor->requests[0]->intel) intel_neigh = 1; diff --git a/src/finish.cpp b/src/finish.cpp index 210b48dcb7..81ba59c1df 100644 --- a/src/finish.cpp +++ b/src/finish.cpp @@ -34,7 +34,7 @@ #include #include -#ifdef LMP_USER_OMP +#ifdef LMP_OPENMP #include "modify.h" #include "fix_omp.h" #include "thr_data.h" @@ -48,7 +48,7 @@ static void mpi_timings(const char *label, Timer *t, enum Timer::ttype tt, MPI_Comm world, const int nprocs, const int nthreads, const int me, double time_loop, FILE *scr, FILE *log); -#ifdef LMP_USER_OMP +#ifdef LMP_OPENMP static void omp_times(FixOMP *fix, const char *label, enum Timer::ttype which, const int nthreads,FILE *scr, FILE *log); #endif @@ -363,7 +363,7 @@ void Finish::end(int flag) } } -#ifdef LMP_USER_OMP +#ifdef LMP_OPENMP int ifix = modify->find_fix("package_omp"); // print thread breakdown only with full timer detail @@ -691,7 +691,7 @@ void mpi_timings(const char *label, Timer *t, enum Timer::ttype tt, /* ---------------------------------------------------------------------- */ -#ifdef LMP_USER_OMP +#ifdef LMP_OPENMP void omp_times(FixOMP *fix, const char *label, enum Timer::ttype which, const int nthreads,FILE *scr, FILE *log) { diff --git a/src/info.cpp b/src/info.cpp index 6756c174ca..7c0eb572db 100644 --- a/src/info.cpp +++ b/src/info.cpp @@ -1222,7 +1222,7 @@ bool Info::has_accelerator_feature(const std::string &package, return lmp_gpu_config(category,setting); } #endif -#if defined(LMP_USER_OMP) +#if defined(LMP_OPENMP) if (package == "OPENMP") { if (category == "precision") { if (setting == "double") return true; @@ -1238,7 +1238,7 @@ bool Info::has_accelerator_feature(const std::string &package, } } #endif -#if defined(LMP_USER_INTEL) +#if defined(LMP_INTEL) if (package == "INTEL") { if (category == "precision") { if (setting == "double") return true; diff --git a/src/lammps.cpp b/src/lammps.cpp index 70174b9d14..5820a625d2 100644 --- a/src/lammps.cpp +++ b/src/lammps.cpp @@ -798,7 +798,7 @@ void LAMMPS::create() else neighbor = new Neighbor(this); if (kokkos) domain = new DomainKokkos(this); -#ifdef LMP_USER_OMP +#ifdef LMP_OPENMP else domain = new DomainOMP(this); #else else domain = new Domain(this); diff --git a/src/main.cpp b/src/main.cpp index 76ae4fde09..d65247c224 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -31,7 +31,7 @@ #endif // import MolSSI Driver Interface library -#if defined(LMP_USER_MDI) +#if defined(LMP_MDI) #include #endif @@ -47,7 +47,7 @@ int main(int argc, char **argv) MPI_Comm lammps_comm = MPI_COMM_WORLD; -#if defined(LMP_USER_MDI) +#if defined(LMP_MDI) // initialize MDI interface, if compiled in int mdi_flag; diff --git a/src/memory.cpp b/src/memory.cpp index 8f7faad545..2a053e3dbd 100644 --- a/src/memory.cpp +++ b/src/memory.cpp @@ -16,7 +16,7 @@ #include "error.h" -#if defined(LMP_USER_INTEL) && \ +#if defined(LMP_INTEL) && \ ((defined(__INTEL_COMPILER) || defined(__INTEL_LLVM_COMPILER))) #ifndef LMP_INTEL_NO_TBB #define LMP_USE_TBB_ALLOCATOR @@ -31,7 +31,7 @@ #endif #endif -#if defined(LMP_USER_INTEL) && !defined(LAMMPS_MEMALIGN) && !defined(_WIN32) +#if defined(LMP_INTEL) && !defined(LAMMPS_MEMALIGN) && !defined(_WIN32) #define LAMMPS_MEMALIGN 64 #endif diff --git a/src/my_page.cpp b/src/my_page.cpp index 7cbaca2ef7..efad82d3d6 100644 --- a/src/my_page.cpp +++ b/src/my_page.cpp @@ -16,7 +16,7 @@ #include -#if defined(LMP_USER_INTEL) && !defined(LAMMPS_MEMALIGN) && !defined(_WIN32) +#if defined(LMP_INTEL) && !defined(LAMMPS_MEMALIGN) && !defined(_WIN32) #define LAMMPS_MEMALIGN 64 #endif diff --git a/src/my_pool_chunk.cpp b/src/my_pool_chunk.cpp index 1c770d0208..484a4b3fcf 100644 --- a/src/my_pool_chunk.cpp +++ b/src/my_pool_chunk.cpp @@ -16,7 +16,7 @@ #include -#if defined(LMP_USER_INTEL) && !defined(LAMMPS_MEMALIGN) && !defined(_WIN32) +#if defined(LMP_INTEL) && !defined(LAMMPS_MEMALIGN) && !defined(_WIN32) #define LAMMPS_MEMALIGN 64 #endif From e9e6cdca1d9bace1cd59a50ec6fa6a56f728626d Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 6 Aug 2021 14:22:48 -0400 Subject: [PATCH 632/726] using GPU package is not compatible with fix qeq variants --- .../force-styles/tests/atomic-pair-buck_coul_cut_qeq_point.yaml | 2 +- .../tests/atomic-pair-buck_coul_cut_qeq_shielded.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/unittest/force-styles/tests/atomic-pair-buck_coul_cut_qeq_point.yaml b/unittest/force-styles/tests/atomic-pair-buck_coul_cut_qeq_point.yaml index d3e6b38980..31a44ce897 100644 --- a/unittest/force-styles/tests/atomic-pair-buck_coul_cut_qeq_point.yaml +++ b/unittest/force-styles/tests/atomic-pair-buck_coul_cut_qeq_point.yaml @@ -2,7 +2,7 @@ lammps_version: 8 Apr 2021 date_generated: Tue Apr 20 14:47:51 2021 epsilon: 7.5e-13 -skip_tests: intel single +skip_tests: intel single gpu prerequisites: ! | pair buck/coul/cut fix qeq/point diff --git a/unittest/force-styles/tests/atomic-pair-buck_coul_cut_qeq_shielded.yaml b/unittest/force-styles/tests/atomic-pair-buck_coul_cut_qeq_shielded.yaml index 2a80c30144..ca05006535 100644 --- a/unittest/force-styles/tests/atomic-pair-buck_coul_cut_qeq_shielded.yaml +++ b/unittest/force-styles/tests/atomic-pair-buck_coul_cut_qeq_shielded.yaml @@ -2,7 +2,7 @@ lammps_version: 8 Apr 2021 date_generated: Tue Apr 20 14:48:00 2021 epsilon: 7.5e-13 -skip_tests: intel single +skip_tests: intel single gpu prerequisites: ! | pair buck/coul/cut fix qeq/shielded From 03f9ef7de9213f49105f1435c13557c9e5ee852a Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 6 Aug 2021 15:34:43 -0400 Subject: [PATCH 633/726] add unique identifier to the history fix so the gran/*/history styles can be used multiple times with pair style hybrid --- src/GRANULAR/pair_gran_hooke_history.cpp | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/src/GRANULAR/pair_gran_hooke_history.cpp b/src/GRANULAR/pair_gran_hooke_history.cpp index 753cceb247..7137b911f1 100644 --- a/src/GRANULAR/pair_gran_hooke_history.cpp +++ b/src/GRANULAR/pair_gran_hooke_history.cpp @@ -68,7 +68,7 @@ PairGranHookeHistory::PairGranHookeHistory(LAMMPS *lmp) : Pair(lmp) // this is so final order of Modify:fix will conform to input script fix_history = nullptr; - modify->add_fix("NEIGH_HISTORY_HH_DUMMY all DUMMY"); + modify->add_fix("NEIGH_HISTORY_HH_DUMMY"+std::to_string(instance_me)+" all DUMMY"); fix_dummy = (FixDummy *) modify->fix[modify->nfix-1]; } @@ -80,8 +80,8 @@ PairGranHookeHistory::~PairGranHookeHistory() delete [] svector; - if (!fix_history) modify->delete_fix("NEIGH_HISTORY_HH_DUMMY"); - else modify->delete_fix("NEIGH_HISTORY_HH"); + if (!fix_history) modify->delete_fix("NEIGH_HISTORY_HH_DUMMY"+std::to_string(instance_me)); + else modify->delete_fix("NEIGH_HISTORY_HH"+std::to_string(instance_me)); if (allocated) { memory->destroy(setflag); @@ -436,10 +436,9 @@ void PairGranHookeHistory::init_style() // this is so its order in the fix list is preserved if (history && (fix_history == nullptr)) { - auto cmd = fmt::format("NEIGH_HISTORY_HH all NEIGH_HISTORY {}", - size_history); - modify->replace_fix("NEIGH_HISTORY_HH_DUMMY",cmd,1); - int ifix = modify->find_fix("NEIGH_HISTORY_HH"); + auto cmd = fmt::format("NEIGH_HISTORY_HH{} all NEIGH_HISTORY {}", instance_me, size_history); + modify->replace_fix("NEIGH_HISTORY_HH_DUMMY"+std::to_string(instance_me),cmd,1); + int ifix = modify->find_fix("NEIGH_HISTORY_HH"+std::to_string(instance_me)); fix_history = (FixNeighHistory *) modify->fix[ifix]; fix_history->pair = this; } @@ -507,7 +506,7 @@ void PairGranHookeHistory::init_style() // set fix which stores history info if (history) { - int ifix = modify->find_fix("NEIGH_HISTORY_HH"); + int ifix = modify->find_fix("NEIGH_HISTORY_HH"+std::to_string(instance_me)); if (ifix < 0) error->all(FLERR,"Could not find pair fix neigh history ID"); fix_history = (FixNeighHistory *) modify->fix[ifix]; } From 29bf3acd9e81ecba033d12a8f3e3481c8a6c4630 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 6 Aug 2021 18:34:32 -0400 Subject: [PATCH 634/726] apply changes to modify class --- src/CORESHELL/compute_temp_cs.cpp | 17 ++++--- src/DPD-REACT/fix_rx.cpp | 10 ++-- src/DPD-REACT/fix_rx.h | 2 +- src/EXTRA-COMPUTE/compute_hma.cpp | 5 +- src/FEP/fix_adapt_fep.cpp | 12 ++--- src/GRANULAR/pair_gran_hooke_history.cpp | 36 +++++---------- src/GRANULAR/pair_granular.cpp | 59 ++++++++++-------------- src/KOKKOS/fix_rx_kokkos.cpp | 27 +++++------ src/MISC/pair_srp.cpp | 3 +- src/OPENMP/pair_reaxff_omp.cpp | 6 +-- src/REACTION/fix_bond_react.cpp | 45 ++++++------------ 11 files changed, 84 insertions(+), 138 deletions(-) diff --git a/src/CORESHELL/compute_temp_cs.cpp b/src/CORESHELL/compute_temp_cs.cpp index ed6634f4b0..04c7a743d8 100644 --- a/src/CORESHELL/compute_temp_cs.cpp +++ b/src/CORESHELL/compute_temp_cs.cpp @@ -19,19 +19,19 @@ #include "compute_temp_cs.h" -#include - #include "atom.h" #include "atom_vec.h" +#include "comm.h" #include "domain.h" -#include "update.h" +#include "error.h" +#include "fix_store.h" #include "force.h" #include "group.h" -#include "modify.h" -#include "fix_store.h" -#include "comm.h" #include "memory.h" -#include "error.h" +#include "modify.h" +#include "update.h" + +#include using namespace LAMMPS_NS; @@ -74,8 +74,7 @@ ComputeTempCS::ComputeTempCS(LAMMPS *lmp, int narg, char **arg) : strcpy(id_fix,fixcmd.c_str()); fixcmd += fmt::format(" {} STORE peratom 0 1", group->names[igroup]); - modify->add_fix(fixcmd); - fix = (FixStore *) modify->fix[modify->nfix-1]; + fix = (FixStore *)modify->add_fix(fixcmd); // set fix store values = 0 for now // fill them in via setup() once Comm::borders() has been called diff --git a/src/DPD-REACT/fix_rx.cpp b/src/DPD-REACT/fix_rx.cpp index 52dcaaf2d5..e50e145853 100644 --- a/src/DPD-REACT/fix_rx.cpp +++ b/src/DPD-REACT/fix_rx.cpp @@ -18,6 +18,7 @@ #include "comm.h" #include "domain.h" #include "error.h" +#include "fix_property_atom.h" #include "force.h" #include "group.h" #include "math_special.h" @@ -344,12 +345,9 @@ void FixRX::post_constructor() newcmd1 += " ghost yes"; newcmd2 += " ghost yes"; - modify->add_fix(newcmd1); - fix_species = (FixPropertyAtom *) modify->fix[modify->nfix-1]; - restartFlag = modify->fix[modify->nfix-1]->restart_reset; - - modify->add_fix(newcmd2); - fix_species_old = (FixPropertyAtom *) modify->fix[modify->nfix-1]; + fix_species = (FixPropertyAtom *) modify->add_fix(newcmd1); + restartFlag = fix_species->restart_reset; + fix_species_old = (FixPropertyAtom *) modify->add_fix(newcmd2); if (nspecies==0) error->all(FLERR,"There are no rx species specified."); diff --git a/src/DPD-REACT/fix_rx.h b/src/DPD-REACT/fix_rx.h index debf4d911e..1d65c4c09e 100644 --- a/src/DPD-REACT/fix_rx.h +++ b/src/DPD-REACT/fix_rx.h @@ -136,7 +136,7 @@ class FixRX : public Fix { //!< ODE Solver diagnostics. void odeDiagnostics(void); - private: + protected: char *kineticsFile; char *id_fix_species, *id_fix_species_old; class FixPropertyAtom *fix_species, *fix_species_old; diff --git a/src/EXTRA-COMPUTE/compute_hma.cpp b/src/EXTRA-COMPUTE/compute_hma.cpp index 09a2840906..043dcec6cf 100644 --- a/src/EXTRA-COMPUTE/compute_hma.cpp +++ b/src/EXTRA-COMPUTE/compute_hma.cpp @@ -91,9 +91,8 @@ ComputeHMA::ComputeHMA(LAMMPS *lmp, int narg, char **arg) : // our new fix's group = same as compute group id_fix = utils::strdup(std::string(id)+"_COMPUTE_STORE"); - modify->add_fix(fmt::format("{} {} STORE peratom 1 3", - id_fix, group->names[igroup])); - fix = (FixStore *) modify->fix[modify->nfix-1]; + fix = (FixStore *)modify->add_fix(fmt::format("{} {} STORE peratom 1 3", + id_fix, group->names[igroup])); // calculate xu,yu,zu for fix store array // skip if reset from restart file diff --git a/src/FEP/fix_adapt_fep.cpp b/src/FEP/fix_adapt_fep.cpp index b5aad03887..3b4290f2c9 100644 --- a/src/FEP/fix_adapt_fep.cpp +++ b/src/FEP/fix_adapt_fep.cpp @@ -216,10 +216,8 @@ void FixAdaptFEP::post_constructor() id_fix_chg = nullptr; if (diamflag) { - auto cmd = fmt::format("{}_FIX_STORE_DIAM {} STORE peratom 1 1", - group->names[igroup]); - modify->add_fix(cmd); - fix_diam = (FixStore *) modify->fix[modify->nfix-1]; + auto cmd = fmt::format("{}_FIX_STORE_DIAM {} STORE peratom 1 1", group->names[igroup]); + fix_diam = (FixStore *) modify->add_fix(cmd); if (fix_diam->restart_reset) fix_diam->restart_reset = 0; else { @@ -236,10 +234,8 @@ void FixAdaptFEP::post_constructor() } if (chgflag) { - auto cmd = fmt::format("{}_FIX_STORE_CHG {} STORE peratom 1 1", - group->names[igroup]); - modify->add_fix(cmd); - fix_chg = (FixStore *) modify->fix[modify->nfix-1]; + auto cmd = fmt::format("{}_FIX_STORE_CHG {} STORE peratom 1 1", group->names[igroup]); + fix_chg = (FixStore *) modify->add_fix(cmd); if (fix_chg->restart_reset) fix_chg->restart_reset = 0; else { diff --git a/src/GRANULAR/pair_gran_hooke_history.cpp b/src/GRANULAR/pair_gran_hooke_history.cpp index 753cceb247..cf51d5db3e 100644 --- a/src/GRANULAR/pair_gran_hooke_history.cpp +++ b/src/GRANULAR/pair_gran_hooke_history.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -68,8 +67,7 @@ PairGranHookeHistory::PairGranHookeHistory(LAMMPS *lmp) : Pair(lmp) // this is so final order of Modify:fix will conform to input script fix_history = nullptr; - modify->add_fix("NEIGH_HISTORY_HH_DUMMY all DUMMY"); - fix_dummy = (FixDummy *) modify->fix[modify->nfix-1]; + fix_dummy = (FixDummy *) modify->add_fix("NEIGH_HISTORY_HH_DUMMY all DUMMY"); } /* ---------------------------------------------------------------------- */ @@ -436,22 +434,19 @@ void PairGranHookeHistory::init_style() // this is so its order in the fix list is preserved if (history && (fix_history == nullptr)) { - auto cmd = fmt::format("NEIGH_HISTORY_HH all NEIGH_HISTORY {}", - size_history); - modify->replace_fix("NEIGH_HISTORY_HH_DUMMY",cmd,1); - int ifix = modify->find_fix("NEIGH_HISTORY_HH"); - fix_history = (FixNeighHistory *) modify->fix[ifix]; + auto cmd = fmt::format("NEIGH_HISTORY_HH all NEIGH_HISTORY {}", size_history); + fix_history = (FixNeighHistory *) modify->replace_fix("NEIGH_HISTORY_HH_DUMMY", cmd, 1); fix_history->pair = this; } // check for FixFreeze and set freeze_group_bit - for (i = 0; i < modify->nfix; i++) - if (strcmp(modify->fix[i]->style,"freeze") == 0) break; - if (i < modify->nfix) freeze_group_bit = modify->fix[i]->groupbit; - else freeze_group_bit = 0; + int ifreeze = modify->find_fix_by_style("^freeze"); + if (ifreeze < 0) freeze_group_bit = 0; + else freeze_group_bit = modify->fix[ifreeze]->groupbit; // check for FixRigid so can extract rigid body masses + // FIXME: this only catches the first rigid fix, there may be multiple. fix_rigid = nullptr; for (i = 0; i < modify->nfix; i++) @@ -460,15 +455,8 @@ void PairGranHookeHistory::init_style() // check for FixPour and FixDeposit so can extract particle radii - int ipour; - for (ipour = 0; ipour < modify->nfix; ipour++) - if (strcmp(modify->fix[ipour]->style,"pour") == 0) break; - if (ipour == modify->nfix) ipour = -1; - - int idep; - for (idep = 0; idep < modify->nfix; idep++) - if (strcmp(modify->fix[idep]->style,"deposit") == 0) break; - if (idep == modify->nfix) idep = -1; + int ipour = modify->find_fix_by_style("^pour"); + int idep = modify->find_fix_by_style("^deposit"); // set maxrad_dynamic and maxrad_frozen for each type // include future FixPour and FixDeposit particles as dynamic @@ -499,10 +487,8 @@ void PairGranHookeHistory::init_style() else onerad_dynamic[type[i]] = MAX(onerad_dynamic[type[i]],radius[i]); - MPI_Allreduce(&onerad_dynamic[1],&maxrad_dynamic[1],atom->ntypes, - MPI_DOUBLE,MPI_MAX,world); - MPI_Allreduce(&onerad_frozen[1],&maxrad_frozen[1],atom->ntypes, - MPI_DOUBLE,MPI_MAX,world); + MPI_Allreduce(&onerad_dynamic[1],&maxrad_dynamic[1],atom->ntypes,MPI_DOUBLE,MPI_MAX,world); + MPI_Allreduce(&onerad_frozen[1],&maxrad_frozen[1],atom->ntypes,MPI_DOUBLE,MPI_MAX,world); // set fix which stores history info diff --git a/src/GRANULAR/pair_granular.cpp b/src/GRANULAR/pair_granular.cpp index cca349b819..d0e75d4812 100644 --- a/src/GRANULAR/pair_granular.cpp +++ b/src/GRANULAR/pair_granular.cpp @@ -20,25 +20,24 @@ #include "pair_granular.h" -#include -#include - #include "atom.h" -#include "force.h" -#include "update.h" -#include "modify.h" +#include "comm.h" +#include "error.h" #include "fix.h" #include "fix_dummy.h" #include "fix_neigh_history.h" -#include "comm.h" -#include "neighbor.h" -#include "neigh_list.h" -#include "neigh_request.h" -#include "memory.h" -#include "error.h" +#include "force.h" #include "math_const.h" #include "math_special.h" +#include "memory.h" +#include "modify.h" +#include "neigh_list.h" +#include "neigh_request.h" +#include "neighbor.h" +#include "update.h" +#include +#include using namespace LAMMPS_NS; using namespace MathConst; @@ -103,8 +102,7 @@ PairGranular::PairGranular(LAMMPS *lmp) : Pair(lmp) // this is so final order of Modify:fix will conform to input script fix_history = nullptr; - modify->add_fix("NEIGH_HISTORY_GRANULAR_DUMMY all DUMMY"); - fix_dummy = (FixDummy *) modify->fix[modify->nfix-1]; + fix_dummy = (FixDummy *) modify->add_fix("NEIGH_HISTORY_GRANULAR_DUMMY all DUMMY"); } /* ---------------------------------------------------------------------- */ @@ -1122,21 +1120,21 @@ void PairGranular::init_style() // this is so its order in the fix list is preserved if (use_history && fix_history == nullptr) { - modify->replace_fix("NEIGH_HISTORY_GRANULAR_DUMMY","NEIGH_HISTORY_GRANULAR" - " all NEIGH_HISTORY " + std::to_string(size_history),1); - int ifix = modify->find_fix("NEIGH_HISTORY_GRANULAR"); - fix_history = (FixNeighHistory *) modify->fix[ifix]; + fix_history = (FixNeighHistory *) modify->replace_fix("NEIGH_HISTORY_GRANULAR_DUMMY", + "NEIGH_HISTORY_GRANULAR" + " all NEIGH_HISTORY " + + std::to_string(size_history),1); fix_history->pair = this; } // check for FixFreeze and set freeze_group_bit - for (i = 0; i < modify->nfix; i++) - if (strcmp(modify->fix[i]->style,"freeze") == 0) break; - if (i < modify->nfix) freeze_group_bit = modify->fix[i]->groupbit; - else freeze_group_bit = 0; + int ifix = modify->find_fix_by_style("^freeze"); + if (ifix < 0) freeze_group_bit = 0; + else freeze_group_bit = modify->fix[ifix]->groupbit; // check for FixRigid so can extract rigid body masses + // FIXME: this only catches the first rigid fix, there may be multiple. fix_rigid = nullptr; for (i = 0; i < modify->nfix; i++) @@ -1145,15 +1143,8 @@ void PairGranular::init_style() // check for FixPour and FixDeposit so can extract particle radii - int ipour; - for (ipour = 0; ipour < modify->nfix; ipour++) - if (strcmp(modify->fix[ipour]->style,"pour") == 0) break; - if (ipour == modify->nfix) ipour = -1; - - int idep; - for (idep = 0; idep < modify->nfix; idep++) - if (strcmp(modify->fix[idep]->style,"deposit") == 0) break; - if (idep == modify->nfix) idep = -1; + int ipour = modify->find_fix_by_style("^pour"); + int idep = modify->find_fix_by_style("^deposit"); // set maxrad_dynamic and maxrad_frozen for each type // include future FixPour and FixDeposit particles as dynamic @@ -1187,10 +1178,8 @@ void PairGranular::init_style() } } - MPI_Allreduce(&onerad_dynamic[1],&maxrad_dynamic[1],atom->ntypes, - MPI_DOUBLE,MPI_MAX,world); - MPI_Allreduce(&onerad_frozen[1],&maxrad_frozen[1],atom->ntypes, - MPI_DOUBLE,MPI_MAX,world); + MPI_Allreduce(&onerad_dynamic[1],&maxrad_dynamic[1],atom->ntypes,MPI_DOUBLE,MPI_MAX,world); + MPI_Allreduce(&onerad_frozen[1],&maxrad_frozen[1],atom->ntypes,MPI_DOUBLE,MPI_MAX,world); // set fix which stores history info diff --git a/src/KOKKOS/fix_rx_kokkos.cpp b/src/KOKKOS/fix_rx_kokkos.cpp index 7bc7bf95c3..15b4a39849 100644 --- a/src/KOKKOS/fix_rx_kokkos.cpp +++ b/src/KOKKOS/fix_rx_kokkos.cpp @@ -13,24 +13,25 @@ ------------------------------------------------------------------------- */ #include "fix_rx_kokkos.h" -#include -#include "atom_masks.h" + #include "atom_kokkos.h" -#include "force.h" -#include "memory_kokkos.h" -#include "update.h" -#include "modify.h" -#include "neighbor.h" -#include "neigh_list_kokkos.h" -#include "neigh_request.h" -#include "error.h" -#include "math_special_kokkos.h" +#include "atom_masks.h" #include "comm.h" #include "domain.h" +#include "error.h" +#include "fix_property_atom.h" +#include "force.h" #include "kokkos.h" - +#include "math_special_kokkos.h" +#include "memory_kokkos.h" +#include "modify.h" +#include "neigh_list_kokkos.h" +#include "neigh_request.h" +#include "neighbor.h" +#include "update.h" #include // DBL_EPSILON +#include using namespace LAMMPS_NS; using namespace FixConst; @@ -104,7 +105,7 @@ void FixRxKokkos::post_constructor() FixRX::post_constructor(); // Need a copy of this - this->my_restartFlag = modify->fix[modify->nfix-1]->restart_reset; + this->my_restartFlag = fix_species->restart_reset; } /* ---------------------------------------------------------------------- */ diff --git a/src/MISC/pair_srp.cpp b/src/MISC/pair_srp.cpp index 332e103b12..0fef989c88 100644 --- a/src/MISC/pair_srp.cpp +++ b/src/MISC/pair_srp.cpp @@ -84,8 +84,7 @@ PairSRP::PairSRP(LAMMPS *lmp) : Pair(lmp), fix_id(nullptr) // will be invoked before other fixes that migrate atoms // this is checked for in FixSRP - modify->add_fix(fmt::format("{:02d}_FIX_SRP all SRP",srp_instance)); - f_srp = (FixSRP *) modify->fix[modify->nfix-1]; + f_srp = (FixSRP *) modify->add_fix(fmt::format("{:02d}_FIX_SRP all SRP",srp_instance)); ++srp_instance; } diff --git a/src/OPENMP/pair_reaxff_omp.cpp b/src/OPENMP/pair_reaxff_omp.cpp index 69d68e67e8..6cf3e90575 100644 --- a/src/OPENMP/pair_reaxff_omp.cpp +++ b/src/OPENMP/pair_reaxff_omp.cpp @@ -136,10 +136,8 @@ void PairReaxFFOMP::init_style() error->warning(FLERR,"Total cutoff < 2*bond cutoff. May need to use an " "increased neighbor list skin."); - if (fix_reaxff == nullptr) { - modify->add_fix(fmt::format("{} all REAXFF",fix_id)); - fix_reaxff = (FixReaxFF *) modify->fix[modify->nfix-1]; - } + if (fix_reaxff == nullptr) + fix_reaxff = (FixReaxFF *) modify->add_fix(fmt::format("{} all REAXFF",fix_id)); api->control->nthreads = comm->nthreads; } diff --git a/src/REACTION/fix_bond_react.cpp b/src/REACTION/fix_bond_react.cpp index 46d7efdf8d..e52347727f 100644 --- a/src/REACTION/fix_bond_react.cpp +++ b/src/REACTION/fix_bond_react.cpp @@ -701,37 +701,25 @@ it will have the name 'i_limit_tags' and will be intitialized to 0 (not in group void FixBondReact::post_constructor() { // let's add the limit_tags per-atom property fix - std::string cmd = std::string("bond_react_props_internal"); - id_fix2 = new char[cmd.size()+1]; - strcpy(id_fix2,cmd.c_str()); - - int ifix = modify->find_fix(id_fix2); - if (ifix == -1) { - cmd += std::string(" all property/atom i_limit_tags i_react_tags ghost yes"); - modify->add_fix(cmd); - } + id_fix2 = utils::strdup("bond_react_props_internal"); + if (modify->find_fix(id_fix2) < 0) + modify->add_fix(std::string(id_fix2)+" all property/atom i_limit_tags i_react_tags ghost yes"); // create master_group if not already existing // NOTE: limit_tags and react_tags automaticaly intitialized to zero (unless read from restart) group->find_or_create(master_group); - cmd = fmt::format("{} dynamic all property limit_tags",master_group); + std::string cmd = fmt::format("{} dynamic all property limit_tags",master_group); group->assign(cmd); if (stabilization_flag == 1) { int groupid = group->find(exclude_group); // create exclude_group if not already existing, or use as parent group if static if (groupid == -1 || group->dynamic[groupid] == 0) { - // create stabilization per-atom property - cmd = std::string("bond_react_stabilization_internal"); - id_fix3 = new char[cmd.size()+1]; - strcpy(id_fix3,cmd.c_str()); - ifix = modify->find_fix(id_fix3); - if (ifix == -1) { - cmd += std::string(" all property/atom i_statted_tags ghost yes"); - modify->add_fix(cmd); - fix3 = modify->fix[modify->nfix-1]; - } + // create stabilization per-atom property + id_fix3 = utils::strdup("bond_react_stabilization_internal"); + if (modify->find_fix(id_fix3) < 0) + fix3 = modify->add_fix(std::string(id_fix3) + " all property/atom i_statted_tags ghost yes"); statted_id = utils::strdup("statted_tags"); @@ -770,7 +758,7 @@ void FixBondReact::post_constructor() // this returns names of corresponding property int unused; - char * idprop; + char *idprop; idprop = (char *) fix->extract("property",unused); if (idprop == nullptr) error->all(FLERR,"Exclude group must be a per-atom property group"); @@ -787,17 +775,10 @@ void FixBondReact::post_constructor() // let's create a new nve/limit fix to limit newly reacted atoms - cmd = std::string("bond_react_MASTER_nve_limit"); - id_fix1 = new char[cmd.size()+1]; - strcpy(id_fix1,cmd.c_str()); - - ifix = modify->find_fix(id_fix1); - - if (ifix == -1) { - cmd += fmt::format(" {} nve/limit {}",master_group,nve_limit_xmax); - modify->add_fix(cmd); - fix1 = modify->fix[modify->nfix-1]; - } + id_fix1 = utils::strdup("bond_react_MASTER_nve_limit"); + if (modify->find_fix(id_fix1) < 0) + fix1 = modify->add_fix(fmt::format("{} {} nve/limit {}", + id_fix1,master_group,nve_limit_xmax)); } } From 06371629d6749d6a1a772848492a9f5e48f60c80 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 6 Aug 2021 18:44:42 -0400 Subject: [PATCH 635/726] workaround for PGI compilers --- cmake/Modules/Packages/MACHDYN.cmake | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/cmake/Modules/Packages/MACHDYN.cmake b/cmake/Modules/Packages/MACHDYN.cmake index 6d941f9798..efe8a562eb 100644 --- a/cmake/Modules/Packages/MACHDYN.cmake +++ b/cmake/Modules/Packages/MACHDYN.cmake @@ -30,3 +30,8 @@ else() endif() target_link_libraries(lammps PRIVATE Eigen3::Eigen) endif() + +# PGI/Nvidia compiler internals collide with vector intrinsics support in Eigen3 +if((CMAKE_CXX_COMPILER_ID STREQUAL "PGI") OR (CMAKE_CXX_COMPILER_ID STREQUAL "NVHPC")) + target_compile_definitions(lammps PRIVATE -DEIGEN_DONT_VECTORIZE) +endif() From 0123f9290f6f85d9cf109db4664ebc8b95d36c89 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 6 Aug 2021 18:53:46 -0400 Subject: [PATCH 636/726] update Eigen3 to support the latest stable release 3.3.9 --- cmake/Modules/Packages/MACHDYN.cmake | 4 ++-- lib/machdyn/Install.py | 3 ++- lib/machdyn/Makefile.lammps | 6 +++--- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/cmake/Modules/Packages/MACHDYN.cmake b/cmake/Modules/Packages/MACHDYN.cmake index efe8a562eb..fab532541e 100644 --- a/cmake/Modules/Packages/MACHDYN.cmake +++ b/cmake/Modules/Packages/MACHDYN.cmake @@ -7,8 +7,8 @@ endif() option(DOWNLOAD_EIGEN3 "Download Eigen3 instead of using an already installed one)" ${DOWNLOAD_EIGEN3_DEFAULT}) if(DOWNLOAD_EIGEN3) message(STATUS "Eigen3 download requested - we will build our own") - set(EIGEN3_URL "https://gitlab.com/libeigen/eigen/-/archive/3.3.7/eigen-3.3.7.tar.gz" CACHE STRING "URL for Eigen3 tarball") - set(EIGEN3_MD5 "9e30f67e8531477de4117506fe44669b" CACHE STRING "MD5 checksum of Eigen3 tarball") + set(EIGEN3_URL "https://gitlab.com/libeigen/eigen/-/archive/3.3.9/eigen-3.3.9.tar.gz" CACHE STRING "URL for Eigen3 tarball") + set(EIGEN3_MD5 "609286804b0f79be622ccf7f9ff2b660" CACHE STRING "MD5 checksum of Eigen3 tarball") mark_as_advanced(EIGEN3_URL) mark_as_advanced(EIGEN3_MD5) include(ExternalProject) diff --git a/lib/machdyn/Install.py b/lib/machdyn/Install.py index 16dd3038a8..2e90c9ca0f 100644 --- a/lib/machdyn/Install.py +++ b/lib/machdyn/Install.py @@ -17,11 +17,12 @@ parser = ArgumentParser(prog='Install.py', # settings -version = '3.3.7' +version = '3.3.9' tarball = "eigen.tar.gz" # known checksums for different Eigen versions. used to validate the download. checksums = { \ + '3.3.9' : '609286804b0f79be622ccf7f9ff2b660', \ '3.3.7' : '9e30f67e8531477de4117506fe44669b' \ } diff --git a/lib/machdyn/Makefile.lammps b/lib/machdyn/Makefile.lammps index 6c914708dd..71db4fd4bc 100644 --- a/lib/machdyn/Makefile.lammps +++ b/lib/machdyn/Makefile.lammps @@ -1,5 +1,5 @@ # Settings that the LAMMPS build will import when this package library is used -machdyn_SYSINC = -I../../lib/includelink/eigen3 -machdyn_SYSLIB = -machdyn_SYSPATH = +machdyn_SYSINC = +machdyn_SYSLIB = +machdyn_SYSPATH = From e789bf8925fc2cfc8c002e231f3f88feca2273ea Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 6 Aug 2021 11:32:49 -0400 Subject: [PATCH 637/726] use temporary vector container to avoid explicit delete[] --- src/modify.cpp | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/src/modify.cpp b/src/modify.cpp index b2670fe5f9..42c3e62d07 100644 --- a/src/modify.cpp +++ b/src/modify.cpp @@ -1018,13 +1018,12 @@ void Modify::replace_fix(const std::string &oldfix, const std::string &fixcmd, int trysuffix) { auto args = utils::split_words(fixcmd); - char **newarg = new char*[args.size()]; - int i=0; + std::vector newarg(args.size()); + int i = 0; for (const auto &arg : args) { newarg[i++] = (char *)arg.c_str(); } - replace_fix(oldfix.c_str(),args.size(),newarg,trysuffix); - delete[] newarg; + replace_fix(oldfix.c_str(),args.size(),newarg.data(),trysuffix); } /* ---------------------------------------------------------------------- @@ -1279,13 +1278,12 @@ void Modify::add_compute(int narg, char **arg, int trysuffix) void Modify::add_compute(const std::string &computecmd, int trysuffix) { auto args = utils::split_words(computecmd); - char **newarg = new char*[args.size()]; + std::vectornewarg(args.size()); int i=0; for (const auto &arg : args) { newarg[i++] = (char *)arg.c_str(); } - add_compute(args.size(),newarg,trysuffix); - delete[] newarg; + add_compute(args.size(),newarg.data(),trysuffix); } From 01f5b7e09562c8832d6cf34e0871d836fe1a5d9a Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 6 Aug 2021 12:00:54 -0400 Subject: [PATCH 638/726] when creating or replacing a fix or compute, return pointer to new instance --- src/modify.cpp | 25 ++++++++++++------------- src/modify.h | 12 ++++++------ 2 files changed, 18 insertions(+), 19 deletions(-) diff --git a/src/modify.cpp b/src/modify.cpp index 42c3e62d07..53df8092aa 100644 --- a/src/modify.cpp +++ b/src/modify.cpp @@ -803,7 +803,7 @@ int Modify::min_reset_ref() add a new fix or replace one with same ID ------------------------------------------------------------------------- */ -void Modify::add_fix(int narg, char **arg, int trysuffix) +Fix *Modify::add_fix(int narg, char **arg, int trysuffix) { if (narg < 3) error->all(FLERR,"Illegal fix command"); @@ -956,13 +956,14 @@ void Modify::add_fix(int narg, char **arg, int trysuffix) if (newflag) nfix++; fmask[ifix] = fix[ifix]->setmask(); fix[ifix]->post_constructor(); + return fix[ifix]; } /* ---------------------------------------------------------------------- convenience function to allow adding a fix from a single string ------------------------------------------------------------------------- */ -void Modify::add_fix(const std::string &fixcmd, int trysuffix) +Fix *Modify::add_fix(const std::string &fixcmd, int trysuffix) { auto args = utils::split_words(fixcmd); std::vector newarg(args.size()); @@ -970,7 +971,7 @@ void Modify::add_fix(const std::string &fixcmd, int trysuffix) for (const auto &arg : args) { newarg[i++] = (char *)arg.c_str(); } - add_fix(args.size(),newarg.data(),trysuffix); + return add_fix(args.size(),newarg.data(),trysuffix); } @@ -981,8 +982,7 @@ void Modify::add_fix(const std::string &fixcmd, int trysuffix) replace it later with the desired Fix instance ------------------------------------------------------------------------- */ -void Modify::replace_fix(const char *replaceID, - int narg, char **arg, int trysuffix) +Fix *Modify::replace_fix(const char *replaceID, int narg, char **arg, int trysuffix) { int ifix = find_fix(replaceID); if (ifix < 0) error->all(FLERR,"Modify replace_fix ID {} could not be found", replaceID); @@ -1007,15 +1007,14 @@ void Modify::replace_fix(const char *replaceID, // invoke add_fix // it will find and overwrite the replaceID fix - add_fix(narg,arg,trysuffix); + return add_fix(narg,arg,trysuffix); } /* ---------------------------------------------------------------------- convenience function to allow replacing a fix from a single string ------------------------------------------------------------------------- */ -void Modify::replace_fix(const std::string &oldfix, - const std::string &fixcmd, int trysuffix) +Fix *Modify::replace_fix(const std::string &oldfix, const std::string &fixcmd, int trysuffix) { auto args = utils::split_words(fixcmd); std::vector newarg(args.size()); @@ -1023,7 +1022,7 @@ void Modify::replace_fix(const std::string &oldfix, for (const auto &arg : args) { newarg[i++] = (char *)arg.c_str(); } - replace_fix(oldfix.c_str(),args.size(),newarg.data(),trysuffix); + return replace_fix(oldfix.c_str(),args.size(),newarg.data(),trysuffix); } /* ---------------------------------------------------------------------- @@ -1213,7 +1212,7 @@ int Modify::check_rigid_list_overlap(int *select) add a new compute ------------------------------------------------------------------------- */ -void Modify::add_compute(int narg, char **arg, int trysuffix) +Compute *Modify::add_compute(int narg, char **arg, int trysuffix) { if (narg < 3) error->all(FLERR,"Illegal compute command"); @@ -1268,14 +1267,14 @@ void Modify::add_compute(int narg, char **arg, int trysuffix) if (compute[ncompute] == nullptr) error->all(FLERR,utils::check_packages_for_style("compute",arg[2],lmp)); - ncompute++; + return compute[ncompute++]; } /* ---------------------------------------------------------------------- convenience function to allow adding a compute from a single string ------------------------------------------------------------------------- */ -void Modify::add_compute(const std::string &computecmd, int trysuffix) +Compute *Modify::add_compute(const std::string &computecmd, int trysuffix) { auto args = utils::split_words(computecmd); std::vectornewarg(args.size()); @@ -1283,7 +1282,7 @@ void Modify::add_compute(const std::string &computecmd, int trysuffix) for (const auto &arg : args) { newarg[i++] = (char *)arg.c_str(); } - add_compute(args.size(),newarg.data(),trysuffix); + return add_compute(args.size(),newarg.data(),trysuffix); } diff --git a/src/modify.h b/src/modify.h index 5111ef43ab..9446f285e7 100644 --- a/src/modify.h +++ b/src/modify.h @@ -100,18 +100,18 @@ class Modify : protected Pointers { virtual int min_dof(); virtual int min_reset_ref(); - void add_fix(int, char **, int trysuffix = 1); - void add_fix(const std::string &, int trysuffix = 1); - void replace_fix(const char *, int, char **, int trysuffix = 1); - void replace_fix(const std::string &, const std::string &, int trysuffix = 1); + Fix *add_fix(int, char **, int trysuffix = 1); + Fix *add_fix(const std::string &, int trysuffix = 1); + Fix *replace_fix(const char *, int, char **, int trysuffix = 1); + Fix *replace_fix(const std::string &, const std::string &, int trysuffix = 1); void modify_fix(int, char **); void delete_fix(const std::string &); void delete_fix(int); int find_fix(const std::string &); int find_fix_by_style(const char *); - void add_compute(int, char **, int trysuffix = 1); - void add_compute(const std::string &, int trysuffix = 1); + Compute *add_compute(int, char **, int trysuffix = 1); + Compute *add_compute(const std::string &, int trysuffix = 1); void modify_compute(int, char **); void delete_compute(const std::string &); void delete_compute(int); From 0d9344c9e2335aaf6f51c9efe03efff807768594 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 6 Aug 2021 12:09:06 -0400 Subject: [PATCH 639/726] simplify --- src/velocity.cpp | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/src/velocity.cpp b/src/velocity.cpp index acc374fa4a..9397e41861 100644 --- a/src/velocity.cpp +++ b/src/velocity.cpp @@ -849,15 +849,11 @@ void Velocity::options(int narg, char **arg) iarg += 2; } else if (strcmp(arg[iarg],"temp") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal velocity command"); - int icompute; - for (icompute = 0; icompute < modify->ncompute; icompute++) - if (strcmp(arg[iarg+1],modify->compute[icompute]->id) == 0) break; - if (icompute == modify->ncompute) - error->all(FLERR,"Could not find velocity temperature ID"); + int icompute = modify->find_compute(arg[iarg+1]); + if (icompute < 0) error->all(FLERR,"Could not find velocity temperature ID"); temperature = modify->compute[icompute]; if (temperature->tempflag == 0) - error->all(FLERR, - "Velocity temperature ID does not compute temperature"); + error->all(FLERR,"Velocity temperature ID does not compute temperature"); iarg += 2; } else if (strcmp(arg[iarg],"bias") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal velocity command"); From 0b30f57812a911ad0a51f72a92125bc911957096 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 6 Aug 2021 12:12:34 -0400 Subject: [PATCH 640/726] streamline code by using changes in Modify class --- src/velocity.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/velocity.cpp b/src/velocity.cpp index 9397e41861..fa09f451df 100644 --- a/src/velocity.cpp +++ b/src/velocity.cpp @@ -187,11 +187,11 @@ void Velocity::create(double t_desired, int seed) Compute *temperature_nobias = nullptr; if (temperature == nullptr || bias_flag) { - modify->add_compute(fmt::format("velocity_temp {} temp",group->names[igroup])); + auto newcompute = modify->add_compute(fmt::format("velocity_temp {} temp",group->names[igroup])); if (temperature == nullptr) { - temperature = modify->compute[modify->ncompute-1]; + temperature = newcompute; tcreate_flag = 1; - } else temperature_nobias = modify->compute[modify->ncompute-1]; + } else temperature_nobias = newcompute; } // initialize temperature computation(s) @@ -575,8 +575,7 @@ void Velocity::scale(int /*narg*/, char **arg) int tflag = 0; if (temperature == nullptr) { - modify->add_compute(fmt::format("velocity_temp {} temp",group->names[igroup])); - temperature = modify->compute[modify->ncompute-1]; + temperature = modify->add_compute(fmt::format("velocity_temp {} temp",group->names[igroup])); tflag = 1; } From 156790df2c96e90bf63ee7b6d52173ef12e452fc Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 6 Aug 2021 18:34:32 -0400 Subject: [PATCH 641/726] apply changes to modify class --- src/CORESHELL/compute_temp_cs.cpp | 17 ++++--- src/DPD-REACT/fix_rx.cpp | 10 ++-- src/DPD-REACT/fix_rx.h | 2 +- src/EXTRA-COMPUTE/compute_hma.cpp | 5 +- src/FEP/fix_adapt_fep.cpp | 12 ++--- src/GRANULAR/pair_gran_hooke_history.cpp | 35 +++++--------- src/GRANULAR/pair_granular.cpp | 59 ++++++++++-------------- src/KOKKOS/fix_rx_kokkos.cpp | 27 +++++------ src/MISC/pair_srp.cpp | 3 +- src/OPENMP/pair_reaxff_omp.cpp | 6 +-- src/REACTION/fix_bond_react.cpp | 45 ++++++------------ 11 files changed, 85 insertions(+), 136 deletions(-) diff --git a/src/CORESHELL/compute_temp_cs.cpp b/src/CORESHELL/compute_temp_cs.cpp index ed6634f4b0..04c7a743d8 100644 --- a/src/CORESHELL/compute_temp_cs.cpp +++ b/src/CORESHELL/compute_temp_cs.cpp @@ -19,19 +19,19 @@ #include "compute_temp_cs.h" -#include - #include "atom.h" #include "atom_vec.h" +#include "comm.h" #include "domain.h" -#include "update.h" +#include "error.h" +#include "fix_store.h" #include "force.h" #include "group.h" -#include "modify.h" -#include "fix_store.h" -#include "comm.h" #include "memory.h" -#include "error.h" +#include "modify.h" +#include "update.h" + +#include using namespace LAMMPS_NS; @@ -74,8 +74,7 @@ ComputeTempCS::ComputeTempCS(LAMMPS *lmp, int narg, char **arg) : strcpy(id_fix,fixcmd.c_str()); fixcmd += fmt::format(" {} STORE peratom 0 1", group->names[igroup]); - modify->add_fix(fixcmd); - fix = (FixStore *) modify->fix[modify->nfix-1]; + fix = (FixStore *)modify->add_fix(fixcmd); // set fix store values = 0 for now // fill them in via setup() once Comm::borders() has been called diff --git a/src/DPD-REACT/fix_rx.cpp b/src/DPD-REACT/fix_rx.cpp index 52dcaaf2d5..e50e145853 100644 --- a/src/DPD-REACT/fix_rx.cpp +++ b/src/DPD-REACT/fix_rx.cpp @@ -18,6 +18,7 @@ #include "comm.h" #include "domain.h" #include "error.h" +#include "fix_property_atom.h" #include "force.h" #include "group.h" #include "math_special.h" @@ -344,12 +345,9 @@ void FixRX::post_constructor() newcmd1 += " ghost yes"; newcmd2 += " ghost yes"; - modify->add_fix(newcmd1); - fix_species = (FixPropertyAtom *) modify->fix[modify->nfix-1]; - restartFlag = modify->fix[modify->nfix-1]->restart_reset; - - modify->add_fix(newcmd2); - fix_species_old = (FixPropertyAtom *) modify->fix[modify->nfix-1]; + fix_species = (FixPropertyAtom *) modify->add_fix(newcmd1); + restartFlag = fix_species->restart_reset; + fix_species_old = (FixPropertyAtom *) modify->add_fix(newcmd2); if (nspecies==0) error->all(FLERR,"There are no rx species specified."); diff --git a/src/DPD-REACT/fix_rx.h b/src/DPD-REACT/fix_rx.h index debf4d911e..1d65c4c09e 100644 --- a/src/DPD-REACT/fix_rx.h +++ b/src/DPD-REACT/fix_rx.h @@ -136,7 +136,7 @@ class FixRX : public Fix { //!< ODE Solver diagnostics. void odeDiagnostics(void); - private: + protected: char *kineticsFile; char *id_fix_species, *id_fix_species_old; class FixPropertyAtom *fix_species, *fix_species_old; diff --git a/src/EXTRA-COMPUTE/compute_hma.cpp b/src/EXTRA-COMPUTE/compute_hma.cpp index 09a2840906..043dcec6cf 100644 --- a/src/EXTRA-COMPUTE/compute_hma.cpp +++ b/src/EXTRA-COMPUTE/compute_hma.cpp @@ -91,9 +91,8 @@ ComputeHMA::ComputeHMA(LAMMPS *lmp, int narg, char **arg) : // our new fix's group = same as compute group id_fix = utils::strdup(std::string(id)+"_COMPUTE_STORE"); - modify->add_fix(fmt::format("{} {} STORE peratom 1 3", - id_fix, group->names[igroup])); - fix = (FixStore *) modify->fix[modify->nfix-1]; + fix = (FixStore *)modify->add_fix(fmt::format("{} {} STORE peratom 1 3", + id_fix, group->names[igroup])); // calculate xu,yu,zu for fix store array // skip if reset from restart file diff --git a/src/FEP/fix_adapt_fep.cpp b/src/FEP/fix_adapt_fep.cpp index b5aad03887..3b4290f2c9 100644 --- a/src/FEP/fix_adapt_fep.cpp +++ b/src/FEP/fix_adapt_fep.cpp @@ -216,10 +216,8 @@ void FixAdaptFEP::post_constructor() id_fix_chg = nullptr; if (diamflag) { - auto cmd = fmt::format("{}_FIX_STORE_DIAM {} STORE peratom 1 1", - group->names[igroup]); - modify->add_fix(cmd); - fix_diam = (FixStore *) modify->fix[modify->nfix-1]; + auto cmd = fmt::format("{}_FIX_STORE_DIAM {} STORE peratom 1 1", group->names[igroup]); + fix_diam = (FixStore *) modify->add_fix(cmd); if (fix_diam->restart_reset) fix_diam->restart_reset = 0; else { @@ -236,10 +234,8 @@ void FixAdaptFEP::post_constructor() } if (chgflag) { - auto cmd = fmt::format("{}_FIX_STORE_CHG {} STORE peratom 1 1", - group->names[igroup]); - modify->add_fix(cmd); - fix_chg = (FixStore *) modify->fix[modify->nfix-1]; + auto cmd = fmt::format("{}_FIX_STORE_CHG {} STORE peratom 1 1", group->names[igroup]); + fix_chg = (FixStore *) modify->add_fix(cmd); if (fix_chg->restart_reset) fix_chg->restart_reset = 0; else { diff --git a/src/GRANULAR/pair_gran_hooke_history.cpp b/src/GRANULAR/pair_gran_hooke_history.cpp index 7137b911f1..e6013b9940 100644 --- a/src/GRANULAR/pair_gran_hooke_history.cpp +++ b/src/GRANULAR/pair_gran_hooke_history.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -68,8 +67,8 @@ PairGranHookeHistory::PairGranHookeHistory(LAMMPS *lmp) : Pair(lmp) // this is so final order of Modify:fix will conform to input script fix_history = nullptr; - modify->add_fix("NEIGH_HISTORY_HH_DUMMY"+std::to_string(instance_me)+" all DUMMY"); - fix_dummy = (FixDummy *) modify->fix[modify->nfix-1]; + fix_dummy = (FixDummy *) modify->add_fix("NEIGH_HISTORY_HH_DUMMY" + + std::to_string(instance_me) + " all DUMMY"); } /* ---------------------------------------------------------------------- */ @@ -437,20 +436,19 @@ void PairGranHookeHistory::init_style() if (history && (fix_history == nullptr)) { auto cmd = fmt::format("NEIGH_HISTORY_HH{} all NEIGH_HISTORY {}", instance_me, size_history); - modify->replace_fix("NEIGH_HISTORY_HH_DUMMY"+std::to_string(instance_me),cmd,1); - int ifix = modify->find_fix("NEIGH_HISTORY_HH"+std::to_string(instance_me)); - fix_history = (FixNeighHistory *) modify->fix[ifix]; + fix_history = (FixNeighHistory *) modify->replace_fix("NEIGH_HISTORY_HH_DUMMY" + + std::to_string(instance_me),cmd,1); fix_history->pair = this; } // check for FixFreeze and set freeze_group_bit - for (i = 0; i < modify->nfix; i++) - if (strcmp(modify->fix[i]->style,"freeze") == 0) break; - if (i < modify->nfix) freeze_group_bit = modify->fix[i]->groupbit; - else freeze_group_bit = 0; + int ifreeze = modify->find_fix_by_style("^freeze"); + if (ifreeze < 0) freeze_group_bit = 0; + else freeze_group_bit = modify->fix[ifreeze]->groupbit; // check for FixRigid so can extract rigid body masses + // FIXME: this only catches the first rigid fix, there may be multiple. fix_rigid = nullptr; for (i = 0; i < modify->nfix; i++) @@ -459,15 +457,8 @@ void PairGranHookeHistory::init_style() // check for FixPour and FixDeposit so can extract particle radii - int ipour; - for (ipour = 0; ipour < modify->nfix; ipour++) - if (strcmp(modify->fix[ipour]->style,"pour") == 0) break; - if (ipour == modify->nfix) ipour = -1; - - int idep; - for (idep = 0; idep < modify->nfix; idep++) - if (strcmp(modify->fix[idep]->style,"deposit") == 0) break; - if (idep == modify->nfix) idep = -1; + int ipour = modify->find_fix_by_style("^pour"); + int idep = modify->find_fix_by_style("^deposit"); // set maxrad_dynamic and maxrad_frozen for each type // include future FixPour and FixDeposit particles as dynamic @@ -498,10 +489,8 @@ void PairGranHookeHistory::init_style() else onerad_dynamic[type[i]] = MAX(onerad_dynamic[type[i]],radius[i]); - MPI_Allreduce(&onerad_dynamic[1],&maxrad_dynamic[1],atom->ntypes, - MPI_DOUBLE,MPI_MAX,world); - MPI_Allreduce(&onerad_frozen[1],&maxrad_frozen[1],atom->ntypes, - MPI_DOUBLE,MPI_MAX,world); + MPI_Allreduce(&onerad_dynamic[1],&maxrad_dynamic[1],atom->ntypes,MPI_DOUBLE,MPI_MAX,world); + MPI_Allreduce(&onerad_frozen[1],&maxrad_frozen[1],atom->ntypes,MPI_DOUBLE,MPI_MAX,world); // set fix which stores history info diff --git a/src/GRANULAR/pair_granular.cpp b/src/GRANULAR/pair_granular.cpp index cca349b819..d0e75d4812 100644 --- a/src/GRANULAR/pair_granular.cpp +++ b/src/GRANULAR/pair_granular.cpp @@ -20,25 +20,24 @@ #include "pair_granular.h" -#include -#include - #include "atom.h" -#include "force.h" -#include "update.h" -#include "modify.h" +#include "comm.h" +#include "error.h" #include "fix.h" #include "fix_dummy.h" #include "fix_neigh_history.h" -#include "comm.h" -#include "neighbor.h" -#include "neigh_list.h" -#include "neigh_request.h" -#include "memory.h" -#include "error.h" +#include "force.h" #include "math_const.h" #include "math_special.h" +#include "memory.h" +#include "modify.h" +#include "neigh_list.h" +#include "neigh_request.h" +#include "neighbor.h" +#include "update.h" +#include +#include using namespace LAMMPS_NS; using namespace MathConst; @@ -103,8 +102,7 @@ PairGranular::PairGranular(LAMMPS *lmp) : Pair(lmp) // this is so final order of Modify:fix will conform to input script fix_history = nullptr; - modify->add_fix("NEIGH_HISTORY_GRANULAR_DUMMY all DUMMY"); - fix_dummy = (FixDummy *) modify->fix[modify->nfix-1]; + fix_dummy = (FixDummy *) modify->add_fix("NEIGH_HISTORY_GRANULAR_DUMMY all DUMMY"); } /* ---------------------------------------------------------------------- */ @@ -1122,21 +1120,21 @@ void PairGranular::init_style() // this is so its order in the fix list is preserved if (use_history && fix_history == nullptr) { - modify->replace_fix("NEIGH_HISTORY_GRANULAR_DUMMY","NEIGH_HISTORY_GRANULAR" - " all NEIGH_HISTORY " + std::to_string(size_history),1); - int ifix = modify->find_fix("NEIGH_HISTORY_GRANULAR"); - fix_history = (FixNeighHistory *) modify->fix[ifix]; + fix_history = (FixNeighHistory *) modify->replace_fix("NEIGH_HISTORY_GRANULAR_DUMMY", + "NEIGH_HISTORY_GRANULAR" + " all NEIGH_HISTORY " + + std::to_string(size_history),1); fix_history->pair = this; } // check for FixFreeze and set freeze_group_bit - for (i = 0; i < modify->nfix; i++) - if (strcmp(modify->fix[i]->style,"freeze") == 0) break; - if (i < modify->nfix) freeze_group_bit = modify->fix[i]->groupbit; - else freeze_group_bit = 0; + int ifix = modify->find_fix_by_style("^freeze"); + if (ifix < 0) freeze_group_bit = 0; + else freeze_group_bit = modify->fix[ifix]->groupbit; // check for FixRigid so can extract rigid body masses + // FIXME: this only catches the first rigid fix, there may be multiple. fix_rigid = nullptr; for (i = 0; i < modify->nfix; i++) @@ -1145,15 +1143,8 @@ void PairGranular::init_style() // check for FixPour and FixDeposit so can extract particle radii - int ipour; - for (ipour = 0; ipour < modify->nfix; ipour++) - if (strcmp(modify->fix[ipour]->style,"pour") == 0) break; - if (ipour == modify->nfix) ipour = -1; - - int idep; - for (idep = 0; idep < modify->nfix; idep++) - if (strcmp(modify->fix[idep]->style,"deposit") == 0) break; - if (idep == modify->nfix) idep = -1; + int ipour = modify->find_fix_by_style("^pour"); + int idep = modify->find_fix_by_style("^deposit"); // set maxrad_dynamic and maxrad_frozen for each type // include future FixPour and FixDeposit particles as dynamic @@ -1187,10 +1178,8 @@ void PairGranular::init_style() } } - MPI_Allreduce(&onerad_dynamic[1],&maxrad_dynamic[1],atom->ntypes, - MPI_DOUBLE,MPI_MAX,world); - MPI_Allreduce(&onerad_frozen[1],&maxrad_frozen[1],atom->ntypes, - MPI_DOUBLE,MPI_MAX,world); + MPI_Allreduce(&onerad_dynamic[1],&maxrad_dynamic[1],atom->ntypes,MPI_DOUBLE,MPI_MAX,world); + MPI_Allreduce(&onerad_frozen[1],&maxrad_frozen[1],atom->ntypes,MPI_DOUBLE,MPI_MAX,world); // set fix which stores history info diff --git a/src/KOKKOS/fix_rx_kokkos.cpp b/src/KOKKOS/fix_rx_kokkos.cpp index 7bc7bf95c3..15b4a39849 100644 --- a/src/KOKKOS/fix_rx_kokkos.cpp +++ b/src/KOKKOS/fix_rx_kokkos.cpp @@ -13,24 +13,25 @@ ------------------------------------------------------------------------- */ #include "fix_rx_kokkos.h" -#include -#include "atom_masks.h" + #include "atom_kokkos.h" -#include "force.h" -#include "memory_kokkos.h" -#include "update.h" -#include "modify.h" -#include "neighbor.h" -#include "neigh_list_kokkos.h" -#include "neigh_request.h" -#include "error.h" -#include "math_special_kokkos.h" +#include "atom_masks.h" #include "comm.h" #include "domain.h" +#include "error.h" +#include "fix_property_atom.h" +#include "force.h" #include "kokkos.h" - +#include "math_special_kokkos.h" +#include "memory_kokkos.h" +#include "modify.h" +#include "neigh_list_kokkos.h" +#include "neigh_request.h" +#include "neighbor.h" +#include "update.h" #include // DBL_EPSILON +#include using namespace LAMMPS_NS; using namespace FixConst; @@ -104,7 +105,7 @@ void FixRxKokkos::post_constructor() FixRX::post_constructor(); // Need a copy of this - this->my_restartFlag = modify->fix[modify->nfix-1]->restart_reset; + this->my_restartFlag = fix_species->restart_reset; } /* ---------------------------------------------------------------------- */ diff --git a/src/MISC/pair_srp.cpp b/src/MISC/pair_srp.cpp index 332e103b12..0fef989c88 100644 --- a/src/MISC/pair_srp.cpp +++ b/src/MISC/pair_srp.cpp @@ -84,8 +84,7 @@ PairSRP::PairSRP(LAMMPS *lmp) : Pair(lmp), fix_id(nullptr) // will be invoked before other fixes that migrate atoms // this is checked for in FixSRP - modify->add_fix(fmt::format("{:02d}_FIX_SRP all SRP",srp_instance)); - f_srp = (FixSRP *) modify->fix[modify->nfix-1]; + f_srp = (FixSRP *) modify->add_fix(fmt::format("{:02d}_FIX_SRP all SRP",srp_instance)); ++srp_instance; } diff --git a/src/OPENMP/pair_reaxff_omp.cpp b/src/OPENMP/pair_reaxff_omp.cpp index 69d68e67e8..6cf3e90575 100644 --- a/src/OPENMP/pair_reaxff_omp.cpp +++ b/src/OPENMP/pair_reaxff_omp.cpp @@ -136,10 +136,8 @@ void PairReaxFFOMP::init_style() error->warning(FLERR,"Total cutoff < 2*bond cutoff. May need to use an " "increased neighbor list skin."); - if (fix_reaxff == nullptr) { - modify->add_fix(fmt::format("{} all REAXFF",fix_id)); - fix_reaxff = (FixReaxFF *) modify->fix[modify->nfix-1]; - } + if (fix_reaxff == nullptr) + fix_reaxff = (FixReaxFF *) modify->add_fix(fmt::format("{} all REAXFF",fix_id)); api->control->nthreads = comm->nthreads; } diff --git a/src/REACTION/fix_bond_react.cpp b/src/REACTION/fix_bond_react.cpp index 46d7efdf8d..e52347727f 100644 --- a/src/REACTION/fix_bond_react.cpp +++ b/src/REACTION/fix_bond_react.cpp @@ -701,37 +701,25 @@ it will have the name 'i_limit_tags' and will be intitialized to 0 (not in group void FixBondReact::post_constructor() { // let's add the limit_tags per-atom property fix - std::string cmd = std::string("bond_react_props_internal"); - id_fix2 = new char[cmd.size()+1]; - strcpy(id_fix2,cmd.c_str()); - - int ifix = modify->find_fix(id_fix2); - if (ifix == -1) { - cmd += std::string(" all property/atom i_limit_tags i_react_tags ghost yes"); - modify->add_fix(cmd); - } + id_fix2 = utils::strdup("bond_react_props_internal"); + if (modify->find_fix(id_fix2) < 0) + modify->add_fix(std::string(id_fix2)+" all property/atom i_limit_tags i_react_tags ghost yes"); // create master_group if not already existing // NOTE: limit_tags and react_tags automaticaly intitialized to zero (unless read from restart) group->find_or_create(master_group); - cmd = fmt::format("{} dynamic all property limit_tags",master_group); + std::string cmd = fmt::format("{} dynamic all property limit_tags",master_group); group->assign(cmd); if (stabilization_flag == 1) { int groupid = group->find(exclude_group); // create exclude_group if not already existing, or use as parent group if static if (groupid == -1 || group->dynamic[groupid] == 0) { - // create stabilization per-atom property - cmd = std::string("bond_react_stabilization_internal"); - id_fix3 = new char[cmd.size()+1]; - strcpy(id_fix3,cmd.c_str()); - ifix = modify->find_fix(id_fix3); - if (ifix == -1) { - cmd += std::string(" all property/atom i_statted_tags ghost yes"); - modify->add_fix(cmd); - fix3 = modify->fix[modify->nfix-1]; - } + // create stabilization per-atom property + id_fix3 = utils::strdup("bond_react_stabilization_internal"); + if (modify->find_fix(id_fix3) < 0) + fix3 = modify->add_fix(std::string(id_fix3) + " all property/atom i_statted_tags ghost yes"); statted_id = utils::strdup("statted_tags"); @@ -770,7 +758,7 @@ void FixBondReact::post_constructor() // this returns names of corresponding property int unused; - char * idprop; + char *idprop; idprop = (char *) fix->extract("property",unused); if (idprop == nullptr) error->all(FLERR,"Exclude group must be a per-atom property group"); @@ -787,17 +775,10 @@ void FixBondReact::post_constructor() // let's create a new nve/limit fix to limit newly reacted atoms - cmd = std::string("bond_react_MASTER_nve_limit"); - id_fix1 = new char[cmd.size()+1]; - strcpy(id_fix1,cmd.c_str()); - - ifix = modify->find_fix(id_fix1); - - if (ifix == -1) { - cmd += fmt::format(" {} nve/limit {}",master_group,nve_limit_xmax); - modify->add_fix(cmd); - fix1 = modify->fix[modify->nfix-1]; - } + id_fix1 = utils::strdup("bond_react_MASTER_nve_limit"); + if (modify->find_fix(id_fix1) < 0) + fix1 = modify->add_fix(fmt::format("{} {} nve/limit {}", + id_fix1,master_group,nve_limit_xmax)); } } From 88604328f5b1b1f6e34cfd10ad7f1575a5b7d553 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 6 Aug 2021 18:44:42 -0400 Subject: [PATCH 642/726] workaround for PGI compilers --- cmake/Modules/Packages/MACHDYN.cmake | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/cmake/Modules/Packages/MACHDYN.cmake b/cmake/Modules/Packages/MACHDYN.cmake index 6d941f9798..efe8a562eb 100644 --- a/cmake/Modules/Packages/MACHDYN.cmake +++ b/cmake/Modules/Packages/MACHDYN.cmake @@ -30,3 +30,8 @@ else() endif() target_link_libraries(lammps PRIVATE Eigen3::Eigen) endif() + +# PGI/Nvidia compiler internals collide with vector intrinsics support in Eigen3 +if((CMAKE_CXX_COMPILER_ID STREQUAL "PGI") OR (CMAKE_CXX_COMPILER_ID STREQUAL "NVHPC")) + target_compile_definitions(lammps PRIVATE -DEIGEN_DONT_VECTORIZE) +endif() From f23b04f9b6d2f2b6f0c5c6d99c6c2b4410906b4a Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 6 Aug 2021 18:53:46 -0400 Subject: [PATCH 643/726] update Eigen3 to support the latest stable release 3.3.9 --- cmake/Modules/Packages/MACHDYN.cmake | 4 ++-- lib/machdyn/Install.py | 3 ++- lib/machdyn/Makefile.lammps | 6 +++--- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/cmake/Modules/Packages/MACHDYN.cmake b/cmake/Modules/Packages/MACHDYN.cmake index efe8a562eb..fab532541e 100644 --- a/cmake/Modules/Packages/MACHDYN.cmake +++ b/cmake/Modules/Packages/MACHDYN.cmake @@ -7,8 +7,8 @@ endif() option(DOWNLOAD_EIGEN3 "Download Eigen3 instead of using an already installed one)" ${DOWNLOAD_EIGEN3_DEFAULT}) if(DOWNLOAD_EIGEN3) message(STATUS "Eigen3 download requested - we will build our own") - set(EIGEN3_URL "https://gitlab.com/libeigen/eigen/-/archive/3.3.7/eigen-3.3.7.tar.gz" CACHE STRING "URL for Eigen3 tarball") - set(EIGEN3_MD5 "9e30f67e8531477de4117506fe44669b" CACHE STRING "MD5 checksum of Eigen3 tarball") + set(EIGEN3_URL "https://gitlab.com/libeigen/eigen/-/archive/3.3.9/eigen-3.3.9.tar.gz" CACHE STRING "URL for Eigen3 tarball") + set(EIGEN3_MD5 "609286804b0f79be622ccf7f9ff2b660" CACHE STRING "MD5 checksum of Eigen3 tarball") mark_as_advanced(EIGEN3_URL) mark_as_advanced(EIGEN3_MD5) include(ExternalProject) diff --git a/lib/machdyn/Install.py b/lib/machdyn/Install.py index 16dd3038a8..2e90c9ca0f 100644 --- a/lib/machdyn/Install.py +++ b/lib/machdyn/Install.py @@ -17,11 +17,12 @@ parser = ArgumentParser(prog='Install.py', # settings -version = '3.3.7' +version = '3.3.9' tarball = "eigen.tar.gz" # known checksums for different Eigen versions. used to validate the download. checksums = { \ + '3.3.9' : '609286804b0f79be622ccf7f9ff2b660', \ '3.3.7' : '9e30f67e8531477de4117506fe44669b' \ } diff --git a/lib/machdyn/Makefile.lammps b/lib/machdyn/Makefile.lammps index 6c914708dd..71db4fd4bc 100644 --- a/lib/machdyn/Makefile.lammps +++ b/lib/machdyn/Makefile.lammps @@ -1,5 +1,5 @@ # Settings that the LAMMPS build will import when this package library is used -machdyn_SYSINC = -I../../lib/includelink/eigen3 -machdyn_SYSLIB = -machdyn_SYSPATH = +machdyn_SYSINC = +machdyn_SYSLIB = +machdyn_SYSPATH = From 68c15ebf04b83f1c12920e5beb05dad4a0eafd88 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 6 Aug 2021 21:30:32 -0400 Subject: [PATCH 644/726] refactor/simplify code due to changes in Modify --- src/balance.cpp | 3 +-- src/compute_chunk_atom.cpp | 10 +++------- src/compute_displace_atom.cpp | 6 ++---- src/compute_msd.cpp | 21 ++++++++------------- src/compute_msd_chunk.cpp | 21 +++++++++------------ src/compute_vacf.cpp | 12 ++++-------- src/dump_custom.cpp | 11 ++++------- src/fix_adapt.cpp | 18 ++++++------------ src/min.cpp | 3 +-- src/respa.cpp | 5 ++--- src/variable.cpp | 12 +++--------- 11 files changed, 43 insertions(+), 79 deletions(-) diff --git a/src/balance.cpp b/src/balance.cpp index af142f404d..feb5eae708 100644 --- a/src/balance.cpp +++ b/src/balance.cpp @@ -499,8 +499,7 @@ void Balance::weight_storage(char *prefix) int ifix = modify->find_fix(cmd); if (ifix < 1) { cmd += " all STORE peratom 0 1"; - modify->add_fix(cmd); - fixstore = (FixStore *) modify->fix[modify->nfix-1]; + fixstore = (FixStore *) modify->add_fix(cmd); } else fixstore = (FixStore *) modify->fix[ifix]; // do not carry weights with atoms during normal atom migration diff --git a/src/compute_chunk_atom.cpp b/src/compute_chunk_atom.cpp index 81eafcf8d6..5d789f722a 100644 --- a/src/compute_chunk_atom.cpp +++ b/src/compute_chunk_atom.cpp @@ -562,13 +562,9 @@ void ComputeChunkAtom::init() // fixstore initializes all values to 0.0 if ((idsflag == ONCE || lockcount) && !fixstore) { - std::string cmd = id + std::string("_COMPUTE_STORE"); - id_fix = new char[cmd.size()+1]; - strcpy(id_fix,cmd.c_str()); - - cmd += fmt::format(" {} STORE peratom 1 1", group->names[igroup]); - modify->add_fix(cmd); - fixstore = (FixStore *) modify->fix[modify->nfix-1]; + id_fix = utils::strdup(id + std::string("_COMPUTE_STORE")); + fixstore = (FixStore *) modify->add_fix(fmt::format("{} {} STORE peratom 1 1", + id_fix, group->names[igroup])); } if ((idsflag != ONCE && !lockcount) && fixstore) { diff --git a/src/compute_displace_atom.cpp b/src/compute_displace_atom.cpp index 68776c1936..821525c53a 100644 --- a/src/compute_displace_atom.cpp +++ b/src/compute_displace_atom.cpp @@ -74,10 +74,8 @@ ComputeDisplaceAtom::ComputeDisplaceAtom(LAMMPS *lmp, int narg, char **arg) : // id = compute-ID + COMPUTE_STORE, fix group = compute group id_fix = utils::strdup(std::string(id) + "_COMPUTE_STORE"); - std::string cmd = id_fix + fmt::format(" {} STORE peratom 1 3", - group->names[igroup]); - modify->add_fix(cmd); - fix = (FixStore *) modify->fix[modify->nfix-1]; + fix = (FixStore *) modify->add_fix(fmt::format("{} {} STORE peratom 1 3", + id_fix, group->names[igroup])); // calculate xu,yu,zu for fix store array // skip if reset from restart file diff --git a/src/compute_msd.cpp b/src/compute_msd.cpp index ce9e10304e..209eec2810 100644 --- a/src/compute_msd.cpp +++ b/src/compute_msd.cpp @@ -14,16 +14,15 @@ #include "compute_msd.h" -#include - #include "atom.h" -#include "update.h" -#include "group.h" #include "domain.h" -#include "modify.h" -#include "fix_store.h" #include "error.h" +#include "fix_store.h" +#include "group.h" +#include "modify.h" +#include "update.h" +#include using namespace LAMMPS_NS; @@ -66,13 +65,9 @@ ComputeMSD::ComputeMSD(LAMMPS *lmp, int narg, char **arg) : // create a new fix STORE style for reference positions // id = compute-ID + COMPUTE_STORE, fix group = compute group - std::string fixcmd = id + std::string("_COMPUTE_STORE"); - id_fix = new char[fixcmd.size()+1]; - strcpy(id_fix,fixcmd.c_str()); - - fixcmd += fmt::format(" {} STORE peratom 1 3",group->names[igroup]); - modify->add_fix(fixcmd); - fix = (FixStore *) modify->fix[modify->nfix-1]; + id_fix = utils::strdup(id + std::string("_COMPUTE_STORE")); + fix = (FixStore *) modify->add_fix(fmt::format("{} {} STORE peratom 1 3", + id_fix, group->names[igroup])); // calculate xu,yu,zu for fix store array // skip if reset from restart file diff --git a/src/compute_msd_chunk.cpp b/src/compute_msd_chunk.cpp index 74528da2f6..0d5b146338 100644 --- a/src/compute_msd_chunk.cpp +++ b/src/compute_msd_chunk.cpp @@ -14,18 +14,17 @@ #include "compute_msd_chunk.h" -#include - #include "atom.h" -#include "group.h" -#include "update.h" -#include "modify.h" #include "compute_chunk_atom.h" #include "domain.h" -#include "fix_store.h" -#include "memory.h" #include "error.h" +#include "fix_store.h" +#include "group.h" +#include "memory.h" +#include "modify.h" +#include "update.h" +#include using namespace LAMMPS_NS; @@ -52,16 +51,14 @@ ComputeMSDChunk::ComputeMSDChunk(LAMMPS *lmp, int narg, char **arg) : // create a new fix STORE style for reference positions // id = compute-ID + COMPUTE_STORE, fix group = compute group - // do not know size of array at this point, just allocate 1x3 array + // do not know size of array at this point, just allocate 1x1 array // fix creation must be done now so that a restart run can // potentially re-populate the fix array (and change it to correct size) // otherwise size reset and init will be done in setup() id_fix = utils::strdup(std::string(id) + "_COMPUTE_STORE"); - std::string fixcmd = id_fix - + fmt::format(" {} STORE global 1 1",group->names[igroup]); - modify->add_fix(fixcmd); - fix = (FixStore *) modify->fix[modify->nfix-1]; + fix = (FixStore *) modify->add_fix(fmt::format("{} {} STORE global 1 1", + id_fix,group->names[igroup])); } /* ---------------------------------------------------------------------- */ diff --git a/src/compute_vacf.cpp b/src/compute_vacf.cpp index ba88c6d2c1..90dcbf8d4f 100644 --- a/src/compute_vacf.cpp +++ b/src/compute_vacf.cpp @@ -14,8 +14,6 @@ #include "compute_vacf.h" -#include - #include "atom.h" #include "update.h" #include "group.h" @@ -23,6 +21,7 @@ #include "fix_store.h" #include "error.h" +#include using namespace LAMMPS_NS; @@ -42,12 +41,9 @@ ComputeVACF::ComputeVACF(LAMMPS *lmp, int narg, char **arg) : // create a new fix STORE style // id = compute-ID + COMPUTE_STORE, fix group = compute group - std::string fixcmd = id + std::string("_COMPUTE_STORE"); - id_fix = new char[fixcmd.size()+1]; - strcpy(id_fix,fixcmd.c_str()); - fixcmd += fmt::format(" {} STORE peratom 1 3", group->names[igroup]); - modify->add_fix(fixcmd); - fix = (FixStore *) modify->fix[modify->nfix-1]; + id_fix = utils::strdup(id + std::string("_COMPUTE_STORE")); + fix = (FixStore *) modify->add_fix(fmt::format("{} {} STORE peratom 1 3", + id_fix, group->names[igroup])); // store current velocities in fix store array // skip if reset from restart file diff --git a/src/dump_custom.cpp b/src/dump_custom.cpp index 6c417026ca..6bb7653e3b 100644 --- a/src/dump_custom.cpp +++ b/src/dump_custom.cpp @@ -1960,18 +1960,15 @@ int DumpCustom::modify_param(int narg, char **arg) thresh_last[nthresh] = -1; } else { thresh_fix = (FixStore **) - memory->srealloc(thresh_fix,(nthreshlast+1)*sizeof(FixStore *), - "dump:thresh_fix"); + memory->srealloc(thresh_fix,(nthreshlast+1)*sizeof(FixStore *),"dump:thresh_fix"); thresh_fixID = (char **) - memory->srealloc(thresh_fixID,(nthreshlast+1)*sizeof(char *), - "dump:thresh_fixID"); + memory->srealloc(thresh_fixID,(nthreshlast+1)*sizeof(char *),"dump:thresh_fixID"); memory->grow(thresh_first,(nthreshlast+1),"dump:thresh_first"); std::string threshid = fmt::format("{}{}_DUMP_STORE",id,nthreshlast); thresh_fixID[nthreshlast] = utils::strdup(threshid); - modify->add_fix(fmt::format("{} {} STORE peratom 1 1",threshid, - group->names[igroup])); - thresh_fix[nthreshlast] = (FixStore *) modify->fix[modify->nfix-1]; + threshid += fmt::format(" {} STORE peratom 1 1", group->names[igroup]); + thresh_fix[nthreshlast] = (FixStore *) modify->add_fix(threshid); thresh_last[nthreshlast] = nthreshlast; thresh_first[nthreshlast] = 1; diff --git a/src/fix_adapt.cpp b/src/fix_adapt.cpp index 670c0dc4be..e5c2c3dece 100644 --- a/src/fix_adapt.cpp +++ b/src/fix_adapt.cpp @@ -252,12 +252,9 @@ void FixAdapt::post_constructor() id_fix_chg = nullptr; if (diamflag && atom->radius_flag) { - std::string fixcmd = id + std::string("_FIX_STORE_DIAM"); - id_fix_diam = utils::strdup(fixcmd); - fixcmd += fmt::format(" {} STORE peratom 1 1",group->names[igroup]); - modify->add_fix(fixcmd); - fix_diam = (FixStore *) modify->fix[modify->nfix-1]; - + id_fix_diam = utils::strdup(id + std::string("_FIX_STORE_DIAM")); + fix_diam = (FixStore *) modify->add_fix(fmt::format("{} {} STORE peratom 1 1", + id_fix_diam,group->names[igroup])); if (fix_diam->restart_reset) fix_diam->restart_reset = 0; else { double *vec = fix_diam->vstore; @@ -273,12 +270,9 @@ void FixAdapt::post_constructor() } if (chgflag && atom->q_flag) { - std::string fixcmd = id + std::string("_FIX_STORE_CHG"); - id_fix_chg = utils::strdup(fixcmd); - fixcmd += fmt::format(" {} STORE peratom 1 1",group->names[igroup]); - modify->add_fix(fixcmd); - fix_chg = (FixStore *) modify->fix[modify->nfix-1]; - + id_fix_chg = utils::strdup(id + std::string("_FIX_STORE_CHG")); + fix_chg = (FixStore *) modify->add_fix(fmt::format("{} {} STORE peratom 1 1", + id_fix_chg,group->names[igroup])); if (fix_chg->restart_reset) fix_chg->restart_reset = 0; else { double *vec = fix_chg->vstore; diff --git a/src/min.cpp b/src/min.cpp index 8fe73dc9e1..69e24a541f 100644 --- a/src/min.cpp +++ b/src/min.cpp @@ -121,8 +121,7 @@ void Min::init() // create fix needed for storing atom-based quantities // will delete it at end of run - modify->add_fix("MINIMIZE all MINIMIZE"); - fix_minimize = (FixMinimize *) modify->fix[modify->nfix-1]; + fix_minimize = (FixMinimize *) modify->add_fix("MINIMIZE all MINIMIZE"); // clear out extra global and per-atom dof // will receive requests for new per-atom dof during pair init() diff --git a/src/respa.cpp b/src/respa.cpp index c51ec04131..5190441994 100644 --- a/src/respa.cpp +++ b/src/respa.cpp @@ -302,9 +302,8 @@ void Respa::init() // if supported, we also store torques on a per-level basis std::string cmd = fmt::format("RESPA all RESPA {}",nlevels); - if (atom->torque_flag) modify->add_fix(cmd + " torque"); - else modify->add_fix(cmd); - fix_respa = (FixRespa *) modify->fix[modify->nfix-1]; + if (atom->torque_flag) cmd += " torque"; + fix_respa = (FixRespa *) modify->add_fix(cmd); // insure respa inner/middle/outer is using Pair class that supports it diff --git a/src/variable.cpp b/src/variable.cpp index 2ef1957a09..a7b2955b33 100644 --- a/src/variable.cpp +++ b/src/variable.cpp @@ -5065,16 +5065,10 @@ VarReader::VarReader(LAMMPS *lmp, char *name, char *file, int flag) : if (style == Variable::ATOMFILE) { if (atom->map_style == Atom::MAP_NONE) - error->all(FLERR,"Cannot use atomfile-style " - "variable unless an atom map exists"); - - std::string cmd = name + std::string("_VARIABLE_STORE"); - id_fix = utils::strdup(cmd); - - cmd += " all STORE peratom 0 1"; - modify->add_fix(cmd); - fixstore = (FixStore *) modify->fix[modify->nfix-1]; + error->all(FLERR,"Cannot use atomfile-style variable unless an atom map exists"); + id_fix = utils::strdup(std::string(name) + "_VARIABLE_STORE"); + fixstore = (FixStore *) modify->add_fix(std::string(id_fix) + " all STORE peratom 0 1"); buffer = new char[CHUNK*MAXLINE]; } } From 42625a82d15c32a7964f2cc11420640bde4b7a74 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 7 Aug 2021 09:45:02 -0400 Subject: [PATCH 645/726] simplify more code for creating fix instances using the improved APIs --- src/REAXFF/fix_reaxff_species.cpp | 109 ++---------------------------- src/REAXFF/fix_reaxff_species.h | 3 - src/REAXFF/pair_reaxff.cpp | 6 +- src/REPLICA/hyper.cpp | 3 +- src/REPLICA/prd.cpp | 6 +- src/REPLICA/tad.cpp | 79 ++++------------------ 6 files changed, 24 insertions(+), 182 deletions(-) diff --git a/src/REAXFF/fix_reaxff_species.cpp b/src/REAXFF/fix_reaxff_species.cpp index 53746b968b..4fc08975a8 100644 --- a/src/REAXFF/fix_reaxff_species.cpp +++ b/src/REAXFF/fix_reaxff_species.cpp @@ -309,113 +309,16 @@ void FixReaxFFSpecies::init() if (!setupflag) { // create a compute to store properties - create_compute(); + modify->add_compute("SPECATOM all SPEC/ATOM q x y z vx vy vz abo01 abo02 abo03 abo04 " + "abo05 abo06 abo07 abo08 abo09 abo10 abo11 abo12 abo13 abo14 " + "abo15 abo16 abo17 abo18 abo19 abo20 abo21 abo22 abo23 abo24"); // create a fix to point to fix_ave_atom for averaging stored properties - create_fix(); - + auto fixcmd = fmt::format("SPECBOND all ave/atom {} {} {}",tmparg[0],tmparg[1],tmparg[2]); + for (int i = 1; i < 32; ++i) fixcmd += " c_SPECATOM[" + std::to_string(i) + "]"; + f_SPECBOND = (FixAveAtom *) modify->add_fix(fixcmd); setupflag = 1; } - -} - -/* ---------------------------------------------------------------------- */ - -void FixReaxFFSpecies::create_compute() -{ - int narg; - char **args; - - narg = 34; - args = new char*[narg]; - args[0] = (char *) "SPECATOM"; - args[1] = (char *) "all"; - args[2] = (char *) "SPEC/ATOM"; - args[3] = (char *) "q"; - args[4] = (char *) "x"; - args[5] = (char *) "y"; - args[6] = (char *) "z"; - args[7] = (char *) "vx"; - args[8] = (char *) "vy"; - args[9] = (char *) "vz"; - args[10] = (char *) "abo01"; - args[11] = (char *) "abo02"; - args[12] = (char *) "abo03"; - args[13] = (char *) "abo04"; - args[14] = (char *) "abo05"; - args[15] = (char *) "abo06"; - args[16] = (char *) "abo07"; - args[17] = (char *) "abo08"; - args[18] = (char *) "abo09"; - args[19] = (char *) "abo10"; - args[20] = (char *) "abo11"; - args[21] = (char *) "abo12"; - args[22] = (char *) "abo13"; - args[23] = (char *) "abo14"; - args[24] = (char *) "abo15"; - args[25] = (char *) "abo16"; - args[26] = (char *) "abo17"; - args[27] = (char *) "abo18"; - args[28] = (char *) "abo19"; - args[29] = (char *) "abo20"; - args[30] = (char *) "abo21"; - args[31] = (char *) "abo22"; - args[32] = (char *) "abo23"; - args[33] = (char *) "abo24"; - modify->add_compute(narg,args); - delete [] args; -} - -/* ---------------------------------------------------------------------- */ - -void FixReaxFFSpecies::create_fix() -{ - int narg; - char **args; - - narg = 37; - args = new char*[narg]; - args[0] = (char *) "SPECBOND"; - args[1] = (char *) "all"; - args[2] = (char *) "ave/atom"; - args[3] = tmparg[0]; - args[4] = tmparg[1]; - args[5] = tmparg[2]; - args[6] = (char *) "c_SPECATOM[1]"; // q, array_atoms[i][0] - args[7] = (char *) "c_SPECATOM[2]"; // x, 1 - args[8] = (char *) "c_SPECATOM[3]"; // y, 2 - args[9] = (char *) "c_SPECATOM[4]"; // z, 3 - args[10] = (char *) "c_SPECATOM[5]"; // vx, 4 - args[11] = (char *) "c_SPECATOM[6]"; // vy, 5 - args[12] = (char *) "c_SPECATOM[7]"; // vz, 6 - args[13] = (char *) "c_SPECATOM[8]"; // abo01, 7 - args[14] = (char *) "c_SPECATOM[9]"; - args[15] = (char *) "c_SPECATOM[10]"; - args[16] = (char *) "c_SPECATOM[11]"; - args[17] = (char *) "c_SPECATOM[12]"; - args[18] = (char *) "c_SPECATOM[13]"; - args[19] = (char *) "c_SPECATOM[14]"; - args[20] = (char *) "c_SPECATOM[15]"; - args[21] = (char *) "c_SPECATOM[16]"; - args[22] = (char *) "c_SPECATOM[17]"; - args[23] = (char *) "c_SPECATOM[18]"; - args[24] = (char *) "c_SPECATOM[19]"; // abo12, 18 - args[25] = (char *) "c_SPECATOM[20]"; - args[26] = (char *) "c_SPECATOM[21]"; - args[27] = (char *) "c_SPECATOM[22]"; - args[28] = (char *) "c_SPECATOM[23]"; - args[29] = (char *) "c_SPECATOM[24]"; - args[30] = (char *) "c_SPECATOM[25]"; - args[31] = (char *) "c_SPECATOM[26]"; - args[32] = (char *) "c_SPECATOM[27]"; - args[33] = (char *) "c_SPECATOM[28]"; - args[34] = (char *) "c_SPECATOM[29]"; - args[35] = (char *) "c_SPECATOM[30]"; - args[36] = (char *) "c_SPECATOM[31]"; - modify->add_fix(narg,args); - f_SPECBOND = (FixAveAtom *) modify->fix[modify->nfix-1]; - delete [] args; - } /* ---------------------------------------------------------------------- */ diff --git a/src/REAXFF/fix_reaxff_species.h b/src/REAXFF/fix_reaxff_species.h index 1957c1f8b1..b65ea49476 100644 --- a/src/REAXFF/fix_reaxff_species.h +++ b/src/REAXFF/fix_reaxff_species.h @@ -61,8 +61,6 @@ class FixReaxFFSpecies : public Fix { char *ele, **eletype, *filepos; void Output_ReaxFF_Bonds(bigint, FILE *); - void create_compute(); - void create_fix(); AtomCoord chAnchor(AtomCoord, AtomCoord); virtual void FindMolecule(); void SortMolecule(int &); @@ -82,7 +80,6 @@ class FixReaxFFSpecies : public Fix { class NeighList *list; class FixAveAtom *f_SPECBOND; class PairReaxFF *reaxff; - }; } diff --git a/src/REAXFF/pair_reaxff.cpp b/src/REAXFF/pair_reaxff.cpp index 0aea45b9cd..758ee70ab7 100644 --- a/src/REAXFF/pair_reaxff.cpp +++ b/src/REAXFF/pair_reaxff.cpp @@ -368,10 +368,8 @@ void PairReaxFF::init_style() error->warning(FLERR,"Total cutoff < 2*bond cutoff. May need to use an " "increased neighbor list skin."); - if (fix_reaxff == nullptr) { - modify->add_fix(fmt::format("{} all REAXFF",fix_id)); - fix_reaxff = (FixReaxFF *) modify->fix[modify->nfix-1]; - } + if (fix_reaxff == nullptr) + fix_reaxff = (FixReaxFF *) modify->add_fix(fmt::format("{} all REAXFF",fix_id)); } /* ---------------------------------------------------------------------- */ diff --git a/src/REPLICA/hyper.cpp b/src/REPLICA/hyper.cpp index 84ff43ec85..d391604530 100644 --- a/src/REPLICA/hyper.cpp +++ b/src/REPLICA/hyper.cpp @@ -101,8 +101,7 @@ void Hyper::command(int narg, char **arg) // create FixEventHyper class to store event and pre-quench states - modify->add_fix("hyper_event all EVENT/HYPER"); - fix_event = (FixEventHyper *) modify->fix[modify->nfix-1]; + fix_event = (FixEventHyper *) modify->add_fix("hyper_event all EVENT/HYPER"); // create Finish for timing output diff --git a/src/REPLICA/prd.cpp b/src/REPLICA/prd.cpp index 23e572e88b..501e7675a8 100644 --- a/src/REPLICA/prd.cpp +++ b/src/REPLICA/prd.cpp @@ -145,8 +145,7 @@ void PRD::command(int narg, char **arg) // create ComputeTemp class to monitor temperature - modify->add_compute("prd_temp all temp"); - temperature = modify->compute[modify->ncompute-1]; + temperature = modify->add_compute("prd_temp all temp"); // create Velocity class for velocity creation in dephasing // pass it temperature compute, loop_setting, dist_setting settings @@ -168,8 +167,7 @@ void PRD::command(int narg, char **arg) // create FixEventPRD class to store event and pre-quench states - modify->add_fix("prd_event all EVENT/PRD"); - fix_event = (FixEventPRD *) modify->fix[modify->nfix-1]; + fix_event = (FixEventPRD *) modify->add_fix("prd_event all EVENT/PRD"); // create Finish for timing output diff --git a/src/REPLICA/tad.cpp b/src/REPLICA/tad.cpp index 5631944dbf..9b6ecf0b0c 100644 --- a/src/REPLICA/tad.cpp +++ b/src/REPLICA/tad.cpp @@ -131,28 +131,11 @@ void TAD::command(int narg, char **arg) // create FixEventTAD object to store last event - int narg2 = 3; - char **args = new char*[narg2]; - args[0] = (char *) "tad_event"; - args[1] = (char *) "all"; - args[2] = (char *) "EVENT/TAD"; - modify->add_fix(narg2,args); - fix_event = (FixEventTAD *) modify->fix[modify->nfix-1]; - delete [] args; + fix_event = (FixEventTAD *) modify->add_fix("tad_event all EVENT/TAD"); // create FixStore object to store revert state - narg2 = 6; - args = new char*[narg2]; - args[0] = (char *) "tad_revert"; - args[1] = (char *) "all"; - args[2] = (char *) "STORE"; - args[3] = (char *) "peratom"; - args[4] = (char *) "0"; - args[5] = (char *) "7"; - modify->add_fix(narg2,args); - fix_revert = (FixStore *) modify->fix[modify->nfix-1]; - delete [] args; + fix_revert = (FixStore *) modify->add_fix("tad_revert all STORE peratom 0 7"); // create Finish for timing output @@ -195,13 +178,10 @@ void TAD::command(int narg, char **arg) // set minimize style for quench - narg2 = 1; - args = new char*[narg2]; + char *args[1]; args[0] = min_style; - update->create_minimize(narg2,args,1); - - delete [] args; + update->create_minimize(1,args,1); // init minimizer settings and minimizer itself @@ -691,25 +671,13 @@ void TAD::perform_neb(int ievent) // create FixNEB object to support NEB - int narg2 = 4; - char **args = new char*[narg2]; - args[0] = (char *) "neb"; - args[1] = (char *) "all"; - args[2] = (char *) "neb"; - args[3] = (char *) "1.0"; - modify->add_fix(narg2,args); - fix_neb = (Fix *) modify->fix[modify->nfix-1]; - delete [] args; + fix_neb = (Fix *) modify->add_fix("neb all neb 1.0"); // switch minimize style to quickmin for NEB - narg2 = 1; - args = new char*[narg2]; + char *args[1]; args[0] = min_style_neb; - - update->create_minimize(narg2,args,1); - - delete [] args; + update->create_minimize(1,args,1); // create NEB object @@ -769,17 +737,12 @@ void TAD::perform_neb(int ievent) // switch minimize style back for quench - narg2 = 1; - args = new char*[narg2]; args[0] = min_style; - - update->create_minimize(narg2,args,1); + update->create_minimize(1,args,1); update->etol = etol; update->ftol = ftol; - delete [] args; - // clean up modify->delete_fix("neb"); @@ -895,25 +858,14 @@ void TAD::delete_event_list() { void TAD::add_event() { + if (n_event_list == nmax_event_list) + grow_event_list(nmax_event_list+nmin_event_list); // create FixEventTAD object to store possible event - int narg = 3; - char **args = new char*[narg]; - - char str[128]; - sprintf(str,"tad_event_%d",n_event_list); - - args[0] = str; - args[1] = (char *) "all"; - args[2] = (char *) "EVENT/TAD"; - modify->add_fix(narg,args); - - if (n_event_list == nmax_event_list) - grow_event_list(nmax_event_list+nmin_event_list); - n_event_list += 1; - int ievent = n_event_list-1; - fix_event_list[ievent] = (FixEventTAD *) modify->fix[modify->nfix-1]; + int ievent = n_event_list++; + fix_event_list[ievent] + = (FixEventTAD *) modify->add_fix(fmt::format("tad_event_{} all EVENT/TAD", ievent)); // store quenched state for new event @@ -923,11 +875,6 @@ void TAD::add_event() fix_event->restore_state_quench(); fix_event_list[ievent]->store_state_quench(); - - // string clean-up - - delete [] args; - } /* ---------------------------------------------------------------------- From fe008b93d7196ce62272c2a5c4cf4db4e5974516 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 7 Aug 2021 10:33:26 -0400 Subject: [PATCH 646/726] remove obsolete line --- src/modify.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/src/modify.cpp b/src/modify.cpp index 53df8092aa..995b3b82ac 100644 --- a/src/modify.cpp +++ b/src/modify.cpp @@ -37,7 +37,6 @@ using namespace FixConst; #define DELTA 4 #define BIG 1.0e20 -#define NEXCEPT 7 // change when add to exceptions in add_fix() /* ---------------------------------------------------------------------- */ From c8b7b8271de1703e5f1838146dcf6ce9e4437275 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 9 Aug 2021 16:28:03 -0400 Subject: [PATCH 647/726] add missing dependency --- src/GPU/Install.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/GPU/Install.sh b/src/GPU/Install.sh index 2e2b32d96a..a87d2165d9 100755 --- a/src/GPU/Install.sh +++ b/src/GPU/Install.sh @@ -113,8 +113,8 @@ action pair_lj_cut_coul_msm_gpu.cpp pair_lj_cut_coul_msm.cpp action pair_lj_cut_coul_msm_gpu.h pair_lj_cut_coul_msm.h action pair_lj_cut_gpu.cpp action pair_lj_cut_gpu.h -action pair_lj_smooth_gpu.cpp -action pair_lj_smooth_gpu.h +action pair_lj_smooth_gpu.cpp pair_lj_smooth.cpp +action pair_lj_smooth_gpu.h pair_lj_smooth.h action pair_lj_expand_gpu.cpp action pair_lj_expand_gpu.h action pair_lj_expand_coul_long_gpu.cpp pair_lj_expand_coul_long.cpp From 26c681cf73d314cf27ff37b161f5b0a013ec0592 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 9 Aug 2021 16:28:19 -0400 Subject: [PATCH 648/726] update for changes in base class --- src/KOKKOS/pair_gran_hooke_history_kokkos.cpp | 30 ++++++++----------- 1 file changed, 12 insertions(+), 18 deletions(-) diff --git a/src/KOKKOS/pair_gran_hooke_history_kokkos.cpp b/src/KOKKOS/pair_gran_hooke_history_kokkos.cpp index 93f8e37006..fab33d0ec7 100644 --- a/src/KOKKOS/pair_gran_hooke_history_kokkos.cpp +++ b/src/KOKKOS/pair_gran_hooke_history_kokkos.cpp @@ -13,17 +13,18 @@ ------------------------------------------------------------------------- */ #include "pair_gran_hooke_history_kokkos.h" -#include "kokkos.h" + #include "atom_kokkos.h" #include "atom_masks.h" -#include "memory_kokkos.h" +#include "error.h" +#include "fix_neigh_history_kokkos.h" #include "force.h" -#include "neighbor.h" +#include "kokkos.h" +#include "memory_kokkos.h" +#include "modify.h" #include "neigh_list.h" #include "neigh_request.h" -#include "error.h" -#include "modify.h" -#include "fix_neigh_history_kokkos.h" +#include "neighbor.h" #include "update.h" using namespace LAMMPS_NS; @@ -67,20 +68,13 @@ void PairGranHookeHistoryKokkos::init_style() // this is so its order in the fix list is preserved if (history && fix_history == nullptr) { - char dnumstr[16]; - sprintf(dnumstr,"%d",3); - char **fixarg = new char*[4]; - fixarg[0] = (char *) "NEIGH_HISTORY_HH"; - fixarg[1] = (char *) "all"; + auto cmd = std::string("NEIGH_HISTORY_HH") + std::to_string(instance_me) + " all "; if (execution_space == Device) - fixarg[2] = (char *) "NEIGH_HISTORY/KK/DEVICE"; + cmd += "NEIGH_HISTORY/KK/DEVICE 3"; else - fixarg[2] = (char *) "NEIGH_HISTORY/KK/HOST"; - fixarg[3] = dnumstr; - modify->replace_fix("NEIGH_HISTORY_HH_DUMMY",4,fixarg,1); - delete [] fixarg; - int ifix = modify->find_fix("NEIGH_HISTORY_HH"); - fix_history = (FixNeighHistory *) modify->fix[ifix]; + cmd += "NEIGH_HISTORY/KK/HOST 3"; + fix_history = (FixNeighHistory *) + modify->replace_fix("NEIGH_HISTORY_HH_DUMMY"+std::to_string(instance_me),cmd,1); fix_history->pair = this; fix_historyKK = (FixNeighHistoryKokkos *)fix_history; } From 0928c912c0ca043ad8f93d0d27823b7b389b283e Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 13 Aug 2021 05:50:03 -0400 Subject: [PATCH 649/726] fix memory leaks and reformat --- src/REPLICA/fix_pimd.cpp | 558 +++++++++++++++++++++------------------ src/REPLICA/fix_pimd.h | 1 + 2 files changed, 296 insertions(+), 263 deletions(-) diff --git a/src/REPLICA/fix_pimd.cpp b/src/REPLICA/fix_pimd.cpp index ce1d41302f..bb4af16f1b 100644 --- a/src/REPLICA/fix_pimd.cpp +++ b/src/REPLICA/fix_pimd.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -24,69 +23,29 @@ #include "fix_pimd.h" -#include -#include - -#include "universe.h" -#include "comm.h" -#include "force.h" #include "atom.h" +#include "comm.h" #include "domain.h" -#include "update.h" +#include "error.h" +#include "force.h" #include "math_const.h" #include "memory.h" -#include "error.h" +#include "universe.h" +#include "update.h" + +#include +#include using namespace LAMMPS_NS; using namespace FixConst; using namespace MathConst; -enum{PIMD,NMPIMD,CMD}; +enum { PIMD, NMPIMD, CMD }; /* ---------------------------------------------------------------------- */ FixPIMD::FixPIMD(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) { - method = PIMD; - fmass = 1.0; - nhc_temp = 298.15; - nhc_nchain = 2; - sp = 1.0; - - for (int i=3; iuniverse_all(FLERR,"Unknown method parameter for fix pimd"); - } - else if (strcmp(arg[i],"fmass")==0) - { - fmass = atof(arg[i+1]); - if (fmass<0.0 || fmass>1.0) error->universe_all(FLERR,"Invalid fmass value for fix pimd"); - } - else if (strcmp(arg[i],"sp")==0) - { - sp = atof(arg[i+1]); - if (fmass<0.0) error->universe_all(FLERR,"Invalid sp value for fix pimd"); - } - else if (strcmp(arg[i],"temp")==0) - { - nhc_temp = atof(arg[i+1]); - if (nhc_temp<0.0) error->universe_all(FLERR,"Invalid temp value for fix pimd"); - } - else if (strcmp(arg[i],"nhc")==0) - { - nhc_nchain = atoi(arg[i+1]); - if (nhc_nchain<2) error->universe_all(FLERR,"Invalid nhc value for fix pimd"); - } - else error->universe_all(arg[i],i+1,"Unknown keyword for fix pimd"); - } - - /* Initiation */ - max_nsend = 0; tag_send = nullptr; buf_send = nullptr; @@ -110,25 +69,60 @@ FixPIMD::FixPIMD(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) nhc_eta_dotdot = nullptr; nhc_eta_mass = nullptr; + method = PIMD; + fmass = 1.0; + nhc_temp = 298.15; + nhc_nchain = 2; + sp = 1.0; + + for (int i = 3; i < narg - 1; i += 2) { + if (strcmp(arg[i], "method") == 0) { + if (strcmp(arg[i + 1], "pimd") == 0) + method = PIMD; + else if (strcmp(arg[i + 1], "nmpimd") == 0) + method = NMPIMD; + else if (strcmp(arg[i + 1], "cmd") == 0) + method = CMD; + else + error->universe_all(FLERR, "Unknown method parameter for fix pimd"); + } else if (strcmp(arg[i], "fmass") == 0) { + fmass = utils::numeric(FLERR, arg[i + 1], false, lmp); + if (fmass < 0.0 || fmass > 1.0) + error->universe_all(FLERR, "Invalid fmass value for fix pimd"); + } else if (strcmp(arg[i], "sp") == 0) { + sp = utils::numeric(FLERR, arg[i + 1], false, lmp); + if (fmass < 0.0) error->universe_all(FLERR, "Invalid sp value for fix pimd"); + } else if (strcmp(arg[i], "temp") == 0) { + nhc_temp = utils::numeric(FLERR, arg[i + 1], false, lmp); + if (nhc_temp < 0.0) error->universe_all(FLERR, "Invalid temp value for fix pimd"); + } else if (strcmp(arg[i], "nhc") == 0) { + nhc_nchain = utils::inumeric(FLERR, arg[i + 1], false, lmp); + if (nhc_nchain < 2) error->universe_all(FLERR, "Invalid nhc value for fix pimd"); + } else + error->universe_all(FLERR, fmt::format("Unknown keyword {} for fix pimd", arg[i])); + } + + /* Initiation */ + size_peratom_cols = 12 * nhc_nchain + 3; nhc_offset_one_1 = 3 * nhc_nchain; - nhc_offset_one_2 = 3 * nhc_nchain +3; + nhc_offset_one_2 = 3 * nhc_nchain + 3; nhc_size_one_1 = sizeof(double) * nhc_offset_one_1; nhc_size_one_2 = sizeof(double) * nhc_offset_one_2; restart_peratom = 1; - peratom_flag = 1; - peratom_freq = 1; + peratom_flag = 1; + peratom_freq = 1; global_freq = 1; vector_flag = 1; size_vector = 2; - extvector = 1; + extvector = 1; comm_forward = 3; - atom->add_callback(Atom::GROW); // Call LAMMPS to allocate memory for per-atom array - atom->add_callback(Atom::RESTART); // Call LAMMPS to re-assign restart-data for per-atom array + atom->add_callback(Atom::GROW); // Call LAMMPS to allocate memory for per-atom array + atom->add_callback(Atom::RESTART); // Call LAMMPS to re-assign restart-data for per-atom array grow_arrays(atom->nmax); @@ -138,7 +132,37 @@ FixPIMD::FixPIMD(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) } /* ---------------------------------------------------------------------- */ +FixPIMD::~FixPIMD() +{ + delete[] mass; + atom->delete_callback(id, Atom::GROW); + atom->delete_callback(id, Atom::RESTART); + memory->destroy(M_x2xp); + memory->destroy(M_xp2x); + memory->destroy(M_f2fp); + memory->destroy(M_fp2f); + memory->sfree(lam); + + if (buf_beads) + for (int i = 0; i < np; i++) memory->sfree(buf_beads[i]); + delete[] buf_beads; + delete[] plan_send; + delete[] plan_recv; + delete[] mode_index; + + memory->sfree(tag_send); + memory->sfree(buf_send); + memory->sfree(buf_recv); + + memory->destroy(array_atom); + memory->destroy(nhc_eta); + memory->destroy(nhc_eta_dot); + memory->destroy(nhc_eta_dotdot); + memory->destroy(nhc_eta_mass); +} + +/* ---------------------------------------------------------------------- */ int FixPIMD::setmask() { int mask = 0; @@ -153,9 +177,10 @@ int FixPIMD::setmask() void FixPIMD::init() { if (atom->map_style == Atom::MAP_NONE) - error->all(FLERR,"Fix pimd requires an atom map, see atom_modify"); + error->all(FLERR, "Fix pimd requires an atom map, see atom_modify"); - if (universe->me==0 && screen) fprintf(screen,"Fix pimd initializing Path-Integral ...\n"); + if (universe->me == 0 && universe->uscreen) + fprintf(universe->uscreen, "Fix pimd initializing Path-Integral ...\n"); // prepare the constants @@ -181,16 +206,16 @@ void FixPIMD::init() /* The current solution, using LAMMPS internal real units */ const double Boltzmann = force->boltz; - const double Plank = force->hplanck; + const double Plank = force->hplanck; - double hbar = Plank / ( 2.0 * MY_PI ); - double beta = 1.0 / (Boltzmann * nhc_temp); - double _fbond = 1.0 * np / (beta*beta*hbar*hbar) ; + double hbar = Plank / (2.0 * MY_PI); + double beta = 1.0 / (Boltzmann * nhc_temp); + double _fbond = 1.0 * np / (beta * beta * hbar * hbar); omega_np = sqrt(np) / (hbar * beta) * sqrt(force->mvv2e); - fbond = - _fbond * force->mvv2e; + fbond = -_fbond * force->mvv2e; - if (universe->me==0) + if (universe->me == 0) printf("Fix pimd -P/(beta^2 * hbar^2) = %20.7lE (kcal/mol/A^2)\n\n", fbond); dtv = update->dt; @@ -198,10 +223,12 @@ void FixPIMD::init() comm_init(); - mass = new double [atom->ntypes+1]; + mass = new double[atom->ntypes + 1]; - if (method==CMD || method==NMPIMD) nmpimd_init(); - else for (int i=1; i<=atom->ntypes; i++) mass[i] = atom->mass[i] / np * fmass; + if (method == CMD || method == NMPIMD) + nmpimd_init(); + else + for (int i = 1; i <= atom->ntypes; i++) mass[i] = atom->mass[i] / np * fmass; if (!nhc_ready) nhc_init(); } @@ -210,7 +237,8 @@ void FixPIMD::init() void FixPIMD::setup(int vflag) { - if (universe->me==0 && screen) fprintf(screen,"Setting up Path-Integral ...\n"); + if (universe->me == 0 && universe->uscreen) + fprintf(universe->uscreen, "Setting up Path-Integral ...\n"); post_force(vflag); } @@ -234,13 +262,13 @@ void FixPIMD::final_integrate() void FixPIMD::post_force(int /*flag*/) { - for (int i=0; inlocal; i++) for(int j=0; j<3; j++) atom->f[i][j] /= np; + for (int i = 0; i < atom->nlocal; i++) + for (int j = 0; j < 3; j++) atom->f[i][j] /= np; comm_exec(atom->x); spring_force(); - if (method==CMD || method==NMPIMD) - { + if (method == CMD || method == NMPIMD) { /* forward comm for the force on ghost atoms */ nmpimd_fill(atom->f); @@ -262,34 +290,38 @@ void FixPIMD::post_force(int /*flag*/) void FixPIMD::nhc_init() { double tau = 1.0 / omega_np; - double KT = force->boltz * nhc_temp; + double KT = force->boltz * nhc_temp; double mass0 = KT * tau * tau; int max = 3 * atom->nlocal; - for (int i=0; iiworld==0) ; else nhc_eta_mass[i][ichain] *= fmass; + nhc_eta_mass[i][ichain] = mass0; + if ((method == CMD || method == NMPIMD) && universe->iworld == 0) + ; + else + nhc_eta_mass[i][ichain] *= fmass; } - nhc_eta_dot[i][nhc_nchain] = 0.0; + nhc_eta_dot[i][nhc_nchain] = 0.0; - for (int ichain=1; ichainmvv2e - KT) / nhc_eta_mass[i][ichain]; + for (int ichain = 1; ichain < nhc_nchain; ichain++) + nhc_eta_dotdot[i][ichain] = (nhc_eta_mass[i][ichain - 1] * nhc_eta_dot[i][ichain - 1] * + nhc_eta_dot[i][ichain - 1] * force->mvv2e - + KT) / + nhc_eta_mass[i][ichain]; } // Zero NH acceleration for CMD - if (method==CMD && universe->iworld==0) for (int i=0; iiworld == 0) + for (int i = 0; i < max; i++) + for (int ichain = 0; ichain < nhc_nchain; ichain++) nhc_eta_dotdot[i][ichain] = 0.0; nhc_ready = true; } @@ -302,8 +334,7 @@ void FixPIMD::nhc_update_x() double **x = atom->x; double **v = atom->v; - if (method==CMD || method==NMPIMD) - { + if (method == CMD || method == NMPIMD) { nmpimd_fill(atom->v); comm_exec(atom->v); @@ -313,8 +344,7 @@ void FixPIMD::nhc_update_x() nmpimd_transform(buf_beads, v, M_xp2x[universe->iworld]); } - for (int i=0; iv; double **f = atom->f; - for (int i=0; iiworld==0) return; + if (method == CMD && universe->iworld == 0) return; double expfac; int nmax = 3 * atom->nlocal; double KT = force->boltz * nhc_temp; double kecurrent, t_current; - double dthalf = 0.5 * update->dt; - double dt4 = 0.25 * update->dt; - double dt8 = 0.125 * update->dt; + double dthalf = 0.5 * update->dt; + double dt4 = 0.25 * update->dt; + double dt8 = 0.125 * update->dt; - for (int i=0; imvv2e; + kecurrent = mass[type[iatm]] * vv[idim] * vv[idim] * force->mvv2e; t_current = kecurrent / force->boltz; double *eta = nhc_eta[i]; @@ -366,9 +394,8 @@ void FixPIMD::nhc_update_v() eta_dotdot[0] = (kecurrent - KT) / nhc_eta_mass[i][0]; - for (int ichain=nhc_nchain-1; ichain>0; ichain--) - { - expfac = exp(-dt8 * eta_dot[ichain+1]); + for (int ichain = nhc_nchain - 1; ichain > 0; ichain--) { + expfac = exp(-dt8 * eta_dot[ichain + 1]); eta_dot[ichain] *= expfac; eta_dot[ichain] += eta_dotdot[ichain] * dt4; eta_dot[ichain] *= expfac; @@ -388,19 +415,18 @@ void FixPIMD::nhc_update_v() kecurrent = force->boltz * t_current; eta_dotdot[0] = (kecurrent - KT) / nhc_eta_mass[i][0]; - for (int ichain=0; ichaincreate(M_f2fp, np, np, "fix_feynman:M_f2fp"); memory->create(M_fp2f, np, np, "fix_feynman:M_fp2f"); - lam = (double*) memory->smalloc(sizeof(double)*np, "FixPIMD::lam"); + lam = (double *) memory->smalloc(sizeof(double) * np, "FixPIMD::lam"); // Set up eigenvalues lam[0] = 0.0; - if (np%2==0) lam[np-1] = 4.0 * np; + if (np % 2 == 0) lam[np - 1] = 4.0 * np; - for (int i=2; i<=np/2; i++) - { - lam[2*i-3] = lam[2*i-2] = 2.0 * np * (1.0 - 1.0 *cos(2.0*MY_PI*(i-1)/np)); + for (int i = 2; i <= np / 2; i++) { + lam[2 * i - 3] = lam[2 * i - 2] = 2.0 * np * (1.0 - 1.0 * cos(2.0 * MY_PI * (i - 1) / np)); } // Set up eigenvectors for non-degenerated modes - for (int i=0; iiworld; - for (int i=1; i<=atom->ntypes; i++) - { + for (int i = 1; i <= atom->ntypes; i++) { mass[i] = atom->mass[i]; - if (iworld) - { + if (iworld) { mass[i] *= lam[iworld]; mass[i] *= fmass; } @@ -486,17 +507,17 @@ void FixPIMD::nmpimd_fill(double **ptr) /* ---------------------------------------------------------------------- */ -void FixPIMD::nmpimd_transform(double** src, double** des, double *vector) +void FixPIMD::nmpimd_transform(double **src, double **des, double *vector) { int n = atom->nlocal; int m = 0; - for (int i=0; ix; double **f = atom->f; - double* _mass = atom->mass; - int* type = atom->type; + double *_mass = atom->mass; + int *type = atom->type; int nlocal = atom->nlocal; - double* xlast = buf_beads[x_last]; - double* xnext = buf_beads[x_next]; + double *xlast = buf_beads[x_last]; + double *xnext = buf_beads[x_next]; - for (int i=0; ime - comm->nprocs; int rank_next = universe->me + comm->nprocs; - if (rank_last<0) rank_last += universe->nprocs; - if (rank_next>=universe->nprocs) rank_next -= universe->nprocs; + if (rank_last < 0) rank_last += universe->nprocs; + if (rank_next >= universe->nprocs) rank_next -= universe->nprocs; - plan_send[0] = rank_next; plan_send[1] = rank_last; - plan_recv[0] = rank_last; plan_recv[1] = rank_next; + plan_send[0] = rank_next; + plan_send[1] = rank_last; + plan_recv[0] = rank_last; + plan_recv[1] = rank_next; - mode_index[0] = 0; mode_index[1] = 1; - x_last = 1; x_next = 0; - } - else - { + mode_index[0] = 0; + mode_index[1] = 1; + x_last = 1; + x_next = 0; + } else { size_plan = np - 1; - plan_send = new int [size_plan]; - plan_recv = new int [size_plan]; - mode_index = new int [size_plan]; + plan_send = new int[size_plan]; + plan_recv = new int[size_plan]; + mode_index = new int[size_plan]; - for (int i=0; ime + comm->nprocs * (i+1); - if (plan_send[i]>=universe->nprocs) plan_send[i] -= universe->nprocs; + for (int i = 0; i < size_plan; i++) { + plan_send[i] = universe->me + comm->nprocs * (i + 1); + if (plan_send[i] >= universe->nprocs) plan_send[i] -= universe->nprocs; - plan_recv[i] = universe->me - comm->nprocs * (i+1); - if (plan_recv[i]<0) plan_recv[i] += universe->nprocs; + plan_recv[i] = universe->me - comm->nprocs * (i + 1); + if (plan_recv[i] < 0) plan_recv[i] += universe->nprocs; - mode_index[i]=(universe->iworld+i+1)%(universe->nworlds); + mode_index[i] = (universe->iworld + i + 1) % (universe->nworlds); } - x_next = (universe->iworld+1+universe->nworlds)%(universe->nworlds); - x_last = (universe->iworld-1+universe->nworlds)%(universe->nworlds); + x_next = (universe->iworld + 1 + universe->nworlds) % (universe->nworlds); + x_last = (universe->iworld - 1 + universe->nworlds) % (universe->nworlds); } - if (buf_beads) - { - for (int i=0; inlocal; - if (nlocal > max_nlocal) - { - max_nlocal = nlocal+200; + if (nlocal > max_nlocal) { + max_nlocal = nlocal + 200; int size = sizeof(double) * max_nlocal * 3; - buf_recv = (double*) memory->srealloc(buf_recv, size, "FixPIMD:x_recv"); + buf_recv = (double *) memory->srealloc(buf_recv, size, "FixPIMD:x_recv"); - for (int i=0; isrealloc(buf_beads[i], size, "FixPIMD:x_beads[i]"); + for (int i = 0; i < np; i++) + buf_beads[i] = (double *) memory->srealloc(buf_beads[i], size, "FixPIMD:x_beads[i]"); } // copy local positions - memcpy(buf_beads[universe->iworld], &(ptr[0][0]), sizeof(double)*nlocal*3); + memcpy(buf_beads[universe->iworld], &(ptr[0][0]), sizeof(double) * nlocal * 3); // go over comm plans - for (int iplan = 0; iplanuworld, MPI_STATUS_IGNORE); + MPI_Sendrecv(&(nlocal), 1, MPI_INT, plan_send[iplan], 0, &(nsend), 1, MPI_INT, plan_recv[iplan], + 0, universe->uworld, MPI_STATUS_IGNORE); // allocate arrays - if (nsend > max_nsend) - { - max_nsend = nsend+200; - tag_send = (tagint*) memory->srealloc(tag_send, sizeof(tagint)*max_nsend, "FixPIMD:tag_send"); - buf_send = (double*) memory->srealloc(buf_send, sizeof(double)*max_nsend*3, "FixPIMD:x_send"); + if (nsend > max_nsend) { + max_nsend = nsend + 200; + tag_send = + (tagint *) memory->srealloc(tag_send, sizeof(tagint) * max_nsend, "FixPIMD:tag_send"); + buf_send = + (double *) memory->srealloc(buf_send, sizeof(double) * max_nsend * 3, "FixPIMD:x_send"); } // send tags - MPI_Sendrecv( atom->tag, nlocal, MPI_LMP_TAGINT, plan_send[iplan], 0, - tag_send, nsend, MPI_LMP_TAGINT, plan_recv[iplan], 0, universe->uworld, MPI_STATUS_IGNORE); + MPI_Sendrecv(atom->tag, nlocal, MPI_LMP_TAGINT, plan_send[iplan], 0, tag_send, nsend, + MPI_LMP_TAGINT, plan_recv[iplan], 0, universe->uworld, MPI_STATUS_IGNORE); // wrap positions double *wrap_ptr = buf_send; - int ncpy = sizeof(double)*3; + int ncpy = sizeof(double) * 3; - for (int i=0; imap(tag_send[i]); - if (index<0) - { + if (index < 0) { char error_line[256]; - sprintf(error_line, "Atom " TAGINT_FORMAT " is missing at world [%d] " - "rank [%d] required by rank [%d] (" TAGINT_FORMAT ", " - TAGINT_FORMAT ", " TAGINT_FORMAT ").\n", tag_send[i], - universe->iworld, comm->me, plan_recv[iplan], - atom->tag[0], atom->tag[1], atom->tag[2]); + sprintf(error_line, + "Atom " TAGINT_FORMAT " is missing at world [%d] " + "rank [%d] required by rank [%d] (" TAGINT_FORMAT ", " TAGINT_FORMAT + ", " TAGINT_FORMAT ").\n", + tag_send[i], universe->iworld, comm->me, plan_recv[iplan], atom->tag[0], + atom->tag[1], atom->tag[2]); - error->universe_one(FLERR,error_line); + error->universe_one(FLERR, error_line); } memcpy(wrap_ptr, ptr[index], ncpy); @@ -677,21 +694,20 @@ void FixPIMD::comm_exec(double **ptr) // sendrecv x - MPI_Sendrecv( buf_send, nsend*3, MPI_DOUBLE, plan_recv[iplan], 0, - buf_recv, nlocal*3, MPI_DOUBLE, plan_send[iplan], 0, universe->uworld, MPI_STATUS_IGNORE); + MPI_Sendrecv(buf_send, nsend * 3, MPI_DOUBLE, plan_recv[iplan], 0, buf_recv, nlocal * 3, + MPI_DOUBLE, plan_send[iplan], 0, universe->uworld, MPI_STATUS_IGNORE); // copy x - memcpy(buf_beads[mode_index[iplan]], buf_recv, sizeof(double)*nlocal*3); + memcpy(buf_beads[mode_index[iplan]], buf_recv, sizeof(double) * nlocal * 3); } } /* ---------------------------------------------------------------------- */ -int FixPIMD::pack_forward_comm(int n, int *list, double *buf, - int /*pbc_flag*/, int * /*pbc*/) +int FixPIMD::pack_forward_comm(int n, int *list, double *buf, int /*pbc_flag*/, int * /*pbc*/) { - int i,j,m; + int i, j, m; m = 0; @@ -709,7 +725,7 @@ int FixPIMD::pack_forward_comm(int n, int *list, double *buf, void FixPIMD::unpack_forward_comm(int n, int first, double *buf) { - int i,m,last; + int i, m, last; m = 0; last = first + n; @@ -726,47 +742,51 @@ void FixPIMD::unpack_forward_comm(int n, int first, double *buf) double FixPIMD::memory_usage() { - return (double)atom->nmax * size_peratom_cols * sizeof(double); + return (double) atom->nmax * size_peratom_cols * sizeof(double); } /* ---------------------------------------------------------------------- */ void FixPIMD::grow_arrays(int nmax) { - if (nmax==0) return; - int count = nmax*3; + if (nmax == 0) return; + int count = nmax * 3; memory->grow(array_atom, nmax, size_peratom_cols, "FixPIMD::array_atom"); - memory->grow(nhc_eta, count, nhc_nchain, "FixPIMD::nh_eta"); - memory->grow(nhc_eta_dot, count, nhc_nchain+1, "FixPIMD::nh_eta_dot"); - memory->grow(nhc_eta_dotdot, count, nhc_nchain, "FixPIMD::nh_eta_dotdot"); - memory->grow(nhc_eta_mass, count, nhc_nchain, "FixPIMD::nh_eta_mass"); + memory->grow(nhc_eta, count, nhc_nchain, "FixPIMD::nh_eta"); + memory->grow(nhc_eta_dot, count, nhc_nchain + 1, "FixPIMD::nh_eta_dot"); + memory->grow(nhc_eta_dotdot, count, nhc_nchain, "FixPIMD::nh_eta_dotdot"); + memory->grow(nhc_eta_mass, count, nhc_nchain, "FixPIMD::nh_eta_mass"); } /* ---------------------------------------------------------------------- */ void FixPIMD::copy_arrays(int i, int j, int /*delflag*/) { - int i_pos = i*3; - int j_pos = j*3; + int i_pos = i * 3; + int j_pos = j * 3; - memcpy(nhc_eta [j_pos], nhc_eta [i_pos], nhc_size_one_1); - memcpy(nhc_eta_dot [j_pos], nhc_eta_dot [i_pos], nhc_size_one_2); + memcpy(nhc_eta[j_pos], nhc_eta[i_pos], nhc_size_one_1); + memcpy(nhc_eta_dot[j_pos], nhc_eta_dot[i_pos], nhc_size_one_2); memcpy(nhc_eta_dotdot[j_pos], nhc_eta_dotdot[i_pos], nhc_size_one_1); - memcpy(nhc_eta_mass [j_pos], nhc_eta_mass [i_pos], nhc_size_one_1); + memcpy(nhc_eta_mass[j_pos], nhc_eta_mass[i_pos], nhc_size_one_1); } /* ---------------------------------------------------------------------- */ int FixPIMD::pack_exchange(int i, double *buf) { - int offset=0; + int offset = 0; int pos = i * 3; - memcpy(buf+offset, nhc_eta[pos], nhc_size_one_1); offset += nhc_offset_one_1; - memcpy(buf+offset, nhc_eta_dot[pos], nhc_size_one_2); offset += nhc_offset_one_2; - memcpy(buf+offset, nhc_eta_dotdot[pos], nhc_size_one_1); offset += nhc_offset_one_1; - memcpy(buf+offset, nhc_eta_mass[pos], nhc_size_one_1); offset += nhc_offset_one_1; + memcpy(buf + offset, nhc_eta[pos], nhc_size_one_1); + offset += nhc_offset_one_1; + memcpy(buf + offset, nhc_eta_dot[pos], nhc_size_one_2); + offset += nhc_offset_one_2; + memcpy(buf + offset, nhc_eta_dotdot[pos], nhc_size_one_1); + offset += nhc_offset_one_1; + memcpy(buf + offset, nhc_eta_mass[pos], nhc_size_one_1); + offset += nhc_offset_one_1; return size_peratom_cols; } @@ -775,13 +795,17 @@ int FixPIMD::pack_exchange(int i, double *buf) int FixPIMD::unpack_exchange(int nlocal, double *buf) { - int offset=0; - int pos = nlocal*3; + int offset = 0; + int pos = nlocal * 3; - memcpy(nhc_eta[pos], buf+offset, nhc_size_one_1); offset += nhc_offset_one_1; - memcpy(nhc_eta_dot[pos], buf+offset, nhc_size_one_2); offset += nhc_offset_one_2; - memcpy(nhc_eta_dotdot[pos], buf+offset, nhc_size_one_1); offset += nhc_offset_one_1; - memcpy(nhc_eta_mass[pos], buf+offset, nhc_size_one_1); offset += nhc_offset_one_1; + memcpy(nhc_eta[pos], buf + offset, nhc_size_one_1); + offset += nhc_offset_one_1; + memcpy(nhc_eta_dot[pos], buf + offset, nhc_size_one_2); + offset += nhc_offset_one_2; + memcpy(nhc_eta_dotdot[pos], buf + offset, nhc_size_one_1); + offset += nhc_offset_one_1; + memcpy(nhc_eta_mass[pos], buf + offset, nhc_size_one_1); + offset += nhc_offset_one_1; return size_peratom_cols; } @@ -790,17 +814,21 @@ int FixPIMD::unpack_exchange(int nlocal, double *buf) int FixPIMD::pack_restart(int i, double *buf) { - int offset=0; + int offset = 0; int pos = i * 3; // pack buf[0] this way because other fixes unpack it - buf[offset++] = size_peratom_cols+1; + buf[offset++] = size_peratom_cols + 1; - memcpy(buf+offset, nhc_eta[pos], nhc_size_one_1); offset += nhc_offset_one_1; - memcpy(buf+offset, nhc_eta_dot[pos], nhc_size_one_2); offset += nhc_offset_one_2; - memcpy(buf+offset, nhc_eta_dotdot[pos], nhc_size_one_1); offset += nhc_offset_one_1; - memcpy(buf+offset, nhc_eta_mass[pos], nhc_size_one_1); offset += nhc_offset_one_1; + memcpy(buf + offset, nhc_eta[pos], nhc_size_one_1); + offset += nhc_offset_one_1; + memcpy(buf + offset, nhc_eta_dot[pos], nhc_size_one_2); + offset += nhc_offset_one_2; + memcpy(buf + offset, nhc_eta_dotdot[pos], nhc_size_one_1); + offset += nhc_offset_one_1; + memcpy(buf + offset, nhc_eta_mass[pos], nhc_size_one_1); + offset += nhc_offset_one_1; - return size_peratom_cols+1; + return size_peratom_cols + 1; } /* ---------------------------------------------------------------------- */ @@ -813,15 +841,19 @@ void FixPIMD::unpack_restart(int nlocal, int nth) // unpack the Nth first values this way because other fixes pack them int m = 0; - for (int i=0; i (extra[nlocal][m]); + for (int i = 0; i < nth; i++) m += static_cast(extra[nlocal][m]); m++; int pos = nlocal * 3; - memcpy(nhc_eta[pos], extra[nlocal]+m, nhc_size_one_1); m += nhc_offset_one_1; - memcpy(nhc_eta_dot[pos], extra[nlocal]+m, nhc_size_one_2); m += nhc_offset_one_2; - memcpy(nhc_eta_dotdot[pos], extra[nlocal]+m, nhc_size_one_1); m += nhc_offset_one_1; - memcpy(nhc_eta_mass[pos], extra[nlocal]+m, nhc_size_one_1); m += nhc_offset_one_1; + memcpy(nhc_eta[pos], extra[nlocal] + m, nhc_size_one_1); + m += nhc_offset_one_1; + memcpy(nhc_eta_dot[pos], extra[nlocal] + m, nhc_size_one_2); + m += nhc_offset_one_2; + memcpy(nhc_eta_dotdot[pos], extra[nlocal] + m, nhc_size_one_1); + m += nhc_offset_one_1; + memcpy(nhc_eta_mass[pos], extra[nlocal] + m, nhc_size_one_1); + m += nhc_offset_one_1; nhc_ready = true; } @@ -830,21 +862,21 @@ void FixPIMD::unpack_restart(int nlocal, int nth) int FixPIMD::maxsize_restart() { - return size_peratom_cols+1; + return size_peratom_cols + 1; } /* ---------------------------------------------------------------------- */ int FixPIMD::size_restart(int /*nlocal*/) { - return size_peratom_cols+1; + return size_peratom_cols + 1; } /* ---------------------------------------------------------------------- */ double FixPIMD::compute_vector(int n) { - if (n==0) { return spring_energy; } - if (n==1) { return t_sys; } + if (n == 0) { return spring_energy; } + if (n == 1) { return t_sys; } return 0.0; } diff --git a/src/REPLICA/fix_pimd.h b/src/REPLICA/fix_pimd.h index 2c13663f23..05a24dedce 100644 --- a/src/REPLICA/fix_pimd.h +++ b/src/REPLICA/fix_pimd.h @@ -27,6 +27,7 @@ namespace LAMMPS_NS { class FixPIMD : public Fix { public: FixPIMD(class LAMMPS *, int, char **); + virtual ~FixPIMD(); int setmask(); From 3e99e24f41d68a7c8a9a60e9620d213957155157 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 13 Aug 2021 05:50:44 -0400 Subject: [PATCH 650/726] make calls to virtual functions from constructors explicit --- src/GRANULAR/fix_wall_gran.cpp | 5 ++--- src/GRANULAR/fix_wall_gran_region.cpp | 5 ++--- src/MANYBODY/pair_tersoff_table.cpp | 2 +- src/OPENMP/pair_tersoff_table_omp.cpp | 2 +- src/REAXFF/fix_qeq_reaxff.cpp | 2 +- src/compute_dipole.cpp | 5 +---- 6 files changed, 8 insertions(+), 13 deletions(-) diff --git a/src/GRANULAR/fix_wall_gran.cpp b/src/GRANULAR/fix_wall_gran.cpp index a604782993..5f16176e49 100644 --- a/src/GRANULAR/fix_wall_gran.cpp +++ b/src/GRANULAR/fix_wall_gran.cpp @@ -437,7 +437,7 @@ FixWallGran::FixWallGran(LAMMPS *lmp, int narg, char **arg) : // register with Atom class history_one = nullptr; - grow_arrays(atom->nmax); + FixWallGran::grow_arrays(atom->nmax); atom->add_callback(Atom::GROW); atom->add_callback(Atom::RESTART); @@ -1555,8 +1555,7 @@ double FixWallGran::memory_usage() void FixWallGran::grow_arrays(int nmax) { - if (use_history) memory->grow(history_one,nmax,size_history, - "fix_wall_gran:history_one"); + if (use_history) memory->grow(history_one,nmax,size_history,"fix_wall_gran:history_one"); if (peratom_flag) { memory->grow(array_atom,nmax,size_peratom_cols,"fix_wall_gran:array_atom"); } diff --git a/src/GRANULAR/fix_wall_gran_region.cpp b/src/GRANULAR/fix_wall_gran_region.cpp index 0a92bac543..37afe9632c 100644 --- a/src/GRANULAR/fix_wall_gran_region.cpp +++ b/src/GRANULAR/fix_wall_gran_region.cpp @@ -62,7 +62,7 @@ FixWallGranRegion::FixWallGranRegion(LAMMPS *lmp, int narg, char **arg) : ncontact = nullptr; walls = nullptr; history_many = nullptr; - grow_arrays(atom->nmax); + FixWallGranRegion::grow_arrays(atom->nmax); // initialize shear history as if particle is not touching region @@ -355,8 +355,7 @@ void FixWallGranRegion::grow_arrays(int nmax) if (use_history) { memory->grow(ncontact,nmax,"fix_wall_gran:ncontact"); memory->grow(walls,nmax,tmax,"fix_wall_gran:walls"); - memory->grow(history_many,nmax,tmax,size_history, - "fix_wall_gran:history_many"); + memory->grow(history_many,nmax,tmax,size_history,"fix_wall_gran:history_many"); } if (peratom_flag) memory->grow(array_atom,nmax,size_peratom_cols,"fix_wall_gran:array_atom"); diff --git a/src/MANYBODY/pair_tersoff_table.cpp b/src/MANYBODY/pair_tersoff_table.cpp index e64e5bce02..94c4d88b09 100644 --- a/src/MANYBODY/pair_tersoff_table.cpp +++ b/src/MANYBODY/pair_tersoff_table.cpp @@ -91,7 +91,7 @@ PairTersoffTable::~PairTersoffTable() memory->destroy(cutsq); } deallocateGrids(); - deallocatePreLoops(); + PairTersoffTable::deallocatePreLoops(); } /* ---------------------------------------------------------------------- */ diff --git a/src/OPENMP/pair_tersoff_table_omp.cpp b/src/OPENMP/pair_tersoff_table_omp.cpp index 47ee2feca8..5367a3d043 100644 --- a/src/OPENMP/pair_tersoff_table_omp.cpp +++ b/src/OPENMP/pair_tersoff_table_omp.cpp @@ -53,7 +53,7 @@ PairTersoffTableOMP::PairTersoffTableOMP(LAMMPS *lmp) : PairTersoffTableOMP::~PairTersoffTableOMP() { if (allocated) { - deallocatePreLoops(); + PairTersoffTableOMP::deallocatePreLoops(); } } diff --git a/src/REAXFF/fix_qeq_reaxff.cpp b/src/REAXFF/fix_qeq_reaxff.cpp index fd197a156a..8c3b7df190 100644 --- a/src/REAXFF/fix_qeq_reaxff.cpp +++ b/src/REAXFF/fix_qeq_reaxff.cpp @@ -165,7 +165,7 @@ FixQEqReaxFF::~FixQEqReaxFF() memory->destroy(s_hist); memory->destroy(t_hist); - deallocate_storage(); + FixQEqReaxFF::deallocate_storage(); deallocate_matrix(); memory->destroy(shld); diff --git a/src/compute_dipole.cpp b/src/compute_dipole.cpp index 053f11e6f9..b67c3df3ce 100644 --- a/src/compute_dipole.cpp +++ b/src/compute_dipole.cpp @@ -29,7 +29,7 @@ enum { MASSCENTER, GEOMCENTER }; ComputeDipole::ComputeDipole(LAMMPS *lmp, int narg, char **arg) : Compute(lmp, narg, arg) { - if (narg != 3) error->all(FLERR, "Illegal compute com command"); + if ((narg < 3) || (narg > 4)) error->all(FLERR, "Illegal compute dipole command"); scalar_flag = 1; vector_flag = 1; @@ -39,11 +39,8 @@ ComputeDipole::ComputeDipole(LAMMPS *lmp, int narg, char **arg) : Compute(lmp, n vector = new double[size_vector]; vector[0] = vector[1] = vector[2] = 0.0; - usecenter = MASSCENTER; - if ((narg != 3) && (narg != 4)) error->all(FLERR, "Illegal compute dipole command"); - if (narg == 4) { if (utils::strmatch(arg[3], "^geom")) usecenter = GEOMCENTER; From 3bfb235070d0154e22fe1afce38e75b073916689 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 13 Aug 2021 05:50:53 -0400 Subject: [PATCH 651/726] fix memory leak --- src/GRANULAR/pair_granular.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/GRANULAR/pair_granular.cpp b/src/GRANULAR/pair_granular.cpp index cca349b819..d6db110514 100644 --- a/src/GRANULAR/pair_granular.cpp +++ b/src/GRANULAR/pair_granular.cpp @@ -111,7 +111,8 @@ PairGranular::PairGranular(LAMMPS *lmp) : Pair(lmp) PairGranular::~PairGranular() { - delete [] svector; + delete[] svector; + delete[] history_transfer_factors; if (!fix_history) modify->delete_fix("NEIGH_HISTORY_GRANULAR_DUMMY"); else modify->delete_fix("NEIGH_HISTORY_GRANULAR"); From 1abce8e82155dbe3a8cec0217c429f0c1acfcfd3 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 13 Aug 2021 05:51:05 -0400 Subject: [PATCH 652/726] remove dead code --- src/DPD-REACT/pair_exp6_rx.cpp | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/src/DPD-REACT/pair_exp6_rx.cpp b/src/DPD-REACT/pair_exp6_rx.cpp index f5adfac7a1..8240cb88b7 100644 --- a/src/DPD-REACT/pair_exp6_rx.cpp +++ b/src/DPD-REACT/pair_exp6_rx.cpp @@ -617,8 +617,7 @@ void PairExp6rx::coeff(int narg, char **arg) if (strcmp(site1,"1fluid") == 0) isite1 = oneFluidApproxParameter; - else - { + else { int isp; for (isp = 0; isp < nspecies; isp++) if (strcmp(site1, &atom->dname[isp][0]) == 0) break; @@ -631,8 +630,7 @@ void PairExp6rx::coeff(int narg, char **arg) if (strcmp(site2,"1fluid") == 0) isite2 = oneFluidApproxParameter; - else - { + else { int isp; for (isp = 0; isp < nspecies; isp++) if (strcmp(site2, &atom->dname[isp][0]) == 0) break; @@ -644,8 +642,7 @@ void PairExp6rx::coeff(int narg, char **arg) } // Set the interaction potential type to the enumerated type. - for (int iparam = 0; iparam < nparams; ++iparam) - { + for (int iparam = 0; iparam < nparams; ++iparam) { if (strcmp( params[iparam].potential, "exp6") == 0) params[iparam].potentialType = exp6PotentialType; else @@ -663,7 +660,6 @@ void PairExp6rx::coeff(int narg, char **arg) scalingFlag = EXPONENT; exponentR = utils::numeric(FLERR,arg[6],false,lmp); exponentEpsilon = utils::numeric(FLERR,arg[7],false,lmp); - if (narg > 9) error->all(FLERR,"Incorrect args for pair coefficients"); if (narg == 9) cut_one = utils::numeric(FLERR,arg[8],false,lmp); } else if (strcmp(arg[5],"polynomial") == 0) { scalingFlag = POLYNOMIAL; From f08c249d40a7b485203bfe3ce7e727da1a997d93 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 13 Aug 2021 06:23:46 -0400 Subject: [PATCH 653/726] don't hide parameter with local variable --- src/ASPHERE/pair_resquared.cpp | 42 +++++++++++++++++----------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/src/ASPHERE/pair_resquared.cpp b/src/ASPHERE/pair_resquared.cpp index 5c0602a453..4210818c61 100644 --- a/src/ASPHERE/pair_resquared.cpp +++ b/src/ASPHERE/pair_resquared.cpp @@ -505,10 +505,10 @@ void PairRESquared::precompute_i(const int i,RE2Vars &ws) MathExtra::rotation_generator_x(ws.A,ws.lA[0]); MathExtra::rotation_generator_y(ws.A,ws.lA[1]); MathExtra::rotation_generator_z(ws.A,ws.lA[2]); - for (int i=0; i<3; i++) { - MathExtra::times3(aTs,ws.lA[i],ws.lAtwo[i]); - MathExtra::transpose_times3(ws.lA[i],ws.sa,ws.lAsa[i]); - MathExtra::plus3(ws.lAsa[i],ws.lAtwo[i],ws.lAsa[i]); + for (int m=0; m<3; m++) { + MathExtra::times3(aTs,ws.lA[m],ws.lAtwo[m]); + MathExtra::transpose_times3(ws.lA[m],ws.sa,ws.lAsa[m]); + MathExtra::plus3(ws.lAsa[m],ws.lAtwo[m],ws.lAsa[m]); } } @@ -724,10 +724,10 @@ double PairRESquared::resquared_analytic(const int i, const int j, dspr = 7.0/h12-1.0/hsec+stemp; pbsr = b_alpha*sigma[type[i]][type[j]]/hsec; - for (int i=0; i<3; i++) { - u[0] = -rhat[i]*rhat[0]; - u[1] = -rhat[i]*rhat[1]; - u[2] = -rhat[i]*rhat[2]; + for (int m=0; m<3; m++) { + u[0] = -rhat[m]*rhat[0]; + u[1] = -rhat[m]*rhat[1]; + u[2] = -rhat[m]*rhat[2]; u[i] += 1.0; u[0] /= rnorm; u[1] /= rnorm; @@ -753,7 +753,7 @@ double PairRESquared::resquared_analytic(const int i, const int j, dh12 = rhat[i]+MathExtra::dot3(u,spr); dUa = pbsu*(eta*dchi+deta*chi)-dh12*dspu; dUr = pbsr*(eta*dchi+deta*chi)-dh12*dspr; - fforce[i]=dUr*Ur+dUa*Ua; + fforce[m]=dUr*Ur+dUa*Ua; } // torque on i @@ -950,19 +950,19 @@ double PairRESquared::resquared_lj(const int i, const int j, dspr = 7.0/h12-1.0/hsec+stemp; pbsr = b_alpha*sigma[type[i]][type[j]]/hsec; - for (int i=0; i<3; i++) { - u[0] = -rhat[i]*rhat[0]; - u[1] = -rhat[i]*rhat[1]; - u[2] = -rhat[i]*rhat[2]; - u[i] += 1.0; + for (int m=0; m<3; m++) { + u[0] = -rhat[m]*rhat[0]; + u[1] = -rhat[m]*rhat[1]; + u[2] = -rhat[m]*rhat[2]; + u[m] += 1.0; u[0] /= rnorm; u[1] /= rnorm; u[2] /= rnorm; dchi = MathExtra::dot3(u,fourw); - dh12 = rhat[i]+MathExtra::dot3(u,spr); + dh12 = rhat[m]+MathExtra::dot3(u,spr); dUa = pbsu*dchi-dh12*dspu; dUr = pbsr*dchi-dh12*dspr; - fforce[i]=dUr*Ur+dUa*Ua; + fforce[m]=dUr*Ur+dUa*Ua; } // torque on i @@ -970,17 +970,17 @@ double PairRESquared::resquared_lj(const int i, const int j, if (calc_torque) { MathExtra::vecmat(fourw,wi.aTe,fwae); - for (int i=0; i<3; i++) { - MathExtra::matvec(wi.lA[i],rhat,p); + for (int m=0; m<3; m++) { + MathExtra::matvec(wi.lA[m],rhat,p); double tempv[3]; - MathExtra::matvec(wi.lA[i],w,tempv); + MathExtra::matvec(wi.lA[m],w,tempv); dchi = -MathExtra::dot3(fwae,tempv); - MathExtra::matvec(lAtwo[i],spr,tempv); + MathExtra::matvec(lAtwo[m],spr,tempv); dh12 = -MathExtra::dot3(s,tempv); dUa = pbsu*dchi-dh12*dspu; dUr = pbsr*dchi-dh12*dspr; - ttor[i] = -(dUa*Ua+dUr*Ur); + ttor[m] = -(dUa*Ua+dUr*Ur); } } From a765cf373abb84b62a903c985aa99350d64676ac Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 13 Aug 2021 06:24:22 -0400 Subject: [PATCH 654/726] update formatting --- src/BODY/pair_body_rounded_polygon.cpp | 18 +++++++++--------- src/BODY/pair_body_rounded_polyhedron.cpp | 21 +++++++++------------ 2 files changed, 18 insertions(+), 21 deletions(-) diff --git a/src/BODY/pair_body_rounded_polygon.cpp b/src/BODY/pair_body_rounded_polygon.cpp index 7dc7956586..23a4da7f07 100644 --- a/src/BODY/pair_body_rounded_polygon.cpp +++ b/src/BODY/pair_body_rounded_polygon.cpp @@ -21,21 +21,21 @@ #include "pair_body_rounded_polygon.h" -#include -#include -#include "math_extra.h" #include "atom.h" #include "atom_vec_body.h" #include "body_rounded_polygon.h" #include "comm.h" -#include "force.h" -#include "fix.h" -#include "modify.h" -#include "neighbor.h" -#include "neigh_list.h" -#include "memory.h" #include "error.h" +#include "fix.h" +#include "force.h" +#include "math_extra.h" +#include "memory.h" +#include "modify.h" +#include "neigh_list.h" +#include "neighbor.h" +#include +#include using namespace LAMMPS_NS; diff --git a/src/BODY/pair_body_rounded_polyhedron.cpp b/src/BODY/pair_body_rounded_polyhedron.cpp index 65179ecb80..6deb06aafb 100644 --- a/src/BODY/pair_body_rounded_polyhedron.cpp +++ b/src/BODY/pair_body_rounded_polyhedron.cpp @@ -23,22 +23,22 @@ #include "pair_body_rounded_polyhedron.h" -#include -#include #include "atom.h" #include "atom_vec_body.h" #include "body_rounded_polyhedron.h" #include "comm.h" -#include "force.h" -#include "fix.h" -#include "modify.h" -#include "neighbor.h" -#include "neigh_list.h" -#include "memory.h" #include "error.h" -#include "math_extra.h" +#include "fix.h" +#include "force.h" #include "math_const.h" +#include "math_extra.h" +#include "memory.h" +#include "modify.h" +#include "neigh_list.h" +#include "neighbor.h" +#include +#include using namespace LAMMPS_NS; using namespace MathConst; @@ -1212,10 +1212,7 @@ int PairBodyRoundedPolyhedron::interaction_edge_to_edge(int ibody, contact_list[num_contacts].unique = 1; num_contacts++; } - } else { - } - return interact; } From 9cb8a6205e8b693e745aa53b8111138242ee5ab2 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 13 Aug 2021 06:24:39 -0400 Subject: [PATCH 655/726] apply "no" argument correctly --- src/EXTRA-FIX/fix_gld.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/EXTRA-FIX/fix_gld.cpp b/src/EXTRA-FIX/fix_gld.cpp index 34ed43301e..2e30882206 100644 --- a/src/EXTRA-FIX/fix_gld.cpp +++ b/src/EXTRA-FIX/fix_gld.cpp @@ -132,6 +132,7 @@ FixGLD::FixGLD(LAMMPS *lmp, int narg, char **arg) : error->all(FLERR, "Illegal fix gld command"); } if (strcmp(arg[iarg+1],"no") == 0) { + zeroflag = 0; } else if (strcmp(arg[iarg+1],"yes") == 0) { zeroflag = 1; } else { @@ -144,6 +145,7 @@ FixGLD::FixGLD(LAMMPS *lmp, int narg, char **arg) : error->all(FLERR, "Illegal fix gld command"); } if (strcmp(arg[iarg+1],"no") == 0) { + freezeflag = 0; } else if (strcmp(arg[iarg+1],"yes") == 0) { freezeflag = 1; for (int i = 0; i < atom->nlocal; i++) { From eaedd9ad488e74c316de4dfe2330524dbd30c7a8 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 13 Aug 2021 06:24:57 -0400 Subject: [PATCH 656/726] fix output issues --- src/REPLICA/neb.cpp | 8 +++++--- src/SPIN/neb_spin.cpp | 12 +++++++----- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/src/REPLICA/neb.cpp b/src/REPLICA/neb.cpp index 66a1dd83d5..a445ace756 100644 --- a/src/REPLICA/neb.cpp +++ b/src/REPLICA/neb.cpp @@ -94,7 +94,8 @@ NEB::~NEB() { MPI_Comm_free(&roots); memory->destroy(all); - delete [] rdist; + delete[] rdist; + if (fp) fclose(fp); } /* ---------------------------------------------------------------------- @@ -379,8 +380,8 @@ void NEB::readfile(char *file, int flag) char line[MAXLINE]; double xx,yy,zz,delx,dely,delz; - if (me_universe == 0 && screen) - fprintf(screen,"Reading NEB coordinate file(s) ...\n"); + if (me_universe == 0 && universe->uscreen) + fprintf(universe->uscreen,"Reading NEB coordinate file(s) ...\n"); // flag = 0, universe root reads header of file, bcast to universe // flag = 1, each replica's root reads header of file, bcast to world @@ -534,6 +535,7 @@ void NEB::readfile(char *file, int flag) else fclose(fp); } } + fp = nullptr; } /* ---------------------------------------------------------------------- diff --git a/src/SPIN/neb_spin.cpp b/src/SPIN/neb_spin.cpp index a07a16350a..1b798166a1 100644 --- a/src/SPIN/neb_spin.cpp +++ b/src/SPIN/neb_spin.cpp @@ -78,7 +78,8 @@ NEBSpin::~NEBSpin() { MPI_Comm_free(&roots); memory->destroy(all); - delete [] rdist; + delete[] rdist; + if (fp) fclose(fp); } /* ---------------------------------------------------------------------- @@ -373,8 +374,8 @@ void NEBSpin::readfile(char *file, int flag) double xx,yy,zz; double musp,spx,spy,spz; - if (me_universe == 0 && screen) - fprintf(screen,"Reading NEBSpin coordinate file(s) ...\n"); + if (me_universe == 0 && universe->uscreen) + fprintf(universe->uscreen,"Reading NEBSpin coordinate file(s) ...\n"); // flag = 0, universe root reads header of file, bcast to universe // flag = 1, each replica's root reads header of file, bcast to world @@ -546,8 +547,8 @@ void NEBSpin::readfile(char *file, int flag) // clean up - delete [] buffer; - delete [] values; + delete[] buffer; + delete[] values; if (flag == 0) { if (me_universe == 0) { @@ -560,6 +561,7 @@ void NEBSpin::readfile(char *file, int flag) else fclose(fp); } } + fp = nullptr; } /* ---------------------------------------------------------------------- From cba8e8237ae754cd842e4440a1d555c7be3fbbfa Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 13 Aug 2021 06:25:21 -0400 Subject: [PATCH 657/726] avoid memory leak with MPI-IO --- src/read_restart.cpp | 41 ++++++++++++++++++++--------------------- 1 file changed, 20 insertions(+), 21 deletions(-) diff --git a/src/read_restart.cpp b/src/read_restart.cpp index faf9fd1620..e42bb59272 100644 --- a/src/read_restart.cpp +++ b/src/read_restart.cpp @@ -44,7 +44,7 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -ReadRestart::ReadRestart(LAMMPS *lmp) : Command(lmp) {} +ReadRestart::ReadRestart(LAMMPS *lmp) : Command(lmp), mpiio(nullptr) {} /* ---------------------------------------------------------------------- */ @@ -110,8 +110,7 @@ void ReadRestart::command(int narg, char **arg) } fp = fopen(hfile.c_str(),"rb"); if (fp == nullptr) - error->one(FLERR,"Cannot open restart file {}: {}", - hfile, utils::getsyserror()); + error->one(FLERR,"Cannot open restart file {}: {}", hfile, utils::getsyserror()); } // read magic string, endian flag, format revision @@ -336,8 +335,7 @@ void ReadRestart::command(int narg, char **arg) procfile.replace(procfile.find("%"),1,fmt::format("{}",icluster)); fp = fopen(procfile.c_str(),"rb"); if (fp == nullptr) - error->one(FLERR,"Cannot open restart file {}: {}", - procfile, utils::getsyserror()); + error->one(FLERR,"Cannot open restart file {}: {}", procfile, utils::getsyserror()); } int procsperfile; @@ -401,7 +399,7 @@ void ReadRestart::command(int narg, char **arg) // clean-up memory - delete [] file; + delete[] file; memory->destroy(buf); // for multiproc or MPI-IO files: @@ -525,8 +523,9 @@ void ReadRestart::command(int narg, char **arg) MPI_Barrier(world); if (comm->me == 0) - utils::logmesg(lmp," read_restart CPU = {:.3f} seconds\n", - MPI_Wtime()-time1); + utils::logmesg(lmp," read_restart CPU = {:.3f} seconds\n",MPI_Wtime()-time1); + + delete mpiio; } /* ---------------------------------------------------------------------- @@ -599,7 +598,7 @@ void ReadRestart::header() if (me == 0) utils::logmesg(lmp," restart file = {}, LAMMPS = {}\n", version,lmp->version); - delete [] version; + delete[] version; // we have no forward compatibility, thus exit with error @@ -638,7 +637,7 @@ void ReadRestart::header() } else if (flag == UNITS) { char *style = read_string(); if (strcmp(style,update->unit_style) != 0) update->set_units(style); - delete [] style; + delete[] style; } else if (flag == NTIMESTEP) { update->ntimestep = read_bigint(); @@ -772,9 +771,9 @@ void ReadRestart::header() atom->create_avec(style,nargcopy,argcopy,1); if (comm->me ==0) utils::logmesg(lmp," restoring atom style {} from restart\n",style); - for (int i = 0; i < nargcopy; i++) delete [] argcopy[i]; - delete [] argcopy; - delete [] style; + for (int i = 0; i < nargcopy; i++) delete[] argcopy[i]; + delete[] argcopy; + delete[] style; } else if (flag == NATOMS) { atom->natoms = read_bigint(); @@ -889,7 +888,7 @@ void ReadRestart::type_arrays() double *mass = new double[atom->ntypes+1]; read_double_vec(atom->ntypes,&mass[1]); atom->set_mass(mass); - delete [] mass; + delete[] mass; } else error->all(FLERR, "Invalid flag in type arrays section of restart file"); @@ -910,7 +909,7 @@ void ReadRestart::force_fields() if (flag == PAIR) { style = read_string(); force->create_pair(style,1); - delete [] style; + delete[] style; if (comm->me ==0) utils::logmesg(lmp," restoring pair style {} from restart\n", force->pair_style); @@ -926,7 +925,7 @@ void ReadRestart::force_fields() } else if (flag == BOND) { style = read_string(); force->create_bond(style,1); - delete [] style; + delete[] style; if (comm->me ==0) utils::logmesg(lmp," restoring bond style {} from restart\n", force->bond_style); @@ -935,7 +934,7 @@ void ReadRestart::force_fields() } else if (flag == ANGLE) { style = read_string(); force->create_angle(style,1); - delete [] style; + delete[] style; if (comm->me ==0) utils::logmesg(lmp," restoring angle style {} from restart\n", force->angle_style); @@ -944,7 +943,7 @@ void ReadRestart::force_fields() } else if (flag == DIHEDRAL) { style = read_string(); force->create_dihedral(style,1); - delete [] style; + delete[] style; if (comm->me ==0) utils::logmesg(lmp," restoring dihedral style {} from restart\n", force->dihedral_style); @@ -953,7 +952,7 @@ void ReadRestart::force_fields() } else if (flag == IMPROPER) { style = read_string(); force->create_improper(style,1); - delete [] style; + delete[] style; if (comm->me ==0) utils::logmesg(lmp," restoring improper style {} from restart\n", force->improper_style); @@ -1117,7 +1116,7 @@ void ReadRestart::magic_string() MPI_Bcast(str,n,MPI_CHAR,0,world); if (strcmp(str,MAGIC_STRING) != 0) error->all(FLERR,"Invalid LAMMPS restart file"); - delete [] str; + delete[] str; } /* ---------------------------------------------------------------------- @@ -1164,7 +1163,7 @@ void ReadRestart::check_eof_magic() if (strcmp(str,MAGIC_STRING) != 0) error->all(FLERR,"Incomplete or corrupted LAMMPS restart file"); - delete [] str; + delete[] str; } /* ---------------------------------------------------------------------- From e15c51c7e1351b6e3ae130f64f3b24282882cd12 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 15 Aug 2021 17:44:22 -0400 Subject: [PATCH 658/726] correctly use global cutoff instead of per-type-pair cutoffs --- src/INTERLAYER/pair_ilp_graphene_hbn.cpp | 15 +++------------ src/INTERLAYER/pair_kolmogorov_crespi_full.cpp | 15 +++------------ 2 files changed, 6 insertions(+), 24 deletions(-) diff --git a/src/INTERLAYER/pair_ilp_graphene_hbn.cpp b/src/INTERLAYER/pair_ilp_graphene_hbn.cpp index 3a35c281c1..efb7214cd7 100644 --- a/src/INTERLAYER/pair_ilp_graphene_hbn.cpp +++ b/src/INTERLAYER/pair_ilp_graphene_hbn.cpp @@ -141,15 +141,6 @@ void PairILPGrapheneHBN::settings(int narg, char **arg) cut_global = utils::numeric(FLERR,arg[0],false,lmp); if (narg == 2) tap_flag = utils::numeric(FLERR,arg[1],false,lmp); - - // reset cutoffs that have been explicitly set - - if (allocated) { - int i,j; - for (i = 1; i <= atom->ntypes; i++) - for (j = i; j <= atom->ntypes; j++) - if (setflag[i][j]) cut[i][j] = cut_global; - } } /* ---------------------------------------------------------------------- @@ -175,14 +166,14 @@ double PairILPGrapheneHBN::init_one(int i, int j) if (!offset_flag) error->all(FLERR,"Must use 'pair_modify shift yes' with this pair style"); - if (offset_flag && (cut[i][j] > 0.0)) { + if (offset_flag && (cut_global > 0.0)) { int iparam_ij = elem2param[map[i]][map[j]]; Param& p = params[iparam_ij]; - offset[i][j] = -p.C6*pow(1.0/cut[i][j],6)/(1.0 + exp(-p.d*(cut[i][j]/p.seff - 1.0))); + offset[i][j] = -p.C6*pow(1.0/cut_global,6)/(1.0 + exp(-p.d*(cut_global/p.seff - 1.0))); } else offset[i][j] = 0.0; offset[j][i] = offset[i][j]; - return cut[i][j]; + return cut_global; } /* ---------------------------------------------------------------------- diff --git a/src/INTERLAYER/pair_kolmogorov_crespi_full.cpp b/src/INTERLAYER/pair_kolmogorov_crespi_full.cpp index bd5050401e..21ef996a3c 100644 --- a/src/INTERLAYER/pair_kolmogorov_crespi_full.cpp +++ b/src/INTERLAYER/pair_kolmogorov_crespi_full.cpp @@ -143,15 +143,6 @@ void PairKolmogorovCrespiFull::settings(int narg, char **arg) cut_global = utils::numeric(FLERR,arg[0],false,lmp); if (narg == 2) tap_flag = utils::numeric(FLERR,arg[1],false,lmp); - - // reset cutoffs that have been explicitly set - - if (allocated) { - int i,j; - for (i = 1; i <= atom->ntypes; i++) - for (j = i; j <= atom->ntypes; j++) - if (setflag[i][j]) cut[i][j] = cut_global; - } } /* ---------------------------------------------------------------------- @@ -176,14 +167,14 @@ double PairKolmogorovCrespiFull::init_one(int i, int j) if (!offset_flag) error->all(FLERR,"Must use 'pair_modify shift yes' with this pair style"); - if (offset_flag && (cut[i][j] > 0.0)) { + if (offset_flag && (cut_global > 0.0)) { int iparam_ij = elem2param[map[i]][map[j]]; Param& p = params[iparam_ij]; - offset[i][j] = -p.A*pow(p.z0/cut[i][j],6); + offset[i][j] = -p.A*pow(p.z0/cut_global,6); } else offset[i][j] = 0.0; offset[j][i] = offset[i][j]; - return cut[i][j]; + return cut_global; } /* ---------------------------------------------------------------------- From 7efbdb24cc03b40a9cabc68c23bb5dceb9c58eb2 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 15 Aug 2021 18:39:21 -0400 Subject: [PATCH 659/726] fix memory leak --- src/INTERLAYER/pair_ilp_graphene_hbn.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/INTERLAYER/pair_ilp_graphene_hbn.cpp b/src/INTERLAYER/pair_ilp_graphene_hbn.cpp index efb7214cd7..3aa5ae7bf5 100644 --- a/src/INTERLAYER/pair_ilp_graphene_hbn.cpp +++ b/src/INTERLAYER/pair_ilp_graphene_hbn.cpp @@ -107,6 +107,7 @@ PairILPGrapheneHBN::~PairILPGrapheneHBN() memory->destroy(elem2param); memory->destroy(cutILPsq); + memory->sfree(params); } /* ---------------------------------------------------------------------- From 832f6499edf4e54143278ca71c5514b842f8f71b Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 15 Aug 2021 18:39:42 -0400 Subject: [PATCH 660/726] add suppression for OpenMP in newer GCC compilers --- tools/valgrind/OpenMP.supp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/tools/valgrind/OpenMP.supp b/tools/valgrind/OpenMP.supp index 0820100b94..e1870e668c 100644 --- a/tools/valgrind/OpenMP.supp +++ b/tools/valgrind/OpenMP.supp @@ -123,3 +123,14 @@ ... obj:* } +{ + OpnMP_init_part11 + Memcheck:Leak + match-leak-kinds: possible + fun:calloc + ... + fun:allocate_dtv + ... + fun:GOMP_parallel + obj:* +} From 7b873ffc0be54f64febce73dedd1e78c7c1447a5 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 15 Aug 2021 19:07:57 -0400 Subject: [PATCH 661/726] add unit tests for ilp/graphene/hbn and kolmogorov/crespi/full --- unittest/force-styles/tests/data.bilayer | 72 ++++++++++ unittest/force-styles/tests/in.bilayer | 16 +++ .../tests/manybody-pair-ilp-graphene-hbn.yaml | 126 ++++++++++++++++++ ...anybody-pair-ilp-graphene-hbn_notaper.yaml | 126 ++++++++++++++++++ .../manybody-pair-kolmogorov_crespi_full.yaml | 126 ++++++++++++++++++ ...y-pair-kolmogorov_crespi_full_notaper.yaml | 126 ++++++++++++++++++ 6 files changed, 592 insertions(+) create mode 100644 unittest/force-styles/tests/data.bilayer create mode 100644 unittest/force-styles/tests/in.bilayer create mode 100644 unittest/force-styles/tests/manybody-pair-ilp-graphene-hbn.yaml create mode 100644 unittest/force-styles/tests/manybody-pair-ilp-graphene-hbn_notaper.yaml create mode 100644 unittest/force-styles/tests/manybody-pair-kolmogorov_crespi_full.yaml create mode 100644 unittest/force-styles/tests/manybody-pair-kolmogorov_crespi_full_notaper.yaml diff --git a/unittest/force-styles/tests/data.bilayer b/unittest/force-styles/tests/data.bilayer new file mode 100644 index 0000000000..101bb02480 --- /dev/null +++ b/unittest/force-styles/tests/data.bilayer @@ -0,0 +1,72 @@ +LAMMPS data file. CGCMM style. atom_style full generated by VMD/TopoTools v1.8 on Sun Aug 15 17:12:56 EDT 2021 + 48 atoms + 0 bonds + 0 angles + 0 dihedrals + 0 impropers + 3 atom types + 0 bond types + 0 angle types + 0 dihedral types + 0 improper types + 0 7.38 xlo xhi + 0 8.58 ylo yhi + 0 10.0 zlo zhi + + Masses + + 1 11.000000 # 1 + 2 14.000000 # 2 + 3 12.000000 # 3 + + Atoms # full + +1 1 2 -0.420000 0.000000 0.715000 0.000000 # 2 +2 1 1 0.420000 0.000000 2.145000 0.000000 # 1 +3 1 2 -0.420000 1.238416 2.860000 0.000000 # 2 +4 1 1 0.420000 1.238416 4.290000 0.000000 # 1 +5 1 2 -0.420000 0.000000 5.005000 0.000000 # 2 +6 1 1 0.420000 0.000000 6.435000 0.000000 # 1 +7 1 2 -0.420000 1.238416 7.150000 0.000000 # 2 +8 1 1 0.420000 1.238416 8.580000 0.000000 # 1 +9 1 2 -0.420000 2.476833 0.715000 0.000000 # 2 +10 1 1 0.420000 2.476833 2.145000 0.000000 # 1 +11 1 2 -0.420000 3.715249 2.860000 0.000000 # 2 +12 1 1 0.420000 3.715249 4.290000 0.000000 # 1 +13 1 2 -0.420000 2.476833 5.005000 0.000000 # 2 +14 1 1 0.420000 2.476833 6.435000 0.000000 # 1 +15 1 2 -0.420000 3.715249 7.150000 0.000000 # 2 +16 1 1 0.420000 3.715249 8.580000 0.000000 # 1 +17 1 2 -0.420000 4.953665 0.715000 0.000000 # 2 +18 1 1 0.420000 4.953665 2.145000 0.000000 # 1 +19 1 2 -0.420000 6.192081 2.860000 0.000000 # 2 +20 1 1 0.420000 6.192081 4.290000 0.000000 # 1 +21 1 2 -0.420000 4.953665 5.005000 0.000000 # 2 +22 1 1 0.420000 4.953665 6.435000 0.000000 # 1 +23 1 2 -0.420000 6.192081 7.150000 0.000000 # 2 +24 1 1 0.420000 6.192081 8.580000 0.000000 # 1 +25 2 3 0.000000 1.238416 1.430000 3.330000 # 3 +26 2 3 0.000000 0.000000 2.145000 3.330000 # 3 +27 2 3 0.000000 0.000000 3.575000 3.330000 # 3 +28 2 3 0.000000 1.238416 4.290000 3.330000 # 3 +29 2 3 0.000000 1.238416 5.720000 3.330000 # 3 +30 2 3 0.000000 0.000000 6.435000 3.330000 # 3 +31 2 3 0.000000 0.000000 7.865000 3.330000 # 3 +32 2 3 0.000000 1.238416 8.580000 3.330000 # 3 +33 2 3 0.000000 3.715249 1.430000 3.330000 # 3 +34 2 3 0.000000 2.476833 2.145000 3.330000 # 3 +35 2 3 0.000000 2.476833 3.575000 3.330000 # 3 +36 2 3 0.000000 3.715249 4.290000 3.330000 # 3 +37 2 3 0.000000 3.715249 5.720000 3.330000 # 3 +38 2 3 0.000000 2.476833 6.435000 3.330000 # 3 +39 2 3 0.000000 2.476833 7.865000 3.330000 # 3 +40 2 3 0.000000 3.715249 8.580000 3.330000 # 3 +41 2 3 0.000000 6.192081 1.430000 3.330000 # 3 +42 2 3 0.000000 4.953665 2.145000 3.330000 # 3 +43 2 3 0.000000 4.953665 3.575000 3.330000 # 3 +44 2 3 0.000000 6.192081 4.290000 3.330000 # 3 +45 2 3 0.000000 6.192081 5.720000 3.330000 # 3 +46 2 3 0.000000 4.953665 6.435000 3.330000 # 3 +47 2 3 0.000000 4.953665 7.865000 3.330000 # 3 +48 2 3 0.000000 6.192081 8.580000 3.330000 # 3 + diff --git a/unittest/force-styles/tests/in.bilayer b/unittest/force-styles/tests/in.bilayer new file mode 100644 index 0000000000..6ce26ecc71 --- /dev/null +++ b/unittest/force-styles/tests/in.bilayer @@ -0,0 +1,16 @@ +variable newton_pair index on +variable newton_bond index on +variable units index metal +variable input_dir index . +variable data_file index ${input_dir}/data.bilayer +variable pair_style index 'zero 8.0' + +atom_style full +atom_modify map array +neigh_modify delay 2 every 2 check no +units ${units} +timestep 0.0001 +newton ${newton_pair} ${newton_bond} + +pair_style ${pair_style} +read_data ${data_file} diff --git a/unittest/force-styles/tests/manybody-pair-ilp-graphene-hbn.yaml b/unittest/force-styles/tests/manybody-pair-ilp-graphene-hbn.yaml new file mode 100644 index 0000000000..b2986e4d02 --- /dev/null +++ b/unittest/force-styles/tests/manybody-pair-ilp-graphene-hbn.yaml @@ -0,0 +1,126 @@ +--- +lammps_version: 30 Jul 2021 +date_generated: Sun Aug 15 17:37:13 2021 +epsilon: 5e-12 +skip_tests: single +prerequisites: ! | + pair ilp/graphene/hbn + atom full +pre_commands: ! | + variable newton_pair delete + variable newton_pair index on + comm_modify cutoff 16.0 +post_commands: ! "" +input_file: in.bilayer +pair_style: hybrid/overlay ilp/graphene/hbn 16.0 1 +pair_coeff: ! | + * * ilp/graphene/hbn BNCH.ILP B N C +extract: ! "" +natoms: 48 +init_vdwl: -1.387500902597699 +init_coul: 0 +init_stress: ! |- + -1.0950745163741815e+00 -1.0965448791525116e+00 -5.5691185658268150e-01 0.0 0.0 -1.1949269093120441e-03 +init_forces: ! |2 + 1 2.0033364707962020e-03 3.2526065174565133e-18 -4.7626541030897668e-02 + 2 -1.1368359972830505e-05 9.1814113875668727e-05 4.2488212564737199e-02 + 3 -5.5278100417535583e-05 -1.1058862159352145e-17 -4.4732824814754067e-02 + 4 -2.3915922842134181e-04 2.2249364734195330e-06 4.0890453270282665e-02 + 5 2.0033364707962020e-03 4.1199682554449168e-18 -4.7626541030897619e-02 + 6 -1.1368359972813158e-05 9.1814113875680762e-05 4.2488212564737102e-02 + 7 -5.5278100417523006e-05 -3.7404974950749903e-17 -4.4732824814753921e-02 + 8 -2.3915922842133140e-04 2.2249364733897175e-06 4.0890453270282998e-02 + 9 -5.2020828171993284e-05 -2.0193265462542520e-18 -4.4737801821738435e-02 + 10 -1.2511640292790002e-04 -4.3335410390344704e-06 4.1581628715790360e-02 + 11 5.1983198952135928e-05 -1.1150341717655610e-17 -4.4737856331164172e-02 + 12 1.2512171341779051e-04 -4.3318158884542686e-06 4.1581659199143604e-02 + 13 -5.2020828171995019e-05 -1.0299920638612292e-18 -4.4737801821738400e-02 + 14 -1.2511640292792257e-04 -4.3335410390036926e-06 4.1581628715790221e-02 + 15 5.1983198952134085e-05 -2.2639496614212939e-17 -4.4737856331164047e-02 + 16 1.2512171341781285e-04 -4.3318158884359524e-06 4.1581659199143896e-02 + 17 5.5317942397928804e-05 -1.3694193416497087e-17 -4.4732879184470137e-02 + 18 2.3916128102602216e-04 2.2268062502434974e-06 4.0890470745578923e-02 + 19 -2.0033386835566994e-03 5.0537162006743762e-18 -4.7626540891187855e-02 + 20 1.1360996878247132e-05 9.1814258501936069e-05 4.2488199556680040e-02 + 21 5.5317942397930972e-05 2.0466433588032032e-18 -4.4732879184470033e-02 + 22 2.3916128102602656e-04 2.2268062502461309e-06 4.0890470745578937e-02 + 23 -2.0033386835567038e-03 -4.0058358597583202e-17 -4.7626540891187820e-02 + 24 1.1360996878233309e-05 9.1814258501946586e-05 4.2488199556680414e-02 + 25 -1.6486800709624230e-04 -1.8127313551345855e-05 -1.0796056549805585e-03 + 26 9.7415698381275641e-04 -8.3284301802344016e-04 5.3751455194570915e-03 + 27 1.0178111270105904e-03 7.4102890414775549e-04 -6.3746876686657586e-04 + 28 -1.2956932174262685e-04 1.5902377077926376e-05 5.3232551286718586e-03 + 29 -1.6486800709624447e-04 -1.8127313551316636e-05 -1.0796056549805698e-03 + 30 9.7415698381273170e-04 -8.3284301802343886e-04 5.3751455194570958e-03 + 31 1.0178111270106190e-03 7.4102890414773901e-04 -6.3746876686670770e-04 + 32 -1.2956932174261818e-04 1.5902377077917892e-05 5.3232551286718872e-03 + 33 9.2654152308404886e-05 4.0850279627708816e-06 -1.6053564303655610e-03 + 34 -8.4466761317455313e-05 2.6270005211736469e-07 4.7609191024683460e-03 + 35 -9.2670469782459453e-05 4.0708409869095536e-06 -1.6053645864696963e-03 + 36 8.4450760061533046e-05 2.4678792568258345e-07 4.7609196893467782e-03 + 37 9.2654152308405103e-05 4.0850279628000907e-06 -1.6053564303655061e-03 + 38 -8.4466761317482635e-05 2.6270005213547426e-07 4.7609191024683400e-03 + 39 -9.2670469782453165e-05 4.0708409868783421e-06 -1.6053645864697198e-03 + 40 8.4450760061528275e-05 2.4678792566386402e-07 4.7609196893469690e-03 + 41 -1.0178163233209149e-03 7.4102846801620556e-04 -6.3745882808595152e-04 + 42 1.2958970254336804e-04 1.5886756456806513e-05 5.3232663025057810e-03 + 43 1.6488952088059271e-04 -1.8113562707041957e-05 -1.0795875600957813e-03 + 44 -9.7416136335758238e-04 -8.3284272651813762e-04 5.3751561064124811e-03 + 45 -1.0178163233209125e-03 7.4102846801622031e-04 -6.3745882808583789e-04 + 46 1.2958970254337579e-04 1.5886756456791148e-05 5.3232663025058772e-03 + 47 1.6488952088058748e-04 -1.8113562707049496e-05 -1.0795875600958203e-03 + 48 -9.7416136335759366e-04 -8.3284272651814803e-04 5.3751561064124855e-03 +run_vdwl: -1.3875037702379507 +run_coul: 0 +run_stress: ! |- + -1.0950798483072388e+00 -1.0965501776879543e+00 -5.5691866561084535e-01 -7.8353909283032197e-16 -7.5145250540648381e-15 -1.1949322419481606e-03 +run_forces: ! |2 + 1 2.0033030003525137e-03 8.9435705391029130e-10 -4.7625968392020532e-02 + 2 -1.1367384359795837e-05 9.1815719224718032e-05 4.2487909883465465e-02 + 3 -5.5282089115551557e-05 -2.6135646989168017e-09 -4.4732313434801885e-02 + 4 -2.3915909829547773e-04 2.2249799837368439e-06 4.0890200928313990e-02 + 5 2.0033030003524860e-03 8.9435706106602564e-10 -4.7625968392020428e-02 + 6 -1.1367384359823613e-05 9.1815719224701660e-05 4.2487909883465430e-02 + 7 -5.5282089115578446e-05 -2.6135647671131183e-09 -4.4732313434801836e-02 + 8 -2.3915909829547773e-04 2.2249799837172199e-06 4.0890200928314566e-02 + 9 -5.2020641072548406e-05 6.7005638625767475e-10 -4.4737290402994602e-02 + 10 -1.2511670468712049e-04 -4.3337535831548628e-06 4.1581350530843775e-02 + 11 5.1983012539478048e-05 6.7012239660759799e-10 -4.4737344911317957e-02 + 12 1.2512201515433533e-04 -4.3320284013805789e-06 4.1581381013272169e-02 + 13 -5.2020641072554044e-05 6.7005629369391428e-10 -4.4737290402994609e-02 + 14 -1.2511670468714348e-04 -4.3337535831713291e-06 4.1581350530843830e-02 + 15 5.1983012539505370e-05 6.7012235105247202e-10 -4.4737344911317853e-02 + 16 1.2512201515432167e-04 -4.3320284013572685e-06 4.1581381013272294e-02 + 17 5.5321930482132663e-05 -2.6135608037222913e-09 -4.4732367803430914e-02 + 18 2.3916115092586794e-04 2.2268497947506605e-06 4.0890218403155591e-02 + 19 -2.0033052131855867e-03 8.9429471662265853e-10 -4.7625968252325866e-02 + 20 1.1360021262163687e-05 9.1815863853997803e-05 4.2487896875878589e-02 + 21 5.5321930482154889e-05 -2.6135608655374853e-09 -4.4732367803430817e-02 + 22 2.3916115092584907e-04 2.2268497947312516e-06 4.0890218403155654e-02 + 23 -2.0033052131855616e-03 8.9429479706876566e-10 -4.7625968252325804e-02 + 24 1.1360021262174096e-05 9.1815863853997342e-05 4.2487896875878825e-02 + 25 -1.6486945106528091e-04 -1.8126101379958718e-05 -1.0797429438547676e-03 + 26 9.7414016722233848e-04 -8.3283489942476445e-04 5.3750161101709729e-03 + 27 1.0177937442917731e-03 7.4101905540415944e-04 -6.3761022896437550e-04 + 28 -1.2957001720401498e-04 1.5902818724243767e-05 5.3231291183569798e-03 + 29 -1.6486945106529950e-04 -1.8126101379940937e-05 -1.0797429438548231e-03 + 30 9.7414016722235670e-04 -8.3283489942476228e-04 5.3750161101709625e-03 + 31 1.0177937442917692e-03 7.4101905540416161e-04 -6.3761022896433907e-04 + 32 -1.2957001720399937e-04 1.5902818724231570e-05 5.3231291183569417e-03 + 33 9.2652190820307180e-05 4.0847599754035413e-06 -1.6054772616410785e-03 + 34 -8.4465929960344556e-05 2.6265700116475746e-07 4.7608118750052195e-03 + 35 -9.2668507953961839e-05 4.0705731901608693e-06 -1.6054854176848882e-03 + 36 8.4449929025630626e-05 2.4674500177709956e-07 4.7608124618308432e-03 + 37 9.2652190820296772e-05 4.0847599754594472e-06 -1.6054772616411949e-03 + 38 -8.4465929960378383e-05 2.6265700123594889e-07 4.7608118750052542e-03 + 39 -9.2668507953971814e-05 4.0705731901478047e-06 -1.6054854176848756e-03 + 40 8.4449929025618483e-05 2.4674500176496539e-07 4.7608124618310956e-03 + 41 -1.0177989405882203e-03 7.4101861929748436e-04 -6.3760029049130570e-04 + 42 1.2959039767826896e-04 1.5887198241880077e-05 5.3231402917910302e-03 + 43 1.6489096449514255e-04 -1.8112350701529705e-05 -1.0797248493375658e-03 + 44 -9.7414454676205060e-04 -8.3283460790769116e-04 5.3750266967793276e-03 + 45 -1.0177989405881721e-03 7.4101861929751580e-04 -6.3760029049122590e-04 + 46 1.2959039767822169e-04 1.5887198241890099e-05 5.3231402917910502e-03 + 47 1.6489096449514865e-04 -1.8112350701541984e-05 -1.0797248493375228e-03 + 48 -9.7414454676203553e-04 -8.3283460790775058e-04 5.3750266967792192e-03 +... diff --git a/unittest/force-styles/tests/manybody-pair-ilp-graphene-hbn_notaper.yaml b/unittest/force-styles/tests/manybody-pair-ilp-graphene-hbn_notaper.yaml new file mode 100644 index 0000000000..dae0e501ca --- /dev/null +++ b/unittest/force-styles/tests/manybody-pair-ilp-graphene-hbn_notaper.yaml @@ -0,0 +1,126 @@ +--- +lammps_version: 30 Jul 2021 +date_generated: Sun Aug 15 18:41:00 2021 +epsilon: 5e-12 +skip_tests: single +prerequisites: ! | + pair ilp/graphene/hbn + atom full +pre_commands: ! | + variable newton_pair delete + variable newton_pair index on + comm_modify cutoff 16.0 +post_commands: ! "" +input_file: in.bilayer +pair_style: hybrid/overlay ilp/graphene/hbn 16.0 0 +pair_coeff: ! | + * * ilp/graphene/hbn BNCH.ILP B N C +extract: ! "" +natoms: 48 +init_vdwl: -1.743417069575419 +init_coul: 0 +init_stress: ! |- + -1.4159677678324094e+00 -1.4175957592828763e+00 -8.2079275196077894e-01 0.0 0.0 -1.2386435158561861e-03 +init_forces: ! |2 + 1 2.0850484065019883e-03 3.6862873864507151e-18 -5.0318618251118635e-02 + 2 -6.3446817540543932e-06 9.5024077809279612e-05 4.2760561141837801e-02 + 3 -4.9554482434026152e-05 -8.1315162936412833e-18 -4.7333694009245655e-02 + 4 -2.3873708476733480e-04 1.4944038076278483e-06 4.1104339963197040e-02 + 5 2.0850484065019900e-03 3.0357660829594124e-18 -5.0318618251118601e-02 + 6 -6.3446817540370459e-06 9.5024077809283949e-05 4.2760561141837863e-02 + 7 -4.9554482434004034e-05 -2.0003530082357557e-17 -4.7333694009245551e-02 + 8 -2.3873708476732872e-04 1.4944038076165726e-06 4.1104339963197123e-02 + 9 -5.1133673114476565e-05 -4.2825985813177425e-18 -4.7328374000982235e-02 + 10 -1.2855382161618828e-04 -3.5892733150040340e-06 4.1845863048816843e-02 + 11 5.1094314571888079e-05 -9.2394353886499081e-18 -4.7328430254607333e-02 + 12 1.2855900637380436e-04 -3.5874635791496971e-06 4.1845894619109855e-02 + 13 -5.1133673114468758e-05 5.4210108624275222e-20 -4.7328374000982200e-02 + 14 -1.2855382161621300e-04 -3.5892733149839627e-06 4.1845863048816802e-02 + 15 5.1094314571888079e-05 -1.8460236052460222e-17 -4.7328430254607312e-02 + 16 1.2855900637382496e-04 -3.5874635791107064e-06 4.1845894619109890e-02 + 17 4.9595925523595848e-05 -4.7802304378296440e-18 -4.7333750316999074e-02 + 18 2.3873932915433548e-04 1.4963296466885558e-06 4.1104357563481929e-02 + 19 -2.0850504910489491e-03 1.0522849122417783e-17 -5.0318618305247004e-02 + 20 6.3372526094387688e-06 9.5024193912500820e-05 4.2760547171829859e-02 + 21 4.9595925523599209e-05 1.0509561293057731e-18 -4.7333750316998997e-02 + 22 2.3873932915433646e-04 1.4963296466837175e-06 4.1104357563481873e-02 + 23 -2.0850504910489630e-03 -4.2831809164689798e-17 -5.0318618305246844e-02 + 24 6.3372526094248910e-06 9.5024193912522829e-05 4.2760547171829762e-02 + 25 -1.6288457344696859e-04 -1.8238152247257184e-05 9.5379191188832164e-05 + 26 1.0182995551939961e-03 -8.6641525713797730e-04 6.5970295316636436e-03 + 27 1.0604041695539059e-03 7.7139117932867849e-04 5.4135994220887943e-04 + 28 -1.2540699375438325e-04 1.6743748439636654e-05 6.5543328981639889e-03 + 29 -1.6288457344698247e-04 -1.8238152247225959e-05 9.5379191188821322e-05 + 30 1.0182995551939649e-03 -8.6641525713797123e-04 6.5970295316634528e-03 + 31 1.0604041695539443e-03 7.7139117932868467e-04 5.4135994220893408e-04 + 32 -1.2540699375435983e-04 1.6743748439636546e-05 6.5543328981640713e-03 + 33 9.3725416939480027e-05 3.9426681303011716e-06 -4.6805765375060782e-04 + 34 -8.5944868650094253e-05 -3.3863756950810271e-07 5.9498944235440096e-03 + 35 -9.3742626080580566e-05 3.9279108845123400e-06 -4.6806588898556445e-04 + 36 8.5927904006221408e-05 -3.5520455114131738e-07 5.9498948560586119e-03 + 37 9.3725416939479159e-05 3.9426681303317868e-06 -4.6805765375057583e-04 + 38 -8.5944868650128080e-05 -3.3863756950880066e-07 5.9498944235437754e-03 + 39 -9.3742626080576229e-05 3.9279108844955619e-06 -4.6806588898545658e-04 + 40 8.5927904006218372e-05 -3.5520455114406897e-07 5.9498948560586301e-03 + 41 -1.0604093518345942e-03 7.7139074370169154e-04 5.4137060014462714e-04 + 42 1.2542828980921278e-04 1.6727500981786547e-05 6.5543447221730429e-03 + 43 1.6290696486873053e-04 -1.8223830628457046e-05 9.5398084359375981e-05 + 44 -1.0183038866049599e-03 -8.6641493761418803e-04 6.5970409231580918e-03 + 45 -1.0604093518345931e-03 7.7139074370171051e-04 5.4137060014457867e-04 + 46 1.2542828980922080e-04 1.6727500981764446e-05 6.5543447221731157e-03 + 47 1.6290696486873449e-04 -1.8223830628478516e-05 9.5398084359388924e-05 + 48 -1.0183038866049608e-03 -8.6641493761419497e-04 6.5970409231580329e-03 +run_vdwl: -1.7434201284130086 +run_coul: 0 +run_stress: ! |- + -1.4159735399871292e+00 -1.4176014949571309e+00 -8.2080149187142926e-01 -2.1449500026615373e-16 -1.7714821647888020e-15 -1.2386484789055200e-03 +run_forces: ! |2 + 1 2.0850117908114097e-03 1.0161463491389217e-09 -5.0317981439628325e-02 + 2 -6.3437194577726987e-06 9.5025701239061859e-05 4.2760248404172425e-02 + 3 -4.9558828649647491e-05 -2.8627617254290035e-09 -4.7333123186150738e-02 + 4 -2.3873691985811830e-04 1.4944553106552229e-06 4.1104081968794406e-02 + 5 2.0850117908114453e-03 1.0161464421634681e-09 -5.0317981439628387e-02 + 6 -6.3437194577657598e-06 9.5025701239022950e-05 4.2760248404172314e-02 + 7 -4.9558828649683053e-05 -2.8627618450165031e-09 -4.7333123186150801e-02 + 8 -2.3873691985809662e-04 1.4944553106461156e-06 4.1104081968794330e-02 + 9 -5.1133422593300278e-05 7.5547760714921204e-10 -4.7327803360874096e-02 + 10 -1.2855412188890643e-04 -3.5895010384140685e-06 4.1845576403891582e-02 + 11 5.1094064803271807e-05 7.5555079194951369e-10 -4.7327859613308917e-02 + 12 1.2855930662305235e-04 -3.5876912710547494e-06 4.1845607973177879e-02 + 13 -5.1133422593287268e-05 7.5547762723405729e-10 -4.7327803360874242e-02 + 14 -1.2855412188890339e-04 -3.5895010383977919e-06 4.1845576403891596e-02 + 15 5.1094064803272566e-05 7.5555075467328774e-10 -4.7327859613308966e-02 + 16 1.2855930662306232e-04 -3.5876912710024113e-06 4.1845607973177948e-02 + 17 4.9600271065325580e-05 -2.8627573902157001e-09 -4.7333179492726606e-02 + 18 2.3873916427060956e-04 1.4963811844738990e-06 4.1104099568595440e-02 + 19 -2.0850138754365875e-03 1.0160778065162400e-09 -5.0317981493768628e-02 + 20 6.3362903110811795e-06 9.5025817345494392e-05 4.2760234434687100e-02 + 21 4.9600271065314522e-05 -2.8627574752175739e-09 -4.7333179492726564e-02 + 22 2.3873916427059666e-04 1.4963811844658860e-06 4.1104099568595440e-02 + 23 -2.0850138754366235e-03 1.0160777921810544e-09 -5.0317981493768635e-02 + 24 6.3362903110742406e-06 9.5025817345493959e-05 4.2760234434687017e-02 + 25 -1.6288606984034650e-04 -1.8236722175475704e-05 9.5216967993063707e-05 + 26 1.0182812312861281e-03 -8.6640626373293709e-04 6.5968711299294047e-03 + 27 1.0603851126650126e-03 7.7138037180120864e-04 5.4119317677753243e-04 + 28 -1.2540771098643044e-04 1.6744137902604281e-05 6.5541778235511557e-03 + 29 -1.6288606984038928e-04 -1.8236722175416289e-05 9.5216967993082789e-05 + 30 1.0182812312861922e-03 -8.6640626373294402e-04 6.5968711299294082e-03 + 31 1.0603851126649892e-03 7.7138037180129147e-04 5.4119317677749253e-04 + 32 -1.2540771098645993e-04 1.6744137902621953e-05 6.5541778235512944e-03 + 33 9.3723257649716975e-05 3.9423316345507744e-06 -4.6820173818218168e-04 + 34 -8.5943962571135429e-05 -3.3866278074822816e-07 5.9497600753296263e-03 + 35 -9.3740466418232955e-05 3.9275746001192263e-06 -4.6820997335027752e-04 + 36 8.5926998277192305e-05 -3.5522961929919531e-07 5.9497605077923395e-03 + 37 9.3723257649690628e-05 3.9423316345445131e-06 -4.6820173818211392e-04 + 38 -8.5943962571131960e-05 -3.3866278074772671e-07 5.9497600753297061e-03 + 39 -9.3740466418205850e-05 3.9275746001722167e-06 -4.6820997335035645e-04 + 40 8.5926998277160646e-05 -3.5522961930283416e-07 5.9497605077923222e-03 + 41 -1.0603902949286239e-03 7.7137993620434483e-04 5.4120383437409529e-04 + 42 1.2542900668491156e-04 1.6727890598687433e-05 6.5541896471255070e-03 + 43 1.6290846087229721e-04 -1.8222400738173032e-05 9.5235860757960438e-05 + 44 -1.0182855626908293e-03 -8.6640594419860580e-04 6.5968825210400628e-03 + 45 -1.0603902949286009e-03 7.7137993620434917e-04 5.4120383437400075e-04 + 46 1.2542900668490961e-04 1.6727890598721233e-05 6.5541896471255886e-03 + 47 1.6290846087231749e-04 -1.8222400738211376e-05 9.5235860757975237e-05 + 48 -1.0182855626908007e-03 -8.6640594419857295e-04 6.5968825210402865e-03 +... diff --git a/unittest/force-styles/tests/manybody-pair-kolmogorov_crespi_full.yaml b/unittest/force-styles/tests/manybody-pair-kolmogorov_crespi_full.yaml new file mode 100644 index 0000000000..42d31227d9 --- /dev/null +++ b/unittest/force-styles/tests/manybody-pair-kolmogorov_crespi_full.yaml @@ -0,0 +1,126 @@ +--- +lammps_version: 30 Jul 2021 +date_generated: Sun Aug 15 19:01:13 2021 +epsilon: 5e-12 +skip_tests: single +prerequisites: ! | + pair kolmogorov/crespi/full + atom full +pre_commands: ! | + variable newton_pair delete + variable newton_pair index on + comm_modify cutoff 16.0 +post_commands: ! "" +input_file: in.bilayer +pair_style: hybrid/overlay kolmogorov/crespi/full 16.0 1 +pair_coeff: ! | + * * kolmogorov/crespi/full CH_taper.KC C C C +extract: ! "" +natoms: 48 +init_vdwl: -1.2500397419624312 +init_coul: 0 +init_stress: ! |- + -1.0004429195951223e+00 -1.0032930381066463e+00 4.3070815061895146e-01 0.0 0.0 -1.7133324489474716e-02 +init_forces: ! |2 + 1 2.8687289997477317e-03 -7.8062556418956319e-18 3.6613830361686965e-02 + 2 1.3226962450822509e-03 1.2611200091842689e-03 -6.4703224388507563e-02 + 3 -3.4774444393605684e-04 -1.3010426069826053e-17 3.8050724789394384e-02 + 4 -3.4400661847007637e-04 3.0925839103697773e-05 -6.5875665183461635e-02 + 5 2.8687289997477005e-03 -1.5612511283791264e-17 3.6613830361687000e-02 + 6 1.3226962450822808e-03 1.2611200091843045e-03 -6.4703224388507549e-02 + 7 -3.4774444393598919e-04 -5.2150124496552763e-17 3.8050724789394412e-02 + 8 -3.4400661847007550e-04 3.0925839103693002e-05 -6.5875665183461662e-02 + 9 -1.2644907900887740e-04 -8.1315162936412833e-18 3.8649557617062728e-02 + 10 -1.1324543171146572e-04 -5.6284413155996182e-06 -6.5027903599930381e-02 + 11 1.2639947077019444e-04 -2.2215980140585789e-17 3.8649533308935571e-02 + 12 1.1322659571519420e-04 -5.6051326608156769e-06 -6.5027878367048986e-02 + 13 -1.2644907900885008e-04 2.3256136599814070e-17 3.8649557617062749e-02 + 14 -1.1324543171150085e-04 -5.6284413155611291e-06 -6.5027903599930395e-02 + 15 1.2639947077014381e-04 -7.0749273952362690e-17 3.8649533308935564e-02 + 16 1.1322659571522879e-04 -5.6051326608175471e-06 -6.5027878367048930e-02 + 17 3.4780347512676035e-04 3.1573153108904045e-19 3.8050688506524509e-02 + 18 3.4403466466237793e-04 3.0949865189355873e-05 -6.5875656847228403e-02 + 19 -2.8687384226996960e-03 1.2450087305437732e-17 3.6613818386944344e-02 + 20 -1.3227054552782821e-03 1.2611207266151373e-03 -6.4703241285155699e-02 + 21 3.4780347512675867e-04 2.4633623930286376e-17 3.8050688506524544e-02 + 22 3.4403466466237533e-04 3.0949865189391902e-05 -6.5875656847228389e-02 + 23 -2.8687384226997285e-03 -1.2114236094873442e-16 3.6613818386944393e-02 + 24 -1.3227054552782968e-03 1.2611207266151575e-03 -6.4703241285155685e-02 + 25 -3.4774444393599700e-04 -9.2157184661267877e-18 -3.8050724789394322e-02 + 26 1.3226962450822511e-03 -1.2611200091842659e-03 6.4703224388507466e-02 + 27 2.8687289997476766e-03 -2.1250362580715887e-17 -3.6613830361686889e-02 + 28 -3.4400661847007550e-04 -3.0925839103686985e-05 6.5875665183461676e-02 + 29 -3.4774444393599092e-04 3.0357660829594124e-17 -3.8050724789394301e-02 + 30 1.3226962450822149e-03 -1.2611200091842295e-03 6.4703224388507424e-02 + 31 2.8687289997477408e-03 -3.0791341698588326e-17 -3.6613830361686910e-02 + 32 -3.4400661847004514e-04 -3.0925839103694330e-05 6.5875665183461649e-02 + 33 1.2639947077014197e-04 1.9363173174233306e-17 -3.8649533308935488e-02 + 34 -1.1324543171148133e-04 5.6284413156027252e-06 6.5027903599930423e-02 + 35 -1.2644907900888000e-04 -9.8391347153059527e-18 -3.8649557617062437e-02 + 36 1.1322659571522738e-04 5.6051326608073988e-06 6.5027878367048986e-02 + 37 1.2639947077014413e-04 4.6109085516735093e-17 -3.8649533308935564e-02 + 38 -1.1324543171150865e-04 5.6284413156129404e-06 6.5027903599930312e-02 + 39 -1.2644907900887783e-04 -5.0401848493419887e-17 -3.8649557617062492e-02 + 40 1.1322659571519420e-04 5.6051326607950474e-06 6.5027878367048930e-02 + 41 -2.8687384226997710e-03 4.7556214837339464e-17 -3.6613818386944108e-02 + 42 3.4403466466238080e-04 -3.0949865189344834e-05 6.5875656847228375e-02 + 43 3.4780347512678995e-04 2.7966275061258421e-17 -3.8050688506524606e-02 + 44 -1.3227054552783079e-03 -1.2611207266151391e-03 6.4703241285155699e-02 + 45 -2.8687384226997693e-03 3.0234814582462649e-17 -3.6613818386944066e-02 + 46 3.4403466466241371e-04 -3.0949865189357960e-05 6.5875656847228403e-02 + 47 3.4780347512675510e-04 -4.1431557823760033e-17 -3.8050688506524565e-02 + 48 -1.3227054552782990e-03 -1.2611207266151820e-03 6.4703241285155616e-02 +run_vdwl: -1.250048655581655 +run_coul: 0 +run_stress: ! |- + -1.0004370065912216e+00 -1.0032870501278353e+00 4.3059909389948547e-01 -3.0512762156502117e-16 1.4810330715847770e-15 -1.7133053394138682e-02 +run_forces: ! |2 + 1 2.8687040337510585e-03 -2.1727982419360303e-08 3.6613767230361242e-02 + 2 1.3226761216838419e-03 1.2611192610103965e-03 -6.4700278384581700e-02 + 3 -3.4774048959829596e-04 -6.5329695842506266e-09 3.8050693623452148e-02 + 4 -3.4399690449135600e-04 3.0931288630288282e-05 -6.5872679966618428e-02 + 5 2.8687040337509414e-03 -2.1727982416324537e-08 3.6613767230361215e-02 + 6 1.3226761216838328e-03 1.2611192610103637e-03 -6.4700278384581755e-02 + 7 -3.4774048959831157e-04 -6.5329697417852023e-09 3.8050693623452293e-02 + 8 -3.4399690449132131e-04 3.0931288630341516e-05 -6.5872679966618358e-02 + 9 -1.2644870195377845e-04 -9.8156702533244537e-11 3.8649526065561227e-02 + 10 -1.1324486560407342e-04 -5.6284938931148765e-06 -6.5024950822206537e-02 + 11 1.2639909409585960e-04 -9.8445711624968110e-11 3.8649501756815911e-02 + 12 1.1322602979076438e-04 -5.6051853390437709e-06 -6.5024925590218899e-02 + 13 -1.2644870195375113e-04 -9.8156632886807482e-11 3.8649526065561317e-02 + 14 -1.1324486560405911e-04 -5.6284938930792740e-06 -6.5024950822206565e-02 + 15 1.2639909409583455e-04 -9.8445744733791953e-11 3.8649501756815870e-02 + 16 1.1322602979075462e-04 -5.6051853390539302e-06 -6.5024925590218899e-02 + 17 3.4779952031141985e-04 -6.5333858894565295e-09 3.8050657339932729e-02 + 18 3.4402495029270961e-04 3.0955314710129699e-05 -6.5872671630637689e-02 + 19 -2.8687134566054494e-03 -2.1728110080698652e-08 3.6613755255587549e-02 + 20 -1.3226853316725558e-03 1.2611199785361846e-03 -6.4700295280588876e-02 + 21 3.4779952031157007e-04 -6.5333859204723350e-09 3.8050657339932889e-02 + 22 3.4402495029267491e-04 3.0955314710011826e-05 -6.5872671630637619e-02 + 23 -2.8687134566054233e-03 -2.1728109989627787e-08 3.6613755255587500e-02 + 24 -1.3226853316725203e-03 1.2611199785360946e-03 -6.4700295280588946e-02 + 25 -3.4774026620067611e-04 5.4788299566664936e-09 -3.8050694958508775e-02 + 26 1.3226758258096682e-03 -1.2611202352806649e-03 6.4700279759489457e-02 + 27 2.8687023920407370e-03 2.3305742741057400e-08 -3.6613767021966469e-02 + 28 -3.4399811208785710e-04 -3.0930750484966575e-05 6.5872680514205861e-02 + 29 -3.4774026620052866e-04 5.4788301344756499e-09 -3.8050694958508983e-02 + 30 1.3226758258096626e-03 -1.2611202352806358e-03 6.4700279759489457e-02 + 31 2.8687023920407314e-03 2.3305742749297337e-08 -3.6613767021966427e-02 + 32 -3.4399811208790654e-04 -3.0930750484980141e-05 6.5872680514205958e-02 + 33 1.2639885814274838e-04 1.7430860588435232e-10 -3.8649502722412493e-02 + 34 -1.1324494267667476e-04 5.6283305711724153e-06 6.5024950991958153e-02 + 35 -1.2644846597469278e-04 1.7397032093721936e-10 -3.8649527031188770e-02 + 36 1.1322610689165884e-04 5.6050219889952428e-06 6.5024925759978203e-02 + 37 1.2639885814283360e-04 1.7430877254486095e-10 -3.8649502722412549e-02 + 38 -1.1324494267669341e-04 5.6283305709431489e-06 6.5024950991958139e-02 + 39 -1.2644846597468064e-04 1.7397049817716951e-10 -3.8649527031188825e-02 + 40 1.1322610689166047e-04 5.6050219889600113e-06 6.5024925759978369e-02 + 41 -2.8687118148861238e-03 2.3305846951219172e-08 -3.6613755047197015e-02 + 42 3.4402615788549601e-04 -3.0954776578351879e-05 6.5872672178240693e-02 + 43 3.4779929687850922e-04 5.4792724940850910e-09 -3.8050658674962379e-02 + 44 -1.3226850358229400e-03 -1.2611209527917432e-03 6.4700296655504905e-02 + 45 -2.8687118148861242e-03 2.3305846874457658e-08 -3.6613755047197084e-02 + 46 3.4402615788544478e-04 -3.0954776578295039e-05 6.5872672178240735e-02 + 47 3.4779929687843897e-04 5.4792724213126788e-09 -3.8050658674962212e-02 + 48 -1.3226850358228897e-03 -1.2611209527918239e-03 6.4700296655504780e-02 +... diff --git a/unittest/force-styles/tests/manybody-pair-kolmogorov_crespi_full_notaper.yaml b/unittest/force-styles/tests/manybody-pair-kolmogorov_crespi_full_notaper.yaml new file mode 100644 index 0000000000..e2e95b8c9b --- /dev/null +++ b/unittest/force-styles/tests/manybody-pair-kolmogorov_crespi_full_notaper.yaml @@ -0,0 +1,126 @@ +--- +lammps_version: 30 Jul 2021 +date_generated: Sun Aug 15 19:06:34 2021 +epsilon: 5e-12 +skip_tests: single +prerequisites: ! | + pair kolmogorov/crespi/full + atom full +pre_commands: ! | + variable newton_pair delete + variable newton_pair index on + comm_modify cutoff 16.0 +post_commands: ! "" +input_file: in.bilayer +pair_style: hybrid/overlay kolmogorov/crespi/full 16.0 0 +pair_coeff: ! | + * * kolmogorov/crespi/full CH.KC C C C +extract: ! "" +natoms: 48 +init_vdwl: -1.2319861234762621 +init_coul: 0 +init_stress: ! |- + -1.1008420461559216e+00 -1.1059574121005133e+00 1.9501897055379741e-01 0.0 0.0 -1.5182584087439038e-02 +init_forces: ! |2 + 1 2.7578315641555162e-03 -3.0357660829594124e-18 4.1533172062176493e-02 + 2 1.2588944124766973e-03 1.1188632453424979e-03 -6.5272327121384435e-02 + 3 -2.7478683204608390e-04 -8.0230960763927328e-18 4.2197936430518210e-02 + 4 -2.9454797299274370e-04 2.5016995713589751e-05 -6.6888523602123898e-02 + 5 2.7578315641554889e-03 -1.5178830414797062e-17 4.1533172062176521e-02 + 6 1.2588944124767164e-03 1.1188632453425370e-03 -6.5272327121384408e-02 + 7 -2.7478683204601537e-04 -5.8221656662471588e-17 4.2197936430518279e-02 + 8 -2.9454797299274544e-04 2.5016995713579072e-05 -6.6888523602123925e-02 + 9 -9.9550461818177349e-05 -4.5672016515951874e-18 4.2881244934310968e-02 + 10 -8.9376686817712898e-05 -3.9953386427702976e-06 -6.5900411970681708e-02 + 11 9.9502582131880363e-05 -1.8143445730187113e-17 4.2881235234728650e-02 + 12 8.9358399770402756e-05 -3.9749130157838919e-06 -6.5900379165394929e-02 + 13 -9.9550461818153496e-05 2.3418766925686896e-17 4.2881244934310996e-02 + 14 -8.9376686817732847e-05 -3.9953386427169006e-06 -6.5900411970681708e-02 + 15 9.9502582131827562e-05 -7.7708496647004022e-17 4.2881235234728796e-02 + 16 8.9358399770424440e-05 -3.9749130157734564e-06 -6.5900379165394957e-02 + 17 2.7484214272895964e-04 -4.4452289071905682e-18 4.2197913495242940e-02 + 18 2.9457391733397659e-04 2.5037988057733265e-05 -6.6888509865507970e-02 + 19 -2.7578389951520565e-03 1.2809996898682004e-17 4.1533158826483590e-02 + 20 -1.2589020697706256e-03 1.1188638120596694e-03 -6.5272346190055328e-02 + 21 2.7484214272896311e-04 2.3479753297889205e-17 4.2197913495243079e-02 + 22 2.9457391733397653e-04 2.5037988057775138e-05 -6.6888509865507970e-02 + 23 -2.7578389951520709e-03 -1.2185643619304939e-16 4.1533158826483604e-02 + 24 -1.2589020697706512e-03 1.1188638120596733e-03 -6.5272346190055328e-02 + 25 -2.7478683204603272e-04 -1.2468324983583301e-18 -4.2197936430518238e-02 + 26 1.2588944124767121e-03 -1.1188632453425023e-03 6.5272327121384421e-02 + 27 2.7578315641554356e-03 -2.6020852139652106e-17 -4.1533172062176479e-02 + 28 -2.9454797299273850e-04 -2.5016995713583283e-05 6.6888523602123814e-02 + 29 -2.7478683204602925e-04 3.7892865928368380e-17 -4.2197936430518307e-02 + 30 1.2588944124766739e-03 -1.1188632453424724e-03 6.5272327121384463e-02 + 31 2.7578315641555275e-03 -4.0115480381963664e-17 -4.1533172062176452e-02 + 32 -2.9454797299271942e-04 -2.5016995713586458e-05 6.6888523602123898e-02 + 33 9.9502582131834392e-05 -3.7269449679189215e-20 -4.2881235234728567e-02 + 34 -8.9376686817722005e-05 3.9953386427603932e-06 6.5900411970681694e-02 + 35 -9.9550461818180818e-05 -1.3674499900473425e-17 -4.2881244934310996e-02 + 36 8.9358399770429102e-05 3.9749130157800633e-06 6.5900379165395040e-02 + 37 9.9502582131827453e-05 5.1780818131549888e-17 -4.2881235234728608e-02 + 38 -8.9376686817744123e-05 3.9953386427840043e-06 6.5900411970681763e-02 + 39 -9.9550461818177349e-05 -5.0740661672321608e-17 -4.2881244934311093e-02 + 40 8.9358399770403624e-05 3.9749130157660754e-06 6.5900379165395012e-02 + 41 -2.7578389951520938e-03 4.5756190415085270e-17 -4.1533158826483570e-02 + 42 2.9457391733397973e-04 -2.5037988057731659e-05 6.6888509865507983e-02 + 43 2.7484214272898382e-04 2.2246473326686944e-17 -4.2197913495242927e-02 + 44 -1.2589020697706568e-03 -1.1188638120596731e-03 6.5272346190055355e-02 + 45 -2.7578389951520886e-03 4.0782412948808019e-17 -4.1533158826483549e-02 + 46 2.9457391733400050e-04 -2.5037988057726919e-05 6.6888509865508053e-02 + 47 2.7484214272895785e-04 -3.1658915194813543e-17 -4.2197913495243017e-02 + 48 -1.2589020697706581e-03 -1.1188638120597041e-03 6.5272346190055328e-02 +run_vdwl: -1.23199571764252 +run_coul: 0 +run_stress: ! |- + -1.1008368563459114e+00 -1.1059521765455493e+00 1.9490358494782456e-01 -4.4881817801889771e-16 -1.4762912608595250e-15 -1.5182325192586004e-02 +run_forces: ! |2 + 1 2.7578115049012742e-03 -1.9626239461520076e-08 4.1533149398200540e-02 + 2 1.2588780003755895e-03 1.1188632817004094e-03 -6.5269251575709356e-02 + 3 -2.7478278369621328e-04 -8.0919896562527821e-09 4.2197938643984578e-02 + 4 -2.9453830408723066e-04 2.5020943380932455e-05 -6.6885376194640786e-02 + 5 2.7578115049012399e-03 -1.9626239401238435e-08 4.1533149398200533e-02 + 6 1.2588780003755804e-03 1.1188632817005241e-03 -6.5269251575709369e-02 + 7 -2.7478278369620027e-04 -8.0919897266175031e-09 4.2197938643984703e-02 + 8 -2.9453830408726275e-04 2.5020943380984985e-05 -6.6885376194640717e-02 + 9 -9.9547742435301782e-05 5.3780414950783170e-10 4.2881247142594836e-02 + 10 -8.9376031411733843e-05 -3.9945836714521966e-06 -6.5897312884941883e-02 + 11 9.9499863028555701e-05 5.3758629572208002e-10 4.2881237442533686e-02 + 12 8.9357744478893550e-05 -3.9741580967872346e-06 -6.5897280081132562e-02 + 13 -9.9547742435326502e-05 5.3780415244873009e-10 4.2881247142594815e-02 + 14 -8.9376031411742083e-05 -3.9945836714029874e-06 -6.5897312884941855e-02 + 15 9.9499863028584324e-05 5.3758624475780164e-10 4.2881237442533790e-02 + 16 8.9357744478909922e-05 -3.9741580967885712e-06 -6.5897280081132506e-02 + 17 2.7483809396297375e-04 -8.0923733428147151e-09 4.2197915708206225e-02 + 18 2.9456424811194113e-04 2.5041935720938094e-05 -6.6885362458577291e-02 + 19 -2.7578189357608937e-03 -1.9626405105166717e-08 4.1533136162484115e-02 + 20 -1.2588856574676647e-03 1.1188638484657578e-03 -6.5269270643456764e-02 + 21 2.7483809396295635e-04 -8.0923732598465674e-09 4.2197915708206198e-02 + 22 2.9456424811196807e-04 2.5041935720825544e-05 -6.6885362458577347e-02 + 23 -2.7578189357608239e-03 -1.9626405201000025e-08 4.1533136162484163e-02 + 24 -1.2588856574676222e-03 1.1188638484657888e-03 -6.5269270643456764e-02 + 25 -2.7478267042781689e-04 7.1340099726084627e-09 -4.2197938717095443e-02 + 26 1.2588775889140107e-03 -1.1188640762445925e-03 6.5269251688086116e-02 + 27 2.7578100488037834e-03 2.0885614337388253e-08 -4.1533148778323065e-02 + 28 -2.9453931478136321e-04 -2.5020438627362798e-05 6.6885376801770646e-02 + 29 -2.7478267042784551e-04 7.1340098782286636e-09 -4.2197938717095346e-02 + 30 1.2588775889140823e-03 -1.1188640762446068e-03 6.5269251688086075e-02 + 31 2.7578100488038111e-03 2.0885614449061077e-08 -4.1533148778323238e-02 + 32 -2.9453931478134934e-04 -2.5020438627452736e-05 6.6885376801770674e-02 + 33 9.9499775923898881e-05 -4.3747681398428797e-10 -4.2881238156016258e-02 + 34 -8.9376188707950260e-05 3.9944719903915248e-06 6.5897312332129893e-02 + 35 -9.9547655306991140e-05 -4.3773580745386231e-10 -4.2881247856090716e-02 + 36 8.9357901801402086e-05 3.9740463921778550e-06 6.5897279528304625e-02 + 37 9.9499775923880232e-05 -4.3747670817970846e-10 -4.2881238156016264e-02 + 38 -8.9376188707982352e-05 3.9944719903545984e-06 6.5897312332129851e-02 + 39 -9.9547655306996777e-05 -4.3773581847206689e-10 -4.2881247856090876e-02 + 40 8.9357901801374873e-05 3.9740463922260334e-06 6.5897279528304431e-02 + 41 -2.7578174796584810e-03 2.0885758518950235e-08 -4.1533135542592893e-02 + 42 2.9456525880115910e-04 -2.5041430978732462e-05 6.6885363065714659e-02 + 43 2.7483798066595783e-04 7.1344129854552851e-09 -4.2197915781289633e-02 + 44 -1.2588852460277825e-03 -1.1188646429977976e-03 6.5269270755856881e-02 + 45 -2.7578174796584042e-03 2.0885758549338389e-08 -4.1533135542592900e-02 + 46 2.9456525880111129e-04 -2.5041430978583333e-05 6.6885363065714618e-02 + 47 2.7483798066597242e-04 7.1344129112194118e-09 -4.2197915781289751e-02 + 48 -1.2588852460277678e-03 -1.1188646429978574e-03 6.5269270755856937e-02 +... From 6f46ac57b937bd4ee7f0f2bdd6388eee315749aa Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 16 Aug 2021 13:50:43 -0400 Subject: [PATCH 662/726] plug small memory leak in pppm/gpu --- src/GPU/pppm_gpu.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/GPU/pppm_gpu.cpp b/src/GPU/pppm_gpu.cpp index b98b105045..8e3ec2ace8 100644 --- a/src/GPU/pppm_gpu.cpp +++ b/src/GPU/pppm_gpu.cpp @@ -106,6 +106,8 @@ PPPMGPU::PPPMGPU(LAMMPS *lmp) : PPPM(lmp) PPPMGPU::~PPPMGPU() { PPPM_GPU_API(clear)(poisson_time); + destroy_3d_offset(density_brick_gpu,nzlo_out,nylo_out); + destroy_3d_offset(vd_brick,nzlo_out,nylo_out); } /* ---------------------------------------------------------------------- From 56a74bbe3dd9820797cba7a94e517ae4e61e3fb2 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 16 Aug 2021 15:21:38 -0400 Subject: [PATCH 663/726] refactor file reader code --- src/INTERLAYER/pair_ilp_graphene_hbn.cpp | 180 +++++++++-------------- src/INTERLAYER/pair_ilp_graphene_hbn.h | 2 + 2 files changed, 75 insertions(+), 107 deletions(-) diff --git a/src/INTERLAYER/pair_ilp_graphene_hbn.cpp b/src/INTERLAYER/pair_ilp_graphene_hbn.cpp index 3aa5ae7bf5..2e424539b4 100644 --- a/src/INTERLAYER/pair_ilp_graphene_hbn.cpp +++ b/src/INTERLAYER/pair_ilp_graphene_hbn.cpp @@ -33,6 +33,8 @@ #include "neigh_list.h" #include "neigh_request.h" #include "neighbor.h" +#include "potential_file_reader.h" +#include "tokenizer.h" #include #include @@ -183,138 +185,103 @@ double PairILPGrapheneHBN::init_one(int i, int j) void PairILPGrapheneHBN::read_file(char *filename) { - int params_per_line = 13; - char **words = new char*[params_per_line+1]; memory->sfree(params); params = nullptr; nparams = maxparam = 0; // open file on proc 0 - FILE *fp; if (comm->me == 0) { - fp = utils::open_potential(filename,lmp,nullptr); - if (fp == nullptr) - error->one(FLERR,"Cannot open ILP potential file {}: {}",filename,utils::getsyserror()); - } + PotentialFileReader reader(lmp, filename, "ilp/graphene/hbn", unit_convert_flag); + char *line; - // read each line out of file, skipping blank lines or leading '#' - // store line of params if all 3 element tags are in element list + while ((line = reader.next_line(NPARAMS_PER_LINE))) { - int i,j,n,m,nwords,ielement,jelement; - char line[MAXLINE],*ptr; - int eof = 0; + try { + ValueTokenizer values(line); - while (1) { - if (comm->me == 0) { - ptr = fgets(line,MAXLINE,fp); - if (ptr == nullptr) { - eof = 1; - fclose(fp); - } else n = strlen(line) + 1; - } - MPI_Bcast(&eof,1,MPI_INT,0,world); - if (eof) break; - MPI_Bcast(&n,1,MPI_INT,0,world); - MPI_Bcast(line,n,MPI_CHAR,0,world); + std::string iname = values.next_string(); + std::string jname = values.next_string(); - // strip comment, skip line if blank + // ielement,jelement = 1st args + // if both args are in element list, then parse this line + // else skip to next entry in file + int ielement, jelement; - if ((ptr = strchr(line,'#'))) *ptr = '\0'; - nwords = utils::count_words(line); - if (nwords == 0) continue; + for (ielement = 0; ielement < nelements; ielement++) + if (iname == elements[ielement]) break; + if (ielement == nelements) continue; + for (jelement = 0; jelement < nelements; jelement++) + if (jname == elements[jelement]) break; + if (jelement == nelements) continue; - // concatenate additional lines until have params_per_line words + // expand storage, if needed - while (nwords < params_per_line) { - n = strlen(line); - if (comm->me == 0) { - ptr = fgets(&line[n],MAXLINE-n,fp); - if (ptr == nullptr) { - eof = 1; - fclose(fp); - } else n = strlen(line) + 1; + if (nparams == maxparam) { + maxparam += DELTA; + params = (Param *) memory->srealloc(params,maxparam*sizeof(Param), "pair:params"); + + // make certain all addional allocated storage is initialized + // to avoid false positives when checking with valgrind + + memset(params + nparams, 0, DELTA*sizeof(Param)); + } + + // load up parameter settings and error check their values + + params[nparams].ielement = ielement; + params[nparams].jelement = jelement; + params[nparams].z0 = values.next_double(); + params[nparams].alpha = values.next_double(); + params[nparams].delta = values.next_double(); + params[nparams].epsilon = values.next_double(); + params[nparams].C = values.next_double(); + params[nparams].d = values.next_double(); + params[nparams].sR = values.next_double(); + params[nparams].reff = values.next_double(); + params[nparams].C6 = values.next_double(); + // S provides a convenient scaling of all energies + params[nparams].S = values.next_double(); + params[nparams].rcut = values.next_double(); + + } catch (TokenizerException &e) { + error->one(FLERR, e.what()); } - MPI_Bcast(&eof,1,MPI_INT,0,world); - if (eof) break; - MPI_Bcast(&n,1,MPI_INT,0,world); - MPI_Bcast(line,n,MPI_CHAR,0,world); - if ((ptr = strchr(line,'#'))) *ptr = '\0'; - nwords = utils::count_words(line); + + // energies in meV further scaled by S + // S = 43.3634 meV = 1 kcal/mol + const double meV = 1e-3*params[nparams].S; + params[nparams].C *= meV; + params[nparams].C6 *= meV; + params[nparams].epsilon *= meV; + + // precompute some quantities + params[nparams].delta2inv = pow(params[nparams].delta,-2.0); + params[nparams].lambda = params[nparams].alpha/params[nparams].z0; + params[nparams].seff = params[nparams].sR * params[nparams].reff; + + nparams++; } - if (nwords != params_per_line) - error->all(FLERR,"Insufficient format in ILP potential file"); + MPI_Bcast(&nparams, 1, MPI_INT, 0, world); + MPI_Bcast(&maxparam, 1, MPI_INT, 0, world); - // words = ptrs to all words in line - - nwords = 0; - words[nwords++] = strtok(line," \t\n\r\f"); - while ((words[nwords++] = strtok(nullptr," \t\n\r\f"))) continue; - - // ielement,jelement = 1st args - // if these 2 args are in element list, then parse this line - // else skip to next line (continue) - - for (ielement = 0; ielement < nelements; ielement++) - if (strcmp(words[0],elements[ielement]) == 0) break; - if (ielement == nelements) continue; - for (jelement = 0; jelement < nelements; jelement++) - if (strcmp(words[1],elements[jelement]) == 0) break; - if (jelement == nelements) continue; - - // load up parameter settings and error check their values - - if (nparams == maxparam) { - maxparam += DELTA; - params = (Param *) memory->srealloc(params,maxparam*sizeof(Param), - "pair:params"); - - // make certain all addional allocated storage is initialized - // to avoid false positives when checking with valgrind - - memset(params + nparams, 0, DELTA*sizeof(Param)); + if (comm->me != 0) { + params = (Param *) memory->srealloc(params,maxparam*sizeof(Param), "pair:params"); } - params[nparams].ielement = ielement; - params[nparams].jelement = jelement; - params[nparams].z0 = atof(words[2]); - params[nparams].alpha = atof(words[3]); - params[nparams].delta = atof(words[4]); - params[nparams].epsilon = atof(words[5]); - params[nparams].C = atof(words[6]); - params[nparams].d = atof(words[7]); - params[nparams].sR = atof(words[8]); - params[nparams].reff = atof(words[9]); - params[nparams].C6 = atof(words[10]); - // S provides a convenient scaling of all energies - params[nparams].S = atof(words[11]); - params[nparams].rcut = atof(words[12]); - - // energies in meV further scaled by S - // S = 43.3634 meV = 1 kcal/mol - double meV = 1e-3*params[nparams].S; - params[nparams].C *= meV; - params[nparams].C6 *= meV; - params[nparams].epsilon *= meV; - - // precompute some quantities - params[nparams].delta2inv = pow(params[nparams].delta,-2.0); - params[nparams].lambda = params[nparams].alpha/params[nparams].z0; - params[nparams].seff = params[nparams].sR * params[nparams].reff; - - nparams++; + MPI_Bcast(params, maxparam*sizeof(Param), MPI_BYTE, 0, world); } memory->destroy(elem2param); memory->destroy(cutILPsq); memory->create(elem2param,nelements,nelements,"pair:elem2param"); memory->create(cutILPsq,nelements,nelements,"pair:cutILPsq"); - for (i = 0; i < nelements; i++) { - for (j = 0; j < nelements; j++) { - n = -1; - for (m = 0; m < nparams; m++) { + for (int i = 0; i < nelements; i++) { + for (int j = 0; j < nelements; j++) { + int n = -1; + for (int m = 0; m < nparams; m++) { if (i == params[m].ielement && j == params[m].jelement) { - if (n >= 0) error->all(FLERR,"Potential file has duplicate entry"); + if (n >= 0) error->all(FLERR,"ILP Potential file has duplicate entry"); n = m; } } @@ -323,7 +290,6 @@ void PairILPGrapheneHBN::read_file(char *filename) cutILPsq[i][j] = params[n].rcut*params[n].rcut; } } - delete [] words; } /* ---------------------------------------------------------------------- diff --git a/src/INTERLAYER/pair_ilp_graphene_hbn.h b/src/INTERLAYER/pair_ilp_graphene_hbn.h index 952d6edb9b..5cae119905 100644 --- a/src/INTERLAYER/pair_ilp_graphene_hbn.h +++ b/src/INTERLAYER/pair_ilp_graphene_hbn.h @@ -40,6 +40,8 @@ class PairILPGrapheneHBN : public Pair { void calc_FvdW(int, int); double single(int, int, int, int, double, double, double, double &); + static constexpr int NPARAMS_PER_LINE = 13; + protected: int me; int maxlocal; // size of numneigh, firstneigh arrays From 9e559de601a0a666482c3e2b62f45bc55b863339 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 16 Aug 2021 15:21:51 -0400 Subject: [PATCH 664/726] pretty --- src/MANYBODY/pair_sw.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/MANYBODY/pair_sw.cpp b/src/MANYBODY/pair_sw.cpp index 75ece1dc71..fcdda9ef9e 100644 --- a/src/MANYBODY/pair_sw.cpp +++ b/src/MANYBODY/pair_sw.cpp @@ -293,7 +293,7 @@ void PairSW::read_file(char *file) if (comm->me == 0) { PotentialFileReader reader(lmp, file, "sw", unit_convert_flag); - char * line; + char *line; // transparently convert units for supported conversions @@ -328,8 +328,7 @@ void PairSW::read_file(char *file) if (nparams == maxparam) { maxparam += DELTA; - params = (Param *) memory->srealloc(params,maxparam*sizeof(Param), - "pair:params"); + params = (Param *) memory->srealloc(params,maxparam*sizeof(Param),"pair:params"); // make certain all addional allocated storage is initialized // to avoid false positives when checking with valgrind From 436d200a9abf85e0525ea098b41bbc2d8aba96ac Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 16 Aug 2021 15:29:43 -0400 Subject: [PATCH 665/726] refactor file reader code --- .../pair_kolmogorov_crespi_full.cpp | 180 +++++++----------- src/INTERLAYER/pair_kolmogorov_crespi_full.h | 1 + 2 files changed, 74 insertions(+), 107 deletions(-) diff --git a/src/INTERLAYER/pair_kolmogorov_crespi_full.cpp b/src/INTERLAYER/pair_kolmogorov_crespi_full.cpp index 21ef996a3c..8387703025 100644 --- a/src/INTERLAYER/pair_kolmogorov_crespi_full.cpp +++ b/src/INTERLAYER/pair_kolmogorov_crespi_full.cpp @@ -33,6 +33,8 @@ #include "neigh_list.h" #include "neigh_request.h" #include "neighbor.h" +#include "potential_file_reader.h" +#include "tokenizer.h" #include #include @@ -183,138 +185,103 @@ double PairKolmogorovCrespiFull::init_one(int i, int j) void PairKolmogorovCrespiFull::read_file(char *filename) { - int params_per_line = 12; - char **words = new char*[params_per_line+1]; memory->sfree(params); params = nullptr; nparams = maxparam = 0; // open file on proc 0 - FILE *fp; if (comm->me == 0) { - fp = utils::open_potential(filename,lmp,nullptr); - if (fp == nullptr) - error->one(FLERR,"Cannot open KC potential file {}: {}",filename,utils::getsyserror()); - } + PotentialFileReader reader(lmp, filename, "kolmogorov/crespi/full", unit_convert_flag); + char *line; - // read each line out of file, skipping blank lines or leading '#' - // store line of params if all 3 element tags are in element list + while ((line = reader.next_line(NPARAMS_PER_LINE))) { - int i,j,n,m,nwords,ielement,jelement; - char line[MAXLINE],*ptr; - int eof = 0; + try { + ValueTokenizer values(line); - while (1) { - if (comm->me == 0) { - ptr = fgets(line,MAXLINE,fp); - if (ptr == nullptr) { - eof = 1; - fclose(fp); - } else n = strlen(line) + 1; - } - MPI_Bcast(&eof,1,MPI_INT,0,world); - if (eof) break; - MPI_Bcast(&n,1,MPI_INT,0,world); - MPI_Bcast(line,n,MPI_CHAR,0,world); + std::string iname = values.next_string(); + std::string jname = values.next_string(); - // strip comment, skip line if blank + // ielement,jelement = 1st args + // if both args are in element list, then parse this line + // else skip to next entry in file + int ielement, jelement; - if ((ptr = strchr(line,'#'))) *ptr = '\0'; - nwords = utils::count_words(line); - if (nwords == 0) continue; + for (ielement = 0; ielement < nelements; ielement++) + if (iname == elements[ielement]) break; + if (ielement == nelements) continue; + for (jelement = 0; jelement < nelements; jelement++) + if (jname == elements[jelement]) break; + if (jelement == nelements) continue; - // concatenate additional lines until have params_per_line words + // expand storage, if needed - while (nwords < params_per_line) { - n = strlen(line); - if (comm->me == 0) { - ptr = fgets(&line[n],MAXLINE-n,fp); - if (ptr == nullptr) { - eof = 1; - fclose(fp); - } else n = strlen(line) + 1; + if (nparams == maxparam) { + maxparam += DELTA; + params = (Param *) memory->srealloc(params,maxparam*sizeof(Param), "pair:params"); + + // make certain all addional allocated storage is initialized + // to avoid false positives when checking with valgrind + + memset(params + nparams, 0, DELTA*sizeof(Param)); + } + + // load up parameter settings and error check their values + + params[nparams].ielement = ielement; + params[nparams].jelement = jelement; + params[nparams].z0 = values.next_double(); + params[nparams].C0 = values.next_double(); + params[nparams].C2 = values.next_double(); + params[nparams].C4 = values.next_double(); + params[nparams].C = values.next_double(); + params[nparams].delta = values.next_double(); + params[nparams].lambda = values.next_double(); + params[nparams].A = values.next_double(); + // S provides a convenient scaling of all energies + params[nparams].S = values.next_double(); + params[nparams].rcut = values.next_double(); + + } catch (TokenizerException &e) { + error->one(FLERR, e.what()); } - MPI_Bcast(&eof,1,MPI_INT,0,world); - if (eof) break; - MPI_Bcast(&n,1,MPI_INT,0,world); - MPI_Bcast(line,n,MPI_CHAR,0,world); - if ((ptr = strchr(line,'#'))) *ptr = '\0'; - nwords = utils::count_words(line); + + // energies in meV further scaled by S + const double meV = 1.0e-3*params[nparams].S; + params[nparams].C *= meV; + params[nparams].A *= meV; + params[nparams].C0 *= meV; + params[nparams].C2 *= meV; + params[nparams].C4 *= meV; + + // precompute some quantities + params[nparams].delta2inv = pow(params[nparams].delta,-2); + params[nparams].z06 = pow(params[nparams].z0,6); + + nparams++; } - if (nwords != params_per_line) - error->all(FLERR,"Insufficient format in KC potential file"); + MPI_Bcast(&nparams, 1, MPI_INT, 0, world); + MPI_Bcast(&maxparam, 1, MPI_INT, 0, world); - // words = ptrs to all words in line - - nwords = 0; - words[nwords++] = strtok(line," \t\n\r\f"); - while ((words[nwords++] = strtok(nullptr," \t\n\r\f"))) continue; - - // ielement,jelement = 1st args - // if these 2 args are in element list, then parse this line - // else skip to next line (continue) - - for (ielement = 0; ielement < nelements; ielement++) - if (strcmp(words[0],elements[ielement]) == 0) break; - if (ielement == nelements) continue; - for (jelement = 0; jelement < nelements; jelement++) - if (strcmp(words[1],elements[jelement]) == 0) break; - if (jelement == nelements) continue; - - // load up parameter settings and error check their values - - if (nparams == maxparam) { - maxparam += DELTA; - params = (Param *) memory->srealloc(params,maxparam*sizeof(Param), - "pair:params"); - - // make certain all addional allocated storage is initialized - // to avoid false positives when checking with valgrind - - memset(params + nparams, 0, DELTA*sizeof(Param)); + if (comm->me != 0) { + params = (Param *) memory->srealloc(params,maxparam*sizeof(Param), "pair:params"); } - params[nparams].ielement = ielement; - params[nparams].jelement = jelement; - params[nparams].z0 = atof(words[2]); - params[nparams].C0 = atof(words[3]); - params[nparams].C2 = atof(words[4]); - params[nparams].C4 = atof(words[5]); - params[nparams].C = atof(words[6]); - params[nparams].delta = atof(words[7]); - params[nparams].lambda = atof(words[8]); - params[nparams].A = atof(words[9]); - // S provides a convenient scaling of all energies - params[nparams].S = atof(words[10]); - params[nparams].rcut = atof(words[11]); - - // energies in meV further scaled by S - double meV = 1.0e-3*params[nparams].S; - params[nparams].C *= meV; - params[nparams].A *= meV; - params[nparams].C0 *= meV; - params[nparams].C2 *= meV; - params[nparams].C4 *= meV; - - // precompute some quantities - params[nparams].delta2inv = pow(params[nparams].delta,-2); - params[nparams].z06 = pow(params[nparams].z0,6); - - nparams++; - //if(nparams >= pow(atom->ntypes,3)) break; + MPI_Bcast(params, maxparam*sizeof(Param), MPI_BYTE, 0, world); } + memory->destroy(elem2param); memory->destroy(cutKCsq); memory->create(elem2param,nelements,nelements,"pair:elem2param"); memory->create(cutKCsq,nelements,nelements,"pair:cutKCsq"); - for (i = 0; i < nelements; i++) { - for (j = 0; j < nelements; j++) { - n = -1; - for (m = 0; m < nparams; m++) { + for (int i = 0; i < nelements; i++) { + for (int j = 0; j < nelements; j++) { + int n = -1; + for (int m = 0; m < nparams; m++) { if (i == params[m].ielement && j == params[m].jelement) { - if (n >= 0) error->all(FLERR,"Potential file has duplicate entry"); + if (n >= 0) error->all(FLERR,"KC Potential file has duplicate entry"); n = m; } } @@ -323,7 +290,6 @@ void PairKolmogorovCrespiFull::read_file(char *filename) cutKCsq[i][j] = params[n].rcut*params[n].rcut; } } - delete [] words; } /* ---------------------------------------------------------------------- diff --git a/src/INTERLAYER/pair_kolmogorov_crespi_full.h b/src/INTERLAYER/pair_kolmogorov_crespi_full.h index a87e8374ad..4744375302 100644 --- a/src/INTERLAYER/pair_kolmogorov_crespi_full.h +++ b/src/INTERLAYER/pair_kolmogorov_crespi_full.h @@ -39,6 +39,7 @@ class PairKolmogorovCrespiFull : public Pair { void calc_FRep(int, int); void calc_FvdW(int, int); double single(int, int, int, int, double, double, double, double &); + static constexpr int NPARAMS_PER_LINE = 12; protected: int me; From e91185869d3494263fa4f633de73d305b52bbc48 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 17 Aug 2021 09:25:25 -0400 Subject: [PATCH 666/726] fix bug in utils::fgets_trunc(). closes #2878 --- src/utils.cpp | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/utils.cpp b/src/utils.cpp index c0c15d0f3b..6a33fc044b 100644 --- a/src/utils.cpp +++ b/src/utils.cpp @@ -176,20 +176,23 @@ char *utils::fgets_trunc(char *buf, int size, FILE *fp) char dummy[MAXDUMMY]; char *ptr = fgets(buf, size, fp); - // EOF + // EOF? if (!ptr) return nullptr; int n = strlen(buf); - // line is shorter than buffer, append newline if needed, - if (n < size - 2) { + // check the string being read in: + // - if string is shorter than the buffer make sure it has a final newline and return + // - if string is exactly the size of the buffer and has a final newline return + // - otherwise truncate with final newline and read into dummy buffer until EOF or newline is found + if (n < size - 1) { if (buf[n - 1] != '\n') { buf[n] = '\n'; buf[n + 1] = '\0'; } return buf; - - // line fits exactly. overwrite last but one character. + } else if (buf[n - 1] == '\n') { + return buf; } else buf[size - 2] = '\n'; @@ -202,7 +205,7 @@ char *utils::fgets_trunc(char *buf, int size, FILE *fp) n = 0; } while (n == MAXDUMMY - 1 && ptr[MAXDUMMY - 1] != '\n'); - // return first chunk + // return truncated chunk return buf; } From f24054f7b3c480f23354c5bf9b7acc44e6dd0aff Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 17 Aug 2021 09:41:19 -0400 Subject: [PATCH 667/726] test utils::fgets_trunc() with buffer size of exactly the length of string --- unittest/formats/test_file_operations.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/unittest/formats/test_file_operations.cpp b/unittest/formats/test_file_operations.cpp index af2023cebb..5cb0b688a8 100644 --- a/unittest/formats/test_file_operations.cpp +++ b/unittest/formats/test_file_operations.cpp @@ -119,13 +119,15 @@ TEST_F(FileOperationsTest, fgets_trunc) FILE *fp = fopen("safe_file_read_test.txt", "rb"); ASSERT_NE(fp, nullptr); + // read line shorter than buffer memset(buf, 0, MAX_BUF_SIZE); ptr = utils::fgets_trunc(buf, MAX_BUF_SIZE, fp); ASSERT_THAT(buf, StrEq("one line\n")); ASSERT_NE(ptr,nullptr); + // read line of exactly the buffer length memset(buf, 0, MAX_BUF_SIZE); - ptr = utils::fgets_trunc(buf, MAX_BUF_SIZE, fp); + ptr = utils::fgets_trunc(buf, sizeof("two_lines\n"), fp); ASSERT_THAT(buf, StrEq("two_lines\n")); ASSERT_NE(ptr,nullptr); From 0dbcb5dd663225d98a19419c9ce927578ed3f29d Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 17 Aug 2021 09:42:08 -0400 Subject: [PATCH 668/726] replace #define with constrexpr for better compiler error reports on integer constants --- src/utils.cpp | 16 +++++++--------- unittest/formats/test_file_operations.cpp | 5 ++--- 2 files changed, 9 insertions(+), 12 deletions(-) diff --git a/src/utils.cpp b/src/utils.cpp index 6a33fc044b..d70ae6f000 100644 --- a/src/utils.cpp +++ b/src/utils.cpp @@ -209,11 +209,11 @@ char *utils::fgets_trunc(char *buf, int size, FILE *fp) return buf; } -#define MAXPATHLENBUF 1024 /* like fgets() but aborts with an error or EOF is encountered */ void utils::sfgets(const char *srcname, int srcline, char *s, int size, FILE *fp, const char *filename, Error *error) { + constexpr int MAXPATHLENBUF=1024; char *rv = fgets(s, size, fp); if (rv == nullptr) { // something went wrong char buf[MAXPATHLENBUF]; @@ -242,6 +242,7 @@ void utils::sfgets(const char *srcname, int srcline, char *s, int size, FILE *fp void utils::sfread(const char *srcname, int srcline, void *s, size_t size, size_t num, FILE *fp, const char *filename, Error *error) { + constexpr int MAXPATHLENBUF=1024; size_t rv = fread(s, size, num, fp); if (rv != num) { // something went wrong char buf[MAXPATHLENBUF]; @@ -1029,11 +1030,6 @@ bool utils::file_is_readable(const std::string &path) search current directory and the LAMMPS_POTENTIALS directory if specified ------------------------------------------------------------------------- */ -#if defined(_WIN32) -#define OS_PATH_VAR_SEP ";" -#else -#define OS_PATH_VAR_SEP ":" -#endif std::string utils::get_potential_file_path(const std::string &path) { @@ -1047,8 +1043,11 @@ std::string utils::get_potential_file_path(const std::string &path) const char *var = getenv("LAMMPS_POTENTIALS"); if (var != nullptr) { - Tokenizer dirs(var, OS_PATH_VAR_SEP); - +#if defined(_WIN32) + Tokenizer dirs(var, ";"); +#else + Tokenizer dirs(var, ":"); +#endif while (dirs.has_next()) { auto pot = utils::path_basename(filepath); auto dir = dirs.next(); @@ -1060,7 +1059,6 @@ std::string utils::get_potential_file_path(const std::string &path) } return ""; } -#undef OS_PATH_VAR_SEP /* ---------------------------------------------------------------------- read first line of potential file diff --git a/unittest/formats/test_file_operations.cpp b/unittest/formats/test_file_operations.cpp index 5cb0b688a8..0f7362674c 100644 --- a/unittest/formats/test_file_operations.cpp +++ b/unittest/formats/test_file_operations.cpp @@ -74,7 +74,8 @@ protected: } }; -#define MAX_BUF_SIZE 128 +static constexpr int MAX_BUF_SIZE=128; + TEST_F(FileOperationsTest, safe_fgets) { char buf[MAX_BUF_SIZE]; @@ -110,7 +111,6 @@ TEST_F(FileOperationsTest, safe_fgets) fclose(fp); } -#define MAX_BUF_SIZE 128 TEST_F(FileOperationsTest, fgets_trunc) { char buf[MAX_BUF_SIZE]; @@ -174,7 +174,6 @@ TEST_F(FileOperationsTest, fgets_trunc) fclose(fp); } -#define MAX_BUF_SIZE 128 TEST_F(FileOperationsTest, safe_fread) { char buf[MAX_BUF_SIZE]; From 42fadf55cf4058eaaa9aa9fddae5ab86f6489040 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 17 Aug 2021 10:05:58 -0400 Subject: [PATCH 669/726] fix typos --- src/ASPHERE/pair_resquared.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ASPHERE/pair_resquared.cpp b/src/ASPHERE/pair_resquared.cpp index 4210818c61..c271f27237 100644 --- a/src/ASPHERE/pair_resquared.cpp +++ b/src/ASPHERE/pair_resquared.cpp @@ -728,7 +728,7 @@ double PairRESquared::resquared_analytic(const int i, const int j, u[0] = -rhat[m]*rhat[0]; u[1] = -rhat[m]*rhat[1]; u[2] = -rhat[m]*rhat[2]; - u[i] += 1.0; + u[m] += 1.0; u[0] /= rnorm; u[1] /= rnorm; u[2] /= rnorm; @@ -750,7 +750,7 @@ double PairRESquared::resquared_analytic(const int i, const int j, deta -= ddH*tdH; deta -= dsigma1*teta1+dsigma2*teta2; dchi = MathExtra::dot3(u,fourw); - dh12 = rhat[i]+MathExtra::dot3(u,spr); + dh12 = rhat[m]+MathExtra::dot3(u,spr); dUa = pbsu*(eta*dchi+deta*chi)-dh12*dspu; dUr = pbsr*(eta*dchi+deta*chi)-dh12*dspr; fforce[m]=dUr*Ur+dUa*Ua; From 6ccdeafa78ee56404500b08c8a5cc9c814961218 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 17 Aug 2021 10:21:02 -0400 Subject: [PATCH 670/726] reformat with clang-format --- src/ASPHERE/pair_resquared.cpp | 1026 ++++++++++++++++---------------- 1 file changed, 504 insertions(+), 522 deletions(-) diff --git a/src/ASPHERE/pair_resquared.cpp b/src/ASPHERE/pair_resquared.cpp index c271f27237..23ec79fa98 100644 --- a/src/ASPHERE/pair_resquared.cpp +++ b/src/ASPHERE/pair_resquared.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -18,32 +17,31 @@ #include "pair_resquared.h" -#include -#include "math_extra.h" #include "atom.h" #include "atom_vec_ellipsoid.h" #include "comm.h" -#include "force.h" -#include "neighbor.h" -#include "neigh_list.h" -#include "memory.h" #include "error.h" +#include "force.h" +#include "math_extra.h" +#include "memory.h" +#include "neigh_list.h" +#include "neighbor.h" +#include using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -PairRESquared::PairRESquared(LAMMPS *lmp) : Pair(lmp), - cr60(pow(60.0,1.0/3.0)), - b_alpha(45.0/56.0) +PairRESquared::PairRESquared(LAMMPS *lmp) : + Pair(lmp), cr60(pow(60.0, 1.0 / 3.0)), b_alpha(45.0 / 56.0) { single_enable = 0; - cr60 = pow(60.0,1.0/3.0); - b_alpha = 45.0/56.0; - solv_f_a = 3.0/(16.0*atan(1.0)*-36.0); - solv_f_r = 3.0/(16.0*atan(1.0)*2025.0); + cr60 = pow(60.0, 1.0 / 3.0); + b_alpha = 45.0 / 56.0; + solv_f_a = 3.0 / (16.0 * atan(1.0) * -36.0); + solv_f_r = 3.0 / (16.0 * atan(1.0) * 2025.0); } /* ---------------------------------------------------------------------- @@ -68,8 +66,8 @@ PairRESquared::~PairRESquared() memory->destroy(lj3); memory->destroy(lj4); memory->destroy(offset); - delete [] lshape; - delete [] setwell; + delete[] lshape; + delete[] setwell; } } @@ -77,14 +75,14 @@ PairRESquared::~PairRESquared() void PairRESquared::compute(int eflag, int vflag) { - int i,j,ii,jj,inum,jnum,itype,jtype; - double evdwl,one_eng,rsq,r2inv,r6inv,forcelj,factor_lj; - double fforce[3],ttor[3],rtor[3],r12[3]; - int *ilist,*jlist,*numneigh,**firstneigh; - RE2Vars wi,wj; + int i, j, ii, jj, inum, jnum, itype, jtype; + double evdwl, one_eng, rsq, r2inv, r6inv, forcelj, factor_lj; + double fforce[3], ttor[3], rtor[3], r12[3]; + int *ilist, *jlist, *numneigh, **firstneigh; + RE2Vars wi, wj; evdwl = 0.0; - ev_init(eflag,vflag); + ev_init(eflag, vflag); double **x = atom->x; double **f = atom->f; @@ -107,7 +105,7 @@ void PairRESquared::compute(int eflag, int vflag) // not a LJ sphere - if (lshape[itype] != 0.0) precompute_i(i,wi); + if (lshape[itype] != 0.0) precompute_i(i, wi); jlist = firstneigh[i]; jnum = numneigh[i]; @@ -119,10 +117,10 @@ void PairRESquared::compute(int eflag, int vflag) // r12 = center to center vector - r12[0] = x[j][0]-x[i][0]; - r12[1] = x[j][1]-x[i][1]; - r12[2] = x[j][2]-x[i][2]; - rsq = MathExtra::dot3(r12,r12); + r12[0] = x[j][0] - x[i][0]; + r12[1] = x[j][1] - x[i][1]; + r12[2] = x[j][2] - x[i][2]; + rsq = MathExtra::dot3(r12, r12); jtype = type[j]; // compute if less than cutoff @@ -132,49 +130,50 @@ void PairRESquared::compute(int eflag, int vflag) switch (form[itype][jtype]) { - case SPHERE_SPHERE: - r2inv = 1.0/rsq; - r6inv = r2inv*r2inv*r2inv; - forcelj = r6inv * (lj1[itype][jtype]*r6inv - lj2[itype][jtype]); - forcelj *= -r2inv; - if (eflag) one_eng = - r6inv*(r6inv*lj3[itype][jtype]-lj4[itype][jtype]) - - offset[itype][jtype]; - fforce[0] = r12[0]*forcelj; - fforce[1] = r12[1]*forcelj; - fforce[2] = r12[2]*forcelj; - break; + case SPHERE_SPHERE: + r2inv = 1.0 / rsq; + r6inv = r2inv * r2inv * r2inv; + forcelj = r6inv * (lj1[itype][jtype] * r6inv - lj2[itype][jtype]); + forcelj *= -r2inv; + if (eflag) { + one_eng = r6inv * (r6inv * lj3[itype][jtype] - lj4[itype][jtype]); + one_eng -= offset[itype][jtype]; + } + fforce[0] = r12[0] * forcelj; + fforce[1] = r12[1] * forcelj; + fforce[2] = r12[2] * forcelj; + break; - case SPHERE_ELLIPSE: - precompute_i(j,wj); - if (newton_pair || j < nlocal) { - one_eng = resquared_lj(j,i,wj,r12,rsq,fforce,rtor,true); - tor[j][0] += rtor[0]*factor_lj; - tor[j][1] += rtor[1]*factor_lj; - tor[j][2] += rtor[2]*factor_lj; - } else - one_eng = resquared_lj(j,i,wj,r12,rsq,fforce,rtor,false); - break; + case SPHERE_ELLIPSE: + precompute_i(j, wj); + if (newton_pair || j < nlocal) { + one_eng = resquared_lj(j, i, wj, r12, rsq, fforce, rtor, true); + tor[j][0] += rtor[0] * factor_lj; + tor[j][1] += rtor[1] * factor_lj; + tor[j][2] += rtor[2] * factor_lj; + } else + one_eng = resquared_lj(j, i, wj, r12, rsq, fforce, rtor, false); + break; - case ELLIPSE_SPHERE: - one_eng = resquared_lj(i,j,wi,r12,rsq,fforce,ttor,true); - tor[i][0] += ttor[0]*factor_lj; - tor[i][1] += ttor[1]*factor_lj; - tor[i][2] += ttor[2]*factor_lj; - break; + case ELLIPSE_SPHERE: + one_eng = resquared_lj(i, j, wi, r12, rsq, fforce, ttor, true); + tor[i][0] += ttor[0] * factor_lj; + tor[i][1] += ttor[1] * factor_lj; + tor[i][2] += ttor[2] * factor_lj; + break; - default: - precompute_i(j,wj); - one_eng = resquared_analytic(i,j,wi,wj,r12,rsq,fforce,ttor,rtor); - tor[i][0] += ttor[0]*factor_lj; - tor[i][1] += ttor[1]*factor_lj; - tor[i][2] += ttor[2]*factor_lj; - if (newton_pair || j < nlocal) { - tor[j][0] += rtor[0]*factor_lj; - tor[j][1] += rtor[1]*factor_lj; - tor[j][2] += rtor[2]*factor_lj; - } - break; + default: + precompute_i(j, wj); + one_eng = resquared_analytic(i, j, wi, wj, r12, rsq, fforce, ttor, rtor); + tor[i][0] += ttor[0] * factor_lj; + tor[i][1] += ttor[1] * factor_lj; + tor[i][2] += ttor[2] * factor_lj; + if (newton_pair || j < nlocal) { + tor[j][0] += rtor[0] * factor_lj; + tor[j][1] += rtor[1] * factor_lj; + tor[j][2] += rtor[2] * factor_lj; + } + break; } fforce[0] *= factor_lj; @@ -190,11 +189,11 @@ void PairRESquared::compute(int eflag, int vflag) f[j][2] -= fforce[2]; } - if (eflag) evdwl = factor_lj*one_eng; + if (eflag) evdwl = factor_lj * one_eng; - if (evflag) ev_tally_xyz(i,j,nlocal,newton_pair, - evdwl,0.0,fforce[0],fforce[1],fforce[2], - -r12[0],-r12[1],-r12[2]); + if (evflag) + ev_tally_xyz(i, j, nlocal, newton_pair, evdwl, 0.0, fforce[0], fforce[1], fforce[2], + -r12[0], -r12[1], -r12[2]); } } } @@ -209,31 +208,30 @@ void PairRESquared::compute(int eflag, int vflag) void PairRESquared::allocate() { allocated = 1; - int n = atom->ntypes; + const int n = atom->ntypes + 1; - memory->create(setflag,n+1,n+1,"pair:setflag"); - for (int i = 1; i <= n; i++) - for (int j = i; j <= n; j++) - setflag[i][j] = 0; + memory->create(setflag, n, n, "pair:setflag"); + for (int i = 1; i < n; i++) + for (int j = i; j < n; j++) setflag[i][j] = 0; - memory->create(cutsq,n+1,n+1,"pair:cutsq"); + memory->create(cutsq, n, n, "pair:cutsq"); - memory->create(form,n+1,n+1,"pair:form"); - memory->create(epsilon,n+1,n+1,"pair:epsilon"); - memory->create(sigma,n+1,n+1,"pair:sigma"); - memory->create(shape1,n+1,3,"pair:shape1"); - memory->create(shape2,n+1,3,"pair:shape2"); - memory->create(well,n+1,3,"pair:well"); - memory->create(cut,n+1,n+1,"pair:cut"); - memory->create(lj1,n+1,n+1,"pair:lj1"); - memory->create(lj2,n+1,n+1,"pair:lj2"); - memory->create(lj3,n+1,n+1,"pair:lj3"); - memory->create(lj4,n+1,n+1,"pair:lj4"); - memory->create(offset,n+1,n+1,"pair:offset"); + memory->create(form, n, n, "pair:form"); + memory->create(epsilon, n, n, "pair:epsilon"); + memory->create(sigma, n, n, "pair:sigma"); + memory->create(shape1, n, 3, "pair:shape1"); + memory->create(shape2, n, 3, "pair:shape2"); + memory->create(well, n, 3, "pair:well"); + memory->create(cut, n, n, "pair:cut"); + memory->create(lj1, n, n, "pair:lj1"); + memory->create(lj2, n, n, "pair:lj2"); + memory->create(lj3, n, n, "pair:lj3"); + memory->create(lj4, n, n, "pair:lj4"); + memory->create(offset, n, n, "pair:offset"); - lshape = new double[n+1]; - setwell = new int[n+1]; - for (int i = 1; i <= n; i++) setwell[i] = 0; + lshape = new double[n]; + setwell = new int[n]; + for (int i = 1; i < n; i++) setwell[i] = 0; } /* ---------------------------------------------------------------------- @@ -242,14 +240,14 @@ void PairRESquared::allocate() void PairRESquared::settings(int narg, char **arg) { - if (narg != 1) error->all(FLERR,"Illegal pair_style command"); + if (narg != 1) error->all(FLERR, "Illegal pair_style command"); - cut_global = utils::numeric(FLERR,arg[0],false,lmp); + cut_global = utils::numeric(FLERR, arg[0], false, lmp); // reset cutoffs that have been explicitly set if (allocated) { - int i,j; + int i, j; for (i = 1; i <= atom->ntypes; i++) for (j = i; j <= atom->ntypes; j++) if (setflag[i][j]) cut[i][j] = cut_global; @@ -262,29 +260,28 @@ void PairRESquared::settings(int narg, char **arg) void PairRESquared::coeff(int narg, char **arg) { - if (narg < 10 || narg > 11) - error->all(FLERR,"Incorrect args for pair coefficients"); + if (narg < 10 || narg > 11) error->all(FLERR, "Incorrect args for pair coefficients"); if (!allocated) allocate(); - int ilo,ihi,jlo,jhi; - utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); - utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); + int ilo, ihi, jlo, jhi; + utils::bounds(FLERR, arg[0], 1, atom->ntypes, ilo, ihi, error); + utils::bounds(FLERR, arg[1], 1, atom->ntypes, jlo, jhi, error); - double epsilon_one = utils::numeric(FLERR,arg[2],false,lmp); - double sigma_one = utils::numeric(FLERR,arg[3],false,lmp); - double eia_one = utils::numeric(FLERR,arg[4],false,lmp); - double eib_one = utils::numeric(FLERR,arg[5],false,lmp); - double eic_one = utils::numeric(FLERR,arg[6],false,lmp); - double eja_one = utils::numeric(FLERR,arg[7],false,lmp); - double ejb_one = utils::numeric(FLERR,arg[8],false,lmp); - double ejc_one = utils::numeric(FLERR,arg[9],false,lmp); + double epsilon_one = utils::numeric(FLERR, arg[2], false, lmp); + double sigma_one = utils::numeric(FLERR, arg[3], false, lmp); + double eia_one = utils::numeric(FLERR, arg[4], false, lmp); + double eib_one = utils::numeric(FLERR, arg[5], false, lmp); + double eic_one = utils::numeric(FLERR, arg[6], false, lmp); + double eja_one = utils::numeric(FLERR, arg[7], false, lmp); + double ejb_one = utils::numeric(FLERR, arg[8], false, lmp); + double ejc_one = utils::numeric(FLERR, arg[9], false, lmp); double cut_one = cut_global; - if (narg == 11) cut_one = utils::numeric(FLERR,arg[10],false,lmp); + if (narg == 11) cut_one = utils::numeric(FLERR, arg[10], false, lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { - for (int j = MAX(jlo,i); j <= jhi; j++) { + for (int j = MAX(jlo, i); j <= jhi; j++) { epsilon[i][j] = epsilon_one; sigma[i][j] = sigma_one; cut[i][j] = cut_one; @@ -292,22 +289,26 @@ void PairRESquared::coeff(int narg, char **arg) well[i][0] = eia_one; well[i][1] = eib_one; well[i][2] = eic_one; - if (eia_one == 1.0 && eib_one == 1.0 && eic_one == 1.0) setwell[i] = 2; - else setwell[i] = 1; + if (eia_one == 1.0 && eib_one == 1.0 && eic_one == 1.0) + setwell[i] = 2; + else + setwell[i] = 1; } if (eja_one != 0.0 || ejb_one != 0.0 || ejc_one != 0.0) { well[j][0] = eja_one; well[j][1] = ejb_one; well[j][2] = ejc_one; - if (eja_one == 1.0 && ejb_one == 1.0 && ejc_one == 1.0) setwell[j] = 2; - else setwell[j] = 1; + if (eja_one == 1.0 && ejb_one == 1.0 && ejc_one == 1.0) + setwell[j] = 2; + else + setwell[j] = 1; } setflag[i][j] = 1; count++; } } - if (count == 0) error->all(FLERR,"Incorrect args for pair coefficients"); + if (count == 0) error->all(FLERR, "Incorrect args for pair coefficients"); } /* ---------------------------------------------------------------------- @@ -317,21 +318,21 @@ void PairRESquared::coeff(int narg, char **arg) void PairRESquared::init_style() { avec = (AtomVecEllipsoid *) atom->style_match("ellipsoid"); - if (!avec) error->all(FLERR,"Pair resquared requires atom style ellipsoid"); + if (!avec) error->all(FLERR, "Pair resquared requires atom style ellipsoid"); - neighbor->request(this,instance_me); + neighbor->request(this, instance_me); // per-type shape precalculations // require that atom shapes are identical within each type for (int i = 1; i <= atom->ntypes; i++) { - if (!atom->shape_consistency(i,shape1[i][0],shape1[i][1],shape1[i][2])) - error->all(FLERR,"Pair resquared requires atoms with same type have same shape"); + if (!atom->shape_consistency(i, shape1[i][0], shape1[i][1], shape1[i][2])) + error->all(FLERR, "Pair resquared requires atoms with same type have same shape"); if (setwell[i]) { - shape2[i][0] = shape1[i][0]*shape1[i][0]; - shape2[i][1] = shape1[i][1]*shape1[i][1]; - shape2[i][2] = shape1[i][2]*shape1[i][2]; - lshape[i] = shape1[i][0]*shape1[i][1]*shape1[i][2]; + shape2[i][0] = shape1[i][0] * shape1[i][0]; + shape2[i][1] = shape1[i][1] * shape1[i][1]; + shape2[i][2] = shape1[i][2] * shape1[i][2]; + lshape[i] = shape1[i][0] * shape1[i][1] * shape1[i][2]; } } } @@ -343,14 +344,12 @@ void PairRESquared::init_style() double PairRESquared::init_one(int i, int j) { if (setwell[i] == 0 || setwell[j] == 0) - error->all(FLERR,"Pair resquared epsilon a,b,c coeffs are not all set"); + error->all(FLERR, "Pair resquared epsilon a,b,c coeffs are not all set"); int ishape = 0; - if (shape1[i][0] != 0.0 && shape1[i][1] != 0.0 && shape1[i][2] != 0.0) - ishape = 1; + if (shape1[i][0] != 0.0 && shape1[i][1] != 0.0 && shape1[i][2] != 0.0) ishape = 1; int jshape = 0; - if (shape1[j][0] != 0.0 && shape1[j][1] != 0.0 && shape1[j][2] != 0.0) - jshape = 1; + if (shape1[j][0] != 0.0 && shape1[j][1] != 0.0 && shape1[j][2] != 0.0) jshape = 1; if (ishape == 0 && jshape == 0) { form[i][j] = SPHERE_SPHERE; @@ -371,28 +370,27 @@ double PairRESquared::init_one(int i, int j) if (setflag[i][j] == 0) { if (setflag[j][i] == 0) { if (ishape == 0 && jshape == 0) { - epsilon[i][j] = mix_energy(epsilon[i][i],epsilon[j][j], - sigma[i][i],sigma[j][j]); - sigma[i][j] = mix_distance(sigma[i][i],sigma[j][j]); - cut[i][j] = mix_distance(cut[i][i],cut[j][j]); + epsilon[i][j] = mix_energy(epsilon[i][i], epsilon[j][j], sigma[i][i], sigma[j][j]); + sigma[i][j] = mix_distance(sigma[i][i], sigma[j][j]); + cut[i][j] = mix_distance(cut[i][i], cut[j][j]); } else - error->all(FLERR, - "Pair resquared epsilon and sigma coeffs are not all set"); + error->all(FLERR, "Pair resquared epsilon and sigma coeffs are not all set"); } epsilon[i][j] = epsilon[j][i]; sigma[i][j] = sigma[j][i]; cut[i][j] = cut[j][i]; } - lj1[i][j] = 48.0 * epsilon[i][j] * pow(sigma[i][j],12.0); - lj2[i][j] = 24.0 * epsilon[i][j] * pow(sigma[i][j],6.0); - lj3[i][j] = 4.0 * epsilon[i][j] * pow(sigma[i][j],12.0); - lj4[i][j] = 4.0 * epsilon[i][j] * pow(sigma[i][j],6.0); + lj1[i][j] = 48.0 * epsilon[i][j] * pow(sigma[i][j], 12.0); + lj2[i][j] = 24.0 * epsilon[i][j] * pow(sigma[i][j], 6.0); + lj3[i][j] = 4.0 * epsilon[i][j] * pow(sigma[i][j], 12.0); + lj4[i][j] = 4.0 * epsilon[i][j] * pow(sigma[i][j], 6.0); if (offset_flag && (cut[i][j] > 0.0)) { double ratio = sigma[i][j] / cut[i][j]; - offset[i][j] = 4.0 * epsilon[i][j] * (pow(ratio,12.0) - pow(ratio,6.0)); - } else offset[i][j] = 0.0; + offset[i][j] = 4.0 * epsilon[i][j] * (pow(ratio, 12.0) - pow(ratio, 6.0)); + } else + offset[i][j] = 0.0; epsilon[j][i] = epsilon[i][j]; sigma[j][i] = sigma[i][j]; @@ -413,16 +411,16 @@ void PairRESquared::write_restart(FILE *fp) { write_restart_settings(fp); - int i,j; + int i, j; for (i = 1; i <= atom->ntypes; i++) { - fwrite(&setwell[i],sizeof(int),1,fp); - if (setwell[i]) fwrite(&well[i][0],sizeof(double),3,fp); + fwrite(&setwell[i], sizeof(int), 1, fp); + if (setwell[i]) fwrite(&well[i][0], sizeof(double), 3, fp); for (j = i; j <= atom->ntypes; j++) { - fwrite(&setflag[i][j],sizeof(int),1,fp); + fwrite(&setflag[i][j], sizeof(int), 1, fp); if (setflag[i][j]) { - fwrite(&epsilon[i][j],sizeof(double),1,fp); - fwrite(&sigma[i][j],sizeof(double),1,fp); - fwrite(&cut[i][j],sizeof(double),1,fp); + fwrite(&epsilon[i][j], sizeof(double), 1, fp); + fwrite(&sigma[i][j], sizeof(double), 1, fp); + fwrite(&cut[i][j], sizeof(double), 1, fp); } } } @@ -437,27 +435,27 @@ void PairRESquared::read_restart(FILE *fp) read_restart_settings(fp); allocate(); - int i,j; + int i, j; int me = comm->me; for (i = 1; i <= atom->ntypes; i++) { - if (me == 0) utils::sfread(FLERR,&setwell[i],sizeof(int),1,fp,nullptr,error); - MPI_Bcast(&setwell[i],1,MPI_INT,0,world); + if (me == 0) utils::sfread(FLERR, &setwell[i], sizeof(int), 1, fp, nullptr, error); + MPI_Bcast(&setwell[i], 1, MPI_INT, 0, world); if (setwell[i]) { - if (me == 0) utils::sfread(FLERR,&well[i][0],sizeof(double),3,fp,nullptr,error); - MPI_Bcast(&well[i][0],3,MPI_DOUBLE,0,world); + if (me == 0) utils::sfread(FLERR, &well[i][0], sizeof(double), 3, fp, nullptr, error); + MPI_Bcast(&well[i][0], 3, MPI_DOUBLE, 0, world); } for (j = i; j <= atom->ntypes; j++) { - if (me == 0) utils::sfread(FLERR,&setflag[i][j],sizeof(int),1,fp,nullptr,error); - MPI_Bcast(&setflag[i][j],1,MPI_INT,0,world); + if (me == 0) utils::sfread(FLERR, &setflag[i][j], sizeof(int), 1, fp, nullptr, error); + MPI_Bcast(&setflag[i][j], 1, MPI_INT, 0, world); if (setflag[i][j]) { if (me == 0) { - utils::sfread(FLERR,&epsilon[i][j],sizeof(double),1,fp,nullptr,error); - utils::sfread(FLERR,&sigma[i][j],sizeof(double),1,fp,nullptr,error); - utils::sfread(FLERR,&cut[i][j],sizeof(double),1,fp,nullptr,error); + utils::sfread(FLERR, &epsilon[i][j], sizeof(double), 1, fp, nullptr, error); + utils::sfread(FLERR, &sigma[i][j], sizeof(double), 1, fp, nullptr, error); + utils::sfread(FLERR, &cut[i][j], sizeof(double), 1, fp, nullptr, error); } - MPI_Bcast(&epsilon[i][j],1,MPI_DOUBLE,0,world); - MPI_Bcast(&sigma[i][j],1,MPI_DOUBLE,0,world); - MPI_Bcast(&cut[i][j],1,MPI_DOUBLE,0,world); + MPI_Bcast(&epsilon[i][j], 1, MPI_DOUBLE, 0, world); + MPI_Bcast(&sigma[i][j], 1, MPI_DOUBLE, 0, world); + MPI_Bcast(&cut[i][j], 1, MPI_DOUBLE, 0, world); } } } @@ -469,8 +467,8 @@ void PairRESquared::read_restart(FILE *fp) void PairRESquared::write_restart_settings(FILE *fp) { - fwrite(&cut_global,sizeof(double),1,fp); - fwrite(&mix_flag,sizeof(int),1,fp); + fwrite(&cut_global, sizeof(double), 1, fp); + fwrite(&mix_flag, sizeof(int), 1, fp); } /* ---------------------------------------------------------------------- @@ -481,34 +479,34 @@ void PairRESquared::read_restart_settings(FILE *fp) { int me = comm->me; if (me == 0) { - utils::sfread(FLERR,&cut_global,sizeof(double),1,fp,nullptr,error); - utils::sfread(FLERR,&mix_flag,sizeof(int),1,fp,nullptr,error); + utils::sfread(FLERR, &cut_global, sizeof(double), 1, fp, nullptr, error); + utils::sfread(FLERR, &mix_flag, sizeof(int), 1, fp, nullptr, error); } - MPI_Bcast(&cut_global,1,MPI_DOUBLE,0,world); - MPI_Bcast(&mix_flag,1,MPI_INT,0,world); + MPI_Bcast(&cut_global, 1, MPI_DOUBLE, 0, world); + MPI_Bcast(&mix_flag, 1, MPI_INT, 0, world); } /* ---------------------------------------------------------------------- Precompute per-particle temporaries for RE-squared calculation ------------------------------------------------------------------------- */ -void PairRESquared::precompute_i(const int i,RE2Vars &ws) +void PairRESquared::precompute_i(const int i, RE2Vars &ws) { - double aTs[3][3]; // A1'*S1^2 + double aTs[3][3]; // A1'*S1^2 int *ellipsoid = atom->ellipsoid; AtomVecEllipsoid::Bonus *bonus = avec->bonus; - MathExtra::quat_to_mat_trans(bonus[ellipsoid[i]].quat,ws.A); - MathExtra::transpose_diag3(ws.A,well[atom->type[i]],ws.aTe); - MathExtra::transpose_diag3(ws.A,shape2[atom->type[i]],aTs); - MathExtra::diag_times3(shape2[atom->type[i]],ws.A,ws.sa); - MathExtra::times3(aTs,ws.A,ws.gamma); - MathExtra::rotation_generator_x(ws.A,ws.lA[0]); - MathExtra::rotation_generator_y(ws.A,ws.lA[1]); - MathExtra::rotation_generator_z(ws.A,ws.lA[2]); - for (int m=0; m<3; m++) { - MathExtra::times3(aTs,ws.lA[m],ws.lAtwo[m]); - MathExtra::transpose_times3(ws.lA[m],ws.sa,ws.lAsa[m]); - MathExtra::plus3(ws.lAsa[m],ws.lAtwo[m],ws.lAsa[m]); + MathExtra::quat_to_mat_trans(bonus[ellipsoid[i]].quat, ws.A); + MathExtra::transpose_diag3(ws.A, well[atom->type[i]], ws.aTe); + MathExtra::transpose_diag3(ws.A, shape2[atom->type[i]], aTs); + MathExtra::diag_times3(shape2[atom->type[i]], ws.A, ws.sa); + MathExtra::times3(aTs, ws.A, ws.gamma); + MathExtra::rotation_generator_x(ws.A, ws.lA[0]); + MathExtra::rotation_generator_y(ws.A, ws.lA[1]); + MathExtra::rotation_generator_z(ws.A, ws.lA[2]); + for (int m = 0; m < 3; m++) { + MathExtra::times3(aTs, ws.lA[m], ws.lAtwo[m]); + MathExtra::transpose_times3(ws.lA[m], ws.sa, ws.lAsa[m]); + MathExtra::plus3(ws.lAsa[m], ws.lAtwo[m], ws.lAsa[m]); } } @@ -517,6 +515,7 @@ void PairRESquared::precompute_i(const int i,RE2Vars &ws) derivative of m (m2) ------------------------------------------------------------------------- */ +// clang-format off double PairRESquared::det_prime(const double m[3][3], const double m2[3][3]) { double ans; @@ -531,458 +530,441 @@ double PairRESquared::det_prime(const double m[3][3], const double m2[3][3]) m2[2][0]*m[0][1]*m[1][2] - m2[2][0]*m[0][2]*m[1][1]; return ans; } +// clang-format on /* ---------------------------------------------------------------------- Compute the energy, force, torque for a pair (INTEGRATED-INTEGRATED) ------------------------------------------------------------------------- */ -double PairRESquared::resquared_analytic(const int i, const int j, - const RE2Vars &wi, const RE2Vars &wj, - const double *r, const double rsq, - double *fforce, double *ttor, - double *rtor) +double PairRESquared::resquared_analytic(const int i, const int j, const RE2Vars &wi, + const RE2Vars &wj, const double *r, const double rsq, + double *fforce, double *ttor, double *rtor) { int *type = atom->type; // pair computations for energy, force, torque - double z1[3],z2[3]; // A1*rhat # don't need to store - double v1[3],v2[3]; // inv(S1^2)*z1 # don't need to store - double sigma1,sigma2; // 1/sqrt(z1'*v1) - double sigma1p2,sigma2p2; // sigma1^2 - double rnorm; // L2 norm of r - double rhat[3]; // r/rnorm - double s[3]; // inv(gamma1+gamma2)*rhat - double sigma12; // 1/sqrt(0.5*s'*rhat) - double H12[3][3]; // gamma1/sigma1+gamma2/sigma2 - double dH; // det(H12) - double lambda; // dS1/sigma1p2+dS2/sigma2p2 - double nu; // sqrt(dH/(sigma1+sigma2)) - double w[3]; // inv(A1'*E1*A1+A2'*E2*A2)*rhat - double h12; // rnorm-sigma12; - double eta; // lambda/nu - double chi; // 2*rhat'*w - double sprod; // dS1*dS2 - double sigh; // sigma/h12 - double tprod; // eta*chi*sigh - double Ua,Ur; // attractive/repulsive parts of potential + double z1[3], z2[3]; // A1*rhat # don't need to store + double v1[3], v2[3]; // inv(S1^2)*z1 # don't need to store + double sigma1, sigma2; // 1/sqrt(z1'*v1) + double sigma1p2, sigma2p2; // sigma1^2 + double rnorm; // L2 norm of r + double rhat[3]; // r/rnorm + double s[3]; // inv(gamma1+gamma2)*rhat + double sigma12; // 1/sqrt(0.5*s'*rhat) + double H12[3][3]; // gamma1/sigma1+gamma2/sigma2 + double dH; // det(H12) + double lambda; // dS1/sigma1p2+dS2/sigma2p2 + double nu; // sqrt(dH/(sigma1+sigma2)) + double w[3]; // inv(A1'*E1*A1+A2'*E2*A2)*rhat + double h12; // rnorm-sigma12; + double eta; // lambda/nu + double chi; // 2*rhat'*w + double sprod; // dS1*dS2 + double sigh; // sigma/h12 + double tprod; // eta*chi*sigh + double Ua, Ur; // attractive/repulsive parts of potential // pair computations for force, torque - double sec; // sigma*eta*chi - double sigma1p3, sigma2p3; // sigma1^3 - double vsigma1[3], vsigma2[3]; // sigma1^3*v1; - double sigma12p3; // sigma12^3 - double gsigma1[3][3], gsigma2[3][3]; // -gamma1/sigma1^2 - double tsig1sig2; // eta/(2*(sigma1+sigma2)) - double tdH; // eta/(2*dH) - double teta1,teta2; // 2*eta/lambda*dS1/sigma1p3 - double fourw[3]; // 4*w; - double spr[3]; // 0.5*sigma12^3*s - double hsec; // h12+[3,b_alpha]*sec - double dspu; // 1/h12 - 1/hsec + temp - double pbsu; // 3*sigma/hsec - double dspr; // 7/h12-1/hsec+temp - double pbsr; // b_alpha*sigma/hsec; - double u[3]; // (-rhat(i)*rhat+eye(:,i))/rnorm - double u1[3],u2[3]; // A1*u - double dsigma1,dsigma2; // u1'*vsigma1 (force) p'*vsigma1 (tor) - double dH12[3][3]; // dsigma1*gsigma1 + dsigma2*gsigma2 - double ddH; // derivative of det(H12) - double deta,dchi,dh12; // derivatives of eta,chi,h12 - double dUr,dUa; // derivatives of Ua,Ur + double sec; // sigma*eta*chi + double sigma1p3, sigma2p3; // sigma1^3 + double vsigma1[3], vsigma2[3]; // sigma1^3*v1; + double sigma12p3; // sigma12^3 + double gsigma1[3][3], gsigma2[3][3]; // -gamma1/sigma1^2 + double tsig1sig2; // eta/(2*(sigma1+sigma2)) + double tdH; // eta/(2*dH) + double teta1, teta2; // 2*eta/lambda*dS1/sigma1p3 + double fourw[3]; // 4*w; + double spr[3]; // 0.5*sigma12^3*s + double hsec; // h12+[3,b_alpha]*sec + double dspu; // 1/h12 - 1/hsec + temp + double pbsu; // 3*sigma/hsec + double dspr; // 7/h12-1/hsec+temp + double pbsr; // b_alpha*sigma/hsec; + double u[3]; // (-rhat(i)*rhat+eye(:,i))/rnorm + double u1[3], u2[3]; // A1*u + double dsigma1, dsigma2; // u1'*vsigma1 (force) p'*vsigma1 (tor) + double dH12[3][3]; // dsigma1*gsigma1 + dsigma2*gsigma2 + double ddH; // derivative of det(H12) + double deta, dchi, dh12; // derivatives of eta,chi,h12 + double dUr, dUa; // derivatives of Ua,Ur // pair computations for torque - double fwae[3]; // -fourw'*aTe - double p[3]; // lA*rhat + double fwae[3]; // -fourw'*aTe + double p[3]; // lA*rhat rnorm = sqrt(rsq); - rhat[0] = r[0]/rnorm; - rhat[1] = r[1]/rnorm; - rhat[2] = r[2]/rnorm; + rhat[0] = r[0] / rnorm; + rhat[1] = r[1] / rnorm; + rhat[2] = r[2] / rnorm; // energy double temp[3][3]; - MathExtra::plus3(wi.gamma,wj.gamma,temp); - int ierror = MathExtra::mldivide3(temp,rhat,s); - if (ierror) error->all(FLERR,"Bad matrix inversion in mldivide3"); + MathExtra::plus3(wi.gamma, wj.gamma, temp); + int ierror = MathExtra::mldivide3(temp, rhat, s); + if (ierror) error->all(FLERR, "Bad matrix inversion in mldivide3"); - sigma12 = 1.0/sqrt(0.5*MathExtra::dot3(s,rhat)); - MathExtra::matvec(wi.A,rhat,z1); - MathExtra::matvec(wj.A,rhat,z2); - v1[0] = z1[0]/shape2[type[i]][0]; - v1[1] = z1[1]/shape2[type[i]][1]; - v1[2] = z1[2]/shape2[type[i]][2]; - v2[0] = z2[0]/shape2[type[j]][0]; - v2[1] = z2[1]/shape2[type[j]][1]; - v2[2] = z2[2]/shape2[type[j]][2]; - sigma1 = 1.0/sqrt(MathExtra::dot3(z1,v1)); - sigma2 = 1.0/sqrt(MathExtra::dot3(z2,v2)); - H12[0][0] = wi.gamma[0][0]/sigma1+wj.gamma[0][0]/sigma2; - H12[0][1] = wi.gamma[0][1]/sigma1+wj.gamma[0][1]/sigma2; - H12[0][2] = wi.gamma[0][2]/sigma1+wj.gamma[0][2]/sigma2; - H12[1][0] = wi.gamma[1][0]/sigma1+wj.gamma[1][0]/sigma2; - H12[1][1] = wi.gamma[1][1]/sigma1+wj.gamma[1][1]/sigma2; - H12[1][2] = wi.gamma[1][2]/sigma1+wj.gamma[1][2]/sigma2; - H12[2][0] = wi.gamma[2][0]/sigma1+wj.gamma[2][0]/sigma2; - H12[2][1] = wi.gamma[2][1]/sigma1+wj.gamma[2][1]/sigma2; - H12[2][2] = wi.gamma[2][2]/sigma1+wj.gamma[2][2]/sigma2; - dH=MathExtra::det3(H12); - sigma1p2 = sigma1*sigma1; - sigma2p2 = sigma2*sigma2; - lambda = lshape[type[i]]/sigma1p2 + lshape[type[j]]/sigma2p2; - nu = sqrt(dH/(sigma1+sigma2)); - MathExtra::times3(wi.aTe,wi.A,temp); + sigma12 = 1.0 / sqrt(0.5 * MathExtra::dot3(s, rhat)); + MathExtra::matvec(wi.A, rhat, z1); + MathExtra::matvec(wj.A, rhat, z2); + v1[0] = z1[0] / shape2[type[i]][0]; + v1[1] = z1[1] / shape2[type[i]][1]; + v1[2] = z1[2] / shape2[type[i]][2]; + v2[0] = z2[0] / shape2[type[j]][0]; + v2[1] = z2[1] / shape2[type[j]][1]; + v2[2] = z2[2] / shape2[type[j]][2]; + sigma1 = 1.0 / sqrt(MathExtra::dot3(z1, v1)); + sigma2 = 1.0 / sqrt(MathExtra::dot3(z2, v2)); + H12[0][0] = wi.gamma[0][0] / sigma1 + wj.gamma[0][0] / sigma2; + H12[0][1] = wi.gamma[0][1] / sigma1 + wj.gamma[0][1] / sigma2; + H12[0][2] = wi.gamma[0][2] / sigma1 + wj.gamma[0][2] / sigma2; + H12[1][0] = wi.gamma[1][0] / sigma1 + wj.gamma[1][0] / sigma2; + H12[1][1] = wi.gamma[1][1] / sigma1 + wj.gamma[1][1] / sigma2; + H12[1][2] = wi.gamma[1][2] / sigma1 + wj.gamma[1][2] / sigma2; + H12[2][0] = wi.gamma[2][0] / sigma1 + wj.gamma[2][0] / sigma2; + H12[2][1] = wi.gamma[2][1] / sigma1 + wj.gamma[2][1] / sigma2; + H12[2][2] = wi.gamma[2][2] / sigma1 + wj.gamma[2][2] / sigma2; + dH = MathExtra::det3(H12); + sigma1p2 = sigma1 * sigma1; + sigma2p2 = sigma2 * sigma2; + lambda = lshape[type[i]] / sigma1p2 + lshape[type[j]] / sigma2p2; + nu = sqrt(dH / (sigma1 + sigma2)); + MathExtra::times3(wi.aTe, wi.A, temp); double temp2[3][3]; - MathExtra::times3(wj.aTe,wj.A,temp2); - MathExtra::plus3(temp,temp2,temp); - ierror = MathExtra::mldivide3(temp,rhat,w); - if (ierror) error->all(FLERR,"Bad matrix inversion in mldivide3"); + MathExtra::times3(wj.aTe, wj.A, temp2); + MathExtra::plus3(temp, temp2, temp); + ierror = MathExtra::mldivide3(temp, rhat, w); + if (ierror) error->all(FLERR, "Bad matrix inversion in mldivide3"); - h12 = rnorm-sigma12; - eta = lambda/nu; - chi = 2.0*MathExtra::dot3(rhat,w); + h12 = rnorm - sigma12; + eta = lambda / nu; + chi = 2.0 * MathExtra::dot3(rhat, w); sprod = lshape[type[i]] * lshape[type[j]]; - sigh = sigma[type[i]][type[j]]/h12; - tprod = eta*chi*sigh; + sigh = sigma[type[i]][type[j]] / h12; + tprod = eta * chi * sigh; - double stemp = h12/2.0; - Ua = (shape1[type[i]][0]+stemp)*(shape1[type[i]][1]+stemp)* - (shape1[type[i]][2]+stemp)*(shape1[type[j]][0]+stemp)* - (shape1[type[j]][1]+stemp)*(shape1[type[j]][2]+stemp); - Ua = (1.0+3.0*tprod)*sprod/Ua; - Ua = epsilon[type[i]][type[j]]*Ua/-36.0; + double stemp = h12 / 2.0; + Ua = (shape1[type[i]][0] + stemp) * (shape1[type[i]][1] + stemp) * (shape1[type[i]][2] + stemp) * + (shape1[type[j]][0] + stemp) * (shape1[type[j]][1] + stemp) * (shape1[type[j]][2] + stemp); + Ua = (1.0 + 3.0 * tprod) * sprod / Ua; + Ua = epsilon[type[i]][type[j]] * Ua / -36.0; - stemp = h12/cr60; - Ur = (shape1[type[i]][0]+stemp)*(shape1[type[i]][1]+stemp)* - (shape1[type[i]][2]+stemp)*(shape1[type[j]][0]+stemp)* - (shape1[type[j]][1]+stemp)*(shape1[type[j]][2]+stemp); - Ur = (1.0+b_alpha*tprod)*sprod/Ur; - Ur = epsilon[type[i]][type[j]]*Ur*pow(sigh,6.0)/2025.0; + stemp = h12 / cr60; + Ur = (shape1[type[i]][0] + stemp) * (shape1[type[i]][1] + stemp) * (shape1[type[i]][2] + stemp) * + (shape1[type[j]][0] + stemp) * (shape1[type[j]][1] + stemp) * (shape1[type[j]][2] + stemp); + Ur = (1.0 + b_alpha * tprod) * sprod / Ur; + Ur = epsilon[type[i]][type[j]] * Ur * pow(sigh, 6.0) / 2025.0; // force - sec = sigma[type[i]][type[j]]*eta*chi; - sigma12p3 = pow(sigma12,3.0); - sigma1p3 = sigma1p2*sigma1; - sigma2p3 = sigma2p2*sigma2; - vsigma1[0] = -sigma1p3*v1[0]; - vsigma1[1] = -sigma1p3*v1[1]; - vsigma1[2] = -sigma1p3*v1[2]; - vsigma2[0] = -sigma2p3*v2[0]; - vsigma2[1] = -sigma2p3*v2[1]; - vsigma2[2] = -sigma2p3*v2[2]; - gsigma1[0][0] = -wi.gamma[0][0]/sigma1p2; - gsigma1[0][1] = -wi.gamma[0][1]/sigma1p2; - gsigma1[0][2] = -wi.gamma[0][2]/sigma1p2; - gsigma1[1][0] = -wi.gamma[1][0]/sigma1p2; - gsigma1[1][1] = -wi.gamma[1][1]/sigma1p2; - gsigma1[1][2] = -wi.gamma[1][2]/sigma1p2; - gsigma1[2][0] = -wi.gamma[2][0]/sigma1p2; - gsigma1[2][1] = -wi.gamma[2][1]/sigma1p2; - gsigma1[2][2] = -wi.gamma[2][2]/sigma1p2; - gsigma2[0][0] = -wj.gamma[0][0]/sigma2p2; - gsigma2[0][1] = -wj.gamma[0][1]/sigma2p2; - gsigma2[0][2] = -wj.gamma[0][2]/sigma2p2; - gsigma2[1][0] = -wj.gamma[1][0]/sigma2p2; - gsigma2[1][1] = -wj.gamma[1][1]/sigma2p2; - gsigma2[1][2] = -wj.gamma[1][2]/sigma2p2; - gsigma2[2][0] = -wj.gamma[2][0]/sigma2p2; - gsigma2[2][1] = -wj.gamma[2][1]/sigma2p2; - gsigma2[2][2] = -wj.gamma[2][2]/sigma2p2; - tsig1sig2 = eta/(2.0*(sigma1+sigma2)); - tdH = eta/(2.0*dH); - teta1 = 2.0*eta/lambda; - teta2 = teta1*lshape[type[j]]/sigma2p3; - teta1 = teta1*lshape[type[i]]/sigma1p3; - fourw[0] = 4.0*w[0]; - fourw[1] = 4.0*w[1]; - fourw[2] = 4.0*w[2]; - spr[0] = 0.5*sigma12p3*s[0]; - spr[1] = 0.5*sigma12p3*s[1]; - spr[2] = 0.5*sigma12p3*s[2]; + sec = sigma[type[i]][type[j]] * eta * chi; + sigma12p3 = pow(sigma12, 3.0); + sigma1p3 = sigma1p2 * sigma1; + sigma2p3 = sigma2p2 * sigma2; + vsigma1[0] = -sigma1p3 * v1[0]; + vsigma1[1] = -sigma1p3 * v1[1]; + vsigma1[2] = -sigma1p3 * v1[2]; + vsigma2[0] = -sigma2p3 * v2[0]; + vsigma2[1] = -sigma2p3 * v2[1]; + vsigma2[2] = -sigma2p3 * v2[2]; + gsigma1[0][0] = -wi.gamma[0][0] / sigma1p2; + gsigma1[0][1] = -wi.gamma[0][1] / sigma1p2; + gsigma1[0][2] = -wi.gamma[0][2] / sigma1p2; + gsigma1[1][0] = -wi.gamma[1][0] / sigma1p2; + gsigma1[1][1] = -wi.gamma[1][1] / sigma1p2; + gsigma1[1][2] = -wi.gamma[1][2] / sigma1p2; + gsigma1[2][0] = -wi.gamma[2][0] / sigma1p2; + gsigma1[2][1] = -wi.gamma[2][1] / sigma1p2; + gsigma1[2][2] = -wi.gamma[2][2] / sigma1p2; + gsigma2[0][0] = -wj.gamma[0][0] / sigma2p2; + gsigma2[0][1] = -wj.gamma[0][1] / sigma2p2; + gsigma2[0][2] = -wj.gamma[0][2] / sigma2p2; + gsigma2[1][0] = -wj.gamma[1][0] / sigma2p2; + gsigma2[1][1] = -wj.gamma[1][1] / sigma2p2; + gsigma2[1][2] = -wj.gamma[1][2] / sigma2p2; + gsigma2[2][0] = -wj.gamma[2][0] / sigma2p2; + gsigma2[2][1] = -wj.gamma[2][1] / sigma2p2; + gsigma2[2][2] = -wj.gamma[2][2] / sigma2p2; + tsig1sig2 = eta / (2.0 * (sigma1 + sigma2)); + tdH = eta / (2.0 * dH); + teta1 = 2.0 * eta / lambda; + teta2 = teta1 * lshape[type[j]] / sigma2p3; + teta1 = teta1 * lshape[type[i]] / sigma1p3; + fourw[0] = 4.0 * w[0]; + fourw[1] = 4.0 * w[1]; + fourw[2] = 4.0 * w[2]; + spr[0] = 0.5 * sigma12p3 * s[0]; + spr[1] = 0.5 * sigma12p3 * s[1]; + spr[2] = 0.5 * sigma12p3 * s[2]; - stemp = 1.0/(shape1[type[i]][0]*2.0+h12)+ - 1.0/(shape1[type[i]][1]*2.0+h12)+ - 1.0/(shape1[type[i]][2]*2.0+h12)+ - 1.0/(shape1[type[j]][0]*2.0+h12)+ - 1.0/(shape1[type[j]][1]*2.0+h12)+ - 1.0/(shape1[type[j]][2]*2.0+h12); - hsec = h12+3.0*sec; - dspu = 1.0/h12-1.0/hsec+stemp; - pbsu = 3.0*sigma[type[i]][type[j]]/hsec; + stemp = 1.0 / (shape1[type[i]][0] * 2.0 + h12) + 1.0 / (shape1[type[i]][1] * 2.0 + h12) + + 1.0 / (shape1[type[i]][2] * 2.0 + h12) + 1.0 / (shape1[type[j]][0] * 2.0 + h12) + + 1.0 / (shape1[type[j]][1] * 2.0 + h12) + 1.0 / (shape1[type[j]][2] * 2.0 + h12); + hsec = h12 + 3.0 * sec; + dspu = 1.0 / h12 - 1.0 / hsec + stemp; + pbsu = 3.0 * sigma[type[i]][type[j]] / hsec; - stemp = 1.0/(shape1[type[i]][0]*cr60+h12)+ - 1.0/(shape1[type[i]][1]*cr60+h12)+ - 1.0/(shape1[type[i]][2]*cr60+h12)+ - 1.0/(shape1[type[j]][0]*cr60+h12)+ - 1.0/(shape1[type[j]][1]*cr60+h12)+ - 1.0/(shape1[type[j]][2]*cr60+h12); - hsec = h12+b_alpha*sec; - dspr = 7.0/h12-1.0/hsec+stemp; - pbsr = b_alpha*sigma[type[i]][type[j]]/hsec; + stemp = 1.0 / (shape1[type[i]][0] * cr60 + h12) + 1.0 / (shape1[type[i]][1] * cr60 + h12) + + 1.0 / (shape1[type[i]][2] * cr60 + h12) + 1.0 / (shape1[type[j]][0] * cr60 + h12) + + 1.0 / (shape1[type[j]][1] * cr60 + h12) + 1.0 / (shape1[type[j]][2] * cr60 + h12); + hsec = h12 + b_alpha * sec; + dspr = 7.0 / h12 - 1.0 / hsec + stemp; + pbsr = b_alpha * sigma[type[i]][type[j]] / hsec; - for (int m=0; m<3; m++) { - u[0] = -rhat[m]*rhat[0]; - u[1] = -rhat[m]*rhat[1]; - u[2] = -rhat[m]*rhat[2]; + for (int m = 0; m < 3; m++) { + u[0] = -rhat[m] * rhat[0]; + u[1] = -rhat[m] * rhat[1]; + u[2] = -rhat[m] * rhat[2]; u[m] += 1.0; u[0] /= rnorm; u[1] /= rnorm; u[2] /= rnorm; - MathExtra::matvec(wi.A,u,u1); - MathExtra::matvec(wj.A,u,u2); - dsigma1=MathExtra::dot3(u1,vsigma1); - dsigma2=MathExtra::dot3(u2,vsigma2); - dH12[0][0] = dsigma1*gsigma1[0][0]+dsigma2*gsigma2[0][0]; - dH12[0][1] = dsigma1*gsigma1[0][1]+dsigma2*gsigma2[0][1]; - dH12[0][2] = dsigma1*gsigma1[0][2]+dsigma2*gsigma2[0][2]; - dH12[1][0] = dsigma1*gsigma1[1][0]+dsigma2*gsigma2[1][0]; - dH12[1][1] = dsigma1*gsigma1[1][1]+dsigma2*gsigma2[1][1]; - dH12[1][2] = dsigma1*gsigma1[1][2]+dsigma2*gsigma2[1][2]; - dH12[2][0] = dsigma1*gsigma1[2][0]+dsigma2*gsigma2[2][0]; - dH12[2][1] = dsigma1*gsigma1[2][1]+dsigma2*gsigma2[2][1]; - dH12[2][2] = dsigma1*gsigma1[2][2]+dsigma2*gsigma2[2][2]; - ddH = det_prime(H12,dH12); - deta = (dsigma1+dsigma2)*tsig1sig2; - deta -= ddH*tdH; - deta -= dsigma1*teta1+dsigma2*teta2; - dchi = MathExtra::dot3(u,fourw); - dh12 = rhat[m]+MathExtra::dot3(u,spr); - dUa = pbsu*(eta*dchi+deta*chi)-dh12*dspu; - dUr = pbsr*(eta*dchi+deta*chi)-dh12*dspr; - fforce[m]=dUr*Ur+dUa*Ua; + MathExtra::matvec(wi.A, u, u1); + MathExtra::matvec(wj.A, u, u2); + dsigma1 = MathExtra::dot3(u1, vsigma1); + dsigma2 = MathExtra::dot3(u2, vsigma2); + dH12[0][0] = dsigma1 * gsigma1[0][0] + dsigma2 * gsigma2[0][0]; + dH12[0][1] = dsigma1 * gsigma1[0][1] + dsigma2 * gsigma2[0][1]; + dH12[0][2] = dsigma1 * gsigma1[0][2] + dsigma2 * gsigma2[0][2]; + dH12[1][0] = dsigma1 * gsigma1[1][0] + dsigma2 * gsigma2[1][0]; + dH12[1][1] = dsigma1 * gsigma1[1][1] + dsigma2 * gsigma2[1][1]; + dH12[1][2] = dsigma1 * gsigma1[1][2] + dsigma2 * gsigma2[1][2]; + dH12[2][0] = dsigma1 * gsigma1[2][0] + dsigma2 * gsigma2[2][0]; + dH12[2][1] = dsigma1 * gsigma1[2][1] + dsigma2 * gsigma2[2][1]; + dH12[2][2] = dsigma1 * gsigma1[2][2] + dsigma2 * gsigma2[2][2]; + ddH = det_prime(H12, dH12); + deta = (dsigma1 + dsigma2) * tsig1sig2; + deta -= ddH * tdH; + deta -= dsigma1 * teta1 + dsigma2 * teta2; + dchi = MathExtra::dot3(u, fourw); + dh12 = rhat[m] + MathExtra::dot3(u, spr); + dUa = pbsu * (eta * dchi + deta * chi) - dh12 * dspu; + dUr = pbsr * (eta * dchi + deta * chi) - dh12 * dspr; + fforce[m] = dUr * Ur + dUa * Ua; } // torque on i - MathExtra::vecmat(fourw,wi.aTe,fwae); + MathExtra::vecmat(fourw, wi.aTe, fwae); - for (int i=0; i<3; i++) { - MathExtra::matvec(wi.lA[i],rhat,p); - dsigma1 = MathExtra::dot3(p,vsigma1); - dH12[0][0] = wi.lAsa[i][0][0]/sigma1+dsigma1*gsigma1[0][0]; - dH12[0][1] = wi.lAsa[i][0][1]/sigma1+dsigma1*gsigma1[0][1]; - dH12[0][2] = wi.lAsa[i][0][2]/sigma1+dsigma1*gsigma1[0][2]; - dH12[1][0] = wi.lAsa[i][1][0]/sigma1+dsigma1*gsigma1[1][0]; - dH12[1][1] = wi.lAsa[i][1][1]/sigma1+dsigma1*gsigma1[1][1]; - dH12[1][2] = wi.lAsa[i][1][2]/sigma1+dsigma1*gsigma1[1][2]; - dH12[2][0] = wi.lAsa[i][2][0]/sigma1+dsigma1*gsigma1[2][0]; - dH12[2][1] = wi.lAsa[i][2][1]/sigma1+dsigma1*gsigma1[2][1]; - dH12[2][2] = wi.lAsa[i][2][2]/sigma1+dsigma1*gsigma1[2][2]; - ddH = det_prime(H12,dH12); - deta = tsig1sig2*dsigma1-tdH*ddH; - deta -= teta1*dsigma1; + for (int i = 0; i < 3; i++) { + MathExtra::matvec(wi.lA[i], rhat, p); + dsigma1 = MathExtra::dot3(p, vsigma1); + dH12[0][0] = wi.lAsa[i][0][0] / sigma1 + dsigma1 * gsigma1[0][0]; + dH12[0][1] = wi.lAsa[i][0][1] / sigma1 + dsigma1 * gsigma1[0][1]; + dH12[0][2] = wi.lAsa[i][0][2] / sigma1 + dsigma1 * gsigma1[0][2]; + dH12[1][0] = wi.lAsa[i][1][0] / sigma1 + dsigma1 * gsigma1[1][0]; + dH12[1][1] = wi.lAsa[i][1][1] / sigma1 + dsigma1 * gsigma1[1][1]; + dH12[1][2] = wi.lAsa[i][1][2] / sigma1 + dsigma1 * gsigma1[1][2]; + dH12[2][0] = wi.lAsa[i][2][0] / sigma1 + dsigma1 * gsigma1[2][0]; + dH12[2][1] = wi.lAsa[i][2][1] / sigma1 + dsigma1 * gsigma1[2][1]; + dH12[2][2] = wi.lAsa[i][2][2] / sigma1 + dsigma1 * gsigma1[2][2]; + ddH = det_prime(H12, dH12); + deta = tsig1sig2 * dsigma1 - tdH * ddH; + deta -= teta1 * dsigma1; double tempv[3]; - MathExtra::matvec(wi.lA[i],w,tempv); - dchi = -MathExtra::dot3(fwae,tempv); - MathExtra::matvec(wi.lAtwo[i],spr,tempv); - dh12 = -MathExtra::dot3(s,tempv); + MathExtra::matvec(wi.lA[i], w, tempv); + dchi = -MathExtra::dot3(fwae, tempv); + MathExtra::matvec(wi.lAtwo[i], spr, tempv); + dh12 = -MathExtra::dot3(s, tempv); - dUa = pbsu*(eta*dchi + deta*chi)-dh12*dspu; - dUr = pbsr*(eta*dchi + deta*chi)-dh12*dspr; - ttor[i] = -(dUa*Ua+dUr*Ur); + dUa = pbsu * (eta * dchi + deta * chi) - dh12 * dspu; + dUr = pbsr * (eta * dchi + deta * chi) - dh12 * dspr; + ttor[i] = -(dUa * Ua + dUr * Ur); } // torque on j - if (!(force->newton_pair || j < atom->nlocal)) - return Ua+Ur; + if (!(force->newton_pair || j < atom->nlocal)) return Ua + Ur; - MathExtra::vecmat(fourw,wj.aTe,fwae); + MathExtra::vecmat(fourw, wj.aTe, fwae); - for (int i=0; i<3; i++) { - MathExtra::matvec(wj.lA[i],rhat,p); - dsigma2 = MathExtra::dot3(p,vsigma2); - dH12[0][0] = wj.lAsa[i][0][0]/sigma2+dsigma2*gsigma2[0][0]; - dH12[0][1] = wj.lAsa[i][0][1]/sigma2+dsigma2*gsigma2[0][1]; - dH12[0][2] = wj.lAsa[i][0][2]/sigma2+dsigma2*gsigma2[0][2]; - dH12[1][0] = wj.lAsa[i][1][0]/sigma2+dsigma2*gsigma2[1][0]; - dH12[1][1] = wj.lAsa[i][1][1]/sigma2+dsigma2*gsigma2[1][1]; - dH12[1][2] = wj.lAsa[i][1][2]/sigma2+dsigma2*gsigma2[1][2]; - dH12[2][0] = wj.lAsa[i][2][0]/sigma2+dsigma2*gsigma2[2][0]; - dH12[2][1] = wj.lAsa[i][2][1]/sigma2+dsigma2*gsigma2[2][1]; - dH12[2][2] = wj.lAsa[i][2][2]/sigma2+dsigma2*gsigma2[2][2]; - ddH = det_prime(H12,dH12); - deta = tsig1sig2*dsigma2-tdH*ddH; - deta -= teta2*dsigma2; + for (int i = 0; i < 3; i++) { + MathExtra::matvec(wj.lA[i], rhat, p); + dsigma2 = MathExtra::dot3(p, vsigma2); + dH12[0][0] = wj.lAsa[i][0][0] / sigma2 + dsigma2 * gsigma2[0][0]; + dH12[0][1] = wj.lAsa[i][0][1] / sigma2 + dsigma2 * gsigma2[0][1]; + dH12[0][2] = wj.lAsa[i][0][2] / sigma2 + dsigma2 * gsigma2[0][2]; + dH12[1][0] = wj.lAsa[i][1][0] / sigma2 + dsigma2 * gsigma2[1][0]; + dH12[1][1] = wj.lAsa[i][1][1] / sigma2 + dsigma2 * gsigma2[1][1]; + dH12[1][2] = wj.lAsa[i][1][2] / sigma2 + dsigma2 * gsigma2[1][2]; + dH12[2][0] = wj.lAsa[i][2][0] / sigma2 + dsigma2 * gsigma2[2][0]; + dH12[2][1] = wj.lAsa[i][2][1] / sigma2 + dsigma2 * gsigma2[2][1]; + dH12[2][2] = wj.lAsa[i][2][2] / sigma2 + dsigma2 * gsigma2[2][2]; + ddH = det_prime(H12, dH12); + deta = tsig1sig2 * dsigma2 - tdH * ddH; + deta -= teta2 * dsigma2; double tempv[3]; - MathExtra::matvec(wj.lA[i],w,tempv); - dchi = -MathExtra::dot3(fwae,tempv); - MathExtra::matvec(wj.lAtwo[i],spr,tempv); - dh12 = -MathExtra::dot3(s,tempv); + MathExtra::matvec(wj.lA[i], w, tempv); + dchi = -MathExtra::dot3(fwae, tempv); + MathExtra::matvec(wj.lAtwo[i], spr, tempv); + dh12 = -MathExtra::dot3(s, tempv); - dUa = pbsu*(eta*dchi + deta*chi)-dh12*dspu; - dUr = pbsr*(eta*dchi + deta*chi)-dh12*dspr; - rtor[i] = -(dUa*Ua+dUr*Ur); + dUa = pbsu * (eta * dchi + deta * chi) - dh12 * dspu; + dUr = pbsr * (eta * dchi + deta * chi) - dh12 * dspr; + rtor[i] = -(dUa * Ua + dUr * Ur); } - return Ua+Ur; + return Ua + Ur; } /* ---------------------------------------------------------------------- Compute the energy, force, torque for a pair (INTEGRATED-LJ) ------------------------------------------------------------------------- */ -double PairRESquared::resquared_lj(const int i, const int j, - const RE2Vars &wi, const double *r, - const double rsq, double *fforce, - double *ttor, bool calc_torque) +double PairRESquared::resquared_lj(const int i, const int j, const RE2Vars &wi, const double *r, + const double rsq, double *fforce, double *ttor, bool calc_torque) { int *type = atom->type; // pair computations for energy, force, torque - double rnorm; // L2 norm of r - double rhat[3]; // r/rnorm - double s[3]; // inv(gamma1)*rhat - double sigma12; // 1/sqrt(0.5*s'*rhat) - double w[3]; // inv(A1'*E1*A1+I)*rhat - double h12; // rnorm-sigma12; - double chi; // 2*rhat'*w - double sigh; // sigma/h12 - double tprod; // chi*sigh - double Ua,Ur; // attractive/repulsive parts of potential + double rnorm; // L2 norm of r + double rhat[3]; // r/rnorm + double s[3]; // inv(gamma1)*rhat + double sigma12; // 1/sqrt(0.5*s'*rhat) + double w[3]; // inv(A1'*E1*A1+I)*rhat + double h12; // rnorm-sigma12; + double chi; // 2*rhat'*w + double sigh; // sigma/h12 + double tprod; // chi*sigh + double Ua, Ur; // attractive/repulsive parts of potential // pair computations for force, torque - double sec; // sigma*chi - double sigma12p3; // sigma12^3 - double fourw[3]; // 4*w; - double spr[3]; // 0.5*sigma12^3*s - double hsec; // h12+[3,b_alpha]*sec - double dspu; // 1/h12 - 1/hsec + temp - double pbsu; // 3*sigma/hsec - double dspr; // 7/h12-1/hsec+temp - double pbsr; // b_alpha*sigma/hsec; - double u[3]; // (-rhat(i)*rhat+eye(:,i))/rnorm - double dchi,dh12; // derivatives of chi,h12 - double dUr,dUa; // derivatives of Ua,Ur - double h12p3; // h12^3 + double sec; // sigma*chi + double sigma12p3; // sigma12^3 + double fourw[3]; // 4*w; + double spr[3]; // 0.5*sigma12^3*s + double hsec; // h12+[3,b_alpha]*sec + double dspu; // 1/h12 - 1/hsec + temp + double pbsu; // 3*sigma/hsec + double dspr; // 7/h12-1/hsec+temp + double pbsr; // b_alpha*sigma/hsec; + double u[3]; // (-rhat(i)*rhat+eye(:,i))/rnorm + double dchi, dh12; // derivatives of chi,h12 + double dUr, dUa; // derivatives of Ua,Ur + double h12p3; // h12^3 // pair computations for torque - double fwae[3]; // -fourw'*aTe - double p[3]; // lA*rhat + double fwae[3]; // -fourw'*aTe + double p[3]; // lA*rhat // distance of closest approach correction - double aTs[3][3]; // A1'*S1^2 - double gamma[3][3]; // A1'*S1^2*A - double lAtwo[3][3][3]; // A1'*S1^2*wi.lA + double aTs[3][3]; // A1'*S1^2 + double gamma[3][3]; // A1'*S1^2*A + double lAtwo[3][3][3]; // A1'*S1^2*wi.lA double scorrect[3]; - double half_sigma=sigma[type[i]][type[j]] / 2.0; - scorrect[0] = shape1[type[i]][0]+half_sigma; - scorrect[1] = shape1[type[i]][1]+half_sigma; - scorrect[2] = shape1[type[i]][2]+half_sigma; + double half_sigma = sigma[type[i]][type[j]] / 2.0; + scorrect[0] = shape1[type[i]][0] + half_sigma; + scorrect[1] = shape1[type[i]][1] + half_sigma; + scorrect[2] = shape1[type[i]][2] + half_sigma; scorrect[0] = scorrect[0] * scorrect[0] / 2.0; scorrect[1] = scorrect[1] * scorrect[1] / 2.0; scorrect[2] = scorrect[2] * scorrect[2] / 2.0; - MathExtra::transpose_diag3(wi.A,scorrect,aTs); - MathExtra::times3(aTs,wi.A,gamma); - for (int ii=0; ii<3; ii++) - MathExtra::times3(aTs,wi.lA[ii],lAtwo[ii]); + MathExtra::transpose_diag3(wi.A, scorrect, aTs); + MathExtra::times3(aTs, wi.A, gamma); + for (int ii = 0; ii < 3; ii++) MathExtra::times3(aTs, wi.lA[ii], lAtwo[ii]); - rnorm=sqrt(rsq); - rhat[0] = r[0]/rnorm; - rhat[1] = r[1]/rnorm; - rhat[2] = r[2]/rnorm; + rnorm = sqrt(rsq); + rhat[0] = r[0] / rnorm; + rhat[1] = r[1] / rnorm; + rhat[2] = r[2] / rnorm; // energy - int ierror = MathExtra::mldivide3(gamma,rhat,s); - if (ierror) error->all(FLERR,"Bad matrix inversion in mldivide3"); + int ierror = MathExtra::mldivide3(gamma, rhat, s); + if (ierror) error->all(FLERR, "Bad matrix inversion in mldivide3"); - sigma12 = 1.0/sqrt(0.5*MathExtra::dot3(s,rhat)); + sigma12 = 1.0 / sqrt(0.5 * MathExtra::dot3(s, rhat)); double temp[3][3]; - MathExtra::times3(wi.aTe,wi.A,temp); + MathExtra::times3(wi.aTe, wi.A, temp); temp[0][0] += 1.0; temp[1][1] += 1.0; temp[2][2] += 1.0; - ierror = MathExtra::mldivide3(temp,rhat,w); - if (ierror) error->all(FLERR,"Bad matrix inversion in mldivide3"); + ierror = MathExtra::mldivide3(temp, rhat, w); + if (ierror) error->all(FLERR, "Bad matrix inversion in mldivide3"); - h12 = rnorm-sigma12; - chi = 2.0*MathExtra::dot3(rhat,w); - sigh = sigma[type[i]][type[j]]/h12; - tprod = chi*sigh; + h12 = rnorm - sigma12; + chi = 2.0 * MathExtra::dot3(rhat, w); + sigh = sigma[type[i]][type[j]] / h12; + tprod = chi * sigh; - h12p3 = pow(h12,3.0); - double sigmap3 = pow(sigma[type[i]][type[j]],3.0); - double stemp = h12/2.0; - Ua = (shape1[type[i]][0]+stemp)*(shape1[type[i]][1]+stemp)* - (shape1[type[i]][2]+stemp)*h12p3/8.0; - Ua = (1.0+3.0*tprod)*lshape[type[i]]/Ua; - Ua = epsilon[type[i]][type[j]]*Ua*sigmap3*solv_f_a; + h12p3 = pow(h12, 3.0); + double sigmap3 = pow(sigma[type[i]][type[j]], 3.0); + double stemp = h12 / 2.0; + Ua = (shape1[type[i]][0] + stemp) * (shape1[type[i]][1] + stemp) * (shape1[type[i]][2] + stemp) * + h12p3 / 8.0; + Ua = (1.0 + 3.0 * tprod) * lshape[type[i]] / Ua; + Ua = epsilon[type[i]][type[j]] * Ua * sigmap3 * solv_f_a; - stemp = h12/cr60; - Ur = (shape1[type[i]][0]+stemp)*(shape1[type[i]][1]+stemp)* - (shape1[type[i]][2]+stemp)*h12p3/60.0; - Ur = (1.0+b_alpha*tprod)*lshape[type[i]]/Ur; - Ur = epsilon[type[i]][type[j]]*Ur*sigmap3*pow(sigh,6.0)*solv_f_r; + stemp = h12 / cr60; + Ur = (shape1[type[i]][0] + stemp) * (shape1[type[i]][1] + stemp) * (shape1[type[i]][2] + stemp) * + h12p3 / 60.0; + Ur = (1.0 + b_alpha * tprod) * lshape[type[i]] / Ur; + Ur = epsilon[type[i]][type[j]] * Ur * sigmap3 * pow(sigh, 6.0) * solv_f_r; // force - sec = sigma[type[i]][type[j]]*chi; - sigma12p3 = pow(sigma12,3.0); - fourw[0] = 4.0*w[0]; - fourw[1] = 4.0*w[1]; - fourw[2] = 4.0*w[2]; - spr[0] = 0.5*sigma12p3*s[0]; - spr[1] = 0.5*sigma12p3*s[1]; - spr[2] = 0.5*sigma12p3*s[2]; + sec = sigma[type[i]][type[j]] * chi; + sigma12p3 = pow(sigma12, 3.0); + fourw[0] = 4.0 * w[0]; + fourw[1] = 4.0 * w[1]; + fourw[2] = 4.0 * w[2]; + spr[0] = 0.5 * sigma12p3 * s[0]; + spr[1] = 0.5 * sigma12p3 * s[1]; + spr[2] = 0.5 * sigma12p3 * s[2]; - stemp = 1.0/(shape1[type[i]][0]*2.0+h12)+ - 1.0/(shape1[type[i]][1]*2.0+h12)+ - 1.0/(shape1[type[i]][2]*2.0+h12)+ - 3.0/h12; - hsec = h12+3.0*sec; - dspu = 1.0/h12-1.0/hsec+stemp; - pbsu = 3.0*sigma[type[i]][type[j]]/hsec; + stemp = 1.0 / (shape1[type[i]][0] * 2.0 + h12) + 1.0 / (shape1[type[i]][1] * 2.0 + h12) + + 1.0 / (shape1[type[i]][2] * 2.0 + h12) + 3.0 / h12; + hsec = h12 + 3.0 * sec; + dspu = 1.0 / h12 - 1.0 / hsec + stemp; + pbsu = 3.0 * sigma[type[i]][type[j]] / hsec; - stemp = 1.0/(shape1[type[i]][0]*cr60+h12)+ - 1.0/(shape1[type[i]][1]*cr60+h12)+ - 1.0/(shape1[type[i]][2]*cr60+h12)+ - 3.0/h12; - hsec = h12+b_alpha*sec; - dspr = 7.0/h12-1.0/hsec+stemp; - pbsr = b_alpha*sigma[type[i]][type[j]]/hsec; + stemp = 1.0 / (shape1[type[i]][0] * cr60 + h12) + 1.0 / (shape1[type[i]][1] * cr60 + h12) + + 1.0 / (shape1[type[i]][2] * cr60 + h12) + 3.0 / h12; + hsec = h12 + b_alpha * sec; + dspr = 7.0 / h12 - 1.0 / hsec + stemp; + pbsr = b_alpha * sigma[type[i]][type[j]] / hsec; - for (int m=0; m<3; m++) { - u[0] = -rhat[m]*rhat[0]; - u[1] = -rhat[m]*rhat[1]; - u[2] = -rhat[m]*rhat[2]; + for (int m = 0; m < 3; m++) { + u[0] = -rhat[m] * rhat[0]; + u[1] = -rhat[m] * rhat[1]; + u[2] = -rhat[m] * rhat[2]; u[m] += 1.0; u[0] /= rnorm; u[1] /= rnorm; u[2] /= rnorm; - dchi = MathExtra::dot3(u,fourw); - dh12 = rhat[m]+MathExtra::dot3(u,spr); - dUa = pbsu*dchi-dh12*dspu; - dUr = pbsr*dchi-dh12*dspr; - fforce[m]=dUr*Ur+dUa*Ua; + dchi = MathExtra::dot3(u, fourw); + dh12 = rhat[m] + MathExtra::dot3(u, spr); + dUa = pbsu * dchi - dh12 * dspu; + dUr = pbsr * dchi - dh12 * dspr; + fforce[m] = dUr * Ur + dUa * Ua; } // torque on i if (calc_torque) { - MathExtra::vecmat(fourw,wi.aTe,fwae); + MathExtra::vecmat(fourw, wi.aTe, fwae); - for (int m=0; m<3; m++) { - MathExtra::matvec(wi.lA[m],rhat,p); + for (int m = 0; m < 3; m++) { + MathExtra::matvec(wi.lA[m], rhat, p); double tempv[3]; - MathExtra::matvec(wi.lA[m],w,tempv); - dchi = -MathExtra::dot3(fwae,tempv); - MathExtra::matvec(lAtwo[m],spr,tempv); - dh12 = -MathExtra::dot3(s,tempv); + MathExtra::matvec(wi.lA[m], w, tempv); + dchi = -MathExtra::dot3(fwae, tempv); + MathExtra::matvec(lAtwo[m], spr, tempv); + dh12 = -MathExtra::dot3(s, tempv); - dUa = pbsu*dchi-dh12*dspu; - dUr = pbsr*dchi-dh12*dspr; - ttor[m] = -(dUa*Ua+dUr*Ur); + dUa = pbsu * dchi - dh12 * dspu; + dUr = pbsr * dchi - dh12 * dspr; + ttor[m] = -(dUa * Ua + dUr * Ur); } } - return Ua+Ur; + return Ua + Ur; } From 01503535f4b229b2070ad26bd4cd1c948f6a6dc1 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 17 Aug 2021 10:48:09 -0400 Subject: [PATCH 671/726] remove unused symlinks --- examples/PACKAGES/interlayer/kolmogorov_crespi_full/CC.KC-full | 1 - examples/PACKAGES/interlayer/kolmogorov_crespi_full/CH.KC | 1 - 2 files changed, 2 deletions(-) delete mode 120000 examples/PACKAGES/interlayer/kolmogorov_crespi_full/CC.KC-full delete mode 120000 examples/PACKAGES/interlayer/kolmogorov_crespi_full/CH.KC diff --git a/examples/PACKAGES/interlayer/kolmogorov_crespi_full/CC.KC-full b/examples/PACKAGES/interlayer/kolmogorov_crespi_full/CC.KC-full deleted file mode 120000 index 6b829c2157..0000000000 --- a/examples/PACKAGES/interlayer/kolmogorov_crespi_full/CC.KC-full +++ /dev/null @@ -1 +0,0 @@ -../../../../potentials/CC.KC-full \ No newline at end of file diff --git a/examples/PACKAGES/interlayer/kolmogorov_crespi_full/CH.KC b/examples/PACKAGES/interlayer/kolmogorov_crespi_full/CH.KC deleted file mode 120000 index 74f7f340e5..0000000000 --- a/examples/PACKAGES/interlayer/kolmogorov_crespi_full/CH.KC +++ /dev/null @@ -1 +0,0 @@ -../../../../potentials/CH.KC \ No newline at end of file From 95a2041df30973f3a4b2344fe2f9445f6fb0c50f Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 17 Aug 2021 10:48:51 -0400 Subject: [PATCH 672/726] reformat potential file headers to comply with LAMMPS' conventions --- potentials/BNCH-old.ILP | 2 +- potentials/BNCH.ILP | 2 +- potentials/BNC_MBD_bulk.ILP | 2 +- potentials/BNC_TS_bulk.ILP | 2 +- potentials/CC.KC-full | 5 +---- potentials/CH.KC | 3 +-- potentials/CH_taper.KC | 11 +++++------ 7 files changed, 11 insertions(+), 16 deletions(-) diff --git a/potentials/BNCH-old.ILP b/potentials/BNCH-old.ILP index 2830172a86..2f98de2261 100644 --- a/potentials/BNCH-old.ILP +++ b/potentials/BNCH-old.ILP @@ -1,6 +1,6 @@ +# DATE: 2020-01-16 UNITS: metal CONTRIBUTOR: Wengen Ouyang w.g.ouyang@gmail.com CITATION: J. Chem.Theory Comput. 2016, 12, 2896-905 and J. Phys. Chem. C 2017, 121, 22826-22835 # Interlayer Potential (ILP) for bilayer graphene/graphene, graphene/hBN and hBN/hBN junctions # The parameters below are fitted against the HSE + MBD DFT reference data from 3.1 A to 15 A. -# Cite J. Chem.Theory Comput. 2016, 12, 2896-905 and J. Phys. Chem. C 2017, 121, 22826-22835. # beta alpha delta epsilon C d sR reff C6 S rcut C C 3.22 9.200 1.20 0.010 0.800 15.0 0.704 3.586 522.915 43.363442016573508 2.0 diff --git a/potentials/BNCH.ILP b/potentials/BNCH.ILP index eb15c35e0b..3c097d91bf 100644 --- a/potentials/BNCH.ILP +++ b/potentials/BNCH.ILP @@ -1,6 +1,6 @@ +# DATE: 2020-01-16 UNITS: metal CONTRIBUTOR: Wengen Ouyang w.g.ouyang@gmail.com CITATION: Ouyang, Mandelli, Urbakh, Hod, Nano Letters 18, 6009-6016 (2018). # Interlayer Potential (ILP) for bilayer graphene/graphene, graphene/hBN and hBN/hBN junctions # The parameters below are fitted against the HSE + MBD DFT reference data from 2.5 A to 15 A. -# Cite as W. Ouyang, D. Mandelli, M. Urbakh and O. Hod, Nano Letters 18, 6009-6016 (2018). # # ----------------- Repulsion Potential ------------------++++++++++++++ Vdw Potential ++++++++++++++++************ # beta(A) alpha delta(A) epsilon(meV) C(meV) d sR reff(A) C6(meV*A^6) S rcut diff --git a/potentials/BNC_MBD_bulk.ILP b/potentials/BNC_MBD_bulk.ILP index 9093f01447..381cb0359a 100644 --- a/potentials/BNC_MBD_bulk.ILP +++ b/potentials/BNC_MBD_bulk.ILP @@ -1,6 +1,6 @@ +# DATE: 2020-01-16 UNITS: metal CONTRIBUTOR: Wengen Ouyang w.g.ouyang@gmail.com CITATION: W. Ouyang et al., J. Chem. Theory Comput. 16(1), 666-676 (2020) # Interlayer Potential (ILP) for graphite, bulk-hBN and their heterojunctions # The parameters below are fitted against the HSE + MBD DFT reference data from 2 A to 10 A. -# Cite as W. Ouyang et al., J. Chem. Theory Comput. 16(1), 666-676 (2020). # # ------------------------------ Repulsion Potential --------------------++++++++++++++ Vdw Potential ++++++++++++++++************ # MBD-HSE beta(A) alpha delta(A) epsilon(meV) C(meV) d sR reff(A) C6(meV*A^6) S rcut diff --git a/potentials/BNC_TS_bulk.ILP b/potentials/BNC_TS_bulk.ILP index 13de8b25fc..b0bf3cd800 100644 --- a/potentials/BNC_TS_bulk.ILP +++ b/potentials/BNC_TS_bulk.ILP @@ -1,6 +1,6 @@ +# DATE: 2020-01-16 UNITS: metal CONTRIBUTOR: Wengen Ouyang w.g.ouyang@gmail.com CITATION: W. Ouyang et al., J. Chem. Theory Comput. 16(1), 666-676 (2020) # Interlayer Potential (ILP) for graphite, bulk-hBN and their heterojunctions # The parameters below are fitted against the HSE + TS DFT reference data from 2 A to 10 A. -# Cite as W. Ouyang et al., J. Chem. Theory Comput. 16(1), 666-676 (2020). # # ------------------------------ Repulsion Potential ------------------++++++++++++++ Vdw Potential ++++++++++++++++************ # TS-HSE beta(A) alpha delta(A) epsilon(meV) C(meV) d sR reff(A) C6(meV*A^6) S rcut diff --git a/potentials/CC.KC-full b/potentials/CC.KC-full index a3bf302fe0..fee2f6a5ef 100644 --- a/potentials/CC.KC-full +++ b/potentials/CC.KC-full @@ -1,8 +1,5 @@ +# DATE: 2018-03-23 UNITS: metal CONTRIBUTOR: Wengen Ouyang w.g.ouyang@gmail.com CITATION: Kolmogorov, Crespi, Physical Review B 71, 235415 (2005) # Kolmogorov-Crespi Potential # -# Cite as A.N. Kolmogorov & V. H. Crespi, -# Registry-dependent interlayer potential for graphitic systems -# Physical Review B 71, 235415 (2005) -# # z0 C0 C2 C4 C delta lambda A S rcut C C 3.34 15.71 12.29 4.933 3.030 0.578 3.629 10.238 1.0 2.0 diff --git a/potentials/CH.KC b/potentials/CH.KC index 029f682f34..bfab2954df 100644 --- a/potentials/CH.KC +++ b/potentials/CH.KC @@ -1,7 +1,6 @@ +# DATE: 2018-09-12 UNITS: metal CONTRIBUTOR: Wengen Ouyang w.g.ouyang@gmail.com CITATION: Ouyang, Mandelli, Urbakh, Hod, Nano Letters 18, 6009-6016 (2018). # Refined parameters for Kolmogorov-Crespi Potential without taper function # -# Cite as W. Ouyang, D. Mandelli, M. Urbakh and O. Hod, Nano Letters 18, 6009-6016 (2018). -# # z0 C0 C2 C4 C delta lambda A S rcut C C 3.328819 21.847167 12.060173 4.711099 6.678908e-4 0.7718101 3.143921 12.660270 1.0 2.0 C H 3.156492 37.400478 8.3910462e-3 55.06177 5.176215e-5 0.4437309 2.508847 11.479055 1.0 1.5 diff --git a/potentials/CH_taper.KC b/potentials/CH_taper.KC index 0f08b2e6dd..0043b1b9d0 100644 --- a/potentials/CH_taper.KC +++ b/potentials/CH_taper.KC @@ -1,10 +1,9 @@ +# DATE: 2018-09-12 UNITS: metal CONTRIBUTOR: Wengen Ouyang w.g.ouyang@gmail.com CITATION: W. Ouyang, D. Mandelli, M. Urbakh and O. Hod, Nano Letters 18, 6009-6016 (2018). # Refined parameters for Kolmogorov-Crespi Potential with taper function # -# Cite as W. Ouyang, D. Mandelli, M. Urbakh and O. Hod, Nano Letters 18, 6009-6016 (2018). -# # z0 C0 C2 C4 C delta lambda A S rcut -C C 3.416084 20.021583 10.9055107 4.2756354 1.0010836E-2 0.8447122 2.9360584 14.3132588 1.0 2.0 -C H 2.849054 72.557245 1.0164169E-2 65.923312 8.7962504E-5 0.3349237 3.0402632 14.7533201 1.0 1.5 -H H 2.187478 3.915802E-5 5.0896431E-5 3.6657827 1.5373722446 0.9633581 0.4249989 1.570737E-4 1.0 1.2 -H C 2.849054 72.557245 1.0164169E-2 65.923312 8.7962504E-5 0.3349237 3.0402632 14.7533201 1.0 2.2 +C C 3.416084 20.021583 10.9055107 4.2756354 1.0010836E-2 0.8447122 2.9360584 14.3132588 1.0 2.0 +C H 2.849054 72.557245 1.0164169E-2 65.923312 8.7962504E-5 0.3349237 3.0402632 14.7533201 1.0 1.5 +H H 2.187478 3.915802E-5 5.0896431E-5 3.6657827 1.5373722446 0.9633581 0.4249989 1.570737E-4 1.0 1.2 +H C 2.849054 72.557245 1.0164169E-2 65.923312 8.7962504E-5 0.3349237 3.0402632 14.7533201 1.0 2.2 From 18cc43a560f4b481e7fb6f1a90d9e836460041a7 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 17 Aug 2021 12:04:58 -0400 Subject: [PATCH 673/726] extend ArgInfo class to also accept "i2_name" and "d2_name" --- doc/src/Developer_utils.rst | 9 ++-- src/arg_info.cpp | 10 +++-- unittest/utils/test_argutils.cpp | 70 ++++++++++++++++++++++++++++++++ 3 files changed, 81 insertions(+), 8 deletions(-) diff --git a/doc/src/Developer_utils.rst b/doc/src/Developer_utils.rst index 44210218c0..60eded42e0 100644 --- a/doc/src/Developer_utils.rst +++ b/doc/src/Developer_utils.rst @@ -334,10 +334,11 @@ arguments of commands in LAMMPS are parsed and to make abstractions of repetitive tasks. The :cpp:class:`LAMMPS_NS::ArgInfo` class provides an abstraction -for parsing references to compute or fix styles or variables. These -would start with a "c\_", "f\_", "v\_" followed by the ID or name of -than instance and may be postfixed with one or two array indices -"[]" with numbers > 0. +for parsing references to compute or fix styles, variables or custom +integer or double properties handled by :doc:`fix property/atom `. +These would start with a "c\_", "f\_", "v\_", "d\_", "d2\_", "i\_", or "i2_" +followed by the ID or name of than instance and may be postfixed with +one or two array indices "[]" with numbers > 0. A typical code segment would look like this: diff --git a/src/arg_info.cpp b/src/arg_info.cpp index a274b47b92..5063b6b471 100644 --- a/src/arg_info.cpp +++ b/src/arg_info.cpp @@ -30,7 +30,8 @@ using namespace LAMMPS_NS; ArgInfo::ArgInfo(const std::string &arg, int allowed) : type(NONE), dim(0), index1(-1), index2(-1) { - if ((arg.size() > 2) && (arg[1] == '_')) { + if (((arg.size() > 3) && (arg[1] == '2') && (arg[2] == '_')) + || ((arg.size() > 2) && (arg[1] == '_'))) { if ((arg[0] == 'c') && (allowed & COMPUTE)) type = COMPUTE; else if ((arg[0] == 'f') && (allowed & FIX)) @@ -46,10 +47,11 @@ ArgInfo::ArgInfo(const std::string &arg, int allowed) : type(NONE), dim(0), inde name = arg; return; } + const int offset = (arg[1] == '_') ? 2 : 3; - std::size_t has_idx1 = arg.find('[', 2); + std::size_t has_idx1 = arg.find('[', offset); if (has_idx1 != std::string::npos) { - name = arg.substr(2, has_idx1 - 2); + name = arg.substr(offset, has_idx1 - offset); dim = 1; std::size_t has_idx2 = arg.find('[', has_idx1 + 1); @@ -79,7 +81,7 @@ ArgInfo::ArgInfo(const std::string &arg, int allowed) : type(NONE), dim(0), inde } } else { index1 = 0; - name = arg.substr(2); + name = arg.substr(offset); } } else { index1 = 0; diff --git a/unittest/utils/test_argutils.cpp b/unittest/utils/test_argutils.cpp index a527df6fe7..c5ef19bc10 100644 --- a/unittest/utils/test_argutils.cpp +++ b/unittest/utils/test_argutils.cpp @@ -169,6 +169,16 @@ TEST(ArgInfo, variable2) ASSERT_THAT(arg.get_name(), StrEq("x")); } +TEST(ArgInfo, variable3) +{ + ArgInfo arg("v_x[11][5]"); + ASSERT_EQ(arg.get_dim(), 2); + ASSERT_EQ(arg.get_type(), ArgInfo::VARIABLE); + ASSERT_EQ(arg.get_index1(), 11); + ASSERT_EQ(arg.get_index2(), 5); + ASSERT_THAT(arg.get_name(), StrEq("x")); +} + TEST(ArgInfo, dname0) { ArgInfo arg("d_text", ArgInfo::DNAME); @@ -179,6 +189,36 @@ TEST(ArgInfo, dname0) ASSERT_THAT(arg.get_name(), StrEq("text")); } +TEST(ArgInfo, dname1) +{ + ArgInfo arg("d2_text", ArgInfo::DNAME | ArgInfo::INAME); + ASSERT_EQ(arg.get_dim(), 0); + ASSERT_EQ(arg.get_type(), ArgInfo::DNAME); + ASSERT_EQ(arg.get_index1(), 0); + ASSERT_EQ(arg.get_index2(), -1); + ASSERT_THAT(arg.get_name(), StrEq("text")); +} + +TEST(ArgInfo, dname2) +{ + ArgInfo arg("d2_text[11]", ArgInfo::DNAME); + ASSERT_EQ(arg.get_dim(), 1); + ASSERT_EQ(arg.get_type(), ArgInfo::DNAME); + ASSERT_EQ(arg.get_index1(), 11); + ASSERT_EQ(arg.get_index2(), -1); + ASSERT_THAT(arg.get_name(), StrEq("text")); +} + +TEST(ArgInfo, dname3) +{ + ArgInfo arg("d2_text[24][11]", ArgInfo::DNAME); + ASSERT_EQ(arg.get_dim(), 2); + ASSERT_EQ(arg.get_type(), ArgInfo::DNAME); + ASSERT_EQ(arg.get_index1(), 24); + ASSERT_EQ(arg.get_index2(), 11); + ASSERT_THAT(arg.get_name(), StrEq("text")); +} + TEST(ArgInfo, iname0) { ArgInfo arg("i_text", ArgInfo::INAME); @@ -189,6 +229,36 @@ TEST(ArgInfo, iname0) ASSERT_THAT(arg.get_name(), StrEq("text")); } +TEST(ArgInfo, iname1) +{ + ArgInfo arg("i2_text", ArgInfo::INAME); + ASSERT_EQ(arg.get_dim(), 0); + ASSERT_EQ(arg.get_type(), ArgInfo::INAME); + ASSERT_EQ(arg.get_index1(), 0); + ASSERT_EQ(arg.get_index2(), -1); + ASSERT_THAT(arg.get_name(), StrEq("text")); +} + +TEST(ArgInfo, iname2) +{ + ArgInfo arg("i2_text[2]", ArgInfo::INAME | ArgInfo::DNAME); + ASSERT_EQ(arg.get_dim(), 1); + ASSERT_EQ(arg.get_type(), ArgInfo::INAME); + ASSERT_EQ(arg.get_index1(), 2); + ASSERT_EQ(arg.get_index2(), -1); + ASSERT_THAT(arg.get_name(), StrEq("text")); +} + +TEST(ArgInfo, iname3) +{ + ArgInfo arg("i2_text[2][100]", ArgInfo::INAME | ArgInfo::DNAME); + ASSERT_EQ(arg.get_dim(), 2); + ASSERT_EQ(arg.get_type(), ArgInfo::INAME); + ASSERT_EQ(arg.get_index1(), 2); + ASSERT_EQ(arg.get_index2(), 100); + ASSERT_THAT(arg.get_name(), StrEq("text")); +} + TEST(ArgInfo, unsupported1) { ArgInfo arg("v_text[02][05]", ArgInfo::COMPUTE | ArgInfo::FIX); From 9fa255b3ff6030615d647fc834a97b4f0ba95238 Mon Sep 17 00:00:00 2001 From: Stan Moore Date: Tue, 17 Aug 2021 10:09:39 -0600 Subject: [PATCH 674/726] Fix issue when building Kokkos with CMake --- cmake/Modules/Packages/KOKKOS.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cmake/Modules/Packages/KOKKOS.cmake b/cmake/Modules/Packages/KOKKOS.cmake index aea766b79c..a557c42438 100644 --- a/cmake/Modules/Packages/KOKKOS.cmake +++ b/cmake/Modules/Packages/KOKKOS.cmake @@ -74,7 +74,7 @@ else() target_link_libraries(lammps PRIVATE kokkos) target_link_libraries(lmp PRIVATE kokkos) endif() -target_compile_definitions(lammps PRIVATE -DLMP_KOKKOS) +target_compile_definitions(lammps PUBLIC -DLMP_KOKKOS) set(KOKKOS_PKG_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/KOKKOS) set(KOKKOS_PKG_SOURCES ${KOKKOS_PKG_SOURCES_DIR}/kokkos.cpp @@ -127,4 +127,4 @@ endif() get_property(KOKKOS_PKG_SOURCES GLOBAL PROPERTY KOKKOS_PKG_SOURCES) target_sources(lammps PRIVATE ${KOKKOS_PKG_SOURCES}) -target_include_directories(lammps PRIVATE ${KOKKOS_PKG_SOURCES_DIR}) +target_include_directories(lammps PUBLIC ${KOKKOS_PKG_SOURCES_DIR}) From d3212029088cf6685a4561604fbf947540732dd6 Mon Sep 17 00:00:00 2001 From: Stan Moore Date: Tue, 17 Aug 2021 10:27:50 -0600 Subject: [PATCH 675/726] Add change from @junghans --- cmake/Modules/Packages/KOKKOS.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/Modules/Packages/KOKKOS.cmake b/cmake/Modules/Packages/KOKKOS.cmake index a557c42438..2a47881706 100644 --- a/cmake/Modules/Packages/KOKKOS.cmake +++ b/cmake/Modules/Packages/KOKKOS.cmake @@ -127,4 +127,4 @@ endif() get_property(KOKKOS_PKG_SOURCES GLOBAL PROPERTY KOKKOS_PKG_SOURCES) target_sources(lammps PRIVATE ${KOKKOS_PKG_SOURCES}) -target_include_directories(lammps PUBLIC ${KOKKOS_PKG_SOURCES_DIR}) +target_include_directories(lammps PUBLIC $) From 8b8cce4399d06d30193571ed936655d6d5c2f1de Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 17 Aug 2021 14:12:50 -0400 Subject: [PATCH 676/726] add unit test YAML file for DRIP pair style --- .../tests/manybody-pair-drip.yaml | 125 ++++++++++++++++++ 1 file changed, 125 insertions(+) create mode 100644 unittest/force-styles/tests/manybody-pair-drip.yaml diff --git a/unittest/force-styles/tests/manybody-pair-drip.yaml b/unittest/force-styles/tests/manybody-pair-drip.yaml new file mode 100644 index 0000000000..7a8966cac8 --- /dev/null +++ b/unittest/force-styles/tests/manybody-pair-drip.yaml @@ -0,0 +1,125 @@ +--- +lammps_version: 30 Jul 2021 +date_generated: Tue Aug 17 14:10:50 2021 +epsilon: 5e-14 +skip_tests: single +prerequisites: ! | + pair drip + atom full +pre_commands: ! | + variable newton_pair delete + variable newton_pair index on +post_commands: ! "" +input_file: in.bilayer +pair_style: hybrid/overlay drip +pair_coeff: ! | + * * drip C.drip C C C +extract: ! "" +natoms: 48 +init_vdwl: -1.1171061429439093 +init_coul: 0 +init_stress: ! |- + -6.9372049706365035e-01 -6.9064113154966333e-01 1.1515233668963607e+00 0.0 0.0 -1.4292420626121039e-02 +init_forces: ! |2 + 1 1.4969082430352958e-03 -3.2939836241196573e-05 -1.3240430862322900e-02 + 2 8.0767187286290179e-04 1.0588928659053852e-03 -3.1123566690577253e-02 + 3 -3.4497099855045673e-04 3.4248846132303140e-05 -1.0175437155229471e-02 + 4 -2.4589156252144417e-04 1.8156645561760292e-05 -2.9695125191752228e-02 + 5 1.4969082430352932e-03 -3.2939836241182343e-05 -1.3240430862323165e-02 + 6 8.0767187286288694e-04 1.0588928659049949e-03 -3.1123566690577420e-02 + 7 -3.4497099855038821e-04 3.4248846132523362e-05 -1.0175437155229110e-02 + 8 -2.4589156252142683e-04 1.8156645561707817e-05 -2.9695125191752388e-02 + 9 -1.3423014800966740e-04 7.4485503462573500e-08 -1.0127230298720345e-02 + 10 -1.2282979196216780e-04 -5.3179137282562149e-06 -2.9857221873835556e-02 + 11 1.3420646745295351e-04 7.2570324572774139e-08 -1.0127289412755367e-02 + 12 1.2281957667447806e-04 -5.2981576756526129e-06 -2.9857246714720800e-02 + 13 -1.3423014800966089e-04 7.4485503475472118e-08 -1.0127230298720606e-02 + 14 -1.2282979196215913e-04 -5.3179137286977698e-06 -2.9857221873835549e-02 + 15 1.3420646745295687e-04 7.2570324835217239e-08 -1.0127289412755180e-02 + 16 1.2281957667447502e-04 -5.2981576756378754e-06 -2.9857246714720957e-02 + 17 3.4500424726267094e-04 3.4247597717764226e-05 -1.0175497243327751e-02 + 18 2.4590943990438825e-04 1.8176873676577221e-05 -2.9695147824251051e-02 + 19 -1.4969178111888977e-03 -3.2939169475935731e-05 -1.3240431836380913e-02 + 20 -8.0767953495986997e-04 1.0588933379664879e-03 -3.1123564482199977e-02 + 21 3.4500424726266232e-04 3.4247597717770589e-05 -1.0175497243328002e-02 + 22 2.4590943990438212e-04 1.8176873676178533e-05 -2.9695147824251072e-02 + 23 -1.4969178111887745e-03 -3.2939169475980779e-05 -1.3240431836380712e-02 + 24 -8.0767953495988450e-04 1.0588933379664870e-03 -3.1123564482199943e-02 + 25 -3.4497099855045933e-04 -3.4248846132324567e-05 1.0175437155229457e-02 + 26 8.0767187286290309e-04 -1.0588928659053826e-03 3.1123566690577247e-02 + 27 1.4969082430351102e-03 3.2939836241083992e-05 1.3240430862322843e-02 + 28 -2.4589156252142509e-04 -1.8156645561688708e-05 2.9695125191752263e-02 + 29 -3.4497099855046193e-04 -3.4248846132538534e-05 1.0175437155229280e-02 + 30 8.0767187286257902e-04 -1.0588928659051909e-03 3.1123566690576712e-02 + 31 1.4969082430352915e-03 3.2939836241593784e-05 1.3240430862323165e-02 + 32 -2.4589156252143897e-04 -1.8156645561741183e-05 2.9695125191752519e-02 + 33 1.3420646745296197e-04 -7.2570324595813435e-08 1.0127289412755341e-02 + 34 -1.2282979196217170e-04 5.3179137282585121e-06 2.9857221873835549e-02 + 35 -1.3423014800966349e-04 -7.4485503448870201e-08 1.0127230298720332e-02 + 36 1.2281957667447611e-04 5.2981576756533134e-06 2.9857246714720946e-02 + 37 1.3420646745295709e-04 -7.2570324815599003e-08 1.0127289412755423e-02 + 38 -1.2282979196223502e-04 5.3179137282683716e-06 2.9857221873835008e-02 + 39 -1.3423014800966436e-04 -7.4485503047341829e-08 1.0127230298720473e-02 + 40 1.2281957667448912e-04 5.2981576756629069e-06 2.9857246714721068e-02 + 41 -1.4969178111890833e-03 3.2939169476025510e-05 1.3240431836380942e-02 + 42 2.4590943990438738e-04 -1.8176873676568727e-05 2.9695147824251211e-02 + 43 3.4500424726266921e-04 -3.4247597717747861e-05 1.0175497243327740e-02 + 44 -8.0767953495988342e-04 -1.0588933379665052e-03 3.1123564482200137e-02 + 45 -1.4969178111890772e-03 3.2939169475814605e-05 1.3240431836381151e-02 + 46 2.4590943990439947e-04 -1.8176873676638302e-05 2.9695147824250822e-02 + 47 3.4500424726267181e-04 -3.4247597717339300e-05 1.0175497243327872e-02 + 48 -8.0767953495988081e-04 -1.0588933379665191e-03 3.1123564482200175e-02 +run_vdwl: -1.117107802396835 +run_coul: 0 +run_stress: ! |- + -6.9372331738514981e-01 -6.9064389597684106e-01 1.1514755915204005e+00 0.0 0.0 -1.4292266024218578e-02 +run_forces: ! |2 + 1 1.4968783498999268e-03 -3.2942052376323016e-05 -1.3240066826206463e-02 + 2 8.0765258918550525e-04 1.0588876993623385e-03 -3.1122680612106914e-02 + 3 -3.4497601095719033e-04 3.4248722599748424e-05 -1.0175117216209249e-02 + 4 -2.4589406964898274e-04 1.8152777475380989e-05 -2.9694273916151235e-02 + 5 1.4968783498999624e-03 -3.2942052376244425e-05 -1.3240066826206844e-02 + 6 8.0765258918545808e-04 1.0588876993621239e-03 -3.1122680612107538e-02 + 7 -3.4497601095719900e-04 3.4248722599828465e-05 -1.0175117216209020e-02 + 8 -2.4589406964903478e-04 1.8152777475390449e-05 -2.9694273916151363e-02 + 9 -1.3423039571159017e-04 7.4352071961005858e-08 -1.0126910355491514e-02 + 10 -1.2282852371682442e-04 -5.3193547176900636e-06 -2.9856374341201718e-02 + 11 1.3420671579929917e-04 7.2436845184776077e-08 -1.0126969468728588e-02 + 12 1.2281830883230783e-04 -5.2995986749039537e-06 -2.9856399181457216e-02 + 13 -1.3423039571157673e-04 7.4352071584718248e-08 -1.0126910355491585e-02 + 14 -1.2282852371668521e-04 -5.3193547179922104e-06 -2.9856374341201371e-02 + 15 1.3420671579938970e-04 7.2436845150855372e-08 -1.0126969468727908e-02 + 16 1.2281830883232204e-04 -5.2995986749016624e-06 -2.9856399181457466e-02 + 17 3.4500925912102327e-04 3.4247474141055654e-05 -1.0175177303529336e-02 + 18 2.4591194664583894e-04 1.8173005537505662e-05 -2.9694296547973523e-02 + 19 -1.4968879181501723e-03 -3.2941385606868446e-05 -1.3240067800288987e-02 + 20 -8.0766025129906183e-04 1.0588881713794161e-03 -3.1122678403683279e-02 + 21 3.4500925912095290e-04 3.4247474141253548e-05 -1.0175177303529138e-02 + 22 2.4591194664620069e-04 1.8173005537513167e-05 -2.9694296547973627e-02 + 23 -1.4968879181501166e-03 -3.2941385606789733e-05 -1.3240067800288646e-02 + 24 -8.0766025129901347e-04 1.0588881713797244e-03 -3.1122678403683594e-02 + 25 -3.4497543410367832e-04 -3.4248542243049007e-05 1.0175095227569254e-02 + 26 8.0765525409005174e-04 -1.0588882853031821e-03 3.1122706902410268e-02 + 27 1.4968776819200879e-03 3.2942887158314040e-05 1.3240038417764373e-02 + 28 -2.4589307728119323e-04 -1.8153131107501511e-05 2.9694296702257997e-02 + 29 -3.4497543410356470e-04 -3.4248542242962311e-05 1.0175095227569283e-02 + 30 8.0765525408991665e-04 -1.0588882853032810e-03 3.1122706902410369e-02 + 31 1.4968776819200670e-03 3.2942887158584385e-05 1.3240038417764520e-02 + 32 -2.4589307728105619e-04 -1.8153131107580197e-05 2.9694296702258274e-02 + 33 1.3420649407712329e-04 -7.2457679971971299e-08 1.0126947778852728e-02 + 34 -1.2282857182875856e-04 5.3192999898934757e-06 2.9856397351700922e-02 + 35 -1.3423017399030691e-04 -7.4372916307303659e-08 1.0126888665729796e-02 + 36 1.2281835687551147e-04 5.2995439452943477e-06 2.9856422192021229e-02 + 37 1.3420649407688346e-04 -7.2457680016867857e-08 1.0126947778853273e-02 + 38 -1.2282857182861024e-04 5.3192999901346361e-06 2.9856397351700859e-02 + 39 -1.3423017399036286e-04 -7.4372916328267513e-08 1.0126888665730093e-02 + 40 1.2281835687550854e-04 5.2995439452834599e-06 2.9856422192021292e-02 + 41 -1.4968872501543050e-03 3.2942220392413755e-05 1.3240039391837519e-02 + 42 2.4591095432896623e-04 -1.8173359176526104e-05 2.9694319334136906e-02 + 43 3.4500868225182334e-04 -3.4247293770650532e-05 1.0175155314768796e-02 + 44 -8.0766291618553391e-04 -1.0588887573257195e-03 3.1122704693977713e-02 + 45 -1.4968872501544524e-03 3.2942220392554349e-05 1.3240039391837150e-02 + 46 2.4591095432885027e-04 -1.8173359176560751e-05 2.9694319334136628e-02 + 47 3.4500868225184405e-04 -3.4247293770696435e-05 1.0175155314768848e-02 + 48 -8.0766291618553099e-04 -1.0588887573256150e-03 3.1122704693978008e-02 +... From 6d53cd1986cf604dda5cbfc31f13dbc854747d74 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 17 Aug 2021 14:50:15 -0400 Subject: [PATCH 677/726] refactor potential file reader in pair style drip --- src/INTERLAYER/pair_drip.cpp | 268 +++++++++++++++-------------------- src/INTERLAYER/pair_drip.h | 5 +- 2 files changed, 119 insertions(+), 154 deletions(-) diff --git a/src/INTERLAYER/pair_drip.cpp b/src/INTERLAYER/pair_drip.cpp index 71281623ac..12af4eb9c8 100644 --- a/src/INTERLAYER/pair_drip.cpp +++ b/src/INTERLAYER/pair_drip.cpp @@ -31,6 +31,8 @@ #include "neigh_list.h" #include "neigh_request.h" #include "neighbor.h" +#include "potential_file_reader.h" +#include "tokenizer.h" #include #include @@ -94,11 +96,11 @@ void PairDRIP::init_style() void PairDRIP::allocate() { allocated = 1; - int n = atom->ntypes; + int n = atom->ntypes+1; - memory->create(setflag,n+1,n+1,"pair:setflag"); - memory->create(cutsq,n+1,n+1,"pair:cutsq"); - map = new int[n+1]; + memory->create(setflag,n,n,"pair:setflag"); + memory->create(cutsq,n,n,"pair:cutsq"); + map = new int[n]; } /* ---------------------------------------------------------------------- @@ -150,129 +152,92 @@ double PairDRIP::init_one(int i, int j) void PairDRIP::read_file(char *filename) { - int params_per_line = 15; - char **words = new char*[params_per_line+1]; memory->sfree(params); - int nparams = 0; - int maxparam = 0; + params = nullptr; + nparams = maxparam = 0; // open file on proc 0 - FILE *fp; if (comm->me == 0) { - fp = utils::open_potential(filename,lmp,nullptr); - if (fp == nullptr) - error->one(FLERR,"Cannot open DRIP potential file {}: {}",filename,utils::getsyserror()); - } + PotentialFileReader reader(lmp, filename, "drip", unit_convert_flag); + char *line; - // read each line out of file, skipping blank lines or leading '#' - // store line of params if all 3 element tags are in element list + while ((line = reader.next_line(NPARAMS_PER_LINE))) { - int i,j,n,m,nwords,ielement,jelement; - char line[MAXLINE],*ptr; - int eof = 0; + try { + ValueTokenizer values(line); - while (1) { - if (comm->me == 0) { - ptr = fgets(line,MAXLINE,fp); - if (ptr == nullptr) { - eof = 1; - fclose(fp); - } else n = strlen(line) + 1; - } - MPI_Bcast(&eof,1,MPI_INT,0,world); - if (eof) break; - MPI_Bcast(&n,1,MPI_INT,0,world); - MPI_Bcast(line,n,MPI_CHAR,0,world); + std::string iname = values.next_string(); + std::string jname = values.next_string(); - // strip comment, skip line if blank + // ielement,jelement = 1st args + // if both args are in element list, then parse this line + // else skip to next entry in file + int ielement, jelement; - if ((ptr = strchr(line,'#'))) *ptr = '\0'; - nwords = utils::count_words(line); - if (nwords == 0) continue; + for (ielement = 0; ielement < nelements; ielement++) + if (iname == elements[ielement]) break; + if (ielement == nelements) continue; + for (jelement = 0; jelement < nelements; jelement++) + if (jname == elements[jelement]) break; + if (jelement == nelements) continue; - // concatenate additional lines until have params_per_line words + // expand storage, if needed - while (nwords < params_per_line) { - n = strlen(line); - if (comm->me == 0) { - ptr = fgets(&line[n],MAXLINE-n,fp); - if (ptr == nullptr) { - eof = 1; - fclose(fp); - } else n = strlen(line) + 1; + if (nparams == maxparam) { + maxparam += DELTA; + params = (Param *) memory->srealloc(params,maxparam*sizeof(Param), "pair:params"); + + // make certain all addional allocated storage is initialized + // to avoid false positives when checking with valgrind + + memset(params + nparams, 0, DELTA*sizeof(Param)); + } + + params[nparams].ielement = ielement; + params[nparams].jelement = jelement; + params[nparams].C0 = values.next_double(); + params[nparams].C2 = values.next_double(); + params[nparams].C4 = values.next_double(); + params[nparams].C = values.next_double(); + params[nparams].delta = values.next_double(); + params[nparams].lambda = values.next_double(); + params[nparams].A = values.next_double(); + params[nparams].z0 = values.next_double(); + params[nparams].B = values.next_double(); + params[nparams].eta = values.next_double(); + params[nparams].rhocut = values.next_double(); + params[nparams].rcut = values.next_double(); + params[nparams].ncut = values.next_double(); + + } catch (TokenizerException &e) { + error->one(FLERR, e.what()); } - MPI_Bcast(&eof,1,MPI_INT,0,world); - if (eof) break; - MPI_Bcast(&n,1,MPI_INT,0,world); - MPI_Bcast(line,n,MPI_CHAR,0,world); - if ((ptr = strchr(line,'#'))) *ptr = '\0'; - nwords = utils::count_words(line); + + // convenient precomputations + params[nparams].rhocutsq = params[nparams].rhocut * params[nparams].rhocut; + params[nparams].rcutsq = params[nparams].rcut * params[nparams].rcut; + params[nparams].ncutsq = params[nparams].ncut * params[nparams].ncut; + + nparams++; } - if (nwords != params_per_line) - error->all(FLERR,"Insufficient format in DRIP potential file"); + MPI_Bcast(&nparams, 1, MPI_INT, 0, world); + MPI_Bcast(&maxparam, 1, MPI_INT, 0, world); - // words = ptrs to all words in line - - nwords = 0; - words[nwords++] = strtok(line," \t\n\r\f"); - while ((words[nwords++] = strtok(nullptr," \t\n\r\f"))) continue; - - // ielement,jelement = 1st args - // if these 2 args are in element list, then parse this line - // else skip to next line (continue) - - for (ielement = 0; ielement < nelements; ielement++) - if (strcmp(words[0],elements[ielement]) == 0) break; - if (ielement == nelements) continue; - for (jelement = 0; jelement < nelements; jelement++) - if (strcmp(words[1],elements[jelement]) == 0) break; - if (jelement == nelements) continue; - - // load up parameter settings and error check their values - - if (nparams == maxparam) { - maxparam += DELTA; - params = (Param *) memory->srealloc(params,maxparam*sizeof(Param), - "pair:params"); - - // make certain all addional allocated storage is initialized - // to avoid false positives when checking with valgrind - - memset(params + nparams, 0, DELTA*sizeof(Param)); + if (comm->me != 0) { + params = (Param *) memory->srealloc(params,maxparam*sizeof(Param), "pair:params"); } - params[nparams].ielement = ielement; - params[nparams].jelement = jelement; - params[nparams].C0 = atof(words[2]); - params[nparams].C2 = atof(words[3]); - params[nparams].C4 = atof(words[4]); - params[nparams].C = atof(words[5]); - params[nparams].delta = atof(words[6]); - params[nparams].lambda = atof(words[7]); - params[nparams].A = atof(words[8]); - params[nparams].z0 = atof(words[9]); - params[nparams].B = atof(words[10]); - params[nparams].eta = atof(words[11]); - params[nparams].rhocut = atof(words[12]); - params[nparams].rcut = atof(words[13]); - params[nparams].ncut = atof(words[14]); - - // convenient precomputations - params[nparams].rhocutsq = params[nparams].rhocut * params[nparams].rhocut; - params[nparams].rcutsq = params[nparams].rcut * params[nparams].rcut; - params[nparams].ncutsq = params[nparams].ncut * params[nparams].ncut; - - nparams++; + MPI_Bcast(params, maxparam*sizeof(Param), MPI_BYTE, 0, world); } memory->destroy(elem2param); memory->create(elem2param,nelements,nelements,"pair:elem2param"); - for (i = 0; i < nelements; i++) { - for (j = 0; j < nelements; j++) { - n = -1; - for (m = 0; m < nparams; m++) { + for (int i = 0; i < nelements; i++) { + for (int j = 0; j < nelements; j++) { + int n = -1; + for (int m = 0; m < nparams; m++) { if (i == params[m].ielement && j == params[m].jelement) { if (n >= 0) error->all(FLERR,"Potential file has duplicate entry"); n = m; @@ -282,7 +247,6 @@ void PairDRIP::read_file(char *filename) elem2param[i][j] = n; } } - delete [] words; } /* ---------------------------------------------------------------------- */ @@ -293,9 +257,9 @@ void PairDRIP::compute(int eflag, int vflag) double xtmp,ytmp,ztmp,delx,dely,delz,evdwl,rsq; int *ilist,*jlist,*numneigh,**firstneigh; - double ni[DIM]; - double dni_dri[DIM][DIM], dni_drnb1[DIM][DIM]; - double dni_drnb2[DIM][DIM], dni_drnb3[DIM][DIM]; + double ni[3]; + double dni_dri[3][3], dni_drnb1[3][3]; + double dni_drnb2[3][3], dni_drnb3[3][3]; ev_init(eflag,vflag); @@ -327,7 +291,7 @@ void PairDRIP::compute(int eflag, int vflag) // normal and its derivatives w.r.t. atom i and its 3 nearest neighbors calc_normal(i, ni, dni_dri,dni_drnb1, dni_drnb2, dni_drnb3); - double fi[DIM] = {0., 0., 0.}; + double fi[3] = {0., 0., 0.}; for (jj = 0; jj < jnum; jj++) { j = jlist[jj]; @@ -348,8 +312,8 @@ void PairDRIP::compute(int eflag, int vflag) // only include the interaction between different layers if (rsq < rcutsq && atom->molecule[i] != atom->molecule[j]) { - double fj[DIM] = {0., 0., 0.}; - double rvec[DIM] = {delx, dely, delz}; + double fj[3] = {0., 0., 0.}; + double rvec[3] = {delx, dely, delz}; double phi_attr = calc_attractive(p, rsq, rvec, fi, fj); @@ -441,12 +405,12 @@ double PairDRIP::calc_repulsive(int const i, int const j, Param& p, int nbj2 = nearest3neigh[j][1]; int nbj3 = nearest3neigh[j][2]; - double fnbi1[DIM]; - double fnbi2[DIM]; - double fnbi3[DIM]; - double fnbj1[DIM]; - double fnbj2[DIM]; - double fnbj3[DIM]; + double fnbi1[3]; + double fnbi2[3]; + double fnbi3[3]; + double fnbj1[3]; + double fnbj2[3]; + double fnbj3[3]; V3 dgij_dri; V3 dgij_drj; V3 dgij_drk1; @@ -490,7 +454,7 @@ double PairDRIP::calc_repulsive(int const i, int const j, Param& p, // total energy double phi = tp * V1 * V2; - for (int k = 0; k < DIM; k++) { + for (int k = 0; k < 3; k++) { // forces due to derivatives of tap and V1 double tmp = HALF * (dtp * V1 + tp * dV1) * V2 * rvec[k] / r; fi[k] += tmp; @@ -511,7 +475,7 @@ double PairDRIP::calc_repulsive(int const i, int const j, Param& p, fnbj3[k] = -HALF * tp * V1 * dgij_drl3[k]; } - for (int k = 0; k < DIM; k++) { + for (int k = 0; k < 3; k++) { f[nbi1][k] += fnbi1[k]; f[nbi2][k] += fnbi2[k]; f[nbi3][k] += fnbi3[k]; @@ -650,8 +614,8 @@ void PairDRIP::calc_normal(int const i, double *const normal, int k3 = nearest3neigh[i][2]; // normal does not depend on i, setting to zero - for (int j = 0; j < DIM; j++) { - for (int k = 0; k < DIM; k++) { + for (int j = 0; j < 3; j++) { + for (int k = 0; k < 3; k++) { dn_dri[j][k] = 0.0; } } @@ -671,10 +635,10 @@ void PairDRIP::get_drhosqij(double const *rij, double const *ni, { int k; double ni_dot_rij = 0; - double dni_dri_dot_rij[DIM]; - double dni_drn1_dot_rij[DIM]; - double dni_drn2_dot_rij[DIM]; - double dni_drn3_dot_rij[DIM]; + double dni_dri_dot_rij[3]; + double dni_drn1_dot_rij[3]; + double dni_drn2_dot_rij[3]; + double dni_drn3_dot_rij[3]; ni_dot_rij = dot(ni, rij); mat_dot_vec(dni_dri, rij, dni_dri_dot_rij); @@ -682,7 +646,7 @@ void PairDRIP::get_drhosqij(double const *rij, double const *ni, mat_dot_vec(dni_drn2, rij, dni_drn2_dot_rij); mat_dot_vec(dni_drn3, rij, dni_drn3_dot_rij); - for (k = 0; k < DIM; k++) { + for (k = 0; k < 3; k++) { drhosq_dri[k] = -2*rij[k] - 2 * ni_dot_rij * (-ni[k] + dni_dri_dot_rij[k]); drhosq_drj[k] = 2 * rij[k] - 2 * ni_dot_rij * ni[k]; drhosq_drn1[k] = -2 * ni_dot_rij * dni_drn1_dot_rij[k]; @@ -736,14 +700,14 @@ double PairDRIP::dihedral(const int i, const int j, Param& p, // local vars double cos_kl[3][3]; // cos_omega_k1ijl1, cos_omega_k1ijl2 ... double d_dcos_kl[3][3]; // deriv of dihedral w.r.t to cos_omega_kijl - double dcos_kl[3][3][4][DIM]; // 4 indicates k, i, j, l. e.g. dcoskl[0][1][0] + double dcos_kl[3][3][4][3]; // 4 indicates k, i, j, l. e.g. dcoskl[0][1][0] // means dcos_omega_k1ijl2 / drk // if larger than cutoff of rho, return 0 if (rhosq >= cut_rhosq) { d_drhosq = 0; - for (int dim = 0; dim < DIM; dim++) { + for (int dim = 0; dim < 3; dim++) { d_dri[dim] = 0; d_drj[dim] = 0; d_drk1[dim] = 0; @@ -800,7 +764,7 @@ double PairDRIP::dihedral(const int i, const int j, Param& p, d_dcos_kl[2][2] = -D0 * epart3 * eta * cos_kl[2][0] * cos_kl[2][1]; // initialization to be zero and later add values - for (int dim = 0; dim < DIM; dim++) { + for (int dim = 0; dim < 3; dim++) { d_drk1[dim] = 0.; d_drk2[dim] = 0.; d_drk3[dim] = 0.; @@ -839,16 +803,16 @@ double PairDRIP::deriv_cos_omega(double const *rk, double const *ri, double const *rj, double const *rl, double *const dcos_drk, double *const dcos_dri, double *const dcos_drj, double *const dcos_drl) { - double ejik[DIM]; - double eijl[DIM]; - double tmp1[DIM]; - double tmp2[DIM]; - double dejik_dri[DIM][DIM]; - double dejik_drj[DIM][DIM]; - double dejik_drk[DIM][DIM]; - double deijl_dri[DIM][DIM]; - double deijl_drj[DIM][DIM]; - double deijl_drl[DIM][DIM]; + double ejik[3]; + double eijl[3]; + double tmp1[3]; + double tmp2[3]; + double dejik_dri[3][3]; + double dejik_drj[3][3]; + double dejik_drk[3][3]; + double deijl_dri[3][3]; + double deijl_drj[3][3]; + double deijl_drl[3][3]; // ejik and derivatives @@ -857,9 +821,9 @@ double PairDRIP::deriv_cos_omega(double const *rk, double const *ri, // flip sign // deriv_cross computes rij cross rik, here we need rji cross rik - for (int m = 0; m < DIM; m++) { + for (int m = 0; m < 3; m++) { ejik[m] = -ejik[m]; - for (int n = 0; n < DIM; n++) { + for (int n = 0; n < 3; n++) { dejik_dri[m][n] = -dejik_dri[m][n]; dejik_drj[m][n] = -dejik_drj[m][n]; dejik_drk[m][n] = -dejik_drk[m][n]; @@ -869,9 +833,9 @@ double PairDRIP::deriv_cos_omega(double const *rk, double const *ri, // eijl and derivatives deriv_cross(rj, ri, rl, eijl, deijl_drj, deijl_dri, deijl_drl); // flip sign - for (int m = 0; m < DIM; m++) { + for (int m = 0; m < 3; m++) { eijl[m] = -eijl[m]; - for (int n = 0; n < DIM; n++) { + for (int n = 0; n < 3; n++) { deijl_drj[m][n] = -deijl_drj[m][n]; deijl_dri[m][n] = -deijl_dri[m][n]; deijl_drl[m][n] = -deijl_drl[m][n]; @@ -883,13 +847,13 @@ double PairDRIP::deriv_cos_omega(double const *rk, double const *ri, // dcos_dri mat_dot_vec(dejik_dri, eijl, tmp1); mat_dot_vec(deijl_dri, ejik, tmp2); - for (int m = 0; m < DIM; m++) { + for (int m = 0; m < 3; m++) { dcos_dri[m] = tmp1[m] + tmp2[m]; } // dcos_drj mat_dot_vec(dejik_drj, eijl, tmp1); mat_dot_vec(deijl_drj, ejik, tmp2); - for (int m = 0; m < DIM; m++) { + for (int m = 0; m < 3; m++) { dcos_drj[m] = tmp1[m] + tmp2[m]; } // dcos drl @@ -952,9 +916,9 @@ void PairDRIP::deriv_cross(double const *rk, double const *rl, double const *rm, double *const cross, V3 *const dcross_drk, V3 *const dcross_drl, V3 *const dcross_drm) { - double x[DIM]; - double y[DIM]; - double p[DIM]; + double x[3]; + double y[3]; + double p[3]; double q; double q_cubic; double d_invq_d_x0; @@ -968,7 +932,7 @@ void PairDRIP::deriv_cross(double const *rk, double const *rl, // get x = rkl and y = rkm - for (i = 0; i < DIM; i++) { + for (i = 0; i < 3; i++) { x[i] = rl[i] - rk[i]; y[i] = rm[i] - rk[i]; } @@ -1022,8 +986,8 @@ void PairDRIP::deriv_cross(double const *rk, double const *rl, dcross_drm[2][2] = p[2] * d_invq_d_y2; // dcross/drk transposed - for (i = 0; i < DIM; i++) { - for (j = 0; j < DIM; j++) { + for (i = 0; i < 3; i++) { + for (j = 0; j < 3; j++) { dcross_drk[i][j] = -(dcross_drl[i][j] + dcross_drm[i][j]); } } diff --git a/src/INTERLAYER/pair_drip.h b/src/INTERLAYER/pair_drip.h index bd719e0b57..cd385e720a 100644 --- a/src/INTERLAYER/pair_drip.h +++ b/src/INTERLAYER/pair_drip.h @@ -33,8 +33,6 @@ PairStyle(drip, PairDRIP); namespace LAMMPS_NS { -#define DIM 3 -typedef double V3[3]; class PairDRIP : public Pair { public: @@ -47,7 +45,10 @@ class PairDRIP : public Pair { double init_one(int, int); void init_style(); + static constexpr int NPARAMS_PER_LINE = 15; + protected: + typedef double V3[3]; struct Param { int ielement, jelement; double C0, C2, C4, C, delta, lambda, A, z0, B, eta, rhocut, rcut, ncut; From 4f9941e18daa2300d706cc1299db52598746343d Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 17 Aug 2021 15:05:23 -0400 Subject: [PATCH 678/726] support metal2real unit conversion in pair style drip --- potentials/C.drip | 6 +- src/INTERLAYER/pair_drip.cpp | 15 +++ .../tests/manybody-pair-drip_real.yaml | 126 ++++++++++++++++++ 3 files changed, 142 insertions(+), 5 deletions(-) create mode 100644 unittest/force-styles/tests/manybody-pair-drip_real.yaml diff --git a/potentials/C.drip b/potentials/C.drip index 435efe40a9..afde83a786 100644 --- a/potentials/C.drip +++ b/potentials/C.drip @@ -1,15 +1,11 @@ -# DATE: 2019-04-19 CONTRIBUTOR: Mingjian Wen, wenxx151@umn.edu +# DATE: 2019-04-19 UNITS: metal CONTRIBUTOR: Mingjian Wen, wenxx151@umn.edu CITATION: Wen, Carr, Fang, Kaxiras, Tadmor, Phys. Rev. B, 98, 235404 (2018). # # Parameters of the Dihedral-angle-corrected registry-dependent interlayer (DRIP) # potential for multilayer graphene structures. -# -# Cite as M. Wen, S. Carr, S. Fang, E. Kaxiras, and E. B. Tadmor, Phys. Rev. B, 98, 235404 (2018). - # C0 C2 C4 C delta lambda A z0 B eta rho_cut r_cut normal_cut C C 1.1598e-02 1.2981e-02 3.2515e-02 7.8151e-03 8.3679e-01 2.7158 2.2216e-02 3.34 7.6799e-03 1.1432 1.562 12.0 3.7 - # C0, C2, C4, C, A, and B in [eV] # delta, z0, eta, rho_cut, r_cut, and normal_cut in [Angstrom] # lambda in [1/Angstrom] diff --git a/src/INTERLAYER/pair_drip.cpp b/src/INTERLAYER/pair_drip.cpp index 12af4eb9c8..b1e877e3ee 100644 --- a/src/INTERLAYER/pair_drip.cpp +++ b/src/INTERLAYER/pair_drip.cpp @@ -51,6 +51,7 @@ PairDRIP::PairDRIP(LAMMPS *lmp) : Pair(lmp) restartinfo = 0; manybody_flag = 1; centroidstressflag = CENTROID_NOTAVAIL; + unit_convert_flag = utils::get_supported_conversions(utils::ENERGY); params = nullptr; nearest3neigh = nullptr; @@ -162,6 +163,11 @@ void PairDRIP::read_file(char *filename) PotentialFileReader reader(lmp, filename, "drip", unit_convert_flag); char *line; + // transparently convert units for supported conversions + + int unit_convert = reader.get_unit_convert(); + double conversion_factor = utils::get_conversion_factor(utils::ENERGY, unit_convert); + while ((line = reader.next_line(NPARAMS_PER_LINE))) { try { @@ -214,6 +220,15 @@ void PairDRIP::read_file(char *filename) error->one(FLERR, e.what()); } + if (unit_convert) { + params[nparams].C0 *= conversion_factor; + params[nparams].C2 *= conversion_factor; + params[nparams].C4 *= conversion_factor; + params[nparams].C *= conversion_factor; + params[nparams].A *= conversion_factor; + params[nparams].B *= conversion_factor; + } + // convenient precomputations params[nparams].rhocutsq = params[nparams].rhocut * params[nparams].rhocut; params[nparams].rcutsq = params[nparams].rcut * params[nparams].rcut; diff --git a/unittest/force-styles/tests/manybody-pair-drip_real.yaml b/unittest/force-styles/tests/manybody-pair-drip_real.yaml new file mode 100644 index 0000000000..1f8ff8929c --- /dev/null +++ b/unittest/force-styles/tests/manybody-pair-drip_real.yaml @@ -0,0 +1,126 @@ +--- +lammps_version: 30 Jul 2021 +date_generated: Tue Aug 17 14:58:02 2021 +epsilon: 1e-13 +skip_tests: single +prerequisites: ! | + pair drip + atom full +pre_commands: ! | + variable newton_pair delete + variable newton_pair index on + variable units index real +post_commands: ! "" +input_file: in.bilayer +pair_style: hybrid/overlay drip +pair_coeff: ! | + * * drip C.drip C C C +extract: ! "" +natoms: 48 +init_vdwl: -25.761080947558458 +init_coul: 0 +init_stress: ! |- + -1.5997575514840701e+01 -1.5926563655516432e+01 2.6554761026958538e+01 0.0 0.0 -3.2959106617730394e-01 +init_forces: ! |2 + 1 3.4519525887018621e-02 -7.5961070769214878e-04 -3.0533160468170939e-01 + 2 1.8625356800076362e-02 2.4418650819961668e-02 -7.1772653472282411e-01 + 3 -7.9552206156518063e-03 7.8979719442743949e-04 -2.3465116711459008e-01 + 4 -5.6703944262123662e-03 4.1870221465274693e-04 -6.8478588954553776e-01 + 5 3.4519525887018870e-02 -7.5961070769172225e-04 -3.0533160468171572e-01 + 6 1.8625356800076116e-02 2.4418650819952412e-02 -7.1772653472282877e-01 + 7 -7.9552206156503213e-03 7.8979719443244851e-04 -2.3465116711458173e-01 + 8 -5.6703944262118111e-03 4.1870221465155517e-04 -6.8478588954554198e-01 + 9 -3.0954209054540674e-03 1.7176766023297568e-06 -2.3353949053792569e-01 + 10 -2.8325224362034315e-03 -1.2263401010803219e-04 -6.8852392802545803e-01 + 11 3.0948748188155822e-03 1.6735115258234307e-06 -2.3354085374002706e-01 + 12 2.8322868660610179e-03 -1.2217842468890391e-04 -6.8852450086990813e-01 + 13 -3.0954209054540466e-03 1.7176766026706842e-06 -2.3353949053793166e-01 + 14 -2.8325224362032025e-03 -1.2263401011821111e-04 -6.8852392802545703e-01 + 15 3.0948748188158390e-03 1.6735115316409009e-06 -2.3354085374002267e-01 + 16 2.8322868660610422e-03 -1.2217842468845727e-04 -6.8852450086991235e-01 + 17 7.9559873492091142e-03 7.8976840530281534e-04 -2.3465255277912508e-01 + 18 5.6708066884776521e-03 4.1916868608569068e-04 -6.8478641146338481e-01 + 19 -3.4519746533893940e-02 -7.5959533171951130e-04 -3.0533162714402262e-01 + 20 -1.8625533492238975e-02 2.4418661705949665e-02 -7.1772648379643234e-01 + 21 7.9559873492090170e-03 7.8976840530288451e-04 -2.3465255277913122e-01 + 22 5.6708066884775948e-03 4.1916868607656490e-04 -6.8478641146338504e-01 + 23 -3.4519746533890970e-02 -7.5959533171988253e-04 -3.0533162714401807e-01 + 24 -1.8625533492239343e-02 2.4418661705949762e-02 -7.1772648379643167e-01 + 25 -7.9552206156520144e-03 -7.8979719442783024e-04 2.3465116711458947e-01 + 26 1.8625356800076404e-02 -2.4418650819961502e-02 7.1772653472282488e-01 + 27 3.4519525887014679e-02 7.5961070768970737e-04 3.0533160468170817e-01 + 28 -5.6703944262120054e-03 -4.1870221465108506e-04 6.8478588954553898e-01 + 29 -7.9552206156520144e-03 -7.8979719443283481e-04 2.3465116711458581e-01 + 30 1.8625356800069229e-02 -2.4418650819957533e-02 7.1772653472281345e-01 + 31 3.4519525887018704e-02 7.5961070770124480e-04 3.0533160468171566e-01 + 32 -5.6703944262122274e-03 -4.1870221465243294e-04 6.8478588954554442e-01 + 33 3.0948748188157731e-03 -1.6735115261055401e-06 2.3354085374002662e-01 + 34 -2.8325224362035009e-03 1.2263401010814570e-04 6.8852392802545770e-01 + 35 -3.0954209054540674e-03 -1.7176766021075496e-06 2.3353949053792544e-01 + 36 2.8322868660609277e-03 1.2217842468872730e-04 6.8852450086991090e-01 + 37 3.0948748188157002e-03 -1.6735115312395288e-06 2.3354085374002845e-01 + 38 -2.8325224362050205e-03 1.2263401010865604e-04 6.8852392802544404e-01 + 39 -3.0954209054541784e-03 -1.7176765926834780e-06 2.3353949053792869e-01 + 40 2.8322868660613752e-03 1.2217842468919974e-04 6.8852450086991468e-01 + 41 -3.4519746533897999e-02 7.5959533172142307e-04 3.0533162714402334e-01 + 42 5.6708066884776503e-03 -4.1916868608571941e-04 6.8478641146338692e-01 + 43 7.9559873492091281e-03 -7.8976840530235466e-04 2.3465255277912495e-01 + 44 -1.8625533492239322e-02 -2.4418661705950095e-02 7.1772648379643567e-01 + 45 -3.4519746533897937e-02 7.5959533171621586e-04 3.0533162714402778e-01 + 46 5.6708066884779687e-03 -4.1916868608703228e-04 6.8478641146337782e-01 + 47 7.9559873492089893e-03 -7.8976840529313373e-04 2.3465255277912772e-01 + 48 -1.8625533492239322e-02 -2.4418661705950414e-02 7.1772648379643678e-01 +run_vdwl: -25.76108094759681 +run_coul: 0 +run_stress: ! |- + -1.5997575514905400e+01 -1.5926563655580109e+01 2.6554761025857829e+01 0.0 0.0 -3.2959106617393824e-01 +run_forces: ! |2 + 1 3.4519525886308772e-02 -7.5961070774262620e-04 -3.0533160467333686e-01 + 2 1.8625356799616053e-02 2.4418650819844623e-02 -7.1772653470240710e-01 + 3 -7.9552206157541827e-03 7.8979719442180435e-04 -2.3465116710721118e-01 + 4 -5.6703944262564421e-03 4.1870221456883055e-04 -6.8478588952590880e-01 + 5 3.4519525886310021e-02 -7.5961070774873795e-04 -3.0533160467333753e-01 + 6 1.8625356799618166e-02 2.4418650819839099e-02 -7.1772653470240300e-01 + 7 -7.9552206157587901e-03 7.8979719441955800e-04 -2.3465116710720937e-01 + 8 -5.6703944262596895e-03 4.1870221457031374e-04 -6.8478588952590624e-01 + 9 -3.0954209054729134e-03 1.7176766005387110e-06 -2.3353949053056158e-01 + 10 -2.8325224361802070e-03 -1.2263401013539680e-04 -6.8852392800592355e-01 + 11 3.0948748188260634e-03 1.6735115258329308e-06 -2.3354085373267006e-01 + 12 2.8322868660322353e-03 -1.2217842471453093e-04 -6.8852450085037853e-01 + 13 -3.0954209054753073e-03 1.7176766069530950e-06 -2.3353949053056008e-01 + 14 -2.8325224361808454e-03 -1.2263401013228948e-04 -6.8852392800592477e-01 + 15 3.0948748188205331e-03 1.6735115311816390e-06 -2.3354085373266414e-01 + 16 2.8322868660327627e-03 -1.2217842471338395e-04 -6.8852450085039274e-01 + 17 7.9559873493214514e-03 7.8976840529372907e-04 -2.3465255277175306e-01 + 18 5.6708066885325613e-03 4.1916868600858607e-04 -6.8478641144376085e-01 + 19 -3.4519746533186305e-02 -7.5959533177047444e-04 -3.0533162713566037e-01 + 20 -1.8625533491780335e-02 2.4418661705826062e-02 -7.1772648377602155e-01 + 21 7.9559873493208408e-03 7.8976840529406105e-04 -2.3465255277176264e-01 + 22 5.6708066885322672e-03 4.1916868600612250e-04 -6.8478641144375973e-01 + 23 -3.4519746533190690e-02 -7.5959533177689758e-04 -3.0533162713565520e-01 + 24 -1.8625533491779738e-02 2.4418661705826118e-02 -7.1772648377601034e-01 + 25 -7.9552206157391669e-03 -7.8979719442920414e-04 2.3465116710670758e-01 + 26 1.8625356799678291e-02 -2.4418650819855600e-02 7.1772653470301284e-01 + 27 3.4519525886291424e-02 7.5961070776537666e-04 3.0533160467268600e-01 + 28 -5.6703944262409822e-03 -4.1870221457090788e-04 6.8478588952643626e-01 + 29 -7.9552206157410682e-03 -7.8979719442770382e-04 2.3465116710671441e-01 + 30 1.8625356799682243e-02 -2.4418650819853061e-02 7.1772653470300518e-01 + 31 3.4519525886292479e-02 7.5961070776900104e-04 3.0533160467267750e-01 + 32 -5.6703944262390393e-03 -4.1870221457093217e-04 6.8478588952643404e-01 + 33 3.0948748188169527e-03 -1.6735115285445503e-06 2.3354085373217337e-01 + 34 -2.8325224361862578e-03 1.2263401013536189e-04 6.8852392800645301e-01 + 35 -3.0954209054732881e-03 -1.7176766016382667e-06 2.3353949053006548e-01 + 36 2.8322868660402949e-03 1.2217842471530459e-04 6.8852450085089545e-01 + 37 3.0948748188168972e-03 -1.6735115254575963e-06 2.3354085373216871e-01 + 38 -2.8325224361834475e-03 1.2263401013282052e-04 6.8852392800645179e-01 + 39 -3.0954209054684656e-03 -1.7176766061726881e-06 2.3353949053006878e-01 + 40 2.8322868660383624e-03 1.2217842471120666e-04 6.8852450085090100e-01 + 41 -3.4519746533171393e-02 7.5959533179549132e-04 3.0533162713500450e-01 + 42 5.6708066885105355e-03 -4.1916868600979897e-04 6.8478641144428143e-01 + 43 7.9559873493117838e-03 -7.8976840530148860e-04 2.3465255277124522e-01 + 44 -1.8625533491841401e-02 -2.4418661705844322e-02 7.1772648377662540e-01 + 45 -3.4519746533172420e-02 7.5959533179765766e-04 3.0533162713500039e-01 + 46 5.6708066885161846e-03 -4.1916868600924408e-04 6.8478641144429175e-01 + 47 7.9559873493104671e-03 -7.8976840529732212e-04 2.3465255277125016e-01 + 48 -1.8625533491844991e-02 -2.4418661705839853e-02 7.1772648377662085e-01 +... From 05bd545cd3f688f30388d18063b57b4309cbe91f Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 17 Aug 2021 15:10:46 -0400 Subject: [PATCH 679/726] flush tiny stresses to zero to avoid false positives when testing --- unittest/force-styles/test_pair_style.cpp | 4 ++++ unittest/force-styles/tests/manybody-pair-drip.yaml | 6 +++--- unittest/force-styles/tests/manybody-pair-drip_real.yaml | 6 +++--- .../force-styles/tests/manybody-pair-ilp-graphene-hbn.yaml | 6 +++--- .../tests/manybody-pair-ilp-graphene-hbn_notaper.yaml | 6 +++--- .../tests/manybody-pair-kolmogorov_crespi_full.yaml | 6 +++--- .../tests/manybody-pair-kolmogorov_crespi_full_notaper.yaml | 6 +++--- 7 files changed, 22 insertions(+), 18 deletions(-) diff --git a/unittest/force-styles/test_pair_style.cpp b/unittest/force-styles/test_pair_style.cpp index 23858f93b9..a14e568fb7 100644 --- a/unittest/force-styles/test_pair_style.cpp +++ b/unittest/force-styles/test_pair_style.cpp @@ -278,6 +278,8 @@ void generate_yaml_file(const char *outfile, const TestConfig &config) // init_stress auto stress = lmp->force->pair->virial; + // avoid false positives on tiny stresses. force to zero instead. + for (int i = 0; i < 6; ++i) if (fabs(stress[i]) < 1.0e-13) stress[i] = 0.0; block = fmt::format("{:23.16e} {:23.16e} {:23.16e} {:23.16e} {:23.16e} {:23.16e}", stress[0], stress[1], stress[2], stress[3], stress[4], stress[5]); writer.emit_block("init_stress", block); @@ -302,6 +304,8 @@ void generate_yaml_file(const char *outfile, const TestConfig &config) // run_stress stress = lmp->force->pair->virial; + // avoid false positives on tiny stresses. force to zero instead. + for (int i = 0; i < 6; ++i) if (fabs(stress[i]) < 1.0e-13) stress[i] = 0.0; block = fmt::format("{:23.16e} {:23.16e} {:23.16e} {:23.16e} {:23.16e} {:23.16e}", stress[0], stress[1], stress[2], stress[3], stress[4], stress[5]); writer.emit_block("run_stress", block); diff --git a/unittest/force-styles/tests/manybody-pair-drip.yaml b/unittest/force-styles/tests/manybody-pair-drip.yaml index 7a8966cac8..e5d4915c4d 100644 --- a/unittest/force-styles/tests/manybody-pair-drip.yaml +++ b/unittest/force-styles/tests/manybody-pair-drip.yaml @@ -1,6 +1,6 @@ --- lammps_version: 30 Jul 2021 -date_generated: Tue Aug 17 14:10:50 2021 +date_generated: Tue Aug 17 15:09:48 2021 epsilon: 5e-14 skip_tests: single prerequisites: ! | @@ -19,7 +19,7 @@ natoms: 48 init_vdwl: -1.1171061429439093 init_coul: 0 init_stress: ! |- - -6.9372049706365035e-01 -6.9064113154966333e-01 1.1515233668963607e+00 0.0 0.0 -1.4292420626121039e-02 + -6.9372049706365035e-01 -6.9064113154966333e-01 1.1515233668963607e+00 0.0000000000000000e+00 0.0000000000000000e+00 -1.4292420626121039e-02 init_forces: ! |2 1 1.4969082430352958e-03 -3.2939836241196573e-05 -1.3240430862322900e-02 2 8.0767187286290179e-04 1.0588928659053852e-03 -3.1123566690577253e-02 @@ -72,7 +72,7 @@ init_forces: ! |2 run_vdwl: -1.117107802396835 run_coul: 0 run_stress: ! |- - -6.9372331738514981e-01 -6.9064389597684106e-01 1.1514755915204005e+00 0.0 0.0 -1.4292266024218578e-02 + -6.9372331738514981e-01 -6.9064389597684106e-01 1.1514755915204005e+00 0.0000000000000000e+00 0.0000000000000000e+00 -1.4292266024218578e-02 run_forces: ! |2 1 1.4968783498999268e-03 -3.2942052376323016e-05 -1.3240066826206463e-02 2 8.0765258918550525e-04 1.0588876993623385e-03 -3.1122680612106914e-02 diff --git a/unittest/force-styles/tests/manybody-pair-drip_real.yaml b/unittest/force-styles/tests/manybody-pair-drip_real.yaml index 1f8ff8929c..3f680a8c96 100644 --- a/unittest/force-styles/tests/manybody-pair-drip_real.yaml +++ b/unittest/force-styles/tests/manybody-pair-drip_real.yaml @@ -1,6 +1,6 @@ --- lammps_version: 30 Jul 2021 -date_generated: Tue Aug 17 14:58:02 2021 +date_generated: Tue Aug 17 15:09:48 2021 epsilon: 1e-13 skip_tests: single prerequisites: ! | @@ -20,7 +20,7 @@ natoms: 48 init_vdwl: -25.761080947558458 init_coul: 0 init_stress: ! |- - -1.5997575514840701e+01 -1.5926563655516432e+01 2.6554761026958538e+01 0.0 0.0 -3.2959106617730394e-01 + -1.5997575514840701e+01 -1.5926563655516432e+01 2.6554761026958538e+01 0.0000000000000000e+00 0.0000000000000000e+00 -3.2959106617730394e-01 init_forces: ! |2 1 3.4519525887018621e-02 -7.5961070769214878e-04 -3.0533160468170939e-01 2 1.8625356800076362e-02 2.4418650819961668e-02 -7.1772653472282411e-01 @@ -73,7 +73,7 @@ init_forces: ! |2 run_vdwl: -25.76108094759681 run_coul: 0 run_stress: ! |- - -1.5997575514905400e+01 -1.5926563655580109e+01 2.6554761025857829e+01 0.0 0.0 -3.2959106617393824e-01 + -1.5997575514905400e+01 -1.5926563655580109e+01 2.6554761025857829e+01 0.0000000000000000e+00 0.0000000000000000e+00 -3.2959106617393824e-01 run_forces: ! |2 1 3.4519525886308772e-02 -7.5961070774262620e-04 -3.0533160467333686e-01 2 1.8625356799616053e-02 2.4418650819844623e-02 -7.1772653470240710e-01 diff --git a/unittest/force-styles/tests/manybody-pair-ilp-graphene-hbn.yaml b/unittest/force-styles/tests/manybody-pair-ilp-graphene-hbn.yaml index b2986e4d02..81f39c1d1d 100644 --- a/unittest/force-styles/tests/manybody-pair-ilp-graphene-hbn.yaml +++ b/unittest/force-styles/tests/manybody-pair-ilp-graphene-hbn.yaml @@ -1,6 +1,6 @@ --- lammps_version: 30 Jul 2021 -date_generated: Sun Aug 15 17:37:13 2021 +date_generated: Tue Aug 17 15:09:49 2021 epsilon: 5e-12 skip_tests: single prerequisites: ! | @@ -20,7 +20,7 @@ natoms: 48 init_vdwl: -1.387500902597699 init_coul: 0 init_stress: ! |- - -1.0950745163741815e+00 -1.0965448791525116e+00 -5.5691185658268150e-01 0.0 0.0 -1.1949269093120441e-03 + -1.0950745163741815e+00 -1.0965448791525116e+00 -5.5691185658268150e-01 0.0000000000000000e+00 0.0000000000000000e+00 -1.1949269093120441e-03 init_forces: ! |2 1 2.0033364707962020e-03 3.2526065174565133e-18 -4.7626541030897668e-02 2 -1.1368359972830505e-05 9.1814113875668727e-05 4.2488212564737199e-02 @@ -73,7 +73,7 @@ init_forces: ! |2 run_vdwl: -1.3875037702379507 run_coul: 0 run_stress: ! |- - -1.0950798483072388e+00 -1.0965501776879543e+00 -5.5691866561084535e-01 -7.8353909283032197e-16 -7.5145250540648381e-15 -1.1949322419481606e-03 + -1.0950798483072388e+00 -1.0965501776879543e+00 -5.5691866561084535e-01 0.0000000000000000e+00 0.0000000000000000e+00 -1.1949322419481606e-03 run_forces: ! |2 1 2.0033030003525137e-03 8.9435705391029130e-10 -4.7625968392020532e-02 2 -1.1367384359795837e-05 9.1815719224718032e-05 4.2487909883465465e-02 diff --git a/unittest/force-styles/tests/manybody-pair-ilp-graphene-hbn_notaper.yaml b/unittest/force-styles/tests/manybody-pair-ilp-graphene-hbn_notaper.yaml index dae0e501ca..f54aa4f85b 100644 --- a/unittest/force-styles/tests/manybody-pair-ilp-graphene-hbn_notaper.yaml +++ b/unittest/force-styles/tests/manybody-pair-ilp-graphene-hbn_notaper.yaml @@ -1,6 +1,6 @@ --- lammps_version: 30 Jul 2021 -date_generated: Sun Aug 15 18:41:00 2021 +date_generated: Tue Aug 17 15:09:49 2021 epsilon: 5e-12 skip_tests: single prerequisites: ! | @@ -20,7 +20,7 @@ natoms: 48 init_vdwl: -1.743417069575419 init_coul: 0 init_stress: ! |- - -1.4159677678324094e+00 -1.4175957592828763e+00 -8.2079275196077894e-01 0.0 0.0 -1.2386435158561861e-03 + -1.4159677678324094e+00 -1.4175957592828763e+00 -8.2079275196077894e-01 0.0000000000000000e+00 0.0000000000000000e+00 -1.2386435158561861e-03 init_forces: ! |2 1 2.0850484065019883e-03 3.6862873864507151e-18 -5.0318618251118635e-02 2 -6.3446817540543932e-06 9.5024077809279612e-05 4.2760561141837801e-02 @@ -73,7 +73,7 @@ init_forces: ! |2 run_vdwl: -1.7434201284130086 run_coul: 0 run_stress: ! |- - -1.4159735399871292e+00 -1.4176014949571309e+00 -8.2080149187142926e-01 -2.1449500026615373e-16 -1.7714821647888020e-15 -1.2386484789055200e-03 + -1.4159735399871292e+00 -1.4176014949571309e+00 -8.2080149187142926e-01 0.0000000000000000e+00 0.0000000000000000e+00 -1.2386484789055200e-03 run_forces: ! |2 1 2.0850117908114097e-03 1.0161463491389217e-09 -5.0317981439628325e-02 2 -6.3437194577726987e-06 9.5025701239061859e-05 4.2760248404172425e-02 diff --git a/unittest/force-styles/tests/manybody-pair-kolmogorov_crespi_full.yaml b/unittest/force-styles/tests/manybody-pair-kolmogorov_crespi_full.yaml index 42d31227d9..a166d66af1 100644 --- a/unittest/force-styles/tests/manybody-pair-kolmogorov_crespi_full.yaml +++ b/unittest/force-styles/tests/manybody-pair-kolmogorov_crespi_full.yaml @@ -1,6 +1,6 @@ --- lammps_version: 30 Jul 2021 -date_generated: Sun Aug 15 19:01:13 2021 +date_generated: Tue Aug 17 15:09:49 2021 epsilon: 5e-12 skip_tests: single prerequisites: ! | @@ -20,7 +20,7 @@ natoms: 48 init_vdwl: -1.2500397419624312 init_coul: 0 init_stress: ! |- - -1.0004429195951223e+00 -1.0032930381066463e+00 4.3070815061895146e-01 0.0 0.0 -1.7133324489474716e-02 + -1.0004429195951223e+00 -1.0032930381066463e+00 4.3070815061895146e-01 0.0000000000000000e+00 0.0000000000000000e+00 -1.7133324489474716e-02 init_forces: ! |2 1 2.8687289997477317e-03 -7.8062556418956319e-18 3.6613830361686965e-02 2 1.3226962450822509e-03 1.2611200091842689e-03 -6.4703224388507563e-02 @@ -73,7 +73,7 @@ init_forces: ! |2 run_vdwl: -1.250048655581655 run_coul: 0 run_stress: ! |- - -1.0004370065912216e+00 -1.0032870501278353e+00 4.3059909389948547e-01 -3.0512762156502117e-16 1.4810330715847770e-15 -1.7133053394138682e-02 + -1.0004370065912216e+00 -1.0032870501278353e+00 4.3059909389948547e-01 0.0000000000000000e+00 0.0000000000000000e+00 -1.7133053394138682e-02 run_forces: ! |2 1 2.8687040337510585e-03 -2.1727982419360303e-08 3.6613767230361242e-02 2 1.3226761216838419e-03 1.2611192610103965e-03 -6.4700278384581700e-02 diff --git a/unittest/force-styles/tests/manybody-pair-kolmogorov_crespi_full_notaper.yaml b/unittest/force-styles/tests/manybody-pair-kolmogorov_crespi_full_notaper.yaml index e2e95b8c9b..8049df3f76 100644 --- a/unittest/force-styles/tests/manybody-pair-kolmogorov_crespi_full_notaper.yaml +++ b/unittest/force-styles/tests/manybody-pair-kolmogorov_crespi_full_notaper.yaml @@ -1,6 +1,6 @@ --- lammps_version: 30 Jul 2021 -date_generated: Sun Aug 15 19:06:34 2021 +date_generated: Tue Aug 17 15:09:50 2021 epsilon: 5e-12 skip_tests: single prerequisites: ! | @@ -20,7 +20,7 @@ natoms: 48 init_vdwl: -1.2319861234762621 init_coul: 0 init_stress: ! |- - -1.1008420461559216e+00 -1.1059574121005133e+00 1.9501897055379741e-01 0.0 0.0 -1.5182584087439038e-02 + -1.1008420461559216e+00 -1.1059574121005133e+00 1.9501897055379741e-01 0.0000000000000000e+00 0.0000000000000000e+00 -1.5182584087439038e-02 init_forces: ! |2 1 2.7578315641555162e-03 -3.0357660829594124e-18 4.1533172062176493e-02 2 1.2588944124766973e-03 1.1188632453424979e-03 -6.5272327121384435e-02 @@ -73,7 +73,7 @@ init_forces: ! |2 run_vdwl: -1.23199571764252 run_coul: 0 run_stress: ! |- - -1.1008368563459114e+00 -1.1059521765455493e+00 1.9490358494782456e-01 -4.4881817801889771e-16 -1.4762912608595250e-15 -1.5182325192586004e-02 + -1.1008368563459114e+00 -1.1059521765455493e+00 1.9490358494782456e-01 0.0000000000000000e+00 0.0000000000000000e+00 -1.5182325192586004e-02 run_forces: ! |2 1 2.7578115049012742e-03 -1.9626239461520076e-08 4.1533149398200540e-02 2 1.2588780003755895e-03 1.1188632817004094e-03 -6.5269251575709356e-02 From 2bf9fa91dba1c91866f5933c1e657c16211e28fb Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Tue, 17 Aug 2021 14:03:58 -0600 Subject: [PATCH 680/726] more changes to merge with current master --- src/compute_property_atom.cpp | 50 ++++---- src/compute_property_atom.h | 4 +- src/dump_custom.cpp | 228 +++++++++++++--------------------- src/fix_property_atom.cpp | 24 ++-- src/fix_store_state.cpp | 175 ++++++++++---------------- src/library.cpp | 4 +- src/set.cpp | 12 +- src/utils.cpp | 5 +- 8 files changed, 202 insertions(+), 300 deletions(-) diff --git a/src/compute_property_atom.cpp b/src/compute_property_atom.cpp index 3c695ab303..a7eb4bf144 100644 --- a/src/compute_property_atom.cpp +++ b/src/compute_property_atom.cpp @@ -380,29 +380,23 @@ ComputePropertyAtom::ComputePropertyAtom(LAMMPS *lmp, int narg, char **arg) : "atom property that isn't allocated"); pack_choice[i] = &ComputePropertyAtom::pack_nbonds; - } else if (strcmp(arg[iarg],"buckling") == 0) { - if (!atom->mesont_flag) - error->all(FLERR,"Compute property/atom for " - "atom property that isn't allocated"); - pack_choice[i] = &ComputePropertyAtom::pack_buckling; - // custom per-atom vector } else if (utils::strmatch(arg[iarg],"^i_")) { - int flag,icol; - index[i] = atom->find_custom(&arg[iarg][2],flag,icol); - if (index[i] < 0 || flag || icol) + int flag,cols; + index[i] = atom->find_custom(&arg[iarg][2],flag,cols); + if (index[i] < 0 || flag || cols) error->all(FLERR,"Compute property/atom integer " "vector does not exist"); pack_choice[i] = &ComputePropertyAtom::pack_iname; + } else if (utils::strmatch(arg[iarg],"^d_")) { - int flag; - index[i] = atom->find_custom(&arg[iarg][2],flag,icol); - if (index[i] < 0 || flag || icol1) + int flag,cols; + index[i] = atom->find_custom(&arg[iarg][2],flag,cols); + if (index[i] < 0 || flag || cols) error->all(FLERR,"Compute property/atom floating point " "vector does not exist"); pack_choice[i] = &ComputePropertyAtom::pack_dname; - } // custom per-atom arrays, must include bracketed index // OLDSTYLE code @@ -1203,21 +1197,6 @@ void ComputePropertyAtom::pack_fmz(int n) /* ---------------------------------------------------------------------- */ -void ComputePropertyAtom::pack_nbonds(int n) -{ - int *num_bond = atom->num_bond; - int *mask = atom->mask; - int nlocal = atom->nlocal; - - for (int i = 0; i < nlocal; i++) { - if (mask[i] & groupbit) buf[n] = num_bond[i]; - else buf[n] = 0.0; - n += nvalues; - } -} - -/* ---------------------------------------------------------------------- */ - void ComputePropertyAtom::pack_radius(int n) { double *radius = atom->radius; @@ -1853,6 +1832,21 @@ void ComputePropertyAtom::pack_corner3z(int n) /* ---------------------------------------------------------------------- */ +void ComputePropertyAtom::pack_nbonds(int n) +{ + int *num_bond = atom->num_bond; + int *mask = atom->mask; + int nlocal = atom->nlocal; + + for (int i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) buf[n] = num_bond[i]; + else buf[n] = 0.0; + n += nvalues; + } +} + +/* ---------------------------------------------------------------------- */ + void ComputePropertyAtom::pack_iname(int n) { int *ivector = atom->ivector[index[n]]; diff --git a/src/compute_property_atom.h b/src/compute_property_atom.h index 810a12b680..19f8b73451 100644 --- a/src/compute_property_atom.h +++ b/src/compute_property_atom.h @@ -90,8 +90,6 @@ class ComputePropertyAtom : public Compute { void pack_fmy(int); void pack_fmz(int); - void pack_nbonds(int); - void pack_radius(int); void pack_diameter(int); void pack_omegax(int); @@ -129,6 +127,8 @@ class ComputePropertyAtom : public Compute { void pack_corner3y(int); void pack_corner3z(int); + void pack_nbonds(int); + void pack_iname(int); void pack_dname(int); void pack_i2name(int); diff --git a/src/dump_custom.cpp b/src/dump_custom.cpp index 4a2778e981..68a2ab4a57 100644 --- a/src/dump_custom.cpp +++ b/src/dump_custom.cpp @@ -1444,54 +1444,15 @@ int DumpCustom::parse_fields(int narg, char **arg) } else if (strcmp(arg[iarg],"tqz") == 0) { if (!atom->torque_flag) error->all(FLERR,"Dumping an atom property that isn't allocated"); - pack_choice[i] = &DumpCustom::pack_tqz; - vtype[i] = Dump::DOUBLE; - - // custom per-atom array = i2_ID or d2_ID, must include bracketed index - // OLDSTYLE code - remove this after extend ArgInfo for i2/d2 arrays - - } else if (strncmp(arg[iarg],"i2_",3) == 0 || - strncmp(arg[iarg],"d2_",3) == 0) { - int which = 0; - if (arg[iarg][0] == 'd') which = 1; - - pack_choice[i] = &DumpCustom::pack_custom; - if (!which) vtype[i] = Dump::INT; - else vtype[i] = Dump::DOUBLE; - - int n = strlen(arg[iarg]); - char *suffix = new char[n]; - strcpy(suffix,&arg[iarg][3]); - - char *ptr = strchr(suffix,'['); - if (ptr) { - if (suffix[strlen(suffix)-1] != ']') - error->all(FLERR,"Invalid attribute in dump custom command"); - suffix[strlen(suffix)-1] = '\0'; - argindex[i] = utils::inumeric(FLERR,ptr+1,true,lmp); - *ptr = '\0'; - } else error->all(FLERR,"Dump custom per-atom custom array is not indexed"); - - int flag,cols; - n = atom->find_custom(suffix,flag,cols); - - if ((!which && (n < 0 || flag || !cols)) || - (which && (n < 0 || !flag || !cols))) - error->all(FLERR,"Dump custom per-atom custom array does not exist"); - if (argindex[i] <= 0 || argindex[i] > cols) - error->all(FLERR, - "Dump custom per-atom custom array is accessed out-of-range"); - - field2index[i] = add_custom(suffix,which); - delete [] suffix; + pack_choice[iarg] = &DumpCustom::pack_tqz; + vtype[iarg] = Dump::DOUBLE; // compute or fix or variable or custom vector/array - // NEWSTYLE code - add ArgInfo returns for IVEC, DVEC, IARRAY, DARRAY } else { - int n,tmp; + int n,flag,cols; ArgInfo argi(arg[iarg],ArgInfo::COMPUTE|ArgInfo::FIX|ArgInfo::VARIABLE - |ArgInfo::DVEC|ArgInfo::IVEC); + |ArgInfo::DNAME|ArgInfo::INAME); argindex[iarg] = argi.get_index1(); auto name = argi.get_name(); @@ -1559,50 +1520,58 @@ int DumpCustom::parse_fields(int narg, char **arg) field2index[iarg] = add_variable(name); break; - // custom per-atom floating point vector = d_ID + // custom per-atom floating point vector or array - case ArgInfo::DVEC: + case ArgInfo::DNAME: pack_choice[iarg] = &DumpCustom::pack_custom; vtype[iarg] = Dump::DOUBLE; - tmp = -1; - n = atom->find_custom(name,tmp); + n = atom->find_custom(name,flag,cols); + if (n < 0) error->all(FLERR,"Could not find custom per-atom property ID: {}", name); - - if (tmp != 1) - error->all(FLERR,"Custom per-atom property ID {} is not floating point", name); + if (argindex[iarg] == 0) { + if (!flag || cols) + error->all(FLERR, + "Property double vector for dump custom does not exist"); + } else { + if (!flag || !cols) + error->all(FLERR, + "Property double array for dump custom does not exist"); + if (argindex[iarg] > atom->dcols[n]) + error->all(FLERR, + "Dump custom property array is accessed out-of-range"); + } field2index[iarg] = add_custom(name,1); break; - // custom per-atom integer vector = i_ID + // custom per-atom integer vector or array - case ArgInfo::IVEC: + case ArgInfo::INAME: pack_choice[iarg] = &DumpCustom::pack_custom; vtype[iarg] = Dump::INT; - tmp = -1; - n = atom->find_custom(name,tmp); + n = atom->find_custom(name,flag,cols); + if (n < 0) error->all(FLERR,"Could not find custom per-atom property ID: {}", name); - - if (tmp != 0) - error->all(FLERR,"Custom per-atom property ID {} is not integer", name); + if (argindex[iarg] == 0) { + if (flag || cols) + error->all(FLERR, + "Property integer vector for dump custom does not exist"); + } else { + if (flag || !cols) + error->all(FLERR, + "Property integer array for dump custom does not exist"); + if (argindex[iarg] > atom->icols[n]) + error->all(FLERR, + "Dump custom property array is accessed out-of-range"); + } field2index[iarg] = add_custom(name,0); break; - // custom per-atom floating point array = d2_ID - - case ArgInfo::DARRAY: - return iarg; - - // custom per-atom integer array = i2_ID - - case ArgInfo::IARRAY: - return iarg; - // no match default: @@ -1915,55 +1884,16 @@ int DumpCustom::modify_param(int narg, char **arg) else if (strcmp(arg[1],"tqy") == 0) thresh_array[nthresh] = TQY; else if (strcmp(arg[1],"tqz") == 0) thresh_array[nthresh] = TQZ; - // custom per-atom array = i2_ID or d2_ID, must include bracketed index - // OLDSTYLE code - remove this after extend ArgInfo for i2/d2 arrays - - else if (strncmp(arg[1],"i2_",3) == 0 || strncmp(arg[1],"d2_",3) == 0) { - int which = 0; - if (arg[1][0] == 'd') which = 1; - - if (!which) thresh_array[nthresh] = IARRAY; - else thresh_array[nthresh] = DARRAY; - memory->grow(field2index,nfield+nthresh+1,"dump:field2index"); - memory->grow(argindex,nfield+nthresh+1,"dump:argindex"); - - int n = strlen(arg[1]); - char *suffix = new char[n]; - strcpy(suffix,&arg[1][3]); - - char *ptr = strchr(suffix,'['); - if (ptr) { - if (suffix[strlen(suffix)-1] != ']') - error->all(FLERR,"Invalid attribute in dump custom command"); - suffix[strlen(suffix)-1] = '\0'; - argindex[nfield+nthresh] = utils::inumeric(FLERR,ptr+1,true,lmp); - *ptr = '\0'; - } else error->all(FLERR,"Dump_modify per-atom custom array is not indexed"); - - int flag,cols; - n = atom->find_custom(suffix,flag,cols); - - if ((!which && (n < 0 || flag || !cols)) || - (which && (n < 0 || !flag || !cols))) - error->all(FLERR,"Could not find dump_modify per-atom custom array"); - if (argindex[nfield+nthresh] <= 0 || argindex[nfield+nthresh] > cols) - error->all(FLERR, - "Dump_modify per-atom custom array is accessed out-of-range"); - - field2index[nfield+nthresh] = add_custom(suffix,which); - delete [] suffix; - // compute or fix or variable or custom vector/array - // NEWSTYLE code - add ArgInfo returns for IVEC, DVEC, IARRAY, DARRAY // must grow field2index and argindex arrays, since access is beyond nfield - } else { + else { memory->grow(field2index,nfield+nthresh+1,"dump:field2index"); memory->grow(argindex,nfield+nthresh+1,"dump:argindex"); - int n,tmp; + int n,flag,cols; ArgInfo argi(arg[1],ArgInfo::COMPUTE|ArgInfo::FIX|ArgInfo::VARIABLE - |ArgInfo::DVEC|ArgInfo::IVEC); + |ArgInfo::DNAME|ArgInfo::INAME); argindex[nfield+nthresh] = argi.get_index1(); auto name = argi.get_name(); @@ -2026,39 +1956,55 @@ int DumpCustom::modify_param(int narg, char **arg) field2index[nfield+nthresh] = add_variable(name); break; - // custom per atom floating point value = d_ID + // custom per atom floating point vector or array - case ArgInfo::DVEC: - thresh_array[nthresh] = DVEC; - tmp = -1; - n = atom->find_custom(name,tmp); - if ((n < 0) || (tmp != 1)) - error->all(FLERR,"Could not find dump modify custom atom floating point property ID: {}",name); - - field2index[nfield+nthresh] = add_custom(name,1); - break; - - // custom per atom integer value = i_ID - - case ArgInfo::IVEC: - thresh_array[nthresh] = IVEC; - tmp = -1; - n = atom->find_custom(name,tmp); - if ((n < 0) || (tmp != 0)) - error->all(FLERR,"Could not find dump modify custom atom integer property ID: {}",name); + case ArgInfo::DNAME: + n = atom->find_custom(name,flag,cols); + if (n < 0) + error->all(FLERR,"Could not find custom per-atom property ID: {}", name); + if (argindex[nfield+nthresh] == 0) { + if (flag || cols) + error->all(FLERR, + "Property double vector for dump custom does not exist"); + thresh_array[nthresh] = DVEC; + } else { + if (flag || !cols) + error->all(FLERR, + "Property double array for dump custom does not exist"); + if (argindex[nfield+nthresh] > atom->dcols[n]) + error->all(FLERR, + "Dump custom property array is accessed out-of-range"); + thresh_array[nthresh] = DARRAY; + } + field2index[nfield+nthresh] = add_custom(name,0); break; - // custom per-atom floating point array = d2_ID + // custom per atom integer vector or array + + case ArgInfo::INAME: + n = atom->find_custom(name,flag,cols); - case ArgInfo::DARRAY: - return iarg; + if (n < 0) + error->all(FLERR,"Could not find custom per-atom property ID: {}", name); + if (argindex[nfield+nthresh] == 0) { + if (flag || cols) + error->all(FLERR, + "Property integer vector for dump custom does not exist"); + thresh_array[nthresh] = IVEC; + } else { + if (flag || !cols) + error->all(FLERR, + "Property integer array for dump custom does not exist"); + if (argindex[nfield+nthresh] > atom->icols[n]) + error->all(FLERR, + "Dump custom property array is accessed out-of-range"); + thresh_array[nthresh] = IARRAY; + } - // custom per-atom integer array = i2_ID - - case ArgInfo::IARRAY: - return iarg; + field2index[nfield+nthresh] = add_custom(name,0); + break; // no match @@ -2069,7 +2015,7 @@ int DumpCustom::modify_param(int narg, char **arg) } // set operation type of threshold - + if (strcmp(arg[2],"<") == 0) thresh_op[nthresh] = LT; else if (strcmp(arg[2],"<=") == 0) thresh_op[nthresh] = LE; else if (strcmp(arg[2],">") == 0) thresh_op[nthresh] = GT; @@ -2078,11 +2024,11 @@ int DumpCustom::modify_param(int narg, char **arg) else if (strcmp(arg[2],"!=") == 0) thresh_op[nthresh] = NEQ; else if (strcmp(arg[2],"|^") == 0) thresh_op[nthresh] = XOR; else error->all(FLERR,"Invalid dump_modify thresh operator"); - + // set threshold value as number or special LAST keyword // create FixStore to hold LAST values, should work with restart // id = dump-ID + nthreshlast + DUMP_STORE, fix group = dump group - + if (strcmp(arg[3],"LAST") != 0) { thresh_value[nthresh] = utils::numeric(FLERR,arg[3],false,lmp); thresh_last[nthresh] = -1; @@ -2092,17 +2038,17 @@ int DumpCustom::modify_param(int narg, char **arg) thresh_fixID = (char **) memory->srealloc(thresh_fixID,(nthreshlast+1)*sizeof(char *),"dump:thresh_fixID"); memory->grow(thresh_first,(nthreshlast+1),"dump:thresh_first"); - + std::string threshid = fmt::format("{}{}_DUMP_STORE",id,nthreshlast); thresh_fixID[nthreshlast] = utils::strdup(threshid); threshid += fmt::format(" {} STORE peratom 1 1", group->names[igroup]); thresh_fix[nthreshlast] = (FixStore *) modify->add_fix(threshid); - + thresh_last[nthreshlast] = nthreshlast; thresh_first[nthreshlast] = 1; nthreshlast++; } - + nthresh++; return 4; } diff --git a/src/fix_property_atom.cpp b/src/fix_property_atom.cpp index a45b4768be..47c7475524 100644 --- a/src/fix_property_atom.cpp +++ b/src/fix_property_atom.cpp @@ -93,21 +93,21 @@ FixPropertyAtom::FixPropertyAtom(LAMMPS *lmp, int narg, char **arg) : } else if (utils::strmatch(arg[iarg],"^i_")) { style[nvalue] = IVEC; - int tmp; - index[nvalue] = atom->find_custom(&arg[iarg][2],tmp); + int flag,cols; + index[nvalue] = atom->find_custom(&arg[iarg][2],flag,cols); if (index[nvalue] >= 0) error->all(FLERR,"Fix property/atom vector name already exists"); - index[nvalue] = atom->add_custom(&arg[iarg][2],0); + index[nvalue] = atom->add_custom(&arg[iarg][2],0,0); nvalue++; - iarg++ + iarg++; } else if (utils::strmatch(arg[iarg],"^d_")) { style[nvalue] = DVEC; - int tmp; - index[nvalue] = atom->find_custom(&arg[iarg][2],tmp); + int flag,ncols; + index[nvalue] = atom->find_custom(&arg[iarg][2],flag,ncols); if (index[nvalue] >= 0) error->all(FLERR,"Fix property/atom vector name already exists"); - index[nvalue] = atom->add_custom(&arg[iarg][2],1); + index[nvalue] = atom->add_custom(&arg[iarg][2],1,0); nvalue++; iarg++; @@ -121,8 +121,8 @@ FixPropertyAtom::FixPropertyAtom(LAMMPS *lmp, int narg, char **arg) : if (arg[iarg][0] == 'd') which = 1; if (which == 0) style[nvalue] = IARRAY; else style[nvalue] = DARRAY; - int tmp1,tmp2; - index[nvalue] = atom->find_custom(&arg[iarg][3],tmp1,tmp2); + int flag,ncols; + index[nvalue] = atom->find_custom(&arg[iarg][3],flag,ncols); if (index[nvalue] >= 0) error->all(FLERR,"Fix property/atom array name already exists"); cols[nvalue] = utils::inumeric(FLERR,arg[iarg+1],true,lmp); @@ -418,8 +418,10 @@ void FixPropertyAtom::write_data_section_keyword(int /*mth*/, FILE *fp) if (style[i] == MOLECULE) fputs(" mol",fp); else if (style[i] == CHARGE) fputs(" q",fp); else if (style[i] == RMASS) fputs(" rmass",fp); - else if (style[i] == INTEGER) fprintf(fp," i_%s", atom->iname[index[i]]); - else if (style[i] == DOUBLE) fprintf(fp, " d_%s", atom->dname[index[i]]); + else if (style[i] == IVEC) fprintf(fp," i_%s", atom->ivname[index[i]]); + else if (style[i] == DVEC) fprintf(fp, " d_%s", atom->dvname[index[i]]); + else if (style[i] == IARRAY) fprintf(fp, " i_%s", atom->ianame[index[i]]); + else if (style[i] == DARRAY) fprintf(fp, " d_%s", atom->daname[index[i]]); } fputs("\n\n",fp); } diff --git a/src/fix_store_state.cpp b/src/fix_store_state.cpp index df082f92f6..0d54d2727e 100644 --- a/src/fix_store_state.cpp +++ b/src/fix_store_state.cpp @@ -222,33 +222,6 @@ FixStoreState::FixStoreState(LAMMPS *lmp, int narg, char **arg) : "Fix store/state for atom property that isn't allocated"); pack_choice[nvalues++] = &FixStoreState::pack_tqz; - // custom per-atom array - // OLDSTYLE code - - } else if (strncmp(arg[iarg],"i2_",3) == 0 || - strncmp(arg[iarg],"d2_",3) == 0) { - if (strncmp(arg[iarg],"i2_",3) == 0) which[nvalues] = IARRAY; - else if (strncmp(arg[iarg],"d2_",3) == 0) which[nvalues] = DARRAY; - - int n = strlen(arg[iarg]); - char *suffix = new char[n]; - strcpy(suffix,&arg[iarg][3]); - - char *ptr = strchr(suffix,'['); - if (!ptr) error->all(FLERR,"Illegal fix store/state command"); - - if (suffix[strlen(suffix)-1] != ']') - error->all(FLERR,"Illegal fix store/state command"); - suffix[strlen(suffix)-1] = '\0'; - argindex[nvalues] = utils::inumeric(FLERR,ptr+1,true,lmp); - *ptr = '\0'; - - n = strlen(suffix) + 1; - ids[nvalues] = new char[n]; - strcpy(ids[nvalues],suffix); - nvalues++; - delete [] suffix; - // compute or fix or variable or custom per-atom vector or array // NEWSTYLE code @@ -293,16 +266,16 @@ FixStoreState::FixStoreState(LAMMPS *lmp, int narg, char **arg) : if (modify->compute[icompute]->peratom_flag == 0) error->all(FLERR,"Fix store/state compute " "does not calculate per-atom values"); - if (argindex[m] == 0 && + if (argindex[i] == 0 && modify->compute[icompute]->size_peratom_cols != 0) error->all(FLERR,"Fix store/state compute does not " "calculate a per-atom vector"); - if (argindex[m] && modify->compute[icompute]->size_peratom_cols == 0) + if (argindex[i] && modify->compute[icompute]->size_peratom_cols == 0) error->all(FLERR, "Fix store/state compute does not " "calculate a per-atom array"); - if (argindex[m] && - argindex[m] > modify->compute[icompute]->size_peratom_cols) + if (argindex[i] && + argindex[i] > modify->compute[icompute]->size_peratom_cols) error->all(FLERR, "Fix store/state compute array is accessed out-of-range"); @@ -314,13 +287,13 @@ FixStoreState::FixStoreState(LAMMPS *lmp, int narg, char **arg) : if (modify->fix[ifix]->peratom_flag == 0) error->all(FLERR, "Fix store/state fix does not calculate per-atom values"); - if (argindex[m] == 0 && modify->fix[ifix]->size_peratom_cols != 0) + if (argindex[i] == 0 && modify->fix[ifix]->size_peratom_cols != 0) error->all(FLERR, "Fix store/state fix does not calculate a per-atom vector"); - if (argindex[m] && modify->fix[ifix]->size_peratom_cols == 0) + if (argindex[i] && modify->fix[ifix]->size_peratom_cols == 0) error->all(FLERR, "Fix store/state fix does not calculate a per-atom array"); - if (argindex[m] && argindex[m] > modify->fix[ifix]->size_peratom_cols) + if (argindex[i] && argindex[i] > modify->fix[ifix]->size_peratom_cols) error->all(FLERR, "Fix store/state fix array is accessed out-of-range"); if (nevery % modify->fix[ifix]->peratom_freq) @@ -334,33 +307,41 @@ FixStoreState::FixStoreState(LAMMPS *lmp, int narg, char **arg) : if (input->variable->atomstyle(ivariable) == 0) error->all(FLERR,"Fix store/state variable is not atom-style variable"); - } else if (which[i] == ArgInfo::INAME) { - int icustom,iflag,cols; - icustom = atom->find_custom(ids[i],iflag,cols); - if ((icustom < 0) || iflag ||,cols) - error->all(FLERR, - "Custom integer vector for fix store/state does not exist"); - } else if (which[i] == ArgInfo::DNAME) { - int icustom,iflag,cols; - icustom = atom->find_custom(ids[i],iflag,cols); - if ((icustom < 0) || iflag ||,cols) - error->all(FLERR, - "Custom floating point vector for fix store/state does not exist"); + int icustom,iflag,icol; + icustom = atom->find_custom(ids[i],iflag,icol); + if (icustom < 0) + error->all(FLERR,"Custom vector/array for fix store/state does not exist"); + if (argindex[i] == 0) { + if (!iflag || icol) + error->all(FLERR, + "Custom double vector for fix store/state does not exist"); + } else { + if (!iflag || !icol) + error->all(FLERR, + "Custom double array for fix store/state does not exist"); + if (argindex[i] > atom->dcols[icustom]) + error->all(FLERR, + "Fix store/state custom array is accessed out-of-range"); + } - } else if (which[i] == ArgInfo::IARRAY) { - int icustom,flag,cols; - icustom = atom->find_custom(ids[i],flag,cols); - if ((icustom < 0) || flag || !cols) - error->all(FLERR, - "Custom integer array for fix store/state does not exist"); - - } else if (which[m] == Arginfo::DARRAY) { - int icustom,flag,cols; - icustom = atom->find_custom(ids[i],flag,cols); - if ((icustom < 0) || !flag || !cols) - error->all(FLERR, - "Custom floating point array for fix store/state does not exist"); + } else if (which[i] == ArgInfo::INAME) { + int icustom,iflag,icol; + icustom = atom->find_custom(ids[i],iflag,icol); + if (icustom < 0) + error->all(FLERR,"Custom vector/array for fix store/state does not exist"); + if (argindex[i] == 0) { + if (iflag || icol) + error->all(FLERR, + "Custom integer vector for fix store/state does not exist"); + } else { + if (iflag || !icol) + error->all(FLERR, + "Custom integer array for fix store/state does not exist"); + if (argindex[i] > atom->icols[icustom]) + error->all(FLERR, + "Fix store/state custom array is accessed out-of-range"); + } } } @@ -450,36 +431,13 @@ void FixStoreState::init() error->all(FLERR,"Variable name for fix store/state does not exist"); value2index[m] = ivariable; - } else if (which[m] == ArgInfo::IVEC) { + } else if (which[m] == ArgInfo::INAME || which[m] == ArgInfo::DNAME) { int icustom,iflag,cols; icustom = atom->find_custom(ids[m],iflag,cols); - if ((icustom < 0) || iflag || cols) - error->all(FLERR, - "Custom integer vector for fix store/state does not exist"); + if (icustom < 0) + error->all(FLERR,"Custom vector/array for fix store/state does not exist"); value2index[m] = icustom; - - } else if (which[m] == ArgInfo::DVEC) { - int icustom,iflag,cols; - icustom = atom->find_custom(ids[m],iflag,cols); - if ((icustom < 0) || iflag || cols) - error->all(FLERR, - "Custom floating point vector for fix store/state does not exist"); - value2index[m] = icustom; - - } else if (which[m] == ArgInfo::IARRAY) { - int icustom,iflag,cols; - icustom = atom->find_custom(ids[m],iflag,cols); - if ((icustom < 0) || iflag || !cols) - error->all(FLERR, - "Custom integer array for fix store/state does not exist"); - value2index[m] = icustom; - - } else if (which[m] == ArgInfo::DARRAY) { - int icustom,iflag,cols; - icustom = atom->find_custom(ids[m],iflag,cols); - if ((icustom < 0) || iflag || !cols) - error->all(FLERR, - "Custom floating point array for fix store/state does not exist"); value2index[m] = icustom; + } } } @@ -566,32 +524,35 @@ void FixStoreState::end_of_step() // evaluate atom-style variable - } else if (which[m] == VARIABLE) { + } else if (which[m] == ArgInfo::VARIABLE) { input->variable->compute_atom(n,igroup,&values[0][m],nvalues,0); - // access custom atom property fields + // access custom atom vector/array fields - } else if (which[m] == ArgInfo::IVEC) { - int *ivector = atom->ivector[n]; - for (i = 0; i < nlocal; i++) - if (mask[i] & groupbit) values[i][m] = ivector[i]; + } else if (which[m] == ArgInfo::DNAME) { + if (j == 0) { + double *dvector = atom->dvector[n]; + for (i = 0; i < nlocal; i++) + if (mask[i] & groupbit) values[i][m] = dvector[i]; + } else { + double **darray = atom->darray[n]; + int jm1 = j - 1; + for (i = 0; i < nlocal; i++) + if (mask[i] & groupbit) values[i][m] = darray[i][jm1]; + } - } else if (which[m] == ArgInfo::DVEC) { - double *dvector = atom->dvector[n]; - for (i = 0; i < nlocal; i++) - if (mask[i] & groupbit) values[i][m] = dvector[i]; - - } else if (which[m] == ArgInfo::IARRAY) { - int **iarray = atom->iarray[n]; - int jm1 = j - 1; - for (i = 0; i < nlocal; i++) - if (mask[i] & groupbit) values[i][m] = iarray[i][jm1]; - } else if (which[m] == ArgInfo::DARRAY) { - double **darray = atom->darray[n]; - int jm1 = j - 1; - for (i = 0; i < nlocal; i++) - if (mask[i] & groupbit) values[i][m] = darray[i][jm1]; + } else if (which[m] == ArgInfo::INAME) { + if (j == 0) { + int *ivector = atom->ivector[n]; + for (i = 0; i < nlocal; i++) + if (mask[i] & groupbit) values[i][m] = ivector[i]; + } else { + int **iarray = atom->iarray[n]; + int jm1 = j - 1; + for (i = 0; i < nlocal; i++) + if (mask[i] & groupbit) values[i][m] = iarray[i][jm1]; + } } } } diff --git a/src/library.cpp b/src/library.cpp index d0f5b2b9fb..b6cdd02e9f 100644 --- a/src/library.cpp +++ b/src/library.cpp @@ -3127,7 +3127,7 @@ void lammps_gather_concat(void *handle, char *name, int type, int count, void *d // compute - if (vptr==nullptr && utils::strmatch(name,"^c_")) + if (vptr==nullptr && utils::strmatch(name,"^c_")) { fcid = lmp->modify->find_compute(&name[2]); if (fcid < 0) { @@ -3156,7 +3156,7 @@ void lammps_gather_concat(void *handle, char *name, int type, int count, void *d else vptr = (void *) lmp->modify->compute[fcid]->array_atom; } - // custom fix property/atom vector or array + // custom per-atom vector or array // OLDSTYLE code if ((vptr==nullptr) && diff --git a/src/set.cpp b/src/set.cpp index c5021120c1..1aa9a479e6 100644 --- a/src/set.cpp +++ b/src/set.cpp @@ -576,9 +576,9 @@ void Set::command(int narg, char **arg) if (iarg+2 > narg) error->all(FLERR,"Illegal set command"); if (utils::strmatch(arg[iarg+1],"^v_")) varparse(arg[iarg+1],1); else ivalue = utils::inumeric(FLERR,arg[iarg+1],false,lmp); - int flag; - index_custom = atom->find_custom(&arg[iarg][2],flag); - if (index_custom < 0 || flag != 0) + int flag,cols; + index_custom = atom->find_custom(&arg[iarg][2],flag,cols); + if (index_custom < 0 || flag || cols) error->all(FLERR,"Set command integer vector does not exist"); set(IVEC); iarg += 2; @@ -587,9 +587,9 @@ void Set::command(int narg, char **arg) if (iarg+2 > narg) error->all(FLERR,"Illegal set command"); if (utils::strmatch(arg[iarg+1],"^v_")) varparse(arg[iarg+1],1); else dvalue = utils::numeric(FLERR,arg[iarg+1],false,lmp); - int flag; - index_custom = atom->find_custom(&arg[iarg][2],flag); - if (index_custom < 0 || flag != 1) + int flag,cols; + index_custom = atom->find_custom(&arg[iarg][2],flag,cols); + if (index_custom < 0 || flag || cols) error->all(FLERR,"Set command floating point vector does not exist"); set(DVEC); iarg += 2; diff --git a/src/utils.cpp b/src/utils.cpp index 8da2efd03d..fd3170859b 100644 --- a/src/utils.cpp +++ b/src/utils.cpp @@ -609,13 +609,12 @@ int utils::expand_args(const char *file, int line, int narg, char **arg, int mod // only match custom array reference with a '*' wildcard // number range in the first pair of square brackets - // OLDSTYLE code if (strncmp(arg[iarg],"i2_",3) == 0 || strncmp(arg[iarg],"d2_",3) == 0) { - ptr1 = strchr(arg[iarg],'['); + char *ptr1 = strchr(arg[iarg],'['); if (ptr1) { - ptr2 = strchr(ptr1,']'); + char *ptr2 = strchr(ptr1,']'); if (ptr2) { *ptr2 = '\0'; if (strchr(ptr1,'*')) { From 0906e94207627972406b5dec45ed4a72f31356c2 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 17 Aug 2021 16:13:01 -0400 Subject: [PATCH 681/726] small fixes --- potentials/CC.Lebedeva | 12 +++++------- src/INTERLAYER/pair_drip.cpp | 4 +--- .../tests/manybody-pair-ilp-graphene-hbn.yaml | 1 - 3 files changed, 6 insertions(+), 11 deletions(-) diff --git a/potentials/CC.Lebedeva b/potentials/CC.Lebedeva index 930f7b4328..b5599ee0a6 100644 --- a/potentials/CC.Lebedeva +++ b/potentials/CC.Lebedeva @@ -1,14 +1,12 @@ -# Lebedeva Potential. Original values from Lebedeva. May be played with ;) +# DATE: 2018-11-28 UNITS: metal CONTRIBUTOR: Zbigniew Koziol softquake@gmail.com CITATION: Z. Koziol et al.: https://arxiv.org/abs/1803.05162 # -# Cite as: Irina V. Lebedeva, Andrey A. Knizhnik, Andrey M. Popov, Yurii E. Lozovik, Boris V. Potapkin, -# Modeling of graphene-based NEMS -# Physica E 44 (6), 949 (2012) -# https://doi.org/10.1016/j.physe.2011.07.018 -# -# Parameters must be in this order as here, otherwise their values may be changed. +# Lebedeva Potential. https://doi.org/10.1016/j.physe.2011.07.018 + +# Parameters must be in this order as here, otherwise their values may be changed. # The last one, S, is convenient for scaling the potential amplitude. S is a multiplication factor for A, B, C # A B C z0 alpha D1 D2 lambda1 lambda2 S # These are values according to Levedeva et al #C C 10.510 11.6523.34 35.883 3.34 4.16 -0.86232 0.10049 0.48703 0.46445 1.0 +# # These are values by Z. Koziol et al.: https://arxiv.org/abs/1803.05162 C C 14.558 21.204 1.8 3.198 4.16 -0.862 0.10049 0.6 0.4 1.0 diff --git a/src/INTERLAYER/pair_drip.cpp b/src/INTERLAYER/pair_drip.cpp index b1e877e3ee..dd5277e88c 100644 --- a/src/INTERLAYER/pair_drip.cpp +++ b/src/INTERLAYER/pair_drip.cpp @@ -142,9 +142,7 @@ double PairDRIP::init_one(int i, int j) Param& p = params[iparam_ij]; // max cutoff is the main cutoff plus the normal cutoff such that - double cutmax = p.rcut + p.ncut; - - return cutmax; + return p.rcut + p.ncut; } /* ---------------------------------------------------------------------- diff --git a/unittest/force-styles/tests/manybody-pair-ilp-graphene-hbn.yaml b/unittest/force-styles/tests/manybody-pair-ilp-graphene-hbn.yaml index 81f39c1d1d..81f72ec0a9 100644 --- a/unittest/force-styles/tests/manybody-pair-ilp-graphene-hbn.yaml +++ b/unittest/force-styles/tests/manybody-pair-ilp-graphene-hbn.yaml @@ -9,7 +9,6 @@ prerequisites: ! | pre_commands: ! | variable newton_pair delete variable newton_pair index on - comm_modify cutoff 16.0 post_commands: ! "" input_file: in.bilayer pair_style: hybrid/overlay ilp/graphene/hbn 16.0 1 From 6dafbd2fbea1bff632a7a0cb221810407afee27f Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 17 Aug 2021 16:20:00 -0400 Subject: [PATCH 682/726] support metal2real unit conversion --- src/INTERLAYER/pair_ilp_graphene_hbn.cpp | 14 +++++++++++++- src/INTERLAYER/pair_kolmogorov_crespi_full.cpp | 13 ++++++++++++- 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/src/INTERLAYER/pair_ilp_graphene_hbn.cpp b/src/INTERLAYER/pair_ilp_graphene_hbn.cpp index 2e424539b4..7b6469b705 100644 --- a/src/INTERLAYER/pair_ilp_graphene_hbn.cpp +++ b/src/INTERLAYER/pair_ilp_graphene_hbn.cpp @@ -61,6 +61,9 @@ PairILPGrapheneHBN::PairILPGrapheneHBN(LAMMPS *lmp) : Pair(lmp) { restartinfo = 0; one_coeff = 1; + manybody_flag = 1; + centroidstressflag = CENTROID_NOTAVAIL; + unit_convert_flag = utils::get_supported_conversions(utils::ENERGY); if (lmp->citeme) lmp->citeme->add(cite_ilp); @@ -84,7 +87,8 @@ PairILPGrapheneHBN::PairILPGrapheneHBN(LAMMPS *lmp) : Pair(lmp) // always compute energy offset offset_flag = 1; - // turn on the taper function + + // turn on the taper function by default tap_flag = 1; } @@ -195,6 +199,11 @@ void PairILPGrapheneHBN::read_file(char *filename) PotentialFileReader reader(lmp, filename, "ilp/graphene/hbn", unit_convert_flag); char *line; + // transparently convert units for supported conversions + + int unit_convert = reader.get_unit_convert(); + double conversion_factor = utils::get_conversion_factor(utils::ENERGY, unit_convert); + while ((line = reader.next_line(NPARAMS_PER_LINE))) { try { @@ -250,7 +259,10 @@ void PairILPGrapheneHBN::read_file(char *filename) // energies in meV further scaled by S // S = 43.3634 meV = 1 kcal/mol + const double meV = 1e-3*params[nparams].S; + if (unit_convert) meV *= conversion_factor; + params[nparams].C *= meV; params[nparams].C6 *= meV; params[nparams].epsilon *= meV; diff --git a/src/INTERLAYER/pair_kolmogorov_crespi_full.cpp b/src/INTERLAYER/pair_kolmogorov_crespi_full.cpp index 8387703025..d27a99098f 100644 --- a/src/INTERLAYER/pair_kolmogorov_crespi_full.cpp +++ b/src/INTERLAYER/pair_kolmogorov_crespi_full.cpp @@ -61,6 +61,9 @@ PairKolmogorovCrespiFull::PairKolmogorovCrespiFull(LAMMPS *lmp) : Pair(lmp) { restartinfo = 0; one_coeff = 1; + manybody_flag = 1; + centroidstressflag = CENTROID_NOTAVAIL; + unit_convert_flag = utils::get_supported_conversions(utils::ENERGY); if (lmp->citeme) lmp->citeme->add(cite_kc); @@ -85,7 +88,7 @@ PairKolmogorovCrespiFull::PairKolmogorovCrespiFull(LAMMPS *lmp) : Pair(lmp) // always compute energy offset offset_flag = 1; - // turn on the taper function + // turn off the taper function by default tap_flag = 0; } @@ -195,6 +198,11 @@ void PairKolmogorovCrespiFull::read_file(char *filename) PotentialFileReader reader(lmp, filename, "kolmogorov/crespi/full", unit_convert_flag); char *line; + // transparently convert units for supported conversions + + int unit_convert = reader.get_unit_convert(); + double conversion_factor = utils::get_conversion_factor(utils::ENERGY, unit_convert); + while ((line = reader.next_line(NPARAMS_PER_LINE))) { try { @@ -248,7 +256,10 @@ void PairKolmogorovCrespiFull::read_file(char *filename) } // energies in meV further scaled by S + const double meV = 1.0e-3*params[nparams].S; + if (unit_convert) meV *= conversion_factor; + params[nparams].C *= meV; params[nparams].A *= meV; params[nparams].C0 *= meV; From 58a86412ec347c5a1848294754c91f68ce820189 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 17 Aug 2021 16:26:59 -0400 Subject: [PATCH 683/726] recover compilation --- src/INTERLAYER/pair_ilp_graphene_hbn.cpp | 2 +- src/INTERLAYER/pair_kolmogorov_crespi_full.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/INTERLAYER/pair_ilp_graphene_hbn.cpp b/src/INTERLAYER/pair_ilp_graphene_hbn.cpp index 7b6469b705..e4d72e7fe6 100644 --- a/src/INTERLAYER/pair_ilp_graphene_hbn.cpp +++ b/src/INTERLAYER/pair_ilp_graphene_hbn.cpp @@ -260,7 +260,7 @@ void PairILPGrapheneHBN::read_file(char *filename) // energies in meV further scaled by S // S = 43.3634 meV = 1 kcal/mol - const double meV = 1e-3*params[nparams].S; + double meV = 1e-3*params[nparams].S; if (unit_convert) meV *= conversion_factor; params[nparams].C *= meV; diff --git a/src/INTERLAYER/pair_kolmogorov_crespi_full.cpp b/src/INTERLAYER/pair_kolmogorov_crespi_full.cpp index d27a99098f..99896846df 100644 --- a/src/INTERLAYER/pair_kolmogorov_crespi_full.cpp +++ b/src/INTERLAYER/pair_kolmogorov_crespi_full.cpp @@ -257,7 +257,7 @@ void PairKolmogorovCrespiFull::read_file(char *filename) // energies in meV further scaled by S - const double meV = 1.0e-3*params[nparams].S; + double meV = 1.0e-3*params[nparams].S; if (unit_convert) meV *= conversion_factor; params[nparams].C *= meV; From 62564b0a5c842d239ea1d5e9c65272b7e2b1e9d0 Mon Sep 17 00:00:00 2001 From: Christoph Junghans Date: Tue, 17 Aug 2021 15:52:09 -0600 Subject: [PATCH 684/726] cmake: only use LMP_KOKKOS define in build interface --- cmake/Modules/Packages/KOKKOS.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/Modules/Packages/KOKKOS.cmake b/cmake/Modules/Packages/KOKKOS.cmake index 2a47881706..a1cf680266 100644 --- a/cmake/Modules/Packages/KOKKOS.cmake +++ b/cmake/Modules/Packages/KOKKOS.cmake @@ -74,7 +74,7 @@ else() target_link_libraries(lammps PRIVATE kokkos) target_link_libraries(lmp PRIVATE kokkos) endif() -target_compile_definitions(lammps PUBLIC -DLMP_KOKKOS) +target_compile_definitions(lammps PUBLIC $) set(KOKKOS_PKG_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/KOKKOS) set(KOKKOS_PKG_SOURCES ${KOKKOS_PKG_SOURCES_DIR}/kokkos.cpp From bb3c4797b3904eb9cce8b839a664e7c970761e0c Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 17 Aug 2021 21:55:12 -0400 Subject: [PATCH 685/726] update some more interlayer potential files --- potentials/CC.KC | 7 ++----- potentials/CC.Lebedeva | 6 +++--- potentials/CH.KC | 2 +- potentials/CH_taper.KC | 2 +- 4 files changed, 7 insertions(+), 10 deletions(-) diff --git a/potentials/CC.KC b/potentials/CC.KC index 6559eb4120..5e0bc0d89d 100644 --- a/potentials/CC.KC +++ b/potentials/CC.KC @@ -1,8 +1,5 @@ -# Kolmogorov-Crespi Potential +# DATE: 2017-02-28 UNITS: metal CONTRIBUTOR: Jaap Kroes jaapkroes@gmail.com CITATION: Kolmogorov, Crespi, Physical Review B 71, 235415 (2005) +# Kolmogorov-Crespi Potential for pair style kolmogorov/crespi/z # -# Cite as A.N. Kolmogorov & V. H. Crespi, -# Registry-dependent interlayer potential for graphitic systems -# Physical Review B 71, 235415 (2005) -# # z0 C0 C2 C4 C delta lambda A S C C 3.34 15.71 12.29 4.933 3.030 0.578 3.629 10.238 1.0 diff --git a/potentials/CC.Lebedeva b/potentials/CC.Lebedeva index b5599ee0a6..bc2db03f6b 100644 --- a/potentials/CC.Lebedeva +++ b/potentials/CC.Lebedeva @@ -4,9 +4,9 @@ # Parameters must be in this order as here, otherwise their values may be changed. # The last one, S, is convenient for scaling the potential amplitude. S is a multiplication factor for A, B, C -# A B C z0 alpha D1 D2 lambda1 lambda2 S +# A B C z0 alpha D1 D2 lambda1 lambda2 S # These are values according to Levedeva et al -#C C 10.510 11.6523.34 35.883 3.34 4.16 -0.86232 0.10049 0.48703 0.46445 1.0 +#C C 10.510 11.6523.34 35.883 3.34 4.16 -0.86232 0.10049 0.48703 0.46445 1.0 # # These are values by Z. Koziol et al.: https://arxiv.org/abs/1803.05162 -C C 14.558 21.204 1.8 3.198 4.16 -0.862 0.10049 0.6 0.4 1.0 +C C 14.558 21.204 1.8 3.198 4.16 -0.862 0.10049 0.6 0.4 1.0 diff --git a/potentials/CH.KC b/potentials/CH.KC index bfab2954df..0ec32b8dff 100644 --- a/potentials/CH.KC +++ b/potentials/CH.KC @@ -1,5 +1,5 @@ # DATE: 2018-09-12 UNITS: metal CONTRIBUTOR: Wengen Ouyang w.g.ouyang@gmail.com CITATION: Ouyang, Mandelli, Urbakh, Hod, Nano Letters 18, 6009-6016 (2018). -# Refined parameters for Kolmogorov-Crespi Potential without taper function +# Refined parameters for Kolmogorov-Crespi Potential without taper function for pair style kolmogorov/crespi/full # # z0 C0 C2 C4 C delta lambda A S rcut C C 3.328819 21.847167 12.060173 4.711099 6.678908e-4 0.7718101 3.143921 12.660270 1.0 2.0 diff --git a/potentials/CH_taper.KC b/potentials/CH_taper.KC index 0043b1b9d0..e7f4b566c8 100644 --- a/potentials/CH_taper.KC +++ b/potentials/CH_taper.KC @@ -1,5 +1,5 @@ # DATE: 2018-09-12 UNITS: metal CONTRIBUTOR: Wengen Ouyang w.g.ouyang@gmail.com CITATION: W. Ouyang, D. Mandelli, M. Urbakh and O. Hod, Nano Letters 18, 6009-6016 (2018). -# Refined parameters for Kolmogorov-Crespi Potential with taper function +# Refined parameters for Kolmogorov-Crespi Potential with taper function for pair style kolmogorov/crespi/full # # z0 C0 C2 C4 C delta lambda A S rcut C C 3.416084 20.021583 10.9055107 4.2756354 1.0010836E-2 0.8447122 2.9360584 14.3132588 1.0 2.0 From 661ec1acc3ce3d81ed1a9a0fb3b9be77e7cd030a Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 17 Aug 2021 21:55:22 -0400 Subject: [PATCH 686/726] fix typo --- examples/PACKAGES/interlayer/lebedeva/lebedeva00.plot | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/PACKAGES/interlayer/lebedeva/lebedeva00.plot b/examples/PACKAGES/interlayer/lebedeva/lebedeva00.plot index a598c3e6b1..f401dc5677 100644 --- a/examples/PACKAGES/interlayer/lebedeva/lebedeva00.plot +++ b/examples/PACKAGES/interlayer/lebedeva/lebedeva00.plot @@ -28,7 +28,7 @@ set yrange [-0.002:0.001] #set yrange [*:*] plot \ - "LamppsResult.dat" u 2:5 t "Leb LAMMPS",\ + "LammpsResult.dat" u 2:5 t "Leb LAMMPS",\ "PerlResult.dat" u 1:($4*0.001/2.) w l t "Leb Perl" exit From bbb8adf656fe5235b3429c0ffa6bac3e7980336e Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 17 Aug 2021 21:56:17 -0400 Subject: [PATCH 687/726] update kolmogorov/crespi/z and lebedeva/z pair styles to use new file reader and unit conversion --- src/INTERLAYER/pair_kolmogorov_crespi_z.cpp | 226 ++++++++------------ src/INTERLAYER/pair_kolmogorov_crespi_z.h | 5 +- src/INTERLAYER/pair_lebedeva_z.cpp | 221 ++++++++----------- src/INTERLAYER/pair_lebedeva_z.h | 5 +- 4 files changed, 192 insertions(+), 265 deletions(-) diff --git a/src/INTERLAYER/pair_kolmogorov_crespi_z.cpp b/src/INTERLAYER/pair_kolmogorov_crespi_z.cpp index 481e9f6604..c28a405adc 100644 --- a/src/INTERLAYER/pair_kolmogorov_crespi_z.cpp +++ b/src/INTERLAYER/pair_kolmogorov_crespi_z.cpp @@ -30,6 +30,8 @@ #include "force.h" #include "memory.h" #include "neigh_list.h" +#include "potential_file_reader.h" +#include "tokenizer.h" #include #include @@ -45,14 +47,15 @@ PairKolmogorovCrespiZ::PairKolmogorovCrespiZ(LAMMPS *lmp) : Pair(lmp) { single_enable = 0; restartinfo = 0; + manybody_flag = 1; + centroidstressflag = CENTROID_NOTAVAIL; + unit_convert_flag = utils::get_supported_conversions(utils::ENERGY); // initialize element to parameter maps nelements = 0; elements = nullptr; nparams = maxparam = 0; params = nullptr; - elem2param = nullptr; - map = nullptr; // always compute energy offset offset_flag = 1; @@ -65,7 +68,6 @@ PairKolmogorovCrespiZ::~PairKolmogorovCrespiZ() if (allocated) { memory->destroy(setflag); memory->destroy(cutsq); - memory->destroy(cut); memory->destroy(offset); } @@ -159,8 +161,7 @@ void PairKolmogorovCrespiZ::compute(int eflag, int vflag) } if (evflag) { - ev_tally_xyz(i,j,nlocal,newton_pair,evdwl,0, - fsum,fsum,fpair,delx,dely,delz); + ev_tally_xyz(i,j,nlocal,newton_pair,evdwl,0,fsum,fsum,fpair,delx,dely,delz); } } } @@ -176,17 +177,16 @@ void PairKolmogorovCrespiZ::compute(int eflag, int vflag) void PairKolmogorovCrespiZ::allocate() { allocated = 1; - int n = atom->ntypes; + int n = atom->ntypes+1; - memory->create(setflag,n+1,n+1,"pair:setflag"); - for (int i = 1; i <= n; i++) - for (int j = i; j <= n; j++) + memory->create(setflag,n,n,"pair:setflag"); + for (int i = 1; i < n; i++) + for (int j = i; j < n; j++) setflag[i][j] = 0; - memory->create(cutsq,n+1,n+1,"pair:cutsq"); - memory->create(cut,n+1,n+1,"pair:cut"); - memory->create(offset,n+1,n+1,"pair:offset"); - map = new int[atom->ntypes+1]; + memory->create(cutsq,n,n,"pair:cutsq"); + memory->create(offset,n,n,"pair:offset"); + map = new int[n]; } /* ---------------------------------------------------------------------- @@ -200,15 +200,6 @@ void PairKolmogorovCrespiZ::settings(int narg, char **arg) error->all(FLERR,"ERROR: requires hybrid/overlay pair_style"); cut_global = utils::numeric(FLERR,arg[0],false,lmp); - - // reset cutoffs that have been explicitly set - - if (allocated) { - int i,j; - for (i = 1; i <= atom->ntypes; i++) - for (j = i; j <= atom->ntypes; j++) - if (setflag[i][j]) cut[i][j] = cut_global; - } } /* ---------------------------------------------------------------------- @@ -232,7 +223,6 @@ void PairKolmogorovCrespiZ::coeff(int narg, char **arg) for (int i = ilo; i <= ihi; i++) { for (int j = MAX(jlo,i); j <= jhi; j++) { if ((map[i] >=0) && (map[j] >= 0)) { - cut[i][j] = cut_global; setflag[i][j] = 1; count++; } @@ -253,14 +243,14 @@ double PairKolmogorovCrespiZ::init_one(int i, int j) if (!offset_flag) error->all(FLERR,"Must use 'pair_modify shift yes' with this pair style"); - if (offset_flag && (cut[i][j] > 0.0)) { + if (offset_flag && (cut_global > 0.0)) { int iparam_ij = elem2param[map[i]][map[j]]; Param& p = params[iparam_ij]; - offset[i][j] = -p.A*pow(p.z0/cut[i][j],6); + offset[i][j] = -p.A*pow(p.z0/cut_global,6); } else offset[i][j] = 0.0; offset[j][i] = offset[i][j]; - return cut[i][j]; + return cut_global; } /* ---------------------------------------------------------------------- @@ -269,133 +259,108 @@ double PairKolmogorovCrespiZ::init_one(int i, int j) void PairKolmogorovCrespiZ::read_file(char *filename) { - int params_per_line = 11; - char **words = new char*[params_per_line+1]; memory->sfree(params); params = nullptr; nparams = maxparam = 0; // open file on proc 0 - FILE *fp; if (comm->me == 0) { - fp = utils::open_potential(filename,lmp,nullptr); - if (fp == nullptr) - error->one(FLERR,"Cannot open KC potential file {}: {}",filename, utils::getsyserror()); - } + PotentialFileReader reader(lmp, filename, "kolmogorov/crespi/z", unit_convert_flag); + char *line; - // read each line out of file, skipping blank lines or leading '#' - // store line of params if all 3 element tags are in element list + // transparently convert units for supported conversions - int i,j,n,m,nwords,ielement,jelement; - char line[MAXLINE],*ptr; - int eof = 0; + int unit_convert = reader.get_unit_convert(); + double conversion_factor = utils::get_conversion_factor(utils::ENERGY, unit_convert); - while (1) { - if (comm->me == 0) { - ptr = fgets(line,MAXLINE,fp); - if (ptr == nullptr) { - eof = 1; - fclose(fp); - } else n = strlen(line) + 1; - } - MPI_Bcast(&eof,1,MPI_INT,0,world); - if (eof) break; - MPI_Bcast(&n,1,MPI_INT,0,world); - MPI_Bcast(line,n,MPI_CHAR,0,world); + while ((line = reader.next_line(NPARAMS_PER_LINE))) { - // strip comment, skip line if blank + try { + ValueTokenizer values(line); - if ((ptr = strchr(line,'#'))) *ptr = '\0'; - nwords = utils::count_words(line); - if (nwords == 0) continue; + std::string iname = values.next_string(); + std::string jname = values.next_string(); - // concatenate additional lines until have params_per_line words + // ielement,jelement = 1st args + // if both args are in element list, then parse this line + // else skip to next entry in file + int ielement, jelement; - while (nwords < params_per_line) { - n = strlen(line); - if (comm->me == 0) { - ptr = fgets(&line[n],MAXLINE-n,fp); - if (ptr == nullptr) { - eof = 1; - fclose(fp); - } else n = strlen(line) + 1; + for (ielement = 0; ielement < nelements; ielement++) + if (iname == elements[ielement]) break; + if (ielement == nelements) continue; + for (jelement = 0; jelement < nelements; jelement++) + if (jname == elements[jelement]) break; + if (jelement == nelements) continue; + + // expand storage, if needed + + if (nparams == maxparam) { + maxparam += DELTA; + params = (Param *) memory->srealloc(params,maxparam*sizeof(Param), "pair:params"); + + // make certain all addional allocated storage is initialized + // to avoid false positives when checking with valgrind + + memset(params + nparams, 0, DELTA*sizeof(Param)); + } + + // load up parameter settings and error check their values + + params[nparams].ielement = ielement; + params[nparams].jelement = jelement; + params[nparams].z0 = values.next_double(); + params[nparams].C0 = values.next_double(); + params[nparams].C2 = values.next_double(); + params[nparams].C4 = values.next_double(); + params[nparams].C = values.next_double(); + params[nparams].delta = values.next_double(); + params[nparams].lambda = values.next_double(); + params[nparams].A = values.next_double(); + // S provides a convenient scaling of all energies + params[nparams].S = values.next_double(); + + } catch (TokenizerException &e) { + error->one(FLERR, e.what()); } - MPI_Bcast(&eof,1,MPI_INT,0,world); - if (eof) break; - MPI_Bcast(&n,1,MPI_INT,0,world); - MPI_Bcast(line,n,MPI_CHAR,0,world); - if ((ptr = strchr(line,'#'))) *ptr = '\0'; - nwords = utils::count_words(line); + + // energies in meV further scaled by S + // S = 43.3634 meV = 1 kcal/mol + + double meV = 1e-3*params[nparams].S; + if (unit_convert) meV *= conversion_factor; + + params[nparams].C *= meV; + params[nparams].A *= meV; + params[nparams].C0 *= meV; + params[nparams].C2 *= meV; + params[nparams].C4 *= meV; + + // precompute some quantities + params[nparams].delta2inv = pow(params[nparams].delta,-2); + params[nparams].z06 = pow(params[nparams].z0,6); + + nparams++; + if (nparams >= pow(atom->ntypes,3)) break; } - if (nwords != params_per_line) - error->all(FLERR,"Insufficient format in KC potential file"); + MPI_Bcast(&nparams, 1, MPI_INT, 0, world); + MPI_Bcast(&maxparam, 1, MPI_INT, 0, world); - // words = ptrs to all words in line - - nwords = 0; - words[nwords++] = strtok(line," \t\n\r\f"); - while ((words[nwords++] = strtok(nullptr," \t\n\r\f"))) continue; - - // ielement,jelement = 1st args - // if these 2 args are in element list, then parse this line - // else skip to next line (continue) - - for (ielement = 0; ielement < nelements; ielement++) - if (strcmp(words[0],elements[ielement]) == 0) break; - if (ielement == nelements) continue; - for (jelement = 0; jelement < nelements; jelement++) - if (strcmp(words[1],elements[jelement]) == 0) break; - if (jelement == nelements) continue; - - // load up parameter settings and error check their values - - if (nparams == maxparam) { - maxparam += DELTA; - params = (Param *) memory->srealloc(params,maxparam*sizeof(Param), - "pair:params"); - - // make certain all addional allocated storage is initialized - // to avoid false positives when checking with valgrind - - memset(params + nparams, 0, DELTA*sizeof(Param)); + if (comm->me != 0) { + params = (Param *) memory->srealloc(params,maxparam*sizeof(Param), "pair:params"); } - params[nparams].ielement = ielement; - params[nparams].jelement = jelement; - params[nparams].z0 = atof(words[2]); - params[nparams].C0 = atof(words[3]); - params[nparams].C2 = atof(words[4]); - params[nparams].C4 = atof(words[5]); - params[nparams].C = atof(words[6]); - params[nparams].delta = atof(words[7]); - params[nparams].lambda = atof(words[8]); - params[nparams].A = atof(words[9]); - // S provides a convenient scaling of all energies - params[nparams].S = atof(words[10]); - - // energies in meV further scaled by S - double meV = 1.0e-3*params[nparams].S; - params[nparams].C *= meV; - params[nparams].A *= meV; - params[nparams].C0 *= meV; - params[nparams].C2 *= meV; - params[nparams].C4 *= meV; - - // precompute some quantities - params[nparams].delta2inv = pow(params[nparams].delta,-2); - params[nparams].z06 = pow(params[nparams].z0,6); - - nparams++; - if (nparams >= pow(atom->ntypes,3)) break; + MPI_Bcast(params, maxparam*sizeof(Param), MPI_BYTE, 0, world); } + memory->destroy(elem2param); memory->create(elem2param,nelements,nelements,"pair:elem2param"); - for (i = 0; i < nelements; i++) { - for (j = 0; j < nelements; j++) { - n = -1; - for (m = 0; m < nparams; m++) { + for (int i = 0; i < nelements; i++) { + for (int j = 0; j < nelements; j++) { + int n = -1; + for (int m = 0; m < nparams; m++) { if (i == params[m].ielement && j == params[m].jelement) { if (n >= 0) error->all(FLERR,"Potential file has duplicate entry"); n = m; @@ -405,7 +370,6 @@ void PairKolmogorovCrespiZ::read_file(char *filename) elem2param[i][j] = n; } } - delete [] words; } /* ---------------------------------------------------------------------- */ diff --git a/src/INTERLAYER/pair_kolmogorov_crespi_z.h b/src/INTERLAYER/pair_kolmogorov_crespi_z.h index 9db07b59f7..d036f7bc76 100644 --- a/src/INTERLAYER/pair_kolmogorov_crespi_z.h +++ b/src/INTERLAYER/pair_kolmogorov_crespi_z.h @@ -34,9 +34,9 @@ class PairKolmogorovCrespiZ : public Pair { void coeff(int, char **); double init_one(int, int); - protected: - int me; + static constexpr int NPARAMS_PER_LINE = 11; +protected: struct Param { double z0, C0, C2, C4, C, delta, lambda, A, S; double delta2inv, z06; @@ -45,7 +45,6 @@ class PairKolmogorovCrespiZ : public Pair { Param *params; // parameter set for I-J interactions double cut_global; - double **cut; double **offset; void read_file(char *); void allocate(); diff --git a/src/INTERLAYER/pair_lebedeva_z.cpp b/src/INTERLAYER/pair_lebedeva_z.cpp index 13a7797534..e275d7c475 100644 --- a/src/INTERLAYER/pair_lebedeva_z.cpp +++ b/src/INTERLAYER/pair_lebedeva_z.cpp @@ -31,6 +31,8 @@ #include "force.h" #include "memory.h" #include "neigh_list.h" +#include "potential_file_reader.h" +#include "tokenizer.h" #include #include @@ -46,6 +48,9 @@ PairLebedevaZ::PairLebedevaZ(LAMMPS *lmp) : Pair(lmp) { single_enable = 0; restartinfo = 0; + manybody_flag = 1; + centroidstressflag = CENTROID_NOTAVAIL; + unit_convert_flag = utils::get_supported_conversions(utils::ENERGY); // initialize element to parameter maps params = nullptr; @@ -61,7 +66,6 @@ PairLebedevaZ::~PairLebedevaZ() if (allocated) { memory->destroy(setflag); memory->destroy(cutsq); - memory->destroy(cut); memory->destroy(offset); } @@ -167,17 +171,16 @@ void PairLebedevaZ::compute(int eflag, int vflag) void PairLebedevaZ::allocate() { allocated = 1; - int n = atom->ntypes; + int n = atom->ntypes+1; - memory->create(setflag,n+1,n+1,"pair:setflag"); - for (int i = 1; i <= n; i++) - for (int j = i; j <= n; j++) + memory->create(setflag,n,n,"pair:setflag"); + for (int i = 1; i < n; i++) + for (int j = i; j < n; j++) setflag[i][j] = 0; - memory->create(cutsq,n+1,n+1,"pair:cutsq"); - memory->create(cut,n+1,n+1,"pair:cut"); - memory->create(offset,n+1,n+1,"pair:offset"); - map = new int[atom->ntypes+1]; + memory->create(cutsq,n,n,"pair:cutsq"); + memory->create(offset,n,n,"pair:offset"); + map = new int[n]; } /* ---------------------------------------------------------------------- @@ -191,15 +194,6 @@ void PairLebedevaZ::settings(int narg, char **arg) error->all(FLERR,"Pair style lebedeva/z requires using hybrid/overlay"); cut_global = utils::numeric(FLERR,arg[0],false,lmp); - - // reset cutoffs that have been explicitly set - - if (allocated) { - int i,j; - for (i = 1; i <= atom->ntypes; i++) - for (j = i; j <= atom->ntypes; j++) - if (setflag[i][j]) cut[i][j] = cut_global; - } } /* ---------------------------------------------------------------------- @@ -223,7 +217,6 @@ void PairLebedevaZ::coeff(int narg, char **arg) for (int i = ilo; i <= ihi; i++) { for (int j = MAX(jlo,i); j <= jhi; j++) { if ((map[i] >= 0) && (map[j] >= 0)) { - cut[i][j] = cut_global; setflag[i][j] = 1; count++; } @@ -233,7 +226,6 @@ void PairLebedevaZ::coeff(int narg, char **arg) if (count == 0) error->all(FLERR,"Incorrect args for pair coefficients"); } - /* ---------------------------------------------------------------------- init for one type pair i,j and corresponding j,i ------------------------------------------------------------------------- */ @@ -244,14 +236,14 @@ double PairLebedevaZ::init_one(int i, int j) if (!offset_flag) error->all(FLERR,"Must use 'pair_modify shift yes' with this pair style"); - if (offset_flag && (cut[i][j] > 0.0)) { + if (offset_flag && (cut_global > 0.0)) { int iparam_ij = elem2param[map[i]][map[j]]; Param& p = params[iparam_ij]; - offset[i][j] = -p.A*pow(p.z0/cut[i][j],6); + offset[i][j] = -p.A*pow(p.z0/cut_global,6); } else offset[i][j] = 0.0; offset[j][i] = offset[i][j]; - return cut[i][j]; + return cut_global; } /* ---------------------------------------------------------------------- @@ -261,133 +253,107 @@ double PairLebedevaZ::init_one(int i, int j) void PairLebedevaZ::read_file(char *filename) { int params_per_line = 12; - char **words = new char*[params_per_line+1]; memory->sfree(params); params = nullptr; nparams = maxparam = 0; // open file on proc 0 - FILE *fp; if (comm->me == 0) { - fp = utils::open_potential(filename,lmp,nullptr); - if (fp == nullptr) { - char str[128]; - sprintf(str,"Cannot open Lebedeva potential file %s",filename); - error->one(FLERR,str); - } - } + PotentialFileReader reader(lmp, filename, "lebedeva/z", unit_convert_flag); + char *line; - // read each line out of file, skipping blank lines or leading '#' - // store line of params if all 3 element tags are in element list + // transparently convert units for supported conversions - int i,j,n,m,nwords,ielement,jelement; - char line[MAXLINE],*ptr; - int eof = 0; + int unit_convert = reader.get_unit_convert(); + double conversion_factor = utils::get_conversion_factor(utils::ENERGY, unit_convert); - while (1) { - if (comm->me == 0) { - ptr = fgets(line,MAXLINE,fp); - if (ptr == nullptr) { - eof = 1; - fclose(fp); - } else n = strlen(line) + 1; - } - MPI_Bcast(&eof,1,MPI_INT,0,world); - if (eof) break; - MPI_Bcast(&n,1,MPI_INT,0,world); - MPI_Bcast(line,n,MPI_CHAR,0,world); + while ((line = reader.next_line(NPARAMS_PER_LINE))) { - // strip comment, skip line if blank + try { + ValueTokenizer values(line); - if ((ptr = strchr(line,'#'))) *ptr = '\0'; - nwords = utils::count_words(line); - if (nwords == 0) continue; + std::string iname = values.next_string(); + std::string jname = values.next_string(); - // concatenate additional lines until have params_per_line words + // ielement,jelement = 1st args + // if both args are in element list, then parse this line + // else skip to next entry in file + int ielement, jelement; - while (nwords < params_per_line) { - n = strlen(line); - if (comm->me == 0) { - ptr = fgets(&line[n],MAXLINE-n,fp); - if (ptr == nullptr) { - eof = 1; - fclose(fp); - } else n = strlen(line) + 1; + for (ielement = 0; ielement < nelements; ielement++) + if (iname == elements[ielement]) break; + if (ielement == nelements) continue; + for (jelement = 0; jelement < nelements; jelement++) + if (jname == elements[jelement]) break; + if (jelement == nelements) continue; + + // expand storage, if needed + + if (nparams == maxparam) { + maxparam += DELTA; + params = (Param *) memory->srealloc(params,maxparam*sizeof(Param), "pair:params"); + + // make certain all addional allocated storage is initialized + // to avoid false positives when checking with valgrind + + memset(params + nparams, 0, DELTA*sizeof(Param)); + } + + // load up parameter settings and error check their values + + params[nparams].ielement = ielement; + params[nparams].jelement = jelement; + params[nparams].A = values.next_double(); + params[nparams].B = values.next_double(); + params[nparams].C = values.next_double(); + params[nparams].z0 = values.next_double(); + params[nparams].alpha = values.next_double(); + params[nparams].D1 = values.next_double(); + params[nparams].D2 = values.next_double(); + params[nparams].lambda1 = values.next_double(); + params[nparams].lambda2 = values.next_double(); + // S provides a convenient scaling of all energies + params[nparams].S = values.next_double(); + + } catch (TokenizerException &e) { + error->one(FLERR, e.what()); } - MPI_Bcast(&eof,1,MPI_INT,0,world); - if (eof) break; - MPI_Bcast(&n,1,MPI_INT,0,world); - MPI_Bcast(line,n,MPI_CHAR,0,world); - if ((ptr = strchr(line,'#'))) *ptr = '\0'; - nwords = utils::count_words(line); + + // energies in meV further scaled by S + // S = 43.3634 meV = 1 kcal/mol + + double meV = 1e-3*params[nparams].S; + if (unit_convert) meV *= conversion_factor; + + params[nparams].A *= meV; + params[nparams].B *= meV; + params[nparams].C *= meV; + + // precompute some quantities. That speeds up later process + params[nparams].z02 = pow(params[nparams].z0,2); + params[nparams].z06 = pow(params[nparams].z0,6); + + nparams++; + if (nparams >= pow(atom->ntypes,3)) break; } - if (nwords != params_per_line) - error->all(FLERR,"Insufficient format in Lebedeva potential file"); + MPI_Bcast(&nparams, 1, MPI_INT, 0, world); + MPI_Bcast(&maxparam, 1, MPI_INT, 0, world); - // words = ptrs to all words in line - - nwords = 0; - words[nwords++] = strtok(line," \t\n\r\f"); - while ((words[nwords++] = strtok(nullptr," \t\n\r\f"))) continue; - - // ielement,jelement = 1st args - // if these 2 args are in element list, then parse this line - // else skip to next line (continue) - - for (ielement = 0; ielement < nelements; ielement++) - if (strcmp(words[0],elements[ielement]) == 0) break; - if (ielement == nelements) continue; - for (jelement = 0; jelement < nelements; jelement++) - if (strcmp(words[1],elements[jelement]) == 0) break; - if (jelement == nelements) continue; - - // load up parameter settings and error check their values - - if (nparams == maxparam) { - maxparam += DELTA; - params = (Param *) memory->srealloc(params,maxparam*sizeof(Param), - "pair:params"); - - // make certain all addional allocated storage is initialized - // to avoid false positives when checking with valgrind - - memset(params + nparams, 0, DELTA*sizeof(Param)); + if (comm->me != 0) { + params = (Param *) memory->srealloc(params,maxparam*sizeof(Param), "pair:params"); } - params[nparams].ielement = ielement; - params[nparams].jelement = jelement; - params[nparams].A = atof(words[2]); - params[nparams].B = atof(words[3]); - params[nparams].C = atof(words[4]); - params[nparams].z0 = atof(words[5]); - params[nparams].alpha = atof(words[6]); - params[nparams].D1 = atof(words[7]); - params[nparams].D2 = atof(words[8]); - params[nparams].lambda1 = atof(words[9]); - params[nparams].lambda2 = atof(words[10]); - // S provides a convenient scaling of all energies - params[nparams].S = atof(words[11]); - // energies in meV further scaled by S - double meV = 1.0e-3*params[nparams].S; - params[nparams].A *= meV; - params[nparams].B *= meV; - params[nparams].C *= meV; - - // precompute some quantities. That speeds up later process - params[nparams].z02 = pow(params[nparams].z0,2); - params[nparams].z06 = pow(params[nparams].z0,6); - - nparams++; - if (nparams >= pow(atom->ntypes,3)) break; + MPI_Bcast(params, maxparam*sizeof(Param), MPI_BYTE, 0, world); } + memory->destroy(elem2param); memory->create(elem2param,nelements,nelements,"pair:elem2param"); - for (i = 0; i < nelements; i++) { - for (j = 0; j < nelements; j++) { - n = -1; - for (m = 0; m < nparams; m++) { + for (int i = 0; i < nelements; i++) { + for (int j = 0; j < nelements; j++) { + int n = -1; + for (int m = 0; m < nparams; m++) { if (i == params[m].ielement && j == params[m].jelement) { if (n >= 0) error->all(FLERR,"Potential file has duplicate entry"); n = m; @@ -397,7 +363,6 @@ void PairLebedevaZ::read_file(char *filename) elem2param[i][j] = n; } } - delete [] words; } /* ---------------------------------------------------------------------- */ diff --git a/src/INTERLAYER/pair_lebedeva_z.h b/src/INTERLAYER/pair_lebedeva_z.h index afe2ac1b81..9b2fbd56f8 100644 --- a/src/INTERLAYER/pair_lebedeva_z.h +++ b/src/INTERLAYER/pair_lebedeva_z.h @@ -34,9 +34,9 @@ class PairLebedevaZ : public Pair { void coeff(int, char **); double init_one(int, int); - protected: - int me; + static constexpr int NPARAMS_PER_LINE = 12; + protected: struct Param { double z0, A, B, C, alpha, D1, D2, lambda1, lambda2, S; double z02, z06; @@ -45,7 +45,6 @@ class PairLebedevaZ : public Pair { Param *params; // parameter set for I-J interactions double cut_global; - double **cut; double **offset; void read_file(char *); void allocate(); From 96b563dffcc49d11685ccc9a8e0bcb61447a3c62 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 17 Aug 2021 22:34:32 -0400 Subject: [PATCH 688/726] move common taper functions for interlayer potentials to separate header --- src/INTERLAYER/interlayer_taper.h | 67 +++++++++++++++++++ src/INTERLAYER/pair_coul_shield.cpp | 6 +- src/INTERLAYER/pair_coul_shield.h | 42 ------------ src/INTERLAYER/pair_ilp_graphene_hbn.cpp | 2 + src/INTERLAYER/pair_ilp_graphene_hbn.h | 42 ------------ .../pair_kolmogorov_crespi_full.cpp | 2 + src/INTERLAYER/pair_kolmogorov_crespi_full.h | 44 ------------ 7 files changed, 75 insertions(+), 130 deletions(-) create mode 100644 src/INTERLAYER/interlayer_taper.h diff --git a/src/INTERLAYER/interlayer_taper.h b/src/INTERLAYER/interlayer_taper.h new file mode 100644 index 0000000000..a496daca5d --- /dev/null +++ b/src/INTERLAYER/interlayer_taper.h @@ -0,0 +1,67 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +// Common definition of taper function and its derivative for interlayer potentials + +#ifndef LMP_INTERLAYER_TAPER_H +#define LMP_INTERLAYER_TAPER_H + +namespace LAMMPS_NS { +namespace InterLayer { + + static constexpr double Tap_coeff[8] = {1.0, 0.0, 0.0, 0.0, -35.0, 84.0, -70.0, 20.0}; + + /* ----Calculate the long-range cutoff term */ + static inline double calc_Tap(double r_ij, double Rcut) + { + double Tap, r; + + r = r_ij / Rcut; + if (r >= 1.0) { + Tap = 0.0; + } else { + Tap = Tap_coeff[7] * r + Tap_coeff[6]; + Tap = Tap * r + Tap_coeff[5]; + Tap = Tap * r + Tap_coeff[4]; + Tap = Tap * r + Tap_coeff[3]; + Tap = Tap * r + Tap_coeff[2]; + Tap = Tap * r + Tap_coeff[1]; + Tap = Tap * r + Tap_coeff[0]; + } + + return (Tap); + } + + /* ----Calculate the derivatives of long-range cutoff term */ + static inline double calc_dTap(double r_ij, double Rcut) + { + double dTap, r; + + r = r_ij / Rcut; + if (r >= 1.0) { + dTap = 0.0; + } else { + dTap = 7.0 * Tap_coeff[7] * r + 6.0 * Tap_coeff[6]; + dTap = dTap * r + 5.0 * Tap_coeff[5]; + dTap = dTap * r + 4.0 * Tap_coeff[4]; + dTap = dTap * r + 3.0 * Tap_coeff[3]; + dTap = dTap * r + 2.0 * Tap_coeff[2]; + dTap = dTap * r + Tap_coeff[1]; + dTap = dTap / Rcut; + } + + return (dTap); + } +} // namespace InterLayer +} // namespace LAMMPS_NS +#endif diff --git a/src/INTERLAYER/pair_coul_shield.cpp b/src/INTERLAYER/pair_coul_shield.cpp index dbb12abf2e..da2a2cf2fd 100644 --- a/src/INTERLAYER/pair_coul_shield.cpp +++ b/src/INTERLAYER/pair_coul_shield.cpp @@ -24,6 +24,7 @@ #include "comm.h" #include "error.h" #include "force.h" +#include "interlayer_taper.h" #include "math_special.h" #include "memory.h" #include "neigh_list.h" @@ -32,6 +33,7 @@ #include using namespace LAMMPS_NS; +using namespace InterLayer; /* ---------------------------------------------------------------------- */ @@ -257,7 +259,7 @@ double PairCoulShield::init_one(int i, int j) r3 = r * r * r; rarg = 1.0 / sigmae[i][j]; th = r3 + MathSpecial::cube(rarg); - epsr = 1.0 / pow(th, 1.0/3.0); + epsr = 1.0 / pow(th, 1.0 / 3.0); offset[i][j] = qqrd2e * q[i] * q[j] * epsr; } else offset[i][j] = 0.0; @@ -362,7 +364,7 @@ double PairCoulShield::single(int i, int j, int itype, int jtype, double rsq, do r3 = rsq * r; rarg = 1.0 / sigmae[itype][jtype]; th = r3 + MathSpecial::cube(rarg); - epsr = 1.0 / pow(th, 1.0/3.0); + epsr = 1.0 / pow(th, 1.0 / 3.0); depsdr = epsr * epsr; depsdr *= depsdr; Vc = qqrd2e * q[i] * q[j] * epsr; diff --git a/src/INTERLAYER/pair_coul_shield.h b/src/INTERLAYER/pair_coul_shield.h index 4413732577..10ace5ebd2 100644 --- a/src/INTERLAYER/pair_coul_shield.h +++ b/src/INTERLAYER/pair_coul_shield.h @@ -46,51 +46,9 @@ class PairCoulShield : public Pair { double cut_global; double **cut; double **sigmae, **offset; - //double a_eps, b_eps, eps_s; int tap_flag; void allocate(); - - /* ----Calculate the long-range cutoff term */ - inline double calc_Tap(double r_ij, double Rcut) - { - double Tap, r; - //int Tap_coeff[8] = {1,0,0,0,-35,84,-70,20}; - double Tap_coeff[8] = {1.0, 0.0, 0.0, 0.0, -35.0, 84.0, -70.0, 20.0}; - - r = r_ij / Rcut; - Tap = 0.0; - - Tap = Tap_coeff[7] * r + Tap_coeff[6]; - Tap = Tap * r + Tap_coeff[5]; - Tap = Tap * r + Tap_coeff[4]; - Tap = Tap * r + Tap_coeff[3]; - Tap = Tap * r + Tap_coeff[2]; - Tap = Tap * r + Tap_coeff[1]; - Tap = Tap * r + Tap_coeff[0]; - - return (Tap); - } - - /* ----Calculate the derivatives of long-range cutoff term */ - inline double calc_dTap(double r_ij, double Rcut) - { - double dTap, r; - double Tap_coeff[8] = {1.0, 0.0, 0.0, 0.0, -35.0, 84.0, -70.0, 20.0}; - - r = r_ij / Rcut; - dTap = 0.0; - - dTap = 7.0 * Tap_coeff[7] * r + 6.0 * Tap_coeff[6]; - dTap = dTap * r + 5.0 * Tap_coeff[5]; - dTap = dTap * r + 4.0 * Tap_coeff[4]; - dTap = dTap * r + 3.0 * Tap_coeff[3]; - dTap = dTap * r + 2.0 * Tap_coeff[2]; - dTap = dTap * r + Tap_coeff[1]; - dTap = dTap / Rcut; - - return (dTap); - } }; } // namespace LAMMPS_NS diff --git a/src/INTERLAYER/pair_ilp_graphene_hbn.cpp b/src/INTERLAYER/pair_ilp_graphene_hbn.cpp index e4d72e7fe6..f3bce6dcaf 100644 --- a/src/INTERLAYER/pair_ilp_graphene_hbn.cpp +++ b/src/INTERLAYER/pair_ilp_graphene_hbn.cpp @@ -35,11 +35,13 @@ #include "neighbor.h" #include "potential_file_reader.h" #include "tokenizer.h" +#include "interlayer_taper.h" #include #include using namespace LAMMPS_NS; +using namespace InterLayer; #define MAXLINE 1024 #define DELTA 4 diff --git a/src/INTERLAYER/pair_ilp_graphene_hbn.h b/src/INTERLAYER/pair_ilp_graphene_hbn.h index 5cae119905..476822ef82 100644 --- a/src/INTERLAYER/pair_ilp_graphene_hbn.h +++ b/src/INTERLAYER/pair_ilp_graphene_hbn.h @@ -71,48 +71,6 @@ class PairILPGrapheneHBN : public Pair { void read_file(char *); void allocate(); - - /* ----Calculate the long-range cutoff term */ - inline double calc_Tap(double r_ij, double Rcut) - { - double Tap, r; - double Tap_coeff[8] = {1.0, 0.0, 0.0, 0.0, -35.0, 84.0, -70.0, 20.0}; - - r = r_ij / Rcut; - if (r >= 1.0) { - Tap = 0.0; - } else { - Tap = Tap_coeff[7] * r + Tap_coeff[6]; - Tap = Tap * r + Tap_coeff[5]; - Tap = Tap * r + Tap_coeff[4]; - Tap = Tap * r + Tap_coeff[3]; - Tap = Tap * r + Tap_coeff[2]; - Tap = Tap * r + Tap_coeff[1]; - Tap = Tap * r + Tap_coeff[0]; - } - return (Tap); - } - - /* ----Calculate the derivatives of long-range cutoff term */ - inline double calc_dTap(double r_ij, double Rcut) - { - double dTap, r; - double Tap_coeff[8] = {1.0, 0.0, 0.0, 0.0, -35.0, 84.0, -70.0, 20.0}; - - r = r_ij / Rcut; - if (r >= 1.0) { - dTap = 0.0; - } else { - dTap = 7.0 * Tap_coeff[7] * r + 6.0 * Tap_coeff[6]; - dTap = dTap * r + 5.0 * Tap_coeff[5]; - dTap = dTap * r + 4.0 * Tap_coeff[4]; - dTap = dTap * r + 3.0 * Tap_coeff[3]; - dTap = dTap * r + 2.0 * Tap_coeff[2]; - dTap = dTap * r + Tap_coeff[1]; - dTap = dTap / Rcut; - } - return (dTap); - } }; } // namespace LAMMPS_NS diff --git a/src/INTERLAYER/pair_kolmogorov_crespi_full.cpp b/src/INTERLAYER/pair_kolmogorov_crespi_full.cpp index 99896846df..cbab6e07d1 100644 --- a/src/INTERLAYER/pair_kolmogorov_crespi_full.cpp +++ b/src/INTERLAYER/pair_kolmogorov_crespi_full.cpp @@ -28,6 +28,7 @@ #include "comm.h" #include "error.h" #include "force.h" +#include "interlayer_taper.h" #include "memory.h" #include "my_page.h" #include "neigh_list.h" @@ -40,6 +41,7 @@ #include using namespace LAMMPS_NS; +using namespace InterLayer; #define MAXLINE 1024 #define DELTA 4 diff --git a/src/INTERLAYER/pair_kolmogorov_crespi_full.h b/src/INTERLAYER/pair_kolmogorov_crespi_full.h index 4744375302..fb45a1cb02 100644 --- a/src/INTERLAYER/pair_kolmogorov_crespi_full.h +++ b/src/INTERLAYER/pair_kolmogorov_crespi_full.h @@ -70,50 +70,6 @@ class PairKolmogorovCrespiFull : public Pair { void read_file(char *); void allocate(); - - /* ----Calculate the long-range cutoff term */ - inline double calc_Tap(double r_ij, double Rcut) - { - double Tap, r; - double Tap_coeff[8] = {1.0, 0.0, 0.0, 0.0, -35.0, 84.0, -70.0, 20.0}; - - r = r_ij / Rcut; - if (r >= 1.0) { - Tap = 0.0; - } else { - Tap = Tap_coeff[7] * r + Tap_coeff[6]; - Tap = Tap * r + Tap_coeff[5]; - Tap = Tap * r + Tap_coeff[4]; - Tap = Tap * r + Tap_coeff[3]; - Tap = Tap * r + Tap_coeff[2]; - Tap = Tap * r + Tap_coeff[1]; - Tap = Tap * r + Tap_coeff[0]; - } - - return (Tap); - } - - /* ----Calculate the derivatives of long-range cutoff term */ - inline double calc_dTap(double r_ij, double Rcut) - { - double dTap, r; - double Tap_coeff[8] = {1.0, 0.0, 0.0, 0.0, -35.0, 84.0, -70.0, 20.0}; - - r = r_ij / Rcut; - if (r >= 1.0) { - dTap = 0.0; - } else { - dTap = 7.0 * Tap_coeff[7] * r + 6.0 * Tap_coeff[6]; - dTap = dTap * r + 5.0 * Tap_coeff[5]; - dTap = dTap * r + 4.0 * Tap_coeff[4]; - dTap = dTap * r + 3.0 * Tap_coeff[3]; - dTap = dTap * r + 2.0 * Tap_coeff[2]; - dTap = dTap * r + Tap_coeff[1]; - dTap = dTap / Rcut; - } - - return (dTap); - } }; } // namespace LAMMPS_NS From f470964393354cc8b51ecac34130f50a8d4774bf Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 17 Aug 2021 22:35:05 -0400 Subject: [PATCH 689/726] apply clang-format --- src/INTERLAYER/pair_ilp_graphene_hbn.cpp | 592 +++++++++--------- src/INTERLAYER/pair_ilp_graphene_hbn.h | 1 - .../pair_kolmogorov_crespi_full.cpp | 591 +++++++++-------- src/INTERLAYER/pair_kolmogorov_crespi_full.h | 7 +- src/INTERLAYER/pair_kolmogorov_crespi_z.cpp | 141 ++--- src/INTERLAYER/pair_kolmogorov_crespi_z.h | 2 +- src/INTERLAYER/pair_lebedeva_z.cpp | 1 - 7 files changed, 662 insertions(+), 673 deletions(-) diff --git a/src/INTERLAYER/pair_ilp_graphene_hbn.cpp b/src/INTERLAYER/pair_ilp_graphene_hbn.cpp index f3bce6dcaf..b68ed80486 100644 --- a/src/INTERLAYER/pair_ilp_graphene_hbn.cpp +++ b/src/INTERLAYER/pair_ilp_graphene_hbn.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -48,14 +47,14 @@ using namespace InterLayer; #define PGDELTA 1 static const char cite_ilp[] = - "@Article{Ouyang2018\n" - " author = {W. Ouyang, D. Mandelli, M. Urbakh, and O. Hod},\n" - " title = {Nanoserpents: Graphene Nanoribbon Motion on Two-Dimensional Hexagonal Materials},\n" - " journal = {Nano Letters},\n" - " volume = 18,\n" - " pages = {6009}\n" - " year = 2018,\n" - "}\n\n"; + "@Article{Ouyang2018\n" + " author = {W. Ouyang, D. Mandelli, M. Urbakh, and O. Hod},\n" + " title = {Nanoserpents: Graphene Nanoribbon Motion on Two-Dimensional Hexagonal Materials},\n" + " journal = {Nano Letters},\n" + " volume = 18,\n" + " pages = {6009}\n" + " year = 2018,\n" + "}\n\n"; /* ---------------------------------------------------------------------- */ @@ -100,8 +99,8 @@ PairILPGrapheneHBN::~PairILPGrapheneHBN() { memory->destroy(ILP_numneigh); memory->sfree(ILP_firstneigh); - delete [] ipage; - delete [] pvector; + delete[] ipage; + delete[] pvector; memory->destroy(normal); memory->destroy(dnormal); memory->destroy(dnormdri); @@ -109,7 +108,6 @@ PairILPGrapheneHBN::~PairILPGrapheneHBN() if (allocated) { memory->destroy(setflag); memory->destroy(cutsq); - memory->destroy(cut); memory->destroy(offset); } @@ -125,17 +123,15 @@ PairILPGrapheneHBN::~PairILPGrapheneHBN() void PairILPGrapheneHBN::allocate() { allocated = 1; - int n = atom->ntypes; + int n = atom->ntypes + 1; - memory->create(setflag,n+1,n+1,"pair:setflag"); - for (int i = 1; i <= n; i++) - for (int j = i; j <= n; j++) - setflag[i][j] = 0; + memory->create(setflag, n, n, "pair:setflag"); + for (int i = 1; i < n; i++) + for (int j = i; j < n; j++) setflag[i][j] = 0; - memory->create(cutsq,n+1,n+1,"pair:cutsq"); - memory->create(cut,n+1,n+1,"pair:cut"); - memory->create(offset,n+1,n+1,"pair:offset"); - map = new int[atom->ntypes+1]; + memory->create(cutsq, n, n, "pair:cutsq"); + memory->create(offset, n, n, "pair:offset"); + map = new int[n]; } /* ---------------------------------------------------------------------- @@ -144,12 +140,12 @@ void PairILPGrapheneHBN::allocate() void PairILPGrapheneHBN::settings(int narg, char **arg) { - if (narg < 1 || narg > 2) error->all(FLERR,"Illegal pair_style command"); - if (strcmp(force->pair_style,"hybrid/overlay")!=0) - error->all(FLERR,"ERROR: requires hybrid/overlay pair_style"); + if (narg < 1 || narg > 2) error->all(FLERR, "Illegal pair_style command"); + if (strcmp(force->pair_style, "hybrid/overlay") != 0) + error->all(FLERR, "ERROR: requires hybrid/overlay pair_style"); - cut_global = utils::numeric(FLERR,arg[0],false,lmp); - if (narg == 2) tap_flag = utils::numeric(FLERR,arg[1],false,lmp); + cut_global = utils::numeric(FLERR, arg[0], false, lmp); + if (narg == 2) tap_flag = utils::numeric(FLERR, arg[1], false, lmp); } /* ---------------------------------------------------------------------- @@ -160,26 +156,26 @@ void PairILPGrapheneHBN::coeff(int narg, char **arg) { if (!allocated) allocate(); - map_element2type(narg-3,arg+3); + map_element2type(narg - 3, arg + 3); read_file(arg[2]); } - /* ---------------------------------------------------------------------- init for one type pair i,j and corresponding j,i ------------------------------------------------------------------------- */ double PairILPGrapheneHBN::init_one(int i, int j) { - if (setflag[i][j] == 0) error->all(FLERR,"All pair coeffs are not set"); - if (!offset_flag) - error->all(FLERR,"Must use 'pair_modify shift yes' with this pair style"); + if (setflag[i][j] == 0) error->all(FLERR, "All pair coeffs are not set"); + if (!offset_flag) error->all(FLERR, "Must use 'pair_modify shift yes' with this pair style"); - if (offset_flag && (cut_global > 0.0)) { + if (offset_flag && (cut_global > 0.0)) { int iparam_ij = elem2param[map[i]][map[j]]; - Param& p = params[iparam_ij]; - offset[i][j] = -p.C6*pow(1.0/cut_global,6)/(1.0 + exp(-p.d*(cut_global/p.seff - 1.0))); - } else offset[i][j] = 0.0; + Param &p = params[iparam_ij]; + offset[i][j] = + -p.C6 * pow(1.0 / cut_global, 6) / (1.0 + exp(-p.d * (cut_global / p.seff - 1.0))); + } else + offset[i][j] = 0.0; offset[j][i] = offset[i][j]; return cut_global; @@ -230,30 +226,30 @@ void PairILPGrapheneHBN::read_file(char *filename) if (nparams == maxparam) { maxparam += DELTA; - params = (Param *) memory->srealloc(params,maxparam*sizeof(Param), "pair:params"); + params = (Param *) memory->srealloc(params, maxparam * sizeof(Param), "pair:params"); // make certain all addional allocated storage is initialized // to avoid false positives when checking with valgrind - memset(params + nparams, 0, DELTA*sizeof(Param)); + memset(params + nparams, 0, DELTA * sizeof(Param)); } // load up parameter settings and error check their values params[nparams].ielement = ielement; params[nparams].jelement = jelement; - params[nparams].z0 = values.next_double(); - params[nparams].alpha = values.next_double(); - params[nparams].delta = values.next_double(); - params[nparams].epsilon = values.next_double(); - params[nparams].C = values.next_double(); - params[nparams].d = values.next_double(); - params[nparams].sR = values.next_double(); - params[nparams].reff = values.next_double(); - params[nparams].C6 = values.next_double(); + params[nparams].z0 = values.next_double(); + params[nparams].alpha = values.next_double(); + params[nparams].delta = values.next_double(); + params[nparams].epsilon = values.next_double(); + params[nparams].C = values.next_double(); + params[nparams].d = values.next_double(); + params[nparams].sR = values.next_double(); + params[nparams].reff = values.next_double(); + params[nparams].C6 = values.next_double(); // S provides a convenient scaling of all energies - params[nparams].S = values.next_double(); - params[nparams].rcut = values.next_double(); + params[nparams].S = values.next_double(); + params[nparams].rcut = values.next_double(); } catch (TokenizerException &e) { error->one(FLERR, e.what()); @@ -262,7 +258,7 @@ void PairILPGrapheneHBN::read_file(char *filename) // energies in meV further scaled by S // S = 43.3634 meV = 1 kcal/mol - double meV = 1e-3*params[nparams].S; + double meV = 1e-3 * params[nparams].S; if (unit_convert) meV *= conversion_factor; params[nparams].C *= meV; @@ -270,8 +266,8 @@ void PairILPGrapheneHBN::read_file(char *filename) params[nparams].epsilon *= meV; // precompute some quantities - params[nparams].delta2inv = pow(params[nparams].delta,-2.0); - params[nparams].lambda = params[nparams].alpha/params[nparams].z0; + params[nparams].delta2inv = pow(params[nparams].delta, -2.0); + params[nparams].lambda = params[nparams].alpha / params[nparams].z0; params[nparams].seff = params[nparams].sR * params[nparams].reff; nparams++; @@ -281,27 +277,27 @@ void PairILPGrapheneHBN::read_file(char *filename) MPI_Bcast(&maxparam, 1, MPI_INT, 0, world); if (comm->me != 0) { - params = (Param *) memory->srealloc(params,maxparam*sizeof(Param), "pair:params"); + params = (Param *) memory->srealloc(params, maxparam * sizeof(Param), "pair:params"); } - MPI_Bcast(params, maxparam*sizeof(Param), MPI_BYTE, 0, world); + MPI_Bcast(params, maxparam * sizeof(Param), MPI_BYTE, 0, world); } memory->destroy(elem2param); memory->destroy(cutILPsq); - memory->create(elem2param,nelements,nelements,"pair:elem2param"); - memory->create(cutILPsq,nelements,nelements,"pair:cutILPsq"); + memory->create(elem2param, nelements, nelements, "pair:elem2param"); + memory->create(cutILPsq, nelements, nelements, "pair:cutILPsq"); for (int i = 0; i < nelements; i++) { for (int j = 0; j < nelements; j++) { int n = -1; for (int m = 0; m < nparams; m++) { if (i == params[m].ielement && j == params[m].jelement) { - if (n >= 0) error->all(FLERR,"ILP Potential file has duplicate entry"); + if (n >= 0) error->all(FLERR, "ILP Potential file has duplicate entry"); n = m; } } - if (n < 0) error->all(FLERR,"Potential file is missing an entry"); + if (n < 0) error->all(FLERR, "Potential file is missing an entry"); elem2param[i][j] = n; - cutILPsq[i][j] = params[n].rcut*params[n].rcut; + cutILPsq[i][j] = params[n].rcut * params[n].rcut; } } } @@ -313,13 +309,13 @@ void PairILPGrapheneHBN::read_file(char *filename) void PairILPGrapheneHBN::init_style() { if (force->newton_pair == 0) - error->all(FLERR,"Pair style ilp/graphene/hbn requires newton pair on"); + error->all(FLERR, "Pair style ilp/graphene/hbn requires newton pair on"); if (!atom->molecule_flag) - error->all(FLERR,"Pair style ilp/graphene/hbn requires atom attribute molecule"); + error->all(FLERR, "Pair style ilp/graphene/hbn requires atom attribute molecule"); // need a full neighbor list, including neighbors of ghosts - int irequest = neighbor->request(this,instance_me); + int irequest = neighbor->request(this, instance_me); neighbor->requests[irequest]->half = 0; neighbor->requests[irequest]->full = 1; neighbor->requests[irequest]->ghost = 1; @@ -333,21 +329,20 @@ void PairILPGrapheneHBN::init_style() if (oneatom != neighbor->oneatom) create = 1; if (create) { - delete [] ipage; + delete[] ipage; pgsize = neighbor->pgsize; oneatom = neighbor->oneatom; - int nmypage= comm->nthreads; + int nmypage = comm->nthreads; ipage = new MyPage[nmypage]; - for (int i = 0; i < nmypage; i++) - ipage[i].init(oneatom,pgsize,PGDELTA); + for (int i = 0; i < nmypage; i++) ipage[i].init(oneatom, pgsize, PGDELTA); } } /* ---------------------------------------------------------------------- */ void PairILPGrapheneHBN::compute(int eflag, int vflag) { - ev_init(eflag,vflag); + ev_init(eflag, vflag); pvector[0] = pvector[1] = 0.0; // Build full neighbor list @@ -355,9 +350,9 @@ void PairILPGrapheneHBN::compute(int eflag, int vflag) // Calculate the normals and its derivatives calc_normal(); // Calculate the van der Waals force and energy - calc_FvdW(eflag,vflag); + calc_FvdW(eflag, vflag); // Calculate the repulsive force and energy - calc_FRep(eflag,vflag); + calc_FRep(eflag, vflag); if (vflag_fdotr) virial_fdotr_compute(); } @@ -368,11 +363,11 @@ void PairILPGrapheneHBN::compute(int eflag, int vflag) void PairILPGrapheneHBN::calc_FvdW(int eflag, int /* vflag */) { - int i,j,ii,jj,inum,jnum,itype,jtype; - tagint itag,jtag; - double xtmp,ytmp,ztmp,delx,dely,delz,evdwl,fpair; - double rsq,r,Rcut,r2inv,r6inv,r8inv,Tap,dTap,Vilp,TSvdw,TSvdw2inv,fsum; - int *ilist,*jlist,*numneigh,**firstneigh; + int i, j, ii, jj, inum, jnum, itype, jtype; + tagint itag, jtag; + double xtmp, ytmp, ztmp, delx, dely, delz, evdwl, fpair; + double rsq, r, Rcut, r2inv, r6inv, r8inv, Tap, dTap, Vilp, TSvdw, TSvdw2inv, fsum; + int *ilist, *jlist, *numneigh, **firstneigh; evdwl = 0.0; double **x = atom->x; @@ -406,9 +401,9 @@ void PairILPGrapheneHBN::calc_FvdW(int eflag, int /* vflag */) // two-body interactions from full neighbor list, skip half of them if (itag > jtag) { - if ((itag+jtag) % 2 == 0) continue; + if ((itag + jtag) % 2 == 0) continue; } else if (itag < jtag) { - if ((itag+jtag) % 2 == 1) continue; + if ((itag + jtag) % 2 == 1) continue; } else { if (x[j][2] < ztmp) continue; if (x[j][2] == ztmp && x[j][1] < ytmp) continue; @@ -418,43 +413,46 @@ void PairILPGrapheneHBN::calc_FvdW(int eflag, int /* vflag */) delx = xtmp - x[j][0]; dely = ytmp - x[j][1]; delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; + rsq = delx * delx + dely * dely + delz * delz; // only include the interaction between different layers if (rsq < cutsq[itype][jtype] && atom->molecule[i] != atom->molecule[j]) { int iparam_ij = elem2param[map[itype]][map[jtype]]; - Param& p = params[iparam_ij]; + Param &p = params[iparam_ij]; r = sqrt(rsq); - r2inv = 1.0/rsq; - r6inv = r2inv*r2inv*r2inv; - r8inv = r6inv*r2inv; + r2inv = 1.0 / rsq; + r6inv = r2inv * r2inv * r2inv; + r8inv = r6inv * r2inv; // turn on/off taper function if (tap_flag) { Rcut = sqrt(cutsq[itype][jtype]); - Tap = calc_Tap(r,Rcut); - dTap = calc_dTap(r,Rcut); - } else {Tap = 1.0; dTap = 0.0;} + Tap = calc_Tap(r, Rcut); + dTap = calc_dTap(r, Rcut); + } else { + Tap = 1.0; + dTap = 0.0; + } - TSvdw = 1.0 + exp(-p.d*(r/p.seff - 1.0)); - TSvdw2inv = pow(TSvdw,-2.0); - Vilp = -p.C6*r6inv/TSvdw; + TSvdw = 1.0 + exp(-p.d * (r / p.seff - 1.0)); + TSvdw2inv = pow(TSvdw, -2.0); + Vilp = -p.C6 * r6inv / TSvdw; // derivatives - fpair = -6.0*p.C6*r8inv/TSvdw + p.C6*p.d/p.seff*(TSvdw-1.0)*TSvdw2inv*r8inv*r; - fsum = fpair*Tap - Vilp*dTap/r; + fpair = -6.0 * p.C6 * r8inv / TSvdw + + p.C6 * p.d / p.seff * (TSvdw - 1.0) * TSvdw2inv * r8inv * r; + fsum = fpair * Tap - Vilp * dTap / r; - f[i][0] += fsum*delx; - f[i][1] += fsum*dely; - f[i][2] += fsum*delz; - f[j][0] -= fsum*delx; - f[j][1] -= fsum*dely; - f[j][2] -= fsum*delz; + f[i][0] += fsum * delx; + f[i][1] += fsum * dely; + f[i][2] += fsum * delz; + f[j][0] -= fsum * delx; + f[j][1] -= fsum * dely; + f[j][2] -= fsum * delz; - if (eflag) pvector[0] += evdwl = Vilp*Tap; - if (evflag) ev_tally(i,j,nlocal,newton_pair, - evdwl,0.0,fsum,delx,dely,delz); + if (eflag) pvector[0] += evdwl = Vilp * Tap; + if (evflag) ev_tally(i, j, nlocal, newton_pair, evdwl, 0.0, fsum, delx, dely, delz); } } } @@ -466,12 +464,12 @@ void PairILPGrapheneHBN::calc_FvdW(int eflag, int /* vflag */) void PairILPGrapheneHBN::calc_FRep(int eflag, int /* vflag */) { - int i,j,ii,jj,inum,jnum,itype,jtype,k,kk; - double prodnorm1,fkcx,fkcy,fkcz; - double xtmp,ytmp,ztmp,delx,dely,delz,evdwl,fpair,fpair1; - double rsq,r,Rcut,rhosq1,exp0,exp1,Tap,dTap,Vilp; - double frho1,Erep,fsum,rdsq1; - int *ilist,*jlist,*numneigh,**firstneigh; + int i, j, ii, jj, inum, jnum, itype, jtype, k, kk; + double prodnorm1, fkcx, fkcy, fkcz; + double xtmp, ytmp, ztmp, delx, dely, delz, evdwl, fpair, fpair1; + double rsq, r, Rcut, rhosq1, exp0, exp1, Tap, dTap, Vilp; + double frho1, Erep, fsum, rdsq1; + int *ilist, *jlist, *numneigh, **firstneigh; int *ILP_neighs_i; evdwl = 0.0; @@ -511,57 +509,63 @@ void PairILPGrapheneHBN::calc_FRep(int eflag, int /* vflag */) delx = xtmp - x[j][0]; dely = ytmp - x[j][1]; delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; + rsq = delx * delx + dely * dely + delz * delz; // only include the interaction between different layers if (rsq < cutsq[itype][jtype] && atom->molecule[i] != atom->molecule[j]) { int iparam_ij = elem2param[map[itype]][map[jtype]]; - Param& p = params[iparam_ij]; + Param &p = params[iparam_ij]; r = sqrt(rsq); // turn on/off taper function if (tap_flag) { Rcut = sqrt(cutsq[itype][jtype]); - Tap = calc_Tap(r,Rcut); - dTap = calc_dTap(r,Rcut); - } else {Tap = 1.0; dTap = 0.0;} + Tap = calc_Tap(r, Rcut); + dTap = calc_dTap(r, Rcut); + } else { + Tap = 1.0; + dTap = 0.0; + } // Calculate the transverse distance - prodnorm1 = normal[i][0]*delx + normal[i][1]*dely + normal[i][2]*delz; - rhosq1 = rsq - prodnorm1*prodnorm1; // rho_ij - rdsq1 = rhosq1*p.delta2inv; // (rho_ij/delta)^2 + prodnorm1 = normal[i][0] * delx + normal[i][1] * dely + normal[i][2] * delz; + rhosq1 = rsq - prodnorm1 * prodnorm1; // rho_ij + rdsq1 = rhosq1 * p.delta2inv; // (rho_ij/delta)^2 // store exponents - exp0 = exp(-p.lambda*(r-p.z0)); + exp0 = exp(-p.lambda * (r - p.z0)); exp1 = exp(-rdsq1); - frho1 = exp1*p.C; - Erep = 0.5*p.epsilon + frho1; - Vilp = exp0*Erep; + frho1 = exp1 * p.C; + Erep = 0.5 * p.epsilon + frho1; + Vilp = exp0 * Erep; // derivatives - fpair = p.lambda*exp0/r*Erep; - fpair1 = 2.0*exp0*frho1*p.delta2inv; + fpair = p.lambda * exp0 / r * Erep; + fpair1 = 2.0 * exp0 * frho1 * p.delta2inv; fsum = fpair + fpair1; // derivatives of the product of rij and ni, the result is a vector - dprodnorm1[0] = dnormdri[0][0][i]*delx + dnormdri[1][0][i]*dely + dnormdri[2][0][i]*delz; - dprodnorm1[1] = dnormdri[0][1][i]*delx + dnormdri[1][1][i]*dely + dnormdri[2][1][i]*delz; - dprodnorm1[2] = dnormdri[0][2][i]*delx + dnormdri[1][2][i]*dely + dnormdri[2][2][i]*delz; - fp1[0] = prodnorm1*normal[i][0]*fpair1; - fp1[1] = prodnorm1*normal[i][1]*fpair1; - fp1[2] = prodnorm1*normal[i][2]*fpair1; - fprod1[0] = prodnorm1*dprodnorm1[0]*fpair1; - fprod1[1] = prodnorm1*dprodnorm1[1]*fpair1; - fprod1[2] = prodnorm1*dprodnorm1[2]*fpair1; + dprodnorm1[0] = + dnormdri[0][0][i] * delx + dnormdri[1][0][i] * dely + dnormdri[2][0][i] * delz; + dprodnorm1[1] = + dnormdri[0][1][i] * delx + dnormdri[1][1][i] * dely + dnormdri[2][1][i] * delz; + dprodnorm1[2] = + dnormdri[0][2][i] * delx + dnormdri[1][2][i] * dely + dnormdri[2][2][i] * delz; + fp1[0] = prodnorm1 * normal[i][0] * fpair1; + fp1[1] = prodnorm1 * normal[i][1] * fpair1; + fp1[2] = prodnorm1 * normal[i][2] * fpair1; + fprod1[0] = prodnorm1 * dprodnorm1[0] * fpair1; + fprod1[1] = prodnorm1 * dprodnorm1[1] * fpair1; + fprod1[2] = prodnorm1 * dprodnorm1[2] * fpair1; - fkcx = (delx*fsum - fp1[0])*Tap - Vilp*dTap*delx/r; - fkcy = (dely*fsum - fp1[1])*Tap - Vilp*dTap*dely/r; - fkcz = (delz*fsum - fp1[2])*Tap - Vilp*dTap*delz/r; + fkcx = (delx * fsum - fp1[0]) * Tap - Vilp * dTap * delx / r; + fkcy = (dely * fsum - fp1[1]) * Tap - Vilp * dTap * dely / r; + fkcz = (delz * fsum - fp1[2]) * Tap - Vilp * dTap * delz / r; - f[i][0] += fkcx - fprod1[0]*Tap; - f[i][1] += fkcy - fprod1[1]*Tap; - f[i][2] += fkcz - fprod1[2]*Tap; + f[i][0] += fkcx - fprod1[0] * Tap; + f[i][1] += fkcy - fprod1[1] * Tap; + f[i][2] += fkcz - fprod1[2] * Tap; f[j][0] -= fkcx; f[j][1] -= fkcy; f[j][2] -= fkcz; @@ -572,26 +576,32 @@ void PairILPGrapheneHBN::calc_FRep(int eflag, int /* vflag */) k = ILP_neighs_i[kk]; if (k == i) continue; // derivatives of the product of rij and ni respect to rk, k=0,1,2, where atom k is the neighbors of atom i - dprodnorm1[0] = dnormal[0][0][kk][i]*delx + dnormal[1][0][kk][i]*dely + dnormal[2][0][kk][i]*delz; - dprodnorm1[1] = dnormal[0][1][kk][i]*delx + dnormal[1][1][kk][i]*dely + dnormal[2][1][kk][i]*delz; - dprodnorm1[2] = dnormal[0][2][kk][i]*delx + dnormal[1][2][kk][i]*dely + dnormal[2][2][kk][i]*delz; - fk[0] = (-prodnorm1*dprodnorm1[0]*fpair1)*Tap; - fk[1] = (-prodnorm1*dprodnorm1[1]*fpair1)*Tap; - fk[2] = (-prodnorm1*dprodnorm1[2]*fpair1)*Tap; + dprodnorm1[0] = dnormal[0][0][kk][i] * delx + dnormal[1][0][kk][i] * dely + + dnormal[2][0][kk][i] * delz; + dprodnorm1[1] = dnormal[0][1][kk][i] * delx + dnormal[1][1][kk][i] * dely + + dnormal[2][1][kk][i] * delz; + dprodnorm1[2] = dnormal[0][2][kk][i] * delx + dnormal[1][2][kk][i] * dely + + dnormal[2][2][kk][i] * delz; + fk[0] = (-prodnorm1 * dprodnorm1[0] * fpair1) * Tap; + fk[1] = (-prodnorm1 * dprodnorm1[1] * fpair1) * Tap; + fk[2] = (-prodnorm1 * dprodnorm1[2] * fpair1) * Tap; f[k][0] += fk[0]; f[k][1] += fk[1]; f[k][2] += fk[2]; delkj[0] = x[k][0] - x[j][0]; delkj[1] = x[k][1] - x[j][1]; delkj[2] = x[k][2] - x[j][2]; - if (evflag) ev_tally_xyz(k,j,nlocal,newton_pair,0.0,0.0,fk[0],fk[1],fk[2],delkj[0],delkj[1],delkj[2]); + if (evflag) + ev_tally_xyz(k, j, nlocal, newton_pair, 0.0, 0.0, fk[0], fk[1], fk[2], delkj[0], + delkj[1], delkj[2]); } - if (eflag) pvector[1] += evdwl = Tap*Vilp; - if (evflag) ev_tally_xyz(i,j,nlocal,newton_pair,evdwl,0.0,fkcx,fkcy,fkcz,delx,dely,delz); + if (eflag) pvector[1] += evdwl = Tap * Vilp; + if (evflag) + ev_tally_xyz(i, j, nlocal, newton_pair, evdwl, 0.0, fkcx, fkcy, fkcz, delx, dely, delz); } - } // loop over jj - } // loop over ii + } // loop over jj + } // loop over ii } /* ---------------------------------------------------------------------- @@ -600,9 +610,9 @@ void PairILPGrapheneHBN::calc_FRep(int eflag, int /* vflag */) void PairILPGrapheneHBN::ILP_neigh() { - int i,j,ii,jj,n,allnum,jnum,itype,jtype; - double xtmp,ytmp,ztmp,delx,dely,delz,rsq; - int *ilist,*jlist,*numneigh,**firstneigh; + int i, j, ii, jj, n, allnum, jnum, itype, jtype; + double xtmp, ytmp, ztmp, delx, dely, delz, rsq; + int *ilist, *jlist, *numneigh, **firstneigh; int *neighptr; double **x = atom->x; @@ -612,8 +622,9 @@ void PairILPGrapheneHBN::ILP_neigh() maxlocal = atom->nmax; memory->destroy(ILP_numneigh); memory->sfree(ILP_firstneigh); - memory->create(ILP_numneigh,maxlocal,"ILPGrapheneHBN:numneigh"); - ILP_firstneigh = (int **) memory->smalloc(maxlocal*sizeof(int *),"ILPGrapheneHBN:firstneigh"); + memory->create(ILP_numneigh, maxlocal, "ILPGrapheneHBN:numneigh"); + ILP_firstneigh = + (int **) memory->smalloc(maxlocal * sizeof(int *), "ILPGrapheneHBN:firstneigh"); } allnum = list->inum + list->gnum; @@ -646,20 +657,21 @@ void PairILPGrapheneHBN::ILP_neigh() delx = xtmp - x[j][0]; dely = ytmp - x[j][1]; delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; + rsq = delx * delx + dely * dely + delz * delz; if (rsq != 0 && rsq < cutILPsq[itype][jtype] && atom->molecule[i] == atom->molecule[j]) { neighptr[n++] = j; } - } // loop over jj + } // loop over jj ILP_firstneigh[i] = neighptr; ILP_numneigh[i] = n; - if (n > 3) error->one(FLERR,"There are too many neighbors for some atoms, please check your configuration"); + if (n > 3) + error->one(FLERR, + "There are too many neighbors for some atoms, please check your configuration"); ipage->vgot(n); - if (ipage->status()) - error->one(FLERR,"Neighbor list overflow, boost neigh_modify one"); + if (ipage->status()) error->one(FLERR, "Neighbor list overflow, boost neigh_modify one"); } } @@ -668,12 +680,12 @@ void PairILPGrapheneHBN::ILP_neigh() ------------------------------------------------------------------------- */ void PairILPGrapheneHBN::calc_normal() { - int i,j,ii,jj,inum,jnum; - int cont,id,ip,m; - double nn,xtp,ytp,ztp,delx,dely,delz,nn2; - int *ilist,*jlist; - double pv12[3],pv31[3],pv23[3],n1[3],dni[3],dnn[3][3],vet[3][3],dpvdri[3][3]; - double dn1[3][3][3],dpv12[3][3][3],dpv23[3][3][3],dpv31[3][3][3]; + int i, j, ii, jj, inum, jnum; + int cont, id, ip, m; + double nn, xtp, ytp, ztp, delx, dely, delz, nn2; + int *ilist, *jlist; + double pv12[3], pv31[3], pv23[3], n1[3], dni[3], dnn[3][3], vet[3][3], dpvdri[3][3]; + double dn1[3][3][3], dpv12[3][3][3], dpv23[3][3][3], dpv31[3][3][3]; double **x = atom->x; @@ -684,9 +696,9 @@ void PairILPGrapheneHBN::calc_normal() memory->destroy(dnormal); memory->destroy(dnormdri); nmax = atom->nmax; - memory->create(normal,nmax,3,"ILPGrapheneHBN:normal"); - memory->create(dnormdri,3,3,nmax,"ILPGrapheneHBN:dnormdri"); - memory->create(dnormal,3,3,3,nmax,"ILPGrapheneHBN:dnormal"); + memory->create(normal, nmax, 3, "ILPGrapheneHBN:normal"); + memory->create(dnormdri, 3, 3, nmax, "ILPGrapheneHBN:dnormdri"); + memory->create(dnormal, 3, 3, 3, nmax, "ILPGrapheneHBN:dnormal"); } inum = list->inum; @@ -745,85 +757,78 @@ void PairILPGrapheneHBN::calc_normal() for (id = 0; id < 3; id++) { for (ip = 0; ip < 3; ip++) { dnormdri[id][ip][i] = 0.0; - for (m = 0; m < 3; m++) { - dnormal[id][ip][m][i] = 0.0; - } + for (m = 0; m < 3; m++) { dnormal[id][ip][m][i] = 0.0; } } } - } - else if (cont == 2) { - pv12[0] = vet[0][1]*vet[1][2] - vet[1][1]*vet[0][2]; - pv12[1] = vet[0][2]*vet[1][0] - vet[1][2]*vet[0][0]; - pv12[2] = vet[0][0]*vet[1][1] - vet[1][0]*vet[0][1]; + } else if (cont == 2) { + pv12[0] = vet[0][1] * vet[1][2] - vet[1][1] * vet[0][2]; + pv12[1] = vet[0][2] * vet[1][0] - vet[1][2] * vet[0][0]; + pv12[2] = vet[0][0] * vet[1][1] - vet[1][0] * vet[0][1]; // derivatives of pv12[0] to ri dpvdri[0][0] = 0.0; - dpvdri[0][1] = vet[0][2]-vet[1][2]; - dpvdri[0][2] = vet[1][1]-vet[0][1]; + dpvdri[0][1] = vet[0][2] - vet[1][2]; + dpvdri[0][2] = vet[1][1] - vet[0][1]; // derivatives of pv12[1] to ri - dpvdri[1][0] = vet[1][2]-vet[0][2]; + dpvdri[1][0] = vet[1][2] - vet[0][2]; dpvdri[1][1] = 0.0; - dpvdri[1][2] = vet[0][0]-vet[1][0]; + dpvdri[1][2] = vet[0][0] - vet[1][0]; // derivatives of pv12[2] to ri - dpvdri[2][0] = vet[0][1]-vet[1][1]; - dpvdri[2][1] = vet[1][0]-vet[0][0]; + dpvdri[2][0] = vet[0][1] - vet[1][1]; + dpvdri[2][1] = vet[1][0] - vet[0][0]; dpvdri[2][2] = 0.0; - dpv12[0][0][0] = 0.0; - dpv12[0][1][0] = vet[1][2]; + dpv12[0][0][0] = 0.0; + dpv12[0][1][0] = vet[1][2]; dpv12[0][2][0] = -vet[1][1]; dpv12[1][0][0] = -vet[1][2]; - dpv12[1][1][0] = 0.0; - dpv12[1][2][0] = vet[1][0]; - dpv12[2][0][0] = vet[1][1]; + dpv12[1][1][0] = 0.0; + dpv12[1][2][0] = vet[1][0]; + dpv12[2][0][0] = vet[1][1]; dpv12[2][1][0] = -vet[1][0]; - dpv12[2][2][0] = 0.0; + dpv12[2][2][0] = 0.0; // derivatives respect to the second neighbor, atom l - dpv12[0][0][1] = 0.0; + dpv12[0][0][1] = 0.0; dpv12[0][1][1] = -vet[0][2]; - dpv12[0][2][1] = vet[0][1]; - dpv12[1][0][1] = vet[0][2]; - dpv12[1][1][1] = 0.0; + dpv12[0][2][1] = vet[0][1]; + dpv12[1][0][1] = vet[0][2]; + dpv12[1][1][1] = 0.0; dpv12[1][2][1] = -vet[0][0]; dpv12[2][0][1] = -vet[0][1]; - dpv12[2][1][1] = vet[0][0]; - dpv12[2][2][1] = 0.0; + dpv12[2][1][1] = vet[0][0]; + dpv12[2][2][1] = 0.0; // derivatives respect to the third neighbor, atom n // derivatives of pv12 to rn is zero for (id = 0; id < 3; id++) { - for (ip = 0; ip < 3; ip++) { - dpv12[id][ip][2] = 0.0; - } + for (ip = 0; ip < 3; ip++) { dpv12[id][ip][2] = 0.0; } } n1[0] = pv12[0]; n1[1] = pv12[1]; n1[2] = pv12[2]; // the magnitude of the normal vector - nn2 = n1[0]*n1[0] + n1[1]*n1[1] + n1[2]*n1[2]; + nn2 = n1[0] * n1[0] + n1[1] * n1[1] + n1[2] * n1[2]; nn = sqrt(nn2); - if (nn == 0) error->one(FLERR,"The magnitude of the normal vector is zero"); + if (nn == 0) error->one(FLERR, "The magnitude of the normal vector is zero"); // the unit normal vector - normal[i][0] = n1[0]/nn; - normal[i][1] = n1[1]/nn; - normal[i][2] = n1[2]/nn; + normal[i][0] = n1[0] / nn; + normal[i][1] = n1[1] / nn; + normal[i][2] = n1[2] / nn; // derivatives of nn, dnn:3x1 vector - dni[0] = (n1[0]*dpvdri[0][0] + n1[1]*dpvdri[1][0] + n1[2]*dpvdri[2][0])/nn; - dni[1] = (n1[0]*dpvdri[0][1] + n1[1]*dpvdri[1][1] + n1[2]*dpvdri[2][1])/nn; - dni[2] = (n1[0]*dpvdri[0][2] + n1[1]*dpvdri[1][2] + n1[2]*dpvdri[2][2])/nn; + dni[0] = (n1[0] * dpvdri[0][0] + n1[1] * dpvdri[1][0] + n1[2] * dpvdri[2][0]) / nn; + dni[1] = (n1[0] * dpvdri[0][1] + n1[1] * dpvdri[1][1] + n1[2] * dpvdri[2][1]) / nn; + dni[2] = (n1[0] * dpvdri[0][2] + n1[1] * dpvdri[1][2] + n1[2] * dpvdri[2][2]) / nn; // derivatives of unit vector ni respect to ri, the result is 3x3 matrix for (id = 0; id < 3; id++) { for (ip = 0; ip < 3; ip++) { - dnormdri[id][ip][i] = dpvdri[id][ip]/nn - n1[id]*dni[ip]/nn2; + dnormdri[id][ip][i] = dpvdri[id][ip] / nn - n1[id] * dni[ip] / nn2; } } // derivatives of non-normalized normal vector, dn1:3x3x3 array for (id = 0; id < 3; id++) { for (ip = 0; ip < 3; ip++) { - for (m = 0; m < 3; m++) { - dn1[id][ip][m] = dpv12[id][ip][m]; - } + for (m = 0; m < 3; m++) { dn1[id][ip][m] = dpv12[id][ip][m]; } } } // derivatives of nn, dnn:3x3 vector @@ -831,7 +836,7 @@ void PairILPGrapheneHBN::calc_normal() // r[id][m]: the id's component of atom m for (m = 0; m < 3; m++) { for (id = 0; id < 3; id++) { - dnn[id][m] = (n1[0]*dn1[0][id][m] + n1[1]*dn1[1][id][m] + n1[2]*dn1[2][id][m])/nn; + dnn[id][m] = (n1[0] * dn1[0][id][m] + n1[1] * dn1[1][id][m] + n1[2] * dn1[2][id][m]) / nn; } } // dnormal[id][ip][m][i]: the derivative of normal[id] respect to r[ip][m], id,ip=0,1,2 @@ -839,131 +844,123 @@ void PairILPGrapheneHBN::calc_normal() for (m = 0; m < 3; m++) { for (id = 0; id < 3; id++) { for (ip = 0; ip < 3; ip++) { - dnormal[id][ip][m][i] = dn1[id][ip][m]/nn - n1[id]*dnn[ip][m]/nn2; + dnormal[id][ip][m][i] = dn1[id][ip][m] / nn - n1[id] * dnn[ip][m] / nn2; } } } } -//############################################################################################## + //############################################################################################## else if (cont == 3) { - pv12[0] = vet[0][1]*vet[1][2] - vet[1][1]*vet[0][2]; - pv12[1] = vet[0][2]*vet[1][0] - vet[1][2]*vet[0][0]; - pv12[2] = vet[0][0]*vet[1][1] - vet[1][0]*vet[0][1]; + pv12[0] = vet[0][1] * vet[1][2] - vet[1][1] * vet[0][2]; + pv12[1] = vet[0][2] * vet[1][0] - vet[1][2] * vet[0][0]; + pv12[2] = vet[0][0] * vet[1][1] - vet[1][0] * vet[0][1]; // derivatives respect to the first neighbor, atom k - dpv12[0][0][0] = 0.0; - dpv12[0][1][0] = vet[1][2]; + dpv12[0][0][0] = 0.0; + dpv12[0][1][0] = vet[1][2]; dpv12[0][2][0] = -vet[1][1]; dpv12[1][0][0] = -vet[1][2]; - dpv12[1][1][0] = 0.0; - dpv12[1][2][0] = vet[1][0]; - dpv12[2][0][0] = vet[1][1]; + dpv12[1][1][0] = 0.0; + dpv12[1][2][0] = vet[1][0]; + dpv12[2][0][0] = vet[1][1]; dpv12[2][1][0] = -vet[1][0]; - dpv12[2][2][0] = 0.0; + dpv12[2][2][0] = 0.0; // derivatives respect to the second neighbor, atom l - dpv12[0][0][1] = 0.0; + dpv12[0][0][1] = 0.0; dpv12[0][1][1] = -vet[0][2]; - dpv12[0][2][1] = vet[0][1]; - dpv12[1][0][1] = vet[0][2]; - dpv12[1][1][1] = 0.0; + dpv12[0][2][1] = vet[0][1]; + dpv12[1][0][1] = vet[0][2]; + dpv12[1][1][1] = 0.0; dpv12[1][2][1] = -vet[0][0]; dpv12[2][0][1] = -vet[0][1]; - dpv12[2][1][1] = vet[0][0]; - dpv12[2][2][1] = 0.0; + dpv12[2][1][1] = vet[0][0]; + dpv12[2][2][1] = 0.0; // derivatives respect to the third neighbor, atom n for (id = 0; id < 3; id++) { - for (ip = 0; ip < 3; ip++) { - dpv12[id][ip][2] = 0.0; - } + for (ip = 0; ip < 3; ip++) { dpv12[id][ip][2] = 0.0; } } - pv31[0] = vet[2][1]*vet[0][2] - vet[0][1]*vet[2][2]; - pv31[1] = vet[2][2]*vet[0][0] - vet[0][2]*vet[2][0]; - pv31[2] = vet[2][0]*vet[0][1] - vet[0][0]*vet[2][1]; + pv31[0] = vet[2][1] * vet[0][2] - vet[0][1] * vet[2][2]; + pv31[1] = vet[2][2] * vet[0][0] - vet[0][2] * vet[2][0]; + pv31[2] = vet[2][0] * vet[0][1] - vet[0][0] * vet[2][1]; // derivatives respect to the first neighbor, atom k - dpv31[0][0][0] = 0.0; + dpv31[0][0][0] = 0.0; dpv31[0][1][0] = -vet[2][2]; - dpv31[0][2][0] = vet[2][1]; - dpv31[1][0][0] = vet[2][2]; - dpv31[1][1][0] = 0.0; + dpv31[0][2][0] = vet[2][1]; + dpv31[1][0][0] = vet[2][2]; + dpv31[1][1][0] = 0.0; dpv31[1][2][0] = -vet[2][0]; dpv31[2][0][0] = -vet[2][1]; - dpv31[2][1][0] = vet[2][0]; - dpv31[2][2][0] = 0.0; + dpv31[2][1][0] = vet[2][0]; + dpv31[2][2][0] = 0.0; // derivatives respect to the third neighbor, atom n - dpv31[0][0][2] = 0.0; - dpv31[0][1][2] = vet[0][2]; + dpv31[0][0][2] = 0.0; + dpv31[0][1][2] = vet[0][2]; dpv31[0][2][2] = -vet[0][1]; dpv31[1][0][2] = -vet[0][2]; - dpv31[1][1][2] = 0.0; - dpv31[1][2][2] = vet[0][0]; - dpv31[2][0][2] = vet[0][1]; + dpv31[1][1][2] = 0.0; + dpv31[1][2][2] = vet[0][0]; + dpv31[2][0][2] = vet[0][1]; dpv31[2][1][2] = -vet[0][0]; - dpv31[2][2][2] = 0.0; + dpv31[2][2][2] = 0.0; // derivatives respect to the second neighbor, atom l for (id = 0; id < 3; id++) { - for (ip = 0; ip < 3; ip++) { - dpv31[id][ip][1] = 0.0; - } + for (ip = 0; ip < 3; ip++) { dpv31[id][ip][1] = 0.0; } } - pv23[0] = vet[1][1]*vet[2][2] - vet[2][1]*vet[1][2]; - pv23[1] = vet[1][2]*vet[2][0] - vet[2][2]*vet[1][0]; - pv23[2] = vet[1][0]*vet[2][1] - vet[2][0]*vet[1][1]; + pv23[0] = vet[1][1] * vet[2][2] - vet[2][1] * vet[1][2]; + pv23[1] = vet[1][2] * vet[2][0] - vet[2][2] * vet[1][0]; + pv23[2] = vet[1][0] * vet[2][1] - vet[2][0] * vet[1][1]; // derivatives respect to the second neighbor, atom k for (id = 0; id < 3; id++) { - for (ip = 0; ip < 3; ip++) { - dpv23[id][ip][0] = 0.0; - } + for (ip = 0; ip < 3; ip++) { dpv23[id][ip][0] = 0.0; } } // derivatives respect to the second neighbor, atom l - dpv23[0][0][1] = 0.0; - dpv23[0][1][1] = vet[2][2]; + dpv23[0][0][1] = 0.0; + dpv23[0][1][1] = vet[2][2]; dpv23[0][2][1] = -vet[2][1]; dpv23[1][0][1] = -vet[2][2]; - dpv23[1][1][1] = 0.0; - dpv23[1][2][1] = vet[2][0]; - dpv23[2][0][1] = vet[2][1]; + dpv23[1][1][1] = 0.0; + dpv23[1][2][1] = vet[2][0]; + dpv23[2][0][1] = vet[2][1]; dpv23[2][1][1] = -vet[2][0]; - dpv23[2][2][1] = 0.0; + dpv23[2][2][1] = 0.0; // derivatives respect to the third neighbor, atom n - dpv23[0][0][2] = 0.0; + dpv23[0][0][2] = 0.0; dpv23[0][1][2] = -vet[1][2]; - dpv23[0][2][2] = vet[1][1]; - dpv23[1][0][2] = vet[1][2]; - dpv23[1][1][2] = 0.0; + dpv23[0][2][2] = vet[1][1]; + dpv23[1][0][2] = vet[1][2]; + dpv23[1][1][2] = 0.0; dpv23[1][2][2] = -vet[1][0]; dpv23[2][0][2] = -vet[1][1]; - dpv23[2][1][2] = vet[1][0]; - dpv23[2][2][2] = 0.0; + dpv23[2][1][2] = vet[1][0]; + dpv23[2][2][2] = 0.0; -//############################################################################################ + //############################################################################################ // average the normal vectors by using the 3 neighboring planes - n1[0] = (pv12[0] + pv31[0] + pv23[0])/cont; - n1[1] = (pv12[1] + pv31[1] + pv23[1])/cont; - n1[2] = (pv12[2] + pv31[2] + pv23[2])/cont; + n1[0] = (pv12[0] + pv31[0] + pv23[0]) / cont; + n1[1] = (pv12[1] + pv31[1] + pv23[1]) / cont; + n1[2] = (pv12[2] + pv31[2] + pv23[2]) / cont; // the magnitude of the normal vector - nn2 = n1[0]*n1[0] + n1[1]*n1[1] + n1[2]*n1[2]; + nn2 = n1[0] * n1[0] + n1[1] * n1[1] + n1[2] * n1[2]; nn = sqrt(nn2); - if (nn == 0) error->one(FLERR,"The magnitude of the normal vector is zero"); + if (nn == 0) error->one(FLERR, "The magnitude of the normal vector is zero"); // the unit normal vector - normal[i][0] = n1[0]/nn; - normal[i][1] = n1[1]/nn; - normal[i][2] = n1[2]/nn; + normal[i][0] = n1[0] / nn; + normal[i][1] = n1[1] / nn; + normal[i][2] = n1[2] / nn; // for the central atoms, dnormdri is always zero for (id = 0; id < 3; id++) { - for (ip = 0; ip < 3; ip++) { - dnormdri[id][ip][i] = 0.0; - } + for (ip = 0; ip < 3; ip++) { dnormdri[id][ip][i] = 0.0; } } // derivatives of non-normalized normal vector, dn1:3x3x3 array for (id = 0; id < 3; id++) { for (ip = 0; ip < 3; ip++) { for (m = 0; m < 3; m++) { - dn1[id][ip][m] = (dpv12[id][ip][m] + dpv23[id][ip][m] + dpv31[id][ip][m])/cont; + dn1[id][ip][m] = (dpv12[id][ip][m] + dpv23[id][ip][m] + dpv31[id][ip][m]) / cont; } } } @@ -972,7 +969,7 @@ void PairILPGrapheneHBN::calc_normal() // r[id][m]: the id's component of atom m for (m = 0; m < 3; m++) { for (id = 0; id < 3; id++) { - dnn[id][m] = (n1[0]*dn1[0][id][m] + n1[1]*dn1[1][id][m] + n1[2]*dn1[2][id][m])/nn; + dnn[id][m] = (n1[0] * dn1[0][id][m] + n1[1] * dn1[1][id][m] + n1[2] * dn1[2][id][m]) / nn; } } // dnormal[id][ip][m][i]: the derivative of normal[id] respect to r[ip][m], id,ip=0,1,2 @@ -980,50 +977,51 @@ void PairILPGrapheneHBN::calc_normal() for (m = 0; m < 3; m++) { for (id = 0; id < 3; id++) { for (ip = 0; ip < 3; ip++) { - dnormal[id][ip][m][i] = dn1[id][ip][m]/nn - n1[id]*dnn[ip][m]/nn2; + dnormal[id][ip][m][i] = dn1[id][ip][m] / nn - n1[id] * dnn[ip][m] / nn2; } } } - } - else { - error->one(FLERR,"There are too many neighbors for calculating normals"); + } else { + error->one(FLERR, "There are too many neighbors for calculating normals"); } -//############################################################################################## + //############################################################################################## } } /* ---------------------------------------------------------------------- */ double PairILPGrapheneHBN::single(int /*i*/, int /*j*/, int itype, int jtype, double rsq, - double /*factor_coul*/, double factor_lj, - double &fforce) + double /*factor_coul*/, double factor_lj, double &fforce) { - double r,r2inv,r6inv,r8inv,forcelj,philj,fpair; - double Tap,dTap,Vilp,TSvdw,TSvdw2inv; + double r, r2inv, r6inv, r8inv, forcelj, philj, fpair; + double Tap, dTap, Vilp, TSvdw, TSvdw2inv; int iparam_ij = elem2param[map[itype]][map[jtype]]; - Param& p = params[iparam_ij]; + Param &p = params[iparam_ij]; r = sqrt(rsq); // turn on/off taper function if (tap_flag) { - Tap = calc_Tap(r,sqrt(cutsq[itype][jtype])); - dTap = calc_dTap(r,sqrt(cutsq[itype][jtype])); - } else {Tap = 1.0; dTap = 0.0;} + Tap = calc_Tap(r, sqrt(cutsq[itype][jtype])); + dTap = calc_dTap(r, sqrt(cutsq[itype][jtype])); + } else { + Tap = 1.0; + dTap = 0.0; + } - r2inv = 1.0/rsq; - r6inv = r2inv*r2inv*r2inv; - r8inv = r2inv*r6inv; + r2inv = 1.0 / rsq; + r6inv = r2inv * r2inv * r2inv; + r8inv = r2inv * r6inv; - TSvdw = 1.0 + exp(-p.d*(r/p.seff - 1.0)); - TSvdw2inv = pow(TSvdw,-2.0); - Vilp = -p.C6*r6inv/TSvdw; + TSvdw = 1.0 + exp(-p.d * (r / p.seff - 1.0)); + TSvdw2inv = pow(TSvdw, -2.0); + Vilp = -p.C6 * r6inv / TSvdw; // derivatives - fpair = -6.0*p.C6*r8inv/TSvdw + p.d/p.seff*p.C6*(TSvdw - 1.0)*r6inv*TSvdw2inv/r; + fpair = -6.0 * p.C6 * r8inv / TSvdw + p.d / p.seff * p.C6 * (TSvdw - 1.0) * r6inv * TSvdw2inv / r; forcelj = fpair; - fforce = factor_lj*(forcelj*Tap - Vilp*dTap/r); + fforce = factor_lj * (forcelj * Tap - Vilp * dTap / r); - philj = Vilp*Tap; - return factor_lj*philj; + philj = Vilp * Tap; + return factor_lj * philj; } diff --git a/src/INTERLAYER/pair_ilp_graphene_hbn.h b/src/INTERLAYER/pair_ilp_graphene_hbn.h index 476822ef82..c89ef47a21 100644 --- a/src/INTERLAYER/pair_ilp_graphene_hbn.h +++ b/src/INTERLAYER/pair_ilp_graphene_hbn.h @@ -62,7 +62,6 @@ class PairILPGrapheneHBN : public Pair { double cut_global; double cut_normal; - double **cut; double **cutILPsq; // mapping the cutoff from element pairs to parameters double **offset; double **normal; diff --git a/src/INTERLAYER/pair_kolmogorov_crespi_full.cpp b/src/INTERLAYER/pair_kolmogorov_crespi_full.cpp index cbab6e07d1..e8db858218 100644 --- a/src/INTERLAYER/pair_kolmogorov_crespi_full.cpp +++ b/src/INTERLAYER/pair_kolmogorov_crespi_full.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -48,14 +47,14 @@ using namespace InterLayer; #define PGDELTA 1 static const char cite_kc[] = - "@Article{Ouyang2018\n" - " author = {W. Ouyang, D. Mandelli, M. Urbakh, and O. Hod},\n" - " title = {Nanoserpents: Graphene Nanoribbon Motion on Two-Dimensional Hexagonal Materials},\n" - " journal = {Nano Letters},\n" - " volume = 18,\n" - " pages = {6009}\n" - " year = 2018,\n" - "}\n\n"; + "@Article{Ouyang2018\n" + " author = {W. Ouyang, D. Mandelli, M. Urbakh, and O. Hod},\n" + " title = {Nanoserpents: Graphene Nanoribbon Motion on Two-Dimensional Hexagonal Materials},\n" + " journal = {Nano Letters},\n" + " volume = 18,\n" + " pages = {6009}\n" + " year = 2018,\n" + "}\n\n"; /* ---------------------------------------------------------------------- */ @@ -100,8 +99,8 @@ PairKolmogorovCrespiFull::~PairKolmogorovCrespiFull() { memory->destroy(KC_numneigh); memory->sfree(KC_firstneigh); - delete [] ipage; - delete [] pvector; + delete[] ipage; + delete[] pvector; memory->destroy(normal); memory->destroy(dnormal); memory->destroy(dnormdri); @@ -109,7 +108,6 @@ PairKolmogorovCrespiFull::~PairKolmogorovCrespiFull() if (allocated) { memory->destroy(setflag); memory->destroy(cutsq); - memory->destroy(cut); memory->destroy(offset); } @@ -125,17 +123,15 @@ PairKolmogorovCrespiFull::~PairKolmogorovCrespiFull() void PairKolmogorovCrespiFull::allocate() { allocated = 1; - int n = atom->ntypes; + int n = atom->ntypes + 1; - memory->create(setflag,n+1,n+1,"pair:setflag"); - for (int i = 1; i <= n; i++) - for (int j = i; j <= n; j++) - setflag[i][j] = 0; + memory->create(setflag, n, n, "pair:setflag"); + for (int i = 1; i < n; i++) + for (int j = i; j < n; j++) setflag[i][j] = 0; - memory->create(cutsq,n+1,n+1,"pair:cutsq"); - memory->create(cut,n+1,n+1,"pair:cut"); - memory->create(offset,n+1,n+1,"pair:offset"); - map = new int[atom->ntypes+1]; + memory->create(cutsq, n, n, "pair:cutsq"); + memory->create(offset, n, n, "pair:offset"); + map = new int[n]; } /* ---------------------------------------------------------------------- @@ -144,12 +140,12 @@ void PairKolmogorovCrespiFull::allocate() void PairKolmogorovCrespiFull::settings(int narg, char **arg) { - if (narg < 1 || narg > 2) error->all(FLERR,"Illegal pair_style command"); - if (strcmp(force->pair_style,"hybrid/overlay")!=0) - error->all(FLERR,"ERROR: requires hybrid/overlay pair_style"); + if (narg < 1 || narg > 2) error->all(FLERR, "Illegal pair_style command"); + if (strcmp(force->pair_style, "hybrid/overlay") != 0) + error->all(FLERR, "ERROR: requires hybrid/overlay pair_style"); - cut_global = utils::numeric(FLERR,arg[0],false,lmp); - if (narg == 2) tap_flag = utils::numeric(FLERR,arg[1],false,lmp); + cut_global = utils::numeric(FLERR, arg[0], false, lmp); + if (narg == 2) tap_flag = utils::numeric(FLERR, arg[1], false, lmp); } /* ---------------------------------------------------------------------- @@ -159,26 +155,25 @@ void PairKolmogorovCrespiFull::settings(int narg, char **arg) void PairKolmogorovCrespiFull::coeff(int narg, char **arg) { if (!allocated) allocate(); - map_element2type(narg-3,arg+3); + map_element2type(narg - 3, arg + 3); read_file(arg[2]); } - /* ---------------------------------------------------------------------- init for one type pair i,j and corresponding j,i ------------------------------------------------------------------------- */ double PairKolmogorovCrespiFull::init_one(int i, int j) { - if (setflag[i][j] == 0) error->all(FLERR,"All pair coeffs are not set"); - if (!offset_flag) - error->all(FLERR,"Must use 'pair_modify shift yes' with this pair style"); + if (setflag[i][j] == 0) error->all(FLERR, "All pair coeffs are not set"); + if (!offset_flag) error->all(FLERR, "Must use 'pair_modify shift yes' with this pair style"); if (offset_flag && (cut_global > 0.0)) { int iparam_ij = elem2param[map[i]][map[j]]; - Param& p = params[iparam_ij]; - offset[i][j] = -p.A*pow(p.z0/cut_global,6); - } else offset[i][j] = 0.0; + Param &p = params[iparam_ij]; + offset[i][j] = -p.A * pow(p.z0 / cut_global, 6); + } else + offset[i][j] = 0.0; offset[j][i] = offset[i][j]; return cut_global; @@ -229,29 +224,29 @@ void PairKolmogorovCrespiFull::read_file(char *filename) if (nparams == maxparam) { maxparam += DELTA; - params = (Param *) memory->srealloc(params,maxparam*sizeof(Param), "pair:params"); + params = (Param *) memory->srealloc(params, maxparam * sizeof(Param), "pair:params"); // make certain all addional allocated storage is initialized // to avoid false positives when checking with valgrind - memset(params + nparams, 0, DELTA*sizeof(Param)); + memset(params + nparams, 0, DELTA * sizeof(Param)); } // load up parameter settings and error check their values params[nparams].ielement = ielement; params[nparams].jelement = jelement; - params[nparams].z0 = values.next_double(); - params[nparams].C0 = values.next_double(); - params[nparams].C2 = values.next_double(); - params[nparams].C4 = values.next_double(); - params[nparams].C = values.next_double(); - params[nparams].delta = values.next_double(); - params[nparams].lambda = values.next_double(); - params[nparams].A = values.next_double(); + params[nparams].z0 = values.next_double(); + params[nparams].C0 = values.next_double(); + params[nparams].C2 = values.next_double(); + params[nparams].C4 = values.next_double(); + params[nparams].C = values.next_double(); + params[nparams].delta = values.next_double(); + params[nparams].lambda = values.next_double(); + params[nparams].A = values.next_double(); // S provides a convenient scaling of all energies - params[nparams].S = values.next_double(); - params[nparams].rcut = values.next_double(); + params[nparams].S = values.next_double(); + params[nparams].rcut = values.next_double(); } catch (TokenizerException &e) { error->one(FLERR, e.what()); @@ -259,7 +254,7 @@ void PairKolmogorovCrespiFull::read_file(char *filename) // energies in meV further scaled by S - double meV = 1.0e-3*params[nparams].S; + double meV = 1.0e-3 * params[nparams].S; if (unit_convert) meV *= conversion_factor; params[nparams].C *= meV; @@ -269,8 +264,8 @@ void PairKolmogorovCrespiFull::read_file(char *filename) params[nparams].C4 *= meV; // precompute some quantities - params[nparams].delta2inv = pow(params[nparams].delta,-2); - params[nparams].z06 = pow(params[nparams].z0,6); + params[nparams].delta2inv = pow(params[nparams].delta, -2); + params[nparams].z06 = pow(params[nparams].z0, 6); nparams++; } @@ -279,28 +274,28 @@ void PairKolmogorovCrespiFull::read_file(char *filename) MPI_Bcast(&maxparam, 1, MPI_INT, 0, world); if (comm->me != 0) { - params = (Param *) memory->srealloc(params,maxparam*sizeof(Param), "pair:params"); + params = (Param *) memory->srealloc(params, maxparam * sizeof(Param), "pair:params"); } - MPI_Bcast(params, maxparam*sizeof(Param), MPI_BYTE, 0, world); + MPI_Bcast(params, maxparam * sizeof(Param), MPI_BYTE, 0, world); } memory->destroy(elem2param); memory->destroy(cutKCsq); - memory->create(elem2param,nelements,nelements,"pair:elem2param"); - memory->create(cutKCsq,nelements,nelements,"pair:cutKCsq"); + memory->create(elem2param, nelements, nelements, "pair:elem2param"); + memory->create(cutKCsq, nelements, nelements, "pair:cutKCsq"); for (int i = 0; i < nelements; i++) { for (int j = 0; j < nelements; j++) { int n = -1; for (int m = 0; m < nparams; m++) { if (i == params[m].ielement && j == params[m].jelement) { - if (n >= 0) error->all(FLERR,"KC Potential file has duplicate entry"); + if (n >= 0) error->all(FLERR, "KC Potential file has duplicate entry"); n = m; } } - if (n < 0) error->all(FLERR,"Potential file is missing an entry"); + if (n < 0) error->all(FLERR, "Potential file is missing an entry"); elem2param[i][j] = n; - cutKCsq[i][j] = params[n].rcut*params[n].rcut; + cutKCsq[i][j] = params[n].rcut * params[n].rcut; } } } @@ -312,13 +307,13 @@ void PairKolmogorovCrespiFull::read_file(char *filename) void PairKolmogorovCrespiFull::init_style() { if (force->newton_pair == 0) - error->all(FLERR,"Pair style kolmolgorov/crespi/full requires newton pair on"); + error->all(FLERR, "Pair style kolmolgorov/crespi/full requires newton pair on"); if (!atom->molecule_flag) - error->all(FLERR,"Pair style kolmolgorov/crespi/full requires atom attribute molecule"); + error->all(FLERR, "Pair style kolmolgorov/crespi/full requires atom attribute molecule"); // need a full neighbor list, including neighbors of ghosts - int irequest = neighbor->request(this,instance_me); + int irequest = neighbor->request(this, instance_me); neighbor->requests[irequest]->half = 0; neighbor->requests[irequest]->full = 1; neighbor->requests[irequest]->ghost = 1; @@ -332,14 +327,13 @@ void PairKolmogorovCrespiFull::init_style() if (oneatom != neighbor->oneatom) create = 1; if (create) { - delete [] ipage; + delete[] ipage; pgsize = neighbor->pgsize; oneatom = neighbor->oneatom; - int nmypage= comm->nthreads; + int nmypage = comm->nthreads; ipage = new MyPage[nmypage]; - for (int i = 0; i < nmypage; i++) - ipage[i].init(oneatom,pgsize,PGDELTA); + for (int i = 0; i < nmypage; i++) ipage[i].init(oneatom, pgsize, PGDELTA); } } @@ -347,7 +341,7 @@ void PairKolmogorovCrespiFull::init_style() void PairKolmogorovCrespiFull::compute(int eflag, int vflag) { - ev_init(eflag,vflag); + ev_init(eflag, vflag); pvector[0] = pvector[1] = 0.0; // Build full neighbor list @@ -355,9 +349,9 @@ void PairKolmogorovCrespiFull::compute(int eflag, int vflag) // Calculate the normals and its derivatives calc_normal(); // Calculate the van der Waals force and energy - calc_FvdW(eflag,vflag); + calc_FvdW(eflag, vflag); // Calculate the repulsive force and energy - calc_FRep(eflag,vflag); + calc_FRep(eflag, vflag); if (vflag_fdotr) virial_fdotr_compute(); } @@ -368,11 +362,11 @@ void PairKolmogorovCrespiFull::compute(int eflag, int vflag) void PairKolmogorovCrespiFull::calc_FvdW(int eflag, int /* vflag */) { - int i,j,ii,jj,inum,jnum,itype,jtype; - tagint itag,jtag; - double xtmp,ytmp,ztmp,delx,dely,delz,evdwl,fpair; - double rsq,r,Rcut,r2inv,r6inv,r8inv,Tap,dTap,Vkc,fsum; - int *ilist,*jlist,*numneigh,**firstneigh; + int i, j, ii, jj, inum, jnum, itype, jtype; + tagint itag, jtag; + double xtmp, ytmp, ztmp, delx, dely, delz, evdwl, fpair; + double rsq, r, Rcut, r2inv, r6inv, r8inv, Tap, dTap, Vkc, fsum; + int *ilist, *jlist, *numneigh, **firstneigh; evdwl = 0.0; double **x = atom->x; @@ -406,9 +400,9 @@ void PairKolmogorovCrespiFull::calc_FvdW(int eflag, int /* vflag */) // two-body interactions from full neighbor list, skip half of them if (itag > jtag) { - if ((itag+jtag) % 2 == 0) continue; + if ((itag + jtag) % 2 == 0) continue; } else if (itag < jtag) { - if ((itag+jtag) % 2 == 1) continue; + if ((itag + jtag) % 2 == 1) continue; } else { if (x[j][2] < ztmp) continue; if (x[j][2] == ztmp && x[j][1] < ytmp) continue; @@ -418,41 +412,43 @@ void PairKolmogorovCrespiFull::calc_FvdW(int eflag, int /* vflag */) delx = xtmp - x[j][0]; dely = ytmp - x[j][1]; delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; + rsq = delx * delx + dely * dely + delz * delz; // only include the interaction between different layers if (rsq < cutsq[itype][jtype] && atom->molecule[i] != atom->molecule[j]) { int iparam_ij = elem2param[map[itype]][map[jtype]]; - Param& p = params[iparam_ij]; + Param &p = params[iparam_ij]; r = sqrt(rsq); - r2inv = 1.0/rsq; - r6inv = r2inv*r2inv*r2inv; - r8inv = r6inv*r2inv; + r2inv = 1.0 / rsq; + r6inv = r2inv * r2inv * r2inv; + r8inv = r6inv * r2inv; // turn on/off taper function if (tap_flag) { Rcut = sqrt(cutsq[itype][jtype]); - Tap = calc_Tap(r,Rcut); - dTap = calc_dTap(r,Rcut); - } else {Tap = 1.0; dTap = 0.0;} + Tap = calc_Tap(r, Rcut); + dTap = calc_dTap(r, Rcut); + } else { + Tap = 1.0; + dTap = 0.0; + } - Vkc = -p.A*p.z06*r6inv; + Vkc = -p.A * p.z06 * r6inv; // derivatives - fpair = -6.0*p.A*p.z06*r8inv; - fsum = fpair*Tap - Vkc*dTap/r; + fpair = -6.0 * p.A * p.z06 * r8inv; + fsum = fpair * Tap - Vkc * dTap / r; - f[i][0] += fsum*delx; - f[i][1] += fsum*dely; - f[i][2] += fsum*delz; - f[j][0] -= fsum*delx; - f[j][1] -= fsum*dely; - f[j][2] -= fsum*delz; + f[i][0] += fsum * delx; + f[i][1] += fsum * dely; + f[i][2] += fsum * delz; + f[j][0] -= fsum * delx; + f[j][1] -= fsum * dely; + f[j][2] -= fsum * delz; - if (eflag) pvector[0] += evdwl = Vkc*Tap; - if (evflag) ev_tally(i,j,nlocal,newton_pair, - evdwl,0.0,fsum,delx,dely,delz); + if (eflag) pvector[0] += evdwl = Vkc * Tap; + if (evflag) ev_tally(i, j, nlocal, newton_pair, evdwl, 0.0, fsum, delx, dely, delz); } } } @@ -464,12 +460,12 @@ void PairKolmogorovCrespiFull::calc_FvdW(int eflag, int /* vflag */) void PairKolmogorovCrespiFull::calc_FRep(int eflag, int /* vflag */) { - int i,j,ii,jj,inum,jnum,itype,jtype,k,kk; - double prodnorm1,fkcx,fkcy,fkcz; - double xtmp,ytmp,ztmp,delx,dely,delz,evdwl,fpair,fpair1; - double rsq,r,rhosq1,exp0,exp1,Tap,dTap,Vkc; - double frho_ij,sumC1,sumC11,sumCff,fsum,rho_ij; - int *ilist,*jlist,*numneigh,**firstneigh; + int i, j, ii, jj, inum, jnum, itype, jtype, k, kk; + double prodnorm1, fkcx, fkcy, fkcz; + double xtmp, ytmp, ztmp, delx, dely, delz, evdwl, fpair, fpair1; + double rsq, r, rhosq1, exp0, exp1, Tap, dTap, Vkc; + double frho_ij, sumC1, sumC11, sumCff, fsum, rho_ij; + int *ilist, *jlist, *numneigh, **firstneigh; int *KC_neighs_i; evdwl = 0.0; @@ -509,58 +505,64 @@ void PairKolmogorovCrespiFull::calc_FRep(int eflag, int /* vflag */) delx = xtmp - x[j][0]; dely = ytmp - x[j][1]; delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; + rsq = delx * delx + dely * dely + delz * delz; // only include the interaction between different layers if (rsq < cutsq[itype][jtype] && atom->molecule[i] != atom->molecule[j]) { int iparam_ij = elem2param[map[itype]][map[jtype]]; - Param& p = params[iparam_ij]; + Param &p = params[iparam_ij]; r = sqrt(rsq); // turn on/off taper function if (tap_flag) { - Tap = calc_Tap(r,sqrt(cutsq[itype][jtype])); - dTap = calc_dTap(r,sqrt(cutsq[itype][jtype])); - } else {Tap = 1.0; dTap = 0.0;} + Tap = calc_Tap(r, sqrt(cutsq[itype][jtype])); + dTap = calc_dTap(r, sqrt(cutsq[itype][jtype])); + } else { + Tap = 1.0; + dTap = 0.0; + } // Calculate the transverse distance - prodnorm1 = normal[i][0]*delx + normal[i][1]*dely + normal[i][2]*delz; - rhosq1 = rsq - prodnorm1*prodnorm1; // rho_ij - rho_ij = rhosq1*p.delta2inv; // (rho_ij/delta)^2 + prodnorm1 = normal[i][0] * delx + normal[i][1] * dely + normal[i][2] * delz; + rhosq1 = rsq - prodnorm1 * prodnorm1; // rho_ij + rho_ij = rhosq1 * p.delta2inv; // (rho_ij/delta)^2 // store exponents - exp0 = exp(-p.lambda*(r-p.z0)); + exp0 = exp(-p.lambda * (r - p.z0)); exp1 = exp(-rho_ij); - sumC1 = p.C0 + p.C2*rho_ij + p.C4*rho_ij*rho_ij; - sumC11 = (p.C2 + 2.0*p.C4*rho_ij)*p.delta2inv; - frho_ij = exp1*sumC1; - sumCff = 0.5*p.C + frho_ij; - Vkc = exp0*sumCff; + sumC1 = p.C0 + p.C2 * rho_ij + p.C4 * rho_ij * rho_ij; + sumC11 = (p.C2 + 2.0 * p.C4 * rho_ij) * p.delta2inv; + frho_ij = exp1 * sumC1; + sumCff = 0.5 * p.C + frho_ij; + Vkc = exp0 * sumCff; // derivatives - fpair = p.lambda*exp0/r*sumCff; - fpair1 = 2.0*exp0*exp1*(p.delta2inv*sumC1 - sumC11); + fpair = p.lambda * exp0 / r * sumCff; + fpair1 = 2.0 * exp0 * exp1 * (p.delta2inv * sumC1 - sumC11); fsum = fpair + fpair1; // derivatives of the product of rij and ni, the result is a vector - dprodnorm1[0] = dnormdri[0][0][i]*delx + dnormdri[1][0][i]*dely + dnormdri[2][0][i]*delz; - dprodnorm1[1] = dnormdri[0][1][i]*delx + dnormdri[1][1][i]*dely + dnormdri[2][1][i]*delz; - dprodnorm1[2] = dnormdri[0][2][i]*delx + dnormdri[1][2][i]*dely + dnormdri[2][2][i]*delz; - fp1[0] = prodnorm1*normal[i][0]*fpair1; - fp1[1] = prodnorm1*normal[i][1]*fpair1; - fp1[2] = prodnorm1*normal[i][2]*fpair1; - fprod1[0] = prodnorm1*dprodnorm1[0]*fpair1; - fprod1[1] = prodnorm1*dprodnorm1[1]*fpair1; - fprod1[2] = prodnorm1*dprodnorm1[2]*fpair1; - fkcx = (delx*fsum - fp1[0])*Tap - Vkc*dTap*delx/r; - fkcy = (dely*fsum - fp1[1])*Tap - Vkc*dTap*dely/r; - fkcz = (delz*fsum - fp1[2])*Tap - Vkc*dTap*delz/r; + dprodnorm1[0] = + dnormdri[0][0][i] * delx + dnormdri[1][0][i] * dely + dnormdri[2][0][i] * delz; + dprodnorm1[1] = + dnormdri[0][1][i] * delx + dnormdri[1][1][i] * dely + dnormdri[2][1][i] * delz; + dprodnorm1[2] = + dnormdri[0][2][i] * delx + dnormdri[1][2][i] * dely + dnormdri[2][2][i] * delz; + fp1[0] = prodnorm1 * normal[i][0] * fpair1; + fp1[1] = prodnorm1 * normal[i][1] * fpair1; + fp1[2] = prodnorm1 * normal[i][2] * fpair1; + fprod1[0] = prodnorm1 * dprodnorm1[0] * fpair1; + fprod1[1] = prodnorm1 * dprodnorm1[1] * fpair1; + fprod1[2] = prodnorm1 * dprodnorm1[2] * fpair1; + fkcx = (delx * fsum - fp1[0]) * Tap - Vkc * dTap * delx / r; + fkcy = (dely * fsum - fp1[1]) * Tap - Vkc * dTap * dely / r; + fkcz = (delz * fsum - fp1[2]) * Tap - Vkc * dTap * delz / r; - f[i][0] += fkcx - fprod1[0]*Tap; - f[i][1] += fkcy - fprod1[1]*Tap; - f[i][2] += fkcz - fprod1[2]*Tap; + f[i][0] += fkcx - fprod1[0] * Tap; + f[i][1] += fkcy - fprod1[1] * Tap; + f[i][2] += fkcz - fprod1[2] * Tap; f[j][0] -= fkcx; f[j][1] -= fkcy; f[j][2] -= fkcz; @@ -571,29 +573,37 @@ void PairKolmogorovCrespiFull::calc_FRep(int eflag, int /* vflag */) k = KC_neighs_i[kk]; if (k == i) continue; // derivatives of the product of rij and ni respect to rk, k=0,1,2, where atom k is the neighbors of atom i - dprodnorm1[0] = dnormal[0][0][kk][i]*delx + dnormal[1][0][kk][i]*dely + dnormal[2][0][kk][i]*delz; - dprodnorm1[1] = dnormal[0][1][kk][i]*delx + dnormal[1][1][kk][i]*dely + dnormal[2][1][kk][i]*delz; - dprodnorm1[2] = dnormal[0][2][kk][i]*delx + dnormal[1][2][kk][i]*dely + dnormal[2][2][kk][i]*delz; - fk[0] = (-prodnorm1*dprodnorm1[0]*fpair1)*Tap; - fk[1] = (-prodnorm1*dprodnorm1[1]*fpair1)*Tap; - fk[2] = (-prodnorm1*dprodnorm1[2]*fpair1)*Tap; + dprodnorm1[0] = dnormal[0][0][kk][i] * delx + dnormal[1][0][kk][i] * dely + + dnormal[2][0][kk][i] * delz; + dprodnorm1[1] = dnormal[0][1][kk][i] * delx + dnormal[1][1][kk][i] * dely + + dnormal[2][1][kk][i] * delz; + dprodnorm1[2] = dnormal[0][2][kk][i] * delx + dnormal[1][2][kk][i] * dely + + dnormal[2][2][kk][i] * delz; + fk[0] = (-prodnorm1 * dprodnorm1[0] * fpair1) * Tap; + fk[1] = (-prodnorm1 * dprodnorm1[1] * fpair1) * Tap; + fk[2] = (-prodnorm1 * dprodnorm1[2] * fpair1) * Tap; f[k][0] += fk[0]; f[k][1] += fk[1]; f[k][2] += fk[2]; delkj[0] = x[k][0] - x[j][0]; delkj[1] = x[k][1] - x[j][1]; delkj[2] = x[k][2] - x[j][2]; - if (evflag) ev_tally_xyz(k,j,nlocal,newton_pair,0.0,0.0,fk[0],fk[1],fk[2],delkj[0],delkj[1],delkj[2]); + if (evflag) + ev_tally_xyz(k, j, nlocal, newton_pair, 0.0, 0.0, fk[0], fk[1], fk[2], delkj[0], + delkj[1], delkj[2]); } if (eflag) { - if (tap_flag) pvector[1] += evdwl = Tap*Vkc; - else pvector[1] += evdwl = Vkc - offset[itype][jtype]; + if (tap_flag) + pvector[1] += evdwl = Tap * Vkc; + else + pvector[1] += evdwl = Vkc - offset[itype][jtype]; } - if (evflag) ev_tally_xyz(i,j,nlocal,newton_pair,evdwl,0.0,fkcx,fkcy,fkcz,delx,dely,delz); + if (evflag) + ev_tally_xyz(i, j, nlocal, newton_pair, evdwl, 0.0, fkcx, fkcy, fkcz, delx, dely, delz); } - } // loop over jj - } // loop over ii + } // loop over jj + } // loop over ii } /* ---------------------------------------------------------------------- @@ -602,9 +612,9 @@ void PairKolmogorovCrespiFull::calc_FRep(int eflag, int /* vflag */) void PairKolmogorovCrespiFull::KC_neigh() { - int i,j,ii,jj,n,allnum,jnum,itype,jtype; - double xtmp,ytmp,ztmp,delx,dely,delz,rsq; - int *ilist,*jlist,*numneigh,**firstneigh; + int i, j, ii, jj, n, allnum, jnum, itype, jtype; + double xtmp, ytmp, ztmp, delx, dely, delz, rsq; + int *ilist, *jlist, *numneigh, **firstneigh; int *neighptr; double **x = atom->x; @@ -614,9 +624,9 @@ void PairKolmogorovCrespiFull::KC_neigh() maxlocal = atom->nmax; memory->destroy(KC_numneigh); memory->sfree(KC_firstneigh); - memory->create(KC_numneigh,maxlocal,"KolmogorovCrespiFull:numneigh"); - KC_firstneigh = (int **) memory->smalloc(maxlocal*sizeof(int *), - "KolmogorovCrespiFull:firstneigh"); + memory->create(KC_numneigh, maxlocal, "KolmogorovCrespiFull:numneigh"); + KC_firstneigh = + (int **) memory->smalloc(maxlocal * sizeof(int *), "KolmogorovCrespiFull:firstneigh"); } allnum = list->inum + list->gnum; @@ -649,7 +659,7 @@ void PairKolmogorovCrespiFull::KC_neigh() delx = xtmp - x[j][0]; dely = ytmp - x[j][1]; delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; + rsq = delx * delx + dely * dely + delz * delz; if (rsq != 0 && rsq < cutKCsq[itype][jtype] && atom->molecule[i] == atom->molecule[j]) { neighptr[n++] = j; @@ -658,11 +668,12 @@ void PairKolmogorovCrespiFull::KC_neigh() KC_firstneigh[i] = neighptr; KC_numneigh[i] = n; - if (n > 3) error->one(FLERR,"There are too many neighbors for some atoms, please check your configuration"); + if (n > 3) + error->one(FLERR, + "There are too many neighbors for some atoms, please check your configuration"); ipage->vgot(n); - if (ipage->status()) - error->one(FLERR,"Neighbor list overflow, boost neigh_modify one"); + if (ipage->status()) error->one(FLERR, "Neighbor list overflow, boost neigh_modify one"); } } @@ -671,12 +682,12 @@ void PairKolmogorovCrespiFull::KC_neigh() ------------------------------------------------------------------------- */ void PairKolmogorovCrespiFull::calc_normal() { - int i,j,ii,jj,inum,jnum; - int cont,id,ip,m; - double nn,xtp,ytp,ztp,delx,dely,delz,nn2; - int *ilist,*jlist; - double pv12[3],pv31[3],pv23[3],n1[3],dni[3],dnn[3][3],vet[3][3],dpvdri[3][3]; - double dn1[3][3][3],dpv12[3][3][3],dpv23[3][3][3],dpv31[3][3][3]; + int i, j, ii, jj, inum, jnum; + int cont, id, ip, m; + double nn, xtp, ytp, ztp, delx, dely, delz, nn2; + int *ilist, *jlist; + double pv12[3], pv31[3], pv23[3], n1[3], dni[3], dnn[3][3], vet[3][3], dpvdri[3][3]; + double dn1[3][3][3], dpv12[3][3][3], dpv23[3][3][3], dpv31[3][3][3]; double **x = atom->x; @@ -687,9 +698,9 @@ void PairKolmogorovCrespiFull::calc_normal() memory->destroy(dnormal); memory->destroy(dnormdri); nmax = atom->nmax; - memory->create(normal,nmax,3,"KolmogorovCrespiFull:normal"); - memory->create(dnormdri,3,3,nmax,"KolmogorovCrespiFull:dnormdri"); - memory->create(dnormal,3,3,3,nmax,"KolmogorovCrespiFull:dnormal"); + memory->create(normal, nmax, 3, "KolmogorovCrespiFull:normal"); + memory->create(dnormdri, 3, 3, nmax, "KolmogorovCrespiFull:dnormdri"); + memory->create(dnormal, 3, 3, 3, nmax, "KolmogorovCrespiFull:dnormal"); } inum = list->inum; @@ -749,84 +760,77 @@ void PairKolmogorovCrespiFull::calc_normal() for (id = 0; id < 3; id++) { for (ip = 0; ip < 3; ip++) { dnormdri[id][ip][i] = 0.0; - for (m = 0; m < 3; m++) { - dnormal[id][ip][m][i] = 0.0; - } + for (m = 0; m < 3; m++) { dnormal[id][ip][m][i] = 0.0; } } } - } - else if (cont == 2) { + } else if (cont == 2) { // for the atoms at the edge who has only two neighbor atoms - pv12[0] = vet[0][1]*vet[1][2] - vet[1][1]*vet[0][2]; - pv12[1] = vet[0][2]*vet[1][0] - vet[1][2]*vet[0][0]; - pv12[2] = vet[0][0]*vet[1][1] - vet[1][0]*vet[0][1]; + pv12[0] = vet[0][1] * vet[1][2] - vet[1][1] * vet[0][2]; + pv12[1] = vet[0][2] * vet[1][0] - vet[1][2] * vet[0][0]; + pv12[2] = vet[0][0] * vet[1][1] - vet[1][0] * vet[0][1]; dpvdri[0][0] = 0.0; - dpvdri[0][1] = vet[0][2]-vet[1][2]; - dpvdri[0][2] = vet[1][1]-vet[0][1]; - dpvdri[1][0] = vet[1][2]-vet[0][2]; + dpvdri[0][1] = vet[0][2] - vet[1][2]; + dpvdri[0][2] = vet[1][1] - vet[0][1]; + dpvdri[1][0] = vet[1][2] - vet[0][2]; dpvdri[1][1] = 0.0; - dpvdri[1][2] = vet[0][0]-vet[1][0]; - dpvdri[2][0] = vet[0][1]-vet[1][1]; - dpvdri[2][1] = vet[1][0]-vet[0][0]; + dpvdri[1][2] = vet[0][0] - vet[1][0]; + dpvdri[2][0] = vet[0][1] - vet[1][1]; + dpvdri[2][1] = vet[1][0] - vet[0][0]; dpvdri[2][2] = 0.0; // derivatives respect to the first neighbor, atom k - dpv12[0][0][0] = 0.0; - dpv12[0][1][0] = vet[1][2]; + dpv12[0][0][0] = 0.0; + dpv12[0][1][0] = vet[1][2]; dpv12[0][2][0] = -vet[1][1]; dpv12[1][0][0] = -vet[1][2]; - dpv12[1][1][0] = 0.0; - dpv12[1][2][0] = vet[1][0]; - dpv12[2][0][0] = vet[1][1]; + dpv12[1][1][0] = 0.0; + dpv12[1][2][0] = vet[1][0]; + dpv12[2][0][0] = vet[1][1]; dpv12[2][1][0] = -vet[1][0]; - dpv12[2][2][0] = 0.0; + dpv12[2][2][0] = 0.0; // derivatives respect to the second neighbor, atom l - dpv12[0][0][1] = 0.0; + dpv12[0][0][1] = 0.0; dpv12[0][1][1] = -vet[0][2]; - dpv12[0][2][1] = vet[0][1]; - dpv12[1][0][1] = vet[0][2]; - dpv12[1][1][1] = 0.0; + dpv12[0][2][1] = vet[0][1]; + dpv12[1][0][1] = vet[0][2]; + dpv12[1][1][1] = 0.0; dpv12[1][2][1] = -vet[0][0]; dpv12[2][0][1] = -vet[0][1]; - dpv12[2][1][1] = vet[0][0]; - dpv12[2][2][1] = 0.0; + dpv12[2][1][1] = vet[0][0]; + dpv12[2][2][1] = 0.0; // derivatives respect to the third neighbor, atom n for (id = 0; id < 3; id++) { - for (ip = 0; ip < 3; ip++) { - dpv12[id][ip][2] = 0.0; - } + for (ip = 0; ip < 3; ip++) { dpv12[id][ip][2] = 0.0; } } n1[0] = pv12[0]; n1[1] = pv12[1]; n1[2] = pv12[2]; // the magnitude of the normal vector - nn2 = n1[0]*n1[0] + n1[1]*n1[1] + n1[2]*n1[2]; + nn2 = n1[0] * n1[0] + n1[1] * n1[1] + n1[2] * n1[2]; nn = sqrt(nn2); - if (nn == 0) error->one(FLERR,"The magnitude of the normal vector is zero"); + if (nn == 0) error->one(FLERR, "The magnitude of the normal vector is zero"); // the unit normal vector - normal[i][0] = n1[0]/nn; - normal[i][1] = n1[1]/nn; - normal[i][2] = n1[2]/nn; + normal[i][0] = n1[0] / nn; + normal[i][1] = n1[1] / nn; + normal[i][2] = n1[2] / nn; // derivatives of nn, dnn:3x1 vector - dni[0] = (n1[0]*dpvdri[0][0] + n1[1]*dpvdri[1][0] + n1[2]*dpvdri[2][0])/nn; - dni[1] = (n1[0]*dpvdri[0][1] + n1[1]*dpvdri[1][1] + n1[2]*dpvdri[2][1])/nn; - dni[2] = (n1[0]*dpvdri[0][2] + n1[1]*dpvdri[1][2] + n1[2]*dpvdri[2][2])/nn; + dni[0] = (n1[0] * dpvdri[0][0] + n1[1] * dpvdri[1][0] + n1[2] * dpvdri[2][0]) / nn; + dni[1] = (n1[0] * dpvdri[0][1] + n1[1] * dpvdri[1][1] + n1[2] * dpvdri[2][1]) / nn; + dni[2] = (n1[0] * dpvdri[0][2] + n1[1] * dpvdri[1][2] + n1[2] * dpvdri[2][2]) / nn; // derivatives of unit vector ni respect to ri, the result is 3x3 matrix for (id = 0; id < 3; id++) { for (ip = 0; ip < 3; ip++) { - dnormdri[id][ip][i] = dpvdri[id][ip]/nn - n1[id]*dni[ip]/nn2; + dnormdri[id][ip][i] = dpvdri[id][ip] / nn - n1[id] * dni[ip] / nn2; } } // derivatives of non-normalized normal vector, dn1:3x3x3 array for (id = 0; id < 3; id++) { for (ip = 0; ip < 3; ip++) { - for (m = 0; m < 3; m++) { - dn1[id][ip][m] = dpv12[id][ip][m]; - } + for (m = 0; m < 3; m++) { dn1[id][ip][m] = dpv12[id][ip][m]; } } } // derivatives of nn, dnn:3x3 vector @@ -834,7 +838,7 @@ void PairKolmogorovCrespiFull::calc_normal() // r[id][m]: the id's component of atom m for (m = 0; m < 3; m++) { for (id = 0; id < 3; id++) { - dnn[id][m] = (n1[0]*dn1[0][id][m] + n1[1]*dn1[1][id][m] + n1[2]*dn1[2][id][m])/nn; + dnn[id][m] = (n1[0] * dn1[0][id][m] + n1[1] * dn1[1][id][m] + n1[2] * dn1[2][id][m]) / nn; } } // dnormal[id][ip][m][i]: the derivative of normal[id] respect to r[ip][m], id,ip=0,1,2 @@ -842,135 +846,127 @@ void PairKolmogorovCrespiFull::calc_normal() for (m = 0; m < 3; m++) { for (id = 0; id < 3; id++) { for (ip = 0; ip < 3; ip++) { - dnormal[id][ip][m][i] = dn1[id][ip][m]/nn - n1[id]*dnn[ip][m]/nn2; + dnormal[id][ip][m][i] = dn1[id][ip][m] / nn - n1[id] * dnn[ip][m] / nn2; } } } } -//############################################################################################## + //############################################################################################## else if (cont == 3) { // for the atoms at the edge who has only two neighbor atoms - pv12[0] = vet[0][1]*vet[1][2] - vet[1][1]*vet[0][2]; - pv12[1] = vet[0][2]*vet[1][0] - vet[1][2]*vet[0][0]; - pv12[2] = vet[0][0]*vet[1][1] - vet[1][0]*vet[0][1]; + pv12[0] = vet[0][1] * vet[1][2] - vet[1][1] * vet[0][2]; + pv12[1] = vet[0][2] * vet[1][0] - vet[1][2] * vet[0][0]; + pv12[2] = vet[0][0] * vet[1][1] - vet[1][0] * vet[0][1]; // derivatives respect to the first neighbor, atom k - dpv12[0][0][0] = 0.0; - dpv12[0][1][0] = vet[1][2]; + dpv12[0][0][0] = 0.0; + dpv12[0][1][0] = vet[1][2]; dpv12[0][2][0] = -vet[1][1]; dpv12[1][0][0] = -vet[1][2]; - dpv12[1][1][0] = 0.0; - dpv12[1][2][0] = vet[1][0]; - dpv12[2][0][0] = vet[1][1]; + dpv12[1][1][0] = 0.0; + dpv12[1][2][0] = vet[1][0]; + dpv12[2][0][0] = vet[1][1]; dpv12[2][1][0] = -vet[1][0]; - dpv12[2][2][0] = 0.0; + dpv12[2][2][0] = 0.0; // derivatives respect to the second neighbor, atom l - dpv12[0][0][1] = 0.0; + dpv12[0][0][1] = 0.0; dpv12[0][1][1] = -vet[0][2]; - dpv12[0][2][1] = vet[0][1]; - dpv12[1][0][1] = vet[0][2]; - dpv12[1][1][1] = 0.0; + dpv12[0][2][1] = vet[0][1]; + dpv12[1][0][1] = vet[0][2]; + dpv12[1][1][1] = 0.0; dpv12[1][2][1] = -vet[0][0]; dpv12[2][0][1] = -vet[0][1]; - dpv12[2][1][1] = vet[0][0]; - dpv12[2][2][1] = 0.0; + dpv12[2][1][1] = vet[0][0]; + dpv12[2][2][1] = 0.0; // derivatives respect to the third neighbor, atom n for (id = 0; id < 3; id++) { - for (ip = 0; ip < 3; ip++) { - dpv12[id][ip][2] = 0.0; - } + for (ip = 0; ip < 3; ip++) { dpv12[id][ip][2] = 0.0; } } - pv31[0] = vet[2][1]*vet[0][2] - vet[0][1]*vet[2][2]; - pv31[1] = vet[2][2]*vet[0][0] - vet[0][2]*vet[2][0]; - pv31[2] = vet[2][0]*vet[0][1] - vet[0][0]*vet[2][1]; + pv31[0] = vet[2][1] * vet[0][2] - vet[0][1] * vet[2][2]; + pv31[1] = vet[2][2] * vet[0][0] - vet[0][2] * vet[2][0]; + pv31[2] = vet[2][0] * vet[0][1] - vet[0][0] * vet[2][1]; // derivatives respect to the first neighbor, atom k - dpv31[0][0][0] = 0.0; + dpv31[0][0][0] = 0.0; dpv31[0][1][0] = -vet[2][2]; - dpv31[0][2][0] = vet[2][1]; - dpv31[1][0][0] = vet[2][2]; - dpv31[1][1][0] = 0.0; + dpv31[0][2][0] = vet[2][1]; + dpv31[1][0][0] = vet[2][2]; + dpv31[1][1][0] = 0.0; dpv31[1][2][0] = -vet[2][0]; dpv31[2][0][0] = -vet[2][1]; - dpv31[2][1][0] = vet[2][0]; - dpv31[2][2][0] = 0.0; + dpv31[2][1][0] = vet[2][0]; + dpv31[2][2][0] = 0.0; // derivatives respect to the third neighbor, atom n - dpv31[0][0][2] = 0.0; - dpv31[0][1][2] = vet[0][2]; + dpv31[0][0][2] = 0.0; + dpv31[0][1][2] = vet[0][2]; dpv31[0][2][2] = -vet[0][1]; // derivatives of pv13[1] to rn dpv31[1][0][2] = -vet[0][2]; - dpv31[1][1][2] = 0.0; - dpv31[1][2][2] = vet[0][0]; + dpv31[1][1][2] = 0.0; + dpv31[1][2][2] = vet[0][0]; // derivatives of pv13[2] to rn - dpv31[2][0][2] = vet[0][1]; + dpv31[2][0][2] = vet[0][1]; dpv31[2][1][2] = -vet[0][0]; - dpv31[2][2][2] = 0.0; + dpv31[2][2][2] = 0.0; // derivatives respect to the second neighbor, atom l for (id = 0; id < 3; id++) { - for (ip = 0; ip < 3; ip++) { - dpv31[id][ip][1] = 0.0; - } + for (ip = 0; ip < 3; ip++) { dpv31[id][ip][1] = 0.0; } } - pv23[0] = vet[1][1]*vet[2][2] - vet[2][1]*vet[1][2]; - pv23[1] = vet[1][2]*vet[2][0] - vet[2][2]*vet[1][0]; - pv23[2] = vet[1][0]*vet[2][1] - vet[2][0]*vet[1][1]; + pv23[0] = vet[1][1] * vet[2][2] - vet[2][1] * vet[1][2]; + pv23[1] = vet[1][2] * vet[2][0] - vet[2][2] * vet[1][0]; + pv23[2] = vet[1][0] * vet[2][1] - vet[2][0] * vet[1][1]; // derivatives respect to the second neighbor, atom k for (id = 0; id < 3; id++) { - for (ip = 0; ip < 3; ip++) { - dpv23[id][ip][0] = 0.0; - } + for (ip = 0; ip < 3; ip++) { dpv23[id][ip][0] = 0.0; } } // derivatives respect to the second neighbor, atom l - dpv23[0][0][1] = 0.0; - dpv23[0][1][1] = vet[2][2]; + dpv23[0][0][1] = 0.0; + dpv23[0][1][1] = vet[2][2]; dpv23[0][2][1] = -vet[2][1]; dpv23[1][0][1] = -vet[2][2]; - dpv23[1][1][1] = 0.0; - dpv23[1][2][1] = vet[2][0]; - dpv23[2][0][1] = vet[2][1]; + dpv23[1][1][1] = 0.0; + dpv23[1][2][1] = vet[2][0]; + dpv23[2][0][1] = vet[2][1]; dpv23[2][1][1] = -vet[2][0]; - dpv23[2][2][1] = 0.0; + dpv23[2][2][1] = 0.0; // derivatives respect to the third neighbor, atom n - dpv23[0][0][2] = 0.0; + dpv23[0][0][2] = 0.0; dpv23[0][1][2] = -vet[1][2]; - dpv23[0][2][2] = vet[1][1]; - dpv23[1][0][2] = vet[1][2]; - dpv23[1][1][2] = 0.0; + dpv23[0][2][2] = vet[1][1]; + dpv23[1][0][2] = vet[1][2]; + dpv23[1][1][2] = 0.0; dpv23[1][2][2] = -vet[1][0]; dpv23[2][0][2] = -vet[1][1]; - dpv23[2][1][2] = vet[1][0]; - dpv23[2][2][2] = 0.0; + dpv23[2][1][2] = vet[1][0]; + dpv23[2][2][2] = 0.0; -//############################################################################################ + //############################################################################################ // average the normal vectors by using the 3 neighboring planes - n1[0] = (pv12[0] + pv31[0] + pv23[0])/cont; - n1[1] = (pv12[1] + pv31[1] + pv23[1])/cont; - n1[2] = (pv12[2] + pv31[2] + pv23[2])/cont; + n1[0] = (pv12[0] + pv31[0] + pv23[0]) / cont; + n1[1] = (pv12[1] + pv31[1] + pv23[1]) / cont; + n1[2] = (pv12[2] + pv31[2] + pv23[2]) / cont; // the magnitude of the normal vector - nn2 = n1[0]*n1[0] + n1[1]*n1[1] + n1[2]*n1[2]; + nn2 = n1[0] * n1[0] + n1[1] * n1[1] + n1[2] * n1[2]; nn = sqrt(nn2); - if (nn == 0) error->one(FLERR,"The magnitude of the normal vector is zero"); + if (nn == 0) error->one(FLERR, "The magnitude of the normal vector is zero"); // the unit normal vector - normal[i][0] = n1[0]/nn; - normal[i][1] = n1[1]/nn; - normal[i][2] = n1[2]/nn; + normal[i][0] = n1[0] / nn; + normal[i][1] = n1[1] / nn; + normal[i][2] = n1[2] / nn; // for the central atoms, dnormdri is always zero for (id = 0; id < 3; id++) { - for (ip = 0; ip < 3; ip++) { - dnormdri[id][ip][i] = 0.0; - } - } // end of derivatives of normals respect to atom i + for (ip = 0; ip < 3; ip++) { dnormdri[id][ip][i] = 0.0; } + } // end of derivatives of normals respect to atom i // derivatives of non-normalized normal vector, dn1:3x3x3 array for (id = 0; id < 3; id++) { for (ip = 0; ip < 3; ip++) { for (m = 0; m < 3; m++) { - dn1[id][ip][m] = (dpv12[id][ip][m] + dpv23[id][ip][m] + dpv31[id][ip][m])/cont; + dn1[id][ip][m] = (dpv12[id][ip][m] + dpv23[id][ip][m] + dpv31[id][ip][m]) / cont; } } } @@ -979,7 +975,7 @@ void PairKolmogorovCrespiFull::calc_normal() // r[id][m]: the id's component of atom m for (m = 0; m < 3; m++) { for (id = 0; id < 3; id++) { - dnn[id][m] = (n1[0]*dn1[0][id][m] + n1[1]*dn1[1][id][m] + n1[2]*dn1[2][id][m])/nn; + dnn[id][m] = (n1[0] * dn1[0][id][m] + n1[1] * dn1[1][id][m] + n1[2] * dn1[2][id][m]) / nn; } } // dnormal[id][ip][m][i]: the derivative of normal[id] respect to r[ip][m], id,ip=0,1,2 @@ -987,49 +983,52 @@ void PairKolmogorovCrespiFull::calc_normal() for (m = 0; m < 3; m++) { for (id = 0; id < 3; id++) { for (ip = 0; ip < 3; ip++) { - dnormal[id][ip][m][i] = dn1[id][ip][m]/nn - n1[id]*dnn[ip][m]/nn2; + dnormal[id][ip][m][i] = dn1[id][ip][m] / nn - n1[id] * dnn[ip][m] / nn2; } } } - } - else { - error->one(FLERR,"There are too many neighbors for calculating normals"); + } else { + error->one(FLERR, "There are too many neighbors for calculating normals"); } -//############################################################################################## + //############################################################################################## } } /* ---------------------------------------------------------------------- */ double PairKolmogorovCrespiFull::single(int /*i*/, int /*j*/, int itype, int jtype, double rsq, - double /*factor_coul*/, double factor_lj, - double &fforce) + double /*factor_coul*/, double factor_lj, double &fforce) { - double r,r2inv,r6inv,r8inv,forcelj,philj; - double Tap,dTap,Vkc,fpair; + double r, r2inv, r6inv, r8inv, forcelj, philj; + double Tap, dTap, Vkc, fpair; int iparam_ij = elem2param[map[itype]][map[jtype]]; - Param& p = params[iparam_ij]; + Param &p = params[iparam_ij]; r = sqrt(rsq); // turn on/off taper function if (tap_flag) { - Tap = calc_Tap(r,sqrt(cutsq[itype][jtype])); - dTap = calc_dTap(r,sqrt(cutsq[itype][jtype])); - } else {Tap = 1.0; dTap = 0.0;} + Tap = calc_Tap(r, sqrt(cutsq[itype][jtype])); + dTap = calc_dTap(r, sqrt(cutsq[itype][jtype])); + } else { + Tap = 1.0; + dTap = 0.0; + } - r2inv = 1.0/rsq; - r6inv = r2inv*r2inv*r2inv; - r8inv = r2inv*r6inv; + r2inv = 1.0 / rsq; + r6inv = r2inv * r2inv * r2inv; + r8inv = r2inv * r6inv; - Vkc = -p.A*p.z06*r6inv; + Vkc = -p.A * p.z06 * r6inv; // derivatives - fpair = -6.0*p.A*p.z06*r8inv; + fpair = -6.0 * p.A * p.z06 * r8inv; forcelj = fpair; - fforce = factor_lj*(forcelj*Tap - Vkc*dTap/r); + fforce = factor_lj * (forcelj * Tap - Vkc * dTap / r); - if (tap_flag) philj = Vkc*Tap; - else philj = Vkc - offset[itype][jtype]; - return factor_lj*philj; + if (tap_flag) + philj = Vkc * Tap; + else + philj = Vkc - offset[itype][jtype]; + return factor_lj * philj; } diff --git a/src/INTERLAYER/pair_kolmogorov_crespi_full.h b/src/INTERLAYER/pair_kolmogorov_crespi_full.h index fb45a1cb02..b7264a0883 100644 --- a/src/INTERLAYER/pair_kolmogorov_crespi_full.h +++ b/src/INTERLAYER/pair_kolmogorov_crespi_full.h @@ -17,8 +17,8 @@ PairStyle(kolmogorov/crespi/full,PairKolmogorovCrespiFull); // clang-format on #else -#ifndef LMP_PAIR_KolmogorovCrespi_FULL_H -#define LMP_PAIR_KolmogorovCrespi_FULL_H +#ifndef LMP_PAIR_KOLMOGOROV_CRESPI_FULL_H +#define LMP_PAIR_KOLMOGOROV_CRESPI_FULL_H #include "pair.h" @@ -39,10 +39,10 @@ class PairKolmogorovCrespiFull : public Pair { void calc_FRep(int, int); void calc_FvdW(int, int); double single(int, int, int, int, double, double, double, double &); + static constexpr int NPARAMS_PER_LINE = 12; protected: - int me; int maxlocal; // size of numneigh, firstneigh arrays int pgsize; // size of neighbor page int oneatom; // max # of neighbors for one atom @@ -61,7 +61,6 @@ class PairKolmogorovCrespiFull : public Pair { double cut_global; double cut_normal; - double **cut; double **cutKCsq; double **offset; double **normal; diff --git a/src/INTERLAYER/pair_kolmogorov_crespi_z.cpp b/src/INTERLAYER/pair_kolmogorov_crespi_z.cpp index c28a405adc..70672ac670 100644 --- a/src/INTERLAYER/pair_kolmogorov_crespi_z.cpp +++ b/src/INTERLAYER/pair_kolmogorov_crespi_z.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -79,14 +78,14 @@ PairKolmogorovCrespiZ::~PairKolmogorovCrespiZ() void PairKolmogorovCrespiZ::compute(int eflag, int vflag) { - int i,j,ii,jj,inum,jnum,itype,jtype; - double xtmp,ytmp,ztmp,delx,dely,delz,evdwl,fpair, fpair1; - double rsq,r,rhosq,exp1,exp2,r6,r8; - double frho,sumC,sumC2,sumCff,fsum,rdsq; - int *ilist,*jlist,*numneigh,**firstneigh; + int i, j, ii, jj, inum, jnum, itype, jtype; + double xtmp, ytmp, ztmp, delx, dely, delz, evdwl, fpair, fpair1; + double rsq, r, rhosq, exp1, exp2, r6, r8; + double frho, sumC, sumC2, sumCff, fsum, rdsq; + int *ilist, *jlist, *numneigh, **firstneigh; evdwl = 0.0; - ev_init(eflag,vflag); + ev_init(eflag, vflag); double **x = atom->x; double **f = atom->f; @@ -117,51 +116,49 @@ void PairKolmogorovCrespiZ::compute(int eflag, int vflag) dely = ytmp - x[j][1]; delz = ztmp - x[j][2]; // rho^2 = r^2 - (n,r) = r^2 - z^2 - rhosq = delx*delx + dely*dely; - rsq = rhosq + delz*delz; + rhosq = delx * delx + dely * dely; + rsq = rhosq + delz * delz; if (rsq < cutsq[itype][jtype]) { int iparam_ij = elem2param[map[itype]][map[jtype]]; - Param& p = params[iparam_ij]; + Param &p = params[iparam_ij]; r = sqrt(rsq); - r6 = rsq*rsq*rsq; - r8 = r6*rsq; - rdsq = rhosq*p.delta2inv; // (rho/delta)^2 + r6 = rsq * rsq * rsq; + r8 = r6 * rsq; + rdsq = rhosq * p.delta2inv; // (rho/delta)^2 // store exponents - exp1 = exp(-p.lambda*(r-p.z0)); + exp1 = exp(-p.lambda * (r - p.z0)); exp2 = exp(-rdsq); // note that f(rho_ij) equals f(rho_ji) as normals are all along z - sumC = p.C0+p.C2*rdsq+p.C4*rdsq*rdsq; - sumC2 = (2*p.C2+4*p.C4*rdsq)*p.delta2inv; - frho = exp2*sumC; - sumCff = p.C + 2*frho; + sumC = p.C0 + p.C2 * rdsq + p.C4 * rdsq * rdsq; + sumC2 = (2 * p.C2 + 4 * p.C4 * rdsq) * p.delta2inv; + frho = exp2 * sumC; + sumCff = p.C + 2 * frho; // derivatives - fpair = -6.0*p.A*p.z06/r8+p.lambda*exp1/r*sumCff; - fpair1 = exp1*exp2*(4.0*p.delta2inv*sumC-2.0*sumC2); + fpair = -6.0 * p.A * p.z06 / r8 + p.lambda * exp1 / r * sumCff; + fpair1 = exp1 * exp2 * (4.0 * p.delta2inv * sumC - 2.0 * sumC2); fsum = fpair + fpair1; - f[i][0] += delx*fsum; - f[i][1] += dely*fsum; + f[i][0] += delx * fsum; + f[i][1] += dely * fsum; // fi_z does not contain contributions from df/dr // because rho_ij does not depend on z_i or z_j - f[i][2] += delz*fpair; + f[i][2] += delz * fpair; if (newton_pair || j < nlocal) { - f[j][0] -= delx*fsum; - f[j][1] -= dely*fsum; - f[j][2] -= delz*fpair; + f[j][0] -= delx * fsum; + f[j][1] -= dely * fsum; + f[j][2] -= delz * fpair; } - if (eflag) { - evdwl = -p.A*p.z06/r6+ exp1*sumCff - offset[itype][jtype]; - } + if (eflag) { evdwl = -p.A * p.z06 / r6 + exp1 * sumCff - offset[itype][jtype]; } if (evflag) { - ev_tally_xyz(i,j,nlocal,newton_pair,evdwl,0,fsum,fsum,fpair,delx,dely,delz); + ev_tally_xyz(i, j, nlocal, newton_pair, evdwl, 0, fsum, fsum, fpair, delx, dely, delz); } } } @@ -177,15 +174,14 @@ void PairKolmogorovCrespiZ::compute(int eflag, int vflag) void PairKolmogorovCrespiZ::allocate() { allocated = 1; - int n = atom->ntypes+1; + int n = atom->ntypes + 1; - memory->create(setflag,n,n,"pair:setflag"); + memory->create(setflag, n, n, "pair:setflag"); for (int i = 1; i < n; i++) - for (int j = i; j < n; j++) - setflag[i][j] = 0; + for (int j = i; j < n; j++) setflag[i][j] = 0; - memory->create(cutsq,n,n,"pair:cutsq"); - memory->create(offset,n,n,"pair:offset"); + memory->create(cutsq, n, n, "pair:cutsq"); + memory->create(offset, n, n, "pair:offset"); map = new int[n]; } @@ -195,11 +191,11 @@ void PairKolmogorovCrespiZ::allocate() void PairKolmogorovCrespiZ::settings(int narg, char **arg) { - if (narg != 1) error->all(FLERR,"Illegal pair_style command"); - if (strcmp(force->pair_style,"hybrid/overlay")!=0) - error->all(FLERR,"ERROR: requires hybrid/overlay pair_style"); + if (narg != 1) error->all(FLERR, "Illegal pair_style command"); + if (strcmp(force->pair_style, "hybrid/overlay") != 0) + error->all(FLERR, "ERROR: requires hybrid/overlay pair_style"); - cut_global = utils::numeric(FLERR,arg[0],false,lmp); + cut_global = utils::numeric(FLERR, arg[0], false, lmp); } /* ---------------------------------------------------------------------- @@ -210,44 +206,43 @@ void PairKolmogorovCrespiZ::coeff(int narg, char **arg) { if (!allocated) allocate(); - int ilo,ihi,jlo,jhi; - utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); - utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); + int ilo, ihi, jlo, jhi; + utils::bounds(FLERR, arg[0], 1, atom->ntypes, ilo, ihi, error); + utils::bounds(FLERR, arg[1], 1, atom->ntypes, jlo, jhi, error); - map_element2type(narg-3,arg+3,false); + map_element2type(narg - 3, arg + 3, false); read_file(arg[2]); // set setflag only for i,j pairs where both are mapped to elements int count = 0; for (int i = ilo; i <= ihi; i++) { - for (int j = MAX(jlo,i); j <= jhi; j++) { - if ((map[i] >=0) && (map[j] >= 0)) { + for (int j = MAX(jlo, i); j <= jhi; j++) { + if ((map[i] >= 0) && (map[j] >= 0)) { setflag[i][j] = 1; count++; } } } - if (count == 0) error->all(FLERR,"Incorrect args for pair coefficients"); + if (count == 0) error->all(FLERR, "Incorrect args for pair coefficients"); } - /* ---------------------------------------------------------------------- init for one type pair i,j and corresponding j,i ------------------------------------------------------------------------- */ double PairKolmogorovCrespiZ::init_one(int i, int j) { - if (setflag[i][j] == 0) error->all(FLERR,"All pair coeffs are not set"); - if (!offset_flag) - error->all(FLERR,"Must use 'pair_modify shift yes' with this pair style"); + if (setflag[i][j] == 0) error->all(FLERR, "All pair coeffs are not set"); + if (!offset_flag) error->all(FLERR, "Must use 'pair_modify shift yes' with this pair style"); if (offset_flag && (cut_global > 0.0)) { int iparam_ij = elem2param[map[i]][map[j]]; - Param& p = params[iparam_ij]; - offset[i][j] = -p.A*pow(p.z0/cut_global,6); - } else offset[i][j] = 0.0; + Param &p = params[iparam_ij]; + offset[i][j] = -p.A * pow(p.z0 / cut_global, 6); + } else + offset[i][j] = 0.0; offset[j][i] = offset[i][j]; return cut_global; @@ -298,28 +293,28 @@ void PairKolmogorovCrespiZ::read_file(char *filename) if (nparams == maxparam) { maxparam += DELTA; - params = (Param *) memory->srealloc(params,maxparam*sizeof(Param), "pair:params"); + params = (Param *) memory->srealloc(params, maxparam * sizeof(Param), "pair:params"); // make certain all addional allocated storage is initialized // to avoid false positives when checking with valgrind - memset(params + nparams, 0, DELTA*sizeof(Param)); + memset(params + nparams, 0, DELTA * sizeof(Param)); } // load up parameter settings and error check their values params[nparams].ielement = ielement; params[nparams].jelement = jelement; - params[nparams].z0 = values.next_double(); - params[nparams].C0 = values.next_double(); - params[nparams].C2 = values.next_double(); - params[nparams].C4 = values.next_double(); - params[nparams].C = values.next_double(); - params[nparams].delta = values.next_double(); + params[nparams].z0 = values.next_double(); + params[nparams].C0 = values.next_double(); + params[nparams].C2 = values.next_double(); + params[nparams].C4 = values.next_double(); + params[nparams].C = values.next_double(); + params[nparams].delta = values.next_double(); params[nparams].lambda = values.next_double(); - params[nparams].A = values.next_double(); + params[nparams].A = values.next_double(); // S provides a convenient scaling of all energies - params[nparams].S = values.next_double(); + params[nparams].S = values.next_double(); } catch (TokenizerException &e) { error->one(FLERR, e.what()); @@ -328,7 +323,7 @@ void PairKolmogorovCrespiZ::read_file(char *filename) // energies in meV further scaled by S // S = 43.3634 meV = 1 kcal/mol - double meV = 1e-3*params[nparams].S; + double meV = 1e-3 * params[nparams].S; if (unit_convert) meV *= conversion_factor; params[nparams].C *= meV; @@ -338,35 +333,35 @@ void PairKolmogorovCrespiZ::read_file(char *filename) params[nparams].C4 *= meV; // precompute some quantities - params[nparams].delta2inv = pow(params[nparams].delta,-2); - params[nparams].z06 = pow(params[nparams].z0,6); + params[nparams].delta2inv = pow(params[nparams].delta, -2); + params[nparams].z06 = pow(params[nparams].z0, 6); nparams++; - if (nparams >= pow(atom->ntypes,3)) break; + if (nparams >= pow(atom->ntypes, 3)) break; } MPI_Bcast(&nparams, 1, MPI_INT, 0, world); MPI_Bcast(&maxparam, 1, MPI_INT, 0, world); if (comm->me != 0) { - params = (Param *) memory->srealloc(params,maxparam*sizeof(Param), "pair:params"); + params = (Param *) memory->srealloc(params, maxparam * sizeof(Param), "pair:params"); } - MPI_Bcast(params, maxparam*sizeof(Param), MPI_BYTE, 0, world); + MPI_Bcast(params, maxparam * sizeof(Param), MPI_BYTE, 0, world); } memory->destroy(elem2param); - memory->create(elem2param,nelements,nelements,"pair:elem2param"); + memory->create(elem2param, nelements, nelements, "pair:elem2param"); for (int i = 0; i < nelements; i++) { for (int j = 0; j < nelements; j++) { int n = -1; for (int m = 0; m < nparams; m++) { if (i == params[m].ielement && j == params[m].jelement) { - if (n >= 0) error->all(FLERR,"Potential file has duplicate entry"); + if (n >= 0) error->all(FLERR, "Potential file has duplicate entry"); n = m; } } - if (n < 0) error->all(FLERR,"Potential file is missing an entry"); + if (n < 0) error->all(FLERR, "Potential file is missing an entry"); elem2param[i][j] = n; } } diff --git a/src/INTERLAYER/pair_kolmogorov_crespi_z.h b/src/INTERLAYER/pair_kolmogorov_crespi_z.h index d036f7bc76..fc07dcb96e 100644 --- a/src/INTERLAYER/pair_kolmogorov_crespi_z.h +++ b/src/INTERLAYER/pair_kolmogorov_crespi_z.h @@ -36,7 +36,7 @@ class PairKolmogorovCrespiZ : public Pair { static constexpr int NPARAMS_PER_LINE = 11; -protected: + protected: struct Param { double z0, C0, C2, C4, C, delta, lambda, A, S; double delta2inv, z06; diff --git a/src/INTERLAYER/pair_lebedeva_z.cpp b/src/INTERLAYER/pair_lebedeva_z.cpp index e275d7c475..d78c4bfbbc 100644 --- a/src/INTERLAYER/pair_lebedeva_z.cpp +++ b/src/INTERLAYER/pair_lebedeva_z.cpp @@ -252,7 +252,6 @@ double PairLebedevaZ::init_one(int i, int j) void PairLebedevaZ::read_file(char *filename) { - int params_per_line = 12; memory->sfree(params); params = nullptr; nparams = maxparam = 0; From a1dd2c7655e778aaf18b3161c1116553b7f54705 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 17 Aug 2021 22:35:22 -0400 Subject: [PATCH 690/726] move inline functions from header to cpp file --- src/INTERLAYER/pair_drip.cpp | 283 +++++++++++------------ src/INTERLAYER/pair_drip.h | 14 +- src/INTERLAYER/pair_ilp_graphene_hbn.cpp | 2 +- 3 files changed, 133 insertions(+), 166 deletions(-) diff --git a/src/INTERLAYER/pair_drip.cpp b/src/INTERLAYER/pair_drip.cpp index dd5277e88c..e9d32bdb8b 100644 --- a/src/INTERLAYER/pair_drip.cpp +++ b/src/INTERLAYER/pair_drip.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -43,6 +42,17 @@ using namespace LAMMPS_NS; #define DELTA 4 #define HALF 0.5 +// inline functions +static inline double dot(double const *x, double const *y) +{ + return x[0] * y[0] + x[1] * y[1] + x[2] * y[2]; +} + +static inline void mat_dot_vec(PairDRIP::V3 const *X, double const *y, double *const z) +{ + for (int k = 0; k < 3; k++) { z[k] = X[k][0] * y[0] + X[k][1] * y[1] + X[k][2] * y[2]; } +} + /* ---------------------------------------------------------------------- */ PairDRIP::PairDRIP(LAMMPS *lmp) : Pair(lmp) @@ -78,13 +88,11 @@ PairDRIP::~PairDRIP() void PairDRIP::init_style() { - if (force->newton_pair == 0) - error->all(FLERR,"Pair style drip requires newton pair on"); - if (!atom->molecule_flag) - error->all(FLERR,"Pair style drip requires atom attribute molecule"); + if (force->newton_pair == 0) error->all(FLERR, "Pair style drip requires newton pair on"); + if (!atom->molecule_flag) error->all(FLERR, "Pair style drip requires atom attribute molecule"); // need a full neighbor list, including neighbors of ghosts - int irequest = neighbor->request(this,instance_me); + int irequest = neighbor->request(this, instance_me); neighbor->requests[irequest]->half = 0; neighbor->requests[irequest]->full = 1; neighbor->requests[irequest]->ghost = 1; @@ -97,10 +105,10 @@ void PairDRIP::init_style() void PairDRIP::allocate() { allocated = 1; - int n = atom->ntypes+1; + int n = atom->ntypes + 1; - memory->create(setflag,n,n,"pair:setflag"); - memory->create(cutsq,n,n,"pair:cutsq"); + memory->create(setflag, n, n, "pair:setflag"); + memory->create(cutsq, n, n, "pair:cutsq"); map = new int[n]; } @@ -110,9 +118,9 @@ void PairDRIP::allocate() void PairDRIP::settings(int narg, char ** /* arg */) { - if (narg != 0) error->all(FLERR,"Illegal pair_style command"); - if (!utils::strmatch(force->pair_style,"^hybrid/overlay")) - error->all(FLERR,"Pair style drip must be used as sub-style with hybrid/overlay"); + if (narg != 0) error->all(FLERR, "Illegal pair_style command"); + if (!utils::strmatch(force->pair_style, "^hybrid/overlay")) + error->all(FLERR, "Pair style drip must be used as sub-style with hybrid/overlay"); } /* ---------------------------------------------------------------------- @@ -123,23 +131,22 @@ void PairDRIP::coeff(int narg, char **arg) { if (!allocated) allocate(); - map_element2type(narg-3,arg+3); + map_element2type(narg - 3, arg + 3); read_file(arg[2]); } - /* ---------------------------------------------------------------------- init for one type pair i,j and corresponding j,i ------------------------------------------------------------------------- */ double PairDRIP::init_one(int i, int j) { - if (setflag[i][j] == 0) error->all(FLERR,"All pair coeffs are not set"); + if (setflag[i][j] == 0) error->all(FLERR, "All pair coeffs are not set"); int itype = map[i]; int jtype = map[j]; int iparam_ij = elem2param[itype][jtype]; - Param& p = params[iparam_ij]; + Param &p = params[iparam_ij]; // max cutoff is the main cutoff plus the normal cutoff such that return p.rcut + p.ncut; @@ -190,29 +197,29 @@ void PairDRIP::read_file(char *filename) if (nparams == maxparam) { maxparam += DELTA; - params = (Param *) memory->srealloc(params,maxparam*sizeof(Param), "pair:params"); + params = (Param *) memory->srealloc(params, maxparam * sizeof(Param), "pair:params"); // make certain all addional allocated storage is initialized // to avoid false positives when checking with valgrind - memset(params + nparams, 0, DELTA*sizeof(Param)); + memset(params + nparams, 0, DELTA * sizeof(Param)); } params[nparams].ielement = ielement; params[nparams].jelement = jelement; - params[nparams].C0 = values.next_double(); - params[nparams].C2 = values.next_double(); - params[nparams].C4 = values.next_double(); - params[nparams].C = values.next_double(); - params[nparams].delta = values.next_double(); - params[nparams].lambda = values.next_double(); - params[nparams].A = values.next_double(); - params[nparams].z0 = values.next_double(); - params[nparams].B = values.next_double(); - params[nparams].eta = values.next_double(); - params[nparams].rhocut = values.next_double(); - params[nparams].rcut = values.next_double(); - params[nparams].ncut = values.next_double(); + params[nparams].C0 = values.next_double(); + params[nparams].C2 = values.next_double(); + params[nparams].C4 = values.next_double(); + params[nparams].C = values.next_double(); + params[nparams].delta = values.next_double(); + params[nparams].lambda = values.next_double(); + params[nparams].A = values.next_double(); + params[nparams].z0 = values.next_double(); + params[nparams].B = values.next_double(); + params[nparams].eta = values.next_double(); + params[nparams].rhocut = values.next_double(); + params[nparams].rcut = values.next_double(); + params[nparams].ncut = values.next_double(); } catch (TokenizerException &e) { error->one(FLERR, e.what()); @@ -222,15 +229,15 @@ void PairDRIP::read_file(char *filename) params[nparams].C0 *= conversion_factor; params[nparams].C2 *= conversion_factor; params[nparams].C4 *= conversion_factor; - params[nparams].C *= conversion_factor; - params[nparams].A *= conversion_factor; - params[nparams].B *= conversion_factor; + params[nparams].C *= conversion_factor; + params[nparams].A *= conversion_factor; + params[nparams].B *= conversion_factor; } // convenient precomputations params[nparams].rhocutsq = params[nparams].rhocut * params[nparams].rhocut; - params[nparams].rcutsq = params[nparams].rcut * params[nparams].rcut; - params[nparams].ncutsq = params[nparams].ncut * params[nparams].ncut; + params[nparams].rcutsq = params[nparams].rcut * params[nparams].rcut; + params[nparams].ncutsq = params[nparams].ncut * params[nparams].ncut; nparams++; } @@ -239,24 +246,24 @@ void PairDRIP::read_file(char *filename) MPI_Bcast(&maxparam, 1, MPI_INT, 0, world); if (comm->me != 0) { - params = (Param *) memory->srealloc(params,maxparam*sizeof(Param), "pair:params"); + params = (Param *) memory->srealloc(params, maxparam * sizeof(Param), "pair:params"); } - MPI_Bcast(params, maxparam*sizeof(Param), MPI_BYTE, 0, world); + MPI_Bcast(params, maxparam * sizeof(Param), MPI_BYTE, 0, world); } memory->destroy(elem2param); - memory->create(elem2param,nelements,nelements,"pair:elem2param"); + memory->create(elem2param, nelements, nelements, "pair:elem2param"); for (int i = 0; i < nelements; i++) { for (int j = 0; j < nelements; j++) { int n = -1; for (int m = 0; m < nparams; m++) { if (i == params[m].ielement && j == params[m].jelement) { - if (n >= 0) error->all(FLERR,"Potential file has duplicate entry"); + if (n >= 0) error->all(FLERR, "Potential file has duplicate entry"); n = m; } } - if (n < 0) error->all(FLERR,"Potential file is missing an entry"); + if (n < 0) error->all(FLERR, "Potential file is missing an entry"); elem2param[i][j] = n; } } @@ -266,15 +273,15 @@ void PairDRIP::read_file(char *filename) void PairDRIP::compute(int eflag, int vflag) { - int i,j,ii,jj,inum,jnum,itype,jtype; - double xtmp,ytmp,ztmp,delx,dely,delz,evdwl,rsq; - int *ilist,*jlist,*numneigh,**firstneigh; + int i, j, ii, jj, inum, jnum, itype, jtype; + double xtmp, ytmp, ztmp, delx, dely, delz, evdwl, rsq; + int *ilist, *jlist, *numneigh, **firstneigh; double ni[3]; double dni_dri[3][3], dni_drnb1[3][3]; double dni_drnb2[3][3], dni_drnb3[3][3]; - ev_init(eflag,vflag); + ev_init(eflag, vflag); double **x = atom->x; double **f = atom->f; @@ -291,9 +298,7 @@ void PairDRIP::compute(int eflag, int vflag) for (ii = 0; ii < inum; ii++) { i = ilist[ii]; - if (nearest3neigh[i][0] == -1) { - continue; - } + if (nearest3neigh[i][0] == -1) { continue; } xtmp = x[i][0]; ytmp = x[i][1]; ztmp = x[i][2]; @@ -302,24 +307,22 @@ void PairDRIP::compute(int eflag, int vflag) jnum = numneigh[i]; // normal and its derivatives w.r.t. atom i and its 3 nearest neighbors - calc_normal(i, ni, dni_dri,dni_drnb1, dni_drnb2, dni_drnb3); + calc_normal(i, ni, dni_dri, dni_drnb1, dni_drnb2, dni_drnb3); double fi[3] = {0., 0., 0.}; for (jj = 0; jj < jnum; jj++) { j = jlist[jj]; j &= NEIGHMASK; - if (nearest3neigh[j][0] == -1) { - continue; - } + if (nearest3neigh[j][0] == -1) { continue; } jtype = map[type[j]]; delx = x[j][0] - xtmp; dely = x[j][1] - ytmp; delz = x[j][2] - ztmp; - rsq = delx*delx + dely*dely + delz*delz; + rsq = delx * delx + dely * dely + delz * delz; int iparam_ij = elem2param[itype][jtype]; - Param& p = params[iparam_ij]; + Param &p = params[iparam_ij]; double rcutsq = p.rcutsq; // only include the interaction between different layers @@ -330,40 +333,38 @@ void PairDRIP::compute(int eflag, int vflag) double phi_attr = calc_attractive(p, rsq, rvec, fi, fj); - double phi_repul = calc_repulsive(i, j, p, rsq, rvec, - ni, dni_dri, dni_drnb1, dni_drnb2, dni_drnb3, fi, fj); + double phi_repul = calc_repulsive(i, j, p, rsq, rvec, ni, dni_dri, dni_drnb1, dni_drnb2, + dni_drnb3, fi, fj); - if (eflag) evdwl = HALF * (phi_repul + phi_attr); - else evdwl = 0.0; - if (evflag) ev_tally(i,j,nlocal,newton_pair, evdwl,0.0,0,0,0,0); + if (eflag) + evdwl = HALF * (phi_repul + phi_attr); + else + evdwl = 0.0; + if (evflag) ev_tally(i, j, nlocal, newton_pair, evdwl, 0.0, 0, 0, 0, 0); f[j][0] += fj[0]; f[j][1] += fj[1]; f[j][2] += fj[2]; if (vflag_either) v_tally2_newton(j, fj, x[j]); - } - } //loop over jj + } //loop over jj f[i][0] += fi[0]; f[i][1] += fi[1]; f[i][2] += fi[2]; if (vflag_either) v_tally2_newton(i, fi, x[i]); - } // loop over ii - - -if (vflag_fdotr) - virial_fdotr_compute(); + } // loop over ii + if (vflag_fdotr) virial_fdotr_compute(); } /* ---------------------------------------------------------------------- Attractive part, i.e. the r^(-6) part ------------------------------------------------------------------------- */ -double PairDRIP::calc_attractive(Param& p, double const rsq, double const *rvec, - double *const fi, double *const fj) +double PairDRIP::calc_attractive(Param &p, double const rsq, double const *rvec, double *const fi, + double *const fj) { double const z0 = p.z0; double const A = p.A; @@ -393,10 +394,10 @@ double PairDRIP::calc_attractive(Param& p, double const rsq, double const *rvec, Repulsive part that depends on transverse distance and dihedral angle ------------------------------------------------------------------------- */ -double PairDRIP::calc_repulsive(int const i, int const j, Param& p, - double const rsq, double const *rvec, double const *ni, - V3 const *dni_dri, V3 const *dni_drnb1, V3 const *dni_drnb2, - V3 const *dni_drnb3, double *const fi, double *const fj) +double PairDRIP::calc_repulsive(int const i, int const j, Param &p, double const rsq, + double const *rvec, double const *ni, V3 const *dni_dri, + V3 const *dni_drnb1, V3 const *dni_drnb2, V3 const *dni_drnb3, + double *const fi, double *const fj) { double **f = atom->f; double **x = atom->x; @@ -441,8 +442,8 @@ double PairDRIP::calc_repulsive(int const i, int const j, Param& p, double r = sqrt(rsq); // derivative of rhosq w.r.t. atoms i j and the nearests 3 neighs of i - get_drhosqij(rvec, ni, dni_dri, dni_drnb1, dni_drnb2, dni_drnb3, drhosqij_dri, - drhosqij_drj, drhosqij_drnb1, drhosqij_drnb2, drhosqij_drnb3); + get_drhosqij(rvec, ni, dni_dri, dni_drnb1, dni_drnb2, dni_drnb3, drhosqij_dri, drhosqij_drj, + drhosqij_drnb1, drhosqij_drnb2, drhosqij_drnb3); // transverse decay function f(rho) and its derivative w.r.t. rhosq double rhosqij; @@ -451,8 +452,8 @@ double PairDRIP::calc_repulsive(int const i, int const j, Param& p, // dihedral angle function and its derivateives double dgij_drhosq; - double gij = dihedral(i, j, p, rhosqij, dgij_drhosq, dgij_dri, dgij_drj, - dgij_drk1, dgij_drk2, dgij_drk3, dgij_drl1, dgij_drl2, dgij_drl3); + double gij = dihedral(i, j, p, rhosqij, dgij_drhosq, dgij_dri, dgij_drj, dgij_drk1, dgij_drk2, + dgij_drk3, dgij_drl1, dgij_drl2, dgij_drl3); double V2 = C + tdij + gij; @@ -476,12 +477,12 @@ double PairDRIP::calc_repulsive(int const i, int const j, Param& p, // contributions from transverse decay part tdij and the dihedral part gij // derivative of V2 contribute to atoms i, j - fi[k] -= HALF*tp*V1*((dtdij+dgij_drhosq)*drhosqij_dri[k]+dgij_dri[k]); - fj[k] -= HALF*tp*V1*((dtdij+dgij_drhosq)*drhosqij_drj[k]+dgij_drj[k]); + fi[k] -= HALF * tp * V1 * ((dtdij + dgij_drhosq) * drhosqij_dri[k] + dgij_dri[k]); + fj[k] -= HALF * tp * V1 * ((dtdij + dgij_drhosq) * drhosqij_drj[k] + dgij_drj[k]); // derivative of V2 contribute to nearest 3 neighs of atom i - fnbi1[k] = -HALF*tp*V1*((dtdij+dgij_drhosq)*drhosqij_drnb1[k]+dgij_drk1[k]); - fnbi2[k] = -HALF*tp*V1*((dtdij+dgij_drhosq)*drhosqij_drnb2[k]+dgij_drk2[k]); - fnbi3[k] = -HALF*tp*V1*((dtdij+dgij_drhosq)*drhosqij_drnb3[k]+dgij_drk3[k]); + fnbi1[k] = -HALF * tp * V1 * ((dtdij + dgij_drhosq) * drhosqij_drnb1[k] + dgij_drk1[k]); + fnbi2[k] = -HALF * tp * V1 * ((dtdij + dgij_drhosq) * drhosqij_drnb2[k] + dgij_drk2[k]); + fnbi3[k] = -HALF * tp * V1 * ((dtdij + dgij_drhosq) * drhosqij_drnb3[k] + dgij_drk3[k]); // derivative of V2 contribute to nearest 3 neighs of atom j fnbj1[k] = -HALF * tp * V1 * dgij_drl1[k]; fnbj2[k] = -HALF * tp * V1 * dgij_drl2[k]; @@ -520,7 +521,6 @@ void PairDRIP::find_nearest3neigh() double **x = atom->x; int *type = atom->type; - allnum = list->inum + list->gnum; inum = list->inum; ilist = list->ilist; @@ -536,7 +536,7 @@ void PairDRIP::find_nearest3neigh() // If "NULL" used in pair_coeff, i could be larger than allnum if (i >= size) { - size = i+1; + size = i + 1; memory->grow(nearest3neigh, size, 3, "pair:nearest3neigh"); } @@ -577,26 +577,24 @@ void PairDRIP::find_nearest3neigh() nb3_rsq = nb2_rsq; nb2_rsq = nb1_rsq; nb1_rsq = rsq; - } - else if (rsq < nb2_rsq) { + } else if (rsq < nb2_rsq) { nb3 = nb2; nb2 = j; nb3_rsq = nb2_rsq; nb2_rsq = rsq; - } - else if (rsq < nb3_rsq) { + } else if (rsq < nb3_rsq) { nb3 = j; nb3_rsq = rsq; } - } - } // loop over jj + } // loop over jj // store neighbors to be used later to compute normal if (nb3_rsq >= 1.0e10) { - if (ione(FLERR, "No enough neighbors to construct normal. Check the " - "configuration to see whether atoms fly away."); + if (i < inum) { + error->one(FLERR, + "No enough neighbors to construct normal. Check the " + "configuration to see whether atoms fly away."); } else { // This only happens for ghost atoms that are near the boundary of the // domain (i.e. r > r_cut + n_cut). These ghost atoms will not be @@ -607,20 +605,18 @@ void PairDRIP::find_nearest3neigh() nearest3neigh[i][1] = -1; nearest3neigh[i][2] = -1; } - } - else{ + } else { nearest3neigh[i][0] = nb1; nearest3neigh[i][1] = nb2; nearest3neigh[i][2] = nb3; } - } // loop over ii - + } // loop over ii } /* ---------------------------------------------------------------------- */ -void PairDRIP::calc_normal(int const i, double *const normal, - V3 *const dn_dri, V3 *const dn_drk1, V3 *const dn_drk2, V3 *const dn_drk3) +void PairDRIP::calc_normal(int const i, double *const normal, V3 *const dn_dri, V3 *const dn_drk1, + V3 *const dn_drk2, V3 *const dn_drk3) { int k1 = nearest3neigh[i][0]; int k2 = nearest3neigh[i][1]; @@ -628,9 +624,7 @@ void PairDRIP::calc_normal(int const i, double *const normal, // normal does not depend on i, setting to zero for (int j = 0; j < 3; j++) { - for (int k = 0; k < 3; k++) { - dn_dri[j][k] = 0.0; - } + for (int k = 0; k < 3; k++) { dn_dri[j][k] = 0.0; } } // get normal and derives of normal w.r.t to its 3 nearest neighbors @@ -640,11 +634,11 @@ void PairDRIP::calc_normal(int const i, double *const normal, /* ---------------------------------------------------------------------- */ -void PairDRIP::get_drhosqij(double const *rij, double const *ni, - V3 const *dni_dri, V3 const *dni_drn1, V3 const *dni_drn2, - V3 const *dni_drn3, double *const drhosq_dri, double *const drhosq_drj, - double *const drhosq_drn1, double *const drhosq_drn2, - double *const drhosq_drn3) +void PairDRIP::get_drhosqij(double const *rij, double const *ni, V3 const *dni_dri, + V3 const *dni_drn1, V3 const *dni_drn2, V3 const *dni_drn3, + double *const drhosq_dri, double *const drhosq_drj, + double *const drhosq_drn1, double *const drhosq_drn2, + double *const drhosq_drn3) { int k; double ni_dot_rij = 0; @@ -660,7 +654,7 @@ void PairDRIP::get_drhosqij(double const *rij, double const *ni, mat_dot_vec(dni_drn3, rij, dni_drn3_dot_rij); for (k = 0; k < 3; k++) { - drhosq_dri[k] = -2*rij[k] - 2 * ni_dot_rij * (-ni[k] + dni_dri_dot_rij[k]); + drhosq_dri[k] = -2 * rij[k] - 2 * ni_dot_rij * (-ni[k] + dni_dri_dot_rij[k]); drhosq_drj[k] = 2 * rij[k] - 2 * ni_dot_rij * ni[k]; drhosq_drn1[k] = -2 * ni_dot_rij * dni_drn1_dot_rij[k]; drhosq_drn2[k] = -2 * ni_dot_rij * dni_drn2_dot_rij[k]; @@ -672,18 +666,15 @@ void PairDRIP::get_drhosqij(double const *rij, double const *ni, derivartive of transverse decay function f(rho) w.r.t. rho ------------------------------------------------------------------------- */ -double PairDRIP::td(double C0, double C2, double C4, double delta, - double const *const rvec, double r, const double *const n, - double& rho_sq, double& dtd) +double PairDRIP::td(double C0, double C2, double C4, double delta, double const *const rvec, + double r, const double *const n, double &rho_sq, double &dtd) { double n_dot_r = dot(n, rvec); rho_sq = r * r - n_dot_r * n_dot_r; // in case n is [0, 0, 1] and rho_sq is negative due to numerical error - if (rho_sq < 0) { - rho_sq = 0; - } + if (rho_sq < 0) { rho_sq = 0; } double del_sq = delta * delta; double rod_sq = rho_sq / del_sq; @@ -697,11 +688,10 @@ double PairDRIP::td(double C0, double C2, double C4, double delta, derivartive of dihedral angle func gij w.r.t rho, and atom positions ------------------------------------------------------------------------- */ -double PairDRIP::dihedral(const int i, const int j, Param& p, - double const rhosq, double& d_drhosq, - double *const d_dri, double *const d_drj, - double *const d_drk1, double *const d_drk2, double *const d_drk3, - double *const d_drl1, double *const d_drl2, double *const d_drl3) +double PairDRIP::dihedral(const int i, const int j, Param &p, double const rhosq, double &d_drhosq, + double *const d_dri, double *const d_drj, double *const d_drk1, + double *const d_drk2, double *const d_drk3, double *const d_drl1, + double *const d_drl2, double *const d_drl3) { double **x = atom->x; @@ -711,11 +701,10 @@ double PairDRIP::dihedral(const int i, const int j, Param& p, double cut_rhosq = p.rhocutsq; // local vars - double cos_kl[3][3]; // cos_omega_k1ijl1, cos_omega_k1ijl2 ... - double d_dcos_kl[3][3]; // deriv of dihedral w.r.t to cos_omega_kijl - double dcos_kl[3][3][4][3]; // 4 indicates k, i, j, l. e.g. dcoskl[0][1][0] - // means dcos_omega_k1ijl2 / drk - + double cos_kl[3][3]; // cos_omega_k1ijl1, cos_omega_k1ijl2 ... + double d_dcos_kl[3][3]; // deriv of dihedral w.r.t to cos_omega_kijl + double dcos_kl[3][3][4][3]; // 4 indicates k, i, j, l. e.g. dcoskl[0][1][0] + // means dcos_omega_k1ijl2 / drk // if larger than cutoff of rho, return 0 if (rhosq >= cut_rhosq) { @@ -744,9 +733,8 @@ double PairDRIP::dihedral(const int i, const int j, Param& p, // cos_omega_kijl and the derivatives w.r.t coordinates for (int m = 0; m < 3; m++) { for (int n = 0; n < 3; n++) { - cos_kl[m][n] = deriv_cos_omega(x[k[m]], x[i], x[j], x[l[n]], - dcos_kl[m][n][0], dcos_kl[m][n][1], - dcos_kl[m][n][2], dcos_kl[m][n][3]); + cos_kl[m][n] = deriv_cos_omega(x[k[m]], x[i], x[j], x[l[n]], dcos_kl[m][n][0], + dcos_kl[m][n][1], dcos_kl[m][n][2], dcos_kl[m][n][3]); } } @@ -812,9 +800,9 @@ double PairDRIP::dihedral(const int i, const int j, Param& p, compute cos(omega_kijl) and the derivateives ------------------------------------------------------------------------- */ -double PairDRIP::deriv_cos_omega(double const *rk, double const *ri, - double const *rj, double const *rl, double *const dcos_drk, - double *const dcos_dri, double *const dcos_drj, double *const dcos_drl) +double PairDRIP::deriv_cos_omega(double const *rk, double const *ri, double const *rj, + double const *rl, double *const dcos_drk, double *const dcos_dri, + double *const dcos_drj, double *const dcos_drl) { double ejik[3]; double eijl[3]; @@ -827,7 +815,6 @@ double PairDRIP::deriv_cos_omega(double const *rk, double const *ri, double deijl_drj[3][3]; double deijl_drl[3][3]; - // ejik and derivatives // Note the returned dejik_dri ... are actually the transpose deriv_cross(ri, rj, rk, ejik, dejik_dri, dejik_drj, dejik_drk); @@ -860,15 +847,11 @@ double PairDRIP::deriv_cos_omega(double const *rk, double const *ri, // dcos_dri mat_dot_vec(dejik_dri, eijl, tmp1); mat_dot_vec(deijl_dri, ejik, tmp2); - for (int m = 0; m < 3; m++) { - dcos_dri[m] = tmp1[m] + tmp2[m]; - } + for (int m = 0; m < 3; m++) { dcos_dri[m] = tmp1[m] + tmp2[m]; } // dcos_drj mat_dot_vec(dejik_drj, eijl, tmp1); mat_dot_vec(deijl_drj, ejik, tmp2); - for (int m = 0; m < 3; m++) { - dcos_drj[m] = tmp1[m] + tmp2[m]; - } + for (int m = 0; m < 3; m++) { dcos_drj[m] = tmp1[m] + tmp2[m]; } // dcos drl mat_dot_vec(deijl_drl, ejik, dcos_drl); @@ -880,7 +863,7 @@ double PairDRIP::deriv_cos_omega(double const *rk, double const *ri, /* ---------------------------------------------------------------------- */ -double PairDRIP::tap(double r, double cutoff, double& dtap) +double PairDRIP::tap(double r, double cutoff, double &dtap) { double t; double r_min = 0; @@ -888,13 +871,12 @@ double PairDRIP::tap(double r, double cutoff, double& dtap) if (r <= r_min) { t = 1; dtap = 0; - } - else { + } else { double roc = (r - r_min) / (cutoff - r_min); double roc_sq = roc * roc; - t = roc_sq*roc_sq*(-35.0 + 84.0 * roc + roc_sq * (-70.0 + 20.0 * roc)) + 1; - dtap = roc_sq * roc / (cutoff - r_min) - * (-140.0 + 420.0 * roc + roc_sq * (-420.0 + 140.0 * roc)); + t = roc_sq * roc_sq * (-35.0 + 84.0 * roc + roc_sq * (-70.0 + 20.0 * roc)) + 1; + dtap = + roc_sq * roc / (cutoff - r_min) * (-140.0 + 420.0 * roc + roc_sq * (-420.0 + 140.0 * roc)); } return t; @@ -902,7 +884,7 @@ double PairDRIP::tap(double r, double cutoff, double& dtap) /* ---------------------------------------------------------------------- */ -double PairDRIP::tap_rho(double rhosq, double cut_rhosq, double& drhosq) +double PairDRIP::tap_rho(double rhosq, double cut_rhosq, double &drhosq) { double roc_sq; double roc; @@ -910,10 +892,10 @@ double PairDRIP::tap_rho(double rhosq, double cut_rhosq, double& drhosq) roc_sq = rhosq / cut_rhosq; roc = sqrt(roc_sq); - t = roc_sq*roc_sq*(-35.0 + 84.0 * roc + roc_sq * (-70.0 + 20.0 * roc)) + 1; + t = roc_sq * roc_sq * (-35.0 + 84.0 * roc + roc_sq * (-70.0 + 20.0 * roc)) + 1; // Note this dtap/drho_sq not dtap/drho - drhosq = roc_sq/cut_rhosq*(-70.0 + 210.0*roc + roc_sq*(-210.0 + 70.0*roc)); + drhosq = roc_sq / cut_rhosq * (-70.0 + 210.0 * roc + roc_sq * (-210.0 + 70.0 * roc)); return t; } @@ -925,9 +907,9 @@ double PairDRIP::tap_rho(double rhosq, double cut_rhosq, double& drhosq) transpose. ------------------------------------------------------------------------- */ -void PairDRIP::deriv_cross(double const *rk, double const *rl, - double const *rm, double *const cross, - V3 *const dcross_drk, V3 *const dcross_drl, V3 *const dcross_drm) +void PairDRIP::deriv_cross(double const *rk, double const *rl, double const *rm, + double *const cross, V3 *const dcross_drk, V3 *const dcross_drl, + V3 *const dcross_drm) { double x[3]; double y[3]; @@ -943,7 +925,6 @@ void PairDRIP::deriv_cross(double const *rk, double const *rl, int i, j; - // get x = rkl and y = rkm for (i = 0; i < 3; i++) { x[i] = rl[i] - rk[i]; @@ -1000,8 +981,6 @@ void PairDRIP::deriv_cross(double const *rk, double const *rl, // dcross/drk transposed for (i = 0; i < 3; i++) { - for (j = 0; j < 3; j++) { - dcross_drk[i][j] = -(dcross_drl[i][j] + dcross_drm[i][j]); - } + for (j = 0; j < 3; j++) { dcross_drk[i][j] = -(dcross_drl[i][j] + dcross_drm[i][j]); } } } diff --git a/src/INTERLAYER/pair_drip.h b/src/INTERLAYER/pair_drip.h index cd385e720a..eb854b585b 100644 --- a/src/INTERLAYER/pair_drip.h +++ b/src/INTERLAYER/pair_drip.h @@ -33,7 +33,6 @@ PairStyle(drip, PairDRIP); namespace LAMMPS_NS { - class PairDRIP : public Pair { public: PairDRIP(class LAMMPS *); @@ -46,9 +45,9 @@ class PairDRIP : public Pair { void init_style(); static constexpr int NPARAMS_PER_LINE = 15; + typedef double V3[3]; protected: - typedef double V3[3]; struct Param { int ielement, jelement; double C0, C2, C4, C, delta, lambda, A, z0, B, eta, rhocut, rcut, ncut; @@ -91,17 +90,6 @@ class PairDRIP : public Pair { void deriv_cross(double const *, double const *, double const *, double *const, V3 *const, V3 *const, V3 *const); - - // inline functions - inline double dot(double const *x, double const *y) const - { - return x[0] * y[0] + x[1] * y[1] + x[2] * y[2]; - } - - inline void mat_dot_vec(V3 const *X, double const *y, double *const z) const - { - for (int k = 0; k < 3; k++) { z[k] = X[k][0] * y[0] + X[k][1] * y[1] + X[k][2] * y[2]; } - } }; } // namespace LAMMPS_NS diff --git a/src/INTERLAYER/pair_ilp_graphene_hbn.cpp b/src/INTERLAYER/pair_ilp_graphene_hbn.cpp index b68ed80486..43070c5156 100644 --- a/src/INTERLAYER/pair_ilp_graphene_hbn.cpp +++ b/src/INTERLAYER/pair_ilp_graphene_hbn.cpp @@ -27,6 +27,7 @@ #include "comm.h" #include "error.h" #include "force.h" +#include "interlayer_taper.h" #include "memory.h" #include "my_page.h" #include "neigh_list.h" @@ -34,7 +35,6 @@ #include "neighbor.h" #include "potential_file_reader.h" #include "tokenizer.h" -#include "interlayer_taper.h" #include #include From c57da0661df76c58177d1b981cc57dc78e36976f Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 18 Aug 2021 12:49:16 -0400 Subject: [PATCH 691/726] update package name --- doc/src/compute_property_atom.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/src/compute_property_atom.rst b/doc/src/compute_property_atom.rst index 60e8c5f167..c4657ce82c 100644 --- a/doc/src/compute_property_atom.rst +++ b/doc/src/compute_property_atom.rst @@ -92,8 +92,8 @@ Syntax .. parsed-literal:: - USER-MESONT package per-atom properties: - buckling = buckling flag used in mesoscopic simulation of nanotubes + MESONT package per-atom properties: + buckling = buckling flag used in mesoscopic simulation of nanotubes Examples """""""" From c6819e30cf82e1214feaacb3a5b82dbe6cb46dd2 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 18 Aug 2021 12:58:39 -0400 Subject: [PATCH 692/726] simplify --- src/KOKKOS/pair_table_rx_kokkos.cpp | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/src/KOKKOS/pair_table_rx_kokkos.cpp b/src/KOKKOS/pair_table_rx_kokkos.cpp index 6603d8d88b..b7b9560bc1 100644 --- a/src/KOKKOS/pair_table_rx_kokkos.cpp +++ b/src/KOKKOS/pair_table_rx_kokkos.cpp @@ -1054,14 +1054,10 @@ void PairTableRXKokkos::coeff(int narg, char **arg) if (ispecies == nspecies && strcmp(site1,"1fluid") != 0) error->all(FLERR,"Site1 name not recognized in pair coefficients"); + site2 = utils::strdup(arg[5]); - n = strlen(arg[5]) + 1; - site2 = new char[n]; - strcpy(site2,arg[5]); - - for (ispecies = 0; ispecies < nspecies; ispecies++) { + for (ispecies = 0; ispecies < nspecies; ispecies++) if (strcmp(site2,&atom->dvname[ispecies][0]) == 0) break; - } if (ispecies == nspecies && strcmp(site2,"1fluid") != 0) error->all(FLERR,"Site2 name not recognized in pair coefficients"); From c50abed92b6db7041fcb404d19b157e1c8f6df92 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 18 Aug 2021 12:59:31 -0400 Subject: [PATCH 693/726] recover compilation --- src/REACTION/fix_bond_react.cpp | 4 +-- src/fix_property_atom.cpp | 2 +- unittest/formats/test_atom_styles.cpp | 39 +++++++++++++++++---------- 3 files changed, 28 insertions(+), 17 deletions(-) diff --git a/src/REACTION/fix_bond_react.cpp b/src/REACTION/fix_bond_react.cpp index e6828b24ab..0c309b9ead 100644 --- a/src/REACTION/fix_bond_react.cpp +++ b/src/REACTION/fix_bond_react.cpp @@ -2625,8 +2625,8 @@ void FixBondReact::unlimit_bond() // let's now unlimit in terms of i_limit_tags // we just run through all nlocal, looking for > limit_duration // then we return i_limit_tag to 0 (which removes from dynamic group) - int flag,cols - int index1 = atom->find_custom("limit_tags",flag,cols); + int flag, cols; + int index1 = atom->find_custom("limit_tags",flag,cols); int *i_limit_tags = atom->ivector[index1]; int *i_statted_tags; diff --git a/src/fix_property_atom.cpp b/src/fix_property_atom.cpp index 47c7475524..0ca8a75632 100644 --- a/src/fix_property_atom.cpp +++ b/src/fix_property_atom.cpp @@ -250,7 +250,7 @@ void FixPropertyAtom::init() void FixPropertyAtom::read_data_section(char *keyword, int n, char *buf, tagint id_offset) { - int j,k,m,iword,ncol,nv; + int j,k,m,ncol; tagint itag; char *next; diff --git a/unittest/formats/test_atom_styles.cpp b/unittest/formats/test_atom_styles.cpp index d416074b81..b091360170 100644 --- a/unittest/formats/test_atom_styles.cpp +++ b/unittest/formats/test_atom_styles.cpp @@ -11,6 +11,7 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ +#include "../testing/core.h" #include "atom.h" #include "atom_vec_body.h" #include "atom_vec_ellipsoid.h" @@ -24,7 +25,6 @@ #include "utils.h" #include "gmock/gmock.h" #include "gtest/gtest.h" -#include "../testing/core.h" #include #include @@ -48,7 +48,7 @@ using LAMMPS_NS::utils::split_words; -static void create_molecule_files(const std::string & h2o_filename, const std::string & co2_filename) +static void create_molecule_files(const std::string &h2o_filename, const std::string &co2_filename) { // create molecule files const char h2o_file[] = "# Water molecule. SPC/E model.\n\n3 atoms\n2 bonds\n1 angles\n\n" @@ -95,11 +95,10 @@ using ::testing::Eq; class AtomStyleTest : public LAMMPSTest { protected: - static void SetUpTestSuite() { - create_molecule_files("h2o.mol", "co2.mol"); - } + static void SetUpTestSuite() { create_molecule_files("h2o.mol", "co2.mol"); } - static void TearDownTestSuite() { + static void TearDownTestSuite() + { remove("h2o.mol"); remove("co2.mol"); } @@ -237,8 +236,10 @@ struct AtomState { bool has_dihedral = false; bool has_improper = false; - bool has_iname = false; - bool has_dname = false; + bool has_ivname = false; + bool has_dvname = false; + bool has_ianame = false; + bool has_daname = false; bool has_mass = false; bool has_mass_setflag = false; @@ -444,8 +445,10 @@ void ASSERT_ATOM_STATE_EQ(Atom *atom, const AtomState &expected) ASSERT_EQ(atom->nivector, expected.nivector); ASSERT_EQ(atom->ndvector, expected.ndvector); - ASSERT_ARRAY_ALLOCATED(atom->iname, expected.has_iname); - ASSERT_ARRAY_ALLOCATED(atom->dname, expected.has_dname); + ASSERT_ARRAY_ALLOCATED(atom->ivname, expected.has_ivname); + ASSERT_ARRAY_ALLOCATED(atom->dvname, expected.has_dvname); + ASSERT_ARRAY_ALLOCATED(atom->ianame, expected.has_ianame); + ASSERT_ARRAY_ALLOCATED(atom->daname, expected.has_daname); ASSERT_ARRAY_ALLOCATED(atom->mass, expected.has_mass); ASSERT_ARRAY_ALLOCATED(atom->mass_setflag, expected.has_mass_setflag); @@ -4555,7 +4558,8 @@ TEST_F(AtomStyleTest, property_atom) { BEGIN_HIDE_OUTPUT(); command("atom_modify map array"); - command("fix Properties all property/atom i_one d_two mol d_three q rmass ghost yes"); + command("fix Properties all property/atom " + "i_one d_two mol d_three q rmass i2_four 2 d2_five 3 ghost yes"); END_HIDE_OUTPUT(); AtomState expected; @@ -4570,8 +4574,10 @@ TEST_F(AtomStyleTest, property_atom) expected.has_x = true; expected.has_v = true; expected.has_f = true; - expected.has_iname = true; - expected.has_dname = true; + expected.has_ivname = true; + expected.has_dvname = true; + expected.has_ianame = true; + expected.has_daname = true; expected.has_extra_grow = true; expected.has_extra_restart = true; expected.has_extra_border = true; @@ -4614,7 +4620,12 @@ TEST_F(AtomStyleTest, property_atom) command("set atom 2 d_three -1.0"); command("set atom 3 d_three 0.5"); command("set atom 4 d_three 2.0"); - + command("set atom * d2_five[1] -5.9"); + command("set atom * d2_five[2] 1.1e-2"); + command("set atom * d2_five[3] .1"); + command("set atom 1*2 i2_four[1] -2"); + command("set atom 3*4 i2_four[1] -1"); + command("set atom * i2_four[2] 2"); END_HIDE_OUTPUT(); expected.natoms = 4; expected.nlocal = 4; From 300fee043745a890f976aedcd98364e018b75768 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 18 Aug 2021 12:59:56 -0400 Subject: [PATCH 694/726] add some more checks for typical string matches for references to fixes and alike --- unittest/utils/test_utils.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/unittest/utils/test_utils.cpp b/unittest/utils/test_utils.cpp index 08922e648f..44cd865a21 100644 --- a/unittest/utils/test_utils.cpp +++ b/unittest/utils/test_utils.cpp @@ -478,6 +478,17 @@ TEST(Utils, strmatch_opt_char) { ASSERT_TRUE(utils::strmatch("rigid", "^r?igid")); ASSERT_TRUE(utils::strmatch("igid", "^r?igid")); + ASSERT_TRUE(utils::strmatch("c_name","^[cfvid]2?_name")); + ASSERT_TRUE(utils::strmatch("f_name","^[cfvid]2?_name")); + ASSERT_TRUE(utils::strmatch("v_name","^[cfvid]2?_name")); + ASSERT_TRUE(utils::strmatch("i_name","^[cfvid]2?_name")); + ASSERT_TRUE(utils::strmatch("d_name","^[cfvid]2?_name")); + ASSERT_TRUE(utils::strmatch("i2_name","^[cfvid]2?_name")); + ASSERT_TRUE(utils::strmatch("d2_name","^[cfvid]2?_name")); + ASSERT_FALSE(utils::strmatch("d2name","^[cfvid]2?_name")); + ASSERT_FALSE(utils::strmatch("i1_name","^[cfvid]2?_name")); + ASSERT_FALSE(utils::strmatch("V_name","^[cfvid]2?_name")); + ASSERT_FALSE(utils::strmatch("x_name","^[cfvid]2?_name")); } TEST(Utils, strmatch_dot) From f9b32f0eef356e28bc7b19edc36e7834ad54d78c Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 18 Aug 2021 13:00:32 -0400 Subject: [PATCH 695/726] use ArgInfo class to process references to custom vectors and arrays --- src/set.cpp | 112 +++++++++++++++++++++++++--------------------------- 1 file changed, 54 insertions(+), 58 deletions(-) diff --git a/src/set.cpp b/src/set.cpp index 1aa9a479e6..2a36874c8b 100644 --- a/src/set.cpp +++ b/src/set.cpp @@ -14,6 +14,7 @@ #include "set.h" +#include "arg_info.h" #include "atom.h" #include "atom_vec.h" #include "atom_vec_body.h" @@ -570,69 +571,64 @@ void Set::command(int narg, char **arg) set(DPDTHETA); iarg += 2; - // custom per-atom vector + } else { - } else if (utils::strmatch(arg[iarg],"^i_")) { - if (iarg+2 > narg) error->all(FLERR,"Illegal set command"); - if (utils::strmatch(arg[iarg+1],"^v_")) varparse(arg[iarg+1],1); - else ivalue = utils::inumeric(FLERR,arg[iarg+1],false,lmp); - int flag,cols; - index_custom = atom->find_custom(&arg[iarg][2],flag,cols); - if (index_custom < 0 || flag || cols) - error->all(FLERR,"Set command integer vector does not exist"); - set(IVEC); - iarg += 2; - - } else if (utils::strmatch(arg[iarg],"^d_")) { - if (iarg+2 > narg) error->all(FLERR,"Illegal set command"); - if (utils::strmatch(arg[iarg+1],"^v_")) varparse(arg[iarg+1],1); - else dvalue = utils::numeric(FLERR,arg[iarg+1],false,lmp); - int flag,cols; - index_custom = atom->find_custom(&arg[iarg][2],flag,cols); - if (index_custom < 0 || flag || cols) - error->all(FLERR,"Set command floating point vector does not exist"); - set(DVEC); - iarg += 2; - - // custom per-atom array, must include bracketed index - // OLDSTYLE code - - } else if (strstr(arg[iarg],"i2_") == arg[iarg] || - strstr(arg[iarg],"d2_") == arg[iarg]) { - if (iarg+2 > narg) error->all(FLERR,"Illegal set command"); - int which = 0; - if (arg[iarg][0] == 'd') which = 1; - if (strstr(arg[iarg+1],"v_") == arg[iarg+1]) varparse(arg[iarg+1],1); - else if (!which) ivalue = utils::inumeric(FLERR,arg[iarg+1],false,lmp); - else dvalue = utils::numeric(FLERR,arg[iarg+1],false,lmp); - - int n = strlen(arg[iarg]); - char *suffix = new char[n]; - strcpy(suffix,&arg[iarg][3]); - - char *ptr = strchr(suffix,'['); - if (ptr) { - if (suffix[strlen(suffix)-1] != ']') - error->all(FLERR,"Invalid attribute in set command"); - icol_custom = atoi(ptr+1); - *ptr = '\0'; - } else error->all(FLERR,"Set command per-atom custom array is not indexed"); + // set custom per-atom vector or array or error out int flag,cols; - index_custom = atom->find_custom(suffix,flag,cols); - delete [] suffix; + ArgInfo argi(arg[iarg],ArgInfo::DNAME|ArgInfo::INAME); + const char *pname = argi.get_name(); + if (iarg+2 > narg) error->all(FLERR,"Illegal set command"); + index_custom = atom->find_custom(argi.get_name(),flag,cols); + if (index_custom < 0) error->all(FLERR,"Custom property {} does not exist",pname); - if ((!which && (index_custom < 0 || flag || !cols)) || - (which && (index_custom < 0 || !flag || !cols))) - error->all(FLERR,"Set command per-atom custom array does not exist"); - if (icol_custom <= 0 || icol_custom > cols) - error->all(FLERR,"Set command per-atom custom array is accessed out-of-range"); + switch (argi.get_type()) { - if (!which) set(IARRAY); - else set(DARRAY); + case ArgInfo::INAME: + if (utils::strmatch(arg[iarg+1],"^v_")) varparse(arg[iarg+1],1); + else ivalue = utils::inumeric(FLERR,arg[iarg+1],false,lmp); + if (flag != 0) error->all(FLERR,"Custom property {} is not integer",pname); + + if (argi.get_dim() == 0) { + if (cols > 0) + error->all(FLERR,"Set command custom integer property {} is not a vector",pname); + set(IVEC); + } else if (argi.get_dim() == 1) { + if (cols == 0) + error->all(FLERR,"Set command custom integer property {} is not an array",pname); + icol_custom = argi.get_index1(); + if (icol_custom <= 0 || icol_custom > cols) + error->all(FLERR,"Set command per-atom custom integer array {} is accessed " + "out-of-range",pname); + set(IARRAY); + } else error->all(FLERR,"Illegal set command"); + break; + + case ArgInfo::DNAME: + if (utils::strmatch(arg[iarg+1],"^v_")) varparse(arg[iarg+1],1); + else dvalue = utils::numeric(FLERR,arg[iarg+1],false,lmp); + if (flag != 1) error->all(FLERR,"Custom property {} is not floating-point",argi.get_name()); + + if (argi.get_dim() == 0) { + if (cols > 0) + error->all(FLERR,"Set command custom floating-point property is not a vector"); + set(DVEC); + } else if (argi.get_dim() == 1) { + if (cols == 0) + error->all(FLERR,"Set command custom floating-point property is not an array"); + icol_custom = argi.get_index1(); + if (icol_custom <= 0 || icol_custom > cols) + error->all(FLERR,"Set command per-atom custom integer array is accessed out-of-range"); + set(DARRAY); + } else error->all(FLERR,"Illegal set command"); + break; + + default: + error->all(FLERR,"Illegal set command"); + break; + } iarg += 2; - - } else error->all(FLERR,"Illegal set command"); + } // statistics // for CC option, include species index @@ -1007,7 +1003,7 @@ void Set::set(int keyword) (((imageint) (zbox + IMGMAX) & IMGMASK) << IMG2BITS); } - // set value for custom vector or array + // set value for custom property vector or array else if (keyword == IVEC) { atom->ivector[index_custom][i] = ivalue; From 4fed16fe8b526434d19c69691beaea865e5440cc Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 18 Aug 2021 13:00:40 -0400 Subject: [PATCH 696/726] pretty --- src/fix_store_state.cpp | 49 ++++++++++++++--------------------------- 1 file changed, 16 insertions(+), 33 deletions(-) diff --git a/src/fix_store_state.cpp b/src/fix_store_state.cpp index 0d54d2727e..1f302b4ca3 100644 --- a/src/fix_store_state.cpp +++ b/src/fix_store_state.cpp @@ -142,88 +142,71 @@ FixStoreState::FixStoreState(LAMMPS *lmp, int narg, char **arg) : } else if (strcmp(arg[iarg],"q") == 0) { if (!atom->q_flag) - error->all(FLERR, - "Fix store/state for atom property that isn't allocated"); + error->all(FLERR,"Fix store/state for atom property that isn't allocated"); pack_choice[nvalues++] = &FixStoreState::pack_q; } else if (strcmp(arg[iarg],"mux") == 0) { if (!atom->mu_flag) - error->all(FLERR, - "Fix store/state for atom property that isn't allocated"); + error->all(FLERR,"Fix store/state for atom property that isn't allocated"); pack_choice[nvalues++] = &FixStoreState::pack_mux; } else if (strcmp(arg[iarg],"muy") == 0) { if (!atom->mu_flag) - error->all(FLERR, - "Fix store/state for atom property that isn't allocated"); + error->all(FLERR,"Fix store/state for atom property that isn't allocated"); pack_choice[nvalues++] = &FixStoreState::pack_muy; } else if (strcmp(arg[iarg],"muz") == 0) { if (!atom->mu_flag) - error->all(FLERR, - "Fix store/state for atom property that isn't allocated"); + error->all(FLERR,"Fix store/state for atom property that isn't allocated"); pack_choice[nvalues++] = &FixStoreState::pack_muz; } else if (strcmp(arg[iarg],"mu") == 0) { if (!atom->mu_flag) - error->all(FLERR, - "Fix store/state for atom property that isn't allocated"); + error->all(FLERR,"Fix store/state for atom property that isn't allocated"); pack_choice[nvalues++] = &FixStoreState::pack_mu; } else if (strcmp(arg[iarg],"radius") == 0) { if (!atom->radius_flag) - error->all(FLERR, - "Fix store/state for atom property that isn't allocated"); + error->all(FLERR,"Fix store/state for atom property that isn't allocated"); pack_choice[nvalues++] = &FixStoreState::pack_radius; } else if (strcmp(arg[iarg],"diameter") == 0) { if (!atom->radius_flag) - error->all(FLERR, - "Fix store/state for atom property that isn't allocated"); + error->all(FLERR,"Fix store/state for atom property that isn't allocated"); pack_choice[nvalues++] = &FixStoreState::pack_diameter; } else if (strcmp(arg[iarg],"omegax") == 0) { if (!atom->omega_flag) - error->all(FLERR, - "Fix store/state for atom property that isn't allocated"); + error->all(FLERR,"Fix store/state for atom property that isn't allocated"); pack_choice[nvalues++] = &FixStoreState::pack_omegax; } else if (strcmp(arg[iarg],"omegay") == 0) { if (!atom->omega_flag) - error->all(FLERR, - "Fix store/state for atom property that isn't allocated"); + error->all(FLERR,"Fix store/state for atom property that isn't allocated"); pack_choice[nvalues++] = &FixStoreState::pack_omegay; } else if (strcmp(arg[iarg],"omegaz") == 0) { if (!atom->omega_flag) - error->all(FLERR, - "Fix store/state for atom property that isn't allocated"); + error->all(FLERR,"Fix store/state for atom property that isn't allocated"); pack_choice[nvalues++] = &FixStoreState::pack_omegaz; } else if (strcmp(arg[iarg],"angmomx") == 0) { if (!atom->angmom_flag) - error->all(FLERR, - "Fix store/state for atom property that isn't allocated"); + error->all(FLERR,"Fix store/state for atom property that isn't allocated"); pack_choice[nvalues++] = &FixStoreState::pack_angmomx; } else if (strcmp(arg[iarg],"angmomy") == 0) { if (!atom->angmom_flag) - error->all(FLERR, - "Fix store/state for atom property that isn't allocated"); + error->all(FLERR,"Fix store/state for atom property that isn't allocated"); pack_choice[nvalues++] = &FixStoreState::pack_angmomy; } else if (strcmp(arg[iarg],"angmomz") == 0) { if (!atom->angmom_flag) - error->all(FLERR, - "Fix store/state for atom property that isn't allocated"); + error->all(FLERR,"Fix store/state for atom property that isn't allocated"); pack_choice[nvalues++] = &FixStoreState::pack_angmomz; } else if (strcmp(arg[iarg],"tqx") == 0) { if (!atom->torque_flag) - error->all(FLERR, - "Fix store/state for atom property that isn't allocated"); + error->all(FLERR,"Fix store/state for atom property that isn't allocated"); pack_choice[nvalues++] = &FixStoreState::pack_tqx; } else if (strcmp(arg[iarg],"tqy") == 0) { if (!atom->torque_flag) - error->all(FLERR, - "Fix store/state for atom property that isn't allocated"); + error->all(FLERR,"Fix store/state for atom property that isn't allocated"); pack_choice[nvalues++] = &FixStoreState::pack_tqy; } else if (strcmp(arg[iarg],"tqz") == 0) { if (!atom->torque_flag) - error->all(FLERR, - "Fix store/state for atom property that isn't allocated"); + error->all(FLERR,"Fix store/state for atom property that isn't allocated"); pack_choice[nvalues++] = &FixStoreState::pack_tqz; // compute or fix or variable or custom per-atom vector or array - // NEWSTYLE code } else { ArgInfo argi(arg[iarg],ArgInfo::COMPUTE|ArgInfo::FIX|ArgInfo::VARIABLE From e08c4abb4b3bfa5534b40d03ea0e97376be8f56e Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 18 Aug 2021 13:06:00 -0400 Subject: [PATCH 697/726] whitespace fixes --- doc/src/compute_property_atom.rst | 2 +- src/KOKKOS/atom_kokkos.cpp | 12 +++---- src/VTK/dump_vtk.cpp | 6 ++-- src/atom.cpp | 24 +++++++------- src/compute_property_atom.cpp | 14 ++++---- src/compute_property_atom.h | 2 +- src/dump_custom.cpp | 20 ++++++------ src/fix_group.cpp | 8 ++--- src/fix_property_atom.cpp | 22 ++++++------- src/fix_store_state.cpp | 6 ++-- src/library.cpp | 54 +++++++++++++++---------------- src/set.cpp | 4 +-- src/utils.cpp | 6 ++-- 13 files changed, 90 insertions(+), 90 deletions(-) diff --git a/doc/src/compute_property_atom.rst b/doc/src/compute_property_atom.rst index c4657ce82c..fee859d96e 100644 --- a/doc/src/compute_property_atom.rst +++ b/doc/src/compute_property_atom.rst @@ -136,7 +136,7 @@ When that command is used specific names are given to each attribute which are the "name" portion of these attributes. For arrays *i2_name* and *d2_name*, the column of the array must also be included following the name in brackets: e.g. d2_xyz[2], i2_mySpin[3]. - + The additional quantities only accessible via this command, and not directly via the :doc:`dump custom ` command, are as follows. diff --git a/src/KOKKOS/atom_kokkos.cpp b/src/KOKKOS/atom_kokkos.cpp index 3304d638ce..f40b9c324a 100644 --- a/src/KOKKOS/atom_kokkos.cpp +++ b/src/KOKKOS/atom_kokkos.cpp @@ -272,7 +272,7 @@ int AtomKokkos::add_custom(const char *name, int flag, int cols) ivector = (int **) memory->srealloc(ivector,nivector*sizeof(int *), "atom:ivector"); memory->create(ivector[index],nmax,"atom:ivector"); - + } else if (flag == 1 && cols == 0) { index = ndvector; ndvector++; @@ -299,10 +299,10 @@ int AtomKokkos::add_custom(const char *name, int flag, int cols) iarray = (int ***) memory->srealloc(iarray,niarray*sizeof(int **), "atom:iarray"); memory->create(iarray[index],nmax,cols,"atom:iarray"); - + icols = (int *) memory->srealloc(icols,niarray*sizeof(int),"atom:icols"); icols[index] = cols; - + } else if (flag == 1 && cols) { index = ndarray; ndarray++; @@ -318,7 +318,7 @@ int AtomKokkos::add_custom(const char *name, int flag, int cols) dcols = (int *) memory->srealloc(dcols,ndarray*sizeof(int),"atom:dcols"); dcols[index] = cols; } - + return index; } @@ -335,7 +335,7 @@ void AtomKokkos::remove_custom(int index, int flag, int cols) ivector[index] = NULL; delete [] ivname[index]; ivname[index] = NULL; - + } else if (flag == 1 && cols == 0) { dvector[index] = NULL; delete [] dvname[index]; @@ -346,7 +346,7 @@ void AtomKokkos::remove_custom(int index, int flag, int cols) iarray[index] = NULL; delete [] ianame[index]; ianame[index] = NULL; - + } else if (flag == 1 && cols) { memory->destroy(darray[index]); darray[index] = NULL; diff --git a/src/VTK/dump_vtk.cpp b/src/VTK/dump_vtk.cpp index 75092ff204..f94a6957fb 100644 --- a/src/VTK/dump_vtk.cpp +++ b/src/VTK/dump_vtk.cpp @@ -757,7 +757,7 @@ int DumpVTK::count() i = ATTRIBUTES + nfield + ithresh; iwhich = atom->find_custom(id_custom[field2index[i]],flag,cols); int *ivector = atom->ivector[iwhich]; - for (i = 0; i < nlocal; i++) + for (i = 0; i < nlocal; i++) dchoose[i] = ivector[i]; ptr = dchoose; nstride = 1; @@ -775,7 +775,7 @@ int DumpVTK::count() iwhich = atom->find_custom(id_custom[field2index[i]],flag,cols); int **iarray = atom->iarray[iwhich]; int icol = argindex[i] - 1; - for (i = 0; i < nlocal; i++) + for (i = 0; i < nlocal; i++) dchoose[i] = iarray[i][icol]; ptr = dchoose; nstride = 1; @@ -1827,7 +1827,7 @@ int DumpVTK::parse_fields(int narg, char **arg) field2index[ATTRIBUTES+i] = add_variable(argi.get_name()); name[ATTRIBUTES+i] = arg[iarg]; break; - + // custom per-atom integer vector = i_ID case ArgInfo::INAME: diff --git a/src/atom.cpp b/src/atom.cpp index 760aba5845..c1cb9e011b 100644 --- a/src/atom.cpp +++ b/src/atom.cpp @@ -2481,7 +2481,7 @@ int Atom::add_custom(const char *name, int flag, int cols) ivector = (int **) memory->srealloc(ivector,nivector*sizeof(int *), "atom:ivector"); memory->create(ivector[index],nmax,"atom:ivector"); - + } else if (flag == 1 && cols == 0) { index = ndvector; ndvector++; @@ -2501,10 +2501,10 @@ int Atom::add_custom(const char *name, int flag, int cols) iarray = (int ***) memory->srealloc(iarray,niarray*sizeof(int **), "atom:iarray"); memory->create(iarray[index],nmax,cols,"atom:iarray"); - + icols = (int *) memory->srealloc(icols,niarray*sizeof(int),"atom:icols"); icols[index] = cols; - + } else if (flag == 1 && cols) { index = ndarray; ndarray++; @@ -2518,7 +2518,7 @@ int Atom::add_custom(const char *name, int flag, int cols) dcols = (int *) memory->srealloc(dcols,ndarray*sizeof(int),"atom:dcols"); dcols[index] = cols; } - + return index; } @@ -2542,7 +2542,7 @@ void Atom::remove_custom(int index, int flag, int cols) ivector[index] = NULL; delete [] ivname[index]; ivname[index] = NULL; - + } else if (flag == 1 && cols == 0) { memory->destroy(dvector[index]); dvector[index] = NULL; @@ -2554,7 +2554,7 @@ void Atom::remove_custom(int index, int flag, int cols) iarray[index] = NULL; delete [] ianame[index]; ianame[index] = NULL; - + } else if (flag == 1 && cols) { memory->destroy(darray[index]); darray[index] = NULL; @@ -2762,7 +2762,7 @@ void *Atom::extract(const char *name) if (strcmp(name, "damage") == 0) return (void *) damage; // DPD-REACT pakage - + if (strcmp(name,"dpdTheta") == 0) return (void *) dpdTheta; // DPD-MESO package @@ -2790,15 +2790,15 @@ void *Atom::extract(const char *name) if (name[0] == 'd') which = 1; int array = 0; if (name[1] == '2') array = 1; - + int index,flag,cols; if (!array) index = find_custom(&name[2],flag,cols); else index = find_custom(&name[3],flag,cols); - + if (index < 0) return NULL; if (which != flag) return NULL; if ((!array && cols) || (array && !cols)) return NULL; - + if (!which && !array) return (void *) ivector[index]; if (which && !array) return (void *) dvector[index]; if (!which && array) return (void *) iarray[index]; @@ -2906,14 +2906,14 @@ int Atom::extract_datatype(const char *name) // custom vectors and arrays // OLDSTYLE code - + if (strstr(name,"i_") == name || strstr(name,"d_") == name || strstr(name,"i2_") == name || strstr(name,"d2_") == name) { int which = 0; if (name[0] == 'd') which = 1; int array = 0; if (name[1] == '2') array = 1; - + int index,flag,cols; if (!array) index = find_custom(&name[2],flag,cols); else index = find_custom(&name[3],flag,cols); diff --git a/src/compute_property_atom.cpp b/src/compute_property_atom.cpp index a7eb4bf144..e8e1293e28 100644 --- a/src/compute_property_atom.cpp +++ b/src/compute_property_atom.cpp @@ -147,8 +147,8 @@ ComputePropertyAtom::ComputePropertyAtom(LAMMPS *lmp, int narg, char **arg) : pack_choice[i] = &ComputePropertyAtom::pack_mu; // pack magnetic variables - - } else if (strcmp(arg[iarg],"spx") == 0) { + + } else if (strcmp(arg[iarg],"spx") == 0) { if (!atom->sp_flag) error->all(FLERR,"Compute property/atom for " "atom property that isn't allocated"); @@ -185,7 +185,7 @@ ComputePropertyAtom::ComputePropertyAtom(LAMMPS *lmp, int narg, char **arg) : pack_choice[i] = &ComputePropertyAtom::pack_fmz; // bond count - + } else if (strcmp(arg[iarg],"nbonds") == 0) { if (!atom->molecule_flag) error->all(FLERR,"Compute property/atom for " @@ -193,7 +193,7 @@ ComputePropertyAtom::ComputePropertyAtom(LAMMPS *lmp, int narg, char **arg) : pack_choice[i] = &ComputePropertyAtom::pack_nbonds; // finite-size particles - + } else if (strcmp(arg[iarg],"radius") == 0) { if (!atom->radius_flag) error->all(FLERR,"Compute property/atom for " @@ -401,11 +401,11 @@ ComputePropertyAtom::ComputePropertyAtom(LAMMPS *lmp, int narg, char **arg) : // custom per-atom arrays, must include bracketed index // OLDSTYLE code - } else if (strstr(arg[iarg],"i2_") == arg[iarg] || + } else if (strstr(arg[iarg],"i2_") == arg[iarg] || strstr(arg[iarg],"d2_") == arg[iarg]) { int which = 0; if (arg[iarg][0] == 'd') which = 1; - + int n = strlen(arg[iarg]); char *suffix = new char[n]; strcpy(suffix,&arg[iarg][3]); @@ -418,7 +418,7 @@ ComputePropertyAtom::ComputePropertyAtom(LAMMPS *lmp, int narg, char **arg) : colindex[i] = utils::inumeric(FLERR,ptr+1,true,lmp); *ptr = '\0'; } else error->all(FLERR,"Compute property/atom custom array is not indexed"); - + int flag,cols; index[i] = atom->find_custom(suffix,flag,cols); delete [] suffix; diff --git a/src/compute_property_atom.h b/src/compute_property_atom.h index 19f8b73451..d8b1cae449 100644 --- a/src/compute_property_atom.h +++ b/src/compute_property_atom.h @@ -109,7 +109,7 @@ class ComputePropertyAtom : public Compute { void pack_tqx(int); void pack_tqy(int); void pack_tqz(int); - + void pack_end1x(int); void pack_end1y(int); void pack_end1z(int); diff --git a/src/dump_custom.cpp b/src/dump_custom.cpp index 68a2ab4a57..3aac7a3e79 100644 --- a/src/dump_custom.cpp +++ b/src/dump_custom.cpp @@ -1046,7 +1046,7 @@ int DumpCustom::count() int iwhich = custom[field2index[i]]; ptr = atom->dvector[iwhich]; nstride = 1; - + } else if (thresh_array[ithresh] == IARRAY) { i = nfield + ithresh; int iwhich = custom[field2index[i]]; @@ -1977,12 +1977,12 @@ int DumpCustom::modify_param(int narg, char **arg) "Dump custom property array is accessed out-of-range"); thresh_array[nthresh] = DARRAY; } - + field2index[nfield+nthresh] = add_custom(name,0); break; // custom per atom integer vector or array - + case ArgInfo::INAME: n = atom->find_custom(name,flag,cols); @@ -2015,7 +2015,7 @@ int DumpCustom::modify_param(int narg, char **arg) } // set operation type of threshold - + if (strcmp(arg[2],"<") == 0) thresh_op[nthresh] = LT; else if (strcmp(arg[2],"<=") == 0) thresh_op[nthresh] = LE; else if (strcmp(arg[2],">") == 0) thresh_op[nthresh] = GT; @@ -2024,11 +2024,11 @@ int DumpCustom::modify_param(int narg, char **arg) else if (strcmp(arg[2],"!=") == 0) thresh_op[nthresh] = NEQ; else if (strcmp(arg[2],"|^") == 0) thresh_op[nthresh] = XOR; else error->all(FLERR,"Invalid dump_modify thresh operator"); - + // set threshold value as number or special LAST keyword // create FixStore to hold LAST values, should work with restart // id = dump-ID + nthreshlast + DUMP_STORE, fix group = dump group - + if (strcmp(arg[3],"LAST") != 0) { thresh_value[nthresh] = utils::numeric(FLERR,arg[3],false,lmp); thresh_last[nthresh] = -1; @@ -2038,17 +2038,17 @@ int DumpCustom::modify_param(int narg, char **arg) thresh_fixID = (char **) memory->srealloc(thresh_fixID,(nthreshlast+1)*sizeof(char *),"dump:thresh_fixID"); memory->grow(thresh_first,(nthreshlast+1),"dump:thresh_first"); - + std::string threshid = fmt::format("{}{}_DUMP_STORE",id,nthreshlast); thresh_fixID[nthreshlast] = utils::strdup(threshid); threshid += fmt::format(" {} STORE peratom 1 1", group->names[igroup]); thresh_fix[nthreshlast] = (FixStore *) modify->add_fix(threshid); - + thresh_last[nthreshlast] = nthreshlast; thresh_first[nthreshlast] = 1; nthreshlast++; } - + nthresh++; return 4; } @@ -2135,7 +2135,7 @@ void DumpCustom::pack_custom(int n) int flag = custom_flag[field2index[n]]; int iwhich = custom[field2index[n]]; int index = argindex[n]; - + if (flag == IVEC) { int *ivector = atom->ivector[iwhich]; for (int i = 0; i < nchoose; i++) { diff --git a/src/fix_group.cpp b/src/fix_group.cpp index 03a046d3bf..c15f2590c5 100644 --- a/src/fix_group.cpp +++ b/src/fix_group.cpp @@ -61,7 +61,7 @@ idregion(nullptr), idvar(nullptr), idprop(nullptr) delete [] idregion; idregion = utils::strdup(arg[iarg+1]); iarg += 2; - + } else if (strcmp(arg[iarg],"var") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal group command"); if (input->variable->find(arg[iarg+1]) < 0) @@ -70,19 +70,19 @@ idregion(nullptr), idvar(nullptr), idprop(nullptr) delete [] idvar; idvar = utils::strdup(arg[iarg+1]); iarg += 2; - + } else if (strcmp(arg[iarg],"property") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal group command"); int flag,cols; iprop = atom->find_custom(arg[iarg+1],flag,cols); - if (iprop < 1 || cols) + if (iprop < 1 || cols) error->all(FLERR,"Custom per-atom vector for group dynamic " "does not exist"); propflag = 1; delete [] idprop; idprop = utils::strdup(arg[iarg+1]); iarg += 2; - + } else if (strcmp(arg[iarg],"every") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal group command"); nevery = utils::inumeric(FLERR,arg[iarg+1],false,lmp); diff --git a/src/fix_property_atom.cpp b/src/fix_property_atom.cpp index 0ca8a75632..7ec30025bc 100644 --- a/src/fix_property_atom.cpp +++ b/src/fix_property_atom.cpp @@ -50,7 +50,7 @@ FixPropertyAtom::FixPropertyAtom(LAMMPS *lmp, int narg, char **arg) : nvalue = 0; values_peratom = 0; - + while (iarg < narg) { if (strcmp(arg[iarg],"mol") == 0) { if (atom->molecule_flag) @@ -114,7 +114,7 @@ FixPropertyAtom::FixPropertyAtom(LAMMPS *lmp, int narg, char **arg) : // custom atom array // OLDSTYLE code - } else if (strstr(arg[iarg],"i2_") == arg[iarg] || + } else if (strstr(arg[iarg],"i2_") == arg[iarg] || strstr(arg[iarg],"d2_") == arg[iarg]) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix property/atom command"); int which = 0; @@ -539,7 +539,7 @@ void FixPropertyAtom::grow_arrays(int nmax) void FixPropertyAtom::copy_arrays(int i, int j, int /*delflag*/) { int k,ncol; - + for (int nv = 0; nv < nvalue; nv++) { if (style[nv] == MOLECULE) atom->molecule[j] = atom->molecule[i]; @@ -697,15 +697,15 @@ int FixPropertyAtom::pack_exchange(int i, double *buf) else if (style[nv] == DVEC) buf[m++] = atom->dvector[index[nv]][i]; else if (style[nv] == IARRAY) { ncol = cols[nv]; - for (k = 0; k < ncol; k++) + for (k = 0; k < ncol; k++) buf[m++] = ubuf(atom->iarray[index[nv]][i][k]).d; } else if (style[nv] == DARRAY) { ncol = cols[nv]; - for (k = 0; k < ncol; k++) + for (k = 0; k < ncol; k++) buf[m++] = atom->darray[index[nv]][i][k]; } } - + return m; } @@ -731,15 +731,15 @@ int FixPropertyAtom::unpack_exchange(int nlocal, double *buf) atom->dvector[index[nv]][nlocal] = buf[m++]; else if (style[nv] == IARRAY) { ncol = cols[nv]; - for (k = 0; k < ncol; k++) + for (k = 0; k < ncol; k++) atom->iarray[index[nv]][nlocal][k] = (int) ubuf(buf[m++]).i; } else if (style[nv] == DARRAY) { ncol = cols[nv]; - for (k = 0; k < ncol; k++) + for (k = 0; k < ncol; k++) atom->darray[index[nv]][nlocal][k] = buf[m++]; } } - + return m; } @@ -750,9 +750,9 @@ int FixPropertyAtom::unpack_exchange(int nlocal, double *buf) int FixPropertyAtom::pack_restart(int i, double *buf) { int k,ncol; - + // pack buf[0] this way because other fixes unpack it - + buf[0] = values_peratom+1; int m = 1; diff --git a/src/fix_store_state.cpp b/src/fix_store_state.cpp index 1f302b4ca3..1d3d48a06b 100644 --- a/src/fix_store_state.cpp +++ b/src/fix_store_state.cpp @@ -293,7 +293,7 @@ FixStoreState::FixStoreState(LAMMPS *lmp, int narg, char **arg) : } else if (which[i] == ArgInfo::DNAME) { int icustom,iflag,icol; icustom = atom->find_custom(ids[i],iflag,icol); - if (icustom < 0) + if (icustom < 0) error->all(FLERR,"Custom vector/array for fix store/state does not exist"); if (argindex[i] == 0) { if (!iflag || icol) @@ -311,7 +311,7 @@ FixStoreState::FixStoreState(LAMMPS *lmp, int narg, char **arg) : } else if (which[i] == ArgInfo::INAME) { int icustom,iflag,icol; icustom = atom->find_custom(ids[i],iflag,icol); - if (icustom < 0) + if (icustom < 0) error->all(FLERR,"Custom vector/array for fix store/state does not exist"); if (argindex[i] == 0) { if (iflag || icol) @@ -417,7 +417,7 @@ void FixStoreState::init() } else if (which[m] == ArgInfo::INAME || which[m] == ArgInfo::DNAME) { int icustom,iflag,cols; icustom = atom->find_custom(ids[m],iflag,cols); - if (icustom < 0) + if (icustom < 0) error->all(FLERR,"Custom vector/array for fix store/state does not exist"); value2index[m] = icustom; } diff --git a/src/library.cpp b/src/library.cpp index b6cdd02e9f..1397cf889e 100644 --- a/src/library.cpp +++ b/src/library.cpp @@ -2834,7 +2834,7 @@ void lammps_gather(void *handle, char *name, int type, int count, void *data) int i,j,offset,fcid,ltype,icol; // error if tags are not defined or not consecutive - + int flag = 0; if (lmp->atom->tag_enable == 0 || lmp->atom->tag_consecutive() == 0) flag = 1; @@ -2849,7 +2849,7 @@ void lammps_gather(void *handle, char *name, int type, int count, void *data) void *vptr = lmp->atom->extract(name); // fix - + if (vptr==nullptr && utils::strmatch(name,"^f_")) { fcid = lmp->modify->find_fix(&name[2]); @@ -2884,7 +2884,7 @@ void lammps_gather(void *handle, char *name, int type, int count, void *data) } // compute - + if (vptr==nullptr && utils::strmatch(name,"^c_")) { fcid = lmp->modify->find_compute(&name[2]); @@ -2913,7 +2913,7 @@ void lammps_gather(void *handle, char *name, int type, int count, void *data) if (count==1) vptr = (void *) lmp->modify->compute[fcid]->vector_atom; else vptr = (void *) lmp->modify->compute[fcid]->array_atom; } - + // custom fix property/atom vector or array // OLDSTYLE code @@ -2930,7 +2930,7 @@ void lammps_gather(void *handle, char *name, int type, int count, void *data) lmp->error->warning(FLERR,"lammps_gather: unknown property/atom id"); return; } - + if (ltype != type) { if (lmp->comm->me == 0) lmp->error->warning(FLERR,"lammps_gather: mismatch property/atom type"); @@ -2950,7 +2950,7 @@ void lammps_gather(void *handle, char *name, int type, int count, void *data) if (count == 1) { if (ltype==0) vptr = (void *) lmp->atom->ivector[fcid]; else vptr = (void *) lmp->atom->dvector[fcid]; - } else { + } else { if (ltype==0) vptr = (void *) lmp->atom->iarray[fcid]; else vptr = (void *) lmp->atom->darray[fcid]; } @@ -2963,11 +2963,11 @@ void lammps_gather(void *handle, char *name, int type, int count, void *data) lmp->error->warning(FLERR,"lammps_gather: undefined property name"); return; } - + // copy = Natom length vector of per-atom values // use atom ID to insert each atom's values into copy // MPI_Allreduce with MPI_SUM to merge into data, ordered by atom ID - + if (type==0) { int *vector = nullptr; int **array = nullptr; @@ -3078,7 +3078,7 @@ void lammps_gather_concat(void *handle, char *name, int type, int count, void *d int i,offset,fcid,ltype,icol; // error if tags are not defined or not consecutive - + int flag = 0; if (lmp->atom->tag_enable == 0) flag = 1; if (lmp->atom->natoms > MAXSMALLINT) flag = 1; @@ -3126,7 +3126,7 @@ void lammps_gather_concat(void *handle, char *name, int type, int count, void *d } // compute - + if (vptr==nullptr && utils::strmatch(name,"^c_")) { fcid = lmp->modify->find_compute(&name[2]); @@ -3162,7 +3162,7 @@ void lammps_gather_concat(void *handle, char *name, int type, int count, void *d if ((vptr==nullptr) && ((strstr(name,"d_") == name) || (strstr(name,"i_") == name) || (strstr(name,"d2_") == name) || (strstr(name,"i2_") == name))) { - + if ((strstr(name,"d_") == name) || (strstr(name,"i_") == name)) fcid = lmp->atom->find_custom(&name[2],ltype,icol); else fcid = lmp->atom->find_custom(&name[3],ltype,icol); @@ -3173,7 +3173,7 @@ void lammps_gather_concat(void *handle, char *name, int type, int count, void *d "unknown property/atom id"); return; } - + if (ltype != type) { if (lmp->comm->me == 0) lmp->error->warning(FLERR,"lammps_gather_concat: " @@ -3221,7 +3221,7 @@ void lammps_gather_concat(void *handle, char *name, int type, int count, void *d if (type == 0) { int *vector = nullptr; int **array = nullptr; - + const int imgunpack = (count == 3) && (strcmp(name,"image") == 0); if ((count == 1) || imgunpack) vector = (int *) vptr; @@ -3345,7 +3345,7 @@ void lammps_gather_subset(void *handle, char *name, tagint id; // error if tags are not defined or not consecutive - + int flag = 0; if (lmp->atom->tag_enable == 0) flag = 1; if (lmp->atom->natoms > MAXSMALLINT) flag = 1; @@ -3358,7 +3358,7 @@ void lammps_gather_subset(void *handle, char *name, void *vptr = lmp->atom->extract(name); // fix - + if (vptr==nullptr && utils::strmatch(name,"^f_")) { fcid = lmp->modify->find_fix(&name[2]); @@ -3391,7 +3391,7 @@ void lammps_gather_subset(void *handle, char *name, } // compute - + if (vptr==nullptr && utils::strmatch(name,"^c_")) { fcid = lmp->modify->find_compute(&name[2]); @@ -3438,7 +3438,7 @@ void lammps_gather_subset(void *handle, char *name, "unknown property/atom id"); return; } - + if (ltype != type) { if (lmp->comm->me == 0) lmp->error->warning(FLERR,"lammps_gather_subset: " @@ -3529,7 +3529,7 @@ void lammps_gather_subset(void *handle, char *name, } else { double *vector = nullptr; double **array = nullptr; - + if (count == 1) vector = (double *) vptr; else array = (double **) vptr; @@ -3619,7 +3619,7 @@ void lammps_scatter(void *handle, char *name, int type, int count, void *data) void *vptr = lmp->atom->extract(name); // fix - + if (vptr==nullptr && utils::strmatch(name,"^f_")) { fcid = lmp->modify->find_fix(&name[2]); @@ -3647,7 +3647,7 @@ void lammps_scatter(void *handle, char *name, int type, int count, void *data) } // compute - + if (vptr==nullptr && utils::strmatch(name,"^c_")) { fcid = lmp->modify->find_compute(&name[2]); @@ -3679,7 +3679,7 @@ void lammps_scatter(void *handle, char *name, int type, int count, void *data) // custom fix property/atom vector or array // OLDSTYLE code - + if ((vptr == nullptr) && ((strstr(name,"d_") == name) || (strstr(name,"i_") == name) || (strstr(name,"d2_") == name) || (strstr(name,"i2_") == name))) { @@ -3693,7 +3693,7 @@ void lammps_scatter(void *handle, char *name, int type, int count, void *data) lmp->error->warning(FLERR,"lammps_scatter: unknown property/atom id"); return; } - + if (ltype != type) { if (lmp->comm->me == 0) lmp->error->warning(FLERR,"lammps_scatter: mismatch property/atom type"); @@ -3713,7 +3713,7 @@ void lammps_scatter(void *handle, char *name, int type, int count, void *data) if (count == 1) { if (ltype==0) vptr = (void *) lmp->atom->ivector[fcid]; else vptr = (void *) lmp->atom->dvector[fcid]; - } else { + } else { if (ltype==0) vptr = (void *) lmp->atom->iarray[fcid]; else vptr = (void *) lmp->atom->darray[fcid]; } @@ -3843,7 +3843,7 @@ void lammps_scatter_subset(void *handle, char *name,int type, int count, void *vptr = lmp->atom->extract(name); // fix - + if (vptr==nullptr && utils::strmatch(name,"^f_")) { fcid = lmp->modify->find_fix(&name[2]); @@ -3903,7 +3903,7 @@ void lammps_scatter_subset(void *handle, char *name,int type, int count, // custom fix property/atom vector or array // OLDSTYLE code - + if ((vptr == nullptr) && ((strstr(name,"d_") == name) || (strstr(name,"i_") == name) || (strstr(name,"d2_") == name) || (strstr(name,"i2_") == name))) { @@ -3918,7 +3918,7 @@ void lammps_scatter_subset(void *handle, char *name,int type, int count, "unknown property/atom id"); return; } - + if (ltype != type) { if (lmp->comm->me == 0) lmp->error->warning(FLERR,"lammps_scatter_subset: " @@ -3939,7 +3939,7 @@ void lammps_scatter_subset(void *handle, char *name,int type, int count, if (count == 1) { if (ltype==0) vptr = (void *) lmp->atom->ivector[fcid]; else vptr = (void *) lmp->atom->dvector[fcid]; - } else { + } else { if (ltype==0) vptr = (void *) lmp->atom->iarray[fcid]; else vptr = (void *) lmp->atom->darray[fcid]; } diff --git a/src/set.cpp b/src/set.cpp index 2a36874c8b..2966106345 100644 --- a/src/set.cpp +++ b/src/set.cpp @@ -581,7 +581,7 @@ void Set::command(int narg, char **arg) if (iarg+2 > narg) error->all(FLERR,"Illegal set command"); index_custom = atom->find_custom(argi.get_name(),flag,cols); if (index_custom < 0) error->all(FLERR,"Custom property {} does not exist",pname); - + switch (argi.get_type()) { case ArgInfo::INAME: @@ -1025,7 +1025,7 @@ void Set::set(int keyword) } // update bonus data numbers - + if (keyword == SHAPE) { bigint nlocal_bonus = avec_ellipsoid->nlocal_bonus; MPI_Allreduce(&nlocal_bonus,&atom->nellipsoids,1, diff --git a/src/utils.cpp b/src/utils.cpp index fd3170859b..5be2b37c34 100644 --- a/src/utils.cpp +++ b/src/utils.cpp @@ -633,15 +633,15 @@ int utils::expand_args(const char *file, int line, int narg, char **arg, int mod expandflag = 1; } } - + } else if (arg[iarg][0] == 'd') { *ptr1 = '\0'; int flag,cols; int icustom = lmp->atom->find_custom(&arg[iarg][3],flag,cols); *ptr1 = '['; - + // check for custom per-atom floating point array - + if (icustom >= 0) { if (mode == 1 && flag && cols) { nmax = cols; From 1e37d1ad7ff2a9beb8d9247072b2577d988315b4 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 18 Aug 2021 14:34:03 -0400 Subject: [PATCH 698/726] pretty --- src/atom.cpp | 32 ++++++++++++-------------------- 1 file changed, 12 insertions(+), 20 deletions(-) diff --git a/src/atom.cpp b/src/atom.cpp index c1cb9e011b..a0f7099319 100644 --- a/src/atom.cpp +++ b/src/atom.cpp @@ -2472,47 +2472,39 @@ int Atom::add_custom(const char *name, int flag, int cols) { int index; - if (flag == 0 && cols == 0) { + if ((flag == 0) && (cols == 0)) { index = nivector; nivector++; - ivname = (char **) memory->srealloc(ivname,nivector*sizeof(char *), - "atom:ivname"); + ivname = (char **) memory->srealloc(ivname,nivector*sizeof(char *),"atom:ivname"); ivname[index] = utils::strdup(name); - ivector = (int **) memory->srealloc(ivector,nivector*sizeof(int *), - "atom:ivector"); + ivector = (int **) memory->srealloc(ivector,nivector*sizeof(int *),"atom:ivector"); memory->create(ivector[index],nmax,"atom:ivector"); - } else if (flag == 1 && cols == 0) { + } else if ((flag == 1) && (cols == 0)) { index = ndvector; ndvector++; - dvname = (char **) memory->srealloc(dvname,ndvector*sizeof(char *), - "atom:dvname"); + dvname = (char **) memory->srealloc(dvname,ndvector*sizeof(char *),"atom:dvname"); dvname[index] = utils::strdup(name); - dvector = (double **) memory->srealloc(dvector,ndvector*sizeof(double *), - "atom:dvector"); + dvector = (double **) memory->srealloc(dvector,ndvector*sizeof(double *),"atom:dvector"); memory->create(dvector[index],nmax,"atom:dvector"); - } else if (flag == 0 && cols) { + } else if ((flag == 0) && (cols > 0)) { index = niarray; niarray++; - ianame = (char **) memory->srealloc(ianame,niarray*sizeof(char *), - "atom:ianame"); + ianame = (char **) memory->srealloc(ianame,niarray*sizeof(char *),"atom:ianame"); ianame[index] = utils::strdup(name); - iarray = (int ***) memory->srealloc(iarray,niarray*sizeof(int **), - "atom:iarray"); + iarray = (int ***) memory->srealloc(iarray,niarray*sizeof(int **),"atom:iarray"); memory->create(iarray[index],nmax,cols,"atom:iarray"); icols = (int *) memory->srealloc(icols,niarray*sizeof(int),"atom:icols"); icols[index] = cols; - } else if (flag == 1 && cols) { + } else if ((flag == 1) && (cols > 0)) { index = ndarray; ndarray++; - daname = (char **) memory->srealloc(daname,ndarray*sizeof(char *), - "atom:daname"); + daname = (char **) memory->srealloc(daname,ndarray*sizeof(char *),"atom:daname"); daname[index] = utils::strdup(name); - darray = (double ***) memory->srealloc(darray,ndarray*sizeof(double **), - "atom:darray"); + darray = (double ***) memory->srealloc(darray,ndarray*sizeof(double **),"atom:darray"); memory->create(darray[index],nmax,cols,"atom:darray"); dcols = (int *) memory->srealloc(dcols,ndarray*sizeof(int),"atom:dcols"); From 0a99d338f21b6cebee425a60feae9fc3427ab559 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 18 Aug 2021 14:35:02 -0400 Subject: [PATCH 699/726] update argument parsing --- src/fix_property_atom.cpp | 45 ++++++++++++++++++++++----------------- 1 file changed, 25 insertions(+), 20 deletions(-) diff --git a/src/fix_property_atom.cpp b/src/fix_property_atom.cpp index 7ec30025bc..2d122e9b03 100644 --- a/src/fix_property_atom.cpp +++ b/src/fix_property_atom.cpp @@ -112,24 +112,29 @@ FixPropertyAtom::FixPropertyAtom(LAMMPS *lmp, int narg, char **arg) : iarg++; // custom atom array - // OLDSTYLE code - } else if (strstr(arg[iarg],"i2_") == arg[iarg] || - strstr(arg[iarg],"d2_") == arg[iarg]) { + } else if (utils::strmatch(arg[iarg],"^[id]2_")) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix property/atom command"); - int which = 0; - if (arg[iarg][0] == 'd') which = 1; - if (which == 0) style[nvalue] = IARRAY; - else style[nvalue] = DARRAY; - int flag,ncols; - index[nvalue] = atom->find_custom(&arg[iarg][3],flag,ncols); - if (index[nvalue] >= 0) - error->all(FLERR,"Fix property/atom array name already exists"); - cols[nvalue] = utils::inumeric(FLERR,arg[iarg+1],true,lmp); - if (cols[nvalue] < 1) - error->all(FLERR,"Invalid array columns in fix property/atom"); - index[nvalue] = atom->add_custom(&arg[iarg][3],which,cols[nvalue]); - values_peratom += cols[nvalue]; + + int which,flag,ncols; + which = atom->find_custom(&arg[iarg][3],flag,ncols); + if (which >= 0) + error->all(FLERR,"Fix property/atom array name {} already exists", &arg[iarg][3]); + + ncols = utils::inumeric(FLERR,arg[iarg+1],true,lmp); + if (ncols < 1) + error->all(FLERR,"Invalid array columns number {} in fix property/atom", ncols); + + if (arg[iarg][0] == 'i') { + which = 0; + style[nvalue] = IARRAY; + } else { + which = 1; + style[nvalue] = DARRAY; + } + index[nvalue] = atom->add_custom(&arg[iarg][3],which,ncols); + cols[nvalue] = ncols; + values_peratom += ncols; nvalue++; iarg += 2; @@ -386,15 +391,15 @@ void FixPropertyAtom::write_data_section_pack(int /*mth*/, double **buf) int **iarray = atom->iarray[index[nv]]; ncol = cols[nv]; for (i = 0; i < nlocal; i++) - for (k = 0; k < ncol; k++) - buf[i][icol+k] = ubuf(iarray[i][k]).d; + for (k = 0; k < ncol; k++) + buf[i][icol+k] = ubuf(iarray[i][k]).d; icol += ncol; } else if (style[nv] == DARRAY) { double **darray = atom->darray[index[nv]]; ncol = cols[nv]; for (i = 0; i < nlocal; i++) - for (k = 0; k < ncol; k++) - buf[i][icol+k] = ubuf(darray[i][k]).d; + for (k = 0; k < ncol; k++) + buf[i][icol+k] = darray[i][k]; icol += ncol; } } From de61b3a547fa0267841e0548877339d26359b7a9 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 18 Aug 2021 14:35:27 -0400 Subject: [PATCH 700/726] update utils::expand_args --- src/utils.cpp | 79 ++++++++++++++++----------------------------------- 1 file changed, 24 insertions(+), 55 deletions(-) diff --git a/src/utils.cpp b/src/utils.cpp index 5be2b37c34..66d5bf2af2 100644 --- a/src/utils.cpp +++ b/src/utils.cpp @@ -214,7 +214,7 @@ char *utils::fgets_trunc(char *buf, int size, FILE *fp) void utils::sfgets(const char *srcname, int srcline, char *s, int size, FILE *fp, const char *filename, Error *error) { - constexpr int MAXPATHLENBUF=1024; + constexpr int MAXPATHLENBUF = 1024; char *rv = fgets(s, size, fp); if (rv == nullptr) { // something went wrong char buf[MAXPATHLENBUF]; @@ -243,7 +243,7 @@ void utils::sfgets(const char *srcname, int srcline, char *s, int size, FILE *fp void utils::sfread(const char *srcname, int srcline, void *s, size_t size, size_t num, FILE *fp, const char *filename, Error *error) { - constexpr int MAXPATHLENBUF=1024; + constexpr int MAXPATHLENBUF = 1024; size_t rv = fread(s, size, num, fp); if (rv != num) { // something went wrong char buf[MAXPATHLENBUF]; @@ -543,16 +543,21 @@ int utils::expand_args(const char *file, int line, int narg, char **arg, int mod std::string word(arg[iarg]); expandflag = 0; - // only match compute/fix reference with a '*' wildcard + // match compute, fix, or custom property array reference with a '*' wildcard // number range in the first pair of square brackets - if (strmatch(word, "^[cf]_\\w+\\[\\d*\\*\\d*\\]")) { + if (strmatch(word, "^[cf]_\\w+\\[\\d*\\*\\d*\\]") || + strmatch(word, "^[id]2_\\w+\\[\\d*\\*\\d*\\]")) { - // split off the compute/fix ID, the wildcard and trailing text + // split off the compute/fix/property ID, the wildcard and trailing text size_t first = word.find("["); size_t second = word.find("]", first + 1); - id = word.substr(2, first - 2); + if (word[1] == '2') + id = word.substr(3, first - 3); + else + id = word.substr(2, first - 2); + wc = word.substr(first + 1, second - first - 1); tail = word.substr(second + 1); @@ -580,7 +585,7 @@ int utils::expand_args(const char *file, int line, int narg, char **arg, int mod } } - // fix + // fix } else if (word[0] == 'f') { int ifix = lmp->modify->find_fix(id); @@ -609,59 +614,20 @@ int utils::expand_args(const char *file, int line, int narg, char **arg, int mod // only match custom array reference with a '*' wildcard // number range in the first pair of square brackets - // OLDSTYLE code - if (strncmp(arg[iarg],"i2_",3) == 0 || strncmp(arg[iarg],"d2_",3) == 0) { - char *ptr1 = strchr(arg[iarg],'['); - if (ptr1) { - char *ptr2 = strchr(ptr1,']'); - if (ptr2) { - *ptr2 = '\0'; - if (strchr(ptr1,'*')) { + if ((word[0] == 'i') || (word[0] == 'd')) { + int flag, cols; + int icustom = lmp->atom->find_custom(id.c_str(), flag, cols); - if (arg[iarg][0] == 'i') { - *ptr1 = '\0'; - int flag,cols; - int icustom = lmp->atom->find_custom(&arg[iarg][3],flag,cols); - *ptr1 = '['; + if ((icustom >= 0) && (mode == 1) && (cols > 0)) { - // check for custom per-atom integer array + // check for custom per-atom array - if (icustom >= 0) { - if (mode == 1 && !flag && cols) { - nmax = cols; - expandflag = 1; - } - } - - } else if (arg[iarg][0] == 'd') { - *ptr1 = '\0'; - int flag,cols; - int icustom = lmp->atom->find_custom(&arg[iarg][3],flag,cols); - *ptr1 = '['; - - // check for custom per-atom floating point array - - if (icustom >= 0) { - if (mode == 1 && flag && cols) { - nmax = cols; - expandflag = 1; - } - } - } - } + if (((word[0] == 'i') && (flag == 0)) || ((word[0] == 'i') && (flag == 1))) { + nmax = cols; + expandflag = 1; } } - - // split off the array name ID, the wildcard and trailing text - - if (expandflag) { - size_t first = word.find("["); - size_t second = word.find("]", first + 1); - id = word.substr(2, first - 2); - wc = word.substr(first + 1, second - first - 1); - tail = word.substr(second + 1); - } } // expansion will take place @@ -678,7 +644,10 @@ int utils::expand_args(const char *file, int line, int narg, char **arg, int mod for (int index = nlo; index <= nhi; index++) { // assemble and duplicate expanded string - earg[newarg] = utils::strdup(fmt::format("{}_{}[{}]{}", word[0], id, index, tail)); + if (word[1] == '2') + earg[newarg] = utils::strdup(fmt::format("{}2_{}[{}]{}", word[0], id, index, tail)); + else + earg[newarg] = utils::strdup(fmt::format("{}_{}[{}]{}", word[0], id, index, tail)); newarg++; } From cf25a586bd961c396f1e6c24e71b7bf3dbdd89c1 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Wed, 18 Aug 2021 13:07:49 -0600 Subject: [PATCH 701/726] debugging merged version --- doc/src/dump.rst | 33 +++++++++++++++++++-------------- src/dump_custom.cpp | 2 ++ src/utils.cpp | 6 +++--- 3 files changed, 24 insertions(+), 17 deletions(-) diff --git a/doc/src/dump.rst b/doc/src/dump.rst index 1b81e23e28..998498d1d4 100644 --- a/doc/src/dump.rst +++ b/doc/src/dump.rst @@ -569,10 +569,11 @@ Nprocs-1) that currently owns the atom. *Procp1* is the proc ID+1, which can be convenient in place of a *type* attribute (1 to Ntypes) for coloring atoms in a visualization program. *Type* is the atom type (1 to Ntypes). *Element* is typically the chemical name of an -element, which you must assign to each type via the :doc:`dump_modify element ` command. More generally, it can be any -string you wish to associated with an atom type. *Mass* is the atom -mass. *Vx*, *vy*, *vz*, *fx*, *fy*, *fz*, and *q* are components of -atom velocity and force and atomic charge. +element, which you must assign to each type via the :doc:`dump_modify +element ` command. More generally, it can be any string +you wish to associated with an atom type. *Mass* is the atom mass. +*Vx*, *vy*, *vz*, *fx*, *fy*, *fz*, and *q* are components of atom +velocity and force and atomic charge. There are several options for outputting atom coordinates. The *x*, *y*, *z* attributes write atom coordinates "unscaled", in the @@ -646,11 +647,12 @@ above for how I can be specified with a wildcard asterisk to effectively specify multiple values. The *f_ID* and *f_ID[I]* attributes allow vector or array per-atom -quantities calculated by a :doc:`fix ` to be output. The ID in the -attribute should be replaced by the actual ID of the fix that has been -defined previously in the input script. The :doc:`fix ave/atom ` command is one that calculates per-atom -quantities. Since it can time-average per-atom quantities produced by -any :doc:`compute `, :doc:`fix `, or atom-style +quantities calculated by a :doc:`fix ` to be output. The ID in +the attribute should be replaced by the actual ID of the fix that has +been defined previously in the input script. The :doc:`fix ave/atom +` command is one that calculates per-atom quantities. +Since it can time-average per-atom quantities produced by any +:doc:`compute `, :doc:`fix `, or atom-style :doc:`variable `, this allows those time-averaged results to be written to a dump file. @@ -667,10 +669,10 @@ should be replaced by the actual name of the variable that has been defined previously in the input script. Only an atom-style variable can be referenced, since it is the only style that generates per-atom values. Variables of style *atom* can reference individual atom -attributes, per-atom attributes, thermodynamic keywords, or -invoke other computes, fixes, or variables when they are evaluated, so -this is a very general means of creating quantities to output to a -dump file. +attributes, per-atom attributes, thermodynamic keywords, or invoke +other computes, fixes, or variables when they are evaluated, so this +is a very general means of creating quantities to output to a dump +file. The *i_name*, *d_name*, *i2_name*, *d2_name* attributes refer to per-atom integer and floating-point vectors or arrays that have been @@ -678,7 +680,10 @@ added via the :doc:`fix property/atom ` command. When that command is used specific names are given to each attribute which are the "name" portion of these keywords. For arrays *i2_name* and *d2_name*, the column of the array must also be included following -the name in brackets: e.g. d2_xyz[2], i2_mySpin[3]. +the name in brackets: e.g. d2_xyz[I], i2_mySpin[I], where I is in the +range from 1-M, where M is the number of columns in the custom array. +See the discussion above for how I can be specified with a wildcard +asterisk to effectively specify multiple values. See the :doc:`Modify ` page for information on how to add new compute and fix styles to LAMMPS to calculate per-atom quantities diff --git a/src/dump_custom.cpp b/src/dump_custom.cpp index 68a2ab4a57..e7ad930019 100644 --- a/src/dump_custom.cpp +++ b/src/dump_custom.cpp @@ -1554,6 +1554,8 @@ int DumpCustom::parse_fields(int narg, char **arg) n = atom->find_custom(name,flag,cols); + printf("NAME %s\n",name); + if (n < 0) error->all(FLERR,"Could not find custom per-atom property ID: {}", name); if (argindex[iarg] == 0) { diff --git a/src/utils.cpp b/src/utils.cpp index fd3170859b..d63cd1d1c4 100644 --- a/src/utils.cpp +++ b/src/utils.cpp @@ -693,9 +693,9 @@ int utils::expand_args(const char *file, int line, int narg, char **arg, int mod } } - //printf("NEWARG %d\n",newarg); - //for (int i = 0; i < newarg; i++) - // printf(" arg %d: %s\n",i,earg[i]); + printf("NEWARG %d\n",newarg); + for (int i = 0; i < newarg; i++) + printf(" arg %d: %s\n",i,earg[i]); return newarg; } From 104fa4624ec4cfa4dc9357ce976009d20e670b63 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 18 Aug 2021 18:04:44 -0400 Subject: [PATCH 702/726] correct utils::expand_args() --- src/utils.cpp | 70 +++++++++++++++++++++++++-------------------------- 1 file changed, 34 insertions(+), 36 deletions(-) diff --git a/src/utils.cpp b/src/utils.cpp index 66d5bf2af2..949d6d7793 100644 --- a/src/utils.cpp +++ b/src/utils.cpp @@ -609,56 +609,54 @@ int utils::expand_args(const char *file, int line, int narg, char **arg, int mod expandflag = 1; } } - } - } - // only match custom array reference with a '*' wildcard - // number range in the first pair of square brackets + // only match custom array reference with a '*' wildcard + // number range in the first pair of square brackets - if ((word[0] == 'i') || (word[0] == 'd')) { - int flag, cols; - int icustom = lmp->atom->find_custom(id.c_str(), flag, cols); + } else if ((word[0] == 'i') || (word[0] == 'd')) { + int flag, cols; + int icustom = lmp->atom->find_custom(id.c_str(), flag, cols); - if ((icustom >= 0) && (mode == 1) && (cols > 0)) { + if ((icustom >= 0) && (mode == 1) && (cols > 0)) { - // check for custom per-atom array + // check for custom per-atom array - if (((word[0] == 'i') && (flag == 0)) || ((word[0] == 'i') && (flag == 1))) { - nmax = cols; - expandflag = 1; + if (((word[0] == 'i') && (flag == 0)) || ((word[0] == 'd') && (flag == 1))) { + nmax = cols; + expandflag = 1; + } } } - } - // expansion will take place + // expansion will take place - if (expandflag) { + if (expandflag) { - // expand wild card string to nlo/nhi numbers - utils::bounds(file, line, wc, 1, nmax, nlo, nhi, lmp->error); + // expand wild card string to nlo/nhi numbers + utils::bounds(file, line, wc, 1, nmax, nlo, nhi, lmp->error); - if (newarg + nhi - nlo + 1 > maxarg) { - maxarg += nhi - nlo + 1; - earg = (char **) lmp->memory->srealloc(earg, maxarg * sizeof(char *), "input:earg"); - } + if (newarg + nhi - nlo + 1 > maxarg) { + maxarg += nhi - nlo + 1; + earg = (char **) lmp->memory->srealloc(earg, maxarg * sizeof(char *), "input:earg"); + } - for (int index = nlo; index <= nhi; index++) { - // assemble and duplicate expanded string - if (word[1] == '2') - earg[newarg] = utils::strdup(fmt::format("{}2_{}[{}]{}", word[0], id, index, tail)); - else - earg[newarg] = utils::strdup(fmt::format("{}_{}[{}]{}", word[0], id, index, tail)); + for (int index = nlo; index <= nhi; index++) { + // assemble and duplicate expanded string + if (word[1] == '2') + earg[newarg] = utils::strdup(fmt::format("{}2_{}[{}]{}", word[0], id, index, tail)); + else + earg[newarg] = utils::strdup(fmt::format("{}_{}[{}]{}", word[0], id, index, tail)); + newarg++; + } + } else { + // no expansion: duplicate original string + if (newarg == maxarg) { + maxarg++; + earg = (char **) lmp->memory->srealloc(earg, maxarg * sizeof(char *), "input:earg"); + } + earg[newarg] = utils::strdup(word); newarg++; } - - } else { - // no expansion: duplicate original string - if (newarg == maxarg) { - maxarg++; - earg = (char **) lmp->memory->srealloc(earg, maxarg * sizeof(char *), "input:earg"); - } - earg[newarg] = utils::strdup(word); - newarg++; } } From f6874af7e5cd21b2958bba3219a26e69334765fe Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 18 Aug 2021 18:05:36 -0400 Subject: [PATCH 703/726] pretty --- src/VTK/dump_vtk.cpp | 4 +- src/compute_property_atom.cpp | 141 ++++++++++++---------------------- src/modify.cpp | 15 ++-- 3 files changed, 54 insertions(+), 106 deletions(-) diff --git a/src/VTK/dump_vtk.cpp b/src/VTK/dump_vtk.cpp index f94a6957fb..f323ce820f 100644 --- a/src/VTK/dump_vtk.cpp +++ b/src/VTK/dump_vtk.cpp @@ -785,8 +785,8 @@ int DumpVTK::count() i = ATTRIBUTES + nfield + ithresh; iwhich = atom->find_custom(id_custom[field2index[i]],flag,cols) double **darray = atom->darray[iwhich]; - ptr = &darray[0][argindex[i]-1]; - nstride = atom->dcols[iwhich]; + ptr = &darray[0][argindex[i]-1]; + nstride = atom->dcols[iwhich]; } // unselect atoms that don't meet threshold criterion diff --git a/src/compute_property_atom.cpp b/src/compute_property_atom.cpp index e8e1293e28..190168db4b 100644 --- a/src/compute_property_atom.cpp +++ b/src/compute_property_atom.cpp @@ -122,262 +122,215 @@ ComputePropertyAtom::ComputePropertyAtom(LAMMPS *lmp, int narg, char **arg) : } else if (strcmp(arg[iarg],"q") == 0) { if (!atom->q_flag) - error->all(FLERR,"Compute property/atom for " - "atom property that isn't allocated"); + error->all(FLERR,"Compute property/atom for atom property that isn't allocated"); pack_choice[i] = &ComputePropertyAtom::pack_q; } else if (strcmp(arg[iarg],"mux") == 0) { if (!atom->mu_flag) - error->all(FLERR,"Compute property/atom for " - "atom property that isn't allocated"); + error->all(FLERR,"Compute property/atom for atom property that isn't allocated"); pack_choice[i] = &ComputePropertyAtom::pack_mux; } else if (strcmp(arg[iarg],"muy") == 0) { if (!atom->mu_flag) - error->all(FLERR,"Compute property/atom for " - "atom property that isn't allocated"); + error->all(FLERR,"Compute property/atom for atom property that isn't allocated"); pack_choice[i] = &ComputePropertyAtom::pack_muy; } else if (strcmp(arg[iarg],"muz") == 0) { if (!atom->mu_flag) - error->all(FLERR,"Compute property/atom for " - "atom property that isn't allocated"); + error->all(FLERR,"Compute property/atom for atom property that isn't allocated"); pack_choice[i] = &ComputePropertyAtom::pack_muz; } else if (strcmp(arg[iarg],"mu") == 0) { if (!atom->mu_flag) - error->all(FLERR,"Compute property/atom for " - "atom property that isn't allocated"); + error->all(FLERR,"Compute property/atom for atom property that isn't allocated"); pack_choice[i] = &ComputePropertyAtom::pack_mu; // pack magnetic variables } else if (strcmp(arg[iarg],"spx") == 0) { if (!atom->sp_flag) - error->all(FLERR,"Compute property/atom for " - "atom property that isn't allocated"); + error->all(FLERR,"Compute property/atom for atom property that isn't allocated"); pack_choice[i] = &ComputePropertyAtom::pack_spx; } else if (strcmp(arg[iarg],"spy") == 0) { if (!atom->sp_flag) - error->all(FLERR,"Compute property/atom for " - "atom property that isn't allocated"); + error->all(FLERR,"Compute property/atom for atom property that isn't allocated"); pack_choice[i] = &ComputePropertyAtom::pack_spy; } else if (strcmp(arg[iarg],"spz") == 0) { if (!atom->sp_flag) - error->all(FLERR,"Compute property/atom for " - "atom property that isn't allocated"); + error->all(FLERR,"Compute property/atom for atom property that isn't allocated"); pack_choice[i] = &ComputePropertyAtom::pack_spz; } else if (strcmp(arg[iarg],"sp") == 0) { if (!atom->sp_flag) - error->all(FLERR,"Compute property/atom for " - "atom property that isn't allocated"); + error->all(FLERR,"Compute property/atom for atom property that isn't allocated"); pack_choice[i] = &ComputePropertyAtom::pack_sp; } else if (strcmp(arg[iarg],"fmx") == 0) { if (!atom->sp_flag) - error->all(FLERR,"Compute property/atom for " - "atom property that isn't allocated"); + error->all(FLERR,"Compute property/atom for atom property that isn't allocated"); pack_choice[i] = &ComputePropertyAtom::pack_fmx; } else if (strcmp(arg[iarg],"fmy") == 0) { if (!atom->sp_flag) - error->all(FLERR,"Compute property/atom for " - "atom property that isn't allocated"); + error->all(FLERR,"Compute property/atom for atom property that isn't allocated"); pack_choice[i] = &ComputePropertyAtom::pack_fmy; } else if (strcmp(arg[iarg],"fmz") == 0) { if (!atom->sp_flag) - error->all(FLERR,"Compute property/atom for " - "atom property that isn't allocated"); + error->all(FLERR,"Compute property/atom for atom property that isn't allocated"); pack_choice[i] = &ComputePropertyAtom::pack_fmz; // bond count } else if (strcmp(arg[iarg],"nbonds") == 0) { if (!atom->molecule_flag) - error->all(FLERR,"Compute property/atom for " - "atom property that isn't allocated"); + error->all(FLERR,"Compute property/atom for atom property that isn't allocated"); pack_choice[i] = &ComputePropertyAtom::pack_nbonds; // finite-size particles } else if (strcmp(arg[iarg],"radius") == 0) { if (!atom->radius_flag) - error->all(FLERR,"Compute property/atom for " - "atom property that isn't allocated"); + error->all(FLERR,"Compute property/atom for atom property that isn't allocated"); pack_choice[i] = &ComputePropertyAtom::pack_radius; } else if (strcmp(arg[iarg],"diameter") == 0) { if (!atom->radius_flag) - error->all(FLERR,"Compute property/atom for " - "atom property that isn't allocated"); + error->all(FLERR,"Compute property/atom for atom property that isn't allocated"); pack_choice[i] = &ComputePropertyAtom::pack_diameter; } else if (strcmp(arg[iarg],"omegax") == 0) { if (!atom->omega_flag) - error->all(FLERR,"Compute property/atom for " - "atom property that isn't allocated"); + error->all(FLERR,"Compute property/atom for atom property that isn't allocated"); pack_choice[i] = &ComputePropertyAtom::pack_omegax; } else if (strcmp(arg[iarg],"omegay") == 0) { if (!atom->omega_flag) - error->all(FLERR,"Compute property/atom for " - "atom property that isn't allocated"); + error->all(FLERR,"Compute property/atom for atom property that isn't allocated"); pack_choice[i] = &ComputePropertyAtom::pack_omegay; } else if (strcmp(arg[iarg],"omegaz") == 0) { if (!atom->omega_flag) - error->all(FLERR,"Compute property/atom for " - "atom property that isn't allocated"); + error->all(FLERR,"Compute property/atom for atom property that isn't allocated"); pack_choice[i] = &ComputePropertyAtom::pack_omegaz; } else if (strcmp(arg[iarg],"angmomx") == 0) { if (!atom->angmom_flag) - error->all(FLERR,"Compute property/atom for " - "atom property that isn't allocated"); + error->all(FLERR,"Compute property/atom for atom property that isn't allocated"); pack_choice[i] = &ComputePropertyAtom::pack_angmomx; } else if (strcmp(arg[iarg],"angmomy") == 0) { if (!atom->angmom_flag) - error->all(FLERR,"Compute property/atom for " - "atom property that isn't allocated"); + error->all(FLERR,"Compute property/atom for atom property that isn't allocated"); pack_choice[i] = &ComputePropertyAtom::pack_angmomy; } else if (strcmp(arg[iarg],"angmomz") == 0) { if (!atom->angmom_flag) - error->all(FLERR,"Compute property/atom for " - "atom property that isn't allocated"); + error->all(FLERR,"Compute property/atom for atom property that isn't allocated"); pack_choice[i] = &ComputePropertyAtom::pack_angmomz; } else if (strcmp(arg[iarg],"shapex") == 0) { avec_ellipsoid = (AtomVecEllipsoid *) atom->style_match("ellipsoid"); - if (!avec_ellipsoid) error->all(FLERR,"Compute property/atom for " - "atom property that isn't allocated"); + if (!avec_ellipsoid) error->all(FLERR,"Compute property/atom for atom property that isn't allocated"); pack_choice[i] = &ComputePropertyAtom::pack_shapex; } else if (strcmp(arg[iarg],"shapey") == 0) { avec_ellipsoid = (AtomVecEllipsoid *) atom->style_match("ellipsoid"); - if (!avec_ellipsoid) error->all(FLERR,"Compute property/atom for " - "atom property that isn't allocated"); + if (!avec_ellipsoid) error->all(FLERR,"Compute property/atom for atom property that isn't allocated"); pack_choice[i] = &ComputePropertyAtom::pack_shapey; } else if (strcmp(arg[iarg],"shapez") == 0) { avec_ellipsoid = (AtomVecEllipsoid *) atom->style_match("ellipsoid"); - if (!avec_ellipsoid) error->all(FLERR,"Compute property/atom for " - "atom property that isn't allocated"); + if (!avec_ellipsoid) error->all(FLERR,"Compute property/atom for atom property that isn't allocated"); pack_choice[i] = &ComputePropertyAtom::pack_shapez; } else if (strcmp(arg[iarg],"quatw") == 0) { avec_ellipsoid = (AtomVecEllipsoid *) atom->style_match("ellipsoid"); avec_body = (AtomVecBody *) atom->style_match("body"); if (!avec_ellipsoid && !avec_body) - error->all(FLERR,"Compute property/atom for " - "atom property that isn't allocated"); + error->all(FLERR,"Compute property/atom for atom property that isn't allocated"); pack_choice[i] = &ComputePropertyAtom::pack_quatw; } else if (strcmp(arg[iarg],"quati") == 0) { avec_ellipsoid = (AtomVecEllipsoid *) atom->style_match("ellipsoid"); avec_body = (AtomVecBody *) atom->style_match("body"); if (!avec_ellipsoid && !avec_body) - error->all(FLERR,"Compute property/atom for " - "atom property that isn't allocated"); + error->all(FLERR,"Compute property/atom for atom property that isn't allocated"); pack_choice[i] = &ComputePropertyAtom::pack_quati; } else if (strcmp(arg[iarg],"quatj") == 0) { avec_ellipsoid = (AtomVecEllipsoid *) atom->style_match("ellipsoid"); avec_body = (AtomVecBody *) atom->style_match("body"); if (!avec_ellipsoid && !avec_body) - error->all(FLERR,"Compute property/atom for " - "atom property that isn't allocated"); + error->all(FLERR,"Compute property/atom for atom property that isn't allocated"); pack_choice[i] = &ComputePropertyAtom::pack_quatj; } else if (strcmp(arg[iarg],"quatk") == 0) { avec_ellipsoid = (AtomVecEllipsoid *) atom->style_match("ellipsoid"); avec_body = (AtomVecBody *) atom->style_match("body"); if (!avec_ellipsoid && !avec_body) - error->all(FLERR,"Compute property/atom for " - "atom property that isn't allocated"); + error->all(FLERR,"Compute property/atom for atom property that isn't allocated"); pack_choice[i] = &ComputePropertyAtom::pack_quatk; } else if (strcmp(arg[iarg],"tqx") == 0) { if (!atom->torque_flag) - error->all(FLERR,"Compute property/atom for " - "atom property that isn't allocated"); + error->all(FLERR,"Compute property/atom for atom property that isn't allocated"); pack_choice[i] = &ComputePropertyAtom::pack_tqx; } else if (strcmp(arg[iarg],"tqy") == 0) { if (!atom->torque_flag) - error->all(FLERR,"Compute property/atom for " - "atom property that isn't allocated"); + error->all(FLERR,"Compute property/atom for atom property that isn't allocated"); pack_choice[i] = &ComputePropertyAtom::pack_tqy; } else if (strcmp(arg[iarg],"tqz") == 0) { if (!atom->torque_flag) - error->all(FLERR,"Compute property/atom for " - "atom property that isn't allocated"); + error->all(FLERR,"Compute property/atom for atom property that isn't allocated"); pack_choice[i] = &ComputePropertyAtom::pack_tqz; } else if (strcmp(arg[iarg],"end1x") == 0) { avec_line = (AtomVecLine *) atom->style_match("line"); - if (!avec_line) error->all(FLERR,"Compute property/atom for " - "atom property that isn't allocated"); + if (!avec_line) error->all(FLERR,"Compute property/atom for atom property that isn't allocated"); pack_choice[i] = &ComputePropertyAtom::pack_end1x; } else if (strcmp(arg[iarg],"end1y") == 0) { avec_line = (AtomVecLine *) atom->style_match("line"); - if (!avec_line) error->all(FLERR,"Compute property/atom for " - "atom property that isn't allocated"); + if (!avec_line) error->all(FLERR,"Compute property/atom for atom property that isn't allocated"); pack_choice[i] = &ComputePropertyAtom::pack_end1y; } else if (strcmp(arg[iarg],"end1z") == 0) { avec_line = (AtomVecLine *) atom->style_match("line"); - if (!avec_line) error->all(FLERR,"Compute property/atom for " - "atom property that isn't allocated"); + if (!avec_line) error->all(FLERR,"Compute property/atom for atom property that isn't allocated"); pack_choice[i] = &ComputePropertyAtom::pack_end1z; } else if (strcmp(arg[iarg],"end2x") == 0) { avec_line = (AtomVecLine *) atom->style_match("line"); - if (!avec_line) error->all(FLERR,"Compute property/atom for " - "atom property that isn't allocated"); + if (!avec_line) error->all(FLERR,"Compute property/atom for atom property that isn't allocated"); pack_choice[i] = &ComputePropertyAtom::pack_end2x; } else if (strcmp(arg[iarg],"end2y") == 0) { avec_line = (AtomVecLine *) atom->style_match("line"); - if (!avec_line) error->all(FLERR,"Compute property/atom for " - "atom property that isn't allocated"); + if (!avec_line) error->all(FLERR,"Compute property/atom for atom property that isn't allocated"); pack_choice[i] = &ComputePropertyAtom::pack_end2y; } else if (strcmp(arg[iarg],"end2z") == 0) { avec_line = (AtomVecLine *) atom->style_match("line"); - if (!avec_line) error->all(FLERR,"Compute property/atom for " - "atom property that isn't allocated"); + if (!avec_line) error->all(FLERR,"Compute property/atom for atom property that isn't allocated"); pack_choice[i] = &ComputePropertyAtom::pack_end2z; } else if (strcmp(arg[iarg],"corner1x") == 0) { avec_tri = (AtomVecTri *) atom->style_match("tri"); - if (!avec_tri) error->all(FLERR,"Compute property/atom for " - "atom property that isn't allocated"); + if (!avec_tri) error->all(FLERR,"Compute property/atom for atom property that isn't allocated"); pack_choice[i] = &ComputePropertyAtom::pack_corner1x; } else if (strcmp(arg[iarg],"corner1y") == 0) { avec_tri = (AtomVecTri *) atom->style_match("tri"); - if (!avec_tri) error->all(FLERR,"Compute property/atom for " - "atom property that isn't allocated"); + if (!avec_tri) error->all(FLERR,"Compute property/atom for atom property that isn't allocated"); pack_choice[i] = &ComputePropertyAtom::pack_corner1y; } else if (strcmp(arg[iarg],"corner1z") == 0) { avec_tri = (AtomVecTri *) atom->style_match("tri"); - if (!avec_tri) error->all(FLERR,"Compute property/atom for " - "atom property that isn't allocated"); + if (!avec_tri) error->all(FLERR,"Compute property/atom for atom property that isn't allocated"); pack_choice[i] = &ComputePropertyAtom::pack_corner1z; } else if (strcmp(arg[iarg],"corner2x") == 0) { avec_tri = (AtomVecTri *) atom->style_match("tri"); - if (!avec_tri) error->all(FLERR,"Compute property/atom for " - "atom property that isn't allocated"); + if (!avec_tri) error->all(FLERR,"Compute property/atom for atom property that isn't allocated"); pack_choice[i] = &ComputePropertyAtom::pack_corner2x; } else if (strcmp(arg[iarg],"corner2y") == 0) { avec_tri = (AtomVecTri *) atom->style_match("tri"); - if (!avec_tri) error->all(FLERR,"Compute property/atom for " - "atom property that isn't allocated"); + if (!avec_tri) error->all(FLERR,"Compute property/atom for atom property that isn't allocated"); pack_choice[i] = &ComputePropertyAtom::pack_corner2y; } else if (strcmp(arg[iarg],"corner2z") == 0) { avec_tri = (AtomVecTri *) atom->style_match("tri"); - if (!avec_tri) error->all(FLERR,"Compute property/atom for " - "atom property that isn't allocated"); + if (!avec_tri) error->all(FLERR,"Compute property/atom for atom property that isn't allocated"); pack_choice[i] = &ComputePropertyAtom::pack_corner2z; } else if (strcmp(arg[iarg],"corner3x") == 0) { avec_tri = (AtomVecTri *) atom->style_match("tri"); - if (!avec_tri) error->all(FLERR,"Compute property/atom for " - "atom property that isn't allocated"); + if (!avec_tri) error->all(FLERR,"Compute property/atom for atom property that isn't allocated"); pack_choice[i] = &ComputePropertyAtom::pack_corner3x; } else if (strcmp(arg[iarg],"corner3y") == 0) { avec_tri = (AtomVecTri *) atom->style_match("tri"); - if (!avec_tri) error->all(FLERR,"Compute property/atom for " - "atom property that isn't allocated"); + if (!avec_tri) error->all(FLERR,"Compute property/atom for atom property that isn't allocated"); pack_choice[i] = &ComputePropertyAtom::pack_corner3y; } else if (strcmp(arg[iarg],"corner3z") == 0) { avec_tri = (AtomVecTri *) atom->style_match("tri"); - if (!avec_tri) error->all(FLERR,"Compute property/atom for " - "atom property that isn't allocated"); + if (!avec_tri) error->all(FLERR,"Compute property/atom for atom property that isn't allocated"); pack_choice[i] = &ComputePropertyAtom::pack_corner3z; } else if (strcmp(arg[iarg],"nbonds") == 0) { if (!atom->molecule_flag) - error->all(FLERR,"Compute property/atom for " - "atom property that isn't allocated"); + error->all(FLERR,"Compute property/atom for atom property that isn't allocated"); pack_choice[i] = &ComputePropertyAtom::pack_nbonds; // custom per-atom vector diff --git a/src/modify.cpp b/src/modify.cpp index 995b3b82ac..eff6ea8337 100644 --- a/src/modify.cpp +++ b/src/modify.cpp @@ -223,16 +223,11 @@ void Modify::init() list_init_energy_global(n_energy_global,list_energy_global); list_init_energy_atom(n_energy_atom,list_energy_atom); - list_init(INITIAL_INTEGRATE_RESPA, - n_initial_integrate_respa,list_initial_integrate_respa); - list_init(POST_INTEGRATE_RESPA, - n_post_integrate_respa,list_post_integrate_respa); - list_init(POST_FORCE_RESPA, - n_post_force_respa,list_post_force_respa); - list_init(PRE_FORCE_RESPA, - n_pre_force_respa,list_pre_force_respa); - list_init(FINAL_INTEGRATE_RESPA, - n_final_integrate_respa,list_final_integrate_respa); + list_init(INITIAL_INTEGRATE_RESPA,n_initial_integrate_respa,list_initial_integrate_respa); + list_init(POST_INTEGRATE_RESPA,n_post_integrate_respa,list_post_integrate_respa); + list_init(POST_FORCE_RESPA,n_post_force_respa,list_post_force_respa); + list_init(PRE_FORCE_RESPA,n_pre_force_respa,list_pre_force_respa); + list_init(FINAL_INTEGRATE_RESPA,n_final_integrate_respa,list_final_integrate_respa); list_init(MIN_PRE_EXCHANGE,n_min_pre_exchange,list_min_pre_exchange); list_init(MIN_PRE_NEIGHBOR,n_min_pre_neighbor,list_min_pre_neighbor); From b19a211d701685390d33e4603f9f06dd674d91ee Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 18 Aug 2021 18:06:21 -0400 Subject: [PATCH 704/726] update code --- src/atom.cpp | 14 +--- src/compute_property_atom.cpp | 84 ++++++++++--------- src/library.cpp | 148 +++++++++++++--------------------- 3 files changed, 101 insertions(+), 145 deletions(-) diff --git a/src/atom.cpp b/src/atom.cpp index a0f7099319..ab044b6c47 100644 --- a/src/atom.cpp +++ b/src/atom.cpp @@ -2774,13 +2774,10 @@ void *Atom::extract(const char *name) // -------------------------------------------------------------------- // custom vectors and arrays - // OLDSTYLE code - if (strstr(name,"i_") == name || strstr(name,"d_") == name || - strstr(name,"i2_") == name || strstr(name,"d2_") == name) { - int which = 0; + if (utils::strmatch(name,"^[id]2?_")) { + int which = 0, array = 0; if (name[0] == 'd') which = 1; - int array = 0; if (name[1] == '2') array = 1; int index,flag,cols; @@ -2897,13 +2894,10 @@ int Atom::extract_datatype(const char *name) // -------------------------------------------------------------------- // custom vectors and arrays - // OLDSTYLE code - if (strstr(name,"i_") == name || strstr(name,"d_") == name || - strstr(name,"i2_") == name || strstr(name,"d2_") == name) { - int which = 0; + if (utils::strmatch(name,"^[id]2?_")) { + int which = 0, array = 0; if (name[0] == 'd') which = 1; - int array = 0; if (name[1] == '2') array = 1; int index,flag,cols; diff --git a/src/compute_property_atom.cpp b/src/compute_property_atom.cpp index 190168db4b..d4cec70fe4 100644 --- a/src/compute_property_atom.cpp +++ b/src/compute_property_atom.cpp @@ -14,6 +14,7 @@ #include "compute_property_atom.h" +#include "arg_info.h" #include "atom.h" #include "atom_vec.h" #include "atom_vec_body.h" @@ -333,55 +334,52 @@ ComputePropertyAtom::ComputePropertyAtom(LAMMPS *lmp, int narg, char **arg) : error->all(FLERR,"Compute property/atom for atom property that isn't allocated"); pack_choice[i] = &ComputePropertyAtom::pack_nbonds; - // custom per-atom vector + // custom per-atom vector or array - } else if (utils::strmatch(arg[iarg],"^i_")) { + } else if (utils::strmatch(arg[iarg],"^[id]2?_")) { int flag,cols; - index[i] = atom->find_custom(&arg[iarg][2],flag,cols); - if (index[i] < 0 || flag || cols) - error->all(FLERR,"Compute property/atom integer " - "vector does not exist"); - pack_choice[i] = &ComputePropertyAtom::pack_iname; + ArgInfo argi(arg[iarg], ArgInfo::INAME| ArgInfo::DNAME); + const char *pname = argi.get_name(); - } else if (utils::strmatch(arg[iarg],"^d_")) { - int flag,cols; - index[i] = atom->find_custom(&arg[iarg][2],flag,cols); - if (index[i] < 0 || flag || cols) - error->all(FLERR,"Compute property/atom floating point " - "vector does not exist"); - pack_choice[i] = &ComputePropertyAtom::pack_dname; + index[i] = atom->find_custom(pname,flag,cols); + if (index[i] < 0) + error->all(FLERR,"Compute property/atom property {} does not exist", pname); - // custom per-atom arrays, must include bracketed index - // OLDSTYLE code + // handle vectors + if ((cols == 0) && (arg[iarg][1] == '_')) { + if (argi.get_dim() != 0) + error->all(FLERR,"Compute property/atom custom vector {} is incorrectly indexed",pname); - } else if (strstr(arg[iarg],"i2_") == arg[iarg] || - strstr(arg[iarg],"d2_") == arg[iarg]) { - int which = 0; - if (arg[iarg][0] == 'd') which = 1; + if (arg[iarg][0] == 'i') { + if (argi.get_type() == ArgInfo::INAME) + pack_choice[i] = &ComputePropertyAtom::pack_iname; + else + error->all(FLERR,"Compute property/atom integer vector {} does not exist",pname); + } else if (arg[iarg][0] == 'd') { + if (argi.get_type() == ArgInfo::DNAME) + pack_choice[i] = &ComputePropertyAtom::pack_dname; + else + error->all(FLERR,"Compute property/atom floating-point vector {} does not exist",pname); + } + } + // handle arrays + else if ((cols > 0) && (arg[iarg][1] == '2')) { + if (argi.get_dim() != 1) + error->all(FLERR,"Compute property/atom custom array {} is not indexed",pname); + colindex[i] = argi.get_index1(); - int n = strlen(arg[iarg]); - char *suffix = new char[n]; - strcpy(suffix,&arg[iarg][3]); - - char *ptr = strchr(suffix,'['); - if (ptr) { - if (suffix[strlen(suffix)-1] != ']') - error->all(FLERR,"Invalid attribute in set command"); - suffix[strlen(suffix)-1] = '\0'; - colindex[i] = utils::inumeric(FLERR,ptr+1,true,lmp); - *ptr = '\0'; - } else error->all(FLERR,"Compute property/atom custom array is not indexed"); - - int flag,cols; - index[i] = atom->find_custom(suffix,flag,cols); - delete [] suffix; - - if ((!which && (index[i] < 0 || flag || !cols)) || - (which && (index[i] < 0 || !flag || !cols))) - error->all(FLERR,"Compute property/atom custom array does not exist"); - - if (!which) pack_choice[i] = &ComputePropertyAtom::pack_i2name; - else pack_choice[i] = &ComputePropertyAtom::pack_d2name; + if (arg[iarg][0] == 'i') { + if (argi.get_type() == ArgInfo::INAME) + pack_choice[i] = &ComputePropertyAtom::pack_i2name; + else + error->all(FLERR,"Compute property/atom integer array {} does not exist",pname); + } else if (arg[iarg][0] == 'd') { + if (argi.get_type() == ArgInfo::DNAME) + pack_choice[i] = &ComputePropertyAtom::pack_d2name; + else + error->all(FLERR,"Compute property/atom floating-point array {} does not exist",pname); + } + } else error->all(FLERR,"Inconsistent request for custom property {}", pname); // anything else must be recognized by atom style diff --git a/src/library.cpp b/src/library.cpp index 1397cf889e..db609351f7 100644 --- a/src/library.cpp +++ b/src/library.cpp @@ -2829,7 +2829,7 @@ void lammps_gather(void *handle, char *name, int type, int count, void *data) { #if defined(LAMMPS_BIGBIG) lmp->error->all(FLERR,"Library function lammps_gather" - " not compatible with -DLAMMPS_BIGBIG"); + " not compatible with -DLAMMPS_BIGBIG"); #else int i,j,offset,fcid,ltype,icol; @@ -2915,14 +2915,10 @@ void lammps_gather(void *handle, char *name, int type, int count, void *data) } // custom fix property/atom vector or array - // OLDSTYLE code - if ((vptr == nullptr) && - ((strstr(name,"d_") == name) || (strstr(name,"i_") == name) || - (strstr(name,"d2_") == name) || (strstr(name,"i2_") == name))) { + if ((vptr == nullptr) && utils::strmatch(name,"^[id]2?_")) { - if ((strstr(name,"d_") == name) || (strstr(name,"i_") == name)) - fcid = lmp->atom->find_custom(&name[2],ltype,icol); + if (utils::strmatch(name,"^[id]_")) fcid = lmp->atom->find_custom(&name[2],ltype,icol); else fcid = lmp->atom->find_custom(&name[3],ltype,icol); if (fcid < 0) { @@ -2948,11 +2944,11 @@ void lammps_gather(void *handle, char *name, int type, int count, void *data) } if (count == 1) { - if (ltype==0) vptr = (void *) lmp->atom->ivector[fcid]; - else vptr = (void *) lmp->atom->dvector[fcid]; + if (ltype==0) vptr = (void *) lmp->atom->ivector[fcid]; + else vptr = (void *) lmp->atom->dvector[fcid]; } else { - if (ltype==0) vptr = (void *) lmp->atom->iarray[fcid]; - else vptr = (void *) lmp->atom->darray[fcid]; + if (ltype==0) vptr = (void *) lmp->atom->iarray[fcid]; + else vptr = (void *) lmp->atom->darray[fcid]; } } @@ -2960,7 +2956,7 @@ void lammps_gather(void *handle, char *name, int type, int count, void *data) if (vptr == nullptr) { if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather: undefined property name"); + lmp->error->warning(FLERR,"lammps_gather: undefined property name"); return; } @@ -3104,20 +3100,17 @@ void lammps_gather_concat(void *handle, char *name, int type, int count, void *d if (lmp->modify->fix[fcid]->peratom_flag == 0) { if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather_concat:" - " fix does not return peratom data"); + lmp->error->warning(FLERR,"lammps_gather_concat: fix does not return peratom data"); return; } if (count>1 && lmp->modify->fix[fcid]->size_peratom_cols != count) { if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather_concat:" - " count != values peratom for fix"); + lmp->error->warning(FLERR,"lammps_gather_concat: count != values peratom for fix"); return; } if (lmp->update->ntimestep % lmp->modify->fix[fcid]->peratom_freq) { if (lmp->comm->me == 0) - lmp->error->all(FLERR,"lammps_gather_concat:" - " fix not computed at compatible time"); + lmp->error->all(FLERR,"lammps_gather_concat: fix not computed at compatible time"); return; } @@ -3138,14 +3131,12 @@ void lammps_gather_concat(void *handle, char *name, int type, int count, void *d if (lmp->modify->compute[fcid]->peratom_flag == 0) { if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather_concat:" - " compute does not return peratom data"); + lmp->error->warning(FLERR,"lammps_gather_concat: compute does not return peratom data"); return; } if (count>1 && lmp->modify->compute[fcid]->size_peratom_cols != count) { if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather_concat:" - " count != values peratom for compute"); + lmp->error->warning(FLERR,"lammps_gather_concat: count != values peratom for compute"); return; } @@ -3157,48 +3148,40 @@ void lammps_gather_concat(void *handle, char *name, int type, int count, void *d } // custom per-atom vector or array - // OLDSTYLE code - if ((vptr==nullptr) && - ((strstr(name,"d_") == name) || (strstr(name,"i_") == name) || - (strstr(name,"d2_") == name) || (strstr(name,"i2_") == name))) { + if ((vptr==nullptr) && utils::strmatch(name,"^[id]2?_")) { - if ((strstr(name,"d_") == name) || (strstr(name,"i_") == name)) - fcid = lmp->atom->find_custom(&name[2],ltype,icol); + if (utils::strmatch(name,"^[id]_")) fcid = lmp->atom->find_custom(&name[2],ltype,icol); else fcid = lmp->atom->find_custom(&name[3],ltype,icol); if (fcid < 0) { if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather_concat: " - "unknown property/atom id"); + lmp->error->warning(FLERR,"lammps_gather_concat: unknown property/atom id"); return; } if (ltype != type) { if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather_concat: " - "mismatch property/atom type"); + lmp->error->warning(FLERR,"lammps_gather_concat: mismatch property/atom type"); return; } if (count == 1 && icol != 0) { if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather_concat: " - "mismatch property/atom count"); + lmp->error->warning(FLERR,"lammps_gather_concat: mismatch property/atom count"); return; } if (count > 1 && icol != count) { if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather_concat: " - "mismatch property/atom count"); + lmp->error->warning(FLERR,"lammps_gather_concat: mismatch property/atom count"); return; } if (count == 1) { - if (ltype==0) vptr = (void *) lmp->atom->ivector[fcid]; - else vptr = (void *) lmp->atom->dvector[fcid]; + if (ltype==0) vptr = (void *) lmp->atom->ivector[fcid]; + else vptr = (void *) lmp->atom->dvector[fcid]; } else { - if (ltype==0) vptr = (void *) lmp->atom->iarray[fcid]; - else vptr = (void *) lmp->atom->darray[fcid]; + if (ltype==0) vptr = (void *) lmp->atom->iarray[fcid]; + else vptr = (void *) lmp->atom->darray[fcid]; } } @@ -3206,7 +3189,7 @@ void lammps_gather_concat(void *handle, char *name, int type, int count, void *d if (vptr == nullptr) { if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather_concat: undefined property name"); + lmp->error->warning(FLERR,"lammps_gather_concat: undefined property name"); return; } @@ -3375,14 +3358,12 @@ void lammps_gather_subset(void *handle, char *name, return; } if (count>1 && lmp->modify->fix[fcid]->size_peratom_cols != count) { - lmp->error->warning(FLERR,"lammps_gather_subset:" - " count != values peratom for fix"); + lmp->error->warning(FLERR,"lammps_gather_subset: count != values peratom for fix"); return; } if (lmp->update->ntimestep % lmp->modify->fix[fcid]->peratom_freq) { if (lmp->comm->me == 0) - lmp->error->all(FLERR,"lammps_gather_subset:" - " fix not computed at compatible time"); + lmp->error->all(FLERR,"lammps_gather_subset: fix not computed at compatible time"); return; } @@ -3403,14 +3384,12 @@ void lammps_gather_subset(void *handle, char *name, if (lmp->modify->compute[fcid]->peratom_flag == 0) { if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather_subset:" - " compute does not return peratom data"); + lmp->error->warning(FLERR,"lammps_gather_subset: compute does not return peratom data"); return; } if (count>1 && lmp->modify->compute[fcid]->size_peratom_cols != count) { if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather_subset:" - " count != values peratom for compute"); + lmp->error->warning(FLERR,"lammps_gather_subset: count != values peratom for compute"); return; } @@ -3422,48 +3401,41 @@ void lammps_gather_subset(void *handle, char *name, } // custom fix property/atom vector or array - // OLDSTYLE code - if ((vptr == nullptr) && - ((strstr(name,"d_") == name) || (strstr(name,"i_") == name) || - (strstr(name,"d2_") == name) || (strstr(name,"i2_") == name))) { + if ((vptr == nullptr) && utils::strmatch(name,"^[id]2?_")) { - if ((strstr(name,"d_") == name) || (strstr(name,"i_") == name)) - fcid = lmp->atom->find_custom(&name[2],ltype,icol); + if (utils::strmatch(name,"^[id]_")) + fcid = lmp->atom->find_custom(&name[2],ltype,icol); else fcid = lmp->atom->find_custom(&name[3],ltype,icol); if (fcid < 0) { if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather_subset: " - "unknown property/atom id"); + lmp->error->warning(FLERR,"lammps_gather_subset: unknown property/atom id"); return; } if (ltype != type) { if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather_subset: " - "mismatch property/atom type"); + lmp->error->warning(FLERR,"lammps_gather_subset: mismatch property/atom type"); return; } if (count == 1 && icol != 0) { if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather_subset: " - "mismatch property/atom count"); + lmp->error->warning(FLERR,"lammps_gather_subset: mismatch property/atom count"); return; } if (count > 1 && icol != count) { if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather_subset: " - "mismatch property/atom count"); + lmp->error->warning(FLERR,"lammps_gather_subset: mismatch property/atom count"); return; } if (count == 1) { - if (ltype==0) vptr = (void *) lmp->atom->ivector[fcid]; - else vptr = (void *) lmp->atom->dvector[fcid]; + if (ltype==0) vptr = (void *) lmp->atom->ivector[fcid]; + else vptr = (void *) lmp->atom->dvector[fcid]; } else { - if (ltype==0) vptr = (void *) lmp->atom->iarray[fcid]; - else vptr = (void *) lmp->atom->darray[fcid]; + if (ltype==0) vptr = (void *) lmp->atom->iarray[fcid]; + else vptr = (void *) lmp->atom->darray[fcid]; } } @@ -3471,7 +3443,7 @@ void lammps_gather_subset(void *handle, char *name, if (vptr == nullptr) { if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather_subset: undefined property name"); + lmp->error->warning(FLERR,"lammps_gather_subset: undefined property name"); return; } @@ -3678,14 +3650,11 @@ void lammps_scatter(void *handle, char *name, int type, int count, void *data) } // custom fix property/atom vector or array - // OLDSTYLE code - if ((vptr == nullptr) && - ((strstr(name,"d_") == name) || (strstr(name,"i_") == name) || - (strstr(name,"d2_") == name) || (strstr(name,"i2_") == name))) { + if ((vptr == nullptr) && utils::strmatch(name,"^[id]2?_")) { - if ((strstr(name,"d_") == name) || (strstr(name,"i_") == name)) - fcid = lmp->atom->find_custom(&name[2],ltype,icol); + if (utils::strmatch(name,"^[id]_")) + fcid = lmp->atom->find_custom(&name[2],ltype,icol); else fcid = lmp->atom->find_custom(&name[3],ltype,icol); if (fcid < 0) { @@ -3711,11 +3680,11 @@ void lammps_scatter(void *handle, char *name, int type, int count, void *data) } if (count == 1) { - if (ltype==0) vptr = (void *) lmp->atom->ivector[fcid]; - else vptr = (void *) lmp->atom->dvector[fcid]; + if (ltype==0) vptr = (void *) lmp->atom->ivector[fcid]; + else vptr = (void *) lmp->atom->dvector[fcid]; } else { - if (ltype==0) vptr = (void *) lmp->atom->iarray[fcid]; - else vptr = (void *) lmp->atom->darray[fcid]; + if (ltype==0) vptr = (void *) lmp->atom->iarray[fcid]; + else vptr = (void *) lmp->atom->darray[fcid]; } } @@ -3902,27 +3871,22 @@ void lammps_scatter_subset(void *handle, char *name,int type, int count, } // custom fix property/atom vector or array - // OLDSTYLE code - if ((vptr == nullptr) && - ((strstr(name,"d_") == name) || (strstr(name,"i_") == name) || - (strstr(name,"d2_") == name) || (strstr(name,"i2_") == name))) { + if ((vptr == nullptr) && utils::strmatch(name,"^[id]2?_")) { - if ((strstr(name,"d_") == name) || (strstr(name,"i_") == name)) - fcid = lmp->atom->find_custom(&name[2],ltype,icol); + if (utils::strmatch(name,"^[id]_")) + fcid = lmp->atom->find_custom(&name[2],ltype,icol); else fcid = lmp->atom->find_custom(&name[3],ltype,icol); if (fcid < 0) { if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_scatter_subset: " - "unknown property/atom id"); + lmp->error->warning(FLERR,"lammps_scatter_subset: unknown property/atom id"); return; } if (ltype != type) { if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_scatter_subset: " - "mismatch property/atom type"); + lmp->error->warning(FLERR,"lammps_scatter_subset: mismatch property/atom type"); return; } if (count == 1 && icol != 0) { @@ -3937,11 +3901,11 @@ void lammps_scatter_subset(void *handle, char *name,int type, int count, } if (count == 1) { - if (ltype==0) vptr = (void *) lmp->atom->ivector[fcid]; - else vptr = (void *) lmp->atom->dvector[fcid]; + if (ltype==0) vptr = (void *) lmp->atom->ivector[fcid]; + else vptr = (void *) lmp->atom->dvector[fcid]; } else { - if (ltype==0) vptr = (void *) lmp->atom->iarray[fcid]; - else vptr = (void *) lmp->atom->darray[fcid]; + if (ltype==0) vptr = (void *) lmp->atom->iarray[fcid]; + else vptr = (void *) lmp->atom->darray[fcid]; } } From 546c9a109ebdf7ec280bea8985e03faede042107 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 18 Aug 2021 20:25:49 -0400 Subject: [PATCH 705/726] fix uninitialized data bug --- src/fix_property_atom.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/fix_property_atom.cpp b/src/fix_property_atom.cpp index 2d122e9b03..0744aca7b2 100644 --- a/src/fix_property_atom.cpp +++ b/src/fix_property_atom.cpp @@ -93,11 +93,12 @@ FixPropertyAtom::FixPropertyAtom(LAMMPS *lmp, int narg, char **arg) : } else if (utils::strmatch(arg[iarg],"^i_")) { style[nvalue] = IVEC; - int flag,cols; - index[nvalue] = atom->find_custom(&arg[iarg][2],flag,cols); + int flag,ncols; + index[nvalue] = atom->find_custom(&arg[iarg][2],flag,ncols); if (index[nvalue] >= 0) error->all(FLERR,"Fix property/atom vector name already exists"); index[nvalue] = atom->add_custom(&arg[iarg][2],0,0); + cols[nvalue] = 0; nvalue++; iarg++; @@ -108,6 +109,7 @@ FixPropertyAtom::FixPropertyAtom(LAMMPS *lmp, int narg, char **arg) : if (index[nvalue] >= 0) error->all(FLERR,"Fix property/atom vector name already exists"); index[nvalue] = atom->add_custom(&arg[iarg][2],1,0); + cols[nvalue] = 0; nvalue++; iarg++; From d9f3745effafa22f633aa9a383b84a9f4f226af1 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 18 Aug 2021 20:26:01 -0400 Subject: [PATCH 706/726] pretty --- src/dump_custom.cpp | 9 +++------ src/fix_property_atom.cpp | 6 ++---- 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/src/dump_custom.cpp b/src/dump_custom.cpp index 3aac7a3e79..3f70d242b1 100644 --- a/src/dump_custom.cpp +++ b/src/dump_custom.cpp @@ -1532,15 +1532,12 @@ int DumpCustom::parse_fields(int narg, char **arg) error->all(FLERR,"Could not find custom per-atom property ID: {}", name); if (argindex[iarg] == 0) { if (!flag || cols) - error->all(FLERR, - "Property double vector for dump custom does not exist"); + error->all(FLERR,"Property double vector for dump custom does not exist"); } else { if (!flag || !cols) - error->all(FLERR, - "Property double array for dump custom does not exist"); + error->all(FLERR,"Property double array for dump custom does not exist"); if (argindex[iarg] > atom->dcols[n]) - error->all(FLERR, - "Dump custom property array is accessed out-of-range"); + error->all(FLERR,"Dump custom property array is accessed out-of-range"); } field2index[iarg] = add_custom(name,1); diff --git a/src/fix_property_atom.cpp b/src/fix_property_atom.cpp index 0744aca7b2..761f8264d3 100644 --- a/src/fix_property_atom.cpp +++ b/src/fix_property_atom.cpp @@ -66,8 +66,7 @@ FixPropertyAtom::FixPropertyAtom(LAMMPS *lmp, int narg, char **arg) : iarg++; } else if (strcmp(arg[iarg],"q") == 0) { if (atom->q_flag) - error->all(FLERR,"Fix property/atom q when atom_style " - "already has charge attribute"); + error->all(FLERR,"Fix property/atom q when atom_style already has charge attribute"); if (q_flag) error->all(FLERR,"Fix property/atom cannot specify q twice"); style[nvalue] = CHARGE; @@ -78,8 +77,7 @@ FixPropertyAtom::FixPropertyAtom(LAMMPS *lmp, int narg, char **arg) : iarg++; } else if (strcmp(arg[iarg],"rmass") == 0) { if (atom->rmass_flag) - error->all(FLERR,"Fix property/atom rmass when atom_style " - "already has rmass attribute"); + error->all(FLERR,"Fix property/atom rmass when atom_style already has rmass attribute"); if (rmass_flag) error->all(FLERR,"Fix property/atom cannot specify rmass twice"); style[nvalue] = RMASS; From 04b0f98a5f040598034b1a87ab5cf1a3e7e38e66 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 18 Aug 2021 20:26:51 -0400 Subject: [PATCH 707/726] fix logic bug in utils::expand_args() --- src/utils.cpp | 42 +++++++++++++++++++----------------------- 1 file changed, 19 insertions(+), 23 deletions(-) diff --git a/src/utils.cpp b/src/utils.cpp index 949d6d7793..528908807c 100644 --- a/src/utils.cpp +++ b/src/utils.cpp @@ -627,36 +627,32 @@ int utils::expand_args(const char *file, int line, int narg, char **arg, int mod } } } + } - // expansion will take place + // expansion will take place - if (expandflag) { + if (expandflag) { - // expand wild card string to nlo/nhi numbers - utils::bounds(file, line, wc, 1, nmax, nlo, nhi, lmp->error); + // expand wild card string to nlo/nhi numbers + utils::bounds(file, line, wc, 1, nmax, nlo, nhi, lmp->error); - if (newarg + nhi - nlo + 1 > maxarg) { - maxarg += nhi - nlo + 1; - earg = (char **) lmp->memory->srealloc(earg, maxarg * sizeof(char *), "input:earg"); - } + if (newarg + nhi - nlo + 1 > maxarg) { + maxarg += nhi - nlo + 1; + earg = (char **) lmp->memory->srealloc(earg, maxarg * sizeof(char *), "input:earg"); + } - for (int index = nlo; index <= nhi; index++) { - // assemble and duplicate expanded string - if (word[1] == '2') - earg[newarg] = utils::strdup(fmt::format("{}2_{}[{}]{}", word[0], id, index, tail)); - else - earg[newarg] = utils::strdup(fmt::format("{}_{}[{}]{}", word[0], id, index, tail)); - newarg++; - } - } else { - // no expansion: duplicate original string - if (newarg == maxarg) { - maxarg++; - earg = (char **) lmp->memory->srealloc(earg, maxarg * sizeof(char *), "input:earg"); - } - earg[newarg] = utils::strdup(word); + for (int index = nlo; index <= nhi; index++) { + earg[newarg] = utils::strdup(fmt::format("{}2_{}[{}]{}", word[0], id, index, tail)); newarg++; } + } else { + // no expansion: duplicate original string + if (newarg == maxarg) { + maxarg++; + earg = (char **) lmp->memory->srealloc(earg, maxarg * sizeof(char *), "input:earg"); + } + earg[newarg] = utils::strdup(word); + newarg++; } } From b942c4d122e18331416b11c98a2a3264fb1de819 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 18 Aug 2021 22:31:46 -0400 Subject: [PATCH 708/726] fix data corruption bug affecting write_data --- src/fix_property_atom.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/fix_property_atom.cpp b/src/fix_property_atom.cpp index 761f8264d3..0f86d8abc3 100644 --- a/src/fix_property_atom.cpp +++ b/src/fix_property_atom.cpp @@ -97,6 +97,7 @@ FixPropertyAtom::FixPropertyAtom(LAMMPS *lmp, int narg, char **arg) : error->all(FLERR,"Fix property/atom vector name already exists"); index[nvalue] = atom->add_custom(&arg[iarg][2],0,0); cols[nvalue] = 0; + values_peratom++; nvalue++; iarg++; @@ -108,6 +109,7 @@ FixPropertyAtom::FixPropertyAtom(LAMMPS *lmp, int narg, char **arg) : error->all(FLERR,"Fix property/atom vector name already exists"); index[nvalue] = atom->add_custom(&arg[iarg][2],1,0); cols[nvalue] = 0; + values_peratom++; nvalue++; iarg++; From c53875421b31e35e7753eb3fe643c9528e3ccd76 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 18 Aug 2021 22:50:42 -0400 Subject: [PATCH 709/726] fix read_data bug --- src/fix_property_atom.cpp | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/src/fix_property_atom.cpp b/src/fix_property_atom.cpp index 0f86d8abc3..1e583a4ec9 100644 --- a/src/fix_property_atom.cpp +++ b/src/fix_property_atom.cpp @@ -254,8 +254,7 @@ void FixPropertyAtom::init() id_offset is applied to first atomID field if multiple data files are read ------------------------------------------------------------------------- */ -void FixPropertyAtom::read_data_section(char *keyword, int n, char *buf, - tagint id_offset) +void FixPropertyAtom::read_data_section(char *keyword, int n, char *buf, tagint id_offset) { int j,k,m,ncol; tagint itag; @@ -280,14 +279,13 @@ void FixPropertyAtom::read_data_section(char *keyword, int n, char *buf, try { ValueTokenizer values(buf); - if ((int)values.count() != nvalue+1) - error->all(FLERR,"Incorrect format in {} section " - "of data file: {}",keyword,buf); + if ((int)values.count() != values_peratom+1) + error->all(FLERR,"Incorrect format in {} section of data file: {}" + " expected {} and got {}",keyword,buf,values_peratom+1,values.count()); itag = values.next_tagint() + id_offset; if (itag <= 0 || itag > map_tag_max) - error->all(FLERR,"Invalid atom ID {} in {} section of " - "data file",itag, keyword); + error->all(FLERR,"Invalid atom ID {} in {} section of data file",itag, keyword); // assign words in line to per-atom vectors @@ -303,7 +301,6 @@ void FixPropertyAtom::read_data_section(char *keyword, int n, char *buf, atom->ivector[index[j]][m] = values.next_int(); } else if (style[j] == DVEC) { atom->dvector[index[j]][m] = values.next_double(); - // NOTE: Axel please check these lines of array code } else if (style[j] == IARRAY) { ncol = cols[j]; for (k = 0; k < ncol; k++) @@ -316,8 +313,7 @@ void FixPropertyAtom::read_data_section(char *keyword, int n, char *buf, } } } catch (TokenizerException &e) { - error->all(FLERR,"Invalid format in {} section of data " - "file '{}': {}",keyword, buf,e.what()); + error->all(FLERR,"Invalid format in {} section of data file '{}': {}",keyword, buf,e.what()); } buf = next + 1; } From 5c46c6d3a6c5c046c85dbe6b4f1092d20526e5b4 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 18 Aug 2021 22:51:09 -0400 Subject: [PATCH 710/726] update unit test for per-atom arrays and vectors --- unittest/formats/test_atom_styles.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/unittest/formats/test_atom_styles.cpp b/unittest/formats/test_atom_styles.cpp index b091360170..71c1ed882f 100644 --- a/unittest/formats/test_atom_styles.cpp +++ b/unittest/formats/test_atom_styles.cpp @@ -4648,7 +4648,8 @@ TEST_F(AtomStyleTest, property_atom) command("pair_style zero 4.0"); command("units real"); command("atom_modify map array"); - command("fix props all property/atom i_one d_two mol d_three q rmass ghost yes"); + command("fix props all property/atom i_one d_two mol d_three q rmass " + "i2_four 2 d2_five 3 ghost yes"); command("read_data test_atom_styles.data fix props NULL Properties"); command("pair_coeff * *"); END_HIDE_OUTPUT(); @@ -4737,7 +4738,8 @@ TEST_F(AtomStyleTest, property_atom) command("clear"); ASSERT_THAT(std::string(lmp->atom->atom_style), Eq("atomic")); command("read_restart test_atom_styles.restart"); - command("fix props all property/atom i_one d_two mol d_three q rmass ghost yes"); + command("fix props all property/atom i_one d_two mol d_three q rmass " + "i2_four 2 d2_five 3 ghost yes"); END_HIDE_OUTPUT(); expected.natoms = 2; expected.nlocal = 2; @@ -4749,7 +4751,11 @@ TEST_F(AtomStyleTest, property_atom) expected.has_mass_setflag = true; expected.has_sametag = true; expected.has_extra = true; - expected.nextra_store = 7; + expected.has_ivname = true; + expected.has_dvname = true; + expected.has_ianame = true; + expected.has_daname = true; + expected.nextra_store = 12; ASSERT_ATOM_STATE_EQ(lmp->atom, expected); ASSERT_NE(lmp->atom->avec, nullptr); From e149c2fe10fdaa5a791baf1fd1824bc4f982da4d Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 19 Aug 2021 04:20:12 -0400 Subject: [PATCH 711/726] function no longer needs to be public --- src/pair.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/pair.h b/src/pair.h index 0c082fa1c5..f37c0732ed 100644 --- a/src/pair.h +++ b/src/pair.h @@ -143,8 +143,6 @@ class Pair : protected Pointers { void v_tally2_newton(int, double *, double *); void v_tally3(int, int, int, double *, double *, double *, double *); void v_tally4(int, int, int, int, double *, double *, double *, double *, double *, double *); - void ev_tally_xyz(int, int, int, int, double, double, double, double, double, double, double, - double); // general child-class methods @@ -274,6 +272,8 @@ class Pair : protected Pointers { void ev_tally4(int, int, int, int, double, double *, double *, double *, double *, double *, double *); void ev_tally_tip4p(int, int *, double *, double, double); + void ev_tally_xyz(int, int, int, int, double, double, double, double, double, double, double, + double); void v_tally2(int, int, double, double *); void v_tally_tensor(int, int, int, int, double, double, double, double, double, double); void virial_fdotr_compute(); From 3a7a5d13ef9b9e9be20df8524129219ac8482a77 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 19 Aug 2021 04:22:55 -0400 Subject: [PATCH 712/726] apply clang-format --- src/KSPACE/pair_coul_long.cpp | 216 ++++++++++++++++------------------ 1 file changed, 104 insertions(+), 112 deletions(-) diff --git a/src/KSPACE/pair_coul_long.cpp b/src/KSPACE/pair_coul_long.cpp index 09c820160c..b4b467e6bc 100644 --- a/src/KSPACE/pair_coul_long.cpp +++ b/src/KSPACE/pair_coul_long.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -18,27 +17,27 @@ #include "pair_coul_long.h" -#include -#include #include "atom.h" #include "comm.h" +#include "error.h" #include "force.h" #include "kspace.h" -#include "neighbor.h" -#include "neigh_list.h" #include "memory.h" -#include "error.h" +#include "neigh_list.h" +#include "neighbor.h" +#include +#include using namespace LAMMPS_NS; -#define EWALD_F 1.12837917 -#define EWALD_P 0.3275911 -#define A1 0.254829592 -#define A2 -0.284496736 -#define A3 1.421413741 -#define A4 -1.453152027 -#define A5 1.061405429 +#define EWALD_F 1.12837917 +#define EWALD_P 0.3275911 +#define A1 0.254829592 +#define A2 -0.284496736 +#define A3 1.421413741 +#define A4 -1.453152027 +#define A5 1.061405429 /* ---------------------------------------------------------------------- */ @@ -69,16 +68,16 @@ PairCoulLong::~PairCoulLong() void PairCoulLong::compute(int eflag, int vflag) { - int i,j,ii,jj,inum,jnum,itable,itype,jtype; - double qtmp,xtmp,ytmp,ztmp,delx,dely,delz,ecoul,fpair; - double fraction,table; - double r,r2inv,forcecoul,factor_coul; - double grij,expm2,prefactor,t,erfc; - int *ilist,*jlist,*numneigh,**firstneigh; + int i, j, ii, jj, inum, jnum, itable, itype, jtype; + double qtmp, xtmp, ytmp, ztmp, delx, dely, delz, ecoul, fpair; + double fraction, table; + double r, r2inv, forcecoul, factor_coul; + double grij, expm2, prefactor, t, erfc; + int *ilist, *jlist, *numneigh, **firstneigh; double rsq; ecoul = 0.0; - ev_init(eflag,vflag); + ev_init(eflag, vflag); double **x = atom->x; double **f = atom->f; @@ -114,58 +113,57 @@ void PairCoulLong::compute(int eflag, int vflag) delx = xtmp - x[j][0]; dely = ytmp - x[j][1]; delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; + rsq = delx * delx + dely * dely + delz * delz; jtype = type[j]; if (rsq < cut_coulsq) { - r2inv = 1.0/rsq; + r2inv = 1.0 / rsq; if (!ncoultablebits || rsq <= tabinnersq) { r = sqrt(rsq); grij = g_ewald * r; - expm2 = exp(-grij*grij); - t = 1.0 / (1.0 + EWALD_P*grij); - erfc = t * (A1+t*(A2+t*(A3+t*(A4+t*A5)))) * expm2; - prefactor = qqrd2e * scale[itype][jtype] * qtmp*q[j]/r; - forcecoul = prefactor * (erfc + EWALD_F*grij*expm2); - if (factor_coul < 1.0) forcecoul -= (1.0-factor_coul)*prefactor; + expm2 = exp(-grij * grij); + t = 1.0 / (1.0 + EWALD_P * grij); + erfc = t * (A1 + t * (A2 + t * (A3 + t * (A4 + t * A5)))) * expm2; + prefactor = qqrd2e * scale[itype][jtype] * qtmp * q[j] / r; + forcecoul = prefactor * (erfc + EWALD_F * grij * expm2); + if (factor_coul < 1.0) forcecoul -= (1.0 - factor_coul) * prefactor; } else { union_int_float_t rsq_lookup; rsq_lookup.f = rsq; itable = rsq_lookup.i & ncoulmask; itable >>= ncoulshiftbits; fraction = (rsq_lookup.f - rtable[itable]) * drtable[itable]; - table = ftable[itable] + fraction*dftable[itable]; - forcecoul = scale[itype][jtype] * qtmp*q[j] * table; + table = ftable[itable] + fraction * dftable[itable]; + forcecoul = scale[itype][jtype] * qtmp * q[j] * table; if (factor_coul < 1.0) { - table = ctable[itable] + fraction*dctable[itable]; - prefactor = scale[itype][jtype] * qtmp*q[j] * table; - forcecoul -= (1.0-factor_coul)*prefactor; + table = ctable[itable] + fraction * dctable[itable]; + prefactor = scale[itype][jtype] * qtmp * q[j] * table; + forcecoul -= (1.0 - factor_coul) * prefactor; } } fpair = forcecoul * r2inv; - f[i][0] += delx*fpair; - f[i][1] += dely*fpair; - f[i][2] += delz*fpair; + f[i][0] += delx * fpair; + f[i][1] += dely * fpair; + f[i][2] += delz * fpair; if (newton_pair || j < nlocal) { - f[j][0] -= delx*fpair; - f[j][1] -= dely*fpair; - f[j][2] -= delz*fpair; + f[j][0] -= delx * fpair; + f[j][1] -= dely * fpair; + f[j][2] -= delz * fpair; } if (eflag) { if (!ncoultablebits || rsq <= tabinnersq) - ecoul = prefactor*erfc; + ecoul = prefactor * erfc; else { - table = etable[itable] + fraction*detable[itable]; - ecoul = scale[itype][jtype] * qtmp*q[j] * table; + table = etable[itable] + fraction * detable[itable]; + ecoul = scale[itype][jtype] * qtmp * q[j] * table; } - if (factor_coul < 1.0) ecoul -= (1.0-factor_coul)*prefactor; + if (factor_coul < 1.0) ecoul -= (1.0 - factor_coul) * prefactor; } - if (evflag) ev_tally(i,j,nlocal,newton_pair, - 0.0,ecoul,fpair,delx,dely,delz); + if (evflag) ev_tally(i, j, nlocal, newton_pair, 0.0, ecoul, fpair, delx, dely, delz); } } } @@ -182,14 +180,13 @@ void PairCoulLong::allocate() allocated = 1; int n = atom->ntypes; - memory->create(setflag,n+1,n+1,"pair:setflag"); + memory->create(setflag, n + 1, n + 1, "pair:setflag"); for (int i = 1; i <= n; i++) - for (int j = i; j <= n; j++) - setflag[i][j] = 0; + for (int j = i; j <= n; j++) setflag[i][j] = 0; - memory->create(cutsq,n+1,n+1,"pair:cutsq"); + memory->create(cutsq, n + 1, n + 1, "pair:cutsq"); - memory->create(scale,n+1,n+1,"pair:scale"); + memory->create(scale, n + 1, n + 1, "pair:scale"); } /* ---------------------------------------------------------------------- @@ -198,9 +195,9 @@ void PairCoulLong::allocate() void PairCoulLong::settings(int narg, char **arg) { - if (narg != 1) error->all(FLERR,"Illegal pair_style command"); + if (narg != 1) error->all(FLERR, "Illegal pair_style command"); - cut_coul = utils::numeric(FLERR,arg[0],false,lmp); + cut_coul = utils::numeric(FLERR, arg[0], false, lmp); } /* ---------------------------------------------------------------------- @@ -209,23 +206,23 @@ void PairCoulLong::settings(int narg, char **arg) void PairCoulLong::coeff(int narg, char **arg) { - if (narg != 2) error->all(FLERR,"Incorrect args for pair coefficients"); + if (narg != 2) error->all(FLERR, "Incorrect args for pair coefficients"); if (!allocated) allocate(); - int ilo,ihi,jlo,jhi; - utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); - utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); + int ilo, ihi, jlo, jhi; + utils::bounds(FLERR, arg[0], 1, atom->ntypes, ilo, ihi, error); + utils::bounds(FLERR, arg[1], 1, atom->ntypes, jlo, jhi, error); int count = 0; for (int i = ilo; i <= ihi; i++) { - for (int j = MAX(jlo,i); j <= jhi; j++) { + for (int j = MAX(jlo, i); j <= jhi; j++) { scale[i][j] = 1.0; setflag[i][j] = 1; count++; } } - if (count == 0) error->all(FLERR,"Incorrect args for pair coefficients"); + if (count == 0) error->all(FLERR, "Incorrect args for pair coefficients"); } /* ---------------------------------------------------------------------- @@ -234,22 +231,20 @@ void PairCoulLong::coeff(int narg, char **arg) void PairCoulLong::init_style() { - if (!atom->q_flag) - error->all(FLERR,"Pair style lj/cut/coul/long requires atom attribute q"); + if (!atom->q_flag) error->all(FLERR, "Pair style lj/cut/coul/long requires atom attribute q"); - neighbor->request(this,instance_me); + neighbor->request(this, instance_me); cut_coulsq = cut_coul * cut_coul; // insure use of KSpace long-range solver, set g_ewald - if (force->kspace == nullptr) - error->all(FLERR,"Pair style requires a KSpace style"); + if (force->kspace == nullptr) error->all(FLERR, "Pair style requires a KSpace style"); g_ewald = force->kspace->g_ewald; // setup force tables - if (ncoultablebits) init_tables(cut_coul,nullptr); + if (ncoultablebits) init_tables(cut_coul, nullptr); } /* ---------------------------------------------------------------------- @@ -259,7 +254,7 @@ void PairCoulLong::init_style() double PairCoulLong::init_one(int i, int j) { scale[j][i] = scale[i][j]; - return cut_coul+2.0*qdist; + return cut_coul + 2.0 * qdist; } /* ---------------------------------------------------------------------- @@ -272,9 +267,8 @@ void PairCoulLong::write_restart(FILE *fp) for (int i = 1; i <= atom->ntypes; i++) for (int j = i; j <= atom->ntypes; j++) { - fwrite(&setflag[i][j],sizeof(int),1,fp); - if (setflag[i][j]) - fwrite(&scale[i][j],sizeof(double),1,fp); + fwrite(&setflag[i][j], sizeof(int), 1, fp); + if (setflag[i][j]) fwrite(&scale[i][j], sizeof(double), 1, fp); } } @@ -288,15 +282,15 @@ void PairCoulLong::read_restart(FILE *fp) allocate(); - int i,j; + int i, j; int me = comm->me; for (i = 1; i <= atom->ntypes; i++) for (j = i; j <= atom->ntypes; j++) { - if (me == 0) utils::sfread(FLERR,&setflag[i][j],sizeof(int),1,fp,nullptr,error); - MPI_Bcast(&setflag[i][j],1,MPI_INT,0,world); + if (me == 0) utils::sfread(FLERR, &setflag[i][j], sizeof(int), 1, fp, nullptr, error); + MPI_Bcast(&setflag[i][j], 1, MPI_INT, 0, world); if (setflag[i][j]) { - if (me == 0) utils::sfread(FLERR,&scale[i][j],sizeof(double),1,fp,nullptr,error); - MPI_Bcast(&scale[i][j],1,MPI_DOUBLE,0,world); + if (me == 0) utils::sfread(FLERR, &scale[i][j], sizeof(double), 1, fp, nullptr, error); + MPI_Bcast(&scale[i][j], 1, MPI_DOUBLE, 0, world); } } } @@ -307,11 +301,11 @@ void PairCoulLong::read_restart(FILE *fp) void PairCoulLong::write_restart_settings(FILE *fp) { - fwrite(&cut_coul,sizeof(double),1,fp); - fwrite(&offset_flag,sizeof(int),1,fp); - fwrite(&mix_flag,sizeof(int),1,fp); - fwrite(&ncoultablebits,sizeof(int),1,fp); - fwrite(&tabinner,sizeof(double),1,fp); + fwrite(&cut_coul, sizeof(double), 1, fp); + fwrite(&offset_flag, sizeof(int), 1, fp); + fwrite(&mix_flag, sizeof(int), 1, fp); + fwrite(&ncoultablebits, sizeof(int), 1, fp); + fwrite(&tabinner, sizeof(double), 1, fp); } /* ---------------------------------------------------------------------- @@ -321,63 +315,61 @@ void PairCoulLong::write_restart_settings(FILE *fp) void PairCoulLong::read_restart_settings(FILE *fp) { if (comm->me == 0) { - utils::sfread(FLERR,&cut_coul,sizeof(double),1,fp,nullptr,error); - utils::sfread(FLERR,&offset_flag,sizeof(int),1,fp,nullptr,error); - utils::sfread(FLERR,&mix_flag,sizeof(int),1,fp,nullptr,error); - utils::sfread(FLERR,&ncoultablebits,sizeof(int),1,fp,nullptr,error); - utils::sfread(FLERR,&tabinner,sizeof(double),1,fp,nullptr,error); + utils::sfread(FLERR, &cut_coul, sizeof(double), 1, fp, nullptr, error); + utils::sfread(FLERR, &offset_flag, sizeof(int), 1, fp, nullptr, error); + utils::sfread(FLERR, &mix_flag, sizeof(int), 1, fp, nullptr, error); + utils::sfread(FLERR, &ncoultablebits, sizeof(int), 1, fp, nullptr, error); + utils::sfread(FLERR, &tabinner, sizeof(double), 1, fp, nullptr, error); } - MPI_Bcast(&cut_coul,1,MPI_DOUBLE,0,world); - MPI_Bcast(&offset_flag,1,MPI_INT,0,world); - MPI_Bcast(&mix_flag,1,MPI_INT,0,world); - MPI_Bcast(&ncoultablebits,1,MPI_INT,0,world); - MPI_Bcast(&tabinner,1,MPI_DOUBLE,0,world); + MPI_Bcast(&cut_coul, 1, MPI_DOUBLE, 0, world); + MPI_Bcast(&offset_flag, 1, MPI_INT, 0, world); + MPI_Bcast(&mix_flag, 1, MPI_INT, 0, world); + MPI_Bcast(&ncoultablebits, 1, MPI_INT, 0, world); + MPI_Bcast(&tabinner, 1, MPI_DOUBLE, 0, world); } /* ---------------------------------------------------------------------- */ -double PairCoulLong::single(int i, int j, int /*itype*/, int /*jtype*/, - double rsq, - double factor_coul, double /*factor_lj*/, - double &fforce) +double PairCoulLong::single(int i, int j, int /*itype*/, int /*jtype*/, double rsq, + double factor_coul, double /*factor_lj*/, double &fforce) { - double r2inv,r,grij,expm2,t,erfc,prefactor; - double fraction,table,forcecoul,phicoul; + double r2inv, r, grij, expm2, t, erfc, prefactor; + double fraction, table, forcecoul, phicoul; int itable; - r2inv = 1.0/rsq; + r2inv = 1.0 / rsq; if (!ncoultablebits || rsq <= tabinnersq) { r = sqrt(rsq); grij = g_ewald * r; - expm2 = exp(-grij*grij); - t = 1.0 / (1.0 + EWALD_P*grij); - erfc = t * (A1+t*(A2+t*(A3+t*(A4+t*A5)))) * expm2; - prefactor = force->qqrd2e * atom->q[i]*atom->q[j]/r; - forcecoul = prefactor * (erfc + EWALD_F*grij*expm2); - if (factor_coul < 1.0) forcecoul -= (1.0-factor_coul)*prefactor; + expm2 = exp(-grij * grij); + t = 1.0 / (1.0 + EWALD_P * grij); + erfc = t * (A1 + t * (A2 + t * (A3 + t * (A4 + t * A5)))) * expm2; + prefactor = force->qqrd2e * atom->q[i] * atom->q[j] / r; + forcecoul = prefactor * (erfc + EWALD_F * grij * expm2); + if (factor_coul < 1.0) forcecoul -= (1.0 - factor_coul) * prefactor; } else { union_int_float_t rsq_lookup; rsq_lookup.f = rsq; itable = rsq_lookup.i & ncoulmask; itable >>= ncoulshiftbits; fraction = (rsq_lookup.f - rtable[itable]) * drtable[itable]; - table = ftable[itable] + fraction*dftable[itable]; - forcecoul = atom->q[i]*atom->q[j] * table; + table = ftable[itable] + fraction * dftable[itable]; + forcecoul = atom->q[i] * atom->q[j] * table; if (factor_coul < 1.0) { - table = ctable[itable] + fraction*dctable[itable]; - prefactor = atom->q[i]*atom->q[j] * table; - forcecoul -= (1.0-factor_coul)*prefactor; + table = ctable[itable] + fraction * dctable[itable]; + prefactor = atom->q[i] * atom->q[j] * table; + forcecoul -= (1.0 - factor_coul) * prefactor; } } fforce = forcecoul * r2inv; if (!ncoultablebits || rsq <= tabinnersq) - phicoul = prefactor*erfc; + phicoul = prefactor * erfc; else { - table = etable[itable] + fraction*detable[itable]; - phicoul = atom->q[i]*atom->q[j] * table; + table = etable[itable] + fraction * detable[itable]; + phicoul = atom->q[i] * atom->q[j] * table; } - if (factor_coul < 1.0) phicoul -= (1.0-factor_coul)*prefactor; + if (factor_coul < 1.0) phicoul -= (1.0 - factor_coul) * prefactor; return phicoul; } @@ -386,11 +378,11 @@ double PairCoulLong::single(int i, int j, int /*itype*/, int /*jtype*/, void *PairCoulLong::extract(const char *str, int &dim) { - if (strcmp(str,"cut_coul") == 0) { + if (strcmp(str, "cut_coul") == 0) { dim = 0; return (void *) &cut_coul; } - if (strcmp(str,"scale") == 0) { + if (strcmp(str, "scale") == 0) { dim = 2; return (void *) scale; } From 89de4eb7c4848c749b8555a4c29caf5692e3ebf6 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 19 Aug 2021 04:23:26 -0400 Subject: [PATCH 713/726] make sure that coul/exclude special neighbors are always flagged --- src/neighbor.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/neighbor.cpp b/src/neighbor.cpp index 5b4b1c4923..b7217926ca 100644 --- a/src/neighbor.cpp +++ b/src/neighbor.cpp @@ -528,6 +528,7 @@ void Neighbor::init() for (int isub=0; isub < ph->nstyles; ++isub) { if (force->pair_match("coul/wolf",0,isub) || force->pair_match("coul/dsf",0,isub) + || force->pair_match("coul/exclude",0) || force->pair_match("thole",0,isub)) ++flag; } @@ -536,6 +537,7 @@ void Neighbor::init() } else { if (force->pair_match("coul/wolf",0) || force->pair_match("coul/dsf",0) + || force->pair_match("coul/exclude",0) || force->pair_match("thole",0)) special_flag[1] = special_flag[2] = special_flag[3] = 2; } From 4ce71fd767bde3f228ceb623f3a761975339a5dd Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 19 Aug 2021 04:23:44 -0400 Subject: [PATCH 714/726] pretty --- src/special.cpp | 35 ++++++++++++----------------------- 1 file changed, 12 insertions(+), 23 deletions(-) diff --git a/src/special.cpp b/src/special.cpp index 8a3b991fea..dcc0d0c0ad 100644 --- a/src/special.cpp +++ b/src/special.cpp @@ -237,10 +237,8 @@ void Special::onetwo_build_newton() // perform rendezvous operation char *buf; - int nreturn = comm->rendezvous(RVOUS,nsend,(char *) inbuf,sizeof(PairRvous), - 0,proclist, - rendezvous_pairs,0,buf,sizeof(PairRvous), - (void *) this); + int nreturn = comm->rendezvous(RVOUS,nsend,(char *) inbuf,sizeof(PairRvous), 0,proclist, + rendezvous_pairs,0,buf,sizeof(PairRvous), (void *) this); PairRvous *outbuf = (PairRvous *) buf; memory->destroy(proclist); @@ -371,10 +369,8 @@ void Special::onethree_build() // perform rendezvous operation char *buf; - int nreturn = comm->rendezvous(RVOUS,nsend,(char *) inbuf,sizeof(PairRvous), - 0,proclist, - rendezvous_pairs,0,buf,sizeof(PairRvous), - (void *) this); + int nreturn = comm->rendezvous(RVOUS,nsend,(char *) inbuf,sizeof(PairRvous), 0,proclist, + rendezvous_pairs,0,buf,sizeof(PairRvous), (void *) this); PairRvous *outbuf = (PairRvous *) buf; memory->destroy(proclist); @@ -475,10 +471,8 @@ void Special::onefour_build() // perform rendezvous operation char *buf; - int nreturn = comm->rendezvous(RVOUS,nsend,(char *) inbuf,sizeof(PairRvous), - 0,proclist, - rendezvous_pairs,0,buf,sizeof(PairRvous), - (void *) this); + int nreturn = comm->rendezvous(RVOUS,nsend,(char *) inbuf,sizeof(PairRvous), 0,proclist, + rendezvous_pairs,0,buf,sizeof(PairRvous), (void *) this); PairRvous *outbuf = (PairRvous *) buf; memory->destroy(proclist); @@ -898,10 +892,8 @@ void Special::angle_trim() // perform rendezvous operation char *buf; - int nreturn = comm->rendezvous(RVOUS,nsend,(char *) inbuf,sizeof(PairRvous), - 0,proclist, - rendezvous_pairs,0,buf,sizeof(PairRvous), - (void *) this); + int nreturn = comm->rendezvous(RVOUS,nsend,(char *) inbuf,sizeof(PairRvous), 0,proclist, + rendezvous_pairs,0,buf,sizeof(PairRvous), (void *) this); PairRvous *outbuf = (PairRvous *) buf; memory->destroy(proclist); @@ -1111,10 +1103,8 @@ void Special::dihedral_trim() // perform rendezvous operation char *buf; - int nreturn = comm->rendezvous(RVOUS,nsend,(char *) inbuf,sizeof(PairRvous), - 0,proclist, - rendezvous_pairs,0,buf,sizeof(PairRvous), - (void *) this); + int nreturn = comm->rendezvous(RVOUS,nsend,(char *) inbuf,sizeof(PairRvous), 0,proclist, + rendezvous_pairs,0,buf,sizeof(PairRvous), (void *) this); PairRvous *outbuf = (PairRvous *) buf; memory->destroy(proclist); @@ -1246,9 +1236,8 @@ int Special::rendezvous_ids(int n, char *inbuf, outbuf = same list of N PairRvous datums, routed to different procs ------------------------------------------------------------------------- */ -int Special::rendezvous_pairs(int n, char *inbuf, - int &flag, int *&proclist, char *&outbuf, - void *ptr) +int Special::rendezvous_pairs(int n, char *inbuf, int &flag, int *&proclist, + char *&outbuf, void *ptr) { Special *sptr = (Special *) ptr; Atom *atom = sptr->atom; From 7d0cdea282420b67d7509095f1b75512309b8f73 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 19 Aug 2021 05:00:11 -0400 Subject: [PATCH 715/726] allow using kspace_style scafacos for molecular systems under certain conditions --- src/SCAFACOS/scafacos.cpp | 23 ++++++++++++++++++++--- src/pair_hybrid.h | 5 +++-- 2 files changed, 23 insertions(+), 5 deletions(-) diff --git a/src/SCAFACOS/scafacos.cpp b/src/SCAFACOS/scafacos.cpp index 451dd7aca9..5e4981663f 100644 --- a/src/SCAFACOS/scafacos.cpp +++ b/src/SCAFACOS/scafacos.cpp @@ -23,6 +23,7 @@ #include "error.h" #include "force.h" #include "memory.h" +#include "pair_hybrid.h" #include #include @@ -108,10 +109,26 @@ void Scafacos::init() if (domain->triclinic) error->all(FLERR, "Cannot use ScaFaCoS with triclinic domain yet"); if (atom->natoms > INT_MAX && sizeof(int) != 8) - error->all(FLERR, "Scafacos atom count exceeds 2B"); + error->all(FLERR, "ScaFaCoS atom count exceeds 2B"); - if (atom->molecular != Atom::ATOMIC) - error->all(FLERR, "Cannot use Scafacos with molecular charged systems yet"); + if ((atom->molecular != Atom::ATOMIC) && (atom->nbonds + atom->nangles + atom->ndihedrals) > 0) { + int flag = 0; + if ((force->special_coul[1] == 1.0) && (force->special_coul[2] == 1.0) && + (force->special_coul[3] == 1.0)) + ++flag; + + PairHybrid *ph = reinterpret_cast(force->pair_match("^hybrid", 0)); + if (ph) { + for (int isub = 0; isub < ph->nstyles; ++isub) + if (force->pair_match("coul/exclude", 0, isub)) ++flag; + } else { + if (force->pair_match("coul/exclude", 0)) ++flag; + } + if (!flag) + error->all(FLERR, + "Must use pair style coul/exclude or 'special_bonds coul 1.0 1.0 1.0'" + "for molecular charged systems with ScaFaCos"); + } FCSResult result; diff --git a/src/pair_hybrid.h b/src/pair_hybrid.h index e3a2b1a562..ab696e279c 100644 --- a/src/pair_hybrid.h +++ b/src/pair_hybrid.h @@ -28,13 +28,14 @@ class PairHybrid : public Pair { friend class ComputeSpin; friend class FixGPU; friend class FixIntel; - friend class FixOMP; friend class FixNVESpin; + friend class FixOMP; friend class Force; friend class Info; friend class Neighbor; - friend class Respa; friend class PairDeprecated; + friend class Respa; + friend class Scafacos; public: PairHybrid(class LAMMPS *); From 8b680d43e5c5a07b518ccac1886787b23db83a4b Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 19 Aug 2021 05:00:52 -0400 Subject: [PATCH 716/726] add pair style coul/exclude for use with kspace style scafacos --- src/EXTRA-PAIR/pair_coul_exclude.cpp | 303 +++++++++++++++++++++++++++ src/EXTRA-PAIR/pair_coul_exclude.h | 72 +++++++ 2 files changed, 375 insertions(+) create mode 100644 src/EXTRA-PAIR/pair_coul_exclude.cpp create mode 100644 src/EXTRA-PAIR/pair_coul_exclude.h diff --git a/src/EXTRA-PAIR/pair_coul_exclude.cpp b/src/EXTRA-PAIR/pair_coul_exclude.cpp new file mode 100644 index 0000000000..b9cdca78fa --- /dev/null +++ b/src/EXTRA-PAIR/pair_coul_exclude.cpp @@ -0,0 +1,303 @@ +// clang-format off +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include "pair_coul_exclude.h" + +#include "atom.h" +#include "comm.h" +#include "error.h" +#include "force.h" +#include "memory.h" +#include "neigh_list.h" +#include "neighbor.h" + +#include +#include + +using namespace LAMMPS_NS; + +/* ---------------------------------------------------------------------- */ + +PairCoulExclude::PairCoulExclude(LAMMPS *lmp) : Pair(lmp) { + writedata = 1; +} + +/* ---------------------------------------------------------------------- */ + +PairCoulExclude::~PairCoulExclude() +{ + if (copymode) return; + + if (allocated) { + memory->destroy(setflag); + memory->destroy(cutsq); + } +} + +/* ---------------------------------------------------------------------- */ + +void PairCoulExclude::compute(int eflag, int vflag) +{ + int i,j,ii,jj,inum,jnum; + double qtmp,xtmp,ytmp,ztmp,delx,dely,delz,ecoul,fpair; + double rsq,r2inv,rinv,forcecoul,factor_coul; + int *ilist,*jlist,*numneigh,**firstneigh; + + ecoul = 0.0; + ev_init(eflag,vflag); + + double **x = atom->x; + double **f = atom->f; + double *q = atom->q; + int nlocal = atom->nlocal; + double *special_coul = force->special_coul; + int newton_pair = force->newton_pair; + double qqrd2e = force->qqrd2e; + + inum = list->inum; + ilist = list->ilist; + numneigh = list->numneigh; + firstneigh = list->firstneigh; + + // loop over neighbors of my atoms + + for (ii = 0; ii < inum; ii++) { + i = ilist[ii]; + qtmp = q[i]; + xtmp = x[i][0]; + ytmp = x[i][1]; + ztmp = x[i][2]; + jlist = firstneigh[i]; + jnum = numneigh[i]; + + for (jj = 0; jj < jnum; jj++) { + j = jlist[jj]; + if (sbmask(j) == 0) continue; + factor_coul = special_coul[sbmask(j)] - 1.0; + j &= NEIGHMASK; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + + r2inv = 1.0/rsq; + rinv = sqrt(r2inv); + forcecoul = qqrd2e * qtmp*q[j]*rinv; + fpair = factor_coul*forcecoul * r2inv; + + f[i][0] += delx*fpair; + f[i][1] += dely*fpair; + f[i][2] += delz*fpair; + if (newton_pair || j < nlocal) { + f[j][0] -= delx*fpair; + f[j][1] -= dely*fpair; + f[j][2] -= delz*fpair; + } + + if (eflag) + ecoul = factor_coul * qqrd2e * qtmp*q[j]*rinv; + + if (evflag) ev_tally(i,j,nlocal,newton_pair,0.0,ecoul,fpair,delx,dely,delz); + } + } + + if (vflag_fdotr) virial_fdotr_compute(); +} + +/* ---------------------------------------------------------------------- + allocate all arrays +------------------------------------------------------------------------- */ + +void PairCoulExclude::allocate() +{ + allocated = 1; + int n = atom->ntypes; + + memory->create(setflag,n+1,n+1,"pair:setflag"); + memory->create(cutsq,n+1,n+1,"pair:setflag"); + for (int i = 1; i <= n; i++) + for (int j = i; j <= n; j++) + setflag[i][j] = 0; +} + +/* ---------------------------------------------------------------------- + global settings +------------------------------------------------------------------------- */ + +void PairCoulExclude::settings(int narg, char **arg) +{ + if (narg != 1) error->all(FLERR,"Illegal pair_style command"); + + cut_global = utils::numeric(FLERR,arg[0],false,lmp); +} + +/* ---------------------------------------------------------------------- + set coeffs for one or more type pairs +------------------------------------------------------------------------- */ + +void PairCoulExclude::coeff(int narg, char **arg) +{ + if (narg != 2) + error->all(FLERR,"Incorrect args for pair coefficients"); + if (!allocated) allocate(); + + int ilo,ihi,jlo,jhi; + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); + + int count = 0; + for (int i = ilo; i <= ihi; i++) { + for (int j = MAX(jlo,i); j <= jhi; j++) { + setflag[i][j] = 1; + count++; + } + } + + if (count == 0) error->all(FLERR,"Incorrect args for pair coefficients"); +} + + +/* ---------------------------------------------------------------------- + init specific to this pair style +------------------------------------------------------------------------- */ + +void PairCoulExclude::init_style() +{ + if (!atom->q_flag) + error->all(FLERR,"Pair style coul/exclude requires atom attribute q"); + + neighbor->request(this,instance_me); +} + +/* ---------------------------------------------------------------------- + init for one type pair i,j and corresponding j,i +------------------------------------------------------------------------- */ + +double PairCoulExclude::init_one(int i, int j) +{ + return cut_global; +} + +/* ---------------------------------------------------------------------- + proc 0 writes to restart file +------------------------------------------------------------------------- */ + +void PairCoulExclude::write_restart(FILE *fp) +{ + write_restart_settings(fp); + + int i,j; + for (i = 1; i <= atom->ntypes; i++) { + for (j = i; j <= atom->ntypes; j++) { + fwrite(&setflag[i][j],sizeof(int),1,fp); + } + } +} + +/* ---------------------------------------------------------------------- + proc 0 reads from restart file, bcasts +------------------------------------------------------------------------- */ + +void PairCoulExclude::read_restart(FILE *fp) +{ + read_restart_settings(fp); + allocate(); + + int i,j; + int me = comm->me; + for (i = 1; i <= atom->ntypes; i++) { + for (j = i; j <= atom->ntypes; j++) { + if (me == 0) { + utils::sfread(FLERR,&setflag[i][j],sizeof(int),1,fp,nullptr,error); + } + MPI_Bcast(&setflag[i][j],1,MPI_INT,0,world); + } + } +} + +/* ---------------------------------------------------------------------- + proc 0 writes to restart file +------------------------------------------------------------------------- */ + +void PairCoulExclude::write_restart_settings(FILE *fp) +{ + fwrite(&cut_global,sizeof(double),1,fp); + fwrite(&offset_flag,sizeof(int),1,fp); + fwrite(&mix_flag,sizeof(int),1,fp); +} + +/* ---------------------------------------------------------------------- + proc 0 reads from restart file, bcasts +------------------------------------------------------------------------- */ + +void PairCoulExclude::read_restart_settings(FILE *fp) +{ + if (comm->me == 0) { + utils::sfread(FLERR,&cut_global,sizeof(double),1,fp,nullptr,error); + utils::sfread(FLERR,&offset_flag,sizeof(int),1,fp,nullptr,error); + utils::sfread(FLERR,&mix_flag,sizeof(int),1,fp,nullptr,error); + } + MPI_Bcast(&cut_global,1,MPI_DOUBLE,0,world); + MPI_Bcast(&offset_flag,1,MPI_INT,0,world); + MPI_Bcast(&mix_flag,1,MPI_INT,0,world); +} + +/* ---------------------------------------------------------------------- + proc 0 writes to data file +------------------------------------------------------------------------- */ + +void PairCoulExclude::write_data(FILE *fp) +{ + for (int i = 1; i <= atom->ntypes; i++) + fprintf(fp,"%d\n",i); +} + +/* ---------------------------------------------------------------------- + proc 0 writes all pairs to data file +------------------------------------------------------------------------- */ + +void PairCoulExclude::write_data_all(FILE *fp) +{ + for (int i = 1; i <= atom->ntypes; i++) + for (int j = i; j <= atom->ntypes; j++) + fprintf(fp,"%d %d\n",i,j); +} + +/* ---------------------------------------------------------------------- */ + +double PairCoulExclude::single(int i, int j, int /*itype*/, int /*jtype*/, + double rsq, double factor_coul, double /*factor_lj*/, + double &fforce) +{ + double r2inv,rinv,forcecoul,phicoul; + + factor_coul -= 1.0; + r2inv = 1.0/rsq; + rinv = sqrt(r2inv); + forcecoul = force->qqrd2e * atom->q[i]*atom->q[j]*rinv; + fforce = factor_coul*forcecoul * r2inv; + + phicoul = force->qqrd2e * atom->q[i]*atom->q[j]*rinv; + return factor_coul*phicoul; +} + +/* ---------------------------------------------------------------------- */ + +void *PairCoulExclude::extract(const char *str, int &dim) +{ + dim = 0; + if (strcmp(str,"cut_coul") == 0) return (void *) &cut_global; + return nullptr; +} diff --git a/src/EXTRA-PAIR/pair_coul_exclude.h b/src/EXTRA-PAIR/pair_coul_exclude.h new file mode 100644 index 0000000000..38cd30cbb7 --- /dev/null +++ b/src/EXTRA-PAIR/pair_coul_exclude.h @@ -0,0 +1,72 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef PAIR_CLASS +// clang-format off +PairStyle(coul/exclude,PairCoulExclude); +// clang-format on +#else + +#ifndef LMP_PAIR_COUL_EXCLUDE_H +#define LMP_PAIR_COUL_EXCLUDE_H + +#include "pair.h" + +namespace LAMMPS_NS { + +class PairCoulExclude : public Pair { + public: + PairCoulExclude(class LAMMPS *); + virtual ~PairCoulExclude(); + virtual void compute(int, int); + virtual void settings(int, char **); + virtual void coeff(int, char **); + void init_style(); + double init_one(int, int); + void write_restart(FILE *); + void read_restart(FILE *); + virtual void write_restart_settings(FILE *); + virtual void read_restart_settings(FILE *); + virtual void write_data(FILE *); + virtual void write_data_all(FILE *); + virtual double single(int, int, int, int, double, double, double, double &); + virtual void *extract(const char *, int &); + + protected: + double cut_global; + + virtual void allocate(); +}; + +} // namespace LAMMPS_NS + +#endif +#endif + +/* ERROR/WARNING messages: + +E: Illegal ... command + +Self-explanatory. Check the input script syntax and compare to the +documentation for the command. You can use -echo screen as a +command-line option when running LAMMPS to see the offending line. + +E: Incorrect args for pair coefficients + +Self-explanatory. Check the input script or data file. + +E: Pair style coul/cut requires atom attribute q + +The atom style defined does not have these attributes. + +*/ From 093fbfd4b5337937fd4f47d4cd7e41445559103d Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 19 Aug 2021 05:25:36 -0400 Subject: [PATCH 717/726] add documentation for pair style coul/exclude --- doc/src/Commands_pair.rst | 1 + doc/src/Developer_utils.rst | 2 +- doc/src/pair_coul.rst | 21 +++++++++++++++++++++ doc/src/pair_style.rst | 1 + 4 files changed, 24 insertions(+), 1 deletion(-) diff --git a/doc/src/Commands_pair.rst b/doc/src/Commands_pair.rst index 184fb25300..7cf4e7635b 100644 --- a/doc/src/Commands_pair.rst +++ b/doc/src/Commands_pair.rst @@ -75,6 +75,7 @@ OPT. * :doc:`coul/debye (gko) ` * :doc:`coul/diel (o) ` * :doc:`coul/dsf (gko) ` + * :doc:`coul/exclude ` * :doc:`coul/long (gko) ` * :doc:`coul/long/cs (g) ` * :doc:`coul/long/dielectric ` diff --git a/doc/src/Developer_utils.rst b/doc/src/Developer_utils.rst index 60eded42e0..e419520edd 100644 --- a/doc/src/Developer_utils.rst +++ b/doc/src/Developer_utils.rst @@ -336,7 +336,7 @@ repetitive tasks. The :cpp:class:`LAMMPS_NS::ArgInfo` class provides an abstraction for parsing references to compute or fix styles, variables or custom integer or double properties handled by :doc:`fix property/atom `. -These would start with a "c\_", "f\_", "v\_", "d\_", "d2\_", "i\_", or "i2_" +These would start with a "c\_", "f\_", "v\_", "d\_", "d2\_", "i\_", or "i2\_" followed by the ID or name of than instance and may be postfixed with one or two array indices "[]" with numbers > 0. diff --git a/doc/src/pair_coul.rst b/doc/src/pair_coul.rst index 990458887d..4e0793467b 100644 --- a/doc/src/pair_coul.rst +++ b/doc/src/pair_coul.rst @@ -10,6 +10,7 @@ .. index:: pair_style coul/dsf/gpu .. index:: pair_style coul/dsf/kk .. index:: pair_style coul/dsf/omp +.. index:: pair_style coul/exclude .. index:: pair_style coul/cut/global .. index:: pair_style coul/cut/global/omp .. index:: pair_style coul/long @@ -42,6 +43,9 @@ pair_style coul/dsf command Accelerator Variants: *coul/dsf/gpu*, *coul/dsf/kk*, *coul/dsf/omp* +pair_style coul/exclude command +=============================== + pair_style coul/cut/global command ================================== @@ -83,6 +87,7 @@ Syntax pair_style coul/cut cutoff pair_style coul/debye kappa cutoff pair_style coul/dsf alpha cutoff + pair_style coul/exclude cutoff pair_style coul/cut/global cutoff pair_style coul/long cutoff pair_style coul/wolf alpha cutoff @@ -110,6 +115,9 @@ Examples pair_style coul/dsf 0.05 10.0 pair_coeff * * + pair_style hybrid/overlay coul/exclude 10.0 ... + pair_coeff * * coul/exclude + pair_style coul/long 10.0 pair_coeff * * @@ -257,6 +265,19 @@ as style *coul/cut* except that it allows only a single global cutoff and thus makes it compatible for use in combination with long-range coulomb styles in :doc:`hybrid pair styles `. +Pair style *coul/exclude* computes Coulombic interactions like *coul/cut* +but **only** applies them to excluded pairs using a scaling factor +of :math:`\gamma - 1.0` with :math:`\gamma` being the factor assigned +to that excluded pair via the :doc:`special_bonds coul ` +setting. With this it is possible to treat Coulomb interactions for +molecular systems with :doc:`kspace style scafacos `, +which always computes the *full* Coulomb interactions without exclusions. +Pair style *coul/exclude* will then *subtract* the excluded interactions +accordingly. So to achieve the same forces as with ``pair_style lj/cut/coul/long 12.0`` +with ``kspace_style pppm 1.0e-6``, one would use +``pair_style hybrid/overlay lj/cut 12.0 coul/exclude 12.0`` with +``kspace_style scafacos p3m 1.0e-6``. + Styles *coul/long* and *coul/msm* compute the same Coulombic interactions as style *coul/cut* except that an additional damping factor is applied so it can be used in conjunction with the diff --git a/doc/src/pair_style.rst b/doc/src/pair_style.rst index 7677cd9535..1cf033ddba 100644 --- a/doc/src/pair_style.rst +++ b/doc/src/pair_style.rst @@ -139,6 +139,7 @@ accelerated styles exist. * :doc:`coul/debye ` - cutoff Coulomb potential with Debye screening * :doc:`coul/diel ` - Coulomb potential with dielectric permittivity * :doc:`coul/dsf ` - Coulomb with damped-shifted-force model +* :doc:`coul/exclude ` - subtract Coulomb potential for excluded pairs * :doc:`coul/long ` - long-range Coulomb potential * :doc:`coul/long/cs ` - long-range Coulomb potential and core/shell * :doc:`coul/long/dielectric ` - From 23231118d1b378becc09ebeeefa4324efeb0d8e7 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 19 Aug 2021 05:29:54 -0400 Subject: [PATCH 718/726] add a couple explanatory comments --- src/EXTRA-PAIR/pair_coul_exclude.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/EXTRA-PAIR/pair_coul_exclude.cpp b/src/EXTRA-PAIR/pair_coul_exclude.cpp index b9cdca78fa..404fc9c784 100644 --- a/src/EXTRA-PAIR/pair_coul_exclude.cpp +++ b/src/EXTRA-PAIR/pair_coul_exclude.cpp @@ -83,8 +83,12 @@ void PairCoulExclude::compute(int eflag, int vflag) for (jj = 0; jj < jnum; jj++) { j = jlist[jj]; + + // skip over all non-excluded pairs and subtract excluded coulomb + if (sbmask(j) == 0) continue; factor_coul = special_coul[sbmask(j)] - 1.0; + j &= NEIGHMASK; delx = xtmp - x[j][0]; @@ -283,7 +287,7 @@ double PairCoulExclude::single(int i, int j, int /*itype*/, int /*jtype*/, { double r2inv,rinv,forcecoul,phicoul; - factor_coul -= 1.0; + factor_coul -= 1.0; // we want to subtract the excluded coulomb r2inv = 1.0/rsq; rinv = sqrt(r2inv); forcecoul = force->qqrd2e * atom->q[i]*atom->q[j]*rinv; From 11b4ae641f75b9d70060251e46e12d58ffc63bed Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 19 Aug 2021 05:46:12 -0400 Subject: [PATCH 719/726] add unit test for pair style coul/exclude --- .../tests/mol-pair-coul_exclude.yaml | 87 +++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 unittest/force-styles/tests/mol-pair-coul_exclude.yaml diff --git a/unittest/force-styles/tests/mol-pair-coul_exclude.yaml b/unittest/force-styles/tests/mol-pair-coul_exclude.yaml new file mode 100644 index 0000000000..e3bfb9dfc8 --- /dev/null +++ b/unittest/force-styles/tests/mol-pair-coul_exclude.yaml @@ -0,0 +1,87 @@ +--- +lammps_version: 30 Jul 2021 +date_generated: Thu Aug 19 05:44:56 2021 +epsilon: 5e-14 +skip_tests: +prerequisites: ! | + atom full + pair coul/exclude +pre_commands: ! "" +post_commands: ! | + pair_modify mix arithmetic +input_file: in.fourmol +pair_style: coul/exclude 8.0 +pair_coeff: ! | + * * +extract: ! | + cut_coul 0 +natoms: 29 +init_vdwl: 0 +init_coul: 976.7662140166423 +init_stress: ! |2- + 3.5388948320536065e+02 2.5335487380105781e+02 3.6952185701022364e+02 1.3686424356022002e+02 8.7895961622382046e+01 -5.5657699252762978e+00 +init_forces: ! |2 + 1 -2.1370477255985712e+01 -1.4166598766893758e+01 2.9310440052146326e+01 + 2 2.3264732430469657e+01 1.5692001202883613e+01 -2.8641449819420849e+01 + 3 2.2449042305615680e-01 1.4668967160440745e+00 5.1210039450899436e-01 + 4 -7.0490395531893513e-01 -1.3264719224865684e+00 -8.1217625652904202e-01 + 5 -8.8255242947367551e-01 -2.5499496555354710e+00 -1.1751860565740935e-01 + 6 -2.5789282115617354e+01 2.5922083376147825e+01 3.9284668116535428e+01 + 7 6.5887213922755370e+00 -1.1379710951282684e+01 -4.1569698240745815e+01 + 8 1.0165793608296209e+01 -1.9732745647894593e+01 -3.1168434006878172e+01 + 9 6.2278611600582163e+00 7.5490085322004052e+00 3.6053658984732728e+01 + 10 2.9613956094579899e+00 -6.6704022762728634e+00 7.0753413211731742e-01 + 11 7.6925511893250798e-01 -1.0660633894890499e+00 1.5916232833331401e+00 + 12 -2.6730309790123474e+00 1.0151505797685552e+00 2.4428922002007205e+00 + 13 4.2028736668256519e+00 -2.3945364969381782e+00 2.2608110571641327e-01 + 14 -1.0444805762876637e+00 -2.1692594974964866e-01 -4.5361664712630878e+00 + 15 1.0294632170564109e+00 4.2802145197407322e+00 1.1966180837917026e+00 + 16 1.6139881756442762e+01 -1.2595226879230463e+01 -4.8159451500674258e+01 + 17 -1.9109741071175417e+01 1.6173277008988080e+01 4.3679278548085868e+01 + 18 -5.5233108291167312e+00 -3.1467038458483600e+01 1.1751414157603500e+02 + 19 -4.8039195406996384e+01 -2.8078667518868457e+01 -6.9999907578978252e+01 + 20 5.3562506236113109e+01 5.9545705977352057e+01 -4.7514233997056749e+01 + 21 -3.2000540242879481e+01 -3.9305792536444351e+01 1.1575486824768517e+02 + 22 -4.1655033980718414e+01 -6.9415565144852787e+00 -8.1937970834963011e+01 + 23 7.3655574223597895e+01 4.6247349050929628e+01 -3.3816897412722149e+01 + 24 2.5133287180289841e+01 -1.0428031336996401e+02 6.0768019640810614e+01 + 25 -6.6553531734748447e+01 2.0322561261478373e+01 -5.9750075573899906e+01 + 26 4.1420244554458598e+01 8.3957752108485636e+01 -1.0179440669107107e+00 + 27 1.6184779133783991e+01 -1.1478028188716922e+02 4.0330521475487721e+01 + 28 -6.9426784473130638e+01 4.0320458958275808e+01 -4.9831480196977843e+01 + 29 5.3242005339346647e+01 7.4459822928893402e+01 9.5009587214901217e+00 +run_vdwl: 0 +run_coul: 976.5089740760076 +run_stress: ! |2- + 3.5429311069548726e+02 2.5338890902230719e+02 3.6882695435821336e+02 1.3697994178745301e+02 8.8376897487416215e+01 -4.7604760003034263e+00 +run_forces: ! |2 + 1 -2.1374527865789219e+01 -1.4202468442180830e+01 2.9210793601587412e+01 + 2 2.3263825454132370e+01 1.5734731460617787e+01 -2.8542033985914678e+01 + 3 2.2462585109904795e-01 1.4683529055153852e+00 5.1240421813750503e-01 + 4 -7.0182458619184773e-01 -1.3247801518720248e+00 -8.0930989810165044e-01 + 5 -8.8184812299538406e-01 -2.5499921086303359e+00 -1.1763132809557786e-01 + 6 -2.5769520757000304e+01 2.5925263738943752e+01 3.9219964964514880e+01 + 7 6.5906098601140588e+00 -1.1393221625638784e+01 -4.1479783467188192e+01 + 8 1.0136770975699770e+01 -1.9687788806065537e+01 -3.1157177158436330e+01 + 9 6.2325131117568873e+00 7.5029136682374347e+00 3.6011266563600110e+01 + 10 2.9627918492957752e+00 -6.6677419862633922e+00 7.1111494624978899e-01 + 11 7.6684242658501378e-01 -1.0650907890115915e+00 1.5865397504820036e+00 + 12 -2.6640875675365687e+00 1.0092746068515972e+00 2.4201156771591061e+00 + 13 4.2020911135059107e+00 -2.3836918937522000e+00 2.2652733116436718e-01 + 14 -1.0435191142174847e+00 -2.2501596985534378e-01 -4.5261002002201831e+00 + 15 1.0232065551846687e+00 4.2815515515559763e+00 1.2073921411042297e+00 + 16 1.6133578122629647e+01 -1.2611941628990227e+01 -4.8150714173103566e+01 + 17 -1.9101527306272342e+01 1.6189645470538316e+01 4.3676631017060792e+01 + 18 -5.0679097498234569e+00 -3.0925377041375377e+01 1.1693070865584599e+02 + 19 -4.8160088791916564e+01 -2.8252999531559283e+01 -6.9934716985727633e+01 + 20 5.3227998541740021e+01 5.9178376572934660e+01 -4.6995991670118372e+01 + 21 -3.2023145472732139e+01 -3.9029459539316420e+01 1.1553537552520324e+02 + 22 -4.1759300667456344e+01 -7.0799675491211342e+00 -8.1817190857460076e+01 + 23 7.3782446140188483e+01 4.6109427088437556e+01 -3.3718184667743166e+01 + 24 2.5304219247242145e+01 -1.0428415260557270e+02 6.0810156089628336e+01 + 25 -6.6772835122638725e+01 2.0222909012153103e+01 -5.9945279201780089e+01 + 26 4.1468615875396580e+01 8.4061243593419590e+01 -8.6487688784824801e-01 + 27 1.6328783769519674e+01 -1.1474592950014997e+02 4.0113097823544649e+01 + 28 -6.9456403419277834e+01 4.0310251785996094e+01 -4.9735673433675416e+01 + 29 5.3127619649758152e+01 7.4435677714153883e+01 9.6225756101307667e+00 +... From 7046b758619faa04c76af89614e1ea48150ebb19 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 19 Aug 2021 10:06:34 -0400 Subject: [PATCH 720/726] remove evil tabs --- src/ML-RANN/rann_fingerprint_bond.cpp | 6 +- src/ML-RANN/rann_fingerprint_bondscreened.cpp | 12 +- src/OPENMP/npair_full_multi_omp.cpp | 50 ++++---- src/OPENMP/npair_half_multi_newtoff_omp.cpp | 16 +-- src/OPENMP/npair_half_multi_newton_omp.cpp | 110 +++++++++--------- .../npair_half_multi_newton_tri_omp.cpp | 56 ++++----- .../npair_half_size_multi_newtoff_omp.cpp | 36 +++--- .../npair_half_size_multi_newton_omp.cpp | 80 ++++++------- .../npair_half_size_multi_newton_tri_omp.cpp | 40 +++---- src/nbin_multi.cpp | 4 +- src/npair_full_multi.cpp | 48 ++++---- src/npair_half_multi_newtoff.cpp | 14 +-- src/npair_half_multi_newton.cpp | 110 +++++++++--------- src/npair_half_multi_newton_tri.cpp | 54 ++++----- src/npair_half_size_multi_newtoff.cpp | 34 +++--- src/npair_half_size_multi_newton.cpp | 76 ++++++------ src/npair_half_size_multi_newton_tri.cpp | 40 +++---- src/nstencil.cpp | 4 +- src/nstencil_full_multi_2d.cpp | 2 +- src/nstencil_full_multi_3d.cpp | 4 +- src/nstencil_half_multi_2d.cpp | 4 +- src/nstencil_half_multi_2d_tri.cpp | 6 +- src/nstencil_half_multi_3d.cpp | 12 +- src/nstencil_half_multi_3d_tri.cpp | 6 +- 24 files changed, 412 insertions(+), 412 deletions(-) diff --git a/src/ML-RANN/rann_fingerprint_bond.cpp b/src/ML-RANN/rann_fingerprint_bond.cpp index 4b96a4f39d..f5912324cd 100644 --- a/src/ML-RANN/rann_fingerprint_bond.cpp +++ b/src/ML-RANN/rann_fingerprint_bond.cpp @@ -591,8 +591,8 @@ void Fingerprint_bond::do3bodyfeatureset_doubleneighborloop(double * features,do delz = zn[jj]; rsq = delx*delx + dely*dely + delz*delz; if (rsq>rc*rc) { - expr[jj][0]=0; - continue; + expr[jj][0]=0; + continue; } double r1 = (rsq*((double)res)*cutinv2); int m1 = (int)r1; @@ -603,7 +603,7 @@ void Fingerprint_bond::do3bodyfeatureset_doubleneighborloop(double * features,do double *p2 = &expcuttable[(m1+1)*kmax]; double *p3 = &expcuttable[(m1+2)*kmax]; for (kk=0;kkrc*rc) { - expr[jj][0]=0; - continue; + expr[jj][0]=0; + continue; } double r1 = (rsq*((double)res)*cutinv2); int m1 = (int)r1; @@ -647,8 +647,8 @@ void Fingerprint_bondscreened::do3bodyfeatureset_doubleneighborloop(double * fea double *p2 = &expcuttable[(m1+1)*kmax]; double *p3 = &expcuttable[(m1+2)*kmax]; for (kk=0;kk= 0; j = bins[j]) { - if (i == j) continue; + js = binhead_multi[jcollection][jbin + s[k]]; + for (j = js; j >= 0; j = bins[j]) { + if (i == j) continue; jtype = type[j]; - if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; - delx = xtmp - x[j][0]; - dely = ytmp - x[j][1]; - delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; - if (rsq <= cutneighsq[itype][jtype]) { - if (molecular != Atom::ATOMIC) { - if (!moltemplate) - which = find_special(special[i],nspecial[i],tag[j]); - else if (imol >= 0) - which = find_special(onemols[imol]->special[iatom], - onemols[imol]->nspecial[iatom], - tag[j]-tagprev); - else which = 0; - if (which == 0) neighptr[n++] = j; - else if (domain->minimum_image_check(delx,dely,delz)) - neighptr[n++] = j; - else if (which > 0) neighptr[n++] = j ^ (which << SBBITS); - } else neighptr[n++] = j; - } - } + if (rsq <= cutneighsq[itype][jtype]) { + if (molecular != Atom::ATOMIC) { + if (!moltemplate) + which = find_special(special[i],nspecial[i],tag[j]); + else if (imol >= 0) + which = find_special(onemols[imol]->special[iatom], + onemols[imol]->nspecial[iatom], + tag[j]-tagprev); + else which = 0; + if (which == 0) neighptr[n++] = j; + else if (domain->minimum_image_check(delx,dely,delz)) + neighptr[n++] = j; + else if (which > 0) neighptr[n++] = j ^ (which << SBBITS); + } else neighptr[n++] = j; + } + } } } diff --git a/src/OPENMP/npair_half_multi_newtoff_omp.cpp b/src/OPENMP/npair_half_multi_newtoff_omp.cpp index 852f87d5b5..d4a63cb9e8 100644 --- a/src/OPENMP/npair_half_multi_newtoff_omp.cpp +++ b/src/OPENMP/npair_half_multi_newtoff_omp.cpp @@ -102,7 +102,7 @@ void NPairHalfMultiNewtoffOmp::build(NeighList *list) // if same collection use own bin if (icollection == jcollection) jbin = ibin; - else jbin = coord2bin(x[i], jcollection); + else jbin = coord2bin(x[i], jcollection); // loop over all atoms in other bins in stencil including self // only store pair if i < j @@ -114,16 +114,16 @@ void NPairHalfMultiNewtoffOmp::build(NeighList *list) ns = nstencil_multi[icollection][jcollection]; for (k = 0; k < ns; k++) { - js = binhead_multi[jcollection][jbin + s[k]]; - for (j = js; j >= 0; j = bins[j]) { - if (j <= i) continue; + js = binhead_multi[jcollection][jbin + s[k]]; + for (j = js; j >= 0; j = bins[j]) { + if (j <= i) continue; jtype = type[j]; - if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; - delx = xtmp - x[j][0]; - dely = ytmp - x[j][1]; - delz = ztmp - x[j][2]; + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; rsq = delx*delx + dely*dely + delz*delz; if (rsq <= cutneighsq[itype][jtype]) { diff --git a/src/OPENMP/npair_half_multi_newton_omp.cpp b/src/OPENMP/npair_half_multi_newton_omp.cpp index d78df77bec..9ad740a043 100644 --- a/src/OPENMP/npair_half_multi_newton_omp.cpp +++ b/src/OPENMP/npair_half_multi_newton_omp.cpp @@ -101,7 +101,7 @@ void NPairHalfMultiNewtonOmp::build(NeighList *list) // if same collection use own bin if (icollection == jcollection) jbin = ibin; - else jbin = coord2bin(x[i], jcollection); + else jbin = coord2bin(x[i], jcollection); // if same size: uses half stencil so check central bin if (cutcollectionsq[icollection][icollection] == cutcollectionsq[jcollection][jcollection]){ @@ -117,41 +117,41 @@ void NPairHalfMultiNewtonOmp::build(NeighList *list) // if j is owned atom, store it if j > i // if j is ghost, only store if j coords are "above and to the right" of i - for (j = js; j >= 0; j = bins[j]) { + for (j = js; j >= 0; j = bins[j]) { if ((icollection != jcollection) && (j < i)) continue; - if (j >= nlocal) { - if (x[j][2] < ztmp) continue; - if (x[j][2] == ztmp) { - if (x[j][1] < ytmp) continue; - if (x[j][1] == ytmp && x[j][0] < xtmp) continue; - } - } + if (j >= nlocal) { + if (x[j][2] < ztmp) continue; + if (x[j][2] == ztmp) { + if (x[j][1] < ytmp) continue; + if (x[j][1] == ytmp && x[j][0] < xtmp) continue; + } + } jtype = type[j]; if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; - delx = xtmp - x[j][0]; - dely = ytmp - x[j][1]; - delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; - if (rsq <= cutneighsq[itype][jtype]) { - if (molecular) { - if (!moltemplate) - which = find_special(special[i],nspecial[i],tag[j]); - else if (imol >= 0) - which = find_special(onemols[imol]->special[iatom], - onemols[imol]->nspecial[iatom], - tag[j]-tagprev); - else which = 0; - if (which == 0) neighptr[n++] = j; - else if (domain->minimum_image_check(delx,dely,delz)) - neighptr[n++] = j; - else if (which > 0) neighptr[n++] = j ^ (which << SBBITS); - } else neighptr[n++] = j; - } - } + if (rsq <= cutneighsq[itype][jtype]) { + if (molecular) { + if (!moltemplate) + which = find_special(special[i],nspecial[i],tag[j]); + else if (imol >= 0) + which = find_special(onemols[imol]->special[iatom], + onemols[imol]->nspecial[iatom], + tag[j]-tagprev); + else which = 0; + if (which == 0) neighptr[n++] = j; + else if (domain->minimum_image_check(delx,dely,delz)) + neighptr[n++] = j; + else if (which > 0) neighptr[n++] = j ^ (which << SBBITS); + } else neighptr[n++] = j; + } + } } // for all collections, loop over all atoms in other bins in stencil, store every pair @@ -159,38 +159,38 @@ void NPairHalfMultiNewtonOmp::build(NeighList *list) // stencil is half if i same size as j // stencil is full if i smaller than j - s = stencil_multi[icollection][jcollection]; - ns = nstencil_multi[icollection][jcollection]; + s = stencil_multi[icollection][jcollection]; + ns = nstencil_multi[icollection][jcollection]; - for (k = 0; k < ns; k++) { - js = binhead_multi[jcollection][jbin + s[k]]; - for (j = js; j >= 0; j = bins[j]) { + for (k = 0; k < ns; k++) { + js = binhead_multi[jcollection][jbin + s[k]]; + for (j = js; j >= 0; j = bins[j]) { jtype = type[j]; if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; - delx = xtmp - x[j][0]; - dely = ytmp - x[j][1]; - delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; - if (rsq <= cutneighsq[itype][jtype]) { - if (molecular != Atom::ATOMIC) { - if (!moltemplate) - which = find_special(special[i],nspecial[i],tag[j]); - else if (imol >= 0) - which = find_special(onemols[imol]->special[iatom], - onemols[imol]->nspecial[iatom], - tag[j]-tagprev); - else which = 0; - if (which == 0) neighptr[n++] = j; - else if (domain->minimum_image_check(delx,dely,delz)) - neighptr[n++] = j; - else if (which > 0) neighptr[n++] = j ^ (which << SBBITS); - } else neighptr[n++] = j; - } - } - } + if (rsq <= cutneighsq[itype][jtype]) { + if (molecular != Atom::ATOMIC) { + if (!moltemplate) + which = find_special(special[i],nspecial[i],tag[j]); + else if (imol >= 0) + which = find_special(onemols[imol]->special[iatom], + onemols[imol]->nspecial[iatom], + tag[j]-tagprev); + else which = 0; + if (which == 0) neighptr[n++] = j; + else if (domain->minimum_image_check(delx,dely,delz)) + neighptr[n++] = j; + else if (which > 0) neighptr[n++] = j ^ (which << SBBITS); + } else neighptr[n++] = j; + } + } + } } ilist[i] = i; diff --git a/src/OPENMP/npair_half_multi_newton_tri_omp.cpp b/src/OPENMP/npair_half_multi_newton_tri_omp.cpp index a453851c4c..71f1605366 100644 --- a/src/OPENMP/npair_half_multi_newton_tri_omp.cpp +++ b/src/OPENMP/npair_half_multi_newton_tri_omp.cpp @@ -102,7 +102,7 @@ void NPairHalfMultiNewtonTriOmp::build(NeighList *list) // if same collection use own bin if (icollection == jcollection) jbin = ibin; - else jbin = coord2bin(x[i], jcollection); + else jbin = coord2bin(x[i], jcollection); // loop over all atoms in bins in stencil // stencil is empty if i larger than j @@ -113,12 +113,12 @@ void NPairHalfMultiNewtonTriOmp::build(NeighList *list) // (equal zyx and j <= i) // latter excludes self-self interaction but allows superposed atoms - s = stencil_multi[icollection][jcollection]; - ns = nstencil_multi[icollection][jcollection]; + s = stencil_multi[icollection][jcollection]; + ns = nstencil_multi[icollection][jcollection]; - for (k = 0; k < ns; k++) { - js = binhead_multi[jcollection][jbin + s[k]]; - for (j = js; j >= 0; j = bins[j]) { + for (k = 0; k < ns; k++) { + js = binhead_multi[jcollection][jbin + s[k]]; + for (j = js; j >= 0; j = bins[j]) { // if same size (same collection), use half stencil if (cutcollectionsq[icollection][icollection] == cutcollectionsq[jcollection][jcollection]){ @@ -133,30 +133,30 @@ void NPairHalfMultiNewtonTriOmp::build(NeighList *list) } jtype = type[j]; - if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; - delx = xtmp - x[j][0]; - dely = ytmp - x[j][1]; - delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; - if (rsq <= cutneighsq[itype][jtype]) { - if (molecular != Atom::ATOMIC) { - if (!moltemplate) - which = find_special(special[i],nspecial[i],tag[j]); - else if (imol >= 0) - which = find_special(onemols[imol]->special[iatom], - onemols[imol]->nspecial[iatom], - tag[j]-tagprev); - else which = 0; - if (which == 0) neighptr[n++] = j; - else if (domain->minimum_image_check(delx,dely,delz)) - neighptr[n++] = j; - else if (which > 0) neighptr[n++] = j ^ (which << SBBITS); - } else neighptr[n++] = j; - } - } - } + if (rsq <= cutneighsq[itype][jtype]) { + if (molecular != Atom::ATOMIC) { + if (!moltemplate) + which = find_special(special[i],nspecial[i],tag[j]); + else if (imol >= 0) + which = find_special(onemols[imol]->special[iatom], + onemols[imol]->nspecial[iatom], + tag[j]-tagprev); + else which = 0; + if (which == 0) neighptr[n++] = j; + else if (domain->minimum_image_check(delx,dely,delz)) + neighptr[n++] = j; + else if (which > 0) neighptr[n++] = j ^ (which << SBBITS); + } else neighptr[n++] = j; + } + } + } } ilist[i] = i; diff --git a/src/OPENMP/npair_half_size_multi_newtoff_omp.cpp b/src/OPENMP/npair_half_size_multi_newtoff_omp.cpp index c774d4a0a8..da2d7a7590 100644 --- a/src/OPENMP/npair_half_size_multi_newtoff_omp.cpp +++ b/src/OPENMP/npair_half_size_multi_newtoff_omp.cpp @@ -92,7 +92,7 @@ void NPairHalfSizeMultiNewtoffOmp::build(NeighList *list) // if same collection use own bin if(icollection == jcollection) jbin = ibin; - else jbin = coord2bin(x[i], jcollection); + else jbin = coord2bin(x[i], jcollection); // loop over all atoms in other bins in stencil including self // only store pair if i < j @@ -104,27 +104,27 @@ void NPairHalfSizeMultiNewtoffOmp::build(NeighList *list) ns = nstencil_multi[icollection][jcollection]; for (k = 0; k < ns; k++) { - js = binhead_multi[jcollection][jbin + s[k]]; - for (j = js; j >=0; j = bins[j]) { - if (j <= i) continue; + js = binhead_multi[jcollection][jbin + s[k]]; + for (j = js; j >=0; j = bins[j]) { + if (j <= i) continue; jtype = type[j]; - if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; - delx = xtmp - x[j][0]; - dely = ytmp - x[j][1]; - delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; - radsum = radi + radius[j]; - cutdistsq = (radsum+skin) * (radsum+skin); + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + radsum = radi + radius[j]; + cutdistsq = (radsum+skin) * (radsum+skin); - if (rsq <= cutdistsq) { - if (history && rsq < radsum*radsum) - neighptr[n++] = j ^ mask_history; - else - neighptr[n++] = j; - } - } + if (rsq <= cutdistsq) { + if (history && rsq < radsum*radsum) + neighptr[n++] = j ^ mask_history; + else + neighptr[n++] = j; + } + } } } diff --git a/src/OPENMP/npair_half_size_multi_newton_omp.cpp b/src/OPENMP/npair_half_size_multi_newton_omp.cpp index f9e4c95030..cdc68e1b42 100644 --- a/src/OPENMP/npair_half_size_multi_newton_omp.cpp +++ b/src/OPENMP/npair_half_size_multi_newton_omp.cpp @@ -91,7 +91,7 @@ void NPairHalfSizeMultiNewtonOmp::build(NeighList *list) // if same collection use own bin if(icollection == jcollection) jbin = ibin; - else jbin = coord2bin(x[i], jcollection); + else jbin = coord2bin(x[i], jcollection); // if same size: uses half stencil so check central bin if(cutcollectionsq[icollection][icollection] == cutcollectionsq[jcollection][jcollection]){ @@ -107,33 +107,33 @@ void NPairHalfSizeMultiNewtonOmp::build(NeighList *list) // if j is owned atom, store it if j > i // if j is ghost, only store if j coords are "above and to the right" of i - for (j = js; j >= 0; j = bins[j]) { + for (j = js; j >= 0; j = bins[j]) { if(icollection != jcollection and j < i) continue; - if (j >= nlocal) { - if (x[j][2] < ztmp) continue; - if (x[j][2] == ztmp) { - if (x[j][1] < ytmp) continue; - if (x[j][1] == ytmp && x[j][0] < xtmp) continue; - } - } + if (j >= nlocal) { + if (x[j][2] < ztmp) continue; + if (x[j][2] == ztmp) { + if (x[j][1] < ytmp) continue; + if (x[j][1] == ytmp && x[j][0] < xtmp) continue; + } + } jtype = type[j]; if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; - delx = xtmp - x[j][0]; - dely = ytmp - x[j][1]; - delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; - radsum = radi + radius[j]; - cutdistsq = (radsum+skin) * (radsum+skin); + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + radsum = radi + radius[j]; + cutdistsq = (radsum+skin) * (radsum+skin); - if (rsq <= cutdistsq) { - if (history && rsq < radsum*radsum) - neighptr[n++] = j ^ mask_history; - else - neighptr[n++] = j; - } + if (rsq <= cutdistsq) { + if (history && rsq < radsum*radsum) + neighptr[n++] = j ^ mask_history; + else + neighptr[n++] = j; + } } } @@ -142,31 +142,31 @@ void NPairHalfSizeMultiNewtonOmp::build(NeighList *list) // stencil is half if i same size as j // stencil is full if i smaller than j - s = stencil_multi[icollection][jcollection]; - ns = nstencil_multi[icollection][jcollection]; + s = stencil_multi[icollection][jcollection]; + ns = nstencil_multi[icollection][jcollection]; - for (k = 0; k < ns; k++) { - js = binhead_multi[jcollection][jbin + s[k]]; - for (j = js; j >= 0; j = bins[j]) { + for (k = 0; k < ns; k++) { + js = binhead_multi[jcollection][jbin + s[k]]; + for (j = js; j >= 0; j = bins[j]) { jtype = type[j]; - if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; delx = xtmp - x[j][0]; - dely = ytmp - x[j][1]; - delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; - radsum = radi + radius[j]; - cutdistsq = (radsum+skin) * (radsum+skin); + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + radsum = radi + radius[j]; + cutdistsq = (radsum+skin) * (radsum+skin); - if (rsq <= cutdistsq) { - if (history && rsq < radsum*radsum) - neighptr[n++] = j ^ mask_history; - else - neighptr[n++] = j; - } - } - } + if (rsq <= cutdistsq) { + if (history && rsq < radsum*radsum) + neighptr[n++] = j ^ mask_history; + else + neighptr[n++] = j; + } + } + } } ilist[i] = i; diff --git a/src/OPENMP/npair_half_size_multi_newton_tri_omp.cpp b/src/OPENMP/npair_half_size_multi_newton_tri_omp.cpp index b9a914078f..d38e52fe18 100644 --- a/src/OPENMP/npair_half_size_multi_newton_tri_omp.cpp +++ b/src/OPENMP/npair_half_size_multi_newton_tri_omp.cpp @@ -92,7 +92,7 @@ void NPairHalfSizeMultiNewtonTriOmp::build(NeighList *list) // if same collection use own bin if(icollection == jcollection) jbin = ibin; - else jbin = coord2bin(x[i], jcollection); + else jbin = coord2bin(x[i], jcollection); // loop over all atoms in bins in stencil @@ -104,12 +104,12 @@ void NPairHalfSizeMultiNewtonTriOmp::build(NeighList *list) // (equal zyx and j <= i) // latter excludes self-self interaction but allows superposed atoms - s = stencil_multi[icollection][jcollection]; - ns = nstencil_multi[icollection][jcollection]; + s = stencil_multi[icollection][jcollection]; + ns = nstencil_multi[icollection][jcollection]; - for (k = 0; k < ns; k++) { - js = binhead_multi[jcollection][jbin + s[k]]; - for (j = js; j >= 0; j = bins[j]) { + for (k = 0; k < ns; k++) { + js = binhead_multi[jcollection][jbin + s[k]]; + for (j = js; j >= 0; j = bins[j]) { // if same size (same collection), use half stencil if(cutcollectionsq[icollection][icollection] == cutcollectionsq[jcollection][jcollection]){ @@ -126,21 +126,21 @@ void NPairHalfSizeMultiNewtonTriOmp::build(NeighList *list) jtype = type[j]; if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; - delx = xtmp - x[j][0]; - dely = ytmp - x[j][1]; - delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; - radsum = radi + radius[j]; - cutdistsq = (radsum+skin) * (radsum+skin); + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + radsum = radi + radius[j]; + cutdistsq = (radsum+skin) * (radsum+skin); - if (rsq <= cutdistsq) { - if (history && rsq < radsum*radsum) - neighptr[n++] = j ^ mask_history; - else - neighptr[n++] = j; - } - } - } + if (rsq <= cutdistsq) { + if (history && rsq < radsum*radsum) + neighptr[n++] = j ^ mask_history; + else + neighptr[n++] = j; + } + } + } } ilist[i] = i; diff --git a/src/nbin_multi.cpp b/src/nbin_multi.cpp index 1ddb1d69bd..c58f2b9a94 100644 --- a/src/nbin_multi.cpp +++ b/src/nbin_multi.cpp @@ -202,7 +202,7 @@ void NBinMulti::setup_bins(int /*style*/) // test for too many global bins in any dimension due to huge global domain if (bbox[0]*binsizeinv > MAXSMALLINT || bbox[1]*binsizeinv > MAXSMALLINT || - bbox[2]*binsizeinv > MAXSMALLINT) + bbox[2]*binsizeinv > MAXSMALLINT) error->all(FLERR,"Domain too large for neighbor bins"); // create actual bins @@ -233,7 +233,7 @@ void NBinMulti::setup_bins(int /*style*/) bininvz_multi[n] = 1.0 / binsizez_multi[n]; if (binsize_optimal*bininvx_multi[n] > CUT2BIN_RATIO || - binsize_optimal*bininvy_multi[n] > CUT2BIN_RATIO) + binsize_optimal*bininvy_multi[n] > CUT2BIN_RATIO) error->all(FLERR,"Cannot use neighbor bins - box size << cutoff"); if ((dimension == 3) && (binsize_optimal*bininvz_multi[n] > CUT2BIN_RATIO)) error->all(FLERR,"Cannot use neighbor bins - box size << cutoff"); diff --git a/src/npair_full_multi.cpp b/src/npair_full_multi.cpp index 6a9ba8e700..34b7a7bfa8 100644 --- a/src/npair_full_multi.cpp +++ b/src/npair_full_multi.cpp @@ -89,7 +89,7 @@ void NPairFullMulti::build(NeighList *list) // if same collection use own bin if(icollection == jcollection) jbin = ibin; - else jbin = coord2bin(x[i], jcollection); + else jbin = coord2bin(x[i], jcollection); // loop over all atoms in surrounding bins in stencil including self // skip i = j @@ -99,34 +99,34 @@ void NPairFullMulti::build(NeighList *list) ns = nstencil_multi[icollection][jcollection]; for (k = 0; k < ns; k++) { - js = binhead_multi[jcollection][jbin + s[k]]; - for (j = js; j >= 0; j = bins[j]) { - if (i == j) continue; + js = binhead_multi[jcollection][jbin + s[k]]; + for (j = js; j >= 0; j = bins[j]) { + if (i == j) continue; jtype = type[j]; if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; - delx = xtmp - x[j][0]; - dely = ytmp - x[j][1]; - delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; - if (rsq <= cutneighsq[itype][jtype]) { - if (molecular != Atom::ATOMIC) { - if (!moltemplate) - which = find_special(special[i],nspecial[i],tag[j]); - else if (imol >= 0) - which = find_special(onemols[imol]->special[iatom], - onemols[imol]->nspecial[iatom], - tag[j]-tagprev); - else which = 0; - if (which == 0) neighptr[n++] = j; - else if (domain->minimum_image_check(delx,dely,delz)) - neighptr[n++] = j; - else if (which > 0) neighptr[n++] = j ^ (which << SBBITS); - } else neighptr[n++] = j; - } - } + if (rsq <= cutneighsq[itype][jtype]) { + if (molecular != Atom::ATOMIC) { + if (!moltemplate) + which = find_special(special[i],nspecial[i],tag[j]); + else if (imol >= 0) + which = find_special(onemols[imol]->special[iatom], + onemols[imol]->nspecial[iatom], + tag[j]-tagprev); + else which = 0; + if (which == 0) neighptr[n++] = j; + else if (domain->minimum_image_check(delx,dely,delz)) + neighptr[n++] = j; + else if (which > 0) neighptr[n++] = j ^ (which << SBBITS); + } else neighptr[n++] = j; + } + } } } diff --git a/src/npair_half_multi_newtoff.cpp b/src/npair_half_multi_newtoff.cpp index 9aa9628fd6..cef28f4cb4 100644 --- a/src/npair_half_multi_newtoff.cpp +++ b/src/npair_half_multi_newtoff.cpp @@ -91,7 +91,7 @@ void NPairHalfMultiNewtoff::build(NeighList *list) // if same collection use own bin if (icollection == jcollection) jbin = ibin; - else jbin = coord2bin(x[i], jcollection); + else jbin = coord2bin(x[i], jcollection); // loop over all atoms in other bins in stencil including self // only store pair if i < j @@ -103,16 +103,16 @@ void NPairHalfMultiNewtoff::build(NeighList *list) ns = nstencil_multi[icollection][jcollection]; for (k = 0; k < ns; k++) { - js = binhead_multi[jcollection][jbin + s[k]]; - for (j = js; j >= 0; j = bins[j]) { - if (j <= i) continue; + js = binhead_multi[jcollection][jbin + s[k]]; + for (j = js; j >= 0; j = bins[j]) { + if (j <= i) continue; jtype = type[j]; if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; - delx = xtmp - x[j][0]; - dely = ytmp - x[j][1]; - delz = ztmp - x[j][2]; + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; rsq = delx*delx + dely*dely + delz*delz; if (rsq <= cutneighsq[itype][jtype]) { diff --git a/src/npair_half_multi_newton.cpp b/src/npair_half_multi_newton.cpp index 3b1b34579b..3ee4ce5fde 100644 --- a/src/npair_half_multi_newton.cpp +++ b/src/npair_half_multi_newton.cpp @@ -90,7 +90,7 @@ void NPairHalfMultiNewton::build(NeighList *list) // if same collection use own bin if(icollection == jcollection) jbin = ibin; - else jbin = coord2bin(x[i], jcollection); + else jbin = coord2bin(x[i], jcollection); // if same size: uses half stencil so check central bin if(cutcollectionsq[icollection][icollection] == cutcollectionsq[jcollection][jcollection]){ @@ -106,41 +106,41 @@ void NPairHalfMultiNewton::build(NeighList *list) // if j is owned atom, store it if j > i // if j is ghost, only store if j coords are "above and to the right" of i - for (j = js; j >= 0; j = bins[j]) { + for (j = js; j >= 0; j = bins[j]) { if((icollection != jcollection) && (j < i)) continue; - if (j >= nlocal) { - if (x[j][2] < ztmp) continue; - if (x[j][2] == ztmp) { - if (x[j][1] < ytmp) continue; - if (x[j][1] == ytmp && x[j][0] < xtmp) continue; - } - } + if (j >= nlocal) { + if (x[j][2] < ztmp) continue; + if (x[j][2] == ztmp) { + if (x[j][1] < ytmp) continue; + if (x[j][1] == ytmp && x[j][0] < xtmp) continue; + } + } jtype = type[j]; if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; - delx = xtmp - x[j][0]; - dely = ytmp - x[j][1]; - delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; - if (rsq <= cutneighsq[itype][jtype]) { - if (molecular) { - if (!moltemplate) - which = find_special(special[i],nspecial[i],tag[j]); - else if (imol >= 0) - which = find_special(onemols[imol]->special[iatom], - onemols[imol]->nspecial[iatom], - tag[j]-tagprev); - else which = 0; - if (which == 0) neighptr[n++] = j; - else if (domain->minimum_image_check(delx,dely,delz)) - neighptr[n++] = j; - else if (which > 0) neighptr[n++] = j ^ (which << SBBITS); - } else neighptr[n++] = j; - } - } + if (rsq <= cutneighsq[itype][jtype]) { + if (molecular) { + if (!moltemplate) + which = find_special(special[i],nspecial[i],tag[j]); + else if (imol >= 0) + which = find_special(onemols[imol]->special[iatom], + onemols[imol]->nspecial[iatom], + tag[j]-tagprev); + else which = 0; + if (which == 0) neighptr[n++] = j; + else if (domain->minimum_image_check(delx,dely,delz)) + neighptr[n++] = j; + else if (which > 0) neighptr[n++] = j ^ (which << SBBITS); + } else neighptr[n++] = j; + } + } } // for all collections, loop over all atoms in other bins in stencil, store every pair @@ -148,38 +148,38 @@ void NPairHalfMultiNewton::build(NeighList *list) // stencil is half if i same size as j // stencil is full if i smaller than j - s = stencil_multi[icollection][jcollection]; - ns = nstencil_multi[icollection][jcollection]; + s = stencil_multi[icollection][jcollection]; + ns = nstencil_multi[icollection][jcollection]; - for (k = 0; k < ns; k++) { - js = binhead_multi[jcollection][jbin + s[k]]; - for (j = js; j >= 0; j = bins[j]) { + for (k = 0; k < ns; k++) { + js = binhead_multi[jcollection][jbin + s[k]]; + for (j = js; j >= 0; j = bins[j]) { jtype = type[j]; if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; - delx = xtmp - x[j][0]; - dely = ytmp - x[j][1]; - delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; - if (rsq <= cutneighsq[itype][jtype]) { - if (molecular != Atom::ATOMIC) { - if (!moltemplate) - which = find_special(special[i],nspecial[i],tag[j]); - else if (imol >= 0) - which = find_special(onemols[imol]->special[iatom], - onemols[imol]->nspecial[iatom], - tag[j]-tagprev); - else which = 0; - if (which == 0) neighptr[n++] = j; - else if (domain->minimum_image_check(delx,dely,delz)) - neighptr[n++] = j; - else if (which > 0) neighptr[n++] = j ^ (which << SBBITS); - } else neighptr[n++] = j; - } - } - } + if (rsq <= cutneighsq[itype][jtype]) { + if (molecular != Atom::ATOMIC) { + if (!moltemplate) + which = find_special(special[i],nspecial[i],tag[j]); + else if (imol >= 0) + which = find_special(onemols[imol]->special[iatom], + onemols[imol]->nspecial[iatom], + tag[j]-tagprev); + else which = 0; + if (which == 0) neighptr[n++] = j; + else if (domain->minimum_image_check(delx,dely,delz)) + neighptr[n++] = j; + else if (which > 0) neighptr[n++] = j ^ (which << SBBITS); + } else neighptr[n++] = j; + } + } + } } ilist[inum++] = i; diff --git a/src/npair_half_multi_newton_tri.cpp b/src/npair_half_multi_newton_tri.cpp index 4cc88a3755..4a8bb8e19f 100644 --- a/src/npair_half_multi_newton_tri.cpp +++ b/src/npair_half_multi_newton_tri.cpp @@ -90,7 +90,7 @@ void NPairHalfMultiNewtonTri::build(NeighList *list) // if same collection use own bin if (icollection == jcollection) jbin = ibin; - else jbin = coord2bin(x[i], jcollection); + else jbin = coord2bin(x[i], jcollection); // loop over all atoms in bins in stencil // stencil is empty if i larger than j @@ -101,12 +101,12 @@ void NPairHalfMultiNewtonTri::build(NeighList *list) // (equal zyx and j <= i) // latter excludes self-self interaction but allows superposed atoms - s = stencil_multi[icollection][jcollection]; - ns = nstencil_multi[icollection][jcollection]; + s = stencil_multi[icollection][jcollection]; + ns = nstencil_multi[icollection][jcollection]; - for (k = 0; k < ns; k++) { - js = binhead_multi[jcollection][jbin + s[k]]; - for (j = js; j >= 0; j = bins[j]) { + for (k = 0; k < ns; k++) { + js = binhead_multi[jcollection][jbin + s[k]]; + for (j = js; j >= 0; j = bins[j]) { // if same size (same collection), use half stencil if(cutcollectionsq[icollection][icollection] == cutcollectionsq[jcollection][jcollection]){ @@ -123,28 +123,28 @@ void NPairHalfMultiNewtonTri::build(NeighList *list) jtype = type[j]; if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; - delx = xtmp - x[j][0]; - dely = ytmp - x[j][1]; - delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; - if (rsq <= cutneighsq[itype][jtype]) { - if (molecular != Atom::ATOMIC) { - if (!moltemplate) - which = find_special(special[i],nspecial[i],tag[j]); - else if (imol >= 0) - which = find_special(onemols[imol]->special[iatom], - onemols[imol]->nspecial[iatom], - tag[j]-tagprev); - else which = 0; - if (which == 0) neighptr[n++] = j; - else if (domain->minimum_image_check(delx,dely,delz)) - neighptr[n++] = j; - else if (which > 0) neighptr[n++] = j ^ (which << SBBITS); - } else neighptr[n++] = j; - } - } - } + if (rsq <= cutneighsq[itype][jtype]) { + if (molecular != Atom::ATOMIC) { + if (!moltemplate) + which = find_special(special[i],nspecial[i],tag[j]); + else if (imol >= 0) + which = find_special(onemols[imol]->special[iatom], + onemols[imol]->nspecial[iatom], + tag[j]-tagprev); + else which = 0; + if (which == 0) neighptr[n++] = j; + else if (domain->minimum_image_check(delx,dely,delz)) + neighptr[n++] = j; + else if (which > 0) neighptr[n++] = j ^ (which << SBBITS); + } else neighptr[n++] = j; + } + } + } } ilist[inum++] = i; diff --git a/src/npair_half_size_multi_newtoff.cpp b/src/npair_half_size_multi_newtoff.cpp index f11f8c49cc..cb06ddfb6f 100644 --- a/src/npair_half_size_multi_newtoff.cpp +++ b/src/npair_half_size_multi_newtoff.cpp @@ -81,7 +81,7 @@ void NPairHalfSizeMultiNewtoff::build(NeighList *list) // if same collection use own bin if (icollection == jcollection) jbin = ibin; - else jbin = coord2bin(x[i], jcollection); + else jbin = coord2bin(x[i], jcollection); // loop over all atoms in other bins in stencil including self // only store pair if i < j @@ -93,27 +93,27 @@ void NPairHalfSizeMultiNewtoff::build(NeighList *list) ns = nstencil_multi[icollection][jcollection]; for (k = 0; k < ns; k++) { - js = binhead_multi[jcollection][jbin + s[k]]; - for (j = js; j >= 0; j = bins[j]) { - if (j <= i) continue; + js = binhead_multi[jcollection][jbin + s[k]]; + for (j = js; j >= 0; j = bins[j]) { + if (j <= i) continue; jtype = type[j]; if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; - delx = xtmp - x[j][0]; - dely = ytmp - x[j][1]; - delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; - radsum = radi + radius[j]; - cutdistsq = (radsum+skin) * (radsum+skin); + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + radsum = radi + radius[j]; + cutdistsq = (radsum+skin) * (radsum+skin); - if (rsq <= cutdistsq) { - if (history && rsq < radsum*radsum) - neighptr[n++] = j ^ mask_history; - else - neighptr[n++] = j; - } - } + if (rsq <= cutdistsq) { + if (history && rsq < radsum*radsum) + neighptr[n++] = j ^ mask_history; + else + neighptr[n++] = j; + } + } } } diff --git a/src/npair_half_size_multi_newton.cpp b/src/npair_half_size_multi_newton.cpp index 376bf5f3b4..8af60aa435 100644 --- a/src/npair_half_size_multi_newton.cpp +++ b/src/npair_half_size_multi_newton.cpp @@ -78,7 +78,7 @@ void NPairHalfSizeMultiNewton::build(NeighList *list) // if same collection use own bin if (icollection == jcollection) jbin = ibin; - else jbin = coord2bin(x[i], jcollection); + else jbin = coord2bin(x[i], jcollection); // if same size: uses half stencil so check central bin if (cutcollectionsq[icollection][icollection] == cutcollectionsq[jcollection][jcollection]){ @@ -94,33 +94,33 @@ void NPairHalfSizeMultiNewton::build(NeighList *list) // if j is owned atom, store it if j > i // if j is ghost, only store if j coords are "above and to the right" of i - for (j = js; j >= 0; j = bins[j]) { + for (j = js; j >= 0; j = bins[j]) { if ((icollection != jcollection) && (j < i)) continue; - if (j >= nlocal) { - if (x[j][2] < ztmp) continue; - if (x[j][2] == ztmp) { - if (x[j][1] < ytmp) continue; - if (x[j][1] == ytmp && x[j][0] < xtmp) continue; - } - } + if (j >= nlocal) { + if (x[j][2] < ztmp) continue; + if (x[j][2] == ztmp) { + if (x[j][1] < ytmp) continue; + if (x[j][1] == ytmp && x[j][0] < xtmp) continue; + } + } jtype = type[j]; if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; - delx = xtmp - x[j][0]; - dely = ytmp - x[j][1]; - delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; - radsum = radi + radius[j]; - cutdistsq = (radsum+skin) * (radsum+skin); + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + radsum = radi + radius[j]; + cutdistsq = (radsum+skin) * (radsum+skin); - if (rsq <= cutdistsq) { - if (history && rsq < radsum*radsum) - neighptr[n++] = j ^ mask_history; - else - neighptr[n++] = j; - } + if (rsq <= cutdistsq) { + if (history && rsq < radsum*radsum) + neighptr[n++] = j ^ mask_history; + else + neighptr[n++] = j; + } } } @@ -129,30 +129,30 @@ void NPairHalfSizeMultiNewton::build(NeighList *list) // stencil is half if i same size as j // stencil is full if i smaller than j - s = stencil_multi[icollection][jcollection]; - ns = nstencil_multi[icollection][jcollection]; + s = stencil_multi[icollection][jcollection]; + ns = nstencil_multi[icollection][jcollection]; - for (k = 0; k < ns; k++) { - js = binhead_multi[jcollection][jbin + s[k]]; - for (j = js; j >= 0; j = bins[j]) { + for (k = 0; k < ns; k++) { + js = binhead_multi[jcollection][jbin + s[k]]; + for (j = js; j >= 0; j = bins[j]) { jtype = type[j]; if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; delx = xtmp - x[j][0]; - dely = ytmp - x[j][1]; - delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; - radsum = radi + radius[j]; - cutdistsq = (radsum+skin) * (radsum+skin); + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + radsum = radi + radius[j]; + cutdistsq = (radsum+skin) * (radsum+skin); - if (rsq <= cutdistsq) { - if (history && rsq < radsum*radsum) - neighptr[n++] = j ^ mask_history; - else - neighptr[n++] = j; - } - } + if (rsq <= cutdistsq) { + if (history && rsq < radsum*radsum) + neighptr[n++] = j ^ mask_history; + else + neighptr[n++] = j; + } + } } } diff --git a/src/npair_half_size_multi_newton_tri.cpp b/src/npair_half_size_multi_newton_tri.cpp index 6b96fd4849..20d4d8b421 100644 --- a/src/npair_half_size_multi_newton_tri.cpp +++ b/src/npair_half_size_multi_newton_tri.cpp @@ -78,7 +78,7 @@ void NPairHalfSizeMultiNewtonTri::build(NeighList *list) // if same collection use own bin if (icollection == jcollection) jbin = ibin; - else jbin = coord2bin(x[i], jcollection); + else jbin = coord2bin(x[i], jcollection); // loop over all atoms in bins in stencil // stencil is empty if i larger than j @@ -89,12 +89,12 @@ void NPairHalfSizeMultiNewtonTri::build(NeighList *list) // (equal zyx and j <= i) // latter excludes self-self interaction but allows superposed atoms - s = stencil_multi[icollection][jcollection]; - ns = nstencil_multi[icollection][jcollection]; + s = stencil_multi[icollection][jcollection]; + ns = nstencil_multi[icollection][jcollection]; - for (k = 0; k < ns; k++) { - js = binhead_multi[jcollection][jbin + s[k]]; - for (j = js; j >= 0; j = bins[j]) { + for (k = 0; k < ns; k++) { + js = binhead_multi[jcollection][jbin + s[k]]; + for (j = js; j >= 0; j = bins[j]) { // if same size (same collection), use half stencil if (cutcollectionsq[icollection][icollection] == cutcollectionsq[jcollection][jcollection]){ @@ -111,21 +111,21 @@ void NPairHalfSizeMultiNewtonTri::build(NeighList *list) jtype = type[j]; if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; - delx = xtmp - x[j][0]; - dely = ytmp - x[j][1]; - delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; - radsum = radi + radius[j]; - cutdistsq = (radsum+skin) * (radsum+skin); + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + radsum = radi + radius[j]; + cutdistsq = (radsum+skin) * (radsum+skin); - if (rsq <= cutdistsq) { - if (history && rsq < radsum*radsum) - neighptr[n++] = j ^ mask_history; - else - neighptr[n++] = j; - } - } - } + if (rsq <= cutdistsq) { + if (history && rsq < radsum*radsum) + neighptr[n++] = j ^ mask_history; + else + neighptr[n++] = j; + } + } + } } ilist[inum++] = i; diff --git a/src/nstencil.cpp b/src/nstencil.cpp index 3d1f71a890..fdd0ddfb1b 100644 --- a/src/nstencil.cpp +++ b/src/nstencil.cpp @@ -335,7 +335,7 @@ void NStencil::create_setup() for (i = 0; i < n; ++i) { stencil_multi[i] = new int*[n](); for (j = 0; j < n; ++j) { - maxstencil_multi[i][j] = 0; + maxstencil_multi[i][j] = 0; nstencil_multi[i][j] = 0; stencil_multi[i][j] = nullptr; } @@ -390,7 +390,7 @@ void NStencil::create_setup() if(stencil_multi[i][j]) memory->destroy(stencil_multi[i][j]); memory->create(stencil_multi[i][j], smax, - "neighstencil::stencil_multi"); + "neighstencil::stencil_multi"); } } } diff --git a/src/nstencil_full_multi_2d.cpp b/src/nstencil_full_multi_2d.cpp index 7899ce7ad1..893798ce31 100644 --- a/src/nstencil_full_multi_2d.cpp +++ b/src/nstencil_full_multi_2d.cpp @@ -77,7 +77,7 @@ void NStencilFullMulti2d::create() for (j = -sy; j <= sy; j++) for (i = -sx; i <= sx; i++) if (bin_distance_multi(i,j,0,bin_collection) < cutsq) - stencil_multi[icollection][jcollection][ns++] = j*mbinx + i; + stencil_multi[icollection][jcollection][ns++] = j*mbinx + i; nstencil_multi[icollection][jcollection] = ns; } diff --git a/src/nstencil_full_multi_3d.cpp b/src/nstencil_full_multi_3d.cpp index 746906bf47..3265dac884 100644 --- a/src/nstencil_full_multi_3d.cpp +++ b/src/nstencil_full_multi_3d.cpp @@ -80,8 +80,8 @@ void NStencilFullMulti3d::create() for (k = -sz; k <= sz; k++) for (j = -sy; j <= sy; j++) for (i = -sx; i <= sx; i++) - if (bin_distance_multi(i,j,k,bin_collection) < cutsq) - stencil_multi[icollection][jcollection][ns++] = + if (bin_distance_multi(i,j,k,bin_collection) < cutsq) + stencil_multi[icollection][jcollection][ns++] = k*mbiny*mbinx + j*mbinx + i; nstencil_multi[icollection][jcollection] = ns; diff --git a/src/nstencil_half_multi_2d.cpp b/src/nstencil_half_multi_2d.cpp index 3428388ef1..ebcf26b290 100644 --- a/src/nstencil_half_multi_2d.cpp +++ b/src/nstencil_half_multi_2d.cpp @@ -92,12 +92,12 @@ void NStencilHalfMulti2d::create() if (j > 0 || (j == 0 && i > 0)) { if (bin_distance_multi(i,j,0,bin_collection) < cutsq) stencil_multi[icollection][jcollection][ns++] = j*mbinx + i; - } + } } else { for (j = -sy; j <= sy; j++) for (i = -sx; i <= sx; i++) if (bin_distance_multi(i,j,0,bin_collection) < cutsq) - stencil_multi[icollection][jcollection][ns++] = j*mbinx + i; + stencil_multi[icollection][jcollection][ns++] = j*mbinx + i; } nstencil_multi[icollection][jcollection] = ns; diff --git a/src/nstencil_half_multi_2d_tri.cpp b/src/nstencil_half_multi_2d_tri.cpp index 5b647902fb..621e033fb6 100644 --- a/src/nstencil_half_multi_2d_tri.cpp +++ b/src/nstencil_half_multi_2d_tri.cpp @@ -90,12 +90,12 @@ void NStencilHalfMulti2dTri::create() for (j = 0; j <= sy; j++) for (i = -sx; i <= sx; i++) if (bin_distance_multi(i,j,0,bin_collection) < cutsq) - stencil_multi[icollection][jcollection][ns++] = j*mbinx + i; + stencil_multi[icollection][jcollection][ns++] = j*mbinx + i; } else { for (j = -sy; j <= sy; j++) for (i = -sx; i <= sx; i++) - if (bin_distance_multi(i,j,0,bin_collection) < cutsq) - stencil_multi[icollection][jcollection][ns++] = j*mbinx + i; + if (bin_distance_multi(i,j,0,bin_collection) < cutsq) + stencil_multi[icollection][jcollection][ns++] = j*mbinx + i; } nstencil_multi[icollection][jcollection] = ns; diff --git a/src/nstencil_half_multi_3d.cpp b/src/nstencil_half_multi_3d.cpp index 3623fd14ea..a3392f164a 100644 --- a/src/nstencil_half_multi_3d.cpp +++ b/src/nstencil_half_multi_3d.cpp @@ -92,17 +92,17 @@ void NStencilHalfMulti3d::create() for (k = 0; k <= sz; k++) for (j = -sy; j <= sy; j++) for (i = -sx; i <= sx; i++) - if (k > 0 || j > 0 || (j == 0 && i > 0)) { - if (bin_distance_multi(i,j,k,bin_collection) < cutsq) - stencil_multi[icollection][jcollection][ns++] = + if (k > 0 || j > 0 || (j == 0 && i > 0)) { + if (bin_distance_multi(i,j,k,bin_collection) < cutsq) + stencil_multi[icollection][jcollection][ns++] = k*mbiny*mbinx + j*mbinx + i; - } + } } else { for (k = -sz; k <= sz; k++) for (j = -sy; j <= sy; j++) for (i = -sx; i <= sx; i++) - if (bin_distance_multi(i,j,k,bin_collection) < cutsq) - stencil_multi[icollection][jcollection][ns++] = + if (bin_distance_multi(i,j,k,bin_collection) < cutsq) + stencil_multi[icollection][jcollection][ns++] = k*mbiny*mbinx + j*mbinx + i; } diff --git a/src/nstencil_half_multi_3d_tri.cpp b/src/nstencil_half_multi_3d_tri.cpp index 9a680cf610..160d04bd61 100644 --- a/src/nstencil_half_multi_3d_tri.cpp +++ b/src/nstencil_half_multi_3d_tri.cpp @@ -93,14 +93,14 @@ void NStencilHalfMulti3dTri::create() for (j = -sy; j <= sy; j++) for (i = -sx; i <= sx; i++) if (bin_distance_multi(i,j,k,bin_collection) < cutsq) - stencil_multi[icollection][jcollection][ns++] = + stencil_multi[icollection][jcollection][ns++] = k*mbiny*mbinx + j*mbinx + i; } else { for (k = -sz; k <= sz; k++) for (j = -sy; j <= sy; j++) for (i = -sx; i <= sx; i++) - if (bin_distance_multi(i,j,k,bin_collection) < cutsq) - stencil_multi[icollection][jcollection][ns++] = + if (bin_distance_multi(i,j,k,bin_collection) < cutsq) + stencil_multi[icollection][jcollection][ns++] = k*mbiny*mbinx + j*mbinx + i; } From 8aeaa829097970b8f15befd4be421f41ae652faa Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 19 Aug 2021 11:08:04 -0400 Subject: [PATCH 721/726] improve error message --- src/pair_hybrid.cpp | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/pair_hybrid.cpp b/src/pair_hybrid.cpp index 550f5c6873..0ba16f29fa 100644 --- a/src/pair_hybrid.cpp +++ b/src/pair_hybrid.cpp @@ -581,18 +581,17 @@ void PairHybrid::init_style() for (i = 1; i < 4; ++i) { if (((force->special_lj[i] == 0.0) || (force->special_lj[i] == 1.0)) && (force->special_lj[i] != special_lj[istyle][i])) - error->all(FLERR,"Pair_modify special setting for pair hybrid " - "incompatible with global special_bonds setting"); + error->all(FLERR,"Pair_modify special lj 1-{} setting for pair hybrid substyle {} " + "incompatible with global special_bonds setting", i+1, keywords[istyle]); } } if (special_coul[istyle]) { for (i = 1; i < 4; ++i) { - if (((force->special_coul[i] == 0.0) - || (force->special_coul[i] == 1.0)) + if (((force->special_coul[i] == 0.0) || (force->special_coul[i] == 1.0)) && (force->special_coul[i] != special_coul[istyle][i])) - error->all(FLERR,"Pair_modify special setting for pair hybrid " - "incompatible with global special_bonds setting"); + error->all(FLERR,"Pair_modify special coul 1-{} setting for pair hybrid substyle {} " + "incompatible with global special_bonds setting", i+1, keywords[istyle]); } } } From 9470a0eeb669bf308a7d694f71df5a3ff3547ee8 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Thu, 19 Aug 2021 11:34:25 -0600 Subject: [PATCH 722/726] clarified doc pages for fix property/atom and read_data --- doc/src/fix_property_atom.rst | 18 +++++++++++------- doc/src/read_data.rst | 22 +++++++++++----------- src/dump_custom.cpp | 2 -- src/read_data.cpp | 33 ++++++++++++++++----------------- src/utils.cpp | 6 +++--- 5 files changed, 41 insertions(+), 40 deletions(-) diff --git a/doc/src/fix_property_atom.rst b/doc/src/fix_property_atom.rst index c7bf3f8c37..b6f6560770 100644 --- a/doc/src/fix_property_atom.rst +++ b/doc/src/fix_property_atom.rst @@ -180,7 +180,9 @@ atom-ID, the next two are a molecule-ID and a floating point value that will be stored in a new property called "flag". If a per-atom array was specified in the fix property/atom commmand then the *N* values for that array must be specified consecutively for that -property on each line. +property on each line. Note that the order of values on each line +corresponds to the order of custom names in the fix property/atom +command. Note that the the lines of per-atom properties can be listed in any order. Also note that all the per-atom properties specified by the @@ -301,12 +303,14 @@ uninterrupted fashion. .. warning:: - When reading data from a restart file, this fix command has to be specified - **exactly** the same way as before. LAMMPS will only check whether a - fix is of the same style and has the same fix ID and in case of a match - will then try to initialize the fix with the data stored in the binary - restart file. If the fix property/atom command does not match exactly, - data can be corrupted or LAMMPS may crash. + When reading data from a restart file, this fix command has to be + specified **exactly** the same was in the input script that created + the restart file. LAMMPS will only check whether a fix is of the + same style and has the same fix ID and in case of a match will then + try to initialize the fix with the data stored in the binary + restart file. If the names and associated date types in the new + fix property/atom command do not match the old one exactly, data + can be corrupted or LAMMPS may crash. None of the :doc:`fix_modify ` options are relevant to this fix. No global or per-atom quantities are stored by this fix for diff --git a/doc/src/read_data.rst b/doc/src/read_data.rst index 18cc24ffff..5b5c951688 100644 --- a/doc/src/read_data.rst +++ b/doc/src/read_data.rst @@ -66,8 +66,8 @@ simulation. The file can be ASCII text or a gzipped text file (detected by a .gz suffix). This is one of 3 ways to specify initial atom coordinates; see the :doc:`read_restart ` and :doc:`create_atoms ` commands for alternative methods. -Also see the explanation of the :doc:`-restart command-line switch ` which can convert a restart file to a data -file. +Also see the explanation of the :doc:`-restart command-line switch +` which can convert a restart file to a data file. This command can be used multiple times to add new atoms and their properties to an existing system by using the *add*, *offset*, and @@ -246,22 +246,22 @@ appear in any order, with a few exceptions as noted below. The keyword *fix* can be used one or more times. Each usage specifies a fix that will be used to process a specific portion of the data -file. Any header line containing *header-string* and any section with -a name containing *section-string* will be passed to the specified +file. Any header line containing *header-string* and any section that +is an exact match to *section-string* will be passed to the specified fix. See the :doc:`fix property/atom ` command for -an example of a fix that operates in this manner. The page for -the fix defines the syntax of the header line(s) and section(s) that -it reads from the data file. Note that the *header-string* can be +an example of a fix that operates in this manner. The doc page for +the fix defines the syntax of the header line(s) and section that it +reads from the data file. Note that the *header-string* can be specified as NULL, in which case no header lines are passed to the -fix. This means that it can infer the length of its Section from +fix. This means the fix can infer the length of its Section from standard header settings, such as the number of atoms. The formatting of individual lines in the data file (indentation, spacing between words and numbers) is not important except that header and section keywords (e.g. atoms, xlo xhi, Masses, Bond Coeffs) must -be capitalized as shown and can't have extra white-space between their -words - e.g. two spaces or a tab between the 2 words in "xlo xhi" or -the 2 words in "Bond Coeffs", is not valid. +be capitalized as shown and cannot have extra white-space between +their words - e.g. two spaces or a tab between the 2 words in "xlo +xhi" or the 2 words in "Bond Coeffs", is not valid. ---------- diff --git a/src/dump_custom.cpp b/src/dump_custom.cpp index 3acaf6535e..3f70d242b1 100644 --- a/src/dump_custom.cpp +++ b/src/dump_custom.cpp @@ -1551,8 +1551,6 @@ int DumpCustom::parse_fields(int narg, char **arg) n = atom->find_custom(name,flag,cols); - printf("NAME %s\n",name); - if (n < 0) error->all(FLERR,"Could not find custom per-atom property ID: {}", name); if (argindex[iarg] == 0) { diff --git a/src/read_data.cpp b/src/read_data.cpp index 12ad6c3b8c..c33c65f676 100644 --- a/src/read_data.cpp +++ b/src/read_data.cpp @@ -509,21 +509,6 @@ void ReadData::command(int narg, char **arg) while (strlen(keyword)) { - // if special fix matches, it processes section - - if (nfix) { - int i; - for (i = 0; i < nfix; i++) - if (strcmp(keyword,fix_section[i]) == 0) { - if (firstpass) fix(fix_index[i],keyword); - else skip_lines(modify->fix[fix_index[i]]-> - read_data_skip_lines(keyword)); - parse_keyword(0); - break; - } - if (i < nfix) continue; - } - if (strcmp(keyword,"Atoms") == 0) { atomflag = 1; if (firstpass) { @@ -728,8 +713,22 @@ void ReadData::command(int narg, char **arg) if (firstpass) impropercoeffs(1); else skip_lines(nimpropertypes); - } else error->all(FLERR,"Unknown identifier in data file: {}", - keyword); + // if specified fix matches, it processes section + + } else if (nfix) { + int i; + for (i = 0; i < nfix; i++) + if (strcmp(keyword,fix_section[i]) == 0) { + if (firstpass) fix(fix_index[i],keyword); + else skip_lines(modify->fix[fix_index[i]]-> + read_data_skip_lines(keyword)); + parse_keyword(0); + break; + } + if (i == nfix) + error->all(FLERR,"Unknown identifier in data file: {}",keyword); + + } else error->all(FLERR,"Unknown identifier in data file: {}",keyword); parse_keyword(0); } diff --git a/src/utils.cpp b/src/utils.cpp index 7a7a03946e..528908807c 100644 --- a/src/utils.cpp +++ b/src/utils.cpp @@ -656,9 +656,9 @@ int utils::expand_args(const char *file, int line, int narg, char **arg, int mod } } - printf("NEWARG %d\n",newarg); - for (int i = 0; i < newarg; i++) - printf(" arg %d: %s\n",i,earg[i]); + //printf("NEWARG %d\n",newarg); + //for (int i = 0; i < newarg; i++) + // printf(" arg %d: %s\n",i,earg[i]); return newarg; } From 7d0c052425bed1e84bec7df2a8ffb50a07d49915 Mon Sep 17 00:00:00 2001 From: Stan Gerald Moore Date: Thu, 19 Aug 2021 14:00:37 -0600 Subject: [PATCH 723/726] Fix deallocation with Kokkos --- src/atom.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/atom.cpp b/src/atom.cpp index ab044b6c47..1476a9ae2f 100644 --- a/src/atom.cpp +++ b/src/atom.cpp @@ -309,7 +309,8 @@ Atom::~Atom() } for (int i = 0; i < ndvector; i++) { delete [] dvname[i]; - memory->destroy(dvector[i]); + if (dvector) + memory->destroy(dvector[i]); } for (int i = 0; i < niarray; i++) { delete [] ianame[i]; From 845cebaab1d4fcbbbd7c1970428b0ba098f59f36 Mon Sep 17 00:00:00 2001 From: Stan Gerald Moore Date: Thu, 19 Aug 2021 14:02:57 -0600 Subject: [PATCH 724/726] Add comment --- src/atom.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/atom.cpp b/src/atom.cpp index 1476a9ae2f..4135298673 100644 --- a/src/atom.cpp +++ b/src/atom.cpp @@ -309,7 +309,7 @@ Atom::~Atom() } for (int i = 0; i < ndvector; i++) { delete [] dvname[i]; - if (dvector) + if (dvector) // (needed for Kokkos) memory->destroy(dvector[i]); } for (int i = 0; i < niarray; i++) { From bc6e805c990ebf6ace86b1de14d47b65a785146d Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 19 Aug 2021 16:53:03 -0400 Subject: [PATCH 725/726] fix doc formatting issues --- doc/src/Developer_utils.rst | 2 +- doc/src/dump.rst | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/src/Developer_utils.rst b/doc/src/Developer_utils.rst index 60eded42e0..e419520edd 100644 --- a/doc/src/Developer_utils.rst +++ b/doc/src/Developer_utils.rst @@ -336,7 +336,7 @@ repetitive tasks. The :cpp:class:`LAMMPS_NS::ArgInfo` class provides an abstraction for parsing references to compute or fix styles, variables or custom integer or double properties handled by :doc:`fix property/atom `. -These would start with a "c\_", "f\_", "v\_", "d\_", "d2\_", "i\_", or "i2_" +These would start with a "c\_", "f\_", "v\_", "d\_", "d2\_", "i\_", or "i2\_" followed by the ID or name of than instance and may be postfixed with one or two array indices "[]" with numbers > 0. diff --git a/doc/src/dump.rst b/doc/src/dump.rst index 998498d1d4..c2509e6654 100644 --- a/doc/src/dump.rst +++ b/doc/src/dump.rst @@ -81,7 +81,7 @@ Syntax radius, diameter, omegax, omegay, omegaz, angmomx, angmomy, angmomz, tqx, tqy, tqz, c_ID, c_ID[I], f_ID, f_ID[I], v_name, - i_name, d_name, i2_name[I], d2_name[I] + i_name, d_name, i2_name[I], d2_name[I] .. parsed-literal:: From f7c8b0c88b1ca9051bb4cf284ee26498462c863b Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 19 Aug 2021 17:00:46 -0400 Subject: [PATCH 726/726] address spellcheck issues --- doc/src/fix_property_atom.rst | 8 ++++---- doc/utils/sphinx-config/false_positives.txt | 6 ++++++ 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/doc/src/fix_property_atom.rst b/doc/src/fix_property_atom.rst index b6f6560770..cc92c18655 100644 --- a/doc/src/fix_property_atom.rst +++ b/doc/src/fix_property_atom.rst @@ -61,7 +61,7 @@ ones. This can be useful in several scenarios. If the atom style does not define molecule IDs, per-atom charge, or per-atom mass, they can be added using the *mol*\ , *q* or *rmass* -keywords. This ciykd be useful to define "molecules" to use as rigid +keywords. This could be useful to define "molecules" to use as rigid bodies with the :doc:`fix rigid ` command, or to carry around an extra flag with atoms (stored as a molecule ID) that can be used by various commands like :doc:`compute chunk/atom @@ -150,7 +150,7 @@ Per-atom properties that are defined by the :doc:`atom style ` are initialized when atoms are created, e.g. by the :doc:`read_data ` or :doc:`create_atoms ` commands. The per-atom properties defined by this fix are not. So -you need to initialize them explicitly. One way to do thisis +you need to initialize them explicitly. One way to do this is :doc:`read_data ` command, using its *fix* keyword and passing it the fix-ID of this fix. @@ -178,7 +178,7 @@ would allow a data file to have a section like this: where N is the number of atoms, the first field on each line is the atom-ID, the next two are a molecule-ID and a floating point value that will be stored in a new property called "flag". If a per-atom -array was specified in the fix property/atom commmand then the *N* +array was specified in the fix property/atom command then the *N* values for that array must be specified consecutively for that property on each line. Note that the order of values on each line corresponds to the order of custom names in the fix property/atom @@ -222,7 +222,7 @@ values. This means that the values can be used accessed by fixes like :doc:`compute reduce `, or used in :doc:`atom-style variables `. -For example, these commands will output both the instantanous and +For example, these commands will output both the instantaneous and time-averaged values of two new properties to a custom dump file: .. code-block:: LAMMPS diff --git a/doc/utils/sphinx-config/false_positives.txt b/doc/utils/sphinx-config/false_positives.txt index c866a9409b..6b40fcde71 100644 --- a/doc/utils/sphinx-config/false_positives.txt +++ b/doc/utils/sphinx-config/false_positives.txt @@ -531,6 +531,7 @@ covalently covariance cpp cpu +cradius createatoms createAtoms CreateIDs @@ -1598,6 +1599,7 @@ Kosovan Koster Kosztin Kp +kradius Kraker Kraus Kremer @@ -1993,6 +1995,7 @@ Mj mK mkdir mkv +mlength mliap mliappy mlparks @@ -2049,6 +2052,7 @@ mpiio mpirun mplayer mps +mradius Mrovec Mryglod mscg @@ -2107,6 +2111,7 @@ myIndex mylammps MyPool mysocket +mySpin myTemp myVec na @@ -2317,6 +2322,7 @@ nsub Nswap Nt Ntable +nt ntheta nthreads ntimestep